traitsui-7.2.1/0000755000076500000240000000000014046644526014007 5ustar aayresstaff00000000000000traitsui-7.2.1/PKG-INFO0000644000076500000240000001161314046644526015106 0ustar aayresstaff00000000000000Metadata-Version: 2.1 Name: traitsui Version: 7.2.1 Summary: traitsui: traits-capable user interfaces Home-page: http://docs.enthought.com/traitsui Author: David C. Morrill, et. al. Author-email: dmorrill@enthought.com Maintainer: ETS Developers Maintainer-email: enthought-dev@enthought.com License: BSD Download-URL: https://github.com/enthought/traitsui Description: ============================================ TraitsUI: Traits-capable windowing framework ============================================ .. image:: https://travis-ci.org/enthought/traitsui.svg?branch=master :target: https://travis-ci.org/enthought/traitsui .. image:: https://ci.appveyor.com/api/projects/status/n2qy8kcwh8ibi9g3/branch/master?svg=true :target: https://ci.appveyor.com/project/EnthoughtOSS/traitsui/branch/master The TraitsUI project contains a toolkit-independent GUI abstraction layer, which is used to support the "visualization" features of the `Traits `__ package. Thus, you can write model in terms of the Traits API and specify a GUI in terms of the primitives supplied by TraitsUI (views, items, editors, etc.), and let TraitsUI and your selected toolkit and back-end take care of the details of displaying them. Example ------- Given a Traits model like the following:: from traits.api import HasTraits, Str, Range, Enum class Person(HasTraits): name = Str('Jane Doe') age = Range(low=0) gender = Enum('female', 'male') person = Person(age=30) we can use TraitsUI to specify a and display a GUI view:: from traitsui.api import Item, RangeEditor, View person_view = View( Item('name'), Item('gender'), Item('age', editor=RangeEditor(mode='spinner', low=0, high=150)), buttons=['OK', 'Cancel'], resizable=True, ) person.configure_traits(view=person_view) which creates a GUI which looks like this: .. image:: https://raw.github.com/enthought/traitsui/master/README_example.png Important Links --------------- - Website and Documentation: ``__ * User Manual ``__ * Tutorial ``__ * API Documentation ``__ - Source code repository: ``__ * Issue tracker: ``__ - Download releases: ``__ - Mailing list: ``__ Installation ------------ If you want to run traitsui, you must also install: - Traits ``__ - Pyface ``__ You will also need one of the following backends: - PyQt - wxPython - PySide - PyQt5 Backends have additional dependencies and there are optional dependencies on NumPy and Pandas for some editors. TraitsUI along with all dependencies can be installed in a straightforward way using the `Enthought Deployment Manager `__, ``pip`` or other . Platform: Windows Platform: Linux Platform: Mac OS-X Platform: Unix Platform: Solaris Classifier: Development Status :: 5 - Production/Stable Classifier: Intended Audience :: Developers Classifier: Intended Audience :: Science/Research Classifier: License :: OSI Approved :: BSD License Classifier: Operating System :: MacOS Classifier: Operating System :: Microsoft :: Windows Classifier: Operating System :: OS Independent Classifier: Operating System :: POSIX Classifier: Operating System :: Unix Classifier: Programming Language :: Python Classifier: Programming Language :: Python :: 3 Classifier: Programming Language :: Python :: 3.6 Classifier: Programming Language :: Python :: 3.7 Classifier: Programming Language :: Python :: 3.8 Classifier: Topic :: Scientific/Engineering Classifier: Topic :: Software Development Classifier: Topic :: Software Development :: Libraries Requires-Python: >=3.6 Description-Content-Type: text/x-rst Provides-Extra: wx Provides-Extra: pyqt Provides-Extra: pyqt5 Provides-Extra: pyside2 Provides-Extra: demo Provides-Extra: examples Provides-Extra: editors Provides-Extra: test traitsui-7.2.1/traitsui/0000755000076500000240000000000014046644526015653 5ustar aayresstaff00000000000000traitsui-7.2.1/traitsui/view_elements.py0000644000076500000240000001365414046644454021104 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! """ Define the ViewElements class, which is used to define a (typically class-based) hierarchical name space of related ViewElement objects. Normally there is a ViewElements object associated with each Traits-based class, which contains all of the ViewElement objects associated with the class. The ViewElements object is also linked to the ViewElements objects of its associated class's parent classes. """ from traits.api import HasStrictTraits, List, Dict, Str, Int, Any, TraitError from .view_element import ViewElement # ------------------------------------------------------------------------- # Trait definitions: # ------------------------------------------------------------------------- # Trait for contents of a ViewElements object content_trait = Dict(str, ViewElement) class ViewElements(HasStrictTraits): """ Defines a hierarchical name space of related ViewElement objects. """ # ------------------------------------------------------------------------- # Trait definitions: # ------------------------------------------------------------------------- #: Dictionary containing the named ViewElement items content = content_trait def find(self, name, stack=None): """ Finds a specified ViewElement within the specified (optional) search context. """ # Assume search starts from the beginning the of the search order: i = 0 # If a stack was specified, see if there is a matching entry in the # stack already: if stack is not None: for ssi in stack: if name == ssi.id: # Match found, resume search at next ViewElements object # in the search order: i = ssi.context + 1 break # Search for a matching name starting at the specified ViewElements # object in the search order: for j, ves in enumerate(self._get_search_order()[i:]): result = ves.content.get(name) if result is not None: # Match found. If there is a stack, push matching name and # ViewElements context onto it: if stack is not None: stack[0:0] = [SearchStackItem(id=name, context=i + j)] # Return the ViewElement object that matched the name: return result # Indicate no match was found: return None def filter_by(self, klass=None): """ Returns a sorted list of all names accessible from the ViewElements object that are of a specified (ViewElement) type. """ if klass is None: from . import view klass = view.View result = [] # Add each item in the search order which is of the right class and # which is not already in the result list: for ves in self._get_search_order(): for name, ve in ves.content.items(): if isinstance(ve, klass) and (name not in result): result.append(name) # Sort the resulting list of names: result.sort() # Return the result: return result def _parents__changed(self): self._search_order = None def _parents_items_changed(self): self._search_order = None def _get_search_order(self): if self._search_order is None: self._search_order = self._mro() return self._search_order # ------------------------------------------------------------------------- # Compute the Python 'C3' algorithm used to determine a class's 'mro' # and apply it to the 'parents' of the ViewElements to determine the # correct search order: # ------------------------------------------------------------------------- def _mro(self): return self._merge( [[self]] + [parent._get_search_order()[:] for parent in self.parents] + [self.parents[:]] ) def _merge(self, seqs): result = [] while True: # Remove any empty sequences from the list: seqs = [seq for seq in seqs if len(seq) > 0] if len(seqs) == 0: return result # Find merge candidates among the sequence heads: for seq in seqs: candidate = seq[0] if len([s for s in seqs if candidate in s[1:]]) == 0: break else: raise TraitError("Inconsistent ViewElements hierarchy") # Add the candidate to the result: result.append(candidate) # Then remove the candidate: for seq in seqs: if seq[0] == candidate: del seq[0] def __repr__(self): """ Returns a "pretty print" version of the ViewElements object. """ return self.content.__repr__() # ------------------------------------------------------------------------- # Define forward reference traits: # ------------------------------------------------------------------------- ViewElements.add_class_trait("parents", List(ViewElements)) ViewElements.add_class_trait("_search_order", Any) class SearchStackItem(HasStrictTraits): # ------------------------------------------------------------------------- # Trait definitions: # ------------------------------------------------------------------------- #: Name that was looked up id = Str() #: Index into the 'mro' list of ViewElements that the ID was found in context = Int() traitsui-7.2.1/traitsui/dock_window_theme.py0000644000076500000240000000613014046644454021716 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! """ Defines the theme style information for a DockWindow and its components. """ from pyface.ui_traits import Image from traits.api import HasPrivateTraits, Bool, Property, cached_property from .ui_traits import ATheme class DockWindowTheme(HasPrivateTraits): """ Defines the theme style information for a DockWindow and its components. """ # -- Public Trait Definitions --------------------------------------------- #: Use the theme background color as the DockWindow background color? use_theme_color = Bool(True) #: Draw notebook tabs at the top (True) or the bottom (False)? tabs_at_top = Bool(True) #: Active tab theme: tab_active = ATheme #: Inactive tab theme: tab_inactive = ATheme #: Optional image to use for right edge of rightmost inactive tab: tab_inactive_edge = Image #: Tab hover theme (used for inactive tabs): tab_hover = ATheme #: Optional image to use for right edge of rightmost hover tab: tab_hover_edge = Image #: Tab background theme: tab_background = ATheme #: Tab theme: tab = ATheme #: Vertical splitter bar theme: vertical_splitter = ATheme #: Horizontal splitter bar theme: horizontal_splitter = ATheme #: Vertical drag bar theme: vertical_drag = ATheme #: Horizontal drag bar theme: horizontal_drag = ATheme #: The bitmap for the 'tab_inactive_edge' image: tab_inactive_edge_bitmap = Property(observe="tab_inactive_edge") #: The bitmap for the 'tab_hover_edge' image: tab_hover_edge_bitmap = Property(observe="tab_hover_edge") # -- Property Implementations --------------------------------------------- @cached_property def _get_tab_inactive_edge_bitmap(self): image = self.tab_inactive_edge if image is None: return None return image.create_bitmap() @cached_property def _get_tab_hover_edge_bitmap(self): image = self.tab_hover_edge if image is None: return self.tab_inactive_edge_bitmap return image.create_bitmap() # ------------------------------------------------------------------------- # Default theme handling # ------------------------------------------------------------------------- #: The current default DockWindow theme _dock_window_theme = None def dock_window_theme(theme=None): """ Get or set the default DockWindow theme. """ global _dock_window_theme if _dock_window_theme is None: from .default_dock_window_theme import default_dock_window_theme _dock_window_theme = default_dock_window_theme old_theme = _dock_window_theme if theme is not None: _dock_window_theme = theme return old_theme traitsui-7.2.1/traitsui/toolkit_traits.py0000644000076500000240000000607414046644454021307 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! from traits.api import TraitFactory from .toolkit import toolkit def ColorTrait(*args, **traits): """ Returns a trait whose value is a GUI toolkit-specific color. A number of different values are accepted for setting the value, including: * tuples of the form (r, g, b) and (r, g, b, a) * strings which match standard color names * strings of the form "(r, g, b)" and "(r, g, b, a)" * integers whose hex value is of the form 0xRRGGBB * toolkit-specific color classes Tuple values are expected to be in the range 0 to 255. Exact behaviour (eg. precisely what values are accepted, and what the "standard" color names are) is toolkit-dependent. The default value is white. The default editor is a ColorEditor. Parameters ---------- default: color The default color for the trait. allow_none: bool Whether to allow None as a value. **metadata Trait metadata to be passed through. """ return toolkit().color_trait(*args, **traits) def RGBColorTrait(*args, **traits): """ Returns a trait whose value is a RGB tuple with values from 0 to 1. A number of different values are accepted for setting the value, including: * tuples of the form (r, g, b) with values from 0.0 to 1.0 * strings which match standard color names * integers whose hex value is of the form 0xRRGGBB The default value is (1.0, 1.0, 1.0). The default editor is a RGBColorEditor. Parameters ---------- **metadata Trait metadata to be passed through. """ return toolkit().rgb_color_trait(*args, **traits) def FontTrait(*args, **traits): """ Returns a trait whose value is a GUI toolkit-specific font. This trait accepts either a toolkit-specific font object, or a string containing a font description. The string description can contain: * a font name or family. The following generic names are understood: "default", "decorative", "roman", "script", "swiss", and "modern". * a size, in points. * a style, which is one of: "slant" or "italic" * a weight, which is one of: "light" or "bold" * whether the font is underlined, indicated by the inclusion of "underlined". Where values aren't supplied, the application defaults will be used instead. The default value is the application default font, which is toolkit and platform dependent. The default editor is FontEditor. Parameters ---------- **metadata Trait metadata to be passed through. """ return toolkit().font_trait(*args, **traits) Color = TraitFactory(ColorTrait) RGBColor = TraitFactory(RGBColorTrait) Font = TraitFactory(FontTrait) traitsui-7.2.1/traitsui/context_value.py0000644000076500000240000000725114046644454021112 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! """ Defines some helper classes and traits used to define 'bindable' editor values. These classes and associated traits are designed to simplify writing editors by allowing the editor factory to specify a context value instance for attributes and have the value on the editor be synchronized with the corresponsing value rom the context. The factory should look something like this:: class MyEditorFactory(EditorFactory): #: The minimum value. minimum = CVInt #: The suffix for the data. suffix = CVType(Str) The editor class needs to have traits which correspond to the context value traits, and should be able to react to changes to them:: class MyEditor(Editor): #: The minimum value. minimum = Int() #: The suffix for the data. suffix = Str() This can then be used in views, with values either as constants or as instances of :class:`ContextValue` (abbreviated as ``CV``):: class MyObject(HasTraits): #: An important value. my_value = Str() #: The minimum value. my_minimum = Int(10) traits_view = View( Item( 'my_value', editor=MyEditorFactory( minimum=CV('my_minimum'), suffix='...', ), ) ) """ from traits.api import HasStrictTraits, Instance, Str, Int, Float, Either class ContextValue(HasStrictTraits): """ Defines the name of a context value that can be bound to an editor Resolution of the name follows the same rules as for context values in Item objects: if there is no dot in it then it is treated as an attribute of the 'object' context value, other wise the first part specifies the object in the context and the rest are dotted attribute look-ups. """ #: The extended trait name of the value that can be bound to the editor #: (e.g. 'selection' or 'handler.selection'): name = Str() # ------------------------------------------------------------------------ # object Interface # ------------------------------------------------------------------------ def __init__(self, name): super().__init__(name=name) #: Define a shorthand name for a ContextValue: CV = ContextValue # Trait definitions useful in defining bindable editor traits --------------- def CVType(type, **metadata): """ Factory that creates a union of a trait type and a ContextValue trait. This also sets up one-way synchronization to the editor if no other synchronization is specified. Parameters ---------- type : trait type The trait type that is expected for constant values. **metadata Additional metadata for the trait. Returns ------- cv_type_trait : trait A trait which can either hold a constant of the specified type or an instance of the ContextValue class. """ metadata.setdefault("sync_value", "to") return Either(type, InstanceOfContextValue, **metadata) #: Shorthand for an Instance of ContextValue trait. InstanceOfContextValue = Instance(ContextValue, allow_none=False) #: Int or Context value trait CVInt = CVType(Int) #: Float or Context value trait CVFloat = CVType(Float) #: Str or Context value trait CVStr = CVType(Str) traitsui-7.2.1/traitsui/key_bindings.py0000644000076500000240000002450314046644454020676 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! """ Defines KeyBinding and KeyBindings classes, which manage the mapping of keystroke events into method calls on controller objects that are supplied by the application. """ from traits.api import ( Any, Event, HasPrivateTraits, HasStrictTraits, Instance, List, Property, Str, cached_property, observe, ) from .api import HGroup, Item, KeyBindingEditor, ListEditor, View, toolkit from traits.trait_base import SequenceTypes # ------------------------------------------------------------------------- # Key binding trait definition: # ------------------------------------------------------------------------- # Trait definition for key bindings Binding = Str(event="binding", editor=KeyBindingEditor()) class KeyBinding(HasStrictTraits): """ Binds one or two keystrokes to a method. """ # ------------------------------------------------------------------------- # Trait definitions: # ------------------------------------------------------------------------- #: First key binding binding1 = Binding #: Second key binding binding2 = Binding #: Description of what application function the method performs description = Str() #: Name of controller method the key is bound to method_name = Str() #: KeyBindings object that "owns" the KeyBinding owner = Instance("KeyBindings") # ------------------------------------------------------------------------- # Traits view definitions: # ------------------------------------------------------------------------- traits_view = View( HGroup( Item("binding1"), Item("binding2"), Item("description", style="readonly"), show_labels=False, ) ) def _binding_changed(self): if self.owner is not None: self.owner.binding_modified = self class KeyBindings(HasPrivateTraits): """ A set of key bindings. """ # ------------------------------------------------------------------------- # Trait definitions: # ------------------------------------------------------------------------- #: Set of defined key bindings (redefined dynamically) bindings = List(KeyBinding) #: Optional prefix to add to each method name prefix = Str() #: Optional suffix to add to each method name suffix = Str() # -- Private Traits ------------------------------------------------------- #: The (optional) list of controllers associated with this KeyBindings #: object. The controllers may also be provided with the 'do' method: controllers = List(transient=True) #: The 'parent' KeyBindings object of this one (if any): parent = Instance("KeyBindings", transient=True) #: The root of the KeyBindings tree this object is part of: root = Property(observe="parent") #: The child KeyBindings of this object (if any): children = List(transient=True) #: Event fired when one of the contained KeyBinding objects is changed binding_modified = Event(KeyBinding) #: Control that currently has the focus (if any) focus_owner = Any(transient=True) # ------------------------------------------------------------------------- # Traits view definitions: # ------------------------------------------------------------------------- traits_view = View( [ Item( "bindings", style="custom", show_label=False, editor=ListEditor(style="custom"), ), "|{Click on an entry field, then press the key to " "assign. Double-click a field to clear it.}<>", ], title="Update Key Bindings", kind="livemodal", resizable=True, width=0.4, height=0.4, ) def __init__(self, *bindings, **traits): super().__init__(**traits) if (len(bindings) == 1) and isinstance(bindings[0], SequenceTypes): bindings = bindings[0] n = len(bindings) self.add_trait( "bindings", List(KeyBinding, minlen=n, maxlen=n, mode="list") ) self.bindings = [binding.trait_set(owner=self) for binding in bindings] def do(self, event, controllers=[], *args, **kw): """ Processes a keyboard event. """ if isinstance(controllers, dict): controllers = list(controllers.values()) elif not isinstance(controllers, SequenceTypes): controllers = [controllers] else: controllers = list(controllers) return self._do( toolkit().key_event_to_name(event), controllers, args, kw.get("recursive", False), ) def merge(self, key_bindings): """ Merges another set of key bindings into this set. """ binding_dic = {} for binding in self.bindings: binding_dic[binding.method_name] = binding for binding in key_bindings.bindings: binding2 = binding_dic.get(binding.method_name) if binding2 is not None: binding2.binding1 = binding.binding1 binding2.binding2 = binding.binding2 def clone(self, **traits): """ Returns a clone of the KeyBindings object. """ return self.__class__(*self.bindings, **traits).trait_set( **self.trait_get("prefix", "suffix") ) def dispose(self): """ Dispose of the object. """ if self.parent is not None: self.parent.children.remove(self) del self.controllers del self.children del self.bindings self.parent = self._root = self.focus_owner = None def edit(self): """ Edits a possibly hierarchical set of KeyBindings. """ bindings = list(set(self.root._get_bindings([]))) bindings.sort(key=lambda x: "%s%02d" % (x.binding1[-1:], x.binding1)) KeyBindings(bindings).edit_traits() def key_binding_for(self, binding, key_name): """ Returns the current binding for a specified key (if any). """ if key_name != "": for a_binding in self.bindings: if (a_binding is not binding) and ( (key_name == a_binding.binding1) or (key_name == a_binding.binding2) ): return a_binding return None # -- Property Implementations --------------------------------------------- @cached_property def _get_root(self): root = self while root.parent is not None: root = root.parent return root # -- Event Handlers ------------------------------------------------------- def _binding_modified_changed(self, binding): """ Handles a binding being changed. """ binding1 = binding.binding1 binding2 = binding.binding2 for a_binding in self.bindings: if binding is not a_binding: if binding1 == a_binding.binding1: a_binding.binding1 = "" if binding1 == a_binding.binding2: a_binding.binding2 = "" if binding2 == a_binding.binding1: a_binding.binding1 = "" if binding2 == a_binding.binding2: a_binding.binding2 = "" def _focus_owner_changed(self, old, new): """ Handles the focus owner being changed. """ if old is not None: old.border_size = 0 @observe("children.items") def _children_modified(self, event): """ Handles child KeyBindings being added to the object. """ # the full children list is changed if isinstance(event.object, KeyBindings): for item in event.new: item.parent = self # the contents of the children list are changed else: for item in event.added: item.parent = self # -- object Method Overrides ---------------------------------------------- def __setstate__(self, state): """ Restores the state of a previously pickled object. """ n = len(state["bindings"]) self.add_trait("bindings", List(KeyBinding, minlen=n, maxlen=n)) self.__dict__.update(state) self.bindings = self.bindings[:] # -- Private Methods ------------------------------------------------------ def _get_bindings(self, bindings): """ Returns all of the bindings of this object and all of its children. """ bindings.extend(self.bindings) for child in self.children: child._get_bindings(bindings) return bindings def _do(self, key_name, controllers, args, recursive): """ Process the specified key for the specified set of controllers for this KeyBindings object and all of its children. """ # Search through our own bindings for a match: for binding in self.bindings: if (key_name == binding.binding1) or ( key_name == binding.binding2 ): method_name = "%s%s%s" % ( self.prefix, binding.method_name, self.suffix, ) for controller in controllers + self.controllers: method = getattr(controller, method_name, None) if method is not None: result = method(*args) if result is not False: return True if binding.method_name == "edit_bindings": self.edit() return True # If recursive, continue searching through a children's bindings: if recursive: for child in self.children: if child._do(key_name, controllers, args, recursive): return True # Indicate no one processed the key: return False traitsui-7.2.1/traitsui/value_tree.py0000644000076500000240000003634614046644454020374 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! """ Defines tree node classes and editors for various types of values. """ import inspect from operator import itemgetter from types import FunctionType, MethodType from traits.api import ( Any, Bool, HasPrivateTraits, HasTraits, Instance, List, Str, ) from .tree_node import ObjectTreeNode, TreeNode, TreeNodeObject from .editors.tree_editor import TreeEditor class SingleValueTreeNodeObject(TreeNodeObject): """ A tree node for objects of types that have a single value. """ # ------------------------------------------------------------------------- # Trait definitions: # ------------------------------------------------------------------------- #: The parent of this node parent = Instance(TreeNodeObject) #: Name of the value name = Str() #: User-specified override of the default label label = Str() #: The value itself value = Any() #: Is the value readonly? readonly = Bool(False) def tno_allows_children(self, node): """ Returns whether this object can have children (False for this class). """ return False def tno_has_children(self, node): """ Returns whether the object has children (False for this class). """ return False def tno_can_rename(self, node): """ Returns whether the object's children can be renamed (False for this class). """ return False def tno_can_copy(self, node): """ Returns whether the object's children can be copied (True for this class). """ return True def tno_can_delete(self, node): """ Returns whether the object's children can be deleted (False for this class). """ return False def tno_can_insert(self, node): """ Returns whether the object's children can be inserted (False, meaning children are appended, for this class). """ return False def tno_get_icon(self, node, is_expanded): """ Returns the icon for a specified object. """ return "@icons:%s_node" % self.__class__.__name__[:-4].lower() def tno_set_label(self, node, label): """ Sets the label for a specified object. """ if label == "?": label = "" self.label = label def tno_get_label(self, node): """ Gets the label to display for a specified object. """ if self.label != "": return self.label if self.name == "": return self.format_value(self.value) return "%s: %s" % (self.name, self.format_value(self.value)) def format_value(self, value): """ Returns the formatted version of the value. """ return repr(value) def node_for(self, name, value): """ Returns the correct node type for a specified value. """ for type, node in basic_types(): if isinstance(value, type): break else: node = OtherNode if inspect.isclass(value): node = ClassNode elif hasattr(value, "__class__"): node = ObjectNode return node( parent=self, name=name, value=value, readonly=self.readonly ) class MultiValueTreeNodeObject(SingleValueTreeNodeObject): """ A tree node for objects of types that have multiple values. """ def tno_allows_children(self, node): """ Returns whether this object can have children (True for this class). """ return True def tno_has_children(self, node): """ Returns whether the object has children (True for this class). """ return True class StringNode(SingleValueTreeNodeObject): """ A tree node for strings. """ def format_value(self, value): """ Returns the formatted version of the value. """ n = len(value) if len(value) > 80: value = "%s...%s" % (value[:42], value[-35:]) return "%s [%d]" % (repr(value), n) class NoneNode(SingleValueTreeNodeObject): """ A tree node for None values. """ pass class BoolNode(SingleValueTreeNodeObject): """ A tree node for Boolean values. """ pass class IntNode(SingleValueTreeNodeObject): """ A tree node for integer values. """ pass class FloatNode(SingleValueTreeNodeObject): """ A tree node for floating point values. """ pass class ComplexNode(SingleValueTreeNodeObject): """ A tree node for complex number values. """ pass class OtherNode(SingleValueTreeNodeObject): """ A tree node for single-value types for which there is not another node type. """ pass class TupleNode(MultiValueTreeNodeObject): """ A tree node for tuples. """ def format_value(self, value): """ Returns the formatted version of the value. """ return "Tuple(%d)" % len(value) def tno_has_children(self, node): """ Returns whether the object has children, based on the length of the tuple. """ return len(self.value) > 0 def tno_get_children(self, node): """ Gets the object's children. """ node_for = self.node_for value = self.value if len(value) > 500: return ( [node_for("[%d]" % i, x) for i, x in enumerate(value[:250])] + [StringNode(value="...", readonly=True)] + [node_for("[%d]" % i, x) for i, x in enumerate(value[-250:])] ) return [node_for("[%d]" % i, x) for i, x in enumerate(value)] class ListNode(TupleNode): """ A tree node for lists. """ def format_value(self, value): """ Returns the formatted version of the value. """ return "List(%d)" % len(value) def tno_can_delete(self, node): """ Returns whether the object's children can be deleted. """ return not self.readonly def tno_can_insert(self, node): """ Returns whether the object's children can be inserted (vs. appended). """ return not self.readonly class SetNode(ListNode): """ A tree node for sets. """ def format_value(self, value): """ Returns the formatted version of the value. """ return "Set(%d)" % len(value) class ArrayNode(TupleNode): """ A tree node for arrays. """ def format_value(self, value): """ Returns the formatted version of the value. """ return "Array(%s)" % ",".join([str(n) for n in value.shape]) class DictNode(TupleNode): """ A tree node for dictionaries. """ def format_value(self, value): """ Returns the formatted version of the value. """ return "Dict(%d)" % len(value) def tno_get_children(self, node): """ Gets the object's children. """ node_for = self.node_for items = [(repr(k), v) for k, v in self.value.items()] items.sort(key=itemgetter(0)) if len(items) > 500: return ( [node_for("[%s]" % k, v) for k, v in items[:250]] + [StringNode(value="...", readonly=True)] + [node_for("[%s]" % k, v) for k, v in items[-250:]] ) return [node_for("[%s]" % k, v) for k, v in items] def tno_can_delete(self, node): """ Returns whether the object's children can be deleted. """ return not self.readonly class FunctionNode(SingleValueTreeNodeObject): """ A tree node for functions """ def format_value(self, value): """ Returns the formatted version of the value. """ return "Function %s()" % (value.__name__) # --------------------------------------------------------------------------- # 'MethodNode' class: # --------------------------------------------------------------------------- class MethodNode(MultiValueTreeNodeObject): def format_value(self, value): """ Returns the formatted version of the value. """ type = "B" if value.__self__ is None: type = "Unb" return "%sound method %s.%s()" % ( type, value.__self__.__class__.__name__, value.__func__.__name__, ) def tno_has_children(self, node): """ Returns whether the object has children. """ return self.value.__func__ is not None def tno_get_children(self, node): """ Gets the object's children. """ return [self.node_for("Object", self.value.__self__)] class ObjectNode(MultiValueTreeNodeObject): """ A tree node for objects. """ def format_value(self, value): """ Returns the formatted version of the value. """ try: klass = value.__class__.__name__ except: klass = "???" return "%s(0x%08X)" % (klass, id(value)) def tno_has_children(self, node): """ Returns whether the object has children. """ try: return len(self.value.__dict__) > 0 except: return False def tno_get_children(self, node): """ Gets the object's children. """ items = [(k, v) for k, v in self.value.__dict__.items()] items.sort(key=itemgetter(0)) return [self.node_for("." + k, v) for k, v in items] class ClassNode(ObjectNode): """ A tree node for classes. """ def format_value(self, value): """ Returns the formatted version of the value. """ return value.__name__ class TraitsNode(ObjectNode): """ A tree node for traits. """ def tno_has_children(self, node): """ Returns whether the object has children. """ return len(self._get_names()) > 0 def tno_get_children(self, node): """ Gets the object's children. """ names = sorted(self._get_names()) value = self.value node_for = self.node_for nodes = [] for name in names: try: item_value = getattr(value, name, "") except Exception as excp: item_value = "<%s>" % excp nodes.append(node_for("." + name, item_value)) return nodes def _get_names(self): """ Gets the names of all defined traits or attributes. """ value = self.value names = {} for name in value.trait_names(type=lambda x: x != "event"): names[name] = None for name in value.__dict__.keys(): names[name] = None return list(names.keys()) def tno_when_children_replaced(self, node, listener, remove): """ Sets up or removes a listener for children being replaced on a specified object. """ self._listener = listener self.value.on_trait_change( self._children_replaced, remove=remove, dispatch="ui" ) def _children_replaced(self): self._listener(self) def tno_when_children_changed(self, node, listener, remove): """ Sets up or removes a listener for children being changed on a specified object. """ pass class RootNode(MultiValueTreeNodeObject): """ A root node. """ def format_value(self, value): """ Returns the formatted version of the value. """ return "" def tno_get_children(self, node): """ Gets the object's children. """ return [self.node_for("", self.value)] # ------------------------------------------------------------------------- # Define the mapping of object types to nodes: # ------------------------------------------------------------------------- _basic_types = None def basic_types(): global _basic_types if _basic_types is None: # Create the mapping of object types to nodes: _basic_types = [ (type(None), NoneNode), (str, StringNode), (str, StringNode), (bool, BoolNode), (int, IntNode), (float, FloatNode), (complex, ComplexNode), (tuple, TupleNode), (list, ListNode), (set, SetNode), (dict, DictNode), (FunctionType, FunctionNode), (MethodType, MethodNode), (HasTraits, TraitsNode), ] try: from numpy import array _basic_types.append((type(array([1])), ArrayNode)) except ImportError: pass return _basic_types class _ValueTree(HasPrivateTraits): # ------------------------------------------------------------------------- # Trait definitions: # ------------------------------------------------------------------------- #: List of arbitrary Python values contained in the tree: values = List(SingleValueTreeNodeObject) # ------------------------------------------------------------------------- # Defines the value tree editor(s): # ------------------------------------------------------------------------- # Nodes in a value tree: value_tree_nodes = [ ObjectTreeNode( node_for=[ NoneNode, StringNode, BoolNode, IntNode, FloatNode, ComplexNode, OtherNode, TupleNode, ListNode, ArrayNode, DictNode, SetNode, FunctionNode, MethodNode, ObjectNode, TraitsNode, RootNode, ClassNode, ] ) ] # Editor for a value tree: value_tree_editor = TreeEditor( auto_open=3, hide_root=True, editable=False, nodes=value_tree_nodes ) # Editor for a value tree with a root: value_tree_editor_with_root = TreeEditor( auto_open=3, editable=False, nodes=[ ObjectTreeNode( node_for=[ NoneNode, StringNode, BoolNode, IntNode, FloatNode, ComplexNode, OtherNode, TupleNode, ListNode, ArrayNode, DictNode, SetNode, FunctionNode, MethodNode, ObjectNode, TraitsNode, RootNode, ClassNode, ] ), TreeNode( node_for=[_ValueTree], auto_open=True, children="values", move=[SingleValueTreeNodeObject], copy=False, label="=Values", icon_group="traits_node", icon_open="traits_node", ), ], ) # ------------------------------------------------------------------------- # Defines a 'ValueTree' trait: # ------------------------------------------------------------------------- # Trait for a value tree: ValueTree = Instance(_ValueTree, (), editor=value_tree_editor_with_root) traitsui-7.2.1/traitsui/delegating_handler.py0000644000076500000240000001313114046644454022024 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! """ A handler that delegates the handling of events to a set of sub-handlers. This is typically used as the handler for dynamic views. See the **traits.has_dynamic_view** module. """ # Enthought library imports from traits.api import HasTraits, List from .ui import Dispatcher # Local imports. from .handler import Handler # Set up a logger: import logging logger = logging.getLogger(__name__) class DelegatingHandler(Handler): """ A handler that delegates the handling of events to a set of sub-handlers. """ # -- Public 'DelegatingHandler' Interface --------------------------------- #: The list of sub-handlers this object delegates to: sub_handlers = List(HasTraits) # -- Protected 'DelegatingHandler' Interface ------------------------------ #: A list of dispatchable handler methods: _dispatchers = List() # ------------------------------------------------------------------------- # 'Handler' interface: # ------------------------------------------------------------------------- # -- Public Methods ------------------------------------------------------- def closed(self, info, is_ok): """ Handles the user interface being closed by the user. This method is overridden here to unregister any dispatchers that were set up in the *init()* method. """ for d in self._dispatchers: d.remove() def init(self, info): """ Initializes the controls of a user interface. This method is called after all user interface elements have been created, but before the user interface is displayed. Use this method to further customize the user interface before it is displayed. This method is overridden here to delegate to sub-handlers. Parameters ---------- info : *UIInfo* object The UIInfo object associated with the view Returns ------- initialized : bool A boolean, indicating whether the user interface was successfully initialized. A True value indicates that the UI can be displayed; a False value indicates that the display operation should be cancelled. """ # Iterate through our sub-handlers, and for each method whose name is # of the form 'object_name_changed', where 'object' is the name of an # object in the UI's context, create a trait notification handler that # will call the method whenever object's 'name' trait changes. logger.debug("Initializing delegation in DelegatingHandler [%s]", self) context = info.ui.context for h in self.sub_handlers: # fixme: I don't know why this wasn't here before... I'm not # sure this is right! h.init(info) for name in self._each_trait_method(h): if name[-8:] == "_changed": prefix = name[:-8] col = prefix.find("_", 1) if col >= 0: object = context.get(prefix[:col]) if object is not None: logger.debug( "\tto method [%s] on handler[%s]", name, h ) method = getattr(h, name) trait_name = prefix[col + 1:] self._dispatchers.append( Dispatcher(method, info, object, trait_name) ) # Also invoke the method immediately so initial # user interface state can be correctly set. if object.base_trait(trait_name).type != "event": method(info) # fixme: These are explicit workarounds for problems with:- # # 'GeometryHierarchyViewHandler' # # which is used in the :- # # 'GeometryHierarchyTreeEditor' # # which are in the 'encode.cad.ui.geometry' package. # # The tree editor has dynamic views, and hence the handler gets # wrapped by a 'DelegatingHandler'. Unfortunately the handler # has a couple of methods that aren't picked up by the usual # wrapping strategy:- # # 1) 'tree_item_selected' # # - which is obviously called when a tree item is selected. # # 2) 'inspect_object' # # - which is called directly as as action from the context menu # defined in the tree editor. # elif name in ["tree_item_selected", "inspect_object"]: self.__dict__[name] = self._create_delegate(h, name) return True def _create_delegate(self, h, name): """ Quick fix for handler methods that are currently left out! """ def delegate(*args, **kw): method = getattr(h, name) return method(*args, **kw) return delegate traitsui-7.2.1/traitsui/view_element.py0000644000076500000240000001455214046644454020717 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! """ Defines the abstract ViewElement class that all trait view template items (i.e., View, Group, Item, Include) derive from. """ import re from traits.api import AbstractViewElement, Bool, HasPrivateTraits, Instance from .ui_traits import ( AnObject, DockStyle, EditorStyle, ExportType, HelpId, Image, ) label_pat = re.compile(r"^(.*)\[(.*)\](.*)$", re.MULTILINE | re.DOTALL) label_pat2 = re.compile(r"^(.*){(.*)}(.*)$", re.MULTILINE | re.DOTALL) # ------------------------------------------------------------------------- # 'ViewElement' class (abstract): # ------------------------------------------------------------------------- class ViewElement(HasPrivateTraits): """ An element of a view. """ def replace_include(self, view_elements): """ Searches the current object's **content** attribute for objects that have an **id** attribute, and replaces each one with an Include object with the same **id** value, and puts the replaced object into the specified ViewElements object. Parameters ---------- view_elements : ViewElements object Object containing Group, Item, and Include objects """ pass # Normally overridden in a subclass def is_includable(self): """ Returns whether the object is replacable by an Include object. """ return False # Normally overridden in a subclass class DefaultViewElement(ViewElement): """ A view element that can be used as a default value for traits whose value is a view element. """ # ------------------------------------------------------------------------- # Trait definitions: # ------------------------------------------------------------------------- #: The default context object to edit: object = AnObject #: The default editor style to use: style = EditorStyle #: The default dock style to use: dock = DockStyle #: The default notebook tab image to use: image = Image #: The category of elements dragged out of the view: export = ExportType #: Should labels be added to items in a group? show_labels = Bool(True) # ------------------------------------------------------------------------- # Trait definitions: # ------------------------------------------------------------------------- # The container trait used by ViewSubElements: Container = Instance(ViewElement, factory=DefaultViewElement) # ------------------------------------------------------------------------- # 'ViewSubElement' class (abstract): # ------------------------------------------------------------------------- class ViewSubElement(ViewElement): """ Abstract class representing elements that can be contained in a view. """ # ------------------------------------------------------------------------- # Trait definitions: # ------------------------------------------------------------------------- #: The object this ViewSubElement is contained in; must be a ViewElement. container = Container #: External help context identifier: help_id = HelpId def _split(self, name, value, char, finder, assign, result): """ Splits a string at a specified character. """ col = finder(value, char) if col < 0: return value items = (value[:col].strip(), value[col + 1:].strip()) if items[assign] != "": setattr(self, name, items[assign]) return items[result] def _option(self, string, option, name, value): """ Sets a object trait if a specified option string is found. """ col = string.find(option) if col >= 0: string = string[:col] + string[col + len(option):] setattr(self, name, value) return string def _parse_style(self, value): """ Parses any of the one-character forms of the **style** trait. """ value = self._option(value, "$", "style", "simple") value = self._option(value, "@", "style", "custom") value = self._option(value, "*", "style", "text") value = self._option(value, "~", "style", "readonly") value = self._split("style", value, ";", str.rfind, 1, 0) return value def _parse_label(self, value): """ Parses a '[label]' value from the string definition. """ match = label_pat.match(value) if match is not None: self._parsed_label() else: match = label_pat2.match(value) empty = False if match is not None: self.label = match.group(2).strip() empty = self.label == "" value = match.group(1) + match.group(3) return (value, empty) def _parsed_label(self): """ Handles a label being found in the string definition. """ pass def _repr_value(self, value, prefix="", suffix="", ignore=""): """ Returns a "pretty print" version of a specified Item trait value. """ if value == ignore: return "" return "%s%s%s" % (prefix, value, suffix) def _repr_options(self, *names): """ Returns a 'pretty print' version of a list of traits. """ result = [] for name in names: value = getattr(self, name) if value != self.trait(name).default_value_for(self, name): result.append((name, repr(value))) if len(result) > 0: n = max([len(name) for name, value in result]) return ",\n".join( ["%s = %s" % (name.ljust(n), value) for name, value in result] ) return None def _indent(self, string, indent=" "): """ Indents each line in a specified string by 4 spaces. """ return "\n".join([indent + s for s in string.split("\n")]) # Register ViewElement as implementing AbstractViewElement # TODO: eventually have ViewElement inherit directly AbstractViewElement.register(ViewElement) traitsui-7.2.1/traitsui/base_panel.py0000644000076500000240000001376414046644454020331 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! from pyface.action.api import ActionController from traits.api import Any, Instance from traitsui.menu import Action # Set of all predefined system button names: SystemButtons = {"Undo", "Redo", "Apply", "Revert", "OK", "Cancel", "Help"} class BasePanel(ActionController): """ Base class for Traits UI panels and dialog boxes. Concrete subclasses of BasePanel are the Python-side owners of the top-level toolkit control for a UI. They also implement the Pyface ActionController API for menu and toolbar action handling. """ #: The top-level toolkit control of the UI. control = Any() #: The UI instance for the view. ui = Instance("traitsui.ui.UI") def default_icon(self): """ Return a default icon for a TraitsUI dialog. """ from pyface.image_resource import ImageResource return ImageResource("frame.png") def check_button(self, buttons, action): """ Adds *action* to the system buttons list for this dialog, if it is not already in the list. """ name = action.name for button in buttons: if self.is_button(button, name): return buttons.append(action) def is_button(self, action, name): """ Returns whether a specified action button is a system button. """ if isinstance(action, str): return action == name return action.name == name def coerce_button(self, action): """ Coerces a string to an Action if necessary. """ if isinstance(action, str): return Action( name=action, action="" if action in SystemButtons else "?" ) return action # Button handlers -------------------------------------------------------- def _on_undo(self, event=None): """ Handles an "Undo" change request. """ self.ui.history.undo() def _on_redo(self, event=None): """ Handles a "Redo" change request. """ self.ui.history.redo() def _on_revert(self, event=None): """ Handles a request to revert all changes. """ ui = self.ui if ui.history is not None: ui.history.revert() ui.handler.revert(ui.info) def _on_help(self, event=None): """ Handles the user clicking the Help button. """ self.ui.handler.show_help(self.ui.info) # ------------------------------------------------------------------------ # ActionController interface # ------------------------------------------------------------------------ def perform(self, action, event): """ Dispatches the action to be handled by the handler. Parameters ---------- action : Action instance The action to perform. event : ActionEvent instance The event that triggered the action. Returns ------- result : any The result of the action's perform method (usually None). """ handler = self.ui.handler self.ui.do_undoable(handler.perform, self.ui.info, action, event) def add_to_menu(self, menu_item): """ Adds a menu item to the menu bar being constructed. The bulk of the back-end work is done in Pyface. This code is simply responsible for hooking up radio groups, checkboxes, and enabled status. This routine is also used to add items to the toolbar, as logic and APIs are identical. Parameters ---------- menu_item : toolkit MenuItem The Pyface toolkit-level item to add to the menu. """ item = menu_item.item action = item.action if action.id != "": self.ui.info.bind(action.id, menu_item) if action.enabled_when != "": self.ui.add_enabled(action.enabled_when, menu_item) if action.visible_when != "": self.ui.add_visible(action.visible_when, menu_item) if action.checked_when != "": self.ui.add_checked(action.checked_when, menu_item) def add_to_toolbar(self, toolbar_item): """ Adds a menu item to the menu bar being constructed. The bulk of the back-end work is done in Pyface. This code is simply responsible for hooking up radio groups, checkboxes, and enabled status. This simply calls the analagous menu as logic and APIs are identical. Parameters ---------- toolbar_item : toolkit Tool The Pyface toolkit-level item to add to the toolbar. """ self.add_to_menu(toolbar_item) def can_add_to_menu(self, action): """ Should the toolbar action be defined in the user interface. This simply calls the analagous menu as logic and APIs are identical. Parameters ---------- action : Action The Action to add to the toolbar. Returns ------- defined : bool Whether or not the action should be added to the menu. """ if action.defined_when == "": return True return self.ui.eval_when(action.defined_when) def can_add_to_toolbar(self, action): """ Should the toolbar action be defined in the user interface. This simply calls the analagous menu as logic and APIs are identical. Parameters ---------- action : Action The Action to add to the toolbar. Returns ------- defined : bool Whether or not the action should be added to the toolbar. """ return self.can_add_to_menu(action) traitsui-7.2.1/traitsui/handler.py0000644000076500000240000004772614046644454017662 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! """ Defines the Handler class used to manage and control the editing process in a Traits-based user interface. """ # avoid deprecation warning from inspect import getfullargspec from traits.api import HasPrivateTraits, HasTraits, Instance from .toolkit import toolkit from .help import on_help_call from .view_element import ViewElement from .helper import user_name_for from .ui_info import UIInfo # ------------------------------------------------------------------------- # Closes a DockControl (if allowed by the associated traits UI Handler): # ------------------------------------------------------------------------- def close_dock_control(dock_control): """ Closes a DockControl (if allowed by the associated Traits UI Handler). """ # Retrieve the traits UI object set when we created the DockControl: ui = dock_control.data # Ask the traits UI handler if it is OK to close the window: if not ui.handler.close(ui.info, True): # If not, tell the DockWindow not to close it: return False # Otherwise, clean up and close the traits UI: ui.dispose() # And tell the DockWindow to remove the DockControl: return True class Handler(HasPrivateTraits): """ Provides access to and control over the run-time workings of a Traits-based user interface. """ def init_info(self, info): """ Informs the handler what the UIInfo object for a View will be. This method is called before the UI for the View has been constructed. It is provided so that the handler can save the reference to the UIInfo object in case it exposes viewable traits whose values are properties that depend upon items in the context being edited. """ pass def init(self, info): """ Initializes the controls of a user interface. This method is called after all user interface elements have been created, but before the user interface is displayed. Override this method to customize the user interface before it is displayed. Parameters ---------- info : UIInfo object The UIInfo object associated with the view Returns ------- initialized : bool A Boolean, indicating whether the user interface was successfully initialized. A True value indicates that the UI can be displayed; a False value indicates that the display operation should be cancelled. The default implementation returns True without taking any other action. """ return True def position(self, info): """ Positions a dialog-based user interface on the display. This method is called after the user interface is initialized (by calling init()), but before the user interface is displayed. Override this method to position the window on the display device. The default implementation calls the position() method of the current toolkit. Usually, you do not need to override this method, because you can control the window's placement using the **x** and **y** attributes of the View object. Parameters ---------- info : UIInfo object The UIInfo object associated with the window """ toolkit().position(info.ui) def close(self, info, is_ok): """ Handles the user attempting to close a dialog-based user interface. This method is called when the user attempts to close a window, by clicking an **OK** or **Cancel** button, or clicking a Close control on the window). It is called before the window is actually destroyed. Override this method to perform any checks before closing a window. While Traits UI handles "OK" and "Cancel" events automatically, you can use the value of the *is_ok* parameter to implement additional behavior. Parameters ---------- info : UIInfo object The UIInfo object associated with the view is_ok : Boolean Indicates whether the user confirmed the changes (such as by clicking **OK**.) Returns ------- allow_close : bool A Boolean, indicating whether the window should be allowed to close. """ return True def closed(self, info, is_ok): """ Handles a dialog-based user interface being closed by the user. This method is called *after* the window is destroyed. Override this method to perform any clean-up tasks needed by the application. Parameters ---------- info : UIInfo object The UIInfo object associated with the view is_ok : Boolean Indicates whether the user confirmed the changes (such as by clicking **OK**.) """ return def revert(self, info): """ Handles the **Revert** button being clicked. """ return def apply(self, info): """ Handles the **Apply** button being clicked. """ return def show_help(self, info, control=None): """ Shows the help associated with the view. This method is called when the user clicks a **Help** button in a Traits user interface. The method calls the global help handler, which might be the default help handler, or might be a custom help handler. See **traitsui.help** for details about the setting the global help handler. Parameters ---------- info : UIInfo object The UIInfo object associated with the view control : UI control The control that invokes the help dialog box """ if control is None: control = info.ui.control on_help_call()(info, control) def perform(self, info, action, event): """ Perform computation for an action. The default method looks for a method matching ``action.action`` and calls it (sniffing the signature to determine how to call it for historical reasons). If this is not found, then it calls the :py:meth:`~traitsui.menu.Action.perform` method of the action. Parameters ---------- info : UIInfo instance The UIInfo assicated with the view, if available. action : Action instance The Action that the user invoked. event : ActionEvent instance The ActionEvent associated with the user action. Notes ----- If overriding in a subclass, the method needs to ensure that any standard menu action items that are needed (eg. "Close", "Undo", "Redo", "Help", etc.) get dispatched correctly. """ if action.action != "": method_name = action.action else: method_name = "_{}_clicked".format(action.name.lower()) for object in self.get_perform_handlers(info): method = getattr(object, method_name, None) if method is not None: # call the action method specification = getfullargspec(method) if len(specification.args) == 1: method() else: method(info) # and we are done return # otherwise, call the perform method of the action specification = getfullargspec(action.perform) if len(specification.args) == 1: action.perform() else: action.perform(event) def get_perform_handlers(self, info): """ Return a list of objects which can handle actions. This method may be overridden by sub-classes to return a more relevant set of objects. Parameters ---------- info : UIInfo instance or None The UIInfo associated with the view, or None. Returns ------- handlers : list A list of objects that may potentially have action methods on them. """ handlers = [self] if info is not None: additional_objects = ["object", "model"] handlers += [ info.ui.context[name] for name in additional_objects if name in info.ui.context ] return handlers def setattr(self, info, object, name, value): """ Handles the user setting a specified object trait's value. This method is called when an editor attempts to set a new value for a specified object trait attribute. Use this method to control what happens when a trait editor tries to set an attribute value. For example, you can use this method to record a history of changes, in order to implement an "undo" mechanism. No result is returned. The default implementation simply calls the built-in setattr() function. If you override this method, make sure that it actually sets the attribute, either by calling the parent method or by setting the attribute directly Parameters ---------- info : UIInfo instance The UIInfo for the current UI object : object The object whose attribute is being set name : string The name of the attribute being set value The value to which the attribute is being set """ setattr(object, name, value) def trait_view_for(self, info, view, object, object_name, trait_name): """ Gets a specified View object. """ # If a view element was passed instead of a name or None, return it: if isinstance(view, ViewElement): return view # Generate a series of possible view or method names of the form: # - 'view' # trait_view_for_'view'( object ) # - 'class_view' # trait_view_for_'class_view'( object ) # - 'object_name_view' # trait_view_for_'object_name_view'( object ) # - 'object_name_class_view' # trait_view_for_'object_name_class_view'( object ) # where 'class' is the class name of 'object', 'object' is the object # name, and 'name' is the trait name. It returns the first view # or method result which is defined on the handler: klass = object.__class__.__name__ cname = "%s_%s" % (object_name, trait_name) aview = "" if view: aview = "_" + view names = [ "%s_%s%s" % (cname, klass, aview), "%s%s" % (cname, aview), "%s%s" % (klass, aview), ] if view: names.append(view) for name in names: result = self.trait_view(name) if result is not None: return result method = getattr(self, "trait_view_for_%s" % name, None) if callable(method): result = method(info, object) if result is not None: return result # If nothing is defined on the handler, return either the requested # view on the object itself, or the object's default view: return object.trait_view(view) or object.trait_view() # -- 'DockWindowHandler' interface implementation ------------------------- def can_drop(self, info, object): """ Can the specified object be inserted into the view? """ from pyface.dock.api import DockControl if isinstance(object, DockControl): return self.can_import(info, object.export) drop_class = info.ui.view.drop_class return (drop_class is not None) and isinstance(object, drop_class) def can_import(self, info, category): return category in info.ui.view.imports def dock_control_for(self, info, parent, object): """ Returns the DockControl object for a specified object. """ from pyface.dock.api import IDockable, DockControl from .dockable_view_element import DockableViewElement try: name = object.name except: try: name = object.label except: name = "" if len(name) == 0: name = user_name_for(object.__class__.__name__) image = None export = "" if isinstance(object, DockControl): dock_control = object image = dock_control.image export = dock_control.export dockable = dock_control.dockable close = dockable.dockable_should_close() if close: dock_control.close(force=True) control = dockable.dockable_get_control(parent) # If DockControl was closed, then reset it to point to the new # control: if close: dock_control.trait_set( control=control, style=parent.owner.style ) dockable.dockable_init_dockcontrol(dock_control) return dock_control elif isinstance(object, IDockable): dockable = object control = dockable.dockable_get_control(parent) else: ui = object.get_dockable_ui(parent) dockable = DockableViewElement(ui=ui) export = ui.view.export control = ui.control dc = DockControl( control=control, name=name, export=export, style=parent.owner.style, image=image, closeable=True, ) dockable.dockable_init_dockcontrol(dc) return dc def open_view_for(self, control, use_mouse=True): """ Creates a new view of a specified control. """ from pyface.dock.api import DockWindowShell DockWindowShell(control, use_mouse=use_mouse) def dock_window_empty(self, dock_window): """ Handles a DockWindow becoming empty. """ if dock_window.auto_close: dock_window.control.GetParent.Destroy() # -- HasTraits overrides: ------------------------------------------------- def edit_traits( self, view=None, parent=None, kind=None, context=None, handler=None, id="", scrollable=None, **args ): """ Edits the object's traits. """ if context is None: context = self if handler is None: handler = self return self.trait_view(view).ui( context, parent, kind, self.trait_view_elements(), handler, id, scrollable, args, ) def configure_traits( self, filename=None, view=None, kind=None, edit=True, context=None, handler=None, id="", scrollable=None, **args ): """ Configures the object's traits. """ return super().configure_traits( filename, view, kind, edit, context, handler or self, id, scrollable, **args ) # -- Private Methods: ----------------------------------------------------- def _on_undo(self, info): """ Handles an "Undo" change request. """ if info.ui.history is not None: info.ui.history.undo() def _on_redo(self, info): """ Handles a "Redo" change request. """ if info.ui.history is not None: info.ui.history.redo() def _on_revert(self, info): """ Handles a "Revert all changes" request. """ if info.ui.history is not None: info.ui.history.revert() self.revert(info) def _on_close(self, info): """ Handles a "Close" request. """ if (info.ui.owner is not None) and self.close(info, True): info.ui.owner.close() # ------------------------------------------------------------------------- # Default handler: # ------------------------------------------------------------------------- _default_handler = Handler() def default_handler(handler=None): """ Returns the global default handler. If *handler* is an instance of Handler, this function sets it as the global default handler. """ global _default_handler if isinstance(handler, Handler): _default_handler = handler return _default_handler class Controller(Handler): """ Defines a handler class which provides a view and controller for a specified model. This class is used when implementing a standard MVC-based design. The **model** trait contains most, if not all, of the data being viewed, and can be referenced in a Controller instance's View definition using unadorned trait names. (e.g., ``Item('name')``). """ # -- Trait Definitions ---------------------------------------------------- #: The model this handler defines a view and controller for model = Instance(HasTraits) #: The Info object associated with the controller info = Instance(UIInfo) # -- HasTraits Method Overrides ------------------------------------------- def __init__(self, model=None, **metadata): """ Initializes the object and sets the model (if supplied). """ super().__init__(**metadata) if model is not None: self.model = model def trait_context(self): """ Returns the default context to use for editing or configuring traits. """ return {"object": self.model, "controller": self, "handler": self} # -- Handler Method Overrides --------------------------------------------- def get_perform_handlers(self, info): """ Return a list of objects which can handle actions. By default this returns the Controller instance and the model. Parameters ---------- info : UIInfo instance or None The UIInfo associated with the view, or None. Returns ------- handlers : list A list of objects that may potentially have action methods on them. """ return [self, self.model] def init_info(self, info): """ Informs the handler what the UIInfo object for a View will be. """ self.info = info class ModelView(Controller): """ Defines a handler class which provides a view and controller for a specified model. This class is useful when creating a variant of the standard MVC-based design. A subclass of ModelView reformulates a number of traits on its **model** object as properties on the ModelView subclass itself, usually in order to convert them into a more user-friendly format. In this design, the ModelView subclass supplies not only the view and the controller, but also, in effect, the model (as a set of properties wrapped around the original model). Because of this, the ModelView context dictionary specifies the ModelView instance itself as the special *object* value, and assigns the original model object as the *model* value. Thus, the traits of the ModelView object can be referenced in its View definition using unadorned trait names. """ # -- HasTraits Method Overrides ------------------------------------------- def trait_context(self): """ Returns the default context to use for editing or configuring traits. """ return {"object": self, "handler": self, "model": self.model} class ViewHandler(Handler): pass traitsui-7.2.1/traitsui/toolkit.py0000644000076500000240000003023114046644454017711 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! """ Defines the stub functions used for creating concrete implementations of the standard EditorFactory subclasses supplied with the Traits package. Most of the logic for determining which backend toolkit to use can now be found in :py:mod:`pyface.base_toolkit`. """ import logging from traits.trait_base import ETSConfig from pyface.base_toolkit import Toolkit, find_toolkit logger = logging.getLogger(__name__) not_implemented_message = "the '{}' toolkit does not implement this method" #: The current GUI toolkit object being used: _toolkit = None def assert_toolkit_import(names): """ Raise an error if a toolkit with the given name should not be allowed to be imported. """ if ETSConfig.toolkit and ETSConfig.toolkit not in names: raise RuntimeError( "Importing from %s backend after selecting %s " "backend!" % (names[0], ETSConfig.toolkit) ) def toolkit_object(name, raise_exceptions=False): """ Return the toolkit specific object with the given name. Parameters ---------- name : str The relative module path and the object name separated by a colon. raise_exceptions : bool Whether or not to raise an exception if the name cannot be imported. Raises ------ TraitError If no working toolkit is found. RuntimeError If no ETSConfig.toolkit is set but the toolkit cannot be loaded for some reason. This is also raised if raise_exceptions is True the backend does not implement the desired object. """ global _toolkit if _toolkit is None: toolkit() obj = _toolkit(name) if raise_exceptions and obj.__name__ == "Unimplemented": raise RuntimeError( "Can't import {} for backend {}".format( repr(name), _toolkit.toolkit ) ) return obj def toolkit(*toolkits): """ Selects and returns a low-level GUI toolkit. Use this function to get a reference to the current toolkit. Parameters ---------- *toolkits : strings Toolkit names to try if toolkit not already selected. If not supplied, will try all ``traitsui.toolkits`` entry points until a match is found. Returns ------- toolkit Appropriate concrete Toolkit subclass for selected toolkit. Raises ------ TraitError If no working toolkit is found. RuntimeError If no ETSConfig.toolkit is set but the toolkit cannot be loaded for some reason. """ global _toolkit if _toolkit is None: if len(toolkits) > 0: _toolkit = find_toolkit("traitsui.toolkits", toolkits) else: _toolkit = find_toolkit("traitsui.toolkits") return _toolkit class Toolkit(Toolkit): """ Abstract base class for GUI toolkits. """ def ui_panel(self, ui, parent): """ Creates a GUI-toolkit-specific panel-based user interface using information from the specified UI object. """ raise NotImplementedError( not_implemented_message.format(ETSConfig.toolkit) ) def ui_subpanel(self, ui, parent): """ Creates a GUI-toolkit-specific subpanel-based user interface using information from the specified UI object. """ raise NotImplementedError( not_implemented_message.format(ETSConfig.toolkit) ) def ui_livemodal(self, ui, parent): """ Creates a GUI-toolkit-specific modal "live update" dialog user interface using information from the specified UI object. """ raise NotImplementedError( not_implemented_message.format(ETSConfig.toolkit) ) def ui_live(self, ui, parent): """ Creates a GUI-toolkit-specific non-modal "live update" window user interface using information from the specified UI object. """ raise NotImplementedError( not_implemented_message.format(ETSConfig.toolkit) ) def ui_modal(self, ui, parent): """ Creates a GUI-toolkit-specific modal dialog user interface using information from the specified UI object. """ raise NotImplementedError( not_implemented_message.format(ETSConfig.toolkit) ) def ui_nonmodal(self, ui, parent): """ Creates a GUI-toolkit-specific non-modal dialog user interface using information from the specified UI object. """ raise NotImplementedError( not_implemented_message.format(ETSConfig.toolkit) ) def ui_popup(self, ui, parent): """ Creates a GUI-toolkit-specific temporary "live update" popup dialog user interface using information from the specified UI object. """ raise NotImplementedError( not_implemented_message.format(ETSConfig.toolkit) ) def ui_popover(self, ui, parent): """ Creates a GUI-toolkit-specific temporary "live update" popup dialog user interface using information from the specified UI object. """ raise NotImplementedError( not_implemented_message.format(ETSConfig.toolkit) ) def ui_info(self, ui, parent): """ Creates a GUI-toolkit-specific temporary "live update" popup dialog user interface using information from the specified UI object. """ raise NotImplementedError( not_implemented_message.format(ETSConfig.toolkit) ) def ui_wizard(self, ui, parent): """ Creates a GUI-toolkit-specific wizard dialog user interface using information from the specified UI object. """ raise NotImplementedError( not_implemented_message.format(ETSConfig.toolkit) ) def view_application( self, context, view, kind=None, handler=None, id="", scrollable=None, args=None, ): """ Creates a GUI-toolkit-specific modal dialog user interface that runs as a complete application using information from the specified View object. Parameters ---------- context : object or dictionary A single object or a dictionary of string/object pairs, whose trait attributes are to be edited. If not specified, the current object is used. view : view or string A View object that defines a user interface for editing trait attribute values. kind : string The type of user interface window to create. See the **traitsui.view.kind_trait** trait for values and their meanings. If *kind* is unspecified or None, the **kind** attribute of the View object is used. handler : Handler object A handler object used for event handling in the dialog box. If None, the default handler for Traits UI is used. id : string A unique ID for persisting preferences about this user interface, such as size and position. If not specified, no user preferences are saved. scrollable : Boolean Indicates whether the dialog box should be scrollable. When set to True, scroll bars appear on the dialog box if it is not large enough to display all of the items in the view at one time. """ raise NotImplementedError( not_implemented_message.format(ETSConfig.toolkit) ) def position(self, ui): """ Positions the associated dialog window on the display. """ raise NotImplementedError( not_implemented_message.format(ETSConfig.toolkit) ) def show_help(self, ui, control): """ Shows a Help window for a specified UI and control. """ raise NotImplementedError( not_implemented_message.format(ETSConfig.toolkit) ) def set_title(self, ui): """ Sets the title for the UI window. """ raise NotImplementedError( not_implemented_message.format(ETSConfig.toolkit) ) def set_icon(self, ui): """ Sets the icon for the UI window. """ raise NotImplementedError( not_implemented_message.format(ETSConfig.toolkit) ) def save_window(self, ui): """ Saves user preference information associated with a UI window. """ raise NotImplementedError( not_implemented_message.format(ETSConfig.toolkit) ) def rebuild_ui(self, ui): """ Rebuilds a UI after a change to the content of the UI. """ raise NotImplementedError( not_implemented_message.format(ETSConfig.toolkit) ) def key_event_to_name(self, event): """ Converts a keystroke event into a corresponding key name. """ raise NotImplementedError( not_implemented_message.format(ETSConfig.toolkit) ) def hook_events(self, ui, control, events=None, handler=None): """ Hooks all specified events for all controls in a UI so that they can be routed to the correct event handler. """ raise NotImplementedError( not_implemented_message.format(ETSConfig.toolkit) ) def route_event(self, ui, event): """ Routes a "hooked" event to the corrent handler method. """ raise NotImplementedError( not_implemented_message.format(ETSConfig.toolkit) ) def skip_event(self, event): """ Indicates that an event should continue to be processed by the toolkit. """ raise NotImplementedError( not_implemented_message.format(ETSConfig.toolkit) ) def destroy_control(self, control): """ Destroys a specified GUI toolkit control. """ raise NotImplementedError( not_implemented_message.format(ETSConfig.toolkit) ) def destroy_children(self, control): """ Destroys all of the child controls of a specified GUI toolkit control. """ raise NotImplementedError( not_implemented_message.format(ETSConfig.toolkit) ) def image_size(self, image): """ Returns a ( width, height ) tuple containing the size of a specified toolkit image. """ raise NotImplementedError( not_implemented_message.format(ETSConfig.toolkit) ) def constants(self): """ Returns a dictionary of useful constants. Currently, the dictionary should have the following key/value pairs: - WindowColor': the standard window background color in the toolkit specific color format. """ raise NotImplementedError( not_implemented_message.format(ETSConfig.toolkit) ) # ------------------------------------------------------------------------- # GUI toolkit dependent trait definitions: # ------------------------------------------------------------------------- def color_trait(self, *args, **traits): raise NotImplementedError( not_implemented_message.format(ETSConfig.toolkit) ) def rgb_color_trait(self, *args, **traits): raise NotImplementedError( not_implemented_message.format(ETSConfig.toolkit) ) def rgba_color_trait(self, *args, **traits): raise NotImplementedError( not_implemented_message.format(ETSConfig.toolkit) ) def font_trait(self, *args, **traits): raise NotImplementedError( not_implemented_message.format(ETSConfig.toolkit) ) def kiva_font_trait(self, *args, **traits): raise NotImplementedError( not_implemented_message.format(ETSConfig.toolkit) ) traitsui-7.2.1/traitsui/tree_node.py0000644000076500000240000016166414046644454020207 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! """ Defines the tree node descriptor used by the tree editor and tree editor factory classes. """ from itertools import zip_longest from traits.api import ( Adapter, Any, Bool, Callable, Dict, HasPrivateTraits, Instance, Interface, isinterface, List, Property, Str, Supports, Either, cached_property, ) from traits.trait_base import ( SequenceTypes, get_resource_path, xgetattr, xsetattr, ) from .ui_traits import AView # ------------------------------------------------------------------------- # 'TreeNode' class: # ------------------------------------------------------------------------- class TreeNode(HasPrivateTraits): """ Represents a tree node. Used by the tree editor and tree editor factory classes. """ # ------------------------------------------------------------------------- # Trait definitions: # ------------------------------------------------------------------------- #: Name of trait containing children (if '', the node is a leaf). Nested #: attributes are allowed, e.g., 'library.books' children = Str() #: Either the name of a trait containing a label, or a constant label, if #: the string starts with '='. label = Str() #: The name of a trait containing a list of labels for any columns. column_labels = Str() #: Either the name of a trait containing a tooltip, or constant tooltip, if #: the string starts with '='. tooltip = Str() #: Name to use for a new instance name = Str() #: Can the object's children be renamed? rename = Bool(True) #: Can the object be renamed? rename_me = Bool(True) #: Can the object's children be copied? copy = Bool(True) #: Can the object's children be deleted? delete = Bool(True) #: Can the object be deleted (if its parent allows it)? delete_me = Bool(True) #: Can children be inserted (vs. appended)? insert = Bool(True) #: Should tree nodes be automatically opened (expanded)? auto_open = Bool(False) #: Automatically close sibling tree nodes? auto_close = Bool(False) #: List of object classes than can be added or copied. Elements of the list #: can be either: #: - the klass itself that can be added or copied #: - 2-tuples of the form (klass, prompt) in which case klass is as above #: and prompt is a boolean indicating whether or not to prompt the user #: to specify trait values after instantiation when adding the object. #: - 3-tuples of the form (klass, prompt, factory) in which case klass and #: prompt are as above. factory is a callable that is expected to return #: an instance of klass. Useful if klass has required traits. Otherwise #: added object is created by simply instantiating klass() #: ref: enthought/traits#1502 add = List(Any) #: List of object classes that can be moved move = List(Any) #: List of object classes and/or interfaces that the node applies to node_for = List(Any) #: Tuple of object classes that the node applies to node_for_class = Property(observe="node_for") #: List of object interfaces that the node applies to node_for_interface = Property(observe="node_for") #: Function for formatting the label formatter = Callable() #: Functions for formatting the other columns. column_formatters = List(Either(None, Callable)) #: Function for formatting the tooltip tooltip_formatter = Callable() #: Function for handling selecting an object on_select = Callable() #: Function for handling clicking an object on_click = Callable() #: Function for handling double-clicking an object on_dclick = Callable() #: Function for handling activation of an object #: (double-click or Enter key press when node is in focus) on_activated = Callable() #: View to use for editing the object view = AView #: Right-click context menu. The value can be one of: #: #: - Instance( Menu ): Use this menu as the context menu #: - None: Use the default context menu #: - False: Do not display a context menu menu = Any() #: Name of leaf item icon icon_item = Str("") #: Name of group item icon icon_group = Str("") #: Name of opened group item icon icon_open = Str("") #: Resource path used to locate the node icon icon_path = Str() #: Selector or name for background color background = Any() #: Selector or name for foreground color foreground = Any() # fixme: The 'menu' trait should really be defined as: # Instance( 'traitsui.menu.MenuBar' ), but it doesn't work # right currently. #: A toolkit-appropriate cell renderer (currently Qt only) renderer = Any() #: A cache for listeners that need to keep state. _listener_cache = Dict() def __init__(self, **traits): super().__init__(**traits) if self.icon_path == "": self.icon_path = get_resource_path() # -- Property Implementations --------------------------------------------- @cached_property def _get_node_for_class(self): return tuple( [klass for klass in self.node_for if not isinterface(klass)] ) @cached_property def _get_node_for_interface(self): return [klass for klass in self.node_for if isinterface(klass)] # -- Overridable Methods: ------------------------------------------------- def allows_children(self, object): """ Returns whether this object can have children. """ return self.children != "" def has_children(self, object): """ Returns whether the object has children. """ return len(self.get_children(object)) > 0 def get_children(self, object): """ Gets the object's children. """ return getattr(object, self.children, None) def get_children_id(self, object): """ Gets the object's children identifier. """ return self.children def append_child(self, object, child): """ Appends a child to the object's children. """ children = self.get_children(object) children.append(child) def insert_child(self, object, index, child): """ Inserts a child into the object's children. """ children = self.get_children(object) children[index:index] = [child] def confirm_delete(self, object): """ Checks whether a specified object can be deleted. The following return values are possible: - **True** if the object should be deleted with no further prompting. - **False** if the object should not be deleted. - Anything else: Caller should take its default action (which might include prompting the user to confirm deletion). """ return None def delete_child(self, object, index): """ Deletes a child at a specified index from the object's children. """ del self.get_children(object)[index] def when_children_replaced(self, object, listener, remove): """ Sets up or removes a listener for children being replaced on a specified object. """ object.on_trait_change( listener, self.children, remove=remove, dispatch="fast_ui" ) def when_children_changed(self, object, listener, remove): """ Sets up or removes a listener for children being changed on a specified object. """ object.on_trait_change( listener, self.children + "_items", remove=remove, dispatch="fast_ui", ) def get_label(self, object): """ Gets the label to display for a specified object. """ label = self.label if label[:1] == "=": return label[1:] label = xgetattr(object, label, "") if self.formatter is None: return label return self.formatter(object, label) def set_label(self, object, label): """ Sets the label for a specified object. """ label_name = self.label if label_name[:1] != "=": xsetattr(object, label_name, label) def when_label_changed(self, object, listener, remove): """ Sets up or removes a listener for the label being changed on a specified object. """ label = self.label if label[:1] != "=": memo = ("label", label, object, listener) if not remove: def wrapped_listener(target, name, new): """ Ensure listener gets called with correct object. """ return listener(object, name, new) self._listener_cache[memo] = wrapped_listener else: wrapped_listener = self._listener_cache.pop(memo, None) if wrapped_listener is None: return object.on_trait_change( wrapped_listener, label, remove=remove, dispatch="ui" ) def get_column_labels(self, object): """ Get the labels for any columns that have been defined. """ trait = self.column_labels labels = xgetattr(object, trait, []) formatted = [] for formatter, label in zip_longest( self.column_formatters, labels ): # If the list of column formatters is shorter than the list of # labels, then zip_longest() will extend it with Nones. Just pass # the label as preformatted. Similarly, explicitly using None in # the list will pass through the item. if formatter is None: formatted.append(label) else: formatted.append(formatter(label)) return formatted def when_column_labels_change(self, object, listener, remove): """ Sets up or removes a listener for the column labels being changed on a specified object. This will fire when either the list is reassigned or when it is modified. I.e., it listens both to the trait change event and the trait_items change event. Implement the listener appropriately to handle either case. """ trait = self.column_labels if trait != "": memo = ("column_label", trait, object, listener) if not remove: def wrapped_listener(target, name, new): """ Ensure listener gets called with correct object. """ return listener(object, name, new) self._listener_cache[memo] = wrapped_listener else: wrapped_listener = self._listener_cache.pop(memo, None) if wrapped_listener is None: return object.on_trait_change( wrapped_listener, trait, remove=remove, dispatch="ui" ) object.on_trait_change( wrapped_listener, trait + "_items", remove=remove, dispatch="ui", ) def get_tooltip(self, object): """ Gets the tooltip to display for a specified object. """ tooltip = self.tooltip if tooltip == "": return tooltip if tooltip[:1] == "=": return tooltip[1:] tooltip = xgetattr(object, tooltip, "") if self.tooltip_formatter is None: return tooltip return self.tooltip_formatter(object, tooltip) def get_icon(self, object, is_expanded): """ Returns the icon for a specified object. """ if not self.allows_children(object): return self.icon_item if is_expanded: return self.icon_open return self.icon_group def get_icon_path(self, object): """ Returns the path used to locate an object's icon. """ return self.icon_path def get_name(self, object): """ Returns the name to use when adding a new object instance (displayed in the "New" submenu). """ return self.name def get_view(self, object): """ Gets the view to use when editing an object. """ return self.view def get_menu(self, object): """ Returns the right-click context menu for an object. """ return self.menu def get_background(self, object): background = self.background if isinstance(background, str): background = xgetattr(object, background, default=background) return background def get_foreground(self, object): foreground = self.foreground if isinstance(foreground, str): foreground = xgetattr(object, foreground, default=foreground) return foreground def get_renderer(self, object, column=0): """ Return the renderer for the object and column. """ return self.renderer def can_rename(self, object): """ Returns whether the object's children can be renamed. """ return self.rename def can_rename_me(self, object): """ Returns whether the object can be renamed. """ return self.rename_me def can_copy(self, object): """ Returns whether the object's children can be copied. """ return self.copy def can_delete(self, object): """ Returns whether the object's children can be deleted. """ return self.delete def can_delete_me(self, object): """ Returns whether the object can be deleted. """ return self.delete_me def can_insert(self, object): """ Returns whether the object's children can be inserted (vs. appended). """ return self.insert def can_auto_open(self, object): """ Returns whether the object's children should be automatically opened. """ return self.auto_open def can_auto_close(self, object): """ Returns whether the object's children should be automatically closed. """ return self.auto_close def is_node_for(self, object): """ Returns whether this is the node that handles a specified object. """ return isinstance( object, self.node_for_class ) or object.has_traits_interface(*self.node_for_interface) def can_add(self, object, add_object): """ Returns whether a given object is droppable on the node. """ klass = self._class_for(add_object) if self.is_addable(klass): return True for item in self.move: if type(item) in SequenceTypes: item = item[0] if issubclass(klass, item): return True return False def get_add(self, object): """ Returns the list of classes that can be added to the object. """ return self.add def get_drag_object(self, object): """ Returns a draggable version of a specified object. """ return object def drop_object(self, object, dropped_object): """ Returns a droppable version of a specified object. """ klass = self._class_for(dropped_object) if self.is_addable(klass): return dropped_object for item in self.move: if type(item) in SequenceTypes: if issubclass(klass, item[0]): return item[1](object, dropped_object) elif issubclass(klass, item): return dropped_object return dropped_object def select(self, object): """ Handles an object being selected. """ if self.on_select is not None: self.on_select(object) return None return True def click(self, object): """ Handles an object being clicked. """ if self.on_click is not None: self.on_click(object) return None return True def dclick(self, object): """ Handles an object being double-clicked. """ if self.on_dclick is not None: self.on_dclick(object) return None return True def activated(self, object): """ Handles an object being activated. """ if self.on_activated is not None: self.on_activated(object) return None return True def is_addable(self, klass): """ Returns whether a specified object class can be added to the node. """ for item in self.add: if type(item) in SequenceTypes: item = item[0] if issubclass(klass, item): return True return False def _class_for(self, object): """ Returns the class of an object. """ if isinstance(object, type): return object return object.__class__ # ------------------------------------------------------------------------- # 'ITreeNode' class # ------------------------------------------------------------------------- class ITreeNode(Interface): def allows_children(self): """ Returns whether this object can have children. """ def has_children(self): """ Returns whether the object has children. """ def get_children(self): """ Gets the object's children. """ def get_children_id(self): """ Gets the object's children identifier. """ def append_child(self, child): """ Appends a child to the object's children. """ def insert_child(self, index, child): """ Inserts a child into the object's children. """ def confirm_delete(self): """ Checks whether a specified object can be deleted. The following return values are possible: - **True** if the object should be deleted with no further prompting. - **False** if the object should not be deleted. - Anything else: Caller should take its default action (which might include prompting the user to confirm deletion). """ def delete_child(self, index): """ Deletes a child at a specified index from the object's children. """ def when_children_replaced(self, listener, remove): """ Sets up or removes a listener for children being replaced on a specified object. """ def when_children_changed(self, listener, remove): """ Sets up or removes a listener for children being changed on a specified object. """ def get_label(self): """ Gets the label to display for a specified object. """ def set_label(self, label): """ Sets the label for a specified object. """ def when_label_changed(self, listener, remove): """ Sets up or removes a listener for the label being changed on a specified object. """ def get_column_labels(self, object): """ Get the labels for any columns that have been defined. """ def when_column_labels_change(self, object, listener, remove): """ Sets up or removes a listener for the column labels being changed on a specified object. This will fire when either the list is reassigned or when it is modified. I.e., it listens both to the trait change event and the trait_items change event. Implement the listener appropriately to handle either case. """ def get_tooltip(self): """ Gets the tooltip to display for a specified object. """ def get_icon(self, is_expanded): """ Returns the icon for a specified object. """ def get_icon_path(self): """ Returns the path used to locate an object's icon. """ def get_name(self): """ Returns the name to use when adding a new object instance (displayed in the "New" submenu). """ def get_view(self): """ Gets the view to use when editing an object. """ def get_menu(self): """ Returns the right-click context menu for an object. """ def can_rename(self): """ Returns whether the object's children can be renamed. """ def can_rename_me(self): """ Returns whether the object can be renamed. """ def can_copy(self): """ Returns whether the object's children can be copied. """ def can_delete(self): """ Returns whether the object's children can be deleted. """ def can_delete_me(self): """ Returns whether the object can be deleted. """ def can_insert(self): """ Returns whether the object's children can be inserted (vs. appended). """ def can_auto_open(self): """ Returns whether the object's children should be automatically opened. """ def can_auto_close(self): """ Returns whether the object's children should be automatically closed. """ def can_add(self, add_object): """ Returns whether a given object is droppable on the node. """ def get_add(self): """ Returns the list of classes that can be added to the object. """ def get_drag_object(self): """ Returns a draggable version of a specified object. """ def drop_object(self, dropped_object): """ Returns a droppable version of a specified object. """ def select(self): """ Handles an object being selected. """ def click(self): """ Handles an object being clicked. """ def dclick(self): """ Handles an object being double-clicked. """ def activated(self): """ Handles an object being activated. """ # ------------------------------------------------------------------------- # 'ITreeNodeAdapter' class # ------------------------------------------------------------------------- class ITreeNodeAdapter(Adapter): """ Abstract base class for an adapter that implements the ITreeNode interface. Usage: 1. Create a subclass of ITreeNodeAdapter. 2. Register the adapter to define what class (or classes) this is an ITreeNode adapter for (ie. ``register_factory(, ITreeNode, ITreeNodeAdapter)``). 3. Override any of the following methods as necessary, using the ``self.adaptee`` trait to access the adapted object if needed. Note ---- This base class implements all of the ITreeNode interface methods, but does not necessarily provide useful implementations for all of the methods. It allows you to get a new adapter class up and running quickly, but you should carefully review your final adapter implementation class to make sure it behaves correctly in your application. """ def allows_children(self): """ Returns whether this object can have children. """ return False def has_children(self): """ Returns whether the object has children. """ return False def get_children(self): """ Gets the object's children. """ return [] def get_children_id(self): """ Gets the object's children identifier. """ return "" def append_child(self, child): """ Appends a child to the object's children. """ pass def insert_child(self, index, child): """ Inserts a child into the object's children. """ pass def confirm_delete(self): """ Checks whether a specified object can be deleted. The following return values are possible: - **True** if the object should be deleted with no further prompting. - **False** if the object should not be deleted. - Anything else: Caller should take its default action (which might include prompting the user to confirm deletion). """ return False def delete_child(self, index): """ Deletes a child at a specified index from the object's children. """ pass def when_children_replaced(self, listener, remove): """ Sets up or removes a listener for children being replaced on a specified object. """ pass def when_children_changed(self, listener, remove): """ Sets up or removes a listener for children being changed on a specified object. """ pass def get_label(self): """ Gets the label to display for a specified object. """ return "No label specified" def set_label(self, label): """ Sets the label for a specified object. """ pass def when_label_changed(self, listener, remove): """ Sets up or removes a listener for the label being changed on a specified object. """ pass def get_column_labels(self): """ Get the labels for any columns that have been defined. """ return [] def when_column_labels_change(self, listener, remove): """ Sets up or removes a listener for the column labels being changed on a specified object. This will fire when either the list is reassigned or when it is modified. I.e., it listens both to the trait change event and the trait_items change event. Implement the listener appropriately to handle either case. """ pass def get_tooltip(self): """ Gets the tooltip to display for a specified object. """ return "" def get_icon(self, is_expanded): """ Returns the icon for a specified object. Valid values are '' (file looking icon), '' (closed folder looking icon) and '' (open folder looking icon). """ return "" def get_icon_path(self): """ Returns the path used to locate an object's icon. """ return "" def get_name(self): """ Returns the name to use when adding a new object instance (displayed in the "New" submenu). """ return "" def get_view(self): """ Gets the view to use when editing an object. """ return None def get_menu(self): """ Returns the right-click context menu for an object. """ return None def get_background(self): """ Returns the background for object """ return None def get_foreground(self): """ Returns the foreground for object """ return None def get_renderer(self, column=0): """ Returns the renderer for object """ return None def can_rename(self): """ Returns whether the object's children can be renamed. """ return False def can_rename_me(self): """ Returns whether the object can be renamed. """ return False def can_copy(self): """ Returns whether the object's children can be copied. """ return False def can_delete(self): """ Returns whether the object's children can be deleted. """ return False def can_delete_me(self): """ Returns whether the object can be deleted. """ return False def can_insert(self): """ Returns whether the object's children can be inserted (vs. appended). """ return False def can_auto_open(self): """ Returns whether the object's children should be automatically opened. """ return False def can_auto_close(self): """ Returns whether the object's children should be automatically closed. """ return False def can_add(self, add_object): """ Returns whether a given object is droppable on the node. """ return False def get_add(self): """ Returns the list of classes that can be added to the object. """ return [] def get_drag_object(self): """ Returns a draggable version of a specified object. """ return self.adaptee def drop_object(self, dropped_object): """ Returns a droppable version of a specified object. """ return dropped_object def select(self): """ Handles an object being selected. """ pass def click(self): """ Handles an object being clicked. """ pass def dclick(self): """ Handles an object being double-clicked. """ pass def activated(self): """ Handles an object being activated. """ pass # ------------------------------------------------------------------------- # 'ITreeNodeAdapterBridge' class # ------------------------------------------------------------------------- class ITreeNodeAdapterBridge(HasPrivateTraits): """ Private class for use by a toolkit-specific implementation of the TreeEditor to allow bridging the TreeNode interface used by the editor to the ITreeNode interface used by object adapters. """ #: The ITreeNode adapter being bridged: adapter = Supports(ITreeNode) # -- TreeNode implementation ---------------------------------------------- def allows_children(self, object): """ Returns whether this object can have children. """ return self.adapter.allows_children() def has_children(self, object): """ Returns whether the object has children. """ return self.adapter.has_children() def get_children(self, object): """ Gets the object's children. """ return self.adapter.get_children() def get_children_id(self, object): """ Gets the object's children identifier. """ return self.adapter.get_children_id() def append_child(self, object, child): """ Appends a child to the object's children. """ return self.adapter.append_child(child) def insert_child(self, object, index, child): """ Inserts a child into the object's children. """ return self.adapter.insert_child(index, child) def confirm_delete(self, object): """ Checks whether a specified object can be deleted. The following return values are possible: - **True** if the object should be deleted with no further prompting. - **False** if the object should not be deleted. - Anything else: Caller should take its default action (which might include prompting the user to confirm deletion). """ return self.adapter.confirm_delete() def delete_child(self, object, index): """ Deletes a child at a specified index from the object's children. """ return self.adapter.delete_child(index) def when_children_replaced(self, object, listener, remove): """ Sets up or removes a listener for children being replaced on a specified object. """ return self.adapter.when_children_replaced(listener, remove) def when_children_changed(self, object, listener, remove): """ Sets up or removes a listener for children being changed on a specified object. """ return self.adapter.when_children_changed(listener, remove) def get_label(self, object): """ Gets the label to display for a specified object. """ return self.adapter.get_label() def set_label(self, object, label): """ Sets the label for a specified object. """ return self.adapter.set_label(label) def when_label_changed(self, object, listener, remove): """ Sets up or removes a listener for the label being changed on a specified object. """ return self.adapter.when_label_changed(listener, remove) def get_column_labels(self, object): """ Get the labels for any columns that have been defined. """ return self.adapter.get_column_labels() def when_column_labels_change(self, object, listener, remove): """ Sets up or removes a listener for the column labels being changed on a specified object. This will fire when either the list is reassigned or when it is modified. I.e., it listens both to the trait change event and the trait_items change event. Implement the listener appropriately to handle either case. """ return self.adapter.when_column_labels_change(listener, remove) def get_tooltip(self, object): """ Gets the tooltip to display for a specified object. """ return self.adapter.get_tooltip() def get_icon(self, object, is_expanded): """ Returns the icon for a specified object. """ return self.adapter.get_icon(is_expanded) def get_icon_path(self, object): """ Returns the path used to locate an object's icon. """ return self.adapter.get_icon_path() def get_name(self, object): """ Returns the name to use when adding a new object instance (displayed in the "New" submenu). """ return self.adapter.get_name() def get_view(self, object): """ Gets the view to use when editing an object. """ return self.adapter.get_view() def get_menu(self, object): """ Returns the right-click context menu for an object. """ return self.adapter.get_menu() def get_background(self, object): """ Returns the background for object """ return self.adapter.get_background() def get_foreground(self, object): """ Returns the foreground for object """ return self.adapter.get_foreground() def get_renderer(self, object, column=0): """ Returns the renderer for object """ return self.adapter.get_renderer(column) def can_rename(self, object): """ Returns whether the object's children can be renamed. """ return self.adapter.can_rename() def can_rename_me(self, object): """ Returns whether the object can be renamed. """ return self.adapter.can_rename_me() def can_copy(self, object): """ Returns whether the object's children can be copied. """ return self.adapter.can_copy() def can_delete(self, object): """ Returns whether the object's children can be deleted. """ return self.adapter.can_delete() def can_delete_me(self, object): """ Returns whether the object can be deleted. """ return self.adapter.can_delete_me() def can_insert(self, object): """ Returns whether the object's children can be inserted (vs. appended). """ return self.adapter.can_insert() def can_auto_open(self, object): """ Returns whether the object's children should be automatically opened. """ return self.adapter.can_auto_open() def can_auto_close(self, object): """ Returns whether the object's children should be automatically closed. """ return self.adapter.can_auto_close() def can_add(self, object, add_object): """ Returns whether a given object is droppable on the node. """ return self.adapter.can_add(add_object) def get_add(self, object): """ Returns the list of classes that can be added to the object. """ return self.adapter.get_add() def get_drag_object(self, object): """ Returns a draggable version of a specified object. """ return self.adapter.get_drag_object() def drop_object(self, object, dropped_object): """ Returns a droppable version of a specified object. """ return self.adapter.drop_object(dropped_object) def select(self, object): """ Handles an object being selected. """ return self.adapter.select() def click(self, object): """ Handles an object being clicked. """ return self.adapter.click() def dclick(self, object): """ Handles an object being double-clicked. """ return self.adapter.dclick() def activated(self, object): """ Handles an object being activated. """ return self.adapter.activated() # FIXME RTK: add the column_labels API to the following TreeNodes, too. # ------------------------------------------------------------------------- # 'ObjectTreeNode' class # ------------------------------------------------------------------------- class ObjectTreeNode(TreeNode): def allows_children(self, object): """ Returns whether this object can have children. """ return object.tno_allows_children(self) def has_children(self, object): """ Returns whether the object has children. """ return object.tno_has_children(self) def get_children(self, object): """ Gets the object's children. """ return object.tno_get_children(self) def get_children_id(self, object): """ Gets the object's children identifier. """ return object.tno_get_children_id(self) def append_child(self, object, child): """ Appends a child to the object's children. """ return object.tno_append_child(self, child) def insert_child(self, object, index, child): """ Inserts a child into the object's children. """ return object.tno_insert_child(self, index, child) def confirm_delete(self, object): """ Checks whether a specified object can be deleted. The following return values are possible: - **True** if the object should be deleted with no further prompting. - **False** if the object should not be deleted. - Anything else: Caller should take its default action (which might include prompting the user to confirm deletion). """ return object.tno_confirm_delete(self) def delete_child(self, object, index): """ Deletes a child at a specified index from the object's children. """ return object.tno_delete_child(self, index) def when_children_replaced(self, object, listener, remove): """ Sets up or removes a listener for children being replaced on a specified object. """ return object.tno_when_children_replaced(self, listener, remove) def when_children_changed(self, object, listener, remove): """ Sets up or removes a listener for children being changed on a specified object. """ return object.tno_when_children_changed(self, listener, remove) def get_label(self, object): """ Gets the label to display for a specified object. """ return object.tno_get_label(self) def set_label(self, object, label): """ Sets the label for a specified object. """ return object.tno_set_label(self, label) def when_label_changed(self, object, listener, remove): """ Sets up or removes a listener for the label being changed on a specified object. """ return object.tno_when_label_changed(self, listener, remove) def get_tooltip(self, object): """ Gets the tooltip to display for a specified object. """ return object.tno_get_tooltip(self) def get_icon(self, object, is_expanded): """ Returns the icon for a specified object. """ return object.tno_get_icon(self, is_expanded) def get_icon_path(self, object): """ Returns the path used to locate an object's icon. """ return object.tno_get_icon_path(self) def get_name(self, object): """ Returns the name to use when adding a new object instance (displayed in the "New" submenu). """ return object.tno_get_name(self) def get_view(self, object): """ Gets the view to use when editing an object. """ return object.tno_get_view(self) def get_menu(self, object): """ Returns the right-click context menu for an object. """ return object.tno_get_menu(self) def can_rename(self, object): """ Returns whether the object's children can be renamed. """ return object.tno_can_rename(self) def can_rename_me(self, object): """ Returns whether the object can be renamed. """ return object.tno_can_rename_me(self) def can_copy(self, object): """ Returns whether the object's children can be copied. """ return object.tno_can_copy(self) def can_delete(self, object): """ Returns whether the object's children can be deleted. """ return object.tno_can_delete(self) def can_delete_me(self, object): """ Returns whether the object can be deleted. """ return object.tno_can_delete_me(self) def can_insert(self, object): """ Returns whether the object's children can be inserted (vs. appended). """ return object.tno_can_insert(self) def can_auto_open(self, object): """ Returns whether the object's children should be automatically opened. """ return object.tno_can_auto_open(self) def can_auto_close(self, object): """ Returns whether the object's children should be automatically closed. """ return object.tno_can_auto_close(self) def is_node_for(self, object): """ Returns whether this is the node that should handle a specified object. """ if isinstance(object, TreeNodeObject): return object.tno_is_node_for(self) return False def can_add(self, object, add_object): """ Returns whether a given object is droppable on the node. """ return object.tno_can_add(self, add_object) def get_add(self, object): """ Returns the list of classes that can be added to the object. """ return object.tno_get_add(self) def get_drag_object(self, object): """ Returns a draggable version of a specified object. """ return object.tno_get_drag_object(self) def drop_object(self, object, dropped_object): """ Returns a droppable version of a specified object. """ return object.tno_drop_object(self, dropped_object) def select(self, object): """ Handles an object being selected. """ return object.tno_select(self) def click(self, object): """ Handles an object being clicked. """ return object.tno_click(self) def dclick(self, object): """ Handles an object being double-clicked. """ return object.tno_dclick(self) def activated(self, object): """ Handles an object being activated. """ return object.tno_activated(self) class TreeNodeObject(HasPrivateTraits): """ Represents the object that corresponds to a tree node. """ #: A cache for listeners that need to keep state. _listener_cache = Dict() def tno_allows_children(self, node): """ Returns whether this object allows children. """ return node.children != "" def tno_has_children(self, node): """ Returns whether this object has children. """ return len(self.tno_get_children(node)) > 0 def tno_get_children(self, node): """ Gets the object's children. """ return getattr(self, node.children, None) def tno_get_children_id(self, node): """ Gets the object's children identifier. """ return node.children def tno_append_child(self, node, child): """ Appends a child to the object's children. """ self.tno_get_children(node).append(child) def tno_insert_child(self, node, index, child): """ Inserts a child into the object's children. """ children = self.tno_get_children(node) children[index:index] = [child] def tno_confirm_delete(self, node): """ Checks whether a specified object can be deleted. The following return values are possible: - **True** if the object should be deleted with no further prompting. - **False** if the object should not be deleted. - Anything else: Caller should take its default action (which might include prompting the user to confirm deletion). """ return None def tno_delete_child(self, node, index): """ Deletes a child at a specified index from the object's children. """ del self.tno_get_children(node)[index] def tno_when_children_replaced(self, node, listener, remove): """ Sets up or removes a listener for children being replaced on a specified object. """ self.on_trait_change( listener, node.children, remove=remove, dispatch="fast_ui" ) def tno_when_children_changed(self, node, listener, remove): """ Sets up or removes a listener for children being changed on a specified object. """ self.on_trait_change( listener, node.children + "_items", remove=remove, dispatch="fast_ui", ) def tno_get_label(self, node): """ Gets the label to display for a specified object. """ label = node.label if label[:1] == "=": return label[1:] label = xgetattr(self, label) if node.formatter is None: return label return node.formatter(self, label) def tno_set_label(self, node, label): """ Sets the label for a specified object. """ label_name = node.label if label_name[:1] != "=": xsetattr(self, label_name, label) def tno_when_label_changed(self, node, listener, remove): """ Sets up or removes a listener for the label being changed on a specified object. """ label = node.label if label[:1] != "=": memo = ("label", label, node, listener) if not remove: def wrapped_listener(target, name, new): """ Ensure listener gets called with correct object. """ return listener(self, name, new) self._listener_cache[memo] = wrapped_listener else: wrapped_listener = self._listener_cache.pop(memo, None) if wrapped_listener is None: return self.on_trait_change( wrapped_listener, label, remove=remove, dispatch="ui" ) def tno_get_tooltip(self, node): """ Gets the tooltip to display for a specified object. """ tooltip = node.tooltip if tooltip == "": return tooltip if tooltip[:1] == "=": return tooltip[1:] tooltip = xgetattr(self, tooltip) if node.tooltip_formatter is None: return tooltip return node.tooltip_formatter(self, tooltip) def tno_get_icon(self, node, is_expanded): """ Returns the icon for a specified object. """ if not self.tno_allows_children(node): return node.icon_item if is_expanded: return node.icon_open return node.icon_group def tno_get_icon_path(self, node): """ Returns the path used to locate an object's icon. """ return node.icon_path def tno_get_name(self, node): """ Returns the name to use when adding a new object instance (displayed in the "New" submenu). """ return node.name def tno_get_view(self, node): """ Gets the view to use when editing an object. """ return node.view def tno_get_menu(self, node): """ Returns the right-click context menu for an object. """ return node.menu def tno_can_rename(self, node): """ Returns whether the object's children can be renamed. """ return node.rename def tno_can_rename_me(self, node): """ Returns whether the object can be renamed. """ return node.rename_me def tno_can_copy(self, node): """ Returns whether the object's children can be copied. """ return node.copy def tno_can_delete(self, node): """ Returns whether the object's children can be deleted. """ return node.delete def tno_can_delete_me(self, node): """ Returns whether the object can be deleted. """ return node.delete_me def tno_can_insert(self, node): """ Returns whether the object's children can be inserted (vs. appended). """ return node.insert def tno_can_auto_open(self, node): """ Returns whether the object's children should be automatically opened. """ return node.auto_open def tno_can_auto_close(self, node): """ Returns whether the object's children should be automatically closed. """ return node.auto_close def tno_is_node_for(self, node): """ Returns whether this is the node that should handle a specified object. """ return isinstance( self, node.node_for_class ) or self.has_traits_interface(*node.node_for_interface) def tno_can_add(self, node, add_object): """ Returns whether a given object is droppable on the node. """ klass = node._class_for(add_object) if node.is_addable(klass): return True for item in node.move: if type(item) in SequenceTypes: item = item[0] if issubclass(klass, item): return True return False def tno_get_add(self, node): """ Returns the list of classes that can be added to the object. """ return node.add def tno_get_drag_object(self, node): """ Returns a draggable version of a specified object. """ return self def tno_drop_object(self, node, dropped_object): """ Returns a droppable version of a specified object. """ if node.is_addable(dropped_object): return dropped_object for item in node.move: if type(item) in SequenceTypes: if isinstance(dropped_object, item[0]): return item[1](self, dropped_object) else: if isinstance(dropped_object, item): return dropped_object def tno_select(self, node): """ Handles an object being selected. """ if node.on_select is not None: node.on_select(self) return None return True def tno_click(self, node): """ Handles an object being clicked. """ if node.on_click is not None: node.on_click(self) return None return True def tno_dclick(self, node): """ Handles an object being double-clicked. """ if node.on_dclick is not None: node.on_dclick(self) return None return True def tno_activated(self, node): """ Handles an object being activated. """ if node.on_activated is not None: node.on_activated(self) return None return True # ------------------------------------------------------------------------- # 'MultiTreeNode' object: # ------------------------------------------------------------------------- class MultiTreeNode(TreeNode): # ------------------------------------------------------------------------- # Trait definitions: # ------------------------------------------------------------------------- #: TreeNode that applies to the base object itself root_node = Instance(TreeNode) #: List of TreeNodes (one for each sub-item list) nodes = List(TreeNode) def allows_children(self, object): """ Returns whether this object can have children (True for this class). """ return True def has_children(self, object): """ Returns whether this object has children (True for this class). """ return True def get_children(self, object): """ Gets the object's children. """ return [(object, node) for node in self.nodes] def get_children_id(self, object): """ Gets the object's children identifier. """ return "" def when_children_replaced(self, object, listener, remove): """ Sets up or removes a listener for children being replaced on a specified object. """ pass def when_children_changed(self, object, listener, remove): """ Sets up or removes a listener for children being changed on a specified object. """ pass def get_label(self, object): """ Gets the label to display for a specified object. """ return self.root_node.get_label(object) def set_label(self, object, label): """ Sets the label for a specified object. """ return self.root_node.set_label(object, label) def when_label_changed(self, object, listener, remove): """ Sets up or removes a listener for the label being changed on a specified object. """ return self.root_node.when_label_changed(object, listener, remove) def get_icon(self, object, is_expanded): """ Returns the icon for a specified object. """ return self.root_node.get_icon(object, is_expanded) def get_icon_path(self, object): """ Returns the path used to locate an object's icon. """ return self.root_node.get_icon_path(object) def get_name(self, object): """ Returns the name to use when adding a new object instance (displayed in the "New" submenu). """ return self.root_node.get_name(object) def get_view(self, object): """ Gets the view to use when editing an object. """ return self.root_node.get_view(object) def get_menu(self, object): """ Returns the right-click context menu for an object. """ return self.root_node.get_menu(object) def can_rename(self, object): """ Returns whether the object's children can be renamed (False for this class). """ return False def can_rename_me(self, object): """ Returns whether the object can be renamed (False for this class). """ return False def can_copy(self, object): """ Returns whether the object's children can be copied. """ return self.root_node.can_copy(object) def can_delete(self, object): """ Returns whether the object's children can be deleted (False for this class). """ return False def can_delete_me(self, object): """ Returns whether the object can be deleted (True for this class). """ return True def can_insert(self, object): """ Returns whether the object's children can be inserted (False, meaning that children are appended, for this class). """ return False def can_auto_open(self, object): """ Returns whether the object's children should be automatically opened. """ return self.root_node.can_auto_open(object) def can_auto_close(self, object): """ Returns whether the object's children should be automatically closed. """ return self.root_node.can_auto_close(object) def can_add(self, object, add_object): """ Returns whether a given object is droppable on the node (False for this class). """ return False def get_add(self, object): """ Returns the list of classes that can be added to the object. """ return [] def get_drag_object(self, object): """ Returns a draggable version of a specified object. """ return self.root_node.get_drag_object(object) def drop_object(self, object, dropped_object): """ Returns a droppable version of a specified object. """ return self.root_node.drop_object(object, dropped_object) def select(self, object): """ Handles an object being selected. """ return self.root_node.select(object) def click(self, object): """ Handles an object being clicked. """ return self.root_node.click(object) def dclick(self, object): """ Handles an object being double-clicked. """ return self.root_node.dclick(object) def activated(self, object): """ Handles an object being activated. """ return self.root_node.activated(object) traitsui-7.2.1/traitsui/theme.py0000644000076500000240000000554414046644454017337 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! """ Defines 'theme' related classes. """ from traits.api import HasPrivateTraits, Property, cached_property from traits.etsconfig.api import ETSConfig from .ui_traits import Image, HasBorder, HasMargin, Alignment class Theme(HasPrivateTraits): # -- Public Traits -------------------------------------------------------- #: The background image to use for the theme: image = Image #: The border inset: border = HasBorder #: The margin to use around the content: content = HasMargin #: The margin to use around the label: label = HasMargin #: The alignment to use for positioning the label: alignment = Alignment(cols=4) #: The color to use for content text (Wx only) content_color = Property() #: The color to use for label text (Wx only) label_color = Property() #: The image slice used to draw the theme (Wx only) image_slice = Property(observe="image") # -- Constructor ---------------------------------------------------------- def __init__(self, image=None, **traits): """ Initializes the object. """ if image is not None: self.image = image super().__init__(**traits) # -- Property Implementations --------------------------------------------- def _get_content_color(self): if ETSConfig.toolkit == "wx": import wx if self._content_color is None: color = wx.BLACK islice = self.image_slice if islice is not None: color = islice.content_color self._content_color = color return self._content_color def _set_content_color(self, color): self._content_color = color def _get_label_color(self): if ETSConfig.toolkit == "wx": import wx if self._label_color is None: color = wx.BLACK islice = self.image_slice if islice is not None: color = islice.label_color self._label_color = color return self._label_color def _set_label_color(self, color): self._label_color = color @cached_property def _get_image_slice(self): if self.image is None: return None if ETSConfig.toolkit == "wx": from traitsui.wx.image_slice import image_slice_for return image_slice_for(self.image) #: The default theme: default_theme = Theme() traitsui-7.2.1/traitsui/ui_editor.py0000644000076500000240000000536314046644454020217 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! """ Defines the BasicUIEditor class, which allows creating editors that define their function by creating an embedded Traits UI. """ from traits.api import Instance from .ui import UI from .editor import Editor # ------------------------------------------------------------------------- # 'UIEditor' base class: # ------------------------------------------------------------------------- class UIEditor(Editor): """ An editor that creates an embedded Traits UI. """ # ------------------------------------------------------------------------- # Trait definitions: # ------------------------------------------------------------------------- #: The Traits UI created by the editor editor_ui = Instance(UI) def init(self, parent): """ Finishes initializing the editor by creating the underlying toolkit widget. """ self.editor_ui = self.init_ui(parent).trait_set(parent=self.ui) self.control = self.editor_ui.control def init_ui(self, parent): """ Creates the traits UI for the editor. """ return self.value.edit_traits( view=self.trait_view(), context={"object": self.value, "editor": self}, parent=parent, ) def update_editor(self): """ Updates the editor when the object trait changes external to the editor. """ # Do nothing, since the embedded traits UI should handle the updates # itself, without our meddling: pass def dispose(self): """ Disposes of the contents of an editor. """ # Make sure the embedded traits UI is disposed of properly: if self.editor_ui is not None: self.editor_ui.dispose() super().dispose() def get_error_control(self): """ Returns the editor's control for indicating error status. """ return self.editor_ui.get_error_controls() # -- UI preference save/restore interface --------------------------------- def restore_prefs(self, prefs): """ Restores any saved user preference information associated with the editor. """ self.editor_ui.set_prefs(prefs) def save_prefs(self): """ Returns any user preference information associated with the editor. """ return self.editor_ui.get_prefs() traitsui-7.2.1/traitsui/_version.py0000644000076500000240000000147514046644525020057 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! # THIS FILE IS GENERATED FROM SETUP.PY #: The full version of the package, including a development suffix #: for unreleased versions of the package. version = '7.2.1' #: The full version of the package, same as 'version' #: Kept for backward compatibility full_version = version #: The Git revision from which this release was made. git_revision = 'Unknown' #: Flag whether this is a final release is_released = True traitsui-7.2.1/traitsui/images/0000755000076500000240000000000014046644526017120 5ustar aayresstaff00000000000000traitsui-7.2.1/traitsui/images/frame.png0000644000076500000240000000175714046644454020732 0ustar aayresstaff00000000000000‰PNG  IHDRóÿabKGD×Þ×]6G{ pHYs  šœtIME× -Ú¬Æ|IDAT8ËMÌmHÜuÀñïÿñþçéN½).Ù™c±lÈÜȈéÊÍØEå+Œ!Ñ‹ Â7.jX­¢zÑbBADE/F«æAsËfµ©7M6çyÞv§÷à=üŸ~½Ø›¾ï?_éôA„ËïËzÈVÉ›v·á“5³ä^Ž'7Ž­Þ,Í~\]ÏŽÝí$b7™qÈ LÅ…§èázMÈW_­{À5)ä×öJŠqqf¡Ôá˜æ’°,\ËÂÿk| Cmœíï®tcM‘[bå1ðX¥xõÉZÑ`H?+Ðe9ë—åxI4@^ž_!™%ÙÕsPj‰èÿJIzt1~©Ä²ü¸ß0ê¼£BèzÄÑÔÓÀ ûžGV„K"%õìŠ)-#ò7q­uN~y…[«9¡0-­-´F£ìßÛI]¤NVe¹øÈh{B¦¢ ÿžöšËöŸïˆkï‹Ôô[bkÄÑHèá9qåÂÂ/g~J\›ûÚw¸Ä$94>þbßSáx<ô –ÄÊ|1—àÄKƒ´l{×)‚ë⸪ªš¾äÞ÷ìà›¶3¢*ßJÝÇFŽœjݼMÓíá·ãoóá£÷½S¨¶†³º„AH¸Ž‰”MóÚ»ŸÅж3jí–Ú—WÊ‹ZTi¦#øÛGGñû5þ¹ý7o|>IT±êëD8."¿Æ¹«wø£¸¹¬-ÛÌΡ„'[Û›ªÞJÊrÙÒÉ+iÎ|ú}ý'¨mŽ0:6Á×S|7¹€¶s?G^¨_\˜¿ÿÖbìœÔ°gÓÒ#OooÔt† ­içÏþÊ·‡éh ò»ø+ LU€$ˆ'Òä e$$,„¬U*+¦ ËùC3_-í“|Zó´ìh2ÕÑxoúyÛ Y8,%3ä‹¶ãb•M„æ'“LYuaHo€å‚î¯YÅmíüº"9Üsà0†áÇ!$:ß~PJÍ]º7X+€é‚áEò9ˆ4à†jUC9ê VíV½CQT]÷Š]Î[¹»ëñòúíóûæ?-Q™Ù;¢/0IEND®B`‚traitsui-7.2.1/traitsui/ui_traits.py0000644000076500000240000001546114046644454020237 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! """ Defines common traits used within the traits.ui package. """ from pyface.ui_traits import ( Alignment, Border, HasBorder, HasMargin, Image, Margin, Position, convert_bitmap, convert_image, ) from traits.api import ( Any, Delegate, Enum, Expression, Float, HasStrictTraits, List, PrefixList, Range, Str, TraitError, TraitType, ) from .helper import SequenceTypes # ------------------------------------------------------------------------- # Trait definitions: # ------------------------------------------------------------------------- # Orientation trait: Orientation = PrefixList(("vertical", "horizontal")) # Styles for user interface elements: EditorStyle = style_trait = PrefixList( ("simple", "custom", "text", "readonly"), cols=4) # Group layout trait: Layout = PrefixList(("normal", "split", "tabbed", "flow", "fold")) # Trait for the default object being edited: AnObject = Expression("object") # The default dock style to use: DockStyle = dock_style_trait = Enum( "fixed", "horizontal", "vertical", "tab", desc="the default docking style to use", ) # The category of elements dragged out of the view: ExportType = Str(desc="the category of elements dragged out of the view") # Delegate a trait value to the object's **container** trait: ContainerDelegate = container_delegate = Delegate( "container", listenable=False ) # An identifier for the external help context: HelpId = help_id_trait = Str(desc="the external help context identifier") # A button to add to a view: AButton = Any() # AButton = Trait( '', Str, Instance( 'traitsui.menu.Action' ) ) # The set of buttons to add to the view: Buttons = List( AButton, desc="the action buttons to add to the bottom of the view" ) # View trait specified by name or instance: AView = Any() # AView = Trait( '', Str, Instance( 'traitsui.view.View' ) ) # FIXME: on AButton and AView: TraitCompound handlers with deferred-import # Instance traits are just broken. The Instance trait tries to update the # top-level CTrait's fast_validate table when the import is resolved. However, # sometimes the CTrait gets copied for unknown reasons and the copy's # fast_validate table is not updated although the TraitCompound's # slow_validates table is modified. # ------------------------------------------------------------------------- # 'StatusItem' class: # ------------------------------------------------------------------------- class StatusItem(HasStrictTraits): #: The name of the trait the status information will be synched with: name = Str("status") #: The width of the status field. The possible values are: #: #: - abs( width ) > 1.0: Width of the field in pixels = abs( width ) #: - abs( width ) <= 1.0: Relative width of the field when compared to #: the other relative width fields. width = Float(0.5) def __init__(self, value=None, **traits): """ Initializes the item object. """ super().__init__(**traits) if value is not None: self.name = value # ------------------------------------------------------------------------- # 'ViewStatus' trait: # ------------------------------------------------------------------------- class ViewStatus(TraitType): """ Defines a trait whose value must be a single StatusItem instance or a list of StatusItem instances. """ #: Define the default value for the trait: default_value = None #: A description of the type of value this trait accepts: info_text = ( "None, a string, a single StatusItem instance, or a list or " "tuple of strings and/or StatusItem instances" ) def validate(self, object, name, value): """ Validates that a specified value is valid for this trait. """ if isinstance(value, str): return [StatusItem(name=value)] if isinstance(value, StatusItem): return [value] if value is None: return value result = [] if isinstance(value, SequenceTypes): for item in value: if isinstance(item, str): result.append(StatusItem(name=item)) elif isinstance(item, StatusItem): result.append(item) else: break else: return result self.error(object, name, value) # ------------------------------------------------------------------------- # 'ATheme' trait: # ------------------------------------------------------------------------- def convert_theme(value, level=3): """ Converts a specified value to a Theme if possible. """ if not isinstance(value, str): return value if (value[:1] == "@") and (value.find(":") >= 2): try: from .image.image import ImageLibrary info = ImageLibrary.image_info(value) except: info = None if info is not None: return info.theme from .theme import Theme return Theme(image=convert_image(value, level + 1)) class ATheme(TraitType): """ Defines a trait whose value must be a traits UI Theme or a string that can be converted to one. """ #: Define the default value for the trait: default_value = None #: A description of the type of value this trait accepts: info_text = "a Theme or string that can be used to define one" def __init__(self, value=None, **metadata): """ Creates an ATheme trait. Parameters ---------- value : string or Theme The default value for the ATheme, either a Theme object, or a string from which a Theme object can be derived. """ super().__init__(convert_theme(value), **metadata) def validate(self, object, name, value): """ Validates that a specified value is valid for this trait. """ from .theme import Theme if value is None: return None new_value = convert_theme(value, 4) if isinstance(new_value, Theme): return new_value self.error(object, name, value) # ------------------------------------------------------------------------------- # Other trait definitions: # ------------------------------------------------------------------------- # The spacing between two items: Spacing = Range(-32, 32, 3) traitsui-7.2.1/traitsui/ui.py0000644000076500000240000007336014046644454016653 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! """ Defines the UI class used to represent an active traits-based user interface. """ import shelve import os from pyface.ui_traits import Image from traits.api import ( Any, Bool, Callable, Dict, Event, HasPrivateTraits, Instance, Int, List, Property, Str, TraitError, observe, property_depends_on, ) from traits.observation.api import trait from traits.trait_base import traits_home, is_str from .editor import Editor from .view_elements import ViewElements from .handler import Handler, ViewHandler from .toolkit import toolkit from .ui_info import UIInfo from .item import Item from .group import Group, ShadowGroup # List of **kind** types for views that must have a **parent** window specified kind_must_have_parent = ("panel", "subpanel") class UI(HasPrivateTraits): """ Information about the user interface for a View. """ # ------------------------------------------------------------------------- # Trait definitions: # ------------------------------------------------------------------------- #: The ViewElements object from which this UI resolves Include items view_elements = Instance(ViewElements) #: Context objects that the UI is editing context = Dict(Str, Any) #: Handler object used for event handling handler = Instance(Handler) #: View template used to construct the user interface view = Instance("traitsui.view.View") #: Panel or dialog associated with the user interface control = Any() #: The parent UI (if any) of this UI parent = Instance("UI") #: Toolkit-specific object that "owns" **control** owner = Any() #: UIInfo object containing context or editor objects info = Instance(UIInfo) #: Result from a modal or wizard dialog: result = Bool(False) #: Undo and Redo history history = Any() #: The KeyBindings object (if any) for this UI: key_bindings = Property(depends_on=["view._key_bindings", "context"]) #: The unique ID for this UI for persistence id = Str() #: Have any modifications been made to UI contents? modified = Bool(False) #: Event when the user interface has changed updated = Event(Bool) #: Title of the dialog, if any title = Str() #: The ImageResource of the icon, if any icon = Image #: Should the created UI have scroll bars? scrollable = Bool(False) #: The number of currently pending editor error conditions errors = Int() #: The code used to rebuild an updated user interface rebuild = Callable() #: Set to True when the UI has finished being destroyed. destroyed = Bool(False) # -- Private Traits ------------------------------------------------------- #: Original context when used with a modal dialog _context = Dict(Str, Any) #: Copy of original context used for reverting changes _revert = Dict(Str, Any) #: List of methods to call once the user interface is created _defined = List() #: List of (visible_when,Editor) pairs _visible = List() #: List of (enabled_when,Editor) pairs _enabled = List() #: List of (checked_when,Editor) pairs _checked = List() #: Search stack used while building a user interface _search = List() #: List of dispatchable Handler methods _dispatchers = List() #: List of editors used to build the user interface _editors = List() #: List of names bound to the **info** object _names = List() #: Index of currently the active group in the user interface _active_group = Int() #: List of top-level groups used to build the user interface _groups = Property() _groups_cache = Any() #: Count of levels of nesting for undoable actions _undoable = Int(-1) #: Code used to rebuild an updated user interface _rebuild = Callable() #: The statusbar listeners that have been set up: _statusbar = List() #: Control which gets focus after UI is created #: Note: this does not track focus after UI creation #: only used by Qt backend. _focus_control = Any() #: Does the UI contain any scrollable widgets? #: #: The _scrollable trait is set correctly, but not used currently because #: its value is arrived at too late to be of use in building the UI. _scrollable = Bool(False) #: Cache for key bindings. _key_bindings = Instance("traitsui.key_bindings.KeyBindings") #: List of traits that are reset when a user interface is recycled #: (i.e. rebuilt). recyclable_traits = [ "_context", "_revert", "_defined", "_visible", "_enabled", "_checked", "_search", "_dispatchers", "_editors", "_names", "_active_group", "_undoable", "_rebuild", "_groups_cache", "_key_bindings", "_focus_control", ] #: List of additional traits that are discarded when a user interface is #: disposed. disposable_traits = [ "view_elements", "info", "handler", "context", "view", "history", "key_bindings", "icon", "rebuild", ] def traits_init(self): """ Initializes the traits object. """ self.info = UIInfo(ui=self) self.handler.init_info(self.info) def ui(self, parent, kind): """ Creates a user interface from the associated View template object. """ if (parent is None) and (kind in kind_must_have_parent): kind = "live" self.view.on_trait_change( self._updated_changed, "updated", dispatch="ui" ) self.rebuild = getattr(toolkit(), "ui_" + kind) self.rebuild(self, parent) def dispose(self, result=None, abort=False): """ Disposes of the contents of a user interface. """ if self.parent is not None: self.parent.errors -= self.errors if result is not None: self.result = result # Only continue if the view has not already been disposed of: if self.control is not None: # Save the user preference information for the user interface: if not abort: self.save_prefs() # Finish disposing of the user interface: self.finish() def recycle(self): """ Recycles the user interface prior to rebuilding it. """ # Reset all user interface editors: self.reset(destroy=False) # Discard any context object associated with the ui view control: self.control._object = None # Reset all recyclable traits: self.reset_traits(self.recyclable_traits) def finish(self): """ Finishes disposing of a user interface. """ # Destroy the control early to silence cascade events when the UI # enters an inconsistent state. toolkit().destroy_control(self.control) # Reset the contents of the user interface self.reset(destroy=False) # Make sure that 'visible', 'enabled', and 'checked' handlers are not # called after the editor has been disposed: for object in self.context.values(): object.on_trait_change(self._evaluate_when, remove=True) # Notify the handler that the view has been closed: self.handler.closed(self.info, self.result) # Clear the back-link from the UIInfo object to us: self.info.ui = None # Destroy the view control: self.control._object = None self.control = None # Dispose of any KeyBindings object we reference: if self._key_bindings is not None: self._key_bindings.dispose() # Break the linkage to any objects in the context dictionary: self.context.clear() # Remove specified symbols from our dictionary to aid in clean-up: self.reset_traits(self.recyclable_traits) self.reset_traits(self.disposable_traits) self.destroyed = True def reset(self, destroy=True): """ Resets the contents of a user interface. """ for editor in self._editors: if editor._ui is not None: # Propagate result to enclosed ui objects: editor._ui.result = self.result editor.dispose() # Zap the control. If there are pending events for the control in # the UI queue, the editor's '_update_editor' method will see that # the control is None and discard the update request: editor.control = None # Remove any statusbar listeners that have been set up: for object, handler, name in self._statusbar: object.observe(handler, name, remove=True, dispatch="ui") del self._statusbar[:] if destroy: toolkit().destroy_children(self.control) for dispatcher in self._dispatchers: dispatcher.remove() def find(self, include): """ Finds the definition of the specified Include object in the current user interface building context. """ context = self.context result = None # Get the context 'object' (if available): if len(context) == 1: object = list(context.values())[0] else: object = context.get("object") # Try to use our ViewElements objects: ve = self.view_elements # If none specified, try to get it from the UI context: if (ve is None) and (object is not None): # Use the context object's ViewElements (if available): ve = object.trait_view_elements() # Ask the ViewElements to find the requested item for us: if ve is not None: result = ve.find(include.id, self._search) # If not found, then try to search the 'handler' and 'object' for a # method we can call that will define it: if result is None: handler = context.get("handler") if handler is not None: method = getattr(handler, include.id, None) if callable(method): result = method() if (result is None) and (object is not None): method = getattr(object, include.id, None) if callable(method): result = method() return result def push_level(self): """ Returns the current search stack level. """ return len(self._search) def pop_level(self, level): """ Restores a previously pushed search stack level. """ del self._search[: len(self._search) - level] def prepare_ui(self): """ Performs all processing that occurs after the user interface is created. """ # Invoke all of the editor 'name_defined' methods we've accumulated: info = self.info.trait_set(initialized=False) for method in self._defined: method(info) # Then reset the list, since we don't need it anymore: del self._defined[:] # Synchronize all context traits with associated editor traits: self.sync_view() # Hook all keyboard events: toolkit().hook_events(self, self.control, "keys", self.key_handler) # Hook all events if the handler is an extended 'ViewHandler': handler = self.handler if isinstance(handler, ViewHandler): toolkit().hook_events(self, self.control) # Invoke the handler's 'init' method, and abort if it indicates # failure: if handler.init(info) == False: raise TraitError("User interface creation aborted") # For each Handler method whose name is of the form # 'object_name_changed', where 'object' is the name of an object in the # UI's 'context', create a trait notification handler that will call # the method whenever 'object's 'name' trait changes. Also invoke the # method immediately so initial user interface state can be correctly # set: context = self.context for name in self._each_trait_method(handler): if name[-8:] == "_changed": prefix = name[:-8] col = prefix.find("_", 1) if col >= 0: object = context.get(prefix[:col]) if object is not None: method = getattr(handler, name) trait_name = prefix[col + 1:] self._dispatchers.append( Dispatcher(method, info, object, trait_name) ) if object.base_trait(trait_name).type != "event": method(info) # If there are any Editor object's whose 'visible', 'enabled' or # 'checked' state is controlled by a 'visible_when', 'enabled_when' or # 'checked_when' expression, set up an 'anytrait' changed notification # handler on each object in the 'context' that will cause the # 'visible', 'enabled' or 'checked' state of each affected Editor to be # set. Also trigger the evaluation immediately, so the visible, # enabled or checked state of each Editor can be correctly initialized: if (len(self._visible) + len(self._enabled) + len(self._checked)) > 0: for object in context.values(): object.on_trait_change(self._evaluate_when, dispatch="ui") self._do_evaluate_when(at_init=True) # Indicate that the user interface has been initialized: info.initialized = True def sync_view(self): """ Synchronize context object traits with view editor traits. """ for name, object in self.context.items(): self._sync_view(name, object, "sync_to_view", "from") self._sync_view(name, object, "sync_from_view", "to") self._sync_view(name, object, "sync_with_view", "both") def _sync_view(self, name, object, metadata, direction): info = self.info for trait_name, trait in object.traits(**{metadata: is_str}).items(): for sync in getattr(trait, metadata).split(","): try: editor_id, editor_name = [ item.strip() for item in sync.split(".") ] except: raise TraitError( "The '%s' metadata for the '%s' trait in " "the '%s' context object should be of the form: " "'id1.trait1[,...,idn.traitn]." % (metadata, trait_name, name) ) editor = getattr(info, editor_id, None) if editor is not None: editor.sync_value( "%s.%s" % (name, trait_name), editor_name, direction ) else: raise TraitError( "No editor with id = '%s' was found for " "the '%s' metadata for the '%s' trait in the '%s' " "context object." % (editor_id, metadata, trait_name, name) ) def get_extended_value(self, name): """ Gets the current value of a specified extended trait name. """ names = name.split(".") if len(names) > 1: value = self.context[names[0]] del names[0] else: value = self.context["object"] for name in names: value = getattr(value, name) return value def restore_prefs(self): """ Retrieves and restores any saved user preference information associated with the UI. """ id = self.id if id != "": db = self.get_ui_db() if db is not None: try: ui_prefs = db.get(id) db.close() return self.set_prefs(ui_prefs) except: pass return None def set_prefs(self, prefs): """ Sets the values of user preferences for the UI. """ if isinstance(prefs, dict): info = self.info for name in self._names: editor = getattr(info, name, None) if isinstance(editor, Editor) and (editor.ui is self): editor_prefs = prefs.get(name) if editor_prefs is not None: editor.restore_prefs(editor_prefs) if self.key_bindings is not None: key_bindings = prefs.get("$") if key_bindings is not None: self.key_bindings.merge(key_bindings) return prefs.get("") return None def save_prefs(self, prefs=None): """ Saves any user preference information associated with the UI. """ if prefs is None: toolkit().save_window(self) return id = self.id if id != "": db = self.get_ui_db(mode="c") if db is not None: db[id] = self.get_prefs(prefs) db.close() def get_prefs(self, prefs=None): """ Gets the preferences to be saved for the user interface. """ ui_prefs = {} if prefs is not None: ui_prefs[""] = prefs if self.key_bindings is not None: ui_prefs["$"] = self.key_bindings info = self.info for name in self._names: editor = getattr(info, name, None) if isinstance(editor, Editor) and (editor.ui is self): prefs = editor.save_prefs() if prefs is not None: ui_prefs[name] = prefs return ui_prefs def get_ui_db(self, mode="r"): """ Returns a reference to the Traits UI preference database. """ try: return shelve.open( os.path.join(traits_home(), "traits_ui"), flag=mode, protocol=-1, ) except: return None def get_editors(self, name): """ Returns a list of editors for the given trait name. """ return [editor for editor in self._editors if editor.name == name] def get_error_controls(self): """ Returns the list of editor error controls contained by the user interface. """ controls = [] for editor in self._editors: control = editor.get_error_control() if isinstance(control, list): controls.extend(control) else: controls.append(control) return controls def add_defined(self, method): """ Adds a Handler method to the list of methods to be called once the user interface has been constructed. """ self._defined.append(method) def add_visible(self, visible_when, editor): """ Adds a conditionally enabled Editor object to the list of monitored 'visible_when' objects. """ try: self._visible.append( (compile(visible_when, "", "eval"), editor) ) except: pass # fixme: Log an error here... def add_enabled(self, enabled_when, editor): """ Adds a conditionally enabled Editor object to the list of monitored 'enabled_when' objects. """ try: self._enabled.append( (compile(enabled_when, "", "eval"), editor) ) except: pass # fixme: Log an error here... def add_checked(self, checked_when, editor): """ Adds a conditionally enabled (menu) Editor object to the list of monitored 'checked_when' objects. """ try: self._checked.append( (compile(checked_when, "", "eval"), editor) ) except: pass # fixme: Log an error here... def do_undoable(self, action, *args, **kw): """ Performs an action that can be undone. """ undoable = self._undoable try: if (undoable == -1) and (self.history is not None): self._undoable = self.history.now action(*args, **kw) finally: if undoable == -1: self._undoable = -1 def route_event(self, event): """ Routes a "hooked" event to the correct handler method. """ toolkit().route_event(self, event) def key_handler(self, event, skip=True): """ Handles key events. """ key_bindings = self.key_bindings handled = (key_bindings is not None) and key_bindings.do( event, [], self.info, recursive=(self.parent is None) ) if (not handled) and (self.parent is not None): handled = self.parent.key_handler(event, False) if (not handled) and skip: toolkit().skip_event(event) return handled def evaluate(self, function, *args, **kw_args): """ Evaluates a specified function in the UI's **context**. """ if function is None: return None if callable(function): return function(*args, **kw_args) context = self.context.copy() context["ui"] = self context["handler"] = self.handler return eval(function, globals(), context)(*args, **kw_args) def eval_when(self, when, result=True): """ Evaluates an expression in the UI's **context** and returns the result. """ context = self._get_context(self.context) try: result = eval(when, globals(), context) except: from traitsui.api import raise_to_debug raise_to_debug() del context["ui"] return result def _get_context(self, context): """ Gets the context to use for evaluating an expression. """ name = "object" n = len(context) if (n == 2) and ("handler" in context): for name, value in context.items(): if name != "handler": break elif n == 1: name = list(context.keys())[0] value = context.get(name) if value is not None: context2 = value.trait_get() context2.update(context) else: context2 = context.copy() context2["ui"] = self return context2 def _evaluate_when(self): """ Set the 'visible', 'enabled', and 'checked' states for all Editors controlled by a 'visible_when', 'enabled_when' or 'checked_when' expression. """ self._do_evaluate_when(at_init=False) def _do_evaluate_when(self, at_init=False): """ Set the 'visible', 'enabled', and 'checked' states for all Editors. This function does the job of _evaluate_when. We define it here to work around the traits dispatching mechanism that automatically determines the number of arguments of a notification method. :attr:`at_init` is set to true when this function is called the first time at initialization. In that case, we want to force the state of the items to be set (normally it is set only if it changes). """ self._evaluate_condition(self._visible, "visible", at_init) self._evaluate_condition(self._enabled, "enabled", at_init) self._evaluate_condition(self._checked, "checked", at_init) def _evaluate_condition(self, conditions, trait, at_init=False): """ Evaluates a list of (eval, editor) pairs and sets a specified trait on each editor to reflect the Boolean value of the expression. 1) All conditions are evaluated 2) The elements whose condition evaluates to False are updated 3) The elements whose condition evaluates to True are updated E.g., we first make invisible all elements for which 'visible_when' evaluates to False, and then we make visible the ones for which 'visible_when' is True. This avoids mutually exclusive elements to be visible at the same time, and thus making a dialog unnecessarily large. The state of an editor is updated only when it changes, unless at_init is set to True. Parameters ---------- conditions : list of (str, Editor) tuple A list of tuples, each formed by 1) a string that contains a condition that evaluates to either True or False, and 2) the editor whose state depends on the condition trait : str The trait that is set by the condition. Either 'visible, 'enabled', or 'checked'. at_init : bool If False, the state of an editor is set only when it changes (e.g., a visible element would not be updated to visible=True again). If True, the state is always updated (used at initialization). """ context = self._get_context(self.context) # list of elements that should be activated activate = [] # list of elements that should be de-activated deactivate = [] for when, editor in conditions: try: cond_value = eval(when, globals(), context) editor_state = getattr(editor, trait) # add to update lists only if at_init is True (called on # initialization), or if the editor state has to change if cond_value and (at_init or not editor_state): activate.append(editor) if not cond_value and (at_init or editor_state): deactivate.append(editor) except Exception: # catch errors in the validate_when expression from traitsui.api import raise_to_debug raise_to_debug() # update the state of the editors for editor in deactivate: setattr(editor, trait, False) for editor in activate: setattr(editor, trait, True) def _get__groups(self): """ Returns the top-level Groups for the view (after resolving Includes. (Implements the **_groups** property.) """ if self._groups_cache is None: shadow_group = self.view.content.get_shadow(self) self._groups_cache = shadow_group.get_content() for item in self._groups_cache: if isinstance(item, Item): self._groups_cache = [ ShadowGroup( shadow=Group(*self._groups_cache), content=self._groups_cache, groups=1, ) ] break return self._groups_cache # -- Property Implementations --------------------------------------------- def _get_key_bindings(self): if self._key_bindings is None: # create a new key_bindings instance lazily view, context = self.view, self.context if (view is None) or (context is None): return None # Get the KeyBindings object to use: values = list(context.values()) key_bindings = view.key_bindings if key_bindings is None: from .key_bindings import KeyBindings self._key_bindings = KeyBindings(controllers=values) else: self._key_bindings = key_bindings.clone(controllers=values) return self._key_bindings # -- Traits Event Handlers ------------------------------------------------ def _errors_changed(self, name, old, new): if self.parent: self.parent.errors = self.parent.errors - old + new def _parent_changed(self, name, old, new): if old is not None: old.errors -= self.errors if new is not None: new.errors += self.errors def _updated_changed(self): if self.rebuild is not None: toolkit().rebuild_ui(self) def _title_changed(self): if self.control is not None: toolkit().set_title(self) def _icon_changed(self): if self.control is not None: toolkit().set_icon(self) @observe("parent, view, context") def _pvc_changed(self, event): parent = self.parent if (parent is not None) and (self.key_bindings is not None): # If we don't have our own history, use our parent's: if self.history is None: self.history = parent.history # Link our KeyBindings object as a child of our parent's # KeyBindings object (if any): if parent.key_bindings is not None: parent.key_bindings.children.append(self.key_bindings) class Dispatcher(object): def __init__(self, method, info, object, method_name): """ Initializes the object. """ self.method = method self.info = info self.object = object self.method_name = method_name object.on_trait_change(self.dispatch, method_name, dispatch="ui") def dispatch(self): """ Dispatches the method. """ self.method(self.info) def remove(self): """ Removes the dispatcher. """ self.object.on_trait_change( self.dispatch, self.method_name, remove=True ) traitsui-7.2.1/traitsui/tree_node_renderer.py0000644000076500000240000000474514046644454022071 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! from abc import abstractmethod from traits.api import ABCHasStrictTraits, Bool class AbstractTreeNodeRenderer(ABCHasStrictTraits): """ Abstract base class for renderers of tree node items. This is currently only supported for Qt. """ #: Whether the renderer handles rendering everything handles_all = Bool(False) #: Whether the renderer handles rendering any text handles_text = Bool(True) #: Whether the renderer handles rendering the icon or other decoration handles_icon = Bool(False) @abstractmethod def paint(self, node, column, object, paint_context): """ Render the node. Parameters ---------- node : ITreeNode instance The tree node to render. column : int The column in the tree that should be rendererd. object : object The underlying object being edited. paint_context : object A toolkit-dependent context for performing paint operations. Returns ------- size : tuple of (width, height) or None Optionally return a new preferred size so that the toolkit can perform better layout. """ raise NotImplementedError() @abstractmethod def size(self, node, column, object, size_context): """ Return the preferred size for the item Parameters ---------- node : ITreeNode instance The tree node to render. column : int The column in the tree that should be rendererd. object : object The underlying object being edited. size_context : object A toolkit-dependent context for performing sizing operations. Returns ------- size : tuple of (width, height) or None """ raise NotImplementedError() def get_label(self, node, object, column=0): """ Get the label associated with an item and column. """ if column == 0: return node.get_label(object) else: return node.get_column_labels(object)[column] traitsui-7.2.1/traitsui/editors/0000755000076500000240000000000014046644526017324 5ustar aayresstaff00000000000000traitsui-7.2.1/traitsui/editors/file_editor.py0000644000076500000240000000626114046644454022170 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! """ Defines the file editor factory for all traits toolkit backends. """ from traits.api import Bool, File, Int, List, Str from traitsui.editors.text_editor import TextEditor from traitsui.group import Group from traitsui.view import View # ------------------------------------------------------------------------- # Trait definitions: # ------------------------------------------------------------------------- #: Wildcard filter: filter_trait = List(Str) class FileEditor(TextEditor): """ Editor factory for file editors. """ # ------------------------------------------------------------------------- # Trait definitions: # ------------------------------------------------------------------------- #: Wildcard filter to apply to the file dialog: filter = filter_trait #: Optional extended trait name of the trait containing the list of #: filters: filter_name = Str() #: Should file extension be truncated? truncate_ext = Bool(False) #: Can the user select directories as well as files? allow_dir = Bool(False) #: Is user input set on every keystroke? (Overrides the default) ('simple' #: style only): auto_set = False #: Is user input set when the Enter key is pressed? (Overrides the default) #: ('simple' style only): enter_set = True #: The number of history entries to maintain: #: FIXME: This is currently only supported on wx. Qt support needs to be #: added entries = Int(10) #: The root path of the file tree view ('custom' style only, not supported #: under wx). If not specified, the filesystem root is used. root_path = File() #: Optional extend trait name of the trait containing the root path. root_path_name = Str() #: Optional extended trait name used to notify the editor when the file #: system view should be reloaded ('custom' style only): reload_name = Str() #: Optional extended trait name used to notify when the user double-clicks #: an entry in the file tree view. The associated path is assigned it: dclick_name = Str() #: The style of file dialog to use when the 'Browse...' button is clicked #: Should be one of 'open' or 'save' dialog_style = Str("open") # ------------------------------------------------------------------------- # Traits view definition: # ------------------------------------------------------------------------- traits_view = View( [ [ "", "truncate_ext{Automatically truncate file extension?}", "|options:[Options]>", ], ["filter", "|[Wildcard filters]<>"], ] ) extras = Group() # This alias is deprecated and will be removed in TraitsUI 8. ToolkitEditorFactory = FileEditor traitsui-7.2.1/traitsui/editors/list_str_editor.py0000644000076500000240000000673114046644454023116 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! """ Traits UI editor factory for editing lists of strings. """ from pyface.image_resource import ImageResource from traits.api import Any, Str, Enum, List, Bool, Instance, Property from traitsui.basic_editor_factory import BasicEditorFactory from traitsui.toolkit import toolkit_object # ------------------------------------------------------------------------- # 'ListStrEditor' editor factory class: # ------------------------------------------------------------------------- class ListStrEditor(BasicEditorFactory): """ Editor factory for list of string editors. """ # -- Trait Definitions ---------------------------------------------------- #: The editor class to be created: klass = Property() #: The optional extended name of the trait to synchronize the selection #: values with: selected = Str() #: The optional extended name of the trait to synchronize the selection #: indices with: selected_index = Str() #: The optional extended name of the trait to synchronize the activated #: value with: activated = Str() #: The optional extended name of the trait to synchronize the activated #: value's index with: activated_index = Str() #: The optional extended name of the trait to synchronize the right clicked #: value with: right_clicked = Str() #: The optional extended name of the trait to synchronize the right clicked #: value's index with: right_clicked_index = Str() #: Can the user edit the values? editable = Bool(True) #: Are multiple selected items allowed? multi_select = Bool(False) #: Should horizontal lines be drawn between items? horizontal_lines = Bool(False) #: The title for the editor: title = Str() #: The optional extended name of the trait containing the editor title: title_name = Str() #: Should a new item automatically be added to the end of the list to allow #: the user to create new entries? auto_add = Bool(False) #: The adapter from list items to editor values: adapter = Instance("traitsui.list_str_adapter.ListStrAdapter", ()) #: The optional extended name of the trait containing the adapter: adapter_name = Str() #: What type of operations are allowed on the list: operations = List( Enum("delete", "insert", "append", "edit", "move"), ["delete", "insert", "append", "edit", "move"], ) #: Are 'drag_move' operations allowed (i.e. True), or should they always be #: treated as 'drag_copy' operations (i.e. False): drag_move = Bool(False) #: The set of images that can be used: images = List(ImageResource) #: Right-click context menu (Qt4 only). The value can be one of: #: #: - Instance( Menu ): Use this menu as the context menu #: - string: Name of traits that will provide menu #: - None: Use the default context menu #: - False: Do not display a context menu menu = Any() def _get_klass(self): """ Returns the editor class to be created. """ return toolkit_object("list_str_editor:_ListStrEditor") traitsui-7.2.1/traitsui/editors/array_editor.py0000644000076500000240000001671314046644454022372 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! """ Defines the array editor factory for all traits toolkit backends. """ import numpy from traits.api import Bool, HasTraits, Int, Float, Instance, TraitError from traitsui.editor import Editor from traitsui.editor_factory import EditorFactory from traitsui.group import Group from traitsui.item import Item from traitsui.view import View class ArrayEditor(EditorFactory): """ Editor factory for array editors. """ # ------------------------------------------------------------------------- # Trait definitions: # ------------------------------------------------------------------------- #: Width of the individual fields width = Int(-80) #: Is user input set on every keystroke? auto_set = Bool(True) #: Is user input set when the Enter key is pressed? enter_set = Bool(False) class ArrayStructure(HasTraits): # ------------------------------------------------------------------------- # Trait definitions: # ------------------------------------------------------------------------- #: Editor that this structure is linked to editor = Instance(Editor) #: The constructed View for the array view = Instance(View) def __init__(self, editor): """ Initializes the object. """ # Save the reference to the editor: self.editor = editor # Set up the field width for each item: width = editor.factory.width # Set up the correct style for each filed: style = "simple" if editor.readonly: style = "readonly" # Get the array we are mirroring: object = editor.value # Determine the correct trait type to use for each element: trait = Float() if object.dtype.type == "i": trait = Int() if len(object.shape) == 1: self.view = self._one_dim_view(object, style, width, trait) elif len(object.shape) == 2: self.view = self._two_dim_view(object, style, width, trait) else: raise TraitError("Only 1D or 2D arrays supported") # ------------------------------------------------------------------------- # 1D view: # ------------------------------------------------------------------------- def _one_dim_view(self, object, style, width, trait): content = [] shape = object.shape items = [] format_func = self.editor.factory.format_func format_str = self.editor.factory.format_str for i in range(shape[0]): name = "f%d" % i self.add_trait( name, trait( object[i], event="field", auto_set=self.editor.factory.auto_set, enter_set=self.editor.factory.enter_set, ), ) items.append( Item( name=name, style=style, width=width, format_func=format_func, format_str=format_str, padding=-3, ) ) group = Group(orientation="horizontal", show_labels=False, *items) content.append(group) return View(Group(show_labels=False, *content)) # ------------------------------------------------------------------------- # 2D view: # ------------------------------------------------------------------------- def _two_dim_view(self, object, style, width, trait): content = [] shape = object.shape format_func = self.editor.factory.format_func format_str = self.editor.factory.format_str for i in range(shape[0]): items = [] for j in range(shape[1]): name = "f%d_%d" % (i, j) self.add_trait( name, trait( object[i, j], event="field", auto_set=self.editor.factory.auto_set, enter_set=self.editor.factory.enter_set, ), ) items.append( Item( name=name, style=style, width=width, format_func=format_func, format_str=format_str, padding=-3, ) ) group = Group(orientation="horizontal", show_labels=False, *items) content.append(group) return View(Group(show_labels=False, *content)) def _field_changed(self): """ Updates the underlying array when any field changes value. """ if not self.editor._busy: # Get the array we are mirroring: object = self.editor.value shape = object.shape value = numpy.zeros(shape, object.dtype) # 1D if len(shape) == 1: for i in range(shape[0]): value[i] = getattr(self, "f%d" % i) # 2D elif len(shape) == 2: for i in range(shape[0]): for j in range(shape[1]): value[i, j] = getattr(self, "f%d_%d" % (i, j)) self.editor.update_array(value) # ------------------------------------------------------------------------- # Toolkit-independent 'SimpleEditor' class: # ------------------------------------------------------------------------- class SimpleEditor(Editor): """ Simple style of editor for arrays. """ # ------------------------------------------------------------------------- # Trait definitions: # ------------------------------------------------------------------------- #: Is the editor read-only? readonly = Bool(False) def init(self, parent): """ Finishes initializing the editor by creating the underlying toolkit widget. """ self._as = _as = ArrayStructure(self) ui = _as.view.ui(_as, parent, kind="subpanel") ui.parent = self.ui self.control = ui.control def update_editor(self): """ Updates the editor when the object trait changes externally to the editor. """ if not self._busy: self._busy = True object = self.value shape = object.shape _as = self._as # 1D if len(shape) == 1: for i in range(shape[0]): setattr(_as, "f%d" % i, object[i]) # 2D elif len(shape) == 2: for i in range(shape[0]): for j in range(shape[1]): setattr(_as, "f%d_%d" % (i, j), object[i, j]) self._busy = False def update_array(self, value): """ Updates the array value associated with the editor. """ self._busy = True self.value = value self._busy = False # This alias is deprecated and will be removed in TraitsUI 8. ToolkitEditorFactory = ArrayEditor traitsui-7.2.1/traitsui/editors/instance_editor.py0000644000076500000240000000624214046644454023054 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! """ Defines the instance editor factory for all traits user interface toolkits. """ from traits.api import Bool, Enum, List, Str, Type from traitsui.editor_factory import EditorFactory from traitsui.instance_choice import InstanceChoice, InstanceChoiceItem from traitsui.ui_traits import AView from traitsui.view import View, AKind class InstanceEditor(EditorFactory): """ Editor factory for instance editors. """ # ------------------------------------------------------------------------- # Trait definitions: # ------------------------------------------------------------------------- #: List of items describing the types of selectable or editable instances values = List(InstanceChoiceItem) #: Extended name of the context object trait containing the list of types #: of selectable or editable instances name = Str() #: Is the current value of the object trait editable (vs. merely #: selectable)? editable = Bool(True) #: Should the object trait value be selectable from a list of objects (a #: value of True forces a selection list to be displayed, while a value of #: False displays a selection list only if at least one object in the list #: of possible object values is selectable): selectable = Bool(False) #: Should the editor support drag and drop of objects to set the trait #: value (a value of True forces the editor to allow drag and drop, while #: a value of False only supports drag and drop if at least one item in the #: list of possible objects supports drag and drop): droppable = Bool(False) #: Should factory-created objects be cached? cachable = Bool(True) #: Optional label for button label = Str() #: Optional instance view to use view = AView #: Extended name of the context object trait containing the view, or name #: of the view, to use view_name = Str() #: The ID to use with the view id = Str() #: Kind of pop-up editor (live, modal, nonmodal, wizard) kind = AKind #: The orientation of the instance editor relative to the instance selector orientation = Enum("default", "horizontal", "vertical") #: The default adapter class used to create InstanceChoice compatible #: adapters for instance objects: adapter = Type(InstanceChoice, allow_none=False) # ------------------------------------------------------------------------- # Traits view definitions: # ------------------------------------------------------------------------- traits_view = View( [ ["label{Button label}", "view{View name}", "|[]"], ["kind@", "|[Pop-up editor style]<>"], ] ) # This alias is deprecated and will be removed in TraitsUI 8. ToolkitEditorFactory = InstanceEditor traitsui-7.2.1/traitsui/editors/search_editor.py0000644000076500000240000000310414046644454022507 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! """ A single line text widget that supports functionality common to native search widgets. """ from traits.api import Bool, Property, Str from traitsui.basic_editor_factory import BasicEditorFactory from traitsui.toolkit import toolkit_object class SearchEditor(BasicEditorFactory): """ A single line text widget that supports functionality common to native search widgets. """ #: The editor class to be created: klass = Property() #: The descriptive text for the widget text = Str("Search") #: Is user input set on every keystroke? auto_set = Bool(True) #: Is user input set when the Enter key is pressed? enter_set = Bool(False) #: Whether to show a search button on the widget search_button = Bool(True) #: Whether to show a cancel button on the widget cancel_button = Bool(False) #: Fire this event on the object whenever a search should be triggered, #: regardless of whether the search term changed search_event_trait = Str() def _get_klass(self): """ Returns the toolkit-specific editor class to be instantiated. """ return toolkit_object("search_editor:SearchEditor") traitsui-7.2.1/traitsui/editors/title_editor.py0000644000076500000240000000244114046644454022366 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! """ Defines the title editor factory for all traits toolkit backends. """ from traits.api import Bool from traitsui.editor_factory import EditorFactory from traitsui.toolkit import toolkit_object class TitleEditor(EditorFactory): """ Editor factory for Title editors. """ allow_selection = Bool(False) def _get_simple_editor_class(self): """ Returns the editor class to use for "simple" style views. The default implementation tries to import the SimpleEditor class in the editor file in the backend package, and if such a class is not to found it returns the SimpleEditor class defined in editor_factory module in the backend package. """ SimpleEditor = toolkit_object("title_editor:SimpleEditor") return SimpleEditor # This alias is deprecated and will be removed in TraitsUI 8. ToolkitEditorFactory = TitleEditor traitsui-7.2.1/traitsui/editors/custom_editor.py0000644000076500000240000000305514046644454022561 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! """ Defines the editor factory used to wrap a non-Traits based custom control. """ from traits.api import Callable, Tuple, Property from traitsui.basic_editor_factory import BasicEditorFactory from traitsui.toolkit import toolkit_object class CustomEditor(BasicEditorFactory): """ Editor factory for custom editors. """ #: Editor class to be instantiated. klass = Property() #: Factory function used to create the custom control factory = Callable() #: Arguments to be passed to the user's custom editor factory args = Tuple() def __init__(self, *args, **traits): if len(args) >= 1: self.factory = args[0] self.args = args[1:] super().__init__(**traits) # ------------------------------------------------------------------------- # Property getters # ------------------------------------------------------------------------- def _get_klass(self): """ Returns the editor class to be created. """ return toolkit_object("custom_editor:CustomEditor") # This alias is deprecated and will be removed in TraitsUI 8. ToolkitEditorFactory = CustomEditor traitsui-7.2.1/traitsui/editors/image_enum_editor.py0000644000076500000240000000506214046644454023355 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! """ Defines the image enumeration editor factory for all traits user interface toolkits. """ from os import getcwd from os.path import join, dirname, exists import sys from traits.api import Module, Type, Str, observe from traitsui.editors.enum_editor import EnumEditor class ImageEnumEditor(EnumEditor): """ Editor factory for image enumeration editors. """ # ------------------------------------------------------------------------- # Trait definitions: # ------------------------------------------------------------------------- #: Prefix to add to values to form image names: prefix = Str() #: Suffix to add to values to form image names: suffix = Str() #: Path to use to locate image files: path = Str() #: Class used to derive the path to the image files: klass = Type() #: Module used to derive the path to the image files: module = Module def init(self): """ Performs any initialization needed after all constructor traits have been set. """ super().init() self._update_path() @observe("path, klass, module") def _update_path(self, event=None): """ Handles one of the items defining the path being updated. """ if self.path != "": self._image_path = self.path elif self.klass is not None: module = self.klass.__module__ if module == "___main___": module = "__main__" try: self._image_path = join( dirname(sys.modules[module].__file__), "images" ) except: self._image_path = self.path dirs = [ join(dirname(sys.argv[0]), "images"), join(getcwd(), "images"), ] for d in dirs: if exists(d): self._image_path = d break elif self.module is not None: self._image_path = join(dirname(self.module.__file__), "images") # This alias is deprecated and will be removed in TraitsUI 8. ToolkitEditorFactory = ImageEnumEditor traitsui-7.2.1/traitsui/editors/color_editor.py0000644000076500000240000000461514046644454022370 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! """ Defines the color editor factory for the all traits toolkit backends. """ from traits.api import Bool from traitsui.editor_factory import EditorFactory from traitsui.toolkit import toolkit_object from traitsui.view import View # ------------------------------------------------------------------------- # 'ToolkitEditorFactory' class: # ------------------------------------------------------------------------- class ToolkitEditorFactory(EditorFactory): """ Editor factory for color editors. """ # ------------------------------------------------------------------------- # Trait definitions: # ------------------------------------------------------------------------- #: Is the underlying color trait mapped? mapped = Bool(True) #: Do we use a native dialog for the popup or the toolkit's? #: At present, only affects Qt. use_native_dialog = Bool(True) # ------------------------------------------------------------------------- # Traits view definition: # ------------------------------------------------------------------------- traits_view = View(["mapped{Is value mapped?}", "|[]>"]) # Define the ColorEditor class # The function will try to return the toolkit-specific editor factory (located # in traitsui..color_editor, and if none is found, the # ToolkitEditorFactory declared here is returned. def ColorEditor(*args, **traits): r""" Returns an instance of the toolkit-specific editor factory declared in traitsui..color_editor. If such an editor factory cannot be located, an instance of the abstract ToolkitEditorFactory declared in traitsui.editors.color_editor is returned. Parameters ---------- \*args, \*\*traits arguments and keywords to be passed on to the editor factory's constructor. """ try: return toolkit_object("color_editor:ToolkitEditorFactory", True)( *args, **traits ) except: return ToolkitEditorFactory(*args, **traits) traitsui-7.2.1/traitsui/editors/video_editor.py0000644000076500000240000000655514046644454022365 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! """Traits UI 'display only' video editor.""" from traits.api import Bool, Callable, Enum, Float, Instance, Property, Range from traitsui.context_value import ContextValue, CVType from traitsui.basic_editor_factory import BasicEditorFactory from traitsui.toolkit import toolkit_object AspectRatio = Enum('keep', 'ignore', 'expand') PlayerState = Enum('stopped', 'playing', 'paused') MediaStatus = Enum( 'unknown', 'no_media', 'loading', 'loaded', 'stalled', 'buffering', 'buffered', 'end', 'invalid', ) class VideoEditor(BasicEditorFactory): """Traits UI 'display only' video editor. This editor only displays the video stream, and does not attempt to provide UI elements for controlling playback. It does provide a rich set of trait references that can be synchronised with the internal state of the video player. """ #: The editor class to be created: klass = Property() #: The behaviour of the video display when the widget aspect ratio #: doesn't match the aspect ratio of the video stream. aspect_ratio = AspectRatio() #: True if the audio is muted, False otherwise muted = CVType(Bool, default=False, sync_value='from') #: Audio volume on a logarithmic scale volume = CVType(Range(0.0, 100.0), default=75.0, sync_value='from') #: The playback speed of the video. Negative values are allowed but may not #: be supported by the underlying implementation. playback_rate = CVType(Float, default=1.0, sync_value='from') #: The state (stopped, playing, paused) of the player state = CVType(PlayerState, default='stopped', sync_value='both') #: The current position, in seconds, in the video. position = CVType(Float, default=0.0, sync_value='both') #: Duration of the loaded video in seconds duration = Instance(ContextValue, args=('',), allow_none=False, sync_value='to') #: The status of the loaded video (see ``MediaStatus``) media_status = Instance(ContextValue, args=('',), allow_none=False, sync_value='to') #: An integer percentage representing how much of the player's buffer #: is filled. buffer = Instance(ContextValue, args=('',), allow_none=False, sync_value='to') #: A string describing an error encountered by the player video_error = Instance(ContextValue, args=('',), allow_none=False, sync_value='to') #: Callable to apply to video frames. Takes ref to new frame and a size #: tuple. Must return a QImage and a numpy array. image_func = CVType(Callable, sync_value='from') #: The name of a trait to synchronise with the player's notify interval. #: The referenced trait should be a Float representing time in seconds. notify_interval = CVType(Float, default=1.0, sync_value='from') def _get_klass(self): """ Returns the editor class to be instantiated. """ return toolkit_object('video_editor:VideoEditor') traitsui-7.2.1/traitsui/editors/null_editor.py0000644000076500000240000000174014046644454022220 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! """ Defines a completely empty editor, intended to be used as a spacer. """ from traitsui.basic_editor_factory import BasicEditorFactory from traitsui.toolkit import toolkit_object # Callable which returns the editor to use in the ui. def null_editor(*args, **traits): return toolkit_object("null_editor:NullEditor")(*args, **traits) # ------------------------------------------------------------------------- # Create the editor factory object: # ------------------------------------------------------------------------- NullEditor = BasicEditorFactory(klass=null_editor) traitsui-7.2.1/traitsui/editors/shell_editor.py0000644000076500000240000001533714046644454022364 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! """ Editor that displays an interactive Python shell. """ from traits.api import Bool, Str, Event, Property from traitsui.basic_editor_factory import BasicEditorFactory from traitsui.editor import Editor from traitsui.toolkit import toolkit_object class _ShellEditor(Editor): """ Base class for an editor that displays an interactive Python shell. """ #: An event fired to execute a command in the shell. command_to_execute = Event() #: An event fired whenver the user executes a command in the shell: command_executed = Event(Bool) #: Is the shell editor is scrollable? This value overrides the default. scrollable = True # ------------------------------------------------------------------------- # 'Editor' Interface # ------------------------------------------------------------------------- def init(self, parent): """ Finishes initializing the editor by creating the underlying toolkit widget. """ # Moving the import here, since PythonShell is implemented in the # Pyface backend packages, and we want to delay loading this toolkit # specific class until this editor is actually used. from pyface.python_shell import PythonShell locals = None value = self.value if self.factory.share and isinstance(value, dict): locals = value self._shell = shell = PythonShell(parent, locals=locals) self.control = shell.control if locals is None: object = self.object shell.bind("self", object) shell.on_trait_change( self.update_object, "command_executed", dispatch="ui" ) if not isinstance(value, dict): object.on_trait_change(self.update_any, dispatch="ui") else: self._base_locals = locals = {} for name in self._shell.interpreter().locals.keys(): locals[name] = None # Synchronize any editor events: self.sync_value( self.factory.command_to_execute, "command_to_execute", "from" ) self.sync_value( self.factory.command_executed, "command_executed", "to" ) self.set_tooltip() def update_object(self, event): """ Handles the user entering input data in the edit control. """ locals = self._shell.interpreter().locals base_locals = self._base_locals if base_locals is None: object = self.object for name in object.trait_names(): if name in locals: try: setattr(object, name, locals[name]) except: pass else: dic = self.value for name in locals.keys(): if name not in base_locals: try: dic[name] = locals[name] except: pass self.command_executed = True def update_editor(self): """ Updates the editor when the object trait changes externally to the editor. """ if self.factory.share: value = self.value if isinstance(value, dict): self._shell.interpreter().locals = value else: locals = self._shell.interpreter().locals base_locals = self._base_locals if base_locals is None: object = self.object for name in object.trait_names(): locals[name] = getattr(object, name, None) else: dic = self.value for name, value in dic.items(): locals[name] = value def update_any(self, object, name, old, new): """ Updates the editor when the object trait changes externally to the editor. """ locals = self._shell.interpreter().locals if self._base_locals is None: locals[name] = new else: self.value[name] = new def dispose(self): """ Disposes of the contents of an editor. """ self._shell.on_trait_change( self.update_object, "command_executed", remove=True ) if self._base_locals is None: self.object.on_trait_change(self.update_any, remove=True) super().dispose() def restore_prefs(self, prefs): """ Restores any saved user preference information associated with the editor. """ shell = self._shell try: history = prefs.get("history", []) history_index = prefs.get("history_index", -1) shell.set_history(history, history_index) except: pass def save_prefs(self): """ Returns any user preference information associated with the editor. """ history, history_index = self._shell.get_history() return {"history": history, "history_index": history_index} # ------------------------------------------------------------------------- # Private Interface # ------------------------------------------------------------------------- # Trait change handlers -------------------------------------------------- def _command_to_execute_fired(self, command): """ Handles the 'command_to_execute' trait being fired. """ # Show the command. A 'hidden' command should be executed directly on # the namespace trait! self._shell.execute_command(command, hidden=False) class ShellEditor(BasicEditorFactory): """ Editor factory for shell editors. """ #: The editor class to be instantiated. klass = Property() #: Should the shell interpreter use the object value's dictionary? share = Bool(False) #: Extended trait name of the object event trait which triggers a command #: execution in the shell when fired. command_to_execute = Str() #: Extended trait name of the object event trait which is fired when a #: command is executed. command_executed = Str() def _get_klass(self): """ Returns the toolkit-specific editor class to be used in the UI. """ return toolkit_object("shell_editor:_ShellEditor") # This alias is deprecated and will be removed in TraitsUI 8. ToolkitEditorFactory = ShellEditor traitsui-7.2.1/traitsui/editors/__init__.py0000644000076500000240000000250714046644454021441 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! # Adding this statement for backwards compatibility (since editors.py was a # file prior to version 3.0.3). try: from .api import ArrayEditor except ImportError: pass from .api import ( toolkit, BooleanEditor, ButtonEditor, CheckListEditor, CodeEditor, ColorEditor, CompoundEditor, CustomEditor, DateEditor, DatetimeEditor, DefaultOverride, DirectoryEditor, DNDEditor, DropEditor, EnumEditor, FileEditor, FontEditor, KeyBindingEditor, ImageEditor, ImageEnumEditor, InstanceEditor, ListEditor, ListStrEditor, NullEditor, RangeEditor, RGBColorEditor, SetEditor, TextEditor, TableEditor, TimeEditor, TitleEditor, TreeEditor, TupleEditor, HistoryEditor, HTMLEditor, PopupEditor, ValueEditor, ShellEditor, ScrubberEditor, TabularEditor, ProgressEditor, SearchEditor, ) traitsui-7.2.1/traitsui/editors/html_editor.py0000644000076500000240000001147314046644454022216 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! """ Defines the HTML editor factory. HTML editors interpret and display HTML-formatted text, but do not modify it. """ from traits.api import Bool, Str from traitsui.basic_editor_factory import BasicEditorFactory from traitsui.toolkit import toolkit_object # Callable that returns the editor to use in the UI. def html_editor(*args, **traits): return toolkit_object("html_editor:SimpleEditor")(*args, **traits) # Template used to create code blocks embedded in the module comment block_template = """
%s
""" # Template used to create lists embedded in the module comment list_template = """<%s> %s """ # ------------------------------------------------------------------------------ # 'ToolkitEditorFactory' class: # ------------------------------------------------------------------------------ class ToolkitEditorFactory(BasicEditorFactory): """ Editor factory for HTML editors. """ # -------------------------------------------------------------------------- # Trait definitions: # -------------------------------------------------------------------------- #: Should implicit text formatting be converted to HTML? format_text = Bool(False) #: External objects referenced in the HTML are relative to this url base_url = Str() #: The object trait containing the base URL base_url_name = Str() #: Should links be opened in an external browser? open_externally = Bool(False) def parse_text(self, text): """ Parses the contents of a formatted text string into the corresponding HTML. """ text = text.replace("\r\n", "\n") lines = [("." + line).strip()[1:] for line in text.split("\n")] ind = min( *( [self.indent(line) for line in lines if line != ""] + [1000, 1000] ) ) if ind >= 1000: ind = 0 lines = [line[ind:] for line in lines] new_lines = [] i = 0 n = len(lines) while i < n: line = lines[i] m = self.indent(line) if m > 0: if line[m] in "-*": i, line = self.parse_list(lines, i) else: i, line = self.parse_block(lines, i) new_lines.append(line) else: new_lines.append(line) i += 1 text = "\n".join(new_lines) paragraphs = [p.strip() for p in text.split("\n\n")] for i, paragraph in enumerate(paragraphs): if paragraph[:3].lower() != "

": paragraphs[i] = "

%s

" % paragraph return "\n".join(paragraphs) def parse_block(self, lines, i): """ Parses a code block. """ m = 1000 n = len(lines) j = i while j < n: line = lines[j] if line != "": k = self.indent(line) if k == 0: break m = min(m, k) j += 1 j -= 1 while (j > i) and (lines[j] == ""): j -= 1 j += 1 temp = [ ((" " * (self.indent(line) - m)) + line.strip()) for line in lines[i:j] ] return (j, block_template % "\n
".join(temp)) def parse_list(self, lines, i): """ Parses a list. """ line = lines[i] m = self.indent(line) kind = line[m] result = ["
  • " + line[m + 1:].strip()] n = len(lines) j = i + 1 while j < n: line = lines[j] k = self.indent(line) if k < m: break if k == m: if line[k] != kind: break result.append("
  • " + line[k + 1:].strip()) j += 1 elif line[k] in "-*": j, line = self.parse_list(lines, j) result.append(line) else: result.append(line.strip()) j += 1 style = ["ul", "ol"][kind == "*"] return (j, list_template % (style, "\n".join(result), style)) def indent(self, line): """ Calculates the amount of white space at the beginning of a line. """ return len(line) - len((line + ".").strip()) + 1 HTMLEditor = ToolkitEditorFactory(klass=html_editor) traitsui-7.2.1/traitsui/editors/dnd_editor.py0000644000076500000240000000237414046644454022017 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! """ Defines the editor factory for a drag-and-drop editor. A drag-and-drop editor represents its value as a simple image which, depending upon the editor style, can be a drag source only, a drop target only, or both a drag source and a drop target. """ from pyface.ui_traits import Image from traitsui.editor_factory import EditorFactory class DNDEditor(EditorFactory): """ Editor factory for drag-and-drop editors. """ # ------------------------------------------------------------------------- # Trait definitions: # ------------------------------------------------------------------------- #: The image to use for the target: image = Image #: The image to use when the target is disabled: disabled_image = Image # This alias is deprecated and will be removed in TraitsUI 8. ToolkitEditorFactory = DNDEditor traitsui-7.2.1/traitsui/editors/tree_editor.py0000644000076500000240000001370714046644454022213 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! """ Defines the tree editor factory for all traits user interface toolkits. """ from traits.api import Any, Dict, Bool, Tuple, Int, List, Instance, Str, Enum from traitsui.dock_window_theme import DockWindowTheme from traitsui.editor_factory import EditorFactory from traitsui.helper import Orientation from traitsui.menu import Action from traitsui.tree_node import TreeNode # ------------------------------------------------------------------------- # Trait definitions: # ------------------------------------------------------------------------- #: Size of each tree node icon IconSize = Tuple((16, 16), Int, Int) # ------------------------------------------------------------------------- # The core tree node menu actions: # ------------------------------------------------------------------------- NewAction = "NewAction" CopyAction = Action( name="Copy", action="editor._menu_copy_node", enabled_when="editor._is_copyable(object)", ) CutAction = Action( name="Cut", action="editor._menu_cut_node", enabled_when="editor._is_cutable(object)", ) PasteAction = Action( name="Paste", action="editor._menu_paste_node", enabled_when="editor._is_pasteable(object)", ) DeleteAction = Action( name="Delete", action="editor._menu_delete_node", enabled_when="editor._is_deletable(object)", ) RenameAction = Action( name="Rename", action="editor._menu_rename_node", enabled_when="editor._is_renameable(object)", ) class TreeEditor(EditorFactory): """ Editor factory for tree editors. """ # ------------------------------------------------------------------------- # Trait definitions: # ------------------------------------------------------------------------- #: Supported TreeNode objects nodes = List(TreeNode) #: Mapping from TreeNode tuples to MultiTreeNodes multi_nodes = Dict() #: The column header labels if any. column_headers = List(Str) #: Are the individual nodes editable? editable = Bool(True) #: Selection mode. selection_mode = Enum("single", "extended") #: Is the editor shared across trees? shared_editor = Bool(False) #: Reference to a shared object editor editor = Instance(EditorFactory) # FIXME: Implemented only in wx backend. #: The DockWindow graphical theme dock_theme = Instance(DockWindowTheme) #: Show icons for tree nodes? show_icons = Bool(True) #: Hide the tree root node? hide_root = Bool(False) #: Layout orientation of the tree and the editor orientation = Orientation #: Number of tree levels (down from the root) that should be automatically #: opened auto_open = Int() #: Size of the tree node icons icon_size = IconSize #: Called when a node is selected on_select = Any() #: Called when a node is clicked on_click = Any() #: Called when a node is double-clicked on_dclick = Any() #: Called when a node is activated on_activated = Any() #: Call when the mouse hovers over a node on_hover = Any() #: The optional extended trait name of the trait to synchronize with the #: editor's current selection: selected = Str() #: The optional extended trait name of the trait that should be assigned #: a node object when a tree node is activated, by double-clicking or #: pressing the Enter key when a node has focus (Note: if you want to #: receive repeated activated events on the same node, make sure the trait #: is defined as an Event): activated = Str() #: The optional extended trait name of the trait that should be assigned #: a node object when a tree node is clicked on (Note: If you want to #: receive repeated clicks on the same node, make sure the trait is defined #: as an Event): click = Str() #: The optional extended trait name of the trait that should be assigned #: a node object when a tree node is double-clicked on (Note: if you want #: to receive repeated double-clicks on the same node, make sure the trait #: is defined as an Event): dclick = Str() #: The optional extended trait name of the trait event that is fired #: whenever the application wishes to veto a tree action in progress (e.g. #: double-clicking a non-leaf tree node normally opens or closes the node, #: but if you are handling the double-click event in your program, you may #: wish to veto the open or close operation). Be sure to fire the veto #: event in the event handler triggered by the operation (e.g. the 'dclick' #: event handler. veto = Str() #: The optional extended trait name of the trait event that is fired when #: the application wishes the currently visible portion of the tree widget #: to repaint itself. refresh = Str() #: Mode for lines connecting tree nodes #: #: * 'appearance': Show lines only when they look good. #: * 'on': Always show lines. #: * 'off': Don't show lines. lines_mode = Enum("appearance", "on", "off") # FIXME: Document as unimplemented or wx specific. #: Whether to alternate row colors or not. alternating_row_colors = Bool(False) #: Any extra vertical padding to add. vertical_padding = Int(0) #: Whether or not to expand on a double-click. expands_on_dclick = Bool(True) #: Whether the labels should be wrapped around, if not an ellipsis is shown #: This works only in the qt backend and if there is only one column in #: tree word_wrap = Bool(False) # This alias is deprecated and will be removed in TraitsUI 8. ToolkitEditorFactory = TreeEditor traitsui-7.2.1/traitsui/editors/rgb_color_editor.py0000644000076500000240000000363514046644454023223 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! """ Defines a subclass of the base color editor factory, for colors that are represented as tuples of the form ( *red*, *green*, *blue* ), where *red*, *green* and *blue* are floats in the range from 0.0 to 1.0. """ from traitsui.editors.color_editor import ToolkitEditorFactory as EditorFactory from traitsui.toolkit import toolkit_object # ------------------------------------------------------------------------- # 'ToolkitEditorFactory' class: # ------------------------------------------------------------------------- class ToolkitEditorFactory(EditorFactory): """ Factory for editors for RGB colors. """ pass # Define the RGBColorEditor class # The function will try to return the toolkit-specific editor factory (located # in traitsui..rgb_color_editor, and if none is found, the # ToolkitEditorFactory declared here is returned. def RGBColorEditor(*args, **traits): r""" Returns an instance of the toolkit-specific editor factory declared in traitsui..rgb_color_editor. If such an editor factory cannot be located, an instance of the abstract ToolkitEditorFactory declared in traitsui.editors.rgb_color_editor is returned. Parameters ---------- \*args, \*\*traits arguments and keywords to be passed on to the editor factory's constructor. """ try: return toolkit_object("rgb_color_editor:ToolkitEditorFactory", True)( *args, **traits ) except: return ToolkitEditorFactory(*args, **traits) traitsui-7.2.1/traitsui/editors/list_editor.py0000644000076500000240000001523014046644454022220 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! """ Defines the list editor factory for the traits user interface toolkits.. """ from traits.api import ( Any, BaseTraitHandler, Bool, Callable, Dict, Enum, HasTraits, Instance, Int, Property, PrototypedFrom, Range, Str, Tuple, ) from traitsui.editor_factory import EditorFactory from traitsui.helper import DockStyle from traitsui.item import Item from traitsui.toolkit import toolkit_object from traitsui.ui_traits import style_trait, AView from traitsui.view import View # ------------------------------------------------------------------------- # Trait definitions: # ------------------------------------------------------------------------- #: Trait whose value is a BaseTraitHandler object handler_trait = Instance(BaseTraitHandler) #: The visible number of rows displayed rows_trait = Range(1, 50, 5, desc="the number of list rows to display") #: The visible number of columns displayed columns_trait = Range(1, 10, 1, desc="the number of list columns to display") editor_trait = Instance(EditorFactory) class ListEditor(EditorFactory): """ Editor factory for list editors. """ # ------------------------------------------------------------------------- # Trait definitions: # ------------------------------------------------------------------------- #: The editor to use for each list item: editor = editor_trait #: Can the list be reorganized, or have items added and deleted. mutable = Bool(True) #: Should the scrollbars be displayed if the list is too long. scrollable = Bool(True, sync_value=True) #: The style of editor to use for each item: style = style_trait #: The trait handler for each list item: trait_handler = handler_trait #: The number of list rows to display: rows = rows_trait #: The number of list columns to create: columns = columns_trait #: Use a notebook for a custom view? use_notebook = Bool(False) #: Show a right-click context menu for the notebook tabs? (Qt only) show_notebook_menu = Bool(False) #: Factory that will be called to create and add a new element to this #: list. If None, the default value for the trait of interest is used. item_factory = Callable() #: Tuple of positional arguments to be passed to the default factory #: callable when creating new elements item_factory_args = Tuple() #: Dictionary of keyword arguments to be passed to the default factory #: callable when creating new elements item_factory_kwargs = Dict() # -- Notebook Specific Traits --------------------------------------------- #: Are notebook items deletable? deletable = Bool(False) #: The extended name of the trait on each page object which should be used #: to determine whether or not an individual page should be deletable. deletable_trait = Str() #: FIXME: Currently, this trait is used only in the wx backend. #: The DockWindow graphical theme dock_theme = Any() #: FIXME: Currently, this trait is used only in the wx backend. #: Dock page style to use for each DockControl: dock_style = DockStyle #: Export class for each item in a notebook: export = Str() #: Name of the view to use in notebook mode: view = AView #: The type of UI to construct ('panel', 'subpanel', etc) ui_kind = Enum("subpanel", "panel") #: A factory function that can be used to define that actual object to be #: edited (i.e. view_object = factory( object )): factory = Callable() #: Extended name to use for each notebook page. It can be either the actual #: name or the name of an attribute on the object in the form: #: '.name[.name...]' page_name = Str() #: Name of the [object.]trait[.trait...] to synchronize notebook page #: selection with: selected = Str() # ------------------------------------------------------------------------- # Traits view definition: # ------------------------------------------------------------------------- traits_view = View( [ ["use_notebook{Use a notebook in a custom view}", "|[Style]"], [ Item("page_name", enabled_when="object.use_notebook"), Item("view", enabled_when="object.use_notebook"), "|[Notebook options]", ], [ Item("rows", enabled_when="not object.use_notebook"), "|[Number of list rows to display]<>", ], ] ) # ------------------------------------------------------------------------- # 'Editor' factory methods: # ------------------------------------------------------------------------- def _get_custom_editor_class(self): if self.use_notebook: return toolkit_object("list_editor:NotebookEditor") return toolkit_object("list_editor:CustomEditor") # ------------------------------------------------------------------------- # 'ListItemProxy' class: # This class is used to update the list editors when the object changes # external to the editor. # ------------------------------------------------------------------------- class ListItemProxy(HasTraits): #: The list proxy: list = Property() #: The item proxies index into the original list: index = Int() #: Delegate all other traits to the original object: _ = PrototypedFrom("_zzz_object") #: Define all of the private internal use values (the funny names are an #: attempt to avoid name collisions with delegated trait names): _zzz_inited = Any() _zzz_object = Any() _zzz_name = Any() def __init__(self, object, name, index, trait, value): super().__init__() self._zzz_inited = False self._zzz_object = object self._zzz_name = name self.index = index if trait is not None: self.add_trait("value", trait) self.value = value self._zzz_inited = self.index < len(self.list) def _get_list(self): return getattr(self._zzz_object, self._zzz_name) def _value_changed(self, old_value, new_value): if self._zzz_inited: self.list[self.index] = new_value # This alias is deprecated and will be removed in TraitsUI 8. ToolkitEditorFactory = ListEditor traitsui-7.2.1/traitsui/editors/tuple_editor.py0000644000076500000240000001351614046644454022403 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! """ Defines the tuple editor factory for all traits user interface toolkits. """ from traits.api import ( BaseTuple, Bool, HasTraits, List, Str, Int, Any, TraitType, ) from traits.trait_base import SequenceTypes from traitsui.editor import Editor from traitsui.editor_factory import EditorFactory from traitsui.group import Group from traitsui.item import Item from traitsui.view import View class TupleEditor(EditorFactory): """ Editor factory for tuple editors. """ # ------------------------------------------------------------------------- # Trait definitions: # ------------------------------------------------------------------------- #: Trait definitions for each tuple field types = Any() #: Labels for each of the tuple fields labels = List(Str) #: Editors for each of the tuple fields: editors = List(EditorFactory) #: Number of tuple fields or rows cols = Int(1) #: Is user input set on every keystroke? This is applied to every field #: of the tuple, provided the field does not already have an 'auto_set' #: metadata or an editor defined. auto_set = Bool(True) #: Is user input set when the Enter key is pressed? This is applied to #: every field of the tuple, provided the field does not already have an #: 'enter_set' metadata or an editor defined. enter_set = Bool(False) class SimpleEditor(Editor): """ Simple style of editor for tuples. The editor displays an editor for each of the fields in the tuple, based on the type of each field. """ def init(self, parent): """ Finishes initializing the editor by creating the underlying toolkit widget. """ self._ts = ts = TupleStructure(self) self._ui = ui = ts.view.ui(ts, parent, kind="subpanel").trait_set( parent=self.ui ) self.control = ui.control self.set_tooltip() def update_editor(self): """ Updates the editor when the object trait changes external to the editor. """ ts = self._ts for i, value in enumerate(self.value): setattr(ts, "f%d" % i, value) def get_error_control(self): """ Returns the editor's control for indicating error status. """ return self._ui.get_error_controls() class TupleStructure(HasTraits): """ Creates a view containing items for each field in a tuple. """ # ------------------------------------------------------------------------- # Trait definitions: # ------------------------------------------------------------------------- #: Editor this structure is linked to editor = Any() #: The constructed View for the tuple view = Any() #: Number of tuple fields fields = Int() def __init__(self, editor): """ Initializes the object. """ factory = editor.factory types = factory.types labels = factory.labels editors = factory.editors cols = factory.cols # Save the reference to the editor: self.editor = editor # Get the tuple we are mirroring: object = editor.value # For each tuple field, add a trait with the appropriate trait # definition and default value: content = [] self.fields = len(object) len_labels = len(labels) len_editors = len(editors) if types is None: type = editor.value_trait.handler if isinstance(type, BaseTuple): types = type.types if not isinstance(types, SequenceTypes): types = [types] len_types = len(types) if len_types == 0: types = [Any] len_types = 1 for i, value in enumerate(object): type = types[i % len_types] auto_set = enter_set = None if isinstance(type, TraitType): auto_set = type.auto_set enter_set = type.enter_set if auto_set is None: auto_set = editor.factory.auto_set if enter_set is None: enter_set = editor.factory.enter_set label = "" if i < len_labels: label = labels[i] field_editor = None if i < len_editors: field_editor = editors[i] name = "f%d" % i self.add_trait( name, type( value, event="field", auto_set=auto_set, enter_set=enter_set, ), ) item = Item(name=name, label=label, editor=field_editor) if cols <= 1: content.append(item) else: if (i % cols) == 0: group = Group(orientation="horizontal") content.append(group) group.content.append(item) self.view = View(Group(show_labels=(len_labels != 0), *content)) def _field_changed(self, name, old, new): """ Updates the underlying tuple when any field changes value. """ index = int(name[1:]) value = self.editor.value if new != value[index]: self.editor.value = tuple( [getattr(self, "f%d" % i) for i in range(self.fields)] ) # This alias is deprecated and will be removed in TraitsUI 8. ToolkitEditorFactory = TupleEditor traitsui-7.2.1/traitsui/editors/progress_editor.py0000644000076500000240000000327614046644454023120 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! """ Defines the progress editor factory for all traits toolkit backends, """ from traits.api import Int, Bool, Str from traitsui.editor_factory import EditorFactory class ProgressEditor(EditorFactory): """ Editor factory for code editors. """ # ------------------------------------------------------------------------- # Trait definitions: # ------------------------------------------------------------------------- #: The title title = Str() #: The message to be displayed along side the progress guage message = Str() #: The name of an [object.]trait that defines the message string message_name = Str() #: The starting value min = Int() #: The name of an [object.]trait that defines the starting value min_name = Str() #: The ending value max = Int() #: The name of an [object.]trait that defines the ending value max_name = Str() #: If the cancel button should be shown (not very sensible as an editor) can_cancel = Bool(False) #: If the estimated time should be shown (not very sensible as an editor) show_time = Bool(False) #: if the percent complete should be shown show_percent = Bool(False) # This alias is deprecated and will be removed in TraitsUI 8. ToolkitEditorFactory = ProgressEditor traitsui-7.2.1/traitsui/editors/drop_editor.py0000644000076500000240000000235214046644454022212 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! """ Defines a drop editor factory for all traits toolkit backends. A drop target editor handles drag and drop operations as a drop target. """ from traits.api import Any, Bool from traitsui.editors.text_editor import TextEditor class DropEditor(TextEditor): """ Editor factory for drop editors. """ # ------------------------------------------------------------------------- # Trait definitions: # ------------------------------------------------------------------------- #: Allowable drop objects must be of this class (optional) klass = Any() #: Must allowable drop objects be bindings? binding = Bool(False) #: Can the user type into the editor, or is it read only? readonly = Bool(True) # This alias is deprecated and will be removed in TraitsUI 8. ToolkitEditorFactory = DropEditor traitsui-7.2.1/traitsui/editors/check_list_editor.py0000644000076500000240000000322414046644454023355 0ustar aayresstaff00000000000000# (C) Copyright 2009-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! # ------------------------------------------------------------------------------ # Copyright (c) 2008, Riverbank Computing Limited # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only # under the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! # # Author: David C. Morrill # # ------------------------------------------------------------------------------ """ Defines the editor factory for multi-selection enumerations, for all traits toolkit backends. """ from traits.api import Range from traitsui.editor_factory import EditorWithListFactory class CheckListEditor(EditorWithListFactory): """ Editor factory for checklists. """ # ------------------------------------------------------------------------- # Trait definitions: # ------------------------------------------------------------------------- #: Number of columns to use when the editor is displayed as a grid cols = Range(1, 20) # This alias is deprecated and will be removed in TraitsUI 8. ToolkitEditorFactory = CheckListEditor traitsui-7.2.1/traitsui/editors/text_editor.py0000644000076500000240000000706514046644454022240 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! """ Defines the text editor factory for all traits toolkit backends. """ from traits.api import Dict, Str, Any, Bool from traitsui.editor_factory import EditorFactory from traitsui.group import Group from traitsui.ui_traits import AView from traitsui.view import View # ------------------------------------------------------------------------- # Define a simple identity mapping: # ------------------------------------------------------------------------- class _Identity(object): """ A simple identity mapping. """ def __call__(self, value): return value # ------------------------------------------------------------------------- # Trait definitions: # ------------------------------------------------------------------------- #: Mapping from user input text to other value mapping_trait = Dict(Str, Any) #: Function used to evaluate textual user input evaluate_trait = Any(_Identity()) class TextEditor(EditorFactory): """ Editor factory for text editors. """ # ------------------------------------------------------------------------- # Trait definitions: # ------------------------------------------------------------------------- #: Dictionary that maps user input to other values mapping = mapping_trait #: Is user input set on every keystroke? auto_set = Bool(True) #: Is user input set when the Enter key is pressed? enter_set = Bool(False) #: Is multi-line text allowed? multi_line = Bool(True) #: Is editor readonly (will use custom / default editor appearance with #: readonly flag set to true) in contrast with readonly style for item #: when completely another editor is used read_only = Bool(False) #: Is user input unreadable? (e.g., for a password) password = Bool(False) #: Function to evaluate textual user input evaluate = evaluate_trait #: The object trait containing the function used to evaluate user input evaluate_name = Str() #: The optional view to display when a read-only text editor is clicked: view = AView #: In a read-only text editor, allow selection and copying of the text. readonly_allow_selection = Bool(False) #: Grayed-out placeholder text to be displayed when the editor is empty. placeholder = Str() #: Whether or not to display a clear button for the text. This only works #: in the qt>=5.2 backend for simple/text styles of the editor. Note this #: trait is currently provisional and may be replaced in the future by a #: more general feature. cancel_button = Bool(False) # ------------------------------------------------------------------------- # Traits view definition: # ------------------------------------------------------------------------- traits_view = View( [ "auto_set{Set value when text is typed}", "enter_set{Set value when enter is pressed}", "multi_line{Allow multiple lines of text}", "", "|options:[Options]>", ] ) extras = Group("password{Is this a password field?}") # This alias is deprecated and will be removed in TraitsUI 8. ToolkitEditorFactory = TextEditor traitsui-7.2.1/traitsui/editors/boolean_editor.py0000644000076500000240000000450314046644454022665 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! """ Defines the Boolean editor factory for all traits toolkit backends. """ from traits.api import Dict, Str, Any from traitsui.editors.text_editor import TextEditor from traitsui.view import View # ------------------------------------------------------------------------- # Trait definitions: # ------------------------------------------------------------------------- # Mapping from user input text to Boolean values mapping_trait = Dict( Str, Any, { "True": True, "true": True, "t": True, "yes": True, "y": True, "False": False, "false": False, "f": False, "no": False, "n": False, }, ) class BooleanEditor(TextEditor): """ Editor factory for Boolean editors. """ # ------------------------------------------------------------------------- # Trait definitions: # ------------------------------------------------------------------------- #: Dictionary mapping user input to other values. #: These definitions override definitions in the 'text_editor' version mapping = mapping_trait # ------------------------------------------------------------------------- # Traits view definition: # ------------------------------------------------------------------------- traits_view = View() # ------------------------------------------------------------------------- # EditorFactory methods # ------------------------------------------------------------------------- def _get_custom_editor_class(self): """ Returns the editor class to use for "custom" style views. Overridden to return the simple_editor_class (instead of the CustomEditor class for the text editor's factory, which this class inherits from). """ return self.simple_editor_class # This alias is deprecated and will be removed in TraitsUI 8. ToolkitEditorFactory = BooleanEditor traitsui-7.2.1/traitsui/editors/code_editor.py0000644000076500000240000000601314046644454022156 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! """ Defines the code editor factory for all traits toolkit backends, useful for tools such as debuggers. """ from traits.api import Instance, Str, Enum, Bool from traitsui.editor_factory import EditorFactory from traitsui.toolkit_traits import Color class CodeEditor(EditorFactory): """ Editor factory for code editors. """ # ------------------------------------------------------------------------- # Trait definitions: # ------------------------------------------------------------------------- #: Object trait containing list of line numbers to mark (optional) mark_lines = Str() #: Background color for marking lines mark_color = Color(0xECE9D8) #: Object trait containing the currently selected line (optional) selected_line = Str() #: Object trait containing the currently selected text (optional) selected_text = Str() #: Object trait containing the currently selected text start position #: (optional) selected_start_pos = Str() #: Object trait containing the currently selected text end position #: (optional) selected_end_pos = Str() #: Background color for selected lines selected_color = Color(0xA4FFFF) #: Where should the search toolbar be placed? search = Enum("top", "bottom", "none") #: Background color for lines that match the current search search_color = Color(0xFFFF94) #: Current line line = Str() #: Current column column = Str() #: Should code folding be enabled? foldable = Bool(True) #: Should line numbers be displayed in the margin? show_line_numbers = Bool(True) #: Is user input set on every change? auto_set = Bool(True) #: Should the editor auto-scroll when a new **selected_line** value is set? auto_scroll = Bool(True) #: Optional key bindings associated with the editor key_bindings = Instance("traitsui.key_bindings.KeyBindings") #: Calltip clicked event calltip_clicked = Str() #: The lexer to use. Default is 'python'; 'null' indicates no lexing. lexer = Str("python") #: Object trait containing the list of line numbers to dim (optional) dim_lines = Str() #: Object trait to dim lines to. Can be of form #rrggbb or a color spec. If #: not specified, dark grey is used. dim_color = Str() #: Object trait containing the list of line numbers to put squiggles under #: (optional) squiggle_lines = Str() #: Object trait for the color of squiggles. If not specified, red is used. squiggle_color = Str() # This alias is deprecated and will be removed in TraitsUI 8. ToolkitEditorFactory = CodeEditor traitsui-7.2.1/traitsui/editors/api.py0000644000076500000240000000744314046644454020457 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! """ API for traitsui.editors subpackage. Note that the following are also available from :mod:`traitsui.api`, which is the preferred module for imports. - :attr:`~.ArrayEditor` - :attr:`~.BooleanEditor` - :attr:`~.ButtonEditor` - :attr:`~.CheckListEditor` - :attr:`~.CodeEditor` - :func:`~.ColorEditor` - :attr:`~.CompoundEditor` - :class:`~.CSVListEditor` - :attr:`~.CustomEditor` - :class:`~.DateEditor` - :class:`~.DatetimeEditor` - :attr:`~.DateRangeEditor` - :class:`~.DefaultOverride` - :attr:`~.DirectoryEditor` - :attr:`~.DNDEditor` - :attr:`~.DropEditor` - :attr:`~.EnumEditor` - :attr:`~.FileEditor` - :func:`~.FontEditor` - :attr:`~.HistoryEditor` - :attr:`~.HTMLEditor` - :attr:`~.KeyBindingEditor` - :class:`~.ImageEditor` - :attr:`~.ImageEnumEditor` - :attr:`~.InstanceEditor` - :attr:`~.ListEditor` - :class:`~.ListStrEditor` - :attr:`~.NullEditor` - :class:`~.PopupEditor` - :attr:`~.ProgressEditor` - :attr:`~.RangeEditor` - :func:`~.RGBColorEditor` - :class:`~.ScrubberEditor` - :class:`~.SearchEditor` - :attr:`~.SetEditor` - :attr:`~.ShellEditor` - :attr:`~.StyledDateEditor` - :attr:`~.TableEditor` - :class:`~.TabularEditor` - :attr:`~.TextEditor` - :class:`~.TimeEditor` - :attr:`~.TitleEditor` - :attr:`~.TreeEditor` - :attr:`~.TupleEditor` - :attr:`~.ValueEditor` """ from ..toolkit import toolkit try: from .array_editor import ArrayEditor except ImportError: # check if failure is due to missing numpy, otherwise re-raise try: import numpy except ImportError: import warnings warnings.warn( "ArrayEditor is not available due to missing numpy", ImportWarning ) else: del numpy raise from .boolean_editor import BooleanEditor from .button_editor import ButtonEditor from .check_list_editor import CheckListEditor from .code_editor import CodeEditor from .color_editor import ColorEditor from .compound_editor import CompoundEditor from .csv_list_editor import CSVListEditor from .custom_editor import CustomEditor from .date_editor import DateEditor from .datetime_editor import DatetimeEditor from .date_range_editor import DateRangeEditor from .styled_date_editor import StyledDateEditor from .default_override import DefaultOverride from .directory_editor import DirectoryEditor from .dnd_editor import DNDEditor from .drop_editor import DropEditor from .enum_editor import EnumEditor from .file_editor import FileEditor from .font_editor import FontEditor from .key_binding_editor import KeyBindingEditor from .image_editor import ImageEditor from .image_enum_editor import ImageEnumEditor from .instance_editor import InstanceEditor from .list_editor import ListEditor from .list_str_editor import ListStrEditor from .null_editor import NullEditor from .range_editor import RangeEditor from .rgb_color_editor import RGBColorEditor from .set_editor import SetEditor from .text_editor import TextEditor from .table_editor import TableEditor from .time_editor import TimeEditor from .title_editor import TitleEditor from .tree_editor import TreeEditor from .tuple_editor import TupleEditor from .history_editor import HistoryEditor from .html_editor import HTMLEditor from .popup_editor import PopupEditor from .value_editor import ValueEditor from .shell_editor import ShellEditor from .scrubber_editor import ScrubberEditor from .tabular_editor import TabularEditor from .progress_editor import ProgressEditor from .search_editor import SearchEditor traitsui-7.2.1/traitsui/editors/range_editor.py0000644000076500000240000002230614046644454022343 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! """ Defines the range editor factory for all traits user interface toolkits. """ from types import CodeType from traits.api import ( Any, Bool, CTrait, Enum, Int, Property, Range, Str, Undefined, ) from traitsui.editor_factory import EditorFactory from traitsui.toolkit import toolkit_object from traitsui.view import View class RangeEditor(EditorFactory): """ Editor factory for range editors. """ # ------------------------------------------------------------------------- # Trait definitions: # ------------------------------------------------------------------------- #: Number of columns when displayed as an enumeration cols = Range(1, 20) #: Is user input set on every keystroke? auto_set = Bool(True) #: Is user input set when the Enter key is pressed? enter_set = Bool(False) #: Label for the low end of the range low_label = Str() #: Label for the high end of the range high_label = Str() #: FIXME: This is supported only in the wx backend so far. #: The width of the low and high labels label_width = Int() #: The name of an [object.]trait that defines the low value for the range low_name = Str() #: The name of an [object.]trait that defines the high value for the range high_name = Str() #: Formatting string used to format value and labels format = Str("%s") #: Is the range for floating pointer numbers (vs. integers)? is_float = Bool(Undefined) #: Function to evaluate floats/ints when they are assigned to an object #: trait evaluate = Any() #: The object trait containing the function used to evaluate floats/ints evaluate_name = Str() #: Low end of range low = Property() #: High end of range high = Property() #: Display mode to use mode = Enum( "auto", "slider", "xslider", "spinner", "enum", "text", "logslider" ) # ------------------------------------------------------------------------- # Traits view definition: # ------------------------------------------------------------------------- traits_view = View( [ ["low", "high", "|[Range]"], ["low_label{Low}", "high_label{High}", "|[Range Labels]"], [ "auto_set{Set automatically}", "enter_set{Set on enter key pressed}", "is_float{Is floating point range}", "-[Options]>", ], ["cols", "|[Number of columns for integer custom style]<>"], ] ) def init(self, handler=None): """ Performs any initialization needed after all constructor traits have been set. """ if handler is not None: if isinstance(handler, CTrait): handler = handler.handler if self.low_name == "": if isinstance(handler._low, CodeType): self.low = eval(handler._low) else: self.low = handler._low if self.high_name == "": if isinstance(handler._low, CodeType): self.high = eval(handler._high) else: self.high = handler._high else: if (self.low is None) and (self.low_name == ""): self.low = 0.0 if (self.high is None) and (self.high_name == ""): self.high = 1.0 def _get_low(self): return self._low def _set_low(self, low): old_low = self._low self._low = low = self._cast(low) if self.is_float is Undefined: self.is_float = isinstance(low, float) if (self.low_label == "") or ( self.low_label == str(old_low) ): self.low_label = str(low) def _get_high(self): return self._high def _set_high(self, high): old_high = self._high self._high = high = self._cast(high) if self.is_float is Undefined: self.is_float = isinstance(high, float) if (self.high_label == "") or ( self.high_label == str(old_high) ): self.high_label = str(high) def _cast(self, value): if not isinstance(value, str): return value try: return int(value) except ValueError: return float(value) # -- Private Methods ------------------------------------------------------ def _get_low_high(self, ui): """ Returns the low and high values used to determine the initial range. """ low, high = self.low, self.high if (low is None) and (self.low_name != ""): low = self.named_value(self.low_name, ui) if self.is_float is Undefined: self.is_float = isinstance(low, float) if (high is None) and (self.high_name != ""): high = self.named_value(self.high_name, ui) if self.is_float is Undefined: self.is_float = isinstance(high, float) if self.is_float is Undefined: self.is_float = True return (low, high, self.is_float) # ------------------------------------------------------------------------- # Property getters. # ------------------------------------------------------------------------- def _get_simple_editor_class(self): """ Returns the editor class to use for a simple style. The type of editor depends on the type and extent of the range being edited: * One end of range is unspecified: RangeTextEditor * **mode** is specified and not 'auto': editor corresponding to **mode** * Floating point range with extent > 100: LargeRangeSliderEditor * Integer range or floating point range with extent <= 100: SimpleSliderEditor * All other cases: SimpleSpinEditor """ low, high, is_float = self._low_value, self._high_value, self.is_float if (low is None) or (high is None): return toolkit_object("range_editor:RangeTextEditor") if (not is_float) and (abs(high - low) > 1000000000): return toolkit_object("range_editor:RangeTextEditor") if self.mode != "auto": return toolkit_object("range_editor:SimpleEditorMap")[self.mode] if is_float and (abs(high - low) > 100): return toolkit_object("range_editor:LargeRangeSliderEditor") if is_float or (abs(high - low) <= 100): return toolkit_object("range_editor:SimpleSliderEditor") return toolkit_object("range_editor:SimpleSpinEditor") def _get_custom_editor_class(self): """ Creates a custom style of range editor The type of editor depends on the type and extent of the range being edited: * One end of range is unspecified: RangeTextEditor * **mode** is specified and not 'auto': editor corresponding to **mode** * Floating point range: Same as "simple" style * Integer range with extent > 15: Same as "simple" style * Integer range with extent <= 15: CustomEnumEditor """ low, high, is_float = self._low_value, self._high_value, self.is_float if (low is None) or (high is None): return toolkit_object("range_editor:RangeTextEditor") if self.mode != "auto": return toolkit_object("range_editor:CustomEditorMap")[self.mode] if is_float or (abs(high - low) > 15): return self.simple_editor_class return toolkit_object("range_editor:CustomEnumEditor") def _get_text_editor_class(self): """Returns the editor class to use for a text style. """ return toolkit_object("range_editor:RangeTextEditor") # ------------------------------------------------------------------------- # 'Editor' factory methods: # ------------------------------------------------------------------------- def simple_editor(self, ui, object, name, description, parent): """ Generates an editor using the "simple" style. Overridden to set the values of the _low_value, _high_value and is_float traits. """ self._low_value, self._high_value, self.is_float = self._get_low_high( ui ) return super().simple_editor(ui, object, name, description, parent) def custom_editor(self, ui, object, name, description, parent): """ Generates an editor using the "custom" style. Overridden to set the values of the _low_value, _high_value and is_float traits. """ self._low_value, self._high_value, self.is_float = self._get_low_high( ui ) return super().custom_editor(ui, object, name, description, parent) # This alias is deprecated and will be removed in TraitsUI 8. ToolkitEditorFactory = RangeEditor traitsui-7.2.1/traitsui/editors/date_range_editor.py0000644000076500000240000000203714046644454023337 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! from traits.api import Bool, Constant from traitsui.editors.date_editor import DateEditor class DateRangeEditor(DateEditor): """ Editor for a date range. The target value should be a tuple containing two dates (start date, end date) """ #: This must be set to true for setting a date range. multi_select = Constant(True) #: Whether it is possible to unset the date range. #: If true, then the date range will be set to (None, None) #: when all the dates are unselected. allow_no_selection = Bool(False) # This alias is deprecated and will be removed in TraitsUI 8. ToolkitEditorFactory = DateRangeEditor traitsui-7.2.1/traitsui/editors/date_editor.py0000644000076500000240000000720314046644454022163 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! """ A Traits UI editor that wraps a WX calendar panel. """ from traits.trait_types import Bool, Instance, Int, Enum, Str from traitsui.editor_factory import EditorFactory from traitsui.ui_traits import AView class CellFormat(object): """ Styling attributes for calendar widget cells. Encapsulates some common visual attributes to set on the cells of a calendar widget. All attributes default to None, which means that they will not override the existing values of the calendar widget. The color attributes should be strings representing color names, from the list: red, green, blue, cyan, magenta, yellow, gray, white, darkRed, darkGreen, darkBlue, darkCyan, darkmagenta, darkYellow, darkGray, black, lightGray. Alternatively, they can be a tuple of (R,G,B) values from 0-255. """ #: Whether to display in an italic style. italics = None #: Whether to use a bold weight. bold = None #: Whether to underline the text. underline = None #: The background color. bgcolor = None #: The text color. fgcolor = None def __init__(self, **args): for key, val in args.items(): setattr(self, key, val) class DateEditor(EditorFactory): """ Editor factory for date/time editors. """ # ------------------------------------------------------------------------- # Trait definitions: # ------------------------------------------------------------------------- # -- ReadonlyEditor traits ------------------------------------------------ #: Message to show when Date is None. message = Str("Undefined") #: The string representation of the date to show. Uses time.strftime #: format. strftime = Str("%B %d %Y (%a)") #: An optional view to display when a read-only text editor is clicked: view = AView # -- CustomEditor traits -------------------------------------------------- #: Should users be able to pick future dates when using the CustomEditor? allow_future = Bool(True) #: How many months to show at a time. months = Int(3) #: True: Must be a List of Dates. False: Must be a Date instance. multi_select = Bool(False) #: When a user multi-selects entries and some of those entries are already #: selected and some are not, what should be the behavior for the seletion? #: #: Options: #: #: - 'toggle': Toggle each day to the opposite of the current state. #: - 'on': Always turn them on. #: - 'off': Always turn them off. #: - 'max_change': Change all to same state, with most days changing. #: For example 1 selected and 9 not, then they would all get selected. #: - 'min_change': Change all to same state, with min days changing. #: For example 1 selected and 9 not, then they would all get unselected. on_mixed_select = Enum("toggle", "on", "off", "max_change", "min_change") #: How much space to put between the individual months. padding = Int(5) #: Does the user have to hold down Shift for the left-click multiselect? shift_to_select = Bool(False) #: Style used when a date is selected. selected_style = Instance( CellFormat, kw={"bold": True, "fgcolor": (255, 255, 255), "bgcolor": (0, 128, 0)}, ) traitsui-7.2.1/traitsui/editors/table_editor.py0000644000076500000240000004606114046644454022342 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! """ Defines the table editor factory for all traits user interface toolkits. """ from traits.api import ( Int, Float, List, Instance, Str, Any, Tuple, Dict, Enum, Bool, Callable, Range, Trait, observe, ) from traitsui.editor_factory import EditorFactory from traitsui.editors.enum_editor import EnumEditor from traitsui.handler import Handler from traitsui.helper import Orientation from traitsui.item import Item from traitsui.table_filter import TableFilter from traitsui.toolkit_traits import Color, Font from traitsui.ui_traits import AView from traitsui.view import View # The filter used to indicate that the user wants to customize the current # filter customize_filter = TableFilter(name="Customize...") # ------------------------------------------------------------------------- # Trait definitions: # ------------------------------------------------------------------------- # A trait whose value can be True, False, or a callable function BoolOrCallable = Trait(False, Bool, Callable) class TableEditor(EditorFactory): """ Editor factory for table editors. """ # ------------------------------------------------------------------------- # Trait definitions: # ------------------------------------------------------------------------- #: List of initial table column descriptors columns = List(Instance("traitsui.table_column.TableColumn")) #: List of other table column descriptors (not initially displayed) other_columns = List(Instance("traitsui.table_column.TableColumn")) #: The object trait containing the list of column descriptors columns_name = Str() #: The desired number of visible rows in the table rows = Int() #: The optional extended name of the trait used to specify an external #: filter for the table data. The value of the trait must either be an #: instance of TableEditor, a callable that accepts one argument #: (a table row) and returns True or False to indicate whether the #: specified object passes the filter or not, or **None** to indicate that #: no filter is to be applied: filter_name = Str() #: Initial filter that should be applied to the table filter = Instance("traitsui.table_filter.TableFilter") #: List of available filters that can be applied to the table filters = List(Instance("traitsui.table_filter.TableFilter")) #: The optional extended trait name of the trait used to notify that the #: filter has changed and the displayed objects should be updated. #: It should be an Event. update_filter_name = Str() #: Filter object used to allow a user to search the table. #: NOTE: If left as None, the table will not be searchable. search = Instance("traitsui.table_filter.TableFilter") #: Default context menu to display when any cell is right-clicked menu = Instance("traitsui.menu.Menu") #: Default trait name containg menu menu_name = Str() #: Are objects deletable from the table? deletable = BoolOrCallable(False) #: Is the table editable? editable = Bool(True) #: Should the editor become active after the first click edit_on_first_click = Bool(True) #: Can the user reorder the items in the table? reorderable = Bool(False) #: Can the user configure the table columns? configurable = Bool(True) #: Should the cells of the table automatically size to the optimal size? auto_size = Bool(True) #: Mirrors the Qt QSizePolicy.Policy attribute, for horizontal and vertical #: dimensions. For these to be useful, set auto_size to False. If these #: are None, then the table size policy will not be set in that dimension #: (for backwards compatibility). h_size_policy = Enum( None, "preferred", "fixed", "minimum", "maximum", "expanding", "minimum_expanding", "ignored", ) v_size_policy = Enum( None, "preferred", "fixed", "minimum", "maximum", "expanding", "minimum_expanding", "ignored", ) #: Should a new row automatically be added to the end of the table to allow #: the user to create new entries? If True, **row_factory** must be set. auto_add = Bool(False) #: Should the table items be presented in reverse order? reverse = Bool(False) #: The DockWindow graphical theme: dock_theme = Any() #: View to use when editing table items. #: NOTE: If not specified, the table items are not editable in a separate #: pane of the editor. edit_view = AView(" ") #: The handler to apply to **edit_view** edit_view_handler = Instance(Handler) #: Width to use for the edit view edit_view_width = Float(-1.0) #: Height to use for the edit view edit_view_height = Float(-1.0) #: Layout orientation of the table and its associated editor pane. This #: attribute applies only if **edit_view** is not ' '. orientation = Orientation #: Is the table sortable by clicking on the column headers? sortable = Bool(True) #: Does sorting affect the model (vs. just the view)? sort_model = Bool(False) #: Should grid lines be shown on the table? show_lines = Bool(True) #: Should the toolbar be displayed? (Note that False will override settings #: such as 'configurable', etc., and is a quick way to prevent the toolbar #: from being displayed; but True will not cause a toolbar to appear if one #: would not otherwise have been displayed) show_toolbar = Bool(False) #: The vertical scroll increment for the table: scroll_dy = Range(1, 32) #: Grid line color. Does not work on Qt. line_color = Color(0xC4C0A9) #: Show column labels? show_column_labels = Bool(True) #: Show row labels? show_row_labels = Bool(False) #: Font to use for text in cells cell_font = Font #: Color to use for text in cells cell_color = Color(default=None, allow_none=True) #: Color to use for cell backgrounds cell_bg_color = Color(default=None, allow_none=True) #: Color to use for read-only cell backgrounds cell_read_only_bg_color = Color(default=None, allow_none=True) #: Whether to even-odd alternate the background color. Qt only. alternate_bg_color = Bool(False) #: Font to use for text in labels label_font = Font #: Color to use for text in labels label_color = Color(default=None, allow_none=True) #: Color to use for label backgrounds. Some Qt styles (eg. MacOS) ignore #: this. label_bg_color = Color(default=None, allow_none=True) #: Background color of selected item. Does not work on Qt. selection_bg_color = Color(default=None, allow_none=True) #: Color of selected text. Does not work on Qt. selection_color = Color(default=None, allow_none=True) #: Height (in pixels) of column labels column_label_height = Int(25) #: Width (in pixels) of row labels row_label_width = Int(82) #: The initial height of each row (<= 0 means use default value): row_height = Int(0) #: The optional extended name of the trait that the indices of the items #: currently passing the table filter are synced with: filtered_indices = Str() #: The selection mode of the table. The meaning of the various values are #: as follows: #: #: row #: Entire rows are selected. At most one row can be selected at once. #: This is the default. #: rows #: Entire rows are selected. More than one row can be selected at once. #: column #: Entire columns are selected. At most one column can be selected at #: once. #: columns #: Entire columns are selected. More than one column can be selected at #: once. #: cell #: Single cells are selected. Only one cell can be selected at once. #: cells #: Single cells are selected. More than one cell can be selected at once. selection_mode = Enum("row", "rows", "column", "columns", "cell", "cells") #: The optional extended name of the trait that the current selection is #: synced with: selected = Str() #: The optional extended trait name of the trait that the indices of the #: current selection are synced with: selected_indices = Str() #: The optional extended trait name of the trait that should be assigned #: an ( object, column ) tuple when a table cell is clicked on (Note: If #: you want to receive repeated clicks on the same cell, make sure the #: trait is defined as an Event): click = Str() #: The optional extended trait name of the trait that should be assigned #: an ( object, column ) tuple when a table cell is double-clicked on #: (Note: if you want to receive repeated double-clicks on the same cell, #: make sure the trait is defined as an Event): dclick = Str() #: Called when a table item is selected on_select = Any() #: Called when a table item is double clicked on_dclick = Any() #: A factory to generate new rows. #: NOTE: If None, then the user will not be able to add new rows to the #: table. If not None, then it must be a callable that accepts #: **row_factory_args** and **row_factory_kw** and returns a new object #: that can be added to the table. row_factory = Any() #: Arguments to pass to the **row_factory** callable when a new row is #: created row_factory_args = Tuple() #: Keyword arguments to pass to the **row_factory** callable when a new row #: is created row_factory_kw = Dict() #: Hooks for replacing parts of the implementation. table_view_factory = Callable() source_model_factory = Callable() model_factory = Callable() # ------------------------------------------------------------------------- # Traits view definitions: # ------------------------------------------------------------------------- traits_view = View( [ "{Initial columns}@", Item("columns", resizable=True), "{Other columns}@", Item("other_columns", resizable=True), "|{Columns}<>", ], [ [ "deletable{Are items deletable?}", "9", "editable{Are items editable?}", "9", "-[Item Options]>", ], [ "show_column_labels{Show column labels?}", "9", "configurable{Are columns user configurable?}", "9", "auto_size{Should columns auto size?}", "-[Column Options]>", ], [ "sortable{Are columns sortable?}", Item( "sort_model{Does sorting affect the model?}", enabled_when="sortable", ), "-[Sorting Options]>", ], [ ["show_lines{Show grid lines?}", "|>"], ["_", "line_color{Grid line color}@", "|<>"], "|[Grid Line Options]", ], "|{Options}", ], [ [ "cell_color{Text color}@", "cell_bg_color{Background color}@", "cell_read_only_bg_color{Read only color}@", "|[Cell Colors]", ], ["cell_font", "|[Cell Font]<>"], "|{Cell}", ], [ [ "label_color{Text color}@", "label_bg_color{Background color}@", "|[Label Colors]", ], ["label_font@", "|[Label Font]<>"], "|{Label}", ], [ [ "selection_color{Text color}@", "selection_bg_color{Background color}@", "|[Selection Colors]", ], "|{Selection}", ], height=0.5, ) # ------------------------------------------------------------------------- # 'Editor' factory methods: # ------------------------------------------------------------------------- def readonly_editor(self, ui, object, name, description, parent): """ Generates an "editor" that is read-only. Overridden to set the value of the editable trait to False before generating the editor. """ self.editable = False return super().readonly_editor(ui, object, name, description, parent) # ------------------------------------------------------------------------- # Event handlers: # ------------------------------------------------------------------------- @observe("filters.items") def _update_filter_editor(self, event): """ Handles the set of filters associated with the editor's factory being changed. """ values = {None: "000:No filter"} i = 0 for filter in self.filters: if not filter.template: i += 1 values[filter] = "%03d:%s" % (i, filter.name) values[customize_filter] = "%03d:%s" % ((i + 1), customize_filter.name) if self._filter_editor is None: self._filter_editor = EnumEditor(values=values) else: self._filter_editor.values = values # This alias is deprecated and will be removed in TraitsUI 8. ToolkitEditorFactory = TableEditor # ------------------------------------------------------------------------- # Base class for toolkit-specific editors # ------------------------------------------------------------------------- class BaseTableEditor(object): """ Base class for toolkit-specific editors. """ # ------------------------------------------------------------------------- # Interface for toolkit-specific editors: # ------------------------------------------------------------------------- def set_menu_context(self, selection, object, column): """Call before creating a context menu for a cell, then set self as the controller for the menu. """ self._menu_context = { "selection": selection, "object": object, "column": column, "editor": self, "info": self.ui.info, "handler": self.ui.handler, } # ------------------------------------------------------------------------- # pyface.action 'controller' interface implementation: # ------------------------------------------------------------------------- def add_to_menu(self, menu_item): """ Adds a menu item to the menu bar being constructed. """ action = menu_item.item.action self.eval_when(action.enabled_when, menu_item, "enabled") self.eval_when(action.checked_when, menu_item, "checked") def add_to_toolbar(self, toolbar_item): """ Adds a toolbar item to the toolbar being constructed. """ self.add_to_menu(toolbar_item) def can_add_to_menu(self, action): """ Returns whether the action should be defined in the user interface. """ if action.defined_when != "": if not eval(action.defined_when, globals(), self._menu_context): return False if action.visible_when != "": if not eval(action.visible_when, globals(), self._menu_context): return False return True def can_add_to_toolbar(self, action): """ Returns whether the toolbar action should be defined in the user interface. """ return self.can_add_to_menu(action) def perform(self, action, action_event=None): """ Performs the action described by a specified Action object. """ self.ui.do_undoable(self._perform, action) def _perform(self, action): method_name = action.action info = self.ui.info handler = self.ui.handler context = self._menu_context self._menu_context = None selection = context["selection"] if method_name.find(".") >= 0: if method_name.find("(") < 0: method_name += "()" try: eval(method_name, globals(), context) except: # fixme: Should the exception be logged somewhere? pass return method = getattr(handler, method_name, None) if method is not None: method(info, selection) return if action.on_perform is not None: action.on_perform(selection) return action.perform(selection) # ------------------------------------------------------------------------- # Menu support methods: # ------------------------------------------------------------------------- def eval_when(self, condition, object, trait): """ Evaluates a condition within a defined context and sets a specified object trait based on the result, which is assumed to be a Boolean. """ if condition != "": value = bool(eval(condition, globals(), self._menu_context)) setattr(object, trait, value) # ------------------------------------------------------------------------- # Helper class for toolkit-specific editors to implement 'reversed' option: # ------------------------------------------------------------------------- class ReversedList(object): """ A list whose order is the reverse of its input. """ def __init__(self, list): self.list = list def insert(self, index, value): """ Inserts a value at a specified index in the list. """ return self.list.insert(self._index(index - 1), value) def index(self, value): """ Returns the index of the first occurrence of the specified value in the list. """ list = self.list[:] list.reverse() return list.index(value) def __len__(self): """ Returns the length of the list. """ return len(self.list) def __getitem__(self, index): """ Returns the value at a specified index in the list. """ return self.list[self._index(index)] def __setslice__(self, i, j, values): """ Sets a slice of a list to the contents of a specified sequence. """ return self.list.__setslice__(self._index(i), self._index(j), values) def __delitem__(self, index): """ Deletes the item at a specified index. """ return self.list.__delitem__(self._index(index)) def _index(self, index): """ Returns the "reversed" value for a specified index. """ if index < 0: return -1 - index result = len(self.list) - index - 1 if result >= 0: return result return index traitsui-7.2.1/traitsui/editors/font_editor.py0000644000076500000240000000333014046644454022211 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! """ Defines the font editor factory for all traits user interface toolkits. """ from traitsui.editor_factory import EditorFactory from traitsui.toolkit import toolkit_object # ------------------------------------------------------------------------- # 'ToolkitEditorFactory' class: # ------------------------------------------------------------------------- class ToolkitEditorFactory(EditorFactory): """ Editor factory for font editors. """ pass # Define the FontEditor class # The function will try to return the toolkit-specific editor factory (located # in traitsui..font_editor, and if none is found, the # ToolkitEditorFactory declared here is returned. def FontEditor(*args, **traits): r""" Returns an instance of the toolkit-specific editor factory declared in traitsui..font_editor. If such an editor factory cannot be located, an instance of the abstract ToolkitEditorFactory declared in traitsui.editors.font_editor is returned. Parameters ---------- \*args, \*\*traits arguments and keywords to be passed on to the editor factory's constructor. """ try: return toolkit_object("font_editor:ToolkitEditorFactory", True)( *args, **traits ) except Exception: return ToolkitEditorFactory(*args, **traits) traitsui-7.2.1/traitsui/editors/csv_list_editor.py0000644000076500000240000003247714046644454023107 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! """This modules defines CSVListEditor. A CSVListEditor provides an editor for lists of simple data types. It allows the user to edit the list in a text field, using commas (or optionally some other character) to separate the elements. """ from traits.api import Str, Int, Float, Enum, Range, Bool, TraitError, Either from traits.trait_handlers import RangeTypes from traitsui.editors.text_editor import TextEditor from traitsui.helper import enum_values_changed def _eval_list_str(s, sep=",", item_eval=None, ignore_trailing_sep=True): """Convert a string into a list. Parameters ---------- s : str The string to be converted. sep : str or None `sep` is the text separator of list items. If `sep` is None, each contiguous stretch of whitespace is a separator. item_eval : callable or None `item_eval` is used to evaluate the list elements. If `item_eval` is None, the list will be a list substrings of `s`. ignore_trailing_sep : bool If `ignore_trailing_sep` is False, it is an error to have a separator at the end of the list (i.e. 'foo, bar,' is invalid). If `ignore_trailing_sep` is True, a separator at the end of the string `s` is ignored. Returns ------- values : list List of converted values from the string. """ if item_eval is None: item_eval = lambda x: x s = s.strip() if sep is not None and ignore_trailing_sep and s.endswith(sep): s = s[: -len(sep)] s = s.rstrip() if s == "": values = [] else: values = [item_eval(x.strip()) for x in s.split(sep)] return values def _format_list_str(values, sep=",", item_format=str): """Convert a list to a string. Each item in the list `values` is converted to a string with the function `item_format`, and these are joined with `sep` plus a space. If `sep` is None, a single space is used to join the items. Parameters ---------- values : list The list of values to be represented as a string. sep : str String used to join the items. A space is also added after `sep`. item_format : callable Converts its single argument to a string. Returns ------- s : str The result of converting the list to a string. """ if sep is None: joiner = " " else: joiner = sep + " " s = joiner.join(item_format(x) for x in values) return s def _validate_range_value(range_object, object, name, value): """Validate a Range value. This function is used by the CSVListEditor to validate a value when editing a list of ranges where the Range is dynamic (that is, one or both of the 'low' and 'high' values are strings that refer to other traits in `object`. The function implements the same validation logic as in the method traits.trait_types.BaseRange._set(), but does not call the set_value() method; instead it simply returns the valid value. If the value is not valid, range_object.error(...) is called. Parameters ---------- range_object : instance of traits.trait_types.Range object : instance of HasTraits This is the HasTraits object that holds the traits to which the one or both of range_object.low and range_object.high refer. name : str The name of the List trait in `object`. value : object (e.g. int, float, str) The value to be validated. Returns ------- value : object The validated value. It might not be the same type as the input argument (e.g. if the range type is float and the input value is an int, the return value will be a float). """ low = eval(range_object._low) high = eval(range_object._high) if low is None and high is None: if isinstance(value, RangeTypes): return value else: new_value = range_object._typed_value(value, low, high) satisfies_low = ( low is None or low < new_value or ((not range_object._exclude_low) and (low == new_value)) ) satisfies_high = ( high is None or high > new_value or ((not range_object._exclude_high) and (high == new_value)) ) if satisfies_low and satisfies_high: return value # Note: this is the only explicit use of 'object' and 'name'. range_object.error(object, name, value) def _prepare_method(cls, parent): """ Unbound implementation of the prepare editor method to add a change notification hook in the items of the list before calling the parent prepare method of the parent class. """ name = cls.extended_name if name != "None": cls.context_object.on_trait_change( cls._update_editor, name + "[]", dispatch="ui" ) super(cls.__class__, cls).prepare(parent) def _dispose_method(cls): """ Unbound implementation of the dispose editor method to remove the change notification hook in the items of the list before calling the parent dispose method of the parent class. """ if cls.ui is None: return name = cls.extended_name if name != "None": cls.context_object.on_trait_change( cls._update_editor, name + "[]", remove=True ) super(cls.__class__, cls).dispose() class CSVListEditor(TextEditor): """A text editor for a List. This editor provides a single line of input text of comma separated values. (Actually, the default separator is a comma, but this can changed.) The editor can only be used with List traits whose inner trait is one of Int, Float, Str, Enum, or Range. The 'simple', 'text', 'custom' and readonly styles are based on TextEditor. The 'readonly' style provides the same formatting in the text field as the other editors, but the user cannot change the value. Like other Traits editors, the background of the text field will turn red if the user enters an incorrectly formatted list or if the values do not match the type of the inner trait. This validation only occurs while editing the text field. If, for example, the inner trait is Range(low='lower', high='upper'), a change in 'upper' will not trigger the validation code of the editor. The editor removes whitespace of entered items with strip(), so for Str types, the editor should not be used if whitespace at the beginning or end of the string must be preserved. Parameters ---------- sep : str or None, optional The separator of the values in the list. If None, each contiguous sequence of whitespace is a separator. Default is ','. ignore_trailing_sep : bool, optional If this is False, a line containing a trailing separator is invalid. Default is True. auto_set : bool If True, then every keystroke sets the value of the trait. enter_set : bool If True, the user input sets the value when the Enter key is pressed. Example ------- The following will display a window containing a single input field. Entering, say, '0, .5, 1' in this field will result in the list x = [0.0, 0.5, 1.0]. """ #: The separator of the element in the list. sep = Either(None, Str, default=",") #: If False, it is an error to have a trailing separator. ignore_trailing_sep = Bool(True) #: Include some of the TextEditor API: #: Is user input set on every keystroke? auto_set = Bool(True) #: Is user input set when the Enter key is pressed? enter_set = Bool(False) def _funcs(self, object, name): """Create the evalution and formatting functions for the editor. Parameters ---------- object : instance of HasTraits This is the object that has the List trait for which we are creating an editor. name : str Name of the List trait on `object`. Returns ------- evaluate, fmt_func : callable, callable The functions for converting a string to a list (`evaluate`) and a list to a string (`fmt_func`). These are the functions that are ultimately given as the keyword arguments 'evaluate' and 'format_func' of the TextEditor that will be generated by the CSVListEditor editor factory functions. """ t = getattr(object, name) # Get the list of inner traits. Only a single inner trait is allowed. it_list = t.trait.inner_traits() if len(it_list) > 1: raise TraitError( "Only one inner trait may be specified when " "using a CSVListEditor." ) # `it` is the single inner trait. This will be an instance of # traits.traits.CTrait. it = it_list[0] # The following 'if' statement figures out the appropriate evaluation # function (evaluate) and formatting function (fmt_func) for the # given inner trait. if ( it.is_trait_type(Int) or it.is_trait_type(Float) or it.is_trait_type(Str) ): evaluate = lambda s: _eval_list_str( s, sep=self.sep, item_eval=it.trait_type.evaluate, ignore_trailing_sep=self.ignore_trailing_sep, ) fmt_func = lambda vals: _format_list_str(vals, sep=self.sep) elif it.is_trait_type(Enum): values, mapping, inverse_mapping = enum_values_changed(it) evaluate = lambda s: _eval_list_str( s, sep=self.sep, item_eval=mapping.__getitem__, ignore_trailing_sep=self.ignore_trailing_sep, ) fmt_func = lambda vals: _format_list_str( vals, sep=self.sep, item_format=inverse_mapping.__getitem__ ) elif it.is_trait_type(Range): # Get the type of the values from the default value. # range_object will be an instance of traits.trait_types.Range. range_object = it.handler if range_object.default_value_type == 8: # range_object.default_value is callable. defval = range_object.default_value(object) else: # range_object.default_value *is* the default value. defval = range_object.default_value typ = type(defval) if range_object.validate is None: # This will be the case for dynamic ranges. item_eval = lambda s: _validate_range_value( range_object, object, name, typ(s) ) else: # Static ranges have a validate method. item_eval = lambda s: range_object.validate( object, name, typ(s) ) evaluate = lambda s: _eval_list_str( s, sep=self.sep, item_eval=item_eval, ignore_trailing_sep=self.ignore_trailing_sep, ) fmt_func = lambda vals: _format_list_str(vals, sep=self.sep) else: raise TraitError( "To use a CSVListEditor, the inner trait of the " "List must be Int, Float, Range, Str or Enum." ) return evaluate, fmt_func def simple_editor(self, ui, object, name, description, parent): """ Generates an editor using the "simple" style. """ self.evaluate, self.format_func = self._funcs(object, name) return self.simple_editor_class( parent, factory=self, ui=ui, object=object, name=name, description=description, ) def custom_editor(self, ui, object, name, description, parent): """ Generates an editor using the "custom" style. """ self.evaluate, self.format_func = self._funcs(object, name) return self.custom_editor_class( parent, factory=self, ui=ui, object=object, name=name, description=description, ) def text_editor(self, ui, object, name, description, parent): """ Generates an editor using the "text" style. """ self.evaluate, self.format_func = self._funcs(object, name) return self.text_editor_class( parent, factory=self, ui=ui, object=object, name=name, description=description, ) def readonly_editor(self, ui, object, name, description, parent): """ Generates an "editor" that is read-only. """ self.evaluate, self.format_func = self._funcs(object, name) return self.readonly_editor_class( parent, factory=self, ui=ui, object=object, name=name, description=description, ) traitsui-7.2.1/traitsui/editors/enum_editor.py0000644000076500000240000000543114046644454022213 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! """ Defines the editor factory for single-selection enumerations, for all traits user interface toolkits. """ import os import sys from traits.api import Any, Range, Enum, Bool from traitsui.editor_factory import EditorWithListFactory from traitsui.toolkit import toolkit_object # ------------------------------------------------------------------------- # Trait definitions: # ------------------------------------------------------------------------- #: Supported display modes for a custom style editor Mode = Enum("radio", "list") #: Supported display modes for a custom style editor CompletionMode = Enum("inline", "popup") class EnumEditor(EditorWithListFactory): """ Editor factory for enumeration editors. """ # ------------------------------------------------------------------------- # Trait definitions: # ------------------------------------------------------------------------- #: (Optional) Function used to evaluate text input: evaluate = Any() #: Is user input set on every keystroke (when text input is allowed)? auto_set = Bool(True) #: Number of columns to use when displayed as a grid: cols = Range(1, 20) #: Display modes supported for a custom style editor: mode = Mode #: Completion mode for editors with text-entry (Qt only): completion_mode = CompletionMode # ------------------------------------------------------------------------- # 'Editor' factory methods: # ------------------------------------------------------------------------- def _get_custom_editor_class(self): """ Returns the editor class to use for "custom" style views. Overridden to return the editor class for the specified mode. """ editor_file_name = os.path.basename( sys.modules[self.__class__.__module__].__file__ ) try: if self.mode == "radio": return toolkit_object( editor_file_name.split(".")[0] + ":RadioEditor", raise_exceptions=True, ) else: return toolkit_object( editor_file_name.split(".")[0] + ":ListEditor", raise_exceptions=True, ) except: return super()._get_custom_editor_class() # This alias is deprecated and will be removed in TraitsUI 8. ToolkitEditorFactory = EnumEditor traitsui-7.2.1/traitsui/editors/styled_date_editor.py0000644000076500000240000000270314046644454023547 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! from traits.api import Bool, List, Str from traitsui.editors.date_editor import DateEditor class StyledDateEditor(DateEditor): """ A DateEditor that can show sets of dates in different styles. """ #: The name of a dictionary on the object that maps names to groups #: (list/tuples) of datetime.date objects. Each of these groups can be #: styled using the **styles** dict. dates_trait = Str() #: The name of a dictionary on the object that maps names of styles to #: CellFormat objects. The names used must match the names used in the #: **dates** dict. styles_trait = Str() #: Allow selection of arbitrary dates in the past. allow_past = Bool(True) #: Allow selection of arbitrary dates in the future. allow_future = Bool(True) #: A list of strings that will be offered as an alternative to specifying #: an absolute date, and instead specify a relative date. relative_dates = List() # This alias is deprecated and will be removed in TraitsUI 8. ToolkitEditorFactory = StyledDateEditor traitsui-7.2.1/traitsui/editors/default_override.py0000644000076500000240000000474614046644454023234 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! """ Editor factory that overrides certain attributes of the default editor. For example, the default editor for Range(low=0, high=1500) has '1500' as the upper label. To change it to 'Max' instead, use my_range = Range(low=0, high=1500, editor=DefaultOverride(high_label='Max')) Alternatively, the override can also be specified in the view: View(Item('my_range', editor=DefaultOverride(high_label='Max')) """ from traits.api import Dict from traitsui.editor_factory import EditorFactory class DefaultOverride(EditorFactory): """Editor factory for selectively overriding certain parameters of the default editor. """ _overrides = Dict() def __init__(self, *args, **overrides): EditorFactory.__init__(self, *args) self._overrides = overrides def _customise_default( self, editor_kind, ui, object, name, description, parent ): """ Obtain the given trait's default editor and set the parameters specified in `overrides` above. """ trait = object.trait(name) editor_factory = trait.trait_type.create_editor() for option in self._overrides: setattr(editor_factory, option, self._overrides[option]) editor = getattr(editor_factory, editor_kind)( ui, object, name, description, parent ) return editor def simple_editor(self, ui, object, name, description, parent): return self._customise_default( "simple_editor", ui, object, name, description, parent ) def custom_editor(self, ui, object, name, description, parent): return self._customise_default( "custom_editor", ui, object, name, description, parent ) def text_editor(self, ui, object, name, description, parent): return self._customise_default( "text_editor", ui, object, name, description, parent ) def readonly_editor(self, ui, object, name, description, parent): return self._customise_default( "readonly_editor", ui, object, name, description, parent ) traitsui-7.2.1/traitsui/editors/scrubber_editor.py0000644000076500000240000000363114046644454023056 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! """ Editor factory for scrubber-based integer or float value editors. """ from pyface.ui_traits import Alignment from traits.api import Float, Property from traitsui.basic_editor_factory import BasicEditorFactory from traitsui.toolkit import toolkit_object from traitsui.toolkit_traits import Color # ------------------------------------------------------------------------- # Create the editor factory object: # ------------------------------------------------------------------------- # Editor factory for scrubber-based integer or float value editors. class ScrubberEditor(BasicEditorFactory): #: The editor class to be instantiated: klass = Property() #: The low end of the scrubber range: low = Float() #: The high end of the scrubber range: high = Float() #: The normal increment (default: auto-calculate): increment = Float() #: The alignment of the text within the scrubber: alignment = Alignment("center") #: The background color for the scrubber: color = Color(None) #: The hover mode background color for the scrubber: hover_color = Color(None) #: The active mode background color for the scrubber: active_color = Color(None) #: The scrubber border color: border_color = Color(None) #: The color to use for the value text: text_color = Color("black") def _get_klass(self): """ Returns the toolkit-specific editor class to be instantiated. """ return toolkit_object("scrubber_editor:_ScrubberEditor") traitsui-7.2.1/traitsui/editors/compound_editor.py0000644000076500000240000000256114046644454023074 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! """ Defines the compound editor factory for all traits toolkit backends. """ from traits.api import Bool, List from traitsui.editor_factory import EditorFactory # ------------------------------------------------------------------------- # Trait definitions: # ------------------------------------------------------------------------- # List of component editor factories used to build a compound editor editors_trait = List(EditorFactory) class CompoundEditor(EditorFactory): """ Editor factory for compound editors. """ # ------------------------------------------------------------------------- # Trait definitions: # ------------------------------------------------------------------------- #: Component editor factories used to build the editor editors = editors_trait #: Is user input set on every keystroke? auto_set = Bool(True) # This alias is deprecated and will be removed in TraitsUI 8. ToolkitEditorFactory = CompoundEditor traitsui-7.2.1/traitsui/editors/key_binding_editor.py0000644000076500000240000000223114046644454023524 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! """ Defines the key binding editor for use with the KeyBinding class. This is a specialized editor used to associate a particular key with a control (i.e., the key binding editor). """ from traitsui.basic_editor_factory import BasicEditorFactory from traitsui.toolkit import toolkit_object # Callable which returns the editor to use in the ui. def key_binding_editor(*args, **traits): return toolkit_object("key_binding_editor:KeyBindingEditor")( *args, **traits ) # ------------------------------------------------------------------------- # Create the editor factory object: # ------------------------------------------------------------------------- KeyBindingEditor = ToolkitEditorFactory = BasicEditorFactory( klass=key_binding_editor ) traitsui-7.2.1/traitsui/editors/button_editor.py0000644000076500000240000000567314046644454022572 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! """ Defines the button editor factory for all traits toolkit backends. """ from pyface.ui_traits import Image from traits.api import Str, Range, Enum, Property, Either from traitsui.editor_factory import EditorFactory from traitsui.ui_traits import AView from traitsui.view import View class ButtonEditor(EditorFactory): """ Editor factory for buttons. """ # ------------------------------------------------------------------------- # Trait definitions: # ------------------------------------------------------------------------- #: Value to set when the button is clicked value = Property() #: Optional label for the button label = Str() #: The name of the external object trait that the button label is synced to label_value = Str() #: The name of the trait on the object that contains the list of possible #: values. If this is set, then the value, label, and label_value traits #: are ignored; instead, they will be set from this list. When this button #: is clicked, the value set will be the one selected from the drop-down. values_trait = Either(None, Str) #: (Optional) Image to display on the button image = Image #: The name of the external object trait that the button image is synced to image_value = Str() #: Extra padding to add to both the left and the right sides width_padding = Range(0, 31, 7) #: Extra padding to add to both the top and the bottom sides height_padding = Range(0, 31, 5) #: Presentation style style = Enum("button", "radio", "toolbar", "checkbox") #: Orientation of the text relative to the image orientation = Enum("vertical", "horizontal") #: The optional view to display when the button is clicked: view = AView # ------------------------------------------------------------------------- # Traits view definition: # ------------------------------------------------------------------------- traits_view = View(["label", "value", "|[]"]) def _get_value(self): return self._value def _set_value(self, value): self._value = value if isinstance(value, str): try: self._value = int(value) except ValueError: try: self._value = float(value) except ValueError: pass def __init__(self, **traits): self._value = 0 super().__init__(**traits) # This alias is deprecated and will be removed in TraitsUI 8. ToolkitEditorFactory = ButtonEditor traitsui-7.2.1/traitsui/editors/time_editor.py0000644000076500000240000000230714046644454022204 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! """ A Traits UI editor that wraps a timer control. """ from traits.api import Str from traitsui.editor_factory import EditorFactory from traitsui.ui_traits import AView class TimeEditor(EditorFactory): """ Editor factory for time editors. """ # ------------------------------------------------------------------------- # Trait definitions: # ------------------------------------------------------------------------- # -- ReadonlyEditor traits ------------------------------------------------ #: Message to show when Time is None. message = Str("Undefined") #: The string representation of the time to show. Uses time.strftime #: format. strftime = Str("%I:%M:%S %p") #: An optional view to display when a read-only text editor is clicked: view = AView traitsui-7.2.1/traitsui/editors/datetime_editor.py0000644000076500000240000000246614046644454023050 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! """ A Traits UI editor """ import datetime from traits.api import Datetime, Str from traitsui.editor_factory import EditorFactory class DatetimeEditor(EditorFactory): """ Editor factory for the datetime editor. """ # ------------------------------------------------------------------------- # Trait definitions: # ------------------------------------------------------------------------- #: The earliest datetime allowed by the editor minimum_datetime = Datetime(datetime.datetime(100, 1, 1)) #: The latest datetime allowed by the editor maximum_datetime = Datetime(datetime.datetime.max) # -- ReadonlyEditor traits ------------------------------------------------ #: Message to show when datetime is None. message = Str("Undefined") #: The string representation of the datetime to show. Uses time.strftime #: format. strftime = Str("%Y-%m-%dT%H:%M:%S") traitsui-7.2.1/traitsui/editors/tabular_editor.py0000644000076500000240000001376114046644454022706 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! """ A traits UI editor for editing tabular data (arrays, list of tuples, lists of objects, etc). """ import warnings from pyface.ui_traits import Image from traits.api import Str, Bool, Property, List, Enum, Instance from traitsui.basic_editor_factory import BasicEditorFactory from traitsui.toolkit import toolkit_object class TabularEditor(BasicEditorFactory): """ Editor factory for tabular editors. """ # -- Trait Definitions ---------------------------------------------------- #: The editor class to be created: klass = Property() #: Should column headers (i.e. titles) be displayed? show_titles = Bool(True) #: Should row headers be displayed (Qt4 only)? show_row_titles = Bool(False) #: The optional extended name of the trait used to indicate that a complete #: table update is needed: update = Str() #: The optional extended name of the trait used to indicate that the table #: just needs to be repainted. refresh = Str() #: Should the table update automatically when the table item's contents #: change? Note that in order for this feature to work correctly, the #: editor trait should be a list of objects derived from HasTraits. Also, #: performance can be affected when very long lists are used, since #: enabling this feature adds and removed Traits listeners to each item in #: the list. auto_update = Bool(False) #: The optional extended name of the trait to synchronize the selection #: values with: selected = Str() #: The optional extended name of the trait to synchronize the selection #: rows with: selected_row = Str() #: Whether or not to allow selection. selectable = Bool(True) #: The optional extended name of the trait to synchronize the activated #: value with: activated = Str() #: The optional extended name of the trait to synchronize the activated #: value's row with: activated_row = Str() #: The optional extended name of the trait to synchronize left click data #: with. The data is a TabularEditorEvent: clicked = Str() #: The optional extended name of the trait to synchronize left double click #: data with. The data is a TabularEditorEvent: dclicked = Str() #: The optional extended name of the trait to synchronize right click data #: with. The data is a TabularEditorEvent: right_clicked = Str() #: The optional extended name of the trait to synchronize right double #: clicked data with. The data is a TabularEditorEvent: right_dclicked = Str() #: The optional extended name of the trait to synchronize column #: clicked data with. The data is a TabularEditorEvent: column_clicked = Str() #: The optional extended name of the trait to synchronize column #: right clicked data with. The data is a TabularEditorEvent: column_right_clicked = Str() #: The optional extended name of the Event trait that should be used to #: trigger a scroll-to command. The data is an integer giving the row. scroll_to_row = Str() #: The optional extended name of the Event trait that should be used to #: trigger a scroll-to command. The data is an integer giving the column. scroll_to_column = Str() #: Deprecated: Controls behavior of scroll to row and scroll to column scroll_to_row_hint = Property(Str, observe="scroll_to_position_hint") #: (replacement of scroll_to_row_hint, but more clearly named) #: Controls behavior of scroll to row and scroll to column scroll_to_position_hint = Enum("visible", "center", "top", "bottom") #: Can the user edit the values? editable = Bool(True) #: Can the user edit the labels (i.e. the first column) editable_labels = Bool(False) #: Are multiple selected items allowed? multi_select = Bool(False) #: Should horizontal lines be drawn between items? horizontal_lines = Bool(True) #: Should vertical lines be drawn between items? vertical_lines = Bool(True) #: Should the columns automatically resize? Don't allow this when the #: amount of data is large. auto_resize = Bool(False) #: Should the rows automatically resize (Qt4 only)? Don't allow #: this when the amount of data is large. auto_resize_rows = Bool(False) #: Whether to stretch the last column to fit the available space. stretch_last_section = Bool(True) #: The adapter from trait values to editor values: adapter = Instance("traitsui.tabular_adapter.TabularAdapter", ()) #: What type of operations are allowed on the list: operations = List( Enum("delete", "insert", "append", "edit", "move"), ["delete", "insert", "append", "edit", "move"], ) #: Are 'drag_move' operations allowed (i.e. True), or should they always be #: treated as 'drag_copy' operations (i.e. False): drag_move = Bool(True) #: The set of images that can be used: images = List(Image) def _get_klass(self): """ Returns the toolkit-specific editor class to be instantiated. """ return toolkit_object("tabular_editor:TabularEditor") def _get_scroll_to_row_hint(self): warnings.warn( "Use of scroll_to_row_hint trait is deprecated. " "Use scroll_to_position_hint instead.", DeprecationWarning, ) return self.scroll_to_position_hint def _set_scroll_to_row_hint(self, hint): warnings.warn( "Use of scroll_to_row_hint trait is deprecated. " "Use scroll_to_position_hint instead.", DeprecationWarning, ) self.scroll_to_position_hint = hint traitsui-7.2.1/traitsui/editors/directory_editor.py0000644000076500000240000000134714046644454023255 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! """ Defines the directory editor factory for all traits toolkit backends. """ from traitsui.editors.file_editor import FileEditor class DirectoryEditor(FileEditor): """ Editor factory for directory editors. """ pass # This alias is deprecated and will be removed in TraitsUI 8. ToolkitEditorFactory = DirectoryEditor traitsui-7.2.1/traitsui/editors/value_editor.py0000644000076500000240000000600714046644454022363 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! """ Defines the tree-based Python value editor and the value editor factory. """ from traits.api import Bool, Instance, Int from traitsui.editor import Editor from traitsui.editor_factory import EditorFactory from traitsui.editors.tree_editor import TreeEditor from traitsui.item import Item from traitsui.value_tree import RootNode, value_tree_nodes from traitsui.view import View # ------------------------------------------------------------------------- # 'SimpleEditor' class: # ------------------------------------------------------------------------- class _ValueEditor(Editor): """ Simple style of editor for values, which displays a tree. """ # ------------------------------------------------------------------------- # Trait definitions: # ------------------------------------------------------------------------- #: Is the editor read only? readonly = Bool(False) #: The root node of the value tree root = Instance(RootNode) #: Is the value editor scrollable? This values overrides the default. scrollable = True def init(self, parent): """ Finishes initializing the editor by creating the underlying toolkit widget. """ self.update_editor() editor = TreeEditor( auto_open=self.factory.auto_open, hide_root=True, editable=False, nodes=value_tree_nodes, ) self._ui = self.edit_traits( parent=parent, view=View( Item("root", show_label=False, editor=editor), kind="subpanel" ), ) self._ui.parent = self.ui self.control = self._ui.control def update_editor(self): """ Updates the editor when the object trait changes external to the editor. """ self.root = RootNode(name="", value=self.value, readonly=self.readonly) def dispose(self): """ Disposes of the contents of an editor. """ self._ui.dispose() super().dispose() def get_error_control(self): """ Returns the editor's control for indicating error status. """ return self._ui.get_error_controls() class ValueEditor(EditorFactory): """ Editor factory for tree-based value editors. """ # ------------------------------------------------------------------------- # Trait definitions: # ------------------------------------------------------------------------- #: Number of tree levels to automatically open auto_open = Int(2) # This alias is deprecated and will be removed in TraitsUI 8. ToolkitEditorFactory = ValueEditor traitsui-7.2.1/traitsui/editors/set_editor.py0000644000076500000240000000235514046644454022044 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! """ Defines the set editor factory for all traits user interface toolkits. """ from traits.api import Bool, Str from traitsui.editor_factory import EditorWithListFactory class SetEditor(EditorWithListFactory): """ Editor factory for editors for sets. """ # ------------------------------------------------------------------------- # Trait definitions: # ------------------------------------------------------------------------- #: Are the items in the set ordered (vs. unordered)? ordered = Bool(False) #: Can the user add and delete all items in the set at once? can_move_all = Bool(True) #: Title of left column: left_column_title = Str() #: Title of right column: right_column_title = Str() # This alias is deprecated and will be removed in TraitsUI 8. ToolkitEditorFactory = SetEditor traitsui-7.2.1/traitsui/editors/image_editor.py0000644000076500000240000000330514046644454022327 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! """ Traits UI 'display only' image editor. """ from pyface.ui_traits import Image from traits.api import Bool, Property from traitsui.basic_editor_factory import BasicEditorFactory from traitsui.toolkit import toolkit_object # ------------------------------------------------------------------------- # 'ImageEditor' editor factory class: # ------------------------------------------------------------------------- class ImageEditor(BasicEditorFactory): #: The editor class to be created: klass = Property() #: The optional image resource to be displayed by the editor (if not #: specified, the editor's object value is used as the ImageResource to #: display): image = Image #: The following traits are currently supported on Qt only #: Whether or not to scale the image to fit the available space scale = Bool() #: Whether or not to scale the image larger than the original when scaling allow_upscaling = Bool() #: Whether or not to preserve the aspect ratio when scaling preserve_aspect_ratio = Bool() #: Whether or not to allow the image to be clipped when not scaling allow_clipping = Bool() def _get_klass(self): """ Returns the editor class to be instantiated. """ return toolkit_object("image_editor:_ImageEditor") traitsui-7.2.1/traitsui/editors/popup_editor.py0000644000076500000240000000604014046644454022407 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! from traits.api import Float, Enum, Any, Property from traitsui.basic_editor_factory import BasicEditorFactory from traitsui.editor_factory import EditorFactory from traitsui.editors.text_editor import TextEditor from traitsui.item import Item from traitsui.toolkit import toolkit_object from traitsui.ui_editor import UIEditor from traitsui.ui_traits import EditorStyle from traitsui.view import View # ------------------------------------------------------------------------- # '_PopupEditor' class: # ------------------------------------------------------------------------- class _PopupEditor(UIEditor): def init_ui(self, parent): """ Creates the traits UI for the editor. """ return self.object.edit_traits(view=self.base_view(), parent=parent) def base_view(self): """ Returns the View that allows the popup view to be displayed. """ return View( Item( self.name, show_label=False, style="readonly", editor=TextEditor(view=self.popup_view()), padding=-4, ), kind="subpanel", ) def popup_view(self): """ Returns the popup View. """ factory = self.factory item = Item( self.name, show_label=False, padding=-4, style=factory.style, height=factory.height, width=factory.width, ) editor = factory.editor if editor is not None: if not isinstance(editor, EditorFactory): editor = editor() item.editor = editor return View(item, kind=factory.kind) # ------------------------------------------------------------------------- # 'PopupEditor' class: # ------------------------------------------------------------------------- class PopupEditor(BasicEditorFactory): #: The class used to construct editor objects: klass = Property() #: The kind of popup to use: kind = Enum("popover", "popup", "info") #: The editor to use for the pop-up view (can be None (use default editor), #: an EditorFactory instance, or a callable that returns an EditorFactory #: instance): editor = Any() #: The style of editor to use for the popup editor (same as Item.style): style = EditorStyle #: The height of the popup (same as Item.height): height = Float(-1.0) #: The width of the popup (same as Item.width): width = Float(-1.0) def _get_klass(self): """ The class used to construct editor objects. """ return toolkit_object("popup_editor:_PopupEditor") traitsui-7.2.1/traitsui/editors/history_editor.py0000644000076500000240000000252514046644454022751 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! """ Defines a text editor which displays a text field and maintains a history of previously entered values. """ from traits.api import Int, Bool from traitsui.basic_editor_factory import BasicEditorFactory from traitsui.toolkit import toolkit_object # Define callable which returns the 'klass' value (i.e. the editor to use in # the EditorFactory. def history_editor(*args, **traits): return toolkit_object("history_editor:_HistoryEditor")(*args, **traits) # ------------------------------------------------------------------------- # Create the editor factory object: # ------------------------------------------------------------------------- class ToolkitEditorFactory(BasicEditorFactory): #: The number of entries in the history: entries = Int(10) #: Should each keystroke update the value (or only the enter key, tab, #: etc.)? auto_set = Bool(False) HistoryEditor = ToolkitEditorFactory(klass=history_editor) traitsui-7.2.1/traitsui/list_str_adapter.py0000644000076500000240000002662214046644454021600 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! """ Defines adapter interfaces for use with the ListStrEditor. """ from traits.api import ( Any, Bool, Enum, Event, HasPrivateTraits, Int, Interface, List, Str, observe, provides, ) from .toolkit_traits import Color # ------------------------------------------------------------------------- # 'IListStrAdapter' interface: # ------------------------------------------------------------------------- class IListStrAdapter(Interface): #: The index of the current item being adapted. index = Int() #: Current item being adapted. item = Any() #: The current value (if any). value = Any() #: Does the adapter know how to handle the current *item* or not? accepts = Bool() #: Does the value of *accepts* depend only upon the type of *item*? is_cacheable = Bool() # ------------------------------------------------------------------------- # 'AnIListStrAdapter' class: # ------------------------------------------------------------------------- @provides(IListStrAdapter) class AnIListStrAdapter(HasPrivateTraits): # Implementation of the IListStrAdapter Interface ------------------------ #: The index of the current item being adapted. index = Int() #: Current item being adapted. item = Any() #: The current value (if any). value = Any() #: Does the adapter know how to handle the current *item* or not? accepts = Bool(True) #: Does the value of *accepts* depend only upon the type of *item*? is_cacheable = Bool(True) # ------------------------------------------------------------------------- # 'ListStrAdapter' class: # ------------------------------------------------------------------------- class ListStrAdapter(HasPrivateTraits): """ The base class for adapting list items to values that can be edited by a ListStrEditor. """ # Trait Definitions ------------------------------------------------------ #: Specifies the default value for a new list item. default_value = Any("") #: Specifies the default text for a new list item. default_text = Str() #: The default text color for even list items. even_text_color = Color(None, update=True) #: The default text color for odd list items. odd_text_color = Color(None, update=True) #: The default text color for list items. text_color = Color(None, update=True) #: The default background color for even list items. even_bg_color = Color(None, update=True) #: The default background color for odd list items. odd_bg_color = Color(None, update=True) #: The default background color for list items. bg_color = Color(None, update=True) #: The name of the default image to use for list items. image = Str(None, update=True) #: Can the text value of each list item be edited. can_edit = Bool(True) #: Specifies where a dropped item should be placed in the list relative to #: the item it is dropped on. dropped = Enum("after", "before") #: The index of the current item being adapter. index = Int() #: The current item being adapted. item = Any() #: The current value (if any). value = Any() #: List of optional delegated adapters. adapters = List(IListStrAdapter, update=True) # -- Private Trait Definitions -------------------------------------------- #: Cache of attribute handlers. cache = Any({}) #: Event fired when the cache is flushed. cache_flushed = Event(update=True) # -- Adapter methods that are sensitive to item type ---------------------- def get_can_edit(self, object, trait, index): """ Returns whether the user can edit a specified *object.trait[index]* list item. A True result indicates the value can be edited, while a False result indicates that it cannot be edited. """ return self._result_for("get_can_edit", object, trait, index) def get_drag(self, object, trait, index): """ Returns the 'drag' value for a specified *object.trait[index]* list item. A result of *None* means that the item cannot be dragged. """ return self._result_for("get_drag", object, trait, index) def get_can_drop(self, object, trait, index, value): """ Returns whether the specified *value* can be dropped on the specified *object.trait[index]* list item. A value of **True** means the *value* can be dropped; and a value of **False** indicates that it cannot be dropped. """ return self._result_for("get_can_drop", object, trait, index, value) def get_dropped(self, object, trait, index, value): """ Returns how to handle a specified *value* being dropped on a specified *object.trait[index]* list item. The possible return values are: 'before' Insert the specified *value* before the dropped on item. 'after' Insert the specified *value* after the dropped on item. """ return self._result_for("get_dropped", object, trait, index, value) def get_text_color(self, object, trait, index): """ Returns the text color for a specified *object.trait[index]* list item. A result of None means use the default list item text color. """ return self._result_for("get_text_color", object, trait, index) def get_bg_color(self, object, trait, index): """ Returns the background color for a specified *object.trait[index]* list item. A result of None means use the default list item background color. """ return self._result_for("get_bg_color", object, trait, index) def get_image(self, object, trait, index): """ Returns the name of the image to use for a specified *object.trait[index]* list item. A result of None means no image should be used. Otherwise, the result should either be the name of the image, or an ImageResource item specifying the image to use. """ return self._result_for("get_image", object, trait, index) def get_item(self, object, trait, index): """ Returns the value of the *object.trait[index]* list item. """ return self._result_for("get_item", object, trait, index) def get_text(self, object, trait, index): """ Returns the text to display for a specified *object.trait[index]* list item. """ return self._result_for("get_text", object, trait, index) # -- Adapter methods that are not sensitive to item type ------------------ def len(self, object, trait): """ Returns the number of items in the specified *object.trait* list. """ # Sometimes, during shutdown, the object has been set to None. if object is None: return 0 else: return len(getattr(object, trait)) def get_default_value(self, object, trait): """ Returns a new default value for the specified *object.trait* list. """ return self.default_value def get_default_text(self, object, trait): """ Returns the default text for the specified *object.trait* list. """ return self.default_text def get_default_image(self, object, trait): """ Returns the default image for the specified *object.trait* list. """ return self.image def get_default_bg_color(self, object, trait): """ Returns the default background color for the specified *object.trait* list. """ return self._get_bg_color() def get_default_text_color(self, object, trait): """ Returns the default text color for the specified *object.trait* list. """ return self._get_text_color() def set_text(self, object, trait, index, text): """ Sets the text for a specified *object.trait[index]* list item to *text*. """ getattr(object, trait)[index] = text def delete(self, object, trait, index): """ Deletes the specified *object.trait[index]* list item. """ del getattr(object, trait)[index] def insert(self, object, trait, index, value): """ Inserts a new value at the specified *object.trait[index]* list index. """ getattr(object, trait)[index:index] = [value] # -- Private Adapter Implementation Methods ------------------------------- def _get_can_edit(self): return self.can_edit def _get_drag(self): return str(self.item) def _get_can_drop(self): return isinstance(self.value, str) def _get_dropped(self): return self.dropped def _get_text_color(self): if (self.index % 2) == 0: return self.even_text_color_ or self.text_color_ return self.odd_text_color or self.text_color_ def _get_bg_color(self): if (self.index % 2) == 0: return self.even_bg_color_ or self.bg_color_ return self.odd_bg_color or self.bg_color_ def _get_image(self): return self.image def _get_item(self): return self.item def _get_text(self): return str(self.item) # -- Private Methods ------------------------------------------------------ def _result_for(self, name, object, trait, index, value=None): """ Returns/Sets the value of the specified *name* attribute for the specified *object.trait[index]* list item. """ self.index = index self.value = value items = getattr(object, trait) if index >= len(items): self.item = item = None else: self.item = item = items[index] item_class = item.__class__ key = "%s:%s" % (item_class.__name__, name) handler = self.cache.get(key) if handler is not None: return handler() trait_name = name[4:] for adapter in self.adapters: adapter.index = index adapter.item = item adapter.value = value if adapter.accepts and (adapter.trait(trait_name) is not None): handler = lambda: getattr( adapter.trait_set( index=self.index, item=self.item, value=self.value ), trait_name, ) if adapter.is_cacheable: break return handler() else: for klass in item_class.__mro__: cname = "%s_%s" % (klass.__name__, trait_name) if self.trait(cname) is not None: handler = lambda: getattr(self, cname) break else: handler = getattr(self, "_" + name) self.cache[key] = handler return handler() @observe("adapters.items.+update") def _flush_cache(self, event): """ Flushes the cache when any trait on any adapter changes. """ self.cache = {} self.cache_flushed = True traitsui-7.2.1/traitsui/tests/0000755000076500000240000000000014046644526017015 5ustar aayresstaff00000000000000traitsui-7.2.1/traitsui/tests/test_handler.py0000644000076500000240000001746014046644454022053 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! from unittest import TestCase from pyface.action.api import ActionEvent from traits.api import HasTraits, Bool from traitsui.api import ( Action, CloseAction, Handler, HelpAction, RedoAction, RevertAction, UI, UndoAction, ) from traitsui.tests._tools import BaseTestMixin class PyfaceAction(Action): name = "Test Action" performed = Bool() def perform(self, event): self.performed = True class TraitsUIAction(Action): name = "Test Action" performed = Bool() def perform(self): self.performed = True class SampleHandler(Handler): action_performed = Bool() info_action_performed = Bool() click_performed = Bool() undo_performed = Bool() redo_performed = Bool() revert_performed = Bool() apply_performed = Bool() close_performed = Bool() help_performed = Bool() def action_handler(self): self.action_performed = True def info_action_handler(self, info): self.info_action_performed = True def revert(self, info): self.revert_perfomed = True def apply(self, info): self.apply_perfomed = True def show_help(self, info, control=None): self.help_performed = True def _action_clicked(self): self.click_performed = True def _on_undo(self, info): super()._on_undo(info) self.undo_performed = True def _on_redo(self, info): super()._on_redo(info) self.redo_performed = True def _on_revert(self, info): super()._on_revert(info) self.revert_performed = True def _on_close(self, info): super()._on_close(info) self.close_performed = True class SampleObject(HasTraits): object_action_performed = Bool() action_performed = Bool() info_action_performed = Bool() click_performed = Bool() def object_action_handler(self): self.object_action_performed = True def action_handler(self): self.action_performed = True def info_action_handler(self, info): self.info_action_performed = True def _action_click(self): self.click_performed = True class TestHandler(BaseTestMixin, TestCase): def setUp(self): BaseTestMixin.setUp(self) def tearDown(self): BaseTestMixin.tearDown(self) def test_perform_pyface_action(self): object = SampleObject() handler = SampleHandler() action = PyfaceAction() event = ActionEvent() ui = UI(handler=handler, context={"object": object}) info = ui.info handler.perform(info, action, event) self.assertTrue(action.performed) def test_perform_traitsui_action(self): object = SampleObject() handler = SampleHandler() action = TraitsUIAction() event = ActionEvent() ui = UI(handler=handler, context={"object": object}) info = ui.info handler.perform(info, action, event) self.assertTrue(action.performed) self.assertFalse(handler.action_performed) self.assertFalse(handler.info_action_performed) self.assertFalse(handler.click_performed) self.assertFalse(object.action_performed) self.assertFalse(object.info_action_performed) self.assertFalse(object.click_performed) def test_perform_action_handler(self): object = SampleObject() handler = SampleHandler() action = TraitsUIAction(name="action", action="action_handler") event = ActionEvent() ui = UI(handler=handler, context={"object": object}) info = ui.info handler.perform(info, action, event) self.assertTrue(handler.action_performed) self.assertFalse(handler.info_action_performed) self.assertFalse(handler.click_performed) self.assertFalse(object.action_performed) self.assertFalse(object.info_action_performed) self.assertFalse(object.click_performed) self.assertFalse(action.performed) def test_perform_info_action_handler(self): object = SampleObject() handler = SampleHandler() action = TraitsUIAction(name="action", action="info_action_handler") event = ActionEvent() ui = UI(handler=handler, context={"object": object}) info = ui.info handler.perform(info, action, event) self.assertTrue(handler.info_action_performed) self.assertFalse(handler.action_performed) self.assertFalse(handler.click_performed) self.assertFalse(object.action_performed) self.assertFalse(object.info_action_performed) self.assertFalse(object.click_performed) self.assertFalse(action.performed) def test_perform_click_handler(self): object = SampleObject() handler = SampleHandler() action = TraitsUIAction(name="action", action="") event = ActionEvent() ui = UI(handler=handler, context={"object": object}) info = ui.info handler.perform(info, action, event) self.assertTrue(handler.click_performed) self.assertFalse(handler.action_performed) self.assertFalse(handler.info_action_performed) self.assertFalse(object.action_performed) self.assertFalse(object.info_action_performed) self.assertFalse(object.click_performed) self.assertFalse(action.performed) def test_perform_object_handler(self): object = SampleObject() handler = SampleHandler() action = TraitsUIAction(name="action", action="object_action_handler") event = ActionEvent() ui = UI(handler=handler, context={"object": object}) info = ui.info handler.perform(info, action, event) self.assertTrue(object.object_action_performed) self.assertFalse(action.performed) def test_undo_handler(self): object = SampleObject() handler = SampleHandler() action = UndoAction event = ActionEvent() ui = UI(handler=handler, context={"object": object}) info = ui.info handler.perform(info, action, event) self.assertTrue(handler.undo_performed) def test_redo_handler(self): object = SampleObject() handler = SampleHandler() action = RedoAction event = ActionEvent() ui = UI(handler=handler, context={"object": object}) info = ui.info handler.perform(info, action, event) self.assertTrue(handler.redo_performed) def test_revert_handler(self): object = SampleObject() handler = SampleHandler() action = RevertAction event = ActionEvent() ui = UI(handler=handler, context={"object": object}) info = ui.info handler.perform(info, action, event) self.assertTrue(handler.revert_performed) def test_close_handler(self): object = SampleObject() handler = SampleHandler() action = CloseAction event = ActionEvent() ui = UI(handler=handler, context={"object": object}) info = ui.info handler.perform(info, action, event) self.assertTrue(handler.close_performed) def test_help_handler(self): object = SampleObject() handler = SampleHandler() action = HelpAction event = ActionEvent() ui = UI(handler=handler, context={"object": object}) info = ui.info handler.perform(info, action, event) self.assertTrue(handler.help_performed) traitsui-7.2.1/traitsui/tests/test_toolkit.py0000644000076500000240000000435214046644454022117 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! from contextlib import contextmanager import unittest from traits.trait_base import ETSConfig import traitsui.toolkit from traitsui.tests._tools import BaseTestMixin @contextmanager def clear_toolkit(): """ If a toolkit has been selected, clear it, resetting on exit """ old_ETS_toolkit = ETSConfig._toolkit old_traitsui_toolkit = traitsui.toolkit._toolkit ETSConfig._toolkit = "" traitsui.toolkit._toolkit = None try: yield finally: ETSConfig._toolkit = old_ETS_toolkit traitsui.toolkit._toolkit = old_traitsui_toolkit class TestToolkit(BaseTestMixin, unittest.TestCase): def setUp(self): BaseTestMixin.setUp(self) def tearDown(self): BaseTestMixin.tearDown(self) def test_default_toolkit(self): with clear_toolkit(): # try to import default toolkit - this is just a smoke test tk = traitsui.toolkit.toolkit() self.assertNotEqual(ETSConfig.toolkit, "") self.assertIsInstance(tk, traitsui.toolkit.Toolkit) def test_nonstandard_toolkit(self): with clear_toolkit(): # try to import a non-default toolkit tk = traitsui.toolkit.toolkit("null") self.assertEqual(ETSConfig.toolkit, "null") from traitsui.null import toolkit self.assertIs(tk, toolkit) def test_nonexistent_toolkit(self): with clear_toolkit(): # try to import a non-existent toolkit tk = traitsui.toolkit.toolkit("nosuchtoolkit") # should fail, and give us a standard toolkit, but don't know which # exactly we get what depends on what is installed in test # environment self.assertTrue(ETSConfig.toolkit in {"null", "qt4", "wx", "qt"}) self.assertTrue(tk.toolkit in {"null", "qt4", "wx", "qt"}) traitsui-7.2.1/traitsui/tests/test_shadow_group.py0000644000076500000240000000253314046644454023132 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! """ Tests for the ShadowGroup class. """ import unittest from traitsui.api import Group from traitsui.group import ShadowGroup from traitsui.tests._tools import BaseTestMixin class TestShadowGroup(BaseTestMixin, unittest.TestCase): def setUp(self): BaseTestMixin.setUp(self) def tearDown(self): BaseTestMixin.tearDown(self) def test_creation_sets_shadow_first(self): group = Group() # We end up with a DelegationError if the 'shadow' trait is not set # first. Initialization order is dependent on dictionary order, which # we can't control, so we throw in a good number of other traits to # increase the chance that some other trait is set first. ShadowGroup( label="dummy", show_border=True, show_labels=True, show_left=True, orientation="horizontal", scrollable=True, shadow=group, ) traitsui-7.2.1/traitsui/tests/test_context_value.py0000644000076500000240000000512614046644454023312 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! import unittest from traits.testing.unittest_tools import UnittestTools from traits.api import HasTraits, Str from traitsui.tests._tools import BaseTestMixin from traitsui.context_value import ContextValue, CVFloat, CVInt, CVStr, CVType class CVExample(HasTraits): cv_float = CVFloat cv_int = CVInt cv_str = CVStr cv_unicode = CVType(Str, something="meta", sync_value="both") class TestContextvalue(BaseTestMixin, UnittestTools, unittest.TestCase): def setUp(self): BaseTestMixin.setUp(self) def tearDown(self): BaseTestMixin.tearDown(self) def test_context_value(self): cv = ContextValue("trait_name") self.assertEqual(cv.name, "trait_name") def test_cv_float_constant(self): cve = CVExample(cv_float=1.1) self.assertEqual(cve.cv_float, 1.1) def test_cv_float_context_value(self): cv = ContextValue("trait_name") cve = CVExample(cv_float=cv) self.assertIs(cve.cv_float, cv) def test_cv_int_constant(self): cve = CVExample(cv_int=1) self.assertEqual(cve.cv_int, 1) def test_cv_int_context_value(self): cv = ContextValue("trait_name") cve = CVExample(cv_int=cv) self.assertIs(cve.cv_int, cv) def test_cv_str_constant(self): cve = CVExample(cv_str="test") self.assertEqual(cve.cv_str, "test") def test_cv_str_context_value(self): cv = ContextValue("trait_name") cve = CVExample(cv_str=cv) self.assertIs(cve.cv_str, cv) def test_cv_unicode_constant(self): cve = CVExample(cv_unicode="test") self.assertEqual(cve.cv_unicode, "test") def test_cv_unicode_context_value(self): cv = ContextValue("trait_name") cve = CVExample(cv_unicode=cv) self.assertIs(cve.cv_unicode, cv) def test_cv_unicode_not_none(self): with self.assertRaises(Exception): CVExample(cv_unicode=None) def test_metadata(self): cve = CVExample() t = cve.trait("cv_unicode") self.assertEqual(t.something, "meta") self.assertEqual(t.sync_value, "both") t = cve.trait("cv_float") self.assertEqual(t.sync_value, "to") traitsui-7.2.1/traitsui/tests/test_helper.py0000644000076500000240000000641514046644454021713 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! from unittest import TestCase from traitsui.helper import compute_column_widths from traitsui.tests._tools import BaseTestMixin class TestComputeColumnWidths(BaseTestMixin, TestCase): def setUp(self): BaseTestMixin.setUp(self) def tearDown(self): BaseTestMixin.tearDown(self) def test_all_default(self): available_space = 200 requested = [-1, -1, -1, -1] widths = compute_column_widths(available_space, requested, None, None) self.assertEqual(widths, [50, 50, 50, 50]) def test_all_fixed(self): available_space = 200 requested = [10, 50, 40, 20] widths = compute_column_widths(available_space, requested, None, None) self.assertEqual(widths, [10, 50, 40, 20]) def test_all_fixed_too_wide(self): available_space = 100 requested = [10, 50, 40, 20] widths = compute_column_widths(available_space, requested, None, None) self.assertEqual(widths, [10, 50, 40, 20]) def test_all_weighted(self): available_space = 200 requested = [0.3, 0.2, 0.25, 0.25] widths = compute_column_widths(available_space, requested, None, None) self.assertEqual(widths, [60, 40, 50, 50]) def test_all_weighted_default_min(self): available_space = 200 requested = [0.4, 0.1, 0.1, 0.4] widths = compute_column_widths(available_space, requested, None, None) self.assertEqual(widths, [70, 30, 30, 70]) def test_mixed(self): available_space = 200 requested = [0.5, 50, 25, 0.75] widths = compute_column_widths(available_space, requested, None, None) self.assertEqual(widths, [50, 50, 25, 75]) def test_mixed_too_wide(self): available_space = 100 requested = [0.5, 50, 25, 0.75] widths = compute_column_widths(available_space, requested, None, None) self.assertEqual(widths, [30, 50, 25, 30]) def test_user_widths(self): available_space = 225 requested = [0.5, 50, 25, 0.75] user_widths = [None, None, 50, None] widths = compute_column_widths( available_space, requested, None, user_widths ) self.assertEqual(widths, [50, 50, 50, 75]) def test_min_widths(self): available_space = 225 requested = [0.5, 50, 0.25, 0.75] min_widths = [30, 100, 50, 30] widths = compute_column_widths( available_space, requested, min_widths, None ) self.assertEqual(widths, [50, 50, 50, 75]) def test_user_and_min_widths(self): available_space = 200 requested = [0.5, 50, 0.25, 0.75] min_widths = [30, 100, 50, 30] user_widths = [None, 75, 25, 50] widths = compute_column_widths( available_space, requested, min_widths, user_widths ) self.assertEqual(widths, [50, 75, 25, 50]) traitsui-7.2.1/traitsui/tests/_tools.py0000644000076500000240000002062714046644454020675 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! import enum import re import sys from unittest import skipIf, TestSuite from pyface.toolkit import toolkit_object from traits.api import ( pop_exception_handler, push_exception_handler, ) from traits.etsconfig.api import ETSConfig # These functions are imported by traitsui's own tests. They can be redirected # to traitsui.testing and then these aliases can be removed. from traitsui.testing._exception_handling import reraise_exceptions # noqa from traitsui.testing._gui import process_cascade_events # noqa: F401 from traitsui.testing.api import UITester # ######### Testing tools # Toolkit constants class ToolkitName(enum.Enum): wx = "wx" qt = "qt" null = "null" def is_wx(): """ Return true if the toolkit backend is wx. """ return ETSConfig.toolkit == ToolkitName.wx.name def is_qt(): """ Return true if the toolkit backend is Qt (that includes Qt4 or Qt5, etc.) """ return ETSConfig.toolkit.startswith(ToolkitName.qt.name) def is_qt5(): """ Return true if the toolkit backend is Qt5. """ if not is_qt(): return False # Only AFTER confirming Qt's availability... # We lean on Pyface here since the check is complicated. import pyface.qt return pyface.qt.is_qt5 def is_null(): """ Return true if the toolkit backend is null. """ return ETSConfig.toolkit == ToolkitName.null.name def requires_toolkit(toolkits): """ Decorator factory for skipping tests if the current toolkit is not one of the given values. Parameters ---------- toolkits : iterable of members of ToolkitName e.g. ``list(ToolkitName)`` to include all toolkits. """ mapping = { ToolkitName.null: is_null, ToolkitName.qt: is_qt, ToolkitName.wx: is_wx, } return skipIf( not any(mapping[toolkit]() for toolkit in toolkits), "Test requires one of these toolkits: {}".format(toolkits) ) #: True if current platform is MacOS is_mac_os = sys.platform.startswith("darwin") def count_calls(func): """Decorator that stores the number of times a function is called. The counter is stored in func._n_counts. """ def wrapped(*args, **kwargs): wrapped._n_calls += 1 return func(*args, **kwargs) wrapped._n_calls = 0 return wrapped def filter_tests(test_suite, exclusion_pattern): filtered_test_suite = TestSuite() for item in test_suite: if isinstance(item, TestSuite): filtered = filter_tests(item, exclusion_pattern) filtered_test_suite.addTest(filtered) else: match = re.search(exclusion_pattern, item.id()) if match is not None: skip_msg = "Test excluded via pattern '{}'".format( exclusion_pattern ) setattr(item, 'setUp', lambda: item.skipTest(skip_msg)) filtered_test_suite.addTest(item) return filtered_test_suite def create_ui(object, ui_kwargs=None): """ Context manager for creating a UI and then dispose it when exiting the context. Parameters ---------- object : HasTraits An object from which ``edit_traits`` can be called to create a UI ui_kwargs : dict or None Keyword arguments to be provided to ``edit_traits``. Yields ------ ui: UI """ return UITester().create_ui(object=object, ui_kwargs=ui_kwargs) # ######### Utility tools to test on both qt4 and wx def get_children(node): if is_wx(): return node.GetChildren() else: return node.children() def press_ok_button(ui): """Press the OK button in a wx or qt dialog.""" if is_wx(): import wx ok_button = ui.control.FindWindowByName("button", ui.control) click_event = wx.CommandEvent( wx.wxEVT_COMMAND_BUTTON_CLICKED, ok_button.GetId() ) ok_button.ProcessEvent(click_event) elif is_qt(): from pyface import qt # press the OK button and close the dialog ok_button = ui.control.findChild(qt.QtGui.QPushButton) ok_button.click() def click_button(button): """Click the button given its control.""" if is_wx(): import wx event = wx.CommandEvent(wx.EVT_BUTTON.typeId, button.GetId()) event.SetEventObject(button) wx.PostEvent(button, event) elif is_qt(): button.click() else: raise NotImplementedError() def is_control_enabled(control): """Return if the given control is enabled or not.""" if is_wx(): return control.IsEnabled() elif is_qt(): return control.isEnabled() else: raise NotImplementedError() def get_dialog_size(ui_control): """Return the size of the dialog. Return a tuple (width, height) with the size of the dialog in pixels. E.g.: >>> get_dialog_size(ui.control) """ if is_wx(): return ui_control.GetSize() elif is_qt(): return ui_control.size().width(), ui_control.size().height() def get_all_button_status(control): """Get status of all 2-state (wx) or checkable (qt) buttons under given control. Assumes all sizer children (wx) or layout items (qt) are buttons. """ button_status = [] if is_wx(): for item in control.GetSizer().GetChildren(): button = item.GetWindow() # Ignore empty buttons (assumption that they are invisible) if button.value != "": button_status.append(button.GetValue()) elif is_qt(): layout = control.layout() for i in range(layout.count()): button = layout.itemAt(i).widget() button_status.append(button.isChecked()) else: raise NotImplementedError() return button_status # ######### Debug tools def apply_on_children(func, node, _level=0): """Print the result of applying a function on `node` and its children. """ print("-" * _level + str(node)) print(" " * _level + str(func(node)) + "\n") for child in get_children(node): apply_on_children(func, child, _level + 1) def wx_print_names(node): """Print the name and id of `node` and its children. Use as:: >>> ui = xxx.edit_traits() >>> wx_print_names(ui.control) """ apply_on_children(lambda n: (n.GetName(), n.GetId()), node) def qt_print_names(node): """Print the name of `node` and its children. Use as:: >>> ui = xxx.edit_traits() >>> qt_print_names(ui.control) """ apply_on_children(lambda n: n.objectName(), node) def wx_announce_when_destroyed(node): """Prints a message when `node` is destroyed. Use as: >>> ui = xxx.edit_traits() >>> apply_on_children(wx_announce_when_destroyed, ui.control) """ _destroy_method = node.Destroy def destroy_wrapped(): print("Destroying:", node) # print 'Stack is' # traceback.print_stack() _destroy_method() print("Destroyed:", node) node.Destroy = destroy_wrapped return "Node {} decorated".format(node.GetName()) def wx_find_event_by_number(evt_num): """Find all wx event names that correspond to a certain event number. Example: >>> wx_find_event_by_number(10010) ['wxEVT_COMMAND_MENU_SELECTED', 'wxEVT_COMMAND_TOOL_CLICKED'] """ import wx possible = [ attr for attr in dir(wx) if attr.startswith("wxEVT") and getattr(wx, attr) == evt_num ] return possible GuiTestAssistant = toolkit_object("util.gui_test_assistant:GuiTestAssistant") no_gui_test_assistant = GuiTestAssistant.__name__ == "Unimplemented" if no_gui_test_assistant: # ensure null toolkit has an inheritable GuiTestAssistant class GuiTestAssistant(object): pass class BaseTestMixin: """ This is a mixin class for all test cases in TraitsUI, regardless of whether GUI is involved. Not to be used externally. """ def setUp(self): push_exception_handler(reraise_exceptions=True) def tearDown(self): pop_exception_handler() traitsui-7.2.1/traitsui/tests/test_actions.py0000644000076500000240000001422414046644454022071 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! """ Test that menu and toolbar actions are triggered. """ from functools import partial import pyface import unittest from traits.has_traits import HasTraits from traits.trait_types import Bool from traitsui.menu import Action, ActionGroup, Menu, MenuBar, ToolBar from traitsui.item import Item from traitsui.view import View from traitsui.tests._tools import ( BaseTestMixin, create_ui, is_mac_os, is_null, requires_toolkit, reraise_exceptions, ToolkitName, ) if is_null(): raise unittest.SkipTest("Not supported using the null backend") TestAction = Action( name="Test", action="test_clicked", tooltip="Click to test" ) class DialogWithToolbar(HasTraits): """Test dialog with toolbar and menu.""" action_successful = Bool(False) def test_clicked(self): self.action_successful = True menubar = MenuBar(Menu(ActionGroup(TestAction), name="&Test menu")) toolbar = ToolBar(ActionGroup(TestAction)) traits_view = View( Item( label="Click the button on the toolbar or the menu item.\n" "The 'Action successful' element should turn to True." ), Item("action_successful", style="readonly"), menubar=menubar, toolbar=toolbar, buttons=[TestAction, "OK"], ) # ----- qt4 helper functions def _qt_trigger_action(container_class, ui): toolbar = ui.control.findChild(container_class) action = toolbar.actions()[0] action.trigger() def _qt_click_button(ui): from pyface.qt.QtGui import QDialogButtonBox bbox = ui.control.findChild(QDialogButtonBox) button = bbox.buttons()[1] button.click() class TestActions(BaseTestMixin, unittest.TestCase): def setUp(self): BaseTestMixin.setUp(self) def tearDown(self): BaseTestMixin.tearDown(self) def _test_actions(self, trigger_action_func): """Template test for wx, qt4, menu, and toolbar testing. """ # Behavior: when clicking on a menu or toolbar action, # the corresponding function should be executed # create dialog with toolbar adn menu dialog = DialogWithToolbar() with reraise_exceptions(), create_ui(dialog) as ui: # press toolbar or menu button trigger_action_func(ui) # verify that the action was triggered self.assertTrue(dialog.action_successful) # ----- Qt tests @requires_toolkit([ToolkitName.qt]) def test_qt_toolbar_action(self): # Behavior: when clicking on a toolbar action, the corresponding # function should be executed # Bug: in the Qt4 backend, a # TypeError: perform() takes exactly 2 arguments (1 given) was raised # instead qt_trigger_toolbar_action = partial( _qt_trigger_action, pyface.ui.qt4.action.tool_bar_manager._ToolBar ) self._test_actions(qt_trigger_toolbar_action) @requires_toolkit([ToolkitName.qt]) def test_qt_menu_action(self): # Behavior: when clicking on a menu action, the corresponding function # should be executed # Bug: in the Qt4 backend, a # TypeError: perform() takes exactly 2 arguments (1 given) was raised # instead qt_trigger_menu_action = partial( _qt_trigger_action, pyface.ui.qt4.action.menu_manager._Menu ) self._test_actions(qt_trigger_menu_action) @requires_toolkit([ToolkitName.qt]) def test_qt_button_action(self): # Behavior: when clicking on a button action, the corresponding # function should be executed # Bug: in the Qt4 backend, a # TypeError: perform() takes exactly 2 arguments (1 given) was raised # instead self._test_actions(_qt_click_button) # ----- wx tests @unittest.skipIf( not is_mac_os, "Problem with triggering toolbar actions on Linux and Windows. Issue #428.", # noqa: E501 ) @requires_toolkit([ToolkitName.wx]) def test_wx_toolbar_action(self): # Behavior: when clicking on a toolbar action, the corresponding # function should be executed import wx def _wx_trigger_toolbar_action(ui): # long road to get at the Id of the toolbar button toolbar_item = ui.view.toolbar.groups[0].items[0] toolbar_item_wrapper = toolbar_item._wrappers[0] control_id = toolbar_item_wrapper.control_id # build event that clicks the button click_event = wx.CommandEvent( wx.wxEVT_COMMAND_TOOL_CLICKED, control_id ) # send the event to the toolbar toolbar = ui.control.FindWindowByName("toolbar") toolbar.ProcessEvent(click_event) self._test_actions(_wx_trigger_toolbar_action) @requires_toolkit([ToolkitName.wx]) def test_wx_button_action(self): # Behavior: when clicking on a button action, the corresponding # function should be executed import wx def _wx_trigger_button_action(ui): # long road to get at the Id of the toolbar button button_sizer = ui.control.GetSizer().GetChildren()[2].GetSizer() button = button_sizer.GetChildren()[0].GetWindow() control_id = button.GetId() # build event that clicks the button click_event = wx.CommandEvent( wx.wxEVT_COMMAND_BUTTON_CLICKED, control_id ) # send the event to the toolbar ui.control.ProcessEvent(click_event) self._test_actions(_wx_trigger_button_action) # TODO: I couldn't find a way to press menu items programmatically for wx if __name__ == "__main__": # Execute from command line for manual testing vw = DialogWithToolbar() vw.configure_traits() traitsui-7.2.1/traitsui/tests/test_editor.py0000644000076500000240000007713314046644454021727 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! import unittest from pyface.toolkit import toolkit_object from traits.api import ( Any, Bool, Event, Float, HasTraits, Int, List, Range, Undefined ) from traits.trait_base import xgetattr from traitsui.context_value import ContextValue, CVFloat, CVInt from traitsui.editor import Editor from traitsui.editor_factory import EditorFactory from traitsui.handler import default_handler from traitsui.ui import UI from traitsui.testing.api import ( KeyClick, KeySequence, Textbox, UITester ) from traitsui.tests._tools import ( BaseTestMixin, GuiTestAssistant, is_mac_os, no_gui_test_assistant, requires_toolkit, ToolkitName, ) ModalDialogTester = toolkit_object( "util.modal_dialog_tester:ModalDialogTester" ) no_modal_dialog_tester = ModalDialogTester.__name__ == "Unimplemented" class FakeControl(HasTraits): """ A pure Traits object that fakes being a control. It can aither hold a value (mimicking a field), or have an event which is listened to (mimicking a button or similar control). """ #: The value stored in the control. control_value = Any() #: An event which also can be fired. control_event = Event() #: The tooltip text for the control. tooltip = Any() class StubEditorFactory(EditorFactory): """ A minimal editor factory This simply holds state that may or may not be copied to the editor. No attempt is made to handle custom/readonly/etc. variation. """ #: Whether or not the traits are events. is_event = Bool() #: Whether or not the traits are events. auxiliary_value = Any(sync_value=True) #: Whether or not the traits are events. auxiliary_cv_int = CVInt #: Whether or not the traits are events. auxiliary_cv_float = CVFloat def _auxiliary_cv_int_default(self): return 0 def _auxiliary_cv_float_default(self): return 0.0 class StubEditor(Editor): """ A minimal editor implementaton for a StubEditorFactory. The editor creates a FakeControl instance as its control object and keeps values synchronized either to `control_value` or `control_event` (if `is_event` is True). """ #: Whether or not the traits are events. is_event = Bool() #: An auxiliary value we want to synchronize. auxiliary_value = Any() #: An auxiliary list we want to synchronize. auxiliary_list = List() #: An auxiliary event we want to synchronize. auxiliary_event = Event() #: An auxiliary int we want to synchronize with a context value. auxiliary_cv_int = Int(sync_value="from") #: An auxiliary float we want to synchronize with a context value. auxiliary_cv_float = Float() def init(self, parent): self.control = FakeControl() self.is_event = self.factory.is_event if self.is_event: self.control.on_trait_change(self.update_object, "control_event") else: self.control.on_trait_change(self.update_object, "control_value") self.set_tooltip() def dispose(self): if self.is_event: self.control.on_trait_change( self.update_object, "control_event", remove=True ) else: self.control.on_trait_change( self.update_object, "control_value", remove=True ) super().dispose() def update_editor(self): if self.is_event: self.control.control_event = True else: self.control.control_value = self.value def update_object(self, new): if self.control is not None: if not self._no_update: self._no_update = True try: self.value = new finally: self._no_update = False def set_tooltip_text(self, control, text): control.tooltip = text def set_focus(self, parent): pass class UserObject(HasTraits): """ A simple HasTraits class with a variety of state. """ #: The value being edited. user_value = Any("test") #: An auxiliary user value user_auxiliary = Any(10) #: A list user value user_list = List(["one", "two", "three"]) #: A trait with desc metadata. user_desc = Any("test", desc="a trait with desc metadata") #: A trait with tooltip metadata. user_tooltip = Any("test", tooltip="a tooltip") #: An event user value user_event = Event() #: A state that is to be synchronized with the editor. invalid_state = Bool() def create_editor( context=None, object_name="object", name="user_value", factory=None, is_event=False, description="", ): if context is None: user_object = UserObject() context = {"object": user_object} elif "." in object_name: context_name, xname = object_name.split(".", 1) context_object = context[context_name] user_object = xgetattr(context_object, xname) else: user_object = context[object_name] ui = UI(context=context, handler=default_handler()) if factory is None: factory = StubEditorFactory() factory.is_event = is_event editor = StubEditor( parent=None, ui=ui, object_name=object_name, name=name, factory=factory, object=user_object, description=description, ) return editor @unittest.skipIf(no_gui_test_assistant, "No GuiTestAssistant") class TestEditor(BaseTestMixin, GuiTestAssistant, unittest.TestCase): def setUp(self): BaseTestMixin.setUp(self) GuiTestAssistant.setUp(self) def tearDown(self): GuiTestAssistant.tearDown(self) BaseTestMixin.tearDown(self) def change_user_value(self, editor, object, name, value): if editor.is_event: control_name = "control_event" else: control_name = "control_value" # test the value in the control changes with self.assertTraitChanges(editor.control, control_name, count=1): self.gui.set_trait_later(object, name, value) self.event_loop_helper.event_loop_with_timeout(repeat=6) def change_control_value(self, editor, object, name, value): if editor.is_event: control_name = "control_event" else: control_name = "control_value" # test the value in the user object changes with self.assertTraitChanges(object, name, count=1): self.gui.set_trait_later(editor.control, control_name, value) self.event_loop_helper.event_loop_with_timeout(repeat=6) def test_lifecycle(self): editor = create_editor() self.assertEqual(editor.old_value, "test") self.assertEqual(editor.name, "user_value") self.assertEqual(editor.extended_name, "user_value") self.assertEqual(editor.value, "test") self.assertEqual(editor.str_value, "test") self.assertIs(editor.value_trait, editor.object.trait("user_value")) self.assertIs(editor.context_object, editor.ui.context["object"]) editor.prepare(None) # preparation creates the control and sets the control value self.assertEqual(editor.value, "test") self.assertEqual(editor.control.control_value, "test") with self.assertTraitChanges(editor.ui, "modified", count=1): self.change_user_value( editor, editor.object, "user_value", "new test" ) self.assertEqual(editor.value, "new test") self.assertEqual(editor.control.control_value, "new test") self.assertTrue(editor.ui.modified) self.change_control_value( editor, editor.object, "user_value", "even newer test" ) self.assertEqual(editor.value, "even newer test") self.assertEqual(editor.object.user_value, "even newer test") editor.dispose() self.assertIsNone(editor.object) self.assertIsNone(editor.factory) self.assertIsNone(editor.control) def test_context_object(self): user_object = UserObject(user_value="other_test") context = {"object": UserObject(), "other_object": user_object} editor = create_editor( context=context, object_name="other_object" ) self.assertEqual(editor.old_value, "other_test") self.assertEqual(editor.name, "user_value") self.assertEqual(editor.extended_name, "user_value") self.assertIs(editor.context_object, editor.ui.context["other_object"]) editor.prepare(None) # preparation creates the control and sets the control value self.assertEqual(editor.value, "other_test") self.assertEqual(editor.control.control_value, "other_test") self.change_user_value(editor, user_object, "user_value", "new test") self.assertEqual(editor.value, "new test") self.assertEqual(editor.control.control_value, "new test") self.change_control_value( editor, user_object, "user_value", "even newer test" ) self.assertEqual(editor.value, "even newer test") self.assertEqual(editor.object.user_value, "even newer test") editor.dispose() def test_event_trait(self): editor = create_editor(name="user_event", is_event=True) user_object = editor.object self.assertEqual(editor.name, "user_event") self.assertEqual(editor.extended_name, "user_event") self.assertIs(editor.context_object, editor.ui.context["object"]) editor.prepare(None) # preparation creates the control and sets the control value self.assertIs(editor.value, Undefined) self.change_user_value(editor, user_object, "user_event", True) self.change_control_value(editor, user_object, "user_event", True) editor.dispose() def test_chained_object(self): context = { "object": UserObject( user_auxiliary=UserObject(user_value="other_test") ) } user_object = context["object"].user_auxiliary editor = create_editor( context=context, object_name="object.user_auxiliary" ) self.assertEqual(editor.old_value, "other_test") self.assertEqual(editor.name, "user_value") self.assertEqual(editor.extended_name, "user_auxiliary.user_value") self.assertIs(editor.context_object, editor.ui.context["object"]) editor.prepare(None) # preparation creates the control and sets the control value self.assertEqual(editor.value, "other_test") self.assertEqual(editor.control.control_value, "other_test") self.change_user_value(editor, user_object, "user_value", "new test") self.assertEqual(editor.value, "new test") self.assertEqual(editor.control.control_value, "new test") self.change_control_value( editor, user_object, "user_value", "even newer test" ) self.assertEqual(editor.value, "even newer test") self.assertEqual(editor.object.user_value, "even newer test") # test changing the chained object new_user_object = UserObject(user_value="new object") with self.assertTraitChanges(editor, "object", count=1): self.change_user_value( editor, context["object"], "user_auxiliary", new_user_object ) self.assertEqual(editor.value, "new object") self.assertIs(editor.object, new_user_object) self.assertEqual(editor.object.user_value, "new object") editor.dispose() def test_factory_sync_simple(self): factory = StubEditorFactory(auxiliary_value="test") editor = create_editor(factory=factory) editor.prepare(None) # preparation copies the auxiliary value from the factory self.assertIs(editor.auxiliary_value, "test") editor.dispose() def test_factory_sync_cv_simple(self): factory = StubEditorFactory() editor = create_editor(factory=factory) editor.prepare(None) # preparation copies the auxiliary CV int value from the factory self.assertIs(editor.auxiliary_cv_int, 0) editor.dispose() def test_parse_extended_name(self): context = { "object": UserObject( user_auxiliary=UserObject(user_value="other_test") ), "other_object": UserObject(user_value="another_test"), } editor = create_editor(context=context) editor.prepare(None) # test simple name object, name, getter = editor.parse_extended_name("user_value") value = getter() self.assertIs(object, context["object"]) self.assertEqual(name, "user_value") self.assertEqual(value, "test") # test different context object name object, name, getter = editor.parse_extended_name( "other_object.user_value" ) value = getter() self.assertIs(object, context["other_object"]) self.assertEqual(name, "user_value") self.assertEqual(value, "another_test") # test chained name object, name, getter = editor.parse_extended_name( "object.user_auxiliary.user_value" ) value = getter() self.assertIs(object, context["object"]) self.assertEqual(name, "user_auxiliary.user_value") self.assertEqual(value, "other_test") editor.dispose() def test_tooltip_default(self): context = { "object": UserObject(), } editor = create_editor(context=context) editor.prepare(None) # test tooltip text try: self.assertIsNone(editor.control.tooltip) tooltip_text = editor.tooltip_text() self.assertIsNone(tooltip_text) set_tooltip_result = editor.set_tooltip() self.assertFalse(set_tooltip_result) except Exception: editor.dispose() raise def test_tooltip_from_description(self): context = { "object": UserObject(), } editor = create_editor(context=context, description="a tooltip") editor.prepare(None) # test tooltip text try: self.assertEqual(editor.control.tooltip, "a tooltip") tooltip_text = editor.tooltip_text() self.assertEqual(tooltip_text, "a tooltip") set_tooltip_result = editor.set_tooltip() self.assertTrue(set_tooltip_result) except Exception: editor.dispose() raise def test_tooltip_text_with_tooltip(self): context = { "object": UserObject(), } editor = create_editor(context=context, name='user_tooltip') editor.prepare(None) # test tooltip text try: self.assertEqual(editor.control.tooltip, "a tooltip") tooltip_text = editor.tooltip_text() self.assertEqual(tooltip_text, "a tooltip") set_tooltip_result = editor.set_tooltip() self.assertTrue(set_tooltip_result) except Exception: editor.dispose() raise def test_tooltip_text_with_desc(self): context = { "object": UserObject(), } editor = create_editor(context=context, name='user_desc') editor.prepare(None) # test tooltip text try: self.assertEqual( editor.control.tooltip, "Specifies a trait with desc metadata", ) tooltip_text = editor.tooltip_text() self.assertEqual( tooltip_text, "Specifies a trait with desc metadata", ) set_tooltip_result = editor.set_tooltip() self.assertTrue(set_tooltip_result) except Exception: editor.dispose() raise def test_tooltip_other_control(self): context = { "object": UserObject(), } editor = create_editor(context=context, description="a tooltip") editor.prepare(None) # test tooltip text try: other_control = FakeControl() set_tooltip_result = editor.set_tooltip(other_control) self.assertTrue(set_tooltip_result) self.assertEqual(other_control.tooltip, "a tooltip") except Exception: editor.dispose() raise # Test synchronizing built-in trait values between factory # and editor. def test_factory_sync_invalid_state(self): # Test when object's trait that sets the invalid state changes, # the invalid state on the editor changes factory = StubEditorFactory(invalid="invalid_state") user_object = UserObject(invalid_state=False) context = { "object": user_object, } editor = create_editor(context=context, factory=factory) editor.prepare(None) self.addCleanup(editor.dispose) with self.assertTraitChanges(editor, "invalid", count=1): user_object.invalid_state = True self.assertTrue(editor.invalid) with self.assertTraitChanges(editor, "invalid", count=1): user_object.invalid_state = False self.assertFalse(editor.invalid) # Testing sync_value "from" --------------------------------------------- def test_sync_value_from(self): editor = create_editor() user_object = editor.object editor.prepare(None) with self.assertTraitChanges(editor, "auxiliary_value", count=1): editor.sync_value( "object.user_auxiliary", "auxiliary_value", "from" ) self.assertEqual(editor.auxiliary_value, 10) with self.assertTraitChanges(editor, "auxiliary_value", count=1): user_object.user_auxiliary = 11 self.assertEqual(editor.auxiliary_value, 11) editor.dispose() with self.assertTraitDoesNotChange(editor, "auxiliary_value"): user_object.user_auxiliary = 12 def test_sync_value_from_object(self): editor = create_editor() user_object = editor.object editor.prepare(None) with self.assertTraitChanges(editor, "auxiliary_value", count=1): editor.sync_value("user_auxiliary", "auxiliary_value", "from") self.assertEqual(editor.auxiliary_value, 10) with self.assertTraitChanges(editor, "auxiliary_value", count=1): user_object.user_auxiliary = 11 self.assertEqual(editor.auxiliary_value, 11) editor.dispose() with self.assertTraitDoesNotChange(editor, "auxiliary_value"): user_object.user_auxiliary = 12 def test_sync_value_from_context(self): # set up the editor user_object = UserObject() other_object = UserObject(user_auxiliary=20) context = {"object": user_object, "other_object": other_object} editor = create_editor(context=context) editor.prepare(None) with self.assertTraitChanges(editor, "auxiliary_value", count=1): editor.sync_value( "other_object.user_auxiliary", "auxiliary_value", "from" ) self.assertEqual(editor.auxiliary_value, 20) with self.assertTraitChanges(editor, "auxiliary_value", count=1): other_object.user_auxiliary = 11 self.assertEqual(editor.auxiliary_value, 11) editor.dispose() with self.assertTraitDoesNotChange(editor, "auxiliary_value"): other_object.user_auxiliary = 12 def test_sync_value_from_chained(self): # set up the editor user_object = UserObject(user_auxiliary=UserObject(user_value=20)) context = {"object": user_object} editor = create_editor(context=context) editor.prepare(None) with self.assertTraitChanges(editor, "auxiliary_value", count=1): editor.sync_value( "object.user_auxiliary.user_value", "auxiliary_value", "from" ) self.assertEqual(editor.auxiliary_value, 20) with self.assertTraitChanges(editor, "auxiliary_value", count=1): user_object.user_auxiliary.user_value = 11 self.assertEqual(editor.auxiliary_value, 11) with self.assertTraitChanges(editor, "auxiliary_value", count=1): user_object.user_auxiliary = UserObject(user_value=12) self.assertEqual(editor.auxiliary_value, 12) editor.dispose() with self.assertTraitDoesNotChange(editor, "auxiliary_value"): user_object.user_auxiliary.user_value = 13 def test_sync_value_from_list(self): editor = create_editor() user_object = editor.object editor.prepare(None) with self.assertTraitChanges(editor, "auxiliary_list", count=1): editor.sync_value( "object.user_list", "auxiliary_list", "from", is_list=True ) self.assertEqual(editor.auxiliary_list, ["one", "two", "three"]) with self.assertTraitChanges(editor, "auxiliary_list", count=1): user_object.user_list = ["one", "two"] self.assertEqual(editor.auxiliary_list, ["one", "two"]) with self.assertTraitChanges(editor, "auxiliary_list_items", count=1): user_object.user_list[1:] = ["four", "five"] self.assertEqual(editor.auxiliary_list, ["one", "four", "five"]) editor.dispose() with self.assertTraitDoesNotChange(editor, "auxiliary_list"): user_object.user_list = ["one", "two", "three"] def test_sync_value_from_event(self): editor = create_editor() user_object = editor.object editor.prepare(None) with self.assertTraitDoesNotChange(editor, "auxiliary_event"): editor.sync_value( "object.user_event", "auxiliary_event", "from", is_event=True ) with self.assertTraitChanges(editor, "auxiliary_event", count=1): user_object.user_event = True editor.dispose() with self.assertTraitDoesNotChange(editor, "auxiliary_event"): user_object.user_event = True def test_sync_value_from_cv(self): factory = StubEditorFactory( auxiliary_cv_int=ContextValue("object.user_auxiliary") ) editor = create_editor(factory=factory) user_object = editor.object with self.assertTraitChanges(editor, "auxiliary_cv_int", count=1): editor.prepare(None) self.assertEqual(editor.auxiliary_cv_int, 10) with self.assertTraitChanges(editor, "auxiliary_cv_int", count=1): user_object.user_auxiliary = 11 self.assertEqual(editor.auxiliary_cv_int, 11) editor.dispose() with self.assertTraitDoesNotChange(editor, "auxiliary_cv_int"): user_object.user_auxiliary = 12 # Testing sync_value "to" ----------------------------------------------- def test_sync_value_to(self): editor = create_editor() user_object = editor.object editor.prepare(None) editor.auxiliary_value = 20 with self.assertTraitChanges(user_object, "user_auxiliary", count=1): editor.sync_value("object.user_auxiliary", "auxiliary_value", "to") self.assertEqual(user_object.user_auxiliary, 20) with self.assertTraitChanges(user_object, "user_auxiliary", count=1): editor.auxiliary_value = 11 self.assertEqual(user_object.user_auxiliary, 11) editor.dispose() with self.assertTraitDoesNotChange(user_object, "user_auxiliary"): editor.auxiliary_value = 12 def test_sync_value_to_object(self): editor = create_editor() user_object = editor.object editor.prepare(None) editor.auxiliary_value = 20 with self.assertTraitChanges(user_object, "user_auxiliary", count=1): editor.sync_value("user_auxiliary", "auxiliary_value", "to") self.assertEqual(user_object.user_auxiliary, 20) with self.assertTraitChanges(user_object, "user_auxiliary", count=1): editor.auxiliary_value = 11 self.assertEqual(user_object.user_auxiliary, 11) editor.dispose() with self.assertTraitDoesNotChange(user_object, "user_auxiliary"): editor.auxiliary_value = 12 def test_sync_value_to_context(self): # set up the editor user_object = UserObject() other_object = UserObject() context = {"object": user_object, "other_object": other_object} editor = create_editor(context=context) editor.prepare(None) editor.auxiliary_value = 20 with self.assertTraitChanges(other_object, "user_auxiliary", count=1): editor.sync_value( "other_object.user_auxiliary", "auxiliary_value", "to" ) self.assertEqual(other_object.user_auxiliary, 20) with self.assertTraitChanges(other_object, "user_auxiliary", count=1): editor.auxiliary_value = 11 self.assertEqual(other_object.user_auxiliary, 11) editor.dispose() with self.assertTraitDoesNotChange(other_object, "user_auxiliary"): editor.auxiliary_value = 12 def test_sync_value_to_chained(self): user_object = UserObject(user_auxiliary=UserObject()) context = {"object": user_object} editor = create_editor(context=context) editor.prepare(None) editor.auxiliary_value = 20 with self.assertTraitChanges( user_object.user_auxiliary, "user_value", count=1 ): editor.sync_value( "object.user_auxiliary.user_value", "auxiliary_value", "to" ) self.assertEqual(user_object.user_auxiliary.user_value, 20) with self.assertTraitChanges( user_object.user_auxiliary, "user_value", count=1 ): editor.auxiliary_value = 11 self.assertEqual(user_object.user_auxiliary.user_value, 11) editor.dispose() with self.assertTraitDoesNotChange( user_object.user_auxiliary, "user_value" ): editor.auxiliary_value = 12 def test_sync_value_to_list(self): editor = create_editor() user_object = editor.object editor.prepare(None) with self.assertTraitChanges(user_object, "user_list", count=1): editor.sync_value( "object.user_list", "auxiliary_list", "to", is_list=True ) self.assertEqual(user_object.user_list, []) with self.assertTraitChanges(user_object, "user_list", count=1): editor.auxiliary_list = ["one", "two"] self.assertEqual(user_object.user_list, ["one", "two"]) with self.assertTraitChanges(user_object, "user_list_items", count=1): editor.auxiliary_list[1:] = ["four", "five"] self.assertEqual(user_object.user_list, ["one", "four", "five"]) editor.dispose() with self.assertTraitDoesNotChange(user_object, "user_list"): editor.auxiliary_list = ["one", "two", "three"] def test_sync_value_to_event(self): editor = create_editor() user_object = editor.object editor.prepare(None) with self.assertTraitDoesNotChange(user_object, "user_event"): editor.sync_value( "object.user_event", "auxiliary_event", "to", is_event=True ) with self.assertTraitChanges(user_object, "user_event", count=1): editor.auxiliary_event = True editor.dispose() with self.assertTraitDoesNotChange(user_object, "user_event"): editor.auxiliary_event = True def test_sync_value_to_cv(self): factory = StubEditorFactory( auxiliary_cv_float=ContextValue("object.user_auxiliary") ) editor = create_editor(factory=factory) user_object = editor.object editor.auxiliary_cv_float = 20.0 with self.assertTraitChanges(user_object, "user_auxiliary", count=1): editor.prepare(None) self.assertEqual(user_object.user_auxiliary, 20) with self.assertTraitChanges(user_object, "user_auxiliary", count=1): editor.auxiliary_cv_float = 11.0 self.assertEqual(user_object.user_auxiliary, 11) editor.dispose() with self.assertTraitDoesNotChange(user_object, "user_auxiliary"): editor.auxiliary_cv_float = 12.0 # Testing sync_value "both" ----------------------------------------------- def test_sync_value_both(self): editor = create_editor() user_object = editor.object editor.prepare(None) with self.assertTraitChanges(editor, "auxiliary_value", count=1): editor.sync_value( "object.user_auxiliary", "auxiliary_value", "both" ) self.assertEqual(editor.auxiliary_value, 10) with self.assertTraitChanges(editor, "auxiliary_value", count=1): user_object.user_auxiliary = 11 self.assertEqual(editor.auxiliary_value, 11) with self.assertTraitChanges(user_object, "user_auxiliary", count=1): editor.auxiliary_value = 12 self.assertEqual(user_object.user_auxiliary, 12) editor.dispose() with self.assertTraitDoesNotChange(editor, "auxiliary_value"): user_object.user_auxiliary = 13 with self.assertTraitDoesNotChange(user_object, "user_auxiliary"): editor.auxiliary_value = 14 # regression test for enthought/traitsui#1543 @requires_toolkit([ToolkitName.qt]) @unittest.skipIf(no_modal_dialog_tester, "ModalDialogTester unavailable") @unittest.skipIf( is_mac_os, "There is a separate issue on OSX. See enthought/traitsui#1550" ) def test_editor_error_msg(self): from pyface.qt import QtCore, QtGui class Foo(HasTraits): x = Range(low=0.0, high=1.0, value=0.5, exclude_low=True) foo = Foo() tester = UITester(auto_process_events=False) with tester.create_ui(foo) as ui: x_range = tester.find_by_name(ui, "x") x_range_textbox = x_range.locate(Textbox()) for _ in range(3): x_range_textbox.perform(KeyClick('Backspace')) x_range_textbox.perform(KeySequence('0.0')) def trigger_error(): x_range_textbox.perform(KeyClick('Enter')) def check_and_close(mdtester): try: with mdtester.capture_error(): self.assertTrue( mdtester.has_widget( text="The 'x' trait of a Foo instance must be " "0.0 < a floating point number <= 1.0, " "but a value of 0.0 was " "specified.", type_=QtGui.QMessageBox, ) ) self.assertEqual( mdtester.get_dialog_widget().textFormat(), QtCore.Qt.PlainText ) finally: mdtester.close(accept=True) self.assertTrue(mdtester.dialog_was_opened) mdtester = ModalDialogTester(trigger_error) mdtester.open_and_run(check_and_close) self.assertTrue(mdtester.dialog_was_opened) traitsui-7.2.1/traitsui/tests/editors/0000755000076500000240000000000014046644526020466 5ustar aayresstaff00000000000000traitsui-7.2.1/traitsui/tests/editors/test_tabular_editor.py0000644000076500000240000003355214046644454025107 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! import contextlib import unittest from traits.api import Event, HasTraits, Instance, Int, List, Str from traits.testing.api import UnittestTools from traitsui.api import Item, TabularEditor, View from traitsui.tabular_adapter import TabularAdapter from traitsui.tests._tools import ( BaseTestMixin, create_ui, is_wx, is_qt, process_cascade_events, requires_toolkit, reraise_exceptions, ToolkitName, ) class Person(HasTraits): name = Str() age = Int() def __repr__(self): return "Person(name={self.name!r}, age={self.age!r})".format(self=self) class ReportAdapter(TabularAdapter): columns = [("Name", "name"), ("Age", "age")] class Report(HasTraits): people = List(Person) selected = Instance(Person) selected_row = Int(-1) multi_selected = List(Instance(Person)) selected_rows = List(Int()) # Event for triggering a UI repaint. refresh = Event() # Event for triggering a UI table update. update = Event() def get_view(multi_select=False): if multi_select: return View( Item( name="people", editor=TabularEditor( adapter=ReportAdapter(), selected="multi_selected", selected_row="selected_rows", refresh="refresh", update="update", multi_select=True, ), ) ) else: return View( Item( name="people", editor=TabularEditor( adapter=ReportAdapter(), selected="selected", selected_row="selected_row", refresh="refresh", update="update", ), ) ) def get_selected_rows(editor): """ Returns a list of all currently selected rows. """ if is_wx(): import wx # "item" in this context means "row number" item = -1 selected = [] while True: item = editor.control.GetNextItem( item, wx.LIST_NEXT_ALL, wx.LIST_STATE_SELECTED ) if item == -1: break selected.append(item) return selected elif is_qt(): rows = editor.control.selectionModel().selectedRows() return [r.row() for r in rows] else: raise unittest.SkipTest("Test not implemented for this toolkit") def set_selected_single(editor, row): """ Selects a specified row in an editor with multi_select=False. """ if is_wx(): editor.control.Select(row) elif is_qt(): from pyface.qt.QtGui import QItemSelectionModel smodel = editor.control.selectionModel() mi = editor.model.index(row, 0) # Add `Rows` flag to select the whole row smodel.select( mi, QItemSelectionModel.ClearAndSelect | QItemSelectionModel.Rows ) else: raise unittest.SkipTest("Test not implemented for this toolkit") def set_selected_multiple(editor, rows): """ Clears old selection and selects specified rows in an editor with multi_select=True. """ if is_wx(): clear_selection(editor) for row in rows: editor.control.Select(row) elif is_qt(): from pyface.qt.QtGui import QItemSelectionModel clear_selection(editor) smodel = editor.control.selectionModel() for row in rows: mi = editor.model.index(row, 0) # Add `Rows` flag to select the whole row smodel.select( mi, QItemSelectionModel.Select | QItemSelectionModel.Rows ) else: raise unittest.SkipTest("Test not implemented for this toolkit") def clear_selection(editor): """ Clears existing selection. """ if is_wx(): import wx currently_selected = get_selected_rows(editor) # Deselect all currently selected items for selected_row in currently_selected: editor.control.SetItemState( selected_row, 0, wx.LIST_STATE_SELECTED ) elif is_qt(): editor.control.selectionModel().clearSelection() else: raise unittest.SkipTest("Test not implemented for this toolkit") @requires_toolkit([ToolkitName.qt, ToolkitName.wx]) class TestTabularEditor(BaseTestMixin, UnittestTools, unittest.TestCase): def setUp(self): BaseTestMixin.setUp(self) def tearDown(self): BaseTestMixin.tearDown(self) @unittest.skipIf(is_wx(), "Issue enthought/traitsui#752") def test_tabular_editor_single_selection(self): with reraise_exceptions(), \ self.report_and_editor(get_view()) as (report, editor): process_cascade_events() people = report.people self.assertEqual(report.selected_row, -1) self.assertIsNone(report.selected) set_selected_single(editor, 1) process_cascade_events() self.assertEqual(report.selected_row, 1) self.assertEqual(report.selected, people[1]) set_selected_single(editor, 2) process_cascade_events() self.assertEqual(report.selected_row, 2) self.assertEqual(report.selected, people[2]) # Can't clear selection via UI when multi_select=False @unittest.skipIf(is_wx(), "Issue enthought/traitsui#752") def test_tabular_editor_multi_selection(self): view = get_view(multi_select=True) with reraise_exceptions(), \ self.report_and_editor(view) as (report, editor): process_cascade_events() people = report.people self.assertEqual(report.selected_rows, []) self.assertEqual(report.multi_selected, []) set_selected_multiple(editor, [0, 1]) process_cascade_events() self.assertEqual(report.selected_rows, [0, 1]) self.assertEqual(report.multi_selected, people[:2]) set_selected_multiple(editor, [2]) process_cascade_events() self.assertEqual(report.selected_rows, [2]) self.assertEqual(report.multi_selected, [people[2]]) clear_selection(editor) process_cascade_events() self.assertEqual(report.selected_rows, []) self.assertEqual(report.multi_selected, []) @unittest.skipIf(is_wx(), "Issue enthought/traitsui#752") def test_tabular_editor_single_selection_changed(self): with reraise_exceptions(), \ self.report_and_editor(get_view()) as (report, editor): process_cascade_events() people = report.people self.assertEqual(get_selected_rows(editor), []) report.selected_row = 1 process_cascade_events() self.assertEqual(get_selected_rows(editor), [1]) self.assertEqual(report.selected, people[1]) report.selected = people[2] process_cascade_events() self.assertEqual(get_selected_rows(editor), [2]) self.assertEqual(report.selected_row, 2) # Selected set to invalid value doesn't change anything report.selected = Person(name="invalid", age=-1) process_cascade_events() self.assertEqual(get_selected_rows(editor), [2]) self.assertEqual(report.selected_row, 2) # -1 clears selection report.selected_row = -1 process_cascade_events() self.assertEqual(get_selected_rows(editor), []) self.assertEqual(report.selected, None) @unittest.skipIf(is_wx(), "Issue enthought/traitsui#752") def test_tabular_editor_multi_selection_changed(self): view = get_view(multi_select=True) with reraise_exceptions(), \ self.report_and_editor(view) as (report, editor): process_cascade_events() people = report.people self.assertEqual(get_selected_rows(editor), []) report.selected_rows = [0, 1] process_cascade_events() self.assertEqual(get_selected_rows(editor), [0, 1]) self.assertEqual(report.multi_selected, people[:2]) report.multi_selected = [people[2], people[0]] process_cascade_events() self.assertEqual(sorted(get_selected_rows(editor)), [0, 2]) self.assertEqual(sorted(report.selected_rows), [0, 2]) # If there's a single invalid value, nothing is updated invalid_person = Person(name="invalid", age=-1) report.multi_selected = [people[2], invalid_person] process_cascade_events() self.assertEqual(sorted(get_selected_rows(editor)), [0, 2]) self.assertEqual(sorted(report.selected_rows), [0, 2]) # Empty list clears selection report.selected_rows = [] process_cascade_events() self.assertEqual(get_selected_rows(editor), []) self.assertEqual(report.multi_selected, []) @unittest.skipIf(is_wx(), "Issue enthought/traitsui#752") def test_tabular_editor_multi_selection_items_changed(self): view = get_view(multi_select=True) with reraise_exceptions(), \ self.report_and_editor(view) as (report, editor): process_cascade_events() people = report.people self.assertEqual(get_selected_rows(editor), []) report.selected_rows.extend([0, 1]) process_cascade_events() self.assertEqual(get_selected_rows(editor), [0, 1]) self.assertEqual(report.multi_selected, people[:2]) report.selected_rows[1] = 2 process_cascade_events() self.assertEqual(get_selected_rows(editor), [0, 2]) self.assertEqual(report.multi_selected, people[0:3:2]) report.multi_selected[0] = people[1] process_cascade_events() self.assertEqual(sorted(get_selected_rows(editor)), [1, 2]) self.assertEqual(sorted(report.selected_rows), [1, 2]) # If there's a single invalid value, nothing is updated report.multi_selected[0] = Person(name="invalid", age=-1) process_cascade_events() self.assertEqual(sorted(get_selected_rows(editor)), [1, 2]) self.assertEqual(sorted(report.selected_rows), [1, 2]) def test_selected_reacts_to_model_changes(self): with self.report_and_editor(get_view()) as (report, editor): people = report.people self.assertIsNone(report.selected) self.assertEqual(report.selected_row, -1) report.selected = people[1] self.assertEqual(report.selected, people[1]) self.assertEqual(report.selected_row, 1) report.selected = None self.assertIsNone(report.selected) self.assertEqual(report.selected_row, -1) report.selected_row = 0 self.assertEqual(report.selected, people[0]) self.assertEqual(report.selected_row, 0) report.selected_row = -1 self.assertIsNone(report.selected) self.assertEqual(report.selected_row, -1) def test_event_synchronization(self): with self.report_and_editor(get_view()) as (report, editor): with self.assertTraitChanges(editor, "refresh", count=1): report.refresh = True # Should happen every time. with self.assertTraitChanges(editor, "refresh", count=1): report.refresh = True with self.assertTraitChanges(editor, "update", count=1): report.update = True with self.assertTraitChanges(editor, "update", count=1): report.update = True def test_adapter_columns_changes(self): # Regression test for enthought/traitsui#894 with reraise_exceptions(), \ self.report_and_editor(get_view()) as (report, editor): # Reproduce the scenario when the column count is reduced. editor.adapter.columns = [ ("Name", "name"), ("Age", "age"), ] # Recalculating column widths take into account the user defined # widths, cached in the view. The cache should be invalidated # when the columns is updated such that recalculation does not # fail. editor.adapter.columns = [("Name", "name")] process_cascade_events() def test_view_column_resized_attribute_error_workaround(self): # This tests the workaround which checks if `factory` is None before # using it while resizing the columns. # The resize event is processed after UI.dispose is called. # Maybe related to enthought/traits#431 with reraise_exceptions(), \ self.report_and_editor(get_view()) as (_, editor): editor.adapter.columns = [("Name", "name")] @contextlib.contextmanager def report_and_editor(self, view): """ Context manager to temporarily create and clean up a Report model object and the corresponding TabularEditor. """ report = Report( people=[ Person(name="Theresa", age=60), Person(name="Arlene", age=46), Person(name="Karen", age=40), ] ) with create_ui(report, dict(view=view)) as ui: editor, = ui.get_editors("people") yield report, editor traitsui-7.2.1/traitsui/tests/editors/test_check_list_editor.py0000644000076500000240000004305114046644454025560 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! import contextlib import unittest from traits.api import HasTraits, List, Str from traitsui.api import CheckListEditor, UItem, View from traitsui.tests._tools import ( BaseTestMixin, create_ui, get_all_button_status, is_qt, is_wx, process_cascade_events, requires_toolkit, reraise_exceptions, ToolkitName, ) from traitsui.testing.api import ( Index, MouseClick, UITester ) class ListModel(HasTraits): value = List() def get_view(style): return View( UItem( "value", editor=CheckListEditor( values=["one", "two", "three", "four"], ), style=style, ), resizable=True ) def get_view_custom_cols(cols): return View( UItem( "value", editor=CheckListEditor( values=["one", "two", "three", "four", "five", "six", "seven"], cols=cols, ), style="custom", ), resizable=True ) def get_mapped_view(style): return View( UItem( "value", editor=CheckListEditor( values=[(1, "one"), (2, "two"), (3, "three"), (4, "four")], ), style=style, ), resizable=True ) def get_combobox_text(combobox): """ Return the text given a combobox control. """ if is_wx(): return combobox.GetString(combobox.GetSelection()) elif is_qt(): return combobox.currentText() else: raise unittest.SkipTest("Test not implemented for this toolkit") def set_combobox_index(editor, idx): """ Set the choice index of a combobox control given editor and index number. """ if is_wx(): import wx choice = editor.control choice.SetSelection(idx) event = wx.CommandEvent(wx.EVT_CHOICE.typeId, choice.GetId()) event.SetString(choice.GetString(idx)) wx.PostEvent(choice, event) elif is_qt(): # Cannot initiate update programatically because of `activated` # event. At least check that it updates as expected when done # manually editor.update_object(idx) else: raise unittest.SkipTest("Test not implemented for this toolkit") def set_text_in_line_edit(line_edit, text): """ Set text in text widget and complete editing. """ if is_wx(): import wx line_edit.SetValue(text) event = wx.CommandEvent(wx.EVT_TEXT_ENTER.typeId, line_edit.GetId()) wx.PostEvent(line_edit, event) elif is_qt(): line_edit.setText(text) line_edit.editingFinished.emit() else: raise unittest.SkipTest("Test not implemented for this toolkit") @requires_toolkit([ToolkitName.qt, ToolkitName.wx]) class TestCheckListEditorMapping(BaseTestMixin, unittest.TestCase): def setUp(self): BaseTestMixin.setUp(self) def tearDown(self): BaseTestMixin.tearDown(self) @contextlib.contextmanager def setup_ui(self, model, view): with create_ui(model, dict(view=view)) as ui: yield ui.get_editors("value")[0] def check_checklist_mappings_value_change(self, style): check_list_editor_factory = CheckListEditor( values=["one", "two"], format_func=lambda v: v.upper(), ) formatted_view = View( UItem( "value", editor=check_list_editor_factory, style=style, ) ) model = ListModel() with reraise_exceptions(), \ self.setup_ui(model, formatted_view) as editor: self.assertEqual(editor.names, ["ONE", "TWO"]) check_list_editor_factory.values = ["two", "one"] self.assertEqual(editor.names, ["TWO", "ONE"]) def check_checklist_mappings_tuple_value_change(self, style): check_list_editor_factory = CheckListEditor( values=[(1, "one"), (2, "two")], format_func=lambda t: t[1].upper(), ) formatted_view = View( UItem( "value", editor=check_list_editor_factory, style=style, ) ) model = ListModel() with reraise_exceptions(), \ self.setup_ui(model, formatted_view) as editor: # FIXME issue enthought/traitsui#841 with self.assertRaises(AssertionError): self.assertEqual(editor.names, ["ONE", "TWO"]) self.assertEqual(editor.names, ["one", "two"]) check_list_editor_factory.values = [(2, "two"), (1, "one")] # FIXME issue enthought/traitsui#841 with self.assertRaises(AssertionError): self.assertEqual(editor.names, ["TWO", "ONE"]) self.assertEqual(editor.names, ["two", "one"]) def check_checklist_mappings_name_change(self, style): class ListModel(HasTraits): value = List() possible_values = List(["one", "two"]) check_list_editor_factory = CheckListEditor( name="object.possible_values", format_func=lambda v: v.upper(), ) formatted_view = View( UItem( "value", editor=check_list_editor_factory, style=style, ) ) model = ListModel() with reraise_exceptions(), \ self.setup_ui(model, formatted_view) as editor: self.assertEqual(editor.names, ["ONE", "TWO"]) model.possible_values = ["two", "one"] self.assertEqual(editor.names, ["TWO", "ONE"]) def check_checklist_mappings_tuple_name_change(self, style): class ListModel(HasTraits): value = List() possible_values = List([(1, "one"), (2, "two")]) check_list_editor_factory = CheckListEditor( name="object.possible_values", format_func=lambda t: t[1].upper(), ) formatted_view = View( UItem( "value", editor=check_list_editor_factory, style=style, ) ) model = ListModel() with reraise_exceptions(), \ self.setup_ui(model, formatted_view) as editor: # FIXME issue enthought/traitsui#841 with self.assertRaises(AssertionError): self.assertEqual(editor.names, ["ONE", "TWO"]) self.assertEqual(editor.names, ["one", "two"]) model.possible_values = [(2, "two"), (1, "one")] # FIXME issue enthought/traitsui#841 with self.assertRaises(AssertionError): self.assertEqual(editor.names, ["TWO", "ONE"]) self.assertEqual(editor.names, ["two", "one"]) def check_checklist_values_change_after_ui_dispose(self, style): # Check the available values can change after the ui is closed class ListModel(HasTraits): value = List() possible_values = List(["one", "two"]) check_list_editor_factory = CheckListEditor( name="object.possible_values", ) view = View( UItem( "value", editor=check_list_editor_factory, style=style, ) ) model = ListModel() with reraise_exceptions(): with create_ui(model, dict(view=view)): pass model.possible_values = ["two", "one"] def test_simple_editor_mapping_values(self): self.check_checklist_mappings_value_change("simple") def test_simple_editor_mapping_values_tuple(self): self.check_checklist_mappings_tuple_value_change("simple") def test_simple_editor_mapping_name(self): self.check_checklist_mappings_name_change("simple") def test_simple_editor_mapping_name_tuple(self): self.check_checklist_mappings_tuple_name_change("simple") def test_custom_editor_mapping_values(self): # FIXME issue enthought/traitsui#842 if is_wx(): import wx with self.assertRaises(wx._core.wxAssertionError): self.check_checklist_mappings_value_change("custom") else: self.check_checklist_mappings_value_change("custom") def test_custom_editor_mapping_values_tuple(self): # FIXME issue enthought/traitsui#842 if is_wx(): import wx with self.assertRaises(wx._core.wxAssertionError): self.check_checklist_mappings_tuple_value_change("custom") else: self.check_checklist_mappings_tuple_value_change("custom") def test_custom_editor_mapping_name(self): # FIXME issue enthought/traitsui#842 if is_wx(): import wx with self.assertRaises(wx._core.wxAssertionError): self.check_checklist_mappings_name_change("custom") else: self.check_checklist_mappings_name_change("custom") def test_custom_editor_mapping_name_tuple(self): # FIXME issue enthought/traitsui#842 if is_wx(): import wx with self.assertRaises(wx._core.wxAssertionError): self.check_checklist_mappings_tuple_name_change("custom") else: self.check_checklist_mappings_tuple_name_change("custom") def test_simple_editor_checklist_values_change_dispose(self): self.check_checklist_values_change_after_ui_dispose("simple") def test_custom_editor_checklist_values_change_dispose(self): self.check_checklist_values_change_after_ui_dispose("custom") @requires_toolkit([ToolkitName.qt, ToolkitName.wx]) class TestSimpleCheckListEditor(BaseTestMixin, unittest.TestCase): def setUp(self): BaseTestMixin.setUp(self) def tearDown(self): BaseTestMixin.tearDown(self) @contextlib.contextmanager def setup_gui(self, model, view): with create_ui(model, dict(view=view)) as ui: process_cascade_events() editor = ui.get_editors("value")[0] yield editor def test_simple_check_list_editor_text(self): list_edit = ListModel(value=["one"]) with reraise_exceptions(), \ self.setup_gui(list_edit, get_view("simple")) as editor: self.assertEqual(get_combobox_text(editor.control), "One") list_edit.value = ["two"] process_cascade_events() self.assertEqual(get_combobox_text(editor.control), "Two") def test_simple_check_list_editor_text_mapped(self): view = get_mapped_view("simple") list_edit = ListModel(value=[1]) with reraise_exceptions(), \ self.setup_gui(list_edit, view) as editor: # FIXME issue enthought/traitsui#841 with self.assertRaises(AssertionError): self.assertEqual(get_combobox_text(editor.control), "One") self.assertEqual(get_combobox_text(editor.control), "one") list_edit.value = [2] process_cascade_events() # FIXME issue enthought/traitsui#841 with self.assertRaises(AssertionError): self.assertEqual(get_combobox_text(editor.control), "Two") self.assertEqual(get_combobox_text(editor.control), "two") def test_simple_check_list_editor_index(self): list_edit = ListModel(value=["one"]) with reraise_exceptions(), \ self.setup_gui(list_edit, get_view("simple")) as editor: self.assertEqual(list_edit.value, ["one"]) set_combobox_index(editor, 1) process_cascade_events() self.assertEqual(list_edit.value, ["two"]) set_combobox_index(editor, 0) process_cascade_events() self.assertEqual(list_edit.value, ["one"]) def test_simple_check_list_editor_invalid_current_values(self): list_edit = ListModel(value=[1, "two", "a", object(), "one"]) with reraise_exceptions(), \ self.setup_gui(list_edit, get_view("simple")): self.assertEqual(list_edit.value, ["two", "one"]) def test_simple_check_list_editor_invalid_current_values_str(self): class StrModel(HasTraits): value = Str() str_edit = StrModel(value="alpha, \ttwo, beta,\n lambda, one") with reraise_exceptions(), \ self.setup_gui(str_edit, get_view("simple")): self.assertEqual(str_edit.value, "two,one") @requires_toolkit([ToolkitName.qt, ToolkitName.wx]) class TestCustomCheckListEditor(BaseTestMixin, unittest.TestCase): def setUp(self): BaseTestMixin.setUp(self) def tearDown(self): BaseTestMixin.tearDown(self) @contextlib.contextmanager def setup_gui(self, model, view): with create_ui(model, dict(view=view)) as ui: process_cascade_events() editor = ui.get_editors("value")[0] yield editor def test_custom_check_list_editor_button_update(self): list_edit = ListModel() with reraise_exceptions(), \ self.setup_gui(list_edit, get_view("custom")) as editor: self.assertEqual( get_all_button_status(editor.control), [False, False, False, False] ) list_edit.value = ["two", "four"] process_cascade_events() self.assertEqual( get_all_button_status(editor.control), [False, True, False, True] ) list_edit.value = ["one", "four"] process_cascade_events() self.assertEqual( get_all_button_status(editor.control), [True, False, False, True] ) def test_custom_check_list_editor_click(self): list_edit = ListModel() tester = UITester() with tester.create_ui(list_edit, dict(view=get_view("custom"))) as ui: self.assertEqual(list_edit.value, []) check_list = tester.find_by_name(ui, "value") item_1 = check_list.locate(Index(1)) item_1.perform(MouseClick()) self.assertEqual(list_edit.value, ["two"]) item_1.perform(MouseClick()) self.assertEqual(list_edit.value, []) def test_custom_check_list_editor_click_initial_value(self): list_edit = ListModel(value=["two"]) tester = UITester() with tester.create_ui(list_edit, dict(view=get_view("custom"))) as ui: self.assertEqual(list_edit.value, ["two"]) check_list = tester.find_by_name(ui, "value") item_1 = check_list.locate(Index(1)) item_1.perform(MouseClick()) self.assertEqual(list_edit.value, []) def test_custom_check_list_editor_invalid_current_values_str(self): class StrModel(HasTraits): value = Str() str_edit = StrModel(value="alpha, \ttwo, three,\n lambda, one") tester = UITester() with tester.create_ui(str_edit, dict(view=get_view("custom"))) as ui: self.assertEqual(str_edit.value, "two,three,one") check_list = tester.find_by_name(ui, "value") item_1 = check_list.locate(Index(1)) item_1.perform(MouseClick()) self.assertEqual(str_edit.value, "three,one") def test_custom_check_list_editor_grid_layout(self): for cols in range(1, 8): list_edit = ListModel() tester = UITester() view = get_view_custom_cols(cols=cols) with tester.create_ui(list_edit, dict(view=view)) as ui: self.assertEqual(list_edit.value, []) check_list = tester.find_by_name(ui, "value") item = check_list.locate(Index(6)) item.perform(MouseClick()) self.assertEqual(list_edit.value, ["seven"]) item.perform(MouseClick()) self.assertEqual(list_edit.value, []) @requires_toolkit([ToolkitName.qt, ToolkitName.wx]) class TestTextCheckListEditor(BaseTestMixin, unittest.TestCase): def setUp(self): BaseTestMixin.setUp(self) def tearDown(self): BaseTestMixin.tearDown(self) @contextlib.contextmanager def setup_gui(self, model, view): with create_ui(model, dict(view=view)) as ui: process_cascade_events() editor = ui.get_editors("value")[0] yield editor def test_text_check_list_object_list(self): list_edit = ListModel() with reraise_exceptions(), \ self.setup_gui(list_edit, get_view("text")) as editor: self.assertEqual(list_edit.value, []) set_text_in_line_edit(editor.control, "['one', 'two']") process_cascade_events() self.assertEqual(list_edit.value, ["one", "two"]) def test_text_check_list_object_str(self): class StrModel(HasTraits): value = Str() str_edit = StrModel(value="three, four") with reraise_exceptions(), \ self.setup_gui(str_edit, get_view("text")) as editor: self.assertEqual(str_edit.value, "three, four") set_text_in_line_edit(editor.control, "one, two") process_cascade_events() self.assertEqual(str_edit.value, "one, two") traitsui-7.2.1/traitsui/tests/editors/test_default_override.py0000644000076500000240000000702414046644454025425 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! import unittest from traitsui.api import DefaultOverride, EditorFactory from traits.api import HasTraits, Int from traitsui.tests._tools import BaseTestMixin class DummyEditor(EditorFactory): x = Int(10) y = Int(20) def simple_editor(self, ui, object, name, description, parent): return ("simple_editor", self, ui, object, name, description, parent) def custom_editor(self, ui, object, name, description, parent): return ("custom_editor", self, ui, object, name, description, parent) def text_editor(self, ui, object, name, description, parent): return ("text_editor", self, ui, object, name, description, parent) def readonly_editor(self, ui, object, name, description, parent): return ("readonly_editor", self, ui, object, name, description, parent) class NewInt(Int): def create_editor(self): return DummyEditor() class Dummy(HasTraits): x = NewInt() dummy_object = Dummy() do = DefaultOverride(x=15, y=25, format_str="%r") class TestDefaultOverride(BaseTestMixin, unittest.TestCase): def setUp(self): BaseTestMixin.setUp(self) def tearDown(self): BaseTestMixin.tearDown(self) def test_simple_override(self): editor_name, editor, ui, obj, name, description, parent = \ do.simple_editor("ui", dummy_object, "x", "description", "parent") self.assertEqual(editor_name, "simple_editor") self.assertEqual(editor.x, 15) self.assertEqual(editor.y, 25) self.assertEqual(obj, dummy_object) self.assertEqual(name, "x") self.assertEqual(description, "description") self.assertEqual(parent, "parent") def test_text_override(self): editor_name, editor, ui, obj, name, description, parent = \ do.text_editor("ui", dummy_object, "x", "description", "parent") self.assertEqual(editor_name, "text_editor") self.assertEqual(editor.x, 15) self.assertEqual(editor.y, 25) self.assertEqual(obj, dummy_object) self.assertEqual(name, "x") self.assertEqual(description, "description") self.assertEqual(parent, "parent") def test_custom_override(self): editor_name, editor, ui, obj, name, description, parent = \ do.custom_editor("ui", dummy_object, "x", "description", "parent") self.assertEqual(editor_name, "custom_editor") self.assertEqual(editor.x, 15) self.assertEqual(editor.y, 25) self.assertEqual(obj, dummy_object) self.assertEqual(name, "x") self.assertEqual(description, "description") self.assertEqual(parent, "parent") def test_readonly_override(self): editor_name, editor, ui, obj, name, description, parent = \ do.readonly_editor( "ui", dummy_object, "x", "description", "parent" ) self.assertEqual(editor_name, "readonly_editor") self.assertEqual(editor.x, 15) self.assertEqual(editor.y, 25) self.assertEqual(obj, dummy_object) self.assertEqual(name, "x") self.assertEqual(description, "description") self.assertEqual(parent, "parent") traitsui-7.2.1/traitsui/tests/editors/test_directory_editor.py0000644000076500000240000000420614046644454025453 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! import unittest from traits.api import Directory, Event, HasTraits from traitsui.api import DirectoryEditor, Item, View from traitsui.tests._tools import ( BaseTestMixin, create_ui, requires_toolkit, reraise_exceptions, ToolkitName, ) class DirectoryModel(HasTraits): dir_path = Directory() reload_event = Event() # Run this against wx too when enthought/traitsui#752 is also fixed. @requires_toolkit([ToolkitName.qt]) class TestDirectoryEditor(BaseTestMixin, unittest.TestCase): """ Test DirectoryEditor. """ def setUp(self): BaseTestMixin.setUp(self) def tearDown(self): BaseTestMixin.tearDown(self) def check_init_and_dispose(self, style): # Test init and dispose by opening and closing the UI view = View(Item("dir_path", editor=DirectoryEditor(), style=style)) obj = DirectoryModel() with reraise_exceptions(), \ create_ui(obj, dict(view=view)): pass def test_simple_editor_init_and_dispose(self): # This may fail on wx, see enthought/traitsui#889 self.check_init_and_dispose("simple") def test_custom_editor_init_and_dispose(self): self.check_init_and_dispose("custom") def test_custom_editor_reload_changed_after_dispose(self): # Test firing reload event on the model after the UI is disposed. view = View( Item( "dir_path", editor=DirectoryEditor(reload_name="reload_event"), style="custom", ), ) obj = DirectoryModel() with reraise_exceptions(): with create_ui(obj, dict(view=view)): pass # should not fail. obj.reload_event = True traitsui-7.2.1/traitsui/tests/editors/test_styled_date_editor.py0000644000076500000240000000403114046644454025744 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! import datetime import unittest from traits.api import Dict, HasTraits, Instance, List, Str from traitsui.api import Item, StyledDateEditor, View from traitsui.editors.date_editor import CellFormat from traitsui.tests._tools import ( BaseTestMixin, create_ui, requires_toolkit, reraise_exceptions, ToolkitName, ) class DateModel(HasTraits): selected_date = Instance(datetime.date) special_days = Dict(Str, List(Instance(datetime.date))) styles_mapping = Dict(Str, Instance(CellFormat)) def get_example_model(): return DateModel( special_days={ "public-holidays": [datetime.date(2020, 1, 1)], "weekends": [datetime.date(2020, 1, 12)], }, styles_mapping={ "public-holidays": CellFormat(bgcolor=(255, 0, 0)), "weekends": CellFormat(bold=True), }, ) # StyledDateEditor is currently only implemented for Qt @requires_toolkit([ToolkitName.qt]) class TestStyledDateEditor(BaseTestMixin, unittest.TestCase): def setUp(self): BaseTestMixin.setUp(self) def tearDown(self): BaseTestMixin.tearDown(self) def test_init_and_dispose(self): # Smoke test to test init and dispose. instance = get_example_model() view = View( Item( "selected_date", editor=StyledDateEditor( dates_trait="special_days", styles_trait="styles_mapping", ), style="custom", ) ) with reraise_exceptions(), \ create_ui(instance, dict(view=view)): pass traitsui-7.2.1/traitsui/tests/editors/test_date_range_editor.py0000644000076500000240000002103014046644454025532 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! import contextlib import datetime import unittest from traits.api import ( Date, HasTraits, TraitError, Tuple, ) from traitsui.api import DateRangeEditor, View, Item from traitsui.tests._tools import ( BaseTestMixin, create_ui, requires_toolkit, ToolkitName, ) class Foo(HasTraits): date_range = Tuple(Date, Date) def default_custom_view(): """ Default view of DateRangeEditor """ view = View( Item(name="date_range", style="custom", editor=DateRangeEditor()) ) return view def custom_view_allow_no_range(): """ DateRangeEditor with allow_no_selection set to True.""" view = View( Item( name="date_range", style="custom", editor=DateRangeEditor(allow_no_selection=True), ) ) return view class TestDateRangeEditorGeneric(BaseTestMixin, unittest.TestCase): """ Tests that are not GUI backend specific.""" def setUp(self): BaseTestMixin.setUp(self) def tearDown(self): BaseTestMixin.tearDown(self) def test_date_range_multi_select_is_constant(self): with self.assertRaises(TraitError): DateRangeEditor(multi_select=False) @requires_toolkit([ToolkitName.qt]) class TestDateRangeEditorQt(BaseTestMixin, unittest.TestCase): def setUp(self): BaseTestMixin.setUp(self) def tearDown(self): BaseTestMixin.tearDown(self) def test_set_date_range_on_model(self): # Test when the date range is set on the model with self.launch_editor(default_custom_view) as (foo, editor): foo.date_range = ( datetime.date(2010, 4, 3), datetime.date(2010, 4, 5), ) expected_selected = [ datetime.date(2010, 4, 3), datetime.date(2010, 4, 4), datetime.date(2010, 4, 5), ] for date in expected_selected: self.check_select_status( editor=editor, date=date, selected=True ) # Outside of the range self.check_select_status( editor=editor, date=datetime.date(2010, 4, 2), selected=False ) self.check_select_status( editor=editor, date=datetime.date(2010, 4, 6), selected=False ) def test_set_one_sided_range_error(self): with self.launch_editor(default_custom_view) as (_, editor): with self.assertRaises(ValueError) as exception_context: editor.value = (datetime.date(2010, 10, 3), None) editor.update_editor() self.assertIn( "The start and end dates must be either both defined or both " "be None", str(exception_context.exception), ) def test_set_reverse_range_on_model(self): with self.launch_editor(default_custom_view) as (foo, editor): foo.date_range = ( datetime.date(2010, 5, 3), datetime.date(2010, 5, 1), ) # None of these dates should be selected dates = [ datetime.date(2010, 5, 1), datetime.date(2010, 5, 2), datetime.date(2010, 5, 3), ] for date in dates: self.check_select_status( editor=editor, date=date, selected=False ) def test_set_date_range_on_editor(self): with self.launch_editor(default_custom_view) as (foo, editor): self.click_date_on_editor(editor, datetime.date(2012, 3, 4)) self.click_date_on_editor(editor, datetime.date(2012, 3, 6)) expected_selected = [ datetime.date(2012, 3, 4), datetime.date(2012, 3, 5), datetime.date(2012, 3, 6), ] for date in expected_selected: self.check_select_status( editor=editor, date=date, selected=True ) self.assertEqual( foo.date_range, (datetime.date(2012, 3, 4), datetime.date(2012, 3, 6)), ) def test_set_date_range_reset_when_click_outside(self): with self.launch_editor(default_custom_view) as (foo, editor): foo.date_range = ( datetime.date(2012, 2, 10), datetime.date(2012, 2, 13), ) self.click_date_on_editor(editor, datetime.date(2012, 2, 4)) self.assertEqual( foo.date_range, (datetime.date(2012, 2, 4), datetime.date(2012, 2, 4)), ) def test_set_date_range_reverse_order(self): # Test setting end date first then start date. with self.launch_editor(default_custom_view) as (foo, editor): self.click_date_on_editor(editor, datetime.date(2012, 3, 6)) self.click_date_on_editor(editor, datetime.date(2012, 3, 4)) expected_selected = [ datetime.date(2012, 3, 4), datetime.date(2012, 3, 5), datetime.date(2012, 3, 6), ] for date in expected_selected: self.check_select_status( editor=editor, date=date, selected=True ) self.assertEqual( foo.date_range, (datetime.date(2012, 3, 4), datetime.date(2012, 3, 6)), ) def test_allow_no_range(self): # Test clicking again will unset the range if allow_no_range is True with self.launch_editor(custom_view_allow_no_range) as (foo, editor): self.click_date_on_editor(editor, datetime.date(2012, 3, 6)) self.click_date_on_editor(editor, datetime.date(2012, 3, 4)) expected_selected = [ datetime.date(2012, 3, 4), datetime.date(2012, 3, 5), datetime.date(2012, 3, 6), ] for date in expected_selected: self.check_select_status( editor=editor, date=date, selected=True ) # Click again self.click_date_on_editor(editor, datetime.date(2012, 3, 1)) for date in expected_selected: self.check_select_status( editor=editor, date=date, selected=False ) self.assertEqual(foo.date_range, (None, None)) # -------------------- # Helper methods # -------------------- @contextlib.contextmanager def launch_editor(self, view_factory): foo = Foo() with create_ui(foo, dict(view=view_factory())) as ui: editor, = ui._editors yield foo, editor def check_select_status(self, editor, date, selected): from pyface.qt import QtCore, QtGui qdate = QtCore.QDate(date.year, date.month, date.day) textformat = editor.control.dateTextFormat(qdate) if selected: self.assertEqual( textformat.fontWeight(), QtGui.QFont.Bold, "{!r} is not selected.".format(date), ) self.assertEqual( textformat.background().color().green(), 128, "Expected non-zero green color value.", ) else: self.assertEqual( textformat.fontWeight(), QtGui.QFont.Normal, "{!r} is not unselected.".format(date), ) self.assertEqual( textformat.background().style(), 0, # Qt.BrushStyle.NoBrush, "Expected brush to have been reset.", ) self.assertEqual( textformat.background().color().green(), 0, "Expected color to have been reset.", ) def click_date_on_editor(self, editor, date): from pyface.qt import QtCore # QCalendarWidget.setSelectedDate modifies internal state # instead of triggering the click signal. # So we call update_object directly editor.update_object(QtCore.QDate(date.year, date.month, date.day)) traitsui-7.2.1/traitsui/tests/editors/test_liststr_editor.py0000644000076500000240000000230514046644454025151 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! """ Test case for ListStrEditor and ListStrAdapter """ import unittest from traits.has_traits import HasTraits from traits.trait_types import List, Str from traitsui.list_str_adapter import ListStrAdapter from traitsui.tests._tools import BaseTestMixin class TraitObject(HasTraits): list_str = List(Str) class TestListStrAdapter(BaseTestMixin, unittest.TestCase): def setUp(self): BaseTestMixin.setUp(self) def tearDown(self): BaseTestMixin.tearDown(self) def test_list_str_adapter_length(self): """Test the ListStringAdapter len method""" object = TraitObject() object.list_str = ["hello"] adapter = ListStrAdapter() self.assertEqual(adapter.len(object, "list_str"), 1) self.assertEqual(adapter.len(None, "list_str"), 0) traitsui-7.2.1/traitsui/tests/editors/test_html_editor.py0000644000076500000240000002653414046644454024423 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! import unittest from unittest import mock try: from pyface.qt import QtWebkit # noqa: F401 NO_WEBKIT_OR_WEBENGINE = False except ImportError: try: from pyface.qt import QtWebEngine # noqa: F401 NO_WEBKIT_OR_WEBENGINE = False except ImportError: NO_WEBKIT_OR_WEBENGINE = True from traits.api import HasTraits, Str from traitsui.api import HTMLEditor, Item, View from traitsui.tests._tools import ( BaseTestMixin, is_qt, requires_toolkit, ToolkitName, ) from traitsui.testing.api import MouseClick, TargetRegistry, UITester class HTMLModel(HasTraits): """ Dummy class for testing HTMLEditor.""" content = Str() model_base_url = Str() def get_view(base_url_name): return View( Item( "content", editor=HTMLEditor( format_text=True, base_url_name=base_url_name, ) ) ) class HTMLContent: """ Action to retrieve the HTML content currently displayed. Implementation should return a str, whose content conforms to HTML markup. """ pass def _is_webkit_page(page): """ Return true if the given page is a QWebPage from QtWebKit. Intended for handling the compatibility between QtWebKit and QtWebEngine. Parameters ---------- page : QWebEnginePage or QWebPage """ return hasattr(page, "setLinkDelegationPolicy") def qt_get_page_html_content(page): """ Return the HTML content currently being viewed. Parameters ---------- page : QWebEnginePage or QWebPage Returns ------- html : str """ qt_allow_view_to_load(page) if _is_webkit_page(page): return page.mainFrame().toHtml() content = [] page.toHtml(content.append) qt_allow_view_to_load(page) return "".join(content) def wait_for_qt_signal(qt_signal, timeout): """ Wait for the given Qt signal to fire, or timeout. A mock implementation of QSignalSpy.wait, which is one of the missing bindings in PySide2, and is not available in Qt4. Parameters ---------- qt_signal : signal Qt signal to wait for timeout : int Timeout in milliseconds, to match Qt API. Raises ------ RuntimeError """ from pyface.qt import QtCore # QEventLoop is used instead of QApplication due to observed # hangs with Qt4. event_loop = QtCore.QEventLoop() def exit(*args, **kwargs): event_loop.quit() timeout_timer = QtCore.QTimer() timeout_timer.setSingleShot(True) timeout_timer.setInterval(timeout) timeout_timer.timeout.connect(exit) qt_signal.connect(exit) timeout_timer.start() event_loop.exec_() qt_signal.disconnect(exit) if timeout_timer.isActive(): timeout_timer.stop() else: raise RuntimeError("Timeout waiting for signal.") def qt_allow_view_to_load(loadable, timeout=0.5): """ Allow QWebView/QWebPage/QWebEngineView/QWebEnginePage to finish loading. Out of context, this function does not know if the page has started loading. Therefore no timeout error is raised. For most testing purposes, this function should be good enough to avoid interacting with the Qt web page before it has finished loading, at a cost of a slower test. Parameters ---------- loadable : QWebView or QWebPage or QWebEngineView or QWebEnginePage The view / page to allow loading to finish. Any object with the loadFinished signal can be used. timeout : float Timeout in seconds for each signal being observed. """ timeout_ms = round(timeout * 1000) try: wait_for_qt_signal(loadable.loadFinished, timeout=timeout_ms) except RuntimeError: return def qt_mouse_click_web_view(view, delay): """ Perform a mouse click at the center of the web view. Note that the page is allowed time to load before and after the mouse click. Parameters ---------- view : QWebView or QWebEngineView """ from pyface.qt import QtCore from pyface.qt.QtTest import QTest qt_allow_view_to_load(view) if view.focusProxy() is not None: # QWebEngineView widget = view.focusProxy() else: # QWebView widget = view try: QTest.mouseClick( widget, QtCore.Qt.LeftButton, QtCore.Qt.NoModifier, delay=delay, ) finally: qt_allow_view_to_load(view) def qt_target_registry(): """ Return an instance of TargetRegistry for testing Qt + HTMLEditor Returns ------- target_registry : TargetRegistry """ from traitsui.qt4.html_editor import SimpleEditor registry = TargetRegistry() registry.register_interaction( target_class=SimpleEditor, interaction_class=MouseClick, handler=lambda wrapper, _: qt_mouse_click_web_view( wrapper._target.control, wrapper.delay ) ) registry.register_interaction( target_class=SimpleEditor, interaction_class=HTMLContent, handler=lambda wrapper, _: ( qt_get_page_html_content(wrapper._target.control.page()) ) ) return registry def get_custom_ui_tester(): """ Return an instance of UITester that contains extended testing functionality for HTMLEditor. These implementations are used by TraitsUI only, are more ad hoc than they would have been if they were made public. """ if is_qt(): return UITester(registries=[qt_target_registry()]) return UITester() # Run this against wx as well once enthought/traitsui#752 is fixed. @requires_toolkit([ToolkitName.qt]) @unittest.skipIf( NO_WEBKIT_OR_WEBENGINE, "Tests require either QtWebKit or QtWebEngine" ) class TestHTMLEditor(BaseTestMixin, unittest.TestCase): """ Test HTMLEditor """ def setUp(self): BaseTestMixin.setUp(self) self.tester = get_custom_ui_tester() def tearDown(self): BaseTestMixin.tearDown(self) def test_init_and_dispose(self): # Smoke test to check init and dispose do not fail. model = HTMLModel() view = get_view(base_url_name="") with self.tester.create_ui(model, dict(view=view)): pass def test_base_url_changed(self): # Test if the base_url is changed after the UI closes, nothing # fails because sync_value is unhooked in the base class. model = HTMLModel() view = get_view(base_url_name="model_base_url") with self.tester.create_ui(model, dict(view=view)): pass # It is okay to modify base_url after the UI is closed model.model_base_url = "/new_dir" @requires_toolkit([ToolkitName.qt]) def test_open_internal_link(self): # this test requires Qt because it relies on the link filling up # the entire page through the use of CSS, which isn't supported # by Wx. model = HTMLModel(content=""" Internal Link """) view = View( Item("content", editor=HTMLEditor()) ) with self.tester.create_ui(model, dict(view=view)) as ui: html_view = self.tester.find_by_name(ui, "content") # when with mock.patch("webbrowser.open_new") as mocked_browser: html_view.perform(MouseClick()) mocked_browser.assert_not_called() @requires_toolkit([ToolkitName.qt]) def test_open_external_link(self): # this test requires Qt because it relies on the link filling up # the entire page through the use of CSS, which isn't supported # by Wx. model = HTMLModel(content=""" External Link """) view = View( Item("content", editor=HTMLEditor()) ) with self.tester.create_ui(model, dict(view=view)) as ui: html_view = self.tester.find_by_name(ui, "content") with mock.patch("webbrowser.open_new") as mocked_browser: html_view.perform(MouseClick()) self.assertIn( "External Link", html_view.inspect(HTMLContent()), ) # See enthought/traitsui#1464 # This is the expected behaviour: # mocked_browser.assert_called_once_with("test://testing") # However, this is the current unexpected behaviour mocked_browser.assert_not_called() @requires_toolkit([ToolkitName.qt]) def test_open_internal_link_externally(self): # this test requires Qt because it relies on the link filling up # the entire page through the use of CSS, which isn't supported # by Wx. model = HTMLModel(content=""" Internal Link """) view = View( Item("content", editor=HTMLEditor(open_externally=True)) ) with self.tester.create_ui(model, dict(view=view)) as ui: html_view = self.tester.find_by_name(ui, "content") with mock.patch("webbrowser.open_new") as mocked_browser: html_view.perform(MouseClick()) self.assertIn( "Internal Link", html_view.inspect(HTMLContent()), ) mocked_browser.assert_called_once_with("test://testing") @requires_toolkit([ToolkitName.qt]) def test_open_external_link_externally(self): model = HTMLModel(content=""" External Link """) view = View( Item("content", editor=HTMLEditor(open_externally=True)) ) with self.tester.create_ui(model, dict(view=view)) as ui: html_view = self.tester.find_by_name(ui, "content") with mock.patch("webbrowser.open_new") as mocked_browser: html_view.perform(MouseClick()) self.assertIn( "External Link", html_view.inspect(HTMLContent()), ) is_webkit = _is_webkit_page(html_view._target.control.page()) if is_webkit: # This is the expected behavior. mocked_browser.assert_called_once_with("test://testing") else: # Expected failure: # See enthought/traitsui#1464 # This is the current unexpected behavior if QtWebEngine is used. mocked_browser.assert_not_called() traitsui-7.2.1/traitsui/tests/editors/test_tree_editor.py0000644000076500000240000002136614046644454024414 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! import unittest from pyface.api import GUI from traits.api import Bool, HasTraits, Instance, List, Str from traitsui.api import ( Item, ObjectTreeNode, TreeEditor, TreeNode, TreeNodeObject, View, ) from traitsui.tests._tools import ( BaseTestMixin, create_ui, requires_toolkit, reraise_exceptions, ToolkitName, ) class BogusWrap(HasTraits): """ A bogus class representing a bogus tree. """ name = Str("Totally bogus") class Bogus(HasTraits): """ A bogus class representing a bogus tree. """ name = Str("Bogus") bogus_list = List() wrapped_bogus = Instance(BogusWrap) def _wrapped_bogus_default(self): return BogusWrap(bogus_list=[Bogus()]) class BogusTreeView(HasTraits): """ A traitsui view visualizing Bogus objects as trees. """ bogus = Instance(Bogus) hide_root = Bool() word_wrap = Bool() nodes = List(TreeNode) def _nodes_default(self): return [ TreeNode(node_for=[Bogus], children="bogus_list", label="=Bogus") ] def default_traits_view(self): tree_editor = TreeEditor( nodes=self.nodes, hide_root=self.hide_root, editable=False, word_wrap=self.word_wrap, ) traits_view = View( Item(name="bogus", id="engine", editor=tree_editor), buttons=["OK"] ) return traits_view class BogusTreeNodeObject(TreeNodeObject): """ A bogus tree node. """ name = Str("Bogus") bogus_list = List() class BogusTreeNodeObjectView(HasTraits): """ A traitsui view visualizing Bogus objects as trees. """ bogus = Instance(BogusTreeNodeObject) hide_root = Bool() nodes = List(TreeNode) def _nodes_default(self): return [ TreeNode( node_for=[BogusTreeNodeObject], children="bogus_list", label="=Bogus", ) ] def default_traits_view(self): tree_editor = TreeEditor( nodes=self.nodes, hide_root=self.hide_root, editable=False ) traits_view = View( Item(name="bogus", id="engine", editor=tree_editor), buttons=["OK"] ) return traits_view class TestTreeView(BaseTestMixin, unittest.TestCase): def setUp(self): BaseTestMixin.setUp(self) def tearDown(self): BaseTestMixin.tearDown(self) # test for wx is failing for other reasons. # It might pass once we receive fix for enthought/pyface#558 @requires_toolkit([ToolkitName.qt]) def test_tree_editor_with_nested_ui(self): tree_editor = TreeEditor( nodes=[ TreeNode( node_for=[Bogus], auto_open=True, children="bogus_list", label="bogus", view=View(Item("name")), ), ], hide_root=True, ) bogus_list = [Bogus()] object_view = BogusTreeView(bogus=Bogus(bogus_list=bogus_list)) view = View(Item("bogus", id="tree", editor=tree_editor)) with reraise_exceptions(), \ create_ui(object_view, dict(view=view)) as ui: editor = ui.info.tree editor.selected = bogus_list[0] GUI.process_events() def _test_tree_editor_releases_listeners( self, hide_root, nodes=None, trait="bogus_list", expected_listeners=1 ): """ The TreeEditor should release the listener to the root node's children when it's disposed of. """ bogus = Bogus(bogus_list=[Bogus()]) tree_editor_view = BogusTreeView( bogus=bogus, hide_root=hide_root, nodes=nodes ) with reraise_exceptions(), create_ui(tree_editor_view): # The TreeEditor sets a listener on the bogus object's # children list notifiers_list = bogus.trait(trait)._notifiers(False) self.assertEqual(expected_listeners, len(notifiers_list)) # The listener should be removed after the UI has been closed notifiers_list = bogus.trait(trait)._notifiers(False) self.assertEqual(0, len(notifiers_list)) def _test_tree_node_object_releases_listeners( self, hide_root, nodes=None, trait="bogus_list", expected_listeners=1 ): """ The TreeEditor should release the listener to the root node's children when it's disposed of. """ bogus = BogusTreeNodeObject(bogus_list=[BogusTreeNodeObject()]) tree_editor_view = BogusTreeNodeObjectView( bogus=bogus, hide_root=hide_root, nodes=nodes ) with reraise_exceptions(), create_ui(tree_editor_view): # The TreeEditor sets a listener on the bogus object's # children list notifiers_list = bogus.trait(trait)._notifiers(False) self.assertEqual(expected_listeners, len(notifiers_list)) if trait == "name": # fire a label change bogus.name = "Something else" else: # change the children bogus.bogus_list.append(BogusTreeNodeObject()) # The listener should be removed after the UI has been closed notifiers_list = bogus.trait(trait)._notifiers(False) self.assertEqual(0, len(notifiers_list)) @requires_toolkit([ToolkitName.qt]) def test_tree_editor_listeners_with_shown_root(self): nodes = [ TreeNode(node_for=[Bogus], children="bogus_list", label="=Bogus") ] self._test_tree_editor_releases_listeners(hide_root=False, nodes=nodes) @requires_toolkit([ToolkitName.qt]) def test_tree_editor_listeners_with_hidden_root(self): nodes = [ TreeNode(node_for=[Bogus], children="bogus_list", label="=Bogus") ] self._test_tree_editor_releases_listeners(hide_root=True, nodes=nodes) @requires_toolkit([ToolkitName.qt]) def test_tree_editor_label_listener(self): nodes = [ TreeNode(node_for=[Bogus], children="bogus_list", label="name") ] self._test_tree_editor_releases_listeners( hide_root=False, nodes=nodes, trait="name" ) @requires_toolkit([ToolkitName.qt]) def test_tree_editor_xgetattr_label_listener(self): nodes = [ TreeNode( node_for=[Bogus], children="bogus_list", label="wrapped_bogus.name", ) ] self._test_tree_editor_releases_listeners( hide_root=False, nodes=nodes, trait="wrapped_bogus", expected_listeners=2, ) @requires_toolkit([ToolkitName.qt]) def test_tree_node_object_listeners_with_shown_root(self): nodes = [ ObjectTreeNode( node_for=[BogusTreeNodeObject], children="bogus_list", label="=Bogus", ) ] self._test_tree_node_object_releases_listeners( nodes=nodes, hide_root=False ) @requires_toolkit([ToolkitName.qt]) def test_tree_node_object_listeners_with_hidden_root(self): nodes = [ ObjectTreeNode( node_for=[BogusTreeNodeObject], children="bogus_list", label="=Bogus", ) ] self._test_tree_node_object_releases_listeners( nodes=nodes, hide_root=True ) @requires_toolkit([ToolkitName.qt]) def test_tree_node_object_label_listener(self): nodes = [ ObjectTreeNode( node_for=[BogusTreeNodeObject], children="bogus_list", label="name", ) ] self._test_tree_node_object_releases_listeners( nodes=nodes, hide_root=False, trait="name" ) @requires_toolkit([ToolkitName.qt, ToolkitName.wx]) def test_smoke_save_restore_prefs(self): bogus = Bogus(bogus_list=[Bogus()]) tree_editor_view = BogusTreeView(bogus=bogus) with create_ui(tree_editor_view) as ui: prefs = ui.get_prefs() ui.set_prefs(prefs) @requires_toolkit([ToolkitName.qt]) def test_smoke_word_wrap(self): bogus = Bogus(bogus_list=[Bogus()]) tree_editor_view = BogusTreeView(bogus=bogus, word_wrap=True) with create_ui(tree_editor_view): pass traitsui-7.2.1/traitsui/tests/editors/test_set_editor.py0000644000076500000240000004707014046644454024250 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! import contextlib import unittest from traits.api import HasTraits, List from traitsui.api import SetEditor, UItem, View from traitsui.tests._tools import ( BaseTestMixin, create_ui, click_button, is_control_enabled, is_qt, is_wx, process_cascade_events, requires_toolkit, reraise_exceptions, ToolkitName, ) class ListModel(HasTraits): value = List(["one", "two"]) def get_view(can_move_all=True, ordered=False): return View( UItem( "value", editor=SetEditor( values=["one", "two", "three", "four"], ordered=ordered, can_move_all=can_move_all, ), style="simple", ) ) def get_list_items(list_widget): """ Return a list of strings from the list widget. """ items = [] if is_wx(): for i in range(list_widget.GetCount()): items.append(list_widget.GetString(i)) elif is_qt(): for i in range(list_widget.count()): items.append(list_widget.item(i).text()) else: raise unittest.SkipTest("Test not implemented for this toolkit") return items def click_on_item(editor, item_idx, in_used=False): """ Simulate a click on an item in a specified list. The function deselects all items in both used and unused lists, then selects an item at index item_idx either in the used list (if in_used=True) or in the unused list. Finally the function simulates a click on the selected item. """ unused_list = editor._unused used_list = editor._used if is_wx(): import wx # First deselect all items for i in range(unused_list.GetCount()): unused_list.Deselect(i) for i in range(used_list.GetCount()): used_list.Deselect(i) # Select the item in the correct list list_with_selection = used_list if in_used else unused_list list_with_selection.SetSelection(item_idx) event = wx.CommandEvent( wx.EVT_LISTBOX.typeId, list_with_selection.GetId() ) wx.PostEvent(editor.control, event) elif is_qt(): for i in range(unused_list.count()): status = (not in_used) and (item_idx == i) unused_list.item(i).setSelected(status) for i in range(used_list.count()): status = (in_used) and (item_idx == i) used_list.item(i).setSelected(status) if in_used: used_list.itemClicked.emit(used_list.item(item_idx)) else: unused_list.itemClicked.emit(unused_list.item(item_idx)) else: raise unittest.SkipTest("Test not implemented for this toolkit") def double_click_on_item(editor, item_idx, in_used=False): """ Simulate a double click on an item in a specified list. The function deselects all items in both used and unused lists, then selects an item at index item_idx either in the used list (if in_used=True) or in the unused list. Finally the function simulates a double click on the selected item. """ unused_list = editor._unused used_list = editor._used if is_wx(): import wx # First deselect all items for i in range(unused_list.GetCount()): unused_list.Deselect(i) for i in range(used_list.GetCount()): used_list.Deselect(i) # Select the item in the correct list list_with_selection = used_list if in_used else unused_list list_with_selection.SetSelection(item_idx) event = wx.CommandEvent( wx.EVT_LISTBOX_DCLICK.typeId, list_with_selection.GetId() ) wx.PostEvent(editor.control, event) elif is_qt(): for i in range(unused_list.count()): status = (not in_used) and (item_idx == i) unused_list.item(i).setSelected(status) for i in range(used_list.count()): status = (in_used) and (item_idx == i) used_list.item(i).setSelected(status) if in_used: used_list.itemDoubleClicked.emit(used_list.item(item_idx)) else: unused_list.itemDoubleClicked.emit(unused_list.item(item_idx)) else: raise unittest.SkipTest("Test not implemented for this toolkit") @requires_toolkit([ToolkitName.qt, ToolkitName.wx]) class TestSetEditorMapping(BaseTestMixin, unittest.TestCase): def setUp(self): BaseTestMixin.setUp(self) def tearDown(self): BaseTestMixin.tearDown(self) @contextlib.contextmanager def setup_ui(self, model, view): with create_ui(model, dict(view=view)) as ui: yield ui.get_editors("value")[0] def test_simple_editor_mapping_values(self): class IntListModel(HasTraits): value = List() set_editor_factory = SetEditor( values=[0, 1], format_func=lambda v: str(bool(v)).upper() ) formatted_view = View( UItem( "value", editor=set_editor_factory, style="simple", ) ) with reraise_exceptions(), \ self.setup_ui(IntListModel(), formatted_view) as editor: self.assertEqual(editor.names, ["FALSE", "TRUE"]) self.assertEqual(editor.mapping, {"FALSE": 0, "TRUE": 1}) self.assertEqual( editor.inverse_mapping, {0: "FALSE", 1: "TRUE"} ) set_editor_factory.values = [1, 0] self.assertEqual(editor.names, ["TRUE", "FALSE"]) self.assertEqual(editor.mapping, {"TRUE": 1, "FALSE": 0}) self.assertEqual( editor.inverse_mapping, {1: "TRUE", 0: "FALSE"} ) def test_simple_editor_mapping_name(self): class IntListModel(HasTraits): value = List() possible_values = List([0, 1]) formatted_view = View( UItem( 'value', editor=SetEditor( name="object.possible_values", format_func=lambda v: str(bool(v)).upper(), ), style="simple", ) ) model = IntListModel() with reraise_exceptions(), \ self.setup_ui(model, formatted_view) as editor: self.assertEqual(editor.names, ["FALSE", "TRUE"]) self.assertEqual(editor.mapping, {"FALSE": 0, "TRUE": 1}) self.assertEqual( editor.inverse_mapping, {0: "FALSE", 1: "TRUE"} ) model.possible_values = [1, 0] self.assertEqual(editor.names, ["TRUE", "FALSE"]) self.assertEqual(editor.mapping, {"TRUE": 1, "FALSE": 0}) self.assertEqual( editor.inverse_mapping, {1: "TRUE", 0: "FALSE"} ) @requires_toolkit([ToolkitName.qt, ToolkitName.wx]) class TestSimpleSetEditor(BaseTestMixin, unittest.TestCase): def setUp(self): BaseTestMixin.setUp(self) def tearDown(self): BaseTestMixin.tearDown(self) @contextlib.contextmanager def setup_gui(self, model, view): with create_ui(model, dict(view=view)) as ui: yield ui.get_editors("value")[0] def test_simple_set_editor_use_button(self): # Initiate with non-alphabetical list model = ListModel(value=["two", "one"]) with reraise_exceptions(), \ self.setup_gui(model, get_view()) as editor: self.assertEqual(get_list_items(editor._unused), ["four", "three"]) # Used list is sorted alphabetically self.assertEqual(get_list_items(editor._used), ["one", "two"]) click_on_item(editor, 1, in_used=False) process_cascade_events() self.assertTrue(is_control_enabled(editor._use)) self.assertFalse(is_control_enabled(editor._unuse)) click_button(editor._use) process_cascade_events() self.assertEqual(get_list_items(editor._unused), ["four"]) # Button inserts at the top self.assertEqual( get_list_items(editor._used), ["three", "one", "two"] ) self.assertEqual(editor._get_selected_strings(editor._used), []) def test_simple_set_editor_unuse_button(self): with reraise_exceptions(), \ self.setup_gui(ListModel(), get_view()) as editor: self.assertEqual(get_list_items(editor._unused), ["four", "three"]) self.assertEqual(get_list_items(editor._used), ["one", "two"]) click_on_item(editor, 0, in_used=True) process_cascade_events() self.assertFalse(is_control_enabled(editor._use)) self.assertTrue(is_control_enabled(editor._unuse)) click_button(editor._unuse) process_cascade_events() # Button inserts at the top self.assertEqual( get_list_items(editor._unused), ["one", "four", "three"] ) self.assertEqual(get_list_items(editor._used), ["two"]) def test_simple_set_editor_use_dclick(self): with reraise_exceptions(), \ self.setup_gui(ListModel(), get_view()) as editor: self.assertEqual(get_list_items(editor._unused), ["four", "three"]) self.assertEqual(get_list_items(editor._used), ["one", "two"]) double_click_on_item(editor, 1, in_used=False) process_cascade_events() self.assertEqual(get_list_items(editor._unused), ["four"]) # Inserts at the top self.assertEqual( get_list_items(editor._used), ["three", "one", "two"] ) self.assertEqual(editor._get_selected_strings(editor._used), []) def test_simple_set_editor_unuse_dclick(self): with reraise_exceptions(), \ self.setup_gui(ListModel(), get_view()) as editor: self.assertEqual(get_list_items(editor._unused), ["four", "three"]) self.assertEqual(get_list_items(editor._used), ["one", "two"]) double_click_on_item(editor, 0, in_used=True) process_cascade_events() # Inserts at the top self.assertEqual( get_list_items(editor._unused), ["one", "four", "three"] ) self.assertEqual(get_list_items(editor._used), ["two"]) def test_simple_set_editor_use_all(self): with reraise_exceptions(), \ self.setup_gui(ListModel(), get_view()) as editor: self.assertEqual(get_list_items(editor._unused), ["four", "three"]) self.assertEqual(get_list_items(editor._used), ["one", "two"]) click_on_item(editor, 1, in_used=False) process_cascade_events() self.assertTrue(is_control_enabled(editor._use_all)) self.assertFalse(is_control_enabled(editor._unuse_all)) click_button(editor._use_all) process_cascade_events() self.assertEqual(get_list_items(editor._unused), []) # Button inserts at the end self.assertEqual( get_list_items(editor._used), ["one", "two", "four", "three"] ) def test_simple_set_editor_unuse_all(self): with reraise_exceptions(), \ self.setup_gui(ListModel(), get_view()) as editor: self.assertEqual(get_list_items(editor._unused), ["four", "three"]) self.assertEqual(get_list_items(editor._used), ["one", "two"]) click_on_item(editor, 0, in_used=True) process_cascade_events() self.assertFalse(is_control_enabled(editor._use_all)) self.assertTrue(is_control_enabled(editor._unuse_all)) click_button(editor._unuse_all) process_cascade_events() # Button inserts at the end self.assertEqual( get_list_items(editor._unused), ["four", "three", "one", "two"] ) self.assertEqual(get_list_items(editor._used), []) def test_simple_set_editor_move_up(self): with reraise_exceptions(), \ self.setup_gui(ListModel(), get_view(ordered=True)) as editor: self.assertEqual(get_list_items(editor._unused), ["four", "three"]) self.assertEqual(get_list_items(editor._used), ["one", "two"]) click_on_item(editor, 1, in_used=True) process_cascade_events() self.assertTrue(is_control_enabled(editor._up)) self.assertFalse(is_control_enabled(editor._down)) click_button(editor._up) process_cascade_events() self.assertEqual(get_list_items(editor._unused), ["four", "three"]) self.assertEqual(get_list_items(editor._used), ["two", "one"]) def test_simple_set_editor_move_down(self): with reraise_exceptions(), \ self.setup_gui(ListModel(), get_view(ordered=True)) as editor: self.assertEqual(get_list_items(editor._unused), ["four", "three"]) self.assertEqual(get_list_items(editor._used), ["one", "two"]) click_on_item(editor, 0, in_used=True) process_cascade_events() self.assertFalse(is_control_enabled(editor._up)) self.assertTrue(is_control_enabled(editor._down)) click_button(editor._down) process_cascade_events() self.assertEqual(get_list_items(editor._unused), ["four", "three"]) self.assertEqual(get_list_items(editor._used), ["two", "one"]) def test_simple_set_editor_use_all_button(self): with reraise_exceptions(), \ self.setup_gui(ListModel(), get_view()) as editor: self.assertEqual(get_list_items(editor._unused), ["four", "three"]) self.assertEqual(get_list_items(editor._used), ["one", "two"]) click_on_item(editor, 1, in_used=False) process_cascade_events() self.assertTrue(is_control_enabled(editor._use_all)) self.assertFalse(is_control_enabled(editor._unuse_all)) click_button(editor._use_all) process_cascade_events() self.assertEqual(get_list_items(editor._unused), []) # Button inserts at the end self.assertEqual( get_list_items(editor._used), ["one", "two", "four", "three"] ) def test_simple_set_editor_unuse_all_button(self): with reraise_exceptions(), \ self.setup_gui(ListModel(), get_view()) as editor: self.assertEqual(get_list_items(editor._unused), ["four", "three"]) self.assertEqual(get_list_items(editor._used), ["one", "two"]) click_on_item(editor, 0, in_used=True) process_cascade_events() self.assertFalse(is_control_enabled(editor._use_all)) self.assertTrue(is_control_enabled(editor._unuse_all)) click_button(editor._unuse_all) process_cascade_events() # Button inserts at the end self.assertEqual( get_list_items(editor._unused), ["four", "three", "one", "two"] ) self.assertEqual(get_list_items(editor._used), []) def test_simple_set_editor_default_selection_unused(self): with reraise_exceptions(), \ self.setup_gui(ListModel(), get_view()) as editor: self.assertEqual(get_list_items(editor._unused), ["four", "three"]) self.assertEqual(get_list_items(editor._used), ["one", "two"]) click_button(editor._use) process_cascade_events() # Button inserts at the top self.assertEqual( get_list_items(editor._unused), ["three"] ) self.assertEqual( get_list_items(editor._used), ["four", "one", "two"] ) def test_simple_set_editor_default_selection_used(self): # When all items are used, top used item is selected by default list_edit = ListModel(value=["one", "two", "three", "four"]) with reraise_exceptions(), \ self.setup_gui(list_edit, get_view()) as editor: self.assertEqual(get_list_items(editor._unused), []) self.assertEqual( get_list_items(editor._used), ["four", "one", "three", "two"]) click_button(editor._unuse) process_cascade_events() # Button inserts at the top self.assertEqual(get_list_items(editor._unused), ["four"]) self.assertEqual( get_list_items(editor._used), ["one", "three", "two"] ) def test_simple_set_editor_deleted_valid_values(self): editor_factory = SetEditor(values=["one", "two", "three", "four"]) view = View(UItem("value", editor=editor_factory, style="simple",)) list_edit = ListModel() with reraise_exceptions(), \ self.setup_gui(list_edit, view) as editor: self.assertEqual(get_list_items(editor._unused), ["four", "three"]) self.assertEqual(get_list_items(editor._used), ["one", "two"]) editor_factory.values = ["two", "three", "four"] process_cascade_events() self.assertEqual(get_list_items(editor._unused), ["four", "three"]) # FIXME issue enthought/traitsui#840 if is_wx(): with self.assertRaises(AssertionError): self.assertEqual(get_list_items(editor._used), ["two"]) self.assertEqual(get_list_items(editor._used), ["one", "two"]) else: self.assertEqual(get_list_items(editor._used), ["two"]) self.assertEqual(list_edit.value, ["two"]) def test_simple_set_editor_use_ordered_selected(self): # Initiate with non-alphabetical list model = ListModel(value=["two", "one"]) with reraise_exceptions(), \ self.setup_gui(model, get_view(ordered=True)) as editor: self.assertEqual(get_list_items(editor._unused), ["four", "three"]) # Used list maintains the order self.assertEqual(get_list_items(editor._used), ["two", "one"]) click_on_item(editor, 1, in_used=False) process_cascade_events() self.assertTrue(is_control_enabled(editor._use)) self.assertFalse(is_control_enabled(editor._unuse)) click_button(editor._use) process_cascade_events() self.assertEqual(get_list_items(editor._unused), ["four"]) # Button inserts at the top self.assertEqual( get_list_items(editor._used), ["three", "two", "one"] ) self.assertEqual( editor._get_selected_strings(editor._used), ["three"] ) def test_simple_set_editor_unordeder_button_existence(self): with reraise_exceptions(), \ self.setup_gui(ListModel(), get_view()) as editor: self.assertIsNone(editor._up) self.assertIsNone(editor._down) def test_simple_set_editor_cant_move_all_button_existence(self): view = get_view(can_move_all=False) with reraise_exceptions(), \ self.setup_gui(ListModel(), view) as editor: self.assertIsNone(editor._use_all) self.assertIsNone(editor._unuse_all) traitsui-7.2.1/traitsui/tests/editors/test_liststr_editor_selection.py0000644000076500000240000006375114046644454027232 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! """ Test case for bug (wx, Mac OS X) A ListStrEditor was not checking for valid item indexes under Wx. This was most noticeable when the selected_index was set in the editor factory. """ import contextlib import platform import unittest from traits.has_traits import HasTraits from traits.trait_types import List, Int, Str from traitsui.item import Item from traitsui.view import View from traitsui.editors.list_str_editor import ListStrEditor from traitsui.tests._tools import ( BaseTestMixin, create_ui, is_wx, is_qt, process_cascade_events, requires_toolkit, reraise_exceptions, ToolkitName, ) is_windows = platform.system() == "Windows" class ListStrModel(HasTraits): value = List(["one", "two", "three"]) class ListStrEditorWithSelectedIndex(HasTraits): values = List(Str()) selected_index = Int() selected_indices = List(Int()) selected = Str() def get_view(**kwargs): return View( Item( "value", editor=ListStrEditor(**kwargs), ) ) single_select_view = View( Item( "values", show_label=False, editor=ListStrEditor(selected_index="selected_index", editable=False), ), buttons=["OK"], ) multi_select_view = View( Item( "values", show_label=False, editor=ListStrEditor( multi_select=True, selected_index="selected_indices", editable=False, ), ), buttons=["OK"], ) single_select_item_view = View( Item( "values", show_label=False, editor=ListStrEditor(selected="selected", editable=False), ), buttons=["OK"], ) def get_selected_indices(editor): """ Returns a list of the indices of all currently selected list items. """ if is_wx(): import wx # "item" in this context means "index of the item" item = -1 selected = [] while True: item = editor.control.GetNextItem( item, wx.LIST_NEXT_ALL, wx.LIST_STATE_SELECTED ) if item == -1: break selected.append(item) return selected elif is_qt(): indices = editor.list_view.selectionModel().selectedRows() return [i.row() for i in indices] else: raise unittest.SkipTest("Test not implemented for this toolkit") def set_selected_single(editor, index): """ Selects a specified item in an editor with multi_select=False. """ if is_wx(): editor.control.Select(index) elif is_qt(): from pyface.qt.QtGui import QItemSelectionModel smodel = editor.list_view.selectionModel() mi = editor.model.index(index) smodel.select(mi, QItemSelectionModel.ClearAndSelect) else: raise unittest.SkipTest("Test not implemented for this toolkit") def set_selected_multiple(editor, indices): """ Clears old selection and selects specified items in an editor with multi_select=True. """ if is_wx(): clear_selection(editor) for index in indices: editor.control.Select(index) elif is_qt(): from pyface.qt.QtGui import QItemSelectionModel clear_selection(editor) smodel = editor.list_view.selectionModel() for index in indices: mi = editor.model.index(index) smodel.select(mi, QItemSelectionModel.Select) else: raise unittest.SkipTest("Test not implemented for this toolkit") def clear_selection(editor): """ Clears existing selection. """ if is_wx(): import wx currently_selected = get_selected_indices(editor) # Deselect all currently selected items for selected_index in currently_selected: editor.control.SetItemState( selected_index, 0, wx.LIST_STATE_SELECTED ) elif is_qt(): editor.list_view.selectionModel().clearSelection() else: raise unittest.SkipTest("Test not implemented for this toolkit") def right_click_item(editor, index): """ Right clicks on the specified item. """ if is_wx(): import wx control = editor.control event = wx.ListEvent( wx.EVT_LIST_ITEM_RIGHT_CLICK.typeId, control.GetId() ) event.SetIndex(index) wx.PostEvent(control, event) elif is_qt(): from pyface.qt import QtCore from pyface.qt.QtTest import QTest view = editor.list_view q_model_index = view.model().index(index, 0) view.scrollTo(q_model_index) rect = view.visualRect(q_model_index) QTest.mouseClick( view.viewport(), QtCore.Qt.RightButton, QtCore.Qt.NoModifier, rect.center(), ) else: raise unittest.SkipTest("Test not implemented for this toolkit") def right_click_center(editor): """ Right click the middle of the widget. """ if is_wx(): import wx control = editor.control event = wx.ListEvent( wx.EVT_LIST_ITEM_RIGHT_CLICK.typeId, control.GetId() ) wx.PostEvent(control, event) elif is_qt(): from pyface.qt import QtCore from pyface.qt.QtTest import QTest view = editor.list_view rect = view.rect() QTest.mouseClick( view.viewport(), QtCore.Qt.RightButton, QtCore.Qt.NoModifier, rect.center(), ) else: raise unittest.SkipTest("Test not implemented for this toolkit") @unittest.skipIf(is_wx(), "Issue enthought/traitsui#752") @requires_toolkit([ToolkitName.qt, ToolkitName.wx]) class TestListStrEditor(BaseTestMixin, unittest.TestCase): def setUp(self): BaseTestMixin.setUp(self) def tearDown(self): BaseTestMixin.tearDown(self) @contextlib.contextmanager def setup_gui(self, model, view): with create_ui(model, dict(view=view)) as ui: process_cascade_events() editor = ui.get_editors("value")[0] yield editor def test_list_str_editor_single_selection(self): with reraise_exceptions(), \ self.setup_gui(ListStrModel(), get_view()) as editor: if is_qt(): # No initial selection self.assertEqual(editor.selected_index, -1) self.assertEqual(editor.selected, None) elif is_wx(): # First element selected initially self.assertEqual(editor.selected_index, 0) self.assertEqual(editor.selected, "one") set_selected_single(editor, 1) process_cascade_events() self.assertEqual(editor.selected_index, 1) self.assertEqual(editor.selected, "two") set_selected_single(editor, 2) process_cascade_events() self.assertEqual(editor.selected_index, 2) self.assertEqual(editor.selected, "three") clear_selection(editor) process_cascade_events() self.assertEqual(editor.selected_index, -1) self.assertEqual(editor.selected, None) def test_list_str_editor_multi_selection(self): view = get_view(multi_select=True) with reraise_exceptions(), \ self.setup_gui(ListStrModel(), view) as editor: self.assertEqual(editor.multi_selected_indices, []) self.assertEqual(editor.multi_selected, []) set_selected_multiple(editor, [0, 1]) process_cascade_events() self.assertEqual(editor.multi_selected_indices, [0, 1]) self.assertEqual(editor.multi_selected, ["one", "two"]) set_selected_multiple(editor, [2]) process_cascade_events() self.assertEqual(editor.multi_selected_indices, [2]) self.assertEqual(editor.multi_selected, ["three"]) clear_selection(editor) process_cascade_events() self.assertEqual(editor.multi_selected_indices, []) self.assertEqual(editor.multi_selected, []) def test_list_str_editor_single_selection_changed(self): with reraise_exceptions(), \ self.setup_gui(ListStrModel(), get_view()) as editor: if is_qt(): # No initial selection self.assertEqual(get_selected_indices(editor), []) elif is_wx(): # First element selected initially self.assertEqual(get_selected_indices(editor), [0]) editor.selected_index = 1 process_cascade_events() self.assertEqual(get_selected_indices(editor), [1]) self.assertEqual(editor.selected, "two") editor.selected = "three" process_cascade_events() self.assertEqual(get_selected_indices(editor), [2]) self.assertEqual(editor.selected_index, 2) # Selected set to invalid value doesn't change anything editor.selected = "four" process_cascade_events() self.assertEqual(get_selected_indices(editor), [2]) self.assertEqual(editor.selected_index, 2) # Selected index changed to editor.selected_index = -1 process_cascade_events() if is_qt(): # -1 clears selection self.assertEqual(get_selected_indices(editor), []) self.assertEqual(editor.selected, None) elif is_wx(): # Visually selects everything but doesn't update `selected` self.assertEqual(editor.selected, "four") self.assertEqual(get_selected_indices(editor), [0, 1, 2]) def test_list_str_editor_multi_selection_changed(self): view = get_view(multi_select=True) with reraise_exceptions(), \ self.setup_gui(ListStrModel(), view) as editor: self.assertEqual(get_selected_indices(editor), []) editor.multi_selected_indices = [0, 1] process_cascade_events() self.assertEqual(get_selected_indices(editor), [0, 1]) self.assertEqual(editor.multi_selected, ["one", "two"]) editor.multi_selected = ["three", "one"] process_cascade_events() self.assertEqual(sorted(get_selected_indices(editor)), [0, 2]) self.assertEqual(sorted(editor.multi_selected_indices), [0, 2]) editor.multi_selected = ["three", "four"] process_cascade_events() if is_qt(): # Invalid values assigned to multi_selected are ignored self.assertEqual(get_selected_indices(editor), [2]) self.assertEqual(editor.multi_selected_indices, [2]) elif is_wx(): # Selection indices are not updated at all self.assertEqual(get_selected_indices(editor), [0, 2]) self.assertEqual(editor.multi_selected_indices, [0, 2]) # Setting selected indices to an empty list clears selection editor.multi_selected_indices = [] process_cascade_events() self.assertEqual(get_selected_indices(editor), []) self.assertEqual(editor.multi_selected, []) def test_list_str_editor_multi_selection_items_changed(self): view = get_view(multi_select=True) with reraise_exceptions(), \ self.setup_gui(ListStrModel(), view) as editor: self.assertEqual(get_selected_indices(editor), []) editor.multi_selected_indices.extend([0, 1]) process_cascade_events() self.assertEqual(get_selected_indices(editor), [0, 1]) self.assertEqual(editor.multi_selected, ["one", "two"]) editor.multi_selected_indices[1] = 2 process_cascade_events() self.assertEqual(get_selected_indices(editor), [0, 2]) self.assertEqual(editor.multi_selected, ["one", "three"]) editor.multi_selected[0] = "two" process_cascade_events() self.assertEqual(sorted(get_selected_indices(editor)), [1, 2]) self.assertEqual(sorted(editor.multi_selected_indices), [1, 2]) # If a change in multi_selected involves an invalid value, nothing # is changed editor.multi_selected[0] = "four" process_cascade_events() self.assertEqual(sorted(get_selected_indices(editor)), [1, 2]) self.assertEqual(sorted(editor.multi_selected_indices), [1, 2]) def test_list_str_editor_item_count(self): model = ListStrModel() # Without auto_add with reraise_exceptions(), \ create_ui(model, dict(view=get_view())) as ui: process_cascade_events() editor = ui.get_editors("value")[0] self.assertEqual(editor.item_count, 3) # With auto_add with reraise_exceptions(), \ create_ui(model, dict(view=get_view(auto_add=True))) as ui: process_cascade_events() editor = ui.get_editors("value")[0] self.assertEqual(editor.item_count, 3) def test_list_str_editor_refresh_editor(self): # Smoke test for refresh_editor/refresh_ with reraise_exceptions(), \ self.setup_gui(ListStrModel(), get_view()) as editor: if is_qt(): editor.refresh_editor() elif is_wx(): editor._refresh() process_cascade_events() @requires_toolkit([ToolkitName.qt]) def test_list_str_editor_update_editor_single_qt(self): # QT editor uses selected items as the source of truth when updating model = ListStrModel() with reraise_exceptions(), \ self.setup_gui(model, get_view()) as editor: set_selected_single(editor, 0) process_cascade_events() # Sanity check self.assertEqual(editor.selected_index, 0) self.assertEqual(editor.selected, "one") model.value = ["two", "one"] process_cascade_events() # Selected remains "one" and indices are updated accordingly self.assertEqual(get_selected_indices(editor), [1]) self.assertEqual(editor.selected_index, 1) self.assertEqual(editor.selected, "one") # Removing "one" creates a case of no longer valid selection model.value = ["two", "three"] process_cascade_events() # Internal view model selection is reset, but editor selection # values are not (see issue enthought/traitsui#872) self.assertEqual(get_selected_indices(editor), []) self.assertEqual(editor.selected_index, 1) self.assertEqual(editor.selected, "one") @requires_toolkit([ToolkitName.wx]) def test_list_str_editor_update_editor_single_wx(self): # WX editor uses selected indices as the source of truth when updating model = ListStrModel() with reraise_exceptions(), \ self.setup_gui(model, get_view()) as editor: set_selected_single(editor, 0) process_cascade_events() # Sanity check self.assertEqual(editor.selected_index, 0) self.assertEqual(editor.selected, "one") model.value = ["two", "one"] process_cascade_events() # Selected_index remains 0 and selected is updated accordingly self.assertEqual(get_selected_indices(editor), [0]) self.assertEqual(editor.selected_index, 0) self.assertEqual(editor.selected, "two") # Empty list creates a case of no longer valid selection model.value = [] process_cascade_events() # Internal view model selection is reset, but editor selection # values are not (see issue enthought/traitsui#872) self.assertEqual(get_selected_indices(editor), []) self.assertEqual(editor.selected_index, 0) self.assertEqual(editor.selected, "two") @requires_toolkit([ToolkitName.qt]) def test_list_str_editor_update_editor_multi_qt(self): # QT editor uses selected items as the source of truth when updating model = ListStrModel() view = get_view(multi_select=True) with reraise_exceptions(), \ self.setup_gui(model, view) as editor: set_selected_multiple(editor, [0]) process_cascade_events() # Sanity check self.assertEqual(editor.multi_selected_indices, [0]) self.assertEqual(editor.multi_selected, ["one"]) model.value = ["two", "one"] process_cascade_events() # Selected remains "one" and indices are updated accordingly self.assertEqual(get_selected_indices(editor), [1]) self.assertEqual(editor.multi_selected_indices, [1]) self.assertEqual(editor.multi_selected, ["one"]) # Removing "one" creates a case of no longer valid selection. model.value = ["two", "three"] process_cascade_events() # Internal view model selection is reset, but editor selection # values are not (see issue enthought/traitsui#872) self.assertEqual(get_selected_indices(editor), []) self.assertEqual(editor.multi_selected_indices, [1]) self.assertEqual(editor.multi_selected, ["one"]) @requires_toolkit([ToolkitName.wx]) def test_list_str_editor_update_editor_multi_wx(self): # WX editor uses selected indices as the source of truth when updating model = ListStrModel() view = get_view(multi_select=True) with reraise_exceptions(), \ self.setup_gui(model, view) as editor: set_selected_multiple(editor, [0]) process_cascade_events() # Sanity check self.assertEqual(editor.multi_selected_indices, [0]) self.assertEqual(editor.multi_selected, ["one"]) model.value = ["two", "one"] process_cascade_events() # Selected_index remains 0 and selected is updated accordingly self.assertEqual(get_selected_indices(editor), [0]) self.assertEqual(editor.multi_selected_indices, [0]) self.assertEqual(editor.multi_selected, ["two"]) # Empty list creates a case of no longer valid selection model.value = [] process_cascade_events() # Internal view model selection is reset, but editor selection # values are not (see issue enthought/traitsui#872) self.assertEqual(get_selected_indices(editor), []) self.assertEqual(editor.multi_selected_indices, [0]) self.assertEqual(editor.multi_selected, ["two"]) # wx editor doesn't have a `callx` method @requires_toolkit([ToolkitName.qt]) def test_list_str_editor_callx(self): model = ListStrModel() def change_value(model, value): model.value = value with reraise_exceptions(), \ self.setup_gui(model, get_view()) as editor: set_selected_single(editor, 0) process_cascade_events() # Sanity check self.assertEqual(editor.selected_index, 0) self.assertEqual(editor.selected, "one") editor.callx(change_value, model, ["two", "one"]) process_cascade_events() # Nothing is updated self.assertEqual(get_selected_indices(editor), [0]) self.assertEqual(editor.selected_index, 0) self.assertEqual(editor.selected, "one") # wx editor doesn't have a `setx` method @requires_toolkit([ToolkitName.qt]) def test_list_str_editor_setx(self): with reraise_exceptions(), \ self.setup_gui(ListStrModel(), get_view()) as editor: set_selected_single(editor, 0) process_cascade_events() # Sanity check self.assertEqual(editor.selected_index, 0) self.assertEqual(editor.selected, "one") editor.setx(selected="two") process_cascade_events() # Specified attribute is modified self.assertEqual(editor.selected, "two") # But nothing else is updated # FIXME issue enthought/traitsui#867 with self.assertRaises(AssertionError): self.assertEqual(get_selected_indices(editor), [0]) self.assertEqual(editor.selected_index, 0) self.assertEqual(get_selected_indices(editor), [1]) self.assertEqual(editor.selected_index, 1) def test_list_str_editor_horizontal_lines(self): # Smoke test for painting horizontal lines view = get_view(horizontal_lines=True) with reraise_exceptions(), \ self.setup_gui(ListStrModel(), view): pass def test_list_str_editor_title(self): # Smoke test for adding a title with reraise_exceptions(), \ self.setup_gui(ListStrModel(), get_view(title="testing")): pass def test_list_str_editor_right_click(self): class ListStrModelRightClick(HasTraits): value = List(["one", "two", "three"]) right_clicked = Str() right_clicked_index = Int() model = ListStrModelRightClick() view = get_view( right_clicked="object.right_clicked", right_clicked_index="object.right_clicked_index", ) with reraise_exceptions(), \ self.setup_gui(model, view) as editor: self.assertEqual(model.right_clicked, "") self.assertEqual(model.right_clicked_index, 0) right_click_item(editor, 1) process_cascade_events() self.assertEqual(model.right_clicked, "two") self.assertEqual(model.right_clicked_index, 1) def test_list_str_editor_right_click_out_of_bound(self): class ListStrModelRightClick(HasTraits): value = List([]) right_clicked = Str() right_clicked_index = Int() model = ListStrModelRightClick() view = get_view( right_clicked="object.right_clicked", right_clicked_index="object.right_clicked_index", ) with reraise_exceptions(), \ self.setup_gui(model, view) as editor: self.assertEqual(model.right_clicked, "") self.assertEqual(model.right_clicked_index, 0) right_click_center(editor) process_cascade_events() self.assertEqual(model.right_clicked, "") self.assertEqual(model.right_clicked_index, 0) class TestListStrEditorSelection(BaseTestMixin, unittest.TestCase): def setUp(self): BaseTestMixin.setUp(self) def tearDown(self): BaseTestMixin.tearDown(self) @requires_toolkit([ToolkitName.wx]) def test_wx_list_str_selected_index(self): # behavior: when starting up, the obj = ListStrEditorWithSelectedIndex( values=["value1", "value2"], selected_index=1 ) with reraise_exceptions(), \ create_ui(obj, dict(view=single_select_view)) as ui: editor = ui.get_editors("values")[0] # the following is equivalent to setting the text in the text # control, then pressing OK selected_1 = get_selected_indices(editor) obj.selected_index = 0 selected_2 = get_selected_indices(editor) # the number traits should be between 3 and 8 self.assertEqual(selected_1, [1]) self.assertEqual(selected_2, [0]) @requires_toolkit([ToolkitName.wx]) def test_wx_list_str_multi_selected_index(self): # behavior: when starting up, the obj = ListStrEditorWithSelectedIndex( values=["value1", "value2"], selected_indices=[1] ) with reraise_exceptions(), \ create_ui(obj, dict(view=multi_select_view)) as ui: editor = ui.get_editors("values")[0] # the following is equivalent to setting the text in the text # control, then pressing OK selected_1 = get_selected_indices(editor) obj.selected_indices = [0] selected_2 = get_selected_indices(editor) # the number traits should be between 3 and 8 self.assertEqual(selected_1, [1]) self.assertEqual(selected_2, [0]) @requires_toolkit([ToolkitName.qt]) def test_selection_listener_disconnected(self): """ Check that selection listeners get correctly disconnected """ from pyface.qt.QtGui import QApplication, QItemSelectionModel from pyface.ui.qt4.util.testing import event_loop obj = ListStrEditorWithSelectedIndex(values=["value1", "value2"]) with reraise_exceptions(): qt_app = QApplication.instance() if qt_app is None: qt_app = QApplication([]) # open the UI and run until the dialog is closed with create_ui(obj, dict(view=single_select_item_view)) as ui: pass # now run again and change the selection with create_ui(obj, dict(view=single_select_item_view)) as ui, \ event_loop(): editor = ui.get_editors("values")[0] list_view = editor.list_view mi = editor.model.index(1) list_view.selectionModel().select( mi, QItemSelectionModel.ClearAndSelect ) obj.selected = "value2" if __name__ == "__main__": # Executing the file opens the dialog for manual testing editor = ListStrEditorWithSelectedIndex( values=["value1", "value2"], selected_index=1 ) editor.configure_traits(view=single_select_view) traitsui-7.2.1/traitsui/tests/editors/test_list_editor.py0000644000076500000240000002400714046644454024423 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! import shutil import tempfile import unittest from pyface.toolkit import toolkit_object from traits.api import ( Directory, HasStrictTraits, Instance, Int, List, Str, TraitError ) from traitsui.api import Item, ListEditor, View from traitsui.testing.api import ( DisplayedText, Index, KeyClick, KeySequence, LocationNotSupported, MouseClick, Textbox, UITester ) from traitsui.tests._tools import ( requires_toolkit, ToolkitName, ) ModalDialogTester = toolkit_object( "util.modal_dialog_tester:ModalDialogTester" ) # 'Person' class: class Person(HasStrictTraits): # Trait definitions: name = Str() age = Int() # Traits view definition: traits_view = View( 'name', 'age', width=0.18, buttons=['OK', 'Cancel'] ) def get_people(): # Sample data: return [ Person(name='Dave', age=39), Person(name='Mike', age=28), Person(name='Joe', age=34), Person(name='Tom', age=22), Person(name='Dick', age=63), Person(name='Harry', age=46), Person(name='Sally', age=43), Person(name='Fields', age=31) ] # 'ListTraitTest' class: class ListTraitTest(HasStrictTraits): # Trait definitions: people = List(Instance(Person, ())) num_columns = Int(1) style = Str("custom") # Traits view definitions: def default_traits_view(self): view = View( Item( 'people', label='List', id='list', style=self.style, editor=ListEditor(style=self.style, columns=self.num_columns), ), resizable=True ) return view class Phonebook(HasStrictTraits): people = List(Instance(Person)) notebook_view = View( Item( "people", style="custom", editor=ListEditor(use_notebook=True), ) ) @requires_toolkit([ToolkitName.qt, ToolkitName.wx]) class TestCustomListEditor(unittest.TestCase): def test_locate_element_and_edit(self): # varying the number of columns in the view tests the logic for # getting the correct nested ui for col in range(1, 5): obj = ListTraitTest(people=get_people(), num_columns=col) tester = UITester() with tester.create_ui(obj) as ui: # sanity check self.assertEqual(obj.people[7].name, "Fields") people_list = tester.find_by_name(ui, "people") item = people_list.locate(Index(7)) name_field = item.find_by_name("name") for _ in range(6): name_field.perform(KeyClick("Backspace")) name_field.perform(KeySequence("David")) displayed = name_field.inspect(DisplayedText()) self.assertEqual(obj.people[7].name, "David") self.assertEqual(displayed, obj.people[7].name) def test_useful_err_message(self): obj = ListTraitTest(people=get_people()) tester = UITester() with tester.create_ui(obj) as ui: with self.assertRaises(LocationNotSupported) as exc: people_list = tester.find_by_name(ui, "people") people_list.locate(Textbox()) self.assertIn(Index, exc.exception.supported) def test_index_out_of_range(self): obj = ListTraitTest(people=get_people()) tester = UITester() with tester.create_ui(obj) as ui: people_list = tester.find_by_name(ui, "people") with self.assertRaises(IndexError): people_list.locate(Index(10)) @requires_toolkit([ToolkitName.qt, ToolkitName.wx]) class TestSimpleListEditor(unittest.TestCase): def test_locate_element_and_edit(self): obj = ListTraitTest(people=get_people(), style="simple") tester = UITester() with tester.create_ui(obj) as ui: # sanity check self.assertEqual(obj.people[7].name, "Fields") people_list = tester.find_by_name(ui, "people") item = people_list.locate(Index(7)) item.perform(MouseClick()) name_field = item.find_by_name("name") for _ in range(6): name_field.perform(KeyClick("Backspace")) name_field.perform(KeySequence("David")) displayed = name_field.inspect(DisplayedText()) self.assertEqual(obj.people[7].name, "David") self.assertEqual(displayed, obj.people[7].name) def test_useful_err_message(self): obj = ListTraitTest(people=get_people(), style="simple") tester = UITester() with tester.create_ui(obj) as ui: with self.assertRaises(LocationNotSupported) as exc: people_list = tester.find_by_name(ui, "people") people_list.locate(Textbox()) self.assertIn(Index, exc.exception.supported) def test_index_out_of_range(self): obj = ListTraitTest(people=get_people(), style="simple") tester = UITester() with tester.create_ui(obj) as ui: people_list = tester.find_by_name(ui, "people") with self.assertRaises(IndexError): people_list.locate(Index(10)) # regression test for enthought/traitsui#1154 @requires_toolkit([ToolkitName.qt]) def test_add_item_fails(self): class Foo(HasStrictTraits): dirs = List(Directory(exists=True)) obj = Foo() tester = UITester(auto_process_events=False) with tester.create_ui(obj) as ui: dirs_list_editor = tester.find_by_name(ui, "dirs") def trigger_error(): try: dirs_list_editor._target.add_empty() except TraitError: return False return True mdtester = ModalDialogTester(trigger_error) mdtester.open_and_run(lambda x: x.close()) # we want an error dialog to open, but don't want to raise a # TraitError and crash the full application self.assertTrue(mdtester.dialog_was_opened) self.assertTrue(mdtester.result) self.assertEqual(len(obj.dirs), 0) # this test hits a problem on wx, see issue enthought/traitsui#1653 @requires_toolkit([ToolkitName.qt]) def test_default_factory(self): temp_dir = tempfile.mkdtemp() def test_callable(): return temp_dir class Foo(HasStrictTraits): dirs = List(Directory(exists=True)) view = View( Item( "dirs", editor=ListEditor(item_factory=test_callable) ) ) obj = Foo() tester = UITester() with tester.create_ui(obj) as ui: dirs_list_editor = tester.find_by_name(ui, "dirs") # should not raise error (see above test_add_item_fails) dirs_list_editor._target.add_empty() self.assertEqual(len(obj.dirs), 1) shutil.rmtree(temp_dir) def test_default_factory_with_args(self): class Foo(HasStrictTraits): bar = Int() baz = Str() def test_callable(bar, baz=''): return Foo(bar=bar, baz=baz) class TestFoo(HasStrictTraits): foos = List(Foo) view = View( Item( "foos", editor=ListEditor( item_factory=test_callable, item_factory_args=(7,), item_factory_kwargs={'baz': "python"} ) ) ) obj = TestFoo() tester = UITester() with tester.create_ui(obj) as ui: foos_list_editor = tester.find_by_name(ui, "foos") # should not raise error (see above test_add_item_fails) foos_list_editor._target.add_empty() self.assertEqual(len(obj.foos), 1) self.assertEqual(obj.foos[0].bar, 7) self.assertEqual(obj.foos[0].baz, "python") @requires_toolkit([ToolkitName.qt, ToolkitName.wx]) class TestNotebookListEditor(unittest.TestCase): def test_modify_person_name(self): phonebook = Phonebook( people=get_people(), ) tester = UITester() with tester.create_ui(phonebook, dict(view=notebook_view)) as ui: list_ = tester.find_by_name(ui, "people") list_.locate(Index(1)).perform(MouseClick()) name_field = list_.locate(Index(1)).find_by_name("name") for _ in range(4): name_field.perform(KeyClick("Backspace")) name_field.perform(KeySequence("Pete")) self.assertEqual(phonebook.people[1].name, "Pete") def test_get_person_name(self): person1 = Person() person2 = Person(name="Mary") phonebook = Phonebook( people=[person1, person2], ) tester = UITester() with tester.create_ui(phonebook, dict(view=notebook_view)) as ui: list_ = tester.find_by_name(ui, "people") list_.locate(Index(1)).perform(MouseClick()) name_field = list_.locate(Index(1)).find_by_name("name") actual = name_field.inspect(DisplayedText()) self.assertEqual(actual, "Mary") def test_index_out_of_bound(self): phonebook = Phonebook( people=[], ) tester = UITester() with tester.create_ui(phonebook, dict(view=notebook_view)) as ui: with self.assertRaises(IndexError): tester.find_by_name(ui, "people").\ locate(Index(0)).\ perform(MouseClick()) traitsui-7.2.1/traitsui/tests/editors/test_file_editor.py0000644000076500000240000001135014046644454024364 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! import unittest from traits.api import Event, File, HasTraits from traitsui.api import FileEditor, Item, View from traitsui.tests._tools import ( BaseTestMixin, requires_toolkit, ToolkitName, ) from traitsui.testing.api import DisplayedText, KeyClick, KeySequence, UITester class FileModel(HasTraits): filepath = File() reload_event = Event() existing_filepath = File(exists=True) @requires_toolkit([ToolkitName.qt, ToolkitName.wx]) class TestSimpleFileEditor(BaseTestMixin, unittest.TestCase): """ Test FileEditor (simple style). """ def setUp(self): BaseTestMixin.setUp(self) def tearDown(self): BaseTestMixin.tearDown(self) # Behavior on wx may not be quite the same on other platforms. @requires_toolkit([ToolkitName.qt]) def test_simple_editor_set_text_to_nonexisting_path(self): # Test setting the editor to a nonexisting filepath # e.g. use case for creating a new file. view = View(Item("filepath", editor=FileEditor())) obj = FileModel() tester = UITester() with tester.create_ui(obj, dict(view=view)) as ui: filepath_field = tester.find_by_name(ui, "filepath") filepath_field.perform(KeySequence("some_file.txt")) filepath_field.perform(KeyClick("Enter")) self.assertEqual(obj.filepath, "some_file.txt") def test_simple_editor_display_path(self): # Test the filepath widget is updated to show path view = View(Item("filepath", editor=FileEditor())) obj = FileModel() tester = UITester() with tester.create_ui(obj, dict(view=view)) as ui: filepath_field = tester.find_by_name(ui, "filepath") self.assertEqual(filepath_field.inspect(DisplayedText()), "") obj.filepath = "some_file.txt" self.assertEqual( filepath_field.inspect(DisplayedText()), "some_file.txt" ) # Behavior on wx may not be quite the same on other platforms. @requires_toolkit([ToolkitName.qt]) def test_simple_editor_auto_set_text(self): # Test with auto_set set to True. view = View(Item("filepath", editor=FileEditor(auto_set=True))) obj = FileModel() tester = UITester() with tester.create_ui(obj, dict(view=view)) as ui: filepath_field = tester.find_by_name(ui, "filepath") filepath_field.perform(KeySequence("some_file.txt")) self.assertEqual(obj.filepath, "some_file.txt") def test_simple_editor_reset_text_if_validation_error(self): # Test when the trait validates file existence. view = View(Item("existing_filepath", editor=FileEditor())) obj = FileModel() tester = UITester() with tester.create_ui(obj, dict(view=view)) as ui: filepath_field = tester.find_by_name(ui, "existing_filepath") # when filepath_field.perform(KeySequence("some_file.txt")) filepath_field.perform(KeyClick("Enter")) # then # the file does not exist, the trait is not set. self.assertEqual(obj.existing_filepath, "") # the widget is synchronized to the trait value. self.assertEqual(filepath_field.inspect(DisplayedText()), "") # Run this against wx too when enthought/traitsui#752 is also fixed. @requires_toolkit([ToolkitName.qt]) class TestCustomFileEditor(BaseTestMixin, unittest.TestCase): """ Test FileEditor (custom style). """ def setUp(self): BaseTestMixin.setUp(self) def tearDown(self): BaseTestMixin.tearDown(self) def test_custom_editor_init_and_dispose(self): # Test init and dispose by opening and closing the UI view = View(Item("filepath", editor=FileEditor(), style="custom")) obj = FileModel() with UITester().create_ui(obj, dict(view=view)): pass def test_custom_editor_reload_changed_after_dispose(self): # Test firing reload event on the model after the UI is disposed. view = View( Item( "filepath", editor=FileEditor(reload_name="reload_event"), style="custom", ), ) obj = FileModel() with UITester().create_ui(obj, dict(view=view)): pass # should not fail. obj.reload_event = True traitsui-7.2.1/traitsui/tests/editors/test_range_editor.py0000644000076500000240000003005514046644454024544 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! import platform import unittest from traits.api import HasTraits, Float, Int from traitsui.api import Item, RangeEditor, UItem, View from traitsui.testing.api import ( DisplayedText, KeyClick, KeySequence, Slider, TargetRegistry, Textbox, UITester ) from traitsui.tests._tools import ( BaseTestMixin, is_wx, requires_toolkit, ToolkitName, ) is_windows = platform.system() == "Windows" def _register_simple_spin(registry): """ Register interactions for the given registry for a SimpleSpinEditor. If there are any conflicts, an error will occur. This is kept separate from the below register function because the SimpleSpinEditor is not yet implemented on wx. This function can be used with a local reigstry for tests. Parameters ---------- registry : TargetRegistry The registry being registered to. """ from traitsui.testing.tester._ui_tester_registry.qt4 import ( _registry_helper ) from traitsui.qt4.range_editor import SimpleSpinEditor _registry_helper.register_editable_textbox_handlers( registry=registry, target_class=SimpleSpinEditor, widget_getter=lambda wrapper: wrapper._target.control.lineEdit(), ) class RangeModel(HasTraits): value = Int(1) float_value = Float(0.1) @requires_toolkit([ToolkitName.qt, ToolkitName.wx]) class TestRangeEditor(BaseTestMixin, unittest.TestCase): def setUp(self): BaseTestMixin.setUp(self) def tearDown(self): BaseTestMixin.tearDown(self) def check_range_enum_editor_format_func(self, style): # RangeEditor with enum mode doesn't support format_func obj = RangeModel() view = View( UItem( "value", editor=RangeEditor( low=1, high=3, format_func=lambda v: "{:02d}".format(v), mode="enum" ), style=style, ) ) tester = UITester() with tester.create_ui(obj, dict(view=view)) as ui: editor = ui.get_editors("value")[0] # No formatting - simple strings self.assertEqual(editor.names[:3], ["1", "2", "3"]) self.assertEqual(editor.mapping, {"1": 1, "2": 2, "3": 3}) self.assertEqual( editor.inverse_mapping, {1: "1", 2: "2", 3: "3"} ) def test_simple_editor_format_func(self): self.check_range_enum_editor_format_func("simple") def test_custom_editor_format_func(self): self.check_range_enum_editor_format_func("custom") def check_slider_set_with_text_valid(self, mode): model = RangeModel() view = View( Item( "value", editor=RangeEditor(low=1, high=12, mode=mode) ) ) tester = UITester() with tester.create_ui(model, dict(view=view)) as ui: # sanity check self.assertEqual(model.value, 1) number_field = tester.find_by_name(ui, "value") text = number_field.locate(Textbox()) text.perform(KeyClick("0")) text.perform(KeyClick("Enter")) displayed = text.inspect(DisplayedText()) self.assertEqual(model.value, 10) self.assertEqual(displayed, str(model.value)) def test_simple_slider_editor_set_with_text_valid(self): return self.check_slider_set_with_text_valid(mode='slider') def test_large_range_slider_editor_set_with_text_valid(self): return self.check_slider_set_with_text_valid(mode='xslider') def test_log_range_slider_editor_set_with_text_valid(self): return self.check_slider_set_with_text_valid(mode='logslider') def test_range_text_editor_set_with_text_valid(self): model = RangeModel() view = View( Item( "value", editor=RangeEditor(low=1, high=12, mode="text") ) ) tester = UITester() with tester.create_ui(model, dict(view=view)) as ui: # sanity check self.assertEqual(model.value, 1) number_field_text = tester.find_by_name(ui, "value") if is_windows and is_wx(): # For RangeTextEditor on wx and windows, the textbox # automatically gets focus and the full content is selected. # Insertion point is moved to keep the test consistent number_field_text.perform(KeyClick("End")) number_field_text.perform(KeyClick("0")) number_field_text.perform(KeyClick("Enter")) displayed = number_field_text.inspect(DisplayedText()) self.assertEqual(model.value, 10) self.assertEqual(displayed, str(model.value)) # the tester support code is not yet implemented for Wx SimpleSpinEditor @requires_toolkit([ToolkitName.qt]) def test_simple_spin_editor_set_with_text_valid(self): model = RangeModel() view = View( Item( "value", editor=RangeEditor(low=1, high=12, mode="spinner") ) ) LOCAL_REGISTRY = TargetRegistry() _register_simple_spin(LOCAL_REGISTRY) tester = UITester(registries=[LOCAL_REGISTRY]) with tester.create_ui(model, dict(view=view)) as ui: # sanity check self.assertEqual(model.value, 1) number_field = tester.find_by_name(ui, "value") # For whatever reason, "End" was not working here number_field.perform(KeyClick("Right")) number_field.perform(KeyClick("0")) number_field.perform(KeyClick("Enter")) displayed = number_field.inspect(DisplayedText()) self.assertEqual(model.value, 10) self.assertEqual(displayed, str(model.value)) def check_slider_set_with_text_after_empty(self, mode): model = RangeModel() view = View( Item( "value", editor=RangeEditor(low=1, high=12, mode=mode) ) ) tester = UITester() with tester.create_ui(model, dict(view=view)) as ui: number_field = tester.find_by_name(ui, "value") text = number_field.locate(Textbox()) # Delete all contents of textbox for _ in range(5): text.perform(KeyClick("Backspace")) text.perform(KeySequence("11")) text.perform(KeyClick("Enter")) displayed = text.inspect(DisplayedText()) self.assertEqual(model.value, 11) self.assertEqual(displayed, str(model.value)) def test_simple_slider_editor_set_with_text_after_empty(self): return self.check_slider_set_with_text_after_empty(mode='slider') def test_large_range_slider_editor_set_with_text_after_empty(self): return self.check_slider_set_with_text_after_empty(mode='xslider') def test_log_range_slider_editor_set_with_text_after_empty(self): return self.check_slider_set_with_text_after_empty(mode='logslider') # on wx the text style editor gives an error whenever the textbox # is empty, even if enter has not been pressed. @requires_toolkit([ToolkitName.qt]) def test_range_text_editor_set_with_text_after_empty(self): model = RangeModel() view = View( Item( "value", editor=RangeEditor(low=1, high=12, mode="text") ) ) tester = UITester() with tester.create_ui(model, dict(view=view)) as ui: number_field_text = tester.find_by_name(ui, "value") # Delete all contents of textbox for _ in range(5): number_field_text.perform(KeyClick("Backspace")) number_field_text.perform(KeySequence("11")) number_field_text.perform(KeyClick("Enter")) displayed = number_field_text.inspect(DisplayedText()) self.assertEqual(model.value, 11) self.assertEqual(displayed, str(model.value)) # the tester support code is not yet implemented for Wx SimpleSpinEditor @requires_toolkit([ToolkitName.qt]) def test_simple_spin_editor_set_with_text_after_empty(self): model = RangeModel() view = View( Item( "value", editor=RangeEditor(low=1, high=12, mode="spinner") ) ) LOCAL_REGISTRY = TargetRegistry() _register_simple_spin(LOCAL_REGISTRY) tester = UITester(registries=[LOCAL_REGISTRY]) with tester.create_ui(model, dict(view=view)) as ui: number_field_text = tester.find_by_name(ui, "value") number_field_text.perform(KeyClick("Right")) # Delete all contents of textbox for _ in range(5): number_field_text.perform(KeyClick("Backspace")) number_field_text.perform(KeySequence("11")) number_field_text.perform(KeyClick("Enter")) displayed = number_field_text.inspect(DisplayedText()) self.assertEqual(model.value, 11) self.assertEqual(displayed, str(model.value)) def check_modify_slider(self, mode): model = RangeModel(value=0) view = View( Item( "value", editor=RangeEditor(low=0, high=10, mode=mode) ) ) tester = UITester() with tester.create_ui(model, dict(view=view)) as ui: number_field = tester.find_by_name(ui, "value") slider = number_field.locate(Slider()) text = number_field.locate(Textbox()) # slider values are converted to a [0, 10000] scale. A single # step is a change of 100 on that scale and a page step is 1000. # Our range in [0, 10] so these correspond to changes of .1 and 1. # Note: when tested manually, the step size seen on OSX and Wx is # different. for _ in range(10): slider.perform(KeyClick("Right")) displayed = text.inspect(DisplayedText()) self.assertEqual(model.value, 1) self.assertEqual(displayed, str(model.value)) slider.perform(KeyClick("Page Up")) displayed = text.inspect(DisplayedText()) self.assertEqual(model.value, 2) self.assertEqual(displayed, str(model.value)) def test_modify_slider_simple_slider(self): return self.check_modify_slider('slider') def test_modify_slider_large_range_slider(self): return self.check_modify_slider('xslider') def test_modify_slider_log_range_slider(self): model = RangeModel() view = View( Item( "float_value", editor=RangeEditor(low=.1, high=1000000000, mode='logslider') ) ) tester = UITester() with tester.create_ui(model, dict(view=view)) as ui: number_field = tester.find_by_name(ui, "float_value") slider = number_field.locate(Slider()) text = number_field.locate(Textbox()) # 10 steps is equivalent to 1 page step # on this scale either of those is equivalent to increasing the # trait's value from 10^n to 10^(n+1) for _ in range(10): slider.perform(KeyClick("Right")) displayed = text.inspect(DisplayedText()) self.assertEqual(model.float_value, 1.0) self.assertEqual(displayed, str(model.float_value)) slider.perform(KeyClick("Page Up")) displayed = text.inspect(DisplayedText()) self.assertEqual(model.float_value, 10.0) self.assertEqual(displayed, str(model.float_value)) traitsui-7.2.1/traitsui/tests/editors/test_boolean_editor.py0000644000076500000240000001033214046644454025063 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! import unittest from traits.api import HasTraits, Bool from traitsui.api import BooleanEditor, Item, View from traitsui.tests._tools import ( BaseTestMixin, requires_toolkit, ToolkitName, ) from traitsui.testing.api import ( DisplayedText, IsChecked, KeyClick, KeySequence, MouseClick, UITester ) class BoolModel(HasTraits): true_or_false = Bool() # Run this against wx once enthought/traitsui#752 is also fixed for # BooleanEditor @requires_toolkit([ToolkitName.qt, ToolkitName.wx]) class TestBooleanEditor(BaseTestMixin, unittest.TestCase): def setUp(self): BaseTestMixin.setUp(self) def tearDown(self): BaseTestMixin.tearDown(self) def check_click_boolean_changes_trait(self, style): view = View(Item("true_or_false", style=style, editor=BooleanEditor())) obj = BoolModel() tester = UITester() with tester.create_ui(obj, dict(view=view)) as ui: # sanity check self.assertEqual(obj.true_or_false, False) checkbox = tester.find_by_name(ui, "true_or_false") checkbox.perform(MouseClick()) self.assertEqual(obj.true_or_false, True) def test_click_boolean_changes_trait_simple(self): self.check_click_boolean_changes_trait('simple') def test_click_boolean_changes_trait_custom(self): self.check_click_boolean_changes_trait('custom') def test_change_text_boolean_changes_trait(self): view = View(Item("true_or_false", style='text')) obj = BoolModel() tester = UITester() with tester.create_ui(obj, dict(view=view)) as ui: self.assertEqual(obj.true_or_false, False) text_field = tester.find_by_name(ui, 'true_or_false') for _ in range(5): text_field.perform(KeyClick("Backspace")) text_field.perform(KeySequence("True")) text_field.perform(KeyClick("Enter")) self.assertEqual(obj.true_or_false, True) def check_trait_change_shown_in_gui(self, style): view = View(Item("true_or_false", style=style)) obj = BoolModel() tester = UITester() with tester.create_ui(obj, dict(view=view)) as ui: checkbox = tester.find_by_name(ui, "true_or_false") checked = checkbox.inspect(IsChecked()) # sanity check self.assertEqual(checked, False) obj.true_or_false = True checked = checkbox.inspect(IsChecked()) self.assertEqual(checked, True) def test_trait_change_shown_in_gui_simple(self): self.check_trait_change_shown_in_gui('simple') def test_trait_change_shown_in_gui_custom(self): self.check_trait_change_shown_in_gui('custom') def test_trait_change_shown_in_gui_readonly(self): view = View(Item("true_or_false", style='readonly')) obj = BoolModel() tester = UITester() with tester.create_ui(obj, dict(view=view)) as ui: readonly = tester.find_by_name(ui, "true_or_false") displayed = readonly.inspect(DisplayedText()) # sanity check self.assertEqual(displayed, 'False') obj.true_or_false = True displayed = readonly.inspect(DisplayedText()) self.assertEqual(displayed, 'True') def test_trait_change_shown_in_gui_text(self): view = View(Item("true_or_false", style='text')) obj = BoolModel() tester = UITester() with tester.create_ui(obj, dict(view=view)) as ui: text_field = tester.find_by_name(ui, "true_or_false") displayed = text_field.inspect(DisplayedText()) # sanity check self.assertEqual(displayed, 'False') obj.true_or_false = True displayed = text_field.inspect(DisplayedText()) self.assertEqual(displayed, 'True') traitsui-7.2.1/traitsui/tests/editors/__init__.py0000644000076500000240000000000014046644454022565 0ustar aayresstaff00000000000000traitsui-7.2.1/traitsui/tests/editors/test_table_editor.py0000644000076500000240000004306714046644454024546 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! import unittest from unittest.mock import Mock from traits.api import HasTraits, Instance, Int, List, Str, Tuple from traitsui.api import ( Action, EvalTableFilter, Item, ObjectColumn, TableEditor, View, ) from traitsui.tests._tools import ( BaseTestMixin, create_ui, is_qt, is_wx, process_cascade_events, requires_toolkit, reraise_exceptions, ToolkitName, ) class ListItem(HasTraits): """ Items to visualize in a table editor """ value = Str() other_value = Int() class ObjectListWithSelection(HasTraits): values = List(Instance(ListItem)) selected = Instance(ListItem) selections = List(Instance(ListItem)) selected_index = Int() selected_indices = List(Int) selected_column = Str() selected_columns = List(Str) selected_cell = Tuple(Instance(ListItem), Str) selected_cells = List(Tuple(Instance(ListItem), Str)) selected_cell_index = Tuple(Int, Int) selected_cell_indices = List(Tuple(Int, Int)) class ObjectList(HasTraits): values = List(Instance(ListItem)) simple_view = View( Item( "values", show_label=False, editor=TableEditor( columns=[ ObjectColumn(name="value"), ObjectColumn(name="other_value"), ] ), ), buttons=["OK"], ) filtered_view = View( Item( "values", show_label=False, editor=TableEditor( columns=[ ObjectColumn(name="value"), ObjectColumn(name="other_value"), ], filter=EvalTableFilter(expression="other_value >= 2"), ), ), buttons=["OK"], ) select_row_view = View( Item( "values", show_label=False, editor=TableEditor( columns=[ ObjectColumn(name="value"), ObjectColumn(name="other_value"), ], selection_mode="row", selected="selected", ), ), buttons=["OK"], ) select_rows_view = View( Item( "values", show_label=False, editor=TableEditor( columns=[ObjectColumn(name="value")], selection_mode="rows", selected="selections", ), ), buttons=["OK"], ) select_row_index_view = View( Item( "values", show_label=False, editor=TableEditor( columns=[ ObjectColumn(name="value"), ObjectColumn(name="other_value"), ], selection_mode="row", selected_indices="selected_index", ), ), buttons=["OK"], ) select_row_indices_view = View( Item( "values", show_label=False, editor=TableEditor( columns=[ ObjectColumn(name="value"), ObjectColumn(name="other_value"), ], selection_mode="rows", selected_indices="selected_indices", ), ), buttons=["OK"], ) select_column_view = View( Item( "values", show_label=False, editor=TableEditor( columns=[ ObjectColumn(name="value"), ObjectColumn(name="other_value"), ], selection_mode="column", selected="selected_column", ), ), buttons=["OK"], ) select_columns_view = View( Item( "values", show_label=False, editor=TableEditor( columns=[ ObjectColumn(name="value"), ObjectColumn(name="other_value"), ], selection_mode="columns", selected="selected_columns", ), ), buttons=["OK"], ) select_column_index_view = View( Item( "values", show_label=False, editor=TableEditor( columns=[ ObjectColumn(name="value"), ObjectColumn(name="other_value"), ], selection_mode="column", selected_indices="selected_index", ), ), buttons=["OK"], ) select_column_indices_view = View( Item( "values", show_label=False, editor=TableEditor( columns=[ ObjectColumn(name="value"), ObjectColumn(name="other_value"), ], selection_mode="columns", selected_indices="selected_indices", ), ), buttons=["OK"], ) select_cell_view = View( Item( "values", show_label=False, editor=TableEditor( columns=[ ObjectColumn(name="value"), ObjectColumn(name="other_value"), ], selection_mode="cell", selected="selected_cell", ), ), buttons=["OK"], ) select_cells_view = View( Item( "values", show_label=False, editor=TableEditor( columns=[ ObjectColumn(name="value"), ObjectColumn(name="other_value"), ], selection_mode="cells", selected="selected_cells", ), ), buttons=["OK"], ) select_cell_index_view = View( Item( "values", show_label=False, editor=TableEditor( columns=[ ObjectColumn(name="value"), ObjectColumn(name="other_value"), ], selection_mode="cell", selected_indices="selected_cell_index", ), ), buttons=["OK"], ) select_cell_indices_view = View( Item( "values", show_label=False, editor=TableEditor( columns=[ ObjectColumn(name="value"), ObjectColumn(name="other_value"), ], selection_mode="cells", selected_indices="selected_cell_indices", ), ), buttons=["OK"], ) class TestTableEditor(BaseTestMixin, unittest.TestCase): def setUp(self): BaseTestMixin.setUp(self) def tearDown(self): BaseTestMixin.tearDown(self) @requires_toolkit([ToolkitName.qt, ToolkitName.wx]) def test_table_editor(self): object_list = ObjectListWithSelection( values=[ListItem(value=str(i ** 2)) for i in range(10)] ) with reraise_exceptions(), \ create_ui(object_list, dict(view=simple_view)): process_cascade_events() @requires_toolkit([ToolkitName.qt, ToolkitName.wx]) def test_filtered_table_editor(self): object_list = ObjectListWithSelection( values=[ListItem(value=str(i ** 2)) for i in range(10)] ) with reraise_exceptions(), \ create_ui(object_list, dict(view=filtered_view)) as ui: process_cascade_events() filter = ui.get_editors("values")[0].filter process_cascade_events() self.assertIsNotNone(filter) @requires_toolkit([ToolkitName.qt, ToolkitName.wx]) def test_table_editor_select_row(self): object_list = ObjectListWithSelection( values=[ListItem(value=str(i ** 2)) for i in range(10)] ) object_list.selected = object_list.values[5] with reraise_exceptions(), \ create_ui(object_list, dict(view=select_row_view)) as ui: editor = ui.get_editors("values")[0] process_cascade_events() if is_qt(): selected = editor.selected elif is_wx(): selected = editor.selected_row process_cascade_events() self.assertIs(selected, object_list.values[5]) @requires_toolkit([ToolkitName.qt, ToolkitName.wx]) def test_table_editor_select_rows(self): object_list = ObjectListWithSelection( values=[ListItem(value=str(i ** 2)) for i in range(10)] ) object_list.selections = object_list.values[5:7] with reraise_exceptions(), \ create_ui(object_list, dict(view=select_rows_view)) as ui: editor = ui.get_editors("values")[0] process_cascade_events() if is_qt(): selected = editor.selected elif is_wx(): selected = editor.selected_rows process_cascade_events() self.assertEqual(selected, object_list.values[5:7]) @requires_toolkit([ToolkitName.qt, ToolkitName.wx]) def test_table_editor_select_row_index(self): object_list = ObjectListWithSelection( values=[ListItem(value=str(i ** 2)) for i in range(10)] ) object_list.selected_index = 5 with reraise_exceptions(), \ create_ui(object_list, dict(view=select_row_index_view)) as ui: editor = ui.get_editors("values")[0] process_cascade_events() if is_qt(): selected = editor.selected_indices elif is_wx(): selected = editor.selected_row_index process_cascade_events() self.assertEqual(selected, 5) @requires_toolkit([ToolkitName.qt, ToolkitName.wx]) def test_table_editor_select_row_indices(self): object_list = ObjectListWithSelection( values=[ListItem(value=str(i ** 2)) for i in range(10)] ) object_list.selected_indices = [5, 7, 8] view = select_row_indices_view with reraise_exceptions(), \ create_ui(object_list, dict(view=view)) as ui: editor = ui.get_editors("values")[0] process_cascade_events() if is_qt(): selected = editor.selected_indices elif is_wx(): selected = editor.selected_row_indices process_cascade_events() self.assertEqual(selected, [5, 7, 8]) @requires_toolkit([ToolkitName.qt, ToolkitName.wx]) def test_table_editor_select_column(self): object_list = ObjectListWithSelection( values=[ListItem(value=str(i ** 2)) for i in range(10)] ) object_list.selected_column = "value" with reraise_exceptions(), \ create_ui(object_list, dict(view=select_column_view)) as ui: editor = ui.get_editors("values")[0] process_cascade_events() if is_qt(): selected = editor.selected elif is_wx(): selected = editor.selected_column process_cascade_events() self.assertEqual(selected, "value") @requires_toolkit([ToolkitName.qt, ToolkitName.wx]) def test_table_editor_select_columns(self): object_list = ObjectListWithSelection( values=[ListItem(value=str(i ** 2)) for i in range(10)] ) object_list.selected_columns = ["value", "other_value"] with reraise_exceptions(), \ create_ui(object_list, dict(view=select_columns_view)) as ui: editor = ui.get_editors("values")[0] process_cascade_events() if is_qt(): selected = editor.selected elif is_wx(): selected = editor.selected_columns process_cascade_events() self.assertEqual(selected, ["value", "other_value"]) @requires_toolkit([ToolkitName.qt, ToolkitName.wx]) def test_table_editor_select_column_index(self): object_list = ObjectListWithSelection( values=[ListItem(value=str(i ** 2)) for i in range(10)] ) object_list.selected_index = 1 view = select_column_index_view with reraise_exceptions(), \ create_ui(object_list, dict(view=view)) as ui: editor = ui.get_editors("values")[0] process_cascade_events() if is_qt(): selected = editor.selected_indices elif is_wx(): selected = editor.selected_column_index process_cascade_events() self.assertEqual(selected, 1) @requires_toolkit([ToolkitName.qt, ToolkitName.wx]) def test_table_editor_select_column_indices(self): object_list = ObjectListWithSelection( values=[ListItem(value=str(i ** 2)) for i in range(10)] ) object_list.selected_indices = [0, 1] view = select_column_indices_view with reraise_exceptions(), \ create_ui(object_list, dict(view=view)) as ui: editor = ui.get_editors("values")[0] process_cascade_events() if is_qt(): selected = editor.selected_indices elif is_wx(): selected = editor.selected_column_indices process_cascade_events() self.assertEqual(selected, [0, 1]) @requires_toolkit([ToolkitName.qt, ToolkitName.wx]) def test_table_editor_select_cell(self): object_list = ObjectListWithSelection( values=[ListItem(value=str(i ** 2)) for i in range(10)] ) object_list.selected_cell = (object_list.values[5], "value") with reraise_exceptions(), \ create_ui(object_list, dict(view=select_cell_view)) as ui: editor = ui.get_editors("values")[0] process_cascade_events() if is_qt(): selected = editor.selected elif is_wx(): selected = editor.selected_cell process_cascade_events() self.assertEqual(selected, (object_list.values[5], "value")) @requires_toolkit([ToolkitName.qt, ToolkitName.wx]) def test_table_editor_select_cells(self): object_list = ObjectListWithSelection( values=[ListItem(value=str(i ** 2)) for i in range(10)] ) object_list.selected_cells = [ (object_list.values[5], "value"), (object_list.values[6], "other value"), (object_list.values[8], "value"), ] with reraise_exceptions(), \ create_ui(object_list, dict(view=select_cells_view)) as ui: editor = ui.get_editors("values")[0] process_cascade_events() if is_qt(): selected = editor.selected elif is_wx(): selected = editor.selected_cells process_cascade_events() self.assertEqual(selected, [ (object_list.values[5], "value"), (object_list.values[6], "other value"), (object_list.values[8], "value"), ]) @requires_toolkit([ToolkitName.qt, ToolkitName.wx]) def test_table_editor_select_cell_index(self): object_list = ObjectListWithSelection( values=[ListItem(value=str(i ** 2)) for i in range(10)] ) object_list.selected_cell_index = (5, 1) view = select_cell_index_view with reraise_exceptions(), \ create_ui(object_list, dict(view=view)) as ui: editor = ui.get_editors("values")[0] process_cascade_events() if is_qt(): selected = editor.selected_indices elif is_wx(): selected = editor.selected_cell_index process_cascade_events() self.assertEqual(selected, (5, 1)) @requires_toolkit([ToolkitName.qt, ToolkitName.wx]) def test_table_editor_select_cell_indices(self): object_list = ObjectListWithSelection( values=[ListItem(value=str(i ** 2)) for i in range(10)] ) object_list.selected_cell_indices = [(5, 0), (6, 1), (8, 0)] view = select_cell_indices_view with reraise_exceptions(), \ create_ui(object_list, dict(view=view)) as ui: editor = ui.get_editors("values")[0] process_cascade_events() if is_qt(): selected = editor.selected_indices elif is_wx(): selected = editor.selected_cell_indices process_cascade_events() self.assertEqual(selected, [(5, 0), (6, 1), (8, 0)]) @requires_toolkit([ToolkitName.qt]) def test_progress_column(self): from traitsui.extras.progress_column import ProgressColumn progress_view = View( Item( "values", show_label=False, editor=TableEditor( columns=[ ObjectColumn(name="value"), ProgressColumn(name="other_value"), ] ), ), buttons=["OK"], ) object_list = ObjectList( values=[ListItem(value=str(i ** 2)) for i in range(10)] ) with reraise_exceptions(), \ create_ui(object_list, dict(view=progress_view)): process_cascade_events() @requires_toolkit([ToolkitName.qt]) def test_on_perform_action(self): # A test for issue #741, where actions with an on_perform function set # would get called twice object_list = ObjectList( values=[ListItem(value=str(i ** 2)) for i in range(10)] ) mock_function = Mock() action = Action(on_perform=mock_function) with reraise_exceptions(), \ create_ui(object_list, dict(view=simple_view)) as ui: editor = ui.get_editors("values")[0] process_cascade_events() editor.set_menu_context(None, None, None) editor.perform(action) mock_function.assert_called_once() traitsui-7.2.1/traitsui/tests/editors/test_datetime_editor.py0000644000076500000240000002565214046644454025253 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! import contextlib import datetime import unittest from traits.api import HasTraits, Datetime from traitsui.api import DatetimeEditor, Item, View from traitsui.tests._tools import ( BaseTestMixin, create_ui, GuiTestAssistant, process_cascade_events, requires_toolkit, reraise_exceptions, ToolkitName, no_gui_test_assistant, ) class InstanceWithDatetime(HasTraits): """ Demo class to show Datetime editors. """ date_time = Datetime() def to_datetime(q_datetime): try: return q_datetime.toPyDateTime() except AttributeError: return q_datetime.toPython() def get_date_time_simple_view(editor_factory): view = View( Item( name="date_time", style="simple", editor=editor_factory, ) ) return view @requires_toolkit([ToolkitName.qt]) @unittest.skipIf(no_gui_test_assistant, "No GuiTestAssistant") class TestDatetimeEditorQt(BaseTestMixin, GuiTestAssistant, unittest.TestCase): """ Tests for DatetimeEditor using Qt. """ def setUp(self): BaseTestMixin.setUp(self) GuiTestAssistant.setUp(self) def tearDown(self): GuiTestAssistant.tearDown(self) BaseTestMixin.tearDown(self) def test_datetime_editor_simple(self): view = get_date_time_simple_view(DatetimeEditor()) date_time = datetime.datetime(2000, 1, 2, 1, 2, 3) instance = InstanceWithDatetime(date_time=date_time) with reraise_exceptions(), \ self.launch_editor(instance, view): pass def test_datetime_editor_simple_with_minimum_datetime(self): # Test the editor uses the minimum datetime as expected minimum_datetime = datetime.datetime(2000, 1, 1) editor_factory = DatetimeEditor( minimum_datetime=minimum_datetime, ) view = get_date_time_simple_view(editor_factory) instance = InstanceWithDatetime() with reraise_exceptions(), \ self.launch_editor(instance, view) as editor: q_minimum_datetime = editor.control.minimumDateTime() actual_minimum_datetime = to_datetime(q_minimum_datetime) self.assertEqual(actual_minimum_datetime, minimum_datetime) def test_datetime_editor_simple_with_minimum_datetime_out_of_bound(self): # Test when out-of-bound value is given, it is reset to the bounded # value. minimum_datetime = datetime.datetime(2000, 1, 1) editor_factory = DatetimeEditor( minimum_datetime=minimum_datetime, ) view = get_date_time_simple_view(editor_factory) instance = InstanceWithDatetime() with reraise_exceptions(), \ self.launch_editor(instance, view) as editor: instance.date_time = datetime.datetime(1980, 1, 1) # does not seem needed to flush the event loop, but just in case. process_cascade_events() displayed_value = to_datetime(editor.control.dateTime()) self.assertEqual(displayed_value, minimum_datetime) self.assertEqual(instance.date_time, minimum_datetime) def test_datetime_editor_mutate_minimum_datetime_after_init(self): # Test if the minimum_datetime on the editor is mutated after init, # the values on the edited object and the view are synchronized. editor_factory = DatetimeEditor( minimum_datetime=datetime.datetime(2000, 1, 1), ) view = get_date_time_simple_view(editor_factory) instance = InstanceWithDatetime() with reraise_exceptions(), \ self.launch_editor(instance, view) as editor: # This value is in-range instance.date_time = datetime.datetime(2001, 1, 1) # Now change the editor's minimum datetime such that the original # value is out-of-range new_minimum_datetime = datetime.datetime(2010, 1, 1) editor.minimum_datetime = new_minimum_datetime # does not seem needed to flush the event loop, but just in case. process_cascade_events() displayed_value = to_datetime(editor.control.dateTime()) self.assertEqual(instance.date_time, displayed_value) self.assertEqual(displayed_value, new_minimum_datetime) def test_datetime_editor_mutate_minimum_datetime_bad_order(self): # Test if the minimum_datetime on the editor is mutated after init, # the values on the edited object and the view are synchronized. editor_factory = DatetimeEditor( minimum_datetime=datetime.datetime(2000, 1, 1), maximum_datetime=datetime.datetime(2010, 1, 1), ) view = get_date_time_simple_view(editor_factory) instance = InstanceWithDatetime() with reraise_exceptions(), \ self.launch_editor(instance, view) as editor: # This value is in-range instance.date_time = datetime.datetime(2001, 1, 1) # Now change the editor's minimum datetime such that the original # value is out-of-range and the minimum is greater than maximum new_minimum_datetime = datetime.datetime(2020, 1, 1) editor.minimum_datetime = new_minimum_datetime # does not seem needed to flush the event loop, but just in case. process_cascade_events() displayed_value = to_datetime(editor.control.dateTime()) self.assertEqual(instance.date_time, displayed_value) self.assertEqual(displayed_value, new_minimum_datetime) self.assertEqual(editor.maximum_datetime, new_minimum_datetime) def test_datetime_editor_simple_with_maximum_datetime(self): # Test the editor uses the maximum datetime as expected maximum_datetime = datetime.datetime(2000, 1, 1) editor_factory = DatetimeEditor( maximum_datetime=maximum_datetime, ) view = get_date_time_simple_view(editor_factory) instance = InstanceWithDatetime() with reraise_exceptions(), \ self.launch_editor(instance, view) as editor: q_maximum_datetime = editor.control.maximumDateTime() # does not seem needed to flush the event loop, but just in case. process_cascade_events() actual_maximum_datetime = to_datetime(q_maximum_datetime) self.assertEqual(actual_maximum_datetime, maximum_datetime) def test_datetime_editor_simple_with_maximum_datetime_out_of_bound(self): maximum_datetime = datetime.datetime(2000, 1, 1) editor_factory = DatetimeEditor( maximum_datetime=maximum_datetime, ) view = get_date_time_simple_view(editor_factory) instance = InstanceWithDatetime() with reraise_exceptions(), \ self.launch_editor(instance, view) as editor: # out-of-bound instance.date_time = datetime.datetime(2020, 1, 1) # does not seem needed to flush the event loop, but just in case. process_cascade_events() displayed_value = to_datetime(editor.control.dateTime()) self.assertEqual(displayed_value, maximum_datetime) self.assertEqual(instance.date_time, maximum_datetime) def test_datetime_editor_mutate_maximum_datetime_after_init(self): # Test if the maximum_datetime on the editor is mutated after init, # the values on the edited object and the view are synchronized. editor_factory = DatetimeEditor( maximum_datetime=datetime.datetime(2000, 1, 1), ) view = get_date_time_simple_view(editor_factory) instance = InstanceWithDatetime() with reraise_exceptions(), \ self.launch_editor(instance, view) as editor: # This value is in-range instance.date_time = datetime.datetime(1999, 1, 1) # Now change the editor's maximum datetime such that the original # value is out-of-range new_maximum_datetime = datetime.datetime(1900, 1, 1) editor.maximum_datetime = new_maximum_datetime # does not seem needed to flush the event loop, but just in case. process_cascade_events() displayed_value = to_datetime(editor.control.dateTime()) self.assertEqual(instance.date_time, displayed_value) self.assertEqual(displayed_value, new_maximum_datetime) def test_datetime_editor_python_datetime_out_of_bound(self): # The minimum datetime supported by Qt is larger than the minimum # datetime supported by Python. editor_factory = DatetimeEditor() view = get_date_time_simple_view(editor_factory) init_datetime = datetime.datetime(1900, 1, 1) instance = InstanceWithDatetime(date_time=init_datetime) with reraise_exceptions(), \ self.launch_editor(instance, view) as editor: # This value is too early and is not supported by Qt # But the editor should not crash new_value = datetime.datetime(1, 1, 1) instance.date_time = new_value # does not seem needed to flush the event loop, but just in case. process_cascade_events() displayed_value = to_datetime(editor.control.dateTime()) # The value has changed to a filled value self.assertNotEqual(instance.date_time, new_value) self.assertEqual(displayed_value, instance.date_time) def test_datetime_editor_qt_datetime_out_of_bound(self): # The maximum datetime supported by Qt is larger than the maximum # datetime supported by Python editor_factory = DatetimeEditor() view = get_date_time_simple_view(editor_factory) init_datetime = datetime.datetime(1900, 1, 1) instance = InstanceWithDatetime(date_time=init_datetime) with reraise_exceptions(), \ self.launch_editor(instance, view) as editor: # the user set the datetime on the Qt widget to a value # too large for Python from pyface.qt.QtCore import QDateTime, QDate, QTime q_datetime = QDateTime( QDate(datetime.MAXYEAR + 1, 1, 1), QTime(0, 0) ) editor.control.setDateTime(q_datetime) # Get the displayed value back. displayed_value = to_datetime(editor.control.dateTime()) self.assertEqual(instance.date_time, displayed_value) @contextlib.contextmanager def launch_editor(self, object, view): with create_ui(object, dict(view=view)) as ui: editor, = ui._editors yield editor traitsui-7.2.1/traitsui/tests/editors/test_video_editor.py0000644000076500000240000000500214046644454024550 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! import unittest try: import numpy as np # noqa: F401 except ImportError: raise unittest.SkipTest("Can't import NumPy: skipping") import pkg_resources from traits.api import Bool, Callable, File, Float, HasTraits, Range, Str from traitsui.api import ContextValue, Item, View from traitsui.editors.video_editor import MediaStatus, PlayerState, VideoEditor from traitsui.tests._tools import BaseTestMixin, create_ui, is_qt5 filename = pkg_resources.resource_filename('traitsui.testing', 'data/test.mp4') class MovieTheater(HasTraits): url = File(filename) state = PlayerState() duration = Float() position = Range(low=0.0, high='duration') error = Str() status = MediaStatus() buffer = Range(0, 100) muted = Bool(True) volume = Range(0.0, 100.0) playback_rate = Float(1.0) image_func = Callable() @unittest.skipIf(not is_qt5(), 'Requires Qt5') class TestVideoEditor(BaseTestMixin, unittest.TestCase): def setUp(self): BaseTestMixin.setUp(self) def tearDown(self): BaseTestMixin.tearDown(self) def test_video_editor_basics(self): obj = MovieTheater() # Test an editor with trait syncronizations view = View( Item( 'url', editor=VideoEditor( state=ContextValue('state'), position=ContextValue('position'), duration=ContextValue('duration'), video_error=ContextValue('error'), media_status=ContextValue('status'), buffer=ContextValue('buffer'), muted=ContextValue('muted'), volume=ContextValue('volume'), playback_rate=ContextValue('playback_rate'), image_func=ContextValue('image_func'), notify_interval=0.5, ), ), ) with create_ui(obj, {'view': view}): pass # And an editor with no synced traits view = View(Item('url', editor=VideoEditor())) with create_ui(obj, {'view': view}): pass traitsui-7.2.1/traitsui/tests/editors/test_tuple_editor.py0000644000076500000240000000512314046644454024577 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! import unittest from traits.api import HasTraits, Int, Str, Tuple from traitsui.api import Item, View from traits.testing.api import UnittestTools from traitsui.tests._tools import ( BaseTestMixin, create_ui, requires_toolkit, reraise_exceptions, ToolkitName, ) class TupleEditor(HasTraits): """Dialog containing a Tuple of two Int's. """ tup = Tuple(Int, Int, Str) traits_view = View( Item(label="Enter 4 and 6, then press OK"), Item("tup"), buttons=["OK"] ) class TestTupleEditor(BaseTestMixin, unittest.TestCase, UnittestTools): def setUp(self): BaseTestMixin.setUp(self) def tearDown(self): BaseTestMixin.tearDown(self) @requires_toolkit([ToolkitName.qt, ToolkitName.wx]) def test_value_update(self): # Regression test for #179 model = TupleEditor() with create_ui(model): with self.assertTraitChanges(model, "tup", count=1): model.tup = (3, 4, "nono") @requires_toolkit([ToolkitName.qt]) def test_qt_tuple_editor(self): # Behavior: when editing the text of a tuple editor, # value get updated immediately. from pyface import qt val = TupleEditor() with reraise_exceptions(), create_ui(val) as ui: # the following is equivalent to clicking in the text control of # the range editor, enter a number, and clicking ok without # defocusing # text element inside the spin control lineedits = ui.control.findChildren(qt.QtGui.QLineEdit) lineedits[0].setFocus() lineedits[0].clear() lineedits[0].insert("4") lineedits[1].setFocus() lineedits[1].clear() lineedits[1].insert("6") lineedits[2].setFocus() lineedits[2].clear() lineedits[2].insert("fun") # if all went well, the tuple trait has been updated and its value # is (4, 6, "fun") self.assertEqual(val.tup, (4, 6, "fun")) if __name__ == "__main__": # Executing the file opens the dialog for manual testing val = TupleEditor() val.configure_traits() print(val.tup) traitsui-7.2.1/traitsui/tests/editors/test_instance_editor.py0000644000076500000240000002472214046644454025260 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! import unittest from pyface.toolkit import toolkit_object from traits.api import HasTraits, Instance, List, Str, String from traitsui.api import InstanceEditor, Item, View from traitsui.tests._tools import ( BaseTestMixin, requires_toolkit, ToolkitName, ) from traitsui.testing.api import ( DisplayedText, Index, IsEnabled, KeyClick, KeySequence, MouseClick, SelectedText, TargetByName, UITester ) ModalDialogTester = toolkit_object( "util.modal_dialog_tester:ModalDialogTester" ) no_modal_dialog_tester = ModalDialogTester.__name__ == "Unimplemented" class EditedInstance(HasTraits): value = Str() traits_view = View(Item("value"), buttons=["OK"]) class NamedInstance(HasTraits): name = Str() value = Str() traits_view = View(Item("value"), buttons=["OK"]) class ObjectWithInstance(HasTraits): inst = Instance(EditedInstance, args=()) class ObjectWithList(HasTraits): inst_list = List(Instance(NamedInstance)) inst = Instance(NamedInstance, args=()) def _inst_list_default(self): return [ NamedInstance(name=value, value=value) for value in ['one', 'two', 'three'] ] simple_view = View(Item("inst"), buttons=["OK"]) custom_view = View(Item("inst", style='custom'), buttons=["OK"]) selection_view = View( Item( "inst", editor=InstanceEditor(name='inst_list'), style='custom', ), buttons=["OK"], ) modal_view = View( Item("inst", style="simple", editor=InstanceEditor(kind="modal")) ) class ValidatedEditedInstance(HasTraits): some_string = String("A", maxlen=3) traits_view = View(Item('some_string')) class ObjectWithValidatedInstance(HasTraits): something = Instance(ValidatedEditedInstance, args=()) traits_view = View( Item( 'something', editor=InstanceEditor(), style='custom' ), buttons=["OK", "Cancel"], ) class ObjectWithValidatedList(HasTraits): inst_list = List(Instance(HasTraits)) inst = Instance(HasTraits, ()) def _inst_list_default(self): return [ ValidatedEditedInstance(some_string=value) for value in ['a', 'b', 'c'] ] @requires_toolkit([ToolkitName.qt, ToolkitName.wx]) class TestInstanceEditor(BaseTestMixin, unittest.TestCase): def setUp(self): BaseTestMixin.setUp(self) def tearDown(self): BaseTestMixin.tearDown(self) def test_simple_editor(self): obj = ObjectWithInstance() tester = UITester() with tester.create_ui(obj, {'view': simple_view}) as ui: instance = tester.find_by_name(ui, "inst") instance.perform(MouseClick()) value_txt = instance.find_by_name("value") value_txt.perform(KeySequence("abc")) self.assertEqual(obj.inst.value, "abc") def test_custom_editor(self): obj = ObjectWithInstance() tester = UITester() with tester.create_ui(obj, {'view': custom_view}) as ui: value_txt = tester.find_by_name(ui, "inst").find_by_name("value") value_txt.perform(KeySequence("abc")) self.assertEqual(obj.inst.value, "abc") def test_custom_editor_with_selection(self): obj = ObjectWithList() tester = UITester() with tester.create_ui(obj, {'view': selection_view}) as ui: # test that the current object is None self.assertIsNone(obj.inst) # test that the displayed text is correct instance = tester.find_by_name(ui, "inst") text = instance.inspect(SelectedText()) self.assertEqual(text, obj.inst_list[0].name) # test that changing selection works instance.locate(Index(1)).perform(MouseClick()) self.assertIs(obj.inst, obj.inst_list[1]) # test that the displayed text is correct text = instance.inspect(SelectedText()) self.assertEqual(text, obj.inst_list[1].name) # test editing the view works value_txt = instance.find_by_name("value") value_txt.perform(KeySequence("abc")) self.assertEqual(obj.inst.value, "twoabc") def test_custom_editor_with_selection_initialized(self): obj = ObjectWithList() obj.inst = obj.inst_list[1] tester = UITester() with tester.create_ui(obj, {'view': selection_view}) as ui: # test that the current object is the correct one self.assertIs(obj.inst, obj.inst_list[1]) # test that the displayed text is correct instance = tester.find_by_name(ui, "inst") text = instance.inspect(SelectedText()) self.assertEqual(text, obj.inst.name) def test_custom_editor_resynch_editor(self): edited_inst = EditedInstance(value='hello') obj = ObjectWithInstance(inst=edited_inst) tester = UITester() with tester.create_ui(obj, {'view': custom_view}) as ui: value_txt = tester.find_by_name(ui, "inst").find_by_name("value") displayed = value_txt.inspect(DisplayedText()) self.assertEqual(displayed, "hello") edited_inst.value = "bye" displayed = value_txt.inspect(DisplayedText()) self.assertEqual(displayed, "bye") def test_simple_editor_resynch_editor(self): edited_inst = EditedInstance(value='hello') obj = ObjectWithInstance(inst=edited_inst) tester = UITester() with tester.create_ui(obj, {'view': simple_view}) as ui: instance = tester.find_by_name(ui, "inst") instance.perform(MouseClick()) value_txt = instance.find_by_name("value") displayed = value_txt.inspect(DisplayedText()) self.assertEqual(displayed, "hello") edited_inst.value = "bye" displayed = value_txt.inspect(DisplayedText()) self.assertEqual(displayed, "bye") def test_simple_editor_parent_closed(self): obj = ObjectWithInstance() tester = UITester() with tester.create_ui(obj, {'view': simple_view}) as ui: instance = tester.find_by_name(ui, "inst") instance.perform(MouseClick()) @unittest.skipIf(no_modal_dialog_tester, "ModalDialogTester unavailable") def test_simple_editor_modal(self): # Test launching the instance editor with kind set to 'modal' obj = ObjectWithInstance() ui_tester = UITester() with ui_tester.create_ui(obj, dict(view=modal_view)) as ui: def click_button(): ui_tester.find_by_name(ui, "inst").perform(MouseClick()) def when_opened(tester): with tester.capture_error(): try: dialog_ui = tester.get_dialog_widget()._ui # If auto_process_events was not set to false, this # will block due to deadlocks with ModalDialogTester. ui_tester = UITester(auto_process_events=False) value = ui_tester.find_by_name(dialog_ui, "value") value.perform(KeySequence("Hello")) self.assertEqual(obj.inst.value, "") ok_button = ui_tester.find_by_id(dialog_ui, "OK") ok_button.perform(MouseClick()) finally: # If the block above fails, the dialog will block # forever. Close it regardless. if tester.get_dialog_widget() is not None: tester.close(accept=True) mdtester = ModalDialogTester(click_button) mdtester.open_and_run(when_opened=when_opened) self.assertTrue(mdtester.dialog_was_opened) self.assertEqual(obj.inst.value, "Hello") # A regression test for issue enthought/traitsui#1501 def test_propagate_errors(self): obj = ObjectWithValidatedInstance() ui_tester = UITester() with ui_tester.create_ui(obj) as ui: something_ui = ui_tester.find_by_name(ui, "something") some_string_field = something_ui.locate( TargetByName('some_string') ) some_string_field.perform(KeySequence("abcd")) some_string_field.perform(KeyClick("Enter")) ok_button = ui_tester.find_by_id(ui, "OK") instance_editor_ui = something_ui._target._ui instance_editor_ui_parent = something_ui._target._ui.parent self.assertNotEqual( instance_editor_ui, ui ) self.assertEqual( instance_editor_ui_parent, ui ) self.assertEqual( instance_editor_ui.errors, ui.errors ) self.assertFalse(ok_button.inspect(IsEnabled())) def test_propagate_errors_switch_selection(self): obj = ObjectWithValidatedList() ui_tester = UITester() with ui_tester.create_ui(obj, {'view': selection_view}) as ui: something_ui = ui_tester.find_by_name(ui, "inst") something_ui.locate(Index(0)).perform(MouseClick()) some_string_field = something_ui.locate( TargetByName('some_string') ) some_string_field.perform(KeySequence("bcde")) some_string_field.perform(KeyClick("Enter")) ok_button = ui_tester.find_by_id(ui, "OK") instance_editor_ui = something_ui._target._ui instance_editor_ui_parent = something_ui._target._ui.parent self.assertNotEqual( instance_editor_ui, ui ) self.assertEqual( instance_editor_ui_parent, ui ) self.assertEqual( instance_editor_ui.errors, ui.errors ) self.assertFalse(ok_button.inspect(IsEnabled())) # change to a different selected that is not in an error state something_ui.locate(Index(1)).perform(MouseClick()) self.assertTrue(ok_button.inspect(IsEnabled())) traitsui-7.2.1/traitsui/tests/editors/test_drop_editor.py0000644000076500000240000000320414046644454024410 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! import unittest from traits.api import HasTraits, Str from traitsui.api import DropEditor, Item, View from traitsui.tests._tools import ( BaseTestMixin, create_ui, requires_toolkit, reraise_exceptions, ToolkitName, ) class Model(HasTraits): value = Str() # Run this test against wx when enthought/traitsui#752 is fixed. @requires_toolkit([ToolkitName.qt]) class TestDropEditor(BaseTestMixin, unittest.TestCase): """ Test DropEditor. """ def setUp(self): BaseTestMixin.setUp(self) def tearDown(self): BaseTestMixin.tearDown(self) def test_init_dispose_editable(self): obj = Model() view = View(Item("value", editor=DropEditor(readonly=False))) with reraise_exceptions(): with create_ui(obj, dict(view=view)): pass # Mutating value after UI is closed should be okay. obj.value = "New" def test_init_dispose_readonly(self): obj = Model() view = View(Item("value", editor=DropEditor(readonly=True))) with reraise_exceptions(): with create_ui(obj, dict(view=view)): pass # Mutating value after UI is closed should be okay. obj.value = "New" traitsui-7.2.1/traitsui/tests/editors/test_text_editor.py0000644000076500000240000003374314046644454024443 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! import unittest from packaging.version import Version from traits import __version__ as TRAITS_VERSION from traits.api import ( HasTraits, Str, ) from traits.testing.api import UnittestTools from traitsui.api import TextEditor, View, Item from traitsui.testing.api import ( DisplayedText, KeyClick, KeySequence, MouseClick, InteractionNotSupported, UITester ) from traitsui.tests._tools import ( BaseTestMixin, GuiTestAssistant, no_gui_test_assistant, requires_toolkit, ToolkitName, ) class Foo(HasTraits): name = Str() nickname = Str() def get_view(style, auto_set): """ Return the default view for the Foo object. Parameters ---------- style : str e.g. 'simple', or 'custom' auto_set : bool To be passed directly to the editor factory. """ return View( Item("name", editor=TextEditor(auto_set=auto_set), style=style) ) # Skips tests if the backend is not either qt4 or qt5 @requires_toolkit([ToolkitName.qt]) @unittest.skipIf(no_gui_test_assistant, "No GuiTestAssistant") class TestTextEditorQt( BaseTestMixin, GuiTestAssistant, UnittestTools, unittest.TestCase): """ Test on TextEditor with Qt backend.""" def setUp(self): BaseTestMixin.setUp(self) GuiTestAssistant.setUp(self) def tearDown(self): GuiTestAssistant.tearDown(self) BaseTestMixin.tearDown(self) def test_text_editor_placeholder_text(self): foo = Foo() editor = TextEditor( placeholder="Enter name", ) view = View(Item(name="name", editor=editor)) tester = UITester() with tester.create_ui(foo, dict(view=view)) as ui: name_editor, = ui.get_editors("name") self.assertEqual( name_editor.control.placeholderText(), "Enter name", ) def test_text_editor_placeholder_text_and_readonly(self): # Placeholder can be set independently of read_only flag foo = Foo() editor = TextEditor( placeholder="Enter name", read_only=True, ) view = View(Item(name="name", editor=editor)) tester = UITester() with tester.create_ui(foo, dict(view=view)) as ui: name_editor, = ui.get_editors("name") self.assertEqual( name_editor.control.placeholderText(), "Enter name", ) def test_text_editor_default_view(self): foo = Foo() tester = UITester() with tester.create_ui(foo) as ui: name_editor, = ui.get_editors("name") self.assertEqual( name_editor.control.placeholderText(), "", ) def test_text_editor_custom_style_placeholder(self): # Test against CustomEditor using QTextEdit foo = Foo() view = View(Item( name="name", style="custom", editor=TextEditor(placeholder="Enter name"), )) tester = UITester() with tester.create_ui(foo, dict(view=view)) as ui: name_editor, = ui.get_editors("name") try: placeholder = name_editor.control.placeholderText() except AttributeError: # placeholderText is introduced to QTextEdit since Qt 5.2 pass else: self.assertEqual(placeholder, "Enter name") def test_cancel_button(self): foo = Foo() view = View( Item( name="name", style="simple", editor=TextEditor(cancel_button=True), ) ) tester = UITester() with tester.create_ui(foo, dict(view=view)) as ui: name_editor, = ui.get_editors("name") # isClearButtonEnabled is introduced to QLineEdit since Qt 5.2 if hasattr(name_editor.control, 'isClearButtonEnabled'): self.assertTrue(name_editor.control.isClearButtonEnabled()) # We should be able to run this test case against wx. # Not running them now to avoid test interaction. See enthought/traitsui#752 @requires_toolkit([ToolkitName.qt, ToolkitName.wx]) class TestTextEditor(BaseTestMixin, unittest.TestCase, UnittestTools): """ Tests that can be run with any toolkit as long as there is an implementation for simulating user interactions. """ def setUp(self): BaseTestMixin.setUp(self) def tearDown(self): BaseTestMixin.tearDown(self) def check_editor_init_and_dispose(self, style, auto_set): # Smoke test to test setup and tear down of an editor. foo = Foo() view = get_view(style=style, auto_set=auto_set) with UITester().create_ui(foo, dict(view=view)): pass def test_simple_editor_init_and_dispose(self): # Smoke test to test setup and tear down of an editor. self.check_editor_init_and_dispose(style="simple", auto_set=True) def test_custom_editor_init_and_dispose(self): # Smoke test to test setup and tear down of an editor. self.check_editor_init_and_dispose(style="custom", auto_set=True) def test_readonly_editor_init_and_dispose(self): # Smoke test to test setup and tear down of an editor. self.check_editor_init_and_dispose(style="readonly", auto_set=True) def test_simple_editor_init_and_dispose_no_auto_set(self): # Smoke test to test setup and tear down of an editor. self.check_editor_init_and_dispose(style="simple", auto_set=False) def test_custom_editor_init_and_dispose_no_auto_set(self): # Smoke test to test setup and tear down of an editor. self.check_editor_init_and_dispose(style="custom", auto_set=False) def test_simple_auto_set_update_text(self): foo = Foo() view = get_view(style="simple", auto_set=True) tester = UITester() with tester.create_ui(foo, dict(view=view)) as ui: with self.assertTraitChanges(foo, "name", count=3): name_field = tester.find_by_name(ui, "name") name_field.perform(KeySequence("NEW")) # with auto-set the displayed name should match the name trait display_name = name_field.inspect(DisplayedText()) self.assertEqual(foo.name, "NEW") self.assertEqual(display_name, foo.name) # Currently if auto_set is false, and enter_set is false (the default # behavior), on Qt to ensure the text is actually set, Enter will set # the value @requires_toolkit([ToolkitName.qt]) def test_simple_auto_set_false_do_not_update_qt(self): foo = Foo(name="") view = get_view(style="simple", auto_set=False) tester = UITester() with tester.create_ui(foo, dict(view=view)) as ui: name_field = tester.find_by_name(ui, "name") name_field.perform(KeySequence("NEW")) # with auto-set as False the displayed name should match what has # been typed not the trait itself, After "Enter" is pressed it # should match the name trait display_name = name_field.inspect(DisplayedText()) self.assertEqual(foo.name, "") self.assertEqual(display_name, "NEW") name_field.perform(KeyClick("Enter")) display_name = name_field.inspect(DisplayedText()) self.assertEqual(foo.name, "NEW") self.assertEqual(display_name, foo.name) # If auto_set is false, the value can be set by killing the focus. This # can be done by simply moving to another textbox. @requires_toolkit([ToolkitName.wx]) def test_simple_auto_set_false_do_not_update_wx(self): foo = Foo(name="") view = View( Item("name", editor=TextEditor(auto_set=False), style="simple"), Item("nickname", editor=TextEditor(auto_set=False), style="simple") ) tester = UITester() with tester.create_ui(foo, dict(view=view)) as ui: name_field = tester.find_by_name(ui, "name") name_field.perform(KeySequence("NEW")) # with auto-set as False the displayed name should match what has # been typed not the trait itself, After moving to another textbox # it should match the name trait display_name = name_field.inspect(DisplayedText()) self.assertEqual(foo.name, "") self.assertEqual(display_name, "NEW") tester.find_by_name(ui, "nickname").perform(MouseClick()) display_name = name_field.inspect(DisplayedText()) self.assertEqual(foo.name, "NEW") self.assertEqual(display_name, foo.name) def test_custom_auto_set_true_update_text(self): # the auto_set flag is disregard for custom editor. (not true on WX) foo = Foo() view = get_view(auto_set=True, style="custom") tester = UITester() with tester.create_ui(foo, dict(view=view)) as ui: with self.assertTraitChanges(foo, "name", count=3): name_field = tester.find_by_name(ui, "name") name_field.perform(KeySequence("NEW")) # with auto-set the displayed name should match the name trait display_name = name_field.inspect(DisplayedText()) self.assertEqual(foo.name, "NEW") self.assertEqual(display_name, foo.name) @requires_toolkit([ToolkitName.qt]) def test_custom_auto_set_false_update_text(self): # the auto_set flag is disregard for custom editor. (not true on WX) foo = Foo() view = get_view(auto_set=False, style="custom") tester = UITester() with tester.create_ui(foo, dict(view=view)) as ui: name_field = tester.find_by_name(ui, "name") name_field.perform(KeySequence("NEW")) name_field.perform(KeyClick("Enter")) display_name = name_field.inspect(DisplayedText()) self.assertEqual(foo.name, "NEW\n") self.assertEqual(display_name, foo.name) # If auto_set is false, the value can be set by killing the focus. This # can be done by simply moving to another textbox. @requires_toolkit([ToolkitName.wx]) def test_custom_auto_set_false_do_not_update_wx(self): foo = Foo(name="") view = View( Item("name", editor=TextEditor(auto_set=False), style="custom"), Item("nickname", editor=TextEditor(auto_set=False), style="custom") ) tester = UITester() with tester.create_ui(foo, dict(view=view)) as ui: name_field = tester.find_by_name(ui, "name") name_field.perform(KeySequence("NEW")) # with auto-set as False the displayed name should match what has # been typed not the trait itself, After moving to another textbox # it should match the name trait display_name = name_field.inspect(DisplayedText()) self.assertEqual(foo.name, "") self.assertEqual(display_name, "NEW") tester.find_by_name(ui, "nickname").perform(MouseClick()) display_name = name_field.inspect(DisplayedText()) self.assertEqual(foo.name, "NEW") self.assertEqual(display_name, foo.name) def test_readonly_editor(self): foo = Foo(name="A name") view = get_view(style="readonly", auto_set=True) tester = UITester() with tester.create_ui(foo, dict(view=view)) as ui: name_field = tester.find_by_name(ui, "name") with self.assertRaises(InteractionNotSupported): name_field.perform(KeySequence("NEW")) # Trying to type should do nothing with self.assertRaises(InteractionNotSupported): name_field.perform(KeyClick("Space")) display_name = name_field.inspect(DisplayedText()) self.assertEqual(display_name, "A name") def check_format_func_used(self, style): # Regression test for enthought/traitsui#790 # The test will fail with traits < 6.1.0 because the bug # is fixed in traits, see enthought/traitsui#980 for moving those # relevant code to traitsui. foo = Foo(name="william", nickname="bill") view = View( Item("name", format_func=lambda s: s.upper(), style=style), Item("nickname", style=style), ) tester = UITester() with tester.create_ui(foo, dict(view=view)) as ui: display_name = ( tester.find_by_name(ui, "name").inspect(DisplayedText()) ) display_nickname = ( tester.find_by_name(ui, "nickname").inspect(DisplayedText()) ) self.assertEqual(display_name, "WILLIAM") self.assertEqual(display_nickname, "bill") @unittest.skipUnless( Version(TRAITS_VERSION) >= Version("6.1.0"), "This test requires traits >= 6.1.0" ) def test_format_func_used_simple(self): self.check_format_func_used(style='simple') @unittest.skipUnless( Version(TRAITS_VERSION) >= Version("6.1.0"), "This test requires traits >= 6.1.0" ) def test_format_func_used_custom(self): self.check_format_func_used(style='custom') @unittest.skipUnless( Version(TRAITS_VERSION) >= Version("6.1.0"), "This test requires traits >= 6.1.0" ) def test_format_func_used_readonly(self): self.check_format_func_used(style='readonly') traitsui-7.2.1/traitsui/tests/editors/test_csv_editor.py0000644000076500000240000000730514046644454024245 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! import unittest from traits.has_traits import HasTraits from traits.trait_types import Float, List, Instance from traitsui.handler import ModelView from traitsui.view import View from traitsui.item import Item from traitsui.editors.csv_list_editor import CSVListEditor import traitsui.editors.csv_list_editor as csv_list_editor from traitsui.tests._tools import ( BaseTestMixin, create_ui, is_wx, is_qt, requires_toolkit, reraise_exceptions, ToolkitName, ) class ListOfFloats(HasTraits): data = List(Float) class ListOfFloatsWithCSVEditor(ModelView): model = Instance(ListOfFloats) traits_view = View( Item(label="Close the window to append data"), Item("model.data", editor=CSVListEditor()), buttons=["OK"], ) class TestCSVEditor(BaseTestMixin, unittest.TestCase): def setUp(self): BaseTestMixin.setUp(self) def tearDown(self): BaseTestMixin.tearDown(self) @requires_toolkit([ToolkitName.qt, ToolkitName.wx]) def test_csv_editor_disposal(self): # Bug: CSVListEditor does not un-hook the traits notifications after # its disposal, causing errors when the hooked data is accessed after # the window is closed (Issue #48) list_of_floats = ListOfFloats(data=[1, 2, 3]) csv_view = ListOfFloatsWithCSVEditor(model=list_of_floats) try: with reraise_exceptions(): with create_ui(csv_view): pass # raise an exception if still hooked list_of_floats.data.append(2) except AttributeError: # if all went well, we should not be here self.fail("AttributeError raised") @requires_toolkit([ToolkitName.qt, ToolkitName.wx]) def test_csv_editor_external_append(self): # Behavior: CSV editor is notified when an element is appended to the # list externally def _wx_get_text_value(ui): txt_ctrl = ui.control.FindWindowByName("text", ui.control) return txt_ctrl.GetValue() def _qt_get_text_value(ui): from pyface import qt txt_ctrl = ui.control.findChild(qt.QtGui.QLineEdit) return txt_ctrl.text() list_of_floats = ListOfFloats(data=[1.0]) csv_view = ListOfFloatsWithCSVEditor(model=list_of_floats) with reraise_exceptions(), create_ui(csv_view) as ui: # add element to list, make sure that editor knows about it list_of_floats.data.append(3.14) # get current value from editor if is_wx(): value_str = _wx_get_text_value(ui) elif is_qt(): value_str = _qt_get_text_value(ui) expected = csv_list_editor._format_list_str([1.0, 3.14]) self.assertEqual(value_str, expected) if __name__ == "__main__": # Executing the file opens the dialog for manual testing list_of_floats = ListOfFloats(data=[1, 2, 3]) csv_view = ListOfFloatsWithCSVEditor(model=list_of_floats) csv_view.configure_traits() # this call will raise an AttributeError in commit # 4ecb2fa8f0ef385d55a2a4062d821b0415777973 # This is because the editor does not un-hook the traits notifications # after its disposal list_of_floats.data.append(2) print(list_of_floats.data) traitsui-7.2.1/traitsui/tests/editors/test_range_editor_spinner.py0000644000076500000240000000752414046644454026307 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! """ Test case for bug (wx, Mac OS X) Editing the text part of a spin control box and pressing the OK button without de-focusing raises an AttributeError:: Traceback (most recent call last): File "ETS/traitsui/traitsui/wx/range_editor.py", line 783, in update_object self.value = self.control.GetValue() AttributeError: 'NoneType' object has no attribute 'GetValue' """ import unittest from traits.has_traits import HasTraits from traits.trait_types import Int from traitsui.item import Item from traitsui.view import View from traitsui.editors.range_editor import RangeEditor from traitsui.tests._tools import ( BaseTestMixin, create_ui, requires_toolkit, reraise_exceptions, ToolkitName, ) class NumberWithSpinnerEditor(HasTraits): """Dialog containing a RangeEditor in 'spinner' mode for an Int. """ number = Int() traits_view = View( Item(label="Enter 4, then press OK without defocusing"), Item("number", editor=RangeEditor(low=3, high=8, mode="spinner")), buttons=["OK"], ) class TestRangeEditorSpinner(BaseTestMixin, unittest.TestCase): def setUp(self): BaseTestMixin.setUp(self) def tearDown(self): BaseTestMixin.tearDown(self) @requires_toolkit([ToolkitName.wx]) def test_wx_spin_control_editing_should_not_crash(self): # Bug: when editing the text part of a spin control box, pressing # the OK button raises an AttributeError on Mac OS X num = NumberWithSpinnerEditor() try: with reraise_exceptions(), create_ui(num) as ui: # the following is equivalent to clicking in the text control # of the range editor, enter a number, and clicking ok without # defocusing # SpinCtrl object spin = ui.control.FindWindowByName("wxSpinCtrl", ui.control) spin.SetFocusFromKbd() # on Windows, a wxSpinCtrl does not have children, and we # cannot do the more fine-grained testing below if len(spin.GetChildren()) == 0: spin.SetValue("4") else: # TextCtrl object of the spin control spintxt = spin.FindWindowByName("text", spin) spintxt.SetValue("4") except AttributeError: # if all went well, we should not be here self.fail("AttributeError raised") @requires_toolkit([ToolkitName.qt]) def test_qt_spin_control_editing(self): # Behavior: when editing the text part of a spin control box, pressing # the OK button updates the value of the HasTraits class from pyface import qt num = NumberWithSpinnerEditor() with reraise_exceptions(), create_ui(num) as ui: # the following is equivalent to clicking in the text control of # the range editor, enter a number, and clicking ok without # defocusing # text element inside the spin control lineedit = ui.control.findChild(qt.QtGui.QLineEdit) lineedit.setFocus() lineedit.setText("4") # if all went well, the number traits has been updated and its value is # 4 self.assertEqual(num.number, 4) if __name__ == "__main__": # Executing the file opens the dialog for manual testing num = NumberWithSpinnerEditor() num.configure_traits() print(num.number) traitsui-7.2.1/traitsui/tests/editors/test_code_editor.py0000644000076500000240000000637114046644454024366 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! import unittest from traits.has_traits import HasTraits from traits.trait_types import Bool, Enum, Instance, Str from traitsui.handler import ModelView from traitsui.view import View from traitsui.item import Item from traitsui.editors.code_editor import CodeEditor from traitsui.tests._tools import ( BaseTestMixin, create_ui, requires_toolkit, reraise_exceptions, ToolkitName, ) class CodeModel(HasTraits): code = Str("world domination code") class CodeView(ModelView): model = Instance(CodeModel) show_line_numbers = Bool(True) style = Enum("simple", "readonly") def default_traits_view(self): traits_view = View( Item( "model.code", editor=CodeEditor(show_line_numbers=self.show_line_numbers), style=self.style, ) ) return traits_view class TestCodeEditor(BaseTestMixin, unittest.TestCase): def setUp(self): BaseTestMixin.setUp(self) def tearDown(self): BaseTestMixin.tearDown(self) @requires_toolkit([ToolkitName.qt]) def test_code_editor_show_line_numbers(self): """ CodeEditor should honor the `show_line_numbers` setting """ def is_line_numbers_visible(ui): from pyface import qt txt_ctrl = ui.control.findChild(qt.QtGui.QPlainTextEdit) return txt_ctrl.line_number_widget.isVisible() def test_line_numbers_visibility(show=True): code_model = CodeModel() code_view = CodeView(model=code_model, show_line_numbers=show) with reraise_exceptions(), create_ui(code_view) as ui: self.assertEqual(is_line_numbers_visible(ui), show) ui.control.close() test_line_numbers_visibility(True) test_line_numbers_visibility(False) @requires_toolkit([ToolkitName.qt]) def test_code_editor_readonly(self): """ Test readonly editor style for CodeEditor """ from pyface import qt code_model = CodeModel() code_view = CodeView(model=code_model, style="readonly") with reraise_exceptions(), create_ui(code_view) as ui: txt_ctrl = ui.control.findChild(qt.QtGui.QPlainTextEdit) self.assertTrue(txt_ctrl.isReadOnly()) # Test changing the object's text self.assertEqual(txt_ctrl.toPlainText(), code_model.code) code_model.code += "some more code" self.assertTrue(txt_ctrl.isReadOnly()) self.assertEqual(txt_ctrl.toPlainText(), code_model.code) # Test changing the underlying object code_model2 = CodeModel(code=code_model.code * 2) code_view.model = code_model2 self.assertTrue(txt_ctrl.isReadOnly()) self.assertEqual(txt_ctrl.toPlainText(), code_model.code) ui.control.close() traitsui-7.2.1/traitsui/tests/editors/test_animatedGIF_editor.py0000644000076500000240000000267714046644454025571 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! """ Tests pertaining to the AnimatedGIFEditor """ import unittest import pkg_resources from traits.api import File, HasTraits from traitsui.api import Item, View from traitsui.tests._tools import ( BaseTestMixin, create_ui, requires_toolkit, ToolkitName, ) filename = pkg_resources.resource_filename( "traitsui", "examples/demo/Extras/images/logo_32x32.gif" ) class AnimatedGIF(HasTraits): gif_file = File(filename) @requires_toolkit([ToolkitName.wx]) class TestAnimatedGIFEditor(BaseTestMixin, unittest.TestCase): def setUp(self): BaseTestMixin.setUp(self) def tearDown(self): BaseTestMixin.tearDown(self) def test_animated_gif_editor(self): from traitsui.wx.animated_gif_editor import AnimatedGIFEditor # Regression test for enthought/traitsui#1071 obj1 = AnimatedGIF() view = View( Item('gif_file', editor=AnimatedGIFEditor(playing='playing')), ) # This should not fail. with create_ui(obj1, dict(view=view)): pass traitsui-7.2.1/traitsui/tests/editors/test_image_enum_editor.py0000644000076500000240000003606614046644454025566 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! import contextlib import sys import unittest from unittest.mock import patch from traits.api import Enum, HasTraits, List from traitsui.api import ImageEnumEditor, UItem, View from traitsui.tests._tools import ( BaseTestMixin, create_ui, is_qt, is_wx, process_cascade_events, requires_toolkit, reraise_exceptions, ToolkitName, ) # Import needed bitmap/pixmap cache and prepare for patching if is_wx(): from traitsui.wx.helper import bitmap_cache as image_cache cache_to_patch = "traitsui.wx.image_enum_editor.bitmap_cache" elif is_qt(): from traitsui.qt4.helper import pixmap_cache as image_cache cache_to_patch = "traitsui.qt4.image_enum_editor.pixmap_cache" is_linux = (sys.platform == 'linux') class EnumModel(HasTraits): value = Enum('top left', 'top right', 'bottom left', 'bottom right') def get_view(style): return View( UItem( 'value', editor=ImageEnumEditor( values=[ 'top left', 'top right', 'bottom left', 'bottom right' ], prefix='@icons:', suffix='_origin', path='dummy_path', ), style=style, ), resizable=True, ) def click_on_image(image_control): """ Click on the image controlled by given image_control.""" if is_wx(): import wx event_down = wx.MouseEvent(wx.EVT_LEFT_DOWN.typeId) wx.PostEvent(image_control, event_down) event_up = wx.MouseEvent(wx.EVT_LEFT_UP.typeId) event_up.SetX(0) event_up.SetY(0) wx.PostEvent(image_control, event_up) elif is_qt(): image_control.click() else: raise unittest.SkipTest("Test not implemented for this toolkit") def get_button_strings(control): """ Return the list of strings associated with the buttons under given control. Assumes all sizer children (wx) or layout items (qt) are buttons. """ button_strings = [] if is_wx(): for item in control.GetSizer().GetChildren(): button = item.GetWindow() button_strings.append(button.value) elif is_qt(): layout = control.layout() for i in range(layout.count()): button = layout.itemAt(i).widget() button_strings.append(button.value) else: raise unittest.SkipTest("Test not implemented for this toolkit") return button_strings def get_all_button_selected_status(control): """ Return a list with selected (wx) or checked (qt) button status under given control. Assumes all sizer children (wx) or layout items (qt) are buttons. """ button_status = [] if is_wx(): for item in control.GetSizer().GetChildren(): button_status.append(item.GetWindow().Selected()) elif is_qt(): layout = control.layout() for i in range(layout.count()): button_status.append(layout.itemAt(i).widget().isChecked()) else: raise unittest.SkipTest("Test not implemented for this toolkit") return button_status def get_button_control(control, button_idx): """ Get button control from a specified parent control given a button index. Assumes all sizer children (wx) or layout items (qt) are buttons. """ if is_wx(): return control.GetSizer().GetChildren()[button_idx].GetWindow() elif is_qt(): return control.layout().itemAt(button_idx).widget() else: raise unittest.SkipTest("Test not implemented for this toolkit") @requires_toolkit([ToolkitName.qt]) class TestImageEnumEditorMapping(BaseTestMixin, unittest.TestCase): def setUp(self): BaseTestMixin.setUp(self) def tearDown(self): BaseTestMixin.tearDown(self) @contextlib.contextmanager def setup_ui(self, model, view): with create_ui(model, dict(view=view)) as ui: yield ui.get_editors("value")[0] def check_enum_mappings_value_change(self, style): image_enum_editor_factory = ImageEnumEditor( values=['top left', 'top right'], format_func=lambda v: v.upper(), prefix='@icons:', suffix='_origin', path='dummy_path', ) formatted_view = View( UItem( "value", editor=image_enum_editor_factory, style=style, ) ) with reraise_exceptions(), \ self.setup_ui(EnumModel(), formatted_view) as editor: self.assertEqual(editor.names, ["TOP LEFT", "TOP RIGHT"]) self.assertEqual( editor.mapping, {"TOP LEFT": "top left", "TOP RIGHT": "top right"} ) self.assertEqual( editor.inverse_mapping, {"top left": "TOP LEFT", "top right": "TOP RIGHT"} ) image_enum_editor_factory.values = ["top right", "top left"] self.assertEqual(editor.names, ["TOP RIGHT", "TOP LEFT"]) self.assertEqual( editor.mapping, {"TOP RIGHT": "top right", "TOP LEFT": "top left"} ) self.assertEqual( editor.inverse_mapping, {"top right": "TOP RIGHT", "top left": "TOP LEFT"} ) def check_enum_mappings_name_change(self, style): class PossibleEnumModel(HasTraits): value = value = Enum('top left', 'top right') possible_values = List(['top left', 'top right']) formatted_view = View( UItem( 'value', editor=ImageEnumEditor( name="object.possible_values", format_func=lambda v: v.upper(), prefix='@icons:', suffix='_origin', path='dummy_path', ), style=style, ) ) model = PossibleEnumModel() with reraise_exceptions(), \ self.setup_ui(model, formatted_view) as editor: self.assertEqual(editor.names, ["TOP LEFT", "TOP RIGHT"]) self.assertEqual( editor.mapping, {"TOP LEFT": "top left", "TOP RIGHT": "top right"} ) self.assertEqual( editor.inverse_mapping, {"top left": "TOP LEFT", "top right": "TOP RIGHT"} ) model.possible_values = ["top right", "top left"] self.assertEqual(editor.names, ["TOP RIGHT", "TOP LEFT"]) self.assertEqual( editor.mapping, {"TOP RIGHT": "top right", "TOP LEFT": "top left"} ) self.assertEqual( editor.inverse_mapping, {"top right": "TOP RIGHT", "top left": "TOP LEFT"} ) @unittest.skip("Issue enthought/traitsui#844") def test_simple_editor_mapping_values(self): self.check_enum_mappings_value_change("simple") @unittest.skip("Issue enthought/traitsui#844") def test_simple_editor_mapping_name(self): self.check_enum_mappings_name_change("simple") def test_custom_editor_mapping_values(self): self.check_enum_mappings_value_change("custom") def test_custom_editor_mapping_name(self): self.check_enum_mappings_name_change("custom") def test_readonly_editor_mapping_values(self): self.check_enum_mappings_value_change("readonly") def test_readonly_editor_name(self): class PossibleEnumModel(HasTraits): value = value = Enum('top left', 'top right') possible_values = List(['top left', 'top right']) formatted_view = View( UItem( 'value', editor=ImageEnumEditor( name="object.possible_values", format_func=lambda v: v.upper(), prefix='@icons:', suffix='_origin', path='dummy_path', ), style="readonly", ) ) model = PossibleEnumModel() with reraise_exceptions(), \ self.setup_ui(model, formatted_view) as editor: # Readonly editor doesn't set up full mapping, only check that # str_value is mapped as expected self.assertEqual(model.value, "top left") self.assertEqual(editor.str_value, "TOP LEFT") class TestSimpleImageEnumEditor(BaseTestMixin, unittest.TestCase): def setUp(self): BaseTestMixin.setUp(self) def tearDown(self): BaseTestMixin.tearDown(self) @contextlib.contextmanager def setup_gui(self, model, view): with create_ui(model, dict(view=view)) as ui: process_cascade_events() yield ui.get_editors("value")[0] @requires_toolkit([ToolkitName.qt, ToolkitName.wx]) def test_simple_editor_more_cols(self): # Smoke test for setting up an editor with more than one column enum_edit = EnumModel() view = View( UItem( 'value', editor=ImageEnumEditor( values=[ 'top left', 'top right', 'bottom left', 'bottom right' ], prefix='@icons:', suffix='_origin', path='dummy_path', cols=4, ), style="simple", ), resizable=True, ) with reraise_exceptions(): self.setup_gui(enum_edit, view) @requires_toolkit([ToolkitName.wx]) def test_simple_editor_popup_editor(self): enum_edit = EnumModel() with reraise_exceptions(), \ self.setup_gui(enum_edit, get_view("simple")) as editor: self.assertEqual(enum_edit.value, 'top left') # Set up ImageEnumDialog click_on_image(editor.control) process_cascade_events() # Check created buttons image_grid_control = ( editor.control.GetChildren()[0].GetChildren()[0] ) self.assertEqual( get_button_strings(image_grid_control), ['top left', 'top right', 'bottom left', 'bottom right'] ) # Select new image click_on_image(get_button_control(image_grid_control, 1)) process_cascade_events() self.assertEqual(enum_edit.value, 'top right') # Check that dialog window is closed self.assertEqual(list(editor.control.GetChildren()), []) @requires_toolkit([ToolkitName.qt]) def test_simple_editor_combobox(self): enum_edit = EnumModel() with reraise_exceptions(), \ self.setup_gui(enum_edit, get_view("simple")) as editor: self.assertEqual(enum_edit.value, 'top left') # Smoke test for ImageEnumItemDelegate painting editor.control.showPopup() process_cascade_events() editor.control.setCurrentIndex(1) editor.control.hidePopup() process_cascade_events() self.assertEqual(enum_edit.value, 'top right') @requires_toolkit([ToolkitName.qt, ToolkitName.wx]) class TestCustomImageEnumEditor(BaseTestMixin, unittest.TestCase): def setUp(self): BaseTestMixin.setUp(self) def tearDown(self): BaseTestMixin.tearDown(self) @contextlib.contextmanager def setup_gui(self, model, view): with create_ui(model, dict(view=view)) as ui: process_cascade_events() yield ui.get_editors("value")[0] def test_custom_editor_more_cols(self): # Smoke test for setting up an editor with more than one column enum_edit = EnumModel() view = View( UItem( 'value', editor=ImageEnumEditor( values=[ 'top left', 'top right', 'bottom left', 'bottom right' ], prefix='@icons:', suffix='_origin', path='dummy_path', cols=4, ), style="custom", ), resizable=True, ) with reraise_exceptions(), \ self.setup_gui(enum_edit, view): pass def test_custom_editor_selection(self): enum_edit = EnumModel() with reraise_exceptions(), \ self.setup_gui(enum_edit, get_view("custom")) as editor: self.assertEqual( get_button_strings(editor.control), ['top left', 'top right', 'bottom left', 'bottom right'] ) self.assertEqual(enum_edit.value, 'top left') self.assertEqual( get_all_button_selected_status(editor.control), [True, False, False, False] ) click_on_image(get_button_control(editor.control, 1)) process_cascade_events() self.assertEqual(enum_edit.value, 'top right') def test_custom_editor_value_changed(self): enum_edit = EnumModel() with reraise_exceptions(), \ self.setup_gui(enum_edit, get_view("custom")) as editor: self.assertEqual( get_button_strings(editor.control), ['top left', 'top right', 'bottom left', 'bottom right'] ) self.assertEqual(enum_edit.value, 'top left') self.assertEqual( get_all_button_selected_status(editor.control), [True, False, False, False] ) enum_edit.value = 'top right' process_cascade_events() self.assertEqual( get_all_button_selected_status(editor.control), [False, True, False, False] ) @requires_toolkit([ToolkitName.qt, ToolkitName.wx]) class TestReadOnlyImageEnumEditor(BaseTestMixin, unittest.TestCase): def setUp(self): BaseTestMixin.setUp(self) def tearDown(self): BaseTestMixin.tearDown(self) def test_readonly_editor_value_changed(self): enum_edit = EnumModel() with reraise_exceptions(): with patch(cache_to_patch, wraps=image_cache) as patched_cache, \ create_ui(enum_edit, dict(view=get_view("readonly"))): self.assertEqual(enum_edit.value, 'top left') self.assertEqual( patched_cache.call_args[0][0], "@icons:top left_origin" ) enum_edit.value = 'top right' process_cascade_events() self.assertEqual( patched_cache.call_args[0][0], "@icons:top right_origin" ) traitsui-7.2.1/traitsui/tests/editors/test_date_editor.py0000644000076500000240000001451614046644454024371 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! import contextlib import datetime import unittest from traits.api import Date, HasTraits, List from traitsui.api import DateEditor, View, Item from traitsui.editors.date_editor import CellFormat from traitsui.tests._tools import ( BaseTestMixin, create_ui, requires_toolkit, reraise_exceptions, ToolkitName, ) class Foo(HasTraits): dates = List(Date) single_date = Date() def single_select_custom_view(): view = View( Item( name="single_date", style="custom", editor=DateEditor(multi_select=False), ) ) return view def multi_select_custom_view(): view = View( Item( name="dates", style="custom", editor=DateEditor(multi_select=True) ) ) return view def multi_select_selected_color_view(): view = View( Item( name="dates", style="custom", editor=DateEditor( multi_select=True, selected_style=CellFormat(bold=True, bgcolor=(128, 10, 0)), ), ) ) return view @requires_toolkit([ToolkitName.qt]) class TestDateEditorCustomQt(BaseTestMixin, unittest.TestCase): def setUp(self): BaseTestMixin.setUp(self) def tearDown(self): BaseTestMixin.tearDown(self) def test_single_select_qt4(self): with self.launch_editor(single_select_custom_view) as (foo, editor): date = datetime.date(2018, 2, 3) self.click_date_on_editor(editor, date) self.assertEqual(foo.single_date, date) def test_multi_select_dates_on_editor(self): with self.launch_editor(multi_select_custom_view) as (foo, editor): dates = [datetime.date(2018, 2, 3), datetime.date(2018, 2, 1)] for date in dates: self.click_date_on_editor(editor, date) for date in dates: self.check_select_status( editor=editor, date=date, selected=True ) self.assertEqual(foo.dates, sorted(dates)) def test_multi_select_qt4_styles_reset(self): with self.launch_editor(multi_select_custom_view) as (foo, editor): date = datetime.date(2018, 2, 1) self.click_date_on_editor(editor, date) self.check_select_status(editor=editor, date=date, selected=True) self.click_date_on_editor(editor, date) self.check_select_status(editor=editor, date=date, selected=False) def test_multi_select_qt4_set_model_dates(self): # Test setting the dates from the model object. with self.launch_editor(multi_select_custom_view) as (foo, editor): foo.dates = [datetime.date(2010, 1, 2), datetime.date(2010, 2, 1)] for date in foo.dates: self.check_select_status( editor=editor, date=date, selected=True ) def test_custom_selected_color(self): view_factory = multi_select_selected_color_view with self.launch_editor(view_factory) as (foo, editor): date = datetime.date(2011, 3, 4) foo.dates = [date] self.check_date_bgcolor(editor, date, (128, 10, 0)) # -------------------- # Helper methods # -------------------- @contextlib.contextmanager def launch_editor(self, view_factory): foo = Foo() with create_ui(foo, dict(view=view_factory())) as ui: editor, = ui._editors yield foo, editor def check_select_status(self, editor, date, selected): from pyface.qt import QtCore, QtGui qdate = QtCore.QDate(date.year, date.month, date.day) textformat = editor.control.dateTextFormat(qdate) if selected: self.assertEqual( textformat.fontWeight(), QtGui.QFont.Bold, "{!r} is not selected.".format(date), ) self.check_date_bgcolor(editor, date, (0, 128, 0)) else: self.assertEqual( textformat.fontWeight(), QtGui.QFont.Normal, "{!r} is not unselected.".format(date), ) self.assertEqual( textformat.background().style(), 0, # Qt.BrushStyle.NoBrush, "Expected brush to have been reset.", ) self.check_date_bgcolor(editor, date, (0, 0, 0)) def click_date_on_editor(self, editor, date): from pyface.qt import QtCore # QCalendarWidget.setSelectedDate modifies internal state # instead of triggering the click signal. # So we call update_object directly editor.update_object(QtCore.QDate(date.year, date.month, date.day)) def check_date_bgcolor(self, editor, date, expected): from pyface.qt import QtCore qdate = QtCore.QDate(date.year, date.month, date.day) textformat = editor.control.dateTextFormat(qdate) color = textformat.background().color() actual = (color.red(), color.green(), color.blue()) self.assertEqual( actual, expected, "Expected color: {!r}. Got color: {!r}".format(expected, actual), ) # Run this test case against wx too once enthought/traitsui#752 is fixed. @requires_toolkit([ToolkitName.qt]) class TestDateEditorInitDispose(unittest.TestCase): """ Test the init and dispose of date editor.""" def check_init_and_dispose(self, view): with reraise_exceptions(), \ create_ui(Foo(), dict(view=view)): pass def test_simple_date_editor(self): view = View( Item( name="single_date", style="simple", ) ) self.check_init_and_dispose(view) def test_custom_date_editor(self): view = View( Item( name="single_date", style="custom", ) ) self.check_init_and_dispose(view) traitsui-7.2.1/traitsui/tests/editors/test_range_editor_text.py0000644000076500000240000000512014046644454025603 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! """ Test case for bug (wx, Mac OS X) A RangeEditor in mode 'text' for an Int allows values out of range. """ import unittest from traits.has_traits import HasTraits from traits.trait_types import Float, Int from traitsui.item import Item from traitsui.view import View from traitsui.editors.range_editor import RangeEditor from traitsui.testing.tester import command from traitsui.testing.tester.ui_tester import UITester from traitsui.tests._tools import ( BaseTestMixin, requires_toolkit, ToolkitName, ) class NumberWithRangeEditor(HasTraits): """Dialog containing a RangeEditor in 'spinner' mode for an Int. """ number = Int() traits_view = View( Item(label="Range should be 3 to 8. Enter 1, then press OK"), Item("number", editor=RangeEditor(low=3, high=8, mode="text")), buttons=["OK"], ) class FloatWithRangeEditor(HasTraits): """Dialog containing a RangeEditor in 'spinner' mode for an Int. """ number = Float(5.0) traits_view = View( Item("number", editor=RangeEditor(low=0.0, high=12.0)), buttons=["OK"] ) class TestRangeEditorText(BaseTestMixin, unittest.TestCase): def setUp(self): BaseTestMixin.setUp(self) def tearDown(self): BaseTestMixin.tearDown(self) @requires_toolkit([ToolkitName.wx]) def test_wx_text_editing(self): # behavior: when editing the text part of a spin control box, pressing # the OK button should update the value of the HasTraits class # (tests a bug where this fails with an AttributeError) num = NumberWithRangeEditor() tester = UITester() with tester.create_ui(num) as ui: # the following is equivalent to setting the text in the text # control, then pressing OK text = tester.find_by_name(ui, "number") text.perform(command.KeyClick("1")) text.perform(command.KeyClick("Enter")) # the number traits should be between 3 and 8 self.assertTrue(3 <= num.number <= 8) if __name__ == "__main__": # Executing the file opens the dialog for manual testing num = NumberWithRangeEditor() num.configure_traits() print(num.number) traitsui-7.2.1/traitsui/tests/editors/test_font_editor.py0000644000076500000240000000231714046644454024416 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! """ Test FontEditor """ import unittest from traits.api import HasTraits from traitsui.api import Font, Item, View from traitsui.tests._tools import ( requires_toolkit, ToolkitName, ) from traitsui.testing.api import ( MouseClick, UITester ) class ObjectWithFont(HasTraits): font_trait = Font() @requires_toolkit([ToolkitName.qt, ToolkitName.wx]) class TestFontEditor(unittest.TestCase): def test_create_and_dispose_text_style(self): # Setting focus on the widget and then disposing the widget # should not cause errors. view = View(Item("font_trait", style="text")) tester = UITester() with tester.create_ui(ObjectWithFont(), dict(view=view)) as ui: wrapper = tester.find_by_name(ui, "font_trait") wrapper.perform(MouseClick()) traitsui-7.2.1/traitsui/tests/editors/test_enum_editor.py0000644000076500000240000003673314046644454024425 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! import contextlib import unittest from traits.api import Enum, HasTraits, Int, List from traitsui.api import EnumEditor, UItem, View from traitsui.tests._tools import ( BaseTestMixin, create_ui, is_qt, is_wx, requires_toolkit, reraise_exceptions, ToolkitName, ) from traitsui.testing.api import ( Disabled, DisplayedText, Index, IsEnabled, KeyClick, KeySequence, MouseClick, SelectedText, UITester ) class EnumModel(HasTraits): value = Enum("one", "two", "three", "four") class EnumModelWithNone(HasTraits): value = Enum(None, "one", "two", "three", "four") def get_view(style): return View(UItem("value", style=style), resizable=True) def get_evaluate_view(style, auto_set=True, mode="radio"): return View( UItem( "value", editor=EnumEditor( evaluate=True, values=["one", "two", "three", "four"], auto_set=auto_set, mode=mode, ), style=style, ), resizable=True, ) def get_radio_view(cols=1): return View( UItem( "value", editor=EnumEditor( values=["one", "two", "three", "four"], cols=cols, mode="radio", ), style="custom", ), resizable=True, ) @requires_toolkit([ToolkitName.qt, ToolkitName.wx]) class TestEnumEditorMapping(BaseTestMixin, unittest.TestCase): def setUp(self): BaseTestMixin.setUp(self) def tearDown(self): BaseTestMixin.tearDown(self) @contextlib.contextmanager def setup_ui(self, model, view): with create_ui(model, dict(view=view)) as ui: yield ui.get_editors("value")[0] def check_enum_mappings_value_change(self, style, mode): class IntEnumModel(HasTraits): value = Int() enum_editor_factory = EnumEditor( values=[0, 1], format_func=lambda v: str(bool(v)).upper(), mode=mode ) formatted_view = View( UItem( "value", editor=enum_editor_factory, style=style, ) ) with reraise_exceptions(), \ self.setup_ui(IntEnumModel(), formatted_view) as editor: self.assertEqual(editor.names, ["FALSE", "TRUE"]) self.assertEqual(editor.mapping, {"FALSE": 0, "TRUE": 1}) self.assertEqual( editor.inverse_mapping, {0: "FALSE", 1: "TRUE"} ) enum_editor_factory.values = [1, 0] self.assertEqual(editor.names, ["TRUE", "FALSE"]) self.assertEqual(editor.mapping, {"TRUE": 1, "FALSE": 0}) self.assertEqual( editor.inverse_mapping, {1: "TRUE", 0: "FALSE"} ) def check_enum_mappings_name_change(self, style, mode): class IntEnumModel(HasTraits): value = Int() possible_values = List([0, 1]) formatted_view = View( UItem( 'value', editor=EnumEditor( name="object.possible_values", format_func=lambda v: str(bool(v)).upper(), mode=mode ), style=style, ) ) model = IntEnumModel() with reraise_exceptions(), \ self.setup_ui(model, formatted_view) as editor: self.assertEqual(editor.names, ["FALSE", "TRUE"]) self.assertEqual(editor.mapping, {"FALSE": 0, "TRUE": 1}) self.assertEqual( editor.inverse_mapping, {0: "FALSE", 1: "TRUE"} ) model.possible_values = [1, 0] self.assertEqual(editor.names, ["TRUE", "FALSE"]) self.assertEqual(editor.mapping, {"TRUE": 1, "FALSE": 0}) self.assertEqual( editor.inverse_mapping, {1: "TRUE", 0: "FALSE"} ) def test_simple_editor_mapping_values(self): self.check_enum_mappings_value_change("simple", "radio") def test_simple_editor_mapping_name(self): self.check_enum_mappings_name_change("simple", "radio") def test_radio_editor_mapping_values(self): # FIXME issue enthought/traitsui#842 if is_wx(): import wx with self.assertRaises(wx._core.wxAssertionError): self.check_enum_mappings_value_change("custom", "radio") else: self.check_enum_mappings_value_change("custom", "radio") def test_radio_editor_mapping_name(self): # FIXME issue enthought/traitsui#842 if is_wx(): import wx with self.assertRaises(wx._core.wxAssertionError): self.check_enum_mappings_name_change("custom", "radio") else: self.check_enum_mappings_name_change("custom", "radio") def test_list_editor_mapping_values(self): self.check_enum_mappings_value_change("custom", "list") def test_list_editor_mapping_name(self): self.check_enum_mappings_name_change("custom", "list") @requires_toolkit([ToolkitName.qt, ToolkitName.wx]) class TestSimpleEnumEditor(BaseTestMixin, unittest.TestCase): def setUp(self): BaseTestMixin.setUp(self) def tearDown(self): BaseTestMixin.tearDown(self) def check_enum_text_update(self, view): enum_edit = EnumModel() tester = UITester() with tester.create_ui(enum_edit, dict(view=view)) as ui: combobox = tester.find_by_name(ui, "value") displayed = combobox.inspect(DisplayedText()) self.assertEqual(displayed, "one") combobox.locate(Index(1)).perform(MouseClick()) displayed = combobox.inspect(DisplayedText()) self.assertEqual(displayed, "two") def check_enum_object_update(self, view): enum_edit = EnumModel() tester = UITester() with tester.create_ui(enum_edit, dict(view=view)) as ui: self.assertEqual(enum_edit.value, "one") combobox = tester.find_by_name(ui, "value") for _ in range(3): combobox.perform(KeyClick("Backspace")) combobox.perform(KeySequence("two")) combobox.perform(KeyClick("Enter")) self.assertEqual(enum_edit.value, "two") def check_enum_index_update(self, view): enum_edit = EnumModel() tester = UITester() with tester.create_ui(enum_edit, dict(view=view)) as ui: self.assertEqual(enum_edit.value, "one") combobox = tester.find_by_name(ui, "value") combobox.locate(Index(1)).perform(MouseClick()) self.assertEqual(enum_edit.value, "two") def check_enum_text_bad_update(self, view): enum_edit = EnumModel() tester = UITester() with tester.create_ui(enum_edit, dict(view=view)) as ui: self.assertEqual(enum_edit.value, "one") combobox = tester.find_by_name(ui, "value") for _ in range(3): combobox.perform(KeyClick("Backspace")) combobox.perform(KeyClick("H")) combobox.perform(KeyClick("Enter")) self.assertEqual(enum_edit.value, "one") def test_simple_enum_editor_text(self): self.check_enum_text_update(get_view("simple")) def test_simple_enum_editor_index(self): self.check_enum_index_update(get_view("simple")) def test_simple_evaluate_editor_text(self): self.check_enum_text_update(get_evaluate_view("simple")) def test_simple_evaluate_editor_index(self): self.check_enum_index_update(get_evaluate_view("simple")) def test_simple_evaluate_editor_bad_text(self): self.check_enum_text_bad_update(get_evaluate_view("simple")) def test_simple_evaluate_editor_object(self): self.check_enum_object_update(get_evaluate_view("simple")) def test_simple_evaluate_editor_object_no_auto_set(self): view = get_evaluate_view("simple", auto_set=False) enum_edit = EnumModel() tester = UITester() with tester.create_ui(enum_edit, dict(view=view)) as ui: self.assertEqual(enum_edit.value, "one") combobox = tester.find_by_name(ui, "value") for _ in range(3): combobox.perform(KeyClick("Backspace")) combobox.perform(KeySequence("two")) self.assertEqual(enum_edit.value, "one") combobox.perform(KeyClick("Enter")) self.assertEqual(enum_edit.value, "two") def test_simple_editor_resizable(self): # Smoke test for `qt4.enum_editor.SimpleEditor.set_size_policy` enum_edit = EnumModel() resizable_view = View(UItem("value", style="simple", resizable=True)) tester = UITester() with tester.create_ui(enum_edit, dict(view=resizable_view)): pass def test_simple_editor_rebuild_editor_evaluate(self): # Smoke test for `wx.enum_editor.SimpleEditor.rebuild_editor` enum_editor_factory = EnumEditor( evaluate=True, values=["one", "two", "three", "four"], ) view = View(UItem("value", editor=enum_editor_factory, style="simple")) tester = UITester() with tester.create_ui(EnumModel(), dict(view=view)): enum_editor_factory.values = ["one", "two", "three"] def test_simple_editor_disabled(self): enum_edit = EnumModel(value="two") view = View( UItem( "value", style="simple", enabled_when="value == 'one'", editor=EnumEditor(evaluate=True, values=["one", "two"]), ), ) tester = UITester() with tester.create_ui(enum_edit, dict(view=view)) as ui: combobox = tester.find_by_name(ui, "value") with self.assertRaises(Disabled): combobox.perform(KeyClick("Enter")) with self.assertRaises(Disabled): combobox.perform(KeySequence("two")) self.assertFalse(combobox.inspect(IsEnabled())) @requires_toolkit([ToolkitName.qt, ToolkitName.wx]) class TestRadioEnumEditor(BaseTestMixin, unittest.TestCase): def setUp(self): BaseTestMixin.setUp(self) def tearDown(self): BaseTestMixin.tearDown(self) def test_radio_enum_editor_update(self): enum_edit = EnumModel() tester = UITester() with tester.create_ui(enum_edit, dict(view=get_view("custom"))) as ui: # sanity check self.assertEqual(enum_edit.value, "one") radio_editor = tester.find_by_name(ui, "value") self.assertEqual( radio_editor.inspect(SelectedText()), "One", ) enum_edit.value = "two" self.assertEqual( radio_editor.inspect(SelectedText()), "Two", ) def test_radio_enum_editor_pick(self): for cols in range(1, 4): for row_major in [True, False]: enum_edit = EnumModel() tester = UITester() view = get_radio_view(cols=cols) with tester.create_ui(enum_edit, dict(view=view)) as ui: # sanity check self.assertEqual(enum_edit.value, "one") radio_editor = tester.find_by_name(ui, "value") if is_qt(): radio_editor._target.row_major = row_major radio_editor._target.rebuild_editor() item = radio_editor.locate(Index(3)) item.perform(MouseClick()) self.assertEqual(enum_edit.value, "four") def test_radio_enum_none_selected(self): enum_edit = EnumModelWithNone() tester = UITester() with tester.create_ui(enum_edit, dict(view=get_radio_view())) as ui: self.assertEqual(enum_edit.value, None) radio_editor = tester.find_by_name(ui, "value") displayed = radio_editor.inspect(SelectedText()) self.assertEqual(displayed, None) @requires_toolkit([ToolkitName.qt, ToolkitName.wx]) class TestListEnumEditor(BaseTestMixin, unittest.TestCase): def setUp(self): BaseTestMixin.setUp(self) def tearDown(self): BaseTestMixin.tearDown(self) def check_enum_text_update(self, view): enum_edit = EnumModel() tester = UITester() with tester.create_ui(enum_edit, dict(view=view)) as ui: list_editor = tester.find_by_name(ui, "value") displayed = list_editor.inspect(SelectedText()) self.assertEqual(displayed, "one") list_editor.locate(Index(1)).perform(MouseClick()) displayed = list_editor.inspect(SelectedText()) self.assertEqual(displayed, "two") def check_enum_index_update(self, view): enum_edit = EnumModel() tester = UITester() with tester.create_ui(enum_edit, dict(view=view)) as ui: self.assertEqual(enum_edit.value, "one") list_editor = tester.find_by_name(ui, "value") list_editor.locate(Index(1)).perform(MouseClick()) self.assertEqual(enum_edit.value, "two") def test_list_enum_editor_text(self): view = View( UItem( "value", editor=EnumEditor( values=["one", "two", "three", "four"], mode="list", ), style="custom", ), resizable=True, ) self.check_enum_text_update(view) def test_list_enum_editor_index(self): view = View( UItem( "value", editor=EnumEditor( values=["one", "two", "three", "four"], mode="list", ), style="custom", ), resizable=True, ) self.check_enum_index_update(view) def test_list_evaluate_editor_text(self): self.check_enum_text_update(get_evaluate_view("custom", mode="list")) def test_list_evaluate_editor_index(self): self.check_enum_index_update(get_evaluate_view("custom", mode="list")) def test_list_enum_none_selected(self): enum_edit = EnumModelWithNone() view = View( UItem( "value", editor=EnumEditor( # Note that for the list style editor, in order to select # None, it must be one of the displayed options values=[None, "one", "two", "three", "four"], mode="list", ), style="custom", ), resizable=True, ) tester = UITester() with tester.create_ui(enum_edit, dict(view=view)) as ui: self.assertEqual(enum_edit.value, None) list_editor = tester.find_by_name(ui, "value") # As a result the displayed text is actually the string 'None' displayed = list_editor.inspect(SelectedText()) self.assertEqual(displayed, 'None') traitsui-7.2.1/traitsui/tests/editors/test_button_editor.py0000644000076500000240000001543714046644454024772 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! import unittest from pyface.api import ImageResource from pyface.ui_traits import Image from traits.api import Bool, Button, HasTraits, List, Str from traits.testing.api import UnittestTools from traitsui.api import ButtonEditor, Item, UItem, View import traitsui.extras from traitsui.tests._tools import ( BaseTestMixin, requires_toolkit, reraise_exceptions, ToolkitName, ) from traitsui.testing.api import ( DisplayedText, IsEnabled, MouseClick, UITester ) class ButtonTextEdit(HasTraits): play_button = Button("Play") play_button_label = Str("I'm a play button") play_button_image = Image( ImageResource("run", [traitsui.extras]) ) values = List() button_enabled = Bool(True) traits_view = View( Item("play_button", style="simple"), Item("play_button", style="custom"), Item("play_button", style="readonly"), Item("play_button", style="text"), ) simple_view = View( UItem("play_button", editor=ButtonEditor(label_value="play_button_label")), Item("play_button_label"), resizable=True, ) custom_view = View( UItem("play_button", editor=ButtonEditor(label_value="play_button_label")), Item("play_button_label"), resizable=True, style="custom", ) custom_image_view = View( UItem("play_button", editor=ButtonEditor(image_value="play_button_image")), resizable=True, style="custom", ) @requires_toolkit([ToolkitName.qt, ToolkitName.wx]) class TestButtonEditor(BaseTestMixin, unittest.TestCase, UnittestTools): def setUp(self): BaseTestMixin.setUp(self) def tearDown(self): BaseTestMixin.tearDown(self) def check_button_text_update(self, view): button_text_edit = ButtonTextEdit() tester = UITester() with tester.create_ui(button_text_edit, dict(view=view)) as ui: button = tester.find_by_name(ui, "play_button") actual = button.inspect(DisplayedText()) self.assertEqual(actual, "I'm a play button") button_text_edit.play_button_label = "New Label" actual = button.inspect(DisplayedText()) self.assertEqual(actual, "New Label") def test_styles(self): # simple smoke test of buttons button_text_edit = ButtonTextEdit() with UITester().create_ui(button_text_edit): pass def test_simple_button_editor(self): self.check_button_text_update(simple_view) # this currently fails on wx, see enthought/traitsui#1654 @requires_toolkit([ToolkitName.qt]) def test_custom_button_editor(self): self.check_button_text_update(custom_view) def check_button_fired_event(self, view): button_text_edit = ButtonTextEdit() tester = UITester() with tester.create_ui(button_text_edit, dict(view=view)) as ui: button = tester.find_by_name(ui, "play_button") with self.assertTraitChanges( button_text_edit, "play_button", count=1): button.perform(MouseClick()) def test_simple_button_editor_clicked(self): self.check_button_fired_event(simple_view) def test_custom_button_editor_clicked(self): self.check_button_fired_event(custom_view) def check_button_disabled(self, style): button_text_edit = ButtonTextEdit( button_enabled=False, ) view = View( Item( "play_button", editor=ButtonEditor(), enabled_when="button_enabled", style=style, ), ) tester = UITester() with tester.create_ui(button_text_edit, dict(view=view)) as ui: button = tester.find_by_name(ui, "play_button") self.assertFalse(button.inspect(IsEnabled())) with self.assertTraitDoesNotChange( button_text_edit, "play_button"): button.perform(MouseClick()) button_text_edit.button_enabled = True self.assertTrue(button.inspect(IsEnabled())) with self.assertTraitChanges( button_text_edit, "play_button", count=1): button.perform(MouseClick()) def test_simple_button_editor_disabled(self): self.check_button_disabled("simple") def test_custom_button_editor_disabled(self): self.check_button_disabled("custom") def test_custom_image_value(self): button_text_edit = ButtonTextEdit() tester = UITester() with tester.create_ui(button_text_edit, dict(view=custom_image_view)) \ as ui: button = tester.find_by_name(ui, "play_button") default_image = button._target.image self.assertIsInstance(default_image, ImageResource) button_text_edit.play_button_image = ImageResource( 'next', [traitsui.extras] ) self.assertIsInstance(button._target.image, ImageResource) self.assertIsNot(button._target.image, default_image) @requires_toolkit([ToolkitName.qt]) class TestButtonEditorValuesTrait(BaseTestMixin, unittest.TestCase): """ The values_trait is only supported by Qt. See discussion enthought/traitsui#879 """ def setUp(self): BaseTestMixin.setUp(self) def tearDown(self): BaseTestMixin.tearDown(self) def get_view(self, style): return View( Item( "play_button", editor=ButtonEditor(values_trait="values"), style=style, ), ) def check_editor_values_trait_init_and_dispose(self, style): # Smoke test to check init and dispose when values_trait is used. instance = ButtonTextEdit(values=["Item1", "Item2"]) view = self.get_view(style=style) with reraise_exceptions(): with UITester().create_ui(instance, dict(view=view)): pass # It is okay to mutate trait after the GUI is disposed. instance.values = ["Item3"] def test_simple_editor_values_trait_init_and_dispose(self): # Smoke test to check init and dispose when values_trait is used. self.check_editor_values_trait_init_and_dispose(style="simple") def test_custom_editor_values_trait_init_and_dispose(self): # Smoke test to check init and dispose when values_trait is used. self.check_editor_values_trait_init_and_dispose(style="custom") traitsui-7.2.1/traitsui/tests/test_view_application.py0000644000076500000240000001572714046644454023777 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! import unittest from pyface.timer.api import CallbackTimer from traits.api import HasTraits, Instance, Int from traitsui.api import Handler, Item, UIInfo, View, toolkit from ._tools import ( BaseTestMixin, GuiTestAssistant, is_qt, no_gui_test_assistant ) class SimpleModel(HasTraits): cell = Int() class ClosableHandler(Handler): info = Instance(UIInfo) def init(self, info): self.info = info return True def test_close(self): self.info.ui.dispose() simple_view = View( Item("cell"), title="Enter IDs and conditions", buttons=["OK", "Cancel"] ) @unittest.skipIf(no_gui_test_assistant, "No GuiTestAssistant") class TestViewApplication(BaseTestMixin, GuiTestAssistant, unittest.TestCase): def setUp(self): BaseTestMixin.setUp(self) GuiTestAssistant.setUp(self) self.model = SimpleModel() self.handler = ClosableHandler() self.event_loop_timeout = False self.closed = False if is_qt(): if len(self.qt_app.topLevelWidgets()) > 0: with self.event_loop_with_timeout(repeat=5): self.gui.invoke_later(self.qt_app.closeAllWindows) def tearDown(self): GuiTestAssistant.tearDown(self) BaseTestMixin.tearDown(self) def view_application(self, kind, button=None): if button is None: self.gui.invoke_later(self.close_dialog) else: self.gui.invoke_later(self.click_button, text=button) timer = CallbackTimer.single_shot( callback=self.stop_event_loop, interval=1.0 ) try: self.result = toolkit().view_application( context=self.model, view=simple_view, kind=kind, handler=self.handler, ) finally: timer.stop() def view_application_event_loop(self, kind): with self.event_loop_until_condition(lambda: self.closed): self.gui.invoke_later( toolkit().view_application, context=self.model, view=simple_view, kind=kind, handler=self.handler, ) self.gui.invoke_after(100, self.close_dialog) def close_dialog(self): if is_qt(): self.handler.info.ui.control.close() self.closed = True else: raise NotImplementedError("Can't close current backend") def click_button(self, text): if is_qt(): from pyface.qt.QtGui import QPushButton from pyface.ui.qt4.util.testing import find_qt_widget button = find_qt_widget( self.handler.info.ui.control, QPushButton, lambda widget: widget.text() == text, ) if button is None: raise RuntimeError("Can't find {} button".format(text)) button.click() self.closed = True else: raise NotImplementedError("Can't click current backend") def stop_event_loop(self): self.gui.stop_event_loop() self.event_loop_timeout = True def test_modal_view_application_close(self): self.view_application("modal") self.assertTrue(self.closed) self.assertFalse(self.event_loop_timeout) self.assertFalse(self.result) def test_nonmodal_view_application_close(self): self.view_application("nonmodal") self.assertTrue(self.closed) self.assertFalse(self.event_loop_timeout) self.assertTrue(self.result) def test_livemodal_view_application_close(self): self.view_application("livemodal") self.assertTrue(self.closed) self.assertFalse(self.event_loop_timeout) self.assertFalse(self.result) def test_live_view_application_close(self): self.view_application("live") self.assertTrue(self.closed) self.assertFalse(self.event_loop_timeout) self.assertTrue(self.result) def test_modal_view_application_ok(self): self.view_application("modal", button="OK") self.assertTrue(self.closed) self.assertFalse(self.event_loop_timeout) self.assertTrue(self.result) def test_nonmodal_view_application_ok(self): self.view_application("nonmodal", button="OK") self.assertTrue(self.closed) self.assertFalse(self.event_loop_timeout) self.assertTrue(self.result) def test_livemodal_view_application_ok(self): self.view_application("livemodal", button="OK") self.assertTrue(self.closed) self.assertFalse(self.event_loop_timeout) self.assertTrue(self.result) def test_live_view_application_ok(self): self.view_application("live", button="OK") self.assertTrue(self.closed) self.assertFalse(self.event_loop_timeout) self.assertTrue(self.result) def test_modal_view_application_cancel(self): self.view_application("modal", button="Cancel") self.assertTrue(self.closed) self.assertFalse(self.event_loop_timeout) self.assertFalse(self.result) def test_nonmodal_view_application_cancel(self): self.view_application("nonmodal", button="Cancel") self.assertTrue(self.closed) self.assertFalse(self.event_loop_timeout) self.assertFalse(self.result) def test_livemodal_view_application_cancel(self): self.view_application("livemodal", button="Cancel") self.assertTrue(self.closed) self.assertFalse(self.event_loop_timeout) self.assertFalse(self.result) def test_live_view_application_cancel(self): self.view_application("live", button="Cancel") self.assertTrue(self.closed) self.assertFalse(self.event_loop_timeout) self.assertFalse(self.result) def test_modal_view_application_eventloop_close(self): self.view_application_event_loop("modal") self.assertTrue(self.closed) self.assertFalse(self.event_loop_timeout) def test_nonmodal_view_application_eventloop_close(self): self.view_application_event_loop("nonmodal") self.assertTrue(self.closed) self.assertFalse(self.event_loop_timeout) def test_livemodal_view_application_eventloop_close(self): self.view_application_event_loop("livemodal") self.assertTrue(self.closed) self.assertFalse(self.event_loop_timeout) def test_live_view_application_eventloop_close(self): self.view_application_event_loop("live") self.assertTrue(self.closed) self.assertFalse(self.event_loop_timeout) traitsui-7.2.1/traitsui/tests/test_ui_panel.py0000644000076500000240000000614514046644454022230 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! """ Tests to exercise logic for layouts, e.g. VGroup, HGroup. """ import unittest from pyface.toolkit import toolkit_object from pyface.constant import OK try: from pyface.qt import QtWebkit # noqa: F401 NO_WEBKIT_OR_WEBENGINE = False except ImportError: try: from pyface.qt import QtWebEngine # noqa: F401 NO_WEBKIT_OR_WEBENGINE = False except ImportError: NO_WEBKIT_OR_WEBENGINE = True from traits.api import HasTraits, Int from traitsui.api import HelpButton, HGroup, Item, spring, VGroup, View from traitsui.testing.api import MouseClick, UITester from traitsui.tests._tools import ( BaseTestMixin, create_ui, requires_toolkit, ToolkitName, ) ModalDialogTester = toolkit_object( "util.modal_dialog_tester:ModalDialogTester" ) class ObjectWithNumber(HasTraits): number1 = Int() number2 = Int() number3 = Int() class HelpPanel(HasTraits): my_int = Int(2, help='this is the help for my int') def default_traits_view(self): view = View( Item(name="my_int"), title="HelpPanel", buttons=[HelpButton], ) return view @requires_toolkit([ToolkitName.qt, ToolkitName.wx]) class TestUIPanel(BaseTestMixin, unittest.TestCase): def setUp(self): BaseTestMixin.setUp(self) def tearDown(self): BaseTestMixin.tearDown(self) def test_grouped_layout_with_springy(self): # Regression test for enthought/traitsui#1066 obj1 = ObjectWithNumber() view = View( HGroup( VGroup( Item("number1"), ), VGroup( Item("number2"), ), spring, ) ) # This should not fail. with create_ui(obj1, dict(view=view)): pass # Regression test for enthought/traitsui#1538 @requires_toolkit([ToolkitName.qt]) @unittest.skipIf( NO_WEBKIT_OR_WEBENGINE, "Tests require either QtWebKit or QtWebEngine" ) def test_show_help(self): # This help window is not actually modal, when opened it will be the # active window not active modal widget class MyTester(ModalDialogTester): def get_dialog_widget(self): return self._qt_app.activeWindow() panel = HelpPanel() tester = UITester(auto_process_events=False) with tester.create_ui(panel) as ui: help_button = tester.find_by_id(ui, 'Help') def click_help(): # should not fail help_button.perform(MouseClick()) mdtester = MyTester(click_help) mdtester.open_and_run(lambda x: x.click_button(OK)) traitsui-7.2.1/traitsui/tests/__init__.py0000644000076500000240000000000014046644454021114 0ustar aayresstaff00000000000000traitsui-7.2.1/traitsui/tests/test_ui.py0000644000076500000240000003330714046644454021051 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! """ Test cases for the UI object. """ import contextlib import unittest from pyface.api import GUI from traits.api import Property from traits.has_traits import HasTraits, HasStrictTraits from traits.trait_types import Str, Int import traitsui from traitsui.basic_editor_factory import BasicEditorFactory from traitsui.api import Group, Item, spring, View from traitsui.testing.api import DisplayedText, IsEnabled, MouseClick, UITester from traitsui.tests._tools import ( BaseTestMixin, count_calls, create_ui, is_qt, is_wx, process_cascade_events, requires_toolkit, reraise_exceptions, ToolkitName, ) from traitsui.toolkit import toolkit, toolkit_object class FooDialog(HasTraits): """Test dialog that does nothing useful.""" my_int = Int(2) my_str = Str("hallo") traits_view = View(Item("my_int"), Item("my_str"), buttons=["OK"]) class DisallowNewTraits(HasStrictTraits): """ Make sure no extra traits are added. """ x = Int(10) traits_view = View(Item("x"), spring) class MaybeInvalidTrait(HasTraits): name = Str() name_is_invalid = Property(observe="name") traits_view = View( Item("name", invalid="name_is_invalid") ) def _get_name_is_invalid(self): return len(self.name) < 10 class TestUI(BaseTestMixin, unittest.TestCase): def setUp(self): BaseTestMixin.setUp(self) def tearDown(self): BaseTestMixin.tearDown(self) @requires_toolkit([ToolkitName.wx]) def test_reset_with_destroy_wx(self): # Characterization test: # UI.reset(destroy=True) destroys all ui children of the top control foo = FooDialog() with create_ui(foo) as ui: ui.reset(destroy=True) process_cascade_events() # the top control is still there self.assertIsNotNone(ui.control) # but its children are gone self.assertEqual(len(ui.control.GetChildren()), 0) @requires_toolkit([ToolkitName.qt]) def test_reset_with_destroy_qt(self): # Characterization test: # UI.reset(destroy=True) destroys all ui children of the top control from pyface import qt foo = FooDialog() with create_ui(foo) as ui: # decorate children's `deleteLater` function to check that it is # called on `reset`. check only with the editor parts (only widgets # are scheduled. # See traitsui.qt4.toolkit.GUIToolkit.destroy_children) for c in ui.control.children(): c.deleteLater = count_calls(c.deleteLater) ui.reset(destroy=True) # the top control is still there self.assertIsNotNone(ui.control) # but its children are scheduled for removal for c in ui.control.children(): if isinstance(c, qt.QtGui.QWidget): self.assertEqual(c.deleteLater._n_calls, 1) @requires_toolkit([ToolkitName.wx]) def test_reset_without_destroy_wx(self): # Characterization test: # UI.reset(destroy=False) destroys all editor controls, but leaves # editors and ui children intact import wx foo = FooDialog() with create_ui(foo) as ui: self.assertEqual(len(ui._editors), 2) self.assertIsInstance( ui._editors[0], traitsui.wx.text_editor.SimpleEditor ) self.assertIsInstance( ui._editors[0].control, wx.TextCtrl ) ui.reset(destroy=False) self.assertEqual(len(ui._editors), 2) self.assertIsInstance( ui._editors[0], traitsui.wx.text_editor.SimpleEditor ) self.assertIsNone(ui._editors[0].control) # children are still there: check first text control text_ctrl = ui.control.FindWindowByName("text") self.assertIsNotNone(text_ctrl) @requires_toolkit([ToolkitName.qt]) def test_reset_without_destroy_qt(self): # Characterization test: # UI.reset(destroy=False) destroys all editor controls, but leaves # editors and ui children intact from pyface import qt foo = FooDialog() with create_ui(foo) as ui: self.assertEqual(len(ui._editors), 2) self.assertIsInstance( ui._editors[0], traitsui.qt4.text_editor.SimpleEditor ) self.assertIsInstance(ui._editors[0].control, qt.QtGui.QLineEdit) ui.reset(destroy=False) self.assertEqual(len(ui._editors), 2) self.assertIsInstance( ui._editors[0], traitsui.qt4.text_editor.SimpleEditor ) self.assertIsNone(ui._editors[0].control) # children are still there: check first text control text_ctrl = ui.control.findChild(qt.QtGui.QLineEdit) self.assertIsNotNone(text_ctrl) @requires_toolkit([ToolkitName.wx]) def test_destroy_after_ok_wx(self): # Behavior: after pressing 'OK' in a dialog, the method UI.finish is # called and the view control and its children are destroyed foo = FooDialog() tester = UITester() with tester.create_ui(foo) as ui: # keep reference to the control to check that it was destroyed control = ui.control # decorate control's `Destroy` function to check that it is called control.Destroy = count_calls(control.Destroy) # press the OK button and close the dialog ok_button = tester.find_by_id(ui, "OK") self.assertEqual(ok_button.inspect(DisplayedText()), "OK") self.assertTrue(ok_button.inspect(IsEnabled())) ok_button.perform(MouseClick()) self.assertIsNone(ui.control) self.assertEqual(control.Destroy._n_calls, 1) @requires_toolkit([ToolkitName.qt]) def test_destroy_after_ok_qt(self): # Behavior: after pressing 'OK' in a dialog, the method UI.finish is # called and the view control and its children are destroyed foo = FooDialog() tester = UITester() with tester.create_ui(foo) as ui: # keep reference to the control to check that it was deleted control = ui.control # decorate control's `deleteLater` function to check that it is # called control.deleteLater = count_calls(control.deleteLater) # press the OK button and close the dialog ok_button = tester.find_by_id(ui, "OK") self.assertEqual(ok_button.inspect(DisplayedText()), "OK") self.assertTrue(ok_button.inspect(IsEnabled())) ok_button.perform(MouseClick()) self.assertIsNone(ui.control) self.assertEqual(control.deleteLater._n_calls, 1) @requires_toolkit([ToolkitName.qt, ToolkitName.wx]) def test_no_spring_trait(self): obj = DisallowNewTraits() with create_ui(obj): pass self.assertTrue("spring" not in obj.traits()) @requires_toolkit([ToolkitName.qt, ToolkitName.wx]) def test_invalid_state(self): # Regression test for enthought/traitsui#983 obj = MaybeInvalidTrait(name="Name long enough to be valid") with create_ui(obj) as ui: editor, = ui.get_editors("name") self.assertFalse(editor.invalid) obj.name = "too short" self.assertTrue(editor.invalid) # Regression test on an AttributeError commonly seen (enthought/traitsui#1145) # Code in ui_panel makes use toolkit specific attributes on the toolkit # specific Editor ToolkitSpecificEditor = toolkit_object("editor:Editor") class DummyObject(HasTraits): number = Int() if is_qt(): from pyface.qt import QtGui, QtCore class CustomWidget(QtGui.QWidget): def __init__(self, editor, parent=None): super().__init__() self._some_editor = editor def sizeHint(self): # This is called if the sibling widget is destroyed (e.g. the # nested UI in EditorWithCustomWidget) while the container # (e.g. QSplitter in EditorWithCustomWidget) has not been # destroyed. The container will want to ask this widget for its # sizeHint in order to resize/repaint the layout. assert self._some_editor.factory is not None return super().sizeHint() class EditorWithCustomWidget(ToolkitSpecificEditor): def init(self, parent): self.control = QtGui.QSplitter(QtCore.Qt.Horizontal) widget = CustomWidget(editor=self) self.control.addWidget(widget) self.control.setStretchFactor(0, 2) self._ui = self.edit_traits( parent=self.control, kind="subpanel", view=View(Item("_", label="DUMMY"), width=100, height=100), ) self.control.addWidget(self._ui.control) def dispose(self): self.dispose_inner_ui() super().dispose() def dispose_inner_ui(self): if self._ui is not None: self._ui.dispose() self._ui = None def update_editor(self): pass if is_wx(): # The AttributeError is not seen on Wx. But Destroy needs to be made # asynchronous. import wx from traitsui.wx.helper import TraitsUIPanel class DummyButtonEditor(ToolkitSpecificEditor): def init(self, parent): self.control = wx.Button(parent, -1, "Dummy") self.control.Bind(wx.EVT_BUTTON, self.update_object) def dispose(self): # If the object is deleted too soon, we run into a RuntimeError. self.control.Unbind(wx.EVT_BUTTON) super().dispose() def update_object(self, event): pass def update_editor(self): pass class EditorWithCustomWidget(ToolkitSpecificEditor): # noqa: F811 def init(self, parent): self.control = TraitsUIPanel(parent, -1) sizer = wx.BoxSizer(wx.HORIZONTAL) self._dummy = DummyObject() self._ui = self._dummy.edit_traits( parent=self.control, kind="subpanel", view=View( Item( "number", editor=BasicEditorFactory(klass=DummyButtonEditor), ), ), ) sizer.Add(self._ui.control, 1, wx.EXPAND) self.control.SetSizerAndFit(sizer) def update_editor(self): pass def dispose(self): super().dispose() def dispose_inner_ui(self): if self._ui is not None: self._ui.dispose() self._ui = None class TestUIDispose(BaseTestMixin, unittest.TestCase): """ Test disposal of UI.""" def setUp(self): BaseTestMixin.setUp(self) def tearDown(self): BaseTestMixin.tearDown(self) @requires_toolkit([ToolkitName.qt, ToolkitName.wx]) def test_close_ui(self): # Test closing the main window normally. obj = DummyObject() view = View( Group( Item( "number", editor=BasicEditorFactory(klass=EditorWithCustomWidget), ), ), ) ui = obj.edit_traits(view=view) with ensure_destroyed(ui): gui = GUI() gui.invoke_later(close_control, ui.control) with reraise_exceptions(): process_cascade_events() self.assertIsNone(ui.control) @requires_toolkit([ToolkitName.qt, ToolkitName.wx]) def test_dispose_inner_ui(self): obj = DummyObject() view = View( Group( Item( "number", editor=BasicEditorFactory(klass=EditorWithCustomWidget), ), ), ) ui = obj.edit_traits(view=view) editor, = ui.get_editors("number") gui = GUI() with ensure_destroyed(ui): # This represents an event handler that causes a nested UI to be # disposed. gui.invoke_later(editor.dispose_inner_ui) # Allowing GUI to process the disposal requests is crucial. # This requirement should be satisfied in production setting # where the dispose method is part of an event handler. # Not doing so before disposing the main UI would be a programming # error in tests settings. with reraise_exceptions(): process_cascade_events() gui.invoke_later(close_control, ui.control) with reraise_exceptions(): process_cascade_events() self.assertIsNone(ui.control) @contextlib.contextmanager def ensure_destroyed(ui): """ Ensure the widget is destroyed in the event when test fails.""" try: yield finally: if ui.control is not None: toolkit().destroy_control(ui.control) with reraise_exceptions(): process_cascade_events() def close_control(control): """ Close the widget.""" if is_qt(): control.close() elif is_wx(): control.Close() else: raise NotImplementedError("Unexpected toolkit") traitsui-7.2.1/traitsui/tests/test_undo.py0000644000076500000240000011021414046644454021372 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! import functools import unittest from warnings import catch_warnings from pyface.toolkit import toolkit_object from pyface.undo.api import AbstractCommand from traits.api import Any, HasTraits, Int, List, Str, Tuple from traits.testing.api import UnittestTools from traitsui.tests.test_editor import create_editor from traitsui.undo import AbstractUndoItem, ListUndoItem, UndoHistory, UndoItem from traitsui.tests._tools import BaseTestMixin GuiTestAssistant = toolkit_object("util.gui_test_assistant:GuiTestAssistant") no_gui_test_assistant = GuiTestAssistant.__name__ == "Unimplemented" if no_gui_test_assistant: # ensure null toolkit has an inheritable GuiTestAssistant class GuiTestAssistant(object): pass class SimpleExample(HasTraits): value = Int() str_value = Str() tuple_value = Tuple() list_value = List() any_value = Any() class DummyCommand(AbstractCommand): def do(self): self.data = "do" def undo(self): self.data = "undo" def redo(self): self.data = "redo" class LegacyUndoItem(AbstractUndoItem): def undo(self): pass def redo(self): pass class TestAbstractUndoItem(UnittestTools, unittest.TestCase): def test_merge_undo_deprecated(self): undo_item = LegacyUndoItem() other_item = LegacyUndoItem() with catch_warnings(record=True) as w: result = undo_item.merge(other_item) self.assertEqual(len(w), 1) self.assertTrue(issubclass(w[0].category, DeprecationWarning)) self.assertIn("merge_undo", str(w[0].message)) self.assertFalse(result) class TestUndoItem(UnittestTools, unittest.TestCase): def test_undo(self): example = SimpleExample(value=11) undo_item = UndoItem( object=example, name='value', old_value=10, new_value=11, ) with self.assertTraitChanges(example, 'value', count=1): undo_item.undo() self.assertEqual(example.value, 10) def test_redo(self): example = SimpleExample(value=10) undo_item = UndoItem( object=example, name='value', old_value=10, new_value=11, ) with self.assertTraitChanges(example, 'value', count=1): undo_item.redo() self.assertEqual(example.value, 11) def test_merge_different_undo_item_type(self): example_1 = SimpleExample() example_2 = SimpleExample() undo_item = UndoItem( object=example_1, name='any_value', ) next_undo_item = ListUndoItem( object=example_2, name='any_value', ) result = undo_item.merge(next_undo_item) self.assertFalse(result) def test_merge_different_objects(self): example_1 = SimpleExample() example_2 = SimpleExample() undo_item = UndoItem( object=example_1, name='value', old_value=10, new_value=11, ) next_undo_item = UndoItem( object=example_2, name='value', old_value=10, new_value=11, ) result = undo_item.merge(next_undo_item) self.assertFalse(result) def test_merge_different_traits(self): example = SimpleExample() undo_item = UndoItem( object=example, name='value', old_value=10, new_value=11, ) next_undo_item = UndoItem( object=example, name='str_value', old_value='foo', new_value='bar', ) result = undo_item.merge(next_undo_item) self.assertFalse(result) def test_merge_different_value_types(self): example = SimpleExample() undo_item = UndoItem( object=example, name='any_value', old_value=10, new_value=11, ) next_undo_item = UndoItem( object=example, name='any_value', old_value=11, new_value='foo', ) result = undo_item.merge(next_undo_item) self.assertFalse(result) def test_merge_numbers(self): example = SimpleExample() undo_item = UndoItem( object=example, name='value', old_value=10, new_value=11, ) next_undo_item = UndoItem( object=example, name='value', old_value=11, new_value=12, ) result = undo_item.merge(next_undo_item) self.assertTrue(result) self.assertEqual(undo_item.old_value, 10) self.assertEqual(undo_item.new_value, 12) def test_merge_str_insert(self): example = SimpleExample() undo_item = UndoItem( object=example, name='str_value', old_value='foo', new_value='bar', ) next_undo_item = UndoItem( object=example, name='str_value', old_value='bar', new_value='bear', ) result = undo_item.merge(next_undo_item) self.assertTrue(result) self.assertEqual(undo_item.old_value, 'foo') self.assertEqual(undo_item.new_value, 'bear') def test_merge_str_delete(self): example = SimpleExample() undo_item = UndoItem( object=example, name='str_value', old_value='foo', new_value='bear', ) next_undo_item = UndoItem( object=example, name='str_value', old_value='bear', new_value='bar', ) result = undo_item.merge(next_undo_item) self.assertTrue(result) self.assertEqual(undo_item.old_value, 'foo') self.assertEqual(undo_item.new_value, 'bar') def test_merge_str_change(self): example = SimpleExample() undo_item = UndoItem( object=example, name='str_value', old_value='foo', new_value='bar', ) next_undo_item = UndoItem( object=example, name='str_value', old_value='bar', new_value='baz', ) result = undo_item.merge(next_undo_item) self.assertTrue(result) self.assertEqual(undo_item.old_value, 'foo') self.assertEqual(undo_item.new_value, 'baz') def test_merge_str_same(self): example = SimpleExample() undo_item = UndoItem( object=example, name='str_value', old_value='foo', new_value='bar', ) next_undo_item = UndoItem( object=example, name='str_value', old_value='bar', new_value='bar', ) result = undo_item.merge(next_undo_item) self.assertTrue(result) self.assertEqual(undo_item.old_value, 'foo') self.assertEqual(undo_item.new_value, 'bar') def test_merge_str_different(self): example = SimpleExample() undo_item = UndoItem( object=example, name='str_value', old_value='foo', new_value='bar', ) next_undo_item = UndoItem( object=example, name='str_value', old_value='bar', new_value='wombat', ) result = undo_item.merge(next_undo_item) self.assertFalse(result) def test_merge_sequence_change(self): example = SimpleExample() undo_item = UndoItem( object=example, name='tuple_value', old_value=('foo', 'bar', 'baz'), new_value=('foo', 'wombat', 'baz'), ) next_undo_item = UndoItem( object=example, name='tuple_value', old_value=('foo', 'wombat', 'baz'), new_value=('foo', 'fizz', 'baz'), ) result = undo_item.merge(next_undo_item) self.assertTrue(result) self.assertEqual(undo_item.old_value, ('foo', 'bar', 'baz')) self.assertEqual(undo_item.new_value, ('foo', 'fizz', 'baz')) def test_merge_sequence_change_different_types(self): example = SimpleExample() undo_item = UndoItem( object=example, name='tuple_value', old_value=('foo', 'bar', 'baz'), new_value=('foo', 'wombat', 'baz'), ) next_undo_item = UndoItem( object=example, name='tuple_value', old_value=('foo', 'wombat', 'baz'), new_value=('foo', 12, 'baz'), ) result = undo_item.merge(next_undo_item) self.assertTrue(result) self.assertEqual(undo_item.old_value, ('foo', 'bar', 'baz')) self.assertEqual(undo_item.new_value, ('foo', 12, 'baz')) def test_merge_sequence_change_not_simple_types(self): example = SimpleExample() undo_item = UndoItem( object=example, name='tuple_value', old_value=('foo', ['bar'], 'baz'), new_value=('foo', ['wombat'], 'baz'), ) next_undo_item = UndoItem( object=example, name='tuple_value', old_value=('foo', ['wombat'], 'baz'), new_value=('foo', ['fizz'], 'baz'), ) result = undo_item.merge(next_undo_item) self.assertTrue(result) self.assertEqual(undo_item.old_value, ('foo', ['bar'], 'baz')) self.assertEqual(undo_item.new_value, ('foo', ['fizz'], 'baz')) def test_merge_sequence_change_multiple_not_simple_types(self): example = SimpleExample() undo_item = UndoItem( object=example, name='tuple_value', old_value=(['foo'], 'bar', 'baz'), new_value=(['foo'], 'wombat', 'baz'), ) next_undo_item = UndoItem( object=example, name='tuple_value', old_value=(['foo'], 'wombat', 'baz'), new_value=(['foo'], 'fizz', 'baz'), ) result = undo_item.merge(next_undo_item) # XXX This is perhaps unexpected. See GitHub issue #1507. self.assertFalse(result) def test_merge_sequence_change_back(self): example = SimpleExample() undo_item = UndoItem( object=example, name='tuple_value', old_value=('foo', 'bar', 'baz'), new_value=('foo', 'wombat', 'baz'), ) next_undo_item = UndoItem( object=example, name='tuple_value', old_value=('foo', 'wombat', 'baz'), new_value=('foo', 'bar', 'baz'), ) result = undo_item.merge(next_undo_item) self.assertFalse(result) def test_merge_sequence_two_changes(self): example = SimpleExample() undo_item = UndoItem( object=example, name='tuple_value', old_value=('foo', 'bar', 'baz'), new_value=('foo', 'wombat', 'baz'), ) next_undo_item = UndoItem( object=example, name='tuple_value', old_value=('foo', 'wombat', 'baz'), new_value=('foo', 'wombat', 'fizz'), ) result = undo_item.merge(next_undo_item) self.assertFalse(result) def test_merge_sequence_change_length(self): example = SimpleExample() undo_item = UndoItem( object=example, name='tuple_value', old_value=('foo', 'bar', 'baz'), new_value=('foo', 'wombat', 'baz'), ) next_undo_item = UndoItem( object=example, name='tuple_value', old_value=('foo', 'wombat', 'baz'), new_value=('foo', 'wombat', 'baz', 'fizz'), ) result = undo_item.merge(next_undo_item) self.assertFalse(result) def test_merge_unhandled_type(self): example = SimpleExample() undo_item = UndoItem( object=example, name='any_value', old_value={'foo', 'bar', 'baz'}, new_value={'foo', 'wombat', 'baz'}, ) next_undo_item = UndoItem( object=example, name='any_value', old_value={'foo', 'wombat', 'baz'}, new_value={'foo', 'fizz', 'baz'}, ) result = undo_item.merge(next_undo_item) self.assertFalse(result) class TestListUndoItem(UnittestTools, unittest.TestCase): def test_undo(self): example = SimpleExample(list_value=['foo', 'wombat', 'baz']) undo_item = ListUndoItem( object=example, name='list_value', index=1, added=['wombat', 'baz'], removed=['bar'], ) with self.assertTraitChanges(example, 'list_value_items', count=1): undo_item.undo() self.assertEqual(example.list_value, ['foo', 'bar']) def test_redo(self): example = SimpleExample(list_value=['foo', 'bar']) undo_item = ListUndoItem( object=example, name='list_value', index=1, added=['wombat', 'baz'], removed=['bar'], ) with self.assertTraitChanges(example, 'list_value_items', count=1): undo_item.redo() self.assertEqual(example.list_value, ['foo', 'wombat', 'baz']) def test_merge_identical(self): example = SimpleExample(list_value=['foo', 'wombat', 'baz']) added = [['wombat'], 'baz'] removed = [['bar']] undo_item = ListUndoItem( object=example, name='list_value', index=1, added=added.copy(), removed=removed.copy(), ) next_undo_item = ListUndoItem( object=example, name='list_value', index=1, added=added.copy(), removed=removed.copy(), ) result = undo_item.merge(next_undo_item) self.assertTrue(result) def test_merge_equal(self): example = SimpleExample(list_value=['foo', 'wombat', 'baz']) removed = [['bar']] undo_item = ListUndoItem( object=example, name='list_value', index=1, added=[['wombat'], 'baz'], removed=removed.copy() ) next_undo_item = ListUndoItem( object=example, name='list_value', index=1, added=[['wombat'], 'baz'], removed=removed.copy(), ) result = undo_item.merge(next_undo_item) self.assertFalse(result) def test_merge_equal_removed(self): example = SimpleExample(list_value=['foo', 'wombat', 'baz']) added = [['wombat'], 'baz'] undo_item = ListUndoItem( object=example, name='list_value', index=1, added=added.copy(), removed=[['bar']], ) next_undo_item = ListUndoItem( object=example, name='list_value', index=1, added=added.copy(), removed=[['bar']], ) result = undo_item.merge(next_undo_item) self.assertFalse(result) def test_merge_different_objects(self): example_1 = SimpleExample() example_2 = SimpleExample() added = [['wombat'], 'baz'] removed = [['bar']] undo_item = ListUndoItem( object=example_1, name='list_value', index=1, added=added.copy(), removed=removed.copy(), ) next_undo_item = ListUndoItem( object=example_2, name='list_value', index=1, added=added.copy(), removed=removed.copy(), ) result = undo_item.merge(next_undo_item) self.assertFalse(result) def test_merge_different_traits(self): example = SimpleExample() added = [['wombat'], 'baz'] removed = [['bar']] undo_item = ListUndoItem( object=example, name='list_value', index=1, added=added.copy(), removed=removed.copy(), ) next_undo_item = ListUndoItem( object=example, name='any_value', index=1, added=added.copy(), removed=removed.copy(), ) result = undo_item.merge(next_undo_item) self.assertFalse(result) def test_merge_different_index(self): example = SimpleExample() added = [['wombat'], 'baz'] removed = [['bar']] undo_item = ListUndoItem( object=example, name='list_value', index=1, added=added.copy(), removed=removed.copy(), ) next_undo_item = ListUndoItem( object=example, name='any_value', index=0, added=added.copy(), removed=removed.copy(), ) result = undo_item.merge(next_undo_item) self.assertFalse(result) class TestUndoHistory(UnittestTools, unittest.TestCase): def _populate_history(self, history): """ Add some simple hostory items. """ self._example = SimpleExample() history.add( UndoItem( object=self._example, name='str_value', old_value='foo', new_value='bar', ) ) history.add( UndoItem( object=self._example, name='str_value', old_value='bar', new_value='wombat', ), ) history.add( UndoItem( object=self._example, name='str_value', old_value='wombat', new_value='baz', ), ) def test_defaults(self): history = UndoHistory() self.assertEqual(history.now, 0) self.assertFalse(history.can_undo) self.assertFalse(history.can_redo) def test_add_empty(self): history = UndoHistory() example = SimpleExample(str_value='foo') undo_item = UndoItem( object=example, name='str_value', old_value='foo', new_value='bar', ) with self.assertTraitChanges(history, 'undoable', count=1): with self.assertTraitDoesNotChange(history, 'redoable'): history.add(undo_item) self.assertEqual(history.now, 1) self.assertTrue(history.can_undo) self.assertFalse(history.can_redo) def test_add_end(self): history = UndoHistory() example = SimpleExample(str_value='foo', value=10) undo_item = UndoItem( object=example, name='value', old_value=0, new_value=10, ) history.add( UndoItem( object=example, name='str_value', old_value='foo', new_value='bar', ) ) with self.assertTraitDoesNotChange(history, 'undoable'): with self.assertTraitDoesNotChange(history, 'redoable'): history.add(undo_item) self.assertEqual(history.now, 2) self.assertTrue(history.can_undo) self.assertFalse(history.can_redo) def test_add_merge(self): history = UndoHistory() example = SimpleExample(str_value='foo', value=10) undo_item = UndoItem( object=example, name='str_value', old_value='foo', new_value='baz', ) history.add( UndoItem( object=example, name='str_value', old_value='foo', new_value='bar', ) ) with self.assertTraitDoesNotChange(history, 'undoable'): with self.assertTraitDoesNotChange(history, 'redoable'): history.add(undo_item) self.assertEqual(history.now, 1) self.assertTrue(history.can_undo) self.assertFalse(history.can_redo) def test_add_end_extend(self): history = UndoHistory() example = SimpleExample(str_value='foo', value=10) undo_item = UndoItem( object=example, name='value', old_value=0, new_value=10, ) history.add( UndoItem( object=example, name='str_value', old_value='foo', new_value='bar', ) ) with self.assertTraitDoesNotChange(history, 'undoable'): with self.assertTraitDoesNotChange(history, 'redoable'): history.add(undo_item, extend=True) self.assertEqual(history.now, 1) self.assertTrue(history.can_undo) self.assertFalse(history.can_redo) def test_add_end_extend_merge(self): history = UndoHistory() example = SimpleExample(str_value='foo', value=10) undo_item = UndoItem( object=example, name='str_value', old_value='foo', new_value='baz', ) history.add( UndoItem( object=example, name='str_value', old_value='foo', new_value='bar', ) ) with self.assertTraitDoesNotChange(history, 'undoable'): with self.assertTraitDoesNotChange(history, 'redoable'): history.add(undo_item, extend=True) self.assertEqual(history.now, 1) self.assertTrue(history.can_undo) self.assertFalse(history.can_redo) # XXX this is testing private state to ensure merge happened self.assertEqual(len(history.stack._stack), 1) def test_add_middle(self): history = UndoHistory() example = SimpleExample(str_value='foo', value=10) undo_item = UndoItem( object=example, name='value', old_value=0, new_value=10, ) history.add( UndoItem( object=example, name='str_value', old_value='foo', new_value='bar', ) ) history.add( UndoItem( object=example, name='str_value', old_value='bar', new_value='wombat', ), ) history.undo() with self.assertTraitDoesNotChange(history, 'undoable'): with self.assertTraitChanges(history, 'redoable', count=1): history.add(undo_item) self.assertEqual(history.now, 2) self.assertTrue(history.can_undo) self.assertFalse(history.can_redo) def test_add_middle_mergeable(self): history = UndoHistory() example = SimpleExample(str_value='foo', value=10) undo_item = UndoItem( object=example, name='str_value', old_value='bar', new_value='baz', ) history.add( UndoItem( object=example, name='str_value', old_value='foo', new_value='bar', ) ) history.add( UndoItem( object=example, name='str_value', old_value='bar', new_value='wombat', ), ) history.undo() with self.assertTraitDoesNotChange(history, 'undoable'): with self.assertTraitChanges(history, 'redoable', count=1): history.add(undo_item) self.assertEqual(history.now, 1) self.assertTrue(history.can_undo) self.assertFalse(history.can_redo) def test_undo_last(self): history = UndoHistory() self._populate_history(history) with self.assertTraitDoesNotChange(history, 'undoable'): with self.assertTraitChanges(history, 'redoable', count=1): with self.assertTraitChanges(self._example, 'anytrait', count=1): # noqa: E501 history.undo() self.assertEqual(history.now, 2) self.assertTrue(history.can_undo) self.assertTrue(history.can_redo) def test_undo_first(self): history = UndoHistory() self._populate_history(history) history.undo() history.undo() with self.assertTraitDoesNotChange(history, 'redoable'): with self.assertTraitChanges(history, 'undoable', count=1): with self.assertTraitChanges(self._example, 'anytrait', count=1): # noqa: E501 history.undo() self.assertEqual(history.now, 0) self.assertFalse(history.can_undo) self.assertTrue(history.can_redo) def test_undo_middle(self): history = UndoHistory() self._populate_history(history) history.undo() with self.assertTraitDoesNotChange(history, 'redoable'): with self.assertTraitDoesNotChange(history, 'undoable'): with self.assertTraitChanges(self._example, 'anytrait', count=1): # noqa: E501 history.undo() self.assertEqual(history.now, 1) self.assertTrue(history.can_undo) self.assertTrue(history.can_redo) def test_redo_last(self): history = UndoHistory() self._populate_history(history) history.undo() with self.assertTraitChanges(history, 'redoable', count=1): with self.assertTraitDoesNotChange(history, 'undoable'): with self.assertTraitChanges(self._example, 'anytrait', count=1): # noqa: E501 history.redo() self.assertEqual(history.now, 3) self.assertTrue(history.can_undo) self.assertFalse(history.can_redo) def test_redo_middle(self): history = UndoHistory() self._populate_history(history) history.undo() history.undo() with self.assertTraitDoesNotChange(history, 'redoable'): with self.assertTraitDoesNotChange(history, 'undoable'): with self.assertTraitChanges(self._example, 'anytrait', count=1): # noqa: E501 history.redo() self.assertEqual(history.now, 2) self.assertTrue(history.can_undo) self.assertTrue(history.can_redo) def test_redo_first(self): history = UndoHistory() self._populate_history(history) history.undo() history.undo() history.undo() with self.assertTraitDoesNotChange(history, 'redoable'): with self.assertTraitChanges(history, 'undoable', count=1): with self.assertTraitChanges(self._example, 'anytrait', count=1): # noqa: E501 history.redo() self.assertEqual(history.now, 1) self.assertTrue(history.can_undo) self.assertTrue(history.can_redo) def test_revert_end(self): history = UndoHistory() self._populate_history(history) with self.assertTraitChanges(history, 'redoable', count=2): with self.assertTraitChanges(history, 'undoable', count=1): with self.assertTraitChanges(self._example, 'anytrait', count=3): # noqa: E501 history.revert() self.assertEqual(history.now, 0) self.assertFalse(history.can_undo) self.assertFalse(history.can_redo) def test_revert_middle(self): history = UndoHistory() self._populate_history(history) history.undo() history.undo() with self.assertTraitChanges(history, 'redoable', count=1): with self.assertTraitChanges(history, 'undoable', count=1): with self.assertTraitChanges(self._example, 'anytrait', count=1): # noqa: E501 history.revert() self.assertEqual(history.now, 0) self.assertFalse(history.can_undo) self.assertFalse(history.can_redo) def test_revert_start(self): history = UndoHistory() self._populate_history(history) history.undo() history.undo() history.undo() with self.assertTraitDoesNotChange(history, 'undoable'): with self.assertTraitChanges(history, 'redoable', count=1): with self.assertTraitDoesNotChange(self._example, 'anytrait'): history.revert() self.assertEqual(history.now, 0) self.assertFalse(history.can_undo) self.assertFalse(history.can_redo) def test_clear_end(self): history = UndoHistory() self._populate_history(history) with self.assertTraitDoesNotChange(history, 'redoable'): with self.assertTraitChanges(history, 'undoable', count=1): with self.assertTraitDoesNotChange(self._example, 'anytrait'): history.clear() self.assertEqual(history.now, 0) self.assertFalse(history.can_undo) self.assertFalse(history.can_redo) def test_clear_middle(self): history = UndoHistory() self._populate_history(history) history.undo() history.undo() with self.assertTraitChanges(history, 'redoable', count=1): with self.assertTraitChanges(history, 'undoable', count=1): with self.assertTraitDoesNotChange(self._example, 'anytrait'): history.clear() self.assertEqual(history.now, 0) self.assertFalse(history.can_undo) self.assertFalse(history.can_redo) def test_clear_start(self): history = UndoHistory() self._populate_history(history) history.undo() history.undo() history.undo() with self.assertTraitDoesNotChange(history, 'undoable'): with self.assertTraitChanges(history, 'redoable', count=1): with self.assertTraitDoesNotChange(self._example, 'anytrait'): history.clear() self.assertEqual(history.now, 0) self.assertFalse(history.can_undo) self.assertFalse(history.can_redo) def test_extend(self): history = UndoHistory() example = SimpleExample(str_value='foo', value=10) undo_item = UndoItem( object=example, name='value', old_value=0, new_value=10, ) history.add( UndoItem( object=example, name='str_value', old_value='foo', new_value='bar', ) ) with self.assertTraitDoesNotChange(history, 'undoable'): with self.assertTraitDoesNotChange(history, 'redoable'): history.extend(undo_item) self.assertEqual(history.now, 1) self.assertTrue(history.can_undo) self.assertFalse(history.can_redo) def test_extend_merge(self): history = UndoHistory() example = SimpleExample(str_value='foo', value=10) undo_item = UndoItem( object=example, name='str_value', old_value='foo', new_value='baz', ) history.add( UndoItem( object=example, name='str_value', old_value='foo', new_value='bar', ) ) with self.assertTraitDoesNotChange(history, 'undoable'): with self.assertTraitDoesNotChange(history, 'redoable'): history.extend(undo_item) self.assertEqual(history.now, 1) self.assertTrue(history.can_undo) self.assertFalse(history.can_redo) # XXX this is testing private state to ensure merge happened self.assertEqual(len(history.stack._stack), 1) def test_general_command_do(self): history = UndoHistory() command = DummyCommand() history.add(command) self.assertEqual(command.data, "do") @unittest.skipIf(no_gui_test_assistant, "No GuiTestAssistant") class TestEditorUndo(BaseTestMixin, GuiTestAssistant, unittest.TestCase): def setUp(self): BaseTestMixin.setUp(self) GuiTestAssistant.setUp(self) def tearDown(self): GuiTestAssistant.tearDown(self) BaseTestMixin.tearDown(self) def check_history(self, editor, expected_history_now, expected_history_length): # XXX this is testing private state return ( editor.ui.history.now == expected_history_now and len(editor.ui.history.stack._stack) == expected_history_length ) def undo(self, editor): self.gui.invoke_later(editor.ui.history.undo) self.event_loop_helper.event_loop_with_timeout() def redo(self, editor): self.gui.invoke_later(editor.ui.history.redo) self.event_loop_helper.event_loop_with_timeout() def test_undo(self): editor = create_editor() editor.prepare(None) editor.ui.history = UndoHistory() self.assertEqual(editor.old_value, "test") # Enter 'one' followed by 'two' with editor.updating_value(): self.gui.set_trait_later(editor.control, "control_value", "one") self.gui.set_trait_later(editor.control, "control_value", "two") # Perform an UNDO self.undo(editor) # Expect 2 items in history and pointer at first item self.assertEventuallyTrue(editor, "ui", functools.partial(self.check_history, expected_history_now=1, expected_history_length=2), timeout=5.0) # Perform a REDO self.redo(editor) # Expect 2 items in history and pointer at second item self.assertEventuallyTrue(editor, "ui", functools.partial(self.check_history, expected_history_now=2, expected_history_length=2), timeout=5.0) # Enter 'three' with editor.updating_value(): self.gui.set_trait_later(editor.control, "control_value", "three") # Perform an UNDO self.undo(editor) # Expect 3 items in history and pointer at second item self.assertEventuallyTrue(editor, "ui", functools.partial(self.check_history, expected_history_now=2, expected_history_length=3), timeout=5.0) # Enter 'four' with editor.updating_value(): self.gui.set_trait_later(editor.control, "control_value", "four") self.event_loop_helper.event_loop_with_timeout() # Expect 3 items in history and pointer at second item # Note: Modifying the history after an UNDO, clears the future, # hence, we expect 3 items in the history, not 4 self.assertEventuallyTrue(editor, "ui", functools.partial(self.check_history, expected_history_now=3, expected_history_length=3), timeout=5.0) # The following sequence after modifying the history had caused # the application to hang, verify it. # Perform an UNDO self.undo(editor) self.undo(editor) self.redo(editor) # Expect 3 items in history and pointer at second item self.assertEventuallyTrue(editor, "ui", functools.partial(self.check_history, expected_history_now=2, expected_history_length=3), timeout=5.0) traitsui-7.2.1/traitsui/tests/test_labels.py0000644000076500000240000001777014046644454021704 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! """ Test the creation and layout of labels. """ import unittest from traits.has_traits import HasTraits from traits.trait_types import Bool, Str from traitsui.view import View from traitsui.item import Item from traitsui.group import VGroup, HGroup from traitsui.tests._tools import ( BaseTestMixin, create_ui, is_control_enabled, is_qt, requires_toolkit, reraise_exceptions, ToolkitName, ) _DIALOG_WIDTH = 500 class ShowRightLabelsDialog(HasTraits): """ Dialog with labels on the left/right to test the label text. """ bool_item = Bool(True) traits_view = View( VGroup( VGroup(Item("bool_item"), show_left=False), VGroup(Item("bool_item"), show_left=True), ) ) class HResizeTestDialog(HasTraits): """ Dialog with checkbox and text elements and labels on the right. We test the separation between element and label in HGroups. """ bool_item = Bool(True) txt_item = Str() traits_view = View( VGroup( HGroup(Item("bool_item", springy=True), show_left=False), VGroup(Item("txt_item", resizable=True), show_left=False), ), width=_DIALOG_WIDTH, height=100, resizable=True, ) class VResizeTestDialog(HasTraits): """ Dialog with checkbox and text elements and labels on the right. We test the separation between element and label in VGroups. """ bool_item = Bool(True) txt_item = Str() traits_view = View( VGroup( VGroup(Item("bool_item", resizable=True), show_left=False), VGroup(Item("txt_item", resizable=True), show_left=False), ), width=_DIALOG_WIDTH, height=100, resizable=True, ) class NoLabelResizeTestDialog(HasTraits): """ Test the combination show_label=False, show_left=False. """ bool_item = Bool(True) traits_view = View( VGroup( Item("bool_item", resizable=True, show_label=False), show_left=False, ), resizable=True, ) class EnableWhenDialog(HasTraits): """ Test labels for enable when. """ bool_item = Bool(True) labelled_item = Str("test") unlabelled_item = Str("test") traits_view = View( VGroup( Item("bool_item"), Item("labelled_item", enabled_when="bool_item"), Item( "unlabelled_item", enabled_when="bool_item", show_label=False ), ), resizable=True, ) class TestLabels(BaseTestMixin, unittest.TestCase): def setUp(self): BaseTestMixin.setUp(self) def tearDown(self): BaseTestMixin.tearDown(self) @requires_toolkit([ToolkitName.qt]) def test_qt_show_labels_right_without_colon(self): # Behavior: traitsui should not append a colon ':' to labels # that are shown to the *right* of the corresponding elements from pyface import qt dialog = ShowRightLabelsDialog() with reraise_exceptions(), \ create_ui(dialog) as ui: # get reference to label objects labels = ui.control.findChildren(qt.QtGui.QLabel) # the first is shown to the right, so no colon self.assertFalse(labels[0].text().endswith(":")) # the second is shown to the right, it should have a colon self.assertTrue(labels[1].text().endswith(":")) def _test_qt_labels_right_resizing(self, dialog_class): # Bug: In the Qt backend, resizing a checkbox element with a label on # the right resizes the checkbox, even though it cannot be. # The final effect is that the label remains attached to the right # margin, with a big gap between it and the checkbox. In this case, the # label should be made resizable instead. # On the other hand, a text element should keep the current behavior # and resize. from pyface import qt with reraise_exceptions(), \ create_ui(dialog_class()) as ui: # all labels labels = ui.control.findChildren(qt.QtGui.QLabel) # the checkbox and its label should be close to one another; the # size of the checkbox should be small checkbox_label = labels[0] checkbox = ui.control.findChild(qt.QtGui.QCheckBox) # horizontal space between checkbox and label should be small h_space = checkbox_label.x() - checkbox.x() self.assertLess(h_space, 100) # and the checkbox size should also be small self.assertLess(checkbox.width(), 100) # the text item and its label should be close to one another; the # size of the text item should be large text_label = labels[0] text = ui.control.findChild(qt.QtGui.QLineEdit) # horizontal space between text and label should be small h_space = text_label.x() - text.x() self.assertLess(h_space, 100) # and the text item size should be large self.assertGreater(text.width(), _DIALOG_WIDTH - 200) # the size of the window should still be 500 self.assertEqual(ui.control.width(), _DIALOG_WIDTH) @requires_toolkit([ToolkitName.qt]) def test_qt_labels_right_resizing_vertical(self): self._test_qt_labels_right_resizing(VResizeTestDialog) @requires_toolkit([ToolkitName.qt]) def test_qt_labels_right_resizing_horizontal(self): self._test_qt_labels_right_resizing(HResizeTestDialog) @requires_toolkit([ToolkitName.qt, ToolkitName.wx]) def test_labels_enabled_when(self): # Behaviour: label should enable/disable along with editor dialog = EnableWhenDialog() with reraise_exceptions(), \ create_ui(dialog) as ui: labelled_editor = ui.get_editors("labelled_item")[0] if is_qt(): unlabelled_editor = ui.get_editors("unlabelled_item")[0] self.assertIsNone(unlabelled_editor.label_control) self.assertTrue(is_control_enabled(labelled_editor.label_control)) dialog.bool_item = False self.assertFalse(is_control_enabled(labelled_editor.label_control)) dialog.bool_item = True @requires_toolkit([ToolkitName.qt, ToolkitName.wx]) class TestAnyToolkit(BaseTestMixin, unittest.TestCase): """ Toolkit-agnostic tests for labels with different orientations.""" def setUp(self): BaseTestMixin.setUp(self) def tearDown(self): BaseTestMixin.tearDown(self) def test_group_show_right_labels(self): with reraise_exceptions(), \ create_ui(ShowRightLabelsDialog()): pass def test_horizontal_resizable_and_labels(self): with reraise_exceptions(), \ create_ui(HResizeTestDialog()): pass def test_all_resizable_with_labels(self): with reraise_exceptions(), \ create_ui(VResizeTestDialog()): pass def test_show_right_with_no_label(self): # Bug: If one set show_left=False, show_label=False on a non-resizable # item like a checkbox, the Qt backend tried to set the label's size # policy and failed because label=None. with reraise_exceptions(), \ create_ui(NoLabelResizeTestDialog()): pass def test_enable_when_flag(self): with reraise_exceptions(), \ create_ui(EnableWhenDialog()): pass if __name__ == "__main__": # Execute from command line for manual testing vw = HResizeTestDialog() vw.configure_traits() traitsui-7.2.1/traitsui/tests/test_tree_node.py0000644000076500000240000000276614046644454022405 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! """ Test cases for the TreeNode object. """ import unittest from traits.api import HasStrictTraits, List, Str, This from traits.testing.api import UnittestTools from traitsui.api import TreeNode from traitsui.tests._tools import BaseTestMixin class DummyModel(HasStrictTraits): """ Dummy model with children. """ name = Str() children = List(This) class TestTreeNode(BaseTestMixin, UnittestTools, unittest.TestCase): def setUp(self): BaseTestMixin.setUp(self) def tearDown(self): BaseTestMixin.tearDown(self) def test_insert_child(self): # Regression test for #559 model = DummyModel( name="Parent", children=[DummyModel(name="Child0"), DummyModel(name="Child2")], ) node = TreeNode(children="children", node_for=[DummyModel]) node.insert_child(model, 1, DummyModel(name="Child1")) # Assert self.assertEqual(len(model.children), 3) for i in range(3): self.assertEqual(model.children[i].name, "Child{}".format(i)) if __name__ == "__main__": unittest.run() traitsui-7.2.1/traitsui/tests/test_visible_when_layout.py0000644000076500000240000000651214046644454024505 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! """ Test the layout when element appear and disappear with visible_when. """ import unittest from traits.has_traits import HasTraits from traits.trait_types import Enum, Bool, Str from traitsui.group import HGroup, VGroup from traitsui.include import Include from traitsui.item import Item from traitsui.view import View from traitsui.tests._tools import ( BaseTestMixin, create_ui, get_dialog_size, requires_toolkit, reraise_exceptions, ToolkitName, ) _TEXT_WIDTH = 200 _TEXT_HEIGHT = 100 class VisibleWhenProblem(HasTraits): which = Enum("one", "two") on = Bool() txt = Str() onoff_group = HGroup( VGroup( Item("on", resizable=False, width=-100, height=-70), show_left=False, show_border=True, visible_when='which == "one"', ) ) text_group = VGroup( Item("txt", width=-_TEXT_WIDTH, height=-_TEXT_HEIGHT), visible_when='which == "two"', show_border=True, ) traits_view = View( Item("which"), VGroup(Include("onoff_group"), Include("text_group")), resizable=True, buttons=["OK", "Cancel"], ) # XXX Not fixing on wx - CJW # This layout issue was fixed for Qt, but not for Wx. # See https://github.com/enthought/traitsui/pull/56 # This is cosmetic, not trivial to fix, and the Wx backend is currently low # priority. Patches which make this work on Wx will be gladly accepted, but # there are no current plans to work on this. class TestVisibleWhenLayout(BaseTestMixin, unittest.TestCase): def setUp(self): BaseTestMixin.setUp(self) def tearDown(self): BaseTestMixin.tearDown(self) @requires_toolkit([ToolkitName.qt]) def test_visible_when_layout(self): # Bug: The size of a dialog that contains elements that are activated # by "visible_when" can end up being the *sum* of the sizes of the # elements, even though the elements are mutually exclusive (e.g., # a typical case is a dropbox that lets you select different cases). # The expected behavior is that the size of the dialog should be at # most the size of the largest combination of elements. dialog = VisibleWhenProblem() with reraise_exceptions(), create_ui(dialog) as ui: # have the dialog switch from group one to two and back to one dialog.which = "two" dialog.which = "one" # the size of the window should not be larger than the largest # combination (in this case, the `text_group` plus the `which` item size = get_dialog_size(ui.control) # leave some margin for labels, dropbox, etc self.assertLess(size[0], _TEXT_WIDTH + 100) self.assertLess(size[1], _TEXT_HEIGHT + 150) if __name__ == "__main__": # Execute from command line for manual testing vw = VisibleWhenProblem(txt="ciao") ui = vw.configure_traits() traitsui-7.2.1/traitsui/tests/test_color_column.py0000644000076500000240000000346614046644454023132 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! from unittest import TestCase from traits.api import HasTraits, Str, Int, List from traitsui.api import View, Group, Item, TableEditor, ObjectColumn, RGBColor from traitsui.color_column import ColorColumn from traitsui.tests._tools import ( BaseTestMixin, create_ui, requires_toolkit, reraise_exceptions, ToolkitName, ) class MyEntry(HasTraits): name = Str() value = Int(0) color = RGBColor() entry_view = View(Group(Item("name"), Item("value"), Item("color"))) my_editor = TableEditor( columns=[ ObjectColumn(name="name"), ObjectColumn(name="value"), ColorColumn(name="color", style="readonly"), ], orientation="vertical", show_toolbar=True, row_factory=MyEntry, ) class MyData(HasTraits): data_list = List(MyEntry) view = View(Item("data_list", editor=my_editor, show_label=False)) class TestColorColumn(BaseTestMixin, TestCase): def setUp(self): BaseTestMixin.setUp(self) def tearDown(self): BaseTestMixin.tearDown(self) @requires_toolkit([ToolkitName.qt, ToolkitName.wx]) def test_color_column(self): # Behaviour: column ui should display without error d1 = MyEntry(name="a", value=2, color=(1.0, 0.3, 0.1)) d2 = MyEntry(name="b", value=3, color=(0.1, 0.0, 0.9)) data = MyData(data_list=[d1, d2]) with reraise_exceptions(), create_ui(data): pass traitsui-7.2.1/traitsui/tests/test_theme.py0000644000076500000240000000364414046644454021537 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! import pickle import unittest from unittest.mock import patch from traitsui.tests._tools import BaseTestMixin, requires_toolkit, ToolkitName from traitsui.theme import Theme class TestTheme(BaseTestMixin, unittest.TestCase): def setUp(self): BaseTestMixin.setUp(self) self.theme = Theme() def tearDown(self): BaseTestMixin.tearDown(self) def test_theme_pickling(self): # A regression test for issue enthought/traitsui#825 pickle.dumps(self.theme) @requires_toolkit([ToolkitName.wx]) def test_theme_content_color_default(self): import wx self.assertEqual(self.theme.content_color, wx.BLACK) def test_theme_content_color_setter_getter(self): self.theme.content_color = "red" self.assertEqual(self.theme.content_color, "red") @requires_toolkit([ToolkitName.wx]) def test_theme_label_color_default(self): import wx self.assertEqual(self.theme.label_color, wx.BLACK) def test_theme_label_color_setter_getter(self): self.theme.label_color = "red" self.assertEqual(self.theme.label_color, "red") @requires_toolkit([ToolkitName.wx]) def test_theme_get_image_slice(self): self.theme.image = "mock_image" with patch("traitsui.wx.image_slice.image_slice_for") as slice_func: self.theme.image_slice slice_func.assert_called_once() def test_theme_get_image_slice_none(self): self.theme.image = None self.assertIsNone(self.theme.image_slice) traitsui-7.2.1/traitsui/tests/test_layout.py0000644000076500000240000001235214046644454021746 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! """ Test the layout of elements is consistent with the layout parameters. """ import unittest from traits.api import Enum, HasTraits, Str from traitsui.item import Item, UItem from traitsui.view import View from traitsui.group import HGroup, VGroup from traitsui.testing.api import UITester from traitsui.tests._tools import ( BaseTestMixin, create_ui, requires_toolkit, reraise_exceptions, ToolkitName, ) _DIALOG_WIDTH = 500 _DIALOG_HEIGHT = 500 _TXT_WIDTH = 100 class MultipleTrait(HasTraits): """ An object with multiple traits to test layout and alignments.""" txt1 = Str("text1") txt2 = Str("text2") class VResizeDialog(HasTraits): txt = Str("hallo") traits_view = View( VGroup(Item("txt", width=_TXT_WIDTH, resizable=True)), width=_DIALOG_WIDTH, height=_DIALOG_HEIGHT, resizable=True, ) class HResizeDialog(HasTraits): txt = Str("hallo") traits_view = View( HGroup(Item("txt", width=_TXT_WIDTH, resizable=True)), width=_DIALOG_WIDTH, height=_DIALOG_HEIGHT, resizable=True, ) class ObjectWithResizeReadonlyItem(HasTraits): resizable_readonly_item = Enum("first", "second") def default_traits_view(self): return View( VGroup( UItem( "resizable_readonly_item", resizable=True, style="readonly", ), ), height=_DIALOG_HEIGHT, width=_DIALOG_WIDTH, ) class TestLayout(BaseTestMixin, unittest.TestCase): def setUp(self): BaseTestMixin.setUp(self) def tearDown(self): BaseTestMixin.tearDown(self) @requires_toolkit([ToolkitName.qt]) def test_qt_resizable_in_vgroup(self): # Behavior: Item.resizable controls whether a component can resize # along the non-layout axis of its group. In a VGroup, resizing should # work only in the horizontal direction. with reraise_exceptions(), \ create_ui(VResizeDialog()) as ui: editor, = ui.get_editors("txt") text = editor.control # horizontal size should be large self.assertGreater(text.width(), _DIALOG_WIDTH - 100) # vertical size should be unchanged self.assertLess(text.height(), 100) @requires_toolkit([ToolkitName.qt]) def test_qt_resizable_in_hgroup(self): # Behavior: Item.resizable controls whether a component can resize # along the non-layout axis of its group. In a HGroup, resizing should # work only in the vertical direction. with reraise_exceptions(), \ create_ui(HResizeDialog()) as ui: editor, = ui.get_editors("txt") text = editor.control # vertical size should be large self.assertGreater(text.height(), _DIALOG_HEIGHT - 100) # horizontal size should be unchanged # ??? maybe not: some elements (e.g., the text field) have # 'Expanding' as their default behavior # self.assertLess(text.width(), _TXT_WIDTH+100) # regression test for enthought/traitsui#1528 @requires_toolkit([ToolkitName.qt]) def test_qt_resizable_readonly_item(self): tester = UITester() with tester.create_ui(ObjectWithResizeReadonlyItem()) as ui: resizable_readonly_item = tester.find_by_name( ui, "resizable_readonly_item" ) # for resizable item expansion should occur in horizontal but not # vertical direction self.assertLess( resizable_readonly_item._target.control.height(), _DIALOG_HEIGHT ) self.assertEqual( resizable_readonly_item._target.control.width(), _DIALOG_WIDTH ) @requires_toolkit([ToolkitName.qt, ToolkitName.wx]) class TestOrientation(BaseTestMixin, unittest.TestCase): """ Toolkit-agnostic tests on the layout orientations.""" def setUp(self): BaseTestMixin.setUp(self) def tearDown(self): BaseTestMixin.tearDown(self) def test_vertical_layout(self): view = View( VGroup( Item("txt1"), Item("txt2"), ) ) with reraise_exceptions(), \ create_ui(MultipleTrait(), ui_kwargs=dict(view=view)): pass def test_horizontal_layout(self): # layout view = View( HGroup( Item("txt1"), Item("txt2"), ) ) with reraise_exceptions(), \ create_ui(MultipleTrait(), ui_kwargs=dict(view=view)): pass if __name__ == "__main__": # Execute from command line for manual testing vw = VResizeDialog() vw.configure_traits() traitsui-7.2.1/traitsui/tests/null_backend/0000755000076500000240000000000014046644526021436 5ustar aayresstaff00000000000000traitsui-7.2.1/traitsui/tests/null_backend/test_null_toolkit.py0000644000076500000240000000202314046644454025563 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! import unittest from traits.api import HasTraits, Int from traitsui.tests._tools import BaseTestMixin, requires_toolkit, ToolkitName class TestNullToolkit(BaseTestMixin, unittest.TestCase): def setUp(self): BaseTestMixin.setUp(self) def tearDown(self): BaseTestMixin.tearDown(self) @requires_toolkit([ToolkitName.null]) def test_configure_traits_error(self): """ Verify that configure_traits fails with NotImplementedError. """ class Test(HasTraits): x = Int() t = Test() with self.assertRaises(NotImplementedError): t.configure_traits() traitsui-7.2.1/traitsui/tests/null_backend/test_font_trait.py0000644000076500000240000000372414046644454025226 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! import unittest from traits.api import HasTraits from traitsui.toolkit_traits import Font from traitsui.tests._tools import BaseTestMixin, requires_toolkit, ToolkitName class TestFontTrait(BaseTestMixin, unittest.TestCase): def setUp(self): BaseTestMixin.setUp(self) def tearDown(self): BaseTestMixin.tearDown(self) @requires_toolkit([ToolkitName.null]) def test_font_trait_default(self): class Foo(HasTraits): font = Font() f = Foo() self.assertEqual(f.font, "10 pt Arial") @requires_toolkit([ToolkitName.null]) def test_font_trait_examples(self): """ An assigned font string is parsed, and the substrings are put in the order: point size, family, style, weight, underline, facename The words 'pt, 'point' and 'family' are ignored. """ class Foo(HasTraits): font = Font f = Foo(font="Qwerty 10") self.assertEqual(f.font, "10 pt Qwerty") f = Foo(font="nothing") self.assertEqual(f.font, "nothing") f = Foo(font="swiss family arial") self.assertEqual(f.font, "swiss arial") f = Foo(font="12 pt bold italic") self.assertEqual(f.font, "12 pt italic bold") f = Foo(font="123 Foo bar slant") self.assertEqual(f.font, "123 pt slant Foo bar") f = Foo(font="123 point Foo family bar slant") self.assertEqual(f.font, "123 pt slant Foo bar") f = Foo(font="16 xyzzy underline slant") self.assertEqual(f.font, "16 pt slant underline xyzzy") traitsui-7.2.1/traitsui/tests/null_backend/__init__.py0000644000076500000240000000000014046644454023535 0ustar aayresstaff00000000000000traitsui-7.2.1/traitsui/tests/ui_editors/0000755000076500000240000000000014046644526021163 5ustar aayresstaff00000000000000traitsui-7.2.1/traitsui/tests/ui_editors/test_data_frame_editor.py0000644000076500000240000004074314046644454026235 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! import unittest try: import numpy as np except ImportError: raise unittest.SkipTest("Can't import NumPy: skipping") else: from numpy.testing import assert_array_equal try: from pandas import DataFrame except ImportError: raise unittest.SkipTest("Can't import Pandas: skipping") from traits.api import Event, HasTraits, Instance from traitsui.item import Item from traitsui.ui_editors.data_frame_editor import ( DataFrameEditor, DataFrameAdapter, ) from traitsui.view import View from traitsui.tests._tools import ( BaseTestMixin, create_ui, requires_toolkit, reraise_exceptions, ToolkitName, ) class DataFrameViewer(HasTraits): data = Instance("pandas.core.frame.DataFrame") view = View(Item("data", editor=DataFrameEditor(), width=400)) format_mapping_view = View( Item( "data", editor=DataFrameEditor(formats={"X": "%05d", "Y": "%s"}), width=400, ) ) font_mapping_view = View( Item( "data", editor=DataFrameEditor(fonts={"X": "Courier 10 bold", "Y": "Swiss"}), width=400, ) ) columns_view = View( Item( "data", editor=DataFrameEditor(columns=["X", ("Zed", "Z"), "missing"]), # noqa width=400, ) ) DATA = [[0, 1, 2], [3, 4, 5], [6, 7, 8], [9, 10, 11]] def sample_data(): df = DataFrame( DATA, index=["one", "two", "three", "four"], columns=["X", "Y", "Z"] ) viewer = DataFrameViewer(data=df) return viewer def sample_data_numerical_index(): df = DataFrame(DATA, index=list(range(1, 5)), columns=["X", "Y", "Z"]) viewer = DataFrameViewer(data=df) return viewer def sample_text_data(): data = [[0, 1, "two"], [3, 4, "five"], [6, 7, "eight"], [9, 10, "eleven"]] df = DataFrame( data, index=["one", "two", "three", "four"], columns=["X", "Y", "Z"] ) viewer = DataFrameViewer(data=df) return viewer class TestDataFrameEditor(BaseTestMixin, unittest.TestCase): def setUp(self): BaseTestMixin.setUp(self) def tearDown(self): BaseTestMixin.tearDown(self) @requires_toolkit([ToolkitName.qt, ToolkitName.wx]) def test_adapter_get_item(self): viewer = sample_data() adapter = DataFrameAdapter() item_0_df = adapter.get_item(viewer, "data", 0) assert_array_equal(item_0_df.values, [[0, 1, 2]]) assert_array_equal(item_0_df.columns, ["X", "Y", "Z"]) self.assertEqual(item_0_df.index[0], "one") @requires_toolkit([ToolkitName.qt, ToolkitName.wx]) def test_adapter_empty_dataframe(self): data = DataFrame() viewer = DataFrameViewer(data=data) adapter = DataFrameAdapter() item_0_df = adapter.get_item(viewer, "data", 0) assert_array_equal(item_0_df.values, np.array([]).reshape(0, 0)) assert_array_equal(item_0_df.columns, []) @requires_toolkit([ToolkitName.qt, ToolkitName.wx]) def test_adapter_no_rows(self): data = DataFrame(columns=["X", "Y", "Z"]) viewer = DataFrameViewer(data=data) adapter = DataFrameAdapter() item_0_df = adapter.get_item(viewer, "data", 0) assert_array_equal(item_0_df.values, np.array([]).reshape(0, 3)) assert_array_equal(item_0_df.columns, ["X", "Y", "Z"]) @requires_toolkit([ToolkitName.qt, ToolkitName.wx]) def test_adapter_get_item_numerical(self): viewer = sample_data_numerical_index() adapter = DataFrameAdapter() item_0_df = adapter.get_item(viewer, "data", 0) assert_array_equal(item_0_df.values, [[0, 1, 2]]) assert_array_equal(item_0_df.columns, ["X", "Y", "Z"]) self.assertEqual(item_0_df.index[0], 1) @requires_toolkit([ToolkitName.qt, ToolkitName.wx]) def test_adapter_delete_start(self): viewer = sample_data() adapter = DataFrameAdapter() adapter.delete(viewer, "data", 0) data = viewer.data assert_array_equal(data.values, [[3, 4, 5], [6, 7, 8], [9, 10, 11]]) assert_array_equal(data.columns, ["X", "Y", "Z"]) assert_array_equal(data.index, ["two", "three", "four"]) @requires_toolkit([ToolkitName.qt, ToolkitName.wx]) def test_adapter_delete_start_numerical_index(self): viewer = sample_data_numerical_index() adapter = DataFrameAdapter() adapter.delete(viewer, "data", 0) data = viewer.data assert_array_equal(data.values, [[3, 4, 5], [6, 7, 8], [9, 10, 11]]) assert_array_equal(data.columns, ["X", "Y", "Z"]) assert_array_equal(data.index, [2, 3, 4]) @requires_toolkit([ToolkitName.qt, ToolkitName.wx]) def test_adapter_delete_middle(self): viewer = sample_data() adapter = DataFrameAdapter() adapter.delete(viewer, "data", 1) data = viewer.data assert_array_equal(data.values, [[0, 1, 2], [6, 7, 8], [9, 10, 11]]) assert_array_equal(data.columns, ["X", "Y", "Z"]) assert_array_equal(data.index, ["one", "three", "four"]) @requires_toolkit([ToolkitName.qt, ToolkitName.wx]) def test_adapter_delete_middle_numerical_index(self): viewer = sample_data_numerical_index() adapter = DataFrameAdapter() adapter.delete(viewer, "data", 1) data = viewer.data assert_array_equal(data.values, [[0, 1, 2], [6, 7, 8], [9, 10, 11]]) assert_array_equal(data.columns, ["X", "Y", "Z"]) assert_array_equal(data.index, [1, 3, 4]) @requires_toolkit([ToolkitName.qt, ToolkitName.wx]) def test_adapter_delete_end(self): viewer = sample_data() adapter = DataFrameAdapter() adapter.delete(viewer, "data", 3) data = viewer.data assert_array_equal(data.values, [[0, 1, 2], [3, 4, 5], [6, 7, 8]]) assert_array_equal(data.columns, ["X", "Y", "Z"]) assert_array_equal(data.index, ["one", "two", "three"]) @requires_toolkit([ToolkitName.qt, ToolkitName.wx]) def test_adapter_delete_end_numerical_index(self): viewer = sample_data_numerical_index() adapter = DataFrameAdapter() adapter.delete(viewer, "data", 3) data = viewer.data assert_array_equal(data.values, [[0, 1, 2], [3, 4, 5], [6, 7, 8]]) assert_array_equal(data.columns, ["X", "Y", "Z"]) assert_array_equal(data.index, [1, 2, 3]) @requires_toolkit([ToolkitName.qt, ToolkitName.wx]) def test_adapter_insert_start(self): viewer = sample_data() adapter = DataFrameAdapter() item = DataFrame( [[-3, -2, -1]], index=["new"], columns=["X", "Y", "Z"] ) adapter.insert(viewer, "data", 0, item) data = viewer.data assert_array_equal( data.values, [[-3, -2, -1], [0, 1, 2], [3, 4, 5], [6, 7, 8], [9, 10, 11]], ) assert_array_equal(data.columns, ["X", "Y", "Z"]) assert_array_equal(data.index, ["new", "one", "two", "three", "four"]) @requires_toolkit([ToolkitName.qt, ToolkitName.wx]) def test_adapter_insert_start_numerical_index(self): viewer = sample_data_numerical_index() adapter = DataFrameAdapter() item = DataFrame([[-3, -2, -1]], index=[0], columns=["X", "Y", "Z"]) adapter.insert(viewer, "data", 0, item) data = viewer.data assert_array_equal( data.values, [[-3, -2, -1], [0, 1, 2], [3, 4, 5], [6, 7, 8], [9, 10, 11]], ) assert_array_equal(data.columns, ["X", "Y", "Z"]) assert_array_equal(data.index, [0, 1, 2, 3, 4]) @requires_toolkit([ToolkitName.qt, ToolkitName.wx]) def test_adapter_insert_middle(self): viewer = sample_data() adapter = DataFrameAdapter() item = DataFrame( [[-3, -2, -1]], index=["new"], columns=["X", "Y", "Z"] ) adapter.insert(viewer, "data", 1, item) data = viewer.data assert_array_equal( data.values, [[0, 1, 2], [-3, -2, -1], [3, 4, 5], [6, 7, 8], [9, 10, 11]], ) assert_array_equal(data.columns, ["X", "Y", "Z"]) assert_array_equal(data.index, ["one", "new", "two", "three", "four"]) @requires_toolkit([ToolkitName.qt, ToolkitName.wx]) def test_adapter_insert_middle_numerical_index(self): viewer = sample_data_numerical_index() adapter = DataFrameAdapter() item = DataFrame([[-3, -2, -1]], index=[0], columns=["X", "Y", "Z"]) adapter.insert(viewer, "data", 1, item) data = viewer.data assert_array_equal( data.values, [[0, 1, 2], [-3, -2, -1], [3, 4, 5], [6, 7, 8], [9, 10, 11]], ) assert_array_equal(data.columns, ["X", "Y", "Z"]) assert_array_equal(data.index, [1, 0, 2, 3, 4]) @requires_toolkit([ToolkitName.qt, ToolkitName.wx]) def test_adapter_insert_end(self): viewer = sample_data() adapter = DataFrameAdapter() item = DataFrame( [[-3, -2, -1]], index=["new"], columns=["X", "Y", "Z"] ) adapter.insert(viewer, "data", 5, item) data = viewer.data assert_array_equal( data.values, [[0, 1, 2], [3, 4, 5], [6, 7, 8], [9, 10, 11], [-3, -2, -1]], ) assert_array_equal(data.columns, ["X", "Y", "Z"]) assert_array_equal(data.index, ["one", "two", "three", "four", "new"]) @requires_toolkit([ToolkitName.qt, ToolkitName.wx]) def test_adapter_insert_end_numerical_index(self): viewer = sample_data_numerical_index() adapter = DataFrameAdapter() item = DataFrame([[-3, -2, -1]], index=[0], columns=["X", "Y", "Z"]) adapter.insert(viewer, "data", 5, item) data = viewer.data assert_array_equal( data.values, [[0, 1, 2], [3, 4, 5], [6, 7, 8], [9, 10, 11], [-3, -2, -1]], ) assert_array_equal(data.columns, ["X", "Y", "Z"]) assert_array_equal(data.index, [1, 2, 3, 4, 0]) @requires_toolkit([ToolkitName.qt, ToolkitName.wx]) def test_data_frame_editor(self): viewer = sample_data() with reraise_exceptions(), create_ui(viewer): pass @requires_toolkit([ToolkitName.qt, ToolkitName.wx]) def test_data_frame_editor_alternate_adapter(self): class AlternateAdapter(DataFrameAdapter): pass alternate_adapter_view = View( Item( "data", editor=DataFrameEditor(adapter=AlternateAdapter()), width=400, ) ) viewer = sample_data() with reraise_exceptions(), \ create_ui(viewer, dict(view=alternate_adapter_view)): pass @requires_toolkit([ToolkitName.qt, ToolkitName.wx]) def test_data_frame_editor_numerical_index(self): viewer = sample_data_numerical_index() with reraise_exceptions(), create_ui(viewer): pass @requires_toolkit([ToolkitName.qt, ToolkitName.wx]) def test_data_frame_editor_text_data(self): viewer = sample_text_data() with reraise_exceptions(), create_ui(viewer): pass @requires_toolkit([ToolkitName.qt, ToolkitName.wx]) def test_data_frame_editor_format_mapping(self): viewer = sample_data() with reraise_exceptions(), \ create_ui(viewer, dict(view=format_mapping_view)): pass @requires_toolkit([ToolkitName.qt, ToolkitName.wx]) def test_data_frame_editor_font_mapping(self): viewer = sample_data() with reraise_exceptions(), \ create_ui(viewer, dict(view=font_mapping_view)): pass @requires_toolkit([ToolkitName.qt, ToolkitName.wx]) def test_data_frame_editor_columns(self): viewer = sample_data() with reraise_exceptions(), \ create_ui(viewer, dict(view=columns_view)): pass @requires_toolkit([ToolkitName.qt, ToolkitName.wx]) def test_data_frame_editor_with_update_refresh(self): class DataFrameViewer(HasTraits): data = Instance(DataFrame) df_updated = Event() view = View( Item("data", editor=DataFrameEditor(update="df_updated")) ) df = DataFrame( DATA, index=["one", "two", "three", "four"], columns=["X", "Y", "Z"] ) viewer = DataFrameViewer(data=df) with reraise_exceptions(), create_ui(viewer): viewer.df_updated = True @requires_toolkit([ToolkitName.qt, ToolkitName.wx]) def test_data_frame_editor_with_refresh(self): class DataFrameViewer(HasTraits): data = Instance(DataFrame) df_refreshed = Event() view = View( Item("data", editor=DataFrameEditor(refresh="df_refreshed")) ) df = DataFrame( DATA, index=["one", "two", "three", "four"], columns=["X", "Y", "Z"] ) viewer = DataFrameViewer(data=df) with reraise_exceptions(), create_ui(viewer): viewer.df_refreshed = True @requires_toolkit([ToolkitName.qt, ToolkitName.wx]) def test_data_frame_editor_multi_select(self): view = View( Item("data", editor=DataFrameEditor(multi_select=True), width=400) ) viewer = sample_data() with reraise_exceptions(), \ create_ui(viewer, dict(view=view)): pass @requires_toolkit([ToolkitName.qt, ToolkitName.wx]) def test_adapter_set_text(self): viewer = sample_data() columns = [(column, column) for column in viewer.data.columns] adapter = DataFrameAdapter(columns=columns) adapter.set_text(viewer, 'data', 0, 0, '10') item_0_df = adapter.get_item(viewer, 'data', 0) assert_array_equal(item_0_df.values, [[10, 1, 2]]) assert_array_equal(item_0_df.columns, ['X', 'Y', 'Z']) @requires_toolkit([ToolkitName.qt, ToolkitName.wx]) def test_adapter_set_text_invalid(self): viewer = sample_data() columns = [(column, column) for column in viewer.data.columns] adapter = DataFrameAdapter(columns=columns) adapter.set_text(viewer, 'data', 0, 0, 'invalid') # expect no error, and values unchanged item_0_df = adapter.get_item(viewer, 'data', 0) assert_array_equal(item_0_df.values, [[0, 1, 2]]) assert_array_equal(item_0_df.columns, ['X', 'Y', 'Z']) @requires_toolkit([ToolkitName.qt, ToolkitName.wx]) def test_adapter_set_index_text(self): viewer = sample_data() columns = ( [('', 'index')] + [(column, column) for column in viewer.data.columns] ) adapter = DataFrameAdapter(columns=columns) adapter.set_text(viewer, 'data', 0, 0, 'NewIndex') item_0_df = adapter.get_item(viewer, 'data', 0) assert_array_equal(item_0_df.values, [[0, 1, 2]]) assert_array_equal(item_0_df.columns, ['X', 'Y', 'Z']) self.assertEqual(item_0_df.index[0], 'NewIndex') @requires_toolkit([ToolkitName.qt, ToolkitName.wx]) def test_adapter_set_index_text_numeric(self): viewer = sample_data_numerical_index() columns = ( [('', 'index')] + [(column, column) for column in viewer.data.columns] ) adapter = DataFrameAdapter(columns=columns) adapter.set_text(viewer, 'data', 0, 0, 100) item_0_df = adapter.get_item(viewer, 'data', 0) assert_array_equal(item_0_df.values, [[0, 1, 2]]) assert_array_equal(item_0_df.columns, ['X', 'Y', 'Z']) self.assertEqual(item_0_df.index[0], 100) @requires_toolkit([ToolkitName.qt, ToolkitName.wx]) def test_adapter_set_index_text_numeric_invalid(self): viewer = sample_data_numerical_index() columns = ( [('', 'index')] + [(column, column) for column in viewer.data.columns] ) adapter = DataFrameAdapter(columns=columns) adapter.set_text(viewer, 'data', 0, 0, 'invalid') item_0_df = adapter.get_item(viewer, 'data', 0) assert_array_equal(item_0_df.values, [[0, 1, 2]]) assert_array_equal(item_0_df.columns, ['X', 'Y', 'Z']) self.assertEqual(item_0_df.index[0], 1) traitsui-7.2.1/traitsui/tests/ui_editors/__init__.py0000644000076500000240000000000014046644454023262 0ustar aayresstaff00000000000000traitsui-7.2.1/traitsui/tests/test_toolkit_traits.py0000644000076500000240000000147014046644454023503 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! import unittest from traits.api import HasTraits from traitsui.toolkit_traits import RGBColor class HasRGBColor(HasTraits): color = RGBColor() class TestRGBColor(unittest.TestCase): # regression test for enthought/traitsui#1531 def test_hex_converion(self): has_rgb_color = HasRGBColor() has_rgb_color.color = 0x000000 self.assertEqual(has_rgb_color.color, (0.0, 0.0, 0.0)) traitsui-7.2.1/traitsui/tests/test_splitter_prefs_restored.py0000644000076500000240000001164614046644454025412 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! """ Test the storing/restoration of split group state. """ import unittest from traits.api import Int from traitsui.api import Action, Group, Handler, HSplit, Item, View from traitsui.tests._tools import ( BaseTestMixin, create_ui, requires_toolkit, ToolkitName, ) class TmpClass(Handler): aa = Int(10) bb = Int(100) def init(self, ui_info): super().init(ui_info) self.save_prefs(ui_info) def reset_prefs(self, ui_info): """ Reset the split to be equally wide. """ control = getattr(ui_info, "h_split").control width = control.width() control.moveSplitter(width / 2, 1) def restore_prefs(self, ui_info): """ Apply the last saved ui preferences. """ ui_info.ui.set_prefs(self._prefs) def save_prefs(self, ui_info): """ Save the current ui preferences. """ self._prefs = ui_info.ui.get_prefs() def collapse_right(self, ui_info): """ Collapse the split to the right. """ control = getattr(ui_info, "h_split").control width = control.width() control.moveSplitter(width, 1) def collapse_left(self, ui_info): """ Collapse the split to the left. """ control = getattr(ui_info, "h_split").control control.moveSplitter(0, 1) view = View( HSplit( Group(Item("aa", resizable=True, width=50), show_border=True), Group(Item("bb", width=100), show_border=True), id="h_split", ), resizable=True, # add actions to test manually. buttons=[ Action(name="collapse left", action="collapse_left"), Action(name="collapse right", action="collapse_right"), Action(name="reset_layout", action="reset_prefs"), Action(name="restore layout", action="restore_prefs"), Action(name="save layout", action="save_prefs"), ], height=300, id="test_view_for_splitter_pref_restore", ) class TestSplitterPrefsRestored(BaseTestMixin, unittest.TestCase): def setUp(self): BaseTestMixin.setUp(self) def tearDown(self): BaseTestMixin.tearDown(self) @requires_toolkit([ToolkitName.qt]) def test_splitter_prefs_are_restored(self): # the keys for the splitter prefs (i.e. prefs['h_split']['structure']) splitter_keys = ("h_split", "structure") def _get_nattr(obj, attr_names=splitter_keys): """ Utility function to get a value from a nested dict. """ if obj is None or len(attr_names) == 0: return obj return _get_nattr( obj.get(attr_names[0], None), attr_names=attr_names[1:] ) with create_ui(TmpClass()) as ui: handler = ui.handler # set the layout to a known state handler.reset_prefs(ui.info) # save the current layout and check (sanity test) handler.save_prefs(ui.info) self.assertEqual( _get_nattr(handler._prefs), _get_nattr(ui.get_prefs()) ) # collapse splitter to right and check prefs has been updated handler.collapse_right(ui.info) self.assertNotEqual( _get_nattr(handler._prefs), _get_nattr(ui.get_prefs()) ) # restore the original layout. handler.restore_prefs(ui.info) self.assertEqual( _get_nattr(handler._prefs), _get_nattr(ui.get_prefs()) ) # collapse to left and check handler.collapse_left(ui.info) self.assertNotEqual( _get_nattr(handler._prefs), _get_nattr(ui.get_prefs()) ) # save the collapsed layout handler.save_prefs(ui.info) collapsed_splitter_state = _get_nattr(handler._prefs) self.assertEqual( _get_nattr(handler._prefs), _get_nattr(ui.get_prefs()) ) # create a new ui and check that the splitter remembers the last state # (collapsed) with create_ui(TmpClass()) as ui2: self.assertEqual( collapsed_splitter_state, _get_nattr(ui2.get_prefs()) ) if __name__ == "__main__": # Execute from command line for manual testing # start a session to modify the default layout. TmpClass().configure_traits() # check visually if the layout changes from the prev. session is # restored. TmpClass().configure_traits() traitsui-7.2.1/traitsui/tests/test_ui_traits.py0000644000076500000240000000547314046644454022442 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! import unittest from traits.api import HasStrictTraits from traitsui import ui_traits from traitsui.tests._tools import BaseTestMixin class ObjectWithUITraits(HasStrictTraits): orientation = ui_traits.Orientation style = ui_traits.EditorStyle layout = ui_traits.Layout an_object = ui_traits.AnObject dock_style = ui_traits.DockStyle view_status = ui_traits.ViewStatus() class TestUITraits(BaseTestMixin, unittest.TestCase): def setUp(self): BaseTestMixin.setUp(self) def tearDown(self): BaseTestMixin.tearDown(self) def test_orientation(self): obj = ObjectWithUITraits() self.assertEqual(obj.orientation, "vertical") obj.orientation = "h" self.assertEqual(obj.orientation, "horizontal") def test_editor_style(self): obj = ObjectWithUITraits() self.assertEqual(obj.style, "simple") obj.style = "r" self.assertEqual(obj.style, "readonly") def test_layout(self): obj = ObjectWithUITraits() self.assertEqual(obj.layout, "normal") def test_an_object(self): obj = ObjectWithUITraits() obj.an_object = "[1,2,3][0]" self.assertEqual(obj.an_object, "[1,2,3][0]") actual = eval(obj.an_object_, {}, {}) self.assertEqual(actual, 1) class TestStatusItem(BaseTestMixin, unittest.TestCase): def setUp(self): BaseTestMixin.setUp(self) def tearDown(self): BaseTestMixin.tearDown(self) def test_init(self): item = ui_traits.StatusItem( name="some_trait_name", width=10.0, ) self.assertEqual(item.name, "some_trait_name") def test_init_with_name_and_value(self): # value trumps name. Not sure why but this is the way it is. item = ui_traits.StatusItem( name="some_trait_name", width=10.0, value="some_other_name", ) self.assertEqual(item.name, "some_other_name") class TestViewStatus(BaseTestMixin, unittest.TestCase): def setUp(self): BaseTestMixin.setUp(self) def tearDown(self): BaseTestMixin.tearDown(self) def test_init(self): obj = ObjectWithUITraits() obj.view_status = "some_name" self.assertEqual(len(obj.view_status), 1) status, = obj.view_status self.assertIsInstance(status, ui_traits.StatusItem) self.assertEqual(status.name, "some_name") traitsui-7.2.1/traitsui/tests/test_regression.py0000644000076500000240000000312514046644454022607 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! """ General regression tests for various fixed bugs. """ import unittest from traits.api import DelegatesTo, Event, HasTraits, Instance, Undefined from traitsui.api import Editor, TextEditor from traitsui.tests._tools import ( BaseTestMixin, ) class Parent(HasTraits): button = Event() class Child(HasTraits): parent = Instance(Parent) button = DelegatesTo("parent") class TestRegression(BaseTestMixin, unittest.TestCase): def setUp(self): BaseTestMixin.setUp(self) def tearDown(self): BaseTestMixin.tearDown(self) def test_editor_on_delegates_to_event(self): """ Make sure that DelegatesTo on Events passes Editor creation. """ child = Child(parent=Parent()) editor = Editor( None, factory=TextEditor(), object=child, name="button" ) self.assertIs(editor.old_value, Undefined) def test_attribute_error(self): """ Make sure genuine AttributeErrors raise on Editor creation. """ self.assertRaises( AttributeError, Editor, None, factory=TextEditor(), object=Parent(), name="not_a_trait", ) traitsui-7.2.1/traitsui/tests/test_controller.py0000644000076500000240000000260614046644454022615 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! """ Test cases for the Controller class. """ import unittest from traits.api import HasTraits, Instance, Str from traitsui.api import Controller from traitsui.tests._tools import BaseTestMixin class FooModel(HasTraits): my_str = Str("hallo") class FooController(Controller): """ Test dialog that does nothing useful.""" model = Instance(FooModel) def _model_default(self): return FooModel(my_str="meh") class TestController(BaseTestMixin, unittest.TestCase): def setUp(self): BaseTestMixin.setUp(self) def tearDown(self): BaseTestMixin.tearDown(self) def test_construction(self): # check default constructor. dialog = FooController() self.assertIsNotNone(dialog.model) self.assertEqual(dialog.model.my_str, "meh") # check initialization when `model` is explcitly passed in. new_model = FooModel() dialog = FooController(model=new_model) self.assertIs(dialog.model, new_model) traitsui-7.2.1/traitsui/ui_info.py0000644000076500000240000000320114046644454017651 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! """ Defines the UIInfo class used to represent the object and editor content of an active Traits-based user interface. """ from traits.api import HasPrivateTraits, Instance, Constant, Bool class UIInfo(HasPrivateTraits): """ Represents the object and editor content of an active Traits-based user interface """ # ------------------------------------------------------------------------- # Trait definitions: # ------------------------------------------------------------------------- #: Bound to a UI object at UIInfo construction time ui = Instance("traitsui.ui.UI", allow_none=True) #: Indicates whether the UI has finished initialization initialized = Bool(False) def bind_context(self): """ Binds all of the associated context objects as traits of the object. """ for name, value in self.ui.context.items(): self.bind(name, value) def bind(self, name, value, id=None): """ Binds a name to a value if it is not already bound. """ if id is None: id = name if not hasattr(self, name): self.add_trait(name, Constant(value)) if id != "": self.ui._names.append(id) traitsui-7.2.1/traitsui/basic_editor_factory.py0000644000076500000240000000420414046644454022403 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! """ Defines the BasicEditorFactory class, which allows creating editor factories that use the same class for creating all editor styles. """ from traits.api import Any from .editor_factory import EditorFactory class BasicEditorFactory(EditorFactory): """ Base class for editor factories that use the same class for creating all editor styles. """ # ------------------------------------------------------------------------- # Trait definitions: # ------------------------------------------------------------------------- # Editor class to be instantiated klass = Any() # ------------------------------------------------------------------------- # Property getters. # ------------------------------------------------------------------------- def _get_simple_editor_class(self): """ Returns the editor class to use for "simple" style views. Overridden to return the value of the 'klass' trait. """ return self.klass def _get_custom_editor_class(self): """ Returns the editor class to use for "custom" style views. Overridden to return the value of the 'klass' trait. """ return self.klass def _get_text_editor_class(self): """ Returns the editor class to use for "text" style views. Overridden to return the value of the 'klass' trait. """ return self.klass def _get_readonly_editor_class(self): """ Returns the editor class to use for "readonly" style views. Overridden to return the value of the 'klass' trait. """ return self.klass def __call__(self, *args, **traits): new = self.clone_traits() new.trait_set(**traits) return new traitsui-7.2.1/traitsui/__init__.py0000644000076500000240000000615014046644465017770 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! try: from traitsui._version import full_version as __version__ except ImportError: __version__ = "not-built" __requires__ = ["traits>=6.2.0", "pyface>=7.3.0"] __extras_require__ = { "wx": ["wxpython>=4", "numpy"], "pyqt": ["pyqt>=4.10", "pygments"], "pyqt5": ["pyqt5", "pygments"], "pyside2": ["pyside2", "shiboken2", "pygments"], "demo": [ # to be deprecated, see enthought/traitsui#950 "configobj", "docutils", ], "examples": [ # Dependencies for examples "apptools", "chaco", # for a very simple example, see enthought/traitsui#1139 "h5py", "numpy", "pandas", "tables", ], "editors": [ # Optional dependencies for certain editors which may not be needed by # projects. If they are absent, ``traitsui.api``` should still be # importable and the relevant tests should be skipped. "numpy", # For ArrayEditor and DataFrameEditor "pandas", # For DataFrameEditor ], "test": [ # Dependencies for running test suites. "packaging", "numpy" ], } # ============================= Test Loader ================================== def load_tests(loader, standard_tests, pattern): """ Custom test loading function that enables test filtering using regex exclusion pattern. Parameters ---------- loader : unittest.TestLoader The instance of test loader standard_tests : unittest.TestSuite Tests that would be loaded by default from this module (no tests) pattern : str An inclusion pattern used to match test files (test*.py default) Returns ------- filtered_package_tests : unittest.TestSuite TestSuite representing all package tests that did not match specified exclusion pattern. """ from os.path import dirname from unittest import TestSuite from traits.etsconfig.api import ETSConfig from traitsui.tests._tools import filter_tests # Make sure the right toolkit is up and running before importing tests from traitsui.toolkit import toolkit toolkit() if ETSConfig.toolkit.startswith("qt"): exclusion_pattern = "wx" elif ETSConfig.toolkit == "wx": exclusion_pattern = "qt" else: exclusion_pattern = "(wx|qt)" this_dir = dirname(__file__) package_tests = loader.discover(start_dir=this_dir, pattern=pattern) if exclusion_pattern is None: return package_tests filtered_package_tests = TestSuite() for test_suite in package_tests: filtered_test_suite = filter_tests(test_suite, exclusion_pattern) filtered_package_tests.addTest(filtered_test_suite) return filtered_package_tests traitsui-7.2.1/traitsui/color_column.py0000644000076500000240000000373414046644454020727 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! """ Table column object for RGBColor traits. """ from traitsui.table_column import ObjectColumn class ColorColumn(ObjectColumn): """ Table column object for RGBColor traits. """ #: For display by default. style = "readonly" # -- ObjectColumn Overrides ----------------------------------------------- def get_cell_color(self, object): """ Returns the cell background color for the column for a specified object. """ color_values = getattr(object, self.name + "_", None) if color_values is None: tk_color = super().get_cell_color(object) elif isinstance(color_values, tuple): tk_color = self._as_int_rgb_tuple(color_values) else: tk_color = color_values return tk_color def get_value(self, object): """ Gets the value of the column for a specified object. """ value = getattr(self.get_object(object), self.name, "") if isinstance(value, tuple): value = self._float_rgb_tuple_to_str(value) elif not isinstance(value, str): value = "" return value # -- Private Methods ------------------------------------------------------ def _as_int_rgb_tuple(self, color_values): """ Returns object color as RGB integers. """ return tuple(int(255 * v + 0.5) for v in color_values) def _float_rgb_tuple_to_str(self, color_values): """ Returns object color as RGB floats. """ csv = ", ".join("{:5.3f}".format(x) for x in color_values) return "({})".format(csv) traitsui-7.2.1/traitsui/message.py0000644000076500000240000000763214046644454017661 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! """ Displays a message to the user as a modal window. """ from traits.api import HasPrivateTraits, Str, Float from .view import View from .group import HGroup from .item import Item, spring from pyface.timer.api import do_after # ------------------------------------------------------------------------- # 'Message' class: # ------------------------------------------------------------------------- class Message(HasPrivateTraits): # ------------------------------------------------------------------------- # Trait definitions: # ------------------------------------------------------------------------- #: The message to be displayed message = Str() # ------------------------------------------------------------------------- # Displays a user specified message: # ------------------------------------------------------------------------- def message(message="", title="Message", buttons=["OK"], parent=None): """ Displays a message to the user as a model window with the specified title and buttons. If *buttons* is not specified, a single **OK** button is used, which is appropriate for notifications, where no further action or decision on the user's part is required. """ msg = Message(message=message) ui = msg.edit_traits( parent=parent, view=View( ["message~", "|<>"], title=title, buttons=buttons, kind="modal" ), ) return ui.result def error(message="", title="Message", buttons=["OK", "Cancel"], parent=None): """ Displays a message to the user as a modal window with the specified title and buttons. If *buttons* is not specified, **OK** and **Cancel** buttons are used, which is appropriate for confirmations, where the user must decide whether to proceed. Be sure to word the message so that it is clear that clicking **OK** continues the operation. """ msg = Message(message=message) ui = msg.edit_traits( parent=parent, view=View( ["message~", "|<>"], title=title, buttons=buttons, kind="modal" ), ) return ui.result # ------------------------------------------------------------------------- # 'AutoCloseMessage' class: # ------------------------------------------------------------------------- class AutoCloseMessage(HasPrivateTraits): #: The message to be shown: message = Str("Please wait") #: The time (in seconds) to show the message: time = Float(2.0) def show(self, parent=None, title=""): """ Display the wait message for a limited duration. """ view = View( HGroup( spring, Item("message", show_label=False, style="readonly"), spring, ), title=title, ) do_after( int(1000.0 * self.time), self.edit_traits(parent=parent, view=view).dispose, ) # ------------------------------------------------------------------------- # Displays a user specified message that closes automatically after a # specified time interval: # ------------------------------------------------------------------------- def auto_close_message( message="Please wait", time=2.0, title="Please wait", parent=None ): """ Displays a message to the user as a modal window with no buttons. The window closes automatically after a specified time interval (specified in seconds). """ msg = AutoCloseMessage(message=message, time=time) msg.show(parent=parent, title=title) traitsui-7.2.1/traitsui/wx/0000755000076500000240000000000014046644526016311 5ustar aayresstaff00000000000000traitsui-7.2.1/traitsui/wx/file_editor.py0000644000076500000240000003337014046644454021156 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! """ Defines file editors for the wxPython user interface toolkit. """ import wx from os.path import abspath, split, splitext, isfile, exists from traits.api import List, Str, Event, Any, observe, TraitError from .text_editor import SimpleEditor as SimpleTextEditor from .helper import TraitsUIPanel, PopupControl # ------------------------------------------------------------------------- # Trait definitions: # ------------------------------------------------------------------------- # Wildcard filter: filter_trait = List(Str) # ------------------------------------------------------------------------- # 'SimpleEditor' class: # ------------------------------------------------------------------------- class SimpleEditor(SimpleTextEditor): """ Simple style of file editor, consisting of a text field and a **Browse** button that opens a file-selection dialog box. The user can also drag and drop a file onto this control. """ #: The history control (used if the factory 'entries' > 0): history = Any() #: The popup file control (an Instance( PopupFile )): popup = Any() def init(self, parent): """ Finishes initializing the editor by creating the underlying toolkit widget. """ self.control = panel = TraitsUIPanel(parent, -1) sizer = wx.BoxSizer(wx.HORIZONTAL) factory = self.factory if factory.entries > 0: from .history_control import HistoryControl self.history = HistoryControl( entries=factory.entries, auto_set=factory.auto_set ) control = self.history.create_control(panel) pad = 3 button = wx.Button(panel, -1, "...", size=wx.Size(28, -1)) else: if factory.enter_set: control = wx.TextCtrl(panel, -1, "", style=wx.TE_PROCESS_ENTER) panel.Bind(wx.EVT_TEXT_ENTER, self.update_object, id=control.GetId()) else: control = wx.TextCtrl(panel, -1, "") control.Bind(wx.EVT_KILL_FOCUS, self.update_object) if factory.auto_set: panel.Bind(wx.EVT_TEXT, self.update_object, id=control.GetId()) bmp = wx.ArtProvider.GetBitmap(wx.ART_FOLDER_OPEN, size=(15, 15)) button = wx.BitmapButton(panel, -1, bitmap=bmp) pad = 8 self._file_name = control sizer.Add(control, 1, wx.EXPAND) sizer.Add(button, 0, wx.LEFT | wx.ALIGN_CENTER, pad) panel.Bind(wx.EVT_BUTTON, self.show_file_dialog, id=button.GetId()) panel.SetDropTarget(FileDropTarget(self)) panel.SetSizerAndFit(sizer) self._button = button self.set_tooltip(control) def dispose(self): """ Disposes of the contents of an editor. """ panel = self.control panel.Unbind(wx.EVT_BUTTON, id=self._button.GetId()) self._button = None if self.history is not None: self.history.dispose() self.history = None else: control, self._file_name = self._file_name, None control.Unbind(wx.EVT_KILL_FOCUS) panel.Unbind(wx.EVT_TEXT_ENTER, id=control.GetId()) panel.Unbind(wx.EVT_TEXT, id=control.GetId()) super().dispose() @observe("history:value") def _history_value_changed(self, event): """ Handles the history 'value' trait being changed. """ value = event.new if not self._no_update: self._update(value) def update_object(self, event): """ Handles the user changing the contents of the edit control. """ if isinstance(event, wx.FocusEvent): event.Skip() self._update(self._file_name.GetValue()) def update_editor(self): """ Updates the editor when the object trait changes externally to the editor. """ if self.history is not None: self._no_update = True self.history.value = self.str_value self._no_update = False else: self._file_name.SetValue(self.str_value) def show_file_dialog(self, event): """ Displays the pop-up file dialog. """ if self.history is not None: self.popup = self._create_file_popup() else: dlg = self._create_file_dialog() rc = dlg.ShowModal() == wx.ID_OK file_name = abspath(dlg.GetPath()) dlg.Destroy() if rc: if self.factory.truncate_ext: file_name = splitext(file_name)[0] self.value = file_name self.update_editor() def get_error_control(self): """ Returns the editor's control for indicating error status. """ return self._file_name # -- Traits Event Handlers ------------------------------------------------ @observe("popup:value") def _popup_value_changed(self, event): """ Handles the popup value being changed. """ file_name = event.new if self.factory.truncate_ext: file_name = splitext(file_name)[0] self.value = file_name self._no_update = True self.history.set_value(self.str_value) self._no_update = False @observe("popup:closed") def _popup_closed_changed(self, event): """ Handles the popup control being closed. """ self.popup = None # -- UI preference save/restore interface --------------------------------- def restore_prefs(self, prefs): """ Restores any saved user preference information associated with the editor. """ if self.history is not None: self.history.history = prefs.get("history", [])[ : self.factory.entries ] def save_prefs(self): """ Returns any user preference information associated with the editor. """ if self.history is not None: return {"history": self.history.history[:]} return None # -- Private Methods ------------------------------------------------------ def _create_file_dialog(self): """ Creates the correct type of file dialog. """ if len(self.factory.filter) > 0: wildcard = "|".join(self.factory.filter[:]) else: wildcard = "All Files (*.*)|*.*" if self.factory.dialog_style == "save": style = wx.FD_SAVE elif self.factory.dialog_style == "open": style = wx.FD_OPEN else: style = wx.FD_DEFAULT_STYLE directory, filename = split(self._get_value()) dlg = wx.FileDialog( self.control, defaultDir=directory, defaultFile=filename, message="Select a File", wildcard=wildcard, style=style, ) return dlg def _create_file_popup(self): """ Creates the correct type of file popup. """ return PopupFile( control=self.control, file_name=self.str_value, filter=self.factory.filter, height=300, ) def _update(self, file_name): """ Updates the editor value with a specified file name. """ try: if self.factory.truncate_ext: file_name = splitext(file_name)[0] self.value = file_name except TraitError as excp: pass def _get_value(self): """ Returns the current file name from the edit control. """ if self.history is not None: return self.history.value return self._file_name.GetValue() class CustomEditor(SimpleTextEditor): """ Custom style of file editor, consisting of a file system tree view. """ #: Is the file editor scrollable? This value overrides the default. scrollable = True #: Wildcard filter to apply to the file dialog: filter = filter_trait #: Event fired when the file system view should be rebuilt: reload = Event() #: Event fired when the user double-clicks a file: dclick = Event() def init(self, parent): """ Finishes initializing the editor by creating the underlying toolkit widget. """ style = self.get_style() factory = self.factory if (len(factory.filter) > 0) or (factory.filter_name != ""): style |= wx.DIRCTRL_SHOW_FILTERS self.control = wx.GenericDirCtrl(parent, style=style) self._tree = tree = self.control.GetTreeCtrl() id = tree.GetId() tree.Bind(wx.EVT_TREE_SEL_CHANGED, self.update_object, id=id) tree.Bind(wx.EVT_TREE_ITEM_ACTIVATED, self._on_dclick, id=id) tree.Bind(wx.EVT_TREE_ITEM_GETTOOLTIP, self._on_tooltip, id=id) self.filter = factory.filter self.sync_value(factory.filter_name, "filter", "from", is_list=True) self.sync_value(factory.reload_name, "reload", "from") self.sync_value(factory.dclick_name, "dclick", "to") self.set_tooltip() def dispose(self): """ Disposes of the contents of an editor. """ tree, self._tree = self._tree, None tree.Unbind(wx.EVT_TREE_SEL_CHANGED) tree.Unbind(wx.EVT_TREE_ITEM_ACTIVATED) super().dispose() def update_object(self, event): """ Handles the user changing the contents of the edit control. """ if self.control is not None: path = self.control.GetPath() if self.factory.allow_dir or isfile(path): if self.factory.truncate_ext: path = splitext(path)[0] self.value = path def update_editor(self): """ Updates the editor when the object trait changes externally to the editor. """ if exists(self.str_value): self.control.SetPath(self.str_value) def get_style(self): """ Returns the basic style to use for the control. """ return wx.DIRCTRL_EDIT_LABELS def get_error_control(self): """ Returns the editor's control for indicating error status. """ return self._tree def _filter_changed(self): """ Handles the 'filter' trait being changed. """ self.control.SetFilter("|".join(self.filter[:])) def _on_dclick(self, event): """ Handles the user double-clicking on a file name. """ self.dclick = self.control.GetPath() def _on_tooltip(self, event): """ Handles the user hovering on a file name for a tooltip. """ text = self._tree.GetItemText(event.GetItem()) event.SetToolTip(text) def _reload_changed(self): """ Handles the 'reload' trait being changed. """ self.control.ReCreateTree() class PopupFile(PopupControl): #: The initially specified file name: file_name = Str() #: The file name filter to support: filter = filter_trait #: Override of PopupControl trait to make the popup resizable: resizable = True # -- PopupControl Method Overrides ---------------------------------------- def create_control(self, parent): """ Creates the file control and gets it ready for use. """ style = self.get_style() if len(self.filter) > 0: style |= wx.DIRCTRL_SHOW_FILTERS self._files = files = wx.GenericDirCtrl( parent, style=style, filter="|".join(self.filter) ) files.SetPath(self.file_name) self._tree = tree = files.GetTreeCtrl() tree.Bind(wx.EVT_TREE_SEL_CHANGED, self._select_file, id=tree.GetId()) def dispose(self): self._tree.Unbind(wx.EVT_TREE_SEL_CHANGED) self._tree = self._files = None def get_style(self): """ Returns the base style for this type of popup. """ return wx.DIRCTRL_EDIT_LABELS def is_valid(self, path): """ Returns whether or not the path is valid. """ return isfile(path) # -- Private Methods ------------------------------------------------------ def _select_file(self, event): """ Handles a file being selected in the file control. """ path = self._files.GetPath() # We have to make sure the selected path is different than the original # path because when a filter is changed we get called with the currently # selected path, even though no file was actually selected by the user. # So we only count it if it is a different path. # # We also check the last character of the path, because under Windows # we get a call when the filter is changed for each drive letter. If the # drive is not available, it can take the 'isfile' call a long time to # time out, so we attempt to ignore them by doing a quick test to see # if it could be a valid file name, and ignore it if it is not: if ( (path != abspath(self.file_name)) and (path[-1:] not in ("/\\")) and self.is_valid(path) ): self.value = path class FileDropTarget(wx.FileDropTarget): """ A target for a drag and drop operation, which accepts a file. """ def __init__(self, editor): wx.FileDropTarget.__init__(self) self.editor = editor def OnDropFiles(self, x, y, file_names): self.editor.value = file_names[-1] self.editor.update_editor() return True traitsui-7.2.1/traitsui/wx/list_str_editor.py0000644000076500000240000010133614046644454022100 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! """ Traits UI editor for editing lists of strings. """ import wx from traits.api import ( Str, Int, List, Bool, Instance, Any, Event, TraitListEvent, Property, ) # FIXME: ListStrEditor is a proxy class defined here just for backward # compatibility. The class has been moved to the # traitsui.editors.list_editor file. from traitsui.editors.list_str_editor import ListStrEditor from traitsui.list_str_adapter import ListStrAdapter from traitsui.wx.editor import Editor from pyface.image_resource import ImageResource from .helper import disconnect, disconnect_no_id try: from pyface.wx.drag_and_drop import PythonDropSource, PythonDropTarget except: PythonDropSource = PythonDropTarget = None # ------------------------------------------------------------------------- # 'wxListCtrl' class: # ------------------------------------------------------------------------- class wxListCtrl(wx.ListCtrl): """ Subclass of wx.ListCtrl to provide correct virtual list behavior. """ def OnGetItemAttr(self, index): """ Returns the display attributes to use for the specified list item. """ # fixme: There appears to be a bug in wx in that they do not correctly # manage the reference count for the returned object, and it seems to be # gc'ed before they finish using it. So we store an object reference to # it to prevent it from going away too soon... self._attr = attr = wx.ListItemAttr() editor = self._editor adapter = editor.adapter if editor._is_auto_add(index): bg_color = adapter.get_default_bg_color(editor.object, editor.name) color = adapter.get_default_text_color(editor.object, editor.name) else: bg_color = adapter.get_bg_color(editor.object, editor.name, index) color = adapter.get_text_color(editor.object, editor.name, index) if bg_color is not None: attr.SetBackgroundColour(bg_color) if color is not None: attr.SetTextColour(color) return attr def OnGetItemImage(self, index): """ Returns the image index to use for the specified list item. """ editor = self._editor if editor._is_auto_add(index): image = editor.adapter.get_default_image( editor.object, editor.name ) else: image = editor.adapter.get_image(editor.object, editor.name, index) image = editor._get_image(image) if image is not None: return image return -1 def OnGetItemText(self, index, column): """ Returns the text to use for the specified list item. """ editor = self._editor if editor._is_auto_add(index): return editor.adapter.get_default_text(editor.object, editor.name) return editor.adapter.get_text(editor.object, editor.name, index) class _ListStrEditor(Editor): """ Traits UI editor for editing lists of strings. """ # -- Trait Definitions ---------------------------------------------------- #: The title of the editor: title = Str() #: The current set of selected items (which one is used depends upon the #: initial state of the editor factory 'multi_select' trait): selected = Any() multi_selected = List() #: The current set of selected item indices (which one is used depends upon #: the initial state of the editor factory 'multi_select' trait): selected_index = Int() multi_selected_indices = List(Int) #: The most recently actived item and its index: activated = Any() activated_index = Int() #: The most recently right_clicked item and its index: right_clicked = Event() right_clicked_index = Event() #: Is the list editor scrollable? This value overrides the default. scrollable = True #: Index of item to select after rebuilding editor list: index = Any() #: Should the selected item be edited after rebuilding the editor list: edit = Bool(False) #: The adapter from list items to editor values: adapter = Instance(ListStrAdapter) #: Dictionaly mapping image names to wx.ImageList indices: images = Any({}) #: Dictionary mapping ImageResource objects to wx.ImageList indices: image_resources = Any({}) #: The current number of item currently in the list: item_count = Property() #: The current search string: search = Str() def init(self, parent): """ Finishes initializing the editor by creating the underlying toolkit widget. """ factory = self.factory # Set up the adapter to use: self.adapter = factory.adapter self.sync_value(factory.adapter_name, "adapter", "from") # Determine the style to use for the list control: style = wx.LC_REPORT | wx.LC_VIRTUAL if factory.editable: style |= wx.LC_EDIT_LABELS if factory.horizontal_lines: style |= wx.LC_HRULES if not factory.multi_select: style |= wx.LC_SINGLE_SEL if (factory.title == "") and (factory.title_name == ""): style |= wx.LC_NO_HEADER # Create the list control and link it back to us: self.control = control = wxListCtrl(parent, -1, style=style) control._editor = self # Create the list control column: control.InsertColumn(0, "") # Set up the list control's event handlers: control.Bind(wx.EVT_LIST_BEGIN_DRAG, self._begin_drag) control.Bind(wx.EVT_LIST_BEGIN_LABEL_EDIT, self._begin_label_edit) control.Bind(wx.EVT_LIST_END_LABEL_EDIT, self._end_label_edit) control.Bind(wx.EVT_LIST_ITEM_SELECTED, self._item_selected) control.Bind(wx.EVT_LIST_ITEM_DESELECTED, self._item_selected) control.Bind(wx.EVT_LIST_ITEM_RIGHT_CLICK, self._right_clicked) control.Bind(wx.EVT_LIST_ITEM_ACTIVATED, self._item_activated) control.Bind(wx.EVT_SIZE, self._size_modified) # Handle key events: control.Bind(wx.EVT_CHAR, self._key_pressed) # Handle mouse events: if "edit" in factory.operations: control.Bind(wx.EVT_LEFT_DOWN, self._left_down) # Set up the drag and drop target: if PythonDropTarget is not None: control.SetDropTarget(PythonDropTarget(self)) # Initialize the editor title: self.title = factory.title self.sync_value(factory.title_name, "title", "from") # Set up the selection listener (if necessary): if factory.multi_select: self.sync_value( factory.selected, "multi_selected", "both", is_list=True ) self.sync_value( factory.selected_index, "multi_selected_indices", "both", is_list=True, ) else: self.sync_value(factory.selected, "selected", "both") self.sync_value(factory.selected_index, "selected_index", "both") # Synchronize other interesting traits as necessary: self.sync_value(factory.activated, "activated", "to") self.sync_value(factory.activated_index, "activated_index", "to") self.sync_value(factory.right_clicked, "right_clicked", "to") self.sync_value( factory.right_clicked_index, "right_clicked_index", "to" ) # Make sure we listen for 'items' changes as well as complete list # replacements: self.context_object.on_trait_change( self.update_editor, self.extended_name + "_items", dispatch="ui" ) # Create the mapping from user supplied images to wx.ImageList indices: for image_resource in factory.images: self._add_image(image_resource) # Refresh the editor whenever the adapter changes: self.on_trait_change(self._refresh, "adapter.+update", dispatch="ui") # Set the list control's tooltip: self.set_tooltip() def dispose(self): """ Disposes of the contents of an editor. """ disconnect_no_id( self.control, wx.EVT_SIZE, wx.EVT_CHAR, wx.EVT_LEFT_DOWN, wx.EVT_LIST_BEGIN_DRAG, wx.EVT_LIST_BEGIN_LABEL_EDIT, wx.EVT_LIST_END_LABEL_EDIT, wx.EVT_LIST_ITEM_SELECTED, wx.EVT_LIST_ITEM_DESELECTED, wx.EVT_LIST_ITEM_RIGHT_CLICK, wx.EVT_LIST_ITEM_ACTIVATED, ) self.context_object.on_trait_change( self.update_editor, self.extended_name + "_items", remove=True ) self.on_trait_change(self._refresh, "adapter.+update", remove=True) super().dispose() def update_editor(self): """ Updates the editor when the object trait changes externally to the editor. """ control = self.control top = control.GetTopItem() pn = control.GetCountPerPage() n = self.adapter.len(self.object, self.name) if self.factory.auto_add: n += 1 control.DeleteAllItems() control.SetItemCount(n) if control.GetItemCount() > 0: control.RefreshItems(0, control.GetItemCount() - 1) control.SetColumnWidth(0, control.GetClientSize()[0]) edit, self.edit = self.edit, False index, self.index = self.index, None if index is not None: if index >= n: index -= 1 if index < 0: index = None if index is None: visible = top + pn - 2 if visible >= 0 and visible < control.GetItemCount(): control.EnsureVisible(visible) if self.factory.multi_select: for index in self.multi_selected_indices: if 0 <= index < n: control.SetItemState( index, wx.LIST_STATE_SELECTED, wx.LIST_STATE_SELECTED, ) else: if 0 <= self.selected_index < n: control.SetItemState( self.selected_index, wx.LIST_STATE_SELECTED, wx.LIST_STATE_SELECTED, ) return if 0 <= (index - top) < pn: control.EnsureVisible(min(top + pn - 2, control.GetItemCount() - 1)) elif index < top: control.EnsureVisible(min(index + pn - 1, control.GetItemCount() - 1)) else: control.EnsureVisible(index) control.SetItemState( index, wx.LIST_STATE_SELECTED | wx.LIST_STATE_FOCUSED, wx.LIST_STATE_SELECTED | wx.LIST_STATE_FOCUSED, ) if edit: control.EditLabel(index) # -- Property Implementations --------------------------------------------- def _get_item_count(self): return self.control.GetItemCount() - self.factory.auto_add # -- Trait Event Handlers ------------------------------------------------- def _title_changed(self, title): """ Handles the editor title being changed. """ list_item = wx.ListItem() list_item.SetText(title) self.control.SetColumn(0, list_item) def _selected_changed(self, selected): """ Handles the editor's 'selected' trait being changed. """ if not self._no_update: try: self.control.SetItemState( self.value.index(selected), wx.LIST_STATE_SELECTED, wx.LIST_STATE_SELECTED, ) except Exception: pass def _selected_index_changed(self, selected_index): """ Handles the editor's 'selected_index' trait being changed. """ if not self._no_update: try: self.control.SetItemState( selected_index, wx.LIST_STATE_SELECTED, wx.LIST_STATE_SELECTED, ) except Exception: pass def _multi_selected_changed(self, selected): """ Handles the editor's 'multi_selected' trait being changed. """ if not self._no_update: values = self.value try: self._multi_selected_indices_changed( [values.index(item) for item in selected] ) except Exception: pass def _multi_selected_items_changed(self, event): """ Handles the editor's 'multi_selected' trait being modified. """ values = self.value try: self._multi_selected_indices_items_changed( TraitListEvent( index=0, removed=[values.index(item) for item in event.removed], added=[values.index(item) for item in event.added], ) ) except Exception: pass def _multi_selected_indices_changed(self, selected_indices): """ Handles the editor's 'multi_selected_indices' trait being changed. """ if not self._no_update: control = self.control selected = self._get_selected() # Select any new items that aren't already selected: for index in selected_indices: if index in selected: selected.remove(index) else: try: control.SetItemState( index, wx.LIST_STATE_SELECTED, wx.LIST_STATE_SELECTED, ) except Exception: pass # Unselect all remaining selected items that aren't selected now: for index in selected: control.SetItemState(index, 0, wx.LIST_STATE_SELECTED) def _multi_selected_indices_items_changed(self, event): """ Handles the editor's 'multi_selected_indices' trait being modified. """ control = self.control # Remove all items that are no longer selected: for index in event.removed: control.SetItemState(index, 0, wx.LIST_STATE_SELECTED) # Select all newly added items: for index in event.added: control.SetItemState( index, wx.LIST_STATE_SELECTED, wx.LIST_STATE_SELECTED ) # -- List Control Event Handlers ------------------------------------------ def _begin_drag(self, event): """ Handles the user beginning a drag operation with the left mouse button. """ if PythonDropSource is not None: adapter = self.adapter object, name = self.object, self.name index = event.GetIndex() selected = self._get_selected() drag_items = [] # Collect all of the selected items to drag: for index in selected: drag = adapter.get_drag(object, name, index) if drag is None: return drag_items.append(drag) # Save the drag item indices, so that we can later handle a # completed 'move' operation: self._drag_indices = selected try: # If only one item is being dragged, drag it as an item, not a # list: if len(drag_items) == 1: drag_items = drag_items[0] # Perform the drag and drop operation: ds = PythonDropSource(self.control, drag_items) # If moves are allowed and the result was a drag move: if (ds.result == wx.DragMove) and ( self._drag_local or self.factory.drag_move ): # Then delete all of the original items (in reverse order # from highest to lowest, so the indices don't need to be # adjusted): indices = self._drag_indices indices.reverse() for index in indices: adapter.delete(object, name, index) finally: self._drag_indices = None self._drag_local = False def _begin_label_edit(self, event): """ Handles the user starting to edit an item label. """ index = event.GetIndex() if (not self._is_auto_add(index)) and ( not self.adapter.get_can_edit(self.object, self.name, index) ): event.Veto() def _end_label_edit(self, event): """ Handles the user finishing editing an item label. """ self._set_text_current(event.GetIndex(), event.GetText()) def _item_selected(self, event): """ Handles an item being selected. """ self._no_update = True try: get_item = self.adapter.get_item object, name = self.object, self.name selected_indices = self._get_selected() if self.factory.multi_select: self.multi_selected_indices = selected_indices self.multi_selected = [ get_item(object, name, index) for index in selected_indices ] elif len(selected_indices) == 0: self.selected_index = -1 self.selected = None else: self.selected_index = selected_indices[0] self.selected = get_item(object, name, selected_indices[0]) finally: self._no_update = False def _item_activated(self, event): """ Handles an item being activated (double-clicked or enter pressed). """ self.activated_index = event.GetIndex() if "edit" in self.factory.operations: self._edit_current() else: self.activated = self.adapter.get_item( self.object, self.name, self.activated_index ) def _right_clicked(self, event): """ Handles an item being right clicked. """ index = event.GetIndex() if index == -1: return self.right_clicked_index = index self.right_clicked = self.adapter.get_item( self.object, self.name, index ) def _key_pressed(self, event): key = event.GetKeyCode() control = event.ControlDown() if 32 <= key <= 126: self.search += chr(key).lower() self._search_for_string() elif key in (wx.WXK_HOME, wx.WXK_PAGEUP, wx.WXK_PAGEDOWN): self.search = "" event.Skip() elif key == wx.WXK_END: self.search = "" self._append_new() elif (key == wx.WXK_UP) and control: self._search_for_string(-1) elif (key == wx.WXK_DOWN) and control: self._search_for_string(1) elif key in (wx.WXK_BACK, wx.WXK_DELETE): self._delete_current() elif key == wx.WXK_INSERT: self._insert_current() elif key == wx.WXK_LEFT: self._move_up_current() elif key == wx.WXK_RIGHT: self._move_down_current() elif key == wx.WXK_RETURN: self._edit_current() elif key == 3: # Ctrl-C self._copy_current() elif key == 22: # Ctrl-V self._paste_current() elif key == 24: # Ctrl-X self._cut_current() else: event.Skip() def _size_modified(self, event): """ Handles the size of the list control being changed. """ dx, dy = self.control.GetClientSize() self.control.SetColumnWidth(0, dx - 1) event.Skip() def _left_down(self, event): """ Handles the user pressing the left mouse button. """ index, flags = self.control.HitTest( wx.Point(event.GetX(), event.GetY()) ) selected = self._get_selected() if (len(selected) == 1) and (index == selected[0]): self._edit_current() else: event.Skip() # -- Drag and Drop Event Handlers ----------------------------------------- def wx_dropped_on(self, x, y, data, drag_result): """ Handles a Python object being dropped on the list control. """ index, flags = self.control.HitTest(wx.Point(x, y)) # If the user dropped it on an empty list, set the target as past the # end of the list: if ( (index == -1) and ((flags & wx.LIST_HITTEST_NOWHERE) != 0) and (self.control.GetItemCount() == 0) ): index = 0 # If we have a valid drop target index, proceed: if index != -1: if not isinstance(data, list): # Handle the case of just a single item being dropped: self._wx_dropped_on(index, data) else: # Handles the case of a list of items being dropped, being # careful to preserve the original order of the source items if # possible: data.reverse() for item in data: self._wx_dropped_on(index, item) # If this was an inter-list drag, mark it as 'local': if self._drag_indices is not None: self._drag_local = True # Return a successful drop result: return drag_result # Indicate we could not process the drop: return wx.DragNone def _wx_dropped_on(self, index, item): """ Helper method for handling a single item dropped on the list control. """ adapter = self.adapter object, name = self.object, self.name # Obtain the destination of the dropped item relative to the target: destination = adapter.get_dropped(object, name, index, item) # Adjust the target index accordingly: if destination == "after": index += 1 # Insert the dropped item at the requested position: adapter.insert(object, name, index, item) # If the source for the drag was also this list control, we need to # adjust the original source indices to account for their new position # after the drag operation: indices = self._drag_indices if indices is not None: for i in range(len(indices) - 1, -1, -1): if indices[i] < index: break indices[i] += 1 def wx_drag_over(self, x, y, data, drag_result): """ Handles a Python object being dragged over the tree. """ if isinstance(data, list): rc = wx.DragNone for item in data: rc = self.wx_drag_over(x, y, item, drag_result) if rc == wx.DragNone: break return rc index, flags = self.control.HitTest(wx.Point(x, y)) # If the user is dragging over an empty list, set the target to the end # of the list: if ( (index == -1) and ((flags & wx.LIST_HITTEST_NOWHERE) != 0) and (self.control.GetItemCount() == 0) ): index = 0 # If the drag target index is valid and the adapter says it is OK to # drop the data here, then indicate the data can be dropped: if (index != -1) and self.adapter.get_can_drop( self.object, self.name, index, data ): return drag_result # Else indicate that we will not accept the data: return wx.DragNone # -- Private Methods ------------------------------------------------------ def _refresh(self): """ Refreshes the contents of the editor's list control. """ self.control.RefreshItems(0, len(self.value) - 1) def _add_image(self, image_resource): """ Adds a new image to the wx.ImageList and its associated mapping. """ bitmap = image_resource.create_image().ConvertToBitmap() image_list = self._image_list if image_list is None: self._image_list = image_list = wx.ImageList( bitmap.GetWidth(), bitmap.GetHeight() ) self.control.AssignImageList(image_list, wx.IMAGE_LIST_SMALL) self.image_resources[image_resource] = self.images[ image_resource.name ] = index = image_list.Add(bitmap) return index def _get_image(self, image): """ Converts a user specified image to a wx.ListCtrl image index. """ if isinstance(image, ImageResource): result = self.image_resources.get(image) if result is not None: return result return self._add_image(image) return self.images.get(image) def _get_selected(self): """ Returns a list of the indices of all currently selected list items. """ selected = [] item = -1 control = self.control while True: item = control.GetNextItem( item, wx.LIST_NEXT_ALL, wx.LIST_STATE_SELECTED ) if item == -1: break selected.append(item) return selected def _search_for_string(self, increment=0): """ Searches for the next occurrence of the current search string. """ selected = self._get_selected() if len(selected) > 1: return start = 0 if len(selected) == 1: start = selected[0] + increment get_text = self.adapter.get_text search = self.search object = self.object name = self.name if increment >= 0: items = range(start, self.item_count) else: items = range(start, -1, -1) for index in items: if search in get_text(object, name, index).lower(): self.index = index self.update_editor() break def _append_new(self): """ Append a new item to the end of the list control. """ if "append" in self.factory.operations: self.edit = True adapter = self.adapter index = self.control.GetItemCount() if self.factory.auto_add: self.index = index - 1 self.update_editor() else: self.index = index adapter.insert( self.object, self.name, self.index, adapter.get_default_value(self.object, self.name), ) def _copy_current(self): """ Copies the currently selected list control item to the clipboard. """ selected = self._get_selected() if len(selected) == 1: index = selected[0] if index < self.item_count: try: from pyface.wx.clipboard import clipboard clipboard.data = self.adapter.get_text( self.object, self.name, index ) except: # Handle the traits.util package not being installed by # just ignoring the request: pass def _cut_current(self): """ Cuts the currently selected list control item and places its value in the clipboard. """ ops = self.factory.operations if ("insert" in ops) and ("delete" in ops): selected = self._get_selected() if len(selected) == 1: index = selected[0] if index < self.item_count: try: from pyface.wx.clipboard import clipboard clipboard.data = self.adapter.get_text( self.object, self.name, index ) self.index = index self.adapter.delete(self.object, self.name, index) except: # Handle the traits.util package not being installed # by just ignoring the request: pass def _paste_current(self): """ Pastes the clipboard contents into the currently selected list control item. """ if "insert" in self.factory.operations: selected = self._get_selected() if len(selected) == 1: try: from pyface.wx.clipboard import clipboard self._set_text_current( selected[0], clipboard.text_data, insert=True ) except: # Handle the traits.util package not being installed by # just ignoring the request: pass def _insert_current(self): """ Inserts a new item after the currently selected list control item. """ if "insert" in self.factory.operations: selected = self._get_selected() if len(selected) == 1: self.index = selected[0] self.edit = True adapter = self.adapter adapter.insert( self.object, self.name, selected[0], adapter.get_default_value(self.object, self.name), ) def _delete_current(self): """ Deletes the currently selected items from the list control. """ if "delete" in self.factory.operations: selected = self._get_selected() if len(selected) == 0: return n = self.item_count delete = self.adapter.delete selected.reverse() self.index = selected[-1] for index in selected: if index < n: delete(self.object, self.name, index) def _move_up_current(self): """ Moves the currently selected item up one line in the list control. """ if "move" in self.factory.operations: selected = self._get_selected() if len(selected) == 1: index = selected[0] n = self.item_count if 0 < index < n: adapter = self.adapter object, name = self.object, self.name item = adapter.get_item(object, name, index) adapter.delete(object, name, index) self.index = index - 1 adapter.insert(object, name, index - 1, item) def _move_down_current(self): """ Moves the currently selected item down one line in the list control. """ if "move" in self.factory.operations: selected = self._get_selected() if len(selected) == 1: index = selected[0] n = self.item_count - 1 if index < n: adapter = self.adapter object, name = self.object, self.name item = adapter.get_item(object, name, index) adapter.delete(object, name, index) self.index = index + 1 adapter.insert(object, name, index + 1, item) def _edit_current(self): """ Allows the user to edit the current item in the list control. """ if "edit" in self.factory.operations: selected = self._get_selected() if len(selected) == 1: self.control.EditLabel(selected[0]) def _is_auto_add(self, index): """ Returns whether or not the index is the special 'auto add' item at the end of the list. """ return self.factory.auto_add and ( index >= self.adapter.len(self.object, self.name) ) def _set_text_current(self, index, text, insert=False): """ Sets the text value of the specified list control item. """ if text.strip() != "": object, name, adapter = self.object, self.name, self.adapter if insert or self._is_auto_add(index): adapter.insert( object, name, index, adapter.get_default_value(object, name), ) self.edit = not insert self.index = index + 1 adapter.set_text(object, name, index, text) traitsui-7.2.1/traitsui/wx/table_model.py0000644000076500000240000006414214046644454021141 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! """ Defines the table grid model used by the table editor based on the Pyface grid control. """ import logging import wx import wx.grid as wxg from traits.api import ( HasPrivateTraits, Any, Str, Instance, Event, Bool, observe, ) from traits.observation.api import trait from traitsui.api import View, Item, Editor from traitsui.editors.table_editor import ReversedList from traitsui.table_filter import TableFilter from traitsui.ui_traits import SequenceTypes from pyface.ui.wx.grid.api import GridModel, GridSortEvent from pyface.ui.wx.grid.trait_grid_cell_adapter import TraitGridCellAdapter from pyface.timer.api import do_later logger = logging.getLogger(__name__) class TraitGridSelection(HasPrivateTraits): """ Structure for holding specification information. """ #: The selected object obj = Any() #: The specific trait selected on the object name = Str() class TableModel(GridModel): """ Model for table data. """ # ------------------------------------------------------------------------- # Trait definitions: # ------------------------------------------------------------------------- #: The editor that created this model editor = Instance(Editor) #: The current filter filter = Instance(TableFilter, allow_none=True) #: Current filter summary message filter_summary = Str("All items") #: Display the table items in reverse order? reverse = Bool(False) #: Event fired when the table has been sorted sorted = Event() #: The current 'auto_add' row auto_add_row = Any() def __init__(self, **traits): """ Initializes the object. """ super().__init__(**traits) # Attach trait handlers to the list object: editor = self.editor object = editor.context_object name = " " + editor.extended_name # Set up listeners for any of the model data changing: object.on_trait_change(self._on_data_changed, name, dispatch="ui") object.on_trait_change( self.fire_content_changed, name + ".-", dispatch="ui" ) # Set up listeners for any column definitions changing: editor.on_trait_change(self.update_columns, "columns", dispatch="ui") editor.on_trait_change( self.update_columns, "columns_items", dispatch="ui" ) # Initialize the current filter from the editor's default filter: self.filter = editor.filter # If we are using 'auto_add' mode, create the first 'auto_add' row: if editor.auto_add: self.auto_add_row = row = editor.create_new_row() if row is not None: row.on_trait_change(self.on_auto_add_row, dispatch="ui") # -- TableModel Interface ------------------------------------------------- def dispose(self): """ Disposes of the model when it is no longer needed. """ editor = self.editor object = editor.context_object name = " " + editor.extended_name # Remove listeners for any of the model data changing: object.on_trait_change(self._on_data_changed, name, remove=True) object.on_trait_change( self.fire_content_changed, name + ".-", remove=True ) # Remove listeners for any column definitions changing: editor.on_trait_change(self.update_columns, "columns", remove=True) editor.on_trait_change( self.update_columns, "columns_items", remove=True ) # Make sure we have removed listeners from the current filter also: if self.filter is not None: self.filter.on_trait_change(self._filter_modified, remove=True) # Clean-up any links that should be broken: self.editor = None def get_filtered_items(self): """ Returns all model items matching the current filter. """ return self.__filtered_items() def get_filtered_item(self, index=0): """ Returns a single specified item from those items matching the current filter. """ try: return self.__filtered_items()[index] except Exception: logger.exception( "TableModel error: Request for invalid row %d out of %d", index, len(self.__filtered_items()) ) return None def raw_index_of(self, row): """ Returns the raw, unfiltered index corresponding to a specified filtered index. """ if self._filtered_cache is None: return row return self.editor.filtered_indices[row] def insert_filtered_item_after(self, index, item): """ Inserts an object after a specified filtered index. """ mapped_index = 0 n = len(self.editor.filtered_indices) if index >= n: if (index != 0) or (n != 0): raise IndexError elif index >= 0: mapped_index = self.editor.filtered_indices[index] + 1 self.__items().insert(mapped_index, item) sorted = self._sort_model() if sorted: mapped_index = self.__items().index(item) self._filtered_cache = None return (mapped_index, sorted) def delete_filtered_item_at(self, index): """ Deletes the object at the specified filtered index. """ if index >= len(self.editor.filtered_indices): raise IndexError mapped_index = self.editor.filtered_indices[index] items = self.__items() object = items[mapped_index] del items[mapped_index] self._filtered_cache = None return (mapped_index, object) def update_columns(self): """ Updates the table view when columns have been changed. """ self._columns = None self.fire_structure_changed() self.editor.refresh() def no_column_sort(self): """ Resets any sorting being performed on the underlying model. """ self._sorter = self._filtered_cache = None self.column_sorted = GridSortEvent(index=-1) # self.fire_structure_changed() # -- Event Handlers ------------------------------------------------------- @observe(trait("filter").match(lambda name, ctrait: True)) def _filter_modified(self, event): """ Handles the contents of the filter being changed. """ self._filtered_cache = None self.fire_structure_changed() self.editor.filter_modified() def _click_changed(self, event): """ Handles the grid firing a 'click' event. """ row, col = event # Fire the same event on the editor after mapping it to a model object # and column name: object = self.get_filtered_item(row) column = self.__get_column(col) self.editor.click = (object, column) # Check to see if the column has a view to display: view = column.get_view(object) if view is not None: column.get_object(object).edit_traits( view=view, parent=self._bounds_for(row, col) ) # Invoke the column's click handler: column.on_click(object) def _dclick_changed(self, event): """ Handles the grid firing a 'dclick' event. """ row, col = event # Fire the same event on the editor after mapping it to a model object # and column name: object = self.get_filtered_item(row) column = self.__get_column(col) self.editor.dclick = (object, column) # Invoke the column's double-click handler: column.on_dclick(object) def on_auto_add_row(self): """ Handles the user modifying the current 'auto_add' mode row. """ object = self.auto_add_row object.on_trait_change(self.on_auto_add_row, remove=True) self.auto_add_row = row = self.editor.create_new_row() if row is not None: row.on_trait_change(self.on_auto_add_row, dispatch="ui") do_later( self.editor.add_row, object, len(self.get_filtered_items()) - 2 ) # -- GridModel Interface -------------------------------------------------- def get_column_count(self): """ Returns the number of columns for this table. """ return len(self.__get_columns()) def get_column_name(self, index): """ Returns the label of the column specified by the (zero-based) index. """ return self.__get_column(index).get_label() def get_column_size(self, index): """ Returns the size in pixels of the column indexed by *index*. A value of -1 or None means to use the default. """ return self.__get_column(index).get_width() def get_cols_drag_value(self, cols): """ Returns the value to use when the specified columns are dragged or copied and pasted. The parameter *cols* is a list of column indexes. """ return [self.__get_data_column(col) for col in cols] def get_cols_selection_value(self, cols): """ Returns a list of TraitGridSelection objects containing the objects corresponding to the grid rows and the traits corresponding to the specified columns. """ values = [] for obj in self.__items(False): values.extend( [ TraitGridSelection( obj=obj, name=self.__get_column_name(col) ) for col in cols ] ) return values def sort_by_column(self, col, reverse=False): """ Sorts the model data by the column indexed by *col*. """ # Make sure we allow sorts by column: factory = self.editor.factory if not factory.sortable: return # Flush the object cache: self._filtered_cache = None # Cache the sorting information for later: self._sorter = self.__get_column(col).key self._reverse = reverse # If model sorting is requested, do it now: self._sort_model() # Indicate the we have been sorted: self.sorted = True self.column_sorted = GridSortEvent(index=col, reversed=reverse) def is_column_read_only(self, index): """ Returns True if the column specified by the zero-based *index* is read-only. """ return not self.__get_column(index).editable def get_row_count(self): """ Return the number of rows for this table. """ return len(self.__filtered_items()) def get_row_name(self, index): """ Return the name of the row specified by the (zero-based) *index*. """ return "" def get_rows_drag_value(self, rows): """ Returns the value to use when the specified rows are dragged or copied and pasted. The parameter *rows* is a list of row indexes. If there is only one row listed, then return the corresponding trait object. If more than one row is listed, then return a list of objects. """ items = self.__filtered_items() return [items[row] for row in rows] def get_rows_selection_value(self, rows): """ Returns a list of TraitGridSelection objects containing the object corresponding to the selected rows. """ items = self.__filtered_items() return [TraitGridSelection(obj=items[row]) for row in rows] def is_row_read_only(self, index): """ Returns True if the row specified by the zero-based *index* is read-only. """ return False def get_cell_editor(self, row, col): """ Returns the editor for the specified cell. """ if self.editor is None: return None column = self.__get_column(col) object = self.get_filtered_item(row) editor = column.get_editor(object) if editor is None: return None editor._ui = self.editor.ui target, name = column.target_name(object) return TraitGridCellAdapter( editor, target, name, "", context=self.editor.ui.context, style=column.get_style(object), width=column.get_edit_width(object), height=column.get_edit_height(object), ) def get_cell_renderer(self, row, col): """ Returns the renderer for the specified cell. """ return self.__get_column(col).get_renderer(self.get_filtered_item(row)) def get_cell_drag_value(self, row, col): """ Returns the value to use when the specified cell is dragged or copied and pasted. """ return self.__get_column(col).get_drag_value( self.get_filtered_item(row) ) def get_cell_selection_value(self, row, col): """ Returns a TraitGridSelection object specifying the data stored in the table at (*row*, *col*). """ return TraitGridSelection( obj=self.get_filtered_item(row), name=self.__get_column_name(col) ) def resolve_selection(self, selection_list): """ Returns a list of (row, col) grid-cell coordinates that correspond to the objects in *selection_list*. For each coordinate, if the row is -1, it indicates that the entire column is selected. Likewise coordinates with a column of -1 indicate an entire row that is selected. For the TableModel, the objects in *selection_list* must be TraitGridSelection objects. """ items = self.__filtered_items() cells = [] for selection in selection_list: row = -1 if selection.obj is not None: try: row = items.index(selection.obj) except ValueError: continue column = -1 if selection.name != "": column = self._get_column_index_by_trait(selection.name) if column is None: continue cells.append((row, column)) return cells def get_cell_context_menu(self, row, col): """ Returns a Menu object that generates the appropriate context menu for this cell. """ column = self.__get_column(col) menu = column.get_menu(self.get_filtered_item(row)) editor = self.editor if menu is None: menu = editor.factory.menu if menu is None: menu_name = editor.factory.menu_name if menu_name: menu = getattr(self.editor.object, menu_name, None) if menu is not None: editor.prepare_menu(row, column) return (menu, editor) return None def get_value(self, row, col): """ Returns the value stored in the table at (*row*, *col*). """ object = self.get_filtered_item(row) if object is self.auto_add_row: return "" value = self.__get_column(col).get_value(object) formats = self.__get_column_formats(col) if (value is not None) and (formats is not None): format = formats.get(type(value)) if format is not None: try: if callable(format): value = format(value) else: value = format % value except: pass return value def is_valid_cell_value(self, row, col, value): """ Tests whether *value* is valid for the cell at (*row*, *col*). Returns True if value is acceptable, and False otherwise. """ return self.__get_column(col).is_droppable( self.get_filtered_item(row), value ) def is_cell_empty(self, row, col): """ Returns True if the cell at (*row*, *col*) has a None value, and False otherwise. """ return self.get_value(row, col) is None def is_cell_read_only(self, row, col): """ Returns True if the cell at (*row*, *col*) is read-only, and False otherwise. """ return not self.__get_column(col).is_editable( self.get_filtered_item(row) ) def get_cell_bg_color(self, row, col): """ Returns a wxColour object specifying the background color of the specified cell. """ return self.__get_column(col).get_cell_color( self.get_filtered_item(row) ) def get_cell_text_color(self, row, col): """ Returns a wxColour object specifying the text color of the specified cell. """ column = self.__get_column(col) item = self.get_filtered_item(row) return column.get_text_color(item) def get_cell_font(self, row, col): """ Returns a wxFont object specifying the font of the specified cell. """ return self.__get_column(col).get_text_font( self.get_filtered_item(row) ) def get_cell_halignment(self, row, col): """ Returns a string specifying the horizontal alignment of the specified cell. Returns 'left' for left alignment, 'right' for right alignment, or 'center' for center alignment. """ return self.__get_column(col).get_horizontal_alignment( self.get_filtered_item(row) ) def get_cell_valignment(self, row, col): """ Returns a string specifying the vertical alignment of the specified cell. Returns 'top' for top alignment, 'bottom' for bottom alignment, or 'center' for center alignment. """ return self.__get_column(col).get_vertical_alignment( self.get_filtered_item(row) ) def _insert_rows(self, pos, num_rows): """ Inserts *num_rows* at *pos*; fires an event only if a factory method for new rows is defined or the model is not empty. Otherwise, it returns 0. """ count = 0 factory = self.editor.factory.row_factory if factory is None: items = self.__items(False) if len(items) > 0: factory = items[0].__class__ if factory is not None: new_data = [ x for x in [factory() for i in range(num_rows)] if x is not None ] if len(new_data) > 0: count = self._insert_rows_into_model(pos, new_data) self.rows_added = ("added", pos, new_data) return count def _delete_rows(self, pos, num_rows): """ Removes rows *pos* through *pos* + *num_rows* from the model. """ row_count = self.get_rows_count() if (pos + num_rows) > row_count: num_rows = row_count - pos return self._delete_rows_from_model(pos, num_rows) def _set_value(self, row, col, value): """ Sets the value of the cell at (*row*, *col*) to *value*. Raises a ValueError if the value is vetoed or the cell at the specified position does not exist. """ new_rows = 0 column = self.__get_column(col) obj = None try: obj = self.get_filtered_item(row) except: # Add a new row: new_rows = self._insert_rows(self.get_row_count(), 1) if new_rows > 0: # Now set the value on the new object: try: obj = self.get_filtered_item(self.get_row_count() - 1) except: # fixme: what do we do in this case? veto the set somehow? # raise an exception? pass if obj is not None: self._set_data_on_row(obj, column, value) return new_rows def _move_column(self, frm, to): """ Moves a specified **frm** column to before the specified **to** column. Returns **True** if successful; **False** otherwise. """ to_column = None if to < len(self.__get_columns()): to_column = self.__get_column(to) return self.editor.move_column(self.__get_column(frm), to_column) def _set_data_on_row(self, row, column, value): """ Sets the cell specified by (*row*, *col*) to *value, which can be either a member of the row object, or a no-argument method on that object. """ column.set_value(row, value) def _insert_rows_into_model(self, pos, new_data): """ Inserts the given new rows into the model. """ raw_pos = self.raw_index_of(pos) self.__items()[raw_pos:raw_pos] = new_data def _delete_rows_from_model(self, pos, num_rows): """ Deletes the specified rows from the model. """ raw_rows = sorted( [self.raw_index_of(i) for i in range(pos, pos + num_rows)] ) raw_rows.reverse() items = self.__items() for row in raw_rows: del items[row] return num_rows def _on_data_changed(self): """ Forces the grid to refresh when the underlying list changes. """ # Invalidate the current cache (if any): self._filtered_cache = None self.fire_structure_changed() def _mouse_cell_changed(self, new): """ Handles the user mousing over a specified cell. """ row, col = new column = self.__get_column(col) object = self.get_filtered_item(row) # Update the tooltip if necessary: tooltip = column.get_tooltip(object) if tooltip != self._tooltip: self._tooltip = tooltip self.editor.grid._grid_window.SetToolTip(wx.ToolTip(tooltip)) if column.is_auto_editable(object): x, y, dx, dy = self._bounds_for(row, col) if column.is_editable(object): view = View( Item( name=column.name, editor=column.get_editor(object), style=column.get_style(object), show_label=False, padding=-4, ), kind="info", width=dx, height=dy, ) else: view = column.get_view(object) if view is None: return column.get_object(object).edit_traits( view=view, parent=(x, y, dx, dy) ) def _bounds_for(self, row, col): """ Returns the coordinates and size of the specified cell in the form: ( x, y, dx, dy ). """ grid = self.editor.grid coords = wxg.GridCellCoords(row, col) x, y, dx, dy = grid._grid.BlockToDeviceRect(coords, coords) x, y = grid._grid_window.ClientToScreen(x, y) return (x, y, dx, dy) def _sort_model(self): """ Sorts the underlying model if that is what the user requested. """ editor = self.editor sorted = editor.factory.sort_model and (self._sorter is not None) if sorted: items = self.__items(False)[:] items.sort(key=self._sorter) if self.reverse ^ self._reverse: items.reverse() editor.value = items return sorted def __items(self, ordered=True): """ Returns the raw list of model objects. """ result = self.editor.value if not isinstance(result, SequenceTypes): return [result] if ordered and self.reverse: return ReversedList(result) return result def __filtered_items(self): """ Returns the list of all model objects that pass the current filter. """ fc = self._filtered_cache if fc is None: items = self.__items() filter = self.filter if filter is None: nitems = [nitem for nitem in enumerate(items)] self.filter_summary = "All %s items" % len(nitems) else: if not callable(filter): filter = filter.filter nitems = [ nitem for nitem in enumerate(items) if filter(nitem[1]) ] self.filter_summary = "%s of %s items" % ( len(nitems), len(items), ) sorter = self._sorter if sorter is not None: nitems.sort(key=lambda x: sorter(x[1])) if self._reverse: nitems.reverse() self.editor.filtered_indices = [x[0] for x in nitems] self._filtered_cache = fc = [x[1] for x in nitems] if self.auto_add_row is not None: self._filtered_cache.append(self.auto_add_row) return fc def __get_data_column(self, col): """ Returns a list of model data from the column indexed by *col*. """ column = self.__get_column(col) return [column.get_value(item) for item in self.__filtered_items()] def __get_columns(self): columns = self._columns if columns is None: self._columns = columns = [ c for c in self.editor.columns if c.visible ] return columns def __get_column(self, col): try: return self.__get_columns()[col] except: return self.__get_columns()[0] def __get_column_name(self, col): return self.__get_column(col).name def __get_column_formats(self, col): return None # Not used/implemented currently def _get_column_index_by_trait(self, name): for i, col in enumerate(self.__get_columns()): if name == col.name: return i traitsui-7.2.1/traitsui/wx/rgb_color_trait.py0000644000076500000240000001002014046644454022027 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! """ Trait definition for an RGB-based color, which is a tuple of the form (*red*, *green*, *blue*), where *red*, *green* and *blue* are floats in the range from 0.0 to 1.0. """ import wx from traits.api import Trait, TraitError from traits.trait_base import SequenceTypes ### Note: Import from the source rather than the api to avoid circular imports # since some classes declared in the traits UI api define Color traits which # will end up importing this file. from traitsui.editors.rgb_color_editor import RGBColorEditor from traitsui.wx.color_trait import standard_colors, w3c_color_database # ------------------------------------------------------------------------- # Convert a number into an RGB tuple: # ------------------------------------------------------------------------- def range_check(value): """ Checks that *value* can be converted to a value in the range 0.0 to 1.0. If so, it returns the floating point value; otherwise, it raises a TraitError. """ value = float(value) if 0.0 <= value <= 1.0: return value raise TraitError def convert_to_color(object, name, value): """ Converts a tuple or an integer to an RGB color value, or raises a TraitError if that is not possible. """ if (type(value) in SequenceTypes) and (len(value) == 3): return ( range_check(value[0]), range_check(value[1]), range_check(value[2]), ) if isinstance(value, int): num = int(value) return ( (num // 0x10000) / 255.0, ((num // 0x100) & 0xFF) / 255.0, (num & 0xFF) / 255.0, ) if isinstance(value, wx.Colour): return ( value.Red() / 255.0, value.Green() / 255.0, value.Blue() / 255.0, ) raise TraitError convert_to_color.info = ( "a tuple of the form (r,g,b), where r, g, and b " "are floats in the range from 0.0 to 1.0, or an integer which in hex is of " "the form 0xRRGGBB, where RR is red, GG is green, and BB is blue" ) # ------------------------------------------------------------------------- # Standard colors: # ------------------------------------------------------------------------- # RGB versions of standard colors: rgb_standard_colors = {} for name, color in standard_colors.items(): rgb_standard_colors[name] = ( color.Red() / 255.0, color.Green() / 255.0, color.Blue() / 255.0, ) # Add the W3C colors for color_name in w3c_color_database._color_names: color = w3c_color_database.Find(color_name) rgb_standard_colors[color_name] = ( color.Red() / 255.0, color.Green() / 255.0, color.Blue() / 255.0, ) # ------------------------------------------------------------------------- # Define wxPython specific color traits: # ------------------------------------------------------------------------- ### Note: Declare the editor to be a function which returns the RGBColorEditor # class from traits ui to avoid circular import issues. For backwards # compatibility with previous Traits versions, the 'editors' folder in Traits # project declares 'from api import *' in its __init__.py. The 'api' in turn # can contain classes that have a RGBColor trait which lead to this file getting # imported. This will lead to a circular import when declaring a RGBColor # trait. def get_rgb_color_editor(*args, **traits): from .rgb_color_editor import ToolkitEditorFactory return ToolkitEditorFactory(*args, **traits) # Trait whose value must be an RGB color: RGBColor = Trait( "white", convert_to_color, rgb_standard_colors, editor=get_rgb_color_editor ) traitsui-7.2.1/traitsui/wx/array_editor.py0000644000076500000240000000205714046644454021353 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! """ Defines array editors for the WX user interface toolkit. """ from traitsui.editors.array_editor import SimpleEditor as BaseSimpleEditor from .editor import Editor # ------------------------------------------------------------------------- # 'SimpleEditor' class: # ------------------------------------------------------------------------- class SimpleEditor(BaseSimpleEditor, Editor): """ Simple style of editor for arrays. """ # FIXME: This class has been re-defined here simply so it inherits from the # wx Editor class. pass class ReadonlyEditor(SimpleEditor): #: Set the value of the readonly trait. readonly = True traitsui-7.2.1/traitsui/wx/animated_gif_editor.py0000644000076500000240000000455614046644454022652 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! """ Defines an editor for playing animated GIF files. """ from wx.adv import Animation, GenericAnimationCtrl from traits.api import Bool, Str from traitsui.wx.editor import Editor from traitsui.basic_editor_factory import BasicEditorFactory class _AnimatedGIFEditor(Editor): """ Editor that displays an animated GIF file. """ # ------------------------------------------------------------------------- # Trait definitions: # ------------------------------------------------------------------------- #: Is the animated GIF file currently playing? playing = Bool(True) def init(self, parent): """ Finishes initializing the editor by creating the underlying toolkit widget. """ self._animate = Animation(self.value) self.control = GenericAnimationCtrl(parent, -1, self._animate) self.control.SetUseWindowBackgroundColour() self.sync_value(self.factory.playing, "playing", "from") self.set_tooltip() def update_editor(self): """ Updates the editor when the object trait changes externally to the editor. """ if not self.playing: self.control.Stop() self.control.LoadFile(self.value) self._file_loaded = True if self.playing: self.control.Play() def _playing_changed(self): if self._file_loaded: if self.playing: self.control.Play() else: self.control.Stop() # ------------------------------------------------------------------------- # Create the editor factory object: # ------------------------------------------------------------------------- # wxPython editor factory for animated GIF editors: class AnimatedGIFEditor(BasicEditorFactory): #: The editor class to be created: klass = _AnimatedGIFEditor #: The optional trait used to control whether the animated GIF file is #: playing or not: playing = Str() traitsui-7.2.1/traitsui/wx/history_control.py0000644000076500000240000001350714046644454022132 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! """ Defines the a text entry field (actually a combo-box) with a drop-down list of values previously entered into the control. """ import wx from traits.api import HasPrivateTraits, Instance, Str, List, Int, Bool from pyface.timer.api import do_later from .constants import OKColor, ErrorColor # ------------------------------------------------------------------------- # 'HistoryControl' class: # ------------------------------------------------------------------------- class HistoryControl(HasPrivateTraits): #: The UI control: control = Instance(wx.Window) #: The current value of the control: value = Str() #: Should 'value' be updated on every keystroke? auto_set = Bool(False) #: The current history of the control: history = List(Str) #: The maximum number of history entries allowed: entries = Int(10) #: Is the current value valid? error = Bool(False) # -- Public Methods ------------------------------------------------------- def create_control(self, parent): """ Creates the control. """ self.control = control = wx.ComboBox( parent, -1, self.value, wx.Point(0, 0), wx.Size(-1, -1), self.history, style=wx.CB_DROPDOWN, ) parent.Bind(wx.EVT_COMBOBOX, self._update_value, id=control.GetId()) control.Bind(wx.EVT_KILL_FOCUS, self._kill_focus) parent.Bind(wx.EVT_TEXT_ENTER, self._update_text_value, id=control.GetId()) if self.auto_set: parent.Bind(wx.EVT_TEXT, self._update_value_only, id=control.GetId()) return control def dispose(self): """ Disposes of the control at the end of its life cycle. """ control, self.control = self.control, None parent = control.GetParent() parent.Bind(wx.EVT_COMBOBOX, None, id=control.GetId()) parent.Bind(wx.EVT_TEXT_ENTER, None, id=control.GetId()) control.Unbind(wx.EVT_KILL_FOCUS) def set_value(self, value): """ Sets the specified value and adds it to the history. """ self._update(value) # -- Traits Event Handlers ------------------------------------------------ def _value_changed(self, value): """ Handles the 'value' trait being changed. """ if not self._no_update: control = self.control if control is not None: control.SetValue(value) self._restore = False def _history_changed(self): """ Handles the 'history' being changed. """ if not self._no_update: if self._first_time is None: self._first_time = False if (self.value == "") and (len(self.history) > 0): self.value = self.history[0] self._load_history(select=False) def _error_changed(self, error): """ Handles the 'error' trait being changed. """ if error: self.control.SetBackgroundColour(ErrorColor) else: self.control.SetBackgroundColour(OKColor) self.control.Refresh() # -- Wx Event Handlers ---------------------------------------------------- def _update_value(self, event): """ Handles the user selecting something from the drop-down list of the combobox. """ self._update(event.GetString()) def _update_value_only(self, event): """ Handles the user typing into the text field in 'auto_set' mode. """ self._no_update = True self.value = event.GetString() self._no_update = False def _update_text_value(self, event, select=True): """ Handles the user typing something into the text field of the combobox. """ if not self._no_update: self._update(self.control.GetValue(), select) def _kill_focus(self, event): """ Handles the combobox losing focus. """ self._update_text_value(event, False) event.Skip() # -- Private Methods ------------------------------------------------------ def _update(self, value, select=True): """ Updates the value and history list based on a specified value. """ self._no_update = True if value.strip() != "": history = self.history if (len(history) == 0) or (value != history[0]): if value in history: history.remove(value) history.insert(0, value) del history[self.entries :] self._load_history(value, select) self.value = value self._no_update = False def _load_history(self, restore=None, select=True): """ Loads the current history list into the control. """ control = self.control control.Freeze() if restore is None: restore = control.GetValue() control.Clear() for value in self.history: control.Append(value) self._restore = True do_later(self._thaw_value, restore, select) def _thaw_value(self, restore, select): """ Restores the value of the combobox control. """ control = self.control if control is not None: if self._restore: control.SetValue(restore) if select: control.SetTextSelection(0, len(restore)) control.Thaw() traitsui-7.2.1/traitsui/wx/instance_editor.py0000644000076500000240000004414314046644454022043 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! """ Defines the various instance editors for the wxPython user interface toolkit. """ import wx from pyface.wx.drag_and_drop import PythonDropTarget from traits.api import HasTraits, Instance, Property from traitsui.ui_traits import AView from traitsui.helper import user_name_for from traitsui.handler import Handler from traitsui.instance_choice import InstanceChoiceItem from . import toolkit from .editor import Editor from .constants import DropColor from .helper import TraitsUIPanel, position_window OrientationMap = { "default": None, "horizontal": wx.HORIZONTAL, "vertical": wx.VERTICAL, } # ------------------------------------------------------------------------- # 'CustomEditor' class: # ------------------------------------------------------------------------- class CustomEditor(Editor): """ Custom style of editor for instances. If selection among instances is allowed, the editor displays a combo box listing instances that can be selected. If the current instance is editable, the editor displays a panel containing trait editors for all the instance's traits. """ #: Background color when an item can be dropped on the editor: ok_color = DropColor #: The orientation of the instance editor relative to the instance selector: orientation = wx.VERTICAL #: Class constant: extra = 0 # ------------------------------------------------------------------------- # Trait definitions: # ------------------------------------------------------------------------- #: List of InstanceChoiceItem objects used by the editor items = Property() #: The maximum extra padding that should be allowed around the editor: #: (Override of the Editor base class trait) border_size = 0 #: The view to use for displaying the instance: view = AView def init(self, parent): """ Finishes initializing the editor by creating the underlying toolkit widget. """ factory = self.factory if factory.name != "": self._object, self._name, self._value = self.parse_extended_name( factory.name ) # Create a panel to hold the object trait's view: if factory.editable: self.control = self._panel = parent = TraitsUIPanel(parent, -1) # Build the instance selector if needed: selectable = factory.selectable droppable = factory.droppable items = self.items for item in items: droppable |= item.is_droppable() selectable |= item.is_selectable() if selectable: self._object_cache = {} item = self.item_for(self.value) if item is not None: self._object_cache[id(item)] = self.value self._choice = choice = wx.Choice( parent, -1, wx.Point(0, 0), wx.Size(-1, -1), [] ) choice.Bind(wx.EVT_CHOICE, self.update_object, id=choice.GetId()) if droppable: self._choice.SetBackgroundColour(self.ok_color) self.set_tooltip(self._choice) if factory.name != "": self._object.on_trait_change( self.rebuild_items, self._name, dispatch="ui" ) self._object.on_trait_change( self.rebuild_items, self._name + "_items", dispatch="ui" ) factory.on_trait_change( self.rebuild_items, "values", dispatch="ui" ) factory.on_trait_change( self.rebuild_items, "values_items", dispatch="ui" ) self.rebuild_items() elif droppable: self._choice = wx.TextCtrl(parent, -1, "", style=wx.TE_READONLY) self._choice.SetBackgroundColour(self.ok_color) self.set_tooltip(self._choice) if droppable: self._choice.SetDropTarget(PythonDropTarget(self)) orientation = OrientationMap[factory.orientation] if orientation is None: orientation = self.orientation if (selectable or droppable) and factory.editable: sizer = wx.BoxSizer(orientation) sizer.Add(self._choice, self.extra, wx.EXPAND) if orientation == wx.VERTICAL: sizer.Add( wx.StaticLine(parent, -1, style=wx.LI_HORIZONTAL), 0, wx.EXPAND | wx.TOP | wx.BOTTOM, 5, ) self.create_editor(parent, sizer) parent.SetSizer(sizer) elif self.control is None: if self._choice is None: self._choice = choice = wx.Choice( parent, -1, wx.Point(0, 0), wx.Size(-1, -1), [] ) choice.Bind(wx.EVT_CHOICE, self.update_object, id=choice.GetId()) self.control = self._choice else: sizer = wx.BoxSizer(orientation) self.create_editor(parent, sizer) parent.SetSizer(sizer) # Synchronize the 'view' to use: # fixme: A normal assignment can cause a crash (for unknown reasons) in # some cases, so we make sure that no notifications are generated: self.trait_setq(view=factory.view) self.sync_value(factory.view_name, "view", "from") def dispose(self): """ Disposes of the contents of an editor. """ # Make sure we aren't hanging on to any object refs: self._object_cache = None if self._ui is not None: self._ui.dispose() choice = self._choice if choice is not None: if isinstance(choice, wx.Choice): choice.Bind(wx.EVT_CHOICE, None, id=choice.GetId()) if self._object is not None: self._object.on_trait_change( self.rebuild_items, self._name, remove=True ) self._object.on_trait_change( self.rebuild_items, self._name + "_items", remove=True ) self.factory.on_trait_change( self.rebuild_items, "values", remove=True ) self.factory.on_trait_change( self.rebuild_items, "values_items", remove=True ) super().dispose() def create_editor(self, parent, sizer): """ Creates the editor control. """ self._panel = TraitsUIPanel(parent, -1) sizer.Add(self._panel, 1, wx.EXPAND) def _get_items(self): """ Gets the current list of InstanceChoiceItem items. """ if self._items is not None: return self._items factory = self.factory if self._value is not None: values = self._value() + factory.values else: values = factory.values items = [] adapter = factory.adapter for value in values: if not isinstance(value, InstanceChoiceItem): value = adapter(object=value) items.append(value) self._items = items return items def rebuild_items(self): """ Rebuilds the object selector list. """ # Clear the current cached values: self._items = None # Rebuild the contents of the selector list: name = None value = self.value choice = self._choice choice.Clear() for item in self.items: if item.is_selectable(): item_name = item.get_name() choice.Append(item_name) if item.is_compatible(value): name = item_name # Reselect the current item if possible: if name is not None: choice.SetStringSelection(name) else: # Otherwise, current value is no longer valid, try to discard it: try: self.value = None except: pass def item_for(self, object): """ Returns the InstanceChoiceItem for a specified object. """ for item in self.items: if item.is_compatible(object): return item return None def view_for(self, object, item): """ Returns the view to use for a specified object. """ view = "" if item is not None: view = item.get_view() if view == "": view = self.view return self.ui.handler.trait_view_for( self.ui.info, view, object, self.object_name, self.name ) def update_object(self, event): """ Handles the user selecting a new value from the combo box. """ name = event.GetString() for item in self.items: if name == item.get_name(): id_item = id(item) object = self._object_cache.get(id_item) if object is None: object = item.get_object() if (not self.factory.editable) and item.is_factory: view = self.view_for(object, self.item_for(object)) view.ui(object, self.control, "modal") if self.factory.cachable: self._object_cache[id_item] = object self.value = object self.resynch_editor() break def update_editor(self): """ Updates the editor when the object trait changes externally to the editor. """ # Attach the current object value to the control (for use by # DockWindowFeature): # fixme: This code is somewhat fragile since it assumes that if a # DockControl is involved, the parent of this editor will be the # control being managed by the DockControl. parent = self.control.GetParent() parent._object = self.value dock_control = getattr(parent, "_dock_control", None) if dock_control is not None: dock_control.reset_tab() # Synchronize the editor contents: self.resynch_editor() # Update the selector (if any): choice = self._choice item = self.item_for(self.value) if (choice is not None) and (item is not None): name = item.get_name(self.value) if self._object_cache is not None: if choice.FindString(name) < 0: choice.Append(name) choice.SetStringSelection(name) else: choice.SetValue(name) def resynch_editor(self): """ Resynchronizes the contents of the editor when the object trait changes externally to the editor. """ panel = self._panel if panel is not None: # Compute/update the maximum size the panel has ever been: dx, dy = panel.GetSize() mdx = mdy = 0 if self._panel_size is not None: mdx, mdy = self._panel_size self._panel_size = size = wx.Size(max(mdx, dx), max(mdy, dy)) # Dispose of the previous contents of the panel: panel.SetSizer(None) if self._ui is not None: self._ui.dispose() self._ui = None else: for child in panel.GetChildren(): toolkit.destroy_control(child) # Create the new content for the panel: sizer = wx.BoxSizer(wx.VERTICAL) stretch = 0 value = self.value if not isinstance(value, HasTraits): str_value = "" if value is not None: str_value = self.str_value control = wx.StaticText(panel, -1, str_value) else: view = self.view_for(value, self.item_for(value)) context = value.trait_context() handler = None if isinstance(value, Handler): handler = value context.setdefault("context", self.object) context.setdefault("context_handler", self.ui.handler) self._ui = ui = view.ui( context, panel, "subpanel", value.trait_view_elements(), handler, self.factory.id, ) control = ui.control self.scrollable = ui._scrollable ui.parent = self.ui if view.resizable or view.scrollable or ui._scrollable: stretch = 1 # Make sure the panel and its contents are correctly sized (This # code is complicated by the various layout bugs present in wx. # Tamper with it at your own risk!): control.Freeze() if stretch and (size != (20, 20)): control.SetSize(size) panel.SetSize(size) else: panel.SetSize(control.GetSize()) sizer.Add(control, stretch, wx.EXPAND) panel.SetSizer(sizer) control.Thaw() self.control.Layout() parent = self.control.GetParent() parent.Layout() # It is possible that this instance editor is embedded at some level # in a ScrolledWindow. If so, we need to inform the window that the # size of the editor's contents have (potentially) changed: while (parent is not None) and ( not isinstance(parent, wx.ScrolledWindow) ): parent = parent.GetParent() if parent is not None: parent.SendSizeEvent() def error(self, excp): """ Handles an error that occurs while setting the object's trait value. """ pass def get_error_control(self): """ Returns the editor's control for indicating error status. """ return self._choice or self.control # -- UI preference save/restore interface --------------------------------- def restore_prefs(self, prefs): """ Restores any saved user preference information associated with the editor. """ ui = self._ui if (ui is not None) and (prefs.get("id") == ui.id): ui.set_prefs(prefs.get("prefs")) def save_prefs(self): """ Returns any user preference information associated with the editor. """ ui = self._ui if (ui is not None) and (ui.id != ""): return {"id": ui.id, "prefs": ui.get_prefs()} return None # -- Drag and drop event handlers ----------------------------------------- def wx_dropped_on(self, x, y, data, drag_result): """ Handles a Python object being dropped on the tree. """ for item in self.items: if item.is_droppable() and item.is_compatible(data): if self._object_cache is not None: self.rebuild_items() self.value = data return drag_result return wx.DragNone def wx_drag_over(self, x, y, data, drag_result): """ Handles a Python object being dragged over the tree. """ for item in self.items: if item.is_droppable() and item.is_compatible(data): return drag_result return wx.DragNone # -- Traits event handlers ------------------------------------------------ def _view_changed(self, view): self.resynch_editor() class SimpleEditor(CustomEditor): """ Simple style of editor for instances, which displays a button. Clicking the button displays a dialog box in which the instance can be edited. """ #: Class constants: orientation = wx.HORIZONTAL extra = 2 #: The ui instance for the currently open editor dialog _dialog_ui = Instance("traitsui.ui.UI") def create_editor(self, parent, sizer): """ Creates the editor control (a button). """ self._button = button = wx.Button(parent, -1, "") sizer.Add(button, 1, wx.EXPAND | wx.LEFT, 5) button.Bind(wx.EVT_BUTTON, self.edit_instance, id=button.GetId()) def dispose(self): """ Disposes of the contents of an editor. """ button = self._button if button is not None: button.Bind(wx.EVT_BUTTON, None, id=button.GetId()) if self._dialog_ui is not None: self._dialog_ui.dispose() self._dialog_ui = None super().dispose() def edit_instance(self, event): """ Edit the contents of the object trait when the user clicks the button. """ # Create the user interface: factory = self.factory view = self.ui.handler.trait_view_for( self.ui.info, factory.view, self.value, self.object_name, self.name ) ui = self.value.edit_traits( view, self.control, factory.kind, id=factory.id ) # Check to see if the view was 'modal', in which case it will already # have been closed (i.e. is None) by the time we get control back: if ui.control is not None: # Position the window on the display: position_window(ui.control) # Chain our undo history to the new user interface if it does not # have its own: if ui.history is None: ui.history = self.ui.history self._dialog_ui = ui def resynch_editor(self): """ Resynchronizes the contents of the editor when the object trait changes externally to the editor. """ button = self._button if button is not None: label = self.factory.label if label == "": label = user_name_for(self.name) button.SetLabel(label) button.Enable(isinstance(self.value, HasTraits)) traitsui-7.2.1/traitsui/wx/search_editor.py0000644000076500000240000000546014046644454021503 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! # System library imports import wx # Local imports from .editor import Editor class SearchEditor(Editor): def init(self, parent): """ Finishes initializing the editor by creating the underlying toolkit widget. """ style = 0 if self.factory.enter_set: style = wx.TE_PROCESS_ENTER self.control = wx.SearchCtrl(parent, -1, value=self.value, style=style) self.control.SetDescriptiveText(self.factory.text) self.control.ShowSearchButton(self.factory.search_button) self.control.ShowCancelButton(self.factory.cancel_button) if self.factory.auto_set: self.control.Bind(wx.EVT_TEXT, self.update_object) if self.factory.enter_set: self.control.Bind(wx.EVT_TEXT_ENTER, self.update_object) self.control.Bind(wx.EVT_SEARCHCTRL_SEARCH_BTN, self.update_object) self.control.Bind(wx.EVT_SEARCHCTRL_CANCEL_BTN, self.clear_text) def dispose(self): if self.control is not None: if self.factory.auto_set: self.control.Unbind(wx.EVT_TEXT, handler=self.update_object) if self.factory.enter_set: self.control.Unbind(wx.EVT_TEXT_ENTER, handler=self.update_object) self.control.Unbind(wx.EVT_SEARCHCTRL_SEARCH_BTN, handler=self.update_object) self.control.Unbind(wx.EVT_SEARCHCTRL_CANCEL_BTN, handler=self.clear_text) super().dispose() def update_object(self, event): """ Handles the user entering input data in the edit control. """ if not self._no_update: self.value = self.control.GetValue() if self.factory.search_event_trait != "": setattr(self.object, self.factory.search_event_trait, True) def clear_text(self, event): """ Handles the user pressing the cancel search button. """ if not self._no_update: self.control.SetValue("") self.value = "" if self.factory.search_event_trait != "": setattr(self.object, self.factory.search_event_trait, True) def update_editor(self): """ Updates the editor when the object trait changes externally to the editor. """ if self.control.GetValue() != self.value: self._no_update = True self.control.SetValue(self.str_value) self._no_update = False traitsui-7.2.1/traitsui/wx/color_trait.py0000644000076500000240000001616714046644454021217 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! """ Trait definition for a wxPython-based color. """ import wx from traits.api import Trait, TraitError # Version dependent imports (ColourPtr not defined in wxPython 2.5): try: ColourPtr = wx.ColourPtr except: class ColourPtr(object): pass # ------------------------------------------------------------------------- # W3CColourDatabase # ------------------------------------------------------------------------- class W3CColourDatabase(object): """ Proxy for the ColourDatabase which allows for finding W3C colors. This class is necessary because the wx 'green' is the W3C 'lime', and we need some means to lookup the color names since wx has only a few hardcoded. This class is a proxy because AddColour expects a wx.ColourDatabase instance, not an instance of a subclass """ _database = wx.ColourDatabase() def __init__(self): self._color_names = [ "aqua", "black", "blue", "fuchsia", "gray", "green", "lime", "maroon", "navy", "olive", "purple", "red", "silver", "teal", "white", "yellow", ] self.AddColour("aqua", wx.Colour(0, 0xFF, 0xFF, 255)) self.AddColour("fuchsia", wx.Colour(0xFF, 0, 0xFF, 255)) self.AddColour("green", wx.Colour(0, 0x80, 0, 255)) self.AddColour("lime", wx.Colour(0, 0xFF, 0, 255)) self.AddColour("maroon", wx.Colour(0x80, 0x0, 0, 255)) self.AddColour("navy", wx.Colour(0x00, 0x0, 0x80, 255)) self.AddColour("olive", wx.Colour(0x80, 0x80, 0, 255)) self.AddColour("purple", wx.Colour(0x80, 0x00, 0x80, 255)) self.AddColour("silver", wx.Colour(0xC0, 0xC0, 0xC0, 255)) self.AddColour("teal", wx.Colour(0, 0x80, 0x80, 255)) def AddColour(self, name, color): if name not in self._color_names: self._color_names.append(name) return self._database.AddColour(name, color) def Find(self, color_name): return self._database.Find(color_name) def FindName(self, color): for color_name in self._color_names: if self.Find(color_name) == color: return color_name return "" w3c_color_database = W3CColourDatabase() # ------------------------------------------------------------------------- # Convert a number into a wxColour object: # ------------------------------------------------------------------------- def tuple_to_wxcolor(tup): if 3 <= len(tup) <= 4: for c in tup: if not isinstance(c, int): raise TraitError return wx.Colour(*tup) else: raise TraitError def convert_to_color(object, name, value): """ Converts a number into a wxColour object. """ if isinstance(value, tuple): return tuple_to_wxcolor(value) elif isinstance(value, ColourPtr): return wx.Colour(value.Red(), value.Green(), value.Blue()) elif isinstance(value, wx.Colour): return value elif isinstance(value, str): if value in standard_colors: return standard_colors[value] # Check for tuple-ness tmp = value.strip() if ( tmp.startswith("(") and tmp.endswith(")") and tmp.count(",") in (2, 3) ): tup = eval(tmp) return tuple_to_wxcolor(tup) else: try: num = int(value) except Exception: raise TraitError return wx.Colour(num // 0x10000, (num // 0x100) & 0xFF, num & 0xFF) raise TraitError convert_to_color.info = ( "a string of the form (r,g,b) or (r,g,b,a) where r, " "g, b, and a are integers from 0 to 255, a wx.Colour " "instance, an integer which in hex is of the form " "0xRRGGBB, where RR is red, GG is green, and BB is " "blue" ) # ------------------------------------------------------------------------- # Standard colors: # ------------------------------------------------------------------------- standard_colors = {} for name in [ "aquamarine", "black", "blue", "blue violet", "brown", "cadet blue", "coral", "cornflower blue", "cyan", "dark grey", "dark green", "dark olive green", "dark orchid", "dark slate blue", "dark slate grey", "dark turquoise", "dim grey", "firebrick", "forest green", "gold", "goldenrod", "grey", "green", "green yellow", "indian red", "khaki", "light blue", "light grey", "light steel blue", "lime green", "magenta", "maroon", "medium aquamarine", "medium blue", "medium forest green", "medium goldenrod", "medium orchid", "medium sea green", "medium slate blue", "medium spring green", "medium turquoise", "medium violet red", "midnight blue", "navy", "orange", "orange red", "orchid", "pale green", "pink", "plum", "purple", "red", "salmon", "sea green", "sienna", "sky blue", "slate blue", "spring green", "steel blue", "tan", "thistle", "turquoise", "violet", "violet red", "wheat", "white", "yellow", "yellow green", ]: try: wx_color = w3c_color_database.Find(name) standard_colors[name] = convert_to_color(None, None, wx_color) except: pass # ------------------------------------------------------------------------- # Define wxPython specific color traits: # ------------------------------------------------------------------------- ### Note: Declare the editor to be a function which returns the ColorEditor # class from traits ui to avoid circular import issues. For backwards # compatibility with previous Traits versions, the 'editors' folder in Traits # project declares 'from api import *' in its __init__.py. The 'api' in turn # can contain classes that have a Color trait which lead to this file getting # imported. This leads to a circular import when declaring a Color trait. def get_color_editor(*args, **traits): from .color_editor import ToolkitEditorFactory return ToolkitEditorFactory(*args, **traits) def WxColor(default="white", allow_none=False, **metadata): """ Defines wxPython-specific color traits. """ if default is None: allow_none = True if allow_none: return Trait( default, None, standard_colors, convert_to_color, editor=get_color_editor, **metadata ) return Trait( default, standard_colors, convert_to_color, editor=get_color_editor, **metadata ) traitsui-7.2.1/traitsui/wx/ui_panel.py0000644000076500000240000012237214046644454020466 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! """ Creates a panel-based wxPython user interface for a specified UI object. """ import wx import wx.html as wh import re from html import escape from traits.api import Instance, Undefined from traitsui.api import Group from traitsui.undo import UndoHistory from traitsui.dockable_view_element import DockableViewElement from traitsui.help_template import help_template from traitsui.menu import UndoButton, RevertButton, HelpButton from pyface.api import SystemMetrics from pyface.dock.api import ( DockWindow, DockSizer, DockSection, DockRegion, DockControl, ) from pyface.sizers.flow import FlowSizer from .helper import ( position_window, TraitsUIPanel, TraitsUIScrolledPanel, GroupEditor, ) from .constants import WindowColor from .ui_base import BaseDialog # Pattern of all digits all_digits = re.compile(r"\d+") # Global font used for emphasis emphasis_font = None # Global color used for emphasis emphasis_color = wx.Colour(0, 0, 127) def ui_panel(ui, parent): """ Creates a panel-based wxPython user interface for a specified UI object. """ ui_panel_for(ui, parent, True) def ui_subpanel(ui, parent): """ Creates a subpanel-based wxPython user interface for a specified UI object. A subpanel does not allow control buttons (other than those specified in the UI object). """ ui_panel_for(ui, parent, False) def ui_panel_for(ui, parent, buttons): """ Creates a panel-based wxPython user interface for a specified UI object. """ # Disable screen updates on the parent control while we build the view: parent.Freeze() # Build the view: ui.control = control = Panel(ui, parent, buttons).control # Allow screen updates to occur again: parent.Thaw() control._parent = parent control._object = ui.context.get("object") control._ui = ui try: ui.prepare_ui() except: control.Destroy() ui.control = None ui.result = False raise ui.restore_prefs() ui.result = True class Panel(BaseDialog): """ wxPython user interface panel for Traits-based user interfaces. """ def __init__(self, ui, parent, allow_buttons): """ Initializes the object. """ self.ui = ui history = None view = ui.view title = view.title # Reset any existing history listeners: history = ui.history if history is not None: history.observe( self._on_undoable, "undoable", remove=True, dispatch="ui" ) history.observe( self._on_redoable, "redoable", remove=True, dispatch="ui" ) history.observe( self._on_revertable, "undoable", remove=True, dispatch="ui" ) # Determine if we need any buttons or an 'undo' history: buttons = [self.coerce_button(button) for button in view.buttons] nbuttons = len(buttons) if nbuttons == 0: if view.undo: self.check_button(buttons, UndoButton) if view.revert: self.check_button(buttons, RevertButton) if view.help: self.check_button(buttons, HelpButton) if allow_buttons and (history is None): for button in buttons: if self.is_button(button, "Undo") or self.is_button( button, "Revert" ): history = UndoHistory() break ui.history = history # Create a container panel to put everything in: cpanel = getattr(self, "control", None) if cpanel is not None: cpanel.SetSizer(None) cpanel.DestroyChildren() else: self.control = cpanel = TraitsUIPanel(parent, -1) # Create the actual trait sheet panel and embed it in a scrollable # window (if requested): sw_sizer = wx.BoxSizer(wx.VERTICAL) if ui.scrollable: sizer = wx.BoxSizer(wx.VERTICAL) sw = TraitsUIScrolledPanel(cpanel) sizer.Add(panel(ui, sw), 1, wx.EXPAND) sw.SetSizerAndFit(sizer) sw.SetScrollRate(16, 16) else: sw = panel(ui, cpanel) if (title != "") and ( not isinstance(getattr(parent, "owner", None), DockWindow) ): sw_sizer.Add( heading_text(cpanel, text=title).control, 0, wx.EXPAND ) self.add_toolbar(sw_sizer) sw_sizer.Add(sw, 1, wx.EXPAND) if allow_buttons and ( (nbuttons != 1) or (not self.is_button(buttons[0], "")) ): # Add the special function buttons: sw_sizer.Add(wx.StaticLine(cpanel, -1), 0, wx.EXPAND) b_sizer = wx.BoxSizer(wx.HORIZONTAL) for button in buttons: if self.is_button(button, "Undo"): self.undo = self.add_button( button, b_sizer, self._on_undo, False ) self.redo = self.add_button( button, b_sizer, self._on_redo, False, "Redo" ) history.observe( self._on_undoable, "undoable", dispatch="ui" ) history.observe( self._on_redoable, "redoable", dispatch="ui" ) elif self.is_button(button, "Revert"): self.revert = self.add_button( button, b_sizer, self._on_revert, False ) history.observe( self._on_revertable, "undoable", dispatch="ui" ) elif self.is_button(button, "Help"): self.add_button(button, b_sizer, self._on_help) elif not self.is_button(button, ""): self.add_button(button, b_sizer) sw_sizer.Add(b_sizer, 0, wx.ALIGN_RIGHT | wx.ALL, 5) cpanel.SetSizerAndFit(sw_sizer) def _on_undoable(self, event): """ Handles a change to the "undoable" state of the undo history. """ state = event.new self.undo.Enable(state) def _on_redoable(self, event): """ Handles a change to the "redoable" state of the undo history. """ state = event.new self.redo.Enable(state) def _on_revertable(self, event): """ Handles a change to the "revert" state. """ state = event.new self.revert.Enable(state) def add_toolbar(self, sizer): """ Adds an optional toolbar to the dialog. """ toolbar = self.ui.view.toolbar if toolbar is not None: self._last_group = self._last_parent = None sizer.Add( toolbar.create_tool_bar(self.control, self), 0, wx.EXPAND ) self._last_group = self._last_parent = None # ------------------------------------------------------------------------- # Creates a panel-based wxPython user interface for a specified UI object: # # Note: This version does not modify the UI object passed to it. # ------------------------------------------------------------------------- def panel(ui, parent): """ Creates a panel-based wxPython user interface for a specified UI object. This function does not modify the UI object passed to it """ # Bind the context values to the 'info' object: ui.info.bind_context() # Get the content that will be displayed in the user interface: content = ui._groups # If there is 0 or 1 Groups in the content, create a single panel for it: if len(content) <= 1: panel = TraitsUIPanel(parent, -1) if len(content) == 1: # Fill the panel with the Group's content: sg_sizer, resizable, contents = fill_panel_for_group( panel, content[0], ui ) sizer = panel.GetSizer() if sizer is not sg_sizer: sizer.Add(sg_sizer, 1, wx.EXPAND) # Make sure the panel and its contents have been laid out properly: sizer.Fit(panel) # Return the panel that was created: return panel # Create a notebook which will contain a page for each group in the # content: nb = create_notebook_for_items(content, ui, parent, None) nb.ui = ui # Notice when the notebook page changes (to display correct help) ###parent.Bind(wx.EVT_NOTEBOOK_PAGE_CHANGED, _page_changed, id=nb.GetId()) # Return the notebook as the result: return nb # ------------------------------------------------------------------------- # Creates a notebook and adds a list of groups or items to it as separate # pages: # ------------------------------------------------------------------------- def create_notebook_for_items( content, ui, parent, group, item_handler=None, is_dock_window=False ): """ Creates a notebook and adds a list of groups or items to it as separate pages. """ if is_dock_window: nb = parent else: dw = DockWindow( parent, handler=ui.handler, handler_args=(ui.info,), id=ui.id ) if group is not None: dw.theme = group.dock_theme nb = dw.control pages = [] count = 0 # Create a notebook page for each group or item in the content: active = 0 for index, item in enumerate(content): if isinstance(item, Group): # Create the group as a nested DockWindow item: if item.selected: active = index sg_sizer, resizable, contents = fill_panel_for_group( nb, item, ui, suppress_label=True, is_dock_window=True ) # If the result is a region (i.e. notebook) with only one page, # collapse it down into just the contents of the region: if isinstance(contents, DockRegion) and ( len(contents.contents) == 1 ): contents = contents.contents[0] # Add the content to the notebook as a new page: pages.append(contents) else: # Create the new page as a simple DockControl containing the # specified set of controls: page_name = item.get_label(ui) count += 1 if page_name == "": page_name = "Page %d" % count sizer = wx.BoxSizer(wx.VERTICAL) panel = TraitsUIPanel(nb, -1) panel.SetSizer(sizer) pages.append( DockControl( name=page_name, image=item.image, id=item.get_id(), style=item.dock, dockable=DockableViewElement(ui=ui, element=item), export=item.export, control=panel, ) ) item_handler(item, panel, sizer) panel.GetSizer().Fit(panel) region = DockRegion(contents=pages, active=active) # If the caller is a DockWindow, return the region as the result: if is_dock_window: return region nb.SetSizer(DockSizer(contents=DockSection(contents=[region]))) # Return the notebook as the result: return nb def _page_changed(event): nb = event.GetEventObject() nb.ui._active_group = event.GetSelection() def show_help(ui, button): """ Displays a help window for the specified UI's active Group. """ group = ui._groups[ui._active_group] template = help_template() if group.help != "": header = template.group_help % escape(group.help) else: header = template.no_group_help fields = [] for item in group.get_content(False): if not item.is_spacer(): fields.append( template.item_help % (escape(item.get_label(ui)), escape(item.get_help(ui))) ) html_content = template.group_html % (header, "\n".join(fields)) HTMLHelpWindow(button, html_content, 0.25, 0.33) def show_help_popup(event): """ Displays a pop-up help window for a single trait. """ control = event.GetEventObject() template = help_template() # Note: The following check is necessary because under Linux, we get back # a control which does not have the 'help' trait defined (it is the parent # of the object with the 'help' trait): help = getattr(control, "help", None) if help is not None: html_content = template.item_html % (control.GetLabel(), help) HTMLHelpWindow(control, html_content, 0.25, 0.13) def fill_panel_for_group( panel, group, ui, suppress_label=False, is_dock_window=False, create_panel=False, ): """ Builds the user interface for a specified Group within a specified Panel. """ fp = FillPanel( panel, group, ui, suppress_label, is_dock_window, create_panel ) return (fp.control or fp.sizer, fp.resizable, fp.dock_contents) class FillPanel(object): """ A subpanel for a single group of items. """ def __init__( self, panel, group, ui, suppress_label, is_dock_window, create_panel ): """ Initializes the object. """ # Get the contents of the group: content = group.get_content() # Create a group editor object if one is needed: self.control = self.sizer = editor = None self.ui = ui self.group = group self.is_horizontal = group.orientation == "horizontal" layout = group.layout is_scrolled_panel = group.scrollable is_splitter = layout == "split" is_tabbed = layout == "tabbed" id = group.id # Assume our contents are not resizable: self.resizable = False if is_dock_window and (is_splitter or is_tabbed): if is_splitter: self.dock_contents = self.add_dock_window_splitter_items( panel, content, group ) else: self.resizable = group.springy self.dock_contents = create_notebook_for_items( content, ui, panel, group, self.add_notebook_item, True ) return if ( is_dock_window or create_panel or is_scrolled_panel or (id != "") or (group.visible_when != "") or (group.enabled_when != "") ): if is_scrolled_panel: new_panel = TraitsUIScrolledPanel(panel) new_panel.SetMinSize(panel.GetMinSize()) self.resizable = True else: new_panel = TraitsUIPanel(panel, -1) sizer = panel.GetSizer() if sizer is None: sizer = wx.BoxSizer(wx.VERTICAL) panel.SetSizer(sizer) self.control = panel = new_panel if is_splitter or is_tabbed: editor = DockWindowGroupEditor(control=panel, ui=ui) else: editor = GroupEditor(control=panel) if id != "": ui.info.bind(group.id, editor) if group.visible_when != "": ui.add_visible(group.visible_when, editor) if group.enabled_when != "": ui.add_enabled(group.enabled_when, editor) self.panel = panel self.dock_contents = None # Determine the horizontal/vertical orientation of the group: if self.is_horizontal: orientation = wx.HORIZONTAL else: orientation = wx.VERTICAL # Set up a group with or without a border around its contents: label = "" if not suppress_label: label = group.label if group.show_border: box = wx.StaticBox(panel, -1, label) self._set_owner(box, group) self.sizer = wx.StaticBoxSizer(box, orientation) else: if layout == "flow": self.sizer = FlowSizer(orientation) else: self.sizer = wx.BoxSizer(orientation) if label != "": self.sizer.Add( heading_text(panel, text=label).control, 0, wx.EXPAND | wx.LEFT | wx.TOP | wx.RIGHT, 4, ) # If no sizer has been specified for the panel yet, make the new sizer # the layout sizer for the panel: if panel.GetSizer() is None: panel.SetSizer(self.sizer) # Set up scrolling now that the sizer has been set: if is_scrolled_panel: if self.is_horizontal: panel.SetupScrolling(scroll_y=False) else: panel.SetupScrolling(scroll_x=False) if is_splitter: dw = DockWindow( panel, handler=ui.handler, handler_args=(ui.info,), id=ui.id, theme=group.dock_theme, ).control if editor is not None: editor.dock_window = dw dw.SetSizer( DockSizer( contents=self.add_dock_window_splitter_items( dw, content, group ) ) ) self.sizer.Add(dw, 1, wx.EXPAND) elif len(content) > 0: if is_tabbed: self.resizable = group.springy dw = create_notebook_for_items( content, ui, panel, group, self.add_notebook_item ) if editor is not None: editor.dock_window = dw self.sizer.Add(dw, self.resizable, wx.EXPAND) # Check if content is all Group objects: elif layout == "fold": self.resizable = True self.sizer.Add( self.create_fold_for_items(panel, content), 1, wx.EXPAND ) elif isinstance(content[0], Group): # If so, add them to the panel and exit: self.add_groups(content, panel) else: self.add_items(content, panel, self.sizer) # If the caller is a DockWindow, we need to define the content we are # adding to it: if is_dock_window: self.dock_contents = DockRegion( contents=[ DockControl( name=group.get_label(self.ui), image=group.image, id=group.get_id(), style=group.dock, dockable=DockableViewElement(ui=ui, element=group), export=group.export, control=panel, ) ] ) def add_dock_window_splitter_items(self, window, content, group): """ Adds a set of groups or items separated by splitter bars to a DockWindow. """ contents = [ self.add_dock_window_splitter_item(window, item, group) for item in content ] # Create a splitter group to hold the contents: result = DockSection(contents=contents, is_row=self.is_horizontal) # If nothing is resizable, then mark each DockControl as such: if not self.resizable: for item in result.get_controls(): item.resizable = False # Return the DockSection we created: return result def add_dock_window_splitter_item(self, window, item, group): """ Adds a single group or item to a DockWindow. """ if isinstance(item, Group): sizer, resizable, contents = fill_panel_for_group( window, item, self.ui, suppress_label=True, is_dock_window=True ) self.resizable |= resizable return contents orientation = wx.VERTICAL if self.is_horizontal: orientation = wx.HORIZONTAL sizer = wx.BoxSizer(orientation) panel = TraitsUIPanel(window, -1) panel.SetSizer(sizer) self.add_items([item], panel, sizer) return DockRegion( contents=[ DockControl( name=item.get_label(self.ui), image=item.image, id=item.get_id(), style=item.dock, dockable=DockableViewElement(ui=self.ui, element=item), export=item.export, control=panel, ) ] ) def create_fold_for_items(self, window, content): """ Adds a set of groups or items as vertical notebook pages to a vertical notebook. """ raise NotImplementedError("VFold is not implemented for Wx backend") def create_fold_for_item(self, notebook, item): """ Adds a single group or item to a vertical notebook. """ # Create a new notebook page: page = notebook.create_page() # Create the page contents: if isinstance(item, Group): panel, resizable, contents = fill_panel_for_group( page.parent, item, self.ui, suppress_label=True, create_panel=True, ) else: panel = TraitsUIPanel(page.parent, -1) sizer = wx.BoxSizer(wx.VERTICAL) panel.SetSizer(sizer) self.add_items([item], panel, sizer) # Set the page name and control: page.name = item.get_label(self.ui) page.control = panel # Return the new notebook page: return page def add_notebook_item(self, item, parent, sizer): """ Adds a single Item to a notebook. """ self.add_items([item], parent, sizer) def add_groups(self, content, panel): """ Adds a list of Group objects to the panel. """ sizer = self.sizer # Process each group: for subgroup in content: # Add the sub-group to the panel: sg_sizer, sg_resizable, contents = fill_panel_for_group( panel, subgroup, self.ui ) # If the sub-group is resizable: if sg_resizable: # Then so are we: self.resizable = True # Add the sub-group so that it can be resized by the layout: sizer.Add(sg_sizer, 1, wx.EXPAND | wx.ALL, 2) else: style = wx.EXPAND | wx.ALL growable = 0 if self.is_horizontal: if subgroup.springy: growable = 1 sizer.Add(sg_sizer, growable, style, 2) def _label_when(self): """Set the visible and enabled states of all labels as controlled by a 'visible_when' or 'enabled_when' expression. """ self._evaluate_label_condition(self._label_enabled_whens, "enabled") self._evaluate_label_condition(self._label_visible_whens, "visible") def _evaluate_label_condition(self, conditions, kind): """Evaluates a list of (eval, widget) pairs and calls the appropriate method on the label widget to toggle whether it is visible/enabled as needed. """ context = self.ui._get_context(self.ui.context) method_dict = {"visible": "Show", "enabled": "Enable"} for when, label in conditions: method_to_call = getattr(label, method_dict[kind]) try: cond_value = eval(when, globals(), context) method_to_call(cond_value) except Exception: # catch errors in the validate_when expression from traitsui.api import raise_to_debug raise_to_debug() def add_items(self, content, panel, sizer): """ Adds a list of Item objects to the panel. """ # Get local references to various objects we need: ui = self.ui info = ui.info handler = ui.handler group = self.group show_left = group.show_left padding = group.padding col = -1 col_incr = 1 self.label_flags = 0 self._label_enabled_whens = [] self._label_visible_whens = [] show_labels = False for item in content: show_labels |= item.show_label if (not self.is_horizontal) and (show_labels or (group.columns > 1)): # For a vertical list of Items with labels or multiple columns, use # a 'FlexGridSizer': self.label_pad = 0 cols = group.columns if show_labels: cols *= 2 col_incr = 2 flags = wx.TOP | wx.BOTTOM border_size = 1 item_sizer = wx.FlexGridSizer(0, cols, 0, 5) if show_left: self.label_flags = wx.ALIGN_RIGHT if show_labels: for i in range(1, cols, 2): item_sizer.AddGrowableCol(i) else: # Otherwise, the current sizer will work as is: self.label_pad = 4 cols = 1 flags = wx.ALL border_size = 1 item_sizer = sizer # Process each Item in the list: for item in content: # Get the name in order to determine its type: name = item.name # Check if is a label: if name == "": label = item.label if label != "": # Update the column counter: col += col_incr # If we are building a multi-column layout with labels, # just add space in the next column: if (cols > 1) and show_labels: item_sizer.Add((1, 1)) if item.style == "simple": # Add a simple text label: label = wx.StaticText( panel, -1, label, style=wx.ALIGN_LEFT ) item_sizer.Add(label, 0, wx.EXPAND) else: # Add the label to the sizer: label = heading_text(panel, text=label).control item_sizer.Add( label, 0, wx.TOP | wx.BOTTOM | wx.EXPAND, 3 ) if item.emphasized: self._add_emphasis(label) if item.visible_when: self._label_visible_whens.append((item.visible_when, label)) if item.enabled_when: self._label_enabled_whens.append((item.enabled_when, label)) # Continue on to the next Item in the list: continue # Update the column counter: col += col_incr # Check if it is a separator: if name == "_": for i in range(cols): if self.is_horizontal: # Add a vertical separator: line = wx.StaticLine(panel, -1, style=wx.LI_VERTICAL) item_sizer.Add( line, 0, wx.LEFT | wx.RIGHT | wx.EXPAND, 2 ) else: # Add a horizontal separator: line = wx.StaticLine(panel, -1, style=wx.LI_HORIZONTAL) item_sizer.Add( line, 0, wx.TOP | wx.BOTTOM | wx.EXPAND, 2 ) self._set_owner(line, item) # Continue on to the next Item in the list: continue # Convert a blank to a 5 pixel spacer: if name == " ": name = "5" # Check if it is a spacer: if all_digits.match(name): # If so, add the appropriate amount of space to the sizer: n = int(name) if self.is_horizontal: item_sizer.Add((n, 1)) else: spacer = (1, n) item_sizer.Add(spacer) if show_labels: item_sizer.Add(spacer) # Continue on to the next Item in the list: continue # Otherwise, it must be a trait Item: object = eval(item.object_, globals(), ui.context) trait = object.base_trait(name) desc = trait.tooltip if desc is None: desc = "Specifies " + trait.desc if trait.desc else "" label = None # If we are displaying labels on the left, add the label to the # user interface: if show_left: if item.show_label: label = self.create_label( item, ui, desc, panel, item_sizer, border=group.show_border, ) elif (cols > 1) and show_labels: label = self.dummy_label(panel, item_sizer) # Get the editor factory associated with the Item: editor_factory = item.editor if editor_factory is None: editor_factory = trait.get_editor() # If still no editor factory found, use a default text editor: if editor_factory is None: from .text_editor import ToolkitEditorFactory editor_factory = ToolkitEditorFactory() # If the item has formatting traits set them in the editor # factory: if item.format_func is not None: editor_factory.format_func = item.format_func if item.format_str != "": editor_factory.format_str = item.format_str # If the item has an invalid state extended trait name, set it # in the editor factory: if item.invalid != "": editor_factory.invalid = item.invalid # Set up the background image (if used): item_panel = panel # Create the requested type of editor from the editor factory: factory_method = getattr(editor_factory, item.style + "_editor") editor = factory_method( ui, object, name, item.tooltip, item_panel ).trait_set(item=item, object_name=item.object) # Tell editor to actually build the editing widget: editor.prepare(item_panel) # Set the initial 'enabled' state of the editor from the factory: editor.enabled = editor_factory.enabled # Add emphasis to the editor control if requested: if item.emphasized: self._add_emphasis(editor.control) # Give the editor focus if it requested it: if item.has_focus: editor.control.SetFocus() # Adjust the maximum border size based on the editor's settings: border_size = min(border_size, editor.border_size) # Set up the reference to the correct 'control' to use in the # following section, depending upon whether we have wrapped an # ImagePanel around the editor control or not: control = editor.control width, height = control.GetSize() # Set the correct size on the control, as specified by the user: scrollable = editor.scrollable item_width = item.width item_height = item.height growable = 0 if (item_width != -1.0) or (item_height != -1.0): if (0.0 < item_width <= 1.0) and self.is_horizontal: growable = int(1000.0 * item_width) item_width = -1 item_width = int(item_width) if item_width < -1: item_width = -item_width elif item_width != -1: item_width = max(item_width, width) if (0.0 < item_height <= 1.0) and (not self.is_horizontal): growable = int(1000.0 * item_height) item_height = -1 item_height = int(item_height) if item_height < -1: item_height = -item_height elif item_height != -1: item_height = max(item_height, height) control.SetMinSize(wx.Size(item_width, item_height)) # Bind the item to the control and all of its children: self._set_owner(control, item) # Bind the editor into the UIInfo object name space so it can be # referred to by a Handler while the user interface is active: id = item.id or name info.bind(id, editor, item.id) # Also, add the editors to the list of editors used to construct # the user interface: ui._editors.append(editor) # If the handler wants to be notified when the editor is created, # add it to the list of methods to be called when the UI is # complete: defined = getattr(handler, id + "_defined", None) if defined is not None: ui.add_defined(defined) # If the editor is conditionally visible, add the visibility # 'expression' and the editor to the UI object's list of monitored # objects: if item.visible_when != "": ui.add_visible(item.visible_when, editor) # If the editor is conditionally enabled, add the enabling # 'expression' and the editor to the UI object's list of monitored # objects: if item.enabled_when != "": ui.add_enabled(item.enabled_when, editor) # Add the created editor control to the sizer with the appropriate # layout flags and values: ui._scrollable |= scrollable item_resizable = (item.resizable is True) or ( (item.resizable is Undefined) and scrollable ) if item_resizable: growable = growable or 500 self.resizable = True elif item.springy: growable = growable or 500 # The following is a hack to allow 'readonly' text fields to # work correctly (wx has a bug that setting wx.EXPAND on a # StaticText control seems to cause the text to be aligned higher # than it would be otherwise, causing it to misalign with its # label). layout_style = editor.layout_style if not show_labels: layout_style |= wx.EXPAND item_sizer.Add( control, growable, flags | layout_style, max(0, border_size + padding + item.padding), ) # If we are displaying labels on the right, add the label to the # user interface: if not show_left: if item.show_label: label = self.create_label( item, ui, desc, panel, item_sizer, "", wx.RIGHT ) elif (cols > 1) and show_labels: label = self.dummy_label(panel, item_sizer) # If the Item is resizable, and we are using a multi-column grid: if item_resizable and (cols > 1): # Mark the entire row as growable: item_sizer.AddGrowableRow(col // cols) # Save the reference to the label control (if any) in the editor: editor.label_control = label if (len(self._label_enabled_whens) + len(self._label_visible_whens)) > 0: for object in self.ui.context.values(): object.on_trait_change(lambda: self._label_when(), dispatch="ui") # If we created a grid sizer, add it to the original sizer: if item_sizer is not sizer: growable = 0 if self.resizable: growable = 1 sizer.Add(item_sizer, growable, wx.EXPAND | wx.ALL, 2) def create_label( self, item, ui, desc, parent, sizer, suffix=":", pad_side=wx.LEFT, border=False, ): """ Creates an item label. """ label = item.get_label(ui) if (label == "") or (label[-1:] in "?=:;,.<>/\\\"'-+#|"): suffix = "" control = wx.StaticText( parent, -1, label + suffix, style=wx.ALIGN_LEFT | wx.SIMPLE_BORDER if border else wx.NO_BORDER, ) self._set_owner(control, item) if item.emphasized: self._add_emphasis(control) # XXX: Turning off help popups for now # control.Bind(wx.EVT_LEFT_UP, show_help_popup) control.help = item.get_help(ui) control.SetToolTip(wx.ToolTip(item.get_help(ui))) sizer.Add( control, 0, self.label_flags | wx.ALIGN_TOP | pad_side, self.label_pad, ) if desc != "": control.SetToolTip(desc) return control def dummy_label(self, parent, sizer): """ Creates an item label. """ control = wx.StaticText(parent, -1, "", style=wx.ALIGN_RIGHT) sizer.Add(control, 0) return control def _add_emphasis(self, control): """ Adds emphasis to a specified control's font. """ global emphasis_font control.SetForegroundColour(emphasis_color) if emphasis_font is None: font = control.GetFont() emphasis_font = wx.Font( font.GetPointSize() + 1, font.GetFamily(), font.GetStyle(), wx.BOLD, ) control.SetFont(emphasis_font) def _set_owner(self, control, owner): control._owner = owner for child in control.GetChildren(): self._set_owner(child, owner) class DockWindowGroupEditor(GroupEditor): """ Editor for a group which displays a DockWindow. """ # ------------------------------------------------------------------------- # Trait definitions: # ------------------------------------------------------------------------- #: DockWindow for the group dock_window = Instance(wx.Window) # -- UI preference save/restore interface --------------------------------- def restore_prefs(self, prefs): """ Restores any saved user preference information associated with the editor. """ if isinstance(prefs, dict): structure = prefs.get("structure") else: structure = prefs self.dock_window.GetSizer().SetStructure(self.dock_window, structure) self.dock_window.Layout() def save_prefs(self): """ Returns any user preference information associated with the editor. """ return {"structure": self.dock_window.GetSizer().GetStructure()} # -- End UI preference save/restore interface ----------------------------- class HTMLHelpWindow(wx.Frame): """ Window for displaying Traits-based help text with HTML formatting. """ def __init__(self, parent, html_content, scale_dx, scale_dy): """ Initializes the object. """ wx.Frame.__init__(self, parent, -1, "Help", style=wx.SIMPLE_BORDER) self.SetBackgroundColour(WindowColor) # Wrap the dialog around the image button panel: sizer = wx.BoxSizer(wx.VERTICAL) html_control = wh.HtmlWindow(self) html_control.SetBorders(2) html_control.SetPage(html_content) sizer.Add(html_control, 1, wx.EXPAND) sizer.Add(wx.StaticLine(self, -1), 0, wx.EXPAND) b_sizer = wx.BoxSizer(wx.HORIZONTAL) button = wx.Button(self, -1, "OK") self.Bind(wx.EVT_BUTTON, self._on_ok, id=button.GetId()) b_sizer.Add(button, 0) sizer.Add(b_sizer, 0, wx.ALIGN_RIGHT | wx.ALL, 5) self.SetSizer(sizer) self.SetSize( wx.Size(int(scale_dx * SystemMetrics().screen_width), int(scale_dy * SystemMetrics().screen_height)) ) # Position and show the dialog: position_window(self, parent=parent) self.Show() def _on_ok(self, event): """ Handles the window being closed. """ self.Unbind(wx.EVT_BUTTON) self.Destroy() # ------------------------------------------------------------------------- # Creates a Pyface HeadingText control: # ------------------------------------------------------------------------- HeadingText = None def heading_text(*args, **kw): """ Creates a Pyface HeadingText control. """ global HeadingText if HeadingText is None: from pyface.heading_text import HeadingText return HeadingText(*args, **kw) traitsui-7.2.1/traitsui/wx/title_editor.py0000644000076500000240000000377414046644454021365 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! """ Define an editor that displays a string value as a title. """ from .editor import Editor from pyface.heading_text import HeadingText # FIXME: TitleEditor (the editor factory for title editors) is a proxy class # defined here just for backward compatibility. The class has been moved to # traitsui.editors.title_editor. from traitsui.editors.title_editor import TitleEditor # ------------------------------------------------------------------------- # '_TitleEditor' class: # ------------------------------------------------------------------------- class _TitleEditor(Editor): # ------------------------------------------------------------------------- # Finishes initializing the editor by creating the underlying toolkit # widget: # ------------------------------------------------------------------------- def init(self, parent): """ Finishes initializing the editor by creating the underlying toolkit widget. """ self._control = HeadingText(parent) self.control = self._control.control self.set_tooltip() # ------------------------------------------------------------------------- # Updates the editor when the object trait changes external to the editor: # ------------------------------------------------------------------------- def update_editor(self): """ Updates the editor when the object trait changes external to the editor. """ self._control.text = self.str_value SimpleEditor = _TitleEditor CustomEditor = _TitleEditor ReadonlyEditor = _TitleEditor TextEditor = _TitleEditor traitsui-7.2.1/traitsui/wx/toolkit.py0000644000076500000240000004315214046644454020355 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! """ Defines the concrete implementations of the traits Toolkit interface for the wxPython user interface toolkit. """ # Make sure that importimg from this backend is OK: import logging from traitsui.toolkit import assert_toolkit_import assert_toolkit_import(["wx"]) import wx # Ensure that we can import Pyface backend. This starts App as a side-effect. from pyface.toolkit import toolkit_object as pyface_toolkit _app = pyface_toolkit("init:_app") from traits.api import HasPrivateTraits, Instance from traits.trait_notifiers import set_ui_handler from pyface.api import SystemMetrics from pyface.wx.drag_and_drop import PythonDropTarget from traitsui.theme import Theme from traitsui.ui import UI from traitsui.toolkit import Toolkit from .constants import WindowColor from .helper import position_window logger = logging.getLogger(__name__) #: Mapping from wx events to method suffixes. EventSuffix = { wx.wxEVT_LEFT_DOWN: "left_down", wx.wxEVT_LEFT_DCLICK: "left_dclick", wx.wxEVT_LEFT_UP: "left_up", wx.wxEVT_MIDDLE_DOWN: "middle_down", wx.wxEVT_MIDDLE_DCLICK: "middle_dclick", wx.wxEVT_MIDDLE_UP: "middle_up", wx.wxEVT_RIGHT_DOWN: "right_down", wx.wxEVT_RIGHT_DCLICK: "right_dclick", wx.wxEVT_RIGHT_UP: "right_up", wx.wxEVT_MOTION: "mouse_move", wx.wxEVT_ENTER_WINDOW: "enter", wx.wxEVT_LEAVE_WINDOW: "leave", wx.wxEVT_MOUSEWHEEL: "mouse_wheel", wx.wxEVT_PAINT: "paint", } #: Types of popup views: Popups = {"popup", "popover", "info"} # ------------------------------------------------------------------------- # Traits UI dispatch infrastructure # ------------------------------------------------------------------------- def ui_handler(handler, *args): """ Handles UI notification handler requests that occur on a thread other than the UI thread. """ wx.CallAfter(handler, *args) # Tell the traits notification handlers to use this UI handler set_ui_handler(ui_handler) # ------------------------------------------------------------------------- # Wx Toolkit Implementation # ------------------------------------------------------------------------- class GUIToolkit(Toolkit): """ Implementation class for wxPython toolkit. """ def ui_panel(self, ui, parent): """ Creates a wxPython panel-based user interface using information from the specified UI object. """ from . import ui_panel ui_panel.ui_panel(ui, parent) def ui_subpanel(self, ui, parent): """ Creates a wxPython subpanel-based user interface using information from the specified UI object. """ from . import ui_panel ui_panel.ui_subpanel(ui, parent) def ui_livemodal(self, ui, parent): """ Creates a wxPython modal "live update" dialog user interface using information from the specified UI object. """ from . import ui_live ui_live.ui_livemodal(ui, parent) def ui_live(self, ui, parent): """ Creates a wxPython non-modal "live update" window user interface using information from the specified UI object. """ from . import ui_live ui_live.ui_live(ui, parent) def ui_modal(self, ui, parent): """ Creates a wxPython modal dialog user interface using information from the specified UI object. """ from . import ui_modal ui_modal.ui_modal(ui, parent) def ui_nonmodal(self, ui, parent): """ Creates a wxPython non-modal dialog user interface using information from the specified UI object. """ from . import ui_modal ui_modal.ui_nonmodal(ui, parent) def ui_popup(self, ui, parent): """ Creates a wxPython temporary "live update" popup dialog user interface using information from the specified UI object. """ from . import ui_live ui_live.ui_popup(ui, parent) def ui_popover(self, ui, parent): """ Creates a wxPython temporary "live update" popup dialog user interface using information from the specified UI object. """ from . import ui_live ui_live.ui_popover(ui, parent) def ui_info(self, ui, parent): """ Creates a wxPython temporary "live update" popup dialog user interface using information from the specified UI object. """ from . import ui_live ui_live.ui_info(ui, parent) def ui_wizard(self, ui, parent): """ Creates a wxPython wizard dialog user interface using information from the specified UI object. """ from . import ui_wizard ui_wizard.ui_wizard(ui, parent) def view_application( self, context, view, kind=None, handler=None, id="", scrollable=None, args=None, ): """ Creates a wxPython modal dialog user interface that runs as a complete application, using information from the specified View object. Parameters ---------- context : object or dictionary A single object or a dictionary of string/object pairs, whose trait attributes are to be edited. If not specified, the current object is used. view : view or string A View object that defines a user interface for editing trait attribute values. kind : string The type of user interface window to create. See the **traitsui.view.kind_trait** trait for values and their meanings. If *kind* is unspecified or None, the **kind** attribute of the View object is used. handler : Handler object A handler object used for event handling in the dialog box. If None, the default handler for Traits UI is used. id : string A unique ID for persisting preferences about this user interface, such as size and position. If not specified, no user preferences are saved. scrollable : Boolean Indicates whether the dialog box should be scrollable. When set to True, scroll bars appear on the dialog box if it is not large enough to display all of the items in the view at one time. """ from . import view_application return view_application.view_application( context, view, kind, handler, id, scrollable, args ) def position(self, ui): """ Positions the associated dialog window on the display. """ view = ui.view window = ui.control # Set up the default position of the window: parent = window.GetParent() if parent is None: px, py = 0, 0 pdx = SystemMetrics().screen_width pdy = SystemMetrics().screen_height else: px, py = parent.GetPosition() pdx, pdy = parent.GetSize() # Calculate the correct width and height for the window: cur_width, cur_height = window.GetSize() width = view.width height = view.height if width < 0.0: width = cur_width elif width <= 1.0: width = int(width * SystemMetrics().screen_width) else: width = int(width) if height < 0.0: height = cur_height elif height <= 1.0: height = int(height * SystemMetrics().screen_height) else: height = int(height) if view.kind in Popups: position_window(window, width, height) return # Calculate the correct position for the window: x = view.x y = view.y if x < -99999.0: # BH- I think this is the case when there is a parent # so this logic tries to place it in the middle of the parent # if possible, otherwise tries an offset from the parent x = px + (pdx - width) // 2 if x < 0: x = px + 20 elif x <= -1.0: x = px + pdx - width + int(x) + 1 elif x < 0.0: x = px + pdx - width + int(x * pdx) elif x <= 1.0: x = px + int(x * pdx) else: x = int(x) if y < -99999.0: # BH- I think this is the case when there is a parent # so this logic tries to place it in the middle of the parent # if possible, otherwise tries an offset from the parent y = py + (pdy - height) // 2 if y < 0: y = py + 20 elif y <= -1.0: y = py + pdy - height + int(y) + 1 elif x < 0.0: y = py + pdy - height + int(y * pdy) elif y <= 1.0: y = py + int(y * pdy) else: y = int(y) # make sure the position is on the visible screen, maybe # the desktop had been resized? x = min(x, wx.DisplaySize()[0]) y = min(y, wx.DisplaySize()[1]) # Position and size the window as requested: window.SetSize(max(0, x), max(0, y), width, height) def show_help(self, ui, control): """ Shows a help window for a specified UI and control. """ from . import ui_panel ui_panel.show_help(ui, control) def save_window(self, ui): """ Saves user preference information associated with a UI window. """ from . import helper helper.save_window(ui) def rebuild_ui(self, ui): """ Rebuilds a UI after a change to the content of the UI. """ parent = size = None if ui.control is not None: size = ui.control.GetSize() parent = ui.control._parent info = ui.info ui.recycle() ui.info = info info.ui = ui ui.rebuild(ui, parent) if parent is not None: ui.control.SetSize(size) sizer = parent.GetSizer() if sizer is not None: sizer.Add(ui.control, 1, wx.EXPAND) def set_title(self, ui): """ Sets the title for the UI window. """ ui.control.SetTitle(ui.title) def set_icon(self, ui): """ Sets the icon for the UI window. """ from pyface.image_resource import ImageResource if isinstance(ui.icon, ImageResource): ui.control.SetIcon(ui.icon.create_icon()) def key_event_to_name(self, event): """ Converts a keystroke event into a corresponding key name. """ from . import key_event_to_name return key_event_to_name.key_event_to_name(event) def hook_events(self, ui, control, events=None, handler=None): """ Hooks all specified events for all controls in a UI so that they can be routed to the correct event handler. """ if events is None: events = ( wx.wxEVT_LEFT_DOWN, wx.wxEVT_LEFT_DCLICK, wx.wxEVT_LEFT_UP, wx.wxEVT_MIDDLE_DOWN, wx.wxEVT_MIDDLE_DCLICK, wx.wxEVT_MIDDLE_UP, wx.wxEVT_RIGHT_DOWN, wx.wxEVT_RIGHT_DCLICK, wx.wxEVT_RIGHT_UP, wx.wxEVT_MOTION, wx.wxEVT_ENTER_WINDOW, wx.wxEVT_LEAVE_WINDOW, wx.wxEVT_MOUSEWHEEL, wx.wxEVT_PAINT, ) control.SetDropTarget( PythonDropTarget(DragHandler(ui=ui, control=control)) ) elif events == "keys": events = (wx.wxEVT_CHAR,) if handler is None: handler = ui.route_event id = control.GetId() event_handler = EventHandlerWrapper() connect = event_handler.Connect for event in events: connect(id, id, event, handler) control.PushEventHandler(event_handler) for child in control.GetChildren(): self.hook_events(ui, child, events, handler) def route_event(self, ui, event): """ Routes a hooked event to the correct handler method. """ suffix = EventSuffix[event.GetEventType()] control = event.GetEventObject() handler = ui.handler method = None owner = getattr(control, "_owner", None) if owner is not None: method = getattr( handler, "on_%s_%s" % (owner.get_id(), suffix), None ) if method is None: method = getattr(handler, "on_%s" % suffix, None) or getattr( handler, "on_any_event", None ) if (method is None) or (method(ui.info, owner, event) is False): event.Skip() def skip_event(self, event): """ Indicates that an event should continue to be processed by the toolkit. """ event.Skip() def destroy_control(self, control): """ Destroys a specified GUI toolkit control. """ _popEventHandlers(control) def _destroy_control(control): try: control.Destroy() except Exception: logger.exception( "Wx control %r not destroyed cleanly", control) wx.CallAfter(_destroy_control, control) def destroy_children(self, control): """ Destroys all of the child controls of a specified GUI toolkit control. """ for child in control.GetChildren(): _popEventHandlers(child) wx.CallAfter(control.DestroyChildren) def image_size(self, image): """ Returns a ( width, height ) tuple containing the size of a specified toolkit image. """ return (image.GetWidth(), image.GetHeight()) def constants(self): """ Returns a dictionary of useful constants. Currently, the dictionary should have the following key/value pairs: - WindowColor': the standard window background color in the toolkit specific color format. """ return {"WindowColor": WindowColor} # ------------------------------------------------------------------------- # GUI toolkit dependent trait definitions: # ------------------------------------------------------------------------- def color_trait(self, *args, **traits): from . import color_trait as ct return ct.WxColor(*args, **traits) def rgb_color_trait(self, *args, **traits): from . import rgb_color_trait as rgbct return rgbct.RGBColor(*args, **traits) def font_trait(self, *args, **traits): from . import font_trait as ft return ft.WxFont(*args, **traits) class DragHandler(HasPrivateTraits): """ Handler for drag events. """ # ------------------------------------------------------------------------- # Traits definitions: # ------------------------------------------------------------------------- #: The UI associated with the drag handler ui = Instance(UI) #: The wx control associated with the drag handler control = Instance(wx.Window) # -- Drag and drop event handlers: ---------------------------------------- def wx_dropped_on(self, x, y, data, drag_result): """ Handles a Python object being dropped on the window. """ return self._drag_event("dropped_on", x, y, data, drag_result) def wx_drag_over(self, x, y, data, drag_result): """ Handles a Python object being dragged over the tree. """ return self._drag_event("drag_over", x, y, data, drag_result) def wx_drag_leave(self, data): """ Handles a dragged Python object leaving the window. """ return self._drag_event("drag_leave") def _drag_event(self, suffix, x=None, y=None, data=None, drag_result=None): """ Handles routing a drag event to the appropriate handler. """ control = self.control handler = self.ui.handler method = None owner = getattr(control, "_owner", None) if owner is not None: method = getattr( handler, "on_%s_%s" % (owner.get_id(), suffix), None ) if method is None: method = getattr(handler, "on_%s" % suffix, None) if method is None: return wx.DragNone if x is None: result = method(self.ui.info, owner) else: result = method(self.ui.info, owner, x, y, data, drag_result) if result is None: result = drag_result return result class EventHandlerWrapper(wx.EvtHandler): """ Simple wrapper around wx.EvtHandler used to determine which event handlers were added by traitui. """ pass def _popEventHandlers(ctrl, handler_type=EventHandlerWrapper): """ Pop any event handlers that have been pushed on to a window and its children. """ # FIXME: have to special case URLResolvingHtmlWindow because it doesn't # want its EvtHandler cleaned up. See issue #752. from .html_editor import URLResolvingHtmlWindow handler = ctrl.GetEventHandler() while ctrl is not handler: next_handler = handler.GetNextHandler() if isinstance(handler, handler_type): ctrl.PopEventHandler(True) handler = next_handler for child in ctrl.GetChildren(): _popEventHandlers(child, handler_type) traitsui-7.2.1/traitsui/wx/ui_live.py0000644000076500000240000003462414046644454020330 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! """ Creates a wxPython user interface for a specified UI object, where the UI is "live", meaning that it immediately updates its underlying object(s). """ import wx from pyface.api import SystemMetrics from .helper import save_window, TraitsUIScrolledPanel from .ui_base import BaseDialog from .ui_panel import panel from .constants import DefaultTitle, WindowColor, scrollbar_dx from traitsui.undo import UndoHistory from traitsui.menu import ( UndoButton, RevertButton, OKButton, CancelButton, HelpButton, ) # ------------------------------------------------------------------------- # Creates a 'live update' wxPython user interface for a specified UI object: # ------------------------------------------------------------------------- def ui_live(ui, parent): """ Creates a live, non-modal wxPython user interface for a specified UI object. """ _ui_dialog(ui, parent, BaseDialog.NONMODAL) def ui_livemodal(ui, parent): """ Creates a live, modal wxPython user interface for a specified UI object. """ _ui_dialog(ui, parent, BaseDialog.MODAL) def ui_popup(ui, parent): """ Creates a live, temporary popup wxPython user interface for a specified UI object. """ _ui_dialog(ui, parent, BaseDialog.POPUP) def ui_popover(ui, parent): """ Creates a live, temporary popup wxPython user interface for a specified UI object. """ _ui_dialog(ui, parent, BaseDialog.POPOVER) def ui_info(ui, parent): """ Creates a live, temporary popup wxPython user interface for a specified UI object. """ _ui_dialog(ui, parent, BaseDialog.INFO) def _ui_dialog(ui, parent, style): """ Creates a live wxPython user interface for a specified UI object. """ if ui.owner is None: ui.owner = LiveWindow() BaseDialog.display_ui(ui, parent, style) class LiveWindow(BaseDialog): """ User interface window that immediately updates its underlying object(s). """ def init(self, ui, parent, style): self.is_modal = style == self.MODAL window_style = 0 view = ui.view if view.resizable: window_style |= wx.RESIZE_BORDER title = view.title if title == "": title = DefaultTitle history = ui.history window = ui.control if window is not None: if history is not None: history.observe( self._on_undoable, "undoable", remove=True, dispatch="ui" ) history.observe( self._on_redoable, "redoable", remove=True, dispatch="ui" ) history.observe( self._on_revertable, "undoable", remove=True, dispatch="ui" ) window.SetSizer(None) ui.reset() else: self.ui = ui if style == self.MODAL: if view.resizable: window_style |= wx.MAXIMIZE_BOX | wx.MINIMIZE_BOX window = wx.Dialog( parent, -1, title, style=window_style | wx.DEFAULT_DIALOG_STYLE, ) elif style == self.NONMODAL: if parent is not None: window_style |= ( wx.FRAME_FLOAT_ON_PARENT | wx.FRAME_NO_TASKBAR ) window = wx.Frame( parent, -1, title, style=window_style | (wx.DEFAULT_FRAME_STYLE & (~wx.RESIZE_BORDER)), ) else: if window_style == 0: window_style = wx.SIMPLE_BORDER if parent is not None: window_style |= ( wx.FRAME_FLOAT_ON_PARENT | wx.FRAME_NO_TASKBAR ) if isinstance(parent, tuple): window = wx.Frame(None, -1, "", style=window_style) window._control_region = parent else: window = wx.Frame(parent, -1, "", style=window_style) window._kind = ui.view.kind self._monitor = MouseMonitor(ui) # Set the correct default window background color: window.SetBackgroundColour(WindowColor) self.control = window window.Bind(wx.EVT_CLOSE, self._on_close_page) window.Bind(wx.EVT_CHAR, self._on_key) self.set_icon(view.icon) buttons = [self.coerce_button(button) for button in view.buttons] nbuttons = len(buttons) no_buttons = (nbuttons == 1) and self.is_button(buttons[0], "") has_buttons = (not no_buttons) and ( (nbuttons > 0) or view.undo or view.revert or view.ok or view.cancel ) if has_buttons or (view.menubar is not None): if history is None: history = UndoHistory() else: history = None ui.history = history # Create the actual trait sheet panel and imbed it in a scrollable # window (if requested): sw_sizer = wx.BoxSizer(wx.VERTICAL) if ui.scrollable: sizer = wx.BoxSizer(wx.VERTICAL) sw = TraitsUIScrolledPanel(window) trait_sheet = panel(ui, sw) sizer.Add(trait_sheet, 1, wx.EXPAND) tsdx, tsdy = trait_sheet.GetSize() sw.SetScrollRate(16, 16) max_dy = (2 * SystemMetrics().screen_height) // 3 sw.SetSizer(sizer) sw.SetSize( wx.Size( tsdx + ((tsdy > max_dy) * scrollbar_dx), min(tsdy, max_dy) ) ) else: sw = panel(ui, window) sw_sizer.Add(sw, 1, wx.EXPAND) sw_sizer.SetMinSize(sw.GetSize()) # Check to see if we need to add any of the special function buttons: if (not no_buttons) and (has_buttons or view.help): sw_sizer.Add(wx.StaticLine(window, -1), 0, wx.EXPAND) b_sizer = wx.BoxSizer(wx.HORIZONTAL) # Convert all button flags to actual button actions if no buttons # were specified in the 'buttons' trait: if nbuttons == 0: if view.undo: self.check_button(buttons, UndoButton) if view.revert: self.check_button(buttons, RevertButton) if view.ok: self.check_button(buttons, OKButton) if view.cancel: self.check_button(buttons, CancelButton) if view.help: self.check_button(buttons, HelpButton) # Create a button for each button action: for raw_button, button in zip(view.buttons, buttons): button = self.coerce_button(button) default = raw_button == view.default_button if self.is_button(button, "Undo"): self.undo = self.add_button( button, b_sizer, self._on_undo, False, default=default ) self.redo = self.add_button( button, b_sizer, self._on_redo, False, "Redo" ) history.observe( self._on_undoable, "undoable", dispatch="ui" ) history.observe( self._on_redoable, "redoable", dispatch="ui" ) if history.can_undo: self._on_undoable(True) if history.can_redo: self._on_redoable(True) elif self.is_button(button, "Revert"): self.revert = self.add_button( button, b_sizer, self._on_revert, False, default=default, ) history.observe( self._on_revertable, "undoable", dispatch="ui" ) if history.can_undo: self._on_revertable(True) elif self.is_button(button, "OK"): self.ok = self.add_button( button, b_sizer, self._on_ok, default=default ) ui.observe(self._on_error, "errors", dispatch="ui") elif self.is_button(button, "Cancel"): self.add_button( button, b_sizer, self._on_cancel, default=default ) elif self.is_button(button, "Help"): self.add_button( button, b_sizer, self._on_help, default=default ) elif not self.is_button(button, ""): self.add_button(button, b_sizer, default=default) sw_sizer.Add(b_sizer, 0, wx.ALIGN_RIGHT | wx.ALL, 5) # Add the menu bar, tool bar and status bar (if any): self.add_menubar() self.add_toolbar() self.add_statusbar() # Lay all of the dialog contents out: window.SetSizer(sw_sizer) window.Fit() def close(self, rc=wx.ID_OK): """ Closes the dialog window. """ ui = self.ui ui.result = rc == wx.ID_OK save_window(ui) if self.is_modal: self.control.EndModal(rc) self.control.Unbind(wx.EVT_CLOSE) self.control.Unbind(wx.EVT_CHAR) ui.finish() self.ui = self.undo = self.redo = self.revert = self.control = None def _on_close_page(self, event): """ Handles the user clicking the window/dialog "close" button/icon. """ if not self.ui.view.close_result: self._on_cancel(event) else: self._on_ok(event) def _on_close_popup(self, event): """ Handles the user giving focus to another window for a 'popup' view. """ if not event.GetActive(): self.close_popup() def close_popup(self): # Close the window if it has not already been closed: if self.ui.info is not None and self.ui.info.ui is not None: if self._on_ok(): self._monitor.Stop() def _on_ok(self, event=None): """ Handles the user clicking the **OK** button. """ if self.ui is None or self.control is None: return True if self.ui.handler.close(self.ui.info, True): self.control.Unbind(wx.EVT_ACTIVATE) self.close(wx.ID_OK) return True return False def _on_key(self, event): """ Handles the user pressing the Escape key. """ if event.GetKeyCode() == 0x1B: self._on_close_page(event) def _on_cancel(self, event): """ Handles a request to cancel all changes. """ if self.ui.handler.close(self.ui.info, False): self._on_revert(event) self.close(wx.ID_CANCEL) def _on_error(self, event): """ Handles editing errors. """ errors = event.new self.ok.Enable(errors == 0) def _on_undoable(self, event): """ Handles a change to the "undoable" state of the undo history """ state = event.new self.undo.Enable(state) def _on_redoable(self, event): """ Handles a change to the "redoable state of the undo history. """ state = event.new self.redo.Enable(state) def _on_revertable(self, event): """ Handles a change to the "revert" state. """ state = event.new self.revert.Enable(state) class MouseMonitor(wx.Timer): """ Monitors a specified window and closes it the first time the mouse pointer leaves the window. """ def __init__(self, ui): super().__init__() self.ui = ui kind = ui.view.kind self.is_activated = self.is_info = kind == "info" self.border = 3 if kind == "popup": self.border = 10 self.Start(100) def Notify(self): ui = self.ui control = ui.control if ui.control is None: # Looks like someone forgot to tell us that the ui has been closed: self.Stop() return mx, my = wx.GetMousePosition() cx, cy = control.ClientToScreen(0, 0) cdx, cdy = control.GetSize() if self.is_activated: # Don't close the popup if any mouse buttons are currently pressed: ms = wx.GetMouseState() if ms.LeftIsDown() or ms.MiddleIsDown() or ms.RightIsDown(): return # Check for the special case of the mouse pointer having to be # within the original bounds of the object the popup was created # for: if self.is_info: parent = control.GetParent() if isinstance(parent, wx.Window): px, py, pdx, pdy = parent.GetScreenRect() else: px, py, pdx, pdy = control._control_region if ( (mx < px) or (mx >= (px + pdx)) or (my < py) or (my >= (py + pdy)) ): ui.owner.close_popup() self.is_activated = False else: # Allow for a 'dead zone' border around the window to allow for # small motor control problems: border = self.border if ( (mx < (cx - border)) or (mx >= (cx + cdx + border)) or (my < (cy - border)) or (my >= (cy + cdy + border)) ): ui.owner.close_popup() self.is_activated = False elif (cx <= mx < (cx + cdx)) and (cy <= my < (cy + cdy)): self.is_activated = True traitsui-7.2.1/traitsui/wx/ui_editor.py0000644000076500000240000000175014046644454020651 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! """ Defines the BasicUIEditor class, which allows creating editors that define their function by creating an embedded Traits UI. """ from traitsui.ui_editor import UIEditor as BaseUIEditor from .editor import Editor # ------------------------------------------------------------------------- # 'UIEditor' base class: # ------------------------------------------------------------------------- class UIEditor(BaseUIEditor, Editor): """ An editor that creates an embedded Traits UI. """ pass # -- End UI preference save/restore interface ----------------------------- traitsui-7.2.1/traitsui/wx/custom_editor.py0000644000076500000240000000314314046644454021544 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! """ Defines the wxPython implementation of the editor used to wrap a non-Traits based custom control. """ import wx from .editor import Editor # ------------------------------------------------------------------------- # 'CustomEditor' class: # ------------------------------------------------------------------------- class CustomEditor(Editor): """ Wrapper for a custom editor control """ def init(self, parent): """ Finishes initializing the editor by creating the underlying toolkit widget. """ factory = self.factory.factory if factory is not None: self.control = factory(*((parent, self) + self.factory.args)) if self.control is None: self.control = control = wx.StaticText( parent, -1, "An error occurred creating a custom editor.\n" "Please contact the developer.", ) control.SetBackgroundColour(wx.RED) control.SetForegroundColour(wx.WHITE) self.set_tooltip() def update_editor(self): """ Updates the editor when the object trait changes externally to the editor. """ pass traitsui-7.2.1/traitsui/wx/key_event_to_name.py0000644000076500000240000000705414046644454022364 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! """ Converts a wx.KeyEvent to a standardized "name". """ import wx # Mapping from wxPython special key names to Enable key names key_map = { wx.WXK_BACK: "Backspace", wx.WXK_TAB: "Tab", wx.WXK_RETURN: "Enter", wx.WXK_ESCAPE: "Esc", wx.WXK_DELETE: "Delete", wx.WXK_START: "Start", wx.WXK_LBUTTON: "Left Button", wx.WXK_RBUTTON: "Right Button", wx.WXK_CANCEL: "Cancel", wx.WXK_MBUTTON: "Middle Button", wx.WXK_CLEAR: "Clear", wx.WXK_SHIFT: "Shift", wx.WXK_CONTROL: "Control", wx.WXK_MENU: "Menu", wx.WXK_PAUSE: "Pause", wx.WXK_CAPITAL: "Capital", wx.WXK_PAGEUP: "Page Up", wx.WXK_PAGEDOWN: "Page Down", wx.WXK_END: "End", wx.WXK_HOME: "Home", wx.WXK_LEFT: "Left", wx.WXK_UP: "Up", wx.WXK_RIGHT: "Right", wx.WXK_DOWN: "Down", wx.WXK_SELECT: "Select", wx.WXK_PRINT: "Print", wx.WXK_EXECUTE: "Execute", wx.WXK_SNAPSHOT: "Snapshot", wx.WXK_INSERT: "Insert", wx.WXK_HELP: "Help", wx.WXK_NUMPAD0: "Numpad 0", wx.WXK_NUMPAD1: "Numpad 1", wx.WXK_NUMPAD2: "Numpad 2", wx.WXK_NUMPAD3: "Numpad 3", wx.WXK_NUMPAD4: "Numpad 4", wx.WXK_NUMPAD5: "Numpad 5", wx.WXK_NUMPAD6: "Numpad 6", wx.WXK_NUMPAD7: "Numpad 7", wx.WXK_NUMPAD8: "Numpad 8", wx.WXK_NUMPAD9: "Numpad 9", wx.WXK_MULTIPLY: "Multiply", wx.WXK_ADD: "Add", wx.WXK_SEPARATOR: "Separator", wx.WXK_SUBTRACT: "Subtract", wx.WXK_DECIMAL: "Decimal", wx.WXK_DIVIDE: "Divide", wx.WXK_F1: "F1", wx.WXK_F2: "F2", wx.WXK_F3: "F3", wx.WXK_F4: "F4", wx.WXK_F5: "F5", wx.WXK_F6: "F6", wx.WXK_F7: "F7", wx.WXK_F8: "F8", wx.WXK_F9: "F9", wx.WXK_F10: "F10", wx.WXK_F11: "F11", wx.WXK_F12: "F12", wx.WXK_F13: "F13", wx.WXK_F14: "F14", wx.WXK_F15: "F15", wx.WXK_F16: "F16", wx.WXK_F17: "F17", wx.WXK_F18: "F18", wx.WXK_F19: "F19", wx.WXK_F20: "F20", wx.WXK_F21: "F21", wx.WXK_F22: "F22", wx.WXK_F23: "F23", wx.WXK_F24: "F24", wx.WXK_NUMLOCK: "Num Lock", wx.WXK_SCROLL: "Scroll Lock", } # ------------------------------------------------------------------------- # Converts a keystroke event into a corresponding key name: # ------------------------------------------------------------------------- def key_event_to_name(event): """ Converts a keystroke event into a corresponding key name. """ key_code = event.GetKeyCode() if event.ControlDown() and (1 <= key_code <= 26): key = chr(key_code + 96) else: key = key_map.get(key_code) if key is None: try: key = chr(key_code) except: # Handle the case of strange keyboard codes (such as the Apple # keyboard 'apple' key): key = "unknown" name = "" if event.AltDown(): name = "Alt" if event.ControlDown(): name += "-Ctrl" if event.ShiftDown() and ((name != "") or (len(key) > 1)): name += "-Shift" if key == " ": key = "Space" if len(name) > 0: key = key.lower() name += "-" + key if name[:1] == "-": return name[1:] return name traitsui-7.2.1/traitsui/wx/images/0000755000076500000240000000000014046644526017556 5ustar aayresstaff00000000000000traitsui-7.2.1/traitsui/wx/images/hs_color_map.png0000644000076500000240000001173214046644454022735 0ustar aayresstaff00000000000000‰PNG  IHDRÈdLäè\sBITÛáOà’IDATxœÝë’³ºŽ†åÌ7³÷ý_ížS “(É{yyÒŸçãA¬û'~M!¾-òt(!hûŠb¯O C’RdÅ –$IŒ CUŽÇØ}Kù“'1AHŽK-Š@¡ Ð3b¾ÿríÆ"%n±Œou"3¼Þß$1Ö¸ ¬aHTª­ñgŽ‘c$í¨P°ñ]ê"^E˜0¡êÞÖ”¶0F¡×oN…—Iöå1Àe ±0 qÓüzk Ûb­å  -ëlõ±|€$Ýb©®b2G“¤çX¥-ÒaÉõXë~&©ºÝ]I5WgIai±\‹º¢P¦dÖÇZwR(*’ºÇ'óÐŒ’òÏž¿Œfª¡1îB² gÁ¨o=Ø©°„?Ë1#¦ ¦ÑÕ}‹E¼céÓHG}C`Ù1¹*}m¦nT/7¨Æ±‰R¢Bh|g£ñUˆ(‡)í4¼ÊL(‡ÙûXt –P§#ï´|½Q¯Ú­a F(’\vÇ¢>d´3­LS[ÄÇ‹©Üd1Žð«IyØeÂOõžžtdtënƒ˜“–©e=Ü€%Pˆ¤DD vN° |2mÕqIgý¦xN1O Ûž’a¸K:   ³†¹>yœe–Ú[%e‹÷3_ìÖKºëY€Õ"‡=›býÐ7Õ—TÕ%Ð{™¥ñ\¡ÁjØ‚¶X}š.‡ìc[4Ó?}¬÷£·_&!¶ùˆ½—ûµ5”YúŽÒ™ÆÈÈo“]v)# R]‡.yJ‹ôŒrŠg ècuêá°ÚQ¿b0Úä³Ð¤L¡fMNØQH:êkÆÈ7ãó«ðÂEèT‰IbœyW–ñ­GŒ)û‰#ñXSÐSáekH’/®NöÉš«w¨w®yš˜Gš]²7‡i{=ÃBráZ¡'i´XßPŒÃñØVü’5Ìã_—í°Îj?Ap4Zv¸á&’Sw7\"Qà ÷b\ò'J¢¬aænøŠ4©Ù§-«@™¢Oƒ@û¤³áY’%æ/ÜE«Iü¤X^è`ôæn0$T´Xrä]9 ¡s~Î!Æ"e€„¨âÝ.æˆQHRÍÆ4÷š$;ØR}Ó&ZýÇ gž„¦)Á1¹mìy¤™{>YPÒpCìùT†‚P×6e|øhOBh¨7në KRY¤œT*,ÚaÍWs7`1 †šbÍ/“Ûv§ã6¡žPØ¢'pФÜd‚!kÅÝ -¢ç= ÅУ©&uD°>–ª•T ¿IÄ4ÔFùǶØY“K£ªê¥?Ñ$ß:2J$SÝ?× «òú¢Å¿Ì~g“!iÙ¬°¶Ÿ5ùwh|Œà¢™åRdœÅøÛž„6ËÙºð> ù«îe’sskò(Q4¼§*ñ¯æÜ §š®=Ô›£÷Þ˾@àlC%ÁØ<ï ˆò•U<#þÒ>½kqÝ çd‹… ˆä ñˆxFüÍ}¬T&tå7åpVG‚@a‘_ýUø”w7” +Œç±oh:Ë `Ô¬É7¼êJxò\bˆÑ{®P¡ €¤ðùšÍŸ }‹•BÖ0U^5OÉÐh±fú â¹B€É¼0 5Ö”TðHo\+LN† ãU©šŒ9ŽsHØ·Lu,âa~Î!úF}:² õ£õ޼Ÿ…¡rÌq*<ûê¯É>érXý©4Ç`ŸÂ"ÁÞþ…ŸßÁœš5ù’¹Ñï.1ò~ †7WzF?å— ¨2ÍûÒú5ŽŽ‡T×,Òñ­Þ<ï—~~€üæÝ Kë~€äïÒQ»+&4e+€LIùKŒh—º <ôî4PÉ3$Oó{#Ô0ª¶êçiÜ6£8V –QÖJšU…q/Û\!I)E{uI§T_bˆq,Å ¤¯ Ó˜çý”Ax¤WÏÁÇ¥q¼Xä·ïy#‹’ãm;ã0-/!UFYûXQ1$ ‹Ä°7ø±ƒÑ!)Ÿ+ÄS¢zÍà72©Ôь̑ÿ›ß‚ñ¨¯@#‰ÇØ×ô­¡Ú-Z·;†iuûH²-ú «?£Llñ¯IF‚u,Orã*I£o Ÿ®Zã,†Ô¨gMî'¯³a‘Ò½J8x3Åï”ØÑi«¾cP#ï7’<"¦}üË3) ½ifä/.õ³ã°×¡KŒ©×ÛPïV’£z »Ä0xË6¿m!î ]!(¯Pˆ5)5 %(*[4ƒßbà8V LJξü…³ÍÜbîUqb:n, hÍÿôzeè|¶¥‰úÅÇJ‰dîyô”Ã_KŸP=¦Åð¬–ÖÀZ…àè¼'Œ$=%åy9ó0¥IuJiïc –¡ÖŠ~ˆnÀ=TJWÕ%5ƒI‰ZËÎaMë„V ­çŸawÝÇ Æ“0C—r—“­Sh¿z‘¦D££ ?+lúŠÁÅzå[ôàÜ|F¿Ä`âê_%OqPõ€I¹È‚ñé¼ü<Ë!&^SŸMšƒü³ €$øy„úOëù~®-Ö_4kråx„¤p,z£&Š"Û5ÑYsX Ñ»m`ª(ñ¯]¼ƒñÁfÒ ì×HžŸ­:ê¯ÃTà k!x¸U>嘟î"rÐö7 V³Â(Ê¥+ïŒq©›`xøßM¢o›9 £âÃÜó,i=º“YM ¢ ( e:yúëcÝ ÐŒ>ƒä¹4ñb%2€£iW¤{ž¼ŠR *Ú5ŽcðtOj±þê·!Æă ‰ç1m i(‡&ø ô^ôç9 ø–r,@ Ñ»è®&y™ lÆ&4>R£U]ÒÁR=E*ßLa’Wµ¯ÿÕzÒÇ*÷¾Àvõ·åñ׫{IúÇ·y+¿k™¸Ì3Óqwrü¬þ;X=+Ú4¼ím/`<"ÂcMƒ>°ÚIM_錼§2OAÿºñõïSò½ísÊ4“ýWD{?>Œ™¨º÷íèb ŠL5ÄúÆÝ F÷d+ ~åIT«j ñ~®ð»ç‡ç’_Ý $ûø 0É«’QfŠ…t`|dÇÀ¯ïÂRR$“}] L¼›äaÖç û/iJò“ º|évž bGÑ“”F‰E=UwäËøPÁø˜\f'8C{µÃšg}, «L±æi˜¿ÚÞj¶Ê‘h’E0cŸÒAˆ”н’Ë÷q›wMQLÉãðºusŠìÓ 0Aé#ƳÀð$É&4€{ñ‘2 À'c¦èX 1vûqÀW$X¿®ÒÀÃÊøP¦Y¥c8Hšñ¡HÆ~(êùâa j …aMAX]¥S†”JìcEõ‰Ibù41rŠ€Òĉ'¡Ë(Ñ an")Ãâ OšÄ0¬$iî†S/§PA>‡¸ƒt%0@Ž–\êùÙðÂEè3$Æ 7‘tLñ —ICDÔï+Ä ŠbdUY“P@yëqP øØ3}”st³Ê{aiê“4ÞÜ’0zø`Œ×·¦ Peiý®õv˜±e•n%)ŸKoÂ3Å3^ŽÕ¼ìiš«t ”ªÛfJ”äRÁµ(Ç¢Ò=Ì{ëXt KÕZ|Xx#`-­é8y hêOÞ“­|'?wƒGQpêŸ_¿šÔp,ë}X|Ħ7¹¦X™æ‹W÷–ržŸÒ~Éït×tÜ•ž Úß©-ÄŸ@Œ´fš1+£ô!ÑùË0?eAø}€SŒOjOÇí%ûV¸:(ì((”±Y$Ú¶˜ì_TÎŒç<•ýgçD^ÚdÝVvº$êžGF Dë_s'ÙŒ:VBIòéé}a|Vš« õTGŒá}*D†N´¯ë3:Pçx 6Í:™÷RSŸïk…! ’iÖ#¢©mµ"D48‚™cî¢æ¶mŸ!©K ,Ωtô0š†f€ ©Aò –ãhƒ(ÇBÚf C¶‰v¬`æPíVB‹Ú£¹Š"“J•9bÝI )ƒiéc! ͬÒÖšQ0#bJée“ÚëËùƒÂ$*Å`rZúX¡?Cì>YM¡¤½×ìs-ièAFÞL9ÂЄê†ª70)! ÛD}’Tž²ƒÅXÕô*fŠ­E?ÂHµíÞ( s¼e&Ñe¸Ä^vúdFº‚QÅ'¤åk_}çIö¯é*ÕÖø3 ¨¯†±ÒfÕyÃG‡§Y6óÍK´º+꾩Å2¢‡Ø UV-V4ìPšÅœ?">§Â$6µm¸E6ߤTÁaZ!BÚÅ‹6ô\Ž<ǽTx¡Ë½)ý<¯^a(E#^Ï®kh^•°Vq¯I³ù«ŠŽØ!T£¥WªõàéPúTˆrKŒ[¨FkÐì/1„•îÏ"«á‰AŽS¡‘\ž@ÖͪtUJ01"öðk¨ŠÝänŒßg [¢ŽÕLW9ú錺Ë$m—IÚÒ~Ÿáä¶[*Ôý™ë©ðÞô…5ëô›@h§ob¡'ñÿ ƶÙÿÂ?-d†»IEND®B`‚traitsui-7.2.1/traitsui/wx/images/group.png0000644000076500000240000000102514046644454021416 0ustar aayresstaff00000000000000‰PNG  IHDRóÿagAMA¯È7ŠétEXtSoftwareAdobe ImageReadyqÉe<§IDATxÚbd```šÝ,ø— ¤Ö¾×R·øcÈÃ@15ÿÿóã‰倘 ˆY ˜ˆ‘õHá÷—‹'–^’Ú{ ¹ €Àüûó"û(ÆÈ¦¾ß5h_âd@~½aøóýÚU ˆ@ïí‡@P¼kÆn#.  2Ä € ü~úõéÔ+þÿÿ¤}ó ˆ‚Ù o{±‚S,fŠ+@A xË¡?00áùD3ˆþ ûû¨î#Ìa€‚ðjñ'†ÿ@[þÿûÖv и+ Âä5àÄ>Bbh H(ýüÿ÷j;Ä`À®€€B‰FpXüÿq R@ ú6äïßß( ÄéŸ]qDˆ qú?°Ìß Pï€Á€%K-`¼’°¹ H­ ¬@lÄÎ@,D¤þï@|ˆ÷,c€hv¨aÄPî΀bü 4r@€œô2s˜^IEND®B`‚traitsui-7.2.1/traitsui/wx/images/cb_on.png0000644000076500000240000000072114046644454021344 0ustar aayresstaff00000000000000‰PNG  IHDR*º† pHYsÃÃÇo¨d]IDATxœÏ»JAàU¬, í,µÓÖ°±ßÂÚʇAP$6jÀBP+…Dƒ74ƒ¦„ ²as1Ùì¬ÙËlö–½äXÌÌbé0Å0ç;ðÿ‚øï#ˆ¢ø¥€\‡Z”ÔÛÐìÀ· m T ]pt­É¾Z”´gI+IZå:,×ÍWÉz“ìŠdt0§M蟈€@Â⊪¥Ñþ<ý‰ó ¦3ª´ ¡xg†Î‹ä&Ç67ÆmåÓ"<͇ß_†ëcLð‡÷”·>§YçQAot´DãršõõOWþÒdw–Xã‚ëqJY>Ïš¥›,÷ÅšëpªbÀ œnMÒqx¶ê•ùÚHX-!§]Âãe:K·§,Ý&NšìÍ1›ƒÑŸFǽBÞ5ò È©i_.G·(ºCñ=ŠkŒêô,0mÈúÒ|Aƒ¢’„øçù!þ}Æ>ŰÝtEXtAuthorUlead Systems, Inc.É>vIEND®B`‚traitsui-7.2.1/traitsui/wx/images/table_synthetic.png0000644000076500000240000000065614046644454023454 0ustar aayresstaff00000000000000‰PNG  IHDRóÿa pHYs  šœtIME× &:°mMIDAT8Ë¥“±KÃ@ÅwMìÖ¥³àTèîTPÄ¿ 8‰¸;¡“PœìVÿ„â (8::2„BíàÒPjšKΡ—3’& ~Ë÷øÞ½÷½;øg ³ê¿ö;Ùn<ÛÓí§]„€Tƒ4W¬ÂoG¯ÌçsÚí6Nžn±XX9îÞàÐ)<ŸZ|:ZHnÒ%…iÒ©*Is&…vï”»“¥RªHËå€ úý¥@2™L˜ÍfÅ´Ö„a@ý®‰s0Z[0$êþÈûÀ÷}Z­V¹Në7ƒ³Y˜r]·zRä¦/¤%j Šê ƒÌ(èŸx?œJ ¦j£ýuSjX—€BW[°¹AÿÌC)EEt½I’Ðç¬ó³ÏÀ –H3Q5€ ©BàƒÇÄÆáä.@ $p³d!sý#ø~<<+"À¾xÓ ÀM›À0‡ÿêB™\€„Àt‘8K€@zŽB¦@F€˜&S `ËcbãP-`'æÓ€ø™{[”! ‘ eˆDh;¬ÏVŠEX0fKÄ9Ø-0IWfH°·ÀÎ ² 0Qˆ…){`È##x„™FòW<ñ+®ç*x™²<¹$9E[-qWW.(ÎI+6aaš@.Ây™24àóÌ ‘àƒóýxήÎÎ6޶_-ê¿ÿ"bbãþåÏ«p@át~Ñþ,/³€;€mþ¢%îh^  u÷‹f²@µ éÚWópø~<ß5°j>{‘-¨]cöK'XtÀâ÷ò»oÁÔ(€hƒáÏwÿï?ýG %€fI’q^D$.Tʳ?ÇD *°AôÁ,ÀÁÜÁ ü`6„B$ÄÂBB d€r`)¬‚B(†Í°*`/Ô@4ÀQh†“p.ÂU¸=púažÁ(¼ AÈa!ÚˆbŠX#Ž™…ø!ÁH‹$ ɈQ"K‘5H1RŠT UHò=r9‡\Fº‘;È2‚ü†¼G1”²Q=Ô µC¹¨7„F¢ Ðdt1š ›Ðr´=Œ6¡çЫhÚ>CÇ0Àè3Äl0.ÆÃB±8, “c˱"¬ «Æ°V¬»‰õcϱwEÀ 6wB aAHXLXNØH¨ $4Ú 7 „QÂ'"“¨K´&ºùÄb21‡XH,#Ö/{ˆCÄ7$‰C2'¹I±¤TÒÒFÒnR#é,©›4H#“ÉÚdk²9”, +È…ääÃä3ää!ò[ b@q¤øSâ(RÊjJåå4åe˜2AU£šRݨ¡T5ZB­¡¶R¯Q‡¨4uš9̓IK¥­¢•Óhh÷i¯ètºÝ•N—ÐWÒËéGè—èôw †ƒÇˆg(›gw¯˜L¦Ó‹ÇT071ë˜ç™™oUX*¶*|‘Ê •J•&•*/T©ª¦ªÞª UóUËT©^S}®FU3Sã© Ô–«UªPëSSg©;¨‡ªg¨oT?¤~Yý‰YÃLÃOC¤Q ±_ã¼Æ c³x,!k «†u5Ä&±ÍÙ|v*»˜ý»‹=ª©¡9C3J3W³Ró”f?ã˜qøœtN ç(§—ó~ŠÞï)â)¦4L¹1e\kª–—–X«H«Q«Gë½6®í§¦½E»YûAÇJ'\'GgÎçSÙSݧ §M=:õ®.ªk¥¡»Dw¿n§î˜ž¾^€žLo§Þy½çú}/ýTýmú§õG X³ $Û Î<Å5qo</ÇÛñQC]Ã@C¥a•a—á„‘¹Ñ<£ÕFFŒiÆ\ã$ãmÆmÆ£&&!&KMêMîšRM¹¦)¦;L;LÇÍÌÍ¢ÍÖ™5›=1×2ç›ç›×›ß·`ZxZ,¶¨¶¸eI²äZ¦Yî¶¼n…Z9Y¥XUZ]³F­­%Ö»­»§§¹N“N«žÖgðñ¶É¶©·°åØÛ®¶m¶}agbg·Å®Ã“}º}ý= ‡Ù«Z~s´r:V:ޚΜî?}Åô–é/gXÏÏØ3ã¶Ë)ÄiS›ÓGgg¹sƒóˆ‹‰K‚Ë.—>.›ÆÝȽäJtõq]ázÒõ›³›Âí¨Û¯î6îiî‡ÜŸÌ4Ÿ)žY3sÐÃÈCàQåÑ? Ÿ•0k߬~OCOgµç#/c/‘W­×°·¥wª÷aï>ö>rŸã>ã<7Þ2ÞY_Ì7À·È·ËOÃož_…ßC#ÿdÿzÿѧ€%g‰A[ûøz|!¿Ž?:Ûeö²ÙíAŒ ¹AA‚­‚åÁ­!hÈì­!÷ç˜Î‘Îi…P~èÖÐaæa‹Ã~ '…‡…W†?ŽpˆXÑ1—5wÑÜCsßDúD–DÞ›g1O9¯-J5*>ª.j<Ú7º4º?Æ.fYÌÕXXIlK9.*®6nl¾ßüíó‡ââ ã{˜/È]py¡ÎÂô…§©.,:–@LˆN8”ðA*¨Œ%òw%Ž yÂÂg"/Ñ6шØC\*NòH*Mz’쑼5y$Å3¥,幄'©¼L LÝ›:žšv m2=:½1ƒ’‘qBª!M“¶gêgæfvˬe…²þÅn‹·/•Ék³¬Y- ¶B¦èTZ(×*²geWf¿Í‰Ê9–«ž+Íí̳ÊÛ7œïŸÿíÂá’¶¥†KW-X潬j9²‰Š®Û—Ø(Üxå‡oÊ¿™Ü”´©«Ä¹dÏfÒféæÞ-ž[–ª—æ—n ÙÚ´ ßV´íõöEÛ/—Í(Û»ƒ¶C¹£¿<¸¼e§ÉÎÍ;?T¤TôTúT6îÒݵa×ønÑî{¼ö4ìÕÛ[¼÷ý>ɾÛUUMÕfÕeûIû³÷?®‰ªéø–ûm]­NmqíÇÒý#¶×¹ÔÕÒ=TRÖ+ëGǾþïw- 6 UœÆâ#pDyäé÷ ß÷ :ÚvŒ{¬áÓvg/jBšòšF›Sšû[b[ºOÌ>ÑÖêÞzüGÛœ499â?rýéü§CÏdÏ&žþ¢þË®/~øÕë×Îјѡ—ò—“¿m|¥ýêÀë¯ÛÆÂƾÉx31^ôVûíÁwÜwï£ßOä| (ÿhù±õSЧû“““ÿ˜óüc3-Û cHRMz%€ƒùÿ€éu0ê`:˜o’_ÅF§IDATxÚ„¿ Æ?÷þ]Ô­žA†{eƒ$“ñ¦›¬f³ä†£+eSÊ`°ÏÀ]‰\yƒŸå”üÆïû ß'@€¬¸`PžÏ!ìf {"ß%­ °:O‡ÍÛf¢OJ GåöxfH²{Oß$‡¥$Ù†þ`HÚåëŸ"WkIÒö=2‰|—c¿Èi`#€+PQzÓis è5[;z€äGÑIEND®B`‚traitsui-7.2.1/traitsui/wx/images/table_add.png0000644000076500000240000000065414046644454022170 0ustar aayresstaff00000000000000‰PNG  IHDRóÿabKGDÿÿÿ ½§“ pHYs  šœtIME× „ßg9IDAT8ËÅ’±JÃP†¿¤\# }œN!}®ÅQ\œœŠ8 BAP'Íàœ¥Xòy.¡c t«1çæ:¤FÓZ<Ó=ÿ½÷œÿÿÏÿëÇY7Üg@5¼7rÝaØb±Ð®ëj€önË4Mkùf³1°Ùl†Ö%aûÆV«e`_Ÿ Q‘¦)íö7œ$ ¶mSE…Åq\嵞çtz½^-w‡ ~'¡)D„ÕjE£‰û¢óÒ)‡*`o{× L§SÖëueœeYÌçs”R%&pw:äüþ¹ÙDß÷ ´Ö Þ åJ‰|@qU€ JPJ•φˆY–1öQJqóÕWy¹\’$IͬÉdÂøx\iô¹~|…Èw$t»Ýýt.·ÞÛ­MšßšPÀCÉþtŸ®¯ø¡œåIEND®B`‚traitsui-7.2.1/traitsui/wx/images/frame.ico0000644000076500000240000000217614046644454021352 0ustar aayresstaff00000000000000h(     |/ ³6!¾:$ÄE+Ç9$Â)¨ c   F#±_<ÿ­„dÿ·oÿ¶Žmÿ·lÿ´kÿºhÿH*÷s\ } ‚ ¦¾Œeÿ¾{ÿ¿€ÿ¼œ‚ÿÆ©ÿÁ „ÿ¿€ÿ¹–{ÿÛzÿ?¾2  Ì\)ÿ d1ÿ(ŠJÿ8C#ÿТÿв˜ÿÖ»¤ÿÕ¿­ÿãÔÃÿѼ©ÿʲœÿ˲ÿʧŒÿR1ñ2ˆKÿ@ˆUÿ7|Jÿ=’UÿDY9ÿÍžÿÚ¾¨ÿæÑ½ÿäÓÃÿíáÑÿãÕÆÿ×Ǹÿζ£ÿʪ‘ÿN/µ8ã?ŠWÿH\ÿT–gÿ‰´–ÿMhQÿ΢‚ÿàɸÿÞÓÉÿéâÓÿðâÍÿòçÕÿáÙÌÿׯµÿÄžƒÿ*t6ÚRšfÿ³Žÿ Ê«ÿ½Ì¿ÿ¶ÚÀÿgdSÿï¯ÿdzªÿthmÿzgiÿeUXÿº›ˆÿåÈ´ÿcH<· 5¦P˜aÿ’¼žÿ×Þ×ÿÎØÐÿÓâÚÿ¦Æ®ÿs`Vÿnczÿ©¾öÿ§»õÿ–¯ôÿ¯ÿH/)Ð)$DqŸzú™¹¡ÿ¬Ð¦ÿ1;rÿ8F¢ÿ¤Ñ¡ÿ©ÍÞÿ»ÉüÿÉÛûÿÊÚûÿÄÖøÿ²Ëÿÿ.8\×(m7mf’nîLxÿ6}­ÿ/~¸ÿWXÿ„¸ÚÿØàÿÿÏÝýÿÍÛýÿÊÙúÿÍÝþÿ–®ëý wJ/ 38ˆÏüÿŒÕõÿƒÑíÿ #ÿ$ÿWZ`ÿ¶½ÌÿÝæþÿÎÜýÿ°¼Õÿ-3CþÚ?™N½çö§ãÿÿžÛþÿ›Úýÿ-4ÿÿÿ022ÿ125ÿCHPÿ ÿý•@–!7ž[ˆ¡ÿÂëÿÿ½çÿÿ«ßÿÿPŒ­ÿ ÿÿ ÿ ÿ ÿ ýÜd±/M´B`þ¼ÒÚÿßóÿÿÁçÿÿDdÿOoÿ ºèò æ dL™1g7Wç Okÿ'Uoÿ!SoÿGeÿ\­8PïA[ô9U¿#;($¶KNã&(ËTÿüð€€ÀÀÀ€€Àÿáÿtraitsui-7.2.1/traitsui/wx/images/table_undelete.png0000644000076500000240000000064614046644454023246 0ustar aayresstaff00000000000000‰PNG  IHDRóÿa pHYs  šœtIME× '.ÏUQEIDAT8Ë­’¿JÃPÆ76ÚÅ>„/‘Ý¡”¢/PENâP:ˆN…ÚÉ.BŸ¡ƒà8:2”BìÚPú''¹IÚ&Vë¿o9‡ïrîùÎwü*‰ú·õ…4s'óÒï÷±mûóJ÷.¬’ãñx‘O&|ßß(Áø7¦m  é8Oã*§5σ¬J¹ß2ÐoϨ½ãµ]¥wøq„(¿eÄŸÁ2~åA*ed?És9d¶Ê_Ë鈭ÞD€¬1Ñ¿)²½fFY¨J°´N«Ôîºp™;¤×£—Ì Êå2¥‡RÜ59Ð]øÖ²ZgUD„ÙlF½Z! Cn;OKF£žç¡”BD‡¸®‹iš0‡Z³ õ“ ×÷ÁЉ–emVr•Œ0š‹óù.Ð@´ã¼vZ~a#Ò¸IEND®B`‚traitsui-7.2.1/traitsui/wx/images/list_editor.png0000755000076500000240000000062414046644454022612 0ustar aayresstaff00000000000000‰PNG  IHDRóÿabKGDÿÿÿ ½§“ pHYs  šœtIMEá. '÷¸Ú!IDAT8Ë¥“1nA EßÌN"$šH9 hØ’ pJNBǸ‡€zµ ¢£àÑ’‰˜ÙõL ‚@J&–\øÏö·¬æó9¢ßï·v»½Ó_€7àø2MÓp:â=àx<>ßê“ÉäU‹©QE­ëºNÔuF, cäp8DAD! "4Mó£ƒ*Š"n·[t€ñxüëÎeYF€j8ÒívcÊ ûý^é^¯—ìA§ÓA{ï“Þ{ŒsŽår©þzÎ,˘Ífï=›Íæ¬×ë$sJ[k“=°Ö¢ó<ÏRyž+SUU»Õj™ÕjõÔÅétª˜kPUUÛ8ç>x>ŸŸvº\.úú¾æFn€oÄX—xz¨IEND®B`‚traitsui-7.2.1/traitsui/wx/images/cb_hover_off.png0000644000076500000240000000045114046644454022705 0ustar aayresstaff00000000000000‰PNG  IHDR*º† pHYsÃÃÇo¨dµIDATxœÑÑ„@ÆñsžrEÄNQSS%% ]DÔü÷¶]ËÖ~ÎåÏq|Ç—ã!O~Î'uü™ 42ÁpƒoÔ Qš¸ +É+²’¸@i¼ðºJ“LCÝÓÔ=¦!5(œ¨˜†nd²Ì “¥1 q¨LÈJêžÉ²nìëÆd©{²™œ¨ÒäíÀ¼°ûÁ¼ÐäJÿ·õÆ­7¸ÑëÕo]Ì V¥[¨ªîtEXtAuthorUlead Systems, Inc.É>vIEND®B`‚traitsui-7.2.1/traitsui/wx/images/cb_off.png0000644000076500000240000000033314046644454021501 0ustar aayresstaff00000000000000‰PNG  IHDR*º† pHYsÃÃÇo¨dgIDATxœÊI@@@Ïœ¯ !k0ö=i}nu.ÏüæcüAŒ0A”"¶Hrdl…¢FÙ nÑtøª|­c•¯Xås#«|ãÌ*ß´°Ê·¬¬òm;«|ûÁ*ßy±Êwݬò=ëO/)lÎmå~Š.tEXtAuthorUlead Systems, Inc.É>vIEND®B`‚traitsui-7.2.1/traitsui/wx/images/table_delete.png0000644000076500000240000000067114046644454022701 0ustar aayresstaff00000000000000‰PNG  IHDRóÿabKGDÿÿÿ ½§“ pHYs  ÒÝ~ütIMEÓ &ýS™FIDATxœ¥’ÏJQÅ#3„´‰þu!Èè)†P’½@«=B›^#²MТ6B´©u´j£0 G.¢3•T£¦ÂÈmc“ÆPš.÷pÏ=ß÷ÝÃ…)¡ võ_¿þÅJ¥ÒˆR.—Éår‘.×uI&“èÃB»Ýy§Ó¡ÙlFR†<6éÌ?fàXb"ãÚ­„á fŽOC^­VI§7"Í/Gû!Ÿú SÐÿ¾­Ësº÷w#gƒÌòc‡¸zõˆ–0‘Ù¢P$ðjÔ¶¿'èžÜŒüƒJ¥B&“ ±·…–0‰é+Äâ&úâ20A2›¢ï¿¡Ï-4ž»›ÀP¾ïS¯×Ñ4 ð<Û¶1 ƒY@ŠÄâ&Á³‹>¿„¸¶‘;ëaõÛr,¡‚÷WÕïu•c Õÿh©žc+ÇJc 8–ȇÒÙ'ü/|LàbºûIEND®B`‚traitsui-7.2.1/traitsui/wx/images/table_move_up.png0000644000076500000240000000122514046644454023105 0ustar aayresstaff00000000000000‰PNG  IHDRóÿasBIT|dˆ pHYs × ×B(›xtEXtSoftwarewww.inkscape.org›î<IDAT8¥“ËkSA‡3w澌 棬/¬J"RmÒ(˜v¡´ÝЏp#n4THjqUèFqã?ËZÐ….\\”ÄFH*­åJJ̽ÉqQª¥¤1àÙÎá›ß|ç ‘RâŠv;LLóLbšgºõ­œÎò³ûÃGžº¢…ÏÕòÄë­W='H¦IÈgúæ.$.{SƒãÞí†g.™&¡ž„“.¥nëP[ýˆs§Æ0yBþ HL±Ù‘“›žmÄj.¡n¯ÀV,;(ijlæP$vBe±&"þxM?jö;h¦‚>ÿ^ G®ÀKÃÐtNw†Â±ø6lM½¬¼ÿZ|RúV„òÀµ±ÛQm‡‹¶Ò×(Tƒ¢²ø …çù¢BQ–@Iå`á~; CYuRH7Úh[  ”€²5UÂÅ£…{ÎÃÙæ±@[´Ñ´-¸m‰–#àür¡¸7¶#@¸."ž(ÆP (ŠŠ/ËåÞTŠÒü‹Ü2Àß[¥”JQÚÜ¿ågêµ~%/°/ùýuGIEND®B`‚traitsui-7.2.1/traitsui/wx/images/object.png0000644000076500000240000000564614046644454021545 0ustar aayresstaff00000000000000‰PNG  IHDRľ‹ pHYs  ÒÝ~ü OiCCPPhotoshop ICC profilexÚSgTSé=÷ÞôBKˆ€”KoR RB‹€‘&*! Jˆ!¡ÙQÁEEÈ ˆŽŽ€ŒQ, Š Øä!¢Žƒ£ˆŠÊûá{£kÖ¼÷æÍþµ×>ç¬ó³ÏÀ –H3Q5€ ©BàƒÇÄÆáä.@ $p³d!sý#ø~<<+"À¾xÓ ÀM›À0‡ÿêB™\€„Àt‘8K€@zŽB¦@F€˜&S `ËcbãP-`'æÓ€ø™{[”! ‘ eˆDh;¬ÏVŠEX0fKÄ9Ø-0IWfH°·ÀÎ ² 0Qˆ…){`È##x„™FòW<ñ+®ç*x™²<¹$9E[-qWW.(ÎI+6aaš@.Ây™24àóÌ ‘àƒóýxήÎÎ6޶_-ê¿ÿ"bbãþåÏ«p@át~Ñþ,/³€;€mþ¢%îh^  u÷‹f²@µ éÚWópø~<ß5°j>{‘-¨]cöK'XtÀâ÷ò»oÁÔ(€hƒáÏwÿï?ýG %€fI’q^D$.Tʳ?ÇD *°AôÁ,ÀÁÜÁ ü`6„B$ÄÂBB d€r`)¬‚B(†Í°*`/Ô@4ÀQh†“p.ÂU¸=púažÁ(¼ AÈa!ÚˆbŠX#Ž™…ø!ÁH‹$ ɈQ"K‘5H1RŠT UHò=r9‡\Fº‘;È2‚ü†¼G1”²Q=Ô µC¹¨7„F¢ Ðdt1š ›Ðr´=Œ6¡çЫhÚ>CÇ0Àè3Äl0.ÆÃB±8, “c˱"¬ «Æ°V¬»‰õcϱwEÀ 6wB aAHXLXNØH¨ $4Ú 7 „QÂ'"“¨K´&ºùÄb21‡XH,#Ö/{ˆCÄ7$‰C2'¹I±¤TÒÒFÒnR#é,©›4H#“ÉÚdk²9”, +È…ääÃä3ää!ò[ b@q¤øSâ(RÊjJåå4åe˜2AU£šRݨ¡T5ZB­¡¶R¯Q‡¨4uš9̓IK¥­¢•Óhh÷i¯ètºÝ•N—ÐWÒËéGè—èôw †ƒÇˆg(›gw¯˜L¦Ó‹ÇT071ë˜ç™™oUX*¶*|‘Ê •J•&•*/T©ª¦ªÞª UóUËT©^S}®FU3Sã© Ô–«UªPëSSg©;¨‡ªg¨oT?¤~Yý‰YÃLÃOC¤Q ±_ã¼Æ c³x,!k «†u5Ä&±ÍÙ|v*»˜ý»‹=ª©¡9C3J3W³Ró”f?ã˜qøœtN ç(§—ó~ŠÞï)â)¦4L¹1e\kª–—–X«H«Q«Gë½6®í§¦½E»YûAÇJ'\'GgÎçSÙSݧ §M=:õ®.ªk¥¡»Dw¿n§î˜ž¾^€žLo§Þy½çú}/ýTýmú§õG X³ $Û Î<Å5qo</ÇÛñQC]Ã@C¥a•a—á„‘¹Ñ<£ÕFFŒiÆ\ã$ãmÆmÆ£&&!&KMêMîšRM¹¦)¦;L;LÇÍÌÍ¢ÍÖ™5›=1×2ç›ç›×›ß·`ZxZ,¶¨¶¸eI²äZ¦Yî¶¼n…Z9Y¥XUZ]³F­­%Ö»­»§§¹N“N«žÖgðñ¶É¶©·°åØÛ®¶m¶}agbg·Å®Ã“}º}ý= ‡Ù«Z~s´r:V:ޚΜî?}Åô–é/gXÏÏØ3ã¶Ë)ÄiS›ÓGgg¹sƒóˆ‹‰K‚Ë.—>.›ÆÝȽäJtõq]ázÒõ›³›Âí¨Û¯î6îiî‡ÜŸÌ4Ÿ)žY3sÐÃÈCàQåÑ? Ÿ•0k߬~OCOgµç#/c/‘W­×°·¥wª÷aï>ö>rŸã>ã<7Þ2ÞY_Ì7À·È·ËOÃož_…ßC#ÿdÿzÿѧ€%g‰A[ûøz|!¿Ž?:Ûeö²ÙíAŒ ¹AA‚­‚åÁ­!hÈì­!÷ç˜Î‘Îi…P~èÖÐaæa‹Ã~ '…‡…W†?ŽpˆXÑ1—5wÑÜCsßDúD–DÞ›g1O9¯-J5*>ª.j<Ú7º4º?Æ.fYÌÕXXIlK9.*®6nl¾ßüíó‡ââ ã{˜/È]py¡ÎÂô…§©.,:–@LˆN8”ðA*¨Œ%òw%Ž yÂÂg"/Ñ6шØC\*NòH*Mz’쑼5y$Å3¥,幄'©¼L LÝ›:žšv m2=:½1ƒ’‘qBª!M“¶gêgæfvˬe…²þÅn‹·/•Ék³¬Y- ¶B¦èTZ(×*²geWf¿Í‰Ê9–«ž+Íí̳ÊÛ7œïŸÿíÂá’¶¥†KW-X潬j9²‰Š®Û—Ø(Üxå‡oÊ¿™Ü”´©«Ä¹dÏfÒféæÞ-ž[–ª—æ—n ÙÚ´ ßV´íõöEÛ/—Í(Û»ƒ¶C¹£¿<¸¼e§ÉÎÍ;?T¤TôTúT6îÒݵa×ønÑî{¼ö4ìÕÛ[¼÷ý>ɾÛUUMÕfÕeûIû³÷?®‰ªéø–ûm]­NmqíÇÒý#¶×¹ÔÕÒ=TRÖ+ëGǾþïw- 6 UœÆâ#pDyäé÷ ß÷ :ÚvŒ{¬áÓvg/jBšòšF›Sšû[b[ºOÌ>ÑÖêÞzüGÛœ499â?rýéü§CÏdÏ&žþ¢þË®/~øÕë×Îјѡ—ò—“¿m|¥ýêÀë¯ÛÆÂƾÉx31^ôVûíÁwÜwï£ßOä| (ÿhù±õSЧû“““ÿ˜óüc3-Û cHRMz%€ƒùÿ€éu0ê`:˜o’_ÅFÑIDATxÚL±Kq…â*BtP¸E€S´åœ»" ArˆçâìÜ ƒ‚ ´ýž. ¶æa(·¸×}.?£oz<¾á= À+°ÖÀ° 8¢ïÞ#Aõ€ f±è»±•äÍ_ò+¿£Üé¹Ò$ÖrÔIlTÚÏ¢ñMžYó’=õ"Ó{`ž‘ôWüËYIï‡×å•ßѧWRšÄÚ~:¾z’¤·ýÈÍ¢ï2¹=bzg?€#sÓ¦ .`Ú 3áÏXçGIEND®B`‚traitsui-7.2.1/traitsui/wx/images/table_no_sort.png0000644000076500000240000000101214046644454023110 0ustar aayresstaff00000000000000‰PNG  IHDRóÿabKGDÿÿÿ ½§“ pHYs  šœtIME×  73€—IDAT8Ë¥“ÏKAÇ?3Î"iðlkhéÁ‚§@ÎÝ‹Äö/ðªJïõ B/žJ ’‹ äXB¥¡dC(Mb51MV6ûzp;É&QJæÍ|yß÷}?¸T|Êÿú›¿V¹\¶¯‹'+(‘€ŽCÜtføñö+ív›|>€¥ëv»VŽãí ‰ ¸eñF£a!=M—V±“D±PM4’¤RÊÚæîìôP†“Õj•^¯ÀKi~ž ©Õj´Z­É.ˆN€Ùý fíè6…˜$,¬lœP©TÈårÉ.\¿K1;7 ˆÆÓ(¡ÄqœIÁ¶ƒyµJ#­jñUp¶û‘~©8­»úÞÂÅ÷~©ÈóÃo¸Çßp §d?œlZÛ¦1¹–ëQmž}ú‚N¥1O²É9ЊäàŒ­úêƒö%&ó˜ðüŒúÚr²ý÷Ž0ÀσÜÂ):•&üÕÄÌ?%º ¨¿~1Œyßö=W« }ñ=W¿¯%ð+â{®¨ùr¾çî›Óºð‹¼¥µùÛ*IEND®B`‚traitsui-7.2.1/traitsui/wx/images/table_search.png0000644000076500000240000000160214046644454022677 0ustar aayresstaff00000000000000‰PNG  IHDRóÿabKGDÿÿÿ ½§“ pHYs × ×B(›xtIME× +0WIIDAT8Ë•“ßoS†ŸszN{Žglµ¸Mq‹s•Á†”Q=‘‚ "xk$^™( þ¸6c¨Ñ ‰xi¶Ä˜-Jd 2Mâ&†ufjÂRˆndÙØ\G\WK[ÛßÇ‹&Ão|þ€7ßóæýÀç~þ e˲¸=·Àð¥ËüÀää$år‰sçÏÑu¤‹šš–íâú ,ÌÏ"Š"ÝÝ'OŽ£ë:š¦Ç+¶cóùàYŽ¿ò*£×ï0“Ï)Ø®k–‰Õiœêy‹î“oòÜÁÄÃa4M»wÁ§Ÿ püå ý²Ì’±Žv7ðPDÅñ<~[,0’Z¦hœêy›wß{Y–Q±£s;žê ùk†%Cå¥gši¬ÕPC$Qä‘Ú*:Z"Ì—æÿôÐuE ‘H$*íÛcÄ·Çùñ¶ÅÎÍ `Ú.«¦ƒëùØŽKzÅ W–¸6'²+±›¾¾ÞµEI’ðѪkX_Ä´LÛÅrQÏrÙǰ]Š«%Ëgá®ËJÉÇ4Ld-ľ6‹C_!ÉÒš‚87;Çââ"_ðt³Dê÷"_ŽÍ-Ød &¾»ÉìržŸ”þ‚ÖÖ6 …<±X €Ð3Ð?ÀéÓïã–²œ8ö,®ç3µT¢h8ìÜ\îF›?:Cב£8t€ºúƒç/pkjºÐÒ²‰míí\½ú=?Œ~‹¹E¬Þ%˜¹ÎøðYƯmÞÈO?OðXS”¦h”–æM¬åÊu]'£**uõµ¤R)úû?¡:\Íþ}û‘2{öìebb‚Þ¾^^íµ%Jš¦¡iŠ¢ðø–­´µn¡ááF:;;H&“ȲL"‘ ›ÍræÃ¾táßïüù,g@/EõQ7IEND®B`‚traitsui-7.2.1/traitsui/wx/images/table_move_down.png0000644000076500000240000000107714046644454023435 0ustar aayresstaff00000000000000‰PNG  IHDR Vu\çsBIT|dˆ pHYs a aüÌJ%tEXtSoftwarewww.inkscape.org›î<¼IDAT(‘e‘¿OaÇ¿÷‹Æö¼l‡’Š$Pˆ“&Þ &ĉð¸00Э›‰¦qe‚‰‰Ôè M%`¬µ“KùQ®Ú; í{÷¾,üLOò|žçÉó<c cC'O»ŸÁ¥.-›§ÅŽO¹/3VÈsD´Ñcüõû.Ó2°_+B$dsZ¥Ý¹SÀƒÕ¨¢T+ tV€ÜщûˆjRŠÀóþW`Œ‚1 »í¥&¥Ñë°"òæÕ‘wÝzXPé’\æÀ¡êÍcø}2û‡•häÉJµVá‹{¿ ç¬ó³ÏÀ –H3Q5€ ©BàƒÇÄÆáä.@ $p³d!sý#ø~<<+"À¾xÓ ÀM›À0‡ÿêB™\€„Àt‘8K€@zŽB¦@F€˜&S `ËcbãP-`'æÓ€ø™{[”! ‘ eˆDh;¬ÏVŠEX0fKÄ9Ø-0IWfH°·ÀÎ ² 0Qˆ…){`È##x„™FòW<ñ+®ç*x™²<¹$9E[-qWW.(ÎI+6aaš@.Ây™24àóÌ ‘àƒóýxήÎÎ6޶_-ê¿ÿ"bbãþåÏ«p@át~Ñþ,/³€;€mþ¢%îh^  u÷‹f²@µ éÚWópø~<ß5°j>{‘-¨]cöK'XtÀâ÷ò»oÁÔ(€hƒáÏwÿï?ýG %€fI’q^D$.Tʳ?ÇD *°AôÁ,ÀÁÜÁ ü`6„B$ÄÂBB d€r`)¬‚B(†Í°*`/Ô@4ÀQh†“p.ÂU¸=púažÁ(¼ AÈa!ÚˆbŠX#Ž™…ø!ÁH‹$ ɈQ"K‘5H1RŠT UHò=r9‡\Fº‘;È2‚ü†¼G1”²Q=Ô µC¹¨7„F¢ Ðdt1š ›Ðr´=Œ6¡çЫhÚ>CÇ0Àè3Äl0.ÆÃB±8, “c˱"¬ «Æ°V¬»‰õcϱwEÀ 6wB aAHXLXNØH¨ $4Ú 7 „QÂ'"“¨K´&ºùÄb21‡XH,#Ö/{ˆCÄ7$‰C2'¹I±¤TÒÒFÒnR#é,©›4H#“ÉÚdk²9”, +È…ääÃä3ää!ò[ b@q¤øSâ(RÊjJåå4åe˜2AU£šRݨ¡T5ZB­¡¶R¯Q‡¨4uš9̓IK¥­¢•Óhh÷i¯ètºÝ•N—ÐWÒËéGè—èôw †ƒÇˆg(›gw¯˜L¦Ó‹ÇT071ë˜ç™™oUX*¶*|‘Ê •J•&•*/T©ª¦ªÞª UóUËT©^S}®FU3Sã© Ô–«UªPëSSg©;¨‡ªg¨oT?¤~Yý‰YÃLÃOC¤Q ±_ã¼Æ c³x,!k «†u5Ä&±ÍÙ|v*»˜ý»‹=ª©¡9C3J3W³Ró”f?ã˜qøœtN ç(§—ó~ŠÞï)â)¦4L¹1e\kª–—–X«H«Q«Gë½6®í§¦½E»YûAÇJ'\'GgÎçSÙSݧ §M=:õ®.ªk¥¡»Dw¿n§î˜ž¾^€žLo§Þy½çú}/ýTýmú§õG X³ $Û Î<Å5qo</ÇÛñQC]Ã@C¥a•a—á„‘¹Ñ<£ÕFFŒiÆ\ã$ãmÆmÆ£&&!&KMêMîšRM¹¦)¦;L;LÇÍÌÍ¢ÍÖ™5›=1×2ç›ç›×›ß·`ZxZ,¶¨¶¸eI²äZ¦Yî¶¼n…Z9Y¥XUZ]³F­­%Ö»­»§§¹N“N«žÖgðñ¶É¶©·°åØÛ®¶m¶}agbg·Å®Ã“}º}ý= ‡Ù«Z~s´r:V:ޚΜî?}Åô–é/gXÏÏØ3ã¶Ë)ÄiS›ÓGgg¹sƒóˆ‹‰K‚Ë.—>.›ÆÝȽäJtõq]ázÒõ›³›Âí¨Û¯î6îiî‡ÜŸÌ4Ÿ)žY3sÐÃÈCàQåÑ? Ÿ•0k߬~OCOgµç#/c/‘W­×°·¥wª÷aï>ö>rŸã>ã<7Þ2ÞY_Ì7À·È·ËOÃož_…ßC#ÿdÿzÿѧ€%g‰A[ûøz|!¿Ž?:Ûeö²ÙíAŒ ¹AA‚­‚åÁ­!hÈì­!÷ç˜Î‘Îi…P~èÖÐaæa‹Ã~ '…‡…W†?ŽpˆXÑ1—5wÑÜCsßDúD–DÞ›g1O9¯-J5*>ª.j<Ú7º4º?Æ.fYÌÕXXIlK9.*®6nl¾ßüíó‡ââ ã{˜/È]py¡ÎÂô…§©.,:–@LˆN8”ðA*¨Œ%òw%Ž yÂÂg"/Ñ6шØC\*NòH*Mz’쑼5y$Å3¥,幄'©¼L LÝ›:žšv m2=:½1ƒ’‘qBª!M“¶gêgæfvˬe…²þÅn‹·/•Ék³¬Y- ¶B¦èTZ(×*²geWf¿Í‰Ê9–«ž+Íí̳ÊÛ7œïŸÿíÂá’¶¥†KW-X潬j9²‰Š®Û—Ø(Üxå‡oÊ¿™Ü”´©«Ä¹dÏfÒféæÞ-ž[–ª—æ—n ÙÚ´ ßV´íõöEÛ/—Í(Û»ƒ¶C¹£¿<¸¼e§ÉÎÍ;?T¤TôTúT6îÒݵa×ønÑî{¼ö4ìÕÛ[¼÷ý>ɾÛUUMÕfÕeûIû³÷?®‰ªéø–ûm]­NmqíÇÒý#¶×¹ÔÕÒ=TRÖ+ëGǾþïw- 6 UœÆâ#pDyäé÷ ß÷ :ÚvŒ{¬áÓvg/jBšòšF›Sšû[b[ºOÌ>ÑÖêÞzüGÛœ499â?rýéü§CÏdÏ&žþ¢þË®/~øÕë×Îјѡ—ò—“¿m|¥ýêÀë¯ÛÆÂƾÉx31^ôVûíÁwÜwï£ßOä| (ÿhù±õSЧû“““ÿ˜óüc3-Û cHRMz%€ƒùÿ€éu0ê`:˜o’_ÅF°IDATxÚ¤“MkSA†Ÿ¹‰üXˆþ¡(M]¹7©Rhbý*RAÑ(‚Z1!b©] jĬ¿E3á~Ì™9.Zj.¹8 ü(—ÎOƒvßSÔ@æÂ®® ZcX]ûF§UçË_$IÆÐÆ mÌÂÕ øR@t€N«@óÜôÄÌœG´¤ ™Sž>{óß ¬ÕŽü3ö ãüwZ°"Ÿh-ÀeIEND®B`‚traitsui-7.2.1/traitsui/wx/images/table_prefs.png0000644000076500000240000000066114046644454022555 0ustar aayresstaff00000000000000‰PNG  IHDRóÿabKGDÿÿÿ ½§“fIDATxÚ½“½KBQÆ©D \ÚúB¡ B¢†\j¬hÓ–\$©-ÿ‚²–š¢ÿ°¡Åá]!¥Aœ*9"]ˆ+mEH†L¹–ôÀËá<Þçyï D à_wà­v¶ªÙ ]×;rB HÛ—d¥R©Ëkš†Çã1Yjæ ÃhDÐuMÓ~•=ŸÏF?H)MTUýæ ™Bàv»±üÔ½Z­n0»àëèÄP.—I§ÓX­VNñ¶ÉDPUÕäâ ¹\®ñ¡Èo/O}ˤR)äà4—g¬Î»‡Ã#l­-a™d'–àæþg‹Ç»kü~w·WûLx7Q¬$ϸÆÇ( ‹Å¶êƒT*•äÌʺœ íÊþ¡Q™L&¥aõŠÇã¦{&“i R6›`qj˜ãØ JŸEQB˜Ng×»ðèzk[× íÞø¯Bèí)¼'IEND®B`‚traitsui-7.2.1/traitsui/wx/images/open.png0000644000076500000240000000115114046644454021223 0ustar aayresstaff00000000000000‰PNG  IHDRóÿagAMA¯È7ŠétEXtSoftwareAdobe ImageReadyqÉe<ûIDATxÚbd```ê.øË€J»>h©Û@ü›  æÿ?ÞíÅÀ q ¼s1 31#º~€I0üþr ÃàÜŠµ@2x/!WØ€ÿÿ¾C¹ÿ@>Ó¿>†‚ ‚¯ q2N1HÓ€ðï÷; h(#+XÙ·[¯{ŒËË`W]¹ý»háú¯3jÀ¸‚¿?€5gÏe`bÀv“;‚û€Ô5€‚ðç\âÛ‡« p¹ôÚ/°wþÿyùÃ÷Wë8D¼ÍÑ Hüýæýù~ŸaÕŽï ©)É@C?‚$þÿÿ¡ÿýaøýû/Ûï ó—ìè –ÇõÄoÞ~†%H3Ã_° ¶ÿ…4ÃÏßÿ¸þ~…Ùþˆ<?ù°ãð†Ä7ˆ—þƒbä?Ü ö? µ`ùQ˜íÇø@ xõæ3î£? Þù V áüzáÔ+~þúlûa¯lH³ƒˆ¤!PíHÀýÿwÌ :¨í tÀ Ò @ ¤©ŒÛ« D ý@ªˆŸL  ÔcÄ &D@?Èy€ø(8^ €`™D³C Ã@¹öL3ãÿÿÿ(0ŒþëøIEND®B`‚traitsui-7.2.1/traitsui/wx/images/table_colors.png0000644000076500000240000000106614046644454022737 0ustar aayresstaff00000000000000‰PNG  IHDRísO/bKGDF Fh7¯SëIDATxÚ¥“=hSa†ŸÜôÞÞæ&mÐØjŠ?Å©uQ¡]£"uîà$ºº¹–U:Å¢©PP….º$!&×$MÒ4×û÷Å%©¥½ÑÎòqÎç}ÏÁšòÀþ òƒ·c 0¼Qyt_‹ÆžCˬp~íC¸|=ܬ2•'ôX"‰˜ˆ£EO1?Ã÷»×u s´9°1¢„Å("',FQFTŒñÀâßž‹o[Øí¾m!=—¾ôÍ9²{æO¢ôñ-é¹xV‡V½P8ÉÄ9`#]Ðm‹Íg›|KßÄ0t¤ôi×\|ûàðXš9äÓÙ…;¡ÔŠ®ÐÜj²³ºC}«Žt%©ÔfoÝØŒ#êer¹‰„€lêñeUT§𡑏–`êöÅõŸ¿dú šÐh÷Ã\MΨÛÛŸÀ«¥#‘=‰mÚÈžD:€>`D"œKžÅˆDB`Š?‰ 凅ÓppjNÃÁïø„Û‰éKìu»Keöº]lÛÆõÜc1®¬/ìQÚÇ1¼–‡²ÛãÝÓOþüì<Õjb©LµZ£ÙÜ%Ö1 Ä8<–°¬.--ë¦Åõ\Æ;&¯ßäÏšÿýXÿ¤ßÊÙmXn±IEND®B`‚traitsui-7.2.1/traitsui/wx/images/table_display.png0000644000076500000240000000066214046644454023104 0ustar aayresstaff00000000000000‰PNG  IHDRóÿa pHYs  šœtIME× "=½)QIDAT8ËÅ’½KÃPÅIŠˆƒØ¡*8 ‘¥VWqœÜü»ˆ“ƒƒ‹K‹FQJƒ 8˜EP´´fè A!6ÚA B›çPŒMZÁÁÞ9÷Ýw¸ðßÚî""þ x@ÄûQÐ4-¤Y–%‰„ˆu¶t'À]× i¥R !Z˽þ¨(JHûNM ë:Žã‹ýȦi"Ë2žçùša>Èd2¡qÒét€Çãqr¹‘tC±Xd7·Gõé•Z­ö;Ú±¹µMjn™w»½…Bz½îwj<ÐtßXY˜G×uÄhгã<‹ÓI²Ù,€$uìAȃõèk~œYbc—g ©•*õô ryÄÄì*cƒ Úá•ûÛ@nÛ¶?Mä[Q¦ð<Ïïý•J…N§@¨ÕjR ¨V«ÔëõAl6K³Ù q ÉäZ@àH§Ó†1]MÓŒªÖåyßÙöó€© €üXº·7,_Ý#ŠˆB‰ÄÙ5@nìÊ\„ª±tqG(A]Hüï ¬Ì =ç 5Çk)-ŽŸM4xüRv ñÝûƸ}¸Äõ×\o’æ± M”(`Òd}¶ÇñnˆÛƒÍÓ4¥¥0l?âï²4‘½fÕZÐhtJ[S­huuØ*Tt¢‰v×BÈÿ󳺫ëÇ™?®Ô®Î÷óõ«oú9.5ŽueH¸í­k“Î¥®\¶”¿ªU–Gøäca0Dž”Ýç$d¹QуÎ#*3@7!sÂn¶Qу,7Rw•ßÁbˆ<-ªQËíÁvXßæW_á1$•tEXtAuthorUlead Systems, Inc.É>vIEND®B`‚traitsui-7.2.1/traitsui/wx/images/nb_open.png0000644000076500000240000000425414046644454021711 0ustar aayresstaff00000000000000‰PNG  IHDRfciuÑ pHYs  ÒÝ~ü^IDATxœíÚëSSgÀqf§ÓÿÈi÷UÝ®»–utD§.”ŠñÂ-Á ÖzAPTÚ¦Âhm»…Ò,-™jœ&¡”‹"HÄf¢#ö»/B"*Xk‡§ìsf>/ 3ÏùÎïœçœI £ÆãÇßUû?’z¿ù¡P¨&ø>|øTQ¤7÷ðáç@À …ξq˜P(ôßï)†×ëcÜ#©áõú^Šä÷ûŸ†B¡oT… ƒÞÈ »ïóuË${N“¾ÇEJáÉNI%MAùŸvpæë^oŽGƒAïk… AEQ¸ç½Ï¿š¶TÈ«‚Ü*È®„íåÓl;òHR)ëP€Ì2i¥·IÖuQñE;^E!_&2)cã÷)ûÊOþI(8 ù'!ç8ì(ÊÖ#È:”TÚrÐOf™ô½ãl(&)ÏAVñEFÜw朜Ù÷”o"“ràŒŸ‚ÓPP޲ç d{ÊÖÃSl9èG{@‘TÊ,ó±yß›öŒ±±øš}Äo·’©oäîÄ=E! }÷R˜È¾®Y OJ5”Áý)Èú,@æ…Œý^6ï›TJßëaSéi»ÝlØuÍÎ>³íÄm6sä䢂ç„B¡³Š¢àº}Ÿ¬ƒJôòå BQ5l9è'£ÌKúÞqÒJGI+qK*mÜ=ÂÆbv “Z8ˆ¦ÀIbŽ5ÚVþñÏZ‡F"SS |Š¢ðïK“äU=»|éOÍDÙ´ÒÑ™ ER-µp€Ô¢!R‹IÑ÷“¬ë!1ÇÎZ­…XÍyŽWÙø¢a"û¿ð[¾Ñg{JÖg2ʼ¤•Ž’Z8¸à‹[4ô7HÖõmc­ÖŠ” lÈ:}†‰ì©µûGÈ®œÙ}ž"ó€ÞEì^øÅ,&ú$åÿBÂŽŸY“ù#±šóüuíÁè³ÍKaRôýl/Ÿfë‘G3—°È´°˜E&)¿›øíVâ2Zø(ÉÈ{ËwGÃ<~üøÝçÂ$8g†‚h(lÞ7AZ‰{Á±%å9X·í «Ó›XžXË’e…óOŒ #Ãüß“aõ›aEùÓ³0½2Ì‚…ÑÏ?1Ÿìru(0ë…›‡»Gä®ìw°>¯‹u[bUÚ,‹ÿ’VͦèH'™e¾g/ÜJÇØXì"µhhÁ²˜hvö‘mc¶•©ß²4®’í±ùÃúH+½MúÞq6퉼p¿F`A‹‚¾ÿÙ´l2±<±–÷c÷rÒ`š?ŒË}—Ô6³±øvÝ ¿ŠÑ÷“¢¿¶Ð ûÓììc}^ñÛ®—ÑB¬æKã*yïoy ߺ=EQ¨>k%)Ïfg_X“d]ɺ’ò!)¿›¤<‡¤Òú¼.²m¬Ûúq-¬Hù†?>Í’ezŽªîûs†ñz'ÉÝ÷#ñÛ­$fÛIÌ Kȶ‘°ãgâ·[Y·íФÖÖŸX£meÕ&±š |øñiÞ[¾›í1¼ÞÉW‡q8(ŠÂØ»ì(i"n³™5ÚVÖj-¬ÕZX“ù#q-¬No’TZ•ö+R¿eyb-Kã*Y²LOªöcw<(Š‚N§{9 3‡ÃáÀï÷‡'gr’“_]b¥æ,±šó¬H¹@¬æ<%YžX+©´,þK–ÆUò~ì^þü÷|*«¿Ç;žƒÁ€N§cÖ1˜è†`dŒÏkšÈÈ5›p„¿¬.フ¥’JËâvóɶã|^Ó„kd,z~Õ…™˜˜ ·ÿå/ªIoGÏõ»´µµ½Y˜ÑÑQnÞ¼‰ÓéÄ9p»÷|ATw'|8î…Ï¥Ó‰ÝnKa¤·J†” #(FP2Œ dAÉ0‚’a%ÃJ†” #(FP2Œ dAÉ0‚’a%ÃJ†” #(FP2Œ dAÉ0‚’a%ÃJ†” #(FP2Œ dAÉ0‚’a%ÃJ†” #(FP2Œ dAÉ0‚’a%ÃJ†” #(FP2Œ dAÉ0‚’a%ÃJ†” #(FP2Œ dAÉ0‚’a%Ãêu¼ù©««K†(L ð+@GGŠ¢àóùðx<¸Ýn†††|‹Moo/6› ‹ÅB}}=ÕÕÕèõú9ÃLE&ÆãñàñxÅår188H__ß‚/f1q8X­VÌf3uuu”——SQQ‰25;L/ÀÐÐÃÃøÝn\.CCCô÷÷Ë0oÑìiihhÀ`0PRRÂ¥K—"aœ³ÃLMMa·Ûéïïg``€ëׯãt:ééé‰Zè…ýQõööâp8°Ùl´µµa2™0=z”œœLII :NR¡°°ââbªªª°X,øýþÙÏ,Ýs5˜/LÌÌõ.€<~¯#Hø¾>çùU˜ˆbÂ{ë©?YªŽ_ ŸÃ^Â'¯<ï¯Fúß½£öþ Sóe¢ü/¨¬IEND®B`‚traitsui-7.2.1/traitsui/wx/image_enum_editor.py0000644000076500000240000001455214046644454022346 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! """ Defines the various image enumeration editors for the wxPython user interface toolkit. """ import wx from traits.api import Any from .editor import Editor from .enum_editor import BaseEditor as BaseEnumEditor from .helper import bitmap_cache, position_window, TraitsUIPanel from .constants import WindowColor from .image_control import ImageControl from traitsui.wx import toolkit # ------------------------------------------------------------------------- # 'ReadonlyEditor' class: # ------------------------------------------------------------------------- class ReadonlyEditor(Editor): """ Read-only style of image enumeration editor, which displays a single ImageControl, representing the object trait's value. """ def init(self, parent): """ Finishes initializing the editor by creating the underlying toolkit widget. """ self.control = ImageControl( parent, bitmap_cache( "%s%s%s" % (self.factory.prefix, self.str_value, self.factory.suffix), False, self.factory._image_path, ), ) def update_editor(self): """ Updates the editor when the object trait changes externally to the editor. """ self.control.Bitmap( bitmap_cache( "%s%s%s" % (self.factory.prefix, self.str_value, self.factory.suffix), False, self.factory._image_path, ) ) class SimpleEditor(ReadonlyEditor): """ Simple style of image enumeration editor, which displays an ImageControl, representing the object trait's value. Clicking an image displays a dialog box for selecting an image corresponding to a different value. """ def init(self, parent): """ Finishes initializing the editor by creating the underlying toolkit widget. """ super().init(parent) self.control.Selected(True) self.control.Handler(self.popup_editor) self.set_tooltip() def popup_editor(self, control): """ Handles the user clicking the ImageControl to display the pop-up dialog. """ ImageEnumDialog(self) class CustomEditor(BaseEnumEditor): """ Custom style of image enumeration editor, which displays a grid of ImageControls. The user can click an image to select the corresponding value. """ # ------------------------------------------------------------------------- # Trait definitions: # ------------------------------------------------------------------------- update_handler = Any # Callback to call when any button clicked def init(self, parent): """ Finishes initializing the editor by creating the underlying toolkit widget. """ super().init(parent) # Create the panel to hold the ImageControl buttons: self.control = TraitsUIPanel(parent, -1) self._create_image_grid() def rebuild_editor(self): # Clear any existing content: self.control.SetSizer(None) toolkit.destroy_children(self.control) self._create_image_grid() def _create_image_grid(self): """ Populates a specified window with a grid of image buttons. """ panel = self.control # Create the main sizer: if self.factory.cols > 1: sizer = wx.GridSizer(0, self.factory.cols, 0, 0) else: sizer = wx.BoxSizer(wx.VERTICAL) # Add the set of all possible choices: factory = self.factory cur_value = self.value for name in self.names: value = self.mapping[name] control = ImageControl( panel, bitmap_cache( "%s%s%s" % (factory.prefix, name, factory.suffix), False, factory._image_path, ), value == cur_value, self.update_object, ) control.value = value sizer.Add(control, 0, wx.ALL, 2) self.set_tooltip(control) # Finish setting up the control layout: panel.SetSizerAndFit(sizer) def update_object(self, control): """ Handles the user clicking on an ImageControl to set an object value. """ self.value = control.value if self.update_handler is not None: self.update_handler() def update_editor(self): """ Updates the editor when the object trait changes externally to the editor. """ value = self.value for control in self.control.GetChildren(): control.Selected(value == control.value) class ImageEnumDialog(wx.Frame): """ Dialog box for selecting an ImageControl """ def __init__(self, editor): """ Initializes the object. """ wx.Frame.__init__(self, editor.control, -1, "", style=wx.SIMPLE_BORDER) self.SetBackgroundColour(WindowColor) self.Bind(wx.EVT_ACTIVATE, self._on_close_dialog) self._closed = False dlg_editor = CustomEditor( self, factory=editor.factory, ui=editor.ui, object=editor.object, name=editor.name, description=editor.description, update_handler=self._close_dialog, ) dlg_editor.init(self) # Wrap the dialog around the image button panel: sizer = wx.BoxSizer(wx.VERTICAL) sizer.Add(dlg_editor.control) sizer.Fit(self) # Position the dialog: position_window(self, parent=editor.control) self.Show() def _on_close_dialog(self, event): """ Closes the dialog. """ if not event.GetActive(): self._close_dialog() def _close_dialog(self): """ Closes the dialog. """ if not self._closed: self._closed = True self.Destroy() traitsui-7.2.1/traitsui/wx/ui_modal.py0000644000076500000240000002321214046644454020454 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! """ Creates a wxPython user interface for a specified UI object. """ import wx from pyface.api import SystemMetrics from .helper import save_window, TraitsUIScrolledPanel from .ui_base import BaseDialog from .ui_panel import panel from .constants import DefaultTitle, WindowColor, scrollbar_dx from traitsui.menu import ( ApplyButton, RevertButton, OKButton, CancelButton, HelpButton, ) def ui_modal(ui, parent): """ Creates a modal wxPython user interface for a specified UI object. """ _ui_dialog(ui, parent, BaseDialog.MODAL) def ui_nonmodal(ui, parent): """ Creates a non-modal wxPython user interface for a specified UI object. """ _ui_dialog(ui, parent, BaseDialog.NONMODAL) def _ui_dialog(ui, parent, style): """ Creates a wxPython dialog box for a specified UI object. Changes are not immediately applied to the underlying object. The user must click **Apply** or **OK** to apply changes. The user can revert changes by clicking **Revert** or **Cancel**. """ if ui.owner is None: ui.owner = ModalDialog() BaseDialog.display_ui(ui, parent, style) class ModalDialog(BaseDialog): """ Modal dialog box for Traits-based user interfaces. """ def init(self, ui, parent, style): self.is_modal = style == self.MODAL style = 0 view = ui.view if view.resizable: style |= wx.RESIZE_BORDER title = view.title if title == "": title = DefaultTitle revert = apply = False window = ui.control if window is not None: window.SetSizer(None) ui.reset() if hasattr(self, "revert"): revert = self.revert.IsEnabled() if hasattr(self, "apply"): apply = self.apply.IsEnabled() else: self.ui = ui if self.is_modal: window = wx.Dialog( parent, -1, title, style=style | wx.DEFAULT_DIALOG_STYLE ) else: window = wx.Frame( parent, -1, title, style=style | (wx.DEFAULT_FRAME_STYLE & (~wx.RESIZE_BORDER)), ) window.SetBackgroundColour(WindowColor) self.control = window self.set_icon(view.icon) window.Bind(wx.EVT_CLOSE, self._on_close_page) window.Bind(wx.EVT_CHAR, self._on_key) # Create the 'context' copies we will need while editing: context = ui.context ui._context = context ui.context = self._copy_context(context) ui._revert = self._copy_context(context) # Create the actual trait sheet panel and imbed it in a scrollable # window (if requested): sw_sizer = wx.BoxSizer(wx.VERTICAL) if ui.scrollable: sizer = wx.BoxSizer(wx.VERTICAL) sw = TraitsUIScrolledPanel(window) trait_sheet = panel(ui, sw) sizer.Add(trait_sheet, 1, wx.EXPAND | wx.ALL, 4) tsdx, tsdy = trait_sheet.GetSize() tsdx += 8 tsdy += 8 sw.SetScrollRate(16, 16) max_dy = (2 * SystemMetrics().screen_height) // 3 sw.SetSizer(sizer) sw.SetSize( wx.Size( tsdx + ((tsdy > max_dy) * scrollbar_dx), min(tsdy, max_dy) ) ) else: sw = panel(ui, window) sw_sizer.Add(sw, 1, wx.EXPAND) buttons = [self.coerce_button(button) for button in view.buttons] nbuttons = len(buttons) if (nbuttons != 1) or (not self.is_button(buttons[0], "")): # Create the necessary special function buttons: sw_sizer.Add(wx.StaticLine(window, -1), 0, wx.EXPAND) b_sizer = wx.BoxSizer(wx.HORIZONTAL) if nbuttons == 0: if view.apply: self.check_button(buttons, ApplyButton) if view.revert: self.check_button(buttons, RevertButton) if view.ok: self.check_button(buttons, OKButton) if view.cancel: self.check_button(buttons, CancelButton) if view.help: self.check_button(buttons, HelpButton) for raw_button, button in zip(view.buttons, buttons): default = raw_button == view.default_button if self.is_button(button, "Apply"): self.apply = self.add_button( button, b_sizer, self._on_apply, apply, default=default ) ui.observe( self._on_applyable, "modified", dispatch="ui" ) elif self.is_button(button, "Revert"): self.revert = self.add_button( button, b_sizer, self._on_revert, revert, default=default, ) elif self.is_button(button, "OK"): self.ok = self.add_button( button, b_sizer, self._on_ok, default=default ) ui.observe(self._on_error, "errors", dispatch="ui") elif self.is_button(button, "Cancel"): self.add_button( button, b_sizer, self._on_cancel, default=default ) elif self.is_button(button, "Help"): self.add_button( button, b_sizer, self._on_help, default=default ) elif not self.is_button(button, ""): self.add_button(button, b_sizer, default=default) sw_sizer.Add(b_sizer, 0, wx.ALIGN_RIGHT | wx.ALL, 5) # Add the menu bar, tool bar and status bar (if any): self.add_menubar() self.add_toolbar() self.add_statusbar() # Lay all of the dialog contents out: window.SetSizerAndFit(sw_sizer) def close(self, rc=wx.ID_OK): """ Closes the dialog window. """ ui = self.ui ui.result = rc == wx.ID_OK save_window(ui) if self.is_modal: self.control.EndModal(rc) self.control.Unbind(wx.EVT_CLOSE) self.control.Unbind(wx.EVT_CHAR) ui.finish() self.ui = self.apply = self.revert = self.help = self.control = None def _copy_context(self, context): """ Creates a copy of a *context* dictionary. """ result = {} for name, value in context.items(): if value is not None: result[name] = value.clone_traits() else: result[name] = None return result def _apply_context(self, from_context, to_context): """ Applies the traits in the *from_context* to the *to_context*. """ for name, value in from_context.items(): if value is not None: to_context[name].copy_traits(value) else: to_context[name] = None if to_context is self.ui._context: on_apply = self.ui.view.on_apply if on_apply is not None: on_apply() def _on_close_page(self, event): """ Handles the user clicking the window/dialog "close" button/icon. """ if self.ui.view.close_result: self._on_ok(event) else: self._on_cancel(event) def _on_ok(self, event=None): """ Closes the window and saves changes (if allowed by the handler). """ if self.ui.handler.close(self.ui.info, True): self._apply_context(self.ui.context, self.ui._context) self.close(wx.ID_OK) def _on_cancel(self, event=None): """ Closes the window and discards changes (if allowed by the handler). """ if self.ui.handler.close(self.ui.info, False): self._apply_context(self.ui._revert, self.ui._context) self.close(wx.ID_CANCEL) def _on_key(self, event): """ Handles the user pressing the Escape key. """ if event.GetKeyCode() == 0x1B: self._on_close_page(event) def _on_apply(self, event): """ Handles a request to apply changes. """ ui = self.ui self._apply_context(ui.context, ui._context) if hasattr(self, "revert"): self.revert.Enable(True) ui.handler.apply(ui.info) ui.modified = False def _on_revert(self, event): """ Handles a request to revert changes. """ ui = self.ui self._apply_context(ui._revert, ui.context) self._apply_context(ui._revert, ui._context) self.revert.Enable(False) ui.handler.revert(ui.info) ui.modified = False def _on_applyable(self, event): """ Handles a change to the "modified" state of the user interface . """ state = event.new self.apply.Enable(state) def _on_error(self, event): """ Handles editing errors. """ errors = event.new self.ok.Enable(errors == 0) traitsui-7.2.1/traitsui/wx/color_editor.py0000644000076500000240000003163514046644454021357 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! """ Defines the various color editors for the Wx user interface toolkit. """ import sys import wx import wx.adv from traits.api import List, TraitError from traitsui.editors.color_editor import ( ToolkitEditorFactory as BaseToolkitEditorFactory, ) from .editor_factory import SimpleEditor as BaseSimpleEditor from .editor_factory import ReadonlyEditor as BaseReadonlyEditor from .editor_factory import TextEditor as BaseTextEditor from .color_trait import w3c_color_database from .helper import TraitsUIPanel ColorTypes = (wx.Colour,) # --------------------------------------------------------------------------- # The Wx ToolkitEditorFactory class. # --------------------------------------------------------------------------- class ToolkitEditorFactory(BaseToolkitEditorFactory): """ Wx editor factory for color editors. """ def to_wx_color(self, editor, color=None): """ Gets the wxPython color equivalent of the object trait. """ if color is None: if self.mapped: color = getattr(editor.object, editor.name + "_") else: color = getattr(editor.object, editor.name) if isinstance(color, tuple): color = wx.Colour(*[int(round(c * 255.0)) for c in color]) return color def from_wx_color(self, color): """ Gets the application equivalent of a wxPython value. """ return color.Red(), color.Green(), color.Blue() def str_color(self, color): """ Returns the text representation of a specified color value. """ if isinstance(color, ColorTypes): alpha = color.Alpha() if alpha == 255: return "rgb(%d,%d,%d)" % ( color.Red(), color.Green(), color.Blue(), ) return "rgba(%d,%d,%d,%d)" % ( color.Red(), color.Green(), color.Blue(), alpha, ) return str(color) # ------------------------------------------------------------------------------ # 'ColorComboBox' class: # ------------------------------------------------------------------------------ class ColorComboBox(wx.adv.OwnerDrawnComboBox): def OnDrawItem(self, dc, rect, item, flags): r = wx.Rect(rect.x, rect.y, rect.width, rect.height) r.Deflate(3, 0) swatch_size = r.height - 2 color_name = self.GetString(item) dc.DrawText( color_name, r.x + 3, r.y + (r.height - dc.GetCharHeight()) // 2 ) if color_name == "custom": swatch = wx.Rect( r.x + r.width - swatch_size, r.y + 1, swatch_size, swatch_size ) dc.GradientFillLinear( swatch, wx.Colour(255, 255, 0), wx.Colour(0, 0, 255) ) else: color = w3c_color_database.Find(color_name) brush = wx.Brush(color) dc.SetBrush(brush) dc.DrawRectangle( r.x + r.width - swatch_size, r.y + 1, swatch_size, swatch_size ) # ------------------------------------------------------------------------------ # 'SimpleColorEditor' class: # ------------------------------------------------------------------------------ class SimpleColorEditor(BaseSimpleEditor): """ Simple style of color editor, which displays a text field whose background color is the color value. Selecting the text field displays a dialog box for selecting a new color value. """ # -------------------------------------------------------------------------- # Invokes the pop-up editor for an object trait: # -------------------------------------------------------------------------- choices = List() def _choices_default(self): """ by default, uses the W3C 16 color names. """ return [ "aqua", "black", "blue", "fuchsia", "gray", "green", "lime", "maroon", "navy", "olive", "purple", "red", "silver", "teal", "white", "yellow", "custom", ] def init(self, parent): """ Finishes initializing the editor by creating the underlying widget. """ current_color = self.factory.to_wx_color(self) current_color_name = current_color.GetAsString() self.control = ColorComboBox( parent, -1, current_color_name, wx.Point(0, 0), wx.Size(40, -1), self.choices, style=wx.CB_READONLY, ) self.control.Bind(wx.EVT_COMBOBOX, self.color_selected) def dispose(self): if self.control is not None: self.control.Unbind(wx.EVT_COMBOBOX, handler=self.color_selected) super().dispose() def update_editor(self): """ Updates the editor when the object trait changes externally to the editor. """ current_color = self.factory.to_wx_color(self) self.control.SetValue(self.string_value(current_color)) def color_selected(self, event): """ Event for when color is selected """ color_name = self.choices[event.Selection] if color_name == "custom": color_dialog = wx.ColourDialog(self.control) result = color_dialog.ShowModal() if result == wx.ID_CANCEL: return color = color_dialog.GetColourData().GetColour() self.value = self.factory.from_wx_color(color) else: try: color = w3c_color_database.Find(color_name) self.value = self.factory.from_wx_color(color) except ValueError: pass return def string_value(self, color): """ Returns the text representation of a specified color value. """ color_name = w3c_color_database.FindName(color) if color_name != "": return color_name return color.GetAsString() # ------------------------------------------------------------------------------ # 'CustomColorEditor' class: # ------------------------------------------------------------------------------ class CustomColorEditor(BaseSimpleEditor): """ Simple style of color editor, which displays a text field whose background color is the color value. Selecting the text field displays a dialog box for selecting a new color value. """ def init(self, parent): """ Finishes initializing the editor by creating the underlying widget. """ self.control = self._panel = parent = TraitsUIPanel(parent, -1) sizer = wx.BoxSizer(wx.HORIZONTAL) # 'text_control' is the text display of the color. text_control = wx.TextCtrl( parent, -1, self.str_value, style=wx.TE_PROCESS_ENTER ) text_control.Bind(wx.EVT_KILL_FOCUS, self.update_object) parent.Bind(wx.EVT_TEXT_ENTER, self.update_object, id=text_control.GetId()) # 'button_control' shows the 'Edit' button. button_control = wx.Button(parent, label="Edit", style=wx.BU_EXACTFIT) button_control.Bind(wx.EVT_BUTTON, self.open_color_dialog, id=button_control.GetId()) sizer.Add(text_control, wx.ALIGN_LEFT) sizer.AddSpacer(8) sizer.Add(button_control, wx.ALIGN_RIGHT) self.control.SetSizer(sizer) self._text_control = text_control self._button_control = button_control self.set_tooltip() return def update_object(self, event): """ Handles the user changing the contents of the edit control. """ if not isinstance(event, wx._core.CommandEvent): event.Skip() return try: # The TextCtrl object was saved as self._text_control in init(). value = self._text_control.GetValue() self.value = w3c_color_database.Find(value) self.set_color() except TraitError: pass def set_color(self): # The CustomColorEditor uses this method instead of the global # set_color function. color = self.factory.to_wx_color(self) self._text_control.SetBackgroundColour(color) self.control.SetBackgroundColour(color) self._text_control.SetValue(self.string_value(color)) def update_editor(self): """ Updates the editor when the object trait changes externally to the editor. """ self.set_color() def open_color_dialog(self, event): """ Opens the color dialog and sets the value upon return """ color_data = wx.ColourData() color_data.SetColour(self.value) color_dialog = wx.ColourDialog(self.control, color_data) result = color_dialog.ShowModal() if result == wx.ID_CANCEL: return color = color_dialog.GetColourData().GetColour() self.value = color self.set_color() def color_selected(self, event): """ Event for when color is selected """ color = event.GetColour() try: self.value = self.factory.from_wx_color(color) except ValueError: pass return def string_value(self, color): """ Returns the text representation of a specified color value. """ color_name = w3c_color_database.FindName(color) if color_name != "": return color_name return self.factory.str_color(color) # ------------------------------------------------------------------------------ # 'ReadonlyColorEditor' class: # ------------------------------------------------------------------------------ class ReadonlyColorEditor(BaseReadonlyEditor): """ Read-only style of color editor, which displays a read-only text field whose background color is the color value. """ def init(self, parent): """ Finishes initializing the editor by creating the underlying toolkit widget. """ self.control = wx.TextCtrl(parent, style=wx.TE_READONLY) def update_editor(self): """ Updates the editor when the object trait changes externally to the editor. """ # super().update_editor() self.control.SetValue(self.string_value(self.value)) set_color(self) def string_value(self, color): """ Returns the text representation of a specified color value. """ color_name = w3c_color_database.FindName(color) if color_name != "": return color_name return self.factory.str_color(color) # ------------------------------------------------------------------------------ # 'ReadonlyColorEditor' class: # ------------------------------------------------------------------------------ class TextColorEditor(BaseTextEditor): """ Text style of color editor, which displays a text field whose background color is the color value. """ def update_editor(self): """ Updates the editor when the object trait changes externally to the editor. """ self.control.SetValue(self.string_value(self.value)) set_color(self) def update_object(self, event): """ Handles the user changing the contents of the edit control. """ if not isinstance(event, wx._core.CommandEvent): return try: self.value = w3c_color_database.Find(self.control.GetValue()) set_color(self) except TraitError: pass def string_value(self, color): """ Returns the text representation of a specified color value. """ color_name = w3c_color_database.FindName(color) if color_name != "": return color_name return self.factory.str_color(color) # ------------------------------------------------------------------------------ # Sets the color of the specified editor's color control: # ------------------------------------------------------------------------------ def set_color(editor): """ Sets the color of the specified color control. """ color = editor.factory.to_wx_color(editor) editor.control.SetBackgroundColour(color) # Define the SimpleEditor, CustomEditor, etc. classes which are used by the # editor factory for the color editor. SimpleEditor = SimpleColorEditor CustomEditor = CustomColorEditor TextEditor = TextColorEditor ReadonlyEditor = ReadonlyColorEditor traitsui-7.2.1/traitsui/wx/constants.py0000644000076500000240000000422514046644454020702 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! """ Defines constants used by the wxPython implementation of the various text editors and text editor factories. """ import sys import wx from pyface.api import SystemMetrics #: Define platform and wx version constants: is_mac = sys.platform == "darwin" #: Default dialog title DefaultTitle = "Edit properties" #: Color of valid input OKColor = wx.WHITE #: Color to highlight input errors ErrorColor = wx.Colour(255, 192, 192) #: Color for background of read-only fields ReadonlyColor = wx.Colour(244, 243, 238) #: Color for background of fields where objects can be dropped DropColor = wx.Colour(215, 242, 255) #: Color for an editable field EditableColor = wx.WHITE #: Color for background of windows (like dialog background color) if is_mac: WindowColor = wx.Colour(232, 232, 232) BorderedGroupColor = wx.Colour(224, 224, 224) else: WindowColor = wx.SystemSettings.GetColour(wx.SYS_COLOUR_MENUBAR) #: Default colour for table foreground TableCellColor = wx.BLACK #: Default colour for table background TableCellBackgroundColor = wx.WHITE #: Default colour for table background TableReadOnlyBackgroundColor = ReadonlyColor #: Default colour for table background TableLabelColor = TableCellColor #: Default colour for table background TableLabelBackgroundColor = WindowColor #: Default foreground colour for table selection TableSelectionTextColor = TableCellColor #: Default background colour for table selection (light blue) TableSelectionBackgroundColor = wx.Colour(173, 216, 230) #: Standard width of an image bitmap standard_bitmap_width = 120 #: Width of a scrollbar scrollbar_dx = wx.SystemSettings.GetMetric(wx.SYS_VSCROLL_X) #: Screen width screen_dx = SystemMetrics().screen_width #: Screen height screen_dy = SystemMetrics().screen_height traitsui-7.2.1/traitsui/wx/null_editor.py0000644000076500000240000000200714046644454021202 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! """ Defines a completely empty editor, intended to be used as a spacer. """ import wx from .editor import Editor class NullEditor(Editor): """ A completely empty editor. """ def init(self, parent): """ Finishes initializing the editor by creating the underlying toolkit widget. """ self.control = control = wx.Window(parent, -1, size=wx.Size(1, 1)) control.SetBackgroundColour(parent.GetBackgroundColour()) def update_editor(self): """ Updates the editor when the object trait changes externally to the editor. """ pass traitsui-7.2.1/traitsui/wx/shell_editor.py0000644000076500000240000000154614046644454021346 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! """ Editor that displays an interactive Python shell. """ from traitsui.editors.shell_editor import _ShellEditor as BaseShellEditor from .editor import Editor # ------------------------------------------------------------------------- # 'ShellEditor' class: # ------------------------------------------------------------------------- class _ShellEditor(BaseShellEditor, Editor): """ Editor that displays an interactive Python shell. """ pass traitsui-7.2.1/traitsui/wx/__init__.py0000644000076500000240000000155614046644454020431 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! """ Defines the concrete implementations of the traits Toolkit interface for the wxPython user interface toolkit. """ # ------------------------------------------------------------------------- # Define the reference to the exported GUIToolkit object: # ------------------------------------------------------------------------- from . import toolkit # Reference to the GUIToolkit object for wxPython toolkit = toolkit.GUIToolkit("traitsui", "wx", "traitsui.wx") traitsui-7.2.1/traitsui/wx/html_editor.py0000644000076500000240000000670714046644454021207 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! """ Defines the HTML "editor" for the wxPython user interface toolkit. HTML editors interpret and display HTML-formatted text, but do not modify it. """ import os.path import webbrowser import wx.html as wh from traits.api import Str from .editor import Editor class URLResolvingHtmlWindow(wh.HtmlWindow): """ Overrides OnOpeningURL method of HtmlWindow to append the base URL local links. """ def __init__(self, parent, open_externally, base_url): wh.HtmlWindow.__init__(self, parent) self.open_externally = open_externally self.base_url = base_url def OnLinkClicked(self, link_info): """ Handle the base url and opening in a new browser window for links. """ if self.open_externally: url = link_info.GetHref() if self.base_url and not url.startswith(("http://", "https://")): url = self.base_url + url if not url.startswith(("file://", "http://", "https://")): url = "file://" + url webbrowser.open_new(url) def OnOpeningURL(self, url_type, url): """ According to the documentation, this method is supposed to be called for both images and link clicks, but it appears to only be called for image loading, hence the base url handling code in OnLinkClicked. """ if ( self.base_url and not os.path.isabs(url) and not url.startswith(("http://", "https://", self.base_url)) ): return wh.HTML_REDIRECT, self.base_url + url else: return wh.HTML_OPEN, url class SimpleEditor(Editor): """ Simple style of editor for HTML, which displays interpreted HTML. """ # ------------------------------------------------------------------------- # Trait definitions: # ------------------------------------------------------------------------- #: Is the HTML editor scrollable? This values override the default. scrollable = True #: External objects referenced in the HTML are relative to this URL base_url = Str() def init(self, parent): """ Finishes initializing the editor by creating the underlying toolkit widget. """ self.control = URLResolvingHtmlWindow( parent, self.factory.open_externally, self.base_url ) self.control.SetBorders(2) self.base_url = self.factory.base_url self.sync_value(self.factory.base_url_name, "base_url", "from") def update_editor(self): """ Updates the editor when the object trait changes external to the editor. """ text = self.str_value if self.factory.format_text: text = self.factory.parse_text(text) self.control.SetPage(text) # -- Event Handlers ------------------------------------------------------- def _base_url_changed(self): url = self.base_url if not url.endswith("/"): url += "/" self.control.base_url = url self.update_editor() traitsui-7.2.1/traitsui/wx/ui_base.py0000644000076500000240000001503514046644454020276 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! """ Defines the base class for the wxPython-based Traits UI modal and non-modal dialogs. """ import wx from traits.api import HasPrivateTraits, Instance from traitsui.base_panel import BasePanel as _BasePanel from traitsui.menu import Action from .editor import Editor from .helper import restore_window class ButtonEditor(Editor): """ Editor for buttons. """ # Action associated with the button action = Instance(Action) def __init__(self, **traits): # XXX Why does this need to be an Editor subclass? -- CJW HasPrivateTraits.__init__(self, **traits) def perform(self, event): """ Handles the associated button being clicked. """ handler = self.ui.handler self.ui.do_undoable(handler.perform, self.ui.info, self.action, event) class BaseDialog(_BasePanel): """ Base class for Traits UI dialog boxes. """ # The different dialog styles. NONMODAL = 0 MODAL = 1 POPUP = 2 POPOVER = 3 INFO = 4 # Types of 'popup' dialogs: POPUP_TYPES = {POPUP, POPOVER, INFO} def init(self, ui, parent, style): """Initialise the dialog by creating the controls.""" raise NotImplementedError @staticmethod def display_ui(ui, parent, style): ui.owner.init(ui, parent, style) ui.control = ui.owner.control ui.control._parent = parent try: ui.prepare_ui() except: ui.control.Destroy() ui.control.ui = None ui.control = None ui.owner = None ui.result = False raise ui.handler.position(ui.info) restore_window(ui, is_popup=(style in BaseDialog.POPUP_TYPES)) ui.control.Layout() # Check if the control is already being displayed modally. This would be # the case if after the window was displayed, some event caused the ui to # get rebuilt (typically when the user fires the 'updated' event on the ui # ). In this case, calling ShowModal again leads to the parent window # hanging even after the control has been closed by clicking OK or Cancel # (maybe the modal mode isn't ending?) if style == BaseDialog.MODAL and not ui.control.IsModal(): ui.control.ShowModal() else: ui.control.Show() def default_icon(self): """ Return a default icon for a TraitsUI dialog. """ from pyface.image_resource import ImageResource return ImageResource("frame.ico") def set_icon(self, icon=None): """ Sets the frame's icon. """ from pyface.image_resource import ImageResource if not isinstance(icon, ImageResource): icon = self.default_icon() self.control.SetIcon(icon.create_icon()) def add_statusbar(self): """ Adds a status bar to the dialog. """ ui = self.ui statusbar = ui.view.statusbar context = ui.context if statusbar is not None: widths = [] listeners = [] control = wx.StatusBar(self.control) control.SetFieldsCount(len(statusbar)) for i, item in enumerate(statusbar): width = abs(item.width) if width <= 1.0: widths.append(-max(1, int(1000 * width))) else: widths.append(int(width)) set_text = self._set_status_text(control, i) name = item.name control.SetStatusText(ui.get_extended_value(name), i) col = name.find(".") object = "object" if col >= 0: object = name[:col] name = name[col + 1 :] object = context[object] object.observe(set_text, name, dispatch="ui") listeners.append((object, set_text, name)) control.SetStatusWidths(widths) self.control.SetStatusBar(control) ui._statusbar = listeners def _set_status_text(self, control, i): def set_status_text(event): text = event.new control.SetStatusText(text, i) return set_status_text def add_menubar(self): """ Adds a menu bar to the dialog. """ menubar = self.ui.view.menubar if menubar is not None: self._last_group = self._last_parent = None self.control.SetMenuBar( menubar.create_menu_bar(self.control, self) ) self._last_group = self._last_parent = None def add_toolbar(self): """ Adds a toolbar to the dialog. """ toolbar = self.ui.view.toolbar if toolbar is not None: self._last_group = self._last_parent = None self.control.SetToolBar( toolbar.create_tool_bar(self.control, self) ) self._last_group = self._last_parent = None def add_button( self, action, sizer, method=None, enabled=True, name=None, default=False, ): """ Creates a button. """ ui = self.ui if (action.defined_when != "") and ( not ui.eval_when(action.defined_when) ): return None if name is None: name = action.name id = action.id button = wx.Button(self.control, -1, name) button.Enable(enabled) if default: button.SetDefault() if (method is None) or (action.enabled_when != "") or (id != ""): editor = ButtonEditor(ui=ui, action=action, control=button) if id != "": ui.info.bind(id, editor) if action.visible_when != "": ui.add_visible(action.visible_when, editor) if action.enabled_when != "": ui.add_enabled(action.enabled_when, editor) if method is None: method = editor.perform self.control.Bind(wx.EVT_BUTTON, method, id=button.GetId()) sizer.Add(button, 0, wx.LEFT, 5) if action.tooltip != "": button.SetToolTip(action.tooltip) return button traitsui-7.2.1/traitsui/wx/dnd_editor.py0000644000076500000240000002345614046644454021010 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! """ Defines the various editors for a drag-and-drop editor, for the wxPython user interface toolkit. A drag-and-drop editor represents its value as a simple image which, depending upon the editor style, can be a drag source only, a drop target only, or both a drag source and a drop target. """ import wx import numpy from pickle import load from traits.api import Bool from pyface.wx.drag_and_drop import ( PythonDropSource, PythonDropTarget, clipboard, ) try: from apptools.io import File except ImportError: File = None try: from apptools.naming.api import Binding except ImportError: Binding = None from pyface.image_resource import ImageResource from .editor import Editor # The image to use when the editor accepts files: file_image = ImageResource("file").create_image() # The image to use when the editor accepts objects: object_image = ImageResource("object").create_image() # The image to use when the editor is disabled: inactive_image = ImageResource("inactive").create_image() # String types: string_type = (str, str) # ------------------------------------------------------------------------- # 'SimpleEditor' class: # ------------------------------------------------------------------------- class SimpleEditor(Editor): """ Simply style of editor for a drag-and-drop editor, which is both a drag source and a drop target. """ # ------------------------------------------------------------------------- # Trait definitions: # ------------------------------------------------------------------------- #: Is the editor a drop target? drop_target = Bool(True) #: Is the editor a drag source? drag_source = Bool(True) def init(self, parent): """ Finishes initializing the editor by creating the underlying toolkit widget. """ # Determine the drag/drop type: value = self.value self._is_list = isinstance(value, list) self._is_file = isinstance(value, string_type) or ( self._is_list and (len(value) > 0) and isinstance(value[0], string_type) ) # Get the right image to use: image = self.factory.image if image is not None: image = image.create_image() disabled_image = self.factory.disabled_image if disabled_image is not None: disabled_image = disabled_image.create_image() else: disabled_image = inactive_image image = object_image if self._is_file: image = file_image self._image = image.ConvertToBitmap() if disabled_image is not None: self._disabled_image = disabled_image.ConvertToBitmap() else: data = numpy.reshape( numpy.fromstring(image.GetData(), numpy.uint8), (-1, 3) ) * numpy.array([[0.297, 0.589, 0.114]]) g = data[:, 0] + data[:, 1] + data[:, 2] data[:, 0] = data[:, 1] = data[:, 2] = g image.SetData(numpy.ravel(data.astype(numpy.uint8)).tostring()) image.SetMaskColour(0, 0, 0) self._disabled_image = image.ConvertToBitmap() # Create the control and set up the event handlers: self.control = control = wx.Window( parent, -1, size=wx.Size(image.GetWidth(), image.GetHeight()) ) self.set_tooltip() if self.drop_target: control.SetDropTarget(PythonDropTarget(self)) control.Bind(wx.EVT_LEFT_DOWN, self._left_down) control.Bind(wx.EVT_LEFT_UP, self._left_up) control.Bind(wx.EVT_MOTION, self._mouse_move) control.Bind(wx.EVT_PAINT, self._on_paint) def dispose(self): """ Disposes of the contents of an editor. """ control = self.control control.Unbind(wx.EVT_LEFT_DOWN) control.Unbind(wx.EVT_LEFT_UP) control.Unbind(wx.EVT_MOTION) control.Unbind(wx.EVT_PAINT) super().dispose() def update_editor(self): """ Updates the editor when the object trait changes externally to the editor. """ return # -- Private Methods ------------------------------------------------------ def _get_drag_data(self, data): """ Returns the processed version of a drag request's data. """ if isinstance(data, list): if Binding is not None and isinstance(data[0], Binding): data = [item.obj for item in data] if File is not None and isinstance(data[0], File): data = [item.absolute_path for item in data] if not self._is_file: result = [] for file in data: item = self._unpickle(file) if item is not None: result.append(item) data = result else: if Binding is not None and isinstance(data, Binding): data = data.obj if File is not None and isinstance(data, File): data = data.absolute_path if not self._is_file: object = self._unpickle(data) if object is not None: data = object return data def _unpickle(self, file_name): """ Returns the unpickled version of a specified file (if possible). """ with open(file_name, "rb") as fh: try: object = load(fh) except Exception: object = None return object # -- wxPython Event Handlers ---------------------------------------------- def _on_paint(self, event): """ Called when the control needs repainting. """ image = self._image control = self.control if not control.IsEnabled(): image = self._disabled_image wdx, wdy = control.GetClientSize() wx.PaintDC(control).DrawBitmap( image, (wdx - image.GetWidth()) // 2, (wdy - image.GetHeight()) // 2, True, ) def _left_down(self, event): """ Handles the left mouse button being pressed. """ if self.control.IsEnabled() and self.drag_source: self._x, self._y = event.GetX(), event.GetY() self.control.CaptureMouse() event.Skip() def _left_up(self, event): """ Handles the left mouse button being released. """ if self._x is not None: self._x = None self.control.ReleaseMouse() event.Skip() def _mouse_move(self, event): """ Handles the mouse being moved. """ if self._x is not None: if ( abs(self._x - event.GetX()) + abs(self._y - event.GetY()) ) >= 3: self.control.ReleaseMouse() self._x = None if self._is_file: FileDropSource(self.control, self.value) else: PythonDropSource(self.control, self.value) event.Skip() # ----- Drag and drop event handlers: ------------------------------------- def wx_dropped_on(self, x, y, data, drag_result): """ Handles a Python object being dropped on the tree. """ try: self.value = self._get_drag_data(data) return drag_result except: return wx.DragNone def wx_drag_over(self, x, y, data, drag_result): """ Handles a Python object being dragged over the tree. """ try: self.object.base_trait(self.name).validate( self.object, self.name, self._get_drag_data(data) ) return drag_result except: return wx.DragNone class CustomEditor(SimpleEditor): """ Custom style of drag-and-drop editor, which is not a drag source. """ # ------------------------------------------------------------------------- # Trait definitions: # ------------------------------------------------------------------------- #: Is the editor a drag source? This value overrides the default. drag_source = False class ReadonlyEditor(SimpleEditor): """ Read-only style of drag-and-drop editor, which is not a drop target. """ # ------------------------------------------------------------------------- # Trait definitions: # ------------------------------------------------------------------------- #: Is the editor a drop target? This value overrides the default. drop_target = False class FileDropSource(wx.DropSource): """ Represents a draggable file. """ def __init__(self, source, files): """ Initializes the object. """ self.handler = None self.allow_move = True # Put the data to be dragged on the clipboard: clipboard.data = files clipboard.source = source clipboard.drop_source = self data_object = wx.FileDataObject() if isinstance(files, string_type): files = [files] for file in files: data_object.AddFile(file) # Create the drop source and begin the drag and drop operation: super().__init__(source) self.SetData(data_object) self.result = self.DoDragDrop(True) def on_dropped(self, drag_result): """ Called when the data has been dropped. """ return traitsui-7.2.1/traitsui/wx/tree_editor.py0000644000076500000240000016614314046644454021203 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! """ Defines the tree editor for the wxPython user interface toolkit. """ import os import wx import copy try: from pyface.wx.drag_and_drop import PythonDropSource, PythonDropTarget except: PythonDropSource = PythonDropTarget = None from pyface.ui.wx.image_list import ImageList from traits.api import HasStrictTraits, Any, Str, Event, TraitError from traitsui.api import View, TreeNode, ObjectTreeNode, MultiTreeNode from traitsui.editors.tree_editor import ( CopyAction, CutAction, DeleteAction, NewAction, PasteAction, RenameAction, ) from traitsui.undo import ListUndoItem from traitsui.tree_node import ITreeNodeAdapterBridge from traitsui.menu import Menu, Action, Separator from pyface.api import ImageResource from pyface.ui_traits import convert_image from pyface.dock.api import ( DockWindow, DockSizer, DockSection, DockRegion, DockControl, ) from .constants import OKColor from .editor import Editor from .helper import TraitsUIPanel, TraitsUIScrolledPanel # ------------------------------------------------------------------------- # Global data: # ------------------------------------------------------------------------- # Paste buffer for copy/cut/paste operations paste_buffer = None # ------------------------------------------------------------------------- # 'SimpleEditor' class: # ------------------------------------------------------------------------- class SimpleEditor(Editor): """ Simple style of tree editor. """ # ------------------------------------------------------------------------- # Trait definitions: # ------------------------------------------------------------------------- #: Is the tree editor is scrollable? This value overrides the default. scrollable = True #: Allows an external agent to set the tree selection selection = Event() #: The currently selected object selected = Any() #: The event fired when a tree node is activated by double clicking or #: pressing the enter key on a node. activated = Event() #: The event fired when a tree node is clicked on: click = Event() #: The event fired when a tree node is double-clicked on: dclick = Event() #: The event fired when the application wants to veto an operation: veto = Event() def init(self, parent): """ Finishes initializing the editor by creating the underlying toolkit widget. """ factory = self.factory style = self._get_style() if factory.editable: # Check to see if the tree view is based on a shared trait editor: if factory.shared_editor: factory_editor = factory.editor # If this is the editor that defines the trait editor panel: if factory_editor is None: # Remember which editor has the trait editor in the # factory: factory._editor = self # Create the trait editor panel: self.control = TraitsUIPanel(parent, -1) self.control._node_ui = self.control._editor_nid = None # Check to see if there are any existing editors that are # waiting to be bound to the trait editor panel: editors = factory._shared_editors if editors is not None: for editor in factory._shared_editors: # If the editor is part of this UI: if editor.ui is self.ui: # Then bind it to the trait editor panel: editor._editor = self.control # Indicate all pending editors have been processed: factory._shared_editors = None # We only needed to build the trait editor panel, so exit: return # Check to see if the matching trait editor panel has been # created yet: editor = factory_editor._editor if (editor is None) or (editor.ui is not self.ui): # If not, add ourselves to the list of pending editors: shared_editors = factory_editor._shared_editors if shared_editors is None: factory_editor._shared_editors = shared_editors = [] shared_editors.append(self) else: # Otherwise, bind our trait editor panel to the shared one: self._editor = editor.control # Finally, create only the tree control: self.control = self._tree = tree = wx.TreeCtrl( parent, -1, style=style ) else: # If editable, create a tree control and an editor panel: self._is_dock_window = True theme = factory.dock_theme or self.item.container.dock_theme self.control = splitter = DockWindow( parent, theme=theme ).control self._tree = tree = wx.TreeCtrl(splitter, -1, style=style) self._editor = editor = TraitsUIScrolledPanel(splitter) editor.SetSizer(wx.BoxSizer(wx.VERTICAL)) editor.SetScrollRate(16, 16) editor.SetMinSize(wx.Size(100, 100)) self._editor._node_ui = self._editor._editor_nid = None item = self.item hierarchy_name = editor_name = "" style = "fixed" name = item.label if name != "": hierarchy_name = name + " Hierarchy" editor_name = name + " Editor" style = item.dock splitter.SetSizer( DockSizer( contents=DockSection( contents=[ DockRegion( contents=[ DockControl( name=hierarchy_name, id="tree", control=tree, style=style, ) ] ), DockRegion( contents=[ DockControl( name=editor_name, id="editor", control=self._editor, style=style, ) ] ), ], is_row=(factory.orientation == "horizontal"), ) ) ) else: # Otherwise, just create the tree control: self.control = self._tree = tree = wx.TreeCtrl( parent, -1, style=style ) # Set up to show tree node icon (if requested): if factory.show_icons: self._image_list = ImageList(*factory.icon_size) tree.AssignImageList(self._image_list) # Set up the mapping between objects and tree id's: self._map = {} # Initialize the 'undo state' stack: self._undoable = [] # Set up the mouse event handlers: tree.Bind(wx.EVT_LEFT_DOWN, self._on_left_down) tree.Bind(wx.EVT_RIGHT_DOWN, self._on_right_down) tree.Bind(wx.EVT_LEFT_DCLICK, self._on_left_dclick) # Set up the tree event handlers: tree.Bind(wx.EVT_TREE_ITEM_EXPANDING, self._on_tree_item_expanding) tree.Bind(wx.EVT_TREE_ITEM_EXPANDED, self._on_tree_item_expanded) tree.Bind(wx.EVT_TREE_ITEM_COLLAPSING, self._on_tree_item_collapsing) tree.Bind(wx.EVT_TREE_ITEM_COLLAPSED, self._on_tree_item_collapse) tree.Bind(wx.EVT_TREE_ITEM_ACTIVATED, self._on_tree_item_activated) tree.Bind(wx.EVT_TREE_SEL_CHANGED, self._on_tree_sel_changed) tree.Bind(wx.EVT_TREE_BEGIN_DRAG, self._on_tree_begin_drag) tree.Bind(wx.EVT_TREE_BEGIN_LABEL_EDIT, self._on_tree_begin_label_edit) tree.Bind(wx.EVT_TREE_END_LABEL_EDIT, self._on_tree_end_label_edit) tree.Bind(wx.EVT_TREE_ITEM_GETTOOLTIP, self._on_tree_item_gettooltip) # Set up general mouse events tree.Bind(wx.EVT_MOTION, self._on_hover) # Synchronize external object traits with the editor: self.sync_value(factory.selected, "selected") self.sync_value(factory.activated, "activated", "to") self.sync_value(factory.click, "click", "to") self.sync_value(factory.dclick, "dclick", "to") self.sync_value(factory.veto, "veto", "from") # Set up the drag and drop target: if PythonDropTarget is not None: tree.SetDropTarget(PythonDropTarget(self)) def dispose(self): """ Disposes of the contents of an editor. """ tree = self._tree if tree is not None: tree.Unbind(wx.EVT_LEFT_DOWN) tree.Unbind(wx.EVT_RIGHT_DOWN) tree.Unbind(wx.EVT_LEFT_DCLICK) tree.Unbind(wx.EVT_TREE_ITEM_EXPANDING) tree.Unbind(wx.EVT_TREE_ITEM_EXPANDED) tree.Unbind(wx.EVT_TREE_ITEM_COLLAPSING) tree.Unbind(wx.EVT_TREE_ITEM_COLLAPSED) tree.Unbind(wx.EVT_TREE_ITEM_ACTIVATED) tree.Unbind(wx.EVT_TREE_SEL_CHANGED) tree.Unbind(wx.EVT_TREE_BEGIN_DRAG) tree.Unbind(wx.EVT_TREE_BEGIN_LABEL_EDIT) tree.Unbind(wx.EVT_TREE_END_LABEL_EDIT) tree.Unbind(wx.EVT_TREE_ITEM_GETTOOLTIP) tree.Unbind(wx.EVT_MOTION) nid = self._tree.GetRootItem() if nid.IsOk(): self._delete_node(nid) self._tree = None super().dispose() def _selection_changed(self, selection): """ Handles the **selection** event. """ try: self._tree.SelectItem(self._object_info(selection)[2]) except Exception: pass def _selected_changed(self, selected): """ Handles the **selected** trait being changed. """ if not self._no_update_selected: self._selection_changed(selected) def _veto_changed(self): """ Handles the 'veto' event being fired. """ self._veto = True def _get_style(self): """ Returns the style settings used for displaying the wx tree. """ factory = self.factory style = wx.TR_EDIT_LABELS | wx.TR_HAS_BUTTONS | wx.CLIP_CHILDREN # Turn lines off if explicit or for appearance on *nix: if (factory.lines_mode == "off") or ( (factory.lines_mode == "appearance") and (os.name == "posix") ): style |= wx.TR_NO_LINES if factory.hide_root: style |= wx.TR_HIDE_ROOT | wx.TR_LINES_AT_ROOT if factory.selection_mode != "single": style |= wx.TR_MULTIPLE | wx.TR_EXTENDED return style def update_object(self, event): """ Handles the user entering input data in the edit control. """ try: self.value = self._get_value() self.control.SetBackgroundColour(OKColor) self.control.Refresh() except TraitError: pass def _save_state(self): tree = self._tree nid = tree.GetRootItem() state = {} if nid.IsOk(): nodes_to_do = [nid] while nodes_to_do: node = nodes_to_do.pop() data = self._get_node_data(node) try: is_expanded = tree.IsExpanded(node) except: is_expanded = True state[hash(data[-1])] = (data[0], is_expanded) for cnid in self._nodes(node): nodes_to_do.append(cnid) return state def _restore_state(self, state): if not state: return tree = self._tree nid = tree.GetRootItem() if nid.IsOk(): nodes_to_do = [nid] while nodes_to_do: node = nodes_to_do.pop() for cnid in self._nodes(node): data = self._get_node_data(cnid) key = hash(data[-1]) if key in state: was_expanded, current_state = state[key] if was_expanded: self._expand_node(cnid) if current_state: tree.Expand(cnid) nodes_to_do.append(cnid) def expand_all(self): """ Expands all nodes, starting from the selected node. """ tree = self._tree def _do_expand(nid): expanded, node, object = self._get_node_data(nid) if self._has_children(node, object): tree.SetItemHasChildren(nid, True) self._expand_node(nid) tree.Expand(nid) nid = tree.GetSelection() if nid.IsOk(): nodes_to_do = [nid] while nodes_to_do: node = nodes_to_do.pop() _do_expand(node) for n in self._nodes(node): _do_expand(n) nodes_to_do.append(n) def expand_levels(self, nid, levels, expand=True): """ Expands from the specified node the specified number of sub-levels. """ if levels > 0: expanded, node, object = self._get_node_data(nid) if self._has_children(node, object): self._tree.SetItemHasChildren(nid, True) self._expand_node(nid) if expand: self._tree.Expand(nid) for cnid in self._nodes(nid): self.expand_levels(cnid, levels - 1) def update_editor(self): """ Updates the editor when the object trait changes externally to the editor. """ tree = self._tree saved_state = {} if tree is not None: nid = tree.GetRootItem() if nid.IsOk(): self._delete_node(nid) object, node = self._node_for(self.value) if node is not None: icon = self._get_icon(node, object) self._root_nid = nid = tree.AddRoot( node.get_label(object), icon, icon ) self._map[id(object)] = [(node.get_children_id(object), nid)] self._add_listeners(node, object) self._set_node_data(nid, (False, node, object)) if self.factory.hide_root or self._has_children(node, object): tree.SetItemHasChildren(nid, True) self._expand_node(nid) if not self.factory.hide_root: tree.Expand(nid) tree.SelectItem(nid) self._on_tree_sel_changed() self.expand_levels(nid, self.factory.auto_open, False) # It seems like in some cases, an explicit Refresh is needed to # trigger a screen update: tree.Refresh() # fixme: Clear the current editor (if any)... def get_error_control(self): """ Returns the editor's control for indicating error status. """ return self._tree def _append_node(self, nid, node, object): """ Appends a new node to the specified node. """ return self._insert_node(nid, None, node, object) def _insert_node(self, nid, index, node, object): """ Inserts a new node before a specified index into the children of the specified node. """ tree = self._tree icon = self._get_icon(node, object) label = node.get_label(object) if index is None: cnid = tree.AppendItem(nid, label, icon, icon) else: cnid = tree.InsertItem(nid, index, label, icon, icon) has_children = self._has_children(node, object) tree.SetItemHasChildren(cnid, has_children) self._set_node_data(cnid, (False, node, object)) self._map.setdefault(id(object), []).append( (node.get_children_id(object), cnid) ) self._add_listeners(node, object) # Automatically expand the new node (if requested): if has_children and node.can_auto_open(object): tree.Expand(cnid) # Return the newly created node: return cnid def _delete_node(self, nid): """ Deletes a specified tree node and all of its children. """ for cnid in self._nodes_for(nid): self._delete_node(cnid) expanded, node, object = self._get_node_data(nid) id_object = id(object) object_info = self._map[id_object] for i, info in enumerate(object_info): if nid == info[1]: del object_info[i] break if len(object_info) == 0: self._remove_listeners(node, object) del self._map[id_object] # We set the '_locked' flag here because wx seems to generate a # 'node selected' event when the node is deleted. This can lead to # some bad side effects. So the 'node selected' event handler exits # immediately if the '_locked' flag is set: self._locked = True self._tree.Delete(nid) self._locked = False # If the deleted node had an active editor panel showing, remove it: if (self._editor is not None) and (nid == self._editor._editor_nid): self._clear_editor() def _expand_node(self, nid): """ Expands the contents of a specified node (if required). """ expanded, node, object = self._get_node_data(nid) # Lazily populate the item's children: if not expanded: for child in node.get_children(object): child, child_node = self._node_for(child) if child_node is not None: self._append_node(nid, child_node, child) # Indicate the item is now populated: self._set_node_data(nid, (True, node, object)) def _nodes(self, nid): """ Returns each of the child nodes of a specified node. """ tree = self._tree cnid, cookie = tree.GetFirstChild(nid) while cnid.IsOk(): yield cnid cnid, cookie = tree.GetNextChild(nid, cookie) def _nodes_for(self, nid): """ Returns all child node ids of a specified node id. """ return [cnid for cnid in self._nodes(nid)] def _node_index(self, nid): pnid = self._tree.GetItemParent(nid) if not pnid.IsOk(): return (None, None, None) for i, cnid in enumerate(self._nodes(pnid)): if cnid == nid: ignore, pnode, pobject = self._get_node_data(pnid) return (pnode, pobject, i) def _has_children(self, node, object): """ Returns whether a specified object has any children. """ return node.allows_children(object) and node.has_children(object) def _is_droppable(self, node, object, add_object, for_insert): """ Returns whether a given object is droppable on the node. """ if for_insert and (not node.can_insert(object)): return False return node.can_add(object, add_object) def _drop_object(self, node, object, dropped_object, make_copy=True): """ Returns a droppable version of a specified object. """ new_object = node.drop_object(object, dropped_object) if (new_object is not dropped_object) or (not make_copy): return new_object return copy.deepcopy(new_object) def _get_icon(self, node, object, is_expanded=False): """ Returns the index of the specified object icon. """ if self._image_list is None: return -1 icon_name = node.get_icon(object, is_expanded) if isinstance(icon_name, str): if icon_name.startswith("@"): image = convert_image(icon_name, 3) if image is None: return -1 else: if icon_name[:1] == "<": icon_name = icon_name[1:-1] path = self else: path = node.get_icon_path(object) if isinstance(path, str): path = [path, node] else: path.append(node) image = ImageResource(icon_name, path).absolute_path elif isinstance(icon_name, ImageResource): image = icon_name.absolute_path else: raise ValueError( "Icon value must be a string or IImageResource instance: " + "given {!r}".format(icon_name) ) return self._image_list.GetIndex(image) def _add_listeners(self, node, object): """ Adds the event listeners for a specified object. """ if node.allows_children(object): node.when_children_replaced(object, self._children_replaced, False) node.when_children_changed(object, self._children_updated, False) node.when_label_changed(object, self._label_updated, False) def _remove_listeners(self, node, object): """ Removes any event listeners from a specified object. """ if node.allows_children(object): node.when_children_replaced(object, self._children_replaced, True) node.when_children_changed(object, self._children_updated, True) node.when_label_changed(object, self._label_updated, True) def _object_info(self, object, name=""): """ Returns the tree node data for a specified object in the form ( expanded, node, nid ). """ info = self._map[id(object)] for name2, nid in info: if name == name2: break else: nid = info[0][1] expanded, node, ignore = self._get_node_data(nid) return (expanded, node, nid) def _object_info_for(self, object, name=""): """ Returns the tree node data for a specified object as a list of the form: [ ( expanded, node, nid ), ... ]. """ result = [] for name2, nid in self._map[id(object)]: if name == name2: expanded, node, ignore = self._get_node_data(nid) result.append((expanded, node, nid)) return result def _node_for(self, object): """ Returns the TreeNode associated with a specified object. """ if ( (isinstance(object, tuple)) and (len(object) == 2) and isinstance(object[1], TreeNode) ): return object # Select all nodes which understand this object: factory = self.factory nodes = [ node for node in factory.nodes if object is not None and node.is_node_for(object) ] # If only one found, we're done, return it: if len(nodes) == 1: return (object, nodes[0]) # If none found, try to create an adapted node for the object: if len(nodes) == 0: return (object, ITreeNodeAdapterBridge(adapter=object)) # Use all selected nodes that have the same 'node_for' list as the # first selected node: base = nodes[0].node_for nodes = [node for node in nodes if base == node.node_for] # If only one left, then return that node: if len(nodes) == 1: return (object, nodes[0]) # Otherwise, return a MultiTreeNode based on all selected nodes... # Use the node with no specified children as the root node. If not # found, just use the first selected node as the 'root node': root_node = None for i, node in enumerate(nodes): if node.get_children_id(object) == "": root_node = node del nodes[i] break else: root_node = nodes[0] # If we have a matching MultiTreeNode already cached, return it: key = (root_node,) + tuple(nodes) if key in factory.multi_nodes: return (object, factory.multi_nodes[key]) # Otherwise create one, cache it, and return it: factory.multi_nodes[key] = multi_node = MultiTreeNode( root_node=root_node, nodes=nodes ) return (object, multi_node) def _node_for_class(self, klass): """ Returns the TreeNode associated with a specified class. """ for node in self.factory.nodes: if issubclass(klass, tuple(node.node_for)): return node return None def _update_icon(self, event, is_expanded): """ Updates the icon for a specified node. """ self._update_icon_for_nid(event.GetItem()) def _update_icon_for_nid(self, nid): """ Updates the icon for a specified node ID. """ if self._image_list is not None: expanded, node, object = self._get_node_data(nid) icon = self._get_icon(node, object, expanded) self._tree.SetItemImage(nid, icon, wx.TreeItemIcon_Normal) self._tree.SetItemImage(nid, icon, wx.TreeItemIcon_Selected) def _unpack_event(self, event): """ Unpacks an event to see whether a tree item was involved. """ try: point = event.GetPosition() except: point = event.GetPoint() nid = None if hasattr(event, "GetItem"): nid = event.GetItem() if (nid is None) or (not nid.IsOk()): nid, flags = self._tree.HitTest(point) if nid.IsOk(): return self._get_node_data(nid) + (nid, point) return (None, None, None, nid, point) def _hit_test(self, point): """ Returns information about the node at a specified point. """ nid, flags = self._tree.HitTest(point) if nid.IsOk(): return self._get_node_data(nid) + (nid, point) return (None, None, None, nid, point) def _begin_undo(self): """ Begins an "undoable" transaction. """ ui = self.ui self._undoable.append(ui._undoable) if (ui._undoable == -1) and (ui.history is not None): ui._undoable = ui.history.now def _end_undo(self): if self._undoable.pop() == -1: self.ui._undoable = -1 def _get_undo_item(self, object, name, event): return ListUndoItem( object=object, name=name, index=event.index, added=event.added, removed=event.removed, ) def _undoable_append(self, node, object, data, make_copy=True): """ Performs an undoable append operation. """ try: self._begin_undo() if make_copy: data = copy.deepcopy(data) node.append_child(object, data) finally: self._end_undo() def _undoable_insert(self, node, object, index, data, make_copy=True): """ Performs an undoable insert operation. """ try: self._begin_undo() if make_copy: data = copy.deepcopy(data) node.insert_child(object, index, data) finally: self._end_undo() def _undoable_delete(self, node, object, index): """ Performs an undoable delete operation. """ try: self._begin_undo() node.delete_child(object, index) finally: self._end_undo() def _get_object_nid(self, object, name=""): """ Gets the ID associated with a specified object (if any). """ info = self._map.get(id(object)) if info is None: return None for name2, nid in info: if name == name2: return nid else: return info[0][1] def _clear_editor(self): """ Clears the current editor pane (if any). """ editor = self._editor if editor._node_ui is not None: editor.SetSizer(None) editor._node_ui.dispose() editor._node_ui = editor._editor_nid = None def _get_node_data(self, nid): """ Gets the node specific data. """ if nid == self._root_nid: return self._root_nid_data return self._tree.GetItemData(nid) def _set_node_data(self, nid, data): """ Sets the node specific data. """ if nid == self._root_nid: self._root_nid_data = data else: self._tree.SetItemData(nid, data) # ----- User callable methods: -------------------------------------------- def get_object(self, nid): """ Gets the object associated with a specified node. """ return self._get_node_data(nid)[2] def get_parent(self, object, name=""): """ Returns the object that is the immmediate parent of a specified object in the tree. """ nid = self._get_object_nid(object, name) if nid is not None: pnid = self._tree.GetItemParent(nid) if pnid.IsOk(): return self.get_object(pnid) return None def get_node(self, object, name=""): """ Returns the node associated with a specified object. """ nid = self._get_object_nid(object, name) if nid is not None: return self._get_node_data(nid)[1] return None # -- Tree Event Handlers: ------------------------------------------------- def _on_tree_item_expanding(self, event): """ Handles a tree node expanding. """ if self._veto: self._veto = False event.Veto() return nid = event.GetItem() tree = self._tree expanded, node, object = self._get_node_data(nid) # If 'auto_close' requested for this node type, close all of the node's # siblings: if node.can_auto_close(object): snid = nid while True: snid = tree.GetPrevSibling(snid) if not snid.IsOk(): break tree.Collapse(snid) snid = nid while True: snid = tree.GetNextSibling(snid) if not snid.IsOk(): break tree.Collapse(snid) # Expand the node (i.e. populate its children if they are not there # yet): self._expand_node(nid) def _on_tree_item_expanded(self, event): """ Handles a tree node being expanded. """ self._update_icon(event, True) def _on_tree_item_collapsing(self, event): """ Handles a tree node collapsing. """ if self._veto: self._veto = False event.Veto() def _on_tree_item_collapsed(self, event): """ Handles a tree node being collapsed. """ self._update_icon(event, False) def _on_tree_sel_changed(self, event=None): """ Handles a tree node being selected. """ if self._locked: return # Get the new selection: object = None not_handled = True nids = self._tree.GetSelections() selected = [] for nid in nids: if not nid.IsOk(): continue # If there is a real selection, get the associated object: expanded, node, sel_object = self._get_node_data(nid) selected.append(sel_object) # Try to inform the node specific handler of the selection, # if there are multiple selections, we only care about the # first (or maybe the last makes more sense?) if nid == nids[0]: object = sel_object not_handled = node.select(object) # Set the value of the new selection: if self.factory.selection_mode == "single": self._no_update_selected = True self.selected = object self._no_update_selected = False else: self._no_update_selected = True self.selected = selected self._no_update_selected = False # If no one has been notified of the selection yet, inform the editor's # select handler (if any) of the new selection: if not_handled is True: self.ui.evaluate(self.factory.on_select, object) # Check to see if there is an associated node editor pane: editor = self._editor if editor is not None: # If we already had a node editor, destroy it: editor.Freeze() self._clear_editor() # If there is a selected object, create a new editor for it: if object is not None: # Try to chain the undo history to the main undo history: view = node.get_view(object) if view is None or isinstance(view, str): view = object.trait_view(view) if (self.ui.history is not None) or (view.kind == "subpanel"): ui = object.edit_traits( parent=editor, view=view, kind="subpanel" ) else: # Otherwise, just set up our own new one: ui = object.edit_traits( parent=editor, view=view, kind="panel" ) # Make our UI the parent of the new UI: ui.parent = self.ui # Remember the new editor's UI and node info: editor._node_ui = ui editor._editor_nid = nid # Finish setting up the editor: sizer = wx.BoxSizer(wx.VERTICAL) sizer.Add(ui.control, 1, wx.EXPAND) editor.SetSizer(sizer) editor.Layout() # fixme: The following is a hack needed to make the editor window # (which is a wx.ScrolledWindow) recognize that its contents have # been changed: dx, dy = editor.GetSize() editor.SetSize(wx.Size(dx, dy + 1)) editor.SetSize(wx.Size(dx, dy)) # Allow the editor view to show any changes that have occurred: editor.Thaw() def _on_hover(self, event): """ Handles the mouse moving over a tree node """ id, flags = self._tree.HitTest(event.GetPosition()) if flags & wx.TREE_HITTEST_ONITEMLABEL: expanded, node, object = self._get_node_data(id) if self.factory.on_hover is not None: self.ui.evaluate(self.factory.on_hover, object) self._veto = True elif self.factory and self.factory.on_hover is not None: self.ui.evaluate(self.factory.on_hover, None) # allow other events to be processed event.Skip(True) def _on_tree_item_activated(self, event): """ Handles a tree item being activated. """ expanded, node, object = self._get_node_data(event.GetItem()) if node.activated(object) is True: if self.factory.on_activated is not None: self.ui.evaluate(self.factory.on_activated, object) self._veto = True else: self._veto = True # Fire the 'activated' event with the clicked on object as value: self.activated = object # FIXME: Firing the dclick event also for backward compatibility on wx. # Change it occur on mouse double click only. self.dclick = object def _on_tree_begin_label_edit(self, event): """ Handles the user starting to edit a tree node label. """ item = event.GetItem() parent = self._tree.GetItemParent(item) can_rename = True if parent.IsOk(): expanded, node, object = self._get_node_data(parent) can_rename = node.can_rename(object) if can_rename: expanded, node, object = self._get_node_data(item) if node.can_rename_me(object): return event.Veto() def _on_tree_end_label_edit(self, event): """ Handles the user completing tree node label editing. """ label = event.GetLabel() if len(label) > 0: expanded, node, object = self._get_node_data(event.GetItem()) # Tell the node to change the label. If it raises an exception, # that means it didn't like the label, so veto the tree node # change: try: node.set_label(object, label) return except: pass event.Veto() def _on_tree_begin_drag(self, event): """ Handles a drag operation starting on a tree node. """ if PythonDropSource is not None: expanded, node, object, nid, point = self._unpack_event(event) if node is not None: try: self._dragging = nid PythonDropSource(self._tree, node.get_drag_object(object)) finally: self._dragging = None def _on_tree_item_gettooltip(self, event): """ Handles a tooltip request on a tree node. """ nid = event.GetItem() if nid.IsOk(): node_data = self._get_node_data(nid) if node_data is not None: expanded, node, object = node_data tooltip = node.get_tooltip(object) if tooltip != "": event.SetToolTip(tooltip) event.Skip() def _on_left_dclick(self, event): """ Handle left mouse dclick to emit dclick event for associated node. """ # Determine what node (if any) was clicked on: expanded, node, object, nid, point = self._unpack_event(event) # If the mouse is over a node, then process the click: if node is not None: if node.dclick(object) is True: if self.factory.on_dclick is not None: self.ui.evaluate(self.factory.on_dclick, object) self._veto = True else: self._veto = True # Fire the 'dclick' event with the object as its value: # FIXME: This is instead done in _on_item_activated for backward # compatibility only on wx toolkit. # self.dclick = object # Allow normal mouse event processing to occur: event.Skip() def _on_left_down(self, event): """ Handles the user right clicking on a tree node. """ # Determine what node (if any) was clicked on: expanded, node, object, nid, point = self._unpack_event(event) # If the mouse is over a node, then process the click: if node is not None: if (node.click(object) is True) and ( self.factory.on_click is not None ): self.ui.evaluate(self.factory.on_click, object) # Fire the 'click' event with the object as its value: self.click = object # Allow normal mouse event processing to occur: event.Skip() def _on_right_down(self, event): """ Handles the user right clicking on a tree node. """ expanded, node, object, nid, point = self._unpack_event(event) if node is not None: self._data = (node, object, nid) self._context = { "object": object, "editor": self, "node": node, "info": self.ui.info, "handler": self.ui.handler, } # Try to get the parent node of the node clicked on: pnid = self._tree.GetItemParent(nid) if pnid.IsOk(): ignore, parent_node, parent_object = self._get_node_data(pnid) else: parent_node = parent_object = None self._menu_node = node self._menu_parent_node = parent_node self._menu_parent_object = parent_object menu = node.get_menu(object) if menu is None: # Use the standard, default menu: menu = self._standard_menu(node, object) elif isinstance(menu, Menu): # Use the menu specified by the node: group = menu.find_group(NewAction) if group is not None: # Only set it the first time: group.id = "" actions = self._new_actions(node, object) if len(actions) > 0: group.insert(0, Menu(name="New", *actions)) else: # All other values mean no menu should be displayed: menu = None # Only display the menu if a valid menu is defined: if menu is not None: wxmenu = menu.create_menu(self._tree, self) self._tree.PopupMenu(wxmenu, point[0] - 10, point[1] - 10) wxmenu.Destroy() # Reset all menu related cached values: self._data = ( self._context ) = ( self._menu_node ) = self._menu_parent_node = self._menu_parent_object = None def _standard_menu(self, node, object): """ Returns the standard contextual pop-up menu. """ actions = [ CutAction, CopyAction, PasteAction, Separator(), DeleteAction, Separator(), RenameAction, ] # See if the 'New' menu section should be added: items = self._new_actions(node, object) if len(items) > 0: actions[0:0] = [Menu(name="New", *items), Separator()] return Menu(*actions) def _new_actions(self, node, object): """ Returns a list of Actions that will create new objects. """ object = self._data[1] items = [] add = node.get_add(object) # return early if there are no items to be added in the tree if len(add) == 0: return items for klass in add: prompt = False factory = None if isinstance(klass, tuple): if len(klass) == 2: klass, prompt = klass elif len(klass) == 3: klass, prompt, factory = klass add_node = self._node_for_class(klass) if add_node is None: continue class_name = klass.__name__ name = add_node.get_name(object) if name == "": name = class_name if not factory: factory = klass def perform_add(object): self._menu_new_node(factory, prompt) items.append(Action(name=name, on_perform=perform_add)) return items def _is_copyable(self, object): parent = self._menu_parent_node if isinstance(parent, ObjectTreeNode): return parent.can_copy(self._menu_parent_object) return (parent is not None) and parent.can_copy(object) def _is_cutable(self, object): parent = self._menu_parent_node if isinstance(parent, ObjectTreeNode): can_cut = parent.can_copy( self._menu_parent_object ) and parent.can_delete(self._menu_parent_object) else: can_cut = ( (parent is not None) and parent.can_copy(object) and parent.can_delete(object) ) return can_cut and self._menu_node.can_delete_me(object) def _is_pasteable(self, object): from pyface.wx.clipboard import clipboard return self._menu_node.can_add(object, clipboard.object_type) def _is_deletable(self, object): parent = self._menu_parent_node if isinstance(parent, ObjectTreeNode): can_delete = parent.can_delete(self._menu_parent_object) else: can_delete = (parent is not None) and parent.can_delete(object) return can_delete and self._menu_node.can_delete_me(object) def _is_renameable(self, object): parent = self._menu_parent_node if isinstance(parent, ObjectTreeNode): can_rename = parent.can_rename(self._menu_parent_object) elif parent is not None: can_rename = parent.can_rename(object) else: can_rename = True return can_rename and self._menu_node.can_rename_me(object) # ----- Drag and drop event handlers: ------------------------------------- def wx_dropped_on(self, x, y, data, drag_result): """ Handles a Python object being dropped on the tree. """ if isinstance(data, list): rc = wx.DragNone for item in data: rc = self.wx_dropped_on(x, y, item, drag_result) return rc expanded, node, object, nid, point = self._hit_test(wx.Point(x, y)) if node is not None: if drag_result == wx.DragMove: if not self._is_droppable(node, object, data, False): return wx.DragNone if self._dragging is not None: data = self._drop_object(node, object, data, False) if data is not None: try: self._begin_undo() self._undoable_delete( *self._node_index(self._dragging) ) self._undoable_append(node, object, data, False) finally: self._end_undo() else: data = self._drop_object(node, object, data) if data is not None: self._undoable_append(node, object, data, False) return drag_result to_node, to_object, to_index = self._node_index(nid) if to_node is not None: if self._dragging is not None: data = self._drop_object(node, to_object, data, False) if data is not None: from_node, from_object, from_index = self._node_index( self._dragging ) if (to_object is from_object) and ( to_index > from_index ): to_index -= 1 try: self._begin_undo() self._undoable_delete( from_node, from_object, from_index ) self._undoable_insert( to_node, to_object, to_index, data, False ) finally: self._end_undo() else: data = self._drop_object(to_node, to_object, data) if data is not None: self._undoable_insert( to_node, to_object, to_index, data, False ) return drag_result return wx.DragNone def wx_drag_over(self, x, y, data, drag_result): """ Handles a Python object being dragged over the tree. """ expanded, node, object, nid, point = self._hit_test(wx.Point(x, y)) insert = False if (node is not None) and (drag_result == wx.DragCopy): node, object, index = self._node_index(nid) insert = True if (self._dragging is not None) and ( not self._is_drag_ok(self._dragging, data, object) ): return wx.DragNone if (node is not None) and self._is_droppable( node, object, data, insert ): return drag_result return wx.DragNone def _is_drag_ok(self, snid, source, target): if (snid is None) or (target is source): return False for cnid in self._nodes(snid): if not self._is_drag_ok( cnid, self._get_node_data(cnid)[2], target ): return False return True # ----- pyface.action 'controller' interface implementation: -------------- def add_to_menu(self, menu_item): """ Adds a menu item to the menu bar being constructed. """ action = menu_item.item.action self.eval_when(action.enabled_when, menu_item, "enabled") self.eval_when(action.checked_when, menu_item, "checked") def add_to_toolbar(self, toolbar_item): """ Adds a toolbar item to the toolbar being constructed. """ self.add_to_menu(toolbar_item) def can_add_to_menu(self, action): """ Returns whether the action should be defined in the user interface. """ if action.defined_when != "": if not eval(action.defined_when, globals(), self._context): return False if action.visible_when != "": if not eval(action.visible_when, globals(), self._context): return False return True def can_add_to_toolbar(self, action): """ Returns whether the toolbar action should be defined in the user interface. """ return self.can_add_to_menu(action) def perform(self, action, action_event=None): """ Performs the action described by a specified Action object. """ self.ui.do_undoable(self._perform, action) def _perform(self, action): node, object, nid = self._data method_name = action.action info = self.ui.info handler = self.ui.handler if method_name.find(".") >= 0: if method_name.find("(") < 0: method_name += "()" try: eval( method_name, globals(), { "object": object, "editor": self, "node": node, "info": info, "handler": handler, }, ) except: from traitsui.api import raise_to_debug raise_to_debug() return method = getattr(handler, method_name, None) if method is not None: method(info, object) return if action.on_perform is not None: action.on_perform(object) # ----- Menu support methods: --------------------------------------------- def eval_when(self, condition, object, trait): """ Evaluates a condition within a defined context, and sets a specified object trait based on the result, which is assumed to be a Boolean. """ if condition != "": value = True if not eval(condition, globals(), self._context): value = False setattr(object, trait, value) # ----- Menu event handlers: ---------------------------------------------- def _menu_copy_node(self): """ Copies the current tree node object to the paste buffer. """ from pyface.wx.clipboard import clipboard clipboard.data = self._data[1] self._data = None def _menu_cut_node(self): """ Cuts the current tree node object into the paste buffer. """ from pyface.wx.clipboard import clipboard node, object, nid = self._data clipboard.data = object self._data = None self._undoable_delete(*self._node_index(nid)) def _menu_paste_node(self): """ Pastes the current contents of the paste buffer into the current node. """ from pyface.wx.clipboard import clipboard node, object, nid = self._data self._data = None self._undoable_append(node, object, clipboard.object_data, False) def _menu_delete_node(self): """ Deletes the current node from the tree. """ node, object, nid = self._data self._data = None rc = node.confirm_delete(object) if rc is not False: if rc is not True: if self.ui.history is None: # If no undo history, ask user to confirm the delete: dlg = wx.MessageDialog( self._tree, "Are you sure you want to delete %s?" % node.get_label(object), "Confirm Deletion", style=wx.OK | wx.CANCEL | wx.ICON_EXCLAMATION, ) if dlg.ShowModal() != wx.ID_OK: return self._undoable_delete(*self._node_index(nid)) def _menu_rename_node(self): """ Renames the current tree node. """ node, object, nid = self._data self._data = None object_label = ObjectLabel(label=node.get_label(object)) if object_label.edit_traits().result: label = object_label.label.strip() if label != "": node.set_label(object, label) def _menu_new_node(self, factory, prompt=False): """ Adds a new object to the current node. """ node, object, nid = self._data self._data = None new_object = factory() if (not prompt) or new_object.edit_traits( parent=self.control, kind="livemodal" ).result: self._undoable_append(node, object, new_object, False) # Automatically select the new object if editing is being # performed: if self.factory.editable: self._tree.SelectItem(self._tree.GetLastChild(nid)) # -- Model event handlers ------------------------------------------------- def _children_replaced(self, object, name="", new=None): """ Handles the children of a node being completely replaced. """ tree = self._tree for expanded, node, nid in self._object_info_for(object, name): children = node.get_children(object) # Only add/remove the changes if the node has already been # expanded: if expanded: # Delete all current child nodes: for cnid in self._nodes_for(nid): self._delete_node(cnid) # Add all of the children back in as new nodes: for child in children: child, child_node = self._node_for(child) if child_node is not None: self._append_node(nid, child_node, child) # Indicate whether the node has any children now: tree.SetItemHasChildren(nid, len(children) > 0) # Try to expand the node (if requested): if node.can_auto_open(object): tree.Expand(nid) def _children_updated(self, object, name, event): """ Handles the children of a node being changed. """ # Log the change that was made (removing '_items' from the end of the # name): name = name[:-6] self.log_change(self._get_undo_item, object, name, event) start = event.index end = start + len(event.removed) tree = self._tree for expanded, node, nid in self._object_info_for(object, name): n = len(node.get_children(object)) # Only add/remove the changes if the node has already been # expanded: if expanded: # Remove all of the children that were deleted: for cnid in self._nodes_for(nid)[start:end]: self._delete_node(cnid) # Add all of the children that were added: remaining = n - len(event.removed) child_index = 0 for child in event.added: child, child_node = self._node_for(child) if child_node is not None: insert_index = ( (start + child_index) if (start < remaining) else None ) self._insert_node(nid, insert_index, child_node, child) child_index += 1 # Indicate whether the node has any children now: tree.SetItemHasChildren(nid, n > 0) # Try to expand the node (if requested): root = tree.GetRootItem() if node.can_auto_open(object): if (nid != root) or not self.factory.hide_root: tree.Expand(nid) def _label_updated(self, object, name, label): """ Handles the label of an object being changed. """ nids = {} for name2, nid in self._map[id(object)]: if nid not in nids: nids[nid] = None node = self._get_node_data(nid)[1] self._tree.SetItemText(nid, node.get_label(object)) self._update_icon_for_nid(nid) # -- UI preference save/restore interface --------------------------------- def restore_prefs(self, prefs): """ Restores any saved user preference information associated with the editor. """ if self._is_dock_window: if isinstance(prefs, dict): structure = prefs.get("structure") else: structure = prefs self.control.GetSizer().SetStructure(self.control, structure) def save_prefs(self): """ Returns any user preference information associated with the editor. """ if self._is_dock_window: return {"structure": self.control.GetSizer().GetStructure()} return None # -- End UI preference save/restore interface ----------------------------- class ObjectLabel(HasStrictTraits): """ An editable label for an object. """ # ------------------------------------------------------------------------- # Trait definitions: # ------------------------------------------------------------------------- #: Label to be edited label = Str() # ------------------------------------------------------------------------- # Traits view definition: # ------------------------------------------------------------------------- traits_view = View( "label", title="Edit Label", kind="modal", buttons=["OK", "Cancel"] ) traitsui-7.2.1/traitsui/wx/rgb_color_editor.py0000644000076500000240000000472614046644454022212 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! """ Defines a subclass of the base wxPython color editor factory, for colors that are represented as tuples of the form ( *red*, *green*, *blue* ), where *red*, *green* and *blue* are floats in the range from 0.0 to 1.0. """ import wx from traits.trait_base import SequenceTypes # Note: The ToolkitEditorFactory class imported from color_editor is the # abstract ToolkitEditorFactory class (in traitsui.api) along with # wx-specific methods added via a category. We need to override the # implementations of the wx-specific methods here. from .color_editor import ToolkitEditorFactory as BaseColorToolkitEditorFactory # --------------------------------------------------------------------------- # The wxPython ToolkitEditorFactory class. # --------------------------------------------------------------------------- class ToolkitEditorFactory(BaseColorToolkitEditorFactory): """ wxPython editor factory for color editors. """ def to_wx_color(self, editor, color=None): """ Gets the wxPython color equivalent of the object trait. """ if color is None: try: color = getattr(editor.object, editor.name + "_") except AttributeError: color = getattr(editor.object, editor.name) if isinstance(color, tuple): return wx.Colour( int(color[0] * 255.0), int(color[1] * 255.0), int(color[2] * 255.0), ) return color def from_wx_color(self, color): """ Gets the application equivalent of a wxPython value. """ return ( color.Red() / 255.0, color.Green() / 255.0, color.Blue() / 255.0, ) def str_color(self, color): """ Returns the text representation of a specified color value. """ if type(color) in SequenceTypes: return "(%d,%d,%d)" % ( int(color[0] * 255.0), int(color[1] * 255.0), int(color[2] * 255.0), ) return super().str_color(color) traitsui-7.2.1/traitsui/wx/ui_wizard.py0000644000076500000240000001711514046644454020665 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! """ Creates a wizard-based wxPython user interface for a specified UI object. A wizard is a dialog box that displays a series of pages, which the user can navigate with forward and back buttons. """ import wx import wx.adv as wz from traits.api import Str, Either from .constants import DefaultTitle from .helper import restore_window, save_window, GroupEditor from .ui_panel import fill_panel_for_group # ------------------------------------------------------------------------- # Trait definitions: # ------------------------------------------------------------------------- # Trait that allows only None or a string value none_str_trait = Either(None, Str, default="") def ui_wizard(ui, parent): """ Creates a wizard-based wxPython user interface for a specified UI object. """ # Create the copy of the 'context' we will need while editing: ui._context = context = ui.context new_context = {name: None if value is None else value.clone_traits() for name, value in context.items()} ui.context = new_context # Now bind the context values to the 'info' object: ui.info.bind_context() # Create the wxPython wizard window: title = ui.view.title if title == "": title = DefaultTitle ui.control = wizard = wz.Wizard(parent, -1, title) # Create all of the wizard pages: pages = [] editor_pages = [] info = ui.info shadow_group = ui.view.content.get_shadow(ui) min_dx = min_dy = 0 # Create a dictionary mapping each contained group in shadow_group to # its id and enabled_when fields. group_fields_mapping = {} for group in shadow_group.get_content(): # FIXME: When the group's id or enabled_when or visible_when is # set, the "fill_panel_for_group" will create a new Panel to hold the # contents of the group (instead of adding them to the page itself). # This leads to an incorrect sizing of the panel(not sure why # actually): example would be 'test_ui2.py' in # Traits/integrationtests/ui. In addition, # it leads to incorrect bindings (of the id) on the UIInfo object: # the id is bound to the GroupEditor created in "fill_panel.." # instead of the PageGroupEditor created here. # A simple solution is to clear out these fields before calling # "fill_panel_for_group", and then reset these traits. group_fields_mapping[group] = (group.id, group.enabled_when) (group.id, group.enabled_when) = ("", "") page = UIWizardPage(wizard, editor_pages) pages.append(page) fill_panel_for_group(page, group, ui) # Size the page correctly, then calculate cumulative minimum size: sizer = page.GetSizer() sizer.Fit(page) size = sizer.CalcMin() min_dx = max(min_dx, size.GetWidth()) min_dy = max(min_dy, size.GetHeight()) # If necessary, create a PageGroupEditor and attach it to the right # places: (group.id, group.enabled_when) = group_fields_mapping[group] if group.id or group.enabled_when: page.editor = editor = PageGroupEditor(control=page) if group.id: page.id = group.id editor_pages.append(page) info.bind(page.id, editor) if group.enabled_when: ui.add_enabled(group.enabled_when, editor) # Size the wizard correctly: wizard.SetPageSize(wx.Size(min_dx, min_dy)) # Set up the wizard 'page changing' event handler: wizard.Bind(wz.EVT_WIZARD_PAGE_CHANGING, page_changing) # Size the wizard and the individual pages appropriately: prev_page = pages[0] wizard.FitToPage(prev_page) # Link the pages together: for page in pages[1:]: page.SetPrev(prev_page) prev_page.SetNext(page) prev_page = page # Finalize the display of the wizard: try: ui.prepare_ui() except: ui.control.Destroy() ui.control.ui = None ui.control = None ui.result = False raise # Position the wizard on the display: ui.handler.position(ui.info) # Restore the user_preference items for the user interface: restore_window(ui) # Run the wizard: if wizard.RunWizard(pages[0]): # If successful, apply the modified context to the original context: original = ui._context for name, value in ui.context.items(): if value is not None: original[name].copy_traits(value) else: original[name] = None ui.result = True else: ui.result = False # Clean up loose ends, like restoring the original context: wizard.Unbind(wz.EVT_WIZARD_PAGE_CHANGING, handler=page_changing) save_window(ui) ui.finish() ui.context = ui._context ui._context = {} def page_changing(event): """ Handles the user attempting to change the current wizard page. """ # Get the page the user is trying to go to: page = event.GetPage() if event.GetDirection(): new_page = page.GetNext() else: new_page = page.GetPrev() # If the page has a disabled PageGroupEditor object, veto the page change: if ((new_page is not None) and (new_page.editor is not None) and (not new_page.editor.enabled)): event.Veto() # If their is a message associated with the editor, display it: msg = new_page.editor.msg if msg != "": wx.MessageBox(msg) class UIWizardPage(wz.WizardPage): """ A page within a wizard interface. """ def __init__(self, wizard, pages): super().__init__(wizard) self.next = self.previous = self.editor = None self.pages = pages def SetNext(self, page): """ Sets the next page after this one. """ self.next = page def SetPrev(self, page): """ Sets the previous page to this one. """ self.previous = page def GetNext(self): """ Returns the next page after this one. """ editor = self.editor if (editor is not None) and (editor.next != ""): next_ = editor.next if next_ is None: return None for page in self.pages: if page.id == next_: return page return self.next def GetPrev(self): """ Returns the previous page to this one. """ editor = self.editor if (editor is not None) and (editor.previous != ""): previous = editor.previous if previous is None: return None for page in self.pages: if page.id == previous: return page return self.previous class PageGroupEditor(GroupEditor): """ Editor for a group, which displays a page. """ # ------------------------------------------------------------------------- # Trait definitions: # ------------------------------------------------------------------------- #: ID of next page to display next = none_str_trait #: ID of previous page to display previous = none_str_trait #: Message to display if user can't link to page msg = Str() traitsui-7.2.1/traitsui/wx/editor_factory.py0000644000076500000240000001233614046644454021705 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! """ Defines the base wxPython EditorFactory class and classes the various styles of editors used in a Traits-based user interface. """ import warnings import wx from traits.api import TraitError, Any, Bool, Event, Str from .editor import Editor from .constants import WindowColor class SimpleEditor(Editor): """ Base class for simple style editors, which displays a text field containing the text representation of the object trait value. Clicking in the text field displays an editor-specific dialog box for changing the value. """ #: Has the left mouse button been pressed: left_down = Bool(False) def init(self, parent): """ Finishes initializing the editor by creating the underlying toolkit widget. """ self.control = self.create_control(parent) self.control.Bind(wx.EVT_LEFT_DOWN, self._enable_popup_editor) self.control.Bind(wx.EVT_LEFT_UP, self._show_popup_editor) self.set_tooltip() def create_control(self, parent): """ Creates the control to use for the simple editor. """ return wx.TextCtrl(parent, -1, self.str_value, style=wx.TE_READONLY) # ------------------------------------------------------------------------- # Invokes the pop-up editor for an object trait: # # (Normally overridden in a subclass) # ------------------------------------------------------------------------- def popup_editor(self, event): """ Invokes the pop-up editor for an object trait. """ pass def _enable_popup_editor(self, event): """ Mark the left mouse button as being pressed currently. """ self.left_down = True def _show_popup_editor(self, event): """ Display the popup editor if the left mouse button was pressed previously. """ if self.left_down: self.left_down = False self.popup_editor(event) class TextEditor(Editor): """ Base class for text style editors, which displays an editable text field, containing a text representation of the object trait value. """ def init(self, parent): """ Finishes initializing the editor by creating the underlying toolkit widget. """ self.control = wx.TextCtrl( parent, -1, self.str_value, style=wx.TE_PROCESS_ENTER ) self.control.Bind(wx.EVT_KILL_FOCUS, self.update_object) parent.Bind(wx.EVT_TEXT_ENTER, self.update_object, id=self.control.GetId()) self.set_tooltip() def dispose(self): """ Disposes of the contents of an editor. """ if self.control is not None: # just in-case parent = self.control.GetParent() parent.Unbind( wx.EVT_TEXT_ENTER, handler=self.update_object, id=self.control.GetId(), ) self.control.Unbind(wx.EVT_KILL_FOCUS, handler=self.update_object) super().dispose() def update_object(self, event): """ Handles the user changing the contents of the edit control. """ if isinstance(event, wx.FocusEvent): event.Skip() try: self.value = self.control.GetValue() except TraitError as excp: pass class ReadonlyEditor(Editor): """ Base class for read-only style editors, which displays a read-only text field, containing a text representation of the object trait value. """ # ------------------------------------------------------------------------- # Trait definitions: # ------------------------------------------------------------------------- # layout_style = 0 # Style for imbedding control in a sizer (override) def init(self, parent): """ Finishes initializing the editor by creating the underlying toolkit widget. """ if (self.item.resizable is True) or (self.item.height != -1.0): self.control = wx.TextCtrl( parent, -1, self.str_value, style=wx.NO_BORDER | wx.TE_MULTILINE | wx.TE_READONLY, ) self.control.SetBackgroundColour(WindowColor) else: self.control = wx.StaticText( parent, -1, self.str_value, style=wx.ALIGN_LEFT ) self.layout_style = 0 self.set_tooltip() def update_editor(self): """ Updates the editor when the object trait changes externally to the editor. """ new_value = self.str_value if (self.item.resizable is True) or (self.item.height != -1.0): if self.control.GetValue() != new_value: self.control.SetValue(new_value) elif self.control.GetLabel() != new_value: self.control.SetLabel(new_value) traitsui-7.2.1/traitsui/wx/list_editor.py0000644000076500000240000006533014046644454021213 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! """ Defines the various list editors for the wxPython user interface toolkit. """ import wx import wx.lib.scrolledpanel as wxsp from traits.api import ( Any, Bool, cached_property, Instance, Property, Str, TraitError ) from traits.trait_base import user_name_for, xgetattr from traitsui.ui_traits import Image, convert_bitmap from traitsui.editors.list_editor import ListItemProxy, ToolkitEditorFactory from traitsui.dockable_view_element import DockableViewElement from pyface.dock.api import ( DockWindow, DockSizer, DockSection, DockRegion, DockControl, ) from . import toolkit from .constants import scrollbar_dx from .editor import Editor from .menu import MakeMenu from .image_control import ImageControl # ------------------------------------------------------------------------- # 'SimpleEditor' class: # ------------------------------------------------------------------------- class SimpleEditor(Editor): """ Simple style of editor for lists, which displays a scrolling list box with only one item visible at a time. A icon next to the list box displays a menu of operations on the list. """ # ------------------------------------------------------------------------- # Trait definitions: # ------------------------------------------------------------------------- #: The kind of editor to create for each list item kind = Str() #: Is the list of items being edited mutable? mutable = Bool() #: The image used by the editor: image = Image("list_editor") #: The bitmap used by the editor: bitmap = Property() # ------------------------------------------------------------------------- # Class constants: # ------------------------------------------------------------------------- #: Whether the list is displayed in a single row single_row = True # ------------------------------------------------------------------------- # Normal list item menu: # ------------------------------------------------------------------------- #: Menu for modifying the list list_menu = """ Add Before [_menu_before]: self.add_before() Add After [_menu_after]: self.add_after() --- Delete [_menu_delete]: self.delete_item() --- Move Up [_menu_up]: self.move_up() Move Down [_menu_down]: self.move_down() Move to Top [_menu_top]: self.move_top() Move to Bottom [_menu_bottom]: self.move_bottom() """ # ------------------------------------------------------------------------- # Empty list item menu: # ------------------------------------------------------------------------- empty_list_menu = """ Add: self.add_empty() """ def init(self, parent): """ Finishes initializing the editor by creating the underlying toolkit widget. """ # Initialize the trait handler to use: trait_handler = self.factory.trait_handler if trait_handler is None: trait_handler = self.object.base_trait(self.name).handler self._trait_handler = trait_handler # Create a scrolled window to hold all of the list item controls: self.control = wxsp.ScrolledPanel(parent, -1) self.control.SetBackgroundColour(parent.GetBackgroundColour()) self.control.SetAutoLayout(True) # Remember the editor to use for each individual list item: editor = self.factory.editor if editor is None: editor = trait_handler.item_trait.get_editor() self._editor = getattr(editor, self.kind) # Set up the additional 'list items changed' event handler needed for # a list based trait. Note that we want to fire the update_editor_item # only when the items in the list change and not when intermediate # traits change. Therefore, replace "." by ":" in the extended_name # when setting up the listener. extended_name = self.extended_name.replace(".", ":") self.context_object.on_trait_change( self.update_editor_item, extended_name + "_items?", dispatch="ui" ) self.set_tooltip() def dispose(self): """ Disposes of the contents of an editor. """ extended_name = self.extended_name.replace(".", ":") self.context_object.on_trait_change( self.update_editor_item, extended_name + "_items?", remove=True ) self._dispose_items() super().dispose() def update_editor(self): """ Updates the editor when the object trait changes externally to the editor. """ # Disconnect the editor from any control about to be destroyed: self._dispose_items() # Get rid of any previous contents: list_pane = self.control list_pane.SetSizer(None) for child in list_pane.GetChildren(): toolkit.destroy_control(child) # Create all of the list item trait editors: trait_handler = self._trait_handler resizable = ( trait_handler.minlen != trait_handler.maxlen ) and self.mutable item_trait = trait_handler.item_trait factory = self.factory list_sizer = wx.FlexGridSizer( len(self.value), (1 + resizable) * factory.columns, 0, 0 ) j = 0 for i in range(factory.columns): list_sizer.AddGrowableCol(j) j += 1 + resizable values = self.value index = 0 width, height = 0, 0 is_fake = resizable and (values is None or len(values) == 0) if is_fake: values = [item_trait.default_value()[1]] panel_height = 0 editor = self._editor for value in values: width1 = height = 0 if resizable: control = ImageControl( list_pane, self.bitmap, -1, self.popup_menu ) width1, height = control.GetSize() width1 += 4 try: proxy = ListItemProxy( self.object, self.name, index, item_trait, value ) if resizable: control.proxy = proxy peditor = editor( self.ui, proxy, "value", self.description, list_pane ).trait_set(object_name="") peditor.prepare(list_pane) pcontrol = peditor.control pcontrol.proxy = proxy except: if not is_fake: raise pcontrol = wx.Button(list_pane, -1, "sample") pcontrol.Fit() width2, height2 = size = pcontrol.GetSize() pcontrol.SetMinSize(size) width = max(width, width1 + width2) height = max(height, height2) panel_height += height list_sizer.Add(pcontrol, 0, wx.EXPAND) if resizable: list_sizer.Add(control, 0, wx.LEFT | wx.RIGHT, 2) index += 1 list_pane.SetSizer(list_sizer) if not self.mutable: # list_sizer.SetDimension(0,0,width, panel_height) list_pane.SetInitialSize(list_sizer.GetSize()) if is_fake: self._cur_control = control self.empty_list() control.Destroy() pcontrol.Destroy() rows = 1 if not self.single_row: rows = self.factory.rows # Make sure we have valid values set for width and height (in case there # was no data to base them on): if width == 0: width = 100 if panel_height == 0: panel_height = 20 list_pane.SetMinSize( wx.Size( width + ((trait_handler.maxlen > rows) * scrollbar_dx), panel_height, ) ) list_pane.SetupScrolling() list_pane.GetParent().Layout() def update_editor_item(self, obj, name, event): """ Updates the editor when an item in the object trait changes externally to the editor. """ # If this is not a simple, single item update, rebuild entire editor: if (len(event.removed) != 1) or (len(event.added) != 1): self.update_editor() return # Otherwise, find the proxy for this index and update it with the # changed value: for control in self.control.GetChildren(): proxy = control.proxy if proxy.index == event.index: proxy.value = event.added[0] break def empty_list(self): """ Creates an empty list entry (so the user can add a new item). """ control = ImageControl( self.control, self.bitmap, -1, self.popup_empty_menu ) control.is_empty = True proxy = ListItemProxy(self.object, self.name, -1, None, None) pcontrol = wx.StaticText(self.control, -1, " (Empty List)") pcontrol.proxy = control.proxy = proxy self.reload_sizer([(control, pcontrol)]) def reload_sizer(self, controls, extra=0): """ Reloads the layout from the specified list of ( button, proxy ) pairs. """ sizer = self.control.GetSizer() for i in range(2 * len(controls) + extra): sizer.Remove(0) index = 0 for control, pcontrol in controls: sizer.Add(pcontrol, 1, wx.EXPAND) sizer.Add(control, 0, wx.LEFT | wx.RIGHT, 2) control.proxy.index = index index += 1 sizer.Layout() self.control.SetVirtualSize(sizer.GetMinSize()) def get_info(self): """ Returns the associated object list and current item index. """ proxy = self._cur_control.proxy return (proxy.list, proxy.index) def popup_empty_menu(self, control): """ Displays the empty list editor popup menu. """ self._cur_control = control menu = MakeMenu(self.empty_list_menu, self, True, self.control).menu self.control.PopupMenu(menu, control.GetPosition()) menu.Destroy() def popup_menu(self, control): """ Displays the list editor popup menu. """ self._cur_control = control # Makes sure that any text that was entered get's added (Pressure # #145): control.SetFocus() proxy = control.proxy index = proxy.index menu = MakeMenu(self.list_menu, self, True, self.control).menu len_list = len(proxy.list) not_full = len_list < self._trait_handler.maxlen self._menu_before.enabled(not_full) self._menu_after.enabled(not_full) self._menu_delete.enabled(len_list > self._trait_handler.minlen) self._menu_up.enabled(index > 0) self._menu_top.enabled(index > 0) self._menu_down.enabled(index < (len_list - 1)) self._menu_bottom.enabled(index < (len_list - 1)) x, y = control.GetPosition() self.control.PopupMenu(menu, (x + 8, y + 32)) menu.Destroy() def add_item(self, offset): """ Adds a new value at the specified list index. """ list, index = self.get_info() index += offset item_trait = self._trait_handler.item_trait if self.factory.item_factory: value = self.factory.item_factory( *self.factory.item_factory_args, **self.factory.item_factory_kwargs ) else: value = item_trait.default_value_for(self.object, self.name) try: self.value = list[:index] + [value] + list[index:] # if the default new item is invalid, we just don't add it to the list. # traits will still give an error message, but we don't want to crash except TraitError: from traitsui.api import raise_to_debug raise_to_debug() wx.CallAfter(self.update_editor) def add_before(self): """ Inserts a new item before the current item. """ self.add_item(0) def add_after(self): """ Inserts a new item after the current item. """ self.add_item(1) def add_empty(self): """ Adds a new item when the list is empty. """ list, index = self.get_info() self.add_item(0) def delete_item(self): """ Delete the current item. """ list, index = self.get_info() self.value = list[:index] + list[index + 1 :] wx.CallAfter(self.update_editor) def move_up(self): """ Move the current item up one in the list. """ list, index = self.get_info() self.value = ( list[: index - 1] + [list[index], list[index - 1]] + list[index + 1 :] ) wx.CallAfter(self.update_editor) def move_down(self): """ Moves the current item down one in the list. """ list, index = self.get_info() self.value = ( list[:index] + [list[index + 1], list[index]] + list[index + 2 :] ) wx.CallAfter(self.update_editor) def move_top(self): """ Moves the current item to the top of the list. """ list, index = self.get_info() self.value = [list[index]] + list[:index] + list[index + 1 :] wx.CallAfter(self.update_editor) def move_bottom(self): """ Moves the current item to the bottom of the list. """ list, index = self.get_info() self.value = list[:index] + list[index + 1 :] + [list[index]] wx.CallAfter(self.update_editor) # -- Property Implementations --------------------------------------------- @cached_property def _get_bitmap(self): return convert_bitmap(self.image) # -- Private Methods ------------------------------------------------------ def _dispose_items(self): """ Disposes of each current list item. """ for control in self.control.GetChildren(): editor = getattr(control, "_editor", None) if editor is not None: try: editor.dispose() except Exception: pass editor.control = None # -- Trait initializers ---------------------------------------------------- def _kind_default(self): """ Returns a default value for the 'kind' trait. """ return self.factory.style + "_editor" def _mutable_default(self): """ Trait handler to set the mutable trait from the factory. """ return self.factory.mutable class CustomEditor(SimpleEditor): """ Custom style of editor for lists, which displays the items as a series of text fields. If the list is editable, an icon next to each item displays a menu of operations on the list. """ # ------------------------------------------------------------------------- # Class constants: # ------------------------------------------------------------------------- #: Whether the list is displayed in a single row. This value overrides the #: default. single_row = False # ------------------------------------------------------------------------- # Trait definitions: # ------------------------------------------------------------------------- #: Is the list editor is scrollable? This values overrides the default. scrollable = True # ------------------------------------------------------------------------- # 'TextEditor' class: # ------------------------------------------------------------------------- class TextEditor(CustomEditor): #: The kind of editor to create for each list item. This value overrides the #: default. kind = "text_editor" class ReadonlyEditor(CustomEditor): #: Is the list of items being edited mutable? This value overrides the #: default. mutable = False class NotebookEditor(Editor): """ An editor for lists that displays the list as a "notebook" of tabbed pages. """ # ------------------------------------------------------------------------- # Trait definitions: # ------------------------------------------------------------------------- #: Is the notebook editor scrollable? This values overrides the default: scrollable = True #: The currently selected notebook page object: selected = Any() def init(self, parent): """ Finishes initializing the editor by creating the underlying toolkit widget. """ self._uis = [] # Create a DockWindow to hold each separate object's view: theme = self.factory.dock_theme or self.item.container.dock_theme dw = DockWindow(parent, theme=theme) self.control = dw.control self._sizer = DockSizer(DockSection(dock_window=dw)) self.control.SetSizer(self._sizer) # Set up the additional 'list items changed' event handler needed for # a list based trait. Note that we want to fire the update_editor_item # only when the items in the list change and not when intermediate # traits change. Therefore, replace "." by ":" in the extended_name # when setting up the listener. extended_name = self.extended_name.replace(".", ":") self.context_object.on_trait_change( self.update_editor_item, extended_name + "_items?", dispatch="ui" ) # Set of selection synchronization: self.sync_value(self.factory.selected, "selected") def update_editor(self): """ Updates the editor when the object trait changes externally to the editor. """ # Make sure the DockWindow is in a correct state: self._sizer.Reset(self.control) # Destroy the views on each current notebook page: self.close_all() # Create a DockControl for each object in the trait's value: uis = self._uis dock_controls = [] for object in self.value: dock_control, view_object, monitoring = self._create_page(object) # Remember the DockControl for later deletion processing: uis.append([dock_control, object, view_object, monitoring]) dock_controls.append(dock_control) # Add the new items to the DockWindow: self.add_controls(dock_controls) if self.ui.info.initialized: self.update_layout() def update_editor_item(self, event): """ Handles an update to some subset of the trait's list. """ # Make sure the DockWindow is in a correct state: self._sizer.Reset(self.control) index = event.index # Delete the page corresponding to each removed item: layout = (len(event.removed) + len(event.added)) <= 1 for i in range(len(event.removed)): dock_control, object, view_object, monitoring = self._uis[index] if monitoring: view_object.on_trait_change( self.update_page_name, self.factory.page_name[1:], remove=True, ) dock_control.close(layout=layout, force=True) del self._uis[index] # Add a page for each added object: dock_controls = [] for object in event.added: dock_control, view_object, monitoring = self._create_page(object) self._uis[index:index] = [ [dock_control, object, view_object, monitoring] ] dock_controls.append(dock_control) index += 1 # Add the new items to the DockWindow: self.add_controls(dock_controls) self.update_layout() def close_all(self): """ Closes all currently open notebook pages. """ page_name = self.factory.page_name[1:] for dock_control, object, view_object, monitoring in self._uis: if monitoring: view_object.on_trait_change( self.update_page_name, page_name, remove=True ) dock_control.close(layout=False, force=True) # Reset the list of ui's and dictionary of page name counts: self._uis = [] self._pages = {} def dispose(self): """ Disposes of the contents of an editor. """ self.context_object.on_trait_change( self.update_editor_item, self.name + "_items?", remove=True ) self.close_all() super().dispose() def add_controls(self, controls): """ Adds a group of new DockControls to the view. """ if len(controls) > 0: section = self.control.GetSizer().GetContents() if (len(section.contents) == 0) or ( not isinstance(section.contents[-1], DockRegion) ): section.contents.append(DockRegion(contents=controls)) else: for control in controls: section.contents[-1].add(control, activate=False) # Fire this event to activate the dock control corresponding # to the selected object, if any. self._selected_changed(None, self.selected) def update_layout(self): """ Updates the layout of the DockWindow. """ self.control.Layout() self.control.Refresh() def update_page_name(self): """ Handles the trait defining a particular page's name being changed. """ changed = False for i, value in enumerate(self._uis): dock_control, user_object, view_object, monitoring = value if dock_control.control is not None: name = None handler = getattr( self.ui.handler, "%s_%s_page_name" % (self.object_name, self.name), None, ) if handler is not None: name = handler(self.ui.info, user_object) if name is None: name = str( xgetattr( view_object, self.factory.page_name[1:], "???" ) ) changed |= dock_control.name != name dock_control.name = name if changed: self.update_layout() def _create_page(self, object): """ Creates a DockControl for a specified object. """ # Create the view for the object: view_object = object factory = self.factory if factory.factory is not None: view_object = factory.factory(object) ui = view_object.edit_traits( parent=self.control, view=factory.view, kind=factory.ui_kind ).trait_set(parent=self.ui) # Get the name of the page being added to the notebook: name = "" monitoring = False prefix = "%s_%s_page_" % (self.object_name, self.name) page_name = self.factory.page_name if page_name[0:1] == ".": name = xgetattr(view_object, page_name[1:], None) monitoring = name is not None if monitoring: handler_name = None method = getattr(self.ui.handler, prefix + "name", None) if method is not None: handler_name = method(self.ui.info, object) if handler_name is not None: name = handler_name else: name = str(name) or "???" view_object.on_trait_change( self.update_page_name, page_name[1:], dispatch="ui" ) else: name = "" elif page_name != "": name = page_name if name == "": name = user_name_for(view_object.__class__.__name__) # Make sure the name is not a duplicate: if not monitoring: self._pages[name] = count = self._pages.get(name, 0) + 1 if count > 1: name += " %d" % count # Return a new DockControl for the ui, and whether or not its name is # being monitored: image = None method = getattr(self.ui.handler, prefix + "image", None) if method is not None: image = method(self.ui.info, object) dock_control = DockControl( control=ui.control, id=str(id(ui.control)), name=name, style=factory.dock_style, image=image, export=factory.export, closeable=factory.deletable, dockable=DockableListElement(ui=ui, editor=self), ) return (dock_control, view_object, monitoring) # ------------------------------------------------------------------------- # Activates the corresponding dock window when the 'selected' trait of # the editor is changed. # ------------------------------------------------------------------------- def _selected_changed(self, old, new): """ Activates the corresponding dock window when the 'selected' trait of the editor is changed. """ for i, value in enumerate(self._uis): if new == value[1]: value[0].activate() break return class DockableListElement(DockableViewElement): # ------------------------------------------------------------------------- # Trait definitions: # ------------------------------------------------------------------------- #: The editor this dockable item is associated with: editor = Instance(NotebookEditor) def dockable_close(self, dock_control, force): """ Returns whether it is OK to close the control. """ return self.close_dock_control(dock_control, force) def close_dock_control(self, dock_control, abort): """ Closes a DockControl. """ if abort: return super().close_dock_control(dock_control, False) view_object = self.ui.context["object"] for i, value in enumerate(self.editor._uis): if view_object is value[2]: del self.editor.value[i] return False def dockable_tab_activated(self, dock_control, activated): """ Handles a notebook tab being activated or deactivated. Sets the value of the editor's selected trait to the activated dock_control's object. """ for i, value in enumerate(self.editor._uis): if dock_control is value[0] and activated: self.editor.selected = value[1] break traitsui-7.2.1/traitsui/wx/tuple_editor.py0000644000076500000240000000173714046644454021372 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! """ Defines the tuple editor for the wxPython user interface toolkit. """ from traitsui.editors.tuple_editor import SimpleEditor as BaseSimpleEditor from .editor import Editor # ------------------------------------------------------------------------- # 'SimpleEditor' class: # ------------------------------------------------------------------------- class SimpleEditor(BaseSimpleEditor, Editor): """ Simple style of editor for tuples. The editor displays an editor for each of the fields in the tuple, based on the type of each field. """ pass traitsui-7.2.1/traitsui/wx/progress_editor.py0000644000076500000240000000634514046644454022105 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! import wx from traits.api import Instance, Int, Str from traitsui.wx.editor import Editor from pyface.ui.wx.progress_dialog import ProgressDialog class _ProgressDialog(ProgressDialog): def close(self): """ Overwritten to disable closing. """ pass class SimpleEditor(Editor): """ Show a progress bar with all the optional goodies """ progress = Instance(ProgressDialog) # The message to be displayed along side the progress guage message = Str() # The starting value min = Int() # The ending value max = Int() # -- Editor interface ------------------------------------------------------ def init(self, parent): """ Finishes initializing the editor by creating the underlying toolkit widget. """ self.control = self.create_control(parent) factory = self.factory self.min = factory.min self.max = factory.max self.message = factory.message self.sync_value(factory.min_name, "min", "from") self.sync_value(factory.max_name, "max", "from") self.sync_value(factory.message_name, "message", "from") self.set_tooltip() def create_control(self, parent): """ Finishes initializing the editor by creating the underlying widget. """ self.progress = ProgressDialog( title=self.factory.title, message=self.factory.message, min=self.factory.min, max=self.factory.max, can_cancel=self.factory.can_cancel, show_time=self.factory.show_time, show_percent=self.factory.show_percent, ) panel = wx.Panel(parent, -1) sizer = wx.BoxSizer(wx.VERTICAL) panel.SetSizer(sizer) panel.SetAutoLayout(True) panel.SetBackgroundColour(wx.NullColour) self.progress.dialog_size = wx.Size() # The 'guts' of the dialog. self.progress._create_message(panel, sizer) self.progress._create_gauge(panel, sizer) self.progress._create_percent(panel, sizer) self.progress._create_timer(panel, sizer) self.progress._create_buttons(panel, sizer) panel.SetClientSize(self.progress.dialog_size) panel.CentreOnParent() self.control = panel return self.control def update_editor(self): """ Updates the editor when the object trait changes externally to the editor. """ self.progress.min = self.min self.progress.max = self.max self.progress.change_message(self.message) if self.value: self.progress.update(self.value) return def _min_changed(self): self.update_editor() def _max_changed(self): self.update_editor() def _message_changed(self): self.update_editor() traitsui-7.2.1/traitsui/wx/data_frame_editor.py0000644000076500000240000000123414046644454022314 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! from traitsui.ui_editors.data_frame_editor import ( _DataFrameEditor as BaseDataFrameEditor, ) from .ui_editor import UIEditor class _DataFrameEditor(BaseDataFrameEditor, UIEditor): """ Wx Toolkit implementation of the DataFrameEditor """ pass traitsui-7.2.1/traitsui/wx/drop_editor.py0000644000076500000240000000662414046644454021205 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! """ Defines a drop target editor for the wxPython user interface toolkit. A drop target editor handles drag and drop operations as a drop target. """ import wx from pyface.wx.drag_and_drop import PythonDropTarget, clipboard from .text_editor import SimpleEditor as Editor from .constants import DropColor # ------------------------------------------------------------------------- # 'SimpleEditor' class: # ------------------------------------------------------------------------- class SimpleEditor(Editor): """ Simple style of drop editor, which displays a read-only text field that contains the string representation of the object trait's value. """ #: Background color when it is OK to drop objects. ok_color = DropColor def init(self, parent): """ Finishes initializing the editor by creating the underlying toolkit widget. """ if self.factory.readonly: self.control = wx.TextCtrl( parent, -1, self.str_value, style=wx.TE_READONLY ) self.set_tooltip() else: super().init(parent) self.control.SetBackgroundColour(self.ok_color) self.control.SetDropTarget(PythonDropTarget(self)) def string_value(self, value): """ Returns the text representation of a specified object trait value. """ if value is None: return "" return str(value) def error(self, excp): """ Handles an error that occurs while setting the object's trait value. """ pass # ----- Drag and drop event handlers: ------------------------------------- def wx_dropped_on(self, x, y, data, drag_result): """ Handles a Python object being dropped on the tree. """ klass = self.factory.klass value = data if self.factory.binding: value = getattr(clipboard, "node", None) if (klass is None) or isinstance(data, klass): self._no_update = True try: if hasattr(value, "drop_editor_value"): self.value = value.drop_editor_value() else: self.value = value if hasattr(value, "drop_editor_update"): value.drop_editor_update(self.control) else: self.control.SetValue(self.str_value) finally: self._no_update = False return drag_result return wx.DragNone def wx_drag_over(self, x, y, data, drag_result): """ Handles a Python object being dragged over the tree. """ if self.factory.binding: data = getattr(clipboard, "node", None) try: self.object.base_trait(self.name).validate( self.object, self.name, data ) return drag_result except: return wx.DragNone # Define the Text and ReadonlyEditor for use by the editor factory. TextEditor = ReadonlyEditor = SimpleEditor traitsui-7.2.1/traitsui/wx/check_list_editor.py0000644000076500000240000002061414046644454022344 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! """ Defines the various editors for multi-selection enumerations, for the wxPython user interface toolkit. """ import logging import wx from traits.api import List, Str, TraitError from .editor_factory import TextEditor as BaseTextEditor from .editor import EditorWithList from .helper import TraitsUIPanel from functools import reduce logger = logging.getLogger(__name__) # ------------------------------------------------------------------------- # 'SimpleEditor' class: # ------------------------------------------------------------------------- class SimpleEditor(EditorWithList): """ Simple style of editor for checklists, which displays a combo box. """ # ------------------------------------------------------------------------- # Trait definitions: # ------------------------------------------------------------------------- #: Checklist item names names = List(Str) #: Checklist item values values = List() def init(self, parent): """ Finishes initializing the editor by creating the underlying toolkit widget. """ self.create_control(parent) super().init(parent) self.set_tooltip() def dispose(self): self.control.Unbind(wx.EVT_CHOICE) super().dispose() def create_control(self, parent): """ Creates the initial editor control. """ self.control = wx.Choice( parent, -1, wx.Point(0, 0), wx.Size(100, 20), [] ) self.control.Bind(wx.EVT_CHOICE, self.update_object) def list_updated(self, values): """ Handles updates to the list of legal checklist values. """ sv = self.string_value if (len(values) > 0) and isinstance(values[0], str): values = [(x, sv(x, str.capitalize)) for x in values] self.values = valid_values = [x[0] for x in values] self.names = [x[1] for x in values] # Make sure the current value is still legal: modified = False cur_value = parse_value(self.value) for i in range(len(cur_value) - 1, -1, -1): if cur_value[i] not in valid_values: try: del cur_value[i] modified = True except TypeError as e: logger.warning( "Unable to remove non-current value [%s] from " "values %s", cur_value[i], values, ) if modified: if isinstance(self.value, str): cur_value = ",".join(cur_value) self.value = cur_value self.rebuild_editor() def rebuild_editor(self): """ Rebuilds the editor after its definition is modified. """ control = self.control control.Clear() for name in self.names: control.Append(name) self.update_editor() def update_object(self, event): """ Handles the user selecting a new value from the combo box. """ value = self.values[self.names.index(event.GetString())] if not isinstance(self.value, str): value = [value] self.value = value def update_editor(self): """ Updates the editor when the object trait changes externally to the editor. """ try: self.control.SetSelection( self.values.index(parse_value(self.value)[0]) ) except Exception: pass # ------------------------------------------------------------------------- # 'CustomEditor' class: # ------------------------------------------------------------------------- class CustomEditor(SimpleEditor): """ Custom style of editor for checklists, which displays a set of check boxes. """ def create_control(self, parent): """ Creates the initial editor control. """ # Create a panel to hold all of the check boxes self.control = panel = TraitsUIPanel(parent, -1) def rebuild_editor(self): """ Rebuilds the editor after its definition is modified. """ panel = self.control panel.SetSizer(None) panel.DestroyChildren() cur_value = parse_value(self.value) # Create a sizer to manage the radio buttons: labels = self.names values = self.values n = len(labels) cols = self.factory.cols rows = (n + cols - 1) // cols # incr will keep track of how to increment index so that as we traverse # the grid in row major order, the elements are added to appear in # column major order incr = [n // cols] * cols rem = n % cols for i in range(cols): incr[i] += rem > i incr[-1] = -(reduce(lambda x, y: x + y, incr[:-1], 0) - 1) # e.g for a gird: # 0 2 4 # 1 3 5 # incr should be [2, 2, -3] if cols > 1: sizer = wx.GridSizer(0, cols, 2, 4) else: sizer = wx.BoxSizer(wx.VERTICAL) # Add the set of all possible choices: index = 0 # populate the layout in row_major order for i in range(rows): for j in range(cols): if n > 0: label = labels[index] control = wx.CheckBox(panel, -1, label) control.value = value = values[index] control.SetValue(value in cur_value) panel.Bind(wx.EVT_CHECKBOX, self.update_object, id=control.GetId()) index += incr[j] n -= 1 else: control = wx.CheckBox(panel, -1, "") control.Show(False) sizer.Add(control, 0, wx.NORTH, 5) # Lay out the controls: panel.SetSizerAndFit(sizer) # FIXME: There are cases where one of the parent panel's of the check # list editor has a fixed 'min size' which prevents the check list # editor from expanding correctly, so we currently are making sure # that all of the parent panels do not have a fixed min size before # doing the layout/refresh: parent = panel.GetParent() while isinstance(parent, wx.Panel): parent.SetMinSize(wx.Size(-1, -1)) panel = parent parent = parent.GetParent() panel.Layout() panel.Refresh() def update_object(self, event): """ Handles the user clicking one of the custom check boxes. """ control = event.GetEventObject() cur_value = parse_value(self.value) if control.GetValue(): cur_value.append(control.value) else: cur_value.remove(control.value) if isinstance(self.value, str): cur_value = ",".join(cur_value) self.value = cur_value def update_editor(self): """ Updates the editor when the object trait changes externally to the editor. """ new_values = parse_value(self.value) for control in self.control.GetChildren(): if control.IsShown(): control.SetValue(control.value in new_values) class TextEditor(BaseTextEditor): """ Text style of editor for checklists, which displays a text field. """ def update_object(self, event): """ Handles the user changing the contents of the edit control. """ try: value = self.control.GetValue() value = eval(value) except: pass try: self.value = value except TraitError as excp: pass # ------------------------------------------------------------------------- # Parse a value into a list: # ------------------------------------------------------------------------- def parse_value(value): """ Parses a value into a list. """ if value is None: return [] if not isinstance(value, str): return value[:] return [x.strip() for x in value.split(",")] traitsui-7.2.1/traitsui/wx/text_editor.py0000644000076500000240000001707614046644454021230 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! """ Defines the various text editors for the wxPython user interface toolkit. """ import wx from traits.api import TraitError from traitsui.editors.text_editor import evaluate_trait from .editor import Editor from .editor_factory import ReadonlyEditor as BaseReadonlyEditor from .constants import OKColor # Readonly text editor with view state colors: HoverColor = wx.LIGHT_GREY DownColor = wx.WHITE class SimpleEditor(Editor): """ Simple style text editor, which displays a text field. """ #: Flag for window styles: base_style = 0 #: Background color when input is OK: ok_color = OKColor # ------------------------------------------------------------------------- # Trait definitions: # ------------------------------------------------------------------------- #: Function used to evaluate textual user input: evaluate = evaluate_trait def init(self, parent): """ Finishes initializing the editor by creating the underlying toolkit widget. """ factory = self.factory style = self.base_style self.evaluate = factory.evaluate self.sync_value(factory.evaluate_name, "evaluate", "from") if (not factory.multi_line) or factory.password: style &= ~wx.TE_MULTILINE if factory.password: style |= wx.TE_PASSWORD multi_line = (style & wx.TE_MULTILINE) != 0 if multi_line: self.scrollable = True if factory.enter_set and (not multi_line): control = wx.TextCtrl( parent, -1, self.str_value, style=style | wx.TE_PROCESS_ENTER ) parent.Bind(wx.EVT_TEXT_ENTER, self.update_object, id=control.GetId()) else: control = wx.TextCtrl(parent, -1, self.str_value, style=style) control.Bind(wx.EVT_KILL_FOCUS, self.update_object) if control.IsSingleLine(): control.SetHint(self.factory.placeholder) if factory.auto_set: parent.Bind(wx.EVT_TEXT, self.update_object, id=control.GetId()) self.control = control self.set_error_state(False) self.set_tooltip() def update_object(self, event): """ Handles the user entering input data in the edit control. """ if isinstance(event, wx.FocusEvent): # Ensure that the base class' focus event handlers are run, some # built-in behavior may break on some platforms otherwise. event.Skip() if (not self._no_update) and (self.control is not None): try: self.value = self._get_user_value() if self._error is not None: self._error = None self.ui.errors -= 1 self.set_error_state(False) except TraitError as excp: pass def update_editor(self): """ Updates the editor when the object trait changes externally to the editor. """ user_value = self._get_user_value() try: unequal = bool(user_value != self.value) except ValueError: # This might be a numpy array. unequal = True if unequal: self._no_update = True self.control.SetValue(self.str_value) self._no_update = False if self._error is not None: self._error = None self.ui.errors -= 1 self.set_error_state(False) def _get_user_value(self): """ Gets the actual value corresponding to what the user typed. """ value = self.control.GetValue() try: value = self.evaluate(value) except: pass try: ret = self.factory.mapping.get(value, value) except TypeError: # The value is probably not hashable: ret = value return ret def error(self, excp): """ Handles an error that occurs while setting the object's trait value. """ if self._error is None: self._error = True self.ui.errors += 1 self.set_error_state(True) def in_error_state(self): """ Returns whether or not the editor is in an error state. """ return self.invalid or self._error class CustomEditor(SimpleEditor): """ Custom style of text editor, which displays a multi-line text field. """ #: Flag for window style. This value overrides the default. base_style = wx.TE_MULTILINE class ReadonlyEditor(BaseReadonlyEditor): """ Read-only style of text editor, which displays a read-only text field. """ def init(self, parent): """ Finishes initializing the editor by creating the underlying toolkit widget. """ super().init(parent) if self.factory.view is not None: control = self.control control.Bind(wx.EVT_ENTER_WINDOW, self._enter_window) control.Bind(wx.EVT_LEAVE_WINDOW, self._leave_window) control.Bind(wx.EVT_LEFT_DOWN, self._left_down) control.Bind(wx.EVT_LEFT_UP, self._left_up) def update_editor(self): """ Updates the editor when the object trait changes externally to the editor. """ control = self.control new_value = self.str_value if hasattr(self.factory, "password") and self.factory.password: new_value = "*" * len(new_value) if (self.item.resizable is True) or (self.item.height != -1.0): if control.GetValue() != new_value: control.SetValue(new_value) control.SetInsertionPointEnd() elif control.GetLabel() != new_value: control.SetLabel(new_value) def dispose(self): """ Disposes of the contents of an editor. """ if self.factory.view is not None: control = self.control control.Unbind(wx.EVT_ENTER_WINDOW) control.Unbind(wx.EVT_LEAVE_WINDOW) control.Unbind(wx.EVT_LEFT_DOWN) control.Unbind(wx.EVT_LEFT_UP) super().dispose() # -- Private Methods ------------------------------------------------------ def _set_color(self): control = self.control if not self._in_window: color = control.GetParent().GetBackgroundColour() elif self._down: color = DownColor else: color = HoverColor control.SetBackgroundColour(color) control.Refresh() # -- wxPython Event Handlers ---------------------------------------------- def _enter_window(self, event): self._in_window = True self._set_color() def _leave_window(self, event): self._in_window = False self._set_color() def _left_down(self, event): self.control.CaptureMouse() self._down = True self._set_color() def _left_up(self, event): self._set_color() if not self._down: return self.control.ReleaseMouse() self._down = False if self._in_window: self.object.edit_traits( view=self.factory.view, parent=self.control ) TextEditor = SimpleEditor traitsui-7.2.1/traitsui/wx/boolean_editor.py0000644000076500000240000000505214046644454021652 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! """ Defines the various Boolean editors for the wxPython user interface toolkit. """ import wx from .editor import Editor # This needs to be imported in here for use by the editor factory for boolean # editors (declared in traitsui). The editor factory's text_editor # method will use the TextEditor in the ui. from .text_editor import SimpleEditor as TextEditor from .constants import ReadonlyColor class SimpleEditor(Editor): """ Simple style of editor for Boolean values, which displays a check box. """ def init(self, parent): """ Finishes initializing the editor by creating the underlying toolkit widget. """ self.control = wx.CheckBox(parent, -1, "") self.control.Bind(wx.EVT_CHECKBOX, self.update_object) self.set_tooltip() def dispose(self): self.control.Unbind(wx.EVT_CHECKBOX) def update_object(self, event): """ Handles the user clicking the checkbox. """ self.value = self.control.GetValue() != 0 def update_editor(self): """ Updates the editor when the object trait changes externally to the editor. """ self.control.SetValue(self.value) class ReadonlyEditor(Editor): """ Read-only style of editor for Boolean values, which displays static text of either "True" or "False". """ def init(self, parent): """ Finishes initializing the editor by creating the underlying toolkit widget. """ self.control = wx.TextCtrl(parent, -1, "", style=wx.TE_READONLY) self.control.SetBackgroundColour(ReadonlyColor) # ------------------------------------------------------------------------- # Updates the editor when the object trait changes external to the editor: # # (Should normally be overridden in a subclass) # ------------------------------------------------------------------------- def update_editor(self): """ Updates the editor when the object trait changes externally to the editor. """ if self.value: self.control.SetValue("True") else: self.control.SetValue("False") traitsui-7.2.1/traitsui/wx/code_editor.py0000644000076500000240000003415214046644454021150 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! """ Defines a source code editor for the wxPython user interface toolkit, useful for tools such as debuggers. """ import wx import wx.stc as stc from traits.api import Str, List, Int, Event, Bool, TraitError, observe from traits.trait_base import SequenceTypes from pyface.api import PythonEditor from pyface.wx.python_stc import faces from .editor import Editor from .constants import OKColor, ErrorColor # Marker line constants: # Marks a marked line MARK_MARKER = 0 # Marks a line matching the current search SEARCH_MARKER = 1 # Marks the currently selected line SELECTED_MARKER = 2 # ------------------------------------------------------------------------- # 'SourceEditor' class: # ------------------------------------------------------------------------- class SourceEditor(Editor): """ Editor for source code, which displays a Pyface PythonEditor. """ # ------------------------------------------------------------------------- # Trait definitions: # ------------------------------------------------------------------------- #: The code editor is scrollable. This value overrides the default. scrollable = True #: Is the editor read only? readonly = Bool(False) #: The currently selected line selected_line = Int() #: The currently selected text selected_text = Str() #: The list of line numbers to mark mark_lines = List(Int) #: The current line number line = Event() #: The current column column = Event() #: calltip clicked event calltip_clicked = Event() #: The STC lexer use lexer = Int() #: The lines to be dimmed dim_lines = List(Int) dim_color = Str() _dim_style_number = Int(16) # 0-15 are reserved for the python lexer #: The lines to have squiggles drawn under them squiggle_lines = List(Int) squiggle_color = Str() def init(self, parent): """ Finishes initializing the editor by creating the underlying toolkit widget. """ factory = self.factory self._editor = editor = PythonEditor( parent, show_line_numbers=factory.show_line_numbers ) self.control = control = editor.control # There are a number of events which aren't well documented that look # to be useful in future implmentations, below are a subset of the # events that look interesting: # EVT_STC_AUTOCOMP_SELECTION # EVT_STC_HOTSPOT_CLICK # EVT_STC_HOTSPOT_DCLICK # EVT_STC_DOUBLECLICK # EVT_STC_MARGINCLICK control.SetSize(wx.Size(300, 124)) # Clear out the goofy hotkeys for zooming text control.CmdKeyClear(ord("B"), stc.STC_SCMOD_CTRL) control.CmdKeyClear(ord("N"), stc.STC_SCMOD_CTRL) # Set up the events control.Bind(wx.EVT_KILL_FOCUS, self.wx_update_object) control.Bind(stc.EVT_STC_CALLTIP_CLICK, self._calltip_clicked) if factory.auto_scroll and (factory.selected_line != ""): control.Bind(wx.EVT_SIZE, self._update_selected_line) if factory.auto_set: editor.on_trait_change( self.update_object, "changed", dispatch="ui" ) if factory.key_bindings is not None: editor.on_trait_change( self.key_pressed, "key_pressed", dispatch="ui" ) if self.readonly: control.SetReadOnly(True) # Set up the lexer control.SetLexer(stc.STC_LEX_CONTAINER) control.Bind(stc.EVT_STC_STYLENEEDED, self._style_needed) try: self.lexer = getattr(stc, "STC_LEX_" + self.factory.lexer.upper()) except AttributeError: self.lexer = stc.STC_LEX_NULL # Define the markers we use: control.MarkerDefine( MARK_MARKER, stc.STC_MARK_BACKGROUND, background=wx.Colour(factory.mark_color_), ) control.MarkerDefine( SEARCH_MARKER, stc.STC_MARK_BACKGROUND, background=wx.Colour(factory.search_color_), ) control.MarkerDefine( SELECTED_MARKER, stc.STC_MARK_BACKGROUND, background=wx.Colour(factory.selected_color_), ) # Make sure the editor has been initialized: self.update_editor() # Set up any event listeners: self.sync_value(factory.mark_lines, "mark_lines", "from", is_list=True) self.sync_value(factory.selected_line, "selected_line", "from") self.sync_value(factory.selected_text, "selected_text", "to") self.sync_value(factory.line, "line") self.sync_value(factory.column, "column") self.sync_value(factory.calltip_clicked, "calltip_clicked") self.sync_value(factory.dim_lines, "dim_lines", "from", is_list=True) if self.factory.dim_color == "": self.dim_color = "dark grey" else: self.sync_value(factory.dim_color, "dim_color", "from") self.sync_value( factory.squiggle_lines, "squiggle_lines", "from", is_list=True ) if factory.squiggle_color == "": self.squiggle_color = "red" else: self.sync_value(factory.squiggle_color, "squiggle_color", "from") # Check if we need to monitor the line or column position being # changed: if ( (factory.line != "") or (factory.column != "") or (factory.selected_text != "") ): control.Bind(stc.EVT_STC_UPDATEUI, self._position_changed) self.set_tooltip() def wx_update_object(self, event): """ Handles the user entering input data in the edit control. """ self.update_object() event.Skip() def update_object(self): """ Handles the user entering input data in the edit control. """ if not self._locked: try: value = self.control.GetText() if isinstance(self.value, SequenceTypes): value = value.split() self.value = value self.control.SetBackgroundColour(OKColor) self.control.Refresh() except TraitError as excp: pass def update_editor(self): """ Updates the editor when the object trait changes externally to the editor. """ self._locked = True new_value = self.value if isinstance(new_value, SequenceTypes): new_value = "\n".join([line.rstrip() for line in new_value]) control = self.control if control.GetText() != new_value: readonly = control.GetReadOnly() control.SetReadOnly(False) l1 = control.GetFirstVisibleLine() pos = control.GetCurrentPos() control.SetText(new_value) control.GotoPos(pos) control.ScrollToLine(l1) control.SetReadOnly(readonly) self._mark_lines_changed() self._selected_line_changed() self._style_document() self._locked = False def _calltip_clicked(self, event): self.calltip_clicked = True def _mark_lines_changed(self): """ Handles the set of marked lines being changed. """ lines = self.mark_lines control = self.control lc = control.GetLineCount() control.MarkerDeleteAll(MARK_MARKER) for line in lines: if 0 < line <= lc: control.MarkerAdd(line - 1, MARK_MARKER) control.Refresh() def _mark_lines_items_changed(self): self._mark_lines_changed() def _selected_line_changed(self): """ Handles a change in which line is currently selected. """ line = self.selected_line control = self.control line = max(1, min(control.GetLineCount(), line)) - 1 control.MarkerDeleteAll(SELECTED_MARKER) control.MarkerAdd(line, SELECTED_MARKER) control.GotoLine(line) if self.factory.auto_scroll: control.ScrollToLine(line - (control.LinesOnScreen() // 2)) control.Refresh() def _line_changed(self, line): if not self._locked: self.control.GotoLine(line - 1) def _column_changed(self, column): if not self._locked: control = self.control line = control.LineFromPosition(control.GetCurrentPos()) control.GotoPos(control.PositionFromLine(line) + column - 1) def _position_changed(self, event): """ Handles the cursor position being changed. """ control = self.control pos = control.GetCurrentPos() line = control.LineFromPosition(pos) self._locked = True self.line = line + 1 self.column = pos - control.PositionFromLine(line) + 1 self._locked = False self.selected_text = control.GetSelectedText() def key_pressed(self, event): """ Handles a key being pressed within the editor. """ self.factory.key_bindings.do( event.event, self.ui.handler, self.ui.info ) def _dim_color_changed(self): self.control.StyleSetForeground(self._dim_style_number, self.dim_color) self.control.StyleSetFaceName(self._dim_style_number, "courier new") self.control.StyleSetSize(self._dim_style_number, faces["size"]) self.control.Refresh() def _squiggle_color_changed(self): self.control.IndicatorSetStyle(2, stc.STC_INDIC_SQUIGGLE) self.control.IndicatorSetForeground(2, self.squiggle_color) self.control.Refresh() @observe("dim_lines, squiggle_lines") def _style_document(self, event=None): """ Force the STC to fire a STC_STYLENEEDED event for the entire document. """ self.control.ClearDocumentStyle() self.control.Colourise(0, -1) self.control.Refresh() def _style_needed(self, event): """ Handles an STC request for styling for some area. """ position = self.control.GetEndStyled() start_line = self.control.LineFromPosition(position) end = event.GetPosition() end_line = self.control.LineFromPosition(end) # Fixes a strange a bug with the STC widget where creating a new line # after a dimmed line causes it to mysteriously lose its styling if start_line in self.dim_lines: start_line -= 1 # Trying to Colourise only the lines that we want does not seem to work # so we do the whole area and then override the styling on certain # lines if self.lexer != stc.STC_LEX_NULL: self.control.SetLexer(self.lexer) self.control.Colourise(position, end) self.control.SetLexer(stc.STC_LEX_CONTAINER) for line in range(start_line, end_line + 1): # We don't use LineLength here because it includes newline # characters. Styling these leads to strange behavior. position = self.control.PositionFromLine(line) style_length = self.control.GetLineEndPosition(line) - position if line + 1 in self.dim_lines: # Set styling mask to only style text bits, not indicator bits self.control.StartStyling(position) self.control.SetStyling(style_length, self._dim_style_number) elif self.lexer == stc.STC_LEX_NULL: self.control.StartStyling(position) self.control.SetStyling(style_length, stc.STC_STYLE_DEFAULT) if line + 1 in self.squiggle_lines: self.control.StartStyling(position) self.control.SetStyling(style_length, stc.STC_INDIC2_MASK) else: self.control.StartStyling(position) self.control.SetStyling(style_length, stc.STC_STYLE_DEFAULT) def error(self, excp): """ Handles an error that occurs while setting the object's trait value. """ self.control.SetBackgroundColour(ErrorColor) self.control.Refresh() def dispose(self): """ Disposes of the contents of an editor. """ if self.control is not None: if self.factory.auto_set: self._editor.on_trait_change( self.update_object, "changed", remove=True ) if self.factory.key_bindings is not None: self._editor.on_trait_change( self.key_pressed, "key_pressed", remove=True ) self.control.Unbind(wx.EVT_KILL_FOCUS) self.control.Unbind(stc.EVT_STC_CALLTIP_CLICK) self.control.Unbind(stc.EVT_STC_STYLENEEDED) if ( (self.factory.line != "") or (self.factory.column != "") or (self.factory.selected_text != "") ): self.control.Unbind(stc.EVT_STC_UPDATEUI) super().dispose() # -- UI preference save/restore interface --------------------------------- def restore_prefs(self, prefs): """ Restores any saved user preference information associated with the editor. """ if self.factory.key_bindings is not None: key_bindings = prefs.get("key_bindings") if key_bindings is not None: self.factory.key_bindings.merge(key_bindings) def save_prefs(self): """ Returns any user preference information associated with the editor. """ return {"key_bindings": self.factory.key_bindings} # Define the simple, custom, text and readonly editors, which will be accessed # by the editor factory for code editors. CustomEditor = SimpleEditor = TextEditor = SourceEditor class ReadonlyEditor(SourceEditor): #: Set the value of the readonly trait. readonly = True traitsui-7.2.1/traitsui/wx/menu.py0000644000076500000240000002551614046644454017640 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! """ Dynamically construct wxPython Menus or MenuBars from a supplied string description of the menu. Menu Description Syntax:: submenu_label {help_string} menuitem_label | accelerator {help_string} [~/-name]: code *submenu_label* Label of a sub menu *menuitem_label* Label of a menu item {*help_string*} Help string to display on the status line (optional) *accelerator* Accelerator key (e.g., Ctrl-C) (The '|' and keyname are optional, but must be used together.) [~] The menu item is checkable, but is not checked initially (optional) [/] The menu item is checkable, and is checked initially (optional) [-] The menu item disabled initially (optional) [*name*] Symbolic name used to refer to menu item (optional) *code* Python code invoked when menu item is selected A line beginning with a hyphen (-) is interpreted as a menu separator. """ # ========================================================================= # Imports: # ========================================================================= import re import logging import wx logger = logging.getLogger(__name__) # ========================================================================= # Constants: # ========================================================================= help_pat = re.compile(r"(.*){(.*)}(.*)") options_pat = re.compile(r"(.*)\[(.*)\](.*)") # Mapping of key name strings to wxPython key codes key_map = { "F1": wx.WXK_F1, "F2": wx.WXK_F2, "F3": wx.WXK_F3, "F4": wx.WXK_F4, "F5": wx.WXK_F5, "F6": wx.WXK_F6, "F7": wx.WXK_F7, "F8": wx.WXK_F8, "F9": wx.WXK_F9, "F10": wx.WXK_F10, "F11": wx.WXK_F11, "F12": wx.WXK_F12, } class MakeMenu: """ Manages creation of menus. """ #: Initialize the globally unique menu ID: cur_id = 1000 def __init__(self, desc, owner, popup=False, window=None): """ Initializes the object. """ self.owner = owner if window is None: window = owner self.window = window self.indirect = getattr(owner, "call_menu", None) self.names = {} self.desc = desc.split("\n") self.index = 0 self.keys = [] if popup: self.menu = menu = wx.Menu() self.parse(menu, -1) else: self.menu = menu = wx.MenuBar() self.parse(menu, -1) window.SetMenuBar(menu) if len(self.keys) > 0: window.SetAcceleratorTable(wx.AcceleratorTable(self.keys)) def parse(self, menu, indent): """ Recursively parses menu items from the description. """ while True: # Make sure we have not reached the end of the menu description # yet: if self.index >= len(self.desc): return # Get the next menu description line and check its indentation: dline = self.desc[self.index] line = dline.lstrip() indented = len(dline) - len(line) if indented <= indent: return # Indicate that the current line has been processed: self.index += 1 # Check for a blank or comment line: if (line == "") or (line[0:1] == "#"): continue # Check for a menu separator: if line[0:1] == "-": menu.AppendSeparator() continue # Allocate a new menu ID: MakeMenu.cur_id += 1 cur_id = MakeMenu.cur_id # Extract the help string (if any): help = "" match = help_pat.search(line) if match: help = " " + match.group(2).strip() line = match.group(1) + match.group(3) # Check for a menu item: col = line.find(":") if col >= 0: handler = line[col + 1 :].strip() if handler != "": if self.indirect: self.indirect(cur_id, handler) handler = self.indirect else: try: _locl = dict(self=self) exec( "def handler(event, self=self.owner):\n %s\n" % handler, globals(), _locl, ) handler = _locl["handler"] except Exception: logger.exception( "Invalid menu handler {:r}".format(handler) ) handler = null_handler else: try: _locl = dict(self=self) exec( "def handler(event, self=self.owner):\n%s\n" % (self.get_body(indented),), globals(), _locl, ) handler = _locl["handler"] except Exception: logger.exception( "Invalid menu handler {:r}".format(handler) ) handler = null_handler self.window.Bind(wx.EVT_MENU, handler, id=cur_id) not_checked = checked = disabled = False line = line[:col] match = options_pat.search(line) if match: line = match.group(1) + match.group(3) not_checked, checked, disabled, name = option_check( "~/-", match.group(2).strip() ) if name != "": self.names[name] = cur_id setattr(self.owner, name, MakeMenuItem(self, cur_id)) label = line.strip() col = label.find("|") if col >= 0: key = label[col + 1 :].strip() label = "%s%s%s" % (label[:col].strip(), "\t", key) key = key.upper() flag = wx.ACCEL_NORMAL col = key.find("-") if col >= 0: flag = { "CTRL": wx.ACCEL_CTRL, "SHIFT": wx.ACCEL_SHIFT, "ALT": wx.ACCEL_ALT, }.get(key[:col].strip(), wx.ACCEL_CTRL) key = key[col + 1 :].strip() code = key_map.get(key, None) try: if code is None: code = ord(key) self.keys.append( wx.AcceleratorEntry(flag, code, cur_id) ) except: pass menu.Append(cur_id, label, help, not_checked or checked) if checked: menu.Check(cur_id, True) if disabled: menu.Enable(cur_id, False) continue # Else must be the start of a sub menu: submenu = wx.Menu() label = line.strip() # Recursively parse the sub-menu: self.parse(submenu, indented) # Add the menu to its parent: try: menu.AppendMenu(cur_id, label, submenu, help) except: # Handle the case where 'menu' is really a 'MenuBar' (which does # not understand 'MenuAppend'): menu.Append(submenu, label) def get_body(self, indent): """ Returns the body of an inline method. """ result = [] while self.index < len(self.desc): line = self.desc[self.index] if (len(line) - len(line.lstrip())) <= indent: break result.append(line) self.index += 1 result = "\n".join(result).rstrip() if result != "": return result return " pass" def get_id(self, name): """ Returns the ID associated with a specified name. """ if isinstance(name, str): return self.names[name] return name def checked(self, name, check=None): """ Checks (or unchecks) a menu item specified by name. """ if check is None: return self.menu.IsChecked(self.get_id(name)) self.menu.Check(self.get_id(name), check) def enabled(self, name, enable=None): """ Enables (or disables) a menu item specified by name. """ if enable is None: return self.menu.IsEnabled(self.get_id(name)) self.menu.Enable(self.get_id(name), enable) def label(self, name, label=None): """ Gets or sets the label for a menu item. """ if label is None: return self.menu.GetLabel(self.get_id(name)) self.menu.SetLabel(self.get_id(name), label) class MakeMenuItem: """ A menu item for a menu managed by MakeMenu. """ def __init__(self, menu, id): self.menu = menu self.id = id def checked(self, check=None): return self.menu.checked(self.id, check) def toggle(self): checked = not self.checked() self.checked(checked) return checked def enabled(self, enable=None): return self.menu.enabled(self.id, enable) def label(self, label=None): return self.menu.label(self.id, label) # ------------------------------------------------------------------------- # Determine whether a string contains any specified option characters, and # remove them if it does: # ------------------------------------------------------------------------- def option_check(test, string): """ Determines whether a string contains any specified option characters, and removes them if it does. """ result = [] for char in test: col = string.find(char) result.append(col >= 0) if col >= 0: string = string[:col] + string[col + 1 :] return result + [string.strip()] # ------------------------------------------------------------------------- # Null menu option selection handler: # ------------------------------------------------------------------------- def null_handler(event): print("null_handler invoked") traitsui-7.2.1/traitsui/wx/view_application.py0000644000076500000240000001077514046644454022232 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! """ Creates a wxPython specific modal dialog user interface that runs as a complete application, using information from the specified UI object. """ # Standard library imports. import logging import os import sys # System library imports. import wx # ETS imports. from pyface.util.guisupport import ( is_event_loop_running_wx, start_event_loop_wx, ) logger = logging.getLogger(__name__) # File to redirect output to. If '', output goes to stdout. redirect_filename = "" KEEP_ALIVE_UIS = set() def on_ui_destroyed(object, name, old, destroyed): """ Remove the UI object from KEEP_ALIVE_UIS. """ assert name == "destroyed" if destroyed: assert object in KEEP_ALIVE_UIS KEEP_ALIVE_UIS.remove(object) object.on_trait_change(on_ui_destroyed, "destroyed", remove=True) # ------------------------------------------------------------------------- # Creates a 'stand-alone' wx Application to display a specified traits UI View: # ------------------------------------------------------------------------- def view_application(context, view, kind, handler, id, scrollable, args): """ Creates a stand-alone wx Application to display a specified traits UI View. Parameters ---------- context : object or dictionary A single object or a dictionary of string/object pairs, whose trait attributes are to be edited. If not specified, the current object is used. view : view object A View object that defines a user interface for editing trait attribute values. kind : string The type of user interface window to create. See the **traitsui.view.kind_trait** trait for values and their meanings. If *kind* is unspecified or None, the **kind** attribute of the View object is used. handler : Handler object A handler object used for event handling in the dialog box. If None, the default handler for Traits UI is used. scrollable : Boolean Indicates whether the dialog box should be scrollable. When set to True, scroll bars appear on the dialog box if it is not large enough to display all of the items in the view at one time. """ if (kind == "panel") or ((kind is None) and (view.kind == "panel")): kind = "modal" app = wx.GetApp() if app is None or not is_event_loop_running_wx(app): return ViewApplication( context, view, kind, handler, id, scrollable, args ).ui.result ui = view.ui( context, kind=kind, handler=handler, id=id, scrollable=scrollable, args=args, ) # If the UI has not been closed yet, we need to keep a reference to # it until it does close. if not ui.destroyed: KEEP_ALIVE_UIS.add(ui) ui.on_trait_change(on_ui_destroyed, "destroyed") return ui.result # ------------------------------------------------------------------------- # 'ViewApplication' class: # ------------------------------------------------------------------------- class ViewApplication(wx.App): """ Modal window that contains a stand-alone application. """ def __init__(self, context, view, kind, handler, id, scrollable, args): """ Initializes the object. """ self.context = context self.view = view self.kind = kind self.handler = handler self.id = id self.scrollable = scrollable self.args = args if redirect_filename.strip() != "": super().__init__(1, redirect_filename) else: super().__init__(0) # Start the event loop in an IPython-conforming manner. try: start_event_loop_wx(self) except Exception: logger.exception("Event loop failed to close cleanly:") def OnInit(self): """ Handles application initialization. """ self.ui = self.view.ui( self.context, kind=self.kind, handler=self.handler, id=self.id, scrollable=self.scrollable, args=self.args, ) return True traitsui-7.2.1/traitsui/wx/range_editor.py0000644000076500000240000007372014046644454021336 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! """ Defines the various range editors for the wxPython user interface toolkit. """ import sys import wx from math import log10 from traits.api import TraitError, Str, Float, Any, Bool from .editor_factory import TextEditor from .editor import Editor from .constants import OKColor, ErrorColor from .helper import TraitsUIPanel, Slider if not hasattr(wx, "wx.wxEVT_SCROLL_ENDSCROLL"): wxEVT_SCROLL_ENDSCROLL = wx.wxEVT_SCROLL_CHANGED else: wxEVT_SCROLL_ENDSCROLL = wx.wxEVT_SCROLL_ENDSCROLL # ------------------------------------------------------------------------- # 'BaseRangeEditor' class: # ------------------------------------------------------------------------- class BaseRangeEditor(Editor): """ The base class for Range editors. Using an evaluate trait, if specified, when assigning numbers the object trait. """ # ------------------------------------------------------------------------- # Trait definitions: # ------------------------------------------------------------------------- #: Function to evaluate floats/ints evaluate = Any() def _set_value(self, value): if self.evaluate is not None: value = self.evaluate(value) Editor._set_value(self, value) class SimpleSliderEditor(BaseRangeEditor): """ Simple style of range editor that displays a slider and a text field. The user can set a value either by moving the slider or by typing a value in the text field. """ # ------------------------------------------------------------------------- # Trait definitions: # ------------------------------------------------------------------------- #: Low value for the slider range low = Any() #: High value for the slider range high = Any() #: Formatting string used to format value and labels format = Str() #: Flag indicating that the UI is in the process of being updated ui_changing = Bool(False) def init(self, parent): """ Finishes initializing the editor by creating the underlying toolkit widget. """ factory = self.factory if not factory.low_name: self.low = factory.low if not factory.high_name: self.high = factory.high self.format = factory.format self.evaluate = factory.evaluate self.sync_value(factory.evaluate_name, "evaluate", "from") size = wx.DefaultSize if factory.label_width > 0: size = wx.Size(factory.label_width, 20) self.sync_value(factory.low_name, "low", "from") self.sync_value(factory.high_name, "high", "from") self.control = panel = TraitsUIPanel(parent, -1) sizer = wx.BoxSizer(wx.HORIZONTAL) fvalue = self.value if not (self.low <= fvalue <= self.high): fvalue_text = "" fvalue = self.low else: try: fvalue_text = self.format % fvalue except (ValueError, TypeError) as e: fvalue_text = "" ivalue = self._convert_to_slider(fvalue) self._label_lo = wx.StaticText( panel, -1, "999999", size=size, style=wx.ALIGN_RIGHT | wx.ST_NO_AUTORESIZE, ) sizer.Add(self._label_lo, 0, wx.ALIGN_CENTER) panel.slider = slider = Slider( panel, -1, ivalue, 0, 10000, size=wx.Size(80, 20), style=wx.SL_HORIZONTAL | wx.SL_AUTOTICKS, ) slider.SetTickFreq(1000) slider.SetValue(1) slider.SetPageSize(1000) slider.SetLineSize(100) slider.Bind(wx.EVT_SCROLL, self.update_object_on_scroll) sizer.Add(slider, 1, wx.EXPAND) self._label_hi = wx.StaticText(panel, -1, "999999", size=size) sizer.Add(self._label_hi, 0, wx.ALIGN_CENTER) panel.text = text = wx.TextCtrl( panel, -1, fvalue_text, size=wx.Size(56, 20), style=wx.TE_PROCESS_ENTER, ) panel.Bind(wx.EVT_TEXT_ENTER, self.update_object_on_enter, id=text.GetId()) text.Bind(wx.EVT_KILL_FOCUS, self.update_object_on_enter) sizer.Add(text, 0, wx.LEFT | wx.EXPAND, 4) low_label = factory.low_label if factory.low_name != "": low_label = self.format % self.low high_label = factory.high_label if factory.high_name != "": high_label = self.format % self.high self._label_lo.SetLabel(low_label) self._label_hi.SetLabel(high_label) self.set_tooltip(slider) self.set_tooltip(self._label_lo) self.set_tooltip(self._label_hi) self.set_tooltip(text) # Set-up the layout: panel.SetSizerAndFit(sizer) def update_object_on_scroll(self, event): """ Handles the user changing the current slider value. """ value = self._convert_from_slider(event.GetPosition()) event_type = event.GetEventType() if ( (event_type == wxEVT_SCROLL_ENDSCROLL) or ( self.factory.auto_set and (event_type == wx.wxEVT_SCROLL_THUMBTRACK) ) or ( self.factory.enter_set and (event_type == wx.wxEVT_SCROLL_THUMBRELEASE) ) ): try: self.ui_changing = True self.control.text.SetValue(self.format % value) self.value = value except TraitError: pass finally: self.ui_changing = False def update_object_on_enter(self, event): """ Handles the user pressing the Enter key in the text field. """ if isinstance(event, wx.FocusEvent): event.Skip() # There are cases where this method is called with self.control == # None. if self.control is None: return try: try: value = self.control.text.GetValue().strip() if self.factory.is_float: value = float(value) else: value = int(value) except Exception as ex: # The user entered something that didn't eval as a number (e.g., 'foo'). # Pretend it didn't happen (i.e. do not change self.value). value = self.value self.control.text.SetValue(str(value)) # for compound editor, value may be non-numeric if not isinstance(value, (int, float)): return self.value = value if not self.ui_changing: self.control.slider.SetValue( self._convert_to_slider(self.value) ) self.control.text.SetBackgroundColour(OKColor) self.control.text.Refresh() if self._error is not None: self._error = None self.ui.errors -= 1 except TraitError: pass def error(self, excp): """ Handles an error that occurs while setting the object's trait value. """ if self._error is None: self._error = True self.ui.errors += 1 super().error(excp) self.set_error_state(True) def update_editor(self): """ Updates the editor when the object trait changes externally to the editor. """ value = self.value try: text = self.format % value 1 // (self.low <= value <= self.high) except: text = "" value = self.low ivalue = self._convert_to_slider(value) self.control.text.SetValue(text) self.control.slider.SetValue(ivalue) def _convert_to_slider(self, value): """ Returns the slider setting corresponding to the user-supplied value. """ if self.high > self.low: ivalue = int( (float(value - self.low) / (self.high - self.low)) * 10000.0 ) else: ivalue = self.low return ivalue def _convert_from_slider(self, ivalue): """ Returns the float or integer value corresponding to the slider setting. """ value = self.low + ((float(ivalue) / 10000.0) * (self.high - self.low)) if not self.factory.is_float: value = int(round(value)) return value def get_error_control(self): """ Returns the editor's control for indicating error status. """ return self.control.text def _low_changed(self, low): if self.value < low: if self.factory.is_float: self.value = float(low) else: self.value = int(low) if self._label_lo is not None: self._label_lo.SetLabel(self.format % low) self.update_editor() def _high_changed(self, high): if self.value > high: if self.factory.is_float: self.value = float(high) else: self.value = int(high) if self._label_hi is not None: self._label_hi.SetLabel(self.format % high) self.update_editor() # ------------------------------------------------------------------------- class LogRangeSliderEditor(SimpleSliderEditor): # ------------------------------------------------------------------------- """ A slider editor for log-spaced values """ def _convert_to_slider(self, value): """ Returns the slider setting corresponding to the user-supplied value. """ value = max(value, self.low) ivalue = int( (log10(value) - log10(self.low)) / (log10(self.high) - log10(self.low)) * 10000.0 ) return ivalue def _convert_from_slider(self, ivalue): """ Returns the float or integer value corresponding to the slider setting. """ value = float(ivalue) / 10000.0 * (log10(self.high) - log10(self.low)) # Do this to handle floating point errors, where fvalue may exceed # self.high. fvalue = min(self.low * 10 ** (value), self.high) if not self.factory.is_float: fvalue = int(round(fvalue)) return fvalue class LargeRangeSliderEditor(BaseRangeEditor): """ A slider editor for large ranges. The editor displays a slider and a text field. A subset of the total range is displayed in the slider; arrow buttons at each end of the slider let the user move the displayed range higher or lower. """ # ------------------------------------------------------------------------- # Trait definitions: # ------------------------------------------------------------------------- #: Low value for the slider range low = Any(0) #: High value for the slider range high = Any(1) #: Low end of displayed range cur_low = Float() #: High end of displayed range cur_high = Float() #: Flag indicating that the UI is in the process of being updated ui_changing = Bool(False) def init(self, parent): """ Finishes initializing the editor by creating the underlying toolkit widget. """ factory = self.factory # Initialize using the factory range defaults: self.low = factory.low self.high = factory.high self.evaluate = factory.evaluate # Hook up the traits to listen to the object. self.sync_value(factory.low_name, "low", "from") self.sync_value(factory.high_name, "high", "from") self.sync_value(factory.evaluate_name, "evaluate", "from") self.init_range() low = self.cur_low high = self.cur_high self._set_format() self.control = panel = TraitsUIPanel(parent, -1) sizer = wx.BoxSizer(wx.HORIZONTAL) fvalue = self.value try: fvalue_text = self._format % fvalue 1 // (low <= fvalue <= high) except: fvalue_text = "" fvalue = low if high > low: ivalue = int((float(fvalue - low) / (high - low)) * 10000) else: ivalue = low # Lower limit label: label_lo = wx.StaticText(panel, -1, "999999") panel.label_lo = label_lo sizer.Add(label_lo, 2, wx.ALIGN_CENTER) # Lower limit button: bmp = wx.ArtProvider.GetBitmap(wx.ART_GO_BACK, size=(15, 15)) button_lo = wx.BitmapButton( panel, -1, bitmap=bmp, size=(-1, 20), style=wx.BU_EXACTFIT | wx.NO_BORDER, ) panel.button_lo = button_lo button_lo.Bind(wx.EVT_BUTTON, self.reduce_range) sizer.Add(button_lo, 1, wx.ALIGN_CENTER) # Slider: panel.slider = slider = Slider( panel, -1, ivalue, 0, 10000, size=wx.Size(80, 20), style=wx.SL_HORIZONTAL | wx.SL_AUTOTICKS, ) slider.SetTickFreq(1000) slider.SetValue(1) slider.SetPageSize(1000) slider.SetLineSize(100) slider.Bind(wx.EVT_SCROLL, self.update_object_on_scroll) sizer.Add(slider, 6, wx.EXPAND) # Upper limit button: bmp = wx.ArtProvider.GetBitmap(wx.ART_GO_FORWARD, size=(15, 15)) button_hi = wx.BitmapButton( panel, -1, bitmap=bmp, size=(-1, 20), style=wx.BU_EXACTFIT | wx.NO_BORDER, ) panel.button_hi = button_hi button_hi.Bind(wx.EVT_BUTTON, self.increase_range) sizer.Add(button_hi, 1, wx.ALIGN_CENTER) # Upper limit label: label_hi = wx.StaticText(panel, -1, "999999") panel.label_hi = label_hi sizer.Add(label_hi, 2, wx.ALIGN_CENTER) # Text entry: panel.text = text = wx.TextCtrl( panel, -1, fvalue_text, size=wx.Size(56, 20), style=wx.TE_PROCESS_ENTER, ) panel.Bind(wx.EVT_TEXT_ENTER, self.update_object_on_enter, id=text.GetId()) text.Bind(wx.EVT_KILL_FOCUS, self.update_object_on_enter) sizer.Add(text, 0, wx.LEFT | wx.EXPAND, 4) # Set-up the layout: panel.SetSizerAndFit(sizer) label_lo.SetLabel(str(low)) label_hi.SetLabel(str(high)) self.set_tooltip(slider) self.set_tooltip(label_lo) self.set_tooltip(label_hi) self.set_tooltip(text) # Update the ranges and button just in case. self.update_range_ui() def update_object_on_scroll(self, event): """ Handles the user changing the current slider value. """ low = self.cur_low high = self.cur_high value = low + ((float(event.GetPosition()) / 10000.0) * (high - low)) self.control.text.SetValue(self._format % value) event_type = event.GetEventType() try: self.ui_changing = True if ( (event_type == wxEVT_SCROLL_ENDSCROLL) or ( self.factory.auto_set and (event_type == wx.wxEVT_SCROLL_THUMBTRACK) ) or ( self.factory.enter_set and (event_type == wx.wxEVT_SCROLL_THUMBRELEASE) ) ): if self.factory.is_float: self.value = value else: self.value = int(value) finally: self.ui_changing = False def update_object_on_enter(self, event): """ Handles the user pressing the Enter key in the text field. """ if isinstance(event, wx.FocusEvent): event.Skip() # It is possible the event is processed after the control is removed # from the editor if self.control is None: return try: value = self.control.text.GetValue().strip() try: if self.factory.is_float: value = float(value) else: value = int(value) except Exception as ex: # The user entered something that didn't eval as a number (e.g., 'foo'). # Pretend it didn't happen (i.e. do not change self.value). value = self.value self.control.text.SetValue(str(value)) self.value = value self.control.text.SetBackgroundColour(OKColor) self.control.text.Refresh() # Update the slider range. # Set ui_changing to True to avoid recursion: # the update_range_ui method will try to set the value in the text # box, which will again fire this method if auto_set is True. if not self.ui_changing: self.ui_changing = True self.init_range() self.update_range_ui() self.ui_changing = False if self._error is not None: self._error = None self.ui.errors -= 1 except TraitError as excp: pass def error(self, excp): """ Handles an error that occurs while setting the object's trait value. """ if self._error is None: self._error = True self.ui.errors += 1 super().error(excp) self.set_error_state(True) def update_editor(self): """ Updates the editor when the object trait changes externally to the editor. """ value = self.value low = self.low high = self.high try: text = self._format % value 1 / (low <= value <= high) except: value = low self.value = value if not self.ui_changing: self.init_range() self.update_range_ui() def update_range_ui(self): """ Updates the slider range controls. """ low, high = self.cur_low, self.cur_high value = self.value self._set_format() self.control.label_lo.SetLabel(self._format % low) self.control.label_hi.SetLabel(self._format % high) if high > low: ivalue = int((float(value - low) / (high - low)) * 10000.0) else: ivalue = low self.control.slider.SetValue(ivalue) text = self._format % self.value self.control.text.SetValue(text) factory = self.factory f_low, f_high = self.low, self.high if low == f_low: self.control.button_lo.Disable() else: self.control.button_lo.Enable() if high == f_high: self.control.button_hi.Disable() else: self.control.button_hi.Enable() def init_range(self): """ Initializes the slider range controls. """ value = self.value factory = self.factory low, high = self.low, self.high if (high is None) and (low is not None): high = -low mag = abs(value) if mag <= 10.0: cur_low = max(value - 10, low) cur_high = min(value + 10, high) else: d = 0.5 * (10 ** int(log10(mag) + 1)) cur_low = max(low, value - d) cur_high = min(high, value + d) self.cur_low, self.cur_high = cur_low, cur_high def reduce_range(self, event): """ Reduces the extent of the displayed range. """ factory = self.factory low, high = self.low, self.high if abs(self.cur_low) < 10: self.cur_low = max(-10, low) self.cur_high = min(10, high) elif self.cur_low > 0: self.cur_high = self.cur_low self.cur_low = max(low, self.cur_low / 10) else: self.cur_high = self.cur_low self.cur_low = max(low, self.cur_low * 10) self.ui_changing = True self.value = min(max(self.value, self.cur_low), self.cur_high) self.ui_changing = False self.update_range_ui() def increase_range(self, event): """ Increased the extent of the displayed range. """ factory = self.factory low, high = self.low, self.high if abs(self.cur_high) < 10: self.cur_low = max(-10, low) self.cur_high = min(10, high) elif self.cur_high > 0: self.cur_low = self.cur_high self.cur_high = min(high, self.cur_high * 10) else: self.cur_low = self.cur_high self.cur_high = min(high, self.cur_high / 10) self.ui_changing = True self.value = min(max(self.value, self.cur_low), self.cur_high) self.ui_changing = False self.update_range_ui() def _set_format(self): self._format = "%d" factory = self.factory low, high = self.cur_low, self.cur_high diff = high - low if factory.is_float: if diff > 99999: self._format = "%.2g" elif diff > 1: self._format = "%%.%df" % max(0, 4 - int(log10(high - low))) else: self._format = "%.3f" def get_error_control(self): """ Returns the editor's control for indicating error status. """ return self.control.text def _low_changed(self, low): if self.control is not None: if self.value < low: if self.factory.is_float: self.value = float(low) else: self.value = int(low) self.update_editor() def _high_changed(self, high): if self.control is not None: if self.value > high: if self.factory.is_float: self.value = float(high) else: self.value = int(high) self.update_editor() class SimpleSpinEditor(BaseRangeEditor): """ A simple style of range editor that displays a spin box control. """ # ------------------------------------------------------------------------- # Trait definitions: # ------------------------------------------------------------------------- #: Low value for the slider range low = Any() #: High value for the slider range high = Any() def init(self, parent): """ Finishes initializing the editor by creating the underlying toolkit widget. """ factory = self.factory if not factory.low_name: self.low = factory.low if not factory.high_name: self.high = factory.high self.sync_value(factory.low_name, "low", "from") self.sync_value(factory.high_name, "high", "from") low = self.low high = self.high self.control = wx.SpinCtrl( parent, -1, self.str_value, min=low, max=high, initial=self.value ) parent.Bind(wx.EVT_SPINCTRL, self.update_object, id=self.control.GetId()) self.set_tooltip() def update_object(self, event): """ Handles the user selecting a new value in the spin box. """ if self.control is None: return self._locked = True try: self.value = self.control.GetValue() finally: self._locked = False def update_editor(self): """ Updates the editor when the object trait changes externally to the editor. """ if not self._locked: try: self.control.SetValue(int(self.value)) except: pass def _low_changed(self, low): if self.value < low: if self.factory.is_float: self.value = float(low) else: self.value = int(low) if self.control: self.control.SetRange(self.low, self.high) self.control.SetValue(int(self.value)) def _high_changed(self, high): if self.value > high: if self.factory.is_float: self.value = float(high) else: self.value = int(high) if self.control: self.control.SetRange(self.low, self.high) self.control.SetValue(int(self.value)) class RangeTextEditor(TextEditor): """ Editor for ranges that displays a text field. If the user enters a value that is outside the allowed range, the background of the field changes color to indicate an error. """ # ------------------------------------------------------------------------- # Trait definitions: # ------------------------------------------------------------------------- #: Low value for the slider range low = Any() #: High value for the slider range high = Any() #: Function to evaluate floats/ints evaluate = Any() def init(self, parent): """ Finishes initializing the editor by creating the underlying toolkit widget. """ if not self.factory.low_name: self.low = self.factory.low if not self.factory.high_name: self.high = self.factory.high self.sync_value(self.factory.low_name, "low", "from") self.sync_value(self.factory.high_name, "high", "from") if self.factory.enter_set: control = wx.TextCtrl( parent, -1, self.str_value, style=wx.TE_PROCESS_ENTER ) parent.Bind(wx.EVT_TEXT_ENTER, self.update_object, id=control.GetId()) else: control = wx.TextCtrl(parent, -1, self.str_value) control.Bind(wx.EVT_KILL_FOCUS, self.update_object) if self.factory.auto_set: parent.Bind(wx.EVT_TEXT, self.update_object, id=control.GetId()) self.evaluate = self.factory.evaluate self.sync_value(self.factory.evaluate_name, "evaluate", "from") self.control = control self.set_tooltip() def update_object(self, event): """ Handles the user entering input data in the edit control. """ if isinstance(event, wx.FocusEvent): event.Skip() # It is possible the event is processed after the control is removed # from the editor if self.control is None: return value = self.control.GetValue() # Try to convert the string value entered by the user to a numerical # value. try: if self.evaluate is not None: value = self.evaluate(value) else: if self.factory.is_float: value = float(value) else: value = int(value) except Exception as excp: # The conversion failed. self.error(excp) return if value < self.low or value > self.high: self.set_error_state(True) return # Try to assign the numerical value to the trait. # This may fail because of constraints on the trait. try: self.value = value self.control.SetBackgroundColour(OKColor) self.control.Refresh() if self._error is not None: self._error = None self.ui.errors -= 1 except TraitError as excp: pass def error(self, excp): """ Handles an error that occurs while setting the object's trait value. """ if self._error is None: self._error = True self.ui.errors += 1 super().error(excp) self.set_error_state(True) def _low_changed(self, low): if self.value < low: if self.factory.is_float: self.value = float(low) else: self.value = int(low) if self.control: self.control.SetValue(int(self.value)) def _high_changed(self, high): if self.value > high: if self.factory.is_float: self.value = float(high) else: self.value = int(high) if self.control: self.control.SetValue(int(self.value)) def SimpleEnumEditor( parent, factory, ui, object, name, description, **kwargs ): return CustomEnumEditor( parent, factory, ui, object, name, description, "simple" ) def CustomEnumEditor( parent, factory, ui, object, name, description, style="custom", **kwargs ): """ Factory adapter that returns a enumeration editor of the specified style. """ if factory._enum is None: import traitsui.editors.enum_editor as enum_editor factory._enum = enum_editor.EnumEditor( values=list(range(factory.low, factory.high + 1)), cols=factory.cols, ) if style == "simple": return factory._enum.simple_editor( ui, object, name, description, parent ) return factory._enum.custom_editor(ui, object, name, description, parent) # ------------------------------------------------------------------------- # Defines the mapping between editor factory 'mode's and Editor classes: # ------------------------------------------------------------------------- # Mapping between editor factory modes and simple editor classes SimpleEditorMap = { "slider": SimpleSliderEditor, "xslider": LargeRangeSliderEditor, "spinner": SimpleSpinEditor, "enum": SimpleEnumEditor, "text": RangeTextEditor, "logslider": LogRangeSliderEditor, } # Mapping between editor factory modes and custom editor classes CustomEditorMap = { "slider": SimpleSliderEditor, "xslider": LargeRangeSliderEditor, "spinner": SimpleSpinEditor, "enum": CustomEnumEditor, "text": RangeTextEditor, "logslider": LogRangeSliderEditor, } traitsui-7.2.1/traitsui/wx/extra/0000755000076500000240000000000014046644526017434 5ustar aayresstaff00000000000000traitsui-7.2.1/traitsui/wx/extra/led_editor.py0000644000076500000240000000346214046644454022125 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! """ Traits UI 'display only' LED numeric editor. """ from wx.gizmos import ( LEDNumberCtrl, LED_ALIGN_LEFT, LED_ALIGN_CENTER, LED_ALIGN_RIGHT, ) from traits.api import Enum from traitsui.wx.editor import Editor from traitsui.basic_editor_factory import BasicEditorFactory # LED alignment styles: LEDStyles = { "left": LED_ALIGN_LEFT, "center": LED_ALIGN_CENTER, "right": LED_ALIGN_RIGHT, } class _LEDEditor(Editor): """ Traits UI 'display only' LED numeric editor. """ def init(self, parent): """ Finishes initializing the editor by creating the underlying toolkit widget. """ self.control = LEDNumberCtrl(parent, -1) self.control.SetAlignment(LEDStyles[self.factory.alignment]) self.set_tooltip() def update_editor(self): """ Updates the editor when the object trait changes externally to the editor. """ self.control.SetValue(self.str_value) # ------------------------------------------------------------------------- # Create the editor factory object: # ------------------------------------------------------------------------- # wxPython editor factory for LED editors: class LEDEditor(BasicEditorFactory): #: The editor class to be created: klass = _LEDEditor #: The alignment of the numeric text within the control: alignment = Enum("right", "left", "center") traitsui-7.2.1/traitsui/wx/extra/__init__.py0000644000076500000240000000000014046644454021533 0ustar aayresstaff00000000000000traitsui-7.2.1/traitsui/wx/extra/bounds_editor.py0000644000076500000240000001747514046644454022664 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! import wx from traits.api import Float, Any, Str, Either from traitsui.editors.api import RangeEditor from traitsui.wx.editor import Editor from traitsui.wx.helper import TraitsUIPanel, Slider class _BoundsEditor(Editor): evaluate = Any() min = Any() max = Any() low = Any() high = Any() format = Str() def init(self, parent): """ Finishes initializing the editor by creating the underlying toolkit widget. """ factory = self.factory if not factory.low_name: self.low = factory.low self.min = self.low if not factory.high_name: self.high = factory.high self.max = self.high self.max = factory.max self.min = factory.min self.format = factory.format self.evaluate = factory.evaluate self.sync_value(factory.evaluate_name, "evaluate", "from") self.sync_value(factory.low_name, "low", "both") self.sync_value(factory.high_name, "high", "both") self.control = panel = TraitsUIPanel(parent, -1) sizer = wx.FlexGridSizer(2, 3, 0, 0) # low text box self._label_lo = wx.TextCtrl( panel, -1, self.format % self.low, size=wx.Size(56, 20), style=wx.TE_PROCESS_ENTER, ) sizer.Add(self._label_lo, 0, wx.ALIGN_CENTER) self._label_lo.Bind(wx.EVT_TEXT_ENTER, self.update_low_on_enter) self._label_lo.Bind(wx.EVT_KILL_FOCUS, self.update_low_on_enter) # low slider self.control.lslider = Slider( panel, -1, 0, 0, 10000, size=wx.Size(100, 20), style=wx.SL_HORIZONTAL | wx.SL_AUTOTICKS, ) self.control.lslider.SetValue(self._convert_to_slider(self.low)) self.control.lslider.SetTickFreq(1000, 1) self.control.lslider.SetPageSize(1000) self.control.lslider.SetLineSize(100) self.control.lslider.Bind(wx.EVT_SCROLL, self.update_object_on_scroll) sizer.Add(self.control.lslider, 1, wx.EXPAND) sizer.AddStretchSpacer(0) # high slider sizer.AddStretchSpacer(0) self.control.rslider = Slider( panel, -1, self._convert_to_slider(self.high), 0, 10000, size=wx.Size(100, 20), style=wx.SL_HORIZONTAL | wx.SL_AUTOTICKS, ) self.control.rslider.SetTickFreq(1000, 1) self.control.rslider.SetPageSize(1000) self.control.rslider.SetLineSize(100) self.control.rslider.Bind(wx.EVT_SCROLL, self.update_object_on_scroll) sizer.Add(self.control.rslider, 1, wx.EXPAND) # high text box self._label_hi = wx.TextCtrl( panel, -1, self.format % self.high, size=wx.Size(56, 20), style=wx.TE_PROCESS_ENTER, ) sizer.Add(self._label_hi, 0, wx.ALIGN_CENTER) self._label_hi.Bind(wx.EVT_TEXT_ENTER, self.update_high_on_enter) self._label_hi.Bind(wx.EVT_KILL_FOCUS, self.update_high_on_enter) self.set_tooltip(self.control.lslider) self.set_tooltip(self.control.rslider) self.set_tooltip(self._label_lo) self.set_tooltip(self._label_hi) # Set-up the layout: panel.SetSizerAndFit(sizer) def dispose(self): self._label_hi.Unbind(wx.EVT_TEXT_ENTER) self._label_hi.Unbind(wx.EVT_KILL_FOCUS) self._label_lo.Unbind(wx.EVT_TEXT_ENTER) self._label_lo.Unbind(wx.EVT_KILL_FOCUS) def update_low_on_enter(self, event): if isinstance(event, wx.FocusEvent): event.Skip() try: try: low = eval(str(self._label_lo.GetValue()).strip()) if self.evaluate is not None: low = self.evaluate(low) except Exception as ex: low = self.low self._label_lo.SetValue(self.format % self.low) if not self.factory.is_float: low = int(low) if low > self.high: low = self.high - self._step_size() self._label_lo.SetValue(self.format % low) self.control.lslider.SetValue(self._convert_to_slider(low)) self.low = low except: pass def update_high_on_enter(self, event): if isinstance(event, wx.FocusEvent): event.Skip() try: try: high = eval(str(self._label_hi.GetValue()).strip()) if self.evaluate is not None: high = self.evaluate(high) except: high = self.high self._label_hi.SetValue(self.format % self.high) if not self.factory.is_float: high = int(high) if high < self.low: high = self.low + self._step_size() self._label_hi.SetValue(self.format % high) self.control.rslider.SetValue(self._convert_to_slider(high)) self.high = high except: pass def update_object_on_scroll(self, evt): low = self._convert_from_slider(self.control.lslider.GetValue()) high = self._convert_from_slider(self.control.rslider.GetValue()) if low >= high: if evt.Position == self.control.lslider.GetValue(): low = self.high - self._step_size() else: high = self.low + self._step_size() if self.factory.is_float: self.low = low self.high = high else: self.low = int(low) self.high = int(high) # update the sliders to the int values or the sliders # will jiggle self.control.lslider.SetValue(self._convert_to_slider(low)) self.control.rslider.SetValue(self._convert_to_slider(high)) def update_editor(self): return def _check_max_and_min(self): # check if max & min have been defined: if self.max is None: self.max = self.high if self.min is None: self.min = self.low def _step_size(self): slider_delta = ( self.control.lslider.GetMax() - self.control.lslider.GetMin() ) range_delta = self.max - self.min return float(range_delta) / slider_delta def _convert_from_slider(self, slider_val): self._check_max_and_min() return self.min + slider_val * self._step_size() def _convert_to_slider(self, value): self._check_max_and_min() return ( self.control.lslider.GetMin() + (value - self.min) / self._step_size() ) def _low_changed(self, low): if self.control is None: return if self._label_lo is not None: self._label_lo.SetValue(self.format % low) self.control.lslider.SetValue(self._convert_to_slider(low)) def _high_changed(self, high): if self.control is None: return if self._label_hi is not None: self._label_hi.SetValue(self.format % high) self.control.rslider.SetValue(self._convert_to_slider(self.high)) class BoundsEditor(RangeEditor): min = Either(None, Float) max = Either(None, Float) def _get_simple_editor_class(self): return _BoundsEditor def _get_custom_editor_class(self): return _BoundsEditor traitsui-7.2.1/traitsui/wx/extra/windows/0000755000076500000240000000000014046644526021126 5ustar aayresstaff00000000000000traitsui-7.2.1/traitsui/wx/extra/windows/flash_editor.py0000644000076500000240000000354414046644454024151 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! """ Traits UI MS Flash editor. """ import wx if wx.Platform == "__WXMSW__": from wx.lib.flashwin import FlashWindow from traitsui.wx.editor import Editor from traitsui.basic_editor_factory import BasicEditorFactory class _FlashEditor(Editor): """ Traits UI Flash editor. """ # ------------------------------------------------------------------------- # Trait definitions: # ------------------------------------------------------------------------- #: Is the table editor is scrollable? This value overrides the default. scrollable = True def init(self, parent): """ Finishes initializing the editor by creating the underlying toolkit widget. """ self.control = FlashWindow(parent) self.set_tooltip() def update_editor(self): """ Updates the editor when the object trait changes externally to the editor. """ value = self.str_value.strip() if value.find("://") < 0: value = "file://" + value wx.BeginBusyCursor() self.control.LoadMovie(0, value) wx.EndBusyCursor() # ------------------------------------------------------------------------- # Create the editor factory object: # ------------------------------------------------------------------------- # wxPython editor factory for Flash editors: class FlashEditor(BasicEditorFactory): #: The editor class to be created: klass = _FlashEditor traitsui-7.2.1/traitsui/wx/extra/windows/ie_html_editor.py0000644000076500000240000001773714046644454024506 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! """ Traits UI MS Internet Explorer editor. """ import re import webbrowser import wx if wx.Platform == "__WXMSW__": # The new version of IEHTMLWindow (wx 2.8.8.0) is mostly compatible with # the old one, but it has changed the API for handling COM events, so we # cannot use it. try: import wx.lib.iewin_old as iewin except ImportError: import wx.lib.iewin as iewin from traits.api import Bool, Event, Property, Str from traitsui.wx.editor import Editor from traitsui.basic_editor_factory import BasicEditorFactory # ------------------------------------------------------------------------- # Constants # ------------------------------------------------------------------------- RELATIVE_OBJECTS_PATTERN = re.compile( r'src=["\'](?!https?:)([\s\w/\.]+?)["\']', re.IGNORECASE ) class _IEHTMLEditor(Editor): """ Traits UI MS Internet Explorer editor. """ # ------------------------------------------------------------------------- # Trait definitions: # ------------------------------------------------------------------------- #: Is the table editor is scrollable? This value overrides the default. scrollable = True #: External objects referenced in the HTML are relative to this url base_url = Str() #: Event fired when the browser home page should be displayed: home = Event() #: Event fired when the browser should show the previous page: back = Event() #: Event fired when the browser should show the next page: forward = Event() #: Event fired when the browser should stop loading the current page: stop = Event() #: Event fired when the browser should refresh the current page: refresh = Event() #: Event fired when the browser should search the current page: search = Event() #: The current browser status: status = Str() #: The current browser page title: title = Str() #: The URL of the page that just finished loading: page_loaded = Str() #: The current page content as HTML: html = Property() def init(self, parent): """ Finishes initializing the editor by creating the underlying toolkit widget. """ self.control = ie = iewin.IEHtmlWindow( parent, -1, style=wx.NO_FULL_REPAINT_ON_RESIZE ) self.set_tooltip() factory = self.factory self.base_url = factory.base_url self.sync_value(factory.home, "home", "from") self.sync_value(factory.back, "back", "from") self.sync_value(factory.forward, "forward", "from") self.sync_value(factory.stop, "stop", "from") self.sync_value(factory.refresh, "refresh", "from") self.sync_value(factory.search, "search", "from") self.sync_value(factory.status, "status", "to") self.sync_value(factory.title, "title", "to") self.sync_value(factory.page_loaded, "page_loaded", "to") self.sync_value(factory.html, "html", "to") self.sync_value(factory.base_url_name, "base_url", "from") parent.Bind(iewin.EVT_StatusTextChange, ie, id=self._status_modified) parent.Bind(iewin.EVT_TitleChange, ie, id=self._title_modified) parent.Bind(iewin.EVT_DocumentComplete, ie, id=self._page_loaded_modified) parent.Bind(iewin.EVT_NewWindow2, ie, id=self._new_window_modified) parent.Bind(iewin.EVT_BeforeNavigate2, ie, id=self._navigate_requested) def update_editor(self): """ Updates the editor when the object trait changes externally to the editor. """ value = self.str_value.strip() # We can correct URLs via the BeforeNavigate Event, but the COM # interface provides no such option for images. Sadly, we are forced # to take a more brute force approach. if self.base_url: rep = lambda m: r'src="%s%s"' % (self.base_url, m.group(1)) value = re.sub(RELATIVE_OBJECTS_PATTERN, rep, value) if value == "": self.control.LoadString("") elif value[:1] == "<": self.control.LoadString(value) elif (value[:4] != "http") or (value.find("://") < 0): try: with open(value, "rb") as file: self.control.LoadStream(file) except: pass else: self.control.Navigate(value) # -- Property Implementations --------------------------------------------- def _get_html(self): return self.control.GetText() def _set_html(self, value): self.control.LoadString(value) # -- Event Handlers ------------------------------------------------------- def _home_changed(self): self.control.GoHome() def _back_changed(self): self.control.GoBack() def _forward_changed(self): self.control.GoForward() def _stop_changed(self): self.control.Stop() def _search_changed(self): self.control.GoSearch() def _refresh_changed(self): self.control.Refresh(iewin.REFRESH_COMPLETELY) def _status_modified(self, event): self.status = event.Text def _title_modified(self, event): self.title = event.Text def _page_loaded_modified(self, event): self.page_loaded = event.URL self.trait_property_changed("html", "", self.html) def _new_window_modified(self, event): # If the event is cancelled, new windows can be disabled. # At this point we've opted to allow new windows pass def _navigate_requested(self, event): # The way NavigateToString works is to navigate to about:blank then # load the supplied HTML into the document property. This borks # relative URLs. if event.URL.startswith("about:"): base = self.base_url if not base.endswith("/"): base += "/" event.URL = base + event.URL[6:] if self.factory.open_externally: event.Cancel = True webbrowser.get("windows-default").open_new(event.URL) # ------------------------------------------------------------------------- # Create the editor factory object: # ------------------------------------------------------------------------- # wxPython editor factory for MS Internet Explorer editors: class IEHTMLEditor(BasicEditorFactory): #: The editor class to be created: klass = _IEHTMLEditor #: External objects referenced in the HTML are relative to this url base_url = Str() #: The object trait containing the base URL base_url_name = Str() #: Should links be opened in an external browser? open_externally = Bool(False) #: Optional name of trait used to tell browser to show Home page: home = Str() #: Optional name of trait used to tell browser to view the previous page: back = Str() #: Optional name of trait used to tell browser to view the next page: forward = Str() #: Optional name of trait used to tell browser to stop loading page: stop = Str() #: Optional name of trait used to tell browser to refresh the current page: refresh = Str() #: Optional name of trait used to tell browser to search the current page: search = Str() #: Optional name of trait used to contain the current browser status: status = Str() #: Optional name of trait used to contain the current browser page title: title = Str() #: Optional name of trait used to contain the URL of the page that just #: completed loading: page_loaded = Str() #: Optional name of trait used to get/set the page content as HTML: html = Str() traitsui-7.2.1/traitsui/wx/extra/windows/__init__.py0000644000076500000240000000000014046644454023225 0ustar aayresstaff00000000000000traitsui-7.2.1/traitsui/wx/date_editor.py0000644000076500000240000007062714046644454021162 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! """ A Traits UI editor that wraps a WX calendar panel. Future Work ----------- The class needs to be extend to provide the four basic editor types, Simple, Custom, Text, and ReadOnly. """ import datetime import logging import wx import wx.adv from traitsui.wx.editor import Editor from traitsui.wx.constants import WindowColor from traitsui.wx.text_editor import ReadonlyEditor as TextReadonlyEditor logger = logging.getLogger(__name__) class SimpleEditor(Editor): """ Simple Traits UI date editor. Shows a text box, and a date-picker widget. """ def init(self, parent): """ Finishes initializing the editor by creating the underlying widget. """ date_widget = wx.adv.DatePickerCtrl self.control = date_widget( parent, size=(120, -1), style=wx.adv.DP_DROPDOWN | wx.adv.DP_SHOWCENTURY | wx.adv.DP_ALLOWNONE, ) self.control.Bind(wx.adv.EVT_DATE_CHANGED, self.day_selected) return def day_selected(self, event): """ Event for when calendar is selected, update/create date string. """ date = event.GetDate() # WX sometimes has year == 0 temporarily when doing state changes. if date.IsValid() and date.GetYear() != 0: year = date.GetYear() # wx 2.8.8 has 0-indexed months. month = date.GetMonth() + 1 day = date.GetDay() try: self.value = datetime.date(year, month, day) except ValueError: logger.exception("Invalid date: %d-%d-%d (y-m-d)", (year, month, day)) raise return def update_editor(self): """ Updates the editor when the object trait changes externally to the editor. """ if self.value: date = self.control.GetValue() # FIXME: A Trait assignment should support fixing an invalid # date in the widget. if date.IsValid(): # Important: set the day before setting the month, otherwise wx may fail # to set the month. date.SetYear(self.value.year) date.SetDay(self.value.day) # wx 2.8.8 has 0-indexed months. date.SetMonth(self.value.month - 1) self.control.SetValue(date) self.control.Refresh() return # ------------------------------------------------------------------------------ # -- Custom Editor # ------------------------------------------------------------------------------ SELECTED_FG = wx.Colour(255, 0, 0) UNAVAILABLE_FG = wx.Colour(192, 192, 192) DRAG_HIGHLIGHT_FG = wx.Colour(255, 255, 255) DRAG_HIGHLIGHT_BG = wx.Colour(128, 128, 255) try: MOUSE_BOX_FILL = wx.Colour(0, 0, 255, 32) NORMAL_HIGHLIGHT_FG = wx.Colour(0, 0, 0, 0) NORMAL_HIGHLIGHT_BG = wx.Colour(255, 255, 255, 0) # Alpha channel in wx.Colour does not exist prior to version 2.7.1.1 except TypeError: MOUSE_BOX_FILL = wx.Colour(0, 0, 255) NORMAL_HIGHLIGHT_FG = wx.Colour(0, 0, 0) NORMAL_HIGHLIGHT_BG = wx.Colour(255, 255, 255) class wxMouseBoxCalendarCtrl(wx.adv.CalendarCtrl): """ Subclass to add a mouse-over box-selection tool. Description ----------- Add a Mouse drag-box highlight feature that can be used by the CustomEditor to detect user selections. CalendarCtrl must be subclassed to get a device context to draw on top of the Calendar, otherwise the calendar widgets are always painted on top of the box during repaints. """ def __init__(self, *args, **kwargs): super().__init__(*args, **kwargs) self.selecting = False self.box_selected = [] self.sel_start = (0, 0) self.sel_end = (0, 0) self.Bind(wx.EVT_RIGHT_DOWN, self.start_select) self.Bind(wx.EVT_RIGHT_UP, self.end_select) self.Bind(wx.EVT_LEAVE_WINDOW, self.end_select) self.Bind(wx.EVT_MOTION, self.on_select) self.Bind(wx.EVT_PAINT, self.on_paint) self.Bind(wx.adv.EVT_CALENDAR_SEL_CHANGED, self.highlight_changed) def boxed_days(self): """ Compute the days that are under the box selection. Returns ------- A list of wx.DateTime objects under the mouse box. """ x1, y1 = self.sel_start x2, y2 = self.sel_end if x1 > x2: x1, x2 = x2, x1 if y1 > y2: y1, y2 = y2, y1 grid = [] for i in range(x1, x2, 15): for j in range(y1, y2, 15): grid.append(wx.Point(i, j)) grid.append(wx.Point(i, y2)) # Avoid jitter along the edge since the final points change. for j in range(y1, y2, 20): grid.append(wx.Point(x2, j)) grid.append(wx.Point(x2, y2)) selected_days = [] for point in grid: (result, date, weekday) = self.HitTest(point) if result == wx.adv.CAL_HITTEST_DAY: if date not in selected_days: selected_days.append(date) return selected_days def highlight_changed(self, event=None): """ Hide the default highlight to take on the selected date attr. Description ----------- A feature of the wx CalendarCtrl is that there are selected days, that always are shown and the user can move around with left-click. But it's confusing and misleading when there are multiple CalendarCtrl objects linked in one editor. So we hide the highlights in this CalendarCtrl by making it mimic the attribute of the selected day. Highlights apparently can't take on a border style, so to be truly invisible, normal days cannot have borders. """ if event: event.Skip() date = self.GetDate() attr = self.GetAttr(date.GetDay()) if attr is None: bg_color = NORMAL_HIGHLIGHT_BG fg_color = NORMAL_HIGHLIGHT_FG else: bg_color = attr.GetBackgroundColour() fg_color = attr.GetTextColour() self.SetHighlightColours(fg_color, bg_color) self.Refresh() return # -- event handlers -------------------------------------------------------- def start_select(self, event): event.Skip() self.selecting = True self.box_selected = [] self.sel_start = (event.m_x, event.m_y) self.sel_end = self.sel_start def end_select(self, event): event.Skip() self.selecting = False self.Refresh() def on_select(self, event): event.Skip() if not self.selecting: return self.sel_end = (event.m_x, event.m_y) self.box_selected = self.boxed_days() self.Refresh() def on_paint(self, event): event.Skip() dc = wx.PaintDC(self) if not self.selecting: return x = self.sel_start[0] y = self.sel_start[1] w = self.sel_end[0] - x h = self.sel_end[1] - y gc = wx.GraphicsContext.Create(dc) pen = gc.CreatePen(wx.BLACK_PEN) gc.SetPen(pen) points = [(x, y), (x + w, y), (x + w, y + h), (x, y + h), (x, y)] gc.DrawLines(points) brush = gc.CreateBrush(wx.Brush(MOUSE_BOX_FILL)) gc.SetBrush(brush) gc.DrawRectangle(x, y, w, h) class MultiCalendarCtrl(wx.Panel): """ WX panel containing calendar widgets for use by the CustomEditor. Description ----------- Handles multi-selection of dates by special handling of the wxMouseBoxCalendarCtrl widget. Doing single-select across multiple calendar widgets is also supported though most of the interesting functionality is then unused. """ def __init__( self, parent, ID, editor, multi_select, shift_to_select, on_mixed_select, allow_future, months, padding, *args, **kwargs ): super().__init__(parent, ID, *args, **kwargs) self.sizer = wx.BoxSizer() self.SetSizer(self.sizer) self.SetBackgroundColour(WindowColor) self.date = wx.DateTime.Now() self.today = self.date_from_datetime(self.date) # Object attributes self.multi_select = multi_select self.shift_to_select = shift_to_select self.on_mixed_select = on_mixed_select self.allow_future = allow_future self.editor = editor self.selected_days = editor.value self.months = months self.padding = padding self.cal_ctrls = [] # State to remember when a user is doing a shift-click selection. self._first_date = None self._drag_select = [] self._box_select = [] # Set up the individual month frames. for i in range(-(self.months - 1), 1): cal = self._make_calendar_widget(i) self.cal_ctrls.insert(0, cal) if i != 0: self.sizer.AddSpacer(padding) # Initial painting self.selected_list_changed() return def date_from_datetime(self, dt): """ Convert a wx DateTime object to a Python Date object. Parameters ---------- dt : wx.DateTime A valid date to convert to a Python Date object """ new_date = datetime.date(dt.GetYear(), dt.GetMonth() + 1, dt.GetDay()) return new_date def datetime_from_date(self, date): """ Convert a Python Date object to a wx DateTime object. Ignores time. Parameters ---------- date : datetime.Date object A valid date to convert to a wx.DateTime object. Since there is no time information in a Date object the defaults of DateTime are used. """ dt = wx.DateTime() dt.SetYear(date.year) dt.SetMonth(date.month - 1) dt.SetDay(date.day) return dt def shift_datetime(self, old_date, months): """ Create a new DateTime from *old_date* with an offset number of *months*. Parameters ---------- old_date : DateTime The old DateTime to make a date copy of. Does not copy time. months : int A signed int to add or subtract from the old date months. Does not support jumping more than 12 months. """ new_date = wx.DateTime() new_month = old_date.GetMonth() + months new_year = old_date.GetYear() if new_month < 0: new_month += 12 new_year -= 1 elif new_month > 11: new_month -= 12 new_year += 1 new_day = min(old_date.GetDay(), 28) new_date.Set(new_day, new_month, new_year) return new_date def selected_list_changed(self, evt=None): """ Update the date colors of the days in the widgets. """ for cal in self.cal_ctrls: cur_month = cal.GetDate().GetMonth() + 1 cur_year = cal.GetDate().GetYear() selected_days = self.selected_days # When multi_select is False wrap in a list to pass the for-loop. if not self.multi_select: if selected_days is None: selected_days = [] else: selected_days = [selected_days] # Reset all the days to the correct colors. for day in range(1, 32): try: paint_day = datetime.date(cur_year, cur_month, day) if not self.allow_future and paint_day > self.today: attr = wx.adv.CalendarDateAttr( colText=UNAVAILABLE_FG ) cal.SetAttr(day, attr) elif paint_day in selected_days: attr = wx.adv.CalendarDateAttr( colText=SELECTED_FG ) cal.SetAttr(day, attr) else: cal.ResetAttr(day) except ValueError: # Blindly creating Date objects sometimes produces invalid. pass cal.highlight_changed() return def _make_calendar_widget(self, month_offset): """ Add a calendar widget to the screen and hook up callbacks. Parameters ---------- month_offset : int The number of months from today, that the calendar should start at. """ date = self.shift_datetime(self.date, month_offset) panel = wx.Panel(self, -1) cal = wxMouseBoxCalendarCtrl( panel, -1, date, style=wx.adv.CAL_SUNDAY_FIRST | wx.adv.CAL_SEQUENTIAL_MONTH_SELECTION # | wx.adv.CAL_SHOW_HOLIDAYS ) self.sizer.Add(panel) cal.highlight_changed() # Set up control to sync the other calendar widgets and coloring: cal.Bind(wx.adv.EVT_CALENDAR_MONTH, self.month_changed) cal.Bind(wx.adv.EVT_CALENDAR_YEAR, self.month_changed) cal.Bind(wx.EVT_LEFT_DOWN, self._left_down) if self.multi_select: cal.Bind(wx.EVT_LEFT_UP, self._left_up) cal.Bind(wx.EVT_RIGHT_UP, self._process_box_select) cal.Bind(wx.EVT_LEAVE_WINDOW, self._process_box_select) cal.Bind(wx.EVT_MOTION, self._mouse_drag) self.Bind( wx.adv.EVT_CALENDAR_WEEKDAY_CLICKED, self._weekday_clicked, cal, ) return cal def unhighlight_days(self, days): """ Turn off all highlights in all cals, but leave any selected color. Parameters ---------- days : List(Date) The list of dates to add. Possibly includes dates in the future. """ for cal in self.cal_ctrls: c = cal.GetDate() for date in days: if date.year == c.GetYear() and date.month == c.GetMonth() + 1: # Unselected days either need to revert to the # unavailable color, or the default attribute color. if not self.allow_future and ( (date.year, date.month, date.day) > (self.today.year, self.today.month, self.today.day) ): attr = wx.adv.CalendarDateAttr( colText=UNAVAILABLE_FG ) else: attr = wx.adv.CalendarDateAttr( colText=NORMAL_HIGHLIGHT_FG, colBack=NORMAL_HIGHLIGHT_BG, ) if date in self.selected_days: attr.SetTextColour(SELECTED_FG) cal.SetAttr(date.day, attr) cal.highlight_changed() return def highlight_days(self, days): """ Color the highlighted list of days across all calendars. Parameters ---------- days : List(Date) The list of dates to add. Possibly includes dates in the future. """ for cal in self.cal_ctrls: c = cal.GetDate() for date in days: if date.year == c.GetYear() and date.month == c.GetMonth() + 1: attr = wx.adv.CalendarDateAttr( colText=DRAG_HIGHLIGHT_FG, colBack=DRAG_HIGHLIGHT_BG ) cal.SetAttr(date.day, attr) cal.highlight_changed() cal.Refresh() def add_days_to_selection(self, days): """ Add a list of days to the selection, using a specified style. Parameters ---------- days : List(Date) The list of dates to add. Possibly includes dates in the future. Description ----------- When a user multi-selects entries and some of those entries are already selected and some are not, what should be the behavior for the seletion? Options:: 'toggle' -- Toggle each day to it's opposite state. 'on' -- Always turn them on. 'off' -- Always turn them off. 'max_change' -- Change all to same state, with most days changing. For example 1 selected and 9 not, then they would all get selected. 'min_change' -- Change all to same state, with min days changing. For example 1 selected and 9 not, then they would all get unselected. """ if not days: return style = self.on_mixed_select new_list = list(self.selected_days) if style == "toggle": for day in days: if self.allow_future or day <= self.today: if day in new_list: new_list.remove(day) else: new_list.append(day) else: already_selected = len([day for day in days if day in new_list]) if style == "on" or already_selected == 0: add_items = True elif style == "off" or already_selected == len(days): add_items = False elif self.on_mixed_select == "max_change" and already_selected <= ( len(days) / 2.0 ): add_items = True elif self.on_mixed_select == "min_change" and already_selected > ( len(days) / 2.0 ): add_items = True else: # Cases where max_change is off or min_change off. add_items = False for day in days: # Skip if we don't allow future, and it's a future day. if self.allow_future or day <= self.today: if add_items and day not in new_list: new_list.append(day) elif not add_items and day in new_list: new_list.remove(day) self.selected_days = new_list # Link the list back to the model to make a Traits List change event. self.editor.value = new_list return def single_select_day(self, dt): """ In non-multiselect switch the selection to a new date. Parameters ---------- dt : wx.DateTime The newly selected date that should become the new calendar selection. Description ----------- Only called when we're using the single-select mode of the calendar widget, so we can assume that the selected_dates is a None or a Date singleton. """ selection = self.date_from_datetime(dt) if dt.IsValid() and (self.allow_future or selection <= self.today): self.selected_days = selection self.selected_list_changed() # Modify the trait on the editor so that the events propagate. self.editor.value = self.selected_days return def _shift_drag_update(self, event): """ Shift-drag in progress. """ cal = event.GetEventObject() result, dt, weekday = cal.HitTest(event.GetPosition()) self.unhighlight_days(self._drag_select) self._drag_select = [] # Prepare for an abort, don't highlight new selections. if ( self.shift_to_select and not event.ShiftDown() ) or result != wx.adv.CAL_HITTEST_DAY: cal.highlight_changed() for cal in self.cal_ctrls: cal.Refresh() return # Construct the list of selections. last_date = self.date_from_datetime(dt) if last_date <= self._first_date: first, last = last_date, self._first_date else: first, last = self._first_date, last_date while first <= last: if self.allow_future or first <= self.today: self._drag_select.append(first) first = first + datetime.timedelta(1) self.highlight_days(self._drag_select) return # ------------------------------------------------------------------------ # Event handlers # ------------------------------------------------------------------------ def _process_box_select(self, event): """ Possibly move the calendar box-selected days into our selected days. """ event.Skip() self.unhighlight_days(self._box_select) if not event.Leaving(): self.add_days_to_selection(self._box_select) self.selected_list_changed() self._box_select = [] def _weekday_clicked(self, evt): """ A day on the weekday bar has been clicked. Select all days. """ evt.Skip() weekday = evt.GetWeekDay() cal = evt.GetEventObject() month = cal.GetDate().GetMonth() + 1 year = cal.GetDate().GetYear() days = [] # Messy math to compute the dates of each weekday in the month. # Python uses Monday=0, while wx uses Sunday=0. month_start_weekday = (datetime.date(year, month, 1).weekday() + 1) % 7 weekday_offset = (weekday - month_start_weekday) % 7 for day in range(weekday_offset, 31, 7): try: day = datetime.date(year, month, day + 1) if self.allow_future or day <= self.today: days.append(day) except ValueError: pass self.add_days_to_selection(days) self.selected_list_changed() return def _left_down(self, event): """ Handle user selection of days. """ event.Skip() cal = event.GetEventObject() result, dt, weekday = cal.HitTest(event.GetPosition()) if result == wx.adv.CAL_HITTEST_DAY and not self.multi_select: self.single_select_day(dt) return # Inter-month-drag selection. A quick no-movement mouse-click is # equivalent to a multi-select of a single day. if ( result == wx.adv.CAL_HITTEST_DAY and (not self.shift_to_select or event.ShiftDown()) and not cal.selecting ): self._first_date = self.date_from_datetime(dt) self._drag_select = [self._first_date] # Start showing the highlight colors with a mouse_drag event. self._mouse_drag(event) return def _left_up(self, event): """ Handle the end of a possible run-selection. """ event.Skip() cal = event.GetEventObject() result, dt, weekday = cal.HitTest(event.GetPosition()) # Complete a drag-select operation. if ( result == wx.adv.CAL_HITTEST_DAY and (not self.shift_to_select or event.ShiftDown()) and self._first_date ): last_date = self.date_from_datetime(dt) if last_date <= self._first_date: first, last = last_date, self._first_date else: first, last = self._first_date, last_date newly_selected = [] while first <= last: newly_selected.append(first) first = first + datetime.timedelta(1) self.add_days_to_selection(newly_selected) self.unhighlight_days(newly_selected) # Reset a drag-select operation, even if it wasn't completed because # of a loss of focus or the Shift key prematurely released. self._first_date = None self._drag_select = [] self.selected_list_changed() return def _mouse_drag(self, event): """ Called when the mouse in being dragged within the main panel. """ event.Skip() cal = event.GetEventObject() if not cal.selecting and self._first_date: self._shift_drag_update(event) if cal.selecting: self.unhighlight_days(self._box_select) self._box_select = [ self.date_from_datetime(dt) for dt in cal.boxed_days() ] self.highlight_days(self._box_select) return def month_changed(self, evt=None): """ Link the calendars together so if one changes, they all change. TODO: Maybe wx.adv.CAL_HITTEST_INCMONTH could be checked and the event skipped, rather than now where we undo the update after the event has gone through. """ evt.Skip() cal_index = self.cal_ctrls.index(evt.GetEventObject()) current_date = self.cal_ctrls[cal_index].GetDate() for i, cal in enumerate(self.cal_ctrls): # Current month is already updated, just need to shift the others if i != cal_index: new_date = self.shift_datetime(current_date, cal_index - i) cal.SetDate(new_date) cal.highlight_changed() # Back-up if we're not allowed to move into future months. if not self.allow_future: month = self.cal_ctrls[0].GetDate().GetMonth() + 1 year = self.cal_ctrls[0].GetDate().GetYear() if (year, month) > (self.today.year, self.today.month): for i, cal in enumerate(self.cal_ctrls): new_date = self.shift_datetime(wx.DateTime.Now(), -i) cal.SetDate(new_date) cal.highlight_changed() # Redraw the selected days. self.selected_list_changed() class CustomEditor(Editor): """ Show multiple months with MultiCalendarCtrl. Allow multi-select. Trait Listeners --------------- The wx editor directly modifies the *value* trait of the Editor, which is the named trait of the corresponding Item in your View. Therefore you can listen for changes to the user's selection by directly listening to the item changed event. TODO ---- Some more listeners need to be hooked up. For example, in single-select mode, changing the value does not cause the calendar to update. Also, the selection-add and remove is noisy, triggering an event for each addition rather than waiting until everything has been added and removed. Sample ------ Example usage:: class DateListPicker(HasTraits): calendar = List() traits_view = View(Item('calendar', editor=DateEditor(), style='custom', show_label=False)) """ # -- Editor interface ------------------------------------------------------ def init(self, parent): """ Finishes initializing the editor by creating the underlying widget. """ if self.factory.multi_select and not isinstance(self.value, list): raise ValueError("Multi-select is True, but editing a non-list.") elif not self.factory.multi_select and isinstance(self.value, list): raise ValueError("Multi-select is False, but editing a list.") calendar_ctrl = MultiCalendarCtrl( parent, -1, self, self.factory.multi_select, self.factory.shift_to_select, self.factory.on_mixed_select, self.factory.allow_future, self.factory.months, self.factory.padding, ) self.control = calendar_ctrl return def update_editor(self): """ Updates the editor when the object trait changes externally to the editor. """ self.control.selected_list_changed() return # TODO: Write me. Possibly use TextEditor as a model to show a string # representation of the date, and have enter-set do a date evaluation. class TextEditor(SimpleEditor): pass class ReadonlyEditor(TextReadonlyEditor): """ Use a TextEditor for the view. """ def _get_str_value(self): """ Replace the default string value with our own date verision. """ if not self.value: return self.factory.message else: return self.value.strftime(self.factory.strftime) traitsui-7.2.1/traitsui/wx/table_editor.py0000644000076500000240000015362314046644454021332 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! """ Defines the table editor for the wxPython user interface toolkit. """ from operator import itemgetter import wx from pyface.dock.api import ( DockWindow, DockSizer, DockSection, DockRegion, DockControl, ) from pyface.image_resource import ImageResource from pyface.timer.api import do_later from pyface.ui.wx.grid.api import Grid from traits.api import ( Int, List, Instance, Str, Any, Button, Tuple, HasPrivateTraits, Bool, Event, Property, ) from traitsui.api import ( View, Item, UI, InstanceEditor, EnumEditor, Handler, SetEditor, ListUndoItem, ) from traitsui.editors.table_editor import BaseTableEditor, customize_filter from traitsui.menu import Action, ToolBar from traitsui.table_column import TableColumn, ObjectColumn from traitsui.table_filter import TableFilter from traitsui.ui_traits import SequenceTypes from .constants import ( TableCellBackgroundColor, TableCellColor, TableLabelBackgroundColor, TableLabelColor, TableReadOnlyBackgroundColor, TableSelectionBackgroundColor, TableSelectionTextColor, ) from .editor import Editor from .table_model import TableModel, TraitGridSelection from .helper import TraitsUIPanel #: Mapping from TableEditor selection modes to Grid selection modes: GridModes = { "row": "rows", "rows": "rows", "column": "cols", "columns": "cols", "cell": "cell", "cells": "cell", } def _get_color(color, default_color): """ Return the color if it is not None, otherwise use default. """ if color is not None: return color return default_color class TableEditor(Editor, BaseTableEditor): """ Editor that presents data in a table. Optionally, tables can have a set of filters that reduce the set of data displayed, according to their criteria. """ # ------------------------------------------------------------------------- # Trait definitions: # ------------------------------------------------------------------------- #: The set of columns currently defined on the editor: columns = List(Instance(TableColumn)) #: Index of currently edited (i.e., selected) table item(s): selected_row_index = Int(-1) selected_row_indices = List(Int) selected_indices = Property() selected_column_index = Int(-1) selected_column_indices = List(Int) selected_cell_index = Tuple(Int, Int) selected_cell_indices = List(Tuple(Int, Int)) #: The currently selected table item(s): selected_row = Any() selected_rows = List() selected_items = Property() selected_column = Any() selected_columns = List() selected_cell = Tuple(Any, Str) selected_cells = List(Tuple(Any, Str)) selected_values = Property() #: The indices of the table items currently passing the table filter: filtered_indices = List(Int) #: The event fired when a cell is clicked on: click = Event() #: The event fired when a cell is double-clicked on: dclick = Event() #: Is the editor in row mode (i.e. not column or cell mode)? in_row_mode = Property() #: Is the editor in column mode (i.e. not row or cell mode)? in_column_mode = Property() #: Current filter object (should be a TableFilter or callable or None): filter = Any() #: The grid widget associated with the editor: grid = Instance(Grid) #: The table model associated with the editor: model = Instance(TableModel) #: TableEditorToolbar associated with the editor: toolbar = Any() #: The Traits UI associated with the table editor toolbar: toolbar_ui = Instance(UI) #: Is the table editor scrollable? This value overrides the default. scrollable = True #: Is 'auto_add' mode in effect? (I.e., new rows are automatically added to #: the end of the table when the user modifies current last row.) auto_add = Bool(False) def init(self, parent): """ Finishes initializing the editor by creating the underlying toolkit widget. """ factory = self.factory self.filter = factory.filter self.auto_add = factory.auto_add and (factory.row_factory is not None) columns = factory.columns[:] if (len(columns) == 0) and (len(self.value) > 0): columns = [ ObjectColumn(name=name) for name in self.value[0].editable_traits() ] self.columns = columns self.model = model = TableModel(editor=self, reverse=factory.reverse) model.on_trait_change(self._model_sorted, "sorted", dispatch="ui") mode = factory.selection_mode row_mode = mode in ("row", "rows") selected = None items = model.get_filtered_items() if factory.editable and (len(items) > 0): selected = items[0] if (factory.edit_view == " ") or (not row_mode): self.control = panel = TraitsUIPanel(parent, -1) sizer = wx.BoxSizer(wx.VERTICAL) self._create_toolbar(panel, sizer) # Create the table (i.e. grid) control: hsizer = wx.BoxSizer(wx.HORIZONTAL) self._create_grid(panel, hsizer) sizer.Add(hsizer, 1, wx.EXPAND) else: item = self.item name = item.get_label(self.ui) theme = factory.dock_theme or item.container.dock_theme self.control = dw = DockWindow(parent, theme=theme).control panel = TraitsUIPanel(dw, -1, size=(300, 300)) sizer = wx.BoxSizer(wx.VERTICAL) dc = DockControl( name=name + " Table", id="table", control=panel, style="fixed" ) contents = [DockRegion(contents=[dc])] self._create_toolbar(panel, sizer) selected = None items = model.get_filtered_items() if factory.editable and (len(items) > 0): selected = items[0] # Create the table (i.e. grid) control: hsizer = wx.BoxSizer(wx.HORIZONTAL) self._create_grid(panel, hsizer) sizer.Add(hsizer, 1, wx.EXPAND) # Assign the initial object here, so a valid editor will be built # when the 'edit_traits' call is made: self.selected_row = selected self._ui = ui = self.edit_traits( parent=dw, kind="subpanel", view=View( [ Item( "selected_row", style="custom", editor=InstanceEditor( view=factory.edit_view, kind="subpanel" ), resizable=True, width=factory.edit_view_width, height=factory.edit_view_height, ), "|<>", ], resizable=True, handler=factory.edit_view_handler, ), ) # Set the parent UI of the new UI to our own UI: ui.parent = self.ui # Reset the object so that the sub-sub-view will pick up the # correct history also: self.selected_row = None self.selected_row = selected dc.style = item.dock contents.append( DockRegion( contents=[ DockControl( name=name + " Editor", id="editor", control=ui.control, style=item.dock, ) ] ) ) # Finish setting up the DockWindow: dw.SetSizer( DockSizer( contents=DockSection( contents=contents, is_row=(factory.orientation == "horizontal"), ) ) ) # Set up the required externally synchronized traits (if any): sv = self.sync_value is_list = mode[-1] == "s" sv(factory.click, "click", "to") sv(factory.dclick, "dclick", "to") sv(factory.filter_name, "filter", "from") sv(factory.columns_name, "columns", is_list=True) sv(factory.filtered_indices, "filtered_indices", "to") sv(factory.selected, "selected_%s" % mode, is_list=is_list) if is_list: sv( factory.selected_indices, "selected_%s_indices" % mode[:-1], is_list=True, ) else: sv(factory.selected_indices, "selected_%s_index" % mode) # Listen for the selection changing on the grid: self.grid.on_trait_change( getattr(self, "_selection_%s_updated" % mode), "selection_changed", dispatch="ui", ) # Set the min height of the grid panel to 0, this will provide # a scrollbar if the window is resized such that only the first row # is visible panel.SetMinSize((-1, 0)) # Finish the panel layout setup: panel.SetSizer(sizer) def _create_grid(self, parent, sizer): """ Creates the associated grid control used to implement the table. """ factory = self.factory selection_mode = GridModes[factory.selection_mode] if factory.selection_bg_color is None: selection_mode = "" cell_color = _get_color(factory.cell_color, TableCellColor) cell_bg_color = _get_color( factory.cell_bg_color, TableCellBackgroundColor ) cell_read_only_bg_color = _get_color( factory.cell_read_only_bg_color, TableReadOnlyBackgroundColor ) label_bg_color = _get_color( factory.label_bg_color, TableLabelBackgroundColor ) label_color = _get_color(factory.label_color, TableLabelColor) selection_text_color = _get_color( factory.selection_color, TableSelectionTextColor ) selection_bg_color = _get_color( factory.selection_bg_color, TableSelectionBackgroundColor ) self.grid = grid = Grid( parent, model=self.model, enable_lines=factory.show_lines, grid_line_color=factory.line_color, show_row_headers=factory.show_row_labels, show_column_headers=factory.show_column_labels, default_cell_font=factory.cell_font, default_cell_text_color=cell_color, default_cell_bg_color=cell_bg_color, default_cell_read_only_color=cell_read_only_bg_color, default_label_font=factory.label_font, default_label_text_color=label_color, default_label_bg_color=label_bg_color, selection_bg_color=selection_bg_color, selection_text_color=selection_text_color, autosize=factory.auto_size, read_only=not factory.editable, edit_on_first_click=factory.edit_on_first_click, selection_mode=selection_mode, allow_column_sort=factory.sortable, allow_row_sort=False, column_label_height=factory.column_label_height, row_label_width=factory.row_label_width, ) _grid = grid._grid _grid.SetScrollLineY(factory.scroll_dy) # Set the default size for each table row: height = factory.row_height if height <= 0: height = _grid.GetTextExtent("My")[1] + 9 _grid.SetDefaultRowSize(height) # Allow the table to be resizable if the user did not explicitly # specify a number of rows to display: self.scrollable = factory.rows == 0 # Calculate a reasonable default size for the table: if len(self.model.get_filtered_items()) > 0: height = _grid.GetRowSize(0) max_rows = factory.rows or 15 min_width = max(150, 80 * len(self.columns)) if factory.show_column_labels: min_height = _grid.GetColLabelSize() + (max_rows * height) else: min_height = max_rows * height _grid.SetMinSize(wx.Size(min_width, min_height)) # On Linux, there is what appears to be a bug in wx in which the # vertical scrollbar will not be sized properly if the TableEditor is # sized to be shorter than the minimum height specified above. Since # this height is only set to ensure that the TableEditor is sized # correctly during the initial UI layout, we un-set it after this takes # place (addresses ticket 1810) def clear_minimum_height(info): min_size = _grid.GetMinSize() min_size.height = 0 _grid.SetMinSize(min_size) self.ui.add_defined(clear_minimum_height) sizer.Add(grid.control, 1, wx.EXPAND) return grid.control def _create_toolbar(self, parent, sizer): """ Creates the table editing toolbar. """ factory = self.factory if not factory.show_toolbar: return toolbar = TableEditorToolbar(parent=parent, editor=self) if (toolbar.control is not None) or (len(factory.filters) > 0): tb_sizer = wx.BoxSizer(wx.HORIZONTAL) if len(factory.filters) > 0: view = View( [ Item( "filter<250>{View}", editor=factory._filter_editor ), "_", Item( "filter_summary<100>{Results}~", object="model", resizable=False, ), "_", "-", ], resizable=True, ) self.toolbar_ui = ui = view.ui( context={"object": self, "model": self.model}, parent=parent, kind="subpanel", ).trait_set(parent=self.ui) tb_sizer.Add(ui.control, 0) if toolbar.control is not None: self.toolbar = toolbar # add padding so the toolbar is right aligned tb_sizer.Add((1, 1), 1, wx.EXPAND) tb_sizer.Add(toolbar.control, 0) sizer.Add(tb_sizer, 0, wx.EXPAND) def dispose(self): """ Disposes of the contents of an editor. """ if self.toolbar_ui is not None: self.toolbar_ui.dispose() if self._ui is not None: self._ui.dispose() self.grid.on_trait_change( getattr( self, "_selection_%s_updated" % self.factory.selection_mode ), "selection_changed", remove=True, ) self.model.on_trait_change(self._model_sorted, "sorted", remove=True) self.grid.dispose() self.model.dispose() # Break any links needed to allow garbage collection: self.grid = self.model = self.toolbar = None super().dispose() def update_editor(self): """ Updates the editor when the object trait changes externally to the editor. """ # fixme: Do we need to override this method? pass def refresh(self): """ Refreshes the editor control. """ self.grid._grid.Refresh() def set_selection(self, objects=[], notify=True): """ Sets the current selection to a set of specified objects. """ if not isinstance(objects, SequenceTypes): objects = [objects] self.grid.set_selection( [TraitGridSelection(obj=object) for object in objects], notify=notify, ) def set_extended_selection(self, *pairs): """ Sets the current selection to a set of specified object/column pairs. """ if (len(pairs) == 1) and isinstance(pairs[0], list): pairs = pairs[0] grid_selections = [ TraitGridSelection(obj=object, name=name) for object, name in pairs ] self.grid.set_selection(grid_selections) def create_new_row(self): """ Creates a new row object using the provided factory. """ factory = self.factory kw = factory.row_factory_kw.copy() if "__table_editor__" in kw: kw["__table_editor__"] = self return self.ui.evaluate( factory.row_factory, *factory.row_factory_args, **kw ) def add_row(self, object=None, index=None): """ Adds a specified object as a new row after the specified index. """ filtered_items = self.model.get_filtered_items if index is None: indices = self.selected_indices if len(indices) == 0: indices = [len(filtered_items()) - 1] indices.reverse() else: indices = [index] if object is None: objects = [] for index in indices: object = self.create_new_row() if object is None: if self.in_row_mode: self.set_selection() return objects.append(object) else: objects = [object] items = [] insert_item_after = self.model.insert_filtered_item_after in_row_mode = self.in_row_mode for i, index in enumerate(indices): object = objects[i] index, extend = insert_item_after(index, object) if in_row_mode and (object in filtered_items()): items.append(object) self._add_undo( ListUndoItem( object=self.object, name=self.name, index=index, added=[object], ), extend, ) if in_row_mode: self.set_selection(items) def move_column(self, from_column, to_column): """ Moves the specified **from_column** from its current position to just preceding the specified **to_column**. """ columns = self.columns frm = columns.index(from_column) if to_column is None: to = len(columns) else: to = columns.index(to_column) del columns[frm] columns.insert(to - (frm < to), from_column) return True # -- Property Implementations --------------------------------------------- def _get_selected_indices(self): sm = self.factory.selection_mode if sm == "rows": return self.selected_row_indices elif sm == "row": index = self.selected_row_index if index >= 0: return [index] elif sm == "cells": return list({row_col[0] for row_col in self.selected_cell_indices}) elif sm == "cell": index = self.selected_cell_index[0] if index >= 0: return [index] return [] def _get_selected_items(self): sm = self.factory.selection_mode if sm == "rows": return self.selected_rows elif sm == "row": item = self.selected_row if item is not None: return [item] elif sm == "cells": return list({item_name[0] for item_name in self.selected_cells}) elif sm == "cell": item = self.selected_cell[0] if item is not None: return [item] return [] def _get_selected_values(self): if self.in_row_mode: return [(item, "") for item in self.selected_items] if self.in_column_mode: if self.factory.selection_mode == "columns": return [(None, column) for column in self.selected_columns] column = self.selected_column if column != "": return [(None, column)] return [] if self.factory.selection_mode == "cells": return self.selected_cells item = self.selected_cell if item[0] is not None: return [item] return [] def _get_in_row_mode(self): return self.factory.selection_mode in ("row", "rows") def _get_in_column_mode(self): return self.factory.selection_mode in ("column", "columns") # -- UI preference save/restore interface --------------------------------- def restore_prefs(self, prefs): """ Restores any saved user preference information associated with the editor. """ factory = self.factory try: filters = prefs.get("filters", None) if filters is not None: factory.filters = [ f for f in factory.filters if f.template ] + [f for f in filters if not f.template] columns = prefs.get("columns") if columns is not None: new_columns = [] all_columns = self.columns + factory.other_columns for column in columns: for column2 in all_columns: if column == column2.get_label(): new_columns.append(column2) break self.columns = new_columns # Restore the column sizes if possible: if not factory.auto_size: widths = prefs.get("widths") if widths is not None: # fixme: Talk to Jason about a better way to do this: self.grid._user_col_size = True set_col_size = self.grid._grid.SetColSize for i, width in enumerate(widths): if width >= 0: set_col_size(i, width) structure = prefs.get("structure") if (structure is not None) and (factory.edit_view != " "): self.control.GetSizer().SetStructure(self.control, structure) except Exception: pass def save_prefs(self): """ Returns any user preference information associated with the editor. """ get_col_size = self.grid._grid.GetColSize result = { "filters": [f for f in self.factory.filters if not f.template], "columns": [c.get_label() for c in self.columns], "widths": [get_col_size(i) for i in range(len(self.columns))], } if self.factory.edit_view != " ": result["structure"] = self.control.GetSizer().GetStructure() return result # -- Public Methods ------------------------------------------------------- def filter_modified(self): """ Handles updating the selection when some aspect of the current filter has changed. """ values = self.selected_values if len(values) > 0: if self.in_column_mode: self.set_extended_selection(values) else: items = self.model.get_filtered_items() self.set_extended_selection( [item for item in values if item[0] in items] ) # -- Event Handlers ------------------------------------------------------- def _selection_row_updated(self, event): """ Handles the user selecting items (rows, columns, cells) in the table. """ gfi = self.model.get_filtered_item rio = self.model.raw_index_of tl = self.grid._grid.GetSelectionBlockTopLeft() br = iter(self.grid._grid.GetSelectionBlockBottomRight()) rows = len(self.model.get_filtered_items()) if self.auto_add: rows -= 1 # Get the row items and indices in the selection: values = [] for row0, col0 in tl: row1, col1 = next(br) for row in range(row0, row1 + 1): if row < rows: values.append((rio(row), gfi(row))) if len(values) > 0: # Sort by increasing row index: values.sort(key=itemgetter(0)) index, row = values[0] else: index, row = -1, None # Save the new selection information: self.trait_set(selected_row_index=index, trait_change_notify=False) self.setx(selected_row=row) # Update the toolbar status: self._update_toolbar(row is not None) # Invoke the user 'on_select' handler: self.ui.evaluate(self.factory.on_select, row) def _selection_rows_updated(self, event): """ Handles multiple row selection changes. """ gfi = self.model.get_filtered_item rio = self.model.raw_index_of tl = self.grid._grid.GetSelectionBlockTopLeft() br = iter(self.grid._grid.GetSelectionBlockBottomRight()) rows = len(self.model.get_filtered_items()) if self.auto_add: rows -= 1 # Get the row items and indices in the selection: values = [] for row0, col0 in tl: row1, col1 = next(br) for row in range(row0, row1 + 1): if row < rows: values.append((rio(row), gfi(row))) # Sort by increasing row index: values.sort(key=itemgetter(0)) # Save the new selection information: self.trait_set( selected_row_indices=[v[0] for v in values], trait_change_notify=False, ) rows = [v[1] for v in values] self.setx(selected_rows=rows) # Update the toolbar status: self._update_toolbar(len(values) > 0) # Invoke the user 'on_select' handler: self.ui.evaluate(self.factory.on_select, rows) def _selection_column_updated(self, event): """ Handles single column selection changes. """ cols = self.columns tl = self.grid._grid.GetSelectionBlockTopLeft() br = iter(self.grid._grid.GetSelectionBlockBottomRight()) # Get the column items and indices in the selection: values = [] for row0, col0 in tl: row1, col1 = next(br) for col in range(col0, col1 + 1): values.append((col, cols[col].name)) if len(values) > 0: # Sort by increasing column index: values.sort(key=itemgetter(0)) index, column = values[0] else: index, column = -1, "" # Save the new selection information: self.trait_set(selected_column_index=index, trait_change_notify=False) self.setx(selected_column=column) # Invoke the user 'on_select' handler: self.ui.evaluate(self.factory.on_select, column) def _selection_columns_updated(self, event): """ Handles multiple column selection changes. """ cols = self.columns tl = self.grid._grid.GetSelectionBlockTopLeft() br = iter(self.grid._grid.GetSelectionBlockBottomRight()) # Get the column items and indices in the selection: values = [] for row0, col0 in tl: row1, col1 = next(br) for col in range(col0, col1 + 1): values.append((col, cols[col].name)) # Sort by increasing row index: values.sort(key=itemgetter(0)) # Save the new selection information: self.trait_set( selected_column_indices=[v[0] for v in values], trait_change_notify=False, ) columns = [v[1] for v in values] self.setx(selected_columns=columns) # Invoke the user 'on_select' handler: self.ui.evaluate(self.factory.on_select, columns) def _selection_cell_updated(self, event): """ Handles single cell selection changes. """ tl = self.grid._grid.GetSelectionBlockTopLeft() if len(tl) == 0: return gfi = self.model.get_filtered_item rio = self.model.raw_index_of cols = self.columns br = iter(self.grid._grid.GetSelectionBlockBottomRight()) # Get the column items and indices in the selection: values = [] for row0, col0 in tl: row1, col1 = next(br) for row in range(row0, row1 + 1): item = gfi(row) for col in range(col0, col1 + 1): values.append(((rio(row), col), (item, cols[col].name))) if len(values) > 0: # Sort by increasing row, column index: values.sort(key=itemgetter(0)) index, cell = values[0] else: index, cell = (-1, -1), (None, "") # Save the new selection information: self.trait_set(selected_cell_index=index, trait_change_notify=False) self.setx(selected_cell=cell) # Update the toolbar status: self._update_toolbar(len(values) > 0) # Invoke the user 'on_select' handler: self.ui.evaluate(self.factory.on_select, cell) def _selection_cells_updated(self, event): """ Handles multiple cell selection changes. """ gfi = self.model.get_filtered_item rio = self.model.raw_index_of cols = self.columns tl = self.grid._grid.GetSelectionBlockTopLeft() br = iter(self.grid._grid.GetSelectionBlockBottomRight()) # Get the column items and indices in the selection: values = [] for row0, col0 in tl: row1, col1 = next(br) for row in range(row0, row1 + 1): item = gfi(row) for col in range(col0, col1 + 1): values.append(((rio(row), col), (item, cols[col].name))) # Sort by increasing row, column index: values.sort(key=itemgetter(0)) # Save the new selection information: self.setx(selected_cell_indices=[v[0] for v in values]) cells = [v[1] for v in values] self.setx(selected_cells=cells) # Update the toolbar status: self._update_toolbar(len(cells) > 0) # Invoke the user 'on_select' handler: self.ui.evaluate(self.factory.on_select, cells) def _selected_row_changed(self, item): if not self._no_notify: if item is None: self.set_selection(notify=False) else: self.set_selection(item, notify=False) def _selected_row_index_changed(self, row): if not self._no_notify: if row < 0: self.set_selection(notify=False) else: self.set_selection(self.value[row], notify=False) def _selected_rows_changed(self, items): if not self._no_notify: self.set_selection(items, notify=False) def _selected_row_indices_changed(self, indices): if not self._no_notify: value = self.value self.set_selection([value[i] for i in indices], notify=False) def _selected_column_changed(self, name): if not self._no_notify: self.set_extended_selection((None, name)) def _selected_column_index_changed(self, index): if not self._no_notify: if index < 0: self.set_extended_selection() else: self.set_extended_selection( (None, self.model.get_column_name(index)) ) def _selected_columns_changed(self, names): if not self._no_notify: self.set_extended_selection([(None, name) for name in names]) def _selected_column_indices_changed(self, indices): if not self._no_notify: gcn = self.model.get_column_name self.set_extended_selection([(None, gcn(i)) for i in indices]) def _selected_cell_changed(self, cell): if not self._no_notify: self.set_extended_selection([cell]) def _selected_cell_index_changed(self, pair): if not self._no_notify: row, column = pair if (row < 0) or (column < 0): self.set_extended_selection() else: self.set_extended_selection( (self.value[row], self.model.get_column_name(column)) ) def _selected_cells_changed(self, cells): if not self._no_notify: self.set_extended_selection(cells) def _selected_cell_indices_changed(self, pairs): if not self._no_notify: value = self.value gcn = self.model.get_column_name new_selection = [(value[row], gcn(col)) for row, col in pairs] self.set_extended_selection(new_selection) def _update_toolbar(self, has_selection): """ Updates the toolbar after a selection change. """ toolbar = self.toolbar if toolbar is not None: no_filter = self.filter is None if has_selection: indices = self.selected_indices start = indices[0] n = len(self.model.get_filtered_items()) - 1 delete = toolbar.delete if self.auto_add: n -= 1 delete.enabled = start <= n else: delete.enabled = True deletable = self.factory.deletable if delete.enabled and callable(deletable): delete.enabled = all( deletable(item) for item in self.selected_items ) toolbar.add.enabled = toolbar.search.enabled = no_filter toolbar.move_up.enabled = no_filter and (start > 0) toolbar.move_down.enabled = no_filter and (indices[-1] < n) else: toolbar.add.enabled = toolbar.search.enabled = no_filter toolbar.delete.enabled = ( toolbar.move_up.enabled ) = toolbar.move_down.enabled = False def _model_sorted(self): """ Handles the contents of the model being resorted. """ if self.toolbar is not None: self.toolbar.no_sort.enabled = True values = self.selected_values if len(values) > 0: do_later(self.set_extended_selection, values) def _filter_changed(self, old_filter, new_filter): """ Handles the current filter being changed. """ if new_filter is customize_filter: do_later(self._customize_filters, old_filter) elif self.model is not None: if (new_filter is not None) and ( not isinstance(new_filter, TableFilter) ): new_filter = TableFilter(allowed=new_filter) self.model.filter = new_filter self.filter_modified() def _refresh_filters(self, filters): factory = self.factory # hack: The following line forces the 'filters' to be changed... factory.filters = [] factory.filters = filters def _customize_filters(self, filter): """ Allows the user to customize the current set of table filters. """ factory = self.factory filter_editor = TableFilterEditor(editor=self, filter=filter) enum_editor = EnumEditor(values=factory.filters[:], mode="list") ui = filter_editor.edit_traits( parent=self.control, view=View( [ [ Item( "filter<200>@", editor=enum_editor, resizable=True ), "|<>", ], ["edit:edit", "new", "apply", "delete:delete", "|<>"], "-", ], title="Customize Filters", kind="livemodal", height=0.25, buttons=["OK", "Cancel"], ), ) if ui.result: self._refresh_filters(enum_editor.values) self.filter = filter_editor.filter else: self.filter = filter def on_no_sort(self): """ Handles the user requesting that columns not be sorted. """ self.model.no_column_sort() self.toolbar.no_sort.enabled = False values = self.selected_values if len(values) > 0: self.set_extended_selection(values) def on_move_up(self): """ Handles the user requesting to move the current item up one row. """ model = self.model objects = [] for index in self.selected_indices: objects.append(model.get_filtered_item(index)) index -= 1 object = model.get_filtered_item(index) model.delete_filtered_item_at(index) model.insert_filtered_item_after(index, object) if self.in_row_mode: self.set_selection(objects) else: self.set_extended_selection(self.selected_values) def on_move_down(self): """ Handles the user requesting to move the current item down one row. """ model = self.model objects = [] indices = self.selected_indices[:] indices.reverse() for index in indices: object = model.get_filtered_item(index) objects.append(object) model.delete_filtered_item_at(index) model.insert_filtered_item_after(index, object) if self.in_row_mode: self.set_selection(objects) else: self.set_extended_selection(self.selected_values) def on_search(self): """ Handles the user requesting a table search. """ self.factory.search.edit_traits( parent=self.control, view="searchable_view", handler=TableSearchHandler(editor=self), ) def on_add(self): """ Handles the user requesting to add a new row to the table. """ self.add_row() def on_delete(self): """ Handles the user requesting to delete the currently selected items of the table. """ # Get the selected row indices: indices = self.selected_indices[:] values = self.selected_values[:] indices.reverse() # Make sure that we don't delete any rows while an editor is open in it self.grid.stop_editing_indices(indices) # Delete the selected rows: for i in indices: index, object = self.model.delete_filtered_item_at(i) self._add_undo( ListUndoItem( object=self.object, name=self.name, index=index, removed=[object], ) ) # Compute the new selection and set it: items = self.model.get_filtered_items() n = len(items) - 1 indices.reverse() for i in range(len(indices) - 1, -1, -1): if indices[i] > n: indices[i] = n if indices[i] < 0: del indices[i] del values[i] n = len(indices) if n > 0: if self.in_row_mode: self.set_selection(list({items[i] for i in indices})) else: self.set_extended_selection( list({(items[indices[i]], values[i][1]) for i in range(n)}) ) else: self._update_toolbar(False) def on_prefs(self): """ Handles the user requesting to set the user preference items for the table. """ columns = self.columns[:] columns.extend( [ c for c in (self.factory.columns + self.factory.other_columns) if c not in columns ] ) self.edit_traits( parent=self.control, view=View( [ Item( "columns", resizable=True, editor=SetEditor( values=columns, ordered=True, can_move_all=False ), ), "|<>", ], title="Select and Order Columns", width=0.3, height=0.3, resizable=True, buttons=["Undo", "OK", "Cancel"], kind="livemodal", ), ) def prepare_menu(self, row, column): """ Prepares to have a context menu action called. """ object = self.model.get_filtered_item(row) selection = [x.obj for x in self.grid.get_selection()] if object not in selection: self.set_selection(object) selection = [object] self.set_menu_context(selection, object, column) def setx(self, **keywords): """ Set one or more attributes without notifying the grid model. """ self._no_notify = True for name, value in keywords.items(): setattr(self, name, value) self._no_notify = False # -- Private Methods: ----------------------------------------------------- def _add_undo(self, undo_item, extend=False): history = self.ui.history if history is not None: history.add(undo_item, extend) class TableFilterEditor(Handler): """ Editor that manages table filters. """ #: TableEditor this editor is associated with editor = Instance(TableEditor) #: Current filter filter = Instance(TableFilter, allow_none=True) #: Edit the current filter edit = Button() #: Create a new filter and edit it new = Button() #: Apply the current filter to the editor's table apply = Button() #: Delete the current filter delete = Button() # ------------------------------------------------------------------------- # 'Handler' interface: # ------------------------------------------------------------------------- def init(self, info): """ Initializes the controls of a user interface. """ # Save both the original filter object reference and its contents: if self.filter is None: self.filter = info.filter.factory.values[0] self._filter = self.filter self._filter_copy = self.filter.clone_traits() def closed(self, info, is_ok): """ Handles a dialog-based user interface being closed by the user. """ if not is_ok: # Restore the contents of the original filter: self._filter.copy_traits(self._filter_copy) # ------------------------------------------------------------------------- # Event handlers: # ------------------------------------------------------------------------- def object_filter_changed(self, info): """ Handles a new filter being selected. """ filter = info.object.filter info.edit.enabled = not filter.template info.delete.enabled = (not filter.template) and ( len(info.filter.factory.values) > 1 ) def object_edit_changed(self, info): """ Handles the user clicking the **Edit** button. """ if info.initialized: items = self.editor.model.get_filtered_items() if len(items) > 0: item = items[0] else: item = None # `item` is now either the first item in the table, or None if # the table is empty. ui = self.filter.edit(item) if ui.result: self._refresh_filters(info) def object_new_changed(self, info): """ Handles the user clicking the **New** button. """ if info.initialized: # Get list of available filters and find the current filter in it: factory = info.filter.factory filters = factory.values filter = self.filter index = filters.index(filter) + 1 n = len(filters) while (index < n) and filters[index].template: index += 1 # Create a new filter based on the current filter: new_filter = filter.clone_traits() new_filter.template = False new_filter.name = new_filter._name = "New filter" # Add it to the list of filters: filters.insert(index, new_filter) self._refresh_filters(info) # Set up the new filter as the current filter and edit it: self.filter = new_filter do_later(self._delayed_edit, info) def object_apply_changed(self, info): """ Handles the user clicking the **Apply** button. """ if info.initialized: self.init(info) self.editor._refresh_filters(info.filter.factory.values) self.editor.filter = self.filter def object_delete_changed(self, info): """ Handles the user clicking the **Delete** button. """ # Get the list of available filters: filters = info.filter.factory.values if info.initialized: # Delete the current filter: index = filters.index(self.filter) del filters[index] # Select a new filter: if index >= len(filters): index -= 1 self.filter = filters[index] self._refresh_filters(info) # ------------------------------------------------------------------------- # Private methods: # ------------------------------------------------------------------------- def _refresh_filters(self, info): """ Refresh the filter editor's list of filters. """ factory = info.filter.factory values, factory.values = factory.values, [] factory.values = values def _delayed_edit(self, info): """ Edits the current filter, and deletes it if the user cancels the edit. """ ui = self.filter.edit(self.editor.model.get_filtered_item(0)) if not ui.result: self.object_delete_changed(info) else: self._refresh_filters(info) # Allow deletion as long as there is more than 1 filter: if (not self.filter.template) and len(info.filter.factory.values) > 1: info.delete.enabled = True class TableEditorToolbar(HasPrivateTraits): """ Toolbar displayed in table editors. """ # ------------------------------------------------------------------------- # Trait definitions: # ------------------------------------------------------------------------- #: Do not sort columns: no_sort = Instance( Action, { "name": "No Sorting", "tooltip": "Do not sort columns", "action": "on_no_sort", "enabled": False, "image": ImageResource("table_no_sort.png"), }, ) #: Move current object up one row: move_up = Instance( Action, { "name": "Move Up", "tooltip": "Move current item up one row", "action": "on_move_up", "enabled": False, "image": ImageResource("table_move_up.png"), }, ) #: Move current object down one row: move_down = Instance( Action, { "name": "Move Down", "tooltip": "Move current item down one row", "action": "on_move_down", "enabled": False, "image": ImageResource("table_move_down.png"), }, ) #: Search the table: search = Instance( Action, { "name": "Search", "tooltip": "Search table", "action": "on_search", "image": ImageResource("table_search.png"), }, ) #: Add a row: add = Instance( Action, { "name": "Add", "tooltip": "Insert new item", "action": "on_add", "image": ImageResource("table_add.png"), }, ) #: Delete selected row: delete = Instance( Action, { "name": "Delete", "tooltip": "Delete current item", "action": "on_delete", "enabled": False, "image": ImageResource("table_delete.png"), }, ) #: Edit the user preferences: prefs = Instance( Action, { "name": "Preferences", "tooltip": "Set user preferences for table", "action": "on_prefs", "image": ImageResource("table_prefs.png"), }, ) #: The table editor that this is the toolbar for: editor = Instance(TableEditor) #: The toolbar control: control = Any() def __init__(self, parent=None, **traits): super().__init__(**traits) editor = self.editor factory = editor.factory actions = [] if factory.sortable and (not factory.sort_model): actions.append(self.no_sort) if (not editor.in_column_mode) and factory.reorderable: actions.append(self.move_up) actions.append(self.move_down) if editor.in_row_mode and (factory.search is not None): actions.append(self.search) if factory.editable: if (factory.row_factory is not None) and (not factory.auto_add): actions.append(self.add) if (factory.deletable) and (not editor.in_column_mode): actions.append(self.delete) if factory.configurable: actions.append(self.prefs) if len(actions) > 0: toolbar = ToolBar( image_size=(16, 16), show_tool_names=False, show_divider=False, *actions ) self.control = toolbar.create_tool_bar(parent, self) self.control.SetBackgroundColour(parent.GetBackgroundColour()) # fixme: Why do we have to explictly set the size of the toolbar? # Is there some method that needs to be called to do the # layout? self.control.SetSize(wx.Size(23 * len(actions), 16)) # ------------------------------------------------------------------------- # Pyface/Traits menu/toolbar controller interface: # ------------------------------------------------------------------------- def add_to_menu(self, menu_item): """ Adds a menu item to the menu bar being constructed. """ pass def add_to_toolbar(self, toolbar_item): """ Adds a toolbar item to the too bar being constructed. """ pass def can_add_to_menu(self, action): """ Returns whether the action should be defined in the user interface. """ return True def can_add_to_toolbar(self, action): """ Returns whether the toolbar action should be defined in the user interface. """ return True def perform(self, action, action_event=None): """ Performs the action described by a specified Action object. """ getattr(self.editor, action.action)() class TableSearchHandler(Handler): """ Handler for saerching a table. """ # ------------------------------------------------------------------------- # Trait definitions: # ------------------------------------------------------------------------- #: The editor that this handler is associated with editor = Instance(TableEditor) #: Find next matching item find_next = Button("Find Next") #: Find previous matching item find_previous = Button("Find Previous") #: Select all matching items select = Button() #: The user is finished searching OK = Button("Close") #: Search status message: status = Str() def handler_find_next_changed(self, info): """ Handles the user clicking the **Find** button. """ if info.initialized: editor = self.editor items = editor.model.get_filtered_items() for i in range(editor.selected_row_index + 1, len(items)): if info.object.filter(items[i]): self.status = "Item %d matches" % (i + 1) editor.set_selection(items[i]) editor.selected_row_index = i break else: self.status = "No more matches found" def handler_find_previous_changed(self, info): """ Handles the user clicking the **Find previous** button. """ if info.initialized: editor = self.editor items = editor.model.get_filtered_items() for i in range(editor.selected_row_index - 1, -1, -1): if info.object.filter(items[i]): self.status = "Item %d matches" % (i + 1) editor.set_selection(items[i]) editor.selected_row_index = i break else: self.status = "No more matches found" def handler_select_changed(self, info): """ Handles the user clicking the **Select** button. """ if info.initialized: editor = self.editor filter = info.object.filter items = [ item for item in editor.model.get_filtered_items() if filter(item) ] editor.set_selection(items) if len(items) == 1: self.status = "1 item selected" else: self.status = "%d items selected" % len(items) def handler_OK_changed(self, info): """ Handles the user clicking the OK button. """ if info.initialized: self.close(info, True) # Define the SimpleEditor class. SimpleEditor = TableEditor # Define the ReadonlyEditor class. ReadonlyEditor = TableEditor traitsui-7.2.1/traitsui/wx/helper.py0000644000076500000240000004760514046644454020156 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! """ Defines helper functions and classes used to define wxPython-based trait editors and trait editor factories. """ from operator import itemgetter import wx import wx.lib.scrolledpanel import sys from os.path import join, dirname, abspath from traits.api import ( HasPrivateTraits, Enum, CTrait, Instance, Any, Int, Event, Bool, BaseTraitHandler, TraitError, ) from traitsui.ui_traits import convert_image, SequenceTypes from pyface.api import SystemMetrics from pyface.timer.api import do_later from .constants import standard_bitmap_width from .editor import Editor # ------------------------------------------------------------------------- # Trait definitions: # ------------------------------------------------------------------------- # Layout orientation for a control and its associated editor Orientation = Enum("horizontal", "vertical") # ------------------------------------------------------------------------- # Data: # ------------------------------------------------------------------------- # Bitmap cache dictionary (indexed by filename) _bitmap_cache = {} ### NOTE: This needs major improvements: app_path = None traits_path = None def bitmap_cache(name, standard_size, path=None): """ Converts an image file name to a cached bitmap. """ global app_path, traits_path if name[:1] == "@": image = convert_image(name.replace(" ", "_").lower()) if image is not None: return image.create_image().ConvertToBitmap() if path is None: if traits_path is None: import traitsui.wx traits_path = join(dirname(traitsui.wx.__file__), "images") path = traits_path elif path == "": if app_path is None: app_path = join(dirname(sys.argv[0]), "..", "images") path = app_path filename = abspath(join(path, name.replace(" ", "_").lower() + ".gif")) bitmap = _bitmap_cache.get(filename + ("*"[not standard_size :])) if bitmap is not None: return bitmap std_bitmap = bitmap = wx.Bitmap(wx.Image(filename)) _bitmap_cache[filename] = bitmap dx = bitmap.GetWidth() if dx < standard_bitmap_width: dy = bitmap.GetHeight() std_bitmap = wx.Bitmap(standard_bitmap_width, dy) dc1 = wx.MemoryDC() dc2 = wx.MemoryDC() dc1.SelectObject(std_bitmap) dc2.SelectObject(bitmap) dc1.SetPen(wx.TRANSPARENT_PEN) dc1.SetBrush(wx.WHITE_BRUSH) dc1.DrawRectangle(0, 0, standard_bitmap_width, dy) dc1.Blit((standard_bitmap_width - dx) // 2, 0, dx, dy, dc2, 0, 0) _bitmap_cache[filename + "*"] = std_bitmap if standard_size: return std_bitmap return bitmap # ------------------------------------------------------------------------- # Returns an appropriate width for a wxChoice widget based upon the list of # values it contains: # ------------------------------------------------------------------------- def choice_width(values): """ Returns an appropriate width for a wxChoice widget based upon the list of values it contains: """ return max([len(x) for x in values]) * 6 def save_window(ui): """ Saves the user preference items for a specified UI. """ control = ui.control ui.save_prefs(control.GetPosition() + control.GetSize()) def restore_window(ui, is_popup=False): """ Restores the user preference items for a specified UI. """ prefs = ui.restore_prefs() if prefs is not None: x, y, dx, dy = prefs # Check to see if the window's position is within a display. # If it is not entirely within 1 display, move it and/or # resize it to the closest window closest = find_closest_display(x, y) x, y, dx, dy = get_position_for_display(x, y, dx, dy, closest) if is_popup: position_window(ui.control, dx, dy) else: if (dx, dy) == (0, 0): # The window was saved minimized ui.control.SetSize(x, y, -1, -1) else: ui.control.SetSize(x, y, dx, dy) def find_closest_display(x, y): """ For a virtual screen position, find the closest display. There are a few reasons to use this function: * the number of displays changed * the size of the displays changed * the orientation of one or more displays changed. """ closest = None for display_num in range(wx.Display.GetCount()): display = wx.Display(display_num) if closest is None: closest = display else: def _distance(x, y, display): dis_x, dis_y, dis_w, dis_h = display.GetGeometry() dis_mid_x = dis_x + dis_w // 2 dis_mid_y = dis_y + dis_h // 2 return (x - dis_mid_x) ** 2 + (y - dis_mid_y) ** 2 if _distance(x, y, display) < _distance(x, y, closest): closest = display return closest def get_position_for_display(x, y, dx, dy, display): """ calculates a valid position and size for a window to fit inside a display """ dis_x, dis_y, dis_w, dis_h = display.GetGeometry() dx = min(dx, dis_w) dy = min(dy, dis_h) if ((x + dx) > (dis_x + dis_w)) or (x < dis_x): x = dis_x if ((y + dy) > (dis_y + dis_h)) or (y < dis_y): y = dis_y return x, y, dx, dy # ------------------------------------------------------------------------- # Positions a window on the screen with a specified width and height so that # the window completely fits on the screen if possible: # ------------------------------------------------------------------------- def position_window(window, width=None, height=None, parent=None): """ Positions a window on the screen with a specified width and height so that the window completely fits on the screen if possible. """ dx, dy = window.GetSize() width = width or dx height = height or dy if parent is None: parent = window._parent if parent is None: # Center the popup on the screen: window.SetSize( (SystemMetrics().screen_width - width) // 2, (SystemMetrics().screen_height - height) // 2, width, height ) return # Calculate the desired size of the popup control: if isinstance(parent, wx.Window): x, y = parent.ClientToScreen(0, 0) parent_dx, parent_dy = parent.GetSize() else: # Special case of parent being a screen position and size tuple (used # to pop-up a dialog for a table cell): x, y, parent_dx, parent_dy = parent adjacent = getattr(window, "_kind", "popup") == "popup" width = min(max(parent_dx, width), SystemMetrics().screen_width) height = min(height, SystemMetrics().screen_height) closest = find_closest_display(x, y) if adjacent: y += parent_dy x, y, dx, dy = get_position_for_display(x, y, width, height, closest) window.SetSize(x, y, dx, dy) def top_level_window_for(control): """ Returns the top-level window for a specified control. """ parent = control.GetParent() while parent is not None: control = parent parent = control.GetParent() return control def disconnect(control, *events): """ Disconnects a wx event handle from its associated control. """ id = control.GetId() for event in events: control.Unbind(event, id=id) def disconnect_no_id(control, *events): """ Disconnects a wx event handle from its associated control. """ for event in events: control.Unbind(event) # ------------------------------------------------------------------------- # Creates a wx.Panel that correctly sets its background color to be the same # as its parents: # ------------------------------------------------------------------------- class TraitsUIPanel(wx.Panel): def __init__(self, parent, *args, **kw): """ Creates a wx.Panel that correctly sets its background color to be the same as its parents. """ bg_color = kw.pop("bg_color", None) wx.Panel.__init__(self, parent, *args, **kw) self.Bind(wx.EVT_CHILD_FOCUS, self.OnChildFocus) if bg_color: self.SetBackgroundColour(bg_color) else: # Mac/Win needs this, otherwise background color is black attr = self.GetDefaultAttributes() self.SetBackgroundColour(attr.colBg) def OnChildFocus(self, event): """ If the ChildFocusEvent contains one of the Panel's direct children, then we will Skip it to let it pass up the widget hierarchy. Otherwise, we consume the event to make sure it doesn't go any farther. This works around a problem in wx 2.8.8.1 where each Panel in a nested hierarchy generates many events that might consume too many resources. We do, however, let one event bubble up to the top so that it may inform a top-level ScrolledPanel that a descendant has acquired focus. """ if event.GetWindow() in self.GetChildren(): event.Skip() def Destroy(self): self.Unbind(wx.EVT_CHILD_FOCUS) super().Destroy() # ------------------------------------------------------------------------- # 'ChildFocusOverride' class: # ------------------------------------------------------------------------- class ChildFocusOverride(wx.EvtHandler): """ Override the scroll-to-focus behaviour in wx 2.8.8's ScrolledWindow C++ implementation for ScrolledPanel. Instantiating this class with the ScrolledPanel will register the new instance as the event handler for the panel. """ def __init__(self, window): self.window = window super().__init__() # Make self the event handler for the window. window.PushEventHandler(self) def ProcessEvent(self, event): if isinstance(event, wx.ChildFocusEvent): # Handle this one with our code and don't let the C++ event handler # get it. return self.window.OnChildFocus(event) else: # Otherwise, just pass this along in the event handler chain. result = self.GetNextHandler().ProcessEvent(event) return result class TraitsUIScrolledPanel(wx.lib.scrolledpanel.ScrolledPanel): def __init__( self, parent, id=-1, pos=wx.DefaultPosition, size=wx.DefaultSize, style=wx.TAB_TRAVERSAL, name="scrolledpanel", ): wx.ScrolledWindow.__init__( self, parent, id, pos=pos, size=size, style=style, name=name ) # FIXME: The ScrolledPanel class calls SetInitialSize in its __init__ # method, but for some reason, that leads to very a small window size. # Calling SetSize seems to work okay, but its not clear why # SetInitialSize does not work. self.SetSize(size) self.SetBackgroundColour(parent.GetBackgroundColour()) # Override the C++ ChildFocus event handler: ChildFocusOverride(self) def Destroy(self): from traitsui.wx.toolkit import _popEventHandlers _popEventHandlers(self, ChildFocusOverride) super().Destroy() def OnChildFocus(self, event): """ Handle a ChildFocusEvent. Returns a boolean so it can be used as a library call, too. """ self.ScrollChildIntoView(self.FindFocus()) return True def ScrollChildIntoView(self, child): """ Scrolls the panel such that the specified child window is in view. This method overrides the original in the base class so that nested subpanels are handled correctly. """ if child is None: return sppux, sppuy = self.GetScrollPixelsPerUnit() vsx, vsy = self.GetViewStart() crx, cry, crdx, crdy = child.GetRect() subwindow = child.GetParent() while subwindow not in [self, None]: # Make sure that the descendant's position information is relative # to us, not its local parent. pwx, pwy = subwindow.GetRect()[:2] crx, cry = crx + pwx, cry + pwy subwindow = subwindow.GetParent() cr = wx.Rect(crx, cry, crdx, crdy) client_size = self.GetClientSize() new_vsx, new_vsy = -1, -1 # Is it before the left edge? if (cr.x < 0) and (sppux > 0): new_vsx = vsx + (cr.x // sppux) # Is it above the top? if (cr.y < 0) and (sppuy > 0): new_vsy = vsy + (cr.y // sppuy) # For the right and bottom edges, scroll enough to show the whole # control if possible, but if not just scroll such that the top/left # edges are still visible: # Is it past the right edge ? if (cr.right > client_size.width) and (sppux > 0): diff = (cr.right - client_size.width) // sppux if (cr.x - (diff * sppux)) > 0: new_vsx = vsx + diff + 1 else: new_vsx = vsx + (cr.x // sppux) # Is it below the bottom ? if (cr.bottom > client_size.height) and (sppuy > 0): diff = (cr.bottom - client_size.height) // sppuy if (cr.y - (diff * sppuy)) > 0: new_vsy = vsy + diff + 1 else: new_vsy = vsy + (cr.y // sppuy) # Perform the scroll if any adjustments are needed: if (new_vsx != -1) or (new_vsy != -1): self.Scroll(new_vsx, new_vsy) # ------------------------------------------------------------------------- # Initializes standard wx event handlers for a specified control and object: # ------------------------------------------------------------------------- # Standard wx event handlers: handlers = ( (wx.EVT_ERASE_BACKGROUND, "_erase_background"), (wx.EVT_PAINT, "_paint"), (wx.EVT_SIZE, "_size"), (wx.EVT_LEFT_DOWN, "_left_down"), (wx.EVT_LEFT_UP, "_left_up"), (wx.EVT_LEFT_DCLICK, "_left_dclick"), (wx.EVT_MIDDLE_DOWN, "_middle_down"), (wx.EVT_MIDDLE_UP, "_middle_up"), (wx.EVT_MIDDLE_DCLICK, "_middle_dclick"), (wx.EVT_RIGHT_DOWN, "_right_down"), (wx.EVT_RIGHT_UP, "_right_up"), (wx.EVT_RIGHT_DCLICK, "_right_dclick"), (wx.EVT_MOTION, "_motion"), (wx.EVT_ENTER_WINDOW, "_enter"), (wx.EVT_LEAVE_WINDOW, "_leave"), (wx.EVT_MOUSEWHEEL, "_wheel"), ) def init_wx_handlers(control, object, prefix=""): """ Initializes a standard set of wx event handlers for a specified control and object using a specified prefix. """ global handlers for handler, name in handlers: method = getattr(object, prefix + name, None) if method is not None: handler(control, method) class GroupEditor(Editor): def __init__(self, **traits): """ Initializes the object. """ self.trait_set(**traits) class PopupControl(HasPrivateTraits): # -- Constructor Traits --------------------------------------------------- #: The control the popup should be positioned relative to: control = Instance(wx.Window) #: The minimum width of the popup: width = Int() #: The minimum height of the popup: height = Int() #: Should the popup be resizable? resizable = Bool(False) # -- Public Traits -------------------------------------------------------- #: The value (if any) set by the popup control: value = Any() #: Event fired when the popup control is closed: closed = Event() # -- Private Traits ------------------------------------------------------- #: The popup control: popup = Instance(wx.Window) # -- Public Methods ------------------------------------------------------- def __init__(self, **traits): """ Initializes the object. """ super().__init__(**traits) style = wx.SIMPLE_BORDER if self.resizable: style = wx.RESIZE_BORDER self.popup = popup = wx.Frame(None, -1, "", style=style) popup.Bind(wx.EVT_ACTIVATE, self._on_close_popup) self.create_control(popup) self._position_control() popup.Show() def create_control(self): """ Creates the control. Must be overridden by a subclass. """ raise NotImplementedError def dispose(self): """ Called when the popup is being closed to allow any custom clean-up. Can be overridden by a subclass. """ pass # -- Event Handlers ------------------------------------------------------- def _value_changed(self, value): """ Handles the 'value' being changed. """ do_later(self._close_popup) # -- Private Methods ------------------------------------------------------ def _position_control(self): """ Initializes the popup control's initial position and size. """ # Calculate the desired size of the popup control: px, cy = self.control.ClientToScreen(0, 0) cdx, cdy = self.control.GetSize() pdx, pdy = self.popup.GetSize() pdx, pdy = max(pdx, cdx, self.width), max(pdy, self.height) # Calculate the best position and size for the pop-up: py = cy + cdy if (py + pdy) > SystemMetrics().screen_height: if (cy - pdy) < 0: bottom = SystemMetrics().screen_height - py if cy > bottom: py, pdy = 0, cy else: pdy = bottom else: py = cy - pdy # Finally, position the popup control: self.popup.SetSize(px, py, pdx, pdy) def _on_close_popup(self, event): """ Closes the popup control when it is deactivated. """ if not event.GetActive(): self._close_popup() def _close_popup(self): """ Closes the dialog. """ self.popup.Unbind(wx.EVT_ACTIVATE) self.dispose() self.closed = True self.popup.Destroy() self.popup = self.control = None class BufferDC(wx.MemoryDC): """ An off-screen buffer class. This class implements a off-screen output buffer. Data is meant to be drawn in the buffer and then blitted directly to the output device context. """ def __init__(self, dc, width=None, height=None): """Initializes the buffer.""" wx.MemoryDC.__init__(self) # If only a single argument is passed, it is assumed to be a wx.Window # and that we have been created within a 'paint' event for that window: if width is None: width, height = dc.GetClientSize() dc = wx.PaintDC(dc) self.dc = dc self.bitmap = wx.Bitmap(width, height) self.SelectObject(self.bitmap) self.SetFont(dc.GetFont()) def copy(self, x=0, y=0): """ Performs the blit of the buffer contents to the specified device context location. """ self.dc.Blit( x, y, self.bitmap.GetWidth(), self.bitmap.GetHeight(), self, 0, 0 ) class Slider(wx.Slider): """ This is a 'fixed' version of the wx.Slider control which does not erase its background, which can cause a lot of update flicker and is completely unnecessary. """ def __init__(self, *args, **kw): super().__init__(*args, **kw) self.Bind(wx.EVT_ERASE_BACKGROUND, self._erase_background) def _erase_background(self, event): pass def Destroy(self): self.Unbind(wx.EVT_ERASE_BACKGROUND) super().Destroy() traitsui-7.2.1/traitsui/wx/font_editor.py0000644000076500000240000002475714046644454021216 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! """ Defines the various font editors and the font editor factory, for the wxPython user interface toolkit.. """ import wx from traits.api import Bool from traitsui.editors.font_editor import ( ToolkitEditorFactory as BaseToolkitEditorFactory, ) from .editor_factory import ( SimpleEditor as BaseSimpleEditor, TextEditor as BaseTextEditor, ReadonlyEditor as BaseReadonlyEditor, ) from .editor import Editor from .helper import TraitsUIPanel, disconnect # Standard font point sizes PointSizes = [ "8", "9", "10", "11", "12", "14", "16", "18", "20", "22", "24", "26", "28", "36", "48", "72", ] # All available font styles Styles = ["Normal", "Slant", "Italic"] # All available font weights Weights = ["Normal", "Light", "Bold"] # All available font facenames facenames = None # --------------------------------------------------------------------------- # The wxPython ToolkitEditorFactory class. # --------------------------------------------------------------------------- ## We need to add wx-specific methods to the editor factory, and so we create ## a subclass of the BaseToolkitEditorFactory. class ToolkitEditorFactory(BaseToolkitEditorFactory): """ wxPython editor factory for font editors. """ show_style = Bool(False) show_weight = Bool(False) def to_wx_font(self, editor): """ Returns a wxFont object corresponding to a specified object's font trait. """ font = editor.value return wx.Font( font.GetPointSize(), font.GetFamily(), font.GetStyle(), font.GetWeight(), font.GetUnderlined(), font.GetFaceName(), ) def from_wx_font(self, font): """ Gets the application equivalent of a wxPython Font value. """ return font def str_font(self, font): """ Returns the text representation of the specified object trait value. """ weight = { wx.FONTWEIGHT_LIGHT: " Light", wx.FONTWEIGHT_BOLD: " Bold", }.get(font.GetWeight(), "") style = { wx.FONTSTYLE_SLANT: " Slant", wx.FONTSTYLE_ITALIC: " Italic", }.get(font.GetStyle(), "") return "%s point %s%s%s" % ( font.GetPointSize(), font.GetFaceName(), style, weight, ) def all_facenames(self): """ Returns a list of all available font facenames. """ global facenames if facenames is None: facenames = sorted(FontEnumerator().facenames()) return facenames # ------------------------------------------------------------------------- # 'SimpleFontEditor' class: # ------------------------------------------------------------------------- class SimpleFontEditor(BaseSimpleEditor): """ Simple style of font editor, which displays a text field that contains a text representation of the font value (using that font if possible). Clicking the field displays a font selection dialog box. """ def popup_editor(self, event): """ Invokes the pop-up editor for an object trait. """ font_data = wx.FontData() font_data.SetInitialFont(self.factory.to_wx_font(self)) dialog = wx.FontDialog(self.control, font_data) if dialog.ShowModal() == wx.ID_OK: self.value = self.factory.from_wx_font( dialog.GetFontData().GetChosenFont() ) self.update_editor() dialog.Destroy() def update_editor(self): """ Updates the editor when the object trait changes externally to the editor. """ super().update_editor() set_font(self) def string_value(self, font): """ Returns the text representation of a specified font value. """ return self.factory.str_font(font) class CustomFontEditor(Editor): """ Custom style of font editor, which displays the following: * A combo box containing all available type face names. * A combo box containing the available type sizes. * A combo box containing the available type styles """ def init(self, parent): """ Finishes initializing the editor by creating the underlying toolkit widget. """ # Create a panel to hold all of the buttons: self.control = panel = TraitsUIPanel(parent, -1) sizer = wx.BoxSizer(wx.VERTICAL) # Add all of the font choice controls: sizer2 = wx.BoxSizer(wx.HORIZONTAL) facenames = self.factory.all_facenames() control = self._facename = wx.Choice( panel, -1, wx.Point(0, 0), wx.Size(-1, -1), facenames ) sizer2.Add(control, 4, wx.EXPAND) panel.Bind(wx.EVT_CHOICE, self.update_object_parts, id=control.GetId()) control = self._point_size = wx.Choice( panel, -1, wx.Point(0, 0), wx.Size(-1, -1), PointSizes ) sizer2.Add(control, 1, wx.EXPAND | wx.LEFT, 3) panel.Bind(wx.EVT_CHOICE, self.update_object_parts, id=control.GetId()) if self.factory.show_style: self._style = wx.Choice( panel, -1, wx.Point(0, 0), wx.Size(-1, -1), Styles ) sizer2.Add(self._style, 1, wx.EXPAND | wx.LEFT, 3) panel.Bind(wx.EVT_CHOICE, self.update_object_parts, id=self._style.GetId()) if self.factory.show_weight: self._weight = wx.Choice( panel, -1, wx.Point(0, 0), wx.Size(-1, -1), Weights ) sizer2.Add(self._weight, 1, wx.EXPAND | wx.LEFT, 3) panel.Bind(wx.EVT_CHOICE, self.update_object_parts, id=self._weight.GetId()) sizer.Add(sizer2, 0, wx.EXPAND) # Set-up the layout: panel.SetSizer(sizer) self.set_tooltip() def dispose(self): """ Disposes of the contents of an editor. """ disconnect(self._facename, wx.EVT_CHOICE) disconnect(self._point_size, wx.EVT_CHOICE) if self.factory.show_style: disconnect(self._style, wx.EVT_CHOICE) if self.factory.show_weight: disconnect(self._weight, wx.EVT_CHOICE) super().dispose() def update_object_parts(self, event): """ Handles the user modifying one of the font components. """ point_size = int(self._point_size.GetStringSelection()) facename = self._facename.GetStringSelection() style = wx.FONTSTYLE_NORMAL if self.factory.show_style: style += self._style.GetCurrentSelection() weight = wx.FONTWEIGHT_NORMAL if self.factory.show_weight: weight += self._weight.GetCurrentSelection() font = wx.Font( point_size, wx.FONTFAMILY_DEFAULT, style, weight, faceName=facename ) self.value = self.factory.from_wx_font(font) def update_editor(self): """ Updates the editor when the object trait changes externally to the editor. """ font = self.factory.to_wx_font(self) try: self._facename.SetStringSelection(font.GetFaceName()) except: self._facename.SetSelection(0) try: self._point_size.SetStringSelection(str(font.GetPointSize())) except: self._point_size.SetSelection(0) def string_value(self, font): """ Returns the text representation of a specified font value. """ return self.factory.str_font(font) # ------------------------------------------------------------------------- # 'TextFontEditor' class: # ------------------------------------------------------------------------- class TextFontEditor(BaseTextEditor): """ Text style of font editor, which displays an editable text field containing a text representation of the font value (using that font if possible). """ def update_object(self, event): """ Handles the user changing the contents of the edit control. """ self.value = self.control.GetValue() def update_editor(self): """ Updates the editor when the object trait changes external to the editor. """ super().update_editor() set_font(self) def string_value(self, font): """ Returns the text representation of a specified font value. """ return self.factory.str_font(font) class ReadonlyFontEditor(BaseReadonlyEditor): """ Read-only style of font editor, which displays a read-only text field containing a text representation of the font value (using that font if possible). """ def update_editor(self): """ Updates the editor when the object trait changes external to the editor. """ super().update_editor() set_font(self) def string_value(self, font): """ Returns the text representation of a specified font value. """ return self.factory.str_font(font) # ------------------------------------------------------------------------- # Set the editor control's font to match a specified font: # ------------------------------------------------------------------------- def set_font(editor): """ Sets the editor control's font to match a specified font. """ font = editor.factory.to_wx_font(editor) font.SetPointSize(min(10, font.GetPointSize())) editor.control.SetFont(font) class FontEnumerator(wx.FontEnumerator): """ An enumeration of fonts. """ def facenames(self): """ Returns a list of all available font facenames. """ self._facenames = [] self.EnumerateFacenames() return self._facenames def OnFacename(self, facename): """ Adds a facename to the list of facenames. """ self._facenames.append(facename) return True # Define the names SimpleEditor, CustomEditor, TextEditor and ReadonlyEditor # which are looked up by the editor factory for the font editor. SimpleEditor = SimpleFontEditor CustomEditor = CustomFontEditor TextEditor = TextFontEditor ReadonlyEditor = ReadonlyFontEditor traitsui-7.2.1/traitsui/wx/csv_list_editor.py0000644000076500000240000000253514046644454022064 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! """ Defines the various text editors for the wxPython user interface toolkit. The module is mainly a place-folder for TextEditor factories that have been augmented to also listen to changes in the items of the list object. """ from .text_editor import SimpleEditor as WXSimpleEditor from .text_editor import CustomEditor as WXCustomEditor from .text_editor import ReadonlyEditor as WXReadonlyEditor from ..editors.csv_list_editor import _prepare_method, _dispose_method class SimpleEditor(WXSimpleEditor): """ Simple Editor style for CSVListEditor. """ prepare = _prepare_method dispose = _dispose_method class CustomEditor(WXCustomEditor): """ Custom Editor style for CSVListEditor. """ prepare = _prepare_method dispose = _dispose_method class ReadonlyEditor(WXReadonlyEditor): """ Readonly Editor style for CSVListEditor. """ prepare = _prepare_method dispose = _dispose_method TextEditor = SimpleEditor traitsui-7.2.1/traitsui/wx/array_view_editor.py0000644000076500000240000000142414046644454022402 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! from traitsui.ui_editors.array_view_editor import ( _ArrayViewEditor as BaseArrayViewEditor, ) from .ui_editor import UIEditor # ------------------------------------------------------------------------- # '_ArrayViewEditor' class: # ------------------------------------------------------------------------- class _ArrayViewEditor(BaseArrayViewEditor, UIEditor): pass traitsui-7.2.1/traitsui/wx/image_slice.py0000644000076500000240000004010014046644454021117 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! """ Class to aid in automatically computing the 'slice' points for a specified ImageResource and then drawing it that it can be 'stretched' to fit a larger region than the original image. """ import wx from colorsys import rgb_to_hls from numpy import reshape, fromstring, uint8 from traits.api import HasPrivateTraits, Instance, Int, List, Color, Enum, Bool from pyface.image_resource import ImageResource from .constants import WindowColor from .constants import is_mac import traitsui.wx.constants # ------------------------------------------------------------------------- # Recursively paint the parent's background if they have an associated image # slice. # ------------------------------------------------------------------------- def paint_parent(dc, window): """ Recursively paint the parent's background if they have an associated image slice. """ parent = window.GetParent() slice = getattr(parent, "_image_slice", None) if slice is not None: x, y = window.GetPosition() dx, dy = parent.GetSize() slice.fill(dc, -x, -y, dx, dy) else: # Otherwise, just paint the normal window background color: dx, dy = window.GetClientSize() if is_mac and hasattr(window, "_border") and window._border: dc.SetBackgroundMode(wx.TRANSPARENT) dc.SetBrush(wx.Brush(wx.Colour(0, 0, 0, 0))) else: dc.SetBrush(wx.Brush(parent.GetBackgroundColour())) dc.SetPen(wx.TRANSPARENT_PEN) dc.DrawRectangle(0, 0, dx, dy) return slice # ------------------------------------------------------------------------- # 'ImageSlice' class: # ------------------------------------------------------------------------- class ImageSlice(HasPrivateTraits): # -- Trait Definitions ---------------------------------------------------- #: The ImageResource to be sliced and drawn: image = Instance(ImageResource) #: The minimum number of adjacent, identical rows/columns needed to identify #: a repeatable section: threshold = Int(10) #: The maximum number of 'stretchable' rows and columns: stretch_rows = Enum(1, 2) stretch_columns = Enum(1, 2) #: Width/height of the image borders: top = Int() bottom = Int() left = Int() right = Int() #: Width/height of the extended image borders: xtop = Int() xbottom = Int() xleft = Int() xright = Int() #: The color to use for content text: content_color = Instance(wx.Colour) #: The color to use for label text: label_color = Instance(wx.Colour) #: The background color of the image: bg_color = Color #: Should debugging slice lines be drawn? debug = Bool(False) # -- Private Traits ------------------------------------------------------- #: The current image's opaque bitmap: opaque_bitmap = Instance(wx.Bitmap) #: The current image's transparent bitmap: transparent_bitmap = Instance(wx.Bitmap) #: Size of the current image: dx = Int() dy = Int() #: Size of the current image's slices: dxs = List() dys = List() #: Fixed minimum size of current image: fdx = Int() fdy = Int() # -- Public Methods ------------------------------------------------------- def fill(self, dc, x, y, dx, dy, transparent=False): """ 'Stretch fill' the specified region of a device context with the sliced image. """ # Create the source image dc: idc = wx.MemoryDC() if transparent: idc.SelectObject(self.transparent_bitmap) else: idc.SelectObject(self.opaque_bitmap) # Set up the drawing parameters: sdx, sdy = self.dx, self.dx dxs, dys = self.dxs, self.dys tdx, tdy = dx - self.fdx, dy - self.fdy # Calculate vertical slice sizes to use for source and destination: n = len(dxs) if n == 1: pdxs = [ (0, 0), (1, max(1, tdx // 2)), (sdx - 2, sdx - 2), (1, max(1, tdx - (tdx // 2))), (0, 0), ] elif n == 3: pdxs = [ (dxs[0], dxs[0]), (dxs[1], max(0, tdx)), (0, 0), (0, 0), (dxs[2], dxs[2]), ] else: pdxs = [ (dxs[0], dxs[0]), (dxs[1], max(0, tdx // 2)), (dxs[2], dxs[2]), (dxs[3], max(0, tdx - (tdx // 2))), (dxs[4], dxs[4]), ] # Calculate horizontal slice sizes to use for source and destination: n = len(dys) if n == 1: pdys = [ (0, 0), (1, max(1, tdy // 2)), (sdy - 2, sdy - 2), (1, max(1, tdy - (tdy // 2))), (0, 0), ] elif n == 3: pdys = [ (dys[0], dys[0]), (dys[1], max(0, tdy)), (0, 0), (0, 0), (dys[2], dys[2]), ] else: pdys = [ (dys[0], dys[0]), (dys[1], max(0, tdy // 2)), (dys[2], dys[2]), (dys[3], max(0, tdy - (tdy // 2))), (dys[4], dys[4]), ] # Iterate over each cell, performing a stretch fill from the source # image to the destination window: last_x, last_y = x + dx, y + dy y0, iy0 = y, 0 for idy, wdy in pdys: if y0 >= last_y: break if wdy != 0: x0, ix0 = x, 0 for idx, wdx in pdxs: if x0 >= last_x: break if wdx != 0: self._fill( idc, ix0, iy0, idx, idy, dc, x0, y0, wdx, wdy ) x0 += wdx ix0 += idx y0 += wdy iy0 += idy if self.debug: dc.SetPen(wx.Pen(wx.RED)) dc.DrawLine(x, y + self.top, last_x, y + self.top) dc.DrawLine( x, last_y - self.bottom - 1, last_x, last_y - self.bottom - 1 ) dc.DrawLine(x + self.left, y, x + self.left, last_y) dc.DrawLine( last_x - self.right - 1, y, last_x - self.right - 1, last_y ) # -- Event Handlers ------------------------------------------------------- def _image_changed(self, image): """ Handles the 'image' trait being changed. """ # Save the original bitmap as the transparent version: self.transparent_bitmap = ( bitmap ) = image.create_image().ConvertToBitmap() # Save the bitmap size information: self.dx = dx = bitmap.GetWidth() self.dy = dy = bitmap.GetHeight() # Create the opaque version of the bitmap: self.opaque_bitmap = wx.Bitmap(dx, dy) mdc2 = wx.MemoryDC() mdc2.SelectObject(self.opaque_bitmap) mdc2.SetBrush(wx.Brush(WindowColor)) mdc2.SetPen(wx.TRANSPARENT_PEN) mdc2.DrawRectangle(0, 0, dx, dy) mdc = wx.MemoryDC() mdc.SelectObject(bitmap) mdc2.Blit(0, 0, dx, dy, mdc, 0, 0, useMask=True) mdc.SelectObject(wx.NullBitmap) mdc2.SelectObject(wx.NullBitmap) # Finally, analyze the image to find out its characteristics: self._analyze_bitmap() # -- Private Methods ------------------------------------------------------ def _analyze_bitmap(self): """ Analyzes the bitmap. """ # Get the image data: threshold = self.threshold bitmap = self.opaque_bitmap dx, dy = self.dx, self.dy image = bitmap.ConvertToImage() # Convert the bitmap data to a numpy array for analysis: data = reshape(image.GetData(), (dy, dx, 3)).astype(uint8) # Find the horizontal slices: matches = [] y, last = 0, dy - 1 max_diff = 0.10 * dx while y < last: y_data = data[y] for y2 in range(y + 1, dy): if abs(y_data - data[y2]).sum() > max_diff: break n = y2 - y if n >= threshold: matches.append((y, n)) y = y2 n = len(matches) if n == 0: if dy > 50: matches = [(0, dy)] else: matches = [(dy // 2, 1)] elif n > self.stretch_rows: matches.sort(key=lambda x: x[1], reverse=True) matches = matches[: self.stretch_rows] # Calculate and save the horizontal slice sizes: self.fdy, self.dys = self._calculate_dxy(dy, matches) # Find the vertical slices: matches = [] x, last = 0, dx - 1 max_diff = 0.10 * dy while x < last: x_data = data[:, x] for x2 in range(x + 1, dx): if abs(x_data - data[:, x2]).sum() > max_diff: break n = x2 - x if n >= threshold: matches.append((x, n)) x = x2 n = len(matches) if n == 0: if dx > 50: matches = [(0, dx)] else: matches = [(dx // 2, 1)] elif n > self.stretch_columns: matches.sort(key=lambda x: x[1], reverse=True) matches = matches[: self.stretch_columns] # Calculate and save the vertical slice sizes: self.fdx, self.dxs = self._calculate_dxy(dx, matches) # Save the border size information: self.top = min(dy // 2, self.dys[0]) self.bottom = min(dy // 2, self.dys[-1]) self.left = min(dx // 2, self.dxs[0]) self.right = min(dx // 2, self.dxs[-1]) # Find the optimal size for the borders (i.e. xleft, xright, ... ): self._find_best_borders(data) # Save the background color: x, y = (dx // 2), (dy // 2) r, g, b = data[y, x] self.bg_color = (0x10000 * r) + (0x100 * g) + b # Find the best contrasting text color (black or white): self.content_color = self._find_best_color(data, x, y) # Find the best contrasting label color: if self.xtop >= self.xbottom: self.label_color = self._find_best_color(data, x, self.xtop // 2) else: self.label_color = self._find_best_color( data, x, dy - (self.xbottom // 2) - 1 ) def _fill(self, idc, ix, iy, idx, idy, dc, x, y, dx, dy): """ Performs a stretch fill of a region of an image into a region of a window device context. """ last_x, last_y = x + dx, y + dy while y < last_y: ddy = min(idy, last_y - y) x0 = x while x0 < last_x: ddx = min(idx, last_x - x0) dc.Blit(x0, y, ddx, ddy, idc, ix, iy, useMask=True) x0 += ddx y += ddy def _calculate_dxy(self, d, matches): """ Calculate the size of all image slices for a specified set of matches. """ if len(matches) == 1: d1, d2 = matches[0] return (d - d2, [d1, d2, d - d1 - d2]) d1, d2 = matches[0] d3, d4 = matches[1] return (d - d2 - d4, [d1, d2, d3 - d1 - d2, d4, d - d3 - d4]) def _find_best_borders(self, data): """ Find the best set of image slice border sizes (e.g. for images with rounded corners, there should exist a better set of borders than the ones computed by the image slice algorithm. """ # Make sure the image size is worth bothering about: dx, dy = self.dx, self.dy if (dx < 5) or (dy < 5): return # Calculate the starting point: left = right = dx // 2 top = bottom = dy // 2 # Calculate the end points: last_y = dy - 1 last_x = dx - 1 # Mark which edges as 'scanning': t = b = l = r = True # Keep looping while at last one edge is still 'scanning': while l or r or t or b: # Calculate the current core area size: height = bottom - top + 1 width = right - left + 1 # Try to extend all edges that are still 'scanning': nl = ( l and (left > 0) and self._is_equal(data, left - 1, top, left, top, 1, height) ) nr = ( r and (right < last_x) and self._is_equal(data, right + 1, top, right, top, 1, height) ) nt = ( t and (top > 0) and self._is_equal(data, left, top - 1, left, top, width, 1) ) nb = ( b and (bottom < last_y) and self._is_equal( data, left, bottom + 1, left, bottom, width, 1 ) ) # Now check the corners of the edges: tl = ( (not nl) or (not nt) or self._is_equal(data, left - 1, top - 1, left, top, 1, 1) ) tr = ( (not nr) or (not nt) or self._is_equal(data, right + 1, top - 1, right, top, 1, 1) ) bl = ( (not nl) or (not nb) or self._is_equal( data, left - 1, bottom + 1, left, bottom, 1, 1 ) ) br = ( (not nr) or (not nb) or self._is_equal( data, right + 1, bottom + 1, right, bottom, 1, 1 ) ) # Calculate the new edge 'scanning' values: l = nl and tl and bl r = nr and tr and br t = nt and tl and tr b = nb and bl and br # Adjust the coordinate of an edge if it is still 'scanning': left -= l right += r top -= t bottom += b # Now compute the best set of image border sizes using the current set # and the ones we just calculated: self.xleft = min(self.left, left) self.xright = min(self.right, dx - right - 1) self.xtop = min(self.top, top) self.xbottom = min(self.bottom, dy - bottom - 1) def _find_best_color(self, data, x, y): """ Find the best contrasting text color for a specified pixel coordinate. """ r, g, b = data[y, x] h, l, s = rgb_to_hls(r / 255.0, g / 255.0, b / 255.0) text_color = wx.Colour(wx.BLACK) if l < 0.50: text_color = wx.Colour(wx.WHITE) return text_color def _is_equal(self, data, x0, y0, x1, y1, dx, dy): """ Determines if two identically sized regions of an image array are 'the same' (i.e. within some slight color variance of each other). """ return ( abs( data[y0 : y0 + dy, x0 : x0 + dx] - data[y1 : y1 + dy, x1 : x1 + dx] ).sum() < 0.10 * dx * dy ) # ------------------------------------------------------------------------- # Returns a (possibly cached) ImageSlice: # ------------------------------------------------------------------------- image_slice_cache = {} def image_slice_for(image): """ Returns a (possibly cached) ImageSlice. """ global image_slice_cache result = image_slice_cache.get(image) if result is None: image_slice_cache[image] = result = ImageSlice(image=image) return result traitsui-7.2.1/traitsui/wx/enum_editor.py0000644000076500000240000003552314046644454021205 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! """ Defines the various editors for single-selection enumerations, for the wxPython user interface toolkit. """ import wx from traits.api import Property from traitsui.helper import enum_values_changed from .editor import Editor from .constants import OKColor, ErrorColor from .helper import ( TraitsUIPanel, disconnect, disconnect_no_id, ) from functools import reduce # ------------------------------------------------------------------------- # 'BaseEditor' class: # ------------------------------------------------------------------------- class BaseEditor(Editor): """ Base class for enumeration editors. """ # ------------------------------------------------------------------------- # Trait definitions: # ------------------------------------------------------------------------- #: Current set of enumeration names: names = Property() #: Current mapping from names to values: mapping = Property() #: Current inverse mapping from values to names: inverse_mapping = Property() def init(self, parent): """ Finishes initializing the editor by creating the underlying toolkit widget. """ factory = self.factory if factory.name != "": self._object, self._name, self._value = self.parse_extended_name( factory.name ) self.values_changed() self._object.on_trait_change( self._values_changed, " " + self._name, dispatch="ui" ) else: self._value = lambda: self.factory.values self.values_changed() factory.on_trait_change( self._values_changed, "values", dispatch="ui" ) def _get_names(self): """ Gets the current set of enumeration names. """ return self._names def _get_mapping(self): """ Gets the current mapping. """ return self._mapping def _get_inverse_mapping(self): """ Gets the current inverse mapping. """ return self._inverse_mapping def rebuild_editor(self): """ Rebuilds the contents of the editor whenever the original factory object's **values** trait changes. """ raise NotImplementedError def values_changed(self): """ Recomputes the cached data based on the underlying enumeration model or the values of the factory. """ self._names, self._mapping, self._inverse_mapping = enum_values_changed( self._value(), self.string_value ) def _values_changed(self): """ Handles the underlying object model's enumeration set or factory's values being changed. """ self.values_changed() self.rebuild_editor() def dispose(self): """ Disposes of the contents of an editor. """ if self._object is not None: self._object.on_trait_change( self._values_changed, " " + self._name, remove=True ) else: self.factory.on_trait_change( self._values_changed, "values", remove=True ) super().dispose() # ------------------------------------------------------------------------- # 'SimpleEditor' class: # ------------------------------------------------------------------------- class SimpleEditor(BaseEditor): """ Simple style of enumeration editor, which displays a combo box. """ def init(self, parent): """ Finishes initializing the editor by creating the underlying toolkit widget. """ super().init(parent) factory = self.factory if factory.evaluate is None: self.control = control = wx.Choice( parent, -1, wx.Point(0, 0), wx.Size(-1, -1), self.names ) parent.Bind(wx.EVT_CHOICE, self.update_object, id=self.control.GetId()) else: self.control = control = wx.ComboBox( parent, -1, "", wx.Point(0, 0), wx.Size(-1, -1), self.names, style=wx.CB_DROPDOWN, ) parent.Bind(wx.EVT_COMBOBOX, self.update_object, id=control.GetId()) parent.Bind(wx.EVT_TEXT_ENTER, self.update_text_object, id=control.GetId()) control.Bind(wx.EVT_KILL_FOCUS, self.on_kill_focus) if (not factory.is_grid_cell) and factory.auto_set: parent.Bind(wx.EVT_TEXT, self.update_text_object, id=control.GetId()) self._no_enum_update = 0 self.set_tooltip() def dispose(self): """ Disposes of the contents of an editor. """ disconnect( self.control, wx.EVT_COMBOBOX, wx.EVT_TEXT_ENTER, wx.EVT_TEXT ) disconnect_no_id(self.control, wx.EVT_KILL_FOCUS) super().dispose() def update_object(self, event): """ Handles the user selecting a new value from the combo box. """ self._no_enum_update += 1 try: new_value = self.mapping[event.GetString()] if new_value == self.value and self.factory.is_grid_cell: # If the enum editor is in a grid cell and the value did not # change, we want the enum editor to go away, reverting back to # the normal cell appearance. This is for 2 reasons: # 1. it looks nicer # 2. if the grid id suddenly closed, wx freaks & causes a # segfault grid = self.control.Parent.Parent grid.EnableEditing(False) grid.EnableEditing(True) self.value = new_value except: from traitsui.api import raise_to_debug raise_to_debug() self._no_enum_update -= 1 def update_text_object(self, event): """ Handles the user typing text into the combo box text entry field. """ if self._no_enum_update == 0: value = self.control.GetValue() try: value = self.mapping[value] except: try: value = self.factory.evaluate(value) except Exception as excp: self.error(excp) return self._no_enum_update += 1 try: self.value = value self.control.SetBackgroundColour(OKColor) self.control.Refresh() except: pass self._no_enum_update -= 1 def on_kill_focus(self, event): """ Handles the control losing the keyboard focus. """ self.update_text_object(event) event.Skip() def update_editor(self): """ Updates the editor when the object trait changes externally to the editor. """ if self._no_enum_update == 0: if self.factory.evaluate is None: try: self.control.SetStringSelection( self.inverse_mapping[self.value] ) except: pass else: try: self.control.SetValue(self.str_value) except: pass def error(self, excp): """ Handles an error that occurs while setting the object's trait value. """ self.control.SetBackgroundColour(ErrorColor) self.control.Refresh() def rebuild_editor(self): """ Rebuilds the contents of the editor whenever the original factory object's **values** trait changes. """ # Note: This code is unnecessarily complex due to a strange bug in # wxWidgets implementation of the wx.Combobox control that has strange # behavior when the current text field value is one of the selection # values when 'Clear' is called. In this case, even saving and # restoring the text field value does not work, so we go to great # lengths to detect this case and avoid using 'Clear', but still get # the equivalent visual results. Modify this code at your own risk... control = self.control clear = True cur_name = None if self.factory.evaluate is not None: n = control.GetCount() cur_names = [control.GetString(i) for i in range(n)] cur_name = control.GetValue() if cur_name in self.names: clear = False include = True for i in range(n - 1, -1, -1): if cur_name == cur_names[i]: include = False else: control.Delete(i) for name in self.names: if include or (name != cur_name): control.Append(name) cur_name = None else: point = control.GetInsertionPoint() if clear: control.Clear() control.AppendItems(self.names) if cur_name is not None: self._no_enum_update += 1 control.SetValue(cur_name) control.SetInsertionPoint(point) self._no_enum_update -= 1 self.update_editor() class RadioEditor(BaseEditor): """ Enumeration editor, used for the "custom" style, that displays radio buttons. """ def init(self, parent): """ Finishes initializing the editor by creating the underlying toolkit widget. """ super().init(parent) # Create a panel to hold all of the radio buttons: self.control = TraitsUIPanel(parent, -1) self.rebuild_editor() def update_object(self, event): """ Handles the user clicking one of the custom radio buttons. """ try: self.value = event.GetEventObject().value except: pass def update_editor(self): """ Updates the editor when the object trait changes externally to the editor. """ value = self.value for button in self.control.GetChildren(): state = button.value == value button.SetValue(state) if state: button.SetFocus() def rebuild_editor(self): """ Rebuilds the contents of the editor whenever the original factory object's **values** trait changes. """ # Clear any existing content: panel = self.control panel.SetSizer(None) panel.DestroyChildren() # Get the current trait value: cur_name = self.str_value # Create a sizer to manage the radio buttons: names = self.names mapping = self.mapping n = len(names) cols = self.factory.cols rows = (n + cols - 1) // cols # incr will keep track of how to increment index so that as we traverse # the grid in row major order, the elements are added to appear in # column major order incr = [n // cols] * cols rem = n % cols for i in range(cols): incr[i] += rem > i incr[-1] = -(reduce(lambda x, y: x + y, incr[:-1], 0) - 1) # e.g for a gird: # 0 2 4 # 1 3 5 # incr should be [2, 2, -3] if cols > 1: sizer = wx.GridSizer(0, cols, 2, 4) else: sizer = wx.BoxSizer(wx.VERTICAL) # Add the set of all possible choices: style = wx.RB_GROUP index = 0 # populate the layout in row_major order for i in range(rows): for j in range(cols): if n > 0: name = label = names[index] label = self.string_value(label, str.capitalize) control = wx.RadioButton(panel, -1, label, style=style) control.value = mapping[name] style = 0 control.SetValue(name == cur_name) panel.Bind(wx.EVT_RADIOBUTTON, self.update_object, id= control.GetId()) self.set_tooltip(control) index += incr[j] n -= 1 else: control = wx.RadioButton(panel, -1, "") control.value = "" control.Show(False) sizer.Add(control, 0, wx.NORTH, 5) # Set-up the layout: panel.SetSizerAndFit(sizer) class ListEditor(BaseEditor): """ Enumeration editor, used for the "custom" style, that displays a list box. """ def init(self, parent): """ Finishes initializing the editor by creating the underlying toolkit widget. """ super().init(parent) # Create a panel to hold all of the radio buttons: self.control = wx.ListBox( parent, -1, wx.Point(0, 0), wx.Size(-1, -1), self.names, style=wx.LB_SINGLE | wx.LB_NEEDED_SB, ) parent.Bind(wx.EVT_LISTBOX, self.update_object, id=self.control.GetId()) self.set_tooltip() def dispose(self): """ Disposes of the contents of an editor. """ disconnect(self.control, wx.EVT_LISTBOX) super().dispose() def update_object(self, event): """ Handles the user selecting a list box item. """ if not self._ignore_update: value = self.control.GetStringSelection() try: value = self.mapping[value] except: try: value = self.factory.evaluate(value) except: pass try: self.value = value except: pass def update_editor(self): """ Updates the editor when the object trait changes externally to the editor. """ control = self.control try: index = control.FindString(self.inverse_mapping[self.value]) if index >= 0: control.SetSelection(index) except: pass def rebuild_editor(self): """ Rebuilds the contents of the editor whenever the original factory object's **values** trait changes. """ self._ignore_update = True self.control.Clear() self.control.AppendItems(self.names) self._ignore_update = False # fixme: Is this line necessary? self.update_editor() traitsui-7.2.1/traitsui/wx/scrubber_editor.py0000644000076500000240000004253514046644454022051 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! """ Traits UI simple, scrubber-based integer or float value editor. """ import wx from math import log10, pow from traits.api import ( Any, BaseRange, BaseEnum, Str, Float, TraitError, observe, ) from traitsui.api import View, Item, EnumEditor # FIXME: ScrubberEditor is a proxy class defined here just for backward # compatibility (represents the editor factory for scrubber editors). # The class has been moved to traitsui.editors.scrubber_editor from traitsui.editors.scrubber_editor import ScrubberEditor from traitsui.wx.editor import Editor from pyface.timer.api import do_after from .constants import ErrorColor from .image_slice import paint_parent from .helper import disconnect, disconnect_no_id, BufferDC class _ScrubberEditor(Editor): """ Traits UI simple, scrubber-based integer or float value editor. """ #: The low end of the slider range: low = Any() #: The high end of the slider range: high = Any() #: The smallest allowed increment: increment = Float() #: The current text being displayed: text = Str() #: The mapping to use (only for Enum's): mapping = Any() # -- Class Variables ------------------------------------------------------ text_styles = { "left": wx.TE_LEFT, "center": wx.TE_CENTRE, "right": wx.TE_RIGHT, } def init(self, parent): """ Finishes initializing the editor by creating the underlying toolkit widget. """ factory = self.factory # Establish the range of the slider: low_name = high_name = "" low, high = factory.low, factory.high if high <= low: low = high = None handler = self.object.trait(self.name).handler if isinstance(handler, BaseRange): low_name, high_name = handler._low_name, handler._high_name if low_name == "": low = handler._low if high_name == "": high = handler._high elif isinstance(handler, BaseEnum): if handler.name == "": self.mapping = handler.values else: self.sync_value(handler.name, "mapping", "from") low, high = 0, self.high # Create the control: self.control = control = wx.Window( parent, -1, size=wx.Size(50, 18), style=wx.FULL_REPAINT_ON_RESIZE | wx.TAB_TRAVERSAL, ) # Set up the painting event handlers: control.Bind(wx.EVT_ERASE_BACKGROUND, self._erase_background) control.Bind(wx.EVT_PAINT, self._on_paint) control.Bind(wx.EVT_SET_FOCUS, self._set_focus) # Set up mouse event handlers: control.Bind(wx.EVT_LEAVE_WINDOW, self._leave_window) control.Bind(wx.EVT_ENTER_WINDOW, self._enter_window) control.Bind(wx.EVT_LEFT_DOWN, self._left_down) control.Bind(wx.EVT_LEFT_UP, self._left_up) control.Bind(wx.EVT_MOTION, self._motion) control.Bind(wx.EVT_MOUSEWHEEL, self._mouse_wheel) # Set up the control resize handler: control.Bind(wx.EVT_SIZE, self._resize) # Set the tooltip: self._can_set_tooltip = not self.set_tooltip() # Save the values we calculated: self.trait_set(low=low, high=high) self.sync_value(low_name, "low", "from") self.sync_value(high_name, "high", "from") # Force a reset (in case low = high = None, which won't cause a # notification to fire): self._reset_scrubber() def dispose(self): """ Disposes of the contents of an editor. """ # Remove all of the wx event handlers: disconnect_no_id( self.control, wx.EVT_ERASE_BACKGROUND, wx.EVT_PAINT, wx.EVT_SET_FOCUS, wx.EVT_LEAVE_WINDOW, wx.EVT_ENTER_WINDOW, wx.EVT_LEFT_DOWN, wx.EVT_LEFT_UP, wx.EVT_MOTION, wx.EVT_MOUSEWHEEL, wx.EVT_SIZE, ) # Disconnect the pop-up text event handlers: self._disconnect_text() super().dispose() def update_editor(self): """ Updates the editor when the object trait changes externally to the editor. """ self.text = self.string_value(self.value) self._text_size = None self._refresh() self._enum_completed() def update_object(self, value): """ Updates the object when the scrubber value changes. """ if self.mapping is not None: value = self.mapping[int(value)] if value != self.value: try: self.value = value self.update_editor() except TraitError: value = int(value) if value != self.value: self.value = value self.update_editor() def error(self, excp): """ Handles an error that occurs while setting the object's trait value. """ pass # -- Trait Event Handlers ------------------------------------------------- def _mapping_changed(self, mapping): """ Handles the Enum mapping being changed. """ self.high = len(mapping) - 1 # -- Private Methods ------------------------------------------------------ @observe("low, high") def _reset_scrubber(self, event=None): """ Sets the the current tooltip. """ low, high = self.low, self.high if self._can_set_tooltip: if self.mapping is not None: tooltip = "[%s]" % (", ".join(self.mapping)) if len(tooltip) > 80: tooltip = "" elif high is None: tooltip = "" if low is not None: tooltip = "[%g..]" % low elif low is None: tooltip = "[..%g]" % high else: tooltip = "[%g..%g]" % (low, high) self.control.SetToolTip(tooltip) # Establish the slider increment: increment = self.factory.increment if increment <= 0.0: if (low is None) or (high is None) or isinstance(low, int): increment = 1.0 else: increment = pow(10, round(log10((high - low) / 100.0))) self.increment = increment self.update_editor() def _get_text_bounds(self): """ Get the window bounds of where the current text should be displayed. """ tdx, tdy, descent, leading = self._get_text_size() wdx, wdy = self.control.GetClientSize() ty = ((wdy - (tdy - descent)) // 2) - 1 alignment = self.factory.alignment if alignment == "left": tx = 0 elif alignment == "center": tx = (wdx - tdx) // 2 else: tx = wdx - tdx return (tx, ty, tdx, tdy) def _get_text_size(self): """ Returns the text size information for the window. """ if self._text_size is None: self._text_size = self.control.GetFullTextExtent( self.text.strip() or "M" ) return self._text_size def _refresh(self): """ Refreshes the contents of the control. """ if self.control is not None: self.control.Refresh() def _set_scrubber_position(self, event, delta): """ Calculates a new scrubber value for a specified mouse position change. """ clicks = 3 increment = self.increment if event.ShiftDown(): increment *= 10.0 clicks = 7 elif event.ControlDown(): increment /= 10.0 value = self._value + (delta / clicks) * increment if self.low is not None: value = max(value, self.low) if self.high is not None: value = min(value, self.high) self.update_object(value) def _delayed_click(self): """ Handle a delayed click response. """ self._pending = False def _pop_up_editor(self): """ Pop-up a text control to allow the user to enter a value using the keyboard. """ self.control.SetCursor(wx.Cursor(wx.CURSOR_ARROW)) if self.mapping is not None: self._pop_up_enum() else: self._pop_up_text() def _pop_up_enum(self): self._ui = self.object.edit_traits( view=View( Item( self.name, id="drop_down", show_label=False, padding=-4, editor=EnumEditor(name="editor.mapping"), ), kind="subpanel", ), parent=self.control, context={"object": self.object, "editor": self}, ) dx, dy = self.control.GetSize() drop_down = self._ui.info.drop_down.control drop_down.SetSize(0, 0, dx, dy) drop_down.SetFocus() drop_down.Bind(wx.EVT_KILL_FOCUS, self._enum_completed) def _pop_up_text(self): control = self.control self._text = text = wx.TextCtrl( control, -1, str(self.value), size=control.GetSize(), style=self.text_styles[self.factory.alignment] | wx.TE_PROCESS_ENTER, ) text.SetSelection(-1, -1) text.SetFocus() control.Bind(wx.EVT_TEXT_ENTER, self._text_completed, id=text.GetId()) text.Bind(wx.EVT_ENTER_WINDOW, self._enter_text) text.Bind(wx.EVT_LEAVE_WINDOW, self._leave_text) text.Bind(wx.EVT_CHAR, self._key_entered) def _destroy_text(self): """ Destroys the current text control. """ self._ignore_focus = self._in_text_window self._disconnect_text() self.control.DestroyChildren() self._text = None def _disconnect_text(self): """ Disconnects the event handlers for the pop up text editor. """ if self._text is not None: disconnect(self._text, wx.EVT_TEXT_ENTER) disconnect_no_id( self._text, wx.EVT_KILL_FOCUS, wx.EVT_ENTER_WINDOW, wx.EVT_LEAVE_WINDOW, wx.EVT_CHAR, ) def _init_value(self): """ Initializes the current value when the user begins a drag or moves the mouse wheel. """ if self.mapping is not None: try: self._value = list(self.mapping).index(self.value) except: self._value = 0 else: self._value = self.value # --- wxPython Event Handlers --------------------------------------------- def _erase_background(self, event): """ Do not erase the background here (do it in the 'on_paint' handler). """ pass def _on_paint(self, event): """ Paint the background using the associated ImageSlice object. """ control = self.control dc = BufferDC(control) # Draw the background: factory = self.factory color = factory.color_ if self._x is not None: if factory.active_color_ is not None: color = factory.active_color_ elif self._hover: if factory.hover_color_ is not None: color = factory.hover_color_ if color is None: paint_parent(dc, control) brush = wx.TRANSPARENT_BRUSH else: brush = wx.Brush(color) color = factory.border_color_ if color is not None: pen = wx.Pen(color) else: pen = wx.TRANSPARENT_PEN if (pen != wx.TRANSPARENT_PEN) or (brush != wx.TRANSPARENT_BRUSH): wdx, wdy = control.GetClientSize() dc.SetBrush(brush) dc.SetPen(pen) dc.DrawRectangle(0, 0, wdx, wdy) # Draw the current text value: dc.SetBackgroundMode(wx.TRANSPARENT) dc.SetTextForeground(factory.text_color_) dc.SetFont(control.GetFont()) tx, ty, tdx, tdy = self._get_text_bounds() dc.DrawText(self.text, tx, ty) # Copy the buffer contents to the display: dc.copy() def _resize(self, event): """ Handles the control being resized. """ if self._text is not None: self._text.SetSize(self.control.GetSize()) def _set_focus(self, event): """ Handle the control getting the keyboard focus. """ if ( (not self._ignore_focus) and (self._x is None) and (self._text is None) ): self._pop_up_editor() event.Skip() def _enter_window(self, event): """ Handles the mouse entering the window. """ self._hover = True self.control.SetCursor(wx.Cursor(wx.CURSOR_HAND)) if not self._ignore_focus: self._ignore_focus = True self.control.SetFocus() self._ignore_focus = False if self._x is not None: if self.factory.active_color_ != self.factory.color_: self.control.Refresh() elif self.factory.hover_color_ != self.factory.color_: self.control.Refresh() def _leave_window(self, event): """ Handles the mouse leaving the window. """ self._hover = False if self.factory.hover_color_ != self.factory.color_: self.control.Refresh() def _left_down(self, event): """ Handles the left mouse being pressed. """ self._x, self._y = event.GetX(), event.GetY() self._pending = True self._init_value() self.control.CaptureMouse() if self.factory.active_color_ != self.factory.hover_color_: self.control.Refresh() do_after(200, self._delayed_click) def _left_up(self, event): """ Handles the left mouse button being released. """ self.control.ReleaseMouse() if self._pending: self._pop_up_editor() self._x = self._y = self._value = self._pending = None if self._hover or (self.factory.active_color_ != self.factory.color_): self.control.Refresh() def _motion(self, event): """ Handles the mouse moving. """ if self._x is not None: x, y = event.GetX(), event.GetY() dx = x - self._x adx = abs(dx) dy = y - self._y ady = abs(dy) if self._pending: if (adx + ady) < 3: return self._pending = False if adx > ady: delta = dx else: delta = -dy self._set_scrubber_position(event, delta) def _mouse_wheel(self, event): """ Handles the mouse wheel moving. """ if self._hover: self._init_value() clicks = 3 if event.ShiftDown(): clicks = 7 delta = clicks * (event.GetWheelRotation() // event.GetWheelDelta()) self._set_scrubber_position(event, delta) def _update_value(self, event): """ Updates the object value from the current text control value. """ control = event.GetEventObject() try: self.update_object(float(control.GetValue())) return True except TraitError: control.SetBackgroundColour(ErrorColor) control.Refresh() return False def _enter_text(self, event): """ Handles the mouse entering the pop-up text control. """ self._in_text_window = True def _leave_text(self, event): """ Handles the mouse leaving the pop-up text control. """ self._in_text_window = False def _text_completed(self, event): """ Handles the user pressing the 'Enter' key in the text control. """ if isinstance(event, wx.FocusEvent): event.Skip() if self._update_value(event): self._destroy_text() def _enum_completed(self, event=None): """ Handles the Enum drop-down control losing focus. """ if self._ui is not None: self._ignore_focus = True disconnect_no_id( self._ui.info.drop_down.control, wx.EVT_KILL_FOCUS ) self._ui.dispose() del self._ui def _key_entered(self, event): """ Handles individual key strokes while the text control is active. """ key_code = event.GetKeyCode() if key_code == wx.WXK_ESCAPE: self._destroy_text() return if key_code == wx.WXK_TAB: if self._update_value(event): if event.ShiftDown(): self.control.Navigate(0) else: self.control.Navigate() return event.Skip() traitsui-7.2.1/traitsui/wx/compound_editor.py0000644000076500000240000000527014046644454022061 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! """ Defines the compound editor and the compound editor factory for the wxPython user interface toolkit. """ import wx from traits.api import Str from .editor import Editor from .helper import TraitsUIPanel # ------------------------------------------------------------------------- # 'CompoundEditor' class: # ------------------------------------------------------------------------- class CompoundEditor(Editor): """ Editor for compound traits, which displays editors for each of the combined traits, in the appropriate style. """ # ------------------------------------------------------------------------- # Trait definitions: # ------------------------------------------------------------------------- #: The kind of editor to create for each list item kind = Str() def init(self, parent): """ Finishes initializing the editor by creating the underlying toolkit widget. """ # Create a panel to hold all of the component trait editors: self.control = panel = TraitsUIPanel(parent, -1) sizer = wx.BoxSizer(wx.VERTICAL) # Add all of the component trait editors: self._editors = editors = [] for factory in self.factory.editors: editor = getattr(factory, self.kind)( self.ui, self.object, self.name, self.description, panel ) editor.prepare(panel) sizer.Add( editor.control, 1, wx.TOP | wx.BOTTOM | editor.layout_style, 3 ) editors.append(editor) # Set-up the layout: panel.SetSizerAndFit(sizer) self.set_tooltip() def update_editor(self): """ Updates the editor when the object trait changes externally to the editor. """ pass def dispose(self): """ Disposes of the contents of an editor. """ for editor in self._editors: editor.dispose() super().dispose() class SimpleEditor(CompoundEditor): #: The kind of editor to create for each list item. This value overrides #: the default. kind = "simple_editor" class CustomEditor(CompoundEditor): #: The kind of editor to create for each list item. This value overrides #: the default. kind = "custom_editor" traitsui-7.2.1/traitsui/wx/editor.py0000644000076500000240000001777614046644454020173 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! """ Defines the base class for wxPython editors. """ import wx from traits.api import HasTraits, Int, Instance, Str, Callable # CIRCULAR IMPORT FIXME: # We are importing from the source instead of from the api in order to # avoid circular imports. The 'toolkit.py' file imports from 'helper' which in # turns imports from this file. Therefore, trying to import # 'traitsui.wx' (which imports the toolkit) will lead to importing # all of the editor factories declared in traitsui.api. In addition,# some of the editor factories have a Color trait defined, and this will lead # to an import of the wx 'toolkit' causing a circular import problem. # Another solution could be to move the GroupEditor object from helper to this # file. from traitsui.editor import Editor as UIEditor from .constants import WindowColor, OKColor, ErrorColor class Editor(UIEditor): """ Base class for wxPython editors for Traits-based UIs. """ # ------------------------------------------------------------------------- # Trait definitions: # ------------------------------------------------------------------------- #: Style for embedding control in a sizer: layout_style = Int(wx.EXPAND) #: The maximum extra padding that should be allowed around the editor: border_size = Int(4) def _control_changed(self, control): """ Handles the **control** trait being set. """ if control is not None: control._editor = self def set_focus(self): """ Assigns focus to the editor's underlying toolkit widget. """ if self.control is not None: self.control.SetFocus() def update_editor(self): """ Updates the editor when the object trait changes externally to the editor. """ new_value = self.str_value if self.control.GetValue() != new_value: self.control.SetValue(new_value) def error(self, excp): """ Handles an error that occurs while setting the object's trait value. """ dlg = wx.MessageDialog( self.control, str(excp), self.description + " value error", wx.OK | wx.ICON_INFORMATION, ) dlg.ShowModal() dlg.Destroy() def set_tooltip_text(self, control, text): """ Sets the tooltip for a specified control. """ control.SetToolTip(text) def _enabled_changed(self, enabled): """ Handles the **enabled** state of the editor being changed. """ control = self.control if control is not None: control.Enable(enabled) control.Refresh() if self.label_control is not None: self.label_control.Enable(enabled) self.label_control.Refresh() def _visible_changed(self, visible): """ Handles the **visible** state of the editor being changed. """ control = self.control parent = control.GetParent() # Handle the case where the item whose visibility has changed is a # notebook page: sizer = parent.GetSizer() from pyface.dock.api import DockSizer if isinstance(sizer, DockSizer): dock_controls = sizer.GetContents().get_controls(False) for dock_control in dock_controls: if dock_control.control is control: dock_control.visible = visible sizer.Layout() # Handle a normal item: else: if self.label_control is not None: self.label_control.Show(visible) control.Show(visible) # If only control.Layout() is called there are certain cases where # the newly visible items are sized incorrectly (see ticket 1797) if parent is None: control.Layout() else: parent.Layout() def get_error_control(self): """ Returns the editor's control for indicating error status. """ return self.control def in_error_state(self): """ Returns whether or not the editor is in an error state. """ return False def set_error_state(self, state=None, control=None): """ Sets the editor's current error state. """ if state is None: state = self.invalid state = state or self.in_error_state() if control is None: control = self.get_error_control() or [] if not isinstance(control, list): control = [control] for item in control: if state: color = ErrorColor if getattr(item, "_ok_color", None) is None: item._ok_color = item.GetBackgroundColour() else: color = getattr(item, "_ok_color", None) if color is None: color = OKColor if isinstance(item, wx.Panel): color = WindowColor item.SetBackgroundColour(color) item.Refresh() def _invalid_changed(self, state): """ Handles the editor's invalid state changing. """ self.set_error_state() class EditorWithList(Editor): """ Editor for an object that contains a list. """ # ------------------------------------------------------------------------- # Trait definitions: # ------------------------------------------------------------------------- #: Object containing the list being monitored list_object = Instance(HasTraits) #: Name of the monitored trait list_name = Str() #: Function used to evaluate the current list object value: list_value = Callable() def init(self, parent): """ Initializes the object. """ factory = self.factory name = factory.name if name != "": self.list_object, self.list_name, self.list_value = self.parse_extended_name( name ) else: self.list_object, self.list_name = factory, "values" self.list_value = lambda: factory.values self.list_object.on_trait_change( self._list_updated, self.list_name + "[]", dispatch="ui" ) self._list_updated() def dispose(self): """ Disconnects the listeners set up by the constructor. """ self.list_object.on_trait_change( self._list_updated, self.list_name + "[]", remove=True ) super().dispose() def _list_updated(self): """ Handles the monitored trait being updated. """ self.list_updated(self.list_value()) def list_updated(self, values): """ Handles the monitored list being updated. """ raise NotImplementedError class EditorFromView(Editor): """ An editor generated from a View object. """ def init(self, parent): """ Initializes the object. """ self._ui = ui = self.init_ui(parent) if ui.history is None: ui.history = self.ui.history self.control = ui.control def init_ui(self, parent): """ Creates and returns the traits UI defined by this editor. (Must be overridden by a subclass). """ raise NotImplementedError def update_editor(self): """ Updates the editor when the object trait changes externally to the editor. """ # Normally nothing needs to be done here, since it should all be handled # by the editor's internally created traits UI: pass def dispose(self): """ Disposes of the editor. """ self._ui.dispose() super().dispose() traitsui-7.2.1/traitsui/wx/key_binding_editor.py0000644000076500000240000001245414046644454022521 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! """ Defines the key binding editor for use with the KeyBinding class. This is a specialized editor used to associate a particular key with a control (i.e., the key binding editor). """ import wx from traits.api import Bool, Event from pyface.wx.dialog import confirmation from .editor import Editor from .key_event_to_name import key_event_to_name # ------------------------------------------------------------------------- # 'KeyBindingEditor' class: # ------------------------------------------------------------------------- class KeyBindingEditor(Editor): """ An editor for modifying bindings of keys to controls. """ # ------------------------------------------------------------------------- # Trait definitions: # ------------------------------------------------------------------------- #: Does the editor's control have focus currently? has_focus = Bool(False) #: Keyboard event key = Event() #: Clear field event clear = Event() def init(self, parent): """ Finishes initializing the editor by creating the underlying toolkit widget. """ self.control = KeyBindingCtrl(self, parent, size=wx.Size(160, 19)) def update_object(self, event): """ Handles the user entering input data in the edit control. """ try: self.value = value = key_event_to_name(event) self._binding.text = value except: pass def update_editor(self): """ Updates the editor when the object trait changes externally to the editor. """ self.control.Refresh() def update_focus(self, has_focus): """ Updates the current focus setting of the control. """ if has_focus: self._binding.border_size = 1 self.object.owner.focus_owner = self._binding def _key_changed(self, event): """ Handles a keyboard event. """ binding = self.object key_name = key_event_to_name(event) cur_binding = binding.owner.key_binding_for(binding, key_name) if cur_binding is not None: if ( confirmation( None, "'%s' has already been assigned to '%s'.\n" "Do you wish to continue?" % (key_name, cur_binding.description), "Duplicate Key Definition", ) == 5104 ): return self.value = key_name def _clear_changed(self): """ Handles a clear field event. """ self.value = "" class KeyBindingCtrl(wx.Window): """ wxPython control for editing key bindings. """ def __init__( self, editor, parent, wid=-1, pos=wx.DefaultPosition, size=wx.DefaultSize, ): super().__init__( parent, wid, pos, size, style=wx.CLIP_CHILDREN | wx.WANTS_CHARS ) # Save the reference to the controlling editor object: self.editor = editor # Indicate we don't have the focus right now: editor.has_focus = False # Set up the 'erase background' event handler: self.Bind(wx.EVT_ERASE_BACKGROUND, self._on_erase_background) # Set up the 'paint' event handler: self.Bind(wx.EVT_PAINT, self._paint) # Set up the focus change handlers: self.Bind(wx.EVT_SET_FOCUS, self._get_focus) self.Bind(wx.EVT_KILL_FOCUS, self._lose_focus) # Set up mouse event handlers: self.Bind(wx.EVT_LEFT_DOWN, self._set_focus) self.Bind(wx.EVT_LEFT_DCLICK, self._clear_contents) # Handle key events: self.Bind(wx.EVT_CHAR, self._on_char) def _on_char(self, event): """ Handle keyboard keys being pressed. """ self.editor.key = event def _on_erase_background(self, event): pass def _paint(self, event): """ Updates the screen. """ wdc = wx.PaintDC(self) dx, dy = self.GetSize() if self.editor.has_focus: wdc.SetPen(wx.Pen(wx.RED, 2)) wdc.DrawRectangle(1, 1, dx - 1, dy - 1) else: wdc.SetPen(wx.Pen(wx.BLACK)) wdc.DrawRectangle(0, 0, dx, dy) wdc.SetFont(self.GetFont()) wdc.DrawText(self.editor.str_value, 5, 3) def _set_focus(self, event): """ Sets the keyboard focus to this window. """ self.SetFocus() def _get_focus(self, event): """ Handles getting the focus. """ self.editor.has_focus = True self.Refresh() def _lose_focus(self, event): """ Handles losing the focus. """ self.editor.has_focus = False self.Refresh() def _clear_contents(self, event): """ Handles the user double clicking the control to clear its contents. """ self.editor.clear = True traitsui-7.2.1/traitsui/wx/ui_window.py0000644000076500000240000000563714046644454020702 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! """ A base class for creating custom Traits UI windows. """ import wx from traits.api import HasPrivateTraits, Instance, Property from .helper import init_wx_handlers, BufferDC # ------------------------------------------------------------------------- # 'UIWindow' class: # ------------------------------------------------------------------------- class UIWindow(HasPrivateTraits): """ A base class for creating custom Traits UI windows. """ #: The wx.Window associated with this custom window: control = Instance(wx.Window) #: The initial size of the window: size = Instance(wx.Size, (-1, -1)) #: The current width of the window: width = Property() #: The current height of the window: height = Property() # -- Public Methods ------------------------------------------------------- def __init__(self, parent, **traits): """ Creates and initializes the window. """ super().__init__(**traits) self.control = wx.Window( parent, -1, size=self.size, style=wx.FULL_REPAINT_ON_RESIZE ) init_wx_handlers(self.control, self) def refresh(self, x=None, y=None, dx=None, dy=None): """ Refreshes the contents of the window. """ if self.control is not None: if x is None: self.control.Refresh() else: self.control.Refresh(x, y, dx, dy) def capture(self): """ Capture the mouse. """ self.control.CaptureMouse() def release(self): """ Release the mouse. """ self.control.ReleaseMouse() # -- wxPython Event Handlers ---------------------------------------------- def _erase_background(self, event): """ Never, ever, do anything in this handler. """ pass def _paint(self, event): """ Paints the contents of the window. """ dc = BufferDC(self.control) self._paint_dc(dc) dc.copy() def _paint_dc(self, dc): """ This method should be overridden by sub-classes to do the actual window painting. """ pass # -- Property Implementations --------------------------------------------- def _get_width(self): return self.control.GetClientSize()[0] def _set_width(self, width): self.control.SetSize(width, self.height) def _get_height(self): return self.control.GetClientSize()[1] def _set_height(self, height): self.control.SetSize(self.width, height) traitsui-7.2.1/traitsui/wx/button_editor.py0000644000076500000240000000751114046644454021550 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! """ Defines the various button editors for the wxPython user interface toolkit. """ import wx from pyface.ui_traits import Image from traits.api import Str, observe from .editor import Editor # ------------------------------------------------------------------------- # 'SimpleEditor' class: # ------------------------------------------------------------------------- class SimpleEditor(Editor): """ Simple style editor for a button. """ # ------------------------------------------------------------------------- # Trait definitions: # ------------------------------------------------------------------------- #: The button label label = Str() def init(self, parent): """ Finishes initializing the editor by creating the underlying toolkit widget. """ label = self.factory.label or self.item.get_label(self.ui) self.control = wx.Button(parent, -1, self.string_value(label)) self.sync_value(self.factory.label_value, "label", "from") self.control.Bind(wx.EVT_BUTTON, self.update_object) self.set_tooltip() def _label_changed(self, label): self.control.SetLabel(self.string_value(label)) def update_object(self, event): """ Handles the user clicking the button by setting the factory value on the object. """ factory = self.factory self.value = factory.value # If there is an associated view, then display it: if factory.view is not None: self.object.edit_traits(view=factory.view, parent=self.control) def update_editor(self): """ Updates the editor when the object trait changes externally to the editor. """ pass def dispose(self): """ Disposes of the contents of an editor. """ self.control.Unbind(wx.EVT_BUTTON) super().dispose() class CustomEditor(SimpleEditor): """ Custom style editor for a button, which can contain an image. """ #: The button image image = Image() def init(self, parent): """ Finishes initializing the editor by creating the underlying toolkit widget. """ from pyface.ui.wx.image_button import ImageButton factory = self.factory if self.factory.label: label = self.factory.label else: label = self.item.get_label(self.ui) self._control = ImageButton( parent, label=self.string_value(label), image=factory.image, style=factory.style, orientation=factory.orientation, width_padding=factory.width_padding, height_padding=factory.height_padding, ) self.control = self._control.control self._control.on_trait_change( self.update_object, "clicked", dispatch="ui" ) self.sync_value(self.factory.label_value, "label", "from") self.sync_value(self.factory.image_value, "image", "from") self.set_tooltip() def _label_changed(self, label): self._control.label = self.string_value(label) @observe("image") def _image_updated(self, event): image = event.new self._control.image = image def dispose(self): """ Disposes of the contents of an editor. """ self._control.on_trait_change( self.update_object, "clicked", remove=True ) super().dispose() traitsui-7.2.1/traitsui/wx/time_editor.py0000644000076500000240000000512714046644454021174 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! """ A Traits UI editor that wraps a WX timer control. Future Work ----------- The only editor provided is an editable and constrained "XX:XX:XX XM" field. At the minimum, a spinner should be provided so the time can be changed without the need for a keyboard. In addition we need to extend to provide all four of the basic editor types, Simple, Custom, Text, and Readonly. """ import datetime import wx.adv from traitsui.wx.editor import Editor from traitsui.wx.text_editor import ReadonlyEditor as TextReadonlyEditor class SimpleEditor(Editor): """ Traits UI time editor. """ def init(self, parent): """ Finishes initializing the editor by creating the underlying toolkit widget. """ tctl = wx.adv.TimePickerCtrl(parent, -1, name="12 hour control") self.control = tctl self.control.Bind(wx.adv.EVT_TIME_CHANGED, self.time_updated) return def time_updated(self, event): """ Event for when the wx time control is updated. """ time = self.control.GetValue() hour = time.GetHour() minute = time.GetMinute() second = time.GetSecond() self.value = datetime.time(hour, minute, second) return def update_editor(self): """ Updates the editor when the object trait changes externally to the editor. """ if self.value: time = self.control.GetValue() time.SetHour(self.value.hour) time.SetMinute(self.value.minute) time.SetSecond(self.value.second) self.control.SetValue(time) return # TODO: Write me. Possibly use TextEditor as a model to show a string # representation of the time, and have enter-set do a time evaluation. class TextEditor(SimpleEditor): pass # TODO: Write me. class CustomEditor(SimpleEditor): pass class ReadonlyEditor(TextReadonlyEditor): """ Use a TextEditor for the view. """ def _get_str_value(self): """ Replace the default string value with our own time version. """ if self.value is None: return self.factory.message else: return self.value.strftime(self.factory.strftime) traitsui-7.2.1/traitsui/wx/tabular_editor.py0000644000076500000240000012300214046644454021661 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! """ A traits UI editor for editing tabular data (arrays, list of tuples, lists of objects, etc). """ import wx import wx.lib.mixins.listctrl as listmix from traits.api import ( HasStrictTraits, Int, List, Bool, Instance, Any, Event, Property, TraitListEvent, ) # FIXME: TabularEditor (the editor factory for tabular editors) is a proxy class # defined here just for backward compatibility. The class has been moved to the # traitsui.editors.tabular_editor file. from traitsui.editors.tabular_editor import TabularEditor from traitsui.ui_traits import Image from traitsui.tabular_adapter import TabularAdapter from traitsui.wx.editor import Editor from pyface.image_resource import ImageResource from pyface.timer.api import do_later from .constants import is_mac, scrollbar_dx try: from pyface.wx.drag_and_drop import PythonDropSource, PythonDropTarget except: PythonDropSource = PythonDropTarget = None # Mapping for trait alignment values to wx alignment values: alignment_map = { "left": wx.LIST_FORMAT_LEFT, "center": wx.LIST_FORMAT_CENTRE, "right": wx.LIST_FORMAT_RIGHT, } class TextEditMixin(listmix.TextEditMixin): def __init__(self, edit_labels): """ edit_labels controls whether the first column is editable """ self.edit_labels = edit_labels listmix.TextEditMixin.__init__(self) def OpenEditor(self, col, row): if col == 0 and not self.edit_labels: return else: return listmix.TextEditMixin.OpenEditor(self, col, row) class wxListCtrl(wx.ListCtrl, TextEditMixin): """ Subclass of wx.ListCtrl to provide correct virtual list behavior. """ def __init__( self, parent, ID, pos=wx.DefaultPosition, size=wx.DefaultSize, style=0, can_edit=False, edit_labels=False, ): wx.ListCtrl.__init__(self, parent, ID, pos, size, style) # if the selected is editable, then we have to init the mixin if can_edit: TextEditMixin.__init__(self, edit_labels) def make_editor(self, col_style=wx.LIST_FORMAT_LEFT): # override implementation in base class due to issue with destroying # editor style = wx.TE_PROCESS_ENTER | wx.TE_PROCESS_TAB | wx.TE_RICH2 style |= { wx.LIST_FORMAT_LEFT: wx.TE_LEFT, wx.LIST_FORMAT_RIGHT: wx.TE_RIGHT, wx.LIST_FORMAT_CENTRE: wx.TE_CENTRE, }[col_style] editor = wx.TextCtrl(self, -1, style=style) editor.SetBackgroundColour(self.editorBgColour) editor.SetForegroundColour(self.editorFgColour) font = self.GetFont() editor.SetFont(font) self.curRow = 0 self.curCol = 0 editor.Hide() # Base class does explicit Destroy call here. Should not be needed. # Excised code is as follows: # if hasattr(self, 'editor'): # self.editor.Destroy() # Dropping the reference to the editor should result in the # destruction of the underlying C++ widget just fine. self.editor = editor self.col_style = col_style self.editor.Bind(wx.EVT_CHAR, self.OnChar) self.editor.Bind(wx.EVT_KILL_FOCUS, self.CloseEditor) def SetVirtualData(self, row, col, text): # this method is called but the job is already done by # the _end_label_edit method. Commmented code is availabed # if needed pass # edit = self._editor # return editor.adapter.set_text( editor.object, editor.name, # row, col, text ) def OnGetItemAttr(self, row): """ Returns the display attributes to use for the specified list item. """ # fixme: There appears to be a bug in wx in that they do not correctly # manage the reference count for the returned object, and it seems to be # gc'ed before they finish using it. So we store an object reference to # it to prevent it from going away too soon... self._attr = attr = wx.ItemAttr() editor = self._editor object, name = editor.object, editor.name color = editor.adapter.get_bg_color(object, name, row) if color is not None: attr.SetBackgroundColour(color) color = editor.adapter.get_text_color(object, name, row) if color is not None: attr.SetTextColour(color) font = editor.adapter.get_font(object, name, row) if font is not None: attr.SetFont(font) return attr def OnGetItemImage(self, row): """ Returns the image index to use for the specified list item. """ editor = self._editor image = editor._get_image( editor.adapter.get_image(editor.object, editor.name, row, 0) ) if image is not None: return image return -1 def OnGetItemColumnImage(self, row, column): """ Returns the image index to use for the specified list item. """ editor = self._editor image = editor._get_image( editor.adapter.get_image(editor.object, editor.name, row, column) ) if image is not None: return image return -1 def OnGetItemText(self, row, column): """ Returns the text to use for the specified list item. """ editor = self._editor return editor.adapter.get_text(editor.object, editor.name, row, column) class TabularEditor(Editor): """ A traits UI editor for editing tabular data (arrays, list of tuples, lists of objects, etc). """ # -- Trait Definitions ---------------------------------------------------- #: The event fired when a table update is needed: update = Event() #: The event fired when a simple repaint is needed: refresh = Event() #: The current set of selected items (which one is used depends upon the #: initial state of the editor factory 'multi_select' trait): selected = Any() multi_selected = List() #: The current set of selected item indices (which one is used depends upon #: the initial state of the editor factory 'multi_select' trait): selected_row = Int(-1) multi_selected_rows = List(Int) #: The most recently actived item and its index: activated = Any() activated_row = Int() #: The most recent left click data: clicked = Instance("TabularEditorEvent") #: The most recent left double click data: dclicked = Instance("TabularEditorEvent") #: The most recent right click data: right_clicked = Instance("TabularEditorEvent") #: The most recent right double click data: right_dclicked = Instance("TabularEditorEvent") #: The most recent column click data: column_clicked = Instance("TabularEditorEvent") #: Is the tabular editor scrollable? This value overrides the default. scrollable = True #: Row index of item to select after rebuilding editor list: row = Any() #: Should the selected item be edited after rebuilding the editor list: edit = Bool(False) #: The adapter from trait values to editor values: adapter = Instance(TabularAdapter) #: Dictionary mapping image names to wx.ImageList indices: images = Any({}) #: Dictionary mapping ImageResource objects to wx.ImageList indices: image_resources = Any({}) #: An image being converted: image = Image #: Flag for marking whether the update was within the visible area _update_visible = Bool(False) def init(self, parent): """ Finishes initializing the editor by creating the underlying toolkit widget. """ factory = self.factory # Set up the adapter to use: self.adapter = factory.adapter # Determine the style to use for the list control: style = wx.LC_REPORT | wx.LC_VIRTUAL | wx.BORDER_NONE if factory.editable_labels: style |= wx.LC_EDIT_LABELS if factory.horizontal_lines: style |= wx.LC_HRULES if factory.vertical_lines: style |= wx.LC_VRULES if not factory.multi_select: style |= wx.LC_SINGLE_SEL if not factory.show_titles: style |= wx.LC_NO_HEADER # Create the list control and link it back to us: self.control = control = wxListCtrl( parent, -1, style=style, can_edit=factory.editable, edit_labels=factory.editable_labels, ) control._editor = self # Create the list control column: # fixme: what do we do here? # control.InsertColumn( 0, '' ) # Set up the list control's event handlers: id = control.GetId() parent.Bind(wx.EVT_LIST_BEGIN_DRAG, self._begin_drag, id=id) parent.Bind(wx.EVT_LIST_BEGIN_LABEL_EDIT, self._begin_label_edit, id=id) parent.Bind(wx.EVT_LIST_END_LABEL_EDIT, self._end_label_edit, id=id) parent.Bind(wx.EVT_LIST_ITEM_SELECTED, self._item_selected, id=id) parent.Bind(wx.EVT_LIST_ITEM_DESELECTED, self._item_selected, id=id) parent.Bind(wx.EVT_LIST_KEY_DOWN, self._key_down, id=id) parent.Bind(wx.EVT_LIST_ITEM_ACTIVATED, self._item_activated, id=id) parent.Bind(wx.EVT_LIST_COL_END_DRAG, self._size_modified, id=id) parent.Bind(wx.EVT_LIST_COL_RIGHT_CLICK, self._column_right_clicked, id=id) parent.Bind(wx.EVT_LIST_COL_CLICK, self._column_clicked, id=id) control.Bind(wx.EVT_LEFT_DOWN, self._left_down) control.Bind(wx.EVT_LEFT_DCLICK, self._left_dclick) control.Bind(wx.EVT_RIGHT_DOWN, self._right_down) control.Bind(wx.EVT_RIGHT_DCLICK, self._right_dclick) control.Bind(wx.EVT_MOTION, self._motion) control.Bind(wx.EVT_SIZE, self._size_modified) # Set up the drag and drop target: if PythonDropTarget is not None: control.SetDropTarget(PythonDropTarget(self)) # Set up the selection listener (if necessary): if factory.multi_select: self.sync_value( factory.selected, "multi_selected", "both", is_list=True ) self.sync_value( factory.selected_row, "multi_selected_rows", "both", is_list=True, ) else: self.sync_value(factory.selected, "selected", "both") self.sync_value(factory.selected_row, "selected_row", "both") # Synchronize other interesting traits as necessary: self.sync_value(factory.update, "update", "from", is_event=True) self.sync_value(factory.refresh, "refresh", "from", is_event=True) self.sync_value(factory.activated, "activated", "to") self.sync_value(factory.activated_row, "activated_row", "to") self.sync_value(factory.clicked, "clicked", "to") self.sync_value(factory.dclicked, "dclicked", "to") self.sync_value(factory.right_clicked, "right_clicked", "to") self.sync_value(factory.right_dclicked, "right_dclicked", "to") self.sync_value(factory.column_clicked, "column_clicked", "to") # Make sure we listen for 'items' changes as well as complete list # replacements: try: self.context_object.on_trait_change( self.update_editor, self.extended_name + "_items", dispatch="ui", ) except: pass # If the user has requested automatic update, attempt to set up the # appropriate listeners: if factory.auto_update: self.context_object.on_trait_change( self.refresh_editor, self.extended_name + ".-", dispatch="ui" ) # Create the mapping from user supplied images to wx.ImageList indices: for image_resource in factory.images: self._add_image(image_resource) # Refresh the editor whenever the adapter changes: self.on_trait_change(self._refresh, "adapter.+update", dispatch="ui") # Rebuild the editor columns and headers whenever the adapter's # 'columns' changes: self.on_trait_change( self._rebuild_all, "adapter.columns", dispatch="ui" ) # Make sure the tabular view gets initialized: self._rebuild() # Set the list control's tooltip: self.set_tooltip() def dispose(self): """ Disposes of the contents of an editor. """ # Remove all of the wx event handlers: control = self.control parent = control.GetParent() id = control.GetId() parent.Bind(wx.EVT_LIST_BEGIN_DRAG, None, id=id) parent.Bind(wx.EVT_LIST_BEGIN_LABEL_EDIT, None, id=id) parent.Bind(wx.EVT_LIST_END_LABEL_EDIT, None, id=id) parent.Bind(wx.EVT_LIST_ITEM_SELECTED, None, id=id) parent.Bind(wx.EVT_LIST_ITEM_DESELECTED, None, id=id) parent.Bind(wx.EVT_LIST_KEY_DOWN, None, id=id) parent.Bind(wx.EVT_LIST_ITEM_ACTIVATED, None, id=id) parent.Bind(wx.EVT_LIST_COL_END_DRAG, None, id=id) parent.Bind(wx.EVT_LIST_COL_RIGHT_CLICK, None, id=id) parent.Bind(wx.EVT_LIST_COL_CLICK, None, id=id) control.Unbind(wx.EVT_LEFT_DOWN) control.Unbind(wx.EVT_LEFT_DCLICK) control.Unbind(wx.EVT_RIGHT_DOWN) control.Unbind(wx.EVT_RIGHT_DCLICK) control.Unbind(wx.EVT_MOTION) control.Unbind(wx.EVT_SIZE) self.context_object.on_trait_change( self.update_editor, self.extended_name + "_items", remove=True ) if self.factory.auto_update: self.context_object.on_trait_change( self.refresh_editor, self.extended_name + ".-", remove=True ) self.on_trait_change(self._refresh, "adapter.+update", remove=True) self.on_trait_change(self._rebuild_all, "adapter.columns", remove=True) super().dispose() def _update_changed(self, event): """ Handles the 'update' event being fired. """ if event is True: self.update_editor() elif isinstance(event, int): self._refresh_row(event) else: self._refresh_editor(event) def refresh_editor(self, item, name, old, new): """ Handles a table item attribute being changed. """ self._refresh_editor(item) def _refresh_editor(self, item): """ Handles a table item being changed. """ adapter = self.adapter object, name = self.object, self.name agi = adapter.get_item for row in range(adapter.len(object, name)): if item is agi(object, name, row): self._refresh_row(row) return self.update_editor() def _refresh_row(self, row): """ Updates the editor control when a specified table row changes. """ self.control.RefreshRect( self.control.GetItemRect(row, wx.LIST_RECT_BOUNDS) ) def _update_editor(self, object, name, old_value, new_value): """ Performs updates when the object trait changes. Overloads traitsui.editor.UIEditor """ self._update_visible = True super()._update_editor(object, name, old_value, new_value) def update_editor(self): """ Updates the editor when the object trait changes externally to the editor. """ control = self.control n = self.adapter.len(self.object, self.name) top = control.GetTopItem() pn = control.GetCountPerPage() bottom = min(top + pn - 1, n) control.SetItemCount(n) if self._update_visible: control.RefreshItems(0, n - 1) self._update_visible = False if len(self.multi_selected_rows) > 0: self._multi_selected_rows_changed(self.multi_selected_rows) if len(self.multi_selected) > 0: self._multi_selected_changed(self.multi_selected) edit, self.edit = self.edit, False row, self.row = self.row, None if row is not None: if row >= n: row -= 1 if row < 0: row = None if row is None: visible = bottom if visible >= 0 and visible < control.GetItemCount(): control.EnsureVisible(visible) return if 0 <= (row - top) < pn: control.EnsureVisible(min(top + pn - 2, control.GetItemCount() - 1)) elif row < top: control.EnsureVisible(min(row + pn - 1, control.GetItemCount() - 1)) else: control.EnsureVisible(row) control.SetItemState( row, wx.LIST_STATE_SELECTED | wx.LIST_STATE_FOCUSED, wx.LIST_STATE_SELECTED | wx.LIST_STATE_FOCUSED, ) if edit: control.EditLabel(row) # -- Trait Event Handlers ------------------------------------------------- def _selected_changed(self, selected): """ Handles the editor's 'selected' trait being changed. """ if not self._no_update: if selected is None: for row in self._get_selected(): self.control.SetItemState(row, 0, wx.LIST_STATE_SELECTED) else: try: self.control.SetItemState( self.value.index(selected), wx.LIST_STATE_SELECTED, wx.LIST_STATE_SELECTED, ) except: pass def _selected_row_changed(self, old, new): """ Handles the editor's 'selected_index' trait being changed. """ if not self._no_update: if new < 0: if old >= 0: self.control.SetItemState(old, 0, wx.LIST_STATE_SELECTED) else: self.control.SetItemState( new, wx.LIST_STATE_SELECTED, wx.LIST_STATE_SELECTED ) def _multi_selected_changed(self, selected): """ Handles the editor's 'multi_selected' trait being changed. """ if not self._no_update: values = self.value try: self._multi_selected_rows_changed( [values.index(item) for item in selected] ) except: pass def _multi_selected_items_changed(self, event): """ Handles the editor's 'multi_selected' trait being modified. """ values = self.value try: self._multi_selected_rows_items_changed( TraitListEvent( index=0, removed=[values.index(item) for item in event.removed], added=[values.index(item) for item in event.added], ) ) except: pass def _multi_selected_rows_changed(self, selected_rows): """ Handles the editor's 'multi_selected_rows' trait being changed. """ if not self._no_update: control = self.control selected = self._get_selected() # Select any new items that aren't already selected: for row in selected_rows: if row in selected: selected.remove(row) else: control.SetItemState( row, wx.LIST_STATE_SELECTED, wx.LIST_STATE_SELECTED ) # Unselect all remaining selected items that aren't selected now: for row in selected: control.SetItemState(row, 0, wx.LIST_STATE_SELECTED) def _multi_selected_rows_items_changed(self, event): """ Handles the editor's 'multi_selected_rows' trait being modified. """ control = self.control # Remove all items that are no longer selected: for row in event.removed: control.SetItemState(row, 0, wx.LIST_STATE_SELECTED) # Select all newly added items: for row in event.added: control.SetItemState( row, wx.LIST_STATE_SELECTED, wx.LIST_STATE_SELECTED ) def _refresh_changed(self): self.update_editor() # -- List Control Event Handlers ------------------------------------------ def _left_down(self, event): """ Handles the left mouse button being pressed. """ self._mouse_click(event, "clicked") def _left_dclick(self, event): """ Handles the left mouse button being double clicked. """ self._mouse_click(event, "dclicked") def _right_down(self, event): """ Handles the right mouse button being pressed. """ self._mouse_click(event, "right_clicked") def _right_dclick(self, event): """ Handles the right mouse button being double clicked. """ self._mouse_click(event, "right_dclicked") def _begin_drag(self, event): """ Handles the user beginning a drag operation with the left mouse button. """ if PythonDropSource is not None: adapter = self.adapter object, name = self.object, self.name selected = self._get_selected() drag_items = [] # Collect all of the selected items to drag: for row in selected: drag = adapter.get_drag(object, name, row) if drag is None: return drag_items.append(drag) # Save the drag item indices, so that we can later handle a # completed 'move' operation: self._drag_rows = selected try: # If only one item is being dragged, drag it as an item, not a # list: if len(drag_items) == 1: drag_items = drag_items[0] # Perform the drag and drop operation: ds = PythonDropSource(self.control, drag_items) # If moves are allowed and the result was a drag move: if (ds.result == wx.DragMove) and ( self._drag_local or self.factory.drag_move ): # Then delete all of the original items (in reverse order # from highest to lowest, so the indices don't need to be # adjusted): rows = self._drag_rows rows.reverse() for row in rows: adapter.delete(object, name, row) finally: self._drag_rows = None self._drag_local = False def _begin_label_edit(self, event): """ Handles the user starting to edit an item label. """ if not self.adapter.get_can_edit( self.object, self.name, event.GetIndex() ): event.Veto() def _end_label_edit(self, event): """ Handles the user finishing editing an item label. """ self.adapter.set_text( self.object, self.name, event.GetIndex(), event.GetColumn(), event.GetText(), ) self.row = event.GetIndex() + 1 def _item_selected(self, event): """ Handles an item being selected. """ self._no_update = True try: get_item = self.adapter.get_item object, name = self.object, self.name selected_rows = self._get_selected() if self.factory.multi_select: self.multi_selected_rows = selected_rows self.multi_selected = [ get_item(object, name, row) for row in selected_rows ] elif len(selected_rows) == 0: self.selected_row = -1 self.selected = None else: self.selected_row = selected_rows[0] self.selected = get_item(object, name, selected_rows[0]) finally: self._no_update = False def _item_activated(self, event): """ Handles an item being activated (double-clicked or enter pressed). """ self.activated_row = event.GetIndex() self.activated = self.adapter.get_item( self.object, self.name, self.activated_row ) def _key_down(self, event): """ Handles the user pressing a key in the list control. """ key = event.GetKeyCode() if key == wx.WXK_PAGEDOWN: self._append_new() elif key in (wx.WXK_BACK, wx.WXK_DELETE): self._delete_current() elif key == wx.WXK_INSERT: self._insert_current() elif key == wx.WXK_LEFT: self._move_up_current() elif key == wx.WXK_RIGHT: self._move_down_current() elif key in (wx.WXK_RETURN, wx.WXK_ESCAPE): self._edit_current() else: event.Skip() def _column_right_clicked(self, event): """ Handles the user right-clicking a column header. """ column = event.GetColumn() if (self._cached_widths is not None) and ( 0 <= column < len(self._cached_widths) ): self._cached_widths[column] = None self._size_modified(event) def _column_clicked(self, event): """ Handles the right mouse button being double clicked. """ editor_event = TabularEditorEvent( editor=self, row=0, column=event.GetColumn() ) setattr(self, "column_clicked", editor_event) event.Skip() def _size_modified(self, event): """ Handles the size of the list control being changed. """ control = self.control n = control.GetColumnCount() if n == 1: dx, dy = control.GetClientSize() control.SetColumnWidth(0, dx - 1) elif n > 1: do_later(self._set_column_widths) event.Skip() def _motion(self, event): """ Handles the user moving the mouse. """ x = event.GetX() column = self._get_column(x) row, flags = self.control.HitTest(wx.Point(x, event.GetY())) if (row != self._last_row) or (column != self._last_column): self._last_row, self._last_column = row, column if (row == -1) or (column is None): tooltip = "" else: tooltip = self.adapter.get_tooltip( self.object, self.name, row, column ) if tooltip != self._last_tooltip: self._last_tooltip = tooltip wx.ToolTip.Enable(False) wx.ToolTip.Enable(True) self.control.SetToolTip(wx.ToolTip(tooltip)) # -- Drag and Drop Event Handlers ----------------------------------------- def wx_dropped_on(self, x, y, data, drag_result): """ Handles a Python object being dropped on the list control. """ row, flags = self.control.HitTest(wx.Point(x, y)) # If the user dropped it on an empty list, set the target as past the # end of the list: if ( (row == -1) and ((flags & wx.LIST_HITTEST_NOWHERE) != 0) and (self.control.GetItemCount() == 0) ): row = 0 # If we have a valid drop target row, proceed: if row != -1: if not isinstance(data, list): # Handle the case of just a single item being dropped: self._wx_dropped_on(row, data) else: # Handles the case of a list of items being dropped, being # careful to preserve the original order of the source items if # possible: data.reverse() for item in data: self._wx_dropped_on(row, item) # If this was an inter-list drag, mark it as 'local': if self._drag_indices is not None: self._drag_local = True # Return a successful drop result: return drag_result # Indicate we could not process the drop: return wx.DragNone def _wx_dropped_on(self, row, item): """ Helper method for handling a single item dropped on the list control. """ adapter = self.adapter object, name = self.object, self.name # Obtain the destination of the dropped item relative to the target: destination = adapter.get_dropped(object, name, row, item) # Adjust the target index accordingly: if destination == "after": row += 1 # Insert the dropped item at the requested position: adapter.insert(object, name, row, item) # If the source for the drag was also this list control, we need to # adjust the original source indices to account for their new position # after the drag operation: rows = self._drag_rows if rows is not None: for i in range(len(rows) - 1, -1, -1): if rows[i] < row: break rows[i] += 1 def wx_drag_over(self, x, y, data, drag_result): """ Handles a Python object being dragged over the tree. """ if isinstance(data, list): rc = wx.DragNone for item in data: rc = self.wx_drag_over(x, y, item, drag_result) if rc == wx.DragNone: break return rc row, flags = self.control.HitTest(wx.Point(x, y)) # If the user is dragging over an empty list, set the target to the end # of the list: if ( (row == -1) and ((flags & wx.LIST_HITTEST_NOWHERE) != 0) and (self.control.GetItemCount() == 0) ): row = 0 # If the drag target index is valid and the adapter says it is OK to # drop the data here, then indicate the data can be dropped: if (row != -1) and self.adapter.get_can_drop( self.object, self.name, row, data ): return drag_result # Else indicate that we will not accept the data: return wx.DragNone # -- UI preference save/restore interface --------------------------------- def restore_prefs(self, prefs): """ Restores any saved user preference information associated with the editor. """ self._cached_widths = cws = prefs.get("cached_widths") if cws is not None: set_column_width = self.control.SetColumnWidth for i, width in enumerate(cws): if width is not None: set_column_width(i, width) def save_prefs(self): """ Returns any user preference information associated with the editor. """ cws = self._cached_widths if cws is not None: cws = [cw if cw is not None and cw >= 0 else None for cw in cws] return {"cached_widths": cws} # -- Private Methods ------------------------------------------------------ def _refresh(self): """ Refreshes the contents of the editor's list control. """ n = self.adapter.len(self.object, self.name) if n > 0: self.control.RefreshItems(0, n - 1) def _rebuild(self): """ Rebuilds the contents of the editor's list control. """ control = self.control control.ClearAll() adapter, object, name = self.adapter, self.object, self.name adapter.object, adapter.name = object, name get_alignment = adapter.get_alignment get_width = adapter.get_width for i, label in enumerate(adapter.label_map): control.InsertColumn( i, label, alignment_map.get( get_alignment(object, name, i), wx.LIST_FORMAT_LEFT ), ) self._set_column_widths() def _rebuild_all(self): """ Rebuilds the structure of the list control, then refreshes its contents. """ self._rebuild() self.update_editor() def _set_column_widths(self): """ Set the column widths for the current set of columns. """ control = self.control if control is None: return object, name = self.object, self.name dx, dy = control.GetClientSize() if is_mac: dx -= scrollbar_dx n = control.GetColumnCount() get_width = self.adapter.get_width pdx = 0 wdx = 0.0 widths = [] cached = self._cached_widths current = [control.GetColumnWidth(i) for i in range(n)] if (cached is None) or (len(cached) != n): self._cached_widths = cached = [None] * n for i in range(n): cw = cached[i] if (cw is None) or (-cw == current[i]): width = float(get_width(object, name, i)) if width <= 0.0: width = 0.1 if width <= 1.0: wdx += width cached[i] = -1 else: width = int(width) pdx += width if cw is None: cached[i] = width else: cached[i] = width = current[i] pdx += width widths.append(width) adx = max(0, dx - pdx) control.Freeze() for i in range(n): width = cached[i] if width < 0: width = widths[i] if width <= 1.0: widths[i] = w = max(30, int(round((adx * width) / wdx))) wdx -= width width = w adx -= width cached[i] = -w control.SetColumnWidth(i, width) control.Thaw() def _add_image(self, image_resource): """ Adds a new image to the wx.ImageList and its associated mapping. """ bitmap = image_resource.create_image().ConvertToBitmap() image_list = self._image_list if image_list is None: self._image_list = image_list = wx.ImageList( bitmap.GetWidth(), bitmap.GetHeight() ) self.control.AssignImageList(image_list, wx.IMAGE_LIST_SMALL) self.image_resources[image_resource] = self.images[ image_resource.name ] = row = image_list.Add(bitmap) return row def _get_image(self, image): """ Converts a user specified image to a wx.ListCtrl image index. """ if isinstance(image, str): self.image = image image = self.image if isinstance(image, ImageResource): result = self.image_resources.get(image) if result is not None: return result return self._add_image(image) return self.images.get(image) def _get_selected(self): """ Returns a list of the rows of all currently selected list items. """ selected = [] item = -1 control = self.control # Handle case where the list is cleared if len(self.value) == 0: return selected while True: item = control.GetNextItem( item, wx.LIST_NEXT_ALL, wx.LIST_STATE_SELECTED ) if item == -1: break selected.append(item) return selected def _append_new(self): """ Append a new item to the end of the list control. """ if "append" in self.factory.operations: adapter = self.adapter self.row = self.control.GetItemCount() self.edit = True adapter.insert( self.object, self.name, self.row, adapter.get_default_value(self.object, self.name), ) def _insert_current(self): """ Inserts a new item after the currently selected list control item. """ if "insert" in self.factory.operations: selected = self._get_selected() if len(selected) == 1: adapter = self.adapter adapter.insert( self.object, self.name, selected[0], adapter.get_default_value(self.object, self.name), ) self.row = selected[0] self.edit = True def _delete_current(self): """ Deletes the currently selected items from the list control. """ if "delete" in self.factory.operations: selected = self._get_selected() if len(selected) == 0: return delete = self.adapter.delete selected.reverse() for row in selected: delete(self.object, self.name, row) n = self.adapter.len(self.object, self.name) if not self.factory.multi_select: self.selected_row = self.row = n - 1 if row >= n else row else: # FIXME: What should the selection be? self.multi_selected = [] self.multi_selected_rows = [] def _move_up_current(self): """ Moves the currently selected item up one line in the list control. """ if "move" in self.factory.operations: selected = self._get_selected() if len(selected) == 1: row = selected[0] if row > 0: adapter = self.adapter object, name = self.object, self.name item = adapter.get_item(object, name, row) adapter.delete(object, name, row) adapter.insert(object, name, row - 1, item) self.row = row - 1 def _move_down_current(self): """ Moves the currently selected item down one line in the list control. """ if "move" in self.factory.operations: selected = self._get_selected() if len(selected) == 1: row = selected[0] if row < (self.control.GetItemCount() - 1): adapter = self.adapter object, name = self.object, self.name item = adapter.get_item(object, name, row) adapter.delete(object, name, row) adapter.insert(object, name, row + 1, item) self.row = row + 1 def _edit_current(self): """ Allows the user to edit the current item in the list control. """ if "edit" in self.factory.operations and self.factory.editable_labels: selected = self._get_selected() if len(selected) == 1: self.control.EditLabel(selected[0]) def _get_column(self, x, translate=False): """ Returns the column index corresponding to a specified x position. """ if x >= 0: control = self.control for i in range(control.GetColumnCount()): x -= control.GetColumnWidth(i) if x < 0: if translate: return self.adapter.get_column( self.object, self.name, i ) return i return None def _mouse_click(self, event, trait): """ Generate a TabularEditorEvent event for a specified mouse event and editor trait name. """ x = event.GetX() row, flags = self.control.HitTest(wx.Point(x, event.GetY())) if row == wx.NOT_FOUND: if self.factory.multi_select: self.multi_selected = [] self.multi_selected_rows = [] else: self.selected = None self.selected_row = -1 else: if self.factory.multi_select and event.ShiftDown(): # Handle shift-click multi-selections because the wx.ListCtrl # does not (by design, apparently). # We must append this to the event queue because the # multi-selection will not be recorded until this event handler # finishes and lets the widget actually handle the event. do_later(self._item_selected, None) setattr( self, trait, TabularEditorEvent( editor=self, row=row, column=self._get_column(x, translate=True), ), ) # wx should continue with additional event handlers. Skip(False) # actually means to skip looking, skip(True) means to keep looking. # This seems backwards to me... event.Skip(True) class TabularEditorEvent(HasStrictTraits): #: The index of the row: row = Int() #: The id of the column (either a string or an integer): column = Any() #: The row item: item = Property() # -- Private Traits ------------------------------------------------------- #: The editor the event is associated with: editor = Instance(TabularEditor) # -- Property Implementations --------------------------------------------- def _get_item(self): editor = self.editor return editor.adapter.get_item(editor.object, editor.name, self.row) traitsui-7.2.1/traitsui/wx/directory_editor.py0000644000076500000240000000457614046644454022251 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! """ Defines various directory editors for the wxPython user interface toolkit. """ import wx from os.path import isdir from .file_editor import ( SimpleEditor as SimpleFileEditor, CustomEditor as CustomFileEditor, PopupFile, ) # ------------------------------------------------------------------------- # 'SimpleEditor' class: # ------------------------------------------------------------------------- class SimpleEditor(SimpleFileEditor): """ Simple style of editor for directories, which displays a text field and a **Browse** button that opens a directory-selection dialog box. """ def _create_file_dialog(self): """ Creates the correct type of file dialog. """ dlg = wx.DirDialog(self.control, message="Select a Directory") dlg.SetPath(self._file_name.GetValue()) return dlg def _create_file_popup(self): """ Creates the correct type of file popup. """ return PopupDirectory( control=self.control, file_name=self.str_value, filter=self.factory.filter, height=300, ) class CustomEditor(CustomFileEditor): """ Custom style of editor for directories, which displays a tree view of the file system. """ def get_style(self): """ Returns the basic style to use for the control. """ return wx.DIRCTRL_DIR_ONLY | wx.DIRCTRL_EDIT_LABELS def update_object(self, event): """ Handles the user changing the contents of the edit control. """ if self.control is not None: path = self.control.GetPath() if isdir(path): self.value = path class PopupDirectory(PopupFile): def get_style(self): """ Returns the basic style to use for the popup. """ return wx.DIRCTRL_DIR_ONLY | wx.DIRCTRL_EDIT_LABELS def is_valid(self, path): """ Returns whether or not the path is valid. """ return isdir(path) traitsui-7.2.1/traitsui/wx/value_editor.py0000644000076500000240000000173014046644454021346 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! """ Defines the tree-based Python value editor and the value editor factory, for the wxPython user interface toolkit. """ from traitsui.editors.value_editor import _ValueEditor from .editor import Editor class SimpleEditor(_ValueEditor, Editor): """ Returns the editor to use for simple style views. """ #: Override the value of the readonly trait. readonly = False class ReadonlyEditor(_ValueEditor, Editor): """ Returns the editor to use for readonly style views. """ #: Override the value of the readonly trait. readonly = True traitsui-7.2.1/traitsui/wx/font_trait.py0000644000076500000240000001215214046644454021035 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! """ Trait definition for a wxPython-based font. """ import wx from traits.api import Trait, TraitHandler, TraitError # ------------------------------------------------------------------------- # Convert a string into a valid 'wxFont' object (if possible): # ------------------------------------------------------------------------- # Mapping of strings to valid wxFont families font_families = { "default": wx.FONTFAMILY_DEFAULT, "decorative": wx.FONTFAMILY_DECORATIVE, "roman": wx.FONTFAMILY_ROMAN, "script": wx.FONTFAMILY_SCRIPT, "swiss": wx.FONTFAMILY_SWISS, "modern": wx.FONTFAMILY_MODERN, } # Mapping of strings to wxFont styles font_styles = {"slant": wx.FONTSTYLE_SLANT, "italic": wx.FONTSTYLE_ITALIC} # Mapping of strings wxFont weights font_weights = {"light": wx.FONTWEIGHT_LIGHT, "bold": wx.FONTWEIGHT_BOLD} # Strings to ignore in text representations of fonts font_noise = ["pt", "point", "family"] def font_to_str(font): """ Converts a wx.Font into a string description of itself. """ weight = {wx.FONTWEIGHT_LIGHT: " Light", wx.FONTWEIGHT_BOLD: " Bold"}.get( font.GetWeight(), "" ) style = {wx.FONTSTYLE_SLANT: " Slant", wx.FONTSTYLE_ITALIC: " Italic"}.get( font.GetStyle(), "" ) underline = "" if font.GetUnderlined(): underline = " underline" return "%s point %s%s%s%s" % ( font.GetPointSize(), font.GetFaceName(), style, weight, underline, ) def create_traitsfont(value): """ Create a TraitFont object from a string description. """ if isinstance(value, wx.Font): value = font_to_str(value) point_size = None family = wx.FONTFAMILY_DEFAULT style = wx.FONTSTYLE_NORMAL weight = wx.FONTWEIGHT_NORMAL underline = 0 facename = [] for word in value.split(): lword = word.lower() if lword in font_families: family = font_families[lword] elif lword in font_styles: style = font_styles[lword] elif lword in font_weights: weight = font_weights[lword] elif lword == "underline": underline = 1 elif lword not in font_noise: if point_size is None: try: point_size = int(lword) continue except: pass facename.append(word) return TraitsFont( point_size or 10, family, style, weight, underline, " ".join(facename) ) class TraitsFont(wx.Font): """ A Traits-specific wx.Font. """ def __reduce_ex__(self, protocol): """ Returns the pickleable form of a TraitsFont object. """ return (create_traitsfont, (font_to_str(self),)) def __str__(self): """ Returns a printable form of the font. """ return font_to_str(self) # ------------------------------------------------------------------------- # 'TraitWXFont' class' # ------------------------------------------------------------------------- class TraitWXFont(TraitHandler): """ Ensures that values assigned to a trait attribute are valid font descriptor strings; the value actually assigned is the corresponding TraitsFont. """ def validate(self, object, name, value): """ Validates that the value is a valid font descriptor string. If so, it returns the corresponding TraitsFont; otherwise, it raises a TraitError. """ if value is None: return None try: return create_traitsfont(value) except: pass raise TraitError(object, name, "a font descriptor string", repr(value)) def info(self): return ( "a string describing a font (e.g. '12 pt bold italic " "swiss family Arial' or 'default 12')" ) # ------------------------------------------------------------------------- # Define a wxPython specific font trait: # ------------------------------------------------------------------------- ### Note: Declare the editor to be a function which returns the FontEditor # class from traits ui to avoid circular import issues. For backwards # compatibility with previous Traits versions, the 'editors' folder in Traits # project declares 'from api import *' in its __init__.py. The 'api' in turn # can contain classes that have a Font trait which lead to this file getting # imported. This leads to a circular import when declaring a Font trait. def get_font_editor(*args, **traits): from .font_editor import ToolkitEditorFactory return ToolkitEditorFactory(*args, **traits) fh = TraitWXFont() WxFont = Trait( wx.SystemSettings.GetFont(wx.SYS_DEFAULT_GUI_FONT), fh, editor=get_font_editor, ) traitsui-7.2.1/traitsui/wx/image_control.py0000644000076500000240000001317414046644454021513 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! """ Defines a wxPython ImageControl widget that is used by various trait editors to display trait values iconically. """ import wx class ImageControl(wx.Window): """ A wxPython control that displays an image, which can be selected or unselected by mouse clicks. """ #: Pens used to draw the 'selection' marker: _selectedPenDark = wx.Pen( wx.SystemSettings.GetColour(wx.SYS_COLOUR_3DSHADOW), 1, wx.SOLID ) _selectedPenLight = wx.Pen( wx.SystemSettings.GetColour(wx.SYS_COLOUR_3DHIGHLIGHT), 1, wx.SOLID ) def __init__( self, parent, bitmap, selected=None, handler=None, padding=10 ): """ Initializes the object. """ wx.Window.__init__( self, parent, -1, size=wx.Size( bitmap.GetWidth() + padding, bitmap.GetHeight() + padding ), ) self._bitmap = bitmap self._selected = selected self._handler = handler self._mouse_over = False self._button_down = False # Set up the 'paint' event handler: self.Bind(wx.EVT_PAINT, self._on_paint) # Set up mouse event handlers: self.Bind(wx.EVT_LEFT_DOWN, self._on_left_down) self.Bind(wx.EVT_LEFT_UP, self._on_left_up) self.Bind(wx.EVT_ENTER_WINDOW, self._on_enter) self.Bind(wx.EVT_LEAVE_WINDOW, self._on_leave) def Selected(self, selected=None): """ Gets or sets the selection state of the image. """ if selected is not None: selected = selected != 0 if selected != self._selected: if selected: for control in self.GetParent().GetChildren(): if ( isinstance(control, ImageControl) and control.Selected() ): control.Selected(False) break self._selected = selected self.Refresh() return self._selected def Bitmap(self, bitmap=None): """ Gets or sets the bitmap image. """ if bitmap is not None: if bitmap != self._bitmap: self._bitmap = bitmap self.Refresh() return self._bitmap def Handler(self, handler=None): """ Gets or sets the click handler. """ if handler is not None: if handler != self._handler: self._handler = handler self.Refresh() return self._handler def _on_enter(self, event=None): """ Handles the mouse entering the control. """ if self._selected is not None: self._mouse_over = True self.Refresh() def _on_leave(self, event=None): """ Handles the mouse leaving the control. """ if self._mouse_over: self._mouse_over = False self.Refresh() def _on_left_down(self, event=None): """ Handles the user pressing the mouse button. """ if self._selected is not None: self.CaptureMouse() self._button_down = True self.Refresh() def _on_left_up(self, event=None): """ Handles the user clicking the control. """ need_refresh = self._button_down if need_refresh: self.ReleaseMouse() self._button_down = False if self._selected is not None: wdx, wdy = self.GetClientSize() x = event.GetX() y = event.GetY() if (0 <= x < wdx) and (0 <= y < wdy): if self._selected != -1: self.Selected(True) elif need_refresh: self.Refresh() if self._handler is not None: wx.CallAfter(self._handler, self) return if need_refresh: self.Refresh() def _on_paint(self, event=None): """ Handles the control being re-painted. """ wdc = wx.PaintDC(self) wdx, wdy = self.GetClientSize() bitmap = self._bitmap bdx = bitmap.GetWidth() bdy = bitmap.GetHeight() wdc.DrawBitmap(bitmap, (wdx - bdx) // 2, (wdy - bdy) // 2, True) pens = [self._selectedPenLight, self._selectedPenDark] bd = self._button_down if self._mouse_over: wdc.SetBrush(wx.TRANSPARENT_BRUSH) wdc.SetPen(pens[bd]) wdc.DrawLine(0, 0, wdx, 0) wdc.DrawLine(0, 1, 0, wdy) wdc.SetPen(pens[1 - bd]) wdc.DrawLine(wdx - 1, 1, wdx - 1, wdy) wdc.DrawLine(1, wdy - 1, wdx - 1, wdy - 1) if self._selected is True: wdc.SetBrush(wx.TRANSPARENT_BRUSH) wdc.SetPen(pens[bd]) wdc.DrawLine(1, 1, wdx - 1, 1) wdc.DrawLine(1, 1, 1, wdy - 1) wdc.DrawLine(2, 2, wdx - 2, 2) wdc.DrawLine(2, 2, 2, wdy - 2) wdc.SetPen(pens[1 - bd]) wdc.DrawLine(wdx - 2, 2, wdx - 2, wdy - 1) wdc.DrawLine(2, wdy - 2, wdx - 2, wdy - 2) wdc.DrawLine(wdx - 3, 3, wdx - 3, wdy - 2) wdc.DrawLine(3, wdy - 3, wdx - 3, wdy - 3) traitsui-7.2.1/traitsui/wx/set_editor.py0000644000076500000240000004134114046644454021027 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! """ Defines the set editors for the wxPython user interface toolkit. """ # fixme: Add undo/redo support # fixme: Allow factory to handle a TraitListObject for the 'values' trait. import wx from traits.api import Property from traitsui.helper import enum_values_changed from .editor import Editor from .helper import TraitsUIPanel # ------------------------------------------------------------------------- # 'SimpleEditor' class: # ------------------------------------------------------------------------- class SimpleEditor(Editor): """ Simple style of editor for sets. The editor displays two list boxes, with buttons for moving the selected items from left to right, or vice versa. If **can_move_all** on the factory is True, then buttons are displayed for moving all the items to one box or the other. If the set is ordered, buttons are displayed for moving the selected item up or down in right-side list box. """ # ------------------------------------------------------------------------- # Trait definitions: # ------------------------------------------------------------------------- #: Current set of enumeration names: names = Property() #: Current mapping from names to values: mapping = Property() #: Current inverse mapping from values to names: inverse_mapping = Property() #: Is set editor scrollable? This value overrides the default. scrollable = True def init(self, parent): """ Finishes initializing the editor by creating the underlying toolkit widget. """ factory = self.factory if factory.name != "": self._object, self._name, self._value = self.parse_extended_name( factory.name ) self.values_changed() self._object.on_trait_change( self._values_changed, self._name, dispatch="ui" ) else: self._value = lambda: self.factory.values self.values_changed() factory.on_trait_change( self._values_changed, "values", dispatch="ui" ) self.control = panel = TraitsUIPanel(parent, -1) hsizer = wx.BoxSizer(wx.HORIZONTAL) vsizer = wx.BoxSizer(wx.VERTICAL) self._unused = self._create_listbox( panel, hsizer, self._on_unused, self._on_use, factory.left_column_title, ) self._use_all = self._unuse_all = self._up = self._down = None if factory.can_move_all: self._use_all = self._create_button( ">>", panel, vsizer, 15, self._on_use_all ) self._use = self._create_button(">", panel, vsizer, 15, self._on_use) self._unuse = self._create_button( "<", panel, vsizer, 0, self._on_unuse ) if factory.can_move_all: self._unuse_all = self._create_button( "<<", panel, vsizer, 15, self._on_unuse_all ) if factory.ordered: self._up = self._create_button( "Move Up", panel, vsizer, 30, self._on_up ) self._down = self._create_button( "Move Down", panel, vsizer, 0, self._on_down ) hsizer.Add(vsizer, 0, wx.LEFT | wx.RIGHT, 8) self._used = self._create_listbox( panel, hsizer, self._on_value, self._on_unuse, factory.right_column_title, ) panel.SetSizer(hsizer) self.context_object.on_trait_change( self.update_editor, self.extended_name + "_items?", dispatch="ui" ) self.set_tooltip() def _get_names(self): """ Gets the current set of enumeration names. """ return self._names def _get_mapping(self): """ Gets the current mapping. """ return self._mapping def _get_inverse_mapping(self): """ Gets the current inverse mapping. """ return self._inverse_mapping def _create_listbox(self, parent, sizer, handler1, handler2, title): """ Creates a list box. """ column_sizer = wx.BoxSizer(wx.VERTICAL) # Add the column title in emphasized text: title_widget = wx.StaticText(parent, -1, title) font = title_widget.GetFont() emphasis_font = wx.Font( font.GetPointSize() + 1, font.GetFamily(), font.GetStyle(), wx.BOLD ) title_widget.SetFont(emphasis_font) column_sizer.Add(title_widget, 0, 0) # Create the list box and add it to the column: list = wx.ListBox(parent, -1, style=wx.LB_EXTENDED | wx.LB_NEEDED_SB) column_sizer.Add(list, 1, wx.EXPAND) # Add the column to the SetEditor widget: sizer.Add(column_sizer, 1, wx.EXPAND) # Hook up the event handlers: parent.Bind(wx.EVT_LISTBOX, handler1, id=list.GetId()) parent.Bind(wx.EVT_LISTBOX_DCLICK, handler2, id=list.GetId()) return list def _create_button(self, label, parent, sizer, space_before, handler): """ Creates a button. """ button = wx.Button(parent, -1, label, style=wx.BU_EXACTFIT) sizer.AddSpacer(space_before) sizer.Add(button, 0, wx.EXPAND | wx.BOTTOM, 8) parent.Bind(wx.EVT_BUTTON, handler, id=button.GetId()) return button def values_changed(self): """ Recomputes the cached data based on the underlying enumeration model or the values of the factory. """ self._names, self._mapping, self._inverse_mapping = enum_values_changed( self._value(), self.string_value ) def _values_changed(self): """ Handles the underlying object model's enumeration set or factory's values being changed. """ self.values_changed() self.update_editor() def update_editor(self): """ Updates the editor when the object trait changes externally to the editor. """ # Check for any items having been deleted from the enumeration that are # still present in the object value: mapping = self.inverse_mapping.copy() values = [v for v in self.value if v in mapping] if len(values) < len(self.value): self.value = values return # Get a list of the selected items in the right box: used = self._used used_labels = self._get_selected_strings(used) # Get a list of the selected items in the left box: unused = self._unused unused_labels = self._get_selected_strings(unused) # Empty list boxes in preparation for rebuilding from current values: used.Clear() unused.Clear() # Ensure right list box is kept alphabetized unless insertion # order is relevant: if not self.factory.ordered: values = sorted(values[:]) # Rebuild the right listbox: used_selections = [] for i, value in enumerate(values): label = mapping[value] used.Append(label) del mapping[value] if label in used_labels: used_selections.append(i) # Rebuild the left listbox: unused_selections = [] unused_items = sorted(mapping.values()) mapping = self.mapping self._unused_items = [mapping[ui] for ui in unused_items] for i, unused_item in enumerate(unused_items): unused.Append(unused_item) if unused_item in unused_labels: unused_selections.append(i) # If nothing is selected, default selection should be top of left box, # or of right box if left box is empty: if (len(used_selections) == 0) and (len(unused_selections) == 0): if unused.GetCount() == 0: used_selections.append(0) else: unused_selections.append(0) used_count = used.GetCount() for i in used_selections: if i < used_count: used.SetSelection(i) unused_count = unused.GetCount() for i in unused_selections: if i < unused_count: unused.SetSelection(i) self._check_up_down() self._check_left_right() def dispose(self): """ Disposes of the contents of an editor. """ if self._object is not None: self._object.on_trait_change( self._values_changed, self._name, remove=True ) else: self.factory.on_trait_change( self._values_changed, "values", remove=True ) self.context_object.on_trait_change( self.update_editor, self.extended_name + "_items?", remove=True ) super().dispose() def get_error_control(self): """ Returns the editor's control for indicating error status. """ return [self._unused, self._used] # ------------------------------------------------------------------------- # Event handlers: # ------------------------------------------------------------------------- def _on_value(self, event): if not self.factory.ordered: self._clear_selection(self._unused) self._check_left_right() self._check_up_down() def _on_unused(self, event): if not self.factory.ordered: self._clear_selection(self._used) self._check_left_right() self._check_up_down() def _on_use(self, event): self._unused_items, self.value = self._transfer_items( self._unused, self._used, self._unused_items, self.value ) def _on_unuse(self, event): self.value, self._unused_items = self._transfer_items( self._used, self._unused, self.value, self._unused_items ) def _on_use_all(self, event): self._unused_items, self.value = self._transfer_all( self._unused, self._used, self._unused_items, self.value ) def _on_unuse_all(self, event): self.value, self._unused_items = self._transfer_all( self._used, self._unused, self.value, self._unused_items ) def _on_up(self, event): self._move_item(-1) def _on_down(self, event): self._move_item(1) # ------------------------------------------------------------------------- # Private methods: # ------------------------------------------------------------------------- # ------------------------------------------------------------------------- # Unselects all items in the given ListBox # ------------------------------------------------------------------------- def _clear_selection(self, box): """ Unselects all items in the given ListBox """ for i in box.GetSelections(): box.Deselect(i) def _transfer_all(self, list_from, list_to, values_from, values_to): """ Transfers all items from one list to another. """ values_from = values_from[:] values_to = values_to[:] self._clear_selection(list_from) while list_from.GetCount() > 0: index_to = list_to.GetCount() list_from.SetSelection(0) list_to.InsertItems( self._get_selected_strings(list_from), index_to ) list_from.Delete(0) values_to.append(values_from[0]) del values_from[0] list_to.SetSelection(0) self._check_left_right() self._check_up_down() return (values_from, values_to) def _transfer_items(self, list_from, list_to, values_from, values_to): """ Transfers the selected item from one list to another. """ values_from = values_from[:] values_to = values_to[:] indices_from = list_from.GetSelections() index_from = max(self._get_first_selection(list_from), 0) index_to = max(self._get_first_selection(list_to), 0) self._clear_selection(list_to) # Get the list of strings in the "from" box to be moved: selected_list = self._get_selected_strings(list_from) # fixme: I don't know why I have to reverse the list to get # correct behavior from the ordered list box. Investigate -- LP selected_list.reverse() list_to.InsertItems(selected_list, index_to) # Delete the transferred items from the left box: for i in range(len(indices_from) - 1, -1, -1): list_from.Delete(indices_from[i]) # Delete the transferred items from the "unused" value list: for item_label in selected_list: val_index_from = values_from.index(self.mapping[item_label]) values_to.insert(index_to, values_from[val_index_from]) del values_from[val_index_from] # If right list is ordered, keep moved items selected: if self.factory.ordered: list_to.SetSelection(list_to.FindString(item_label)) # Reset the selection in the left box: count = list_from.GetCount() if count > 0: if index_from >= count: index_from -= 1 list_from.SetSelection(index_from) self._check_left_right() self._check_up_down() return (values_from, values_to) def _move_item(self, direction): """ Moves an item up or down within the "used" list. """ # Move the item up/down within the list: listbox = self._used index_from = self._get_first_selection(listbox) index_to = index_from + direction label = listbox.GetString(index_from) listbox.Deselect(index_from) listbox.Delete(index_from) listbox.Insert(label, index_to) listbox.SetSelection(index_to) # Enable the up/down buttons appropriately: self._check_up_down() # Move the item up/down within the editor's trait value: value = self.value if direction < 0: index = index_to values = [value[index_from], value[index_to]] else: index = index_from values = [value[index_to], value[index_from]] self.value = value[:index] + values + value[index + 2 :] def _check_up_down(self): """ Sets the proper enabled state for the up and down buttons. """ if self.factory.ordered: index_selected = self._used.GetSelections() self._up.Enable( (len(index_selected) == 1) and (index_selected[0] > 0) ) self._down.Enable( (len(index_selected) == 1) and (index_selected[0] < (self._used.GetCount() - 1)) ) def _check_left_right(self): """ Sets the proper enabled state for the left and right buttons. """ self._use.Enable( self._unused.GetCount() > 0 and self._get_first_selection(self._unused) >= 0 ) self._unuse.Enable( self._used.GetCount() > 0 and self._get_first_selection(self._used) >= 0 ) if self.factory.can_move_all: self._use_all.Enable( (self._unused.GetCount() > 0) and (self._get_first_selection(self._unused) >= 0) ) self._unuse_all.Enable( (self._used.GetCount() > 0) and (self._get_first_selection(self._used) >= 0) ) # ------------------------------------------------------------------------- # Returns a list of the selected strings in the listbox # ------------------------------------------------------------------------- def _get_selected_strings(self, listbox): """ Returns a list of the selected strings in the given *listbox*. """ stringlist = [] for label_index in listbox.GetSelections(): stringlist.append(listbox.GetString(label_index)) return stringlist # ------------------------------------------------------------------------- # Returns the index of the first (or only) selected item. # ------------------------------------------------------------------------- def _get_first_selection(self, listbox): """ Returns the index of the first (or only) selected item. """ select_list = listbox.GetSelections() if len(select_list) == 0: return -1 return select_list[0] traitsui-7.2.1/traitsui/wx/image_editor.py0000644000076500000240000000333214046644454021314 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! """ Traits UI 'display only' image editor. """ from pyface.image_resource import ImageResource from traitsui.ui_traits import convert_bitmap # FIXME: ImageEditor is a proxy class defined here just for backward # compatibility. The class has been moved to the # traitsui.editors.image_editor file. from traitsui.editors.image_editor import ImageEditor from .editor import Editor from .image_control import ImageControl # ------------------------------------------------------------------------- # '_ImageEditor' class: # ------------------------------------------------------------------------- class _ImageEditor(Editor): """ Traits UI 'display only' image editor. """ def init(self, parent): """ Finishes initializing the editor by creating the underlying toolkit widget. """ image = self.factory.image if image is None: image = self.value self.control = ImageControl(parent, convert_bitmap(image), padding=0) self.set_tooltip() def update_editor(self): """ Updates the editor when the object trait changes externally to the editor. """ if self.factory.image is None: value = self.value if isinstance(value, ImageResource): self.control.Bitmap(convert_bitmap(value)) traitsui-7.2.1/traitsui/wx/popup_editor.py0000644000076500000240000000171214046644454021375 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! # FIXME: PopupEditor is a proxy class defined here just for backward # compatibility. The class (which represents the editor factory) has been moved # to the traitsui.editors.list_editor file. from traitsui.editors.popup_editor import ( _PopupEditor as BasePopupEditor, PopupEditor, ) from .ui_editor import UIEditor # ------------------------------------------------------------------------- # '_PopupEditor' class: # ------------------------------------------------------------------------- class _PopupEditor(BasePopupEditor, UIEditor): pass traitsui-7.2.1/traitsui/wx/history_editor.py0000644000076500000240000000702014046644454021731 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! """ Defines a text editor which displays a text field and maintains a history of previously entered values. """ from traits.api import Any, observe from pyface.timer.api import do_later from .editor import Editor from .history_control import HistoryControl # ------------------------------------------------------------------------- # '_HistoryEditor' class: # ------------------------------------------------------------------------- class _HistoryEditor(Editor): """ Simple style text editor, which displays a text field and maintains a history of previously entered values, the maximum number of which is specified by the 'entries' trait of the HistoryEditor factory. """ # ------------------------------------------------------------------------- # Trait definitions: # ------------------------------------------------------------------------- #: The history control: history = Any() def init(self, parent): """ Finishes initializing the editor by creating the underlying toolkit widget. """ self.history = history = HistoryControl( value=self.value, entries=self.factory.entries, auto_set=self.factory.auto_set, ) self.control = history.create_control(parent) self.set_tooltip() def dispose(self): """ Disposes of the contents of an editor. """ self.history.dispose() self.history = None super().dispose() @observe("history:value") def _value_changed(self, event): """ Handles the history object's 'value' trait being changed. """ if not self._dont_update: history = self.history try: self._dont_update = True self.value = history.value history.error = False except: history.error = True do_later(self.trait_set, _dont_update=False) def update_editor(self): """ Updates the editor when the object trait changes externally to the editor. """ if not self._dont_update: self._dont_update = True self.history.value = self.value self.history.error = False self._dont_update = False def error(self, excp): """ Handles an error that occurs while setting the object's trait value. """ pass # -- UI preference save/restore interface --------------------------------- def restore_prefs(self, prefs): """ Restores any saved user preference information associated with the editor. """ self.history.history = prefs.get("history", [])[: self.factory.entries] def save_prefs(self): """ Returns any user preference information associated with the editor. """ # If the view closed successfully, try to update the history with the # current value: if self.ui.result: self._dont_update = True self.history.set_value(self.value) self._dont_update = False return {"history": self.history.history[:]} traitsui-7.2.1/traitsui/editor_factory.py0000644000076500000240000002474314046644454021254 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! """ Defines the abstract EditorFactory class, which represents a factory for creating the Editor objects used in a Traits-based user interface. """ import logging from traits.api import ( HasPrivateTraits, Callable, Str, Bool, Any, Property, ) from .toolkit import toolkit_object logger = logging.getLogger(__name__) # ------------------------------------------------------------------------- # 'EditorFactory' abstract base class: # ------------------------------------------------------------------------- class EditorFactory(HasPrivateTraits): """ Represents a factory for creating the Editor objects in a Traits-based user interface. """ # ------------------------------------------------------------------------- # Trait definitions: # ------------------------------------------------------------------------- #: Function to use for string formatting format_func = Callable() #: Format string to use for formatting (used if **format_func** not set). format_str = Str() #: Is the editor being used to create table grid cells? is_grid_cell = Bool(False) #: Are created editors initially enabled? enabled = Bool(True) #: The extended trait name of the trait containing editor invalid state #: status: invalid = Str() #: Text aligment to use in most readonly editors #: Possible values: left, right, top, bottom, just, vcenter, hcenter, #: center #: Example: left,vcenter text_alignment = Str() #: The editor class to use for 'simple' style views. simple_editor_class = Property() #: The editor class to use for 'custom' style views. custom_editor_class = Property() #: The editor class to use for 'text' style views. text_editor_class = Property() #: The editor class to use for 'readonly' style views. readonly_editor_class = Property() def __init__(self, *args, **traits): """ Initializes the factory object. """ HasPrivateTraits.__init__(self, **traits) self.init(*args) def init(self): """ Performs any initialization needed after all constructor traits have been set. """ pass def named_value(self, name, ui): """ Returns the value of a specified extended name of the form: name or context_object_name.name[.name...]: """ names = name.split(".") if len(names) == 1: # fixme: This will produce incorrect values if the actual Item the # factory is being used with does not use the default object='name' # value, and the specified 'name' does not contain a '.'. The # solution will probably involve providing the Item as an argument, # but it is currently not available at the time this method needs # to be called... names.insert(0, "object") value = ui.context[names[0]] for name in names[1:]: value = getattr(value, name) return value # ------------------------------------------------------------------------- # Methods that generate backend toolkit-specific editors. # ------------------------------------------------------------------------- def simple_editor(self, ui, object, name, description, parent): """ Generates an editor using the "simple" style. """ return self.simple_editor_class( parent, factory=self, ui=ui, object=object, name=name, description=description, ) def custom_editor(self, ui, object, name, description, parent): """ Generates an editor using the "custom" style. """ return self.custom_editor_class( parent, factory=self, ui=ui, object=object, name=name, description=description, ) def text_editor(self, ui, object, name, description, parent): """ Generates an editor using the "text" style. """ return self.text_editor_class( parent, factory=self, ui=ui, object=object, name=name, description=description, ) def readonly_editor(self, ui, object, name, description, parent): """ Generates an "editor" that is read-only. """ return self.readonly_editor_class( parent, factory=self, ui=ui, object=object, name=name, description=description, ) # ------------------------------------------------------------------------- # Private methods # ------------------------------------------------------------------------- @classmethod def _get_toolkit_editor(cls, class_name): """ Returns the editor by name class_name in the backend package. """ editor_factory_modules = [ factory_class.__module__ for factory_class in cls.mro() if issubclass(factory_class, EditorFactory) ] for index, editor_module in enumerate(editor_factory_modules): try: editor_module_name = editor_module.split(".")[-1] object_ref = ":".join([editor_module_name, class_name]) return toolkit_object(object_ref, True) except RuntimeError as e: msg = "Can't import toolkit_object '{}': {}" logger.debug(msg.format(object_ref, e)) if index == len(editor_factory_modules) - 1: raise e return None def string_value(self, value, format_func=None): """ Returns the text representation of a specified object trait value. If the **format_func** attribute is set on the editor factory, then this method calls that function to do the formatting. If the **format_str** attribute is set on the editor factory, then this method uses that string for formatting. If neither attribute is set, then this method just calls the appropriate text type to format. """ if self.format_func is not None: return self.format_func(value) if self.format_str != "": return self.format_str % value if format_func is not None: return format_func(value) return str(value) # ------------------------------------------------------------------------- # Property getters # ------------------------------------------------------------------------- def _get_simple_editor_class(self): """ Returns the editor class to use for "simple" style views. The default implementation tries to import the SimpleEditor class in the editor file in the backend package, and if such a class is not to found it returns the SimpleEditor class defined in editor_factory module in the backend package. """ try: SimpleEditor = self._get_toolkit_editor("SimpleEditor") except Exception as e: msg = "Can't import SimpleEditor for {}: {}" logger.debug(msg.format(self.__class__, e)) SimpleEditor = toolkit_object("editor_factory:SimpleEditor") return SimpleEditor def _get_custom_editor_class(self): """ Returns the editor class to use for "custom" style views. The default implementation tries to import the CustomEditor class in the editor file in the backend package, and if such a class is not to found it returns simple_editor_class. """ try: CustomEditor = self._get_toolkit_editor("CustomEditor") except Exception as e: msg = "Can't import CustomEditor for {}: {}" logger.debug(msg.format(self.__class__, e)) CustomEditor = self.simple_editor_class return CustomEditor def _get_text_editor_class(self): """ Returns the editor class to use for "text" style views. The default implementation tries to import the TextEditor class in the editor file in the backend package, and if such a class is not found it returns the TextEditor class declared in the editor_factory module in the backend package. """ try: TextEditor = self._get_toolkit_editor("TextEditor") except Exception as e: msg = "Can't import TextEditor for {}: {}" logger.debug(msg.format(self.__class__, e)) TextEditor = toolkit_object("editor_factory:TextEditor") return TextEditor def _get_readonly_editor_class(self): """ Returns the editor class to use for "readonly" style views. The default implementation tries to import the ReadonlyEditor class in the editor file in the backend package, and if such a class is not found it returns the ReadonlyEditor class declared in the editor_factory module in the backend package. """ try: ReadonlyEditor = self._get_toolkit_editor("ReadonlyEditor") except Exception as e: msg = "Can't import ReadonlyEditor for {}: {}" logger.debug(msg.format(self.__class__, e)) ReadonlyEditor = toolkit_object("editor_factory:ReadonlyEditor") return ReadonlyEditor # ------------------------------------------------------------------------- # 'EditorWithListFactory' abstract base class: # ------------------------------------------------------------------------- class EditorWithListFactory(EditorFactory): """ Base class for factories of editors for objects that contain lists. """ # ------------------------------------------------------------------------- # Trait definitions: # ------------------------------------------------------------------------- #: Values to enumerate (can be a list, tuple, dict, or a CTrait or #: TraitHandler that is "mapped"): values = Any() #: Extended name of the trait on **object** containing the enumeration data object = Str("object") #: Name of the trait on 'object' containing the enumeration data name = Str() traitsui-7.2.1/traitsui/instance_choice.py0000644000076500000240000001271014046644454021344 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! """ Defines the various instance descriptors used by the instance editor and instance editor factory classes. """ from traits.api import HasPrivateTraits, Str, Any, Dict, Tuple, Callable, Bool from .ui_traits import AView from .helper import user_name_for class InstanceChoiceItem(HasPrivateTraits): # ------------------------------------------------------------------------- # Trait definitions: # ------------------------------------------------------------------------- #: User interface name for the item name = Str() #: View associated with this item view = AView #: Does this item create new instances? is_factory = Bool(False) def get_name(self, object=None): """ Returns the name of the item. """ return self.name def get_view(self): """ Returns the view associated with the object. """ return self.view def get_object(self): """ Returns the object associated with the item. """ raise NotImplementedError def is_compatible(self, object): """ Indicates whether a specified object is compatible with the item. """ raise NotImplementedError def is_selectable(self): """ Indicates whether the item can be selected by the user. """ return True def is_droppable(self): """ Indicates whether the item supports drag and drop. """ return False class InstanceChoice(InstanceChoiceItem): # ------------------------------------------------------------------------- # Trait definitions: # ------------------------------------------------------------------------- #: Object associated with the item object = Any() #: The name of the object trait containing its user interface name: name_trait = Str("name") def get_name(self, object=None): """ Returns the name of the item. """ if self.name != "": return self.name name = getattr(self.object, self.name_trait, None) if isinstance(name, str): return name return user_name_for(self.object.__class__.__name__) def get_object(self): """ Returns the object associated with the item. """ return self.object def is_compatible(self, object): """ Indicates whether a specified object is compatible with the item. """ return object is self.object class InstanceFactoryChoice(InstanceChoiceItem): # ------------------------------------------------------------------------- # Trait definitions: # ------------------------------------------------------------------------- #: Indicates whether an instance compatible with this item can be dragged #: and dropped rather than created droppable = Bool(False) #: Indicates whether the item can be selected by the user selectable = Bool(True) #: A class (or other callable) that can be used to create an item #: compatible with this item klass = Callable() #: Tuple of arguments to pass to **klass** to create an instance args = Tuple() #: Dictionary of arguments to pass to **klass** to create an instance kw_args = Dict(Str, Any) #: Does this item create new instances? This value overrides the default. is_factory = True def get_name(self, object=None): """ Returns the name of the item. """ if self.name != "": return self.name name = getattr(object, "name", None) if isinstance(name, str): return name if issubclass(type(self.klass), type): klass = self.klass else: klass = self.get_object().__class__ return user_name_for(klass.__name__) def get_object(self): """ Returns the object associated with the item. """ return self.klass(*self.args, **self.kw_args) def is_droppable(self): """ Indicates whether the item supports drag and drop. """ return self.droppable def is_compatible(self, object): """ Indicates whether a specified object is compatible with the item. """ if issubclass(type(self.klass), type): return isinstance(object, self.klass) return isinstance(object, self.get_object().__class__) def is_selectable(self): """ Indicates whether the item can be selected by the user. """ return self.selectable class InstanceDropChoice(InstanceFactoryChoice): # ------------------------------------------------------------------------- # Trait definitions: # ------------------------------------------------------------------------- #: Indicates whether an instance compatible with this item can be dragged #: and dropped rather than created . This value overrides the default. droppable = True #: Indicates whether the item can be selected by the user. This value #: overrides the default. selectable = False #: Does this item create new instances? This value overrides the default. is_factory = False traitsui-7.2.1/traitsui/api.py0000644000076500000240000002027114046644454017000 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! """ API for the traitsui package. Editor Factories ---------------- - :class:`~.BasicEditorFactory` - :class:`~.EditorFactory` Context Values -------------- - :attr:`~.CV` - :attr:`~.CVFloat` - :attr:`~.CVInt` - :attr:`~.CVStr` - :func:`~.CVType` - :class:`~.ContextValue` Editors ------- - :class:`~.Editor` - :attr:`~.ArrayEditor` - :attr:`~.BooleanEditor` - :attr:`~.ButtonEditor` - :attr:`~.CheckListEditor` - :attr:`~.CodeEditor` - :func:`~.ColorEditor` - :attr:`~.CompoundEditor` - :class:`~.CSVListEditor` - :attr:`~.CustomEditor` - :class:`~.DateEditor` - :class:`~.DatetimeEditor` - :attr:`~.DateRangeEditor` - :class:`~.DefaultOverride` - :attr:`~.DirectoryEditor` - :attr:`~.DNDEditor` - :attr:`~.DropEditor` - :attr:`~.EnumEditor` - :attr:`~.FileEditor` - :func:`~.FontEditor` - :attr:`~.HistoryEditor` - :attr:`~.HTMLEditor` - :attr:`~.KeyBindingEditor` - :class:`~.ImageEditor` - :attr:`~.ImageEnumEditor` - :attr:`~.InstanceEditor` - :attr:`~.ListEditor` - :class:`~.ListStrEditor` - :attr:`~.NullEditor` - :class:`~.PopupEditor` - :attr:`~.ProgressEditor` - :attr:`~.RangeEditor` - :func:`~.RGBColorEditor` - :class:`~.ScrubberEditor` - :class:`~.SearchEditor` - :attr:`~.SetEditor` - :attr:`~.ShellEditor` - :attr:`~.StyledDateEditor` - :attr:`~.TableEditor` - :class:`~.TabularEditor` - :attr:`~.TextEditor` - :class:`~.TimeEditor` - :attr:`~.TitleEditor` - :attr:`~.TreeEditor` - :attr:`~.TupleEditor` - :attr:`~.ValueEditor` Layout Support -------------- - :class:`~.Group` - :class:`~.HFlow` - :class:`~.HGroup` - :class:`~.HSplit` - :class:`~.Tabbed` - :class:`~.VFlow` - :class:`~.VFold` - :class:`~.VGrid` - :class:`~.VGroup` - :class:`~.VSplit` Handlers -------- - :class:`~.Controller` - :class:`~.Handler` - :class:`~.ModelView` - :class:`~.ViewHandler` - :func:`~.default_handler` UI Items -------- - :class:`~.Custom` - :class:`~.Heading` - :class:`~.Item` - :class:`~.Label` - :class:`~.Readonly` - :class:`~.Spring` - :class:`~.UCustom` - :class:`~.UItem` - :class:`~.UReadonly` - :attr:`~.spring` Menus and Actions ----------------- - :class:`~.Action` - :attr:`~.ActionGroup` - :attr:`~.ApplyButton` - :attr:`~.CancelButton` - :attr:`~.CloseAction` - :attr:`~.HelpAction` - :attr:`~.HelpButton` - :attr:`~.LiveButtons` - :attr:`~.Menu` - :attr:`~.MenuBar` - :attr:`~.ModalButtons` - :attr:`~.NoButton` - :attr:`~.NoButtons` - :attr:`~.OKButton` - :attr:`~.OKCancelButtons` - :attr:`~.PyFaceAction` - :attr:`~.RedoAction` - :attr:`~.RevertAction` - :attr:`~.RevertButton` - :attr:`~.Separator` - :attr:`~.StandardMenuBar` - :attr:`~.ToolBar` - :attr:`~.UndoAction` - :attr:`~.UndoButton` Table UI -------- - :class:`~.TabularAdapter` - :attr:`~.TableEditor` Table column types: - :class:`~.ExpressionColumn` - :class:`~.ListColumn` - :class:`~.NumericColumn` - :class:`~.ObjectColumn` - :class:`~.TableColumn` Table filter types: - :class:`~.EvalTableFilter` - :class:`~.MenuTableFilter` - :class:`~.RuleTableFilter` - :class:`~.TableFilter` Instance UI ----------- - :class:`~.InstanceChoice` - :class:`~.InstanceChoiceItem` - :class:`~.InstanceDropChoice` - :attr:`~.InstanceEditor` - :class:`~.InstanceFactoryChoice` Toolkit Object -------------- - :func:`~.toolkit` - :func:`~.toolkit_object` Custom Traits ------------- - :attr:`~.Color` - :func:`~.ColorTrait` - :attr:`~.Font` - :func:`~.FontTrait` - :attr:`~.RGBColor` - :func:`~.RGBColorTrait` Custom UI Traits ---------------- - :attr:`~.Border` - :attr:`~.HasBorder` - :attr:`~.HasMargin` - :attr:`~.Image` - :attr:`~.Margin` - :class:`~.StatusItem` Tree UI ------- - :class:`~.ITreeNode` - :class:`~.ITreeNodeAdapter` - :class:`~.MultiTreeNode` - :class:`~.ObjectTreeNode` - :attr:`~.TreeEditor` - :class:`~.TreeNode` - :class:`~.TreeNodeObject` UI and UI Support ----------------- - :class:`~.UI` - :class:`~.UIInfo` Undo Support ------------ - :class:`~.AbstractUndoItem` - :class:`~.ListUndoItem` - :class:`~.UndoHistory` - :class:`~.UndoHistoryUndoItem` - :class:`~.UndoItem` View and View Elements ---------------------- - :class:`~.View` - :class:`~.ViewElement` - :class:`~.ViewSubElement` - :mod:`~.view_elements` Miscellaneous ------------- - :func:`~.on_help_call` - :func:`~.help_template` - :class:`~.Include` - :func:`~.auto_close_message` - :func:`~.error` - :func:`~.message` - :attr:`~._constants` - :attr:`~.WindowColor` - :func:`~.raise_to_debug` """ from .basic_editor_factory import BasicEditorFactory from .context_value import CV, CVFloat, CVInt, CVStr, CVType, ContextValue from .editor import Editor from .editor_factory import EditorFactory try: from .editors.api import ArrayEditor except ImportError: # ArrayEditor depends on numpy, so ignore if numpy is not present. pass from .editors.api import ( BooleanEditor, ButtonEditor, CheckListEditor, CodeEditor, ColorEditor, CompoundEditor, CustomEditor, CSVListEditor, DNDEditor, StyledDateEditor, DateEditor, DatetimeEditor, DateRangeEditor, DefaultOverride, DirectoryEditor, DropEditor, EnumEditor, FileEditor, FontEditor, HTMLEditor, HistoryEditor, ImageEditor, ImageEnumEditor, InstanceEditor, KeyBindingEditor, ListEditor, ListStrEditor, NullEditor, PopupEditor, ProgressEditor, RGBColorEditor, RangeEditor, ScrubberEditor, SearchEditor, SetEditor, ShellEditor, TableEditor, TabularEditor, TextEditor, TimeEditor, TitleEditor, TreeEditor, TupleEditor, ValueEditor, ) from .group import ( Group, HFlow, HGroup, HSplit, Tabbed, VFlow, VFold, VGrid, VGroup, VSplit, ) from .handler import ( Controller, Handler, ModelView, ViewHandler, default_handler, ) from .help import on_help_call from .help_template import help_template from .include import Include from .item import ( Custom, Heading, Item, Label, Readonly, Spring, UCustom, UItem, UReadonly, spring, ) from .menu import ( Action, ActionGroup, ApplyButton, CancelButton, CloseAction, HelpAction, HelpButton, LiveButtons, Menu, MenuBar, ModalButtons, NoButton, NoButtons, OKButton, OKCancelButtons, PyFaceAction, RedoAction, RevertAction, RevertButton, Separator, StandardMenuBar, ToolBar, UndoAction, UndoButton, ) from .message import auto_close_message, error, message from .table_column import ( ExpressionColumn, ListColumn, NumericColumn, ObjectColumn, TableColumn, ) from .table_filter import ( EvalTableFilter, MenuTableFilter, RuleTableFilter, TableFilter, ) from .tabular_adapter import TabularAdapter from .instance_choice import ( InstanceChoice, InstanceChoiceItem, InstanceDropChoice, InstanceFactoryChoice, ) from .toolkit import toolkit, toolkit_object from .toolkit_traits import ( Color, ColorTrait, Font, FontTrait, RGBColor, RGBColorTrait, ) from .tree_node import ( ITreeNode, ITreeNodeAdapter, MultiTreeNode, ObjectTreeNode, TreeNode, TreeNodeObject, ) from .ui import UI from .ui_info import UIInfo from .ui_traits import Border, HasBorder, HasMargin, Image, Margin, StatusItem from .undo import ( AbstractUndoItem, ListUndoItem, UndoHistory, UndoHistoryUndoItem, UndoItem, ) from .view import View from .view_element import ViewElement, ViewSubElement from . import view_elements _constants = toolkit().constants() WindowColor = _constants.get("WindowColor", 0xFFFFFF) def raise_to_debug(): """ When we would otherwise silently swallow an exception, call this instead to allow people to set the TRAITS_DEBUG environment variable and get the exception. """ import os if os.getenv("TRAITS_DEBUG") is not None: raise traitsui-7.2.1/traitsui/testing/0000755000076500000240000000000014046644526017330 5ustar aayresstaff00000000000000traitsui-7.2.1/traitsui/testing/_gui.py0000644000076500000240000000307114046644454020626 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! """ Module containing GUI event processing utility for testing purposes. """ from traits.etsconfig.api import ETSConfig def process_cascade_events(): """ Process all posted events, and attempt to process new events posted by the processed events. Cautions: - An infinite cascade of events will cause this function to enter an infinite loop. - There still exists technical difficulties with Qt. On Qt4 + OSX, QEventLoop.processEvents may report false saying it had found no events to process even though it actually had processed some. Consequently the internal loop breaks too early such that there are still cascaded events unprocessed. Problems are also observed on Qt5 + Appveyor occasionally. At the very least, events that are already posted prior to calling this function will be processed. See enthought/traitsui#951 """ if ETSConfig.toolkit.startswith("qt"): from pyface.qt import QtCore event_loop = QtCore.QEventLoop() while event_loop.processEvents(QtCore.QEventLoop.AllEvents): pass else: from pyface.api import GUI GUI.process_events() traitsui-7.2.1/traitsui/testing/tests/0000755000076500000240000000000014046644526020472 5ustar aayresstaff00000000000000traitsui-7.2.1/traitsui/testing/tests/__init__.py0000644000076500000240000000000014046644454022571 0ustar aayresstaff00000000000000traitsui-7.2.1/traitsui/testing/tests/test_gui.py0000644000076500000240000001336114046644454022673 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! """ Tests for traitsui.testing._gui """ import os import unittest from pyface.api import GUI from traitsui.tests._tools import ( is_qt, is_wx, is_mac_os, process_cascade_events, requires_toolkit, ToolkitName, ) if is_qt(): # Create a QObject that will emit a new event to itself as long as # it has not received enough. from pyface.qt import QtCore class DummyQObject(QtCore.QObject): def __init__(self, max_n_events): super().__init__() self.max_n_events = max_n_events self.n_events = 0 def event(self, event): if event.type() != QtCore.QEvent.User: return super().event(event) self.n_events += 1 if self.n_events < self.max_n_events: new_event = QtCore.QEvent(QtCore.QEvent.User) QtCore.QCoreApplication.postEvent(self, new_event) return True if is_wx(): # Create a wx.EvtHandler that will emit a new event to itself as long as # it has not received enough. import wx import wx.lib.newevent NewEvent, EVT_SOME_NEW_EVENT = wx.lib.newevent.NewEvent() class DummyWxHandler(wx.EvtHandler): def __init__(self, max_n_events): super().__init__() self.max_n_events = max_n_events self.n_events = 0 def TryBefore(self, event): self.n_events += 1 if self.n_events < self.max_n_events: self.post_event() return True def post_event(self): event = NewEvent() wx.PostEvent(self, event) class TestProcessEventsRepeated(unittest.TestCase): """ Test process_events actually processes all events, including the events posted by the processed events. """ @requires_toolkit([ToolkitName.qt]) def test_qt_process_events_process_all(self): from pyface.qt import QtCore if QtCore.__version_info__ < (5, 0, 0) and is_mac_os: # On Qt4 and OSX, Qt QEventLoop.processEvents says nothing was " # processed even when there are events processed, causing the " # loop to break too soon. (See enthought/traitsui#951)" self.skipTest( "process_cascade_events is not reliable on Qt4 + OSX" ) is_appveyor = os.environ.get("APPVEYOR", None) is not None if QtCore.__version_info__ <= (5, 12, 6) and is_appveyor: # With Qt + Appveyor, process_cascade_events may # _occasionally_ break out of its loop too early. This is only # seen on Appveyor but has not been reproducible on other Windows # machines (See enthought/traitsui#951) self.skipTest( "process_cascade_events is not reliable on Qt + Appveyor" ) def cleanup(q_object): q_object.deleteLater() # If the test fails, run process events at least the same # number of times as max_n_events for _ in range(q_object.max_n_events): QtCore.QCoreApplication.processEvents( QtCore.QEventLoop.AllEvents ) max_n_events = 10 q_object = DummyQObject(max_n_events=max_n_events) self.addCleanup(cleanup, q_object) QtCore.QCoreApplication.postEvent( q_object, QtCore.QEvent(QtCore.QEvent.User) ) # sanity check calling processEvents does not process # cascade of events. QtCore.QCoreApplication.processEvents(QtCore.QEventLoop.AllEvents) self.assertEqual(q_object.n_events, 1) # when process_cascade_events() # then actual = q_object.n_events # If process_cascade_events did not do what it promises, then there # are still pending tasks left. Run process events at least the same # number of times as max_n_events to verify for _ in range(max_n_events): QtCore.QCoreApplication.processEvents(QtCore.QEventLoop.AllEvents) n_left_behind_events = q_object.n_events - actual msg = ( "Expected {max_n_events} events processed on the objects and zero " "events left on the queue after running process_cascade_events. " "Found {actual} processed with {n_left_behind_events} left " "behind.".format( max_n_events=max_n_events, actual=actual, n_left_behind_events=n_left_behind_events, ) ) self.assertEqual(n_left_behind_events, 0, msg) # If the previous assertion passes but this one fails, that means some # events have gone missing, and that would likely be a problem for the # test setup, not for the process_cascade_events. self.assertEqual(actual, max_n_events, msg) @requires_toolkit([ToolkitName.wx]) def test_wx_process_events_process_all(self): def cleanup(wx_handler): # In case of test failure, always flush the GUI event queue. GUI.process_events() wx_handler.Destroy() max_n_events = 10 wx_handler = DummyWxHandler(max_n_events=max_n_events) self.addCleanup(cleanup, wx_handler) wx_handler.post_event() # when process_cascade_events() # then self.assertEqual(wx_handler.n_events, max_n_events) traitsui-7.2.1/traitsui/testing/tests/test_api.py0000644000076500000240000000300614046644454022653 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! """ Test the api module. """ import unittest class TestApi(unittest.TestCase): def test_tester_import(self): from traitsui.testing.api import UITester # noqa: F401 def test_commands_imports(self): from traitsui.testing.api import ( # noqa: F401 MouseClick, KeyClick, KeySequence, ) def test_query_imports(self): from traitsui.testing.api import ( # noqa: F401 DisplayedText, IsChecked, IsEnabled, IsVisible, SelectedText, ) def test_locator_imports(self): from traitsui.testing.api import ( # noqa: F401 Index, TargetById, TargetByName, Textbox, Slider, ) def test_advanced_usage_imports(self): from traitsui.testing.api import TargetRegistry # noqa: F401 def test_exceptions_imports(self): from traitsui.testing.api import ( # noqa: F401 Disabled, InteractionNotSupported, LocationNotSupported, TesterError, ) traitsui-7.2.1/traitsui/testing/tests/test_exception_handling.py0000644000076500000240000000354214046644454025751 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! """ Tests for traitsui.testing._exception_handling """ import unittest from pyface.api import GUI from traitsui.tests._tools import ( requires_toolkit, ToolkitName, ) from traitsui.testing._exception_handling import reraise_exceptions class TestExceptionHandling(unittest.TestCase): @requires_toolkit([ToolkitName.qt, ToolkitName.wx]) def test_error_from_gui_captured_and_raise(self): def raise_error_1(): raise ZeroDivisionError() def raise_error_2(): raise IndexError() # without the context manager: # - with Qt5, the test run will be aborted prematurely. # - with Qt4, the traceback is printed and the test passes. # - with Wx, the traceback is printed and the test passes. # With the context manager, the exception is always reraised. gui = GUI() with self.assertRaises(RuntimeError) as exception_context, \ self.assertLogs("traitsui") as watcher: with reraise_exceptions(): gui.invoke_later(raise_error_1) gui.invoke_later(raise_error_2) gui.process_events() error_msg = str(exception_context.exception) self.assertIn("ZeroDivisionError", error_msg) self.assertIn("IndexError", error_msg) log_content1, log_content2 = watcher.output self.assertIn("ZeroDivisionError", log_content1) self.assertIn("IndexError", log_content2) traitsui-7.2.1/traitsui/testing/__init__.py0000644000076500000240000000117114046644454021441 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! """ This package provide functionality to help testing GUI applications built using TraitsUI. The top-level ``api`` module re-exposes the public API for convenience. Private modules in this package serve TraitsUI only. """ traitsui-7.2.1/traitsui/testing/api.py0000644000076500000240000000365114046644454020460 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! """ Core API for traitsui.testing Tester ------ - :class:`~.UITester` Interactions (for changing GUI states) -------------------------------------- - :class:`~.KeyClick` - :class:`~.KeySequence` - :class:`~.MouseClick` Interactions (for getting GUI states) ------------------------------------- - :class:`~.DisplayedText` - :class:`~.IsChecked` - :class:`~.IsEnabled` - :class:`~.SelectedText` Locations (for locating GUI elements) ------------------------------------- - :class:`~.Index` - :class:`~.Slider` - :class:`~.TargetById` - :class:`~.TargetByName` - :class:`~.Textbox` Advanced usage -------------- - :class:`~.TargetRegistry` Exceptions ---------- - :class:`~.Disabled` - :class:`~.InteractionNotSupported` - :class:`~.LocationNotSupported` - :class:`~.TesterError` """ # Note: Imports are ordered to match the docstring, not in the typical # alphabetical order # Tester from .tester.ui_tester import UITester # Interactions (for changing GUI states) from .tester.command import ( MouseClick, KeyClick, KeySequence ) # Interactions (for getting GUI states) from .tester.query import ( DisplayedText, IsChecked, IsEnabled, IsVisible, SelectedText ) # Locations (for locating GUI elements) from .tester.locator import ( Index, TargetById, TargetByName, Textbox, Slider ) # Advanced usage from .tester.target_registry import TargetRegistry # Exceptions from .tester.exceptions import ( Disabled, InteractionNotSupported, LocationNotSupported, TesterError ) traitsui-7.2.1/traitsui/testing/tester/0000755000076500000240000000000014046644526020636 5ustar aayresstaff00000000000000traitsui-7.2.1/traitsui/testing/tester/command.py0000644000076500000240000000334114046644454022627 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! """ This module defines interaction objects that can be passed to ``UIWrapper.perform`` where the actions represent 'commands'. Implementations for these actions are expected to produce the documented side effects without returning any values. """ class MouseClick: """ An object representing the user clicking a mouse button. Currently the left mouse button is assumed. In most circumstances, a widget can still be clicked on even if it is disabled. Therefore unlike key events, if the widget is disabled, implementations should not raise an exception. """ pass class KeySequence: """ An object representing the user typing a sequence of keys. Implementations should raise ``Disabled`` if the widget is disabled. Attributes ---------- sequence : str A string that represents a sequence of key inputs. e.g. "Hello World" """ def __init__(self, sequence): self.sequence = sequence class KeyClick: """ An object representing the user clicking a key on the keyboard. Implementations should raise ``Disabled`` if the widget is disabled. Attributes ---------- key : str Standardized (pyface) name for a keyboard event. e.g. "Enter", "Tab", "Space", "0", "1", "A", ... """ def __init__(self, key): self.key = key traitsui-7.2.1/traitsui/testing/tester/query.py0000644000076500000240000000365514046644454022366 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! """ This module defines interaction objects that can be passed to ``UIWrapper.inspect`` where the actions represent 'queries'. Implementations for these actions are expected to return value(s), ideally without incurring side-effects. """ class SelectedText: """ An object representing an interaction to obtain the displayed (echoed) plain text which is currently selected. E.g. For a Enum List, with one entry currently selected, the displayed selected text would be the label of that entry. Implementations should return a ``str``, or None if nothing is selected. """ pass class DisplayedText: """ An object representing an interaction to obtain the displayed (echoed) plain text. E.g. For a textbox using a password styling, the displayed text should be a string of platform-dependent password mask characters. Implementations should return a ``str``. """ pass class IsChecked: """ An object representing an interaction to obtain whether a checkable widget (e.g. checkbox) is checked or not. Implementations should return True if checked and False if not. """ pass class IsEnabled: """ An object representing an interaction to obtain whether a widget is enabled or not. Implementations should return True if enabled and False if not. """ pass class IsVisible: """ An object representing an interaction to obtain whether a widget is visible or not. Implementations should return True if visible and False if not. """ pass traitsui-7.2.1/traitsui/testing/tester/_ui_tester_registry/0000755000076500000240000000000014046644526024730 5ustar aayresstaff00000000000000traitsui-7.2.1/traitsui/testing/tester/_ui_tester_registry/_common_ui_targets.py0000644000076500000240000000601614046644454031162 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! """ This module contains targets for UIWrapper so that the logic related to them can be reused. To use the logic in these objects, if the class in this module is a base class (indicated by leading _Base) they simply need to subclass this class, override any necessary traits, and then call the register method. """ class BaseSourceWithLocation: """ Wrapper base class to hold locator information together with a source (typically an editor). This is useful for cases in which the location information is still necessary when performing actions such as a mouse click or key click. For example, an Enum editor and an index. This class is meant to be subclassed for specific usecases, and the class level attributes overridden. """ # The type of the source object on which the location information will be # evaluated on source_class = None # The type of the locator object that provides location information. # (e.g. locator.Index) locator_class = None # the handlers we want to register for the given source_class # must be given as a list of tuples where the first element is the # interaction class (e.g. command.MouseClick) and the second is the # actual handler function. # See TargetRegistry.register_interaction # for the signature of the callable. handlers = [] def __init__(self, source, location): """ Parameters ---------- source : instance of source_class The source object. Typically this is an editor. location : instance of locator_class The location information of interest """ self.source = source self.location = location @classmethod def register(cls, registry): """ Class method to register interactions on a _SourceWithLocation for the given registry. It is expected that this class method will be called by subclasses, and thus interactions would be registered to subclasses rather than the base class. If there are any conflicts, an error will occur. Parameters ---------- registry : TargetRegistry The registry being registered to. """ registry.register_location( target_class=cls.source_class, locator_class=cls.locator_class, solver=lambda wrapper, location: cls(wrapper._target, location), ) for interaction_class, handler in cls.handlers: registry.register_interaction( target_class=cls, interaction_class=interaction_class, handler=handler ) traitsui-7.2.1/traitsui/testing/tester/_ui_tester_registry/tests/0000755000076500000240000000000014046644526026072 5ustar aayresstaff00000000000000traitsui-7.2.1/traitsui/testing/tester/_ui_tester_registry/tests/__init__.py0000644000076500000240000000000014046644454030171 0ustar aayresstaff00000000000000traitsui-7.2.1/traitsui/testing/tester/_ui_tester_registry/tests/test_default_registry.py0000644000076500000240000000162714046644454033065 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! import unittest from traitsui.testing.tester._abstract_target_registry import ( AbstractTargetRegistry, ) from traitsui.testing.tester._ui_tester_registry.default_registry import ( get_default_registries ) class TestDefaultRegistry(unittest.TestCase): def test_load_default_registries(self): registries = get_default_registries() for registry in registries: self.assertIsInstance(registry, AbstractTargetRegistry) self.assertGreaterEqual(len(registries), 1) traitsui-7.2.1/traitsui/testing/tester/_ui_tester_registry/tests/test_layout.py0000644000076500000240000001012614046644454031020 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! import unittest from traitsui.testing.tester._ui_tester_registry._layout import ( column_major_to_row_major ) class TestLayout(unittest.TestCase): def test_column_major_index_too_large(self): # Test when the index is too large for the total number of elements # The indices would look like: # 0 2 3 4 # 1 / / / with self.assertRaises(ValueError): column_major_to_row_major( index=10, n=5, num_rows=2, num_cols=4, ) def test_column_major_index_index_overhanging(self): # This is the layout for displaying numbers from 0-9 with column # major setup: # 0 3 6 8 # 1 4 7 9 # 2 5 / / # The index should be populated (row first) in this order: # 0, 3, 6, 8, 1, 4, 7, 9, 2, 5 actual = column_major_to_row_major( index=9, n=10, num_rows=3, num_cols=4, ) self.assertEqual(actual, 7) def test_column_major_index_in_grid_first_row(self): # Test when the index is small enough to be within the upper, filled # grid. # This is the layout for displaying numbers from 0-9 with column # major setup: # 0 3 6 8 # 1 4 7 9 # 2 5 / / # The index should be populated (row first) in this order: # 0, 3, 6, 8, 1, 4, 7, 9, 2, 5 actual = column_major_to_row_major( index=6, n=10, num_rows=3, num_cols=4, ) self.assertEqual(actual, 2) def test_column_major_index_in_grid_last_row(self): # Test when the index is small enough to be within the upper, filled # grid. # This is the layout for displaying numbers from 0-9 with column # major setup: # 0 3 6 8 # 1 4 7 9 # 2 5 / / # The index should be populated (row first) in this order: # 0, 3, 6, 8, 1, 4, 7, 9, 2, 5 actual = column_major_to_row_major( index=4, n=10, num_rows=3, num_cols=4, ) self.assertEqual(actual, 5) def test_column_major_index_last_row(self): # Test when the index is in the last row # This is the layout for displaying numbers from 0-9 with column # major setup: # 0 3 6 8 # 1 4 7 9 # 2 5 / / # The index should be populated (row first) in this order: # 0, 3, 6, 8, 1, 4, 7, 9, 2, 5 actual = column_major_to_row_major( index=2, n=10, num_rows=3, num_cols=4, ) self.assertEqual(actual, 8) def test_column_major_index_long_overhang(self): # This is the layout for displaying numbers from 0-9 with column # major setup: # 0 2 3 4 # 1 / / / # The index should be populated (row first) in this order: # 0, 2, 3, 4, 1 actual = column_major_to_row_major( index=4, n=5, num_rows=2, num_cols=4, ) self.assertEqual(actual, 3) def test_column_major_index_full_grid(self): # This is the layout for displaying numbers from 0-9 with column # major setup: # 0 3 6 9 12 # 1 4 7 10 13 # 2 5 8 11 14 # The index should be populated (row first) in this order: # 0, 3, 6, 9, 12, 1, 4, 7, 10, 13, 2, 5, 8, 11, 14 actual = column_major_to_row_major( index=11, n=15, num_rows=3, num_cols=5, ) self.assertEqual(actual, 13) traitsui-7.2.1/traitsui/testing/tester/_ui_tester_registry/__init__.py0000644000076500000240000000122114046644454027035 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! """ This package contains implementations for supporting testing with TraitsUI UI and editors. The top-level module ``default_registry`` supplies the implementation to the ``UITester`` and hides implementation details internal to this package. """ traitsui-7.2.1/traitsui/testing/tester/_ui_tester_registry/wx/0000755000076500000240000000000014046644526025366 5ustar aayresstaff00000000000000traitsui-7.2.1/traitsui/testing/tester/_ui_tester_registry/wx/_registry_helper.py0000644000076500000240000000416714046644454031316 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! """ This module provides functions for registering interaction handlers and location solvers for common Wx GUI components. """ from traitsui.testing.tester.command import ( KeyClick, KeySequence, MouseClick ) from traitsui.testing.tester.query import DisplayedText from traitsui.testing.tester._ui_tester_registry.wx import _interaction_helpers def register_editable_textbox_handlers(registry, target_class, widget_getter): """ Register common interactions for an editable textbox (in Wx) Parameters ---------- registry : TargetRegistry The registry being registered to. target_class : subclass of type The type of target being wrapped in a UIWrapper on which the interaction will be performed. widget_getter : callable(wrapper: UIWrapper) -> wx.TextCtrl A callable to return a wx.TextCtrl """ handlers = [ (KeySequence, (lambda wrapper, interaction: _interaction_helpers.key_sequence_text_ctrl( widget_getter(wrapper), interaction, wrapper.delay))), (KeyClick, (lambda wrapper, interaction: _interaction_helpers.key_click_text_entry( widget_getter(wrapper), interaction, wrapper.delay))), (MouseClick, (lambda wrapper, _: _interaction_helpers.mouse_click_object( control=widget_getter(wrapper), delay=wrapper.delay))), (DisplayedText, lambda wrapper, _: widget_getter(wrapper).GetValue()), ] for interaction_class, handler in handlers: registry.register_interaction( target_class=target_class, interaction_class=interaction_class, handler=handler, ) traitsui-7.2.1/traitsui/testing/tester/_ui_tester_registry/wx/_control_widget_registry.py0000644000076500000240000000432514046644454033056 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! """ This module provides a getter to obtain an AbstractTargetRegistry that can support testing any target whose 'control' attribute refers to a wx.Window. """ import wx from traitsui.testing.tester._dynamic_target_registry import ( DynamicTargetRegistry, ) from traitsui.testing.tester.query import IsEnabled, IsVisible def _handle_is_enabled(wrapper, interaction): """ Return true if the target's control is enabled. Parameters ---------- wrapper : UIWrapper Wrapper on which the target's control should be a wx.Window interaction : IsEnabled Not currently used. """ return wrapper._target.control.IsEnabled() def _handle_is_visible(wrapper, interaction): """ Return true if the target's control is visible. Parameters ---------- wrapper : UIWrapper Wrapper on which the target's control should be a wx.Window interaction : IsVisible Not currently used. """ return wrapper._target.control.IsShownOnScreen() def _is_target_control_a_wx_window(target): """ Return true if the target has a control that is an instance of wx.Window Parameters ---------- target : any Any UI target Returns ------- is_accepted : bool """ return ( hasattr(target, "control") and isinstance(target.control, wx.Window) ) def get_widget_registry(): """ Return a registry to support any target with an attribute 'control' that is an instance of wx.Window. Returns ------- registry : DynamicTargetRegistry A registry that can be used with UIWrapper """ return DynamicTargetRegistry( can_support=_is_target_control_a_wx_window, interaction_to_handler={ IsEnabled: _handle_is_enabled, IsVisible: _handle_is_visible, } ) traitsui-7.2.1/traitsui/testing/tester/_ui_tester_registry/wx/_interaction_helpers.py0000644000076500000240000003313314046644454032143 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! import warnings import wx from traitsui.testing.tester._ui_tester_registry._compat import ( check_key_compat ) from traitsui.testing.tester.exceptions import Disabled def _create_event(event_type, control): """ Creates a wxEvent of a given type Parameters ---------- event_type : wxEventType The type of the event to be created control : The wx control the event is occurring on. Returns ------- wxEvent The created event, of the given type, with the given control set as the event object. """ event = wx.CommandEvent( event_type, control.GetId() ) event.SetEventObject(control) return event def mouse_click(func): """ Decorator function for mouse clicks. Decorated functions will return if they are not enabled. Additionally, this handles the delay for the click. Parameters ---------- func : callable(*, control, delay, **kwargs) The mouse click function to be decorated. Returns ------- callable The decorated function. """ def mouse_click_handler(*, control, delay, **kwargs): """ Defines the decorated function. Paramters --------- control : wxControl The wx Object to be clicked. delay : int Time delay (in ms) in which click will be performed. """ if (not control) or (not control.IsEnabled()): warnings.warn( "Attempted to click on a non-existant or non-enabled control. " "Nothing was performed." ) return wx.MilliSleep(delay) func(control=control, delay=delay, **kwargs) return mouse_click_handler @mouse_click def mouse_click_button(control, delay): """ Performs a mouce click on a wx button. Parameters ---------- control : wxButton The wx Object to be clicked. delay: int Time delay (in ms) in which click will be performed. """ click_event = _create_event(wx.wxEVT_COMMAND_BUTTON_CLICKED, control) control.ProcessWindowEvent(click_event) @mouse_click def mouse_click_checkbox(control, delay): """ Performs a mouce click on a wx check box. Parameters ---------- control : wxCheckBox The wx Object to be clicked. delay: int Time delay (in ms) in which click will be performed. """ click_event = _create_event(wx.wxEVT_COMMAND_CHECKBOX_CLICKED, control) control.SetValue(not control.GetValue()) control.ProcessWindowEvent(click_event) @mouse_click def mouse_click_combobox_or_choice(control, index, delay): """ Performs a mouce click on either a wx combo box or a wx choice on the entry at the given index. Parameters ---------- control : wxComboBox or wxChoice The wx Object to be clicked. index : int The index of the item in the combobox/choice to be clicked delay: int Time delay (in ms) in which click will be performed. Raises ------ TypeError If the control is not a wxComboBox or wxChoice. """ if isinstance(control, wx.ComboBox): click_event = _create_event( wx.wxEVT_COMMAND_COMBOBOX_SELECTED, control ) elif isinstance(control, wx.Choice): click_event = _create_event(wx.wxEVT_COMMAND_CHOICE_SELECTED, control) else: raise TypeError("Only supported controls are wxComboBox or wxChoice") click_event.SetString(control.GetString(index)) control.SetSelection(index) control.ProcessWindowEvent(click_event) @mouse_click def mouse_click_listbox(control, index, delay): """Performs a mouce click on a wx list box on the entry at the given index. Parameters ---------- control : wxListBox The wx Object to be clicked. index : int The index of the item in the list box to be clicked delay: int Time delay (in ms) in which click will be performed. """ click_event = _create_event(wx.wxEVT_COMMAND_LISTBOX_SELECTED, control) control.SetSelection(index) control.ProcessWindowEvent(click_event) @mouse_click def mouse_click_radiobutton(control, delay): """ Performs a mouce click on a wx radio button. Parameters ---------- control : wxRadioButton The wx Object to be clicked. delay: int Time delay (in ms) in which click will be performed. """ click_event = _create_event(wx.wxEVT_COMMAND_RADIOBUTTON_SELECTED, control) control.SetValue(not control.GetValue()) control.ProcessWindowEvent(click_event) @mouse_click def mouse_click_object(control, delay): """ Performs a mouce click on a wxTextCtrl. Parameters ---------- control : wxObject The wx Object to be clicked. delay: int Time delay (in ms) in which click will be performed. """ if not control.HasFocus(): control.SetFocus() click_event = _create_event(wx.wxEVT_COMMAND_LEFT_CLICK, control) control.ProcessWindowEvent(click_event) def mouse_click_notebook_tab_index(control, index, delay): """ Performs a mouseclick on a Noteboook List Editor on the tab specified by index. Parameters ---------- control : wx.Window The control of the DockWindow index : int The index of the child object in the Panel to be clicked delay : int Time delay (in ms) in which click will be performed. """ controls_list = control.GetSizer().GetContents().get_controls() wx.MilliSleep(delay) # find the boundaries of the tab to be clicked bx, by, bdx, bdy = controls_list[index].drag_bounds # find the center tab_center = wx.Point(bx + bdx//2, by + bdy//2) click_down_event = wx.MouseEvent( wx.wxEVT_LEFT_DOWN ) click_down_event.SetPosition(tab_center) click_up_event = wx.MouseEvent( wx.wxEVT_LEFT_UP ) click_up_event.SetPosition(tab_center) control.ProcessEvent(click_down_event) control.ProcessEvent(click_up_event) def mouse_click_checkbox_child_in_panel(control, index, delay): """ Performs a mouce click on a child of a Wx Panel. Parameters ---------- control : wx.Panel The Panel containing child objects, one of which will be clicked. index : int The index of the child object in the Panel to be clicked delay : int Time delay (in ms) in which click will be performed. Raises ------ IndexError If the index is out of range. """ children_list = control.GetSizer().GetChildren() if not 0 <= index <= len(children_list) - 1: raise IndexError(index) obj = children_list[index].GetWindow() mouse_click_checkbox(control=obj, delay=delay) def mouse_click_radiobutton_child_in_panel(control, index, delay): """ Performs a mouce click on a child of a Wx Panel. Parameters ---------- control : wx.Panel The Panel containing child objects, one of which will be clicked. index : int The index of the child object in the Panel to be clicked delay : int Time delay (in ms) in which click will be performed. Raises ------ IndexError If the index is out of range. """ children_list = control.GetSizer().GetChildren() if not 0 <= index <= len(children_list) - 1: raise IndexError(index) obj = children_list[index].GetWindow() mouse_click_radiobutton(control=obj, delay=delay) def key_click_text_entry( control, interaction, delay, get_selection=lambda control: control.GetSelection() ): """ Performs simulated typing of a key on the given wxObject after a delay. Parameters ---------- control : wxTextEntry The wx Object to be acted on. interaction : instance of command.KeyClick The interaction object holding the key input to be simulated being typed delay : int Time delay (in ms) in which the key click will be performed. get_selection: callable(wx.TextEntry) -> tuple(int, int) Callable that takes an instance of wx.TextEntry and return the current selection span. Default is to call `GetSelection` method. Useful for when the TextEntry.GetSelection is overridden by a subclass that does not conform to the common API. """ if not (control.IsEnabled() and control.IsEditable()): raise Disabled("{!r} is disabled.".format(control)) if not control.HasFocus(): control.SetFocus() control.SetInsertionPointEnd() if interaction.key == "Enter": wx.MilliSleep(delay) event = wx.CommandEvent(wx.EVT_TEXT_ENTER.typeId, control.GetId()) control.ProcessEvent(event) elif interaction.key == "End": wx.MilliSleep(delay) control.SetInsertionPointEnd() elif interaction.key == "Backspace": wx.MilliSleep(delay) start, end = get_selection(control) if end > start: control.Remove(start, end) else: pos = control.GetInsertionPoint() control.Remove(max(0, pos - 1), pos) else: check_key_compat(interaction.key) wx.MilliSleep(delay) control.WriteText(interaction.key) def key_click_combobox(control, interaction, delay): """ Performs simulated typing of a key on the given wxComboBox after a delay. Parameters ---------- control : wxComboBox The wx Object to be acted on. interaction : instance of command.KeyClick The interaction object holding the key input to be simulated being typed delay : int Time delay (in ms) in which the key click will be performed. """ key_click_text_entry( control, interaction, delay, get_selection=lambda control: control.GetTextSelection(), ) def key_sequence_text_ctrl(control, interaction, delay): """ Performs simulated typing of a sequence of keys on the given wxObject after a delay. Parameters ---------- control : wxTextCtrl The wx Object to be acted on. interaction : instance of command.KeySequence The interaction object holding the sequence of key inputs to be simulated being typed delay : int Time delay (in ms) in which each key click in the sequence will be performed. Raises ------ Disabled If the control is either not enabled or not editable. """ # fail early for char in interaction.sequence: check_key_compat(char) if not (control.IsEnabled() and control.IsEditable()): raise Disabled("{!r} is disabled.".format(control)) if not control.HasFocus(): control.SetFocus() control.SetInsertionPointEnd() for char in interaction.sequence: wx.MilliSleep(delay) control.WriteText(char) wx.SafeYield() def key_click_slider(control, interaction, delay): """ Performs simulated typing of a key on the given wxSlider after a delay. Only allowed keys are: "Left", "Right", "Up", "Down", "Page Up", "Page Down" Also, note that up related keys correspond to an increment on the slider, and down a decrement. Parameters ---------- control : wxSlider The wx Object to be acted on. interaction : instance of command.KeyClick The interaction object holding the key input to be simulated being typed delay : int Time delay (in ms) in which the key click will be performed. Raises ------ ValueError If the interaction.key is not one of the valid keys. """ valid_keys = {"Left", "Right", "Up", "Down", "Page Up", "Page Down"} if interaction.key not in valid_keys: raise ValueError( "Unexpected Key. Supported keys are: {}".format(sorted(valid_keys)) ) if not control.HasFocus(): control.SetFocus() value = control.GetValue() if interaction.key in {"Up", "Right"}: position = min(control.GetMax(), value + control.GetLineSize()) elif interaction.key == "Page Up": position = min(control.GetMax(), value + control.GetPageSize()) elif interaction.key == "Page Down": position = max(control.GetMin(), value - control.GetPageSize()) elif interaction.key in {"Down", "Left"}: position = max(control.GetMin(), value - control.GetLineSize()) else: raise ValueError( "Unexpected Key. Supported keys are: {}".format(sorted(valid_keys)) ) wx.MilliSleep(delay) control.SetValue(position) event = wx.ScrollEvent( wx.wxEVT_SCROLL_CHANGED, control.GetId(), position ) wx.PostEvent(control, event) def readonly_textbox_displayed_text(control): ''' Extracts the displayed text in a wx textbox (either a wx.TextCtrl or wx.StaticText). Parameters ---------- control : wx.TextCtrl or wx.StaticText the textbox object from which the text of interest is displayed Raises ------ TypeError If the control is not either a wx.TextCtrl or wx.StaticText. ''' if isinstance(control, wx.TextCtrl): return control.GetValue() elif isinstance(control, wx.StaticText): return control.GetLabel() raise TypeError("readonly_textbox_displayed_text expected a control" " of either wx.TextCtrl, or wx.StaticText." " {} was found".format(control)) traitsui-7.2.1/traitsui/testing/tester/_ui_tester_registry/wx/tests/0000755000076500000240000000000014046644526026530 5ustar aayresstaff00000000000000traitsui-7.2.1/traitsui/testing/tester/_ui_tester_registry/wx/tests/test_interaction_helpers.py0000644000076500000240000001375614046644454034216 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! import unittest from unittest import mock from traitsui.testing.tester import command from traitsui.testing.tester.exceptions import Disabled from traitsui.testing.tester._ui_tester_registry.wx import _interaction_helpers from traitsui.tests._tools import ( is_wx, requires_toolkit, ToolkitName, ) try: import wx except ImportError: if is_wx(): raise @requires_toolkit([ToolkitName.wx]) class TestInteractions(unittest.TestCase): def setUp(self): self.frame = wx.Frame(None) self.frame.Show() def tearDown(self): self.frame.Close() self.frame.Destroy() def test_mouse_click(self): handler = mock.Mock() button = wx.Button(self.frame) button.Bind(wx.EVT_BUTTON, handler) # when _interaction_helpers.mouse_click_button(control=button, delay=0) # then self.assertEqual(handler.call_count, 1) def test_mouse_click_disabled_button(self): handler = mock.Mock() button = wx.Button(self.frame) button.Bind(wx.EVT_BUTTON, handler) button.Enable(False) # when _interaction_helpers.mouse_click_button(control=button, delay=0) # then self.assertEqual(handler.call_count, 0) def test_mouse_click_None_warns(self): control = None with self.assertWarns(UserWarning): _interaction_helpers.mouse_click_button(control=control, delay=0) def test_key_sequence(self): # The insertion point is moved to the end textbox = wx.TextCtrl(self.frame) textbox.SetValue("123") handler = mock.Mock() textbox.Bind(wx.EVT_TEXT, handler) _interaction_helpers.key_sequence_text_ctrl( textbox, command.KeySequence("abc"), 0) self.assertEqual(textbox.GetValue(), "123abc") self.assertEqual(handler.call_count, 3) def test_key_sequence_with_unicode(self): handler = mock.Mock() textbox = wx.TextCtrl(self.frame) textbox.Bind(wx.EVT_TEXT, handler) # This range is supported by Qt for code in range(32, 127): with self.subTest(code=code, word=chr(code)): textbox.Clear() handler.reset_mock() # when _interaction_helpers.key_sequence_text_ctrl( textbox, command.KeySequence(chr(code) * 3), delay=0, ) # then self.assertEqual(textbox.Value, chr(code) * 3) self.assertEqual(handler.call_count, 3) def test_key_sequence_with_backspace_unsupported(self): textbox = wx.TextCtrl(self.frame) with self.assertRaises(ValueError) as exception_context: _interaction_helpers.key_sequence_text_ctrl( textbox, command.KeySequence("\b"), 0 ) self.assertIn( "is currently not supported.", str(exception_context.exception), ) def test_key_sequence_disabled(self): textbox = wx.TextCtrl(self.frame) textbox.SetEditable(False) with self.assertRaises(Disabled): _interaction_helpers.key_sequence_text_ctrl( textbox, command.KeySequence("abc"), 0) def test_key_click(self): textbox = wx.TextCtrl(self.frame) handler = mock.Mock() textbox.Bind(wx.EVT_TEXT, handler) _interaction_helpers.key_click_text_entry( textbox, command.KeyClick("A"), 0) self.assertEqual(textbox.Value, "A") self.assertEqual(handler.call_count, 1) def test_key_click_backspace(self): textbox = wx.TextCtrl(self.frame) textbox.SetValue("A") handler = mock.Mock() textbox.Bind(wx.EVT_TEXT, handler) _interaction_helpers.key_click_text_entry( textbox, command.KeyClick("Backspace"), 0) self.assertEqual(textbox.Value, "") self.assertEqual(handler.call_count, 1) def test_key_click_backspace_with_selection(self): textbox = wx.TextCtrl(self.frame) textbox.SetFocus() textbox.SetValue("ABCDE") textbox.SetSelection(0, 4) # sanity check self.assertEqual(textbox.GetStringSelection(), "ABCD") handler = mock.Mock() textbox.Bind(wx.EVT_TEXT, handler) _interaction_helpers.key_click_text_entry( textbox, command.KeyClick("Backspace"), 0) self.assertEqual(textbox.Value, "E") self.assertEqual(handler.call_count, 1) def test_key_click_end(self): textbox = wx.TextCtrl(self.frame) textbox.SetValue("ABCDE") textbox.SetInsertionPoint(0) # sanity check self.assertEqual(textbox.GetInsertionPoint(), 0) _interaction_helpers.key_click_text_entry( textbox, command.KeyClick("End"), 0) _interaction_helpers.key_click_text_entry( textbox, command.KeyClick("F"), 0) self.assertEqual(textbox.Value, "ABCDEF") def test_key_click_disabled(self): textbox = wx.TextCtrl(self.frame) textbox.SetEditable(False) with self.assertRaises(Disabled): _interaction_helpers.key_click_text_entry( textbox, command.KeyClick("Enter"), 0) def test_key_click_slider_helpful_err(self): slider = wx.Slider() with self.assertRaises(ValueError) as exc: _interaction_helpers.key_click_slider( slider, command.KeyClick("Enter"), 0) self.assertIn( "['Down', 'Left', 'Page Down', 'Page Up', 'Right', 'Up']", str(exc.exception) ) traitsui-7.2.1/traitsui/testing/tester/_ui_tester_registry/wx/tests/test_control_widget_registry.py0000644000076500000240000000553114046644454035120 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! """ Tests for wx.Window's DynamicTargetRegistry """ import unittest from traitsui.testing.api import IsEnabled, IsVisible from traitsui.testing.tester.exceptions import ( LocationNotSupported, ) from traitsui.testing.tester.ui_wrapper import UIWrapper from traitsui.tests._tools import ( is_wx, requires_toolkit, ToolkitName, ) try: import wx except ImportError: if is_wx(): raise else: from traitsui.testing.tester._ui_tester_registry.wx._control_widget_registry import ( # noqa: E501 get_widget_registry, ) class TargetWithControl: """ An object holding a control attribute.""" def __init__(self, control): self.control = control @requires_toolkit([ToolkitName.wx]) class TestWxControlWidgetRegistry(unittest.TestCase): def setUp(self): self.widget = wx.Window() self.registry = get_widget_registry() self.target = TargetWithControl(self.widget) self.good_wrapper = UIWrapper( target=self.target, registries=[self.registry], ) def test_is_enabled(self): self.widget.Enable(True) self.assertTrue(self.good_wrapper.inspect(IsEnabled())) def test_is_visible(self): self.widget.Show(True) self.assertTrue(self.good_wrapper.inspect(IsVisible())) def test_is_invisible(self): self.widget.Hide() self.assertFalse(self.good_wrapper.inspect(IsVisible())) def test_get_interactions_good_target(self): self.assertEqual( self.registry._get_interactions(self.target), set([IsEnabled, IsVisible]) ) def test_get_interactions_bad_target(self): self.assertEqual(self.registry._get_interactions(None), set()) def test_get_interaction_doc(self): self.assertGreater( len(self.registry._get_interaction_doc(self.target, IsEnabled)), 0 ) self.assertGreater( len(self.registry._get_interaction_doc(self.target, IsVisible)), 0 ) def test_get_location_solver(self): # There are currently no solvers with self.assertRaises(LocationNotSupported): self.registry._get_solver(self.target, None) def test_get_locations(self): self.assertEqual(self.registry._get_locations(self.target), set()) def test_error_get_location_doc(self): with self.assertRaises(LocationNotSupported): self.registry._get_location_doc(self.target, None) traitsui-7.2.1/traitsui/testing/tester/_ui_tester_registry/wx/tests/__init__.py0000644000076500000240000000000014046644454030627 0ustar aayresstaff00000000000000traitsui-7.2.1/traitsui/testing/tester/_ui_tester_registry/wx/__init__.py0000644000076500000240000000115614046644454027502 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! """ This package contains implementations for testing TraitsUI UI editors with Wx. The top-level module ``default_registry`` serves external packages and hides implementation details internal to this package. """ traitsui-7.2.1/traitsui/testing/tester/_ui_tester_registry/wx/default_registry.py0000644000076500000240000000363414046644454031322 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! from traitsui.testing.tester.target_registry import TargetRegistry from traitsui.testing.tester._ui_tester_registry.wx._traitsui import ( boolean_editor, button_editor, check_list_editor, editor_factory, enum_editor, file_editor, font_editor, instance_editor, list_editor, range_editor, text_editor, ui_base, ) from ._control_widget_registry import get_widget_registry def get_default_registries(): """ Creates the default registries for UITester that are wx specific. Returns ------- registries : list of AbstractTargetRegistry The default registries containing implementations for TraitsUI editors that are wx specific. """ registry = TargetRegistry() # BooleanEditor boolean_editor.register(registry) # ButtonEditor button_editor.register(registry) # CheckListEditor check_list_editor.register(registry) # EnumEditor enum_editor.register(registry) # FileEditor file_editor.register(registry) # FontEditor font_editor.register(registry) # TextEditor text_editor.register(registry) # ListEditor list_editor.register(registry) # RangeEditor range_editor.register(registry) # ui_base ui_base.register(registry) # InstanceEditor instance_editor.register(registry) # Editor Factory editor_factory.register(registry) # More general registry follows more specific registry return [ registry, get_widget_registry(), ] traitsui-7.2.1/traitsui/testing/tester/_ui_tester_registry/wx/_traitsui/0000755000076500000240000000000014046644526027371 5ustar aayresstaff00000000000000traitsui-7.2.1/traitsui/testing/tester/_ui_tester_registry/wx/_traitsui/file_editor.py0000644000076500000240000000174414046644454032236 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! from traitsui.wx.file_editor import SimpleEditor from traitsui.testing.tester._ui_tester_registry.wx._registry_helper import ( register_editable_textbox_handlers, ) def register(registry): """ Register interactions for the given registry. If there are any conflicts, an error will occur. Parameters ---------- registry : TargetRegistry The registry being registered to. """ register_editable_textbox_handlers( registry=registry, target_class=SimpleEditor, widget_getter=lambda wrapper: wrapper._target._file_name, ) traitsui-7.2.1/traitsui/testing/tester/_ui_tester_registry/wx/_traitsui/instance_editor.py0000644000076500000240000000612114046644454033115 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! from traitsui.testing.tester.command import MouseClick from traitsui.testing.tester.locator import Index from traitsui.testing.tester.query import SelectedText from traitsui.testing.tester._ui_tester_registry._common_ui_targets import ( BaseSourceWithLocation ) from traitsui.testing.tester._ui_tester_registry._traitsui_ui import ( register_traitsui_ui_solvers, ) from traitsui.testing.tester._ui_tester_registry.wx._interaction_helpers import ( # noqa mouse_click_combobox_or_choice, mouse_click_button ) from traitsui.wx.instance_editor import ( CustomEditor, SimpleEditor ) def _get_nested_ui_simple(target): """ Obtains a nested UI within a Simple Instance Editor. Parameters ---------- target : instance of SimpleEditor """ return target._dialog_ui def _get_nested_ui_custom(target): """ Obtains a nested UI within a Custom Instance Editor. Parameters ---------- target : instance of CustomEditor """ return target._ui def _get_choice(target): """ Obtains a nested choice within an Instance Editor. Parameters ---------- target : instance of CustomEditor """ return target._choice def _click_choice_index(wrapper, _): """ Perform a click on a choice based on the index. """ return mouse_click_combobox_or_choice( control=_get_choice(wrapper._target.source), index=wrapper._target.location.index, delay=wrapper.delay, ) def _get_choice_text(wrapper, _): """ Get the currently displayed text of a choice. """ control = _get_choice(wrapper._target) return control.GetString(control.GetSelection()) class _IndexedCustomEditor(BaseSourceWithLocation): """ Wrapper class for CustomEditors with a selection. """ source_class = CustomEditor locator_class = Index handlers = [ (MouseClick, _click_choice_index), ] def register(registry): """ Register interactions for the given registry. If there are any conflicts, an error will occur. Parameters ---------- registry : TargetRegistry The registry being registered to. """ _IndexedCustomEditor.register(registry) registry.register_interaction( target_class=SimpleEditor, interaction_class=MouseClick, handler=lambda wrapper, _: mouse_click_button( control=wrapper._target._button, delay=wrapper.delay, ) ) register_traitsui_ui_solvers(registry, SimpleEditor, _get_nested_ui_simple) registry.register_interaction( target_class=CustomEditor, interaction_class=SelectedText, handler=_get_choice_text, ) register_traitsui_ui_solvers(registry, CustomEditor, _get_nested_ui_custom) traitsui-7.2.1/traitsui/testing/tester/_ui_tester_registry/wx/_traitsui/__init__.py0000644000076500000240000000130314046644454031477 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! """ The organization in this package should more or less mirror that of the ``traitsui.wx`` package and contains the corresponding logic for testing. Note that once new implementations are added, they may need to be exposed via the ``default_registry`` module (one level up from this package). """ traitsui-7.2.1/traitsui/testing/tester/_ui_tester_registry/wx/_traitsui/ui_base.py0000644000076500000240000000247114046644454031356 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! from traitsui.wx.ui_base import ButtonEditor from traitsui.testing.tester.command import MouseClick from traitsui.testing.tester.query import DisplayedText from traitsui.testing.tester._ui_tester_registry.wx import _interaction_helpers def register(registry): """ Register solvers/handlers specific to wx Button Editors for the given registry. If there are any conflicts, an error will occur. Parameters ---------- registry : TargetRegistry """ registry.register_interaction( target_class=ButtonEditor, interaction_class=MouseClick, handler=(lambda wrapper, _: _interaction_helpers.mouse_click_button( control=wrapper._target.control, delay=wrapper.delay)) ) registry.register_interaction( target_class=ButtonEditor, interaction_class=DisplayedText, handler=lambda wrapper, _: wrapper._target.control.GetLabel() ) traitsui-7.2.1/traitsui/testing/tester/_ui_tester_registry/wx/_traitsui/editor_factory.py0000644000076500000240000000257614046644454032772 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! from traitsui.wx.editor_factory import ReadonlyEditor, TextEditor from traitsui.testing.tester.query import DisplayedText from traitsui.testing.tester._ui_tester_registry.wx import _interaction_helpers from traitsui.testing.tester._ui_tester_registry.wx._registry_helper import ( register_editable_textbox_handlers, ) def register(registry): """ Register interactions for the given registry. If there are any conflicts, an error will occur. Parameters ---------- registry : TargetRegistry The registry being registered to. """ register_editable_textbox_handlers( registry=registry, target_class=TextEditor, widget_getter=lambda wrapper: wrapper._target.control, ) registry.register_interaction( target_class=ReadonlyEditor, interaction_class=DisplayedText, handler=lambda wrapper, _: _interaction_helpers.readonly_textbox_displayed_text( wrapper._target.control), ) traitsui-7.2.1/traitsui/testing/tester/_ui_tester_registry/wx/_traitsui/list_editor.py0000644000076500000240000000735214046644454032273 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! from traitsui.testing.tester.command import MouseClick from traitsui.testing.tester.locator import Index from traitsui.testing.tester._ui_tester_registry._common_ui_targets import ( BaseSourceWithLocation ) from traitsui.testing.tester._ui_tester_registry._traitsui_ui import ( register_traitsui_ui_solvers, ) from traitsui.testing.tester._ui_tester_registry.wx import _interaction_helpers from traitsui.wx.list_editor import ( CustomEditor, NotebookEditor, SimpleEditor ) class _IndexedNotebookEditor(BaseSourceWithLocation): """ Wrapper for a ListEditor (Notebook) with an index. """ source_class = NotebookEditor locator_class = Index handlers = [ (MouseClick, (lambda wrapper, _: _interaction_helpers.mouse_click_notebook_tab_index( control=wrapper._target.source.control, index=wrapper._target.location.index, delay=wrapper.delay))), ] @classmethod def register(cls, registry): """ Class method to register interactions on a _IndexedNotebookEditor for the given registry. If there are any conflicts, an error will occur. Parameters ---------- registry : TargetRegistry The registry being registered to. """ super().register(registry) register_traitsui_ui_solvers( registry=registry, target_class=cls, traitsui_ui_getter=lambda target: target._get_nested_ui() ) def _get_nested_ui(self): """ Method to get the nested ui corresponding to the List element at the given index. """ return self.source._uis[self.location.index][0].dockable.ui def _get_next_target(list_editor, index): """ Gets the target at a given index from a Custom List Editor. Parameters ---------- list_editor : CustomEditor The custom style list editor in which the target is contained. index : int the index of the target of interest in the list Returns ------- traitsui.editor.Editor The obtained target. """ # each list item gets a corresponding ImageControl item (allows one to # add items to the list before, after, delete, etc.) along with the # item itself. Thus, index is actually an index over the odd elements # of the list of children corresponding to items in the list we would # want to interact with new_index = 2*index + 1 WindowList = list_editor.control.GetChildren() item = WindowList[new_index] return item._editor def register(registry): """ Register interactions for the given registry. If there are any conflicts, an error will occur. Parameters ---------- registry : TargetRegistry The registry being registered to. """ # NotebookEditor _IndexedNotebookEditor.register(registry) # CustomEditor registry.register_location( target_class=CustomEditor, locator_class=Index, solver=lambda wrapper, location: ( _get_next_target(wrapper._target, location.index) ) ) # SimpleEditor registry.register_location( target_class=SimpleEditor, locator_class=Index, solver=lambda wrapper, location: ( _get_next_target(wrapper._target, location.index) ) ) traitsui-7.2.1/traitsui/testing/tester/_ui_tester_registry/wx/_traitsui/check_list_editor.py0000644000076500000240000000536114046644454033426 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! import wx from traitsui.wx.check_list_editor import CustomEditor from traitsui.testing.tester.command import MouseClick from traitsui.testing.tester.locator import Index from traitsui.testing.tester._ui_tester_registry._common_ui_targets import ( BaseSourceWithLocation ) from traitsui.testing.tester._ui_tester_registry._layout import ( column_major_to_row_major ) from traitsui.testing.tester._ui_tester_registry.wx import _interaction_helpers class _IndexedCustomCheckListEditor(BaseSourceWithLocation): """ Wrapper for CheckListEditor + Index """ source_class = CustomEditor locator_class = Index handlers = [ (MouseClick, (lambda wrapper, _: _interaction_helpers.mouse_click_checkbox_child_in_panel( control=wrapper._target.source.control, index=convert_index( source=wrapper._target.source, index=wrapper._target.location.index ), delay=wrapper.delay))), ] def convert_index(source, index): """ Helper function to convert an index for a GridSizer so that the index counts over the grid in the correct direction. The grid is always populated in row major order, however, the elements are assigned to each entry in the grid so that when displayed they appear in column major order. Sizers are indexed in the order they are populated, so to access the correct element we may need to convert a column-major based index into a row-major one. Parameters ---------- control : CustomEditor The Custom CheckList Editor of interest. Its control is the wx.Panel containing child objects organized with a wx.GridSizer index : int the index of interest """ sizer = source.control.GetSizer() if isinstance(sizer, wx.BoxSizer): return index n = len(source.names) num_cols = sizer.GetCols() num_rows = sizer.GetEffectiveRowsCount() return column_major_to_row_major(index, n, num_rows, num_cols) def register(registry): """ Register interactions for the given registry. If there are any conflicts, an error will occur. Parameters ---------- registry : TargetRegistry The registry being registered to. """ _IndexedCustomCheckListEditor.register(registry) traitsui-7.2.1/traitsui/testing/tester/_ui_tester_registry/wx/_traitsui/text_editor.py0000644000076500000240000000273014046644454032277 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! from traitsui.wx.text_editor import CustomEditor, ReadonlyEditor, SimpleEditor from traitsui.testing.tester.query import DisplayedText from traitsui.testing.tester._ui_tester_registry.wx import _interaction_helpers from traitsui.testing.tester._ui_tester_registry.wx._registry_helper import ( register_editable_textbox_handlers, ) def register(registry): """ Register interactions for the given registry. If there are any conflicts, an error will occur. Parameters ---------- registry : TargetRegistry The registry being registered to. """ for target_class in [CustomEditor, SimpleEditor]: register_editable_textbox_handlers( registry=registry, target_class=target_class, widget_getter=lambda wrapper: wrapper._target.control, ) registry.register_interaction( target_class=ReadonlyEditor, interaction_class=DisplayedText, handler=lambda wrapper, _: _interaction_helpers.readonly_textbox_displayed_text( wrapper._target.control), ) traitsui-7.2.1/traitsui/testing/tester/_ui_tester_registry/wx/_traitsui/boolean_editor.py0000644000076500000240000000316414046644454032734 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! from traitsui.wx.boolean_editor import ReadonlyEditor, SimpleEditor from traitsui.testing.tester.command import MouseClick from traitsui.testing.tester.query import DisplayedText, IsChecked from traitsui.testing.tester._ui_tester_registry.wx import _interaction_helpers def register(registry): """ Register solvers/handlers specific to wx Boolean Editors for the given registry. If there are any conflicts, an error will occur. Parameters ---------- registry : TargetRegistry """ registry.register_interaction( target_class=SimpleEditor, interaction_class=MouseClick, handler=(lambda wrapper, _: _interaction_helpers.mouse_click_checkbox( control=wrapper._target.control, delay=wrapper.delay)) ) registry.register_interaction( target_class=SimpleEditor, interaction_class=IsChecked, handler=lambda wrapper, _: wrapper._target.control.GetValue() ) registry.register_interaction( target_class=ReadonlyEditor, interaction_class=DisplayedText, handler=lambda wrapper, _: _interaction_helpers.readonly_textbox_displayed_text( control=wrapper._target.control ) ) traitsui-7.2.1/traitsui/testing/tester/_ui_tester_registry/wx/_traitsui/range_editor.py0000644000076500000240000000667714046644454032425 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! from traitsui.wx.range_editor import ( LargeRangeSliderEditor, LogRangeSliderEditor, RangeTextEditor, SimpleSliderEditor, ) from traitsui.testing.tester.command import KeyClick from traitsui.testing.tester.locator import Slider, Textbox from traitsui.testing.tester._ui_tester_registry.wx import ( _interaction_helpers, _registry_helper ) class LocatedTextbox: """ Wrapper class for a located Textbox in Wx. Parameters ---------- textbox : Instance of wx.TextCtrl """ def __init__(self, textbox): self.textbox = textbox @classmethod def register(cls, registry): """ Class method to register interactions on a LocatedTextbox for the given registry. If there are any conflicts, an error will occur. Parameters ---------- registry : TargetRegistry The registry being registered to. """ _registry_helper.register_editable_textbox_handlers( registry=registry, target_class=cls, widget_getter=lambda wrapper: wrapper._target.textbox, ) class LocatedSlider: """ Wrapper class for a located Textbox in Wx. Parameters ---------- slider : Instance of traitsui.wx.helper.Slider (wx.Slider) """ def __init__(self, slider): self.slider = slider @classmethod def register(cls, registry): """ Class method to register interactions on a LocatedSlider for the given registry. If there are any conflicts, an error will occur. Parameters ---------- registry : TargetRegistry The registry being registered to. """ registry.register_interaction( target_class=cls, interaction_class=KeyClick, handler=lambda wrapper, interaction: _interaction_helpers.key_click_slider( wrapper._target.slider, interaction, wrapper.delay) ) def register(registry): """ Register interactions for the given registry. If there are any conflicts, an error will occur. Parameters ---------- registry : TargetRegistry The registry being registered to. """ targets = [SimpleSliderEditor, LogRangeSliderEditor, LargeRangeSliderEditor] for target_class in targets: registry.register_location( target_class=target_class, locator_class=Textbox, solver=lambda wrapper, _: LocatedTextbox( textbox=wrapper._target.control.text), ) registry.register_location( target_class=target_class, locator_class=Slider, solver=lambda wrapper, _: LocatedSlider( slider=wrapper._target.control.slider), ) _registry_helper.register_editable_textbox_handlers( registry=registry, target_class=RangeTextEditor, widget_getter=lambda wrapper: wrapper._target.control, ) LocatedTextbox.register(registry) LocatedSlider.register(registry) traitsui-7.2.1/traitsui/testing/tester/_ui_tester_registry/wx/_traitsui/font_editor.py0000644000076500000240000000172114046644454032260 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! from traitsui.testing.tester._ui_tester_registry.wx._registry_helper import ( register_editable_textbox_handlers, ) from traitsui.wx.font_editor import TextFontEditor def register(registry): """ Register interactions pertaining to (wx) FontEditor for the given registry. Parameters ---------- registry : TargetRegistry The registry being registered to. """ register_editable_textbox_handlers( registry=registry, target_class=TextFontEditor, widget_getter=lambda wrapper: wrapper._target.control, ) traitsui-7.2.1/traitsui/testing/tester/_ui_tester_registry/wx/_traitsui/enum_editor.py0000644000076500000240000001472214046644454032263 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! import wx from traitsui.wx.enum_editor import ( ListEditor, RadioEditor, SimpleEditor, ) from traitsui.testing.tester.command import ( KeyClick, KeySequence, MouseClick, ) from traitsui.testing.tester.locator import Index from traitsui.testing.tester.query import DisplayedText, SelectedText from traitsui.testing.tester._ui_tester_registry._common_ui_targets import ( BaseSourceWithLocation ) from traitsui.testing.tester._ui_tester_registry.wx import _interaction_helpers from traitsui.testing.tester._ui_tester_registry._layout import ( column_major_to_row_major ) class _IndexedListEditor(BaseSourceWithLocation): """ Wrapper class for EnumListEditor and Index. """ source_class = ListEditor locator_class = Index handlers = [ (MouseClick, (lambda wrapper, _: _interaction_helpers.mouse_click_listbox( control=wrapper._target.source.control, index=wrapper._target.location.index, delay=wrapper.delay))), ] class _IndexedRadioEditor(BaseSourceWithLocation): """ Wrapper class for EnumRadioEditor and Index. """ source_class = RadioEditor locator_class = Index handlers = [ (MouseClick, (lambda wrapper, _: _interaction_helpers.mouse_click_radiobutton_child_in_panel( control=wrapper._target.source.control, index=convert_index( source=wrapper._target.source, index=wrapper._target.location.index ), delay=wrapper.delay))), ] def convert_index(source, index): """ Helper function to convert an index for a GridSizer so that the index counts over the grid in the correct direction. The grid is always populated in row major order, however, the elements are assigned to each entry in the grid so that when displayed they appear in column major order. Sizers are indexed in the order they are populated, so to access the correct element we may need to convert a column-major based index into a row-major one. Parameters ---------- control : RadioEditor The RadioEditor of interest. Its control is the wx.Panel containing child objects organized with a wx.GridSizer index : int the index of interest """ sizer = source.control.GetSizer() if isinstance(sizer, wx.BoxSizer): return index n = len(source.names) num_cols = sizer.GetCols() num_rows = sizer.GetEffectiveRowsCount() return column_major_to_row_major(index, n, num_rows, num_cols) class _IndexedSimpleEditor(BaseSourceWithLocation): """ Wrapper class for Simple EnumEditor and Index. """ source_class = SimpleEditor locator_class = Index handlers = [ (MouseClick, (lambda wrapper, _: _interaction_helpers.mouse_click_combobox_or_choice( control=wrapper._target.source.control, index=wrapper._target.location.index, delay=wrapper.delay))), ] def simple_displayed_selected_text_handler(wrapper, interaction): """ Handler function used to query DisplayedText for Simple Enum Editor. Note that depending on the factories evaluaute trait, the control for a Simple Enum Editor can either be a wx.ComboBox or a wx.Choice. Parameters ---------- wrapper : UIWrapper The UIWrapper containing that object with text to be displayed. interaction : DisplayedText Unused in this function but included to match the expected format of a handler. Should only be DisplayedText """ control = wrapper._target.control if isinstance(control, wx.ComboBox): return control.GetValue() else: # wx.Choice return control.GetString(control.GetSelection()) def radio_selected_text_handler(wrapper, interaction): """ Handler function used to query SelectedText for EnumRadioEditor. Parameters ---------- wrapper : UIWrapper The UIWrapper containing that object with text that is selected. interaction : SelectedText Unused in this function but included to match the expected format of a handler. Should only be SelectedText """ children_list = wrapper._target.control.GetSizer().GetChildren() for child in children_list: if child.GetWindow().GetValue(): return child.GetWindow().GetLabel() return None def register(registry): """ Registry location and interaction handlers for EnumEditor. Parameters ---------- registry : InteractionRegistry """ _IndexedListEditor.register(registry) _IndexedRadioEditor.register(registry) _IndexedSimpleEditor.register(registry) simple_editor_text_handlers = [ (KeyClick, (lambda wrapper, interaction: _interaction_helpers.key_click_combobox( control=wrapper._target.control, interaction=interaction, delay=wrapper.delay))), (KeySequence, (lambda wrapper, interaction: _interaction_helpers.key_sequence_text_ctrl( control=wrapper._target.control, interaction=interaction, delay=wrapper.delay))), (DisplayedText, simple_displayed_selected_text_handler), (SelectedText, simple_displayed_selected_text_handler) ] for interaction_class, handler in simple_editor_text_handlers: registry.register_interaction( target_class=SimpleEditor, interaction_class=interaction_class, handler=handler ) registry.register_interaction( target_class=RadioEditor, interaction_class=SelectedText, handler=radio_selected_text_handler, ) registry.register_interaction( target_class=ListEditor, interaction_class=SelectedText, handler=lambda wrapper, _: wrapper._target.control.GetString( wrapper._target.control.GetSelection()), ) traitsui-7.2.1/traitsui/testing/tester/_ui_tester_registry/wx/_traitsui/README.txt0000644000076500000240000000130314046644454031064 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! """ The organization in this package should more or less mirror that of the ``traitsui.wx`` package and contains the corresponding logic for testing. Note that once new implementations are added, they may need to be exposed via the ``default_registry`` module (one level up from this package). """ traitsui-7.2.1/traitsui/testing/tester/_ui_tester_registry/wx/_traitsui/button_editor.py0000644000076500000240000000510414046644454032624 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! import wx from traitsui.wx.button_editor import SimpleEditor, CustomEditor from traitsui.testing.tester.command import MouseClick from traitsui.testing.tester.query import DisplayedText from traitsui.testing.tester._ui_tester_registry.wx import _interaction_helpers def mouse_click_ImageButton(wrapper, interaction): """ Performs a mouce click on an pyface.ui.wx.ImageButton object. Parameters ---------- wrapper : UIWrapper The wrapper object wrapping the Custom Button Editor which utilizes an ImageButton. interaction : instance of traitsui.testing.tester.command.MouseClick interaction is unused here, but it is included so that the function matches the expected format for a handler. Note this handler is intended to be used with an interaction_class of a MouseClick. """ control = wrapper._target.control if not control.IsEnabled(): return wx.MilliSleep(wrapper.delay) left_down_event = wx.MouseEvent( wx.wxEVT_LEFT_DOWN ) left_up_event = wx.MouseEvent( wx.wxEVT_LEFT_UP ) control.ProcessEvent(left_down_event) control.ProcessEvent(left_up_event) def register(registry): """ Register solvers/handlers specific to wx Button Editors for the given registry. If there are any conflicts, an error will occur. Parameters ---------- registry : TargetRegistry """ registry.register_interaction( target_class=SimpleEditor, interaction_class=MouseClick, handler=(lambda wrapper, _: _interaction_helpers.mouse_click_button( control=wrapper._target.control, delay=wrapper.delay)) ) registry.register_interaction( target_class=SimpleEditor, interaction_class=DisplayedText, handler=lambda wrapper, _: wrapper._target.control.GetLabel() ) registry.register_interaction( target_class=CustomEditor, interaction_class=MouseClick, handler=mouse_click_ImageButton ) registry.register_interaction( target_class=CustomEditor, interaction_class=DisplayedText, handler=lambda wrapper, _: wrapper._target.control.GetLabel() ) traitsui-7.2.1/traitsui/testing/tester/_ui_tester_registry/wx/README.txt0000644000076500000240000000115614046644454027067 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! """ This package contains implementations for testing TraitsUI UI editors with Wx. The top-level module ``default_registry`` serves external packages and hides implementation details internal to this package. """ traitsui-7.2.1/traitsui/testing/tester/_ui_tester_registry/default_registry.py0000644000076500000240000000317314046644454030662 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! import importlib from traits.etsconfig.api import ETSConfig from traitsui.testing.tester.target_registry import TargetRegistry from traitsui.testing.tester._ui_tester_registry._traitsui_ui import ( register_traitsui_ui_solvers, ) from traitsui.ui import UI def get_default_registries(): """ Creates a default registry for UITester that is toolkit specific. Returns ------- registries : list of AbstractTargetRegistry The default registries containing implementations for TraitsUI editors that are toolkit specific. """ # side-effect to determine current toolkit from pyface.toolkit import toolkit_object # noqa if ETSConfig.toolkit == "null": registries = [] else: toolkit = {'wx': 'wx', 'qt4': 'qt4', 'qt': 'qt4'}[ETSConfig.toolkit] this_package, _ = __name__.rsplit(".", 1) module = importlib.import_module( ".default_registry", this_package + '.' + toolkit) registries = module.get_default_registries() ui_registry = TargetRegistry() register_traitsui_ui_solvers( registry=ui_registry, target_class=UI, traitsui_ui_getter=lambda target: target, ) return [ui_registry] + registries traitsui-7.2.1/traitsui/testing/tester/_ui_tester_registry/_layout.py0000644000076500000240000001004014046644454026751 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! """ This module contains helper functions for working with layouts inside an editor. For example, converting indices so they count through the layout appropriately. """ def column_major_to_row_major(index, n, num_rows, num_cols): """ Helper function to convert an index of a grid layout so that the index counts over the grid in the correct direction. In TraitsUI, grids are typically populated in row major order, however, the elements can be assigned to each entry in the grid so that when displayed they appear in column major order. To access the correct element we may need to convert a column-major based index into a row-major one. Parameters ---------- index : int the index of interest n : int The total number of elements in the layout num_rows : int the number of rows in the layout num_cols : int the number of columns in the layout Returns ------- int The converted index (now corresponding to row_major order) Notes ----- Since elements are populated in row major order, the resulting grid ends up having at most its last row as incomplete. The general approach for the algorithm is to find the coordinates as if we had counted through the grid in column major order, and then convert that back to a row major index. The complications come from the fact that the last row may be missing entries. Consider the example (n=17, num_row=4, num_cols=5) 0 4 8 11 14 1 5 9 12 15 2 6 10 13 16 3 7 / / / Row major order is 0, 4, 11, 14, 1, 5, ... If the given index is 7 then we are in a column of the matrix where all rows are full. This corresponds to the else branch below. From here, we simply find the (i,j) coordinates of the entry 7 above, with the upper left corner representing (0,0). Thus, (i,j) = (3,1). Now, to convert this to a row major index, we can simply take i * num_cols + j. If the given index is 15, then we are in a column where the last row is missing an entry. See the if branch below. In the case the logic used before won't work, because it would expect the grid to be filled. (i.e. if one tried to do this in the same way you would get (i,j) = (3,4)). To adderess this we break up the grid into two grids: 0 4 and 8 11 14 1 5 9 12 15 2 6 10 13 16 3 7 we find the (i2,j2) coordinates of the entry 15 above in grid2, with the upper left corner of grid2 representing (0,0). Hence, (i2,j2) = (1,2). We then find that index if we had counted in row major order for grid2, which would be i2 * num_empty_entries_last_row + j2 = 5, and add that to however many elements would need to be counted over from grid one to reach element 15 if we had been counting in row major order. Which is (num_cols - num_empty_entries_last_row)*(i2+1). """ if index > n: raise ValueError("Index is higher number of elements in layout") num_empty_entries_last_row = num_cols * num_rows - n if num_empty_entries_last_row < 0: raise ValueError("n can not be greater than num_cols * num_rows") if index > num_rows * (num_cols - num_empty_entries_last_row): num_entries_grid1 = num_rows * (num_cols - num_empty_entries_last_row) new_index = index - num_entries_grid1 i2 = new_index % (num_rows - 1) j2 = new_index // (num_rows - 1) return (num_cols - num_empty_entries_last_row)*(i2+1) + \ (i2 * num_empty_entries_last_row + j2) else: i = index % num_rows j = index // num_rows return i * num_cols + j traitsui-7.2.1/traitsui/testing/tester/_ui_tester_registry/README.txt0000644000076500000240000000122114046644454026422 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! """ This package contains implementations for supporting testing with TraitsUI UI and editors. The top-level module ``default_registry`` supplies the implementation to the ``UITester`` and hides implementation details internal to this package. """ traitsui-7.2.1/traitsui/testing/tester/_ui_tester_registry/_traitsui_ui.py0000644000076500000240000000651014046644454030004 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! from traitsui.testing.tester.locator import TargetById, TargetByName def _get_editor_by_name(ui, name): """ Return a single Editor from an instance of traitsui.ui.UI with a given extended name. Raise if zero or many editors are found. Parameters ---------- ui : traitsui.ui.UI The UI from which an editor will be retrieved. name : str A single name for retrieving an editor on a UI. Returns ------- editor : Editor The single editor found. """ editors = ui.get_editors(name) all_names = [editor.name for editor in ui._editors] if not editors: raise ValueError( "No editors can be found with name {!r}. " "Found these: {!r}".format(name, all_names) ) if len(editors) > 1: raise ValueError( "Found multiple editors with name {!r}.".format(name)) editor, = editors return editor def _get_editor_by_id(ui, id): """ Return single Editor from an instance of traitsui.ui.UI with the given identifier. Parameters ---------- ui : traitsui.ui.UI The UI from which an editor will be retrieved. id : str Id for finding an item in the UI. Returns ------- editor : Editor The single editor found. """ try: editor = getattr(ui.info, id) except AttributeError: raise ValueError( "No editors found with id {!r}. Got these: {!r}".format( id, ui._names) ) return editor def register_traitsui_ui_solvers(registry, target_class, traitsui_ui_getter): """ Function to register solvers for obtaining nested targets inside a traitsui.ui.UI inside a (parent) target. For example, an instance of TreeEditor may contain a nested ``traitsui.ui.UI`` instance. In that case, the ``target_class`` will the TreeEditor and the ``traitsui_ui_getter`` specifies how to obtain the nested ``traitsui.ui.UI`` UI from it. Parameters ---------- registry : TargetRegistry The registry being registered to target_class : subclass of type The type of a UI target being used as the target_class for the solvers traitsui_ui_getter : callable(target: target_class) -> traitsui.ui.UI A callable specific to the particular target_class to obtain a nested UI. """ registry.register_location( target_class=target_class, locator_class=TargetByName, solver=lambda wrapper, location: ( _get_editor_by_name( ui=traitsui_ui_getter(wrapper._target), name=location.name, ) ), ) registry.register_location( target_class=target_class, locator_class=TargetById, solver=lambda wrapper, location: ( _get_editor_by_id( ui=traitsui_ui_getter(wrapper._target), id=location.id, ) ), ) traitsui-7.2.1/traitsui/testing/tester/_ui_tester_registry/_compat.py0000644000076500000240000000226214046644454026726 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! """ This module contains functions used by toolkit specific implementation for normalizing differences among toolkits (Qt and Wx). """ def check_key_compat(key): """ Check if the given key is a unicode character within the range of values currently supported for emulating key sequences on both Qt and Wx textboxes. Parameters ---------- key : str A unicode character Raises ------ ValueError If the unicode character is not within the supported range of values. """ # Support for more characters can be added when there are needs. if ord(key) < 32 or ord(key) >= 127: raise ValueError( f"Key {key!r} is currently not supported. " f"Supported characters between code point 32 - 126." ) traitsui-7.2.1/traitsui/testing/tester/_ui_tester_registry/qt4/0000755000076500000240000000000014046644526025440 5ustar aayresstaff00000000000000traitsui-7.2.1/traitsui/testing/tester/_ui_tester_registry/qt4/_registry_helper.py0000644000076500000240000000432314046644454031362 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! """ This module provides functions for registering interaction handlers and location solvers for common Qt GUI components. """ from traitsui.testing.tester.command import ( KeyClick, KeySequence, MouseClick, ) from traitsui.testing.tester.query import DisplayedText from traitsui.testing.tester._ui_tester_registry.qt4 import ( _interaction_helpers ) def register_editable_textbox_handlers(registry, target_class, widget_getter): """ Register common interactions for an editable textbox (in Qt) Parameters ---------- registry : TargetRegistry The registry being registered to. target_class : subclass of type The type of target being wrapped in a UIWrapper on which the interaction will be performed. widget_getter : callable(wrapper: UIWrapper) -> QWidget A callable to return a Qt widget for editing text, i.e. QLineEdit or QTextEdit. """ handlers = [ (KeySequence, (lambda wrapper, interaction: _interaction_helpers.key_sequence_textbox( widget_getter(wrapper), interaction, wrapper.delay))), (KeyClick, (lambda wrapper, interaction: _interaction_helpers.key_click_qwidget( widget_getter(wrapper), interaction, wrapper.delay))), (MouseClick, (lambda wrapper, _: _interaction_helpers.mouse_click_qwidget( widget_getter(wrapper), wrapper.delay))), (DisplayedText, lambda wrapper, _: _interaction_helpers.displayed_text_qobject( widget_getter(wrapper))), ] for interaction_class, handler in handlers: registry.register_interaction( target_class=target_class, interaction_class=interaction_class, handler=handler, ) traitsui-7.2.1/traitsui/testing/tester/_ui_tester_registry/qt4/_control_widget_registry.py0000644000076500000240000000430714046644454033130 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! """ This module provides a getter to obtain an AbstractTargetRegistry that can support testing any target whose 'control' attribute refers to a QWidget. """ from pyface.qt import QtGui from traitsui.testing.tester._dynamic_target_registry import ( DynamicTargetRegistry, ) from traitsui.testing.tester.query import IsEnabled, IsVisible def _handle_is_enabled(wrapper, interaction): """ Return true if the target's control is enabled. Parameters ---------- wrapper : UIWrapper Wrapper on which the target's control should be a QWidget interaction : IsEnabled Not currently used. """ return wrapper._target.control.isEnabled() def _handle_is_visible(wrapper, interaction): """ Return true if the target's control is visible. Parameters ---------- wrapper : UIWrapper Wrapper on which the target's control should be a QWidget interaction : IsVisible Not currently used. """ return wrapper._target.control.isVisible() def _is_target_control_a_qt_widget(target): """ Return true if the target is accepted by the registry. Parameters ---------- target : any Any UI target Returns ------- is_accepted : bool """ return ( hasattr(target, "control") and isinstance(target.control, QtGui.QWidget) ) def get_widget_registry(): """ Return a registry to support any target with an attribute 'control' that is an instance of QWidget. Returns ------- registry : DynamicTargetRegistry A registry that can be used with UIWrapper """ return DynamicTargetRegistry( can_support=_is_target_control_a_qt_widget, interaction_to_handler={ IsEnabled: _handle_is_enabled, IsVisible: _handle_is_visible, } ) traitsui-7.2.1/traitsui/testing/tester/_ui_tester_registry/qt4/_interaction_helpers.py0000644000076500000240000002344014046644454032215 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! import warnings from pyface.qt import QtCore, QtGui from pyface.qt.QtTest import QTest from traitsui.testing.tester._ui_tester_registry._compat import ( check_key_compat ) from traitsui.testing.tester.exceptions import Disabled from traitsui.qt4.key_event_to_name import key_map as _KEY_MAP def key_click(widget, key, delay): """ Performs a key click of the given key on the given widget after a delay. Parameters ---------- widget : Qwidget The Qt widget to be key clicked. key : str Standardized (pyface) name for a keyboard event. e.g. "Enter", "Tab", "Space", "0", "1", "A", ... Note: modifiers (e.g. Shift, Alt, etc. are not currently supported) delay : int Time delay (in ms) in which the key click will be performed. """ mapping = {name: event for event, name in _KEY_MAP.items()} if key not in mapping: raise ValueError( "Unknown key {!r}. Expected one of these: {!r}".format( key, sorted(mapping) )) QTest.keyClick( widget, mapping[key], QtCore.Qt.NoModifier, delay=delay, ) def check_q_model_index_valid(index): """ Checks if a given QModelIndex is valid. Parameters ---------- index : QModelIndex Raises ------ LookupError If the index is not valid. """ if not index.isValid(): row = index.row() column = index.column() raise LookupError( "Unabled to locate item with row {!r} and column {!r}.".format( row, column, ) ) # Generic Handlers ########################################################### def displayed_text_qobject(widget): ''' Helper function to define handlers for various Qwidgets to handle query.DisplayedText interactions. Parameters ---------- widget : Qwidget The Qwidget object with text to be displayed. Should be one of the following QWidgets: 1) QtGui.QLineEdit 2) QtGui.QTextEdit or 3) QtGui.QLabel Notes ----- Qt SimpleEditors occassionally use QtGui.QTextEdit as their control, and other times use QtGui.QLineEdit ''' if isinstance(widget, QtGui.QLineEdit): return widget.displayText() elif isinstance(widget, QtGui.QTextEdit): return widget.toPlainText() else: return widget.text() def mouse_click_qwidget(control, delay): """ Performs a mouce click on a Qt widget. Parameters ---------- control : Qwidget The Qt widget to be clicked. delay : int Time delay (in ms) in which click will be performed. """ # for QAbstractButtons we do not use QTest.mouseClick as it assumes the # center of the widget as the location to be clicked, which may be # incorrect. For QAbstractButtons we can simply call their click method. if isinstance(control, QtGui.QAbstractButton): if delay > 0: QTest.qSleep(delay) control.click() else: QTest.mouseClick( control, QtCore.Qt.LeftButton, delay=delay, ) def mouse_click_tab_index(tab_widget, index, delay): """ Performs a mouse click on a tab at an index in a QtGui.QTabWidget. Parameters ---------- tab_widget : QtGui.QTabWidget The tab widget containing the tab to be clicked. index : int The index of the tab to be clicked. delay : int Time delay (in ms) in which click will be performed. Raises ------ IndexError If the index is out of range. """ if not 0 <= index < tab_widget.count(): raise IndexError(index) tabbar = tab_widget.tabBar() rect = tabbar.tabRect(index) QTest.mouseClick( tabbar, QtCore.Qt.LeftButton, QtCore.Qt.NoModifier, rect.center(), delay=delay, ) def mouse_click_qlayout(layout, index, delay): """ Performs a mouse click on a widget at an index in a QLayout. Parameters ---------- layout : Qlayout The layout containing the widget to be clicked index : int The index of the widget in the layout to be clicked Raises ------ IndexError If the index is out of range. """ if not 0 <= index < layout.count(): raise IndexError(index) widget = layout.itemAt(index).widget() mouse_click_qwidget(widget, delay) def mouse_click_item_view(model, view, index, delay): """ Perform mouse click on the given QAbstractItemModel (model) and QAbstractItemView (view) with the given row and column. Parameters ---------- model : QAbstractItemModel Model from which QModelIndex will be obtained view : QAbstractItemView View from which the widget identified by the index will be found and key sequence be performed. index : QModelIndex Raises ------ LookupError If the index cannot be located. Note that the index error provides more """ check_q_model_index_valid(index) rect = view.visualRect(index) QTest.mouseClick( view.viewport(), QtCore.Qt.LeftButton, QtCore.Qt.NoModifier, rect.center(), delay=delay, ) def mouse_click_combobox(combobox, index, delay): """ Perform a mouse click on a QComboBox at a given index. Paramters --------- combobox : QtGui.ComboBox The combobox to be clicked. index : int The index of the item in the combobox to be clicked. delay : int Time delay (in ms) in which each key click in the sequence will be performed. """ if combobox: q_model_index = combobox.model().index(index, 0) check_q_model_index_valid(q_model_index) mouse_click_item_view( model=combobox.model(), view=combobox.view(), index=q_model_index, delay=delay, ) # Otherwise the click won't get registered. key_click( combobox.view().viewport(), key="Enter", delay=delay ) else: warnings.warn( "Attempted to click on a non-existant combobox. Nothing was " "performed." ) def key_sequence_qwidget(control, interaction, delay): """ Performs simulated typing of a sequence of keys on the given widget after a delay. Parameters ---------- control : Qwidget The Qt widget to be acted on. interaction : instance of command.KeySequence The interaction object holding the sequence of key inputs to be simulated being typed delay : int Time delay (in ms) in which each key click in the sequence will be performed. Raises ------ Disabled If the widget is not enabled. """ if not control.isEnabled(): raise Disabled("{!r} is disabled.".format(control)) QTest.keyClicks(control, interaction.sequence, delay=delay) def key_sequence_textbox(control, interaction, delay): """ Performs simulated typing of a sequence of keys on a widget that is a textbox. The keys are restricted to values also supported for testing wx.TextCtrl. Parameters ---------- control : QWidget The Qt widget intended to hold text for editing. e.g. QLineEdit and QTextEdit interaction : instance of command.KeySequence The interaction object holding the sequence of key inputs to be simulated being typed delay : int Time delay (in ms) in which each key click in the sequence will be performed. """ for key in interaction.sequence: check_key_compat(key) if not control.hasFocus(): key_click(widget=control, key="End", delay=0) key_sequence_qwidget(control=control, interaction=interaction, delay=delay) def key_click_qwidget(control, interaction, delay): """ Performs simulated typing of a key on the given widget after a delay. Parameters ---------- control : Qwidget The Qt widget to be acted on. interaction : instance of command.KeyClick The interaction object holding the key input to be simulated being typed delay : int Time delay (in ms) in which the key click will be performed. Raises ------ Disabled If the widget is not enabled. """ if not control.isEnabled(): raise Disabled("{!r} is disabled.".format(control)) key_click(control, interaction.key, delay=delay) def key_click_qslider(control, interaction, delay): """ Performs simulated typing of a key on the given slider after a delay. Only allowed keys are: "Left", "Right", "Up", "Down", "Page Up", "Page Down" Also, note that up related keys correspond to an increment on the slider, and down a decrement. Parameters ---------- control : QSlider The Qt slider to be acted on. interaction : instance of command.KeyClick The interaction object holding the key input to be simulated being typed delay : int Time delay (in ms) in which the key click will be performed. Raises ------ ValueError If the interaction.key is not one of the valid keys. """ valid_keys = {"Left", "Right", "Up", "Down", "Page Up", "Page Down"} if interaction.key not in valid_keys: raise ValueError( "Unexpected Key. Supported keys are: {}".format(sorted(valid_keys)) ) else: key_click(control, interaction.key, delay) traitsui-7.2.1/traitsui/testing/tester/_ui_tester_registry/qt4/tests/0000755000076500000240000000000014046644526026602 5ustar aayresstaff00000000000000traitsui-7.2.1/traitsui/testing/tester/_ui_tester_registry/qt4/tests/test_interaction_helpers.py0000644000076500000240000001773014046644454034264 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! import unittest from unittest import mock from traitsui.tests._tools import ( is_qt, requires_toolkit, ToolkitName, ) from traitsui.testing.tester import command from traitsui.testing.tester.exceptions import Disabled from traitsui.testing.tester._ui_tester_registry.qt4 import ( _interaction_helpers ) try: from pyface.qt import QtGui except ImportError: if is_qt(): raise @requires_toolkit([ToolkitName.qt]) class TestInteractions(unittest.TestCase): def test_mouse_click(self): button = QtGui.QPushButton() click_slot = mock.Mock() button.clicked.connect(click_slot) _interaction_helpers.mouse_click_qwidget(button, 0) self.assertEqual(click_slot.call_count, 1) def test_mouse_click_disabled(self): button = QtGui.QPushButton() button.setEnabled(False) click_slot = mock.Mock() button.clicked.connect(click_slot) # when # clicking won't fail, it just does not do anything. # This is consistent with the actual UI. _interaction_helpers.mouse_click_qwidget(button, 0) # then self.assertEqual(click_slot.call_count, 0) def test_mouse_click_combobox_warns(self): combo = None with self.assertWarns(UserWarning): _interaction_helpers.mouse_click_combobox(combo, 0, 0) def test_key_sequence(self): # test on different Qwidget objects textboxes = [QtGui.QLineEdit(), QtGui.QTextEdit()] for i, textbox in enumerate(textboxes): change_slot = mock.Mock() textbox.textChanged.connect(change_slot) # when _interaction_helpers.key_sequence_qwidget( textbox, command.KeySequence("abc"), 0) # then if i == 0: self.assertEqual(textbox.text(), "abc") else: self.assertEqual(textbox.toPlainText(), "abc") # each keystroke fires a signal self.assertEqual(change_slot.call_count, 3) # for a QLabel, one can try a key sequence and nothing will happen textbox = QtGui.QLabel() _interaction_helpers.key_sequence_qwidget( textbox, command.KeySequence("abc"), 0) self.assertEqual(textbox.text(), "") def test_key_sequence_textbox_with_unicode(self): for code in range(32, 127): with self.subTest(code=code, word=chr(code)): textbox = QtGui.QLineEdit() change_slot = mock.Mock() textbox.textChanged.connect(change_slot) # when _interaction_helpers.key_sequence_textbox( textbox, command.KeySequence(chr(code) * 3), delay=0, ) # then self.assertEqual(textbox.text(), chr(code) * 3) self.assertEqual(change_slot.call_count, 3) def test_key_sequence_unsupported_key(self): textbox = QtGui.QLineEdit() with self.assertRaises(ValueError) as exception_context: # QTest does not support this character. _interaction_helpers.key_sequence_textbox( textbox, command.KeySequence(chr(31)), delay=0, ) self.assertIn( "is currently not supported.", str(exception_context.exception), ) def test_key_sequence_backspace_character(self): # Qt does convert backspace character to the backspace key # But we disallow it for now to be consistent with wx. textbox = QtGui.QLineEdit() with self.assertRaises(ValueError) as exception_context: _interaction_helpers.key_sequence_textbox( textbox, command.KeySequence("\b"), delay=0, ) self.assertIn( "is currently not supported.", str(exception_context.exception), ) def test_key_sequence_insert_point_qlineedit(self): textbox = QtGui.QLineEdit() textbox.setText("123") # when _interaction_helpers.key_sequence_textbox( textbox, command.KeySequence("abc"), delay=0, ) # then self.assertEqual(textbox.text(), "123abc") def test_key_sequence_insert_point_qtextedit(self): # The default insertion point moved to the end to be consistent # with QLineEdit textbox = QtGui.QTextEdit() textbox.setText("123") # when _interaction_helpers.key_sequence_textbox( textbox, command.KeySequence("abc"), delay=0, ) # then self.assertEqual(textbox.toPlainText(), "123abc") def test_key_sequence_disabled(self): textbox = QtGui.QLineEdit() textbox.setEnabled(False) # this will fail, because one should not be allowed to set # cursor on the widget to type anything with self.assertRaises(Disabled): _interaction_helpers.key_sequence_qwidget( textbox, command.KeySequence("abc"), 0) def test_key_click(self): textbox = QtGui.QLineEdit() change_slot = mock.Mock() textbox.editingFinished.connect(change_slot) # sanity check on editingFinished signal _interaction_helpers.key_sequence_qwidget( textbox, command.KeySequence("abc"), 0) self.assertEqual(change_slot.call_count, 0) _interaction_helpers.key_click_qwidget( textbox, command.KeyClick("Enter"), 0) self.assertEqual(change_slot.call_count, 1) # test on a different Qwidget object - QtGui.QTextEdit() textbox = QtGui.QTextEdit() change_slot = mock.Mock() # Now "Enter" should not finish editing, but instead go to next line textbox.textChanged.connect(change_slot) _interaction_helpers.key_click_qwidget( textbox, command.KeyClick("Enter"), 0) self.assertEqual(change_slot.call_count, 1) self.assertEqual(textbox.toPlainText(), "\n") # for a QLabel, one can try a key click and nothing will happen textbox = QtGui.QLabel() _interaction_helpers.key_click_qwidget( textbox, command.KeyClick("A"), 0) self.assertEqual(textbox.text(), "") def test_key_click_disabled(self): textbox = QtGui.QLineEdit() textbox.setEnabled(False) change_slot = mock.Mock() textbox.editingFinished.connect(change_slot) with self.assertRaises(Disabled): _interaction_helpers.key_click_qwidget( textbox, command.KeyClick("Enter"), 0) self.assertEqual(change_slot.call_count, 0) def test_check_q_model_index_valid(self): self.widget = QtGui.QListWidget() self.items = ["a", "b", "c"] self.widget.addItems(self.items) self.good_q_index = self.widget.model().index(1, 0) self.bad_q_index = self.widget.model().index(10, 0) self.model = self.widget.model() _interaction_helpers.check_q_model_index_valid(self.good_q_index) with self.assertRaises(LookupError): _interaction_helpers.check_q_model_index_valid(self.bad_q_index) def test_key_click_q_slider_helpful_err(self): slider = QtGui.QSlider() with self.assertRaises(ValueError) as exc: _interaction_helpers.key_click_qslider( slider, command.KeyClick("Enter"), 0) self.assertIn( "['Down', 'Left', 'Page Down', 'Page Up', 'Right', 'Up']", str(exc.exception) ) traitsui-7.2.1/traitsui/testing/tester/_ui_tester_registry/qt4/tests/test_control_widget_registry.py0000644000076500000240000000607314046644454035174 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! """ Tests for QWidget's DynamicTargetRegistry """ import unittest from traitsui.testing.api import IsEnabled, IsVisible from traitsui.testing.tester.exceptions import ( LocationNotSupported, ) from traitsui.testing.tester.ui_wrapper import UIWrapper from traitsui.tests._tools import ( is_qt, requires_toolkit, ToolkitName, ) try: from pyface.qt import QtGui except ImportError: if is_qt(): raise else: from traitsui.testing.tester._ui_tester_registry.qt4._control_widget_registry import ( # noqa: E501 get_widget_registry, ) class TargetWithControl: """ An object holding a control attribute.""" def __init__(self, control): self.control = control @requires_toolkit([ToolkitName.qt]) class TestQtControlWidgetRegistry(unittest.TestCase): """ Test the interface of AbstractTargetRegistry for QWidget's registry """ def setUp(self): self.widget = QtGui.QWidget() self.registry = get_widget_registry() self.target = TargetWithControl(self.widget) self.good_wrapper = UIWrapper( target=self.target, registries=[self.registry], ) def test_is_enabled(self): self.assertTrue(self.good_wrapper.inspect(IsEnabled())) def test_is_disabled(self): self.widget.setEnabled(False) self.assertFalse(self.good_wrapper.inspect(IsEnabled())) def test_is_visible(self): self.widget.setVisible(True) self.assertTrue(self.good_wrapper.inspect(IsVisible())) def test_is_invisible(self): self.widget.setVisible(False) self.assertFalse(self.good_wrapper.inspect(IsVisible())) def test_get_interactions_good_target(self): self.assertEqual( self.registry._get_interactions(self.target), set([IsEnabled, IsVisible]) ) def test_get_interactions_bad_target(self): self.assertEqual(self.registry._get_interactions(None), set()) def test_get_interaction_doc(self): self.assertGreater( len(self.registry._get_interaction_doc(self.target, IsEnabled)), 0 ) self.assertGreater( len(self.registry._get_interaction_doc(self.target, IsVisible)), 0 ) def test_get_location_solver(self): # There are currently no solvers with self.assertRaises(LocationNotSupported): self.registry._get_solver(self.target, None) def test__get_locations(self): self.assertEqual(self.registry._get_locations(self.target), set()) def test_error_get_location_doc(self): with self.assertRaises(LocationNotSupported): self.registry._get_location_doc(self.target, None) traitsui-7.2.1/traitsui/testing/tester/_ui_tester_registry/qt4/tests/__init__.py0000644000076500000240000000000014046644454030701 0ustar aayresstaff00000000000000traitsui-7.2.1/traitsui/testing/tester/_ui_tester_registry/qt4/__init__.py0000644000076500000240000000115614046644454027554 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! """ This package contains implementations for testing TraitsUI UI editors with Qt. The top-level module ``default_registry`` serves external packages and hides implementation details internal to this package. """ traitsui-7.2.1/traitsui/testing/tester/_ui_tester_registry/qt4/default_registry.py0000644000076500000240000000365114046644454031373 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! from traitsui.testing.tester.target_registry import TargetRegistry from traitsui.testing.tester._ui_tester_registry.qt4._traitsui import ( boolean_editor, button_editor, check_list_editor, editor_factory, enum_editor, file_editor, font_editor, instance_editor, list_editor, range_editor, text_editor, ui_base, ) from ._control_widget_registry import get_widget_registry def get_default_registries(): """ Creates the default registries for UITester that are qt specific. Returns ------- registries : list of AbstractTargetRegistry The default registries containing implementations for TraitsUI editors that are qt specific. """ registry = TargetRegistry() # BooleanEditor boolean_editor.register(registry) # ButtonEditor button_editor.register(registry) # CheckListEditor check_list_editor.register(registry) # EnumEditor enum_editor.register(registry) # FileEditor file_editor.register(registry) # FontEditor font_editor.register(registry) # TextEditor text_editor.register(registry) # ListEditor list_editor.register(registry) # RangeEditor range_editor.register(registry) # ui_base ui_base.register(registry) # InstanceEditor instance_editor.register(registry) # Editor Factory editor_factory.register(registry) # The more general registry goes after the more specific registry. return [ registry, get_widget_registry(), ] traitsui-7.2.1/traitsui/testing/tester/_ui_tester_registry/qt4/_traitsui/0000755000076500000240000000000014046644526027443 5ustar aayresstaff00000000000000traitsui-7.2.1/traitsui/testing/tester/_ui_tester_registry/qt4/_traitsui/file_editor.py0000644000076500000240000000174714046644454032313 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! from traitsui.testing.tester._ui_tester_registry.qt4._registry_helper import ( register_editable_textbox_handlers, ) from traitsui.qt4.file_editor import SimpleEditor def register(registry): """ Register interactions for the given registry. If there are any conflicts, an error will occur. Parameters ---------- registry : TargetRegistry The registry being registered to. """ register_editable_textbox_handlers( registry=registry, target_class=SimpleEditor, widget_getter=lambda wrapper: wrapper._target._file_name, ) traitsui-7.2.1/traitsui/testing/tester/_ui_tester_registry/qt4/_traitsui/instance_editor.py0000644000076500000240000000565314046644454033200 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! from traitsui.testing.tester.command import MouseClick from traitsui.testing.tester.locator import Index from traitsui.testing.tester.query import SelectedText from traitsui.testing.tester._ui_tester_registry._common_ui_targets import ( BaseSourceWithLocation ) from traitsui.testing.tester._ui_tester_registry.qt4._interaction_helpers import ( # noqa mouse_click_combobox, mouse_click_qwidget ) from traitsui.testing.tester._ui_tester_registry._traitsui_ui import ( register_traitsui_ui_solvers, ) from traitsui.qt4.instance_editor import ( CustomEditor, SimpleEditor ) def _get_nested_ui_simple(target): """ Obtains a nested UI within a Simple Instance Editor. Parameters ---------- target : instance of SimpleEditor """ return target._dialog_ui def _get_nested_ui_custom(target): """ Obtains a nested UI within a Custom Instance Editor. Parameters ---------- target : instance of CustomEditor """ return target._ui def _get_combobox(target): """ Obtains a nested combobox within an Instance Editor. Parameters ---------- target : instance of CustomEditor """ return target._choice def _click_combobox_index(wrapper, _): return mouse_click_combobox( combobox=_get_combobox(wrapper._target.source), index=wrapper._target.location.index, delay=wrapper.delay, ) def _get_combobox_text(wrapper, _): return _get_combobox(wrapper._target).currentText() class _IndexedCustomEditor(BaseSourceWithLocation): """ Wrapper class for CustomEditors with a selection. """ source_class = CustomEditor locator_class = Index handlers = [ (MouseClick, _click_combobox_index), ] def register(registry): """ Register interactions for the given registry. If there are any conflicts, an error will occur. Parameters ---------- registry : TargetRegistry The registry being registered to. """ _IndexedCustomEditor.register(registry) registry.register_interaction( target_class=SimpleEditor, interaction_class=MouseClick, handler=lambda wrapper, _: ( mouse_click_qwidget(wrapper._target._button, delay=wrapper.delay) ) ) register_traitsui_ui_solvers(registry, SimpleEditor, _get_nested_ui_simple) registry.register_interaction( target_class=CustomEditor, interaction_class=SelectedText, handler=_get_combobox_text, ) register_traitsui_ui_solvers(registry, CustomEditor, _get_nested_ui_custom) traitsui-7.2.1/traitsui/testing/tester/_ui_tester_registry/qt4/_traitsui/__init__.py0000644000076500000240000000130414046644454031552 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! """ The organization in this package should more or less mirror that of the ``traitsui.qt4`` package and contains the corresponding logic for testing. Note that once new implementations are added, they may need to be exposed via the ``default_registry`` module (one level up from this package). """ traitsui-7.2.1/traitsui/testing/tester/_ui_tester_registry/qt4/_traitsui/ui_base.py0000644000076500000240000000253614046644454031432 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! from traitsui.qt4.ui_base import ButtonEditor from traitsui.testing.tester.command import MouseClick from traitsui.testing.tester.query import DisplayedText from traitsui.testing.tester._ui_tester_registry.qt4 import ( _interaction_helpers ) def register(registry): """ Register solvers/handlers specific to qt ui_base Editors for the given registry. If there are any conflicts, an error will occur. Parameters ---------- registry : TargetRegistry """ handlers = [ (MouseClick, (lambda wrapper, _: _interaction_helpers.mouse_click_qwidget( wrapper._target.control, wrapper.delay))), (DisplayedText, lambda wrapper, _: wrapper._target.control.text()), ] for interaction_class, handler in handlers: registry.register_interaction( target_class=ButtonEditor, interaction_class=interaction_class, handler=handler ) traitsui-7.2.1/traitsui/testing/tester/_ui_tester_registry/qt4/_traitsui/editor_factory.py0000644000076500000240000000234414046644454033035 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! from traitsui.testing.tester.query import DisplayedText from traitsui.testing.tester._ui_tester_registry.qt4._registry_helper import ( register_editable_textbox_handlers, ) from traitsui.qt4.editor_factory import ReadonlyEditor, TextEditor def register(registry): """ Register interactions for the given registry. If there are any conflicts, an error will occur. Parameters ---------- registry : TargetRegistry The registry being registered to. """ register_editable_textbox_handlers( registry=registry, target_class=TextEditor, widget_getter=lambda wrapper: wrapper._target.control, ) registry.register_interaction( target_class=ReadonlyEditor, interaction_class=DisplayedText, handler=lambda wrapper, _: wrapper._target.control.text() ) traitsui-7.2.1/traitsui/testing/tester/_ui_tester_registry/qt4/_traitsui/list_editor.py0000644000076500000240000000733314046644454032344 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! from traitsui.testing.tester.command import MouseClick from traitsui.testing.tester.locator import Index from traitsui.testing.tester._ui_tester_registry._common_ui_targets import ( BaseSourceWithLocation ) from traitsui.testing.tester._ui_tester_registry._traitsui_ui import ( register_traitsui_ui_solvers, ) from traitsui.testing.tester._ui_tester_registry.qt4 import ( _interaction_helpers ) from traitsui.qt4.list_editor import ( CustomEditor, NotebookEditor, SimpleEditor ) class _IndexedNotebookEditor(BaseSourceWithLocation): """ Wrapper for a ListEditor (Notebook) with an index. """ source_class = NotebookEditor locator_class = Index handlers = [ (MouseClick, (lambda wrapper, _: _interaction_helpers.mouse_click_tab_index( tab_widget=wrapper._target.source.control, index=wrapper._target.location.index, delay=wrapper.delay))), ] @classmethod def register(cls, registry): """ Class method to register interactions on a _IndexedNotebookEditor for the given registry. If there are any conflicts, an error will occur. Parameters ---------- registry : TargetRegistry The registry being registered to. """ super().register(registry) register_traitsui_ui_solvers( registry=registry, target_class=cls, traitsui_ui_getter=lambda target: target._get_nested_ui() ) def _get_nested_ui(self): """ Method to get the nested ui corresponding to the List element at the given index. """ return self.source._uis[self.location.index][1] def _get_next_target(list_editor, index): """ Gets the target at a given index from a Custom List Editor. Parameters ---------- list_editor : CustomEditor The custom style list editor in which the target is contained. index : int the index of the target of interest in the list Returns ------- traitsui.editor.Editor The obtained target. """ row, column = divmod(index, list_editor.factory.columns) # there are two columns for each list item (one for the item itself, # and another for the list menu button) column = 2*column grid_layout = list_editor._list_pane.layout() item = grid_layout.itemAtPosition(row, column) if item is None: raise IndexError(index) if list_editor.scrollable: list_editor.control.ensureWidgetVisible(item.widget()) return item.widget()._editor def register(registry): """ Register interactions for the given registry. If there are any conflicts, an error will occur. Parameters ---------- registry : TargetRegistry The registry being registered to. """ # NotebookEditor _IndexedNotebookEditor.register(registry) # CustomEditor registry.register_location( target_class=CustomEditor, locator_class=Index, solver=lambda wrapper, location: ( _get_next_target(wrapper._target, location.index) ) ) # SimpleEditor registry.register_location( target_class=SimpleEditor, locator_class=Index, solver=lambda wrapper, location: ( _get_next_target(wrapper._target, location.index) ) ) traitsui-7.2.1/traitsui/testing/tester/_ui_tester_registry/qt4/_traitsui/check_list_editor.py0000644000076500000240000000472314046644454033501 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! from traitsui.qt4.check_list_editor import CustomEditor from traitsui.testing.tester.command import MouseClick from traitsui.testing.tester.locator import Index from traitsui.testing.tester._ui_tester_registry._common_ui_targets import ( BaseSourceWithLocation ) from traitsui.testing.tester._ui_tester_registry._layout import ( column_major_to_row_major ) from traitsui.testing.tester._ui_tester_registry.qt4 import ( _interaction_helpers ) class _IndexedCustomCheckListEditor(BaseSourceWithLocation): """ Wrapper for CheckListEditor + locator.Index """ source_class = CustomEditor locator_class = Index handlers = [ (MouseClick, (lambda wrapper, _: _interaction_helpers.mouse_click_qlayout( layout=wrapper._target.source.control.layout(), index=convert_index( layout=wrapper._target.source.control.layout(), index=wrapper._target.location.index, ), delay=wrapper.delay))), ] def convert_index(layout, index): """ Helper function to convert an index for a QGridLayout so that the index counts over the grid in the correct direction. The grid is always populated in row major order, but it is done so in such a way that the entries appear in column major order. Qlayouts are indexed in the order they are populated, so to access the correct element we may need to convert a column-major based index into a row-major one. Parameters ---------- layout : QGridLayout The layout of interest index : int the index of interest """ n = layout.count() num_cols = layout.columnCount() num_rows = layout.rowCount() return column_major_to_row_major(index, n, num_rows, num_cols) def register(registry): """ Register interactions for the given registry. If there are any conflicts, an error will occur. Parameters ---------- registry : TargetRegistry The registry being registered to. """ _IndexedCustomCheckListEditor.register(registry) traitsui-7.2.1/traitsui/testing/tester/_ui_tester_registry/qt4/_traitsui/text_editor.py0000644000076500000240000000271314046644454032352 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! from traitsui.testing.tester.query import DisplayedText from traitsui.testing.tester._ui_tester_registry.qt4 import ( _interaction_helpers ) from traitsui.testing.tester._ui_tester_registry.qt4._registry_helper import ( register_editable_textbox_handlers, ) from traitsui.qt4.text_editor import CustomEditor, ReadonlyEditor, SimpleEditor def register(registry): """ Register interactions for the given registry. If there are any conflicts, an error will occur. Parameters ---------- registry : TargetRegistry The registry being registered to. """ for target_class in [CustomEditor, SimpleEditor]: register_editable_textbox_handlers( registry=registry, target_class=target_class, widget_getter=lambda wrapper: wrapper._target.control, ) registry.register_interaction( target_class=ReadonlyEditor, interaction_class=DisplayedText, handler=lambda wrapper, _: _interaction_helpers.displayed_text_qobject( wrapper._target.control), ) traitsui-7.2.1/traitsui/testing/tester/_ui_tester_registry/qt4/_traitsui/boolean_editor.py0000644000076500000240000000314214046644454033002 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! from traitsui.testing.tester.command import MouseClick from traitsui.testing.tester.query import DisplayedText, IsChecked from traitsui.testing.tester._ui_tester_registry.qt4 import ( _interaction_helpers ) from traitsui.qt4.boolean_editor import ReadonlyEditor, SimpleEditor def register(registry): """ Register solvers/handlers specific to qt Boolean Editors for the given registry. If there are any conflicts, an error will occur. Parameters ---------- registry : TargetRegistry """ registry.register_interaction( target_class=SimpleEditor, interaction_class=MouseClick, handler=lambda wrapper, _: _interaction_helpers.mouse_click_qwidget( control=wrapper._target.control, delay=wrapper.delay ) ) registry.register_interaction( target_class=SimpleEditor, interaction_class=IsChecked, handler=lambda wrapper, _: wrapper._target.control.isChecked() ) registry.register_interaction( target_class=ReadonlyEditor, interaction_class=DisplayedText, handler=lambda wrapper, _: _interaction_helpers.displayed_text_qobject( widget=wrapper._target.control ) ) traitsui-7.2.1/traitsui/testing/tester/_ui_tester_registry/qt4/_traitsui/range_editor.py0000644000076500000240000000665514046644454032473 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! from traitsui.qt4.range_editor import ( LargeRangeSliderEditor, LogRangeSliderEditor, RangeTextEditor, SimpleSliderEditor, ) from traitsui.testing.tester.command import KeyClick from traitsui.testing.tester.locator import Slider, Textbox from traitsui.testing.tester._ui_tester_registry.qt4 import ( _interaction_helpers, _registry_helper ) class LocatedTextbox: """ Wrapper class for a located Textbox in Qt. Parameters ---------- textbox : Instance of QtGui.QLineEdit """ def __init__(self, textbox): self.textbox = textbox @classmethod def register(cls, registry): """ Class method to register interactions on a LocatedTextbox for the given registry. If there are any conflicts, an error will occur. Parameters ---------- registry : TargetRegistry The registry being registered to. """ _registry_helper.register_editable_textbox_handlers( registry=registry, target_class=cls, widget_getter=lambda wrapper: wrapper._target.textbox, ) class LocatedSlider: """ Wrapper class for a located Slider in Qt. Parameters ---------- slider : Instance of QtGui.QSlider """ def __init__(self, slider): self.slider = slider @classmethod def register(cls, registry): """ Class method to register interactions on a LocatedSlider for the given registry. If there are any conflicts, an error will occur. Parameters ---------- registry : TargetRegistry The registry being registered to. """ registry.register_interaction( target_class=cls, interaction_class=KeyClick, handler=lambda wrapper, interaction: _interaction_helpers.key_click_qslider( wrapper._target.slider, interaction, wrapper.delay) ) def register(registry): """ Register interactions for the given registry. If there are any conflicts, an error will occur. Parameters ---------- registry : TargetRegistry The registry being registered to. """ targets = [SimpleSliderEditor, LogRangeSliderEditor, LargeRangeSliderEditor] for target_class in targets: registry.register_location( target_class=target_class, locator_class=Textbox, solver=lambda wrapper, _: LocatedTextbox( textbox=wrapper._target.control.text), ) registry.register_location( target_class=target_class, locator_class=Slider, solver=lambda wrapper, _: LocatedSlider( slider=wrapper._target.control.slider), ) _registry_helper.register_editable_textbox_handlers( registry=registry, target_class=RangeTextEditor, widget_getter=lambda wrapper: wrapper._target.control, ) LocatedTextbox.register(registry) LocatedSlider.register(registry) traitsui-7.2.1/traitsui/testing/tester/_ui_tester_registry/qt4/_traitsui/font_editor.py0000644000076500000240000000172314046644454032334 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! from traitsui.testing.tester._ui_tester_registry.qt4._registry_helper import ( register_editable_textbox_handlers, ) from traitsui.qt4.font_editor import TextFontEditor def register(registry): """ Register interactions pertaining to (Qt) FontEditor for the given registry. Parameters ---------- registry : TargetRegistry The registry being registered to. """ register_editable_textbox_handlers( registry=registry, target_class=TextFontEditor, widget_getter=lambda wrapper: wrapper._target.control, ) traitsui-7.2.1/traitsui/testing/tester/_ui_tester_registry/qt4/_traitsui/enum_editor.py0000644000076500000240000001356614046644454032342 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! from traitsui.qt4.enum_editor import ( ListEditor, RadioEditor, SimpleEditor, ) from traitsui.testing.tester.command import ( KeyClick, KeySequence, MouseClick, ) from traitsui.testing.tester.locator import Index from traitsui.testing.tester.query import DisplayedText, SelectedText from traitsui.testing.tester._ui_tester_registry._common_ui_targets import ( BaseSourceWithLocation ) from traitsui.testing.tester._ui_tester_registry.qt4 import ( _interaction_helpers ) from traitsui.testing.tester._ui_tester_registry._layout import ( column_major_to_row_major ) class _IndexedListEditor(BaseSourceWithLocation): """ Wrapper class for EnumListEditor and Index. """ source_class = ListEditor locator_class = Index handlers = [ (MouseClick, (lambda wrapper, _: _interaction_helpers.mouse_click_item_view( model=wrapper._target.source.control.model(), view=wrapper._target.source.control, index=wrapper._target.source.control.model().index( wrapper._target.location.index, 0), delay=wrapper.delay))), ] class _IndexedRadioEditor(BaseSourceWithLocation): """ Wrapper class for EnumRadioEditor and Index. """ source_class = RadioEditor locator_class = Index handlers = [ (MouseClick, (lambda wrapper, _: _interaction_helpers.mouse_click_qlayout( layout=wrapper._target.source.control.layout(), index=convert_index( layout=wrapper._target.source.control.layout(), index=wrapper._target.location.index, row_major=wrapper._target.source.row_major ), delay=wrapper.delay))), ] def convert_index(layout, index, row_major): """ Helper function to convert an index for a QGridLayout so that the index counts over the grid in the correct direction. The grid is always populated in row major order. The row_major trait of a Radio Enum Editor simply changes what elements are assigned to each entry in the grid, so that when displayed, they appear in column major order. Qlayouts are indexed in the order they are populated, so to access the correct element we may need to convert a column-major based index into a row-major one. Parameters ---------- layout : QGridLayout The layout of interest index : int the index of interest row_major : bool whether or not the grid entries are organized in row major order """ if row_major: return index else: n = layout.count() num_cols = layout.columnCount() num_rows = layout.rowCount() return column_major_to_row_major(index, n, num_rows, num_cols) class _IndexedSimpleEditor(BaseSourceWithLocation): """ Wrapper class for Simple EnumEditor and Index. """ source_class = SimpleEditor locator_class = Index handlers = [ (MouseClick, (lambda wrapper, _: _interaction_helpers.mouse_click_combobox( combobox=wrapper._target.source.control, index=wrapper._target.location.index, delay=wrapper.delay))), ] def radio_selected_text_handler(wrapper, interaction): """ Handler function used to query SelectedText for EnumRadioEditor. Parameters ---------- wrapper : UIWrapper The UIWrapper containing that object with text to be displayed. interaction : SelectedText Unused in this function but included to match the expected format of a handler. Should only be SelectedText """ control = wrapper._target.control for index in range(control.layout().count()): if control.layout().itemAt(index).widget().isChecked(): return control.layout().itemAt(index).widget().text() return None def register(registry): """ Registry location and interaction handlers for EnumEditor. Parameters ---------- registry : InteractionRegistry """ _IndexedListEditor.register(registry) _IndexedRadioEditor.register(registry) _IndexedSimpleEditor.register(registry) simple_editor_text_handlers = [ (KeyClick, (lambda wrapper, interaction: _interaction_helpers.key_click_qwidget( control=wrapper._target.control, interaction=interaction, delay=wrapper.delay))), (KeySequence, (lambda wrapper, interaction: _interaction_helpers.key_sequence_qwidget( control=wrapper._target.control, interaction=interaction, delay=wrapper.delay))), (DisplayedText, lambda wrapper, _: wrapper._target.control.currentText()), (SelectedText, lambda wrapper, _: wrapper._target.control.currentText()) ] for interaction_class, handler in simple_editor_text_handlers: registry.register_interaction( target_class=SimpleEditor, interaction_class=interaction_class, handler=handler ) registry.register_interaction( target_class=RadioEditor, interaction_class=SelectedText, handler=radio_selected_text_handler, ) registry.register_interaction( target_class=ListEditor, interaction_class=SelectedText, handler=lambda wrapper, _: wrapper._target.control.currentItem().text(), ) traitsui-7.2.1/traitsui/testing/tester/_ui_tester_registry/qt4/_traitsui/README.txt0000644000076500000240000000130414046644454031137 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! """ The organization in this package should more or less mirror that of the ``traitsui.qt4`` package and contains the corresponding logic for testing. Note that once new implementations are added, they may need to be exposed via the ``default_registry`` module (one level up from this package). """ traitsui-7.2.1/traitsui/testing/tester/_ui_tester_registry/qt4/_traitsui/button_editor.py0000644000076500000240000000267714046644454032712 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! from traitsui.testing.tester.command import MouseClick from traitsui.testing.tester.query import DisplayedText from traitsui.testing.tester._ui_tester_registry.qt4 import ( _interaction_helpers ) from traitsui.qt4.button_editor import CustomEditor, SimpleEditor def register(registry): """ Register solvers/handlers specific to qt Button Editors for the given registry. If there are any conflicts, an error will occur. Parameters ---------- registry : TargetRegistry """ handlers = [ (MouseClick, lambda wrapper, _: _interaction_helpers.mouse_click_qwidget( wrapper._target.control, wrapper.delay)), (DisplayedText, lambda wrapper, _: wrapper._target.control.text()), ] for target_class in [SimpleEditor, CustomEditor]: for interaction_class, handler in handlers: registry.register_interaction( target_class=target_class, interaction_class=interaction_class, handler=handler ) traitsui-7.2.1/traitsui/testing/tester/_ui_tester_registry/qt4/README.txt0000644000076500000240000000115614046644454027141 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! """ This package contains implementations for testing TraitsUI UI editors with Qt. The top-level module ``default_registry`` serves external packages and hides implementation details internal to this package. """ traitsui-7.2.1/traitsui/testing/tester/tests/0000755000076500000240000000000014046644526022000 5ustar aayresstaff00000000000000traitsui-7.2.1/traitsui/testing/tester/tests/test_ui_wrapper.py0000644000076500000240000003612214046644454025572 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! import io import textwrap import unittest from unittest import mock from pyface.api import GUI from traits.api import HasTraits, Int from traits.testing.api import UnittestTools from traitsui.tests._tools import ( process_cascade_events, requires_toolkit, ToolkitName, ) from traitsui.testing.tester._abstract_target_registry import ( AbstractTargetRegistry, ) from traitsui.testing.tester.exceptions import ( InteractionNotSupported, LocationNotSupported, ) from traitsui.testing.tester.target_registry import ( TargetRegistry, ) from traitsui.testing.tester.ui_wrapper import ( UIWrapper, ) def example_ui_wrapper(**kwargs): """ Return an instance of UIWrapper for testing purposes. Parameters ---------- **kwargs Values to use instead of the default values. Returns ------- wrapper: UIWrapper """ values = dict( target=None, registries=[], ) values.update(kwargs) return UIWrapper(**values) class StubRegistry(AbstractTargetRegistry): """ A stub implementation of the AbstractTargetRegistry for testing """ def __init__( self, handler=None, solver=None, supported_interaction_classes=(), supported_locator_classes=(), interaction_doc="", location_doc="", ): self.handler = handler self.solver = solver self.supported_interaction_classes = supported_interaction_classes self.supported_locator_classes = supported_locator_classes self.interaction_doc = interaction_doc self.location_doc = location_doc def _get_handler(self, target, interaction): if interaction.__class__ not in self.supported_interaction_classes: raise InteractionNotSupported( target_class=target.__class__, interaction_class=interaction.__class__, supported=list(self.supported_interaction_classes), ) return self.handler def _get_interactions(self, target): return set(self.supported_interaction_classes) def _get_interaction_doc(self, target, interaction_class): return self.interaction_doc def _get_solver(self, target, location): if location.__class__ not in self.supported_locator_classes: raise LocationNotSupported( target_class=target.__class__, locator_class=location.__class__, supported=list(self.supported_locator_classes), ) return self.solver def _get_locations(self, target): return set(self.supported_locator_classes) def _get_location_doc(self, target, locator_class): return self.location_doc # Use of perform/inspect requires the GUI event loop @requires_toolkit([ToolkitName.qt, ToolkitName.wx]) class TestUIWrapperInteractionRegistries(unittest.TestCase): """ Test the logic regarding the order of (interaction) registries. """ def test_registry_priority(self): # If two registries have a handler for the same target and interaction # types, the first register is used. registry1 = StubRegistry( handler=lambda w, l: 1, supported_interaction_classes=[str], ) registry2 = StubRegistry( handler=lambda w, l: 2, supported_interaction_classes=[str], ) wrapper = example_ui_wrapper( registries=[registry2, registry1], ) value = wrapper.inspect("some string") self.assertEqual(value, 2) # reverse order wrapper = example_ui_wrapper( registries=[registry1, registry2] ) value = wrapper.inspect("some other string") self.assertEqual(value, 1) def test_registry_selection(self): # If the first registry says it can't handle the interaction, the next # registry is tried. registry1 = StubRegistry() registry2_handler = mock.Mock() registry2 = StubRegistry( handler=registry2_handler, supported_interaction_classes=[int], ) wrapper = example_ui_wrapper( registries=[registry1, registry2], ) wrapper.perform(123) self.assertEqual(registry2_handler.call_count, 1) def test_registry_all_declined(self): # If none of the registries can support an interaction, the # exception raised provide information on what actions are # supported. wrapper = example_ui_wrapper( registries=[ StubRegistry(supported_interaction_classes=[int]), StubRegistry(supported_interaction_classes=[float]), ], ) with self.assertRaises(InteractionNotSupported) as exception_context: wrapper.perform(None) self.assertCountEqual( exception_context.exception.supported, [int, float], ) # Use of locate requires the GUI event loop @requires_toolkit([ToolkitName.qt, ToolkitName.wx]) class TestUIWrapperLocationRegistry(unittest.TestCase): """ Test the use of registries with locate. """ def test_location_registry_priority(self): registry1 = StubRegistry( solver=lambda w, l: 1, supported_locator_classes=[str], ) registry2 = StubRegistry( solver=lambda w, l: 2, supported_locator_classes=[str], ) wrapper = example_ui_wrapper( registries=[registry2, registry1], ) new_wrapper = wrapper.locate("some string") self.assertEqual(new_wrapper._target, 2) # swap the order wrapper = example_ui_wrapper( registries=[registry1, registry2], ) new_wrapper = wrapper.locate("some other string") self.assertEqual(new_wrapper._target, 1) def test_location_registry_selection(self): # If the first registry says it can't handle the interaction, the next # registry is tried. def solver2(wrapper, location): return 2 registry1 = StubRegistry() registry2 = StubRegistry( solver=solver2, supported_locator_classes=[str], ) wrapper = example_ui_wrapper( registries=[registry1, registry2], ) new_wrapper = wrapper.locate("some string") self.assertEqual(new_wrapper._target, 2) self.assertEqual( new_wrapper._registries, wrapper._registries, ) def test_registry_all_declined(self): # If none of the registries can support a location, the # exception raised provide information on what actions are # supported. wrapper = example_ui_wrapper( registries=[ StubRegistry(supported_locator_classes=[int]), StubRegistry(supported_locator_classes=[float]), ], ) with self.assertRaises(LocationNotSupported) as exception_context: wrapper.locate(None) self.assertCountEqual( exception_context.exception.supported, [int, float], ) class TestUIWrapperHelp(unittest.TestCase): """ Test calling UIWrapper.help """ def test_help_message(self): class Action: """ Say hello. Say bye. """ pass class Locator: """ Return anything you like. Good day! """ pass registry1 = TargetRegistry() registry1.register_interaction( target_class=str, interaction_class=Action, handler=mock.Mock(), ) registry2 = TargetRegistry() registry2.register_location( target_class=str, locator_class=Locator, solver=mock.Mock(), ) wrapper = example_ui_wrapper( target="dummy", registries=[registry1, registry2] ) # when stream = io.StringIO() with mock.patch("sys.stdout", stream): wrapper.help() # then self.assertEqual( stream.getvalue(), textwrap.dedent(f"""\ Interactions ------------ {Action!r} Say hello. Say bye. Locations --------- {Locator!r} Return anything you like. Good day! """) ) def test_help_message_priority_interactions(self): # The first registry in the list has the highest priority # The last registry in the list has the least priority high_priority_registry = StubRegistry( supported_locator_classes=[str], supported_interaction_classes=[float], interaction_doc="Interaction: I get a higher priority.", location_doc="Location: I get a higher priority.", ) low_priority_registry = StubRegistry( supported_locator_classes=[str], supported_interaction_classes=[float], interaction_doc="Interaction: I get a lower priority.", location_doc="Location: I get a lower priority.", ) # Put higher priority registry first. wrapper = example_ui_wrapper( target="dummy", registries=[high_priority_registry, low_priority_registry], ) # when stream = io.StringIO() with mock.patch("sys.stdout", stream): wrapper.help() # then self.assertEqual( stream.getvalue(), textwrap.dedent(f"""\ Interactions ------------ {float!r} Interaction: I get a higher priority. Locations --------- {str!r} Location: I get a higher priority. """) ) def test_help_message_nothing_is_supported(self): registry = TargetRegistry() wrapper = example_ui_wrapper(registries=[registry]) # when stream = io.StringIO() with mock.patch("sys.stdout", stream): wrapper.help() # then self.assertEqual( stream.getvalue(), textwrap.dedent("""\ Interactions ------------ No interactions are supported. Locations --------- No locations are supported. """) ) class NumberHasTraits(HasTraits): number = Int() @requires_toolkit([ToolkitName.qt, ToolkitName.wx]) class TestUIWrapperEventProcessed(unittest.TestCase, UnittestTools): """ Test GUI events are processed and exceptions from the GUI event loop are handled. """ def test_event_processed(self): # Test GUI events are processed such that the trait is changed. gui = GUI() model = NumberHasTraits() def handler(wrapper, action): gui.set_trait_later(model, "number", 2) wrapper = example_ui_wrapper( registries=[ StubRegistry( handler=handler, supported_interaction_classes=[float], ), ], ) with self.assertTraitChanges(model, "number"): wrapper.perform(2.123) def test_event_processed_prior_to_resolving_location(self): # Test GUI events are processed prior to resolving location gui = GUI() model = NumberHasTraits() gui.set_trait_later(model, "number", 2) def solver(wrapper, location): return model.number wrapper = example_ui_wrapper( registries=[ StubRegistry( solver=solver, supported_locator_classes=[float], ) ], ) new_wrapper = wrapper.locate(4.567) self.assertEqual(new_wrapper._target, 2) def test_event_processed_with_exception_captured(self): # Test exceptions in the GUI event loop are captured and then cause # the test to error. gui = GUI() def raise_error(): raise ZeroDivisionError() def handler(wrapper, action): gui.invoke_later(raise_error) wrapper = example_ui_wrapper( registries=[ StubRegistry( handler=handler, supported_interaction_classes=[float], ), ], ) with self.assertRaises(RuntimeError), self.assertLogs("traitsui"): wrapper.perform(1.234) def test_exception_not_in_gui(self): # Exceptions from code executed outside of the event loop are # propagated as is. def handler(wrapper, action): raise ZeroDivisionError() wrapper = example_ui_wrapper( registries=[ StubRegistry( handler=handler, supported_interaction_classes=[float], ), ], ) with self.assertRaises(ZeroDivisionError): wrapper.perform(9.99) def test_perform_event_processed_optional(self): # Allow event processing to be switched off. gui = GUI() side_effect = mock.Mock() def handler(wrapper, action): gui.invoke_later(side_effect) wrapper = example_ui_wrapper( registries=[ StubRegistry( handler=handler, supported_interaction_classes=[float], ), ], auto_process_events=False, ) # With auto_process_events set to False, events are not automatically # processed. wrapper.perform(12.345) self.addCleanup(process_cascade_events) self.assertEqual(side_effect.call_count, 0) def test_locate_event_processed_optional(self): # Allow event processing to be switched off. gui = GUI() side_effect = mock.Mock() gui.invoke_later(side_effect) self.addCleanup(process_cascade_events) def solver(wrapper, location): return 1 wrapper = example_ui_wrapper( registries=[ StubRegistry( solver=solver, supported_locator_classes=[float], ), ], auto_process_events=False, ) # With auto_process_events set to False, events are not automatically # processed. new_wrapper = wrapper.locate(1.234) self.assertEqual(side_effect.call_count, 0) self.assertFalse(new_wrapper._auto_process_events) traitsui-7.2.1/traitsui/testing/tester/tests/test_registry.py0000644000076500000240000001704714046644454025272 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! import unittest from traitsui.testing.tester.target_registry import ( TargetRegistry, ) from traitsui.testing.tester.exceptions import ( InteractionNotSupported, LocationNotSupported, ) class TestInteractionRegistry(unittest.TestCase): def test_registry_empty(self): class SpecificTarget: pass class Action: pass registry = TargetRegistry() with self.assertRaises(InteractionNotSupported) as exception_context: registry._get_handler(SpecificTarget(), Action()) self.assertEqual( str(exception_context.exception), f"No handler is found for target {SpecificTarget!r} with " f"interaction {Action!r}. Supported these: []", ) def test_register_editor_with_action(self): registry = TargetRegistry() class SpecificEditor: pass class UserAction: pass def handler(wrapper, interaction): pass # when registry.register_interaction( target_class=SpecificEditor, interaction_class=UserAction, handler=handler, ) # then actual = registry._get_handler(SpecificEditor(), UserAction()) self.assertIs(actual, handler) def test_get_interactions_supported(self): registry = TargetRegistry() class SpecificEditor: pass class UserAction: pass class UserAction2: pass def handler(wrapper, interaction): pass # when registry.register_interaction( target_class=SpecificEditor, interaction_class=UserAction, handler=handler, ) registry.register_interaction( target_class=SpecificEditor, interaction_class=UserAction2, handler=handler, ) # then self.assertEqual( registry._get_interactions(SpecificEditor()), {UserAction, UserAction2} ) def test_action_not_supported_report_supported_action(self): # Test raise InteractionNotSupported contains information about what # actions are supported. class SpecificEditor: pass class SpecificEditor2: pass class UserAction: pass class UserAction2: pass class UserAction3: pass def handler(wrapper, interaction): pass registry = TargetRegistry() registry.register_interaction(SpecificEditor, UserAction, handler) registry.register_interaction(SpecificEditor2, UserAction2, handler) registry.register_interaction(SpecificEditor2, UserAction3, handler) with self.assertRaises(InteractionNotSupported) as exception_context: registry._get_handler(SpecificEditor2(), None) self.assertIn(UserAction2, exception_context.exception.supported) self.assertIn(UserAction3, exception_context.exception.supported) self.assertNotIn(UserAction, exception_context.exception.supported) def test_error_conflict(self): # Test the same target + interaction type cannot be registered twice. class SpecificEditor: pass class UserAction: pass def handler(wrapper, interaction): pass registry = TargetRegistry() registry.register_interaction(SpecificEditor, UserAction, handler) with self.assertRaises(ValueError): registry.register_interaction(SpecificEditor, UserAction, handler) def test_error_get_interaction_doc(self): # The registry is empty registry = TargetRegistry() with self.assertRaises(InteractionNotSupported): registry._get_interaction_doc(2.1, int) def test_get_default_interaction_doc(self): class Action: """Some action.""" pass def handler(wrapper, interaction): pass registry = TargetRegistry() registry.register_interaction( target_class=float, interaction_class=Action, handler=handler, ) actual = registry._get_interaction_doc( target=21.2, interaction_class=Action, ) self.assertEqual(actual, "Some action.") class TestLocationRegistry(unittest.TestCase): def test_location_registry_empty(self): class SpecificTarget: pass class Locator: pass registry = TargetRegistry() with self.assertRaises(LocationNotSupported) as exception_context: registry._get_solver(SpecificTarget(), Locator()) self.assertEqual(exception_context.exception.supported, []) self.assertEqual( str(exception_context.exception), f"Location {Locator!r} is not supported for {SpecificTarget!r}. " "Supported these: []", ) def test_register_location(self): def solver(wrapper, location): return 1 registry = TargetRegistry() registry.register_location( target_class=float, locator_class=str, solver=solver) self.assertIs(registry._get_solver(2.1, "dummy"), solver) def test_register_location_report_existing(self): def solver(wrapper, location): return 1 registry = TargetRegistry() registry.register_location( target_class=float, locator_class=str, solver=solver) with self.assertRaises(LocationNotSupported) as exception_context: registry._get_solver(3.4, None) self.assertEqual(exception_context.exception.supported, [str]) def test_get_locations_supported(self): # Test _get_locations return the supported location types. registry = TargetRegistry() class SpecificEditor: pass class Locator1: pass class Locator2: pass def solver(wrapper, location): return 1 # when registry.register_location( target_class=SpecificEditor, locator_class=Locator1, solver=solver, ) registry.register_location( target_class=SpecificEditor, locator_class=Locator2, solver=solver, ) # then self.assertEqual( registry._get_locations(SpecificEditor()), {Locator1, Locator2} ) def test_get_location_help_default(self): class Locator: """ Some default documentation.""" pass registry = TargetRegistry() registry.register_location( target_class=float, locator_class=Locator, solver=lambda w, l: 1, ) help_text = registry._get_location_doc( target=2.345, locator_class=Locator, ) self.assertEqual(help_text, "Some default documentation.") def test_error_get_interaction_doc(self): # The registry is empty registry = TargetRegistry() with self.assertRaises(LocationNotSupported): registry._get_location_doc(3.456, int) traitsui-7.2.1/traitsui/testing/tester/tests/test_ui_tester.py0000644000076500000240000001703714046644454025424 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! import unittest from unittest import mock from pyface.api import GUI from traits.api import ( Button, Instance, HasTraits, Str, ) from traitsui.api import Item, ModelView, View from traitsui.tests._tools import ( process_cascade_events, requires_toolkit, ToolkitName, ) from traitsui.testing.tester.exceptions import InteractionNotSupported from traitsui.testing.tester.target_registry import TargetRegistry from traitsui.testing.tester.ui_tester import ( UITester, ) from traitsui.testing.tester.ui_wrapper import ( UIWrapper, ) class Order(HasTraits): submit_button = Button() submit_label = Str("Submit") class Model(HasTraits): order = Instance(Order, ()) class SimpleApplication(ModelView): model = Instance(Model) @requires_toolkit([ToolkitName.qt, ToolkitName.wx]) class TestUITesterCreateUI(unittest.TestCase): """ Test UITester.create_ui """ def test_ui_disposed(self): tester = UITester() order = Order() view = View(Item("submit_button")) with tester.create_ui(order, dict(view=view)) as ui: pass self.assertTrue(ui.destroyed) def test_create_ui_reraise_exception(self): tester = UITester() order = Order() view = View(Item("submit_button")) with self.assertRaises(RuntimeError), \ self.assertLogs("traitsui", level="ERROR"): with tester.create_ui(order, dict(view=view)) as ui: def raise_error(): raise ZeroDivisionError() GUI().invoke_later(raise_error) self.assertIsNone(ui.control) def test_create_ui_respect_auto_process_events_flag(self): tester = UITester(auto_process_events=False) order = Order() view = View(Item("_")) side_effect = mock.Mock() gui = GUI() gui.invoke_later(side_effect) # Make sure all pending events are processed at the end of the test. self.addCleanup(process_cascade_events) with tester.create_ui(order, dict(view=view)) as ui: pass # dispose is called. self.assertIsNone(ui.control) # But the GUI events are not processed. self.assertEqual(side_effect.call_count, 0) @requires_toolkit([ToolkitName.qt, ToolkitName.wx]) class TestUITesterRegistry(unittest.TestCase): """ Test maintaining registries.""" def test_traitsui_registry_added(self): # Even if we have a custom registry list, the builtin TraitsUI # registry is always added. custom_registry = TargetRegistry() tester = UITester(registries=[custom_registry]) view = View(Item("submit_button")) with tester.create_ui(Order(), dict(view=view)) as ui: # this relies on TraitsUI builtin registry. wrapper = tester.find_by_name(ui, "submit_button") # custom registry is accessible # sanity check with self.assertRaises(InteractionNotSupported): wrapper.perform(1) custom_registry.register_interaction( target_class=wrapper._target.__class__, interaction_class=int, handler=lambda wrapper, interaction: None, ) wrapper.perform(1) @requires_toolkit([ToolkitName.qt, ToolkitName.wx]) class TestUITesterFindEditor(unittest.TestCase): """ Test logic for finding a target.""" def test_interactor_found_if_editor_found(self): tester = UITester() view = View(Item("submit_button")) with tester.create_ui(Order(), dict(view=view)) as ui: wrapper = tester.find_by_name(ui, "submit_button") self.assertIsInstance(wrapper, UIWrapper) expected, = ui.get_editors("submit_button") self.assertEqual(wrapper._target, expected) self.assertEqual( wrapper._registries, tester._registries, ) def test_no_editors_found(self): # The view does not have "submit_n_events" tester = UITester() view = View(Item("submit_button")) with tester.create_ui(Order(), dict(view=view)) as ui: with self.assertRaises(ValueError) as exception_context: tester.find_by_name(ui, "submit_n_events") self.assertIn( "No editors can be found", str(exception_context.exception), ) def test_multiple_editors_found(self): # There may be more than one target with the same name. # find_by_name cannot be used in this case. tester = UITester() view = View(Item("submit_button"), Item("submit_button")) with tester.create_ui(Order(), dict(view=view)) as ui: with self.assertRaises(ValueError) as exception_context: tester.find_by_name(ui, "submit_button") self.assertIn( "Found multiple editors", str(exception_context.exception), ) def test_delay_persisted(self): tester = UITester(delay=.01) view = View(Item("submit_button")) with tester.create_ui(Order(), dict(view=view)) as ui: wrapped = tester.find_by_name(ui, "submit_button") self.assertEqual(wrapped.delay, .01) def test_find_by_id(self): tester = UITester(delay=123) item1 = Item("submit_button", id="item1") item2 = Item("submit_button", id="item2") view = View(item1, item2) with tester.create_ui(Order(), dict(view=view)) as ui: wrapper = tester.find_by_id(ui, "item2") self.assertIs(wrapper._target.item, item2) self.assertEqual(wrapper._registries, tester._registries) self.assertEqual(wrapper.delay, tester.delay) def test_find_by_id_multiple(self): # The uniqueness is not enforced. The first one is returned. tester = UITester() item1 = Item("submit_button", id="item1") item2 = Item("submit_button", id="item2") item3 = Item("submit_button", id="item2") view = View(item1, item2, item3) with tester.create_ui(Order(), dict(view=view)) as ui: wrapper = tester.find_by_id(ui, "item2") self.assertIs(wrapper._target.item, item2) def test_auto_process_events_skipped(self): # Event processing can be skipped. tester = UITester(auto_process_events=False) side_effect = mock.Mock() gui = GUI() gui.invoke_later(side_effect) # Make sure all pending events are processed at the end of the test. self.addCleanup(process_cascade_events) view = View(Item("submit_button", id="item")) with tester.create_ui(Order(), dict(view=view)) as ui: tester.find_by_id(ui, "item") self.assertEqual(side_effect.call_count, 0) class TestUITesterGuiFree(unittest.TestCase): """ Test GUI free interface on UITester.""" def test_auto_process_events_readonly(self): # auto_process_events can be inspected, but it cannot be changed. tester = UITester(auto_process_events=False) self.assertIs(tester.auto_process_events, False) with self.assertRaises(AttributeError): tester.auto_process_events = True traitsui-7.2.1/traitsui/testing/tester/tests/__init__.py0000644000076500000240000000000014046644454024077 0ustar aayresstaff00000000000000traitsui-7.2.1/traitsui/testing/tester/__init__.py0000644000076500000240000000167014046644454022753 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! """ This package contains library code for testing TraitsUI applications via ``UITester`` (in ``ui_tester`` module). Other public modules are also part of the public API. ``_ui_tester_registry`` contains internal implementations to support testing TraitsUI UI and editors. The only modules/packages that are specific about TraitsUI UI and editors are ``ui_tester`` and ``_ui_tester_registry``. The other modules are generic enough to be used with GUI components external to TraitsUI. This allows extensions beyond the scope of TraitsUI. """ traitsui-7.2.1/traitsui/testing/tester/_dynamic_target_registry.py0000644000076500000240000001526514046644454026302 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! """ Implement the interface of AbstractTargetRegistry to support dynamic checking on the target. """ import inspect from traitsui.testing.tester._abstract_target_registry import ( AbstractTargetRegistry, ) from traitsui.testing.tester.exceptions import ( InteractionNotSupported, LocationNotSupported, ) class DynamicTargetRegistry(AbstractTargetRegistry): """ Registry to support testing targets that satisfy a given criterion. An instance of this registry can be used with ``UITester`` and ``UIWrapper`` such that all given interactions and handlers will be applicable to any target that deemed to be supported by ``can_support``. The general priority rule applies. See :ref:`testing-how-extension-works` in the User Manual for further details. For stricter checks on the target type, use :class:`~traitsui.testing.tester.target_registry.TargetRegistry`. As an example, this registry:: registry = DynamicTargetRegistry( can_support=lambda target: target.__class__ is MyEditorClass, interaction_to_handler={MyAction: handler}, ) has equivalent behaviors compared to this registry:: registry = TargetRegistry() registry.register_interaction(MyEditorClass, MyAction, handler) Parameters ---------- can_support : callable(target) -> bool A callable that return true if the given target is supported by the registry. interaction_to_handler : dict(type, callable) A dictionary mapping from interaction type to handler callables. Each handler callable in the values should have the signature ``callable(UIWrapper, interaction) -> any``, where ``instance`` should have the type defined in the associated key. """ def __init__(self, *, can_support, interaction_to_handler): self.can_support = can_support self.interaction_to_handler = interaction_to_handler def _get_handler(self, target, interaction): """ Return a callable for handling an interaction for a given target. This is an implementation for an abstract method. Parameters ---------- target : any The UI target being operated on. interaction : any Any interaction object. Returns ------- handler : callable(UIWrapper, interaction) -> any The function to handle the given interaction on a target. Raises ------ InteractionNotSupported If the given target and interaction types are not supported by this registry. """ if interaction.__class__ not in self._get_interactions(target): raise InteractionNotSupported( target_class=target.__class__, interaction_class=interaction.__class__, supported=list(self._get_interactions(target)), ) return self.interaction_to_handler[interaction.__class__] def _get_interactions(self, target): """ Returns all the interactions supported for the given target. This is an implementation for an abstract method. Parameters ---------- target : any The UI target for which supported interactions are queried. Returns ------- interaction_classes : set Supported interaction types for the given target type. """ if self.can_support(target): return set(self.interaction_to_handler) return set() def _get_interaction_doc(self, target, interaction_class): """ Return the documentation for the given target and interaction type. This is an implementation for an abstract method. Parameters ---------- target : any The UI target for which the interaction will be applied. interaction_class : subclass of type Any class. Returns ------- doc : str Raises ------ InteractionNotSupported If the given target and interaction types are not supported by this registry. """ if interaction_class not in self._get_interactions(target): raise InteractionNotSupported( target_class=target.__class__, interaction_class=interaction_class, supported=list(self._get_interactions(target)), ) return inspect.getdoc(interaction_class) def _get_solver(self, target, location): """ Return a callable registered for resolving a location for the given target and location. This is an implementation for an abstract method. Parameters ---------- target : any The UI target being operated on. location : subclass of type The location to be resolved on the target. Raises ------ LocationNotSupported If the given locator and target types are not supported. """ raise LocationNotSupported( target_class=target.__class__, locator_class=location.__class__, supported=[], ) def _get_locations(self, target): """ Returns all the location types supported for the given target. This is an implementation for an abstract method. Parameters ---------- target : any The UI target for which supported location types are queried. Returns ------- locators_classes : set Supported locator types for the given target type. """ return set() def _get_location_doc(self, target, locator_class): """ Return the documentation for the given target and locator type. This is an implementation for an abstract method. Parameters ---------- target : any The UI target being operated on. locator_class : subclass of type Any class. Returns ------- doc : str Raises ------ LocationNotSupported If the given locator and target types are not supported. """ raise LocationNotSupported( target_class=target.__class__, locator_class=locator_class, supported=[], ) traitsui-7.2.1/traitsui/testing/tester/locator.py0000644000076500000240000000273514046644454022662 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! """ This module defines objects for locating nested UI targets, to be used with ``UIWrapper.locate``. Implementations for these actions are expected to return a value which is a UI target where further location resolution or user interaction can be applied. """ class Index: """ A locator for locating a target that is uniquely specified by a single 0-based index. Attributes ---------- index : int 0-based index """ def __init__(self, index): self.index = index class TargetByName: """ A locator for locating the next UI target using a name. Attributes ---------- name : str """ def __init__(self, name): self.name = name class TargetById: """ A locator for locating the next UI target using an id. Attributes ---------- id : str """ def __init__(self, id): self.id = id class Slider: """ A locator for locating a nested slider widget within a UI. """ pass class Textbox: """ A locator for locating a nested textbox widget within a UI. """ pass traitsui-7.2.1/traitsui/testing/tester/_abstract_target_registry.py0000644000076500000240000001041214046644454026446 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! """ Interface of a registry depended on by the UIWrapper. This module is currently labelled as for internal use, but it can be made public when there is an external need. """ import abc class AbstractTargetRegistry(abc.ABC): """ Abstract base class which defines the registry interface expected by :class:`~traitsui.testing.tester.ui_wrapper.UIWrapper`. """ @abc.abstractmethod def _get_handler(self, target, interaction): """ Return a callable for handling an interaction for a given target. This is a protected method expected to be implemented by a subclass. Parameters ---------- target : any The UI target being operated on. interaction : any Any interaction object. Returns ------- handler : callable(UIWrapper, interaction) -> any The function to handle the given interaction on a target. Raises ------ InteractionNotSupported If the given target and interaction types are not supported by this registry. """ @abc.abstractmethod def _get_interactions(self, target): """ Returns all the interactions supported for the given target. This is a protected method expected to be implemented by a subclass. Parameters ---------- target : any The UI target for which supported interactions are queried. Returns ------- interaction_classes : set Supported interaction types for the given target type. """ @abc.abstractmethod def _get_interaction_doc(self, target, interaction_class): """ Return the documentation for the given target and interaction type. This is a protected method expected to be implemented by a subclass. Parameters ---------- target : any The UI target for which the interaction will be applied. interaction_class : subclass of type Any class. Returns ------- doc : str Raises ------ InteractionNotSupported If the given target and interaction types are not supported by this registry. """ @abc.abstractmethod def _get_solver(self, target, location): """ Return a callable registered for resolving a location for the given target and location. This is a protected method expected to be implemented by a subclass. Parameters ---------- target : any The UI target being operated on. location : subclass of type The location to be resolved on the target. Raises ------ LocationNotSupported If the given locator and target types are not supported. """ @abc.abstractmethod def _get_locations(self, target): """ Returns all the location types supported for the given target. This is a protected method expected to be implemented by a subclass. Parameters ---------- target : any The UI target for which supported location types are queried. Returns ------- locators_classes : set Supported locator types for the given target type. """ @abc.abstractmethod def _get_location_doc(self, target, locator_class): """ Return the documentation for the given target and locator type. This is a protected method expected to be implemented by a subclass. Parameters ---------- target : any The UI target being operated on. locator_class : subclass of type Any class. Returns ------- doc : str Raises ------ LocationNotSupported If the given locator and target types are not supported. """ traitsui-7.2.1/traitsui/testing/tester/target_registry.py0000644000076500000240000002250414046644454024431 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! """ Define the registry object responsible for collecting and reporting implementations for testing various GUI elements. """ import inspect from traitsui.testing.tester._abstract_target_registry import ( AbstractTargetRegistry, ) from traitsui.testing.tester.exceptions import ( InteractionNotSupported, LocationNotSupported, ) class _TargetToKeyRegistry: """ Perform the mapping from target to a key to a callable. Internally this is a dict(type, dict(type, callable)), but expose a few methods for better error reporting. """ def __init__(self, exception_maker): """ Initializer Parameters ---------- exception_maker : callable(target_class, key, available_keys) A callable that return an exception for when no values are referred to by a given pair of target_class and key. """ self._target_to_key_to_value = {} self.exception_maker = exception_maker def register(self, target_class, key, value): action_to_handler = self._target_to_key_to_value.setdefault( target_class, {} ) if key in action_to_handler: raise ValueError( "A value for target {!r} and key {!r} already " "exists.".format(target_class, key) ) action_to_handler[key] = value def get_value(self, target_class, key): action_to_handler = self._target_to_key_to_value.get(target_class, []) if key not in action_to_handler: raise self.exception_maker( target_class=target_class, key=key, available_keys=list(action_to_handler), ) return action_to_handler[key] def get_keys(self, target_class): """ Return all the keys for the given target. Parameters ---------- target_class : subclass of type The type of a UI target being operated on. Returns ------- keys : set """ return set(self._target_to_key_to_value.get(target_class, [])) class TargetRegistry(AbstractTargetRegistry): """ An object for registering interaction and location resolution logic for different UI target types. ``register_interaction`` supports extending ``UIWrapper.perform`` and ``UIWrapper.inspect`` for a given UI target type and interaction type. ``register_location`` supports extending ``UIWrapper.locate`` for a given UI target type and location type. See :ref:`testing-how-extension-works` in the User Manual for further details. """ def __init__(self): self._interaction_registry = _TargetToKeyRegistry( exception_maker=( lambda target_class, key, available_keys: ( InteractionNotSupported( target_class=target_class, interaction_class=key, supported=available_keys, ) ) ), ) self._location_registry = _TargetToKeyRegistry( exception_maker=( lambda target_class, key, available_keys: LocationNotSupported( target_class=target_class, locator_class=key, supported=available_keys, ) ), ) def register_interaction(self, target_class, interaction_class, handler): """ Register a handler for a given target type and interaction type. Parameters ---------- target_class : subclass of type The type of a UI target being operated on. interaction_class : subclass of type Any class. handler : callable(UIWrapper, interaction) -> any The function to handle the particular interaction on a target. ``interaction`` should be an instance of ``interaction_class``. Raises ------ ValueError If a handler has already be registered for the same target type and interaction class. """ self._interaction_registry.register( target_class=target_class, key=interaction_class, value=handler, ) def _get_handler(self, target, interaction): """ Return a callable for handling an interaction for a given target. Parameters ---------- target : any The UI target being operated on. interaction : any Any interaction object. Returns ------- handler : callable(UIWrapper, interaction) -> any The function to handle the given interaction on a target. Raises ------ InteractionNotSupported If the given target and interaction types are not supported by this registry. """ return self._interaction_registry.get_value( target_class=target.__class__, key=interaction.__class__, ) def _get_interactions(self, target): """ Returns all the interactions supported for the given target. Parameters ---------- target : any The UI target for which supported interactions are queried. Returns ------- interaction_classes : set Supported interaction types for the given target type. """ return self._interaction_registry.get_keys( target_class=target.__class__ ) def _get_interaction_doc(self, target, interaction_class): """ Return the documentation for the given target and interaction type. Parameters ---------- target : any The UI target for which the interaction will be applied. interaction_class : subclass of type Any class. Returns ------- doc : str Raises ------ InteractionNotSupported If the given target and interaction types are not supported by this registry. """ self._interaction_registry.get_value( target_class=target.__class__, key=interaction_class, ) # This maybe configurable in the future via register_interaction return inspect.getdoc(interaction_class) def register_location(self, target_class, locator_class, solver): """ Register a solver for resolving the next UI target for the given target type and locator type. Parameters ---------- target_class : subclass of type The type of a UI target being operated on. locator_class : subclass of type Any class. solver : callable(UIWrapper, location) -> any A callable for resolving a location into a new target. The location argument will be an instance of locator_class. Raises ------ ValueError If a solver has already been registered for the given target type and locator type. """ self._location_registry.register( target_class=target_class, key=locator_class, value=solver, ) def _get_solver(self, target, location): """ Return a callable registered for resolving a location for the given target and location. Parameters ---------- target : any The UI target being operated on. location : subclass of type The location to be resolved on the target. Raises ------ LocationNotSupported If the given locator and target types are not supported. """ return self._location_registry.get_value( target_class=target.__class__, key=location.__class__, ) def _get_locations(self, target): """ Returns all the location types supported for the given target. Parameters ---------- target : any The UI target for which supported location types are queried. Returns ------- locators_classes : set Supported locator types for the given target type. """ return self._location_registry.get_keys(target_class=target.__class__) def _get_location_doc(self, target, locator_class): """ Return the documentation for the given target and locator type. Parameters ---------- target : any The UI target being operated on. locator_class : subclass of type Any class. Returns ------- doc : str Raises ------ LocationNotSupported If the given locator and target types are not supported. """ self._location_registry.get_value( target_class=target.__class__, key=locator_class, ) # This maybe configurable in the future via register_location return inspect.getdoc(locator_class) traitsui-7.2.1/traitsui/testing/tester/exceptions.py0000644000076500000240000000406714046644454023400 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! """ Custom exceptions for UITester and UIWrapper. """ class TesterError(Exception): """ Custom exception for UITester/UIWrapper. """ pass class Disabled(TesterError): """ Raised when a simulation fails because the widget is disabled. """ pass class InteractionNotSupported(TesterError): """ Raised when an interaction is not supported by a wrapper. Parameters ---------- target_class : subclass of type The type of a UI target being operated on. interaction_class : subclass of type Any class for the interaction. supported : list of types List of supported interaction types. """ def __init__(self, target_class, interaction_class, supported): self.target_class = target_class self.interaction_class = interaction_class self.supported = supported def __str__(self): return ( "No handler is found for target {!r} with interaction {!r}. " "Supported these: {!r}".format( self.target_class, self.interaction_class, self.supported ) ) class LocationNotSupported(TesterError): """ Raised when attempt to resolve a location on a UI fails because the location type is not supported. """ def __init__(self, target_class, locator_class, supported): self.target_class = target_class self.locator_class = locator_class self.supported = supported def __str__(self): return ( "Location {!r} is not supported for {!r}. " "Supported these: {!r}".format( self.locator_class, self.target_class, self.supported ) ) traitsui-7.2.1/traitsui/testing/tester/README.txt0000644000076500000240000000167014046644454022340 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! """ This package contains library code for testing TraitsUI applications via ``UITester`` (in ``ui_tester`` module). Other public modules are also part of the public API. ``_ui_tester_registry`` contains internal implementations to support testing TraitsUI UI and editors. The only modules/packages that are specific about TraitsUI UI and editors are ``ui_tester`` and ``_ui_tester_registry``. The other modules are generic enough to be used with GUI components external to TraitsUI. This allows extensions beyond the scope of TraitsUI. """ traitsui-7.2.1/traitsui/testing/tester/ui_wrapper.py0000644000076500000240000002736214046644454023377 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! """ Define the top-level object which is responsible for dispatching testing functionality for a given GUI object. The functionality is exposed via ``UITester``, which is a TraitsUI specific tester. """ from contextlib import contextmanager import textwrap from traitsui.testing._exception_handling import ( reraise_exceptions as _reraise_exceptions, ) from traitsui.testing._gui import ( process_cascade_events as _process_cascade_events, ) from traitsui.testing.tester import locator from traitsui.testing.tester.exceptions import ( InteractionNotSupported, LocationNotSupported, ) class UIWrapper: """ An ``UIWrapper`` has the following responsibilities: (1) Wraps a UI target. (2) Search for a nested UI target within the wrapped UI target. (3) Perform user interaction on the UI target, e.g. mouse click. A UI target is an object which can be searched for nested UI targets, either as intermediate things (like editors or a table widget), or as a leaf widget which can be operated upon (e.g. a mouse click). For example, a ``UIWrapper`` may wrap an instance of traitsui.ui.UI in which more UI targets can be located. A ``UIWrapper`` may also wrap a leaf widget on which user interactions can be performed. For locating a nested UI target, the ``locate`` method is provided. For simulating user interactions such as a mouse click or visual inspection, the ``perform`` and ``inspect`` methods are provided. Parameters ---------- target : any An object on which further UI target can be searched for, or can be a leaf target that can be operated on. registries : list of AbstractTargetRegistry Registries of interaction for different target, in the order of decreasing priority. delay : int, optional Time delay (in ms) in which actions by the wrapper are performed. Note it is propagated through to created child wrappers. The delay allows visual confirmation test code is working as desired. Defaults to 0. auto_process_events : bool, optional Whether to process (cascade) GUI events automatically. Default is True. For tests that launch a modal dialog and rely on a recurring timer to poll if the dialog is closed, it may be necessary to set this flag to false in order to avoid deadlocks. Note that this is propagated through to created child wrappers. Attributes ---------- delay : int Time delay (in ms) in which actions by the wrapper are performed. Note it is propagated through to created child wrappers. The delay allows visual confirmation test code is working as desired. _target : any The UI target currently wrapped for interactions or locating nested components. This is a protected attribute intended to be used for extending the testing API. Usage of this attribute may expose the software's internal structure to the tests, developers should use this attribute with discretion based on context. """ def __init__( self, target, *, registries, delay=0, auto_process_events=True): self._target = target self._registries = registries self._auto_process_events = auto_process_events self.delay = delay def help(self): """ Print help messages. (This function is intended for interactive use.) """ # mapping from interaction types to their documentation interaction_to_doc = dict() # mapping from location types to their documentation location_to_doc = dict() # Order registries by their priority (low to high) for registry in self._registries[::-1]: for type_ in registry._get_interactions(self._target): interaction_to_doc[type_] = registry._get_interaction_doc( target=self._target, interaction_class=type_, ) for type_ in registry._get_locations(self._target): location_to_doc[type_] = registry._get_location_doc( target=self._target, locator_class=type_, ) print("Interactions") print("------------") for interaction_type in sorted(interaction_to_doc, key=repr): print(repr(interaction_type)) print( textwrap.indent( interaction_to_doc[interaction_type], prefix=" " ) ) print() if not interaction_to_doc: print("No interactions are supported.") print() print("Locations") print("---------") for locator_type in sorted(location_to_doc, key=repr): print(repr(locator_type)) print( textwrap.indent( location_to_doc[locator_type], prefix=" " ) ) print() if not location_to_doc: print("No locations are supported.") print() def locate(self, location): """ Attempt to resolve the given location and return a new UIWrapper. Parameters ---------- location : any An instance of a location type supported by the current target. e.g. ``traitsui.testing.api.Index(1)`` Returns ------- wrapper : UIWrapper A new UIWrapper for the given location. Raises ------ LocationNotSupported If the given location is not supported. See Also -------- UIWrapper.help """ return UIWrapper( target=self._get_next_target(location), registries=self._registries, delay=self.delay, auto_process_events=self._auto_process_events, ) def find_by_name(self, name): """ Find a target inside the current target using a name. This is equivalent to calling ``locate(TargetByName(name=name))``. Parameters ---------- name : str A single name for retreiving a target on a UI. Returns ------- wrapper : UIWrapper Raises ------ LocationNotSupported If the current target does not support locating another target by a name. See Also -------- traitsui.testing.tester.locator.TargetByName """ return self.locate(locator.TargetByName(name=name)) def find_by_id(self, id): """ Find a target inside the current target using an id. This is equivalent to calling ``locate(TargetById(id=id))``. Parameters ---------- id : str Id for finding an item in the UI. Returns ------- wrapper : UIWrapper Raises ------ LocationNotSupported If the current target does not support locating another target by a unique identifier. See Also -------- traitsui.testing.tester.locator.TargetById """ return self.locate(locator.TargetById(id=id)) def perform(self, interaction): """ Perform a user interaction that causes side effects. Parameters ---------- interaction : object An instance of an interaction type supported by the current target. e.g. ``traitsui.testing.api.MouseClick()`` Raises ------ InteractionNotSupported If the interaction given is not supported for the current UI target. See Also -------- UIWrapper.help """ self._perform_or_inspect(interaction) def inspect(self, interaction): """ Return a value or values for inspection. Parameters ---------- interaction : object An instance of an interaction type supported by the current target. e.g. ``traitsui.testing.api.DisplayedText()`` Returns ------- values : any Any values returned for the given inspection. The type should be documented by the interaction type object. Raises ------ InteractionNotSupported If the interaction given is not supported for the current UI target. See Also -------- UIWrapper.help """ return self._perform_or_inspect(interaction) # Private methods ######################################################### def _perform_or_inspect(self, interaction): """ Perform a user interaction or a user inspection. Parameters ---------- interaction : instance of interaction type An object defining the interaction. Returns ------- value : any Raises ------ InteractionNotSupported If the given interaction does not have a corresponding implementation for the wrapped UI target. """ supported = [] for registry in self._registries: try: handler = registry._get_handler( target=self._target, interaction=interaction, ) except InteractionNotSupported as e: supported.extend(e.supported) continue else: context = ( _event_processed if self._auto_process_events else _nullcontext ) with context(): return handler(self, interaction) raise InteractionNotSupported( target_class=self._target.__class__, interaction_class=interaction.__class__, supported=supported, ) def _get_next_target(self, location): """ Return the next UI target from the given location. Parameters ---------- location : instance of locator type A location for resolving the next target. Returns ------- new_target : any Raises ------ LocationNotSupport If no solver are provided for resolving the given location in the wrapped UI target. """ supported = set() for registry in self._registries: try: handler = registry._get_solver( target=self._target, location=location, ) except LocationNotSupported as e: supported |= set(e.supported) else: if self._auto_process_events: with _reraise_exceptions(): _process_cascade_events() return handler(self, location) raise LocationNotSupported( target_class=self._target.__class__, locator_class=location.__class__, supported=list(supported), ) @contextmanager def _event_processed(): """ Context manager to ensure GUI events are processed upon entering and exiting the context. """ with _reraise_exceptions(): _process_cascade_events() try: yield finally: _process_cascade_events() @contextmanager def _nullcontext(): """ Equivalent to contextlib.nullcontext() in Python >= 3.7""" yield traitsui-7.2.1/traitsui/testing/tester/ui_tester.py0000644000076500000240000001540514046644454023220 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! """ Define top-level object(s) to support testing TraitsUI applications. """ import contextlib from traitsui.testing._gui import process_cascade_events from traitsui.testing._exception_handling import reraise_exceptions from traitsui.testing.tester._ui_tester_registry.default_registry import ( get_default_registries ) from traitsui.testing.tester.ui_wrapper import UIWrapper class UITester: """ UITester assists testing of GUI applications developed using TraitsUI. See :ref:`testing-traitsui-applications` Section in the User Manual for further details. Parameters ---------- registries : list of TargetRegistry, optional Registries of interaction for different targets, in the order of decreasing priority. If provided, a shallow copy will be made. Additional registries are appended to the list to provide builtin support for TraitsUI UI and editors. delay : int, optional Time delay (in ms) in which actions by the tester are performed. Note it is propagated through to created child wrappers. The delay allows visual confirmation test code is working as desired. Defaults to 0. auto_process_events : bool, optional Whether to process (cascade) GUI events automatically. Default is True. For tests that launch a modal dialog and rely on a recurring timer to poll if the dialog is closed, it may be necessary to set this flag to false in order to avoid deadlocks. Note that this is propagated through to created child wrappers. Attributes ---------- delay : int Time delay (in ms) in which actions by the tester are performed. Note it is propagated through to created child wrappers. The delay allows visual confirmation test code is working as desired. """ def __init__(self, *, registries=None, delay=0, auto_process_events=True): if registries is None: self._registries = [] else: self._registries = registries.copy() # These registries contribute the support for TraitsUI UI and editors. # The find_by_name/find_by_id methods in this class also depend on # one of these registries. self._registries.extend(get_default_registries()) self.delay = delay self._auto_process_events = auto_process_events @property def auto_process_events(self): """ Flag to indicate whether to process (cascade) GUI events automatically. This is propagated through to :class:`~traitsui.testing.tester.ui_wrapper.UIWrapper` instances created from this tester. This value can only be set at instantiation. """ # No mutations post-init are allowed because UIWrapper created prior to # the mutation will not respect the new value, and so it would be # confusing if this attribute was allowed to be mutated. return self._auto_process_events @contextlib.contextmanager def create_ui(self, object, ui_kwargs=None): """ Context manager to create a UI and dispose it upon exit. This method does not modify the states of the :class:`UITester` and is not a requirement for using other methods on the tester. Parameters ---------- object : HasTraits An instance of HasTraits for which a GUI will be created. ui_kwargs : dict or None, optional Keyword arguments to be provided to ``HasTraits.edit_traits``. Default is to call ``edit_traits`` with no additional keyword arguments. Yields ------ ui : traitsui.ui.UI """ ui_kwargs = {} if ui_kwargs is None else ui_kwargs ui = object.edit_traits(**ui_kwargs) try: yield ui finally: with reraise_exceptions(): if self._auto_process_events: # At the end of a test, there may be events to be # processed. If dispose happens first, those events will be # processed after various editor states are removed, # causing errors. But if we are asked not to process # events, then don't. process_cascade_events() try: ui.dispose() finally: # dispose is not atomic and may push more events to the # event queue. Flush those too unless we are asked not to. if self._auto_process_events: process_cascade_events() def find_by_name(self, ui, name): """ Find the TraitsUI editor with the given name and return a new ``UIWrapper`` object for further interactions with the editor. ``name`` is typically a value defined on :attr:`traitsui.item.Item.name`. This name is passed onto :func:`traitsui.ui.UI.get_editors`. Parameters ---------- ui : traitsui.ui.UI The UI created, e.g. by ``create_ui``. name : str A single name for retrieving a target on a UI. Returns ------- wrapper : UIWrapper """ return self._get_wrapper(ui).find_by_name(name=name) def find_by_id(self, ui, id): """ Find the TraitsUI editor with the given identifier and return a new ``UIWrapper`` object for further interactions with the editor. ``id`` is typically a value defined on :attr:`traitsui.item.Item.id` or :attr:`traitsui.group.Group.id`. This provides a shortcut to locate a very nested editor in a view. Parameters ---------- ui : traitsui.ui.UI The UI created, e.g. by ``create_ui``. id : str Id for finding an item in the UI. Returns ------- wrapper : UIWrapper """ return self._get_wrapper(ui).find_by_id(id=id) def _get_wrapper(self, ui): """ Return a new UIWrapper wrapping the given traitsui.ui.UI. Parameters ---------- ui : traitsui.ui.UI The UI created, e.g. by ``create_ui``. Returns ------- wrapper : UIWrapper """ return UIWrapper( target=ui, registries=self._registries, delay=self.delay, auto_process_events=self._auto_process_events, ) traitsui-7.2.1/traitsui/testing/README.txt0000644000076500000240000000117114046644454021026 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! """ This package provide functionality to help testing GUI applications built using TraitsUI. The top-level ``api`` module re-exposes the public API for convenience. Private modules in this package serve TraitsUI only. """ traitsui-7.2.1/traitsui/testing/data/0000755000076500000240000000000014046644526020241 5ustar aayresstaff00000000000000traitsui-7.2.1/traitsui/testing/data/test.mp40000644000076500000240000000310514046644454021641 0ustar aayresstaff00000000000000 ftypisomisomiso2avc1mp41freemdat®ÿÿªÜE齿ÙH·–,Ø Ù#îïx264 - core 160 r3011M cde9a93 - H.264/MPEG-4 AVC codec - Copyleft 2003-2020 - http://www.videolan.org/x264.html - options: cabac=1 ref=3 deblock=1:0:0 analyse=0x3:0x113 me=hex subme=7 psy=1 psy_rd=1.00:0.00 mixed_ref=1 me_range=16 chroma_me=1 trellis=1 8x8dct=1 cqm=0 deadzone=21,11 fast_pskip=1 chroma_qp_offset=-2 threads=7 lookahead_threads=1 sliced_threads=0 nr=0 decimate=1 interlaced=0 bluray_compat=0 constrained_intra=0 bframes=3 b_pyramid=2 b_adapt=1 b_bias=0 direct=1 weightb=1 open_gop=0 weightp=2 keyint=250 keyint_min=1 scenecut=40 intra_refresh=0 rc_lookahead=40 rc=crf mbtree=1 crf=25.0 qcomp=0.60 qpmin=0 qpmax=69 qpstep=4 ip_ratio=1.40 aq=1:1.00€=eˆ„ÿþ÷±MÈ —:Šzá±ôQz±Ù dêB›K—¸ì4°‚ƒþ8¶S%›Å„“™ÁAš!càNþA_þµ*€X moovlmvhdèÐ@7trak\tkhdÐ@@ð$edtselstЯmdia mdhd@€UÄ-hdlrvideVideoHandlerZminfvmhd$dinfdref url stblšstsdŠavc1@ðHHÿÿ4avcCd ÿágd ¬ÙAAú ñB™`hëç,‹ýøøstts@stssstscstszóstco0budtaZmeta!hdlrmdirappl-ilst%©toodataLavf58.45.100traitsui-7.2.1/traitsui/testing/_exception_handling.py0000644000076500000240000000455614046644454023715 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! """ Utility functions for handling exceptions from the GUI event loop. In the test context, uncaught exceptions should cause tests to error. """ from contextlib import contextmanager import logging import sys import traceback _TRAITSUI_LOGGER = logging.getLogger("traitsui") def _serialize_exception(exc_type, value, tb): """ Serialize exception and traceback for reporting. This is such that the stack frame is not prevented from being garbage collected. """ return ( str(exc_type), str(value), str("".join(traceback.format_exception(exc_type, value, tb))) ) @contextmanager def reraise_exceptions(logger=_TRAITSUI_LOGGER): """ Context manager to capture all exceptions occurred in the context and then reraise a RuntimeError if there are any exceptions captured. Depending on the GUI toolkit backend, unexpected exceptions occurred in the GUI event loop may (1) cause fatal early exit of the test suite or (2) be printed to the console without causing the test to error. This context manager is intended for testing purpose such that unexpected exceptions will result in a test error. Parameters ---------- logger : logging.Logger Logger to use for logging errors. """ serialized_exceptions = [] def excepthook(type, value, tb): serialized = _serialize_exception(type, value, tb) serialized_exceptions.append(serialized) logger.error( "Unexpected error captured in sys excepthook. \n%s", serialized[-1] ) sys.excepthook = excepthook try: yield finally: sys.excepthook = sys.__excepthook__ if serialized_exceptions: msg = "Uncaught exceptions found.\n" msg += "\n".join( "=== Exception (type: {}, value: {}) ===\n" "{}".format(*record) for record in serialized_exceptions ) raise RuntimeError(msg) traitsui-7.2.1/traitsui/menu.py0000644000076500000240000001624514046644454017201 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! """ Defines the standard menu bar for use with Traits UI windows and panels, and standard actions and buttons. """ from traits.api import Str # Import and rename the needed Pyface elements: from pyface.action.api import ToolBarManager as ToolBar from pyface.action.api import MenuBarManager as MenuBar from pyface.action.api import MenuManager as Menu from pyface.action.api import Group as ActionGroup from pyface.action.api import Action as PyFaceAction # ------------------------------------------------------------------------- # 'Action' class (extends the core pyface Action class): # ------------------------------------------------------------------------- class Action(PyFaceAction): """ An action on a menu bar in a Traits UI window or panel. """ # ------------------------------------------------------------------------- # Trait definitions: # ------------------------------------------------------------------------- #: Pre-condition for showing the action. If the expression evaluates to #: False, the action is not visible (and disappears if it was previously #: visible). If the value evaluates to True, the action becomes visible. #: All **visible_when** conditions are checked each time that any trait #: value on an object in the UI's context is changed. Therefore, you can #: use **visible_when** conditions to hide or show actions in response to #: user input. Be aware that this only applies to traits in the UI's #: context. As a result, changes to nested traits that don't also change a #: trait on some object in the context may not trigger the expression to be #: checked. Additionally, the expression needs to be a valid python #: expression given the context. i.e. #: eval(visible_when, globals=globals(), locals=context) should succeed. visible_when = Str() #: Pre-condition for enabling the action. If the expression evaluates to #: False, the action is disabled, that is, it cannot be selected. All #: **enabled_when** conditions are checked each time that any trait value #: on an object in the UI's context is changed. Therefore, you can use #: **enabled_when** conditions to enable or disable actions in response to #: user input. Be aware that this only applies to traits in the UI's #: context. As a result, changes to nested traits that don't also change a #: trait on some object in the context may not trigger the expression to be #: checked. Additionally, the expression needs to be a valid python #: expression given the context. i.e. #: eval(visible_when, globals=globals(), locals=context) should succeed. enabled_when = Str() #: Boolean expression indicating when the action is displayed with a check #: mark beside it. This attribute applies only to actions that are included #: in menus. checked_when = Str() #: Pre-condition for including the action in the menu bar or toolbar. If #: the expression evaluates to False, the action is not defined in the #: display. Conditions for **defined_when** are evaluated only once, when #: the display is first constructed. defined_when = Str() #: The method to call to perform the action, on the Handler for the window. #: The method must accept a single parameter, which is a UIInfo object. #: Because Actions are associated with Views rather than Handlers, you must #: ensure that the Handler object for a particular window has a method with #: the correct name, for each Action defined on the View for that window. action = Str() # ------------------------------------------------------------------------- # Standard actions and menu bar definitions: # ------------------------------------------------------------------------- #: Menu separator Separator = ActionGroup #: The standard "close window" action CloseAction = Action(name="Close", action="_on_close") #: The standard "undo last change" action UndoAction = Action( name="Undo", action="_on_undo", defined_when="ui.history is not None", enabled_when="ui.history.can_undo", ) #: The standard "redo last undo" action RedoAction = Action( name="Redo", action="_on_redo", defined_when="ui.history is not None", enabled_when="ui.history.can_redo", ) #: The standard "revert all changes" action RevertAction = Action( name="Revert", action="_on_revert", defined_when="ui.history is not None", enabled_when="ui.history.can_undo", ) #: The standard "show help" action HelpAction = Action(name="Help", action="show_help") #: The standard Traits UI menu bar StandardMenuBar = MenuBar( Menu(CloseAction, name="File"), Menu(UndoAction, RedoAction, RevertAction, name="Edit"), Menu(HelpAction, name="Help"), ) # ------------------------------------------------------------------------- # Standard buttons (i.e. actions): # ------------------------------------------------------------------------- NoButton = Action(name="") #: Appears as two buttons: **Undo** and **Redo**. When **Undo** is clicked, the #: most recent change to the data is cancelled, restoring the previous value. #: **Redo** cancels the most recent "undo" operation. UndoButton = Action(name="Undo") #: When the user clicks the **Revert** button, all changes made in the window #: are cancelled and the original values are restored. If the changes have been #: applied to the model (because the user clicked **Apply** or because the #: window is live), the model data is restored as well. The window remains #: open. RevertButton = Action(name="Revert") #: When the user clicks the **Apply** button, all changes made in the window are #: applied to the model. This option is meaningful only for modal windows. ApplyButton = Action(name="Apply") #: When the user clicks the **OK** button, all changes made in the window are #: applied to the model, and the window is closed. OKButton = Action(name="OK") #: When the user clicks the **Cancel** button, all changes made in the window #: are discarded; if the window is live, the model is restored to the values it #: held before the window was opened. The window is then closed. CancelButton = Action(name="Cancel") #: When the user clicks the **Help** button, the current help handler is #: invoked. If the default help handler is used, a pop-up window is displayed, #: which contains the **help** text for the top-level Group (if any), and for #: the items in the view. If the default help handler has been overridden, #: the action is determined by the custom help handler. See #: **traitsui.help**. HelpButton = Action(name="Help") OKCancelButtons = [OKButton, CancelButton] ModalButtons = [ApplyButton, RevertButton, OKButton, CancelButton, HelpButton] LiveButtons = [UndoButton, RevertButton, OKButton, CancelButton, HelpButton] #: The window has no command buttons NoButtons = [NoButton] traitsui-7.2.1/traitsui/table_column.py0000644000076500000240000004762714046644454020711 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! """ Defines the table column descriptor used by the editor and editor factory classes for numeric and table editors. """ import os from traits.api import ( Any, Bool, Callable, Constant, Enum, Expression, Float, HasPrivateTraits, Instance, Int, Property, Str, Either, ) from traits.trait_base import user_name_for, xgetattr from .editor_factory import EditorFactory from .menu import Menu from .ui_traits import Image, AView, EditorStyle from .toolkit_traits import Color, Font from .view import View # Set up a logger: import logging logger = logging.getLogger(__name__) # Flag used to indicate user has not specified a column label UndefinedLabel = "???" class TableColumn(HasPrivateTraits): """ Represents a column in a table editor. """ # ------------------------------------------------------------------------- # Trait definitions: # ------------------------------------------------------------------------- #: Column label to use for this column: label = Str(UndefinedLabel) #: Type of data contained by the column: # XXX currently no other types supported, but potentially there could be... type = Enum("text", "bool") #: Text color for this column: text_color = Color("black") #: Text font for this column: text_font = Either(None, Font) #: Cell background color for this column: cell_color = Color("white", allow_none=True) #: Cell background color for non-editable columns: read_only_cell_color = Color(0xF4F3EE, allow_none=True) #: Cell graph color: graph_color = Color(0xDDD9CC) #: Horizontal alignment of text in the column: horizontal_alignment = Enum("left", ["left", "center", "right"]) #: Vertical alignment of text in the column: vertical_alignment = Enum("center", ["top", "center", "bottom"]) #: Horizontal cell margin horizontal_margin = Int(4) #: Vertical cell margin vertical_margin = Int(3) #: The image to display in the cell: image = Image #: Renderer used to render the contents of this column: renderer = Any # A toolkit specific renderer #: Is the table column visible (i.e., viewable)? visible = Bool(True) #: Is this column editable? editable = Bool(True) #: Is the column automatically edited/viewed (i.e. should the column editor #: or popup be activated automatically on mouse over)? auto_editable = Bool(False) #: Should a checkbox be displayed instead of True/False? show_checkbox = Bool(True) #: Can external objects be dropped on the column? droppable = Bool(False) #: Context menu to display when this column is right-clicked: menu = Instance(Menu) #: The tooltip to display when the mouse is over the column: tooltip = Str() #: The width of the column (< 0.0: Default, 0.0..1.0: fraction of total #: table width, > 1.0: absolute width in pixels): width = Float(-1.0) #: The width of the column while it is being edited (< 0.0: Default, #: 0.0..1.0: fraction of total table width, > 1.0: absolute width in #: pixels): edit_width = Float(-1.0) #: The height of the column cell's row while it is being edited #: (< 0.0: Default, 0.0..1.0: fraction of total table height, #: > 1.0: absolute height in pixels): edit_height = Float(-1.0) #: The resize mode for this column. This takes precedence over other #: settings (like **width**, above). #: - "interactive": column can be resized by users or programmatically #: - "fixed": users cannot resize the column, but it can be set programmatically #: - "stretch": the column will be resized to fill the available space #: - "resize_to_contents": column will be sized to fit the contents, but then cannot be resized resize_mode = Enum("interactive", "fixed", "stretch", "resize_to_contents") #: The view (if any) to display when clicking a non-editable cell: view = AView #: Optional maximum value a numeric cell value can have: maximum = Float(trait_value=True) # ------------------------------------------------------------------------- #: Returns the actual object being edited: # ------------------------------------------------------------------------- def get_object(self, object): """ Returns the actual object being edited. """ return object def get_label(self): """ Gets the label of the column. """ return self.label def get_width(self): """ Returns the width of the column. """ return self.width def get_edit_width(self, object): """ Returns the edit width of the column. """ return self.edit_width def get_edit_height(self, object): """ Returns the height of the column cell's row while it is being edited. """ return self.edit_height def get_type(self, object): """ Gets the type of data for the column for a specified object. """ return self.type def get_text_color(self, object): """ Returns the text color for the column for a specified object. """ return self.text_color_ def get_text_font(self, object): """ Returns the text font for the column for a specified object. """ return self.text_font def get_cell_color(self, object): """ Returns the cell background color for the column for a specified object. """ if self.is_editable(object): return self.cell_color_ return self.read_only_cell_color_ def get_graph_color(self, object): """ Returns the cell background graph color for the column for a specified object. """ return self.graph_color_ def get_horizontal_alignment(self, object): """ Returns the horizontal alignment for the column for a specified object. """ return self.horizontal_alignment def get_vertical_alignment(self, object): """ Returns the vertical alignment for the column for a specified object. """ return self.vertical_alignment def get_image(self, object): """ Returns the image to display for the column for a specified object. """ return self.image def get_renderer(self, object): """ Returns the renderer for the column of a specified object. """ return self.renderer def is_editable(self, object): """ Returns whether the column is editable for a specified object. """ return self.editable def is_auto_editable(self, object): """ Returns whether the column is automatically edited/viewed for a specified object. """ return self.auto_editable def is_droppable(self, object, value): """ Returns whether a specified value is valid for dropping on the column for a specified object. """ return self.droppable def get_menu(self, object): """ Returns the context menu to display when the user right-clicks on the column for a specified object. """ return self.menu def get_tooltip(self, object): """ Returns the tooltip to display when the user mouses over the column for a specified object. """ return self.tooltip def get_view(self, object): """ Returns the view to display when clicking a non-editable cell. """ return self.view def get_maximum(self, object): """ Returns the maximum value a numeric column can have. """ return self.maximum def on_click(self, object): """ Called when the user clicks on the column. """ pass def on_dclick(self, object): """ Called when the user clicks on the column. """ pass def cmp(self, object1, object2): """ Returns the result of comparing the column of two different objects. This is deprecated. """ return (self.key(object1) > self.key(object2)) - ( self.key(object1) < self.key(object2) ) def __str__(self): """ Returns the string representation of the table column. """ return self.get_label() class ObjectColumn(TableColumn): """ A column for editing objects. """ # ------------------------------------------------------------------------- # Trait definitions: # ------------------------------------------------------------------------- #: Name of the object trait associated with this column: name = Str() #: Column label to use for this column: label = Property() #: Trait editor used to edit the contents of this column: editor = Instance(EditorFactory) #: The editor style to use to edit the contents of this column: style = EditorStyle #: Format string to apply to column values: format = Str("%s") #: Format function to apply to column values: format_func = Callable() # ------------------------------------------------------------------------- # Trait view definitions: # ------------------------------------------------------------------------- traits_view = View( [ ["name", "label", "type", "|[Column Information]"], [ "horizontal_alignment{Horizontal}@", "vertical_alignment{Vertical}@", "|[Alignment]", ], ["editable", "9", "droppable", "9", "visible", "-[Options]>"], "|{Column}", ], [ [ "text_color@", "cell_color@", "read_only_cell_color@", "|[UI Colors]", ], "|{Colors}", ], [["text_font@", "|[Font]<>"], "|{Font}"], ["menu@", "|{Menu}"], ["editor@", "|{Editor}"], ) def _get_label(self): """ Gets the label of the column. """ if self._label is not None: return self._label return user_name_for(self.name) def _set_label(self, label): old, self._label = self._label, label if old != label: self.trait_property_changed("label", old, label) def get_raw_value(self, object): """ Gets the unformatted value of the column for a specified object. """ try: return xgetattr(self.get_object(object), self.name) except Exception as e: from traitsui.api import raise_to_debug raise_to_debug() return None def get_value(self, object): """ Gets the formatted value of the column for a specified object. """ try: if self.format_func is not None: return self.format_func(self.get_raw_value(object)) return self.format % (self.get_raw_value(object),) except: logger.exception( "Error occurred trying to format a %s value" % self.__class__.__name__ ) return "Format!" def get_drag_value(self, object): """Returns the drag value for the column. """ return self.get_raw_value(object) def set_value(self, object, value): """ Sets the value of the column for a specified object. """ target, name = self.target_name(object) setattr(target, name, value) def get_editor(self, object): """ Gets the editor for the column of a specified object. """ if self.editor is not None: return self.editor target, name = self.target_name(object) return target.base_trait(name).get_editor() def get_style(self, object): """ Gets the editor style for the column of a specified object. """ return self.style def key(self, object): """ Returns the value to use for sorting. """ return self.get_raw_value(object) def is_droppable(self, object, value): """ Returns whether a specified value is valid for dropping on the column for a specified object. """ if self.droppable: try: target, name = self.target_name(object) target.base_trait(name).validate(target, name, value) return True except: pass return False def target_name(self, object): """ Returns the target object and name for the column. """ object = self.get_object(object) name = self.name col = name.rfind(".") if col < 0: return (object, name) return (xgetattr(object, name[:col]), name[col + 1 :]) class ExpressionColumn(ObjectColumn): """ A column for displaying computed values. """ # ------------------------------------------------------------------------- # Trait definitions: # ------------------------------------------------------------------------- #: The Python expression used to return the value of the column: expression = Expression #: Is this column editable? editable = Constant(False) #: The globals dictionary that should be passed to the expression #: evaluation: globals = Any({}) def get_raw_value(self, object): """ Gets the unformatted value of the column for a specified object. """ try: return eval(self.expression_, self.globals, {"object": object}) except Exception: logger.exception( "Error evaluating table column expression: %s" % self.expression ) return None class NumericColumn(ObjectColumn): """ A column for editing Numeric arrays. """ # ------------------------------------------------------------------------- # Trait definitions: # ------------------------------------------------------------------------- #: Column label to use for this column label = Property() #: Text color this column when selected selected_text_color = Color("black") #: Text font for this column when selected selected_text_font = Font #: Cell background color for this column when selected selected_cell_color = Color(0xD8FFD8) #: Formatting string for the cell value format = Str("%s") #: Horizontal alignment of text in the column; this value overrides the #: default. horizontal_alignment = "center" def _get_label(self): """ Gets the label of the column. """ if self._label is not None: return self._label return self.name def _set_label(self, label): old, self._label = self._label, label if old != label: self.trait_property_changed("label", old, label) def get_type(self, object): """ Gets the type of data for the column for a specified object row. """ return self.type def get_text_color(self, object): """ Returns the text color for the column for a specified object row. """ if self._is_selected(object): return self.selected_text_color_ return self.text_color_ def get_text_font(self, object): """ Returns the text font for the column for a specified object row. """ if self._is_selected(object): return self.selected_text_font return self.text_font def get_cell_color(self, object): """ Returns the cell background color for the column for a specified object row. """ if self.is_editable(object): if self._is_selected(object): return self.selected_cell_color_ return self.cell_color_ return self.read_only_cell_color_ def get_horizontal_alignment(self, object): """ Returns the horizontal alignment for the column for a specified object row. """ return self.horizontal_alignment def get_vertical_alignment(self, object): """ Returns the vertical alignment for the column for a specified object row. """ return self.vertical_alignment def is_editable(self, object): """ Returns whether the column is editable for a specified object row. """ return self.editable def is_droppable(self, object, row, value): """ Returns whether a specified value is valid for dropping on the column for a specified object row. """ return self.droppable def get_menu(self, object, row): """ Returns the context menu to display when the user right-clicks on the column for a specified object row. """ return self.menu def get_value(self, object): """ Gets the value of the column for a specified object row. """ try: value = getattr(object, self.name) try: return self.format % (value,) except: return "Format!" except: return "Undefined!" def set_value(self, object, row, value): """ Sets the value of the column for a specified object row. """ column = self.get_data_column(object) column[row] = type(column[row])(value) def get_editor(self, object): """ Gets the editor for the column of a specified object row. """ return super().get_editor(object) def get_data_column(self, object): """ Gets the entire contents of the specified object column. """ return getattr(object, self.name) def _is_selected(self, object): """ Returns whether a specified object row is selected. """ if ( hasattr(object, "model_selection") and object.model_selection is not None ): return True return False class ListColumn(TableColumn): """ A column for editing lists. """ # ------------------------------------------------------------------------- # Trait definitions: # ------------------------------------------------------------------------- # Label to use for this column label = Property() #: Index of the list element associated with this column index = Int() # Is this column editable? This value overrides the base class default. editable = False # ------------------------------------------------------------------------- # Trait view definitions: # ------------------------------------------------------------------------- traits_view = View( [ ["index", "label", "type", "|[Column Information]"], ["text_color@", "cell_color@", "|[UI Colors]"], ] ) def _get_label(self): """ Gets the label of the column. """ if self._label is not None: return self._label return "Column %d" % (self.index + 1) def _set_label(self, label): old, self._label = self._label, label if old != label: self.trait_property_changed("label", old, label) def get_value(self, object): """ Gets the value of the column for a specified object. """ return str(object[self.index]) def set_value(self, object, value): """ Sets the value of the column for a specified object. """ object[self.index] = value def get_editor(self, object): """ Gets the editor for the column of a specified object. """ return None def key(self, object): """ Returns the value to use for sorting. """ return object[self.index] traitsui-7.2.1/traitsui/view.py0000644000076500000240000004065214046644454017206 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! """ Defines the View class used to represent the structural content of a Traits-based user interface. """ from pyface.ui_traits import Image from traits.api import ( Any, Bool, Callable, Enum, Event, Float, Instance, List, PrefixList, Str, Trait, ) from .view_element import ViewElement, ViewSubElement from .ui import UI from .ui_traits import ( AButton, AnObject, Buttons, DockStyle, EditorStyle, ExportType, HelpId, Image, SequenceTypes, ViewStatus, ) from .handler import Handler, default_handler from .group import Group from .item import Item from .include import Include # ------------------------------------------------------------------------- # Trait definitions: # ------------------------------------------------------------------------- # Name of the view trait: AnId = Str(desc="the name of the view") # Contents of the view trait (i.e., a single Group object): Content = Instance(Group, desc="the content of the view") # An optional model/view factory for converting the model into a viewable # 'model_view' object AModelView = Callable( desc="the factory function for converting a model " "into a model/view object" ) # Reference to a Handler object trait: AHandler = Any(desc="the handler for the view") # Dialog window title trait: ATitle = Str(desc="the window title for the view") # User interface 'kind' trait. The values have the following meanings: # # * 'panel': An embeddable panel. This type of window is intended to be used as # part of a larger interface. # * 'subpanel': An embeddable panel that does not display command buttons, # even if the View specifies them. # * 'modal': A modal dialog box that operates on a clone of the object until # the user commits the change. # * 'nonmodal': A nonmodal dialog box that operates on a clone of the object # until the user commits the change # * 'live': A nonmodal dialog box that immediately updates the object. # * 'livemodal': A modal dialog box that immediately updates the object. # * 'popup': A temporary, frameless popup dialog that immediately updates the # object and is active only while the mouse pointer is in the dialog. # * 'info': A temporary, frameless popup dialog that immediately updates the # object and is active only while the dialog is still over the invoking # control. # * 'wizard': A wizard modal dialog box. A wizard contains a sequence of # pages, which can be accessed by clicking **Next** and **Back** buttons. # Changes to attribute values are applied only when the user clicks the # **Finish** button on the last page. AKind = PrefixList( ( "panel", "subpanel", "modal", "nonmodal", "livemodal", "live", "popup", "popover", "info", "wizard", ), default_value='live', desc="the kind of view window to create", cols=4, ) # Apply changes handler: OnApply = Callable( desc="the routine to call when modal changes are applied " "or reverted" ) # Is the dialog window resizable? IsResizable = Bool(False, desc="whether dialog can be resized or not") # Is the view scrollable? IsScrollable = Bool(False, desc="whether view should be scrollable or not") # The valid categories of imported elements that can be dragged into the view: ImportTypes = List( Str, desc="the categories of elements that can be " "dragged into the view" ) # The view position and size traits: Width = Float(-1e6, desc="the width of the view window") Height = Float(-1e6, desc="the height of the view window") XCoordinate = Float(-1e6, desc="the x coordinate of the view window") YCoordinate = Float(-1e6, desc="the y coordinate of the view window") # The result that should be returned if the user clicks the window or dialog # close button or icon CloseResult = Enum( None, True, False, desc="the result to return when the user clicks the " "window or dialog close button or icon", ) # The KeyBindings trait: AKeyBindings = Instance( "traitsui.key_bindings.KeyBindings", desc="the global key bindings for the view", ) class View(ViewElement): """ A Traits-based user interface for one or more objects. The attributes of the View object determine the contents and layout of an attribute-editing window. A View object contains a set of Group, Item, and Include objects. A View object can be an attribute of an object derived from HasTraits, or it can be a standalone object. """ # ------------------------------------------------------------------------- # Trait definitions: # ------------------------------------------------------------------------- #: A unique identifier for the view: id = AnId #: The top-level Group object for the view: content = Content #: The menu bar for the view. Usually requires a custom **handler**: menubar = Any # Instance( pyface.action.MenuBarManager ) #: The toolbar for the view. Usually requires a custom **handler**: toolbar = Any # Instance( pyface.action.ToolBarManager ) #: Status bar items to add to the view's status bar. The value can be: #: #: - **None**: No status bar for the view (the default). #: - string: Same as [ StatusItem( name = string ) ]. #: - StatusItem: Same as [ StatusItem ]. #: - [ [StatusItem|string], ... ]: Create a status bar with one field for #: each StatusItem in the list (or tuple). The status bar fields are #: defined from left to right in the order specified. A string value is #: converted to: StatusItem( name = string ): statusbar = ViewStatus #: List of button actions to add to the view. The **traitsui.menu** #: module defines standard buttons, such as **OKButton**, and standard sets #: of buttons, such as **ModalButtons**, which can be used to define a value #: for this attribute. This value can also be a list of button name strings, #: such as ``['OK', 'Cancel', 'Help']``. If set to the empty list, the #: view contains a default set of buttons (equivalent to **LiveButtons**: #: Undo/Redo, Revert, OK, Cancel, Help). To suppress buttons in the view, #: use the **NoButtons** variable, defined in **traitsui.menu**. buttons = Buttons #: The default button to activate when Enter is pressed. If not specified, #: pressing Enter will not activate any button. default_button = AButton #: The set of global key bindings for the view. Each time a key is pressed #: while the view has keyboard focus, the key is checked to see if it is one #: of the keys recognized by the KeyBindings object. If it is, the matching #: KeyBinding's method name is checked to see if it is defined on any of the #: object's in the view's context. If it is, the method is invoked. If the #: result of the method is **False**, then the search continues with the #: next object in the context. If any invoked method returns a non-False #: value, processing stops and the key is marked as having been handled. If #: all invoked methods return **False**, or no matching KeyBinding object is #: found, the key is processed normally. If the view has a non-empty *id* #: trait, the contents of the **KeyBindings** object will be saved as part #: of the view's persistent data: key_bindings = AKeyBindings #: The Handler object that provides GUI logic for handling events in the #: window. Set this attribute only if you are using a custom Handler. If #: not set, the default Traits UI Handler is used. handler = AHandler #: The factory function for converting a model into a model/view object: model_view = AModelView #: Title for the view, displayed in the title bar when the view appears as a #: secondary window (i.e., dialog or wizard). If not specified, "Edit #: properties" is used as the title. title = ATitle #: The name of the icon to display in the dialog window title bar: icon = Image #: The kind of user interface to create: kind = AKind #: The default object being edited: object = AnObject #: The default editor style of elements in the view: style = EditorStyle #: The default docking style to use for sub-groups of the view. The following #: values are possible: #: #: * 'fixed': No rearrangement of sub-groups is allowed. #: * 'horizontal': Moveable elements have a visual "handle" to the left by #: which the element can be dragged. #: * 'vertical': Moveable elements have a visual "handle" above them by #: which the element can be dragged. #: * 'tabbed': Moveable elements appear as tabbed pages, which can be #: arranged within the window or "stacked" so that only one appears at #: at a time. dock = DockStyle #: The image to display on notebook tabs: image = Image #: Called when modal changes are applied or reverted: on_apply = OnApply #: Can the user resize the window? resizable = IsResizable #: Can the user scroll the view? If set to True, window-level scroll bars #: appear whenever the window is too small to show all of its contents at #: one time. If set to False, the window does not scroll, but individual #: widgets might still contain scroll bars. scrollable = IsScrollable #: The category of exported elements: export = ExportType #: The valid categories of imported elements: imports = ImportTypes #: External help context identifier, which can be used by a custom help #: handler. This attribute is ignored by the default help handler. help_id = HelpId #: Requested x-coordinate (horizontal position) for the view window. This #: attribute can be specified in the following ways: #: #: * A positive integer: indicates the number of pixels from the left edge #: of the screen to the left edge of the window. #: * A negative integer: indicates the number of pixels from the right edge #: of the screen to the right edge of the window. #: * A floating point value between 0 and 1: indicates the fraction of the #: total screen width between the left edge of the screen and the left edge #: of the window. #: * A floating point value between -1 and 0: indicates the fraction of the #: total screen width between the right edge of the screen and the right #: edge of the window. x = XCoordinate #: Requested y-coordinate (vertical position) for the view window. This #: attribute behaves exactly like the **x** attribute, except that its value #: indicates the position of the top or bottom of the view window relative #: to the top or bottom of the screen. y = YCoordinate #: Requested width for the view window, as an (integer) number of pixels, or #: as a (floating point) fraction of the screen width. width = Width #: Requested height for the view window, as an (integer) number of pixels, or #: as a (floating point) fraction of the screen height. height = Height #: Class of dropped objects that can be added: drop_class = Any() #: Event when the view has been updated: updated = Event() #: What result should be returned if the user clicks the window or dialog #: close button or icon? close_result = CloseResult #: Note: Group objects delegate their 'object' and 'style' traits to the #: View # -- Deprecated Traits (DO NOT USE) --------------------------------------- ok = Bool(False) cancel = Bool(False) undo = Bool(False) redo = Bool(False) apply = Bool(False) revert = Bool(False) help = Bool(False) def __init__(self, *values, **traits): """ Initializes the object. """ ViewElement.__init__(self, **traits) self.set_content(*values) def set_content(self, *values): """ Sets the content of a view. """ content = [] accum = [] for value in values: if isinstance(value, ViewSubElement): content.append(value) elif type(value) in SequenceTypes: content.append(Group(*value)) elif ( isinstance(value, str) and (value[:1] == "<") and (value[-1:] == ">") ): # Convert string to an Include value: content.append(Include(value[1:-1].strip())) else: content.append(Item(value)) # If there are any 'Item' objects in the content, wrap the content in a # Group: for item in content: if isinstance(item, Item): content = [Group(*content)] break # Wrap all of the content up into a Group and save it as our content: self.content = Group(container=self, *content) def ui( self, context, parent=None, kind=None, view_elements=None, handler=None, id="", scrollable=None, args=None, ): """ Creates a **UI** object, which generates the actual GUI window or panel from a set of view elements. Parameters ---------- context : object or dictionary A single object or a dictionary of string/object pairs, whose trait attributes are to be edited. If not specified, the current object is used. parent : window component The window parent of the View object's window kind : string The kind of window to create. See the **AKind** trait for details. If *kind* is unspecified or None, the **kind** attribute of the View object is used. view_elements : ViewElements object The set of Group, Item, and Include objects contained in the view. Do not use this parameter when calling this method directly. handler : Handler object A handler object used for event handling in the dialog box. If None, the default handler for Traits UI is used. id : string A unique ID for persisting preferences about this user interface, such as size and position. If not specified, no user preferences are saved. scrollable : Boolean Indicates whether the dialog box should be scrollable. When set to True, scroll bars appear on the dialog box if it is not large enough to display all of the items in the view at one time. """ handler = handler or self.handler or default_handler() if not isinstance(handler, Handler): handler = handler() if args is not None: handler.trait_set(**args) if not isinstance(context, dict): context = context.trait_context() context.setdefault("handler", handler) handler = context["handler"] if self.model_view is not None: context["object"] = self.model_view(context["object"]) self_id = self.id if self_id != "": if id != "": id = "%s:%s" % (self_id, id) else: id = self_id if scrollable is None: scrollable = self.scrollable ui = UI( view=self, context=context, handler=handler, view_elements=view_elements, title=self.title, id=id, scrollable=scrollable, ) if kind is None: kind = self.kind ui.ui(parent, kind) return ui def replace_include(self, view_elements): """ Replaces any items that have an ID with an Include object with the same ID, and puts the object with the ID into the specified ViewElements object. """ if self.content is not None: self.content.replace_include(view_elements) def __repr__(self): """ Returns a "pretty print" version of the View. """ if self.content is None: return "()" return "( %s )" % ", ".join( [item.__repr__() for item in self.content.content] ) traitsui-7.2.1/traitsui/null/0000755000076500000240000000000014046644526016625 5ustar aayresstaff00000000000000traitsui-7.2.1/traitsui/null/rgb_color_trait.py0000644000076500000240000001426314046644454022360 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! """ Trait definitions for an RGB-based color, which is a tuple of the form (*red*, *green*, *blue*), where *red*, *green* and *blue* are floats in the range from 0.0 to 1.0. """ from traits.api import Trait, TraitError from traits.trait_base import SequenceTypes # ------------------------------------------------------------------------- # Convert a number into an RGB tuple: # ------------------------------------------------------------------------- def range_check(value): """ Checks that *value* can be converted to a value in the range 0.0 to 1.0. If so, it returns the floating point value; otherwise, it raises a TraitError. """ value = float(value) if 0.0 <= value <= 1.0: return value raise TraitError def convert_to_color(object, name, value): """ Converts a tuple or an integer to an RGB color value, or raises a TraitError if that is not possible. """ if (type(value) in SequenceTypes) and (len(value) == 3): return ( range_check(value[0]), range_check(value[1]), range_check(value[2]), ) if isinstance(value, int): num = int(value) return ( (num / 0x10000) / 255.0, ((num // 0x100) & 0xFF) / 255.0, (num & 0xFF) / 255.0, ) raise TraitError convert_to_color.info = ( "a tuple of the form (r,g,b), where r, g, and b " "are floats in the range from 0.0 to 1.0, or an integer which in hex is of " "the form 0xRRGGBB, where RR is red, GG is green, and BB is blue" ) # ------------------------------------------------------------------------- # Standard colors: # ------------------------------------------------------------------------- # RGB versions of standard colors rgb_standard_colors = { "aquamarine": (0.439216, 0.858824, 0.576471), "black": (0.0, 0.0, 0.0), "blue": (0.0, 0.0, 1.0), "blue violet": (0.623529, 0.372549, 0.623529), "brown": (0.647059, 0.164706, 0.164706), "cadet blue": (0.372549, 0.623529, 0.623529), "coral": (1.0, 0.498039, 0.0), "cornflower blue": (0.258824, 0.258824, 0.435294), "cyan": (0.0, 1.0, 1.0), "dark grey": (0.184314, 0.184314, 0.184314), "dark green": (0.184314, 0.309804, 0.184314), "dark olive green": (0.309804, 0.309804, 0.184314), "dark orchid": (0.6, 0.196078, 0.8), "dark slate blue": (0.419608, 0.137255, 0.556863), "dark slate grey": (0.184314, 0.309804, 0.309804), "dark turquoise": (0.439216, 0.576471, 0.858824), "dim grey": (0.329412, 0.329412, 0.329412), "firebrick": (0.556863, 0.137255, 0.137255), "forest green": (0.137255, 0.556863, 0.137255), "gold": (0.8, 0.498039, 0.196078), "goldenrod": (0.858824, 0.858824, 0.439216), "grey": (0.501961, 0.501961, 0.501961), "green": (0.0, 1.0, 0.0), "green yellow": (0.576471, 0.858824, 0.439216), "indian red": (0.309804, 0.184314, 0.184314), "khaki": (0.623529, 0.623529, 0.372549), "light blue": (0.74902, 0.847059, 0.847059), "light grey": (0.752941, 0.752941, 0.752941), "light steel": (0.0, 0.0, 0.0), "blue": (0.0, 0.0, 1.0), "lime green": (0.196078, 0.8, 0.196078), "magenta": (1.0, 0.0, 1.0), "maroon": (0.556863, 0.137255, 0.419608), "medium aquamarine": (0.196078, 0.8, 0.6), "medium blue": (0.196078, 0.196078, 0.8), "medium forest green": (0.419608, 0.556863, 0.137255), "medium goldenrod": (0.917647, 0.917647, 0.678431), "medium orchid": (0.576471, 0.439216, 0.858824), "medium sea green": (0.258824, 0.435294, 0.258824), "medium slate blue": (0.498039, 0.0, 1.0), "medium spring green": (0.498039, 1.0, 0.0), "medium turquoise": (0.439216, 0.858824, 0.858824), "medium violet red": (0.858824, 0.439216, 0.576471), "midnight blue": (0.184314, 0.184314, 0.309804), "navy": (0.137255, 0.137255, 0.556863), "orange": (0.8, 0.196078, 0.196078), "orange red": (1.0, 0.0, 0.498039), "orchid": (0.858824, 0.439216, 0.858824), "pale green": (0.560784, 0.737255, 0.560784), "pink": (0.737255, 0.560784, 0.917647), "plum": (0.917647, 0.678431, 0.917647), "purple": (0.690196, 0.0, 1.0), "red": (1.0, 0.0, 0.0), "salmon": (0.435294, 0.258824, 0.258824), "sea green": (0.137255, 0.556863, 0.419608), "sienna": (0.556863, 0.419608, 0.137255), "sky blue": (0.196078, 0.6, 0.8), "slate blue": (0.0, 0.498039, 1.0), "spring green": (0.0, 1.0, 0.498039), "steel blue": (0.137255, 0.419608, 0.556863), "tan": (0.858824, 0.576471, 0.439216), "thistle": (0.847059, 0.74902, 0.847059), "turquoise": (0.678431, 0.917647, 0.917647), "violet": (0.309804, 0.184314, 0.309804), "violet red": (0.8, 0.196078, 0.6), "wheat": (0.847059, 0.847059, 0.74902), "white": (1.0, 1.0, 1.0), "yellow": (1.0, 1.0, 0.0), "yellow green": (0.6, 0.8, 0.196078), } # ------------------------------------------------------------------------- # Define 'null' specific color trait: # ------------------------------------------------------------------------- ### Note: Declare the editor to be a function which returns the RGBColorEditor # class from traits ui to avoid circular import issues. For backwards # compatibility with previous Traits versions, the 'editors' folder in Traits # project declares 'from api import *' in its __init__.py. The 'api' in turn # can contain classes that have a RGBColor trait which lead to this file getting # imported. This will lead to a circular import when declaring a RGBColor # trait. def get_rgb_color_editor(*args, **traits): from ..editors.rgb_color_editor import ( ToolkitEditorFactory as RGBColorEditor, ) return RGBColorEditor(*args, **traits) # Trait whose value must be an RGB color RGBColor = Trait( "white", convert_to_color, rgb_standard_colors, editor=get_rgb_color_editor ) traitsui-7.2.1/traitsui/null/color_trait.py0000644000076500000240000001000414046644454021513 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! """ Trait definition for a null-based (i.e., no UI) color. """ from traits.api import Trait, TraitError # ------------------------------------------------------------------------- # Convert a number into a wxColour object: # ------------------------------------------------------------------------- def convert_to_color(object, name, value): """ Converts a number into a wxColour object. """ if isinstance(value, int): return value & 0xFFFFFF elif isinstance(value, tuple): return (value[0] / 255.0, value[1] / 255.0, value[2] / 255.0) raise TraitError convert_to_color.info = ( "an integer which in hex is of the form 0xRRGGBB, " "where RR is red, GG is green, and BB is blue" ) # ------------------------------------------------------------------------- # Standard colors: # ------------------------------------------------------------------------- standard_colors = { "aquamarine": 0x70DB93, "black": 0x000000, "blue": 0x0000FF, "blue violet": 0x9F5F9F, "brown": 0xA52A2A, "cadet blue": 0x5F9F9F, "coral": 0xFF7F00, "cornflower blue": 0x42426F, "cyan": 0x00FFFF, "dark grey": 0x2F2F2F, "dark green": 0x2F4F2F, "dark olive green": 0x4F4F2F, "dark orchid": 0x9932CC, "dark slate blue": 0x6B238E, "dark slate grey": 0x2F4F4F, "dark turquoise": 0x7093DB, "dim grey": 0x545454, "firebrick": 0x8E2323, "forest green": 0x238E23, "gold": 0xCC7F32, "goldenrod": 0xDBDB70, "grey": 0x808080, "green": 0x00FF00, "green yellow": 0x93DB70, "indian red": 0x4F2F2F, "khaki": 0x9F9F5F, "light blue": 0xBFD8D8, "light grey": 0xC0C0C0, "light steel": 0x000000, "blue": 0x0000FF, "lime green": 0x32CC32, "magenta": 0xFF00FF, "maroon": 0x8E236B, "medium aquamarine": 0x32CC99, "medium blue": 0x3232CC, "medium forest green": 0x6B8E23, "medium goldenrod": 0xEAEAAD, "medium orchid": 0x9370DB, "medium sea green": 0x426F42, "medium slate blue": 0x7F00FF, "medium spring green": 0x7FFF00, "medium turquoise": 0x70DBDB, "medium violet red": 0xDB7093, "midnight blue": 0x2F2F4F, "navy": 0x23238E, "orange": 0xCC3232, "orange red": 0xFF007F, "orchid": 0xDB70DB, "pale green": 0x8FBC8F, "pink": 0xBC8FEA, "plum": 0xEAADEA, "purple": 0xB000FF, "red": 0xFF0000, "salmon": 0x6F4242, "sea green": 0x238E6B, "sienna": 0x8E6B23, "sky blue": 0x3299CC, "slate blue": 0x007FFF, "spring green": 0x00FF7F, "steel blue": 0x236B8E, "tan": 0xDB9370, "thistle": 0xD8BFD8, "turquoise": 0xADEAEA, "violet": 0x4F2F4F, "violet red": 0xCC3299, "wheat": 0xD8D8BF, "white": 0xFFFFFF, "yellow": 0xFFFF00, "yellow green": 0x99CC32, } # ------------------------------------------------------------------------- # Define 'null' specific color traits: # ------------------------------------------------------------------------- ### Note: Declare the editor to be a function which returns the ColorEditor # class from traits ui to avoid circular import issues. For backwards # compatibility with previous Traits versions, the 'editors' folder in Traits # project declares 'from api import *' in its __init__.py. The 'api' in turn # can contain classes that have a Color trait which lead to this file getting # imported. This leads to a circular import when declaring a Color trait. def get_color_editor(*args, **traits): from ..api import ColorEditor return ColorEditor(*args, **traits) # Color traits NullColor = Trait( "white", convert_to_color, standard_colors, editor=get_color_editor ) traitsui-7.2.1/traitsui/null/toolkit.py0000644000076500000240000000276014046644454020671 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! """ Defines the concrete implementations of the traits Toolkit interface for the 'null' (do nothing) user interface toolkit. """ from ..toolkit import Toolkit class GUIToolkit(Toolkit): # ------------------------------------------------------------------------- # GUI toolkit dependent trait definitions: # ------------------------------------------------------------------------- def color_trait(self, *args, **traits): from . import color_trait as ct return ct.NullColor(*args, **traits) def rgb_color_trait(self, *args, **traits): from . import rgb_color_trait as rgbct return rgbct.RGBColor(*args, **traits) def font_trait(self, *args, **traits): from . import font_trait as ft return ft.NullFont(*args, **traits) def kiva_font_trait(self, *args, **traits): from . import font_trait as ft return ft.NullFont(*args, **traits) def constants(self, *args, **traits): constants = { "WindowColor": (236 / 255.0, 233 / 255.0, 216 / 255.0, 1.0) } return constants traitsui-7.2.1/traitsui/null/__init__.py0000644000076500000240000000177514046644454020750 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! """ Define the concrete implementations of the traits Toolkit interface for the 'null' (do nothing) user interface toolkit. This toolkit is provided to handle situations where no recognized traits-compatible UI toolkit is installed, but users still want to use traits for non-UI related tasks. """ # ------------------------------------------------------------------------- # Define the reference to the exported GUIToolkit object: # ------------------------------------------------------------------------- from . import toolkit toolkit = toolkit.GUIToolkit("traitsui", "null", "traitsui.null") traitsui-7.2.1/traitsui/null/font_trait.py0000644000076500000240000000747614046644454021366 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! """ Trait definition for a null-based (i.e., no UI) font. """ from traits.api import Trait, TraitHandler, TraitError # ------------------------------------------------------------------------------ # Convert a string into a valid 'wxFont' object (if possible): # ------------------------------------------------------------------------------ # Mapping of strings to valid wxFont families font_families = ["default", "decorative", "roman", "script", "swiss", "modern"] # Mapping of strings to wxFont styles font_styles = ["slant", "italic"] # Mapping of strings wxFont weights font_weights = ["light", "bold"] # Strings to ignore in text representations of fonts font_noise = ["pt", "point", "family"] # ------------------------------------------------------------------------------ # 'TraitFont' class' # ------------------------------------------------------------------------------ class TraitFont(TraitHandler): """ Ensures that values assigned to a trait attribute are valid font descriptor strings; the value actually assigned is the corresponding canonical font descriptor string. """ def validate(self, object, name, value): """ Validates that the value is a valid font descriptor string. """ try: point_size = family = style = weight = underline = "" facename = [""] for word in value.split(): lword = word.lower() if lword in font_families: family = " " + lword elif lword in font_styles: style = " " + lword elif lword in font_weights: weight = " " + lword elif lword == "underline": underline = " " + lword elif lword not in font_noise: try: int(lword) point_size = lword + " pt" except: facename.append(word) fontstr = ( "%s%s%s%s%s%s" % ( point_size, family, style, weight, underline, " ".join(facename), ) ).strip() return fontstr except Exception: pass raise TraitError(object, name, "a font descriptor string", repr(value)) def info(self): return ( "a string describing a font (e.g. '12 pt bold italic " "swiss family Arial' or 'default 12')" ) # ------------------------------------------------------------------------------ # Define a 'null' specific font trait: # ------------------------------------------------------------------------------ ### Note: Declare the editor to be a function which returns the FontEditor # class from traits ui to avoid circular import issues. For backwards # compatibility with previous Traits versions, the 'editors' folder in Traits # project declares 'from api import *' in its __init__.py. The 'api' in turn # can contain classes that have a Font trait which lead to this file getting # imported. This leads to a circular import when declaring a Font trait. def get_font_editor(*args, **traits): from ..api import FontEditor return FontEditor(*args, **traits) fh = TraitFont() NullFont = Trait( fh.validate(None, None, "Arial 10"), fh, editor=get_font_editor ) traitsui-7.2.1/traitsui/help_template.py0000644000076500000240000000523414046644454021054 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! """ Defines the HTML help templates used for formatting Traits UI help pages. """ from traits.api import HasStrictTraits, Str # Default HTML for a single Item's help window ItemHTML = """
    %s %s
    """ # Default HTML for a complete Group's help window GroupHTML = """ %s
    %s
    """ # Default HTML for a single Item within a Group ItemHelp = """ %s: %s """ # Default HTML for formatting a Group's 'help' trait GroupHelp = """
    %s
    """ # ------------------------------------------------------------------------- # 'HelpTemplate' class: # ------------------------------------------------------------------------- class HelpTemplate(HasStrictTraits): """ Contains HTML templates for displaying help. """ item_html = Str(ItemHTML) # Item popup help window HTML document group_html = Str(GroupHTML) # Group help window HTML document item_help = Str(ItemHelp) # Single group item HTML group_help = Str(GroupHelp) # Group level help HTML no_group_help = Str("") # Missing group level help HTML # ------------------------------------------------------------------------- # Gets/Sets the current HelpTemplate in use: # ------------------------------------------------------------------------- _help_template = HelpTemplate() def help_template(template=None): """ Gets or sets the current HelpTemplate in use. """ global _help_template if template is not None: _help_template = template return _help_template traitsui-7.2.1/traitsui/examples/0000755000076500000240000000000014046644526017471 5ustar aayresstaff00000000000000traitsui-7.2.1/traitsui/examples/demo/0000755000076500000240000000000014046644526020415 5ustar aayresstaff00000000000000traitsui-7.2.1/traitsui/examples/demo/Misc/0000755000076500000240000000000014046644526021310 5ustar aayresstaff00000000000000traitsui-7.2.1/traitsui/examples/demo/Misc/index.rst0000644000076500000240000000030414046644454023146 0ustar aayresstaff00000000000000These examples demonstrate two useful features of TraitsUI - Controlling the height and width of Groups in your TraitsUI application, - Spacing widgets in your TraitsUI application using springs.traitsui-7.2.1/traitsui/examples/demo/Misc/using_springs.py0000644000076500000240000000520714046644454024560 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! """ Spacing widgets using springs *Springs* are a simple technique for adding space before, after, or between Traits UI editors (a.k.a. widgets). By default, Traits UI arranges widgets immediately adjacent to each other -- from left to right in a horizontal group, or from top to bottom in a vertical group. Sometimes this works well, but sometimes it results in widgets that are placed confusingly, or have been unattractively stretched to fill available space. When you place a *spring* in a horizontal group, Traits UI will not try to fill that space with an adjacent widget, instead allowing empty space which varies depending on the overall size of the containing group. """ from traits.api import HasTraits, Button from traitsui.api import View, VGroup, HGroup, Item, spring, Label # dummy button which will be used repeatedly to demonstrate widget spacing: button = Item('ignore', show_label=False) class SpringDemo(HasTraits): ignore = Button('Ignore') view = View( VGroup( '10', Label(label='Spring in a horizontal group moves widget right:'), '10', HGroup(button, button, show_border=True, label='Left justified (no springs)'), HGroup(spring, button, button, show_border=True, label='Right justified with a spring ' 'before any buttons'), HGroup(button, spring, button, show_border=True, label='Left and right justified with a ' 'spring between buttons'), HGroup(button, button, spring, button, button, spring, button, button, show_border=True, label='Left, center and right justified ' 'with springs after the 2nd and 4th ' 'buttons'), spring, Label('Spring in vertical group moves widget down ' '(does not work on Wx backend).'), button ), width=600, height=600, resizable=True, title='Spring Demo', buttons=['OK'] ) demo = SpringDemo() if __name__ == '__main__': demo.configure_traits() traitsui-7.2.1/traitsui/examples/demo/Misc/demo_group_size.py0000644000076500000240000000666214046644454025066 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! """ Control the height and width of a Group TraitsUI does not permit explicit specification of the height or width of a Group (or its descendants). The workaround is to put each Group whose size you wish to control into its own View class, which can be an Item (hence can be size-controlled) in the larger View. Sometimes it is necessary to repeat such surgery at several levels to get the desired layout. We separate the left and right groups by a splitter (HSplit), and also make the window itself resizable. This demo includes a simple Chaco plot for variety, but it is not a Chaco demo. """ from numpy import linspace, pi, sin from traits.api import HasTraits, Instance, Str, Int # UItem is Unlabeled Item from traitsui.api import View, Item, UItem, HSplit, InstanceEditor, \ VGroup, HGroup from chaco.api import Plot, AbstractPlotData, ArrayPlotData from enable.component_editor import ComponentEditor class InstanceUItem(UItem): """Convenience class for including an Instance in a View""" style = Str('custom') editor = Instance(InstanceEditor, ()) class PlotView(HasTraits): """Defines a sub-view whose size we wish to explicitly control.""" n = Int(123) data = Instance(AbstractPlotData) plot1 = Instance(Plot) view = View( # This HGroup keeps 'n' from over-widening, by implicitly placing # a spring to the right of the item. HGroup(Item('n')), UItem('plot1', editor=ComponentEditor()), resizable=True, ) def create_plot(self, data, name, color): p = Plot(self.data) p.plot(data, name=name, color=color) return p def _data_changed(self): self.plot1 = self.create_plot(("x", "y1"), "sin plot", "red") class VerticalBar(HasTraits): """Defines a sub-view whose size we wish to explicitly control.""" a = Str('abcdefg') b = Int(123) view = View( VGroup( Item('a'), Item('b'), show_border=True, ), ) class BigView(HasTraits): """Defines the top-level view. It contains two side-by-side panels (a vertical bar and a plot under an integer) whose relative sizes we wish to control explicitly. If these were simply defined as Groups, we could not control their sizes. But by extracting them as separate classes with their own views, the resizing becomes possible, because they are loaded as Items now. """ bar = Instance(VerticalBar, ()) plot = Instance(PlotView) view = View( HSplit( # Specify pixel width of each sub-view. (Or, to specify # proportionate width, use a width < 1.0) # We specify the height here for sake of demonstration; # it could also be specified for the top-level view. InstanceUItem('bar', width=150), InstanceUItem('plot', width=500, height=500), show_border=True, ), resizable=True, ) x = linspace(-2 * pi, 2 * pi, 100) pv = PlotView(data=ArrayPlotData(x=x, y1=sin(x))) bv = BigView(plot=pv) bv.configure_traits() traitsui-7.2.1/traitsui/examples/demo/Advanced/0000755000076500000240000000000014046644526022122 5ustar aayresstaff00000000000000traitsui-7.2.1/traitsui/examples/demo/Advanced/MVC_demo.py0000644000076500000240000000641614046644454024134 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! """ Supporting Model/View/Controller (MVC) pattern Demonstrates one approach to writing Model/View/Controller (MVC)-based applications using Traits UI. This example contains a trivial model containing only one data object, the string 'myname'. In this example, the Controller contains the View. A more rigorous example would separate these. A few key points: - the Controller itself accesses the model as self.model - the Controller's View can access model traits directly ('myname') """ from traits.api import HasTraits, Str, Bool, TraitError from traitsui.api import View, VGroup, HGroup, Item, Controller class MyModel(HasTraits): """ Define a simple model containing a single string, 'myname' """ # Simple model data: myname = Str() class MyViewController(Controller): """ Define a combined controller/view class that validates that MyModel.myname is consistent with the 'allow_empty_string' flag. """ # When False, the model.myname trait is not allowed to be empty: allow_empty_string = Bool() # Last attempted value of model.myname to be set by user: last_name = Str() # Define the view associated with this controller: view = View( VGroup( HGroup( Item('myname', springy=True), '10', Item('controller.allow_empty_string', label='Allow Empty') ), # Add an empty vertical group so the above items don't end up # centered vertically: VGroup() ), resizable=True ) #-- Handler Interface ---------------------------------------------------- def myname_setattr(self, info, object, traitname, value): """ Validate the request to change the named trait on object to the specified value. Validation errors raise TraitError, which by default causes the editor's entry field to be shown in red. (This is a specially named method _setattr, which is available inside a Controller.) """ self.last_name = value if (not self.allow_empty_string) and (value.strip() == ''): raise TraitError('Empty string not allowed.') return super().setattr(info, object, traitname, value) #-- Event handlers ------------------------------------------------------- def controller_allow_empty_string_changed(self, info): """ 'allow_empty_string' has changed, check the myname trait to ensure that it is consistent with the current setting. """ if (not self.allow_empty_string) and (self.model.myname == ''): self.model.myname = '?' else: self.model.myname = self.last_name # Create the model and (demo) view/controller: demo = MyViewController(MyModel()) # Run the demo (if invoked from the command line): if __name__ == '__main__': demo.configure_traits() traitsui-7.2.1/traitsui/examples/demo/Advanced/test_fixed_compressed.h50000644000076500000240000414767114046644454026766 0ustar aayresstaff00000000000000‰HDF  ÿÿÿÿÿÿÿÿ¹Ïÿÿÿÿÿÿÿÿ`ˆ¨ àTREEÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÀHEAPXÈdataHˆ¨ TITLE (CLASSGROUP (VERSION1.0 8PYTABLES_FORMAT_VERSION2.1èTREEÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ XHEAP°x`N TITLESNOD(HP TITLE (CLASSGROUP (VERSION1.0 0 pandas_typeframe 0pandas_version0.15.2 0 encodingUTF-8 (errorsstrict 0 ndim  0axis0_varietyregularÐÀ  0}blosc úÿ   ™ à’…^ (CLASSCARRAYH XSNODð à(°,` H C8à6h@µXPM (VERSION1.1 TITLETREEÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ p¿™ ™ 8 transposed (kindstring (nameN. P 0axis1_varietyregular 8d X¸ 0}blosc ( à’…^ (CLASSCARRAY (VERSION1.1 TITLETREEÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿézÁ @ 8 transposed (kindinteger (nameN.X,X 0 nblocks  P(d ø+` 0}blosc À! à’…^ (CLASSCARRAY (VERSION1.1 TITLETREEÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿŠcà  ?@4 4ÿ 8 transposedÈBX 8block0_items_varietyregular0 6À 0}bloscÿÿ ð-33à’…^ (CLASSCARRAY (VERSION1.1 TITLETREEÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿYíÇ3333 8 transposed (kindstring (nameN. H(dÌ pBX 0}bloscðÿ 88Ì à’…^ (CLASSCARRAY (VERSION1.1 TITLETREEÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿAFÉÌ  8 transposedè´X 8block1_items_varietyregular0LÀ 0}blosc `D@à’…^ (CLASSCARRAY (VERSION1.1 TITLETREEÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ\‡Ì@@ 8 transposed (kindstring (nameN.OXˆ´`hOà’…^ (CLASSVLARRAY (VERSION1.4h(axis0axis1block0_valuesblock0_itemsblock1_valuesblock1_itemsblock2_valuesblock2_items8ÿÿÿÿÿÿÿÿ 0 PSEUDOATOMobjectTREEÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿãÍGCOLð\Ê\€•¿\Œnumpy.core.multiarray”Œ _reconstruct”“”Œnumpy”Œndarray”“”K…”Cb”‡”R”(KKdK†”hŒdtype”“”ŒO8”KK‡”R”(KŒ|”NNNJÿÿÿÿJÿÿÿÿK?t”bˆ]”(Œa1ed8f2d”Œ8b8a9850”Œeef27646”Œ045f0dda”Œ921ef8cf”Œ2ae9ef79”Œ342b7834”Œa8bd96c6”Œfb17fb6d”Œ36cccce7”Œ79936df6966dd26”Œ8ef1d8a7e09c3ec”Œ21f0e40756e85cc”Œd7cf14b16965a99”Œ84dc0b3e918aee1”Œ3330ad3e01bf7c5”Œ59a69d133413482”Œde66deda”Œ9ce5673d”Œ9d30ca39”Œd9f89773”Œ306b2892”Œ9c80c283”Œ011680a4”Œ1491e629”Œ4fcd75a3”Œ2ae9c223”Œ19adb3d66c301fd”Œ20831a4006d86c9”Œeb3205c71d43064”Œ215683c2c6a4f39”Œb342c27562d953f”Œ9f8e14ea66ce52b”Œ329a0bf86f9f1b4”Œ92d7c410”Œe45bd1a3”Œ98898d2d”Œf24bc1e6”Œa0e78f76”Œdefbbd80”Œd9688e04”Œ706b2800”Œb6c13279”Œefbad3ae”Œ 6fb804a87e4447”Œ51c817e7d97c4ea”Œ6070f4f69ab1591”Œe3c3724912d5981”Œd5b0110173f85fe”Œ94277d9c5cdd3e2”Œ5ca21a91cdcc31c”Œ6eb28adb”Œ960e7c7a”Œ98706d8f”Œ1508353d”Œ1efedd25”Œ1fe12061”Œf818e3c3”Œ140eecae”Œ11d480cf”Œb4c46249”Œ84bb9bda88866cc”Œ27f0a96b9d9846a”Œ1cac7214a365669”Œ92482c9c1acb23f”Œ482fc50c8ed86c8”Œc95791661a03a5d”Œfaaa35fef621d7c”Œ3ddeeb10”Œff72442c”Œ69147c66”Œeabcd7e5”Œ2dff5f8b”Œ64eea29c”Œ536e0063”Œd2d4f30d”Œ3abcde9f”Œ6ac03406”Œ7179fa3389c7cfa”Œ440e2d0c764b070”Œ1c59788968fe835”Œa8448b85ffd23ef”Œceed29d005ffc86”Œa3b419098c78828”Œ6a3d5a98d96ee0a”Œ6483544f”Œe963039f”Œ9b3b579e”Œ12af26bb”Œ7e0522a7”Œ8c4a2a75”Œ55ad88b7”Œb416c89b”Œ4b8fc8a6”Œc940ec0b”Œ 66266cac0c476f”Œfb22e7295dd0edd”Œc9f1ccf7fad2d70”Œ63d4718a15215a7”Œfeec5a632dacf02”Œ83647596e187261”Œe0a5cc72246b2da”Œ886d0182”Œ6edeb4a7”Œ6bdd81d7”Œd7739faf”Œ54310096”Œa2e25bec”Œf8757997”Œ517e19db”Œ6d706a2d”Œ33025784”Œ2994c1fb23c15a1”Œaeb8c8689285ba4”Œc920c9082dcc26c”Œcced3971540bbe5”Œ82f780f24bd49c4”Œ1086d09dec6e6b1”Œf07685910d653ce”Œ65b7c139”Œ667a6ecc”Œ0dd05c31”Œ8db61e85”Œa95d1d75”Œ63c856fa”Œbc851e24”Œ009b7b93”Œc9a48626”Œ34431e8d”Œ6941887a47e5178”Œ1ffad972c09cda2”Œ84ff41168b22f21”Œ5d8bfaec8d175ff”Œda20043f45d670d”Œdf099bf8cd63d24”Œ7fcc9d845df0932”Œeb441e3d”Œ2a9ecd0c”Œacc6e2db”Œee6b69e0”Œ53a1fdf6”Œe2641fa7”Œ94b8056f”Œ559733d2”Œ3ff05a8e”Œ20d21587”Œ2d93436279b0e2e”Œ296ada23a03c289”Œ4f4f95002b4dafe”Œ7213d2c410239e1”Œb644f59352f78ed”Œe6df8bdbaa16c6f”Œ11ba397dbc6bb7c”Œ888fc7eb”Œ52dcffa9”Œ7b8cbf02”Œ6d734405”Œee516473”Œ77e11a27”Œc2e6f402”Œe49b999c”Œ8cb743e7”Œef2c79f1”Œd8d986a8b73f758”Œd38e986edb5fa3b”Œf6ba7216cf445e8”Œ2010d72bff6c945”Œ62ef328f6ddf490”Œ87d451ba1db5c2d”Œd427ab42343563b”Œb1e841df”Œ91642aa4”Œ4ca49e71”Œb6a3b91d”Œ94b8c23b”Œff59cc96”Œ95874ad3”Œ5da6912a”Œ9b78d293”Œ15a1251c”Œc55a9237a0eaaee”Œ5fe701a3cfa0a7c”Œ5d884cb0be16183”Œ5e02402c6124d40”Œ 6cb2a70628d877”Œ463fe196e350f22”Œ 57e002d6ab3810”Œ798afa2d”Œd5902635”Œe774ac0b”Œab797d21”Œ417df68a”Œ69f9d3ab”Œ175a5ba1”Œ5876523a”Œ0ed6e1d6”Œ25456784”Œ4c34dbee8e89dc6”Œe0df53bce8a76b4”Œ1f93303f8844346”Œ984c9eeb0f8fb70”Œ73a649c2ebe0139”Œ cf736e246d43d2”Œae833f18a16776c”Œ2d345ebb”Œ73c4bd3c”Œ6b4b4eb6”Œ5e5b02a1”Œccbe28c3”Œ60ee9d11”Œ4c946f94”Œe278316e”Œ995132b6”Œ074d7761”Œba9a613a5005464”Œa6c83b5cee855ac”Œd45205f44c2ecd8”Œ96d8c458273f102”Œ407a636176a9a3e”Œ6bf038ea85bf0b5”Œ8c802a9ce2385ad”Œ52eae870”Œ48f48ebe”Œe4ef229e”Œ924bc0cd”Œ17524912”Œ8ef21ee0”Œ97db61b0”Œ50ee9ca0”Œbda04fa5”Œfb13586f”Œec2144149efd305”Œ4336a3376b08b9b”Œa98016e580370ff”Œ2a863583d58f9ac”Œ127542d6deb0cc1”Œd27d6d8c0bf1091”Œcdeef37a0e7fb78”Œ498e5715”Œbbd9bf16”Œ12c69844”Œ9a0bacbd”Œc676f195”Œf864fe22”Œ93e10521”Œf435dc94”Œbff11fea”Œ4f8136f0”Œ10aca573c66e203”Œc3f658186c4e03f”Œ898594156be60a6”Œ6dbf79423909632”Œ847828baae5c126”Œ859be0bdae54589”Œc97fe7e4c2fc3ce”Œd6f9d52c”Œ846790af”Œ6f354f8b”Œ9b459abf”Œ5fdb217d”Œa79c2bfb”Œ2fe0ede1”Œe9d442cf”Œd12fb3bc”Œ2c43ae94”Œb7e010b75586152”Œc14f1878e0f9569”Œ700c3cf2903fd6b”Œ1e795c2559f19d9”Œ44ffea7461c1441”Œb190e973dcd8b75”Œ66b77c1a868ec1b”Œ87aad7c1”Œbf836ce0”Œ8cbe9cc7”Œ35547d4a”Œf3879635”Œc41db080”Œc9538c55”Œ213645ff”Œ00ad777d”Œf58e620a”Œa542c3414b83f76”Œ99c684b40990ac2”Œ99a4eb969e9866e”Œ3d3521957db9f8d”Œ5bb22fe79b02215”Œ823fe865d41a9f1”Œeede8cdbab6f14b”Œ0a705b2f”Œ0d4e2e72”Œced21199”Œc1c2e7dc”Œ363f9f1c”Œ7ee1dd34”Œ36414725”Œc843d902”Œ3fc18e54”Œ258d99e3”Œ2e662ab8fbd7439”Œb32cb1cad1dd2bc”Œd86b568750dae02”Œ4cc4ee55f1f8086”Œ9a60dc256dedfa1”Œd1d80899b39da5b”Œaa2c4cbc4746a7d”Œ63268bc3”Œ9027ca8c”Œ566f5065”Œ209702f0”Œ730de3c5”Œ1c73e77c”Œ29bda177”Œ840c798d”Œc936abfd”Œff2144bf”Œc51174519886a85”Œa4ea0153690c734”Œ52b4e1b245c98d6”Œfcac6b0e558fcfe”Œ9352a4858c9b397”Œadd9b44ecd1ee4a”Œ52ba3bdb7f9beb3”Œ7fdc3718”Œ72afca73”Œ1ca4638c”Œ27f80a70”Œbdeb873b”Œa909d91c”Œ5f9cd04c”Œ14438f43”Œ094e2bbc”Œ9630bb53”Œac7f5bd652bc110”Œ111958f6a01fc90”Œ43f8dc38dc2c9b1”Œcb98d9c2baf227b”Œf69b5c7e30c1dc6”Œa4baf239b43df01”Œ87ea6d3be3d3cbf”Œ7efed348”Œ57acbdda”Œ54f8ca11”Œ06b1be8d”Œ2bed416c”Œb5e79bad”Œ3b081d66”Œca71d5ad”Œ5c8ecea8”Œbe175de3”Œa6ed1dc99bbf173”Œ6a7e34a40a3926d”Œc382fc6b5ddb8dd”Œ5b58c1ad9ca2e1d”Œ9bfcf9e8e631ad5”Œ8131bc20fd67713”Œ732251251234128”Œ3904b4a1”Œd9a17f22”Œ51460f7b”Œ375cb915”Œ7deb6be5”Œ140722a7”Œ117ad5de”Œ948f81a1”Œd0f4281c”Œ8fc909ab”Œ7e8ded37c16a520”Œf11df99c117b8f7”Œe309aed70800f2c”Œ7421efe2d5feccc”Œad059c1ae090942”Œa9a652cc419424f”Œd94e88e40d76d00”Œ671904b3”Œ64144c15”Œ0f026468”Œ73a00e94”Œ427ce9aa”Œ2f0fa225”Œ22f12b62”Œ8ccd94d1”Œ72970840”Œd3eed2d2”Œ208a330864b7f30”Œ702804595ee4f3c”Œ9c2d70278abd7a7”Œ3cb409bf2904e4c”Œ6537919ba1aa10d”Œ56a8e4652497aa9”Œ82beb8741531e0d”Œ5b5a438b”Œ18eb06e9”Œb2417534”Œ5dcaf376”Œ5208d103”Œaeb44e92”Œ729c0b5c”Œ78974fc9”Œ6ea3e6a2”Œ48fa443d”Œddb06f725f5f989”Œc099ad4dbb279d0”Œf4693ee3df1a10a”Œ74a45818a528937”Œ57072720c9869cf”Œc3cdb2a75209b62”Œ2a1d397daa57c7e”Œ3d0a67b8”Œc893cd97”Œa9990d92”Œd4a50779”Œ17122e66”Œ091b7042”Œ996bb8e0”Œ31ca98b7”Œ92d93b6b”Œ39f1e9cc”Œd39134e5c15cfc0”Œ319d242d23f93b1”Œ 1da3c3f1f84bfb”Œ6e8fb50cbd715cb”Œe8cca19a9c207d9”Œ79d52176ca3b917”Œcc0e9f84ab38701”Œ42d78bca”Œ095dcaaa”Œ7450b86b”Œc1732b38”Œ67d7182f”Œ7c031a9d”Œee276a95”Œc3e392ea”Œ4d61749d”Œ8087e5ec”Œd6fa11d92546545”Œ43b0a1a124075ac”Œ4dd2498e300a6d9”Œ1f400bdaa132830”Œ2f2871dc46691e8”Œ54d445d498d6c27”Œ 4f86a3c760ace0”Œ8b7516ac”Œe67eedc6”Œe48c7d01”Œdaea9f54”Œ07713d52”Œa846c56f”Œ3feeec60”Œ399699b9”Œc4792aeb”Œ49d85590”Œ26dd14b0c892f46”Œe5daed2874c22a0”Œeffbb69ffdcc011”Œ1a55afd90a9fcf2”Œ7a0fa1631f5bba5”Œc0730d1674d819d”Œ167881d87045c40”Œded69b63”Œ153f3e6f”Œ304c2ffd”Œdc0050a6”Œ2188728d”Œ52a61141”Œf823b7ad”Œa4061911”Œf08c87f9”Œ157271f0”Œ25aaddf60b9ef53”Œ14a43a45e8ac403”Œaf932015299a015”Œ7ac07b15fd51370”Œd929aeeebf23147”Œ408d60554943d1f”Œca873b5b0fbd9e6”Œ76ca9c2d”Œ940eb6f9”Œ797074bd”Œ726145c4”Œe0969fc4”Œfa4f12fd”Œ696524c1”Œb93558cd”Œdd9ed646”Œ4a9e239f”Œ8a70993d33b86ef”Œ59e48f5b4e289e1”Œffb03d54d479d38”Œ3579fd61f479eb9”Œ3a00a3cb552dd4b”Œfd0860951026b2d”Œ639a41002a88e61”Œ461085d8”Œ93a11c39”Œ05100108”Œ7ce446ec”Œ094f948e”Œ8821b7c7”Œ7e9a3ff0”Œ512b20d8”Œ1c335bd9”Œe1fb9e2a”Œe3c1cff498d00e9”Œ782fb7019ea239b”Œbd23411220dbdbe”Œde6f6366dd383ad”Œb764b01d844b856”Œ13f6c390baea93f”Œa9562871236e575”Œdbb918e5”Œ8c6d0953”Œ87268444”Œ487f24fb”Œ143c8a41”Œfe53fcd8”Œ20286215”Œ62d23ce1”Œdc901f74”Œ657ca6bf”Œ12dba3135b221ff”Œd59fa00e83a6117”Œ2dec9125314d44f”Œ1fe33357ff4c34e”Œ5c4f3a2d7e7c502”Œ2907ba95ae7e646”Œef4385d4d64b294”Œ22022389”Œ74818e84”Œdfafffeb”Œ8afb1d0c”Œ565f64bf”Œ00f82d05”Œ09fef4d4”Œc4c853c8”Œ64a17d4e”Œ44122554”Œ8c308b74f90bca0”Œ5c9f09304eaff4b”Œb0b9205e2cfa23c”Œ394c5f008bbd082”Œ2d4a058e2ed02a6”Œa6052409f79af02”Œb7ae045f968ae90”Œ22efc8c6”Œ18adacb7”Œd4a8035f”Œff951ab0”Œeed60ee8”Œe44fee2d”Œ6044864b”Œb59a73cc”Œd7ee6d91”Œd290ae6c”Œ d54865080c122b”Œ3755ff68777c4ea”Œd0930dd684e1c87”Œ65e3cf60215eae0”Œb5bed21687404b4”Œd88c240b2f5e1ee”Œ13fc0965e4f53af”Œ5f5c1431”Œd36e2967”Œb1f88698”Œ780376c1”Œ6115a64a”Œ159e5849”Œ75d661ba”Œ0f904cf5”Œ64a8547d”Œ1ce3dac1”Œ95cc9bb6d84a9f5”Œ3b8a21c0974c56f”Œ 94a3eedd211d06”Œ87baa6883323fd5”Œ37ab0db15767b3e”Œe06a7076a7f6759”Œf47887abcea580a”Œ24466edb”Œ5f794d92”Œ5ebc5e24”Œ2826815a”Œ52ebf856”Œd7425d91”Œe0db82ca”Œ0635e06e”Œ20e44bdf”Œ1c051006”Œ35e8453f0c377b4”Œe90f4ddc56dea3e”Œd55d4bce9caccdf”Œa4683430477dfc4”Œ36be0486d02367c”Œa4573fd5013f23f”Œ5c3ac6474bcac23”Œffc476f3”Œf871a561”Œ0b57312d”Œ0ec7f636”Œ95650461”Œ566f41f2”Œ1ca55078”Œ8c62c3e7”Œ4faf62e3”Œ911bb68b”Œ3771ea29f3ed0fe”Œa816bc67fff4772”Œe8ac9420fee4142”Œc200204ad32cfc8”Œfd5539de9c52465”Œ586b3b681175489”Œf095ad42560a7ae”Œa16bbc82”Œ45c056bf”Œb65db101”Œb0c480c4”Œabedbab1”Œ1a7f3b7e”Œ27200642”Œfdc2cf84”Œd5644fcb”Œe8b65fe2”Œd0595071f8b3f8b”Œ7f909a8083e8a01”Œffd9474c6d26efe”Œ5b955f097363b8f”Œbb626e5116db444”Œ5cd55ceb206a7d2”Œd3d68104f85bf4e”Œ0c68ddda”Œce5c7255”Œb45c5a2a”Œd2ac91b8”Œ2440ebbb”Œf8c38c54”Œ5e0432f3”Œfdf346c9”Œe731f300”Œa624bbf9”Œ8daedb05e4828dd”Œf8f3649f0c64eb2”Œ5d9ea7500a581f1”Œ4fe47fcbd8531a7”Œ 1230d8580aedce”Œ8073359e88f449a”Œ25a37071edef0b8”Œ12d66343”Œ50aa1c76”Œ4c53dfb7”Œf79675ff”Œa18e0783”Œ78040c69”Œ4308a232”Œ9ea3c5f8”Œ379c22cc”Œ366c6370”Œ368459543ce6bff”Œc0cb25ab5553d47”Œ5762da0c5fa0e32”Œf2e3f1022796212”Œecf54fb051a1cf1”Œd729e50bc009bf8”Œad83b45bbf09005”Œ39390e60”Œbd7a4b7d”Œ455abef2”Œ3e8d4cdd”Œb77a2ed8”Œ15814ec9”Œ306f0950”Œ2b6f7738”Œ461b23f4”Œ0f5b4927”Œ21db68bd70a5456”Œ491119a7dd6a992”Œ 69fbdd759568a6”Œ89e8998c0aed3cc”Œdc03174e0d399cb”Œb8cbcae6818d511”Œb445d90e5115876”Œa076b39f”Œ73c34fd8”Œ65568589”Œbd607833”Œ4bc582ec”Œ22487ccb”Œ00f2e71f”Œc5833c5e”Œd9e9ff6e”Œd695aad2”Œ71f3729ff79b158”Œa28c7dbe2a476ef”Œ 4e387062b44931”Œ32ff7f4042a2558”Œ2577c8e2f9d70a6”Œd6cbb85172b7a4f”Œc360268c2f2a045”Œ2ab1d67c”Œ33f492b9”Œ0eb392b3”Œ788cad6b”Œ01048c53”Œ44e39d8f”Œf9b921de”Œ1f2c9755”Œ48052119”Œ0665eeee”Œ d7170c15dc3fa9”Œ23d84085f9ea52e”Œ8064d33f9a73aa9”Œ3ed7c031fcbebc3”Œ5f5f21d8c47ea86”Œacf49363cbaa3c1”Œ477a3f859d21917”Œ67ac715c”Œc8818b89”Œ454867eb”Œ01020ab9”Œ2b1b1801”Œ34d44765”Œ08bb2d89”Œ15eb5069”Œ688976cb”Œd9cbe355”Œ3a71189f3c0694e”Œ fb8a85024271dd”Œd91327795e54efc”Œbe876f95de3bb80”Œ1715b466940dbae”Œ4bd898c15930cae”Œdf4bb772c252e92”Œ8d1ea624”Œ48209c36”Œ2dac69a7”Œ9fb139c0”Œd32107b8”Œe38a5ff2”Œ8cc0332d”Œcaafc38a”Œd4adf950”Œ5475399e”Œc48f781425954b9”Œ94460ec04c477c0”Œ199c4834d5bc20d”Œ2ba4fa3fdd560f6”Œ1d7bbda76ebd716”Œ769ab175cf86438”Œ3d84fa67eca411d”Œ4833ff57”Œ9c771ff1”Œ3788a1b6”Œdf196a16”Œec1f0d34”Œ3232191c”Œ2ceee50d”Œ99458faf”Œd9084ef9”Œ012a0f6b”Œfe849d66e14e54d”Œfe9843980894ded”Œf87a36f4f4ddf04”Œ3871598af3284c2”Œ d8b17d40f7b8b2”Œ416be25d268d8e6”Œbe12db13302bfdc”Œecf5251c”Œefa9acea”Œb5418b74”Œf5276d27”Œ442472eb”Œ7862305f”Œed82c8d0”Œ57b16cd8”Œ3c4c1f60”Œ958bb7d9”Œd623d01c72ee105”Œ43f6ef4796cdd24”Œb3ceb0e5a1230f9”Œ6b999434c218019”Œ897aa215512cda7”Œf2b977fd8230922”Œ6b58679c78d92f7”Œ7160d0d0”Œ645d8bbb”Œae28a6d7”Œba85b090”Œ9432cde4”Œa446c6d1”Œ80c5a3b4”Œc7778fc2”Œc4a105a4”Œ2ce7e867”Œ5bf9755b0eb99d1”Œ92d1f78767eeb84”Œa7dd159d118b86a”Œ632bcecbf2ebe21”Œc29f71a8be2eb88”Œ3df12614eb5b22d”Œfbe2062b68aca02”Œ8f355f66”Œ52ffaa9a”Œ1d8ac38d”Œdf31ca67”Œ1071fe6c”Œd824d292”Œ5d2cacd5”Œed10f776”Œbaff97f8”Œ1fcc6af7”Œ28e3230db569765”Œ93504ef350bcf1f”Œ7711d29f4ae074f”Œ2e0750628c983f2”Œ776ba85d7fccd05”Œ90a7b75d9e56a14”Œ185ee7e86e10180”Œ3edb09d1”Œ2d1806a8”Œ35d2940a”Œ223fbec7”Œ905bdf91”Œ4cda92ed”Œ419210f7”Œab288ab4”Œ64b8b5b0”Œ0e37d699”Œ31542948e92d820”Œf7154c12a7e50de”Œea456577139f6f2”Œ49fa5f28d90fe9f”Œ8e98475ce22e945”Œ27f6acd4d823702”Œ6b88d204abc448c”Œ6601652d”Œcf0daa48”Œee87b7bf”Œ963a8ac5”Œ13497d71”Œa30f6974”Œ50b0fd32”Œa2e6998d”Œ3ea79dbe”Œf36cacfe”Œ 42f0fdfb014850”Œbce9b453d27bad2”Œ 6381407628d75c”Œd7b0bd5bd2578a9”Œ38e3444ce469752”Œa8b0fca4faaa0b6”Œaf0d5a6c3dcfafc”Œ0946ded5”Œ192e7ae4”Œadefd78a”Œ52efca58”Œ0273d6b5”Œc65ae1a0”Œcceb7d3d”Œ0cd60459”Œa0122719”Œbf609663”Œc5534a352bbbc69”Œ1843799bcdd9d76”Œ9a6dbe4ffed03f1”Œ91a19af0e06db26”Œ4a39a628a02df4c”Œd91470ca146e3d4”Œ89b1872f2f4a699”Œ4ee442cd”Œ545f8eb2”Œ4fe88966”Œca677a4f”Œ4771eddb”Œfaeba32e”Œ67e75603”Œ3c129b43”Œcd6af1e2”Œ9e831a09”Œ4d68bdd57ee000c”Œ802ce2a84a49df6”Œ9d6b590976aa276”Œ7ffc8a67d01e573”Œdfc2345e94d0818”Œe75568a25b39b1f”Œa6b84ba282e9905”Œbde5af41”Œa98c5f13”Œd1e5b373”Œ0ad0c038”Œe4fbc3a0”Œc4bad5b3”Œ0bf76383”Œc83c6683”Œ379fdb9d”Œ7c1ffdda”Œ8d04edd04295899”Œa42656333ae82e8”Œc7307cf28fa0e68”Œ2e8765446665b15”Œ5d007b629cb0842”Œ49f1fb3bfefdae2”Œ40c8df2930b3560”Œa4b5248a”Œb67e87d6”Œ120383e1”Œ197af6d5”Œ9a08d3e9”Œc22f0b0b”Œ60072292”Œ3ae467f2”Œ0bab3215”Œcf6c79e9”Œ8f64d1753758e37”Œfa2d12bb7a8f38c”Œbd7d7147ebce5c1”Œ2875e0d1cb9db2c”Œ14b57a82f601736”Œ6ee3acb9703d3eb”Œ58ff7c767764eea”Œ82d28cf0”Œeefea60f”Œb02a6beb”Œdeef3a9b”Œ1156e2ae”Œ10db1e4b”Œdde66b76”Œ44df7fd7”Œeb4c8856”Œfc8076d4”Œ651da726b3f59bc”Œd2d1d19e0dd5a73”Œbb146621f3b0fae”Œd37b6dcfc7d891c”Œ72c918568d9274f”Œace3c25eeb2f69e”Œa5e348d7986f3a9”Œ1e8ddf07”Œb5289837”Œ9dfdeba6”Œ64565c93”Œ7d9d9e4c”Œ4d736374”Œc0c20b5c”Œ89ec2400”Œe9e508a0”Œ7fd6ffe9”Œf9c938d12c907f5”Œdce392ce611a7de”Œc9a0c4cf9ab4117”Œ1bbe67ac041c35b”Œ8b7943af6ac5238”Œ49af42bf7c85b75”Œd8f76eb3edec03e”Œ43f5b534”Œ8d2be37b”Œ19d6cc17”Œ80e385fd”Œc7aa1033”Œd32d09cb”Œ88fbcbd6”Œ5471f093”Œ8e26f3bd”Œ4bf4ade5”Œe64e784484e04c8”Œ10b5d72be3005e4”Œd13e81abf82f5e9”Œ53a2fe28e108292”Œ4ce5ebd88c9a43e”Œ2b6d499c476cf42”Œdf109efed4bd998”Œ2eadd4ac”Œa404664e”Œ6cca5300”Œ7bb2b1f5”Œ8a3449d8”Œb40b9b94”Œa7b9d66e”Œ5725b334”Œ7952af8d”Œ5fbeff3d”Œe123092ff904682”Œ 2a7b983b225990”Œ85ee7bdbcf1ba88”Œ2b46a5b11120c30”Œ6b616e2ceab9ab5”Œf80d98de070726d”Œ56395ea73db4915”Œdf1531b9”Œb0846832”Œ613f34e6”Œ83a76b99”Œdd681f17”Œ2689d8ee”Œbc799455”Œcf0bffa7”Œ2832deee”Œ3e7ced72”Œ834c91a3c690232”Œ7afbd63446aaed4”Œc5b8c586f3e56bd”Œafb3630d55972b6”e(Œ6baa3090d3fe60b”Œ79a67b53851730c”Œd8fc345ff9b570d”Œa9deda22”Œ70c1e93c”Œf30d7045”Œada9bdca”Œ427e6d8d”Œf28d7607”Œb3ed655f”Œ87242525”Œ6cd8deee”Œ210ea98b”Œ752631c8a3b9406”Œ8c777c38f34dd07”Œ8fff0cfa02ce01e”Œ9a4dfa0b8f00859”Œ7ba305ad665e425”Œb281d0c5a55c337”Œ7f17b12eca69c59”Œee3032b4”Œ9b0d6260”Œ89f3515f”Œ6acf39ac”Œc88d48ca”Œ51b9acd6”Œ49eac9fc”Œbd48d306”Œ9243a78d”Œ5ca596d0”Œb6f38e2e8bf4f6f”Œdb91729e5f4e018”Œ5ae0be2815ca49e”Œfd25fe1691dec44”Œ6a34e726d5a6c9c”Œde7b7bffa157aa2”Œ 601b0c6e55b65e”Œc62327b3”Œ21c5d037”Œ6543ecf3”Œ94338ec3”Œ7df945f2”Œdc842947”Œaed16659”Œfd9177df”Œ4bd83d5f”Œ64b485c1”Œb532159f5fbc582”Œbaea9e5f0c29a6d”Œ200026f725f101e”Œfce5ef79ca8ac5b”Œ10157fdff8ea6ab”Œ3e6abfba502b708”Œ a9b6ef64658735”Œ56708507”Œb32b9e72”Œ9b818a26”Œ4d1472f8”Œ1fba98e9”Œde32820b”Œ9ab4ad87”Œ440f4dd8”Œ5c569641”Œ83be6842”Œ88b86a3b408fc26”Œa92dae9fe8df301”Œ5a15dfe4cfab992”Œ1ffc1af9d96ab96”Œdba727301810b1f”Œ7ec530799857816”Œ263e0936c171b94”Œf73be8b5”Œ2a4e3756”Œ45860576”Œc2775530”Œ1faf7e9a”Œ9e671eca”Œe8055c8f”Œ352ddc0c”Œ3bec368b”Œ4164d55a”Œ38c6505f503931c”Œ4744daaec7f5116”Œ85af75d15d408fd”Œed36d03b4a9cd12”Œfc701da9b855c24”Œ 922db02ac2c24e”Œ6ade73fc1f383d6”Œ4a550433”Œ0424cbe1”Œa6dddba9”Œ38e24ce9”Œ54177ef1”Œ73c78e67”Œe9abde25”Œ0bf8c00c”Œ0eb6b63a”Œ2cad4005”Œ38fdf14b75c1052”Œ97fa83c51dc304a”Œ9ba83a0be6d5103”Œ89498ba95b2ae33”Œ87a820b030ee7a9”Œ3790a997283e46f”Œ3e8e7c24e6dfd27”Œ377c1487”Œ920e2dad”Œc8af9641”Œc5ebe25e”Œb24d2fd4”Œ2fe51e2b”Œ7057b136”Œe1a43838”Œ2508d73e”Œfbf5cbab”Œ68be1fc407eed78”Œ725dd8cca1593e8”Œc29f05597c59b67”Œd3e04238054070b”Œc491d9a083c535f”Œ909f00253a47fe0”Œfbce0d1e721a9a4”Œa475061a”Œbe641479”Œ9a09f5f2”Œ1463943c”Œd02459be”Œ501c6d42”Œ62f1d7cb”Œ1a520920”Œd3747e6f”Œfac01432”Œ46281a650fef1ac”Œab737d8402aa2bd”Œ32f9863817ab981”Œ40561d50e92f51b”Œbcbdd38649d4fa2”Œ4846eca5ffd9961”Œf1eb3a8263b832f”Œ4477b054”Œ65e5b5d0”Œ01541a2a”Œ9c5a723f”Œ93f692ab”Œ65ef10e3”Œ7367b8a1”Œf96810d9”Œ8b90f960”Œe3485b3f”Œ3ed3a77a2ee4917”Œa54486ee4f54192”Œ11b22ff5a8aeaa2”Œb30469d0cb88a9b”Œ2d9b909533d855b”Œ661a83752db44af”Œb706414d7e337a1”Œ78fa8a42”Œ27440f07”Œ75e769a2”Œ5a0aebd6”Œ7701c431”Œ9de2e9d4”Œc7e1f28d”Œ3f232795”Œfc911ef9”Œ00cc5138”Œ1a27e551e662168”Œ7b14316c3ff715a”Œc9bd9f170ef7b95”Œ2ac2397920ab859”Œ94d84691ccdc3af”Œ cbd8b850ff1d5”Œ3daf346abcee48e”Œd3e1a12c”Œ6c53f3b6”Œd46abc4c”Œbe6cbea9”Œba3e2945”Œfe16f1d2”Œ4cc390a9”Œ1aed7ffd”Œda54a2ef”Œc58d6a56”Œ73651b70b806c69”Œ77314bd689c3415”Œ 5c9005cc15538a”Œ909cce14470c4b3”Œ5864355584f5cdc”Œc638a43a8fc4d35”Œd0add6cbe1895d6”Œ201991ca”Œd9870eab”Œ0fc041a2”Œ9119b6b7”Œcf0971e7”Œ28518c80”Œ9c667f3b”Œb0038a9d”Œ756feebc”Œ5c0e7130”Œda74537aa55de80”Œ9ec067d20c8cc05”Œ9b6b6cdaea87916”Œd0a7091ba1f190d”Œe4e9b3d0cb24de4”Œb182e77429ee12f”Œ8b9cb067f572eb1”Œ1bcb2b08”Œ479b9d8b”Œ91595092”Œ5db89aca”Œ66a7ffa0”Œb7eb61b8”Œc890b995”Œe126622d”Œ7f768d0e”Œ92ed2f60”Œ7d1dfba9390fd22”Œ2b9ab664ab6bf84”Œb295aec70257b96”Œ e07af91ff296de”Œ4bf36f0bb276829”Œe558e2ea72e3369”Œ1ac967beaeba41a”Œe2d5b5e3”Œfe8c111e”Œe87b51a9”Œ53adc742”Œ69d57201”Œ61d68b49”Œcaf65022”Œ4771db32”Œ73bc4123”Œ28908586”Œa808c621f3a96c5”Œc0cf5f0300b53f7”Œ19b19e79f93aff5”Œedbfff8f85b6301”Œ 5e8863f3540b96”Œa060721bc6eb0ec”Œad3ce116bcc7f86”Œ2eabc8ec”Œf2ac819c”Œcc7d7bf0”Œefc0d805”Œec3c7c6f”Œd4a4dbb7”Œd592e11b”Œf302aa39”Œ5b84359c”Œ0c1374a3”Œf831fbbcb824d4d”Œ63c3d246e657fa2”Œ8dcd1e02d8c5b22”Œ67a96c08586e347”Œbf9d12c6925c90e”Œ803241953ae386e”Œ7a675f4e22f7aa5”Œae037760”Œ552848d3”Œ1353ac35”Œ23446c24”Œf468ed32”Œ65cf0102”Œ11908628”Œce036c04”Œ4eca823a”Œ5b903986”Œ809ea01a3e3c077”Œ614fa39a928a8d8”Œbdad37cf02d43ce”Œ76bd74eb547e463”Œ62af55c970275b6”Œ43e9ab24fe39cc7”Œ 69a090cf8bd370”Œ2f0a7583”Œab909d4c”Œ5c809459”Œa43ca299”Œ2fc5fe36”Œ60d25f8e”Œ9275ea26”Œ19ebf66a”Œ8ad874b7”Œ55826bc1”Œb6434e34538de73”Œ9f4f785f3183fe7”Œ40cdd2646b4f75a”Œ3c265ea7f59a60c”Œ6aba4139a1b36a4”Œ d840d34c427691”Œ6067e5151c49a4d”Œ43b29ace”Œae0e52fc”Œddfe418a”Œ0cdde112”Œe7c4776c”Œ5f2f3b7c”Œ1d74f811”Œe018fc59”Œcdf96a73”Œ013d46f6”Œ5ef3f72991991d9”Œ4d66e4c99a0ab24”Œ67d27a9108d9564”Œ283efb2e3774651”Œ5da52afc377fe66”Œ590d82b8a89d02f”Œ9e367684cceebd6”Œ0f53de14”Œfc05524f”Œ6aac61a4”Œb006245c”Œ31d5da9c”Œ0cb73d66”Œ29c21113”Œ9dfe5451”Œb59f9fcf”Œ862d6d3e”Œe3d420fbc9362f0”Œ6f418ff547a07d5”Œ1a986090d7db11a”Œb217a315782069d”Œ999ea6f1bae60cc”Œ37948307c311162”Œ5ce9c7dd15b1c9d”Œ092142eb”Œ4f44250e”Œca9c4c00”Œ7ba8845f”Œ811fa1c2”Œd1c6b42d”Œ306c170a”Œ44a07ddc”Œ9e0e9f3f”Œ784a47e5”Œ 4a138ec7d6ddfd”Œc22d07bdc407176”Œ98347edacccbf7d”Œ12b67b0aecf1ea5”Œ56ae3b5b11abaa7”Œ3ae4e7766e325cf”Œcfec41d6db69cff”Œa8e338b4”Œb0b87529”Œ994d82c5”Œed8a42a7”Œ0562a942”Œe0f4c901”Œd43cf026”Œb54f2905”Œ2cac5c36”Œ635c90ab”Œf6c373727f29b7a”Œ33a834b67807eb8”Œ3a599bcf8af7ab0”Œb4da447465e3cec”Œffeb35d90871a2d”Œ29de36ee445a916”Œb6c96200f76134b”Œfc550af9”Œee621a89”Œ3e6a485f”Œfdce04dd”Œb5e993f0”Œ053d1c17”Œ559dd262”Œ0d5ae511”Œ8535859c”Œ2aa76827”Œ7b88b9b5d03e840”Œ7e8058def1f0d75”Œ32ab196b127e6eb”Œ559dac252a22202”Œcd52eda570eff06”Œ375f0865beb95c5”Œ cc21d8854c090e”Œf6ec75fe”Œe0b14c3d”Œ633d35b1”Œd3c3a71d”Œb3fd9df4”Œ36515bfe”Œf5db7d35”Œ822f03b1”Œ2590d172”Œ51d8a479”Œ500d1bb098b5576”Œcbbd2203d1386a2”Œ99f415521ce8c32”Œ1ba905d19ec94c3”Œae49678ddd51da6”Œ93502cc90242cc2”Œ7ed4a33ce276f92”Œ1adf91ec”Œc19476c2”Œ2631a0b2”Œ3dcbffe5”Œd0bf006c”Œ653248c1”Œ081c79d9”Œ49aad51e”Œ0df38d11”Œb4498286”Œ7213196c0227969”Œ1f5d021bba1a18c”Œe3269562d1fe1aa”Œb6b2568fc80e5a3”Œ5c4256e1b90e45c”Œ928883350853ae0”Œ892236a2d083d68”Œcdc4dc5c”Œ043395d5”Œ51d4ad49”Œfb9a804f”Œ56d44e3a”Œ621f3dca”Œd1ed73be”Œ1855f522”Œ39314f1a”Œf987e135”Œ151fc5d13fa258e”Œ772052592e25af7”Œc5515f9c55667f1”Œa2087019abcf445”Œdc1a55753132b98”Œ908c744d74b4081”Œ 3bcdbced9a109b”Œ103b3299”Œ5377f790”Œd8178f14”Œ00bf6535”Œee6cc490”Œ8170c134”Œ7b5de086”Œdf154e8e”Œ05ed8448”Œb9de6c20”Œ80c0d187e5d1db6”Œ34508c778e61391”Œ7ccf4ef9c7aa73d”Œca77cfbb3c95a27”Œcaa350b25d7c9cf”Œ30096c1f2057fba”Œ5a39ed1c1ce8b6a”Œ463f2f83”Œ36d38e9d”Œd297d87e”Œ3499b000”Œ3c8c6039”Œec638027”Œ219862e4”Œ9e7cf73e”Œd536aacb”Œ472ee8e4”Œb3effaa5d4c2aa5”Œf4f4481e031c036”Œaab95a0786874b8”Œ566b77331010bdd”Œc57eebef603bce2”Œ664718836012788”Œa788902910a013b”Œ3e54629f”Œbdd95869”Œ59ec95e6”Œfe33a270”Œ0fea56a3”Œ6c57f618”Œa990d213”Œfd242cce”Œ90c1520f”Œ3bdc2f5a”Œ9748d05df631059”Œf28b7821c8c386b”Œ38235cc92e1af3c”Œ9e17b682fa44459”Œ 84e43bb2cd2794”Œ64e3702d3350589”Œfb91be1e29b04e6”Œ68d00334”Œe2803ab6”Œ3964afd1”Œf750d82c”Œade861e0”Œ9275fc1e”Œc0278357”Œaa482a27”Œ30cfd923”Œba5066f7”Œ646df091591c043”Œ19eb978e2cbe813”Œff42228f645b3d4”Œ4a2b08e95b0669b”Œ41e49fc80927651”Œb82467b3015623c”Œ25aaf4ed9380556”Œ1cd5efb4”Œ2294307e”Œ9e05ac99”Œ6a3899ac”Œ4f3d1040”Œ5aec4d60”Œb9f5384a”Œb589951f”Œ954c5494”Œc4d6aa7b”Œb4d41a6d208532d”Œ14707a98df31a9f”Œ59880c0df14d635”Œ2d583ffce3cfc4d”Œ634d2a7e13e6222”Œ2aa0d3744c187b3”Œ4908aa37eb0d9ec”Œ4c921606”Œ57d7cb7f”Œ1172a598”Œd3fe0969”Œ98c9e7fc”Œbb65db69”Œ179923fe”Œ5177f50d”Œ7e098de0”Œ0ad88332”Œ f16ec32a9d2751”Œeff69ea90859dc4”Œa8efdbc25c7ce8b”Œd8e1b9b71d3eacc”Œ4964d689e0f78c8”Œb176c3ce70c1886”Œceaa3122e101a24”Œ8cbc780b”Œb361c0f5”Œb9e403d5”Œc0ff5985”Œc6d359e8”Œ5bf8d12b”Œ29600bfe”Œ99a1ced3”Œ7d2a65df”Œ540b8f54”Œ 46325b2cefdbfb”Œ b5677b7883d487”Œ988d730de322833”Œef4e003e5f70f2a”Œ df3a92793773a1”Œ97e4f76e6cdf0f8”Œe982fdef9d35b51”Œfcd9c627”Œ123684e7”Œ4cc014bd”Œ7053dfc6”Œ1f6d245b”Œ41f140ea”Œ5c21b9bc”Œ47e1bb83”Œ244a938d”Œf770095c”Œe5ee155943a5337”Œ8e6bc00974e7503”Œ4df42cdfd71a995”Œ8b40e55c2757d9a”Œac6788970688643”Œ2d39200e50c4edd”Œ b4c20634599626”Œ45dc278c”Œd5a50332”Œ8cb022af”Œ9e7f319c”Œ9e522bd5”Œ3e4e3435”Œ9c31f9b8”Œc51e2f35”Œb6dffcb4”Œbd01c786”Œd1d8f407ba2e737”Œeceff6dfcb9d5a7”Œ276c9bcbed19d7d”Œ2a32bbb64ce1689”Œ4861afcb9fed531”Œa5b14d7a3c60354”Œf3df7079f2ebf57”Œ78c135b4”Œce2a2706”Œcb6ba32a”Œ941f1e03”Œa0aa2e09”Œb45340f5”Œc0518236”Œc408550f”Œ3c43ab5e”Œ6aca33ad”Œ1495eeccfcd624e”Œb51b1d8c16b6a9e”Œcd14f5411a7a25e”Œd1a53b5f2e31a7a”Œ83b9b483b774d4a”Œ79cd627548da05b”Œ8c6e8b33f3dbef1”Œ12dc84e0”Œ26740690”Œ8dd8fa24”Œca16cf21”Œaf0ccf6d”Œe8452868”Œd24a011b”Œ167382f6”Œbc673b20”Œ0e1d440c”Œ96a4bc87f1dec9e”Œea3b83da5eb66ca”Œ7d191af8ea25c3b”Œb7e60df5b8241b9”Œ1625ff117862aee”Œc7a891b8a566878”Œb67f8ff348b4007”Œ5667f64f”Œ10d14472”Œ1188cefd”Œ5a439d18”Œba1c9194”Œa8c52762”Œc1a38568”Œ88c068bc”Œ49e2fa70”Œdcbd008d”Œc8cb6736b5c3921”Œ716e58383424de8”Œ43caea6b9ff6795”Œ6500e264ffaa87b”Œdbe2c8c451810b5”Œ407f89c3eedf806”Œ9fab0c7262bf79c”Œ149eed7a”Œ13ced903”Œ1fbd7a90”Œ47966028”Œde0673e3”Œa0bafcff”Œ75ec37bb”Œ28bd97a4”Œe914d8a1”Œaf4500f2”Œ833630ef9404dbe”Œ5aaec1d282384a3”Œ6ed6fef0dd1e4ed”Œeeb7ff0e383cbfb”Œ3437ace0b662dad”Œ72d5dd960d9a2d7”Œ2f56b104c0accfb”Œ65db964d”Œ5fe58ccf”Œfff28844”Œ52490228”Œ1d29a971”Œa43493d5”Œbbbe4acf”Œ9583f1b0”Œ5d9d5022”Œ89514b46”Œ66f8b997071ca2a”Œa24eacb851b5788”Œ855b5224c678f35”Œ254a38f6bf56159”Œ2929ebe0c0f911c”Œca2467ffbbba83a”Œd6e1fdf24d231ff”Œac1917c5”Œd9688d24”Œ6fdf2b31”Œfb0d45e3”Œ15e5d9f7”Œf3850718”Œ03435439”Œf15e619b”Œ684c25ce”Œ3b2e6acd”Œ95f461d8f965c7a”Œ2786a6656d0d81e”Œe00623d52854d9c”Œ3f5bef5e994c19c”Œ77c05bb5db82470”Œ21cd26fcc9edb24”Œ 5184be02e37a2a”Œad383931”Œ106c37f6”Œ17cb55af”Œ97fb3619”Œe2155a4d”Œfa89d0a7”Œ980ad14a”Œ5705fb9b”Œ128e890c”Œ75a0ea70”Œc12506113d9c1e8”Œ81ccc38455a21e9”Œ9e0b8c2e84bc65a”Œd87f3456633bc55”Œ1117db926bddf40”Œe4ff034c368dc3d”Œd4f08db89986c49”et”b. 8 transposed(H 8block2_items_varietyregular0°¾À  0}blosc úÿ €¶™ à’…^ (CLASSCARRAY (VERSION1.1 TITLETREEÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÖãÍ™ ™ 8 transposed (kindstring (nameN. úÿúÿ -!ii foààÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿŽ-!nn lbààÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿŽ-!tt ojààÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿŽ-&01234aeààÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿŽ-! tcà`àÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿŠ,!@tà€àÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ‰,!@_à€àÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ‰0!@1à2€€àÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ‰,!@_à€àÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ‰9!@01234567890123456€àÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ‰é?  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcàÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ®*!àÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ*!àÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ*!àÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ*!àÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ*!àÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ*!àÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ*!àÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿŠ?ãÎb®P§™Ó̆bb—òiá8“ñ“éñ1ÃËÅøÿ\’Ç‚S¶p]ðƒÕ.Ev#ù{°îÝ5ö÷¹¬®¶Ì¶…fÕm(ôYÕ»›­—ës“ /é ý× ¿b³àÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ®?;~¡Øõ13N[ Â뉽ã[ýI‹Er8öú}èå+ùfJ(i¬z€„™Ø…ç€33 È-bÇpú ú™Ê¾Ùó3·å/ž[ìÒTâ$`ãAŽ’¢‡Ôuà–â½móg$àÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ®?›Äk«Np–O-µ¨Lþ«ÒšiÌS€Ë£ýà¡ãï À¿ÓÀáGêŒãu¢J}a©Ý“ÝMÊI¡Ù–ô›ÅÝ0Tàÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ®?M" š,XÜÉÆ;–Õ¯“Om¢#ÏÌ׫°…Þ®nl åUô¦6m©¬-‘T‰ áþNS—ˆêˆNÒ‹õ-Apxãœ}——šàÆ »ñE§›ˆÅ¢EæD´=¾‡¯BŸ|ßàÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ®?`¹Øáê2iÜýgØVÇ—Y%"þ‡³"ç´Â`†ïl¥s¨(óÙ£·B¼®„àa „ {|èòªœuü¯Oa'˜ÑR´e@7SüO¶QY[gÿ IJMm™h!Ñ\‡•4àÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ®?5@÷JÙE`Cœ«wo3Uš5këõ0æp+ª¹ãåã)a5º„ASõ†ã„ndøZ+·ŠÃ‡ËTÇÈ:‘°«s™ƒßþu‚LGÙØÀT >ï:hÊÖžÙ\ Á™uk •^lÍ/àÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ®?²ØÔâêóÊúÃÎÔÃàç£ôÞÅÑÛõÑñ×ëï÷ÝäûêÈÀÛôðÛðÏãµ¶óÉÙüîíÒÓñô³ÝØåÒêÙøïìéçíÝôÅíëÍãØ¾ãÇØô†æØïâìÃô¬œÙéá¿ýñËëóëàÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ®m"¿??  ?@@¿???¿??€ ¿ @  ¿ @ ¿`?¿€€ €@?¿ ?¿@? ¿àÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ®ÿÿÿÿY=!fàÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿX=!làÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿX=!oàÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿX=!aàÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿX=!tàÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿXðÿðÿA?"      :             @¤         g  ù      ¬     u X         A{!  ! ð !Ÿ  !0àÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ9J!àÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ.J!àÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ.J!àÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ.\N!ii àÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ.N!nn àÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ.N!tt àÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ.N%01234àÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ.Ê\˜W úÿúÿÖ(!ooààÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ”(!bbààÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ”(!jjààÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ”(!eeààÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ”(!ccààÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ”(!ttààÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ”(!__ààÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ”+!11À2€àÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ”(!__ààÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ”/)0123456789  àÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ”traitsui-7.2.1/traitsui/examples/demo/Advanced/Dynamic_views_demo.py0000644000076500000240000001134014046644454026300 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! """ Demonstrates how to use the Dynamic Views facility. """ from traits.api import Bool, HasTraits, Str, Instance, Button from traitsui.api import View, HGroup, Group, Item, Handler, Label, spring from traitsui.extras.has_dynamic_views import DynamicView, HasDynamicViews class HasFooView(HasDynamicViews): """ A base class declaring the existence of the 'foo' dynamic view. """ def __init__(self, *args, **traits): """ Constructor. Extended to declare our dynamic foo view. """ super().__init__(*args, **traits) # Declare and add our dynamic view: declaration = DynamicView( name='foo', id='traitsui.demos.dynamic_views', keywords={ 'buttons': ['OK'], 'dock': 'tab', 'height': 0.4, 'width': 0.4, 'resizable': True, 'scrollable': True, }, use_as_default=True, ) self.declare_dynamic_view(declaration) class MyInfoHandler(Handler): def object_first_changed(self, info): info.object.derived = info.object.first class BaseFoo(HasFooView): """ A base class that puts some content in the 'foo' dynamic view. """ first = Str('My first name') last = Str('My last name') # A derived trait set by the handler associated with out dynamic view # contribution: derived = Str() ui_person = Group( Item(label='On this tab, notice how the sub-handler keeps\n' 'the derived value equal to the first name.\n\n' 'On the next tab, change the selection in order to\n' 'control which tabs are visible when the ui is \n' 'displayed for the 2nd time.' ), spring, 'first', 'last', spring, 'derived', label='My Info', _foo_order=5, _foo_priority=1, _foo_handler=MyInfoHandler(), ) class FatherInfoHandler(Handler): def object_father_first_name_changed(self, info): info.object.father_derived = info.object.father_first_name class DerivedFoo(BaseFoo): """ A derived class that puts additional content in the 'foo' dynamic view. Note that the additional content could also have been added via a traits category contribution, or even dynamic manipulation of metadata on a UI subelement. The key is what the metadata represents when the view is *created* """ knows_mother = Bool(False) mother_first_name = Str("My mother's first name") mother_last_name = Str("My mother's last name") knows_father = Bool(True) father_first_name = Str("My father's first name") father_last_name = Str("My father's last name") father_derived = Str() ui_parents = Group( 'knows_mother', 'knows_father', label='Parents?', _foo_order=7, _foo_priority=1, ) ui_mother = Group( 'mother_first_name', 'mother_last_name', label="Mother's Info", _foo_priority=1, ) ui_father = Group( 'father_first_name', 'father_last_name', spring, 'father_derived', label="Father's Info", _foo_order=15, _foo_priority=1, _foo_handler=FatherInfoHandler(), ) def _knows_mother_changed(self, old, new): ui_mother = self.trait_view('ui_mother') if new: ui_mother._foo_order = 10 elif hasattr(ui_mother, '_foo_order'): del ui_mother._foo_order def _knows_father_changed(self, old, new): ui_father = self.trait_view('ui_father') if new: ui_father._foo_order = 15 elif hasattr(ui_father, '_foo_order'): del ui_father._foo_order class FooDemo(HasTraits): """ Defines a class to run the demo. """ foo = Instance(DerivedFoo, ()) configure = Button('Configure') view = View( Label("Try configuring several times, each time changing the items " "on the 'Parents?' tab."), '_', HGroup(spring, Item('configure', show_label=False)) ) def _configure_changed(self): self.foo.configure_traits() # Create the demo: popup = FooDemo() # Run the demo (if invoked from the command line): if __name__ == '__main__': popup.configure_traits() traitsui-7.2.1/traitsui/examples/demo/Advanced/index.rst0000644000076500000240000000007214046644454023762 0ustar aayresstaff00000000000000These examples demonstrate advanced features of TraitsUI. traitsui-7.2.1/traitsui/examples/demo/Advanced/Table_editor_with_live_search_and_cell_editor.py0000644000076500000240000003471114046644454033665 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! """ This example demonstrates how to implement 'live search' using a TableEditor, as well as how to embed more sophisticated editors, such as a CodeEditor, within a table cell. This example also makes extensive use of cached properties. The example is a fairly simple source code file search utility. You determine which files to search and what to search for using the various controls spread across the top line of the view. You specify the root directory to search for files in using the 'Path' field. You can either: - Type in a directory name. - Click the '...' button and select a directory from the drop-down tree view that is displayed. - Click on the directory name drop-down to display a history list of the 10 most recently visited directories, and select a directory from the list. You can specify whether sub-directories should be included or not by toggling the 'Recursive' checkbox on or off. You can specify the types of files to be searched by clicking on the 'Type' drop-down and selecting a file type such as Python or C from the list. You can specify what string to search for by typing into the 'Search' field. The set of source files containing the search string is automatically updated as you type (this is the 'live search' feature). The search field also maintains a history of previous searches, so you can click on the drop-down arrow to display and select a previous search. Note that entries are only added to the search history when the enter key is pressed. This prevents each partial substring typed from being added to the history as a separate entry. You can specify whether the search is case sensitive or not by toggling the 'Case sensitive' checkbox on or off. The results of the search are displayed in a table below the input fields. The table contains four columns: - #: The number of lines matching the search string in the file. - Matches: A list of all lines containing search string matches in the file. Normally, only the first match is displayed, but you can click on this field to display the entire list of matches (the table row will expand and a CodeEditor will be displayed showing the complete list of matching source code file lines). You can click on or cursor to lines in the code editor to display the corresponding source code line in context in the code editor that appears at the bottom of the view. - Name: Displays the base name of the source file with no path information. - Path: Displays the portion of the source file path not included in the the root directory being used for the search. Selecting a line in the table editor will display the contents of the corresponding source file in the Code Editor displayed at the bottom of the view. After clicking on a 'Matches' column entry you can use the cursor up and down keys to select the various matching source code lines displayed in the table cell editor. You can move to the next or previous 'Matches' entry by pressing the Ctrl-Up and Ctrl-Down cursor keys. You can also use the Ctrl-Left and Ctrl-Right cursor keys to move to the previous or next column on the same line. You can also exit the 'Matches' code editor by pressing the Escape key. Finally: - You can click and drag the little circle to the right of the currently selected file to drag and drop the file. This can be useful, for example, to drag and drop the file into your favorite text editor. - Similarly, you can also drag the contents of the 'Name' column into your favorite text editor to edit the file corresponding to that line in the table. """ #-- Imports -------------------------------------------------------------- from os \ import walk, listdir from os.path \ import basename, dirname, splitext, join from traits.api \ import HasTraits, File, Directory, Str, Bool, Int, Enum, Instance, \ Property, Any, property_depends_on from traitsui.api \ import View, VGroup, VSplit, HGroup, Item, TableEditor, CodeEditor, \ TitleEditor, HistoryEditor, DNDEditor from traitsui.table_column \ import ObjectColumn from io import open #-- Constants ------------------------------------------------------------ FileTypes = { 'Python': ['.py'], 'C': ['.c', '.h'], 'C++': ['.cpp', '.h'], 'Java': ['.java'], 'Ruby': ['.rb'] } DEFAULT_ROOT = dirname(__file__) #-- The Live Search table editor definition ------------------------------ class MatchesColumn1(ObjectColumn): def get_value(self, object): n = len(self.get_raw_value(object)) if n == 0: return '' return str(n) class MatchesColumn2(ObjectColumn): def is_editable(self, object): return (len(object.matches) > 0) class FileColumn(ObjectColumn): def get_drag_value(self, object): return object.full_name table_editor = TableEditor( columns=[ MatchesColumn1( name='matches', label='#', editable=False, width=0.05, horizontal_alignment='center'), MatchesColumn2( name='matches', width=0.35, format_func=lambda x: ( x + [''])[0].strip(), editor=CodeEditor( line='object.live_search.selected_match', selected_line='object.live_search.selected_match'), style='readonly', edit_width=0.95, edit_height=0.33), FileColumn( name='base_name', label='Name', width=0.30, editable=False), ObjectColumn( name='ext_path', label='Path', width=0.30, editable=False), ], filter_name='filter', auto_size=False, show_toolbar=False, selected='selected', selection_color=0x000000, selection_bg_color=0xFBD391) #-- LiveSearch class ----------------------------------------------------- class LiveSearch(HasTraits): # The currenty root directory being searched: root = Directory(DEFAULT_ROOT, entries=10) # Should sub directories be included in the search: recursive = Bool(True) # The file types to include in the search: file_type = Enum('Python', 'C', 'C++', 'Java', 'Ruby') # The current search string: search = Str() # Is the search case sensitive? case_sensitive = Bool(False) # The live search table filter: filter = Property # Instance( TableFilter ) # The current list of source files being searched: source_files = Property # List( SourceFile ) # The currently selected source file: selected = Any # Instance( SourceFile ) # The contents of the currently selected source file: selected_contents = Property # List( Str ) # The currently selected match: selected_match = Int() # The text line corresponding to the selected match: selected_line = Property # Int # The full name of the currently selected source file: selected_full_name = Property # File # The list of marked lines for the currently selected file: mark_lines = Property # List( Int ) # Summary of current number of files and matches: summary = Property # Str #-- Traits UI Views ------------------------------------------------------ view = View( VGroup( HGroup( Item('root', id='root', label='Path', width=0.5 ), Item('recursive'), Item('file_type', label='Type'), Item('search', id='search', width=0.5, editor=HistoryEditor(auto_set=True) ), Item('case_sensitive') ), VSplit( VGroup( Item('summary', editor=TitleEditor() ), Item('source_files', id='source_files', editor=table_editor ), dock='horizontal', show_labels=False ), VGroup( HGroup( Item('selected_full_name', editor=TitleEditor(), springy=True ), Item('selected_full_name', editor=DNDEditor(), tooltip='Drag this file' ), show_labels=False ), Item('selected_contents', style='readonly', editor=CodeEditor(mark_lines='mark_lines', line='selected_line', selected_line='selected_line') ), dock='horizontal', show_labels=False ), id='splitter' ) ), title='Live File Search', id='enthought.examples.demo.Advanced.' 'Table_editor_with_live_search_and_cell_editor.LiveSearch', width=0.75, height=0.67, resizable=True ) #-- Property Implementations --------------------------------------------- @property_depends_on('search, case_sensitive') def _get_filter(self): if len(self.search) == 0: return lambda x: True return lambda x: len(x.matches) > 0 @property_depends_on('root, recursive, file_type') def _get_source_files(self): root = self.root if root == '': root = DEFAULT_ROOT file_types = FileTypes[self.file_type] if self.recursive: result = [] for dir_path, dir_names, file_names in walk(root): for file_name in file_names: if splitext(file_name)[1] in file_types: result.append(SourceFile( live_search=self, full_name=join(dir_path, file_name))) return result return [SourceFile(live_search=self, full_name=join(root, file_name)) for file_name in listdir(root) if splitext(file_name)[1] in file_types] @property_depends_on('selected') def _get_selected_contents(self): if self.selected is None: return '' return ''.join(self.selected.contents) @property_depends_on('selected') def _get_mark_lines(self): if self.selected is None: return [] return [int(match.split(':', 1)[0]) for match in self.selected.matches] @property_depends_on('selected, selected_match') def _get_selected_line(self): selected = self.selected if (selected is None) or (len(selected.matches) == 0): return 1 return int(selected.matches[self.selected_match - 1 ].split(':', 1)[0]) @property_depends_on('selected') def _get_selected_full_name(self): if self.selected is None: return '' return self.selected.full_name @property_depends_on('source_files, search, case_sensitive') def _get_summary(self): source_files = self.source_files search = self.search if search == '': return 'A total of %d files.' % len(source_files) files = 0 matches = 0 for source_file in source_files: n = len(source_file.matches) if n > 0: files += 1 matches += n return 'A total of %d files with %d files containing %d matches.' % ( len(source_files), files, matches) #-- Traits Event Handlers ------------------------------------------------ def _selected_changed(self): self.selected_match = 1 def _source_files_changed(self): if len(self.source_files) > 0: self.selected = self.source_files[0] else: self.selected = None #-- SourceFile class ----------------------------------------------------- class SourceFile(HasTraits): # The search object this source file is associated with: live_search = Instance(LiveSearch) # The full path and file name of the source file: full_name = File() # The base file name of the source file: base_name = Property # Str # The portion of the file path beyond the root search path: ext_path = Property # Str # The contents of the source file: contents = Property # List( Str ) # The list of matches for the current search criteria: matches = Property # List( Str ) #-- Property Implementations --------------------------------------------- @property_depends_on('full_name') def _get_base_name(self): return basename(self.full_name) @property_depends_on('full_name') def _get_ext_path(self): return dirname(self.full_name)[len(self.live_search.root):] @property_depends_on('full_name') def _get_contents(self): try: with open(self.full_name, 'rU', encoding='utf8') as fh: contents = fh.readlines() return contents except Exception: return '' @property_depends_on('full_name, live_search.[search, case_sensitive]') def _get_matches(self): search = self.live_search.search if search == '': return [] case_sensitive = self.live_search.case_sensitive if case_sensitive: return ['%5d: %s' % ((i + 1), line.strip()) for i, line in enumerate(self.contents) if line.find(search) >= 0] search = search.lower() return ['%5d: %s' % ((i + 1), line.strip()) for i, line in enumerate(self.contents) if line.lower().find(search) >= 0] #-- Set up and run the demo ---------------------------------------------- # Create the demo object: demo = LiveSearch() # Run the demo (if invoked from the command line): if __name__ == '__main__': demo.configure_traits() traitsui-7.2.1/traitsui/examples/demo/Advanced/Dynamic_range_trait_and_editor.py0000644000076500000240000001542314046644454030634 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! """ This program demonstrates defining and visualizing dynamic ranges. A dynamic range is a range whose low or high limit can be modified dynamically at run time. You can define a dynamic range using the standard Range trait and specifying the name of other traits as either the low or high limit value (or both). In fact, it is even possible to specify the default value of the range trait as another trait if desired. The traits used as low, high or default values need not be defined on the same object, but can be defined on any object reachable from the object (i.e. it allows use of extended trait names). In this completely artificial example, we present an example of the first hotel at the North Pole. The hotel guarantees that each room will be heated to a certain minimum temperature. However, that minimum value is determined both by the time of year and the current cost of heating fuel, so it can vary; but each room is guaranteed the same minimum temperature. Each guest of the hotel can choose among several different plans that allow them to control the maximum room temperature. Higher maximum room temperatures correspond to higher plan costs. Thus each guest must decide which plan (and highest maximum room temperature) to pay for. And finally, each guest is free to set the current room temperature anywhere between the hotel minimum value and the guest's maximum plan value. The demo is organized as a series of tabs corresponding to each guest of the hotel, with access to the plan they have chosen and the current room temperature setting. In addition, there is a master set of hotel information displayed at the top of the view which allows you to change the season of the year and the current fuel cost. There is also a button to allow more guests to be added to the hotel. Notes: - The dynamic range trait is the 'temperature' trait in the Guest class. It depends upon traits defined both in the Guest instance as well as in the containing Hotel object. - As with most traits code and examples, observe how much of the code is 'declarative' versus 'imperative'. Note also the use of properties and 'observe' metadata, as well as 'cached_property' and 'on_trait_change' method decorators. - Try dragging the guest tabs around so that you can see multiple guests simultaneously, and then watch the behavior of the guest's 'temperature' slider as you adjust the hotel 'season', 'fuel cost' and each guest's 'plan'. """ #-- Imports -------------------------------------------------------------- import logging import sys logging.basicConfig(stream=sys.stderr) from random \ import choice from traits.api \ import HasPrivateTraits, Str, Enum, Range, List, Button, Instance, \ Property, cached_property, observe from traitsui.api \ import View, VGroup, HGroup, Item, ListEditor, spring #-- The Hotel class ------------------------------------------------------ class Hotel(HasPrivateTraits): # The season of the year: season = Enum('Winter', 'Spring', 'Summer', 'Fall') # The current cost of heating fuel (in dollars/gallon): fuel_cost = Range(2.00, 10.00, 4.00) # The current minimum temparature allowed by the hotel: min_temperature = Property(observe='season, fuel_cost') # The guests currently staying at the hotel: guests = List # ( Instance( 'Guest' ) ) # Add a new guest to the hotel: add_guest = Button('Add Guest') # The view of the hotel: view = View( VGroup( HGroup( Item('season'), '20', Item('fuel_cost', width=300), spring, Item('add_guest', show_label=False), show_border=True, label='Hotel Information' ), VGroup( Item('guests', style='custom', editor=ListEditor(use_notebook=True, deletable=True, dock_style='tab', page_name='.name') ), show_labels=False, show_border=True, label='Guests' ) ), title='The Belmont Hotel Dashboard', width=0.6, height=0.2, resizable=True ) # Property implementations: @cached_property def _get_min_temperature(self): return ({'Winter': 32, 'Spring': 40, 'Summer': 45, 'Fall': 40}[self.season] + min(int(60.00 / self.fuel_cost), 15)) # Event handlers: @observe('guests.items') def _guests_modified(self, event): # The entire guests list changed if isinstance(event.object, Hotel): for guest in event.new: guest.hotel = self # the contents of the guests list changed else: for guest in event.added: guest.hotel = self def _add_guest_changed(self): self.guests.append(Guest(hotel=self)) #-- The Guest class ------------------------------------------------------ class Guest(HasPrivateTraits): # The name of the guest: name = Str() # The hotel the guest is staying at: hotel = Instance(Hotel) # The room plan the guest has chosen: plan = Enum('Flop house', 'Cheap', 'Cozy', 'Deluxe') # The maximum temperature allowed by the guest's plan: max_temperature = Property(observe='plan') # The current room temperature as set by the guest: temperature = Range('hotel.min_temperature', 'max_temperature') # The view of the guest: view = View( Item('plan'), Item('temperature') ) # Property implementations: @cached_property def _get_max_temperature(self): return {'Flop house': 62, 'Cheap': 66, 'Cozy': 75, 'Deluxe': 85}[self.plan] # Default values: def _name_default(self): return choice( ['Leah', 'Vibha', 'Janet', 'Jody', 'Dave', 'Evan', 'Ilan', 'Gael', 'Peter', 'Robert', 'Judah', 'Eric', 'Travis', 'Mike', 'Bryce', 'Chris']) #-- Create the demo ------------------------------------------------------ # Create the demo object: demo = Hotel(guests=[Guest() for i in range(5)]) # Run the demo (if invoked from the command line): if __name__ == '__main__': logging.info('Start!') demo.configure_traits() traitsui-7.2.1/traitsui/examples/demo/Advanced/Property_List_demo.py0000644000076500000240000001120114046644454026312 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! """ This demo shows the proper way to create a **Property** whose value is a list, especially when the value of the **Property** will be used in a user interface, such as with the **TableEditor**. Most of the demo is just the machinery to set up the example. The key thing to note is the declaration of the *people* trait: people = Property( List, observe = 'ticker' ) In this case, by defining the **Property** as having a value of type **List**, you are ensuring that the computed value of the property will be validated using the **List** type, which in addition to verifying that the value is indeed a list, also guarantees that it will be converted to a **TraitListObject**, which is necessary for correct interaction with various Traits UI editors in a user interface. Note also the use of the *observe* metadata to trigger a trait property change whenever the *ticker* trait changes (in this case, it is changed every three seconds by a background thread). Finally, the use of the *@cached_property* decorator simplifies the implementation of the property by allowing the **_get_people** *getter* method to perform the expensive generation of a new list of people only when the *ticker* event fires, not every time it is accessed. """ from random import randint, choice from threading import Thread from time import sleep from traits.api import ( HasStrictTraits, HasPrivateTraits, Str, Int, Enum, List, Event, Property, cached_property ) from traitsui.api import ObjectColumn, Item, TableEditor, View # -- Person Class --------------------------------------------------------- class Person(HasStrictTraits): """ Defines some sample data to display in the TableEditor. """ name = Str() age = Int() gender = Enum('Male', 'Female') # -- PropertyListDemo Class ----------------------------------------------- class PropertyListDemo(HasPrivateTraits): """ Displays a random list of Person objects in a TableEditor that is refreshed every 3 seconds by a background thread. """ # An event used to trigger a Property value update: ticker = Event() # The property being display in the TableEditor: people = Property(List, observe='ticker') # Tiny hack to allow starting the background thread easily: begin = Int() # -- Traits View Definitions ---------------------------------------------- traits_view = View( Item( 'people', show_label=False, editor=TableEditor( columns=[ ObjectColumn(name='name', editable=False, width=0.50), ObjectColumn(name='age', editable=False, width=0.15), ObjectColumn(name='gender', editable=False, width=0.35) ], auto_size=False, show_toolbar=False, sortable=False, ) ), title='Property List Demo', width=0.25, height=0.33, resizable=True ) # -- Property Implementations --------------------------------------------- @cached_property def _get_people(self): """ Returns the value for the 'people' property. """ return [ Person( name='%s %s' % ( choice(['Tom', 'Dick', 'Harry', 'Alice', 'Lia', 'Vibha']), choice(['Thomas', 'Jones', 'Smith', 'Adams', 'Johnson']) ), age=randint(21, 75), gender=choice(['Male', 'Female']) ) for i in range(randint(10, 20)) ] # -- Default Value Implementations ---------------------------------------- def _begin_default(self): """ Starts the background thread running. """ thread = Thread(target=self._timer) thread.daemon = True thread.start() return 0 # -- Private Methods ------------------------------------------------------ def _timer(self): """ Triggers a property update every 3 seconds for 30 seconds. """ for i in range(10): sleep(3) self.ticker = True # Create the demo: demo = PropertyListDemo() demo.begin # Run the demo (if invoked from the command line): if __name__ == '__main__': demo.configure_traits() traitsui-7.2.1/traitsui/examples/demo/Advanced/test_table_dc.h50000644000076500000240000127055014046644454025166 0ustar aayresstaff00000000000000‰HDF  ÿÿÿÿÿÿÿÿhqÿÿÿÿÿÿÿÿ`ˆ¨ àTREEÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÀHEAPXÈdataHˆ¨ TITLE (CLASSGROUP (VERSION1.0 8PYTABLES_FORMAT_VERSION2.1øTREEÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ°HEAPX htable_i_table8SNOD(H(H TITLE (CLASSGROUP (VERSION1.0 8 pandas_type frame_table 0pandas_version0.15.2 8 table_typeappendable_frame H index_cols(lp0 (I0 Vindex p1 tp2 a.  values_colsa(lp0 Vint0 p1 aVint1 p2 aVint2 p3 aVint3 p4 aVint4 p5 aVfloat p6 aVobject_1_0 p7 aVobject_1_1 p8 aVobject_1_2 p9 aVobject_1_3 p10 aVobject_1_4 p11 aVobject_1_5 p12 aVobject_1_6 p13 aVobject_1_7 p14 aVobject_1_8 p15 aVobject_1_9 p16 aVobject_2_0 p17 aVobject_2_1 p18 aVobject_2_2 p19 aVobject_2_3 p20 aVobject_2_4 p21 aVobject_2_5 p22 aVobject_2_6 p23 a.  non_index_axesq(lp0 (I1 (lp1 Vint0 p2 aVint1 p3 aVint2 p4 aVint3 p5 aVint4 p6 aVfloat p7 aVobject_1_0 p8 aVobject_1_1 p9 aVobject_1_2 p10 aVobject_1_3 p11 aVobject_1_4 p12 aVobject_1_5 p13 aVobject_1_6 p14 aVobject_1_7 p15 aVobject_1_8 p16 aVobject_1_9 p17 aVobject_2_0 p18 aVobject_2_1 p19 aVobject_2_2 p20 aVobject_2_3 p21 aVobject_2_4 p22 aVobject_2_5 p23 aVobject_2_6 p24 atp25 a.  data_columnsa(lp0 Vint0 p1 aVint1 p2 aVint2 p3 aVint3 p4 aVint4 p5 aVfloat p6 aVobject_1_0 p7 aVobject_1_1 p8 aVobject_1_2 p9 aVobject_1_3 p10 aVobject_1_4 p11 aVobject_1_5 p12 aVobject_1_6 p13 aVobject_1_7 p14 aVobject_1_8 p15 aVobject_1_9 p16 aVobject_2_0 p17 aVobject_2_1 p18 aVobject_2_2 p19 aVobject_2_3 p20 aVobject_2_4 p21 aVobject_2_5 p22 aVobject_2_6 p23 a. (nan_repnan 0 encodingUTF-8 (errorsstrict 0 levels  0 metadata(lp0 . hinfoE(dp0 I1 (dp1 Vnames p2 (lp3 NasVtype p4 VIndex p5 ssVindex p6 (dp7 s. øH8Ýindex@int0 int1  int2 int3 int4 float ?@4 4ÿobject_1_0$object_1_1,object_1_24object_1_3<object_1_4Dobject_1_5Lobject_1_6Tobject_1_7\object_1_8dobject_1_9lobject_2_0tobject_2_1ƒobject_2_2’object_2_3¡object_2_4°object_2_5¿object_2_6Î@4(Ýà’…^SNODø; <@>dÿÿÿÿÿÿÿÿ (CLASSTABLE (VERSION2.7 TITLE 0 FIELD_0_NAMEindex 0 FIELD_1_NAMEint0 0 FIELD_2_NAMEint1 0 FIELD_3_NAMEint2 0 FIELD_4_NAMEint3 0 FIELD_5_NAMEint4 0 FIELD_6_NAMEfloat 8 FIELD_7_NAME object_1_0 8 FIELD_8_NAME object_1_1 8 FIELD_9_NAME object_1_2 8FIELD_10_NAME object_1_3 8FIELD_11_NAME object_1_4 8FIELD_12_NAME object_1_5 8FIELD_13_NAME object_1_6 8FIELD_14_NAME object_1_7 8FIELD_15_NAME object_1_8 8FIELD_16_NAME object_1_9 8FIELD_17_NAME object_2_0 8FIELD_18_NAME object_2_1 8FIELD_19_NAME object_2_2 8FIELD_20_NAME object_2_3 8FIELD_21_NAME object_2_4 8FIELD_22_NAME object_2_5 8FIELD_23_NAME object_2_6 8 FIELD_0_FILL@ 8 FIELD_1_FILL  8 FIELD_2_FILL  8 FIELD_3_FILL  8 FIELD_4_FILL  8 FIELD_5_FILL  @ FIELD_6_FILL ?@4 4ÿ 0 FIELD_7_FILL 0 FIELD_8_FILL 0 FIELD_9_FILL 0FIELD_10_FILL 0FIELD_11_FILL 0FIELD_12_FILL 0FIELD_13_FILL 0FIELD_14_FILL 0FIELD_15_FILL 0FIELD_16_FILL 0FIELD_17_FILL 0FIELD_18_FILL 0FIELD_19_FILL 0FIELD_20_FILL 0FIELD_21_FILL 0FIELD_22_FILL 0FIELD_23_FILL 0 index_kindinteger 8 int0_kind(lp0 Vint0 p1 a. 0 int0_metaN. 0 int0_dtypeint32 8 int1_kind(lp0 Vint1 p1 a. 0 int1_metaN. 0 int1_dtypeint32 8 int2_kind(lp0 Vint2 p1 a. 0 int2_metaN. 0 int2_dtypeint32 8 int3_kind(lp0 Vint3 p1 a. 0 int3_metaN. 0 int3_dtypeint32 8 int4_kind(lp0 Vint4 p1 a. 0 int4_metaN. 0 int4_dtypeint32 @ float_kind(lp0 Vfloat p1 a. 0 float_metaN. 0 float_dtypefloat64 @object_1_0_kind(lp0 Vobject_1_0 p1 a. 0object_1_0_metaN. 8object_1_0_dtypebytes64 @object_1_1_kind(lp0 Vobject_1_1 p1 a. 0object_1_1_metaN. 8object_1_1_dtypebytes64 @object_1_2_kind(lp0 Vobject_1_2 p1 a. 0object_1_2_metaN. 8object_1_2_dtypebytes64 @object_1_3_kind(lp0 Vobject_1_3 p1 a. 0object_1_3_metaN. 8object_1_3_dtypebytes64 @object_1_4_kind(lp0 Vobject_1_4 p1 a. 0object_1_4_metaN. 8object_1_4_dtypebytes64 @object_1_5_kind(lp0 Vobject_1_5 p1 a. 0object_1_5_metaN. 8object_1_5_dtypebytes64 @object_1_6_kind(lp0 Vobject_1_6 p1 a. 0object_1_6_metaN. 8object_1_6_dtypebytes64 @object_1_7_kind(lp0 Vobject_1_7 p1 a. 0object_1_7_metaN. 8object_1_7_dtypebytes64 @object_1_8_kind(lp0 Vobject_1_8 p1 a. 0object_1_8_metaN. 8object_1_8_dtypebytes64 @object_1_9_kind(lp0 Vobject_1_9 p1 a. 0object_1_9_metaN. 8object_1_9_dtypebytes64 @object_2_0_kind(lp0 Vobject_2_0 p1 a. 0object_2_0_metaN. 8object_2_0_dtypebytes120 @object_2_1_kind(lp0 Vobject_2_1 p1 a. 0object_2_1_metaN. 8object_2_1_dtypebytes120 @object_2_2_kind(lp0 Vobject_2_2 p1 a. 0object_2_2_metaN. 8object_2_2_dtypebytes120 @object_2_3_kind(lp0 Vobject_2_3 p1 a. 0object_2_3_metaN. 8object_2_3_dtypebytes120 @object_2_4_kind(lp0 Vobject_2_4 p1 a. 0object_2_4_metaN. 8object_2_4_dtypebytes120 @object_2_5_kind(lp0 Vobject_2_5 p1 a. 0object_2_5_metaN. 8object_2_5_dtypebytes120 @object_2_6_kind(lp0 Vobject_2_6 p1 a. 0object_2_6_metaN. 8object_2_6_dtypebytes120 0 NROWS@dTREEÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿˆÿp<(Ý  ;›M`5²¿a1ed8f2d8b8a9850eef27646045f0dda921ef8cf2ae9ef79342b7834a8bd96c6fb17fb6d36cccce779936df6966dd268ef1d8a7e09c3ec21f0e40756e85ccd7cf14b16965a9984dc0b3e918aee13330ad3e01bf7c559a69d133413482 ã~Ä"¹@Ø?de66deda9ce5673d9d30ca39d9f89773306b28929c80c283011680a41491e6294fcd75a32ae9c22319adb3d66c301fd20831a4006d86c9eb3205c71d43064215683c2c6a4f39b342c27562d953f9f8e14ea66ce52b329a0bf86f9f1b4Îk ÷Ô?92d7c410e45bd1a398898d2df24bc1e6a0e78f76defbbd80d9688e04706b2800b6c13279efbad3ae 6fb804a87e444751c817e7d97c4ea6070f4f69ab1591e3c3724912d5981d5b0110173f85fe94277d9c5cdd3e25ca21a91cdcc31cb¡«šØJâ¿6eb28adb960e7c7a98706d8f1508353d1efedd251fe12061f818e3c3140eecae11d480cfb4c4624984bb9bda88866cc27f0a96b9d9846a1cac7214a36566992482c9c1acb23f482fc50c8ed86c8c95791661a03a5dfaaa35fef621d7c®ØN,áÙê?3ddeeb10ff72442c69147c66eabcd7e52dff5f8b64eea29c536e0063d2d4f30d3abcde9f6ac034067179fa3389c7cfa440e2d0c764b0701c59788968fe835a8448b85ffd23efceed29d005ffc86a3b419098c788286a3d5a98d96ee0aPõpXêEó?6483544fe963039f9b3b579e12af26bb7e0522a78c4a2a7555ad88b7b416c89b4b8fc8a6c940ec0b 66266cac0c476ffb22e7295dd0eddc9f1ccf7fad2d7063d4718a15215a7feec5a632dacf0283647596e187261e0a5cc72246b2da§1–Ü2`Ê¿886d01826edeb4a76bdd81d7d7739faf54310096a2e25becf8757997517e19db6d706a2d330257842994c1fb23c15a1aeb8c8689285ba4c920c9082dcc26ccced3971540bbe582f780f24bd49c41086d09dec6e6b1f07685910d653ce ™3OÉiCú?65b7c139667a6ecc0dd05c318db61e85a95d1d7563c856fabc851e24009b7b93c9a4862634431e8d6941887a47e51781ffad972c09cda284ff41168b22f215d8bfaec8d175ffda20043f45d670ddf099bf8cd63d247fcc9d845df0932ÓNÆÜœÃ?eb441e3d2a9ecd0cacc6e2dbee6b69e053a1fdf6e2641fa794b8056f559733d23ff05a8e20d215872d93436279b0e2e296ada23a03c2894f4f95002b4dafe7213d2c410239e1b644f59352f78ede6df8bdbaa16c6f11ba397dbc6bb7c [-;«Î¿888fc7eb52dcffa97b8cbf026d734405ee51647377e11a27c2e6f402e49b999c8cb743e7ef2c79f1d8d986a8b73f758d38e986edb5fa3bf6ba7216cf445e82010d72bff6c94562ef328f6ddf49087d451ba1db5c2dd427ab42343563b Ì –ýwÔ¿b1e841df91642aa44ca49e71b6a3b91d94b8c23bff59cc9695874ad35da6912a9b78d29315a1251cc55a9237a0eaaee5fe701a3cfa0a7c5d884cb0be161835e02402c6124d40 6cb2a70628d877463fe196e350f22 57e002d6ab3810 †µÕgoÿ798afa2dd5902635e774ac0bab797d21417df68a69f9d3ab175a5ba15876523a0ed6e1d6254567844c34dbee8e89dc6e0df53bce8a76b41f93303f8844346984c9eeb0f8fb7073a649c2ebe0139 cf736e246d43d2ae833f18a16776c ¨¯Øà¿2d345ebb73c4bd3c6b4b4eb65e5b02a1ccbe28c360ee9d114c946f94e278316e995132b6074d7761ba9a613a5005464a6c83b5cee855acd45205f44c2ecd896d8c458273f102407a636176a9a3e6bf038ea85bf0b58c802a9ce2385ad  bë“V3ç?52eae87048f48ebee4ef229e924bc0cd175249128ef21ee097db61b050ee9ca0bda04fa5fb13586fec2144149efd3054336a3376b08b9ba98016e580370ff2a863583d58f9ac127542d6deb0cc1d27d6d8c0bf1091cdeef37a0e7fb78b‰LOÇU£¿498e5715bbd9bf1612c698449a0bacbdc676f195f864fe2293e10521f435dc94bff11fea4f8136f010aca573c66e203c3f658186c4e03f898594156be60a66dbf79423909632847828baae5c126859be0bdae54589c97fe7e4c2fc3ce ½þm—šô?d6f9d52c846790af6f354f8b9b459abf5fdb217da79c2bfb2fe0ede1e9d442cfd12fb3bc2c43ae94b7e010b75586152c14f1878e0f9569700c3cf2903fd6b1e795c2559f19d944ffea7461c1441b190e973dcd8b7566b77c1a868ec1b —ã«¢Y5Þ¿87aad7c1bf836ce08cbe9cc735547d4af3879635c41db080c9538c55213645ff00ad777df58e620aa542c3414b83f7699c684b40990ac299a4eb969e9866e3d3521957db9f8d5bb22fe79b02215823fe865d41a9f1eede8cdbab6f14b  ò#%Å?0a705b2f0d4e2e72ced21199c1c2e7dc363f9f1c7ee1dd3436414725c843d9023fc18e54258d99e32e662ab8fbd7439b32cb1cad1dd2bcd86b568750dae024cc4ee55f1f80869a60dc256dedfa1d1d80899b39da5baa2c4cbc4746a7di[ÒÏ"k@63268bc39027ca8c566f5065209702f0730de3c51c73e77c29bda177840c798dc936abfdff2144bfc51174519886a85a4ea0153690c73452b4e1b245c98d6fcac6b0e558fcfe9352a4858c9b397add9b44ecd1ee4a52ba3bdb7f9beb3áýšÌþëÑ¿7fdc371872afca731ca4638c27f80a70bdeb873ba909d91c5f9cd04c14438f43094e2bbc9630bb53ac7f5bd652bc110111958f6a01fc9043f8dc38dc2c9b1cb98d9c2baf227bf69b5c7e30c1dc6a4baf239b43df0187ea6d3be3d3cbf 8IiׇõÛ?7efed34857acbdda54f8ca1106b1be8d2bed416cb5e79bad3b081d66ca71d5ad5c8ecea8be175de3a6ed1dc99bbf1736a7e34a40a3926dc382fc6b5ddb8dd5b58c1ad9ca2e1d9bfcf9e8e631ad58131bc20fd67713732251251234128“‹Ì³0õ?3904b4a1d9a17f2251460f7b375cb9157deb6be5140722a7117ad5de948f81a1d0f4281c8fc909ab7e8ded37c16a520f11df99c117b8f7e309aed70800f2c7421efe2d5fecccad059c1ae090942a9a652cc419424fd94e88e40d76d00 ñE"æÑ?671904b364144c150f02646873a00e94427ce9aa2f0fa22522f12b628ccd94d172970840d3eed2d2208a330864b7f30702804595ee4f3c9c2d70278abd7a73cb409bf2904e4c6537919ba1aa10d56a8e4652497aa982beb8741531e0d “rS«çñ¿5b5a438b18eb06e9b24175345dcaf3765208d103aeb44e92729c0b5c78974fc96ea3e6a248fa443dddb06f725f5f989c099ad4dbb279d0f4693ee3df1a10a74a45818a52893757072720c9869cfc3cdb2a75209b622a1d397daa57c7e é8€p×?3d0a67b8c893cd97a9990d92d4a5077917122e66091b7042996bb8e031ca98b792d93b6b39f1e9ccd39134e5c15cfc0319d242d23f93b1 1da3c3f1f84bfb6e8fb50cbd715cbe8cca19a9c207d979d52176ca3b917cc0e9f84ab38701ñö˰+ë?42d78bca095dcaaa7450b86bc1732b3867d7182f7c031a9dee276a95c3e392ea4d61749d8087e5ecd6fa11d9254654543b0a1a124075ac4dd2498e300a6d91f400bdaa1328302f2871dc46691e854d445d498d6c27 4f86a3c760ace01ú£…´ªï¿8b7516ace67eedc6e48c7d01daea9f5407713d52a846c56f3feeec60399699b9c4792aeb49d8559026dd14b0c892f46e5daed2874c22a0effbb69ffdcc0111a55afd90a9fcf27a0fa1631f5bba5c0730d1674d819d167881d87045c40 Ã<Þ¹÷?ded69b63153f3e6f304c2ffddc0050a62188728d52a61141f823b7ada4061911f08c87f9157271f025aaddf60b9ef5314a43a45e8ac403af932015299a0157ac07b15fd51370d929aeeebf23147408d60554943d1fca873b5b0fbd9e6Ë}U®ãÝ¿76ca9c2d940eb6f9797074bd726145c4e0969fc4fa4f12fd696524c1b93558cddd9ed6464a9e239f8a70993d33b86ef59e48f5b4e289e1ffb03d54d479d383579fd61f479eb93a00a3cb552dd4bfd0860951026b2d639a41002a88e61è n`åä?461085d893a11c39051001087ce446ec094f948e8821b7c77e9a3ff0512b20d81c335bd9e1fb9e2ae3c1cff498d00e9782fb7019ea239bbd23411220dbdbede6f6366dd383adb764b01d844b85613f6c390baea93fa9562871236e575Å)lû¿dbb918e58c6d095387268444487f24fb143c8a41fe53fcd82028621562d23ce1dc901f74657ca6bf12dba3135b221ffd59fa00e83a61172dec9125314d44f1fe33357ff4c34e5c4f3a2d7e7c5022907ba95ae7e646ef4385d4d64b294øåQ †ãê?2202238974818e84dfafffeb8afb1d0c565f64bf00f82d0509fef4d4c4c853c864a17d4e441225548c308b74f90bca05c9f09304eaff4bb0b9205e2cfa23c394c5f008bbd0822d4a058e2ed02a6a6052409f79af02b7ae045f968ae90  ÿ+-å)È¿22efc8c618adacb7d4a8035fff951ab0eed60ee8e44fee2d6044864bb59a73ccd7ee6d91d290ae6c d54865080c122b3755ff68777c4ead0930dd684e1c8765e3cf60215eae0b5bed21687404b4d88c240b2f5e1ee13fc0965e4f53af! \ùvUaÀ¿5f5c1431d36e2967b1f88698780376c16115a64a159e584975d661ba0f904cf564a8547d1ce3dac195cc9bb6d84a9f53b8a21c0974c56f 94a3eedd211d0687baa6883323fd537ab0db15767b3ee06a7076a7f6759f47887abcea580a" ’fóôï5Û¿24466edb5f794d925ebc5e242826815a52ebf856d7425d91e0db82ca0635e06e20e44bdf1c05100635e8453f0c377b4e90f4ddc56dea3ed55d4bce9caccdfa4683430477dfc436be0486d02367ca4573fd5013f23f5c3ac6474bcac23# Ǧºô?ffc476f3f871a5610b57312d0ec7f63695650461566f41f21ca550788c62c3e74faf62e3911bb68b3771ea29f3ed0fea816bc67fff4772e8ac9420fee4142c200204ad32cfc8fd5539de9c52465586b3b681175489f095ad42560a7ae$‚J!6l„ð?a16bbc8245c056bfb65db101b0c480c4abedbab11a7f3b7e27200642fdc2cf84d5644fcbe8b65fe2d0595071f8b3f8b7f909a8083e8a01ffd9474c6d26efe5b955f097363b8fbb626e5116db4445cd55ceb206a7d2d3d68104f85bf4e% S( ¥AÛ¿0c68dddace5c7255b45c5a2ad2ac91b82440ebbbf8c38c545e0432f3fdf346c9e731f300a624bbf98daedb05e4828ddf8f3649f0c64eb25d9ea7500a581f14fe47fcbd8531a7 1230d8580aedce8073359e88f449a25a37071edef0b8& âmsSð¿12d6634350aa1c764c53dfb7f79675ffa18e078378040c694308a2329ea3c5f8379c22cc366c6370368459543ce6bffc0cb25ab5553d475762da0c5fa0e32f2e3f1022796212ecf54fb051a1cf1d729e50bc009bf8ad83b45bbf09005'¶i¿¨õÏ¿39390e60bd7a4b7d455abef23e8d4cddb77a2ed815814ec9306f09502b6f7738461b23f40f5b492721db68bd70a5456491119a7dd6a992 69fbdd759568a689e8998c0aed3ccdc03174e0d399cbb8cbcae6818d511b445d90e5115876( p¬¨©(†ã¿a076b39f73c34fd865568589bd6078334bc582ec22487ccb00f2e71fc5833c5ed9e9ff6ed695aad271f3729ff79b158a28c7dbe2a476ef 4e387062b4493132ff7f4042a25582577c8e2f9d70a6d6cbb85172b7a4fc360268c2f2a045)]zάóãµ?2ab1d67c33f492b90eb392b3788cad6b01048c5344e39d8ff9b921de1f2c9755480521190665eeee d7170c15dc3fa923d84085f9ea52e8064d33f9a73aa93ed7c031fcbebc35f5f21d8c47ea86acf49363cbaa3c1477a3f859d21917*ð€9-Ù„¶?67ac715cc8818b89454867eb01020ab92b1b180134d4476508bb2d8915eb5069688976cbd9cbe3553a71189f3c0694e fb8a85024271ddd91327795e54efcbe876f95de3bb801715b466940dbae4bd898c15930caedf4bb772c252e92+ƒ„Í‘£nó?8d1ea62448209c362dac69a79fb139c0d32107b8e38a5ff28cc0332dcaafc38ad4adf9505475399ec48f781425954b994460ec04c477c0199c4834d5bc20d2ba4fa3fdd560f61d7bbda76ebd716769ab175cf864383d84fa67eca411d, Õ™žT·dÉ?4833ff579c771ff13788a1b6df196a16ec1f0d343232191c2ceee50d99458fafd9084ef9012a0f6bfe849d66e14e54dfe9843980894dedf87a36f4f4ddf043871598af3284c2 d8b17d40f7b8b2416be25d268d8e6be12db13302bfdc- .Ø\BøÙ?ecf5251cefa9aceab5418b74f5276d27442472eb7862305fed82c8d057b16cd83c4c1f60958bb7d9d623d01c72ee10543f6ef4796cdd24b3ceb0e5a1230f96b999434c218019897aa215512cda7f2b977fd82309226b58679c78d92f7.E…u‰¼Zü¿7160d0d0645d8bbbae28a6d7ba85b0909432cde4a446c6d180c5a3b4c7778fc2c4a105a42ce7e8675bf9755b0eb99d192d1f78767eeb84a7dd159d118b86a632bcecbf2ebe21c29f71a8be2eb883df12614eb5b22dfbe2062b68aca02/  vçZ ®+î¿8f355f6652ffaa9a1d8ac38ddf31ca671071fe6cd824d2925d2cacd5ed10f776baff97f81fcc6af728e3230db56976593504ef350bcf1f7711d29f4ae074f2e0750628c983f2776ba85d7fccd0590a7b75d9e56a14185ee7e86e101800#€~á„í¿3edb09d12d1806a835d2940a223fbec7905bdf914cda92ed419210f7ab288ab464b8b5b00e37d69931542948e92d820f7154c12a7e50deea456577139f6f249fa5f28d90fe9f8e98475ce22e94527f6acd4d8237026b88d204abc448c1ù3Üþà·Ò?6601652dcf0daa48ee87b7bf963a8ac513497d71a30f697450b0fd32a2e6998d3ea79dbef36cacfe 42f0fdfb014850bce9b453d27bad2 6381407628d75cd7b0bd5bd2578a938e3444ce469752a8b0fca4faaa0b6af0d5a6c3dcfafc2{3ºNaŠÓ¿0946ded5192e7ae4adefd78a52efca580273d6b5c65ae1a0cceb7d3d0cd60459a0122719bf609663c5534a352bbbc691843799bcdd9d769a6dbe4ffed03f191a19af0e06db264a39a628a02df4cd91470ca146e3d489b1872f2f4a6993° _S Ãñ¿4ee442cd545f8eb24fe88966ca677a4f4771eddbfaeba32e67e756033c129b43cd6af1e29e831a094d68bdd57ee000c802ce2a84a49df69d6b590976aa2767ffc8a67d01e573dfc2345e94d0818e75568a25b39b1fa6b84ba282e99054 îÈ—‡ô?bde5af41a98c5f13d1e5b3730ad0c038e4fbc3a0c4bad5b30bf76383c83c6683379fdb9d7c1ffdda8d04edd04295899a42656333ae82e8c7307cf28fa0e682e8765446665b155d007b629cb084249f1fb3bfefdae240c8df2930b35605Ý-܈„˳?a4b5248ab67e87d6120383e1197af6d59a08d3e9c22f0b0b600722923ae467f20bab3215cf6c79e98f64d1753758e37fa2d12bb7a8f38cbd7d7147ebce5c12875e0d1cb9db2c14b57a82f6017366ee3acb9703d3eb58ff7c767764eea6b2ê TÝ¿82d28cf0eefea60fb02a6bebdeef3a9b1156e2ae10db1e4bdde66b7644df7fd7eb4c8856fc8076d4651da726b3f59bcd2d1d19e0dd5a73bb146621f3b0faed37b6dcfc7d891c72c918568d9274face3c25eeb2f69ea5e348d7986f3a975ñ{ÇØ?1e8ddf07b52898379dfdeba664565c937d9d9e4c4d736374c0c20b5c89ec2400e9e508a07fd6ffe9f9c938d12c907f5dce392ce611a7dec9a0c4cf9ab41171bbe67ac041c35b8b7943af6ac523849af42bf7c85b75d8f76eb3edec03e8 öÇHˆ|Èå?43f5b5348d2be37b19d6cc1780e385fdc7aa1033d32d09cb88fbcbd65471f0938e26f3bd4bf4ade5e64e784484e04c810b5d72be3005e4d13e81abf82f5e953a2fe28e1082924ce5ebd88c9a43e2b6d499c476cf42df109efed4bd9989÷poNè:Ò¿2eadd4aca404664e6cca53007bb2b1f58a3449d8b40b9b94a7b9d66e5725b3347952af8d5fbeff3de123092ff904682 2a7b983b22599085ee7bdbcf1ba882b46a5b11120c306b616e2ceab9ab5f80d98de070726d56395ea73db4915: úJÒ‘ê?df1531b9b0846832613f34e683a76b99dd681f172689d8eebc799455cf0bffa72832deee3e7ced72834c91a3c6902327afbd63446aaed4c5b8c586f3e56bdafb3630d55972b66baa3090d3fe60b79a67b53851730cd8fc345ff9b570d;¹ >‹ò°Ù?a9deda2270c1e93cf30d7045ada9bdca427e6d8df28d7607b3ed655f872425256cd8deee210ea98b752631c8a3b94068c777c38f34dd078fff0cfa02ce01e9a4dfa0b8f008597ba305ad665e425b281d0c5a55c3377f17b12eca69c59<¬úýõª«ø?ee3032b49b0d626089f3515f6acf39acc88d48ca51b9acd649eac9fcbd48d3069243a78d5ca596d0b6f38e2e8bf4f6fdb91729e5f4e0185ae0be2815ca49efd25fe1691dec446a34e726d5a6c9cde7b7bffa157aa2 601b0c6e55b65e= ®™à-œsï¿c62327b321c5d0376543ecf394338ec37df945f2dc842947aed16659fd9177df4bd83d5f64b485c1b532159f5fbc582baea9e5f0c29a6d200026f725f101efce5ef79ca8ac5b10157fdff8ea6ab3e6abfba502b708 a9b6ef64658735>Ê¡Au™ì¿56708507b32b9e729b818a264d1472f81fba98e9de32820b9ab4ad87440f4dd85c56964183be684288b86a3b408fc26a92dae9fe8df3015a15dfe4cfab9921ffc1af9d96ab96dba727301810b1f7ec530799857816263e0936c171b94? ¶¾ãpüƒé¿f73be8b52a4e375645860576c27755301faf7e9a9e671ecae8055c8f352ddc0c3bec368b4164d55a38c6505f503931c4744daaec7f511685af75d15d408fded36d03b4a9cd12fc701da9b855c24 922db02ac2c24e6ade73fc1f383d6@ ÌÙï¯ç¿4a5504330424cbe1a6dddba938e24ce954177ef173c78e67e9abde250bf8c00c0eb6b63a2cad400538fdf14b75c105297fa83c51dc304a9ba83a0be6d510389498ba95b2ae3387a820b030ee7a93790a997283e46f3e8e7c24e6dfd27A ó Oßí¿377c1487920e2dadc8af9641c5ebe25eb24d2fd42fe51e2b7057b136e1a438382508d73efbf5cbab68be1fc407eed78725dd8cca1593e8c29f05597c59b67d3e04238054070bc491d9a083c535f909f00253a47fe0fbce0d1e721a9a4B¶3ÀxaþÝ¿a475061abe6414799a09f5f21463943cd02459be501c6d4262f1d7cb1a520920d3747e6ffac0143246281a650fef1acab737d8402aa2bd32f9863817ab98140561d50e92f51bbcbdd38649d4fa24846eca5ffd9961f1eb3a8263b832fC¿ã'uô¿4477b05465e5b5d001541a2a9c5a723f93f692ab65ef10e37367b8a1f96810d98b90f960e3485b3f3ed3a77a2ee4917a54486ee4f5419211b22ff5a8aeaa2b30469d0cb88a9b2d9b909533d855b661a83752db44afb706414d7e337a1D…·Óœ˜‚Å?78fa8a4227440f0775e769a25a0aebd67701c4319de2e9d4c7e1f28d3f232795fc911ef900cc51381a27e551e6621687b14316c3ff715ac9bd9f170ef7b952ac2397920ab85994d84691ccdc3af cbd8b850ff1d53daf346abcee48eE fåÀÑLí?d3e1a12c6c53f3b6d46abc4cbe6cbea9ba3e2945fe16f1d24cc390a91aed7ffdda54a2efc58d6a5673651b70b806c6977314bd689c3415 5c9005cc15538a909cce14470c4b35864355584f5cdcc638a43a8fc4d35d0add6cbe1895d6FÕ/Ã}RGë¿201991cad9870eab0fc041a29119b6b7cf0971e728518c809c667f3bb0038a9d756feebc5c0e7130da74537aa55de809ec067d20c8cc059b6b6cdaea87916d0a7091ba1f190de4e9b3d0cb24de4b182e77429ee12f8b9cb067f572eb1Gmž¡´ÙÍ¿1bcb2b08479b9d8b915950925db89aca66a7ffa0b7eb61b8c890b995e126622d7f768d0e92ed2f607d1dfba9390fd222b9ab664ab6bf84b295aec70257b96 e07af91ff296de4bf36f0bb276829e558e2ea72e33691ac967beaeba41aHGeØã¿e2d5b5e3fe8c111ee87b51a953adc74269d5720161d68b49caf650224771db3273bc412328908586a808c621f3a96c5c0cf5f0300b53f719b19e79f93aff5edbfff8f85b6301 5e8863f3540b96a060721bc6eb0ecad3ce116bcc7f86I ([ê—@ÀØ¿2eabc8ecf2ac819ccc7d7bf0efc0d805ec3c7c6fd4a4dbb7d592e11bf302aa395b84359c0c1374a3f831fbbcb824d4d63c3d246e657fa28dcd1e02d8c5b2267a96c08586e347bf9d12c6925c90e803241953ae386e7a675f4e22f7aa5J 쌗7T¾?ae037760552848d31353ac3523446c24f468ed3265cf010211908628ce036c044eca823a5b903986809ea01a3e3c077614fa39a928a8d8bdad37cf02d43ce76bd74eb547e46362af55c970275b643e9ab24fe39cc7 69a090cf8bd370KôÒãšS ã?2f0a7583ab909d4c5c809459a43ca2992fc5fe3660d25f8e9275ea2619ebf66a8ad874b755826bc1b6434e34538de739f4f785f3183fe740cdd2646b4f75a3c265ea7f59a60c6aba4139a1b36a4 d840d34c4276916067e5151c49a4dL YTà>Ç¿43b29aceae0e52fcddfe418a0cdde112e7c4776c5f2f3b7c1d74f811e018fc59cdf96a73013d46f65ef3f72991991d94d66e4c99a0ab2467d27a9108d9564283efb2e37746515da52afc377fe66590d82b8a89d02f9e367684cceebd6MâuÆüïØ?0f53de14fc05524f6aac61a4b006245c31d5da9c0cb73d6629c211139dfe5451b59f9fcf862d6d3ee3d420fbc9362f06f418ff547a07d51a986090d7db11ab217a315782069d999ea6f1bae60cc37948307c3111625ce9c7dd15b1c9dNÕ$¢ Oô?092142eb4f44250eca9c4c007ba8845f811fa1c2d1c6b42d306c170a44a07ddc9e0e9f3f784a47e5 4a138ec7d6ddfdc22d07bdc40717698347edacccbf7d12b67b0aecf1ea556ae3b5b11abaa73ae4e7766e325cfcfec41d6db69cffO »`J¶:†¿a8e338b4b0b87529994d82c5ed8a42a70562a942e0f4c901d43cf026b54f29052cac5c36635c90abf6c373727f29b7a33a834b67807eb83a599bcf8af7ab0b4da447465e3cecffeb35d90871a2d29de36ee445a916b6c96200f76134bP›ã}»Qhæ¿fc550af9ee621a893e6a485ffdce04ddb5e993f0053d1c17559dd2620d5ae5118535859c2aa768277b88b9b5d03e8407e8058def1f0d7532ab196b127e6eb559dac252a22202cd52eda570eff06375f0865beb95c5 cc21d8854c090eQ ­AañYØ¿f6ec75fee0b14c3d633d35b1d3c3a71db3fd9df436515bfef5db7d35822f03b12590d17251d8a479500d1bb098b5576cbbd2203d1386a299f415521ce8c321ba905d19ec94c3ae49678ddd51da693502cc90242cc27ed4a33ce276f92R —©E[Êï¿1adf91ecc19476c22631a0b23dcbffe5d0bf006c653248c1081c79d949aad51e0df38d11b44982867213196c02279691f5d021bba1a18ce3269562d1fe1aab6b2568fc80e5a35c4256e1b90e45c928883350853ae0892236a2d083d68SëŽÝ§gÖâ?cdc4dc5c043395d551d4ad49fb9a804f56d44e3a621f3dcad1ed73be1855f52239314f1af987e135151fc5d13fa258e772052592e25af7c5515f9c55667f1a2087019abcf445dc1a55753132b98908c744d74b4081 3bcdbced9a109bT  s’“›ÿžì¿103b32995377f790d8178f1400bf6535ee6cc4908170c1347b5de086df154e8e05ed8448b9de6c2080c0d187e5d1db634508c778e613917ccf4ef9c7aa73dca77cfbb3c95a27caa350b25d7c9cf30096c1f2057fba5a39ed1c1ce8b6aU ¢Ýˆ ÙÃ?463f2f8336d38e9dd297d87e3499b0003c8c6039ec638027219862e49e7cf73ed536aacb472ee8e4b3effaa5d4c2aa5f4f4481e031c036aab95a0786874b8566b77331010bddc57eebef603bce2664718836012788a788902910a013bV“‡MÅÄ\ô?3e54629fbdd9586959ec95e6fe33a2700fea56a36c57f618a990d213fd242cce90c1520f3bdc2f5a9748d05df631059f28b7821c8c386b38235cc92e1af3c9e17b682fa44459 84e43bb2cd279464e3702d3350589fb91be1e29b04e6W  ÔÊ¢²¬?68d00334e2803ab63964afd1f750d82cade861e09275fc1ec0278357aa482a2730cfd923ba5066f7646df091591c04319eb978e2cbe813ff42228f645b3d44a2b08e95b0669b41e49fc80927651b82467b3015623c25aaf4ed9380556X /uIEM œ¿1cd5efb42294307e9e05ac996a3899ac4f3d10405aec4d60b9f5384ab589951f954c5494c4d6aa7bb4d41a6d208532d14707a98df31a9f59880c0df14d6352d583ffce3cfc4d634d2a7e13e62222aa0d3744c187b34908aa37eb0d9ecYéà¡æmÁÙ¿4c92160657d7cb7f1172a598d3fe096998c9e7fcbb65db69179923fe5177f50d7e098de00ad88332 f16ec32a9d2751eff69ea90859dc4a8efdbc25c7ce8bd8e1b9b71d3eacc4964d689e0f78c8b176c3ce70c1886ceaa3122e101a24Z  ÙD™é¿8cbc780bb361c0f5b9e403d5c0ff5985c6d359e85bf8d12b29600bfe99a1ced37d2a65df540b8f54 46325b2cefdbfb b5677b7883d487988d730de322833ef4e003e5f70f2a df3a92793773a197e4f76e6cdf0f8e982fdef9d35b51[ –´h™á¿fcd9c627123684e74cc014bd7053dfc61f6d245b41f140ea5c21b9bc47e1bb83244a938df770095ce5ee155943a53378e6bc00974e75034df42cdfd71a9958b40e55c2757d9aac67889706886432d39200e50c4edd b4c20634599626\ý–=!u¿?45dc278cd5a503328cb022af9e7f319c9e522bd53e4e34359c31f9b8c51e2f35b6dffcb4bd01c786d1d8f407ba2e737eceff6dfcb9d5a7276c9bcbed19d7d2a32bbb64ce16894861afcb9fed531a5b14d7a3c60354f3df7079f2ebf57]×â¾Ñký¿78c135b4ce2a2706cb6ba32a941f1e03a0aa2e09b45340f5c0518236c408550f3c43ab5e6aca33ad1495eeccfcd624eb51b1d8c16b6a9ecd14f5411a7a25ed1a53b5f2e31a7a83b9b483b774d4a79cd627548da05b8c6e8b33f3dbef1^ ½ô‡\ @12dc84e0267406908dd8fa24ca16cf21af0ccf6de8452868d24a011b167382f6bc673b200e1d440c96a4bc87f1dec9eea3b83da5eb66ca7d191af8ea25c3bb7e60df5b8241b91625ff117862aeec7a891b8a566878b67f8ff348b4007_ ›¯•ñ?5667f64f10d144721188cefd5a439d18ba1c9194a8c52762c1a3856888c068bc49e2fa70dcbd008dc8cb6736b5c3921716e58383424de843caea6b9ff67956500e264ffaa87bdbe2c8c451810b5407f89c3eedf8069fab0c7262bf79c`mÅB‡^Ë?149eed7a13ced9031fbd7a9047966028de0673e3a0bafcff75ec37bb28bd97a4e914d8a1af4500f2833630ef9404dbe5aaec1d282384a36ed6fef0dd1e4edeeb7ff0e383cbfb3437ace0b662dad72d5dd960d9a2d72f56b104c0accfba ¿óÝŸlë?65db964d5fe58ccffff28844524902281d29a971a43493d5bbbe4acf9583f1b05d9d502289514b4666f8b997071ca2aa24eacb851b5788855b5224c678f35254a38f6bf561592929ebe0c0f911cca2467ffbbba83ad6e1fdf24d231ffb bg0|•Íó?ac1917c5d9688d246fdf2b31fb0d45e315e5d9f7f385071803435439f15e619b684c25ce3b2e6acd95f461d8f965c7a2786a6656d0d81ee00623d52854d9c3f5bef5e994c19c77c05bb5db8247021cd26fcc9edb24 5184be02e37a2ac ³$Tß4/ë¿ad383931106c37f617cb55af97fb3619e2155a4dfa89d0a7980ad14a5705fb9b128e890c75a0ea70c12506113d9c1e881ccc38455a21e99e0b8c2e84bc65ad87f3456633bc551117db926bddf40e4ff034c368dc3dd4f08db89986c49¸>ÈTREEÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ@B¸œ@€M€ÿÀF²@HEAP`Pˆ¢Øw (VERSION1.1 <@> HTITLE'Indexes container for table /data/table (CLASSTINDEX (VERSION1.0ˆCpTREEÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿG@U8HEAP°hxX(YP (VERSION1.1SNOD8(EPEpG€?¨?ÈAØjk m蔕0—ˆjP 8TITLEIndex for index column (CLASSINDEX (VERSION2.1 0 FILTERS@ 8 superblocksize@ 8 blocksize@ 8 slicesize  8 chunksize  8 optlevel  8 reduction  (ÿÿÿÿÿÿÿÿPH¸ 8shuffledeflateÿÿÿÿÿÿÿÿà’…^ 0CLASS INDEXARRAYSNOD0¸O(NIXhW@èR@ (VERSION1.1 0TITLE Sorted Values 0 EXTDIM  ¨(ÿÿÿÿÿÿÿÿ  8shuffledeflateÿÿÿÿÿÿÿÿà’…^ 0CLASS INDEXARRAY (VERSION1.1 8TITLENumber of chunk in table 0 EXTDIM   (ÿÿÿÿÿÿÿÿ@ 8shuffledeflateÿÿÿÿÿÿÿÿà’…^ 0CLASS CACHEARRAY (VERSION1.1 0TITLE Range Values 0 EXTDIM  ˆÿÿÿÿÿÿÿÿ@ 8shuffledeflateÿÿÿÿÿÿÿÿ à’…^ (CLASSEARRAY (VERSION1.1 0TITLE Median ranges 0 EXTDIM   (ÿÿÿÿÿÿÿÿ@ 8shuffledeflateÿÿÿÿÿÿÿÿà’…^ 0CLASS CACHEARRAY (VERSION1.1 0TITLEBoundary Values 0 EXTDIM  ˆÿÿÿÿÿÿÿÿ@ 8shuffledeflateÿÿÿÿÿÿÿÿ à’…^ (CLASSEARRAY (VERSION1.1 0TITLE Start bounds 0 EXTDIM  ˆÿÿÿÿÿÿÿÿ@ 8shuffledeflateÿÿÿÿÿÿÿÿ à’…^ (CLASSEARRAY (VERSION1.1 0TITLE End bounds 0 EXTDIM  ˆÿÿÿÿÿÿÿÿ@ 8shuffledeflateÿÿÿÿÿÿÿÿ à’…^ (CLASSEARRAY (VERSION1.1 0TITLE Median bounds 0 EXTDIM  ØV 8shuffledeflate(Zà’…^ 0CLASS LASTROWARRAYSNOD pLÀJøEH€T8PQxYX (VERSION1.1 @TITLELast Row sorted values + boundsèAH 8shuffledeflateXbà’…^ 0CLASS LASTROWARRAYsortedindicesrangesmrangesboundsaboundszboundsmboundssortedLRindicesLRHÐYX 0TITLELast Row indices@ 8 nelements d 8 nelements dTREEÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ¬%TREEÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ)ç$¨?ÈA 0 DIRTY ˜mpTREEÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿq@ 8HEAP°hˆ‚8ƒP (VERSION1.1˜”P 8TITLEIndex for int0 column (CLASSINDEX (VERSION2.1 0 FILTERS@ 8 superblocksize@ 8 blocksize@ 8 slicesize  8 chunksize  8 optlevel  8 reduction  (ÿÿÿÿÿÿÿÿ`r¸ 8shuffledeflateÿÿÿÿÿÿÿÿà’…^ 0CLASS INDEXARRAYSNOD0Èy(xsXx@ø| (VERSION1.1 0TITLE Sorted Values 0 EXTDIM  ¨(ÿÿÿÿÿÿÿÿ  8shuffledeflateÿÿÿÿÿÿÿÿà’…^ 0CLASS INDEXARRAY (VERSION1.1 8TITLENumber of chunk in table 0 EXTDIM   (ÿÿÿÿÿÿÿÿ  8shuffledeflateÿÿÿÿÿÿÿÿ à’…^ 0CLASS CACHEARRAY (VERSION1.1 0TITLE Range Values 0 EXTDIM  ˆÿÿÿÿÿÿÿÿ  8shuffledeflateÿÿÿÿÿÿÿÿ@à’…^ (CLASSEARRAY (VERSION1.1 0TITLE Median ranges 0 EXTDIM   (ÿÿÿÿÿÿÿÿ  8shuffledeflateÿÿÿÿÿÿÿÿà’…^ 0CLASS CACHEARRAY (VERSION1.1 0TITLEBoundary Values 0 EXTDIM  ˆÿÿÿÿÿÿÿÿ  8shuffledeflateÿÿÿÿÿÿÿÿ@à’…^ (CLASSEARRAY (VERSION1.1 0TITLE Start bounds 0 EXTDIM  ˆÿÿÿÿÿÿÿÿ  8shuffledeflateÿÿÿÿÿÿÿÿ@à’…^ (CLASSEARRAY (VERSION1.1 0TITLE End bounds 0 EXTDIM  ˆÿÿÿÿÿÿÿÿ  8shuffledeflateÿÿÿÿÿÿÿÿ@à’…^ (CLASSEARRAY (VERSION1.1 0TITLE Median bounds 0 EXTDIM  è€ 8shuffledeflate8„à’…^ 0CLASS LASTROWARRAYSNOD €vÐtpH~8`{ˆƒX (VERSION1.1 @TITLELast Row sorted values + bounds@mH 8shuffledeflatehŒà’…^ 0CLASS LASTROWARRAYsortedindicesrangesmrangesboundsaboundszboundsmboundssortedLRindicesLRHàƒX 0TITLELast Row indices 8 nelements d 8 nelements dTREEÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿD£$TREEÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ)z$k m 0 DIRTY ¨—pTREEÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ(›@°©8HEAP°h˜¬H­P (VERSION1.1¨¾P 8TITLEIndex for int1 column (CLASSINDEX (VERSION2.1 0 FILTERS@ 8 superblocksize@ 8 blocksize@ 8 slicesize  8 chunksize  8 optlevel  8 reduction  (ÿÿÿÿÿÿÿÿpœ¸ 8shuffledeflateÿÿÿÿÿÿÿÿà’…^ 0CLASS INDEXARRAYSNOD0Ø£((¢(Xˆ«@§ (VERSION1.1 0TITLE Sorted Values 0 EXTDIM  ¨(ÿÿÿÿÿÿÿÿ  8shuffledeflateÿÿÿÿÿÿÿÿà’…^ 0CLASS INDEXARRAY (VERSION1.1 8TITLENumber of chunk in table 0 EXTDIM   (ÿÿÿÿÿÿÿÿ  8shuffledeflateÿÿÿÿÿÿÿÿ à’…^ 0CLASS CACHEARRAY (VERSION1.1 0TITLE Range Values 0 EXTDIM  ˆÿÿÿÿÿÿÿÿ  8shuffledeflateÿÿÿÿÿÿÿÿ@à’…^ (CLASSEARRAY (VERSION1.1 0TITLE Median ranges 0 EXTDIM   (ÿÿÿÿÿÿÿÿ  8shuffledeflateÿÿÿÿÿÿÿÿà’…^ 0CLASS CACHEARRAY (VERSION1.1 0TITLEBoundary Values 0 EXTDIM  ˆÿÿÿÿÿÿÿÿ  8shuffledeflateÿÿÿÿÿÿÿÿ@à’…^ (CLASSEARRAY (VERSION1.1 0TITLE Start bounds 0 EXTDIM  ˆÿÿÿÿÿÿÿÿ  8shuffledeflateÿÿÿÿÿÿÿÿ@à’…^ (CLASSEARRAY (VERSION1.1 0TITLE End bounds 0 EXTDIM  ˆÿÿÿÿÿÿÿÿ  8shuffledeflateÿÿÿÿÿÿÿÿ@à’…^ (CLASSEARRAY (VERSION1.1 0TITLE Median bounds 0 EXTDIM  øª 8shuffledeflateH®à’…^ 0CLASS LASTROWARRAYSNOD  àžšH ¨8p¥˜­X (VERSION1.1 @TITLELast Row sorted values + boundsP—H 8shuffledeflatex¶à’…^ 0CLASS LASTROWARRAYsortedindicesrangesmrangesboundsaboundszboundsmboundssortedLRindicesLRHð­X 0TITLELast Row indices 8 nelements d 8 nelements dTREEÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿD6$TREEÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ) $•0— 0 DIRTY ¸ÁpTREEÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ8Å@ÀÓ8HEAP°h¨ÖX×P (VERSION1.1¸èP 8TITLEIndex for int2 column (CLASSINDEX (VERSION2.1 0 FILTERS@ 8 superblocksize@ 8 blocksize@ 8 slicesize  8 chunksize  8 optlevel  8 reduction  (ÿÿÿÿÿÿÿÿ€Æ¸ 8shuffledeflateÿÿÿÿÿÿÿÿà’…^ 0CLASS INDEXARRAYSNOD0èÍ(8Ì8ÇX˜Õ@Ñ (VERSION1.1 0TITLE Sorted Values 0 EXTDIM  ¨(ÿÿÿÿÿÿÿÿ  8shuffledeflateÿÿÿÿÿÿÿÿà’…^ 0CLASS INDEXARRAY (VERSION1.1 8TITLENumber of chunk in table 0 EXTDIM   (ÿÿÿÿÿÿÿÿ  8shuffledeflateÿÿÿÿÿÿÿÿ à’…^ 0CLASS CACHEARRAY (VERSION1.1 0TITLE Range Values 0 EXTDIM  ˆÿÿÿÿÿÿÿÿ  8shuffledeflateÿÿÿÿÿÿÿÿ@à’…^ (CLASSEARRAY (VERSION1.1 0TITLE Median ranges 0 EXTDIM   (ÿÿÿÿÿÿÿÿ  8shuffledeflateÿÿÿÿÿÿÿÿà’…^ 0CLASS CACHEARRAY (VERSION1.1 0TITLEBoundary Values 0 EXTDIM  ˆÿÿÿÿÿÿÿÿ  8shuffledeflateÿÿÿÿÿÿÿÿ@à’…^ (CLASSEARRAY (VERSION1.1 0TITLE Start bounds 0 EXTDIM  ˆÿÿÿÿÿÿÿÿ  8shuffledeflateÿÿÿÿÿÿÿÿ@à’…^ (CLASSEARRAY (VERSION1.1 0TITLE End bounds 0 EXTDIM  ˆÿÿÿÿÿÿÿÿ  8shuffledeflateÿÿÿÿÿÿÿÿ@à’…^ (CLASSEARRAY (VERSION1.1 0TITLE Median bounds 0 EXTDIM  Õ 8shuffledeflateXØà’…^ 0CLASS LASTROWARRAYSNOD  ÊðÈ(ÄH°Ò8€Ï¨×X (VERSION1.1 @TITLELast Row sorted values + bounds`ÁH 8shuffledeflateˆàà’…^ 0CLASS LASTROWARRAYsortedindicesrangesmrangesboundsaboundszboundsmboundssortedLRindicesLRHØX 0TITLELast Row indices 8 nelements d 8 nelements dTREEÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿDÉ#TREEÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ) # ¿@Á 0 DIRTY ÈëpTREEÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿHï@Ðý8HEAP°h¸hP (VERSION1.1ÈP 8TITLEIndex for int3 column (CLASSINDEX (VERSION2.1 0 FILTERS@ 8 superblocksize@ 8 blocksize@ 8 slicesize  8 chunksize  8 optlevel  8 reduction  (ÿÿÿÿÿÿÿÿð¸ 8shuffledeflateÿÿÿÿÿÿÿÿà’…^ 0CLASS INDEXARRAYSNOD0ø÷(HöHñX¨ÿ@(û (VERSION1.1 0TITLE Sorted Values 0 EXTDIM  ¨(ÿÿÿÿÿÿÿÿ  8shuffledeflateÿÿÿÿÿÿÿÿà’…^ 0CLASS INDEXARRAY (VERSION1.1 8TITLENumber of chunk in table 0 EXTDIM   (ÿÿÿÿÿÿÿÿ  8shuffledeflateÿÿÿÿÿÿÿÿ à’…^ 0CLASS CACHEARRAY (VERSION1.1 0TITLE Range Values 0 EXTDIM  ˆÿÿÿÿÿÿÿÿ  8shuffledeflateÿÿÿÿÿÿÿÿ@à’…^ (CLASSEARRAY (VERSION1.1 0TITLE Median ranges 0 EXTDIM   (ÿÿÿÿÿÿÿÿ  8shuffledeflateÿÿÿÿÿÿÿÿà’…^ 0CLASS CACHEARRAY (VERSION1.1 0TITLEBoundary Values 0 EXTDIM  ˆÿÿÿÿÿÿÿÿ  8shuffledeflateÿÿÿÿÿÿÿÿ@à’…^ (CLASSEARRAY (VERSION1.1 0TITLE Start bounds 0 EXTDIM  ˆÿÿÿÿÿÿÿÿ  8shuffledeflateÿÿÿÿÿÿÿÿ@à’…^ (CLASSEARRAY (VERSION1.1 0TITLE End bounds 0 EXTDIM  ˆÿÿÿÿÿÿÿÿ  8shuffledeflateÿÿÿÿÿÿÿÿ@à’…^ (CLASSEARRAY (VERSION1.1 0TITLE Median bounds 0 EXTDIM  ÿ 8shuffledeflatehà’…^ 0CLASS LASTROWARRAYSNOD °ôó8îHÀü8ù¸X (VERSION1.1 @TITLELast Row sorted values + boundspëH 8shuffledeflate˜ à’…^ 0CLASS LASTROWARRAYsortedindicesrangesmrangesboundsaboundszboundsmboundssortedLRindicesLRHX 0TITLELast Row indices 8 nelements d 8 nelements dTREEÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿD+TREEÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ)å*0éPë 0 DIRTY ØpTREEÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿX@à/8HEAP°hÈ2x3P (VERSION1.1ØDP 8TITLEIndex for int4 column (CLASSINDEX (VERSION2.1 0 FILTERS@ 8 superblocksize@ 8 blocksize@ 8 slicesize  8 chunksize  8 optlevel  8 reduction  (ÿÿÿÿÿÿÿÿ ¸ 8shuffledeflateÿÿÿÿÿÿÿÿà’…^ 0CLASS INDEXARRAYSNOD0"(X XX¸1@8- (VERSION1.1 0TITLE Sorted Values 0 EXTDIM  ¨(ÿÿÿÿÿÿÿÿ  8shuffledeflateÿÿÿÿÿÿÿÿà’…^ 0CLASS INDEXARRAY (VERSION1.1 8TITLENumber of chunk in table 0 EXTDIM   (ÿÿÿÿÿÿÿÿ  8shuffledeflateÿÿÿÿÿÿÿÿ à’…^ 0CLASS CACHEARRAY (VERSION1.1 0TITLE Range Values 0 EXTDIM  ˆÿÿÿÿÿÿÿÿ  8shuffledeflateÿÿÿÿÿÿÿÿ@à’…^ (CLASSEARRAY (VERSION1.1 0TITLE Median ranges 0 EXTDIM   (ÿÿÿÿÿÿÿÿ  8shuffledeflateÿÿÿÿÿÿÿÿà’…^ 0CLASS CACHEARRAY (VERSION1.1 0TITLEBoundary Values 0 EXTDIM  ˆÿÿÿÿÿÿÿÿ  8shuffledeflateÿÿÿÿÿÿÿÿ@à’…^ (CLASSEARRAY (VERSION1.1 0TITLE Start bounds 0 EXTDIM xíÐ  ÷Om( 0`À€ 0`À€÷xíл Ñð'û/Œ„°ÐÜ5.-=3•NY•X=5Õoc7Cþd®@@@~,¡¯âxíÐ  ÷Om( 0`À€ 0`À€÷xíл Ñð'û/La…¨î*w–žYªDõÖTW#š©¥väoæéƒ‰ € € €ßÖÙxíÐ  ÷Om( 0`À€ 0`À€÷xíл Ñó{^ÿ +¨,X€ÑL´ÙÂ3SIå]Qõ©©®ü6N±²Ð @@@þ L‘ù xíÐ  ÷Om( 0`À€ 0`À€÷xíÐUB@Á%EBI%T¤;¤»[bïNáß›#Œ ‘Êä åƒêQ­Ñêžô†g£Él±Úì§ëÅíñúü×·`(yÿøŒ~Åâ‰d*Éæò…b©\©Öêß?æo«Ýéöúƒáh<™Îæ‹åj½Ùîö‡ãéï|¹ÞDAÀ 0À 0À 0À 0À 0À 0À 0Àÿ8p;ºxíÐ  ÷Om( 0`À€ 0`À€÷xí˜Ûµ,7DOHp‚üC0s|m§0kYõ7­ùPïî¢K°þÿ´ÿ•üJ?²‘ÿ£ÿ”¿º¿ª?ê žGà 0û@Úãë…¢—dω·j÷ÌÉš?Í`8yaÍ‚œLöSD[νÕˬªi,>¿Ð²šŸÿ¿ðÉ¿-=??ã|–KIQ˜®3VßtlŽÛº1®ÖÚ¥ûfdš˜ Ĥ-0;(¨W¯˜›ãñ‹c[E:BÁõ‘~o$Àt+—TßS{R•1ÁæÈÖ¶Tß|wP­&^÷(תºº9¡ØÎ²òpžUмÛt-8EXžk'2~ã¿==@zNš·KziÒ|‚Û$xÃÕÑ6yŸm<.}*ùÌÙ*×QY"Û·¨§Ûá½D-Q ô3V`EXìÅÉó#ð|#³£>©¿R&ÔKOÇ’›µ³CËî¹™g±G§Íi*‚”ÄVé‹¶çšö1ÎiÃe¬ßkFŠÌçŸçÿo|ôoOÀOÝО£¼œ*R‡ qüÐpŸ^o¾ïkfÀ š|0Ÿóé#ècþ üÜ„Út—ŠVN0eÒ‰‰P.¼°^þoÚ#ð•ÖŽO7†vž1 2.¾}¤jм©ü£±÷M²äšÁõY[·(§ó›¦o®ºÊœý7òÁ+$í¹zê…üÊ[›zþ÷þÙßPxíÐ  ÷Om( 0`À€ 0`À€÷xí™Ù­ì8 DoHÜI…#’Rþ! û-ƒ ¡QýlC:vq3ÀÿˆþŠKþ#ýÈþÊ+þhí•YÕ¿tF÷#¸?OÀ#ð…ÖÚuHvÖùuìq­¯Õs$fÏÇ\sÈ,¹ÇA‹Xç’Gdõ¥ !"±ª¶5[ÎChžh^u×óÿ¾ù·¤Gàç‡ÄM¹{uu IÞZ»óz#sè:ceUŠlÀÝicë¸ÝÛ¹ݎç™ka¢F›ÖØrù°vQ=ÒÀ#ðÐ xì<–Õ^t %{—¬=¡ÀI½`\¬S8ì2·¯‚{Ÿ¢ÝWë¨[¶*Ÿ+Xp-3UQ¨Ô%(߸ó·¦GàOšg‹³èŒÿËZ«ìLdX™tPÎ ÁÐZ6ÕAôâIÿ …¾µ2ˆ'ÿ»lê=Éq"±(œGà ÐÉž>_ó^ä8vBTdÊyZ¹\ïu1Ši$MyCéÞìåèv…ëšÄöåx½Pã$ê” ÛŒìwþÖô<§©qÝ$TLîϳc\;u~W±F‡N[?Y|…Êϼ€RHðVœ d¸‚0’Š­%•¦–˜ OLÉK÷¼ùßûЯ$z·,žÞ>Ä÷²¬ùÇŽpqfRÁ®ck¸ŸAßÿZ¨#gÈŸbp§èßBŠsWMuÀ‹»äèrNþÊ­¿E=ÿ{ÿ'à5xíÐ  ÷Om( 0`À€ 0`À€÷xíÐ  ÷Om( 0`À€ 0`À€÷xíл Ñð'û/Œ B2ÐÜn-=³S’rT´úÖn=»)¹f', € € €üXåÖxíÐ  ÷Om( 0`À€ 0`À€÷xíл Ñð'û/La@a𻯥¥g¦’Ê·òVCíÔÕP3æ!ó} € € € €ÀcâÞxíÐ  ÷Om( 0`À€ 0`À€÷ ˆÿÿÿÿÿÿÿÿ  8shuffledeflateÿÿÿÿÿÿÿÿ@à’…^ (CLASSEARRAY (VERSION1.1 0TITLE End bounds 0 EXTDIM  ˆÿÿÿÿÿÿÿÿ  8shuffledeflateÿÿÿÿÿÿÿÿ@à’…^ (CLASSEARRAY (VERSION1.1 0TITLE Median bounds 0 EXTDIM  (1 8shuffledeflatex4à’…^ 0CLASS LASTROWARRAYSNOD ÀHHÐ.8 +È3X (VERSION1.1 @TITLELast Row sorted values + bounds€H 8shuffledeflate¨<à’…^ 0CLASS LASTROWARRAYsortedindicesrangesmrangesboundsaboundszboundsmboundssortedLRindicesLRH 4X 0TITLELast Row indices 8 nelements d 8 nelements dTREEÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿD¡*TREEÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ)x*@` 0 DIRTY èGpTREEÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿhK@@Z8HEAP°h0]à]P (VERSION1.1HoP 8TITLEIndex for float column (CLASSINDEX (VERSION2.1 0 FILTERS@ 8 superblocksize@ 8 blocksize@ 8 slicesize  8 chunksize  8 optlevel  8 reduction  (ÿÿÿÿÿÿÿÿ ?@4 4ÿ 8shuffledeflateÿÿÿÿÿÿÿÿà’…^°LØSNOD0PT(˜RˆMX \@W 0CLASS INDEXARRAY (VERSION1.1 0TITLE Sorted Values 0 EXTDIM  ¨(ÿÿÿÿÿÿÿÿ  8shuffledeflateÿÿÿÿÿÿÿÿà’…^ 0CLASS INDEXARRAY (VERSION1.1 8TITLENumber of chunk in table 0 EXTDIM  ¨(ÿÿÿÿÿÿÿÿ ?@4 4ÿ 8shuffledeflateÿÿÿÿÿÿÿÿà’…^ 0CLASS CACHEARRAY (VERSION1.1 0TITLE Range Values 0 EXTDIM  ÿÿÿÿÿÿÿÿ ?@4 4ÿ 8shuffledeflateÿÿÿÿÿÿÿÿ à’…^ (CLASSEARRAY (VERSION1.1 0TITLE Median ranges 0 EXTDIM  ¨(ÿÿÿÿÿÿÿÿ ?@4 4ÿ 8shuffledeflateÿÿÿÿÿÿÿÿà’…^ 0CLASS CACHEARRAY (VERSION1.1 0TITLEBoundary Values 0 EXTDIM  ÿÿÿÿÿÿÿÿ ?@4 4ÿ 8shuffledeflateÿÿÿÿÿÿÿÿ à’…^ (CLASSEARRAY (VERSION1.1 0TITLE Start bounds 0 EXTDIM  ÿÿÿÿÿÿÿÿ ?@4 4ÿ 8shuffledeflateÿÿÿÿÿÿÿÿ à’…^ (CLASSEARRAY (VERSION1.1 0TITLE End bounds 0 EXTDIM  ÿÿÿÿÿÿÿÿ ?@4 4ÿ 8shuffledeflateÿÿÿÿÿÿÿÿ à’…^ (CLASSEARRAY (VERSION1.1 0TITLE Median bounds 0 EXTDIM  ˆ[˜0^` 8shuffledeflateè^à’…^ 0CLASS LASTROWARRAYSNOD øP@OXJH0Y8ðU (VERSION1.1 @TITLELast Row sorted values + boundsGH 8shuffledeflategà’…^ 0CLASS LASTROWARRAYsortedindicesrangesmrangesboundsaboundszboundsmboundssortedLRindicesLRH^X 0TITLELast Row indices ?@4 4ÿ 8 nelements d 8 nelements dTREEÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿXP÷TREEÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ)O*PEpG 0 DIRTY sxTREEÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿv@À„8HEAP°h‡@ˆP (VERSION1.1è£Ð @TITLEIndex for object_1_7 column (CLASSINDEX (VERSION2.1¨™P @TITLEIndex for object_1_0 column (CLASSINDEX (VERSION2.1 0 FILTERS@ 8 superblocksize@ 8 blocksize@ 8 slicesize  8 chunksize  8 optlevel  8 reduction (ÿÿÿÿÿÿÿÿ 8shuffledeflate`>Pà’…^ 0CLASS INDEXARRAYSNOD0(X}hxX€†@ ‚ÿÿÿÿÿÿÿÿ 0TITLE Sorted Values 0 EXTDIM  ¨(ÿÿÿÿÿÿÿÿ  8shuffledeflateÿÿÿÿÿÿÿÿà’…^ 0CLASS INDEXARRAY (VERSION1.1 8TITLENumber of chunk in table 0 EXTDIM  ˜(ÿÿÿÿÿÿÿÿ 8shuffledeflateÿÿÿÿÿÿÿÿà’…^ 0CLASS CACHEARRAY (VERSION1.1 0TITLE Range Values 0 EXTDIM  €ÿÿÿÿÿÿÿÿ 8shuffledeflateÿÿÿÿÿÿÿÿ à’…^ (CLASSEARRAY (VERSION1.1 0TITLE Median ranges 0 EXTDIM  ˜(ÿÿÿÿÿÿÿÿ 8shuffledeflateÿÿÿÿÿÿÿÿà’…^ 0CLASS CACHEARRAY (VERSION1.1 0TITLEBoundary Values 0 EXTDIM  €ÿÿÿÿÿÿÿÿ 8shuffledeflateÿÿÿÿÿÿÿÿ à’…^ (CLASSEARRAY (VERSION1.1 0TITLE Start bounds 0 EXTDIM  €ÿÿÿÿÿÿÿÿ 8shuffledeflateÿÿÿÿÿÿÿÿ à’…^ (CLASSEARRAY (VERSION1.1 0TITLE End bounds 0 EXTDIM  €ÿÿÿÿÿÿÿÿ 8shuffledeflateÿÿÿÿÿÿÿÿ à’…^ (CLASSEARRAY (VERSION1.1 0TITLE Median bounds 0 EXTDIM  ˆ` 8shuffledeflateH‰à’…^ 0CLASS LASTROWARRAY†xSNOD È{ z€uH°ƒ8€ (VERSION1.1 @TITLELast Row sorted values + boundsrH 8shuffledeflatex‘à’…^ 0CLASS LASTROWARRAYsortedindicesrangesmrangesboundsaboundszboundsmboundssortedLRindicesLRHðˆX 0TITLELast Row indices 8 nelements d 8 nelements dTREEÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ1(TREEÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ)(Àoàq 0 DIRTY žxTREEÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿˆ¡@è¯8HEAP°h¸²h³P (VERSION1.1SNOD ø¾ ¿@Á(é0éPë0@`@˜oÀoàqÐÄP @TITLEIndex for object_1_1 column (CLASSINDEX (VERSION2.1 0 FILTERS@ 8 superblocksize@ 8 blocksize@ 8 slicesize  8 chunksize  8 optlevel  8 reduction  (ÿÿÿÿÿÿÿÿ 8shuffledeflateТÀà’…^ 0CLASS INDEXARRAYSNOD0(ª(€¨£X¨±@H­ÿÿÿÿÿÿÿÿ (VERSION1.1 0TITLE Sorted Values 0 EXTDIM  ¨(ÿÿÿÿÿÿÿÿ  8shuffledeflateÿÿÿÿÿÿÿÿà’…^ 0CLASS INDEXARRAY (VERSION1.1 8TITLENumber of chunk in table 0 EXTDIM  ˜(ÿÿÿÿÿÿÿÿ 8shuffledeflateÿÿÿÿÿÿÿÿà’…^ 0CLASS CACHEARRAY (VERSION1.1 0TITLE Range Values 0 EXTDIM  €ÿÿÿÿÿÿÿÿ 8shuffledeflateÿÿÿÿÿÿÿÿ à’…^ (CLASSEARRAY (VERSION1.1 0TITLE Median ranges 0 EXTDIM  ˜(ÿÿÿÿÿÿÿÿ 8shuffledeflateÿÿÿÿÿÿÿÿà’…^ 0CLASS CACHEARRAY (VERSION1.1 0TITLEBoundary Values 0 EXTDIM  €ÿÿÿÿÿÿÿÿ 8shuffledeflateÿÿÿÿÿÿÿÿ à’…^ (CLASSEARRAY (VERSION1.1 0TITLE Start bounds 0 EXTDIM  €ÿÿÿÿÿÿÿÿ 8shuffledeflateÿÿÿÿÿÿÿÿ à’…^ (CLASSEARRAY (VERSION1.1 0TITLE End bounds 0 EXTDIM  €ÿÿÿÿÿÿÿÿ 8shuffledeflateÿÿÿÿÿÿÿÿ à’…^ (CLASSEARRAY (VERSION1.1 0TITLE Median bounds 0 EXTDIM  ¸³` 8shuffledeflatep´à’…^ 0CLASS LASTROWARRAY0±xSNOD ð¦H¥x HØ®8¸« (VERSION1.1 @TITLELast Row sorted values + bounds`œH 8shuffledeflate ¼à’…^ 0CLASS LASTROWARRAYsortedindicesrangesmrangesboundsaboundszboundsmboundssortedLRindicesLRH´X 0TITLELast Row indices 8 nelements d 8 nelements dTREEÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ#å%TREEÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ)¼% š@œ 0 DIRTY àÇxTREEÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿhË@ÈÙ8HEAP°h˜ÜHÝP (VERSION1.1°îP @TITLEIndex for object_1_2 column (CLASSINDEX (VERSION2.1 0 FILTERS@ 8 superblocksize@ 8 blocksize@ 8 slicesize  8 chunksize  8 optlevel  8 reduction  (ÿÿÿÿÿÿÿÿ 8shuffledeflate°ÌÀà’…^ 0CLASS INDEXARRAYSNOD0Ô(`ÒpÍXˆÛ@(×ÿÿÿÿÿÿÿÿ (VERSION1.1 0TITLE Sorted Values 0 EXTDIM  ¨(ÿÿÿÿÿÿÿÿ  8shuffledeflateÿÿÿÿÿÿÿÿà’…^ 0CLASS INDEXARRAY (VERSION1.1 8TITLENumber of chunk in table 0 EXTDIM  ˜(ÿÿÿÿÿÿÿÿ 8shuffledeflateÿÿÿÿÿÿÿÿà’…^ 0CLASS CACHEARRAY (VERSION1.1 0TITLE Range Values 0 EXTDIM  €ÿÿÿÿÿÿÿÿ 8shuffledeflateÿÿÿÿÿÿÿÿ à’…^ (CLASSEARRAY (VERSION1.1 0TITLE Median ranges 0 EXTDIM  ˜(ÿÿÿÿÿÿÿÿ 8shuffledeflateÿÿÿÿÿÿÿÿà’…^ 0CLASS CACHEARRAY (VERSION1.1 0TITLEBoundary Values 0 EXTDIM  €ÿÿÿÿÿÿÿÿ 8shuffledeflateÿÿÿÿÿÿÿÿ à’…^ (CLASSEARRAY (VERSION1.1 0TITLE Start bounds 0 EXTDIM  €ÿÿÿÿÿÿÿÿ 8shuffledeflateÿÿÿÿÿÿÿÿ à’…^ (CLASSEARRAY (VERSION1.1 0TITLE End bounds 0 EXTDIM  €ÿÿÿÿÿÿÿÿ 8shuffledeflateÿÿÿÿÿÿÿÿ à’…^ (CLASSEARRAY (VERSION1.1 0TITLE Median bounds 0 EXTDIM  ˜Ý` 8shuffledeflatePÞà’…^ 0CLASS LASTROWARRAYÛxSNOD ÐÐ(ÏXÊH¸Ø8˜Õ (VERSION1.1 @TITLELast Row sorted values + boundsˆÇH 8shuffledeflate€æà’…^ 0CLASS LASTROWARRAYsortedindicesrangesmrangesboundsaboundszboundsmboundssortedLRindicesLRHøÝX 0TITLELast Row indices 8 nelements d 8 nelements dTREEÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ$Ï´TREEÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ)¦´HÅhÇ 0 DIRTY ÀñxTREEÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿHõ@¨ 8HEAP°hx(P (VERSION1.1 P @TITLEIndex for object_1_3 column (CLASSINDEX (VERSION2.1 0 FILTERS@ 8 superblocksize@ 8 blocksize@ 8 slicesize  8 chunksize  8 optlevel  8 reduction  (ÿÿÿÿÿÿÿÿ 8shuffledeflateöÀà’…^ 0CLASS INDEXARRAYSNOD0è(@PÿXh @ ÿÿÿÿÿÿÿÿ (VERSION1.1 0TITLE Sorted Values 0 EXTDIM xíÐÿ3ÓqÇñ-WݲZ"«#ÕÅi¡¥”¾Lµ«\H›.YÅ®’cÚå¦.)jL_ôÅ.k¾®’ ‡æSk&ߺ ù|Žiöi¾l4k[$SןÐoûáýú ž¯ÇUæPÍÇ ü*“×®O²ë¯c»òÝØL¼ƒ@ÜI åLx¾éJ™;±^ý‰Ìd¬`ú4aT§§oZ{‰?2úWõL þ‹¶èÍ…?™èÊY£äÂ-×c·™ýüïå|i…03€A `ƒš güòËÄ•sÂ1SZN‡Ï†"Œ¸T£> äT¦çuT;™m‹*òó¦ã~ÞáD÷‘®¥M憖Ö YTò£€k4Ï¡#”ãrý¤ýiÒ,ÜØ ¼öæµ÷ÒçÈQÍšf<’€@á8^’³4ÍëRõ)Ì ~±”ŽÀ†ÔCe¢Ü2QkÄV¬©X“Þx)OB*Î%¹¼MÎ?z$¸c¨gç}Çt•]o‘lñP|ÚG#g/#N…Øv  ïTµ®Ëgwû–„.,éÚm Sšqf €€- ´ÜI@h"5ƒä¾j$?(õ+û [Sö뼺ª’«•º¥æQ174´Ë.0{H«î £®)ɪ ö´e­/ ïw\À =Pm÷V ¼ÊKÌâ+7cªŸ-Ù^uòñuŒLÀz¹rØòé3¯…g‹ÏAŠwèMÏÇ’¢ê *ø8Ç·Í «ÂÏ{B¡ÈWû%Ò3¾P†«ÛŠ'Ä:GËCÄ5\¼cÝвOëyj;§†”ùûy±´èë'ˆ#™ølENWú$죫€Xû¡<΃¡`g lQ þš#u£u”'y% ùÜÆ¡.B™ÁB¼ÿBòßJ¸rw—Þ"‚£½ö^Šñpßå܉péœØéÖ¹3£õ3lŠÜP=kù‚Õ¶“ÈwÂQîjb7šÁËkômˆÇÆcmñ9h@À:ÿÛl4N †ïSS““zýÄÄØ(‚hFÔÃ*•jp† ¾^¥âsOwG»\ÚZSZYQûVÜ"‘Je²O eßA0<¨A¾iÇt:^?5m4™Læ³ÌÌΡYg lQ@òÿÛ÷£P$[|š€ø 5ê¿|xí™ Ž1…{$ÀðqÌßýPv·j¯©~R¤Èq$Ï7áÞàè[kÄ£ý#ù'ý–Îèþ•)FùGõ­þ+è_OÀ#ð`Ÿ€)öMb·›X 9äz;Ðú2ƒKÍ¢p^Y0Ë<+§Æ+Ô‰YpÍBÔ÷G´ÌÆ#ªúÕÿÞøw¤G`ôBO°£Zl» VnîJE¿RMY‰Q+ªw”·Z‰,>à°«„ÐwÐe²Õ-6n`&ÁV¸wï‡úx>‘€¥«+Öø€<½‰±pÝG:¬©¤­¨{™^Ú@z©YBöa_ê»ó^Iž6€œùöþò‘ÕÇe;ŸxåïLÀ#@¨ ‰÷*Ò´ºˆóžÏ¹Èœk[û2`¶!,Ìpž1 ·œ  œ&àH‚g9äN2ÜE¦0ßÈ™(f×ãü<ŸH ²¨ÌÂ&¨£Î´2½ÓSè«ô¥nÀMÔ[A§ÂÏßz¦ì}¦äãI‡òt—èìǘ\ðÕÿ'Þúw¦Gà ß`U‰2%BéUVÊÉ-¤6Y`OD8Ðtûk…N˜Ñ¥™-‚çôuóKã ‡ÁàN–Hî¾”yàõÿï—ö|$­$®gþÏq½³=víÛ3É ø4úó¤/怛ê™uÖ=!áLøÁ{Úƒ™x§‡% ©*åì6âÔdËG^ú;Ô#ðßø ãØßõxíÐ  ÷Om( 0`À€ 0`À€÷xí˜Û%+ E'$¿ð#Àvþ!ŒO÷é†p>Ø%Š¢$Xö¶>Âÿ‰~Ä#ùÕúO:²¹Ç?í__ÝåGõOÝОGà -‹dYfYÝrNÎŒ^$;M4‘@µQ-Ø>W7|æ–ïšØ³œxÙÞ9ÂopÌ¿÷N`Aùƒ¿-=À05)[Â…‹Z÷qÁê«É>¹žì2ÔF^™¸3¢>ÑbaóÑ k—¯*.C.ËíèB`ßY§é ú@?À7&ìwEeo‡Éç묾yKp¥4l9cVbžXóRJ¾Âi[eúÍŒ}ë(ï¬FW]G&Üqâßxò·§GàðÜ<ºÌ“d'YX¡¬¦ íR+Çì6P¡Ýhuã3’ì¸*‰pŒEP÷B![SX¬kc.î¯Çùx¾‘ÀÕHÑ¢ÜQ1Ãr:Ž]¾æ%úTóR¨íSõ×Y„1ÉƧzkî=½‚+Rš7¿ñäoOÀ#0.}ÚxºMZÑhM¶> ÎȾ½²Vw6Ùw@ï›qwñ„s›b`9¡_ŸšI& `ž@ ±çÃ'îü­éxþ jâƒxíÐ  ÷Om( 0`À€ 0`À€÷xí™Á‘ä0E'$@€ $Dþ!,ž®šMÁU­ðAæ ½nà#ü ÿD4ñGò‘þ×lÙ#ÿSg_؇Xýøë1_—À+ „e·kê'KÍ@³½<Ö"˜ºûRŸG :aázúªÉTÙ…A]ÝiEí#ÚAŒÓ£»³¼Tzý•G¿›º¾žÀ?.îß!xíÐ  ÷Om( 0`À€ 0`À€÷xíÐ  ÷Om( 0`À€ 0`À€÷xí˜Û­$1DoH`6áðÌ?„e´w7†ùp}u[´ä>VaàŸð£õ_ûWô+þ•|tF÷#ýÈÌÿ*FùQ}Ôÿýóô<_HåXŒ[™#ùš7‰¨{!«æDì±‰ÍøNèm\,%M¤–ÕÄÚk–÷íÞ|æCŸÈçÿ/<ù·¥Gàç'Ư”ˆcVƒŠ·YIôÊ#¸:µoÂä0g?F˜×ÖÝwE2 ä%ÑÒð&_.÷ÜÀ¾+Ö#ý<ßH ,9ïÎã yÇ*£ë¼¯ãîZe·¯ó‚â 0°–S‰êé0R„˜˜Y¼STÀ=y!ðÿüíéx¨Î=”t¦ ‰~¼KÅ(Q²*W/Ûv·ì£­×ö.ê.‚¹æî̂դŽåÔÊ|Ò 91=ÎÀ#ð°Ç³›¦nG†iìõ(ßUpOíPëœyñN¡VW”Úv²ù¦«ôqsX+ä¤Ìà@kr”·N1¡H×…ðùÿþíéøÙ2ù6ÐÕÑ3Ò¯»–‚ÜÉ|˜k«VÖ˜>a[8ØÔþU´É®Lãß}iõ-9 %™“@vµMªØ[,}ûý<ßH`îçÂéõõ@žã´eꞎN¤-£yj†iñQÒ§bH`Ó™ˆ;èd‡% GövñY^œÖ «,xµSß7ÿÿÆ£{z~þÓßOxíÐ  ÷Om( 0`À€ 0`À€÷xíÐ  ÷Om( 0`À€ 0`À€÷xíÐ  ÷Om( 0`À€ 0`À€÷xíÐ  ÷Om( 0`À€ 0`À€÷xíÐ  ÷Om( 0`À€ 0`À€÷xíÐ  ÷Om( 0`À€ 0`À€÷xíÐ  ÷Om( 0`À€ 0`À€÷ €ÿÿÿÿÿÿÿÿ 8shuffledeflateÿÿÿÿÿÿÿÿ à’…^ (CLASSEARRAY (VERSION1.1 0TITLE Median bounds 0 EXTDIM  øÀ` 8shuffledeflate°Áà’…^ 0CLASS LASTROWARRAYp¾xSNOD 0¬ˆª¸¥H¼8ø° (VERSION1.1 @TITLELast Row sorted values + bounds0¢H 8shuffledeflateàÉà’…^ 0CLASS LASTROWARRAYsortedindicesrangesmrangesboundsaboundszboundsmboundssortedLRindicesLRHXÁX 0TITLELast Row indices 8 nelements d 8 nelements dTREEÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ!q‹TREEÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ)ˆ¹ðŸ¢ 0 DIRTY  ÕxTREEÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ¨Ø@ç8HEAP°hØéˆêP (VERSION1.1ðûP @TITLEIndex for object_1_8 column (CLASSINDEX (VERSION2.1 0 FILTERS@ 8 superblocksize@ 8 blocksize@ 8 slicesize  8 chunksize  8 optlevel  8 reduction  (ÿÿÿÿÿÿÿÿ 8shuffledeflateðÙÀà’…^ 0CLASS INDEXARRAYSNOD0Há( ß°ÚXÈè@häÿÿÿÿÿÿÿÿ (VERSION1.1 0TITLE Sorted Values 0 EXTDIM  ¨(ÿÿÿÿÿÿÿÿ  8shuffledeflateÿÿÿÿÿÿÿÿà’…^ 0CLASS INDEXARRAY (VERSION1.1 8TITLENumber of chunk in table 0 EXTDIM  ˜(ÿÿÿÿÿÿÿÿ 8shuffledeflateÿÿÿÿÿÿÿÿà’…^ 0CLASS CACHEARRAY (VERSION1.1 0TITLE Range Values 0 EXTDIM  €ÿÿÿÿÿÿÿÿ 8shuffledeflateÿÿÿÿÿÿÿÿ à’…^ (CLASSEARRAY (VERSION1.1 0TITLE Median ranges 0 EXTDIM  ˜(ÿÿÿÿÿÿÿÿ 8shuffledeflateÿÿÿÿÿÿÿÿà’…^ 0CLASS CACHEARRAY (VERSION1.1 0TITLEBoundary Values 0 EXTDIM  €ÿÿÿÿÿÿÿÿ 8shuffledeflateÿÿÿÿÿÿÿÿ à’…^ (CLASSEARRAY (VERSION1.1 0TITLE Start bounds 0 EXTDIM  €ÿÿÿÿÿÿÿÿ 8shuffledeflateÿÿÿÿÿÿÿÿ à’…^ (CLASSEARRAY (VERSION1.1 0TITLE End bounds 0 EXTDIM  €ÿÿÿÿÿÿÿÿ 8shuffledeflateÿÿÿÿÿÿÿÿ à’…^ (CLASSEARRAY (VERSION1.1 0TITLE Median bounds 0 EXTDIM  Øê` 8shuffledeflateëà’…^ 0CLASS LASTROWARRAYPèxSNOD Þhܘ×Høå8Øâ (VERSION1.1 @TITLELast Row sorted values + boundsÈÔH 8shuffledeflateÀóà’…^ 0CLASS LASTROWARRAYsortedindicesrangesmrangesboundsaboundszboundsmboundssortedLRindicesLRH8ëX 0TITLELast Row indices 8 nelements d 8 nelements dTREEÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ"O‰TREEÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ)_¹ˆÒ¨Ô 0 DIRTY HxTREEÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÐ@08HEAP°h°P (VERSION1.1SNODÀJèJM èuv0x°ÈŸðŸ¢À`ÒˆÒ¨Ô'P @TITLEIndex for object_1_9 column (CLASSINDEX (VERSION2.1 0 FILTERS@ 8 superblocksize@ 8 blocksize@ 8 slicesize  8 chunksize  8 optlevel  8 reduction  (ÿÿÿÿÿÿÿÿ 8shuffledeflateÀà’…^ 0CLASS INDEXARRAYSNOD0p (È ØXð@ÿÿÿÿÿÿÿÿ (VERSION1.1 0TITLE Sorted Values 0 EXTDIM  ¨(ÿÿÿÿÿÿÿÿ  8shuffledeflateÿÿÿÿÿÿÿÿà’…^ 0CLASS INDEXARRAY (VERSION1.1 8TITLENumber of chunk in table 0 EXTDIM  ˜(ÿÿÿÿÿÿÿÿ 8shuffledeflateÿÿÿÿÿÿÿÿà’…^ 0CLASS CACHEARRAY (VERSION1.1 0TITLE Range Values 0 EXTDIM  €ÿÿÿÿÿÿÿÿ 8shuffledeflateÿÿÿÿÿÿÿÿ à’…^ (CLASSEARRAY (VERSION1.1 0TITLE Median ranges 0 EXTDIM  ˜(ÿÿÿÿÿÿÿÿ 8shuffledeflateÿÿÿÿÿÿÿÿà’…^ 0CLASS CACHEARRAY (VERSION1.1 0TITLEBoundary Values 0 EXTDIM  €ÿÿÿÿÿÿÿÿ 8shuffledeflateÿÿÿÿÿÿÿÿ à’…^ (CLASSEARRAY (VERSION1.1 0TITLE Start bounds 0 EXTDIM  €ÿÿÿÿÿÿÿÿ 8shuffledeflateÿÿÿÿÿÿÿÿ à’…^ (CLASSEARRAY (VERSION1.1 0TITLE End bounds 0 EXTDIM  €ÿÿÿÿÿÿÿÿ 8shuffledeflateÿÿÿÿÿÿÿÿ à’…^ (CLASSEARRAY (VERSION1.1 0TITLE Median bounds 0 EXTDIM  ` 8shuffledeflate¸à’…^ 0CLASS LASTROWARRAYxxSNOD 8 ÀH 8 (VERSION1.1 @TITLELast Row sorted values + bounds¨þH 8shuffledeflateèà’…^ 0CLASS LASTROWARRAYsortedindicesrangesmrangesboundsaboundszboundsmboundssortedLRindicesLRH`X 0TITLELast Row indices 8 nelements d 8 nelements dTREEÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿE·TREEÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ)·hüˆþ 0 DIRTY (*xTREEÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ°-@<8HEAP°hà>?P (VERSION1.1øPP @TITLEIndex for object_2_0 column (CLASSINDEX (VERSION2.1 0 FILTERS@ 8 superblocksize@ 8 blocksize@ 8 slicesize  8 chunksize  8 optlevel  8 reduction  (ÿÿÿÿÿÿÿÿ 8shuffledeflateø.Àà’…^ 0CLASS INDEXARRAYSNOD0P6(¨4¸/XÐ=@p9ÿÿÿÿÿÿÿÿ (VERSION1.1 0TITLE Sorted Values 0 EXTDIM  ¨(ÿÿÿÿÿÿÿÿ  8shuffledeflateÿÿÿÿÿÿÿÿà’…^ 0CLASS INDEXARRAY (VERSION1.1 8TITLENumber of chunk in table 0 EXTDIM  ˜(ÿÿÿÿÿÿÿÿ 8shuffledeflateÿÿÿÿÿÿÿÿˆà’…^ 0CLASS CACHEARRAY (VERSION1.1 0TITLE Range Values 0 EXTDIM  €ÿÿÿÿÿÿÿÿ 8shuffledeflateÿÿÿÿÿÿÿÿà’…^ (CLASSEARRAY (VERSION1.1 0TITLE Median ranges 0 EXTDIM  ˜(ÿÿÿÿÿÿÿÿ 8shuffledeflateÿÿÿÿÿÿÿÿà’…^ 0CLASS CACHEARRAY (VERSION1.1 0TITLEBoundary Values 0 EXTDIM  €ÿÿÿÿÿÿÿÿ 8shuffledeflateÿÿÿÿÿÿÿÿà’…^ (CLASSEARRAY (VERSION1.1 0TITLE Start bounds 0 EXTDIM  €ÿÿÿÿÿÿÿÿ 8shuffledeflateÿÿÿÿÿÿÿÿà’…^ (CLASSEARRAY (VERSION1.1 0TITLE End bounds 0 EXTDIM  €ÿÿÿÿÿÿÿÿ 8shuffledeflateÿÿÿÿÿÿÿÿà’…^ (CLASSEARRAY (VERSION1.1 0TITLE Median bounds 0 EXTDIM  à?` 8shuffledeflate˜@à’…^ 0CLASS LASTROWARRAYX=xSNOD 3p1 ,H;8à7 (VERSION1.1 @TITLELast Row sorted values + boundsÐ)H 8shuffledeflateÈHà’…^ 0CLASS LASTROWARRAYsortedindicesrangesmrangesboundsaboundszboundsmboundssortedLRindicesLRH@@X 0TITLELast Row indices 8 nelements d 8 nelements dTREEÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ0…TREEÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ)ó¶'°) 0 DIRTY TxTREEÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿW@ðe8HEAP°hÀhpiP (VERSION1.1ØzP @TITLEIndex for object_2_1 column (CLASSINDEX (VERSION2.1 0 FILTERS@ 8 superblocksize@ 8 blocksize@ 8 slicesize  8 chunksize  8 optlevel  8 reduction  (ÿÿÿÿÿÿÿÿ 8shuffledeflateØXÀà’…^ 0CLASS INDEXARRAYSNOD00`(ˆ^˜YX°g@Pcÿÿÿÿÿÿÿÿ (VERSION1.1 0TITLE Sorted Values 0 EXTDIM  ¨(ÿÿÿÿÿÿÿÿ  8shuffledeflateÿÿÿÿÿÿÿÿà’…^ 0CLASS INDEXARRAY (VERSION1.1 8TITLENumber of chunk in table 0 EXTDIM  ˜(ÿÿÿÿÿÿÿÿ 8shuffledeflateÿÿÿÿÿÿÿÿˆà’…^ 0CLASS CACHEARRAY (VERSION1.1 0TITLE Range Values 0 EXTDIM  €ÿÿÿÿÿÿÿÿ 8shuffledeflateÿÿÿÿÿÿÿÿà’…^ (CLASSEARRAY (VERSION1.1 0TITLE Median ranges 0 EXTDIM  ˜(ÿÿÿÿÿÿÿÿ 8shuffledeflateÿÿÿÿÿÿÿÿà’…^ 0CLASS CACHEARRAY (VERSION1.1 0TITLEBoundary Values 0 EXTDIM  €ÿÿÿÿÿÿÿÿ 8shuffledeflateÿÿÿÿÿÿÿÿà’…^ (CLASSEARRAY (VERSION1.1 0TITLE Start bounds 0 EXTDIM  €ÿÿÿÿÿÿÿÿ 8shuffledeflateÿÿÿÿÿÿÿÿà’…^ (CLASSEARRAY (VERSION1.1 0TITLE End bounds 0 EXTDIM  €ÿÿÿÿÿÿÿÿ 8shuffledeflateÿÿÿÿÿÿÿÿà’…^ (CLASSEARRAY (VERSION1.1 0TITLE Median bounds 0 EXTDIM  Ài` 8shuffledeflatexjà’…^ 0CLASS LASTROWARRAY8gxSNOD ø\P[€VHàd8Àa (VERSION1.1 @TITLELast Row sorted values + bounds°SH 8shuffledeflate¨rà’…^ 0CLASS LASTROWARRAYsortedindicesrangesmrangesboundsaboundszboundsmboundssortedLRindicesLRH jX 0TITLELast Row indices 8 nelements d 8 nelements dTREEÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ!iNTREEÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ)UºpQS 0 DIRTY è}xTREEÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿp@Nš8HEAP°hÎP (VERSION1.16¯P @TITLEIndex for object_2_2 column (CLASSINDEX (VERSION2.1 0 FILTERS@ 8 superblocksize@ 8 blocksize@ 8 slicesize  8 chunksize  8 optlevel  8 reduction  (ÿÿÿÿÿÿÿÿ 8shuffledeflate¸‚Àà’…^ 0CLASS INDEXARRAYSNOD0Ž”(æ’xƒXœ@®—ÿÿÿÿÿÿÿÿ (VERSION1.1 0TITLE Sorted Values 0 EXTDIM  ¨(ÿÿÿÿÿÿÿÿ  8shuffledeflateÿÿÿÿÿÿÿÿà’…^ 0CLASS INDEXARRAY (VERSION1.1 8TITLENumber of chunk in table 0 EXTDIM xí[í­ë¸<¥ÜHñSåH¢Ø ;9{^ Vü#qylRÃáøÏŸƒcü ùªjfþ‰ø_äÿc"bÿç7êoÜßhÄŸþyñx|!Èp÷ª¦¡6±yκøˆÌuýí«Ÿ/™‡ØÜu‰D4×ÁŸP¿Á‹?Å"‰Å=W±ˆùÁ?¯Þ/¼ð·¤‡ÀCàgøò¶àU“×ÈZuçt»§£†8u;÷Öhö1“s"Ý÷¡å§—ꥸ%ÚwŽd³c5GWìqêê8rräú!ðøFZxle?Û´k/¤²¸&¾Âžš5¥*/ÏÏv.Y 89‰ôêQÍQÙ­CP¬YÖF5•„õ^žÚúWþÖôx¶øÌ¸kݳ¯ éÇÑfà"›׿è^›³ƒAìw_T0„™·jú®Ãg²&;E(¸CKqšÓ  2i>œoD -«&×İ¿«|¶ï_- Áj[PÌÎ5ææ‚@L¼6o>$å{-»—ØS×RÅ¡ôl²TÙY]ßxåoM‡@í{ÔŽCÐ3Ú½©}«Ø0áù?æ˜'d:$½„óC$ŠbWšžQ˧Œ-̆¹AÐåZ£Û”qŽ—?œoD ÇYýÑ¿vÎrª=2[gïÆ¶Ž’0ÙC—ô¡t›±@éÁ ” þgãg«ÖûÑÿÙÂ9ìLÐ…Ö= {¿üÿÆ[ÿÖôøÙ'N¦-4ñâ׃ÎÑ—C”îÝ6Ô¾lë/9rç¯GÆKa¸Ba50÷30…qblˆóhNÌî~ó¿÷¤=¾ºàñôQòNWÚi2÷Ù¿Áÿ›ï=sÐv!—¢™Hô‰ÞßKr¯}rg'Í™Pö° ýå@Öí1¦ò›ÿý石Àw" Uª,ã4Âî˜LQáð¹ö$›ó€ Xìp8{VòNè‚ }€!ôŸa§ÔaýA¹çzC G €àùÿ¾óÖ¿U=~rWèè í̭ݨš±I°Ÿs!ÿ™&ܼ‡ÑÏWbFP5àë…j!àl¼ÄnCýÓuÖl8-îtX 0þ«€4ð€~<¾ƒ½WÇ2j(|Ú®¾†y$V^\ ’`4,þxI`Œ@ÇÆýhÓ"ÎÇ8n~wú…JpH / ÝÆQÀýgÿã­kzüЮ´ø©¯ݽßI°ó#ÇÛ¼Ãù{^JH¨SÀ8Þ4±³/lób„€ô€ÚoóòL!ŒIÁBYÑóÿ¼'í!ð•üq™šÉx홉ã0 E§$^:XÅ£ÿ†Îìb·£ F|ÒC>EÒ!"}Äÿ$5ZóÖö#ý‘ùGñŸ²UUP_W—À%ðB0ôD&’ƒŒ±ÖR;îíÛ¹õôµªþ ööHâ¡}nô= DýtBó(Õ@î–jŸêïÇÁ_¸ð;¥Kàø²«±9”ÍUù¤ˆy!äŽéæ{l5;²c™ž9‡r  PÛüÓjÛ¬¢>΄=¦lTÓ ú¸ÞH "Ï)ÉbÈ«}ïξΠÚh23°wÝÀË‹LçØ°&²:î¤Âª' àS)‰n«@¢ ï‘߸ò;§KàX›xŸÜ{H'ï1‚B‚ u¢r^{®¶ùXãЊÞ×%mví¿Jºàщ)—² íštV™L)耽 ×õÿý£]¯$°äPL„.õyaºÒ©œ§"ÑvH×ø£mß™~ÚúØÅÇ QfZ§/×*òuªlœÙpjç YT“Ÿ@qrå+—~'u üzíD‡§°’ÉõÙûçÏÆmC9;§7’õ4ɄΎìp1óÀžzºÈÜO–iE¹°îZ3—€Ù¨Ùâ×c¾.Wˆí»m׎íæ~Nöè~`·ï$EaVsù”y2ú†‚ô«Óû#³sÿRÙÐoºð'v/85K& Lþ¼réwR—À¯'ð ôbåˆ q­UçìP1 (‹OðœiƳ|‰±Ùa Æâ=zÉa{À!±Rø‘G¿›º¾ž€ž€3ޱ*PÞ™Û;ÕwõŸ;ª-]{Š3 Pšne!ŽNf]-¨¤‹ÛÌ U£&³÷}%’ÆÐñõ˜/€Kà‘6tQH¦—v¯oáº5³ö–€n:aX±wBçXghfÍ…I¸z‘~ŽâdW@hÍ=yô»©Kàë øÁZƒfun/©Åv½wl¸zx×õ'S·øÛhÃɵW¶ß ƒ¶÷ˆ0º„€` ƒÕX×ÓC=#;œÄ×c¾.Gèdí(‡;™Ó‚”¦áÄb¡Ä,7ÓîIÿBpÌ.ŠñXâÔ‘»;œ«ì5<¤\CóxÚéj`w7q:”°?òèwS—À×øŸŸÜœxí™[®#;EÏx Ã1Ï—œÛÝcȇwYŠÊQ•ìmÀàWø+ú+þÕúHþH?ÚÿËÌüŸÎ9ñQþSýª?ºÁýyz/$Ècæ@Ü; öø:/ÀҸȞ ,’Õ35ßÍ]4X/Ùæ's{³û'ŽÌãŸ)¤%^`^-ŸPþ…KzŸ‹ ãÞíâg“_ÒÈnUZÐ>#Cýú­â:žž‘»Ã 4Xcl~cIžn—۽ص ŽQMHˆô#ð|#RÎè}à¸,3(jÈhMvCWa®Ü ·ìÜšu$@ÐvœX¨X2¾ßH¬ê$™†ÄxßXœ^þÿÆŸþ­éøi“MWË„äNÚ8Ø0vo<©~¡,Y „róIîÏ¡âÜ]¥ÊËÑ ìÞ˜÷m¸mjR©S&ljz Gà lX^‹e*y0¢ÐiHm·] s€2OÒ­sT0wsð9ˆV~•T¦Ph¦EžPŒ€”m§x;nüÆ¿5=Nj·¹h29bëšh&ÕË׫FÔ]¾’ezýv£æ‚Éþ«m(²rʇ "Óóâ@š"çôïœÇ ëq~o$0Æv_܆3&So.<°ÆÌ›r91íNŠ`ÔÄú©ü/Ãm1Ýÿ{®¬é ŒãE¨zªˆ¥3"\»oãÎßšGà?˸Ú3 ˜(ÿÿÿÿÿÿÿÿ 8shuffledeflateÿÿÿÿÿÿÿÿˆà’…^ 0CLASS CACHEARRAY (VERSION1.1 0TITLE Range Values 0 EXTDIM  €ÿÿÿÿÿÿÿÿ 8shuffledeflateÿÿÿÿÿÿÿÿà’…^ (CLASSEARRAY (VERSION1.1 0TITLE Median ranges 0 EXTDIM  ˜(ÿÿÿÿÿÿÿÿ 8shuffledeflateÿÿÿÿÿÿÿÿà’…^ 0CLASS CACHEARRAY (VERSION1.1 0TITLEBoundary Values 0 EXTDIM  €ÿÿÿÿÿÿÿÿ 8shuffledeflateÿÿÿÿÿÿÿÿà’…^ (CLASSEARRAY (VERSION1.1 0TITLE Start bounds 0 EXTDIM  €ÿÿÿÿÿÿÿÿ 8shuffledeflateÿÿÿÿÿÿÿÿà’…^ (CLASSEARRAY (VERSION1.1 0TITLE End bounds 0 EXTDIM  €ÿÿÿÿÿÿÿÿ 8shuffledeflateÿÿÿÿÿÿÿÿà’…^ (CLASSEARRAY (VERSION1.1 0TITLE Median bounds 0 EXTDIM  ž` 8shuffledeflateÖžà’…^ 0CLASS LASTROWARRAY–›xSNOD V‘®`€H>™8– (VERSION1.1 @TITLELast Row sorted values + bounds}H 8shuffledeflate§à’…^ 0CLASS LASTROWARRAYsortedindicesrangesmrangesboundsaboundszboundsmboundssortedLRindicesLRH~žX 0TITLELast Row indices 8 nelements d 8 nelements dTREEÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ$EJTREEÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ),ºP{p} 0 DIRTY ޳xTREEÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ·@vÅ8HEAP°hFÈöÈP (VERSION1.1SNODÐ@ühüˆþàh''°)ðHQpQS({P{p}†¯®¯α ®ÚÖÚöÜ0޶Ö@n.–.¶0^ÚP @TITLEIndex for object_2_3 column (CLASSINDEX (VERSION2.1 0 FILTERS@ 8 superblocksize@ 8 blocksize@ 8 slicesize  8 chunksize  8 optlevel  8 reduction  (ÿÿÿÿÿÿÿÿ 8shuffledeflate^¸Àà’…^ 0CLASS INDEXARRAYSNOD0¶¿(¾¹X6Ç@ÖÂÿÿÿÿÿÿÿÿ (VERSION1.1 0TITLE Sorted Values 0 EXTDIM  ¨(ÿÿÿÿÿÿÿÿ  8shuffledeflateÿÿÿÿÿÿÿÿà’…^ 0CLASS INDEXARRAY (VERSION1.1 8TITLENumber of chunk in table 0 EXTDIM  ˜(ÿÿÿÿÿÿÿÿ 8shuffledeflateÿÿÿÿÿÿÿÿˆà’…^ 0CLASS CACHEARRAY (VERSION1.1 0TITLE Range Values 0 EXTDIM  €ÿÿÿÿÿÿÿÿ 8shuffledeflateÿÿÿÿÿÿÿÿà’…^ (CLASSEARRAY (VERSION1.1 0TITLE Median ranges 0 EXTDIM  ˜(ÿÿÿÿÿÿÿÿ 8shuffledeflateÿÿÿÿÿÿÿÿà’…^ 0CLASS CACHEARRAY (VERSION1.1 0TITLEBoundary Values 0 EXTDIM  €ÿÿÿÿÿÿÿÿ 8shuffledeflateÿÿÿÿÿÿÿÿà’…^ (CLASSEARRAY (VERSION1.1 0TITLE Start bounds 0 EXTDIM  €ÿÿÿÿÿÿÿÿ 8shuffledeflateÿÿÿÿÿÿÿÿà’…^ (CLASSEARRAY (VERSION1.1 0TITLE End bounds 0 EXTDIM  €ÿÿÿÿÿÿÿÿ 8shuffledeflateÿÿÿÿÿÿÿÿà’…^ (CLASSEARRAY (VERSION1.1 0TITLE Median bounds 0 EXTDIM  FÉ` 8shuffledeflateþÉà’…^ 0CLASS LASTROWARRAY¾ÆxSNOD ~¼Öº¶HfÄ8FÁ (VERSION1.1 @TITLELast Row sorted values + boundsî±H 8shuffledeflate.Òà’…^ 0CLASS LASTROWARRAYsortedindicesrangesmrangesboundsaboundszboundsmboundssortedLRindicesLRH¦ÉX 0TITLELast Row indices 8 nelements d 8 nelements dTREEÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ"#FTREEÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ)º®¯α 0 DIRTY nÝxTREEÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿöà@Vï8HEAP°h&òÖòP (VERSION1.1>P @TITLEIndex for object_2_4 column (CLASSINDEX (VERSION2.1 0 FILTERS@ 8 superblocksize@ 8 blocksize@ 8 slicesize  8 chunksize  8 optlevel  8 reduction  (ÿÿÿÿÿÿÿÿ 8shuffledeflate>âÀà’…^ 0CLASS INDEXARRAYSNOD0–é(îçþâXñ@¶ìÿÿÿÿÿÿÿÿ (VERSION1.1 0TITLE Sorted Values 0 EXTDIM  ¨(ÿÿÿÿÿÿÿÿ  8shuffledeflateÿÿÿÿÿÿÿÿà’…^ 0CLASS INDEXARRAY (VERSION1.1 8TITLENumber of chunk in table 0 EXTDIM  ˜(ÿÿÿÿÿÿÿÿ 8shuffledeflateÿÿÿÿÿÿÿÿˆà’…^ 0CLASS CACHEARRAY (VERSION1.1 0TITLE Range Values 0 EXTDIM  €ÿÿÿÿÿÿÿÿ 8shuffledeflateÿÿÿÿÿÿÿÿà’…^ (CLASSEARRAY (VERSION1.1 0TITLE Median ranges 0 EXTDIM  ˜(ÿÿÿÿÿÿÿÿ 8shuffledeflateÿÿÿÿÿÿÿÿà’…^ 0CLASS CACHEARRAY (VERSION1.1 0TITLEBoundary Values 0 EXTDIM  €ÿÿÿÿÿÿÿÿ 8shuffledeflateÿÿÿÿÿÿÿÿà’…^ (CLASSEARRAY (VERSION1.1 0TITLE Start bounds 0 EXTDIM  €ÿÿÿÿÿÿÿÿ 8shuffledeflateÿÿÿÿÿÿÿÿà’…^ (CLASSEARRAY (VERSION1.1 0TITLE End bounds 0 EXTDIM  €ÿÿÿÿÿÿÿÿ 8shuffledeflateÿÿÿÿÿÿÿÿà’…^ (CLASSEARRAY (VERSION1.1 0TITLE Median bounds 0 EXTDIM  &ó` 8shuffledeflateÞóà’…^ 0CLASS LASTROWARRAYžðxSNOD ^æ¶äæßHFî8&ë (VERSION1.1 @TITLELast Row sorted values + boundsÝH 8shuffledeflateüà’…^ 0CLASS LASTROWARRAYsortedindicesrangesmrangesboundsaboundszboundsmboundssortedLRindicesLRH†óX 0TITLELast Row indices 8 nelements d 8 nelements dTREEÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿBTREEÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ)Ú¹ÖÚöÜ 0 DIRTY NxTREEÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÖ @68HEAP°h¶P (VERSION1.1.P @TITLEIndex for object_2_5 column (CLASSINDEX (VERSION2.1 0 FILTERS@ 8 superblocksize@ 8 blocksize@ 8 slicesize  8 chunksize  8 optlevel  8 reduction  (ÿÿÿÿÿÿÿÿ 8shuffledeflate Àà’…^ 0CLASS INDEXARRAYSNOD0v(ÎÞ Xö@–ÿÿÿÿÿÿÿÿ (VERSION1.1 0TITLE Sorted Values 0 EXTDIM  ¨(ÿÿÿÿÿÿÿÿ  8shuffledeflateÿÿÿÿÿÿÿÿà’…^ 0CLASS INDEXARRAY (VERSION1.1 8TITLENumber of chunk in table 0 EXTDIM  ˜(ÿÿÿÿÿÿÿÿ 8shuffledeflateÿÿÿÿÿÿÿÿˆà’…^ 0CLASS CACHEARRAY (VERSION1.1 0TITLE Range Values 0 EXTDIM  €ÿÿÿÿÿÿÿÿ 8shuffledeflateÿÿÿÿÿÿÿÿà’…^ (CLASSEARRAY (VERSION1.1 0TITLE Median ranges 0 EXTDIM  ˜(ÿÿÿÿÿÿÿÿ 8shuffledeflateÿÿÿÿÿÿÿÿà’…^ 0CLASS CACHEARRAY (VERSION1.1 0TITLEBoundary Values 0 EXTDIM  €ÿÿÿÿÿÿÿÿ 8shuffledeflateÿÿÿÿÿÿÿÿà’…^ (CLASSEARRAY (VERSION1.1 0TITLE Start bounds 0 EXTDIM  €ÿÿÿÿÿÿÿÿ 8shuffledeflateÿÿÿÿÿÿÿÿà’…^ (CLASSEARRAY (VERSION1.1 0TITLE End bounds 0 EXTDIM  €ÿÿÿÿÿÿÿÿ 8shuffledeflateÿÿÿÿÿÿÿÿà’…^ (CLASSEARRAY (VERSION1.1 0TITLE Median bounds 0 EXTDIM  ` 8shuffledeflate¾à’…^ 0CLASS LASTROWARRAY~xSNOD >–Æ H&8 (VERSION1.1 @TITLELast Row sorted values + boundsöH 8shuffledeflateî%à’…^ 0CLASS LASTROWARRAYsortedindicesrangesmrangesboundsaboundszboundsmboundssortedLRindicesLRHfX 0TITLELast Row indices 8 nelements d 8 nelements dTREEÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÒhTREEÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ)ñl¶Ö 0 DIRTY .1xTREEÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ¶4@šS8HEAP°hjVWP (VERSION1.1‚hP @TITLEIndex for object_2_6 column (CLASSINDEX (VERSION2.1 0 FILTERS@ 8 superblocksize@ 8 blocksize@ 8 slicesize  8 chunksize  8 optlevel  8 reduction  (ÿÿÿÿÿÿÿÿ 8shuffledeflateþ5Àà’…^ 0CLASS INDEXARRAYSNOD0V=(®;¾6XZU@v@ÿÿÿÿÿÿÿÿ (VERSION1.1 0TITLE Sorted Values 0 EXTDIM  ¨(ÿÿÿÿÿÿÿÿ  8shuffledeflateÿÿÿÿÿÿÿÿà’…^ 0CLASS INDEXARRAY (VERSION1.1 8TITLENumber of chunk in table 0 EXTDIM  ˜(ÿÿÿÿÿÿÿÿ 8shuffledeflateÿÿÿÿÿÿÿÿˆà’…^ 0CLASS CACHEARRAY (VERSION1.1 0TITLE Range Values 0 EXTDIM  €ÿÿÿÿÿÿÿÿ 8shuffledeflateÿÿÿÿÿÿÿÿà’…^ (CLASSEARRAY (VERSION1.1 0TITLE Median ranges 0 EXTDIM  ˜(ÿÿÿÿÿÿÿÿ 8shuffledeflateÿÿÿÿÿÿÿÿà’…^ 0CLASS CACHEARRAY (VERSION1.1 0TITLEBoundary Values 0 EXTDIM  €ÿÿÿÿÿÿÿÿ 8shuffledeflateÿÿÿÿÿÿÿÿà’…^ (CLASSEARRAY (VERSION1.1 0TITLE Start bounds 0 EXTDIM  €ÿÿÿÿÿÿÿÿ 8shuffledeflateÿÿÿÿÿÿÿÿà’…^ (CLASSEARRAY (VERSION1.1 0TITLE End bounds 0 EXTDIM  €ÿÿÿÿÿÿÿÿ 8shuffledeflateÿÿÿÿÿÿÿÿà’…^ (CLASSEARRAY (VERSION1.1 0TITLE Median bounds 0 EXTDIM xíZÛ•,9ÛPnƒÁᘇóaUûÈ¡?ÌGÏtÕT[=€,ôçÏãßà/æòèÿ±þ û'ü¿Ø_œsâßÈ¢þ‹î¾_ü¹½x<~¡Ë«h°,+ÝU¿ø¡!îûDâMdâ2 ƒ~yÎÓìàUÄvô”盛.‹¼,zª×ðÐÏ…{w¼üÿÁoþ-é!ð×_Ü)~ǰàaƲyÆi²¾¼Ö¼}h…=-sÆ:yVÒ¹au̶Ö^w‘HÈZ.`G;˜ñ#;ï6íæ~H?¿ˆÀôè˜jÍCãvÃ{:rï=µM˜/)h|™œqö ºÓ¶§ŸíìMiº¹E,aôä¢MÆóðN ÒŒ¿¸ó·¦‡ÀC€œe+± ÎÞ„N$gíÎSg!'ë4Æ ï–5‡€ ‘#§®oÐü«†ü7CœCA$DÇÔIóáüxü"µšù >WÊCAÛ¥ÀôïÑ»j‚áç‰3”ϰÑäÛc(‰A ëOP¯>jÅØAµG‹¹©Ìq³öÑÒ_Üù[ÓCà!àÓ¢¸vùX§Ûwµ‡@·3Jg*åï¿n¥´Þ R¿Îu°úqÔ÷åÞÃm졞çtœB%˜)m ìÔ*¯‡óCà!ð‹è¥÷çÅcSkÒÃ%]^m'½cmÜåÒY8Þ7DÔ´G’ëš5Örº £/ t¨wÏ­ûwþÖôxø\Lû®º%?1׋ÒV£å»¡d>tÁ™¶.oC¦Kˆƒ«=c5u-W‡^¾ð¨…à„0wnh›Ééáüxü"¤œ÷,—Þ`îk‘‰.â/}2Þ–€hB5‡Ž3+nÜÖƒÆá„Jˆ'Š1:\˜L*ÒyQ jHä Ïrò_Üù[ÓCà!pÄˬ+hQÔ-d3ÿŒÌ†q‡1t” Xª?ûÏE1pÕ2õædÈ=6|± 'œ—køÄ!Oª;öp~<~FïþT:8«lCÞ‡ª¿kÛ@]Àp –Â"D· c€5w3%¦ýy:aõILýœ&þÙ°&À‹3®0 A…èñ‹;kz< †äëM˜z E@GÜcò/Kýºœ0õz‰5f¿]:ï9éÂ,P »°Ü3÷' Z´€²¬” Ùàáüxü"¹aã?Gr6Ì}˜èõ±‰Ñ½âJ dþ¬oÚ¿üò`$™d8ã8ð¹ÿ!À4£U` Rp¿hü‘P ‚₈À¿¸ó·¦‡ÀC  ¾#h¬nxyºv6þ><7hj2$ä1š¹BPRäúÛ\qF?ø¤J‚_†kÌàj€l ÂÁ›ÿ¿´‡ÀO"ð7NI£€xí[Û%+ ÜP6?0àplÀù‡p‹}H7„–ÿ̨uA1.W¹òŸÿ‡þvÃ~GÿãWL„ÿŽ@ä¯Xˆý7ÎBü¬/"p©{³”Øæü•Èû±éÈäSä±J­gî£j6ðSZëQÃ=‰¥ÏÀƒY¢­»Ø"VcΣ È]fðàoK‡ÀJ‹í[Ó¡sµ0š5F“Ôm†>áÝ|’l¯9ùfye;Í£íÖ˜zK¦gÒð1N®qúÒćp=< /"0ÚÇIõ8&]z›c”óê Õ¾G¶&;§¥d#u¯Rn›VàFX<çÚ¨õ¸:ZH4æ–DU\Úk] öÅ“¿==1‚º‘òžZ'UãÒýQhù ¥ŸÎ¨˪¡¦¯î·0ðû˜~–ËòJІ¸.¨ËÚJzé€f]EõSñúÿ÷öø$•ec¥’8Ñ ¸E‘Õö:ÎT»æ©³WÐa©ÕܤfËèévbàwj¸7¼õt‡"˜[и XqøäÑߦÿ<N{‡ìÛç×åù#µ:¾I‘ÁOŽ-EöËš½“6+8 Ýo“m@yCã϶ÔÒ²7š€Õ¶ð>³7äp dÀfÇ}ÌIOPÛ“wà¡Bhh `R¬¾ro… ‹vï¼¹M5ü…—ÿó0?ŸD VÀÇ‘/¨õ¹ D^W—†Dö½n7Ïd`éf±â)¾É €fŒA1ªà–\ËEã3Læ¿„ÁH´àzüÿ“ßýÛÔC@ʬºÖ{Ìû·`÷’N°ïV =GgÁtu¦!`Æe€àñO‚1°]æ!QqH€º›u nO>'äÀ‡óCà!ðEné_, J~o›+©×Dýž; ¾ª>ub‚rœ3õL(€{¬fÿ–ASÔ?“dÆaÈÐ`µ8þôÿ/~õoOý¬¦>5½¸g÷¹ÀõÓN#÷Év:†|%OlÿŠa_ÞÔ ó½íÊ}³µRé± Ò_€7Ä‚X¡5àÎÿâx@?_D`G-ÛÚnJ›Ì0­†Yà\àõs9»Ï€Gȳš`°·±®³´™ž¢Ô[['ƒ¿9—ŒÃÂmÅÄü€pA,h_<ùÛÓCà!€™_Ô~:(ë0QÚ©ïûöÜwteaŽOdßQ>‰ù~ü50ägÐú0á+än­úÎ¥N° ·-†œ!ç¾(ðp~<¾ˆÀ¥¶xí[í£=¼R®À›rl>ú/áܽº"­Ñþˆ²ÏZö$`˜™ýýûü71óOèß0³…Øÿ‡ÿ‹ó‰û7â_䟨¿Ñâwÿzñx|!<ÕÌÙýD4ñJ‘}hŒÌ–åçdÒ*Z‘4Q<{o<{od­í§IÆEÆËP]ŸÊ„·c…}nOÛ¨üòÿ ?ù·¥‡À¯_Y1|^¿®Ç©­N‹¢dÏk›kûB à`k=µ£‘×mvÄ(kþ.XÖñ­w2ž•À˜HÎmwÍOyxH?߈À¾ûHðöDׇçÙ2{ÊVÚEbÁí³o—¢,äœywÞ›MxVkþixQò%y‡¹…ÊE!äÇ¿ñäoO‡ÀØÄ¸¹§cÈRî¼ÑåWNñJÊ;O¯99§®åLk_K7'«àη¹µÆŠpÌ“Þv7ºkŽ9æÃù!ðøFbÑÌj\ó[Èæe\ÜW2YùDW¬y*¤Î`Ñ;+j\­8„®¢"c^(èBQ®­Q ¾ÀJLrÅúÆ“¿==ƒƒ|å›GSˆ³±“.’[®¶÷çùŸÉÔI®3IH<ŠX£„g¨aŒ Ì 3OÇg`²Â‹{ë»ÿß×ì!ð¥´ÅZ©Ó ·÷ZWïvP»ÀìGN õ ó¤‘Ý6ùª@0ésÆÑ¥µü_û “ØÐ$,×%˜zh„èøÒÿm=~8,aš'; ¤ŸÖ`–mž#ej_rJŸQ¾CÃ’ðŠ»j¯Íº·A0€@¨Ú[ ðîéªBÙÌÑ–ÆöÃA~Ç|)}YD¿¯=¶Zâ2/ÈxAh ÜkƒQà,8},ûn‰àØA;dƒ.ZOÏAµ!~d†“µåKÿ¶õøál¸uÀôÝ‘hð»x®ƒ!¾6ž8óؼäQG–¬É›ßG€üwî^³T¾Dö'œq;WûOUêB×À31 lùá ¿ã?¾9‘ºÈësÁØÃuÏ)€9ÿ=ð9¸€£C6]Óº²7ÚýD¶ƒ98Úß­éøÅ\‚êÅæ¤š=ð"¯Û|ýÿ—~úo[?Ø}ÖÎ#Ü Z@Nó>úÍÏ.óɬ û×ŠÓ cð¥ÞÇ /1h†“ï ÷G3±o X‚¨úLÿFà¨[?åwþ‡Àw"?¯: îÀÕ3ÔþÚøý¦wŽáàýÝÊæG €ð6šÁ(¼ý—ÊÅ…bnÀŒ¶ ‚_¸ö߆rP”ÿðg»züt.\>“ŽE¢Ò´ÞQ†¯×D壠‡o´ñ¬¹M*aðeøÿ Œ Äý0¯âZɹc)AûÛ-  ŽÈä³çÜïþÿé_²wþ¯Eà?¹$©¸xí[Û•ä:ÜP&ÄC@8HBù‡p«g÷ÜúCütŸ±{Ž\6ªÊ???ã_ðoÈ'ôoØ'&ÂÿøDþú?bÿó‰þû/~À"ÀëÒP¼—Ä=×õõ)žgdí;¤p »G­Æ·ÝÍŸ£}™UmF®«M„³d±ØÚd¿¿dýý÷^ø[ÒCà!ð§l­á¥m7NÜ™Yf!¨ :æîÊÖíÊÓXøŽHÞ>ï1½{£j0Ž¢4,݉¿ð]ÝAŸCÒ8ý‰¬|@?߈€Ï°$•uJbRÕ ²š4ùÚׯôˆ>4îR¢½}A§ÜÞ³4æ‘Ø«2×½gž¼—[wÝy–šo¼ò·¦‡ÀC`ysñ¤3Ùþ=.W5#“G «/ä7¶üuIJ·ïs•"¦—¡U(ßkä*¶AÆ'ËÓZãæuÕ9Z—>œoD ÛsU:ÚtšYSõ3ò{*ÕïÈ!¬W#xùQ,›Â»ÁÄ>s̵ûÄ8­„ f9GfgF—”o¼ò·¦‡ÀC –ñMÍŽV~òüäù–RŒ»íÊ@]“méç‰ ¡ Lÿë€9k›s‡™a4 œ”{1D€Jè 8ãÍÿïA{|%â´@¬^LfKôLòá»=Aì‘ %°Œsèn HîB®/ZóºÈr–€A”_åoÇ®›{4Á yóÿWÞû·¨‡À‡_§7C´û_ÅrrbÌÏ£¡;›@ãGªÜP»ÞÓt 4 †° J!eBðÐ ›ífR!¡'0Zôp~<¾‚ô·?Ó?d;lâí¾ž4ðÍPùg9ĀΞ/€‰’ŠÃ¼ÁíÌ ùOPÑ@øÓÙ+Fˆo üöÿo¼õoM?õ Y}Ààlä2/Mÿè|z'9KU`óo6ÞU÷¶Â*½ÐD,m²S œícc¥£öYiŽ`ÆI~óÿ{Ò_‰€§;Ðä×lÕ{¥½ÃÑ΃Œ¸9TÓ„Ë  j`ƒØbV ²3s9ÔAï°;»œ{ž\` 5Ážþ÷•÷þ-ê!:l—~$¼iRO íÙÛê^É ;€_è Щ3ŽÁèÊÏ'û€y€ •°|ŒA5jÚ‰ jiðç‡ÀCàÈ8 Â>Æx4õ ƒ~‚ÉÝ¥ àðk¸úF!˜þÓ1¶n|À·­Z9ÏÁÄàR.@ÉF˜>ÿÿùÿ¿ñÖ¿5=þ¥+S6'Òí@ ˜w·Òd­!kà පlÌt7@pûy@`Tað0áí¡yñG+aÀ{D³yƒT|ûÿ{Ò_‰À!î£Õ jW` 8shuffledeflate"Xà’…^ 0CLASS LASTROWARRAYâTxSNOD :v8¦3HŠR8æ> (VERSION1.1 @TITLELast Row sorted values + boundsÖ0H 8shuffledeflateR`à’…^ 0CLASS LASTROWARRAYsortedindicesrangesmrangesboundsaboundszboundsmboundssortedLRindicesLRHÊWX 0TITLELast Row indices 8 nelements d 8 nelements dTREEÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ%mTREEÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ)?q–.¶0 0 DIRTY xí[á3;¼RRlC9ìþKøfs÷ôZØ&R´J²‘=x†!ŸÏçÓÿ†ü…þý‰ñÄü†ý†ÿÅú?âùú‹ýÄ9çs~n\./DàãY$mº¯À²|Õ&j2Ì=Ï©cÄæœÞ`铈XtÕþ|$«¡ˆ˜‘Œé«ñ˜æûÞœlõ©nü.é"pøI>f'ÕBÒ‘äÙ;¶è:…©vÓ³ËWVÊ^æË:oÑ#(Ö>…„7Ι²:×L¶6iœ^=ˆ’.ЋÀž8ßkÌMåN8³µ!ñÃÏ8ÍÔ¢º¬‰Â°FõÎÒŽ†æ™FS7é\­ÓõÁÔ4¤Ì¦nO _ÇNGµ{ãÎïš.*¡J^H]å±hÙæÀñ¿öÖãºÅú´&«bp~‰=7@ÏÓf“£|zzäÞ5\À}УæôI ÓQ].΋À°ý#ÁþÌ^æ8N-Qº'‰~p£ÖÓ:zš’5•ýpiòS¦Z¬­M+ÜHP‚¯S°ËÿßøÓß5]~‚¶¸ŸòF×YÜ"ÁôÑDŽ[Óvøìè º£¡Ü%}ìF%“Vö¡9gÆnKå5‚ò(„‚–ðð ôEà"ðFŒY‹RûÖÜÔ~]ÒKG?Ñ´ÛoÀG—>¼oê£V¡¯ç¹Wx÷å¸Q ¤ lÂeÈÿlÿ`Áµ»õ7îü®é"pè éY –gݵ€Ï>Í;n‹…‡MJÓt±S{µ ­€B0Ò(äÝ™“k‘Ín ¹O0ÚÊ%suƒhhç‹ÀEàP‚»/7ÿ°õÛ6Ùàörr»iƒ§_Ô©RÒ¶K׆ٗ( ·=_äÙ[{šÐ Át´:† Ï´Àw~×t¸ Çc£]ßÛH¸ùÒ¾$€)Gû¾G qk%³Íð)í]«rÇ–ój¹a”Ä x‡vÐDZÝDˆ_œ/7"pRç^%{®ŽïÆOâ“÷¢1;h=Nu ÍCkj×9„ë쀠µô¬ æöx…'ܨ £¾ýÄq®ÿ÷ÆŸþ®é"ðƒyÞ–þ>Éßµu~ ¼<+sÁêCºÃÉS!7ÓéÜ“ÎZ)PÆGñmàÜ[Ô£hÅ32€iÀ ‡•è‹ÀEà”Ÿ&m¡_MÏO 1ÿ/ã'£ccLú~x;ü~Ã-àÍOÅ´æDš™0 ü^0 ÇÀ 0޸󻦋ÀE on˜éåñ0úÕûׇ…‡ÿí€`&>~ ù§%HÂ^ÒšW#%f‹´ƒ–ß8ðý1ë?³£€ÃÊ_Y½ü ¿·ðâ|¸¼²Â–xíÐ  ÷Om( 0`À€ 0`À€÷xí[Ù±#9 ÛP&px)ÿÞ™Ù\õÄ»ív—7( `ÿúõ'æ'Ö'6‚ˆÎŸàß!ŸÐßaæ#þ‹üõ4âþ_÷Ÿ‡À"°Ásfœ›ÕñÞïªê!¶XÍÁë±Ù=b;½Ä,2ûsœw‰Y¤7ÎÄÁ@Þ`U»wŽÆÜ„_ÆŽ/œøÒCà!ðOÜ)ÃŒ2®œtß󘺦ŒØ×7XÏ»Ž.®™Ñ+ŒŸ†žµUIŸ,:ÚÛk]d šäZ$Ö%nÙÑè‡ÀCàHÕžXþ—§¶ØÅN·‘Ü.›/—jÕ% zûšÙƒÔçÌÄp{+Ý(XÆÄY#ÎêÍ'®úì•ëgþÆôxÓˆÁkî¡Í‚>ÆÝRÛ÷Áž ;É®s<,xk  "[Ô±O).P`»ÝM…´qq öJoQ\nÔx8?߈@8j=Êl x—pÊ{=: Å€œ™ òšwÏÒÏ Ω14'] kR°¾ž<šiKVžS>ä  þÆ™¿1=¹QŸËŠ%¾Jžà€×Ò].s’ÕÓ®E{©l_¼M¥|IÌ3yÜAgj•U9(nœ¾«ŒTüÂTxõÿ»Ï߉@ç(NÔìø ׇµdGBx§Ì:r`Òiì(Ö•´dÙLÍÞ£.> BfZºö¥^ëÁM´€ýôÿïüóߨ~<%‹áâщö¶ôd0v[Ë–=)±~kMñ¹:Ïl(ü·“M碈tÅ6J pÁø«\pÇá›° ¹^ýÿãï³Àw"õÞò¡¤Ñ]{ú¸™<*n \Á‚)Èv5Ðäuö¸lÇ2?¶ä5U›¬÷=c*ö eE‹*@û½à.5ýι¿Q=~:ÁÿıdØöÑ*Ç &`¬±vf¬¾]¹¯ðÝ¥o Yƒ)çüXŸrÂëÁ{¨qx3ñø…1Ñ*øÓQ~ó|'ÓeG©Á²ÇFÿ~ì{ìß?Zmõœ¦ÝjD††>€¡èñ±·ÐäšÛÖ¿Þ‰Þ@?׊Ð5θD~çÜߨ?‘ŽåÜŽ ?ot÷Bõ¯cÖÖ¹Ó!üíEÓo¢ ¸û„l›ÙB\±ø4þš œ‹‚`HÚç‚~pÑh>ÞúÿÓo³7ÿ/ETGö•I'6r±_(ýc¶¢/Ȉ'$~]nØýÅõ§7ž|Ñ2àØð£çOÖ-Út7ú ¬AJ\gHû°×ÿó¥ÿþÖOG >Â=”úN<¯ƒRM}T-Cr_¾Ñ„† –D¿¿-ä›0 Ó (…hyš¡ý]8v»’Š€7V¼þߟ~›½ù)ÿÜÜ«SxíÐ  ÷Om( 0`À€ 0`À€÷traitsui-7.2.1/traitsui/examples/demo/Advanced/Tabular_editor_with_context_menu_demo.py0000644000076500000240000001273314046644454032271 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! """ **WARNING** This demo might not work as expected and some documented features might be missing. ------------------------------------------------------------------------------- Defining column-specific context menu in a Tabular Editor. Shows how the example for the Table Editor (`Table_Editor_with_context_menu_demo.py`) can be adapted to work with a Tabular Editor. The demo is a simple baseball scoring system, which lists each player and their current batting statistics. After a given player has an at bat, you right-click on the table cell corresponding to the player and the result of the at-bat (e.g. 'S' = single) and select the 'Add' menu option to register that the player hit a single and update the player's overall statistics. This demo also illustrates the use of Property traits, and how using 'event' meta-data can simplify event handling by collapsing an event that can occur on a number of traits into a category of event, which can be handled by a single event handler defined for the category (in this case, the category is 'affects_average'). """ # Issue related to the demo warning: enthought/traitsui#960 from random import randint from traits.api import HasStrictTraits, Str, Int, Float, List, Property from traitsui.api import ( Action, Item, Menu, TabularAdapter, TabularEditor, View ) # Define a custom tabular adapter for handling items which affect the player's # batting average: class PlayerAdapter(TabularAdapter): # Overwrite default values alignment = 'center' width = 0.09 def get_menu(self, object, trait, row, column): column_name = self.column_map[column] if column_name not in ['name', 'average']: menu = Menu( Action( name='Add', action='editor.adapter.add(item, column)' ), Action( name='Sub', action='editor.adapter.sub(item, column)' ) ) return menu else: return super().get_menu(object, trait, row, column) def get_format(self, object, trait, row, column): column_name = self.column_map[column] if column_name == 'average': return '%0.3f' else: return super().get_format(object, trait, row, column) def add(self, object, column): """ Increment the affected player statistic. """ column_name = self.column_map[column] setattr(object, column_name, getattr(object, column_name) + 1) def sub(self, object, column): """ Decrement the affected player statistic. """ column_name = self.column_map[column] setattr(object, column_name, getattr(object, column_name) - 1) # The 'players' trait table editor: columns = [ ('Player Name', 'name'), ('AB', 'at_bats'), ('SO', 'strike_outs'), ('S', 'singles'), ('D', 'doubles'), ('T', 'triples'), ('HR', 'home_runs'), ('W', 'walks'), ('Ave', 'average'), ] player_editor = TabularEditor( editable=True, auto_resize=True, auto_resize_rows=True, stretch_last_section=False, auto_update=True, adapter=PlayerAdapter(columns=columns), ) # 'Player' class: class Player(HasStrictTraits): # Trait definitions: name = Str() at_bats = Int() strike_outs = Int(event='affects_average') singles = Int(event='affects_average') doubles = Int(event='affects_average') triples = Int(event='affects_average') home_runs = Int(event='affects_average') walks = Int() average = Property(Float) def _get_average(self): """ Computes the player's batting average from the current statistics. """ if self.at_bats == 0: return 0.0 return float(self.singles + self.doubles + self.triples + self.home_runs) / self.at_bats def _affects_average_changed(self): """ Handles an event that affects the player's batting average. """ self.at_bats += 1 class Team(HasStrictTraits): # Trait definitions: players = List(Player) # Trait view definitions: traits_view = View( Item('players', show_label=False, editor=player_editor), title='Baseball Scoring Demo', width=0.5, height=0.5, resizable=True ) def random_player(name): """ Generates and returns a random player. """ p = Player( name=name, strike_outs=randint(0, 50), singles=randint(0, 50), doubles=randint(0, 20), triples=randint(0, 5), home_runs=randint(0, 30), walks=randint(0, 50) ) return p.trait_set( at_bats=( p.strike_outs + p.singles + p.doubles + p.triples + p.home_runs + randint(100, 200) ) ) # Create the demo: demo = Team( players=[ random_player(name) for name in [ 'Dave', 'Mike', 'Joe', 'Tom', 'Dick', 'Harry', 'Dirk', 'Fields', 'Stretch' ] ] ) # Run the demo (if invoked from the command line): if __name__ == '__main__': demo.configure_traits() traitsui-7.2.1/traitsui/examples/demo/Advanced/HDF5_tree_demo.py0000644000076500000240000001675514046644454025223 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! """This demo shows how to use Traits TreeEditors with PyTables to walk the hierarchy of an HDF5 file. This only picks out tables, arrays and groups, but could easily be extended to other structures. In the demo, the path to the selected item is printed whenever the selection changes. An example HDF5 file is provided here, but you could easily change the path given at the bottom of this file to a path to your own HDF5 file. To run this demonstration successfully, you must have the following packages installed: - **PyTables** (``tables``) - **HDF5 for Python** (``h5py``) Note that PyTables can't read HDF5 files created with h5py, but h5py can read HDF5 files created with PyTables. See HDF5_tree_demo2 for an example using h5py. """ import os import tables as tb from traits.api import HasTraits, Str, List, Instance, Any from traitsui.api import TreeEditor, TreeNode, View, Item, Group ROOT = os.path.dirname(__file__) # View for objects that aren't edited no_view = View() # HDF5 Nodes in the tree class Hdf5ArrayNode(HasTraits): name = Str('') path = Str('') parent_path = Str('') class Hdf5GroupNode(HasTraits): name = Str('') path = Str('') parent_path = Str('') # Can't have recursive traits? Really? # groups = List(Hdf5GroupNode) groups = List() arrays = List(Hdf5ArrayNode) groups_and_arrays = List() class Hdf5FileNode(HasTraits): name = Str('') path = Str('/') groups = List(Hdf5GroupNode) arrays = List(Hdf5ArrayNode) groups_and_arrays = List() # Recursively build tree, there is probably a better way of doing this. def _get_sub_arrays(group, h5file): """Return a list of all arrays immediately below a group in an HDF5 file.""" return [Hdf5ArrayNode(name=array._v_name, path=array._v_pathname, parent_path=array._v_parent._v_pathname) for array in group if isinstance(array, (tb.Array, tb.Table))] # More pythonic # for array in h5file.iter_nodes(group, classname='Array')] # Old call def _get_sub_groups(group, h5file): """Return a list of all groups and arrays immediately below a group in an HDF5 file.""" subgroups = [] for subgroup in h5file.iter_nodes(group, classname='Group'): subsubgroups = _get_sub_groups(subgroup, h5file) subsubarrays = _get_sub_arrays(subgroup, h5file) subgroups.append(Hdf5GroupNode(name=subgroup._v_name, path=subgroup._v_pathname, parent_path=subgroup._v_parent._v_pathname, groups=subsubgroups, arrays=subsubarrays, groups_and_arrays=subsubgroups + subsubarrays) ) return subgroups def _hdf5_tree(filename): """Return a list of all groups and arrays below the root group of an HDF5 file.""" with tb.open_file(filename, 'r') as h5file: subgroups = _get_sub_groups(h5file.root, h5file) subarrays = _get_sub_arrays(h5file.root, h5file) h5_tree = Hdf5FileNode(name=filename, groups=subgroups, arrays=subarrays, groups_and_arrays=subgroups + subarrays) return h5_tree # Get a tree editor def _hdf5_tree_editor(selected=''): """Return a TreeEditor specifically for HDF5 file trees.""" return TreeEditor( nodes=[ TreeNode( node_for=[Hdf5FileNode], auto_open=True, children='groups_and_arrays', label='name', view=no_view, ), TreeNode( node_for=[Hdf5GroupNode], auto_open=False, children='groups_and_arrays', label='name', view=no_view, ), TreeNode( node_for=[Hdf5ArrayNode], auto_open=False, children='', label='name', view=no_view, ), ], editable=False, selected=selected, ) class ATree(HasTraits): h5_tree = Instance(Hdf5FileNode) node = Any() traits_view = View( Group( Item('h5_tree', editor=_hdf5_tree_editor(selected='node'), resizable=True, show_label=False, ), orientation='vertical', ), title='HDF5 Tree Example', buttons=['Undo', 'OK', 'Cancel'], resizable=True, width=.3, height=.3 ) def _node_changed(self): print(self.node.path) def make_test_datasets(): """Makes the test datasets and store it in the current folder""" import h5py import numpy as np import pandas as pd # pandas uses pytables to store datasets in hdf5 format. from random import randrange n = 100 df = pd.DataFrame(dict([("int{0}".format(i), np.random.randint(0, 10, size=n)) for i in range(5)])) df['float'] = np.random.randn(n) for i in range(10): df["object_1_{0}".format(i)] = ['%08x' % randrange(16**8) for _ in range(n)] for i in range(7): df["object_2_{0}".format(i)] = ['%15x' % randrange(16**15) for _ in range(n)] df.info() df.to_hdf('test_fixed.h5', 'data', format='fixed') df.to_hdf('test_table_no_dc.h5', 'data', format='table') df.to_hdf('test_table_dc.h5', 'data', format='table', data_columns=True) df.to_hdf('test_fixed_compressed.h5', 'data', format='fixed', complib='blosc', complevel=9) # h5py dataset time = np.arange(n) x = np.linspace(-7, 7, n) axes_latlon = [('time', time), ('coordinate', np.array(['lat', 'lon'], dtype='S3'))] axes_mag = [('time', time), ('direction', np.array(['x', 'y', 'z'], dtype='S1'))] latlon = np.vstack((np.linspace(-0.0001, 0.00001, n) + 23.8, np.zeros(n) - 82.3)).T mag_data = np.vstack((-(1 - np.tanh(x)**2) * np.sin(2 * x), -(1 - np.tanh(x)**2) * np.sin(2 * x), -(1 - np.tanh(x)**2))).T datasets = axes_mag + axes_latlon + [('magnetic_3_axial', mag_data), ('latlon', latlon)] with h5py.File(os.path.join(ROOT, 'test_h5pydata.h5'), "a") as h5file: h5group = h5file.require_group("run1_test1") for data_name, data in datasets: h5group.require_dataset(name=data_name, dtype=data.dtype, shape=data.shape, data=data, # **options ) def main(): import sys filename = os.path.join(ROOT, 'test_fixed.h5') filename = os.path.join(ROOT, 'test_table_no_dc.h5') if len(sys.argv) > 1: filename = sys.argv[1] a_tree = ATree(h5_tree=_hdf5_tree(filename)) return a_tree demo = main() if __name__ == '__main__': # make_test_datasets() demo.configure_traits() traitsui-7.2.1/traitsui/examples/demo/Advanced/Settable_cached_property.py0000644000076500000240000001122414046644454027472 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! """ Creating settable cached Property in Traits How to create a Traits Property which is cached but is not read-only. The example demonstrates how to create a 'settable cached' property. The example itself is nonsensical, and is provided mainly to show how to set up such a property, and how it differs from a standard 'cached' property. A normal 'cached' property does not have a 'setter' method, meaning that the property is read-only. It usually represents a value which depends upon the state of other traits for its value. The cached property provides both a mechanism for remembering (i.e. caching) the current value of the property as well as a means of automatically detecting when the value of the property changes (which causes the cache to be flushed), and notifying any associated trait listeners that the value of the property has changed. Normally there is no 'setter' for such a property because the value is derived from the value of other traits. However, it is possible to define a 'settable cached' property which in addition to the capabilities of a normal 'cached' property, also allows the property's value to be explicitly set. To accomplish this, simply set the 'settable' argument to the 'property_depends_on' decorator to True (see the '_get_c' method in the example code). When set this way, an appropriate 'setter' method is automatically generated for the associated property. This allows code to set the value of the property directly if desired, subject to any constraints specified in the property declaration. For example, in the example, the 'c' trait is a 'settable cached' property whose value must be an integer. Attempting to set a non-integer value of the property will raise an exception, just like any other trait would. If any of the traits which the property depends upon change value, the current value of the property will be flushed from the cache and a change notification for the property will be generated. Any code that then attempts to read the value of the property will result in the cache being reloaded with the new value returned by the property's 'getter' method. In the example, trait 'c' is a 'settable cached' property which returns the product of 'a' times 'b', and trait 'd' is a normal 'cached' property that returns double the value of 'c'. To see the effect of these traits in action, try moving the 'a' and 'b' sliders and watching the 'c' and 'd' traits update. This demonstrates how 'c' and 'd' are properties that depend upon the values of other traits. Now try changing the value of the 'c' trait by moving the slider or typing a new value into the text entry field. You will see that the 'd' trait updates as well, illustrating that the 'c' trait can be set directly, as well as indirectly by changes to 'a' and 'b'. Also, try typing non-numeric values into the 'c' field and you will see that any values set are being type checked as well (i.e. they must be integer values). Now try typing a value into the 'd' trait and you will see that an error results (indicated by the text entry field turning red), because this is a normal 'cached' trait that has no 'setter' method defined. """ from math import sqrt from traits.api import HasTraits, Int, Range, Property, cached_property from traitsui.api import View, Item, RangeEditor #-- Demo Class ----------------------------------------------------------- class SettableCachedProperty(HasTraits): a = Range(1, 10) b = Range(1, 10) c = Property(Int, observe=['a', 'b']) d = Property(observe='c') view = View( Item('a'), Item('b'), '_', Item('c', editor=RangeEditor(low=1, high=100, mode='slider')), Item('c'), '_', Item('d', editor=RangeEditor(low=1, high=400, mode='slider')), Item('d'), width=0.3 ) @cached_property def _get_c(self): return (self.a * self.b) def _set_c(self, value): self.a = int(sqrt(value)) self.b = int(sqrt(value)) @cached_property def _get_d(self): return (self.c + self.c) #-- Run the demo --------------------------------------------------------- # Create the demo: demo = SettableCachedProperty() # Run the demo (if invoked from the command line): if __name__ == '__main__': demo.configure_traits() traitsui-7.2.1/traitsui/examples/demo/Advanced/NumPy_array_tabular_editor_demo.py0000644000076500000240000000440114046644454031025 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! """ Displaying large NumPy arrays with TabularEditor A demonstration of how the TabularEditor can be used to display (large) NumPy arrays, in this case 100,000 random 3D points from a unit cube. In addition to showing the coordinates of each point, it also displays the index of each point in the array, as well as a red flag if the point lies within 0.25 of the center of the cube. """ from numpy import sqrt from numpy.random import random from traits.api import HasTraits, Property, Array from traitsui.api import View, Item, TabularAdapter, TabularEditor # -- Tabular Adapter Definition ------------------------------------------- class ArrayAdapter(TabularAdapter): columns = [('i', 'index'), ('x', 0), ('y', 1), ('z', 2)] font = 'Courier 10' alignment = 'right' format = '%.4f' index_text = Property() index_image = Property() def _get_index_text(self): return str(self.row) def _get_index_image(self): x, y, z = self.item if sqrt((x - 0.5) ** 2 + (y - 0.5) ** 2 + (z - 0.5) ** 2) <= 0.25: return '@icons:red_ball' return None # -- ShowArray Class Definition ------------------------------------------- class ShowArray(HasTraits): data = Array traits_view = View( Item( 'data', show_label=False, editor=TabularEditor( adapter=ArrayAdapter(), auto_resize=True, # Do not allow any kind of editing of the array: editable=False, operations=[], drag_move=False ) ), title='Array Viewer', width=0.3, height=0.8, resizable=True ) # Create the demo: demo = ShowArray(data=random((100000, 3))) # Run the demo (if invoked from the command line): if __name__ == '__main__': demo.configure_traits() traitsui-7.2.1/traitsui/examples/demo/Advanced/HDF5_tree_demo2.py0000644000076500000240000002517514046644454025301 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! """This demo shows how to use Traits TreeEditors with h5py to walk the hierarchy of several HDF5 files in a folder. All Datasets and Groups are shown for each file. In the demo, the path to the selected item is printed whenever the selection changes. An example HDF5 file is provided here, but you could easily change the path given at the bottom of this file to a path to your own HDF5 file. To run this demonstration successfully, you must have the following packages installed: - **PyTables** (``tables``) - **HDF5 for Python** (``h5py``) Note that PyTables can't read HDF5 files created with h5py, but h5py can read HDF5 files created with PyTables. See HDF5_tree_demo for an example using PyTables. """ import os import warnings import h5py from traits import api import traitsui.api as ui ROOT = os.path.dirname(__file__) # View for objects that aren't edited no_view = ui.View() # HDF5 Nodes in the tree class Hdf5ArrayNode(api.HasTraits): name = api.Str('') path = api.Str('') parent_path = api.Str('') class Hdf5GroupNode(api.HasTraits): name = api.Str('') path = api.Str('') parent_path = api.Str('') # Can't have recursive traits? Really? # groups = api.List( Hdf5GroupNode ) groups = api.List() arrays = api.List(Hdf5ArrayNode) groups_and_arrays = api.List() class Hdf5FileNode(api.HasTraits): name = api.Str('') path = api.Str('/') groups = api.List(Hdf5GroupNode) arrays = api.List(Hdf5ArrayNode) groups_and_arrays = api.List() class Hdf5FilesNode(api.HasTraits): name = api.Str('') path = api.Str('/') files = api.List(Hdf5FileNode) groups_and_arrays = api.List() # Recursively build tree, there is probably a better way of doing this. def _get_sub_arrays(group, parent_path): """Return a list of all arrays immediately below a group in an HDF5 file.""" return [Hdf5ArrayNode(name=name, path=parent_path + name, parent_path=parent_path) for name, array in group.items() if isinstance(array, h5py.Dataset)] def _get_sub_groups(group, parent_path): """Return a list of all subgroups and arrays immediately below a group in an HDF5 file.""" subgroups = [] for name, subgroup in group.items(): if isinstance(subgroup, h5py.Group): path = parent_path + name + '/' subsubarrays = _get_sub_arrays(subgroup, path) subsubgroups = _get_sub_groups(subgroup, path) subgroups.append(Hdf5GroupNode(name=name, path=path, parent_path=parent_path, arrays=subsubarrays, subgroups=subsubgroups, groups_and_arrays=subsubgroups + subsubarrays) ) return subgroups def _hdf5_tree(filename): with h5py.File(filename, 'r') as h5file: path = filename + '#' # separate dataset name from name of hdf5-filename subgroups = _get_sub_groups(h5file, path) subarrays = _get_sub_arrays(h5file, path) file_tree = Hdf5FileNode(name=os.path.basename(filename), path=filename, groups=subgroups, arrays=subarrays, groups_and_arrays=subgroups + subarrays) return file_tree def _hdf5_trees(filenames): """Return a list of all groups and arrays below the root group of an HDF5 file.""" if isinstance(filenames, str): filenames = [filenames] files_tree = Hdf5FilesNode() files_tree.name = root = os.path.dirname(filenames[0]) files_tree.path = root for filename in filenames: folder = os.path.dirname(filename) if folder != root: warnings.warn("Expected same folder for all files, but got {} != {}".format(root, folder)) file_tree = _hdf5_tree(filename) files_tree.files.append(file_tree) files_tree.groups_and_arrays.extend(file_tree.groups_and_arrays) return files_tree # Get a tree editor def _hdf5_tree_editor(selected=''): """Return a ui.TreeEditor specifically for HDF5 file trees.""" return ui.TreeEditor(nodes=[ui.TreeNode(node_for=[Hdf5FilesNode], auto_open=True, children='files', label='name', view=no_view, ), ui.TreeNode(node_for=[Hdf5FileNode], auto_open=True, children='groups_and_arrays', label='name', view=no_view, ), ui.TreeNode(node_for=[Hdf5GroupNode], auto_open=False, children='groups_and_arrays', label='name', view=no_view, ), ui.TreeNode(node_for=[Hdf5ArrayNode], auto_open=False, children='', label='name', view=no_view, ), ], editable=False, selected=selected, ) class _H5Tree(api.HasTraits): h5_tree = api.Instance(Hdf5FileNode) node = api.Any() path = api.Str() traits_view = ui.View(ui.Group(ui.Item('h5_tree', editor=_hdf5_tree_editor(selected='node'), resizable=True ), ui.Item('path', label='Selected node'), orientation='vertical', ), title='HDF5 Tree Example', buttons=['OK', 'Cancel'], resizable=True, width=.3, height=.3 ) def _node_changed(self): self.path = self.node.path print(self.node.path) class _H5Trees(api.HasTraits): h5_trees = api.Instance(Hdf5FilesNode) node = api.Any() path = api.Str() traits_view = ui.View(ui.Group(ui.Item('h5_trees', editor=_hdf5_tree_editor(selected='node'), resizable=True ), ui.Item('path', label='Selected node'), orientation='vertical', ), title='Multiple HDF5 file Tree Example', buttons=['OK', 'Cancel'], resizable=True, width=.3, height=.3 ) def _node_changed(self): self.path = self.node.path print(self.node.path) def hdf5_tree(filename): # if isinstance(filename, str): # return _H5Tree(h5_tree=_hdf5_tree(filename)) return _H5Trees(h5_trees=_hdf5_trees(filename)) def make_test_datasets(): """Makes the test datasets and store it in the current folder""" import numpy as np import pandas as pd # pandas uses pytables to store datasets in hdf5 format. from random import randrange n = 100 df = pd.DataFrame(dict([("int{0}".format(i), np.random.randint(0, 10, size=n)) for i in range(5)])) df['float'] = np.random.randn(n) for i in range(10): df["object_1_{0}".format(i)] = ['%08x' % randrange(16**8) for _ in range(n)] for i in range(7): df["object_2_{0}".format(i)] = ['%15x' % randrange(16**15) for _ in range(n)] df.info() df.to_hdf('test_fixed.h5', 'data', format='fixed') df.to_hdf('test_table_no_dc.h5', 'data', format='table') df.to_hdf('test_table_dc.h5', 'data', format='table', data_columns=True) df.to_hdf('test_fixed_compressed.h5', 'data', format='fixed', complib='blosc', complevel=9) # h5py dataset time = np.arange(n) x = np.linspace(-7, 7, n) axes_latlon = [('time', time), ('coordinate', np.array(['lat', 'lon'], dtype='S3'))] axes_mag = [('time', time), ('direction', np.array(['x', 'y', 'z'], dtype='S1'))] latlon = np.vstack((np.linspace(-0.0001, 0.00001, n) + 23.8, np.zeros(n) - 82.3)).T mag_data = np.vstack((-(1 - np.tanh(x)**2) * np.sin(2 * x), -(1 - np.tanh(x)**2) * np.sin(2 * x), -(1 - np.tanh(x)**2))).T datasets = axes_mag + axes_latlon + [('magnetic_3_axial', mag_data), ('latlon', latlon)] with h5py.File(os.path.join(ROOT, 'test_h5pydata.h5'), "a") as h5file: h5group = h5file.require_group("run1_test1") for data_name, data in datasets: h5group.require_dataset(name=data_name, dtype=data.dtype, shape=data.shape, data=data, # **options ) def main(): filenames = ['test_fixed.h5', 'test_table_no_dc.h5', 'test_table_dc.h5', 'test_fixed_compressed.h5', 'test_h5pydata.h5'] fullfiles = [os.path.join(ROOT, fname) for fname in filenames] h5_trees = hdf5_tree(fullfiles) return h5_trees demo = main() if __name__ == '__main__': # make_test_datasets() ok_status = demo.configure_traits() print('The End', ok_status) traitsui-7.2.1/traitsui/examples/demo/Advanced/Popup_Dialog_demo.py0000644000076500000240000000640514046644454026067 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! """ Demonstrates using a popup view within another view. Try changing the gender of the person from 'Male' to 'Female' using the drop-down list. When the person's gender is changed, a pop-up dialog is displayed immediately below the gender field providing you with the opportunity to cancel the gender change. If you click the Cancel button, the person's gender will return to its previous value. If you click anywhere else outside of the pop-up dialog, the pop-up dialog will simply disappear, leaving the person's new gender value as is. The main items of interest in this demo are: - The: kind = 'popup' trait set in the PersonHandler View which marks the view as being a popup view. - The parent = info.gender.control value passed to the edit_traits method when the popup dialog is created in the object_gender_changed method. This value specifies the control that the popup dialog should be positioned near. Notes: - This demo only works on the wx backend. - Traits UI will automatically position the popup dialog near the specified control in such a way that the pop-up dialog will not overlay the control and will be entirely on the screen (as long as these two conditions do not conflict). """ #-- Imports -------------------------------------------------------------- from traits.api \ import HasPrivateTraits, Str, Int, Enum, Instance, Button from traitsui.api \ import View, HGroup, Item, Handler, UIInfo, spring #-- The PersonHandler class ---------------------------------------------- class PersonHandler(Handler): # The UIInfo object associated with the view: info = Instance(UIInfo) # The cancel button used to revert an unintentional gender change: cancel = Button('Cancel') # The pop-up customization view: view = View( HGroup( spring, Item('cancel', show_label=False), ), kind='popup' ) # Event handlers: def object_gender_changed(self, info): if info.initialized: self.info = info self._ui = self.edit_traits(parent=info.gender.control) def _cancel_changed(self): object = self.info.object object.gender = ['Male', 'Female'][object.gender == 'Male'] self._ui.dispose() #-- The Person class ----------------------------------------------------- class Person(HasPrivateTraits): # The person's name, age and gender: name = Str() age = Int() gender = Enum('Male', 'Female') # The traits UI view: traits_view = View( Item('name'), Item('age'), Item('gender'), title='Button Popup Demo', handler=PersonHandler ) #-- Create and run the demo ---------------------------------------------- # Create the demo: demo = Person(name='Mike Thomas', age=32) # Run the demo (if invoked from the command line): if __name__ == '__main__': demo.configure_traits() traitsui-7.2.1/traitsui/examples/demo/Advanced/Multi_select_string_list.py0000644000076500000240000000627214046644454027555 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! """ **WARNING** This demo might not work as expected and some documented features might be missing. ------------------------------------------------------------------------------- Creating a multi-select list box How to use a TabularEditor to create a multi-select list box. This demo uses two TabularEditors, side-by-side. Selections from the left table are shown in the right table. Each table has only one column. """ # Issues related to the demo warning: enthought/traitsui#14, # enthought/traitsui#15, enthought/traitsui#960 from traits.api import HasPrivateTraits, List, Str, Property from traitsui.api import View, HGroup, UItem, TabularAdapter, TabularEditor class MultiSelectAdapter(TabularAdapter): """ This adapter is used by both the left and right tables """ # Titles and column names for each column of a table. # In this example, each table has only one column. columns = [('', 'myvalue')] # Magically named trait which gives the display text of the column named # 'myvalue'. This is done using a Traits Property and its getter: myvalue_text = Property() # The getter for Property 'myvalue_text' simply takes the value of the # corresponding item in the list being displayed in this table. # A more complicated example could format the item before displaying it. def _get_myvalue_text(self): return self.item class MultiSelect(HasPrivateTraits): """ This is the class used to view two tables """ # FIXME (TraitsUI defect #14): When multi-select is done by keyboard # (shift+arrow), the 'selected' trait list does not update. # FIXME (TraitsUI defect #15): In Windows wx, when show_titles is False, # left table does not draw until selection passes through all rows. # (Workaround here: set show_titles True and make column titles empty.) choices = List(Str) selected = List(Str) traits_view = View( HGroup( UItem( 'choices', editor=TabularEditor( show_titles=True, selected='selected', editable=False, multi_select=True, adapter=MultiSelectAdapter() ) ), UItem( 'selected', editor=TabularEditor( show_titles=True, editable=False, adapter=MultiSelectAdapter() ) ) ), resizable=True, width=200, height=300 ) # Create the demo: demo = MultiSelect( choices=[ 'one', 'two', 'three', 'four', 'five', 'six', 'seven', 'eight', 'nine', 'ten' ] ) # Run the demo (if invoked from the command line): if __name__ == '__main__': demo.configure_traits() traitsui-7.2.1/traitsui/examples/demo/Advanced/tests/0000755000076500000240000000000014046644526023264 5ustar aayresstaff00000000000000traitsui-7.2.1/traitsui/examples/demo/Advanced/tests/test_List_editor_notebook_selection_demo.py0000644000076500000240000000325314046644454034132 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! """ This example demonstrates how to test interacting with a list created by a ListEditor with use_notebook=True. The GUI being tested is written in the demo under the same name (minus the preceding 'test') in the outer directory. """ import os import runpy import unittest from traitsui.testing.api import Index, KeyClick, MouseClick, UITester #: Filename of the demo script FILENAME = "List_editor_notebook_selection_demo.py" #: Path of the demo script DEMO_PATH = os.path.join(os.path.dirname(__file__), "..", FILENAME) class TestListEditorNotebookSelectionDemo(unittest.TestCase): def test_list_editor_notebook_selection_demo(self): demo = runpy.run_path(DEMO_PATH)["demo"] tester = UITester() with tester.create_ui(demo) as ui: people_list = tester.find_by_name(ui, "people") person2 = people_list.locate(Index(2)) person2.perform(MouseClick()) self.assertEqual(demo.index, 2) age = person2.find_by_name("age") age.perform(KeyClick("Backspace")) age.perform(KeyClick("9")) self.assertEqual(demo.people[2].age, 39) # Run the test(s) unittest.TextTestRunner().run( unittest.TestLoader().loadTestsFromTestCase( TestListEditorNotebookSelectionDemo) ) traitsui-7.2.1/traitsui/examples/demo/Advanced/Time_editor_demo.py0000644000076500000240000000255114046644454025747 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! """ A timer editor Display or edit a time. You can edit the time directly, or by using only the arrow keys (left & right to navigate, up & down to change). """ import datetime from traits.api import HasTraits, Time from traitsui.api import View, Item, TimeEditor class TimeEditorDemo(HasTraits): """ Demo class. """ time = Time(datetime.time(12, 0, 0)) traits_view = View( Item('time', label='Simple Editor'), Item( 'time', label='Readonly Editor', style='readonly', # Show 24-hour mode instead of default 12 hour. editor=TimeEditor(strftime='%H:%M:%S') ), resizable=True ) def _time_changed(self): """ Print each time the time value is changed in the editor. """ print(self.time) # -- Set Up The Demo ------------------------------------------------------ demo = TimeEditorDemo() if __name__ == "__main__": demo.configure_traits() traitsui-7.2.1/traitsui/examples/demo/Advanced/Scrubber_editor_demo.py0000644000076500000240000001562514046644454026626 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! """ This example demonstrates several different variations on using the ScrubberEditor. A 'scrubber' is a type of widget often seen in certain types of applications, such as video editing, image editing, 3D graphics and animation. These types of programs often have many parameters defined over various ranges that the user can tweak to get varying effects or results. Because the number of parameters is typically fairly large, and the amount of screen real estate is fairly limited, these program often use 'scrubbers' to allow the user to adjust the parameter values. A scrubber often looks like a simple text field. The user can type in new values, if they need a precise setting, or simply drag the mouse over the value to set a new value, much like dragging a slider control. The visual feedback often comes in the form of seeing both the text value of the parameter change and the effect that the new parameter value has on the underlying model. For example, in a 3D graphics program, there might be a scrubber for controlling the rotation of the currently selected object around the Y-axis. As the user scrubs the rotation parameter, they also see the model spin on the screen as well. This visual feedback is what makes a scrubber more useful than a simple text entry field. And the fact that the scrubber takes up no more screen real estate that a text entry field is what makes it more useful than a full-fledged slider in space limited applications. The Traits UI ScrubberEditor works as follows: - When the mouse pointer moves over the scrubber, the cursor pointer changes shape to indicate that the field has some additional control behavior. - The control may optionally change color as well, to visually indicate that the control is 'live'. - If you simply click on the scrubber, an active text entry field is displayed, where you can type a new value for the trait, then press the Enter key. - If you click and drag while over the scrubber, the value of the trait is modified based on the direction you move the mouse. Right and/or up increases the value, left and/or down decreases the value. Holding the Shift key down while scrubbing causes the value to change by 10 times its normal amount. Holding the Control key down while scrubbing changes the value by 0.1 times its normal amount. - Scrubbing is not limited to the area of the scrubber control. You can drag as far as you want in any direction, subject to the maximum limits imposed by the trait or ScrubberEditor definition. The ScrubberEditor also supports several different style and functional variations: - The visual default is to display only the special scrubber pointer to indicate to the user that 'scrubber' functionality is available. - By specifying a 'hover_color' value, you can also have the editor change color when the mouse pointer is over it. - By specifying an 'active_color' value, you can have the editor change color while the user is scrubbing. - By specifying a 'border_color' value, you can display a solid border around the editor to mark it as something other than an ordinary text field. - By specifying an 'increment' value, you can tell the editor what the normal increment value for the scrubber should be. Otherwise, the editor will calculate the increment value itself. Explicitly specifying an increment can be very useful in cases where the underlying trait has an unbounded value, which makes it difficult for the editor to determine what a reasonable increment value might be. - The editor will also correctly handle traits with dynamic ranges (i.e. ranges whose high and low limits are defined by other traits). Besides correctly handling the range limits, the editor will also adjust the default tooltip to display the current range of the scrubber. In this example, several of the variations described above are shown: - A simple integer range with default visual cues. - A float range with both 'hover_color' and 'active_color' values specified. - An unbounded range with a 'border_color' value specified. - A dynamic range. This consists of three scrubbers: one to control the low end of the range, one to control the high end, and one that uses the high and low values to determine its range. For comparison purposes, the example also shows the same traits displayed using their default editors. """ #-- Imports -------------------------------------------------------------- from traits.api \ import HasTraits, Range, Float from traitsui.api \ import View, VGroup, HGroup, Item, ScrubberEditor, spring #-- Shared Item Definition ---------------------------------------- class TItem(Item): editor = ScrubberEditor() #-- ScrubberDemo Class --------------------------------------------------- class ScrubberDemo(HasTraits): # Define some sample ranges and values: simple_integer = Range(0, 100) rollover_float = Range(-10.0, 10.0) bordered_unbounded = Float() dynamic_low = Range(high=-0.01, value=-10.0) dynamic_high = Range(low=0.01, value=10.0) dynamic_value = Range('dynamic_low', 'dynamic_high', 0.0) # Define the demo view: view = View( HGroup( VGroup( Item('simple_integer', editor=ScrubberEditor()), Item('rollover_float', editor=ScrubberEditor(hover_color=0xFFFFFF, active_color=0xA0CD9E)), Item('bordered_unbounded', editor=ScrubberEditor(hover_color=0xFFFFFF, active_color=0xA0CD9E, border_color=0x808080)), Item('dynamic_low', editor=ScrubberEditor()), Item('dynamic_high', editor=ScrubberEditor()), Item('dynamic_value', editor=ScrubberEditor()), show_border=True, label='Scrubber Editors' ), VGroup( Item('simple_integer'), Item('rollover_float'), Item('bordered_unbounded'), Item('dynamic_low'), Item('dynamic_high'), Item('dynamic_value'), show_border=True, label='Default Editors' ), spring ), title='Scrubber Editor Demo' ) #-- Create and run the demo ---------------------------------------------- # Create the demo: demo = ScrubberDemo() # Run the demo (if invoked from the command line): if __name__ == '__main__': demo.configure_traits() traitsui-7.2.1/traitsui/examples/demo/Advanced/Multi_thread_demo_2.py0000644000076500000240000000547514046644454026355 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! """ Monitoring a dynamic number of threads Shows a simple user interface being updated by a dynamic number of threads. When the *Create Threads* button is pressed, the *count* method is dispatched on a new thread. It then creates a new *Counter* object and adds it to the *counters* list (which causes the *Counter* to appear in the user interface. It then counts by incrementing the *Counter* object's *count* trait (which again causes a user interface update each time the counter is incremented). After it reaches its maximum count, it removes the *Counter* from the *counter* list (causing the counter to be removed from the user interface) and exits (terminating the thread). Note that repeated clicking of the *Create Thread* button will create additional threads. """ from time import sleep from traits.api import HasTraits, Int, Button, List from traitsui.api import View, Item, ListEditor #-- The Counter objects used to keep track of the current count ---------- class Counter(HasTraits): # The current count: count = Int() view = View(Item('count', style='readonly')) #-- The main 'ThreadDemo' class ------------------------------------------ class ThreadDemo(HasTraits): # The button used to start a new thread running: create = Button('Create Thread') # The set of counter objects currently running: counters = List(Counter) view = View( Item('create', show_label=False), '_', Item('counters', style='custom', show_label=False, editor=ListEditor(use_notebook=True, dock_style='tab')), resizable=True, width=300, height=150, title='Dynamic threads' ) def __init__(self, **traits): super().__init__(**traits) # Set up the notification handler for the 'Create Thread' button so # that it is run on a new thread: self.on_trait_change(self.count, 'create', dispatch='new') def count(self): """ This method is dispatched on a new thread each time the 'Create Thread' button is pressed. """ counter = Counter() self.counters.append(counter) for i in range(1000): counter.count += 1 sleep(0.030) self.counters.remove(counter) # Create the demo: demo = ThreadDemo() # Run the demo (if invoked from the command line): if __name__ == '__main__': demo.configure_traits() traitsui-7.2.1/traitsui/examples/demo/Advanced/List_editors_demo.py0000644000076500000240000000714114046644454026147 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! """ **WARNING** This demo might not work as expected and some documented features might be missing. ------------------------------------------------------------------------------- This shows the three different types of editor that can be applied to a list of objects: - Table - List - Dockable notebook (a list variant) Each editor style is editing the exact same list of objects. Note that any changes made in one editor are automatically reflected in the others. """ # Issue related to the demo warning: enthought/traitsui#948 from traits.api import HasStrictTraits, Str, Int, Regex, List, Instance from traitsui.api import ( Item, ListEditor, ObjectColumn, RuleTableFilter, Tabbed, TableEditor, View ) from traitsui.table_filter import ( RuleFilterTemplate, MenuFilterTemplate, EvalFilterTemplate ) # 'Person' class: class Person(HasStrictTraits): # Trait definitions: name = Str() age = Int() phone = Regex(value='000-0000', regex=r'\d\d\d[-]\d\d\d\d') # Traits view definition: traits_view = View( 'name', 'age', 'phone', width=0.18, buttons=['OK', 'Cancel'] ) # Sample data: people = [ Person(name='Dave', age=39, phone='555-1212'), Person(name='Mike', age=28, phone='555-3526'), Person(name='Joe', age=34, phone='555-6943'), Person(name='Tom', age=22, phone='555-7586'), Person(name='Dick', age=63, phone='555-3895'), Person(name='Harry', age=46, phone='555-3285'), Person(name='Sally', age=43, phone='555-8797'), Person(name='Fields', age=31, phone='555-3547') ] # Table editor definition: filters = [EvalFilterTemplate, MenuFilterTemplate, RuleFilterTemplate] table_editor = TableEditor( columns=[ ObjectColumn(name='name', width=0.4), ObjectColumn(name='age', width=0.2), ObjectColumn(name='phone', width=0.4) ], editable=True, deletable=True, sortable=True, sort_model=True, auto_size=False, filters=filters, search=RuleTableFilter(), row_factory=Person, show_toolbar=True ) # 'ListTraitTest' class: class ListTraitTest(HasStrictTraits): # Trait definitions: people = List(Instance(Person, ())) # Traits view definitions: traits_view = View( Tabbed( Item('people', label='Table', id='table', editor=table_editor), Item( 'people', label='List', id='list', style='custom', editor=ListEditor(style='custom', rows=5) ), Item( 'people', label='Notebook', id='notebook', style='custom', editor=ListEditor( use_notebook=True, deletable=True, export='DockShellWindow', page_name='.name' ) ), id='splitter', show_labels=False ), id='traitsui.demo.Traits UI Demo.Advanced.List_editors_demo', dock='horizontal', width=600 ) # Create the demo: demo = ListTraitTest(people=people) # Run the demo (if invoked from the command line): if __name__ == '__main__': demo.configure_traits() traitsui-7.2.1/traitsui/examples/demo/Advanced/test_table_no_dc.h50000644000076500000240000024712014046644454025656 0ustar aayresstaff00000000000000‰HDF  ÿÿÿÿÿÿÿÿPNÿÿÿÿÿÿÿÿ`ˆ¨ àTREEÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÀHEAPXÈdataHˆ¨ TITLE (CLASSGROUP (VERSION1.0 8PYTABLES_FORMAT_VERSION2.1xTREEÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ¸HEAPX htable_i_table8SNOD(H(H TITLE (CLASSGROUP (VERSION1.0 8 pandas_type frame_table 0pandas_version0.15.2 8 table_typeappendable_frame H index_cols(lp0 (I0 Vindex p1 tp2 a. p values_colsB(lp0 Vvalues_block_0 p1 aVvalues_block_1 p2 aVvalues_block_2 p3 a.  non_index_axesq(lp0 (I1 (lp1 Vint0 p2 aVint1 p3 aVint2 p4 aVint3 p5 aVint4 p6 aVfloat p7 aVobject_1_0 p8 aVobject_1_1 p9 aVobject_1_2 p10 aVobject_1_3 p11 aVobject_1_4 p12 aVobject_1_5 p13 aVobject_1_6 p14 aVobject_1_7 p15 aVobject_1_8 p16 aVobject_1_9 p17 aVobject_2_0 p18 aVobject_2_1 p19 aVobject_2_2 p20 aVobject_2_3 p21 aVobject_2_4 p22 aVobject_2_5 p23 aVobject_2_6 p24 atp25 a. 0 data_columns(lp0 . (nan_repnan 0 encodingUTF-8 (errorsstrict 0 levels  0 metadata(lp0 . hinfoE(dp0 I1 (dp1 Vnames p2 (lp3 NasVtype p4 VIndex p5 ssVindex p6 (dp7 s.(¨À&#index@values_block_0* ?@4 4ÿvalues_block_1* values_block_2$*ÿ¨á#à’…^SNOD›Ãã € dÿÿÿÿÿÿÿÿ (CLASSTABLE (VERSION2.7 TITLE 0 FIELD_0_NAMEindex 8 FIELD_1_NAMEvalues_block_0 8 FIELD_2_NAMEvalues_block_1 8 FIELD_3_NAMEvalues_block_2 8 FIELD_0_FILL@ @ FIELD_1_FILL ?@4 4ÿ 8 FIELD_2_FILL  0 FIELD_3_FILL 0 index_kindinteger Hvalues_block_0_kind(lp0 Vfloat p1 a. 8values_block_0_metaN. 8values_block_0_dtypefloat64 hvalues_block_1_kind8(lp0 Vint0 p1 aVint1 p2 aVint2 p3 aVint3 p4 aVint4 p5 a. 8values_block_1_metaN. 8values_block_1_dtypeint32 Pvalues_block_2_kind(lp0 Vobject_1_0 p1 aVobject_1_1 p2 aVobject_1_2 p3 aVobject_1_3 p4 aVobject_1_4 p5 aVobject_1_5 p6 aVobject_1_6 p7 aVobject_1_7 p8 aVobject_1_8 p9 aVobject_1_9 p10 aVobject_2_0 p11 aVobject_2_1 p12 aVobject_2_2 p13 aVobject_2_3 p14 aVobject_2_4 p15 aVobject_2_5 p16 aVobject_2_6 p17 a. 8values_block_2_metaN. 8values_block_2_dtypebytes120 0 NROWS@dTREEÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÃÿØá#;›M`5²¿  a1ed8f2d8b8a9850eef27646045f0dda921ef8cf2ae9ef79342b7834a8bd96c6fb17fb6d36cccce779936df6966dd268ef1d8a7e09c3ec21f0e40756e85ccd7cf14b16965a9984dc0b3e918aee13330ad3e01bf7c559a69d133413482ã~Ä"¹@Ø? de66deda9ce5673d9d30ca39d9f89773306b28929c80c283011680a41491e6294fcd75a32ae9c22319adb3d66c301fd20831a4006d86c9eb3205c71d43064215683c2c6a4f39b342c27562d953f9f8e14ea66ce52b329a0bf86f9f1b4Îk ÷Ô?92d7c410e45bd1a398898d2df24bc1e6a0e78f76defbbd80d9688e04706b2800b6c13279efbad3ae 6fb804a87e444751c817e7d97c4ea6070f4f69ab1591e3c3724912d5981d5b0110173f85fe94277d9c5cdd3e25ca21a91cdcc31cb¡«šØJâ¿6eb28adb960e7c7a98706d8f1508353d1efedd251fe12061f818e3c3140eecae11d480cfb4c4624984bb9bda88866cc27f0a96b9d9846a1cac7214a36566992482c9c1acb23f482fc50c8ed86c8c95791661a03a5dfaaa35fef621d7c®ØN,áÙê?3ddeeb10ff72442c69147c66eabcd7e52dff5f8b64eea29c536e0063d2d4f30d3abcde9f6ac034067179fa3389c7cfa440e2d0c764b0701c59788968fe835a8448b85ffd23efceed29d005ffc86a3b419098c788286a3d5a98d96ee0aPõpXêEó?6483544fe963039f9b3b579e12af26bb7e0522a78c4a2a7555ad88b7b416c89b4b8fc8a6c940ec0b 66266cac0c476ffb22e7295dd0eddc9f1ccf7fad2d7063d4718a15215a7feec5a632dacf0283647596e187261e0a5cc72246b2da§1–Ü2`Ê¿886d01826edeb4a76bdd81d7d7739faf54310096a2e25becf8757997517e19db6d706a2d330257842994c1fb23c15a1aeb8c8689285ba4c920c9082dcc26ccced3971540bbe582f780f24bd49c41086d09dec6e6b1f07685910d653ce™3OÉiCú? 65b7c139667a6ecc0dd05c318db61e85a95d1d7563c856fabc851e24009b7b93c9a4862634431e8d6941887a47e51781ffad972c09cda284ff41168b22f215d8bfaec8d175ffda20043f45d670ddf099bf8cd63d247fcc9d845df0932ÓNÆÜœÃ?eb441e3d2a9ecd0cacc6e2dbee6b69e053a1fdf6e2641fa794b8056f559733d23ff05a8e20d215872d93436279b0e2e296ada23a03c2894f4f95002b4dafe7213d2c410239e1b644f59352f78ede6df8bdbaa16c6f11ba397dbc6bb7c [-;«Î¿888fc7eb52dcffa97b8cbf026d734405ee51647377e11a27c2e6f402e49b999c8cb743e7ef2c79f1d8d986a8b73f758d38e986edb5fa3bf6ba7216cf445e82010d72bff6c94562ef328f6ddf49087d451ba1db5c2dd427ab42343563b Ì –ýwÔ¿ b1e841df91642aa44ca49e71b6a3b91d94b8c23bff59cc9695874ad35da6912a9b78d29315a1251cc55a9237a0eaaee5fe701a3cfa0a7c5d884cb0be161835e02402c6124d40 6cb2a70628d877463fe196e350f22 57e002d6ab3810 †µÕgoÿ798afa2dd5902635e774ac0bab797d21417df68a69f9d3ab175a5ba15876523a0ed6e1d6254567844c34dbee8e89dc6e0df53bce8a76b41f93303f8844346984c9eeb0f8fb7073a649c2ebe0139 cf736e246d43d2ae833f18a16776c ¨¯Øà¿ 2d345ebb73c4bd3c6b4b4eb65e5b02a1ccbe28c360ee9d114c946f94e278316e995132b6074d7761ba9a613a5005464a6c83b5cee855acd45205f44c2ecd896d8c458273f102407a636176a9a3e6bf038ea85bf0b58c802a9ce2385ad bë“V3ç? 52eae87048f48ebee4ef229e924bc0cd175249128ef21ee097db61b050ee9ca0bda04fa5fb13586fec2144149efd3054336a3376b08b9ba98016e580370ff2a863583d58f9ac127542d6deb0cc1d27d6d8c0bf1091cdeef37a0e7fb78b‰LOÇU£¿498e5715bbd9bf1612c698449a0bacbdc676f195f864fe2293e10521f435dc94bff11fea4f8136f010aca573c66e203c3f658186c4e03f898594156be60a66dbf79423909632847828baae5c126859be0bdae54589c97fe7e4c2fc3ce½þm—šô? d6f9d52c846790af6f354f8b9b459abf5fdb217da79c2bfb2fe0ede1e9d442cfd12fb3bc2c43ae94b7e010b75586152c14f1878e0f9569700c3cf2903fd6b1e795c2559f19d944ffea7461c1441b190e973dcd8b7566b77c1a868ec1b—ã«¢Y5Þ¿ 87aad7c1bf836ce08cbe9cc735547d4af3879635c41db080c9538c55213645ff00ad777df58e620aa542c3414b83f7699c684b40990ac299a4eb969e9866e3d3521957db9f8d5bb22fe79b02215823fe865d41a9f1eede8cdbab6f14bò#%Å?  0a705b2f0d4e2e72ced21199c1c2e7dc363f9f1c7ee1dd3436414725c843d9023fc18e54258d99e32e662ab8fbd7439b32cb1cad1dd2bcd86b568750dae024cc4ee55f1f80869a60dc256dedfa1d1d80899b39da5baa2c4cbc4746a7di[ÒÏ"k@63268bc39027ca8c566f5065209702f0730de3c51c73e77c29bda177840c798dc936abfdff2144bfc51174519886a85a4ea0153690c73452b4e1b245c98d6fcac6b0e558fcfe9352a4858c9b397add9b44ecd1ee4a52ba3bdb7f9beb3áýšÌþëÑ¿7fdc371872afca731ca4638c27f80a70bdeb873ba909d91c5f9cd04c14438f43094e2bbc9630bb53ac7f5bd652bc110111958f6a01fc9043f8dc38dc2c9b1cb98d9c2baf227bf69b5c7e30c1dc6a4baf239b43df0187ea6d3be3d3cbf8IiׇõÛ? 7efed34857acbdda54f8ca1106b1be8d2bed416cb5e79bad3b081d66ca71d5ad5c8ecea8be175de3a6ed1dc99bbf1736a7e34a40a3926dc382fc6b5ddb8dd5b58c1ad9ca2e1d9bfcf9e8e631ad58131bc20fd67713732251251234128“‹Ì³0õ?3904b4a1d9a17f2251460f7b375cb9157deb6be5140722a7117ad5de948f81a1d0f4281c8fc909ab7e8ded37c16a520f11df99c117b8f7e309aed70800f2c7421efe2d5fecccad059c1ae090942a9a652cc419424fd94e88e40d76d00ñE"æÑ? 671904b364144c150f02646873a00e94427ce9aa2f0fa22522f12b628ccd94d172970840d3eed2d2208a330864b7f30702804595ee4f3c9c2d70278abd7a73cb409bf2904e4c6537919ba1aa10d56a8e4652497aa982beb8741531e0d“rS«çñ¿ 5b5a438b18eb06e9b24175345dcaf3765208d103aeb44e92729c0b5c78974fc96ea3e6a248fa443dddb06f725f5f989c099ad4dbb279d0f4693ee3df1a10a74a45818a52893757072720c9869cfc3cdb2a75209b622a1d397daa57c7eé8€p×? 3d0a67b8c893cd97a9990d92d4a5077917122e66091b7042996bb8e031ca98b792d93b6b39f1e9ccd39134e5c15cfc0319d242d23f93b1 1da3c3f1f84bfb6e8fb50cbd715cbe8cca19a9c207d979d52176ca3b917cc0e9f84ab38701ñö˰+ë?42d78bca095dcaaa7450b86bc1732b3867d7182f7c031a9dee276a95c3e392ea4d61749d8087e5ecd6fa11d9254654543b0a1a124075ac4dd2498e300a6d91f400bdaa1328302f2871dc46691e854d445d498d6c27 4f86a3c760ace01ú£…´ªï¿8b7516ace67eedc6e48c7d01daea9f5407713d52a846c56f3feeec60399699b9c4792aeb49d8559026dd14b0c892f46e5daed2874c22a0effbb69ffdcc0111a55afd90a9fcf27a0fa1631f5bba5c0730d1674d819d167881d87045c40Ã<Þ¹÷? ded69b63153f3e6f304c2ffddc0050a62188728d52a61141f823b7ada4061911f08c87f9157271f025aaddf60b9ef5314a43a45e8ac403af932015299a0157ac07b15fd51370d929aeeebf23147408d60554943d1fca873b5b0fbd9e6Ë}U®ãÝ¿76ca9c2d940eb6f9797074bd726145c4e0969fc4fa4f12fd696524c1b93558cddd9ed6464a9e239f8a70993d33b86ef59e48f5b4e289e1ffb03d54d479d383579fd61f479eb93a00a3cb552dd4bfd0860951026b2d639a41002a88e61è n`åä?461085d893a11c39051001087ce446ec094f948e8821b7c77e9a3ff0512b20d81c335bd9e1fb9e2ae3c1cff498d00e9782fb7019ea239bbd23411220dbdbede6f6366dd383adb764b01d844b85613f6c390baea93fa9562871236e575Å)lû¿dbb918e58c6d095387268444487f24fb143c8a41fe53fcd82028621562d23ce1dc901f74657ca6bf12dba3135b221ffd59fa00e83a61172dec9125314d44f1fe33357ff4c34e5c4f3a2d7e7c5022907ba95ae7e646ef4385d4d64b294øåQ †ãê?2202238974818e84dfafffeb8afb1d0c565f64bf00f82d0509fef4d4c4c853c864a17d4e441225548c308b74f90bca05c9f09304eaff4bb0b9205e2cfa23c394c5f008bbd0822d4a058e2ed02a6a6052409f79af02b7ae045f968ae90 ÿ+-å)È¿ 22efc8c618adacb7d4a8035fff951ab0eed60ee8e44fee2d6044864bb59a73ccd7ee6d91d290ae6c d54865080c122b3755ff68777c4ead0930dd684e1c8765e3cf60215eae0b5bed21687404b4d88c240b2f5e1ee13fc0965e4f53af!\ùvUaÀ¿ 5f5c1431d36e2967b1f88698780376c16115a64a159e584975d661ba0f904cf564a8547d1ce3dac195cc9bb6d84a9f53b8a21c0974c56f 94a3eedd211d0687baa6883323fd537ab0db15767b3ee06a7076a7f6759f47887abcea580a"’fóôï5Û¿ 24466edb5f794d925ebc5e242826815a52ebf856d7425d91e0db82ca0635e06e20e44bdf1c05100635e8453f0c377b4e90f4ddc56dea3ed55d4bce9caccdfa4683430477dfc436be0486d02367ca4573fd5013f23f5c3ac6474bcac23#Ǧºô? ffc476f3f871a5610b57312d0ec7f63695650461566f41f21ca550788c62c3e74faf62e3911bb68b3771ea29f3ed0fea816bc67fff4772e8ac9420fee4142c200204ad32cfc8fd5539de9c52465586b3b681175489f095ad42560a7ae$‚J!6l„ð?a16bbc8245c056bfb65db101b0c480c4abedbab11a7f3b7e27200642fdc2cf84d5644fcbe8b65fe2d0595071f8b3f8b7f909a8083e8a01ffd9474c6d26efe5b955f097363b8fbb626e5116db4445cd55ceb206a7d2d3d68104f85bf4e%S( ¥AÛ¿ 0c68dddace5c7255b45c5a2ad2ac91b82440ebbbf8c38c545e0432f3fdf346c9e731f300a624bbf98daedb05e4828ddf8f3649f0c64eb25d9ea7500a581f14fe47fcbd8531a7 1230d8580aedce8073359e88f449a25a37071edef0b8&âmsSð¿ 12d6634350aa1c764c53dfb7f79675ffa18e078378040c694308a2329ea3c5f8379c22cc366c6370368459543ce6bffc0cb25ab5553d475762da0c5fa0e32f2e3f1022796212ecf54fb051a1cf1d729e50bc009bf8ad83b45bbf09005'¶i¿¨õÏ¿39390e60bd7a4b7d455abef23e8d4cddb77a2ed815814ec9306f09502b6f7738461b23f40f5b492721db68bd70a5456491119a7dd6a992 69fbdd759568a689e8998c0aed3ccdc03174e0d399cbb8cbcae6818d511b445d90e5115876(p¬¨©(†ã¿ a076b39f73c34fd865568589bd6078334bc582ec22487ccb00f2e71fc5833c5ed9e9ff6ed695aad271f3729ff79b158a28c7dbe2a476ef 4e387062b4493132ff7f4042a25582577c8e2f9d70a6d6cbb85172b7a4fc360268c2f2a045)]zάóãµ?2ab1d67c33f492b90eb392b3788cad6b01048c5344e39d8ff9b921de1f2c9755480521190665eeee d7170c15dc3fa923d84085f9ea52e8064d33f9a73aa93ed7c031fcbebc35f5f21d8c47ea86acf49363cbaa3c1477a3f859d21917*ð€9-Ù„¶?67ac715cc8818b89454867eb01020ab92b1b180134d4476508bb2d8915eb5069688976cbd9cbe3553a71189f3c0694e fb8a85024271ddd91327795e54efcbe876f95de3bb801715b466940dbae4bd898c15930caedf4bb772c252e92+ƒ„Í‘£nó?8d1ea62448209c362dac69a79fb139c0d32107b8e38a5ff28cc0332dcaafc38ad4adf9505475399ec48f781425954b994460ec04c477c0199c4834d5bc20d2ba4fa3fdd560f61d7bbda76ebd716769ab175cf864383d84fa67eca411d,Õ™žT·dÉ? 4833ff579c771ff13788a1b6df196a16ec1f0d343232191c2ceee50d99458fafd9084ef9012a0f6bfe849d66e14e54dfe9843980894dedf87a36f4f4ddf043871598af3284c2 d8b17d40f7b8b2416be25d268d8e6be12db13302bfdc-.Ø\BøÙ? ecf5251cefa9aceab5418b74f5276d27442472eb7862305fed82c8d057b16cd83c4c1f60958bb7d9d623d01c72ee10543f6ef4796cdd24b3ceb0e5a1230f96b999434c218019897aa215512cda7f2b977fd82309226b58679c78d92f7.E…u‰¼Zü¿7160d0d0645d8bbbae28a6d7ba85b0909432cde4a446c6d180c5a3b4c7778fc2c4a105a42ce7e8675bf9755b0eb99d192d1f78767eeb84a7dd159d118b86a632bcecbf2ebe21c29f71a8be2eb883df12614eb5b22dfbe2062b68aca02/vçZ ®+î¿  8f355f6652ffaa9a1d8ac38ddf31ca671071fe6cd824d2925d2cacd5ed10f776baff97f81fcc6af728e3230db56976593504ef350bcf1f7711d29f4ae074f2e0750628c983f2776ba85d7fccd0590a7b75d9e56a14185ee7e86e101800#€~á„í¿3edb09d12d1806a835d2940a223fbec7905bdf914cda92ed419210f7ab288ab464b8b5b00e37d69931542948e92d820f7154c12a7e50deea456577139f6f249fa5f28d90fe9f8e98475ce22e94527f6acd4d8237026b88d204abc448c1ù3Üþà·Ò?6601652dcf0daa48ee87b7bf963a8ac513497d71a30f697450b0fd32a2e6998d3ea79dbef36cacfe 42f0fdfb014850bce9b453d27bad2 6381407628d75cd7b0bd5bd2578a938e3444ce469752a8b0fca4faaa0b6af0d5a6c3dcfafc2{3ºNaŠÓ¿0946ded5192e7ae4adefd78a52efca580273d6b5c65ae1a0cceb7d3d0cd60459a0122719bf609663c5534a352bbbc691843799bcdd9d769a6dbe4ffed03f191a19af0e06db264a39a628a02df4cd91470ca146e3d489b1872f2f4a6993° _S Ãñ¿4ee442cd545f8eb24fe88966ca677a4f4771eddbfaeba32e67e756033c129b43cd6af1e29e831a094d68bdd57ee000c802ce2a84a49df69d6b590976aa2767ffc8a67d01e573dfc2345e94d0818e75568a25b39b1fa6b84ba282e99054îÈ—‡ô? bde5af41a98c5f13d1e5b3730ad0c038e4fbc3a0c4bad5b30bf76383c83c6683379fdb9d7c1ffdda8d04edd04295899a42656333ae82e8c7307cf28fa0e682e8765446665b155d007b629cb084249f1fb3bfefdae240c8df2930b35605Ý-܈„˳?a4b5248ab67e87d6120383e1197af6d59a08d3e9c22f0b0b600722923ae467f20bab3215cf6c79e98f64d1753758e37fa2d12bb7a8f38cbd7d7147ebce5c12875e0d1cb9db2c14b57a82f6017366ee3acb9703d3eb58ff7c767764eea6b2ê TÝ¿82d28cf0eefea60fb02a6bebdeef3a9b1156e2ae10db1e4bdde66b7644df7fd7eb4c8856fc8076d4651da726b3f59bcd2d1d19e0dd5a73bb146621f3b0faed37b6dcfc7d891c72c918568d9274face3c25eeb2f69ea5e348d7986f3a975ñ{ÇØ?1e8ddf07b52898379dfdeba664565c937d9d9e4c4d736374c0c20b5c89ec2400e9e508a07fd6ffe9f9c938d12c907f5dce392ce611a7dec9a0c4cf9ab41171bbe67ac041c35b8b7943af6ac523849af42bf7c85b75d8f76eb3edec03e8öÇHˆ|Èå? 43f5b5348d2be37b19d6cc1780e385fdc7aa1033d32d09cb88fbcbd65471f0938e26f3bd4bf4ade5e64e784484e04c810b5d72be3005e4d13e81abf82f5e953a2fe28e1082924ce5ebd88c9a43e2b6d499c476cf42df109efed4bd9989÷poNè:Ò¿2eadd4aca404664e6cca53007bb2b1f58a3449d8b40b9b94a7b9d66e5725b3347952af8d5fbeff3de123092ff904682 2a7b983b22599085ee7bdbcf1ba882b46a5b11120c306b616e2ceab9ab5f80d98de070726d56395ea73db4915:úJÒ‘ê? df1531b9b0846832613f34e683a76b99dd681f172689d8eebc799455cf0bffa72832deee3e7ced72834c91a3c6902327afbd63446aaed4c5b8c586f3e56bdafb3630d55972b66baa3090d3fe60b79a67b53851730cd8fc345ff9b570d;¹ >‹ò°Ù?a9deda2270c1e93cf30d7045ada9bdca427e6d8df28d7607b3ed655f872425256cd8deee210ea98b752631c8a3b94068c777c38f34dd078fff0cfa02ce01e9a4dfa0b8f008597ba305ad665e425b281d0c5a55c3377f17b12eca69c59<¬úýõª«ø?ee3032b49b0d626089f3515f6acf39acc88d48ca51b9acd649eac9fcbd48d3069243a78d5ca596d0b6f38e2e8bf4f6fdb91729e5f4e0185ae0be2815ca49efd25fe1691dec446a34e726d5a6c9cde7b7bffa157aa2 601b0c6e55b65e=®™à-œsï¿ c62327b321c5d0376543ecf394338ec37df945f2dc842947aed16659fd9177df4bd83d5f64b485c1b532159f5fbc582baea9e5f0c29a6d200026f725f101efce5ef79ca8ac5b10157fdff8ea6ab3e6abfba502b708 a9b6ef64658735>Ê¡Au™ì¿56708507b32b9e729b818a264d1472f81fba98e9de32820b9ab4ad87440f4dd85c56964183be684288b86a3b408fc26a92dae9fe8df3015a15dfe4cfab9921ffc1af9d96ab96dba727301810b1f7ec530799857816263e0936c171b94?¶¾ãpüƒé¿ f73be8b52a4e375645860576c27755301faf7e9a9e671ecae8055c8f352ddc0c3bec368b4164d55a38c6505f503931c4744daaec7f511685af75d15d408fded36d03b4a9cd12fc701da9b855c24 922db02ac2c24e6ade73fc1f383d6@ÌÙï¯ç¿ 4a5504330424cbe1a6dddba938e24ce954177ef173c78e67e9abde250bf8c00c0eb6b63a2cad400538fdf14b75c105297fa83c51dc304a9ba83a0be6d510389498ba95b2ae3387a820b030ee7a93790a997283e46f3e8e7c24e6dfd27Aó Oßí¿ 377c1487920e2dadc8af9641c5ebe25eb24d2fd42fe51e2b7057b136e1a438382508d73efbf5cbab68be1fc407eed78725dd8cca1593e8c29f05597c59b67d3e04238054070bc491d9a083c535f909f00253a47fe0fbce0d1e721a9a4B¶3ÀxaþÝ¿a475061abe6414799a09f5f21463943cd02459be501c6d4262f1d7cb1a520920d3747e6ffac0143246281a650fef1acab737d8402aa2bd32f9863817ab98140561d50e92f51bbcbdd38649d4fa24846eca5ffd9961f1eb3a8263b832fC¿ã'uô¿4477b05465e5b5d001541a2a9c5a723f93f692ab65ef10e37367b8a1f96810d98b90f960e3485b3f3ed3a77a2ee4917a54486ee4f5419211b22ff5a8aeaa2b30469d0cb88a9b2d9b909533d855b661a83752db44afb706414d7e337a1D…·Óœ˜‚Å?78fa8a4227440f0775e769a25a0aebd67701c4319de2e9d4c7e1f28d3f232795fc911ef900cc51381a27e551e6621687b14316c3ff715ac9bd9f170ef7b952ac2397920ab85994d84691ccdc3af cbd8b850ff1d53daf346abcee48eEfåÀÑLí? d3e1a12c6c53f3b6d46abc4cbe6cbea9ba3e2945fe16f1d24cc390a91aed7ffdda54a2efc58d6a5673651b70b806c6977314bd689c3415 5c9005cc15538a909cce14470c4b35864355584f5cdcc638a43a8fc4d35d0add6cbe1895d6FÕ/Ã}RGë¿201991cad9870eab0fc041a29119b6b7cf0971e728518c809c667f3bb0038a9d756feebc5c0e7130da74537aa55de809ec067d20c8cc059b6b6cdaea87916d0a7091ba1f190de4e9b3d0cb24de4b182e77429ee12f8b9cb067f572eb1Gmž¡´ÙÍ¿1bcb2b08479b9d8b915950925db89aca66a7ffa0b7eb61b8c890b995e126622d7f768d0e92ed2f607d1dfba9390fd222b9ab664ab6bf84b295aec70257b96 e07af91ff296de4bf36f0bb276829e558e2ea72e33691ac967beaeba41aHGeØã¿e2d5b5e3fe8c111ee87b51a953adc74269d5720161d68b49caf650224771db3273bc412328908586a808c621f3a96c5c0cf5f0300b53f719b19e79f93aff5edbfff8f85b6301 5e8863f3540b96a060721bc6eb0ecad3ce116bcc7f86I([ê—@ÀØ¿ 2eabc8ecf2ac819ccc7d7bf0efc0d805ec3c7c6fd4a4dbb7d592e11bf302aa395b84359c0c1374a3f831fbbcb824d4d63c3d246e657fa28dcd1e02d8c5b2267a96c08586e347bf9d12c6925c90e803241953ae386e7a675f4e22f7aa5J쌗7T¾? ae037760552848d31353ac3523446c24f468ed3265cf010211908628ce036c044eca823a5b903986809ea01a3e3c077614fa39a928a8d8bdad37cf02d43ce76bd74eb547e46362af55c970275b643e9ab24fe39cc7 69a090cf8bd370KôÒãšS ã?2f0a7583ab909d4c5c809459a43ca2992fc5fe3660d25f8e9275ea2619ebf66a8ad874b755826bc1b6434e34538de739f4f785f3183fe740cdd2646b4f75a3c265ea7f59a60c6aba4139a1b36a4 d840d34c4276916067e5151c49a4dLYTà>Ç¿ 43b29aceae0e52fcddfe418a0cdde112e7c4776c5f2f3b7c1d74f811e018fc59cdf96a73013d46f65ef3f72991991d94d66e4c99a0ab2467d27a9108d9564283efb2e37746515da52afc377fe66590d82b8a89d02f9e367684cceebd6MâuÆüïØ?0f53de14fc05524f6aac61a4b006245c31d5da9c0cb73d6629c211139dfe5451b59f9fcf862d6d3ee3d420fbc9362f06f418ff547a07d51a986090d7db11ab217a315782069d999ea6f1bae60cc37948307c3111625ce9c7dd15b1c9dNÕ$¢ Oô?092142eb4f44250eca9c4c007ba8845f811fa1c2d1c6b42d306c170a44a07ddc9e0e9f3f784a47e5 4a138ec7d6ddfdc22d07bdc40717698347edacccbf7d12b67b0aecf1ea556ae3b5b11abaa73ae4e7766e325cfcfec41d6db69cffO»`J¶:†¿ a8e338b4b0b87529994d82c5ed8a42a70562a942e0f4c901d43cf026b54f29052cac5c36635c90abf6c373727f29b7a33a834b67807eb83a599bcf8af7ab0b4da447465e3cecffeb35d90871a2d29de36ee445a916b6c96200f76134bP›ã}»Qhæ¿fc550af9ee621a893e6a485ffdce04ddb5e993f0053d1c17559dd2620d5ae5118535859c2aa768277b88b9b5d03e8407e8058def1f0d7532ab196b127e6eb559dac252a22202cd52eda570eff06375f0865beb95c5 cc21d8854c090eQ­AañYØ¿ f6ec75fee0b14c3d633d35b1d3c3a71db3fd9df436515bfef5db7d35822f03b12590d17251d8a479500d1bb098b5576cbbd2203d1386a299f415521ce8c321ba905d19ec94c3ae49678ddd51da693502cc90242cc27ed4a33ce276f92R—©E[Êï¿ 1adf91ecc19476c22631a0b23dcbffe5d0bf006c653248c1081c79d949aad51e0df38d11b44982867213196c02279691f5d021bba1a18ce3269562d1fe1aab6b2568fc80e5a35c4256e1b90e45c928883350853ae0892236a2d083d68SëŽÝ§gÖâ?cdc4dc5c043395d551d4ad49fb9a804f56d44e3a621f3dcad1ed73be1855f52239314f1af987e135151fc5d13fa258e772052592e25af7c5515f9c55667f1a2087019abcf445dc1a55753132b98908c744d74b4081 3bcdbced9a109bTs’“›ÿžì¿  103b32995377f790d8178f1400bf6535ee6cc4908170c1347b5de086df154e8e05ed8448b9de6c2080c0d187e5d1db634508c778e613917ccf4ef9c7aa73dca77cfbb3c95a27caa350b25d7c9cf30096c1f2057fba5a39ed1c1ce8b6aU¢Ýˆ ÙÃ? 463f2f8336d38e9dd297d87e3499b0003c8c6039ec638027219862e49e7cf73ed536aacb472ee8e4b3effaa5d4c2aa5f4f4481e031c036aab95a0786874b8566b77331010bddc57eebef603bce2664718836012788a788902910a013bV“‡MÅÄ\ô?3e54629fbdd9586959ec95e6fe33a2700fea56a36c57f618a990d213fd242cce90c1520f3bdc2f5a9748d05df631059f28b7821c8c386b38235cc92e1af3c9e17b682fa44459 84e43bb2cd279464e3702d3350589fb91be1e29b04e6W ÔÊ¢²¬? 68d00334e2803ab63964afd1f750d82cade861e09275fc1ec0278357aa482a2730cfd923ba5066f7646df091591c04319eb978e2cbe813ff42228f645b3d44a2b08e95b0669b41e49fc80927651b82467b3015623c25aaf4ed9380556X/uIEM œ¿ 1cd5efb42294307e9e05ac996a3899ac4f3d10405aec4d60b9f5384ab589951f954c5494c4d6aa7bb4d41a6d208532d14707a98df31a9f59880c0df14d6352d583ffce3cfc4d634d2a7e13e62222aa0d3744c187b34908aa37eb0d9ecYéà¡æmÁÙ¿4c92160657d7cb7f1172a598d3fe096998c9e7fcbb65db69179923fe5177f50d7e098de00ad88332 f16ec32a9d2751eff69ea90859dc4a8efdbc25c7ce8bd8e1b9b71d3eacc4964d689e0f78c8b176c3ce70c1886ceaa3122e101a24Z ÙD™é¿ 8cbc780bb361c0f5b9e403d5c0ff5985c6d359e85bf8d12b29600bfe99a1ced37d2a65df540b8f54 46325b2cefdbfb b5677b7883d487988d730de322833ef4e003e5f70f2a df3a92793773a197e4f76e6cdf0f8e982fdef9d35b51[–´h™á¿ fcd9c627123684e74cc014bd7053dfc61f6d245b41f140ea5c21b9bc47e1bb83244a938df770095ce5ee155943a53378e6bc00974e75034df42cdfd71a9958b40e55c2757d9aac67889706886432d39200e50c4edd b4c20634599626\ý–=!u¿?45dc278cd5a503328cb022af9e7f319c9e522bd53e4e34359c31f9b8c51e2f35b6dffcb4bd01c786d1d8f407ba2e737eceff6dfcb9d5a7276c9bcbed19d7d2a32bbb64ce16894861afcb9fed531a5b14d7a3c60354f3df7079f2ebf57]×â¾Ñký¿78c135b4ce2a2706cb6ba32a941f1e03a0aa2e09b45340f5c0518236c408550f3c43ab5e6aca33ad1495eeccfcd624eb51b1d8c16b6a9ecd14f5411a7a25ed1a53b5f2e31a7a83b9b483b774d4a79cd627548da05b8c6e8b33f3dbef1^ ½ô‡\ @12dc84e0267406908dd8fa24ca16cf21af0ccf6de8452868d24a011b167382f6bc673b200e1d440c96a4bc87f1dec9eea3b83da5eb66ca7d191af8ea25c3bb7e60df5b8241b91625ff117862aeec7a891b8a566878b67f8ff348b4007_›¯•ñ? 5667f64f10d144721188cefd5a439d18ba1c9194a8c52762c1a3856888c068bc49e2fa70dcbd008dc8cb6736b5c3921716e58383424de843caea6b9ff67956500e264ffaa87bdbe2c8c451810b5407f89c3eedf8069fab0c7262bf79c`mÅB‡^Ë?149eed7a13ced9031fbd7a9047966028de0673e3a0bafcff75ec37bb28bd97a4e914d8a1af4500f2833630ef9404dbe5aaec1d282384a36ed6fef0dd1e4edeeb7ff0e383cbfb3437ace0b662dad72d5dd960d9a2d72f56b104c0accfba¿óÝŸlë? 65db964d5fe58ccffff28844524902281d29a971a43493d5bbbe4acf9583f1b05d9d502289514b4666f8b997071ca2aa24eacb851b5788855b5224c678f35254a38f6bf561592929ebe0c0f911cca2467ffbbba83ad6e1fdf24d231ffbbg0|•Íó? ac1917c5d9688d246fdf2b31fb0d45e315e5d9f7f385071803435439f15e619b684c25ce3b2e6acd95f461d8f965c7a2786a6656d0d81ee00623d52854d9c3f5bef5e994c19c77c05bb5db8247021cd26fcc9edb24 5184be02e37a2ac³$Tß4/ë¿ ad383931106c37f617cb55af97fb3619e2155a4dfa89d0a7980ad14a5705fb9b128e890c75a0ea70c12506113d9c1e881ccc38455a21e99e0b8c2e84bc65ad87f3456633bc551117db926bddf40e4ff034c368dc3dd4f08db89986c49[!ÈTREEÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿã$HEAPX!indexHÃã  HTITLE'Indexes container for table /data/table (CLASSTINDEX (VERSION1.0+&pTREEÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ«)@388HEAP°h;Ë;P (VERSION1.1SNOD#"K"k$+MP 8TITLEIndex for index column (CLASSINDEX (VERSION2.1 0 FILTERS@ 8 superblocksize@ 8 blocksize@ 8 slicesize  8 chunksize  8 optlevel  8 reduction  (ÿÿÿÿÿÿÿÿó*¸ 8shuffledeflateÿÿÿÿÿÿÿÿà’…^ 0CLASS INDEXARRAYSNOD0[2(«0«+X :@‹5@ (VERSION1.1 0TITLE Sorted Values 0 EXTDIM  ¨(ÿÿÿÿÿÿÿÿ  8shuffledeflateÿÿÿÿÿÿÿÿà’…^ 0CLASS INDEXARRAY (VERSION1.1 8TITLENumber of chunk in table 0 EXTDIM   (ÿÿÿÿÿÿÿÿ@ 8shuffledeflateÿÿÿÿÿÿÿÿà’…^ 0CLASS CACHEARRAY (VERSION1.1 0TITLE Range Values 0 EXTDIM  ˆÿÿÿÿÿÿÿÿ@ 8shuffledeflateÿÿÿÿÿÿÿÿ à’…^ (CLASSEARRAY (VERSION1.1 0TITLE Median ranges 0 EXTDIM   (ÿÿÿÿÿÿÿÿ@ 8shuffledeflateÿÿÿÿÿÿÿÿà’…^ 0CLASS CACHEARRAY (VERSION1.1 0TITLEBoundary Values 0 EXTDIM  ˆÿÿÿÿÿÿÿÿ@ 8shuffledeflateÿÿÿÿÿÿÿÿ à’…^ (CLASSEARRAY (VERSION1.1 0TITLE Start bounds 0 EXTDIM  ˆÿÿÿÿÿÿÿÿ@ 8shuffledeflateÿÿÿÿÿÿÿÿ à’…^ (CLASSEARRAY (VERSION1.1 0TITLE End bounds 0 EXTDIM  ˆÿÿÿÿÿÿÿÿ@ 8shuffledeflateÿÿÿÿÿÿÿÿ à’…^ (CLASSEARRAY (VERSION1.1 0TITLE Median bounds 0 EXTDIM  {9 8shuffledeflateË<à’…^ 0CLASS LASTROWARRAYSNOD /c-›(H#78ó3<X (VERSION1.1 @TITLELast Row sorted values + bounds‹$H 8shuffledeflateûDà’…^ 0CLASS LASTROWARRAYsortedindicesrangesmrangesboundsaboundszboundsmboundssortedLRindicesLRHs<X 0TITLELast Row indices@ 8 nelements d 8 nelements dTREEÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ¬{MTREEÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ)'NK"k$ 0 DIRTY xíÐUB@Á%EBI%T¤;¤»[bïNáß›#Œ ‘Êä åƒêQ­Ñêžô†g£Él±Úì§ëÅíñúü×·`(yÿøŒ~Åâ‰d*Éæò…b©\©Öêß?æo«Ýéöúƒáh<™Îæ‹åj½Ùîö‡ãéï|¹ÞDAÀ 0À 0À 0À 0À 0À 0À 0Àÿ8p;ºxíÐ  ÷Om( 0`À€ 0`À€÷traitsui-7.2.1/traitsui/examples/demo/Advanced/Tree_editor_required_traits_demo.py0000644000076500000240000001127614046644454031242 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! """ This is a modified version of the Standard_Editors/TreeEditor_demo.py in which the `Employee` class is now a subclass of HasRequiredTraits. Thus, to create a new `TreeNode` for `Employee`, to create the associated `Employee` object we can not simply do `Employee()`. Luckily the `TreeNode` API provides a means for specifying a callable that returns a created instance when we want to add a new node. To do so we can simply pass a tuple of the for (klass, prompt, factorry) as an item the `add` list trait for a TreeNode. klass is the class of object we want to be addable, prompt is a boolean indicating whether or not we want to prompt the user to specify traits after we instantiate the object before it is added to the tree, and factory is the previously described callable that must return an instance of klass. """ from traits.api import HasRequiredTraits, HasTraits, Str, Regex, List, Instance from traitsui.api import Item, View, TreeEditor, TreeNode class Employee(HasRequiredTraits): """ Defines a company employee. """ name = Str('') title = Str() phone = Regex(regex=r'\d\d\d-\d\d\d\d') def default_title(self): self.title = 'Senior Engineer' def create_default_employee(): return Employee(name="Dilbert", title="Engineer", phone="999-8212") class Department(HasTraits): """ Defines a department with employees. """ name = Str('') employees = List(Employee) class Company(HasTraits): """ Defines a company with departments and employees. """ name = Str('') departments = List(Department) employees = List(Employee) # Create an empty view for objects that have no data to display: no_view = View() # Define the TreeEditor used to display the hierarchy: tree_editor = TreeEditor( nodes=[ # The first node specified is the top level one TreeNode( node_for=[Company], auto_open=True, # child nodes are children='', label='name', # label with Company name view=View(['name']) ), TreeNode( node_for=[Company], auto_open=True, children='departments', label='=Departments', # constant label view=no_view, add=[Department], ), TreeNode( node_for=[Company], auto_open=True, children='employees', label='=Employees', # constant label view=no_view, add=[(Employee, True, create_default_employee)] ), TreeNode( node_for=[Department], auto_open=True, children='employees', label='name', # label with Department name view=View(['name']), add=[(Employee, True, create_default_employee)] ), TreeNode( node_for=[Employee], auto_open=True, label='name', # label with Employee name view=View(['name', 'title', 'phone']) ) ] ) class Partner(HasTraits): """ Defines a business partner.""" name = Str('') company = Instance(Company) traits_view = View( Item(name='company', editor=tree_editor, show_label=False), title='Company Structure', buttons=['OK'], resizable=True, style='custom', width=.3, height=500 ) # Create an example data structure: jason = Employee(name='Jason', title='Senior Engineer', phone='536-1057') mike = Employee(name='Mike', title='Senior Engineer', phone='536-1057') dave = Employee(name='Dave', title='Senior Developer', phone='536-1057') martin = Employee(name='Martin', title='Senior Engineer', phone='536-1057') duncan = Employee(name='Duncan', title='Consultant', phone='526-1057') # Create the demo: demo = Partner( name='Enthought, Inc.', company=Company( name='Enthought', employees=[dave, martin, duncan, jason, mike], departments=[ Department( name='Business', employees=[jason, mike] ), Department( name='Scientific', employees=[dave, martin, duncan] ) ] ) ) # Run the demo (if invoked from the command line): if __name__ == '__main__': demo.configure_traits() traitsui-7.2.1/traitsui/examples/demo/Advanced/List_editor_notebook_selection_demo.py0000644000076500000240000000772614046644454031742 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! """ Displaying a list of objects in notebook tabs A list of objects can be displayed in a tabbed notebook, one object per tab. This example also shows how the currently active notebook tab of a ListEditor can be controlled using the ListEditor's 'selected' trait. Note the interaction between the spinner control (for the 'index' trait) and the currently selected notebook tab. Try changing the spinner value, then try clicking on various notebook tabs. Finally, note that the ListEditor will automatically scroll the tabs to make the selected tab completely visible. """ # The following text was removed from the module docstring (only works in wx): # Also note that rearranging the notebook tabs (using drag and drop) does not # affect the correspondence between the index value and its associated notebook # tab. The correspondence is determined by the contents of the 'people' trait, # and not by the physical layout of the notebook tabs. from traits.api import HasStrictTraits, Str, Int, Regex, List, Instance, Range from traitsui.api import View, VGroup, Item, ListEditor #-- Person Class --------------------------------------------------------- class Person(HasStrictTraits): # Trait definitions: name = Str() age = Int() phone = Regex(value='000-0000', regex='\d\d\d[-]\d\d\d\d') # Traits view definition: traits_view = View('name', 'age', 'phone', width=0.18, buttons=['OK', 'Cancel']) #-- Sample Data ---------------------------------------------------------- people = [ Person(name='Dave Chomsky', age=39, phone='555-1212'), Person(name='Mike Wakowski', age=28, phone='555-3526'), Person(name='Joe Higginbotham', age=34, phone='555-6943'), Person(name='Tom Derringer', age=22, phone='555-7586'), Person(name='Dick Van Der Hooten', age=63, phone='555-3895'), Person(name='Harry McCallum', age=46, phone='555-3285'), Person(name='Sally Johnson', age=43, phone='555-8797'), Person(name='Fields Timberlawn', age=31, phone='555-3547') ] #-- ListEditorNotebookSelectionDemo Class -------------------------------- class ListEditorNotebookSelectionDemo(HasStrictTraits): #-- Trait Definitions ---------------------------------------------------- # List of people: people = List(Person) # The currently selected person: selected = Instance(Person) # The index of the currently selected person: index = Range(0, 7, mode='spinner') #-- Traits View Definitions ---------------------------------------------- traits_view = View( Item('index'), '_', VGroup( Item('people', id='notebook', show_label=False, style='custom', editor=ListEditor(use_notebook=True, deletable=False, selected='selected', export='DockWindowShell', page_name='.name') ) ), id='traitsui.demo.Traits UI Demo.Advanced.' 'List_editor_notebook_selection_demo', dock='horizontal') #-- Trait Event Handlers ------------------------------------------------- def _selected_changed(self, selected): self.index = self.people.index(selected) def _index_changed(self, index): self.selected = self.people[index] #-- Set Up The Demo ------------------------------------------------------ demo = ListEditorNotebookSelectionDemo(people=people) if __name__ == "__main__": demo.configure_traits() traitsui-7.2.1/traitsui/examples/demo/Advanced/Auto_update_TabularEditor_demo.py0000644000076500000240000000664614046644454030607 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! """ **WARNING** This demo might not work as expected and some documented features might be missing. ------------------------------------------------------------------------------- Auto-update from a list to a TabularEditor Demonstrates using a TabularEditor with the 'auto_update' feature enabled, which allows the tabular editor to automatically update itself when the content of any object in the list associated with the editor is modified. To interact with the demo: - Select an employee from the list. - Adjust their salary increase. - Click the **Give raise** button. - Observe that the table automatically updates to reflect the employees new salary. In order for auto-update to work correctly, the editor trait should be a list of objects derived from HasTraits. Also, performance can be affected when very long lists are used, since enabling this feature adds and removed Traits listeners to each item in the list. """ # Issues related to the demo warning: # enthought/traitsui#960 from traits.api import HasTraits, Str, Float, List, Instance, Button from traitsui.api import ( View, HGroup, Item, TabularAdapter, TabularEditor, spring ) # -- EmployeeAdapter Class ------------------------------------------------ class EmployeeAdapter(TabularAdapter): columns = [('Name', 'name'), ('Salary', 'salary')] def get_default_value(self, object, trait): return Employee(name="John", salary=30000) # -- Employee Class ------------------------------------------------------- class Employee(HasTraits): name = Str() salary = Float() # -- Company Class -------------------------------------------------------- class Company(HasTraits): employees = List(Employee) employee = Instance(Employee) increase = Float() give_raise = Button('Give raise') traits_view = View( Item( 'employees', show_label=False, editor=TabularEditor( adapter=EmployeeAdapter(), selected='employee', auto_resize=True, auto_update=True ) ), HGroup( spring, Item('increase'), Item( 'give_raise', show_label=False, enabled_when='employee is not None' ) ), title='Auto Update Tabular Editor demo', height=0.25, width=0.30, resizable=True ) def _give_raise_changed(self): self.employee.salary += self.increase self.employee = None # -- Set up the demo ------------------------------------------------------ demo = Company( increase=1000, employees=[ Employee(name='Fred', salary=45000), Employee(name='Sally', salary=52000), Employee(name='Jim', salary=39000), Employee(name='Helen', salary=41000), Employee(name='George', salary=49000), Employee(name='Betty', salary=46000) ] ) # Run the demo (if invoked from the command line): if __name__ == '__main__': demo.configure_traits() traitsui-7.2.1/traitsui/examples/demo/Advanced/Adapted_tree_editor_demo.py0000644000076500000240000001037514046644454027435 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! """ Demonstrates an alternative method of defining a **TreeEditor** by creating **ITreeNodeAdapter** subclasses. To run this demonstration successfully, you must have **AppTools** (``apptools``) installed. Using **ITreeNodeAdapters** can be useful in cases where the kind of content of the tree is not always known ahead of time. For example, you might be creating a reusable tool or component which can display its data in a tree view, but you do not know what kind of data it will be asked to display when you write the code. Therefore, it may be impossible for you to specify a **TreeEditor** with a correct set of **TreeNode** objects that will work in all possible future cases. Using **ITreeNodeAdapter** subclasses, you can allow the clients of your code to solve this problem by providing one of more **ITreeNodeAdapters** that can be used to provide the correct tree node information for each type of data that will appear in the **TreeEditor** view. In this demo, we define an **ITreeNodeAdapter** subclass that adapts the *apptools.io.file.File* class to be displayed in a file explorer style tree view. """ #-- Imports -------------------------------------------------------------- from os import getcwd from traits.api import ( HasTraits, Property, Directory, property_depends_on, register_factory ) from traitsui.api import ( View, VGroup, Item, TreeEditor, ITreeNode, ITreeNodeAdapter ) from apptools.io.api import File #-- FileAdapter Class ---------------------------------------------------- class FileAdapter(ITreeNodeAdapter): #-- ITreeNodeAdapter Method Overrides ------------------------------------ def allows_children(self): """ Returns whether this object can have children. """ return self.adaptee.is_folder def has_children(self): """ Returns whether the object has children. """ children = self.adaptee.children return ((children is not None) and (len(children) > 0)) def get_children(self): """ Gets the object's children. """ return self.adaptee.children def get_label(self): """ Gets the label to display for a specified object. """ return self.adaptee.name + self.adaptee.ext def get_tooltip(self): """ Gets the tooltip to display for a specified object. """ return self.adaptee.absolute_path def get_icon(self, is_expanded): """ Returns the icon for a specified object. """ if self.adaptee.is_file: return '' if is_expanded: return '' return '' def can_auto_close(self): """ Returns whether the object's children should be automatically closed. """ return True #-- FileTreeDemo Class --------------------------------------------------- class FileTreeDemo(HasTraits): # The path to the file tree root: root_path = Directory(entries=10) # The root of the file tree: root = Property() # The traits view to display: view = View( VGroup( Item('root_path'), Item('root', editor=TreeEditor(editable=False, auto_open=1) ), show_labels=False ), width=0.33, height=0.50, resizable=True ) #-- Traits Default Value Methods ----------------------------------------- def _root_path_default(self): return getcwd() #-- Property Implementations --------------------------------------------- @property_depends_on('root_path') def _get_root(self): return File(path=self.root_path) #-- Create and run the demo ---------------------------------------------- register_factory(FileAdapter, File, ITreeNode) demo = FileTreeDemo() # Run the demo (if invoked form the command line): if __name__ == '__main__': demo.configure_traits() traitsui-7.2.1/traitsui/examples/demo/Advanced/test_h5pydata.h50000644000076500000240000002063014046644454025137 0ustar aayresstaff00000000000000‰HDF  ÿÿÿÿÿÿÿÿ˜!ÿÿÿÿÿÿÿÿ`ˆ¨ˆ¨TREEÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿàHEAPXÈrun1_test1@HhTREEÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ8HEAP°PÀSNOD Hhdd 8à’…^€  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcxyzlatlon?ÆÌ7@33333“TÀœA¸QÆÌ7@33333“TÀ2q\dÆÌ7@33333“TÀÈ wÆÌ7@33333“TÀ^Ф‰ÆÌ7@33333“TÀõÿHœÆÌ7@33333“TÀ‹/í®ÆÌ7@33333“TÀ!_‘ÁÆÌ7@33333“TÀ·Ž5ÔÆÌ7@33333“TÀM¾ÙæÆÌ7@33333“TÀãí}ùÆÌ7@33333“TÀy" ÇÌ7@33333“TÀMÆÇÌ7@33333“TÀ¦|j1ÇÌ7@33333“TÀ<¬DÇÌ7@33333“TÀÒÛ²VÇÌ7@33333“TÀh WiÇÌ7@33333“TÀþ:û{ÇÌ7@33333“TÀ”jŸŽÇÌ7@33333“TÀ*šC¡ÇÌ7@33333“TÀÀÉç³ÇÌ7@33333“TÀWù‹ÆÇÌ7@33333“TÀí(0ÙÇÌ7@33333“TÀƒXÔëÇÌ7@33333“TÀˆxþÇÌ7@33333“TÀ¯·ÈÌ7@33333“TÀEçÀ#ÈÌ7@33333“TÀÛe6ÈÌ7@33333“TÀqF IÈÌ7@33333“TÀv­[ÈÌ7@33333“TÀž¥QnÈÌ7@33333“TÀ4Õõ€ÈÌ7@33333“TÀÊš“ÈÌ7@33333“TÀ`4>¦ÈÌ7@33333“TÀöcâ¸ÈÌ7@33333“TÀŒ“†ËÈÌ7@33333“TÀ"Ã*ÞÈÌ7@33333“TÀ¸òÎðÈÌ7@33333“TÀO"sÉÌ7@33333“TÀåQÉÌ7@33333“TÀ{»(ÉÌ7@33333“TÀ±_;ÉÌ7@33333“TÀ§àNÉÌ7@33333“TÀ=¨`ÉÌ7@33333“TÀÓ?LsÉÌ7@33333“TÀioð…ÉÌ7@33333“TÀŸ”˜ÉÌ7@33333“TÀ–Î8«ÉÌ7@33333“TÀ,þܽÉÌ7@33333“TÀÂ-ÐÉÌ7@33333“TÀX]%ãÉÌ7@33333“TÀîŒÉõÉÌ7@33333“TÀ„¼mÊÌ7@33333“TÀìÊÌ7@33333“TÀ±¶-ÊÌ7@33333“TÀGKZ@ÊÌ7@33333“TÀÝzþRÊÌ7@33333“TÀsª¢eÊÌ7@33333“TÀ ÚFxÊÌ7@33333“TÀŸ ëŠÊÌ7@33333“TÀ59ÊÌ7@33333“TÀËh3°ÊÌ7@33333“TÀb˜×ÂÊÌ7@33333“TÀøÇ{ÕÊÌ7@33333“TÀŽ÷èÊÌ7@33333“TÀ$'ÄúÊÌ7@33333“TÀºVh ËÌ7@33333“TÀP† ËÌ7@33333“TÀæµ°2ËÌ7@33333“TÀ|åTEËÌ7@33333“TÀùWËÌ7@33333“TÀ©DjËÌ7@33333“TÀ?tA}ËÌ7@33333“TÀÕ£åËÌ7@33333“TÀkÓ‰¢ËÌ7@33333“TÀ.µËÌ7@33333“TÀ—2ÒÇËÌ7@33333“TÀ-bvÚËÌ7@33333“TÀÄ‘íËÌ7@33333“TÀZÁ¾ÿËÌ7@33333“TÀððbÌÌ7@33333“TÀ† %ÌÌ7@33333“TÀP«7ÌÌ7@33333“TÀ²OJÌÌ7@33333“TÀH¯ó\ÌÌ7@33333“TÀÞÞ—oÌÌ7@33333“TÀu<‚ÌÌ7@33333“TÀ >à”ÌÌ7@33333“TÀ¡m„§ÌÌ7@33333“TÀ7(ºÌÌ7@33333“TÀÍÌÌÌÌÌ7@33333“TÀcüpßÌÌ7@33333“TÀù+òÌÌ7@33333“TÀ[¹ÍÌ7@33333“TÀ%‹]ÍÌ7@33333“TÀ¼º*ÍÌ7@33333“TÀRê¥<ÍÌ7@33333“TÀèJOÍÌ7@33333“TÀ~IîaÍÌ7@33333“TÀy’tÍÌ7@33333“TÀSNOD €H°0 (È à’…^ˆË à’…^ˆ(dd ?@4 4ÿ8` à’…^h(dd ?@4 4ÿÑ @à’…^htimedirectioncoordinatemagnetic_3_axiallatlon`z‘© ­£Ë>z‘© ­£Ë>0óÃæË¾J'mÇðæÐ>J'mÇðæÐ>¸È‚Ò¾Öǯ´½Ò>Öǯ´½Ò>ªÊÇØ¾@GìÒ>@GìÒ>:tKà¾Zk˜ò¿É>Zk˜ò¿É>nŸ!Ÿå¾],”XÎã‘>],”XÎã‘>m°ì¾¬G“štÑÓ¾¬G“štÑÓ¾€æøó¾õ¯ùY<ê¾õ¯ùY<꾪EGAù¾Ó~øš´ø¾Ó~øš´ø¾@ vLÁ¿ïÅÕVî¿ïÅÕVî¿@DâW;¿7,wÐ ¿7,wÐ ¿€—o© ¿†Ì©ˆu¿†Ì©ˆu¿¬’¿°Püý¦¿°Püý¦¿€.™÷¿ûðÇô¿ûðÇô¿Ð\Ç3:!¿ÝÞ¾®Sf¿ÝÞ¾®Sf¿áé«Û&¿2 ñLøÐ¿2 ñLøÐ¿ Â‘:T.¿¾–ÿV}ð¾¾–ÿV}ð¾h™å4¿îeW¦L¤?îeW¦L¤?ÀC²:¿aœ˜Šw1?aœ˜Šw1?xÔÏϵA¿kŠg ßÔ@?kŠg ßÔ@?è¦ËGG¿R‚nšƒK?R‚nšƒK?üäš,O¿Öþu6=T?Öþu6=T?ðEÑ­T¿u­F‚jZ[?u­F‚jZ[?mÌn[¿¿Qëa?¿Qëa?‡7më1b¿ñÇ»«Tc?ñÇ»«Tc?¯z\>"h¿Õ\Ec?Õ\Ec?€§¤Gép¿”˜†¿)^?”˜†¿)^?€V1 8u¿OUáyB?OUáyB?€èºÅQ"|¿uß»Ðú]¿uß»Ðú]¿@eží¤‚¿Ä åü” w¿Ä åü” w¿P1ù§³ˆ¿ö­]lµ¹†¿ö­]lµ¹†¿Êu#[¿Áj’ñÈ’¿Áj’ñÈ’¿à¡Œ‰3¥•¿®*ªéÒ›¿®*ªéÒ›¿àŽáŸœ¿ay÷¯á¢¿ay÷¯á¢¿@¾‡¾æ¢¿ågÎ'˜§¿ågÎ'˜§¿ aÃ~í¨¿ƒªÕÞª¿ƒªÕÞª¿`ÎtÓg°¿ß8]nÇøª¿ß8]nÇøª¿8xpʉµ¿âÔÄ~ÍŸ¥¿âÔÄ~ÍŸ¥¿ô«b.¼¿1½HH‰A¿1½HH‰A¿TŽšÅäZ¿YĉÕêC ?YĉÕêC ?\,ðþÍÅÇ¿çeWZغ?çeWZغ?HòþÆuοÓÊß½*Ê?ÓÊß½*Ê?®àk£tÓ¿‘•¡WvÛÔ?‘•¡WvÛÔ?N´ë]·xØ¿n‘•wÂ;Ý?n‘•wÂ;Ý?XˆoMìOÞ¿Áÿ<ðkâ?Áÿ<ðkâ?Øv$¤kâ¿ÂxܪÉéä?ÂxܪÉéä?œGI?Àà忊ÿ®å"å?Šÿ®å"å?þ]àÓ—Hé¿""Í4dâ?""Í4dâ?c‘¿Oì¿Z¯ç’1Ù?Z¯ç’1Ù?+ZUÙ-šî¿XU –jóÁ?XU –jóÁ?£ã(.×ï¿U –jóÁ¿U –jóÁ¿¤ã(.×ï¿@¯ç’1Ù¿@¯ç’1Ù¿.ZUÙ-šî¿""Í4dâ¿""Í4dâ¿c‘¿O쿊ÿ®å"忊ÿ®å"å¿þ]àÓ—Hé¿ÅxܪÉéä¿ÅxܪÉéä¿¢GI?Ààå¿Áÿ<ðkâ¿Áÿ<ðkâ¿Øv$¤kâ¿}‘•wÂ;Ý¿}‘•wÂ;Ý¿dˆoMìOÞ¿‘•¡WvÛÔ¿‘•¡WvÛÔ¿N´ë]·xØ¿ÓÊß½*Ê¿ÓÊß½*Ê¿®àk£tÓ¿fWZغ¿fWZغ¿TòþÆuοĉÕêC ¿Ä‰ÕêC ¿h,ðþÍÅÇ¿1½HH‰A?1½HH‰A?TŽšÅäZ¿âÔÄ~ÍŸ¥?âÔÄ~ÍŸ¥?ô«b.¼¿ã8]nÇøª?ã8]nÇøª?Hxpʉµ¿ƒªÕÞª?ƒªÕÞª?`ÎtÓg°¿ågÎ'˜§?ågÎ'˜§? aÃ~í¨¿ay÷¯á¢?ay÷¯á¢?@¾‡¾æ¢¿°*ªéÒ›?°*ªéÒ›?àŽáŸœ¿Áj’ñÈ’?Áj’ñÈ’?ࡌ‰3¥•¿ö­]lµ¹†?ö­]lµ¹†?Êu#[¿Ú åü” w?Ú åü” w?P1ù§³ˆ¿¾ß»Ðú]?¾ß»Ðú]?@eží¤‚¿UáyB¿UáyB¿€èºÅQ"|¿”˜†¿)^¿”˜†¿)^¿€V1 8u¿Õ\Ec¿Õ\Ec¿€§¤Gép¿êÇ»«Tc¿êÇ»«Tc¿¯z\>"h¿¿Qëa¿¿Qëa¿‡7më1b¿u­F‚jZ[¿u­F‚jZ[¿mÌn[¿Øþu6=T¿Øþu6=T¿ðEÑ­T¿R‚nšƒK¿R‚nšƒK¿üäš,O¿kŠg ßÔ@¿kŠg ßÔ@¿è¦ËGG¿8aœ˜Šw1¿8aœ˜Šw1¿xÔÏϵA¿"fW¦L¤¿"fW¦L¤¿ÀC²:¿¾–ÿV}ð>¾–ÿV}ð>h™å4¿2 ñLøÐ?2 ñLøÐ? Â‘:T.¿¸Þ¾®Sf?¸Þ¾®Sf?áé«Û&¿øúðÇô?øúðÇô?Ð\Ç3:!¿°Püý¦?°Püý¦?€.™÷¿†Ì©ˆu?†Ì©ˆu?¬’¿7,wÐ ?7,wÐ ?€—o© ¿ôÅÕVî?ôÅÕVî?@DâW;¿Ó~øš´ø>Ó~øš´ø>@ vLÁ¿õ¯ùY<ê>õ¯ùY<ê>ªEGAù¾ÐG“štÑÓ>ÐG“štÑÓ>€æøó¾“*”XÎ㑾“*”XÎ㑾m°ì¾Zk˜ò¿É¾Zk˜ò¿É¾nŸ!Ÿå¾&GìÒ¾&GìÒ¾:tKà¾Îǯ´½Ò¾Îǯ´½Ò¾ªÊÇØ¾E'mÇðæÐ¾E'mÇðæÐ¾¸È‚Ò¾z‘© ­£Ë¾z‘© ­£Ë¾0óÃæË¾traitsui-7.2.1/traitsui/examples/demo/Advanced/String_list_ui_editor.py0000644000076500000240000001057514046644454027050 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! """ **WARNING** This demo might not work as expected and some documented features might be missing. ------------------------------------------------------------------------------- Another demo showing how to use a TabularEditor to create a multi-select list box. This demo creates a reusable StringListEditor class and uses that instead of defining the editor as part of the demo class. This approach greatly simplifies the actual demo class and shows how to construct a reusable Traits UI-based editor that can be used in other applications. """ # Issue related to the demo warning: enthought/traitsui#960 from traits.api import HasPrivateTraits, List, Str, Property, observe from traits.etsconfig.api import ETSConfig from traitsui.api import ( BasicEditorFactory, HGroup, Item, TabularAdapter, TabularEditor, View ) if ETSConfig.toolkit == 'wx': from traitsui.wx.ui_editor import UIEditor else: from traitsui.qt4.ui_editor import UIEditor # -- Define the reusable StringListEditor class and its helper classes -------- # Define the tabular adapter used by the Traits UI string list editor: class MultiSelectAdapter(TabularAdapter): # The columns in the table (just the string value): columns = [('Value', 'value')] # The text property used for the 'value' column: value_text = Property() def _get_value_text(self): return self.item # Define the actual Traits UI string list editor: class _StringListEditor(UIEditor): # Indicate that the editor is scrollable/resizable: scrollable = True # The list of available editor choices: choices = List(Str) # The list of currently selected items: selected = List(Str) # The traits UI view used by the editor: traits_view = View( Item( 'choices', show_label=False, editor=TabularEditor( show_titles=False, selected='selected', editable=False, multi_select=True, adapter=MultiSelectAdapter() ) ), id='string_list_editor', resizable=True ) def init_ui(self, parent): self.sync_value(self.factory.choices, 'choices', 'from', is_list=True) self.selected = self.value return self.edit_traits(parent=parent, kind='subpanel') @observe('selected') def _selected_modified(self, event): self.value = self.selected # Define the StringListEditor class used by client code: class StringListEditor(BasicEditorFactory): # The editor implementation class: klass = _StringListEditor # The extended trait name containing the editor's set of choices: choices = Str() # -- Define the demo class ---------------------------------------------------- class MultiSelect(HasPrivateTraits): """ This class demonstrates using the StringListEditor to select a set of string values from a set of choices. """ # The list of choices to select from: choices = List(Str) # The currently selected list of choices: selected = List(Str) # A dummy result so that we can display the selection using the same # StringListEditor: result = List(Str) # A traits view showing the list of choices on the left-hand side, and # the currently selected choices on the right-hand side: traits_view = View( HGroup( Item( 'selected', show_label=False, editor=StringListEditor(choices='choices') ), Item( 'result', show_label=False, editor=StringListEditor(choices='selected') ) ), width=0.20, height=0.25 ) # Create the demo: demo = MultiSelect( choices=[ 'one', 'two', 'three', 'four', 'five', 'six', 'seven', 'eight', 'nine', 'ten' ], selected=['two', 'five', 'nine'] ) # Run the demo (if invoked from the command line): if __name__ == '__main__': demo.configure_traits() traitsui-7.2.1/traitsui/examples/demo/Advanced/Date_editor_demo.py0000644000076500000240000000574114046644454025732 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! """ **WARNING** This demo might not work as expected and some documented features might be missing. ------------------------------------------------------------------------------- Implementation of a DateEditor demo plugin for Traits UI demo program. This demo shows a few different styles of the DateEditor and how it can be customized. """ # Issue related to the demo warning: enthought/traitsui#962 from traits.api import HasTraits, Date, List, Str from traitsui.api import View, Item, DateEditor, Group class DateEditorDemo(HasTraits): """ Demo class to show Date editors. """ single_date = Date() multi_date = List(Date) info_string = Str('The editors for Traits Date objects. Showing both ' 'the defaults, and one with alternate options.') multi_select_editor = DateEditor( allow_future=False, multi_select=True, shift_to_select=False, on_mixed_select='max_change', # Qt ignores these setting and always shows only 1 month: months=2, padding=30, ) traits_view = View( Item('info_string', show_label=False, style='readonly'), Group( Item('single_date', label='Simple date editor'), Item('single_date', style='custom', label='Default custom editor'), Item( 'single_date', style='readonly', editor=DateEditor( strftime='You picked %B %d %Y', message='Click a date above.' ), label='ReadOnly editor' ), label='Default settings for editors' ), Group( Item( 'multi_date', editor=multi_select_editor, style='custom', label='Multi-select custom editor' ), label='More customized editor: multi-select; disallow ' 'future; selection style; etc.' ), resizable=True ) def _multi_date_changed(self): """ Print each time the date value is changed in the editor. """ print(self.multi_date) def _simple_date_changed(self): """ Print each time the date value is changed in the editor. """ print(self.simple_date, self.single_date) def _single_date_changed(self): """ Print each time the date value is changed in the editor. """ print(self.single_date) # -- Set Up The Demo ------------------------------------------------------ demo = DateEditorDemo() if __name__ == "__main__": demo.configure_traits() traitsui-7.2.1/traitsui/examples/demo/Advanced/ListStrEditor_demo.py0000644000076500000240000000325114046644454026254 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! """ Edit a List of Strings Simple demonstration of the ListStrEditor, which can be used for editing and displaying lists of strings, or other data that can be logically mapped to a list of strings. """ from traits.api import HasTraits, List, Str from traitsui.api import View, Item, ListStrEditor #-- ShoppingListDemo Class ----------------------------------------------- class ShoppingListDemo(HasTraits): # The list of things to buy at the store: shopping_list = List(Str) #-- Traits View Definitions ---------------------------------------------- view = View( Item('shopping_list', show_label=False, editor=ListStrEditor(title='Shopping List', auto_add=True) ), title='Shopping List', width=0.2, height=0.5, resizable=True ) #-- Set up the Demo ------------------------------------------------------ demo = ShoppingListDemo(shopping_list=[ 'Carrots', 'Potatoes (5 lb. bag)', 'Cocoa Puffs', 'Ice Cream (French Vanilla)', 'Peanut Butter', 'Whole wheat bread', 'Ground beef (2 lbs.)', 'Paper towels', 'Soup (3 cans)', 'Laundry detergent' ]) # Run the demo (in invoked from the command line): if __name__ == '__main__': demo.configure_traits() traitsui-7.2.1/traitsui/examples/demo/Advanced/Table_editor_with_context_menu_demo.py0000644000076500000240000001167314046644454031730 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! """ Defining column-specific context menu in a Table Shows a TableEditor which has column-specific context menus. The demo is a simple baseball scoring system, which lists each player and their current batting statistics. After a given player has an at bat, you right-click on the table cell corresponding to the player and the result of the at-bat (e.g. 'S' = single) and select the 'Add' menu option to register that the player hit a single and update the player's overall statistics. This demo also illustrates the use of Property traits, and how using 'event' meta-data can simplify event handling by collapsing an event that can occur on a number of traits into a category of event, which can be handled by a single event handler defined for the category (in this case, the category is 'affects_average'). """ from random import randint from traits.api import HasStrictTraits, Str, Int, Float, List, Property from traitsui.api import Action, Item, Menu, ObjectColumn, TableEditor, View # Define a custom table column for handling items which affect the player's # batting average: class AffectsAverageColumn(ObjectColumn): # Define the context menu for the column: menu = Menu(Action(name='Add', action='column.add(object)'), Action(name='Sub', action='column.sub(object)')) # Right-align numeric values (override): horizontal_alignment = 'center' # Column width (override): width = 0.09 # Don't allow the data to be edited directly: editable = False # Action methods for the context menu items: def add(self, object): """ Increment the affected player statistic. """ setattr(object, self.name, getattr(object, self.name) + 1) def sub(self, object): """ Decrement the affected player statistic. """ setattr(object, self.name, getattr(object, self.name) - 1) # The 'players' trait table editor: player_editor = TableEditor( editable=True, sortable=False, auto_size=False, columns=[ ObjectColumn(name='name', editable=False, width=0.28), AffectsAverageColumn(name='at_bats', label='AB'), AffectsAverageColumn(name='strike_outs', label='SO'), AffectsAverageColumn(name='singles', label='S'), AffectsAverageColumn(name='doubles', label='D'), AffectsAverageColumn(name='triples', label='T'), AffectsAverageColumn(name='home_runs', label='HR'), AffectsAverageColumn(name='walks', label='W'), ObjectColumn( name='average', label='Ave', editable=False, width=0.09, horizontal_alignment='center', format='%0.3f' ) ] ) # 'Player' class: class Player(HasStrictTraits): # Trait definitions: name = Str() at_bats = Int() strike_outs = Int(event='affects_average') singles = Int(event='affects_average') doubles = Int(event='affects_average') triples = Int(event='affects_average') home_runs = Int(event='affects_average') walks = Int() average = Property(Float) def _get_average(self): """ Computes the player's batting average from the current statistics. """ if self.at_bats == 0: return 0.0 return float(self.singles + self.doubles + self.triples + self.home_runs) / self.at_bats def _affects_average_changed(self): """ Handles an event that affects the player's batting average. """ self.at_bats += 1 class Team(HasStrictTraits): # Trait definitions: players = List(Player) # Trait view definitions: traits_view = View( Item('players', show_label=False, editor=player_editor), title='Baseball Scoring Demo', width=0.5, height=0.5, resizable=True ) def random_player(name): """ Generates and returns a random player. """ p = Player( name=name, strike_outs=randint(0, 50), singles=randint(0, 50), doubles=randint(0, 20), triples=randint(0, 5), home_runs=randint(0, 30), walks=randint(0, 50) ) return p.trait_set( at_bats=( p.strike_outs + p.singles + p.doubles + p.triples + p.home_runs + randint(100, 200) ) ) # Create the demo: demo = Team( players=[ random_player(name) for name in [ 'Dave', 'Mike', 'Joe', 'Tom', 'Dick', 'Harry', 'Dirk', 'Fields', 'Stretch' ] ] ) # Run the demo (if invoked from the command line): if __name__ == '__main__': demo.configure_traits() traitsui-7.2.1/traitsui/examples/demo/Advanced/Dynamic_EnumEditor_demo.py0000644000076500000240000001131414046644454027217 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! """ Dynamic changing an Enum selection list, depending on checked items Another way to dynamically change the values shown by an EnumEditor. The scenario is a restaurant that at the beginning of the day has a menu list of entrees based upon a fully stocked kitchen. However, as the day progresses, the kitchen's larder gets depleted, and the kitchen may no longer be able to prepare certain entrees, which must then be deleted from the menu. Similarly, deliveries may allow certain entrees to be added back onto the menu. The demo is divided into two tabs: Order and Kitchen. The Order tab represents a customer's order and consists of a single Entree field, which represents the customer's selection from the drop-down list of entrees that the kitchen can currently prepare. The Kitchen tab represents the current set of entrees that the kitchen can prepare, based upon the current contents of its larder. As entrees are checked on or off from the Kitchen tab, the customer's Entree drop-down is dynamically updated with the current list of available entrees. Notes: - The key point of the demo is the use of the 'name' trait in the EnumEditor definition, which links the list of available entrees from the KitchenCapabilities object to the OrderMenu object's entree EnumEditor. - The user can freely type any value they want, but only items in the capabilities will be accepted, due to the use of the 'values' argument to the Enum trait. This will be updated as the capabilities change. - With the Qt backend, the user can type text and it will be auto-completed to valid values as a the user types. The Wx backend doesn't support this capability in the underlying toolkit. - The design will work with any number of active OrderMenu objects, since they all share a common KitchenCapabilities object. As the KitchenCapabilities object is updated, all OrderMenu UI's will automatically update their associated Entree's drop-down list. - A careful reader will also observe that this example contains only declarative code. No imperative code is required to handle the automatic updating of the Entree list. """ from traits.api import Enum, HasPrivateTraits, List, Constant from traitsui.api import ( View, Item, VGroup, HSplit, EnumEditor, CheckListEditor ) #-- The list of possible entrees ----------------------------------------- possible_entrees = [ 'Chicken Fried Steak', 'Chicken Fingers', 'Chicken Enchiladas', 'Cheeseburger', 'Pepper Steak', 'Beef Tacos', 'Club Sandwich', 'Ceasar Salad', 'Cobb Salad' ] #-- The KitchenCapabilities class ---------------------------------------- class KitchenCapabilities(HasPrivateTraits): # The current set of entrees the kitchen can make (based on its larder): available = List(possible_entrees) # The KitchenCapabilities are shared by all waitstaff taking orders: kitchen_capabilities = KitchenCapabilities() #-- The OrderMenu class -------------------------------------------------- class OrderMenu(HasPrivateTraits): # The person's entree order: entree = Enum(values='capabilities.available') # Reference to the restaurant's current entree capabilities: capabilities = Constant(kitchen_capabilities) # The user interface view: view = View( HSplit( VGroup( Item('entree', editor=EnumEditor( name='object.capabilities.available', evaluate=str, completion_mode='popup', ) ), label='Order', show_border=True, dock='tab' ), VGroup( Item('object.capabilities.available', show_label=False, style='custom', editor=CheckListEditor(values=possible_entrees) ), label='Kitchen', show_border=True, dock='tab' ) ), title='Dynamic EnumEditor Demo', resizable=True, ) #------------------------------------------------------------------------- # Create the demo: demo = OrderMenu() # Run the demo (if invoked from the command line): if __name__ == '__main__': demo.configure_traits() print(demo.entree) traitsui-7.2.1/traitsui/examples/demo/Advanced/Apply_Revert_handler_demo.py0000644000076500000240000000511614046644454027614 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! """ Apply / Revert Provides support in a dialog box for an "Apply" button which modifies the object being viewed, and a "Revert" button, which returns the object to its starting state (before any "Apply"). Note that this does not automatically provide a full (multi-step incremental) Undo capability. """ from traits.api import HasTraits, Str, List from traitsui.api import Item, View, Handler, HGroup, VGroup, TextEditor class ApplyRevert_Handler(Handler): def apply(self, info): print('apply called...') object = info.object object.stack.insert(0, object.input) object.queue.append(object.input) def revert(self, info): # Do something exciting here... print('revert called...') class ApplyRevertDemo(HasTraits): # Trait definitions: input = Str() stack = List() queue = List() # Traits view definitions: traits_view = View( VGroup( VGroup( Item('input', show_label=False, editor=TextEditor(auto_set=True) ), label='Input', show_border=True ), HGroup( VGroup( Item('stack', show_label=False, height=50, width=100, style='readonly' ), label='Stack', show_border=True ), VGroup( Item('queue', show_label=False, height=50, width=100, style='readonly' ), label='Queue', show_border=True ) ) ), resizable=True, height=300, title='Apply/Revert example', buttons=['Apply', 'Revert'], handler=ApplyRevert_Handler ) # Create the demo: modal_popup = ApplyRevertDemo() # Run the demo (if invoked from the command line): if __name__ == '__main__': modal_popup.configure_traits(kind='modal') traitsui-7.2.1/traitsui/examples/demo/Advanced/Invalid_state_handling.py0000644000076500000240000001264514046644454027136 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! """ Sometimes the inputs to a model are not correlated. That is, any valid model input produces a corresponding valid model state. However, in other cases, some or all of the model inputs are correlated. That is, there may exist one or more combinations of individually valid model inputs which produce invalid model states. In cases where this can happen, it is very often desirable to warn the user if a particular combination of input values will not produce a usable result. This problem cannot be solved solely though the use of carefully chosen trait types and editors, because each individual input may be valid, but it is the combination of inputs which is invalid. Solving this problem therefore typically requires providing a way of determining whether or not the model is in a valid state, and then communicating that information to the user via the user interface. This demonstration provides an example of doing this using the TraitEditor's 'invalid' trait. Each trait editor has an 'invalid' trait which can be set equal to the name of a trait in the user interface context which contains a boolean value reflecting whether or not the user interface (and underlying model) are in a invalid state or not. A True value for the trait indicates that the editor's current value produces an invalid model state. By associating the same 'invalid' trait with one or more editors in the user interface, the resulting user interface can indicate to the user which combination of input values is producing the invalid state. In this example, we have a very simple model which allows the user to control the mass and velocity of a system. The model also defines the kinetic energy of the resulting system. For safety reasons, the kinetic energy of the system should not exceed a certain threshold. If it does, the user should be warned so that they can reduce either or both of the system mass and velocity back down to a safe level. In the model, an 'error' property is defined which is True whenever the kinetic energy level of the system exceeds the safety threshold. This trait is then synchronized with the user interface's 'mass', velocity' and 'status' editors, turning them red whenever the model enters an invalid state. The 'status' trait is another property, based on the 'error' trait, which provides a human readable description of the current system state. Note that in this example, we synchronize the 'error' trait with the user interface using 'sync_to_view' metadata, whose value is a list of user interface editor traits the trait should be synchronized 'to' (i.e. changes to the 'error' trait will be copied to the corresponding trait in the editor, but not vice versa). We could also have explicitly set the 'invalid' trait of each corresponding editor in the view definition to 'error' as well. To use the demo, simply use the 'mass' and 'velocity' sliders and observe the changes to the 'kinetic_energy' of the system. When the kinetic energy exceeds 50,000, notice how the 'mass', 'velocity' and 'status' fields turn red, and that when the kinetic energy drops below 50,000, the fields return to their normal color. """ #-- Imports -------------------------------------------------------------- from traits.api \ import HasTraits, Range, Float, Bool, Str, Property, property_depends_on from traitsui.api \ import View, VGroup, Item #-- System Class --------------------------------------------------------- class System(HasTraits): # The mass of the system: mass = Range(0.0, 100.0) # The velocity of the system: velocity = Range(0.0, 100.0) # The kinetic energy of the system: kinetic_energy = Property(Float) # The current error status of the system: error = Property( Bool, sync_to_view='mass.invalid, velocity.invalid, status.invalid') # The current status of the system: status = Property(Str) view = View( VGroup( VGroup( Item('mass'), Item('velocity'), Item('kinetic_energy', style='readonly', format_str='%.0f' ), label='System', show_border=True), VGroup( Item('status', style='readonly', show_label=False ), label='Status', show_border=True ), ) ) @property_depends_on('mass, velocity') def _get_kinetic_energy(self): return (self.mass * self.velocity * self.velocity) / 2.0 @property_depends_on('kinetic_energy') def _get_error(self): return (self.kinetic_energy > 50000.0) @property_depends_on('error') def _get_status(self): if self.error: return 'The kinetic energy of the system is too high.' return '' #-- Create and run the demo ---------------------------------------------- # Create the demo: demo = System() # Run the demo (if invoked from the command line): if __name__ == '__main__': demo.configure_traits() traitsui-7.2.1/traitsui/examples/demo/Advanced/NumPy_array_view_editor_demo.py0000644000076500000240000000561214046644454030352 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! """ Using ArrayViewEditor to display large NumPy arrays in a table. This example displays 100,000 random 3D points from a unit cube. Note that the ArrayViewEditor has the following traits:: # Should an index column be displayed: show_index = Bool(True) # List of (optional) column titles: titles = List(Str) # Should the array be logically transposed: transpose = Bool(False) # The format used to display each array element: format = Str('%s') By default, the array row index will be shown in column one. If 'show_index' is False, then the row index column is omitted. If the list of 'titles' is empty, no column headers will be displayed. If the number of column headers is less than the number of array columns, then there are two cases: - If (number of array_columns) % (number of titles) == 0, then the titles are used to construct a series of repeating column headers with increasing subscripts (e.g. an (n x 6) array with titles of ['x','y','z'] would result in column headers of: 'x0', 'y0', 'z0', 'x1', 'y1', 'z1'). - In all other cases the titles are used as the column headers for the first set of columns, and the remaining column headers are set to the empty string (e.g. an (n x 5) array with titles of ['x','y','z'] would result in column headers of: 'x', 'y', 'z', '', ''). Setting 'transpose' to True will logically transpose the input array (e.g. an (3 x n) array will be displayed as an (n x 3) array). """ from numpy.random import random from traits.api import HasTraits, Array from traitsui.api import View, Item from traitsui.ui_editors.array_view_editor import ArrayViewEditor #-- ShowArray demo class ------------------------------------------------- class ShowArray(HasTraits): data = Array view = View( Item('data', show_label=False, editor=ArrayViewEditor(titles=['x', 'y', 'z'], format='%.4f', # Font fails with wx in OSX; # see traitsui issue #13: # font = 'Arial 8' ) ), title='Array Viewer', width=0.3, height=0.8, resizable=True ) #-- Run the demo --------------------------------------------------------- # Create the demo: demo = ShowArray(data=random((100000, 3))) # Run the demo (if invoked from the command line): if __name__ == '__main__': demo.configure_traits() traitsui-7.2.1/traitsui/examples/demo/Advanced/Tabular_editor_demo.py0000644000076500000240000002530714046644454026447 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! """ **WARNING** This demo might not work as expected and some documented features might be missing. ------------------------------------------------------------------------------- Tabular editor The TabularEditor can be used for many of the same purposes as the TableEditor, that is, for displaying a table of attributes of lists or arrays of objects. While similar in function, the tabular editor has advantages and disadvantages relative to the table editor. See the Traits UI User Manual for details. This example defines three classes: - *Person*: A single person. - *MarriedPerson*: A married person (subclass of Person). - *Report*: Defines a report based on a list of single and married people. It creates a tabular display of 10,000 single and married people showing the following information: - Name of the person. - Age of the person. - The person's address. - The name of the person's spouse (if any). In addition: - It uses a Courier 10 point font for each line in the table. - It displays age column right, instead of left, justified. - If the person is a minor (age < 18) and married, it displays a red flag image in the age column. - If the person is married, it makes the background color for that row a light blue. - If this demo is running under QT, it displays each person's surname in a row label. This example demonstrates: - How to set up a *TabularEditor*. - The display speed of the *TabularEditor*. - How to create a *TabularAdapter* that meets each of the specified display requirements. Additional notes: - You can change the current selection using the up and down arrow keys. - If the demo is running under WX, you can move a selected row up and down in the table using the left and right arrow keys. - If the demo is running under QT, you can move rows by clicking and dragging. Hopefully, this simple example conveys some of the power and flexibility that the `TabularAdapter` class provides you. But, just in case it doesn't, let's go over some of the more interesting details: - Note the values in the `~TabularAdapter.columns` trait. The first three values define *column ids* which map directly to traits defined on our data objects, while the last one defines an arbitrary string which we define so that we can reference it in the `MarriedPerson_spouse_text` and `Person_spouse_text` trait definitions. - Since the font we want to use applies to all table rows, we just specify a new default value for the existing `TabularAdapter.font` trait. - Since we only want to override the default left alignment for the age column, we simply define an `age_alignment` trait as a constant ``'right'`` value. We could have also used ``age_alignment = Str('right')``, but `Constant` never requires storage to be used in an object. - We define the `MarriedPerson_age_image` property to handle putting the ``'red flag'`` image in the age column. By including the class name of the items it applies to, we only need to check the `age` value in determining what value to return. - Similary, we use the `MarriedPerson_bg_color` trait to ensure that each `MarriedPerson` object has the correct background color in the table. - Finally, we use the `MarriedPerson_spouse_text` and `Person_spouse_text` traits, one a property and the other a simple constant value, to determine what text to display in the *Spouse* column for the different object types. Note that even though a `MarriedPerson` is both a `Person` and a `MarriedPerson`, it will correctly use the `MarriedPerson_spouse_text` trait since the search for a matching trait is always made in *mro* order. Although this is completely subjective, some of the things that the author feels stand out about this approach are: - The class definition is short and sweet. Less code is good. - The bulk of the code is declarative. Less room for logic errors. - There is only one bit of logic in the class (the ``if`` statement in the `MarriedPerson_age_image` property implementation). Again, less logic usually translates into more reliable code). - The defined traits and even the property implementation method names read very descriptively. `_get_MarriedPerson_age_image` pretty much says what you would write in a comment or doc string. The implementation almost is the documentation. """ # Issue related to the demo warning: enthought/traitsui#960 from functools import partial from random import randint, choice, shuffle from traits.api import HasTraits, Str, Int, List, Instance, Property, Constant from traits.etsconfig.api import ETSConfig from traitsui.api import ( View, Group, Item, TabularAdapter, TabularEditor, Color ) # -- Person Class Definition ---------------------------------------------- class Person(HasTraits): name = Str() address = Str() age = Int() # surname is displayed in qt-only row label: surname = Property(fget=lambda self: self.name.split()[-1], observe='name') # -- MarriedPerson Class Definition --------------------------------------- class MarriedPerson(Person): partner = Instance(Person) # -- Tabular Adapter Definition ------------------------------------------- class ReportAdapter(TabularAdapter): """ The tabular adapter interfaces between the tabular editor and the data being displayed. For more details, please refer to the traitsUI user guide. """ # List of (Column labels, Column ID). columns = [('Name', 'name'), ('Age', 'age'), ('Address', 'address'), ('Spouse', 'spouse')] row_label_name = 'surname' # Interfacing between the model and the view: make some of the cell # attributes a property whose behavior is then controlled by the get # (and optionally set methods). The cell is identified by its column # ID (age, spouse). # Overwrite default value font = 'Courier 10' age_alignment = Constant('right') MarriedPerson_age_image = Property() MarriedPerson_bg_color = Color(0xE0E0FF) MarriedPerson_spouse_text = Property() Person_spouse_text = Constant('') def _get_MarriedPerson_age_image(self): if self.item.age < 18: return '@icons:red_ball' return None def _get_MarriedPerson_spouse_text(self): return self.item.partner.name # -- Tabular Editor Definition -------------------------------------------- # The tabular editor works in conjunction with an adapter class, derived from # TabularAdapter. tabular_editor = TabularEditor( adapter=ReportAdapter(), operations=['move', 'edit'], # Row titles are not supported in WX: show_row_titles=ETSConfig.toolkit == 'qt4', ) # -- Report Class Definition ---------------------------------------------- class Report(HasTraits): people = List(Person) traits_view = View( Group( Item('people', id='table', editor=tabular_editor), show_labels=False ), title='Tabular Editor Demo', id='traitsui.demo.Applications.tabular_editor_demo', width=0.60, height=0.75, resizable=True ) # -- Generate 10,000 random single and married people --------------------- male_names = [ 'Michael', 'Edward', 'Timothy', 'James', 'George', 'Ralph', 'David', 'Martin', 'Bryce', 'Richard', 'Eric', 'Travis', 'Robert', 'Bryan', 'Alan', 'Harold', 'John', 'Stephen', 'Gael', 'Frederic', 'Eli', 'Scott', 'Samuel', 'Alexander', 'Tobias', 'Sven', 'Peter', 'Albert', 'Thomas', 'Horatio', 'Julius', 'Henry', 'Walter', 'Woodrow', 'Dylan', 'Elmer' ] female_names = [ 'Leah', 'Jaya', 'Katrina', 'Vibha', 'Diane', 'Lisa', 'Jean', 'Alice', 'Rebecca', 'Delia', 'Christine', 'Marie', 'Dorothy', 'Ellen', 'Victoria', 'Elizabeth', 'Margaret', 'Joyce', 'Sally', 'Ethel', 'Esther', 'Suzanne', 'Monica', 'Hortense', 'Samantha', 'Tabitha', 'Judith', 'Ariel', 'Helen', 'Mary', 'Jane', 'Janet', 'Jennifer', 'Rita', 'Rena', 'Rianna' ] all_names = male_names + female_names male_name = partial(choice, male_names) female_name = partial(choice, female_names) any_name = partial(choice, all_names) age = partial(randint, 15, 72) def family_name(): return choice([ 'Jones', 'Smith', 'Thompson', 'Hayes', 'Thomas', 'Boyle', "O'Reilly", 'Lebowski', 'Lennon', 'Starr', 'McCartney', 'Harrison', 'Harrelson', 'Steinbeck', 'Rand', 'Hemingway', 'Zhivago', 'Clemens', 'Heinlien', 'Farmer', 'Niven', 'Van Vogt', 'Sturbridge', 'Washington', 'Adams', 'Bush', 'Kennedy', 'Ford', 'Lincoln', 'Jackson', 'Johnson', 'Eisenhower', 'Truman', 'Roosevelt', 'Wilson', 'Coolidge', 'Mack', 'Moon', 'Monroe', 'Springsteen', 'Rigby', "O'Neil", 'Philips', 'Clinton', 'Clapton', 'Santana', 'Midler', 'Flack', 'Conner', 'Bond', 'Seinfeld', 'Costanza', 'Kramer', 'Falk', 'Moore', 'Cramdon', 'Baird', 'Baer', 'Spears', 'Simmons', 'Roberts', 'Michaels', 'Stuart', 'Montague', 'Miller' ]) def address(): number = randint(11, 999) text_1 = choice([ 'Spring', 'Summer', 'Moonlight', 'Winding', 'Windy', 'Whispering', 'Falling', 'Roaring', 'Hummingbird', 'Mockingbird', 'Bluebird', 'Robin', 'Babbling', 'Cedar', 'Pine', 'Ash', 'Maple', 'Oak', 'Birch', 'Cherry', 'Blossom', 'Rosewood', 'Apple', 'Peach', 'Blackberry', 'Strawberry', 'Starlight', 'Wilderness', 'Dappled', 'Beaver', 'Acorn', 'Pecan', 'Pheasant', 'Owl' ]) text_2 = choice([ 'Way', 'Lane', 'Boulevard', 'Street', 'Drive', 'Circle', 'Avenue', 'Trail' ]) return '%d %s %s' % (number, text_1, text_2) people = [ Person( name='%s %s' % (any_name(), family_name()), age=age(), address=address() ) for i in range(5000) ] marrieds = [ ( MarriedPerson( name='%s %s' % (female_name(), last_name), age=age(), address=address ), MarriedPerson( name='%s %s' % (male_name(), last_name), age=age(), address=address ) ) for last_name, address in [ (family_name(), address()) for i in range(2500) ] ] for female, male in marrieds: female.partner = male male.partner = female people.extend([female, male]) shuffle(people) # Create the demo: demo = Report(people=people) # Run the demo (if invoked from the command line): if __name__ == '__main__': demo.configure_traits() traitsui-7.2.1/traitsui/examples/demo/Advanced/History_demo.py0000644000076500000240000000505714046644454025150 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! """ This program demonstrates the use of editors that support *history*. A history is a persistent record of the last 'n' values the user has entered or selected for a particular trait. In order for the history to be recorded correctly, you must specify an *id* for both the Item containing the history editor and the View containing the Item. The maximum number of history entries recorded is specified by the value of the history editor's *entries* trait. If *entries* is less than or equal to 0, then a normal, non-history, version of the editor will be used. A history editor also attempts to restore the last value set as the current value for the trait if the current value of the trait is the empty string. You can see this for yourself by setting some values in the fields, selecting a different demo, then reselecting this demo. Each field should have the same value it had when the demo was run the previous time. """ #-- Imports -------------------------------------------------------------- from traits.api \ import HasTraits, Str, File, Directory from traitsui.api \ import View, Item, FileEditor, DirectoryEditor, HistoryEditor #-- HistoryDemo Class ---------------------------------------------------- class HistoryDemo(HasTraits): name = Str() file = File() directory = Directory() view = View( Item('name', id='name', editor=HistoryEditor(entries=5) ), Item('file', id='file1', editor=FileEditor(entries=10) ), Item('file', id='file2', editor=FileEditor(entries=10, filter=['All files (*.*)|*.*', 'Python files (*.py)|*.py']) ), Item('directory', id='directory', editor=DirectoryEditor(entries=10) ), title='History Editor Demo', id='enthought.test.history_demo.HistoryDemo', width=0.33, resizable=True ) # Create the demo: demo = HistoryDemo() # Run the demo (if invoked from the command line): if __name__ == '__main__': demo.configure_traits() traitsui-7.2.1/traitsui/examples/demo/Advanced/Table_editor_with_checkbox_column.py0000644000076500000240000000725614046644454031361 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! """ This shows a table editor which has a checkbox column in addition to normal data columns. """ from random import randint from traits.api import HasStrictTraits, Str, Int, Float, List, Bool, Property from traitsui.api import Item, ObjectColumn, TableEditor, View from traitsui.extras.checkbox_column import CheckboxColumn # Create a specialized column to set the text color differently based upon # whether or not the player is in the lineup: class PlayerColumn(ObjectColumn): # Override some default settings for the column: width = 0.08 horizontal_alignment = 'center' def get_text_color(self, object): if object.in_lineup: return 'black' return 'light grey' # The 'players' trait table editor: player_editor = TableEditor( sortable=False, configurable=False, auto_size=False, selected_indices='selected_player_indices', columns=[ CheckboxColumn(name='in_lineup', label='In Lineup', width=0.12), PlayerColumn( name='name', editable=False, width=0.24, horizontal_alignment='left' ), PlayerColumn(name='at_bats', label='AB'), PlayerColumn(name='strike_outs', label='SO'), PlayerColumn(name='singles', label='S'), PlayerColumn(name='doubles', label='D'), PlayerColumn(name='triples', label='T'), PlayerColumn(name='home_runs', label='HR'), PlayerColumn(name='walks', label='W'), PlayerColumn( name='average', label='Ave', editable=False, format='%0.3f' ) ] ) class Player(HasStrictTraits): # Trait definitions: in_lineup = Bool(True) name = Str() at_bats = Int() strike_outs = Int() singles = Int() doubles = Int() triples = Int() home_runs = Int() walks = Int() average = Property(Float) def _get_average(self): """ Computes the player's batting average from the current statistics. """ if self.at_bats == 0: return 0.0 return float(self.singles + self.doubles + self.triples + self.home_runs) / self.at_bats class Team(HasStrictTraits): # Trait definitions: players = List(Player) selected_player_indices = List() # Trait view definitions: traits_view = View( Item('players', show_label=False, editor=player_editor), title='Baseball Team Roster Demo', width=0.5, height=0.5, resizable=True ) def random_player(name): """ Generates and returns a random player. """ p = Player( name=name, strike_outs=randint(0, 50), singles=randint(0, 50), doubles=randint(0, 20), triples=randint(0, 5), home_runs=randint(0, 30), walks=randint(0, 50) ) return p.trait_set( at_bats=( p.strike_outs + p.singles + p.doubles + p.triples + p.home_runs + randint(100, 200) ) ) # Create the demo: demo = Team( players=[ random_player(name) for name in [ 'Dave', 'Mike', 'Joe', 'Tom', 'Dick', 'Harry', 'Dirk', 'Fields', 'Stretch' ] ] ) # Run the demo (if invoked from the command line): if __name__ == '__main__': demo.configure_traits() traitsui-7.2.1/traitsui/examples/demo/Advanced/Multi_thread_demo.py0000644000076500000240000000433014046644454026121 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! """ Monitoring threads in the user interface Shows a simple user interface being updated by multiple threads. When the *Start Threads* button is pressed, the program starts three independent threads running. Each thread counts from 0 to 199, updating its own thread-specific trait, and performs a sleep of a thread-specific duration between each update. The *Start Threads* button is disabled while the threads are running, and becomes active again once all threads have finished running. """ from threading import Thread from time import sleep from traits.api import HasTraits, Int, Button from traitsui.api import View, Item, VGroup class ThreadDemo(HasTraits): # The thread specific counters: thread_0 = Int() thread_1 = Int() thread_2 = Int() # The button used to start the threads running: start = Button('Start Threads') # The count of how many threads ae currently running: running = Int() view = View( VGroup( Item('thread_0', style='readonly'), Item('thread_1', style='readonly'), Item('thread_2', style='readonly'), ), '_', Item('start', show_label=False, enabled_when='running == 0'), resizable=True, width=250, title='Monitoring threads' ) def _start_changed(self): for i in range(3): Thread(target=self.counter, args=('thread_%d' % i, (i * 10 + 10) / 1000.0)).start() def counter(self, name, interval): self.running += 1 count = 0 for i in range(200): setattr(self, name, count) count += 1 sleep(interval) self.running -= 1 # Create the demo: demo = ThreadDemo() # Run the demo (if invoked from the command line): if __name__ == '__main__': demo.configure_traits() traitsui-7.2.1/traitsui/examples/demo/Advanced/Dynamically_changing_buttons_demo.py0000644000076500000240000000466614046644454031376 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! """ This demo shows how to dynamically change the label or image of a button. Note in this demo clicking the button itself does nothing. Please refer to the `ButtonEditor API docs`_ for further information. .. _ButtonEditor API docs: https://docs.enthought.com/traitsui/api/traitsui.editors.button_editor.html#traitsui.editors.button_editor.ButtonEditor """ from pyface.api import Image, ImageResource from traits.api import Button, Enum, HasTraits, Instance, List, Str from traitsui.api import ( ButtonEditor, Group, ImageEditor, InstanceChoice, InstanceEditor, Item, UItem, View ) import traitsui.extras class ImageChoice(InstanceChoice): def get_view(self): return View( UItem('name', editor=ImageEditor(image=self.object)) ) class ButtonEditorDemo(HasTraits): my_button = Button() my_button_label = Str("Initial Label") my_button_image = Image() my_button_image_options = List( Image(), value=[ ImageResource("run", [traitsui.extras]), ImageResource("previous", [traitsui.extras]), ImageResource("next", [traitsui.extras]), ImageResource("parent", [traitsui.extras]), ImageResource("reload", [traitsui.extras]) ] ) def _my_button_image_default(self): return self.my_button_image_options[0] traits_view = View( Item( "my_button", style="custom", editor=ButtonEditor( label_value="my_button_label", image_value="my_button_image", orientation="horizontal" ) ), Item("my_button_label"), Item( "my_button_image", editor=InstanceEditor( name="my_button_image_options", adapter=ImageChoice ), style="custom" ) ) # Create the demo: demo = ButtonEditorDemo() # Run the demo (if invoked from the command line): if __name__ == '__main__': demo.configure_traits() traitsui-7.2.1/traitsui/examples/demo/Advanced/Date_range_editor_demo.py0000644000076500000240000000302114046644454027073 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! """ Implementation of a DateRangeEditor demo plugin for Traits UI demo program. This demo shows a custom style DateRangeEditor. Note that this demo only works with qt backend. """ # Issue related to the demo warning: enthought/traitsui#962 from traits.api import HasTraits, Date, Tuple from traits.etsconfig.api import ETSConfig from traitsui.api import View, Item, DateRangeEditor, Group class DateRangeEditorDemo(HasTraits): """ Demo class to show DateRangeEditor. """ date_range = Tuple(Date, Date) traits_view = View( Group( Item( 'date_range', editor=DateRangeEditor(), style='custom', label='Date range' ), label='Date range' ), resizable=True ) def _date_range_changed(self): print(self.date_range) # -- Set Up The Demo ------------------------------------------------------ if __name__ == "__main__": if ETSConfig.toolkit == "qt4": # DateRangeEditor is currently only available for qt backend. demo = DateRangeEditorDemo() demo.configure_traits() traitsui-7.2.1/traitsui/examples/demo/Advanced/Statusbar_demo.py0000644000076500000240000000530014046644454025446 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! """ Displaying a statusbar in a Traits UI A statusbar may contain one or more fields, of fixed or variable size. Fixed width fields are specified in pixels, while variable width fields are specified as fractional values relative to other variable width fields. The content of a statusbar field is specified via the extended trait name of the object attribute that will contain the statusbar information. In this example, there are two statusbar fields: - The current length of the text input data (variable width) - The current time (fixed width, updated once per second). Note the use of a timer thread to update the status bar once per second. """ from time import sleep, strftime from threading import Thread from traits.api import HasPrivateTraits, Str, Property from traitsui.api import View, Item, StatusItem, Label #-- The demo class ------------------------------------------------------- class TextEditor(HasPrivateTraits): # The text being edited: text = Str() # The current length of the text being edited: length = Property(observe='text') # The current time: time = Str() # The view definition: view = View( Label('Type into the text editor box:'), Item('text', style='custom', show_label=False), title='Text Editor', id='traitsui.demo.advanced.statusbar_demo', width=0.4, height=0.4, resizable=True, statusbar=[StatusItem(name='length', width=0.5), StatusItem(name='time', width=85)] ) #-- Property Implementations --------------------------------------------- def _get_length(self): return ('Length: %d characters' % len(self.text)) #-- Default Trait Values ------------------------------------------------- def _time_default(self): thread = Thread(target=self._clock) thread.daemon = True thread.start() return '' #-- Private Methods ------------------------------------------------------ def _clock(self): """ Update the statusbar time once every second. """ while True: self.time = strftime('%I:%M:%S %p') sleep(1.0) # Create the demo object: popup = TextEditor() # Run the demo (if invoked from the command line): if __name__ == '__main__': popup.configure_traits() traitsui-7.2.1/traitsui/examples/demo/Advanced/Table_editor_with_progress_column.py0000644000076500000240000000352314046644454031430 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! """ A demo to demonstrate the progress column in a TableEditor. The demo only works with qt backend. """ import random from pyface.api import GUI from traits.api import Button, HasTraits, Instance, Int, List, Str from traitsui.api import ObjectColumn, TableEditor, UItem, View from traitsui.extras.progress_column import ProgressColumn class Job(HasTraits): name = Str() percent_complete = Int() class JobManager(HasTraits): jobs = List(Instance(Job)) start = Button() def populate(self): self.jobs = [ Job(name='job %02d' % i, percent_complete=0) for i in range(1, 25) ] def process(self): for job in self.jobs: job.percent_complete = min( job.percent_complete + random.randint(0, 3), 100) if any(job.percent_complete < 100 for job in self.jobs): GUI.invoke_after(100, self.process) def _start_fired(self): self.populate() GUI.invoke_after(1000, self.process) traits_view = View( UItem( 'jobs', editor=TableEditor( columns=[ ObjectColumn(name='name'), ProgressColumn(name='percent_complete'), ] ) ), UItem('start'), resizable=True, ) demo = JobManager() # Run the demo (if invoked from the command line): if __name__ == '__main__': demo.configure_traits() traitsui-7.2.1/traitsui/examples/demo/Advanced/Auto_editable_readonly_table_cells.py0000644000076500000240000001173414046644454031471 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! """ This example shows how to define a read-only, auto-edit table column using a custom pop-up view. The example displays a list of integer values from 1 to n, where 'n' can be set using the slider at the top of the view. Each entry in the list shows the value of the integer and the number of unique factors it has. Mousing over the number of factors for a particular integer displays a pop-up list containing the unique factors for the integer. Mousing out of the cell causes the pop-up list to be removed (and perhaps causes a new pop-up list to be displayed, depending upon whether the mouse entered a new cell or not). Creating the auto pop-up effect is achieved by setting the 'auto_editable' trait of the associated ObjectColumn to True and also specifying a view to display on mouse over as the value of the ObjectColumn's 'view' trait. Note that this style of auto pop-up view can only be used with non-editable table editor fields. If the field is editable, then setting 'auto_editable' to True will cause the editor associated with the ObjectColumn to be automatically activated on mouse over, rather than the pop-up view specified by the 'view' trait. """ #-- Imports -------------------------------------------------------------- from operator import attrgetter from traits.api \ import HasTraits, Int, List, Range, Property, property_depends_on from traitsui.api \ import View, VGroup, Item, TableEditor from traitsui.table_column \ import ObjectColumn #-- Integer Class -------------------------------------------------------- class Integer(HasTraits): # The value: n = Int() #-- Factor Class --------------------------------------------------------- class Factor(HasTraits): # The number being factored: n = Int() # The list of factors of 'n': factors = Property(List) @property_depends_on('n') def _get_factors(self): n = self.n i = 1 result = [] while (i * i) <= n: j = n // i if (i * j) == n: result.append(Integer(n=i)) if i != j: result.append(Integer(n=j)) i += 1 result.sort(key=attrgetter('n')) return result #-- The table editor used for the pop-up view ---------------------------- factor_table_editor = TableEditor( columns=[ ObjectColumn(name='n', width=1.0, editable=False, horizontal_alignment='center') ], sortable=False, auto_size=False, show_toolbar=False, show_column_labels=False ) #-- The table editor used for the main view ------------------------------ factors_view = View( Item('factors', id='factors', show_label=False, editor=factor_table_editor, ), id='traits.examples.demo.Advanced.factors_view', kind='info', height=0.30, ) factors_table_editor = TableEditor( columns=[ ObjectColumn(name='n', width=0.5, editable=False, horizontal_alignment='center'), ObjectColumn(name='factors', width=0.5, editable=False, horizontal_alignment='center', auto_editable=True, format_func=lambda f: '%s factors' % len(f), view=factors_view), ], sortable=False, auto_size=False, show_toolbar=False ) #-- Factors Class -------------------------------------------------------- class Factors(HasTraits): # The maximum number to include in the table: max_n = Range(1, 1000, 20, mode='slider') # The list of Factor objects: factors = Property(List) # The view of the list of Factor objects: view = View( VGroup( VGroup( Item('max_n'), show_labels=False, show_border=True, label='Maximum Number' ), VGroup( Item('factors', show_label=False, editor=factors_table_editor ), ) ), title='List of numbers and their factors', width=0.2, height=0.4, resizable=True ) @property_depends_on('max_n') def _get_factors(self): return [Factor(n=i + 1) for i in range(self.max_n)] #-- Create and run the demo ---------------------------------------------- # Create the demo: demo = Factors() # Run the demo (if invoked from the command line): if __name__ == '__main__': demo.configure_traits() traitsui-7.2.1/traitsui/examples/demo/Advanced/test_fixed.h50000644000076500000240000411322014046644454024521 0ustar aayresstaff00000000000000‰HDF  ÿÿÿÿÿÿÿÿ–ÿÿÿÿÿÿÿÿ`ˆ¨ àTREEÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÀHEAPXÈdataHˆ¨ TITLE (CLASSGROUP (VERSION1.0 8PYTABLES_FORMAT_VERSION2.1èTREEÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ XHEAP°xh( TITLESNOD(H8P TITLE (CLASSGROUP (VERSION1.0 0 pandas_typeframe 0pandas_version0.15.2 0 encodingUTF-8 (errorsstrict 0 ndim  0axis0_varietyregularHð H æà’…^ (CLASSARRAY (VERSION2.4 TITLESNODð ˆ(¨¸H€%8€hHXX'int0int1int2int3int4floatobject_1_0object_1_1object_1_2object_1_3object_1_4object_1_5object_1_6object_1_7object_1_8object_1_9object_2_0object_2_1object_2_2object_2_3object_2_4object_2_5object_2_6  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abc;›M`5²¿ã~Ä"¹@Ø?Îk ÷Ô?b¡«šØJâ¿®ØN,áÙê?PõpXêEó?§1–Ü2`Ê¿™3OÉiCú?ÓNÆÜœÃ?[-;«Î¿Ì –ýwÔ¿†µÕgoÿ¨¯Øà¿bë“V3ç?b‰LOÇU£¿½þm—šô?—ã«¢Y5Þ¿ò#%Å?i[ÒÏ"k@áýšÌþëÑ¿8IiׇõÛ?“‹Ì³0õ?ñE"æÑ?“rS«çñ¿é8€p×?ñö˰+ë?1ú£…´ªï¿Ã<Þ¹÷?Ë}U®ãÝ¿è n`åä?Å)lû¿øåQ †ãê?ÿ+-å)È¿\ùvUaÀ¿’fóôï5ۿǦºô?‚J!6l„ð?S( ¥AÛ¿âmsSð¿¶i¿¨õÏ¿p¬¨©(†ã¿]zάóãµ?ð€9-Ù„¶?ƒ„Í‘£nó?Õ™žT·dÉ?.Ø\BøÙ?E…u‰¼Zü¿vçZ ®+î¿#€~á„í¿ù3Üþà·Ò?{3ºNaŠÓ¿° _S Ãñ¿îÈ—‡ô?Ý-܈„˳?b2ê TÝ¿5ñ{ÇØ?öÇHˆ|Èå?÷poNè:Ò¿úJÒ‘ê?¹ >‹ò°Ù?¬úýõª«ø?®™à-œsï¿Ê¡Au™ì¿¶¾ãpüƒé¿ÌÙï¯ç¿ó Oßí¿¶3ÀxaþÝ¿¿ã'uô¿…·Óœ˜‚Å?fåÀÑLí?Õ/Ã}RGë¿mž¡´ÙÍ¿GeØã¿([ê—@ÀØ¿쌗7T¾?ôÒãšS ã?YTà>Ç¿âuÆüïØ?Õ$¢ Oô?»`J¶:†¿›ã}»Qhæ¿­AañYØ¿—©E[Êï¿ëŽÝ§gÖâ?s’“›ÿžì¿¢Ýˆ ÙÃ?“‡MÅÄ\ô? ÔÊ¢²¬?/uIEM œ¿éà¡æmÁÙ¿ ÙD™é¿–´h™á¿ý–=!u¿?×â¾Ñký¿ ½ô‡\ @›¯•ñ?mÅB‡^Ë?¿óÝŸlë?bg0|•Íó?³$Tß4/ë¿floatint0int1int2int3int4object_1_0object_1_1object_1_2object_1_3object_1_4object_1_5object_1_6object_1_7object_1_8object_1_9object_2_0object_2_1object_2_2object_2_3object_2_4object_2_5object_2_6 (FLAVORnumpy 8 transposed (kindstring (nameN.hP 0axis1_varietyregular Ðdd@. à’…^ (CLASSARRAY (VERSION2.4 TITLE (FLAVORnumpy 8 transposed (kindinteger (nameN.PX 0 nblocks  ˆ(dd ?@4 4ÿN à’…^ (CLASSARRAY (VERSION2.4 TITLE (FLAVORnumpy 8 transposed(%X 8block0_items_varietyregular Ènà’…^ (CLASSARRAY (VERSION2.4 TITLE (FLAVORnumpy 8 transposed (kindstring (nameN. (dd Ðà’…^ (CLASSARRAY (VERSION2.4$˜                                                     TITLE (FLAVORnumpy 8 transposedðŽX 8block1_items_varietyregular Èsà’…^ (CLASSARRAY (VERSION2.4 TITLE (FLAVORnumpy 8 transposed (kindstring (nameN.)XŽ`p)à’…^ (CLASSVLARRAY (VERSION1.4h(axis0axis1block0_valuesblock0_itemsblock1_valuesblock1_itemsblock2_valuesblock2_items8ÿÿÿÿÿÿÿÿ 0 PSEUDOATOMobjectTREEÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ–GCOLð\Ê\€•¿\Œnumpy.core.multiarray”Œ _reconstruct”“”Œnumpy”Œndarray”“”K…”Cb”‡”R”(KKdK†”hŒdtype”“”ŒO8”KK‡”R”(KŒ|”NNNJÿÿÿÿJÿÿÿÿK?t”bˆ]”(Œa1ed8f2d”Œ8b8a9850”Œeef27646”Œ045f0dda”Œ921ef8cf”Œ2ae9ef79”Œ342b7834”Œa8bd96c6”Œfb17fb6d”Œ36cccce7”Œ79936df6966dd26”Œ8ef1d8a7e09c3ec”Œ21f0e40756e85cc”Œd7cf14b16965a99”Œ84dc0b3e918aee1”Œ3330ad3e01bf7c5”Œ59a69d133413482”Œde66deda”Œ9ce5673d”Œ9d30ca39”Œd9f89773”Œ306b2892”Œ9c80c283”Œ011680a4”Œ1491e629”Œ4fcd75a3”Œ2ae9c223”Œ19adb3d66c301fd”Œ20831a4006d86c9”Œeb3205c71d43064”Œ215683c2c6a4f39”Œb342c27562d953f”Œ9f8e14ea66ce52b”Œ329a0bf86f9f1b4”Œ92d7c410”Œe45bd1a3”Œ98898d2d”Œf24bc1e6”Œa0e78f76”Œdefbbd80”Œd9688e04”Œ706b2800”Œb6c13279”Œefbad3ae”Œ 6fb804a87e4447”Œ51c817e7d97c4ea”Œ6070f4f69ab1591”Œe3c3724912d5981”Œd5b0110173f85fe”Œ94277d9c5cdd3e2”Œ5ca21a91cdcc31c”Œ6eb28adb”Œ960e7c7a”Œ98706d8f”Œ1508353d”Œ1efedd25”Œ1fe12061”Œf818e3c3”Œ140eecae”Œ11d480cf”Œb4c46249”Œ84bb9bda88866cc”Œ27f0a96b9d9846a”Œ1cac7214a365669”Œ92482c9c1acb23f”Œ482fc50c8ed86c8”Œc95791661a03a5d”Œfaaa35fef621d7c”Œ3ddeeb10”Œff72442c”Œ69147c66”Œeabcd7e5”Œ2dff5f8b”Œ64eea29c”Œ536e0063”Œd2d4f30d”Œ3abcde9f”Œ6ac03406”Œ7179fa3389c7cfa”Œ440e2d0c764b070”Œ1c59788968fe835”Œa8448b85ffd23ef”Œceed29d005ffc86”Œa3b419098c78828”Œ6a3d5a98d96ee0a”Œ6483544f”Œe963039f”Œ9b3b579e”Œ12af26bb”Œ7e0522a7”Œ8c4a2a75”Œ55ad88b7”Œb416c89b”Œ4b8fc8a6”Œc940ec0b”Œ 66266cac0c476f”Œfb22e7295dd0edd”Œc9f1ccf7fad2d70”Œ63d4718a15215a7”Œfeec5a632dacf02”Œ83647596e187261”Œe0a5cc72246b2da”Œ886d0182”Œ6edeb4a7”Œ6bdd81d7”Œd7739faf”Œ54310096”Œa2e25bec”Œf8757997”Œ517e19db”Œ6d706a2d”Œ33025784”Œ2994c1fb23c15a1”Œaeb8c8689285ba4”Œc920c9082dcc26c”Œcced3971540bbe5”Œ82f780f24bd49c4”Œ1086d09dec6e6b1”Œf07685910d653ce”Œ65b7c139”Œ667a6ecc”Œ0dd05c31”Œ8db61e85”Œa95d1d75”Œ63c856fa”Œbc851e24”Œ009b7b93”Œc9a48626”Œ34431e8d”Œ6941887a47e5178”Œ1ffad972c09cda2”Œ84ff41168b22f21”Œ5d8bfaec8d175ff”Œda20043f45d670d”Œdf099bf8cd63d24”Œ7fcc9d845df0932”Œeb441e3d”Œ2a9ecd0c”Œacc6e2db”Œee6b69e0”Œ53a1fdf6”Œe2641fa7”Œ94b8056f”Œ559733d2”Œ3ff05a8e”Œ20d21587”Œ2d93436279b0e2e”Œ296ada23a03c289”Œ4f4f95002b4dafe”Œ7213d2c410239e1”Œb644f59352f78ed”Œe6df8bdbaa16c6f”Œ11ba397dbc6bb7c”Œ888fc7eb”Œ52dcffa9”Œ7b8cbf02”Œ6d734405”Œee516473”Œ77e11a27”Œc2e6f402”Œe49b999c”Œ8cb743e7”Œef2c79f1”Œd8d986a8b73f758”Œd38e986edb5fa3b”Œf6ba7216cf445e8”Œ2010d72bff6c945”Œ62ef328f6ddf490”Œ87d451ba1db5c2d”Œd427ab42343563b”Œb1e841df”Œ91642aa4”Œ4ca49e71”Œb6a3b91d”Œ94b8c23b”Œff59cc96”Œ95874ad3”Œ5da6912a”Œ9b78d293”Œ15a1251c”Œc55a9237a0eaaee”Œ5fe701a3cfa0a7c”Œ5d884cb0be16183”Œ5e02402c6124d40”Œ 6cb2a70628d877”Œ463fe196e350f22”Œ 57e002d6ab3810”Œ798afa2d”Œd5902635”Œe774ac0b”Œab797d21”Œ417df68a”Œ69f9d3ab”Œ175a5ba1”Œ5876523a”Œ0ed6e1d6”Œ25456784”Œ4c34dbee8e89dc6”Œe0df53bce8a76b4”Œ1f93303f8844346”Œ984c9eeb0f8fb70”Œ73a649c2ebe0139”Œ cf736e246d43d2”Œae833f18a16776c”Œ2d345ebb”Œ73c4bd3c”Œ6b4b4eb6”Œ5e5b02a1”Œccbe28c3”Œ60ee9d11”Œ4c946f94”Œe278316e”Œ995132b6”Œ074d7761”Œba9a613a5005464”Œa6c83b5cee855ac”Œd45205f44c2ecd8”Œ96d8c458273f102”Œ407a636176a9a3e”Œ6bf038ea85bf0b5”Œ8c802a9ce2385ad”Œ52eae870”Œ48f48ebe”Œe4ef229e”Œ924bc0cd”Œ17524912”Œ8ef21ee0”Œ97db61b0”Œ50ee9ca0”Œbda04fa5”Œfb13586f”Œec2144149efd305”Œ4336a3376b08b9b”Œa98016e580370ff”Œ2a863583d58f9ac”Œ127542d6deb0cc1”Œd27d6d8c0bf1091”Œcdeef37a0e7fb78”Œ498e5715”Œbbd9bf16”Œ12c69844”Œ9a0bacbd”Œc676f195”Œf864fe22”Œ93e10521”Œf435dc94”Œbff11fea”Œ4f8136f0”Œ10aca573c66e203”Œc3f658186c4e03f”Œ898594156be60a6”Œ6dbf79423909632”Œ847828baae5c126”Œ859be0bdae54589”Œc97fe7e4c2fc3ce”Œd6f9d52c”Œ846790af”Œ6f354f8b”Œ9b459abf”Œ5fdb217d”Œa79c2bfb”Œ2fe0ede1”Œe9d442cf”Œd12fb3bc”Œ2c43ae94”Œb7e010b75586152”Œc14f1878e0f9569”Œ700c3cf2903fd6b”Œ1e795c2559f19d9”Œ44ffea7461c1441”Œb190e973dcd8b75”Œ66b77c1a868ec1b”Œ87aad7c1”Œbf836ce0”Œ8cbe9cc7”Œ35547d4a”Œf3879635”Œc41db080”Œc9538c55”Œ213645ff”Œ00ad777d”Œf58e620a”Œa542c3414b83f76”Œ99c684b40990ac2”Œ99a4eb969e9866e”Œ3d3521957db9f8d”Œ5bb22fe79b02215”Œ823fe865d41a9f1”Œeede8cdbab6f14b”Œ0a705b2f”Œ0d4e2e72”Œced21199”Œc1c2e7dc”Œ363f9f1c”Œ7ee1dd34”Œ36414725”Œc843d902”Œ3fc18e54”Œ258d99e3”Œ2e662ab8fbd7439”Œb32cb1cad1dd2bc”Œd86b568750dae02”Œ4cc4ee55f1f8086”Œ9a60dc256dedfa1”Œd1d80899b39da5b”Œaa2c4cbc4746a7d”Œ63268bc3”Œ9027ca8c”Œ566f5065”Œ209702f0”Œ730de3c5”Œ1c73e77c”Œ29bda177”Œ840c798d”Œc936abfd”Œff2144bf”Œc51174519886a85”Œa4ea0153690c734”Œ52b4e1b245c98d6”Œfcac6b0e558fcfe”Œ9352a4858c9b397”Œadd9b44ecd1ee4a”Œ52ba3bdb7f9beb3”Œ7fdc3718”Œ72afca73”Œ1ca4638c”Œ27f80a70”Œbdeb873b”Œa909d91c”Œ5f9cd04c”Œ14438f43”Œ094e2bbc”Œ9630bb53”Œac7f5bd652bc110”Œ111958f6a01fc90”Œ43f8dc38dc2c9b1”Œcb98d9c2baf227b”Œf69b5c7e30c1dc6”Œa4baf239b43df01”Œ87ea6d3be3d3cbf”Œ7efed348”Œ57acbdda”Œ54f8ca11”Œ06b1be8d”Œ2bed416c”Œb5e79bad”Œ3b081d66”Œca71d5ad”Œ5c8ecea8”Œbe175de3”Œa6ed1dc99bbf173”Œ6a7e34a40a3926d”Œc382fc6b5ddb8dd”Œ5b58c1ad9ca2e1d”Œ9bfcf9e8e631ad5”Œ8131bc20fd67713”Œ732251251234128”Œ3904b4a1”Œd9a17f22”Œ51460f7b”Œ375cb915”Œ7deb6be5”Œ140722a7”Œ117ad5de”Œ948f81a1”Œd0f4281c”Œ8fc909ab”Œ7e8ded37c16a520”Œf11df99c117b8f7”Œe309aed70800f2c”Œ7421efe2d5feccc”Œad059c1ae090942”Œa9a652cc419424f”Œd94e88e40d76d00”Œ671904b3”Œ64144c15”Œ0f026468”Œ73a00e94”Œ427ce9aa”Œ2f0fa225”Œ22f12b62”Œ8ccd94d1”Œ72970840”Œd3eed2d2”Œ208a330864b7f30”Œ702804595ee4f3c”Œ9c2d70278abd7a7”Œ3cb409bf2904e4c”Œ6537919ba1aa10d”Œ56a8e4652497aa9”Œ82beb8741531e0d”Œ5b5a438b”Œ18eb06e9”Œb2417534”Œ5dcaf376”Œ5208d103”Œaeb44e92”Œ729c0b5c”Œ78974fc9”Œ6ea3e6a2”Œ48fa443d”Œddb06f725f5f989”Œc099ad4dbb279d0”Œf4693ee3df1a10a”Œ74a45818a528937”Œ57072720c9869cf”Œc3cdb2a75209b62”Œ2a1d397daa57c7e”Œ3d0a67b8”Œc893cd97”Œa9990d92”Œd4a50779”Œ17122e66”Œ091b7042”Œ996bb8e0”Œ31ca98b7”Œ92d93b6b”Œ39f1e9cc”Œd39134e5c15cfc0”Œ319d242d23f93b1”Œ 1da3c3f1f84bfb”Œ6e8fb50cbd715cb”Œe8cca19a9c207d9”Œ79d52176ca3b917”Œcc0e9f84ab38701”Œ42d78bca”Œ095dcaaa”Œ7450b86b”Œc1732b38”Œ67d7182f”Œ7c031a9d”Œee276a95”Œc3e392ea”Œ4d61749d”Œ8087e5ec”Œd6fa11d92546545”Œ43b0a1a124075ac”Œ4dd2498e300a6d9”Œ1f400bdaa132830”Œ2f2871dc46691e8”Œ54d445d498d6c27”Œ 4f86a3c760ace0”Œ8b7516ac”Œe67eedc6”Œe48c7d01”Œdaea9f54”Œ07713d52”Œa846c56f”Œ3feeec60”Œ399699b9”Œc4792aeb”Œ49d85590”Œ26dd14b0c892f46”Œe5daed2874c22a0”Œeffbb69ffdcc011”Œ1a55afd90a9fcf2”Œ7a0fa1631f5bba5”Œc0730d1674d819d”Œ167881d87045c40”Œded69b63”Œ153f3e6f”Œ304c2ffd”Œdc0050a6”Œ2188728d”Œ52a61141”Œf823b7ad”Œa4061911”Œf08c87f9”Œ157271f0”Œ25aaddf60b9ef53”Œ14a43a45e8ac403”Œaf932015299a015”Œ7ac07b15fd51370”Œd929aeeebf23147”Œ408d60554943d1f”Œca873b5b0fbd9e6”Œ76ca9c2d”Œ940eb6f9”Œ797074bd”Œ726145c4”Œe0969fc4”Œfa4f12fd”Œ696524c1”Œb93558cd”Œdd9ed646”Œ4a9e239f”Œ8a70993d33b86ef”Œ59e48f5b4e289e1”Œffb03d54d479d38”Œ3579fd61f479eb9”Œ3a00a3cb552dd4b”Œfd0860951026b2d”Œ639a41002a88e61”Œ461085d8”Œ93a11c39”Œ05100108”Œ7ce446ec”Œ094f948e”Œ8821b7c7”Œ7e9a3ff0”Œ512b20d8”Œ1c335bd9”Œe1fb9e2a”Œe3c1cff498d00e9”Œ782fb7019ea239b”Œbd23411220dbdbe”Œde6f6366dd383ad”Œb764b01d844b856”Œ13f6c390baea93f”Œa9562871236e575”Œdbb918e5”Œ8c6d0953”Œ87268444”Œ487f24fb”Œ143c8a41”Œfe53fcd8”Œ20286215”Œ62d23ce1”Œdc901f74”Œ657ca6bf”Œ12dba3135b221ff”Œd59fa00e83a6117”Œ2dec9125314d44f”Œ1fe33357ff4c34e”Œ5c4f3a2d7e7c502”Œ2907ba95ae7e646”Œef4385d4d64b294”Œ22022389”Œ74818e84”Œdfafffeb”Œ8afb1d0c”Œ565f64bf”Œ00f82d05”Œ09fef4d4”Œc4c853c8”Œ64a17d4e”Œ44122554”Œ8c308b74f90bca0”Œ5c9f09304eaff4b”Œb0b9205e2cfa23c”Œ394c5f008bbd082”Œ2d4a058e2ed02a6”Œa6052409f79af02”Œb7ae045f968ae90”Œ22efc8c6”Œ18adacb7”Œd4a8035f”Œff951ab0”Œeed60ee8”Œe44fee2d”Œ6044864b”Œb59a73cc”Œd7ee6d91”Œd290ae6c”Œ d54865080c122b”Œ3755ff68777c4ea”Œd0930dd684e1c87”Œ65e3cf60215eae0”Œb5bed21687404b4”Œd88c240b2f5e1ee”Œ13fc0965e4f53af”Œ5f5c1431”Œd36e2967”Œb1f88698”Œ780376c1”Œ6115a64a”Œ159e5849”Œ75d661ba”Œ0f904cf5”Œ64a8547d”Œ1ce3dac1”Œ95cc9bb6d84a9f5”Œ3b8a21c0974c56f”Œ 94a3eedd211d06”Œ87baa6883323fd5”Œ37ab0db15767b3e”Œe06a7076a7f6759”Œf47887abcea580a”Œ24466edb”Œ5f794d92”Œ5ebc5e24”Œ2826815a”Œ52ebf856”Œd7425d91”Œe0db82ca”Œ0635e06e”Œ20e44bdf”Œ1c051006”Œ35e8453f0c377b4”Œe90f4ddc56dea3e”Œd55d4bce9caccdf”Œa4683430477dfc4”Œ36be0486d02367c”Œa4573fd5013f23f”Œ5c3ac6474bcac23”Œffc476f3”Œf871a561”Œ0b57312d”Œ0ec7f636”Œ95650461”Œ566f41f2”Œ1ca55078”Œ8c62c3e7”Œ4faf62e3”Œ911bb68b”Œ3771ea29f3ed0fe”Œa816bc67fff4772”Œe8ac9420fee4142”Œc200204ad32cfc8”Œfd5539de9c52465”Œ586b3b681175489”Œf095ad42560a7ae”Œa16bbc82”Œ45c056bf”Œb65db101”Œb0c480c4”Œabedbab1”Œ1a7f3b7e”Œ27200642”Œfdc2cf84”Œd5644fcb”Œe8b65fe2”Œd0595071f8b3f8b”Œ7f909a8083e8a01”Œffd9474c6d26efe”Œ5b955f097363b8f”Œbb626e5116db444”Œ5cd55ceb206a7d2”Œd3d68104f85bf4e”Œ0c68ddda”Œce5c7255”Œb45c5a2a”Œd2ac91b8”Œ2440ebbb”Œf8c38c54”Œ5e0432f3”Œfdf346c9”Œe731f300”Œa624bbf9”Œ8daedb05e4828dd”Œf8f3649f0c64eb2”Œ5d9ea7500a581f1”Œ4fe47fcbd8531a7”Œ 1230d8580aedce”Œ8073359e88f449a”Œ25a37071edef0b8”Œ12d66343”Œ50aa1c76”Œ4c53dfb7”Œf79675ff”Œa18e0783”Œ78040c69”Œ4308a232”Œ9ea3c5f8”Œ379c22cc”Œ366c6370”Œ368459543ce6bff”Œc0cb25ab5553d47”Œ5762da0c5fa0e32”Œf2e3f1022796212”Œecf54fb051a1cf1”Œd729e50bc009bf8”Œad83b45bbf09005”Œ39390e60”Œbd7a4b7d”Œ455abef2”Œ3e8d4cdd”Œb77a2ed8”Œ15814ec9”Œ306f0950”Œ2b6f7738”Œ461b23f4”Œ0f5b4927”Œ21db68bd70a5456”Œ491119a7dd6a992”Œ 69fbdd759568a6”Œ89e8998c0aed3cc”Œdc03174e0d399cb”Œb8cbcae6818d511”Œb445d90e5115876”Œa076b39f”Œ73c34fd8”Œ65568589”Œbd607833”Œ4bc582ec”Œ22487ccb”Œ00f2e71f”Œc5833c5e”Œd9e9ff6e”Œd695aad2”Œ71f3729ff79b158”Œa28c7dbe2a476ef”Œ 4e387062b44931”Œ32ff7f4042a2558”Œ2577c8e2f9d70a6”Œd6cbb85172b7a4f”Œc360268c2f2a045”Œ2ab1d67c”Œ33f492b9”Œ0eb392b3”Œ788cad6b”Œ01048c53”Œ44e39d8f”Œf9b921de”Œ1f2c9755”Œ48052119”Œ0665eeee”Œ d7170c15dc3fa9”Œ23d84085f9ea52e”Œ8064d33f9a73aa9”Œ3ed7c031fcbebc3”Œ5f5f21d8c47ea86”Œacf49363cbaa3c1”Œ477a3f859d21917”Œ67ac715c”Œc8818b89”Œ454867eb”Œ01020ab9”Œ2b1b1801”Œ34d44765”Œ08bb2d89”Œ15eb5069”Œ688976cb”Œd9cbe355”Œ3a71189f3c0694e”Œ fb8a85024271dd”Œd91327795e54efc”Œbe876f95de3bb80”Œ1715b466940dbae”Œ4bd898c15930cae”Œdf4bb772c252e92”Œ8d1ea624”Œ48209c36”Œ2dac69a7”Œ9fb139c0”Œd32107b8”Œe38a5ff2”Œ8cc0332d”Œcaafc38a”Œd4adf950”Œ5475399e”Œc48f781425954b9”Œ94460ec04c477c0”Œ199c4834d5bc20d”Œ2ba4fa3fdd560f6”Œ1d7bbda76ebd716”Œ769ab175cf86438”Œ3d84fa67eca411d”Œ4833ff57”Œ9c771ff1”Œ3788a1b6”Œdf196a16”Œec1f0d34”Œ3232191c”Œ2ceee50d”Œ99458faf”Œd9084ef9”Œ012a0f6b”Œfe849d66e14e54d”Œfe9843980894ded”Œf87a36f4f4ddf04”Œ3871598af3284c2”Œ d8b17d40f7b8b2”Œ416be25d268d8e6”Œbe12db13302bfdc”Œecf5251c”Œefa9acea”Œb5418b74”Œf5276d27”Œ442472eb”Œ7862305f”Œed82c8d0”Œ57b16cd8”Œ3c4c1f60”Œ958bb7d9”Œd623d01c72ee105”Œ43f6ef4796cdd24”Œb3ceb0e5a1230f9”Œ6b999434c218019”Œ897aa215512cda7”Œf2b977fd8230922”Œ6b58679c78d92f7”Œ7160d0d0”Œ645d8bbb”Œae28a6d7”Œba85b090”Œ9432cde4”Œa446c6d1”Œ80c5a3b4”Œc7778fc2”Œc4a105a4”Œ2ce7e867”Œ5bf9755b0eb99d1”Œ92d1f78767eeb84”Œa7dd159d118b86a”Œ632bcecbf2ebe21”Œc29f71a8be2eb88”Œ3df12614eb5b22d”Œfbe2062b68aca02”Œ8f355f66”Œ52ffaa9a”Œ1d8ac38d”Œdf31ca67”Œ1071fe6c”Œd824d292”Œ5d2cacd5”Œed10f776”Œbaff97f8”Œ1fcc6af7”Œ28e3230db569765”Œ93504ef350bcf1f”Œ7711d29f4ae074f”Œ2e0750628c983f2”Œ776ba85d7fccd05”Œ90a7b75d9e56a14”Œ185ee7e86e10180”Œ3edb09d1”Œ2d1806a8”Œ35d2940a”Œ223fbec7”Œ905bdf91”Œ4cda92ed”Œ419210f7”Œab288ab4”Œ64b8b5b0”Œ0e37d699”Œ31542948e92d820”Œf7154c12a7e50de”Œea456577139f6f2”Œ49fa5f28d90fe9f”Œ8e98475ce22e945”Œ27f6acd4d823702”Œ6b88d204abc448c”Œ6601652d”Œcf0daa48”Œee87b7bf”Œ963a8ac5”Œ13497d71”Œa30f6974”Œ50b0fd32”Œa2e6998d”Œ3ea79dbe”Œf36cacfe”Œ 42f0fdfb014850”Œbce9b453d27bad2”Œ 6381407628d75c”Œd7b0bd5bd2578a9”Œ38e3444ce469752”Œa8b0fca4faaa0b6”Œaf0d5a6c3dcfafc”Œ0946ded5”Œ192e7ae4”Œadefd78a”Œ52efca58”Œ0273d6b5”Œc65ae1a0”Œcceb7d3d”Œ0cd60459”Œa0122719”Œbf609663”Œc5534a352bbbc69”Œ1843799bcdd9d76”Œ9a6dbe4ffed03f1”Œ91a19af0e06db26”Œ4a39a628a02df4c”Œd91470ca146e3d4”Œ89b1872f2f4a699”Œ4ee442cd”Œ545f8eb2”Œ4fe88966”Œca677a4f”Œ4771eddb”Œfaeba32e”Œ67e75603”Œ3c129b43”Œcd6af1e2”Œ9e831a09”Œ4d68bdd57ee000c”Œ802ce2a84a49df6”Œ9d6b590976aa276”Œ7ffc8a67d01e573”Œdfc2345e94d0818”Œe75568a25b39b1f”Œa6b84ba282e9905”Œbde5af41”Œa98c5f13”Œd1e5b373”Œ0ad0c038”Œe4fbc3a0”Œc4bad5b3”Œ0bf76383”Œc83c6683”Œ379fdb9d”Œ7c1ffdda”Œ8d04edd04295899”Œa42656333ae82e8”Œc7307cf28fa0e68”Œ2e8765446665b15”Œ5d007b629cb0842”Œ49f1fb3bfefdae2”Œ40c8df2930b3560”Œa4b5248a”Œb67e87d6”Œ120383e1”Œ197af6d5”Œ9a08d3e9”Œc22f0b0b”Œ60072292”Œ3ae467f2”Œ0bab3215”Œcf6c79e9”Œ8f64d1753758e37”Œfa2d12bb7a8f38c”Œbd7d7147ebce5c1”Œ2875e0d1cb9db2c”Œ14b57a82f601736”Œ6ee3acb9703d3eb”Œ58ff7c767764eea”Œ82d28cf0”Œeefea60f”Œb02a6beb”Œdeef3a9b”Œ1156e2ae”Œ10db1e4b”Œdde66b76”Œ44df7fd7”Œeb4c8856”Œfc8076d4”Œ651da726b3f59bc”Œd2d1d19e0dd5a73”Œbb146621f3b0fae”Œd37b6dcfc7d891c”Œ72c918568d9274f”Œace3c25eeb2f69e”Œa5e348d7986f3a9”Œ1e8ddf07”Œb5289837”Œ9dfdeba6”Œ64565c93”Œ7d9d9e4c”Œ4d736374”Œc0c20b5c”Œ89ec2400”Œe9e508a0”Œ7fd6ffe9”Œf9c938d12c907f5”Œdce392ce611a7de”Œc9a0c4cf9ab4117”Œ1bbe67ac041c35b”Œ8b7943af6ac5238”Œ49af42bf7c85b75”Œd8f76eb3edec03e”Œ43f5b534”Œ8d2be37b”Œ19d6cc17”Œ80e385fd”Œc7aa1033”Œd32d09cb”Œ88fbcbd6”Œ5471f093”Œ8e26f3bd”Œ4bf4ade5”Œe64e784484e04c8”Œ10b5d72be3005e4”Œd13e81abf82f5e9”Œ53a2fe28e108292”Œ4ce5ebd88c9a43e”Œ2b6d499c476cf42”Œdf109efed4bd998”Œ2eadd4ac”Œa404664e”Œ6cca5300”Œ7bb2b1f5”Œ8a3449d8”Œb40b9b94”Œa7b9d66e”Œ5725b334”Œ7952af8d”Œ5fbeff3d”Œe123092ff904682”Œ 2a7b983b225990”Œ85ee7bdbcf1ba88”Œ2b46a5b11120c30”Œ6b616e2ceab9ab5”Œf80d98de070726d”Œ56395ea73db4915”Œdf1531b9”Œb0846832”Œ613f34e6”Œ83a76b99”Œdd681f17”Œ2689d8ee”Œbc799455”Œcf0bffa7”Œ2832deee”Œ3e7ced72”Œ834c91a3c690232”Œ7afbd63446aaed4”Œc5b8c586f3e56bd”Œafb3630d55972b6”e(Œ6baa3090d3fe60b”Œ79a67b53851730c”Œd8fc345ff9b570d”Œa9deda22”Œ70c1e93c”Œf30d7045”Œada9bdca”Œ427e6d8d”Œf28d7607”Œb3ed655f”Œ87242525”Œ6cd8deee”Œ210ea98b”Œ752631c8a3b9406”Œ8c777c38f34dd07”Œ8fff0cfa02ce01e”Œ9a4dfa0b8f00859”Œ7ba305ad665e425”Œb281d0c5a55c337”Œ7f17b12eca69c59”Œee3032b4”Œ9b0d6260”Œ89f3515f”Œ6acf39ac”Œc88d48ca”Œ51b9acd6”Œ49eac9fc”Œbd48d306”Œ9243a78d”Œ5ca596d0”Œb6f38e2e8bf4f6f”Œdb91729e5f4e018”Œ5ae0be2815ca49e”Œfd25fe1691dec44”Œ6a34e726d5a6c9c”Œde7b7bffa157aa2”Œ 601b0c6e55b65e”Œc62327b3”Œ21c5d037”Œ6543ecf3”Œ94338ec3”Œ7df945f2”Œdc842947”Œaed16659”Œfd9177df”Œ4bd83d5f”Œ64b485c1”Œb532159f5fbc582”Œbaea9e5f0c29a6d”Œ200026f725f101e”Œfce5ef79ca8ac5b”Œ10157fdff8ea6ab”Œ3e6abfba502b708”Œ a9b6ef64658735”Œ56708507”Œb32b9e72”Œ9b818a26”Œ4d1472f8”Œ1fba98e9”Œde32820b”Œ9ab4ad87”Œ440f4dd8”Œ5c569641”Œ83be6842”Œ88b86a3b408fc26”Œa92dae9fe8df301”Œ5a15dfe4cfab992”Œ1ffc1af9d96ab96”Œdba727301810b1f”Œ7ec530799857816”Œ263e0936c171b94”Œf73be8b5”Œ2a4e3756”Œ45860576”Œc2775530”Œ1faf7e9a”Œ9e671eca”Œe8055c8f”Œ352ddc0c”Œ3bec368b”Œ4164d55a”Œ38c6505f503931c”Œ4744daaec7f5116”Œ85af75d15d408fd”Œed36d03b4a9cd12”Œfc701da9b855c24”Œ 922db02ac2c24e”Œ6ade73fc1f383d6”Œ4a550433”Œ0424cbe1”Œa6dddba9”Œ38e24ce9”Œ54177ef1”Œ73c78e67”Œe9abde25”Œ0bf8c00c”Œ0eb6b63a”Œ2cad4005”Œ38fdf14b75c1052”Œ97fa83c51dc304a”Œ9ba83a0be6d5103”Œ89498ba95b2ae33”Œ87a820b030ee7a9”Œ3790a997283e46f”Œ3e8e7c24e6dfd27”Œ377c1487”Œ920e2dad”Œc8af9641”Œc5ebe25e”Œb24d2fd4”Œ2fe51e2b”Œ7057b136”Œe1a43838”Œ2508d73e”Œfbf5cbab”Œ68be1fc407eed78”Œ725dd8cca1593e8”Œc29f05597c59b67”Œd3e04238054070b”Œc491d9a083c535f”Œ909f00253a47fe0”Œfbce0d1e721a9a4”Œa475061a”Œbe641479”Œ9a09f5f2”Œ1463943c”Œd02459be”Œ501c6d42”Œ62f1d7cb”Œ1a520920”Œd3747e6f”Œfac01432”Œ46281a650fef1ac”Œab737d8402aa2bd”Œ32f9863817ab981”Œ40561d50e92f51b”Œbcbdd38649d4fa2”Œ4846eca5ffd9961”Œf1eb3a8263b832f”Œ4477b054”Œ65e5b5d0”Œ01541a2a”Œ9c5a723f”Œ93f692ab”Œ65ef10e3”Œ7367b8a1”Œf96810d9”Œ8b90f960”Œe3485b3f”Œ3ed3a77a2ee4917”Œa54486ee4f54192”Œ11b22ff5a8aeaa2”Œb30469d0cb88a9b”Œ2d9b909533d855b”Œ661a83752db44af”Œb706414d7e337a1”Œ78fa8a42”Œ27440f07”Œ75e769a2”Œ5a0aebd6”Œ7701c431”Œ9de2e9d4”Œc7e1f28d”Œ3f232795”Œfc911ef9”Œ00cc5138”Œ1a27e551e662168”Œ7b14316c3ff715a”Œc9bd9f170ef7b95”Œ2ac2397920ab859”Œ94d84691ccdc3af”Œ cbd8b850ff1d5”Œ3daf346abcee48e”Œd3e1a12c”Œ6c53f3b6”Œd46abc4c”Œbe6cbea9”Œba3e2945”Œfe16f1d2”Œ4cc390a9”Œ1aed7ffd”Œda54a2ef”Œc58d6a56”Œ73651b70b806c69”Œ77314bd689c3415”Œ 5c9005cc15538a”Œ909cce14470c4b3”Œ5864355584f5cdc”Œc638a43a8fc4d35”Œd0add6cbe1895d6”Œ201991ca”Œd9870eab”Œ0fc041a2”Œ9119b6b7”Œcf0971e7”Œ28518c80”Œ9c667f3b”Œb0038a9d”Œ756feebc”Œ5c0e7130”Œda74537aa55de80”Œ9ec067d20c8cc05”Œ9b6b6cdaea87916”Œd0a7091ba1f190d”Œe4e9b3d0cb24de4”Œb182e77429ee12f”Œ8b9cb067f572eb1”Œ1bcb2b08”Œ479b9d8b”Œ91595092”Œ5db89aca”Œ66a7ffa0”Œb7eb61b8”Œc890b995”Œe126622d”Œ7f768d0e”Œ92ed2f60”Œ7d1dfba9390fd22”Œ2b9ab664ab6bf84”Œb295aec70257b96”Œ e07af91ff296de”Œ4bf36f0bb276829”Œe558e2ea72e3369”Œ1ac967beaeba41a”Œe2d5b5e3”Œfe8c111e”Œe87b51a9”Œ53adc742”Œ69d57201”Œ61d68b49”Œcaf65022”Œ4771db32”Œ73bc4123”Œ28908586”Œa808c621f3a96c5”Œc0cf5f0300b53f7”Œ19b19e79f93aff5”Œedbfff8f85b6301”Œ 5e8863f3540b96”Œa060721bc6eb0ec”Œad3ce116bcc7f86”Œ2eabc8ec”Œf2ac819c”Œcc7d7bf0”Œefc0d805”Œec3c7c6f”Œd4a4dbb7”Œd592e11b”Œf302aa39”Œ5b84359c”Œ0c1374a3”Œf831fbbcb824d4d”Œ63c3d246e657fa2”Œ8dcd1e02d8c5b22”Œ67a96c08586e347”Œbf9d12c6925c90e”Œ803241953ae386e”Œ7a675f4e22f7aa5”Œae037760”Œ552848d3”Œ1353ac35”Œ23446c24”Œf468ed32”Œ65cf0102”Œ11908628”Œce036c04”Œ4eca823a”Œ5b903986”Œ809ea01a3e3c077”Œ614fa39a928a8d8”Œbdad37cf02d43ce”Œ76bd74eb547e463”Œ62af55c970275b6”Œ43e9ab24fe39cc7”Œ 69a090cf8bd370”Œ2f0a7583”Œab909d4c”Œ5c809459”Œa43ca299”Œ2fc5fe36”Œ60d25f8e”Œ9275ea26”Œ19ebf66a”Œ8ad874b7”Œ55826bc1”Œb6434e34538de73”Œ9f4f785f3183fe7”Œ40cdd2646b4f75a”Œ3c265ea7f59a60c”Œ6aba4139a1b36a4”Œ d840d34c427691”Œ6067e5151c49a4d”Œ43b29ace”Œae0e52fc”Œddfe418a”Œ0cdde112”Œe7c4776c”Œ5f2f3b7c”Œ1d74f811”Œe018fc59”Œcdf96a73”Œ013d46f6”Œ5ef3f72991991d9”Œ4d66e4c99a0ab24”Œ67d27a9108d9564”Œ283efb2e3774651”Œ5da52afc377fe66”Œ590d82b8a89d02f”Œ9e367684cceebd6”Œ0f53de14”Œfc05524f”Œ6aac61a4”Œb006245c”Œ31d5da9c”Œ0cb73d66”Œ29c21113”Œ9dfe5451”Œb59f9fcf”Œ862d6d3e”Œe3d420fbc9362f0”Œ6f418ff547a07d5”Œ1a986090d7db11a”Œb217a315782069d”Œ999ea6f1bae60cc”Œ37948307c311162”Œ5ce9c7dd15b1c9d”Œ092142eb”Œ4f44250e”Œca9c4c00”Œ7ba8845f”Œ811fa1c2”Œd1c6b42d”Œ306c170a”Œ44a07ddc”Œ9e0e9f3f”Œ784a47e5”Œ 4a138ec7d6ddfd”Œc22d07bdc407176”Œ98347edacccbf7d”Œ12b67b0aecf1ea5”Œ56ae3b5b11abaa7”Œ3ae4e7766e325cf”Œcfec41d6db69cff”Œa8e338b4”Œb0b87529”Œ994d82c5”Œed8a42a7”Œ0562a942”Œe0f4c901”Œd43cf026”Œb54f2905”Œ2cac5c36”Œ635c90ab”Œf6c373727f29b7a”Œ33a834b67807eb8”Œ3a599bcf8af7ab0”Œb4da447465e3cec”Œffeb35d90871a2d”Œ29de36ee445a916”Œb6c96200f76134b”Œfc550af9”Œee621a89”Œ3e6a485f”Œfdce04dd”Œb5e993f0”Œ053d1c17”Œ559dd262”Œ0d5ae511”Œ8535859c”Œ2aa76827”Œ7b88b9b5d03e840”Œ7e8058def1f0d75”Œ32ab196b127e6eb”Œ559dac252a22202”Œcd52eda570eff06”Œ375f0865beb95c5”Œ cc21d8854c090e”Œf6ec75fe”Œe0b14c3d”Œ633d35b1”Œd3c3a71d”Œb3fd9df4”Œ36515bfe”Œf5db7d35”Œ822f03b1”Œ2590d172”Œ51d8a479”Œ500d1bb098b5576”Œcbbd2203d1386a2”Œ99f415521ce8c32”Œ1ba905d19ec94c3”Œae49678ddd51da6”Œ93502cc90242cc2”Œ7ed4a33ce276f92”Œ1adf91ec”Œc19476c2”Œ2631a0b2”Œ3dcbffe5”Œd0bf006c”Œ653248c1”Œ081c79d9”Œ49aad51e”Œ0df38d11”Œb4498286”Œ7213196c0227969”Œ1f5d021bba1a18c”Œe3269562d1fe1aa”Œb6b2568fc80e5a3”Œ5c4256e1b90e45c”Œ928883350853ae0”Œ892236a2d083d68”Œcdc4dc5c”Œ043395d5”Œ51d4ad49”Œfb9a804f”Œ56d44e3a”Œ621f3dca”Œd1ed73be”Œ1855f522”Œ39314f1a”Œf987e135”Œ151fc5d13fa258e”Œ772052592e25af7”Œc5515f9c55667f1”Œa2087019abcf445”Œdc1a55753132b98”Œ908c744d74b4081”Œ 3bcdbced9a109b”Œ103b3299”Œ5377f790”Œd8178f14”Œ00bf6535”Œee6cc490”Œ8170c134”Œ7b5de086”Œdf154e8e”Œ05ed8448”Œb9de6c20”Œ80c0d187e5d1db6”Œ34508c778e61391”Œ7ccf4ef9c7aa73d”Œca77cfbb3c95a27”Œcaa350b25d7c9cf”Œ30096c1f2057fba”Œ5a39ed1c1ce8b6a”Œ463f2f83”Œ36d38e9d”Œd297d87e”Œ3499b000”Œ3c8c6039”Œec638027”Œ219862e4”Œ9e7cf73e”Œd536aacb”Œ472ee8e4”Œb3effaa5d4c2aa5”Œf4f4481e031c036”Œaab95a0786874b8”Œ566b77331010bdd”Œc57eebef603bce2”Œ664718836012788”Œa788902910a013b”Œ3e54629f”Œbdd95869”Œ59ec95e6”Œfe33a270”Œ0fea56a3”Œ6c57f618”Œa990d213”Œfd242cce”Œ90c1520f”Œ3bdc2f5a”Œ9748d05df631059”Œf28b7821c8c386b”Œ38235cc92e1af3c”Œ9e17b682fa44459”Œ 84e43bb2cd2794”Œ64e3702d3350589”Œfb91be1e29b04e6”Œ68d00334”Œe2803ab6”Œ3964afd1”Œf750d82c”Œade861e0”Œ9275fc1e”Œc0278357”Œaa482a27”Œ30cfd923”Œba5066f7”Œ646df091591c043”Œ19eb978e2cbe813”Œff42228f645b3d4”Œ4a2b08e95b0669b”Œ41e49fc80927651”Œb82467b3015623c”Œ25aaf4ed9380556”Œ1cd5efb4”Œ2294307e”Œ9e05ac99”Œ6a3899ac”Œ4f3d1040”Œ5aec4d60”Œb9f5384a”Œb589951f”Œ954c5494”Œc4d6aa7b”Œb4d41a6d208532d”Œ14707a98df31a9f”Œ59880c0df14d635”Œ2d583ffce3cfc4d”Œ634d2a7e13e6222”Œ2aa0d3744c187b3”Œ4908aa37eb0d9ec”Œ4c921606”Œ57d7cb7f”Œ1172a598”Œd3fe0969”Œ98c9e7fc”Œbb65db69”Œ179923fe”Œ5177f50d”Œ7e098de0”Œ0ad88332”Œ f16ec32a9d2751”Œeff69ea90859dc4”Œa8efdbc25c7ce8b”Œd8e1b9b71d3eacc”Œ4964d689e0f78c8”Œb176c3ce70c1886”Œceaa3122e101a24”Œ8cbc780b”Œb361c0f5”Œb9e403d5”Œc0ff5985”Œc6d359e8”Œ5bf8d12b”Œ29600bfe”Œ99a1ced3”Œ7d2a65df”Œ540b8f54”Œ 46325b2cefdbfb”Œ b5677b7883d487”Œ988d730de322833”Œef4e003e5f70f2a”Œ df3a92793773a1”Œ97e4f76e6cdf0f8”Œe982fdef9d35b51”Œfcd9c627”Œ123684e7”Œ4cc014bd”Œ7053dfc6”Œ1f6d245b”Œ41f140ea”Œ5c21b9bc”Œ47e1bb83”Œ244a938d”Œf770095c”Œe5ee155943a5337”Œ8e6bc00974e7503”Œ4df42cdfd71a995”Œ8b40e55c2757d9a”Œac6788970688643”Œ2d39200e50c4edd”Œ b4c20634599626”Œ45dc278c”Œd5a50332”Œ8cb022af”Œ9e7f319c”Œ9e522bd5”Œ3e4e3435”Œ9c31f9b8”Œc51e2f35”Œb6dffcb4”Œbd01c786”Œd1d8f407ba2e737”Œeceff6dfcb9d5a7”Œ276c9bcbed19d7d”Œ2a32bbb64ce1689”Œ4861afcb9fed531”Œa5b14d7a3c60354”Œf3df7079f2ebf57”Œ78c135b4”Œce2a2706”Œcb6ba32a”Œ941f1e03”Œa0aa2e09”Œb45340f5”Œc0518236”Œc408550f”Œ3c43ab5e”Œ6aca33ad”Œ1495eeccfcd624e”Œb51b1d8c16b6a9e”Œcd14f5411a7a25e”Œd1a53b5f2e31a7a”Œ83b9b483b774d4a”Œ79cd627548da05b”Œ8c6e8b33f3dbef1”Œ12dc84e0”Œ26740690”Œ8dd8fa24”Œca16cf21”Œaf0ccf6d”Œe8452868”Œd24a011b”Œ167382f6”Œbc673b20”Œ0e1d440c”Œ96a4bc87f1dec9e”Œea3b83da5eb66ca”Œ7d191af8ea25c3b”Œb7e60df5b8241b9”Œ1625ff117862aee”Œc7a891b8a566878”Œb67f8ff348b4007”Œ5667f64f”Œ10d14472”Œ1188cefd”Œ5a439d18”Œba1c9194”Œa8c52762”Œc1a38568”Œ88c068bc”Œ49e2fa70”Œdcbd008d”Œc8cb6736b5c3921”Œ716e58383424de8”Œ43caea6b9ff6795”Œ6500e264ffaa87b”Œdbe2c8c451810b5”Œ407f89c3eedf806”Œ9fab0c7262bf79c”Œ149eed7a”Œ13ced903”Œ1fbd7a90”Œ47966028”Œde0673e3”Œa0bafcff”Œ75ec37bb”Œ28bd97a4”Œe914d8a1”Œaf4500f2”Œ833630ef9404dbe”Œ5aaec1d282384a3”Œ6ed6fef0dd1e4ed”Œeeb7ff0e383cbfb”Œ3437ace0b662dad”Œ72d5dd960d9a2d7”Œ2f56b104c0accfb”Œ65db964d”Œ5fe58ccf”Œfff28844”Œ52490228”Œ1d29a971”Œa43493d5”Œbbbe4acf”Œ9583f1b0”Œ5d9d5022”Œ89514b46”Œ66f8b997071ca2a”Œa24eacb851b5788”Œ855b5224c678f35”Œ254a38f6bf56159”Œ2929ebe0c0f911c”Œca2467ffbbba83a”Œd6e1fdf24d231ff”Œac1917c5”Œd9688d24”Œ6fdf2b31”Œfb0d45e3”Œ15e5d9f7”Œf3850718”Œ03435439”Œf15e619b”Œ684c25ce”Œ3b2e6acd”Œ95f461d8f965c7a”Œ2786a6656d0d81e”Œe00623d52854d9c”Œ3f5bef5e994c19c”Œ77c05bb5db82470”Œ21cd26fcc9edb24”Œ 5184be02e37a2a”Œad383931”Œ106c37f6”Œ17cb55af”Œ97fb3619”Œe2155a4d”Œfa89d0a7”Œ980ad14a”Œ5705fb9b”Œ128e890c”Œ75a0ea70”Œc12506113d9c1e8”Œ81ccc38455a21e9”Œ9e0b8c2e84bc65a”Œd87f3456633bc55”Œ1117db926bddf40”Œe4ff034c368dc3d”Œd4f08db89986c49”et”b. 8 transposed(H 8block2_items_varietyregular È ‡ªà’…^ (CLASSARRAY (VERSION2.4 TITLE (FLAVORnumpy 8 transposed (kindstring (nameN.Ê\ 1traitsui-7.2.1/traitsui/examples/demo/index.rst0000644000076500000240000000003614046644454022255 0ustar aayresstaff00000000000000.. image:: traits_ui_demo.jpg traitsui-7.2.1/traitsui/examples/demo/Dynamic_Forms/0000755000076500000240000000000014046644526023147 5ustar aayresstaff00000000000000traitsui-7.2.1/traitsui/examples/demo/Dynamic_Forms/index.rst0000644000076500000240000000007014046644454025005 0ustar aayresstaff00000000000000Implementations of dynamic form behavior using TraitsUI traitsui-7.2.1/traitsui/examples/demo/Dynamic_Forms/enabled_when.py0000644000076500000240000000640514046644454026141 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! """ Dynamic enabling parts of a user interface using 'enabled_when' How to dynamically enable or disable components of a Traits UI view, depending on the value of another trait. The demo class "Person" has a set of attributes that apply to all instances ('first_name', 'last_name', 'age'), a set of attributes that apply only to children (Persons whose age is under 18), and a set of attributes that apply only to adults. As a Person's age changes, only the age-appropriate attributes will be enabled (available for editing). **Detail:** The optional *enabled_when* attribute of an Item or Group is a string containing a boolean expression (logical condition) indicating when this Item or Group will be enabled. The boolean expression is evaluated for the object being viewed, so that in this example, 'age' refers to the 'age' attribute of the Person being viewed. Compare this to very similar demo of *visible_when*. """ from traits.api import HasTraits, Str, Range, Bool, Enum from traitsui.api import Item, Group, View, Label class Person(HasTraits): """ Example of enabling/disabling components of a user interface. """ # General traits: first_name = Str() last_name = Str() age = Range(0, 120) # Traits for children only: legal_guardian = Str() school = Str() grade = Range(1, 12) # Traits for adults only: marital_status = Enum('single', 'married', 'divorced', 'widowed') registered_voter = Bool(False) military_service = Bool(False) # Interface for attributes that are always visible in interface: gen_group = Group( Item(name='first_name'), Item(name='last_name'), Item(name='age'), label='General Info', show_border=True ) # Interface for attributes of Persons under 18: child_group = Group( Item(name='legal_guardian'), Item(name='school'), Item(name='grade'), label='Additional Info for minors', show_border=True, enabled_when='age < 18', ) # Interface for attributes of Persons 18 and over: adult_group = Group( Item(name='marital_status'), Item(name='registered_voter'), Item(name='military_service'), '10', label='Additional Info for adults', show_border=True, enabled_when='age >= 18', ) # A simple View is sufficient, since the Group definitions do all the work: view = View( Group( gen_group, '10', Label("Using 'enabled_when':"), '10', child_group, adult_group ), title='Personal Information', resizable=True, buttons=['OK'] ) # Create the demo: demo = Person( first_name="Samuel", last_name="Johnson", age=16 ) # Run the demo (if invoked from the command line): if __name__ == '__main__': demo.configure_traits() traitsui-7.2.1/traitsui/examples/demo/Dynamic_Forms/dynamic_form_using_instances.py0000644000076500000240000001126614046644454031452 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! """ Dynamic restructuring a user interface using Instance editor and Handler How to dynamically change the *structure* of a user interface (not merely which components are visible), depending on the value of another trait. This code sample shows a simple implementation of the dynamic restructuring of a View on the basis of some trait attribute's assigned value. The demo class "Person" has attributes that apply to all instances ('first_name', 'last_name', 'age') and a single attribute 'misc' referring to another object whose traits are specific to age group (AdultSpec for adults 18 and over, ChildSpec for children under 18). The 'misc' attribute is re-assigned to a new instance of the appropriate type when a change to 'age' crosses the range boundary. The multi-attribute instance assigned to 'misc' is edited by means of a single InstanceEditor, which is displayed in the 'custom' style so that the dynamic portion of the interface is displayed in a panel rather than a separate window. It is necessary to use a Handler because otherwise when the instance is updated dynamically, Traits UI will not detect the change and the UI will not be reconfigured. This is due to architectural limitations of the current version of Traits UI. Compare this to the simpler, but less powerful demo of *enabled_when*. """ from traits.api import HasTraits, Str, Range, Enum, Bool, Instance from traitsui.api import Item, Group, View, Handler, Label class Spec(HasTraits): """ An empty class from which all age-specific trait list classes are derived. """ pass class ChildSpec(Spec): """ Trait list for children (assigned to 'misc' for a Person when age < 18). """ legal_guardian = Str() school = Str() grade = Range(1, 12) traits_view = View('legal_guardian', 'school', 'grade') class AdultSpec(Spec): """ Trait list for adults (assigned to 'misc' for a Person when age >= 18). """ marital_status = Enum('single', 'married', 'divorced', 'widowed') registered_voter = Bool() military_service = Bool() traits_view = View('marital_status', 'registered_voter', 'military_service') class PersonHandler(Handler): """ Handler class to perform restructuring action when conditions are met. The restructuring consists of replacing a ChildSpec instance by an AdultSpec instance, or vice-versa. We would not need a handler to listen for a change in age, but we do need a Handler so that Traits UI will respond immediately to changes in the viewed Person, which require immediate restructuring of the UI. """ def object_age_changed(self, info): if ((info.object.age >= 18) and (not isinstance(info.object.misc, AdultSpec))): info.object.misc = AdultSpec() elif ((info.object.age < 18) and (not isinstance(info.object.misc, ChildSpec))): info.object.misc = ChildSpec() class Person(HasTraits): """ Demo class for demonstrating dynamic interface restructuring. """ first_name = Str() last_name = Str() age = Range(0, 120) misc = Instance(Spec) # Interface for attributes that are always visible in interface: gen_group = Group( Item(name='first_name'), Item(name='last_name'), Item(name='age'), label='General Info', show_border=True ) # Interface for attributes that depend on the value of 'age': spec_group = Group( Group( Item(name='misc', style='custom'), show_labels=False ), label='Additional Info', show_border=True ) # A simple View is enough as long as the right handler is specified: view = View( Group( gen_group, '10', Label("Using Instances and a Handler:"), '10', spec_group ), title='Personal Information', buttons=['OK'], resizable=True, width=300, handler=PersonHandler() ) # Create the demo: demo = Person(first_name="Samuel", last_name="Johnson", age=18, misc=AdultSpec()) # Run the demo (if invoked from the command line): if __name__ == '__main__': demo.configure_traits() traitsui-7.2.1/traitsui/examples/demo/Dynamic_Forms/tests/0000755000076500000240000000000014046644526024311 5ustar aayresstaff00000000000000traitsui-7.2.1/traitsui/examples/demo/Dynamic_Forms/tests/test_visible_when.py0000644000076500000240000000403114046644454030376 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! """ This example demonstrates how to test the use of visible_when to make UI components visible or not The GUI being tested is written in the demo under the same name (minus the preceding 'test') in the outer directory. """ import os import runpy import unittest from traitsui.testing.api import ( IsVisible, UITester ) #: Filename of the demo script FILENAME = "visible_when.py" #: Path of the demo script DEMO_PATH = os.path.join(os.path.dirname(__file__), "..", FILENAME) class TestVisibleWhenDemo(unittest.TestCase): def test_visible_when_demo(self): demo = runpy.run_path(DEMO_PATH)["demo"] tester = UITester() with tester.create_ui(demo) as ui: # person should be 16 by default self.assertLess(demo.age, 18) marital_status_field = tester.find_by_name(ui, 'marital_status') legal_guardian_field = tester.find_by_name(ui, 'legal_guardian') self.assertFalse(marital_status_field.inspect(IsVisible())) self.assertTrue(legal_guardian_field.inspect(IsVisible())) # UITester is yet to support SimpleSpinEditor so we change the # value of the trait directly demo.age = 20 registered_voter_field = tester.find_by_name( ui, 'registered_voter' ) school_field = tester.find_by_name(ui, 'school') self.assertTrue(registered_voter_field.inspect(IsVisible())) self.assertFalse(school_field.inspect(IsVisible())) # Run the test(s) unittest.TextTestRunner().run( unittest.TestLoader().loadTestsFromTestCase(TestVisibleWhenDemo) ) traitsui-7.2.1/traitsui/examples/demo/Dynamic_Forms/dynamic_range_editor.py0000644000076500000240000001065014046644454027671 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! """ Dynamic Range editor Demonstrates how to dynamically modify the low and high limits of a Range Trait. In the simple *Range Editor* example, we saw how to define a Range Trait, whose values were restricted to a fixed range. Here, we show how the limits of the range can be changed dynamically using the editor's *low_name* and *high_name* attributes. In this example, these range limits are set with sliders. In practice, the limits would often be calculated from other user input or model data. The demo is divided into three tabs: * A dynamic range using a simple slider. * A dynamic range using a large-range slider. * A dynamic range using a spinner. In each section of the demo, the top-most 'value' trait can have its range end points changed dynamically by modifying the 'low' and 'high' sliders below it. The large-range slider includes low-end and high-end arrows, which are used to step the visible range through the full range, when the latter is too large to be entirely visible. This demo also illustrates how the value, label formatting and label widths can also be specified if desired. """ # Imports: from traits.api import HasPrivateTraits, Float, Range, Int from traitsui.api import View, Group, Item, Label, RangeEditor class DynamicRangeEditor(HasPrivateTraits): """ Defines an editor for dynamic ranges (i.e. ranges whose bounds can be changed at run time). """ # The value with the dynamic range: value = Float() # This determines the low end of the range: low = Range(0.0, 10.0, 0.0) # This determines the high end of the range: high = Range(20.0, 100.0, 20.0) # An integer value: int_value = Int() # This determines the low end of the integer range: int_low = Range(0, 10, 0) # This determines the high end of the range: int_high = Range(20, 100, 20) # Traits view definitions: traits_view = View( # Dynamic simple slider demo: Group( Item('value', editor=RangeEditor(low_name='low', high_name='high', format='%.1f', label_width=28, mode='auto') ), '_', Item('low'), Item('high'), '_', Label('Move the Low and High sliders to change the range of ' 'Value.'), label='Simple Slider' ), # Dynamic large range slider demo: Group( Item('value', editor=RangeEditor(low_name='low', high_name='high', format='%.1f', label_width=28, mode='xslider') ), '_', Item('low'), Item('high'), '_', Label('Move the Low and High sliders to change the range of ' 'Value.'), label='Large Range Slider' ), # Dynamic spinner demo: Group( Item('int_value', editor=RangeEditor(low=0, high=20, low_name='int_low', high_name='int_high', format='%d', is_float=False, label_width=28, mode='spinner') ), '_', Item('int_low'), Item('int_high'), '_', Label('Move the Low and High sliders to change the range of ' 'Value.'), label='Spinner' ), title='Dynamic Range Editor Demonstration', buttons=['OK'], resizable=True ) # Create the demo: demo = DynamicRangeEditor() # Run the demo (if invoked from the command line): if __name__ == '__main__': demo.configure_traits() traitsui-7.2.1/traitsui/examples/demo/Dynamic_Forms/dynamic_selector.py0000644000076500000240000000672614046644454027060 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! """ Dynamic changing a selection list, using Handler One way to dynamically change the list of values shown by an EnumEditor. This example demonstrates several useful Traits UI concepts. It dynamically changes the values which an EnumEditor presents to the user for selection. It does this with a custom *Handler* which is assigned to the view, listens for changes in a viewed trait, and changes the selection list accordingly. Various implementations of dynamic data retrieval are possible. This example shows how a Handler can interact with the traits in a view, separating model logic from the view implementation. Demo class *Address* has a simple set of attributes: *street_address*, *state* and *city*. The values of *state* and *city* are to be chosen from enumerated lists; however, the user does not want to see every city in the USA, but only those for the chosen state. Note that *city* is simply defined as a trait of type Str. By default, a Str would be displayed using a simple TextEditor, but in this view we explicitly specify that *city* should be displayed with an EnumEditor. The values that appear in the GUI's enumerated list are determined by the *cities* attribute of the view's handler, as specified in the EnumEditor's *name* parameter. """ from traits.api import HasTraits, Str, Enum, List from traitsui.api import View, Item, Handler, EnumEditor # Dictionary of defined states and cities. cities = { 'GA': ['Athens', 'Atlanta', 'Macon', 'Marietta', 'Savannah'], 'TX': ['Austin', 'Amarillo', 'Dallas', 'Houston', 'San Antonio', 'Waco'], 'OR': ['Albany', 'Eugene', 'Portland'] } class AddressHandler(Handler): """ Handler class to redefine the possible values of 'city' based on 'state'. This handler will be assigned to a view of an Address, and can listen and respond to changes in the viewed Address. """ # Current list of available cities: cities = List(Str) def object_state_changed(self, info): """ This method listens for a change in the *state* attribute of the object (Address) being viewed. When this listener method is called, *info.object* is a reference to the viewed object (Address). """ # Change the list of available cities self.cities = cities[info.object.state] # As default value, use the first city in the list: info.object.city = self.cities[0] class Address(HasTraits): """ Demo class for demonstrating dynamic redefinition of valid trait values. """ street_address = Str() state = Enum(list(cities.keys())[0], list(cities.keys())) city = Str() view = View( Item(name='street_address'), Item(name='state'), Item(name='city', editor=EnumEditor(name='handler.cities'), ), title='Address Information', buttons=['OK'], resizable=True, handler=AddressHandler ) # Create the demo: demo = Address(street_address="4743 Dudley Lane") # Run the demo (if invoked from the command line): if __name__ == '__main__': demo.configure_traits() traitsui-7.2.1/traitsui/examples/demo/Dynamic_Forms/visible_when.py0000644000076500000240000000657714046644454026216 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! """ Dynamic restructuring a user interface using 'visible_when' How to dynamically change which components of a Traits UI view are visible, depending on the value of another trait. The demo class "Person" has a set of attributes that apply to all instances ('first_name', 'last_name', 'age'), a set of attributes that apply only to children (Persons whose age is under 18), and a set of attributes that apply only to adults. As a Person's age changes, only the age-appropriate attributes will be visible. **Detail:** The optional *visible_when* attribute of an Item or Group is a string containing a boolean expression (logical condition) indicating when this Item or Group will be visible. The boolean expression is evaluated for the object being viewed, so that in this example, 'age' refers to the 'age' attribute of the Person being viewed. Compare this to very similar demo of *enabled_when*, and the visually similar, but structurally very different demo of *dynamic restructuring of a user interface using an Instance editor and a Handler*. """ from traits.api import HasTraits, Str, Range, Bool, Enum from traitsui.api import Item, Group, View, Label class Person(HasTraits): """ Example of restructuring a user interface by controlling visibility. """ # General traits: first_name = Str() last_name = Str() age = Range(0, 120) # Traits for children only: legal_guardian = Str() school = Str() grade = Range(1, 12) # Traits for adults only: marital_status = Enum('single', 'married', 'divorced', 'widowed') registered_voter = Bool(False) military_service = Bool(False) # Interface for attributes that are always visible in interface: gen_group = Group( Item(name='first_name'), Item(name='last_name'), Item(name='age'), label='General Info', show_border=True ) # Interface for attributes of Persons under 18: child_group = Group( Item(name='legal_guardian'), Item(name='school'), Item(name='grade'), label='Additional Info for minors', show_border=True, visible_when='age < 18', ) # Interface for attributes of Persons 18 and over: adult_group = Group( Item(name='marital_status'), Item(name='registered_voter'), Item(name='military_service'), label='Additional Info for adults', show_border=True, visible_when='age >= 18', ) # A simple View is sufficient, since the Group definitions do all the work: view = View( Group( gen_group, '10', Label("Using 'visible_when':"), '10', child_group, adult_group ), title='Personal Information', resizable=True, buttons=['OK'] ) # Create the demo: demo = Person( first_name="Samuel", last_name="Johnson", age=16 ) # Run the demo (if invoked from the command line): if __name__ == '__main__': demo.configure_traits() traitsui-7.2.1/traitsui/examples/demo/examples.cfg0000644000076500000240000000027714046644454022722 0ustar aayresstaff00000000000000[global] destdir = TraitsUI [Traits UI Uber-demo] files = demo.py, traits_ui_demo.jpg, Advanced/*, Applications/*, Dynamic Forms/*, Extras/*, Standard Editors/*, Tools/*, Misc/*, images/* traitsui-7.2.1/traitsui/examples/demo/Applications/0000755000076500000240000000000014046644526023043 5ustar aayresstaff00000000000000traitsui-7.2.1/traitsui/examples/demo/Applications/index.rst0000644000076500000240000000024714046644454024707 0ustar aayresstaff00000000000000These examples demonstrate two simple applications built using TraitsUI - a Python source code browser, - a length measurement converter between various unit systems.traitsui-7.2.1/traitsui/examples/demo/Applications/Python_source_browser.py0000644000076500000240000001202614046644454030022 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! """ This demo shows a combination of the **DirectoryEditor**, the **TabularEditor** and the **CodeEditor** used to create a simple Python source browser: - Use the **DirectoryEditor** on the left to navigate to and select directories containing Python source files. - Use the **TabularEditor** on the top-right to view information about and to select Python source files in the currently selected directory. - View the currently selected Python source file's contents in the **CodeEditor** in the bottom-right. As an extra *feature*, the **TabularEditor** also displays a: - Red ball if the file size > 64KB. - Blue ball if the file size > 16KB. """ from time \ import localtime, strftime from os \ import listdir from os.path \ import getsize, getmtime, isfile, join, splitext, basename, dirname from traits.api \ import HasPrivateTraits, Str, Float, List, Directory, File, Code, \ Instance, Property, cached_property import traitsui.api from traitsui.api \ import View, Item, HSplit, VSplit, TabularEditor, Font from traitsui.tabular_adapter \ import TabularAdapter from pyface.image_resource \ import ImageResource from io import open #-- Constants ------------------------------------------------------------ # The images folder is in the same folder as this file: search_path = [dirname(__file__)] #-- FileInfo Class Definition -------------------------------------------- class FileInfo(HasPrivateTraits): file_name = File() name = Property() size = Property() time = Property() date = Property() @cached_property def _get_name(self): return basename(self.file_name) @cached_property def _get_size(self): return getsize(self.file_name) @cached_property def _get_time(self): return strftime('%I:%M:%S %p', localtime(getmtime(self.file_name))) @cached_property def _get_date(self): return strftime('%m/%d/%Y', localtime(getmtime(self.file_name))) #-- Tabular Adapter Definition ------------------------------------------- class FileInfoAdapter(TabularAdapter): columns = [('File Name', 'name'), ('Size', 'size'), ('', 'big'), ('Time', 'time'), ('Date', 'date')] even_bg_color = (201, 223, 241) # FIXME: Font fails with wx in OSX; see traitsui issue #13: font = Font('Courier 10') size_alignment = Str('right') time_alignment = Str('right') date_alignment = Str('right') big_text = Str() big_width = Float(18) big_image = Property() def _get_big_image(self): size = self.item.size if size > 65536: return ImageResource('red_ball') return (None, ImageResource('blue_ball'))[size > 16384] #-- Tabular Editor Definition -------------------------------------------- tabular_editor = TabularEditor( editable=False, selected='file_info', adapter=FileInfoAdapter(), operations=[], images=[ImageResource('blue_ball', search_path=search_path), ImageResource('red_ball', search_path=search_path)] ) #-- PythonBrowser Class Definition --------------------------------------- class PythonBrowser(HasPrivateTraits): #-- Trait Definitions ---------------------------------------------------- dir = Directory() files = List(FileInfo) file_info = Instance(FileInfo) code = Code() #-- Traits View Definitions ---------------------------------------------- view = View( HSplit( Item('dir', style='custom'), VSplit( Item('files', editor=tabular_editor), Item('code', style='readonly'), show_labels=False), show_labels=False ), resizable=True, width=0.75, height=0.75 ) #-- Event Handlers ------------------------------------------------------- def _dir_changed(self, dir): if dir != '': self.files = [FileInfo(file_name=join(dir, name)) for name in listdir(dir) if ((splitext(name)[1] == '.py') and isfile(join(dir, name)))] else: self.files = [] def _file_info_changed(self, file_info): fh = None try: fh = open(file_info.file_name, 'rU', encoding='utf8') self.code = fh.read() except: pass if fh is not None: fh.close() # Create the demo: demo = PythonBrowser(dir=dirname(dirname(__file__))) # Run the demo (if invoked from the command line): if __name__ == '__main__': demo.configure_traits() traitsui-7.2.1/traitsui/examples/demo/Applications/images/0000755000076500000240000000000014046644526024310 5ustar aayresstaff00000000000000traitsui-7.2.1/traitsui/examples/demo/Applications/images/TFB.png0000644000076500000240000000305514046644454025434 0ustar aayresstaff00000000000000‰PNG  IHDRfgòƒ7Ç pHYs  ÒÝ~üßIDATxœíÝÿOÓwÀqâ?g 7£Yr·]2R!ÛÎeœFˆh`8pHmáS Ulí'-£P‚•jµ£»ò­‡É·ó.g²ÄQ‡l¾åy?”ùœµì^c¯wòü­Ÿwòþ<òj?ŸŸZ”Ù¾\£ÙÛ|h?`yàºvº–)ÜC/p€_s˜zy÷ÕÕU–—_hE´ºººÔp°X·uõÂÂcú¢×pÖãÊÃ8ÊJµôaÅaœµÇè‹^caá±Èý¶0€••¦rÇ;[›zô]ª>û€sÕ­ÈêΕ㬭 æìŽU¾GØô±²²báDÞãXZzN]Í_·@NŸçG´4WâqÀðœÒЬÃ8Ï[…¿ã >oíî“´·Õ±´ô|Ûɱ£´&ÅY{ GY)åŽ?Psö-Í•žSø»ª \©áÚÕ:­ÈÌ€“p¨žˆÙ@Ù@ÄlÀ :é »ì“sh;˜ €Høòг¦×Åãø:Îì®%ª§7ÜH_Vt_'ÖûÑ&ûš õ_ mâþø°3õ2Ì€Å' ”;â(+¥æì\ãï¬Æ 8é42mâzìC_jElÙjøúEn µ’ˆ·rsØÅÈ‹Ÿ?µpöÛa¼ƒá­ß”–æJ|g0Núz¹»À¡ÂFÚÎJÄ ‰a£#—¸•ðJ¶s'ið÷ùûŒa‡É4ÔŸÄQVJƒó# Ï)‚ݵôF (‰øîl¯dGI§¼dÒ]ÌL X0y;Ì2ÀÑÿȧGߥ¥¹W5áP=Ñ&”_æöÍ6Ò· 2é.²?“Ù󀣬”ªÏ>Àã:AàJ ½á´ìöAöb©Ñ6¾Nu0>æ'w¿›é\ÐþÒ¹ï˜sÕ Ï)®]­£¯§‘¡/wý{±T²±»d3~¦²f§M;Ì«£0 ó»Na„¦0BS¡)ŒÐFh #4…šÂMa„¦0BS¡)ŒÐFh #4…šÂMa„¦0BS¡)ŒÐFh #4…šÂMa„¦0BS¡)ŒÐFh #4…šÂMa„¦0BS¡)ŒÐFh #4…šÂMa„¦0BS¡)ŒÐFh #4…šÂMa„¦0BS¡)ŒÐFh #4…šÂMa„¦0BS¡)ŒÐFh #4…šÂMa„¦0BS¡)ŒÐFh #4…šÂMa„¦0B{˜} ³û0› ½SBá?äùä/¢î\9ÆiÌ€“¾¯ÎlÙõCì¹F\ÜIdÒ]|{ï 3¹ ßÍF-”e;Làüç§qÖVàóVÕëý‚ø` ‰xëîf•L¸I§¼Œù™Ì˜1ù÷?SLÞcćz©9{Ç"fÑ&…ù?7:r‰;IƒoÒ]䯻ÉO†˜{ÐÃÓ'sŒ×³àÙ³ENÿ3>o=fƒ}Í _¿HbsÃÑ‘K»~°ßl#…I)|…u’½w™é\ïçúy8ßÏÚêÏÌ;L 0ëÑî>IdæÆP+£#—¸•ðpûf©Ñ6RÉv­Èî$ Ò)/ߤ»6Q<œñlñ; eÂò°ÃX[[Ã×Ùˆt2ØD¼•[ ©d;éÛ_§:»Û©Y&ÝÅø˜ŸÜx7Ó¹à& <þ!ÃÆÆºsp;˜À ðÓOËÄ¢±h7‡ vé”wkólF+¶oï]a2 ?âû¹~àȰ¾¾j¡¸í/Ô€õõ5&'n‘vo=Úe3~r÷»™Ê´"›É™1™{ÐÃÃùÏçØØØ°P"/;l³59ËËK<üdzù8Ó¹03“&³ÓZq…™{ãÑ¿îòtqžµµÿØÞ%ÿwRÞS²ù}7®_kMQø]ßöþ¿Æê…gë<…·R];[/(ÜCƒÂëÉkïûÛÀh¿¼}Å^ó_È ¼ÃéØIEND®B`‚traitsui-7.2.1/traitsui/examples/demo/Applications/images/red_ball.png0000644000076500000240000000174414046644454026570 0ustar aayresstaff00000000000000‰PNG  IHDRóÿagAMA¯È7ŠétEXtSoftwareAdobe ImageReadyqÉe<vIDATxÚbÌa``øÄÌ@ÌDßì~10¤r Ûq‹Šò1022~zýúó»7oNüa`˜ T¶‡•á;P-à  ("ó—¡K]C#Ò8*ŠAÙÓ“WF¤Ÿáó³g7÷ìñ=´x±ïÅË—×Õ•220Ü@ d00È00ßéåõÿûáÃÿÿÿþüüùÿljÿ7ýe`¸ÁÀ Ô @Ì& @'xéêzyde1°ˆˆ00üøtÐMÿvüzèãG†—/X~þdPºŠýñcÑ Ož(]± €X€þ²‘c`ˆ19çí[`(}÷çDóׯ @?@ |ÿlÛ7 @ÃO10øÜd`ð f3fæ.-  f6AAˆ þÝ´áÛ7†OŸ š_¿f`x÷Žáç¹s _öìa`fff¸ÎÈ( @,ü6*¬¬ L>0|Þ°h+«Ð=bb llþýlóŸóç>ïÚÅðh° //ƒ0 ‹!@±ð13óñm)eÚöhÓéÓ ÌŠŠ ×€¼tÁ¿»w~?yÂÀôP„¨¨— €XX€ Øþ倯)P‚ñÑ#†/P\À L:& ÷È8#@±ÃøË_vvNÎÏŸÁ¶1rq10ððãh$334‘ü$Ó—/ l@ç³ù?€ò_ÿýû@,~ü8ñ˜‹ËWäT& ßÀ˜“# ŠJk˜˜A†}ÿÎð(÷òÇËÄôýׯYGþúÅÏÏÀ L°Fnn_@€3`6H $4è/ÃA Wþø1 €˜Xÿÿßîãǵ{…„ @†€li€ó Øu……Nú´íÿÿÍÄl ¢Ÿÿž¹üë—+‡„„¨P13ÈPXmk¥  +ÿÃd?/~öì>0Ä=õ €˜µ^ÚùþÇïß;.|ü¨ô€…E¨‘h; ÐÏÿ€!ÿˆ¯ý½3›>ÜõûÛ·X ñ7@™ €¡Qòˆþÿº›Á“ƒ#K\PЈŸ$÷áׯŸ¯>|¸òãû÷é@îFVFÆÏ@CAºN–Rø¼ºIEND®B`‚traitsui-7.2.1/traitsui/examples/demo/Applications/images/header.png0000644000076500000240000020037714046644454026257 0ustar aayresstaff00000000000000‰PNG  IHDRî(ù_Æ‹sBIT|dˆ pHYsÃÃÇo¨dtEXtSoftwareAdobe FireworksO³NtEXtCreation Time10/06/07ix-tEXtXML:com.adobe.xmp Adobe Fireworks CS3 2007-10-06T22:15:44Z 2007-10-06T22:30:22Z image/png µ§mprVWxœíX]hWÞÙ½³³¹ww'»; ˆˆaUA߬D‹(UŸÄ¢‚>tBJy”Ô§¾ô%“©¡/¢jEñhÛXK_Òö%þáƒÄ%j²žûsfvÃl|°npæ~³3óÝ3çιߜ3?{™»ö"Öû¢ÊQ©V]¾©Tª—ï9sy‹Ã…¥âº._eXÜr¹,XY¬U ϱ&CÇ×ñu|_Ç×ñu|_Ç É‰%‰"1ûÿ› ħí­|ÉòŽwrN…<üœœ8`‹fwqlÑl&œƒ¿#œè {Ú0>?%ãK&+6–ÅÏ…ƒØøý³îËl9€€ø >Í(±(¥&¬lìó85€CƒðâèÏ]îËÛFp|ÛI§Àw x+ö‘-5QFƒã··JAuJr¾—œÔp´“y>ÒÖ¨¯²+Ÿ¶3fo‹âÏ£8\F¥LpC\OƒI…’ÃÆãµvïŠÈsÆÏ3)IŽXŒÚB®B3¥Ø’6‹äè/lF] ÕócAñ¡8¥$)BŽ–_iµØ•è:‚¢kü ŸZ©>%Žêoåå'Ž›*g¼;“#–sYãÃÏoJ•)>ôGiç}‰¬n¸sóŸhÍÊ$Q¹c2¿òš"Wu JArâ×– ú䞟ªÁý—¡qZ“ãÚ\"¯«Åëꀈ[ßóñësÏsß²™¯XäR] qãb.UQ˜ûà|S¯&P½<_£ç_ŒÚâ DÎLä„IÅq*k¬ãu5öy¹7Õ³BÝ ß?- Ê„WŠØz\4‰²˜þ!ß­Öø½øsZ­ÆBïߦAÇ×ñu|_Ç×ñ#¾F´qsšÿïÇ/^½Ãܳ3ÓÏ&î_¿púÔèȰ Œž:}áúý‰gÓ3¾ÖÙ™©Goœìïë9t°<ÔÓ×?8töÆÃGSžÖ¹7/'Ç/<Þ»gÇ–MK¡ÁÆM[vìé=~òÒø¤§õÝO\êß·uÝêUÅŽå¡AGqÕêu[÷õ]|€Zg_?ÿëŠ{l׆Υ;ÍB„´]XÚ¹a×1÷ j};õïí±Ýë‹j& Ãø´ÏÅæ¤$LZ(®ß=0†¶×OÇÏØ_Z‘K%Â#TÔ¦r+JûO aꟛ#‡·uµ…OªÛÖµí0¶Ÿÿqþ»½ÝËÒ$|R¹X’^Ö½›“÷ÆŽnï*$ã!” bãÉB×vlM\ýá›RG&J© 6‘é(aãÏŸ¿^»¤%œiå‰mY²¿عÆI†T*ˆM:kÿúÓ‘¯:sa-a^ĹNäwüvóÊl|1‡óiÏ®Dzg´çËb&ÌZ3E¤QÒ¥ŽÒ³)Jïœ(}KDé1JßþQúO¥ÿêbæ@˜ç`xs0Qš[s¦Ãaž3öæL£4®¡¡¡¡±˜¸•¸lÁ÷ùŽÒT÷÷TO|¾ÐßÍÅ{ÌÖQu˃nHmkBFúÞÊþ)¤3¡t¨mkTSxœì½Kl$IzžÚÙv÷¼vÕÁ‹?JkÉÛ3=¬Îg=f·%ðUMÎìÚ*ö49k¡QÏîÒì^’ÍnUöÁ'­ È6løæ“>H¶aðwaÀlº^¯¾Hûf@ðÅôø""3"2232+ëAvNM3«2#¿ˆø}Ïø"2rçóÕóË/ZíÑe}üEkgti­5îÐúñîèÒµºÛµêãýíµá¥9> ‡Ç[ëÃKÛ©7·ö†—®9nm´‡—õʸÕ~4B×W CøoÜÜÞ>¿\m¢?k+{§—Æ’Ñ5zÆ£i ŒcômdŽ·vwЕ›èÊ1ºbËèêÈxJŽ[뻘äÊ.P^A-vµñêúnåêjúÐéÎxµ½…Ú ¸ÖÞ„Ãê6œ\ýk»”ÀF~·ö Pc~5ZpØ%'ÛÍîÕ깸G¨ïµI%;„9l­àVîâV™ãõ‡Ö貆6&³þÐC´ÑÁ&ÆZÈüª £d¬ ³gè÷2úvˆŽã]éÏ3kB̬iav‹böÀ8A¸¼0ž¡kgÆ —`3ˆÁÆTbÓë Ø˜1ØôjÇNŽåx:ž§Fà©xjãvóKTKwÜnÓcó!BÍë ô‹€R׌çH¸ž#‘h!¡ãKò`"€¦íÅ¡ÙÑ@S’´84%Iëä«a¥¢€°Ý\%WÚäÈCú…tôqdô( ïS@ÛÌ!’Å’ÑBß^¢sýD­Ubi Ý|õÖéeÔÛNZ½Âè6Åh?qÛFW§¥·)ü@ lÌé`ó~› å'gO9„n‡4,³ôȺ•F~æ¬[̤¯:Ï@6D â®(Æ¡d/¨²rGé%Jë k]ä ã¥iQq²sÇé=%NÔ:¥Çhîö:N’<‚Gò&Ò·MtìçÆÅ•ôø–‹z&ÀÔ!0uLêHSWáöPà~UÎÉ]á–|œž#çv6à16ï¹=›I 1 4&Æ$ИS€æ6…f Æ òî«èïK è žGÃ,å𩸠¸žPÍÆvDý ##› d„\‚KrÉ€³UñánÀpHƒ!7ï!ñz„ì%øÅ#©ÔÁx ­:…ÒîÆ že(S Ÿ3ƒi×õÀ|‚¹†îR0OýtÃ…¤µX(Ð÷çÆóø U[ËÑÖ-ÓM¯·žIƒ€‘ÆžE͵kÚX:5:Žv¬~jìâºÚ'ÐÕz¹ANa…VØdYú1ÒÓ.%äz «+ÉËþ™£^œ¢b±H–-0ˆNê@¨¦TX¶|Eͪ -tµ z+fV=_9Ëw¸89ûÅè1ògJtª’ˆIQGÜhß*àcÏÈïAu5dôoùx=ƒ±NILÇO›2iZ¿‰M~|œ/áeÙ=%b’Á¯öÒ‹”Ks¥Š™Ówµ}gv¥\e™SêjÒ#Ùã–<$!9t5<çyNOhéÛ6 $Ä$ùãˆák³h7–°/Y—°/­ÔßfiàŸ‘8žqNï€F&øf 0dùs¸…pµ‚™ì4â1Ë «"Ì”DC׳Óë¸{6Ž`¨‡5Ð6¾àÙCåàu <ÈøÒ,c3qhC„ŒkE¶k4JA‰&ZŽ­B«BЪ´*D•‰Ä_ºCI•±im¦Àñ†­tŒ¯R#5‚b !‡¢9)Š.A‘ˆ˜F<'ˆq´cpôh…U$ER§HRÁ«PÉ«¸Q`ú3s Ì¡:ó-”{0=Ü3¾J£ÅZR©=«Å”;ênîö è0²Å{â{¢Å“YÈ,DÀ-{8W§H Ÿ !-;ôÛÀ8ÑØ4[Þ@'%£…rŠ+¡)øU–‘‰ã±Û„0ü ÇŸAøs¢œo?âi êN¼KHÝ•#pâºyƒÎT±Ó‡Še×·}ˆ¢M¥ô” +;fD2Bî©Éoý‚xë3ÄÛµA I´žàCì½…¯FðëÑ¥F=Š`¯&{dü¥Å¾„Í´ü/,„l¶¨×iµØ ¦ÈU¬¸É±bã䉢NZ™e±v¿IëH±óÝll¶% Yñ7>Û ÜhnÆàšW ¨ñj$ìªÝ Ñ&bxËþÍ@„¾–K_‚c³Ó¥K#J— éô’ptàHITJ+8q,¤€n‹ VDÛVyâ…:§:ñKý³))«3˜tJŠŠ©'‰©hY±½mÃZàhp+n:ppÖÐ$@;Y<¿£iÓI+=¥¯fTz-7E@ÃŽ4“Bát»‚λ*gpʶ֣ó EGqjŠÄê-h»Eíý¶†J;ð.ú1èû€¦7`§4(Ò[§ ÍýùQ§Þ<3NS¤ |‹e¢Ô†r鬟w ëɳ/­‡œP›ki¨>ÆzO»¦LÁð(G„Ù¸Óa¹#O`uÄ卯°l6jam:Ó„¬Cj[‡¢mvrŠ&©EÔV!HbV>Îòìò,+Ë}´¨ÿynIίï>6†xb?L ÂÐò\‚aEİ“ŠRM„$}”e½“Bq…¼MÅŽ‰öV¨úêƒvÃà—àÄ;sG¥´ÒT«©ÄÊÔ÷=`oÃXuÝäÄ›ïÉ¥Ä6°€ùâ/Äû %ñ>øK“aØfQ‹ÙH‡êaÊæØÁ«íºBèɤ/Mìû€`¨Jhª£#Š©£Â´WS»ó:{Öib¸^!Á;8m–g[ œ8Ë»I¹£hƒXó§ÆDJñâéeÅNáQHDÄ ‡RÌä èI)žø|ƒžoó>”à­«ÔYW‰„2HA@7Ià”NÙÏxï"zh­¹G-Ùµ½«\j'Å™Jï¶GeÙÅY\*ŠOF¬'{„ :Gý;,ˆÿ.ñ Ø{°Šúž]éMü(Q fxñ:ýø HeÎŽÌ—ëÎ 9É#øžhO! ßÝTãNêĺÞcš~§ãybR©-¢Ml.Ò¯‰~J†¼Mâëæ,«:‹#u2¤ŽsŠt73ÚvM‘/Ù$ASœn8!}qç«xÄ”_o=)ƒÌJ6=¥Ç·*ïdͲÛ~Hù V¾à,ó ´žJ†­’5/géOZøƒG§’~¦—EæIÏ]n²±Ìfx,“݇~tKùÒf–Õ“‹,âRËåð† ŸNâH”ÂÇìaËχ#J]~ˆÎŸ·Iz,öôóE†õd/ÎÖH㛜ԗɠ/ƒ¡éq¥‡vê5q~c¨ôê»´j£§6ª]~:˜Ù a%Ÿv#âŠ:XõHœTI'­ïú©Œç0¶|†€§ëÞâe6¿ç_âütM¹î'¦8Äí4 ã(©%g;<*OBð=Á×U+Aê(5†°V-Å >Žnrn#óv8y¡á„ +Ô«*VÁš8Á¾° ²I£{ÜE2Ç…û0Ñ1nl¯Ÿ_6ø'p‡À‹6$äFÜ#JCàÁ.lpÜyy…ò¤AiQljlhÖ:iµÈµMrØÇ‡qƒÅ‘Ñ~ñˆMjåQä•lM²I“ÐáߢQ{zþ}:Ø9ãöS8õU¿G§2±¥í_!±eÛU4|€ß]#Ä·Ð÷M¼Kƒl±bÂcî’Å.ÑýWðµ|ÍœœŽ•‘»„ÿkðˆt]Ör»/¡ÿ2ßZ½°(ñW²ñÍ!|s ¾¥áÛ{”o-„LõçMžJÜ{Ï瑪Ì#2Ù8Ú!íMÃÑ›¾&â¹ì:ù0zÈͰkb®eãœK8çœË¢‹„g^;axIº¨.óH£ÌDÖÕ² –¦ai[u`w¯`±ò¦øÙùGç³±Ë#ìò neáV‚È÷,ú¦ÙùGç³q«J¸U-¸•…[ @¤ïãÁ¸œq>·j„[µ‚[i¸õ.åÖ}.õØ7>8y—òGUâQb‰l¼¬^Ö ^¦áå ÊËU˜L=õ§X‡þSa'¾ÖÉg³ñ©GøÔ+ø”†OKþàë Ù~GWäyp%Ïú„gý‚gY¼ÚcX¯9yµàü£ˆóÙ¸5 ÜÜÊ2ØnÓ*~ŒÓùkb®eãÜpn(4ì¶/F£k¬+žÁ¬›Þeb#_”p=[#-šéÅÇu‹C´±n ¿á—+üÚÃTÇãÀÎ"¦7©˜¶`íù*ÌÏ& (i€Z*ê¦Ùµ5TNš š÷hÀ¢3\6 ’£×9³ìmÃÿ"›­RñiU2/x—(¼mØÚç4)€´¢jMÝ©#¹{kרUׯñªëƒÑõºNׯVØÅ ü'^¬ú·öø£¡fâO˜YW¯ùóƒ[¾¼ ‰r¼cÛQ’(¨ßæ/bé  lwä‹•q¤Ê˜åZ@6RŸXs´ä`qÛ>oS‹—Q>‡eUgÆCúTÙÓdd×ÍŽWè\µ§bÌtæ‹(ý82ˆ-“6 ÷âZ¥ç°uèÌ  ¹9hã–èÁÊÆ$§]ÑE:Ö‰ð¨Ãþ]/Öå;cwÎÍ ê÷(ÔøJg›`9Ud¥ý3M§&[±À"WïT£ü Š +10|k5æVKn‘–ù^èæÏ;šÃW^€+ç£9WÕšzÕ­X’8¾tûµž'93ÿj¥g¬Š²#ƒa¿Ûë‡Y9Ÿ&Ì‹PvlÀ:eXG‹nýQL’ŽÚ¦Ó Å(¾[ÝzÕêF ¹5p‡®!ä•ΠgZQB&lÉ-ÒÒÑ…nþ¼„‚õ¹-ѵÄ@;<¶ÄÇP´êÃQ©Èá‡$¾±:ŒB’TŠ¡ÿµcínþ¼#É7!79‘ùd‘$Iqñä8!ùÃÒWêà.:í…þS¹iU’Gòw£±~~¹Ñàæ5ó¬dÆÞgý=‡NÙ¼ØÀ¤cœ7šíóËõµ üçsnCxhç¶±"Ï×èJÖ×¾@¥Þ¢¹‚ÁxÌÝ{K¸w62Ú2Öé=¿a\U¸Z1,ô1 ÛXFß{è þ†ÏõáMt5t®Š®˜ðñ dýµÐük,ÔºôÑØ3.pDküÃJÞäJ>†GaÎŒg´ì7p‹„Òïr¥Ùâ¥b¾ý{ª†'ݳ¨¢a3lÊ¢#ÌðG´é]x×ÞSx³· Ã}§þŽpÇmØ‹ìYލòr Á>fëts“¬a8}¸!cÜå·+ïH=_B­9„tÀ…÷¹’;°(󌾎c¡+»Ë’î"OÛ2˜z× ão ü‡TrÄz߃gë_Ñ,2Ö‚~èþ%t¿É}c(a¹ ¶:žÂûÈn…CšEPµŸ»[º³ O¿õ¡ª;¹–KØmÐ )AšßKê{X"Ú Ë¯'ºÆï-§÷¾Z‹ãÜÓEX®þ´AòÎ"%ãCö0$-y)±òKþ²^Ë%€ø µ¿\@Nç„rã!ªãÉ.ÙèÉäsÐøtŽ·lPù]ò"­ågqKœÍÁ:·` ×ÓÂ:ÖyêÖÙ+¬sa ë¬a—|ëüêÃ:WXèÂBOÛBW ]XèÂB§°ÐmD›>í^XèÂBOÝB˶¶°Ð…….,´ÊB;l¡iyX†h—Ï6»°ÙÓ¶Ùva³ ›]Øl ›}“Úì/A÷¾Du8]XèÂBOÝB;…….,ta¡} ­ä7råUXç°ÎÅÊ»Â:_wëHgÖùÍXyWXçE°ÎÅÊ»Â:ÖYÇ:¿y+ï ½ºXyWXèÂB§±ÐoÎÊ»ÂB/‚….VÞº°Ð:ºXyWØìŰÙÅÊ»Âf6[Çf¿‰+ï ½6ºXyWØèÂF§É|¼9+ï ½ºXyWXèÂBz•ÂòÏñÓßâœXè`ÏÅ'B©ÙZë²ouÃEŸ>¢WËÅZÇK±,ƒi~S¸;i5_–lÒXW² |Ù(™«Æô$l#„€7ÙcòTd%­ì±uEÔ«¼q²V‘æPó“µZjYÃш}…¥í=*m¼ß‘£Ñw¨¼á¼.ò×~±#ILt,*ç¯n$*÷cÞ‘h±Êø*F¢–¤ÛE$mŸoöYhí ,t Õ0D¯·…–cÍÂBº°ÐE® _ ýn`O~¬~_àb úEÞÏrÈÛn OýÍ/[àQ<ë‹mt}\TžYk}ÃïÂícrSû>„q¶Ù“e <…Ù‚p| ’–,²÷>ø•CÐ#šQÆŸ&KQר#NöÐ_ì»àó]°ÓLŠpnËÐÉã;.]C¿±ìõQùñ Lê;ß‚¿ŽúºŠêB ˆgz‚ê:ï„}Ù+ôûÌoÖɯýšÞ†¾—ð_êÛFG’£o ¾‹RôŽÑ×Ì0¼®Æû'°ò¤ä¦ sìÚl­“ –§†äõ,–,AÙ­“NÔW‘ø‘‘ÉóÙº±L”/žŽ§tg aj¹%ð6²¥}a¼„þ”8dˆì}¡vâG§kãžÌ¯ÌöÊA²á ûÓi!¾®ŽäÊä _ï#*&Ø4ìëG÷ÁnÉc”é ™ Q‚ºŠ;Ÿõçùc_ÞÃñ{O¢®sWŽÖ2•¬|‹_cšAúˆ¯’‹òw"¡>²òxµæ{., 8Fê£&HÒ,dAìé"`¿„ÆÌºfÖFl¥]t}(“ÔBèy Øs倪¿bŒy Zrã¯'Ô?A¿ŸÝHmïyFuV¼ë› ¥²WêƒVŸiÖô.W^¿–%tcp„þÊô-ÍÞ"³#q½îÒï}tMQ½¯Eî=O_ìý½j°÷rF‰£ïTµï= I5¾¯DB§¶[áz䌎‘®AÞ%¬nŒcÐBñ>UûÞU _Û{J,’kº) !×a-„u¾…®¿„ÌL‰·[[hË·ÐîÂYè¨>Vº°Ò…•.¬ôâYéMxí=4Òǹó—`ép=x –Ï·ïpí…áêô_äé3(¯3&ÅZ¦©sç#L?v¾î8„²~^N’õ<ÊüFpk€Î9ô1iøÒæ,œ´©ú+JøNÀþ¹1‚,ÈéøAú ¹w~¹¿½†_£|@ãàœíyä,þ2ÑijFyÒ¼Øõ\éÞbV2Wªó’î›Át•HÒáŒsØ}o2Ô=È\w`­C]Êac}éë!`nVV$Ýx;r^Y•K¾ôåÌ cí¹ðýexMÀ7ï-]?Ò#O+w¬â—Èó·}ülù€ãrä”ÌË’ÕYF9CX“b"N`ÜñˆfsTÁ\¨ £ÌùŽrÔ=ž…Æ…Ñÿ€æ¢ÙSþ%:úZA”_ày¦ œ°6hNb–:º0‹È7=˜éÑ[C4N$÷~\yËŸû&< ~gÑ ]B\ïúc}æÕi¬ôr¿+Bð<-ŽçJìêYpŒ»k \yèc™wanÊßÑÅÜñе:D^˜C@¾7Üã{>%^pT¿ ídõ³q݉2>ÿBHô\߉¼û§èØ1/ù ,㉒€ùÉF“K‚‡Ú\;VA­«€Ò)tq’`Ç=X{W\âh°%:¡ˆaZ’×óéK‡Àï`\ÇK‚¼Æ¢.ÉÁ_‹¼7zíE’$|`<@w½„ÑâîÏÃ.ð¹WÓϽ: g“{/âÿT*Íó€éèKÅ·QÊE*sñK~/KÀÁÅšë´~×^`¿«êï}[ø°xA žÀ,Ó)<ýŸGôG_eq=Éâ~7æþ³¸g—¤|Ï.dñ|Óÿðz¥àJfy€ä˜°V· y¶È”^·G£\ü׃'’Øê_ìkà±ñXx6úÕkÑ?v ÔT+¥Ç­ï(ï|IòïYÏ"Ý0Ès‡â q¶÷À&´åù5ÎP\;ÿ®D•Ð=ÉOZÒIOâØ*íÊvyî¾xÖ¬H(ž5¼>ÏÖ$é›ïoE<5¡¶Âl¸] }ü¬g8¯Ÿ%NÿÌ÷ô-qøÙ¯Â¶øúÙbý§Ùfñäm”-þBù¢ú>ÒPö$.Ëè{ó7$ÓÑ£™Ç:·Êš?¿|ÜDejæx“÷Ú_"z&ú²…z±·µ>º¬ûîòx{û|7ö›ç—=ܾµmhtszÒ\·wɹ!ÒÜ£¿Öx¥¹MmÜé••5øµ²‡6"3@%×ñ ¶¡ŠÏš?]zøØ&?’Cßÿ ±…Ÿµq™:nŸ{˜ÜgíUv» ˆîâÆ=hoãsÛíGø°NÛmàÀZ{ß¶±ÖÆÙ=hã_Ûmøµ¹·ƒ‰lî#°† ‹ä+8Â’¯ñ~š¸¿íßk9t'>쯯ñÆ>"`ŒwwÜóKôgtYÃaH9˜Ò¸<o d7v×ðqoeªk>†ÊqCÑÅ]tÃÎî:Ô6ÞÚ¸š[Ûä€Oÿ:¨} ÀB£e0  Ѱ Éþ:$dºà¨ †¾ Sºàtj£íÖ6öá¼½r€íóøÄ£p|›êÈct{´µƒôö½ ØiC¹5 ³¾ð¯mc…ÜÀ$×>Çç7¶q]ãñ[¨_Bãq¨>“Öw#¨Õi u™¤.+¾®­¦âA DÎ7÷6ýóyØ•·¹3Bg®¡Ym5Áh즇{¸õ­]Thèvîxïáþðr¹Žüáþ‚`^k`>5Ûè‚è´;nn_äWƒüj_«¨Þæ*bàV Íj{¯To6‘æÔÐe¶^­V·Æmt´ìrÕò*¶MÚÓºHÛ먀YöªfÝ©ŒW¿D¤W¿ \]ùd2 gUʦ[s½¡[ï7Ñ¡^®»·V!T{¦k1ª^¹n:f-ªm[åºgyN@¶ §keÓs<»F [®-4×u’;N@3 @ÏNGZU/Û5ש²F9®›²QRoŠb¨»®ë¥ÃQâŽCq”Øã¹•tL÷D e*nUI‘XÃbŠMSOÔ«f3L»Ùj£Œ¿ØÀ’\¶lo¼þ4>Õ‡»@…¿!VÅòT¬zÙ­T;™–DĶ]·bS"Õr½ZAˆ%S±E*n½Re-©”=§îZÕd"ŽH¤V©ÙkŠW¶*–N¤âòT*eÇqܪK©8åšgš ˆ=‘J 5¦FÅiNÅr "žHµìÙvݬP"VI§Wq’©Ty*µ²íxõ:%b–ºãx¨Ôx"õ²‰©F9„DÅölGƒËu‘H­j!–"µ²W±ª:D:<ÔƒjÍ6ƒªåše:uþt*V¹êV‹«Z«j4¥'A±b×=Ú¡J¹RuQé TˆÙ¸zFÅ1‘øièá@ â–ëV­fºŒŠY­º:T†ÙEÅßÞ*lXÂ.) öM*2NÙ¬Yˆ×©ú„¨9"sQK0"ãŠd©s½ôRq‘ñD2•2ÒË©¤‘Aç·@ÅÊÚµ•2µQþà½Jð>A›Oáמ>!{eõSµ*ºó橯çÝ6ê!¬§Å¼')'ÞEþX½!5—!e5È~6Ïaèuä5>â{`©K€ ^ñJV/—Â^{ë´KƽgøUª#(÷) åeïdõœ>/ì¬ÿtŽÛc ýÁ“¥°ÏhifuË@ c|•=¢«hÛ¾ÿ*S>¡ob-M®ŽŸ ôÛ`k&¡a ÖžÉhÙ9´ÇA4>òÛCxy ¼‰Çs›¬K<‚³„»ä­(‡Ðš§pNÍ‘F_Ú°7)^¹¿ kGàÓ‰D”@6ˆ}Nƒ›¬&dïŸfÒtJû܃+ýH)XCm>¦ZŒûw˜P+A‚ß§ê™PУ3Dl« $®ú<£}à‘a­Â«9àÊÊç ]Ì“ìEêNІS¨ÿÊáåVèK‡ó¾Ž1Ëc]Ñâñ×m¸.Z@þº×E‹ÈtXäîÝÔØâ‚×™5yH±–mÆ=FFØÛ~ºP#yóQ>–Å i!ã~t; 8Ѐ•À€ÜPè‡l?¡8ŸÞ¾¤4ƒB S˜kí)œe>á*ù®¬ñÿÙ£Þ<©£çã¯S €ÿ Á"i!ûXa©Á2%£sì–¨O@¦ˆ´_Â_<–$’H²sªkO¥kKÆÕÎÀ–߇’Ÿs¶÷ÚýöŽùZ{ ­%;ZôéqÃ/MÊ~ Ï¡÷Àm=Ft(ÕM®áÑÏ™_÷ œ»ûb¯¸Gž´£‘Ö‰ñ—Šv ý¯ÁæÓ•ÝA{ÈŽQ¸E¯Œ?ƒ½–Õ­!£fEHkðÊÅÿküO8ógÔœ„îîÒe¾_ѳ"Ïþ“Ï”|¢ëz|Y¾üöÚ=¡V‘ňϨä+‡¾/dVïT¾Ž¯þOá÷)´ökÀczDÖs_:Ô.Ž}¸GùHÊá\Ïø_B›Én±#xÖ#ºÕD³ú°fgO^—‰o!‘…'[tÔLî:¥í$ø¦áæø’Cc©ƒ#h“?~¬Â"xÏðg=ˆ*ºP)ExÁð!k~ÓkÕ×B-#ŽVe5®#®T˜¶a¯ác3µŽùUÛµSt·Þx׉§Ÿòxw MX’ð&Ñü)Hð)èÃú¥«G<âb=2½°„w"5VÅ5©Ýgð»cüÔ¢4\ø b·}†x Äúw€³X›ÿÊüßæF›Ãßûóµn˜?þ•¹™ ½’ù·Í'æsɶ”Ì?4ÿÒ|Ú¼ÕúðºûÏôP2ÿùÏÍ_, ÿ"&k‘2D°‡nƒ¬“'”‰åêûÞZ–Ë‘VíG?þ»ÞºÑëþþÏïOôê-=|h”$oYú'åÝ?ÿ»ÿþÉ?ýê¿ï~AKÍßÿæàìàëý ‘Ù3ØFg¾8ŒÀæL×çõ–vÝ[ïgÿøý­É°Á4°ÌDÐQàòÿÛà_ÿì?eÀæsèÇ ÒC|š©Ñû_ü‹?úÞÏÿàç¿k”þø­ÿ±ÿ§ûÿá×zò˳Ÿÿ¡ð½ÿø_Œ¡ò_i”þ­ñ§gô½óCèháñËÃi¢–¼øãwR¡±A½yœu?ð3jú‘ŽùØ8VŒ¬ÅÑ[–H”äN"¬ur Q1 ;è’1¦G|ž¼äúJ®ß ‘èº!æ[屨d#Ò«6åå<*óœÆ{ÁûlÄQ(¯‹8öd|îx 3LdVGŒk[´ä)ÍÆ¨Êß~µ­[R¡O ÿj{·rt0©…ѥO§|ͺ½NÓ†0g‚ÝhÄÌßý»Ò¶GDW§-zw¤mÙaš¯”XË2W6¾îÀʆó?ºçõîÜØàÉtâîøËðLÁS°÷ÛtdöÀ –ÙÄ~ç‚êPFCdG™;¨ç÷п G¬>–ebõÝ¡-ø =–iŽä)ä@—aî†Ð~‰09žÝ1LãæµâVlCf#°F¹sGQ÷™oiïºY3ìU_Á(ÀßkF°b ¼'Þóç&pm*Ï¢3ÿŸ@‰ûR¾ŸµÑÙp–?¨ñ ü•?¸F²ƒ§º•„ç÷¨y¬xy6²­Â¨bM9 áú˜«•¬Klr%,x„[.ÑãJ\¯‘Þô¨<¼.¸3HäûO¸û7ÊußM ‡ß JŽ6=:ôè ÷eŸa%™´Ì“,‰Á»IgLÈÕ€ ×Ѓów}”XÙ‹ˆ²R¹cÈT.,ýâ]lv~tÜ%ÇÕ"BÖ²„¬„#+t"•×AÉÊ„’ƒ?RQ²§€’- d§DÉŽEé.ÒQ±lz¤ìLòäL)G@ÊI¡qN ”œL(9™äÉJ®€’›(Owa7@ñŽx¬Tw¨û>7â%¥¢âGΊj>€¾Š98<69‡‘ .ã·ðȯ‡(°÷d±‘'Ù­ÛéWT>ép€FgkˆâÍéÁzè{œ†ê|»Ë0f;iÚéÚWøÐ@¢LntMé(ä@‰ì™zÜ>\GpuÒ'#3±—2µ#kò†à¨V©t&šÖY t´Ú¨LÏIFÑòwˆÕ¶jOD;dUApþV ¸3²¶ñZ¶Š>ÏQÌÃ$ùŽÐ»´$.Ž»û¾ÄŸAçM~+¤ŸJz¨O=Écm³rmÛA.r–—I$Y—šž,Ëzqõ%ùªÙN¦]I¶3>ĵkžÒ›§ž¥ìZ¹Êî¤Ù¹ÅòùÚÜ|ýA¾¾*g\“¯7˜md“¯NMâ¬ôËÆâú„Å̧/½öÂx„ÙèQ°¼Ð>a±¼B1J˜†^]7¯°ˆyšb„ÀæðË Û m…­…´ÂEl>Kiž­Ö£4;+¬á_·¸|²ë–8“%ΫuE<|õ¤ùªZâEÎ’q1>ã-Lžd6#Ëë—'Y,¿PDèÓЫŘMÍÏ/,ªO("t|¦²0>añ²6yçEÞŸPŒ¦¡W×Í',jÖ¦'à3Õ…³ÄyϾ Y›":Ÿ¶4Çõ1¯Uï:–?[F(鮕SüLæ2 ‰¿éë¤þós÷)^¤&öTvž5Ù5Ù¹×äè99£§zÆNìS^5©ž· útè‘=’ícº½`Ôöò²«}ÿ©áh½w¯ˆªgË ûl¼VØ"q_†éÙèüꈶÖùÕm·ó«CeÁåçÑ'­ÃUÖÁ[ÚiXm¹ÆÇBŸ‚gAƒ;Uk:°ô/'”4iI¹ÆÍ”5’|Ä…F-)רWhR2IúØWèU>¨Ú‘5†µ,ŽŽ«]£YcXç’ù¨Sc5²FÕˆŒìFˆßôYmöäó ØÞì Õ§»íôén;}ºÛî¿ï//ŽT¡ò›ôžßò¥êSJGEʤa)hXJ)²4, aû4,Ÿ†­ä’І#Ñpbhà'’B4?BºLîl܃Z>5ȾGQ4ž4Ý ½çŸùøRõÔ6æéˆî2OøûšîÛ„¿]Hñ©¸ï|à×Ã;Ï{­™Ê˜-åY[yÖvóÁ›î¿¹s!Ù…ìÀù9:s"¼ËØ1< þ»è#¶guLê –Kîû’Áž='ÈáVmшGÜSIÌO2jªegH;È®dŒGâ¹ð. aŠVˆâ²‚âr Švî\z=ñ#9§“gF'\§:¯sßï«ÞAnG̰«î"ïÚõ1—VÓÅþ#Ý’q×·fbD£äœN¶nQø«Êܪr´ñ÷Š{¦¹—Ï˪3°i¤2^¶²I¤\»‹÷9WG–“Û{Š®“G·7Ý8ÝKêm>z­#z²¥%éî–õDGÇ¢´Dž»"¶ücØ“”Dq÷è7ƒ|šYCäY(¢1qõèè”,ûw•}º“:úÔëkX–—•}ͯþYÉùbùŸÉtk4‰fQÑÕð*ú¦~n:oO2I´5™™,ÞRYøxO’FCÔÞÄÖö&:–œ—ýi[ò$ù¶'Ë[Î UyÔ:œ‡•9çÁï<«œ‡*Ÿ0YÎC•O˜,ç1)ÅpÎ#K¯‹œG6ï.Î(èxáôžÞQFD£®cÌy5sÓ’Ê(?|dyòHÕžR¤ª¦›|G‘󸊑êr¦lâ]eÏÞŒx5Oi_,/t53W?ó®ç!ÞÏ“-ó®~V®È—\‡Ì»¬SËS¶ÿ‹œyÏ"ç„êlò%væ| ÿž¤yæKÒä"ôò%i20zù’4õò%I½.ò%Ù¼»;ƒ1¦‘/±¯i¤z5ó%W?RUËÙ´äwòHÕVxëê^¶:ô=¸úy½"_RDª“Gª²ŽL;S3+9_,ÿs53%ET”¯W™¿'Qï²Uä<®Bæ=­NÍ:ç.ëÅ´=YÞrN¨Î&çádÎy8sÈyLºþB﹘Ér“RÔ{.¦ÈyLÇ»ËÏYæåÑ«~Ô=Cà\Ó˜ójæ<®þ‘ùÉòä‘jeJ‘ªšnòEÎã:Fªó^ͼH‘jžr¾Xþçjæ<®~Î}ÚþgZ>gš9÷ôþG½ãa‘)¹9÷y?—¹H9÷,rN¨Ž¹ïòx˜] Æ×®°ÛÈì½ÖävU|šíÌC¾“Ýqðw/±ÖIž.g{ùïND­x°ì¶ëìÍï߇3!ÁõìO0Í›ëzÞ{š’rG±kÛwéœ[6úô 2‘£“<É’ÝeÕ&ñBÓ[M=Iä:‰WηfÍòc)úx¯q•y]³p`rÏ¡‹ûd+–§m&‘|½{u×JLSö'ãÊ·Úš¾5~µë¼}ë4ü¤-ìPÈûI ü¤ò“Ó·D9™d½äU³ƒÓ[Wpý,S´W¶'²LY3™“Ö{uyŸwl:Ûh`šöŒ·±ŽÂÆ:6vz+ø®_t>-}ÌšQš¦˜Œ÷ªÈÈÑŒŒâ×ÄÌ;2Ò›i˜uä2ɪ‡«f³§7ÿv=,–^áLÍr,:¦ŸOÈ×§; ùE'•OŸl&ìzÄöz¾uz2«ÉÜþû»&y7M´wô½4}ãHu-G€(æ[—‹iŸ†¨õ´¨‰mÞñi«iòï‰À4ñ»!ð›Šðªá.D¸Öๆ>ý%òÇFdrЗêI",'g #¼2-wN5¬ –â$ét ÷ó[è®× ¯Áû NaÎñú}¿øÕÄ|tvJÛÆÖGó+„bA,ã}ˆfüHÚ§»‡jzRPÀ-ùµÄ­·æQ+Þ+W¼W®x¯\ñ^¹7ë½r-°úØk¿B­·§xûæ|­$ywÛ¤”Uol›§ýÕåð$5«$`Ö–?¨ùÄG;œ‘ÊÏ3„ßvâc=z­Èzí©ÖkGÖëLµ^'¢ÞW¾ί^Ñ£„ë|6…:eß®õól¢?c%θ–¡z¯aÏ/q‰îÿÑÄüúv†¼U¸t®c¿õ Påã*ñÝ_º¶2ŠÓgttAôé‡~Öê°¤:ì)ÔaKu8S¨Ãáê`õ¸t”zŸJÌ]ª#w ñ½ä¤${^òŒ–x*ŒlK’Ýã¥@®ñD¨‰\g%øóFIjx'Ë!EÍ(¨Þ>·rÜG<@º7.AŒ–”cÈßS³|À.½ŽßNI4°LGÛµ¨sw3>#LJÝ¥˜|*Ü”¶¸Ò$ŽåK_H#vÆÑ»>¾2O—CWf‡§•O5¯ChÈØÙv2Òj^…óF¢vY‚ýSéó21T:&EMëI¾!YËT«…ÃZf-´–ÙSÑ2+•–%IJ¼–Y!~†¯ÌOgb-³SiY’…Ê¢e¶§«e¶+„½¦Ú×tï†èˆɨ†ëKÒMÕjðnÚ ­›î <`:ùÒÕÍeß(ݴ瀧—³Lg×òÑMÇÇÓQÆ—‡¸Ãé$Ó¥(tb=£“Ò3ªV´„µÏYhí«ÌÀ3¦‹¡tãÏeߨøÓ™žÕœ=cºØ=]üd¨ï! ½¿ ŸQëXÕ+Ãt> û~ó™ bN>jÕ™Þ‡oã¼ñJ‘´óh^7÷¬.Zè28SÑ…¯ÐßèÐ$G’¤ »”ìÓó6œ·éÌEx΃Qg4J@ɽ%în6ïÁ·ð7/jüô—?÷æ— uK1º6´{Žpé ¿ôWú#¥ŽÜƒ÷Ñ羕€ É÷—è\9Ρ`{P¢ó÷}:§_‚š RŸ€ªQ"ô›´üÑúÜj"fQVQ;¾Ž¥õ==r_ytNÁÞö`MÂÈ «x¬¥S(Ït3Vz=}aÕMû¯º¾‚¬AÚ~DÌÊAþv×÷IkñÏzFÖÿu#„&Yrl<¥Ød‘~Ôq¼ôJ@ŸÐ•ÛT(ÝEŸp+ž‚¶uGÑæuu6küIBˆÖñù¾-íĶüÆm9„Ui§¾¯'õ±È/ðû¯¹x€•¹Ê\(Ê’ÂbAö;ºìTö@Q62—°ßÑe¤²!Ý ë‰*!ßÂ:ñš/¨ä¿¦GÙÊÌe¥0¾*ZadU´Â˜†çîÕž’I%Ù¥¯ÅziàuiÏaÕê<–Z|¾kk±ÂÜ‚<÷Á7½F¼éDX™#ÔF¸1twã&²²ì>ä\q‰¡»D}#ç±æ+¼ŽhÏïÀìÂéâoG4¢dgH4y$ÔÉã\‹“AfÝðšÈØg<…6b[ý x‰OÀ|˜HG­„à­kxîê…o°qXÚQ¡˜ïXÍÏ[¶¦ìƒxç4F,êšx%[jþIu¦ƒÑLï“õG—Qã#ž×ò8)*¨ºçBÅ‹ùר1f¾ýVµ÷ud{_Gâr‰KüˆPî÷$§Ë¨½õÙñ8œš¬ÿY8<ÉVK±‡u¥8™Ã‡ŸÍ…Ó÷?ZÂÃ<–µu6<ž\Š'áqÐïÅÐâ,V,¥Žâñt-õäÞ(›¥V{pLc ùîç×ô Õs;qQšÎŠ¾Ì ÄQÑO—ð9²IWS­P­×œUÌÄjÜ3J¡Þ©æ^ª9F†pÇ™Ÿ7`Ñኟ`é .Ü¡qðWõý ·ϊ×H[Òæ:ñ˹# ]K¨o™föÈ/‹þcmXæ~±ëÙÚbI½·„oËŠZYb —ý6šϧS*Çô¾>‰±Q²é“M$mùciK ¹g°Q×§1 ²‡,eˆÏœÅð\ŘŽi¡ÿÌÏø³vûôò­Ó»ïü»‚7¨´:'T—hoƒs°Âö5·êõÂÿ.>?ÇfbîCË?=ñü"[1â4–=—ž^KI{MÿθgÿH¿~[º×Ò¼÷®“[¬æ‘öÔ(ö-, ²$öˆŸT=éöÂ÷§ñ­fòdBø}wüsÄÃ9Â9Ò6¼Ãdd‹ì¯e0íì¨,…̯šÒ³´}DY´°?²£öUPٻжá9¸»‚•'5\ä\ƒÌc^cò©ÁÕp‘s òóULGÂù;yr¸äPòBQRÎã1šd6‡È@ô]2}v×Eè.KÙ~‹«‹ð*ú®á® ÿ® å]á~Y ¬,e_øõ{¢å”×óÃö•Ÿ)¾ 3–if~±µÀ¨ŸøëéÉl9¶36â»ixÔîõÀs÷Fè7öÕ[—µk+å2;M,z‰kó©ArΧ9&ϧiUtçÍÓ^Ç;{ûç—;¦9¼´Ê¦éº¦7Þ1­á¥‰6,“,\Ä©àúE®ÙèÚrÝ.»vÕ±ôZ¶ìjйè*gÇkÍöùåZsïür{ ©”M·æzµñþY¯íŒ½‡«»§—ƯÖxo¯‰¾ý*Œ¬FH>¾2ØL\Ì“×è®õ."óÅV»KjeÚ¶U®{–ç$Õøÿdœ!¾‘ç¨K~$Hf FH2ð³*/a,sýÎô»,a]ã´ºì:e'›4À­ƒP¸–؃¶â[0E§ ¿62Uòß[óËàÔƒÖúù僇ûX<<€C{zú }@ŽkÛ£Ëá°ÿ¡;Ö‘>X߯¤¬Ž/!ÁGÿЯÍóKô÷ ôwü°½ ík¯àø¹¾†ªmµG—õñ­ª½ÑZã­ïŽ.]Û©»]«>†Î›¤ÏæøñÖ:‚±}ska`Ž[íáe½2nµaê«Öp3ðãæööùåjýY[ÙCàý)zÆ ÀFŽŒÃñÖîºr]9FWðnM¶OÁ¸µþ÷lue(¯ ;ƒÚxu} ·ru5}ˆètg¼ÚÞ€Bí\koÂauN®~‡µ]J`£¿[{P¨è¬6ZpØ%'ÛÍîÕ깸G¨ïµI%;„9l­àVîâV™ãõ‡Ö貆6&³þÐC´ÑÁ&ÆZÈüª °÷ÇsYaÑ9ÿþ,1³&ÄÌšf·(f ÷ñll±Ø¸›A 6¦›^OÀÆŒÁ¦W#Ø8vjt,—ÀÓ!ðt<5OÀS·›_¢Zºãv››j^ _ôü¸ÃâçÛ‡/Ƀ‰š¶‡fGMIÒâД$­“¯v„ÈÆ†!l7WÉ•69ò¾C!]}DNú>´ £$ì’Z0&ûÝÄk­Kkèæ«·N/£ÞvÒêmF·)F›[Áâ¶ {Jz›Â¤ÀÆœ6™P~rö”óGèvHÃ2K¬[iägκÅLú: ó dC” bJö‚Z +w”>P¢´ºÖÅYã+‰“;Nï)q¢Ö)=Fs·×q’ä„<‚7‘¾mÂúµsãâJz|KŒE=“G`ê˜:&u¤©«p{ÆzqeÎÉ]á–|œð€g3 cCðž›Ñ³™“@chLI 1hnShV`àTÎ*¬G@ Q€Þ¡éy4ÌRŸŠK‚ë‰ÕÜ€`lÇAÔŸ02² B6AÈ%¹!— ø0[…î WЉ4²qóž÷à$ks“ÍQê`‚áQ޳q§ÃrGž>ÀêˆËQ;aÙlÔÂÚt0¦ Y‡Ô¶EÛ:ìäL:ƒýÅNŸY·ò{þ%ÎO×”ëžqbŠCÜN“0Ž’Zp¶Ã£ò$ßã| Yµ¤ŽRckÕR<Áàãè&ç62o'“N²B½ªb•¬I€ì "›4ºÇ]$sp\¸ãÆöúùeƒw¼hCBnÄ=¢4ì†GÀG‘W(OŨƀÖhÁž)V‹\Û$‡}|7øQi}àؤ&ñWE^ÉÖ$›4 ø-ú¶ÛbPôé`çŒÛOáÔWýÊ<„í¤¾Bb˶«h<ø¿»Fˆo¡ïšx –ÙbÅ„ÿÆÜ%‹]¢û¯àkøš99+# v ÿ×à—# 麬äv_Bÿe¾µ(zaQâ¯dã›Cøæ|K÷÷(ßÄ×/ˆÜ{Ï瑪Ì#2Ù8Ú!íMÃÑ›¾&â¹ì:ù0zÈͰkb®eãœK8çœË¢‹â+@(^’.ªË<Ò(3‘uµ¬‚¥iXÄVØÝ+X¬<¤)~vþQÄùlìò»¼‚[Y¸Õ4ȻמIÜ Î?Š8Ÿ[U­jÁ­,Üj"}Æ•àü£ˆóÙ¸U#ܪÜJíw)·6üݼϤàä]ÊU‰G‰%²ñ²NxY/x™†—7(/Wa2õÔŸbúO…øZ'ŸÍƧáS¯àS>-ùƒ;¬+dûy@\‘äÁ•l<ëžõ žeñja½æ äÕ‚ó"ÎgãÖ€pkPp+Ë`»L«ø1þM?:ä¯=й–sC¹¡Ð°Û¾ Œ®±n-üœÎm_läë®gk¤E3½ø¸nqˆ6Ömá—#ür…_{˜êxüØYÄô&Ó¬=_%/ NPÒµTÔM³kk ¨44ï Ð<€Eg¸l$G¯sfÙ Ú{˜G5[¥âÓªd^ð.QxÛ°µÏ9hRiEÕšºSGr!öÖ®±«®?âU×£ëu®%^­°‹l·yþbÕ¿µ?À%5Â̺zÍŸ—ÜòÅàM”ãÛŽ’DA%ø6K·eÐ`»#_¬Œ#UÆ,ײ‘úÄš£%‹Ûöy›Z¼Œò9,«:3Ò§Êž&û#»nv¼zDçª=c& 3/XDéÇ‘Al™ì°I¸×*=‡­Cg^}È…ÜøEžôEiÏWIN»4¢‹t¬áQ‡ý!º,^¬ËwÆ:îœ+šÔïQ¨ñ•.Î6Árª0ÈJûgšNM¶bD6®Þ©FùAVb,`øÖjÌ­–Ü"-ó½ÐÍŸw4G^,öBŠæ\UkêU·bI àø Ðí×zžäÌü«•ž=°*ÊŽ †ýn¯få|š0/v|@Ù±ë”a,ºõG1I:j›N/£øBnuëU«%äÖÀº^„W:ƒžiE y˜°%·HKGºùó 6Öç¶D×íðØ"@BѪG¥"‡ ’øÆê0 IRqT(†þ׎µ¸ùóŽ$ß„ÜäDæ“E’-úòR?ž'$XúJÜE§½ÐJ#7­JòHþn4ÖÏ/7ܼæ`Þ‚•ÌØû¬¢¿ç°Ã)›øƒtŒ³ñ~ÕäúÚþó9 7àM»$°…Œy¾nDßP²¾ö*õÍ ÆcîÞ[½;°‘Ñ–±Nïù ãÒ¨ÂÕŠa¡iØÆ2úÞCglx¿¹…ßDWCçªèŠI߆ŠKVÑ_ ]Á¿ÆB­KA=ã@´Æ_1L¡äM®äcxæÌxFË~·H(ý.Wš-^:!æÛ¿§jxÒ=ˆ*6ÃÆäý¨ÏÈ D›Þ…wí=…7{»Ð1Üwêßáw܆½ÈN‘åˆ*/×ìc¶N77éÀ †Ó72VÁ]~ ¹òŽÔó%ÔšC@ \xŸ+¹‹2Ïèë8Fº²»,é.ò´ Óù wÝ0þÂH%G¬÷=x¶þÍ"c-è‡î_B÷›ÜÇ1†–›`«ã) ¹LáP8¤YUû¹»¥;É[æûÐ Õ\Ë%ì6è ” Íï€Î%õ=,måWˆ]ãwˆ–Ó{ßF­ÅqîiÈ"¬×Î@Ú yg‘’ñ!{’–<‰”XùÎ%ÿNY¯å’?@H|…Úß. §sB¹ñÕqˆd—l t„dò9hü :Ç[¶G¨ü.y‘Ör‹³¸%Îæ‚‰Î`[°†ëia ëÞœ•w……^ ]¬¼+,ta¡ ½ŽJaùçøéoqN,t°çâ¡Ôl­uÙ·ºá¢OÑ«åb­ã¥X–ÁŽ4¿)ܴΚ/K6i ¬‹+Ù¾l”ÌUcz¶‘BÀ›‰ì1y* ²’Vöغ"êUÞ8Y«Hs¨ùÉZ-µ¬áhľÂÒö•6ÞïÈÑè;TÞp^ùk¿ÎØ‘$&:•óŽW7•û1ïH´Xe|#QKÒí"¶Ï·{Š,4‡öº…j¢×ÛB˱fa¡ ]Xè"W¯…~7°§F?ÖF¿/p±ý"ïg9äÆm·…§þæ—-𨠂õÅ6ºŠ>.*Ϭµƒ¾á÷@áö1¹©}¸ÛìɲžB ‹lA8>PIKÙ{üÊ!è‘@Í(ãOH“¥¨kÔ'{è/öÝðù.Øi&E87€ehˆdŒñ—®¡ßXöú¨üxH&õoÁ_G}]Eu ¡Ä3=Au€w¾ìú}æ·ëä×~MoCßKø¯@õm£#ÉÑ7PßE)zÇèkfÞFWãýXù RrS9vm¶ÖÉËSCòú –Ë – ìÖI'ê«HüHŽÈäùlÝX&ÊOÇSº3Ð0µÜˆxÙÒ>Š0^BJ2Dö¾‹P;ñ£SеqOæWf{å Ùpýé‚´_WGre r…¯÷löŽuˆ£û`·ä1ÊtÐL‡„(A]ÅO€ús„ü±/ïáø½'Q×¹+Gk™JV¾Å¯1Í }ÄWɃEù» ‘PÙy¼Zó=–#õÑ?$i² öt°_BcHfÝN3k#¶Ò.º>”I j!ô<ì¹r@Õ_1Æ<-9ñ×j‡Ÿ ßOn¤¶‰÷<£:+ÞõMRÙ+õA«Ï4kz—+¯_˺Ž18Beú–fï‘Ù‘¸Þwé÷>º¦¨ÞÇ×"÷ž§/öþƒˆÞ?5Ø{9£ÆÄQÈwªÚ÷ž…¤ßW"¡SÛ-p=rFGH× ïV·NÆ1h¡xŸª}ï*Ј¯í=%É5Ýë°Â:ßB×_Bf¦ÄÛ­‰-´å[hwá,tTŸ +]XéÂJVzñ¬ô‡Æ&¼ˆöéãÜùK°t¸<Ëg„Û÷G¸öÂpuú/òô”דb­ ÓÔ¹óȦ;ßFwBY?/'ɉze~#¸5@çú˜´ |isNÚTý¥ |'`ÿÜAätü ‰}ÐÜ;¿Üß^ïQ> ‡qpÎöÈ· êd®;°Ö¡.å°±¾t„õ0· ++’n¼9¯¬Ê%ß@úò愱ö\øþ2¼&`‰›÷Æ–®é‘§•;VñKäùÛˆ>~¶|Àq¹rJæeÉêŒ,£œ!¬I1'0îxD3„9ª`.Ô„QæÇ|G9êÏBãÂè@sÑì)ÿ}­ Ê/ðóê‹4Öz9Œßƒ!xžÇs%vu‚,8ÆÝ5.ȼ ô±Ì»07åïÀèbîxèZ"/̉! ß› îñ=Ÿ/8ªß†v²úÙ¸îDŸ!$z®ïDÞýSt쇂—ü–ñDIÀüd£‹É%ÁCm®« ÖUÀ 錔 º8I°€ã¬½À+.q4XƒPÄ0-Iˆëùô%áCàw0®ã%A^cQ—äà¯EÞ½ö"I>0 »^Âhq÷çaøÜ«éç^…³Çɽñ*•æyÀtô¥¿ÆâÛ¨GeˆÎ¢?•¹x‚%¿—%àà‰bÍuZ¿k/°ßUõw¸ß6¾4ðNSG9hY>Æ­lÅÏVØ€>~¾­ 6[å Œåº`o‡0º³a ‡cÏY ÝëéÛÛPRwZ¯û¡òN]{ƒ®X;5åÇþ³âÙô\ï&á1^iFF|乄ðˆ¯:W“û: }S£~[<;‘ͳ`=è2÷díM´°²yl}ß¼ðîõü8ñ>jç1<B®”üUŠY­ èƒÜöAI}Ÿ¾-üX¼ O`–éžþÏ#z‰£¯²¸ždq¿sÿYܳKR¾g²Àx¾‚éÿ x½Rp%³¼ @rLX«Û…<[dʯۣQ.þëÁIlõ/öµðØx,<ýêµè;Pê ª‡•ÒãÖw”w¾¤Gy÷¬g‘¾e¬Aý/Q Oýu—ü¹,¶f£Ub×{4ΪskJÈ3&âõ|Ÿ{:}Ër µƒÕæ=Îô3‹áHO.~_ÄÜ5„œv]ƒ¿Âzs‚Ë ø<ìJr½1ub¬:p½9¬ºÀõ.d4ê×ñ¿!”MnC§ÿ×Qð3O/’!c³0le~|ÎrïñVZ ^0 ËÇtgÚpœ2;:„ü?Ž&p“­Xü|[fªMð%&}v©c?Q¶Þ)èq–[ÞqlZëþÓà,G‹ä)qñy¶SÌ&põù5*\|Ò%ÿ=ä*¡{’Ÿ ·¤;’ž Ç#á´Ï!É+­Š'ÃÉú±âÉðëódxM’¾ù>ïöVÄ3nj+ÌvóÜúxD6ëõ(×ϧߡcú–8ü¤na‹ [|ýl±þ³Ç³Ø'A°ÅãæÊÞùåêÚöèrHÿ7ȯÕï÷¬q£é[ëw ëù$Ø€Úë·¹3BgZë»—渱·:‡Ú;£KýÚ]¢:ZëP¤Õ"×6ÉaÆ{û«ç—¬¢ÐÉ‘q<Þi~~ù¸‰ÊÔÌñ&=DôLôe µzok}tYöÝ!dìööùoì7Ï/;{¸}kÛÐèæ6ô¤¹‚Š£»ä\‹iîÑß k¼ÒÜ&‡6îôÊÊüZY‡C‘ ’ëø†ÛPÅgÍ.=|l“ŸÉ¡‰ïÐØÂ‡ÏÚ¸L7ÈÏ=Lî³ö*»ÝDwqã´·ñ¹íö#|X'‡í6p`­½ƒoÛXkãÎì´ñ¯í6üÚÜÛÁD6÷ÈxܬWp„Å]ãý4qÚ¿×rèN|Ø__â}DÀïî¸ç—èÏè²2†Ã,r0¥:6py$>ÞÈènì®áãÞÊ6T×| •ㆢ‹;»è†Ýu¨mÜ|° Iœ¦ÑÇWBF{k lnm“.úët»2¡U!rÜ{Ÿ.22aˆŒ§A«t:l36LŒÖa‘*v¸Ûí÷ö}{åiÙçp5Z:àÜFÔ. ²Âzz²Cx´³’²¾|XÛÆš¸É­}Ž/ol£ ´šþ‰-8ßÜÛôÏJžAÉW[MÐè=À´ñp·¾µ‹ ÝîÀï=Ü^.בô=<À_Ìk ̧f]°ÑvÇÍ òkƒüj_ òkÕÛ\E ÜjƒXmoããÍ&ëºÌ–³EãÖø Ž–]®Z^ŶI{ºC©I{0Ë^Õ¬;•ñê—ˆôê— «+_"Asô¬JÙtk®W#t+ãý&:ÔËu·âÖ*„jÏt-FÕ+×MǬ%Pµm«\÷,Ï È¶át­lzŽg×(a˵…æºNaÇ h†èÙéH@«êe»æ:UÖ(ÇuS6Jê­CQ u×u½t8JÜq(Ž{<·’Žéžˆ¡ @Å­* kXL±‰ b ò‰zÕl†i7[mÔƒñX’Ë–íׯ¢úp¨ð·#ĪXÞ€ŠU/»•Šc'Ó’ˆØ¶ëVlJ¤Z®W+±d*¶HÅ­Wª¬%•²çÔ]«šLĉÔ*5ÛaMñÊVŲÒ‰T\žJ¥ì8Ž[u)§\óL³¢±'R©¡ÆÔ¨ø#Í©XŽ£A¤Â©–=Û®›JÄ*#éô*N2•*O¥V¶¯^§D̲SwO•O¤^6‘"Õ(‡¨Øžíhp¹.©U-ÄB¤Vö*VU‡H‡'‚zP­Ù&cPµ\³L§®ÑŸ®@Å*WÝ*b£bUkU¦ô"È VìºG;T)Wª®£#*} 1WϨ8&? =TÜrݪÕL—Q1«UW‡ÊP "»¨øÛÁ[… KØ%%Á¾IEÆ)›5 ñ:UŸ5G$ãbî"j©Fd\‘ 2u²—^*n#2žH¦RFºc9•4’‡¨TD*Õ2’™:3ÞšZ€ÈTE25T¦†ëO£’ˆLM&SG1Ó™D¦.’©#}rM³–ÎV!:‚…°³ìV±¥Ig8®HÇ*[–cÙõTV‘éÉd*•Šç¤t)ˆN_¤c—QkªU/ƒCt2Ïtìz%»Et†2ÔÏuÒùþž…FÕº‹šã¤ DÑZp±fÂ8pU˜}8lU;b#œ§’ÈG²®È|™H¤=7™N%ŽÏÈ~¹äÃÕÀ‘Œ„$wÈ€ÕœZÕNd#Y I°íqëu'QîÉLHj‰¬†S«TêÉdb­úé¹Èuh4§gµp/ÍJ%Ù¿8’™Œ(æ Q*lïÇÙtÇ)»NÍN¶~Žd&$ã /Z«WL~ 㢃ÂÛIæ—d&$ÿëxeÇFF=Y½$;!…ˆN¥îÙžF{ì¸èÑ©£6&{+Ǔ“Ј6Ú†­Oxüš@edÄ8R»Wžh4¤ VdO´R„­ÍsO4R´¯-‚^ìÐC[#<ÑbˆÃ mýôD{!ŽÈ´­…'Z ap¨mº<ÑTˆãTmCꉆB2ëZuO´âè]ÛÅxž”Ôà3 ÚÏó¢“ÚÞ×󤤟_ÑŽPøêÑ LBßÄZš\?Aè·ÁÖLBì=“Ѳshƒh|ä·‡ðòx7æ6YRxg wÉËI¡5dU‹š#%Œ¾´a‹P¼$sžO'QÙ vö9 nJ°d޽šIÓ)ís®ô#¥` µù˜j1îßaB­ ~»¨g>BAÎHi°í¤:€’ø8Òí k^ÊyWFPn8íbžd/Rw‚6œBý'P¯…ê@_:$˜÷uŒY 芿nÃuÑò׸.ZD¦Ã"wï¦Æ>àxt¸Î¬ÉCŠ}´l3î1ê|4Â^ºÓ…É ˆò±,nH ÷£ÛhÀ©€<¢È …~ÈÖøŠóèíKJ3 2…)°¶ñØžÂYæ®’ïÊñŸ=êÝÉl=büoH ÙN K –);`°D}2E¤ýþâ±$‘Dâ)‚²Ñë¬Üªûž_Q4 bûWz[`Yÿ>بï#;§ºöTº¶dœQí lù}(ù9g{¡Ý/a —¯¡µ§ÐZ²±DŸ7üÒ¤ì×ð8xìÑÖcD÷‡RÝäýœùu¯À¹{° (öŠ{ä i©h×Ðÿl±s|{ÈÆM¸E¯Œ?ƒ-Õ­!£fEHkðÊÅÿküO8ógÔœ„îîÒ5¸_ѳ"Ïþ#¹Ï”|¢ëz|Y¾ü¶¼=¡V‘ňϨä+‡¾/dVïT¾Ž¯þOá÷)´ökÀczDÖs_:Ô.Ž}¸GùHÊá\Ïø_B›É¦­#x9ºÕD³úð0)Ξ¼.ßB" =N¶è¨™ÜuJÛIðMÃÍ-ð%‡Æ(RGÐ&~6üX…E%ðž'àÏzUt¡&RŠð‚áCÖü¦×ª¯…ZF­$Êj\G \;©0mÖ¿Ç gj!ò«¶k§èn=¼7aÍyG»iÂ’„7‰æOA‚OAFÐ/]=âë‘é…%¼©±*¬Ií>ƒßãÿ ¥áÂg»uèÃa%Ö¿œÕÀÚüWæÿ6ÿ3úûØþÞŸ˜ÿ¨uÃüÙð¯ÌÍTè•Ì¿m>1ŸK¶¥dþ¡ù—æÓæ­Öoüƒ×ݦ‡’ùïÌnþâ`iø©0Yƒˆ”!‚=td¯·´kìÞú{?þÅïoM† ¦e&‚Ž—øßÿúgÿ)6ŸC?‘â+ÐLÞÿâ_üÑ÷~þ?ÿ]£ôÇoýý?Ýÿ¿þ Ô“_žýüõøƒïýÇÿb”•ÿúK£ôo?=û£ïý›BG _þKµäÅ¿“ êÍã¬û±€‡˜QÓŒpÌÇÆ±bd-ŽÞ²D¢$ïpa­“kˆŠIعxD—Œ1=âóä%!ÇÐWr}üD× 1ß*Å&‘^µ‘(/çQ¹˜ç4Þ ^+#ŽBy]ÄÙ°§ ãëpÇS˜a"³:b\Û¢%Oi6FUþŽð«­hÝ ”ú}ùWÛ¾• ƒI-Œ.u'e}:½àkÖíuš6„9l3 fÖø–èß•¶="º:mÑ»#m;ÈÈÓ|¥ÄZ–Ù¸²ñuV6œÿÑå8¯wç~Ä~[&¿pÇ_Þ€g ž‚½ß¦#³—yj/°`™Mìw.¨•a4D¶ ¸ƒz~ý zÄêcY&VßÚ‚ŸÐc™æHžBtæní—“SàÙÃ4>1lZ+nÅ6d†1k”;wuŸù–ö¾¡›5Ã^õŒüM›!ÖÀ{â=n×f¡ò,*1Ñ1óÿ ”¸/åûñY gùƒŸÀ_ùƒk$iª[Ix~߈šÇê—gó';Ð*Œ*Ö”Ó®¹Zɪ¹Ä&W‚Qä=®Ä¥ñéMÊÃkÀá‚;s´A¾ÿ„»¡ŒqQ÷ÝzøõœähÓ£C®p_öQ’IË<É’˜¼›tÆô‡\ Áp =8×G‰•½ˆ({!•;‰HåÂÒ/ÞÅfç÷@×È]r\-"dM!K@ÈJ@è1²B'Ry”¬L(Y1(ñ#%{ (ÙJvJ”ìX”î"˦GÊÎ$OÎr¤œç¤@ÉÉ„’“IžÜ) ä (¹‰òt¶yïˆÇJu‡ ±ïs#^R* !~äÌ#Düx‡®èÁè†Ì“ȱµâJ †˜žgaß‚e'mcQIj~&qDޏEáRxuösáï&ü=¡ž/,G¥ô…äƒxà:´ ƒZýýðªUtî·}^„gÉîd­QXÿIkcÜ?É•º5UêöT©;¹S÷Ws”õÇSçV' ôIÌ7)unUsˆ:]ݬŒ(ɺ«SI3åñk+]ö³}qö;(Íòr\+æäXùä1£^…Ñ‹;’6ñ}RÅåb™“P6?u䣨æá諘ƒÃc“s™àòG0~ üzˆ{]y’m¤±~EåãŽht¶†(®ÑœÞ¬‡¾Çi¡Î·» c¶C¦}®}… $ÊäFgÑ”€ÒA”Èfx'ÀíSÀuW÷(}22{)S;ò±&/êj•Jg¢iÅÐIG«Êôü‘d-ë?m‹¡öÄA´CVçauÁ€;#k¯e«èóÅ ½ZŒÙÔüü¢ú„"BÇg* ã/k“w^äMð ÅXazuÝ|¢fmŠq>S]8Kœ÷<ᛵ)¢óiKs\óZõ®cù³e„’îÁS'îAD¯ÏâžIŸ<˃›qÏSÄï÷€ï‘Ÿž OÿFó=ýÓ¾e+Ê–’²e[IÙɲ£ |¬ó¤«£Ã5ëöiÒ¹¾tã)ýgæîS9ÅÏd.’ø›¾Nê??wŸâEjbOeçY“Q“{MŽ€ž“3zªgìÄ>åU“êy» O€Ù3 Ù>¦Û Fm/_ »Ú÷ŸŽÖ+q÷Ѝz¶ ²ÏÆk…-÷e˜žÎ¯Žhk_Ñv;¿:T\~}Ò:\e¼¥†Õ–k|,ô)x4¸Sµ¦KÿrBI“–”kÜLY#ÉG\hÔhÑ’r}…&%Ó™¤}…^僪YcXËâè¸Ú5z‘5†u.™:5V#kTÈÈn„øí@¯‘ÕfO>¯€ííÀ¾P}ºÛNŸî¶Ó§»íàðû®ñòâHõ*¿Iïù-_ª>¥tT4¬H–‚†¥”"[AöOÃòiØJ.©h8 '†~"ù(Dã±ñ#¤ËäþÇÆ=¨åSƒì{Eã‰@ƒÑýØÐ{þ™/UOmcžŽè.󄿯é¾MøÛ…ŸŠûÎ~=¼ó|°×š©ÜÙRžµ•ga7ϼ©áŽñk‘;’ÝQÈœŸ£3(rÁ»ŒÃÓà¿‹>bëqVÇ©j¹ä¾/ìÙs‚nÕxÄ=•Äìù$£¦ªQFq†´ƒìJÆx$ž ï¦h…(.+(.§ hçNÑÉ¥×ã?’s:yftÂuªó:÷ý¾êÝävÄ »ê.òΡýPÓxi5]ì?²Ñ-w}k&ÖA4JÎùèdë…¿ªÌ­*G¯¸çaš{ù¼¬:›F*ãe+›DÊu±»xŸsud9¹½©èÊ1yt{³ÑÓ½¤Þ棗Ñ:¢'«QZ’înYOtt,JKä¹+bË?†=IIw~Ã1ȧ™5Dž…"WŽNɲWÙ§;©£O½¾†eyYÙ×üꟕœ/–ÿ™L·&ñ@“hV] ¯¢¯aêç¦óö$“D[“ù‘Éâ-•…÷$i4DíMlmo¢cÉyÙŸ¶%O’ßi{²¼åœP•G­ÓÉyX™süɳÊy¨ò “å°u¹˜öiˆZO‹šØæŸ¶š&ÿžL¿¿©¯îBä€k žkèÓ_"qlDÖ!})¡žt ¢Árr8É+ÓrçTú`)A’NA×po0±Õxîz òú¼Ÿàæ_ ßð‹_MÌGg§´ml}4¿ÒøG(Ä2þ7чhƤ]ñxº{¨¦ ÅÜ’_‹à@Üzkµâ½rÅ{åŠ÷Êï•{³Þ+׫½ö+ÔŠp{Š·oÎ×J’w·MJYõƶyÚ_]OR³JfmùƒšO|´Ã©üÖө׊¬×žj½vd½ÎTëu"ê}å[áüê=J¸ÎgS¨Sö-áZ9Ï&ú3VâŒ+aª÷öü—èþOMÁ_ ogÈ[…K÷á:ö[ŸU>®ßý¥k+£8}FGDŸ~è×aM¡KªÃžB¶T‡3…:®VKG©÷©ÄÜ¥:r×ßKNJ²ç%Ïh‰g¡’Áȶ$Ù=^ äO„šÈuV‚?a”¤ˆw²RÔŒ‚êísK ·Á}Ĥ{càÄhI9†ü=5ËìÒëøí”DËt´MP‹:w0ã3¤Ô]ŠÉ§Â}Ai‹+MâX¾ô…4bg½ëã+ót9tevxZñT£ñ:„†Œ-`'#­æU8o$j—%Ø?•>/ÓC¥còhQÔ´žä’µLµZ8¬eÖBk™=-³RiY’¤Äk™âgøÊìðt&Ö2;•–%Y¨,ZfûxÚ±ZfK±BØkª}]@÷nˆŽ¨‘Œj¸¾$ÝT­6 립кéÎÀ¦“/]Ý\öñÒM{xz9{Àtv-Ýt|<e|épˆ;œN2]ŠÒH'Ö3:)=£jEKXûœ…Ö¾Ê =oÃy›Î\„ç<uF£Tð‘Ü[âîfó| ïpóò§ÆOAùs/`~™P'±£kC[±ç—¾ðK_p¥?RêÈ=èq}Ná[ ¨|‰Î•ã ¶%:ß§sú%¨™ õ è %B¿IÛɯá­Á &bEaµãëX:QßÓc!÷•GçìmÖ$Œ ²úÇŠP:…òL7Óa¥×ÓYÝ´/ü: ë+Ȥ}á×AĬÜäow}/´6,ûŒ gdýY7Bh’!ÇÆSŠÝHé7AÇK¯ô ]¹MeÒ]ô ·â)h[Pwí`^‡Pgã!±ÆŸ$´hŸ¯áÛÒNlËiÜ–CX•vêûzR‹ü¿ÿš‹X™ ©Ì…¢L ),d¿£ËHee)cq û]ö@*{ÒͰž¨âò-¬¯éñ‚Jþkz”­Ì,PVQ ã«¢FVE+Œixî^í)™T’]*ðZ¬—^—öÖY ©Îc©Åç»F°+Ì!Ès|ÓkÄ›N„•9Bm4#Aw‡0n"+ËîCΗøºKÔ7rk~°ÂëˆöüÌ.Œ.þ¦qD#Jv†D“GB<Áµ8dÖ ¯‰lý'qÆSh#¶ÕŸ€—ø¼Á'€ù'€tÔJÞº†ç®^øñ‡¥…ŠùŽØü±ekÊ>ˆwNcÄ¢®‰÷P²¥æŸ„Pg:Íô>Yt5>ây-“¢ò‡ª{.„Q¼˜cæÛoU{_G¶÷u$.‘¸Äå~ßArºŒÚû1PŸÃ¨ÉúŸ…ÃÓ‘lµëqXWŠ“9|ÁqøÙ\8B+lWóþúhº’Ç:¿›«ß¼¬»ÖÉ!-\¹G—iô¬jeO¤Xõ“Éf 9ØÏ]“WÎÈA²\ö\L›fú[xiílÏ££ýƒTs1öH ûQ‰lÄH‚اE‡ÑÐÿtìö«ã(S‰AZð§¦_Y íX µmkBTúÎÊþWºxœí‘Û8 FSHI!)$¤’FRHn›wóî HÉY¯Ûx3žÕꇤ¢úùs†a†a†a†axI¾ÿþÛïÇÿ»'UŽ{—áÙùðáÃo¿¯_¿þª÷Ú¾gýW9ª Ãû¼Ïâöð–þ¹»¶ŽÕo'®GW {>~üØÖÕJþîÿlúôé×ßoß¾ýüòåËú¢öµ¯ò)*/Îåç‘Ný\®ÚϱÚoù“v[iZ_Õ±aÏJÎþ/:ùþüù×6õOÿ-¹” 92b?çTþÈ™×þlôkÎ%?·Úåöìä_2òø¯èäÏ1äBµ ‘sµ÷YäÇ5à>¾:†>Êc=1ìÙÉÿ¬þOùwï èyä^«- ×Ú¶,ýÌXÉßzèû•žuÃÐsMù#×’U]ë>H_÷˜ÀyøY’Çvº!Û‰õŒå_mÄi ÿRuâþs´]ÍXœm§_gû)YYÞ)úmæ]×y,—²¬mÚ z†1Éêša†a†axEÇß“G°×§ÿóo/ïYòÝú\êkº6õ®x„ËèíjÏægHð–ö¾»–÷óüÏØñ|†yž÷u¾Ä.½•üÿ†þó\þô³aÏæŽM&ýwéÛÃäké#Ïú$?Î]ùMço¤Œ\ýȾ,Û/íßÚ¥—ò·âQÛ@Êß~6s?)}‰Î,¹ l¾ìçœô ØgX #ìvçQç´“ög·Ú ÷Bž™òîìÙ™^Êßuô¨ã®ÿuh½à¾m?Ž}{]ŒÐ.~È}Ðv_÷ÿJ;ëxçoÌgJöëôY]’Þ³ë@¶é.ì«)™áoqC–ü¿“?}ß>@ÇûXŸÀÎߘò'-üäÓÉÿ(½W‘?Ïöú›²±¼‹ôÅÛçúÞéô‰Û ºÅºvþÆ”¿ÏëäOœÊ™ôRþœ×ùÃþvì[K?[A}¥?-ýwöíåµÔmÑÕ‘ý}¿g\=ö€c¿¶}ñ³M¾‹ ½ÃüÃgggÓêüàÖ èÇ„çÜÀô-B^ëók_g?Ìò ¯F?œ£³« ÿ•Ý×v0||ØŽÐØ=ǧH¿PÆîÛgçsì·ã/ÇhØ‘ñI ÇtýÜ~×{‘òçún^§}¶ïZæøºyDžë—óÏì·ó5èˆéÿçXÉ¥ÿWvðô¥§O)í"û±c0ÎËvYà“ØÅ ÿçZòï|~à¹_%/Ï,Îôp\€ËɹyΰçZò/ÐÉé;/x†ÖáÎsõü_é·9?ÿ«PÌܯ5Ý»\í[½ãy|ÞÙÃçõÄ8ÔÏÝøŸgäû¿ËʱL{ä? Ã0 Ã0 ç_àk3¾Àç†>´’ãøŸÛÜÆøzä«Éø_ƒüÇøü\Sþã |<®)ÿb|ÅÊç7¾Àa†a†axn.µ•të†a?lÄ÷^Cã•ßvk­¬Ø½#®àýÜ~eûî)ÿ´3<3^×Û¶¹Âkð¬dlùcÁ&·jK+›œåo"eòú<.ãÊž`›Áê^(3zÌòÏöèu ŸÁ¦lÛ+6»úßv´î›<™†×ï‡ ¾k7]ÿ/lÓc[`ýOÚöùÐn}½×çòš„«ï ‘GÊß뎱š×Äzt¸^vßä2)?;WmÆrõ5üoäcö³ŸþIzì?ú¾˜‘Oî÷zx÷Œ{¹&ØÇ!û…e¹z.þ©ü»ýüÓÔÅ"ѯÑí¤ô ¹Ý1üÖóäÁñGg×ÿí{+Ò·’×lûw<ý=}GݽìÚFƨ^ú)õ¶ìzIpäG¿•ü ¯ãKì¬ÖœÎ{Í{ÙÉßeÈï ûšG•‘12éÇÛ­¯Ïq¯§™iumf—“>¿.¿ÕþÝ}¬®Íëòœ®~žaì? Ã0 Ã0 °š[u´¿›+ð7øSvq¬ÃïìæÖ­öyÎ…ç ½?Þ‚‘}¶¡åœXùçwíŶ‘ÚvÌ?ßå°ß©ð÷DðÿùZÛ“ð-q/–?ß³ñ=¿ê<ËÌ~¶Œ›‡#ýßÙæ­ÿÙæ»>¶ÓÙFkÿŒÛ"qþøz°r­¿Qèo 9ÆÄr¦,øˆî­§nÍY[;í§oæ:)@¸-`×§-Ø7‹ü({α߯›SÒí§Ýú»@¯ÂµåßõŸKäï9èîüÖ ¿É¸“>:ŸnÁ3éç _[ÿ_*ëmt°cmìÃC>äq¤ÿSþ´L“øÇ<²?ç=÷çÝ<ò¼6Ç;ùãÇ«ôsü÷èþÜa†a†a†{àxËŒ™\ÅÞŠÝûêpxç¶?0׋¼#ÿ5žßàøzæÇÑ™ƒc¿]¦³²¡x^úêl‡ò¼ •ÐÇ(×fù±ÿ:~Ÿ¦ËÓÙ£^l iÅnç59¯³©žWÇÏ~·\;Û?vþnŽ—í»öç’6eÌr¥ßÑý¿óUbS~vù§þ£^¹÷U O7O(é|;+ùSÏéGôü4|?Øfí´ÿÐ÷¶*?ÇrŽ—÷W~Ï2ÏoÅNþ–ÙŸÊ¥ÿSþ9ÿ×~dŽa«ç˜çòîÖ‡ÜÉßmH‹6öìmÀXÿ[ÿÝJþ…ý~Îs.ãÚyœÑÿmƒ4Ù¶OÜíï|Bÿ­düžò÷ø/çøÙ˜þÁb5þÛÉ¿ÈyþÝøïUä? Ã0 Ã0 Ã0 Ã0 Ã0 Ã0 Ã0¼.ÄP—~þ*ÖÎ1@G\⟿äÜKÊðÞßrKXÿ˜µs2â±(ߥò纎Jëì·º8”ŽŒ'>â’X@â–¼ÎQ¬ûQýb£àÚqôŽòwx‰ ìb÷)“¿ëî¸_ÊK|•‘vÎ ÞÜ1çŽÕM¼6keŸe-2Ç›ïú5ùŸ9—ó?K^ŽEº¤~‰9òϱQï±®Y®×F¹8–ëN?å~;:=J<—ïÛßþ¡-ìtñºÄ’yNAÞÇég»þCþŽ \áûNýâXÊKê—s)'é^Kÿg\~âç2}›6í}Ô³¿·áï)¹Ün]O»ûrÞ^Ì÷³j‡~†"·î{pæ¹âù29w€6”Õ/Ð.Ÿz-ví:û+ýÇÿ£ó²M{ÞW—ýûJY¹¯Z÷­Êêµ¢`%·Œ íÒ¤l9…¼ç•íž¶™Õ¯Ï#OÏUz+èÁUÿ?;îýùsŽçÜdš~vñàN·›‡Dç7*.Yç«+v:Óye;ôø8Ë}¦~éÿÝ|…·²+ÑޅNþ9£àÝÀ}•{BÆž#t¯é˜×xîãÕ­sXÉ¿k¯ŒS¬Ví›ü/Õç»uJ=oê Gý¿ð<‹Õ»L'ÿ£²óL¬ò:äD]²6Üj¬f™ògL˜ëz/¯+ؽ[{Ž™ßºrðÝCôM®Y×q¦~áè[»{y‹¼£®òÍy cÈzA¿§Þô»ô‘Þ;Óîwï„«±€Ç9—¬zÉszW¿”ûH®œóìóV‡ax3ÿ ‚ú à¿%£×mkBTúÎÊþ’xœí‘) …ˆq ĉ8âDÈ^éê>×»gI@ÏÏþX¯jjg»iЃž——Á`0 ƒÁ`0 ƒÁà?üúõëåçÏŸ|â:÷ªçâs¥¬eø÷ÁÿQéùŠþ3|ÿþýåÓ§O|â:÷2|ùòåßÏ.¾}ûö;ï°7eôûGFÔû´ž•žOõ¿6Ñþ®ö_õQúv•¦“×íßù]Tò¬ä]½^¥Ë®gí¼{>pjç«zëìåkßu¹´o{šyªþ¯yeõŽûŸ?þ÷{è-Òýøñã÷½x†º¨/ D:½é3Dþž&òˆ¼¹e«^H×õyê i#/OGôzüϪÿÇ߯_¿þ~î :ûsMeÑò#M”Ï3YŸ#=÷2û» QžÛ›ÇßЙ¦‰ïŒ[\s=Eó8´}E>¤GÈ©éTîø  Ú²Ê×Tªg-Ÿñ}×þú̬üVfÖÿé¼Ìþêo¨SVwìzV}Ñ.âƒ/Ð>¨~Ê!?÷UýùÏËßÿï1¸Åþè<ú#õîä¥þ•ý}âÀ¶Ø=þF[ þ÷~†¬ôQÚ‹Bó¡N™.ð·.+푹^edÔç½üLo+[\Å-ö§k»ïä döW‡ïÍú(}Ýýê6îqÝý$¾#³?zÐ6–éBÓ©ÍiÈïöÇ?òLüåÍ7®!ã3ìO_Q}Пuõïêoßš™é[ú=ž¥tk¥È‹ûøMÀÿ‘Æï!'}/õƇdºÐr2ùÉ_ÇCú‡ÿﲨü:—©ôéº ƒÁ`0 :8÷—ÝÍòoÁ=¸„+8-ó4}ÅÛžÂcåÄ¥XÏdq{bUþêÙŸÖq˜Â©Î®è¸âmï!«Æ¶«g*ΪòU\z·ü[ù´GAåÖ=^§+ruñü{µëLVåÕüþ çU¥?)ÿV>­Ò“ó†Î)úçx…|œYé¬ÒÆ»giôãœ\ÅyiÜ^cæUúÓòoáÓ*=£ À³Âó!óÊþÄíT•³ÓY¥µ?rfògþÿÊšûWœ—sÖʽVÙnùÔõ*ŸVÙîXù#å=ÿÌFÈÜýªÏ«’—+[¡«àFô~ÅyH«\L—~·ü[ù´ÎOÒ‡£Œhô5žÝµ¿ŽžöT§ö¿êoà”w¯|Sf®ûÜÁÓŸ”+ŸÖé)³·Î;´ìÌFå³´;:x ûëØÉÇ÷â)/ˆOSÎ y²ëUú“òoáÓ2ÞÎeÊ)Ve3'w®”ç‘gGg™Ž=ïJþ®^ƒÁ`0 ƒÁ ľˆùœ‚u k˜U,ªKsÛþçØ‘5€nYæ®,÷çbXw{ ⬿wÖ&Ýúõ™û3®Q×”øN¬ðQev× ]¨¯Æ·ºö¯gcH¯úËžçîi½÷Š{î—ôÌA¦3žéôIó8†Çh³òwòÊdÌÒu×wËÈô¸ƒUI÷äWçq”ƒð8­îÕ×çI£>+—£ñ@åì”p™ôQÅŸáóÈGcþZ—ªüò\ƪÌêú޼ÄUƬìß·]ÌÒù/ø:íÿèÊÏ3dç;É«:gB9ÈRÈôï|GW~•—î×w«2«ë;òfz†áŸt|éø+—i5þ«Ünÿ€žá«ÎŸgºZÍY|<õ1NyŬ|E7þkúªÌêú޼÷°?õ®Öÿz/k›Ü×>ä<šÏÿ=Α}NŸÍå»Î…ùžü>åuåWy­d¬Ê¬®¯Òdz ƒÁ`0 *èÜ\?W8ÀG£’Ë×ÏâY»ûÌÕ:‚ýÒÏDg«öc¾g<‹ Ìö2+²¸€îÙÕýÿ'ëWµ±6½žqnØŸ{žrèuç"w¸<ÒTkôÎ.™ô\ r¤•¾nåOàûïÕ>Uì˜~c‡#T?£ñ+®ëžyöï{¼QùÂ,,^qF/XÅûv8º.Ö©gá×3}íȸâOPùì ~n%ãhUÞG4§çø(_û…sn|W}Tg&x^cëô“,Fíý…¶Çù°ÃÑ­¸ò«ôµ+㊠<ÁÊÿ#+}/ãUw8BÎRh_ÏÊïäÑ|»33!m–r\7U9Œmêß({ÅÑp™¾veÜåwÐé[û¬úx¯ëG¨ïµÌú¿Žß]ÿß±?g;õ,çnßÒ½Úow8º]®³Òוþ¯Ïßb÷ÿÈîã?úÇOVé¼=ù¸ZÙ_óÎÆÿû£#¿veü?áèv¹ÎN_WÆÿ³Žªõ¿rÞYL€ëÚo;Žù°ŸÎ1³g²9pV^•Gµ~>™[_áèv¸NO·S÷Ÿ3 ƒÁ`0¼ÀçèÚïQ¸’·¾[ãï¾×ØÀ veO\k^8Ö”¨v<ëZbzº¯²Û\ŽáOìp¥Ž¯b¾n$~ð}¬¾Çoèz•3ñј mKã è«ãvUÆÎþ]^»i´NºÞå¸WAö»#´÷xŽë”«é‘æjßÊtÄõì q ³:£¿ÏE=Ð z%Ö…ßqù)CcñÕYµEÅÑí¤q™´®ÊyRGý-¡+u (K\ûh¬PÓ'¥Ü*^Ø¡²¿^¯ì¯ñqÚ=m=y|KóòøvÅ«eü‰Û\ý˜rÈŠ4µŸÇ=Ž›ñ{Wê¸úÝ1Òûû;=Ý·åòxÚëpû;o@>ú›”ȘéT\ÔŽý+C±“=*ï™É«|˜¿GðJO¸CÊåW]ù–xŽ1.³™ïµ 9_EŸÐ±©â ½ýVýqÇþõÊã)vÒ(ç¨ã Ê‘}Ïì¿[Gåñùw¨œŸîǺÛôã{-âƒoô½ÜSdו_ËžïÎ׃Êþø2åÔ;iT&Ÿw*ßÎwú‡·™“:Ôº§ÇÇg×­¶“SþO¡ãsÌìÞjÝêºï%Z[~_˯déÖ®·¤ñ²+œÖñô¹Ìw]Ùÿ7 ƒÁ`0ø» ë]ÏÜkÙíIŒu¾+e§L]«ïÎÖ‚ïoA^ç°î;=GR¡³?œév쯱Ö;<÷ôy‚· o$Nî1ç´ˆ=:ߥPîVãžuŸ£<´Ç <&«ü¿ê3K«yC©¸/ù4–£rÇ)i=µþ*/|ÎŽ^]ËQ¹NÐ1qŽG¹¥w>ù{å•á ?ÓKvÏå:A¶þó}E:·ÈÎ_«n+{ÑþuÿÃ=ì¯ó¿êÜr ³›÷qÍ“¾Ì³]>>ÿËdÑ}+½øüÏå|L¼…õâàõ0öÿ»1üþ`0 î…lý·Še€·ô®ùŽg:…®×ºñ¶Šž`W×÷,3ËOã?«½‘]—¾\9ûPø×î~Í[°£kOÿûWùiìGc~Æ)ãÄ-<žw¦¼.ý3qÌ}•ãž'vªuðw$V±’¬n“Ñváò(²r²ºÂÿ¸®5Žï2©½ˆS;W¸‹ÊÿkŒ_ÏKÑÏ”ó­8B/ÝÁhùèEÏÕ —'‹9êw?K;Òx:òxðº<–ì|@¶Ûc³ÄϽ®‡§ùVúàyâÆ»c÷ÿ@Û–ŽSwÍ8B•òq®Ãîÿ]û£=é2ôlBÓe6V}eö÷¹ˆž­«òRý(·ØéÃËáÞ VþßeÊöZT¡ë„4Ýûïad¢­e2Þ’ý+nñYöÏæøBõ—ºŸTq„®Sü×ÿ»þß”é<›Ãïø­[&Ï=üfÿŽ[|†ÿ÷õ÷s°zîPç)GèåèÙÁª}{Z×…Î3«³™n7ÅjþpûWó¿Îwfåtöï¸E¿wÏùß[ǽ×;ƒ÷…±ÿ`l? ƒÁ`0 ƒÁ`0 ƒÁ`ð÷á{ÑÙûô‘Á~ÿ¬ö½³ÇÒßi`oLöy„>uo©Ãßi\q‰ìKó|}ÿïÒû7žÉSvu9ÍG÷íñ©ì¯¿c¾#öÙé>·,Ïjoð­òw{õÕ†ú‡Öݲ‡Lûù=«mWèêòÈ2u_¤ö¬ÿ8د–åéŸjož?»Ú²kÞËDúøßß±¡öm¼†ýýwÔ>ôÃì#® }©ÛË×õ·E:¬ìOÛ¡O;<ÿ¬ÿsüy—›î¡Ô}›Ú›¾k‰}~úŒî±Õ|µM’†ï'8CTþ®¡¬o+¨[Wžú‚ÌöŒ½ø†U™ä©ïïQ™õýr'ö÷½î\ç­'ç’tœTY¸ÏwôŠÌz.Dó¥=¨ÜW|ÓÉ~q=_¡¾yª¾M»ÜñçÙÙÍÇ÷–¯äÇkþt§ïbS=2æû|¥Ò±Ïy´NÚ_}O¯îe×ù”摽ÛöàýðtLàœS6Ÿq`CÿíÌjfý´3–#Ëéܰ³?zÕ1 ÿéíHí¯þ]÷š“ç‰ýõ\"íWËÌÞ]åó¬ÊþüO;¾2'@¾ìã@~tGÎü:º«üªç{åÝuÊþê7m1‹è™Q]ßPWVç2ûS®Žåz]Ï¥zŸÒsý‘ÉÛ×3ÐÅ]vç‘îªÜÝxwÒžôÝ:Ú—>ÚyŠÁ`ð¡ñˆ$j¢ëw½ymkBTúÎÊþ¢6xœíš‰më0]HI!)$¤’FRˆ?6øc>>~Úsm£®+ŒvÁu…Õ‘øνYšuÌ8³´ú³uNÒ?¤WP>Ê1Js¤ŠWiVÿçü‘ý_uKðEÿ‰Ï¸ˆ/rœÌù£Âˆ_âšgK•W]×±ž™ÍEYòclÊó,[¦ŸTœYH»T¾Ïàÿ¶›ùÿíííðŽˆ}x¦÷ÇL#}A› ¼ÒâœöGüžVË7¼—‘^÷}>“iÒžº²-çøèþŸiæÿì;}žLJø°ìXí&ÇTÊP÷3ýTÞ#¯ôߨgÿ®ðJÖùl eäý'ï=ŠÖø?…͘oéçùn€í±aöëì›ô½|7ù>šý?ÇôU–%Ë;«ï¢­ü/ñmöµžN/èãI޵Ù÷fóQÖƒüz{Èñ<ÓdÌé6éd™nù;è¯ÚÊÿ¥²Q¾–mû{{÷5í$ýÀûiѦxæÿg<Æ$ò"Í^¾%=êü¯”RJ)¥žS—ÚçÍtïe/ùÖ”ë —°a};kú÷Ô_µöyµ?¬9ÔšÉlÍzÒÿ}m#¿óGßüKk!¬›ôók(Ë9êGüã1»¿”Þèz–×,­Q¿&îlÍiV濊ý²Üû#_Ö<òœöÂ3¹Îžm$÷^9g —{9&°w³&¼Û:Ë™ë‰uõfÖšúºR…÷:Ö½L+mWÇôW^£§Äz%÷I—½î¥2Ÿ£î—lo£þÏZ¶f?¾k4öW¼ÜÇ-è#¬ó­ ?V/ì—c^ÿ·!÷!{u̵ʴU¦ÙóÙ·ÿAœÑý‘ÿGe>G}þ?Åÿöþv✽Žø3ÿÉX~j½úœ—{øzT§ôA·O^ÏòʰÑ>÷³?syÊ|®¶ðßG)ŸP¦U{× °.ï».Tæç}6žÚ³‘-Æ×F`‡£Ãp]Åkß…~Ãóbà ¶ О$Áwݓٱ„ÁñÍ|süñCo•›ÝA+Õq3¶¾lOàx@á(é0ða¹¯+?÷  ÜT,¤_¯7¸s\ÛÞϘ^Bl1)üCó•Ò+ÔkÛ(îFyN"8õ–dPCÌ_9ÈÒ>O0&l«4¸Im+þîënwîÛGrŰø™à»ø)/tih“f˜õÕ Ñ¸X†>ÊʨËEËÅòã)–Ô<,é6ös4ÅáÀÖ5›zàbð?¤¢Jðàö\<OM%O#(7ä6à:§= ªêýÓ‹YA£÷ƒH ¶«L s6›ÎMƒXêÈùBcX&ǘJ½te».Êöü¨Ï 3.je(”Ï?Ô?õèÉLÚjï³=€ÝÚ%wƒZˆizFTxô„$¯kPö8›E·mòø jAO™ñÔ×úÞ€«ž>~þ’†åÜàØ†‘ºéB9úµâ † Ö¤8U­«KCÃv´jbëL èåçC¼ï€y¯¡ ç;¤mj P.Ô —øãïDkñÂêwþ¡UÿE€3ôܨÁ”‘•’8xëUÀ…JÊü¹s£‰ž\„³èÉŸŽ+;}s­FãQ(KI­î÷¦XÝ›„ƨ ¹1 Ëúþ+Kú¨èdXŒ];JÄ£Žïcˆx$§DÑ×·Þž¢X`i× ì¨ëÑ@lÌûrn°m$¨Æ^×9΄ïzBGÏž Q=Ænfäk„Dêö¬e; <¨ýøaÓü>,µâ¢ž›jÆïk‡0BŸ[p(õâ$¿º‡Ç ‘ÛöÌpý4 nËËq`”XÆ“ù úvϵöèÙ.xõHnŒûorŸJ¾€Ï5¬ñÁàÿHàu©‰ñê뇗 fà§ í××a앆‰[Z:><ÇM@J£9óý¬â$Óq]¡}=H… kÐþ3ÆÊºã¯ù鲺t¿Q“=‚, 7ÆÇµß»ýìêçs Ä>ã¢3ø¶ïÞÜ6[¦Ñg•¨— RLت¨ù­?·( &wÝ.7C#~B{‚]¯Ó ×â—UÔW² 7™Ò1jk~‚e”cG»¿rËÇùÐãDØ.=ôËK´ÜîëÅ@ÝWÝDZMû0å€ãûíèä¼0Î\Úòxó®vÏqßNZ¢ >#Æ ƒ„ŒàBE— ™¥)•‚º&yØA}tå?Bûê Yìm(ÂWIpáɱò€ñ ¸|½2—+èýà\2·ö íÞ)lÜ8·ÖtlÁ@Z.B½€£ï•eñ…‹ƒRSßôƃm>d˜Iéþlþôò'N a†dÄ¢G3¹%†¼#«)?è¼Ï$sß _5=²íYÇBR#-k"qGP-Ðeþ"çf­ÁÂá%Ö©-Ï“37êÐäÌÈ8ÔM9™ÏŠŠ,¬èä_*n;H‚ÁúÆEBƱ†Öcl¿~øÎî±ç Ë[ƒŽ/saŸg¸IE2å,zÒ1Út:’kLÆÓçÎÁ¡ÍíÈ™壋G)æÔ{7ÊoðËÅnd¨ø¤è·ðá•{@rõP˜>ÆkÂwŒk×½¾¡ #¸kXfy‘ÖEÇ÷šÈA©ÍBÂ9ÂuM°ÛÞ4P=¹_Ól’ÆgW®Ø‡ÝN•Õ#–_n™‡Gï¤pp ,Z…ÿUu›6È“÷ÃV¦›Ó°¸å0EK‘7*|·ý]¯{ü75F\éÔ¶»úzQØ z!á‚Ç uH€>îÿó¦upš²ÚöõTÙ£»o3P)ˆø´[à^Õ6ãÖÚóã` -šd&á*=¶%ÄÀÊfY’<¿^’ƒØ·`_6¨ßÈ|h¸Ìë3Ø¡>€„2 Pºúqÿ×7ÏŽ³ ýÕü,Ns¾j»F™=BµŠü` ¨í³•C§òöiŽU’)Ré@LÅßÒ®„‹ÿ‰·Ç§mb<2FH“Rq°²ùF½åãø÷Xºi䎲õOm¬GAýÝ·ôÒ}:¶*¾Ëu ÄfØ:@Ê«RH™.òÙ6Âñ¼±Ã6Žjå§cæGOpO- ú­6HÒýúÜÊKÉJæÛUÀÎì:ºJǃ¾ŠýÉvÆ,¡•¸¯3ÿ‹DìZ‹¹EñÊÆ®ÒqqðìØ7p?¸ƒÈŒÞK¬÷Å%ȧ$;â¼?ýQ¬r6³pP7`¼a™†¸é^=„„ýÉRç¶_†õ™³)m£„Ç>ÀD3#£ ¼_' çIþÂÉ­uÍ‹CÁÊ-Rne㯄³²Ïóss•ÀîLÏÌ<È­/µàR)|Lt_1»éòÁ¨L¿kÇ=‹rr 4ùìê§ü/gýšEÀrþÀ~P†¦nBß[ ®\g[{¡«‡’g£ãYÛvRŸW'†‡ {Fe°m1ïÞŒ{ Ýw¾LÿÕ;7¨&$‘çþxúcÚøÃÐ0Ÿ ŽžnÝö‰óí&úÚuÅ@5sCèCÕ±mœñ8Hƒãefñï¹Æt ’Îx{q(a¿²ÛÑ‚a¡?€ŽÐþQ“%ò§ÌlÁ¬ö4ô‚¤Ï‚xmWI׆€Gí¯¦CèÒôì1ê’Ûk×QÖýŒ3iJhÜ,Çÿ€úãú‰KºšRˆ÷ÅÄð¢ÄÂÈöÈO`úÈç…ʲ»†½þ4á)ú%ˆùÔb6îB8ý\ ³pµõšÉì«e<êºíS鹂ØìÚ+ÓjsðÄpŒ„¸ß%<&t{3?Œ£¬|N)p7b™Ôîãé?Ôa¤iäDµWl’¡½ðˆX—ŸÀZÚ>;uø)¤ko)#WáÈÍSšn®cR½xô”{[ÀsXv1¤¬95‰_¬¬0KéõÁжՙ7Ú>žTp¡5‡‹¸Ù´¤l3¥Sü"ØêLXê…ç«[á5mö¡ø º¿Q="u}ö‘ÆpϘ*xböÕ‰ºîã—ã#iM+³ù@»Z! þ·Ï®~jàÒY”ݬ‘¡´Ò$?5Š• mtêuˆ] ‡%Ž@Ž÷Ý…:4h8Ûƒ¸˜¡»tuì3À;ú ΑO¤1A/r‹¿¾™ ÆÏR*5ÀÇûÿËìiÜ&j#Y2:º$Z(a­dæ@ß>'z ž„×L¬¯³¬Û뇶©½6ZÑÀ8|`Æ6Ý"åŒX1ß_€z' îF-©÷»Ñû?°úX^ò A:?1¢;ØÌh/KžVB'õ üvOnÏFSò‚¼É õƤê°ïÌÞQ{=kh7™ÀMå¯ÀwXQùpü\vïÍ“ÎO/ÿ¶.ÅöÚñ¹ ôN3·ÍHKRðÉlŠK–"›qò”‰^Wܳh¼1wtùã  h@§¬Ñ3ðe6þN|–’¶Á©‹I;yîó?8t[ƒ[é!‘ ú¥µ$,ήL­·e–"z¦å%IÞ†AêkÜÌRäl!3uú8àÚyßë?_žWÅé½)ƒAbCÒõéõOù!rz¿„a¢¤5S±ÍnÖ—£³ˆ#Â<ý43yÜ6"ª ÒRýêÑô߃C‚Qå¿&>¸[¼# BHÍǽß{v¡eà×kOÃ×TÉlq(UHð͵h »Ý”8º,@t°µöÈÃÕ‚LÛ{p´•ü‰/Ø*ËL"d_y ïŸk,4î GÌ–ýÑbD>,ÁÏ.ok"ýD;†|7–[.µDÖCíAœŸä#‰iÇæélÿü¯‰ÏŸ¡IÖ¬ÐòâóÞD¿q½]+ÞeE •ò–_«-- ™ƒ¦ Ú°c©›³èç€^ø¿¥Lô˜q±1~ëCßC“ÿ”øžC“9¡ŽgNäóýÿû“õHÈ8Bkhêç«JÁŽ#Z¤-`úVo§™MËa 9r$îÕºZ-¼hókhò ?C“$· û^–ñtÄ÷¿9d(‘8PÝ…]Ú¶š£×w[¢wléÏ;µŒd•Ôn—׆ôoÎK«èdù H¦Þ„(Dú¯…¯Ÿ¡InüIÌ Mïãü_(ù¼ðœ’îð5)6H/öõÌYÍ1‡¸ ±QRæŒk,nËÖûXH½­ʉð‘ƒÊË?>ÿšdf“ç&6³üü½^EJ–m‹ªétÞÈ{¥C—µ›½ÌC¬c`½îÙ0Ê…v5ÃÂx<äƒó\9Y·Ýÿcáû×Ðä}1Ú06"×´!ÖóŸë9êdl:'– û1H"Áz'7ùQ‡q›„¹Ž¾¹ÉŒí#KâR.ò/C“»VÖÜgÇQ×Ȭ¨åéãó\ âì`¸·?dÜÛ1y³”åuMÛ6Ƶ8ZX]8Ãø^p…ªwQëE¾ç &­1frRšÁKiûñçÐ$G¤ÎÓðÔÝœÛÇЕŒ¯ðh3'À®Âø”·“Ç{¼±š;;Ö~F öKî37Ðkš–Ìu<pöµdÊŽåèˆ+C¨š¤™ Rá‘÷Mz¹Æç¿7)nÒ€©æöÔ lEGyÍl½‡:Ì‘ÿIÞí’o±BìÞÿ—S%|ë‚ÎЕïsTuÆleÁõ’bšA}A¸ëæížÍ´þ1ãý0ÀA{ÉKù“ʘÓº¼tjÑòÇÐdLI=rž ¢PRgóûÇó_Lb¸R³£é Åžël?«â”ž)!°Ö[«‰FÂæoÖç wi&k^”CV(t@püW2Ó÷²ó{hÒxH—GRn²͉ŒeCbúxÔ‰°ªé6GÁ³©÷‘¬Q…Öd27\ÌØ«dœS‘É=\»F§f*¼0é‘Û£ÜOPúÇ5(r„Zß™xQ‘Z>¥~G AeN-õãùÿjYôÜ7—Ò¾n;ún?Ó¹"P·¯xÒ}‡·•/àNäöÞW:ÝŠ&´—×¾†Ù:x" ꭥу;†ÄRç펔¹ ®cä›…Ñ™õ±ñÜýüýElmG§a= hò¨BG_æu…³×YnZì«­FYs ôUéµ"zM&Ë:ËÝGn¸Ïuí.õDX‰ƒÉ5XnšÁ¡ö›;Þ}¶Ô«%XO?½~2&ùÝØî¸Frjj¢¢…8ˆ› yAÊÆä*±W ¡³‰€©ÒIÒ˜÷“9/¹§u‚b)õZ³l:ë sá¼¹ 8²5ÀÀJõš>~ÿi´œÐó˜I¿þ3YÏÔ•;ç:#hEL¬×[ROd‹Ê^GéšAË©fß~Y!ýËÐäEåêñn·ôü0¯~Åà/«AÝò –Kåm÷‚±>^ÿÝWY¢q†"µ¥â<цFвÎë*c¹½:xÛw„|¤Ížw­—%ýehRg°åØúæÜæd¿9ç´üÌ•ªËÃvž3Àv Dg™hç>>?ÿò3é‰hŸYDkgCã(ʹƒªÔ•ô×SÉ·†¬Ôœ|è 2QÁü94©(ñ½?OG•Q34… fëcc³¶PopT€Yaƒ–W(£>Çÿ@­tãX4ˆ`ðLG¦Ùžp•‹É„ãaïãšÅ°l\¤[9‚cû26óâU M6f,ºŠò¼Ë'›¤…žCÐÖñ4øi¥?W~p¯sÏ ?žÿk³ÞA÷×KÃrŵÄÅÎk@–Ið|>^xðs¸?ý\Õð`,DèäõÌ’©Œ°Žû5¯éWÛüÉ^£èøçw €DÓµMˆáøXf_8<%|8_왉pPó1†…ãî„WþÀlm߃˜“Šf?4žý¼»:½òÌ“_£Ô”v ûûMà;kž:pÍÖ²â_ÖùásjØŽqw]$F‡£}ÿ¢»y« ××û,b'Õè°N‡Îþ=Ôo¹öÖôÔ0, õ¨Çÿº»â~–ÆM‹ƒÄû Y•R´‰¥4â6+!”}@~u‡j°ctCÔúàõP.ÅY(ýxÿ׎ ½×zµ?70ÆWXFÜ£¾oŒ½·¯‹3z‹Š€0°®Ác8¨R£êG±¢g›0àö ¦T—Uëøò„½»‹w­"/4³ÞÖ÷¿¾îC¾Q`[{O³“ºcÈn¯]•¶+•{Û{­ç¼ÞÕÎ N!3•<®ÞÇVí‚ìyxé,!C æ™b². êlfÖ×åÁø'„ÒÁ\ ןÎÏíãëgu,μ·¸šw-/ôß3Û¥ùºñíN°íâX(›c ƒŽÓâoõMDð‘sÊ¢a·#ü#0{c ÁÈÀð%µuDWCB¥Z€AéÍZ6»,Øçûxý (Z%‡±µØçw€ÑÀáŠHbhTb2ùþ<$÷Æ*cÀ¼ænk÷³”_÷וð«Ð÷¿#{D+B<™!âÇüS/¼gÿÃ`ø9”­.^]ŸÃŸ™ÆCíÌ+>™ì3ïƒ+•ý5Æë]¤q‡„Äp¦j' r¯9µ¼FDȬ)~: ã躟—9GmÜì“x2’¥ù-?s–raG"yvU³pa;R«çãø÷ăœ ÌAŸ\&ú¹“ ÿ?#Äìn Ûí0Úee½´“d~o’qå¶­¯!!DzP^H)>¾oµëÈ‘.®Ä¼‘Ô¶=Hy»7´S´-M½ á?Þÿô8y£c¶Î™ß§q„|Ü#Þ5"ù2Б ‡lµm#—ýU‰ÑÊ»ìýeüΤÎV†ÎÈbMƒ¤Í˜÷jAÌc7¾Z ä]> 4½gbö Äýñõs 2WRsKgí6Þæç 's8qzñTT[”R›[wÄÍ)I‹—9ø5x¥ŽÜWjýÚ #”!nN+zP’ÄÚ”â ÁKgâ²ÁÞTEŒ,ÂÁùÇë?³¥{é^R¨DÝ¥=´R¥u^zîc¯’§³Ì¥&D¼‰'i74øSËJ½ß”í&H¥æU©Gà»[û‚ácrÃͦŠ<ú’‹¡׿~þ‰4}Ú…žíh¢°Î;¯üòlpAZð´%’XÔZ;t®Q?„±÷÷žóy™ïk1+Ƴu6Â[«©ÌÖè† áDõ™c4¿ÆœÚóÐÝ*d„•B#!}Þÿe>Çsamh¡¹ÿêG3c^çæ—8u9󼵕⸈߂ÏUéy‡‡B;f "Yi=ÖD§ =Êâ‚Á4‘íŠ&¡Ž’Þ×|¾Cý“Ò3»Ä÷šg]Ø~üþ›WgjhSIXU“‘"1A5Fr4×{üáÜëAä—éljŸw¸TðÎá–Ýt6<ï/NÁ  \û¤õó«R¥tÇû˜a| Æi¨ÌÍ>‰T.šWo>>ÿxŒ•ϯ¼Y¼æÈ{ç··m,J²{gg}Év~)ê]Ñæs!?wøè÷X›‰æè˜G—F°¥l!7ކUœÖ|Cnáfï³…:.@mq%®Á臔±ÜÿÓRu?.–:¯èaBë¼ÖºÌÌE#Gƒg'yX«Dåÿu‡SWºä™ÇŠD)Œ˜21×ѵ‰VµˆagW¬àP޳²q½ç«ÏÈ’Ï Ís”?¶•@åg")ªíªç©s\ÖTòâô{Þê«f3g÷‰oÑþÏ^w:^ë¼"•Ý{¹ªd#³!φtà}©,nÆyWFKv„X”4–ƒ|<ûB+ è®Â8ˆi=-;´³X 5l=/xlêóŽw•–å÷n³]ì à+SÛÓ¼,{Õž¯/ДâV¡û»+<< ØÌ¤®Ào ŸâÞçèÔ‡eNpù^Oÿþ¼ÙùŽOv qR¶ £wHF3ûÝß=oý;ü`~k’RÏwCßÏí²”u¦ãk¡jE˜|û‰qÏ©ŽÔ‚KV,Ï àÏ*?ÞÿþxkáÜ}QxÁU¹éœ/MÛüÞÄÂá= ¤Õ°pý¾Êæ=çŠÎ^xúBË÷ÞÚKx«§Ó@ð[òÎI™¾ÔYB]Tª¦âž™çÿúÑKqÉ.á½€PÖÛwÿ¼ÃÓAG\ôšWÂÏ‹Øâ9ùãÏ2S³—åA\è“Y\œßy=ǨðGj÷¾ÌéÇõÕ¢ÂMî@âŒtÔ‚¶„vD¾üƒzÎ+²ÙÌBĺ\·Ÿ¬ü¼ÃÕ¬…÷Ùë6ËÛk™6Lþ¸Ê¦ÚRß_rýnl|UAϯ< ¢¹Ë|¦²!‚¸;ºÁ8™_1ÜgésÞùÆCŸ‡ÿ¿ä >êVB‰~æ,¶¹® Ë˜_ÿ&f™äÕjpñ/WÙÔÊwaùO ¼š°H 3ÉÛûþ¾I`˜ÈòuØù»õ¸1êͤÉû·ÈÏ÷ÿå+_ùÊW¾ò•¯|å+_ùÊW¾ò•¯|å+_ùÊW¾ò•¯|å+_ùÊW¾ò•¯|å+_ùÊW¾ò•¯|å+_ùÊW¾ò•¯|å+_ùÊW¾ò•¯|å+_ùÊW¾ò•¯|å+_ùÊW¾ò•¯|å+_ùÊW¾ò•¯|å+_ùÊW¾ò•¯|å+_ùÊW¾ò•¯|å+_ùÊW¾ò•¯|å+_ùÊW¾ò•¯|å+_ùÊW¾ò•¯|å+_ùÊW¾ò€ÿÝš™w)¦÷2iTXtXML:com.adobe.xmp Adobe Fireworks CS3 2007-10-06T22:15:44Z 2007-10-07T00:39:07Z image/png ˆÏ9-)IDATxœíÝ_ˆ\Õðï=îÜsïÝüuQ‹%â‹M_bBA°>_$}éKAÓ‡BA¤ ¢ˆlZ(…>tñ-I‰y1öEÛ‚"âŸL yPŒN i05ÉìÎÿ¹çžÓ‡ùãìæÎΚÍh—þ>°/3¿3w_¾œß=çþ±Œ1 „l,ì‡þ!ß— ˆ‚KÈDÁ%d¢à²‰¬-Ë;`û¶Í¥;î:03ßGaIJÆ8³†ãVOÈÿ»ÁNN½Þ(W«µÓrfþ‹//”'Õ²2?Ìžë:ñ»ïÿëÜ-[÷9NŽcÃÉå m !8g°`2KÈdÆiª¡”ÂÅ}âÈÑ7¹´T¯^_{ƒÁݶuSi÷îûß(ÄQÑ÷]‡À÷àù.r9¶”`Œ1Ë¢—Õc`  µ†ÖÝ$A§Óŵ«‹•#ÇN>zæìgå•õ+M n‡Å‡Ús* ƒ8 DQQ˜G>ïÃïW!xÆ¥Ð2‰1J¥PJ¡Óé¢Ñh¡ºX«þãÂÎs羪ŒÖ®41¸=úà©-›gKqb¦¡0!ŽBäó><Ï…”R0f—µ0ÆÆ@kƒD)$‰B³ÙB­ÖÀ¥K—ËÏüæ…ËjWX5¸»~Zúý=÷üè`…Ø4cÓ¦ÌÎĈ¢¾ï!—³!m fYý6™BKÈZczí²1HºIÖmbq±Ž><}ð¥—ÿ|hP·Ræª2Ð[ŒºëÎâßsEy ff"Ä…aÞ‡ã:B€s~Ýy-˜ñFƒ88ß•Bôz9,Æð“ûv˜›Ûzøâů¯[¬VÙÇÝYúñ³¾ïÅï! ÄqØ;· |¸®‹\ÿ ƒm Ñ?BÈx+ó˜!8r¶„ëºÈ> q?óë§Ÿ÷cƒ[¼mn¿ë:aÞG>ðádžm‹e­1…•3š!Æl[Àqlø‡»ï¾cÿ¸q™Á½eû–REÏuà.‚ÀnýH)aYZBn–Ñ,Yƒ”¹œ(ÊŸ|⥬1™Á½ýö[±mŽëÀ÷\xžÇÉÁ¶%x¿== !d}Yb̶-á89ü|ïÏÉªÏ îìl¡ÔhÃuÞRR@pF3-!S1 ¯eAp)¶mÛ¼ö7ð½b¯×Îõ·|¾Ý«¥À2]ƒ+)ò_ÌªÉ nåKRJØRBÊ‘k‘þ0!äæžï2Î\ÏYûŒË9ƒàBpÎÁƒe±a›L™.Ö_¨â,{ãgÌm} Œ3p!ÀçË÷k !Ó³l¡ŠóÌšÌ8[zwûXVÿª(j ù¾YÖøÛd3ƒÛh´ÆÞÔKùþ(•ff13¸Íf«2¸ø¹Cæ…΄é1Æ IT%ë»Ìà^¹Z-ëT#U ©J‘¦)´6ý ¢)À„LÓ gZÔjõµÏ¸Ÿ~úÅ •¦½›|Ó©Ö0¦7B¦¯×íj||ê쉬ï3ƒ[9ñt½Þ¨t“I’@)…4Õ0Z ¶™idËh$Q•çžítVÝØ»ƒ>?÷ÕB»ÝA§ÓEÒUH”¶Ë„é´ÉW¯-.Œ«Ü·ßy¾ÙhU[­6Ú’DA¥é°]¦rs 2¥JÓê+¯þe~\íØàÖëÅ3g?›o4[h6Ûh·;èv¤ª·P5z BÈú C« R•â›o®Í¿õ÷-Ž«_õMGÿöÖ¡Ë—¯”ëõšV¯mN£¿íÅ)¼„¬Ëh–ŒÑh·;åÝ{Ÿ:´Ú˜‰¯ Yxýø¾ju©ºT«£Qo¢Ýî¢ÛUКÂKÈzfHknWU;¹oÒ¸‰Á½páÒù…×ï¹üŸ+•Å¥jõZ­:ÝJ-ßߥ}^B&[™­{ÏWîtº•wþñþž_úÓùI¿±æWÌ΢ßýöW wÞQÜGg%dýFÏÚ¨7O|áûß<ùÏëÎk×õî ½{vÝûÄ㘛ÛZ*¢=ïΕ¨r«Ý)¿ûÞGóãökµ+e—ò¿ÞKÈDÁ%d¢à²ý  ÷ŤåIEND®B`‚traitsui-7.2.1/traitsui/examples/demo/Applications/images/notebook_open.png0000644000076500000240000025362014046644454027667 0ustar aayresstaff00000000000000‰PNG  IHDR  ÎU£RsBIT|dˆ pHYsÃÃÇo¨dtEXtSoftwareAdobe FireworksO³NtEXtCreation Time10/06/07ix-tEXtXML:com.adobe.xmp Adobe Fireworks CS3 2007-10-06T21:59:47Z 2007-10-06T22:14:15Z image/png nŸÀ?prVWxœíZËnI®êþ‹®ßã8òѬ)1±@#. f„&# ш…åK)Ž£Ø&B³‚= ȯïÀ K< ++‡Sç^}q<ƒ¢íþûV]§ê\¾s©þËÙŸÿž‡ç¯Ëv ¯OOOñìôõÉi9À'ûåçääôdÿ¤öOʶ¿ÿûû¯/¶ý)ðödz ¾ò?»ýAxñ»ÿóâKáÅÁŽáoÿôcŽí[ßCÈ3ôS»? h”šÇá÷Ã¥Ü 96)õœ§èÇv[h——þùg)§vëëÞË9F ƒé'éÃð2ˆ ï¯õoe[ísnR Éýý6Áôóõkýr¹º„}…Ã}êþEî­-Wó7äÿ$ý2P_…¦—ý·ìáùŸASóm¡¿ìW` WaWgŽk÷×ÎkG÷Ö®,s1úEûVË(Wa¬kÈÜËÈuÿš÷{¼ 'Llvþ±]ëiö= Þzò=ÃùÊÄýÿß_‘ó5J¿Œ¤“ôAþk«8R"/а­ƒþ+ß×[å$ÎËŸ¬oIÇ‘¯¹Á¬úå5”]9ÒõUb{NÇBbepÛáûp¯_†ùùƒiöø!‹ÜˆKåªÌÇ=Ü'‘;9g–]œ—*È4ušm¿¼ŒÄ}|½ÒŸ—ÉÛ5\@£+½pÌ/D$2#ÿ®<´¤-Ÿ³Ûáâ÷–m0üÍÊ?âÃÂ!Ü›dûø:ðewÏí^¹G‡÷à€÷_Êõ¬ý·¨±˜H‘EĹðG2"~¾°û¨ApV‰Íù^õ.Ï¿l¿ý癣/m~«+€Lî¸:vÔFŸ—Æú=h9¡>اÑ3u»˜ã?0(.BÔ?pÝMqä©:b³PŽyâ¹æí?Y#m+q!j7ÍØS+×Ü&É=Ñú(–ÀýüÏ[‘?Så·ÀY"tåy}Í|ÖgÌMé¯ÎÎÐ Ä7ýgŽð³¬m¤au=à´?ÉÒ?Ùÿ_[ñ?6|V¯3Ãv胭kKG¹Æ6Eh<ó¡ö¡fè#—XñÅf¥wb²vç™ÚVJ.ÆÀÌp\@gù·.j+y½–‡3¹%,N*:/vFª#H&|ÿ?ÞÌþmzÍP(Qµ˜Yâî#»ˆP̤B”-ð ý,¢3†›çP{t(dphG÷HsŒ+Š8“ùù« 8mWÆ-`` &§Ú㙵ž+œP®&Å/V&>˜°Á.Çb ̉ÄêŒçì±fæß)â©ì û“Ǥ¤~¼5}©¯ +.±¢–wÓìüEJžéÖAmÖZ-"ycÁÉÔ€ÚqÜ4+ÿ 3`aÍWˆçâÝŒÃÔF# ñ_@Üù‘†9;/'Ln-£Èj T!J;ö¬b÷À™+óò@?YM æXÁ k¶kGøÎÖ£«t(žcÿÉb­6)ëˆ .òI>¢a¥9CW>Eçæì¿™ó¤dV UÎÀ;€,ŽiGç¢!èyú/ÿQ´±²Œ ¥R%cz5dá„Ó’<¼ýá AÝ!®‹«T÷§þÁ9pFôyüó‘ŽòÓ[‚÷D:sȨ,ÂlœŠœ ñ;HÿF¸ûìß‚ý…Ú¿z]ÿ›¼%L´°Ë÷c[qª3+aúõÅÿcktA£³„䊲E ÑÕÌRåø-¦Búaf}„ÇpöœôŸcËÛÖàQÐY…×…Dè½öâ¬ÕBÿÃágðûyØ 7‘¾ÎÄÅJÃR4¼ò>Å«Ž<é7XùYþÇÀó`Ž|Ø6ûwÁÏÔëZ+1å Í&oÁoE¨üLäÆpþ6­ðaAâ>³±J³Y‹j™˜Ö£’`ËzQq«¥ÀÙÉw¤å­cˆ0µ i_|ÄãüÞäÙf—ï3JFžÉŸ¸~ŽÂ:üâü½ƒ D4É#ÔO(@i Äá†è‚Êÿ—@wè>)†—AV?BTnKö‹²õ¾Ý¡£éJ4 oPU"cÇ,ÿ2ï]Ðý§@;üBü?ÍÞÇÿb5òˆ|5 °Ð(L›íDJ •ÿÝð½p%¬„%[€ùÿà+ÕtÅxu¹û ‡íb®½¤Ógš Òÿ¸þQøêŸD.+yíÉŠóšˆÜ™L¨­„󒜸l±Ð/¸ósDÑjª6VÂ0´'ù&zL 8ã±³£džé ÷‰› º.‘ŸÜ“,³.½$ç’Í*p,._ËÁjF0@ÑÿGðGH‚‘ÙÞç‹/7ÙkDóŸhŠÃµ¸ßKéï€Þí†'0Bâ !#‰À1\‚5[~Èœõ‡$2Tû÷úWØìŸ³ï^ýÒ.ƒ“L`aÖ¡Y‘÷ÿ¤/àwWð7(B so,YG%™-•¢3ã~Ñ–ÿÐþEZê‚ÕTqŽ Ú 6AF3HNYg¢ddÿ î…χ‰iýGK7uQÑk>g¹ 2µo9[H¤QeƒôŸWh7pý‡ÞgÛ­äë%’œ—så©~jFÄ:ë#©6Æ*þ\g$.ñÅin: W_.µ¡AÔ•ŠߩЬ.Xºé¢÷ÿAÿ ì¡>Rÿ«åfX?ž­Ëˆ¸-Ãk¼Ã õ‚sþŸ«Þ.¬°¾´Ë¹,C–ÛU µ†€^þÄÿcÅK´‘£Æã­b=ßTÐN¬Dë½uuÐb5Rû/û>Èáâ¯jzÈ¥•7U&žï\ÑrùæDE+<)—Ê {´¿:–zñ\CP‹„dvöíˆû}l õA `Æ›œ{SÄb?)Åâr:·¬åCGýhH±_´=9?"ÓázΘuËú× ´¿àRÚ˜õèë±ô¡‰ µ¤Ó¦ŒT‹8ó¤w R‡÷¾ù^˜òß¼-_/ŸåCŒÃ`ëó;ØúÉõuˆ> ~—ü.¶œ; V[ÿ±&voŸ,ç¢}/Ñ÷‚.þäÉÞ¶ÏÂûáW˜Þ]°jس°…Ò¹gC9 ¿›¨ëXõœ¶1¶/”Ãó'á•V¡´ƒ”^¥¤ôŠ)}9ÂÇcx¿Xë ð–T·}Jìô(üØÙ±Gµ›áöñkýç8ö¸ööÌü 7çé™í –UªÒßRÃ.6d|2Jw«(ž’çá4A‹1K¥±1IcóRilNÒØºT[“4î]*{“4쫊¤!g{£uAßל|:È%ïFa8/œYGí¿ó†–w¹åâO¿"Eªó½ºÅ n9¤¸;aIoîçß™ãî„]]W7g)Ž­ì¼~î]˜â·g)ŽmîÍr¼ÅïÎRkÎ>ZÔ.ä"ÛðÆM8ßßt#ü±w´á&Êÿ6Kå6óê6Ïà¯a õek@‡zù¿ó¡jÕÜÏT³}lLô±1©E›}l`›Údžö±9)¥©>¶}lÓÇSàñÁ¨OÃ÷Á–Ëûÿyž! ¹Û¯HmkBFúÞÊþ)¤3¡µ mkTSxœì}KŒIz^jwg8|ÌKkH/ŒÖJòr†ÓÅ|Öc´”À~Ù;ÍfmUsÈžµ@Ô“,Mó±ÝM{Ze|ÒÚ€lÆo>ùàƒd6 { Á6 ‹á…ùê‹t°o_,@þãˆÌˆÈÈÌȬ¬îj2Y3U™D|ñ¿âGÞùlíåÉçÝÞô¤5û¼{gzâÌÚÝuáÒýáÎôdl»ýÑd0{°½>9±g{ôrkcrâÖ³Û[»ôKw³79iÕgÝÞ½)$X»$&øoÖÙÞ~y²Ö?ë7wO¬‹ÖÀZ­Ž5¶žÂ·©µ?ÛÚ¹O.Á“§ðıVáéÔz)ögÝ»BòæR¾ 5öÆÍÙÚÆ©åÚ¨ú.p»?[ëmb¢^Ÿõnãemo®}†—õF`³¿»»˜¨½†¿Ú]¼ìЛ½Î”´jm—>Ü¥Ôw{´;”½lÝ$µÜ!µ²gwéI..!³q×ÃKnºpqéÅ#—™2¿¬CÆZ±nÂÝ#ø½ ßöáÚ·áÉè41sæÄÌYf—f·¬Àå¹õžYãTl|ŠÍ8[‹Íp(ac§`3lRl<77:ŽOáéSxúž&…§IáiÎz/ ”Á¬×c×Î]@-èà öÅ À€ëÖ3`®g#°0˜R#šn†fßM…ÓÒÐT8­_®t"„õºÂ^g>éÑ«é; Ò5”Ç©5d€¾Ïí˜àÅ« ß^À½Q¦Ôj±t&~¹rë Êm?¯Ü&at…atî »mÃÓ§‹’Ûv 6öb°y?†ÍœüS²¥<{„®Ä$¬0÷¨²•‡ÎX¶¸Jß@t#oÈ$<‘PLCÉ]R 䔎ÒZ”6PÖ` Ó¹iYqrKÇé=-NL;åÇèÌõu'¡€"Ì%o·áÚ·^ZÇçÒâ;²/P˜ SŸÂÔ§0é=MSÛ6š‚ã~^Î+]à.†8=ãvtŠNcª >ô Z6›BcShl M¡±)4¶ÍÍM`Œ°îkð÷‰ôÈÌ¢‘.ð©û |ž PÓOÇvD£9=#—"äR„|ŠOòé€t«4â#ÍÀá Üȃ!7ï{½&{A~éHje0H§Å tiƒgÊ\ÃçÂ`º-30ßc`®ÃícæQn8V¤–0åøþÌz– abëxÆÎºcûùå6°)’¨’“´Ñ³,¹nÓK¯ÉÆÑž3Ê]º@7Fºæ"7.É­°ÓÜ · ²3ƒ¬(@?9’T@~@r oñèŸM1¦ *a‹lÞB…(àTgF™j@Åy+Ô¢Ú…§Ч©læ´Êå³r‡‹‹á³·F÷ÁiÑi(,¦xi£i’UÂÇ=s|0¾‡AÔµ˜Ò¿âõÇ:Cà˜~6åÜ´Žv“¨üt?_ÁËq‡ZÄ…ßæg)ŸÅJû 3oäÛÎâB¹Æ#§ÌÔäG²ƒÊÿ({6HArâXÎ ·œÄŸ02Ôm HôIÊÇ‘À×ãÞQnÔ-á_²Ô/á_º¹!¾ ÌòÀ‹6#s<ìœß1óLHf0FùK¸ ¸ºã1ÅL5é˜qõJgJ’¡ºùeE‘²˜F2'HptSp XÜ*"i1$ãÕçÕý$0Ù9æDyJfÊ]œZ_æ‘b#®4óžõl‰ÂL õ tý‡e˜Ù- µ=ÉìÉ5d"‰–]«Ó†€IW¬;ìÛØ:0aØ<;ÁØ$$£w…Jòë±)ø5‘IvÓ±»nøcæŽ?F÷ç@;ߎvÙÓ–ÄZ—˜¸kG&hÄMãý…bg®o‡%3š:JjVnÊ %òd ¸Ü ã3QûEþ6‘gô·›ãx^”áÓrç“ Ã}v9ëˆrˆi–º2æmÖ]Íš4%>!™„ïáEŸEäÓõ[_ëBx5ÄWM ¾ û7—Yä¡«xÐ#æRo=Æì½&ƒ¯Iñ²¥FC†à°©Zdò¥Ë¿ÄÍtÃ/Ü…ìt™Õévù ¦wÈu]qIèŠ)޳&Šúyy–ûBÄüfq¬§øBÜvó±!ê–˜'äøßän›õF›öbŒ¦ù&z5YDLµ_§ :“L /‡Ã¿S`aodÄÂÊ@&äàÔèt‚Gé3Ò§HzCŠ$^=¼"’”µÜŠFœ0)¢Û¥hçeÑÀJ%åôÇóNI16 6•5+Ñ·=\ œ nÝÏ.Ι„ž$èf³ç·õ#m6ie&ô‚Bod¦ØhÒWfRœþ@’y_'óNU×l4`¡p•§¦¨¯Þ¥€öºL°ßhg¢Õï2 ï£¼Yxx*ƒ"³u ÊÜ_èušÍ3“0ENg Ô¨Pæ mh—Άq·h°Žž<ÿÒ½+0µM±VV€šcl6ðt›ÚðJD˜;=; ÌÖ{\žn܉Ëf“Öæƒ1Ë:aºu"ëÖI¿$`ÞᑞE]‚Ôgý¬pÀ®Î²òØG—ÙŸgÖÅø“õÝO­ ™Ø!› t:O1¬Ëös@X×ò¡­ƒ†Š¬—à\(¯wâÕÃ+•Þ:_sÐ.Xâœtcîé„V™jµµXÙæ¶õm«Ÿx -¹x# ñ¢_<ú…ZPRëC¾t8†=îu¹Ž¤~¨¦|n±M ¼Ñ/¹žœûòøž©4C]@Sï1L=¦Ã¦Þœ·ØØ³Åí:uÞÑhó8ÛZdÄyÜM‰%ƒùš?ûè)¥³gPt;‡E¡‘0Ê1“Þ“–=Éý6»ß¦÷C(ÑZ7˜±nPå"ƒÞ¦ŽS>aßC<Ó­‹l¡æxS–öv©âgj­K’Ûže—gq+¢?™°žì@õ õ ìp'þ—ˆŸ£Ã>ÄUÔ‡¸w„6ÉV¢œá%ëôÓ' µ1;:_n:'äeà‡²>E_(>~÷s;™÷ØzO¸"Æ,üÎÆóT¥2] y›ÈÙ‚§ß”ýœòëÏÚ(0gÙ0Yi!õdŸSæhÝÂh»MM¼ä6ušòàt) Xôú_¥#¦µøfëI9dN¶j-¾3ÖY'çT!»º”qå ‰2cë©TØêEãrŽù¤E8xôêùgz¹gžµïò6ËÜŽe² û0t‚öq)_ÞȲ~Bc~ÖÃEBBh¹¯Þpæ3 ©®‘–ù¸>ì†ñá¸Gi*ÀwáþZ›¬`ep`/R0le[q¾æ@ß”$¾œCs¼xŒMk-´×jÊó­ÕÐÇØ•UC½ Ô9èêFêhfƒ¹•bز+4°P?©ž[ß CÏplù€gëÞÒy¶¼ý/ivº©]÷LSânž€q×R‡³•g!øž€à+Œª­`è(7†¸V-džG?;¶Qø8 ¼00B64«ŒpMÞà_¸ÙaÞ=i"ƒÜ}œè˜µ·7^ž´Å¸ì‹ä¦Â¥ öÁð{ç^âÖ'm H›²b›2T{Akw70I·KŸÝ¦—ä2k‹£8Z!¶á—ŒØ”*‰Oî%>)V%—V .·Â}õ†PŒØ`çH8Oá0ý!›Ê$švh} lË«hßú€ßY§Ä·àû­9ƒ¥MX±ñßLxäðGìüòl<³ç§ã$Á‘mq9„­Ëšbl÷¶_í·.C/ÎJâ“býæÑ~óª~ËÓoï±~ë2Ch-‰›žî-Vž°?¿/á~±î hwUoé­:‘Ca/ú„ ¦ùý{ ÷‹õVƒöV£ê­"½ÕFDF!¼W¢û÷îë­&í­fÕ[yzë]Ö[›l_êsÔo¢sò.ë]Š{™)Šõe‹öe«êË<}yõåN¦†S¬“pWØA(uêÝbý4¤ý4¬ú)O?] wDVèñ;ꀭݱS×6d< †£xWžMΪ;>`ݱ‰ë”q.º G1Y2êÚÞ0棄Lî Z gÄäÎØŸøA“×ûã¡í$1yœ°£ÖÈHF—ºúgÅ|¬/9Ï2íøØ"B’ bÞjG½®º ’$cc’„$-8ɃÿŒ}í%®þY{’oBlr.õÉ=IüÉYFð‡‡¯ôÎ]rØ þi•Ü¢ )#ø»ÙÞxy²Ùæ5Çó®d&Ög þ¾ÄNù¼Ø8ÜÒ·Žf›ÞË“õMòç3nZÜ´Mâ[ ¬èþº){CÉÆúçê[,V0žÍ„¼—¥¼wð £-kƒåùuëÄjàÓºåÀǶ\k¾áùFîðMtM¸×€'6~LÙ€¿: ãŒ^x_Hye±×qLÑuå¹%Ým#ñt¤>X® Ö¯þÆ9r¹ïáÞú¯X™HÁ(–ÿ"ä·…gM,o£®N§0>*…ËHaŸEtõr+9{¸ûm„­Ðåj®`·É^\’ßG™Ëj{œ#zÈË_AO ¬ß¡RÎò¾µ%~îaL#¬a¯¡üôóŽ9ãC¾’¥C‰?€{¢f»éwè>DVÊeAã®:UtíÜÅ5\*í\iç…kç ÒΕv®´³v¾jçX‘¹JCWzѺ^ièJCW:‡†îm¶Û½ÒЕ†^¸†Vum¥¡+ ]ih†þŸ†féq¢E_>[éìJg/Zg»•ήtv¥³ tö%¦³¿@ÙûÊxÒSéèJG/ZGû•Ž®tt¥£sD>]ièJC/\C{•†®4t¥¡C ­áä7råSiç%ÐÎÕÊ»J;¿îÚ9âÎ2´ó›±ò®ÒÎË «•w•v®´³‰v~óVÞUz4tµò®ÒЕ†Î£¡ßœ•w•†^ ]­¼«4t¥¡M4tµò®ÒÙË¡³«•w•ήt¶‰Î~WÞU:zttµò®ÒÑ•ŽÎùxsVÞUz4tµò®ÒЕ†Ž4ô¤"ü/ôgxÄ9ÕÐÑ™‹¥T§«­û ßZ–ŸÐk–¢­Ó¹XåÁ¾2¿$åÎZg-¦¥‡4FÚÅWtƒ˜6‰ç)-‰ëHN…÷8?­H¼’—÷øº"fUÞ8^«+s¨åñZ37¯oÄ=ÇÜöã6Ñî¨Þè;ŒßH\ìÆk¿ÎØS8&ÙUãŽç×UÛqÖžhµÊø¨èšpÏ´tí•}ÌC”’=dzø!ü~d ¥MÎó˜É¬œë›È¥ªU¡T–ô®Þ¼”‹ðœ`ðþªôÃÖ£#i­r™·>¹¤¤Ö§—¢¶^¤/·þƒ„Ö?²ø{9“ÆÄI¨9uõ{OƒBV‰ïk‘0)í²„F¼5¢£Gd`Ñw ëk§âÕPΧ«ß»4ÒK{O‹EvI—$$Ô2œ¥ÐΗáù ŒÌ¬ˆzkn í„Ú_: ÔæJKWZºÒÒ•–^>-ý¡u_D{Fú$vþ5)‡ŒÁÊáŽÂ®»t#\“öË}úÓ›ŒI‰ÔÆišäüc„ùÇÎW Ç>¦ ãr ŸèçQÎn·Žè¼Ä6–ÃmãÛ¼¥ã6]{eîBÛ‰Ø?³¦9œÝê ·:»/Ol¯“×(ïÑË,ºç½K¾Ìb4ɬQ™4¯Dz½Tº—¹–,•êYq÷¥è<¥œ´Ê1ìò·ê!F®û¸Ö¡¥Ä°‰¼ô¥õ8·Œ++ÇŠl¼•8¯¬‹%_yyŽsÂDzŽC{_pQ˜÷&šn”h‘;Öõ—Üço}²·|,ôrù”ÎËÒÕEF9\“bCOÜɈf‚sTÑ\¨£Òg;ÊÑ·ø4$.Žþ,Íwù¯°Ñ×M üœÌ3è ûÀEÉé£Ï2„«³ˆâx3À™³5D‹é‰ìÖŸF¯|+œû¦}ý."<› _ï‡c}nÕ—i¬µò,0~W„yZâÏ­ð§sDÁ î®)ð‘ç]¤OxÞǹ©mA—ôNÏZèy‘ž˜ òÃSÁ=½å ê ê/b=yù|\w õϿɖëÛ‰¹ ×¾µ/YÉoÏäÒŸ|t1?'Pç&ê±:Ô®ŽvhÂf¤|”Å r‚ƒ=àÚ ²â’xƒMLÑy ‹â„´–/ž>ÄþŽÆu"'¨k,Z üµÄ¼Ék/²8áëäz£Å)æ/C/ˆ±W;Œ½zK§³[/ãÿHI-ö—Ñá‹_„ÕÐ;KþÔÏÄ\ [¹‚=x Ys×îºKlwuí= ܯX_X䤩'%HY‹ía#Z¶F+\DŸìo Î%Z¹Žc¹êÛ Žî\Ãßó4ÐOnõâõ톖×ê~¨Íijq/°k¸¦üi¸÷Q¾›¿×‡(IdŒGVšÑÝ—ñ5ÎTæÔ¶ž†¼éQ¿"ßKç9¸t‚‘{ºö¦…R؈é<¾¾ï¬ðOnõÙõÄûPϧ¸ÿ„>Y W)Õ‚² ò—Øeµ}ñºðÛ¨ñ¢<ÄY¦CÜý_†÷’F_§qEãþRJþ£´½KJ¼g£Àd¾‚ËÿM´z+Ñ“Âü6Fαq­îãlCä)­îy¹äo€;’øê_bkÇh±ÉXøtä?©Õ²}ìcª‡POeÖ[ßÖæ|Á®êïÓžEº`Ñ}‡ò q~öÀm¬Ë³×|Ÿ¡¼vºüS‰ê±<Ù; %GÖNCâ[å]Ù®ÎÝW{ 銄j¯áë³×°©pßÙî øV® ½æçÃí }bãO{†óõÓÄù÷|/^Ç÷~Uº¸ÒůŸ.6ßÍv;o“tñÛ€ò>zõ#P¾I¼Wdô=Áùé²ÈcKXeMwÑÚ 7Ïv­ÜÒŵ/C=xyñÑ‘>†ö”³4.¢F=NÉEÚ Wƒþýy–âr€Z‚HÛÊœ½>Â(smc {½Ž³º-©×8Ç×’zü?Á´§3ÛgÒþבˆ~~ލÐ9c¾.‰ïUí öö½Ä'Ý»ƒ{ÖÞ]›’Ëf/½;Ó~íNOœY»»Iº]úì6½< —Ù—'´à·Àüx¦ÖShÎg/Oîw MÓžÝf×ÝÞ@φ/[ЊݭéIc2ò'ÇÛ}Ð.‡ÐlóAçåIûÎ.©ßú6Vº³-éÜD·wè½.%ÒÙe¿ gv³³M/=Òè›7×ñ×Í ¼ô€ÌRn ·¶±ˆt~8= ȵGÞ¥—É«½E.?è‘4}¸nÒŸ»„ÜzkìvÝ!•»ÕÛ&÷¶{÷Èeƒ^¶{Øë½;$Ûæz4fg¯G~m÷ð×íÝ;„Èí]ª6Pq–ü ¯¸äkö U|pë¿ÛEr“\lÜDâí@ÀšíÜñ_žÀŸéI}†— ½8ôb+¸¶Iz`Ÿ`†P„›;ëäº{s‹ëÜÇÂIEááÈpggK›mÝA¸:[ÛôBnÿª9N%áU²ÜdŒÓ›>U ]E¥H—CÒ%)6*ý`t ÝÚ¦ÐîÎÛ7÷@Ð>»EnÜëbo3¹Y(­}sÛö66àNÓÝYG2[ÿú6ÈMBrý3rs›”5›}¾íûœ&šÍbåÙ¬¼ Q9P¦#•eÓ²œô²nu;á[]dI¼ßÙ½ÞOÖ+}¯5ªLôÊ[Â{±;¯¡YëvPiì"¦í»»¤öÝH4ñc¶{÷ÁädµÑ„/{ð¥éÍ:ëmÒOyдk¾ø^~“çFͯ;?ël*7åÇmåq[~¼Uí¬AŸoõP7­õ¶ÉâöN„ R¯ñ%îNƒ¯pŸíõÈïfÍk¸~«IÛ0˜ø ½½ |àøø`í  ½öJíÚÍ/#‚n³f·ê-×§toö Cn;µV½é4Jwhû¥ëÚõZÓ†J»Y„=¿Ö²=»Q(“»¾S³=€¥”¡–bÛÉ"ì×# :q †®ïå!A*å9µºÛl—‘ð|?g¥”Öz †£ÒZßòâ(w!ÜÓtPMÊÕñ"'u4Ôý†–ÐX'ÌJt cVäRhX§£!Þéöà÷ìóMÂÐ5îlÜC]1ìÝ$#å¯ÙAÃmyŒŒWk4<;¨gSSɸ o~‹‘qkAÓ ‚f6W!x69§æ{NàTÆS¨4® ¤)»æ¹-Ûu²Éøàv¯å¹l«‹Óª¹MÛ6À9P¨4[Sw•f êR 2ÉÔ%2­ZµipíѨyõzx:“LC$Xkò6Õkã×›l2M‰ ‘µ¦ë°Žr‚Zêj)dš o-?$cû-Ï„L_"ã‚€7|ë?¿æûMPÙdÂû @ƒ«ÑZË÷lÛ›¡DƯ5Z Ûn…d¯eÒß#‰JPkÖm?ì(¯ʶbšIf,‘©ƒòrAˆB2  [Äf‘™Hdb¶+=?Z±¸²ÑXª :ÄféèÔÿõf+_³€œ'ÓiÔ¯¸õ|(_¦R í²½\}d™ ¨¢F[ù8èÔe„4-7¨ç #+ 0©ŽÝ/Ÿ|¦J§Uw-7Ÿº:²ºð]ÈØjr›gª½€Ž¬/|¼ÁºíåT¦@GV¾øøMß˧ÛÎP¥Õ©7òY #« ?€4V=ŸÙ2c• ˜ÇñóYa 3Qé€: 'ŸO0t[¥Óò݆ÓE:²Ò\ÑŒœÄ¯ÕhsÄ«ÕPZRq¯·üLµå)zBE¼&§éû™üë©zBééf-¨7ýºA}iŒ×ªÕv«‘)žª&d1ðìZÃiµ Àn¥I%¸ÛP/È”/]Kxn­îyDµeÒ¤i-È6/Ûöyª–µ(ØR7²í¥iub“0ŸtÆiVÆf?·iÀ…“4«Gl{Poµ²é(zB1Â@ǯÛÝ®¨ Å'2 „³é¸i> üÓiû™jË %6ÞÍ @F¾åÝf!ã\ Ù¡4nU ¨ Ù½59PU†äk›vy h Ùñ7fÀ ub,¢/äA‘±xŠº‡hÆÚ"P´…<`4V^¬,”᫱. d]¡ ¦U{ « edojh‚@yHaS³i1SjÌC À˜ºAà+d¤p©‡rÐÃ4*…Á/]TªHTk6ÛØ½ùòd¶y·MK“ü÷¬ø¿gmZá"ñÞë½ÎüE«ê+JÎï«Sò¾fõ±Ù èJ,Ϻn™( ЪtÙ èbGê/xÌ×ç÷Å))/YEŬ¬Ï!ÝHØ_Ýq|À ˆöõ‹U š'7SHÄ·ñÜ&ºÂ:\WIEà"oqN‘Ô+ô ¸Žè€uï ëaœ”tŽa:×0-§›mõÀdµ·¶‘kºÝxDŽ]#›—º1ÐûüåÉz½Ã“¿óWÖuëcëÆ’~>†Ú½ ¢Fê¸bøYGezlEçà¯XW€àê2óIw-ò~Ì'Yåõ ÜßBÁª—¶R¨Žê‡œDNU‰ê|ˆ¿Æ¸Œž\7ÊU«ä:žuŸšôõY׍ŽfÈGÆ™ôàuE8É;£Ö›0eV‹ž.õ ÍÉëØ×äJþßEM½‚ÈLð”}”ݘ€{Ñá[±ŽXž âCMÞÓ} N3§¼j‘såž±Ó+¢÷\÷𹬹 ˽{-7öQ'õ‚I¯smr—aŸÌÛ¼÷8uÑáïÞ`‰ô=dåh?&…¼÷“ëIÀ¡„®ËGä&R;Tmü Ãùåö£ "ž"xÝDlñ.· çÉvõÇÄÏ.³îtØofã_'€ü?A@¹…ž*G¸†ð”ŠÎUÔ?„£>Až¢Ü~‚ÉX’r"µQÚØsžî"”}Ý"o*³üOÃ'Cô-¯uÔwAÏéž=Rž]´Ž˜tFºü¦üLнO±Þ/ð$§¯±¶‡X[z¾Ìˆ]7ÃÔ4í×x*Äõ•Ö§@÷7”²é32ú9 ˾‰÷®ãiÀÄ*îҀ󴬿ÔÔkŒè:‡ê9±>ôü6R£¯¬?ÓÏõµ¡£®EhmÈ:âÿkýO¼ógÌÄrØ¢û/Ù]¹ÏÚá>¤ÇÚ~™Às³~YÇ~ù1ž|}À´"÷3ΡOöC[ȵޡ!þb_þð÷!ÖökÄš`ú„®®Æ~é3½L{ŒÊÃuÖ4ýï ­ÿ%Õ™žÝ<ÅWɵ¦’5Â4$zò{™ÚêY˜õd—ši®CVOŠožÞÜB[²oMepŠu2éÏvè«pO`­çÚ³!z,‰¦¢}Áñ¡+ðóKÕ×R)SVe=®S ®ý\˜öðäï§Ègz¡ü«×k‡Û orÌ#ôOE¼û$\Qð¦Þü!rð!ÊÃÛe*G"âr9*½8‡÷%V×ëJ½ðwßú?P£<½ðôÝúl2b¬Åúw°g °¶ÿ•ý¿íÿ ïÛ“ßûûu/Ø?™ü•};z+öß¶ÚÏݲbÿ¡ý—ö£Îåî¯ÿƒWƒf†’ýïìnÿlïâä/ra²Ž)G„Xèò:î škZk•/§fXõîýðÿíüy÷Âpðû?ý½?1Chxñî]kE±–+ÿ¤¶óç÷ß?ü§_þ÷hi°ùûßí}ïo½?'2»?Qì(Ôû ؙڼáÅkçòßûÉä/~k>l Â3 t4¸üÃÿ6þ×?ùO°ù Û1N´_¢d´þgÿâ¾óÓ?øéïZ+ü­ÿñàOü‡_û´äçG?ýC3$þà;ÿñ¿X+”Êý¹µòo­?=ú£ïü›CÇŸïÿKjòüßÉ…Æ&³æiÚý©„‡Q3÷ŒˆÏÇDZ²g-ÞŠx¢4îp ­³KHòIø½tD/Z3v%÷黂žb[éóÙ4ݰäx«:›oDzÞF¢"Ÿ'Åbž1/z»”< e‘DÃ!o`ŽG8ÃDgud¿¶ËR²hŒ.ýUéWOS»›˜ê#øDü¯×'b-7Q³j˜œêjÎòLZ!–lÚê2º&u1Ë‘·tdGh~¥ÅZåÙ´´éeGZ6ÿ1íqQî^†û<'‚Ú…«áâ2Sðõý6™½@䯏¬‚G6‰Ý9f2TÃÑ]žrZ~þZÄËãQ&^ÞUVƒ±kÅHa tçn(í€É!öÙU˶>±\V*©Å6F† ë¬w®jÊ> 5í Ë4jF¬êW8 ®H:C.A´Ä»áÜ)ÍôÜ+±áŽùÿSÜPâýä® wãQþ¨Ä‡øWýéyºúZÒ>¿a%Íc ÑÊóù“;X+‚*‘”î÷…Réª5Åm!…ƒ‹ðÔC!ʼnõ äfÈøáâp,Ü9iPóùoÊ}Ûm¤GÞÒK¯.»zìêKùŠÏ0ÈœLk(šÄNè»ygLC( /aˆ÷¯…(ñ´Ç i•tO‘#ÇJº8÷˹øìü.ÊÍ¥úÕ2BÎr$„œ „îƒ:PÒ› äBÉIAI)È(¹ @É•Prs¢ä¦¢t dTN›)·?y @Ê“òrHœ—%¯J^!~ò€’/¡ägòÓ5\ä-çHÇJ—C‡Øw…/M•„8r¢v¼ÏÖ qtCg‚é{$ùZy¥GÌ̲ðocI³Óºq¯¤ƒ%?VzzޤFñRdu±s÷ñïmü{À,_œ>Êi é{FÉ:Á ¬AjýÝøªU¸÷Ûa_ÄgÉ£Þ)Z¢´þ“•Æ{ÿ TêÎB©» ¥î•N=\e,PæÔïÏM]X,ѧ>ß¼Ô…UÍ1êlu³Ö£¤ë®ÉTÇ ¼v]-lFéô´°‰‡ÿºùå§Á»~¥‰ iâ²jWùÃç›Ï«&^æ(Iå“;ÁÒÄINgdùúÅI–Ë.Tú"äj9fS˳ Ëj*Ü©/MX¾¨MÙq‘7Á&Tc…EÈÕëf–5jSÈÆÒiâ²ç ß„¨Må/š›ÓÚXÖªwÍ_,"”•kŠ» Ü#Þ<Ïž&ϼ;ÏÊèÍ´ýéç=<êî ºû7¹ßóïö(;%Pv´”Ý(»ZÊ^ ”= å§Æ8Ï»::^²i›æëË7ž2ß3wƒñ)Ù“¹ŠH’oæ2i¾îË–Äwe—Y’›P’[zIž„žW2zº=vr›Ê*I·ß.jÓ1¢GÏ ÈÖù΂ÑëËç WGá®ád¹’O¯H*gË¢çl¼Òè"ù\†ÅéèòÊHÖÖå•‘¬·Ë+C§ÁÕýèó–ákË5í"´¶Zâ}©MÑ^Ð(§nMáþÕŒ”6K©–x;g‰4qlP¢ÃRª%Ž4’”Mgž6Ž4rUªnb‰q)K£ã—$–—¹ì~4)±‘X¢nDFO#$ozZ›ï|¾‰º·çBØi;#vÚΈ¶CZ ž»&ò‹§”C©ü&Ëó[!W}Êèèh8‰4 GËE®††ƒ4܆Òpµ½¤£á)4¼dGò“ûÖ÷A–iþûÖu,åS‹ž{”Dã¡DƒÓýØ2Ûÿ,ú—º]Û¤O§ì”yÚ¿¯Ø¹MäÛ±âŸÊçÎGv=~ò|tÖš­=ÙÑÞuµw=é4Ï)¾©áªõ+‰'ÒÓQè œŸÁãð%€d7øïÂG®=‰êØÈÕQ)'Â÷‹ß{N‘#µÚb|¦’= ŸlÔt%ªòž¡õ §’ñ>’ïÅOStbW5WsPtK§è•ÒêY¬?²c:eFtâeêã:7¶šåŒb;r„]—‹¾sèA¬y¬´ž.±Åè®X×Bm&—A%Jù˜Dë–¥u‘[]Œ6=¯|æaž¼b\VÍÕé¼UŒ#Õ²x.Ñæœ^ήï^.ºªOž\ßbtÓd/«µåÈe²Œ˜ñj’”ä˭ʉ‰Œ%I‰:wEuùÇx&)õ⮳oÄù´°„¨³PTbÒÊ1‘)•÷¯iÛt5·÷iÖÖ8/¯jÛZ^ù§ÅçËeæ“­y,Ð<’UyEçê˜K˜~ßtÙ–dok>;2Ÿ¿¥Óðé–$„è­‰klML4¹Èû‹ÖäYü»hKV6ŸSªê¨u11§pÌC§TO'^⎗ˆïI:ËxIžX„Y¼$OÆ,^’‡¢Y¼$«ÕU¼¤˜u÷OaŒé'ÄKÜ×ÔS=Ÿñ’óï©êùlQü;¿§H+¼Me¯Xæ\¿_¯Š—Tžêüžª*#‹ŽÔœŸ/—ý9Ÿ‘’Ê+*תœ½%ÑŸ²UÅ<ÎCä=¯LvÌ]•‹E[²²ùœR=˜‡W8æáAÌcÞõfûbæ‹yÌKÑl_LóXŒuW÷Y–eÑ¡×çùŒyœÿ5"gÇËó{ªõyªzºÙ9ª˜Çë詞õjæeòTËäóå²?ç3æqþcî‹¶?‹²9‹Œ¹ç·?ú«HÉës?ë}™Ës/Âç”êLø®Ž‡ù“h|íK§œ¾Õš_¯Ê» ùÉ<ô;=‡|2Kgw9?ˇ~÷J%çƒ×]×ñ,hñü> ‰žßÁtÖ½nf½É)W5§&ñs—®â½UkÄvÉ=:ÏN–ⶨ¸¯6ZÜjêy<×y¬rq¿µh”ŸpÑÇsXóÜÅù±HÌo9LqŸoÅò¢µÀ<œo–×t­Ä"y¾>ÐÙV×ж¦¯v=kÛº;éJ'ŠvÒA;éÆìäâý-™OæY/yÞôàâÖ¼~š)Ù*»si¦¢‘ÌyË=¿}_¶ozºÞÀ"õ™¨c=ŽõtìâVð½~Þù¢ä±hDi‘z`¾¾×yFž¡g”¾&æ¬=#³™†Óö\æYõpÞtöâæß^eæAx ÓËÞ‹'”kÓ½Œø¢—˦Ï7özøöf¶uq2_ÄW+Ò¹ó÷wÍónšdë:ï{iFÖ‰ô¥‡ßÇøK\M,zg‡¬n|}´¸Òøûà ÿ›ð¡’ñ}åT<‘î.”ô¹8¢@jò+ =¶ÞZD­z¯\õ^¹ê½rÕ{åÞ¬÷ÊuQë«ýÔ"^Ÿêí›g«%é»Û楬{cÛYê_Óž§dœ¶æJ>ÑŽG¤Ê³ ñ7‚„X/¦\'±\w¡åº‰åz -×K(÷«P —W®lQâe>^@™ªm‰—º/X6ÙžñGB ÇÒ½×p¦8üŸMâÁ÷#°VñÔ#|NìÖ'HUô«äw™êʤž>b£ *O¿–á,  G)Ã]@®R†·€2<¡ ^ŽÏF©7Ç\c2rÍ’ßKNSòý’G,ÅãXÊhd»¢è=‘ Ô¤’èsžB¼l­(5sòRÒŒ‚îís‘o£|Ôä{càEôѲb å[jØaÏÉÛ)©ÖØh›¢–tï*b&F„iªk “O¥|QjGHMýX1õ±2bç=z-ÄWíÓÕØ“ÓÃÓ)ˆ§W14Tì\ ;i}_ÅãF²t9’þÓÉó*ó1t2¦ŽeI*¶![Êt«…ãRæ,µ”¹ ‘2'—”eqJº”9±þŒ?9=<½¹¥ÌÍ%eYªˆ”¹!žnª”¹Š¯·šz[ѽ£#K$§//K6u« ã²é.µlú§`óñ—©l®†ø&ɦ{x%[À|z­ÙôB<=­é ˆ{‚LrYJ’H/Õ2z9-£nEK\ú¼¥–¾ú)XÆ|>”©ÿ¹â›äzg€g£d˘ÏwÏçFêëÀ¡7–ôó1ÔŽ×Q¿2Ìäs£ïû8ŸyŒÒ(Çä“V™}Ä:ž5^Y8Òz^G !ëæ^ Ö%í±U }D†D*˜â+ø;Fº |ä'#ß­`Ê»ïâ}—Í\Äç<8uNc©+Í»"äæób ¯ óò‡ÖQ~Å{Ïq~™R§¾§ëb]‰åˆ§>S ©?ÒÊÈulñ>‡øm©Ðxÿ ›+'1¢VØüýˆÍé¯`É©OPõ(QúVOq ‡¬}(n5³$ kP¯Sé$}Ï…ÚVCÔ·C\“0µèê+JéÓsÙ̇•YKŸ[tuÓé×[_A× =~í%ÌÊaüv'´YkÃâ¾Ï[F×ÿÐu#”&]òÔzİ;BÎ¢í¦¨é+ }JW­SM¢t >ñZä’åÞ'’­ðzÂZ~g¦ ‹¿i=a%¿C½É'R™"ѳ4äÚ¬‰ì¢þ§~Æ#¬#ÑÕŸ •ø­Á'ˆù'ˆtÒJQ»Æç®ž‡þ‡å…QŠåŽøüÕeëÚ6È91bÑ—$Z(US‹;!ô‘N3¿M6]&ľVÇIIñC]žci/Ç_“Ƙå¶[WßW‰õ}•ˆËq".é#BµÝWOW¡¾#õÓëãxj¾öéáÅp¶ž‹ÍzØ”‹³{øXèáÇgÒÃó·?™Ãã}¬Jëéôñü\^¬¦žßÓÔz Nh¬ƒí~†~ÍÈÒíÛIóÒLVü‹in¢•¼»DŒ‘Í»š2ª…n½æiùL¼Ä]k%Ö:ÝÁsK7GÀ©ñÂs…qîÞ´È–>ôÂUæ÷Gußøßè~ü®üŒÖ%o¬“ä\ÅÈýKé:Ry«,²G9ì^‡Uá^¬.ŽÒzGú¶ª)•—)×p5¬£°?å)£ò”屑%Ûá8ÙGÒN8–v$š»uíÂ8k]ÐŽ%ï9Káùš1—ÂpÏÏì½ÞáÉ·~Èrß°Äw Do>ÐIu4NŒ¨^d­FÌÑ ÛWª×ã𻼎ÏÄÜÀšÛñü¼]1$–ïKÏ/¥´¾v˜3mïm×o+yüפ8˜Zc}ïPžá»F‰m‰xéHâ%¹Eâì¤n§ÛóО¦×šó“e’÷Q\ ïQ çI÷hÝÈ “ ä-z¾áÁ¼³£*r»j+{iG@YÖ°?´CýêöÖícÜwMÒò´„ã’KPûX”˜rJpc%—\‚º¿ŠËH<~§®SާܓRkRªqð‹>sáÙjÓ®5¿îÖá7$Zmy5L”\HæÌfëÞË“õÎîË“Ûë“· tê-ן푟Ž7[ßÝ›½»k;‡'Ö/XÎlw·ß~GVSà/->—²órm €Ìç[½-6,Ñó¡NžÝ¨gù75Ž ãèFê•ФSS` ²YåN‚®€×X|›e”“K\T“ƒz0”Ð ø d‹fS®‡Åjñ6ÎQ9语±Jþuvo¿<Ù^ÿŒÜîÜ„BÖÖ·§'öoÖ¦¿F£Qk0™­u¶ánî]rÊÃÐz^Í5ÍÔÚŸmíÜA¤pç!ž™Ø wûÝðÇ竈˔Íf÷0וXúÚò£Ywã.©ÜÚÍ)^zÓoÜœ­mlM¡ kwî@á·û³µÞ&&êµñYï6^Ö¶ñæÚgxYßa6Ûø»»‹‰ÚkôÒÅ›;ôf¯3=iÕgk»kxw—RßíÑBîPzô²u“@ºCjeÏ6î:Ó“&\\Bf㮇—6ÜtáâÒ‹G.³Ýk/O(roY·pœ ü1»ÓûìåÉýÎ cÏn³ënï d×-èˆÝ­éIc2ò'6éÉÝír$RßÎî.iKûî.Á¿»‰Æ}o2œíÞ}€ú ¾ìÑ/õ6i}§ÇtzüÁ&¿³Éï´ù6¿³uè¬u ö½uìêÞ6QƒÎ:A¨³²~ó|¾a…|g ÷6ˆ\ø³µ/€ÒÚëØw7¿xyB|M”[›r®“z–gõâêè+ÔéöˆZþ|“Ô¾æ¸ÁlãrSTÓ»;ë(xNR¥2‰Ø!‘Ùlc÷&Ôuó.‚?»Õí„¢|«‹}·¹}š`$âãá¸5j.Ÿˆ{ç_ÄÛ¦ï@{ ¦=êƒúŸq‰îÜ‹Ýaø´iÛ´UmR9~a;Ú]Ôìín—>»M/Èå|é˜a½? b:¦‘¤c1ӈ阆ªcIÇ4E%Aeѵkuò¬|~µºS³OkØ6S:ZÃmÔ=7Cõ8Ì?qg:DÒk ǵë Fnpæ6³t˜ï‡”z¨>‚šÛl´<ÒØ+WÍËÔŠÍX“;±&œÀct&¦k´Œ {­šÿ|&hêš×ôZ¾ËhÕ-ÕÙ1FÊ@Dc8xA`ŠiØ9„X/Ö=?¨ç¬^¼Ý]»ƒ a„iÌ9”oý@4$j/¦[äa9ªÙžç:|¾e£Þh¸ÙÄ*Ž× š£Ôßó]*®LÅsýz‹SñjЧNÝ˦âÉTê¶íx¼ENÍ·íÀkeSñe*­÷¸[€pÓ± šˆ$¼šx^£A‰4kŽ_÷Zl"u‘ˆ_³ý¦0Ž­×šÀduƒÆ4d"Щ¶Ëš‚Þly&Dš"¢­÷]j Ïq|ƒÎi‰DêÐ9­F‹®×hzÍl"}‘HeàØˆÛjBgˆDZ5;°}›ë•!aP‘¡Hñk„A'â{nË„íGž Ô¹Vª9M¿ÑÈò ÊX¢`6# lã»M"‰Hh¶2ò ¦Q&‘±JÏVK—†ºNÃwë¹ZÔd Cä¦ïú^3¢@FV~«²Ww¹ºÈ²Ão×Z~«ž‡Ñ€F]¦áÖ\¿Ùò¹xÈ4d2 S[¶ëx¹äÈ4e2Ä®¹¶ÓÊ¥ €LK&&åâc¨—€L_%ÓB;‘GE•ÁL–ùubëó¨k 3”É4j¶[‡®Êe:€ÌH%ãµZ͆›ÏбJ§ÞÜ–—Ϧ‰J§Yw|7ŸØu[%Ó"^O#Ÿ»t”1tÌ…Í @¼YÝX<î±f"®«ŽÜ0×Õ¼Ýa®ª,$ A¡‚Q¯Ûõª§u<ѬußoÖ3ÚUU†Ì‰ …jA QfŸ¹ªÒ%ƒ¨EÏsH<“P+MRÝÀ©5¯n4-Mqåè4êÄMʤ3HÓc¨»ž­W]UyÈz ×›Íz6QššÇrÝu²ÅÄUÕ‡lv¡T¯eP£IŠ V"M7»ëý¡Zd €gÛÈFZQ ª‡@ÄÎ ¢lBnªÇBA@§eR|a„›‘• uã:HÕf \ Ùƒ4n‰/k Õ5†Ö—†ê\÷µ/ë ÅÑ7æ=?mÐa. ¾¬,ä¹dú²ªcƊ—…<.4×[¾¬&ä1ª¹õe%!—ÍÕº¯( aännd|EAHAs£ç×S"æFØW”ƒ^1w üºÓc=æ>Š_—}”¼> {i|¦9âWêLÈl³FÜß¶îY;ðÏÚ´6X´]¾·I¦Ñ7Ö7ÉŸÏàéûp—,"¢[»¶¬Cës\Ž<µdÉÞlcýsHõ-¾ ò^–ò’ãÚû@aƒåùuë~7¬–åÃgôšÖªU·Èu—n:}Ù\î5à‰ÍzØð¼a‘/4ñ×L)•.,Yd+ø:Î<³X©­_etè§oեܗ¤Ül±4Ëû –’v 7¬„i})í{RÚ yK~˜'HiÉM¾­Ž¥þ¦årŽïYO¬/É6Š0¶Z÷qù Ùžwò“ƒåB«ÈRËç8ÅNMKýtÒïÐG¬¤Ëø*‚g¸ˆS¨QÈjBÈú:¾ªS&BwJû¥ª¿Ð6WöH©ÞÏÔ Ó9„ ”t¤ÓÉú2å–Æ¤¤µK{OK¬szÀjAJ'w7w;)Çl«âÚÞÚ†‡Z]\ÐI_Ø@–ƒÆ6dÎ~Ðûüå ®þ;µì놪5boαsUG3äɾ£—l]ûòÉÂy¸õ1êljEß·ß=MWfóevŠÍyѯUÝe»î 2Ñ›ÞVâö¢'Šˆ;õ'ˆÏ>È)¦ûN™¬uo‡»‡ä♄â×úQ;¨+àjH`lrtú ýt?É|gñÖgþÓ÷ç­‡çZóúо¤g¤ã=ÂUé]ú–'Ú»ÏpÔ>ÖæÞÓ÷È :PQ¿z“1G¸·¯m¤AO©¡zös‚V,ú&J‹sÓ!k󟌹`êü”I1iß~F©‰—HE<ýDn?::†ž®4a:‚îh£m‘áµ:Â+ƈÍChE¨·$»‰²Õžþs€éú¸[jн‚N(c\ó8HWÖxâsŸËP|îásY#r–{÷Znì£Oê“^çÚä.Ã>™·yïqê¢7ÂÏÕ`‰ÏpoL9šÅI!ïýäzFp(¡«c-~êIÔUbEç?‘ž¥4£DÄS„¯[ü=Vò fçÃvõÇÄÏ.³îGlgT4Ï“ ß«L¸†ð”ŠÎUÔ?„£tçÇȫף´ñý“ôäŸ[ÌòTüÉ0<¥ë»¨£¾ zN÷ì‘òŒìê«)ºü¦üLнôŒHzžÐ×XÛC¬-=oÄ®›ajšök|_Àõ•Ö§@÷7”²é³gle=-[^o¿ xö-úîBRÚõ—šzý¯QçP='Ö§u!5úÊú3¨Ñ~Bm¢5öamÈòÈÿkýO¼ógÌÄr«ïJ”û¬Íl ·yj¿Là¹Y¿ÐÝ?ÆÝóL+rñ1ãú$:åk½CCüÅ2¾üáïC¬í׈5=c©ÏôñË8Bó<”‡ë¬iú ÞZÿKªóܽÉÏÝKªu|§Ý•í•7ëÉ.5Ó\‡¬žß<½¹…¶„.ŒÖËàëdÒŸíÐWážÀ ZÏ´gCô*XMEû‚ãCç—ª¯¥R¦­,Êz\§\û¹0íá.è§Ègz¡ü«×käG3¼o[佤}oúÔoêÍ"¢N ¥Áæïs|´÷½¿õþœÈì"¬è¤Ô~x‹ŠÍ‘©Í^ܱv.ÿ½ŸLþâ÷·æÃ†Ð <“@GƒË?üoãý“ÿT›Ï°ãD ñ%J¦Aëö/þè;?ýƒŸþ®µòÇßúþôÁøµŸAK~~ôÓ?4Câ¾óÿ‹µB©üן[+ÿÖúÓ£?úοùÇ1tŒðøùþ¿´¡&Ïÿø\hl2kž¦ÝŸJxÈ5sÏÈp_h!O4×ÎÏ> ¿—Žh´c^>ë’ï©}wÐÇ?–o}³ÏNù<)óŒù{ý#y*Ê"‰†=BçïqßBLiôI”RõÍòºôW¥_ºwËÞ´èáÅSaôúD¬¥ü¦ù¤&§ºš³<“Vˆ%›¶:Oâ=ÃOlU#kbMÌså­Œ®I]Ìrä­GÖÛ‹UžÍzÓqrÙigÕ™ö¸(wщíO„“¦®†Ë ÈL=}›Ì^ rc\ˆÁ#›Äî3ªáhˆ¾Wâ*´ü:ü¯{{gŸÅ8iyWY ~Ä®òy»«8wó;ýe€ò~ÀNsY©¤Û&¬³Þ¹ª)û(Ô´7,Ó¨?ƒî.”þ;¬Õ¢ÎK-ñn87AJ#gßp¯Ä†;r䟞wC‰÷“».ÜGù£â_õCJ$ïµ´jIû<ùl±!Zy>rkEP%’rÃõ¾P*]5 ¦¸-¤À•'šs £ô¬CÆüTöèαæ­BþÛ€2ÁEßv›!é°«Ë®»ú¹N½NžaÐ(šÄN軲Þi½•T-ŸÒy ¤=NH{¬¤‹ÎWÓŹ_ÎÅgçwQÖøÙL²_-#ä,!ÇR߬›†Ð}<1VNo‚’S%'%q¤ £ä.%×Rß œ%7¥k £rÚüH¹…øÉ[Rž¥¾áØTâ¼(y…Pò ñ“¿”| %?“Ÿ®%¼§9+]bßF¼4UBâÈYDˆ¿õ‡®Zômô>d…_+ ¯”àˆ™Yý©¼òɸüìf¹÷LÞ/qÿÞÞ/¡ã£rÚBý›ºcë[ñ}ݼ/â³äQï7¸ø†nZïýƒR©; ¥î.”ºW:õp=²@™S¿?7ua³DŸú|óRV?ǨËç†Ë%]w¥žY­ŽxíxêZíKÓßQjoTýZ9&ÇÓgÍ"(œ^ÒØ‘ÖIl“Î/—ÓÄßQÃç§ž„(êûð¶UŽÁ‘±ÉK™ôOpüùÅß‚s5|ÛÉy»d=ôuAB(u±Þ5³í#7=@îz ±¡GÙÂè,™ÒRÚ+RW`o"®S|ºËèÓ‘™ÜJ•Ú“kzÒkR­t2“Lë(…N>Z=vBl:­ ÚíCÚ"ß‚Jï¨Ò&JÙ|žÏÃ9ùªÔºŒ8.­wùɺñ÷4¨ïZ(F½ ΋¿¢Œºí•ÂÇq~™‡“M©™ñ²*矓ϛîäÒ•¥;óÉCZ½Î’{ËÔçɻN©¼;otn¹ìA¹:·\{P®­*Ç”é×”k N׳)W¦æ±ÎÚúFßå´ Ëï™/ž{Ý¥±§#GE,‚îsËc–Ë*T£„EÈÕëf–1NSøÞriaw©µ°³”Z¸òÍO“›OW ›Q:=-lâá¿n~ùið®_iâBš¸¬ÚUþðùãæóª‰—9JRùÅäN°4q’ÓY¾~q’å² •‡¾¹ZŽÙÔòì²ڄÊC'wêKc–/jSv\äM° ÕXarõºÙ„eÚTãr§±tš¸ìyÂ7!jSyç‹ææ´6–µêÝDó‹eåšâ.ƒ÷È£7ϳ§É3ïγ2z3m?Eúy$º{‚îþMî÷ü»}#ÊN ”-e·Ê®–²WeOCù©1Î󮎎—lÚ¦yçúò§Ì÷ÌÝ`|Jöd®"’䛹LšïŸ»Áð¢%ñ]Ùe–ä&”ä–^’'¡ç•Œžnܦ²JÒí·‹ÚtŒèÑ3²õc¾³`ôúò9èÕQ¸k8Y®äÓ+’ÊÙ²è9¯4ºH>—aq:º¼2’µuye$ëíòÊÐipu?ú¼eøÚ2DM»­­–x_jS´4Ê©[ÓA¸5#¥ÍRª%ÞÎY"G”è°”j‰#$eÓ™§#\•ƒª›Xb\ÊÒèøÆ%‰%Æe.»MJl$–¨‘ÑÓÉÛ^Öæ;Ÿo¢îíã¹P#vÚΈ¶3b§íˆç®‰üâ)åP*¿ÉòüVÈUŸ2::N" GCÃÑr‘«¡á 7¤á„4\m/éhx /…Ù‘ü$Fã¾õ}ešÿ¾uKùÔ¢ç%Ñx(Ñàt?¶Ìö?‹þ¥n×6éÓ);ežöï+vnùv¬ø§ò¹ó‘]Ÿ<µfkO`v´w]í]O:ÍsŠoj¸jýJâÉ…ôtzçgpç<rÊØSÜ þ»ð‘kO¢:6ruTʉðý¢Å÷žSäH­¶˜Ç#Ÿ©$Gè'5]‰*‚¼gh=è©d¼ä{ñS@ãÅU ÅÕÝÒ)z¥´zëì˜N™x™ú¸Î°­f9£ØŽa×å¢ïzkc+­§KìG1º+ÖµP›ÉeP‰Rc>&Ѻeé_]äV£MÏ+Ÿy˜'¯—ÕG`ópe:oãHµ,žK´9燗³ë»—‹®ê“'×·Ý4ÙËjm9r™,#f¼š$%ùr«rb"cIR¢Î]Q]þ1žIJ½¸ëìñA>-,!ê,•˜´rLdJåýkÚ6]Íí}šµ5Î˫ڶ–WþiñùrÙŸùdk 4dU^Ñù°*æ¦ß7]¶%™ÇۚώÌçoé4|º%É#!zkâ[M.òþ¢5yÿ.Ú’•Í甪:j]LÌÃ)óOH>­˜‡.ž0_ÌCO˜/æ1/ÅxÌ£H««˜G1ë.Ï(˜Xáü–ÞÓzT¢^GŸó|Æ<Å•Ivøuâåù=UwAžªžnvŽ*æq=ÕÕBÑÄkÚ–½þj™Ü¾\Vè|F>ÎäÝÌB¼9–§Xä]¿W®Š—¼‘wU¦V¬ÿ—9ò^„Ï)ÕÓ‰—¸…ã%â{’Î2^’'a/É1‹—ä¡h/Éju/)fÝýScú ñ÷5õTÏg¼äü{ªz>[ÿÎï©Ò oSÙ+V†¹×ï׫â%•§:¿§ªÊÈ¢#5§ÅçËeÎg¤¤òŠÊµ*goIô§lU1óyÏ+S§sWåbÑ–¬l>§TO'æáŽyxgó˜wý…Ù¾˜ùbóR4ÛSÅ<cÝÕ}–eYôFè5$Ïx¯©Ïy>cçÈÙñòüžj}AžªžnvŽ*æñ:zªg½šy™<Õ2ù|¹ìÏùŒyœÿ˜û¢íÏ¢lÎ"cîùíþÄÃ*Rò:ÄÜÏz_æ2ÅÜ‹ð9¥:¾«ãaþ$_ûÒi#§oµæ×«ònB~2ýNOÇ!߃ÌRçÙ]ÎÏò¡ß½„RÉù`Åu×u< Z<¿DB¢çÅw0u¯›YïErÊUÍ©IüÜ¥«xoÕ±drγ“¥¸-*î«Íc…·šzÏu«\Üo-å'\ôñVã<÷Aq~,Òó[SÜç[±¼h-0ç›å5]+±HÞŸ¯t¶Õ5´­é«]ÏÚ¶.ÂNºÒ …¢tÐNº1;¹xKæ“yÖKž7=¸¸u¯ŸfJ¶Êî\š©h$sÞrÏoߗ훞®7°H}&êXO£c½»¸|¯Ÿw¾(y,QZ¤˜¯ïuž‘g襯‰9kÏÈl¦á´=—yV=œ7½¸ù·×Cc™yÞÂ4Dz÷Áâã åÚt/#¾èå²éóÍ„½¾½™m]œ„Ì×ñÕŠtîÆüý]ó¼›&ÙºÎû^š‘õDâ})OQÒ|].¡}£64¢&×ùNH[OS|O¡IÞ AÞTDV Ðs ¥FûFì—܇Ä7¢ë£¶¬@KúèÑ>9Bœ"çÕXº—L¨)ö‘“QÖHkH­ñr½B~ýßOpˆsŽÏá÷1þW‹ÞÙ!«_-®4þ>ø‚„Çÿ&|¨d|_9O¤» %=G.Ž(šüJB¤­·Q«Þ+W½W®z¯\õ^¹7ë½r]ÔúÄjµˆ×§zûæÙjIúî¶y)ëÞØv–ú×´‡ç)Yǧ­ù£’B´ã©ò,Cü`!Ö‹)×I,×]h¹nb¹ÞBËõÊý*ÔÂå•+[”x™P¦j[â¥î –M¶g<ő±tï5†)N ÿ§@“xðÇðí¬U<õŸ»õ Rý*ùÝ_¦º2©§Øè‚ÊÓo„e8 (ÃQÊpP†«”á-  O(ƒ—ã³Qê Æ1טŒ\³ä÷’Ó”|¿äKñ8–2Ù®(zOäµÄ©$úœ§ï[+J äœ<†”4£ {ûÜEäÛ(µùÞx}´¬Cù–šÇvØsòvJ*56Ú¦¨%Ý»Š˜‰ašêÃäS)_”ÚRS?VL}¬ŒØy^ ñUût5öäôðt â©GãU ;WÂNEZßWñ¸‘,]ޤÿtò¼Ê| Œ©£EYÒ†ŠmÈ–2ÝjḔ9K-eîB¤ÌÉ%eYœ’.eN¬?ãONOon)ssIY–†*"enˆ§›*e®â+Ä­¦ÞÖEt¯ÅèÈÉ©ÆËË’MÝjølºK-›þ)XÀ|üe*›«!¾I²éžžAÉ0Ÿ^+G6½OOë_zâž “\–’$ÒKµŒ^N˨[Ñ—>o©¥¯~ –1Ÿeꮆø&ùŸÞàÙ(Ù2æóÝóùŸQ„ú:pè%ý| µãuÔ¯ 3ùÜÃèû>Îg£4Ê1ù¤Ugf±ŽgWŽ´ž×QBȺ¹¨uIûGlÕB‘!‘Цø þŽQ†®9ÀIÇÈw+˜rÄî»xße3ñ9NÓXA*äJó®¹ù¼‡Xë¼ü¡õc”_ñÞsœ_¦Ô©/ÅéºXWb9â©ÃÔÇBê´2r[<‚Ï!~[A*4Þ¿ÂæÊI …èƒ6?bsú+X2Eê”A=J”~‡ÕS\Ã!kŠEMÆ,‰ÂÔãëT:Ißóc¡¶UDçõí×$L-ºúAÄŠR:Äô\6óaeÖÒç]Ýô@úµÇÖWÐ5H¤_{ ³rG¿Ý ­@ÖÚ°¸ï3Å–Ñõ?tÝ¥IW„<µ1쎳h»)êÄ_úJBŸÒUëT“(]ƒO¼PÚ¢²“hGó:”:É%þ(£TêÄxX—^f]¾‡H“ºì㪴ÃÐÖÓò¸çÙýW‚?ÀÓ+iŽ5i"Ná¾ ÿœvOI»§Iq÷Køïä´{JÚ½˜lÆåDç‡Ðoq™xŮnjó_±«ªeNe¥8¾:Zqdu´â˜Æçîõ–’s%=¥‚¬Åza‘uiÏpÕ„É<áZr`Ek±â½3A~¡mz}ÓOÐ2O Ž6öÆT’Ý Ž›èʲs%)¾¹dy£÷‰äG+¼ž°–_ÅÙ…)ÈâoZO˜GÉïPoò‰T¦ˆGô,¹v#k"»¨ÿ©ŸñëHtõ'h%>Akð bþ "´BÔ®ñ¹«ç¡¿ÁÇayGa”b¹c>?GuÙº¶ rÎEŒXô%‰JÕÔâN}¤ƒÓÌo“ÍG—Iã#±¯ÕqRRüP—çXÅËñפ1f¹íÖÕ÷Ub}_%ârœˆKúˆPm÷UàÓU¨ïÇHýôú8š¯ýEzx1œ­çb³6åâì>zøñ™ôðüíOæðx«Òz:}/q×Z‰µN7GðÜÒÍp*d¼0ÁGaÜ€{‡7-²ƒ¥½p•ùýÑ_Ý7þ7º¿+?£uÉë$9W1rGÿRºŽTÞ*‹ìÑ_ûŸ×aUøÅŸ«‹£´Þ‘¾­jJåeÊ5\ ëh'ìOyʨ%¦œÜX Ç%— î¯â2ß©ë”ã)÷¤”Çš”jÓ¤³9”’s©ôy®ãX.G[G(‹öUr®=)×q˜ëX›+Þ.Gƒ•£m‹¸~OÖœêcQbø9°êžâó0c™gæ—h ‚úA¸žžÎ–=ãB¿ÛVÀôÞ-Çì½)ü&¶z ýášqi+¥ÌNS¾"ÔùТ1çCŒÓ=Âyj•\dzîÓ”¾žÍîì>xyrǶ''NÍmÎîØÎäĆ‹‹Ǧ‡ëöîêk·ÖI5È¿Yg{ûåÉZþ¬ßÜHÈCë!ø\cÔƒSk¶µsž\‚'Oá 9ѱÃÏ"˜u7î’–­ÝÜAÊ7¡ÆÞ¸9[ÛØ"µ\»UŸÀn÷gk½MLÔkã³Þm¼¬mã͵Ïð²¾Ãl¶ñwwµµv/;ôf¯3%­ZÛ¥w)õÝ-ä¥G/[7I-wH­ìÙÆ]gzÒ„‹KÈlÜõðÒ†›.\\zñÈef„Ì/ëAþã*«ÈíS6¯?:MÌœ91s…Ùe†Ù-Œo<ýBôÌ8Ÿb3NÁÆÖb3JØØ)Ø ›ÏÍŽãSxúž>…§IáiRxš³^ç (e0ëõصsP úpƒ}1ðCà:}ŸYü˜1¥&F4‰VNF³o€¦Âiih*œÖ/W:Bбq{5ú¤G¯"¤ï0H×PÁÞ1@ßg€öp$DlRǼôL›t©ÕbéLüråÖ”Û~^¹MÂè Ãè6ÆO»m£Å^Üæ°9°±ƒÍû1læäŸ’-åÙ#t%&a…¹G•­<üsƲÅUú¢óyCæ ቄbJî’j §t”>Т´²6 ‘ás‰“[:NïiqbÚ)?Fg®¯Ó8) ¡`.y»kÔ^ZÇçÒâ;²/P˜ SŸÂÔ§0é=MSÛÅPÕós+p^éw1ĉówtŠNcª >ô Z6›BcShl M¡±)4¶ÍÍM` ËYÃ5è™E#]*àS÷)@ø< ¦ŸŽíˆFszF.EÈ¥ù!Ÿ"äÓéViÄGšÃ¸‘C>nÞµÈ9›tým£yZLÒi1(ÝAÚàY…2×ð¹0˜nË Ì÷˜ëFÜÇÐ:7+R»†Ó&Ýgé&¶Žgì¬;¶Ÿ_n›"‰ 9I=Ë’ë6±ôšlí9£ÜØ¥ tcD¡k)rã’Ü ;Í­p *;3ÈŠôCS²óPÉøÈ(¼Å£6Åh˜&¨„-²y ¢€Sdªç­PP‹ hžP@Ÿ¦²™Ó*—ÏÊ..†ÏÞfÝ'³÷Zt ‹)^GÚhšd•ðqÏŒïau-¦ô/‡x=Ʊ™;ê‡aSÎMël/Ê“ ?_ÁËq‡ZÄ…ßæg)ŸÅJû 3oäÛÎâB¹Æ#§ÌÔäG²ƒÊÿ({6HArâXÎ ·œÄŸ02Ôm HôIÊÇ‘À×ãÞQnÔ-á_²Ô/á_º¹!¾ ÌòÀ‹6#s<ìœß1óLHf0FùK¸ ¸ºã1ÅL5é˜qõJgJ’¡ºùeNÂ÷pŽ¢Ï"òéú­¯u¡ ¼⫦_†}Š›Ë,òÐU<èó©·žaCvŠ^“Áפø ÙR£!CpØT-2ùÒå_â‹fºáîBvºÌêt»|Ó‹;亮¸$tÝÕ˜5QÔÏ˳Ü"æ7‹c=Åâ¶› Q·ÄEÒR$ñêᑤœ¨åV4â„IÝ.E;/‹öp=|êÐÄÿá¡>%åôÇóNI16 6•5+Ñ·=\ œ nÝÏ.Ι„ž$èf³ç·õ#m6ie&ô‚Bod¦ØhÒWfRœþ@’y_'óNU×l4`¡p•§¦¨¯Þ¥€öºL°ßhg¢Õï2 ï³srhxx*ƒ"³u ÊÜ_èušÍ3“0ENg Ô¨Pæ mh—Άq·h°Žž<ÿÒ½+0µM±VV€šcl6ðt›ÚðJD˜;=; ÌÖ{\žn܉Ëf“Öæƒ1Ë:aºu"ëÖI¿$`ÞᑞE]‚Ôgý¬pÀ®Î²òØG—ÙŸgÖÅøÓ­¯Ü–ydMu:O1¬Ëös@X×ò¡­ƒ†Š¬—à\(¯wâÕÃ+•Þ:_sÐ.Xâœtcîé„V™jµµXÙæ¶õm«Ÿx -¹x# ñ¢_<ú…ZPRëC¾t8†=îu¹Ž¤~¨¦|n±M ¼Ñ/¹žœûòøž©4C]@Sï1L=¦Ã¦Þœ·ØØ³Åí:uÞÑhó8ÛZdÄyÜM‰%ƒùš?ÆMm¸±3•=ƒ¢³Ø9, õˆ„áPŽ™ðž´ìIî·Ùý6½B‰ÖºÁŒuƒr(‡ô6uœò ûâ™n]d m4÷hÄ›²´´Kí?Sk]’Üö¤(»<‹ËXýÉ„õd÷ª§h¨_à`‡;ñ¿Ä@üö¡EßZ¼Âv¬ÑŸÉ /ž«‘cNˆ/,pMœ ²ó²GðCYŸ¢/¿û¹ÆÌˆ{l½'\c~gãyªR™.¼MälÁÓoÊŽ~Îy‹uˆgm˜³l˜,Ž4‰z²Ï)s4Èna´Ý¦&^r›:Mypºá,z ýίÒÓZ|³õ¤2'[ µß묓sª] ]ÊÇìŒrŽŽºžJ…­^4.ç˜OZ„ƒG¯ž¦—{æYû.oó±ÌíøX& ºC'h—òå,ë'4æg=\$$„–ûÚá g>“À‘êi™ëÃnŽ{”¦|ÉÚ V†æñ"ÃV¶çk”ñMIâËy04Ç‹çÁØô¸ÖB{­¦<¿1ÑZ }Œ]Yµ1Ô«@ƒ®n¤Žf6˜[)†Ý(»Bõ“êù¸õÝ0”ñ Ç–ñ ±ÃÌ=ëNyû_ÒìtS»î™¦ÄÝ<ã$®¥g/>*ÏBð=ÁWU[ÁÐQn q­ZŽ !Ž~vl£ðq$xa`„0*4lhVáš¼Á¿p'²Ã¼{ÒD:'¸û8Ñ1koo¼»M/ÈeÖGq´BlÃ/±)UŸÜK|R¬J.­\n…5úÔâPŒØ`çH8Oá0ý!›ÊÜÇ#£¾¶åÇU´o}Àï¬Sâ[ðýV‡œÁÒ¦G¬Øøo&¹'Ùe/( ýÉYFð‡‡¯ôÎ]rØ þi•Ü¢ )#ø»ÙÞxy²Ùæ5Çó®d&Ög þ¾ÄNù¼Ø8ÜÒ·Žf›ä’ë›äÏg8ÜÄ·éÒxÀ(+º¿nÊÞP²±þ9¤ú‹Œg3!ïe)ï<ÈhËÚ`y~Ý:±ø´n9ð±-×Z…ïC¸ãâ;Ìèhò&º&ÜkÀ›½ñ”¤lÀ_ž_3©Ô‹Q­]ë˜8@¬Ä_°l)å%!å}Ü sd=fi¿Aj$¥~WHÍ/PõæiX’g¨Â° ï@}Lgøêô.¾kï¼ùÛ…žb¾Ã0‡'市g‘‚æHJ¯–c¶Á7éã ŽÓ7±7T¬¢\a …ôžÒò‹P›}t@ǽð¾ò.Ê‹"èê/äVrÒ7ɰºœBÍì6Ù €K@òû(sYmsDyù+è‰õ;TÊYÞ· ¶ÄÏ=Œi„5ìµ#”ŸrÞQ"g|È7C²”‰«æ¼æTåZMù=@âK¨{aŒ1Öw¡Œ}à]z0ÐàÉg(ñpOÔl÷ ý݇ÈJ¹,hÜA碊. »¸†ëQ¥+í¼píTÚ¹ÒΕv6ÐÎCíüË#2WièJC/ZC×+ ]ièJCçÐÐ= Ív»WºÒÐ ×Ъ®­4t¥¡+ ­Óп×Ð,=.C´èËg+]éìEël·Òٕήt¶Î¾Ätö({_@@z*]éèEëh¿ÒÑ•Ž®ttŽÈ‡ £+ ]iè…kh¯ÒЕ†®4t¨¡5œüF®¼s*í¼Ú¹ZyWiç×];GÜY†v~3VÞUÚy´sµò®ÒΕv6ÑÎoÞÊ»JC/ƒ†®VÞUºÒÐy4ô›³ò®ÒÐË ¡«•w•†®4´‰†®VÞU:{9tvµò®ÒÙ•Î6ÑÙoâÊ»JG/ƒŽ®VÞU:ºÒÑy"oÎÊ»JC/ƒ†®VÞUºÒБ†Þ€T„ÿ…þ 8§::sñ¡”êtµuô[Ëòá3zÍR´u:«<ØWFà—¤ÜYë¬Å´ôÆH»øŠnÓ&ñ\#¥%qéÁ©ð秉Wòò_WĬÊÇkueµ<^kææ5â¸ç˜ÛÞcÜ&ÚÕ}‡ñ‰ë‚Ýxí×{ Ç$û¢jÜñüz¢j;ÎÚ­VŸGOÔQd»òD“õó•HŸ‚†ОCCw¡„)"úzkhÕ׬4t¥¡+ ]Å ÊÕÐïFúÔ¥êè÷¥^\ÁvÑ÷³ì ã¶+Ò®¿³‹LOPû݀鹶öày©ç›&ê÷ ŽûˆÎž/Zh¸°ŠÄý·á½÷Ñ®ì£IÔ¬ùÄ80›‹V zr‰í£Í÷QOs."±ÂCà1Þï$u~ÞAúÙ) ™Õv±ÚºeL°Ô2=„²Ð:[öü> ëGdòë°¤·°í+ä¯Dõ-«¯ðÑ7 í2½c # oÁÓtû„Z¾—\’xŽ?;]í䢿i@»Q~!T\;™x}u¥?²=2u>ÛÔ—I²Å‹±”þ)H˜žod¼ºtÆ lÏŠ€ å½_ÔBï”am]Wû«°¾ò€7<Ð?äjëZÀWŽÄWäù¨Ø¨Óˆul¡=B½¥ŽQƒf>$dhr>DêÏù§!¿Çý÷¡BÝ$W‰Ú2¯¼-®1-À #è×øÁaý»ŠžÐt€:^m†–‹ðñ‘Fð¿œt¼ ·t°¿cH®Ý K#ÑÒ><Ÿ ÊÔu½@Óî™ö€®½²yˆRr€ã¯‡L?„߬A¢´Éy3™•s}¹TµJ#”ê#Ã’ÞÒ›—rž žÀ_•¾cØúqbt$­õQ.óÖ'—”ÔúôRÔÖ‹ôåÖÐúG/gÒ˜8 5§®~ïiPÈ*ñ}-&¥]–Ј—£Ftôˆ ,ú.a}íT£Êùtõ{WƒFziïi±È.é’„„Z†³Úù2<‘™QoÍ­¡PCûK§¡“Ú\iéJKWZºÒÒ˧¥?´nã‹h¯ÃHŸÄÎ_ ¦#å1X9#ÜQ8Âu—n„kÒ~¹Ocz“1)‘Ú8M“œ`Œ0ÿØù äØÇ´a\Náý<ÊÙàÖ—ØÆr¸mr›·tܦk¯Ì]h;ûgÖ£ ‡³[ôVg÷åɃíuòå=z™E÷Ü  wÉ—YŒ&™5*“æ•H¯—J÷2×’¥R=+î¾ݧ”“öO9†=Bþö1B=ÄÈu×:´”6‘—¾´ç–qeåX‘·ç•u±ä /ÏqN˜HÏqh/ãk. óÞDÓ-ò¢bǺþ’ûü- Oö–…^n#ŸÒyYº:£È(g‚kRlè ‚;ÑLpŽ*š µq”CúãlG9úŸ†ÄÅÑÿ€Å¢ù.ÿ6úº ”Ÿ“y¦=áb¸(9}ôY†põqQo8Óc¶†h1=‘ÝúÓè•o…sß´O¢ßE¤Àgôëýp¬Ï­ú2õ£VžÆïáŠ2OKü¹þtŽ(8ÁÝÃ5>ò¼‹ô Ïû87 í è’Þ àY =/ÒD~x*¸§·|A}!PýE¬'/Ÿë´þù7!Ùr};1÷áÚ·ö%+ù Â㙜@ú“.æç„êÜD=V‡ÚÕÑMØŒ”²8ANp°Ç\{AV\o°‰)ú1aQœÖòÅs‡ØßѸNäuEKჿ–˜7yíE'|`Ý‚\/p´8Åüÿ¿½o‰‘d¹ Mž¯}=ïòžé±±Pù>x®Éo}®ïõw¦ïô§ÜUs§û^¬QwU×Lq§gÆ]==]S.X°²A2 ;V,XØ€@®…„,@òaY2[6övH,ùEœˆÈŒˆŒÌŒ¬Ì¬®ê©)MgUfÄ9'Nœ_œŒOvϽš~îÕ™:{œÜz‘ÿ¤Ò|0}áϱøß¨EeˆÎ¢?•Kñ×üV– Os®Óú]{Šý®ª½—Á÷Ÿ5>0ðNS'9hY®aÃV¶âg+là>^ßv6[å ŒåŽÀÞvatgÃÇž“à~t«‹··ÿ •!¸ÓzÝŸSÖÔõ¸oÒk§0§ü©¿öQ¼›¾×Û IxŒ‡gš‘Y—ñU/Uçä¶NBßÔ\ÿYñn&›gÁ|Ð.dîÉÜ›:ha5dóØü¾Ëât«/¯'>ƒè| ëOÈ“’?Kq\+(ú wŠ}PRÛ‹·…?/ à!¼eêÃêÿ<¢—8ø*‹ëI÷ÿÄÔ?‹[»$å{v ŒßW0ý_¯W žŒ-oÇ 9&ÌÕ=‚<[dʯۦQ.þëÁŠ$6ûûÚcðØx,<ýjµè¡ÔC„‡•Òë­ŸWÖ|A¯òïI¿EzÓ ëÅâlï»@˳+¾ÎPœ;ÿ®D•P䕆–T#i¥!Ž­ÒÎl—ßÝÏ×’ óµ†Wg­aM’¾Ë]AñFĪ µfûÃí|ìã'ý†óêYâôk¾‹·Äáµ_s[<·ÅWÏë¯f›ÄÊÛ([ü)Äå'Õw†²•Hü½qFß]xC2mšy¬s³¬É*ZÙÍË]E+¶´ø±ö[ˆ†/<ÂÂÆÐŽ´—Æ5°¨ƒ˜Z¸èªÑ¿?2Kør Vk[)c¯w Ë\ßX‡^¯À[ݺÐëGðޝ.ô:þß…²“yÛ§Óþ«( Ø>?®wÆl^[«ÚëyVø±AvYÃ>ö¸Ãó4,ÅFf8sw ž¥ 1ίC &[‡`QðŽ82#+mjêè ~"ÊÖ m.^’c¬¢V¦á3þ×XnWV·zÃ.ý7Ú ¿ŽÛÇõNm´ÒðûøäŸ"D®{~ÿþz‚ãkÃ6Ðý ˆOJ;aÙ]‚¹>=ˆÝðºƒû4K&—g;4î­í ÍÑÊòN.ÍÞÐ9F´¬mö†Öhe{ˆ.èöáh¥¹…šð¬y.+[pså\Vw(€õ ø½×‚B+ä²7wÈÍf£7¬WF+­¸Û"Ð[M‚d›À#—Íå#TcSeŽÖv­Þ°†.6³¶ëÀeÝ´ÑÅ&_FO? ™ä‡ÁŽ ”£ŸäîÜÝ¡üÙ 4nVm`âlô Ú±±·Eööȳ»ä²/£ÖþÊù!ºÂÕ3žŽ¶›÷·¨LÍÝ¥×VóÏD_6խ͵ްÚí¸]È‚¶ö7ò4Zßoœ7¶[˜¾Õ- º±-i,£âèǹ·G€4Zô÷.îƒåƹ4q£——Wá×ò\šÌ1*¹†+ÜÙï5¾ÔzøÚ$?wÉ¥ëßÙØÄ—÷š¸Ì!º®“Ÿ- î½æ 0v«ÝÁÄÝiná{[Íûø²F.[MèÕæ6®¶¾ÚÄÙ9hâ_[Møu·‚t·ELè˜}¬Ð/á æFû@âþ6ÐßÚp¨&¾ì¯®oì#ÆhgÛ=¢?½ae—.¹XäbJtÝÀ呸x#¸ 7²¾³Š¯­eРVã Ç„¢‡Û;¨ÂöÎ`5îì@Ð0aèWBnhsXØØÜ"\ô—à…•¯„kðÒT2À‘­ðÈÆd*c œv†Z˜]lß¶»·Ó·–åºw£¹¿GøOS®[ÊÀ ›+ ^oAK¶Im¯‚¤¬mB?¬naM\ÇàVïáÇë[Á½†ãÎÈ Üo´îú÷£ ç¡SïT:s%W(ùÊ^4º<ÝØmaê÷vP¡®{tìŽZ»ûÝáRµ†¾ /5gÔXÝÀýÔhâ5³ìÚžëÔÐoü¼Z-»ËsGuéñºøxCz¼!>^A¤6VPŸo6Áp¬4·ð¼ýFc[ôÆ ›½oUÙäýÑAÿ®•ªíÖk¤ G]©Vs X.¡Ñm<ÎU€JíVy’ÉÃ[m&{²ÉbmÝ.÷$‹!þÚèÅC´õÁ“ì…8(ÒVOO2âMÛZx’µŒÚÆË…4|Õ¶¥žh+¤Á´¶i÷DS!ìuçÉ9!Í ëöpθoIʉ«x V¯KeHY ²qÖ3p'W±¯ñÿo¥.gº°ÊÐÝ@÷CÀW2Îh.ð‡¸¼”{Í ò’·Ì{F7æŽðx:Çmæˆ~õ` û1X‡Ç´4³ºe€†y¼€ÊžP—ÜôýW™öó ú&bip8>DèË`k²À°£',;zãºOéË>ôM<¿qo“@áî’Þ%Ç/=jÈ3u”  ú¥ › ã!ÀL†îO'QÙ vö mJ¦±@…ISŸ¶¹ O:‘R°Šh~Jµ·ïIV ~C¼Ç>‡‚‘á‚Á6Ì;.‰ÓËÏhxÎ0ªððážô \øÐÅ¥“ð7Mon‚/!Ë„Ô:ØštúsÃUX$Pïy þ¬ QÅ`"¥H_0þøéµê•€¥ÇÁJ‚¬ækOÁ×ÃTü«í Oå:è`…Ñ¥RâÓiY·Õih÷L0©E̬ñ”è×JKÈ]Zôj¤¥ƒŒì0Ì—J^Ë2W6w`eÃùÝçõîÜØO` âüÉ øMÁ#°÷[tdö kØñ´ –ÙÄ~g@u¨ £!2=eµüú´ˆácY&†oRð!½–iŽää@—àÝ ýñ¤}¶`˜ÆMæX1[ÆX¥½³ À}æ[ÚÛ†nÖ {Õ—0 ð'®6CÄÀ{â–ÿnc³Py•˜èŽ˜ù¿ %nKù~|×FwÃYþãCø+0F²U°šJÒç·¨÷XmðòìýÉ6P…¹Š5¥âë+™5 —¸Ë•°`ž\¢Í•HoÚT.€îÎiƒ\ÿ”«qóEÝvàáˆÉÕ¦W‡^]¡ÞøoDI&”y’%1#ú.ëÓ/p0ÃÚpÑç+;ˆ(;Ê=‰<–Ê…¥_¬ÅÞη@×H-9®9dÀ!Kà•À¡È Jåu¸dÅ%+†KüHAä’]—lKvJ.Ù±\ZD:*–MÏ){,yr à”#pÊI¡qN .9cqÉKžÜ¸ä \råi&y‹5ây¥ª¡âØÛ܈—”Šâ?ræ9Düø! Ð†Ñ yLŽÈdsÄ™Œczž…};,;¡E% ÀüXê=9bŠÂ3¤ðì>ìçÀß»ð÷”z¾°]Oé ɪxžàPpˆ¨~;‰ù²Bçf5‡ ÓÙÍʈ’Ì»êKš)u¬tÙÏöÅÙï 4Ë7Êq­˜“cå“ÇŒz/jìHhâÛ¤ŠËÅ2§¡2ìýÔ‰ÏEuÞ¶Š98<69‡‘ .ã·ðȯ °ùØÈ“l ŠíôK*OèðÎVÄUšÓ;ƒùз8 !ÐyºË0f{Ò´Òµ¯ð¡D™Üè,Ò@:ÈY€q ½Ý¾öài‹Â'#3±•2´Ÿ×ä(ò(ªT: ë,N:XMT¦í$£`ùËM´-†ÚÑ™UÜ ³ ޹;²¶ñZ¶‚>ÏPÌÃ$yAhÝu-‰‹ëÝ}_âÏ ƒ‹ó&¿Ò‰w$=Ô‡ž‡ä1Ú¬\i;ÈEŽÃò’E’u¡éɲ¬³/ɳf;™v%ÙÎtúG×eJožvx’²kå*»Y³sÓåòµ¹ùúƒ|}U>þ ϸ&_o0ÙÈ&_Êâ¬)ôKÆôú„éÌ‹—^{j<Âdôh°4Õ>aº¼Â|”P„^]5¯0yšù½Ã›.+lOµ¶¦Ò ÏcóIJód­°¤ÉYaÿªÅå“]wn‰Ç²ÄyQ7‡gOšgÕOs–dã;ÞÔäI&3²¼zy’éò ó½½šŽ·©ùù…iõ óß©LO˜¾¬MÞy‘×Á'ÌÇ EèÕUó Óšµ™ðêÔYâ¼ß¾Y›yt^´4ǵ1¯Yï:–¼ŒPR­¬28åøDôúuu²®<Ë£7ãÖSÄï÷€ëÈ«'Èêßè~O¿Ú7€låÙRB¶s€l+!;9@vŸjó9ëìè0fÝ6e}×—n<¥¿fî6•S¼&s 8‰¿éë¤þú¹Û”_[•'&;“;&Gàž“3÷TkìÄ6å…IµÞ.hÓ¸Gö H¶éö‚QÛËçÈ®vüUÃÑz%î^…gÓ ûl\(l‘¸/Cq6:?ÑÖ:?Ñv;?* .¯GÏŠÃUâà-mV[Æø@hS°4¨©šÓ¥)¡¤IKÊï¦ÄHò Œ-)cì(4)N–6vz•WíHŒa-‹ƒãjcô"1†u.¹u0V#1ªFdd7B|:вÚlåó2ØÞCتCwÛéÐÝv:t·Ü~ß5^^ òEZçW|©z‡ÂQÁ°"aX –RŠl `Ø> ˇa+{IÑ`810ðŠä“ŒÆ»H—IýÆ-ÀòŽAö=Š‚ñP€ÁàÞ0ôÖ?óñ¥jÕ6îÓÝežôïÝ· Hñ©¸ï|à×Ã;Ï{­™Ê˜-å][y×vóìÁI Æç"w.$»£8ï¡;ÿ@¼ü«è#R³:&Hu€eÈ}¿f°µç„s˜ªMñˆ{*‰ÙòIæš £ÌAÖ3„²+ë#ñ^xÐ0D+qIq)D;wˆN.­…ú#9§“gF'ŒS×¹í·U¯fÛ3ìªZäÌ¡ýPÓxi5\ì?ƃ[2}k&â %ç|t²uÓÒ¿ªÌ­*G_WÜó0M]>/«ÎÀ¦‘ÊxÙO"e\¬ïsfG–“é=HWŽÉ£énœî%µ6½ŒÖ=YÒ’tµe=Ñѱ(-‘ß][~ö$%QÜ-ú Ç ïŒ­!ò[(¢1qxttJ–ýEe›RGŸzm Ëò’²­ù។œO—ÿɦ[Y![Î#+ÄpÎcœVÏsãywñ‚ŽNïéeA4ê*Æœ³™ó(J*£üðU’å쑪]P¤ª†›\cžó˜ÅHui¬l⢲e¯G¼š§´O—šÍÌÇìgÞõ<ÄëãyÆË¼«×ÊÍó%W!ó.ëÔRÁöš3ïãÈ9:™|‰=v¾„?'é2ó%irzù’4½|Iˆzù’¤VÏó%ãywwcL7"_b_ÑHu6ó%³©ªå¬(ùÍ©z o]݇¾W¯×›çKæ‘jöHUÖ‘¢35“’óéò?³™)™GEùz•Ë÷$ê]¶æ9Yȼ§Õ©IçÜe½(Ú“å-çêdrÎØ9çrYç_è­‹É–óÈ Qo]Ì<çQŒw—×YæåÑ«~Ôý†À¹¢1çl掛Q*Òdë{UdähFFñsb.;2Ò{Ó0éÈ%ˬ‡Y³ÙŽ»K/‚p ³ÓÞÅçòõéNB~ÑIåÓ³½ »±½žo-NC²õAx¶"yw£~W–³i¢½kÖsi:Ɖ j,'ÀQÜl^.†ÝAkkAiÞöa«aòçD`˜øl|Rž5|‘ƬkèÐ_bâØˆÌCÚRB-9„ˆËÉH`$¯LËS ;Kñ$©º†[ƒû[ç¨ÖÈëu8Ÿ ïŸ£ßøÅÏ&棳>¥Íæg¿‹bA,ãÿ}ˆf¼+íŠÇÃm!LÏAŠ˜’ÏEô@Ü|kžkósåæçÊÍÏ•›Ÿ+÷z+·V{í—ˆŠ0=óÓ7/×J’³Û²BVØv™öW·‡³`VIÀ¤-€ùÔçv8#•ŸgŸvêóº¼V$^»P¼v$^§P¼NÞ—¾Î¯èQÂ8€Sö-a¬O8Ï&ú3VâŒ+aªs Û~‰!ªÿ‚‰#øúv†¼U¸tžc¿u òq•xö—®­Œêé3:º úô‡UKÂa€Ã–p8àp8 KG©·©Ä,RY4ÄsÉII¶^òŒ–x*ŒlK’Ýã¥@Æx*`"ÏY þþÀ(Iˆ5Y)ê‚êô¹k ·A=âÒx b´¤Cþžšåvès|:%ÑÀ2m®EÝ[žñaRj‘òä¡^PÚâJ“8–/=Fì¬G}þÊ}ºz29~ZcòSÍ‹7dÞÙïdN«û*œ7µËìŸJŸ—hŒ¡Ò1y´(jZ[ò ÉZ¦š-Ö2kªµÌ.DˬTZ–$)ñZf…ú3üdrüt2k™JË’,Ô8Zfûü´cµÌ–b…°×Tûºîbލ‘ j_’nªf†uÓžjÝt'àÓÉ—®n.ùüÒMûøéåìÓÙµ|tÓñùé(ãK‡ã¸Ãé$Ó¥(tb=£“Ò3ªf´„µÏ™jí«LÀ3¦‹¡tãÏ%Ÿ¿Qñ§s ü¬æìÓÅîéâÏ C} Ièí)ýÜ@Ô1Õ3Ãt>÷!ûþÞg@Åœ|Ô¬3½Oãeó+‰„Î[ !xÞÜ °º¸ý:ká8ƒ3GPâ%ú{ :´€äÈB’4¹+AɽoÃ}›¾¹¿ó`ÐŒ@ÁWR·ÄÕfï=x ¸÷ò}ã+ ¿ü½çð~™@'±ƒk­Øs„KüÒ®ôu¥ŽÜ‚wЧßJ…äûKô]9Ρ`{P¢ïï;ô~ 0NÝTs‰ÀoP:ù9¢õ!|#\yaÑñ*NÔ÷ô¼ÛÊs§ö¶ sz™ýÀóŠ@êCy¦›éx¥×Òç™Ý´/ü: ó+Ȥ}á×AÄ[¹3Èßîø^ inX8öéAËÈü2o„À$3Bž(ïÎ@²H» ×q¼ôRà>+ÓT -¢O˜ŠG mî(ØÁ{‡DŒ&Ð@´ŽÏ×ð´4iùhì#0æè.½¶š @&ú²‰:¢µ¹ÖV»·kâžlío䱤ém´Z¸-»-Ìÿ½TèøÐé¶G­Ý}°OèËùÒXÝÀ­o4éƒF“=XgwÖÙ vgƒÝYA44Vˆúæ*tus ›ÁFcs¨±â‹~™É|}‚\«˜Þ\ÃzáŽV>@V>X…¾[þà|ˆ|…×SYÕ\Åta‘§t1‚j‚{Ml–ß_ÇÔ—-Û­Ýi (ÝÝYÅk4¢ˆJbú@F£µÖ2¢u}˜?º³×ðUùÎôÝúÖ6j‚–Š·ëÚô©¸3û*¾ðôÓ¨½˜§Mê#ó?bܹºCù³AhÜ ­ÚÀÄÙè´cc,ûÆÞyv—\öñe¶lL»rØñB6¦ecª!S Ù˜ªlc,ÁÆÔx#AtÑ6Ëüyù&úé•+V¹}Báá±gR£S-WíjűLEã{´ßÀš^®Z¶Y©Rp]Ù0»–dÃ\ׇÔóá•íZµî8Ö‘éÙ"iN¢U¬…šÜ5ùÈò תA¹j]°S/;èŸK™‰,uÙ©9uצ°±éh¶´¹€pGC|pšv 9”ÁÔÁO¤1‘ÊÑH–¹ìëÓ˜k¦-‚©–M»‚º*•ë@`:2§^¯Uít^ Á9–áTªž]wÒùT§+éU,×NçàÌŠ)ƒ©ã¨§š.Ü@p¤1t(„M€£YÕX<±&¡« Ø0ÛE¦ Évr‡Ù²± * "*Sƒ®J\ÇcËZqÝZ%Q mÙdˆ’ˆ¬PÙ«#C”Øg¶l4DÍÀfÑq,œOTÓTÛ³Ê5Ï©˜M‹3Ø8ZÕ “áÅÙ10–YI¶«¶lBœÜ€MއƘ~‚—çí¢úxcù‡¨UxªåsxÅŽ'M„~ºÊï GÓ[pÁ3˜ÄÉQä‹Gž_ÇfuŠ@ÈêBa} @ú'ƒ:ýÂ̡ԧø=5ýr©ît<¿¿r‹Ò7…¹-û&ì–XFÂé QóbjX©kØ©k˜Q5F›M¤®›[èáÏ{0¡“Ø€§ƒ†dŽÞk¾>„™Ã¿ñÓiŸ74Ÿ#öúÌ›)õ8×ÓyíTOTÎ[HZƒ}ìä¼µðêi23 »/½]lfl®j‹®ºÇœ Nz+…ý…AváWêw?OÀAö Ü;(``ñ\÷ õ¸²€ßsCìÁ\ÿc°ò ¸2@Ã<ÖÙ :~‡~²ž$Û^ü7}z²ï¾Ÿ•öµfô¾${Äó»³Ò1wÉ)O¤wŸÁ©'@Í#¸§î‘PA¿`ºñʘ3X[Èæ6‰ »Ô;ûŒA%ƒœdC`1iêÓ6·áI'R VÍO©ãö=IÀJ8qPøÝOı ƒý`ÈîJ]j#ÈŠ6Òž3Œª3رâxsF9Tâèbž¤©; d÷ŸS(w«¥zÐ+ôû:Æ,pE‹Ç?·á¹hùç<-"Óa±wSó>èñ¨^ÐéufMv)ï£e›õƒÎG#l_­#Àø ÖÆäcYܲަ3Ѐ¾À ˜k°]O‚vÈÖø¦ìÿ„{–À LaŒ¶ð9Vâf³á»ÆÇøO‹z÷3º2*˜³¨×*c©Á2%sgì–(Õþ1âìõ lxý$Ùùçõ<¸{ÒöwézlÔÛÈΩž=’žáU}eɖ߆’÷8ÛKöˆ$û ½jû@-Ù¯C¯ë~iRöœÐ{@´õ)‚û 7yöŒÎ¬'¸ÅùöKˆŸ‡9»c;5~¢ ë¸ÿ l±s<=‡@ ¦è¥ñCDÑ“jNƒ9ö>5xzäÿ w~H}Ài¨¶|V¢ØgÔ2Ÿ'÷K=×ë²úá+°zþ”ZE#>¦’Cž»ü1«××ä?ãâÿ#øÝj_¯ÉK‡ÔŽ3ð1Ï}}¸Eû‘”ï½¶ñoÍ'°z“í»Eux¥Y•¬•×ëÉ=:j&µú”NÂß4½¹ ¾„LŒVë`hÒéÏ ?Va‘@ ¼ç)ø³6DG€‰”"}ÁøC&§×ªW–+ ²š¯=_Sñ´ « Ÿ‚œ©u„ȯڮáõø}×Àç’Jü&§ –$~“h¾Ü}èA»tõˆç¸ˆG†§^K¤ÖXU¬JtŸÁïCã?Eizá=ˆÝg}ùȼþ5èY ^›fþ»ù÷èï³ûµï›¿·÷¦ùõîOÍ»©¸W2Ý|h>“lKÉü–ùóQã­½_þ‹£?Òã’ùWæ›ß>¸Öýq*ž¬BDÊ8‚=tÓ`g;†^Ëž¯š÷¿ô_;?Ú{³}ô¿ö}=µ¯íî%yuÚ”w~ô›ýð?úç°¼ùíOŸ|þW?“‘3-ïŽì”zèïÆ"óæL×絯í;oýÖ×»?þÆf6Þ`Xf"à(øò»ÿtüç_ÿ»1xsÚqé!>ÍÔhý·ÿä;Ÿýø›Õ(}÷ÙÿÁþßüÒ·QK¾wöñ·ô8ñÍÏþí?%å¿g”þÒøÁÙw>û¿âŽ?¾÷äOMDÉóï~:7Ö©7³îO~ˆ5ýÈHs]èX‘hª•Ÿ)bv/ž£ÁŠyq¯K¶¦þê® Ö 1ßúzïÎËyT.æ÷}‰£P^q6ìÈ8;Ç}xJ²O¼–Ê'Ë«Ê/¿TgË.äDx~Wµ=á©Oš¢0ºÔBJ|:­à1ë¶: áža;¶Ê™5žýZi鹫C‹^´t$^,ËlÒIÇѸãöªÓíq^ï‚ÛO¸¦üiøMÙ}‹ŽÌ^çŽa"Ëlb¿3 :T†Ñ9Wbµüú¯:½óæ8 ¾JÁ‡ô*î·»ïn®ÓÝ_Ž@ßOé.p6ÅŠ©Ø‚Ì0æÀ*íî3ßÒÞ6t³flº]„ý×h«y›!bà=qË7±á½oXTb¢;bæŸìw[Ê÷ã»6ºÎòÂ_ùƒ1âs-Í*IŸGï-Ö/ÏÞŸlU˜«XSú!¾>à°’Yr‰»\ ˜y¢Ø·0(AÎdmSy`»²wŠ3ZO¹úw—1_Ôm7é’½ÚôêЫ›j×ëè7 ª£=É’˜}—×™æÁ©¤2¶Kç©TvQv • öWâË…¥_¬ÅÞη@רÞLb\-rÈ*€C–!Ÿ¬Ç¡°c¬X^‡KÖX\²b¸ÄD.ÙpÉ6ä³ÓpÉŽåÒ"ÒQ±lzNÙcÉ“S§C>áXWãœ\rÆâ’3–<¹pɸä&ÊÓbÄ9ÍѼRÕPqìmnÄKJEqˆ9ób§þ¹mƒœæ@NôÁ3 Ø\q¦㘞gQïÊ+îŒËön{Oç|‰ð÷.w¾„JŽ®§ô…ꓺCó[á¼nÖá·äAïŒ68B7ÁÆzÿ4WèV¡ÐíB¡;¹C÷ç#sô™¡só˜ø$æË ›ý‚.î.F”dÞ•¼gµ<^`Ô±Òe?Ûg¿ƒÒ,ß(ǵbNŽ•O3êeP¼¨±#¡‰o“*.˄Ϩaï§N|.ªûð´UÌÁá±É9ŒLpù¿…G~áSpüÓîtöÛÅó¡oqB ót—aÌö¤i¤k_áC‰2¹ÑY4¤€t¤&Ì8:…Þî_{ð´Eá“‘™ØJÚ‰Ïk²ÓkU*‰†u'¬&Ý!6VüvŸƒVä)¨äެm¼–­ Ï3ó0I^Zw]Kââz—í¬>§A>ka<èyH^ø<ˆþ ϸ&_o0ÙÈ&_Êâ¬)ôäDßéô Ó™/½öÔx„ÉèÑ8AuæÜôø„éò óQBzuÕ¼Â4æiæ#öoº¬°=ÕVØšJ+<Í')Í“µÂz&g…u"ü«—OBvݹ%ËçEÝ<ž=ižUK<ÍY’y\ŒïxS“'™ÌÈòêåI¦Ë/Ì#ô"ôj:Þ¦æç¦Õ'Ì#t|§25>aú²6yçE^Ÿ0+¡WWÍ'LkÖf>NÀwªSg‰ó~Oø:dmæÑyÑÒׯ¼f½ëXþñ2BIµz°Êà”ã{Ñë×9PÔɺò,ÞŒ[O¿ß®#¯ž «£û=ýjß²•dK Ùβ­„ìäÙQ@~ªÍ笳£Ã˜uÛ”õ]_ºñ”þš¹ÛTNñšÌ%à$þ¦¯“úëçnS~LlUvž˜ìLvî˜{NÎÜS­±Û”&Õz» MàÙ3 Ù>¦Û Fm/Ÿ#»ÚñW G땸{EžMƒì³q¡°Eâ¾ ÅÙèüpD[ëüpDÛíüp¨,¸¼=+W‰ƒ·´EXmã¡MÁZР¦jN–þ¥„’&-)c¼›#ÉG 40Z´¤Œ±£Ð¤d8YÚØQèU>\µ#1†µ,Ž«Ñ‹ÄÖ¹ä~ÔÁXĨ‘‘Ýñé@Èj³•ÏË`{a_¨Ým§CwÛéÐÝvp ø}×xyq$<Êi_ñ¥ê GÊ„a)`XJ)²0,€aû0,†­ì% G‚áÄÀÀ+’OB0ï"]&õ·Ë;Ù÷( ÆCƒ{ÃÐ[ÿÌÇ—ªUÛ¸O{t—yÒ¿tß&üm ŧâ¾ó_ï<ìµf*w`¶”wmå]GØÍ³'5,Ÿ‹Ü¹ìŽBv༇î Pä‚w{ «Á¿Š>"õ8«c‚TX†Ü÷k[{N8‡©Ú¤¸§’˜= Ÿd®©0Êd=Cè »’±>ï…w C´B——R@´s‡èäÒêQ¨?’s:yftÂ8ÕyÛ~[õj¹1îªEÎÚµ1—VÃÅþc<¸%cÑ·f"¢QrÎG'[7-ý«Êܪr´ñuÅ=ÓÔåó²ê l©Œ—­ñ$RÆÅjñ>gvd9™ÞƒTpå˜<šÞñàÆé^RkóÑËhÑ“Õ(-IW[Ö‹Òùݱå7`ORÅÝ¢ßp òÎØ"¿…"‡GG§dÙ_T¶i!uô©×Ö°,/)ÛšþIÉùtùŸlº•ÅeѬyT4^E_ÃÔë¦óö$Y¢­l~$[¼¥²ðñž$†¨½‰­íMt,9/ûE[ò$ù-Ú“å-窞g¼Ì»z­Ü<_r2ï²N-lÿ§9ó>Žœ¨“É—ØcçKøs’.3_’&¡—/I“ÑË—¤¨—/Ijõ<_2žww'0Æt#ò%öTg3_2û‘ªZΊ’ß쑪'ÌðÖÕ½ñpè{põz½y¾d©fTe):S3)9Ÿ.ÿ3›™’yT”¯W¹|O¢Þekžó˜…Ì{ZštÎ]Ö‹¢=YÞrN N&çáŒóp.!ç‘uþ…Þº˜l9¬õÖÅÌsÅxwye^½êG Ñoœ+sÎfÎcöçˆ\ž,gT+Eªj¸É5æ9«©^ölæiŠTó”óéò?³™ó˜ýœ{Ñþ§(ŸSdÎ=½ÿQïx8Ï”\…œûe¯Ëœ¦œû8rN Ž¸ïòx˜= Æ×®°ÛÈä½Vv»*®&d;óïdwüÝKÄšeu9Ûˇ|w"°âýÁÆ·]·`/h~ÿ>œ ž¿‚é²{]Ï{)) Š]“ؾK poÉèÐdbfYÉ2¾/?VËâ…Š›M%rÍâ•Ç[ÇÍòc)º‘ÁkÌrŒ/ãô@vÏ¡Ë÷l3–‹¶Y$_¯®î\‰"e?[¨|«­é[ãg»^¶o-ÂOÚÂ…¼Ÿ´ÀOÚ!?Y|¼%ÊI–ù’³f‹›Wpõ,S´W¶3Y¦q3™YñÎnßç›N6(Òžñ6ÖQØX'ÂÆ7ƒïêEçEé㸥"í@¶¾WEFŽfd?'æ²##½7 “Ž\²Ìz˜5›]Üû·«a±ô"§0Ë1í}P|>!_Ÿî$äT>=Û›°«ÛëùÖâ4$[„g+’w7úçwe9›&Ú»f=—¦cœ² ÆrÅýÀæåbØý´¶4‘æm¶&N†‰Ï†À'áYÃG9`¬Áº†ý%ö!ŽÈ<ä -%Ô’Cˆh°œœö@òÊ´Ü9Õ°#°O@’ú k¸5¸±ÕxŽj]€¼^‡ó úðÎñ9ú=€_ülb>:ëSÚØüh~¦ñ»(Ä2þÿЇhƻҮx<ÜÂô¤8€€)ù\DÄÍ·æ¹6?Wn~®Üü\¹ù¹r¯×¹r{`õ±×~‰¨Ó3?}ór­$9»-+dÕ‰m—iu{8 f•LÚò˜O}n‡3Rùy†ð‰`§>¯‹ÁkEâµ ÅkGâu ÅëDà}é[áüðŠ%Œóq8e߯ú„ól¢?c%θ–¡:×°í—¢úï ˜8‚ ogÈ[…Kwà9ö[7*W‰géÚʨž>££ ¢O_ðqXà°$v8l ‡S‡ÃÁð¸t”z›JÌ"Õ‘EC<—œ”dë%Ïh‰Ç¡’Áȶ$Ù=^ dŒ§&òœ•àDX“å¢Þ(¨NŸ»rÔ# Ý‰× FKÊ1äï©Y>`‡>ǧS ,ÓÑ6áZÔ½àŸ&¥)OÞê¥-®4‰cùÒiÄÎztÑç¯Ü§K¡'“ã§5&?ÕܸqCæ-ðNæ´º¯Ây#Q»,Áþ©ôy‰Æ*“G‹¢¦µ%߬eªÙÂa-³¦ZËìB´ÌJ¥eI’¯eV¨?ÃO&ÇO'³–Ù©´,ÉB£e¶ÏO;VËl)V{Mµ¯ à.†àˆÉ †ñ%é¦j¶aX7í©ÖMw0|éêæ’Ïß(Ý´/Ÿ^Î0]ËG7ŸŸŽ2¾t8Ž;œN2]ŠÒH'Ö3:)=£jFKXûœ©Ö¾Ê”gº™ŽWz-}nÙMû¯:¿‚ÌAÚ~D¼•;ƒüíŽï’憅cŸ´ŒÌÿ!óFL2#ä©ñˆòî $‹´›pÇK/î¸2MeÒ"ú„©xÚàŽ‚¼×!ÐÙxHÄøa Dëø| OK3‘–ϧ1-O`VZß÷õ‹ü¿ÁŬÌ@*3P” $…Å‚ìwtÙ©ì¢l e,.a¿£ËHeBºÖUB¾…uâ‚^Tò/èU¶2“ಠR˜¿*XaΪ`…y~w¯ö”L*É.x.Ö ÏK{ó¬ºTç±ÔâûGF0+Ü;]çø¦ Ô7‡VæÑhBoôÝí¸‰Ì,» 9W\â]TKÔ7rk~0Ãë„¶|Þ.ô.~Ñ8¡%»C¢É'ÏàYœ 2ë†çDîý'qÆ# Ûê›à%n‚7¸ <¿ œŽš Á[×ð»«ç~¼ÁÆaiGab¾cö~ŽØ²UeÄšEŒXÔ˜x%[j~%„:ÓÁ`¦÷Éú£Ë¨ñß×ò8)*¨ª3Fñbþ5jŒ™o»Uô^DÒ{É—A$_âG„r»œ.!zoôÉõq8•­ýãôp1’­–b½Ö•âäp=üøRz8{û£%<ÜDz¶N¦³Kq–>Ú=Z<ŽKc©£ú¸XKÝg©ÕÃXE¾ûÄ5Cµn'.JÓ™ñÏ—Y†8*zu Ÿ#Ë:›2 B5_sR1ÃØ2J¡Ö©Þ<7Tï<^èB3?oÀ¢Ãe¯`9D½°@ãþà¯êûÜߟZÒæ:qÍ%ÈÜ‘¿®%à[¢™=òË¢ÿ KÜ/ö|=y[ŽíŒúÝ4éëÑh»µ>Ü6ÍîÐ*۵Ѷiu‡&ºØp±Lr±ðãªY©Tªèyf£gK–i—ë^½^GUm ßpëåZÝqTÐF­ÑhµÑ<®6ZçÃý­Ut§2:ÀW{´Ú:è!H»+;ý¡ñ3†5jµèÛ/Àxª‡¤â#ƒ½‹Yoj­!0ïo6:†ÉvÝT¿‚p†º‰,›.ùyAÐC‚€—¦¼€W^c öj…·Òçg4®¢šY5ËUÜ÷5JAÕ+c©Y"!%ãSð¿f~eË`É¿÷77·þ­­åƒóáʽ;¸Üý½-|skgAºf<@Ž©[0\C„޶¶¶0Êí&”Û^ݵÖ¨Õ­-$‚ëèÏÖê=|}kû|Â7º³·v>¼³»üÎî\šè—SA×r]EhºÝ üC5ÖpßYdwÖîáGH™Ðôë.Bqgí}Œh·¹üh.ãËèÿ1;i—ºÁľmkBSxœ]NË‚0ìÍßðƒàÊÆ­¨¼± WMš˜Íþ»- ç2“™ÍÈ*5XÔ|DŸZà=êfº‰Lcîé(”F? ¨ÎŽ›ëhÒÒ¶ô‚ BÒL«r°ñµGp’od¬göd/¶e>Éf 9ØÏ]“WÎÈA²\ö\L›fú[xiílÏ££ýƒTs1öH ûQ‰lÄH‚اE‡ÑÐÿtìö«ã(S‰AZð§¦_Y íX µmkBTúÎÊþWºxœí‘Û8 FSHI!)$¤’FRHn›wóî HÉY¯Ûx3žÕꇤ¢úùs†a†a†a†axI¾ÿþÛïÇÿ»'UŽ{—áÙùðáÃo¿¯_¿þª÷Ú¾gýW9ª Ãû¼Ïâöð–þ¹»¶ŽÕo'®GW {>~üØÖÕJþîÿlúôé×ßoß¾ýüòåËú¢öµ¯ò)*/Îåç‘Ný\®ÚϱÚoù“v[iZ_Õ±aÏJÎþ/:ùþüù×6õOÿ-¹” 92b?çTþÈ™×þlôkÎ%?·Úåöìä_2òø¯èäÏ1äBµ ‘sµ÷YäÇ5à>¾:†>Êc=1ìÙÉÿ¬þOùwï èyä^«- ×Ú¶,ýÌXÉßzèû•žuÃÐsMù#×’U]ë>H_÷˜ÀyøY’Çvº!Û‰õŒå_mÄi ÿRuâþs´]ÍXœm§_gû)YYÞ)úmæ]×y,—²¬mÚ z†1Éêša†a†axEÇß“G°×§ÿóo/ïYòÝú\êkº6õ®x„ËèíjÏægHð–ö¾»–÷óüÏØñ|†yž÷u¾Ä.½•üÿ†þó\þô³aÏæŽM&ýwéÛÃäké#Ïú$?Î]ùMço¤Œ\ýȾ,Û/íßÚ¥—ò·âQÛ@Êß~6s?)}‰Î,¹ l¾ìçœô ØgX #ìvçQç´“ög·Ú ÷Bž™òîìÙ™^Êßuô¨ã®ÿuh½à¾m?Ž}{]ŒÐ.~È}Ðv_÷ÿJ;ëxçoÌgJöëôY]’Þ³ë@¶é.ì«)™áoqC–ü¿“?}ß>@ÇûXŸÀÎߘò'-üäÓÉÿ(½W‘?Ïöú›²±¼‹ôÅÛçúÞéô‰Û ºÅºvþÆ”¿ÏëäOœÊ™ôRþœ×ùÃþvì[K?[A}¥?-ýwöíåµÔmÑÕ‘ý}¿g\=ö€c¿¶}ñ³M¾‹ ½ÃüÃgggÓêüàÖ èÇ„çÜÀô-B^ëók_g?Ìò ¯F?œ£³« ÿ•Ý×v0||ØŽÐØ=ǧH¿PÆîÛgçsì·ã/ÇhØ‘ñI ÇtýÜ~×{‘òçún^§}¶ïZæøºyDžë—óÏì·ó5èˆéÿçXÉ¥ÿWvðô¥§O)í"û±c0ÎËvYà“ØÅ ÿçZòï|~à¹_%/Ï,Îôp\€ËɹyΰçZò/ÐÉé;/x†ÖáÎsõü_é·9?ÿ«PÌܯ5Ý»\í[½ãy|ÞÙÃçõÄ8ÔÏÝøŸgäû¿ËʱL{ä? Ã0 Ã0 ç_àk3¾Àç†>´’ãøŸÛÜÆøzä«Éø_ƒüÇøü\Sþã |<®)ÿb|ÅÊç7¾Àa†a†axn.µ•të†a?lÄ÷^Cã•ßvk­¬Ø½#®àýÜ~eûî)ÿ´3<3^×Û¶¹Âkð¬dlùcÁ&·jK+›œåo"eòú<.ãÊž`›Áê^(3zÌòÏöèu ŸÁ¦lÛ+6»úßv´î›<™†×ï‡ ¾k7]ÿ/lÓc[`ýOÚöùÐn}½×çòš„«ï ‘GÊß뎱š×Äzt¸^vßä2)?;WmÆrõ5üoäcö³ŸþIzì?ú¾˜‘Oî÷zx÷Œ{¹&ØÇ!û…e¹z.þ©ü»ýüÓÔÅ"ѯÑí¤ô ¹Ý1üÖóäÁñGg×ÿí{+Ò·’×lûw<ý=}GݽìÚFƨ^ú)õ¶ìzIpäG¿•ü ¯ãKì¬ÖœÎ{Í{ÙÉßeÈï ûšG•‘12éÇÛ­¯Ïq¯§™iumf—“>¿.¿ÕþÝ}¬®Íëòœ®~žaì? Ã0 Ã0 °š[u´¿›+ð7øSvq¬ÃïìæÖ­öyÎ…ç ½?Þ‚‘}¶¡åœXùçwíŶ‘ÚvÌ?ßå°ß©ð÷DðÿùZÛ“ð-q/–?ß³ñ=¿ê<ËÌ~¶Œ›‡#ýßÙæ­ÿÙæ»>¶ÓÙFkÿŒÛ"qþøz°r­¿Qèo 9ÆÄr¦,øˆî­§nÍY[;í§oæ:)@¸-`×§-Ø7‹ü({α߯›SÒí§Ýú»@¯ÂµåßõŸKäï9èîüÖ ¿É¸“>:ŸnÁ3éç _[ÿ_*ëmt°cmìÃC>äq¤ÿSþ´L“øÇ<²?ç=÷çÝ<ò¼6Ç;ùãÇ«ôsü÷èþÜa†a†a†{àxËŒ™\ÅÞŠÝûêpxç¶?0׋¼#ÿ5žßàøzæÇÑ™ƒc¿]¦³²¡x^úêl‡ò¼ •ÐÇ(×fù±ÿ:~Ÿ¦ËÓÙ£^l iÅnç59¯³©žWÇÏ~·\;Û?vþnŽ—í»öç’6eÌr¥ßÑý¿óUbS~vù§þ£^¹÷U O7O(é|;+ùSÏéGôü4|?Øfí´ÿÐ÷¶*?ÇrŽ—÷W~Ï2ÏoÅNþ–ÙŸÊ¥ÿSþ9ÿ×~dŽa«ç˜çòîÖ‡ÜÉßmH‹6öìmÀXÿ[ÿÝJþ…ý~Îs.ãÚyœÑÿmƒ4Ù¶OÜíï|Bÿ­düžò÷ø/çøÙ˜þÁb5þÛÉ¿ÈyþÝøïUä? Ã0 Ã0 Ã0 Ã0 Ã0 Ã0 Ã0¼.ÄP—~þ*ÖÎ1@G\⟿äÜKÊðÞßrKXÿ˜µs2â±(ߥò纎Jëì·º8”ŽŒ'>â’X@â–¼ÎQ¬ûQýb£àÚqôŽòwx‰ ìb÷)“¿ëî¸_ÊK|•‘vÎ ÞÜ1çŽÕM¼6keŸe-2Ç›ïú5ùŸ9—ó?K^ŽEº¤~‰9òϱQï±®Y®×F¹8–ëN?å~;:=J<—ïÛßþ¡-ìtñºÄ’yNAÞÇég»þCþŽ \áûNýâXÊKê—s)'é^Kÿg\~âç2}›6í}Ô³¿·áï)¹Ün]O»ûrÞ^Ì÷³j‡~†"·î{pæ¹âù29w€6”Õ/Ð.Ÿz-ví:û+ýÇÿ£ó²M{ÞW—ýûJY¹¯Z÷­Êêµ¢`%·Œ íÒ¤l9…¼ç•íž¶™Õ¯Ï#OÏUz+èÁUÿ?;îýùsŽçÜdš~vñàN·›‡Dç7*.Yç«+v:Óye;ôø8Ë}¦~éÿÝ|…·²+ÑޅNþ9£àÝÀ}•{BÆž#t¯é˜×xîãÕ­sXÉ¿k¯ŒS¬Ví›ü/Õç»uJ=oê Gý¿ð<‹Õ»L'ÿ£²óL¬ò:äD]²6Üj¬f™ògL˜ëz/¯+ؽ[{Ž™ßºrðÝCôM®Y×q¦~áè[»{y‹¼£®òÍy cÈzA¿§Þô»ô‘Þ;Óîwï„«±€Ç9—¬zÉszW¿”ûH®œóìóV‡ax3ÿ ‚ú à¿%£×mkBTúÎÊþ’xœí‘) …ˆq ĉ8âDÈ^éê>×»gI@ÏÏþX¯jjg»iЃž——Á`0 ƒÁ`0 ƒÁà?üúõëåçÏŸ|â:÷ªçâs¥¬eø÷ÁÿQéùŠþ3|ÿþýåÓ§O|â:÷2|ùòåßÏ.¾}ûö;ï°7eôûGFÔû´ž•žOõ¿6Ñþ®ö_õQúv•¦“×íßù]Tò¬ä]½^¥Ë®gí¼{>pjç«zëìåkßu¹´o{šyªþ¯yeõŽûŸ?þ÷{è-Òýøñã÷½x†º¨/ D:½é3Dþž&òˆ¼¹e«^H×õyê i#/OGôzüϪÿÇ߯_¿þ~î :ûsMeÑò#M”Ï3YŸ#=÷2û» QžÛ›ÇßЙ¦‰ïŒ[\s=Eó8´}E>¤GÈ©éTîø  Ú²Ê×Tªg-Ÿñ}×þú̬üVfÖÿé¼Ìþêo¨SVwìzV}Ñ.âƒ/Ð>¨~Ê!?÷UýùÏËßÿï1¸Åþè<ú#õîä¥þ•ý}âÀ¶Ø=þF[ þ÷~†¬ôQÚ‹Bó¡N™.ð·.+푹^edÔç½üLo+[\Å-ö§k»ïä döW‡ïÍú(}Ýýê6îqÝý$¾#³?zÐ6–éBÓ©ÍiÈïöÇ?òLüåÍ7®!ã3ìO_Q}Пuõïêoßš™é[ú=ž¥tk¥È‹ûøMÀÿ‘Æï!'}/õƇdºÐr2ùÉ_ÇCú‡ÿﲨü:—©ôéº ƒÁ`0 :8÷—ÝÍòoÁ=¸„+8-ó4}ÅÛžÂcåÄ¥XÏdq{bUþêÙŸÖq˜Â©Î®è¸âmï!«Æ¶«g*ΪòU\z·ü[ù´GAåÖ=^§+ruñü{µëLVåÕüþ çU¥?)ÿV>­Ò“ó†Î)úçx…|œYé¬ÒÆ»giôãœ\ÅyiÜ^cæUúÓòoáÓ*=£ À³Âó!óÊþÄíT•³ÓY¥µ?rfògþÿÊšûWœ—sÖʽVÙnùÔõ*ŸVÙîXù#å=ÿÌFÈÜýªÏ«’—+[¡«àFô~ÅyH«\L—~·ü[ù´ÎOÒ‡£Œhô5žÝµ¿ŽžöT§ö¿êoà”w¯|Sf®ûÜÁÓŸ”+ŸÖé)³·Î;´ìÌFå³´;:x ûëØÉÇ÷â)/ˆOSÎ y²ëUú“òoáÓ2ÞÎeÊ)Ve3'w®”ç‘gGg™Ž=ïJþ®^ƒÁ`0 ƒÁ ľˆùœ‚u k˜U,ªKsÛþçØ‘5€nYæ®,÷çbXw{ ⬿wÖ&Ýúõ™û3®Q×”øN¬ðQev× ]¨¯Æ·ºö¯gcH¯úËžçîi½÷Š{î—ôÌA¦3žéôIó8†Çh³òwòÊdÌÒu×wËÈô¸ƒUI÷äWçq”ƒð8­îÕ×çI£>+—£ñ@åì”p™ôQÅŸáóÈGcþZ—ªüò\ƪÌêú޼ÄUƬìß·]ÌÒù/ø:íÿèÊÏ3dç;É«:gB9ÈRÈôï|GW~•—î×w«2«ë;òfz†áŸt|éø+—i5þ«Ünÿ€žá«ÎŸgºZÍY|<õ1NyŬ|E7þkúªÌêú޼÷°?õ®Öÿz/k›Ü×>ä<šÏÿ=Α}NŸÍå»Î…ùžü>åuåWy­d¬Ê¬®¯Òdz ƒÁ`0 *èÜ\?W8ÀG£’Ë×ÏâY»ûÌÕ:‚ýÒÏDg«öc¾g<‹ Ìö2+²¸€îÙÕýÿ'ëWµ±6½žqnØŸ{žrèuç"w¸<ÒTkôÎ.™ô\ r¤•¾nåOàûïÕ>Uì˜~c‡#T?£ñ+®ëžyöï{¼QùÂ,,^qF/XÅûv8º.Ö©gá×3}íȸâOPùì ~n%ãhUÞG4§çø(_û…sn|W}Tg&x^cëô“,Fíý…¶Çù°ÃÑ­¸ò«ôµ+㊠<ÁÊÿ#+}/ãUw8BÎRh_ÏÊïäÑ|»33!m–r\7U9Œmêß({ÅÑp™¾veÜåwÐé[û¬úx¯ëG¨ïµÌú¿Žß]ÿß±?g;õ,çnßÒ½Úow8º]®³Òוþ¯Ïßb÷ÿÈîã?úÇOVé¼=ù¸ZÙ_óÎÆÿû£#¿veü?áèv¹ÎN_WÆÿ³Žªõ¿rÞYL€ëÚo;Žù°ŸÎ1³g²9pV^•Gµ~>™[_áèv¸NO·S÷Ÿ3 ƒÁ`0¼ÀçèÚïQ¸’·¾[ãï¾×ØÀ veO\k^8Ö”¨v<ëZbzº¯²Û\ŽáOìp¥Ž¯b¾n$~ð}¬¾Çoèz•3ñј mKã è«ãvUÆÎþ]^»i´NºÞå¸WAö»#´÷xŽë”«é‘æjßÊtÄõì q ³:£¿ÏE=Ð z%Ö…ßqù)CcñÕYµEÅÑí¤q™´®ÊyRGý-¡+u (K\ûh¬PÓ'¥Ü*^Ø¡²¿^¯ì¯ñqÚ=m=y|KóòøvÅ«eü‰Û\ý˜rÈŠ4µŸÇ=Ž›ñ{Wê¸úÝ1Òûû;=Ý·åòxÚëpû;o@>ú›”ȘéT\ÔŽý+C±“=*ï™É«|˜¿GðJO¸CÊåW]ù–xŽ1.³™ïµ 9_EŸÐ±©â ½ýVýqÇþõÊã)vÒ(ç¨ã Ê‘}Ïì¿[Gåñùw¨œŸîǺÛôã{-âƒoô½ÜSdו_ËžïÎ׃Êþø2åÔ;iT&Ÿw*ßÎwú‡·™“:Ôº§ÇÇg×­¶“SþO¡ãsÌìÞjÝêºï%Z[~_˯déÖ®·¤ñ²+œÖñô¹Ìw]Ùÿ7 ƒÁ`0ø» ë]ÏÜkÙíIŒu¾+e§L]«ïÎÖ‚ïoA^ç°î;=GR¡³?œév쯱Ö;<÷ôy‚· o$Nî1ç´ˆ=:ߥPîVãžuŸ£<´Ç <&«ü¿ê3K«yC©¸/ù4–£rÇ)i=µþ*/|ÎŽ^]ËQ¹NÐ1qŽG¹¥w>ù{å•á ?ÓKvÏå:A¶þó}E:·ÈÎ_«n+{ÑþuÿÃ=ì¯ó¿êÜr ³›÷qÍ“¾Ì³]>>ÿËdÑ}+½øüÏå|L¼…õâàõ0öÿ»1üþ`0 î…lý·Še€·ô®ùŽg:…®×ºñ¶Šž`W×÷,3ËOã?«½‘]—¾\9ûPø×î~Í[°£kOÿûWùiìGc~Æ)ãÄ-<žw¦¼.ý3qÌ}•ãž'vªuðw$V±’¬n“Ñváò(²r²ºÂÿ¸®5Žï2©½ˆS;W¸‹ÊÿkŒ_ÏKÑÏ”ó­8B/ÝÁhùèEÏÕ —'‹9êw?K;Òx:òxðº<–ì|@¶Ûc³ÄϽ®‡§ùVúàyâÆ»c÷ÿ@Û–ŽSwÍ8B•òq®Ãîÿ]û£=é2ôlBÓe6V}eö÷¹ˆž­«òRý(·ØéÃËáÞ VþßeÊöZT¡ë„4Ýûïad¢­e2Þ’ý+nñYöÏæøBõ—ºŸTq„®Sü×ÿ»þß”é<›Ãïø­[&Ï=üfÿŽ[|†ÿ÷õ÷s°zîPç)GèåèÙÁª}{Z×…Î3«³™n7ÅjþpûWó¿Îwfåtöï¸E¿wÏùß[ǽ×;ƒ÷…±ÿ`l? ƒÁ`0 ƒÁ`0 ƒÁ`ð÷á{ÑÙûô‘Á~ÿ¬ö½³ÇÒßi`oLöy„>uo©Ãßi\q‰ìKó|}ÿïÒû7žÉSvu9ÍG÷íñ©ì¯¿c¾#öÙé>·,Ïjoð­òw{õÕ†ú‡Öݲ‡Lûù=«mWèêòÈ2u_¤ö¬ÿ8د–åéŸjož?»Ú²kÞËDúøßß±¡öm¼†ýýwÔ>ôÃì#® }©ÛË×õ·E:¬ìOÛ¡O;<ÿ¬ÿsüy—›î¡Ô}›Ú›¾k‰}~úŒî±Õ|µM’†ï'8CTþ®¡¬o+¨[Wžú‚ÌöŒ½ø†U™ä©ïïQ™õýr'ö÷½î\ç­'ç’tœTY¸ÏwôŠÌz.Dó¥=¨ÜW|ÓÉ~q=_¡¾yª¾M»ÜñçÙÙÍÇ÷–¯äÇkþt§ïbS=2æû|¥Ò±Ïy´NÚ_}O¯îe×ù”摽ÛöàýðtLàœS6Ÿq`CÿíÌjfý´3–#Ëéܰ³?zÕ1 ÿéíHí¯þ]÷š“ç‰ýõ\"íWËÌÞ]åó¬ÊþüO;¾2'@¾ìã@~tGÎü:º«üªç{åÝuÊþê7m1‹è™Q]ßPWVç2ûS®Žåz]Ï¥zŸÒsý‘ÉÛ×3ÐÅ]vç‘îªÜÝxwÒžôÝ:Ú—>ÚyŠÁ`ð¡ñˆ$j¢ëw½ymkBTúÎÊþ¢6xœíš‰më0]HI!)$¤’FRˆ?6øc>>~Úsm£®+ŒvÁu…Õ‘øνYšuÌ8³´ú³uNÒ?¤WP>Ê1Js¤ŠWiVÿçü‘ý_uKðEÿ‰Ï¸ˆ/rœÌù£Âˆ_âšgK•W]×±ž™ÍEYòclÊó,[¦ŸTœYH»T¾Ïàÿ¶›ùÿíííðŽˆ}x¦÷ÇL#}A› ¼ÒâœöGüžVË7¼—‘^÷}>“iÒžº²-çøèþŸiæÿì;}žLJø°ìXí&ÇTÊP÷3ýTÞ#¯ôߨgÿ®ðJÖùl eäý'ï=ŠÖø?…͘oéçùn€í±aöëì›ô½|7ù>šý?ÇôU–%Ë;«ï¢­ü/ñmöµžN/èãI޵Ù÷fóQÖƒüz{Èñ<ÓdÌé6éd™nù;è¯ÚÊÿ¥²Q¾–mû{{÷5í$ýÀûiѦxæÿg<Æ$ò"Í^¾%=êü¯”RJ)¥žS—ÚçÍtïe/ùÖ”ë —°a};kú÷Ô_µöyµ?¬9ÔšÉlÍzÒÿ}m#¿óGßüKk!¬›ôók(Ë9êGüã1»¿”Þèz–×,­Q¿&îlÍiV濊ý²Üû#_Ö<òœöÂ3¹Îžm$÷^9g —{9&°w³&¼Û:Ë™ë‰uõfÖšúºR…÷:Ö½L+mWÇôW^£§Äz%÷I—½î¥2Ÿ£î—lo£þÏZ¶f?¾k4öW¼ÜÇ-è#¬ó­ ?V/ì—c^ÿ·!÷!{u̵ʴU¦ÙóÙ·ÿAœÑý‘ÿGe>G}þ?Åÿöþv✽Žø3ÿÉX~j½úœ—{øzT§ôA·O^ÏòʰÑ>÷³?syÊ|®¶ðßG)ŸP¦U{× °.ï».Tæç}6žÚ³‘-Æ×F`‡£Ãp]Åkß…~Ãóbà ¶ О$Áwݓٱ„ÁñÍ|süñCo•›ÝA+Õq3¶¾lOàx@á(é0ða¹¯+?÷  ÜT,¤_¯7¸s\ÛÞϘ^Bl1)üCó•Ò+ÔkÛ(îFyN"8õ–dPCÌ_9ÈÒ>O0&l«4¸Im+þîënwîÛGrŰø™à»ø)/tih“f˜õÕ Ñ¸X†>ÊʨËEËÅòã)–Ô<,é6ös4ÅáÀÖ5›zàbð?¤¢Jðàö\<OM%O#(7ä6à:§= ªêýÓ‹YA£÷ƒH ¶«L s6›ÎMƒXêÈùBcX&ǘJ½te».Êöü¨Ï 3.je(”Ï?Ô?õèÉLÚjï³=€ÝÚ%wƒZˆizFTxô„$¯kPö8›E·mòø jAO™ñÔ×úÞ€«ž>~þ’†åÜàØ†‘ºéB9úµâ † Ö¤8U­«KCÃv´jbëL èåçC¼ï€y¯¡ ç;¤mj P.Ô —øãïDkñÂêwþ¡UÿE€3ôܨÁ”‘•’8xëUÀ…JÊü¹s£‰ž\„³èÉŸŽ+;}s­FãQ(KI­î÷¦XÝ›„ƨ ¹1 Ëúþ+Kú¨èdXŒ];JÄ£Žïcˆx$§DÑ×·Þž¢X`i× ì¨ëÑ@lÌûrn°m$¨Æ^×9΄ïzBGÏž Q=Ænfäk„Dêö¬e; <¨ýøaÓü>,µâ¢ž›jÆïk‡0BŸ[p(õâ$¿º‡Ç ‘ÛöÌpý4 nËËq`”XÆ“ù úvϵöèÙ.xõHnŒûorŸJ¾€Ï5¬ñÁàÿHàu©‰ñê뇗 fà§ í××a앆‰[Z:><ÇM@J£9óý¬â$Óq]¡}=H… kÐþ3ÆÊºã¯ù鲺t¿Q“=‚, 7ÆÇµß»ýìêçs Ä>ã¢3ø¶ïÞÜ6[¦Ñg•¨— RLت¨ù­?·( &wÝ.7C#~B{‚]¯Ó ×â—UÔW² 7™Ò1jk~‚e”cG»¿rËÇùÐãDØ.=ôËK´ÜîëÅ@ÝWÝDZMû0å€ãûíèä¼0Î\Úòxó®vÏqßNZ¢ >#Æ ƒ„ŒàBE— ™¥)•‚º&yØA}tå?Bûê Yìm(ÂWIpáɱò€ñ ¸|½2—+èýà\2·ö íÞ)lÜ8·ÖtlÁ@Z.B½€£ï•eñ…‹ƒRSßôƃm>d˜Iéþlþôò'N a†dÄ¢G3¹%†¼#«)?è¼Ï$sß _5=²íYÇBR#-k"qGP-Ðeþ"çf­ÁÂá%Ö©-Ï“37êÐäÌÈ8ÔM9™ÏŠŠ,¬èä_*n;H‚ÁúÆEBƱ†Öcl¿~øÎî±ç Ë[ƒŽ/saŸg¸IE2å,zÒ1Út:’kLÆÓçÎÁ¡ÍíÈ™壋G)æÔ{7ÊoðËÅnd¨ø¤è·ðá•{@rõP˜>ÆkÂwŒk×½¾¡ #¸kXfy‘ÖEÇ÷šÈA©ÍBÂ9ÂuM°ÛÞ4P=¹_Ól’ÆgW®Ø‡ÝN•Õ#–_n™‡Gï¤pp ,Z…ÿUu›6È“÷ÃV¦›Ó°¸å0EK‘7*|·ý]¯{ü75F\éÔ¶»úzQØ z!á‚Ç uH€>îÿó¦upš²ÚöõTÙ£»o3P)ˆø´[à^Õ6ãÖÚóã` -šd&á*=¶%ÄÀÊfY’<¿^’ƒØ·`_6¨ßÈ|h¸Ìë3Ø¡>€„2 Pºúqÿ×7ÏŽ³ ýÕü,Ns¾j»F™=BµŠü` ¨í³•C§òöiŽU’)Ré@LÅßÒ®„‹ÿ‰·Ç§mb<2FH“Rq°²ùF½åãø÷Xºi䎲õOm¬GAýÝ·ôÒ}:¶*¾Ëu ÄfØ:@Ê«RH™.òÙ6Âñ¼±Ã6Žjå§cæGOpO- ú­6HÒýúÜÊKÉJæÛUÀÎì:ºJǃ¾ŠýÉvÆ,¡•¸¯3ÿ‹DìZ‹¹EñÊÆ®ÒqqðìØ7p?¸ƒÈŒÞK¬÷Å%ȧ$;â¼?ýQ¬r6³pP7`¼a™†¸é^=„„ýÉRç¶_†õ™³)m£„Ç>ÀD3#£ ¼_' çIþÂÉ­uÍ‹CÁÊ-Rne㯄³²Ïóss•ÀîLÏÌ<È­/µàR)|Lt_1»éòÁ¨L¿kÇ=‹rr 4ùìê§ü/gýšEÀrþÀ~P†¦nBß[ ®\g[{¡«‡’g£ãYÛvRŸW'†‡ {Fe°m1ïÞŒ{ Ýw¾LÿÕ;7¨&$‘çþxúcÚøÃÐ0Ÿ ŽžnÝö‰óí&úÚuÅ@5sCèCÕ±mœñ8Hƒãefñï¹Æt ’Îx{q(a¿²ÛÑ‚a¡?€ŽÐþQ“%ò§ÌlÁ¬ö4ô‚¤Ï‚xmWI׆€Gí¯¦CèÒôì1ê’Ûk×QÖýŒ3iJhÜ,Çÿ€úãú‰KºšRˆ÷ÅÄð¢ÄÂÈöÈO`úÈç…ʲ»†½þ4á)ú%ˆùÔb6îB8ý\ ³pµõšÉì«e<êºíS鹂ØìÚ+ÓjsðÄpŒ„¸ß%<&t{3?Œ£¬|N)p7b™Ôîãé?Ôa¤iäDµWl’¡½ðˆX—ŸÀZÚ>;uø)¤ko)#WáÈÍSšn®cR½xô”{[ÀsXv1¤¬95‰_¬¬0KéõÁжՙ7Ú>žTp¡5‡‹¸Ù´¤l3¥Sü"ØêLXê…ç«[á5mö¡ø º¿Q="u}ö‘ÆpϘ*xböÕ‰ºîã—ã#iM+³ù@»Z! þ·Ï®~jàÒY”ݬ‘¡´Ò$?5Š• mtêuˆ] ‡%Ž@Ž÷Ý…:4h8Ûƒ¸˜¡»tuì3À;ú ΑO¤1A/r‹¿¾™ ÆÏR*5ÀÇûÿËìiÜ&j#Y2:º$Z(a­dæ@ß>'z ž„×L¬¯³¬Û뇶©½6ZÑÀ8|`Æ6Ý"åŒX1ß_€z' îF-©÷»Ñû?°úX^ò A:?1¢;ØÌh/KžVB'õ üvOnÏFSò‚¼É õƤê°ïÌÞQ{=kh7™ÀMå¯ÀwXQùpü\vïÍ“ÎO/ÿ¶.ÅöÚñ¹ ôN3·ÍHKRðÉlŠK–"›qò”‰^Wܳh¼1wtùã  h@§¬Ñ3ðe6þN|–’¶Á©‹I;yîó?8t[ƒ[é!‘ ú¥µ$,ήL­·e–"z¦å%IÞ†AêkÜÌRäl!3uú8àÚyßë?_žWÅé½)ƒAbCÒõéõOù!rz¿„a¢¤5S±ÍnÖ—£³ˆ#Â<ý43yÜ6"ª ÒRýêÑô߃C‚Qå¿&>¸[¼# BHÍǽß{v¡eà×kOÃ×TÉlq(UHð͵h »Ý”8º,@t°µöÈÃÕ‚LÛ{p´•ü‰/Ø*ËL"d_y ïŸk,4î GÌ–ýÑbD>,ÁÏ.ok"ýD;†|7–[.µDÖCíAœŸä#‰iÇæélÿü¯‰ÏŸ¡IÖ¬ÐòâóÞD¿q½]+ÞeE •ò–_«-- ™ƒ¦ Ú°c©›³èç€^ø¿¥Lô˜q±1~ëCßC“ÿ”øžC“9¡ŽgNäóýÿû“õHÈ8Bkhêç«JÁŽ#Z¤-`úVo§™MËa 9r$îÕºZ-¼hókhò ?C“$· û^–ñtÄ÷¿9d(‘8PÝ…]Ú¶š£×w[¢wléÏ;µŒd•Ôn—׆ôoÎK«èdù H¦Þ„(Dú¯…¯Ÿ¡InüIÌ Mïãü_(ù¼ðœ’îð5)6H/öõÌYÍ1‡¸ ±QRæŒk,nËÖûXH½­ʉð‘ƒÊË?>ÿšdf“ç&6³üü½^EJ–m‹ªétÞÈ{¥C—µ›½ÌC¬c`½îÙ0Ê…v5ÃÂx<äƒó\9Y·Ýÿcáû×Ðä}1Ú06"×´!ÖóŸë9êdl:'– û1H"Áz'7ùQ‡q›„¹Ž¾¹ÉŒí#KâR.ò/C“»VÖÜgÇQ×Ȭ¨åéãó\ âì`¸·?dÜÛ1y³”åuMÛ6Ƶ8ZX]8Ãø^p…ªwQëE¾ç &­1frRšÁKiûñçÐ$G¤ÎÓðÔÝœÛÇЕŒ¯ðh3'À®Âø”·“Ç{¼±š;;Ö~F öKî37Ðkš–Ìu<pöµdÊŽåèˆ+C¨š¤™ Rá‘÷Mz¹Æç¿7)nÒ€©æöÔ lEGyÍl½‡:Ì‘ÿIÞí’o±BìÞÿ—S%|ë‚ÎЕïsTuÆleÁõ’bšA}A¸ëæížÍ´þ1ãý0ÀA{ÉKù“ʘÓº¼tjÑòÇÐdLI=rž ¢PRgóûÇó_Lb¸R³£é Åžël?«â”ž)!°Ö[«‰FÂæoÖç wi&k^”CV(t@püW2Ó÷²ó{hÒxH—GRn²͉ŒeCbúxÔ‰°ªé6GÁ³©÷‘¬Q…Öd27\ÌØ«dœS‘É=\»F§f*¼0é‘Û£ÜOPúÇ5(r„Zß™xQ‘Z>¥~G AeN-õãùÿjYôÜ7—Ò¾n;ún?Ó¹"P·¯xÒ}‡·•/àNäöÞW:ÝŠ&´—×¾†Ù:x" ꭥу;†ÄRç펔¹ ®cä›…Ñ™õ±ñÜýüýElmG§a= hò¨BG_æu…³×YnZì«­FYs ôUéµ"zM&Ë:ËÝGn¸Ïuí.õDX‰ƒÉ5XnšÁ¡ö›;Þ}¶Ô«%XO?½~2&ùÝØî¸Frjj¢¢…8ˆ› yAÊÆä*±W ¡³‰€©ÒIÒ˜÷“9/¹§u‚b)õZ³l:ë sá¼¹ 8²5ÀÀJõš>~ÿi´œÐó˜I¿þ3YÏÔ•;ç:#hEL¬×[ROd‹Ê^GéšAË©fß~Y!ýËÐäEåêñn·ôü0¯~Åà/«AÝò –Kåm÷‚±>^ÿÝWY¢q†"µ¥â<цFвÎë*c¹½:xÛw„|¤Ížw­—%ýehRg°åØúæÜæd¿9ç´üÌ•ªËÃvž3Àv Dg™hç>>?ÿò3é‰hŸYDkgCã(ʹƒªÔ•ô×SÉ·†¬Ôœ|è 2QÁü94©(ñ½?OG•Q34… fëcc³¶PopT€Yaƒ–W(£>Çÿ@­tãX4ˆ`ðLG¦Ùžp•‹É„ãaïãšÅ°l\¤[9‚cû26óâU M6f,ºŠò¼Ë'›¤…žCÐÖñ4øi¥?W~p¯sÏ ?žÿk³ÞA÷×KÃrŵÄÅÎk@–Ið|>^xðs¸?ý\Õð`,DèäõÌ’©Œ°Žû5¯éWÛüÉ^£èøçw €DÓµMˆáøXf_8<%|8_왉pPó1†…ãî„WþÀlm߃˜“Šf?4žý¼»:½òÌ“_£Ô”v ûûMà;kž:pÍÖ²â_ÖùásjØŽqw]$F‡£}ÿ¢»y« ××û,b'Õè°N‡Îþ=Ôo¹öÖôÔ0, õ¨Çÿº»â~–ÆM‹ƒÄû Y•R´‰¥4â6+!”}@~u‡j°ctCÔúàõP.ÅY(ýxÿ׎ ½×zµ?70ÆWXFÜ£¾oŒ½·¯‹3z‹Š€0°®Ác8¨R£êG±¢g›0àö ¦T—Uëøò„½»‹w­"/4³ÞÖ÷¿¾îC¾Q`[{O³“ºcÈn¯]•¶+•{Û{­ç¼ÞÕÎ N!3•<®ÞÇVí‚ìyxé,!C æ™b². êlfÖ×åÁø'„ÒÁ\ ןÎÏíãëgu,μ·¸šw-/ôß3Û¥ùºñíN°íâX(›c ƒŽÓâoõMDð‘sÊ¢a·#ü#0{c ÁÈÀð%µuDWCB¥Z€AéÍZ6»,Øçûxý (Z%‡±µØçw€ÑÀáŠHbhTb2ùþ<$÷Æ*cÀ¼ænk÷³”_÷וð«Ð÷¿#{D+B<™!âÇüS/¼gÿÃ`ø9”­.^]ŸÃŸ™ÆCíÌ+>™ì3ïƒ+•ý5Æë]¤q‡„Äp¦j' r¯9µ¼FDȬ)~: ã躟—9GmÜì“x2’¥ù-?s–raG"yvU³pa;R«çãø÷ăœ ÌAŸ\&ú¹“ ÿ?#Äìn Ûí0Úee½´“d~o’qå¶­¯!!DzP^H)>¾oµëÈ‘.®Ä¼‘Ô¶=Hy»7´S´-M½ á?Þÿô8y£c¶Î™ß§q„|Ü#Þ5"ù2Б ‡lµm#—ýU‰ÑÊ»ìýeüΤÎV†ÎÈbMƒ¤Í˜÷jAÌc7¾Z ä]> 4½gbö Äýñõs 2WRsKgí6Þæç 's8qzñTT[”R›[wÄÍ)I‹—9ø5x¥ŽÜWjýÚ #”!nN+zP’ÄÚ”â ÁKgâ²ÁÞTEŒ,ÂÁùÇë?³¥{é^R¨DÝ¥=´R¥u^zîc¯’§³Ì¥&D¼‰'i74øSËJ½ß”í&H¥æU©Gà»[û‚ácrÃͦŠ<ú’‹¡׿~þ‰4}Ú…žíh¢°Î;¯üòlpAZð´%’XÔZ;t®Q?„±÷÷žóy™ïk1+Ƴu6Â[«©ÌÖè† áDõ™c4¿ÆœÚóÐÝ*d„•B#!}Þÿe>Çsamh¡¹ÿêG3c^çæ—8u9󼵕⸈߂ÏUéy‡‡B;f "Yi=ÖD§ =Êâ‚Á4‘íŠ&¡Ž’Þ×|¾Cý“Ò3»Ä÷šg]Ø~üþ›WgjhSIXU“‘"1A5Fr4×{üáÜëAä—éljŸw¸TðÎá–Ýt6<ï/NÁ  \û¤õó«R¥tÇû˜a| Æi¨ÌÍ>‰T.šWo>>ÿxŒ•ϯ¼Y¼æÈ{ç··m,J²{gg}Év~)ê]Ñæs!?wøè÷X›‰æè˜G—F°¥l!7ކUœÖ|Cnáfï³…:.@mq%®Á臔±ÜÿÓRu?.–:¯èaBë¼ÖºÌÌE#Gƒg'yX«Dåÿu‡SWºä™ÇŠD)Œ˜21×ѵ‰VµˆagW¬àP޳²q½ç«ÏÈ’Ï Ís”?¶•@åg")ªíªç©s\ÖTòâô{Þê«f3g÷‰oÑþÏ^w:^ë¼"•Ý{¹ªd#³!φtà}©,nÆyWFKv„X”4–ƒ|<ûB+ è®Â8ˆi=-;´³X 5l=/xlêóŽw•–å÷n³]ì à+SÛÓ¼,{Õž¯/ДâV¡û»+<< ØÌ¤®Ào ŸâÞçèÔ‡eNpù^Oÿþ¼ÙùŽOv qR¶ £wHF3ûÝß=oý;ü`~k’RÏwCßÏí²”u¦ãk¡jE˜|û‰qÏ©ŽÔ‚KV,Ï àÏ*?ÞÿþxkáÜ}QxÁU¹éœ/MÛüÞÄÂá= ¤Õ°pý¾Êæ=çŠÎ^xúBË÷ÞÚKx«§Ó@ð[òÎI™¾ÔYB]Tª¦âž™çÿúÑKqÉ.á½€PÖÛwÿ¼ÃÓAG\ôšWÂÏ‹Øâ9ùãÏ2S³—åA\è“Y\œßy=ǨðGj÷¾ÌéÇõÕ¢ÂMî@âŒtÔ‚¶„vD¾üƒzÎ+²ÙÌBĺ\·Ÿ¬ü¼ÃÕ¬…÷Ùë6ËÛk™6Lþ¸Ê¦ÚRß_rýnl|UAϯ< ¢¹Ë|¦²!‚¸;ºÁ8™_1ÜgésÞùÆCŸ‡ÿ¿ä >êVB‰~æ,¶¹® Ë˜_ÿ&f™äÕjpñ/WÙÔÊwaùO ¼š°H 3ÉÛûþ¾I`˜ÈòuØù»õ¸1êͤÉû·ÈÏ÷ÿå+_ùÊW¾ò•¯|å+_ùÊW¾ò•¯|å+_ùÊW¾ò•¯|å+_ùÊW¾ò•¯|å+_ùÊW¾ò•¯|å+_ùÊW¾ò•¯|å+_ùÊW¾ò•¯|å+_ùÊW¾ò•¯|å+_ùÊW¾ò•¯|å+_ùÊW¾ò•¯|å+_ùÊW¾ò•¯|å+_ùÊW¾ò•¯|å+_ùÊW¾ò•¯|å+_ùÊW¾ò•¯|å+_ùÊW¾ò•¯|å+_ùÊW¾ò€ÿÝš™w)¦÷2iTXtXML:com.adobe.xmp Adobe Fireworks CS3 2007-10-06T21:59:47Z 2007-10-07T00:32:43Z image/png öX‰¹„IDATxœíÝÏoç}ÇñÏó<³Üä’%RR,˲“:®‚Æä"rçT#@‘ƒôZIÍàSNÎ!0àzè¡@ Z´IÓ*=4¬ô¢&®;Nì8‘-ÛúaQâ‘»ËÝ™yz˜Ý%MÉ_‘”H[ï0 wµ3ZöÍgfžº£nÆ9çæççÃg>ó™Ù‰‰‰/„þ „ð;’¦%ÕbŒ‰$wÓ Ø .Ƙæy~½Ûí¾º°°ð?óóó?ûú׿þ¾¤|‹%Æ[…`d£[þÃúúúïV*•¿ô”÷þ¨¤ Â|Å<ϳ,Ë....þëüüü?~õ«_}SROR*)S?·ŠÆbáœsiš>Bø–¤ A(€®(Iyžçiš^:þüß=÷ÜsÿðÝï~wAÒº6†cˑƆX¬®®Î5¿õÞÿ‘¤ìbĘŨ¨¸ù%ö˜“$çäœ,›Ä,˺W¯^}áÉ'Ÿ|úÕW_]”Ô–Ô‘ÔU¤±9ƒX8ç\–eã½ÿsIÕòÿÌóTö’ºeYïþˆî„ÆT­MªZ›”ƒ1@̲,}å•WþéÔ©S%iEÒª¤–Š`ôbŒùèvÉéõzOzïÿLýPÄÕi-jñÚoÕ^»F(€¨,몵¶ åÅ ê´–Ô ¸BròäÉ?þö·¿ý‡’Iš’ÔT‘œsv\Œ±Uü·÷þ ’¼bÔÚêûê´—îöÏàkŒR}|Fåãüùó¿xä‘G¾Õív¯Jº*iYÒšŠcƒÝ/I«««ŸõÞ¾\»×k àcªÝº®4]/ºcÇŽ=òøãZÒAÓ"’ÆT·ð’T¯×ÿDÅÐÃIQ­µ…»öÆÜ]1æj­.¨‚D!„ðo|ã‹’fTÄbBRME,‡*|¿äË*hf©ÒÞº||õºkÊóâø¥sÎ=þøãª8f1¥"um:v‘HrÞûåFºÝU•ÅÙ-ï½÷¾Þøõ›êt:òÞ)„ $ ÚtüÀœw >È{§F½¡ûŽÓ¡ƒS;ÞnÚki¬Ú”$=ztNE$šý¯+*b1Y$.\8ªbÈ!IꮯíøMHÒ;ï^Ö/^û•–—–Õjw”g¹’$(¯¤’¨’Tvåÿ>ÖœBü‚][miùÆŠ& MLLhvnN¦›ÛÚôzçÆ ÕjµÒl6'nܸÑPqÌ¢¦áq‹ž¤,i6›k¤i¯µ£Ÿíí·/éöº|銲}zv~~þÍþPU1ªÌâJœsWß~(ΟO?øáY­wÖÕ¨×õàƒszàXS!”ÛÌo¹>ƒèÚµ« áˆõªysýyV’¤G}ô°ŠÑD9ª(φxçœóιO WÜÞúü[ïé_þíyõº=Õj5=vú¸z`b$v[ž÷´Þ¹¢˜-©ZS‰–——ÔíföŒìI>|¸©" c1¸ÚÜ;çlµ¢Õ…w.éìÙÿPš¦¯ëóÐT3ùðìŠN{Iíöû«(ø •Ëꥶ_üqdo¢ÙlÖTŒ$’‘Å÷çUÌ(VÜÆÈâg/¾¬^ÚS½QÓ©Gk²n{v¦µzM«+—”T%!Ñúºq®ÔÈ¡V«UTŒ$ÊP„þ2ˆÅØvßà;ï^ÖÅK—BбOÌhªÉÙ `¯,/]VÚk)©$òÎ)Æÿ<ŽŽ,*•J†rt1UHÅnÈ”—ÀßÞ‡ýµ_¾®,ÍÕhÔtß'&nk]»ïúõw”$‰BJ-WŠy¨T*£Ø0ªÐÈ“}·7£rmmM!ñ:<7­±„³À^k­.©×m)„`ú4Ž,’$)Ã0:¢,;ÚoH{©‚óšžÚöž €]¶²² ‚ÜmNzôÞoˆƒ6C>Ƹ¤þ`$Fû)—÷.¾¯v»£ÕÆ¸ÆØ/ÖVå}÷‰|¸í_䣱ÐèW¯â~{’noJÖ›¿þòU¯×5F,€}£Ýº!IòÞõgiÞ¶ÍÁ(¶·Ý7Ô鮫RI4=Ý”sL¾ö‹ò˜NaG—oh·b‘$Ac•Šªc¯ö<ßòÎÞÛßævWœl6U«Uû7Ð`~°_„P‘‰¼ aWfSNnË< Æx½¸bMÌÚö‹ÆÄTqËç¶sƒ©Í+ o;s³41>®ÉÙ¯rpgMNÎÊÉ+Æ\i¯½ÝÍ| 2;Ú«È;§õðy$Eåwàoï8S“ãºÿþ㪌Uä$5ƨ11³ o €ÅìÜ }úä’+΀t»kêuwçOzŒÚ•““ãrþ>-\½"9ijê~Ïhñú»J{Ýø/lR­6tâ“§thöD1ß)ÏÔ»C¡v)’Ôœ¨Ëû£ZZ¼&É©VŸÖñ³j·®«Ý^VkuIÝ.áv¢Zm¨9yH“Ss:|ä“r¡¸ŸnžgJ{í; ic!IãªB˜U«Õ’|ÐÔÔÍ<¦à½|ðrrý™eL,œsÅçÆ{ŸÈù §þg(Ï•ÇTyÖSo—hn¶ë·á®U+ªU§”¦Q½t½¼SÆ Îyyç%çù[§€…sÅõâÎKÎ)Æ\1Ï%ïól×ÏzÜÌ»g’8%I¢–K”eiq÷𕹜‘`TüNur*¯$ÕN¦qoÛÝù1U´!Ë6ÿ p¯)oI¥=ýÃ~üz`B,˜ &Ä€ ±`²álH’TupîÓ{õ^ÜeijüÊÚ‹4]×òõ·vûýا¦fN˜_ËnbÀ„X0!LˆbÀ„X0!LˆbÀ„X0!Lˆ€­ÄÍO àžV4!ÆóüÖw&LˆbÜÓŠ¿ èœsÞß:Ä€ ±`B,˜ &Ä€ ±`B,lÅm~‚X0!LˆbÀ„X0!LˆbÀ„X0!LˆbÀ„X0!LˆbÀ„X0!LˆbÀ„X0!LˆbÀ„X0!LˆbÀ„X0!LˆbÀ„X0!LˆbÀ„X0!LˆbÀ„X0!LˆbÀ„X0!LˆbÀÄKÊ%ÅâaÜË÷`cdÀ„X0ñýÅÝ^¾û# &Ä€ ±`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,H’bŒ’ˇ›¾ à^æF¾Ïó<¿ÉË¢TÄ"ÛjE÷7üÔw»Ý›ÅB’äóóN'½ÅKå%µ†k àž2ò™oµZÝþ·qdðyž/×#À½dô3¿¸¸ØÑÆPl†OÓôÒpEŽw÷–a,®\¹ÒÒÆHä£}§Óyk«|üŽ,Þxã% #±!’¢_YYùeÿµÑ9Éûp—ß.€½àCE’SŒQ1Æxîܹk†"Uq¦´Œ†üË/¿üzÿ INIRÛ‹÷ à.«Têƒïó~PåÁÍv»~ï{ß{KEz’ºÆ"—”Ç£—Ÿyæ™××××¥~A*IMõÆÌžüîçŠÁ@’TϽôÒK—~úÓŸ^W‡®¤õþRîŠ G?ùÉOÚ?ÿùÏÿ2MÓbR†sª5f4>1'ï“»ýó¸œsoQ­~@娢Óé¤Ï=÷Ü+*¢°.©-©Óÿ¾<à9ˆE””9sæ?/\¸ð÷Y–¥’¢sNµÆ´¦×xsNIRc:8ð’ªÆ'ætàЧT­Mʹ"Ýn7ûþ÷¿ÿ˳gÏ^Ò0-Ik*‚ÑÕðlˆ\©H?uêÔ‘çŸþ¯çææ¾˜$IE›¦tÆ¥˜+Æ\QQŠqã•&ö”“$çää‹_îÎà—|?é~ô£ß|ík_;·¼¼¼,iIÒû’Þë/WúÏ­IJcŒÑÅåœ ’ê’š_úÒ—N<ýôÓzúôé¯4›Í9ïýàH'# ࣧ,IÅä«V«ÕûÎw¾sîÙgŸ}CÅh↤k’.KºÔÿº iUR'ƘIR ¯btÑ4%iö©§žú½o~ó›_ùÜç>÷ûÓÓÓ“$ ŽZ91Ƙçy¼xñâòÙ³góÌ3ϼvíÚµ¶Š]UIË*âpYňb¡ÿ\[R7ökSÆÂI ’Æ$Kš–tHÒ¬¤C'Ož<öÄOd,¯7­Æ¡\ž2Šób.%æ± ëv’| Þ×âXºÓ¹v\Ç ‡³Úbκ«ç®¶û®}é˜ïòÔœ+ô/ÒBY´Æ‹Ž`{Á­/7eÍ ù‘+øÙŽÇ¿³ülÇãG~äß~¶a~#Ò’|ÈÞþùV½¢äïå'êUc:-Riÿ‘Lõ0ÔÔ¢‰Bîá'TS5•Rª45~Œ¬ ºd<# ÍÏùÙœŸÆ–skíßË:ßPÞ¨ ŒB²â'rYAVb)Ó¢_Íè£ô‚›isŠP $‹ŸiÒa5-¨ó]¢ÜÄòþ%{mA+–+z¿HÔL”¸?«XæDYåz1¦ržÉó~Ø>ò#²×i¾üìú¬â„Æ}êøVЧ6P}²1Íé™ù<„”B•ÊÊ•‘É$ÒÕôZrH…yÞE&D†‰ò=!wùsË•šª¥$"u%ýb$•#ÓCÈ3šõü‹³ѧ¢*ÄQÅQ®®×â â¬èboEϬ?ùê‰ç QÁ¥%¬¢Ÿï±PüƒôgòçÁè+R8ûDM÷ü;TöT]MOc]"k æ‰R|_€Yñ+ð~ÈùºY¾:ö)ºâù}i5—öR&é|Ìî+:‰ŸEïŸ5´ïž ú¬øÁýÛ·r/ÿZ2{à÷ÇúZrð›åßtü;Ë¿üçÁuóo:~äGþ­ág;ÿÎò³ÿ+ÛWþOëq IIIIIIIIIIþw$ìôl<°;WNh8^·U•ÎÚÊÍìcþ9u•›ü«·²êÇߘûûÍ ðp+e±yÜ>m"Â'€¹~ ˆæl6S\üýŠ@lnùó(ŸÉ³-ð¸ƒÿÎ}v}öÉ/HmkBFúÞÊþ)¤3¡v/mkTSxœì}Kl$Iz^jwçÁžž×®°:xa”Ö’Õ3=¬Îg=f·%°HV“3|ÔV§›³õì. Éî%ÙìæPe|ÒÚ€lÆo>ùàƒd6 { Á6 ‹á…ùê‹t°o_,@Žø#"3"2232ëIvNM3«2#þˆøâÅÜý¼vqõE³5ºªŽ¿h¬q½¹Î]š?Ú]¹¶Su»Vuühg}xeŽÉåáöÆðÊv*ã­íöðÊ5ÇÍÍÖðªZ7[#ô¼ö‘ÂãÆÎÎÅU­þ¬¯µÏ®Œ·®Ñ35£cœ#£7ÞÞÛE÷o£û'èþºjô‚±ƒžžƒqsc¿‹‰®íí5TggP×6¶Qǵ]Tùº Ûq­µ ‰Zu܆Zk ~ÕvÈås¸¬ïQ›uøÝlCÚz ~Õ›pÙ#7[ ”¶7®µÉÃ6¡Þn‘Bv =rÙ^õÜõ2Çû®ÎƾÉlì;p©£›6ºØäâàËX›÷CØ4gÆ t¯o Œþ¤Y×!Æ=-„ËÐ8Ÿ„{¬¡›™¬ ѱfË?:òŒQZ0F·)FkŸS„D ý}ÐzJ±z›b`‡®7OÉ%øÀóD|*®€)àãØ"Bý eÌ&Ù!— ä„Üq«ñ%éÕV }éuÑ}ÒŒVkn¤ÁðŠaq×+Äo/Ðó$>sl£ÅiU)”v·—Ê^…@ ÷g¦]Õó= æ:b¸#ôO\ã¹ñÔ¸¤€®pLyŒ¾?3žÅ‚iQ©µmµo™®ZlͱõL‚$èŒä°£-¹vEK§b,«Ÿ»x.÷ t•An0%‡ÂŒ3—vFe§YV€~„ät„S ¹ÈêJ¼5¤™£^œ b¶Hæ-PˆNX›bœ€©fT˜·|AÍ* Mô´ zËfÈ¥ž*ŸMרΆÏÞ¤=D¶à\‰NYb1ÉéˆóËpV{áø´5¢ý[µÒÇÇë)øô=Ä19‰›ÖÁnb•©¥î)^–ÝS"&)ür/=K¹%Y‡bæô]mÛ™](Q¶×!@bS“É(ÿs„æQ*$‡®†å2ˉý M }ÝFŸdú8bøZÌÁʸ%ì F–ø%ìK35Äo‰ƒ‹4ð‚ÍHN;§Æw@=œ\-Mà&ÂÕ f²ÑˆÇ,‹ƒ¬Vжë ÷ìô2î»ÇžM #êag ´U£ÏxöP€nŇ[K°¥YÆfâÐ †c:‚lW¨—ƒM´[…V‰ U"h•ˆ(ˆ¿t‡’(cÓÜJã[¾·Ò1¾Jˆ‘TŠU‚"¸hŠæ¤(ºEÂbJ½ÁÑŽÁÑ3i JãUŠ$e¼å¼’&¹Ã‰œÎtLÙF’ŽXÒø*kq¥ž÷¬fKfl¨»S×``@†MÞÒÛ“Ìž ÌOAÿ‰á*Ð+£K®²2†«¢Qú@‰ÒöºÈëeÅÉžNm$Ç#4<¹®89SÇiÅÇéòHÎçŽÓcÕž›qFM‚I 1 4&Æ$ИšÐ¼§d!:“ž}D]oÎö%Ny! äM¤²·`ôz‘0z]ÖŠ²Ø“G`òLS‡ÀÔQúþu<Ü„é–6Ö5 f:EîWÁØ¥ßÆ©Ž+–Æu°¼Îdƒ©ä§9µã@ÝÙ ªBœ2׉Çn LOi é)h+;ì5BØ€ 7MÁ‘%ã¦#«FàE݈xg¦ØéCÅ$rLJ(šÑäø[O%‘8j©¶‚1z†`ÒÌøŒ÷ëƒHöT!’T¤Àó-ÁÍ?™îœ»æD–dç ¦>XG¬7)XûxÊ€BtËžcß ‡Û’¼«NÖÅ x4““# -ÙPˆ…Ú€¡CKK#œï‚‡EÁ²+dì#5°ó•Jdäãâ+„1üÃGŒðbø©ê•ÅÛˆŽ2À¦)ŽdÅLÍô:T›‚Ú³¥øZŸÆˆˆáNa"Ö%°V(®l¯B€íQ`{y¼Ž¿4ÙAÀÉ#ÿ 05štLÚl²g+®Su ÒÍ~§¯¿¢óÑwˆ•¸Ôïs öÈAìáêÀ&(*‘#ŽFoÆ×…÷–ï9ÄTðb”3ÿ‡Mj³ÅVg ¯ŽÿãICÔ¬Xß¶`¥\4¸%7¸ 8kèÇH@;YS|GC¦Ë1ôôo9£þÕ2S4´7ìHk(œnWP¿®Jý28e=áÑqœGrè*.º Q¨&´Õ¤ª™þÆ@[C¥Jf#œ‚ò} ³«e¬¢§#yâ\’8Ož9ú7öKሌZÉ8#ó+*d®¡»çè÷*ú†u<2Lœä˜.fÓõ›¦ˆ3óëÈÈ¡Ltù”ªá ["]ÌNúÀB SßÄhrŠõ_ض`Ï?i‘«¤Ì\?ðŒ°ÁžÍòáž¾›žjµ™ä}Rõ×!@v•£N]O~µ™(à»À‡àÑ èÔ$ð 4¡¡½‘Öíùãj½žbLɾÏ.ÓDÓ’J$ý9ó`¢ bìKsŸ3Û&±&“êc¬7idWT|J@SD˜Í9lÞ×ÓX=¦tTsF ÙQ²ŸÆ4ƒò!õ‡¢÷8ìh€¨3Üœ4¤fQ[… •ó£ ²M^!Éôe“zØÏŒcI_btb ñ¢,l®UZžK0,‰vR@XRò¡Ò©!S¿Y¼Æ…¢Â´)ÂÕ+‘Þ_}ÐÑI’øáŠ£Zi™¤Úº˜úÞ5èÛ0V]7yÒÜ«H“æXÁ^ä‹C¾ÿº2 þ5þÒ`¶ØÐ¯Ét$ zèaÊÖÖñF…h×׌ûÒŒ®cí5`¨ZŒ ÿQL¦½ŠzÀR¥Ñµ*]ÔQ-‘H KØy-¦°9s): b0šþ ‚±e<{zY}Ÿ…Œù¸Ø[ŠUXh|¨dO|¿Nï×É}J°Öej¬Ë„C¤À [dh˜NØÏxë"Zh­uƒi|IÊ™]åd¨4’VZ—¨ÀDÔ q&eE1Gì9@P€¡~8sËß  :ÆF†åme}4:CGtqD«(Bza3»¢ˆo§[NhøÜœ—ñˆ) ŒÞÖ#™•Ìs=¥±*ehͲ۾óIã°Ã ´ô^†­”uÎÁÒŸôÇ*N)ý¢@æ&ú¶˜ë¼v“ ûз¹G°ë#í4ƒz†prÖƒõäÜ¡ÝQ'€Ô‰n¨ê›ÀÅõæ$i6ɳ-ry„/ã:?Š#¢Ç>à›T%þÉAä“lU²I•Ðå_£Q}zþ|DŸrã97åsæëâ]óM_Ïø é6{Qð~oßFß4ð,urÄŠ ÿ¹G{DÏ_ÁÏñ3sr:VFìþ¯Î/¸Ò=#ˆí¾€öËýÖ¤è…Y‰’­ßÒoNÞoiúí=ÚoM„LµÇMžH½÷žßGª4i²õh‡ôh'ïÑ4=zË—D<€}~\3äæ Ø³ƒ˜gÙzÎ%=çæ=—EIœƒÿsÊð’dQæ@#ÍDÚÕ²ò.MÓ¥oÕõ3ÁFÃ! ñ³û÷³u—GºËË{+Ko5À‰ìqçH itƒÝ?ˆ¸Ÿ­·Ê¤·Êyoeé­: Ò÷ñ`½Ü?ˆ¸Ÿ­·*¤·*yo¥é­wiomÒ3ežƒ~ã“wiÿ¨R$¦ÈÖ—UÒ—Õ¼/Óôå[´/k0™zæO±ýN}©“ïfë§é§^ÞOiúiÅÜaY!¤åyðDO²õYŸôY?ï³,Ví!¬×„¬Zpÿ â~¶ÞÞ何e°Ýæ¹|ÿ–ïòÏbžeë¹!鹡P±Û> Œ®±]ñ¦áØ|;cùùAÂól•´h¤_7,Ñú†-ür„_®ð«©ŽÇ €…Mß§lÚ„%ú`eN[ƒ©sžUªðüa½€Cð¿HæQññ¬ ™“g‚w…ÂÛ‚³'/€]HKªÚTªY•ZkWØSׯñ©ëƒÑõºNן–ØÃü'>,ûYûüQ‚P1ñ'ÜYׯú‹bƒw|6xN£ÁøHáã$VP1¾Í?ÄÜ-@TØîÈKãH‘1‹•1g"EA‡–·î‹b¦jñdî3XÌunìÓÍ¡O’½»jv¼jDãÊ=UÇL@gQ 1·Éw–* æÓÄÕJ =:‹èuð+3ôò`¨gsë'ɲÓŸ™/³+Ù(o©Öø¶+¥pV…, à%€9h“ÜÆbP‰.Òò¨ö÷‡è±ø°*猅yÊ- ê÷(ÔøIõ`ad¥6M§"ÛÑÀCV¶Ú)Gybˆ9K168œµ“Õ’k¤å@,uõ=žÀOžƒ3É'\Umªe·dIàøÐíWzžäNùOK={`•”  ûÝ^?Ü•‹©Â¢mÍ&¬Ï‡•{°ØÜG'ɨm:½—ì3¹Õ­–­n“[wèzL^ê z¦Åäa–\#-]êê/Š)nQ¦àNeGχzáÑm€$À†ÆK>¥’ì°rHâŒåa’¤à¨Áú_{´·ÄÕ_4#4lµ#FÑõ¡>£Ü#ЙFðw³¾qqµYçæ5Ð6,jÆj±†þ^À‰2l^làïÏéçãÍFëâjc}ÿùFÊ›Æ6mãPÉ6’"²zDþÝXÿ¥ú £ Æc.ï;BÞ]8flÛØ y~ݸ2Êð´dXèc¶±Š¾÷Ðü ßëÃY/t¯Œž˜ðñ eýµÐük,”º´Ñh—Ø2ÓÉ0…”·¸”aoÒ¹ñ”¦ý®‘ú].5[¼tJôŠŸ§lxRžMDõ ʃ€­²è 3üuzN³y1 öµÈwæçp„·á´Å34úŒJ/—œÔ¸AoêÀ †Ó7¡7d¬‚\~ ¹ôŽÔòT›#ðŒ ½ð>—režÓ“GàS±\–”‹lx:|šë-ão ü‡”sÄr߃½õ/i€KA?”å7¹c %,·`¼OaÈ}d ï…#`QÕŸË-ålÁvÄ>´B•“«¹„Ý&}¹â$ù¹¤¶‡9¢¼üõD×ø"å4喝Ø; i„ôÚ9ÈO 8ï<’3>d»SiÊÓHŽ•s®ø9e¹–SþBâ+Tÿ:ôÂÂ]§´7öQGˆwÉÑgLj'ŸÄŸ¢{¼f;@é÷ÈÆPZÊ;œÆ-p:TtíÜ„5\Oríœkç™kg/×ιv峆v^ñµó (Ë\®¡s =k ]Ê5t®¡s BC·mzü@®¡s =s -ëÚ\Cç:×Ð* ýí°†¦éa…¦A^–ëì\gÏZgÛ¹ÎÎuv®³5tö-ª³¿Ùû•ñIO®£s=kíæ::×ѹŽNùàtt®¡s =s íä:×й†ö5´‚“_Ë•wV®—@;ç+ïrí|ÓµsÀÓÐίÇÊ»\;/ƒvÎWÞåÚ9×Î:Úùõ[y—kèeÐÐùÊ»\Cç:†~}VÞåz4t¾ò.×й†ÖÑÐùÊ»\g/‡ÎÎWÞå:;×Ù::ûu\y—ëèeÐÑùÊ»\Gç::MäãõYy—kèeÐÐùÊ»\Cç:ÐÐ(æ®?ýÓ߉†Îí~,¤š¯¶î ýV5\ôé#z•©hëx.–y°#Ào ¹“ÖYóiÉÁŠvq%ÝÀ§â¹rLKÂ:ÒAxsá=ÆOWÒò[WD­ÊkÇk%iuz¼VIÍkر¯1·½G¹·;²7ú6å7×EvãÆ¯3v$މöEå¸ãõõDåv,ÚÍW_GOÔ’d;÷D£õóí@Ÿ" Í¡=†n¢F€èÍÖв¯™kè\Cç:LWC¿èS£«£ßz±í"/9âÆm·…]‹‹xTAûb]F¥gÚÚAßð ŠpýßT@¿a܇uödÑOÁ…y´ 쨸% ï½våäH fñ'ÄÉ\Ô5ª¨'{è/¶Ý°ù.èiÆE86€yhˆxŒõ;N]A¿1ïõQúñLj;_ƒ¿†ÚZCe ¡Ä2=Fe‚u¶ì%ú}î×Ëä×~Io@Û ø¯@õ £#ñÑ7PÛE.zÛèkFÞ@Oãíhù \rKà9öl¾ÚÉÍSAüÚ šó æ ìÚIÇë+Iý‘ì‘ÉóÙº¾L”-ž¥tç aj¾9ð6Ò¥}äa¼€ö8dï}¡vê{§kãžÜ_™õ•ƒxÃAú§ ÜBl]ñ•%ð~ÞGTLÐiØ:VÁîƒÞ’Ç(³A3"u9õgùŸßÃþ{O¢®“kŠÚ2¯¬ q “°³Ì5…‹žˆd!½Ð¨µB-X8{J}ôÏ~šG¨Ú+ú9gÐS§0xLuÁcôû‰Ñìq1ÏSÊ7b®o¢öz!ÍØÎ:×,é].½~)+è9Æàý•é[š­DŽÐãZäÒo}tIQ­/En=O_lý­b°—FË¢sªê÷ž…¤ßW"¡SÚ;ár䨂‘®A^Ù¦®ŒcPC1Ÿª~ï*Ј/í=%É%Ý˰–B;¿ƒž¿€è@×[khË×ÐîÒiè¨6çZ:×Ò¹–εôòié-xßû=4ÚÄñÛ ép9x0QVßeÙK7ÊÒi¿Ø§O!½Î¸Km˜¦NÎ N•~üvå8‚´~lHâu,q#¸u@çÚ8nøÜæ,·©Ú+rØNÀþ™1‚‘øÙøAú Ñ¾¸z´³Ž_å{H.ãàžíyä.þ2ÑÄ3Ó¤y;ÐëS¥ûÓ’S¥º(î~“ß›ÉïÅ6Å…h•ú½˜_K ¿×\¨ß+¶t°¿ÜAOIkæÃîƒnq!B݃ÈuÖ:T¥6ÖUa=Ì-ÃÊÊÔoDÎ+«bÉo¡>}s¸‡/}_%¼&`…›÷ÆV¦é Í*v¬ê/±Ïß@ôñÞòßËÐh(Ûg^ c¯5”û9žéÈ uXÖô÷]<–ºº0ÅKs z«XfƒYrëç!‰á^¹í<¡³ådÍL–qÿV ™ÐC@}3‡Á µ =¥d±ã~u‹çþ·ü¹o‚}ð; Þz6„1•ëÇY˜GµLq– •‹Àø=X‚çi±/]`O'˜À¸;°¦Àc}¬q\˜›òÀv`tqïxèY¼^ÜC@¾7Üã[>£¾à¨~êÉÊgcêSåØè!Ñr}'2÷Oеc Vò˜Ç8á¶ñ¥O<9žTé^ ìß•ü‹ Ò‡÷YtaMöôJàStÑu^B¬•h\ÝêÙsÀ( );mï¨Ì™µç?0 |/`d>‚yùiè>Îmúqngéôorëù:ü2ÄÁøÔ|0™|ᯩø6jQì~ô§´ ÍûEr&ïqõX¼ÆÈó*¤'#<lï4¿ÞƒµVûz†StB#„Yiþ¸–Ï^î? bh¼ìËkªª’äÿrdÞèµVIò¿â#PdN«íÓz\ö{\ªöÎCߢ+ÖNaMù‰¿ŽñvM°'•VVI{Â]âžHjûìeñ;`iƒ<†Ž3Øý< mG_eé=IÞ¿“ÿ’P¶Š·‰P;.½QRf[ÿ3€]Ù%4Úévų~Áú‘ Œ‘pL¸ê¯ªÂ¸Ö>ų óYE™ÜþÙÇ¥V@‡^*FMX’ª0bÄ+ª?÷üZFç¬ÂŒ«£Á oNØëC˜ÿqiì¡GgÿªÜn²£ÚD|±ØÕoÞøþÅúù9´ŸÌ³uIl¯j´ç9há§9e ÛØ à~½0'ÌÖ3ÑëX–!øX8Ê5€Œ‹:ÀEøÄ왑„6å¹*z‚g¡E.úHyó—dkV;aÓàŒÿÛm¡.7ÖÚWµõÑÕþ7®“_ÝN׫ZãzÃïé·! û88#À÷±‡!û òIsc¿{eŽëíÚ_6ëpi펮lô«=ºBe67 I³Ižm‘Ë#|·Õ.®HÁo óƒá'¨9Ÿ_\=l 4s¼E¯íÖ—ˆž‰¾l£V´·7FWåaßB»ý¨>BãÍG‹«ún×o}*ÝØ–4Öä=r¯Iˆ4Úô7B¯5vÈ¥…½¶¶¿Ö6àÒBd(åÎð`Šø¬ñ£Ñ•‡¯-òsŸ\8ÿƒú6¾|ÖÂi:èºI~¶1¹ÏZ5v§ˆîáÊ=híà{;­|Ù —ôÀzkgÛ\oáÆì¶ð¯üÚjïb"[m¢6@qa–| WXp7~T‡*>Ú…ú·›@åÄ—Gk@¼þ0Æ{»îÅú3º*á2$‹\Lé‚®uœ±7† R„›{ëøÚ^Ûâ¡p\QôpweØÝÛ€ÒÆÛ»Wc{‡\ðí_±ïÀvŒ,4ZÅàÁ +2ÙU…€¬CuÁ÷`¢º NEa´‹ ÝÞ!Ð"œwÖ‘ }þß8hBïPyˆ²wAZ;HÎ1l;;ЀݤÛ]2ÛÿúÈMLrýs|s—5±Ú÷I4‡Ê3iyoå 2-¡,“”eÅ—õ Ùðo.Z¶7Þ8y8u¨ðÙbeÌn„ŠWtK%ÔìDZÛvÝ’M‰8Åj¹„K¦b‹TÜj©Ìjb=§êZÕd"ŽH¤Rª,g­’e#¤©¸<·è8Ž[¦ØV‹Ï4KV2O$RAu©PT*Å’å84J< ¯èÙvÕ¤;ÀÊEÄš^ÉI&Ræ‰”Š¶ãU+UB¤TtªŽãi@Rቔ‹&’¢2%‚øÄölG£‹«"‘JÙ‰ @^É*ëéðDªØf™âŠ:Ü2ªûwy"ÕbÙ-WJ%FÄ*WÊž³õx"–Y,—쪿A¯X*»ŽŸô*V±b£òKŒŠcºeWC»Xµ*ÓeTÌrÙÕ¡2¨ÈÖ)>;ª°R [£2Ø,)ÈØVѬX¨¯Sµ QsD26î^ÛvRŒÈ¸"¤æ¤+Óõ6"ã‰dÜ"ËIÇzˆLI$ƒŒˆU®2Í­)ˆLY$SBi*•r)•H"2™LUÆ´R©D¦*’)#rM³’JU!2‘L¥è–±¢I¥6™®H¦Z´,Dz«i48¢Ò“©”J%ÏqSDFP¶ƒÒ8V¹ì¥³lˆÎ@¦ã™Ž]-¥³³ˆÎP¦ƒ*ã¹N:£ß³÷D•!¹úºèÅŽ:tåÁõ…8Ò–NOÔâXL[Wx¢®‡…ÚšË5…8BÕÖ£ž¨'ı²®R÷D%!ŽÚµ-ŒçIÁ >‚ mïÃkGä}”§ö`ßêx¼ÝBBXßÞ¥TMºeÏÓâm'ÍP†ÏZ_\\}Öj]ý¿2î÷—ôó1ªÝ»Hlp šŸu`¼K#8Á¼`ÜA|„®6UdÏc˜ô`Â󤟠ûÛ `EíÒ ™ê(ðL-ž‹ ê|¿0wKÎ{맪Utݧ:}½èºèÔQù`]2îÁ{’pâÓøŸ‚|隃°äT¦g°’ö&ö5¾âmÐï@¯&«À a}‡î=…U ãœæ>dµïÒ}ŠÜFyÕÀ'‚=£»Ïƒ7<™ãÎ D¿F°OrÚá)MÍôu¨aŒï ´Çt5rË×ÔEÚÏÇè›XJƒ+ãÇHý6èšIhX@ƒÕg2Zöêã ùõ!}y}7îm²¾óî’Þ%o—9‚Ú<{ê)€[ôK Î×Å; VaÕæ< Âà ¢gŸQצ«2Ù{¼7Ñ6÷àI?’ ÖQO¨ãö%”JàO[{ê#´èœ¸;­(‰«£ÏixdX­ðÚŸcx2‚t#À9¨³$íHÙ êpåŸB:¼l­méWÞ—1¦y, +j<þ¹ ÏE È?w๨™ ‹½{75öAGõ‚N¯3m²O±æmÖ{Œ:ï°·&u¡Dò©éh7$…¬÷£ëHÀ™€¬¨ä†B;dmü Åùäö¥ žÂXÝxlÏà.³ ×ÉveõÇøO›Zw²ãIÏÆß$ÿ‚F ÜBÎÂ\ƒyJFçèÌQŸOn¿‚¿xÔD8‘XŠ íGô9K·‚ʾgàwL èÚëÿI®˜,ßõ}¤çTÏžHÏVŒs*.¿)?çtï Ôûœ}ö5Ôö jKÎgèÓ릟š¤ýöó÷@i=At •MžáÑϹ_öÜ»ç¸b«Ø&;©§ujü¥¢^@ÿkÐ9DÏñõ!'qá½4þ Î W׆Œ^˜!µÁ«ÿ¯ñ?áΟQpÊݥ˥¿¢wÅ>«û;„ž*ûeˆžëõË:ôËOà¼èSª™ø”ryräÛB¦õÎ4ñçËøáÿ~ŸAm¿¬1¦Çd 'ôK‡êeÒcDîÑ~$é‡p¯gü/¡ÎäÔÝ왉®5‘¬>ì}ÀñŠÐËĶÏB¯'›tÔLrÑz|Óôæ6زNY-ƒ#¨“NÖ}_…y°ž§`ÏzàUt¡$’ŠôǬóM/U_ ¥Œ8ZI”ՏޏvRaÚ‚3›O€ÏÔ2BøW­×ÎPn=¼ñéOÀ?åñî@° áM¼ù3àà3‡´KWŽxÄÅrdzaïDJ¬ªÖ¥zŸÃïŽñPÒôÂgà»uè^ìëßžÕÀÚüWæÿ6ÿ3úûÐþÞŸ˜ÿ¨ù–ùÓá_™[©Ð+˜Û|l>“tKÁüCó/Í'wš¿þ^uÿ™Jæ¿3ÿ¹ùóÕá_¤Âd6Ž=kqô–Å%q‡Óm\B”OÂîÅ#ºbŒéß'oØ9¶’çã×h$ºaˆñVy,6ÙˆôºDy>ŠÅ<£þ^ðN&qÊË"ކ=߀O`†‰Ìêˆ~m“¦<£ÑUú;¯–¢vkê#ô ø_­OøZn‚ &Õ0:Õ”åé´‚/Y·Õiêî™àT1²Æ×D?WÚúˆèêÔE/GÚz‘¦ùR‰µÌ³qiãË´l8þ£Ûã¼Ü]øû1,= vᎿ¸Ï<}¿CGf/¹,¯`‘Mlw.© a4DN湃Z~ý ZÄÊcQ&VÞZƒÓk‘ÆHž@ tæní“3è³;†i|bØ´T\‹ˆ cÖiïÜQ”}îkÚû†nÔ [Õ—0 ðÏìt†Xo‰ÛþÜ.ÍBé™Wb¢;bäÿHq_Š÷ã»6ºŽò%>†¿ò—HNV×’ôù}#j«VžÍŸìB­0ªXRÎB¸>äJ%«ä[\ –É)z\Š+ã’›å‡W€Ã%wçIƒœÿ”Ë¿…PƸ¨Ûn=ün[rµéÕ¡WWÈ—}†AädR3OÒ$fDßM:cú®Œ`¸„Ü¿ë£ÄÒ^F¤½”ÒG¤taîs±Ùù6ÈÉ%ûÕ"BÖ ²„¬„"-t*¥×AÉÊ„’ƒ?RQ²g€’- d§DÉŽEé.’Q1mz¤ìLüäÌ)G@ÊI!qN ”œL(9™øÉJ®€’›ÈOwáTE1Gú(¥-$oˆÄë7 Tëï‡×g¢{¿í÷Ex–<è¬% ëZii¬÷O§JÝš)u{¦Ô©S÷×õr”õ‡SçÖ4 ô‰Ï7)unmuˆ:]c­ô(ɺ«3I2åñ«K]ô£}qú;HÍâ²_+ÆäXúä1£^…Ñ‹;’:ñmRùåbšÓP6?u죨îÃÐV1‡Ç&02Áéaüùõöþ!6ò$§b=ý’òÇÐèlQ\§1½sX}“B¯wÆlGÀM€»)lhÀQ&7:‹¦t”§@‰œ={ ½}¸Žài›Ò'#3±•2µckò–ë¨Z©d&šÖy t´Z(MÏIFÑòOÚÕÖjKx;dUApÿV ¸;²´ñRVCŸgÈçaœ|GhÝGZ×»|Ž?‡.Ž›üVH&>•äPŸú48ÕÍšjݧÂÇa~™„“u©éñ²,ן“¯›îdÒ•¤;ÓÉC\½ɽÓÔÃóä]kª¼;itn¹ìÁtuîtíÁtmÕtìÁ4ýšéZƒùz6Ó•©I쵄ö`ÕX^›°üžùì¹×^‹09ÊbV—Ú&,—UÈG ³«›f–1N“ØÞria{©µ°µ”Z8÷ÍçÉÍóÕÂz”æ§…u<ü›æ—σwÝ\gÒÄÓª]î_?n¾®šx™£$¹_ŒïxK'™ÏÈòæÅI–Ë.äú,äj9fS§g–Õ&ä:¾SZ›°|Q›iÇE^›f!W7Í&,kÔ&'à;å¥ÓÄÓž'|¢6¹w>knŽkã´V½ëhþl¡¤\#ØepÊáxôúyy&Ýy6ÞŒÛOÞÎ#ïž »£û=ýn߀²5Ê–’²=ʶ’²3ÊŽ‚ò‰6Γ®Ž—¬Û¦IçúÒ§ô÷Ìݧ|Š÷d®’ø›¾LêOñ"%±]ÙÓ,ÉŽ(ÉžzIŽ€ž3eôT{ìÄ6M«$Õ~» M—€93 Y?¦; F­/Ÿ#½Ú÷w GË•xzET9Û9gã•B‰ç2ÌNGO¯Œhm=½2¢õöôÊPipy?ú¤e¸Ê2xM; ­-—øPhS°4È©ZÓ¹5!¥ISÊ%n¥,‘Ä#.5J´hJ¹Ä¾B’’éLÒÆ¾B®¦ƒªYbXÊâè¸Ú%z‘%†e.¹uJ,G–¨‘‘ÓñÛ^!­Ív>¯îíÀ¹P}zÚNŸž¶Ó§§íàðç®ñüâHå*¿Ióü–ÏUŸR:*V$ KAÃRr‘­ a Û§aù4le/©h8 '†Þ‘|¢ñÐø!’e’ÿ¡qJùÔ çEÑx,Ð`t?6ôö?óþ¥j×6îÓ=ežôï+znþv)ù§â¹ó]Ÿ<œµf*O`¶”wmå]G8Ísoj¸cüjäÉ…ätrççèÎ%ò\ð)c'°üwÑG¬=Žê˜ÀÕA)WÜ÷ƒí='ÈáZmSG¼œ\ßÃTteŸ<º¾ÙèÆÉ^Rk§#—Ñ2¢Ç«QR’.·,':2%%òÜÑå٤ċ»G¿aäÓÌ"ÏB‰‰+GG¦dÞ¿«lÓÔÞ§^[ü¼ªlëôÊŸŸ/—ý™L¶&±@“HVî]«¢/aê}ÓÓ¶$“x[“Ù‘Éü-•†·$i$DmMlmk¢£ÉyÞŸµ&OâßY[²ió9¡*Zgó°2Ç<ø’çóPÅ&‹y¨â “Å<&¥ŽydiuóÈfÝÅ+œÞÒ;J‚HÔMô9¯gÌcV\e‡o/Oî©Ú3òTÕt“sä1ëè©®fŠ&ÞU¶ìõðW§ÉíËe…®gäãúGÞõ,Äëcy²EÞÕ{åòxÉMˆ¼Ë2µ:cý¿Ì‘÷,|N¨Î'^bgŽ—ðïIZd¼$M,B/^’&£/ICQ/^’Ôê<^’ͺ»scºñû†zª×3^rý=U5ŸÍŠ'÷T=a…·®ìe+Cß‚«÷ëåñ’ÜSÜS•edÖ‘šyñùrÙŸë)ɽ¢éZ•Å[õ)[yÌã:DÞÓÊÔ¼cî²\ÌÚ’M›Ï ÕùÄ<œÌ1g1I×_èí‹™,æ1)E½}1yÌc6Ö]Þg9-‹^ö½†èç†úœ×3æqý׈,Ž—'÷TK3òTÕt“sä1›è©.z5ó2yªÓäóå²?×3æqýcî³¶?³²9³Œ¹§·?êóHÉMˆ¹/z_æ2Åܳð9¡:æ¾Ëãaö$_»Âi#ó·Z“ëUq7!;™‡|'§ãàï^b©“ì.ggùïND©ø|°ìºëœ͟߇#!Áóì;˜ÝëzÖ{–œrGqj;wéÜ[5út™Ø£“ìdÉn‹²ûj“X¡Ù­¦žÄsÄ*g÷[³Fù1}<Õ¸Î}³ôÀä–C÷ÉV,ÏZ LÂùzyu×JÌ’÷'ë•mµ5mküj×EÛÖYØI[8¡·“ØI;d'gïo‰|2ÉzÉë¦g·®àæi¦h«lO¤™²F2'-÷úöý´}Óùz³Ôg¼Žu:։б³[Áwó¼óYÉcÖˆÒ,õÀd}¯òŒMÏ(~MÌ¢=#½™†y{.“¬z¸n:{vóo7CcéyÎÌ4Dz÷Áìã ÓµéNB|ÑIeÓ'› »¾½žm„LÖáÕŠdîFÿý]“¼›&ÚºNú^š¾q,ð‚º”c@÷[—‹iŸ…¨õ´¨‰uÞõi«iòï‰À4ñ»!ð›Šðªá.x¸Ô`_CŸþûûFdrЖjI<Ì'çÀ#à¼"MwA%¬ šâ8é d ·÷1ÖÏQ®WÀ¯Áû Î`Îñ9ú} ¿øÕļwvFëÆÖGó+ˆ|AÌã}ˆdüP:§ÛF%=.(àšüjDÄ­·æQËß+—¿W.¯\þ^¹×ë½rMÐúØj¿Dµ×'ûæbµ$ywÛ¤”Uol[¤þÕíáIJVqÀ¼5Pò©v8"5=Ë~#Ø©õlʵ"˵gZ®Y®3Órˆr_úZxzåŠ%\æÓ”)Û–p©GœeíKqÎ¥° Õ{ {~Š+”ÿSD{ð—èÛ9²VáÔ}xŽíÖ'@•÷«Äwéêʨž>§£ "O?ð˰fP†%•aÏ  [*ÙAW+Ç¥£Ôû”cîR¹kˆï%')Ù~Ésšâi(e0²-Hzç¹ÄS¡$òœ¥àï_©bNCŠšQP½}nø6ÈG,@º7®€–c˜¾¥fñ€=ú¿’H`‘޶ jQ÷îf|D˜¤ºK1ùTȤ¶¸ÔÄåS_J#vÖ£w}|å>] =™žVF<Õh¼ ¡!cg ØÉH«û*7¥ËôŸJžW©¡’1y´(JZO² ÉR¦Z-–2k©¥Ìž‰”Y©¤,‰Sâ¥Ì õgøÉüðt&–2;•”%i¨,RfûxÚ±RfK¾BØjªm]@÷nˆŽ(‘Œj¸¼$ÙT­6 ˦½Ô²éÎÁ¦ã/]Ù\õñ’M{xzS¶€éôÚtdÓññt”þ¥Ã!îp2Éd)J"XË褴Œª-aés–ZúJs°Œé|(]ÿsÕÇ7Êÿt€gyÊ–1ïžÎÿ "Ô÷‡Þ_ÒÏǨv¬Žê•a:Ÿˆ¾Á|æ%H£“Zu¦÷áë¸h¼’p$õ¼‚×ͽ­‹Ûß§«:€ ŽTt!ÅKôw2tñ‘…8éø®)ûô¾ ÷m:sžó`ÔPÁW’·Àåfó| ïpóògÆO@~ù{Ïa~™P'¾£kC]±å§¾ôS_r©?RÊÈ=hq}Îà[¨xΕã Ö:ß§sú(™ õ È %B¿AëɯáµÁ &bE¡†êñu,¨ïé±ÛÊ£sú¶kFYýÀcE(Az&›é°Òkésƒ¬nz$ü:¤ë+ȤG¯ÈY¹sˆßîùV imXØ÷AËÈú²n„Ð$+BNŒ'»sà,Òn‚:ö—^ èºrŠ¥»è®Å¶ ì(ÚÁ¼¡ÎÆCb‰?N¨‘:>^Ã×¥•X—ߤq]Ž`UÚ™oëIyÌó ìþ+Î`i.¥4—Š4§0_ýŽN{(¥=T¤ ¸Œù%ìwtÚC)íaH6Ãr¢òCÈ·°L¼¢×KÊù¯èUÖ2ó@YE)Œ¯ŠVY­0¦á¹{µ¥d\IN©Àk±^x]Ú3Xg5¤2¹ßïÁZ¬pï Ÿû`›^¡¾éDh™cTGzc$ÈîÆMdeÙ}ˆ¹â?D¹Dy#÷±ä+¼ŽiËïÀìÂÉâoÇÔ£dwˆ7y,”Éã<‹ãA¦ÝðšÈ&èâg<:b]ý X‰OÀ|˜HG­„àµkxîê¹ïo°qXÚQ¡8ݱ›Ÿ#ºl]Ù1ç,F,ê’x %kj~'„:ÒÁh¦·Éú£Ë¨ñß×ò8)*~¨Ês)ŒâÅøkÔsºíVÕ÷Ud}_Eâr‰KüˆPn÷ħ«¨¾õùõq85Yû³ôðl8[ÍÅz=¬ËÅÉ=|ÉõðÓ…ôðäíæðpËÒ:Ÿ>žœ‹'éã ÝË!ÅY´XMÕdzÕÔ“[£lšZmÁ1ud»Ÿ_Ó7Tûvâ¼4ÿ|š5ð£¢w—ð1²IWSµP­×œ—ÏÄJl…PëTsÏ Õ£‚Ç CÈqîÇ ˜w¸fà,Ô w¨ßüU}cƒûá»â3R—´±Nœs"wä/¡k å­ÒÈùeѬ«Ü/ö<[],©õ–ðmUQ*+S¬áª_G3bÊ ¥rBóõéHŒ’Mœlú#iËK[ͶÁF]m4Nc¤4eˆ{ÎâGx®bLǤÐßó3þ¬Õ:»úÖhîûÿ®àÍ*©ƉÕÚÚ`Ĭ°}Å­z½ô¿‹ûçØLÌ}¨ùÇ¡Ïϧ¢+FœÄ²}é饔Ô×ôsÆíý#íúm)¯¥™÷®“k¬îÂ3l×(¶-/ ¼$¶ˆŸTít{îÛÓøZ3~2¡Lü>Š;þ=báá©>a² ¼EÎ×À<˜vvTæBfWMi/mQ5ì!íǨ~%”ö.ÔícØwWÐò¤„Ë)— ÷1/1Ó)Á•p9åäýULFÂñ;yr8å¡òR‘RŽã1šd6‡ð@t.™>ËuÊe)ëoqe‘¾ŠÎu(äºôs]*s…Ûe)°²”má×S^cÌK ;VÞS|f,ÓÌübmQ?õ×Ó“Ùr¬glÔï¦áQ½×Ëq ½7B¿±­Þ¸¨]Za*³ÓD£¸:Ÿ$æ|‘c²G8M­¢ë¸è>éëñx·ýèâj×4‡WVÑ4]×ôÆ»¦5¼2Ñņ‹e’‹…“8%üA¿È3=[­ºE×.;–ƒ~£D«–c!™‹n tÖx¼Þh]\­7ÚWvÖÑ·hº׫ŒñO{¼Þ>!zûµ½³+ã— kÜn7з_‘ÕñÇW›‰‹Ùyrmt™/¶[]R*+жªÅªgyNR‰8ãõÙG]ð=A2c0Bœ÷ª¼€9°Ìå;³o²„qt‰³j²‹ ó“M*àzÀ®%Öàµx¦(ðôׯ@¦Jþûb»~qÜzÐܸ¸z°ÿ3âƒýC¸´Ð/ÄžZ‡äº¾3ºKðʱ¸ðÁÆ&ý`ãsü1>ú‡~m]\¡¿_ ¿ãýV ê×Z×qccÛl®ªã/š»#Tz½¹Î]š?Ú]¹¶Su»Vu 7I›ÍñÃí êö­í6ÂÀ77[ëjiÜl`êµë¸ø¿qcgçâªÖ@Ö×Ú’·‘Ø3#Ÿ¬ÀôÆÛ{»èþmtÿÝ߯û–;ÐUƒqsc·­¶¶´×PAe\ÛØF×vQåè‚nwƵÖ&$jÕqj­-øUÛ!—Ïá²¾G lÖáw³ ië€O­Þ„˹Ùj ´½q­M¶ õv‹²Kè‘Ëö®å®•9ÞØ·pu6ömLfcßKÝ´ÑÅ&_Æؼ¦ ž49)£?)BÖõGˆqO <ÐóI¸Çº™ùÇšk¶ü 3!ÿÈ¥á ct›b´†ðÁæ 1Í3ã)ÅêmŠU€a:¸Þ<%—àÏñ©¸>¦€c‹õ'”1› d„\‚KrÇ­Æ—¤W[-ô¥×E7öI3Z­}¸‘Ãw(†mŸãCæ÷“ø ™r£ÅiU)”v·—Ê^…@ ÷g¦]Õó= æ:x"GຟB˜ê©qI]á˜/yf<‹Ó¢R‹¼W]µo™®ZlͱõL‚$èŒä°£-¹vEK§b,«Ÿ»x.÷ t•An0%‡ÂŒ3—vFe§YV€~„ä¯l>r=Õ•xkH!2 F½8AÅl‘Ì[ 9œ°6Å8Sͨ0où‚šU@›èiô$–ÍK=U>›®Q Ÿ½I1zˆ£ƒJtÊ‹INGœ_†³ øØ ǧըíߪ…”þ;>^OÁ§ÇÃO„œÄMët­Û1ÂPGÝS¼,»§DLRøå^z–rK²ÅÌé»Ú¶3»P¢m¯C€Ä¦&=’ PþxÍàQ*$‡®†å2ˉý M }ÝFŸdú8bøZÌÁʸ%ì F–ø%ìK35Äo‰ƒ‹4ð‚ÍHN;§Æw@=œ\-Mà&ÂÕ f²ÑˆÇ,‹ƒ¬Vжë ÷ìô2î»ÇžM #êag ´U£ÏxöP€nŇެZÀ¶4ËØLšÁ!cìCGí õR`P¢‰–c«Ð*´J­e¢ñ—îPelcš[)p|Ë÷Vð)±ñ1’ A±JPCÑœE— HXL £×!8Ú18z& Ti J‘¤ŒW¢œWr£À$w80‘Ó™Ž)ÛHÒ!ÂFе¸RÏ{V³%36ÔÝ©ë?00 à È&oiˆíIfÏ æ§ ÿÄp÷D[è•Q„%WYÃUÑ(} Di{]¼¸åZâdÏ §6L’>¿¶89SÇiÅÇ 0}>ÇÀpœ«öÜŒƒ4jLI 1 4&ÆÔ„æ=% ÑÙ˜ôì#êzsþ³/qÊÈ#y!o"•½£×‹„Ñë²Î0P”Ř<“G`ê˜:¦ŽÒ÷¯äU0xyÒ5 f:…ùð]úm`œê¸bi\ËèL6˜ÊA~j‘S;Ô­¨*Äù's Ñ‘xì¶è—#¡‹Œö!l‰G@Л¦àÈ’qSÈ‘U #ð¢nD¼3Sìô¡b¹Ã­_Šb49þÖSI$ŽZGª­`Œž!˜43>ãýú ’„=Uˆ$U)ð|KpóO¦;ç®9‘%™Æ9ˆ©Æ‘ëM Ö>ž2 Ýò‡ç§tJ’wÕɺ8f’`r¤¡% ±P0th`ii„3ð]ð°(Xv…Œ}`¤³6`¾R‰Œ|\|…pb"†r>ƒ-Føì§v¨Wo#:Ê›¤8’35ÓëPm jÏ–âk}#"†;a„‰X—ÀZ¡¸V°½ ¶GíUäñ:þÒd_'ü/,ÀÔhÒ1i³ÉBœ­p¸NÕ,H7ø¾üRˆÎG?vÞ5"VâR¿Ï%Ø# °‡«W@š ¨DŒ8½I_Þ[>¼çSÁ‹QÎtü6©Í[X¾:þ'i Q³b}Û‚•rÑà–Ütà2ଡ#ídMñu ™.ÇÐÓ¿åŒúWËLÑÐÞ°#­ pº]Aýº*õËà”õ„GÇqÈ¡«¸è‚D¡šÐV“ªfúm •*™p°›¯§`Wü.ê†AߢêçÉ3GŸãÆ~)|‘Q+Yad~E… ¬F?¡«°wDO$J˜ä˜.fÓõ›¦ˆ3óë°çì™/º|JÕp†-‘.f'}`!…ƒ©ob´€9Åú/l[°ç‰Ÿ´ÈURf®ø ðêò-îé»é©V›IÞ'Ud‡Y 9êÔõäW› €ò¾K|HÏÐ!S“ÀƒÒ„†^ôFZ·ç«õ8xŠ1%7ú>¸LMK*‘ôç̃‰6ˆU°/Í}Îl›ÄšHLª±Þ¤‘]Qñ) Ma6gä°y_O`õ˜ÒQÍdGÉ~:Ó Ê‡Ô{ŠÞã°£¢ÎpsÒšEm‚dT΂üÉ6y…$Ó—Mêa?3Ž%}I¶ÅaË&2×* -Ï%–D ;) ,)ùPéÔ©ß,^ ãBQaÚ” áêÀ•Ho‰Š¯>hŒáÈ$IüpÅQ ­´LRm]L}ïôm«®›), óq±·«°ÐøPÉžø~Þ¯“û>”`­ËÔX— ‡2HA·ÈÐ0°žñÖE´ÐZëÓø’”3»ÊÉPi$­´.Q‰¨2â LÊŠ0bŽØ r€ :Cýpæ–¿AAtŒ ËÛÊ:ûht†4Žèâˆ"VQ„"ôÂfvE Þ"6: N·œÐ8ð¸9/ãS½­G 2+™çzJc TÊК+d·}æ)=®é"/½—a+es°ôgý±ŠSJ¿(9‚I£¾-æ:o…]ç$è>ômîìúH;Í ž!œœõ`=97ÏÐQzÓŒùt"±²%V2óhšþdAØÑà}tÿ^IÛO§!Àž~V°šl4ØòTÉž’ø2ÄkóÙyï3æÁÐJJGɄՊ8Ù5TZ õü¡´À·§V*PãÓ\Ô‹áãØ„]QË1Ë¥tÜú®?r~C™§pœÕYbÄÌšÞ‚¸8;]Qn‘Ãqq;Í L×ÿ¦&!ø‡à+â R‘C ¦Øìêãè&¥3Ïà±²†‚ D¯¬X‹|àû¦_Ô™ÄM$²œw)Ï&õÂwi/|3^=XýzFÂäe#¾‚I¯NÈV*]ÆVj‘±%o Bma]’ÊuhŒÈ¡¡ut]B»‡·o Ú9B0z‹›*«ˆ3eØß×w6.®êüICè–äFÜ"Ò!tÇÌiCGD>¡ÝQ'€Ô‰n¨ê›ÀÅõ&œ™Ro6ɳ-ry„/ã:?Š#¢Ç>à›T%þÉAä“lU²I•Ðå_£á¸-6ѧÜxÎMùœùº¸G×|ÁqR_!=Âf/ê¾@Àï­âÛèûƒ>‚¥NŽX1á¿1÷Èbèù+øÙ!~fNNÇÊH‚=ÂÿÕùWCº§b±ÝÐ~¹ßš½0+ñO²õ›CúÍÉû-M¿½GûM|ý‚Ø{ïù}¤Js ‘&[vHvòMÓ£·|IÄsØ—áÇ5Cnž€=;ˆy–­ç\ÒsnÞsYdQ|ÅK’Euš4iWËÊ»4M—¾UÖÏ ‡4ÄÏîDÜÏÖ]é./ï­,½Õ0ȻמJ½Ü?ˆ¸Ÿ­·Ê¤·Êyoeé­: Ò÷ñ`½Ü?ˆ¸Ÿ­·*¤·*yo¥é­wiomú§yŸKÎÉ»´T)SdëË*éËjÞ—iúò-Ú—5˜L=ó§X‡þ‰§¾ÔÉw³õSôS/ï§4ý´âî°¬ Òò€žU!S`òLð®Px[pöä°KiIU›ªS5«Rkí {êÚø#>u}0º^×éZâÓ{ÈŽTç–ý¬ýþ(A¨˜øî¬ëWýE±Á;><§Ñ`|¤ðq+¨ßæbî  *lw䇥q¤È˜Åʘ³ ‘Fƒ¢ ÃË[÷E1Sµx2÷,æ:7öéæÐ'É^]5;^5¢q垪c& ³(˜Ûä;K•óiâj¥Eô:ø•™ú€¿Î³I_¬ÜƒÅæþ8:IFmÓé…¼dŸÉ­nµlu£˜Ü¸C׋`òRgÐ3­(&¶äiÉèRWQLq‹2w*;z–8Ô n$ñ64^òá(•d‡•Cg,£$G ÐÿÚ£½%®þ¢x a«1úˆ®õ噀Î4‚¿›õ‹«Í:7¯9€¶aQ3V‹5ô÷N”aóbNÇ8oâWMn¬oâ?ŸÃHyÞ´KB%ÛHŠÈè=úwcý ”ê[4Œ2¹¼ïywᘱmcƒæùuãÊ(ÃÓ’a¡iØÆ*úÞCwlx¿¹…º ŸõRA÷Êè‰I߆ŠS–Ñ_ =Á¿ÆB©+A¶q‰-3-ñ— SHy‹Kùö&OiÚoà ©ßåR³ÅK§D¯øyʆ'åÙDTŸ <øàò~Ô§d†?¢NïÂi6O &ÁÞ¢vùÎüŽã6œ¶x†FŸQéå‚“7èñMX!Âpú&ô†ŒU˯!—Þ‘Z¾‚jsžÑ ¡ÞçRî¢Ìsz`ò|*–Ë’r‘íOO‚Os½eü „ÿrŽXî{°·þ% °c)è‡ò¯ ü&÷qŒ¡„åŒ÷ã) ¹Lá pD,ªús¹¥œä-ó}h…*'Ws »Múr/Ä%Hò; sImsD xù%ꉮñ;DÊiÞ7Pm±vÒ5èµsŸpÞy$g|Èv§Ò”§‘+ç\ñsÊr-§ü „ÄW¨þuè…„»Nioì£2ŽώO>‰?E÷xÍv€Òï‘¡´”w8[àt.¨èÚy…jç/Aö¾De<É5t®¡g®¡\Cç:×ÐúVXCv®£s=síæ::×ѹŽNãhÂNˆÜƒÎµóìµ³—kç\;çÚ9EŒ£‰PÃåa™Ë5t®¡g­¡K¹†Î5t®¡54ô·©†n!Úì/’VÑä޹ÎÎuö¬u¶ëì\gç:;…WÍéì\CçzæZÖµ¹†Î5ô묡œüZ®¼³rí¼Ú9_y—kç›®îœD;¿~+ïr ½ :_y—kè\Cëhè×qå]®£—AGç+ïrëè41Ž×cå]®—A;ç+ïríœkç41Ž×gå]®¡—ACç+ïr kh ¯¼Ëuörèì|å]®³sÆ«~}VÞåz4t¾ò.×й†4ôJ…ùŸëOÿôw¢¡ƒs» ©æ«­;H¿U }úˆ^e*Ú:ž‹eìHÞÝ-!wÒ:k>-9X1Ð.®¤ø´Q¦¯©ñ=œ·†ñLtûÆ|X_SëÔ’¤Y’õ¼BVWSDqúløÐªù& Þ(-.^åQ/`ö{ eôqQúì\˜6^å)ô`¯ {¨*nÉÂ{ ÔŒ"þ„80™‹ºFõdýÅÞã¼N<ÆE8:…yhŽô;Nuæ½>J?ž’Imçkð×P[k¨Œ!Ô€h¼Ç¨¬SÐzØ›z‰~ŸûõÃ2ùµ_ÒÐöþ+P}ÃèH|ô Ôv‘‹Þ6úš1®7ÐÓx ´¯À%·'÷‘‡ñJ(pÊ^ª»þz¶ãkø³ |µƒ‹žaÄav±PŸº¡ÑH…òE´Ö?}ô{ˆÕ¹ðET›E r†ž# þÝcj‰£ßOŒn¤7.æyJ½~1×7Q›½]îƒ>×,é].½~)+è9Æáý•é[š­D޾âZäÒo}tIQ­/En=O_lý­b°ÒEùÜQÈ9Uõ{OBR‰ï+‘Ð)íp9òˆQH× ¯ãR×NÆ1¨¡˜OU¿whÄ—öž‹ä’n HÈeX³²©´ôwQ©§~ úìÆ=ÙïÏlÓ¤…±öí‚¿GüÁ*ÂÊØv9’4Ý Q:»Šœ:æÒÜ–²žD]'×¢xå÷½EÿhÎ#>ð„ þVF¹ˆ:V¥‘汎™„(Ìq$~z#2£w¾…xì9Dg0Ç]rÑ69å Â}ÚÔ0³gªú+]Ÿ¯ ;XÏ^WOG |-à,PµWÔéàÝ€¼=3F »gã èƒFûâêÑÎ:~Eã!¹Œƒ{¶ç‘»øË8DG¤¦Ióv`y§J÷fǦJuQíCc ÚrápÌóp .kåép{ßçv{é¸]§ý"§>¥}Ÿl¥°Ï¦©“óY§·¦·QŽ#Hëf%>QÇ¿Å}oò»62‹m°…åUˆ¾õ’b\Ì¢%‹‹-]ìWøñyfI#¶™ð–.2¡jo•È£yT"JÌ?*ñÒdxßâÀ×ÇÐq6ÛÃX QÔ5Dù9ޝgÐÎØ*:è/ö¨: {èêÂ,¯=˜‡Ò[Å2íœÜúÅôÊ-hç -'kf²Dð‡°RÈ„þêC˜· æMè <6_¬T·xèËŸy$Ø¿³àm¡gCÐC®?cÂFÞËä—­\Æ+ì7J½ u¯´K‹¶½Äh«Ú»Ü?0 z½€‘Ýf' ~ͦ㋛¾/î,]/$·ž¯Ã/ƒ½æS3«} ~]fy_ø+m¾ZT]ý)-¤×߃~c‘€É{ÜC=VK]Bˆ”Àª éø× B|Ø‚U¬.À«Z±çWCŽϦÇã[>£¾<õc®|ž«ª’ŸùË‘y£WÈkœФ|‹ã1Ó}¬XIC4° ô+À x¶ÉNÀ>^èƒ/â‚6‚ô÷æÄ q-Ÿ='|Û׸|‘äøÚ7B"/|'2÷Oеc s"ßÀz6n_xGüñ¸ J÷°a Pòc¬6Øa¼¿­ úkŒÌ uA aNɆ¨,öüçÁÑ­ž=|€Ò²Óöþ‡Êœº=ÿ]'u kÊOü½âÝô½ÞkŽGx-,[} á±Ey¡v_nëVz½c©ªÐë]mW…^Çÿ†v>ãnößD^À;Nž*d¤ÆÖ~±5Ÿ °xŽXç°^}óÓ0Ìv}_¢3Øõáç^…1Zà½t@£àÝE%X_c‚-1éΑŒýDÞúpAÓÜò‰c³ZQšgÙ[$»ÄÅ=7ì¹=¨öæ½þrÞ;ÃÅÝWÓ?GNÞǨ³7Ü’r$í Ç£át»%Ã;tòýálÖ;ßþ:îŸÇþÈoEìÅUëbvj×`ö,×Ãêa9Ï2èa™ïr-œká›§…+ÚZx§#ZxÜXk_\ÕÖwFWCú߸N~u;]¯jk _O¯@üé1òºÉHoäx~=Áºëĺÿ 8¾Òˆ%fVZ@àu’4J&§g'467ö»W渶¶7‚Kktå *ãÚÆöèÊ×vwQÑÝîŒk­MHÔª®Pu[[p©íÀÍÚçpYߣ6ëð»Ù†Dõ¹4áæ¹ÙjŒ®ª¥q­]ƒ»mB½Ý"…ìzä²½ÖE9öp­Ìñƾ5ºª ‹Élì;p©[¸Æu›\|×L߆Hòã`¿;Eô îÎAèŧNêX'­ªãÊÙè´£ÞÜ€$Í&y¶E.ðeÜ~T»¸b=Æ'ãÝÖçW(MÅoÑk»õ%¢g¢/Û¨ÖííÑUyØw‡m?ªO‡ÐxóQãâª¾ÛÆõ[ßJ7v %5”ýØ#÷š„H£Mïã>XkìK 7zmm~­mÀ¥…È PÊ œáÁñYãG£+_[äç>¹4pþõm|ù¬…ÓtÐu“ülcrŸµjìNÝÕ{ÐÚÁ÷vZø²A.;-èõÖ.ζ¹ÞÂÙ;lá_;-øµÕFÚj“ Âb,¬/á ËÇêPÅG»PÿvÈ¡œøòhXp³þ0Æ{»îÅú3º*á2$‹\Lé‚®uœ±7† 2d›{ëøÚ^ j7BḢèáîʰ»·¥öÎp`¬atÀ•( C¸½ 6¶wÈ'ý5z€ ™$,AØ¡SŸ. 0!쀧–ËtŠq“]6L6Wa{Jî´vÜ;‡ôµC¤¹>€‹9hü©ã¸ƒ¨]ä„õ´d—ôÑî:pÊÆ6ôÃú–ÄMLnýsüxsð Ùðoæ}xÀj\Þ°ñK=ƒCÔÌñ&BëpˆÄŘoÁrìSz”¾É-|²bÒÙšéœÈto ÀÅ%ß„Í4åjV$µº±/’‰8¥°ÛÃÇãíÂúö¬.iÒÝ0ø "¼£¦ÊðYë‹‹«ÏZ­³«¿óWÆ=ãcãþ’~>Fµ{‰ ®cAó³ŒwiÇþŒ;€ÐÕ¦ lgë“Lxžôt¬¨]Z!Såž©Ås±AÏà׿nÉ‘§ýTµŠ®ã¢ûT§¯]:ê!,âÃ=xON|„õSï!]sVƒ8õ –ÝľÆWü¯ ú½ÈàevdÉd!¬ïн§°ª¡`œÓ¤/Ï oâñƽM–»Ã]Ò»äå6GP²:HÝ#p‹‚~iÁq{x±ð*lÑgA8¢¼Aôì3êÚ`9'{E9ã¦3Úæ<éGrÁ:ªó •bܾ£„R üArO}„‚Ò`Íu%q«Ü9m «^ûs OFn8õb–¤);AΠüSH‡×”u -âÊû2Æ4tEÇ?·á¹¨ùç<5"“a±wï¦Æ>èñ¨^Ðéu¦Mö)öѼÍzQç½öÒ¦.”H^M4Í↤õ~t= 8Ѐ퓀ÜPh‡¬?¡8ŸƒÜ¾ 4ƒáAÀS˜«íÜe6á:Ù®¬þÿiSëN¶èÙø›äàCЄ[È1\˜k0OÉèÜýƒ9êà)ÂíWðš'K¤ýˆ>géVPÙ÷ üÚ´ݬyâ?éÑ“ãû £¾ôœêÙéÙŠqN¥3Ðå÷!åçœî=z¿€ã…¾†ÚžAmÉ¡'}zÝôS“´_ÃQ=ÐDZOÝHe“gxôsî—½÷îÁ‹1°Ul“Í=ÔÓ:5þRQ¯ ÿ5è¢çøúïp^Ǻ«kCF/L‹ÚàÕŠÿ×øŸpçϨ 8 åîÒµÌ_Ñ»bŸÕýíâO•ý2DÏõúeúå'plþ)ÕŠÌG|J9‡<9òm!Ózgšøóe|ð¿Ï ¶_ÖÓc²†ú¥Cõ2é1"÷h?’ôC¸×3þ—Pgò“l®5‘¬>ltÆñŠÐËĶÏB¯'›tÔLrÑz|Óôæ6زNY-ƒ#¨“NÖ}_…y°ž§`ÏzàUt¡$’ŠôǬóM/U_ ¥Œ8ZI”ՏޏvRaÚ‚—àœŸ©e„ð¯Z¯¡ÜzxoÁÚýŽ„w‚„ oâÍŸŸ<Œ ]ºrÄ#.–#Ó sx'RbU=°.Õû~wŒÿƒj”¦>ß­C·-”Xÿô¬Öæ¿2ÿ·ùŸÑ߇æð÷þÄüGÍ·ÌŸÿÊÜJ…^ÁüÛæcó™¤[ æši>i¼ÓüõðªûÏôP2ÿùÏÍŸ® ÿ"&ëà‘2D°…n¯“m‘Dsõ}k-óåH«ÖÁþßÞŸ7ßêuÿg¿÷'zõVö÷‚d- ÿ¤¸÷ç÷ß?þ§_ý÷½#h)°ùûßœþÆßzBdÚ;æêÜ×GØœëÚ¼ÞÊž±÷Îßûéð/~{2l0 Ì3t¸üÃÿ6ø×?ýO°ùÚ1ˆ´_dj´þçÿâ¾÷³?øÙï…?þÖÿxô§þïýµäç?ûC=$þà{ÿñ¿Bå¿þÂ(ü[ãOÏÿè{ÿæ‡ÐÑÂãGÿÒD5yþÇo§Bc“Zó8í~"à!FÔô=#ìó±q¬èY‹£·,ž(‰;œFhëä¢|v/ÑcL¯ø>yÒ ´•<¿F#Ñ CŒ·Êc±ÉF¤×m$ÊóyT,æõ÷‚Wg‰£P^q4ì ðøäx3LdVGôk›4åƨÒß~µµ[ƒT¡OÀÿj}Â×rd0©†Ñ©î¤,O§|ɺ­NS‡pÏ`ˆ‘5¾&ú¹ÒÖGDW§.z9ÒÖƒŒì0Í—J¬ežK_v eÃñÝçåîÂ÷Øaé± wüÅ x¦à èû:2{aÝÇxy‹lb»sIe¨£!rŒÅÔò{è_Ð"V‹2±òîÐü˜^‹4Fòb «0wCh¿@˜œAŸÝ1Lãæ¥âZì@d#°N{玢ìs_ÓÞ7t£fت¾„Q€À… 3ÄxKÜöç&piJϼÝ#ÿŸ@ŠûR¼ßµÑÝp”?(ñ1ü•?¸DrÈ«º–¤ÏïQóX=°òlþdj…QÅ’rÂõ!W*Y5 §ØâRX°¬HNÑãR\¯Üô(?¼.¹;—Häü§\þ-„2ÆEÝvèõP=ÈÕ¦W‡^]!_ö‘“IÍ7â%©¢âGÎߤԹµÕ!êtµÒ£$ë®Î$É”Ç ¬v,uÑöÅéï 5‹7Ê~­“cé“ÇŒzF/jìHêÄ·Iå—‹iNCiØüÔ±¢º@[Å›\Àȧ?†ñ[xä×CØk¾ØÈ“qŽõôKÊGt8@£³uDqÆôÎa=ô=NBu¾ÞE³7=îz¤°¡G™Üè,šÒ!P:œ%rPã)ôöà:‚§mJŸŒÌÄVÊÔŽ}¬á5Ì‘µRÉL4­ó:éhµPšž?’Œ¢åK©­1Ô–8ðvȪ‚àþ ¬.pwdi㥬†>ÏÏÃ8ùŽÐº´8.®wù\7ù­L|*É¡>õip«›5ÕºN…Ãü2 'ëRÓãeY.®?'_7Ýɤ+Iw¦“‡¸z-’{§©‡çÉ»ÖTywÒèÜrÙƒéêÜéÚƒéÚªéØƒiú5Óµóõl¦+S“Øk íÁª±¼6aù=óÙs¯½4a>r”Å"¬.µMX.«f!W7Í*,cœ&!°9¼åÒÂöRkak)µpî›Ï“›ç«…õ(ÍO ëxø7Í/Ÿﺹ&Τ‰§U»Ü¾~Ü|]5ñ2GIr¿ßñ–&N2Ÿ‘åÍ‹“,—]È=ôYÈÕr̦NÏ.,«MÈ=t|§´46aù¢6ÓŽ‹¼6!+ÌB®nšMXÖ¨M>NÀwÊK§‰§=Oø:Dmrï|ÖÜׯi­z×ÑüÙ"BI¹F°Ëà”Ã=ðèõó*òLºól½·Ÿ"þ¼œGÞ=AvÿF÷{úݾek ”-%e{ ”m%eg ”åmœ'].Y·M“Îõ¥Oéï™»OùïÉ\$ñ7}™Ôß?wŸâEJb»²§Y’Q’=õ’=gÊè©ö؉mšVIªývA›.=rf@²~LwŒZ_>Gzµï+ñôЍr¶ rÎÆ+….Ïe˜Žž^ÑÚzzeDëíé•¡Òàò~ôIËp•eðšvZ[.ñ¡Ð¦`/hSµ¦sÿjBJ“¦”KÜJY"‰G\j”hÑ”r‰}…$%Ó™¤}…\MU;²Ä°”ÅÑqµKô"K Ë\r?ê”XŽ,Q5"#§â·½BZ›í|^ÝÛs¡úô´>=m§OOÛÁ-àÏ]ãùÅ‘Ê!T~“æù-Ÿ«>¥tT4¬H–‚†¥ä"[AöOÃòiØÊ^RÑp$N ¼#ù8Dã¡ñC$Ë$ÿCã”ò©AÎ=Š¢ñX Áè~lèíæýKÕ®mܧ#zÊ<éßWôÜ&üíRòOÅsç»>y>8kÍTžÀl)ïÚÊ»ŽpšçÞÔpÇøÕÈ“ Éé(äÎÏÑKä¹àSÆN`7øï¢X{Õ1«ƒR®¸ï+Û{Nõڦx¦’= ŸdÔT%ʲž!õ §’±>ï…O S´BWWSP´§NÑ™J«Ç¡þHŽéL3¢.S×¹ï·U/gÛ#ìª\äCBmLc¥Õt±ýÈF·`Üõµ™X‘(9棭[–þUEnU1Úø¼â™‡iòòqYu6 WÆóV6Ž”Ëb¹x›s}x9¹¾‡©èÊ>yt}³Ñ“½¤ÖNG.£eDW£¤$]nYNtd,JJä¹+¢Ë?†3I‰w~Ã>ȧ™%Dž…"WŽŽLɼWÙ¦;©½O½¶†yyUÙÖé•?/>_.û3™lMb&‘¬Ü+ºVE_ÂÔû¦§mI&ñ¶&³#“ù[* oIÒHˆÚšØÚÖDG“ó¼?kMžÄ¿³¶dÓæsBUµÎ&æaeŽyð'$Ï+桊'LóPÅ&‹yLJ1óÈÒê<æ‘ͺ‹3 :V8½¥w”‘¨›ès^ϘǬ¸2Êß$^žÜSµg䩪é&çÈc×ÑS]ÍM¼«lÙëá¯N“Û—Ë ]ÏÈÇõ¼ëYˆ×Çòd‹¼«÷Êåñ’›y—ejuÆú™#ïYøœPO¼ÄÎ/áß“´ÈxIšX„^¼$MF/^’†¢^¼$©Õy¼$›uwç0Æt#â%ö õT¯g¼äú{ªj>›ÿNî©z o]ÙËV†¾Wï×Ëã%¹§:¹§*ËȬ#5óâóå²?×3R’{EÓµ*‹·$êS¶ò˜Çuˆ¼§•©yÇÜe¹˜µ%›6Ÿªó‰y8™cÎb“®¿ÐÛ3YÌcRŠzûbò˜Çl¬»¼ÏrZ½ì{ Ñ3Î õ9¯gÌãú¯Y/Oî©–f䩪é&çÈc7ÑS]ôjæeòT§ÉçËe®gÌãúÇÜgmfesfsOoÔ'æ‘’›s_ô¾ÌeйgásBuÌ}—ÇÃìI0¾v…ÓFæoµ&׫ânBv2ùNNÇÁß½ÄR'Ù]ÎÎò!߈Rñù`Ùu×=8 š?¿GB‚çÙw0-º×õ¬÷,9åŽâÔ$vîÒ¸·jôé2±G'ÙÉ’Ýe÷Õ&±B³[M=‰ç:‰UÎî·fòc.úx«qû ;?féÉ-‡.î“­Xžµ˜„óõòꮕ˜%ïOÖ*ÛjkÚÖøÕ®‹¶­³°“¶pB!o'-°“vÈNÎÞßùd’õ’×MÎn]ÁÍÓLÑVÙžH3edNZîõíûiû¦óõf©Ïxë(t¬¡cg·‚ïæy糒Ǭ¥YêÉú^å9šžQüš˜E{Fz3 óö\&YõpÝtöìæßn†ÆÒó œ™iŽeïƒÙǦkÓ„ø¢“ʦO6v3|{=Û:; ™¬«ÉÜþû»&y7M´uô½4}ãXàu)Ç€(î¶.Ó> QëiQë¼ëÓVÓäßiâwCà7áUÃ]ðp©Á¾†>ý%ö!öÈ:ä -Ô’x4˜OÎGÀyEšî‚JX4ÅpÒÈn îc¬5ž£\¯€_?‚÷œÁœãsôû~ñ«‰yïìŒÖ­æWÿù‚˜Çÿ&úÉø¡t*O·Jz\PÀ5ùÕˆˆ[oÍ£–¿W.¯\þ^¹ü½r¯×{åš õ±Õ~‰j®OþöÍÅjIòî¶I)«ÞضHý«ÛÓ”¬â€ykþ äSípDjz–!üF°SëÙ”kE–kÏ´\;²\g¦å:å¾ôµðôÊ-J¸Ì§3(S¶-áR8Ë&Ú3–âœKaª÷öüW(ÿ§ˆ&öà/Ñ·sd­Â©ûðÛ­O€*ïW‰ïþÒÕ•Q=}NGDž~à—aÍ  K*ÞA¶T†3ƒ2® VŽKG©÷)ÇÜ¥2r×ßKNR²ý’ç4ÅÓPÊ`d[ôÏr‰§BIä9KÁß¿4 R Äœ,†5£ zûÜ ðmX€to \-)Æ0}KÍâ{ô9~;%‘À"mÔ¢îÝÌøˆ0Iu—bò©/Hmq©‰˧¾”Fì¬GïúøÊ}ºz2?<­ŒxªÑxBCÆÎ°“‘V÷U8n$J—%è?•<¯RC%còhQ”´žd’¥LµZ8,eÖRK™=)³RIY§ÄK™êÏð“ùáéL,ev*)KÒPY¤Ìöñ´c¥Ì–|…°ÕTÛº€îÝQ"ÕpyI²©Zm–M{©eÓƒLÇ_º²¹êã%›öðô¦lÓéµéȦããé(ýK‡CÜád’ÉR”D:±–ÑIiU+ZÂÒç,µô•æ`ÓùPºþçªo”ÿé,Ïò”-c:ß=ÿD¨ï!½¿¤ŸQíXÕ+Ãt>}?‚ùÌKF1&µêLïÃ×qÑx%áHêy$¯›{Z·¿OW-t©èBŠ—èïdèâ# qÒ%ð]Röé}îÛtæ"<çÁ¨3 ‚¯$oËÍæ=øÞáæåÏŒŸ€üò÷žÃü2¡N|)F׆ºbËN}é§¾äR¤”‘{Ðâ>úœÁ·P!ñþ+Ç1¬ tþ¾Oçô P2AêA5J„~ƒÖ“_Ã!j‚AMÄ,ŠB ÕãëX:QßÓc!·•Gç ômÖ$ŒþuÇÚÓÈ t¥ªÒý‚~«øV$Z'îJ%Ø\SÊ(›RV§~8JC£6\ÔäÒlWûß;žYïúµy‡kAdcg<3ö<ì±ÇQöƒ:V„iŒðÒ6W«åz:b”Ýt¯•â<¿‚rîµR\q*7ÁýÛ«bX”f¯}Ø3Êÿ¡¼ÂI!Ïì)» jõ›F]¬—þÖFŸðš<Õ5L‡ðksñ„ÖVÒ®Â]žëvéß-à¬NݯQy‰òò5Ž´àåOÌJs=Ñ“+¿rÞŸ)ë “0‰¦Ô¹”åjØØ€°¥–Éu‰,WÃÆllÙ¦m'®u½³mb–?“\ógùÓô2/1Ê.LöøºpÙ#ëÂe©}vïž)¥VÒ·Tˆ\¬Lä¥}À<«~nóBkEý+s±léôQŸqnšlÞWx™!ðè¡4šíö1n¢Ì²SÜsß@+ÝÞ¨^X~™á5Ì{¾§ °ÅoÙ0_QÊZM5šêx”ŸÍÓAéÝDNä-úZgè-w±¸)©3”é©Õ›î‰sõ9yùè²*>RemÆIUû‡®6‰Åëû¯U1ævûíâwVÉï¬r\’Êq™šýÞ=­¿ˆýådlï@mÖÿu$¼Ívkñr^V‹K8Q$üû'‘ðæý¯Öp[Ʀµ¾ŒŒ7×âMd\öû¿aÅëx±U˜É±[:¤3òÖ¨˜[J]šhº¤÷H=tÝtóé|®¥>yHSü?Šý¢Žf¸¦VG¼‰o˜|ºE߯!tpÕÓQS å¼êwi³îaß!ìðw °‡ÈÛÞƒ;Ô¼¿§ì3Ƴ^ïÞ}‰‘Õôã&OâæÜ¼†Ví@sw=UI°ÁOê'-Þj.¢øjÆäF÷¨÷Š•  @3Ä]•x¶6ýæî»lŒq5Å]uÙ…úÔ ü*…Ïu>XÎÅxD!Ž ÿa¿™Xéçîâ»iZT…gñ4=¿ì¸ŸnCQ^uÓ+ö3`zNC å€Ï, CA²!\7E«6¡ Âtó-¼„Á¥¨v§©E/ëܶ§içú^(~ç:ÆG%0‡NÓ32ýþ1þ@‹6h}§Ä:íKñüAé{ Ñiß B×Ñ9ŽGt&Ù¿ÌW²3¾mkBSxœ]NË‚0ìÍßðƒàÊÆ­¨¼± WMš˜Íþ»- ç2“™ÍÈ*5XÔ|DŸZà=êfº‰Lcîé(”F? ¨ÎŽ›ëhÒÒ¶ô‚ BÒL«r°ñµGp’od¬göd/¶e>Éf 9ØÏ]“WÎÈA²\ö\L›fú[xiílÏ££ýƒTs1öH ûQ‰lÄH‚اE‡ÑÐÿtìö«ã(S‰AZð§¦_Y íX µmkBTúÎÊþWºxœí‘Û8 FSHI!)$¤’FRHn›wóî HÉY¯Ûx3žÕꇤ¢úùs†a†a†a†axI¾ÿþÛïÇÿ»'UŽ{—áÙùðáÃo¿¯_¿þª÷Ú¾gýW9ª Ãû¼Ïâöð–þ¹»¶ŽÕo'®GW {>~üØÖÕJþîÿlúôé×ßoß¾ýüòåËú¢öµ¯ò)*/Îåç‘Ný\®ÚϱÚoù“v[iZ_Õ±aÏJÎþ/:ùþüù×6õOÿ-¹” 92b?çTþÈ™×þlôkÎ%?·Úåöìä_2òø¯èäÏ1äBµ ‘sµ÷YäÇ5à>¾:†>Êc=1ìÙÉÿ¬þOùwï èyä^«- ×Ú¶,ýÌXÉßzèû•žuÃÐsMù#×’U]ë>H_÷˜ÀyøY’Çvº!Û‰õŒå_mÄi ÿRuâþs´]ÍXœm§_gû)YYÞ)úmæ]×y,—²¬mÚ z†1Éêša†a†axEÇß“G°×§ÿóo/ïYòÝú\êkº6õ®x„ËèíjÏægHð–ö¾»–÷óüÏØñ|†yž÷u¾Ä.½•üÿ†þó\þô³aÏæŽM&ýwéÛÃäké#Ïú$?Î]ùMço¤Œ\ýȾ,Û/íßÚ¥—ò·âQÛ@Êß~6s?)}‰Î,¹ l¾ìçœô ØgX #ìvçQç´“ög·Ú ÷Bž™òîìÙ™^Êßuô¨ã®ÿuh½à¾m?Ž}{]ŒÐ.~È}Ðv_÷ÿJ;ëxçoÌgJöëôY]’Þ³ë@¶é.ì«)™áoqC–ü¿“?}ß>@ÇûXŸÀÎߘò'-üäÓÉÿ(½W‘?Ïöú›²±¼‹ôÅÛçúÞéô‰Û ºÅºvþÆ”¿ÏëäOœÊ™ôRþœ×ùÃþvì[K?[A}¥?-ýwöíåµÔmÑÕ‘ý}¿g\=ö€c¿¶}ñ³M¾‹ ½ÃüÃgggÓêüàÖ èÇ„çÜÀô-B^ëók_g?Ìò ¯F?œ£³« ÿ•Ý×v0||ØŽÐØ=ǧH¿PÆîÛgçsì·ã/ÇhØ‘ñI ÇtýÜ~×{‘òçún^§}¶ïZæøºyDžë—óÏì·ó5èˆéÿçXÉ¥ÿWvðô¥§O)í"û±c0ÎËvYà“ØÅ ÿçZòï|~à¹_%/Ï,Îôp\€ËɹyΰçZò/ÐÉé;/x†ÖáÎsõü_é·9?ÿ«PÌܯ5Ý»\í[½ãy|ÞÙÃçõÄ8ÔÏÝøŸgäû¿ËʱL{ä? Ã0 Ã0 ç_àk3¾Àç†>´’ãøŸÛÜÆøzä«Éø_ƒüÇøü\Sþã |<®)ÿb|ÅÊç7¾Àa†a†axn.µ•të†a?lÄ÷^Cã•ßvk­¬Ø½#®àýÜ~eûî)ÿ´3<3^×Û¶¹Âkð¬dlùcÁ&·jK+›œåo"eòú<.ãÊž`›Áê^(3zÌòÏöèu ŸÁ¦lÛ+6»úßv´î›<™†×ï‡ ¾k7]ÿ/lÓc[`ýOÚöùÐn}½×çòš„«ï ‘GÊß뎱š×Äzt¸^vßä2)?;WmÆrõ5üoäcö³ŸþIzì?ú¾˜‘Oî÷zx÷Œ{¹&ØÇ!û…e¹z.þ©ü»ýüÓÔÅ"ѯÑí¤ô ¹Ý1üÖóäÁñGg×ÿí{+Ò·’×lûw<ý=}GݽìÚFƨ^ú)õ¶ìzIpäG¿•ü ¯ãKì¬ÖœÎ{Í{ÙÉßeÈï ûšG•‘12éÇÛ­¯Ïq¯§™iumf—“>¿.¿ÕþÝ}¬®Íëòœ®~žaì? Ã0 Ã0 °š[u´¿›+ð7øSvq¬ÃïìæÖ­öyÎ…ç ½?Þ‚‘}¶¡åœXùçwíŶ‘ÚvÌ?ßå°ß©ð÷DðÿùZÛ“ð-q/–?ß³ñ=¿ê<ËÌ~¶Œ›‡#ýßÙæ­ÿÙæ»>¶ÓÙFkÿŒÛ"qþøz°r­¿Qèo 9ÆÄr¦,øˆî­§nÍY[;í§oæ:)@¸-`×§-Ø7‹ü({α߯›SÒí§Ýú»@¯ÂµåßõŸKäï9èîüÖ ¿É¸“>:ŸnÁ3éç _[ÿ_*ëmt°cmìÃC>äq¤ÿSþ´L“øÇ<²?ç=÷çÝ<ò¼6Ç;ùãÇ«ôsü÷èþÜa†a†a†{àxËŒ™\ÅÞŠÝûêpxç¶?0׋¼#ÿ5žßàøzæÇÑ™ƒc¿]¦³²¡x^úêl‡ò¼ •ÐÇ(×fù±ÿ:~Ÿ¦ËÓÙ£^l iÅnç59¯³©žWÇÏ~·\;Û?vþnŽ—í»öç’6eÌr¥ßÑý¿óUbS~vù§þ£^¹÷U O7O(é|;+ùSÏéGôü4|?Øfí´ÿÐ÷¶*?ÇrŽ—÷W~Ï2ÏoÅNþ–ÙŸÊ¥ÿSþ9ÿ×~dŽa«ç˜çòîÖ‡ÜÉßmH‹6öìmÀXÿ[ÿÝJþ…ý~Îs.ãÚyœÑÿmƒ4Ù¶OÜíï|Bÿ­düžò÷ø/çøÙ˜þÁb5þÛÉ¿ÈyþÝøïUä? Ã0 Ã0 Ã0 Ã0 Ã0 Ã0 Ã0¼.ÄP—~þ*ÖÎ1@G\⟿äÜKÊðÞßrKXÿ˜µs2â±(ߥò纎Jëì·º8”ŽŒ'>â’X@â–¼ÎQ¬ûQýb£àÚqôŽòwx‰ ìb÷)“¿ëî¸_ÊK|•‘vÎ ÞÜ1çŽÕM¼6keŸe-2Ç›ïú5ùŸ9—ó?K^ŽEº¤~‰9òϱQï±®Y®×F¹8–ëN?å~;:=J<—ïÛßþ¡-ìtñºÄ’yNAÞÇég»þCþŽ \áûNýâXÊKê—s)'é^Kÿg\~âç2}›6í}Ô³¿·áï)¹Ün]O»ûrÞ^Ì÷³j‡~†"·î{pæ¹âù29w€6”Õ/Ð.Ÿz-ví:û+ýÇÿ£ó²M{ÞW—ýûJY¹¯Z÷­Êêµ¢`%·Œ íÒ¤l9…¼ç•íž¶™Õ¯Ï#OÏUz+èÁUÿ?;îýùsŽçÜdš~vñàN·›‡Dç7*.Yç«+v:Óye;ôø8Ë}¦~éÿÝ|…·²+ÑޅNþ9£àÝÀ}•{BÆž#t¯é˜×xîãÕ­sXÉ¿k¯ŒS¬Ví›ü/Õç»uJ=oê Gý¿ð<‹Õ»L'ÿ£²óL¬ò:äD]²6Üj¬f™ògL˜ëz/¯+ؽ[{Ž™ßºrðÝCôM®Y×q¦~áè[»{y‹¼£®òÍy cÈzA¿§Þô»ô‘Þ;Óîwï„«±€Ç9—¬zÉszW¿”ûH®œóìóV‡ax3ÿ ‚ú à¿%£×mkBTúÎÊþ’xœí‘) …ˆq ĉ8âDÈ^éê>×»gI@ÏÏþX¯jjg»iЃž——Á`0 ƒÁ`0 ƒÁà?üúõëåçÏŸ|â:÷ªçâs¥¬eø÷ÁÿQéùŠþ3|ÿþýåÓ§O|â:÷2|ùòåßÏ.¾}ûö;ï°7eôûGFÔû´ž•žOõ¿6Ñþ®ö_õQúv•¦“×íßù]Tò¬ä]½^¥Ë®gí¼{>pjç«zëìåkßu¹´o{šyªþ¯yeõŽûŸ?þ÷{è-Òýøñã÷½x†º¨/ D:½é3Dþž&òˆ¼¹e«^H×õyê i#/OGôzüϪÿÇ߯_¿þ~î :ûsMeÑò#M”Ï3YŸ#=÷2û» QžÛ›ÇßЙ¦‰ïŒ[\s=Eó8´}E>¤GÈ©éTîø  Ú²Ê×Tªg-Ÿñ}×þú̬üVfÖÿé¼Ìþêo¨SVwìzV}Ñ.âƒ/Ð>¨~Ê!?÷UýùÏËßÿï1¸Åþè<ú#õîä¥þ•ý}âÀ¶Ø=þF[ þ÷~†¬ôQÚ‹Bó¡N™.ð·.+푹^edÔç½üLo+[\Å-ö§k»ïä döW‡ïÍú(}Ýýê6îqÝý$¾#³?zÐ6–éBÓ©ÍiÈïöÇ?òLüåÍ7®!ã3ìO_Q}Пuõïêoßš™é[ú=ž¥tk¥È‹ûøMÀÿ‘Æï!'}/õƇdºÐr2ùÉ_ÇCú‡ÿﲨü:—©ôéº ƒÁ`0 :8÷—ÝÍòoÁ=¸„+8-ó4}ÅÛžÂcåÄ¥XÏdq{bUþêÙŸÖq˜Â©Î®è¸âmï!«Æ¶«g*ΪòU\z·ü[ù´GAåÖ=^§+ruñü{µëLVåÕüþ çU¥?)ÿV>­Ò“ó†Î)úçx…|œYé¬ÒÆ»giôãœ\ÅyiÜ^cæUúÓòoáÓ*=£ À³Âó!óÊþÄíT•³ÓY¥µ?rfògþÿÊšûWœ—sÖʽVÙnùÔõ*ŸVÙîXù#å=ÿÌFÈÜýªÏ«’—+[¡«àFô~ÅyH«\L—~·ü[ù´ÎOÒ‡£Œhô5žÝµ¿ŽžöT§ö¿êoà”w¯|Sf®ûÜÁÓŸ”+ŸÖé)³·Î;´ìÌFå³´;:x ûëØÉÇ÷â)/ˆOSÎ y²ëUú“òoáÓ2ÞÎeÊ)Ve3'w®”ç‘gGg™Ž=ïJþ®^ƒÁ`0 ƒÁ ľˆùœ‚u k˜U,ªKsÛþçØ‘5€nYæ®,÷çbXw{ ⬿wÖ&Ýúõ™û3®Q×”øN¬ðQev× ]¨¯Æ·ºö¯gcH¯úËžçîi½÷Š{î—ôÌA¦3žéôIó8†Çh³òwòÊdÌÒu×wËÈô¸ƒUI÷äWçq”ƒð8­îÕ×çI£>+—£ñ@åì”p™ôQÅŸáóÈGcþZ—ªüò\ƪÌêú޼ÄUƬìß·]ÌÒù/ø:íÿèÊÏ3dç;É«:gB9ÈRÈôï|GW~•—î×w«2«ë;òfz†áŸt|éø+—i5þ«Ünÿ€žá«ÎŸgºZÍY|<õ1NyŬ|E7þkúªÌêú޼÷°?õ®Öÿz/k›Ü×>ä<šÏÿ=Α}NŸÍå»Î…ùžü>åuåWy­d¬Ê¬®¯Òdz ƒÁ`0 *èÜ\?W8ÀG£’Ë×ÏâY»ûÌÕ:‚ýÒÏDg«öc¾g<‹ Ìö2+²¸€îÙÕýÿ'ëWµ±6½žqnØŸ{žrèuç"w¸<ÒTkôÎ.™ô\ r¤•¾nåOàûïÕ>Uì˜~c‡#T?£ñ+®ëžyöï{¼QùÂ,,^qF/XÅûv8º.Ö©gá×3}íȸâOPùì ~n%ãhUÞG4§çø(_û…sn|W}Tg&x^cëô“,Fíý…¶Çù°ÃÑ­¸ò«ôµ+㊠<ÁÊÿ#+}/ãUw8BÎRh_ÏÊïäÑ|»33!m–r\7U9Œmêß({ÅÑp™¾veÜåwÐé[û¬úx¯ëG¨ïµÌú¿Žß]ÿß±?g;õ,çnßÒ½Úow8º]®³Òוþ¯Ïßb÷ÿÈîã?úÇOVé¼=ù¸ZÙ_óÎÆÿû£#¿veü?áèv¹ÎN_WÆÿ³Žªõ¿rÞYL€ëÚo;Žù°ŸÎ1³g²9pV^•Gµ~>™[_áèv¸NO·S÷Ÿ3 ƒÁ`0¼ÀçèÚïQ¸’·¾[ãï¾×ØÀ veO\k^8Ö”¨v<ëZbzº¯²Û\ŽáOìp¥Ž¯b¾n$~ð}¬¾Çoèz•3ñј mKã è«ãvUÆÎþ]^»i´NºÞå¸WAö»#´÷xŽë”«é‘æjßÊtÄõì q ³:£¿ÏE=Ð z%Ö…ßqù)CcñÕYµEÅÑí¤q™´®ÊyRGý-¡+u (K\ûh¬PÓ'¥Ü*^Ø¡²¿^¯ì¯ñqÚ=m=y|KóòøvÅ«eü‰Û\ý˜rÈŠ4µŸÇ=Ž›ñ{Wê¸úÝ1Òûû;=Ý·åòxÚëpû;o@>ú›”ȘéT\ÔŽý+C±“=*ï™É«|˜¿GðJO¸CÊåW]ù–xŽ1.³™ïµ 9_EŸÐ±©â ½ýVýqÇþõÊã)vÒ(ç¨ã Ê‘}Ïì¿[Gåñùw¨œŸîǺÛôã{-âƒoô½ÜSdו_ËžïÎ׃Êþø2åÔ;iT&Ÿw*ßÎwú‡·™“:Ôº§ÇÇg×­¶“SþO¡ãsÌìÞjÝêºï%Z[~_˯déÖ®·¤ñ²+œÖñô¹Ìw]Ùÿ7 ƒÁ`0ø» ë]ÏÜkÙíIŒu¾+e§L]«ïÎÖ‚ïoA^ç°î;=GR¡³?œév쯱Ö;<÷ôy‚· o$Nî1ç´ˆ=:ߥPîVãžuŸ£<´Ç <&«ü¿ê3K«yC©¸/ù4–£rÇ)i=µþ*/|ÎŽ^]ËQ¹NÐ1qŽG¹¥w>ù{å•á ?ÓKvÏå:A¶þó}E:·ÈÎ_«n+{ÑþuÿÃ=ì¯ó¿êÜr ³›÷qÍ“¾Ì³]>>ÿËdÑ}+½øüÏå|L¼…õâàõ0öÿ»1üþ`0 î…lý·Še€·ô®ùŽg:…®×ºñ¶Šž`W×÷,3ËOã?«½‘]—¾\9ûPø×î~Í[°£kOÿûWùiìGc~Æ)ãÄ-<žw¦¼.ý3qÌ}•ãž'vªuðw$V±’¬n“Ñváò(²r²ºÂÿ¸®5Žï2©½ˆS;W¸‹ÊÿkŒ_ÏKÑÏ”ó­8B/ÝÁhùèEÏÕ —'‹9êw?K;Òx:òxðº<–ì|@¶Ûc³ÄϽ®‡§ùVúàyâÆ»c÷ÿ@Û–ŽSwÍ8B•òq®Ãîÿ]û£=é2ôlBÓe6V}eö÷¹ˆž­«òRý(·ØéÃËáÞ VþßeÊöZT¡ë„4Ýûïad¢­e2Þ’ý+nñYöÏæøBõ—ºŸTq„®Sü×ÿ»þß”é<›Ãïø­[&Ï=üfÿŽ[|†ÿ÷õ÷s°zîPç)GèåèÙÁª}{Z×…Î3«³™n7ÅjþpûWó¿Îwfåtöï¸E¿wÏùß[ǽ×;ƒ÷…±ÿ`l? ƒÁ`0 ƒÁ`0 ƒÁ`ð÷á{ÑÙûô‘Á~ÿ¬ö½³ÇÒßi`oLöy„>uo©Ãßi\q‰ìKó|}ÿïÒû7žÉSvu9ÍG÷íñ©ì¯¿c¾#öÙé>·,Ïjoð­òw{õÕ†ú‡Öݲ‡Lûù=«mWèêòÈ2u_¤ö¬ÿ8د–åéŸjož?»Ú²kÞËDúøßß±¡öm¼†ýýwÔ>ôÃì#® }©ÛË×õ·E:¬ìOÛ¡O;<ÿ¬ÿsüy—›î¡Ô}›Ú›¾k‰}~úŒî±Õ|µM’†ï'8CTþ®¡¬o+¨[Wžú‚ÌöŒ½ø†U™ä©ïïQ™õýr'ö÷½î\ç­'ç’tœTY¸ÏwôŠÌz.Dó¥=¨ÜW|ÓÉ~q=_¡¾yª¾M»ÜñçÙÙÍÇ÷–¯äÇkþt§ïbS=2æû|¥Ò±Ïy´NÚ_}O¯îe×ù”摽ÛöàýðtLàœS6Ÿq`CÿíÌjfý´3–#Ëéܰ³?zÕ1 ÿéíHí¯þ]÷š“ç‰ýõ\"íWËÌÞ]åó¬ÊþüO;¾2'@¾ìã@~tGÎü:º«üªç{åÝuÊþê7m1‹è™Q]ßPWVç2ûS®Žåz]Ï¥zŸÒsý‘ÉÛ×3ÐÅ]vç‘îªÜÝxwÒžôÝ:Ú—>ÚyŠÁ`ð¡ñˆ$j¢ëw½ymkBTúÎÊþ¢6xœíš‰më0]HI!)$¤’FRˆ?6øc>>~Úsm£®+ŒvÁu…Õ‘øνYšuÌ8³´ú³uNÒ?¤WP>Ê1Js¤ŠWiVÿçü‘ý_uKðEÿ‰Ï¸ˆ/rœÌù£Âˆ_âšgK•W]×±ž™ÍEYòclÊó,[¦ŸTœYH»T¾Ïàÿ¶›ùÿíííðŽˆ}x¦÷ÇL#}A› ¼ÒâœöGüžVË7¼—‘^÷}>“iÒžº²-çøèþŸiæÿì;}žLJø°ìXí&ÇTÊP÷3ýTÞ#¯ôߨgÿ®ðJÖùl eäý'ï=ŠÖø?…͘oéçùn€í±aöëì›ô½|7ù>šý?ÇôU–%Ë;«ï¢­ü/ñmöµžN/èãI޵Ù÷fóQÖƒüz{Èñ<ÓdÌé6éd™nù;è¯ÚÊÿ¥²Q¾–mû{{÷5í$ýÀûiѦxæÿg<Æ$ò"Í^¾%=êü¯”RJ)¥žS—ÚçÍtïe/ùÖ”ë —°a};kú÷Ô_µöyµ?¬9ÔšÉlÍzÒÿ}m#¿óGßüKk!¬›ôók(Ë9êGüã1»¿”Þèz–×,­Q¿&îlÍiV濊ý²Üû#_Ö<òœöÂ3¹Îžm$÷^9g —{9&°w³&¼Û:Ë™ë‰uõfÖšúºR…÷:Ö½L+mWÇôW^£§Äz%÷I—½î¥2Ÿ£î—lo£þÏZ¶f?¾k4öW¼ÜÇ-è#¬ó­ ?V/ì—c^ÿ·!÷!{u̵ʴU¦ÙóÙ·ÿAœÑý‘ÿGe>G}þ?Åÿöþv✽Žø3ÿÉX~j½úœ—{øzT§ôA·O^ÏòʰÑ>÷³?syÊ|®¶ðßG)ŸP¦U{× °.ï».Tæç}6žÚ³‘-Æ×F`‡£Ãp]Åkß…~Ãóbà ¶ О$Áwݓٱ„ÁñÍ|süñCo•›ÝA+Õq3¶¾lOàx@á(é0ða¹¯+?÷  ÜT,¤_¯7¸s\ÛÞϘ^Bl1)üCó•Ò+ÔkÛ(îFyN"8õ–dPCÌ_9ÈÒ>O0&l«4¸Im+þîënwîÛGrŰø™à»ø)/tih“f˜õÕ Ñ¸X†>ÊʨËEËÅòã)–Ô<,é6ös4ÅáÀÖ5›zàbð?¤¢Jðàö\<OM%O#(7ä6à:§= ªêýÓ‹YA£÷ƒH ¶«L s6›ÎMƒXêÈùBcX&ǘJ½te».Êöü¨Ï 3.je(”Ï?Ô?õèÉLÚjï³=€ÝÚ%wƒZˆizFTxô„$¯kPö8›E·mòø jAO™ñÔ×úÞ€«ž>~þ’†åÜàØ†‘ºéB9úµâ † Ö¤8U­«KCÃv´jbëL èåçC¼ï€y¯¡ ç;¤mj P.Ô —øãïDkñÂêwþ¡UÿE€3ôܨÁ”‘•’8xëUÀ…JÊü¹s£‰ž\„³èÉŸŽ+;}s­FãQ(KI­î÷¦XÝ›„ƨ ¹1 Ëúþ+Kú¨èdXŒ];JÄ£Žïcˆx$§DÑ×·Þž¢X`i× ì¨ëÑ@lÌûrn°m$¨Æ^×9΄ïzBGÏž Q=Ænfäk„Dêö¬e; <¨ýøaÓü>,µâ¢ž›jÆïk‡0BŸ[p(õâ$¿º‡Ç ‘ÛöÌpý4 nËËq`”XÆ“ù úvϵöèÙ.xõHnŒûorŸJ¾€Ï5¬ñÁàÿHàu©‰ñê뇗 fà§ í××a앆‰[Z:><ÇM@J£9óý¬â$Óq]¡}=H… kÐþ3ÆÊºã¯ù鲺t¿Q“=‚, 7ÆÇµß»ýìêçs Ä>ã¢3ø¶ïÞÜ6[¦Ñg•¨— RLت¨ù­?·( &wÝ.7C#~B{‚]¯Ó ×â—UÔW² 7™Ò1jk~‚e”cG»¿rËÇùÐãDØ.=ôËK´ÜîëÅ@ÝWÝDZMû0å€ãûíèä¼0Î\Úòxó®vÏqßNZ¢ >#Æ ƒ„ŒàBE— ™¥)•‚º&yØA}tå?Bûê Yìm(ÂWIpáɱò€ñ ¸|½2—+èýà\2·ö íÞ)lÜ8·ÖtlÁ@Z.B½€£ï•eñ…‹ƒRSßôƃm>d˜Iéþlþôò'N a†dÄ¢G3¹%†¼#«)?è¼Ï$sß _5=²íYÇBR#-k"qGP-Ðeþ"çf­ÁÂá%Ö©-Ï“37êÐäÌÈ8ÔM9™ÏŠŠ,¬èä_*n;H‚ÁúÆEBƱ†Öcl¿~øÎî±ç Ë[ƒŽ/saŸg¸IE2å,zÒ1Út:’kLÆÓçÎÁ¡ÍíÈ™壋G)æÔ{7ÊoðËÅnd¨ø¤è·ðá•{@rõP˜>ÆkÂwŒk×½¾¡ #¸kXfy‘ÖEÇ÷šÈA©ÍBÂ9ÂuM°ÛÞ4P=¹_Ól’ÆgW®Ø‡ÝN•Õ#–_n™‡Gï¤pp ,Z…ÿUu›6È“÷ÃV¦›Ó°¸å0EK‘7*|·ý]¯{ü75F\éÔ¶»úzQØ z!á‚Ç uH€>îÿó¦upš²ÚöõTÙ£»o3P)ˆø´[à^Õ6ãÖÚóã` -šd&á*=¶%ÄÀÊfY’<¿^’ƒØ·`_6¨ßÈ|h¸Ìë3Ø¡>€„2 Pºúqÿ×7ÏŽ³ ýÕü,Ns¾j»F™=BµŠü` ¨í³•C§òöiŽU’)Ré@LÅßÒ®„‹ÿ‰·Ç§mb<2FH“Rq°²ùF½åãø÷Xºi䎲õOm¬GAýÝ·ôÒ}:¶*¾Ëu ÄfØ:@Ê«RH™.òÙ6Âñ¼±Ã6Žjå§cæGOpO- ú­6HÒýúÜÊKÉJæÛUÀÎì:ºJǃ¾ŠýÉvÆ,¡•¸¯3ÿ‹DìZ‹¹EñÊÆ®ÒqqðìØ7p?¸ƒÈŒÞK¬÷Å%ȧ$;â¼?ýQ¬r6³pP7`¼a™†¸é^=„„ýÉRç¶_†õ™³)m£„Ç>ÀD3#£ ¼_' çIþÂÉ­uÍ‹CÁÊ-Rne㯄³²Ïóss•ÀîLÏÌ<È­/µàR)|Lt_1»éòÁ¨L¿kÇ=‹rr 4ùìê§ü/gýšEÀrþÀ~P†¦nBß[ ®\g[{¡«‡’g£ãYÛvRŸW'†‡ {Fe°m1ïÞŒ{ Ýw¾LÿÕ;7¨&$‘çþxúcÚøÃÐ0Ÿ ŽžnÝö‰óí&úÚuÅ@5sCèCÕ±mœñ8Hƒãefñï¹Æt ’Îx{q(a¿²ÛÑ‚a¡?€ŽÐþQ“%ò§ÌlÁ¬ö4ô‚¤Ï‚xmWI׆€Gí¯¦CèÒôì1ê’Ûk×QÖýŒ3iJhÜ,Çÿ€úãú‰KºšRˆ÷ÅÄð¢ÄÂÈöÈO`úÈç…ʲ»†½þ4á)ú%ˆùÔb6îB8ý\ ³pµõšÉì«e<êºíS鹂ØìÚ+ÓjsðÄpŒ„¸ß%<&t{3?Œ£¬|N)p7b™Ôîãé?Ôa¤iäDµWl’¡½ðˆX—ŸÀZÚ>;uø)¤ko)#WáÈÍSšn®cR½xô”{[ÀsXv1¤¬95‰_¬¬0KéõÁжՙ7Ú>žTp¡5‡‹¸Ù´¤l3¥Sü"ØêLXê…ç«[á5mö¡ø º¿Q="u}ö‘ÆpϘ*xböÕ‰ºîã—ã#iM+³ù@»Z! þ·Ï®~jàÒY”ݬ‘¡´Ò$?5Š• mtêuˆ] ‡%Ž@Ž÷Ý…:4h8Ûƒ¸˜¡»tuì3À;ú ΑO¤1A/r‹¿¾™ ÆÏR*5ÀÇûÿËìiÜ&j#Y2:º$Z(a­dæ@ß>'z ž„×L¬¯³¬Û뇶©½6ZÑÀ8|`Æ6Ý"åŒX1ß_€z' îF-©÷»Ñû?°úX^ò A:?1¢;ØÌh/KžVB'õ üvOnÏFSò‚¼É õƤê°ïÌÞQ{=kh7™ÀMå¯ÀwXQùpü\vïÍ“ÎO/ÿ¶.ÅöÚñ¹ ôN3·ÍHKRðÉlŠK–"›qò”‰^Wܳh¼1wtùã  h@§¬Ñ3ðe6þN|–’¶Á©‹I;yîó?8t[ƒ[é!‘ ú¥µ$,ήL­·e–"z¦å%IÞ†AêkÜÌRäl!3uú8àÚyßë?_žWÅé½)ƒAbCÒõéõOù!rz¿„a¢¤5S±ÍnÖ—£³ˆ#Â<ý43yÜ6"ª ÒRýêÑô߃C‚Qå¿&>¸[¼# BHÍǽß{v¡eà×kOÃ×TÉlq(UHð͵h »Ý”8º,@t°µöÈÃÕ‚LÛ{p´•ü‰/Ø*ËL"d_y ïŸk,4î GÌ–ýÑbD>,ÁÏ.ok"ýD;†|7–[.µDÖCíAœŸä#‰iÇæélÿü¯‰ÏŸ¡IÖ¬ÐòâóÞD¿q½]+ÞeE •ò–_«-- ™ƒ¦ Ú°c©›³èç€^ø¿¥Lô˜q±1~ëCßC“ÿ”øžC“9¡ŽgNäóýÿû“õHÈ8Bkhêç«JÁŽ#Z¤-`úVo§™MËa 9r$îÕºZ-¼hókhò ?C“$· û^–ñtÄ÷¿9d(‘8PÝ…]Ú¶š£×w[¢wléÏ;µŒd•Ôn—׆ôoÎK«èdù H¦Þ„(Dú¯…¯Ÿ¡InüIÌ Mïãü_(ù¼ðœ’îð5)6H/öõÌYÍ1‡¸ ±QRæŒk,nËÖûXH½­ʉð‘ƒÊË?>ÿšdf“ç&6³üü½^EJ–m‹ªétÞÈ{¥C—µ›½ÌC¬c`½îÙ0Ê…v5ÃÂx<äƒó\9Y·Ýÿcáû×Ðä}1Ú06"×´!ÖóŸë9êdl:'– û1H"Áz'7ùQ‡q›„¹Ž¾¹ÉŒí#KâR.ò/C“»VÖÜgÇQ×Ȭ¨åéãó\ âì`¸·?dÜÛ1y³”åuMÛ6Ƶ8ZX]8Ãø^p…ªwQëE¾ç &­1frRšÁKiûñçÐ$G¤ÎÓðÔÝœÛÇЕŒ¯ðh3'À®Âø”·“Ç{¼±š;;Ö~F öKî37Ðkš–Ìu<pöµdÊŽåèˆ+C¨š¤™ Rá‘÷Mz¹Æç¿7)nÒ€©æöÔ lEGyÍl½‡:Ì‘ÿIÞí’o±BìÞÿ—S%|ë‚ÎЕïsTuÆleÁõ’bšA}A¸ëæížÍ´þ1ãý0ÀA{ÉKù“ʘÓº¼tjÑòÇÐdLI=rž ¢PRgóûÇó_Lb¸R³£é Åžël?«â”ž)!°Ö[«‰FÂæoÖç wi&k^”CV(t@püW2Ó÷²ó{hÒxH—GRn²͉ŒeCbúxÔ‰°ªé6GÁ³©÷‘¬Q…Öd27\ÌØ«dœS‘É=\»F§f*¼0é‘Û£ÜOPúÇ5(r„Zß™xQ‘Z>¥~G AeN-õãùÿjYôÜ7—Ò¾n;ún?Ó¹"P·¯xÒ}‡·•/àNäöÞW:ÝŠ&´—×¾†Ù:x" ꭥу;†ÄRç펔¹ ®cä›…Ñ™õ±ñÜýüýElmG§a= hò¨BG_æu…³×YnZì«­FYs ôUéµ"zM&Ë:ËÝGn¸Ïuí.õDX‰ƒÉ5XnšÁ¡ö›;Þ}¶Ô«%XO?½~2&ùÝØî¸Frjj¢¢…8ˆ› yAÊÆä*±W ¡³‰€©ÒIÒ˜÷“9/¹§u‚b)õZ³l:ë sá¼¹ 8²5ÀÀJõš>~ÿi´œÐó˜I¿þ3YÏÔ•;ç:#hEL¬×[ROd‹Ê^GéšAË©fß~Y!ýËÐäEåêñn·ôü0¯~Åà/«AÝò –Kåm÷‚±>^ÿÝWY¢q†"µ¥â<цFвÎë*c¹½:xÛw„|¤Ížw­—%ýehRg°åØúæÜæd¿9ç´üÌ•ªËÃvž3Àv Dg™hç>>?ÿò3é‰hŸYDkgCã(ʹƒªÔ•ô×SÉ·†¬Ôœ|è 2QÁü94©(ñ½?OG•Q34… fëcc³¶PopT€Yaƒ–W(£>Çÿ@­tãX4ˆ`ðLG¦Ùžp•‹É„ãaïãšÅ°l\¤[9‚cû26óâU M6f,ºŠò¼Ë'›¤…žCÐÖñ4øi¥?W~p¯sÏ ?žÿk³ÞA÷×KÃrŵÄÅÎk@–Ið|>^xðs¸?ý\Õð`,DèäõÌ’©Œ°Žû5¯éWÛüÉ^£èøçw €DÓµMˆáøXf_8<%|8_왉pPó1†…ãî„WþÀlm߃˜“Šf?4žý¼»:½òÌ“_£Ô”v ûûMà;kž:pÍÖ²â_ÖùásjØŽqw]$F‡£}ÿ¢»y« ××û,b'Õè°N‡Îþ=Ôo¹öÖôÔ0, õ¨Çÿº»â~–ÆM‹ƒÄû Y•R´‰¥4â6+!”}@~u‡j°ctCÔúàõP.ÅY(ýxÿ׎ ½×zµ?70ÆWXFÜ£¾oŒ½·¯‹3z‹Š€0°®Ác8¨R£êG±¢g›0àö ¦T—Uëøò„½»‹w­"/4³ÞÖ÷¿¾îC¾Q`[{O³“ºcÈn¯]•¶+•{Û{­ç¼ÞÕÎ N!3•<®ÞÇVí‚ìyxé,!C æ™b². êlfÖ×åÁø'„ÒÁ\ ןÎÏíãëgu,μ·¸šw-/ôß3Û¥ùºñíN°íâX(›c ƒŽÓâoõMDð‘sÊ¢a·#ü#0{c ÁÈÀð%µuDWCB¥Z€AéÍZ6»,Øçûxý (Z%‡±µØçw€ÑÀáŠHbhTb2ùþ<$÷Æ*cÀ¼ænk÷³”_÷וð«Ð÷¿#{D+B<™!âÇüS/¼gÿÃ`ø9”­.^]ŸÃŸ™ÆCíÌ+>™ì3ïƒ+•ý5Æë]¤q‡„Äp¦j' r¯9µ¼FDȬ)~: ã躟—9GmÜì“x2’¥ù-?s–raG"yvU³pa;R«çãø÷ăœ ÌAŸ\&ú¹“ ÿ?#Äìn Ûí0Úee½´“d~o’qå¶­¯!!DzP^H)>¾oµëÈ‘.®Ä¼‘Ô¶=Hy»7´S´-M½ á?Þÿô8y£c¶Î™ß§q„|Ü#Þ5"ù2Б ‡lµm#—ýU‰ÑÊ»ìýeüΤÎV†ÎÈbMƒ¤Í˜÷jAÌc7¾Z ä]> 4½gbö Äýñõs 2WRsKgí6Þæç 's8qzñTT[”R›[wÄÍ)I‹—9ø5x¥ŽÜWjýÚ #”!nN+zP’ÄÚ”â ÁKgâ²ÁÞTEŒ,ÂÁùÇë?³¥{é^R¨DÝ¥=´R¥u^zîc¯’§³Ì¥&D¼‰'i74øSËJ½ß”í&H¥æU©Gà»[û‚ácrÃͦŠ<ú’‹¡׿~þ‰4}Ú…žíh¢°Î;¯üòlpAZð´%’XÔZ;t®Q?„±÷÷žóy™ïk1+Ƴu6Â[«©ÌÖè† áDõ™c4¿ÆœÚóÐÝ*d„•B#!}Þÿe>Çsamh¡¹ÿêG3c^çæ—8u9󼵕⸈߂ÏUéy‡‡B;f "Yi=ÖD§ =Êâ‚Á4‘íŠ&¡Ž’Þ×|¾Cý“Ò3»Ä÷šg]Ø~üþ›WgjhSIXU“‘"1A5Fr4×{üáÜëAä—éljŸw¸TðÎá–Ýt6<ï/NÁ  \û¤õó«R¥tÇû˜a| Æi¨ÌÍ>‰T.šWo>>ÿxŒ•ϯ¼Y¼æÈ{ç··m,J²{gg}Év~)ê]Ñæs!?wøè÷X›‰æè˜G—F°¥l!7ކUœÖ|Cnáfï³…:.@mq%®Á臔±ÜÿÓRu?.–:¯èaBë¼ÖºÌÌE#Gƒg'yX«Dåÿu‡SWºä™ÇŠD)Œ˜21×ѵ‰VµˆagW¬àP޳²q½ç«ÏÈ’Ï Ís”?¶•@åg")ªíªç©s\ÖTòâô{Þê«f3g÷‰oÑþÏ^w:^ë¼"•Ý{¹ªd#³!φtà}©,nÆyWFKv„X”4–ƒ|<ûB+ è®Â8ˆi=-;´³X 5l=/xlêóŽw•–å÷n³]ì à+SÛÓ¼,{Õž¯/ДâV¡û»+<< ØÌ¤®Ào ŸâÞçèÔ‡eNpù^Oÿþ¼ÙùŽOv qR¶ £wHF3ûÝß=oý;ü`~k’RÏwCßÏí²”u¦ãk¡jE˜|û‰qÏ©ŽÔ‚KV,Ï àÏ*?ÞÿþxkáÜ}QxÁU¹éœ/MÛüÞÄÂá= ¤Õ°pý¾Êæ=çŠÎ^xúBË÷ÞÚKx«§Ó@ð[òÎI™¾ÔYB]Tª¦âž™çÿúÑKqÉ.á½€PÖÛwÿ¼ÃÓAG\ôšWÂÏ‹Øâ9ùãÏ2S³—åA\è“Y\œßy=ǨðGj÷¾ÌéÇõÕ¢ÂMî@âŒtÔ‚¶„vD¾üƒzÎ+²ÙÌBĺ\·Ÿ¬ü¼ÃÕ¬…÷Ùë6ËÛk™6Lþ¸Ê¦ÚRß_rýnl|UAϯ< ¢¹Ë|¦²!‚¸;ºÁ8™_1ÜgésÞùÆCŸ‡ÿ¿ä >êVB‰~æ,¶¹® Ë˜_ÿ&f™äÕjpñ/WÙÔÊwaùO ¼š°H 3ÉÛûþ¾I`˜ÈòuØù»õ¸1êͤÉû·ÈÏ÷ÿå+_ùÊW¾ò•¯|å+_ùÊW¾ò•¯|å+_ùÊW¾ò•¯|å+_ùÊW¾ò•¯|å+_ùÊW¾ò•¯|å+_ùÊW¾ò•¯|å+_ùÊW¾ò•¯|å+_ùÊW¾ò•¯|å+_ùÊW¾ò•¯|å+_ùÊW¾ò•¯|å+_ùÊW¾ò•¯|å+_ùÊW¾ò•¯|å+_ùÊW¾ò•¯|å+_ùÊW¾ò•¯|å+_ùÊW¾ò•¯|å+_ùÊW¾ò€ÿÝš™w)¦÷2iTXtXML:com.adobe.xmp Adobe Fireworks CS3 2007-10-06T22:15:44Z 2007-10-06T22:29:43Z image/png °è½ÑIDATxœíOlÙ€¿÷&vŒ½! vù§t»üiªºbÛ¢JÕ–V*ô”J ¨§ª7ʉ®‡¢=T=Q©‚jU­@ J(´ZuѪÐ]BB …'ÄNDZ=3¯‡7c;Ád³m1-ù}ÒÓŒ'“ñ{‡Ï¿÷ÞÌüž2Æ0W”R ¨VJ§Ìùb‚01U¶¥bæ ¥š‹¸¹\ne$9 µþžÖz°à߬ðgVF~„Wß÷] ïyÞß3™Ìï®^½ú«½{÷>¼ŠâþlÏ*îàà`¬¥¥åGŽãüÐÓLY¨$–x+Ì J‘ÖuݧÉdòÌáÇqùòå1 +qÕü\q•RÊó¼_k­¿kŒÑ…ü¤~:À`²—ñô®[xAm„W­¢Ñ$š–²´í š›Û©oˆáû¾ŸL&Ï···ÿÈe +±G•è[UÜL&³$‹ýRkýž1F &{éýô…B®Í„ùACcœu¿ÂÒÖµø¾o=zô‡îîî÷oܸ1d°ç±Ñwš¼ÏˆDÚŸi­`Œq|L_ÏŸ0Ưe›a^ µÃúMï°¢£cŒóæÍßvuu}¤€1 ‹•·h*$Ô3/T,¿¦µ>`ŒqîDïë"­ ¼ |ßãî§×øÇÃÛ(¥ôæÍ›w;vl'°x ;œà®0C\¥”ÒZÿhÈŒ?áþ½¿Ô° ‚0?ñ}¾žëd'Fp'rèСƒ@ °HÌwš¸Åbñ;Zë/ã«Þ;×ñ=·Öm„y‰ç¹ôöÜŒjkk[uüøñwflÔ]ÔÁ-—’¸A´ý  S£I§’µ¯½ ÌcF‡1žBkítww¿‡¸‹€8娫•Rª$n*•Z¥µÞhŒQ÷û>”q­ Ôc|| @GGÇÊ;v¬š°â.¢Ø¨[ޏ‰Dâ ]7O:õ¸Öu~òÏ+RWWçìß¿ÿKØ®r+nPh ¥g¿N%ù<Ï/ ‚ðßÃ÷=²™ºººÖaÇ·q †7B(nÀë€Jþ³ÆU¡’tz¥Ë—/oÁFÚXPê f—CqµÖº 5*ÝdAx™ŒÃñx|VÖFl´}F\ ;1ZóŠ ‚P&;‘ ‰8Ø ©z¬¸Qªˆ«yy@^2SSÀvƒ±“Q*¤eÆW„ÿ=¬¼uÁ¾TeÄ ®.Zûª ‚P¢¡!€ïû>ÖM=£¨Êˆ[ˆ'Zj[KA¦±0±€b±èQª•®–ÅõxÓV2’ÇE°oÛ¿ÖÙÙ¹òÔ©Sßß¾}û·ãñøâ0§kE^fA>'¡sÆ3444qæÌ™ONž6Þ7o¾¼tñå™7/ÞΪ^ÏÀÀ Ôõ ˆëˆn##Ã÷ßò¢2ÂÓ‹2=ÃÄ$X€¢ ÿ¸î=þá»tÕ]߉]Ç׿õ: hÈ 6€b{A{1ƒÙj9å˜w7ûýÿÝ÷ÿÿ¿üüÿÿ×ßÿÿÿþƒÐ_~ýÿÿö÷ÿÿ«û/«¾ä CŽ8H?@1AígføÉ5;ÈÉHI\˜…áé[†@~ýÄ?¾é_žíTPädðÍ Õf`ažr7@AÂà?Cðn·ëÏXÞ|b`àec`í÷ß ,@+þýð hÐ{ ¡ŸôÍ÷@ÊqŒ77»Øvþ”?’Ò »þgкÅÈ`©ÀÀðó+Ði@þ øþ è æƒw€øñV M¦§Î‰1@TÄè7 'ÖË@…@›Ô€>àºà¿ÿmFÎ  ÞªçgdøÅÆÉÀ&ªo@`˜¹yøød¸D€†Üy ô/Ð+< ¬P@áò†0¦Ù€bOÙ±Ã+À@`XØÿçajàbv Ù€Îg9L@ Ü@ƒYªþ‚Ä8()<ûùþ@ øñíÓiQŽ¿^ìÌ ì@“¹€˜ƒ ¢dÈ?`ü† 33$Ê€bùñ—áî‹sgŸo<ùëÍS. ØY!š¹€.áá„`í0CAò\¼À@½yáÛÇÝ lÀÿ—_7_Ûrt#Û¯_ ì@Ål,o€ áå‚x ¤,´„ùã_†kÛ&m``x² €` éÿ»«ÒN]y…åû_N`€²°B“B³€ Š3~üÃpdJ÷ÕOïf‚ô"_1½|pe¦ëºªÂµww]cøûùØÿ Ì ´?3ÜÜz‘a]uÖº'·ë\qÎ ÄÊ ŒÒsAúÈ] ÄgXÙSXÔ9FJIϘ‹—Ÿïë§÷ŸžÞ½pöýÛ=KmCÎÎçÃ4/EfïIEND®B`‚traitsui-7.2.1/traitsui/examples/demo/Applications/images/GG5.png0000644000076500000240000000240514046644454025401 0ustar aayresstaff00000000000000‰PNG  IHDRfgòƒ7Ç pHYs  ÒÝ~ü·IDATxœíÝÝK"mÇñ¥.:‰þ˜ŒŠZÁB:©1ATÌL%ftl*%T_@CJ(Ã(Êä: :üí‰#Ó˾¸Ï³yív|O„ï¹?\ÞÌ‘_|&"öiø~bœˆüDtBDDé·zêïá&Mü6 M‘õú z½ºÝ®4D½^ï=¨:MCDö nooqzzŠJ¥‚££#èºUU¥!Sš¦¡X,¢Óé86~ †ˆ’öd´Z-”ËeœŸŸ£Õj¡Ùl²,ÔëuiÈjµLÓ„aPUš¦áîîÎÆIþÆž”n·‹F£v»v»V«˲P­Vaš&J¥’4dÅb…B†a ŸÏ#N#‹áêêêÝÉq¢LÚ“Òh4ÐétÐn·ñüüŒJ¥Ã0pxx]×±··' ™®ëØßßG.—C.—ƒ®ëH¥R‡ÃÎÉ™z¦NDhµZƒIyxx@©TŒ?¥ª*"‘’ɤ c½€!¢ "ÂÝÝÊåò`RJ¥ÒÈà_.“É cuu6θf“ˆpvv68è+•ŠLÊ”J¥à÷û‘H$l¿愈P­V½a#_ôgHQƒA¬­­Ù0'N˜'"Âññ1šÍ&ªÕ*G¾èϦi…Bp»Ý6Ì£D„½½=X–Ó4ågìƒÊf³‡Ã˜u¾t޽€QUõz]ý. afffófbF`$áŸÀ0M`˜&0L¦ Ó†iÃ4ašÀ0M`˜&0L¦ Ó†iÃ4ašÀ0M`˜&0L¦ Ó†iÃ4ašÀ0M`˜&0L¦ Ó†iÃ4ašÀ0M`˜&0L¦ Ó†iÃ4ašÀ0M`˜&0L¦ Ó†iÃ4ašÀ0M`˜&0L¦ Ó†iÃ4ašÀ0M`˜&0L¦ Ó†iÃ4ašÀ0M`˜&0L¦ Ó†iÃ4ašÀ0í]"³?PE`Fãr¹Þ˜G"B:F­VC±X”¿ÿ ²Ù,‚Á æççm˜''Ì A×u˜¦‰B¡€ýýý‘/ú3¤ª*|>–——m˜'ŒŸˆ`š& ÀaÈår#_ôghgg^¯ÉdÒ†ÙtÂŒ®¯¯‘N§‘ÏçæÒ4 @ÓÓÓ¸¼¼´a&0}‹ˆppp€t: ]×åœùÃE£Qx<Äb1¥n{8a¦ˆ÷÷÷H$H¥RPU™Lfäð¯¥i¢Ñ(¼^/¾~ýŠn·kÃL¾éãlnnn°µµ…H$‚x<ŽT*EQ i²ÙìÈìo,›ÍBUUììì ÀãñÀívãúúÚFÙpZ¼€éã$íÉQUëëëðûýƒ…B‡Ã…BÒƒAø|>x½^¸\.looãþþÞFI¾vxãœ"B§Ó¢(ðù|XZZÂÂÂfff¤!š››Ãââ"VVV°»»‹N§3x™|=)?„éãLQÝqéÿÍ"¢©ïíÿwa@D´Ù }bð@ký=ôÑøÏöý§0҈Ɔ½æÀnÕèì l”IEND®B`‚traitsui-7.2.1/traitsui/examples/demo/Applications/tests/0000755000076500000240000000000014046644526024205 5ustar aayresstaff00000000000000traitsui-7.2.1/traitsui/examples/demo/Applications/tests/test_converter.py0000644000076500000240000000342214046644454027626 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! """ This example demonstrates how to test a simple application using UI Tester. The GUI being tested is written in the demo under the same name (minus the preceding 'test') in the outer directory. """ import os import runpy import unittest from traitsui.testing.api import ( DisplayedText, KeyClick, KeySequence, MouseClick, UITester ) #: Filename of the demo script FILENAME = "converter.py" #: Path of the demo script DEMO_PATH = os.path.join(os.path.dirname(__file__), "..", FILENAME) class TestConverter(unittest.TestCase): def test_converter(self): demo = runpy.run_path(DEMO_PATH)["popup"] tester = UITester() with tester.create_ui(demo) as ui: input_amount = tester.find_by_name(ui, "input_amount") output_amount = tester.find_by_name(ui, "output_amount") for _ in range(4): input_amount.perform(KeyClick("Backspace")) input_amount.perform(KeySequence("14.0")) self.assertEqual( output_amount.inspect(DisplayedText())[:4], "1.16", ) tester.find_by_id(ui, "Undo").perform(MouseClick()) self.assertEqual( output_amount.inspect(DisplayedText()), "1.0", ) # Run the test(s) unittest.TextTestRunner().run( unittest.TestLoader().loadTestsFromTestCase(TestConverter) ) traitsui-7.2.1/traitsui/examples/demo/Applications/converter.py0000644000076500000240000000656614046644454025441 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! """ Tiny application: convert length measurements from one unit system to another Select the input and output units using the drop down combo-boxes in the *Input:* and *Output:* sections respectively. Type the input quantity to convert into the left most text box. The output value corresponding to the current input value will automatically be updated in the *Output:* section. Use the *Undo* and *ReDo* buttons to undo and redo changes you have made to any of the input fields. Note that other than the 'output_amount' property implementation, the rest of the code is simply declarative. """ # FIXME: Help is broken in QT from traits.api import HasStrictTraits, Trait, CFloat, Property from traitsui.api import View, VGroup, HGroup, Item # Help text: ViewHelp = """ This program converts length measurements from one unit system to another. Select the input and output units using the drop down combo-boxes in the *Input:* and *Output:* sections respectively. Type the input quantity to convert into the left most text box. The output value corresponding to the current input value will automatically be updated in the *Output:* section. Use the *Undo* and *ReDo* buttons to undo and redo changes you have made to any of the input fields. """ # Units trait maps all units to centimeters: Units = Trait('inches', {'inches': 2.54, 'feet': (12 * 2.54), 'yards': (36 * 2.54), 'miles': (5280 * 12 * 2.54), 'millimeters': 0.1, 'centimeters': 1.0, 'meters': 100.0, 'kilometers': 100000.0}) # Converter Class: class Converter(HasStrictTraits): # Trait definitions: input_amount = CFloat(12.0, desc="the input quantity") input_units = Units('inches', desc="the input quantity's units") output_amount = Property(observe=['input_amount', 'input_units', 'output_units'], desc="the output quantity") output_units = Units('feet', desc="the output quantity's units") # User interface views: traits_view = View( VGroup( HGroup( Item('input_amount', springy=True), Item('input_units', show_label=False), label='Input', show_border=True ), HGroup( Item('output_amount', style='readonly', springy=True), Item('output_units', show_label=False), label='Output', show_border=True ), help=ViewHelp ), title='Units Converter', buttons=['Undo', 'OK', 'Help'] ) # Property implementations def _get_output_amount(self): return ((self.input_amount * self.input_units_) / self.output_units_) # Create the demo: popup = Converter() # Run the demo (if invoked from the command line): if __name__ == '__main__': popup.configure_traits() traitsui-7.2.1/traitsui/examples/demo/Standard_Editors/0000755000076500000240000000000014046644526023646 5ustar aayresstaff00000000000000traitsui-7.2.1/traitsui/examples/demo/Standard_Editors/index.rst0000644000076500000240000000012614046644454025506 0ustar aayresstaff00000000000000These examples demonstrate how the Standard Editors available in TraitsUI can be used.traitsui-7.2.1/traitsui/examples/demo/Standard_Editors/CheckListEditor_simple_demo.py0000644000076500000240000000514014046644454031615 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! """ Checklist editor for a List of strings The checklist editor provides a simple way for the user to select multiple items from a list of known strings. This example demonstrates the checklist editor's two most useful styles: * 'custom' displays all the strings in columns next to checkboxes. * 'readonly' displays only the selected strings, as a Python list of strings. We do *not* demonstrate two styles which are not as useful for this editor: * 'text' is like 'readonly' except editable. It will accept a list of strings or numbers or even expressions. This is useful for quick, non-production data entry, but it ignores the editor's list of valid 'values'. * 'simple' (the default) only lets you select one item at a time, from a drop-down widget. Please refer to the `CheckListEditor API docs`_ for further information. .. _CheckListEditor API docs: https://docs.enthought.com/traitsui/api/traitsui.editors.check_list_editor.html#traitsui.editors.check_list_editor.CheckListEditor """ from traits.api import HasTraits, List from traitsui.api import UItem, Group, View, CheckListEditor, Label class CheckListEditorDemo(HasTraits): """ Define the main CheckListEditor simple demo class. """ # Specify the strings to be displayed in the checklist: checklist = List( editor=CheckListEditor( values=['one', 'two', 'three', 'four', 'five', 'six'], cols=2 ) ) # CheckListEditor display with two columns: checklist_group = Group( '10', # insert vertical space (10 empty pixels) Label('The custom style lets you select items from a checklist:'), UItem('checklist', style='custom', id="custom"), '10', '_', '10', # horizontal line with vertical space above and below Label('The readonly style shows you which items are selected, ' 'as a Python list:'), UItem('checklist', style='readonly', id="readonly"), ) traits_view = View( checklist_group, title='CheckListEditor', buttons=['OK'], resizable=True ) # Create the demo: demo = CheckListEditorDemo() # Run the demo (if invoked from the command line): if __name__ == '__main__': demo.configure_traits() traitsui-7.2.1/traitsui/examples/demo/Standard_Editors/EnumEditor_demo.py0000644000076500000240000000627514046644454027311 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! """ Enum editor The Enum editor provides a simple way for the user to choose one item from a list of known values (normally strings or numbers). An Enum trait can take any value from a specified list of values. These values are typically strings, integers, or floats, but can also be None or hashable tuples. An Enum can be displayed / edited in one of five styles: * 'simple' displays a drop-down list of allowed values * 'custom' by default, displays one or more columns of radio buttons (only one of which is selected at a time). * 'custom' in 'list' mode (see source code below), displays a list of all the allowed values at once. * 'readonly' displays the current value as non-editable text. * 'text' displays the current value as text. You can also edit this text, but your text must be in the list of allowed values. Please refer to the `EnumEditor API docs`_ for further information. .. _EnumEditor API docs: https://docs.enthought.com/traitsui/api/traitsui.editors.enum_editor.html#traitsui.editors.enum_editor.EnumEditor """ from traits.api import HasTraits, Enum from traitsui.api import Item, Group, View, EnumEditor class EnumEditorDemo(HasTraits): """ Defines the main EnumEditor demo class. """ # Define an Enum trait to view. name_list = Enum('A-495', 'A-498', 'R-1226', 'TS-17', 'TS-18', 'Foo', 12345, (11, 7), None) # Items are used to define the display, one Item per editor style: enum_group = Group( Item('name_list', style='simple', label='Simple', id="simple"), Item('_'), # The simple style also supports text entry: Item( 'name_list', style='simple', label='Simple (text entry)', editor=EnumEditor( values=name_list, completion_mode='popup', evaluate=True ), id="simple_text" ), Item('_'), # The custom style defaults to radio button mode: Item('name_list', style='custom', label='Custom radio', id="radio"), Item('_'), # The custom style can also display in list mode, with extra work: Item( 'name_list', style='custom', label='Custom list', editor=EnumEditor(values=name_list, mode='list'), id="list" ), Item('_'), Item('name_list', style='text', label='Text', id="text"), Item('_'), Item('name_list', style='readonly', label='ReadOnly', id="readonly") ) # Demo view: traits_view = View( enum_group, title='EnumEditor', buttons=['OK'], resizable=True ) # Create the demo: demo = EnumEditorDemo() # Run the demo (if invoked from the command line): if __name__ == '__main__': demo.configure_traits() traitsui-7.2.1/traitsui/examples/demo/Standard_Editors/ButtonEditor_simple_demo.py0000644000076500000240000000327514046644454031226 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! """ Button editor A Button trait is displayed as a button in a Traits UI view. When the button is clicked, Traits UI will execute a method of your choice (a 'listener'). In this example, the listener just increments a click counter. Please refer to the `ButtonEditor API docs`_ for further information. .. _ButtonEditor API docs: https://docs.enthought.com/traitsui/api/traitsui.editors.button_editor.html#traitsui.editors.button_editor.ButtonEditor """ from traits.api import HasTraits, Button, Int from traitsui.api import Item, View class ButtonEditorDemo(HasTraits): """ Defines the main ButtonEditor demo class. """ # Define a Button trait: my_button_trait = Button('Click Me') click_counter = Int(0) # When the button is clicked, do something. # The listener method is named '_TraitName_fired', where # 'TraitName' is the name of the button trait. def _my_button_trait_fired(self): self.click_counter += 1 # Demo view: traits_view = View( 'my_button_trait', Item('click_counter', style='readonly'), title='ButtonEditor', buttons=['OK'], resizable=True ) # Create the demo: demo = ButtonEditorDemo() # Run the demo (if invoked from the command line): if __name__ == '__main__': demo.configure_traits() traitsui-7.2.1/traitsui/examples/demo/Standard_Editors/CheckListEditor_demo.py0000644000076500000240000000627114046644454030252 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! """ Implementation of a CheckListEditor demo plugin for the Traits UI demo program. For each of three CheckListEditor column formations, this demo shows each of the four styles of the CheckListEditor. Please refer to the `CheckListEditor API docs`_ for further information. .. _CheckListEditor API docs: https://docs.enthought.com/traitsui/api/traitsui.editors.check_list_editor.html#traitsui.editors.check_list_editor.CheckListEditor """ from traits.api import HasTraits, List from traitsui.api import Item, Group, View, CheckListEditor # Define the demo class: class CheckListEditorDemo(HasTraits): """ Define the main CheckListEditor demo class. """ # Define a trait for each of three formations: checklist_4col = List( editor=CheckListEditor( values=['one', 'two', 'three', 'four'], cols=4 ) ) checklist_2col = List( editor=CheckListEditor( values=['one', 'two', 'three', 'four'], cols=2 ) ) checklist_1col = List( editor=CheckListEditor( values=['one', 'two', 'three', 'four'], cols=1 ) ) # CheckListEditor display with four columns: cl_4_group = Group( Item('checklist_4col', style='simple', label='Simple'), Item('_'), Item('checklist_4col', style='custom', label='Custom'), Item('_'), Item('checklist_4col', style='text', label='Text'), Item('_'), Item('checklist_4col', style='readonly', label='ReadOnly'), label='4-column' ) # CheckListEditor display with two columns: cl_2_group = Group( Item('checklist_2col', style='simple', label='Simple'), Item('_'), Item('checklist_2col', style='custom', label='Custom'), Item('_'), Item('checklist_2col', style='text', label='Text'), Item('_'), Item('checklist_2col', style='readonly', label='ReadOnly'), label='2-column' ) # CheckListEditor display with one column: cl_1_group = Group( Item('checklist_1col', style='simple', label='Simple'), Item('_'), Item('checklist_1col', style='custom', label='Custom'), Item('_'), Item('checklist_1col', style='text', label='Text'), Item('_'), Item('checklist_1col', style='readonly', label='ReadOnly'), label='1-column' ) # The view includes one group per column formation. These will be # displayed on separate tabbed panels. traits_view = View( cl_4_group, cl_2_group, cl_1_group, title='CheckListEditor', buttons=['OK'], resizable=True ) # Create the demo: demo = CheckListEditorDemo() # Run the demo (if invoked from the command line): if __name__ == '__main__': demo.configure_traits() traitsui-7.2.1/traitsui/examples/demo/Standard_Editors/TreeEditor_demo.py0000644000076500000240000001221514046644454027273 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! """ Tree editor for hierarchal data Demonstrates using the TreeEditor to display a hierarchically organized data structure. In this case, the tree has the following hierarchy: - Partner - Company - Department - Employee The TreeEditor generates a hierarchical tree control, consisting of nodes. It is useful for cases where objects contain lists of other objects. The tree control is displayed in one pane of the editor, and a user interface for the selected object is displayed in the other pane. The layout orientation of the tree and the object editor is determined by the *orientation* parameter of TreeEditor(), which can be 'horizontal' or 'vertical'. You must specify the types of nodes that can appear in the tree using the *nodes* parameter, which must be a list of instances of TreeNode (or of subclasses of TreeNode). You must specify the classes whose instances the node type applies to. Use the **node_for** attribute of TreeNode to specify a list of classes; often, this list contains only one class. You can have more than one node type that applies to a particular class; in this case, each object of that class is represented by multiple nodes, one for each applicable node type. See the Traits User Manual for more details. Please refer to the `TreeEditor API docs`_ for further information. .. _TreeEditor API docs: https://docs.enthought.com/traitsui/api/traitsui.editors.tree_editor.html#traitsui.editors.tree_editor.TreeEditor """ from traits.api import HasTraits, Str, Regex, List, Instance from traitsui.api import Item, View, TreeEditor, TreeNode class Employee(HasTraits): """ Defines a company employee. """ name = Str('') title = Str() phone = Regex(regex=r'\d\d\d-\d\d\d\d') def default_title(self): self.title = 'Senior Engineer' class Department(HasTraits): """ Defines a department with employees. """ name = Str('') employees = List(Employee) class Company(HasTraits): """ Defines a company with departments and employees. """ name = Str('') departments = List(Department) employees = List(Employee) # Create an empty view for objects that have no data to display: no_view = View() # Define the TreeEditor used to display the hierarchy: tree_editor = TreeEditor( nodes=[ # The first node specified is the top level one TreeNode( node_for=[Company], auto_open=True, # child nodes are children='', label='name', # label with Company name view=View(['name']) ), TreeNode( node_for=[Company], auto_open=True, children='departments', label='=Departments', # constant label view=no_view, add=[Department], ), TreeNode( node_for=[Company], auto_open=True, children='employees', label='=Employees', # constant label view=no_view, add=[Employee] ), TreeNode( node_for=[Department], auto_open=True, children='employees', label='name', # label with Department name view=View(['name']), add=[Employee] ), TreeNode( node_for=[Employee], auto_open=True, label='name', # label with Employee name view=View(['name', 'title', 'phone']) ) ] ) class Partner(HasTraits): """ Defines a business partner.""" name = Str('') company = Instance(Company) traits_view = View( Item(name='company', editor=tree_editor, show_label=False), title='Company Structure', buttons=['OK'], resizable=True, style='custom', width=.3, height=500 ) # Create an example data structure: jason = Employee(name='Jason', title='Senior Engineer', phone='536-1057') mike = Employee(name='Mike', title='Senior Engineer', phone='536-1057') dave = Employee(name='Dave', title='Senior Developer', phone='536-1057') martin = Employee(name='Martin', title='Senior Engineer', phone='536-1057') duncan = Employee(name='Duncan', title='Consultant', phone='526-1057') # Create the demo: demo = Partner( name='Enthought, Inc.', company=Company( name='Enthought', employees=[dave, martin, duncan, jason, mike], departments=[ Department( name='Business', employees=[jason, mike] ), Department( name='Scientific', employees=[dave, martin, duncan] ) ] ) ) # Run the demo (if invoked from the command line): if __name__ == '__main__': demo.configure_traits() traitsui-7.2.1/traitsui/examples/demo/Standard_Editors/BooleanEditor_demo.py0000644000076500000240000000376214046644454027762 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! """ Implementation of a BooleanEditor demo plugin for Traits UI demo program. This demo shows each of the four styles of the BooleanEditor. Please refer to the `BooleanEditor API docs`_ for further information. .. _BooleanEditor API docs: https://docs.enthought.com/traitsui/api/traitsui.editors.boolean_editor.html#traitsui.editors.boolean_editor.BooleanEditor """ from traits.api import HasTraits, Bool from traitsui.api import Item, Group, View # ------------------------------------------------------------------------- # Demo Class # ------------------------------------------------------------------------- class BooleanEditorDemo(HasTraits): """ This class specifies the details of the BooleanEditor demo. """ # To demonstrate any given Trait editor, an appropriate Trait is required. boolean_trait = Bool() # Items are used to define the demo display - one Item per editor style bool_group = Group( Item('boolean_trait', style='simple', label='Simple', id='simple'), Item('_'), Item('boolean_trait', style='custom', label='Custom', id='custom'), Item('_'), Item('boolean_trait', style='text', label='Text', id='text'), Item('_'), Item( 'boolean_trait', style='readonly', label='ReadOnly', id='readonly' ) ) # Demo view traits_view = View( bool_group, title='BooleanEditor', buttons=['OK'], width=300 ) # Hook for 'demo.py' demo = BooleanEditorDemo() # Run the demo (if invoked from the command line): if __name__ == '__main__': demo.configure_traits() traitsui-7.2.1/traitsui/examples/demo/Standard_Editors/ImageEnumEditor_demo.py0000644000076500000240000000501314046644454030241 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! """ **WARNING** This demo might not work as expected and some documented features might be missing. ------------------------------------------------------------------------------- Implementation of an ImageEnumEditor demo plugin for the Traits UI demo program. This demo shows each of the four styles of the ImageEnumEditor. Please refer to the `ImageEnumEditor API docs`_ for further information. .. _ImageEnumEditor API docs: https://docs.enthought.com/traitsui/api/traitsui.editors.image_enum_editor.html#traitsui.editors.image_enum_editor.ImageEnumEditor """ # Issues related to the demo warning: # enthought/traitsui#947 from traits.api import Enum, HasTraits, Str from traitsui.api import Item, Group, View, ImageEnumEditor # This list of image names (with the standard suffix "_origin") is used to # construct an image enumeration trait to demonstrate the ImageEnumEditor: image_list = ['top left', 'top right', 'bottom left', 'bottom right'] class Dummy(HasTraits): """ Dummy class for ImageEnumEditor """ x = Str() traits_view = View() class ImageEnumEditorDemo(HasTraits): """ Defines the ImageEnumEditor demo class. """ # Define a trait to view: image_from_list = Enum( *image_list, editor=ImageEnumEditor( values=image_list, prefix='@icons:', suffix='_origin', cols=4, klass=Dummy ) ) # Items are used to define the demo display, one Item per editor style: img_group = Group( Item('image_from_list', style='simple', label='Simple'), Item('_'), Item('image_from_list', style='text', label='Text'), Item('_'), Item('image_from_list', style='readonly', label='ReadOnly'), Item('_'), Item('image_from_list', style='custom', label='Custom') ) # Demo view: traits_view = View( img_group, title='ImageEnumEditor', buttons=['OK'], resizable=True ) # Create the demo: demo = ImageEnumEditorDemo() # Run the demo (if invoked from the command line): if __name__ == '__main__': demo.configure_traits() traitsui-7.2.1/traitsui/examples/demo/Standard_Editors/TextEditor_demo.py0000644000076500000240000000626514046644454027330 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! """ Edit a string, password, or integer The TextEditor displays a Str, Password, or Int trait for the user to edit. The demo shows all styles of the editor for each of the traits, however certain styles are more useful than others: - When editing a Str, consider styles 'simple' (one-line), 'custom' (multi-line), or 'readonly' (multi-line). - When editing a Password, style 'simple' is recommended (shows asterisks). - When editing an Int, consider styles 'simple' and 'readonly'. Please refer to the `TextEditor API docs`_ for further information. .. _TextEditor API docs: https://docs.enthought.com/traitsui/api/traitsui.editors.text_editor.html#traitsui.editors.text_editor.TextEditor """ from traits.api import HasTraits, Str, Int, Password from traitsui.api import Item, Group, View # The main demo class: class TextEditorDemo(HasTraits): """ Defines the TextEditor demo class. """ # Define a trait for each of three TextEditor variants: string_trait = Str("sample string") int_trait = Int(1) password = Password() # TextEditor display with multi-line capability (for a string): text_str_group = Group( Item('string_trait', style='simple', label='Simple'), Item('_'), Item('string_trait', style='custom', label='Custom'), Item('_'), Item('string_trait', style='text', label='Text'), Item('_'), Item('string_trait', style='readonly', label='ReadOnly'), label='String' ) # TextEditor display without multi-line capability (for an integer): text_int_group = Group( Item('int_trait', style='simple', label='Simple', id="simple_int"), Item('_'), Item('int_trait', style='custom', label='Custom', id="custom_int"), Item('_'), Item('int_trait', style='text', label='Text', id="text_int"), Item('_'), Item( 'int_trait', style='readonly', label='ReadOnly', id="readonly_int", ), label='Integer' ) # TextEditor display with secret typing capability (for Password traits): text_pass_group = Group( Item('password', style='simple', label='Simple'), Item('_'), Item('password', style='custom', label='Custom'), Item('_'), Item('password', style='text', label='Text'), Item('_'), Item('password', style='readonly', label='ReadOnly'), label='Password' ) # The view includes one group per data type. These will be displayed # on separate tabbed panels: traits_view = View( text_str_group, text_pass_group, text_int_group, title='TextEditor', buttons=['OK'] ) # Create the demo: demo = TextEditorDemo() # Run the demo (if invoked from the command line): if __name__ == "__main__": demo.configure_traits() traitsui-7.2.1/traitsui/examples/demo/Standard_Editors/ListEditor_demo.py0000644000076500000240000000351414046644454027311 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! """ Implemention of a ListEditor demo plugin for Traits UI demo program This demo shows each of the four styles of ListEditor. Please refer to the `ListEditor API docs`_ for further information. .. _ListEditor API docs: https://docs.enthought.com/traitsui/api/traitsui.editors.list_editor.html#traitsui.editors.list_editor.ListEditor """ from traits.api import HasTraits, List, Str from traitsui.api import Item, Group, View # Define the demo class: class ListEditorDemo(HasTraits): """ Defines the main ListEditor demo class. """ # Define a List trait to display: play_list = List(Str, ["The Merchant of Venice", "Hamlet", "MacBeth"]) # Items are used to define display, one per editor style: list_group = Group( Item( 'play_list', style='simple', label='Simple', height=75, id='simple' ), Item('_'), Item('play_list', style='custom', label='Custom', id='custom'), Item('_'), Item('play_list', style='text', label='Text', id='text'), Item('_'), Item('play_list', style='readonly', label='ReadOnly', id='readonly') ) # Demo view: traits_view = View( list_group, title='ListEditor', buttons=['OK'], height=600, width=400, resizable=True ) # Create the demo: demo = ListEditorDemo() # Run the demo (if invoked from the command line): if __name__ == '__main__': demo.configure_traits() traitsui-7.2.1/traitsui/examples/demo/Standard_Editors/tests/0000755000076500000240000000000014046644526025010 5ustar aayresstaff00000000000000traitsui-7.2.1/traitsui/examples/demo/Standard_Editors/tests/test_InstanceEditor_demo.py0000644000076500000240000000420614046644454032342 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! """ This example demonstrates how to test interacting with a UI created using InstanceEditor. The GUI being tested is written in the demo under the same name (minus the preceding 'test') in the outer directory. """ import os import runpy import unittest from traitsui.testing.api import ( DisplayedText, KeyClick, KeySequence, MouseClick, UITester ) #: Filename of the demo script FILENAME = "InstanceEditor_demo.py" #: Path of the demo script DEMO_PATH = os.path.join(os.path.dirname(__file__), "..", FILENAME) class TestInstanceEditorDemo(unittest.TestCase): def test_instance_editor_demo(self): demo = runpy.run_path(DEMO_PATH)["demo"] tester = UITester() with tester.create_ui(demo) as ui: simple = tester.find_by_id(ui, "simple") custom = tester.find_by_id(ui, "custom") occupation = custom.find_by_name("occupation") occupation.perform(KeySequence("Job")) occupation.perform(KeyClick("Enter")) self.assertEqual(demo.sample_instance.occupation, "Job") simple.perform(MouseClick()) name = simple.find_by_name("name") name.perform(KeySequence("ABC")) name.perform(KeyClick("Enter")) self.assertEqual(demo.sample_instance.name, "ABC") demo.sample_instance.name = "XYZ" simple_displayed = name.inspect(DisplayedText()) custom_name = custom.find_by_name("name") custom_displayed = custom_name.inspect(DisplayedText()) self.assertEqual(simple_displayed, "XYZ") self.assertEqual(custom_displayed, "XYZ") # Run the test(s) unittest.TextTestRunner().run( unittest.TestLoader().loadTestsFromTestCase(TestInstanceEditorDemo) ) traitsui-7.2.1/traitsui/examples/demo/Standard_Editors/tests/test_ButtonEditor_demo.py0000644000076500000240000000470214046644454032052 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! """ This example demonstrates how to test interacting with a button created using ButtonEditor. It also demonstarates the use of UI Tester, together with pyface's ModalDialogTester. The GUI being tested is written in the demo under the same name (minus the preceding 'test') in the outer directory. """ import os import runpy import unittest from pyface.toolkit import toolkit_object from pyface.constant import OK from traitsui.testing.api import MouseClick, UITester ModalDialogTester = toolkit_object( "util.modal_dialog_tester:ModalDialogTester" ) no_modal_dialog_tester = ModalDialogTester.__name__ == "Unimplemented" #: Filename of the demo script FILENAME = "ButtonEditor_demo.py" #: Path of the demo script DEMO_PATH = os.path.join(os.path.dirname(__file__), "..", FILENAME) @unittest.skipIf(no_modal_dialog_tester, "ModalDialogTester unavailable") class TestButtonEditorDemo(unittest.TestCase): def test_button_editor_demo(self): demo = runpy.run_path(DEMO_PATH)["demo"] tester = UITester() with tester.create_ui(demo) as ui: simple_button = tester.find_by_id(ui, "simple") custom_button = tester.find_by_id(ui, "custom") # funcion object for instantiating ModalDialogTester should be a # function that opens the dialog # we want clicking the buttons to do that def click_simple_button(): simple_button.perform(MouseClick()) def click_custom_button(): custom_button.perform(MouseClick()) mdtester_simple = ModalDialogTester(click_simple_button) mdtester_simple.open_and_run(lambda x: x.click_button(OK)) self.assertTrue(mdtester_simple.dialog_was_opened) mdtester_custom = ModalDialogTester(click_custom_button) mdtester_custom.open_and_run(lambda x: x.click_button(OK)) self.assertTrue(mdtester_custom.dialog_was_opened) # Run the test(s) unittest.TextTestRunner().run( unittest.TestLoader().loadTestsFromTestCase(TestButtonEditorDemo) ) traitsui-7.2.1/traitsui/examples/demo/Standard_Editors/tests/test_CheckListEditor_simple_demo.py0000644000076500000240000000302314046644454034014 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! """ This example demonstrates how to test interacting with a checklist created using CheckListEditor. The GUI being tested is written in the demo under the same name (minus the preceding 'test') in the outer directory. """ import os import runpy import unittest from traitsui.testing.api import Index, MouseClick, UITester #: Filename of the demo script FILENAME = "CheckListEditor_simple_demo.py" #: Path of the demo script DEMO_PATH = os.path.join(os.path.dirname(__file__), "..", FILENAME) class TestCheckListEditorSimpleDemo(unittest.TestCase): def test_checklist_editor_simple_demo(self): demo = runpy.run_path(DEMO_PATH)["demo"] tester = UITester() with tester.create_ui(demo) as ui: checklist = tester.find_by_id(ui, "custom") item3 = checklist.locate(Index(2)) item3.perform(MouseClick()) self.assertEqual(demo.checklist, ["three"]) item3.perform(MouseClick()) self.assertEqual(demo.checklist, []) # Run the test(s) unittest.TextTestRunner().run( unittest.TestLoader().loadTestsFromTestCase(TestCheckListEditorSimpleDemo) ) traitsui-7.2.1/traitsui/examples/demo/Standard_Editors/tests/test_FileEditor_demo.py0000644000076500000240000000402314046644454031452 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! """ This example demonstrates how to test interacting with a textbox created using FileEditor. The GUI being tested is written in the demo under the same name (minus the preceding 'test') in the outer directory. """ import os import runpy import unittest from traitsui.testing.api import ( DisplayedText, KeyClick, KeySequence, UITester ) #: Filename of the demo script FILENAME = "FileEditor_demo.py" #: Path of the demo script DEMO_PATH = os.path.join(os.path.dirname(__file__), "..", FILENAME) class TestFileEditorDemo(unittest.TestCase): def test_run_demo(self): demo = runpy.run_path(DEMO_PATH)["demo"] tester = UITester() with tester.create_ui(demo) as ui: # simple FileEditor simple_file_field = tester.find_by_id(ui, "simple_file") # Modify the value on the GUI # The path does not exist, which is allowed by the trait. # The custom FileEditor will ignore nonexisting file path. simple_file_field.perform(KeySequence("some_path")) simple_file_field.perform(KeyClick("Enter")) self.assertEqual(demo.file_name, "some_path") # Modify the value on the object demo.file_name = FILENAME self.assertEqual( simple_file_field.inspect(DisplayedText()), FILENAME ) # On wx, an assertion error occurs upon disposing the UI. # That error is linked to the custom FileEditor. # See enthought/traitsui#752 # Run the test(s) unittest.TextTestRunner().run( unittest.TestLoader().loadTestsFromTestCase(TestFileEditorDemo) ) traitsui-7.2.1/traitsui/examples/demo/Standard_Editors/tests/test_BooleanEditor_simple_demo.py0000644000076500000240000000444214046644454033530 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! """ This example demonstrates how to test interacting with a boolean using BooleanEditor. The GUI being tested is written in the demo under the same name (minus the preceding 'test') in the outer directory. """ import os import runpy import unittest from traitsui.testing.api import ( DisplayedText, IsChecked, KeyClick, KeySequence, MouseClick, UITester ) #: Filename of the demo script FILENAME = "BooleanEditor_simple_demo.py" #: Path of the demo script DEMO_PATH = os.path.join(os.path.dirname(__file__), "..", FILENAME) class TestBooleanEditorSimpleDemo(unittest.TestCase): def test_boolean_editor_simple_demo(self): demo = runpy.run_path(DEMO_PATH)["demo"] tester = UITester() with tester.create_ui(demo) as ui: simple = tester.find_by_id(ui, 'simple') readonly = tester.find_by_id(ui, 'readonly') text = tester.find_by_id(ui, 'text') count_changes = tester.find_by_name(ui, "count_changes") simple.perform(MouseClick()) self.assertEqual(demo.my_boolean_trait, True) for _ in range(4): text.perform(KeyClick("Backspace")) text.perform(KeySequence("False")) text.perform(KeyClick("Enter")) self.assertEqual(demo.my_boolean_trait, False) displayed_count_changes = count_changes.inspect(DisplayedText()) self.assertEqual(displayed_count_changes, '2') self.assertEqual(displayed_count_changes, str(demo.count_changes)) demo.my_boolean_trait = True displayed = readonly.inspect(DisplayedText()) self.assertEqual(displayed, "True") simple_is_checked = simple.inspect(IsChecked()) self.assertEqual(simple_is_checked, True) # Run the test(s) unittest.TextTestRunner().run( unittest.TestLoader().loadTestsFromTestCase(TestBooleanEditorSimpleDemo) ) traitsui-7.2.1/traitsui/examples/demo/Standard_Editors/tests/test_TextEditor_demo.py0000644000076500000240000000466714046644454031535 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! """ This example demonstrates how to test interacting with a textbox created using TextEditor. The GUI being tested is written in the demo under the same name (minus the preceding 'test') in the outer directory. """ import os import runpy import unittest from traitsui.testing.api import ( DisplayedText, KeyClick, KeySequence, UITester ) #: Filename of the demo script FILENAME = "TextEditor_demo.py" #: Path of the demo script DEMO_PATH = os.path.join(os.path.dirname(__file__), "..", FILENAME) class TestTextEditorDemo(unittest.TestCase): def test_run_demo(self): demo = runpy.run_path(DEMO_PATH)["demo"] tester = UITester() with tester.create_ui(demo) as ui: simple_int_field = tester.find_by_id(ui, "simple_int") custom_int_field = tester.find_by_id(ui, "custom_int") text_int_field = tester.find_by_id(ui, "text_int") readonly_int_field = tester.find_by_id(ui, "readonly_int") # Modify the value to something invalid simple_int_field.perform(KeyClick("Backspace")) simple_int_field.perform(KeySequence("a")) # not a number! # Check the value has not changed self.assertEqual(demo.int_trait, 1) self.assertEqual(custom_int_field.inspect(DisplayedText()), "1") self.assertEqual(text_int_field.inspect(DisplayedText()), "1") self.assertEqual(readonly_int_field.inspect(DisplayedText()), "1") # Modify the value on the GUI to a good value simple_int_field.perform(KeyClick("Backspace")) simple_int_field.perform(KeySequence("2")) # Check self.assertEqual(demo.int_trait, 2) self.assertEqual(custom_int_field.inspect(DisplayedText()), "2") self.assertEqual(text_int_field.inspect(DisplayedText()), "2") self.assertEqual(readonly_int_field.inspect(DisplayedText()), "2") # Run the test(s) unittest.TextTestRunner().run( unittest.TestLoader().loadTestsFromTestCase(TestTextEditorDemo) ) traitsui-7.2.1/traitsui/examples/demo/Standard_Editors/tests/test_ListEditor_demo.py0000644000076500000240000000313614046644454031512 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! """ This example demonstrates how to test interacting with a ListEditor. The GUI being tested is written in the demo under the same name (minus the preceding 'test') in the outer directory. """ import os import runpy import unittest from traitsui.testing.api import Index, KeyClick, KeySequence, UITester #: Filename of the demo script FILENAME = "ListEditor_demo.py" #: Path of the demo script DEMO_PATH = os.path.join(os.path.dirname(__file__), "..", FILENAME) class TestListEditorDemo(unittest.TestCase): def test_list_editor_demo(self): demo = runpy.run_path(DEMO_PATH)["demo"] tester = UITester() with tester.create_ui(demo) as ui: custom_list = tester.find_by_id(ui, "custom") item1 = custom_list.locate(Index(1)) for _ in range(6): item1.perform(KeyClick("Backspace")) item1.perform(KeySequence("Othello")) item1.perform(KeyClick("Enter")) self.assertEqual( demo.play_list, ["The Merchant of Venice", "Othello", "MacBeth"] ) # Run the test(s) unittest.TextTestRunner().run( unittest.TestLoader().loadTestsFromTestCase(TestListEditorDemo) ) traitsui-7.2.1/traitsui/examples/demo/Standard_Editors/tests/test_EnumEditor_demo.py0000644000076500000240000000625414046644454031507 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! """ This example demonstrates how to test interacting with the various modes of the EnumEditor. The GUI being tested is written in the demo under the same name (minus the preceding 'test') in the outer directory. """ import os import runpy import unittest from traitsui.testing.api import ( DisplayedText, Index, KeyClick, KeySequence, MouseClick, SelectedText, UITester ) #: Filename of the demo script FILENAME = "EnumEditor_demo.py" #: Path of the demo script DEMO_PATH = os.path.join(os.path.dirname(__file__), "..", FILENAME) class TestEnumEditorDemo(unittest.TestCase): def test_enum_editor_demo(self): demo = runpy.run_path(DEMO_PATH)["demo"] tester = UITester() with tester.create_ui(demo) as ui: simple_enum = tester.find_by_id(ui, "simple") simple_text_enum = tester.find_by_id(ui, "simple_text") radio_enum = tester.find_by_id(ui, "radio") list_enum = tester.find_by_id(ui, "list") text = tester.find_by_id(ui, "text") readonly = tester.find_by_id(ui, "readonly") self.assertEqual(demo.name_list, 'A-495') simple_enum.locate(Index(1)).perform(MouseClick()) self.assertEqual(demo.name_list, 'A-498') for _ in range(5): simple_text_enum.perform(KeyClick("Backspace")) simple_text_enum.perform(KeySequence("R-1226")) simple_text_enum.perform(KeyClick("Enter")) self.assertEqual(demo.name_list, 'R-1226') radio_enum.locate(Index(5)).perform(MouseClick()) self.assertEqual(demo.name_list, 'Foo') list_enum.locate(Index(3)).perform(MouseClick()) self.assertEqual(demo.name_list, 'TS-17') for _ in range(5): text.perform(KeyClick("Backspace")) text.perform(KeySequence("A-498")) text.perform(KeyClick("Enter")) self.assertEqual(demo.name_list, 'A-498') demo.name_list = 'Foo' displayed_simple = simple_enum.inspect(DisplayedText()) disp_simple_text = simple_text_enum.inspect(DisplayedText()) selected_radio = radio_enum.inspect(SelectedText()) selected_list = list_enum.inspect(SelectedText()) displayed_text = text.inspect(DisplayedText()) displayed_readonly = readonly.inspect(DisplayedText()) displayed_selected = [ displayed_simple, disp_simple_text, selected_radio, selected_list, displayed_text, displayed_readonly ] for text in displayed_selected: self.assertEqual(text, 'Foo') # Run the test(s) unittest.TextTestRunner().run( unittest.TestLoader().loadTestsFromTestCase(TestEnumEditorDemo) ) traitsui-7.2.1/traitsui/examples/demo/Standard_Editors/tests/test_RangeEditor_demo.py0000644000076500000240000001543114046644454031634 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! """ This example demonstrates how to test interacting with the various styles of RangeEditor. The GUI being tested is written in the demo under the same name (minus the preceding 'test') in the outer directory. """ import os import runpy import unittest from traitsui.testing.api import ( DisplayedText, Index, KeyClick, KeySequence, MouseClick, Slider, Textbox, UITester ) #: Filename of the demo script FILENAME = "RangeEditor_demo.py" #: Path of the demo script DEMO_PATH = os.path.join(os.path.dirname(__file__), "..", FILENAME) class TestRangeEditorDemo(unittest.TestCase): def test_run_demo(self): demo = runpy.run_path(DEMO_PATH)["demo"] tester = UITester() with tester.create_ui(demo) as ui: simple_small = tester.find_by_id(ui, 'simple_small') custom_small = tester.find_by_id(ui, 'custom_small') text_small = tester.find_by_id(ui, 'text_small') readonly_small = tester.find_by_id(ui, 'readonly_small') simple_medium = tester.find_by_id(ui, 'simple_medium') custom_medium = tester.find_by_id(ui, 'custom_medium') text_medium = tester.find_by_id(ui, 'text_medium') readonly_medium = tester.find_by_id(ui, 'readonly_medium') # Testing for SimpleSpinEditor is not supported yet so the simple # and custom styles for the large_range_int are not included here text_large = tester.find_by_id(ui, 'text_large') readonly_large = tester.find_by_id(ui, 'readonly_large') simple_float = tester.find_by_id(ui, 'simple_float') custom_float = tester.find_by_id(ui, 'custom_float') text_float = tester.find_by_id(ui, 'text_float') readonly_float = tester.find_by_id(ui, 'readonly_float') # Tests for the small_int_range ################################## simple_small_slider = simple_small.locate(Slider()) simple_small_slider.perform(KeyClick("Page Up")) self.assertEqual(demo.small_int_range, 2) simple_small_text = simple_small.locate(Textbox()) simple_small_text.perform(KeyClick("Backspace")) simple_small_text.perform(KeyClick("3")) simple_small_text.perform(KeyClick("Enter")) self.assertEqual(demo.small_int_range, 3) custom_small.locate(Index(0)).perform(MouseClick()) self.assertEqual(demo.small_int_range, 1) text_small.perform(KeyClick("0")) text_small.perform(KeyClick("Enter")) self.assertEqual(demo.small_int_range, 10) demo.small_int_range = 7 displayed_small = readonly_small.inspect(DisplayedText()) self.assertEqual(displayed_small, '7') # Tests for the medium_int_range ################################# simple_medium_slider = simple_medium.locate(Slider()) # on this range, page up/down corresponds to a change of 2. simple_medium_slider.perform(KeyClick("Page Up")) self.assertEqual(demo.medium_int_range, 3) simple_medium_text = simple_medium.locate(Textbox()) simple_medium_text.perform(KeyClick("Backspace")) simple_medium_text.perform(KeyClick("4")) simple_medium_text.perform(KeyClick("Enter")) self.assertEqual(demo.medium_int_range, 4) custom_medium_slider = custom_medium.locate(Slider()) custom_medium_slider.perform(KeyClick("Page Down")) self.assertEqual(demo.medium_int_range, 2) custom_medium_text = custom_medium.locate(Textbox()) custom_medium_text.perform(KeyClick("Backspace")) custom_medium_text.perform(KeyClick("1")) custom_medium_text.perform(KeyClick("Enter")) self.assertEqual(demo.medium_int_range, 1) text_medium.perform(KeyClick("0")) text_medium.perform(KeyClick("Enter")) self.assertEqual(demo.medium_int_range, 10) demo.medium_int_range = 7 displayed_medium = readonly_medium.inspect(DisplayedText()) self.assertEqual(displayed_medium, '7') # Tests for the large_int_range ################################## # Testing for SimpleSpinEditor is not supported yet text_large.perform(KeySequence("00")) text_large.perform(KeyClick("Enter")) self.assertEqual(demo.large_int_range, 100) demo.large_int_range = 77 displayed_large = readonly_large.inspect(DisplayedText()) self.assertEqual(displayed_large, '77') # Tests for the float_range ###################################### simple_float_slider = simple_float.locate(Slider()) # on this range, page up/down corresponds to a change of 1.000. simple_float_slider.perform(KeyClick("Page Up")) self.assertEqual(demo.float_range, 1.000) simple_float_text = simple_float.locate(Textbox()) for _ in range(3): simple_float_text.perform(KeyClick("Backspace")) simple_float_text.perform(KeyClick("5")) simple_float_text.perform(KeyClick("Enter")) self.assertEqual(demo.float_range, 1.5) custom_float_slider = custom_float.locate(Slider()) # after the trait is set to 1.5 above, the active range shown by # the LargeRangeSliderEditor for the custom style is [0,11.500] # so a page down is now a decrement of 1.15 custom_float_slider.perform(KeyClick("Page Down")) self.assertEqual(round(demo.float_range, 2), 0.35) custom_float_text = custom_float.locate(Textbox()) for _ in range(5): custom_float_text.perform(KeyClick("Backspace")) custom_float_text.perform(KeySequence("50.0")) custom_float_text.perform(KeyClick("Enter")) self.assertEqual(demo.float_range, 50.0) text_float.perform(KeyClick("5")) text_float.perform(KeyClick("Enter")) self.assertEqual(demo.float_range, 50.05) demo.float_range = 72.0 displayed_float = readonly_float.inspect(DisplayedText()) self.assertEqual(displayed_float, '72.0') # Run the test(s) unittest.TextTestRunner().run( unittest.TestLoader().loadTestsFromTestCase(TestRangeEditorDemo) ) traitsui-7.2.1/traitsui/examples/demo/Standard_Editors/tests/test_ButtonEditor_simple_demo.py0000644000076500000240000000342514046644454033424 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! """ This example demonstrates how to test interacting with a button created using ButtonEditor. The GUI being tested is written in the demo under the same name (minus the preceding 'test') in the outer directory. """ import os import runpy import unittest from traitsui.testing.api import DisplayedText, MouseClick, UITester #: Filename of the demo script FILENAME = "ButtonEditor_simple_demo.py" #: Path of the demo script DEMO_PATH = os.path.join(os.path.dirname(__file__), "..", FILENAME) class TestButtonEditorSimpleDemo(unittest.TestCase): def test_button_editor_simple_demo(self): demo = runpy.run_path(DEMO_PATH)["demo"] tester = UITester() with tester.create_ui(demo) as ui: button = tester.find_by_name(ui, "my_button_trait") for index in range(5): button.perform(MouseClick()) self.assertEqual(demo.click_counter, index + 1) click_counter = tester.find_by_name(ui, "click_counter") displayed_count = click_counter.inspect(DisplayedText()) self.assertEqual(displayed_count, '5') demo.click_counter = 10 displayed_count = click_counter.inspect(DisplayedText()) self.assertEqual(displayed_count, '10') # Run the test(s) unittest.TextTestRunner().run( unittest.TestLoader().loadTestsFromTestCase(TestButtonEditorSimpleDemo) ) traitsui-7.2.1/traitsui/examples/demo/Standard_Editors/tests/test_BooleanEditor_demo.py0000644000076500000240000000377214046644454032164 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! """ This example demonstrates how to test interacting with a boolean using BooleanEditor. The GUI being tested is written in the demo under the same name (minus the preceding 'test') in the outer directory. """ import os import runpy import unittest from traitsui.testing.api import ( DisplayedText, KeyClick, KeySequence, MouseClick, UITester ) #: Filename of the demo script FILENAME = "BooleanEditor_demo.py" #: Path of the demo script DEMO_PATH = os.path.join(os.path.dirname(__file__), "..", FILENAME) class TestBooleanEditorDemo(unittest.TestCase): def test_boolean_editor_demo(self): demo = runpy.run_path(DEMO_PATH)["demo"] tester = UITester() with tester.create_ui(demo) as ui: simple = tester.find_by_id(ui, 'simple') custom = tester.find_by_id(ui, 'custom') text = tester.find_by_id(ui, 'text') readonly = tester.find_by_id(ui, 'readonly') simple.perform(MouseClick()) self.assertEqual(demo.boolean_trait, True) custom.perform(MouseClick()) self.assertEqual(demo.boolean_trait, False) for _ in range(5): text.perform(KeyClick("Backspace")) text.perform(KeySequence("True")) text.perform(KeyClick("Enter")) self.assertEqual(demo.boolean_trait, True) demo.boolean_trait = False displayed = readonly.inspect(DisplayedText()) self.assertEqual(displayed, "False") # Run the test(s) unittest.TextTestRunner().run( unittest.TestLoader().loadTestsFromTestCase(TestBooleanEditorDemo) ) traitsui-7.2.1/traitsui/examples/demo/Standard_Editors/VideoEditor_demo.py0000644000076500000240000001223014046644454027437 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! """ Demonstrates a 'display only' video editor for Qt5+. Please refer to the `VideoEditor API docs`_ for further information. .. _VideoEditor API docs: https://docs.enthought.com/traitsui/api/traitsui.editors.video_editor.html#traitsui.editors.video_editor.VideoEditor """ import numpy as np from PIL import Image from pyface.qt.QtGui import QImage from traits.api import ( Bool, Button, Callable, Float, HasTraits, Range, Str, observe ) from traitsui.api import ButtonEditor, ContextValue, HGroup, Item, UItem, View from traitsui.editors.video_editor import MediaStatus, PlayerState, VideoEditor def QImage_from_np(image): assert (np.max(image) <= 255) image8 = image.astype(np.uint8, order='C', casting='unsafe') height, width, colors = image8.shape bytesPerLine = 4 * width image = QImage(image8.data, width, height, bytesPerLine, QImage.Format_RGB32) return image def np_from_QImage(qimage): # Creates a numpy array from a pyqt(5) QImage object width, height = qimage.width(), qimage.height() channels = qimage.pixelFormat().channelCount() return np.array( qimage.bits().asarray(width * height * channels) ).reshape(height, width, channels).astype('u1') def qimage_function(antialiasing=True): def antialias_func(image_func): """ Turns an image function into a QImage function, bound within the viewing frames box. """ def qimage_conv_func(image, box_dims): _np_image = image_func(np_from_QImage(image)) pil_image = Image.fromarray(_np_image) if antialiasing: pil_image.thumbnail(box_dims, Image.ANTIALIAS) else: pil_image.thumbnail(box_dims) _np_image = np.array(pil_image) image = QImage_from_np(_np_image) return image, _np_image return qimage_conv_func return antialias_func @qimage_function(antialiasing=False) def test_image_func(image): return image.transpose(1, 0, 2) class VideoEditorDemo(HasTraits): """Defines the main VideoEditor demo class.""" #: The URL that holds the video data. video_url = Str() #: A button that plays/pauses play_pause_button = Button() button_label = Str('Play') state = PlayerState duration = Float position = Range(low=0.0, high='duration') error = Str status = MediaStatus buffer = Range(0, 100) muted = Bool(True) volume = Range(0.0, 100.0, value=100.0) playback_rate = Float(1.0) image_func = Callable() @observe('state') def _state_update(self, event): if event.new == 'stopped' or event.new == 'paused': self.button_label = 'Play' elif event.new == 'playing': self.button_label = 'Pause' @observe('play_pause_button') def _play_pause_button_click(self, event): if self.state == 'stopped' or self.state == 'paused': self.state = 'playing' else: self.state = 'paused' # Demo view traits_view = View( UItem('video_url'), UItem( 'video_url', editor=VideoEditor( state=ContextValue('state'), position=ContextValue('position'), duration=ContextValue('duration'), video_error=ContextValue('error'), media_status=ContextValue('status'), buffer=ContextValue('buffer'), muted=ContextValue('muted'), volume=ContextValue('volume'), playback_rate=ContextValue('playback_rate'), image_func=ContextValue('image_func'), notify_interval=0.5, ), ), HGroup( UItem( 'play_pause_button', editor=ButtonEditor(label_value='button_label'), enabled_when='not bool(error)', width=100, ), UItem('position'), ), HGroup( Item('playback_rate'), Item('muted', label='Mute'), Item('volume'), ), HGroup( Item('state', style='readonly'), Item('status', style='readonly'), Item('buffer', style='readonly'), Item('error', visible_when="bool(error)", style='readonly'), ), title='VideoEditor', buttons=['OK'], width=800, height=600, resizable=True, ) url = "https://commondatastorage.googleapis.com/gtv-videos-bucket/sample/ForBiggerEscapes.mp4" # noqa: E501 # Create the demo: demo = VideoEditorDemo(image_func=test_image_func, video_url=url) # demo = VideoEditorDemo(video_url=url) # Run the demo (if invoked from the command line): if __name__ == '__main__': demo.configure_traits() traitsui-7.2.1/traitsui/examples/demo/Standard_Editors/File_Dialog/0000755000076500000240000000000014046644526026004 5ustar aayresstaff00000000000000././@LongLink0000000000000000000000000000014600000000000011216 Lustar 00000000000000traitsui-7.2.1/traitsui/examples/demo/Standard_Editors/File_Dialog/File_Open_with_Custom_Extension.pytraitsui-7.2.1/traitsui/examples/demo/Standard_Editors/File_Dialog/File_Open_with_Custom_Extension.p0000644000076500000240000000666414046644454034462 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! """ **WARNING** This demo might not work as expected and some documented features might be missing. ------------------------------------------------------------------------------- This demonstrates using the TraitsUI file dialog with a custom written file dialog extension, in this case an extension called **LineCountInfo**, which displays the number of text lines in the currently selected file. For more information about why you would want to use the TraitsUI file dialog over the standard OS file dialog, select the **File Open** demo. """ # Issue related to the demo warning: enthought/traitsui#953 from os.path import getsize from traits.api import HasTraits, File, Button, Property, cached_property from traitsui.api import View, VGroup, HGroup, Item from traitsui.file_dialog import open_file, MFileDialogModel # -- LineCountInfo Class -------------------------------------------------- class LineCountInfo(MFileDialogModel): """ Defines a file dialog extension that displays the number of text lines in the currently selected file. """ # The number of text lines in the currently selected file: lines = Property(observe='file_name') # -- Traits View Definitions ---------------------------------------------- traits_view = View( VGroup( Item('lines', style='readonly'), label='Line Count Info', show_border=True ) ) # -- Property Implementations --------------------------------------------- @cached_property def _get_lines(self): try: if getsize(self.file_name) > 10000000: return 'File too big...' with open(self.file_name, 'r', encoding='utf8') as fh: data = fh.read() except OSError: return '' if (data.find('\x00') >= 0) or (data.find('\xFF') >= 0): return 'File contains binary data...' return ('{:n} lines'.format(len(data.splitlines()))) # -- FileDialogDemo Class ------------------------------------------------- # Demo specific file dialig id: demo_id = 'traitsui.demo.standard_editors.file_dialog.line_count_info' class FileDialogDemo(HasTraits): # The name of the selected file: file_name = File() # The button used to display the file dialog: open = Button('Open...') # -- Traits View Definitions ---------------------------------------------- traits_view = View( HGroup( Item('open', show_label=False), '_', Item('file_name', style='readonly', springy=True) ), width=0.5 ) # -- Traits Event Handlers ------------------------------------------------ def _open_changed(self): """ Handles the user clicking the 'Open...' button. """ file_name = open_file(extensions=LineCountInfo(), id=demo_id) if file_name != '': self.file_name = file_name # Create the demo: demo = FileDialogDemo() # Run the demo (if invoked from the command line): if __name__ == '__main__': demo.configure_traits() ././@LongLink0000000000000000000000000000015000000000000011211 Lustar 00000000000000traitsui-7.2.1/traitsui/examples/demo/Standard_Editors/File_Dialog/File_Open_with_TextInfo_Extension.pytraitsui-7.2.1/traitsui/examples/demo/Standard_Editors/File_Dialog/File_Open_with_TextInfo_Extension0000644000076500000240000000522614046644454034503 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! """ **WARNING** This demo might not work as expected and some documented features might be missing. ------------------------------------------------------------------------------- This demonstrates using the TraitsUI file dialog with a file dialog extension, in this case, the **TextInfo** extension, which displays (if possible) the contents of the currently selected file in a read-only text editor so the user can quickly verify they are opening the correct file before leaving the file dialog. For more information about why you would want to use the TraitsUI file dialog over the standard OS file dialog, select the **File Open** demo. For a demonstration of writing a custom file dialog extension, select the **File Open with Custom Extension** demo. This example also shows setting a file name filter which only allows Python source (i.e. ``*.py``) files to be viewed and selected. """ # Issue related to the demo warning: enthought/traitsui#953 from traits.api import HasTraits, File, Button from traitsui.api import View, HGroup, Item from traitsui.file_dialog import open_file, TextInfo # -- FileDialogDemo Class ------------------------------------------------- # Demo specific file dialog id: demo_id = 'traitsui.demo.standard_editors.file_dialog.text_info' class FileDialogDemo(HasTraits): # The name of the selected file: file_name = File() # The button used to display the file dialog: open = Button('Open...') # -- Traits View Definitions ---------------------------------------------- traits_view = View( HGroup( Item('open', show_label=False), '_', Item('file_name', style='readonly', springy=True) ), width=0.5 ) # -- Traits Event Handlers ------------------------------------------------ def _open_changed(self): """ Handles the user clicking the 'Open...' button. """ file_name = open_file(extensions=TextInfo(), filter='Python file (*.py)|*.py', id=demo_id) if file_name != '': self.file_name = file_name # Create the demo: demo = FileDialogDemo() # Run the demo (if invoked from the command line): if __name__ == '__main__': demo.configure_traits() ././@LongLink0000000000000000000000000000015100000000000011212 Lustar 00000000000000traitsui-7.2.1/traitsui/examples/demo/Standard_Editors/File_Dialog/File_Open_with_ImageInfo_Extension.pytraitsui-7.2.1/traitsui/examples/demo/Standard_Editors/File_Dialog/File_Open_with_ImageInfo_Extensio0000644000076500000240000000555714046644454034432 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! """ **WARNING** This demo might not work as expected and some documented features might be missing. ------------------------------------------------------------------------------- This demonstrates using the TraitsUI file dialog with a file dialog extension, in this case, the **ImageInfo** extension, which displays (if possible) the contents, width and height information for the currently selected image file so that the user can quickly verify they are opening the correct file before leaving the file dialog. For more information about why you would want to use the TraitsUI file dialog over the standard OS file dialog, select the **File Open** demo. For a demonstration of writing a custom file dialog extension, select the **File Open with Custom Extension** demo. This example also shows setting a file name filter which only allows common image file formats (i.e. ``*.png``, ``*.gif``, ``*.jpg``, ``*.jpeg``) files to be viewed and selected. """ # Issue related to the demo warning: enthought/traitsui#953 from traits.api import HasTraits, File, Button from traitsui.api import View, HGroup, Item from traitsui.file_dialog import open_file, ImageInfo # -- FileDialogDemo Class ------------------------------------------------- # Demo specific file dialig id: demo_id = 'traitsui.demo.standard_editors.file_dialog.image_info' # The image filters description: filters = [ 'PNG file (*.png)|*.png', 'GIF file (*.gif)|*.gif', 'JPG file (*.jpg)|*.jpg', 'JPEG file (*.jpeg)|*.jpeg' ] class FileDialogDemo(HasTraits): # The name of the selected file: file_name = File() # The button used to display the file dialog: open = Button('Open...') # -- Traits View Definitions ---------------------------------------------- traits_view = View( HGroup( Item('open', show_label=False), '_', Item('file_name', style='readonly', springy=True) ), width=0.5 ) # -- Traits Event Handlers ------------------------------------------------ def _open_changed(self): """ Handles the user clicking the 'Open...' button. """ file_name = open_file(extensions=ImageInfo(), filter=filters, id=demo_id) if file_name != '': self.file_name = file_name # Create the demo: demo = FileDialogDemo() # Run the demo (if invoked from the command line): if __name__ == '__main__': demo.configure_traits() ././@LongLink0000000000000000000000000000015000000000000011211 Lustar 00000000000000traitsui-7.2.1/traitsui/examples/demo/Standard_Editors/File_Dialog/File_Open_with_FileInfo_Extension.pytraitsui-7.2.1/traitsui/examples/demo/Standard_Editors/File_Dialog/File_Open_with_FileInfo_Extension0000644000076500000240000000463714046644454034443 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! """ **WARNING** This demo might not work as expected and some documented features might be missing. ------------------------------------------------------------------------------- This demonstrates using the TraitsUI file dialog with a file dialog extension, in this case, the **FileInfo** extension, which displays information about the currently selected file, such as: - File size. - Date and time last accessed. - Date and time last modified. - Date and time last created. For more information about why you would want to use the TraitsUI file dialog over the standard OS file dialog, select the **File Open** demo. For a demonstration of writing a custom file dialog extension, select the **File Open with Custom Extension** demo. """ # Issue related to the demo warning: enthought/traitsui#953 from traits.api import HasTraits, File, Button from traitsui.api import View, HGroup, Item from traitsui.file_dialog import open_file, FileInfo # -- FileDialogDemo Class ------------------------------------------------- # Demo specific file dialig id: demo_id = 'traitsui.demo.standard_editors.file_dialog.file_info' class FileDialogDemo(HasTraits): # The name of the selected file: file_name = File() # The button used to display the file dialog: open = Button('Open...') # -- Traits View Definitions ---------------------------------------------- traits_view = View( HGroup( Item('open', show_label=False), '_', Item('file_name', style='readonly', springy=True) ), width=0.5 ) # -- Traits Event Handlers ------------------------------------------------ def _open_changed(self): """ Handles the user clicking the 'Open...' button. """ file_name = open_file(extensions=FileInfo(), id=demo_id) if file_name != '': self.file_name = file_name # Create the demo: demo = FileDialogDemo() # Run the demo (if invoked from the command line): if __name__ == '__main__': demo.configure_traits() traitsui-7.2.1/traitsui/examples/demo/Standard_Editors/File_Dialog/File_Open.py0000644000076500000240000001127414046644454030223 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! """ **WARNING** This demo might not work as expected and some documented features might be missing. ------------------------------------------------------------------------------- This demonstrates one of the simplest cases of using the TraitsUI file dialog to select a file for opening (i.e. reading or editing). The first question of course is why use the TraitsUI file dialog at all, when the standard OS file dialog is also available? And the answer is that you can use either, but the advantages of using the TraitsUI file dialog are: - It supports history. That is, each time the user selects a file for opening, the file is added to a persistent history list, similar to many applications *Open recent...* function, but built directly into the file dialog. The amount of history remembered can be specified by the developer, with the default being the last 10 files opened. - It is resizable. Some standard OS file dialogs are not resizable, which can be very annoying to the user trying to select a file through a tiny peephole view of the file system. In addition, if the user resizes the dialog, the new size and position will be persisted, so that the file dialog will appear in the same location the next time the user wants to open a file. - There is a very nice synergy between the file system view and the history list. Quite often users shuttle between several *favorite* locations in the file system when opening files. The TraitsUI file dialog automatically discovers these favorite locations just by the user opening files. When a user opens the file dialog, they can select a previously opened file from the history list, which then automatically causes the file system view to expand the selected file's containing folder, thus allowing them to select a different file in the same location. Since the history list is updated each time a user selects a file, It tends to automatically discover a *working set* of favorite directories just through simple use, without the user having to explicitly designate them as such. - It's customizable. The TraitsUI file dialog accepts extension objects which can be used to display additional file information or even modify the selection behavior of the dialog. Several extensions are provided with TraitsUI (and are demonstrated in some of the other examples), and you are free to write your own by implementing a very simple interface. - The history and user settings are customizable per application. Just by setting a unique id in the file dialog request, you can specify that the history and window size and position information are specific to your application. If you have file dialog extensions added, the user can reorder, resize and reconfigure the overall file dialog layout, including your extensions, and have their custom settings restored each time they use the file dialog. If you do not specify a unique id, then the history and user settings default to the system-wide settings for the file dialog. It's your choice. - It's easy to use. That's what this particular example is all about. So take a look at the source code for this example to see how easy it is... """ # Issue related to the demo warning: enthought/traitsui#953 from traits.api import HasTraits, File, Button from traitsui.api import View, HGroup, Item from traitsui.file_dialog import open_file # -- FileDialogDemo Class ------------------------------------------------- class FileDialogDemo(HasTraits): # The name of the selected file: file_name = File() # The button used to display the file dialog: open = Button('Open...') # -- Traits View Definitions ---------------------------------------------- traits_view = View( HGroup( Item('open', show_label=False), '_', Item('file_name', style='readonly', springy=True) ), width=0.5 ) # -- Traits Event Handlers ------------------------------------------------ def _open_changed(self): """ Handles the user clicking the 'Open...' button. """ file_name = open_file() if file_name != '': self.file_name = file_name # Create the demo: demo = FileDialogDemo() # Run the demo (if invoked from the command line): if __name__ == '__main__': demo.configure_traits() ././@LongLink0000000000000000000000000000015100000000000011212 Lustar 00000000000000traitsui-7.2.1/traitsui/examples/demo/Standard_Editors/File_Dialog/File_Open_with_Multiple_Extensions.pytraitsui-7.2.1/traitsui/examples/demo/Standard_Editors/File_Dialog/File_Open_with_Multiple_Extension0000644000076500000240000000552714046644454034542 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! """ **WARNING** This demo might not work as expected and some documented features might be missing. ------------------------------------------------------------------------------- This demonstrates using the TraitsUI file dialog with multiple file dialog extensions, in this case, the **FileInfo**, **TextInfo** and **ImageInfo** extensions. For more information about why you would want to use the TraitsUI file dialog over the standard OS file dialog, select the **File Open** demo. For a demonstration of writing a custom file dialog extension, select the **File Open with Custom Extension** demo. Suggestion: Try resizing the dialog and dragging the various file dialog extensions around to create a better arrangement than the rather cramped default vertical arrangement. Close the dialog, then re-open it to see that your new arrangement has been correctly restored. Try a different file dialog demo to verify that the customizations are not affected by any of the other demos because this demo specifies a custom id when invoking the file dialog. """ # Issue related to the demo warning: enthought/traitsui#953 from traits.api import HasTraits, File, Button from traitsui.api import View, HGroup, Item from traitsui.file_dialog import open_file, FileInfo, TextInfo, ImageInfo # -- FileDialogDemo Class ------------------------------------------------- # Demo specific file dialig id: demo_id = 'traitsui.demo.standard_editors.file_dialog.multiple_info' # The list of file dialog extensions to use: extensions = [FileInfo(), TextInfo(), ImageInfo()] class FileDialogDemo(HasTraits): # The name of the selected file: file_name = File() # The button used to display the file dialog: open = Button('Open...') # -- Traits View Definitions ---------------------------------------------- traits_view = View( HGroup( Item('open', show_label=False), '_', Item('file_name', style='readonly', springy=True) ), width=0.5 ) # -- Traits Event Handlers ------------------------------------------------ def _open_changed(self): """ Handles the user clicking the 'Open...' button. """ file_name = open_file(extensions=extensions, id=demo_id) if file_name != '': self.file_name = file_name # Create the demo: demo = FileDialogDemo() # Run the demo (if invoked from the command line): if __name__ == '__main__': demo.configure_traits() traitsui-7.2.1/traitsui/examples/demo/Standard_Editors/InstanceEditor_demo.py0000644000076500000240000000556414046644454030151 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! """ **WARNING** This demo might not work as expected and some documented features might be missing. ------------------------------------------------------------------------------- Implementation of an InstanceEditor demo plugin for the Traits UI demo program. This demo shows each of the four styles of the InstanceEditor Fixme: This version of the demo only shows the old-style InstanceEditor capabilities. Please refer to the `InstanceEditor API docs`_ for further information. .. _InstanceEditor API docs: https://docs.enthought.com/traitsui/api/traitsui.editors.instance_editor.html#traitsui.editors.instance_editor.InstanceEditor """ # Issue related to the demo warning: enthought/traitsui#939 from traits.api import HasTraits, Str, Range, Bool, Instance from traitsui.api import Item, Group, View # ------------------------------------------------------------------------- # Classes: # ------------------------------------------------------------------------- class SampleClass(HasTraits): """ This Sample class is used to demonstrate the InstanceEditor demo. """ # The actual attributes don't matter here; we just need an assortment # to demonstrate the InstanceEditor's capabilities.: name = Str() occupation = Str() age = Range(21, 65) registered_voter = Bool() # The InstanceEditor uses whatever view is defined for the class. The # default view lists the fields alphabetically, so it's best to define one # explicitly: traits_view = View('name', 'occupation', 'age', 'registered_voter') class InstanceEditorDemo(HasTraits): """ This class specifies the details of the InstanceEditor demo. """ # Create an Instance trait to view: sample_instance = Instance(SampleClass, ()) # Items are used to define the demo display, one item per editor style: inst_group = Group( Item('sample_instance', style='simple', label='Simple', id="simple"), Item('_'), Item('sample_instance', style='custom', label='Custom', id="custom"), Item('_'), Item('sample_instance', style='text', label='Text'), Item('_'), Item('sample_instance', style='readonly', label='ReadOnly') ) # Demo View: traits_view = View( inst_group, title='InstanceEditor', buttons=['OK'], resizable=True ) # Create the demo: demo = InstanceEditorDemo() # Run the demo (if invoked from the command line): if __name__ == '__main__': demo.configure_traits() traitsui-7.2.1/traitsui/examples/demo/Standard_Editors/RangeEditor_demo.py0000644000076500000240000001102314046644454027424 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! """ Range editor A Range Trait holds a numeric value which is restricted to a specified range. This example shows how the RangeEditor's simple and custom styles vary depending on the type (integer or float) and size (small, medium, or large integer) of the specified range. The example also shows how multiple Groups at the top level of a View are automatically placed into separate tabs. For an example of how to dynamically vary the bounds of a Range trait, see the *Dynamic Range Editor* example. Please refer to the `RangeEditor API docs`_ for further information. .. _RangeEditor API docs: https://docs.enthought.com/traitsui/api/traitsui.editors.range_editor.html#traitsui.editors.range_editor.RangeEditor """ from traits.api import HasTraits, Range from traitsui.api import Item, Group, View class RangeEditorDemo(HasTraits): """ Defines the RangeEditor demo class. """ # Define a trait for each of four range variants: small_int_range = Range(1, 16) medium_int_range = Range(1, 25) large_int_range = Range(1, 150) float_range = Range(0.0, 150.0) # RangeEditor display for narrow integer Range traits (< 17 wide): int_range_group1 = Group( Item( 'small_int_range', style='simple', label='Simple', id='simple_small' ), Item('_'), Item( 'small_int_range', style='custom', label='Custom', id='custom_small' ), Item('_'), Item('small_int_range', style='text', label='Text', id='text_small'), Item('_'), Item( 'small_int_range', style='readonly', label='ReadOnly', id='readonly_small' ), label='Small Int' ) # RangeEditor display for medium-width integer Range traits (17 to 100): int_range_group2 = Group( Item( 'medium_int_range', style='simple', label='Simple', id='simple_medium' ), Item('_'), Item( 'medium_int_range', style='custom', label='Custom', id='custom_medium' ), Item('_'), Item('medium_int_range', style='text', label='Text', id='text_medium'), Item('_'), Item( 'medium_int_range', style='readonly', label='ReadOnly', id='readonly_medium' ), label='Medium Int' ) # RangeEditor display for wide integer Range traits (> 100): int_range_group3 = Group( Item( 'large_int_range', style='simple', label='Simple', id='simple_large' ), Item('_'), Item( 'large_int_range', style='custom', label='Custom', id='custom_large' ), Item('_'), Item('large_int_range', style='text', label='Text', id='text_large'), Item('_'), Item( 'large_int_range', style='readonly', label='ReadOnly', id='readonly_large' ), label='Large Int' ) # RangeEditor display for float Range traits: float_range_group = Group( Item('float_range', style='simple', label='Simple', id='simple_float'), Item('_'), Item('float_range', style='custom', label='Custom', id='custom_float'), Item('_'), Item('float_range', style='text', label='Text', id='text_float'), Item('_'), Item( 'float_range', style='readonly', label='ReadOnly', id='readonly_float' ), label='Float' ) # The view includes one group per data type. These will be displayed # on separate tabbed panels: traits_view = View( int_range_group1, int_range_group2, int_range_group3, float_range_group, title='RangeEditor', buttons=['OK'], resizable=True ) # Create the demo: demo = RangeEditorDemo() # Run the demo (if invoked from the comand line): if __name__ == '__main__': demo.configure_traits() traitsui-7.2.1/traitsui/examples/demo/Standard_Editors/CompoundEditor_demo.py0000644000076500000240000000441514046644454030163 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! """ **WARNING** This demo might not work as expected and some documented features might be missing. ------------------------------------------------------------------------------- Implementation of a CompoundEditor demo plugin for Traits UI demo program. This demo shows each of the four styles of the CompoundEditor. Please refer to the `CompoundEditor API docs`_ for further information. .. _CompoundEditor API docs: https://docs.enthought.com/traitsui/api/traitsui.editors.compound_editor.html#traitsui.editors.compound_editor.CompoundEditor """ # Issue related to the demo warning: enthought/traitsui#945 from traits.api import Either, Enum, HasTraits, Range from traitsui.api import Item, Group, View # Define the demo class: class CompoundEditorDemo(HasTraits): """ Defines the main CompoundEditor demo class. """ # Define a compund trait to view: # Note: In Traits 6.1 a new Trait type `Union` has been added, which is # recommended over `Either`: # compound_trait = Union( # Range(1, 6), Enum('a', 'b', 'c', 'd', 'e', 'f'), default_value=1 # ) compound_trait = Either( Range(1, 6), Enum('a', 'b', 'c', 'd', 'e', 'f'), default=1 ) # Display specification (one Item per editor style): comp_group = Group( Item('compound_trait', style='simple', label='Simple'), Item('_'), Item('compound_trait', style='custom', label='Custom'), Item('_'), Item('compound_trait', style='text', label='Text'), Item('_'), Item('compound_trait', style='readonly', label='ReadOnly') ) # Demo view: traits_view = View( comp_group, title='CompoundEditor', buttons=['OK'], resizable=True ) # Create the demo: demo = CompoundEditorDemo() # Run the demo (if invoked from the command line): if __name__ == '__main__': demo.configure_traits() traitsui-7.2.1/traitsui/examples/demo/Standard_Editors/TitleEditor_demo.py0000644000076500000240000000756714046644454027473 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! """ Demonstrates the use of the TitleEditor. A TitleEditor can be used to dynamically label sections of a user interface. The text displayed by the TitleEditor is specified by a trait associated with the view. This demonstration shows three variations of using a TitleEditor: * In the first example, the TitleEditor values are supplied by an Enum trait. Simply select a new value for the title from the drop-down list to cause the title to change. * In the second example, the TitleEditor values are supplied by a Str trait. Simply type a new value into the title field to cause the title to change. * In the third example, the TitleEditor values are supplied by a Property whose value is derived from a calculation on a Float trait. Type a number into the value field to cause the title to changed. Please refer to the `TitleEditor API docs`_ for further information. .. _TitleEditor API docs: https://docs.enthought.com/traitsui/api/traitsui.editors.title_editor.html#traitsui.editors.title_editor.TitleEditor """ from traits.api import HasTraits, Enum, Str, Float, Property, cached_property from traitsui.api import View, VGroup, HGroup, Item, TitleEditor class TitleEditorDemo(HasTraits): # Define the selection of titles that can be displayed: title = Enum( 'Select a new title from the drop down list below', 'This is the TitleEditor demonstration', 'Acme Widgets Sales for Each Quarter', 'This is Not Intended to be a Real Application' ) # A user settable version of the title: title_2 = Str('Type into the text field below to change this title') # A title driven by the result of a calculation: title_3 = Property(observe='value') # The number used to drive the calculation: value = Float() # Define the test view: traits_view = View( VGroup( VGroup( HGroup( Item('title', show_label=False, springy=True, editor=TitleEditor() ) ), Item('title'), show_border=True ), VGroup( HGroup( Item('title_2', show_label=False, springy=True, editor=TitleEditor() ) ), Item('title_2', label='Title'), show_border=True ), VGroup( HGroup( Item('title_3', show_label=False, springy=True, editor=TitleEditor() ) ), Item('value'), show_border=True ) ), width=0.4 ) # -- Property Implementations --------------------------------------------- @cached_property def _get_title_3(self): if self.value >= 0: return ( 'The square root of {} is {}'.format( self.value, self.value ** 0.5 ) ) else: return ( 'The square root of {} is {}i'.format( self.value, (-self.value) ** 0.5 ) ) # Create the demo: demo = TitleEditorDemo() # Run the demo (if invoked from the command line): if __name__ == '__main__': demo.configure_traits() traitsui-7.2.1/traitsui/examples/demo/Standard_Editors/ColorEditor_demo.py0000644000076500000240000000366314046644454027461 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! """ **WARNING** This demo might not work as expected and some documented features might be missing. ------------------------------------------------------------------------------- Implementation of a ColorEditor demo plugin for Traits UI demo program. This demo shows each of the four styles of the ColorEditor. Please refer to the `ColorEditor API docs`_ for further information. .. _ColorEditor API docs: https://docs.enthought.com/traitsui/api/traitsui.editors.color_editor.html#traitsui.editors.color_editor.ColorEditor """ # Issues related to the demo warning: # enthought/traitsui#946 from traits.api import HasTraits from traitsui.api import Item, Group, View, Color # Demo class definition: class ColorEditorDemo(HasTraits): """ Defines the main ColorEditor demo. """ # Define a Color trait to view: color_trait = Color() # Items are used to define the demo display, one item per editor style: color_group = Group( Item('color_trait', style='simple', label='Simple'), Item('_'), Item('color_trait', style='custom', label='Custom'), Item('_'), Item('color_trait', style='text', label='Text'), Item('_'), Item('color_trait', style='readonly', label='ReadOnly') ) # Demo view traits_view = View( color_group, title='ColorEditor', buttons=['OK'], resizable=True ) # Create the demo: demo = ColorEditorDemo() # Run the demo (if invoked from the command line): if __name__ == '__main__': demo.configure_traits() traitsui-7.2.1/traitsui/examples/demo/Standard_Editors/ButtonEditor_demo.py0000644000076500000240000000404414046644454027650 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! """ Implementation of a ButtonEditor demo plugin for Traits UI demo program. This demo shows each of the two styles of the ButtonEditor. (As of this writing, they are identical.) Please refer to the `ButtonEditor API docs`_ for further information. .. _ButtonEditor API docs: https://docs.enthought.com/traitsui/api/traitsui.editors.button_editor.html#traitsui.editors.button_editor.ButtonEditor """ from traits.api import HasTraits, Button from traitsui.api import Item, View, Group, message # ------------------------------------------------------------------------- # Demo Class # ------------------------------------------------------------------------- class ButtonEditorDemo(HasTraits): """ This class specifies the details of the ButtonEditor demo. """ # To demonstrate any given Trait editor, an appropriate Trait is required. fire_event = Button('Click Me') def _fire_event_fired(): message("Button clicked!") # ButtonEditor display # (Note that Text and ReadOnly versions are not applicable) event_group = Group( Item('fire_event', style='simple', label='Simple', id="simple"), Item('_'), Item('fire_event', style='custom', label='Custom', id="custom"), Item('_'), Item(label='[text style unavailable]'), Item('_'), Item(label='[readonly style unavailable]') ) # Demo view traits_view = View( event_group, title='ButtonEditor', buttons=['OK'], width=250 ) # Create the demo: demo = ButtonEditorDemo() # Run the demo (if invoked from the command line): if __name__ == '__main__': demo.configure_traits() traitsui-7.2.1/traitsui/examples/demo/Standard_Editors/RGBColorEditor_demo.py0000644000076500000240000000372614046644454030014 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! """ **WARNING** This demo might not work as expected and some documented features might be missing. ------------------------------------------------------------------------------- Implementation of a RGBColorEditor demo plugin for Traits UI demo program. This demo shows each of the four styles of the ColorEditor. Please refer to the `RGBColorEditor API docs`_ for further information. .. _RGBColorEditor API docs: https://docs.enthought.com/traitsui/api/traitsui.editors.rgb_color_editor.html#traitsui.editors.rgb_color_editor.RGBColorEditor """ # Issue related to the demo warning: enthought/traitsui#939 from traits.api import HasTraits from traitsui.api import Item, Group, View, RGBColor # Demo class definition: class RGBColorEditorDemo(HasTraits): """ Defines the main RGBColorEditor demo. """ # Define a Color trait to view: color_trait = RGBColor() # Items are used to define the demo display, one item per editor style: color_group = Group( Item('color_trait', style='simple', label='Simple'), Item('_'), Item('color_trait', style='custom', label='Custom'), Item('_'), Item('color_trait', style='text', label='Text'), Item('_'), Item('color_trait', style='readonly', label='ReadOnly') ) # Demo view traits_view = View( color_group, title='RGBColorEditor', buttons=['OK'], resizable=True ) # Create the demo: demo = RGBColorEditorDemo() # Run the demo (if invoked from the command line): if __name__ == '__main__': demo.configure_traits() traitsui-7.2.1/traitsui/examples/demo/Standard_Editors/SetEditor_demo.py0000644000076500000240000000662314046644454027135 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! """ Implementation of a SetEditor demo plugin for the Traits UI demo program. The four tabs of this demo show variations on the interface as follows: - Unord I: Creates an alphabetized subset, has no "move all" options - Unord II: Creates an alphabetized subset, has "move all" options - Ord I: Creates a set whose order is specified by the user, no "move all" - Ord II: Creates a set whose order is specifed by the user, has "move all" Please refer to the `SetEditor API docs`_ for further information. .. _SetEditor API docs: https://docs.enthought.com/traitsui/api/traitsui.editors.set_editor.html#traitsui.editors.set_editor.SetEditor """ from traits.api import HasTraits, List from traitsui.api import Item, Group, View, SetEditor # Define the main demo class: class SetEditorDemo(HasTraits): """ Defines the SetEditor demo class. """ # Define a trait each for four SetEditor variants: unord_nma_set = List( editor=SetEditor( values=['kumquats', 'pomegranates', 'kiwi'], left_column_title='Available Fruit', right_column_title='Exotic Fruit Bowl', can_move_all=False ) ) unord_ma_set = List( editor=SetEditor( values=['kumquats', 'pomegranates', 'kiwi'], left_column_title='Available Fruit', right_column_title='Exotic Fruit Bowl' ) ) ord_nma_set = List( editor=SetEditor( values=['apples', 'berries', 'cantaloupe'], left_column_title='Available Fruit', right_column_title='Fruit Bowl', ordered=True, can_move_all=False ) ) ord_ma_set = List( editor=SetEditor( values=['apples', 'berries', 'cantaloupe'], left_column_title='Available Fruit', right_column_title='Fruit Bowl', ordered=True ) ) # SetEditor display, unordered, no move-all buttons: no_nma_group = Group( Item('unord_nma_set', style='simple'), label='Unord I', show_labels=False ) # SetEditor display, unordered, move-all buttons: no_ma_group = Group( Item('unord_ma_set', style='simple'), label='Unord II', show_labels=False ) # SetEditor display, ordered, no move-all buttons: o_nma_group = Group( Item('ord_nma_set', style='simple'), label='Ord I', show_labels=False ) # SetEditor display, ordered, move-all buttons: o_ma_group = Group( Item('ord_ma_set', style='simple'), label='Ord II', show_labels=False ) # The view includes one group per data type. These will be displayed # on separate tabbed panels: traits_view = View( no_nma_group, no_ma_group, o_nma_group, o_ma_group, title='SetEditor', buttons=['OK'] ) # Create the demo: demo = SetEditorDemo() # Run the demo (if invoked from the command line): if __name__ == '__main__': demo.configure_traits() traitsui-7.2.1/traitsui/examples/demo/Standard_Editors/TupleEditor_demo.py0000644000076500000240000000364614046644454027475 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! """ **WARNING** This demo might not work as expected and some documented features might be missing. ------------------------------------------------------------------------------- Implementation of a TupleEditor demo plugin for Traits UI demo program. This demo shows each of the four styles of the TupleEditor. Please refer to the `TupleEditor API docs`_ for further information. .. _TupleEditor API docs: https://docs.enthought.com/traitsui/api/traitsui.editors.tuple_editor.html#traitsui.editors.tuple_editor.TupleEditor """ # Issue related to the demo warning: enthought/traitsui#939 from traits.api import HasTraits, Tuple, Range, Str from traitsui.api import Item, Group, View, Color # The main demo class: class TupleEditorDemo(HasTraits): """ Defines the TupleEditor demo class. """ # Define a trait to view: tuple = Tuple(Color, Range(1, 4), Str) # Display specification (one Item per editor style): tuple_group = Group( Item('tuple', style='simple', label='Simple'), Item('_'), Item('tuple', style='custom', label='Custom'), Item('_'), Item('tuple', style='text', label='Text'), Item('_'), Item('tuple', style='readonly', label='ReadOnly') ) # Demo view traits_view = View( tuple_group, title='TupleEditor', buttons=['OK'], resizable=True ) # Create the demo: demo = TupleEditorDemo() # Run the demo (if invoked from the command line): if __name__ == '__main__': demo.configure_traits() traitsui-7.2.1/traitsui/examples/demo/Standard_Editors/FileEditor_demo.py0000644000076500000240000000370314046644454027255 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! """ **WARNING** This demo might not work as expected and some documented features might be missing. ------------------------------------------------------------------------------- Implementation of a FileEditor demo plugin for Traits UI demo program. This demo shows each of the four styles of the FileEditor. Please refer to the `FileEditor API docs`_ for further information. .. _FileEditor API docs: https://docs.enthought.com/traitsui/api/traitsui.editors.file_editor.html#traitsui.editors.file_editor.FileEditor """ # Issue related to the demo warning: enthought/traitsui#889 from traits.api import HasTraits, File from traitsui.api import Item, Group, View # Define the demo class: class FileEditorDemo(HasTraits): """ Defines the main FileEditor demo class. """ # Define a File trait to view: file_name = File() # Display specification (one Item per editor style): file_group = Group( Item('file_name', style='simple', label='Simple', id='simple_file'), Item('_'), Item('file_name', style='custom', label='Custom'), Item('_'), Item('file_name', style='text', label='Text'), Item('_'), Item('file_name', style='readonly', label='ReadOnly') ) # Demo view: traits_view = View( file_group, title='FileEditor', width=400, height=600, buttons=['OK'], resizable=True ) # Create the demo: demo = FileEditorDemo() # Run the demo (if invoked from the command line): if __name__ == '__main__': demo.configure_traits() traitsui-7.2.1/traitsui/examples/demo/Standard_Editors/BooleanEditor_simple_demo.py0000644000076500000240000000507214046644454031327 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! """ Boolean editor (checkbox or text) A Boolean (True/False) trait is displayed and edited as a checkbox, by default. It can also be displayed as text 'True'/'False', either editable or read-only. This example also shows how to listen for a change in a trait, and take action when its value changes. It also demonstrates how to add vertical space and a Label (plain text which is not editable.) Please refer to the `BooleanEditor API docs`_ for further information. .. _BooleanEditor API docs: https://docs.enthought.com/traitsui/api/traitsui.editors.boolean_editor.html#traitsui.editors.boolean_editor.BooleanEditor """ from traits.api import HasTraits, Bool, Int from traitsui.api import Item, Label, Group, View class BooleanEditorDemo(HasTraits): """ Defines the main BooleanEditor demo class. """ # a boolean trait to view: my_boolean_trait = Bool() count_changes = Int(0) # When the trait's value changes, do something. # The listener method is named '_TraitName_changed', where # 'TraitName' is the name of the trait being monitored. def _my_boolean_trait_changed(self): self.count_changes += 1 # Demo view traits_view = View( '10', # vertical space Item('my_boolean_trait', style='simple', id='simple'), '10', # vertical space # We put this label in its own group so that it will be left justified. # Otherwise it will line up with other edit fields (indented): Group( Label('The same Boolean trait can also be displayed and edited as ' 'text (True/False):') ), '10', # vertical space Item( 'my_boolean_trait', style='readonly', label='Read-only style', id='readonly' ), Item('my_boolean_trait', style='text', label='Text style', id='text'), '10', 'count_changes', title='Boolean trait', buttons=['OK'], resizable=True ) # Create the demo view (but do not yet display it): demo = BooleanEditorDemo() # Display and edit the demo (if invoked from the command line): if __name__ == '__main__': demo.configure_traits() traitsui-7.2.1/traitsui/examples/demo/Standard_Editors/CodeEditor_demo.py0000644000076500000240000000326414046644454027252 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! """ Implementation of a CodeEditor demo plugin for Traits UI demo program. This demo shows each of the four styles of the CodeEditor. Please refer to the `CodeEditor API docs`_ for further information. .. _CodeEditor API docs: https://docs.enthought.com/traitsui/api/traitsui.editors.code_editor.html#traitsui.editors.code_editor.CodeEditor """ from traits.api import HasTraits, Code from traitsui.api import Item, Group, View # The main demo class: class CodeEditorDemo(HasTraits): """ Defines the CodeEditor demo class. """ # Define a trait to view: code_sample = Code('import sys\n\nsys.print("hello world!")') # Display specification: code_group = Group( Item('code_sample', style='simple', label='Simple'), Item('_'), Item('code_sample', style='custom', label='Custom'), Item('_'), Item('code_sample', style='text', label='Text'), Item('_'), Item('code_sample', style='readonly', label='ReadOnly') ) # Demo view: traits_view = View( code_group, title='CodeEditor', width=600, height=600, buttons=['OK'] ) # Create the demo: demo = CodeEditorDemo() # Run the demo (if invoked from the command line): if __name__ == "__main__": demo.configure_traits() traitsui-7.2.1/traitsui/examples/demo/Standard_Editors/DataFrameEditor_demo.py0000644000076500000240000000601114046644454030215 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! # DataFrameEditor_demo.py -- Example of using dataframe editors # Dataset from https://www.kaggle.com/mokosan/lord-of-the-rings-character-data """ **WARNING** This demo might not work as expected and some documented features might be missing. ------------------------------------------------------------------------------- To run this demonstration successfully, you must have **pandas** installed. Please refer to the `DataFrameEditor API docs`_ for further information. .. _DataFrameEditor API docs: https://docs.enthought.com/traitsui/api/traitsui.ui_editors.data_frame_editor.html#traitsui.ui_editors.data_frame_editor.DataFrameEditor """ # Issue related to the demo warning: enthought/traitsui#944 import numpy as np from pandas import DataFrame from traits.api import HasTraits, Instance from traitsui.api import View, Item from traitsui.ui_editors.data_frame_editor import DataFrameEditor class DataFrameEditorDemo(HasTraits): df = Instance(DataFrame) traits_view = View( Item( 'df', show_label=False, editor=DataFrameEditor( formats={ 'RuntimeInMinutes': '%.4d', 'BudgetInMillions': '%d', 'BoxOfficeRevenueInMillions': '%d', 'AcademyAwardNominations': '%d', 'AcademyAwardWins': '%d', 'RottenTomatoesScore': '%.2f' } ) ), title="DataFrameEditor", resizable=True, id='traitsui.demo.Applications.data_frame_editor_demo' ) # Sample Data lotrMovieData = np.array( [ [558, 281, 2917.0, 30, 17, 94.0], [178, 93, 871.5, 13, 4, 91.0], [179, 94, 926.0, 6, 2, 96.0], [201, 94, 1120, 11, 11, 95.0], [462.0, 675, 2932.0, 7, 1, 66.33333333], [169, 200, 1021.0, 3, 1, 64.0], [161, 217, 958.4, 3, 0, 75.0], [144, 250, 956.0, 1, 0, 60.0] ] ) col_names = [ 'RuntimeInMinutes', 'BudgetInMillions', 'BoxOfficeRevenueInMillions', 'AcademyAwardNominations', 'AcademyAwardWins', 'RottenTomatoesScore' ] index_names = [ 'The Lord of the Rings Series', 'The Fellowship of the Ring', 'The Two Towers ', 'The Return of the King', 'The Hobbit Series', 'The Unexpected Journey', 'The Desolation of Smaug', 'The Battle of the Five Armies' ] # Create & run the demo df = DataFrame(data=lotrMovieData, columns=col_names, index=index_names) demo = DataFrameEditorDemo(df=df) # Run the demo (if invoked from the command line): if __name__ == '__main__': demo.configure_traits() traitsui-7.2.1/traitsui/examples/demo/Standard_Editors/DirectoryEditor_demo.py0000644000076500000240000000375714046644454030353 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! """ **WARNING** This demo might not work as expected and some documented features might be missing. ------------------------------------------------------------------------------- Implementation of a DirectoryEditor demo plugin for Traits UI demo program. This demo shows each of the four styles of the DirectoryEditor. Please refer to the `DirectoryEditor API docs`_ for further information. .. _DirectoryEditor API docs: https://docs.enthought.com/traitsui/api/traitsui.editors.directory_editor.html#traitsui.editors.directory_editor.DirectoryEditor """ # Issue related to the demo warning: enthought/traitsui#889 from traits.api import HasTraits, Directory from traitsui.api import Item, Group, View # Define the demo class: class DirectoryEditorDemo(HasTraits): """ Define the main DirectoryEditor demo class. """ # Define a Directory trait to view: dir_name = Directory() # Display specification (one Item per editor style): dir_group = Group( Item('dir_name', style='simple', label='Simple'), Item('_'), Item('dir_name', style='custom', label='Custom'), Item('_'), Item('dir_name', style='text', label='Text'), Item('_'), Item('dir_name', style='readonly', label='ReadOnly') ) # Demo view: traits_view = View( dir_group, title='DirectoryEditor', width=400, height=600, buttons=['OK'], resizable=True ) # Create the demo: demo = DirectoryEditorDemo() # Run the demo (if invoked from the command line): if __name__ == '__main__': demo.configure_traits() traitsui-7.2.1/traitsui/examples/demo/Standard_Editors/CSVListEditor_demo.py0000644000076500000240000001346214046644454027670 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! """ Demonstrate the CSVListEditor class. This editor allows the user to enter a *single* line of input text, containing comma-separated values (or another separator may be specified). Your program specifies an element Trait type of Int, Float, Str, Enum, or Range. Please refer to the `CSVListEditor API docs`_ for further information. .. _CSVListEditor API docs: https://docs.enthought.com/traitsui/api/traitsui.editors.csv_list_editor.html#traitsui.editors.csv_list_editor.CSVListEditor """ from traits.api import ( HasTraits, List, Int, Float, Enum, Range, Str, Button, Property ) from traitsui.api import ( View, Item, Label, Heading, VGroup, HGroup, UItem, spring, TextEditor, CSVListEditor ) class CSVListEditorDemo(HasTraits): list1 = List(Int) list2 = List(Float) list3 = List(Str, maxlen=3) list4 = List(Enum('red', 'green', 'blue', 2, 3)) list5 = List(Range(low=0.0, high=10.0)) # 'low' and 'high' are used to demonstrate lists containing dynamic ranges. low = Float(0.0) high = Float(1.0) list6 = List(Range(low=-1.0, high='high')) list7 = List(Range(low='low', high='high')) pop1 = Button("Pop from first list") sort1 = Button("Sort first list") # This will be str(self.list1). list1str = Property(Str, observe='list1') traits_view = View( HGroup( # This VGroup forms the column of CSVListEditor examples. VGroup( Item( 'list1', label="List(Int)", editor=CSVListEditor(ignore_trailing_sep=False), tooltip='options: ignore_trailing_sep=False' ), Item( 'list1', label="List(Int)", style='readonly', editor=CSVListEditor() ), Item( 'list2', label="List(Float)", editor=CSVListEditor(enter_set=True, auto_set=False), tooltip='options: enter_set=True, auto_set=False' ), Item( 'list3', label="List(Str, maxlen=3)", editor=CSVListEditor() ), Item( 'list4', label="List(Enum('red', 'green', 'blue', 2, 3))", editor=CSVListEditor(sep=None), tooltip='options: sep=None' ), Item( 'list5', label="List(Range(low=0.0, high=10.0))", editor=CSVListEditor() ), Item( 'list6', label="List(Range(low=-1.0, high='high'))", editor=CSVListEditor() ), Item( 'list7', label="List(Range(low='low', high='high'))", editor=CSVListEditor() ), springy=True, ), # This VGroup forms the right column; it will display the # Python str representation of the lists. VGroup( UItem('list1str', editor=TextEditor(), enabled_when='False', width=240), UItem('list1str', editor=TextEditor(), enabled_when='False', width=240), UItem('list2', editor=TextEditor(), enabled_when='False', width=240), UItem('list3', editor=TextEditor(), enabled_when='False', width=240), UItem('list4', editor=TextEditor(), enabled_when='False', width=240), UItem('list5', editor=TextEditor(), enabled_when='False', width=240), UItem('list6', editor=TextEditor(), enabled_when='False', width=240), UItem('list7', editor=TextEditor(), enabled_when='False', width=240), ), ), '_', HGroup('low', 'high', spring, UItem('pop1'), UItem('sort1')), Heading("Notes"), Label("Hover over a list to see which editor options are set, " "if any."), Label("The editor of the first list, List(Int), uses " "ignore_trailing_sep=False, so a trailing comma is " "an error."), Label("The second list is a read-only view of the first list."), Label("The editor of the List(Float) example has enter_set=True " "and auto_set=False; press Enter to validate."), Label("The List(Str) example will accept at most 3 elements."), Label("The editor of the List(Enum(...)) example uses sep=None, " "i.e. whitespace acts as a separator."), Label("The last three List(Range(...)) examples take neither, one or " "both of their limits from the Low and High fields below."), width=720, title="CSVListEditor Demonstration", ) def _list1_default(self): return [1, 4, 0, 10] def _get_list1str(self): return str(self.list1) def _pop1_fired(self): if len(self.list1) > 0: x = self.list1.pop() print(x) def _sort1_fired(self): self.list1.sort() if __name__ == "__main__": demo = CSVListEditorDemo() demo.configure_traits() traitsui-7.2.1/traitsui/examples/demo/Standard_Editors/DatetimeEditor_demo.py0000644000076500000240000000376714046644454030144 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! """ **WARNING** This demo might not work as expected and some documented features might be missing. ------------------------------------------------------------------------------- A Traits UI editor that edits a datetime panel. Please refer to the `DatetimeEditor API docs`_ for further information. .. _DatetimeEditor API docs: https://docs.enthought.com/traitsui/api/traitsui.editors.datetime_editor.html#traitsui.editors.datetime_editor.DatetimeEditor """ # Issue related to the demo warning: enthought/traitsui#943 import datetime from traits.api import HasTraits, Datetime, Str from traitsui.api import View, Item, Group class DateEditorDemo(HasTraits): """ Demo class to show Datetime editors. """ datetime = Datetime() info_string = Str('The editors for Traits Datetime objects.') traits_view = View( Item( 'info_string', show_label=False, style='readonly', ), Group( Item( 'datetime', label='Simple date editor', ), Item( 'datetime', style='readonly', label='ReadOnly editor', ), label='Default settings for editors', ), resizable=True, ) def _datetime_changed(self): """ Print each time the date value is changed in the editor. """ print(self.datetime) # -- Set Up The Demo ------------------------------------------------------ demo = DateEditorDemo( datetime=datetime.datetime.now() ) if __name__ == "__main__": demo.configure_traits() traitsui-7.2.1/traitsui/examples/demo/Standard_Editors/TableEditor_demo.py0000644000076500000240000000736314046644454027433 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! """ **WARNING** This demo might not work as expected and some documented features might be missing. ------------------------------------------------------------------------------- Implementation of a TableEditor demo plugin for Traits UI demo program This demo shows the full behavior of a straightforward TableEditor. Only one style of TableEditor is implemented, so that is the one shown. Please refer to the `TableEditor API docs`_ for further information. .. _TableEditor API docs: https://docs.enthought.com/traitsui/api/traitsui.editors.table_editor.html#traitsui.editors.table_editor.TableEditor """ # Issue related to the demo warning: enthought/traitsui#948 from traits.api import HasTraits, HasStrictTraits, Str, Int, Regex, List from traitsui.api import ( View, Group, Item, TableEditor, ObjectColumn, ExpressionColumn, EvalTableFilter ) from traitsui.table_filter import ( EvalFilterTemplate, MenuFilterTemplate, RuleFilterTemplate ) # A helper class for the 'Department' class below: class Employee(HasTraits): first_name = Str() last_name = Str() age = Int() phone = Regex(value='000-0000', regex=r'\d\d\d[-]\d\d\d\d') traits_view = View( 'first_name', 'last_name', 'age', 'phone', title='Create new employee', width=0.18, buttons=['OK', 'Cancel'] ) # For readability, the TableEditor of the demo is defined here, rather than in # the View: table_editor = TableEditor( columns=[ ObjectColumn(name='first_name', width=0.20), ObjectColumn(name='last_name', width=0.20), ExpressionColumn( label='Full Name', width=0.30, expression="'%s %s' % (object.first_name, " "object.last_name )" ), ObjectColumn(name='age', width=0.10, horizontal_alignment='center'), ObjectColumn(name='phone', width=0.20) ], deletable=True, sort_model=True, auto_size=False, orientation='vertical', edit_view=View( Group('first_name', 'last_name', 'age', 'phone', show_border=True), resizable=True ), filters=[EvalFilterTemplate, MenuFilterTemplate, RuleFilterTemplate], search=EvalTableFilter(), show_toolbar=True, row_factory=Employee, ) # The class to be edited with the TableEditor: class Department(HasStrictTraits): employees = List(Employee) traits_view = View( Group( Item( 'employees', show_label=False, editor=table_editor ), show_border=True, ), title='Department Personnel', width=.4, height=.4, resizable=True, buttons=['OK'], kind='live' ) # Create some employees: employees = [ Employee(first_name='Jason', last_name='Smith', age=32, phone='555-1111'), Employee(first_name='Mike', last_name='Tollan', age=34, phone='555-2222'), Employee(first_name='Dave', last_name='Richards', age=42, phone='555-3333'), Employee(first_name='Lyn', last_name='Spitz', age=40, phone='555-4444'), Employee(first_name='Greg', last_name='Andrews', age=45, phone='555-5555') ] # Create the demo: demo = Department(employees=employees) # Run the demo (if invoked from the command line): if __name__ == '__main__': demo.configure_traits() traitsui-7.2.1/traitsui/examples/demo/Standard_Editors/FontEditor_demo.py0000644000076500000240000000412414046644454027302 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! """ Font editor A Font editor in a Traits UI allows the user to select a font from the operating system. Typically, you then pass the Font trait to another UI editor, which uses it to display text. You can also read the Font trait as a string, or access its individual attributes (note that these attributes are specific to the UI toolkit -- QT or WX.) The default 'simple' Font editor style is usually the most useful and powerful style - it pops up a font selection dialog which is specific to the OS and toolkit. This example also displays some other less common style choices. Please refer to the `FontEditor API docs`_ for further information. .. _FontEditor API docs: https://docs.enthought.com/traitsui/api/traitsui.editors.font_editor.html#traitsui.editors.font_editor.FontEditor """ from traits.api import HasTraits from traitsui.api import Item, Group, View, Font class FontEditorDemo(HasTraits): """ Defines the main FontEditor demo class. """ # Define a Font trait to view: my_font_trait = Font() # Display specification (one Item per editor style): font_group = Group( Item('my_font_trait', style='simple', label='Simple'), Item('_'), Item('my_font_trait', style='custom', label='Custom'), Item('_'), Item('my_font_trait', style='text', label='Text'), Item('_'), Item('my_font_trait', style='readonly', label='ReadOnly') ) # Demo view: traits_view = View( font_group, title='FontEditor', buttons=['OK'], resizable=True ) # Create the demo: demo = FontEditorDemo() # Run the demo (if invoked from the command line): if __name__ == '__main__': demo.configure_traits() traitsui-7.2.1/traitsui/examples/demo/Standard_Editors/HTMLEditor_demo.py0000644000076500000240000000464514046644454027150 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! """ HTML editor The HTML editor displays simple formatted HTML text in a Traits UI view. If the text is held in an HTML trait, then the HTMLEditor is the default. If the text is held in a Str trait, then you may specify the HTMLEditor explicitly if you wish to display it as HTML. The supported subset of HTML tags and features depends on the UI toolkit (WX or QT). This editor does not support style sheets. It does not support WYSIWYG editing of the text, though the unformatted text can be edited in a plain text editor. The HTML editor can optionally be configured to do simple formatting of lists and paragraphs without HTML tags, by setting the editor's 'format_text' parameter True. Please refer to the `HTMLEditor API docs`_ for further information. .. _HTMLEditor API docs: https://docs.enthought.com/traitsui/api/traitsui.editors.html_editor.html#traitsui.editors.html_editor.HTMLEditor """ from traits.api import HasTraits, HTML from traitsui.api import UItem, View, HTMLEditor # Sample text to display as HTML: header, plus module docstring, plus # some lists. The docstring and lists will be auto-formatted # (format_text=True). sample_text = ("""

    HTMLEditor example

    """ + __doc__ + """ Here are some lists formatted in this way: Numbered list: * first * second * third Bulleted list: - eat - drink - be merry """) class HTMLEditorDemo(HasTraits): """ Defines the main HTMLEditor demo class. """ # Define a HTML trait to view my_html_trait = HTML(sample_text) # Demo view traits_view = View( UItem( 'my_html_trait', # we specify the editor explicitly in order to set format_text: editor=HTMLEditor(format_text=True) ), title='HTMLEditor', buttons=['OK'], width=800, height=600, resizable=True ) # Create the demo: demo = HTMLEditorDemo() # Run the demo (if invoked from the command line): if __name__ == '__main__': demo.configure_traits() traitsui-7.2.1/traitsui/examples/demo/traits_ui_demo.jpg0000644000076500000240000012430314046644454024131 0ustar aayresstaff00000000000000ÿØÿàJFIFÿÛC     ÿÛC   ÿÂà€"ÿÄÿÄÿÚ ðP(@¨rÎïˆAT@QDPQÀ :e÷ AÛqt#¡ßàR€ ¨*( zž/,>ƒKçsi‹Þ :G8ôn> §Ìd TPE@p‚ JOØš¼pt¹½)èi;§Ï_æÞ£J€ €Šñ.Ik»é¸ñ_©|ܘµ¼ïvØòO8úr.zgÇÑß;û¯…âÔr5[óåïJèr¶¹xíf¶ÞWw¢Õ>o-Uë  ƒQÈ ¨ €¤úúöáœ[ØØqt=¼ÐÔ·O‹¦†ó è¾ùï£yaà Rˆ /²xуêx¾]5M±üö›/Ó~Oç†3é\ÿ…êòƒ*µôÇ“ùù¦}žñTß¹|¤VÿÖ~gzóŒao¿x]R¾ŒÀù‰‹Þ;¿5mý+çã'¿y¾$_qãy9#7P RF‘£Ðj9ЀЇŸ­†ÅgR»ÇêpÎýæ £‘Jõ}Õ=Ï} ÷ö/Q>ÇùÇ&ú²l_&ž—ëÙ_•ϱ<O6O©0&C¶Ôë|®¾Û¨Øù¨ôÍ–WÀ4ÞÓÈÂaÛêø¬X|¾÷Ôö>o>ò;qÇÒË„ù¤ÕåwЀéÇj"³'Œ…²0c^Ѩ ˆ Ñ:;YúQÂò‹zî'­OÝèÓÌ^Œß/·‰æ^­æ™L¿M˜§z˜ú‘ë>íÞyÓÊ oÑÿ*nù¦íÞs‡>¨Æy â³è_9÷jIðξOfÊa³±ï]ß"§ƒMÙñ~¶Ç¶ùg;Ž{&ÛȸÝMzƃÈçW¦ô<¿Q‹×<Ÿ•=FN.TÔú?€öë}œ­„·èŒ^_•‹¹…ìr7€2 ¢ÈmÂUŠÄEvM^Á¨æˆ*z¿;Ðâ·i2Û0èût[ÿ£ÇA·lüo¡A—Ù”Îy¯¥yùÇíð¹.úŸ—z¡è>!ìÞ(aæÐhÝHTߤPQPAADQ@U4•í×+Af¼sDDÉ1®A5™¿s:9+ž0’û¶{Øþ¿D¯â} ˆ%W®p0[¬NÌr^wé>g“±ê~_êF¯Æ}wÇŒ[UêïAÕk|o¯Ên3¡ñþ“å=—“vxvkß¼¿ï|<8³Ë€%ŠDßIªr×#tºW›àìr‹Å˜ ((¢( ª¦š½Šåx'€‚)b#cØ5ª‡[Ó¼çØãÁ·Ñãï\çÛùÉy®Ž”\ù°ÊêU„çcôù˜åü¿Ô<»&‡Ô<ËÓNÇ‘ú§’kOAù_S­¥åèüg±Îzw›ú=åÃù7ºeú±óšº¯>û¿n_+©è> ï-faÙ>1FÊ Ê*§è4¢\ˆ€T«ÒûZ¹w5÷?VâÍÇ©äý|ÜnÇó³A·Øüß°òûÁ@QAE#‡óW!‚XH¢’!‘½ƒQZj>’ù×é¨Ê֭Б隸eÕg.|oRZÅ·Vš³ü§+n9Ÿ.ôÿ/­G¥ù¿¤<·Ó<²^?c9Üãìú*×#?à=çWeòÝŸ©òþ‡¡äŽ.í—k±]<¸à=ï†+i©‡På˜ìêÉÆt˰Ú)qèMÏë÷éµqizŽ}'+¹OÝsbò:ÜFŠ˜S³Æëø¾‰<7P¢‚Ž8®;ç¬C °‘E$cækšn>£ù—êXò~¿³e$¯gNVJÌ®¹ZX´úóVVš»qËù—¥yµk}Ͻo—z_–œ~… öØI™ó~•fã~¯:K+2KQ< ùÀP µè5z»íMï¹9üîž'c)•}-Vr7oÅÝNWOÍî´£¿?ëG#G‡‡ˆõyЯj±Z Ç$dl{ESÔþ‡ðÿd?»BîXsæ¥s›ib'’¾iö ’±ík¶ãó¯@À› îpVòoUóŒ÷ ù+!jz3žLÖµìã'z¾Ý|’í1@Q@Ä¿HîÇÑðü*^§C*Ké?/g—./P;£|ãw¦vŠ(î Å$BBí[õ uíÖ+Å<$l{Ú«Ó=ŸÒð[8Çôy—òÕr¥Ž}²:9I^˹ö.Xá¤ù0ø†DÙí1»—úo—•¨=­ QoPé éõñÆëOãN¯páy®»«e½{aqù˜ú§…_9§—2£Ø‚9b8Zä­&š×Ÿcy/"èö_'?+_kÏråæÎÕñ>ž;³èðy HH—©tè”+]ªU†Ä,‘„}Þ”÷í ¤ÎÞ…SŸj¼ÚvKq”’fEV¹ó׌»šlž{›îqMž·)ª9¾]éþXFÕm((ŠkãÍzÃlœúw¨*Y¨A^X!‘º:»ø—Ь­f\±š>ƒq°¥ÔZe ª¶ƒ·Ã™nO[ˆy_SÜ6}žGTàà÷š¦×4ÇËëzœ®—Í~×o;ÓÉç£9F8²4Çc˜¬JJözOÆ€.¡Üëɞׯ”:Lö'ß?ýGâz6-Àg<—G®ÒðÌÖÉé¸;àý}~º¾]pôuÁ[Ñ“9ëþÈùÙ?ÐÆKÙ$³³‹Î·@­RÅR'€‰®aÛ÷¿÷(Ñô(t®3,Veö«ÍŽhÜÿÎLö·›<ÏCÒ›.—>ñÅìqÕU’F +ØùuÕòÕ>w³íq"fÎ(æ‰2çµ%I±ßbzögžíó<ÁJNïдsIç=þ´¶“þE­?ŽèÙ fÿ\¶Ni½¥¡¢±iûMy¦!lj¤+á¿§*'Ò×;® Œôëoë¢é¾sTYɩёY‰Q¬ë4ÕaEÕ×é *+•×Õ´41¤j«©îR.þîšÚ.€™”½³¯„¯‡Ñc?Dº7"¢}:í^Ö1S+VÓD‘S¡%Eå.¬`D=<†õTrUâjët­mlêýLÕµBj®­*k”ÕdÚë&u,&¡YõñçUÃÞm³‘a)±”nK~  W&½•'`mŒ‰Eà:žÇˆ>"Šb ž¬’™Ÿ~$~„þ8¸–2uDMw§Q ØÔ_LŠï^À“1χ?‰®›ÝA d[ùpìuìÿÏÞ ‰O|=û7¯¦.ªÔQWgY¡jdÄ-M%/\jµʾûõî=s d • !ËyˆØ' ¸lXN]ŒšÊÎY5% ³NÀÛ9œ‰ý‘^Hx„‘S+.OÁWZ¾jëfþ½œÖóÝ)2˜íEäªuÄÛEµä«•×k UÑ#Ú¹ÖÛTH¸‰Wª¤ÔÃ=sg×ëë-ÙëYöHª³r¦m¾£~æ5f«•W ç2fÏĉí7m¬§Û"ºÁÚ¹ù _£P¿NÕ¥’í¥T_H§µõƒì¯WÉz=uƒµ’]É6êo^§nÒÅv’+5LÊÔKÖ³$·ÇY¿;TÈžÍMÓÕÊÅvouÌ2ä¶Ú]mqFe ’¨.>bý%^ š§†FXhÔfidMÂù ^±E8}X‡r~½Ø™É ©á¡¶‰#TÝŠZ¾mtµ\s>À„šÖi  Óñ¤$H!'ÝT‰jÄ;¶}F >ñ9 ö¿Ö˜0`ÁƒëPUs¯%$‚Ô/bº ¬dRÕ“NÝ¥•¹éУ&Ëh¶ûH!#ßU ÊúKƒîŸCM-åÖiü èÄvS)ÛÌšÖ$i–ƒÚuÄ œŒ¯õ 0`ú±Úã¿´EbÎÑ#øÖ³)jø¦Ù7¬ïQwFp²AE±÷_C¾øžµ‚Á_Kr`ÂÄ]e+qP–¶•aš”]çHy5 w?©¼ó'áðaÆ@ž J#óÌ0`ÁõjK6KK-N˜åœªz³"І 2߈öVÑÄ$ŒädîØû^½«÷Äõ­'ô÷'ÚbvY]§l'ù¸ÕeþrWºôžä9ç5J ¹9?¦ez¡èã”Päž ehósÞPn Ü À$‰-IÞýô´áîóL0`Áõi 3*ôÔ}CËIµG:µ“ŒÞKdG›%à» *Æâ#ˆå¢¼WDß¶rº¼XŸƒryz *£Ô'kM¤4Ñ4ÝQœ”}÷Šèë94±Ö,á7 ¸ÆFÅÜØãõ4ã<%‚¶Šc€°|ƒPã˜8 „’#•1Ê: —Ô…™Sp’€M˜Žë}êcõè.ÃóL0`ÁõhÓßÑèÅeÒHî.×64–\Üü2ÈÜÁáIA Èþ¡Áaö?úC÷@ô±?ÙÕ¶ùJq'U!Ù¨b ‰böDÖÔµ<“ Pxj·ÖÉÈ üCrLm#äƒyC~á±&t£m"ɵÂÓ5Èß‚¯^’ôó 0`Áõi i”l¥·stø©43(È4£I)ò@l¸dF70G=Y”±gÙ?rº¥÷n>ø¢ýÔœRoT–µ+¤Ô¹ ß%`¬Ò±xæôy¤£ R]!ÆP)$!p¦8å>GÈÖ¥G‹Ë11~À¯wK~Ï0Áƒ­T[aT#‡Xú·<$9°ã¥n23Hᑸ@ŒdJVd¬[~+_rº¤óçõºBbͲÔkx}NzŒ$Èg· qkþ•!ýa$l¦²Ñ¨š”£íécíùŠ ^q¼®™¶–•¹)~" ¢ >¥bs7H'3®Uß4’×Ýk‚ž.p»BnØÁ-Ñ#kqR jCîEC^×ýò¾ÿ^¾Qód‰N¶¦\ÞcÃ0ˆÉÂÕ70C?rqõÔü–Žä¦|5`Ä­%£—¥í`‘¤Ò}L u!3òÚë'øÒ™ÄÓ–3Do‡ÒÖø~ÛÁí´›ºb{Aè#õˆ  DAD 0}4éÌ­ží©æ[G™oûJ’eÙІGÔhl ܉gôÉ5!öÅC~×½Ïýß"±_01¾r?Q.­#FÈ…u>‹ñ í¤Åø…XfW~àÐÐ,;áé4Ñóó*¾Lu)㓲e>ç»@ØÌ>DhBÓ± ’b ƒÌÄÈ8ö s½ÄPô(²Eå;pÓÐ@ D‚È(‚‚ƒÓJžö“NÚùêÌö8J7&ƒã…ÝdàÞH,ädNBŠ"B†£?/¤/D{]õ_jÏÈiÕ0ëêK­XÄån:ÝèxI¥(l×ÔF—Zí[aUÄÈrËH9¶9„(4ëMª¬º†?_Ht£êê'Òªº‹a7@8’›BôE.3ˆa1ôƒØjÔ ˆméwÙ3»dïbÆFEÂx:  ˆ DAA@Áƒé¦O§S²ªv{&àÚXކÉ{`’–¬Ìz4¥6HLj„5æD_H^‰öºÔü;fˆRŠ©$û[h’‘{øunbµk<›† Àkv—J[cœYŽ+F"Ù¿ã뛆ˆõE\±Éé‹Z!ãRfjÚWñÜ[:‚+¤J%ý¶½ÙÒ>çL¤ï€@"@ˆ ERq ­<:÷T•>M®H8éØÇ fkèCjXm’@ÀÀ¸ûbðó.(‡è^×ý‡ëåRäâ¤$_~iý‡Úf Á‡=6&0PÞ1È<9W¨|´Ç$ÚA“8æ m¶!j ½O:IC~¦“ËÒô¶¿'ît¯ÑÔít D" ¦½„ÑpÚB7‘# q„¼JQ6IŒ·VˆäChÀÀÀºö˜Y‹sÌȧÿ™?hý|ªOÄHH¿ü:ãú7µ<œ–³ÍÇ0a$vNçß1ÌHPÌ¥Ó¬‘ɬ& ”‡ › á B‚™³øT³ |-a³­ÓëÚô5 `äzôŸ¤Ôí–@"@ˆ  L{<3À3R“ÝS+p5 (Ñ´m^å YeÆ=Û+ìyXŸ†BûðàÒ,ûUÚ8D1Ä4Ž}ÑóŸSÆ ÅK1xi²•ÍJÈ«_ɳÊ:šŒ»w£=‰ÄÒ" ’ 1‚ܺæþ¥îÖ\]O†ÊÑ´mFÑs÷Ö10ó*0‹è¯lÏÇP?*ðȽü8Gô«>Þ“ëÔ²•<ûÇCkØäEoŽ2êH.siÖâNI)¾(â! Ä-ËêH@ˆ$‚H,,((0}¾mb dáªLpÔ8 @¢Lt"II˜Y…§N§3 zBíþMÇrDŸo^ÅY–ñ‰Šðý^ëÑÏm㨔¤î áŽQC•Xå\`¡‚Š‚I6#¼SãÈciôÃk‘…c%K!3“$ð§‰qiÆ2ìë @A$AFaF Á˜>8œ9í@2ã:¢7œY˜#ìÜ222222&/219^ >äoXáßmØP?ê0é°ã›d"›U‰³¡H´dfcl‡)ÙqJ£@«Š?ÒÇb<‚ @‚BBH$‚H)AF`ϤÆFŸìfãBWj•¹çâoÆñ¸n†á¸>¼­å x }Ⱦ¬}¶_i@ÿ§€DªÛ[E'“Ú‰IµLdö)[RÙš#FRÈ’âˆøŠ1¸n!¼n1»´–‘)ÜERƒŠÜëÕŸG…P?3M«üq#{cM>¤âñ¼’ €g×An\2Ý1óðwön†Fá¸n,–®09ilI²im)AÅ çÝëÕ¯GE¹A^f:4Û¤˜Ê8Ø“5¾—‰CxÞ7 ½®y$ @‚BBBBzñ tšÂÌùᚈ‚çÇl*ê!^²x³o,ÁϘ n¾°mÁ0ÑÂB”biöE~Ž‹z‚¼¬ £hÚ#Ï\V•tøUÜ€åÌ¥?(Ù ¦I&@Ê–01ä @ ò+K2âËå›f¹(0HJz22227 ÃpÞ µ †"ˆ¿G¶ÜP?#hÚ6£hÚ6£hÀÀÀÀÀÀÀÇ\$$$$$#Ȫ/Ï·#########pÜ2 AF%˜Š"„z8}³>âù@ˆ £hÚ6£hÚ6£hÚ6Œ y A!!!!!>EX3aBPŠ#bϽ$ûê× D4¼&eŠøL¹¦féžF3ZMÅ¢ª1.ÒÊ…ý7Áí PƒÓn‘7§MO&…NN^žQ* ¹‡ŠÓTš±€uò¤Ò”¥–ž&Ýrª‹GB¦ØiÖܵŸNQbWÓèoiâbÉz_d˜”&Ú JÖî&,[Ó(fÅzy2lmjT¢HHHHHG‘_ØÎFFFFFFFFFFz2 „‘FôIö,û_>ú¼‚B¦ÍÚ™ïNDOÔQ¿P)mD|âÊ‘z·ØzÝ×leZœˆç|ù¨¬S~z÷0vž,—Kì\©–•fâãXK; %xòzÓrÛº[v+ÅsP¸s§Úœ¸ÌØ©ŠâÔîsS/’‰z…ÙVöȉú™ Ú9¨œ[ˆÔFÜ™óùå‚HHHHO‰je¾}Â1bS’`¥ Ç0‘ÆHâÜ2222 ’"ˆþ„®ÇWÚéäϬ@"@ˆ II‘´f£(n˜Ú6 ë¤o*÷ÖĘ/D= Ò †Ü›­)¥³r]q³m~A$HI„Ÿ—´Œp’8 ÃXä7ºC˜YlÁLàæ‡0<ˆ¡§p\~Å;•,T@ˆ!O™Ÿ* *Žã1R¢ƒé¼£k±q— ¬Ôw'¤ö¸Pã½*É–Ê5ltª†’äþ9&"ÚjM’aÇ\øMÇ–mŠå’8Þ¦ÏÌêâ¶ËlBaH(›R#Brmm{)… FÞ¼‹ÉÙô @„˜I„Ÿôð8i\‡. …¥Ä¼á}À“<šºÄ"@ˆò“â8 JX#QËRˆÔ>d­„œRÌw‚ÍK”ƒRîQ(Ö½ÄjAš×¹F­®­nŸĤžq³Þ²g2—œl6óŒƒ=ÇÔ @„˜I„Ÿ÷23Ô.‚ ’ ’ D ’ ’6£hÚ6ƒH4ƒH2AD 2@Áù Fa&èH @III$‚H$£hÚ6 Ò È ¢@È `ü’‚0“ 1ÿÄ6!01A2@ "3PQaBpq$R‘±ÁÿÚ?üûl¸äÂß“Í!'¥ê(„M°ù4Òôò•=1s¹ù4²›r ˆß©&ÿ&sƒ"¢a•ÝWþÚ=-‹ ó» ?ŠuÏ„h|•' l>ü™• ÃSàŠ_Uo…‘#ÊÚfV„&Ðp:ϼÎÁÙ,4)¨žû<äš^|Iÿ*ŠC?¼B¨¤ª‰„—ݺ2;ºsœíýˆÆ­­  naS½î™€žéî Ý ˜±\¦ÔF튮p4ÎöƒþË?µ{‰ø-š´eqyf8±Áò}s¤ñ.³S¤ Oïí£/…[–¬¢ßTnu1ݸN“†!eÓú Õe…ªÝmÖ¦ãÙtܰ‘¨Ýµ¢†IΛr ôz©þô¤7ý¯åÙ‚_òžV7kÝOÃjiÆ)@ö£`"å ‚¿7´æibdìk² B˜rWUOi…íqíìf¬…û&¸÷ó¬øLý“dÍ—¡ªªuá’ÃèÀ*÷.ä³Yó „¹g}¬>?@¥ 51ã Ä9'øÊOJo¤v0áp)¦í”vA¼Óê("¡‘Œ`…\.-[QO;¬RÏ$¿Q×Rl™éí¤v:v·$}ùçÔSQ ݃nÜCÏÄ~S Ÿì,R?Òij$è¡áoÁª<6@ £¢áí-¦c]Éþ몲è²]Ø-»&”BÂò¨Zë_»»%‰“7 ‚èQÂÝ‚îã¢îá„l9Ag5C"sXÿÔª*ªsK– If.Â^JŠ®¨Y­z‰Ú㯰éÛut9üoFF~ës±ëL!¢ë†ÊçÔãÓØbÑ_´vXKwçñÁù ?t›æ*ˆéP=†×åü,C£Vcº,Çž¾ÂxPÜ/étâ7`»Œ? :X¢8š=ó„]f6öY7²±f³åf³å íÍb24Yšxi±XÛk¬Ö,Ö¬Ö¡#I·¹ b²Úƒ6B6Ž‹-¿±Ph, Ì>U–ÔZë l„lÜbm¬„M1 Ü{£¨Y'åe”bwBŸ#t" ƒtè‰7ºÉø+(Ûu”~Qˆ–Ýe•’~SXZëßöÿÿÄK !1AQq "2@a#03BRbr‘¡±Á‚$P`sÑðC’¢²%tƒ4Sc5pÂáñÿÚ?þ+ƪ¬!êiiíþ ¢(ö‡Õ$c pþ ¾{´ '€ê3>Ù$x’‚§Q–&šgýÕPØÚ÷Ú£X›e¾¯&ÏãÔ_ë¹;Ä¢‰²Ôb*JÌ!Š*^;qÝòZ«8:°ÁÒ8ŸÝØôF‘¢©ýÝJ×ñþ²1ía~-p¨Mžk$ ³ÙÍòÖÆó°ïb³6ŒŽÏz¯|qÑÀn_°Ù¢l"®=ë[5‰§s({”VbãGcPŸ©²Á¨ç20 lp1ì`×86†¸üÔðº(…¤°Ý{™W|׎I´Ú¤<Ëø†w'¶×àã{ ‡$±³U^“)‡wî ÐƒF€‚)z•¯ãü(þʱ1;<\yv7bên õ‹Áñ h$-«¾iö‹X!ò;˜=ßîª?ç3ð¤âÕáðù-ca‘Ѷ<\€ÍY¬ÚÛ3ùÂóÀü¦Xd³½“v™¦JƵ“^ºë»uTôŽ‚ 57¥$Q5¥¯7S$‘¡¥­»‚ŠÐÀ £5F)XÜMj&ˆÝ‘† ¬"míêBúI|íØ™nÕ#Hu6¢‘çÔ#$XÞsNÕ%Ñ m:KVÃz/dì\ÈÃNðUùOwîc²ÙÉ(‚›â?ÀôÙµPrB 1Ø¥øð05wçÊ&Äÿˆòã´Gz·´< ÉIºLqi¢m¦ÎÆ:'eW€¤³ÍA#3¡¯še¦ã1?YRA-5Œ445äK$0¹ñÄ/=ûßËdçUgkÅZ&u >HE3£sˆ¯“urßwHè©É<úµ ÒPAòì?ÈgüU«ù®û¨8»þEZccKžç4¼Ð¶Û ±¼ÿ–yÄ'Of´Em -S‚d0°É+ÍÖíCÆíÖ{,‡ü¾‘ Ö¦:;e™½'C›x„ø`’(ÜÖÞò¤ÿDøh³µ‘²ûæÝˆÙŒìž‚·™¢Çð~Töv×I5À]’ˆ5ðZ_+ƒZÈI'ìˆÛ9´òÅsâƒMÈ-µÖe‡ÿA«ˆ\,«rBÏ4‘ÈâÛÕˆš&Ú-2G`‰Ø·[Ò=ȾÉj†ØG¨Ü e“ÑJçÜò›j‚1-žWÌû 1ÇÓ‚Š&ÛlòúÎŒ¢†A—psŽx…ïµ7›VeLÿ*“Ûìñ¿Ù)ÖˆäŽÕ1uÌÂd0°É+ÍÖí_´Ú᳿ØÎˆÌ×2Ós1æ!†I^hÖ·j¥¦× {ŒÕdðŒÝι}ݧVÓ†Ôxé( 1a¦>AŸek­wÝYÉ©wüŠu¥ÜæFö×ý!4Kk’7Pè\«à¿ ºS«bSê­óÊÚZbæc°š×웬ð«lE¸Ü-$’™f’ÜËI¥×?*¯ Ç£mCiºò³CgyŒ¾®qOšW^‘Ù?‡ò‡ýÛ~êyà7dÁµÝŠœÎûîôRO®IpcÜ¥-À²æö+Ž;[wxÝR®>Ú,AØ_"¸)ð«-xÕ˜B°M JZ]MõSÍ`ÐT.3}q*WÇÍsV§› _j‘¼ò=žÔÏñO Ãg ÙIü(µn2Gpçæá½[mÒFZwV¿Ñ5‘ͨ¼HMšh)xíVÛXJÚÓejªÿ‹)­ 5QÀûKgx\üª¥`É® u ÐƒFCEÆôÏÑPbJ='@Rðó ²Z]vçAÇ"7/žÊ×K´±äWäSb†ãn²(Ö¿Â1™a‘Õx”_±Mþ6bPã%{3B#ál”o‘Nà¢Ó ¤6—s»7(fu¿Å¦fš/RÏ+FbZk’G˜cæ‡Õc|OGMŽ7ÌÀ븊åŠ^¿öÌÕ¡±J×[€=ª×®‘¬%„ÄçÆàö7„rÍu²Gu×s+,ž•Ó±¢ñ/"µ©¨ù#öUqfÒŒÚk“;÷®}•öV˜l­”zGW½JØ¥kˆspDNAáZÙÌs®l*ÒÉ]pÊ×ÊÿTËD¾Ô5½&]­T1A+[ ƃ¦l¾‰ü×Se$å¯o¯(ìÖx£’à§”ÅÅJé9°ÏÒº2L—ÆõNU¢õB£[$’Jë1qëT Þ9语°"N$¯þCô@'@VŽøZîíîÈ"ãòWÝŸªºQÌØ7©>.U¨öà:ž€ÏEJ ôc%}ÝõWŸèÆÑjÙƒGÑ?Žƒ hµwÿ·44j#8zÅn`Ì Æ‹¬@› B”WÞQÐtÜ­»$S0I‹NÜtž Œ†gú«¬±4{ÌyÃê˜ød×Xåè8æãÔ|Y²¶yÏvåcŠÌ\ú‡_‘ç¤påx»el 6óžíÊ͘¹Õóßë¤øF6HjÛçP6±Ü3]©é¶*>iB0þñB8Å]¿zºÞ‘̧lhév€7]‹ãü+_÷ ÌÖžlœ× ø)ë› \>hxNÝ´ÊÿE º o(XM† Qv¬y1Dߨ#ÔcI¢!YL–,²¸)$M'3µ†Øìñ>qÓ‘íç<íÿø£ð¥®ÌÐcÀÂÑFÈvUcb‚K;ÅJ'ø1»d5“sg±D}[îm缫òY£‰îÙ¢m×4¯´ÇÚ»Àµí¼Ó‚†Ýk±ÀÈ¢$6£ ;Þ¢çXà’Îñ…ÖÒŠ[¤—Yà.$V—À8(Ûcð+]fß5§ã’Éâö°*ÉYÒâ¼]±Fmœâé.óƒk½6;lÈçrIb½÷VÃ=šE)­Œ;b¾Ï m“_Gƒ¸ªµÛ³f(¹Æ ½Ìj´VGæïïbÕ3`«ˆÍNa‹ÊºÜ]´«£‘ã èho ¸‚@x&ˆ\ˆþ¥~íÓ’g¡ú‚Zá»rçÚ&gðú9õ¿Uñø@kb—Vv~h¹°Lï…—þÅyKÑÿ1Žoá`æ;õ/FO V,pîóØŠÇD>ëÈäPõŠîj—Æ#C]†¬Ñ68d|ׯ³à®ÓÊ»j-oÌ®g8ì%]n.ÚUÖç´éª£:#7&ðÐþ;di M¸ci+ÚT‰½èè&åbȪ´»:,“µLÏ…åsæÖÿ5ÿp¼¥ŽÉ'þ+¿j,l!ŸÊ•ãòV"Õëkÿ Ýÿ’Î?se³;½íü,«ðJ ÿ4~•é@ø ÆRèW†+8wr v,¹fN@뻲‰ÎöžTÍÀ5­Eƒë9“@Bà¡?Eu¿>A]nwh“† !wÙU®;Õ›Y#ŸÎÚtãÚŽ+=-ø¼Î_Uë.›‡Òa⺠ü.Xk[Ác!ýA”î-^‰‡ár%¬{kÞ±?6¯W¹Ê Ôh¶7´¹)íV~ÚŸªŸ[*(N+œ/Šq®{Ì“€uI(r¢N€»´AÅ`ˆY"t¡Ø•Î%bWIt“8ùì Ò;æ²iý!c‹u7Od…`þ ½föáýScÓn‹c}ÞKz¿¬Íÿã ϨžOnz WÍ–4í‡è~ #¢)ÑGÍgbÄè‰Ï6ûNñ£5Íq\çW©wr œ­äޝÞ¾(Î$8R­ü €¥_±RµA»NÎKT‡ÞÐî@OŒ´ ¿õs¡;û?¾ÅtàBßÕ¦¯xS›<§?\±ÇÚЭÜ*ï9mÉ0…ìôLôþjr5Ðî:;ù2òrM‘¹„'Ž­sý #nõ@àöì#ªF÷4*F ÊæXìUs‹o+UŽ}X êÊ7:ªNÒÕEÜø¡…8.ki½ÜŒ>kyцÚÓßÉW9µXÕ«› XcÃABwWωíâÞ¥!`A]Ÿl·1ÚÉ È#­8¸¢#`Á¥s8,«Ç¬D=äÓì´•wÈ9Q¹íà>KrÇŒ*tî ±SnåWü“ƒq4ÒÞLœ|Ã¥ŒôsBkªCNEQí·Þ\ølN!s¤†»§„È]*°·¾Ïh¯ÑÿÕs-Wî!s>¢¡U KwÙÞ$û+²ÄøŽç¶ž}µôlç:¨Ýè4\òzä}˜©ß¹”ú«;{IRQ»¼5EÅvîXèÃ/kF<ÆýT€{'K9/ãæ=ƒ‡bu™ÞŠ^tNE§þ+Ó‚¬6‡ÄxÑy;V´{دú‡‚a˜ûl\®É=ªËîÍåYõª¬.ðu Ÿý¿ ï§ôDÆ-V~Ñvfý(U!µA)ö^LNÿr¬¶nûM‡Ì,E<ÓbZ%ÅýŸßõToA¸ b¼‘ôÞîhúªÏލD²iìÿ÷T©•^CUlþD Ÿ–jí¢ !>ûiÉ2È<”<çWn௠¾iݪô·lÀûX” åóžÓ@¼”1Çðµd²Së6œ)ÛD%‚¡™8¥)ìO>Ô‰þë.s¯s)±P.\v8­äüÊçà7*ЦgpN$Ó°io §qó-‘†ëÚj °·ÉÉÌ´Gì¹sqØ´®kV"Šöek_[õX8,]x{Ø®| ý8+ÑM5ÛÐÔøO\=™ ~êžðMžÖßjí ¹ûwƒk±¯¾Ï‘^BÛàûCŽÉ™©wûh¯Gfš›ìò Gàªw²VÑù(l×îÔß•ÎÃÉ—…[d³’Wyð¯RûÊÚŸªµTÝÝ4à¨Îc7£«4÷•ÑÎÞâ¨Ì½¥¼ï[†`}V‹õi‡y³ £ \”níR@ù5±Äò¹­ADvòO#šâÞs®¿â ‹{XUlÖéaÉáï£kôEͰM`~èå«Or†þ =¼§Ç¨ÅÁ4{!’=§ ¨åu¢ñöZ«z¢½Ê§œy1 '@Ñ'8Í%;Žƒ­~­´Ì6«5Ñú,#Å`À>k/ºËý«‘ð¶‹üߚƽîX¹¿êNpsn·3¹Hë âO衳‡ÐÈàÚ‹lopUu©Ä«·Lç|¦ºAíC‡&QÛÔlìàø&–Æ  éz¨ Ñ–ÞÕË—ì:\‚$áç¥ÉÜyþ–Ïô…êÐNœô®^•ÿ5Ò:`²eO-?ƒ¸}Ñ>¨ËE•Û¥iú¡É)œ9.íê Ê‹Š mÁ9ÏÄo®|Ã>.A yÆirw8éäŠ|hì4÷¼ÖkA¼í-vãUÞÝ9¬ÓÂo$Ρ÷‚rcNEÈøŠù¯Ó ¢‚ç³Y§ˆóÙr>š~>¨ù}ÑöF],îÕXaçK'àv¨Èæ6œÖ“±`åšééÄ•ÒYò‡P‹²§è»”xU^½pv ‡˜“»í¡È¡¥Þq­ªÁgE‰'”ÜÎ Ÿ^N±í½"û‡µ¸w”çHêË#‹¤wn–ÙáÛ‹žrhÞSl¶~gƒlø×lÎÞ‹c Œ}Mt–Õ‘Y–Ž’ÅÅe^¢N梳È.ah4̦TÔ¡æ%ã¡ü4 =þw¤WIfÅ’Ø.[×4Q]w¤jË.CéŸ*î>¨ùcÞ„uíÑ0°¾Gš„ïYÜ ‡] m÷bÔC„më’»€]éçh îM®§™—âÐýOVH;Ñtr€Î Ÿ+Ï &ñâäö½Õ5®›ÏªÂSÞ‹ØoøJÐ(×í3ú•¨ˆñ;úìŽÞäÕ"-2\®U<ËÏn‡h[Ç«Ãk„T\Öº¾ cva2:£Zì}œ:YÅÝu½¤•ãïƒ[JæW˜:N¥½^˜º‹â®¥ç/ej]³$íär¼qzw]ˆv&ŽÅQ…jQ$œGbúéÏ‘‰OáÉYÕáøQcÅZSœÒ\Nôô8,Nz]…œ%7Z.qi…nŒJߣ=/áæÕãá¥üxr;ºãGjˆv§ðTϖҀܺ$¬n3âr1‰£sŽÁ˜oWeNÿºé.’~;xr\ŠgeWxXš.tñÔ½-ï„Usb™ß¥slÇõ9`È™ÞJôÍoÂÅεKÝ‚ç9ïââº`ó‡W¸ÑUèܽ×£zè;ä½—£+¡õU~}q½ˆ¾íì(µwntâ±ãŠÁ wuïßn;›ü!)áÕO›¶ë£]Š­®ÅmÑ´Ì×ѯÚ2N‘Ӓ涸DnŸÔ™Y®ÌöÞ Õ›½îPE+j/ÑÍ*×5žf¹ÐÑQÙÛikçyÁ—voZÈíM’6ɫݥ­Føò9aÓ¨G®Ú­k€n#± ;$õo9…´îP]–±Êë•s H<¬N%¬ÉBd´6'ÏèÙvµN|³¶ ²jÍES¡.¿M«Áñ@ÖÆ_ ÷¹Yžéo@ù.:ó OÉO"h†:ÜciÞw¡·Éß»¬¦Íé–k#Ãy•p> Þ™j†qiλx6î*[C­ ‘º†ðBÊûP ,Ö†^åeÆhÛ@7\èèj6¬ÒLæÞ|ú¡ ›3Véäž;,K«i"¿Ù^+%¨eûÁ„ײŠÇÓ^†pH«K\i³±[2g„ãu„–û´Ú¢«¯Ç(«]K§åÔǪŸ7­ŒT]s]‘ Åa³Ee„›Î ÚŸVfD^ˆŽ7Ò˜$²JÆÝ¼~Ê9éyÍ7±SFØ#ˆÌj÷7je°42FŠSbt,…°1î¾û¾±Vsty/÷aLT–‰"l…û7pQÈÖÖ6åÒkQÅBöB#7©xš©%"…æ´Q5вWCèÞv'DæƒzMiwj39¡¤á@¬ïk5,ÕÓÚ Èb7‡ô‰ªžÓªkµ­ºæ"ö¶à­Cw(íL…Œ” ¯Ç¦,ñÂË< 7®7z´Yl¤íÈÊ`n0êH­>ªÊbñsV’¬ö£F§¢Á’¶ë§†4—õSG}¼TòYÚ&…ñÉÅ¿/š±O§ÙÈ-ÕÁ·©ØµÂ2cÞ›­eÊåÈ¢-{K\6#·Þr9ŽsMë™,–ÕÒ+¥£%‘ë2ë¶’d¢~¡Œp´áÊŠ¯3Ä⥜ 3ªÌã~ú±€%XŸ-Ìé(èÀ #‚µùGª’ÍÏ5-,ñj„UcÆeE€5Ãá"è€Ã/k5eq­¿ëƒ"SªÕÉ{0Ë ©ž!ló@×nR^migü¯y&ºœ®üm/‰‚è¥kÛMªÌ Ia¼ÒÊÜ­Rj#Œ]c/wÓjÙéXIsÚ á‚ím³G5ÂÃr}bî4év¯¾3ÒdŸkM®mSf˜Ú\Xõ”ܼ+ ²‚"k\#tN*ˈÃûL݆\ÅdŽÖd”¶g±­š—U­²Šhü˜ÛH°¸2 %™]%šÉdº*¤ùêƒCر{ŽÜÑçsÇ49Ç •ââ]¾«¤qN Š69ÂésFŒ\M{PÄá’çî+GÒ?418d¯^7·Õ^¼ooª«\Zw…zû¯oª¦ƒb«Ü]Ώ è %²9¤æANçvxæ¾êŒ(Ý{›\ès^MîgÂhªq?ý­ÿÄ+!1AQaq ‘¡±0ÁÑáð@Pñ`ÿÚ?!ÿ±_ZÿâàX]PƒËFtè¿æ\¹råÿ°-£,«Ý¼%Å ¸`*çfÜø$ãâìŠüÐÓ4f[ôxG×ÌÅ  ë‹VâŽl¬14œç|øw# 3Ì5„5½³3¹Ç-e@óBF°6%¹|gü|¯Q1&C¼ÂpfˆŽûðÜϳü;°­l°£r°æÊ6ÞõNl1¿ñ0ïh/^ ¸ÈÔû‹–u%vtDiç†ç˜n•1gBýR¬ñ ]Õ!¨¹™)«|k(>GWûi¦ÏBóäíÿ+Uh{Å FfÔ]j­Žû§Áþ#}¼çÝ=‚^š3Í“o¼DÊSU Gz‡È‰wVŬ…lÒS]X?ÕGð[‘âIùÚ¼ÐÚݦÀ qp˜ù]1~k¬M«ZnÞ§üf8çté¦\¶` ¼Wþ"-¸Ò§Ü¢m €o7Ž þì³Ñ"ÜÀêѱÒ×kÿC\ÖpÊ¥!11ݪÎÓ™,%yïC§´Éh4?äÝ£ Šoš0ðÆŽ‚+Nÿÿˆƒ³•ƒ.sw¸íÀÿá ;L$5ÝÍŒxº¹g0vyüž7À9 ‹.PNsYcNc{„NaGP“l Lƒ¯Ÿ†ü$a,CÒQSEËïàDe§D•‹é¬¹~¢Éæ¡Wœ¬~_ø¸Ã‘ÐŒ6JY„”8‹(]ÂÛC”;|ׯ¸Z›Ãð§ñùãJäÀ!+¶¦¶o'u_k™mº£t­ÿªÕ2®ãH`ÆÔÑÍ6íróª ÖÊb$X¡[ˆ†0É ìÞüTÕ«õLìnZ3PŒÉU›¶@ësT \OüGñ1zàÇãÊ k¼]¸RÒ²¡ùš/G>O6åUmæ~×T”Ãlf­—ü6„¹Etœ"]ae†kó©U¹ Í åáƒôµ s¯Ü¥¾ ÕÙz—C¤Ï¾®QÍ?¶¸+TÜ\úGH Ö±Í?Ù‰>ûË\n³vTÜßÛ‡\Ë¿À¨‡’ñ€{`˜†7¾1’à'X©Ú_)VS8ß_J”I]F‰¸&³É`*ig#u‰OëñcÒ£,#´lûFÈ"tªùù—0·ÀÝü§ð9%ÆZN¡óíÖrZ i&8^“[£í{ ȵúÊ0 ª2=aHƒP„T—7®ÚKuÞå£à"¾¡Ý’þÓUÙ5VK=HªæÀјî@¥] P¯ÍŤ¾¢ÂÕ\àµÖpÉð™N¬R·ú‡un ë!MJm65èGé¡ÌÓ0`èõF{&Ð?B¿Å ï"4™¯˜ò@ î·¯—r\%‰äü._±w¹ ÒªNê.8![Z`ÒXCW«nVq Ö²ãˆÏ0²ÏI®v¼¯ÞW‘`u:þç)˜Ç6¯Ñ<¸ ¼¢ý\•“ˆonâ9'_rh¦nTý°¶Vadv+Þ2Y¤Ø°û-¡e{R¡€+G¬yØ«“ó?µ€ö=”9üÊhâÚ×S´ÅI"ï¬ÔŠùÂȨÜ"ÕFá}~·ù¦þÆè}f‰¨uÄ-PÛ•“O»ë4mbWɼ*£ä9»†IÈAÚe˜ØAXkÌWè”Urúþ µÀ@#\‹‚½KJ•k=ñèåÊk~ s>ôÄ‚»×åñÓ©_à¥F]?~ -CÉï•eŸþ‘³BäßøŠÎ¥´áÝÚdûË Äí-úr?Èÿ‘%JúÏYòºB˜" €2¬m'EϬ~QÍ)r>|ú%pAiM(t´¿Áºz”ö’ÁtúcügùR$H‘úeV^ÓJ³Þ],0[ôŸsö¦ê†íù¥D£Ó¬$ÆÉÝtvÍsÖcŠÓÏóÄ´|_¬‘Ö[Ðêç²úˆtì•üÃüãBV‚7sÒ"+4åÐ2ð<ðâ¬7s2ÎÈ{ ” ô<¦¢*dë×O¬ÂD‰éÌ/ÍéÒ,”6ÛÎ ×r­Žl·7>j[8Õj¹²­×’hW]Ïa؇7 –õ~ïܾ\#*Q݈µ{ÍM »5>d†%½h¯Y“•×J®ðÊÔBÚlÑ]`Æf,£æYx4îªc²ˇQ ׿XŽê ~Q"6l¥¿z£»x=Ã.}â–ª´ŸÝ’…ÔwESO“…ld9uï3öå^N7e(Ñ(ù‘Ñ2ëÔj›2û£¹x”:"Òƒ¹4ÅÅ«çTkhíí0²ÒÈ ezR(@ü·˜ òàW,ueJÓ-]+v'ôÔ q–0¢‚¹“LBa{Y¥ƒv”cE˜—ðåÂA‚1€CȺ@ÏãXNˆþ#§cÅõ›€÷‘¦Ý<ïiV{t©æ3|åMºk°ôú $H‘# ½5]Þq6Dàs߸G¿¹Î9v‡Î`7èt™!ͼ‰£ nêÆuÒy4•ppLÜÙÕ3‹Ü¾R•ö–Bƒ•í/¡¤¬ì€åÝ`¯±ëAí­<¥m(æÂºÀ¶ƒJ”ª©ˆr¸ÝÄÑþ4• BX°'JšÑڪ招i~q`°I¿éEý¹¸4¥‰øü ×{É!*ëOY úÊWf?šQ-C·,Ë:;Ø 67Ö?¦3oƒÞ=Êï-áu–’9Í÷•Ú{ߌë·9~Èòp"#ÚÕ®ŒDoÔƒñt+%áåòúð¿Ûþ_qHŸ@°ÆNQ¶ Sík1 6F+a§'.ìÐsÓ——xØ¥i»™[ˆ *cšü‚ üâ/а4éP£¼µ ø/5ýÜ>¨ZůE|ÎLÖV«wÖ®?\¡pu–÷ µ¶Ó÷šLiî·æQ`€Ø'Þ=˜^×lE›¡«¤¶y¸m1Ç)±NŽÐ¨4ä¨kšmÒª˜­®ÖfLsv7&mò0˜gk—H3‹Ät£2žºZ} ;?k/0¤è˜þŽ¥Ì„H:è”Á›@ÈÔÖÄhà±y¯Ì@QkWùš'ȯ”tW¯Á‰R‘<Ã3µ¢œMÞÅ™ß{?L$cÎEëç1•ʳ|L c\§Ïí+y‹íÖcÿc™skò nÀy?¹Ñ+^I»EgÎ`šñHq€/2ü§¼ÿ<åu•ÖWY]eu™ñžñT¯¥ ‰1ƒÅþ3žÿOœßËø]¥ |Å>Ä¥[Óo)—²S̓Ò{n¹“ä>s5ã˜Á®ž%AÒñsD®y)§üà 0qøUZ>—c>D,Ö!ý« ú~å5h Àô‚åÆÄwyêí*¸m|úÌœêMx­A“SGjbz¼Bš»ïT2q‡Ú_Ð<¥çž7uÕ/žŠj ±rrä˜|8ÇŽ|ªïÊBPNH„RšÁ .ÉkÕësdrÁ°!YÔùê~‚z‡c߆M­˜pÃüÐC¢¼ÑHyÊÚû`i %¡ÕñÃkC™–åö’ëXò˜(øM"6ÅÜf¥L~·~µxücþ}’…öÖcE.®Ät€þÕÝJ?˜œ•.hØs5Úk;2»D>«:p‹Û/‰˜ÌW¤ÈÃ=£˜¾®@ hf¢}u2œ…úm¦¼r­ ëæ†­{ž¯±4WécÝÊ“‹c¾rÊæCÕ¥Å(þF/öã÷ŽÏñ¶žå?Tp¶¼æ9vóœùÑX™YZ¸\ K5à®5Â¥xücÆ×›~>zìÞÆö•2[«xWme Z-ì~9AR´×y3Kæ¹±–jí â…10)£w¤mEú]‰qòœÆbÝS1q#Œ>y|å.ÈŽ.ŸCÛxIbùèJ&'—?µŠ‚æýH5‚dRóÇì ï6wô²OYí¬¿¹7œYu¹ƒI?ÆþÜÐS¢=é6‡øÔ̓ºSÙ–1ý“I°ƒæ;k¿öO}Ȥ×Mz#C»)Ú44ã"kqv¹?J¥p¯Œxöެ/‚;JÓzbßœÆY¿ËéÚÔXªÞM2›¦ðgFy°©‰–g‚%b ÓÛãÄÅ:¡™3ÀL$Ñ.ßV=5š˜Z0,ðA¬²àôû% fša»Å†/éÉñZnδ±ü¢æ£Î/à.%ö ƒ1W~¡P5‡ßÕèß©ó7í ‡œ|,@¿áÔ “DÉÂgÉÉ«àÌ>ãR¥JãᨓÐýμ¿æå¼¡qhÅJƒÎ)]Îb£šr~åá¢Þ:Ü¡yAÕïT»ÏyJzâiŠr%ˆ˜½ˆÏrøf?”<<Á¥ÜçÜÝÆ«îƒè‡I½~ß[ÙуQG&ÓÝ@Úgdø€ "ïð&à÷o’TÅOHÕ5mætÅÏ´ÖâÇ}¯Jà @ã¾#Ç…kÏgN¾FÈ7h:ÁÁ¦úÂuD+L "©i-trÊS å|åÖ×;ÍÔòƒ, ²}Ž’ôõU–ø¡F-ÂÃN›,¯‘% ”yÎLsX uÅEyż,¾ÓqÉsð+ðõÀ•cǃƒ¨¿VR“ÀLC œŽë`,Æ*†ë¤aßAÍ–És¼ßÄÔv Kà!Î’gu“D~fe €–I±_§‚¦òÌ‹¡Üû=x;÷Å!j›™Ç)¤¿ñwÊ Jêj!î4,ÞvјJ0ù¼A*!ãpÆ<:Ë[̪ÎõQÖ¨QMY`•Q´¸Ž ÃÁà•­åØE5F„]ù©¦XÆRq˜ìÍ!‹>  A·…º7¼^8·\Íɯo uú÷¸MÁ´ˆì#+ÚS350K`}\^±ºŠxÜ)O f¦_À @ xQŒc)UL'd_Ú }©*ŠwW°¢ ÃM“Jlæ„0L˜gY»òNäÕ†3ï=ËíÜÓ(x%æLVt3eù~ÔO¸üÄx§§í˜#´= :ÉæÁ.}j•É?,5Ï+1G­µóÛ´p[`›pæâ+G£)Í>pG„!ÄxLJSÌþ™ñ÷š‚¾5¿hÇiÙVèEu;@µ.uH0@·9oⲂŒA [5fð<¶Ÿ˜a(K[pi•YªáÜ»n¿ž7\L2®ÐÐ#ÄÿúB“®m9ÈJð5ÞþÍ1í(KÎaüœæ"BH“UºMþ½ã#Ô•ûEú¡ûñT¯ :kƒûA‡a˜W·Üa¨–ýð‚ cGþœ%q'ÃN®ÆÞFÞÿƒßªð‚´È”mÞß¹Hýˆ5àÑñÑ×árùçbûË<~ëR @áaâ<:Ä?º¾\}ø>¯êQa³Ã@{“cœÍ1Kö!Yæ²éUÐ5eŸø|æ#Ã]„CâGh˜zçYWÄÂt‡8 JûÈý JYÎnÿzÌNŸ¹Ä§‰‰ Ž—>ñSâ)¾½d¥©4ôÒs;”ÛÕóò½„ÿÀ(hõ»~—¹;h ìhuŒ~í¯déßç <:´/¸û s ¶Î_vUê’|ó9˜ß‹3ﻕúë9¿¼³ W)¦C®uBç¢ú³euÊ @‚<@‚#å1:¢>Ä®ôÕšÎI›öš¢­fœ´£–ZèèÐès…• ªéþñÌlE¿5j…°˜íø%£Ò!Â(svº¸/ÆÒÂ&Ì•ðEì=ZF<ÇÙ4‹ò ðKÕ5#á®\.¢PPÊÃÅ빑Ä2€º)¢¬}ȃsÎH6¡ä›¿Zàz‡ñÊ}‚¯Ìæyxü“N?О¢ š1rÃß›PùHUŒÞ®ªf.!KêÄÖà+[…Ë™2ue=àƒê…n˜Ê}kXhž„ʈz<èç*tjï YWh:“n fˆŒÌTó]Ä ’Hõâ¼û8EMÕ5#ãxHðÕ2&yBÆEå©LÎÕñr^z å1@éÄr¿Ê::z¾Y¶öŸ˜j‹˜/boß3Š™’ ä½Ä\ªjl¶äŽÊrJ·½¡…ž–Ôku`@NCöH9YÝÊö £—L'5ç.\q禸L&)æhq„:N©™Ð¨Aô8õPfL䕸¸sÏ15Gôí9~Gàœ)>Ñ}¾ÍMU<óS^췅˰ýFOâÔÙLC‘´9üÜ qæxr¼›–4\¾ÄíPÁШwqŧuZ&€}%ÚS@÷fmØ^qŸOxô˜û¾‡½7/»‡<É,¢ô¡šþ ì¸T~œ® ¨±bÍ><¤›i÷:y\º«'KûË[]\¼J \€Ëˆ&®IÎÐ3¾’²¼ ·Á#„|4¼ ñÕùva¶iqsukhBÇ"çú5º;y¨ CV*ò¾xuýÐ&üpÕAdTeë)ÁX±t|VÎîez¨õ‘/NøÊo—Ì÷VFÂ^‡å3+Ý5è<ã¯á1‹Œ)¬ZXÍH­q4- ¸!‡ÃFâðSÁ'ò–ò€ Ué,IS¨»žâå;Ñ„•T® úöG+ì1ùˆ3Qç>?ϯ  Ú#yy²Â¸G›¤"84գЉŸ4ëûí‘ÂJáQ÷quæëídõ¯)¯T§>½%ª¬ñ¹ÚM%P>ÎÕ›ç5‹yÇ{Пø}ð}ƒ»¨&ðvŸ}QD0ý qE3ª?Úkû)KlçO°ŒcQk\L{RåÅ‹.\¹w»Ñ5¥MÕ á€Â<âϳê&iS´-Ÿx›_¹Ü÷œè=bµ|ÉúÂmOsfä´r2h~*TµIõÂLµô7¢;yAœÎOvP&“2‚Ž%Áƒq0à H/hÂ^\ƒÞk¼á;J\d!Ž‹ëÓB²Rô”ƒ§Ðuêšò®ÄÉÃ-YÍ/>µx<’…Ýèš±µdÊ/"”8ULÈî §ãÄ—Sñ)4;%Ô'} y—¾çw/„! ‚a†>€^  !°ä{~æ ÍX…ÅSå3ú^YxõÐú#|lÔà9¨%¤ë³©R¥J•*,Þ’¯ë+4K—; •6F2¯W†¶‹{wœCnRîþ¢yC—ˆJà@‡AÂa‚aãVÅÀÅz¡Ù”®át“w´7=§¢«Äè†ñ»‘.·Àe¡Á÷¿K®*T©R¼,BÂ#Ú y™Ê:5¢û&SVÞañîyŠéšCîhÕÚU:•*TBa‚!†ÂÅ,XƽX: ®S"0‹b°²/6ÖÜ5c;4çc_Ë®éf¸ã3¼8S5ý J•*T©^8Ç–”‘˜àì9OHŠ×™«—5!by‘*T©\!Ä0à c,bð¾Áô¸Ð6m6+©êËKœ¾c¾¨ËÐ{¥¹yÒ¥,*ËX–ÚÜL|/wÁð4ïøúáR¥J•EßË^:éõKžÜYq˜‘R¥J•‡„φ`à,X±xõ’uöžuHãÌVòü‚[›)¾{ñ*eq"íúKÓBí_3Yn4µ…_fbàZ!ƒ‡ é=§¸× Tƒ€AÇ‘PòЧºW²U²83ÊM©))+="T©R¥@Aãäð0±bÇo¥—NEí4¼þHm€êÏ{“43ß| ½†¿,øO“ß{ð&¿ýÍæ¼;À£hypûHq¼H&¾É†G ‚$’Oa§vTÛ{SôyP ÊY¯¬Ÿ¡DI{ðçg¥J•Cêu‹…ñìòûMIt.¢”-SÕ»}oÊ{7Eý3,º¢àQ‰ø¸T¨!A$’IÒÙe†J•*ú…eøâgFY|ø¹ÁÆ5p¾­vðä B<H ‚Œ0Ë,²Ã*T®>€ÅqËñš;™–2à ?Dqf,“O/ƒš¸8 ljêÎ`iZ4?öÄ+eWÒžµõ¶¦€ÀºçÞ,“*õÞR2 ª­òe4:ï /\™&¯-HòH›¨X,Ø^X‚Ó=Ç»_(êÛŠ‹UÚR¦Vc+,<Ý£ Ï{—NpÿaBU‰ “ht-}bÑ;çU}br*«ì±ë"ü‰µaæåÍ“½Üa6¼F[=˜#üêá¬ã¼WXªøwŽîX¢ ²â]ê‘%Èœéc¬F«°ÃœÐ{ܹh鑉R™ÑO©hŠá©rÎ}AZ9<&¢Š8âã~·9~Ÿ€¾!G–,‘aÆ[»¼°„ AÀB.džÒ9ëþIžÅoôš_žy•Ô4°è0mÌÈ€­r8¤QŸÌϪaX+í-ûÈÃ$,£´±¤AÄÃ,UÚË¡+Ìâ%uXck—K"Íßæ)Gš`¤!cŒðÝ+¾“Ðo±ºµÒ(r µXßÊk6g‚8Tä& <´Ž0áVòͽصŽhŸˆ4Õ Ù¨Ö"Öø7*ï±-ÔíM›µóûC¬€»q‚:ã~DJ*E¼­H¹˜°ÖΆ°-×t0Ô9g¼*ë+Ž(£Ž?¡¹VõŸ€¡](jéM E»%]ü0¢,y_±G7„!>˜_Â’AI€ Xm«ŸN;"NQù&xíuæ¾a#£aLLjnµÐ&¾f:H“ú´ËùB6MbDðâ8âŽ/¨Upô‹þ39sB•éyÌœÞ7´Ü œêêU”aç ÌèSyc„ @‚<5nn±]z7¨ôÐKàUnufXà§S¦4„5é•Åy¾‘¼ÖãøzÁBŒŠ_ÞQY +ß¼e«ŽÇYD°\hÞð¡ø-`mæúMº ípçô+Ùûô”X-/l¦‰Dæ«"ÕŒ[{·#.)t¿„ÙÔEg-èw7¬Ì7ƒbÛuJ…ÐSJü¹yG„õîêT*–í}ÆEwë6÷¡'A¢ L°9{6ÕβЃhôÙ™ðǧ¢ó^Ì©@*‚6rV»_ (ã‹Æß] ÅS“Î;a·²hèÍ'ÐÌJØoÚ|—E¾!xjèÜZ*’2­åçŸ~z¢G§iP¢Êen-αLolR" ¼EÃ)µ˜Û.ñ¤FÔ긯Îáµ\³yꯒ* Z¤kcæ£=m\ê¸JeîC[­œÑ¢Ø „áCt;h¾sZ÷˜½ãPÿ©m—ÁÊOÒsÍUÝU·¤dE2®üHp(ã‹ý pAÔ¡^„â™~œj„#à!À¢ýЀ„8‚aú`*ÀqŒ?LµB‘bŠ? ÿÚ ú¯¾ûï¾ûï¾ûŽúï¾{è¾ûï¾{ï¾ûkžë$‚ûï¾ûï¾ûï¾¢Â< o¾úì¸Ûϼ3O¾©o¾ûï¶øç¾ûï¾ûçºúË{ï¾ûå¾LyŒ¿þ»o¾ûï®úo¾ûï¾ûï¦q> ï¾û¢¾zë,2ã¾ë¯¾ûï¾ûï¾ûï¾ûé(²Í>Yî°Óæžûï¸Ëo´ºï¾ûï¾Ûn¾ûï¾ûÁ8IZìõœ8ÏÒ‚éWÇíP¿óᆱí¾ûï¾ú-³Ë>8ç½óÞúõí½ç¾öÓz曆 ¶ëﺺ‰ü! ú¯¾ ï¾û¢¾û§¾ûï¾ûè‚ÈbŽÛo¨ó‰qH>ûæG]~õÇ,Ûn8/µÝ;á žJ£–k®ƒÁ8Âû®á50Ï M”>ÑŸÐ@éªh¨®›b½Šl?‹>ó­~ûë¾ûï¾8n®{í‚Hî’Y(²éÌxe¼…SÀšlGZûï¾ûï¾ëú8þ –x/²/ª+§È­â_¡A •„k›Å”ó޶gª÷T¥–ºâª8¢ž¸gì‹¿yƒF3€£ºç·ù¾(’i_™¾èŠY„«üÎB“ݵ‚Ëo¾ûﶺ<Å~ªx&²‹*ž AkÿyBG#`¸ìºËê½áþ*,þ’Ún®ÙmŽ3ÈcÈ4p‰6“NþàÀÆ¥Á‹46Š +¨ž[!ª£\󻌠‰–Êo¶WNö²±‡]Ž9Ý«ež›¢ºÐ")¡(P…6û%¤®rjyŠwùìˆ×nžéëžÃj¹ ±ûê”÷(t€§°ÎŒD"ס‚ZçˆéØ"HbÆ>ûï‹~ž–iïØÝøÂ†cš8!. ¼@²ÂËøç—±亗/Só?ßò&ª¸§€àxq8“Ï*{¨¹›x M5-4Ó%¢+¦²螣3väH 6èbŽÛ«AàXHôŽ;)Ž«£¾k*‚ 4T‘´P ¢ˆ#ª{gºaYn¥é’XéŽj.Žª§˜lÄìÓ)ØÓ‰ š"†ëà‚Šç ½¿®ú¬ºšhž{í¬Á0ÁGñ„*9/ºU[ñÎ<Ç_½÷Òrz-² ï¨ÁKAóO*k¯¨5ßo•¯Iç-/Å{b{k¢û'¾³Ã 1Eš‘Ȇ)㢢Ïôµ•[gÃÕ‚[£¦[ï¾ûï¾û>9cŽ*á¦éb®¸.ªè(º/žÿÄ*!10AQa @q‘¡±ÁÑPáðpÿÚ?ÿ­1ñ#Ê f~ü ñט9‘} -îo_á«ö‰Ìæ>7[óެ²ÞíÚmü+ý’P¼r~u|IÝGZeV8 ·hÞY±ü»=‘ûbÀÙ Øßhk+’ìúð¬31;Ä쩳¼aGƒ»×´2 hï­^ f¨8뉘‹>æ<)®N>'RÙköfÜ ;yº%V¬ƒËŠ ’š«ª–Ó:SŸxm¨›¹16V//Ù”n_oÕK7ø¯æâ­„÷þ¢•éýÊvb5«ÊqDT9NÚ¾öüDeD¦l°_G[…¢^U´Q0|_ôö†«ã¶*ƒß…c0¦&[Ä,âó½ÝWÄK—¨GQÝ6¥é· ú:Ap |üܨÖ×*?,ÊMz#qŽxO’8q£3Wn»ª g…‡ 7¨Ê%ðÉ0É\Ú-zǦ`Ë(RŒ½j[¤Ct~Ãxï.9#‡‚Ý• âñcÁþ(›‘câõ¸Ï\DZÞïêT¾ˆFa)a »SK‚ÐÄ7xÆ?àÁ,`ÌîBT]ÝG{onšd A»†à cœçÆT5@ø*áDêÆUsÓ“žÝÞDj·ì¾*_(™ÍÝ7––ð¹qF¥²åËeÌpÝ•‡æ[P'«Wï“)-¾Q(ÆjƒÜ…f²ÿ¿O ìF”ʉ\V\Ã¥hçî±ØúN¥Ké^C&åJÑ™M¢ö†Æ „-é·ÛßIžïÒ[šO¼”ªãæâ×îM“ëƒÐKç¾}råË—.\¹rô¹råùª•*T­11+Z%Jó•*TIR¥J•*T©_ÇÿÿÄ*!1A0Qa q‘¡±ÑðÁ@PáñÿÚ?þÑá…‰ÔJ¡Ø´\ ʈÑëK u ±'Dʵv~&KëH«ëüWŠÅ‚2M9pÓ @ 1±üGªª jˆ"YÝILŠ½Â°çù~²{v`£:ÆÝ~ Aké_¹Î‰ ÑSeµ:3­žñdrêÆ¨Þ0ÕJá%HTh9~?sNÒëbQV¾•Ëããe0t§ Xœ¢!B¼¼¡‹-e :6•×ì2`}aÜi*ŠäÞ 67£[XØ-9S“w) ×{àÐêýóñŒ#î¿Ó^½f_©G‹LýýÒ%ï¤/æ †eX­`€/i¾]!bUNg‰ Iv\Š©Z˜°•¥è²@´6Zb£loÏ2›…‚ÅLÚ@âÓÝäD Zï7ì†tÒý„à­˜¢bHwˆÓèADXVœâ@Ð*b6eá¢æ0@î ­ÅxÄ®ðfÏ·7hG¬piÕŒk„Á'k-Õˆ¦“H¬ï WId,þ[‚Öj¸rò|ÍbÔ[‡¤­ëÄ7~ aqŒ/Ì{º©á*¬ñ²ñ¾Ðú'“ëó4´çXó1Å`ª.±"µ•–m4š;n²ÂÁdçŒÌDjD \äÏœå(5ñ Ë—._p=tRkE`ó„êe~_ÔÖ Ðb²œÞƒšÆGˆëBùxKÉbßbÍh”Ù (Ûn‘ 1tlšÛ,£~í¾Œ«H®ifÄuSF¿òWÚz‹Ú˜Þi…œšÌÅe˹=Ž*€·˜µeöVaƒ´šd„óƒÔ†6F]!":¸5^Cê”´@؃œ¬½`·°öx¸ø¾ÒéÝÓ²‰oâ¸l;Nf¤Mžù2Lr%‰Í'QÇ:¦æiÜ"\©R»H2û€í ìrÆXèF‰°Ûä[Åüjå?ƉüFã©Küq%Wárïø_ óŽ¿æR _;Ò»Ïl–x¥«TSûFQzóðkÓ‰þ3QÜJþrí©¯àÚi+Æ1jp*:”¿òóÙÈë1½A<ਣEǸV'Ž/ŽÓqq_ÅÈœ»ð¤ó` x‹\°¬uU+®j›ò  Y¤®[ ²Î9~:¶i‰•fªìKÊm ï ¼)íê+Œa˜ópnÁm]?=¡Åöþ7pÌ»Œ—mMȵ\åÕé)XPbŽS×ä[Ñ€¸Œ©Þxø|8å×ñÞ8ˆÒ’÷•­ž1()bDL Q8'f}¡ÚŽjÌ#uNÈL Ym6XºÌw¶¬E€¶·xñ›wOªª^Q‘Î%aÚ@\` îF;ÄÀ·SA©jŠªÖzÊœàáÕ69pâÒ‰vÁ·D²ªU~¦4êÊåÉ.êÅ U#›(ü ÿ0ñ¸ÿÈx[ouaQA•Úæ³|³É..äÕÝ@‚<"%ñÿNÖyI†íÃ30 UŽ­ÿ™ƒ7•8/•ß(%Þè+ÀÅZ¶×Y‡Û¶'£ Bøa”¼„_.ƒ¯øûB2€#ž²êV°Ë± «%rÕÇx–ƒF–fõ™€üP9…^óNÀŽ¿à¬ÄÇü`  \Ro± †_pÑé.ò“$/P˜§)oï=€àD¿ã F¸¼’‹–0YËú›¢ðPZÍù¯H"—»LÆ5Ø߬Oõ¾T‰ÌE¢ÅÀ°·™ÔE{Ísôɵ%õ]råVñ"½,Šü(Ù§Á6©ñ Ù“Héîõ€Èr˜in¥)¦±m£Bæ²[  ù'Q 7›»™W§?.Üíz¿€\KŽåü7ÚV"WüUùno_H¥EµáŸJ–ùÉzWN»ýöq-¨—¿„ßÿƒh—+þRŸørPôÏO, ÐGúMX= ”.äºÕÒUkVùÒûŸˆ×¯á?ˆßÿáoþ šPÍ®ñS+™ ¯WÀšäK:#)ôDcËÁ×]`úHL3Cx;õ c“rýZ„Þ“fT$„ ÑhaÀ‰ßˆ×ßàã¿O–™MšwæbBCå\®£y’ŒC·!âbZ[¸ç2BµÏàÁå0õgÑg8Ñ0YíA·'dÆ?í‰:ïÌÑwÿ °;eѵ¨à¼¼°Ô=Ló†ÍáâTµMKõïA°*&<—n÷3ªƒ¤ƒ&h¶;˨×[I ´‡§YEì0w´Ö;+r·b¨&V Ås»½T®R²Ñ´«Ë›eyâæòCà?„•‰&*¶åóŠ’6+ÙûcJUÎ\4(4Û5æˆ-Æ—ÒYëü ·0Ïaâ5<8‹r÷ü.˜­œ‘P¾UÒ WKÕèe/–±U 0Ðøoª<áÓ¬Äu䔈²8µ†pŽ"}2B‘ƒN-Û†Ÿ÷cHo ù2ñJÜ· #ciuVÜNkDrT-ì£]í:ƒBªÁY£W,h¯ ”ññÄOÔE} ªAìÒëÈ®òÌ¿g`xqë_‚VÖ—Ê=HÎLºGÜIìIÂ[×ÖZÆù¬ E"íy¡(¤v޵¾i±kq‘E—E‚}…õ4æ£4aé|èB ¸µñS  ± ĺf‰hذ=ýHáÀní -ôÆ4@å ôØ ç™™rCûs^†¹[”¸æ¥› ÍÚλ&zæ–‰B®T®ÁDis€¨P`{TA›5ãØPï.y[†&€Ëô!t©k£¥Ê•T£§¸ÂD‰DþððX ]ßOFTl|®œá ìy§«w”vWû~= (]).T¼wžÌ—ÏOÒPÙR{‚U“òý¯VÓHìòŠÖrÀ¾Œ+FÅ×öÄëu¥6µÚ´(Ñu†-ÓƒÄkƒÀmñ:åW0Уyë×e49åxm*â1{Ýs7ž¸CvZ…€[@yYH29ÕX+X¶öD²Ú»²Ù]ëF?…%q ›ñðH˜Ž£Â³WqDk€')~ü¼¿´PĪmåz®ï/xCÝúNrE ¬«{þŽg€9ž×Զ峺ÿr< ÞU¨+ÿ¬§IUÇâRbyž÷ ÏêY7Añ˜ÁÏ0T.Ac¨üõ‚€äP^ƒÖXËêú¢&BÀV.&ÞîÓ˜œ¡˜ ŧ,B.ˆQ“Û'rÁl9”ÀøM£Ws\„+séœÞjú°Jâ WfÉn-N³1§@»dÊy+­Tzò»80¥y†ñB˪d©I³D Í ]Äd³E¢ú.% ‚Ö߬JTsIX JÕ €ä-[$e¢ª'x$ó˜b”Œªë¤x¡/¹Mö&Jç¶Ù²£]#é$RUBÜ뤤[—Óƒ °ª^kµŸà«ùMitÒ„¨×L!,ˆéMw&Ji‰cX¥ ˜@ÚˆhÓGRá”a˜T–Š; ·k£Ì üóþ#À#¾"®%ÿ€ûŒ‘@ »týörr¹•\Žð6&z7£ûei ­•õ>bšb½§õ/Æ ÷ž~¡¼U£Pœ²R±Ðì"$±Þ—Ô´lmåùó©lIj*@*¸¶ÓijãÙI°µºÄ‚©ÒÂOS S¾lÚœ<ìÂ0#b]AÂĆLËŒ"µ !°1Ö3-Á¬&ž¢ž³/öb@(R‚õ"¿×Î2dȬ/¸ˆPVš4bïVË´i &R`r`ÓdúM O»—vо¿]±Wù3†ÛÜÃ%P#’¿ûº¹î92k»§£¬34î’¹ac“{€»&A©yUÌ- ‘èÀ  µ3úä²>àaYñ„MÜA°«§„Π¡R‡;NªìÞ/¦n«Ý°4ǜDZK$Q¬-ôx4C¡ÍKèé–]è&A¯1lhÚ€(U]ePÓCeÅ3XçùÎIŸ QWP÷Sý¾°az8…’‰PüÈ€•%Äàœ G {XJ †¶mèUÀBñ¿|rû·«à[_CÍžšë™Â[NNî~ÒŒ†®Pÿmÿ"Ü |£”r ät;°„´‘ ¿l©âT¤w‰Ti}2ÉÝõ/ì?¹CèþN1e[m—£H¬ Þ»;˜1âãîWG 4ˆ,»¸ª¡¼?DvÁ…ÛUÓ7{¸ýÕwUªµÍô«‚ÒKEy^FµÖ/´ež ÃLÄÀˆÏ'ëžç ×"¾eU‹Ž©Xop Ð.šM)ïQ”tKbQè%›=]´ã™wépU*«åw(Xe¦ëuû”xœ¯©ƒØ·¨1x0bùFX"E=‡mº ÈÂïØ~Á–blÀÒ’´¼NÌ©²ˆrÏÄz„%F›Ï[ޤÛh«4ÖŽ’ÖâXô¾W½ÇQÀ6v¸Ó›Ä6BîŽÚ|„úޤ­,:Å“›P®Nþ"•D¤±^`‹Ã¸~ôÔ\( ï@_™y ÐD¿h<ΰ3²¼J9ÆÁ¢“ÊJÕ¨Þ|ð p*ükt£ £Á.)‚yòÕS—ŸN‘£ B€6±.ƒqÅWlÑÛ<ãÝøŸàìŸnò©Èëo#ׯC/ß#¯×Õt³µ1Ò?^ñÁÖ–iûS ÷_µ†»h¶ÊÖÕ”¬J˜ÀxO€”ú »TØ?æ¡ Wñ Ke²Ùq·Oð%º½¥º½¥º½¥¿ø–ÿâ*ÇÒ[Ôö–ß/iooikÓÚ3=~!sií½ÍÂ9 e2™L¦Z[§k” pùÑ‚ê;™¸¨Œg–ççé¨.ÇàÿœºÁ±`ŠÊ3^Îo§8)éu ¦;^µZ¹@ê™ö¾OôAmW<ŸëÝí(¸öß_úº(—VUã™o]Þð4äþ§(”8KûŽiøžÚMË¢rV[ðÿsgÏá› `C°ËtFÃSä”ÿ̘…Ê&šá_0:ñ¨**müCwGpÓ `²xý p C&¤®y*ïÈ:ç”Rß º|¯~Pž8Êr½]½ÝXkÃŒˆ1C¡ Ë×ýà–)·üŸÑ®lËf»½X@…m_•šÉMÛš`&öy„Í»s7‘=”•KØ#æÿVœ5+±×w¡†8#ÿ£Þ¶Ø+ELUÄê+]Ó'³dh$Õ×¹q9 ÁìŸðÖ/†ÈÜeþ€CÌ©W. C7A¸!‚oÂï‚›¥¥Ñiekйõ^ëj÷Œà¶g<£ÁµŒ³ýÿ€ÑØ#¥pŠ/ÖUAÈ‘”ò\ˆZù¬²3ÓýïÈKSN¯è—Êæ¯ÉïÚ"^ª»z¬±zónÞñ}e»ÆŠ |ËáHºJníù˜ä4ñ%N÷R±ÈJöœ“æ‘$Ü>BÝÞ£q‘¢v™>píŽPÌÀúJö´5ÊßñÇQÐX Lõ0G@]è÷CLGÅ00)×d+Ú€SÀ/…f.ÍჅæ›G ÕŠz&åßÈ9ûBáÝŠçíÚÿPÅ­ÑTo<¾WÉš°Æ•¾\ŽEF( hÚwÎmþ¥ƒ€æƒú QGŽo~„¹ªùÕþá…Õ9@ØsyL…Øíý tƒËý8Fõ@˜è÷–y ¡+VÝJ­`’hLŸÈ0+G<é|hè_ÜrÂGN©%áZOœ:…%n7ûeì1æœmýµî¿BküúÌã”Rs|õP†„¹¨sš±úCæ-Ýj»ìˆz§ØÌñXû"'*ޱ´Þ`ò?P £®„ Eº\ŵ0|Óú˜"_h!±§¬ÜróOà5 BCßÜ[á\<ÑÜrÏþæoì™»×ÒË@mK&?tš l²‚‰FN,Q•ƒ‘ÏvØJî{^µÓÿeÖ¥!ÂÛ;-±–ëÖîþ‰ŸE”Ï«Þ:œ—œïËÞ-kÇ|­aߤFbÛN·ÔÙ\òÇìTT»Ë|„ö)¾s—GfлËúŽàj¹]òŽt 7‚ÙzóÌû#ÓSK—WEò„–ª‰Ö-[—FÑ<½ã´,5‡9;@anp Ò^Å ,¶’¹¼ª˜ãú¯ñ>&m(Ÿ£_x3ÕcäûFS‘†¾nñ¶‘ר¨`ÍÓÚ+Ö¢Û¦>ѺùÔ~z¡ö1Ç»OÔYA]T¨¤CÚÙ@0 èJÖ1Lv™oôD˜xï‡m—ç€p .Aqî-ŸâÌ|øhšgË©f”ÞVÀý \7é´ŽE•s ŽÀv]ݹö˜­UÕ¾±©TM:ô#z+r6¯5zÌw¶×¯÷¡—è{ÐW˜Bð¬8ap,fXN™ºå—8¹C'_™wá7XçÐK±2À!g£qôfÇËloԨɀ^%-MµWbõ—÷=e_àüF ò”C@<3­o ÃêÓÅ}1M¢º‡÷ äÌ[èÄ¢yY÷eÁÊä/à P¯jª. .;{wô_Òá·uòÓaƒè}ÇÏ3å~„lZОŸr§µˆy"å\£°å«yc¾¢:ð<ø¡A÷âÜqâ(óc†:˜G®ù"¢”Å“â¢ÓËBªt^FÞÌ/fDÛ—õª¹TP)Ù(ç)…`MiõgÁ°ræ/íåBöØ•.§¶Æ¬g¢å«mõ3Aˆ˜T¥ìŽÜ¼x|ÇïÏ}"ôrû\ãµ½ÊÉKÚ¡ ˜hZ!»U÷yÄèr¥+±,uXR…êÔÔñi²–s`QYàò·÷ü´]ÔbÐꤹŸX̾ÙúÄ­5Êý”8˜F ½Ò-éy}ýÂù7.¹ñN R–Ö¹eŽ ]EeŠ á†¼±ß %›´„ \ €üA^X÷6G׈êu×éÏÔÃõkÜ¿¸¤¬€¡Ó`)õ”îÁÍÌE€ª+Oc›‹KqAx¾­–òÑ ˆ±†¼D×”R“Qp]ü(Kê×_3Ûª%dZ^˜!ù[±n>Ã…ð9‚6¸ê¢}Ø0"ò?ó@‹.ý£A(ôP ¦ÜéǤC#˜QÒ:?ö!‹|zF†ƒ´¸ËèmkÐ!qØrI¾};LøtåyK(5žl+uQTû×¼ÕY¦»5¿Î½ø+ô£Ú:-À:äaö߈) Úh=;B¨ÂP“Ðú.KGµP 3>­×RAUÒáÈe•Zƒ|+Z­ôÄAlJö@… :#í<@• lv˜é,ýÀ~+ÜðîsNy§šiJàÎ-Ô* ª'˜1ò°NñiÁœVe †õˆÂ_:Ô£eÀغ·µ±Ó6æÜä=]ý”2¼³; Õscqeе{@Lì5†0=w,EÁÐÛ1Z®™fùä"òÆ‹ÐJ_h4¹Hkx@n+g´é¿3”GA·à¨©mn5#Ñ,õ‚‚­PQ­3’å¨pÆp¬èœ’(1DþQ©»âÑ“{¨TŒ(Ëæ<èÀ <ÍÈ! oq·|sƒç wX`õ‹Ø¶ Hp.€VTÓ1ð¶AáœÓ~y¤MŸV¡›†­haô™“"'X6=€Ôï"Úh#fÉuƒ‘|ñ(n.h¦ƒÚ{Ë®ìqâ0®'&Î\ŒÄU†×þ»BV(²íþˆÄ¤³kD²s §oï^eÄVÕ·ÌÛ;µúAvï0Xèx–ŸÖ¸ÅPw¨©´b ltšuñ@n©O¹QŠó|ÿp|…ä×ñIj뢛¯Ä`ñ/Äî;ôõJŽÁfåYy‹žK? !ÚXMXR0…w£„³MóLÞ æHN-ZêéŽEÕ¡‚i<Éêõÿì@ÊhiîÊ4Î…½åSä·ñ¨`äq ?+â«àîàa‚$Ã÷úfY…ŸB­J¥ìh„À[lîžò ZרëkaëaC¥À( ]xˆ[V%:×ÑÃúûŒ" >¦HdÿC¼µ+9›«â8¦Æ†œ¯(­sSº †í2  x–ž'q>Ä7Á!…Gy‰–>#-aÉ‹æ!O)μ…ÕÑq å=€Ÿñþ,Ÿ(?W tç}×Ô¨¬âߣFýõËÂ9<§L‡Õc*=À1FÄ•ÄÌϦ yNâ2Ä ”¸:}å>¼;CoA‹Ø›«çVVí- @Ä7à@ðÏÇâÉEÍÓ|Ù  šv*oGû©†1Mó%Ô*‚¹P_ùÎ)53°ˆk‡™•‹@U¶µ¸BÀ;æ^w &†ß÷XŽ¥¿³Þ ÊßÑåŽßD‡ÓŸy‰+­‚ß»ŽMçŸÔÃQÍV^óhªh »fhôŠÙÝúý‘Qð+ž)ãCoO6;ª‡r¹°çÕ ¼Èê+Ñ#´m꤇*ûÎàBïüiƒŠò-û©kê®v*Ÿ9M—‡q óÀ‚8®íí"¢ì€Þ‹ì|A6â[œ})«oüfl¸ãm£½Ç;IU¹‰†V`ÅæS¬7Á*1zkµÚCúáTbýrúʨI§Aké9ÕJÕu²Þ“œÜþ‚|±É\´¿õRsçºúJÀ_Ù B‹·É* Ç%=ø?3H²o›&Ù¿€ †&fýò?r”š­ û&Ùü˜}åç ¢ò£/f"è±3t,×°ÞI” Ï7æ¯ÁÒR)£!pòæüE«ìçDødŽÁËï¼´*4©‘oy#áWÕ¾xIÞ*%Òâºîþèð~ pxà°&æ»^-ã‘_”2Ö>LF)V4õ"þå{EïöŸTC˦R=„˜óø‰ú®FSX¸<‘îB†Ž¬y¶ÛÖæ„(í{çñ_¬G¦«ä”£†þSÖD1¸÷ ol§& z|P¸J–x–áäin˜çHjbmXU€ÚQÊ>…Ž?\È• ô?HþP¢Ü*Ÿ–[Õuêîhâ¼ oŸl.î0í÷Š”Øï :z41v-Ë»'5ËÚYü¥í›&ù¶n‡pq´ ò«õ/òžÁýŒ%„ИY^jö¹3fÍc¥”¦_\úkâ[£<çQ×/ ¨éÿ„@çòù~y…@à™±WRH½g}{|Cõw326çéó0&|ì‰ûx¾âd{2ðÍý‘Up Ë&Èæ  `lcwtå « {ö…cŽ^^MBöýaŒX|Ý?¹O"˜¬j Ö Äå`ò%ç¶R0ßî0¥4°XžÐV™ú@ÁUÔ~á~@Õ¦‹Ê?AVŽÔ³)¦¦j–õ0h{.ŽÒmN±÷!|¿ωbÿ‡ò2“{XÏŠå½ÃÎ=ëçä9‰yŸ—2fg­§øæ €r•9D©ê´ tQ1ÿ|eÖÒ:yÇõêç½vËQs+6M“4 WêöŒgÅ-zðD?±(3¬Þ`2[Põ§?ö¦ZuSvçn½9\\?+Ñÿé¢aùa <9úb_§iÚþŸýŒªZÙAVˆXÝ9oô/ˆÔaÊ™Wwlb]‹ú&$¥NÈWž`ÈDea¿Ù{…\Ø^w¸gõ‰*T»¸A^)öó,ÝvJô·Ü Û^ó$ø‡ ±ðE˜Æ+½AGÌuIҭ׬Ò|Ëx.ÇÖlÀÂÚ'ÐGäUz|?6»ÂyÒ¬.+¼'+`éd©wNC‹_0Rîx-.%žî y5ø-›ŽÓœfY}féšÁÑ(©úƒõ0UùK~á%)¬Ž­æØãr¹Éࢇ±Èñÿ‘”‚Š[.-ëŽP©w@óï(X1· ”j7|ÿŽuë,‘7‘Gc6šË/Âþá„¥JàÝÀê’¯DÎKðÅ^FoøUðWx¥ ÂË!?»\u˜31ôŸ’°0EßÍŽËt´`¹¦¦íø'Árþ¦¼„I~ƒ}³—F߸¦„ò¾–®>\ðæ{ÌŠ|Û›Ìô2D·­Ù¬kS ß•üKŠWß2¤#ôÂçkA²y®â Ч‘~°S “H—ÒÓ’UKõ‚ß’ĺà`ßfʘ°^æ´½¨ËkSUˆƒpAž.‘6îGv_ÜUá/±ú• k®ËíÏ•XˆœÌ&7ì,¢´öë\—” ”Tr¾NÄhéÒ? ûàSˉ mÛ{À¸h• ñ*|Ê'D.½òÿc>C6üÔï¹C‚ ð²Wþ•OwcHep«€zÞ:2žC´ÉèˆÐÛg¸÷AVN亼r ð=‡øswûH³ éFŠX3 íw|ÙPè‚>Ù¸;ÿs|Ê8Id½£^!™Rîf æüÇ>ó­º ¹Öa‚.@~™ÑJåfбF„ vÌ€™ ƹƒì$xûÅÔ_ÝŸßâñ®kš¸|˜²Íòèó2¹ÍËõDz-é|ÒÃÒa¹ZÁü &ZöýLj.ð¾É^ïúˆùãðlŽ×‰YxÑ(pfòù({q7GÊ>ÅjOÉö •«zœt O1Ôw¨'¨„{¦QB}C\YÒ8@r€aPŽ`Üþ`ðNr‚@¢Í_ Ç-®©¦iĦŗ¤{‹|'w“…Eb½›ýM+úJýÍÌÝŸSOEhªmÂòSö‚Î EwŒS6ó[lkÊ4åÏ ãÌ«G펆^ú)mݧ焣Áx#¬ÃCáÿ8”AàYÊ“”°ì–»ÅÉ4o¼#+ñØ¥ŠD²Ç¤5SÊ ¢Å+Ò¥@¨¥>l`ïŽ÷«¹N Ða®¡™ú@ga(lSsÒyÁgU燚zKWœ5òH'¸ï1EbÁqM±kBìå\¿R(Oq÷K©sÎ~8zfž¹}M‡™éÜW tEëœêVTêì=(ùHVu‚¼¤*' ß̬&Fì·Ï%äNÝ3ú€ÁÝŽP ÆF2ÂMñi“”+¹èßἸ¬<¥Ó¼ýF Wð ઄7 GFjm(Åw¦VvÌ ;*Á(uÒá6üÂÜçæé”¼O5©D´ ®è¯g>ÐmX¤àLBV Ý}è[¥rÀÊnéjt»ªå)Kj­ÚÁ§hãrÎÐø9Ä/²Vºè{hð±€ûUF%®w¤¥û¨´ øÕ5~t©[êrŸ bÿPŸ ÐÙw˜d\Ì¢¸ÔÓ4âoÌÈÌãço^½ ãcÅ¢§þZ»$§ì…Áµ7F»[ê’Çœ•.d×|Æ«£ †T°TöýL1“!‘îàÃ(ðJ;ŸdÍc-áW)„®&Î^L¶¯Heµñë ³ßQ-ä¯Z±œª½íýÒ–×þµQ ƒO¼Z@¶îœàNÏ\Ç/!“·‰P˃(ÄFÿ°ê„%Í[y‰Pyt[Wû| )Ñ\¸Ì×3‘Ú A{®«´}ñ"}¦Pf p´q}s,Õ5pwfm›¥/ Ew2b¯°OÑ=)+Ð"j<”¶þ¥\2€T:,=c¨àž K/Þ òÐ.=Ñ10ޱ•«G^ Örg»ËàkÅ*ðEŠù~™»7ec‰¾!r¥¤»‡€\;%@Ì’„ÉÔŒ´)NÊæw6Dp¨Zk³f¾’Z:èWɪ"ÁkÌ6¬ÁEÐävå*ÛL|ÁR¿8_ª…Òq¬¾GËl‹vgžž‘-K[W›ApÃÀ²YøÁÛS\Õ5M³™mæ[ré|S KiR¹Oa !qp·5ÂÏCXÚìr£*6­:ì½@÷ǺyǾ6çø÷üÀ'WKVbÊU—`|Ïpžå K2/ñèÍ–nÀ‰€pàp„p åΡ¥±*âƒuà>äÄiQ²[™÷ áæ1‘©¼<‘rœŸXíˆ3_&ÝŽ]ã¡9ì?B`«íà@„#DÕ¸–™®i–ÔÕt½K‹y˜˜á¸³—ÎWê ·¼Îåþâ7SäýLkH`w­¹Ü´²Ú€îŒýÌÍÏ9ç<ç”I¸Ä§ÞZ–‘¿I»]«rÛÌÁ^Ђמj ^ÿ©‚Í¿UJ̨@B$’OÂk˜â a…|Ì”Ùâe¯nQ`["e/@üÎñ¿„JÕë=¢üqQ ˆ¾;¥ètžZÇÙ8q5p´LDÉ4K晦kŽÇÝñ|o EÌ!÷~åªS]à#¼Ê<Ò®{Â«Ë V•õÌ#‘Ü ¯¨®±.Ë:ÃÄÕEÛ1ìë¨íWÝþ åGš}@åŠÙÉÍËö—ÜÄ^âÄï2ÎÔ×1Nñ”wý!¤B_•àB´ ’I ‚I³”;e3y?8 lÙ^û¥}ö˜Þ—Í?ᯔ ?+¡,Gi[V—ðÅ AÄŒ‡ð TѦ‰ªkÄÅÌÝÂsX夠úQìJßA­ -œ f_| S¯‰äÜm_-¨+yo­ý@ê•«Ü*ǘ¿©FËÐâ0 «žÑ”6ÕÞ±ž­W»_Lëeƒ/'U ¯<-P‹ÞˆÆò ê °ð5À!„A_€vB $Îbàà%õOd~ Q˜%fâD›Ü²î0ì™®£íü9!† Ú š¸8Z%¼ÿ¬‹Ådú¡c®Ù~¢”m=ã÷ÅJf+À2«ˆ«–Þ±,+±Í kÊ!i ªè€\£^í¿æfm”aöðè¦^ÅÃÔ`¥bò`çé3å—™Có,ïÃÑÀ+êîX8pÈ ·ðPãBEƒé»Y<Ÿ¸>ô ÈH⬂Ïv=YÝŠs”YŸýLJnˆ3C<# :†ê3À8WñEâÜÆ÷õýL}†}áòÌ-kè/ÀÎòB¢\ØœŠýËáΟN–—|‘/©KJç'èî^ÓulöĉÐß”Îu; öƒ×ï_Ìß·­™]é9õ13neãÙ™ cÆYG™‘ël @ø‚Ù.ü4ìNÌì̹C-M5P s½ÀÝ¿ýÃ]zòåÕÅùr[›»²l ͹µñ R…jµ#Â@¨a‚39',0뇓‡—ðQc Û…ýÒ~ïÚJ² ¦nž‘A&ânTDžVg>Lø³ÔÇ_î9ÊDœå:ÊœåNò’ÂYrÐèL‡™¹+2ДùÐ>X2ÍàB~A¯·ø_ۉ؇d=pìdñda—¶v¦/ÁF ƒ(a‚ ´åà䜼nYÉÀan-Ç\¥qò’øwgrwcÝè÷Îì{âúÅu9Åõ—m/¹céc e"b—Êxà&ÌÞ?0ú¯—³;3µÄ­å;ìáðl{x=‰Ù¹Ú•r¾,øð×–rE¨µ¸Z&©ª0±n,¾§†Gíú—¬ó–sàå⬲÷ÅFpòfÙé=â:1).!vø™˜®àù‡·þK¢w‚hÃÊÔyc ðu#¸2CƒÍ« è©×VÎE+lÈ:‚¨‡±ÁÇ2ÇDDª· Ǥ õUc8Ûÿl^éª@¹CzDnt/`†EsÝÔ³«’}œ~Å![3@4ëï§…‰“=t9‘`=Û³%TÈ­­®às³UÞá(Å¥úÑ€ž¤¸JcCE‘xp%PÅñ8À‰µ&Kj²·/3Ê’¢¹_¢³~å<­2ª3uÌsµÀÍ4Jjišfr-²ñÁÄÝñAœv(—`û¢¬‹½' &É# =gGCHÃCÜœ‘}`g¿²ážé.L³q Sʌݮ˜xV~]¦œKk±:äщg)ÚŽõìÈèãcö±NÚz½¦|£Û6â^¦²õÏ«%¦€ dÑEÛ•`ÜpÞDA½-nv§jnŠÆêªè N\¸´ c“ T¥kZ¾ÂúDÓ¼s>•Ê"J¸ª>%MMs\º¦ˆáâÅ­~(v Þ?DäãÉ#õ ?2 ŽäTäü?låï¨ÍâœÜ4ɇ03¶‚§K+|<D¤BZÜÕ™˜ üh¯š8¾©m)d™:°æ™ÅǾM¼BMZžEÕÐlH„›Dd°)B]î)´2sÐö‡Õ ÝËUŸìL_{,/‡ Q‰@°µÎ˜È¾ù× FèÐïËÖf=…Ó­Ô›ŠÈ¬)º¾ÐÐísù²ë%þàÜ@['9À½Yr”$Î]0ùNüË×â–-X-jºQ¹t+Aj¶µÇõ‰Ãíð-ò:Ì ÆTåÎÇjëpíJaŸ4Z$ ³s*¶y®ìA“'RºwcD@M` È)éðÅh}¦2¨J5¨Ç»U°ÑÌXÎ C›‡!3 óôJ³¶Eí= ¡t–â DZy¶À¼bŽ%˜¸Õs_TÕ4qs¨ÿ;åЛJ“œ¼Y~¡s˜ÎÏþ¢JºÀq=Âô7*R‘êHÊ­ܱ–åÈC\×4N×TL‹µÔMDFˆ¢©geìGRR À ³Ž° @%­uÙé4‹'ùTÚP­Tçë/‚Ñó.‡,`ÔXF*¤ Štz™bF‡?oHp¡t{ÌÞBŽl–y‹l¾Ï¦÷³O©ÒvÀ%Ë[ÜlÝ•l_7sm×/Ü3†u‚º-Û¢).Ù[:†²À\‚º•¦¨@¾ñ™¸(sëÐÈG?Vvשׁ&Α¼¦¹a çÖ‘¤ÞÅźêv§šó†a¸³Zã5×DÕ™®;ᨿñ+†ÐrJˆ¦ ƒ0AW7ã!Ûáö¸þŒNÌ8=‰Ú”ñ¬,ìñ=ü ’¾$"gð<Åž5®w¦‰¢g?ñ. þ!Ì0A|++ðsGÕ;2ÚÄÅ®jv¡Ž§ŒìÎÔíNÔìðw~'Û&þ4`â¢ü£M\sÿÙtraitsui-7.2.1/traitsui/examples/demo/Extras/0000755000076500000240000000000014046644526021663 5ustar aayresstaff00000000000000traitsui-7.2.1/traitsui/examples/demo/Extras/index.rst0000644000076500000240000000011114046644454023515 0ustar aayresstaff00000000000000These demos showcase some extra behaviors that are possible with TraitsUItraitsui-7.2.1/traitsui/examples/demo/Extras/Tree_editor_with_TreeNodeRenderer.py0000644000076500000240000001240514046644454031013 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! """ This demo illustrates use of TreeNodeRenderers for displaying more complex contents inside the cells of a TreeEditor. To run this demonstration successfully, you must have **NumPy** (``numpy``) installed. """ from random import choice, uniform import colorsys import numpy as np from pyface.qt import QtCore, QtGui, qt_api from traits.api import ( Array, Float, HasTraits, Instance, Int, List, Str ) from traitsui.api import TreeEditor, TreeNode, UItem, View, RGBColor from traitsui.tree_node_renderer import AbstractTreeNodeRenderer from traitsui.qt4.tree_editor import WordWrapRenderer class MyDataElement(HasTraits): """ A node in a tree of data. """ #: Some text to display. text = Str() #: A random walk to plot. data = Array #: A color to show as an icon. color = RGBColor def _data_default(self): return np.random.standard_normal((1000,)).cumsum() def _color_default(self): return colorsys.hsv_to_rgb(uniform(0.0, 1.0), 1.0, 1.0) class MyData(HasTraits): """ The root node for a tree of data. """ #: The name of the root node. name = Str('Rooty McRootface') #: The elements contained in the root node. elements = List(Instance(MyDataElement)) def _elements_default(self): DATA_ELEMENTS = ( 'I live on\nmultiple\nlines!', 'Foo\nBar', 'Baz', 'Qux', 'z ' * 20, __doc__, ) return [MyDataElement(text=choice(DATA_ELEMENTS)) for _ in range(5)] class SparklineRenderer(AbstractTreeNodeRenderer): """ Renderer that draws sparklines into a cell. """ #: This renderer handles all rendering. handles_all = True #: This renderer handles text rendering (there is none). handles_text = True #: The scale for y-values. y_scale = Float(1.0) #: The extra border applied by Qt internally # XXX get this dynamically from Qt? How? extra_space = Int(8) def paint(self, editor, node, column, object, paint_context): painter, option, index = paint_context data = self.get_data(object) xs = np.linspace(0, option.rect.width(), len(data)) + option.rect.left() ys = (data.max() - data)/self.y_scale + option.rect.top() height = option.rect.height() plot_height = ys.ptp() extra = height - plot_height if bool(option.displayAlignment & QtCore.Qt.AlignVCenter): ys += extra/2 elif bool(option.displayAlignment & QtCore.Qt.Bottom): ys += extra if bool(option.state & QtGui.QStyle.State_Selected): painter.fillRect(option.rect, option.palette.highlight()) points = [QtCore.QPointF(x, y) for x, y in zip(xs, ys)] old_pen = painter.pen() if bool(option.state & QtGui.QStyle.State_Selected): painter.setPen(QtGui.QPen(option.palette.highlightedText(), 0)) try: if qt_api.startswith('pyside'): painter.drawPolyline(points) else: painter.drawPolyline(*points) finally: painter.setPen(old_pen) return None def get_data(self, object): return object.data def size(self, editor, node, column, object, size_context): data = self.get_data(object) return (100, data.ptp()/self.y_scale + self.extra_space) class SparklineTreeNode(TreeNode): """ A TreeNode that renders sparklines in column index 1 """ #: static instance of SparklineRenderer #: (it has no state, so this is fine) sparkline_renderer = SparklineRenderer() #: static instance of WordWrapRenderer #: (it has no state, so this is fine) word_wrap_renderer = WordWrapRenderer() def get_renderer(self, object, column=0): if column == 1: return self.sparkline_renderer else: return self.word_wrap_renderer def get_icon(self, object, is_expanded): return object.color class SparklineTreeView(HasTraits): """ Class that views the data with sparklines. """ #: The root of the tree. root = Instance(MyData, args=()) traits_view = View( UItem( 'root', editor=TreeEditor( nodes=[ TreeNode( node_for=[MyData], children='elements', label='name', ), SparklineTreeNode( node_for=[MyDataElement], auto_open=True, label='text', ), ], column_headers=["The Tree View", "The Sparklines"], hide_root=False, editable=False, ), ), resizable=True, width=400, height=300, ) if __name__ == '__main__': SparklineTreeView().configure_traits() traitsui-7.2.1/traitsui/examples/demo/Extras/Image_editor_demo.py0000644000076500000240000000403514046644454025633 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! """ A simple demonstration of how to use the ImageEditor to add a graphic element to a Traits UI View. """ # Imports: from os.path \ import join, dirname from traits.api \ import HasTraits, Str from traitsui.api \ import View, VGroup, Item, ImageEditor from pyface.image_resource \ import ImageResource # Constants: # The images folder is in the same folder as this file: search_path = [dirname(__file__)] # Define the demo class: class Employee(HasTraits): # Define the traits: name = Str() dept = Str() email = Str() # Define the view: view = View( VGroup( VGroup( Item('name', show_label=False, editor=ImageEditor( image=ImageResource('info', search_path=search_path))) ), VGroup( Item('name'), Item('dept'), Item('email'), Item('picture', editor=ImageEditor( scale=True, preserve_aspect_ratio=True, allow_upscaling=True), springy=True), ) ), resizable=True ) # Create the demo: popup = Employee(name='William Murchison', dept='Receiving', email='wmurchison@acme.com', picture=ImageResource('e-logo-rev', search_path=search_path)) # Run the demo (if invoked form the command line): if __name__ == '__main__': popup.configure_traits() traitsui-7.2.1/traitsui/examples/demo/Extras/images/0000755000076500000240000000000014046644526023130 5ustar aayresstaff00000000000000traitsui-7.2.1/traitsui/examples/demo/Extras/images/logo_32x32.gif0000644000076500000240000005603314046644454025427 0ustar aayresstaff00000000000000GIF89a ‡ŠSmŽ’%‹¹dkq[˜·Ëç m‘/£×[¹çÍÎÏ®½W‚–;y˜x¡·u†‘@·µº½²ÈÒ\ªÎG£ÍÔç瑦²;‹°?_r&}¥X“°‘ÂØ³Ùét›®y²ÍFªØ-šÌéêë]§Ê‘¹Í§©¬Q•¶a<‚£wy{~ºÙ'«5·×óz­ÅmŸ·ÀÁÃl®ÎX‹¤+f‚0w™j“§†œ¨2¨ÞÓÙݲëüOЦJ±áÐöþ?›Ç¦ÂÉÍ¡¥¨ ¹ÅM}•°Ã̇§·s•¨{Èì[ Ã ´¿?lƒ/…­`w„T¡Åèùý¡Øð!xŸ­±µ@™Â{…‹âåçL†¡:¡Ñ]µßÁàè„´ËR¬×QÂ6˜Å[ž½ jŒg–®+“Âh…”o¦¿MŽ®ÄÓÚmoq·É3›Ëˆ£±ž¡£ÏÖÙœ©²£¾ËKp„<~[®Ó{¯C…¥gŽ£Ýà⓲ÁG”¹³¾Än´Ú1oŒ}Ñø¨ãònÁéyªÂ3|ž_“­±ã÷P¤Ì+WoÌïú¨ÎÛÄéðNbmŠŽ‘‡»Ò‡ÄåÜñù˜šœ…•¡Âíúûûû²Òßðñò~ƒ"^z’Þùßùü2czŠ­½‡ÁßšÅØT±Ýquy@g|m}‡ŸÏæ´µ¸‡‰‹_p{aÀï)j‰;«Þ£åûnÈô]‡œy›ÌßæBs‹Pl}ZwËÒÖÆãwµ×«®±ÁÆÊ.zž¢­{ÍóÃæóo¬ÉÅ÷ÿ$t™C°µÞ염͙Øò_£ÄÑÖMƒ©Ûïj‹œ§ÂÎMwŒ„ÌìT¶æCy–{•£4Wk¦×èÖÜà×ØÙ“•—*Œ¹™Íæz§»ÔêD­Þ.žÒS›½#cz½Þ(…°4’¾k¢¾m±Ð3iƒ¸Å̃ª½3‰±òöö9¦Øpsuž¯¹ƒÔõ1¤·âöTªÑÓðø…’›†¯Âbš¶dºä_“q‹œ?•¾¸ÊÒcªÍd¥Æ;†«VŽª·ôýFÆÂÍÒ¨ºÃc¢Á¦¶¿a|ŒŸÜö&y G›ÁeµÝdŸ»lš°O’±C€œe¯Ñ!ÿ NETSCAPE2.0!ù ÿ, ÿÿ H° Áƒ*\ÈP[<ŠJü§(JoÎDœ˜P‘ ]³fÝ3Á "Gƒ¥„l‚CŠ==6žü§Y?‘-SHÛ©¢™ ÕlÅ2’å)Uú,ˆ6‰ŠŠÍøæ2… IŒ@(xÐ¥k—,y~*ôˆ£jŠ žRŒ®QÉñBF©Í¬úšŒ³“;3l÷3#,ÃÁæ{4åÓ #W«¨×Ù5<Ø‚®P›j3‡,+¼R7ï@¸¾vá€@èü¡Ç ~Ø&¨íÚ8t,<ʺ¯©ðÍìùÀŸžå…$H` ~éwÌ„>$@E6<“Â=RÌÁ@pL›£IuyÄφR —6 ²ÉŒ‡X8Ðkе’Ñ…)›œÐÈ&#üôZ6)´"#,#ƒã= Ú1ÓR F)&1¤6I8 >¬ÐêÞIi´ÊY 2bÄ2EŠlúÎh B Y—«rÒ°øPÈ7§Ò¤=ˆÃH¡¢3-®~øe ®hÚ9}5çC-k9›‹¥6M4Ú‰%k—Qœ,œ8àÁ–BmV¹j€*§ATEÈ(>PƒMR‡šVù€P8ÎŽÍ5—©i„M µaÖ̹³ ËŠZ¿®¨Íô‡Å©m­Ö©ÉÇ¡UAPû͹Ú톊œ˜94¢¢"ʶy1œ "³«£2“SÛϵ©¬(ü1ò:-;Œ¢À‚¼ï«Ž½7&?=*)`@ÏwƘÀ ‡¸°ÕBÕ—Â=k\c# ²Iš¼å Ò`p •ô× lâCÖѧB€k0“ƒ lÒÈ ‡$ðÝH`Ð è1hL'œ°  d  .öç#>œ F#´è¨K-ýu‚% ¬QAw-‰d ¢„Ø%C×qÉP@!ù ÿ,ÿÿ HP ¢bÆ\ÈðŸ"8Ö財°!CEŒŒH™ÅQÊ™Š j›£Õ¬{÷0ÜÃA1¤"m×f´j’CŠ›ÒÀ|l¨•L @SdãFšQi$ZTd£Í·›)¤ek!Ä~ȺtA–¤¢kî¢F•Æï…Š¢´Ðª‹RE.Ú ‰JKA”ëòáƒ3%-±r–2¥1^ÃÒ×Ù¢8ì±ÊŒ&m µùBÆïãm" u±Ê‡ ¼Éeqæ¸Æ'6UTÔc„³£ÄÁ÷áqWÒœ]ê‡'hw{þÝLD¼Y™94­<ëüù@OÕ"0jJúÐ*EŠÔá#Óûu+gŒbæÐÊ_zb#ûò@fŽ]§h#ĶàÃAF9tÌ OEÅlHùQx3 è<ØR‘±cǬH/]ÓB<¹@š Ö?ðƒÄ7ò¼§I#°rÙAg`C 6ÝCOSÚø€¡1ï¥Ö‚ÒHuO?mÀQÇœpHZÕâ=­HÑM1ÞýcÌ&6 ñÀXðˆK^A”À ˜´ã¢ ¸Ì1XÂÀ, ´X“ ù€ ³é·ÐK`!ù ÿ,ÿÿ H "E*T¤­X·2Œ.lØíŒY2˜!”ø¡ÃzîÝ›Õäž T‹‰Aä= 0aî‹H0Š.&`¦Ø™ ­l)¤ICdcÇníx Eò EbsTJÄ@E¸EFË)mµaCÖ2lÚ*rájO‹9_ ,&§K—ér!ÄêC؉Êî~øP$âZävløƒÚŽÁΜM±uPâÓ8&ù€çmX0ÂjFÓA8;ó| FfþlÁ9¨HÓ¡ õq^ݺƧj¶ŠýUk{ÕÁ S<û®–F¸âŽšŽ9 KÎsç±Ã-Q\ŽAˆ:–à9xµ.˜±z¾£¢(iÿ12³ÉtvmQ®µàgc ±A“Ði×|A )|ÓŸZN4âM åׂÂÔÄgÄÈ&'¸ þ$M 0Ý³Æ sħV@ÑÂ’(ÒoÀuЀ#pãF‰&¢øG @Á€ 'Ê3›yº \õwÕí!ù ÿ,ÿÿ HðŸ"mŒŒÅÓV°¡AE ŠÍ™¡K†ž "´d†=­šÌº7k#‚ŠÙ0ÂEÊ·V÷0Ük"†o¨‚à`"†@"A’MZP!Š‚hc4…4iÙh•3r-¿§Ò,äÂ-$´ZÄ G‘YEquA†LAÒ F¸"«ÍlÁbrº¬•SL £«Þ:T¤@ï‡.q’þ \Ð,uqŠ|øàÌ™’“Œ|ŒHz°X„8_à‘¡\ÙÙ)?Rš1£Nj;F›>@»F W^ôRÍúÌŽÊ´ØnV©š­b ì2:Äš‘’ÚÍ®T‹€Ü.AmÌë^“ð‚zrÁ 99Ç £º&8|ú‚ÚÌ;ù>c‚M.܇×VÌÆ[FƒB_cü]Ç>pÁA.4’À[)ÓÃ* á8 ÈH#>D!a$X BP6ÝsÏ*²J#\X`‰&¶".eÌQ xŒ@±†M2ݳÆBÌaC]ú)â³üXcYÖ¥sÀAd}(5Y_@!ù ÿ,ÿÿ Hp "EŒ,xPˆb¬æ0{£ CmŒl\“Çl†=­îÍYA¡À(ÌöIùÖ Ã= MšÜ»'óÞmãµKÁ³§´ÒôLƒÑÀÔ¤)ͦ ?}q®)SÔ¢ÀmH”ûq͈„Q©@¦TÉ#¢4\Ȉ@d]2ý‡vîŠtÙ;Íjvñ|xíˇÃâ(LpˆFêâäù‚eÄœ)1šàˆ8X²\væì€éÓ¦§ØøgÌsœÒ§kÈþ”ãʺ"Ô`Ý8ÌÙÍ®¼è "ÚÖòf…ܘ6+g{(AC“w®Z…=ûÝνkdt,x‚Øà~·!aypŽš1zc±kq$µ `!¨<“ŒÒ~ ´ÐÂHüÄ.a’"¸“à‚)¸äÒLzHq̓>cáL÷èÑÏ e1‡WÝ%„ ý¼QƬ xPvÚ$pÓe!ù ÿ,ÿÿ ¨¨`AF ¢;Ó#ž¶ ^“§ ‡º¤¬Ñ#cTéµÃ@’体MîÍš¥òZH$)RH‹)3›&™)ú§ÈI¶ŸÈ!Т…$eHf¦²S#AÎØˆ‚‘6mŠ¢ÐB&Mš;F<]Û9°,#º ã‚'ceã*RÖ¥®œba4¨£(t»|ÈR‘ ñ®õŠ£Œ5,øð‘ù@™Lš‚.Ðì ã샳ÏÎ=ÚÙÌN¦>P£uëmŸ`o;m˜UØè„ó×A„­ñÔÙ(ö_V6†Sed°`\Æ }N] #éÕ³3ZU<ûsEš¢x_§nöæd 'à‹ŽÄiâ(ÐWæ¡q4Œ[”#Áï­lHÀd“ÅEÁ L7Ñ„'ÝÓOqŒ £Rƒ÷´ÒŠkô#.t“ ¸¼1DFÌqTT`Ð@Š\ÕÜx!ù ÿ,ÿÿ)H° "m ¡ ‡‡‡ÌÀE׊¤Øˆ¡ã½Mf‰œµ&Š¢6Ò6¦LÉÑã½’Šð›É‰råZ4xÀÑ„I8Œ‚2Á!ÂÒ’¶3iLÑ¿§PŸfD†Lš¦N£BU¤¬Kd´L&ÐFÐèAF]½>0ÙMYeԨ͓;oÞ“]><1I¿€ûõ»Ã¤ˆˆÔX\CqâSl( ²®Z5˜3c®ÖaÌŒQÈŠ>h–lAŒZSGU„ZµjÖY]k…-;µ¢¦µg#*4Šïß¿1*šC g~’Óz@«9?Åuû–Cõ×±cøvf¸Œ ïͺ×êcy¨þÁ¡G¯›#ôàϹvÍýk ¤è: !ù ÿ, ÿÿ)b‚#mŠ*Tô¯¡CmûÜàÀk‡6ÌèÉ›ÓãÌ IA2 ÷RÞ›ÕJ†ŒÚþE¡%­fM’'S6i2« ÃbÌ(ÃÖ¢?,d3™²C8.j3Ži)¤}“÷4ªÃ¯Š~ «‰$^Cc~m¨HY—.Ȳ˜`U”‚j+÷Ùƒ(ÿ´ÍÛ–yú¾ä‰#)ËÛÉ„çì@eg˜1ؼY_ÌbÔMú€iË–É1Ô–&Žªùów¥’Ÿ¶mK£6+©SADcC].l[Ë|­"€›K×fWút’­3áUûZcÌ‚ÄW³aNÁƒ Õþ3F ’l*Ð"A¢\‹ÊâȃsÖĽ“”d’€HpõO1º0 ‡­°tO*©dCŠ*¬\#O7®”ÁÁ ¸À  =ê9—ž6Se!ù ÿ,ÿÿ TtmŽ(Œ´)R$°¡Ã†QÜ ùfBʾ6ôæœA¸¡Ã\H¤¥‰ážI=kt½ic•GEq,„™¢¦É&³rÎ2òR½ ?”µ ñ [¶J6‘¯¡"M.:jcå̵8!“Â`äTåR!M¤—ÚFhë42dÒôð"‡ uü§M_—·¢4 C¦ðxX¨aKsMÝ“.÷h8æ€eËÎ2 “åƒç.?^޹âáSÓ5.pöÁÙŽ\aátëuÍ!T<4ûtY W‡ÆVE‘ "J˜ÚÖa«ˆÕÚ‡N}ø4*ôë£81†½û¿«&{b‡®Bø…ãjc¶GYœ ¹à€Pˆþº¶!5S ±@«Ü>IF\̽1Ë=Ia0R~HÐÒONõPÆ ¢¬±†I&•”àÌI¬È#Ä0ô£G+÷p8žT†([éEçP@!ù ÿ,ÿÿ ¨¨àÀƒ2RÀlNF&Œ×.E RöÍ9¥ "‰Š ±( †{zL iE[Ä ”ɱ€Dš4‹'g5™Å×(Ah‚P,È—r²á¼·sV?A5iò¨ N-”ž¼Wæ£À(Nœx%¨( ¿›Ü#¢Ø¡Uc ÊC&M@ f^ãaÁRNH¼ŽµéCÖEšµ±pƘ x_≢nZ—.ÈhÇÃ50nü߇.¦©ó "‚•Í>Õý™ñ‡ÛZT¤ B·^iTUò@ÛÙ2½âþƒ3Ôc8:¬óà¡ÐÝ.FÀAXPå\ÊA„oÝ,ñŸró¬F$8_>±“UºÛK4æ `ö{´Ëö …ä‡/姇Iec?ÊaÃ}Ó÷DˆEЀàíöœ6^xÔ¦i¹1ñ£¨\¨Èň ЯBH'Œç/ŒFšœÉçQºÜƒA ´X¶Þ|ÚаMJCÂe9U.­ˆ-Ê¡€K Ï k´2”4HìˆK)•¦À‹ìEEb+CÐÈBQQŽ)‚A!ù ÿ,ÿÿ (PQFŠ*\HP‘ w{æ€HȰ¢C0)R`ˆ¨bE‚ d“–÷s:~‚ž#5bh5ƒ•" irAÏÈ$$14Ñ3äÚ͆GujÒ"ÊZ$ïÝ›%£(EEÅÈQÄȇŒþTð E“©³úÅ»YLɇÊây;Qi0ÜsGOÛ¿(pöž>W>¢Ô¦@…4’`R ÑÁC ÁÎÈÀk±•ñ´.‘tó;PœÊ5.Ь€Ügd² !­PQ˜h9R;ËLæC—.*$ÑV¨#t,þÀ¼‹‚á ]hr2ÂÆ™Ûjì&óÜbM#F»©Hö)ä —†3bÕ8iËÕKý@8¾Ž_xôcZ{ÐÓßJ õ G ´°NþcL?÷` M‚[1ø‘i¬¡4´´`ƒ…¢2ƒ†Y  | ¤È3è!&‚bAŵá7 €x¡"רXŽ+É×à ÌI |2~!ù ÿ,ÿÿ HPQŠ*\¨P‘ w\Î$dHQ ¢k`R¤0Á,ÊÄŠ ÏÈ&M#×>‚hL“²ÒJbXÃÁãJp @èV.&†{÷¤ÌÑÆP¢ÿZBÐdLL fµG¥¶4X”y„ãÃÇgZdƒ:kV?# j3ÅÙ|i˜ñjìŸ"F’Rülb6AB8áj8àŒ 5Wtí¢â'óž.TÁéðI0ax FÓ¦`2ŸR$*Ô!°`gÎæéÜ2$BªÜÌò‡,Y>´–Æ )Cm¬œŒ©ô‰°Û.]äñÝP„UNVÉáa°[,6T„£iÕˆ9ô·íÑá¬ò¾ÊXd½l!¬x1ÍÚůT4ç[6!óÝÔЭ`€D9ñh' eèqO Ùh¥à~×àrÒsUÁPeÓ€l¤*3˜-ipx“"ÚüÐTíÌ1á~ppÐÊ=FÜx#sHA/Fá^‰ô­!ù ÿ,ÿÿ H🢃*¨è̾6p-œ¨­­)Ü‘8± ¢$¤aÄà†ž¶Ž?чD$†VB@LDh0Ô²l5#¢GF½âITäBMq,HÃÐdŽk ûBfGFDÍŒaL¿¥÷f­1iP]ŸΜ‘É‚>Œ)²Q.ÓY2Ê0úÇHħÔ>CóvDEÅZ aÚT†<Ôü³U«Xý Ìe«66¢ÎõWcò‡yº5˜†¬s sNzŒ¢êÓdµ;ºti tÔŠApÒ¡ÙíÈ»ð "Û£1M«F¬Šs­³Y”…V¨ Bô­Ùz í ó…Š®•Ëõ¤",ÈûíQ^¶N°¦¤ŸP‘¼{H”(ýSŒ.¤@‚:vÔ.­¤`<ÍÈBD˜M 4H=k` M9ÛYÜRÜ“? š3`€A;g¸HèñÍ56¦4G?<öœ u!ù ÿ,ÿÿ Hp "E*¨È†fÚJü…­ß NL¨ˆ-i)0 ‰¸Ñ „n@bøV$Gm þSä‚‚”Ò0´™PÛ™/El T´JfBÞkÕ’`+Sœ}À"TÑ>F0³C“VC@ ,&¡ÆS…j2“5A®÷fÍz#v¦pfÑ*9£ ëˆ ”¥¸wn]EQª™uæìY·U#Ft#-ç½&2ÞÀ!¢Ú§Œ•tëVn2i ¿á˜£M&ÃÄŸÎ’Ù‘¥Kdà³ 6cšºå«úCãÈÀéMPN"w£Zê‡ à¸6˜MäÈštl½C™±íÍç€gƉ±Ö X°@åR¡¢9ßh±&Ȩ¾DT&`ÀP%q4‡)pzÞ·F‚˜ž ) È`IŠÈ³†€JÈPz`†:nt_€`Ôå!Cš°ÙŠÍ¡K06#56W`@!ù ÿ,ÿÿ HðŸ"F×â)*Ȱ ¢(FÜ!ÁqfaÃ†Š˜e“–"…»(Z¨Í 5Ž)0ìc„1Ji¢÷Œ#†Ve´Tt†<2Øtþ+©©ÛƒŽ÷ZÍEB gÎÈüX¨h„e²¥¸×dB‘<8àlÇ5EÚ¬úðÑ@†{÷¤‹iëÓSgøl¤5sUS¹”³f½I²Z§Š$дj„«}´R6 Lc$65È’¡ÖµtÈl&•BO¨Á\W2GÅ’¥ ²Ð)¼¹ÂâC«â4Cüáƒkd´Ú Ò6’‘¦#V¡añ‰lïi$âÀ9ЗCWGh²òtµ—Ô ždi·ç„(­°¾  =ÙäTÔ¾¡¶2÷,äªR ˆ)d@X Ù E -°D CŠ ²’˜¶`LÝ´‚Düõ§Mù}5!Aÿa°‡‚TŒRX¢Añà¢âŠŠ#aH!ù ÿ,ÿÿ HP "Ep\¸PQ” ûÜ”QȰ"£}Ù¤¥h7GQŃ‚P`A# ‰ðåGÈ 45¦ñ^m™0åÃŽ\!£81B¢¦žx/¥©qàÀ-A˜Ñ&c“{0( dä©32.ÿE1cÍifÝë–4Œ¦°KÖ‡+ )îÍÒƒ*§¦N•E1æd„6´òΚ5C+L6^É(XÅLŸœŒ)0è•q-¤"Fi>ÁÝ/ ².4óêÁQÆØ?EÆ\¬B“Ïë‡]º “– ‡T B2j3uD·+MowQ‘á7£—[Ý:æc„•m²\Ñ¢:«ßÛ6š)ýPDS7f H¨HAx–+‰ ‹YaKÞ“iÓ•LqoÖ,\Ú±ò1BÁ§øð!NEŠ~ÈÈ_ÎðÙX¨(Aà0¨(‚FgÈi[Ȩœ4$)ö$ iåŠ4ãe“–â[›¡ÃhD9oæ@m>S¤hgª¢'‘‘7R©Ö{{ @-æ¡N,.¢€H¨¨S ­Ê@@EÐVØOZ”qâ„+Z)î5éçÃÉЇ(9vé2-‰rûR4¹7kˆCÏÄ‚'¹ ²ÓÒ~Þã¼Íç¡!£ìÃÁÂd©S`Ø<ë á¬*2Ú³D8ò8ì1ÑŠ³Œ šœhr¡P«:ô*&ÔgN·4à$té2í—2üR`h¢‘É£Døò¤‹ÈH›âq«!#N;‘š·Éµ´ߛ寉“#v„Ó¯N8ò˜í3Ñj¸ aÆ5ФQ O4MÔEÞŒ5oà°ÒäD÷‚=b‰’Ð œ˜Š¢$`u‘(GÝÈ´Dб:Y‘”6î0€Š‚ 1‚C BH#ìdaIg¸aA"!ù ÿ,ÿÿ (P‘A‚"TTÌJ(ŠJ'\ gð°i›¨PÛ˜œ}з‘#Am¶>8ðáÙ™ˆµL¨(—Êð^žÒbD‚ ¯€tF&LÚ Yê®ÇQFÕ†~Ð4^6i)R´CSR›ˆm!?ȹ&C~XS|â$¢¢4`EfiAC+ˆ 2dÅð­ £„[ùáC—i`ÚŒáD’îáñ7"é ÐEÅž2߻ׇM€  ¢™€×Ò¤-ÜdM…fF¬:úO[™ÈbCŽ<«•°UN(ùO‘¼:­h“ÇÁĽ&³f½Aî$ùF•S‚Vf£Á33ÖÌÒÕƒ•¦îšVÿˆ#_Q€*Š2džÁý.¬¢ xÚÍ:Ñ´PÆtÍ7žÐÛI)BÏ7åQ¨s0§!P¨Øð¡D3HP@!ù ÿ,ÿÿ 8PE*L¨Í–„ Œ.œø¯á¶Îæ©“H‘ 6Ÿ`Ì¢€cÇŠ¶>Õ©@ÛÉ‚ k8s–…œËŠŠ]Óf¥JŒdâܨȿlûzpÔ¦AåL2’†þ+ÊOZŠí* T&$PIgzœZŒ’«)¤ aô¯X‘>FöHãÞ½³¢!ÏšÕ&'¹W©®è šŒ2¨ö™¸×d¸.W«œhÒ”[µ6WŽ•Pá©íÌŒ5³t%!»¦#ØjcáŠisfk«h¢œ"q| R•A—Ñ øƒiÃQL¸6Bô§¡BŠðô¡B!ù ÿ,ÿÿ HPE*$¨ˆ‘ ´-œ(PQ1 ÛÉ!E†ÅÂÕ8àìT?þÓfËÃHgd´ØHù‘å§—d¾£©¨gBEp¬|:pàCrŒhj»&D]J‹"I~ØG›RÙ¤µcÖQÑ™p$KÂ˥͘‹¤  IÁö[E XlsVòƒœk¨xs‚ÊF$ÒØ¶k³Ê*ˆ8;>|èÒeÚƒR̸rÃ=7æh’øOѵrÓt à›¨7`RX¾'…Ç.8wÁAšÛUßkÒ ×µ>VA`4Ðk©YØbXÍ{È*MÀGh"¾òZ©S³t q³{Ö,=4FŒWp²ÊLjUĵ1óäÈQ™ƒp8ÈÈ‘1MÏWg¤þ4G({©èŒ mð“&-—ˆŠ®Á#“µKº º!^ $eS¤ÀÑ-a×g]wQ!gÍ%mÀäMñ=MÁi0 ™€ËM IA’†{R\9q&ˆ})¤ HÝÙó==Câi¡©tQF®blñÜù^“&÷tÑX¥I“'¶µ¡Zàè48|7™%ƒÃìUNVðY‘‚o%NÅN " ³úÍklvíN¡ú†Á“¯DµÑkc,2MN\§MH|C^P0 ¤ Ù­¢H<{Ä“ IŠ$Pœ6Œ02áNŠã†;”P@!ù ÿ,ÿÿ HP "FŒ *\hP›ºu±@0œøOÛ™Ûj8û"‘"AEŬx¨qÀ™32qyüR$É’džý`¤r¢¢("®¼töž85ìÅfÛ£ða³Ô ¢¦Q:4;Ê3 ¶3MjC%„é@,¦l#ã, 9m,µ±Jð´˜lÒÀ`È(΄º¤ ²•Dò„X–¢°»bµÅI×Y—û¾y:"…’ÂR¸iê©bȤ Öd Âîa01¤„MAÂF;Eæ&©ï}‚JÓ* 2êæ«„ÜM’'oÕš|hb[ñZOŽN9Z£|Ö,sÎŒ\Xå$º“Ίæ ÁP¢„4Q˜y—2ÄSc«òû¼Ç7 Á a_EÝt3 Ap¬âÛ.¨¤ŽÌõQV,á§ ƒ*EáÕJE¡Ésr(š4("C â‰,ý!ù ÿ,ÿÿ HP ¢ƒ*TÄH],[ÚJT%„m¦Q$q "mg¬x¨qà€³øÎtd¨®Ã'’&eyöÄÂ(ü5ƒyr5u 8&¡.°&?Á‡-—6¡ A,ƒ`›R,qà@õ¨-¨Ac(ðLÉ’[ÄÏcxm˜Õ©š¥‹ŠŒ®qÂ#N$Ò¤)æQ^Ÿi]É‚£Õ,í²N!EFµ)x€,°´Ê)¤Q¦ŒG™U6Ñ2êf"[ŠÐ”›ÈÆ ×'š DQÇÐîaMüž‰®V%€° ˆ3`0lqä(Æ=Ù³fIa„“¸GèNfEÙ“5añèÉh…K#¡ VáöáDoî¸sÔ6ÕS‚гÊ*#¬E×xåÑD 8Bj-äÂwQDØ‘6ÌUh¡D hdžÀH@!ù ÿ,ÿÿ Hp ¢ƒ&<% uŠ.TÔ°š‡m”€(a„>ÕpvÀÙ‡82Ê¥Á\³5JšÌòì£‚ŠŒåÚ*TŽmÎLîx¦£”µIÊ›gd†*Èu”cÎ@:ÌMÈò…*RŽÿ´ÅûƒÇCl7;jƒsĵkÚÂYD'Ü´t¹i+fd†.WÊÀdË6©¢x“èÀ›–!)î¥H!mr wQ2гŸ dH,‹žü „ƒ{ˆ*b!’ÐšÈÆ G4NNƒà@kV ߾ݓ-ûž”2…`$P›:„0!Ézô XŽ)ð¢T”ë I:nÜ*Ï_‘gúò€ØymÉAHê"\SÏFŒ´)xÖÁw/7,XlƒÓ%=ǪedK¤%‹%|ÅF¼3r FÁK¤*ݘ !7†š¾Xøac©¨-U©2Áªµ¡IJäà{ ͪÚö|£Eà-ŠÐ²€IŠ×H®äòÍ„íoßZ}ÓcÛ w¸†\;xÆÈŒÊT02çŒU¬Ú8aµQ‘V˜kW%«v,#'.¸w&'¨¼øñ;!„G?V‘ çÙ[Ͼàüøèm¯_P‘1üãôO@!ù ÿ,ÿÿ HP ¢ƒŠj;cØÇQ© £.Ê?8 AÒ†ð 6H:@=ÂAQ±[† )ZÒQ$Yï¼!øaòŽŽ%Åé ÄgWhlØÄQd…JHêr%°QÌX1¦6lX´ÑáÆ’%¨,hC–g´nhCKDKpÔÆV[FŒÚ£j—¡0ò®É›#ïGšʾÌQd¬-±ˆm€•È8&Ä ½‘†¨žo­¾æ÷Œ»"øž©xÀŒh?zÖè1ÁÚD»v®Ý´3âÖØ™Û¸s3ŒŽØ±ø | aâÅÿO¼ò⊢<.|úØêÌ bÏnp8wƒq!ù ÿ,ÿÿýS¤HÁƒŠ*\¨H*J”œ9c¬¢18p¢€`”PÑsvìÈZ‚° #FËøÇ(V%o·nè YR‘¬ QXÎ#Ê^ bU'î,> iû…D>{7ÒD™j ªk×~ôº–0>6àtôJÈ¡À”$3”‹ìÂ·ŠŒXPRV' –ØC6v…(] BÏÈyF _›E‡{÷0Ð*BiÑCâ.‹«F +m¢fAý­µªT¥šMD’ÏF8 ™KŠ”~&L´kGËÂwãX <¨ˆ(p&ö˜óƒž+3 ÞJxÐ…œÓ§+‚0‚QvíÌ,&ý‚·ä©CЄ>ývíÉožž¡‹•õ*ºŸ_¿±ñý $P@!ùÿ,ÿÿ ü§HÑÀƒ*Š!W &DÈ(D³f•ðPÊuÆŒ"" o›`¡éX¢Hˆ(Æb“¨(Í”)WàñêˈÐle•hci¸eOœHK–²10 ­iòÅbä2J¼xAÒÚ ÄÀ*Tä+G¢Àˆ.!¾m#M¼BñÜN¨Í] $ø^(˜“à£6‘m¬¹‡!Ń„ÔÅQ`¤Ûœk…å*22kV“Y¾=«µ œ¡Ó¤Âì[ઠ<] Zͺ7»v“2m÷gˆŸcÚ2ŠrFžo¤¬1aûY‘õ. b„èË3sŒ´ÙÇÁŒ(Á÷B AÓªzÅ¿…°êPõ ]ø~uf¥‡¯BMû©×_ÆØW&‡„gà[. ·àxšõ ƒfMHPn!ù ÿ,ÿÿ ¨M‘Á&”G€À—pýS¤°¢›2za…ž‹3 * d%íÃgÎ>åJ\ . ¸H°“¦L©”ãÕ õ€t€.d²àp§^%"öþPTÔCâȦeigƒQ”˜){AŒÏ'¾I! YQ µÁ#¯[”Qd`hk¡BÁ´ ¦UddV“&Ò¤™r +8ÚD2Z`ø°´tEæáØdÁ¨2ŠÝX¬Ž•1<¨&!Y²T”ÆìaP SȬA+ºÉ, H°¨Š– –†:%.°BUt¾LϺ‡_‘BÂüà´ pBFpðaäÛDœ8á½"E¹N™$ƘH÷kÔ(òý„Š@pÌ&'hÒÞ37·ý˜€lâ B ž°Ü„iÀ Va(P€›ãa†›\8âD.˜qâ@Šcߊ*!ù ÿ,ÿÿ ¨ˆQ<8Š\Èp¡6wÈÈÓ ¡¢† Ñ“æÌÙ5¦°3‚J›BŒŒLtùÀÒcfðØ‚À* £‹ é¥èÂS@—ŽrtºqƒB pþcL€Ó.ýt¹A–e[¥Wïn,aÄ §¢nœ †J‘¶4¸dèShÅ^Œ2b"…d¢”&d„Š^ž.¼–™Õ¤®4)ò,.LE)œ:M"×MÁ“ L*¨¨‚‘%#ËÖŽAŒKÂŒ»é5^Œ%@KΦKZZÜ´Zë‚Qè )UbKd Ҥ‚ݷ&k€ðЛ°X7tuc@¢¢H‹`§\z²¤ ã?³gÐHi… Kü`âVÞx #E~¤IŒItÐB!ù ÿ,ÿÿ 8P#EŠ*\HP[VëbåBȰâ?E¹T sæl »3-däNÀ‡8ÓrM[B‘ŠÚ¤èB󤳶¡%¤BEs0Ðe¨É8klcሗ¡Ò“‚¨€{4Ü51ɱÆ'*"4AUT¬†ªš\CXŒ™ dH4¦QTýš4I!­ ê*Ò†ª\ºS”{YL×,½{›ÀàÕnÆZÁ¨ZhAõRª( ë5€¡IŒs—$¨¨´¡õòí»å”#5מBEÞ›-°!Wmü”¸®õü©Ž‘R%„óŰå±:¢œhcˆÐºÇMΦ”ðž¸š(0£¸Å€á—NpÁ…Ȩ ŒÀ +¦2À*»Yüâ'ˆ1€VĈ& j@ƒsß@ú0È14"Æ ÆD(¡f°É& –¸!‡(3Hƒ.˜h#«²‰ˆ¾8Ò:ž0Èv>rd#›hX$‡>rˆXKr¸Š1.€eAO¹ÄP@!ù ÿ,ÿÿ (P‘6EÅ@("Ȱ!A_¸Léo¡Ã‹ÿ´I’ÖÅ™³)y¢XÄ8PQ ]>|ðx`JF#/*¢‡A@—”*èÄgDQL‚ÚÐÜ@´‹€&)¨á¬Ü5‘ µ•i"MÑoò~˜°ÒY}±ÒV0J™YRX•QÑàœoIunãB  ]³šèM!C^TA2b¦B¥ÇXQþ)BÌ€^½­x¹…aOŸQ°MëÒ˜E8ÁJp܆Y[î5& ŽOu?ÈdDïM‰Ó¦HѤĩÝþT¬­—(Ñ{›ÀàûÔ©`h 6ôYŒéÝ»·œÂm€A7éÓmð¦z¼[Ê‘SK80FRQ.w»¹ŒÅÚ–û¥4‘$N¯‚cÇŒ\0NÃ5#ÀŠ0²Éb“ C 6ø ‡X"†š\ø&ÿ`Æ1p#†Œì'NøÀ&›œ ¢²¹Â*fpLb@ bC;2cŠ!ºøÐ‡ Òˆ*ùÐ5Ž£”ÿ€`Æ!›°ˆå’ hÂÞ—i£ÐA!ù ÿ,ÿÿ HðŸ"uÅ\ÈÐ`rS$8šøà " ¬À Üœ…ÁᄆœaÆ& nb ‰%ÒwÌ!‡4rB##RŒ‡@ð⎠6èã&«èHd‰føxÌK*hÆ!N(e‰>@y%ndí!ù ÿ,ÿÿ HP‘6u¹\Èp ¶3_¦xˆ °aCEŰípÆqbE‹ÙÀö Ë‡“Îjx©( 3ZÈu™ùÁÙ+*bdDJ iÒdNSV®æ• ÎÑê^ŠÈT(C¥ ¹,6‘~,ÖoÖ¬&RÈ¥-$ˆ8d8j 9g×°\@  Ž‚´7s*š£çXiûäþcfœ«(3PQ5÷–Ëǽ7v³ÀÃfã㿽}1mE³VмÀ ÒùbNÖ&š#/ <뼆#ìÏÙ<9š!Ø¢¢38ž"ãÄ h÷âê.ˆL3šjsÕtOkã=œ¬ˆÂ^Q[Ü1iLÓòy˜J’d÷fš‡„3¢‘˜úáćø HKšp7ègQã2.³É‚' ²^€ãc†›\xB 02A xL!6²‰ Úœ¸PЇÀâ&šäÒŒfÔÀ¥íÈP‡²JB2Ôž12&y`’ÿ!ù ÿ,ÿÿ HðŸ"mgr)*Ȱ "Fê¾LñfaC‡p~<ËâìÀ . |pæ¬F,F ¸¶/›4dºè\yà“mÁ1£†7»¨h¡àɇ5>E°øÄ›Y³šEFK*mŠ‚dyZƒ¢Å° ²ÞKÁUmqÈt¬Î@EÌd4¹‡ÖªŠâháYãEHÚÚÜ›…AZ†Ãÿ´qiñŒ° A̸·VZ ˜÷´Ú‡o%0+‚ C·ãAYiZå#ý@ë­L™`>zñÿ0ÂK ¼ØÅ" 81Âw1'¸ÀŸ>˜aFlQ¸pH#Ü á ¬bÆ!f0bŒ&Ç4r ÜX’ÀE!šqÌ!>³‰Š'4rH𠔀‡À&76²É*¹‰ôcCé#=2”ÀˆpÌ“Q6”À!‡ŒÀc–ÁáB’"‰&A!ù ÿ,ÿÿ HP "mÅŠ)*ÈàÁb?¾L W¬aÁ‡?Z4ÂÅ2d]>|pvàS„…v›a"…4i(»¤dy€ ‡FÌj‚ÁæÉúâ´Xy †˜Qé™5«¨…rqlhS„êIÇÍÂ@UTaè½@ŒýA†e ŒF1’ Pÿ1zæÌYiÆÆ›ŠA¿Š5èÂó bÚÚÜ+*MHHƒ ¤1Ý6&o1)Mnf‹S3 ȦÍû¡Ðáœo)l¦EÔf[2âBYš‚Òñb‰bñªv)Úí¡qùŸ6aЄäuØ­Lfâ4VÊD®é{hZ…]»Á×Ì;L i„CÄ 2šÑªxE œŒ0ÿ"«z¨gPäñŸ"Œ$0Â1–pŸC¬wÈ!p$¸Ê!œ`‰2„ß~dz_›dÈ 7' òC rL ’á '°Š1¹±Èß‹›”xŒ&8‚GP¾x9'Pf˜¤Å1G’Å!ù ÿ,ÿÿ HP "mŒ@(*ÈР"Å"äéÃŽQCƒ‹i!ç ™Îj¤Y8PÑC\pdC†¬Ë‡—ΰ±8Ä]zîaH!­e—Ÿ l Cò#]³fé”ÖSN Iq²Ä¬áæ?Esd(Å BÒ8Ú1ÒòáÀOa2’ÒDg6TE‘z !m%+Ük‚Aš¤¢F‹”­ñé ARt¦SŒ ¢8AkŒ‰«w§_ÀQžõ`xà;Sðá²³)}"Är§4€‹¹ÙsFaATßRðÌ`õª«: j+ÓÌ  ¢ŠQ°ÁôFø0cL¸0]¤ *J ÉÉôê·õÀ€fÈ}•CàÕÂÀÑ[ wéè*êäšó3«F˜9–^,œ#@a†s ˜wÈ1¬0òŸ‡Ј%b rŸ~Ç3Ý1›lÒÈ Üp#F^ÀˆžÀa#øf@†lrÈ.ÀaRC ìWá!«¸ s 3‚ üxQC&yQ@!ù ÿ,ÿÿ Hp "EÚ,xˆbêâĊňàAQl\SЂ‰,dœ9Û†j`” 3¤˜ø†Dšd]>ÈÌŒ8=D™·Ahr²ÊÌ*âµÑà ªàÃïT$$qoM×…Cx'Ø­rrM#|ò1þ_<ÐÉW8DùHƒ ŒHqýÐ13 ÀaL ¸êe×Û|þC_ƒlÒH#'pÃÍ1R1¢Þ1ǰɇžP!7b`—þà¡„JÀ!f@ •6Í0Â*.°bŒ1Q€ÀˆA§ÙÞ]!ù ÿ,ÿÿ)bD° AF ¢D¡H[]R"ↄÅg}àMè ‘®Y³0¤H! ².]>|8p`]G)³šˆ,)àdÊÎZ¾ ‰ÁB‹@ÉIz²²†¿Ž0š4IA‚¡¢§Œ°à¬ñB›6\2Sðcô¯ë¿¨EÙ0ºzo$?^¿>ËYã #E¸fnMËèÙÔ+ ´í™ W¯usp«íÍHi~é®=P#ÜØ=‡¶›S¬¢238 iƒÖ«6#’(ˆ`‚¦Uf|töúôi^E¦G˜1%­m†Ú 8áÃÌjÛÿ^kâmæXmà]qŸmyrmŠ–;ty1†šÌ:v,œàÃ9gÅõöèØÄ¾Ñ‰¢(ZuèüúMÜŸ°$†Û ùNl§^{ù½g`# `Ì‚ 6hŒB )!ù ÿ,ÿÿ ü§HÑÀƒ*º&oN36à€`ÄH[Á‹£ô›5ë›G ´H(÷%¶1a þ3&cÖ= )¤IC†¬Ë‡›ÎXQ¯å½˜3kv±ùá@4Ñ»×äž´?HjÐB·œ5â TÔÆeŠl¨.*Ò–çjOa¶rx™ÂB…ʰzxûO ¤ñctP[‘¢5®ðýÅÌ$ Œ‚+›Á…aJk R ,X;À1˜ëP•ÿåÂl4M‹sÀ´CbáGeE?È`McÄb'h\ñH ðZ -X”äR`±‡¦U>ÌðV8–"œ8Oî"4BTбr2ÂÌ!ÖÆ{“}ÕßÃo ¢U;òCÇÀ'܇n‚îð«L¨ˆ™}ïÇ0‚ ¬$€1pD1’ –€nÀ&ƒP8HS†J r†nÒH#'”È 7b ¢šà÷á&"šˆ¢N¼v‘6ŒDÆ$ÀŠ -Â1ßí'P@!ù ÿ,ÿÿ TÄH›¢ƒ*\øÄ\C˜É‹„A„ ÿÅ“1«É½H,Ð*×"NŠ %TT¡ã= )¤IC†¬Ë‡d&LP§òŸ6afËV³‹ÑÎ| “0Ê)ä ò£A 9dÀh ¼V¥9HV]–jX驨M¡¹*Š£µF¯ž ¤„åE¡6-hk4ë+0×·1•õ^Òþ´ 4S’4‹!ã¬F ÌQiã‚XšÂ•i]ª-A4†ìá 9!,h\QLAMNF˜YU[ }ø¦lë èG›ßÁÍŒ(þO48=B ËHÓ*f|,ŒÎÅ]¼Œœ|?tˆ:Ã\{º¦Î~üBE ž£ÿn†½{¿åÈ£#«ôwŒŒÅ îÀ!#Â#áp°’@ôõ)â{ǰ‰ˆ#nrˆtš”Ñ [N"‰4rÂŒ3rsÎy+]—€ #"¢ŒÜp#†˜ vßAŒèÁ"ša_F+¤ u!ù ÿ,ÿÿ ¨èÚœ(Š\Èp¡ ³ÖÌh3… *ª0kÖ= ¤Y Õ¢W<„‚Ð5« HiÒÉœ–åÉi¤×ªÉ½íhÉìBôƒ3gúÀYÈ—ÏrE Ò EºX¡ha<=?¥µèšP‘1|Fx°¡‘ÃÇÙzt/ Ò´94‘"…4:*Ês´F0sÿ)b†¡/’4‰ÿ{r×_`QÀ4–Æ„Æ8Fk|ê•XQ‚}8Ú!‘–»W<3Š¢¸„h„¡ÒØ+m [ ƒÄ˜@Ó*fŒiò„ŒÚ¥ŒÊÑëZüxr³ƒ(ƒü/×·9Ô5›0sèLƲÿ´5Bû_‚U#|c•qa1 Bæ¾',A}‚ ˜ÀqÈ3ßÿ€zxÈ!hrQJɃ+‰%ðà1h†&¬D1á?ÑÁp™{‡@›´Ø¢>¸+ßLÇ.˜Áá&4rÂ?6 {ç)2› #âã ܈!†)DV¤"Q$Á1>bR ‚EÎfŒ”!ù ÿ,ÿÿ øO›"E*$¨ÆyQ.œ¨¨‡ŒY÷úí›áÄ pÌšÕCŠ´ZéH‘Y«&÷î¥&M2d¾¬4˜Ð†Œ,”£uY—ÈÀc7ÆcÁ!0g*`%H 9]Ž:;°Í–ÇŠzLJãB "mQ”}ØZÃ#8L¦È–Æé?8X>8ð)Þ×nb¥µÐFP¹µjX!,І›“),œ)|æ Ûp*êF MIvµÍÓË׫f«ÊìÙ¥p,lÝšý§‚“fFØÅKºY„Šâ1ª};7cÚêð±ÃØkEšVù0^¸* ™ 6hµ3‡ìš™U4œv<$R@@Ç}èÐñ‰ H|cuÂôöï*ŠƒdaèàãžxÙ†gA{Ç£IꉧM)0ó•&‡4@Çøð KÁ!Ckfテ›¤˜â!#¸Eèq]‡ ‡lÒÈ <òØÈ(ßø÷ÑAQรHrÒO‚i¦Hs‚œXؤ~O.XÖ•I”P@!ù ÿ,ÿÿ (DE*L¨­L?#.œ¨­‚ŒY³L rpbBE=.6¹‡!E 0s"zTdCÊ=’)¤ÉD†ìAƒ Ú$&d„ë^ HÜÑ¢ÙY—.d¾pÔùO³V$¥ˆ%H 9]>huv \‰Šºµ*)ß„ŠÁá•ë¶1Ú²tS2E¶4Lµ!óá@+ ÃaRIq*Š“…ë+6À–1³Eb¹gž8sVãS.Œè¹Ú“Ÿ„Űlî,âò?Fš4ù@Ä*¯²\k¨rÝTÓªfÔ‡Ln6ÅÀÆÕæ¸ð¹°¯á!²\ò1~¨AEQz=¶›b ¬ ~ÌÒþ6sHÓàã]fTCzE«Øƒð^¡6H¸qFSÜí×ßwAdÓJzðpÈ1Ǹw |6€A‰iãÃÇ`† ô )è˜\.ÀŠlb†&p¤%6ؤ ÅYßEá‚-6ÒÈ&›"#q ÑÊ5¦‡›4r“˜†ßTÀ›Bà¹pL#bt‰‰3\9‘vÆr‚–è2 G ¥‡àÈæJ2.!ùÿ,ÿÿ 8PEŠ*\HP[…~CÎ dHñŸCMf™ˆ˜°bà ­f5Á€!E»p:VÔÆ¬U“{%¥ÉDFKYJŠ,]–¤ÕÂ2d]€¦‹E¥Àœ1ÁœÑf£Eº.]>| oLѣ̾%µ‘á™Y¤:;°­WB–ßR¤ÆO"AEgð}»mŒ¶Šº¥]ÛÖ¨¢bJÆø$âî?Fhö ‘†LžßbX>\x #M«hìQ`X "Õød—àåU>|Dy Y0áÎ9AíÄÀ¿XÈL®QZ¡ì>̬ö,‰ ÝÊ·2Z5Â̱áAyVö猖›9ô\¡¢(a¬Žƒ£æÜ¡Wü ƒ”ì>q‡ão1~Z•QÄ(þ±cš\ÅÐgøéw—"«À‚‡@ àm÷å'DgЏ`Fƒl²É!.H` z§ ÇlÒȉT NH‘" ØÈ '4 ù•Û€1ÎÈ 7I|b}žA#bp"ƒŽDzgd#®ìØd‘R;traitsui-7.2.1/traitsui/examples/demo/Extras/images/info.png0000644000076500000240000002104714046644454024575 0ustar aayresstaff00000000000000‰PNG  IHDRuuxF2zTXtDescriptionxœ É/MÎHMQHªTðKÌÍWp/J,ÈÈL.VIMÌœ… kŒîÇ IDATxœíy˜TÕ™ÿ?çîµõB³44›l ‚¢F£F 3L4&&1‰¿l31‰ŽÆ˜Q£!™qòËhb&FTÐDQˆ¢hLA6ÙWYš¦·êꪺۙ?îÒ *bÛßç©§«o{ösÞó®G|ãâ‘2“6PÁGZ&mðO†Q’1éE_JÆMšÎë]…ª Д³)IÿµmU'S»} –¥Â~kÎ9¤:B þWÄáu¨¦(‚’ŒIY©uH/º®Ï=·^À÷nËon™€¡«|çç/ðï×M*¡súؾ”ÿ/H`Ýk/òí›çpÏ­ð½[ç²dñ«¬üËmX¦Êÿ»å¦M½˜3NîwX ×]9V^þùQ‡Ü€–¼ƒ®«Ô5¨(µp}Éö]M ª*AUUp=?(¬cgx>ªˆø7MS¯!×N<^&-}ÿR>bÐF ­`ü'ús¨SóÔËâÙ?L¢W¾/âM#Z#Ï»“5/ÞĸÉÓY8ë+ñúúÿ%Ö.œF&m€ä=m8Ši¨”•Z‡üÙ°öM²9›Ôðï3nÒt–®®aùº½¨ý® Q;×—íbGq,µµû(}¿»ý3Œ›4U÷‘þ}N›ô{š3lÚÞȸIÓY±¾ÓÔ«.e¥â¿z®<ï¬cyD×Çó%ª"hh*Pš1BÍÙ$:ª"ð}‰¦K ®/ÑUA8xx¾DàKÐÕ`=.ĵ—e%½{¥0 õ°3:TȨG¬Ä´dBg@U 'ŸÐ—Ò’`v|p]ŸgþÛ·®gí‚;¹ø[30ŒVZì¹sþtÍ6_ùñÓHPÖ×f^E¾èræå÷³`æ78çÊyiæé[nS>úÇ 2€ææ&æ=ýG.½ò:$‚—Ÿùθà{f@aRJš²M,xaÛÿÊU?j-Ë.˜ÿÈÕ ì—yO³ýp ®»r¬:¸œSNìKi‰uÈKþPáy>k7×Q×X 4m"¦ „|îÛ³øÍ-¨ì™B×U\×§h»œ7ù×ÌøÝw9¬‚úÆ–©!¥¤h{ŒVA;²9›ò‹†lËT±ŸæðÀ”Lèm)%Šm=ûZ°LUQ°, Ptãô®ë3°_ÉÝ5„”òÝS!ˆpyÊ• Ÿ )¥ÿ¡TìB|ós#¥eihšú¯Žn¼;4ËÒ¨ì¦$c1±› Z:e0dp9ýû• &;s(uþ/I•ô`þô+HZZëÈ„#5nòt^yø ,³õ·ˆ!€€öeÀDù̯øÛì&48ýòéÌùãdÊJÚL°Nf€ôaÔ„;)éÑŸ\‰i¶§‡Ël¿WhªªLè”f̘_ý am¶®X„eœû•äó9^œ~5Ÿûö@Ð'_r/©T†9\eh|ú«AZĶ‹è†Åß»ŠB¡À1ão¢²ÿPÖ-›G}]-Ÿ¸ä·TTôdî´+9ïªéñ).ŸÏñÊŒ¯sî—§Q½c¾¸Á“/¹—d2ÍÜiWrÁÕ¢¨‹Ÿ¼šÒC”ļwü B¹À 3oâÕ¿Ü À[+ñ‡_|ž-;™zã§‘á4Δ”sß±½º‰³¿ô ÷ýû…´äšY´ðUtÃbæƒSÙ±'‹ï{m›uVÉvnßD¯Þ•ÜwÇElz»û¦\Ü®œm;›¸ÿ®/ÐÜb³mË:Ò™²8ý=·}€ºÆ| Ê:‚}#„@üìšSå©'÷ã˜eGd…44Yµ~/º®’Nꨪ‚”’|ÁeWM3%i“òR+䜋dÒ—~÷IþpÇgéß'ÍžÚ}z¦ØS›c@ßJ3&Ûv5a…[N¡èQ’6ؽ7‡ejz°ض‡/%ž/iÎÙ45ÛdR`5ÔiÌÚ$¦¡’°4,S£OEêˆtŽø€øRR,z¨ª@IÀ0ÖÖç)/µ°Â³¿ëK’]59ÒIŠ2 Ç ÄÑ_¡Ä Ñ—„yÖ0ö’tâUœrÑ’þ}ޮΒ/z8ŽK.×B²ÇHú ÿ4ÿÛ|ŠJÊFý3ë×®`ͪ%¼ùú\qÝÓ,_ô¯þu§OžÎªõµ$2•¼ôÂLÞ\¾†tYK×ÔìמUö±m¯JŸ¡çsÌ _ 5ü{¬^µ”µ«—óÚ¼éô4’ê½9ιjy/Ï}Œq“¦³rÝ^™JÞ\Sà þ=ã/˜u[ê©m(àZ™#úºŠöa®Ð#‰L¦”Ñ'Ž‹ÿsn°ýº‚iìÝó6™”ÞîïÞòŠªñú+Oc;^üü™wpõ ÏðÔôÛÀŒ»/áŠëž¦z×v^{þ^*ÊðÙo‚Pغyž'™ÿ¿÷qîE×ð×Çof@¿ 22qQU4M¥zçJÒ&étÇq°m]שì™äŧ~Å57=À“݆íü³®©¤Ãºg’Æþí‘’‹¾z/šnà{.ÇËìé¿àËßžBKö‡íÚõÕëŸÝ/CWcIº¦*¸®ôel²Ö•!®»r¬L%t*û¤PUBïž)RI½Ë(})±Ÿls‘æÏ“(ŠÀÐt] xE¡­@¦`{ ûä-ÌŸu=º¦Rš1I'õXU$„Àõ|Šá¢1t•cϾeŸÍÖ5ó©(OЯW MShÉ»¸¾©«˜†Šíxl5”g&,Ï—ä Žã#]SÐTëI×G@LÙmÛ£¥è`ê*Z(—¬ò\×Äsa{D¨6’a?í Îº‘|_"®ù{¾ŒÛåÈQˆÀÚÉÐU,C=â¶Ú/~%ôî•"N†ÚèH££Pò@Íó¥Äq||?XLšÖ93å' ÒGTÆ4Ôø(]Ûw;þ¸í8œ<$˜íX¿ÃÍ¿+AJ߸x¤ŒyUAQE@6?æÓn COUUB=H@6¥«Ÿ,»Ñw‡4MSH˜é´A:e`š]S„×ñdÑŚך¡)$L²©”Ž¡«Áê³(R´yž;E ˆ´ÕÐbààò9°2ï½ÖOÊVÛ—ŽŠºHÉ)C‡¬÷«ì ÌöÇûÙ®. šª)˜¦F&mУ̢$cbêGÞ7‚çIN¿|z»g5»6±ìù›H&t45¤–57bÂ%Œ¹p*žë±ø™ŸL¸ªÄž¶¢ƒ©Ü^íÿ[ô¿ïõ›÷àÑÔ@  |)ùC€Â®m+ykþ¦¶Ù1Þ¢í×6e‡Æ'¿ôóø"Ÿ¸øW,ýßë1 -ð@îØm ¢M»Œx-äA¬„F2©cBùèH0mêEŠš&H˜ÇúEÒI ×n aûËI¬yîwüñ=×óسv6B€mÛò ¶‹a(ô5™ê5O Œ>*«_üW4U!Ó{,=‡L`ÃߦR>ð<÷¬À/ÔÆbØž#&±ë­ÇPU®+x^0ûZ §î—¬}åßèüdö¬M¯á…ë–ñêS?¥G™Å 1“©Ýôg4!¨:þK¸®‡ëµêhŠ-ûÚµ§fý,TE 'ûPZu&»7½DÏgáû’ágßše/¢i Žçc ¨´KUDоOÝî·HWKí†'Ñu%°×û¬ h‘±µªTEAS4-²÷ùhw‚/%®LÀS?{+RJt]c϶¥ôø ªG.—eÔøob ¦…oT¡¥JèÛ¹\–¡'NdδkiÉåq\—懋¾5‹B¡…A£/aδkIfz“WŽAæ6ròøáõgoçä‹îCJɰO|9Ó®ÅR³œ{Õ£ - ys§]A6‘ ²9‡>UÃéyù4<Ïcè‰ymîý r¹³6_¿ñ9òù#N™Äœi×2(3‚ªªáäó9öíy›þƒGî×iögÛ›✉Sã:¿úüd³9Jziè¼½êÏ\ðõÇÛµk`fDP§cÎ#‘H‘+¨4lzŒ²R ½‹èÉÞ RJZ uGÏ„ÌÔ?ÑÎù¾ôq\—¦¦˜z)÷þûżµb[’Í6ÓP¿ûﺔÕ+1ô´kɵ´`Û6Ç\H6ÛÈ#wObõÊÅ =íZž|ðzÎþü¿±§6‡D°mãRL3e%0ö(ç`YI$‚]{šÉæl9ñnV¯\L6gð«ÏcÆ¿díÊ×ÈçmZrÍL¹îl–,~•|ÑÁv<"o‹ÖÅhªÛV*aiøN +ëùA¹[ßÂq\Š…|¨xTïÜÒN9åÛkÈ… =n<¿¾ñ<ry 6–h¬¯Á2-ж×.ÿí[×#„@Ó‚:ÙŽÄ×éú® ]ß+:|ÿ¶yñ³Íë—£¨**’t2°W*I†Ž”×uÉf›øÑ/^à/÷_˹—ݪ*Ôïüº®óŸ¿€ô=6,y„¤¥±ãíô8ŒG﹆ò“Wæüëïz €»ož@y©IrâwùÙÝ ØºyC`Æ¡µ2Ûz8“–NI&°{JXAÝÒIƒüÞņ—»î‡©|' u»É¤tLÓ@Qœ Q›öÔlû‰äwùÉ]/ÑØPšˆüøÎ—X½r1Bêv´oW”?@&¥cYft§‹Xy,ÄO¾r’ìQ–`@U ý*3”—Z˜¦Ö%¤X‘ÖÞºvíi¦h{hª‚eJÑÈ·C £‘©ª‚ãúœ8áç 6/̼‰„¥‘Nê$-ŠY%6V®i¨ {'Œ¿Û¶ùŸ».¥_Ÿå%Ùf›¦æ"º®ÆÕ M\×§¬Ô¢oÏ–¥Ñ”µ©kÌc;>š¦Ä‹¶¹ÅÁuƒg©„ŽïKš ØŽ®+$,-¶Ó² ÛñðüÀ½Òõ|45°­ò|‰ãx45Û]U—@Qˆ¥gA¾à⸆®Æùë¡í•ãú(Š ¢Ì"•4>—Ë# )»8Q„@W¥iHc‡çüHj×Vq\_’­y‹l.O¯ Ò)ƒÒ´‰eªí$7EÇ‹'oII’êí«yiÖϨ(³èY– ¬Ä¤$eP^f¡A2tuiÚÄõ},C%:gÒF Ñ ÃžEG¬tRÇ—´{–Jè8®‡®©z@ UÄ‹Ü÷dÜžè¯êp* .žïÇþ!¡ÏTl¼©AÑñpCï<Eˆ@ÊÙµ×FŒ.½@%Ø} CÃbVŠ@J×E±½Ãzaï\¼‡ªÊL`qkj¨jû£E4éZvþ/Õk‹ôªHbå¥ S R)#¤RÁÛ©Dðžúߊ%ÚáŠ6f_êû=KXZ¼hÚ.X!Ú³ulË)x‰ ­wÛþ& 6/ŠÚÕYþñwE|,ļÐÉ‘DÚ]ºÄ.!DèZ«¢RtÖ>)ƒÉl*R†Œ¬Úù„ˆ&¤¯ DÆ$“2Bê¤Ä¦àj‡~TÕýûVGˆè,†Fgï,´wà«Ûæ×UÆþ½C]Q4Ž&„‘;8Ø‚QúCy§G?Ä5”D2_%pR”`GS¸ ‘_®>V"Œnt£ÝèÆ¡)¡'¥ªA7‚X š|TU‰=ÝÇÒnt£ÝèF-òœŽ¢™¦††B5 #4쎄¢1 é&&G"qKG/¶Dò©ö@…¥k[òÑ~y/uÞÿÝCÏãH£½tn‡Â£µÞÝ8 N-ŠÒ`èAxÅTÒ •ÔI§  ËÐÐC•s[ÍZ7ŽH)zÊW)ï76p?ô|<ÏkÇHÁî­‹Ù²lfÌUFfaŠCÞ0:WH†ú5zôKõ–…l|ãávZY¥ôhØ ¢¿³: A,ΠбÂK¦™îKŸ¡çàû2pž©^MCõ2¢`mÛýNm~'uË{é«¶V¸Ñá¢G¿“Ù»ý ¤„á§~…^Na÷ÖÅl^˜y«Šˆíªº‰I7MQE(¾ £š˜*É„N2©“ND¤ÒVÒÁf ñcâ»(4-˜_šºÿ!¤³üƒiÖºqµ?öNm»,´£‰ú¨í;Óx¾¤¼ï íê, \Jè’½½}_Òç¸I óy„€|K)%»vlÆXÛæܘ@Lœ¢;¡Zc¸]QŸtþ¼5¿óâ)?á.2åUÔÕle÷¶ÅH ÍÍͤ òù +%Œ%Ý>xKÛyÒ±þmÇ©c;ïänBÔU1ÜZ4¨Jxâ¼mƒÅ®ë †Äï Ì‘”îÉQ_v‡6>Žø?UïÜļ™7à8b½Vdf*'œ?…¾FËÖa%KPÕÀ¯X̳dîTÆýÓÍñ3»˜çOßÎ>Æœÿ Ê{ Æ.ä°©v^¿x;_C( d€b¡H¶ÅASÒFgMúmœ/ÒçÍWî£qç« :é3j®Sdá“ׄ÷¡§ÿcÏýé²*²õ;X9ïF¬²QœtþD†=Š€%óGv׫îNUH÷Ãȳ~§QÁ/ÝKsõka\v%¾,JplA{‹4åÆ]<…ACFÓÔ°3‘Æ4qµ=Ïå•'þ™ãϺŽ>UÃ<$X‰«V,bÍ›s)«¨äÂoüÓ´ökov׫(ŠÂè wPÖsN±ÓJâKØ»{HèÕwèAÏÂgn@¸õhªà¸OýœŠÊxm®´P¼üÔÏ~ÊUdÊ«èÑ{0^óÖ¾‰"½*‡Ë娰ôq CE˜}8cÒÿGQÔw­>×€ª™úèõ§®C¸õº‚¡„F`ÒØ"Î=ð… 9Š˜Q­ÆÏÑU-"þÝä($ØÄÛ¹:†oÝ<§Óä›×/géÜ[qÜ€ØX‰ OüþZ²{9óóS1òdθø¦ÿæjìü>οâ¿8xU'^Ã?žý9ýë)àþ».Šo±»üû38å¼ï±zùXVÌŸÊ1¹<½€¢]$—wH¦{qþ—‡@òì#ÿJSÍT³—~ëœtÎwX½üÍ›Š0+£Èå=×/aÉÜ)x¢„³¾p;•}Òsèçøó?àS§0jÌ©¬Z¾93nB^øŒÚ¶CSÎ&¥öæâ/Þƒ@òÜ£7ÒX³Å(Ç«cý“©RfÞûuZšjøìÕAõ;á–ͽtJDã SQAùðnÈíÆûƒh¿9°§”hÿõH)_»ñÞ°aí›<ÿè ØŽ‡áý¡Û¡®«¨ŠÀu‚{¶oÛHíÞj<ÏǶ¢²ýí-ÔìÙ‰¢šë(lêóŠEö쩦¾±ÎŽmë5æ4P ²òùà·bÑ¡XôzÒìÝ[î­+ð|™­fýÚåŒsjð^S‘y3¯ç‹?˜Až• ÷C¶­[À‘ŸÄulfÝûe|))Ò€\.G>_ÄvV¿µ€­ë±§6Gß‘•´´´Íæp—†0ÍÛ³·>ú$‹X4åûâ{‹¨ëºq[k÷VÇ>Éuµ{¨ì;×uɵ8q¿Að»®+Œ<)¸T¹¶v/µÕ«ñ}Ù²;n¯:uyr¹<uuû¨Ù½!‚ 1Ûñö&ê÷íÆóå;ŽO±hSßT@I¨8„ aOÒœmB×o»|¡@m}뺮‡ô%j›kß]× ÆkèùqýwlYèvdõ~õoi)Ä}T³{g8ZûÈó|²-v ÁÝš*P„‚Tº÷‘2ÏLÑõ]m?n¨¬§'ßÇVM dñ;7-¦zó(jºÇÎæ¨ jø,ÛT‡눞EñÑ¢SGŸÊ*¾uã“lÞø=*ú0`ÐP–,xÏk;,~õ‡8k—èÙ«_þálݼ†^}úÓ«w_»È‚?ÿ,¨§*xê÷WqõõO3椳sÒY<ü»‘m.bè*ޘθ³/%™JSZÖ“½{«9éäñ(ªÆÖõ‹X»h:§ê2ÉÔ~i¶o|#–ãòû€…‹D5Šª†¿ijkv"˜ðÖÓ 6dMÓ0ŒÖpIš¦‘Jñ¬·¯š Ÿ¹’ž½úð•ëf±eÓêví}ùÉŸµ³ê[bÑ›eªhmÆÇ²´`£Çñ t4}}„‚cY¿v9ŽãrÂØÓ0pX¦)ݣѾ|KLGQÚGýZ³h:gMø={w:^Qý£q®­Ù_ìd*–DÔ‰Œ5¢Xt~=ÏÇáV²Ôñc*o‚[èzhÆkj˜f <×õf¼Ýþ G ZãK€'28žFSc]¬86þhì²õ»ÈÕm@hiÕ[—àdƒwS Ý,C “ê-‹)6nÄ254³ÿãS½e1ù†4ìYÉÚesQ¬JECÁÓ3îd˦uhF )=Ö,|˜|QàùÁÜðœ"Ù†]xRcǦÅä6a*+ÿñ›;Œ×ü§ïî´þ»·õÄTz¢ ‰IõÖ þ¦¹ºTU ¸î}ä£qÝ•c¥ª ,#ˆç^’1)-1)ɘ¤SɄߴ§†Ö(Ýt ­VÑöÈš[ò—¢ÝjÆ+ÂX)Ñ{‘UQð[ VÂ`DÒˆOÔGú2¼BÔçoeÐѬ_³”Ÿ¸)ˆû¢)˜ºŠeªí .Úœò‘˜Hâù>¶ãã„÷ã*jxm¨®2ö‚)±Ràù'ÿ› Ëþ‚¦)dRF몺ŠïI ¶‹m{ñ¼Q ]WÑ%.Ëv<œøàà”Ÿ7úà ëúضGÁvq?³ÉVk¢øbB%¸ ÕqýàŽ_);M'ïIŠN0¶ãÇAbôÐÊ)ºž*z¿í-˜ÁM62æ$ãÈÒÆÀ÷dk(ð¼ í0b[[«²¶VpQÜ"í­æÝJlºì†yEã%”öõW”ÖÈkÑòŠH‚zHˆ9MCÅ /ÕV»é]Rv._J|Oâú2”ßûÁ5Zü@”˜ikŽ™Z¶"Úp¢ï¾/ƒ»®í@F^°ÝøŽi]S°,-¿±ç¼¤IDAT›«vÈ+ ím,¾ßJ\‚Í70§µŸ–¼C.ï`ÛR‚a¨1×`™Zp·øžçËP™ÄNU%öa ¼’ËïF ÍSµ(Äi=¯UÔÒzÕW[Óß _)9pº6æ¾Q=¯õ2ùا*"²m}Ûw¥/Ûý›Ê²ÿxµ›á{ž/‘~›úu0¥ Ðú¼£Ãpgãu(õ‡VâØê[Ò½ttùx¼(B hEJ ] N•ïâ•v(kXúAÂôq~¼É (ŽÖ â ò”í¿HÄBÖ5CWH&t|¯-‡p)ºÚ¦Œ0^p[߃¸‰®¹ë˜fŸ„€°jïr’V߇wK·³C;ÖópË8ì7Tp›ð™ï”äݲ‰ï¤þÝ> ]1éÕ@vúiæ¡G¢+>)¿_ù*!#‹ŸÀ£r::ýTž¢ý)AW$š"0u™hsrŽê :7ÿ|§rÛõItFcF±{(Êßw*ÿý*ã€yì<8ˆ4ïGý»w%„{@w¸ênt£ÝèÆáàÿ>¤%óçúxÓIEND®B`‚traitsui-7.2.1/traitsui/examples/demo/Extras/images/logo_64x64.gif0000644000076500000240000016002714046644454025440 0ustar aayresstaff00000000000000GIF89a@@‡Qj’”%‹¹[›ºÊåeilÌÍÏ_¾ì"q–0¦Ü\°ÖX|±ÉÓ®¾;y—v…Žx¡·@’¹Ëéñ¶º¾°Û쇾ØI¦ÒÏí@†¨¨µ[«Ð&}¥>cwéêëXލt—©Þú¼Ö?ŸÍ°íýx®ÈyÅë-™Ë‘»Îv¶Ømž¶H¯ß^|ÐøþQ—¹§©¬tuwi’¥M‡¢zÒø0u•ˆ•=€Ÿ\¸ç5·ÃÜçŸÖî2«ã'«ÁÉÍ[¤É†®Á¦ºÄâåçÒÚÝt‘¢¡ÝôÀÁÂi±×i’ž¦ƒ¢µ¢¥¨Kµç*c~mÀê?šÄÁëöWu†$yŸpªÆ:n‡èüþ4œÍ¢µ¿Lz³ÃÌU±ÙˆŠ²äø„Ëía¡¿0„¬RžÂ-XnU¨Ï[’®k—­MŒ¬¦êþ{¿á‘×÷=‰®tš­®±´Y‰¡Ïïû~ƒ¥½ÉµÑ݇¢¯+“äË×m¥Ã‡Óô5—Ä=©Ûy©Â<¯ã$uš]¶ÞG”¹ßúþ…¶Í¤ãûž¡£cœ¹¢ÅÕkv}ÞàâMp„Hj~£ÏàQ¢ËÀå÷ÃÓÚÝñø˜šÏÖÙnÉôûûû„†ˆz|Yv!hˆ/j†1£¹×H‚žž®·†ÄãTµãk}ˆ€’žmor?}š´âïðñòÆå0yœ³µ·Wr_Âò;i€¹÷ÿzµÐxÍõ/¢ÖT±Þ Ùöj‰šÂ÷ÿm°Ð2¢Ö†Øú¥Öæ\„—²Âz‹–ÌÞä•–™ÌÒÖNšÂ«®±ÁÇÊ‘¢®1‰²O’±h{‡*Œ¹%r–Dw‘µ¾Â·Ü쑬ºd¬Ï˜ßú“ÃÚH¡Ë—¼ÍÁãïÞîðj¶Û†¨¹3d|L€˜Š2^u¦Â϶×ßMv‰f»æT­×T¸ë˜ÌâGšÂ]–±˜×óBޱyž°˜³ÁÖÝàרÙ#UmjlnZ²Þ¸ÊÒz§¼ÓéîI«Ø˜Ðì_¦{™©¸ëüzÊï.Ñv¹Ýn£¼G²æ#`}†™¤;‚¦3’¾§Öí(…±ÂÍÓc¥È©ßój†”oÆîÂïý`x‡Cp†ò÷÷!ÿ NETSCAPE2.0!ù ÿ,@@ÿÿ H° Áƒ*\Ȱ¡Ã‡#JœH±¢Å‹ 5ÂÈqa#2tØØ±äÀFA`Ìø….I“Q:û…Ï/Ph€¼„IÑß•™x‚ qÅÏžV Å¥)œ‚võè))Ó P˜n€²aà ?üIj¥¦YÓr…²£mÛ.h%+eŒ_X›víê¶ž_¿g†¤KП¥hÑòÝQñß¿vý7&HPM{e¬gW=ŸëùMz[S Ê€Ùéb¿-µÙFÚÛ¸ÌkA™§]§\½þ½á#j# v¾Ípš‹ZÒŸ­[;®wC–¿ÂÁZÜÿ¶íü¹‰ó&޵‹ä$®nÛ6®§çÊ÷‚Ç‘D(o=;TØDe }”Á$ÚÉ'š&äÏ8ÌÓŸ ìTˆÊ…ÇDc”Dx#Æ$ñõ%Z ryÔ9²sá… $@Œ ~3†W›)(@wìy„èQˆŠŠ¨$pÇ ž˜P#`âv86dçYd‹:ÙÓ–„ÑcÛµ`Ï} ù#KJÙb:`1˜†2.Ü(é—-4葘tD $•iÚye(iࢠ:]ìBŽŸGzãÿ™‰æ­ÐbdŠ‹ ~¤3 ›‰B)e:„jL‘5J(¸à’„"~1é?þüÿpK”+¢ª 'pZ‘©¨ºàB­NŠ'­*ò™‡¤%ñ𯝬ºt$²ÐG…ÅÚš&²Éžº,°Š¸ŠP‡^<÷#‹TÞQu&™º-°~8[ÖŽzÖúh®G©û«Š(2ÁXð z+N©ƒ ÑèÚ‘©—r[‹ suPÅ¿{Úš¢0!Ì®$Q™jÐA®`ËP#Bd*¦~øQKÆFzr…AÖAä«ÿ4Ò,WÐLÐÉ)瀓ªFŽôèÍ»ü óI¡°›o-ØÁ¡ÔBcJGÔHøÖâ5Ë–µÑB[T±t]¡à«È×QW'Ë.;tEÖ&Oðô×iœ´pËÿ‡ÙZ‡²¶×+»€ÚEV7æw%öèmj¾kÔä8Ñ“~ÅÝT%%jMÄà’KþL-i ‘?ÝÜÐØ™ÅÐ9‡`üLèYÌÞ*©}$‹êd7¥Ë`»vFÏÌN|YÆ74wèŽ/½ãÊTÇèÇ3Y8âHöldÑ-ðßzÓ‚/«gUI0ÕOD2Ù;†öÚgá‚-•=xu[Nq®wî‚øáÈ#l`߀Pn bR]=ºÂÐ.ž Â3AÁ ¾/ •«‹'v§¸ %¸£Ëqü÷ˆ”ЄȂQ‚´èÕ„„ÁpÂØpðC0 ¸ü=0†øñDhN¸‰¾`gè ôÄo}ã6|Á&¦˜ 9å ¦kbY:ŠGL1áÄ$‚ò êiqd߀7šTÂé;ãI<16„q•ø¡ $ˆZdb¯Ûcî¾>AòˆL¤"y‘€!ù ÿ, /8ÿÿ H° Aü5:Ȱ¡Ã†ì Y´ð¡Å‹yÒê§`1Š<QÍ/x€ÊÐa¤K„güÂC3%(4‚B¾|X²fM(@7Äà¡s§A:ú eCÓ òªø3JÒžPL³>ݰcÆ.,‹¾DŠ•&S§^¹îX[om¶ bEö„‚ç¬×µxëÕ ·Þ.^ãâòô”a’Ö¦ywõ]Ì×—¯m?<,‰5(^¶»ÜÙ«¢Ç—ÏŽA ¸¡ƒ`‚H'9E̵¯¯²L7ZÄË1œÛ¡áø‚ó®ÃÙž^f»ÃW [S "7/÷íçp¼&éi†´—Ãö$ÖSƒ¸o›ÿ?¾‰¬äyP=|Gß]\C¼^<ò&ØQ±¤b#c¨•^¯ÅvB‹üqìäÇ*ì°ãо5’ gdçž_ÈwQDà!*$&€ˆ4Òˆè’á†zÁfÚ‡þüp y>Xbw˜âÍ?NŠ.atáÞ. ‚OA¸CŽ:¢bbX0ÜŠ¡¤Kèì"ãùÓ†ŽX¢<ú’…¡à‚‹ ~ÄcÏ’¿5ùd™;ê ãй¢–[ú‘DK‰IfŽ:&€¦=z#V#D´éBЏ„EáÓ9æ©gV2Äæ›Iz©CbÞ8^¢&êÙ#-§Yÿ¨e”&!DšÒÁ ™­~êoÌꇠß0”êª$zú*˜@áæ°µøQ¬AÞlzŸ™R*ºç¯@*¥ÏL‹Úóà˜¬¶2KÐ7.Àé‡"YØr?U`c¹ÚVIg·îÖRKâ4[ NYŽîd@©ïÂ+¯¨Ë¹¢(Ÿê2´ð»þ†û?²X`Šo“ù“°Ã*â/À˜±oÊ)³ÉŠ˜ÊTAäO7ÔƒÆË1ûëoÀ5£Öä.k¡3•=@-Ht˜8·Õ•Ñÿ|S‹Éµ(­H(3©;DwÕþ„â¯ÒÏ(Ë7“tsÎx…Õ@"EÚÏ8@´ÿ-´;7Hí]•䲿7~¤=ó3YÔB¡%õZ«áÊ9 ÜAYdáÈçz‡Ò߇Mú"¸SxTÌÊyBèl|ž… lÿv³R‹m9™ûÌ#lÄþ¹"¹°þõ€”|½ÍœãÆiÏ»mðµµ’'#öBÛi€”hR#I*RKËæÖFež™' Žžäϱ~ÔR‹#@Lî2*H“Åriï¹ùxEhÖaJ¨oÍ«ÈÃç "á`˜Bì[¹q-ÏUÔbÜP#. \‹cìä"$‘ qŠä°ÊÛzCNÙøGD-æ³3ƒe“,zàF–¡øüŒÏµÈL3B´Ñ^;l€NP°tÏ(B„¶BÕÆ¾LfuIž¤¡µÖ]1k±¨’ ]ÕKŰk#DàH{{ùýöC:FõYKᎶxóíÈÞµ¸=®7>¾SxÔ Ë¿ÍዳÑ8ØAeUŽ(é,23ÞŽ<òl<ã8€q­Wé…ƒ‚Žc§¹ë¯?3nb·à ÕtC0kŽK®¿ðHÇ•êñki…HË7_¼ þ YLà ªîHN÷=Ub‰¸PáýÈ&ã;Ê̓kïR o`®²üô£_¶‘?ö.uAûÞ 6ŽMdB¸ó x÷4‰ááÇ# ã‘ ƒ!Ðó6¼dy! as¾Á†M€b ôÄ¢2œáÇâ…±€!ù ÿ, -6ÿÿ H° A‚ü òw°¡Ã‡yºÃA°F3jl$È’³¿8°‡Q£I„þlqãô /cx;yR"E.sBÉ £Mˆ-Å•S'( LÊàé§Á„¶ÞÔØ‰çèѪV“nØ`©¤S›0@Y¥ŠU+Òh7È#ù“c75bÇݺm½´hÑŽ™¹1¥Ô¹ZënÈ»c×®zˆ#Þ!ÆçC°“è ΫøÆY+Nì À¼¼c0a»ˆ}éq÷CDf¾bË–½«›W‚Ę>½ãîâ]zÈ]ñäµC ÙpfûŠpå¶@AÃäá%̹E·EþœÿóÖb^r_ß“ëÿ â\P(n”{'¾1 k‡ìE§¾}8€4+[—Í7¸3œvO]qƒ}&$¨ ;M d^(ºŒØ.ø€ ùÓ€wp˜Ð¡‚TÈòÙ?‚¤KGœaÝBNýÓÁ*ÈÎŒ&PÑÜs¡àâ‚It€ácþ,â6 &8#;¨ r "u€‹ŽIà2¢IãN2Θ$’¨$€ ‚¸˜F.(‚Kƒ òƒt˜p$;&$Ùe— $PG+39éB~œ™QBBéæ‘r&Yg:ÜÑ "Ù¹ø¤<¢ š'ãÈ¥‘ZZ§ˆªÀÇ…uàÂŽŠ$!)B¢ Ðæ ¨py(¢‰æÿ S $*ŸŠ(r*TCbZè¦:›è2 ×Э~(òŒ¤Xy©›¿*¬|ÐÒ¨C¢&«HŽ ä Œ˜rI§°wÈú^F@ðéG-Y0»H ¬Ê ìÄúxRêÖòL·5rEò«% ÒäI²µè{ê?tC…´:(0ë¬H-p{?>¸¢ƒ ­KqFc€~uà2·8ÐÁ×âÊlðº+b€Í.GD„Éøñ Ï.'„Q#iðÌÒ.„ÙsC€úÐ@I/E¸ðû4ÔºsC=ܧoÆ„Rk‹¡u3Àa¥¡áU#ßàHŽÔBÑOéƒl—ÿ¶ÛA·#ŽèŒw¿]ÖVGŽP(l°A¸çþ 2|}×âW} 'I<"9.h·|/ÆùUœt•r-ˆîH( #nå<¾Õ3ãWÅ`‰7?~“Å#/<’µ†ÖFwõhæ÷X  Œ½ÀÆ Ø?³3ÃzëáKbi!EU épíŸD}-ß$.ÀæÏï´'é,r¸·.`¿É ~pÑ÷óIÙ (œ1 àõ̵xÁ&6‘‰3lŽ.WÁCô¦w¿ƒ! |„t³—ÐÏ|„šˆTå%.ñ·ö” `0AÀ `@A:ÄIxA%ð@?[ˆAà* ~ÂR…!ù ÿ, +6ÿÿ H° Áƒ\Ȱ!ÁFþ¾Uá¡Ð¡Å†½YBçàW¥C>Œh ÆŒ_¿ðàùõÆŸH‹K‚ƒ %•x@Ù«ø² Äo2¡Üĉs(:O=þ¬‚®†Ð›P‡> jÏ‹™:Å3”+×§Š…"ÏVÞ´NݰVì†;Ä é„‚˜ÊƒâÖ-Ü·s׫¸K°«J¯ˆÁöoÜÀ;K®wcÀŸz&ÞÁ ¤AAè9²¯Ê²uðôÇWfÌ’w!qYPP†3KO>=@–-OÙÛåËuñã7vüŠáç“ þøŸ?fÇáPüÝ‚ÒXÿyò ¨7ìЗv8ï‹w»ÊÜEº.˜Q/ŽõÊ<÷îÁ_f—.~dÓ‚ê½äI 𙇄&TèÎw‚àâB.xSHÞ´ `…$RqEE˜.ž%…×’h;3zá@hè‡ @ô„×î`C…Œ¢ÂΑ>¸ÔÁ†I$ÑãY@)$‘3²ƒÊ•WŠ€H#KºàG-ÞÕˆ ãIÇŒU‰%– ´™1þ,™„~˜Ú.¦Œ£Œ¸òÆZKèä! ÊÀ´I 4¯À?„È¥7¾üÛòB œ€ M|¼êù¬¸x3ÀÀüÎüó™Ã²à øïo/kP ˆA Vìf!ù ÿ, *4ÿÿ H° Áƒÿùk„°¡C„:x –†§‡!J ÆÍ¨¿fØÊ˜Q¡§oWÞTõ«%/-’<Ø(âD1+¡àÙ E'@œ™ÐŸ§ ÁÄÄ¥ÓgSž?›¾aø°¦Ä*0bLêÉjÏ \ÃBÁ0Ô ÉoÝ”NËìW(âÊu 7.” T zâ6fÒ¤rw¼a0`Âë.<ÆÛÁHºFVeTîxÑDÚh¤‘M µã’MšeÓîÜÒ&°S啨¤‰Ê‘ mÍ™Da6q¦‘kª©'* $F ¹ H¸0dÕ"²Ô©b™x¦ÉΞ}&À'Ÿ:ÔQÍ8 šE u@Ž˜7âù(¤‘–ªC¥X´rÂ8Ã%”Ä …:ÿ—B¨êÙ§ àzêw¤¢ê"ÊÔ”—?IÔòL(T-Bšjšzª¼b²L4´h‡±µlšä£Né®w`‚BÂQèP#~‹¬@\á Ÿ·Bn+€¼·CþøÀ›yyÒíwTcÊ8AX+#ºÆÂ9P# €ÁÇ8öÊXP#iì낃žt`®Äu­ßpücYlê È}@Š„ŒrI.”<Á½/ô#lÔârÍø&Á†# ó¼psß°ñˆ"€Ö,gWì÷Ì#@Ó\RD‹ “B 7t‘BhðÈ#Wh¢î`½‹ah4çI/D‘UötSv»(¶ØiOœÆ#/„¼MSDö$Ú‚¾È6˜]=å­—#›dñM^51Žà„çf÷ávµÓÛ5âÂ&›\܈䉠Çt˜#îÓN LuPÑádQE Ü`8bªw…(• ó†'/œD8›ˆaÙÝbA¿ðÃöÜÐ7/„ƒæpe¿ÓO¼£cÉ"Km–›¨‘}]ºwoIÁeË ±ð„ÀòÎÿ]û2zÀ;5_É*?(|„f‹XT"Áß…6Bz/ !ù ÿ,(3ÿÿ H° Áƒÿ5òԡÇvòíJj:@ܘ°Qo‹,¨ÄiÆ/fàXP"H‘1@ÉD€M<'ñ0kø°‘?OAx\#Æ$™Pð$UZ“)Ó_1<*4ƒ£ 6@ÙÊ5éV¥_½~eË`£*ò&mر¡­[·P´r•Û6®Ý­xFü!o[¿€¯ üWð[­Q[NàEp=¿ëIžŠÙ‚mW?X[YdÀ Ï|cGÞŒÓF7îÜAi´™-[n¡‘Ãã?ž°ñÂã\q§s¥• Z=ƒaVWxøÝ’ áÀxeaÆ7\]%¥†~l²Šlޝu˜\/UÓ œÀ@Ÿ‚läsØwuÕÔR T‚ÎU³ÈoL&‘OX¶{…Sî0¼L.Ô ‘Füò‹M72ƒîº,ÿû½øz2‹õ×'ï{óŎ܈-ÁØB÷5GÔþ@!ù ÿ,%1ÿÿ H° Aƒ*<Ȱ ÂFþ»#1N4»ÉB9K3MÚ.’5yåò ÌvhúqÖcböÖddÀÛÄ ÷Ûµna\yU·YÈC™`ZÉ—]_}—'ÏÈø`ƒ.ÖXJ1•Ô/3ÀÐ_ÌG8ðTX`aî( 8À’è|ðFÁäb y5â‚›Ç4Cê•°îz°/ܹã!”‹o ¶ _/ÌCÔoÉ!ù ÿ, "/ÿÿ H° ÀF*\(ÐS ‹xHœHQâ•3jü‘¡£%OÿlÅè"oÃP&On€ K< ðÀü…gƯ›8ùg¯Ë†@w¤\¹Ò¥L(G¡ÐD*‚J;yt J5èP—F6mŠ@MÔ.õ€†­Zõ*”¢X‘ÆØ9쎰õàÆ•·ìY¢g1DÝ5·¯ß¿u]©÷ŸräÜqù³˜Kbr>ì4hÙÈæRÝPø›  C+ô·Pá_}ƒbôϳÁ×—vØÂ‚vÂÞý¯Q›]¾P÷=³³ƒnÞ¯}‡Ümâÿ€t@¾›Ç<_p˜7ß¶ÈqêÇÍÿÀ\»¯]‹¢ÿÚÞ¼ìðƒßòOƒ¥ó+ŸÝD87¤÷M<0ÐÆmDƒ ‚Ñ$Ø,Fh‡ þÁA¡t¬·HttH!&€H!"Ra‚‰^ÈÎ…MЈ+²#£Œ&ÌHcŒ)ª8ã1Þü„6²ƒ *Bº2ä2Id’6š ‚‹T()eC&`¥”¨P‰¥éý˜¥•W‚©ƒV’I&˜aV‰Ê“>ÖQæ˜pŽy‡sÆyÇxÆ™@ô r¦è „"M4Æœ`LŠÆÁÀ8ã0ÀÀ¡”20]‚$DiúuZZC¬±'ª@˜Ž:jß4b*{¨ªº*u­¾Ê kª²"k­»ÝŠëkºîZ'™úúš?Á ûk±ÆäOª yâì³Ð>ëÝ´ÆI7­7A€äIä@ðG -ÜÒ‚páŽb´ ‡°«Ç-ü1»ÜpÆx‚`½UmE¾ž|°ÙOd¶™`B¥TE¾é5ØPB5ܰÄx­ô°'B,…Ç]h¥2VgÅÆB8µS,7¥ÕV75ÃÆG¨Ž8çœ3:ô,Æ?ÿü odPôѨŠPh›2½©§ùý!ù ÿ, %0ÿÿ ü×APOžü5ZȰÑÀ‡#Blô†1ЉAÃmX•Wx, b¡Â† %þkÄl‡ËbB2i&¨›58Ũ„Ƈt>ã!²ƒCþļ|¹憙P¡âÁe*ž_Xñ̘ñæè?a–ŠuóiÕ³T­NE0µë@ ¼êÕÛ1wîX²PÌΜZÕ*¨`^mí’K¸0aºvÊŒÚ×ÞC{ZDˆ çÆ _»|ÕÓŒX®Ø²fñ€ZôÐV([@±7îJY²È‘sYrËvAoÀƒHéP¾¢\èÏS‡‚A¥8ÌT§‡BuPIýëÌ]¢ñúÏtðêýeÿó…½^ù ¸Gÿþ!¾ÈÞñC=.öíÚºN|¹t1DøñM~3O|ýÅçË6¶@DD"(P#møÒ ƒ²„%šäRRBÃq·3ý¥Ø /Ï]è06-páŽvtÓF4WØD@á 9)š¢/´øU&4éä“OÒAMÈxKP6 3^yâ;`‚‰J˜dRÑ$;Yf G}o‰À*c‰JrÖ)f˜O‚i;T´˜+t&@çœsJhp¾)æ˜&ˆá@öÔ!h:Pj)¥•^:é¡r¾ÙÄw bJy(Š ¨Þq‡«êàê«®Nÿ*(œtbÃÞB¹¤D©" 0`Ì ¦P² Ëä¡D*¨ªC™ö ä…DàâODÃùS\@x³Z°Ñ;މ‘†‰®„RDž„Bºé‚×»ðÆKiÈrE4ãøäA$ŽÜžÛ–™e7Ì3€p1[>üÐÆ-ÿ¸+B& ÏR‰Íg³fZÁÎ 0̵ñC^dÅ$ÖaMßµÃÓPÉYyå¥Y0ÕÔÛÄ@°@<8ƒlQÅØÞj?N%h•LûÍ*•pÊV3¨¥8[ð½ g\A‹Ø2ÎUX’ÁÀ †3•ÔPÃM¢)>U%sSWbqž)È"¹ä‚ù›{žÖgË]@!ù ÿ,'2ÿÿ ø¯‘¿F *\ȰáÀFU öƒ‡ 9ÜØÐ_˜6Lš$ nU®,â)#G‡@Æì˜93ä(@ªãd•`+[&äØ(X=šHmÞ„ÂÓ•`¤ûÔ%ÁFHŽjEZ3dS(xœ† û ”ƒ¨o€(ì0¦žÛGáÆ­ ’é×±dñ ¨¤– -.7vùrK˜0ÜÃu—†Á/þøa©MräZD¸ák°Ö·]—ÚÕ‹§ŠF‚B…êÑ W.»ÓÌÙpèÑ ì-´5aõÂŒ\/Šín@„·6í¢ó´ð[ï¾Dú³uyÝ § R ýeÁ6»lÏÿœÄ#ûÀo¡p}óþ\g…w`è~ÞŸõìÿyúÓÙóÛ0‘5À}ùýcË<¾Àñ^=¾tñƒyØD.4ÜgÞF´  öw†- áÜ29m\KV)ä&ø^Ìd&ä˜#&4ф"‹ ‡Hʈ„>˜ÀŽ“ìDù¤Ž9RA6@¢( š¤/äI¨ e™fžÉ*:NY¥—pîØ}¶¸Rf  ©g™®H%•NúG€5 ž è€è¢¨ä™§ž}N)¥Ža>„ˆ)E˜sÇ:tê©¢Š2º§šìТBÒŒ,|œ`Š©¨ÿ°é§Šª';=ÔÈ'é!2‚ ÂÀ (,ƒ‰³ÖŠh™ìs!Aè¹@_A©È8ÈPÒ ²Ö¡¨+m<[h.¸¤¡+†¿a¶|˜ÒCL€K(âz\½ÿtŠ ‹è¯@¶àâ»ÿæ¯ ià[ðBþ„’„¯ ³'H.à1Q¸à¹7t0½sD(~2G߸k'{œË4p…=‚tpÐP!CtaóD ÇvÈ2sÍ7+ /]ÐT˜[¾ôü39BÓls‹ð3IHtÍôVaýùü‡;QóCÁ8°˜R š\Ÿuæ5ÓŠ^0•Niƒ¤7WjwdÑ/ª<¬RƒÙ¿ 0–]ˆã‘ÚzOC!H.?¼ƒƒ/Ö˜áˆ{uSH“è]ä‚ðPùå5ÔÅ/‹ \QpFþtà å n6caåÒ2í’SþÆjpbrË¿IgóB!ù ÿ,*3ÿÿ HÐÛA5"Ȱ¡Ã‡ ¡™$ƒ˜*Á€(\±cGovìØ0rC 1éjäè±e£a"cn˜¹ ”5>üȵ’eK†ÞÆÄZ²¦M( jÀH÷ˆ'…?¾¬GµQ‘4ÚēԙÎE=;vàµËWUª;¬Z-¹ ·xðüšÁ F†Œ> vèæCN„fÏŠ\[Óè[·n!øõ‹“½¼;L5ÁÀ¢+îþDð8-Ú¬pÇÅS ÈCÉ&|û§Ð6²Üý Œ–­ÖÑ G¦¬:¢B —ݵؼv$£ncØr(Aùó$芬„}£{w¨4«Jÿ‡PU& ºÿâ'‰‹ð?½mó% öH1ž: оÇF²p&ØH?@æ-N ŸDÕA œÕWO};ÄÐC¶4M î¤s„.é¹tÅ;ÏFÞ¼`#÷ük-?Iâ»ØN0ø•ïá?Ëv6š{zb#‹Bž(Ÿ|ôÔH\…Tò˜^°Ã€v#ˆ"Ø? P•ÒQGáQIÀy*¨Xh!€t`óÁÚ1â ¾¼v“‰( ¤b °(d‹‚Ä t£/¾ c =þÃZ5:¤ì´x¡ · 1_AþÈrL å$H* èà&C²x!\´ñRDÝÌÃ$d6F”j2€…›UÂä‹'þ\AÇ<|úBfŽõȃÈmÜ „Z)ç…ÒÁE7=ði“Mvñ¦jÆ¡Â^ÿù"€T˜À§­d’Ù3þôÔˆ=¦(k¡²n‰!¶2¹Ë½ÂÔˆ i¤Q JÄú)†Ç± 3IjÔÈ7.¤ .ÒRûæ•ZÎjÂ<Ìú*ȸю;'‚ûæˆú’A·=Kĸäâ2A³Ïš2h•XÚšA³%ù+...à ÃÀÑŠ9p¶HǾî vòRÌ]#´˜¢T,Ü1ć‚ipÀZЀÈÞ BÈIHL3C\±sF6c'ô—mmÔH0î0svß°Z4wUìrC6ñ$ÑôÓF§AT=7¤0šÓX}ÓfØ(ÖÐ *‘mG{h§ÍÛm×ãKìý”7ÎÌ¡M÷GvG0 Þ w` '¿àqbBéÑÀtqs'Hœø]·¾èÑä‘K9yåž xæ›NÒ³€ŽTÛ€kÎy䨫ÎvMõìÒ¯ǜ,Fwݶ_ñóÓÏ¢QÃÜÇ~+h Ç£5v Ì7__#ÏúÔ[öb€âTbäƒø ,r~CÁ©ï€ûïÃïI0Ôÿé!ù ÿ, .7ÿÿ H°`ÁF‚:42Ȱ¡Ã‡ÿü 3&×Bˆ3 ”ØeÇyÜ]ÔH’`#oH:îØ°C#Kfl$ÌŽzwtÙ°aÒ‡E1e>Ä«žQœ9yB©QE¡Ð‡xøÐãk×M¤7@™„èÓ† ûÁe×Ñ›Yµ.Í$è×°âÊÂfmV(x¡Ä°øÕd®¸‚U‘sãì]¼x@¡Ù÷_£¿D&DžP¥…/È¡àÁ#˜¿¾pGþ„\á£jñ þõ±ÃF@¼š$â"M¨Ûi¼9g¹îʼ›ñpjêÖ±7/Mȹh@Q’ç.\|[V„ºJ5oFð«kPš^LˆÿÇÖ&s?Ï¡OØhÜì©5ÿúå C‡þcÇN¼ :äxÕzI¸ÄzìuÐF‡i·Ý/ñ4Òˆ?ݸ‚Š+ü™Ðäu zèE‡ Až@€Tvòq”'|Ô‘@¨Äˆ ýQáN~ä¨ÞAÞ0cNJm:A,ÔÈ"­è Ã‹2ÎØŸ ¤@`#ÒÄ‹/øö Ø7R#DcŽ’/£†ìÐáÅÑI‡Ÿ-–ùr™oZMbÉg!dÊd2I#M€K(ëùc/pÈYO–+íPÉx6äX(¹¤™N²C… 0aóÀ‘h¢GÕ³Á²AÄžd.#&ˆÿ`‡=v„Šh¢Šâ$Æ7Å5|’‰JŠG‡ ¢&+§¾t‘'½¾fË%JXÊäŒþ!+ž¨rú²Í0‘’„P(itcC°×>™-²ròbK´¯åâ.iÔKIµ—˜á†ÈÎÃKª$ùCD(¸lð(+#¬ýÍãÃrÁ6.óR\ðþøH*—6©!à …WŒ žPw`ÊŸÝ„«‘?ßPÆŽpMd¡ÿØ(¹ræ"u°ã7g`Ý8¹ØÈ›W¨òw÷NÇÝeäç1÷œ@þüàÕ;ä\’?hÔ³‹Ï(‚KÐiXX‘¨´K6¸Ä<öÆ@¡R=-´¶6PB†`=z´AêÜ”½®a÷Ý7ˆÇ÷Cè¢wûâ¿sûSÅ x|ôv W ŽV.•Ø]S=èm9e‚À@šÛ6ÝЄŸÔA ˆ…“/p™ºÐÁpòwM”3¾v#¶Ä ¹J«;;y‚ Ñºä;Ü@êÃÿã ëˆK^rßHí£ç„÷"ÍÓg :I^…î»wð(ß=AžTQC`ê¯Oß™ã¿üä-‚Î ºo¹zoÈ€ÿ>çñœ% !ù ÿ, .7ÿÿ H° A‚\ȰáÂFžªTñç°¢Åü] 3©KŠCÌxM—;6Lú(²å¿F¶ÐìÚQå†+Aº´¸¨E½Ÿ5mnØÁÓN‹¶dé4åP,6ü6¡[“Ÿ4…>eÖA*Cª.ÅŠr( `tõjjØn|‘MyŠZ‘é,((ì„`Ý|’ÝPÏ]‹þl¹k2lïÀo¡Â™ðcÖš„Ï^˰‘7"L˜ ÓÀñ?AIp¥I¹ŠàŸ„ñh><ȉcìØ‰-Ëñ7EI‚»néõPÍgicd&ªç¹E“ÞûÛOpázbЧ{wå/Ç™ÿK@:*Ýtz?öcýº‹P´c.ü³ÀF êè(½úßX×^.¤‘PK9Ew "~*ìç\¼QTÝ€*Ô‚6iÖ¿ÀDAøÝ!ᄹ±“ž?b˜„U± l±y⃠D(!…éA6¦áÉÙÈE#}x à@0 !Ä€‰;ž'¡T k¸d ¾TfI¦ei/å¨ÃŽ)²#9¬Ui‰;Àá‹@••™]WxÒäA%žÉŸn&P‘BU@§pÈY_BCž{vÆÀ;gîhTxqK¢‰ú¢(PCÅÐM‘:äOJì·Ÿ+Rîf§žvÿ‰ÌRjCô•F7˜øI^t¢Áñj§] €7‹ÜÚD¤KÝXãk«®» 7A(ûPD<;ܳ¸ðz&*(VëË bØ£-ŸžäÊp߯ÛM*–ö§óðr…?뎴ȸ¤ojàa æFG UÚR#äàÇÃK„žVS;TÜ2j¿e°K6´ç.¡±§g£‚M¶JÕÈ;ìÆ3%‡òÍ­ñi@N²lÍŒºŠØBæ}ýðP ä‹,F±uÑÌ¿@qÓ ÿIíP#Á8€ÇP;ÜPšÖ5rÅ ²mPÏÓQ“ÝY0 XMÓ.c»ý6(²Í µÝwŸsu“/äØÇ7Bp˽ƒ/îŒ8øHWT’7Mî¾øK‹8þ5äŠOŽÑ"1 Ðôá‘kŽç׺è÷Uî7M)H¾x|1X}S=)´-z|•Ôµ<™£{Ú5‚úè¹CQCïÃÿ>Ã"ÓXùòÍ; óÑ#ä°Ô!ù ÿ, -6ÿÿ H° Á‚˜â"M¨Pròî„ÂÆÚÕÙœ 3â¸Z Q”$‰‹ T­òÅÓw.Â:tÔ¶mŸ;(òÓ; ÕÃY«]òå·M4ÿüÏ“ŸóÕ[øÒËñ¥1¸ó½3*ÅM.£¤N½·.œgµ×äýãÉ-w˜bî¼æIüU—Âdí¹§ÆkyƒE‚¶%FGO=ˆ^u–´à_þbI’œrÌ™€Mcå¥áBu.܈†p€úä Ö3þø#§…b£.Ü´°‹QhAá#®´ˆ .ÈUœ6“–0ÃÅ 7¬w"Š="0Ã,Óex=˜f \D0/|¶´Ópx ¨3‚DE.¨Ø=yÒÇ£p¬'€^W±&((èXÂ@(‰ }œ…×\s‘>ª&¥¬õ…Î0ßøóT§‚äÿ .iY_b&°©‘òyªH“d„«uËià’£ –(q+®Š5çK¯jʆ%­(3Gø¦¬ ¸àB¨Bk*Ÿg\;¬¶yò µøq£o~XRij¹’êË  a ±ù#Æ.šd€¼9â2Œ œÝ‡ë ¼d`'ì:ä:õð’Å3ð†K(‹ gd\- 3qÅùóÁ¾ÀðL-i|ÓAC@“-4`ËÌ?!$;D0Å!‹D÷_ÄÕc‡h¡¬´75}CnJŸÔˆ%xlPÏ›f½‘'0],R‹]-UïpCjkÔÈPˆÔ`Ü5©´/ݤnw#ö€´4â27u×CÔ†?D5л×8[–Ô½C aO.dÙF§ùCl×}"~ÇÝHuo0†Ÿ„Hí yë°^÷_´äâPàž{AßTò‹ï¿Ã (+¿9ñÊ ´¥7î”æ!ù ÿ, )4ÿÿ H° Áƒÿ5BȰ!B… ¶Ð¡EƒÇ53FÞŽ1ž.ŠØÈ^Š1]ºÔÛ±cä+G:l,®•+Yn@RæÌ\îÔʲå${16òçíÊ8J‰T¹1”膫0zbd:N–œ&&"ØRj ”—›;T¶„2i¬A ÈZ‰p…Љ»²’l”k°7sî€ Ô‚4$X\×® lÞ˜0a€Ð•]6®ävï Œ›€“÷`#"iBù šó*á zÿ ª•mvìàxѺ7W’$¸ZTÕI8Fä‚>ë°}Ûn±Oûñ“‚/•õ\¶{ÑÐ ˜ßÿÝ1×ô$G¶ ' O ýñÑQ»1:0‘¡NÝúÊ«x´Ê0Ý}WŸcð–Ð~üéÂÚZB¡†‚ÿø£}¡áF"ÈM0uI¤°KKšµ‡!‡ˆáÕu9¼ñõÛo~8Hœ‰îQèI6çÜXKy"¡„âBº qKPlpâ‰3€Q4†‡› Tø H_E¦KHü¡UL¶g"Y´#x¢=f .– ÃŒ˜óøbgUÚ9Cg%÷m 8fD0ˆÂáË.¾XU"޼±Pñ&=¢rצ‰*ªh=æÄ €Ç/ÎxãI_^ºà‚)Uºÿx³zçpk X 7Á,âÜ(.. óÎ&š¨·n°Ã$“Ä€D0At @@ð"DIé õµ9+³¦äA½zrmA@œNÏÔ⇠Üš¬wÙ¹Ë.b0C­µ±gÌoó“á•óÜÐï¾®k5Ôón¼~L0N ¸b6LqÀQ¼¸|ã‰?xBÌ1î0s… ,“,’'1@QOi$!ˆB6ûD;´@¡Oá¼Á ù!-S#–m´Ó>á Å.R=R#èœÂÑZ#D%;ÜuØqM´‡¡í" ,ͧÛùà Ñ<ÓÍ- ìI Çqz#ä‰Îú4Ý%59uà‚^tŒ›ÖFÜ‹G^ÕòÀg9r]ƒ²Èæuà Ÿƒ¾×¤›^Ð"À”®:I–¸þú?@ty@!ù ÿ, (3ÿÿ H° Áƒ!\Ȱ`£‡¼ñ¸2Ì[Ëû1L̘3]&uÉ £IOvÕ[¹cÃŽ1<]|ب’=!QÉòåy¶6òç)È8d²äxС§*7Tî¨çsR0œ-ŠF„+vìL˜ ³Èiš+©¶Ü°AŒÌ‚‹î$H€ UX±²°ô ÉÊ.,ÙN bГsëÞõòö _¨i_n€2É^Æ:+K'hÎP–"øú»IƒAäÒUlNÞœI’ÜŠÌž˜…'¶+–1l?)xJ†”g‚0gFEWl“ã{ýøÑ5o*UâÄO¤uñê» ô ÿô$ÝÏì•l¡à¹Ýx áÌßŶhï^z’àj±ãeà2|Ö&<'” Òérz¬·Þ0âÅå]œs?JÇ U“éÇ }ÿQÇ`…õZVDJ(.$!†PL¶^ Ðw˜f¼™àbœ˜†%@F~ë©÷ ƒó_"X’.@BàN -ÜKÄ%¸o”ô'‚\ÑÝ\ ÜeÂ-·`CÇ<óÀ‡/¾[Zâ{uÐ㓘,WfXa¹)¨›£Ñ6™‹vÎÐß?Aˆ¡H.P¢™p´ö曣º¢ ðK—ŒòòLI40æfb‰%(œ…ª5(êÿJ%è€ÄBdñÌÕìVª­ùr©¦;L2 ­0dÌ"øSÒ7g “…#YpA柩 ç.]Œ!ÊÑ,M}ƒÁ6YèªIßÝ5Ï ¼ˆ‘‚.W0ëìCQÃ.ºL@„-`ØEG øÁâÒ$ÞEžÄPÏ8 5bOõv °I 5’Á#’‹1ƶL2ßÇ$»Ã.1–Œ‘Æ;Œ¨2ƈˆÌáË }3É.ˆÐŒqÃ;„§óÊ@1òÏÙ ÊD3CÏ 'ÐÆî4í´@Fó2óÔãÅÐEÊXg•Á>H=µ=“xp5Ö WröÔþ SIS]g”3kOm‹3pǽW:u; ÝH.þè-”Þ!ù ÿ, $1ÿÿ H° Áƒ5BÈa#ž€x[ÄãÊ`þ*T¨ñŠ˜1ÛÎté2iG˜Eôă6Ý|ÑXÅW½›;rnÀðm  0ꈠBÔDƒÝØu³^Γ® ôV'ª«ìL˜€Óm!ÂFDôàìòt’%¯ž4èH`5«V^6Ê5 ©Ó6 ñê¯ÕÚ«¨Ø±ƒÃ%®ÁF<þؼ‹:¯NèЕ֞æ"ÇÔ)Ù Pån%ùlÚ—kM0î äŒg(ps­ƒ4ÍÙMQKÍ ¥,ï¬[iò¥ýø3<“v#¶8تñ€µÛßë¼\—ÿ<÷9žÖþZ%ÆlÂG‡÷ðÉÿ&È–¹ ·[jä¯Èz®&üaIX2Œ%f ‹¼•fÀŸzÈ%gódxƒ†7ìXyBñ‹„þã›^pЇ/p´(€/ šv¿Œ8!l1Ѥ#[+ÂãpBX£„s”LòÈ"Œ=uæ`n I¢‘àéØâŠ=þèàŒâñË ž…WúØYrQJq]É ·`£ÇtÍÙ„¡§hôé' (ºdÀWtà‰'þ4Êߣþ<椔VfCW˜Öئ 5‚ˆ¦œnÚÈ" †Úר¥šŠªª¶êiª­.GÔÈ8þÄjj#WÔj+§¸Âºë¬ºîÚ®Á ۱ƛi²§ÚR,³²Úâ«­ð,´ 5"-¶!i{-¶ÕNkµßb뉸­!ù ÿ, %.ÿÿ üçÏ“?&Ȱ¡Ã‡èALN;Èdµ±×â@…=úk• *TìL¨äb£6?~\á$ˆ -ÿyRPòdJ•r:ôÄk×®.]äuÁ€áGK æt˜dGÕ§ÿÙV¯ëŽz;vt©ÒÒÛ©'Qªl#´¡­]Á†Ý0 WKDuÐú´j+ë¿q»¼†Ý±Až¥¢é@›€*l@²6úX0á1i#[lR­‰[$“«ÜeîtSâ¼×ÄYýý‰+wÃ1©ú#ÆeJrmúËw.¨ Hˆ„ì ¢wJ8 ‚¡¸m( 2äÖÚ¼çOX=ÿ9ãõ:öaÛõn‚{~Už м*¹1à<5% ’ýP\}õU‚K~€8§’@H÷O#²”V’DfòÑ›J&ÜC„¶|ó t`P#þ Ñ•yxàáÁ…°ùSÄb¨4ö60“ÁŽ–àRE¡¤1q„ÕG!¸€KŒè*šÇûYÓóTž<übüãË4ê tiFèMÅØ”GM  ËÐ^é.õnƒŠˆÌ§Œ_WEŒBéä·'Y"âœ`X×ÁõtÿH»»ò0¸´ëÙhð¾X$O¾¡>”I&ë.0#cª&`³ˆA IfÚP$Cûñ÷ÏIRg‚ia@HÔi‚!˜ (4§ž@ *Àí´9º$á‚ ¡L`€-äÉØy˜`n.à’EA ¤’t&ÀAGüÁÌ0/¦J…ÁvPà I¸˜Æn5åE$`†9ÏÃtÞ'5Á•‘Ä7àùƒÎxXÁ0â&)~%ܛԈ wåU¡#Ïßœg†F‡‡¾^›«¥›!ù ÿ, -+ÿÿ H°à¿F *\Ȱ¡@OÈIè°¢EþNÔqe¡ÍDŠCl„¬NT¨\a‹re¢H‘‚TÓ‘à$;v&èx±ò¥CAÕjžD…Ó„ wA|ZôLJæP¢F±-ê©T¡?dwœ¢¼™³ÕªÙ˪%QœpøsØÈ¼aÑAÓlÑ@ØzËaêW…Ð=™€«‰AþôôgW= )‚¹d˜1kÍ­F›ŒS<Ðß0ÇõêíØ› ¿$-åJ§ÊÚ†Ú€-zô˜`Tãν|Ö¨× ãò¢½Cô†“¡*W+Tœ¼U4¼¶è.;6üI2¡§?SƒíFÿåéÐ3_¡koXîå5j-j¢Iƒ`:(ö×ÀñèÿëÉÓÀÀw"&‰W”,ݬbIúõ$Ö ¡—Ýz“ A ðÅo†Õ×MüÐ..„’_B1ñ2šqëA±Ar˜P` ÒgpìâÌ,G èB¡ÑAU#x´J•´TFñhec¤c‰ ¸¤" eŘP€O.Ìr\ŒFá¤#Ð ‡/ó„‘š¸@ÚdŽ ÊIŠKzL ˜@Ÿ•ÔÉ£¾ø²ÍHl3Úz€2 …~øQhiB@´ñ‡•tFÚjhè¥ÿ·)™xÔêÁ–¢Êew5ÒÁÙD*¬°õžz1â1f%)†2ª®¡ì—Áq;+ë¦ÉzŠ(H™F£º"jÃt‰èœAœq2ÒZ+(B|ʼàBûU#¶H‚Çx,H#‚d Ïqœº[ë/1 ‘ 9®AÞT xüÏk#†<*[ñ/Îè‚ . 3¼° ¤Rå+L E:À „7éÔÅ/xPŒ(-à¥É󢜆w´lä¡+ÙI5Ag@B¥ ™*xjó¦Ñ& :ŒÄjr\5® ¢¥Ú­'Ù…þNÜA«Öh {cß läInM›kMpù–wa£ÃµÖñ˜–hQ:ä¼6È”ÙOK½ý[×D“¶‰ƒðª×‚ ÉÿüEKÙUjQlÝ0cô7nt½]õÆüð”7îbÀF°…úà0Üõ’ïØÑÍ¢‹O,FÕ8°‰WS rkÒÓñzËÇÿÇðã0ÇÆCƒSõñ2u7MDÄ<™ ÷ðà—oè‚.TDbŒEeÔZót#VDÃ8cDiàÖI¶)§ßœD4ÒA†¸âÚT&À!â<ÄcÒK-–„2žt³Mrùé·Ác03.þA´ˆ;T€¨žˆpD Ç6ý¨øL¸¸3È-ÞP@á%D1AuðƒC ‡cî2½e /óÔX£S ç+€Íc¹à—„ Å1¤“DL0AšO òš/¾È騣ÀÉ{òù§Ÿ“pŒ.„b&‹<Ô3g8º• °àžEöég˜1\ÿበ~ø!"¡ˆ4] (R©ª‚ ‚ ¯NòA$}ãGIxJ„•ùS0¬ð'Š| {)Ü[ɸ¤1 ß$±¬ †BûTéHR-$‘üùe˜®;,±P€C.„›F(D˜Ëé ê$-0ð¬ÉÂñ¾zi˜x po%Uô‹K¸¸„¢ñ²ü†’KLB É / /ÃD#CÌ-  Iºà¿¡$Él¸ÚDB²Â¢@"L,âË 15Ú?ô›FþºÀ© D0ä ]|9ô¤X’htë´ÌM5bÀÅWçŒ ¿.|ÜÈ0  O,}zäI  P‰¬ 5ò Ür»Ào×dp"B÷“„\…ç’Lq”3Î5C{7ŠEFÂ7oh‘N'Dd¬±ÍŒ;Žb%–PžXoÄJÝ”e€¢}ÏþÔ79çÜúUÈî»®ñ/ãWØbúñÿøsf×==B8ýI”ý!ù ÿ, .)ÿÿ H° Áû`ª‹ëúî2Î(îÀ—Ôˆêo/“É+oü7!ù ÿ, -+ÿÿ H° Á‚üy:Ȱ¡Cƒ<‹ÂÇßËÿ5ÒL"5ÊH’`ÂE|ÌéH*WF–Äq\«,Yºdg(ˆÌ™ 7FÓpGÇÊ–¨Ø)eg‚  ý¡TyÔ¥U¥&²Â!gªF‰(Š͹s©V=Ìlý,)tYÑG[²KÊTë€n‚ÖfL$Dµ;ïÆ"‹Õœ)®tÐKÓ“½ Œ½“À•+º…é`#gËã‹Ç]5Š‘5k ê”Íš•N ¼ŸiFæ”%6”¨¸\—u„?Šcïõ&­v:LTPém‚Žrˆ<{EÈÖœTÔ¨ÕÉZ÷u^¨0ÿö¬Ý3L¶SÓœY׆ôžD²-Œ·ƒž|l¡ÆÄ‚*tÀÇ<1t3¸t PDW¤pC=Š¡ Að‘Ո🀇ٳƒŒÑ&Dx"H¼ìRÏÖÓï ÔÈ"$l¡€ èK ÷iD7œQƒ<  Û¨¸"‹;4ÙE7Œ5ÂC+EÐ1Ï<9úG ‚,‚l€ÇH!σ-6©f“`P BUÜÓÄk졎*`(ÐD!úã‰- ¤0Æ$P8 )l³K=Xã¡@‚±G"kp ÇÜ0@t°H“On°ƒ›;`yå.qb¹Í7µ|ÒN=Ì£‡;<ùæ;ìrC=`‰eˆÆ©åA‹sÈü©A7ܰC]Üpe£FZOœ‘":•5â 99ÀÿBLEÜA¶Þ/W–)œn»Ã$“6"? ÆTpÏ=(xqË=íDpˈÒé&@Á-·Ýn îdP0Û€úf$c´ ‡Èñlºòˆ+®·øæË­&æê˜Kê÷¯ :K Qf¸Ñ#Šõ)ÁS&LæØQYM§u„îdÙcJГ Âêöi)1çÔœTÍ™A§ ¶\YÔ¶âAµq×°0£oj4xàNy œÏÿlD$n#sÖ‘ ×íÊ7ðâgd^˜EŸe'ÞÊ—ï‰Á¸þä° hí7^0{ü— ”PÆ"î·ˆ0S$ØÈZ¨‚O4´E(‘'ÑL¡`#û¨£JF”P@xc‹? UÕT0‰Xµ†Úq`4-äÍ"Wt“/ÄðA0äÐB ´ˆ1‡Dé>ªÑN>Ù ¼œ!O;tQÏ-ܰË.õìFŠy"‹þ$²Æ>‡”±E8#ÏgœÙCM˜Y/‚Öcè»ðøÏŠmä@Á9çh¡ÅíP2=ÑCó`³i†ºÃõºÃ0©5Ì0´` ¤çÐÿsÉ%HÐÎ'Ÿhp‹!7Ü`š¥Ž*¬°õxR#Ü»Á—¶RÁ³ÆPÒ %÷lsË»tæÊîÀ­·Þv!S#h({Æ÷˜r÷´0†_îÙÅPl`/½PÔK¯½“t1F0 1îþ2» òL"Ïxä›oÃ;\¯<1dÃÌ–à’KBÃ|k//cȃÁ`0 ÄP  ( mÑA.በiðÀ±·üòÒ‚< ƒ ¿à!t 0 ‘Árá‰g‹tàÂ72ŒÈbdð5-t%èdPÅ2ÃÑ7~¤ñ ¡ e'd‹b»×t“y’DÍlopü\|.:Ûl»¸kÓŒKy‡ïw³ IhŒwãÏ…â.5ON¹Ak»ùæ3y‚¹Œƒ.ÒàI”nºDk'1æ«·é¹ê±7…ù뵫88í¹ô .¸÷n'i/uZÖiÓWÍœ8&=ÿÙ+³oßQ—þ¯q¢Å‰-ø. ٲ傂"y4€ÉSDÁO’5\p‹vO²`WrëÆÝ&·=ÀÇñ>Î^C{ÇÚY>:eßµoHJŸ>Ýž¡K9ÁÝ#Ìõïà©óÿ¸uI•:¥{$xÏžº½øÈ¨3¨l}ûûdv‚OÄôÐ,Tæ2Éòœe ¼´‚1Æ\Ë!ø°°Æš—œs ÄT@ 6xAÂ7ÿØ2É/uÊ3É¥¼ØÙÂ=pÑ %(´ÒJ·”ÚÊ%zÜ‚ 6¼,òÏ75àÒ±Á$P\ E­P€r铜±Í¯YF°‹»ì°Ë]œáj5ü  è*´Ôz霽"»AÛœ±Ã·]ì Oÿ,â´x¤ûK®ÑÊŠ¥“èz)¼òÀÛ…<]`àj)V¢¿Wä’WlpÁ …´H /̃ %Ô`{‚@<ñÅ}C%ÆWÌqÇ,`ˆÜ !›ÌÉ*ß„Å-‡'¤1‡Í57sÎàÝÌów>ÿ<ÝÎBKtÑÿTˆ´@À\´ÒK7½tÒN í'!ù ÿ, %0ÿÿ üר ÁF*\È0¡?d|øD‡hÜ¢E‚€tèàÉ_#.F £W2Pja‘¨\¹@}›ùÍÖ¢™5r™Ð–}@¤AfÑ)“ô$f¹8q¼%´gÁœ™búd€1eR¥` Na1bN¢1I•JßI3dJ©Ûöà”¯,Xì¹-3s©ª­ëSlŽ™ÅŠvõZ·ÑØR}ŒyBKÎB*&†µåe¡NK)£,Öx½;ön#û´„P ¿tôÁ§e ¾}n1(TˆB2'øðç¼E›¶-[®jiÓú=óÀ\˜³o¾OmÈ6:`–•ТNݹ+ÍÑ*õ§=f ôt6†(p*¬h-"5¸P#UD !Eh1…?kPЗƒÔÀ.ØDpK;k܅Æ6Ø»‚=°Ç'L–bƒþx°ƒˆí”q S0ß y2Æ$7èáEÚ‹!GÅ!5lÐÅ-]Ü#Ì99ðñ†B¬" d¾Ñ@7?\Áƒ=ÿi¤OÿØ Pl e —\’ƒ‰ø£Œ2´Ð‚ˆäv2>øàŽ;b@é|ƒ  ']tqÆ=­´Sȉ ešc:æ˜k(ƒC?ÿQPx €Çxà œȣÇ=$г‡?¡íSâ²Æ!øh³†77æ™»€Þœ'ÔAµ0>9.øazã£wúBÃûºB£_>û@ž¸@÷í¹ï>»'¡€Î»¬·'䉫7ÞH€!ù ÿ, '2ÿÿ ØÈS£ƒ*\Ȱá?[¢ð‰6.ƒj\ØÈª;uî¼K•ª±8ã ºx°ÑƆžz ªó®NwdÈx%cM" Þ¾ÙZdKPŒ.7z;F¥Ž ›*”È`ôêU©)X[ì ˆè¢E+1*lÔF„+W"nšK¥O#X±Ø£µîAOž¼- ’T`#rì¨4]+B… qëÈŒPÌjÊAÇv[z²¥H:h-XÇ„ÉqÔŠ˜ójÄÈ‘["ê ÐÞ<:̉Ó\¢ËæìëSlN)XéFÞ3®ï¿F |Áa¡“jÕŠ»Ò͇J׬Ӧeß>UÖLÿÙ³‡«5<ŒûËækÞ¼&”(©?®ö®Ti Чsç A†:sá„BÞl3O{"€±Ì2 tcAù„ öäÒ…\ãƒ' 5òC= ΣÁÚPS„=/QØÈ}]×7õì²Ë M\ Ê'¦°Öb‹Œ±Ã ¾ÜpC[,ÓÀ„?6dÏ$;tad†lqÉL69VDYÏ Ø€ÑNW\äOKZ*äPlÐå·ÜÒCc‹oTqÅ",¡Ù"5´é&pFÐC;×Tà7B8c…0 ñ!Ťˆ àx¸e· pŽkì‘Ì5n0Ð,rd“ /ÙˆÿÁ̤FéR#éà§š"ছgÜÓJ9þ° Ê>Žíá?žàà ²ü‘ c| ‹txt»)·œ ÚEZƒ>Z`•H"ã9¶,"  °!¸4bÏ p›ï®»òºéÛèÑ —T Œ9P …êøÔ4ð„"xà •ÔÐ+¿ôË©›“ÈÓ1ÄPrÎ!ç¨Â0>H|ñ3hÕ¶´ÑM a`0ɦÞnÚæ$gœê-^Üs =ÐàòÄÌ‘d4S‡†1ÈÊmî Ogè±MzpQ ðãˆÓ/µÄlWúA ÆlÝÅÜb(BC&³¼PK–-ʹ Ä"m£a‰"ßx’Æ&ið¦_ Šß¡È ,Þ¢ n‹#hùFŽ>Á#{zæ¸ðB(Š›þOèD(Ò¹ë9îG(Yd"í u†".°‘Dë®û^‹ì•óÞ;.µäî¹ò ù€#CÏP¸LϺõÑ»@ßp=.0ï.þ@xïñ´§@òç£ïýóñÿÓA~°O»'IL ¿ëžpAøê7O„Â|ôþ續($ !ù ÿ, *4ÿÿ H°‘§F*\Ȱ!ÃFmÀ`€„3jü×ÁP‚®˜#Œƒ7ªl ªu>&¸ó.Ï2Jö¼u¸¨Ò¡?.쨸rÅîcwîŒzõŠ‚4{¶:øCØ“ =*ìØ¡B5´ŽWšÖNÉ(Æj e‹}´3eÆFäLÈ54èP*ÞY%£OY{zêðÍVTž ½E€CÅDc*ëP©“ “ kú^•bEf BÏ [äV`£apSáX„s"Dˆ³aΜ>3¯Š©›â™÷E„l•æÈËWjÇTèˆðB΋0âR¥§ï”nV,.‚FhÏÓÂF?|‰ÿ‡3:pøÄ£ „{EÀ¤br¡Øœ!ùn”ˆÇpOˆçË<çÁ7'ÈÌø`Ì[,³Lû`W"0dOõŒGGç©÷B@\ц,(  Í!}¬‘H0ÃùÃM=4vØ„!ÇxáÍF¡ ’KÈTPÁŽ ñÐÅ4ú²Ëø ÉtÍÁ3Àš ‰-‹(1wºAÍ»èq o<N×dòHØcĘÿ=ÉÚ»tÑE6ºÀ×_<Î3bkt‘ ãü€/tÁ ~¬•†&Ž,ÞxU‚ òC¸øá?i¼°‰ŸÃ¹È.(â µlò‚jôM(Iø±l”¹gdËI(D~o@ëpîž<8ò‚#ÞŸ‘ ¼×"ˆ l¼ ôprïG-DÔòj¿}~(‚K/$A~ùð×R‹#Žàî¾C‚Hƒ"ž‘6¸à~åÃE-À?ÿý¯!ßHC-¨â=°!‚P`²ð¼  @ö<ÈïMp Ô÷€ö‘!@HBRö†t µp` ?Øo‡ a^¨àb„DŒÕÂ’øŒ!ù ÿ,,5ÿÿ Hp`£ƒ*\Ȱ`#d$Aذ¢Å‹D$H`!"¢‰.Š,èϪ“¨6ê0gJ"Å‘]¡båÉ:tÜaé2$Ì…¼°3Á®(JW*ïXËSáãËŸÿÉ¢c¢jQ¢¨\¥¬sçÝ»Q¯J³×á©ÈEàT]»¶h¤wî(%£.¾Eöì¼èµUÕÒ¤i•a¤ï²öŠ 2ûÊ}ûVÖ§ÂFmnøòõ×Dg:TMˆ B…ï0(FfÄœ=ýu˜ì (¯ÍÿÒ3¯ÛzH“vUG&}2ú¨+ÖgÍ”ƒ ºÜ`×æëº³yjäH›ØDÐÿ¡R‡š9¯Kí{Š¿\þ.ÂPϗμ}EXdù wØc9"ä1df1 n¡?hÔSÏú²ÌXFw@ðp9=È„§˜¡>Wh(P#?LB¡úrÃÞXä_̘²[hsE| uàÁ;PXá z´¡bCþ]á1­,rYPl`¥‘õñòHK2t ¶Y-5lP啉 \±TùóxœYe‘õtQä à€nš%‹  P'UB±g=»L¸ð¬‰l)hCÄ€€¡PЉè™;XwCtá€$+¬)ùXÚ¥C–Ìÿ`è¬Pjæ;DFõDpË6œ  É/5 áê«tð 5à±iž"pk=ØX· 6xÂ3ÌÀç$òˆAN ]~ùƒÍ:‹(Ÿ*º£zq 1^r‹)÷t1ÉÛ£×¥þ+O­ë¶ûn¯·øz‹!hñ 1]œ¹Á6T‘Km }ÙèÜî]Üp6zDÐÃ'ED¡Æ­" É¡¼j¹èì+­Ä¹Fàk^ (‘D²‚(|AC2'dn6]°¼APßÒÃG< XcÉ#HC¥±g\¹goø1 Y@È3áø‘tLÑ}wÆ$zŠá‚I’†Ð|þ1Ë#¸ §CÑóC:–à’„ Ð âB›þöO0.~0.'¸<²I81ž±åwk^y/lÂF¢>Aé!á‡ç›ä29å„â‚"Œ72#ž×‚qëJçžÞ|£/<ò ñ®ïî‚'iÿ‚æÐJŠøAD-À;ÂzöÚsŸyl\Ü®u`üž1¾ÿ仃Ÿ# p@ŠžíwÁøoƒ1@ô—† ïî«EAH¸‚,Lˆ “ Á D„´á@AfïR !ù ÿ,-6ÿÿ H°à¿F *\Ȱ¡ÀF Aè°¢Å‡Þ %°@‚A‡„CìàÅ*T €a0¤È‹þdQaw¥Žæ:zrù’a#™ìhÖD™@‡ŽV,)ö4ØhQìL@j³è¦Æùã¹Ô[ 8RÃJ¥šÒªSI¹Â„à lبP¡ÖLiôÝ»T”)…Ùàœ¶`á¸}KöÝ;ïF­36î£ÅF?vùš,¸2œl茕몎ÄÖF2Sn\KŸÞxMn X0O‚Úd~ëªv»Jl#CŸ½EŽ S¯žÊ¬[,z¤M l`©P±­‰5LŒx³ð7ΓAHvÿ/ØW½ "AºtWÔØPA­o ¶¸66iÃøz«Í3ŒZùÓØÐ! óa²Î+[üàOAMÕ°Áâ7™,Þ5„Ð"î$(‚"˜CM mL˜^1@Å'/‹4 È^ © 9$Z ŽÞä :x¸£ŹDòœÆ9Ôˆ?<Ø ApåO  ðâ‹0bÈ ~]`¸Ã6–œæ“Q¦÷à à!§‘Š·Meb¸A$RÀL›"yãLœ^ÊY$˜ާ'<+¬‰3U¨YQ#¶ˆQÃ/qy¨‘‰ú"#ŒB²<¤ÀpEpR6"È0`ª)‡ÂÿXÏ ãݰÁ/¡BI$aü‰ãšÁXŠG¡›Æ˜á »D0I$+@Ï‹@ÀÀN©úC‹Pxé"¢;ìB+­õlà@$GnÐ…¾È?»-§âí"Þ ôpË ;| ã6,òëBS RÅ$Cõ \OØDЂ<úÂ(Ï“€JÙœsc»$+Ï•|¹í°d ˆH3ÓÅðvëíGT2,4* „dñÍR°+ÄzŒNŠA $$4!м°ÜRùã \¸Aº¸àG.NÒ_ôòB8;C=µhx`IDu(±p  á„ó´Ùgû̸$ÿá‡ÛùCD-/PàxŸMßmŸ-ˆ¼°ÉቧGD(}+‚xi8ò‚ä~¨XùA¹`Þø?‚{Î&Yt8úA—ãâG-n7’K-l<² ߨ u#—kM»ªŠxþy.¾ÿ^ºð’FÆ'!úë°§á‚"µ„’FŽDž„ëÔà ѵàR ô8rrøŠËŽ}è;Ò;ûŠ _Ë3YäŽKò‰/{-x†#ØàðÑx.¨X ×`ž1?úYŽhàžø7:à%a¸p 1?(".˜ž‡½Z¬o…"‚"QAZNDà`øl Úp ÔºH@!ù ÿ,.6ÿÿ H°à@Þ52Ȱ¡Ã‡ÿüÉ2G"ˆBˆ3 ô×ÍU‚u*.ÔHÒ D*®P¡úHÈÈ’$O²c§R%KS‚^Â|(‘;3k¢Ò‘@‡¹.w:ô׀މ§?gÒ´YôhR¥™Þ€ó´+Ô©+‹êPìªR­p|ÁáʵëÏšuè¸c.šÙ˜ÃnøÚ»¶oÛ¯4ãʽ“*Zý ÛåK€Zµ}[tká4êÔbß)`p£â.;êí}¬¶Å¢F@~Pv{¹Îï¬ç qÖa“êé®ç8òi¨èñ:Õ£«;Ö¬2e¯¶É “v„ÞÍwÀo‚Á#T6¡ÒUï±­ÿdK§?èP¤Oí«…Å†¨Ûèqj%ªïÉ1 ±(kPP@±tºí5€E$dÛ?"‹võ¹‚R˜¨`Çuý‡G€Ú.\¼çI6)Œs‘A¨5 ŠÀ †çÍ€ ˜Þ»ts‘'cì€A §-Ø 9Ø8E…i/5’Œ4ÖÈ¡tg¤`?<ª‡A2ä äèñ¢Nž á36‰Çhå1ì0 ðHå‚‘I‚ 1f™èát»ì"]‡‘¬°‚hä´S#¶ˆ1&Ö˜ænÓAa襈*Z’B‚©¤†æ‹n… É©RdpWF ]!†§Öÿ¨ÞzõlÉ©+œ ÅìŠQ#þŒƒŸ~X­;àÏ©œ¹Á6Uø °Á [쀡²+œ)à³ÑÒéP#ž\€O†Ú »Ô3‡ßN²ÍÒ>lè ™&¶õt¡Û«Ø¡tÁËõŽÛÁùþI`=cAC Ä‹(è”·èÂc|‹íºøáÇ7ÜÔ@f$¥Š~ˆ;-ǃŽaI~$á£ù4À΀3‹#¸ükU`À‹%iÐl3ƒ8À?‡4VØ 2ÁI×ìÏ@ “ Y„SÀ3Bkä ¡¤á‚ȈùCD-/PÀÔTtv(¸¸ ˆ[î”K-¼°ÉÜegt· I(²ôF³ñ ᄓKá.~(¢ˆ'À墈#o² ßutxæ›GD„l.øâ¥ tºæµ­îH뛼àç±ÛµÞšw`»#®'Á{ï²ÿ®¹"D(òL?;òÿœ¸"µì…# K<õM°6ö<óÌí¸Ð7ø‰ïG-µ”ŸE뻳](zÃ_þíêÛŸU(‰‹ßþêç?®PH`úWÀƒ„"sñ[ åJçPh®|¸X_7’ò¥á{d.°—ÁÄ#ü  Ò\„Bƒ+d @˜‘€!ù ÿ,.8ÿÿ H°`ÁF *\Ȱ¡ÀFÞøiä°¢E‚‚J`áDŠC*ô×íª(‰Ù)²¥?YTرCE3A@X¶tÑGL™4O¢ÔÀÀßNžAZÀ1aB¦Ó“:tÜ1%HçÑ®(]Ê´ëL¡ t¤ŠæÏêNÃnøòg)צ@…Jm5ñj#O v­eëÖÄÛ¯ru˜‹æÉ,Rz÷¶]Lg^WAQFÕA ‘á…¾©ÇYÀZ8|}5°åÎ1;¸5'«Ày™ ¿*c6pæζaeýýÐÃè×w¢*XÙÐ_†I;vÌ®·×W‹E, ‚@§wP°:TðÉi°   lÿH>Û³/^Ð úk£.`›R$ñPÈÓŽÐû¿„X BN^%PSXw¨`Š7ùcK ¿Ü…xãq¶KF=tq®ñ0K}ÅŽ+u¸òŽ?4bÜ ¿ €‡„â%·K7ž`ÄM ø÷P²DàÕWu P…Q@¨ñK‹/¾8áx;lóCYq“/Ô˜A^½Çn¿…a› §DëVuéÓ–‡;C–ìk¯EÞRÐjg:°ŒS\ñ$( E× Ü6BƒÄÿ:4X=×µÝ<6²§” rïþ;¯Å¢«®D€*Õøaàƒÿƒç9ôÐõÜГ|øEÂv7ÞŠ³ÀFÔüB@~ƒùÜ7dcKr‰ÔH7UÕ0 ’ •ì÷Kyå=—3î ´H7àù3\qt½f25b :ûñE… í}ñÐÅö52N oIÕ]Fù°ÐÌÀyPüWÏ6W ÅhcÌv_ñqw“+" #ÈKþd +iÞcgüFÐ8“€&Ï0žÜ‡ ‚&PÁE.ftE *öh)„$Ð’ÐA VÑÄW>\©Ü"èPXat¢¶P.]D‡Ç ðÄrÝ}W´ÐB0qt ãuzG¶ÐMºÂ c †^ÿäOÎy9*z» ÓÁ"Ùø·*$+,‘A§1â·>¶K ‚êª+@ÉÄ S#‚À`k‹õ Ç žT!I´ÒŠò‹£XuÀL­·JwÆž3 ¹¢D²¦båÉü—®캀´Ø»Á$b&eâþ††«%ÆO½ÐA—'ma+ÆyÜî0†&¸,ä%ÍDb+MblQ”9j0ᇠS‰—æað±e‡ªÇo¸à‚!g$ÈÆ8C1 †y-"F –¤áB3£Õ.’D¢5‘pbIš çBÄià’„"4ÔÈЈ8ƒáy@D(¸ íG<›ÿHȳ°±É ‚Ô=A(SŸíÏñ@Ã#á° Ý Û8ÕŠ,®¶?D(ÂÆ H^xå‡ã⇙wŠ-.Y<òÂ&‘‡CyZ®w-~¼”Pçl|þz8á¼0ûµ„‚øé¸'·z½?2ø&› þ{Äø¨×¤yaÿÑ»,@0‚ù†éô€,,„ä V °Â†°{Ï8! b‹ó¥¯… tµ5vxœý«…‰ÈÃ$ÔB!LÂ7dHDøJ´ b‹+ ‘Š[ü† –¸ÅÅd¨'!ù ÿ,.7ÿÿ H° Áüy:Ȱ¡Ãƒ E!Ñá¡Å‹ý-’#"A‚(1Š4Ø(ˆìPyLЪC£‘#‘…Í;›¨T² òæC™?ZÀ1A”Q °xë铤§*z|ÁJ”(ª” t$]Ú”`Â+Ù|‰Jõ&N•:t(eêÓŸ-1»ÄŽ:µ*Εjy¶]ÄíL½¿c¥’µ{7«Žj\1–D2iÃŽ¿€§ ž×b@Õ”9 WÓûSP†JP?þ+@ªéÝ:q7Ô(V͉!>Jè£}Õ¡ žR\ά™³WOWÔüªm{ƒcÈ¥Ï@XÄö_p»9ÑŽ-°Qºðˆÿoúï®)ìùc¼5f¼›Ù6ZT Aøñ¶q×ËfË_õî.­æ^v+Åç}¿„…xÎá– yOוZæ0 ß"1؇Ÿhõ¤àÒAžŒÁ O@¤PY™cφ´WˆÙ7P‰;ðB]ÐafÄñâ1.Ús»´`ã?%:6užøàã9¹R¶T7_ 2÷Ü_'²Õä8C? Liî\1"I‚ÀÀ\~£Õ£$Sc"°‚™x’&Q¨½ÙP0ØÖn£…)?h8‡Ç +Xq¦,zdðF„y[Šþ„< ©<ùséH™Zg=v †¨+@ÿ"阊¡ª~`r Æ I WÐzѧlZ®!<4ÉÁvõ鑈›kOžÁ,$+l O´M¹êœhuî"ÆB‹ÆÃl$¡u®OÄ’‹0(Rºð¬ÐÜ·ÂZ$.~ø!AþÁn±Þ¾ “«;`..$Qð7y¢K±û:<ÌTJ¸X¬Æù“(36ܯC1ÁÈ%_Ì'oÀI$áÕÀÃË 5’ËÌiTìÇÉ ù(ˆ2ˆ&~¬SÌœDŠÔ‚2CJ2K/°nLC[}4ÒA{BDPÀ#c‹s(¡ÔœõÖÇå’Ø›¸ÿýȽr—íBÁw”¸<óÈ#/lN/Ä­u]8BßàR l¼àù&Ž¿¸b¹Œ<øÑZw'Hµ8¹çƒþ‚ @CD9..(’õÉ2"Y8â:㟿À{SB‡rzÖäBDïãÄ¿ðŒR#Oî×RKÐg!ýâijA„]uGD&{@ôÏÆâ/dA„ éÇœêß¿ÿLð˜Ÿ#Òà‰ÚM®bYëß3þ'@œ*}†{ÿü'¼,øáœšº×¿è9â‚ôIÌüà½ï‰O!òrº÷Õ‚P¡öHè½P‚ÓÝnˆC¹ @aÿÃ!!ù ÿ,-6ÿÿ H° Á‚ü5:Ȱ¡C„þù æí¡Å‹ÿy'GD‚Q:`‰PÐ/TØ¡rõ‘?’.b†Í„M•¨P%¨ƒl!̆:ŒKqÎMìp¢ÒQgœÏŸ ªÒâ†/_Fm"Å™`iµ Oa&´…äÌ®«XáÍŠ4çG DŠõtEŒ¼zx¯ÂIk‚mÛ·:Ly)µJŒIvàÅ+`¯ÚÇZ“ºÕ¡ãÄK‡cßÔ€%±â¼XCùñ'[d· tÜa6*] àáìy1Ú½˜ÙòdÀi©U j-0H¬¿~ᙽ¡óg_|ÝhÑMÐåF‹ZlU™š21¹=ÁÿÀƒ@öìÎê)°íÏ•­]ir5åVƒ QS~9óÄõœAŽ-ž'P#Ýб•}wXfP#ö8 Ë9·/@HP)%pL±öà±QØ™sõ¤Cüp…o ‚hŽ-Äù“Ò¦Ø. \vP#ÃðÒ†õå¤\‚$gçÕ¶K06ÒÀ)TA‡‡F¾ExªQ!m‹m3ÜÃ$FN &ÅÕN"´H%L¢ˆ/=8Ì€’9Y}ˆŠ9$|ó㠘ň╗–¹3ã[ìP!Ç8²h g:~V3+øb¬ÌÚÁA‡Ádê?Hüÿ‡èg»tÓ¬®°:WðÂÍnÔ ª‡×W´„@²<ÜÀ÷“7cp6«§¼€Õ"Àè <– ”=5l`eBÁHÉ»3$ûS‹ˆ˜(^Ìøx`ðˆ²B$ch+Vž]‹×6<ܪ $¢D²A Œbä‰ç&Š 4L@ù@Ig*BĈv1F:~¤ŠAôã0“ô8¯=cˆ‘..$¡²JqbòÂäÏ„ .:+²2‹£rÚ…=âþHDÑi í‡ÒÁÚØ$BO]µ )û±tCž¬O$²‰ªEL}t:×2vC@L8„Ì¢1anãÿœ„"rG݈FÌòÀ IDF§¡³µ¤¬FàòÌ „ã‡âµJ9§ÀÜQADϰñÂ&°9aEãœr-£‡•Ð7(’Å#¬¾I8®s~ ¸È~uä>QŠ"ް¡ú ¾¯ˆðŸ³"Ø×²yPÄàHó¼Cýï›þP#xI|JÞïHïâo²É#Š@}õŽÏN»"~À3²ð=6ôŽ~/p.±¿¥/nµ ]˜Î ‚´ ‚>°.‚Ï /È»@!Pé<Á¸p€Y0à#‘?W¥pxW[ŸŸÑ<6d! ¼áƒ<&à? ð{µÐ`ÙFÄZ¬¯‚ÏH —x‘¶eÏ…r ¢Ï—»ú6Ü"fˆ \|#ŒbÄŒ ´(Æ€!ù ÿ,+6ÿÿ H° Áƒ\Ȱ!ÁFÆñ â°bEˆã|ª“€„'‹ Fôá…Š T¨Ôa 0¤CŒÌZÐ1Á®&Ê”`:¸\“× 8@MÐd‡Šh‚|üíˆɘ]¾Àñ%´êÉ›:ê j â$1ºÔ‹ê«lP8V‰¢Ò‘ ÈÇ‹®¼‰1iÇŽzwÇN´ªÚ:t ãjÐ+’J  @Ù°!ïX_@!óÊîêQ*-’®ÒŒ_ðlXl·žif!Ï‹"›_”—Q¼-¸ˆShty%Œ“6ì¸z5ëÑ­IO&˜« ¡A¹ÌV… µ;vh Ǩѣ5oæ¼Ã€'Áo3Hîë0[‡#í*l]ƒžÔ ÀCÚoåµmÝλÁ+Å€¸LuÜAä1Ø Ò¥7èf[t×¼ÖW‚tðgk¦×Ø:PØ%èÉÙh(¥¡®Ç:E›oÃ{z­4§ìE‡áÿ¦x‡˜E$lt…ŽMÞuðñgHŒè×n[ q;ͯ:|çQøIwUŽ­×Í(VA¶ÔÝikñ²œC@p÷X*yôe•]µK zÔÀLV‰ÿØŠij±ÕÂ…yƒ ŠÞUCã?þp"`;ìb‹>ÇR9Õ ‹.RXÏZì¡qêðYAžxãtõìb GþØÑUŠu Rb#ö€¢›eW1CD¶$¥Ø\$¼Éœ–ÒqIÝ—ýyÁ™ظC¢GÝäd›D„&,Âù“hhº•÷d=€×ß‘À3L¢> “§¥‚úO#ÁDI Rä •’ÿÊËSýM³<Á˜*P#”X]ă=-éÉ ²´;È3†oq„"tÄ4LÂ'˜UXb ..$á‚~TÛR<+ ðG«>1Áià’D~PËRýàÑŶc¹J(ò’«ºžú0£k#þânŠøA0K¼x†¦ýN° áÖ;qG=þ僩 ÿJÇŠÔ2AÁ5ñoôÖ«2Ëÿx²@$PŒÜï¿×ÀÇ5ÂÃð Ãn#;\s-Cì’ñÌâÈ7ý¦‘Æ¸Š¤\ Ñ5„Dà¢È3/l²‰¹ë±u¸]×r³Ob“í‚"8òÈ i‡ÉS@.Y£,wÔ=Á¸y³ÁÆ#{§½I8á¸ÀPŠÝ~Ô’…#œ+Î7ßj«ýw¿¸P^yÊYdñ ç3ºã yÌ‚À3ªož…â{7žöï<#H¿ôÆ õ3¤¾9z»þù l0vêÅLyØ#¿º#‹/Þ»#C㉤,1\oÜØß¾9÷p~z8+:Aæ^ߎ;çÏH,~õ=!D„×µ@ö’@„ýõ¯%ÿ“›"ÒP@Oį0@(raÀZðTdI@!ù ÿ, (3ÿÿ H° Áƒ5BȰaA…¼wâÊB‡ÿ5òç)q²äx!ÂU ž2>„èÇ•)ZÌ›GÇ;v&P%HPF…¿]ù1L̘]»|)õN›¨¢&Ðqâ"A–Á~dSiÒ¤ ;ê‰]Úމ³7ÙIMPÄê@Oé*ú…§.°;Âúª§S³fÑªÝ &eAOèÔµ»¯Ø±Lÿ~ª•Žž½ùE ( ÁŽ­ç·lÙ³g£Z¦êV ­Š;æ»Ô×<_7xýÑcÂìà© ôäL±çÏ¢ù-…+<‚tðgI°TwleÎðëø]Ñ) /ÿê Ð­­y6+OemÐ(»¡ÃÊj}xÚµ:‚ôãóç»a ÜAÈ‚Ú`:`çÓCxç/8dKM•­vGUýðhyÕ³‹v ybT:%˜Ç€®Ma‰Õ}W˜šNSÝáÍ~üçØ¼ h"t¤µS ^Õ h,vxˆ }S‰;±W- Ä×b=/†8€oªM…Ò~1XùX 5Ò€oêñTä@4ˆW^a-éÐ"OÞD£”QÙœÍb ÖÑX˜{òYO >^5L`6™pŒäDøÐ0IzÃ"ÑÂ6¼xöCž(t-“ì Z‹¾ŒãP#žxÒ3+dÿÉgì(VÃÀ˜Ù+¤£«@ž„‘—<Û  š$áJ,1M¢lþ€D–¸àB~ø¡¬JžLó “@Äiàbm¶IüúÐðøðk#LJ¹¸`«í²*Ù# ™Á+/.æb«ˆøfÔ0]€ûP¼ó^+ð¶*ùcŲff@(¡œ„"CK .Pðk1Æi\›m-µx<ê$]¬yÕÅÛËqÊ*Å0Â;¯¹Ùú@*ïú‹È/§Q²½(Ó\3¼K8“¨Îs¬ÊAå‰ ¶ñ@ dKÉ.ø15ÊŠ XÞÕâNv-Y<òÂ&¹ d@É=£@Ê¡=îÚ8µÂÆ#l¼ ø&áÐ7<Ï\KŠü+v-Ï8"9”¿àöÛ„`øA˜<öâw?óLYH>ùß—cNxáÙâyÒ?“.zé“»:æáä¾y{û úè³×þÈ훨¾É#DÀhÀÆŸÇN:í”/¸ílD|CžÜ~Ô2³ó‘û=<åŽàBöÚ‹Š‘bOýsð—þŒ"瓾ºM6_‹¸dßyøSÉ7\ ÿ°f,U!ù ÿ, %1ÿÿ H° Á‚&ô×è C‚ ùóä ˆ· ãÚ “eG±h Fœhq+? K‘—=tš˜ b‚+T ˆù#$Ø >À@£†¼I]ê%õÅŽ/8&¢²›Š §OU™ñ OWLh'-à‡a¡³Øq;ü±ÓC¸câoÚeõÆŠÖÃËv5ÒMMm¥‡ ƒã^7A_#m¬åV‚JöŠgÇÕsƒ=Úrà“¿ÙBP“Ä&Û.mˆXPMÀAUz— äI%T’µWfDbTnU¦Ú@žxà„{AP'ŸX7X­¼øO#hèUÖ^-ðxP#²XwD¹C•õlÃŒÝfÂ}p`CBãhŽ»ð÷7ÃTÿ t?pCÙ"Ï]tqcŒ–'Ð7xYP– £‹%G$áÇ´hPV XDLJ¸$!­"ÕZK? #bx ®¸Óæb.DB ±.¡|›† ~(âƒöø†’þÃn(¸¸ p¿ÿìc JÐÁß&Áo¿ÏÛ_ Qbæn¸ã0Ãb ,fùî+m¿µd¬1kj”9q¾ OÛ¯È$ä:tÎ n¸,à²ÆÝ¹h'Â.Œ«H-8¿¼haHêI( ³\KË9#ÄC%Ÿºùî´Š(@-#‹¤EòÍ7‘ƳF5ØW3MEj/b@.ݪ¼´#l<òÈ ®²rØK€'žÅã€.ø /lbù&庮¿K_À3gñŒ#¤G8å”_¾I8òòÙ8ÓL+:ä¥KŽ:åáXž;vò›¸çÏ|žélþ/ ^y깇úI »â¢;’…ä‚+û&ËsŸ9k.t{ð£8èïHðµˆKk1¡'IÔ­øýc3ŽK(Dð ð„DŒå©¥á}þû_#’5%ÄiÖ !ù ÿ, "/ÿÿ5H ¿ƒ6:詡Çž öá‹hÐÀ@'†c1Ùþ„üëE /(Q2&ÚBt¿bþÂ¥æ†8ëÕÛå«§/8pLeGÔU‚' ù…M›9uÖóù3¨PìPi=š´Ñ¦Pžn¸¹cj=?«½šu«Ž®_Ö„2¶¬ÔªjMXźéÀNÓµ{Ö'мlÝš˜®)ͺewíºA¹ò<Êóè\í«c±×§qòº2nÜ¢EAR£^d«E⣢¡é´n½?þþéÞÍÛߟ¡œ=Ï›3[nÞÈ}Íš@GìFéj>Þ 7òäv°E…짃«ÿ¿®ÛŸœÍ°Ÿ£™{SçŽlÉ—wœ»sáìq–µ.ÿŸr¾ö©7]TðõçßoÂfŠ?¼±Á`„ñ'_#¶ÕœÄ08 ]dÙÅ‹'þgas6’„„}h`#vÕ–}Eh8V‡:µb#*ê À@Ðèáê˜`s­ÈH£Nzt°¢‘Gj £~Q©ˆ#9VHÌ@ÝÈÓÅ—`v‘ä5ÂLz´€š(EÁ UX"gGAÃd^×@tà‰Ÿzbƒ¹J¸¸à‚Œæi o,2„J¢Idꇣê)¡•â‚)£›vZfPiŠ2ªH©¦"ÿ׈=`©¨š2 D¬²ŽSk‡º©"ÄîÊënøÚˆ­—.Êh-{¬@Ê«Âú¡H-µH{l²¿"š„«ÐzË+¸ä‚¨°¯ní´žV›è¢ÄnÛ-¼Ñš.«¤Ë­¹±6D­­jËmݤð {Ch¶Ü\ ¹`@ÅçR(w<¥Ô:®Á#@Ï œÅÊY8â20³ñÈ /<∸êïÉ'¯üÌ3. ó#lÐüÂ&Goòˆ“9û[rÏYàHË/Ï<³Ñ›dÎ »æ\ËÎ<§¼²#l8òÈÙ5MsÖY?Òõ¶ö¦ü3Õd}öÕk'­5×ÿ-`/Ê'ÿtÝC[}õÌHÓÌÆ®@xL„Å?nÀãcùå˜_.Hñ„o!ù ÿ, %0ÿÿ lä¯`£ƒ*\Ȱ¡CBÔ ƒÁ-C†*Wxð"HO&t¨Ð“³_(áÂrÒŽIgÎ`à•MŒ;r²ºµ‰vÅ^ =5Z„+YnذcG½§õ|I• T²ŠaŒ½¡íÍ@Šgå(MBꫪ‰·ìL°C…*AD ýPYVéRµO©¶­ ç­ TsëÖ’· ß¾P6@JÎà·…Ù%®kŽñÀteû2m•rÛÁ„ãÊ›  ý¡Kj¶é™Ù²ñÚ!ÂyÀ ÃMœ@‡)°ÿü©"ši=rýyDТq¹ÚTi2¼nñÈ‹&ÿ¬öò†€`3L·µ@ȃ€bÎ’ô®q$Úºª¹½Ž;x)dÏ|J©µ‹=ù…uÕaÞýçMcã‘VOž‘ÔHݧƒ 6 Kä©ÅK 6B\þéðZ^h˜V=À–Ÿ?¬Ö EȘœK9ç5äoÑU—Æ!×A !Öã” ÉzÈ…˜{ï$5ü%a=mH¹P ²VÜã4bËPöL⥓õ˜à?ˆðWבÍA?05šZ7Râ™Y‡ÞtsP¦G…5" Šþ™ã‰-Šz¸C£OµàI‰>g¦kž´1ÌAÜð‚Á]tQ«ˆÿÛÝyÇG# 0CФaIº¡‰–Ⱥ¥e¶—À þÃÍA¼öŠKIøá.ÆþÓˆ=?TÁLî¸ÃÅ=Wø3@±þʺ¸¸PíµÙ$Aþ¤·MÐNJíZ«¶s&Ħ»o»îú¡Hñ&ˆÈ6‚6¢ï¾.$ oÀþ0Ƨ¯›FŠ(âBöáÇú~\mŠÔâÉ‘:;T#ìZÜr0£÷G3K;­¿µÔ¢#Æ y’ ¾ÚN€°Â~Ô€ÐD7D%)í‚¿!×¢ÈÐQÓyÆ"QÌ´ÖAçÌÐ8xFóÕ ·ÀÓ\}aŸj È-;í Ø4o‰ä ÍÖ*´Óµ$Q1.ëN@D.`KG|äw³ÏVuÐ<ÓyY|îHÏ”þvŠŽK¡ˆQlØM#~ºç¡?“…#¸;ÂÆî»?òÈ /lüWä5A˱›þù3£çÞûïÀC/ü&O vÞNÏ~;îlèîûïпI8ä‡Ã AöÛ¥“žû÷l|¼øÁob8FÔ-'‚|¹º¸˜–"žöŒîy/|ó³ßø ðý¡g^BñDÑ¿oA]¡Hç¼÷‚—uÍBó"ˆ'$èÀ€!ù ÿ, '2ÿÿ øÏ“§F *\ȰáÀFº*ÁHWåÊ" :ܸHŒ_ð ªF 1Ü*^ÌØˆcC3BâÁ¥æ† ;vté²W ?®Áˆ°åÆF鄬 åfÎõ¢ÖóEÕ×yzZ¸³Ó† þŒô§$”™MJZÕ8&â²£BEÄ1b|ü)üæ`&Ú›8×R…ãö-\¹ìعJ€˜'‚ªø¥éj=lߎË91*TŒ£‰ý×èZ¦9wÕÛÕ–°á·&ØÅFÅtD Ô I9°»q?¤È!¼y†9ÏNºZ…ö@µ uW›¢üÄ£M†`/ÿO ÃÔèFü¦…HâöèÈýÌXƒÑd™BÉuÀc‡È‚hä©àAAÔ@eõø0ÚBþ 0`} èõPú=µÃ öpäMó¦ƒ'œÇM8Y¦Çsþ0!ywàFP14õÔeõó B"y:¤Ââ@ÑÆ`=×mÔóÕWÞyÃl°ßõÜGñÅV*#ê~j¤•eþ%àlêp‡7%„<;ˆiY;ŽõÇ‹:T(7@4òÃ$qòÕ.2:ˆ&|–f‰¤ ÕbÖcY{Gµ!ß–"Æ(?î,â%܈1Æ]X掅ïù0_mä™s ¼ ÿÒÈÁ„‚KGÄ#:ÁÔ9P-àiŠ^´ÑE.þL0A(iÜšDŠá«@¶È§%}:ˆF9;\1ë²Íº„~H»‘7ܤЂtÙÆfA€bO²¡ØŠ‹¸~D;-iÙy"È"Wü,Ú²K }.‹Ë½ã’;Á¾ a×f;¨á ½Ìº€¯"»´‘?l` BõÚ*.´Š„1G@l³A‡þÔ«qÊԂËÊÙ³K%î5Âì½äæ[‹ 8¿Ç--Å.ÍíqCž °A-ùÌ0¹5póÓ !rC ‚´9ÐB×2tÑ·QÅmÚ m¾5ÛŒ6ìð†Q>»€uÖZÏÿM¼üP(4Ç@EqMäÎ’ÊÞf×€¡äb€ D%  ýPXGÀ3£“^‹Ià —g®Ñ?þd³Áb5‚KÜ’0zYdñÌ3Y8âHï¤+â‡ê–cîIg€ YŠDoöî£÷¼ð³ñÚ³!ü3Š$¡Kü×fµH_zé½;â½#Û?"ÿ ô¿°Éý/RÃÝmî¤ö¸Ç=ùͯ~ö»_8áD¬žÂ7ˆ@rñNx4 ëw¿M„cÎÒ{ŠÁ >NYàÞØÁM¤ÃoüBH ‰ð¸À…(Õ  „Šx†# ÞÅçaç !ù ÿ, *4ÿÿ H°‘ÁF*\Èpa#K0ÒýÔÁ`Ëv¨„àž5>üàä`Æ“ý˜ÑK<@ÉÃíOQ2ô(x @Ù@tdž]ÎŒIq%HÉœ:ÿñ`ùRhÑõ²fõµëF„ ®ñõb£ªZ=ªµž¯·oáø‚C§ ;MŸ6 âàeСXÛºׄaÃìLˆ8%Z„ eú÷jVpáÈÕ ç0bv¨P%¨ƒ2Á.…®§4Â._˜ k61Û;Тó¤P%(Õ€wì’ÕÈaî"ÜØÌ9±íТuD3=Ð:µ;°F’Ò  mRðÿÒÓù0î ªuXÈã·êìYÉùsبƒ rŸC£×q‚zJ4ª±U7Øã_Bžpa^n ¨àÍBAp”eõüÁÛEöÐaÛy è€Â|‘e°|õìÒÆùcbúuxGi uÃPdX=-¬w‘7MlÚ~y\XЀ Xâ‰fɲà~:0p`u|èFxatêŠ2½ýpÕõ4€â@´¡áy:´‰Ìž„1%VðÝÀÝE n¨_›X€©=]Ìy#g¦t…†Ï1Ù_o`Ð|X °Ë8…þ“ ·µ¨Ã¢éAT‘ÁaœßB2”ás{ê` ˆyÿ#‹ADLJ¸øO:èüPi#ä—Û‹¦5" ¡Ôz« I$á‡"¹TêM,榃©v  N®Íúá…»`tÒÍ.Ü&k+.¸0+n´ IöGtp¨Až °A»¶†¯ â*BîEþø#Èqî4AE‹dÏ ˆj(Ë{pTÿø7mLß´ìm¼Î>[ËgÔHõ@ñÁ|É⪱͡䌥$ó€P²‹ëG-àÌrdmÔ³2ͬ³Š@-õÔùóÉU@¦5×µ¤‹Ñ ٳ˕\™C+ÒuI°í9=¿ÿQìÛÔ.è­P×pçÜwvEƒÝ²,=‹kË¡œöã.DE†k»(JD„ÝŽ×òLƒ×’D(¹|óÔ¯ÝôŒud þx«gá;ïøK(žãôd $ûÙéµÜÍúêÏd½#Ô;"}-~À.ûA¬ …©Î:ô¬à{Õ;ÂÆúë;¼ D d£è D$Q¾ô¾[ß>ûà ñ‚¾À}rŠ[½ b"<íêsDHApTü†’ƒ‚™ShÁ bƒÎpÀâ¢r |ãta 1Žpl ?“\Aá ä¯ØÄ '6aÃ.€^:ìA|80˜Eø’HObµXOb’†!ù ÿ, +5ÿÿ HP`£ƒ*\Ȱ  7?€ lH±¢Á 3~qúq¢Å-r€ž’5Ä“èdCOjJâ2ŠMyhª\aéra£3dÎÜeÆG»`H±²eOAÎLÒ´YôèŽzX±úÚ–b§ÓŠÞ˜”Zõh½«Y}©U‚×FÙªAÖæ´Yë X«Ž_8Øä¼…»ÐººV³îÝëëocpLHfGåXY :&øÔÔ¢wwè©â._8ýJžÌ®5ªuøl((ÆÌ¡°ÞhsPЕҨÿªŽìÕk Þfÿ KÕ¦Ùz)ü…lä»têÕ&Ø­™r‘tíâÿ`KùrêWRÌîýu¦š¸ž¯æ9Á¶Úx‚:ÔáÆw?LRUhXñEþ4€š"C18‡`=»å’=td×Þ:¨ÄwH€v—bîLÈ'\x¡Ý}·H V…¶ƒÛ,BQ#ÝtXˆyÄWa5âUO*.$È-.r§ÃÔH“ u"Z-,Ø?>Lö¢&$ÈV^…–/¼5Ô‡M∠€„Ûœu•õ@¤Bžüᥓ1*´ÈXò†g\Ež†õØ&ŒX(³Ð7„¦‹ ~¤ƒ3Œ ´d›ÞˆypÙ2A(¡à’¦~Ñ)—Ä}ÿc˜ù3Ž?”†b©ª~ø‘ £kv˜„ `‘œ”öd㉧âri½ºÊ?~²æd4æõ9Fß ê,«ŠüÊPäD@Çï ÉY7õŒá‰-¨¦áBж l#@´‘BÚ%pÇ8æ ¢Ç1p‹ª ˜&¡ˆ"Òîˆïû’°ç?\"U‰'‚àbi½ŠÔâB§Râ+²7ìE ïÊq÷TØH2 u—²ê‡"$r\ÝøB”žüó¼Ðv\KÎ;W$°ÉPˆ›±ÍFëìr­>œÅAÿ#ȼ½.|tËSdOÉpâ m\ýuÒ+þQÏxÌ<Ð7½Þ\ËÝ„¶B ÿ³‹É@$H×j³,ˆf{Ó60 \1Ûàµt@-Ï0y¡€øG\ZýÆž@ø¹ÑTþLYÔ‚¹æ_q6¶É5œ]P¢/lyå¥gñÌ3Ž8’sð$ßoËœ-.’›~ûîYôî|Šà’Ëæþ Eà|AD–çÞ|óÎ÷ÎÆø¾'AÄ"ø³´Mâ2tßáøŽ°Qÿ#ø?ò‚þùgyoƒ7&æ>|AYò·¿8Лp Lf¶©½µ¸ß7ŽMxÐ4‘[ØÎ# ²aƒ/ð ñ<`o„ÓÑ^¸ÂòÃíƒaÈ:PÂüH¨±dCf @€‡%”Ü]4Y²Ñ•x ä„Š<4mHÒ„Øè[¥_x’îÜÀtdž.FÎZ°C ¥I¡0ݰ£k½¯]¶¥¸"”ê?”3vöÔêõ«[_¾vñ";µfP:—vmëV€/¿¾àøŠàîJ‡…Ùª‘3+×në ¨7p`8˜á˜ Ã…ABăÄÈ«õq½URl«lù²fÍ&ØQÁÅ^]‚þ>¨m ¹E…‚®ü¹!83lÈÙ)G%" "ÐQâ- ùë6 uø‘"‚kÌÉÙ¡ÿB• ÁdÐÿÙœÎû«¯nþ*Ò&Û<äøÅ/">ÁF¢mÀÓcÕ à Q@0Ûrûé@ÌUÆ[uõ ðFx‘Ÿxå%€Å…¸e0É„nÝ`FþÈBGrû•wÇs‰8au¾È’ž|ÝСÜrÞÑŸA¶ÈãÔ^‘1ãßCÞÂ"y è GÄ\XÏ´àMFÞh‡Mê€É–Y2Æ^Ö£ˆùÁ’ä9©›52A`Ð…¾`‡¢Š_Žç¤çݨÞ„âÂaœQÏ.²DÙP#öèÈ`˜:ü8)¢¡¤áBñ¨Á¤òu©ÙxL:©©uJ§.¸ÿà‡¡JPÀ懶Ú).¸$‘­½ž%Kx-z"’‰zú©"ФÑk#*j¦_œ>ÚªB‰**ì¬Ò>´Háqè$”5â 9žØù뷊ࢭ-¼Ü§_y:`AfCž 0Æa8;,´ò" wظÂd5tâ&Ë.g$D°ŸÎZKŪç}z°sG4Úv³Ëò$4.Ÿ\‹"×yp¬ª„õlPƒÄ('¡ˆŠÀ2M·$H 5¿dr°òáIîV‘”ËàAAÄ3ê£ÿÂþé+bIáV™ÁŠt³æ„‚ üÛÄ ¨ÀHL'x Ѥ„&pÌ„vH"Á ¤9I@à&Â1ÂL€¢$  ?(ˆ$<ƒ›(~‘e­P*‚¨Å#Âtð† Êá t¡B &E¬H@;traitsui-7.2.1/traitsui/examples/demo/Extras/images/e-logo-rev.png0000644000076500000240000000751114046644454025616 0ustar aayresstaff00000000000000‰PNG  IHDRoi»þê*sRGB®Îé pHYs  šœtIMEØ“ïLÛIDATxÚí]ktTÕÙ>ûzÎ\$Üm ¬€ ‰È¥!TDŠˆ j‘V|_CèWp­Š¡hµ ¢PµTº´•›\"ÍÍBÉ$$”6a’IfÎ9ûûqfB¸%™™=“ ýƒµ²Bæìyæ}ÞÛÞÏ; vØo„Ðâ´`‚š!4Ch†VÍv[¸ƒì“1¦2¦ Œ€!ÛôH¥G”iÝêygò×þöÅ):QVd»ª8Sƒm«¨sQAŒ£j2àô§’ß~ýÙ~ÑÝAH3ûÑqÕÕUÅÿ:€÷?!4[a6SRö—u ÇŽÔü7¢H'Ž1"¡_Qqéåÿâ!šŒ©JbBôæwÍx$IÉ-ÿSï^QO>þAòO~ߨ( ‚ ÚÛHAPU–Œ)=»…­úý“£û·ñOjjm+þðþöÇ– ¤ v$~°Ø¦æ"3¦¼ñê3½zviûJnâ[­*.\vÛ(ü/E“1U`ÊÜYcÖ¿¾ í&y3ñg¦>Ð=Êx$÷;G£S@»¿]ÑdŒ1åÁ±ñYûüÓoç"Û¾Å÷ýX²½¾6ÿÛÓn8ñÛÍo2¦ ˆí¶,cú¨ÄÜ_¼¸äÜŠU?y" "ºcÑdL5HfFjÚÔÑ~}ÐÖÏö½œýQ½]€HÀ™”錩ŒÉ/¤OxcÕü¡ƒûùûq'~ lÓ•_´ Å£Íe•W\ÌÈ|»ñ¡ €Š&cLM½hÁd¸È¶¯î9¶òÕ-Õ—ê $þ ¾™Î˜Ú³›9ó¥iË—>x“¼aÅôë•6í>‚Ô#¹E‚ ¹ß_h2¦šŒ$}î¸ì•¿àâ"çä®ßða\lß°0³×/"‰ôÞ‘ƒÒ¦Ž.*:UQyÙ•éÀ‹ø~`:oYf­xuõú?ù b)<Ìœ>ÆÒ—æ'ñù¢ér‘Y‹gÄèãûËÕÔÔ¾µá¯6n««g˜šÑ€˜êìeøSö‹£ïMðõõkm›>ØñÞæýuv" òSnhj ‹ÌŒé’‡ryÁ_îÍüÝšÊêLM˜š01@$™ª(²]vÚÆüòòçúôîî{Ä_ñÊ{#¬ƒˆ¼&>4µl|îcýì.8~ÿÛåÙÇrK05bjÂÔˆ°Þm;€1•©²¢4*Î:½¤ÎŸ3yÉKó|è‘ÜÂÅËÞ©ºT\©> 8šn™µd¦Ù¤çBíÿ]¶jë§»]8#&ú[ù5ÆTEUŠl—uÝ#u\ˆ/Âkþø½¿í¯kð’ø^Çô6õt=Zo­ÿ`ÎÓ‹¿-,£R'*EP1#¼EQ€ ˆDÔfsnýlOYYYÒ¨!’$ú²‡{Gš2y„ÕZ~æ\p·õÛN|olÓ‹žn«ÙϯýîBu-Ñ\$5¶½õ˘ÂTY‘gNR^\8óÙgåFü‹õ{@|Ñ4Å…¿œ0ov2­ÖŠç^È:j)ÆÔD¨"z©‡M øEn¶þ1]Wf¥Nâ@üwßÿǛ뿨k ÛB|™ÞÐÐð«ùcÂÃÂ!>ºÈ×ßÜ8çéÿ©ºT'J©Ô‰ˆaZà†xØèubˆèOWê¶~º»¬Ìê;ñ‡ÝÓöcÉùù%ª®ÀÖÐdLõ<½bj™µ|ïׇΜýÁë]nÞ²}ðð”5olu]%}Õu!b'ìÜ^f'BDÑ1Œêºüý˼÷Í-,>í£ynØ¸í»¢ïÝÇ÷¬ed°çNSÁét~WX\f-–pO¸'¥ÞáœÜÌå,9UŽ©I2˜1`¬ÓxÄ¥d  ,Œ»úåù½{Eúäͽ¢êR•"¨¤Z GÌ 4›¯ÿÔÔîûúPL¿èøq­¿©@ÄÔ$é#15! G®}\.-ý2kEfVö®=G15Q©¡&­phõáî!9ûCeÕÅá CºvéÜj(ê# 5#¢GXò:In¡ˆÈÌHó±¥ÿJöZm«®œÚžÏó¹ÕU__(çhî݆' ¹ÁH›ˆ¢Á„‰ûÁ7cªÉHçκÞì})"´D­òb-¦&Ñ`ÆÄài­ÉóŽ\eUõ®Ý?ň‹éí*³²YJ05ŠúÈë DÈË ¹ô«šS[ÔGabDÄ›­r¾q¨E§ÊªêÃ9–Õ¯m"4LÔwÅÔt›ÑG‹Túúدr{¡OêìÞPÛ¿hjëò?:}•"ˆްžïi ¯bì:/¤7yAí@ ©eKˆÖ#$òt‘’™13mj’ï5Ø1K ¦&Ž^Èw‹€ !æ%¯PSSSûÖ†³×lr{sž^¨#ÜÔæw4ÒDmQI¨ S#ß3aì@ò57Q; S#Â:į v4y…¿R» É+Ô€ÚA&¯P0j/šŒ)©)Ã-ø¹¡&ÔZ4ÙS³Æ.[<£cQ;XÑdÂ{›÷^¾ô±ñ}; µoXA£e‚`n^éÄÔ¥ËW®«©¹êµ_É^7$ñKþ9Q)ê#E]¡&„u€SíÐÑÐa‰Póû[Ž;ï£m;ÛHíû’[óÆfQ)é£D}W"†#b€ˆ^™D:K „;5:õK²6¦>žÑÂÁŽÕZ‘2õ©¹Ïd^üÑ!j8J01ºØ-´ƒj(ÈT«ˆ!–05Q)"¯ jâÔŒå+ÖÞ@üà¡vp£Ùd¤ˆ"¢'4LÔuyÿ£C͉¿cç¾à¡v‡©,@A1„´Ñi_’µqÛöýLq|s4b©½¢vGîz†ˆ!¢ùUªâ Ý!¢KIÈ裸‹øQD”1E3[÷¹1ª­v”I $0¦ýœ›ì0h6øFŒûÂLëÒâÐÌ™–€dªœš’°nõuËž?SScw\L÷G¨aʃcf-Nó]yç/4u:‘© c c P°¥ÙM1›¯8Ù_h>4~´ÁhÞ½¿Äf· ‚l% &N^˜>‰ïü?2=iÔÝC‡ÄÈ)Î9vÞ!Ëœïújæ>‘ìû±h ý¦N'N~(aݘ¯öä}WÕΠx+ïÚ' uŽ0?1sLâÐ _í/>_nƒH Ø!â ÙxöÊ9½zøqè@àbzlLÏØ˜ž¹ÇOíþú_µ6ôAêc6~çt=F&ö™Øמüœcç2ò\¶æ±‹ärÇh‚3ç.Æôòå©“Jx`ÌÀ¿ÿãx^_œ©–¿>‘_¨mqKžk€™jÉ+-++ÿYŸ.z½äõîÁwì3°TUõå+ÿ¶q±áܹ~Mú„ä¡\ÄÉ_î:pð›BÍI¶äš€" Dôß5 ûæ«Jc¯ž‘„øTÅêubdãÐ!ƒ¸PûÅ%+³~ÿfõ¥z*EP]½6Rû2;Ú/uzÓ] ÂâÞg,'ÎNdÔ=Câ„ö^n1¿ê8ö´ü8‚D,ïd©ÕZ}W”/Ñ)~€÷ŸÇŽ/÷¦Íz~÷¾ã*0P]g*…Ý[{ÐÏs‹]ÄÇb„è¥ëŽæ76ÖÇÅö $š…ß?½`éÚõ[í˜JTìDD“ËKÂŽ¦ t ‰"Û÷(µœ(}òñqq±wùûÑZøÎ¦O11ІÈfƒéüÒZ XSXk71E›½~í;{âûGþbö½NòÓ#Ý"kæ"ý« è„r@×4½Ë—m‡rN"¨öîÁ—é‡sr§L›ÿùΌڀ?íVh¿?ÝÝnõ²ãêÄñw'?0lÛ¶¯Žä`bÀÔìõ´·ÿF4]2UUœªÒ ;lŠlgL bðkx'øÍÛ„§&µ%QU#c*€Bð{awš×E|ÈDíǶ¡Bh¶ìZ±–-„fÍš¡åÙúߣÚ/Ùw¿IEND®B`‚traitsui-7.2.1/traitsui/examples/demo/Extras/images/logo_48x48.gif0000644000076500000240000011516614046644454025450 0ustar aayresstaff00000000000000GIF89a00‡Qi’*ж\™·Ëèlnqd½èÍÎÐ!l/£×[®Ö°Á]€“;y˜x¢··ÊÒxˆ“@’¹Òèíµº¾¯Ùí\¬Ñ¦²@†¨E©Ø?¢Ð&}¥èêëW“¯~¼×z­Å‘ÃÙ;bvÓót›®¯ìý ¶Álž·-—ÉP•·§©¬yÆësuwÑøþN…žG²æ”àü^|s¶Ù/r’[Œ£<Ÿx±Í'«[£ÈR­×ÂÜèj“§ÒÚÝ2ªàÀÁÃA›Æâå燜¨‘ž§…Õ÷\¸ç‡§¸¢¥¨s•§ ÀΑºÍoªÆ6˜ÅÁÉÍèûþžÙðsƒ,c}¿êó5¶³åø„µÍ%yŸ°ÂÌMŒ«i±ÖT¢Æ…Éëb¡ÀZs‚EšÁJy0…­@pˆ®±´iƒ“¡ÌÚ[½î>‹°Q†¿ÜÊîúl¥Âj™°S±Ý2šÉcœ¹yªÂG“¸Ýàâ;«ßž £n°Ï—³Á‰‘G®Ýœ©²ÞúþdޤÏÖÙ%uš8¥ØÜù{®‡£±ÄÒÙûûû,Yp©áõLiz£ÅÕjw€nÅï{~ƒ…‡¶ÐÛ¢ÐæJ‚žÜòùOo˜šƒ–£>hYv"g‡4}ž€ºÙ/yœÁåôzÏõÂ÷þm¿ç‡®Á+’Álqv?}š¶áððñò,i†ZzŒ£ãû|¾àS¶è³µ·žºÉ.œÏœßýS¨Ð†Ò÷’ÑêZ‡xœxz|ÌÞä‹àý‘ÇâÌÒÖ«®±ÂÇÊ¢®ÂîüN’±*޼&r–]²ÛDy”´¾Ã·Üëd­ÏH¤Ï`”­˜Óð#`|DŸàîð¨À˘¼Ík·ÝL€™iŠœˆ’š5`uoËöˆŠ¶Øâ Öëgºå;¯å˜Ëäz–¦~ƒ˜Ýø§êüÖÝàרÙUo“•—0§Ýz¦»ª·Bcv¸ìû¨¹Âo£»Rš¼wËóM‡£vºÞ/v–XŽªzµÐ(…°c¥È¿ä탪½ÂÍÓòöö§Úñ3g3’¾·Å̇Îï1‰²dÂñ„ÃãÒîø4žÏ¯¹ÃÞãk}‰Ltˆ1¤Z¾"r—!ÿ NETSCAPE2.0!ù ÿ,00ÿÿ H° Áƒ*\Ȱ¡Ã‡#6ü³áÄ‹ÿx²ÀbW;Œ ÿàY…+O9n,‚„øG ybæF¢âʆíð)’9ECOJ¿ð¨¼‰°Jy¦$í©¡º¸Ù$Jð>””NaZÃ)º¯ó(J´å¸¬[›zýúU€[( |ÅØ.Ö¸­[½ŽÉ´ Š€[€à Gå#ÈvÜ$õœÒ€BÛ=°uKSeMšL˜H²M®Ä?ˆ)iPë5œ•VÀ«l”fS¦zk7Wák9ø‘n;ÄsÕYkàenm*)=H¬Õ>زJ×çNáÎè\kâ ²£ÚÐͯÑÏ¿¶ÿ)œ°Ý‚$®³'ЦMÁi‡¸9g‹.wæžä¨­^Û›8®,‡È’CŽ­q_FÖôƒ]v;@s„'"t)_ ðƒ9ÜІÐmd<¨M„GL÷P,¢@>”W ü­7b~˜øÐ_È¢"-ÔŽI´Ö4i¼wÑ…ÂÁ"ƒëì§^ž£H8¢ $nÔRˆÅ7¢„6JT¥’\£¥j)ã F„)¦Žp4€™Uùà@Ùxƒ‘ÌUXвÄ)'IŽÚTÀ'ƒ$ø9ÐVÆÉ ¡Zú°À„¶Î/ntÍŠ j›Ÿí”bK œv'h6s&Ç<£ÝÿÑiA×Ä™M6e:Êœ™Àê“ ³tM¨· Ë5ºV¥C8èŒ6…0ß$뱬N´ìS[ ³àB|À¸ÌŒ‹² ý8F³>Ýñ-C ñ '3ô2“ÍSôã-ÍNAIÙ~æbð!ÌÀqÀ\·m3O >ýìD<0ÍÅ3ó…o·1 ñ,°3±C¡pH+­ÒÊ!ÌÒN;ñØÂíм{Ó³dƒ² ¶;â訸á‹,pÔžwà©t;¤aD; õ÷( Ö“|I˜@ž};@cÅ~õÇ(tFP;ñ¡Æx÷%¸ „<¢ˆQX~òÕP‹6BÄ€Iœ))*È C c6<þÓÎô™"Ý}úIX²ÀÑH#Ì$©ä|š7äE‡•Yô[L¥Hé‰ye,™‰‡ƒ|iÑwžx2f6Ù eOHYÐÖlS…z6Âg#q"UP;¥œPÈZÉg6³*–5ëÌSƒ3øÐ ŠÀ'ò©¤Ÿ‚êCz_¾ +3ÙÈB—HœÎ£•6å§'<ô9+×h:Y¤ZÕ`“0ø(ÔÓ5ÙÂŒ´ðcOœBA¯SL$á>ÀqÈ4‡À©NfÄ É¢Ä¬µ#Ë4†´B. ·º»Úä­H<ÒÊÀÓÀqB°ÛêïKÐ× ‚ ­¨pîÚ åïQŽöÕHÅl2ÇŸº‹¼ŽŽ:q­\ÐÔ¿ŽšÉÃ4"‰? Ç\×5̨ÐÌ:×å!ÊAcä°A!ù ÿ,#*ÿÿ H° Á? *\Èð_»X},´kHQáŸk|Êù+gaCÅ|Xà„+IJC<~\øÇ Ey¦˜œB“•+¶Ü%#¦Ì˜4L ŠÆGÎ-ã£DÓgР5¢j@ƒ“âÃLiÕ] t`Ñ @G•âk|$µ-”5$ÚŒ+ nY‹:ú\€Ú–î‰ožþà9q«°á[%ª ôÁmo ®_ÃFÈä#!ÒÁ·4ÖÄ9ñA|üÚ~aË:u„ˬɄk5gpþ™À§Ëh°Öé@]Pp8ήM˜2[àì/Òº€…RÂÏƨ$.<©{H<Î&…¢È¼TÚñÿ6rÁáèO G BR_dÁ©³a|oO¥È¨nj½6mQÙl² ÇöéäÉýìÇŸzÚìð†»&øG;ñô3]z ü·4q8wwÊb_;x€óa!î0¢ˆ×)ò5¢âAÖ¬ó"„2BÃYÄ €š'rœbŒ;¤aD} ͆a#<‡=<!&x"pd“–[ö$˜•4’f¢™ætHa˜F6ÒH6Y’GE&xÈYÑ¤ì™ ‚"…PN!½g(mÕ› œ°Û{Í×à ~¶tÁHñÀg pÚQlPʶÕÈÀÆ™3©v R; 0ÏSSHBk­Ìr3D¬Ú‹%@áÕZS°PÕ³`ì!pèjQÎzÕÔ }(«Ó5Lc.â×c^=F%"à!æEÌLÓÊ4h[^í •%|èA×0ÓŠ ­4rÚĜЯP”ÜÁÎÀä]sˆ g³KóH¥Õ*TɨÅ* ÂR 5…"øP))RP*ç! >w¾Lð43ËÔ@¸žŽl(”HS¡Î,]ÄÄH›µ¨¤!ù ÿ,"*ÿÿ H°`Á?*\øïx2œHðO»X|8ába"Å?žâå(‡+É;<*tˆE¹ùá“ø1dI?aNѰTC.P!ºÒ >s”–úÔàôi t_ŸV‰˜PgŸ M¹>EÇvÞ 4 “;—CÊ‚íâ¡áç´ëÚ¯PÖPÙÐn]Ü[n!và© ›_^½²Û†M¬v7”P¬I±â7ºAQeíd'両*Plj[šbdž7U4)Zc&C)AÅëœ~"h2aÂñ-~$º!…¢È¼1ëü`žø‡<âÄM™"Óñ߆/²ˆÔÿYý±žuØ‹'0•àLÊ ²PÀ!õû`HpI²³gŸ ž#í|'ßõ ä ý¨¡ýi“€6HÑ(eé°Î .ØàÚì €äyÞ…Té”ÉÅi×`ˆ;¼ažäƒ|  HœÑC‹ ˜FxLW…p4ÒÈŽÜäçâ‹;@s‰zÙ,95á<ù 62ÒX¥@$™M6¡5ÄNÒ!¡‘ù`fi6DEoÐqD‰*y‚e6pÔùO;$Ã'Nž(™ 4&C|‘MÙ"(NÕXf42Ë£ú@B w¹1i§×€zÐEëD€Î>Ëx@‡0‡8O P<U¬òpH­²Üj)'ÌW̬@íÈ2Í4‡Xº’yë´–¯3å!̳%ÚŠ!ÌðÀฺ-S3qÂG,¿mÀL+­pÀŽn”²Ê>å%,àcM\3 *4ryr„Ó/TìRrÇ`þÁC+±N²¾r5Ó |'u_¨P!ct<ÀܪR;p ?>Ñ4ñª*´A›4`R)A×èÓ -çìÑìRãÐA=P@!ù ÿ,"(ÿÿ H°`Á?íÜ´3Ȱ¡A„ÖðÝi@âË!Jl€Ë.E:0:ÔxGRž“y¦œä³Pä@9$©œ2“&MI»,bD¨ƒDL›)ij˜¢¡hÑ*F¶‹˜ƒѧD‹Ö˜Š®††©5¸é,¸šV±bEGݼpmÊ–ëá¬*b©Ö¨j¶ßº®µ VOgñ‰[vÞ‰»þXüCBÀ­Ç·@!¶õߟ²8¨…r"^Å= ¸¥ ò­Ö2Îúòc ”5ˆA3üã'‚¦Û&n¯k)3 ñWnøgnÈ“PÙêû ïíbmAŽÜ”©+I{Ë""køÃ?n€ÿÛ¢ÆTõ¦î-Ðy÷çÛùˆw†¼õû òçÇ€Çb{8(À§˜ñ A^y¦ §Ÿ~Ú`‡þG#- (y&$˜`~Út¨ÍtÄñ€²@D#Ù,ôG,ã!¸¡)î #çŒØÎpL˜¢e±$‘á†Ê V<àà €b6:µ³Î= ~" Té]AJf³£@\dˆ#Ê&ÒZf˜@Ä£Ç "’xåE× Gvµã‡BoŠä dÃCž.=t@áF ˆ¶ƒBÌ¢/U¶A6Ìds JYSÊr/ñpÈ!DÐéÒ€¥”E"TæI#‡03¦–É 8mÌS•©tÍ4ÓdsÍHà=°M­S5… ~aˆ!(œù’|JÐ:XESw<ê 3*Ló§eà)ÁÆ PÖP*Q" JxwY+*øêƒÃB!–µé®»Kbµ‡ *ÐÒF¹Õ>•’¾üŠäÃ!€Q-ºy¨ËGp°fÄCÃ6Í„pÅ y(•³1¤ ]"|ìËñ¨×$Lò?!ù ÿ,  (ÿÿ H° A*\8ð'»HxbHñÏŸ Övñ9V®c,Š-bÜ•C‘¤<(§äñ—cbÅ‹sŒ“¤rŠÊ”()}<ø§ÝC2%i°I4Ï”¡65 í“° hÆñSªô(U¥54dÕªõž‚¾]àZ£¬ÙèÒ¢ƒežZ³Üš"äÁá,ZµæAi³n–ŽLi \EÁ?<útI‹6ïÞñ¬m°øÏZ›[gŽÛŠ*ó@9!'òd¹Ðt«µ€.ÿý™…¢‰x:@ðPSK,Zii%CSž$“l¯Y%uÓ”P+I±Z;ÉàâÏM5Q2ƒ0ŠÈpG}°KlPãƒ5þñ %¬1À @ÙÆ øØFHF0†’%èX‡RI)åR_UYÃ/íüaX'¥ÄT—`½tG–´¸äSO/¥©&L/É@f”x$É Ì 'sbÔ@Â(âgŸE踄^ƒ8nà‰¢ŠzòG@!ù ÿ, %ÿÿ üC Àƒ*H…Û·oT”àÑáfƒ'Oí j\øÇA4ðã'iÆŒqãdäÁ‡‰o»$âññG`»_sj9¥gÏÜàÁ£„ 1 ¶›•_,¾¤Ú-ü§ñÓºb/¸9x-ò䄱ä¢Ã\ÅgÏŸ²ƒwë–W¦^“%95åo·4ij-ÀÒ?xy*øù϶ݻo à–u šrˆQaÇNE‹Û­ÑmB7<*5ÿÿKbÂTy5è“$é±…L¸,඘7Ñ»¥Léן`ÿýæXž [ø0P& h“À‚ 6ØßšÒƒ”¥³ƒ6f¸Ã…&è!ƒ¦Ø›xGH‡'ÒAG-¼ 4nˆ!ƒl(EÙ,‘µÓŽ'øàƒì òÀ Åab/V(€Á6þ1 6*TÙ:òÛ@<Ì¥mŸµCÊ\†é )†™Ú_”iæd³]¹æB}mùæANN 眔M¥AxÒùÍÑÅC>Z¤ã”Yà]ó@qBm¬±8ÐE§Ä üÖTN9å:]x:óŒÁÜ@}5EHxí§¯~D$Âo´”ãO·ªê“O¬’%Õ¬€}‘ƒ 2É$Ì Ô³AM‘•Ué£`³Ä³Ë°Åæ°Š }ÜiÛ”:ÖöO@!ù ÿ, &ÿÿ øÇdžv\Ȱ!CvU.üÁí›7þqÈñ·Bjà§a†°;h¸íº˜Q¡Ãvkj «A“¦†)8óàœÁIF 1nè㺙3k‚Ä9EgÓ \H1ás5ø]ÈÁç›O+Rüó­K“RΗcD‰"¶û…î¤Í”¦èœ‘ƒÛ.íBRdÑ5k¦Ô9%Ó2Š|»1!IpkÚ0zÔæ yt:Å•§\ƒ>þá1”*$ÀE€²µkN±Nóàâ–¶ [R úÀCÅÁ€[QÞÍãO‘«ä˜ÐÄúš YãKÚ$`àï™b‚IôЃ î µ!‚;d¨Í†hÊ{&(¡ Xc•:<‡-@“á"Ÿv&8Ðe³|Gœ3Ê/(c|ÃQäÉ_R™®<à 7@£ýX—Ð5¤ p@mxâÃçÄ‘Æ èñÍý1,²X™¦`ìP!€¹ñ…,< ¹Ps ñ tÆ$è*)¨ ÌB n*h;_AJ;ŽÆtMD\#T¥}F8à‰§ç¡ìÂRÓµ1€}øñ‰è.3h€ ›MèÌEÛ”¨1©I‰N8Éz’Qè…³8J¸±Á¦ ¹QDd…¬°ÂžÅm¬C¥ ýáÆ.øäÀ‰$N1õµ6]ðXEùàÆ79¬2ƒ´Lå¤Òº¤þÑη$äÐÀ¯ô΀/§¹Ç7EÈÐ@œ4Êi·–}c›S6j@!ù ÿ, !(ÿÿ 8ð§?*\È¡µ_"¾ù@ذbÃvjh¨1#âÄ„-þÙÕ¥†I (…¡Ùõ1$à ¶Ð¡3ISÔ)3Š|s³¢Ë?ßlÍ›Iô¤Í›38å`é³á߸•#@æÌ“7óLÉ“§Î– ŸNà1ÁpªÊĪ•«?\Jc$(v,ÂvfÑVÅšukžrJÖå1¡bh¯Íš£à ²PL˜[ðbPf¢Ü*L‡Âvÿ|C„eºì2+žÂr»Û¨è@Azrà '¨5ùk]*÷L¨éacMŸ/M ÊwK-:~(o°aªºõá਀ýg­Í-MÍ«Šÿp\ðHm Ò'¨~ÏÔp6Úÿ´ËOøæmðH¯°C›ÿóêY'Üà,„&&Ø×\k ýaVth³Ã„èX ¦˜ ¡†· àƒSRq„-LØ_…ëe˜¡†ð(qÚB>|ñ>ÄÀ@…(ZW8äUôÇ2Nštð 4ý©·ž‰t)²ÈâFAx=`c’ë-ð¢Bž@) aaáEEìŽo"ñ™,žˆä ;…䯑]³¥K µ3 (˜†'ž SþéR;ßA˜††´¬AÌvÂXE èÌAv”Vúãl´Q¦[À×韬¢J&Yµi|É…]äI äáJ¬5Ï%|+ n|“'ZÝ„k«™¾çOx ;ÃVƲJ:|s§`–9ËÕMS[ƒ•öM9<»j·}\ûBÁ–[lºžb냰œX ®§†}XQ@!ù ÿ, ")ÿÿ HPàþ\ȰáÀvC.ˆÀ“СE†í¸u©¡Aâ7„Cþa×¥‹†5á¦bH†:Ì¡›‰2å”">*|9ðÏ.pcÔ@7¥†)H9Y@¸S$ rδ0“(Ç] 3Fpì‰z>S ´] 0{¥êeu´5ÅICE€ê£1·Õ4Ï TÈ*jˆß¬bë­®¢ÓFpð*›'ßäÀÉZÁ5ÏźDé˜ß°ÀÖQ5 õ,ÒÊæCµ3`‹k ¶hªê˜ø\»Ö­ãl0ëuëZ»Ö zî{ÝnXðk ,—ßü ¯Â„yÛP@!ù ÿ, #)ÿÿ Hpàþ\Ȱ!Á?:ÌUù–Сņ«Ô¨Áï×7O /ŠÌØ].øÉØÕ.¤È†n8 ›¹±††”9Xº|iP‰œ6óLš´©a %4JZò4x`·ufÒ¼9%¤Jþì¼ø§é߆D@³Æ”³V±j}ùgÖ× 6¸q•&Ú)þ®âYk±+©¿_<ýûãf[ÔE«æñ× ÈÞ‡ÖâUüà "( lWxŒÉ¢yªúólj]È?ÖȨÉBde8˜5Äî3Ú(Œ’‡m@…§¯ äIƒÑŠ«QæJÐ40«¯m¨jRÄ"%a48B +Úøp2ÅPmE°€¥ÖþãWÐNq:k°³lRí|3N¯'A±€«áÒ'‚$ƒ ÕÅ ~¬»S;ñ°­5pãïNôY0C¯}̬³bá0³À‰Äá6„Þ7ŸúGÇ!ù ÿ, #*ÿÿ H°à¿?ž<\ȰáA<¿Ð¸ùã°¢Á?ä\¨¡¡ŠŠ-þÑñ«K“fh²¢4ÐÉDÉÛ- ºù–eÞLŽS4ÜÑ3ç@7&¬ƒ‚®FS S¦Œ‹WÔ(Ò »´ù uŠJ–V½6GR'bžŒ:…R‘› GfYW Y²¾*[Â'º®y¦ÜÁSc©&Ôd!*Ð8DP 8°aS ópÚ…sdº¦˜0A†Å ‰¨>pJ„§Qýù£d¬ Ú€mb 1O¨SOøO¸µQóø+WÄÇŸ?ìÈ­ÛTâmxàg}ÐZ‰§]eSÿÂGñ8Ó©›2¥f Õ(ˆøÓ®”­˜MÙæ‘± ¬À GБhì]Á )_|ÁƒKá%|XSÕA8]u¦ô°)¤psÂ-šÜ"€Z5ŒÓ_C¸"Ý…*v<š„(âL|0–5V@ÃâzjŒfBŒ" Pʼnýá‚çè¨MnÖY7Ú-":`#Šíðð^²ÑÂŽNþx‘a) W¢ VLÚz¦À³Í”qUù…dyá5K;œó†zdPáŸCL ™d‘‘âœ@íƒ6÷¼9!CÖ d’ðçAìÄá§Q×\0ÏÉ|qÍ£ô=êP§N 0‘QYÓ@P蜅ð«y²JhPC¥\Jë@æAI®5@A—©´¶c%A9µœ¿û 'Í p‚iÑ^‹ QÅ7¾F‹‘°Sœ4Ï6ue;P;$HÒ,:Ï"Ëêñ°˜®P¥.AÅqKì/ኻÁ²AÉ ï¯ž´› í{,Ó°ÃYGÀ¼P@!ù ÿ, #*ÿÿ H°àÀ? *\ÈðO»X}tüaH‘áC]jT‘X±£À?ֆ̫QCƒ†qx&z¤ØnÛ¼.èb–ÇqåBO¤²ÌCWƒ§I”*mÄ9áÌN’%§Ð J1áPR¾ €¤É),â1Uø'Ö‚ C'ˆýVB€L S¦Ìصõ 5=L€;Њ/P'¬‘YcJž)’ؙɗ©Ãréþó‡(ê”å™Öo`¦âhÓ– â3t=5jü…5p#Ѧõ×€JÐ?:npîì9ñâÆpP<ö´a[UÕyX þ¨CÁæÎ‡Õ€Mz÷¿ %(û ~ù`ì³kƒsÙ1d7:†@ÿ±ZÙŸ?Nì^[K³crSjÀ}ÁKJ‘!mÌ’Ÿ®Ÿ§Á:°wÜa¦¤Cß'Às U<%5Ãn´õHìa×™ j¤³N8IÜr‹&fŤ?"¤Ô;r–œ 𰍉‡Uu‘;í4åÉ,_È1J{*š`Š ..(4JøQ;|! ²à³ãlˆ© ¶ì≑þqM}Kv)Ç Ø™âÙš´!ÇX äÉ7KBÙ’°#›Š¦lÁM„ù°F¹9ù Y=,€çJ>T+ÙÀAÊ5˜!±Ž‰Bù0N óHs€„žÔ(”@(2E c¸öiEž‘‡5@aê© ùlꤾ «BÜ1«¥¦yê9ìŠN¶ÞZ¬´ºêë§²¦Eêž{쬬έ´5;ªµÑb ª®&¡s­·mÐ%»^๵cAZ¸Án»P2úóÔNœà›¯@íàcÍ¿9õi@!ù ÿ, ")ÿÿ H°àÀ?íð°ûc°¡Cƒ<ÅÁ¯ †3üデ.5BšÛ ±ä¿?Üæ¡[RŸv&3¶ÛuF@ t54hà‡cLˆ¾ÀRçŒx>r$Y°Ý„ øÚ¬Ä©aŠ¢‹âÉ´å ÓƒO',ˆPtÊ”_> zz€$ƒ)SjÖÁÈÀ뿎ë¡0Ķq›ºí" ¯X«îrPB¬ðä SðO¿mC9L,Ì¢ðF±àñðFÈf!ù ÿ, ")ÿÿ H° Á? *\¨ðO;k$XcHQáCh.Ôà‡ÆSÅÿþă]øÍú’âŸ]k”<©AƆ–YüÃCÉ™5¦ôiçòa)p:ò˜°Mf”)•è,øÐ’÷L€óHçáJšœ2%ׂ~0èIÀ”)5r¦†œ ‹”(&ƒ’Å'W §^ÚØ¶5AfâÀ?_à  ²f¦²3bôCg‡`S&Öˆ"´"”Ôð8ÙƒGvnk* HÁñLD„€“dóPÚÕ÷ߪ» w3$"´ëœKÖß8@Ó&üí–ì^«':ÄKn²!ù ÿ,  'ÿÿ H°`Á?ž¬m0Ȱá@„Ö¨p3wÛ‡Æâ0¦ º5.àɘñϬè>‚Ô`ábÃ?í²kgÐä:)ÑiÐ0ÎZÍ„IÒ#VÍßl¥\ɟˇ40$H`Ê”‰O˜°mº.54Lçéà‘S©šØb´àR$ à ;…Ò·¬ÿ6T@;Õ*V·Dˆ É)vŠŒ²ÿœÕÖ×™…À!B JÊu•àÕAGcµµN†ƒRç”)y›ÝÁ·j?Ä%Oîãµpݶ]AÛñÙT*O™LäÄÇÓyòð¡IÐSÖ}M¼†é†)Y”Ñ€D¼îxv§ÿõ½Ë:)|ܬR»p\}ðzÊÅ›jUܶ­‰žœ:iÜþ4ÐBn@4ž©eBš˜ ‰&·ü÷fúSŽS&}ñ…,(¤Q_UVI8a…9Õpš0¿ôÏBíð‘ ( @Ãã™ £ VØEUÜáâ<ÕwÐu(Ð[‰BQÅ/C@d‘µóËs0“ 4´vOm ÁM,W–$C¬4Bб ’Á%È¡Cš$ ô‡pàÉEèp'–y %PøQh¡žÈ Á6Ì-ŠÑìð3Ïw’6äÉ85d‚W¦íÂϘ‚ZЦ5„fjMÜh`‹«68´§ªÆúŸ'Àfë@±ÌÀp»&Ö‡¿Dì?±H"ƒ±Áz’ƒ ŸîË*ºë‰4Õû‘¶!ù ÿ, &ÿÿ H° À?DèéÀ ƒÓ¦TùÏÕgû];0a—/Üüÿw6®>ú†¯ÛÖ„#ŠRéyüÿçi©/iì0^&¨&·h‚ äTÞþ”ƒ’"4‚‚™i3 Þr :5áW~yà2×5Ì@v È¡‡·„h?’sÇ»àñ‡5U°ÂL2¾Hµ!^ÎEUä€c,:l€ÐG>\€ÌÙd!ä=IDÐÜPÇ5N"Ñã¦W¬±:ø°A;brDP;ãhôGqÊÑtQ™ž€ÆÂg€êÉ8áìU(G|BÁÛ¢z J(¤ybŽ-ŠRš7~j*§¤jyJС„*êACT‘é©p# §BË °ÆZ'«Ôj«Xøèº«@Ö¸ñ+Ayž!ù ÿ, %ÿÿ H° Á\hð5þÁƒ$Ý•+=’lûhðÚ‰.èjèä‹ »Ú$0a¢ŸEƒÖ Ë¹óÍ:ÞM`ÊÔ–”Ý8˜·´¤nO=¡Ú!´j?7 °´† "Â**Ô„šxiiAA×Åí”Gž£KÕ„œ§}ÐâšSÃTÛA¶ª‰Lˆn2féÛ)3ð¨nU£7À9áYCJxâyC¶p¸ÀUÿjOÛÍ-K<ž›³xL˜ð_‰œ½óäÿ¹ÓN VL›0µÆ8pýNœh3fž_ñyXeç(áõDir‹& À–_¾áRŽqÿ(ÁÊÚeY€Þ‚[¼ùæO9ìô@¬LE•)Þ"€…m9æ›x¸8Õ଼A‰&Üb¢]äxÁ8ã˜sG|ã†@~üR*÷Ü“Dm €†Cpó ñ\ãÞ´ƒÜS:¬±;àaåh‰Cyò Vh¶9š=¹)çÜ< çœr,ÙÍâÀž|˸j¿DfèBž Áࢠñ¤ qs¥ýñ p˜‹€BªÃ¡.ê >¥ÚÎ.©ú‡­º!ù ÿ, #ÿÿýHp࿃,(ÐO±#r .ðó'! CðÑè`ˆ§?G´%H`Ê”‰m-þÛ0Ë.øøSl‡È’&ؤ´è£ÍË.5dþ¡bs¤I”*ÿùhùRø™ƒÞŒ$iÜ΄=]¢«ÁÏÜL¢"©"Ué#: 0½þ-ìÑ«—6uúu‡MS$­&eÙtÊ ¨ÐоMš†)~¡Ú%Yr,O³4ä™ÒàÚŸ‹©êM8P.Ìücí`Âvÿý‘¢-AS¦L” Ù0Ö˜1ªTùÕ§Àvv”D™äK†J  Z£Æ/O=Ý(iÒD?E–šG´††Hÿù ³ÃdÊn¢þY7´KQ~Ò²ây£ó¤‰pY!: ŠÎ*?|>úÙÑ%ܨí8TÕpwƒÈAИ¦ÜöS C5h˜ÂïKÞ‘}S.hüO”¢V§ŒûføÏ¹Ì÷¨pfGwŠk¤ò¶ë•9 »?¸Cþù6/tž<2PäÝÚÕmO³̺vÍu'ç™"Mø?ko´í4a‚Ì€kJ8ðÒÇßSòü°îçW)5™Ð¤ Þ-¨úÎSî‘  ¢XJÜir‹ø%YzyP„p±JÜÍwË…èPWh 6 ‹,nü!‡/ð$¡Fô]ˆŸ†NÆ`Š|AÊ5x⇠Öà ;ß|C7Üð†9¿Œ#Ì 3P¢ä*<ðU,|è–[ní´ã‰>¸K<ñÄ‚›@ gQ• føi¦X|°³æ› µspÖ¹ yÕù¦ÈÄ¥g™~ cÓŸeF4&¡…~“&¢bYà£Õá&¤‘'¥ ý±‹Ÿ˜þË ˜fjC!ù ÿ, #ÿÿ ø§ÝŸƒ*\¸ðσ^ŽPaçcÆþ‘¢-A5jz,¸ÈaFO:&0e* 1’ ÝÈ!ÆÎ̓ ñ¼QÉ2‚’ßæuéráÂ/n0ÿÙáq¥‰~í¶[ƒ®j ]~DØÎʦ,M€™ÐÇèj¨åWgë?tvtd™„Fvó¬^­"Ë­Ÿ7rWš"ó³á¶.V5ðs0aëÆÀN3‘ØŽÚü4hÀ×X '_«¡2Y`¬¼j5L÷eI<ÐxšÚâèeÕSÌñèügPè°ý|4ùïO‰´5¦(/ò…ÔÅ?4´Í5eâLY¤xÌÂSÑ͘´SòLÿ‘Eß·xšXaË€5|ú\çÖåªò<ˆ‘åéŸ=…µž&Þ¢‰PŒ1F¸…Wæy²‘lë™@ &·€–U÷åAÉ(„èI;ldÀ’€Þ’!:·©&^ àó…ˆlà̰F8@ †U¥Õ`y¬Ò)ü ¤Ã¬´ÓŽn(A 7hür?üt˜.ÒùEÅ}CÉ.dT» ŠÌÐÀ.×ÀމÐ@a™ù‡'>èðq“ƒ[š;ŸàSš¡ýÁv1*i;«ì¦¤†úP+‹bšÐßÄO§ž´Mµ•šQ;w¬B¨ª ±ª(¬±)­ µcÁ¥¸~Ê©°Ô+C!ù ÿ,  "ÿÿ øoÃþü!Ȱ¡Ã¨èÉà 1* jdخ׎ Ô˜P“iáÆ“~ÞhiÊDv&*T¸ñ+MµìçÉá%øPñá‰&CkV²LB,&Á ¶Ð¡ër¡Šk2@SÚr@φˆÍ“Z£†† »œn¸ñQ›N5M¶ûE¶l;²ƒ2Ù ufÅlg¥oK%}:¨«Ÿˆ Š¦Ô–Ó­!«Aà <2ÿkw“«©Lí|r#­a š ˜Ü Ò„©øf]ó1S TÒSøÕ™záŸsý¶L2„V_x úm^Ù)Sò˜ÿC! óB¤ ýšX¯ ^›5%ú\'u]iðS¤!"+ïŸb®=¦É€šÜE'œÐ…Yàå1û¡—'Ü£“Në™Pà- •a÷å‘ÇD Pâ ù°K)à8 ‡·xH[xyLA -_”ˆŠ)•?Š qÂx(£Yµ‰ˆË*_BЉ<ÄNŸ¤ÕŽ߀Æ]ÜG#.yüàä˜Qþó‡þó•™ ¹Ç7E˜3ƒ’ŠL@ÊM’’×@ÖÄÇN¤Ð•ßX>>ºq@n&ýÁÍ Âv›FõXéǼÐG “jôÇ7‘8qM§¤¶c$ÈÄFê¤ì”Œj«z.Š&(kÆú'ŠL§¶äÉ8æÔÚkCž°ð ¯Ã äI’&+—È:k¦´!ù ÿ,!"ÿÿ 8ð§?*\Èá†^¨ø@ذbÃ?¥v$ÐÓ • -Šüg톶 L©Q³ äȆíhh;™Ò/+þñó†¦)•-þÁ3Ñ¥C;|š8㣡D+ºðO1hIk&Qbt`»!óÐÕèrAW…%³þ4µ­PvPÄŠ­Á¯[¯ç’ž4eb N†ž~¡\£0wÿíì¹×„9]þ!¶†X 3,|ñ4pÒ½?Ó5ehÍáø9˜0³âb3µ­Mò*Á¯„5h˜RåÖ­¡òÉ÷Y_fLøîÜ)Ð¥MøÍ9¦R¾INô©ƒ©YnÜÿF·ú8"_¨ïÔƒr­ Mð5EXÓ‡ Y`ÅBÏCé‡ý/¤xâ 8÷¤ô“ Âw‹&·|Ø‚ÚyT¸ DØ'ËAn|ƒF&Èà- ÀiåM!LÚ‡‚k¹± 8· Cb‰ƒ ¦Û~þP"Í_dØky2À‘ü‚Æ'¢HaSøÃrv÷"A|%(ùàá;BG¡?åÐ )hv7š@nèÒã.!Åèá OæáO_P‰&)(lPP/ ÀGbýáe3ä¡Ë5íl0 )@¢é§b±|‰.ÖX£±Äiè£LêÉ*cAd9)†sÄXÊeª#¹8QÅ Nă*¬- A$ÒŠëBíü¢×üjQ;whÀÍ­Æþì/D6 l¶J{‘¾Z‹¥¶ !ù ÿ," ÿÿ Hðß>þü)Ȱ¡Ã*øBò Ý‡¶;¢'A‚{g¨l¸˜ãŸbo´iK`JM’L$K6üƒÃJ–¦LôÓSfAk vÜ4eªG¬ž>¶;'ÔcÎ$r tC%!Æoš²T³ Ãvæ]à–é*К5qÆÇ×óÐɽ ‚Š×¬ÝPK” ©g»ÈEW£¿Ön:ÔTb€uØ"L¸††*D®)=¢uíOR7p ·°† Cd¹xòGœ&Àá“u ¬R¸•5hà7dÂÍ418Íi¢ÇºqɈ|áaMáŸ] ט¢Í<ÜäEÕØ„wxr8ÿBAžÔ,vcJëÎ3®)¿ÿñ…s­ MšnÝŠ°¦ù:U¦Á (\œhl¡q÷é—ŸcüÒÇ8%EÀ ,¬fÐn<ùé§Ÿ¤ †yL!,~¨A qSƒ\·6:ºi8EUÈBÊD$‰Â é ˆþH2À޹ 8dy(R‡,_‚‚KÔNL>ž|ƒÆºY‰e”ÐÂåt~IAíÐL$Süà•Bn|3ÎþäáO ?È2')G’Ç$kÄDI$«xRÐAßä0.¸ Ú³,êå£\ãÅ èrÔL$’°Ê_¬RÊ(£n`Î /8q€T8Ztéð@ “íp3Å ÁüÀkRÀ‚&GS${WR&‰ A\¸EmFQƒ"°nkRü|³¬¸¬á3Ä´è:D"»í6!ù ÿ,#ÿÿ HPàk|ü)Ȱ¡Ã$ðELáË #jÓ–àÞ*bi-ÍŽ L™J²@äȇíÎíH@S¥‰,Ö\¾dخ؛“5MØÂ£s'ÁvGÞlLiÊÄ ¢ÿmØó'ʦO§ l÷-^;­[“.µNØv æÍC£D*OŸcUnJ•Û”Ò†tî½w‹˜# ó\†~ãÀÚ)WÐy$D`àè ˆW‡iÇy()Rh!OàÔP؋谦~#ÎPG(LˆÂÿµ@ øùóbˆ4摇"hGÊD4‰Â,:ý/Lá2Ö qÁ}Aæá%EÈ"‹oKb÷¤KèàÅ äÁ‰i‰0‰Fú3ųˆùÅž¤È‚ <ˆ”æ>l¾ ˆi¹!‚$^NÁÍWäÉ')Bižǰ ‰ˆ^K3< ÑVl÷@¶0M™H"Ç£Jƒí޼!Sf?<6o:ô¤sdÏ$%tz±×Ž0Èì‘©ÝÒ›o<}iªk)-^%ØÎˆÖ—Re†cVa;9 :.lWl'Z™¦²µhm]—.æP¼(EÏÝ®j¶YûG‡-tÑuáãfbH´ig.HùÇÇ›íb@WƒtÓæÜÔê°‰×<ý{‹ Å,O Û-cút ~U€\;ÏÆ½´2Mhj³Àœqû’}!eÍÓ‚yOkÐÀoÀ7úÿÙ¦¦ëëך4Eã…Ñ ²ê”èbz»J|&ð˜^`;*᜗Þ-·hr ?ûÌ PÃvSLÁ(èÇß`n8Þ"€dÈ sdF¨>pAŠ~(ôG<¿àadè@Ÿvæ1Å8±\“" +âáb;ÒøSB¨ã”ÈP)!% <´8˜w‰}¾AèÏyäAI²L7,?Êbå@àÁÅ 0ECÔá:æ!I( Pæ_  ¥šd‘À$`ƒ€0±üK`NáϤ°³~–IJ D °f;Üà'$/8RÙAž£ˆ?yø3Î^\nóÅŸ›öi¥ÜtÉ /óC[¹!B}œêP;³hJŠ,D´øG ð‚uKPcÖ:äæÓyz"°O£B vÀtP~û {•;˜<|1 B"ð3ÄgîZtÀ5õÁM¶ù^›Ð°A!ù ÿ,#ÿÿ H° À? *\ÈP`»F64œ¸ð)zô ñ‘¢Ç‡¨´iKàʃŽ+^|³ƒdS&zPA™’àÃ;F’43Ü.š5-Ja©ó¥‰$ÛtMysGÎ&LùÖ®&A¡,Ÿ¾4•ž¥à¹µ'±v`zZеèÖ$%¾2üヹ۱ é’gÔ-$Ð2lË–tcf ôtƒK£Q½v¤«êÁºPÐi®q›§í¾UÐcÊ(L5>¸“ŒÇZÂ'æ¡«A›v—>UÿàégêLš4ÁÛæ£n/úê:°@öæÚüÌÑúü.¸$Q¿5 J/Ýô5ÿâf«Ës è/ ™ ËÁ "Üšk»Ø”17æü üŒS"‘MTŒ!}· sÁ˜Wƒ5ü7Å3p‡,tè^Aº]pX š•Hz^H‰9±xB¤LÀÃzታQ¨…)æ1_°p Ð!ÕùðÃ'¼p£Ž(ú“âã!Ë_ð K‘Y~Z<ÇI“þ𣔢éÏ ‚‚,W’BÊ‹(˜$7”¼ð˜/È€G,æLᔃŽËíððæ•_ ð¢,ü-5ø£ç ï]"ê$¬uÐ_Äùoúà‰-è!ðB0 QJ'$Ì`(Pt‘b* (làÉ8´ùóÈtlá!ªB°''¯ªËϲZuÕu6êÆ¯ &-ˆ×`)Ë5žð×¶åJÊ5ˆ¦E®C<¸±®G!ù ÿ,# ÿÿ H° Á?*\(ðµb:2œhð#¾´ÙˆH±£E#¨vhKà ÇŽ ÿx2¢@$ɦL‘9‰ràŸv*¼qIÒ” =JI¬ù¯ž8;µŒé3ÉvíˆÕ!e'O¦IPi7Ô£5)tvìxÉTM?bºR´XìO˜1M„“ãFíD•T¼Ñ3¦ Ÿ[2Õex3-AORF½I îÏ$ÛðØ-ø'V 4ÿ(±‚1SðâEµÙ.Ö›:¶A‡®Šd›ñâÜËàÓ„&MàN7Œ%Ì„´>¸­FW£ º T†þ‰gÔšŸ¶o•H«£-]Œà|#akñàÁ_ÿˆ§œJ›$ð4ݺ¥~Ͷ b(c”Öñïák\@³«ëóðÜ"Àz¢3E$Ø|¬å§üˆ€Ï<¨õ È kĽ0E ø=¨ÁÜ…TXQ,pÈax’8ÅŒSȰË(È2AŠþµCÅ‘|Hœˆ4NáO3*‡,>ü! ¤ð ¢@¥!óÉ xH¤‘\ú3…0ÒÔÂ_\ó$ ;"ô‡Cðó–dI¢—t9ÃÖÌ’£,¤" (DùÇr\PCobLß\॑^ŠðÚzÊòEŸD¡£E†Ö0Å›Á0 Ä ,úsäP¤'™_œI §æV »x"Ñ…,È@…­]Ó*™(jÑ à3W”m€lJf^*‹°žT1 †Ie“|’"¬ƒYK™™~¾úÏdÞŽëkŸä–ÛÐ5èªK˜<ŒænJ\!ù ÿ," ÿÿ H°àÀ?ØYûc°¡Cƒ|© •µ‡ þi‡GÊ mÚ$@²!#Æ?žÄ¡³#¤HS¦2y2 ÑÓ ÐZŠ|iÊDb iþ‹8ñMK—0{&éGÂÍ:¤¤1ºcg˜>ÁQñô¤'v„´xãòjO[2Åj×õaD?eĈ˳§šp$Ü´Íø‡Êzt„¼¹wk’ñ6ì5ùçZ4,- dÀ oÛÚÅ5üÃF¡Bî™@‹g1JÅÿ¸!ÁÁVéÍİ<àf´¦%ú q‡È†v±†ŒAGœCîíä`AåS“¦[ëØrRE×#øJ '^]43 nÿÈ„ª<çšȉ‡†Ÿ†HÁbt™G]û÷ùqkWÐÚ™æAq‹t¡SäÑ]ø5¨?¶Xp\jñœ:`HœÝÙ‡ßS ÈÏ/Üò…S›mPÄ<Ö÷!‚SĈ ð ¤ìB ŠCù€‘Ä0χ!Æè?S 9Å8ÒÈâòÈ2Á%MWE$/d‰KŒI&©ä‘Üa(|Áƒ'² 0>´#\ dù$/i¤‘þðÇíxò…,_|1‹,DȦ'UpøÞœÁìS%GFzÁz ´ €’‚™Tz2œSDâß(FL‚S˜Cj›]ƒé¤_£žÂy4ì°%P;ÜØ¨kCÌò* …nà‰9UࣙF˜i4 _ÈÚf,¬ Õ'&jŠÂ„Ö>´,¤zM·Œ]¨,ã’Ë×&¦«îI<|áÆ»&yÂüôfäI;!ù ÿ,"!ÿÿ H°`Á?ž6ü1Ȱ¡A„xŽT¨`͡Ńž"VУ-A‚3ž.:„(ñÍŽŽMe ²Pä@„:ŠUxí¤Ç”¦L„Ûàæ Qt ÕD™À”Q&’ ˆÕ’!Bk~òÉ[&¦Å=oŠ5¥&I¿±<55è#–›'—¼½3ꪩ{G•‚UxñϬvv,U •ý¿\“„+Ö¥@O±VPó–BÏ=5¦¼ÎkøuvVí ¶ÿ+……TInE`‡‡›9~4L©Ñ]:ú5jt‘]ÐM6l1@_~Ý凟‚5hPÃ/!ôM:V\!À€Ýe˜ ƒ ÆÇO"\Ób} Ã]@á}ñMáâ‹ñUÁ‡ßÈrÀaxð %Á|rŠ]\ÐE|ø3…‘FNqAÁµƒÂ¤Üø>ä‡À ÁÄÀÏ–ò!y¤‘]ˆð D|Áƒ“¤L åùi€Ë pâBÉ‘.úcä %P¡Ð±)×  RrÓ` ôÈ€43|éÏ"èùGSí"‹, ðd¡òs‡×´ãIåǤ­ý³¦–%l:âW£C;M¹h#€Â_”yã?žÐCž|!K¯6+’ÇAįʎÄÃ¥(Ì’j´y" )Õ^‹-lkí·#‘B Þ’»)ã’ÛÐ.¹¢þ!ù ÿ, "ÿÿ H° Á? *\Há†GhàaHQ BŠÅAõF[‚#*¼øÀȹ4ovh[™ k"ÿ´sƒçÁL-FAká±eS@„<8óÚ5OV„ZFOŒÎ7 îýjÂD¿v=õ„pÉŠK¯–EG jL$ÙRbA¼¡=Yû³¤kµ Bn`ГÁ”š$áJd¢â¦]ƒoé.Q…Io†{IÈ´·!\†nÜ ¬Å$†-àÜV¾,òß%WxÃr#ËèÒ ñøø³bE*_=J‘ÙÐ`;vKjUâÕODåî*,÷Ì‚:p˜Y…8v!Z#QbÜŒcJØÿš7oévJìTŠF

    b-(Q…_û5ÐÍë‚îþ˜XéîˆbCmÔ×ù¡ã ~÷¡Ó7p!äF&”aƒ[lPà`â§UÀôÛ7"Œ3NéÄN:d´1O ]Ô Á;òx¢üT!‚ÿèpÁ}D"Lá$8ÆühÇSøS%•ŒÃÇ7ì|AÊ,è`߉‘àrÁQRBÉ•VòXÅÄì ³l€Â„9f’Ás?Tæa%%æÀ©ƒa‘‚)nAJž>©Á«ü ?”ÄÐÀCP¢]ƒ‚,<1˜8ÀÍráQD„YVÆ'²,êhž–U(ki¢** ˜°Uä _ @çnÁ64K­(ð€l²Ñ* ÀB»Ð<묵³[-·MðŶà*ä†,< .¶é–»Ð5äº;Òÿ!ù ÿ,"ÿÿ H° Á?6Xó³Á Ã‚ÛyZø Xôûóp Â?žÜÄò3(Œª-Z@Óö&Až " y-Ö5>†­ðæâ•¥ -Þèê2ƒˆn®ùh÷ñ㊗öÐ³Ô‚ŽžzL©1±€#A7L›þ±siD¨jÒbÈpok’$á2yèÃÍÇ%+¢È ’JHŠ72ô SbÛ‚x:6Ìèi–S;!ü˲Í0•ÄaCÜÕ²•oÖìè„»Œá!ÍúŸ§KÚ‘G ”æÖwÙ‰½Ä›·#1Fô”٠鱋³KàG…ñ¾qñ«•Ü‚3dÆž½(Èÿ³;cæu™ ”yèÆ4÷ø‡/3•¢¨‚nœ­+íÙ°EÌ#:5 ˆÎ^¹A‚D 0îÀ;¢À`´_ †X1ýOˆdA “LBCýDNÖ ÜhcÍýñMˆœN8¶\0?üäÁÏ09Å“ðs9hˆpÀ?>âÈO‘HIÉ“`NÁ0æü²1»À1_\é£] yÂ’PBI’(rGÜì’˜'yB lº 7TàËãÜ!ÍT\#B2M€Âm:GiB“Þ&DÈò…c¸µv ƒài©y‚«¤²8ÚѤȂB¬²>t*¸æj«·®êë–öêkA§ò ¬¯žÈbì±­¹¬¯×¨ íC<{-– !ù ÿ,#ÿÿ H°`Á?4˜ðO;Ož6¸ñã‡Ê b4¨üøân®]‹EO‚ì)ÔBL‹7é6þk§Ä•ˆí&\bgŲ FÑ{£Ç†'ØÑ©“çŠ{,’FÏ=2>Æ[ÑÔÏž¡¼É³d) †{jîeˆ5O»%yÖZq‰š·ò0YAe£_¿,à,p3ðZ¥†v¼ ´ 1bñðXó±ÁSN…}„‹Ð°X:.ôtÄ çØŠ^ýïO©ZœyƓɚ!1{K8/bG{uïÖ»¢™1co‘â zòaMG<*<Éü‹†„E¹W¸RÂã në†8ÿXs¢’+ÖœQ‚Šƒt(tZd¯R©b`Áˆæ®^VXaó@±B|Ô0†y“”A=fTB0õÀ@@:lÁ< ƒNhää€üŒ‘Ngü…DYÄqB8mlØÅ<]Ô`#:æH'B üPRÅÌÀÏC’HbühPƒLÖpŒÈÏð#¤”`©$CJ2ÃUä ÂEÐÂ(ñÍ3Ì Œ"ãÈ æÜì¢D,“UvY,_rMkÅs e–…&š²BXmŒzÒçŸŒÖæè‹Fê)_@j©hL ‹¦›.t  †ZÐ5¤š*š( êh­¾Ê)®ÊJÐ<Ôj+R³èºë?"ýšY©¶v!ù ÿ, #ÿÿýiç© Áƒ7(\¨Ð‡§?…iæÊ‡E‹.úP8l˜:yLœå:2PÊ©%Kì,Ȳå’vKFT±¬”GR¥\Ù²§Ê#.EÁ4êf»AÞªÙ±sÉÎ ;VB]âm…™j0 É•©d­Z(S.²÷ÄŒ™( @ÎX.T ¬tm·­ÞÊ”ö¨(ñîo_%ì”]Â¥ÓCÂËž™a†I8o¯“; íëY©g¤8JcÆœ8!åC" ¼TÅ"QL"eÔ“Î6a_üDÈÏù Î 4ÄÇWaCD0öMA‰„SD˜"%P˜_ctQÃŒæ<ÄG9”P‚cŽüÌÀ$>ávqÁ/áO|lð´’(n%üøÿiSX´!øðõ‘F‹[9ßHP‰w€7ÿ˜¢AC—1½”=‹´³Ä"Ãx"®à€Hƒ,ÀñáÏNÁÏmdApKØQKöØcF'Q¸òH2ú“†/bH‰ AÃ$õ” Ô# ÅÂb;«ä‘‡?.™¡StÁa?ýØ`C86¤S‚Ùp¤Ä.$à3„hä`Î8Š3?’„÷ŸxÑݡϞ D”'t¾„JPßðF§s µ)¤Àq¡¹yBŠ,¤,Ê(CŽé¤Äýñ`J\;_4↧¹@s¤ª&Kí¤ÊP;²(*êêB°Ê:kB@*©«°vz+H²\ó+®² :l;< :ì³ìêê>$!ù ÿ,&ÿÿ ø§àÀƒ*ü÷Çb¬ùðTðÏ‹=èF‡N.Qa±ÃãfEƒÿùè¡g†7-,-³t©]» >®é¼Vò¤Åƒì2ÜÓƒÎ(K–\x³c§bÅ›9¯YûÉpš{èÜHcÀ@¨..-ù3ÖiÅYTÛ P“ƒ/!)äa 2bÏ©MÍôáæ µšz`x¦19R>ÀR%Ï[­ZÞì-Ybg¢vÿ|/‰/¹ÎPlçɇµxñˆQ)öÁ™73f”PýSJ`cõ”¢J°biJ””ê;ÐÇ"ˆ Q/VÊÞ(²ë2 <Xâøx¾ð·Ô# ÿ•É'÷ƒídhÐP érHã¶‹]I§u̘2…ý¼6éÀ2‰C8€Œ|CìÏ5áÇ yðçèÌÓ(,Ñ ÃøÐ "¥á€}póć?Na]ôÃKDAÙdK´3Œ+U”ó7­’.,²¨A‹SŒ (ePàQDaûB#6]C>"Üq?ýåað3† éÐPO=5#Œ0ƒC¾¹Ç.rˆÃ3ðÃ]t¡d86ðñæ4r^ôTi±ìB9TQÅcs2çyNybç7DLpÍ!pðvÞAÌ"Ë<¨pÀ©Ýe€Â(L³¬ ýq¤dÓˆ©¸ $+ Ì|l°»¢pÈ5Á*„àI³ 3(ì5pò*µYÀ­àt@#plZî?ç’¢-²p0»®¹DL;¯°ÆÞ+×¼lt!ù ÿ, 'ÿÿ øÏÓv>þ($Ȱ¡C¨èу‰”><-|ÈQ`», ´éѦ Z®\ØáÙ ðOG†ìî™2• &7-–½ª&ÁŸkÚm|ø‡š™¦îÝÓ󆎘eA.­XÑnƒ›k×ܰtÉÐZjŽf¸—!CšQi–ºt©¥BO€2ü³@“&5÷LdðåËlš4˜‚¸ðfÇ­B­ ÝØpKS’Iäà¡âI¯ÏR…`RøÏ…ì¸B䯸¼$Iúùø§°*rŽˆEŽÉ¥Z+$¸a¸¡ :ÆðzôX ¢BÖâÉA”(P¼vÿ|ëò]ðp:^þiçÉG„º×^dÊ ¢Á€1xLß\“ÐP]#‰?þýGdl‘Î p¡ 9 D~ BdAþäA¢?ü×Eªˆrî±N?¶T†»hµ‘'2P‚‹?B8„Øq¸ãL%8Ó "™\p9$xß !ƒ$$¡]aC=“YÉ ¼˜ä Œ|!Zkn|3Ä/ñ 9E c„Ó Vˆû`6ú±k‡=@Ìb xFÇ$}hÊÇ¡sqçÃ7äpActa h¡Œ*lÊ^t‡)œñC1A;×P€,œ¾úÇAÊ¢Â5¯vä )D|Ñ *d]²y2²äÚÊ,½&»l³¤LÃŒ'Ôr´,(ÀÑʰåVK p0sÈíºÛH‡Z¯Cž|qï!ÈîÛP¿÷6Òm¹žÈ’ 3LmÂÙdC®À ýB68Lí³ÐKqCÏò 1µâñÇs]3r¹œ!ù ÿ,!(ÿÿ 8ðþ\Ȱ!à 60Р‚P¡Ã‹ ÿ”º§-6‰b©ƒŒ©(ìxCç܃ŠGlÇÆ”Í“)w@k)Ì DeþaÏ„ ›Gqê6j™¥eðÄÚ ÒᆚŒšÐdJS÷î% #FŒ¥K—¼m¸†‡jF9niÊj"ɯj2€ÕCGˆ8ÕF,I¸á@L:lÅ•;W„'7ÄÀmIr/ƒQò.85ø’ÃíD Cwë|ƒÆ8’ˆ8„t1*öÒÆ½°1?õ}3£@„Õ˜?î(:óЏS†- ƒßeô‡ßüBI‰5ôV¡ 0¬1ÎŽ¼àD×d7f™üˆ7…tU¦ó(/`ƒ Z‚‡LÄdãvQM(€@P@ˆ29&1"üòKD|A¦>´R@,™¦÷G;»)¬5™R€ >¤š_„šÐ†G˜¶ă,¯þq@6*Lƒi°Íò²x‚Â4­ÀÊìnÃ6B Ì´Â v× +K#(À1Í4†…+, 4À4pèì< MÌ0ㆺØá.3ÖòË$pdÃL6à LÁp¼ÌÒÛH6(«°ÄÙì«p³ðñµô‘ðÆÄð0ɵq@!ù ÿ,")ÿÿ Hðߟƒ*\Hð5)T6üaH‘á ´) âaÅíÜK@R$~døGŽS `fÔ¶ÃʃŽWüƒg‹ S@Τ™æÜƒv9?þÑqB“‰§Oƒ–„­…Qœ=­pË)Ô—BI¾©JOUk†œw««¦·™DPó¦=-F ٣Ε ¿uÀõ­&[}·åe‚{oè2¤Z- ×’.­‚®sá:rt³mK’{÷„СS¨Z¨xºW£†ç[P$Ýéfñ–{0¤ ò!óÀv}¦h¨N9J°üÓN 82=0À`§™¥)Ê5tÿF³Ã…w M…œv;c5ð—ü”Úæ¾™«ÝeÕ7é ¥õ,øC_õi°\góÌ3E$Á<’;HeÅÍ y8…?à)ØÜ<5øÉ /¼ÆNçÆ794PŸ}÷ÙÖ:]ŒI08€GŠZã€$Ú·œmó@?å|rß "p¤^AíøÀ"öÕ6óAÆ< *g‹nð¸OhðÓáA…-ãÀ¨Á |Äòd€+æÀ‚üA1†#«dˆÀˆ/0BÄœ àÙ…p$DÊ!ÙªÐhßüÒ(ÀÁƒ'߀¡L7€¥,mðÍ7²xzÐ×$¦ÓŠ©¨RË­’2ѳ BpÔÊÐ5¸ÂñÅA×0ë4×è¤Ð Ðˆ®> 0 Ì ;,)Ò’â‰,Ì´¢ÂÚnKD#_ðÀ!­Ÿ³ ¹ñÙœËnžÀ»­f“ 3Ó0cœ¾ ñ G60sÈåVÄo#‚BÃK‹°»3ä þfÓlÆ ]s®ÇäÆÁ<”üÑ5ƾ ò¾(äûrªµ!ù ÿ,#)ÿÿ Hpà>þ\Ȱ!Á?ÖP¡2²A¡Ã‹ ÿè¸bJ›TT*bù"GS hÓ¦€Š'‹$j g”͔+wXq 3fIk'L5U¥Jm:yúÔhK€&¡5‹¦L°c´^ÚõlÈTÀ­[šÂš€§FªÊªÐhdÝZÐZ^Á†=ÁŽÄ–¢F­Bk!Å϶ÿÚ‰¨WM·ÂáùëcA©¦ôh{Ó€”ÅÛqãGX€á['tÀüãfÁÝ›zô¼%†É˜š)i¨A]âÅZÛvׄžzF¥iæÆb; ”¦L™]C@Ñn¼îÙ.ú5jLa8gÍ8ò<Ê5Lÿiž©¢Ž.аË=°p×mˆøç%þ¦ä_^£Ë/*ìpVC99àfб¬3}>|ÃBùí7:óØÒE  Ì;E`v [‘0„Ê-§Aa…Õ€À ,rXIásAà)GŠ5àÂ"$xáÀ‹#‘&b‰Lˆâ‘¼I$S\ð#`2ùÐÇ áYؤȂB#¡ö¶ (€tCˆ ©JÄÅòÀÑÈ ú€Â!‹¨ñðE­·bÖÎs¨Ð+®¢þÁ)(Ø:KonÈ2M+Ên¬¬Ð‘ ®\³k+½²°Î~í­íÍ!†¨ Â!ç¢Ëƒ,D4’ <4Â̵­Ñ¡½Äfã-3‡´0¤ÀbÆÃ©ÙdÂÓòEs ÷ö°¾pÈ4ÌÔ›±Æ—J6œhðTÐ!‘"Åv±®˜J@ÃŽZ\ÄÔÈ‘ ôÙRe¬ðLèt™@›¶7q"Ö<ècMštš0µ´§¶ 8ÖikÞ­[HM$] ó)bí(ZäÖº«H‘®Ù•d‚Ðf¢,r\Ð ÐtµÍ‚vxÖpùt‡ksÿY´ iІf¸ÅOÂ?žX6í¹cÇ v(A²ÈãXƒ½Æ,ðšÄ—]µ} «%\¤KC®Üñšð„kKR›)*QäÏ_Ž!÷¡9°šÿ¸§ vñ7l€ëÿ¸ƒË9éÇèJ¸‘øGD [–ÿmÐÌó^–Xì7ô™}Jtt¶(q5hÀÉ7aýA[&$‘‰PµóMc¹A†Î¶W ŸL§˜p'°C[EñŒãŸÎãÀ$ð£/ƒLv>@¸v9øgÚ]zý‚ÀÉ \Ä“C ÑØ<šeK<¬ò @Ò‚5ý±Ë ¦=vW P,p +ÁT‰@ +©&z‰dóL„ àØ/Ryd‘;òX…#íâE$8V…€Sqãb ]>|xljðÃ͈biN(éAˆPÍQâaJ(ñÍ(Àñé@žàÒ£ 6€0’Ì,C]3,­¾:–Œ4aH< uÀ®­6i„×ÀAHÄæJÊž*û«'dÓŠ Ð[Ó5Óºjí?í\ƒÂ!ÛB[ÀÆî G#Ù\ƒÙbH+Ðr¦+Ë»ñšËÌ!ÓlÛ ë õϤxšM6_42pÁ­L³¯Â]ó…¸ÙÀÌÀ­l£Âl oOc3¨™’¹p<Œò!‡12ÆÿÀܱÇ´Œ³AÍž 7ÿü7â³Ñ@¿+KÑL ÇÒQW”ÜP!ù ÿ,#*ÿÿ H° Á? *\ÈðßGеkHQáO¥®$ÐsdbÅŠKõ»g*ÁÆŽþio@¦Jšäè1%Áv±JÀÓd¢gL“ÚÞ ´éÐÚ¶14ñìé¨Ðšÿèèsº[š°šàSfС*}p» €«X±FágmAÏmXx‘‹)jÔ°z«o„nÚQÙb æÛ;âÌ=èi— \S"çµ*Ê6 RiëU4Ź•ó—'ÞÉóJ°ƒª9Ì’p/¸¡ÏhÓ¦÷òñ”yàk‚·¼ºƒ†›}J“Öw •Þ=ýz‹Œa Ú@lg¡td¼èœCÿ÷Tå‰vx Ÿ™ *wÓ’õŠH^?nžÒ¿6å‹ èÿ´Ã %þD¶W óýS_‘à§Ÿ%øÑ€µ3Äwyí5_;"h0Å æW6Äd“…÷ÍD> ‘Ç ƒo èa†{ͳÀDµó 2²f"7Ìeh•޵CK0@BÉžØd#ŽG’P;?0™‡ÜÉ€üè¥Wæ‘Y;@ã}™D™˜tñËp P–MqŸ—tíò‹²îY@‰‡5tiÓ»L áæv} `i9uði'(pLºØ(פĩ§D4Òˆ¨ýıA2Ì´R@ª­Š‚ ¯ÔÎ5(0£B j§(Àáê¤\óE† K,®yª²½þá)Ù2 Òª@-EÖ~Ñê²>LÐ3‡Ò ¸*4r … Y›l#Ù42Òî»*p€¦ Ù«l6dà »î¶Â %eí¹Ù Ì®·Ì|±½Õš Âôk3¤lLTAžÈrpÈ £àÇRBZqÈDÌ{2]2ç{Ì7·ƒB6D ÌóÍ2KÄ77´ÒÐ !ù ÿ,")ÿÿ H°`Á? *\¸ðO;˜3›ˆ¶¬Ga/xÇ‹ýÁ?Ñ‘5„‡þÌ 9H¸P;Ì`,ù°$1”è‘5ãŒÕE98ÂCkìL$UØÈÐTp€-uÇ—µÃ  é‘L D4§A×3EÔQ´Á¤|oV÷G{Sp äA‡’‚‚›~¾èß”Ð7Ѥ²'|Áãï ÀÉ€ j)¦²¼·è„èc*C *Êh6·öØŽ<ÁÌ&Áã?¹.š ¯ýñk°LÓŠ DZ ^ÚH#Ì>KD6‡H«µÕ^‹«¥¤.‹(4ÂÌ!‡2í¸Õ‹-)˜.›M̼o+óªpLZÐ{r»o Ã+¯ ­‚BÁÇäÉ¢ /nÄÌL\ZNžôÉ-Ãý€Ç+²Â gƒÂ5çTPÈË–z‹2/ä‰,_Àœ²ÌÎþ¬P@!ù ÿ, 'ÿÿ H°`Á?í|løc°¡C­=ƒÄW/O3FŒ·\S¦hÓ+ãAO:8¢O“  ˆ”ÒN#ÊxÜÌué"@À­[/_†”ùÁ?7-Œ“D©F tè|ÞÒäRhHm;Ž0$ø‡O\yòLÑà4ªTªUaÊÔFÇ(Wvåü‰«jÏ©ðN¬²E­È¬[zb!7,Ù¨Pl­ákáŸ~±ÞØp_¹)s¢iü'ð?<[b&ØMkÁÁþ¦Œ}ºÀóÀÇ‘w(ÀÈ•fÕdÛXs ^L¬o¸¾v!õ”§èZ7l.öìƒT…j‹¶ÁXIDk{ãçº$ÜèjÌÿ#áZ §~±ÏY‡8Dìat'Ö¿f§&²·cñ;Ž|•òÿxŽP2éQŒkž ±ZYÈ‘.i’Å»øÐ;ühpX Pt×'ã À‡'9ä‰9d•…N þó‡/ìcáCP¡¡S5ta ~ùÀÅ Ê=tbUpP„#àÐ@¼PE‹¯}ÃÍ( JòöN9ÿÑ8ˤ|AIÒøCÕÑÈÃ_Èbe™ÅB ?ìx9,²œ&æ 55ôa¢ g#³˜K9ü”$è,ašM–BîóIiž{Nºd;nÌÒˆ>´øÇn’Ùˆ§¯z)(4—rˆ ´bê,nî¹ê¹qÀd2sH+­`l+”u€¡f# ¬pÈ´Ó´¢­Æªpë›Ùd€·{HµÖ^kllÛláJ;.±×¶rHD@¢ <4 n¸Ó2Í4‡dƒÂŽi4‹®à Ë 3ÙrMÁ&AÄC#«²›M#C1W¢6‡Ãž´àÆ‚¹AâÈ&!ù ÿ,&ÿÿ H° Á\h0áÖA¢ƒaÃ?¬éˆ·™=îÝÛqäÏB‡ãqCc xšL˜0e*Am<üãCÉ.n9ÆÍà§Q·nÅ”Yóæ<;s”ËCuІFÑ!UºÔÔL›;Š™ø‡›?y¦X-ªU€&®šbÒ¼Ir¬ÀX’Ъ½z)”'ÐlSóU›¶:zbÖŸÕc¬áFÅÚOí<õûêêÀ?´ª>¶µ¡ÂÏÛ¼ÖÔV— ;Jj­¢ƒëàŸ2ÁîPXàâ´SjÔ°À.ÁX=æ²~ãg'·ØlÁWœ…óŽÖcÁŽ®‡Þ;q+ÿß ÞÓ¸µXçÕ>+‰ ›Ë=“íó+ºLÓ}onÊzÝÛõõmâñ— x±Å:ê-ä‡{séDyU\%VÅäÉŒÁ :ø`\Y,ˆŽ-à}¶Áñ|rÀB ÖÐEcTq‡ÅâÄùýã |ÐRpÀá†EžìÃEоñ0Á² Ç5ýñC ëÔΤ@‰PiÑ1àgP;<" RŠÉÐb(6ôäl6’›'qÓE–Ÿ‘Ò%‘„iÑ]üdHP;~²I„x.gŠt)K‘6ÚP;@˜#Ÿ@ˆF &£%ä‰@ Ù03K¨§RšÍ™‘…j* v2sˆ *PÀª‡¶j竲LZ+3ÓLc®¹êÊ«€fÓH0#í!ÔÒJ+$«¬–_ùj6ÐBKí4×"›¬ ­¼¸S·‚+.±†X{í!×l0ݲ´ë®­‡0“ ¤àëIB=’Õï·pÈRð5Ÿ6(YÌrÄOLP@!ù ÿ,%ÿÿ H°àŸƒÛyòamß‚þQ¸P‡’xÄä,Øv& _zµ#èCÉ®oÜDäø5®Ê˜1bÞ2a”ÍÚPmø_¹<@§LÑPÑ[H5Ѭ™ ék<¿áò—g(Ñ¢2oiRZóf‚7~²+çoJÕ)EÑÉܺµ¦‰¦ÚÞ z(ÐÚϳ5° €áĉkÂuŹãÝ•Zt%:|lðÔ®š¦Ÿ;ÜN†Ù¡5æ)9L0V¯;xâÙg1Qt HÔу©¶t|ðä&mQ²z"Ã4Áhx*éöÄjˆžú½5uÚƒÒ’¬¢«aë¹Ám^oÿ;ìch£Pt@ü÷gÁàÛ†zwÕè{3Ã[­ á¶bÈ!<˜Ëí³Ì0Sk¯D @ ³\ã¨íÖ)(|Á\#ðdø#ByŽ!ù ÿ, $ÿÿ Hðߟƒ"¸A‰Ã‡J(‰÷XEb‰QÑH¬Ø†JÊå9…’~]С›'àMjLÉLƒ¸på™2EC*ÑݪɄ ™¦h¾¹©DçΞ@Ñ hyKSQ£I•29RƒO•S5Uµzô¨V”vz­1ïD['àž˜‹•¦¶7x@ò̳vÀ† ž<ì&œÙÚ !Iò«-Oz 714vzyNú8ò¿v”ejÛñf±J<¢k9r»,1ïØáç_¬ž›9·.øÚ„ÝÙ˜uH‚ª’µçv%*ïPüO‡IÕèN|tå0ðæ’|ªîLýðÝÚxøiÿWɽàŸ5•ï½ÍtÞk¼k{МßÏ¨å ž?šU±?:˜SÅ€\Ãnúq3@ à°áà¸1Á7²Ap HP;px':D8)_TG†žy¢ˆ$¢@ĉ¦øYˆnBŠ‹/Â჌¼Ñhc…D4ÒÈŽ<ÔNˆØè"dCd‘3þ±A‰K6ùd‘GJù (4G6NB)P–S¢pb6B^É#™²˜ù%˜j¤ÐAdº(d“ÌrÀž|ÎâçŸ~òÀŽ”n‚™M†fÃÌ¢‹âè4­¨ÐŠ,RÙ$˜À¨£‡LcH¤*„ªB(HÉd“™fÚh§Ÿ‚j°–+ºÁ—¨¦ú¨§­¸:*¬!¥,'žŠf°^Þyi6p¼8 xÒá³sF»P@!ù ÿ, $ÿÿýûcÍ žÚµûðá#Fô´ª'NãîÜAÃÇ·oĨ(ѡà „ !úhà/Ož)S4Ô¨PnÁK²eË•+Yˆ©™juG…vÛÉ@ú·Æ,ð‡¿\pA$ŽáXnÛ8¨Í:8ðǤ‚-@8ĉýQBI¨qzáG/N@ʲ,¸xà¡ÄTø@/ƈ¤’L·àë%)² °$8zÑÛ #™Dp™¦š¡¡Ç?o¢ d#ÙÌIç8¶Á_è Ÿ~ªéC žà¹å’ÙôI§Dì Ú †ò)餪a‰g™KòÙH¢ ~#&žz6¢iŸ¥´`˜yb¦ª‘fƒÂ¤LÀÃ,ÄrA'µã Ùyª¦ÀL²Ì4«l²ª6"÷'DD›M²Ï2sÈ·ÓLcH+*”«Â&`4z-µn›ì!Þ†ÛʼäªPÀ½¤š,´ºûí!âŽ[o¹øŒ{zòä5×ÀCŒ³fÃÌ4‡Œkop¸çe« «° Ï‚c@!ù ÿ,&ÿÿ øgC»?*\ÈpáŸoœîäà¶K‰ƒÿ4Üøï\þòä™2åÂ…_"¸QÑáÃSFŽÿ<­ IRƒÍèÐ %‰lˆÅcéra¬r4§ÜÌ©ó–SM&L¨¹wϪ# ’IR)ÓNoA5aÊT³zŒdý×N†¿®5jÌÛ)@¬&¨cË&ÐöÆB3F*•K… %lE€O“)² öÞð¡P ¥šÐÙÚ±'±¨ô#kVÛŽsk=N™ݶµ =6»Ú µždŒ«“ì±’èM°ƒåì.kà=æ¸ÃRjôšÎÕnàƒq¢à©a»,k«ÿµ.bpN™~ ô±Eúh~^Î{»ì„G6}cCGJð—vmøÇÐë„gjXsÆ%€êÅ4[d ؆Ð7ž´ÃÇ]tÁT)7œ6Æý³8žx2)uü D:4ôG)¤íµCݱÃÁ.¾( pÀáœBÂÞXý±@-NðŲQ¤6ZCÅaàJ,l C‡¤2¤•p\ÃQFqöcˆ€P™_¦š09D ?ßüÑN™UÂÑH6xæiÝ6`ùÇ”D1h¡†ªh‹ Õý9d‘F:]à£Ñ¤ `e#iž7òs[¡™Í«§Â¶ÔÎã·è¨¯ªé›qfÕŽ,‚šM<ø€QB6RÑ YýA$©¯ð*DÈ2Á,{PBl3ƒsí 0è ”Ë̹‡œ[n#pÈBÊ,׸Æ8Õ„B6–3ûâï4ÓÒŠÀ­LsÈ8}¤Æ´ú2“î¿­D¬‚ ­¨P€ÅÇ(áÐg×ð@Š£ç<Ä[\ÀÉ hcF{<è!›|²#®É²“Rª!Ô¼+›E)!ù ÿ, (ÿÿ (ðA‚*Løg—…]>Ú\H1áEþòÌ!â›+*üó Wž“S¦ðãw¡#•ˆ!Ez’‘1Ï jÔ@ÇS@›5¨¸Ù3!»rSü¥Ì¹³ç-·4Áë±å ±—¶+bs©N§·¢j2AÖÔ=Sz|ÉJ¥®9ÑU‰ ªØ±&LéM`1¶‹¤¼¹s€7Ć€‹p Þ½|Qm@¨c†Wtþþ3øÇb%Ô˜ÊËwÇZ‚¸ÙdŠ®‘ÄÊòÕFG‹7ã¢[˜ §5yM%жã\;Ôß4LùŠŠm…ì’èÕ6šŸÞídàdî ÷À?Û‚ÿß‘ËB%üX7à] µ-{‰CÔû¦M˜g¸€ôø“¤Ã:5•Y{ÿl@iÚwÚw»˜C`S¶¼ÆPlÂG‡+õÇ,¤àÓGæŒÁ›BždáqÆ´H~÷‡âiS[‡/rä:ªØÈÀí‚Æj8¶ƒ{é`Ëx‚% =Â!‹‹ ¹ÁY:qè_ 3ø fŠpÀÑ.ôG;íÄÜ<°æ’}fG mŽ”€cŠD4Òˆ£:ô‡]hCij2¹é£2-dMH‚‡BžÈÈÒ禜¦:Ðôa‘'Zfã+ª¶E¢>”Ø#­Ù 0‹P‘†SÃßJ„¯¾€£Ê2»Ð§ˆQä?ídJ«µÌ0€¹pðàÃe¶Qƒ$±ØwÀ´ÖÖÀ!ø2 3>ÀîSè l<am¾úN£°!ûö«¢ã{‘f<4ÂÌ4­d¬± «045Pmª7‚o+«P@›h1Ũ¶ êƒ5(¤!ù ÿ,")ÿÿ Hðߟƒ*\XPŸ]íþ0œÈ°]\årìò¢Çv(ùËãoÊŒ":zTøGI¹‘y4LÑ Ÿb%®øG‹)yòL™Y£(º.cDàQéqÃ8¡3‰Ö@'Õ[cÀQáø1$T E§Vp«lYx[¶¹aJð¾¡CÁ¢³…fÌ-²šniÒd¢¯šH¶êä©CX\¹'t´óA \„½|ûš0•À”_~ÿÓ1.îTtPbé<ÏA›È¦R'H í†‚íDÌ+vfƒÜdJ2™òj K‚äGsj ÜÚ-l®÷jm;Ž þÃŽ¸Q«á6,—£Fµ6èG” ÿìY…ög[:ng—Ä;ô\Ún0g^,1õ­‘QÍzGšô]#Â]5Ïâ%´A?©Q4ƒÜvÀ²ôñKè€ãÉr t÷œ6Є—Ð5" Ž\BÈÑžƒ;ì@C‚M(ˉp±!‹xô0Ùsþ¹‚ß5&¢@pìX~?®¶+òѤ|#>°è@_¾iCG1·ýa 7\c¥‘HfYл”ÐÃ=ý‰XáüÒŽ_ ÙH#ñ­ùcáÜ£€š°­Sƒ×È¢g„²äÖÜÖÎóh Ê"™ £©G2ÝQ¦žpºOÖœPÃã,寑{fâ“M£;y²F PDn «©§NZ %}ˆw ±fÓÈl1ôG)ó¬šC‚n$»i6DÀÕD=µÎŠ(Pµ²n3Ì`KJN щ«0¢µÅ æpn‡ l é:èäJ&‹e‘ ºù&< 3pLÀn;rD;E±ÎþÉC#‡2Í!Óh¬q²ô˨S°@ëB´s1Ç­¨Ð² 0Ò«*e§ð2̰‰aºâ×érHÏpAñ©Ün0A6­@` Ö+䯶 !ùÿ,$*ÿÿ HàŸ  *\ÈPa; E¾yJذbÇ1p呱 ¡ÅÿàÃå/É)w¨´£’á<ÂJæ™2EÃ~hv­l©ð'ijÐP£h—:Y¶ô9nÊÌšDÑI€N”Jþ(­è“…S¡5¤N­z«,pìvrÕÑ,ºyë†DPVS]š’°Ñ¡Õ%[°a,XéÆA„[šk2a”‰Høöü;´èÛÁ!Ýl‹ ˜±)S Lù’ÒΠµq•-ÏËä©g¬I›H@;ž#¥2%j¹*·Ü=ñli :¶ÛÀ}Váö2ð‚¬õû\üø‘Öݘ«5ì¼!Ï êÿ C¶¶¸ ÎâV¥‹jð.­‘!N{Ç›ôê'Ôq]Ì EG†ÕÙ‡ŸAB p_€ò5fÞè…§[‚_ÈBðpH+«P€ útAÃ7t) à2!”ä¡H,)[ô‡,»¬E ({ÊέÀÍ>÷ë ¶½TÍ;traitsui-7.2.1/traitsui/examples/demo/Extras/tests/0000755000076500000240000000000014046644526023025 5ustar aayresstaff00000000000000traitsui-7.2.1/traitsui/examples/demo/Extras/tests/__init__.py0000644000076500000240000000000014046644454025124 0ustar aayresstaff00000000000000traitsui-7.2.1/traitsui/examples/demo/Extras/tests/test_Image_editor_demo.py0000644000076500000240000000201714046644454030032 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! """ This file provides tests for the demo of the same name located in the directory one level up. """ import os import runpy import unittest #: Filename of the demo script FILENAME = "Image_editor_demo.py" #: Path of the demo script DEMO_PATH = os.path.join(os.path.dirname(__file__), "..", FILENAME) class TestImageEditorDemo(unittest.TestCase): def test_image_path_exists(self): search_path, = runpy.run_path(DEMO_PATH)["search_path"] self.assertTrue(os.path.exists(search_path)) # Run the test(s) unittest.TextTestRunner().run( unittest.TestLoader().loadTestsFromTestCase(TestImageEditorDemo) ) traitsui-7.2.1/traitsui/examples/demo/Extras/LED_display.py0000644000076500000240000000655114046644454024375 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! """ This demo illustrates use of the LEDEditor for displaying numeric values using a simulated LED display control. """ from threading import Thread from time import sleep from traits.api import HasTraits, Instance, Int, Bool, Float from traitsui.api import View, Item, HGroup, Handler, UIInfo, spring from traits.etsconfig.api import ETSConfig if ETSConfig.toolkit == 'wx': from traitsui.wx.extra.led_editor import LEDEditor else: from traitsui.qt4.extra.led_editor import LEDEditor # Handler class for the LEDDemo class view: class LEDDemoHandler(Handler): # The UIInfo object associated with the UI: info = Instance(UIInfo) # Is the demo currently running: running = Bool(True) # Is the thread still alive? alive = Bool(True) def init(self, info): self.info = info Thread(target=self._update_counter).start() def closed(self, info, is_ok): self.running = False while self.alive: sleep(.05) def _update_counter(self): while self.running: self.info.object.counter1 += 1 self.info.object.counter2 += .001 sleep(.01) self.alive = False # The main demo class: class LEDDemo(HasTraits): # A counter to display: counter1 = Int() # A floating point value to display: counter2 = Float() # The traits view: view = View( Item('counter1', label='Left aligned', editor=LEDEditor(alignment='left') ), Item('counter1', label='Center aligned', editor=LEDEditor(alignment='center') ), Item('counter1', label='Right aligned', editor=LEDEditor() # default = 'right' aligned ), Item('counter2', label='Float value', editor=LEDEditor(format_str='%.3f') ), '_', HGroup( Item('counter1', label='Left', height=-40, width=120, editor=LEDEditor(alignment='left') ), spring, Item('counter1', label='Center', height=-40, width=120, editor=LEDEditor(alignment='center') ), spring, Item('counter1', label='Right', height=-40, width=120, editor=LEDEditor() # default = 'right' aligned ), spring, Item('counter2', label='Float', height=-40, width=120, editor=LEDEditor(format_str='%.3f') ) ), title='LED Editor Demo', buttons=['OK'], handler=LEDDemoHandler ) # Create the demo: demo = LEDDemo() # Run the demo (if invoked from the command line): if __name__ == '__main__': demo.configure_traits() traitsui-7.2.1/traitsui/examples/demo/Extras/windows/0000755000076500000240000000000014046644526023355 5ustar aayresstaff00000000000000traitsui-7.2.1/traitsui/examples/demo/Extras/windows/flash.py0000644000076500000240000000332014046644454025022 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! """ Demo showing how to use the Windows specific Flash editor. """ # Imports: from traitsui.wx.extra.windows.flash_editor \ import FlashEditor from traits.api \ import Enum, HasTraits from traitsui.api \ import View, HGroup, Item # The demo class: class FlashDemo(HasTraits): # The Flash file to display: flash = Enum( 'http://www.ianag.com/arcade/swf/sudoku.swf', 'http://www.ianag.com/arcade/swf/f-336.swf', 'http://www.ianag.com/arcade/swf/f-3D-Reversi-1612.swf', 'http://www.ianag.com/arcade/swf/game_234.swf', 'http://www.ianag.com/arcade/swf/flashmanwm.swf', 'http://www.ianag.com/arcade/swf/2379_gyroball.swf', 'http://www.ianag.com/arcade/swf/f-1416.swf', 'http://www.ianag.com/arcade/swf/mah_jongg.swf', 'http://www.ianag.com/arcade/swf/game_e4fe4e55fedc2f502be627ee6df716c5.swf', 'http://www.ianag.com/arcade/swf/rhumb.swf') # The view to display: view = View( HGroup( Item('flash', label='Pick a game to play') ), '_', Item('flash', show_label=False, editor=FlashEditor() ) ) # Create the demo: demo = FlashDemo() # Run the demo (if invoked from the command line): if __name__ == '__main__': demo.configure_traits() traitsui-7.2.1/traitsui/examples/demo/Extras/windows/internet_explorer.py0000644000076500000240000000533514046644454027505 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! """ Demo showing how to use the Windows specific Internet Explorer editor. """ # Imports: from traitsui.wx.extra.windows.ie_html_editor \ import IEHTMLEditor from traits.api \ import Str, List, Button, HasTraits from traitsui.api \ import View, VGroup, HGroup, Item, TextEditor, ListEditor # The web page class: class WebPage(HasTraits): # The URL to display: url = Str('http://code.enthought.com') # The page title: title = Str() # The page status: status = Str() # The browser navigation buttons: back = Button('<--') forward = Button('-->') home = Button('Home') stop = Button('Stop') refresh = Button('Refresh') search = Button('Search') # The view to display: view = View( HGroup('back', 'forward', 'home', 'stop', 'refresh', 'search', '_', Item('status', style='readonly'), show_labels=False ), Item('url', show_label=False, editor=IEHTMLEditor( home='home', back='back', forward='forward', stop='stop', refresh='refresh', search='search', title='title', status='status') ) ) # The demo class: class InternetExplorerDemo(HasTraits): # A URL to display: url = Str('http://') # The list of web pages being browsed: pages = List(WebPage) # The view to display: view = View( VGroup( Item('url', label='Location', editor=TextEditor(auto_set=False, enter_set=True) ) ), Item('pages', show_label=False, style='custom', editor=ListEditor(use_notebook=True, deletable=True, dock_style='tab', export='DockWindowShell', page_name='.title') ) ) # Event handlers: def _url_changed(self, url): self.pages.append(WebPage(url=url.strip())) # Create the demo: demo = InternetExplorerDemo( pages=[WebPage(url='http://code.enthought.com/projects/traits/'), WebPage(url='http://dmorrill.com')]) # Run the demo (if invoked from the command line): if __name__ == '__main__': demo.configure_traits() traitsui-7.2.1/traitsui/examples/demo/Extras/animated_GIF.py0000644000076500000240000000342214046644454024505 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! """ This demo shows you how to use animated GIF files in a traits user interface. Note that this demo only works with wx backend. """ from os.path import join, dirname, abspath from traits.api import HasTraits, File, Bool from traitsui.api import View, VGroup, HGroup, Item, EnumEditor from traitsui.wx.animated_gif_editor import AnimatedGIFEditor # Some sample animated GIF files: base_path = join(dirname(__file__), 'images') files = [ abspath(join(base_path, 'logo_64x64.gif')), abspath(join(base_path, 'logo_48x48.gif')), abspath(join(base_path, 'logo_32x32.gif')) ] class AnimatedGIFDemo(HasTraits): # The animated GIF file to display: gif_file = File(files[0]) # Is the animation playing or not? playing = Bool(True) # The traits view: view = View( VGroup( HGroup( Item('gif_file', editor=AnimatedGIFEditor(playing='playing'), show_label=False), Item('playing'), ), '_', Item('gif_file', label='GIF File', editor=EnumEditor(values=files) ) ), title='Animated GIF Demo', buttons=['OK'] ) # Create the demo: demo = AnimatedGIFDemo() # Run the demo (if invoked from the command line): if __name__ == '__main__': demo.configure_traits() traitsui-7.2.1/traitsui/helper.py0000644000076500000240000001401414046644454017504 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! """ Defines various helper functions that are useful for creating Traits-based user interfaces. """ from operator import itemgetter from traits.api import BaseTraitHandler, CTrait, Enum, TraitError # ------------------------------------------------------------------------- # Trait definitions: # ------------------------------------------------------------------------- # Layout orientation for a control and its associated editor Orientation = Enum("horizontal", "vertical") # Docking drag bar style: DockStyle = Enum("horizontal", "vertical", "tab", "fixed") def user_name_for(name): """ Returns a "user-friendly" name for a specified trait. """ name = name.replace("_", " ") name = name[:1].upper() + name[1:] result = "" last_lower = 0 for c in name: if c.isupper() and last_lower: result += " " last_lower = c.islower() result += c return result def commatize(value): """ Formats a specified value as an integer string with embedded commas. For example: commatize( 12345 ) returns "12,345". """ s = str(abs(value)) s = s.rjust(((len(s) + 2) / 3) * 3) result = ",".join([s[i: i + 3] for i in range(0, len(s), 3)]).lstrip() if value >= 0: return result return "-" + result def enum_values_changed(values, strfunc=str): """ Recomputes the mappings for a new set of enumeration values. """ if isinstance(values, dict): data = [(strfunc(v), n) for n, v in values.items()] if len(data) > 0: data.sort(key=itemgetter(0)) col = data[0][0].find(":") + 1 if col > 0: data = [(n[col:], v) for n, v in data] elif not isinstance(values, SequenceTypes): handler = values if isinstance(handler, CTrait): handler = handler.handler if not isinstance(handler, BaseTraitHandler): raise TraitError("Invalid value for 'values' specified") if handler.is_mapped: data = [(strfunc(n), n) for n in handler.map.keys()] data.sort(key=itemgetter(0)) else: data = [(strfunc(v), v) for v in handler.values] else: data = [(strfunc(v), v) for v in values] names = [x[0] for x in data] mapping = {} inverse_mapping = {} for name, value in data: mapping[name] = value inverse_mapping[value] = name return (names, mapping, inverse_mapping) def compute_column_widths(available_space, requested, min_widths, user_widths): """ Distribute column space amongst columns based on requested space. Widths requests can be specified as one of the following: - a value greater than 1.0 is treated as a fixed width with no flexibility (ie. a minimum width as specified and a weight of 0.0) - a value between 0.0 and 1.0 is treaded as a flexible width column with the specified width as a weight and a minimum width provided by the min_widths entry. - a value less than or equal to 0.0 is treated as a flexible width column with a weight of 0.1 and a minimum width provided by the min_widths parameter. If user widths are supplied then any non-None values override the requested widths, and are treated as having a flexibility of 0. Space is distributed by evaluating each column from smallest weight to largest and seeing if the weighted proportion of the remaining space is more than the minimum, and if so replacing the width with the weighted width. The column is then removed from the available width and the total weight and the analysis continues. Parameters ---------- available_space : int The available horizontal space. requested : list of numbers The requested width or weight for each column. min_widths : None or list of ints The minimum width for each flexible column user_widths : None or list of int or None Any widths specified by the user resizing the columns manually. Returns ------- widths : list of ints The assigned width for each column """ widths = [] weights = [] if min_widths is None: min_widths = [30] * len(requested) # determine flexibility and default width of each column for request, min_width in zip(requested, min_widths): if request >= 1.0: weights.append(0.0) widths.append(int(request)) else: if request <= 0: weights.append(0.1) else: weights.append(request) widths.append(min_width) # if the user has changed the width of a column manually respect that if user_widths is not None: for i, user_width in enumerate(user_widths): if user_width is not None: widths[i] = user_width weights[i] = 0.0 total_weight = sum(weights) if sum(widths) < available_space and total_weight > 0: # do inflexible first, then work up from smallest to largest for i, weight in sorted(enumerate(weights), key=itemgetter(1, 0)): total_weight = sum(weights) stretched = int(weight / total_weight * available_space) widths[i] = max(stretched, widths[i]) # once we have dealt with a column, it no longer counts as flexible # and its space is no longer available weights[i] = 0.0 available_space -= widths[i] return widths # ------------------------------------------------------------------------- # Other definitions: # ------------------------------------------------------------------------- SequenceTypes = (tuple, list) traitsui-7.2.1/traitsui/undo.py0000644000076500000240000003605014046644454017176 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! """ Defines the manager for Undo and Redo history for Traits user interface support. """ import collections.abc from traits.api import ( Bool, Event, HasPrivateTraits, HasStrictTraits, HasTraits, Instance, Int, List, Property, Str, Trait, cached_property, observe, ) from pyface.undo.api import ( AbstractCommand, CommandStack, ICommand, ICommandStack, IUndoManager, UndoManager ) NumericTypes = (int, float, complex) SimpleTypes = (str, bytes) + NumericTypes class AbstractUndoItem(AbstractCommand): """ Abstract base class for undo items. This class is deprecated and will be removed in TraitsUI 8. Any custom subclasses of this class should either subclass from AbstractCommand, or provide the ICommand interface. """ #: A simple default name. name = "Edit" def do(self): """ Does nothing. All undo items log events after they have happened, so by default they do not do anything when added to the history. """ pass def undo(self): """ Undoes the change. """ raise NotImplementedError def redo(self): """ Re-does the change. """ raise NotImplementedError def merge(self, other): """ Merges two undo items if possible. """ import warnings warnings.warn( "'merge_undo' is deprecated and will be removed in TraitsUI 8, " "use 'merge' instead", DeprecationWarning, ) return self.merge_undo(other) def merge_undo(self, undo_item): """ Merges two undo items if possible. This method is deprecated. """ return False class UndoItem(AbstractUndoItem): """ A change to an object trait, which can be undone. """ # ------------------------------------------------------------------------- # Trait definitions: # ------------------------------------------------------------------------- #: Object the change occurred on object = Instance(HasTraits) #: Name of the trait that changed name = Str() #: Old value of the changed trait old_value = Property() #: New value of the changed trait new_value = Property() def _get_old_value(self): return self._old_value def _set_old_value(self, value): if isinstance(value, list): value = value[:] self._old_value = value def _get_new_value(self): return self._new_value def _set_new_value(self, value): if isinstance(value, list): value = value[:] self._new_value = value def undo(self): """ Undoes the change. """ try: setattr(self.object, self.name, self.old_value) except Exception: from traitsui.api import raise_to_debug raise_to_debug() def redo(self): """ Re-does the change. """ try: setattr(self.object, self.name, self.new_value) except Exception: from traitsui.api import raise_to_debug raise_to_debug() def merge(self, undo_item): """ Merges two undo items if possible. """ # Undo items are potentially mergeable only if they are of the same # class and refer to the same object trait, so check that first: if ( isinstance(undo_item, self.__class__) and (self.object is undo_item.object) and (self.name == undo_item.name) ): v1 = self.new_value v2 = undo_item.new_value t1 = type(v1) if isinstance(v2, t1): if isinstance(v1, str): # Merge two undo items if they have new values which are # strings which only differ by one character (corresponding # to a single character insertion, deletion or replacement # operation in a text editor): n1 = len(v1) n2 = len(v2) if abs(n1 - n2) > 1: return False n = min(n1, n2) i = 0 while (i < n) and (v1[i] == v2[i]): i += 1 if v1[i + (n2 <= n1):] == v2[i + (n2 >= n1):]: self.new_value = v2 return True elif isinstance(v1, collections.abc.Sequence): # Merge sequence types only if a single element has changed # from the 'original' value, and the element type is a # simple Python type: v1 = self.old_value if isinstance(v1, collections.abc.Sequence): # Note: wxColour says it's a sequence type, but it # doesn't support 'len', so we handle the exception # just in case other classes have similar behavior: try: if len(v1) == len(v2): diffs = 0 for i, item in enumerate(v1): titem = type(item) item2 = v2[i] if ( (titem not in SimpleTypes) or (not isinstance(item2, titem)) or (item != item2) ): diffs += 1 if diffs >= 2: return False if diffs == 0: return False self.new_value = v2 return True except Exception: pass elif t1 in NumericTypes: # Always merge simple numeric trait changes: self.new_value = v2 return True return False def merge_undo(self, undo_item): """ Merges two undo items if possible. This is deprecated. """ return self.merge(undo_item) def __repr__(self): """ Returns a "pretty print" form of the object. """ n = self.name cn = self.object.__class__.__name__ return "undo( %s.%s = %s )\nredo( %s.%s = %s )" % ( cn, n, self.old_value, cn, n, self.new_value, ) class ListUndoItem(AbstractUndoItem): """ A change to a list, which can be undone. """ # ------------------------------------------------------------------------- # Trait definitions: # ------------------------------------------------------------------------- #: Object that the change occurred on object = Instance(HasTraits) #: Name of the trait that changed name = Str() #: Starting index index = Int() #: Items added to the list added = List() #: Items removed from the list removed = List() def undo(self): """ Undoes the change. """ try: list = getattr(self.object, self.name) list[self.index : (self.index + len(self.added))] = self.removed except Exception: from traitsui.api import raise_to_debug raise_to_debug() def redo(self): """ Re-does the change. """ try: list = getattr(self.object, self.name) list[self.index : (self.index + len(self.removed))] = self.added except Exception: from traitsui.api import raise_to_debug raise_to_debug() def merge(self, undo_item): """ Merges two undo items if possible. """ # Discard undo items that are identical to us. This is to eliminate # the same undo item being created by multiple listeners monitoring the # same list for changes: if ( isinstance(undo_item, self.__class__) and (self.object is undo_item.object) and (self.name == undo_item.name) and (self.index == undo_item.index) ): added = undo_item.added removed = undo_item.removed if (len(self.added) == len(added)) and ( len(self.removed) == len(removed) ): for i, item in enumerate(self.added): if item is not added[i]: break else: for i, item in enumerate(self.removed): if item is not removed[i]: break else: return True return False def merge_undo(self, undo_item): """ Merges two undo items if possible. This is deprecated. """ return self.merge(undo_item) def __repr__(self): """ Returns a 'pretty print' form of the object. """ return "undo( %s.%s[%d:%d] = %s )" % ( self.object.__class__.__name__, self.name, self.index, self.index + len(self.removed), self.added, ) class _MultiUndoItem(AbstractCommand): """ The _MultiUndoItem class is an internal command that unifies commands. """ name = "Edit" #: The commands that make up this undo item. commands = List(Instance(ICommand)) def push(self, command): """ Append a command, merging if possible. """ if len(self.commands) > 0: merged = self.commands[-1].merge(command) if merged: return self.commands.append(command) def merge(self, other): """ Try and merge a command. """ return False def redo(self): """ Redo the sub-commands. """ for cmd in self.commands: cmd.redo() def undo(self): """ Undo the sub-commands. """ for cmd in self.commands: cmd.undo() class UndoHistory(HasStrictTraits): """ Manages a list of undoable changes. """ # ------------------------------------------------------------------------- # Trait definitions: # ------------------------------------------------------------------------- #: The undo manager for the history. manager = Instance(IUndoManager, allow_none=False) #: The command stack for the history. stack = Instance(ICommandStack, allow_none=False) #: List of accumulated undo changes. Each item is a list of #: AbstractUndoItems that should be done or undone as a group. #: This trait should be considered private. #: This trait is no longer used. history = List() #: The current position in the list now = Property(Int, observe='stack._index') #: Fired when state changes to undoable undoable = Event(False) #: Fired when state changes to redoable redoable = Event(False) #: Can an action be undone? can_undo = Property(Bool, observe='_can_undo') #: Can an action be redone? can_redo = Property(Bool, observe='_can_redo') _can_undo = Bool() _can_redo = Bool() def add(self, undo_item, extend=False): """ Adds an UndoItem to the history. """ if extend: self.extend(undo_item) else: self.manager.active_stack = self.stack self.stack.push(undo_item) def extend(self, undo_item): """ Extends the undo history. If possible the method merges the new UndoItem with the last item in the history; otherwise, it appends the new item. """ self.manager.active_stack = self.stack # get the last command in the stack # XXX this is using CommandStack internals that it should not # XXX this should be re-architected to use the macro interface # XXX it possibly should be removed altogether entries = self.stack._stack if len(entries) > 0: command = entries[-1].command if not isinstance(command, _MultiUndoItem): command = _MultiUndoItem(commands=[command]) entries[-1].command = command else: command = _MultiUndoItem(commands=[]) command.push(undo_item) def undo(self): """ Undoes an operation. """ if self.can_undo: self.manager.undo() def redo(self): """ Redoes an operation. """ if self.can_redo: self.manager.redo() def revert(self): """ Reverts all changes made so far and clears the history. """ # undo everything self.manager.active_stack = self.stack self.stack.undo(sequence_nr=-1) self.clear() def clear(self): """ Clears the undo history. """ self.manager.active_stack = self.stack self.stack.clear() @observe('manager.stack_updated') def _observe_stack_updated(self, event): """ Update undo/redo state. """ self._can_undo = (self.manager and self.manager.undo_name != "") self._can_redo = (self.manager and self.manager.redo_name != "") @observe('_can_undo') def _observe_can_undo(self, event): self.undoable = event.new @observe('_can_redo') def _observe_can_redo(self, event): self.redoable = event.new @cached_property def _get_now(self): return self.stack._index + 1 def _get_can_undo(self): return self._can_undo def _get_can_redo(self): return self._can_redo def _manager_default(self): manager = UndoManager() return manager def _stack_default(self): stack = CommandStack(undo_manager=self.manager) return stack class UndoHistoryUndoItem(AbstractUndoItem): """ An undo item for the undo history. """ # ------------------------------------------------------------------------- # Trait definitions: # ------------------------------------------------------------------------- #: The undo history to undo or redo history = Instance(UndoHistory) def undo(self): """ Undoes the change. """ history = self.history for i in range(history.now - 1, -1, -1): items = history.history[i] for j in range(len(items) - 1, -1, -1): items[j].undo() def redo(self): """ Re-does the change. """ history = self.history for i in range(0, history.now): for item in history.history[i]: item.redo() traitsui-7.2.1/traitsui/include.py0000644000076500000240000000503214046644454017650 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! """ Defines the Include class, which is used to represent a substitutable element within a user interface View. """ from traits.api import Str from .view_element import ViewSubElement class Include(ViewSubElement): """ A substitutable user interface element, i.e., a placeholder in a view definition. When a view object constructs an attribute-editing window, any Include objects within the view definition are replaced with a group or item defined elsewhere in the object's inheritance tree, based on matching of the name of the element. If no matching element is found, the Include object is ignored. An Include object can reference a group or item attribute on a parent class or on a subclass. For example, the following class contains a view definition that provides for the possibility that a subclass might add "extra" attributes in the middle of the view:: class Person(HasTraits): name = Str() age = Int() person_view = View('name', Include('extra'), 'age', kind='modal') If you directly create an instance of Person, and edit its attributes, the Include object is ignored. The following class extends Person, and defines a group of "extra" attributes to add to the view defined on Person:: class LocatedPerson(Person): street = Str() city = Str() state = Str() zip = Int() extra = Group('street', 'city', 'state', 'zip') The attribute-editing window for an instance of LocatedPerson displays editors for these extra attributes. """ # ------------------------------------------------------------------------- # Trait definitions: # ------------------------------------------------------------------------- #: The name of the substitutable content id = Str() def __init__(self, id, **traits): """ Initializes the Include object. """ super().__init__(**traits) self.id = id def __repr__(self): """ Returns a "pretty print" version of the Include object. """ return "<%s>" % self.id traitsui-7.2.1/traitsui/group.py0000644000076500000240000006015614046644454017371 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! """ Defines the Group class used to represent a group of items used in a Traits-based user interface. """ from traits.api import ( Bool, Delegate, Float, Instance, List, Property, Range, ReadOnly, Str, TraitError, cached_property, ) from .view_element import ViewSubElement from .item import Item from .include import Include from .ui_traits import SequenceTypes, ContainerDelegate, Orientation, Layout from .dock_window_theme import dock_window_theme, DockWindowTheme # ------------------------------------------------------------------------- # Trait definitions: # ------------------------------------------------------------------------- # Delegate trait to the object being "shadowed" ShadowDelegate = Delegate("shadow") # Amount of padding to add around item Padding = Range(0, 15, desc="amount of padding to add around each item") class Group(ViewSubElement): """ Represents a grouping of items in a user interface view. """ # ------------------------------------------------------------------------- # Trait definitions: # ------------------------------------------------------------------------- #: A list of Group, Item, and Include objects in this group. content = List(ViewSubElement) #: A unique identifier for the group. id = Str() #: User interface label for the group. How the label is displayed depends #: on the **show_border** attribute, and on the **layout** attribute of #: the group's parent group or view. label = Str() style_sheet = Str() #: Default context object for group items. object = ContainerDelegate #: Default editor style of items in the group. style = ContainerDelegate #: Default docking style of items in group. dock = ContainerDelegate #: Default image to display on notebook tabs. image = ContainerDelegate #: The theme to use for a DockWindow: dock_theme = Instance(DockWindowTheme, allow_none=False) #: Category of elements dragged from view. export = ContainerDelegate #: Spatial orientation of the group's elements. Can be 'vertical' (default) #: or 'horizontal'. orientation = Orientation #: Layout style of the group, which can be one of the following: #: #: * 'normal' (default): Sub-groups are displayed sequentially in a single #: panel. #: * 'flow': Sub-groups are displayed sequentially, and then "wrap" when #: they exceed the available space in the **orientation** direction. #: * 'split': Sub-groups are displayed in a single panel, separated by #: "splitter bars", which the user can drag to adjust the amount of space #: for each sub-group. #: * 'tabbed': Each sub-group appears on a separate tab, labeled with the #: sub-group's *label* text, if any. #: #: This attribute is ignored for groups that contain only items, or contain #: only one sub-group. layout = Layout #: Should the group be scrollable along the direction of orientation? scrollable = Bool(False) #: The number of columns in the group columns = Range(1, 50) #: Should a border be drawn around group? If set to True, the **label** text #: is embedded in the border. If set to False, the label appears as a banner #: above the elements of the group. show_border = Bool(False) #: Should labels be added to items in group? Only items that are directly #: contained in the group are affected. That is, if the group contains #: a sub-group, the display of labels in the sub-group is not affected by #: the attribute on this group. show_labels = Bool(True) #: Should labels be shown to the left of items (True) or the right (False)? #: Only items that are directly contained in the group are affected. That is, #: if the group contains a sub-group, the display of labels in the sub-group #: is not affected by the attribute in this group. If **show_labels** is #: False, this attribute is irrelevant. show_left = Bool(True) #: Is this group the tab that is initially selected? If True, the group's #: tab is displayed when the view is opened. If the **layout** of the group's #: parent is not 'tabbed', this attribute is ignored. selected = Bool(False) #: Should the group use extra space along its parent group's layout #: orientation? springy = Bool(False) #: Optional help text (for top-level group). This help text appears in the #: View-level help window (created by the default help handler), for any #: View that contains *only* this group. Group-level help is ignored for #: nested groups and multiple top-level groups help = Str() #: Pre-condition for including the group in the display. If the expression #: evaluates to False, the group is not defined in the display. Conditions #: for **defined_when** are evaluated only once, when the display is first #: constructed. Use this attribute for conditions based on attributes that #: vary from object to object, but that do not change over time. defined_when = Str() #: Pre-condition for showing the group. If the expression evaluates to False, #: the group and its items are not visible (and they disappear if they were #: previously visible). If the value evaluates to True, the group and items #: become visible. All **visible_when** conditions are checked each time #: that any trait value on an object in the UI's context is changed. #: Therefore, you can use **visible_when** conditions to hide or show #: groups in response to user input. Be aware that this only applies to #: traits in the UI's context. As a result, changes to nested traits that #: don't also change a trait on some object in the context may not #: trigger the expression to be checked. Additionally, the expression needs #: to be a valid python expression given the context. i.e. #: eval(visible_when, globals=globals(), locals=context) should succeed. visible_when = Str() #: Pre-condition for enabling the group. If the expression evaluates to False, #: the group is disabled, that is, none of the widgets accept input. All #: **enabled_when** conditions are checked each time that any trait value #: on an object in the UI's context is changed. Therefore, you can use #: **enabled_when** conditions to enable or disable groups in response to #: user input. Be aware that this only applies to traits in the UI's #: context. As a result, changes to nested traits that don't also change a #: trait on some object in the context may not trigger the expression to be #: checked. Additionally, the expression needs to be a valid python #: expression given the context. i.e. #: eval(enabled_when, globals=globals(), locals=context) should succeed. enabled_when = Str() #: Amount of padding (in pixels) to add around each item in the group. The #: value must be an integer between 0 and 15. (Unlike the Item class, the #: Group class does not support negative padding.) The padding for any #: individual widget is the sum of the padding for its Group, the padding #: for its Item, and the default spacing determined by the toolkit. padding = Padding #: Requested width of the group (calculated from widths of contents) width = Property(Float, observe="content") #: Requested height of the group (calculated from heights of contents) height = Property(Float, observe="content") def __init__(self, *values, **traits): """ Initializes the group object. """ super().__init__(**traits) content = self.content # Process any embedded Group options first: for value in values: if (isinstance(value, str)) and (value[0:1] in "-|"): # Parse Group trait options if specified as a string: self._parse(value) # Process all of the data passed to the constructor: for value in values: if isinstance(value, ViewSubElement): content.append(value) elif type(value) in SequenceTypes: # Map (...) or [...] to a Group(): content.append(Group(*value)) elif isinstance(value, str): if value[0:1] in "-|": # We've already parsed Group trait options above: pass elif (value[:1] == "<") and (value[-1:] == ">"): # Convert string to an Include value: content.append(Include(value[1:-1].strip())) else: # Else let the Item class try to make sense of it: content.append(Item(value)) else: raise TypeError("Unrecognized argument type: %s" % value) # Make sure this Group is the container for all its children: self.set_container() # -- Default Trait Values ------------------------------------------------- def _dock_theme_default(self): return dock_window_theme() def get_label(self, ui): """ Gets the label to use this group. """ if self.label != "": return self.label return "Group" def is_includable(self): """ Returns a Boolean value indicating whether the object is replacable by an Include object. """ return self.id != "" def replace_include(self, view_elements): """ Replaces any items that have an **id** attribute with an Include object with the same ID value, and puts the object with the ID into the specified ViewElements object. Parameters ---------- view_elements : ViewElements object A set of Group, Item, and Include objects """ for i, item in enumerate(self.content): if item.is_includable(): id = item.id if id in view_elements.content: raise TraitError( "Duplicate definition for view element '%s'" % id ) self.content[i] = Include(id) view_elements.content[id] = item item.replace_include(view_elements) def get_shadow(self, ui): """ Returns a ShadowGroup object for the current Group object, which recursively resolves all embedded Include objects and which replaces each embedded Group object with a corresponding ShadowGroup. """ content = [] groups = 0 level = ui.push_level() for value in self.content: # Recursively replace Include objects: while isinstance(value, Include): value = ui.find(value) # Convert Group objects to ShadowGroup objects, but include Item # objects as is (ignore any 'None' values caused by a failed # Include): if isinstance(value, Group): if self._defined_when(ui, value): content.append(value.get_shadow(ui)) groups += 1 elif isinstance(value, Item): if self._defined_when(ui, value): content.append(value) ui.pop_level(level) # Return the ShadowGroup: return ShadowGroup(shadow=self, content=content, groups=groups) def set_container(self): """ Sets the correct container for the content. """ for item in self.content: item.container = self def _defined_when(self, ui, value): """ Should the object be defined in the user interface? """ if value.defined_when == "": return True return ui.eval_when(value.defined_when) def _parse(self, value): """ Parses Group options specified as a string. """ # Override the defaults, since we only allow 'True' values to be # specified: self.show_border = self.show_labels = self.show_left = False # Parse all of the single or multi-character options: value, empty = self._parse_label(value) value = self._parse_style(value) value = self._option(value, "-", "orientation", "horizontal") value = self._option(value, "|", "orientation", "vertical") value = self._option(value, "=", "layout", "split") value = self._option(value, "^", "layout", "tabbed") value = self._option(value, ">", "show_labels", True) value = self._option(value, "<", "show_left", True) value = self._option(value, "!", "selected", True) show_labels = not (self.show_labels and self.show_left) self.show_left = not self.show_labels self.show_labels = show_labels # Parse all of the punctuation based sub-string options: value = self._split("id", value, ":", str.find, 0, 1) if value != "": self.object = value def _parsed_label(self): """ Handles a label being found in the string definition. """ self.show_border = True def __repr__(self): """ Returns a "pretty print" version of the Group. """ result = [] items = ",\n".join([item.__repr__() for item in self.content]) if len(items) > 0: result.append(items) options = self._repr_options( "orientation", "show_border", "show_labels", "show_left", "selected", "id", "object", "label", "style", "layout", "style_sheet", ) if options is not None: result.append(options) content = ",\n".join(result) if len(content) == 0: return self.__class__.__name__ + "()" return "%s(\n%s\n)" % (self.__class__.__name__, self._indent(content)) # ------------------------------------------------------------------------- # Property getters/setters for width/height attributes # ------------------------------------------------------------------------- @cached_property def _get_width(self): """ Returns the requested width of the Group. """ width = 0.0 for item in self.content: if item.width >= 1: if self.orientation == "horizontal": width += item.width elif self.orientation == "vertical": width = max(width, item.width) if width == 0: width = -1.0 return width @cached_property def _get_height(self): """ Returns the requested height of the Group. """ height = 0.0 for item in self.content: if item.height >= 1: if self.orientation == "horizontal": height = max(height, item.height) elif self.orientation == "vertical": height += item.height if height == 0: height = -1.0 return height class HGroup(Group): """ A group whose items are laid out horizontally. """ # ------------------------------------------------------------------------- # Trait definitions: # ------------------------------------------------------------------------- #: Override standard Group trait defaults to give it horizontal group #: behavior: orientation = "horizontal" class VGroup(Group): """ A group whose items are laid out vertically. """ # ------------------------------------------------------------------------- # Trait definitions: # ------------------------------------------------------------------------- #: Override standard Group trait defaults to give it vertical group #: behavior: orientation = "vertical" class VGrid(VGroup): """ A group whose items are laid out in 2 columns. """ # ------------------------------------------------------------------------- # Trait definitions: # ------------------------------------------------------------------------- #: Override standard Group trait defaults to give it grid behavior: columns = 2 class HFlow(HGroup): """ A group in which items are laid out horizontally, and "wrap" when they exceed the available horizontal space.. """ # ------------------------------------------------------------------------- # Trait definitions: # ------------------------------------------------------------------------- #: Override standard Group trait defaults to give it horizontal flow #: behavior: layout = "flow" show_labels = False class VFlow(VGroup): """ A group in which items are laid out vertically, and "wrap" when they exceed the available vertical space. """ # ------------------------------------------------------------------------- # Trait definitions: # ------------------------------------------------------------------------- #: Override standard Group trait defaults to give it vertical flow behavior: layout = "flow" show_labels = False class VFold(VGroup): """ A group in which items are laid out vertically and can be collapsed (i.e. 'folded') by clicking their title. """ # ------------------------------------------------------------------------- # Trait definitions: # ------------------------------------------------------------------------- #: Override standard Group trait defaults to give it vertical folding group #: behavior: layout = "fold" show_labels = False class HSplit(Group): """ A horizontal group with splitter bars to separate it from other groups. """ # ------------------------------------------------------------------------- # Trait definitions: # ------------------------------------------------------------------------- #: Override standard Group trait defaults to give it horizontal splitter #: behavior: layout = "split" orientation = "horizontal" class VSplit(Group): """ A vertical group with splitter bars to separate it from other groups. """ # ------------------------------------------------------------------------- # Trait definitions: # ------------------------------------------------------------------------- #: Override standard Group trait defaults to give it vertical splitter #: behavior: layout = "split" orientation = "vertical" class Tabbed(Group): """ A group that is shown as a tabbed notebook. """ # ------------------------------------------------------------------------- # Trait definitions: # ------------------------------------------------------------------------- #: Override standard Group trait defaults to give it tabbed notebook #: behavior: layout = "tabbed" springy = True class ShadowGroup(Group): """ Corresponds to a Group object, but with all embedded Include objects resolved, and with all embedded Group objects replaced by corresponding ShadowGroup objects. """ def __init__(self, shadow, **traits): # Set the 'shadow' trait before all others, to avoid exceptions # when setting those other traits. self.shadow = shadow super().__init__(**traits) # ------------------------------------------------------------------------- # Trait definitions: # ------------------------------------------------------------------------- #: Group object this is a "shadow" for shadow = ReadOnly() #: Number of ShadowGroups in **content** groups = ReadOnly() #: Name of the group id = ShadowDelegate #: User interface label for the group label = ShadowDelegate #: Default context object for group items object = ShadowDelegate #: Default style of items in the group style = ShadowDelegate #: Default docking style of items in the group dock = ShadowDelegate #: Default image to display on notebook tabs image = ShadowDelegate #: The theme to use for a DockWindow: dock_theme = ShadowDelegate #: Category of elements dragged from the view export = ShadowDelegate #: Spatial orientation of the group orientation = ShadowDelegate #: Layout style of the group layout = ShadowDelegate #: Should the group be scrollable along the direction of orientation? scrollable = ShadowDelegate #: The number of columns in the group columns = ShadowDelegate #: Should a border be drawn around group? show_border = ShadowDelegate #: Should labels be added to items in group? show_labels = ShadowDelegate #: Should labels be shown to the left of items (vs. the right)? show_left = ShadowDelegate #: Is group the initially selected page? selected = ShadowDelegate #: Should the group use extra space along its parent group's layout #: orientation? springy = ShadowDelegate #: Optional help text (for top-level group) help = ShadowDelegate #: Pre-condition for defining the group defined_when = ShadowDelegate #: Pre-condition for showing the group visible_when = ShadowDelegate #: Pre-condition for enabling the group enabled_when = ShadowDelegate #: Amount of padding to add around each item padding = ShadowDelegate #: Style sheet for the panel style_sheet = ShadowDelegate def get_content(self, allow_groups=True): """ Returns the contents of the Group within a specified context for building a user interface. This method makes sure that all Group types are of the same type (i.e., Group or Item) and that all Include objects have been replaced by their substituted values. """ # Make a copy of the content: result = self.content[:] # If result includes any ShadowGroups and they are not allowed, # replace them: if self.groups != 0: if not allow_groups: i = 0 while i < len(result): value = result[i] if isinstance(value, ShadowGroup): items = value.get_content(False) result[i : i + 1] = items i += len(items) else: i += 1 elif (self.groups != len(result)) and (self.layout == "normal"): items = [] content = [] for item in result: if isinstance(item, ShadowGroup): self._flush_items(content, items) content.append(item) else: items.append(item) self._flush_items(content, items) result = content # Return the resulting list of objects: return result def get_id(self): """ Returns an ID for the group. """ if self.id != "": return self.id return ":".join([item.get_id() for item in self.get_content()]) def set_container(self): """ Sets the correct container for the content. """ pass def _flush_items(self, content, items): """ Creates a sub-group for any items contained in a specified list. """ if len(items) > 0: content.append( # Set shadow before hand to prevent delegation errors ShadowGroup(shadow=self.shadow).trait_set( groups=0, label="", show_border=False, content=items, show_labels=self.show_labels, show_left=self.show_left, springy=self.springy, orientation=self.orientation, ) ) del items[:] def __repr__(self): """ Returns a "pretty print" version of the Group. """ return repr(self.shadow) traitsui-7.2.1/traitsui/tabular_adapter.py0000644000076500000240000006675214046644454021377 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! """ Defines the adapter classes associated with the Traits UI TabularEditor. """ from traits.api import ( Any, Bool, Enum, Event, Float, HasPrivateTraits, HasTraits, Instance, Int, Interface, List, Property, Str, Either, cached_property, observe, provides, ) from .toolkit_traits import Color, Font class ITabularAdapter(Interface): #: The row index of the current item being adapted: row = Int() #: The current column id being adapted (if any): column = Any() #: Current item being adapted: item = Any() #: The current value (if any): value = Any() #: The list of columns the adapter supports. The items in the list have the #: same format as the :py:attr:`columns` trait in the #: :py:class:`TabularAdapter` class, with the additional requirement that #: the ``string`` values must correspond to a ``string`` value in the #: associated :py:class:`TabularAdapter` class. columns = List(Str) #: Does the adapter know how to handle the current *item* or not: accepts = Bool() #: Does the value of *accepts* depend only upon the type of *item*? is_cacheable = Bool() @provides(ITabularAdapter) class AnITabularAdapter(HasPrivateTraits): # Implementation of the ITabularAdapter Interface ------------------------ #: The row index of the current item being adapted: row = Int() #: The current column id being adapted (if any): column = Any() #: Current item being adapted: item = Any() #: The current value (if any): value = Any() #: The list of columns the adapter supports. The items in the list have the #: same format as the :py:attr:`columns` trait in the #: :py:class:`TabularAdapter` class, with the additional requirement that #: the ``string`` values must correspond to a ``string`` value in the #: associated :py:class:`TabularAdapter` class. columns = List(Str) #: Does the adapter know how to handle the current *item* or not: accepts = Bool(True) #: Does the value of *accepts* depend only upon the type of *item*? is_cacheable = Bool(True) class TabularAdapter(HasPrivateTraits): """ The base class for adapting list items to values that can be edited by a TabularEditor. """ # -- Public Trait Definitions --------------------------------------------- #: A list of columns that should appear in the table. Each entry can have #: one of two forms: ``string`` or ``(string, id)``, where ``string`` is #: the UI name of the column, and ``id`` is a value that identifies that #: column to the adapter. Normally this value is either a trait name or an #: index, but it can be any value that the adapter wants. If only #: ``string`` is specified, then ``id`` is the index of the ``string`` #: within :py:attr:`columns`. columns = List() #: Maps UI name of column to value identifying column to the adapter, if #: different. column_dict = Property() #: Specifies the default value for a new row. This will usually need to be #: overridden. default_value = Any("") #: The default text color for odd table rows. odd_text_color = Color(None, update=True) #: The default text color for even table rows. even_text_color = Color(None, update=True) #: The default text color for table rows. default_text_color = Color(None, update=True) #: The default background color for odd table rows. odd_bg_color = Color(None, update=True) #: The default background color for even table rows. even_bg_color = Color(None, update=True) #: The default background color for table rows. default_bg_color = Color(None, update=True) #: Horizontal alignment to use for a specified column. alignment = Enum("left", "center", "right") #: The Python format string to use for a specified column. format = Str("%s") #: Width of a specified column. width = Float(-1) #: Can the text value of each item be edited? can_edit = Bool(True) #: The value to be dragged for a specified row item. drag = Property() #: Can any arbitrary value be dropped onto the tabular view. can_drop = Bool(False) #: Specifies where a dropped item should be placed in the table relative to #: the item it is dropped on. dropped = Enum("after", "before") #: The font for a row item. font = Font(None) #: The text color for a row item. text_color = Property() #: The background color for a row item. bg_color = Property() #: The name of the default image to use for column items. image = Str(None, update=True) #: The text of a row/column item. text = Property() #: The content of a row/column item (may be any Python value). content = Property() #: The tooltip information for a row/column item. tooltip = Str() #: The context menu for a row/column item. menu = Any() #: The context menu for column header. column_menu = Any() #: List of optional delegated adapters. adapters = List(ITabularAdapter, update=True) # -- Traits Set by the Editor --------------------------------------------- #: The object whose trait is being edited. object = Instance(HasTraits) #: The name of the trait being edited. name = Str() #: The row index of the current item being adapted. row = Int() #: The column index of the current item being adapted. column = Int() #: The current column id being adapted (if any). column_id = Any() #: Current item being adapted. item = Any() #: The current value (if any). value = Any() # -- Private Trait Definitions -------------------------------------------- #: Cache of attribute handlers. cache = Any({}) #: Event fired when the cache is flushed. cache_flushed = Event(update=True) #: The mapping from column indices to column identifiers (defined by the #: :py:attr:`columns` trait). column_map = Property(observe="columns") #: The mapping from column indices to column labels (defined by the #: :py:attr:`columns` trait). label_map = Property(observe="columns") #: The name of the trait on a row item containing the value to use #: as a row label. If ``None``, the label will be the empty string. row_label_name = Either(None, Str) #: For each adapter, specifies the column indices the adapter handles. adapter_column_indices = Property(observe="adapters,columns") #: For each adapter, specifies the mapping from column index to column id. adapter_column_map = Property(observe="adapters,columns") # ------------------------------------------------------------------------- # TabularAdapter interface # ------------------------------------------------------------------------- def cleanup(self): """ Clean up the adapter to remove references to objects. """ self.trait_setq(object=None, item=None, value=None) # -- Adapter methods that are sensitive to item type ---------------------- def get_alignment(self, object, trait, column): """ Returns the alignment style to use for a specified column. The possible values that can be returned are: ``'left'``, ``'center'`` or ``'right'``. All table items share the same alignment for a specified column. """ return self._result_for("get_alignment", object, trait, 0, column) def get_width(self, object, trait, column): """ Returns the width to use for a specified column. If the value is <= 0, the column will have a *default* width, which is the same as specifying a width of 0.1. If the value is > 1.0, it is converted to an integer and the result is the width of the column in pixels. This is referred to as a *fixed width* column. If the value is a float such that 0.0 < value <= 1.0, it is treated as the *unnormalized fraction of the available space* that is to be assigned to the column. What this means requires a little explanation. To arrive at the size in pixels of the column at any given time, the editor adds together all of the *unnormalized fraction* values returned for all columns in the table to arrive at a total value. Each *unnormalized fraction* is then divided by the total to create a *normalized fraction*. Each column is then assigned an amount of space in pixels equal to the maximum of 30 or its *normalized fraction* multiplied by the *available space*. The *available space* is defined as the actual width of the table minus the width of all *fixed width* columns. Note that this calculation is performed each time the table is resized in the user interface, thus allowing columns of this type to increase or decrease their width dynamically, while leaving *fixed width* columns unchanged. """ return self._result_for("get_width", object, trait, 0, column) def get_can_edit(self, object, trait, row): """ Returns whether the user can edit a specified row. A ``True`` result indicates that the value can be edited, while a ``False`` result indicates that it cannot. """ return self._result_for("get_can_edit", object, trait, row, 0) def get_drag(self, object, trait, row): """ Returns the value to be *dragged* for a specified row. A result of ``None`` means that the item cannot be dragged. Note that the value returned does not have to be the actual row item. It can be any value that you want to drag in its place. In particular, if you want the drag target to receive a copy of the row item, you should return a copy or clone of the item in its place. Also note that if multiple items are being dragged, and this method returns ``None`` for any item in the set, no drag operation is performed. """ return self._result_for("get_drag", object, trait, row, 0) def get_can_drop(self, object, trait, row, value): """ Returns whether the specified ``value`` can be dropped on the specified row. A value of ``True`` means the ``value`` can be dropped; and a value of ``False`` indicates that it cannot be dropped. The result is used to provide the user positive or negative drag feedback while dragging items over the table. ``value`` will always be a single value, even if multiple items are being dragged. The editor handles multiple drag items by making a separate call to :py:meth:`get_can_drop` for each item being dragged. """ return self._result_for("get_can_drop", object, trait, row, 0, value) def get_dropped(self, object, trait, row, value): """ Returns how to handle a specified ``value`` being dropped on a specified row. The possible return values are: - ``'before'``: Insert the specified ``value`` before the dropped on item. - ``'after'``: Insert the specified ``value`` after the dropped on item. Note there is no result indicating *do not drop* since you will have already indicated that the ``object`` can be dropped by the result returned from a previous call to :py:meth:`get_can_drop`. """ return self._result_for("get_dropped", object, trait, row, 0, value) def get_font(self, object, trait, row, column=0): """ Returns the font to use for displaying a specified row or cell. A result of ``None`` means use the default font; otherwise a toolkit font object should be returned. Note that all columns for the specified table row will use the font value returned. """ return self._result_for("get_font", object, trait, row, column) def get_text_color(self, object, trait, row, column=0): """ Returns the text color to use for a specified row or cell. A result of ``None`` means use the default text color; otherwise a toolkit-compatible color should be returned. Note that all columns for the specified table row will use the text color value returned. """ return self._result_for("get_text_color", object, trait, row, column) def get_bg_color(self, object, trait, row, column=0): """ Returns the background color to use for a specified row or cell. A result of ``None`` means use the default background color; otherwise a toolkit-compatible color should be returned. Note that all columns for the specified table row will use the background color value returned. """ return self._result_for("get_bg_color", object, trait, row, column) def get_image(self, object, trait, row, column): """ Returns the image to display for a specified cell. A result of ``None`` means no image will be displayed in the specified table cell. Otherwise the result should either be the name of the image, or an :py:class:`~pyface.image_resource.ImageResource` object specifying the image to display. A name is allowed in the case where the image is specified in the :py:class:`~traitsui.editors.tabular_editor.TabularEditor` :py:attr:`~traitsui.editors.tabular_editor.TabularEditor.images` trait. In that case, the name should be the same as the string specified in the :py:class:`~pyface.image_resource.ImageResource` constructor. """ return self._result_for("get_image", object, trait, row, column) def get_format(self, object, trait, row, column): """ Returns the Python formatting string to apply to the specified cell. The resulting of formatting with this string will be used as the text to display it in the table. The return can be any Python string containing exactly one old-style Python formatting sequence, such as ``'%.4f'`` or ``'(%5.2f)'``. """ return self._result_for("get_format", object, trait, row, column) def get_text(self, object, trait, row, column): """ Returns a string containing the text to display for a specified cell. If the underlying data representation for a specified item is not a string, then it is your responsibility to convert it to one before returning it as the result. """ return self._result_for("get_text", object, trait, row, column) def get_content(self, object, trait, row, column): """ Returns the content to display for a specified cell. """ return self._result_for("get_content", object, trait, row, column) def set_text(self, object, trait, row, column, text): """ Sets the value for the specified cell. This method is called when the user completes an editing operation on a table cell. The string specified by ``text`` is the value that the user has entered in the table cell. If the underlying data does not store the value as text, it is your responsibility to convert ``text`` to the correct representation used. """ self._result_for("set_text", object, trait, row, column, text) def get_tooltip(self, object, trait, row, column): """ Returns a string containing the tooltip to display for a specified cell. You should return the empty string if you do not wish to display a tooltip. """ return self._result_for("get_tooltip", object, trait, row, column) def get_menu(self, object, trait, row, column): """ Returns the context menu for a specified cell. """ return self._result_for("get_menu", object, trait, row, column) def get_column_menu(self, object, trait, row, column): """ Returns the context menu for a specified column. """ return self._result_for("get_column_menu", object, trait, row, column) # -- Adapter methods that are not sensitive to item type ------------------ def get_item(self, object, trait, row): """ Returns the specified row item. The value returned should be the value that exists (or *logically* exists) at the specified ``row`` in your data. If your data is not really a list or array, then you can just use ``row`` as an integer *key* or *token* that can be used to retrieve a corresponding item. The value of ``row`` will always be in the range: 0 <= row < ``len(object, trait)`` (i.e. the result returned by the adapter :py:meth:`len` method). The default implementation assumes the trait defined by ``object.trait`` is a *sequence* and attempts to return the value at index ``row``. If an error occurs, it returns ``None`` instead. This definition should work correctly for lists, tuples and arrays, or any other object that is indexable, but will have to be overridden for all other cases. """ try: return getattr(object, trait)[row] except: return None def len(self, object, trait): """ Returns the number of row items in the specified ``object.trait``. The result should be an integer greater than or equal to 0. The default implementation assumes the trait defined by ``object.trait`` is a *sequence* and attempts to return the result of calling ``len(object.trait)``. It will need to be overridden for any type of data which for which :py:func:`len` will not work. """ # Sometimes, during shutdown, the object has been set to None. if object is None: return 0 else: return len(getattr(object, trait)) def get_default_value(self, object, trait): """ Returns a new default value for the specified ``object.trait`` list. This method is called when *insert* or *append* operations are allowed and the user requests that a new item be added to the table. The result should be a new instance of whatever underlying representation is being used for table items. The default implementation simply returns the value of the adapter's :py:attr:`default_value` trait. """ return self.default_value def delete(self, object, trait, row): """ Deletes the specified row item. This method is only called if the *delete* operation is specified in the :py:class:`~traitsui.editors.tabular_editor.TabularEditor` :py:attr:`~traitsui.editors.tabular_editor.TabularEditor.operation` trait, and the user requests that the item be deleted from the table. The adapter can still choose not to delete the specified item if desired, although that may prove confusing to the user. The default implementation assumes the trait defined by ``object.trait`` is a mutable sequence and attempts to perform a ``del object.trait[row]`` operation. """ del getattr(object, trait)[row] def insert(self, object, trait, row, value): """ Inserts ``value`` at the specified ``object.trait[row]`` index. The specified ``value`` can be: - An item being moved from one location in the data to another. - A new item created by a previous call to :py:meth:`~TabularAdapter.get_default_value`. - An item the adapter previously approved via a call to :py:meth:`~TabularAdapter.get_can_drop`. The adapter can still choose not to insert the item into the data, although that may prove confusing to the user. The default implementation assumes the trait defined by ``object.trait`` is a mutable sequence and attempts to perform an ``object.trait[row:row] = [value]`` operation. """ getattr(object, trait)[row:row] = [value] def get_column(self, object, trait, index): """ Returns the column id corresponding to a specified column index. """ self.object, self.name = object, trait return self.column_map[index] # -- Property Implementations --------------------------------------------- def _get_drag(self): return self.item def _get_text_color(self): if (self.row % 2) == 1: return self.even_text_color_ or self.default_text_color return self.odd_text_color or self.default_text_color_ def _get_bg_color(self): if (self.row % 2) == 1: return self.even_bg_color_ or self.default_bg_color_ return self.odd_bg_color or self.default_bg_color_ def _get_text(self): return self.get_format( self.object, self.name, self.row, self.column ) % self.get_content(self.object, self.name, self.row, self.column) def _set_text(self, value): if isinstance(self.column_id, int): self.item[self.column_id] = self.value else: # Convert value to the correct trait type. try: trait_handler = self.item.trait(self.column_id).handler setattr( self.item, self.column_id, trait_handler.evaluate(self.value), ) except: setattr(self.item, self.column_id, value) def _get_content(self): if isinstance(self.column_id, int): return self.item[self.column_id] return getattr(self.item, self.column_id) # -- Property Implementations --------------------------------------------- @cached_property def _get_column_dict(self): cols = {} for i, value in enumerate(self.columns): if isinstance(value, str): cols.update({value: value}) else: cols.update({value[0]: value[1]}) return cols @cached_property def _get_column_map(self): map = [] for i, value in enumerate(self.columns): if isinstance(value, str): map.append(i) else: map.append(value[1]) return map def get_label(self, section, obj=None): """Override this method if labels will vary from object to object.""" return self.label_map[section] def get_row_label(self, section, obj=None): if self.row_label_name is None: return None rows = getattr(obj, self.name, None) if rows is None: return None item = rows[section] return getattr(item, self.row_label_name, None) @cached_property def _get_label_map(self): map = [] for i, value in enumerate(self.columns): if isinstance(value, str): map.append(value) else: map.append(value[0]) return map @cached_property def _get_adapter_column_indices(self): labels = self.label_map map = [] for adapter in self.adapters: indices = [] for label in adapter.columns: if not isinstance(label, str): label = label[0] indices.append(labels.index(label)) map.append(indices) return map @cached_property def _get_adapter_column_map(self): labels = self.label_map map = [] for adapter in self.adapters: mapping = {} for label in adapter.columns: id = None if not isinstance(label, str): label, id = label key = labels.index(label) if id is None: id = key mapping[key] = id map.append(mapping) return map # -- Private Methods ------------------------------------------------------ def _result_for(self, name, object, trait, row, column, value=None): """ Returns/Sets the value of the specified *name* attribute for the specified *object.trait[row].column* item. """ self.object = object self.name = trait self.row = row self.column = column self.column_id = column_id = self.column_map[column] self.value = value self.item = item = self.get_item(object, trait, row) item_class = item.__class__ key = "%s:%s:%d" % (item_class.__name__, name, column) handler = self.cache.get(key) if handler is not None: return handler() prefix = name[:4] trait_name = name[4:] for i, adapter in enumerate(self.adapters): if column in self.adapter_column_indices[i]: adapter.row = row adapter.item = item adapter.value = value adapter.column = column_id = self.adapter_column_map[i][column] if adapter.accepts: get_name = "%s_%s" % (column_id, trait_name) if adapter.trait(get_name) is not None: if prefix == "get_": handler = lambda: getattr( adapter.trait_set( row=self.row, column=column_id, item=self.item, ), get_name, ) else: handler = lambda: setattr( adapter.trait_set( row=self.row, column=column_id, item=self.item, ), get_name, self.value, ) if adapter.is_cacheable: break return handler() else: if item is not None and hasattr(item_class, "__mro__"): for klass in item_class.__mro__: handler = self._get_handler_for( "%s_%s_%s" % (klass.__name__, column_id, trait_name), prefix, ) or self._get_handler_for( "%s_%s" % (klass.__name__, trait_name), prefix ) if handler is not None: break if handler is None: handler = self._get_handler_for( "%s_%s" % (column_id, trait_name), prefix ) or self._get_handler_for(trait_name, prefix) self.cache[key] = handler return handler() def _get_handler_for(self, name, prefix): """ Returns the handler for a specified trait name (or None if not found). """ if self.trait(name) is not None: if prefix == "get_": return lambda: getattr(self, name) return lambda: setattr(self, name, self.value) return None @observe("columns,adapters.items.+update") def _flush_cache(self, event): """ Flushes the cache when the columns or any trait on any adapter changes. """ self.cache = {} self.cache_flushed = True traitsui-7.2.1/traitsui/default_dock_window_theme.py0000644000076500000240000000243314046644454023424 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! """ Defines the default DockWindow theme. """ from .dock_window_theme import DockWindowTheme from .theme import Theme # The original DockWindows UI redone as a theme: default_dock_window_theme = DockWindowTheme( use_theme_color=False, tab_active=Theme("@std:tab_active", label=(0, -3), content=(7, 6, 0, 0)), tab_inactive=Theme("@std:tab_inactive", label=(0, -1), content=(5, 0)), tab_hover=Theme("@std:tab_hover", label=(0, -2), content=(5, 0)), tab_background=Theme("@std:tab_background"), tab=Theme("@std:tab", content=0, label=(-7, 0)), vertical_splitter=Theme( "@std:vertical_splitter", content=0, label=(0, -25) ), horizontal_splitter=Theme( "@std:horizontal_splitter", content=0, label=(-24, 0) ), vertical_drag=Theme("@std:vertical_drag", content=(0, 10)), horizontal_drag=Theme("@std:horizontal_drag", content=(10, 0)), ) traitsui-7.2.1/traitsui/editor.py0000644000076500000240000006576414046644454017535 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! """ Defines the abstract Editor class, which represents an editing control for an object trait in a Traits-based user interface. """ from contextlib import contextmanager from functools import partial from traits.api import ( Any, Bool, Callable, HasPrivateTraits, HasTraits, Instance, List, Property, ReadOnly, Set, Str, TraitError, TraitListEvent, Tuple, Undefined, cached_property, ) from traits.trait_base import not_none, xgetattr, xsetattr from .editor_factory import EditorFactory from .context_value import ContextValue from .undo import UndoItem from .item import Item # Reference to an EditorFactory object factory_trait = Instance(EditorFactory) class Editor(HasPrivateTraits): """ Represents an editing control for an object trait in a Traits-based user interface. """ #: The UI (user interface) this editor is part of: ui = Instance("traitsui.ui.UI", clean_up=True) #: Full name of the object the editor is editing (e.g. #: 'object.link1.link2'): object_name = Str("object") #: The object this editor is editing (e.g. object.link1.link2): object = Instance(HasTraits, clean_up=True) #: The name of the trait this editor is editing (e.g. 'value'): name = ReadOnly() #: The context object the editor is editing (e.g. object): context_object = Property() #: The extended name of the object trait being edited. That is, #: 'object_name.name' minus the context object name at the beginning. For #: example: 'link1.link2.value': extended_name = Property() #: Original value of object.name (e.g. object.link1.link2.value): old_value = Any(clean_up=True) #: Text description of the object trait being edited: description = ReadOnly() #: The Item object used to create this editor: item = Instance(Item, (), clean_up=True) #: The GUI widget defined by this editor: control = Any(clean_up=True) #: The GUI label (if any) defined by this editor: label_control = Any(clean_up=True) #: Is the underlying GUI widget enabled? enabled = Bool(True) #: Is the underlying GUI widget visible? visible = Bool(True) #: Is the underlying GUI widget scrollable? scrollable = Bool(False) #: The EditorFactory used to create this editor: factory = Instance(EditorFactory, clean_up=True) #: Is the editor updating the object.name value? updating = Bool(False) #: Current value for object.name: value = Property() #: Current value of object trait as a string: str_value = Property() #: The trait the editor is editing (not its value, but the trait itself): value_trait = Property() #: The current editor invalid state status: invalid = Bool(False) # -- private trait definitions ------------------------------------------ #: A set to track values being updated to prevent infinite recursion. _no_trait_update = Set(Str) #: A list of all values synchronized to. _user_to = List(Tuple(Any, Str, Callable)) #: A list of all values synchronized from. _user_from = List(Tuple(Str, Callable)) # ------------------------------------------------------------------------ # Editor interface # ------------------------------------------------------------------------ # -- Abstract methods --------------------------------------------------- def init(self, parent): """ Create and initialize the underlying toolkit widget. This method must be overriden by subclasses. Implementations must ensure that the :attr:`control` trait is set to an appropriate toolkit object. Parameters ---------- parent : toolkit control The parent toolkit object of the editor's toolkit objects. """ raise NotImplementedError("This method must be overriden.") def update_editor(self): """ Updates the editor when the value changes externally to the editor. This should normally be overridden in a subclass. """ pass def error(self, excp): """ Handles an error that occurs while setting the object's trait value. This should normally be overridden in a subclass. Parameters ---------- excp : Exception The exception which occurred. """ pass def set_focus(self): """ Assigns focus to the editor's underlying toolkit widget. This method must be overriden by subclasses. """ raise NotImplementedError("This method must be overriden.") def set_tooltip_text(self, control, text): """ Sets the tooltip for a toolkit control to the provided text. This method must be overriden by subclasses. Parameters ---------- text : str The text to use for the tooltip. control : toolkit control The toolkit control that is having the tooltip set. """ raise NotImplementedError("This method must be overriden.") def string_value(self, value, format_func=None): """ Returns the text representation of a specified object trait value. This simply delegates to the factory's `string_value` method. Sub-classes may choose to override the default implementation. Parameters ---------- value : any The value being edited. format_func : callable or None A function that takes a value and returns a string. """ return self.factory.string_value(value, format_func) def restore_prefs(self, prefs): """ Restores saved user preference information for the editor. Editors with state may choose to override this. It will only be used if the editor has an `id` value. Parameters ---------- prefs : dict A dictionary of preference values. """ pass def save_prefs(self): """ Returns any user preference information for the editor. Editors with state may choose to override this. It will only be used if the editor has an `id` value. Returns ------- prefs : dict or None A dictionary of preference values, or None if no preferences to be saved. """ return None # -- Editor life-cycle methods ------------------------------------------ def prepare(self, parent): """ Finish setting up the editor. Parameters ---------- parent : toolkit control The parent toolkit object of the editor's toolkit objects. """ name = self.extended_name if name != "None": self.context_object.on_trait_change( self._update_editor, name, dispatch="ui" ) self.init(parent) self._sync_values() self.update_editor() def dispose(self): """ Disposes of the contents of an editor. This disconnects any synchronised values and resets references to other objects. Subclasses may chose to override this method to perform additional clean-up. """ if self.ui is None: return name = self.extended_name if name != "None": self.context_object.on_trait_change( self._update_editor, name, remove=True ) for name, handler in self._user_from: self.on_trait_change(handler, name, remove=True) for object, name, handler in self._user_to: object.on_trait_change(handler, name, remove=True) # Break linkages to references we no longer need: for name in self.trait_names(clean_up=True): setattr(self, name, None) # -- Undo/redo methods -------------------------------------------------- def log_change(self, undo_factory, *undo_args): """ Logs a change made in the editor with undo/redo history. Parameters ---------- undo_factory : callable Callable that creates an undo item. Often self.get_undo_item. *undo_args Any arguments to pass to the undo factory. """ ui = self.ui # Create an undo history entry if we are maintaining a history: undoable = ui._undoable if undoable >= 0: history = ui.history if history is not None: item = undo_factory(*undo_args) if item is not None: if undoable == history.now: # Create a new undo transaction: history.add(item) else: # Extend the most recent undo transaction: history.extend(item) def get_undo_item(self, object, name, old_value, new_value): """ Creates an undo history entry. Can be overridden in a subclass for special value types. Parameters ---------- object : HasTraits instance The object being modified. name : str The name of the trait that is to be changed. old_value : any The original value of the trait. new_value : any The new value of the trait. """ return UndoItem( object=object, name=name, old_value=old_value, new_value=new_value ) # -- Trait synchronization code ----------------------------------------- def sync_value( self, user_name, editor_name, mode="both", is_list=False, is_event=False, ): """ Synchronize an editor trait and a user object trait. Also sets the initial value of the editor trait from the user object trait (for modes 'from' and 'both'), and the initial value of the user object trait from the editor trait (for mode 'to'), as long as the relevant traits are not events. Parameters ---------- user_name : str The name of the trait to be used on the user object. If empty, no synchronization will be set up. editor_name : str The name of the relevant editor trait. mode : str, optional; one of 'to', 'from' or 'both' The direction of synchronization. 'from' means that trait changes in the user object should be propagated to the editor. 'to' means that trait changes in the editor should be propagated to the user object. 'both' means changes should be propagated in both directions. The default is 'both'. is_list : bool, optional If true, synchronization for item events will be set up in addition to the synchronization for the object itself. The default is False. is_event : bool, optional If true, this method won't attempt to initialize the user object or editor trait values. The default is False. """ if user_name == "": return key = "%s:%s" % (user_name, editor_name) parts = user_name.split(".") if len(parts) == 1: user_object = self.context_object xuser_name = user_name else: user_object = self.ui.context[parts[0]] xuser_name = ".".join(parts[1:]) user_name = parts[-1] if mode in {"from", "both"}: self._bind_from(key, user_object, xuser_name, editor_name, is_list) if not is_event: # initialize editor value from user value with self.raise_to_debug(): user_value = xgetattr(user_object, xuser_name) setattr(self, editor_name, user_value) if mode in {"to", "both"}: self._bind_to(key, user_object, xuser_name, editor_name, is_list) if mode == "to" and not is_event: # initialize user value from editor value with self.raise_to_debug(): editor_value = xgetattr(self, editor_name) xsetattr(user_object, xuser_name, editor_value) # -- Utility methods ----------------------------------------------------- def parse_extended_name(self, name): """ Extract the object, name and a getter from an extended name Parameters ---------- name : str The extended name to parse. Returns ------- object, name, getter : any, str, callable The object from the context, the (extended) name of the attributes holding the value, and a callable which gets the current value from the context. """ base_name, __, name = name.partition(".") if name: object = self.ui.context[base_name] else: name = base_name object = self.context_object return (object, name, partial(xgetattr, object, name)) def set_tooltip(self, control=None): """ Sets the tooltip for a specified toolkit control. This uses the tooltip_text method to get the text to use. Parameters ---------- control : optional toolkit control The toolkit control that is having the tooltip set. If None then the editor's control is used. Returns ------- tooltip_set : bool Whether or not a tooltip value could be set. """ text = self.tooltip_text() if text is None: return False if control is None: control = self.control self.set_tooltip_text(control, text) return True def tooltip_text(self): """ Get the text for a tooltip, checking various sources. This checks for text from, in order: - the editor's description trait - the base trait's 'tooltip' metadata - the base trait's 'desc' metadata Returns ------- text : str or None The text for the tooltip, or None if no suitable text can be found. """ if self.description: return self.description base_trait = self.object.base_trait(self.name) text = base_trait.tooltip if text is not None: return text text = base_trait.desc if text is not None: return "Specifies " + text return None # -- Utility context managers -------------------------------------------- @contextmanager def no_trait_update(self, name): """ Context manager that blocks updates from the named trait. """ if name in self._no_trait_update: yield return self._no_trait_update.add(name) try: yield finally: self._no_trait_update.remove(name) @contextmanager def raise_to_debug(self): """ Context manager that uses raise to debug to raise exceptions. """ try: yield except Exception: from traitsui.api import raise_to_debug raise_to_debug() @contextmanager def updating_value(self): """ Context manager to handle updating value. """ if self.updating: yield return self.updating = True try: yield finally: self.updating = False # ------------------------------------------------------------------------ # object interface # ------------------------------------------------------------------------ def __init__(self, parent, **traits): """ Initializes the editor object. """ super().__init__(**traits) try: self.old_value = getattr(self.object, self.name) except AttributeError: ctrait = self.object.base_trait(self.name) if ctrait.type == "event" or self.name == "spring": # Getting the attribute will fail for 'Event' traits: self.old_value = Undefined else: raise # Synchronize the application invalid state status with the editor's: self.sync_value(self.factory.invalid, "invalid", "from") # ------------------------------------------------------------------------ # private methods # ------------------------------------------------------------------------ def _update_editor(self, object, name, old_value, new_value): """ Performs updates when the object trait changes. This is designed to be used as a trait listener. """ # If background threads have modified the trait the editor is bound to, # their trait notifications are queued to the UI thread. It is possible # that by the time the UI thread dispatches these events, the UI the # editor is part of has already been closed. So we need to check if we # are still bound to a live UI, and if not, exit immediately: if self.ui is None: return # If the notification is for an object different than the one actually # being edited, it is due to editing an item of the form: # object.link1.link2.name, where one of the 'link' objects may have # been modified. In this case, we need to rebind the current object # being edited: if object is not self.object: self.object = self.ui.get_extended_value(self.object_name) # If the editor has gone away for some reason, disconnect and exit: if self.control is None: self.context_object.on_trait_change( self._update_editor, self.extended_name, remove=True ) return # Log the change that was made (as long as the Item is not readonly # or it is not for an event): if ( self.item.style != "readonly" and object.base_trait(name).type != "event" ): # Indicate that the contents of the UI have been changed: self.ui.modified = True if self.updating: self.log_change( self.get_undo_item, object, name, old_value, new_value ) # If the change was not caused by the editor itself: if not self.updating: # Update the editor control to reflect the current object state: self.update_editor() def _sync_values(self): """ Initialize and synchronize editor and factory traits Initializes and synchronizes (as needed) editor traits with the value of corresponding factory traits. The name of the factory trait and the editor trait must match and the factory trait needs to have ``sync_value`` metadata set. The strategy followed is: - for each factory trait with ``sync_value`` metadata: 1. if the value is a :class:`ContextValue` instance then call :meth:`sync_value` with the ``name`` from the context value. 2. if the trait has ``sync_name`` metadata, look at the referenced trait value and if it is a non-empty string then use this value as the name of the value in the context. 3. otherwise initialize the current value of the factory trait to the corresponding value of the editor. - synchronization mode in cases 1 and 2 is taken from the ``sync_value`` metadata of the editor trait first and then the ``sync_value`` metadata of the factory trait if that is empty. - if the value is a container type, then the `is_list` metadata is set to """ factory = self.factory for name, trait in factory.traits(sync_value=not_none).items(): value = getattr(factory, name) self_trait = self.trait(name) if self_trait.sync_value: mode = self_trait.sync_value else: mode = trait.sync_value if isinstance(value, ContextValue): self.sync_value( value.name, name, mode, bool(self_trait.is_list), self_trait.type == "event", ) elif ( trait.sync_name is not None and getattr(factory, trait.sync_name, "") != "" ): # Note: this is implemented as a stepping stone from things # like ``low_name`` and ``high_name`` to using context values. sync_name = getattr(factory, trait.sync_name) self.sync_value( sync_name, name, mode, bool(self_trait.is_list), self_trait.type == "event", ) elif mode != "to" and value is not Undefined: setattr(self, name, value) def _bind_from(self, key, user_object, xuser_name, editor_name, is_list): """ Bind trait change handlers from a user object to the editor. Parameters ---------- key : str The key to use to guard against recursive updates. user_object : object The object in the TraitsUI context that is being bound. xuser_name: : str The extended name of the trait to be used on the user object. editor_name : str The name of the relevant editor trait. is_list : bool, optional If true, synchronization for item events will be set up in addition to the synchronization for the object itself. The default is False. """ def user_trait_modified(new): if key not in self._no_trait_update: with self.no_trait_update(key), self.raise_to_debug(): xsetattr(self, editor_name, new) user_object.on_trait_change(user_trait_modified, xuser_name) self._user_to.append((user_object, xuser_name, user_trait_modified)) if is_list: def user_list_modified(event): if ( isinstance(event, TraitListEvent) and key not in self._no_trait_update ): with self.no_trait_update(key), self.raise_to_debug(): n = event.index getattr(self, editor_name)[ n:n + len(event.removed) ] = event.added items = xuser_name + "_items" user_object.on_trait_change(user_list_modified, items) self._user_to.append((user_object, items, user_list_modified)) def _bind_to(self, key, user_object, xuser_name, editor_name, is_list): """ Bind trait change handlers from a user object to the editor. Parameters ---------- key : str The key to use to guard against recursive updates. user_object : object The object in the TraitsUI context that is being bound. xuser_name: : str The extended name of the trait to be used on the user object. editor_name : str The name of the relevant editor trait. is_list : bool, optional If true, synchronization for item events will be set up in addition to the synchronization for the object itself. The default is False. """ def editor_trait_modified(new): if key not in self._no_trait_update: with self.no_trait_update(key), self.raise_to_debug(): xsetattr(user_object, xuser_name, new) self.on_trait_change(editor_trait_modified, editor_name) self._user_from.append((editor_name, editor_trait_modified)) if is_list: def editor_list_modified(event): if key not in self._no_trait_update: with self.no_trait_update(key), self.raise_to_debug(): n = event.index value = xgetattr(user_object, xuser_name) value[n:n + len(event.removed)] = event.added self.on_trait_change(editor_list_modified, editor_name + "_items") self._user_from.append( (editor_name + "_items", editor_list_modified) ) def __set_value(self, value): """ Set the value of the trait the editor is editing. This calls the appropriate setattr method on the handler to perform the actual change. """ with self.updating_value(): try: handler = self.ui.handler obj_name = self.object_name name = self.name method = ( getattr(handler, "%s_%s_setattr" % (obj_name, name), None) or getattr(handler, "%s_setattr" % name, None) or getattr(handler, "setattr") ) method(self.ui.info, self.object, name, value) except TraitError as excp: self.error(excp) raise # -- Traits property getters and setters -------------------------------- @cached_property def _get_context_object(self): """ Returns the context object the editor is using In some cases a proxy object is edited rather than an object directly in the context, in which case we return ``self.object``. """ object_name = self.object_name context_key = object_name.split(".", 1)[0] if (object_name != "") and (context_key in self.ui.context): return self.ui.context[context_key] # This handles the case of a 'ListItemProxy', which is not in the # ui.context, but is the editor 'object': return self.object @cached_property def _get_extended_name(self): """ Returns the extended trait name being edited. """ return ("%s.%s" % (self.object_name, self.name)).split(".", 1)[1] def _get_value_trait(self): """ Returns the trait the editor is editing (Property implementation). """ return self.object.trait(self.name) def _get_value(self): """ Returns the value of the trait the editor is editing. """ return getattr(self.object, self.name, Undefined) def _set_value(self, value): """ Set the value of the trait the editor is editing. Dispatches via the TraitsUI Undo/Redo mechanisms to make change reversible, if desired. """ if self.ui and self.name != "None": self.ui.do_undoable(self.__set_value, value) def _get_str_value(self): """ Returns the text representation of the object trait. """ return self.string_value(getattr(self.object, self.name, Undefined)) traitsui-7.2.1/traitsui/dockable_view_element.py0000644000076500000240000001145214046644454022537 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! """ Defines the DockableViewElement class, which allows Traits UIs and Traits UI elements to be docked in external Pyface DockWindow windows. """ from traits.api import HasPrivateTraits, Instance, Bool from .ui import UI from .group import Group from .view import View from .view_element import ViewSubElement from pyface.dock.idockable import IDockable # ------------------------------------------------------------------------- # 'DockableViewElement' class: # ------------------------------------------------------------------------- class DockableViewElement(HasPrivateTraits, IDockable): """ Allows Traits UIs and Traits UI elements to be docked in external Pyface DockWindow windows. """ # ------------------------------------------------------------------------- # Trait definitions: # ------------------------------------------------------------------------- #: The Traits UI that can be docked with an external DockWindow ui = Instance(UI) #: The (optional) element of the Traits UI that can be docked element = Instance(ViewSubElement) #: Should the DockControl be closed on redocking? should_close = Bool(False) # -- IDockable interface -------------------------------------------------- def dockable_should_close(self): """ Should the current DockControl be closed before creating the new one? """ element = self.element if element is None: element = self.ui.view.content if not isinstance(element, Group): element = Group().trait_set(content=[element]) group = Group().trait_set(content=[element]) self._view = ( View() .trait_set(**self.ui.view.get()) .trait_set(content=group, title="") ) # FIXME: The following private traits are being set here to facilitate # rebuilding the ui (which will require the context and the handler). # When a current dock control is closed (close_dock_control method), # the contents of self.ui have been disposed of and self.ui is now # None. Now if a new UI needs to be created by calling # dockable_get_control (e.g., when doing an 'undock' action on a dock # window), we need to pass on the context and handler to the UI. # Therefore, we are setting these private traits here so # dockable_get_control can access them. In future, we need to # investigate if there is a better way to do this. self._context = self.ui.context.copy() # Make copy since context will be emptied when calling # self.ui.dispose() self._handler = self.ui.handler return self.should_close or (self.element is None) def dockable_get_control(self, parent): """ Gets a control that can be docked into a DockWindow. """ # Create the new UI: ui = self._view.ui( self._context, parent=parent, kind="subpanel", handler=self._handler, ) # Discard the reference to the view created previously: self._view = None # If the old UI was closed, then switch to using the new one: if self.element is None: self.ui = ui else: self._ui = ui return ui.control def dockable_init_dockcontrol(self, dock_control): """ Allows the object to override the default DockControl settings. """ dockable = self if self.element is not None: dockable = DockableViewElement( ui=self._ui, element=self.element, should_close=True ) self._ui = None dock_control.trait_set( dockable=dockable, on_close=dockable.close_dock_control ) def close_dock_control(self, dock_control, abort): """ Handles the closing of a DockControl containing a Traits UI. """ ui = self.ui # Ask the traits UI handler if it is OK to close the window: if (not abort) and (not ui.handler.close(ui.info, True)): # If not, tell the DockWindow not to close it: return False # Otherwise, clean up and close the traits UI: ui.dispose(abort=abort) # Break our linkage to the UI and ViewElement object: self.ui = self.element = None # And tell the DockWindow to remove the DockControl: return True traitsui-7.2.1/traitsui/table_filter.py0000644000076500000240000004750214046644454020671 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! """ Defines the filter object used to filter items displayed in a table editor. """ from traits.api import ( Any, Bool, Callable, Enum, Event, Expression, HasPrivateTraits, Instance, List, Str, Trait, ) from .editor_factory import EditorFactory from .group import Group from .include import Include from .item import Item from .menu import Action from .table_column import ObjectColumn from .view import View # ------------------------------------------------------------------------- # Trait definitions: # ------------------------------------------------------------------------- GenericTableFilterRuleOperation = Trait( "=", { "=": "eq", "<>": "ne", "<": "lt", "<=": "le", ">": "gt", ">=": "ge", "contains": "contains", "starts with": "starts_with", "ends with": "ends_with", }, ) class TableFilter(HasPrivateTraits): """ Filter for items displayed in a table. """ # ------------------------------------------------------------------------- # Trait definitions: # ------------------------------------------------------------------------- #: UI name of this filter (so the user can identify it in the UI) name = Str("Default filter") #: Default name that can be automatically overridden _name = Str("Default filter") #: A user-readable description of what kind of object satisfies the filter desc = Str("All items") #: A callable function that returns whether the passed object is allowed #: by the filter allowed = Callable(lambda object: True, transient=True) #: Is the filter a template (i.e., non-deletable, non-editable)? template = Bool(False) # ------------------------------------------------------------------------- # Class constants: # ------------------------------------------------------------------------- #: Traits that are ignored by the _anytrait_changed() handler ignored_traits = ["_name", "template", "desc"] # ------------------------------------------------------------------------- # Traits view definitions: # ------------------------------------------------------------------------- traits_view = View( "name{Filter name}", "_", Include("filter_view"), title="Edit Filter", width=0.2, buttons=[ "OK", "Cancel", Action( name="Help", action="show_help", defined_when="ui.view_elements.content['filter_view']" ".help_id != ''", ), ], ) searchable_view = View( [ [Include("search_view"), "|[]"], ["handler.status~", "|[]<>"], [ "handler.find_next`Find the next matching item`", "handler.find_previous`Find the previous matching item`", "handler.select`Select all matching items`", "handler.OK`Exit search`", "-<>", ], "|<>", ], title="Search for", kind="livemodal", width=0.25, ) search_view = Group(Include("filter_view")) filter_view = Group() def filter(self, object): """ Returns whether a specified object meets the filter or search criteria. """ return self.allowed(object) def description(self): """ Returns a user-readable description of what kind of object satisfies the filter. """ return self.desc def edit(self, object): """ Edits the contents of the filter. """ return self.edit_traits(view=self.edit_view(object), kind="livemodal") def edit_view(self, object): """ Return a view to use for editing the filter. The ''object'' parameter is a sample object for the table that the filter will be applied to. It is supplied in case the filter needs to extract data or metadata from the object. If the table is empty, the ''object'' argument is None. """ return None # ------------------------------------------------------------------------- # 'object' interface: # ------------------------------------------------------------------------- def __str__(self): return self.name # ------------------------------------------------------------------------- # Event handlers: # ------------------------------------------------------------------------- def _anytrait_changed(self, name, old, new): if (name not in self.ignored_traits) and ( (self.name == self._name) or (self.name == "") ): self.name = self._name = self.description() class EvalTableFilter(TableFilter): """ A table filter based on evaluating an expression. """ # ------------------------------------------------------------------------- # Trait definitions: # ------------------------------------------------------------------------- #: Override the standard **name** trait name = "Default evaluation filter" #: Python expression which will be applied to each table item expression = Expression # ------------------------------------------------------------------------- # Traits view definitions: # ------------------------------------------------------------------------- filter_view = Group("expression") def filter(self, object): """ Returns whether a specified object meets the filter or search criteria. """ if self._traits is None: self._traits = object.trait_names() try: return eval(self.expression_, globals(), object.trait_get(*self._traits)) except: return False def description(self): """ Returns a user readable description of what kind of object satisfies the filter. """ return self.expression class GenericTableFilterRule(HasPrivateTraits): """ A general rule used by a table filter. """ # ------------------------------------------------------------------------- # Trait definitions: # ------------------------------------------------------------------------- #: Filter this rule is part of filter = Instance("RuleTableFilter") #: Is this rule enabled? enabled = Bool(False) #: Is this rule an 'and' rule or an 'or' rule? and_or = Enum("and", "or") #: EnumEditor used to edit the **name** trait: name_editor = Instance(EditorFactory) #: Name of the object trait that this rule applies to name = Str() #: Operation to be applied in the rule operation = GenericTableFilterRuleOperation #: Editor used to edit the **value** trait value_editor = Instance(EditorFactory) #: Value to use in the operation when applying the rule to an object value = Any() # ------------------------------------------------------------------------- # Class constants: # ------------------------------------------------------------------------- #: Traits that are ignored by the _anytrait_changed() handler ignored_traits = ["filter", "name_editor", "value_editor"] def __init__(self, **traits): super().__init__(**traits) if self.name == "": names = list(self.filter._name_to_value.keys()) if len(names) > 0: names.sort() self.name = names[0] self.enabled = False def _name_changed(self, name): """ Handles a change to the value of the **name** trait. """ filter = self.filter if (filter is not None) and (filter._object is not None): self.value = filter._name_to_value.get(name) self.value_editor = filter._object.base_trait(name).get_editor() # ------------------------------------------------------------------------- # Event handlers: # ------------------------------------------------------------------------- def _anytrait_changed(self, name, old, new): if (name not in self.ignored_traits) and (self.filter is not None): self.filter.modified = True if name != "enabled": self.enabled = True def clone_traits(self, traits=None, memo=None, copy=None, **metadata): """ Clones a new object from this one, optionally copying only a specified set of traits.""" return ( super() .clone_traits(traits, memo, copy, **metadata) .trait_set(enabled=self.enabled, name=self.name) ) def description(self): """ Returns a description of the filter. """ return "%s %s %s" % (self.name, self.operation, self.value) def is_true(self, object): """ Returns whether the rule is true for a specified object. """ try: value1 = getattr(object, self.name) type1 = type(value1) value2 = self.value if not isinstance(value2, type1): value2 = type1(value2) return getattr(self, self.operation_)(value1, value2) except: return False # ------------------------------------------------------------------------- # Implemenations of the various rule operations: # ------------------------------------------------------------------------- def eq(self, value1, value2): return value1 == value2 def ne(self, value1, value2): return value1 != value2 def lt(self, value1, value2): return value1 < value2 def le(self, value1, value2): return value1 <= value2 def gt(self, value1, value2): return value1 > value2 def ge(self, value1, value2): return value1 >= value2 def contains(self, value1, value2): return value1.lower().find(value2.lower()) >= 0 def starts_with(self, value1, value2): return value1[: len(value2)].lower() == value2.lower() def ends_with(self, value1, value2): return value1[-len(value2) :].lower() == value2.lower() class GenericTableFilterRuleEnabledColumn(ObjectColumn): """ Table column that indicates whether a filter rule is enabled. """ def get_value(self, object): """ Returns the traits editor of the column for a specified object. """ if hasattr(object, "enabled") and object.enabled: return "\N{HEAVY CHECK MARK}" else: return "" class GenericTableFilterRuleAndOrColumn(ObjectColumn): """ Table column that displays whether a filter rule is conjoining ('and') or disjoining ('or'). """ def get_value(self, object): """ Returns the traits editor of the column for a specified object. """ if object.and_or == "or": return "or" return "" class GenericTableFilterRuleNameColumn(ObjectColumn): """ Table column for the name of an object trait. """ def get_editor(self, object): """ Returns the traits editor of the column for a specified object. """ return object.name_editor class GenericTableFilterRuleValueColumn(ObjectColumn): """ Table column for the value of an object trait. """ def get_editor(self, object): """ Returns the traits editor of the column for a specified object. """ return object.value_editor # ------------------------------------------------------------------------- # Defines the columns to display in the generic filter rule table: # ------------------------------------------------------------------------- # Columns to display in the table for generic filter rules. generic_table_filter_rule_columns = [ GenericTableFilterRuleAndOrColumn(name="and_or", label="or"), GenericTableFilterRuleNameColumn(name="name"), ObjectColumn(name="operation"), GenericTableFilterRuleValueColumn(name="value"), ] class RuleTableFilter(TableFilter): """ A table filter based on rules. """ # ------------------------------------------------------------------------- # Trait definitions: # ------------------------------------------------------------------------- #: Overrides the default **name** trait name = "Default rule-based filter" #: List of the filter rules to be applied rules = List(GenericTableFilterRule) #: Event fired when the contents of the filter have changed modified = Event() #: Persistence ID of the view view_id = Str("traitsui.table_filter.RuleTableFilter") #: Sample object that the filter will apply to _object = Any() #: Map of trait names and default values _name_to_value = Any() # ------------------------------------------------------------------------- # Traits view definitions: # ------------------------------------------------------------------------- error_view = View( Item( label="A menu or rule based filter can only be created for " "tables with at least one entry" ), title="Error Creating Filter", kind="livemodal", close_result=False, buttons=["Cancel"], ) def filter(self, object): """ Returns whether a specified object meets the filter or search criteria. """ is_first = is_true = True for rule in self.rules: if rule.and_or == "or": if is_true and (not is_first): return True is_true = True if is_true: is_true = rule.is_true(object) is_first = False return is_true def description(self): """ Returns a user-readable description of the kind of object that satisfies the filter. """ ors = [] ands = [] if len(self.rules) > 0: for rule in self.rules: if rule.and_or == "or": if len(ands) > 0: ors.append(" and ".join(ands)) ands = [] ands.append(rule.description()) if len(ands) > 0: ors.append(" and ".join(ands)) if len(ors) == 1: return ors[0] if len(ors) > 1: return " or ".join(["(%s)" % t for t in ors]) return super().description() def edit_view(self, object): """ Return a view to use for editing the filter. The ''object'' parameter is a sample object for the table that the filter will be applied to. It is supplied in case the filter needs to extract data or metadata from the object. If the table is empty, the ''object'' argument is None. """ self._object = object if object is None: return self.edit_traits(view="error_view") names = object.editable_traits() self._name_to_value = object.get(names) return View( [ ["name{Filter name}", "_"], [ Item( "rules", id="rules_table", editor=self._get_table_editor(names), ), "|<>", ], ], id=self.view_id, title="Edit Filter", kind="livemodal", resizable=True, buttons=["OK", "Cancel"], width=0.4, height=0.3, ) def _get_table_editor(self, names): """ Returns a table editor to use for editing the filter. """ from traitsui.api import TableEditor from traitsui.editors.api import EnumEditor return TableEditor( columns=generic_table_filter_rule_columns, orientation="vertical", deletable=True, sortable=False, configurable=False, auto_size=False, auto_add=True, row_factory=GenericTableFilterRule, row_factory_kw={ "filter": self, "name_editor": EnumEditor(values=names), }, ) def __getstate__(self): """ Returns the state to be pickled. This definition overrides **object**. """ dict = self.__dict__.copy() if "_object" in dict: del dict["_object"] del dict["_name_to_value"] return dict def _rules_changed(self, rules): """ Handles a change to the **rules** trait. """ for rule in rules: rule.filter = self # ------------------------------------------------------------------------- # Defines the columns to display in the menu filter rule table: # ------------------------------------------------------------------------- # Columns to display in the table for menu filters. menu_table_filter_rule_columns = [ GenericTableFilterRuleEnabledColumn(name="enabled", label=""), GenericTableFilterRuleNameColumn(name="name"), ObjectColumn(name="operation"), GenericTableFilterRuleValueColumn(name="value"), ] class MenuTableFilter(RuleTableFilter): """ A table filter based on a menu of rules. """ # ------------------------------------------------------------------------- # Trait definitions: # ------------------------------------------------------------------------- #: Overrides the default **name** trait name = "Default menu-based filter" #: Overrides the persistence ID of the view view_id = Str("traitsui.table_filter.MenuTableFilter") def filter(self, object): """ Returns whether a specified object meets the filter or search criteria. """ for rule in self.rules: if rule.enabled and (not rule.is_true(object)): return False return True def description(self): """ Returns a user8readable description of what kind of object satisfies the filter. """ result = " and ".join( [rule.description() for rule in self.rules if rule.enabled] ) if result != "": return result return "All items" def _get_table_editor(self, names): """ Returns a table editor to use for editing the filter. """ from .api import TableEditor from .editors.api import EnumEditor names = self._object.editable_traits() name_editor = EnumEditor(values=names) if len(self.rules) == 0: self.rules = [ GenericTableFilterRule( filter=self, name_editor=name_editor ).trait_set(name=name) for name in names ] for rule in self.rules: rule.enabled = False return TableEditor( columns=menu_table_filter_rule_columns, orientation="vertical", deletable=True, sortable=False, configurable=False, auto_size=False, auto_add=True, row_factory=GenericTableFilterRule, row_factory_kw={"filter": self, "name_editor": name_editor}, ) # ------------------------------------------------------------------------- # Define some standard template filters: # ------------------------------------------------------------------------- EvalFilterTemplate = EvalTableFilter( name="Evaluation filter template", template=True ) RuleFilterTemplate = RuleTableFilter( name="Rule-based filter template", template=True ) MenuFilterTemplate = MenuTableFilter( name="Menu-based filter template", template=True ) traitsui-7.2.1/traitsui/mimedata.py0000644000076500000240000000117214046644454020007 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! # Import the toolkit specific version. from traitsui.toolkit import toolkit_object # WIP: Currently only supports qt4 backend. API might change without # prior notification PyMimeData = toolkit_object("clipboard:PyMimeData") traitsui-7.2.1/traitsui/ui_editors/0000755000076500000240000000000014046644526020021 5ustar aayresstaff00000000000000traitsui-7.2.1/traitsui/ui_editors/__init__.py0000644000076500000240000000000014046644454022120 0ustar aayresstaff00000000000000traitsui-7.2.1/traitsui/ui_editors/data_frame_editor.py0000644000076500000240000003313614046644454024032 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! import logging from traits.api import ( Bool, Dict, Enum, Instance, List, Property, Str, Tuple, Either, ) from traitsui.basic_editor_factory import BasicEditorFactory from traitsui.editors.tabular_editor import TabularEditor from traitsui.item import Item from traitsui.tabular_adapter import TabularAdapter from traitsui.toolkit import toolkit_object from traitsui.toolkit_traits import Font from traitsui.ui_editor import UIEditor from traitsui.view import View logger = logging.getLogger(__name__) class DataFrameAdapter(TabularAdapter): """ Generic tabular adapter for data frames """ #: The text to use for a generic entry. text = Property() #: The alignment for each cell alignment = Property(Enum("left", "center", "right")) #: The text to use for a row index. index_text = Property() #: The alignment to use for a row index. index_alignment = Property() #: The font to use for each column font = Property() #: The format to use for each column format = Property() #: The format for each element, or a mapping column ID to format. _formats = Either(Str, Dict, default="%s") #: The font for each element, or a mapping column ID to font. _fonts = Either(Font, Dict, default="Courier 10") def _get_index_alignment(self): import numpy as np index = getattr(self.object, self.name).index if np.issubdtype(index.dtype, np.number): return "right" else: return "left" def _get_alignment(self): import numpy as np column = self.item[self.column_id] if np.issubdtype(column.dtype, np.number): return "right" else: return "left" def _get_font(self): if isinstance(self._fonts, toolkit_object("font_trait:TraitsFont")): return self._fonts else: return self._fonts.get(self.column_id, "Courier 10") def _get_format(self): if isinstance(self._formats, str): return self._formats else: return self._formats.get(self.column_id, "%s") def _get_content(self): return self.item[self.column_id].iloc[0] def _get_text(self): format = self.get_format(self.object, self.name, self.row, self.column) return format % self.get_content( self.object, self.name, self.row, self.column ) def _set_text(self, value): df = getattr(self.object, self.name) dtype = df.iloc[:, self.column].dtype try: value = dtype.type(value) df.iloc[self.row, self.column] = value except Exception: logger.debug( "User entered invalid value %r for column %r row %r", value, self.column, self.row, exc_info=True ) def _get_index_text(self): return str(self.item.index[0]) def _set_index_text(self, value): index = getattr(self.object, self.name).index dtype = index.dtype try: value = dtype.type(value) index.values[self.row] = value except Exception: logger.debug( "User entered invalid value %r for index", value, exc_info=True ) # ---- Adapter methods that are not sensitive to item type ---------------- def get_item(self, object, trait, row): """ Override the base implementation to work with DataFrames This returns a dataframe with one row, rather than a series, since using a dataframe preserves dtypes. """ return getattr(object, trait).iloc[row : row + 1] def delete(self, object, trait, row): """ Override the base implementation to work with DataFrames Unavoidably does a copy of the data, setting the trait with the new value. """ import pandas as pd df = getattr(object, trait) if 0 < row < len(df) - 1: new_df = pd.concat([df.iloc[:row, :], df.iloc[row + 1 :, :]]) elif row == 0: new_df = df.iloc[row + 1 :, :] else: new_df = df.iloc[:row, :] setattr(object, trait, new_df) def insert(self, object, trait, row, value): """ Override the base implementation to work with DataFrames Unavoidably does a copy of the data, setting the trait with the new value. """ import pandas as pd df = getattr(object, trait) if 0 < row < len(df) - 1: new_df = pd.concat([df.iloc[:row, :], value, df.iloc[row:, :]]) elif row == 0: new_df = pd.concat([value, df]) else: new_df = pd.concat([df, value]) setattr(object, trait, new_df) class _DataFrameEditor(UIEditor): """ TraitsUI-based editor implementation for data frames """ #: Indicate that the editor is scrollable/resizable: scrollable = True #: Should column titles be displayed: show_titles = Bool(True) #: The tabular adapter being used for the editor view: adapter = Instance(DataFrameAdapter) # -- Private Methods ------------------------------------------------------ def _target_name(self, name): if name: return "object.object." + name else: return "" def _data_frame_view(self): """ Return the view used by the editor. """ return View( Item( self._target_name(self.name), id="tabular_editor", show_label=False, editor=TabularEditor( show_titles=self.factory.show_titles, editable=self.factory.editable, adapter=self.adapter, selected=self._target_name(self.factory.selected), selected_row=self._target_name(self.factory.selected_row), selectable=self.factory.selectable, multi_select=self.factory.multi_select, activated=self._target_name(self.factory.activated), activated_row=self._target_name( self.factory.activated_row ), # noqa clicked=self._target_name(self.factory.clicked), dclicked=self._target_name(self.factory.dclicked), scroll_to_row=self._target_name( self.factory.scroll_to_row ), # noqa scroll_to_position_hint=( self.factory.scroll_to_position_hint ), scroll_to_column=self._target_name( self.factory.scroll_to_column ), # noqa right_clicked=self._target_name( self.factory.right_clicked ), # noqa right_dclicked=self._target_name( self.factory.right_dclicked ), # noqa column_clicked=self._target_name( self.factory.column_clicked ), # noqa column_right_clicked=self._target_name( self.factory.column_right_clicked ), # noqa operations=self.factory.operations, update=self._target_name(self.factory.update), refresh=self._target_name(self.factory.refresh), ), ), id="data_frame_editor", resizable=True, ) def init_ui(self, parent): """ Creates the Traits UI for displaying the array. """ factory = self.factory if factory.columns != []: columns = [] for column in factory.columns: if isinstance(column, str): title = column column_id = column else: title, column_id = column if column_id not in self.value.columns: continue columns.append((title, column_id)) else: columns = [ (column_id, column_id) for column_id in self.value.columns ] if factory.show_index: index_name = self.value.index.name if index_name is None: index_name = "" columns.insert(0, (index_name, "index")) if factory.adapter is not None: self.adapter = factory.adapter self.adapter._formats = factory.formats self.adapter._fonts = factory.fonts if not self.adapter.columns: self.adapter.columns = columns else: self.adapter = DataFrameAdapter( columns=columns, _formats=factory.formats, _fonts=factory.fonts ) return self.edit_traits( view="_data_frame_view", parent=parent, kind="subpanel" ) class DataFrameEditor(BasicEditorFactory): """ Editor factory for basic data frame editor """ #: The editor implementation class. klass = Property() #: Should an index column be displayed. show_index = Bool(True) #: Should column headers be displayed. show_titles = Bool(True) #: Optional list of either column ID or pairs of (column title, column ID). columns = List(Either(Str, Tuple(Str, Str))) #: The format for each element, or a mapping column ID to format. formats = Either(Str, Dict, default="%s") #: The font for each element, or a mapping column ID to font. fonts = Either(Font, Dict, default="Courier 10") #: The optional extended name of the trait to synchronize the selection #: values with: selected = Str() #: The optional extended name of the trait to synchronize the selection rows #: with: selected_row = Str() #: Whether or not to allow selection. selectable = Bool(True) #: Whether or not to allow for multiple selections multi_select = Bool(False) #: The optional extended name of the trait to synchronize the activated #: value with: activated = Str() #: The optional extended name of the trait to synchronize the activated #: value's row with: activated_row = Str() #: The optional extended name of the trait to synchronize left click data #: with. The data is a TabularEditorEvent: clicked = Str() #: The optional extended name of the trait to synchronize left double click #: data with. The data is a TabularEditorEvent: dclicked = Str() #: The optional extended name of the Event trait that should be used to #: trigger a scroll-to command. The data is an integer giving the row. scroll_to_row = Str() #: Deprecated: Controls behavior of scroll to row and scroll to column scroll_to_row_hint = Property(Str, observe="scroll_to_position_hint") #: (replacement of scroll_to_row_hint, but more clearly named) #: Controls behavior of scroll to row and scroll to column scroll_to_position_hint = Enum("visible", "center", "top", "bottom") #: The optional extended name of the Event trait that should be used to #: trigger a scroll-to command. The data is an integer giving the column. scroll_to_column = Str() #: The optional extended name of the trait to synchronize right click data #: with. The data is a TabularEditorEvent: right_clicked = Str() #: The optional extended name of the trait to synchronize right double #: clicked data with. The data is a TabularEditorEvent: right_dclicked = Str() #: The optional extended name of the trait to synchronize column #: clicked data with. The data is a TabularEditorEvent: column_clicked = Str() #: The optional extended name of the trait to synchronize column #: right clicked data with. The data is a TabularEditorEvent: column_right_clicked = Str() #: Whether or not the entries can be edited. editable = Bool(False) #: What type of operations are allowed on the list: operations = List( Enum("delete", "insert", "append", "edit", "move"), ["delete", "insert", "append", "edit", "move"], ) #: The optional extended name of the trait used to indicate that a complete #: table update is needed: update = Str() #: The optional extended name of the trait used to indicate that the table #: just needs to be repainted. refresh = Str() #: Set to override the default dataframe adapter adapter = Instance(DataFrameAdapter) def _get_klass(self): """ The class used to construct editor objects. """ return toolkit_object("data_frame_editor:_DataFrameEditor") def _get_scroll_to_row_hint(self): warnings.warn( "Use of scroll_to_row_hint trait is deprecated. " "Use scroll_to_position_hint instead.", DeprecationWarning, ) return self.scroll_to_position_hint def _set_scroll_to_row_hint(self, hint): warnings.warn( "Use of scroll_to_row_hint trait is deprecated. " "Use scroll_to_position_hint instead.", DeprecationWarning, ) self.scroll_to_position_hint = hint traitsui-7.2.1/traitsui/ui_editors/array_view_editor.py0000644000076500000240000001251014046644454024110 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! """ Defines an ArrayViewEditor for displaying 1-d or 2-d arrays of values. """ # -- Imports -------------------------------------------------------------- from traits.api import Instance, Property, List, Str, Bool from ..api import View, Item, TabularEditor, BasicEditorFactory from ..tabular_adapter import TabularAdapter from ..toolkit import toolkit_object from ..toolkit_traits import Font from ..ui_editor import UIEditor # -- Tabular Adapter Definition ------------------------------------------- class ArrayViewAdapter(TabularAdapter): #: Is the array 1D or 2D? is_2d = Bool(True) #: Should array rows and columns be transposed: transpose = Bool(False) alignment = "right" index_text = Property() def _get_index_text(self): return str(self.row) def _get_content(self): if self.is_2d: return self.item[self.column_id] return self.item def get_item(self, object, trait, row): """ Returns the value of the *object.trait[row]* item. """ if self.is_2d: if self.transpose: return getattr(object, trait)[:, row] return super().get_item(object, trait, row) return getattr(object, trait)[row] def len(self, object, trait): """ Returns the number of items in the specified *object.trait* list. """ if self.transpose: return getattr(object, trait).shape[1] return super().len(object, trait) # Define the actual abstract Traits UI array view editor (each backend should # implement its own editor that inherits from this class. class _ArrayViewEditor(UIEditor): #: Indicate that the editor is scrollable/resizable: scrollable = True #: Should column titles be displayed: show_titles = Bool(False) #: The tabular adapter being used for the editor view: adapter = Instance(ArrayViewAdapter) # -- Private Methods ------------------------------------------------------ def _array_view(self): """ Return the view used by the editor. """ return View( Item( "object.object." + self.name, id="tabular_editor", show_label=False, editor=TabularEditor( show_titles=self.show_titles, editable=False, adapter=self.adapter, ), ), id="array_view_editor", resizable=True, ) def init_ui(self, parent): """ Creates the Traits UI for displaying the array. """ # Make sure that the value is an array of the correct shape: shape = self.value.shape len_shape = len(shape) if (len_shape == 0) or (len_shape > 2): raise ValueError( "ArrayViewEditor can only display 1D or 2D " "arrays" ) factory = self.factory cols = 1 titles = factory.titles n = len(titles) self.show_titles = n > 0 is_2d = len_shape == 2 if is_2d: index = 1 if factory.transpose: index = 0 cols = shape[index] if self.show_titles: if n > cols: titles = titles[:cols] elif n < cols: if (cols % n) == 0: titles, old_titles, i = [], titles, 0 while len(titles) < cols: titles.extend( "%s%d" % (title, i) for title in old_titles ) i += 1 else: titles.extend([""] * (cols - n)) else: titles = ["Data %d" % i for i in range(cols)] columns = [(title, i) for i, title in enumerate(titles)] if factory.show_index: columns.insert(0, ("Index", "index")) self.adapter = ArrayViewAdapter( is_2d=is_2d, columns=columns, transpose=factory.transpose, format=factory.format, font=factory.font, ) return self.edit_traits( view="_array_view", parent=parent, kind="subpanel" ) # Define the ArrayViewEditor class used by client code: class ArrayViewEditor(BasicEditorFactory): #: The editor implementation class: klass = Property() #: Should an index column be displayed: show_index = Bool(True) #: List of (optional) column titles: titles = List(Str) #: Should the array be logically transposed: transpose = Bool(False) #: The format used to display each array element: format = Str("%s") #: The font to use for displaying each array element: font = Font("Courier 10") def _get_klass(self): """ The class used to construct editor objects. """ return toolkit_object("array_view_editor:_ArrayViewEditor") traitsui-7.2.1/traitsui/help.py0000644000076500000240000000321214046644454017153 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! """ Defines the help interface for displaying the help associated with a Traits UI View object. """ from .toolkit import toolkit def default_show_help(info, control): """ Default handler for showing the help associated with a view. """ toolkit().show_help(info.ui, control) # The default handler for showing help show_help = default_show_help def on_help_call(new_show_help=None): """ Sets a new global help provider function. The help provider function must have a signature of *function*(*info*, *control*), where *info* is a UIInfo object for the current view, and *control* is the UI control that invokes the function (typically, a **Help** button). It is provided in case the help provider needs to position the help window relative to the **Help** button. To retrieve the current help provider function, call this function with no arguments. Parameters ---------- new_show_help : function The function to set as the new global help provider Returns ------- previous : callable The previous global help provider function """ global show_help result = show_help if new_show_help is not None: show_help = new_show_help return result traitsui-7.2.1/traitsui/qt4/0000755000076500000240000000000014046644526016363 5ustar aayresstaff00000000000000traitsui-7.2.1/traitsui/qt4/file_editor.py0000644000076500000240000002511414046644454021225 0ustar aayresstaff00000000000000# (C) Copyright 2008-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! # Copyright (c) 2007, Riverbank Computing Limited # All rights reserved. # # This software is provided without warranty under the terms of the BSD license. # However, when used with the GPL version of PyQt the additional terms # described in the PyQt GPL exception also apply # # Author: Riverbank Computing Limited """ Defines file editors for the PyQt user interface toolkit. """ from os.path import abspath, splitext, isfile, exists from pyface.qt import QtCore, QtGui, is_qt5 from traits.api import Any, Callable, List, Event, File, Str, TraitError, Tuple from .editor import Editor from .text_editor import SimpleEditor as SimpleTextEditor from .helper import IconButton # Wildcard filter: filter_trait = List(Str) class SimpleEditor(SimpleTextEditor): """ Simple style of file editor, consisting of a text field and a **Browse** button that opens a file-selection dialog box. The user can also drag and drop a file onto this control. """ #: List of tuple(signal, slot) to be removed in dispose. #: First item in the tuple is the Qt signal, the second item is the event #: handler. _connections_to_remove = List(Tuple(Any(), Callable())) def init(self, parent): """ Finishes initializing the editor by creating the underlying toolkit widget. """ self.control = QtGui.QWidget() layout = QtGui.QHBoxLayout(self.control) layout.setContentsMargins(0, 0, 0, 0) self._file_name = control = QtGui.QLineEdit() layout.addWidget(control) if self.factory.auto_set: control.textEdited.connect(self.update_object) self._connections_to_remove.append( (control.textEdited, self.update_object) ) else: # Assume enter_set is set, or else the value will never get # updated. control.editingFinished.connect(self.update_object) self._connections_to_remove.append( (control.editingFinished, self.update_object) ) button = IconButton(QtGui.QStyle.SP_DirIcon, self.show_file_dialog) layout.addWidget(button) self.set_tooltip(control) def dispose(self): """ Disposes of the contents of an editor. """ while self._connections_to_remove: signal, handler = self._connections_to_remove.pop() signal.disconnect(handler) # IconButton.clicked signal should be disconnected here. # (enthought/traitsui#888) # skip the dispose from TextEditor (enthought/traitsui#884) Editor.dispose(self) def update_object(self): """ Handles the user changing the contents of the edit control. """ if self.control is not None: file_name = str(self._file_name.text()) try: if self.factory.truncate_ext: file_name = splitext(file_name)[0] self.value = file_name except TraitError as excp: self._file_name.setText(self.value) def update_editor(self): """ Updates the editor when the object trait changes externally to the editor. """ self._file_name.setText(self.str_value) def show_file_dialog(self): """ Displays the pop-up file dialog. """ # We don't used the canned functions because we don't know how the # file name is to be used (ie. an existing one to be opened or a new # one to be created). dlg = self._create_file_dialog() if dlg.exec_() == QtGui.QDialog.Accepted: files = dlg.selectedFiles() if len(files) > 0: file_name = str(files[0]) if self.factory.truncate_ext: file_name = splitext(file_name)[0] self.value = file_name self.update_editor() def get_error_control(self): """ Returns the editor's control for indicating error status. """ return self._file_name # -- Private Methods ------------------------------------------------------ def _create_file_dialog(self): """ Creates the correct type of file dialog. """ dlg = QtGui.QFileDialog(self.control) dlg.selectFile(self._file_name.text()) if self.factory.dialog_style == "open": dlg.setAcceptMode(dlg.AcceptOpen) elif self.factory.dialog_style == "save": dlg.setAcceptMode(dlg.AcceptSave) if len(self.factory.filter) > 0: dlg.setNameFilters(self.factory.filter) return dlg class CustomEditor(SimpleTextEditor): """ Custom style of file editor, consisting of a file system tree view. """ #: Is the file editor scrollable? This value overrides the default. scrollable = True #: Wildcard filter to apply to the file dialog: filter = filter_trait #: The root path of the file tree view. root_path = File() #: Event fired when the file system view should be rebuilt: reload = Event() #: Event fired when the user double-clicks a file: dclick = Event() def init(self, parent): """ Finishes initializing the editor by creating the underlying toolkit widget. """ control = _TreeView(self) control.doubleClicked.connect(self._on_dclick) self._model = model = QtGui.QFileSystemModel() current_path = abspath(self.str_value) # Don't apply filters to directories and don't show "." and ".." model.setFilter( QtCore.QDir.AllDirs | QtCore.QDir.Files | QtCore.QDir.Drives | QtCore.QDir.NoDotAndDotDot ) # Hide filtered out files instead of only disabling them self._model.setNameFilterDisables(False) # Show the user's home directory by default. model.setRootPath(QtCore.QDir.homePath()) control.setModel(model) control.setRootIndex(model.index(QtCore.QDir.homePath())) self.control = control # set the current item if current_path: index = model.index(current_path) control.expand(index) control.setCurrentIndex(index) # Hide the labels at the top and only show the column for the file name self.control.header().hide() for column in range(1, model.columnCount()): self.control.hideColumn(column) factory = self.factory self.filter = factory.filter self.root_path = factory.root_path self.sync_value(factory.filter_name, "filter", "from", is_list=True) self.sync_value(factory.root_path_name, "root_path", "from") self.sync_value(factory.reload_name, "reload", "from") self.sync_value(factory.dclick_name, "dclick", "to") self.set_tooltip() # This is needed to enable horizontal scrollbar. header = self.control.header() if is_qt5: header.setSectionResizeMode(0, QtGui.QHeaderView.ResizeToContents) else: header.setResizeMode(0, QtGui.QHeaderView.ResizeToContents) header.setStretchLastSection(False) def dispose(self): """ Disposes of the contents of an editor. """ self._model.beginResetModel() self._model.endResetModel() if self.control is not None: self.control.doubleClicked.disconnect(self._on_dclick) # Skip dispose from simple text editor (enthought/traitsui#884) Editor.dispose(self) def update_object(self, idx): """ Handles the user changing the contents of the edit control. """ if self.control is not None: path = str(self._model.filePath(idx)) if self.factory.allow_dir or isfile(path): if self.factory.truncate_ext: path = splitext(path)[0] self.value = path def update_editor(self): """ Updates the editor when the object trait changes externally to the editor. """ if exists(self.str_value): index = self._model.index(abspath(self.str_value)) self.control.expand(index) self.control.setCurrentIndex(index) # -- Private Methods ------------------------------------------------------ def _on_dclick(self, idx): """ Handles the user double-clicking on a file name. """ self.dclick = str(self._model.filePath(idx)) # Trait change handlers -------------------------------------------------- def _filter_changed(self): """ Handles the 'filter' trait being changed. """ self._model.setNameFilters(self.filter) def _root_path_changed(self): """ Handles the 'root_path' trait being changed. """ path = self.root_path if not path: path = QtCore.QDir.homePath() self._model.setRootPath(path) self.control.setRootIndex(self._model.index(path)) def _reload_changed(self): """ Handles the 'reload' trait being changed. """ self._model.refresh() class _TreeView(QtGui.QTreeView): """ This is an internal class needed because QAbstractItemView doesn't provide a signal for when the current index changes. """ def __init__(self, editor): super().__init__() self._editor = editor def event(self, event): if event.type() == QtCore.QEvent.ToolTip: index = self.indexAt(event.pos()) if index and index.isValid(): QtGui.QToolTip.showText(event.globalPos(), index.data(), self) else: QtGui.QToolTip.hideText() event.ignore() return True return super().event(event) def keyPressEvent(self, keyevent): key = keyevent.key() if key == QtCore.Qt.Key_Return or key == QtCore.Qt.Key_Enter: self._editor._on_dclick(self.selectedIndexes()[0]) keyevent.accept() QtGui.QTreeView.keyPressEvent(self, keyevent) def currentChanged(self, current, previous): """ Reimplemented to tell the editor when the current index has changed. """ super().currentChanged(current, previous) self._editor.update_object(current) traitsui-7.2.1/traitsui/qt4/list_str_editor.py0000644000076500000240000005033114046644454022150 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! """ Traits UI editor for editing lists of strings. """ import collections.abc from pyface.image_resource import ImageResource from pyface.qt import QtCore, QtGui, is_qt5 from traits.api import ( Any, Bool, Event, Int, Instance, List, Property, Str, TraitListEvent, NO_COMPARE, ) from traitsui.list_str_adapter import ListStrAdapter from .editor import Editor from .list_str_model import ListStrModel from traitsui.menu import Menu class _ListStrEditor(Editor): """ Traits UI editor for editing lists of strings. """ # ------------------------------------------------------------------------- # Trait definitions: # ------------------------------------------------------------------------- # The list view control associated with the editor: list_view = Any() #: The list model associated the editor: model = Instance(ListStrModel) #: The title of the editor: title = Str() #: The current set of selected items (which one is used depends upon the #: initial state of the editor factory 'multi_select' trait): selected = Any() multi_selected = List() #: The current set of selected item indices (which one is used depends upon #: the initial state of the editor factory 'multi_select' trait): selected_index = Int(-1) multi_selected_indices = List(Int) #: The most recently actived item and its index. #: Always trigger change notification. activated = Any(comparison_mode=NO_COMPARE) activated_index = Int(comparison_mode=NO_COMPARE) #: The most recently right_clicked item and its index: right_clicked = Event() right_clicked_index = Event() #: Is the list editor scrollable? This value overrides the default. scrollable = True #: Should the selected item be edited after rebuilding the editor list: edit = Bool(False) #: The adapter from list items to editor values: adapter = Instance(ListStrAdapter) #: Dictionary mapping image names to QIcons images = Any({}) #: Dictionary mapping ImageResource objects to QIcons image_resources = Any({}) #: The current number of item currently in the list: item_count = Property() #: The current search string: search = Str() # ------------------------------------------------------------------------- # Editor interface: # ------------------------------------------------------------------------- def init(self, parent): """ Finishes initializing the editor by creating the underlying toolkit widget. """ factory = self.factory # Set up the adapter to use: self.adapter = factory.adapter self.sync_value(factory.adapter_name, "adapter", "from") # Create the list model and accompanying controls: self.model = ListStrModel(editor=self) self.control = QtGui.QWidget() layout = QtGui.QVBoxLayout(self.control) layout.setContentsMargins(0, 0, 0, 0) layout.setSpacing(0) if factory.title or factory.title_name: header_view = QtGui.QHeaderView(QtCore.Qt.Horizontal, self.control) self._header_view = header_view header_view.setModel(self.model) header_view.setMaximumHeight(header_view.sizeHint().height()) if is_qt5: header_view.setSectionResizeMode(QtGui.QHeaderView.Stretch) else: header_view.setResizeMode(QtGui.QHeaderView.Stretch) layout.addWidget(header_view) else: self._header_view = None self.list_view = _ListView(self) layout.addWidget(self.list_view) # Set up the list control's event handlers: if factory.multi_select: slot = self._on_rows_selection else: slot = self._on_row_selection selection_model = self.list_view.selectionModel() selection_model.selectionChanged.connect(slot) self.list_view.activated.connect(self._on_activate) # Initialize the editor title: self.title = factory.title self.sync_value(factory.title_name, "title", "from") # Set up the selection listener if factory.multi_select: self.sync_value( factory.selected, "multi_selected", "both", is_list=True ) self.sync_value( factory.selected_index, "multi_selected_indices", "both", is_list=True, ) else: self.sync_value(factory.selected, "selected", "both") self.sync_value(factory.selected_index, "selected_index", "both") # Synchronize other interesting traits as necessary: self.sync_value(factory.activated, "activated", "to") self.sync_value(factory.activated_index, "activated_index", "to") self.sync_value(factory.right_clicked, "right_clicked", "to") self.sync_value( factory.right_clicked_index, "right_clicked_index", "to" ) # Make sure we listen for 'items' changes as well as complete list # replacements: self.context_object.observe( self.update_editor, self.extended_name + ".items", dispatch="ui" ) # Create the mapping from user supplied images to QIcons: for image_resource in factory.images: self._add_image(image_resource) # Refresh the editor whenever the adapter changes: self.observe( self.refresh_editor, "adapter.+update", dispatch="ui" ) # Set the list control's tooltip: self.set_tooltip() def dispose(self): """ Disposes of the contents of an editor. """ self.model.beginResetModel() self.model.endResetModel() self.context_object.observe( self.update_editor, self.extended_name + ".items", remove=True, dispatch="ui" ) self.observe( self.refresh_editor, "adapter.+update", remove=True, dispatch="ui" ) if self._header_view is not None: self._header_view.setModel(None) self._header_view = None self.list_view._dispose() super().dispose() def update_editor(self, event=None): """ Updates the editor when the object trait changes externally to the editor. """ if not self._no_update: self.model.beginResetModel() self.model.endResetModel() # restore selection back if self.factory.multi_select: self._multi_selected_changed(self.multi_selected) else: self._selected_changed(self.selected) # ------------------------------------------------------------------------- # ListStrEditor interface: # ------------------------------------------------------------------------- def refresh_editor(self, event=None): """ Requests that the underlying list widget to redraw itself. """ self.list_view.viewport().update() def callx(self, func, *args, **kw): """ Call a function without allowing the editor to update. """ old = self._no_update self._no_update = True try: func(*args, **kw) finally: self._no_update = old def setx(self, **keywords): """ Set one or more attributes without allowing the editor to update. """ old = self._no_notify self._no_notify = True try: for name, value in keywords.items(): setattr(self, name, value) finally: self._no_notify = old def get_image(self, image): """ Converts a user specified image to a QIcon. """ if isinstance(image, ImageResource): result = self.image_resources.get(image) if result is not None: return result return self._add_image(image) return self.images.get(image) def is_auto_add(self, index): """ Returns whether or not the index is the special 'auto add' item at the end of the list. """ return self.factory.auto_add and ( index >= self.adapter.len(self.object, self.name) ) # ------------------------------------------------------------------------- # Private interface: # ------------------------------------------------------------------------- def _add_image(self, image_resource): """ Adds a new image to the image map. """ image = image_resource.create_icon() self.image_resources[image_resource] = image self.images[image_resource.name] = image return image # -- Property Implementations --------------------------------------------- def _get_item_count(self): return self.model.rowCount(None) - self.factory.auto_add # -- Trait Event Handlers ------------------------------------------------- def _selected_changed(self, selected): """ Handles the editor's 'selected' trait being changed. """ if not self._no_update: try: selected_index = self.value.index(selected) except ValueError: pass else: self._selected_index_changed(selected_index) def _selected_index_changed(self, selected_index): """ Handles the editor's 'selected_index' trait being changed. """ if not self._no_update: smodel = self.list_view.selectionModel() if selected_index == -1: smodel.clearSelection() else: mi = self.model.index(selected_index) smodel.select(mi, QtGui.QItemSelectionModel.ClearAndSelect) self.list_view.scrollTo(mi) def _multi_selected_changed(self, selected): """ Handles the editor's 'multi_selected' trait being changed. """ if not self._no_update: indices = [] for item in selected: try: indices.append(self.value.index(item)) except ValueError: pass self._multi_selected_indices_changed(indices) def _multi_selected_items_changed(self, event): """ Handles the editor's 'multi_selected' trait being modified. """ if not self._no_update: try: added = [self.value.index(item) for item in event.added] removed = [self.value.index(item) for item in event.removed] except ValueError: pass else: event = TraitListEvent( index=0, added=added, removed=removed ) self._multi_selected_indices_items_changed(event) def _multi_selected_indices_changed(self, selected_indices): """ Handles the editor's 'multi_selected_indices' trait being changed. """ if not self._no_update: smodel = self.list_view.selectionModel() smodel.clearSelection() for selected_index in selected_indices: smodel.select( self.model.index(selected_index), QtGui.QItemSelectionModel.Select, ) if selected_indices: self.list_view.scrollTo(self.model.index(selected_indices[-1])) def _multi_selected_indices_items_changed(self, event): """ Handles the editor's 'multi_selected_indices' trait being modified. """ if not self._no_update: smodel = self.list_view.selectionModel() for selected_index in event.removed: smodel.select( self.model.index(selected_index), QtGui.QItemSelectionModel.Deselect, ) for selected_index in event.added: smodel.select( self.model.index(selected_index), QtGui.QItemSelectionModel.Select, ) # -- List Control Event Handlers ------------------------------------------ def _on_activate(self, mi): """ Handle a cell being activated. """ self.activated_index = index = mi.row() self.activated = self.adapter.get_item(self.object, self.name, index) def _on_mouse_right_click(self, point): """ Handle a mouse right click event """ mi = self.list_view.indexAt(point) if mi.isValid(): self.right_clicked_index = index = mi.row() self.right_clicked = self.adapter.get_item( self.object, self.name, index ) def _on_row_selection(self, added, removed): """ Handle the row selection being changed. """ self._no_update = True try: indices = self.list_view.selectionModel().selectedRows() if len(indices): self.selected_index = indices[0].row() self.selected = self.adapter.get_item( self.object, self.name, self.selected_index ) else: self.selected_index = -1 self.selected = None finally: self._no_update = False def _on_rows_selection(self, added, removed): """ Handle the rows selection being changed. """ self._no_update = True try: indices = self.list_view.selectionModel().selectedRows() self.multi_selected_indices = indices = [i.row() for i in indices] self.multi_selected = [ self.adapter.get_item(self.object, self.name, i) for i in self.multi_selected_indices ] finally: self._no_update = False def _on_context_menu(self, pos): menu = self.factory.menu index = self.list_view.indexAt(pos).row() if isinstance(menu, str): menu = getattr(self.object, menu, None) if isinstance(menu, collections.abc.Callable): menu = menu(index) if menu is not None: qmenu = menu.create_menu(self.list_view, self) self._menu_context = { "selection": self.object, "object": self.object, "editor": self, "index": index, "info": self.ui.info, "handler": self.ui.handler, } qmenu.exec_(self.list_view.mapToGlobal(pos)) self._menu_context = None # ------------------------------------------------------------------------- # Qt widgets that have been configured to behave as expected by Traits UI: # ------------------------------------------------------------------------- class _ItemDelegate(QtGui.QStyledItemDelegate): """ A QStyledItemDelegate which optionally draws horizontal gridlines. (QListView does not support gridlines). """ def __init__(self, editor, parent=None): """ Save the editor """ QtGui.QStyledItemDelegate.__init__(self, parent) self._editor = editor def paint(self, painter, option, index): """ Overrident to draw gridlines. """ QtGui.QStyledItemDelegate.paint(self, painter, option, index) if self._editor.factory.horizontal_lines: painter.save() painter.setPen(option.palette.color(QtGui.QPalette.Dark)) painter.drawLine( option.rect.bottomLeft(), option.rect.bottomRight() ) painter.restore() class _ListView(QtGui.QListView): """ A QListView configured to behave as expected by TraitsUI. """ def __init__(self, editor): """ Initialise the object. """ QtGui.QListView.__init__(self) self._editor = editor self.setItemDelegate(_ItemDelegate(editor, self)) self.setModel(editor.model) factory = editor.factory # Configure the selection behavior if factory.multi_select: mode = QtGui.QAbstractItemView.ExtendedSelection else: mode = QtGui.QAbstractItemView.SingleSelection self.setSelectionMode(mode) # Configure drag and drop behavior self.setDragEnabled(True) self.setDragDropOverwriteMode(True) self.setDragDropMode(QtGui.QAbstractItemView.InternalMove) self.setDropIndicatorShown(True) if editor.factory.menu is False: self.setContextMenuPolicy(QtCore.Qt.NoContextMenu) elif editor.factory.menu is not False: self.setContextMenuPolicy(QtCore.Qt.CustomContextMenu) self.customContextMenuRequested.connect(editor._on_context_menu) # Configure context menu behavior self.setContextMenuPolicy(QtCore.Qt.CustomContextMenu) def _dispose(self): """ Clean up states in this view. """ self.setModel(None) def mouseReleaseEvent(self, event): """ Reimplemented to support listening to right clicked item.""" if event.button() == QtCore.Qt.RightButton: event.accept() self._editor._on_mouse_right_click(event.pos()) super().mouseReleaseEvent(event) def keyPressEvent(self, event): """ Reimplemented to support edit, insert, and delete by keyboard. """ editor = self._editor factory = editor.factory # Note that setting 'EditKeyPressed' as an edit trigger does not work on # most platforms, which is why we do this here. if ( event.key() in (QtCore.Qt.Key_Enter, QtCore.Qt.Key_Return) and self.state() != QtGui.QAbstractItemView.EditingState and factory.editable and "edit" in factory.operations ): if factory.multi_select: indices = editor.multi_selected_indices row = indices[0] if len(indices) == 1 else -1 else: row = editor.selected_index if row != -1: event.accept() self.edit(editor.model.index(row)) elif ( event.key() in (QtCore.Qt.Key_Backspace, QtCore.Qt.Key_Delete) and factory.editable and "delete" in factory.operations ): event.accept() if factory.multi_select: for row in reversed(sorted(editor.multi_selected_indices)): editor.model.removeRow(row) elif editor.selected_index != -1: # Deleting the selected item will reset cause the ListView's # selection model to select the next item before removing the # originally selected rows. Visually, this looks fine because # the next item is then placed where the deleted item used to # be. However, some internal state is kept which makes the # selected item seem off by one. So we'll reset it manually # here. row = editor.selected_index editor.model.removeRow(row) # Handle the case of deleting the last item in the list. editor.selected_index = min( row, editor.adapter.len(editor.object, editor.name) - 1 ) elif ( event.key() == QtCore.Qt.Key_Insert and factory.editable and "insert" in factory.operations ): event.accept() if factory.multi_select: indices = sorted(editor.multi_selected_indices) row = indices[0] if len(indices) else -1 else: row = editor.selected_index if row == -1: row = editor.adapter.len(editor.object, editor.name) editor.model.insertRow(row) self.setCurrentIndex(editor.model.index(row)) else: QtGui.QListView.keyPressEvent(self, event) traitsui-7.2.1/traitsui/qt4/table_model.py0000644000076500000240000004042614046644454021212 0ustar aayresstaff00000000000000# (C) Copyright 2009-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! # ------------------------------------------------------------------------------ # Copyright (c) 2008, Riverbank Computing Limited # All rights reserved. # # This software is provided without warranty under the terms of the BSD license. # However, when used with the GPL version of PyQt the additional terms described # in the PyQt GPL exception also apply. # # Author: Riverbank Computing Limited # ------------------------------------------------------------------------------ """ Defines the table model used by the table editor. """ import logging from pyface.qt import QtCore, QtGui from traitsui.ui_traits import SequenceTypes from .clipboard import PyMimeData # set up logging for the module logger = logging.getLogger(__name__) # Mapping for trait alignment values to qt4 horizontal alignment constants h_alignment_map = { "left": QtCore.Qt.AlignLeft, "center": QtCore.Qt.AlignHCenter, "right": QtCore.Qt.AlignRight, } # Mapping for trait alignment values to qt4 vertical alignment constants v_alignment_map = { "top": QtCore.Qt.AlignTop, "center": QtCore.Qt.AlignVCenter, "bottom": QtCore.Qt.AlignBottom, } # MIME type for internal table drag/drop operations mime_type = "traits-ui-table-editor" def as_qcolor(color): """ Convert a color specification (maybe a tuple) into a QColor. """ if isinstance(color, SequenceTypes): return QtGui.QColor(*color) else: return QtGui.QColor(color) class TableModel(QtCore.QAbstractTableModel): """The model for table data.""" def __init__(self, editor, parent=None): """Initialise the object.""" QtCore.QAbstractTableModel.__init__(self, parent) self._editor = editor # ------------------------------------------------------------------------- # QAbstractTableModel interface: # ------------------------------------------------------------------------- def rowCount(self, mi): """Reimplemented to return the number of rows.""" return len(self._editor.items()) def columnCount(self, mi): """Reimplemented to return the number of columns.""" return len(self._editor.columns) def data(self, mi, role): """Reimplemented to return the data.""" obj = self._editor.items()[mi.row()] column = self._editor.columns[mi.column()] if self._editor.factory is None: # XXX This should never happen, but it does, # probably during shutdown, but I haven't investigated return None if role == QtCore.Qt.DisplayRole or role == QtCore.Qt.EditRole: text = column.get_value(obj) if text is not None: return text elif role == QtCore.Qt.DecorationRole: image = self._editor._get_image(column.get_image(obj)) if image is not None: return image elif role == QtCore.Qt.ToolTipRole: tooltip = column.get_tooltip(obj) if tooltip: return tooltip elif role == QtCore.Qt.FontRole: font = column.get_text_font(obj) if font is None: font = self._editor.factory.cell_font if font is not None: return QtGui.QFont(font) elif role == QtCore.Qt.TextAlignmentRole: string = column.get_horizontal_alignment(obj) h_alignment = h_alignment_map.get(string, QtCore.Qt.AlignLeft) string = column.get_vertical_alignment(obj) v_alignment = v_alignment_map.get(string, QtCore.Qt.AlignVCenter) return int(h_alignment | v_alignment) elif role == QtCore.Qt.BackgroundRole: color = column.get_cell_color(obj) if color is None: if column.is_editable(obj): color = self._editor.factory.cell_bg_color_ else: color = self._editor.factory.cell_read_only_bg_color_ if color is None: # FIXME: Yes, this is weird. It should work fine to fall through # to the catch-all None at the end, but it doesn't. return None q_color = as_qcolor(color) return QtGui.QBrush(q_color) elif role == QtCore.Qt.ForegroundRole: color = column.get_text_color(obj) if color is None: color = self._editor.factory.cell_color_ if color is not None: q_color = as_qcolor(color) return QtGui.QBrush(q_color) elif role == QtCore.Qt.UserRole: return obj elif role == QtCore.Qt.CheckStateRole: if column.get_type(obj) == "bool" and column.show_checkbox: if column.get_raw_value(obj): return QtCore.Qt.Checked else: return QtCore.Qt.Unchecked return None def flags(self, mi): """Reimplemented to set editable and movable status.""" editor = self._editor if not mi.isValid(): if editor.factory.reorderable: return QtCore.Qt.ItemIsDropEnabled else: return QtCore.Qt.NoItemFlags flags = ( QtCore.Qt.ItemIsSelectable | QtCore.Qt.ItemIsEnabled | QtCore.Qt.ItemIsDragEnabled ) obj = editor.items()[mi.row()] column = editor.columns[mi.column()] if editor.factory: if editor.factory.editable and column.is_editable(obj): flags |= QtCore.Qt.ItemIsEditable | QtCore.Qt.ItemIsDropEnabled if editor.factory.reorderable: flags |= QtCore.Qt.ItemIsDropEnabled if column.get_type(obj) == "bool" and column.show_checkbox: flags |= QtCore.Qt.ItemIsUserCheckable return flags def headerData(self, section, orientation, role): """Reimplemented to return the header data.""" editor = self._editor if orientation == QtCore.Qt.Horizontal: column = editor.columns[section] if role == QtCore.Qt.DisplayRole: return column.get_label() elif orientation == QtCore.Qt.Vertical: if role == QtCore.Qt.DisplayRole: return str(section + 1) if editor.factory is None: # XXX This should never happen, but it does, # probably during shutdown, but I haven't investigated return None if role == QtCore.Qt.FontRole: font = editor.factory.label_font if font is not None: return QtGui.QFont(font) elif role == QtCore.Qt.BackgroundRole: color = editor.factory.label_bg_color_ if color is not None: return color elif role == QtCore.Qt.ForegroundRole: color = editor.factory.label_color_ if color is not None: return color return None def insertRow(self, row, parent=QtCore.QModelIndex(), obj=None): """Reimplemented to allow creation of new rows. Added an optional arg to allow the insertion of an existing row object.""" editor = self._editor if obj is None: obj = editor.create_new_row() self.beginInsertRows(parent, row, row) editor.callx(editor.items().insert, row, obj) self.endInsertRows() return True def insertRows(self, row, count, parent=QtCore.QModelIndex()): """Reimplemented to allow creation of new rows.""" editor = self._editor items = editor.items() self.beginInsertRows(parent, row, row + count - 1) for i in range(count): editor.callx(items.insert, row + i, editor.create_new_row()) self.endInsertRows() return True def removeRows(self, row, count, parent=QtCore.QModelIndex()): """Reimplemented to allow row deletion, as well as reordering via drag and drop.""" editor = self._editor items = editor.items() self.beginRemoveRows(parent, row, row + count - 1) for i in range(count): editor.callx(items.pop, row + i) self.endRemoveRows() return True def mimeTypes(self): """Reimplemented to expose our internal MIME type for drag and drop operations.""" return [mime_type, PyMimeData.MIME_TYPE, PyMimeData.NOPICKLE_MIME_TYPE] def mimeData(self, indexes): """Reimplemented to generate MIME data containing the rows of the current selection.""" editor = self._editor selection_mode = editor.factory.selection_mode if selection_mode.startswith("cell"): data = [ self._get_cell_drag_value(index.row(), index.column()) for index in indexes ] elif selection_mode.startswith("column"): columns = sorted(set(index.column() for index in indexes)) data = self._get_columns_drag_value(columns) else: rows = sorted(set(index.row() for index in indexes)) data = self._get_rows_drag_value(rows) mime_data = PyMimeData.coerce(data) # handle re-ordering via internal drags if editor.factory.reorderable: rows = sorted({index.row() for index in indexes}) data = QtCore.QByteArray(str(id(self)).encode("utf8")) for row in rows: data.append((" %i" % row).encode("utf8")) mime_data.setData(mime_type, data) return mime_data def dropMimeData(self, mime_data, action, row, column, parent): """Reimplemented to allow items to be moved.""" if action == QtCore.Qt.IgnoreAction: return False # this is a drag from a table model? data = mime_data.data(mime_type) if not data.isNull() and action == QtCore.Qt.MoveAction: id_and_rows = [ int(s) for s in data.data().decode("utf8").split(" ") ] table_id = id_and_rows[0] # is it from ourself? if table_id == id(self): current_rows = id_and_rows[1:] if not parent.isValid(): row = len(self._editor.items()) - 1 else: row = parent.row() self.moveRows(current_rows, row) return True data = PyMimeData.coerce(mime_data).instance() if data is not None: editor = self._editor if row == -1 and column == -1 and parent.isValid(): row = parent.row() column = parent.column() if row != -1 and column != -1: object = editor.items()[row] column = editor.columns[column] if column.is_droppable(object, data): column.set_value(object, data) return True return False def supportedDropActions(self): """Reimplemented to allow items to be moved.""" return QtCore.Qt.MoveAction # ------------------------------------------------------------------------- # Utility methods # ------------------------------------------------------------------------- def _get_columns_drag_value(self, columns): """ Returns the value to use when the specified columns are dragged or copied and pasted. The parameter *cols* is a list of column indexes. """ return [self._get_column_data(column) for column in columns] def _get_column_data(self, column): """ Return the model data for the column as a list """ editor = self._editor column_obj = editor.columns[column] return [column_obj.get_value(item) for item in editor.items()] def _get_rows_drag_value(self, rows): """ Returns the value to use when the specified rows are dragged or copied and pasted. The parameter *rows* is a list of row indexes. Return a list of objects. """ items = self._editor.items() return [items[row] for row in rows] def _get_cell_drag_value(self, row, column): """ Returns the value to use when the specified cell is dragged or copied and pasted. """ editor = self._editor item = editor.items()[row] drag_value = editor.columns[column].get_drag_value(item) return drag_value # ------------------------------------------------------------------------- # TableModel interface: # ------------------------------------------------------------------------- def moveRow(self, old_row, new_row): """Convenience method to move a single row.""" return self.moveRows([old_row], new_row) def moveRows(self, current_rows, new_row): """Moves a sequence of rows (provided as a list of row indexes) to a new row.""" # Sort rows in descending order so they can be removed without # invalidating the indices. current_rows.sort() current_rows.reverse() # If the the highest selected row is lower than the destination, do an # insertion before rather than after the destination. if current_rows[-1] < new_row: new_row += 1 # Remove selected rows... items = self._editor.items() objects = [] for row in current_rows: if row <= new_row: new_row -= 1 objects.insert(0, items[row]) self.removeRow(row) # ...and add them at the new location. for i, obj in enumerate(objects): self.insertRow(new_row + i, obj=obj) # Update the selection for the new location. self._editor.set_selection(objects) class SortFilterTableModel(QtGui.QSortFilterProxyModel): """A wrapper for the TableModel which provides sorting and filtering capability.""" def __init__(self, editor, parent=None): """Initialise the object.""" QtGui.QSortFilterProxyModel.__init__(self, parent) self._editor = editor # ------------------------------------------------------------------------- # QSortFilterProxyModel interface: # ------------------------------------------------------------------------- def filterAcceptsRow(self, source_row, source_parent): """"Reimplemented to use a TableFilter for filtering rows.""" if self._editor._filtered_cache is None: return True else: return self._editor._filtered_cache[source_row] def filterAcceptsColumn(self, source_column, source_parent): """Reimplemented to save time, because we always return True.""" return True def lessThan(self, left_mi, right_mi): """Reimplemented to sort according to the 'key' method defined for TableColumn.""" try: editor = self._editor column = editor.columns[left_mi.column()] items = editor.items() left, right = items[left_mi.row()], items[right_mi.row()] return column.key(left) < column.key(right) except Exception as exc: logger.exception(exc) # This will almost certainly segfault, but there does not seem to # be anything sensible we can do. raise # ------------------------------------------------------------------------- # SortFilterTableModel interface: # ------------------------------------------------------------------------- def moveRow(self, old_row, new_row): """Convenience method to move a single row.""" return self.moveRows([old_row], new_row) def moveRows(self, current_rows, new_row): """Delegate to source model with mapped rows.""" source = self.sourceModel() current_rows = [ self.mapToSource(self.index(row, 0)).row() for row in current_rows ] new_row = self.mapToSource(self.index(new_row, 0)).row() source.moveRows(current_rows, new_row) traitsui-7.2.1/traitsui/qt4/rgb_color_trait.py0000644000076500000240000000642214046644454022114 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! """ Trait definition for an RGB-based color, which is a tuple of the form (*red*, *green*, *blue*), where *red*, *green* and *blue* are floats in the range from 0.0 to 1.0. """ from traits.api import Trait, TraitError from traits.trait_base import SequenceTypes from traitsui.qt4.color_trait import standard_colors # ------------------------------------------------------------------------- # Convert a number into an RGB tuple: # ------------------------------------------------------------------------- def range_check(value): """ Checks that *value* can be converted to a value in the range 0.0 to 1.0. If so, it returns the floating point value; otherwise, it raises a TraitError. """ value = float(value) if 0.0 <= value <= 1.0: return value raise TraitError def convert_to_color(object, name, value): """ Converts a tuple or an integer to an RGB color value, or raises a TraitError if that is not possible. """ if isinstance(value, SequenceTypes) and len(value) == 3: return ( range_check(value[0]), range_check(value[1]), range_check(value[2]), ) if isinstance(value, int): return ( (value / 0x10000) / 255.0, ((value // 0x100) & 0xFF) / 255.0, (value & 0xFF) / 255.0, ) raise TraitError convert_to_color.info = ( "a tuple of the form (r,g,b), where r, g, and b " "are floats in the range from 0.0 to 1.0, or an integer which in hex is of " "the form 0xRRGGBB, where RR is red, GG is green, and BB is blue" ) # ------------------------------------------------------------------------- # Standard colors: # ------------------------------------------------------------------------- # RGB versions of standard colors: rgb_standard_colors = {} for name, color in standard_colors.items(): rgb_standard_colors[name] = (color.redF(), color.greenF(), color.blueF()) # ------------------------------------------------------------------------- # Define wxPython specific color traits: # ------------------------------------------------------------------------- ### Note: Declare the editor to be a function which returns the RGBColorEditor # class from traits ui to avoid circular import issues. For backwards # compatibility with previous Traits versions, the 'editors' folder in Traits # project declares 'from api import *' in its __init__.py. The 'api' in turn # can contain classes that have a RGBColor trait which lead to this file getting # imported. This will lead to a circular import when declaring a RGBColor # trait. def get_rgb_color_editor(*args, **traits): from .rgb_color_editor import ToolkitEditorFactory return ToolkitEditorFactory(*args, **traits) # Trait whose value must be an RGB color: RGBColor = Trait( "white", convert_to_color, rgb_standard_colors, editor=get_rgb_color_editor ) traitsui-7.2.1/traitsui/qt4/array_editor.py0000644000076500000240000000206314046644454021422 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! """ Defines array editors for the PyQt user interface toolkit. """ from traitsui.editors.array_editor import SimpleEditor as BaseSimpleEditor from .editor import Editor # ------------------------------------------------------------------------- # 'SimpleEditor' class: # ------------------------------------------------------------------------- class SimpleEditor(BaseSimpleEditor, Editor): """ Simple style of editor for arrays. """ # FIXME: This class has been re-defined here simply so it inherits from the # PyQt Editor class. pass class ReadonlyEditor(SimpleEditor): #: Set the value of the readonly trait. readonly = True traitsui-7.2.1/traitsui/qt4/instance_editor.py0000644000076500000240000003614514046644454022120 0ustar aayresstaff00000000000000# (C) Copyright 2009-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! # ------------------------------------------------------------------------------ # Copyright (c) 2008, Riverbank Computing Limited # All rights reserved. # # This software is provided without warranty under the terms of the BSD license. # However, when used with the GPL version of PyQt the additional terms # described in the PyQt GPL exception also apply # # Author: Riverbank Computing Limited # ------------------------------------------------------------------------------ """ Defines the various instance editors and the instance editor factory for the PyQt user interface toolkit.. """ from pyface.qt import QtCore, QtGui from traits.api import HasTraits, Instance, Property from traitsui.ui_traits import AView from traitsui.helper import user_name_for from traitsui.handler import Handler from traitsui.instance_choice import InstanceChoiceItem from .editor import Editor from .drop_editor import _DropEventFilter from .constants import DropColor from .helper import position_window OrientationMap = { "default": None, "horizontal": QtGui.QBoxLayout.LeftToRight, "vertical": QtGui.QBoxLayout.TopToBottom, } class CustomEditor(Editor): """ Custom style of editor for instances. If selection among instances is allowed, the editor displays a combo box listing instances that can be selected. If the current instance is editable, the editor displays a panel containing trait editors for all the instance's traits. """ #: Background color when an item can be dropped on the editor: ok_color = DropColor #: The orientation of the instance editor relative to the instance selector: orientation = QtGui.QBoxLayout.TopToBottom #: Class constant: extra = 0 # ------------------------------------------------------------------------- # Trait definitions: # ------------------------------------------------------------------------- #: List of InstanceChoiceItem objects used by the editor items = Property() #: The view to use for displaying the instance view = AView def init(self, parent): """ Finishes initializing the editor by creating the underlying toolkit widget. """ factory = self.factory if factory.name != "": self._object, self._name, self._value = self.parse_extended_name( factory.name ) # Create a panel to hold the object trait's view: if factory.editable: self.control = self._panel = parent = QtGui.QWidget() # Build the instance selector if needed: selectable = factory.selectable droppable = factory.droppable items = self.items for item in items: droppable |= item.is_droppable() selectable |= item.is_selectable() if selectable: self._object_cache = {} item = self.item_for(self.value) if item is not None: self._object_cache[id(item)] = self.value self._choice = QtGui.QComboBox() self._choice.activated.connect(self.update_object) self.set_tooltip(self._choice) if factory.name != "": self._object.observe( self.rebuild_items, self._name + ".items", dispatch="ui" ) factory.observe( self.rebuild_items, "values.items", dispatch="ui" ) self.rebuild_items() elif droppable: self._choice = QtGui.QLineEdit() self._choice.setReadOnly(True) self.set_tooltip(self._choice) if droppable: # Install EventFilter on control to handle DND events. drop_event_filter = _DropEventFilter(self.control) self.control.installEventFilter(drop_event_filter) orientation = OrientationMap[factory.orientation] if orientation is None: orientation = self.orientation if (selectable or droppable) and factory.editable: layout = QtGui.QBoxLayout(orientation, parent) layout.setContentsMargins(0, 0, 0, 0) layout.addWidget(self._choice) if orientation == QtGui.QBoxLayout.TopToBottom: hline = QtGui.QFrame() hline.setFrameShape(QtGui.QFrame.HLine) hline.setFrameShadow(QtGui.QFrame.Sunken) layout.addWidget(hline) self.create_editor(parent, layout) elif self.control is None: if self._choice is None: self._choice = QtGui.QComboBox() self._choice.activated[int].connect(self.update_object) self.control = self._choice else: layout = QtGui.QBoxLayout(orientation, parent) layout.setContentsMargins(0, 0, 0, 0) self.create_editor(parent, layout) # Synchronize the 'view' to use: # fixme: A normal assignment can cause a crash (for unknown reasons) in # some cases, so we make sure that no notifications are generated: self.trait_setq(view=factory.view) self.sync_value(factory.view_name, "view", "from") def create_editor(self, parent, layout): """ Creates the editor control. """ self._panel = QtGui.QWidget() layout.addWidget(self._panel) def _get_items(self): """ Gets the current list of InstanceChoiceItem items. """ if self._items is not None: return self._items factory = self.factory if self._value is not None: values = self._value() + factory.values else: values = factory.values items = [] adapter = factory.adapter for value in values: if not isinstance(value, InstanceChoiceItem): value = adapter(object=value) items.append(value) self._items = items return items def rebuild_items(self, event=None): """ Rebuilds the object selector list. """ # Clear the current cached values: self._items = None # Rebuild the contents of the selector list: name = -1 value = self.value choice = self._choice choice.clear() for i, item in enumerate(self.items): if item.is_selectable(): choice.addItem(item.get_name()) if item.is_compatible(value): name = i # Reselect the current item if possible: if name >= 0: choice.setCurrentIndex(name) else: # Otherwise, current value is no longer valid, try to discard it: try: self.value = None except: pass def item_for(self, object): """ Returns the InstanceChoiceItem for a specified object. """ for item in self.items: if item.is_compatible(object): return item return None def view_for(self, object, item): """ Returns the view to use for a specified object. """ view = "" if item is not None: view = item.get_view() if view == "": view = self.view return self.ui.handler.trait_view_for( self.ui.info, view, object, self.object_name, self.name ) def update_object(self, index): """ Handles the user selecting a new value from the combo box. """ item = self.items[index] id_item = id(item) object = self._object_cache.get(id_item) if object is None: object = item.get_object() if (not self.factory.editable) and item.is_factory: view = self.view_for(object, self.item_for(object)) view.ui(object, self.control, "modal") if self.factory.cachable: self._object_cache[id_item] = object self.value = object self.resynch_editor() def update_editor(self): """ Updates the editor when the object trait changes externally to the editor. """ # Synchronize the editor contents: self.resynch_editor() # Update the selector (if any): choice = self._choice item = self.item_for(self.value) if (choice is not None) and (item is not None): name = item.get_name(self.value) if self._object_cache is not None: idx = choice.findText(name) if idx < 0: idx = choice.count() choice.addItem(name) choice.setCurrentIndex(idx) else: choice.setText(name) def resynch_editor(self): """ Resynchronizes the contents of the editor when the object trait changes externally to the editor. """ panel = self._panel if panel is not None: # Dispose of the previous contents of the panel: layout = panel.layout() if layout is None: layout = QtGui.QVBoxLayout(panel) layout.setContentsMargins(0, 0, 0, 0) elif self._ui is not None: self._ui.dispose() self._ui = None else: child = layout.takeAt(0) while child is not None: child = layout.takeAt(0) del child # Create the new content for the panel: stretch = 0 value = self.value if not isinstance(value, HasTraits): str_value = "" if value is not None: str_value = self.str_value control = QtGui.QLabel(str_value) else: view = self.view_for(value, self.item_for(value)) context = value.trait_context() handler = None if isinstance(value, Handler): handler = value context.setdefault("context", self.object) context.setdefault("context_handler", self.ui.handler) self._ui = ui = view.ui( context, panel, "subpanel", value.trait_view_elements(), handler, self.factory.id, ) control = ui.control self.scrollable = ui._scrollable ui.parent = self.ui if view.resizable or view.scrollable or ui._scrollable: stretch = 1 # FIXME: Handle stretch. layout.addWidget(control) def dispose(self): """ Disposes of the contents of an editor. """ # Make sure we aren't hanging on to any object refs: self._object_cache = None if self._ui is not None: self._ui.dispose() if self._choice is not None: if self._object is not None: self._object.observe( self.rebuild_items, self._name + ".items", remove=True, dispatch="ui" ) self.factory.observe( self.rebuild_items, "values.items", remove=True, dispatch="ui" ) super().dispose() def error(self, excp): """ Handles an error that occurs while setting the object's trait value. """ pass def get_error_control(self): """ Returns the editor's control for indicating error status. """ return self._choice or self.control # -- UI preference save/restore interface --------------------------------- def restore_prefs(self, prefs): """ Restores any saved user preference information associated with the editor. """ ui = self._ui if (ui is not None) and (prefs.get("id") == ui.id): ui.set_prefs(prefs.get("prefs")) def save_prefs(self): """ Returns any user preference information associated with the editor. """ ui = self._ui if (ui is not None) and (ui.id != ""): return {"id": ui.id, "prefs": ui.get_prefs()} return None # -- Traits event handlers ------------------------------------------------ def _view_changed(self, view): self.resynch_editor() class SimpleEditor(CustomEditor): """ Simple style of editor for instances, which displays a button. Clicking the button displays a dialog box in which the instance can be edited. """ #: The ui instance for the currently open editor dialog _dialog_ui = Instance("traitsui.ui.UI") #: Class constants: orientation = QtGui.QBoxLayout.LeftToRight extra = 2 def create_editor(self, parent, layout): """ Creates the editor control (a button). """ self._button = QtGui.QPushButton() self._button.setAutoDefault(False) layout.addWidget(self._button) self._button.clicked.connect(self.edit_instance) # Make sure the editor is properly disposed if parent UI is closed self._button.destroyed.connect(self._parent_closed) def edit_instance(self): """ Edit the contents of the object trait when the user clicks the button. """ # Create the user interface: factory = self.factory view = self.ui.handler.trait_view_for( self.ui.info, factory.view, self.value, self.object_name, self.name ) self._dialog_ui = self.value.edit_traits( view, kind=factory.kind, id=factory.id ) # Check to see if the view was 'modal', in which case it will already # have been closed (i.e. is None) by the time we get control back: if self._dialog_ui.control is not None: # Position the window on the display: position_window(self._dialog_ui.control) # Chain our undo history to the new user interface if it does not # have its own: if self._dialog_ui.history is None: self._dialog_ui.history = self.ui.history else: self._dialog_ui = None def resynch_editor(self): """ Resynchronizes the contents of the editor when the object trait changes externally to the editor. """ button = self._button if button is not None: label = self.factory.label if label == "": label = user_name_for(self.name) button.setText(label) button.setEnabled(isinstance(self.value, HasTraits)) def _parent_closed(self): if self._dialog_ui is not None: if self._dialog_ui.control is not None: self._dialog_ui.control.close() self._dialog_ui.dispose() self._dialog_ui = None traitsui-7.2.1/traitsui/qt4/search_editor.py0000644000076500000240000000623114046644454021552 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! # System library imports from pyface.qt import QtCore, QtGui # ETS imports from .editor import Editor class SearchWidget(QtGui.QLineEdit): # FIXME: This widget needs a search button and a cancel button like the # wxWidgets SearchControl. def __init__(self, desc): """ Store the descriptive text for the widget. """ super().__init__() self._desc = str(desc) self._set_descriptive_text() def focusInEvent(self, event): """ Handles accepting focus. If the text box contains the default description string, reset the text color and clear the box. """ palette = QtGui.QApplication.instance().palette() self.setPalette(palette) if self.text() == self._desc: self.setText("") self.update() super().focusInEvent(event) def focusOutEvent(self, event): """ Handles losing focus. When focus is lost, if the user had typed something, keep that text, otherwise replace it with the default description string. """ if len(self.text()) == 0: self._set_descriptive_text() super().focusOutEvent(event) def _set_descriptive_text(self): """ Sets the greyed-out descriptive text. """ palette = QtGui.QApplication.instance().palette() palette.setColor( QtGui.QPalette.Text, palette.color(QtGui.QPalette.Dark) ) self.setPalette(palette) self.setText(self._desc) self.update() class SearchEditor(Editor): def init(self, parent): """ Finishes initializing the editor by creating the underlying toolkit widget. """ if QtCore.__version_info__ < (4, 7, 0): control = self.control = SearchWidget(self.factory.text) else: control = self.control = QtGui.QLineEdit() control.setPlaceholderText(self.factory.text) if self.factory.auto_set: control.textEdited.connect(self.update_object) if self.factory.enter_set: control.editingFinished.connect(self.update_object) def update_object(self, event=None): """ Handles the user entering input data in the edit control. """ if not self._no_update: self.value = str(self.control.text()) if self.factory.search_event_trait != "": setattr(self.object, self.factory.search_event_trait, True) def update_editor(self): """ Updates the editor when the object trait changes externally to the editor. """ if str(self.control.text()) != self.value: self._no_update = True self.control.setText(self.str_value) self._no_update = False traitsui-7.2.1/traitsui/qt4/color_trait.py0000644000076500000240000000724314046644454021264 0ustar aayresstaff00000000000000# (C) Copyright 2008-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! # ------------------------------------------------------------------------------ # Copyright (c) 2007, Riverbank Computing Limited # All rights reserved. # # This software is provided without warranty under the terms of the BSD license. # However, when used with the GPL version of PyQt the additional terms # described in the PyQt GPL exception also apply # # Author: Riverbank Computing Limited # ------------------------------------------------------------------------------ """ Trait definition for a PyQt-based color. """ from pyface.qt import QtGui from traits.api import Trait, TraitError def convert_to_color(object, name, value): """ Converts a number into a QColor object. """ # Try the toolkit agnostic format. try: tup = eval(value) except: tup = value if isinstance(tup, tuple): if 3 <= len(tup) <= 4: try: color = QtGui.QColor(*tup) except TypeError: raise TraitError else: raise TraitError else: if isinstance(value, str): # Allow for spaces in the string value. value = value.replace(" ", "") # Let the standard ctors handle the value. try: color = QtGui.QColor(value) except TypeError: raise TraitError if not color.isValid(): raise TraitError return color convert_to_color.info = ( "a string of the form (r,g,b) or (r,g,b,a) where r, " "g, b, and a are integers from 0 to 255, a QColor " "instance, a Qt.GlobalColor, an integer which in hex " "is of the form 0xRRGGBB, a string of the form #RGB, " "#RRGGBB, #RRRGGGBBB or #RRRRGGGGBBBB" ) # ------------------------------------------------------------------------- # Standard colors: # ------------------------------------------------------------------------- # Note that this is slightly different from the wx implementation in that the # names do not include spaces and the full set of SVG color keywords is # supported. standard_colors = {} for name in QtGui.QColor.colorNames(): standard_colors[str(name)] = QtGui.QColor(name) # ------------------------------------------------------------------------- # Callable that returns an instance of the PyQtToolkitEditorFactory for color # editors. # ------------------------------------------------------------------------- ### FIXME: We have declared the 'editor' to be a function instead of the # traitsui.qt4.color_editor.ToolkitEditorFactory class, since the # latter is leading to too many circular imports. In the future, try to see if # there is a better way to do this. def get_color_editor(*args, **traits): from traitsui.qt4.color_editor import ToolkitEditorFactory return ToolkitEditorFactory(*args, **traits) def PyQtColor(default="white", allow_none=False, **metadata): """ Defines PyQt-specific color traits. """ if default is None: allow_none = True if allow_none: return Trait( default, None, standard_colors, convert_to_color, editor=get_color_editor, **metadata ) return Trait( default, standard_colors, convert_to_color, editor=get_color_editor, **metadata ) traitsui-7.2.1/traitsui/qt4/ui_panel.py0000644000076500000240000013466014046644454020543 0ustar aayresstaff00000000000000# (C) Copyright 2008-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! # ------------------------------------------------------------------------------ # Copyright (c) 2007, Riverbank Computing Limited # All rights reserved. # # This software is provided without warranty under the terms of the BSD license. # However, when used with the GPL version of PyQt the additional terms described # in the PyQt GPL exception also apply. # # Author: Riverbank Computing Limited # ------------------------------------------------------------------------------ """Creates a panel-based PyQt user interface for a specified UI object. """ from html import escape import re from pyface.qt import QtCore, QtGui from traits.api import Any, Instance, Undefined from traits.observation.api import match from traitsui.api import Group from traitsui.undo import UndoHistory from traitsui.help_template import help_template from traitsui.menu import UndoButton, RevertButton, HelpButton from .helper import position_window from .ui_base import BasePanel from .editor import Editor #: Characters that are considered punctuation symbols at the end of a label. #: If a label ends with one of these charactes, we do not append a colon. LABEL_PUNCTUATION_CHARS = "?=:;,.<>/\\\"'-+#|" # Pattern of all digits all_digits = re.compile(r"\d+") # ------------------------------------------------------------------------- # Create the different panel-based PyQt user interfaces. # ------------------------------------------------------------------------- def ui_panel(ui, parent): """Creates a panel-based PyQt user interface for a specified UI object. """ _ui_panel_for(ui, parent, False) def ui_subpanel(ui, parent): """Creates a subpanel-based PyQt user interface for a specified UI object. A subpanel does not allow control buttons (other than those specified in the UI object) and does not show headers for view titles. """ _ui_panel_for(ui, parent, True) def _ui_panel_for(ui, parent, is_subpanel): """Creates a panel-based PyQt user interface for a specified UI object. """ ui.control = control = _Panel(ui, parent, is_subpanel).control control._parent = parent control._object = ui.context.get("object") control._ui = ui try: ui.prepare_ui() except: control.setParent(None) del control ui.control = None ui.result = False raise ui.restore_prefs() ui.result = True class _Panel(BasePanel): """PyQt user interface panel for Traits-based user interfaces. """ def __init__(self, ui, parent, is_subpanel): """Initialise the object. """ self.ui = ui history = ui.history view = ui.view # Reset any existing history listeners. if history is not None: history.observe( self._on_undoable, "undoable", remove=True, dispatch="ui" ) history.observe( self._on_redoable, "redoable", remove=True, dispatch="ui" ) history.observe( self._on_revertable, "undoable", remove=True, dispatch="ui" ) # Determine if we need any buttons or an 'undo' history. buttons = [self.coerce_button(button) for button in view.buttons] nr_buttons = len(buttons) has_buttons = not is_subpanel and ( nr_buttons != 1 or not self.is_button(buttons[0], "") ) if nr_buttons == 0: if view.undo: self.check_button(buttons, UndoButton) if view.revert: self.check_button(buttons, RevertButton) if view.help: self.check_button(buttons, HelpButton) if not is_subpanel and history is None: for button in buttons: if self.is_button(button, "Undo") or self.is_button( button, "Revert" ): history = ui.history = UndoHistory() break # Create the panel. self.control = panel(ui) # Suppress the title if this is a subpanel or if we think it should be # superceded by the title of an "outer" widget (eg. a dock widget). title = view.title if ( is_subpanel or ( isinstance(parent, QtGui.QMainWindow) and not isinstance(parent.parent(), QtGui.QDialog) ) or isinstance(parent, QtGui.QTabWidget) ): title = "" # Panels must be widgets as it is only the TraitsUI PyQt code that can # handle them being layouts as well. Therefore create a widget if the # panel is not a widget or if we need a title or buttons. if ( not isinstance(self.control, QtGui.QWidget) or title != "" or has_buttons ): w = QtGui.QWidget() layout = QtGui.QVBoxLayout(w) layout.setContentsMargins(0, 0, 0, 0) # Handle any view title. if title != "": layout.addWidget(heading_text(None, text=view.title).control) if isinstance(self.control, QtGui.QWidget): layout.addWidget(self.control) elif isinstance(self.control, QtGui.QLayout): layout.addLayout(self.control) self.control = w # Add any buttons. if has_buttons: # Add the horizontal separator separator = QtGui.QFrame() separator.setFrameStyle( QtGui.QFrame.Sunken | QtGui.QFrame.HLine ) separator.setFixedHeight(2) layout.addWidget(separator) # Add the special function buttons bbox = QtGui.QDialogButtonBox(QtCore.Qt.Horizontal) for button in buttons: role = QtGui.QDialogButtonBox.ActionRole if self.is_button(button, "Undo"): self.undo = self.add_button( button, bbox, role, self._on_undo, False, "Undo" ) self.redo = self.add_button( button, bbox, role, self._on_redo, False, "Redo" ) history.observe( self._on_undoable, "undoable", dispatch="ui" ) history.observe( self._on_redoable, "redoable", dispatch="ui" ) elif self.is_button(button, "Revert"): role = QtGui.QDialogButtonBox.ResetRole self.revert = self.add_button( button, bbox, role, self._on_revert, False ) history.observe( self._on_revertable, "undoable", dispatch="ui" ) elif self.is_button(button, "Help"): role = QtGui.QDialogButtonBox.HelpRole self.add_button(button, bbox, role, self._on_help) elif not self.is_button(button, ""): self.add_button(button, bbox, role) layout.addWidget(bbox) # If the UI has a toolbar, should add it to the panel too self._add_toolbar(parent) # Ensure the control has a size hint reflecting the View specification. # Yes, this is a hack, but it's too late to repair this convoluted # control building process, so we do what we have to... self.control.sizeHint = _size_hint_wrapper(self.control.sizeHint, ui) def _add_toolbar(self, parent): """ Adds a toolbar to the `parent` (QtWindow) """ if not isinstance(parent, QtGui.QMainWindow): # toolbar cannot be added to non-MainWindow widget return toolbar = self.ui.view.toolbar if toolbar is not None: self._last_group = self._last_parent = None qt_toolbar = toolbar.create_tool_bar(parent, self) qt_toolbar.setMovable(False) parent.addToolBar(qt_toolbar) self._last_group = self._last_parent = None def can_add_to_toolbar(self, action): """Returns whether the toolbar action should be defined in the user interface. """ if action.defined_when == "": return True return self.ui.eval_when(action.defined_when) def panel(ui): """Creates a panel-based PyQt user interface for a specified UI object. This function does not modify the UI object passed to it. The object returned may be either a widget, a layout or None. """ # Bind the context values to the 'info' object: ui.info.bind_context() # Get the content that will be displayed in the user interface: content = ui._groups nr_groups = len(content) if nr_groups == 0: panel = None if nr_groups == 1: panel = _GroupPanel(content[0], ui).control elif nr_groups > 1: panel = QtGui.QTabWidget() _fill_panel(panel, content, ui) panel.ui = ui # If the UI is scrollable then wrap the panel in a scroll area. if ui.scrollable and panel is not None: # Make sure the panel is a widget. if isinstance(panel, QtGui.QLayout): w = QtGui.QWidget() w.setLayout(panel) panel = w sa = QtGui.QScrollArea() sa.setWidget(panel) sa.setWidgetResizable(True) panel = sa return panel def _fill_panel(panel, content, ui, item_handler=None): """Fill a page based container panel with content. """ active = 0 for index, item in enumerate(content): page_name = item.get_label(ui) if page_name == "": page_name = "Page %d" % index if isinstance(item, Group): if item.selected: active = index gp = _GroupPanel(item, ui, suppress_label=True) page = gp.control sub_page = gp.sub_control # If the result is the same type with only one page, collapse it # down into just the page. if isinstance(sub_page, type(panel)) and sub_page.count() == 1: new = sub_page.widget(0) if isinstance(panel, QtGui.QTabWidget): sub_page.removeTab(0) else: sub_page.removeItem(0) elif isinstance(page, QtGui.QWidget): new = page else: new = QtGui.QWidget() new.setLayout(page) layout = new.layout() if layout is not None: layout.setAlignment(QtCore.Qt.AlignLeft | QtCore.Qt.AlignTop) else: new = QtGui.QWidget() layout = QtGui.QVBoxLayout(new) layout.setContentsMargins(0, 0, 0, 0) item_handler(item, layout) # Add the content. if isinstance(panel, QtGui.QTabWidget): panel.addTab(new, page_name) else: panel.addItem(new, page_name) panel.setCurrentIndex(active) def _size_hint_wrapper(f, ui): """Wrap an existing sizeHint method with sizes from a UI object. """ def sizeHint(): size = f() if ui.view is not None: if ui.view.width > 0: size.setWidth(ui.view.width) if ui.view.height > 0: size.setHeight(ui.view.height) return size return sizeHint def show_help(ui, button): """ Displays a help window for the specified UI's active Group. """ group = ui._groups[ui._active_group] template = help_template() if group.help != "": header = template.group_help % escape(group.help) else: header = template.no_group_help fields = [] for item in group.get_content(False): if not item.is_spacer(): fields.append( template.item_help % ( escape(item.get_label(ui)), escape(item.get_help(ui)), ) ) html_content = template.group_html % (header, "\n".join(fields)) HTMLHelpWindow(button, html_content, 0.25, 0.33) def show_help_popup(event): """ Displays a pop-up help window for a single trait. """ control = event.GetEventObject() template = help_template() # Note: The following check is necessary because under Linux, we get back # a control which does not have the 'help' trait defined (it is the parent # of the object with the 'help' trait): help = getattr(control, "help", None) if help is not None: html_content = template.item_html % (control.GetLabel(), help) HTMLHelpWindow(control, html_content, 0.25, 0.13) class _GroupSplitter(QtGui.QSplitter): """ A splitter for a Traits UI Group with layout='split'. """ def __init__(self, group): """ Store the group. """ QtGui.QSplitter.__init__(self) self._group = group self._initialized = False def resizeEvent(self, event): """ Overridden to position the splitter based on the Group when the application is initializing. Because the splitter layout algorithm requires that the available space be known, we have to wait until the UI that contains this splitter gives it its initial size. """ QtGui.QSplitter.resizeEvent(self, event) parent = self.parent() if ( not self._initialized and parent and (self.isVisible() or isinstance(parent, QtGui.QMainWindow)) ): self._initialized = True self._resize_items() def showEvent(self, event): """ Wait for the show event to resize items if necessary. """ QtGui.QSplitter.showEvent(self, event) if not self._initialized: self._initialized = True self._resize_items() def _resize_items(self): """ Size the splitter based on the 'width' or 'height' attributes of the Traits UI view elements. """ use_widths = self.orientation() == QtCore.Qt.Horizontal # Get the requested size for the items. sizes = [] for item in self._group.content: if use_widths: sizes.append(item.width) else: sizes.append(item.height) # Find out how much space is available. if use_widths: total = self.width() else: total = self.height() # Allocate requested space. avail = total remain = 0 for i, sz in enumerate(sizes): if avail <= 0: break if sz >= 0: if sz >= 1: sz = min(sz, avail) else: sz *= total sz = int(sz) sizes[i] = sz avail -= sz else: remain += 1 # Allocate the remainder to those parts that didn't request a width. if remain > 0: remain = int(avail // remain) for i, sz in enumerate(sizes): if sz < 0: sizes[i] = remain # If all requested a width, allocate the remainder to the last item. else: sizes[-1] += avail self.setSizes(sizes) class _GroupPanel(object): """A sub-panel for a single group of items. It may be either a layout or a widget. """ def __init__(self, group, ui, suppress_label=False): """Initialise the object. """ # Get the contents of the group: content = group.get_content() # Save these for other methods. self.group = group self.ui = ui if group.orientation == "horizontal": self.direction = QtGui.QBoxLayout.LeftToRight else: self.direction = QtGui.QBoxLayout.TopToBottom # outer is the top-level widget or layout that will eventually be # returned. sub is the QTabWidget or QToolBox corresponding to any # 'tabbed' or 'fold' layout. It is only used to collapse nested # widgets. inner is the object (not necessarily a layout) that new # controls should be added to. outer = sub = inner = None # Get the group label. if suppress_label: label = "" else: label = group.label # Create a border if requested. if group.show_border: outer = QtGui.QGroupBox(label) inner = QtGui.QBoxLayout(self.direction, outer) elif label != "": outer = inner = QtGui.QBoxLayout(self.direction) inner.addWidget(heading_text(None, text=label).control) # Add the layout specific content. if len(content) == 0: pass elif group.layout == "flow": raise NotImplementedError("'the 'flow' layout isn't implemented") elif group.layout == "split": # Create the splitter. splitter = _GroupSplitter(group) splitter.setOpaqueResize(False) # Mimic wx backend resize behavior if self.direction == QtGui.QBoxLayout.TopToBottom: splitter.setOrientation(QtCore.Qt.Vertical) # Make sure the splitter will expand to fill available space policy = splitter.sizePolicy() policy.setHorizontalStretch(50) policy.setVerticalStretch(50) if group.orientation == "horizontal": policy.setVerticalPolicy(QtGui.QSizePolicy.Expanding) else: policy.setHorizontalPolicy(QtGui.QSizePolicy.Expanding) splitter.setSizePolicy(policy) if outer is None: outer = splitter else: inner.addWidget(splitter) # Create an editor. editor = SplitterGroupEditor( control=outer, splitter=splitter, ui=ui ) self._setup_editor(group, editor) self._add_splitter_items(content, splitter) elif group.layout in ("tabbed", "fold"): # Create the TabWidget or ToolBox. if group.layout == "tabbed": sub = QtGui.QTabWidget() else: sub = QtGui.QToolBox() # Give tab/tool widget stretch factor equivalent to default stretch # factory for a resizeable item. See end of '_add_items'. policy = sub.sizePolicy() policy.setHorizontalStretch(50) policy.setVerticalStretch(50) sub.setSizePolicy(policy) _fill_panel(sub, content, self.ui, self._add_page_item) if outer is None: outer = sub else: inner.addWidget(sub) # Create an editor. editor = TabbedFoldGroupEditor(container=sub, control=outer, ui=ui) self._setup_editor(group, editor) else: if group.scrollable: # ensure a widget rather than a layout for the scroll area if outer is None: outer = inner = QtGui.QBoxLayout(self.direction) if isinstance(outer, QtGui.QLayout): widget = QtGui.QWidget() widget.setLayout(outer) outer = widget # now create a scroll area for the widget scroll_area = QtGui.QScrollArea() scroll_area.setWidget(outer) scroll_area.setWidgetResizable(True) outer = scroll_area # See if we need to control the visual appearance of the group. if group.visible_when != "" or group.enabled_when != "": # Make sure that outer is a widget and inner is a layout. # Hiding a layout is not properly supported by Qt (the # workaround in ``traitsui.qt4.editor._visible_changed_helper`` # often leaves undesirable blank space). if outer is None: outer = inner = QtGui.QBoxLayout(self.direction) if isinstance(outer, QtGui.QLayout): widget = QtGui.QWidget() widget.setLayout(outer) outer = widget # Create an editor. self._setup_editor(group, GroupEditor(control=outer)) if isinstance(content[0], Group): layout = self._add_groups(content, inner) else: layout = self._add_items(content, inner) layout.setAlignment(QtCore.Qt.AlignLeft | QtCore.Qt.AlignTop) if outer is None: outer = layout elif layout is not inner: inner.addLayout(layout) if group.style_sheet: if isinstance(outer, QtGui.QLayout): inner = outer outer = QtGui.QWidget() outer.setLayout(inner) # ensure this is not empty group if isinstance(outer, QtGui.QWidget): outer.setStyleSheet(group.style_sheet) # Publish the top-level widget, layout or None. self.control = outer # Publish the optional sub-control. self.sub_control = sub def _add_splitter_items(self, content, splitter): """Adds a set of groups or items separated by splitter bars. """ for item in content: # Get a panel for the Item or Group. if isinstance(item, Group): panel = _GroupPanel(item, self.ui, suppress_label=True).control else: panel = self._add_items([item]) # Add the panel to the splitter. if panel is not None: if isinstance(panel, QtGui.QLayout): # A QSplitter needs a widget. w = QtGui.QWidget() panel.setContentsMargins(0, 0, 0, 0) w.setLayout(panel) panel = w layout = panel.layout() if layout is not None: layout.setAlignment( QtCore.Qt.AlignLeft | QtCore.Qt.AlignTop ) splitter.addWidget(panel) def _setup_editor(self, group, editor): """Setup the editor for a group. """ if group.id != "": self.ui.info.bind(group.id, editor) if group.visible_when != "": self.ui.add_visible(group.visible_when, editor) if group.enabled_when != "": self.ui.add_enabled(group.enabled_when, editor) def _add_page_item(self, item, layout): """Adds a single Item to a page based panel. """ self._add_items([item], layout) def _add_groups(self, content, outer): """Adds a list of Group objects to the panel, creating a layout if needed. Return the outermost layout. """ # Use the existing layout if there is one. if outer is None: outer = QtGui.QBoxLayout(self.direction) # Process each group. for subgroup in content: panel = _GroupPanel(subgroup, self.ui).control if isinstance(panel, QtGui.QWidget): outer.addWidget(panel) elif isinstance(panel, QtGui.QLayout): outer.addLayout(panel) else: # The sub-group is empty which seems to be used as a way of # providing some whitespace. outer.addWidget(QtGui.QLabel(" ")) return outer def _label_when(self): """Set the visible and enabled states of all labels as controlled by a 'visible_when' or 'enabled_when' expression. """ self._evaluate_label_condition(self._label_enabled_whens, "enabled") self._evaluate_label_condition(self._label_visible_whens, "visible") def _evaluate_label_condition(self, conditions, kind): """Evaluates a list of (eval, widget) pairs and calls the appropriate method on the label widget to toggle whether it is visible/enabled as needed. """ context = self.ui._get_context(self.ui.context) method_dict = {"visible": "setVisible", "enabled": "setEnabled"} for when, label in conditions: method_to_call = getattr(label, method_dict[kind]) try: cond_value = eval(when, globals(), context) method_to_call(cond_value) except Exception: # catch errors in the validate_when expression from traitsui.api import raise_to_debug raise_to_debug() def _add_items(self, content, outer=None): """Adds a list of Item objects, creating a layout if needed. Return the outermost layout. """ # Get local references to various objects we need: ui = self.ui info = ui.info handler = ui.handler group = self.group show_left = group.show_left columns = group.columns self._label_enabled_whens = [] self._label_visible_whens = [] # See if a label is needed. show_labels = False for item in content: show_labels |= item.show_label # See if a grid layout is needed. if show_labels or columns > 1: inner = QtGui.QGridLayout() if outer is None: outer = inner else: outer.addLayout(inner) row = 0 if show_left: label_alignment = QtCore.Qt.AlignRight else: label_alignment = QtCore.Qt.AlignLeft else: # Use the existing layout if there is one. if outer is None: outer = QtGui.QBoxLayout(self.direction) inner = outer row = -1 label_alignment = 0 # Process each Item in the list: col = -1 for item in content: # Keep a track of the current logical row and column unless the # layout is not a grid. col += 1 if row >= 0 and col >= columns: col = 0 row += 1 # Get the name in order to determine its type: name = item.name # Convert a blank to a 5 pixel spacer: if name == " ": name = "5" # Check if is a label: if name == "": label = item.label if label != "": self._add_label_item(item, inner, row, col, show_labels) # Check if it is a separator: elif name == "_": self._add_separator_item(item, columns, inner, row, col, show_labels) # Check if it is a spacer: elif all_digits.match(name): self._add_spacer_item(item, name, inner, row, col, show_labels) else: # Otherwise, it must be a trait Item: object = eval(item.object_, globals(), ui.context) trait = object.base_trait(name) desc = trait.tooltip if desc is None: desc = "Specifies " + trait.desc if trait.desc else "" # Get the editor factory associated with the Item: editor_factory = item.editor if editor_factory is None: editor_factory = trait.get_editor().trait_set( **item.editor_args ) # If still no editor factory found, use a default text editor: if editor_factory is None: from .text_editor import ToolkitEditorFactory editor_factory = ToolkitEditorFactory() # If the item has formatting traits set them in the editor # factory: if item.format_func is not None: editor_factory.format_func = item.format_func if item.format_str != "": editor_factory.format_str = item.format_str # If the item has an invalid state extended trait name, set it # in the editor factory: if item.invalid != "": editor_factory.invalid = item.invalid # Create the requested type of editor from the editor factory: factory_method = getattr(editor_factory, item.style + "_editor") editor = factory_method( ui, object, name, item.tooltip, None ).trait_set(item=item, object_name=item.object) # Tell the editor to actually build the editing widget. Note that # "inner" is a layout. This shouldn't matter as individual editors # shouldn't be using it as a parent anyway. The important thing is # that it is not None (otherwise the main TraitsUI code can change # the "kind" of the created UI object). editor.prepare(inner) control = editor.control if item.style_sheet: control.setStyleSheet(item.style_sheet) # Set the initial 'enabled' state of the editor from the factory: editor.enabled = editor_factory.enabled # Handle any label. if item.show_label: label = self._create_label(item, ui, desc) self._add_widget( inner, label, row, col, show_labels, label_alignment ) else: label = None editor.label_control = label # Add emphasis to the editor control if requested: if item.emphasized: self._add_emphasis(control) # If the item wants focus, remember the control so we can set focus # immediately before opening the UI. if item.has_focus: self.ui._focus_control = control # Set the correct size on the control, as specified by the user: stretch = 0 item_width = item.width item_height = item.height if (item_width != -1) or (item_height != -1): is_horizontal = self.direction == QtGui.QBoxLayout.LeftToRight min_size = control.minimumSizeHint() width = min_size.width() height = min_size.height() force_width = False force_height = False if (0.0 < item_width <= 1.0) and is_horizontal: stretch = int(100 * item_width) item_width = int(item_width) if item_width < -1: item_width = -item_width force_width = True else: item_width = max(item_width, width) if (0.0 < item_height <= 1.0) and (not is_horizontal): stretch = int(100 * item_height) item_height = int(item_height) if item_height < -1: item_height = -item_height force_height = True else: item_height = max(item_height, height) control.setMinimumWidth(max(item_width, 0)) control.setMinimumHeight(max(item_height, 0)) if (stretch == 0 or not is_horizontal) and force_width: control.setMaximumWidth(item_width) if (stretch == 0 or is_horizontal) and force_height: control.setMaximumHeight(item_height) # Set size and stretch policies self._set_item_size_policy(editor, item, label, stretch) # Add the created editor control to the layout # FIXME: Need to decide what to do about border_size and padding self._add_widget(inner, control, row, col, show_labels) # ---- Update the UI object # Bind the editor into the UIInfo object name space so it can be # referred to by a Handler while the user interface is active: id = item.id or name info.bind(id, editor, item.id) self.ui._scrollable |= editor.scrollable # Also, add the editors to the list of editors used to construct # the user interface: ui._editors.append(editor) # If the handler wants to be notified when the editor is created, # add it to the list of methods to be called when the UI is # complete: defined = getattr(handler, id + "_defined", None) if defined is not None: ui.add_defined(defined) # If the editor is conditionally visible, add the visibility # 'expression' and the editor to the UI object's list of monitored # objects: if item.visible_when != "": ui.add_visible(item.visible_when, editor) # If the editor is conditionally enabled, add the enabling # 'expression' and the editor to the UI object's list of monitored # objects: if item.enabled_when != "": ui.add_enabled(item.enabled_when, editor) if (len(self._label_enabled_whens) + len(self._label_visible_whens)) > 0: for object in self.ui.context.values(): object.on_trait_change(lambda: self._label_when(), dispatch="ui") self._label_when() return outer def _add_label_item(self, item, inner, row, col, show_labels): label = item.label # Create the label widget. if item.style == "simple": label = QtGui.QLabel(label) else: label = heading_text(None, text=label).control self._add_widget(inner, label, row, col, show_labels) if item.emphasized: self._add_emphasis(label) if item.visible_when: self._label_visible_whens.append((item.visible_when, label)) if item.enabled_when: self._label_enabled_whens.append((item.enabled_when, label)) def _add_separator_item(self, item, columns, inner, row, col, show_labels): cols = columns # See if the layout is a grid. if row >= 0: # Move to the start of the next row if necessary. if col > 0: col = 0 row += 1 # Skip the row we are about to do. row += 1 # Allow for the columns. if show_labels: cols *= 2 for i in range(cols): line = QtGui.QFrame() if self.direction == QtGui.QBoxLayout.LeftToRight: # Add a vertical separator: line.setFrameShape(QtGui.QFrame.VLine) if row < 0: inner.addWidget(line) else: inner.addWidget(line, i, row) else: # Add a horizontal separator: line.setFrameShape(QtGui.QFrame.HLine) if row < 0: inner.addWidget(line) else: inner.addWidget(line, row, i) line.setFrameShadow(QtGui.QFrame.Sunken) def _add_spacer_item(self, item, name, inner, row, col, show_labels): # If so, add the appropriate amount of space to the layout: n = int(name) if self.direction == QtGui.QBoxLayout.LeftToRight: # Add a horizontal spacer: spacer = QtGui.QSpacerItem(n, 1) else: # Add a vertical spacer: spacer = QtGui.QSpacerItem(1, n) self._add_widget(inner, spacer, row, col, show_labels) def _set_item_size_policy(self, editor, item, label, stretch): """ Set size policy of an item and its label (if any). How it is set: 1) The general rule is that we obey the item.resizable and item.springy settings. An item is considered resizable also if resizable is Undefined but the item is scrollable 2) However, if the labels are on the right, and the item is of a kind that cannot be stretched in horizontal (e.g. a checkbox), we make the label stretchable instead (to avoid big gaps between element and label) If the item is resizable, the _GroupPanel is set to be resizable. """ is_label_left = self.group.show_left is_item_resizable = (item.resizable is True) or ( (item.resizable is Undefined) and editor.scrollable ) is_item_springy = item.springy # handle exceptional case 2) item_policy = editor.control.sizePolicy().horizontalPolicy() if ( label is not None and not is_label_left and item_policy == QtGui.QSizePolicy.Minimum ): # this item cannot be stretched horizontally, and the label # exists and is on the right -> make label stretchable if necessary if ( self.direction == QtGui.QBoxLayout.LeftToRight and is_item_springy ): is_item_springy = False self._make_label_h_stretchable(label, stretch or 50) elif ( self.direction == QtGui.QBoxLayout.TopToBottom and is_item_resizable ): is_item_resizable = False self._make_label_h_stretchable(label, stretch or 50) if is_item_resizable: stretch = stretch or 50 # FIXME: resizable is not defined as trait, were is it used? self.resizable = True elif is_item_springy: stretch = stretch or 50 editor.set_size_policy( self.direction, is_item_resizable, is_item_springy, stretch ) return stretch def _make_label_h_stretchable(self, label, stretch): """ Set size policies of a QLabel to be stretchable horizontally. :attr:`stretch` is the stretch factor that Qt uses to distribute the total size to individual elements """ label_policy = label.sizePolicy() label_policy.setHorizontalStretch(stretch) label_policy.setHorizontalPolicy(QtGui.QSizePolicy.Expanding) label.setSizePolicy(label_policy) def _add_widget( self, layout, w, row, column, show_labels, label_alignment=QtCore.Qt.AlignmentFlag(0), ): """Adds a widget to a layout taking into account the orientation and the position of any labels. """ # If the widget really is a widget then remove any margin so that it # fills the cell. if isinstance(w, QtGui.QWidget): wl = w.layout() if wl is not None: wl.setContentsMargins(0, 0, 0, 0) # See if the layout is a grid. if row < 0: if isinstance(w, QtGui.QWidget): layout.addWidget(w) elif isinstance(w, QtGui.QLayout): layout.addLayout(w) else: layout.addItem(w) else: if self.direction == QtGui.QBoxLayout.LeftToRight: # Flip the row and column. row, column = column, row if show_labels: # Convert the "logical" column to a "physical" one. column *= 2 # Determine whether to place widget on left or right of # "logical" column. if (label_alignment != 0 and not self.group.show_left) or ( label_alignment == 0 and self.group.show_left ): column += 1 if isinstance(w, QtGui.QWidget): layout.addWidget(w, row, column, label_alignment) elif isinstance(w, QtGui.QLayout): layout.addLayout(w, row, column, label_alignment) else: layout.addItem(w, row, column, 1, 1, label_alignment) def _create_label(self, item, ui, desc, suffix=":"): """Creates an item label. When the label is on the left of its component, it is not empty, and it does not end with a punctuation character (see :attr:`LABEL_PUNCTUATION_CHARS`), we append a suffix (by default a colon ':') at the end of the label text. We also set the help on the QLabel control (from item.help) and the tooltip (if the ``tooltip`` metadata on the edited trait exists, then it will be used as-is; otherwise, if the ``desc`` metadata exists, the string "Specifies " will be prepended to the start of ``desc``). Parameters ---------- item : Item The item for which we want to create a label ui : UI Current ui object desc : string Description of the item, to create an appropriate tooltip suffix : string Characters to at the end of the label Returns ------- label_control : QLabel The control for the label """ label = item.get_label(ui) # append a suffix if the label is on the left and it does # not already end with a punctuation character if ( label != "" and label[-1] not in LABEL_PUNCTUATION_CHARS and self.group.show_left ): label = label + suffix # create label controller label_control = QtGui.QLabel(label) if item.emphasized: self._add_emphasis(label_control) # FIXME: Decide what to do about the help. (The non-standard wx way, # What's This style help, both?) # control.Bind(wx.EVT_LEFT_UP, show_help_popup) label_control.help = item.get_help(ui) if desc != "": label_control.setToolTip(desc) return label_control def _add_emphasis(self, control): """Adds emphasis to a specified control's font. """ # Set the foreground colour. pal = QtGui.QPalette(control.palette()) pal.setColor(QtGui.QPalette.WindowText, QtGui.QColor(0, 0, 127)) control.setPalette(pal) # Set the font. font = QtGui.QFont(control.font()) font.setBold(True) font.setPointSize(font.pointSize()) control.setFont(font) class GroupEditor(Editor): """ A pseudo-editor that allows a group to be managed. """ def __init__(self, **traits): """ Initialise the object. """ self.trait_set(**traits) class SplitterGroupEditor(GroupEditor): """ A pseudo-editor that allows a group with a 'split' layout to be managed. """ #: The QSplitter for the group splitter = Instance(_GroupSplitter) # -- UI preference save/restore interface --------------------------------- def restore_prefs(self, prefs): """ Restores any saved user preference information associated with the editor. """ if isinstance(prefs, dict): structure = prefs.get("structure") else: structure = prefs self.splitter._initialized = True self.splitter.restoreState(structure) def save_prefs(self): """ Returns any user preference information associated with the editor. """ return {"structure": self.splitter.saveState().data()} class TabbedFoldGroupEditor(GroupEditor): """ A pseudo-editor that allows a group with a 'tabbed' or 'fold' layout to be managed. """ #: The QTabWidget or QToolBox for the group container = Any() # -- UI preference save/restore interface --------------------------------- def restore_prefs(self, prefs): """ Restores any saved user preference information associated with the editor. """ if isinstance(prefs, dict): current_index = prefs.get("current_index") else: current_index = prefs self.container.setCurrentIndex(int(current_index)) def save_prefs(self): """ Returns any user preference information associated with the editor. """ return {"current_index": str(self.container.currentIndex())} # ------------------------------------------------------------------------- # 'HTMLHelpWindow' class: # ------------------------------------------------------------------------- class HTMLHelpWindow(QtGui.QDialog): """ Window for displaying Traits-based help text with HTML formatting. """ def __init__(self, parent, html_content, scale_dx, scale_dy): """ Initializes the object. """ # Local import to avoid a WebKit dependency when one isn't needed. from pyface.qt import QtWebKit QtGui.QDialog.__init__(self, parent) layout = QtGui.QVBoxLayout(self) layout.setContentsMargins(0, 0, 0, 0) # Create the html control html_control = QtWebKit.QWebView() html_control.setSizePolicy( QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Expanding ) html_control.setHtml(html_content) layout.addWidget(html_control) # Create the OK button bbox = QtGui.QDialogButtonBox( QtGui.QDialogButtonBox.Ok, QtCore.Qt.Horizontal ) bbox.accepted.connect(self.accept) layout.addWidget(bbox) # Position and show the dialog position_window(self, parent=parent) self.show() # ------------------------------------------------------------------------- # Creates a Pyface HeadingText control: # ------------------------------------------------------------------------- HeadingText = None def heading_text(*args, **kw): """Create a Pyface HeadingText control. """ global HeadingText if HeadingText is None: from pyface.api import HeadingText return HeadingText(*args, **kw) traitsui-7.2.1/traitsui/qt4/title_editor.py0000644000076500000240000000336414046644454021432 0ustar aayresstaff00000000000000# (C) Copyright 2009-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! # ------------------------------------------------------------------------------ # Copyright (c) 2008, Riverbank Computing Limited # All rights reserved. # # This software is provided without warranty under the terms of the BSD license. # However, when used with the GPL version of PyQt the additional terms # described in the PyQt GPL exception also apply # # Author: Riverbank Computing Limited # ------------------------------------------------------------------------------ from pyface.qt import QtCore from .editor import Editor from pyface.heading_text import HeadingText class SimpleEditor(Editor): def init(self, parent): """ Finishes initializing the editor by creating the underlying toolkit widget. """ self._control = HeadingText(None) self.control = self._control.control if self.factory.allow_selection: flags = ( self.control.textInteractionFlags() | QtCore.Qt.TextSelectableByMouse ) self.control.setTextInteractionFlags(flags) self.set_tooltip() def update_editor(self): """ Updates the editor when the object trait changes external to the editor. """ self._control.text = self.str_value CustomEditor = SimpleEditor ReadonlyEditor = SimpleEditor TextEditor = SimpleEditor traitsui-7.2.1/traitsui/qt4/toolkit.py0000644000076500000240000003424214046644454020427 0ustar aayresstaff00000000000000# (C) Copyright 2008-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! # ------------------------------------------------------------------------------ # Copyright (c) 2007, Riverbank Computing Limited # All rights reserved. # # This software is provided without warranty under the terms of the BSD license. # However, when used with the GPL version of PyQt the additional terms described # in the PyQt GPL exception also apply. # # Author: Riverbank Computing Limited # ------------------------------------------------------------------------------ """ Defines the concrete implementations of the traits Toolkit interface for the PyQt user interface toolkit. """ # Make sure that importing from this backend is OK: from traitsui.toolkit import assert_toolkit_import assert_toolkit_import(["qt4", "qt"]) # Ensure that we can import Pyface backend. This starts App as a side-effect. from pyface.toolkit import toolkit_object as pyface_toolkit _app = pyface_toolkit("init:_app") from traits.trait_notifiers import set_ui_handler from pyface.api import SystemMetrics from pyface.qt import QtCore, QtGui, qt_api from traitsui.toolkit import Toolkit # ------------------------------------------------------------------------- # Handles UI notification handler requests that occur on a thread other than # the UI thread: # ------------------------------------------------------------------------- _QT_TRAITS_EVENT = QtCore.QEvent.Type(QtCore.QEvent.registerEventType()) class _CallAfter(QtCore.QObject): """ This class dispatches a handler so that it executes in the main GUI thread (similar to the wx function). """ # The list of pending calls. _calls = [] # The mutex around the list of pending calls. _calls_mutex = QtCore.QMutex() def __init__(self, handler, *args, **kwds): """ Initialise the call. """ QtCore.QObject.__init__(self) # Save the details of the call. self._handler = handler self._args = args self._kwds = kwds # Add this to the list. self._calls_mutex.lock() self._calls.append(self) self._calls_mutex.unlock() # Move to the main GUI thread. self.moveToThread(QtGui.QApplication.instance().thread()) # Post an event to be dispatched on the main GUI thread. Note that # we do not call QTimer.singleShot, which would be simpler, because # that only works on QThreads. We want regular Python threads to work. event = QtCore.QEvent(_QT_TRAITS_EVENT) QtGui.QApplication.instance().postEvent(self, event) def event(self, event): """ QObject event handler. """ if event.type() == _QT_TRAITS_EVENT: # Invoke the handler self._handler(*self._args, **self._kwds) # We cannot remove from self._calls here. QObjects don't like being # garbage collected during event handlers (there are tracebacks, # plus maybe a memory leak, I think). QtCore.QTimer.singleShot(0, self._finished) return True else: return QtCore.QObject.event(self, event) def _finished(self): """ Remove the call from the list, so it can be garbage collected. """ self._calls_mutex.lock() del self._calls[self._calls.index(self)] self._calls_mutex.unlock() def ui_handler(handler, *args, **kwds): """ Handles UI notification handler requests that occur on a thread other than the UI thread. """ _CallAfter(handler, *args, **kwds) # Tell the traits notification handlers to use this UI handler set_ui_handler(ui_handler) class _KeyEventHook(QtCore.QObject): """ Event hook for handling Qt key events. """ def __init__(self, handler): super().__init__() self._handler = handler def eventFilter(self, object, event): if event.type() == QtCore.QEvent.KeyPress: return self._handler(event) else: return QtCore.QObject.eventFilter(self, object, event) class GUIToolkit(Toolkit): """ Implementation class for PyQt toolkit. """ def ui_panel(self, ui, parent): """ Creates a PyQt panel-based user interface using information from the specified UI object. """ from . import ui_panel ui_panel.ui_panel(ui, parent) def ui_subpanel(self, ui, parent): """ Creates a PyQt subpanel-based user interface using information from the specified UI object. """ from . import ui_panel ui_panel.ui_subpanel(ui, parent) def ui_livemodal(self, ui, parent): """ Creates a PyQt modal "live update" dialog user interface using information from the specified UI object. """ from . import ui_live ui_live.ui_livemodal(ui, parent) def ui_live(self, ui, parent): """ Creates a PyQt non-modal "live update" window user interface using information from the specified UI object. """ from . import ui_live ui_live.ui_live(ui, parent) def ui_modal(self, ui, parent): """ Creates a PyQt modal dialog user interface using information from the specified UI object. """ from . import ui_modal ui_modal.ui_modal(ui, parent) def ui_nonmodal(self, ui, parent): """ Creates a PyQt non-modal dialog user interface using information from the specified UI object. """ from . import ui_modal ui_modal.ui_nonmodal(ui, parent) def ui_wizard(self, ui, parent): """ Creates a PyQt wizard dialog user interface using information from the specified UI object. """ import ui_wizard ui_wizard.ui_wizard(ui, parent) def view_application( self, context, view, kind=None, handler=None, id="", scrollable=None, args=None, ): """ Creates a PyQt modal dialog user interface that runs as a complete application, using information from the specified View object. Parameters ---------- context : object or dictionary A single object or a dictionary of string/object pairs, whose trait attributes are to be edited. If not specified, the current object is used. view : view or string A View object that defines a user interface for editing trait attribute values. kind : string The type of user interface window to create. See the **traitsui.view.kind_trait** trait for values and their meanings. If *kind* is unspecified or None, the **kind** attribute of the View object is used. handler : Handler object A handler object used for event handling in the dialog box. If None, the default handler for Traits UI is used. id : string A unique ID for persisting preferences about this user interface, such as size and position. If not specified, no user preferences are saved. scrollable : Boolean Indicates whether the dialog box should be scrollable. When set to True, scroll bars appear on the dialog box if it is not large enough to display all of the items in the view at one time. """ from . import view_application return view_application.view_application( context, view, kind, handler, id, scrollable, args ) def position(self, ui): """ Positions the associated dialog window on the display. """ view = ui.view window = ui.control # Set up the default position of the window: parent = window.parent() if parent is None: px = 0 py = 0 pdx = SystemMetrics().screen_width pdy = SystemMetrics().screen_height else: pos = parent.pos() if int(parent.windowFlags()) & QtCore.Qt.Window == 0: pos = parent.mapToGlobal(pos) px = pos.x() py = pos.y() pdx = parent.width() pdy = parent.height() # Get the window's prefered size. size_hint = window.sizeHint() # Calculate the correct width and height for the window: cur_width = size_hint.width() cur_height = size_hint.height() width = view.width height = view.height if width < 0.0: width = cur_width elif width <= 1.0: width = int(width * SystemMetrics().screen_width) else: width = int(width) if height < 0.0: height = cur_height elif height <= 1.0: height = int(height * SystemMetrics().screen_height) else: height = int(height) # Calculate the correct position for the window: x = view.x y = view.y if x < -99999.0: x = px + ((pdx - width) // 2) elif x <= -1.0: x = px + pdx - width + int(x) + 1 elif x < 0.0: x = px + pdx - width + int(x * pdx) elif x <= 1.0: x = px + int(x * pdx) else: x = int(x) if y < -99999.0: y = py + ((pdy - height) // 2) elif y <= -1.0: y = py + pdy - height + int(y) + 1 elif x < 0.0: y = py + pdy - height + int(y * pdy) elif y <= 1.0: y = py + int(y * pdy) else: y = int(y) # Position and size the window as requested: layout = window.layout() if layout.sizeConstraint() == QtGui.QLayout.SetFixedSize: layout.setSizeConstraint(QtGui.QLayout.SetDefaultConstraint) window.move(max(0, x), max(0, y)) window.setFixedSize(QtCore.QSize(width, height)) else: window.setGeometry(max(0, x), max(0, y), width, height) def show_help(self, ui, control): """ Shows a help window for a specified UI and control. """ from . import ui_panel ui_panel.show_help(ui, control) def save_window(self, ui): """ Saves user preference information associated with a UI window. """ from . import helper helper.save_window(ui) def rebuild_ui(self, ui): """ Rebuilds a UI after a change to the content of the UI. """ if ui.control is not None: ui.recycle() ui.info.ui = ui ui.rebuild(ui, ui.parent) def set_title(self, ui): """ Sets the title for the UI window. """ ui.control.setWindowTitle(ui.title) def set_icon(self, ui): """ Sets the icon for the UI window. """ from pyface.image_resource import ImageResource if isinstance(ui.icon, ImageResource): ui.control.setWindowIcon(ui.icon.create_icon()) def key_event_to_name(self, event): """ Converts a keystroke event into a corresponding key name. """ from . import key_event_to_name return key_event_to_name.key_event_to_name(event) def hook_events(self, ui, control, events=None, handler=None): """ Hooks all specified events for all controls in a UI so that they can be routed to the correct event handler. """ if events is None: # FIXME: Implement drag and drop events ala toolkit.py for wx return elif events == "keys": # It's unsafe to parent the event filter with the object it's # filtering, so we store a reference to it here to ensure that it's # not garbage collected prematurely. ui._key_event_hook = _KeyEventHook(handler=handler) control.installEventFilter(ui._key_event_hook) def skip_event(self, event): """ Indicates that an event should continue to be processed by the toolkit. """ event.ignore() def destroy_control(self, control): """ Destroys a specified GUI toolkit control. """ # Block signals to prevent any editors from being updated (the control # will not be deleted immediately). control.blockSignals(True) # This may be called from within the finished() signal handler so we # need to do the delete after the handler has returned. control.hide() control.deleteLater() def destroy_children(self, control): """ Destroys all of the child controls of a specified GUI toolkit control. """ for w in control.children(): # Only destroy widgets. if isinstance(w, QtGui.QWidget): # This may be called from within the finished() signal handler # so we need to do the delete after the handler has returned. w.deleteLater() def image_size(self, image): """ Returns a ( width, height ) tuple containing the size of a specified toolkit image. """ return (image.width(), image.height()) def constants(self): """ Returns a dictionary of useful constants. Currently, the dictionary should have the following key/value pairs: - 'WindowColor': the standard window background color in the toolkit specific color format. """ return { "WindowColor": QtGui.QApplication.palette().color( QtGui.QPalette.Window ) } def color_trait(self, *args, **traits): from . import color_trait as ct return ct.PyQtColor(*args, **traits) def rgb_color_trait(self, *args, **traits): from . import rgb_color_trait as rgbct return rgbct.RGBColor(*args, **traits) def font_trait(self, *args, **traits): from . import font_trait as ft return ft.PyQtFont(*args, **traits) traitsui-7.2.1/traitsui/qt4/list_str_model.py0000644000076500000240000002400714046644454021763 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! """ Defines the table model used by the tabular editor. """ from pyface.qt import QtCore, QtGui from traitsui.ui_traits import SequenceTypes # MIME type for internal table drag/drop operations mime_type = "traits-ui-list-str-editor" class ListStrModel(QtCore.QAbstractListModel): """ A model for lists of strings. """ def __init__(self, editor, parent=None): """ Initialise the object. """ QtCore.QAbstractListModel.__init__(self, parent) self._editor = editor # ------------------------------------------------------------------------- # QAbstractItemModel interface: # ------------------------------------------------------------------------- def rowCount(self, mi): """ Reimplemented to return items in the list. """ editor = self._editor n = editor.adapter.len(editor.object, editor.name) if editor.factory.auto_add: n += 1 return n def data(self, mi, role): """ Reimplemented to return the data. """ editor = self._editor adapter = editor.adapter index = mi.row() if role == QtCore.Qt.DisplayRole or role == QtCore.Qt.EditRole: if editor.is_auto_add(index): text = adapter.get_default_text( editor.object, editor.name ) else: text = adapter.get_text(editor.object, editor.name, index) if role == QtCore.Qt.DisplayRole and text == "": # FIXME: This is a hack to make empty strings editable. text = " " return text elif role == QtCore.Qt.DecorationRole: if editor.is_auto_add(index): image = adapter.get_default_image( editor.object, editor.name ) else: image = adapter.get_image(editor.object, editor.name, index) image = editor.get_image(image) if image is not None: return image elif role == QtCore.Qt.BackgroundRole: if editor.is_auto_add(index): color = adapter.get_default_bg_color( editor.object, editor.name ) else: color = adapter.get_bg_color(editor.object, editor.name, index) if color is not None: if isinstance(color, SequenceTypes): q_color = QtGui.QColor(*color) else: q_color = QtGui.QColor(color) return QtGui.QBrush(q_color) elif role == QtCore.Qt.ForegroundRole: if editor.is_auto_add(index): color = adapter.get_default_text_color( editor.object, editor.name ) else: color = adapter.get_text_color( editor.object, editor.name, index ) if color is not None: if isinstance(color, SequenceTypes): q_color = QtGui.QColor(*color) else: q_color = QtGui.QColor(color) return QtGui.QBrush(q_color) return None def setData(self, mi, value, role): """ Reimplmented to allow for modification of the object trait. """ editor = self._editor if editor.is_auto_add(mi.row()): method = editor.adapter.insert else: method = editor.adapter.set_text editor.callx(method, editor.object, editor.name, mi.row(), value) self.dataChanged.emit(mi, mi) return True def setItemData(self, mi, roles): """ Reimplmented to reject all setItemData calls. """ # FIXME: This is a hack to prevent the QListView from clearing out the # old row after a move operation. (The QTableView doesn't do this, for # some reason). This behavior is not overridable so far as I can tell, # but there may be a better way around this issue. Note that we cannot # simply use a CopyAction instead because InternalMove mode is hardcoded # in the Qt source to allow only MoveActions. return False def flags(self, mi): """ Reimplemented to set editable status and movable status. """ editor = self._editor index = mi.row() flags = QtCore.Qt.ItemIsSelectable | QtCore.Qt.ItemIsEnabled if ( editor.factory.editable and "edit" in editor.factory.operations and editor.adapter.get_can_edit(editor.object, editor.name, index) ): flags |= QtCore.Qt.ItemIsEditable if ( editor.factory.editable and "move" in editor.factory.operations and editor.adapter.get_drag(editor.object, editor.name, index) is not None ): flags |= QtCore.Qt.ItemIsDragEnabled | QtCore.Qt.ItemIsDropEnabled return flags def headerData(self, section, orientation, role): """ Reimplemented to return title for vertical header data. """ if ( orientation != QtCore.Qt.Horizontal or role != QtCore.Qt.DisplayRole ): return None return self._editor.title def insertRow(self, row, parent=QtCore.QModelIndex(), obj=None): """ Reimplemented to allow creation of new rows. Added an optional arg to allow the insertion of an existing row object. """ editor = self._editor adapter = editor.adapter if obj is None: obj = adapter.get_default_value(editor.object, editor.name) self.beginInsertRows(parent, row, row) editor.callx( editor.adapter.insert, editor.object, editor.name, row, obj ) self.endInsertRows() return True def insertRows(self, row, count, parent=QtCore.QModelIndex()): """ Reimplemented to allow creation of new items. """ editor = self._editor adapter = editor.adapter self.beginInsertRows(parent, row, row + count - 1) for i in range(count): value = adapter.get_default_value(editor.object, editor.name) editor.callx( adapter.insert, editor.object, editor.name, row, value ) self.endInsertRows() return True def removeRows(self, row, count, parent=QtCore.QModelIndex()): """ Reimplemented to allow row deletion, as well as reordering via drag and drop. """ editor = self._editor adapter = editor.adapter self.beginRemoveRows(parent, row, row + count - 1) for i in range(count): editor.callx(adapter.delete, editor.object, editor.name, row) self.endRemoveRows() return True def mimeTypes(self): """ Reimplemented to expose our internal MIME type for drag and drop operations. """ return [mime_type] def mimeData(self, indexes): """ Reimplemented to generate MIME data containing the rows of the current selection. """ mime_data = QtCore.QMimeData() rows = list({index.row() for index in indexes}) data = QtCore.QByteArray(str(rows[0]).encode("utf8")) for row in rows[1:]: data.append((" %i" % row).encode("utf8")) mime_data.setData(mime_type, data) return mime_data def dropMimeData(self, mime_data, action, row, column, parent): """ Reimplemented to allow items to be moved. """ if action == QtCore.Qt.IgnoreAction: return False data = mime_data.data(mime_type) if data.isNull(): return False current_rows = [int(s) for s in data.data().decode("utf8").split(" ")] self.moveRows(current_rows, parent.row()) return True def supportedDropActions(self): """ Reimplemented to allow items to be moved. """ return QtCore.Qt.MoveAction # ------------------------------------------------------------------------- # ListStrModel interface: # ------------------------------------------------------------------------- def moveRow(self, old_row, new_row): """ Convenience method to move a single row. """ return self.moveRows([old_row], new_row) def moveRows(self, current_rows, new_row): """ Moves a sequence of rows (provided as a list of row indexes) to a new row. """ editor = self._editor # Sort rows in descending order so they can be removed without # invalidating the indices. current_rows.sort() current_rows.reverse() # If the the highest selected row is lower than the destination, do an # insertion before rather than after the destination. if current_rows[-1] < new_row: new_row += 1 # Remove selected rows... objects = [] for row in current_rows: if row <= new_row: new_row -= 1 obj = editor.adapter.get_item(editor.object, editor.name, row) objects.insert(0, obj) self.removeRow(row) # ...and add them at the new location. for i, obj in enumerate(objects): self.insertRow(new_row + i, obj=obj) # Update the selection for the new location. if editor.factory.multi_select: editor.setx(multi_selected=objects) editor.multi_selected_indices = list( range(new_row, new_row + len(objects)) ) else: editor.setx(selected=objects[0]) editor.selected_index = new_row traitsui-7.2.1/traitsui/qt4/ui_live.py0000644000076500000240000001772014046644454020400 0ustar aayresstaff00000000000000# (C) Copyright 2008-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! # ------------------------------------------------------------------------------ # Copyright (c) 2007, Riverbank Computing Limited # All rights reserved. # # This software is provided without warranty under the terms of the BSD license. # However, when used with the GPL version of PyQt the additional terms # described in the PyQt GPL exception also apply # # Author: Riverbank Computing Limited # ------------------------------------------------------------------------------ """Creates a PyQt user interface for a specified UI object, where the UI is "live", meaning that it immediately updates its underlying object(s). """ from pyface.qt import QtCore, QtGui from traitsui.undo import UndoHistory from traitsui.menu import ( UndoButton, RevertButton, OKButton, CancelButton, HelpButton, ) from .ui_base import BaseDialog from .ui_panel import panel # ------------------------------------------------------------------------- # Create the different 'live update' PyQt user interfaces. # ------------------------------------------------------------------------- def ui_live(ui, parent): """Creates a live, non-modal PyQt user interface for a specified UI object. """ _ui_dialog(ui, parent, BaseDialog.NONMODAL) def ui_livemodal(ui, parent): """Creates a live, modal PyQt user interface for a specified UI object. """ _ui_dialog(ui, parent, BaseDialog.MODAL) def ui_popup(ui, parent): """Creates a live, modal popup PyQt user interface for a specified UI object. """ _ui_dialog(ui, parent, BaseDialog.POPUP) def _ui_dialog(ui, parent, style): """Creates a live PyQt user interface for a specified UI object. """ if ui.owner is None: ui.owner = _LiveWindow() BaseDialog.display_ui(ui, parent, style) class _LiveWindow(BaseDialog): """User interface window that immediately updates its underlying object(s). """ def init(self, ui, parent, style): """Initialise the object. FIXME: Note that we treat MODAL and POPUP as equivalent until we have an example that demonstrates how POPUP is supposed to work. """ self.ui = ui self.control = ui.control view = ui.view history = ui.history if self.control is not None: if history is not None: history.observe( self._on_undoable, "undoable", remove=True, dispatch="ui" ) history.observe( self._on_redoable, "redoable", remove=True, dispatch="ui" ) history.observe( self._on_revertable, "undoable", remove=True, dispatch="ui" ) ui.reset() else: self.create_dialog(parent, style) self.set_icon(view.icon) # Convert the buttons to actions. buttons = [self.coerce_button(button) for button in view.buttons] nr_buttons = len(buttons) no_buttons = (nr_buttons == 1) and self.is_button(buttons[0], "") has_buttons = (not no_buttons) and ( (nr_buttons > 0) or view.undo or view.revert or view.ok or view.cancel ) if has_buttons or (view.menubar is not None): if history is None: history = UndoHistory() else: history = None ui.history = history if (not no_buttons) and (has_buttons or view.help): bbox = QtGui.QDialogButtonBox() # Create the necessary special function buttons. if nr_buttons == 0: if view.undo: self.check_button(buttons, UndoButton) if view.revert: self.check_button(buttons, RevertButton) if view.ok: self.check_button(buttons, OKButton) if view.cancel: self.check_button(buttons, CancelButton) if view.help: self.check_button(buttons, HelpButton) for raw_button, button in zip(view.buttons, buttons): default = raw_button == view.default_button if self.is_button(button, "Undo"): self.undo = self.add_button( button, bbox, QtGui.QDialogButtonBox.ActionRole, self._on_undo, False, default=default, ) history.observe( self._on_undoable, "undoable", dispatch="ui" ) if history.can_undo: self._on_undoable(True) self.redo = self.add_button( button, bbox, QtGui.QDialogButtonBox.ActionRole, self._on_redo, False, "Redo", ) history.observe( self._on_redoable, "redoable", dispatch="ui" ) if history.can_redo: self._on_redoable(True) elif self.is_button(button, "Revert"): self.revert = self.add_button( button, bbox, QtGui.QDialogButtonBox.ResetRole, self._on_revert, False, default=default, ) history.observe( self._on_revertable, "undoable", dispatch="ui" ) if history.can_undo: self._on_revertable(True) elif self.is_button(button, "OK"): self.ok = self.add_button( button, bbox, QtGui.QDialogButtonBox.AcceptRole, self.control.accept, default=default, ) ui.observe(self._on_error, "errors", dispatch="ui") elif self.is_button(button, "Cancel"): self.add_button( button, bbox, QtGui.QDialogButtonBox.RejectRole, self.control.reject, default=default, ) elif self.is_button(button, "Help"): self.add_button( button, bbox, QtGui.QDialogButtonBox.HelpRole, self._on_help, default=default, ) elif not self.is_button(button, ""): self.add_button( button, bbox, QtGui.QDialogButtonBox.ActionRole, default=default, ) else: bbox = None self.add_contents(panel(ui), bbox) def close(self, rc=True): """Close the dialog and set the given return code. """ super().close(rc) self.undo = self.redo = self.revert = None def _on_finished(self, result): """Handles the user finishing with the dialog. """ accept = bool(result) if not accept and self.ui.history is not None: self._on_revert(None) self.close(accept) traitsui-7.2.1/traitsui/qt4/ui_editor.py0000644000076500000240000000163214046644454020722 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! """ Defines the BasicUIEditor class, which allows creating editors that define their function by creating an embedded Traits UI. """ from traitsui.ui_editor import UIEditor as BaseUIEditor from .editor import Editor # ------------------------------------------------------------------------- # 'UIEditor' base class: # ------------------------------------------------------------------------- class UIEditor(BaseUIEditor, Editor): """ An editor that creates an embedded Traits UI. """ pass traitsui-7.2.1/traitsui/qt4/custom_editor.py0000644000076500000240000000476114046644454021625 0ustar aayresstaff00000000000000# (C) Copyright 2008-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! # ------------------------------------------------------------------------------ # Copyright (c) 2007, Riverbank Computing Limited # All rights reserved. # # This software is provided without warranty under the terms of the BSD license. # However, when used with the GPL version of PyQt the additional terms # described in the PyQt GPL exception also apply # # Author: Riverbank Computing Limited # ------------------------------------------------------------------------------ """ Defines the PyQt implementation of the editor used to wrap a non-Traits based custom control. """ from pyface.qt import QtGui from .editor import Editor # ------------------------------------------------------------------------- # 'CustomEditor' class: # ------------------------------------------------------------------------- class CustomEditor(Editor): """ Wrapper for a custom editor control """ # ------------------------------------------------------------------------- # Finishes initializing the editor by creating the underlying toolkit # widget: # ------------------------------------------------------------------------- def init(self, parent): """ Finishes initializing the editor by creating the underlying toolkit widget. """ factory = self.factory.factory if factory is not None: self.control = factory(*((parent, self) + self.factory.args)) if self.control is None: self.control = QtGui.QLabel( "An error occurred creating a custom editor.\n" "Please contact the developer." ) self.control.setStyleSheet("background-color: red; color: white") self.set_tooltip() # ------------------------------------------------------------------------- # Updates the editor when the object trait changes external to the editor: # ------------------------------------------------------------------------- def update_editor(self): """ Updates the editor when the object trait changes externally to the editor. """ pass traitsui-7.2.1/traitsui/qt4/key_event_to_name.py0000644000076500000240000001233714046644454022436 0ustar aayresstaff00000000000000# (C) Copyright 2008-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! # ------------------------------------------------------------------------------ # Copyright (c) 2007, Riverbank Computing Limited # All rights reserved. # # This software is provided without warranty under the terms of the BSD license. # However, when used with the GPL version of PyQt the additional terms # described in the PyQt GPL exception also apply # # Author: Riverbank Computing Limited # ------------------------------------------------------------------------------ """ Converts a QKeyEvent to a standardized "name". """ from pyface.qt import QtCore # Mapping from PyQt keypad key names to Pyface key names. keypad_map = { QtCore.Qt.Key_Enter: "Enter", QtCore.Qt.Key_0: "Numpad 0", QtCore.Qt.Key_1: "Numpad 1", QtCore.Qt.Key_2: "Numpad 2", QtCore.Qt.Key_3: "Numpad 3", QtCore.Qt.Key_4: "Numpad 4", QtCore.Qt.Key_5: "Numpad 5", QtCore.Qt.Key_6: "Numpad 6", QtCore.Qt.Key_7: "Numpad 7", QtCore.Qt.Key_8: "Numpad 8", QtCore.Qt.Key_9: "Numpad 9", QtCore.Qt.Key_Asterisk: "Multiply", QtCore.Qt.Key_Plus: "Add", QtCore.Qt.Key_Comma: "Separator", QtCore.Qt.Key_Minus: "Subtract", QtCore.Qt.Key_Period: "Decimal", QtCore.Qt.Key_Slash: "Divide", } # Mapping from PyQt non-keypad key names to Pyface key names. key_map = { QtCore.Qt.Key_0: "0", QtCore.Qt.Key_1: "1", QtCore.Qt.Key_2: "2", QtCore.Qt.Key_3: "3", QtCore.Qt.Key_4: "4", QtCore.Qt.Key_5: "5", QtCore.Qt.Key_6: "6", QtCore.Qt.Key_7: "7", QtCore.Qt.Key_8: "8", QtCore.Qt.Key_9: "9", QtCore.Qt.Key_A: "A", QtCore.Qt.Key_B: "B", QtCore.Qt.Key_C: "C", QtCore.Qt.Key_D: "D", QtCore.Qt.Key_E: "E", QtCore.Qt.Key_F: "F", QtCore.Qt.Key_G: "G", QtCore.Qt.Key_H: "H", QtCore.Qt.Key_I: "I", QtCore.Qt.Key_J: "J", QtCore.Qt.Key_K: "K", QtCore.Qt.Key_L: "L", QtCore.Qt.Key_M: "M", QtCore.Qt.Key_N: "N", QtCore.Qt.Key_O: "O", QtCore.Qt.Key_P: "P", QtCore.Qt.Key_Q: "Q", QtCore.Qt.Key_R: "R", QtCore.Qt.Key_S: "S", QtCore.Qt.Key_T: "T", QtCore.Qt.Key_U: "U", QtCore.Qt.Key_V: "V", QtCore.Qt.Key_W: "W", QtCore.Qt.Key_X: "X", QtCore.Qt.Key_Y: "Y", QtCore.Qt.Key_Z: "Z", QtCore.Qt.Key_Space: "Space", QtCore.Qt.Key_Backspace: "Backspace", QtCore.Qt.Key_Tab: "Tab", QtCore.Qt.Key_Enter: "Enter", QtCore.Qt.Key_Return: "Return", QtCore.Qt.Key_Escape: "Esc", QtCore.Qt.Key_Delete: "Delete", QtCore.Qt.Key_Cancel: "Cancel", QtCore.Qt.Key_Clear: "Clear", QtCore.Qt.Key_Shift: "Shift", QtCore.Qt.Key_Menu: "Menu", QtCore.Qt.Key_Pause: "Pause", QtCore.Qt.Key_PageUp: "Page Up", QtCore.Qt.Key_PageDown: "Page Down", QtCore.Qt.Key_End: "End", QtCore.Qt.Key_Home: "Home", QtCore.Qt.Key_Left: "Left", QtCore.Qt.Key_Up: "Up", QtCore.Qt.Key_Right: "Right", QtCore.Qt.Key_Down: "Down", QtCore.Qt.Key_Select: "Select", QtCore.Qt.Key_Print: "Print", QtCore.Qt.Key_Execute: "Execute", QtCore.Qt.Key_Insert: "Insert", QtCore.Qt.Key_Help: "Help", QtCore.Qt.Key_F1: "F1", QtCore.Qt.Key_F2: "F2", QtCore.Qt.Key_F3: "F3", QtCore.Qt.Key_F4: "F4", QtCore.Qt.Key_F5: "F5", QtCore.Qt.Key_F6: "F6", QtCore.Qt.Key_F7: "F7", QtCore.Qt.Key_F8: "F8", QtCore.Qt.Key_F9: "F9", QtCore.Qt.Key_F10: "F10", QtCore.Qt.Key_F11: "F11", QtCore.Qt.Key_F12: "F12", QtCore.Qt.Key_F13: "F13", QtCore.Qt.Key_F14: "F14", QtCore.Qt.Key_F15: "F15", QtCore.Qt.Key_F16: "F16", QtCore.Qt.Key_F17: "F17", QtCore.Qt.Key_F18: "F18", QtCore.Qt.Key_F19: "F19", QtCore.Qt.Key_F20: "F20", QtCore.Qt.Key_F21: "F21", QtCore.Qt.Key_F22: "F22", QtCore.Qt.Key_F23: "F23", QtCore.Qt.Key_F24: "F24", QtCore.Qt.Key_NumLock: "Num Lock", QtCore.Qt.Key_ScrollLock: "Scroll Lock", } # ------------------------------------------------------------------------- # Converts a keystroke event into a corresponding key name: # ------------------------------------------------------------------------- def key_event_to_name(event): """ Converts a keystroke event into a corresponding key name. """ key_code = event.key() modifiers = event.modifiers() if modifiers & QtCore.Qt.KeypadModifier: key = keypad_map.get(key_code) else: key = None if key is None: key = key_map.get(key_code, "Unknown-Key") name = "" if modifiers & QtCore.Qt.ControlModifier: name += "Ctrl" if modifiers & QtCore.Qt.AltModifier: name += "-Alt" if name else "Alt" if modifiers & QtCore.Qt.MetaModifier: name += "-Meta" if name else "Meta" if modifiers & QtCore.Qt.ShiftModifier and ( (name != "") or (len(key) > 1) ): name += "-Shift" if name else "Shift" if key: if name: name += "-" name += key return name traitsui-7.2.1/traitsui/qt4/images/0000755000076500000240000000000014046644526017630 5ustar aayresstaff00000000000000traitsui-7.2.1/traitsui/qt4/images/closetab.png0000644000076500000240000000056714046644454022142 0ustar aayresstaff00000000000000‰PNG  IHDR(-S„PLTEÿÿÿþ8þ8ÿ‚,ÿˆ.ÿÿÿÿ:ÿx'ÿƒ,ÿ‡.ÿ~*ÿŠ/ÿŒ0ÿŽ2ÿ‘3ÿ›Fÿ,þM ÿ`ÿcþ8ÿz6ÿ®ÿº…ÿº‡ÿ»‰ÿèÝÿéàÿêÞÿêàþH ÿq#ÿs$ÿs%ÿt%ÿŽ@ÿ@ÿm ÿ—Cÿëáÿìßÿíßÿîâÿp!ká©„tRNSWÀ”èÍýŸIDATx^mÏGÃ@Ðx€éͽ;½ßÿ~‰@âI ØýIŠ5,Yú)ÛާÓñ°Ï¦YX.t)!j‘³/°¾9w«D1ƒÆ†ž!<©A½@4ç^/Î&.Vñ‘häÊÂÒùËè~ñN®Ô÷ô+€m©+ËŽÚu$¨¸”¼‚ßRvEÊûoÁ+›OOßh¬sÖà;M6ÏmóŽp Ý é<IEND®B`‚traitsui-7.2.1/traitsui/qt4/images/list_editor.png0000755000076500000240000000062414046644454022664 0ustar aayresstaff00000000000000‰PNG  IHDRóÿabKGDÿÿÿ ½§“ pHYs  šœtIMEá. '÷¸Ú!IDAT8Ë¥“1nA EßÌN"$šH9 hØ’ pJNBǸ‡€zµ ¢£àÑ’‰˜ÙõL ‚@J&–\øÏö·¬æó9¢ßï·v»½Ó_€7àø2MÓp:â=àx<>ßê“ÉäU‹©QE­ëºNÔuF, cäp8DAD! "4Mó£ƒ*Š"n·[t€ñxüëÎeYF€j8ÒívcÊ ûý^é^¯—ìA§ÓA{ï“Þ{ŒsŽår©þzÎ,˘Ífï=›Íæ¬×ë$sJ[k“=°Ö¢ó<ÏRyž+SUU»Õj™ÕjõÔÅétª˜kPUUÛ8ç>x>ŸŸvº\.úú¾æFn€oÄX—xz¨IEND®B`‚traitsui-7.2.1/traitsui/qt4/images/frame.png0000644000076500000240000000175714046644454021442 0ustar aayresstaff00000000000000‰PNG  IHDRóÿabKGD×Þ×]6G{ pHYs  šœtIME× -Ú¬Æ|IDAT8ËMÌmHÜuÀñïÿñþçéN½).Ù™c±lÈÜȈéÊÍØEå+Œ!Ñ‹ Â7.jX­¢zÑbBADE/F«æAsËfµ©7M6çyÞv§÷à=üŸ~½Ø›¾ï?_éôA„ËïËzÈVÉ›v·á“5³ä^Ž'7Ž­Þ,Í~\]ÏŽÝí$b7™qÈ LÅ…§èázMÈW_­{À5)ä×öJŠqqf¡Ôá˜æ’°,\ËÂÿk| Cmœíï®tcM‘[bå1ðX¥xõÉZÑ`H?+Ðe9ë—åxI4@^ž_!™%ÙÕsPj‰èÿJIzt1~©Ä²ü¸ß0ê¼£BèzÄÑÔÓÀ ûžGV„K"%õìŠ)-#ò7q­uN~y…[«9¡0-­-´F£ìßÛI]¤NVe¹øÈh{B¦¢ ÿžöšËöŸïˆkï‹Ôô[bkÄÑHèá9qåÂÂ/g~J\›ûÚw¸Ä$94>þbßSáx<ô –ÄÊ|1—àÄKƒ´l{×)‚ë⸪ªš¾äÞ÷ìà›¶3¢*ßJÝÇFŽœjݼMÓíá·ãoóá£÷½S¨¶†³º„AH¸Ž‰”MóÚ»ŸÅж3jí–Ú—WÊ‹ZTi¦#øÛGGñû5þ¹ý7o|>IT±êëD8."¿Æ¹«wø£¸¹¬-ÛÌΡ„'[Û›ªÞJÊrÙÒÉ+iÎ|ú}ý'¨mŽ0:6Á×S|7¹€¶s?G^¨_\˜¿ÿÖbìœÔ°gÓÒ#OooÔt† ­içÏþÊ·‡éh ò»ø+ LU€$ˆ'Òä e$$,„¬U*+¦ ËùC3_-í“|Zó´ìh2ÕÑxoúyÛ Y8,%3ä‹¶ãb•M„æ'“LYuaHo€å‚î¯YÅmíüº"9Üsà0†áÇ!$:ß~PJÍ]º7X+€é‚áEò9ˆ4à†jUC9ê VíV½CQT]÷Š]Î[¹»ëñòúíóûæ?-Q™Ù;¢/0IEND®B`‚traitsui-7.2.1/traitsui/qt4/images/next.png0000644000076500000240000000201614046644454021313 0ustar aayresstaff00000000000000‰PNG  IHDRשÍÊ(PLTE•b‚U•d˜d‹\Œ]do™u.–dQ6ðË‹çÈ•=)€@–dS9=(÷ÄmƒV[7;'™v.•r.÷¼R÷Í‹ðΈúß¶•b‡Z˜h ‹[ûÏrüÇX™v/ðÒ‰ðר•bûÔ„ñ×›–dîÖ••d˜dîˇñÕ‰—h”f éÓ™–cñØŠž{5úè¡`‰Zñß òÕ¨÷åŒ]T€Tîà¬ûêûç€üähúìzOW9Žb c b ‡Zž|:÷äkúîŽ{R  5# }7÷ì÷[zQƒV;(¢~7ùôÀýø·yOB,¥‚?òìª~R2! y-‡ZsL9%ÿÇÿÄÿÏÿãKÿÍ!ÿº"ÿã¨ÿÇÿÊ ÿÄÿéJÿÅUÿÐJÿì4ÿîLÿÔ:ÿæŽÿº ÿÀÿÎSÿ×NÿÎ%ÿÅ ÿÍ ÿömÿÓgÿÑÿÔÿÝLÿßSÿÇ@ÿÅ8ÿÂ/ÿ¾"ÿäqÿÉSÿÛEÿÀÿÚ<ÿ×0ÿÙÿÙÿÜÿÎyÿ¿ÿÁÿÇÿÕYÿãÿó±ÿ¿7ÿ»ÿ¿Bÿâ/2.=‚tRNSD¯Ò W&#T= ÕØÕè³_÷ôq\(!mýe)pèéýý÷ýFÁÓØþþæ÷ù´þüœ÷«J÷üÓ×õ üâýÍRüùýÔƒÎûþþþý„˜ãããÝêýý‰BQRX}èýýÕˆÐ1tèýþ…téûŒ"fäÊ|:Y* ‡ž!IDAT(Ïc` 0‹açW·ÒÃ"Îè*å&#))Á£¨d¢ëmÎ)! +¡½Vš]M\NUM]Cy[¯;²aGCM­öö¥:È2œ¼úfFÆ[¶Nž2ÕÉ4&¡lËÙ .Z¼|Ýú ­mla¬lö}3š›»›š:»&NrrF’p™6½­mfKËœ¹óÝ=<‘$¼–Ì[¶båªÕkZ}|ýøþ›ƒ‚[·oê  cAXÛ?!N$ž‰ɹ ‰IÉ)©i³Ò32¹‘=˜Å—“›—_P(Z„,ŽŒb’Ò2Ñr&FŒ@¬¨¬ª®ábÄŒ¾ÚºzLõ@³8XY°F9 3qi:1FC£S§IEND®B`‚traitsui-7.2.1/traitsui/qt4/images/previous.png0000644000076500000240000000160214046644454022211 0ustar aayresstaff00000000000000‰PNG  IHDRàw=øgAMAÖØÔOX2tEXtSoftwareAdobe ImageReadyqÉe<IDATHÇÍ–kH“aÇZÖ4 Ën&•vS©, •i%£ú`rfº² Þ2BÐÊ@¼$©äd¹ú m]ÐüRDPTŠ%NM7]1ܲ)¢Î¬7ÝÞÎëFÄt5£>üìÿßsÎsž÷ "üMà¿ÜH„%`7ãY<ì¹·n§x¨DÁàC’¹3&%@LI<<Ò½*)Í莄$XJ8Ø, ð¨’8x<Ü^1:ÖUÅÊ/ø÷ìôƒd ÷"fÛ$ ðC^9Ô(a°)…„•§ùëvøB*…¯¶I`Yyå`cƒu‘ˆ/ÈÔ&sèB| e…;øÆ Àõ²è×{1møP³˜Á׈O¼Çaž Ùâ³›z%1 .Ntê'9·É’xmùÑ@Õ8öÓ ~¶¥µÚBáÕ+)œ‡øÔ•ªDc½Èdh>g2(óL¨©À!uÅhÁ¨¡ðuoJ…‡Ñ´Ül/fP%B¬§ðš9Lc_= ñ9UòÒ±.ˆž…"¶B}ÇMc^´PøvÂmJÍyYŸRþ{Š•|Ä ¢ðz0S»œð4S· ±% õ*±ñÒah¥ð]„û”ñQ^; Š1]9‹]Ô%¾¡Ai3 Ux™iZ‹ØqõêBëÜé̉„\É1P2ŸŠXÔìEüàøÖ‘ ulF|‚ø~7bç>Dm*ê»Ê~K`OÌχ<’¨Æú¯²Ø†¨¡Jº"'4jO› ŸsL†>© ¿<Ä ´¨&«‰·Y™BK¤,Ðjû·!£=Öfñûhj:¥±NiÜ 1: view = ImageEnumTablePopupView(self) view.setItemDelegate(delegate) self.setView(view) # Unless we force it, the popup for a combo box will not be wider # than the box itself, so we set a high minimum width. width = 0 for col in range(self._editor.factory.cols): width += view.sizeHintForColumn(col) view.setMinimumWidth(width) else: self.setItemDelegate(delegate) def _dispose(self): """ Dispose objects on this widget. To be called by editors. """ # Replace the model with the standard one. # After the editor has disposed itself, the widget may not have been # garbage collected and the model still reacts to events fired # afterwards (e.g. rowCount will be called) and runs into exceptions. # QComboBox requires that the model must not be None. # QStandardItemModel is the default model type when a QComboxBox is # created. self.setModel(QtGui.QStandardItemModel()) def paintEvent(self, event): """ Reimplemented to draw the ComboBox frame and paint the image centered in it. """ painter = QtGui.QStylePainter(self) painter.setPen(self.palette().color(QtGui.QPalette.Text)) option = QtGui.QStyleOptionComboBox() self.initStyleOption(option) painter.drawComplexControl(QtGui.QStyle.CC_ComboBox, option) editor = self._editor pixmap = editor.get_pixmap(editor.inverse_mapping[editor.value]) arrow = self.style().subControlRect( QtGui.QStyle.CC_ComboBox, option, QtGui.QStyle.SC_ComboBoxArrow, None, ) option.rect.setWidth(option.rect.width() - arrow.width()) target = QtGui.QStyle.alignedRect( QtCore.Qt.LeftToRight, QtCore.Qt.AlignCenter, pixmap.size(), option.rect, ) painter.drawPixmap(target, pixmap) def sizeHint(self): """ Reimplemented to set a size hint based on the size of the larget image. """ size = QtCore.QSize() for name in self._editor.names: size = size.expandedTo(self._editor.get_pixmap(name).size()) option = QtGui.QStyleOptionComboBox() self.initStyleOption(option) size = self.style().sizeFromContents( QtGui.QStyle.CT_ComboBox, option, size, self ) return size class ImageEnumTablePopupView(QtGui.QTableView): def __init__(self, parent): """ Configure the appearence of the table view. """ QtGui.QTableView.__init__(self, parent) hheader = self.horizontalHeader() if is_qt5: hheader.setSectionResizeMode(QtGui.QHeaderView.ResizeToContents) else: hheader.setResizeMode(QtGui.QHeaderView.ResizeToContents) hheader.hide() vheader = self.verticalHeader() if is_qt5: vheader.setSectionResizeMode(QtGui.QHeaderView.ResizeToContents) else: vheader.setResizeMode(QtGui.QHeaderView.ResizeToContents) vheader.hide() self.setShowGrid(False) class ImageEnumItemDelegate(QtGui.QStyledItemDelegate): """ An item delegate which draws only images. """ def __init__(self, editor, parent): """ Reimplemented to store the editor. """ QtGui.QStyledItemDelegate.__init__(self, parent) self._editor = editor def displayText(self, value, locale): """ Reimplemented to display nothing. """ return "" def paint(self, painter, option, mi): """ Reimplemented to draw images. """ # Delegate to our superclass to draw the background QtGui.QStyledItemDelegate.paint(self, painter, option, mi) # Now draw the pixmap name = mi.data(QtCore.Qt.DisplayRole) pixmap = self._get_pixmap(name) if pixmap is not None: target = QtGui.QStyle.alignedRect( QtCore.Qt.LeftToRight, QtCore.Qt.AlignCenter, pixmap.size(), option.rect, ) painter.drawPixmap(target, pixmap) def sizeHint(self, option, mi): """ Reimplemented to define a size hint based on the size of the pixmap. """ name = mi.data(QtCore.Qt.DisplayRole) pixmap = self._get_pixmap(name) if pixmap is None: return QtCore.QSize() return pixmap.size() def _get_pixmap(self, name): return self._editor.get_pixmap(name) class ImageEnumModel(QtCore.QAbstractTableModel): """ A table model for use with the 'simple' style ImageEnumEditor. """ def __init__(self, editor, parent): """ Reimplemented to store the editor. """ super().__init__(parent) self._editor = editor def rowCount(self, mi): """ Reimplemented to return the number of rows. """ cols = self._editor.factory.cols result = (len(self._editor.names) + cols - 1) / cols return result def columnCount(self, mi): """ Reimplemented to return the number of columns. """ return self._editor.factory.cols def data(self, mi, role): """ Reimplemented to return the data. """ if role == QtCore.Qt.DisplayRole: index = mi.row() * self._editor.factory.cols + mi.column() if index < len(self._editor.names): return self._editor.names[index] return None traitsui-7.2.1/traitsui/qt4/tree_node_renderers.py0000644000076500000240000000743214046644454022760 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! from pyface.qt import QtCore, QtGui from pyface.ui_traits import HasBorder from traits.api import Int from traitsui.tree_node_renderer import AbstractTreeNodeRenderer from .helper import wrap_text_with_elision class WordWrapRenderer(AbstractTreeNodeRenderer): """ A renderer that wraps the label text across multiple lines. """ #: The padding around the text. padding = HasBorder(0) #: The a good size for the width of the item. width_hint = Int(100) #: The maximum number of lines to show without eliding. max_lines = Int(5) #: The extra border applied by Qt internally # XXX get this dynamically from Qt? How? extra_space = Int(8) def paint(self, editor, node, column, object, paint_context): """ Paint word-wrapped text with elision. """ painter, option, index = paint_context text = self.get_label(node, object, column) if editor.factory.show_icons: icon_width = option.decorationSize.width() + self.extra_space icon_height = option.decorationSize.height() else: icon_width = 0 icon_height = 0 x = option.rect.left() + icon_width + self.padding.left y = option.rect.top() + self.padding.top width = ( option.rect.width() - icon_width - self.padding.left - self.padding.right ) height = option.rect.height() - self.padding.top - self.padding.bottom lines = wrap_text_with_elision(text, option.font, width, height) old_pen = painter.pen() if bool(option.state & QtGui.QStyle.State_Selected): painter.setPen(QtGui.QPen(option.palette.highlightedText(), 0)) try: rect = painter.drawText( x, y, width, height, option.displayAlignment, "\n".join(lines) ) finally: painter.setPen(old_pen) def size(self, editor, node, column, object, size_context): """ Return the preferred size for the word-wrapped text Parameters ---------- node : ITreeNode instance The tree node to render. column : int The column in the tree that should be rendererd. object : object The underlying object being edited. size_context : object A toolkit-dependent context for performing sizing operations. Returns ------- size : tuple of (width, height) or None """ option, index = size_context font_metrics = QtGui.QFontMetrics(option.font) text = self.get_label(node, object, column) if editor.factory.show_icons: icon_size = option.decorationSize icon_width = icon_size.width() icon_height = icon_size.height() else: icon_width = 0 icon_height = 0 width = ( self.width_hint - icon_width - self.padding.left - self.padding.right ) max_height = self.max_lines * font_metrics.lineSpacing() lines = wrap_text_with_elision(text, option.font, width, max_height) text_height = len(lines) * font_metrics.lineSpacing() height = ( max(icon_height, text_height) + self.padding.top + self.padding.bottom + self.extra_space ) return self.width_hint, height traitsui-7.2.1/traitsui/qt4/ui_modal.py0000644000076500000240000002011014046644454020520 0ustar aayresstaff00000000000000# (C) Copyright 2008-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! # ------------------------------------------------------------------------------ # Copyright (c) 2007, Riverbank Computing Limited # All rights reserved. # # This software is provided without warranty under the terms of the BSD license. # However, when used with the GPL version of PyQt the additional terms # described in the PyQt GPL exception also apply # # Author: Riverbank Computing Limited # ------------------------------------------------------------------------------ """Creates a PyQt user interface for a specified UI object. """ from pyface.qt import QtCore, QtGui from traitsui.menu import ( ApplyButton, RevertButton, OKButton, CancelButton, HelpButton, ) from .ui_base import BaseDialog from .ui_panel import panel # ------------------------------------------------------------------------- # Create the different modal PyQt user interfaces. # ------------------------------------------------------------------------- def ui_modal(ui, parent): """Creates a modal PyQt user interface for a specified UI object. """ _ui_dialog(ui, parent, BaseDialog.MODAL) def ui_nonmodal(ui, parent): """Creates a non-modal PyQt user interface for a specified UI object. """ _ui_dialog(ui, parent, BaseDialog.NONMODAL) def _ui_dialog(ui, parent, style): """Creates a PyQt dialog box for a specified UI object. Changes are not immediately applied to the underlying object. The user must click **Apply** or **OK** to apply changes. The user can revert changes by clicking **Revert** or **Cancel**. """ if ui.owner is None: ui.owner = _ModalDialog() BaseDialog.display_ui(ui, parent, style) class _ModalDialog(BaseDialog): """Modal dialog box for Traits-based user interfaces. """ def init(self, ui, parent, style): """Initialise the object. """ self.ui = ui self.control = ui.control view = ui.view revert = apply = False if self.control is not None: if hasattr(self, "revert"): revert = self.revert.isEnabled() if hasattr(self, "apply"): apply = self.apply.isEnabled() ui.reset() else: self.create_dialog(parent, style) # Create the 'context' copies we will need while editing: context = ui.context ui._context = context ui.context = self._copy_context(context) ui._revert = self._copy_context(context) self.set_icon(view.icon) # Convert the buttons to actions. buttons = [self.coerce_button(button) for button in view.buttons] nr_buttons = len(buttons) if (nr_buttons != 1) or (not self.is_button(buttons[0], "")): bbox = QtGui.QDialogButtonBox() # Create the necessary special function buttons. if nr_buttons == 0: if view.apply: self.check_button(buttons, ApplyButton) if view.revert: self.check_button(buttons, RevertButton) if view.ok: self.check_button(buttons, OKButton) if view.cancel: self.check_button(buttons, CancelButton) if view.help: self.check_button(buttons, HelpButton) for raw_button, button in zip(view.buttons, buttons): default = raw_button == view.default_button if self.is_button(button, "Apply"): self.apply = self.add_button( button, bbox, QtGui.QDialogButtonBox.ApplyRole, self._on_apply, enabled=apply, default=default, ) ui.observe( self._on_applyable, "modified", dispatch="ui" ) elif self.is_button(button, "Revert"): self.revert = self.add_button( button, bbox, QtGui.QDialogButtonBox.ResetRole, self._on_revert, enabled=revert, default=default, ) elif self.is_button(button, "OK"): self.ok = self.add_button( button, bbox, QtGui.QDialogButtonBox.AcceptRole, self.control.accept, default=default, ) ui.observe(self._on_error, "errors", dispatch="ui") elif self.is_button(button, "Cancel"): self.add_button( button, bbox, QtGui.QDialogButtonBox.RejectRole, self.control.reject, default=default, ) elif self.is_button(button, "Help"): self.add_button( button, bbox, QtGui.QDialogButtonBox.HelpRole, self._on_help, default=default, ) elif not self.is_button(button, ""): self.add_button( button, bbox, QtGui.QDialogButtonBox.ActionRole, default=default, ) else: bbox = None self.add_contents(panel(ui), bbox) def close(self, rc=True): """Close the dialog and set the given return code. """ super().close(rc) self.apply = self.revert = self.help = None def _copy_context(self, context): """Creates a copy of a *context* dictionary. """ result = {} for name, value in context.items(): if value is not None: result[name] = value.clone_traits() else: result[name] = None return result def _apply_context(self, from_context, to_context): """Applies the traits in the *from_context* to the *to_context*. """ for name, value in from_context.items(): if value is not None: to_context[name].copy_traits(value) else: to_context[name] = None if to_context is self.ui._context: on_apply = self.ui.view.on_apply if on_apply is not None: on_apply() def _on_finished(self, result): """Handles the user finishing with the dialog. """ accept = bool(result) if accept: self._apply_context(self.ui.context, self.ui._context) else: self._apply_context(self.ui._revert, self.ui._context) self.close(accept) def _on_apply(self): """Handles a request to apply changes. """ ui = self.ui self._apply_context(ui.context, ui._context) self.revert.setEnabled(True) ui.handler.apply(ui.info) ui.modified = False def _on_applyable(self, event): """Handles a change to the "modified" state of the user interface . """ state = event.new self.apply.setEnabled(state) def _on_revert(self): """Handles a request to revert changes. """ ui = self.ui self._apply_context(ui._revert, ui.context) self._apply_context(ui._revert, ui._context) self.revert.setEnabled(False) ui.handler.revert(ui.info) ui.modified = False traitsui-7.2.1/traitsui/qt4/color_editor.py0000644000076500000240000002330614046644454021425 0ustar aayresstaff00000000000000# (C) Copyright 2008-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! # ------------------------------------------------------------------------------ # Copyright (c) 2007, Riverbank Computing Limited # All rights reserved. # # This software is provided without warranty under the terms of the BSD license. # However, when used with the GPL version of PyQt the additional terms # described in the PyQt GPL exception also apply # # Author: Riverbank Computing Limited # ------------------------------------------------------------------------------ """ Defines the various color editors for the PyQt user interface toolkit. """ from pyface.qt import QtCore, QtGui from traitsui.editors.color_editor import ( ToolkitEditorFactory as BaseToolkitEditorFactory, ) from .editor_factory import ( SimpleEditor as BaseSimpleEditor, TextEditor as BaseTextEditor, ReadonlyEditor as BaseReadonlyEditor, ) from .editor import Editor # Standard color samples: color_samples = [] # --------------------------------------------------------------------------- # The PyQt ToolkitEditorFactory class. # --------------------------------------------------------------------------- ## We need to add qt4-specific methods to the editor factory (since all editors ## will be accessing these functions. Making these functions global functions ## in this file does not work quite well, since we want custom editors to ## override these methods easily. class ToolkitEditorFactory(BaseToolkitEditorFactory): """ PyQt editor factory for color editors. """ def to_qt4_color(self, editor): """ Gets the PyQt color equivalent of the object trait. """ if self.mapped: return getattr(editor.object, editor.name + "_") return getattr(editor.object, editor.name) def from_qt4_color(self, color): """ Gets the application equivalent of a PyQt value. """ return color def str_color(self, color): """ Returns the text representation of a specified color value. """ if isinstance(color, QtGui.QColor): alpha = color.alpha() if alpha == 255: return "(%d,%d,%d)" % ( color.red(), color.green(), color.blue(), ) return "(%d,%d,%d,%d)" % ( color.red(), color.green(), color.blue(), alpha, ) return color class SimpleColorEditor(BaseSimpleEditor): """ Simple style of color editor, which displays a text field whose background color is the color value. Selecting the text field displays a dialog box for selecting a new color value. """ def popup_editor(self): """ Invokes the pop-up editor for an object trait. """ color = self.factory.to_qt4_color(self) options = QtGui.QColorDialog.ShowAlphaChannel if not self.factory.use_native_dialog: options |= QtGui.QColorDialog.DontUseNativeDialog color = QtGui.QColorDialog.getColor( color, self.control, "Select Color", options ) if color.isValid(): self.value = self.factory.from_qt4_color(color) self.update_editor() def update_editor(self): """ Updates the editor when the object trait changes externally to the editor. """ super().update_editor() set_color(self) def string_value(self, color): """ Returns the text representation of a specified color value. """ return self.factory.str_color(color) class CustomColorEditor(Editor): """ Custom style of color editor, which displays a color editor panel. """ def init(self, parent): """ Finishes initializing the editor by creating the underlying toolkit widget. """ self.control, self._simple_field = color_editor_for(self, parent) def dispose(self): """ Disposes of the contents of an editor. """ if getattr(self, "_simple_field", None) is not None: self._simple_field.dispose() self._simple_field = None super().dispose() def update_editor(self): """ Updates the editor when the object trait changes externally to the editor. """ self._simple_field.update_editor() def update_object_from_swatch(self, color_text): """ Updates the object trait when a color swatch is clicked. """ color = QtGui.QColor(*[int(part) for part in color_text.split(",")]) self.value = self.factory.from_qt4_color(color) self.update_editor() def string_value(self, color): """ Returns the text representation of a specified color value. """ return self.factory.str_color(color) class TextColorEditor(BaseTextEditor): """ Text style of color editor, which displays a text field whose background color is the color value. """ def update_object(self): """ Handles the user changing the contents of the edit control. """ self.value = str(self.control.text()) set_color(self) def update_editor(self): """ Updates the editor when the object trait changes externally to the editor. """ super().update_editor() set_color(self) def string_value(self, color): """ Returns the text representation of a specified color value. """ return self.factory.str_color(color) class ReadonlyColorEditor(BaseReadonlyEditor): """ Read-only style of color editor, which displays a read-only text field whose background color is the color value. """ def init(self, parent): """ Finishes initializing the editor by creating the underlying toolkit widget. """ self.control = QtGui.QLineEdit() self.control.setReadOnly(True) def update_editor(self): """ Updates the editor when the object trait changes externally to the editor. """ super().update_editor() set_color(self) def string_value(self, color): """ Returns the text representation of a specified color value. """ return self.factory.str_color(color) # ------------------------------------------------------------------------- # Sets the color of the specified editor's color control: # ------------------------------------------------------------------------- def set_color(editor): """ Sets the color of the specified color control. """ color = editor.factory.to_qt4_color(editor) pal = QtGui.QPalette(editor.control.palette()) pal.setColor(QtGui.QPalette.Base, color) if color.red() > 192 or color.blue() > 192 or color.green() > 192: pal.setColor(QtGui.QPalette.Text, QtCore.Qt.black) else: pal.setColor(QtGui.QPalette.Text, QtCore.Qt.white) editor.control.setPalette(pal) # ---------------------------------------------------------------------------- # Creates a custom color editor panel for a specified editor: # ---------------------------------------------------------------------------- class FixedButton(QtGui.QPushButton): """ Override to work around a bug in Qt 4.7 on Macs. https://bugreports.qt-project.org/browse/QTBUG-15936 """ def hitButton(self, pos): return QtGui.QAbstractButton.hitButton(self, pos) def color_editor_for(editor, parent): """ Creates a custom color editor panel for a specified editor. """ # Create the colour samples if it hasn't already been done. if len(color_samples) == 0: color_choices = (0, 128, 192, 255) for r in color_choices: for g in color_choices: for b in (0, 128, 255): color_samples.append(QtGui.QColor(r, g, b)) root = QtGui.QWidget() panel = QtGui.QHBoxLayout(root) panel.setContentsMargins(0, 0, 0, 0) swatch_editor = editor.factory.simple_editor( editor.ui, editor.object, editor.name, editor.description, None ) swatch_editor.prepare(parent) panel.addWidget(swatch_editor.control) # Add all of the color choice buttons: grid = QtGui.QGridLayout() grid.setSpacing(0) mapper = QtCore.QSignalMapper(panel) rows = 4 cols = len(color_samples) // rows i = 0 sheet_template = """ QPushButton { min-height: 18px; max-height: 18px; min-width: 18px; max-width: 18px; background-color: rgb(%s); } """ for r in range(rows): for c in range(cols): control = FixedButton() color = color_samples[r * cols + c] color_text = "%d,%d,%d,%d" % color.getRgb() control.setStyleSheet(sheet_template % color_text) control.setAttribute(QtCore.Qt.WA_LayoutUsesWidgetRect, True) control.clicked.connect(mapper.map) mapper.setMapping(control, color_text) grid.addWidget(control, r, c) editor.set_tooltip(control) i += 1 mapper.mapped[str].connect(editor.update_object_from_swatch) panel.addLayout(grid) return root, swatch_editor # Define the SimpleEditor, CustomEditor, etc. classes which are used by the # editor factory for the color editor. SimpleEditor = SimpleColorEditor CustomEditor = CustomColorEditor TextEditor = TextColorEditor ReadonlyEditor = ReadonlyColorEditor traitsui-7.2.1/traitsui/qt4/constants.py0000644000076500000240000000345514046644454020760 0ustar aayresstaff00000000000000# (C) Copyright 2008-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! # ------------------------------------------------------------------------------ # Copyright (c) 2007, Riverbank Computing Limited # All rights reserved. # # This software is provided without warranty under the terms of the BSD license. # However, when used with the GPL version of PyQt the additional terms # described in the PyQt GPL exception also apply # # Author: Riverbank Computing Limited # ------------------------------------------------------------------------------ """ Defines constants used by the PyQt implementation of the various text editors and text editor factories. """ from pyface.qt import QtGui from pyface.api import SystemMetrics _palette = QtGui.QApplication.palette() # Default dialog title DefaultTitle = "Edit properties" # Color of valid input OKColor = _palette.color(QtGui.QPalette.Base) # Color to highlight input errors ErrorColor = QtGui.QColor(255, 192, 192) # Color for background of read-only fields ReadonlyColor = QtGui.QColor(244, 243, 238) # Color for background of fields where objects can be dropped DropColor = QtGui.QColor(215, 242, 255) # Color for an editable field EditableColor = _palette.color(QtGui.QPalette.Base) # Color for background of windows (like dialog background color) WindowColor = _palette.color(QtGui.QPalette.Window) del _palette #: Screen width screen_dx = SystemMetrics().screen_width #: Screen height screen_dy = SystemMetrics().screen_height traitsui-7.2.1/traitsui/qt4/video_editor.py0000644000076500000240000003472114046644454021420 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! """Traits UI 'display only' video editor.""" from pyface.qt.QtCore import QPoint, Qt, QUrl, Signal from pyface.qt.QtGui import QImage, QPainter, QPalette, QSizePolicy from pyface.qt.QtMultimedia import (QAbstractVideoBuffer, QAbstractVideoSurface, QAudio, QMediaContent, QMediaPlayer, QVideoFrame) from pyface.qt.QtMultimediaWidgets import QVideoWidget from traits.api import Bool, Callable, Float, Instance, Range, Str, observe from traitsui.editors.video_editor import AspectRatio, MediaStatus, PlayerState from .editor import Editor #: Map from ApectRatio enum values to Qt aspect ratio behaviours. aspect_ratio_map = { 'ignore': Qt.IgnoreAspectRatio, 'keep': Qt.KeepAspectRatio, 'expand': Qt.KeepAspectRatioByExpanding, } #: Map from PlayerState enum values to QMediaPlayer states. state_map = { 'stopped': QMediaPlayer.StoppedState, 'playing': QMediaPlayer.PlayingState, 'paused': QMediaPlayer.PausedState, } #: Map from QMediaPlayer states to PlayerState enum values. reversed_state_map = {value: key for key, value in state_map.items()} #: Map from QMediaPlayer media status values to MediaStatus enum values. media_status_map = { QMediaPlayer.UnknownMediaStatus: 'unknown', QMediaPlayer.NoMedia: 'no_media', QMediaPlayer.LoadingMedia: 'loading', QMediaPlayer.LoadedMedia: 'loaded', QMediaPlayer.StalledMedia: 'stalled', QMediaPlayer.BufferingMedia: 'buffering', QMediaPlayer.BufferedMedia: 'buffered', QMediaPlayer.EndOfMedia: 'end', QMediaPlayer.InvalidMedia: 'invalid', } class ImageWidget(QVideoWidget): """ Paints a QImage to the window body. """ def __init__(self, parent=None, image_func=None): import numpy as np super().__init__(parent) self.image = QImage() self._np_image = np.zeros(shape=(0, 0, 4)) self.painter = None self.resizeEvent(None) if image_func is None: def I_fun(image, bbox): # Don't bother with creating an ndarray version return image, self._np_image self.image_func = I_fun else: self.image_func = image_func def resizeEvent(self, event): s = self.size() self.width = s.width() self.height = s.height() def setImage(self, image): self.image, self._np_image = self.image_func( image, (self.width, self.height) ) self.update() def paintEvent(self, event): super().paintEvent(event) if self.painter is None: self.painter = QPainter() self.painter.begin(self) if self.image: self.painter.drawImage(QPoint(0, 0), self.image) self.painter.end() class VideoSurface(QAbstractVideoSurface): frameAvailable = Signal(['QImage']) def __init__(self, widget=None): super().__init__() self.widget = widget def supportedPixelFormats(self, handleType): return [QVideoFrame.Format_RGB32] def present(self, frame): cloned_frame = QVideoFrame(frame) cloned_frame.map(QAbstractVideoBuffer.ReadOnly) image = QImage( cloned_frame.bits(), cloned_frame.width(), cloned_frame.height(), cloned_frame.bytesPerLine(), QVideoFrame.imageFormatFromPixelFormat(cloned_frame.pixelFormat()) ) self.frameAvailable.emit(image) return True class VideoEditor(Editor): """Traits UI 'display only' video editor. This editor uses the Qt QMultimedia machinery to display video streams to the screen. Rather than being self-contained, the editor only concerns itself with displaying the video, and provides traits that control behaviour and provide internal state of the control during playback. """ #: Does the drawing onto the image plane control = Instance(QVideoWidget) #: Handles the image pulling so the frames can be processed. surface = Instance(QAbstractVideoSurface) #: The QMediaObject that holds the connection to the video stream. media_content = Instance(QMediaContent) #: The QMediaPlayer that controls playback of the video stream. media_player = Instance(QMediaPlayer) #: The aspect ratio of the video editor. aspect_ratio = AspectRatio() #: The current state of the player, synchronized to the trait named #: by factory.state. state = PlayerState() #: The current playback position of the player, synchronized to the trait #: named by factory.position. position = Float() #: The total duration of the current video, synchronized to the trait #: named by factory.duration. duration = Float() #: The media player playback status (loading, buffering, etc.), #: synchronized to the trait named by factory.media_status. media_status = MediaStatus() #: The percentage of the buffer currently filled, synchronized to the trait #: named by factory.buffer. buffer = Range(0, 100) #: A string holding the video error state, or "" if no error. Synchronized #: to the trait named by factory.video_error. video_error = Str() #: Whether the audio is muted or not, synchronized to the trait named by #: factory.muted. muted = Bool(False) #: The playback volume on a logarithmic scale (perceptually linear), #: synchronized to the trait named by factory.volume. volume = Range(0.0, 100.0) #: The playback rate. Negative values rewind the video. #: Synchronized to the trait named by factory.playback_rate. playback_rate = Float(1.0) #: Function to apply to the image. Takes ref to new frame and a size tuple. #: Synchronized to the trait named by factory.image_func. image_func = Callable() #: The change in position required for an update to be emitted. #: Synchronized to the trait named by factory.notify_interval. notify_interval = Float(1.0) def update_to_regular(self): if self.surface is not None: self.surface.frameAvailable.disconnect(self.control.setImage) self.surface = None self.control = QVideoWidget() self.control.setSizePolicy( QSizePolicy.Expanding, QSizePolicy.Expanding ) self.control.setBackgroundRole(QPalette.Window) self.media_player.setVideoOutput(self.control) def update_to_functional(self): self.control = ImageWidget(image_func=self.image_func) self.control.setSizePolicy( QSizePolicy.Expanding, QSizePolicy.Expanding ) self.control.setBackgroundRole(QPalette.Window) self.surface = VideoSurface(widget=self.control) self.surface.frameAvailable.connect(self.control.setImage) self.media_player.setVideoOutput(self.surface) # ------------------------------------------------------------------------ # Editor interface # ------------------------------------------------------------------------ def init(self, parent): """Initialize the editor by creating the underlying toolkit widget. Parameters ---------- parent : QWidget or None The parent widget for this widget. """ self.control = QVideoWidget() self.control.setSizePolicy( QSizePolicy.Expanding, QSizePolicy.Expanding ) self.control.setBackgroundRole(QPalette.Window) self.media_player = QMediaPlayer(None, QMediaPlayer.VideoSurface) self._set_video_url() self.media_player.setVideoOutput(self.control) self.media_player.setMuted(self.muted) self._update_state() self._update_aspect_ratio() self._update_muted() self._update_volume() self._update_playback_rate() self._update_notify_interval() self._connect_signals() self.set_tooltip() def dispose(self): self._disconnect_signals() if self.media_player is not None: # Avoid a segfault if the media player is currently playing self.media_player.setVideoOutput(None) super().dispose() def update_editor(self): """Update the editor when the object trait changes externally.""" self._set_video_url() # ------------------------------------------------------------------------ # Private interface # ------------------------------------------------------------------------ def _connect_signals(self): if self.media_player is not None: self.media_player.stateChanged.connect(self._state_changed_emitted) self.media_player.positionChanged.connect( self._position_changed_emitted) self.media_player.durationChanged.connect( self._duration_changed_emitted) self.media_player.error.connect(self._error_emitted) self.media_player.mediaStatusChanged.connect( self._media_status_changed_emitted) self.media_player.bufferStatusChanged.connect( self._buffer_status_changed_emitted) self.media_player.notifyIntervalChanged.connect( self._notify_interval_changed_emitted) def _disconnect_signals(self): if self.media_player is not None: self.media_player.stateChanged.disconnect( self._state_changed_emitted) self.media_player.positionChanged.disconnect( self._position_changed_emitted) self.media_player.durationChanged.disconnect( self._duration_changed_emitted) self.media_player.error.disconnect(self._error_emitted) self.media_player.mediaStatusChanged.disconnect( self._media_status_changed_emitted) self.media_player.bufferStatusChanged.disconnect( self._buffer_status_changed_emitted) self.media_player.notifyIntervalChanged.disconnect( self._notify_interval_changed_emitted) def _set_video_url(self): qurl = QUrl.fromUserInput(self.value) if qurl.isValid(): self.media_content = QMediaContent(qurl) self.control.updateGeometry() else: self.media_content = QMediaContent(None) self.control.updateGeometry() # Signal handlers ------------------------------------------------------- def _state_changed_emitted(self, state): self.state = reversed_state_map[state] def _position_changed_emitted(self, position): # Avoid telling Qt about the new position in `_position_changed` with self.updating_value(): self.position = position / 1000.0 def _duration_changed_emitted(self, duration): self.duration = duration / 1000.0 def _error_emitted(self, error): if error != QMediaPlayer.NoError: self.video_error = self.media_player.errorString() else: self.video_error = '' def _media_status_changed_emitted(self, error): self.media_status = media_status_map[self.media_player.mediaStatus()] def _buffer_status_changed_emitted(self, error): self.buffer = self.media_player.bufferStatus() def _notify_interval_changed_emitted(self, interval): self.notify_interval = interval / 1000.0 # Trait change handlers ------------------------------------------------- @observe('aspect_ratio') def _aspect_ratio_observer(self, event): if self.control is not None: self._update_aspect_ratio() @observe('image_func') def _image_func_observer(self, event): if self.image_func is None: self.update_to_regular() else: self.update_to_functional() @observe('media_content') def _media_content_observer(self, event): self.video_error = '' if self.media_player is not None: self.media_player.setMedia(self.media_content) @observe('muted') def _muted_observer(self, event): if self.media_player is not None: self._update_muted() @observe('playback_rate') def _playback_rate_observer(self, event): if self.media_player is not None: self._update_playback_rate() @observe('position') def _position_observer(self, event): if self.media_player is not None and not self.updating: # position is given in ms self.media_player.setPosition(int(self.position * 1000)) @observe('state') def _state_observer(self, event): if self.media_player is not None: self._update_state() @observe('volume') def _volume_observer(self, event): if self.media_player is not None: self._update_volume() @observe('notify_interval') def _notify_interval_observer(self, event): if self.media_player is not None: self._update_notify_interval() # MediaPlayer management ------------------------------------------------ def _update_aspect_ratio(self): self.control.setAspectRatioMode(aspect_ratio_map[self.aspect_ratio]) def _update_muted(self): self.media_player.setMuted(self.muted) def _update_playback_rate(self): self.media_player.setPlaybackRate(self.playback_rate) def _update_state(self): if self.state == 'stopped': self.media_player.stop() self.control.repaint() elif self.state == 'playing': # XXX forcing a resize so video is scaled correctly on MacOS s = self.control.size() w = s.width() h = s.height() self.media_player.play() self.control.resize(w+1, h+1) self.control.resize(w, h) elif self.state == 'paused': self.media_player.pause() def _update_volume(self): linear_volume = QAudio.convertVolume( self.volume/100.0, QAudio.LogarithmicVolumeScale, QAudio.LinearVolumeScale, ) self.media_player.setVolume(int(linear_volume * 100)) def _update_notify_interval(self): # interval is given in ms interval = int(self.notify_interval * 1000) self.media_player.setNotifyInterval(interval) traitsui-7.2.1/traitsui/qt4/null_editor.py0000644000076500000240000000166314046644454021263 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! """ Defines a completely empty editor, intended to be used as a spacer. """ from pyface.qt import QtGui from .editor import Editor class NullEditor(Editor): """ A completely empty editor. """ def init(self, parent): """ Finishes initializing the editor by creating the underlying toolkit widget. """ self.control = QtGui.QWidget() def update_editor(self): """ Updates the editor when the object trait changes externally to the editor. """ pass traitsui-7.2.1/traitsui/qt4/tests/0000755000076500000240000000000014046644526017525 5ustar aayresstaff00000000000000traitsui-7.2.1/traitsui/qt4/tests/test_helper.py0000644000076500000240000001045414046644454022421 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! import textwrap import unittest from pyface.qt import QtGui from traitsui.tests._tools import requires_toolkit, ToolkitName from traitsui.qt4.helper import wrap_text_with_elision from traitsui.qt4.font_trait import create_traitsfont lorem_ipsum = ( "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod " "tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim " "veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea " "commodo consequat.\n" " \n" "Duis aute irure dolor in reprehenderit in voluptate velit esse cillum " "dolore eu fugiat nulla pariatur.\n" "Excepteur sint occaecat cupidatat non proident, sunt in culpa qui " "officia deserunt mollit anim id est laborum." ) def get_expected_lines(text, width): expected_lines = [] for paragraph in text.splitlines(): if not paragraph.strip(): expected_lines.append("") continue expected_lines += textwrap.wrap(paragraph, width) return expected_lines @requires_toolkit([ToolkitName.qt]) class TestWrapText(unittest.TestCase): def test_wrap_text_basic(self): font = create_traitsfont("Courier") font_metrics = QtGui.QFontMetrics(font) average_char_width = font_metrics.averageCharWidth() line_spacing = font_metrics.lineSpacing() width = 500 * average_char_width height = 100 * line_spacing lines = wrap_text_with_elision(lorem_ipsum, font, width, height) self.assertEqual( lines, [line.rstrip() for line in lorem_ipsum.splitlines()] ) def test_wrap_text_empty(self): font = create_traitsfont("Courier") font_metrics = QtGui.QFontMetrics(font) average_char_width = font_metrics.averageCharWidth() line_spacing = font_metrics.lineSpacing() width = 500 * average_char_width height = 100 * line_spacing lines = wrap_text_with_elision("", font, width, height) self.assertEqual(lines, []) def test_wrap_text_narrow(self): font = create_traitsfont("Courier") font_metrics = QtGui.QFontMetrics(font) average_char_width = font_metrics.averageCharWidth() line_spacing = font_metrics.lineSpacing() width = 20 * average_char_width height = 100 * line_spacing lines = wrap_text_with_elision(lorem_ipsum, font, width, height) # add one char slack as depends on OS, exact font, etc. self.assertTrue(all(len(line) <= 21 for line in lines)) def test_wrap_text_narrow_short(self): font = create_traitsfont("Courier") font_metrics = QtGui.QFontMetrics(font) average_char_width = font_metrics.averageCharWidth() line_spacing = font_metrics.lineSpacing() width = 20 * average_char_width height = 20 * line_spacing lines = wrap_text_with_elision(lorem_ipsum, font, width, height) # add one char slack as depends on OS, exact font, etc. self.assertTrue(all(len(line) <= 21 for line in lines)) # different os elide the last line slightly differently, # just check end of last line shows elision. # In most systems elision is marked with ellipsis # but it has been reported as "..." on NetBSD. if lines[19][-1] == ".": self.assertEqual(lines[19][-3:], "...") else: self.assertEqual(lines[19][-1], "\u2026") def test_wrap_text_short(self): font = create_traitsfont("Courier") font_metrics = QtGui.QFontMetrics(font) average_char_width = font_metrics.averageCharWidth() line_spacing = font_metrics.lineSpacing() width = 500 * average_char_width height = 3 * line_spacing lines = wrap_text_with_elision(lorem_ipsum, font, width, height) expected_lines = get_expected_lines(lorem_ipsum, 500)[:3] self.assertEqual(lines, expected_lines) traitsui-7.2.1/traitsui/qt4/tests/test_ui_base.py0000644000076500000240000000255614046644454022555 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! import unittest from traits.api import HasTraits, Int from traitsui.api import Item, View from traitsui.tests._tools import ( create_ui, requires_toolkit, ToolkitName, ) class ObjectWithNumber(HasTraits): number = Int() @requires_toolkit([ToolkitName.qt]) class TestStickyDialog(unittest.TestCase): """ Test _StickyDialog used by the UI's Qt backend. """ def test_sticky_dialog_with_parent(self): obj = ObjectWithNumber() obj2 = ObjectWithNumber() parent_view = View(Item("number"), title="Parent") nested = View( Item("number"), resizable=True, title="Nested" ) with create_ui(obj, dict(view=parent_view)) as ui: with create_ui(obj2, dict(parent=ui.control, view=nested)) as ui2: from pyface.qt import QtCore self.assertFalse( ui2.control.windowFlags() & QtCore.Qt.WindowMaximized ) traitsui-7.2.1/traitsui/qt4/tests/test_ui_panel.py0000644000076500000240000002122014046644454022727 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! import unittest from traits.api import Enum, HasTraits, Int, Str, Instance from traitsui.api import HGroup, Item, Group, VGroup, View from traitsui.menu import ToolBar, Action from traitsui.testing.api import Index, IsVisible, MouseClick, UITester from traitsui.tests._tools import ( create_ui, requires_toolkit, process_cascade_events, ToolkitName, ) class FooPanel(HasTraits): my_int = Int(2) my_str = Str("I am a panel/subpanel") toolbar = Instance(ToolBar) def default_traits_view(self): view = View( Item(name="my_int"), Item(name="my_str"), title="FooPanel", buttons=["OK", "Cancel"], toolbar=self.toolbar, ) return view def _toolbar_default(self): return ToolBar(Action(name="Open file")) class FooDialog(HasTraits): panel1 = Instance(FooPanel) panel2 = Instance(FooPanel) view = View( Group(Item("panel1"), Item("panel2"), layout="split", style="custom") ) def _panel1_default(self): return FooPanel() def _panel2_default(self): return FooPanel() class ScrollableGroupExample(HasTraits): my_int = Int(2) my_str = Str("The group is scrollable") scrollable_group_view = View( Group( Item(name="my_int"), Item(name="my_str"), scrollable=True, ), title="FooPanel", kind='subpanel', ) non_scrollable_group_view = View( Group( Item(name="my_int"), Item(name="my_str"), scrollable=False, ), title="FooPanel", kind='subpanel', ) scrollable_group_box_view = View( Group( Item(name="my_int"), Item(name="my_str"), scrollable=True, label="Scrollable View", show_border=True, ), title="FooPanel", kind='subpanel', ) scrollable_labelled_group_view = View( Group( Item(name="my_int"), Item(name="my_str"), scrollable=True, label="Scrollable View", ), title="FooPanel", kind='subpanel', ) class ScrollableGroupVisibleWhen(HasTraits): bar = Str("bar!") baz = Str("Baz?") enabled = Enum("Yes", "No") def default_traits_view(self): view = View( Item("enabled"), HGroup( VGroup( Item("bar"), scrollable=True, visible_when="enabled=='Yes'", id='bar_group' ), VGroup( Item("baz"), scrollable=True, visible_when="enabled=='No'", id='baz_group' ), ), ) return view @requires_toolkit([ToolkitName.qt]) class TestUIPanel(unittest.TestCase): def setup_qt4_dock_window(self): from pyface.qt import QtGui # set up the dock window for qt main_window = QtGui.QMainWindow() self.addCleanup(process_cascade_events) self.addCleanup(main_window.close) dock = QtGui.QDockWidget("testing", main_window) dock.setWidget(QtGui.QMainWindow()) return main_window, dock def test_panel_has_toolbar_buttons_qt4(self): from pyface.qt import QtGui _, dock = self.setup_qt4_dock_window() # add panel panel = FooPanel() with create_ui(panel, dict(parent=dock.widget(), kind="panel")) as ui: dock.widget().setCentralWidget(ui.control) # There should be a toolbar for the panel self.assertIsNotNone(dock.findChild(QtGui.QToolBar)) # There should be buttons too # Not searching from dock because the dock panel has buttons for # popping up and closing the panel self.assertIsNotNone(ui.control.findChild(QtGui.QPushButton)) def test_subpanel_has_toolbar_no_buttons_qt4(self): from pyface.qt import QtGui _, dock = self.setup_qt4_dock_window() # add panel panel = FooPanel() parent = dock.widget() with create_ui(panel, dict(parent=parent, kind="subpanel")) as ui: dock.widget().setCentralWidget(ui.control) # There should be a toolbar for the subpanel self.assertIsNotNone(dock.findChild(QtGui.QToolBar)) # Buttons should not be shown for subpanel # Not searching from dock because the dock panel has buttons for # popping up and closing the panel self.assertIsNone(ui.control.findChild(QtGui.QPushButton)) def test_subpanel_no_toolbar_nor_button_in_widget(self): from pyface.qt import QtGui # FooDialog uses a QWidget to contain the panels # No attempt should be made for adding the toolbars foo_window = FooDialog() with create_ui(foo_window) as ui: # No toolbar for the dialog self.assertIsNone(ui.control.findChild(QtGui.QToolBar)) # No button self.assertIsNone(ui.control.findChild(QtGui.QPushButton)) # regression test for enthought/traitsui#1512 def test_scrollable_group_visible_when(self): from pyface.qt import QtGui obj = ScrollableGroupVisibleWhen() tester = UITester() with tester.create_ui(obj) as ui: bar_group = tester.find_by_id(ui, 'bar_group') baz_group = tester.find_by_id(ui, 'baz_group') # for a scrollable group the GroupEditors control should be a # QScrollArea not just the QWidget. We want the full area to be # not visible, not just the text box widget. self.assertIsInstance(bar_group._target.control, QtGui.QScrollArea) self.assertIsInstance(baz_group._target.control, QtGui.QScrollArea) self.assertTrue(bar_group.inspect(IsVisible())) self.assertFalse(baz_group.inspect(IsVisible())) enabled_box = tester.find_by_name(ui, 'enabled') baz_item = enabled_box.locate(Index(1)) baz_item.perform(MouseClick()) self.assertTrue(baz_group.inspect(IsVisible())) self.assertFalse(bar_group.inspect(IsVisible())) @requires_toolkit([ToolkitName.qt]) class TestPanelLayout(unittest.TestCase): def test_scrollable_group_typical(self): from pyface.qt import QtGui example = ScrollableGroupExample() ui = example.edit_traits(view=scrollable_group_view) try: mainwindow = ui.control.layout().itemAt(0).widget() scroll_area = mainwindow.centralWidget() self.assertIsInstance(scroll_area, QtGui.QScrollArea) content = scroll_area.widget() self.assertEqual(type(content), QtGui.QWidget) finally: ui.dispose() def test_scrollable_group_box(self): from pyface.qt import QtGui example = ScrollableGroupExample() ui = example.edit_traits(view=scrollable_group_box_view) try: mainwindow = ui.control.layout().itemAt(0).widget() scroll_area = mainwindow.centralWidget() self.assertIsInstance(scroll_area, QtGui.QScrollArea) group_box = scroll_area.widget() self.assertIsInstance(group_box, QtGui.QGroupBox) self.assertEqual(group_box.title(), "Scrollable View") finally: ui.dispose() def test_scrollable_labelled_group(self): from pyface.qt import QtGui example = ScrollableGroupExample() ui = example.edit_traits(view=scrollable_labelled_group_view) try: mainwindow = ui.control.layout().itemAt(0).widget() scroll_area = mainwindow.centralWidget() self.assertIsInstance(scroll_area, QtGui.QScrollArea) content = scroll_area.widget() self.assertEqual(type(content), QtGui.QWidget) finally: ui.dispose() def test_non_scrollable_group_typical(self): from pyface.qt import QtGui example = ScrollableGroupExample(my_str="The group is not scrollable") ui = example.edit_traits(view=non_scrollable_group_view) try: mainwindow = ui.control.layout().itemAt(0).widget() content = mainwindow.centralWidget() self.assertEqual(type(content), QtGui.QWidget) finally: ui.dispose() traitsui-7.2.1/traitsui/qt4/tests/__init__.py0000644000076500000240000000000014046644454021624 0ustar aayresstaff00000000000000traitsui-7.2.1/traitsui/qt4/tests/test_tabular_model.py0000644000076500000240000001345314046644454023756 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! """ Tests for TabularModel (an implementation of QAbstractTableModel) """ import unittest from traits.api import HasTraits, List, Str from traitsui.api import Item, TabularEditor, View from traitsui.tabular_adapter import TabularAdapter from traitsui.tests._tools import ( BaseTestMixin, create_ui, is_qt, requires_toolkit, reraise_exceptions, ToolkitName, ) try: from pyface.qt import QtCore except ImportError: # The entire test case should be skipped if the current backend is not Qt # But if it is Qt, then re-raise if is_qt(): raise class DummyHasTraits(HasTraits): names = List(Str) def get_view(adapter): return View( Item( "names", editor=TabularEditor( adapter=adapter, ), ) ) @requires_toolkit([ToolkitName.qt]) class TestTabularModel(BaseTestMixin, unittest.TestCase): def setUp(self): BaseTestMixin.setUp(self) def tearDown(self): BaseTestMixin.tearDown(self) def test_drop_mime_data_below_list(self): # Test dragging an item in the list and drop it below the last item obj = DummyHasTraits(names=["A", "B", "C", "D"]) view = get_view(TabularAdapter(columns=["Name"])) with reraise_exceptions(), \ create_ui(obj, dict(view=view)) as ui: editor, = ui.get_editors("names") model = editor.model # sanity check self.assertEqual(model.rowCount(None), 4) # drag and drop row=1 from within the table. # drag creates a PyMimeData object for dropMimeData to consume. index = model.createIndex(1, 0) mime_data = model.mimeData([index]) # when # dropped below the list, the "parent" is invalid. parent = QtCore.QModelIndex() # invalid index object model.dropMimeData(mime_data, QtCore.Qt.MoveAction, -1, -1, parent) # then mime_data = model.mimeData( [model.createIndex(i, 0) for i in range(model.rowCount(None),)] ) content = mime_data.instance() self.assertEqual(content, ["A", "C", "D", "B"]) self.assertEqual(obj.names, content) def test_drop_mime_data_within_list(self): # Test dragging an item in the list and drop it somewhere within the # list obj = DummyHasTraits(names=["A", "B", "C", "D"]) view = get_view(TabularAdapter(columns=["Name"])) with reraise_exceptions(), \ create_ui(obj, dict(view=view)) as ui: editor, = ui.get_editors("names") model = editor.model # sanity check self.assertEqual(model.rowCount(None), 4) # drag and drop from within the table. # drag row index 0 index = model.createIndex(0, 0) mime_data = model.mimeData([index]) # when # drop it to row index 2 parent = model.createIndex(2, 0) model.dropMimeData(mime_data, QtCore.Qt.MoveAction, -1, -1, parent) # then mime_data = model.mimeData( [model.createIndex(i, 0) for i in range(model.rowCount(None),)] ) content = mime_data.instance() self.assertEqual(content, ["B", "C", "A", "D"]) self.assertEqual(obj.names, content) def test_copy_item(self): # Test copy 'A' to the row after 'C' obj = DummyHasTraits(names=["A", "B", "C"]) view = get_view(TabularAdapter(columns=["Name"], can_drop=True)) with reraise_exceptions(), \ create_ui(obj, dict(view=view)) as ui: editor, = ui.get_editors("names") model = editor.model # sanity check self.assertEqual(model.rowCount(None), 3) # drag and drop from within the table for copy action. # drag index 0 index = model.createIndex(0, 0) mime_data = model.mimeData([index]) # when # drop to index 2 parent = model.createIndex(2, 0) model.dropMimeData(mime_data, QtCore.Qt.CopyAction, -1, -1, parent) # then self.assertEqual(model.rowCount(None), 4) mime_data = model.mimeData( [model.createIndex(i, 0) for i in range(model.rowCount(None),)] ) content = mime_data.instance() self.assertEqual(content, ["A", "B", "C", "A"]) self.assertEqual(obj.names, content) def test_move_rows_invalid_index(self): # Test the last resort to prevent segfault obj = DummyHasTraits(names=["A", "B", "C"]) view = get_view(TabularAdapter(columns=["Name"])) with reraise_exceptions(), \ create_ui(obj, dict(view=view)) as ui: editor, = ui.get_editors("names") model = editor.model # sanity check self.assertEqual(model.rowCount(None), 3) # when # -1 is an invalid row. This should not cause segfault. model.moveRows([1], -1) # then mime_data = model.mimeData( [model.createIndex(i, 0) for i in range(model.rowCount(None),)] ) content = mime_data.instance() self.assertEqual(content, ["A", "C", "B"]) self.assertEqual(obj.names, content) traitsui-7.2.1/traitsui/qt4/shell_editor.py0000644000076500000240000000162414046644454021415 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! """ Editor that displays an interactive Python shell. """ from traitsui.editors.shell_editor import _ShellEditor as BaseShellEditor from .editor import Editor # ------------------------------------------------------------------------- # 'ShellEditor' class: # ------------------------------------------------------------------------- class _ShellEditor(BaseShellEditor, Editor): """ Editor that displays an interactive Python shell. """ def init(self, parent): super().init(None) traitsui-7.2.1/traitsui/qt4/__init__.py0000644000076500000240000000267214046644454020503 0ustar aayresstaff00000000000000# (C) Copyright 2008-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! # ------------------------------------------------------------------------------ # Copyright (c) 2007, Riverbank Computing Limited # All rights reserved. # # This software is provided without warranty under the terms of the BSD license. # However, when used with the GPL version of PyQt the additional terms # described in the PyQt GPL exception also apply # # Author: Riverbank Computing Limited # ------------------------------------------------------------------------------ """ Defines the concrete implementations of the traits Toolkit interface for the PyQt user interface toolkit. """ # import pyface.qt before anything else is done so the sipapi # can be set correctly if needed import pyface.qt # ---------------------------------------------------------------------------- # Define the reference to the exported GUIToolkit object: # ---------------------------------------------------------------------------- from . import toolkit # Reference to the GUIToolkit object for Qt. toolkit = toolkit.GUIToolkit("traitsui", "qt4", "traitsui.qt4") traitsui-7.2.1/traitsui/qt4/html_editor.py0000644000076500000240000001161114046644454021247 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! """ Defines the HTML "editor" for the QT4 user interface toolkit. HTML editors interpret and display HTML-formatted text, but do not modify it. """ import webbrowser from pyface.qt import QtCore, QtGui from traits.api import Str from .editor import Editor try: from pyface.qt import QtWebKit # Subclass of QWebPage for QtWebEngine support class ExternallyOpeningWebPage(QtWebKit.QWebPage): """ QWebEnginePage subclass that opens links in system browser This subclass is only used when we are given a QWebEnginePage which is pretending to be a QWebPage and we want the open_external feature of the Editor. This overrides the acceptNavigationRequest method to open links in an external browser. All other navigation requests are handled internally as per the base class. """ def acceptNavigationRequest(self, url, type, isMainFrame): if type == QtWebKit.QWebPage.NavigationTypeLinkClicked: webbrowser.open_new(url.toString()) return False else: return super().acceptNavigationRequest(url, type, isMainFrame) WebView = QtWebKit.QWebView HAS_WEB_VIEW = True except Exception: WebView = QtGui.QTextBrowser HAS_WEB_VIEW = False # ------------------------------------------------------------------------- # 'SimpleEditor' class: # ------------------------------------------------------------------------- class SimpleEditor(Editor): """ Simple style editor for HTML. """ # ------------------------------------------------------------------------- # Trait definitions: # ------------------------------------------------------------------------- #: Is the HTML editor scrollable? This values override the default. scrollable = True #: External objects referenced in the HTML are relative to this URL base_url = Str() def init(self, parent): """ Finishes initializing the editor by creating the underlying toolkit widget. """ self.control = WebView() self.control.setSizePolicy( QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Expanding ) if self.factory.open_externally: if HAS_WEB_VIEW: page = self.control.page() if hasattr(page, 'setLinkDelegationPolicy'): # QtWebKit page.setLinkDelegationPolicy( QtWebKit.QWebPage.DelegateAllLinks ) page.linkClicked.connect(self._link_clicked) else: # QtWebEngine pretending to be QtWebKit # We need the subclass defined above instead of the # regular web page so that links are opened externally page = ExternallyOpeningWebPage(self.control) self.control.setPage(page) else: # take over handling clicks on links self.control.setOpenLinks(False) self.control.anchorClicked.connect(self._link_clicked) self.base_url = self.factory.base_url self.sync_value(self.factory.base_url_name, "base_url", "from") def dispose(self): """ Disposes of the contents of an editor. """ if self.control is not None and self.factory.open_externally: if HAS_WEB_VIEW: page = self.control.page() if hasattr(page, 'setLinkDelegationPolicy'): # QtWebKit-only cleanup page.linkClicked.disconnect(self._link_clicked) else: # QTextBrowser clean-up self.control.anchorClicked.disconnect(self._link_clicked) super().dispose() def update_editor(self): """ Updates the editor when the object trait changes external to the editor. """ text = self.str_value if self.factory.format_text: text = self.factory.parse_text(text) if self.base_url and HAS_WEB_VIEW: url = self.base_url if not url.endswith("/"): url += "/" self.control.setHtml(text, QtCore.QUrl.fromLocalFile(url)) else: self.control.setHtml(text) # -- Event Handlers ------------------------------------------------------- def _base_url_changed(self): self.update_editor() def _link_clicked(self, url): webbrowser.open_new(url.toString()) traitsui-7.2.1/traitsui/qt4/ui_base.py0000644000076500000240000003174614046644454020357 0ustar aayresstaff00000000000000# (C) Copyright 2008-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! # ------------------------------------------------------------------------------ # Copyright (c) 2007, Riverbank Computing Limited # All rights reserved. # # This software is provided without warranty under the terms of the BSD license. # However, when used with the GPL version of PyQt the additional terms # described in the PyQt GPL exception also apply # # Author: Riverbank Computing Limited # ------------------------------------------------------------------------------ """Defines the base class for the PyQt-based Traits UI modal and non-modal dialogs. """ from pyface.qt import QtCore, QtGui from traits.api import HasPrivateTraits, Instance from traitsui.base_panel import BasePanel as _BasePanel from traitsui.menu import Action from .constants import DefaultTitle from .editor import Editor from .helper import restore_window, save_window class ButtonEditor(Editor): """ Editor for buttons. """ # ------------------------------------------------------------------------- # Trait definitions: # ------------------------------------------------------------------------- #: Action associated with the button action = Instance(Action) def __init__(self, **traits): # XXX Why does this need to be an Editor subclass? -- CJW HasPrivateTraits.__init__(self, **traits) def perform(self): """ Handles the associated button being clicked. """ handler = self.ui.handler self.ui.do_undoable(handler.perform, self.ui.info, self.action, None) class BasePanel(_BasePanel): """Base class for Traits UI panels. """ def add_button( self, action, bbox, role, method=None, enabled=True, name=None, default=False, ): """ Creates a button. """ ui = self.ui if (action.defined_when != "") and ( not ui.eval_when(action.defined_when) ): return None if name is None: name = action.name id = action.id button = bbox.addButton(name, role) button.setAutoDefault(False) button.setDefault(default) button.setEnabled(enabled) if (method is None) or (action.enabled_when != "") or (id != ""): editor = ButtonEditor(ui=ui, action=action, control=button) if id != "": ui.info.bind(id, editor) if action.visible_when != "": ui.add_visible(action.visible_when, editor) if action.enabled_when != "": ui.add_enabled(action.enabled_when, editor) if method is None: method = editor.perform if method is not None: button.clicked.connect(method) if action.tooltip != "": button.setToolTip(action.tooltip) return button def _on_undoable(self, event): """Handles a change to the "undoable" state of the undo history """ state = event.new self.undo.setEnabled(state) def _on_redoable(self, event): """Handles a change to the "redoable" state of the undo history. """ state = event.new self.redo.setEnabled(state) def _on_revertable(self, event): """ Handles a change to the "revert" state. """ state = event.new self.revert.setEnabled(state) class _StickyDialog(QtGui.QDialog): """A QDialog that will only close if the traits handler allows it.""" def __init__(self, ui, parent): """Initialise the dialog.""" QtGui.QDialog.__init__(self, parent) # Create the main window so we can add toolbars etc. self._mw = QtGui.QMainWindow() layout = QtGui.QVBoxLayout() layout.setContentsMargins(0, 0, 0, 0) layout.addWidget(self._mw) self.setLayout(layout) # Set the dialog's window flags and properties. # On some X11 window managers, using the Dialog flag instead of # just the Window flag could cause the subsequent minimize and maximize # button hint to be ignored such that those actions are not # available (but the window can still be resize unless the size # constraint is fixed). On some X11 window managers, having two # _StickyDialog open where one has a Window flag and other has a Dialog # flag results in the latter (Dialog) to be always placed on top of # the former (Window). flags = QtCore.Qt.Window if not ui.view.resizable: flags |= QtCore.Qt.WindowSystemMenuHint layout.setSizeConstraint(QtGui.QLayout.SetFixedSize) try: flags |= QtCore.Qt.WindowCloseButtonHint if ui.view.resizable: flags |= ( QtCore.Qt.WindowMinimizeButtonHint | QtCore.Qt.WindowMaximizeButtonHint ) except AttributeError: # Either PyQt or Qt is too old. pass self.setWindowFlags(flags) self._ui = ui self._result = None def showEvent(self, e): self.raise_() def closeEvent(self, e): """Reimplemented to check when the clicks the window close button. (Note that QDialog doesn't get a close event when the dialog is closed in any other way.)""" if self._ok_to_close(): QtGui.QDialog.closeEvent(self, e) else: # Ignore the event thereby keeping the dialog open. e.ignore() def keyPressEvent(self, e): """Reimplemented to ignore the Escape key if appropriate, and to ignore the Enter key if no default button has been explicitly set.""" if ( e.key() in (QtCore.Qt.Key_Enter, QtCore.Qt.Key_Return) and not self._ui.view.default_button ): return if e.key() == QtCore.Qt.Key_Escape and not self._ok_to_close(): return QtGui.QDialog.keyPressEvent(self, e) def sizeHint(self): """Reimplemented to provide an appropriate size hint for the window. """ size = QtGui.QDialog.sizeHint(self) view = self._ui.view if view.width > 0: size.setWidth(view.width) if view.height > 0: size.setHeight(view.height) return size def done(self, r): """Reimplemented to ignore calls to accept() or reject() if appropriate.""" # If we already have a result then we already know that we are done. if self._result is not None: QtGui.QDialog.done(self, self._result) elif self._ok_to_close(bool(r)): QtGui.QDialog.done(self, r) def _ok_to_close(self, is_ok=None): """Let the handler decide if the dialog should be closed.""" # The is_ok flag is also the dialog result. If we don't know it then # the the user closed the dialog other than by an 'Ok' or 'Cancel' # button. if is_ok is None: # Use the view's default, if there is one. is_ok = self._ui.view.close_result if is_ok is None: # There is no default, so use False for a modal dialog and True # for a non-modal one. is_ok = not self.isModal() ok_to_close = self._ui.handler.close(self._ui.info, is_ok) if ok_to_close: # Save the result now. self._result = is_ok return ok_to_close class BaseDialog(BasePanel): """Base class for Traits UI dialog boxes.""" #: The different dialog styles. NONMODAL, MODAL, POPUP = list(range(3)) def init(self, ui, parent, style): """Initialise the dialog by creating the controls.""" raise NotImplementedError def create_dialog(self, parent, style): """Create the dialog control.""" self.control = control = _StickyDialog(self.ui, parent) view = self.ui.view control.setModal(style == BaseDialog.MODAL) control.setWindowTitle(view.title or DefaultTitle) control.finished.connect(self._on_finished) def add_contents(self, panel, buttons): """Add a panel (either a widget, layout or None) and optional buttons to the dialog.""" # If the panel is a layout then provide a widget for it. if isinstance(panel, QtGui.QLayout): w = QtGui.QWidget() panel.setContentsMargins(0, 0, 0, 0) w.setLayout(panel) panel = w if panel is not None: self.control._mw.setCentralWidget(panel) # Add the optional buttons. if buttons is not None: self.control.layout().addWidget(buttons) # Add the menu bar, tool bar and status bar (if any). self._add_menubar() self._add_toolbar() self._add_statusbar() def close(self, rc=True): """Close the dialog and set the given return code.""" self.ui.dispose(rc) self.ui = self.control = None @staticmethod def display_ui(ui, parent, style): """Display the UI.""" ui.owner.init(ui, parent, style) ui.control = ui.owner.control ui.control._parent = parent try: ui.prepare_ui() except BaseException: ui.control.setParent(None) ui.control.ui = None ui.control = None ui.owner = None ui.result = False raise ui.handler.position(ui.info) restore_window(ui) # if an item asked for initial focus, give it to them if ui._focus_control is not None: ui._focus_control.setFocus() ui._focus_control = None if style == BaseDialog.NONMODAL: ui.control.show() else: ui.control.setWindowModality(QtCore.Qt.ApplicationModal) ui.control.exec_() def set_icon(self, icon=None): """Sets the dialog's icon.""" from pyface.image_resource import ImageResource if not isinstance(icon, ImageResource): icon = self.default_icon() self.control.setWindowIcon(icon.create_icon()) def _on_error(self, event): """Handles editing errors.""" errors = event.new self.ok.setEnabled(errors == 0) def _add_menubar(self): """Adds a menu bar to the dialog. """ menubar = self.ui.view.menubar if menubar is not None: self._last_group = self._last_parent = None self.control.layout().setMenuBar( menubar.create_menu_bar(self.control, self) ) self._last_group = self._last_parent = None def _add_toolbar(self): """ Adds a toolbar to the dialog. """ toolbar = self.ui.view.toolbar if toolbar is not None: self._last_group = self._last_parent = None qt_toolbar = toolbar.create_tool_bar(self.control, self) qt_toolbar.setMovable(False) self.control._mw.addToolBar(qt_toolbar) self._last_group = self._last_parent = None def _add_statusbar(self): """ Adds a statusbar to the dialog. """ if self.ui.view.statusbar is not None: control = QtGui.QStatusBar() control.setSizeGripEnabled(self.ui.view.resizable) listeners = [] for item in self.ui.view.statusbar: # Create the status widget with initial text name = item.name item_control = QtGui.QLabel() item_control.setText(self.ui.get_extended_value(name)) # Add the widget to the control with correct size width = abs(item.width) stretch = 0 if width <= 1.0: stretch = int(100 * width) else: item_control.setMinimumWidth(width) control.addWidget(item_control, stretch) # Set up event listener for updating the status text col = name.find(".") obj = "object" if col >= 0: obj = name[:col] name = name[col + 1 :] obj = self.ui.context[obj] set_text = self._set_status_text(item_control) obj.observe(set_text, name, dispatch="ui") listeners.append((obj, set_text, name)) self.control._mw.setStatusBar(control) self.ui._statusbar = listeners def _set_status_text(self, control): """ Helper function for _add_statusbar. """ def set_status_text(event): text = event.new control.setText(text) return set_status_text traitsui-7.2.1/traitsui/qt4/tree_editor.py0000644000076500000240000017542214046644454021255 0ustar aayresstaff00000000000000# (C) Copyright 2008-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! # ------------------------------------------------------------------------------ # Copyright (c) 2007, Riverbank Computing Limited # All rights reserved. # # This software is provided without warranty under the terms of the BSD license. # However, when used with the GPL version of PyQt the additional terms # described in the PyQt GPL exception also apply # # Author: Riverbank Computing Limited # ------------------------------------------------------------------------------ """ Defines the tree editor for the PyQt user interface toolkit. """ import copy import collections.abc from itertools import zip_longest import logging from pyface.qt import QtCore, QtGui from pyface.api import ImageResource from pyface.ui_traits import convert_image from pyface.timer.api import do_later from traits.api import Any, Event, Int from traitsui.editors.tree_editor import ( CopyAction, CutAction, DeleteAction, NewAction, PasteAction, RenameAction, ) from traitsui.tree_node import ( ITreeNodeAdapterBridge, MultiTreeNode, ObjectTreeNode, TreeNode, ) from traitsui.menu import Menu, Action, Separator from traitsui.ui_traits import SequenceTypes from traitsui.undo import ListUndoItem from .clipboard import clipboard, PyMimeData from .editor import Editor from .helper import pixmap_cache from .tree_node_renderers import WordWrapRenderer logger = logging.getLogger(__name__) # The renderer to use when word_wrap is True. DEFAULT_WRAP_RENDERER = WordWrapRenderer() class SimpleEditor(Editor): """ Simple style of tree editor. """ # ------------------------------------------------------------------------- # Trait definitions: # ------------------------------------------------------------------------- #: Is the tree editor is scrollable? This value overrides the default. scrollable = True #: Allows an external agent to set the tree selection selection = Event() #: The currently selected object selected = Any() #: The event fired when a tree node is activated by double clicking or #: pressing the Enter key on a node. activated = Event() #: The event fired when a tree node is clicked on: click = Event() #: The event fired when a tree node is double-clicked on: dclick = Event() #: The event fired when the application wants to veto an operation: veto = Event() #: The vent fired when the application wants to refresh the viewport. refresh = Event() def init(self, parent): """ Finishes initializing the editor by creating the underlying toolkit widget. """ factory = self.factory self._editor = None if factory.editable: # Check to see if the tree view is based on a shared trait editor: if factory.shared_editor: factory_editor = factory.editor # If this is the editor that defines the trait editor panel: if factory_editor is None: # Remember which editor has the trait editor in the # factory: factory._editor = self # Create the trait editor panel: self.control = sa = QtGui.QScrollArea() sa.setFrameShape(QtGui.QFrame.NoFrame) sa.setWidgetResizable(True) self.control._node_ui = self.control._editor_nid = None # Check to see if there are any existing editors that are # waiting to be bound to the trait editor panel: editors = factory._shared_editors if editors is not None: for editor in factory._shared_editors: # If the editor is part of this UI: if editor.ui is self.ui: # Then bind it to the trait editor panel: editor._editor = self.control # Indicate all pending editors have been processed: factory._shared_editors = None # We only needed to build the trait editor panel, so exit: return # Check to see if the matching trait editor panel has been # created yet: editor = factory_editor._editor if (editor is None) or (editor.ui is not self.ui): # If not, add ourselves to the list of pending editors: shared_editors = factory_editor._shared_editors if shared_editors is None: factory_editor._shared_editors = shared_editors = [] shared_editors.append(self) else: # Otherwise, bind our trait editor panel to the shared one: self._editor = editor.control # Finally, create only the tree control: self.control = self._tree = _TreeWidget(self) else: # If editable, create a tree control and an editor panel: self._tree = _TreeWidget(self) self._editor = sa = QtGui.QScrollArea() sa.setFrameShape(QtGui.QFrame.NoFrame) sa.setWidgetResizable(True) sa._node_ui = sa._editor_nid = None if factory.orientation == "horizontal": orient = QtCore.Qt.Horizontal else: orient = QtCore.Qt.Vertical self.control = splitter = QtGui.QSplitter(orient) splitter.setSizePolicy( QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Expanding ) splitter.addWidget(self._tree) splitter.addWidget(sa) else: # Otherwise, just create the tree control: self.control = self._tree = _TreeWidget(self) # Create our item delegate delegate = TreeItemDelegate() delegate.editor = self self._tree.setItemDelegate(delegate) # From Qt Docs: QAbstractItemView does not take ownership of `delegate` self._item_delegate = delegate # Set up the mapping between objects and tree id's: self._map = {} # Initialize the 'undo state' stack: self._undoable = [] # Synchronize external object traits with the editor: self.sync_value(factory.refresh, "refresh") self.sync_value(factory.selected, "selected") self.sync_value(factory.activated, "activated", "to") self.sync_value(factory.click, "click", "to") self.sync_value(factory.dclick, "dclick", "to") self.sync_value(factory.veto, "veto", "from") def _selection_changed(self, selection): """ Handles the **selection** event. """ try: tree = self._tree if not isinstance(selection, str) and isinstance( selection, collections.abc.Iterable ): item_selection = QtGui.QItemSelection() for sel in selection: item = self._object_info(sel)[2] idx = tree.indexFromItem(item) item_selection.append(QtGui.QItemSelectionRange(idx)) tree.selectionModel().select( item_selection, QtGui.QItemSelectionModel.ClearAndSelect ) else: tree.setCurrentItem(self._object_info(selection)[2]) except: from traitsui.api import raise_to_debug raise_to_debug() def _selected_changed(self, selected): """ Handles the **selected** trait being changed. """ if not self._no_update_selected: self._selection_changed(selected) def _veto_changed(self): """ Handles the 'veto' event being fired. """ self._veto = True def _refresh_changed(self): """ Update the viewport. """ self._tree.viewport().update() def dispose(self): """ Disposes of the contents of an editor. """ if self._tree is not None: # Stop the chatter (specifically about the changing selection). self._tree.blockSignals(True) self._delete_node(self._tree.invisibleRootItem()) self._tree = None super().dispose() def expand_levels(self, nid, levels, expand=True): """ Expands from the specified node the specified number of sub-levels. """ if levels > 0: expanded, node, object = self._get_node_data(nid) if self._has_children(node, object): self._expand_node(nid) if expand: nid.setExpanded(True) for cnid in self._nodes_for(nid): self.expand_levels(cnid, levels - 1) def update_editor(self): """ Updates the editor when the object trait changes externally to the editor. """ tree = self._tree if tree is None: return saved_state = {} object, node = self._node_for(self.old_value) old_nid = self._get_object_nid(object, node.get_children_id(object)) if old_nid: self._delete_node(old_nid) object, node = self._node_for(self.old_value) old_nid = self._get_object_nid(object, node.get_children_id(object)) if old_nid: self._delete_node(old_nid) tree.clear() self._map = {} object, node = self._node_for(self.value) if node is not None: if self.factory.hide_root: nid = tree.invisibleRootItem() else: nid = self._create_item(tree, node, object) self._map[id(object)] = [(node.get_children_id(object), nid)] self._add_listeners(node, object) self._set_node_data(nid, (False, node, object)) if self.factory.hide_root or self._has_children(node, object): self._expand_node(nid) if not self.factory.hide_root: nid.setExpanded(True) tree.setCurrentItem(nid) self.expand_levels(nid, self.factory.auto_open, False) ncolumns = self._tree.columnCount() if ncolumns > 1: for i in range(ncolumns): self._tree.resizeColumnToContents(i) # FIXME: Clear the current editor (if any)... def get_error_control(self): """ Returns the editor's control for indicating error status. """ return self._tree def _get_brush(self, color): if isinstance(color, SequenceTypes): q_color = QtGui.QColor(*color) else: q_color = QtGui.QColor(color) return QtGui.QBrush(q_color) def _set_column_labels(self, nid, node, object): """ Set the column labels. """ column_labels = node.get_column_labels(object) for i, (header, label) in enumerate( zip_longest(self.factory.column_headers[1:], column_labels), 1 ): renderer = node.get_renderer(object, i) handles_text = renderer.handles_text if renderer else False if header is None or label is None or handles_text: nid.setText(i, "") else: nid.setText(i, label) def _create_item(self, nid, node, object, index=None): """ Create a new TreeWidgetItem as per word_wrap policy. Index is the index of the new node in the parent: None implies append the child to the end. """ if index is None: cnid = QtGui.QTreeWidgetItem(nid) else: cnid = QtGui.QTreeWidgetItem() nid.insertChild(index, cnid) renderer = node.get_renderer(object) handles_text = getattr(renderer, "handles_text", False) handles_icon = getattr(renderer, "handles_icon", False) if not (self.factory.word_wrap or handles_text): cnid.setText(0, node.get_label(object)) if not handles_icon: cnid.setIcon(0, self._get_icon(node, object)) cnid.setToolTip(0, node.get_tooltip(object)) self._set_column_labels(cnid, node, object) color = node.get_background(object) if color: cnid.setBackground(0, self._get_brush(color)) color = node.get_foreground(object) if color: cnid.setForeground(0, self._get_brush(color)) return cnid def _set_label(self, nid, col=0): """ Set the label of the specified item """ if col != 0: # these are handled by _set_column_labels return expanded, node, object = self._get_node_data(nid) renderer = node.get_renderer(object) handles_text = getattr(renderer, "handles_text", False) if self.factory.word_wrap or handles_text: nid.setText(col, "") else: nid.setText(col, node.get_label(object)) def _append_node(self, nid, node, object): """ Appends a new node to the specified node. """ return self._insert_node(nid, None, node, object) def _insert_node(self, nid, index, node, object): """ Inserts a new node before a specified index into the children of the specified node. """ cnid = self._create_item(nid, node, object, index) has_children = self._has_children(node, object) self._set_node_data(cnid, (False, node, object)) self._map.setdefault(id(object), []).append( (node.get_children_id(object), cnid) ) self._add_listeners(node, object) # Automatically expand the new node (if requested): if has_children: if node.can_auto_open(object): cnid.setExpanded(True) else: # Qt only draws the control that expands the tree if there is a # child. As the tree is being populated lazily we create a # dummy that will be removed when the node is expanded for the # first time. cnid._dummy = QtGui.QTreeWidgetItem(cnid) # Return the newly created node: return cnid def _delete_node(self, nid): """ Deletes a specified tree node and all its children. """ for cnid in self._nodes_for(nid): self._delete_node(cnid) # See if it is a dummy. pnid = nid.parent() if pnid is not None and getattr(pnid, "_dummy", None) is nid: pnid.removeChild(nid) del pnid._dummy return try: expanded, node, object = self._get_node_data(nid) except AttributeError: # The node has already been deleted. pass else: id_object = id(object) object_info = self._map[id_object] for i, info in enumerate(object_info): # QTreeWidgetItem does not have an equal operator, so use id() if id(nid) == id(info[1]): del object_info[i] break if len(object_info) == 0: self._remove_listeners(node, object) del self._map[id_object] if pnid is None: self._tree.takeTopLevelItem(self._tree.indexOfTopLevelItem(nid)) else: pnid.removeChild(nid) # If the deleted node had an active editor panel showing, remove it: # Note: QTreeWidgetItem does not have an equal operator, so use id() if (self._editor is not None) and ( id(nid) == id(self._editor._editor_nid) ): self._clear_editor() def _expand_node(self, nid): """ Expands the contents of a specified node (if required). """ expanded, node, object = self._get_node_data(nid) # Lazily populate the item's children: if not expanded: # Remove any dummy node. dummy = getattr(nid, "_dummy", None) if dummy is not None: nid.removeChild(dummy) del nid._dummy for child in node.get_children(object): child, child_node = self._node_for(child) if child_node is not None: self._append_node(nid, child_node, child) # Indicate the item is now populated: self._set_node_data(nid, (True, node, object)) def _nodes_for(self, nid): """ Returns all child node ids of a specified node id. """ return [nid.child(i) for i in range(nid.childCount())] def _node_index(self, nid): pnid = nid.parent() if pnid is None: if self.factory.hide_root: pnid = self._tree.invisibleRootItem() if pnid is None: return (None, None, None) for i in range(pnid.childCount()): if pnid.child(i) is nid: _, pnode, pobject = self._get_node_data(pnid) return (pnode, pobject, i) else: # doesn't match any node, so return None return (None, None, None) def _has_children(self, node, object): """ Returns whether a specified object has any children. """ return node.allows_children(object) and node.has_children(object) # ------------------------------------------------------------------------- # Returns the icon index for the specified object: # ------------------------------------------------------------------------- STD_ICON_MAP = { "": QtGui.QStyle.SP_FileIcon, "": QtGui.QStyle.SP_DirClosedIcon, "": QtGui.QStyle.SP_DirOpenIcon, } def _get_icon(self, node, object, is_expanded=False): """ Returns the index of the specified object icon. """ if not self.factory.show_icons: return QtGui.QIcon() icon_name = node.get_icon(object, is_expanded) if isinstance(icon_name, str): if icon_name.startswith("@"): image_resource = convert_image(icon_name, 4) return image_resource.create_icon() elif icon_name in self.STD_ICON_MAP: icon = self.STD_ICON_MAP[icon_name] return self._tree.style().standardIcon(icon) path = node.get_icon_path(object) if isinstance(path, str): path = [path, node] else: path = path + [node] image_resource = ImageResource(icon_name, path) elif isinstance(icon_name, ImageResource): image_resource = icon_name elif isinstance(icon_name, tuple): if max(icon_name) <= 1.0: # rgb(a) color tuple between 0.0 and 1.0 color = QtGui.QColor.fromRgbF(*icon_name) else: # rgb(a) color tuple between 0 and 255 color = QtGui.QColor.fromRgb(*icon_name) return self._icon_from_color(color) elif isinstance(icon_name, QtGui.QColor): return self._icon_from_color(icon_name) else: raise ValueError( "Icon value must be a string or color or color tuple or " + "IImageResource instance: " + "given {!r}".format(icon_name) ) file_name = image_resource.absolute_path return QtGui.QIcon(pixmap_cache(file_name)) def _icon_from_color(self, color): """ Create a square icon filled with the given color. """ pixmap = QtGui.QPixmap(self._tree.iconSize()) pixmap.fill(color) return QtGui.QIcon(pixmap) def _add_listeners(self, node, object): """ Adds the event listeners for a specified object. """ if node.allows_children(object): node.when_children_replaced(object, self._children_replaced, False) node.when_children_changed(object, self._children_updated, False) node.when_label_changed(object, self._label_updated, False) node.when_column_labels_change( object, self._column_labels_updated, False ) def _remove_listeners(self, node, object): """ Removes any event listeners from a specified object. """ if node.allows_children(object): node.when_children_replaced(object, self._children_replaced, True) node.when_children_changed(object, self._children_updated, True) node.when_label_changed(object, self._label_updated, True) node.when_column_labels_change( object, self._column_labels_updated, True ) def _object_info(self, object, name=""): """ Returns the tree node data for a specified object in the form ( expanded, node, nid ). """ info = self._map[id(object)] for name2, nid in info: if name == name2: break else: nid = info[0][1] expanded, node, ignore = self._get_node_data(nid) return (expanded, node, nid) def _object_info_for(self, object, name=""): """ Returns the tree node data for a specified object as a list of the form: [ ( expanded, node, nid ), ... ]. """ result = [] for name2, nid in self._map[id(object)]: if name == name2: expanded, node, ignore = self._get_node_data(nid) result.append((expanded, node, nid)) return result def _node_for(self, object): """ Returns the TreeNode associated with a specified object. """ if ( (isinstance(object, tuple)) and (len(object) == 2) and isinstance(object[1], TreeNode) ): return object # Select all nodes which understand this object: factory = self.factory nodes = [node for node in factory.nodes if node.is_node_for(object)] # If only one found, we're done, return it: if len(nodes) == 1: return (object, nodes[0]) # If none found, give up: if len(nodes) == 0: return (object, ITreeNodeAdapterBridge(adapter=object)) # Use all selected nodes that have the same 'node_for' list as the # first selected node: base = nodes[0].node_for nodes = [node for node in nodes if base == node.node_for] # If only one left, then return that node: if len(nodes) == 1: return (object, nodes[0]) # Otherwise, return a MultiTreeNode based on all selected nodes... # Use the node with no specified children as the root node. If not # found, just use the first selected node as the 'root node': root_node = None for i, node in enumerate(nodes): if node.children == "": root_node = node del nodes[i] break else: root_node = nodes[0] # If we have a matching MultiTreeNode already cached, return it: key = (root_node,) + tuple(nodes) if key in factory.multi_nodes: return (object, factory.multi_nodes[key]) # Otherwise create one, cache it, and return it: factory.multi_nodes[key] = multi_node = MultiTreeNode( root_node=root_node, nodes=nodes ) return (object, multi_node) def _node_for_class(self, klass): """ Returns the TreeNode associated with a specified class. """ for node in self.factory.nodes: if issubclass(klass, tuple(node.node_for)): return node return None def _update_icon(self, nid): """ Updates the icon for a specified node. """ expanded, node, object = self._get_node_data(nid) renderer = node.get_renderer(object) if renderer is None or not renderer.handles_icon: nid.setIcon(0, self._get_icon(node, object, expanded)) else: nid.setIcon(0, QtGui.QIcon()) def _begin_undo(self): """ Begins an "undoable" transaction. """ ui = self.ui self._undoable.append(ui._undoable) if (ui._undoable == -1) and (ui.history is not None): ui._undoable = ui.history.now def _end_undo(self): if self._undoable.pop() == -1: self.ui._undoable = -1 def _get_undo_item(self, object, name, event): return ListUndoItem( object=object, name=name, index=event.index, added=event.added, removed=event.removed, ) def _undoable_append(self, node, object, data, make_copy=True): """ Performs an undoable append operation. """ try: self._begin_undo() if make_copy: data = copy.deepcopy(data) node.append_child(object, data) finally: self._end_undo() def _undoable_insert(self, node, object, index, data, make_copy=True): """ Performs an undoable insert operation. """ try: self._begin_undo() if make_copy: data = copy.deepcopy(data) node.insert_child(object, index, data) finally: self._end_undo() def _undoable_delete(self, node, object, index): """ Performs an undoable delete operation. """ try: self._begin_undo() node.delete_child(object, index) finally: self._end_undo() def _get_object_nid(self, object, name=""): """ Gets the ID associated with a specified object (if any). """ info = self._map.get(id(object)) if info is None: return None for name2, nid in info: if name == name2: return nid else: return info[0][1] def _clear_editor(self): """ Clears the current editor pane (if any). """ editor = self._editor if editor._node_ui is not None: editor.setWidget(None) editor._node_ui.dispose() editor._node_ui = editor._editor_nid = None # ------------------------------------------------------------------------- # Gets/Sets the node specific data: # ------------------------------------------------------------------------- @staticmethod def _get_node_data(nid): """ Gets the node specific data. """ return nid._py_data @staticmethod def _set_node_data(nid, data): """ Sets the node specific data. """ nid._py_data = data # ----- User callable methods: -------------------------------------------- def get_object(self, nid): """ Gets the object associated with a specified node. """ return self._get_node_data(nid)[2] def get_parent(self, object, name=""): """ Returns the object that is the immmediate parent of a specified object in the tree. """ nid = self._get_object_nid(object, name) if nid is not None: pnid = nid.parent() if pnid is not self._tree.invisibleRootItem(): return self.get_object(pnid) return None def get_node(self, object, name=""): """ Returns the node associated with a specified object. """ nid = self._get_object_nid(object, name) if nid is not None: return self._get_node_data(nid)[1] return None # ----- Tree event handlers: ---------------------------------------------- def _on_item_expanded(self, nid): """ Handles a tree node being expanded. """ expanded, node, object = self._get_node_data(nid) # If 'auto_close' requested for this node type, close all of the node's # siblings: if node.can_auto_close(object): parent = nid.parent() if parent is not None: for snid in self._nodes_for(parent): if snid is not nid: snid.setExpanded(False) # Expand the node (i.e. populate its children if they are not there # yet): self._expand_node(nid) self._update_icon(nid) def _on_item_collapsed(self, nid): """ Handles a tree node being collapsed. """ self._update_icon(nid) def _on_item_clicked(self, nid, col): """ Handles a tree item being clicked. """ _, node, object = self._get_node_data(nid) if node.click(object) is True and self.factory.on_click is not None: self.ui.evaluate(self.factory.on_click, object) # Fire the 'click' event with the object as its value: self.click = object def _on_item_dclicked(self, nid, col): """ Handles a tree item being double-clicked. """ _, node, object = self._get_node_data(nid) if node.dclick(object) is True: if self.factory.on_dclick is not None: self.ui.evaluate(self.factory.on_dclick, object) self._veto = True else: self._veto = True # Fire the 'dclick' event with the clicked on object as value: self.dclick = object def _on_item_activated(self, nid, col): """ Handles a tree item being activated. """ _, node, object = self._get_node_data(nid) if node.activated(object) is True: if self.factory.on_activated is not None: self.ui.evaluate(self.factory.on_activated, object) self._veto = True else: self._veto = True # Fire the 'activated' event with the clicked on object as value: self.activated = object def _on_tree_sel_changed(self): """ Handles a tree node being selected. """ # Get the new selection: nids = self._tree.selectedItems() selected = [] if len(nids) > 0: for nid in nids: # If there is a real selection, get the associated object: expanded, node, sel_object = self._get_node_data(nid) selected.append(sel_object) # Try to inform the node specific handler of the selection, if # there are multiple selections, we only care about the first # (or maybe the last makes more sense?) # QTreeWidgetItem does not have an equal operator, so use id() if id(nid) == id(nids[0]): object = sel_object not_handled = node.select(sel_object) else: nid = None object = None not_handled = True # Set the value of the new selection: if self.factory.selection_mode == "single": self._no_update_selected = True self.selected = object self._no_update_selected = False else: self._no_update_selected = True self.selected = selected self._no_update_selected = False # If no one has been notified of the selection yet, inform the editor's # select handler (if any) of the new selection: if not_handled is True: self.ui.evaluate(self.factory.on_select, object) # Check to see if there is an associated node editor pane: editor = self._editor if editor is not None: # If we already had a node editor, destroy it: editor.setUpdatesEnabled(False) self._clear_editor() # If there is a selected object, create a new editor for it: if object is not None: # Try to chain the undo history to the main undo history: view = node.get_view(object) if view is None or isinstance(view, str): view = object.trait_view(view) if (self.ui.history is not None) or (view.kind == "subpanel"): ui = object.edit_traits( parent=editor, view=view, kind="subpanel" ) else: # Otherwise, just set up our own new one: ui = object.edit_traits( parent=editor, view=view, kind="panel" ) # Make our UI the parent of the new UI: ui.parent = self.ui # Remember the new editor's UI and node info: editor._node_ui = ui editor._editor_nid = nid # Finish setting up the editor: if ui.control.layout() is not None: ui.control.layout().setContentsMargins(0, 0, 0, 0) editor.setWidget(ui.control) # Allow the editor view to show any changes that have occurred: editor.setUpdatesEnabled(True) def _on_context_menu(self, pos): """ Handles the user requesting a context menuright clicking on a tree node. """ nid = self._tree.itemAt(pos) if nid is None: return _, node, object = self._get_node_data(nid) self._data = (node, object, nid) self._context = { "object": object, "editor": self, "node": node, "info": self.ui.info, "handler": self.ui.handler, } # Try to get the parent node of the node clicked on: pnid = nid.parent() if pnid is None or pnid is self._tree.invisibleRootItem(): parent_node = parent_object = None else: _, parent_node, parent_object = self._get_node_data(pnid) self._menu_node = node self._menu_parent_node = parent_node self._menu_parent_object = parent_object menu = node.get_menu(object) if menu is None: # Use the standard, default menu: menu = self._standard_menu(node, object) elif isinstance(menu, Menu): # Use the menu specified by the node: group = menu.find_group(NewAction) if group is not None: # Only set it the first time: group.id = "" actions = self._new_actions(node, object) if len(actions) > 0: group.insert(0, Menu(name="New", *actions)) else: # All other values mean no menu should be displayed: menu = None # Only display the menu if a valid menu is defined: if menu is not None: qmenu = menu.create_menu(self._tree, self) qmenu.exec_(self._tree.mapToGlobal(pos)) # Reset all menu related cached values: self._data = ( self._context ) = ( self._menu_node ) = self._menu_parent_node = self._menu_parent_object = None def _standard_menu(self, node, object): """ Returns the standard contextual pop-up menu. """ actions = [ CutAction, CopyAction, PasteAction, Separator(), DeleteAction, Separator(), RenameAction, ] # See if the 'New' menu section should be added: items = self._new_actions(node, object) if len(items) > 0: actions[0:0] = [Menu(name="New", *items), Separator()] return Menu(*actions) def _new_actions(self, node, object): """ Returns a list of Actions that will create new objects. """ object = self._data[1] items = [] add = node.get_add(object) # return early if there are no items to be added in the tree if len(add) == 0: return items for klass in add: prompt = False factory = None if isinstance(klass, tuple): if len(klass) == 2: klass, prompt = klass elif len(klass) == 3: klass, prompt, factory = klass add_node = self._node_for_class(klass) if add_node is None: continue class_name = klass.__name__ name = add_node.get_name(object) if name == "": name = class_name if factory is None: factory = klass def perform_add(object): self._menu_new_node(factory, prompt) items.append(Action(name=name, on_perform=perform_add)) return items # ------------------------------------------------------------------------- # Menu action helper methods: # ------------------------------------------------------------------------- def _is_copyable(self, object): parent = self._menu_parent_node if isinstance(parent, ObjectTreeNode): return parent.can_copy(self._menu_parent_object) return (parent is not None) and parent.can_copy(object) def _is_cutable(self, object): parent = self._menu_parent_node if isinstance(parent, ObjectTreeNode): can_cut = parent.can_copy( self._menu_parent_object ) and parent.can_delete(self._menu_parent_object) else: can_cut = ( (parent is not None) and parent.can_copy(object) and parent.can_delete(object) ) return can_cut and self._menu_node.can_delete_me(object) def _is_pasteable(self, object): return self._menu_node.can_add(object, clipboard.instance_type) def _is_deletable(self, object): parent = self._menu_parent_node if isinstance(parent, ObjectTreeNode): can_delete = parent.can_delete(self._menu_parent_object) else: can_delete = (parent is not None) and parent.can_delete(object) return can_delete and self._menu_node.can_delete_me(object) def _is_renameable(self, object): parent = self._menu_parent_node if isinstance(parent, ObjectTreeNode): can_rename = parent.can_rename(self._menu_parent_object) else: can_rename = (parent is not None) and parent.can_rename(object) can_rename = can_rename and self._menu_node.can_rename_me(object) # Set the widget item's editable flag appropriately. nid = self._get_object_nid(object) flags = nid.flags() if can_rename: flags |= QtCore.Qt.ItemIsEditable else: flags &= ~QtCore.Qt.ItemIsEditable nid.setFlags(flags) return can_rename def _is_droppable(self, node, object, add_object, for_insert): """ Returns whether a given object is droppable on the node. """ if for_insert and (not node.can_insert(object)): return False return node.can_add(object, add_object) def _drop_object(self, node, object, dropped_object, make_copy=True): """ Returns a droppable version of a specified object. """ new_object = node.drop_object(object, dropped_object) if (new_object is not dropped_object) or (not make_copy): return new_object return copy.deepcopy(new_object) # ----- pyface.action 'controller' interface implementation: -------------- def add_to_menu(self, menu_item): """ Adds a menu item to the menu bar being constructed. """ action = menu_item.item.action self.eval_when(action.enabled_when, menu_item, "enabled") self.eval_when(action.checked_when, menu_item, "checked") def add_to_toolbar(self, toolbar_item): """ Adds a toolbar item to the toolbar being constructed. """ self.add_to_menu(toolbar_item) def can_add_to_menu(self, action): """ Returns whether the action should be defined in the user interface. """ if action.defined_when != "": if not eval(action.defined_when, globals(), self._context): return False if action.visible_when != "": if not eval(action.visible_when, globals(), self._context): return False return True def can_add_to_toolbar(self, action): """ Returns whether the toolbar action should be defined in the user interface. """ return self.can_add_to_menu(action) def perform(self, action, action_event=None): """ Performs the action described by a specified Action object. """ self.ui.do_undoable(self._perform, action) def _perform(self, action): node, object, nid = self._data method_name = action.action info = self.ui.info handler = self.ui.handler if method_name.find(".") >= 0: if method_name.find("(") < 0: method_name += "()" try: eval( method_name, globals(), { "object": object, "editor": self, "node": node, "info": info, "handler": handler, }, ) except: from traitsui.api import raise_to_debug raise_to_debug() return method = getattr(handler, method_name, None) if method is not None: method(info, object) return if action.on_perform is not None: action.on_perform(object) # ----- Menu support methods: --------------------------------------------- def eval_when(self, condition, object, trait): """ Evaluates a condition within a defined context, and sets a specified object trait based on the result, which is assumed to be a Boolean. """ if condition != "": value = True try: if not eval(condition, globals(), self._context): value = False except Exception as e: logger.warning( "Exception (%s) raised when evaluating the " "condition %s. Returning True." % (e, condition) ) setattr(object, trait, value) # ----- Menu event handlers: ---------------------------------------------- def _menu_copy_node(self): """ Copies the current tree node object to the paste buffer. """ clipboard.instance = self._data[1] self._data = None def _menu_cut_node(self): """ Cuts the current tree node object into the paste buffer. """ node, object, nid = self._data clipboard.instance = object self._data = None self._undoable_delete(*self._node_index(nid)) def _menu_paste_node(self): """ Pastes the current contents of the paste buffer into the current node. """ node, object, nid = self._data self._data = None self._undoable_append(node, object, clipboard.instance, True) def _menu_delete_node(self): """ Deletes the current node from the tree. """ node, object, nid = self._data self._data = None rc = node.confirm_delete(object) if rc is not False: if rc is not True: if self.ui.history is None: # If no undo history, ask user to confirm the delete: butn = QtGui.QMessageBox.question( self._tree, "Confirm Deletion", "Are you sure you want to delete %s?" % node.get_label(object), QtGui.QMessageBox.Yes | QtGui.QMessageBox.No, ) if butn != QtGui.QMessageBox.Yes: return self._undoable_delete(*self._node_index(nid)) def _menu_rename_node(self): """ Rename the current node. """ _, _, nid = self._data self._data = None self._tree.editItem(nid) def _on_nid_changed(self, nid, col): """ Handle changes to a widget item. """ # The node data may not have been set up for the nid yet. Ignore it if # it hasn't. try: _, node, object = self._get_node_data(nid) except: return new_label = str(nid.text(col)) old_label = node.get_label(object) if new_label != old_label: if new_label != "": node.set_label(object, new_label) else: self._set_label(nid, col) def _menu_new_node(self, factory, prompt=False): """ Adds a new object to the current node. """ node, object, nid = self._data self._data = None new_object = factory() if (not prompt) or new_object.edit_traits( parent=self.control, kind="livemodal" ).result: self._undoable_append(node, object, new_object, False) # Automatically select the new object if editing is being # performed: if self.factory.editable: self._tree.setCurrentItem(nid.child(nid.childCount() - 1)) # ----- Model event handlers: --------------------------------------------- def _children_replaced(self, object, name="", new=None): """ Handles the children of a node being completely replaced. """ tree = self._tree for expanded, node, nid in self._object_info_for(object, name): children = node.get_children(object) # Only add/remove the changes if the node has already been # expanded: if expanded: # Delete all current child nodes: for cnid in self._nodes_for(nid): self._delete_node(cnid) # Add all of the children back in as new nodes: for child in children: child, child_node = self._node_for(child) if child_node is not None: self._append_node(nid, child_node, child) else: dummy = getattr(nid, "_dummy", None) if dummy is None and len(children) > 0: # if model now has children add dummy child nid._dummy = QtGui.QTreeWidgetItem(nid) elif dummy is not None and len(children) == 0: # if model no longer has children remove dummy child nid.removeChild(dummy) del nid._dummy # Try to expand the node (if requested): if node.can_auto_open(object): nid.setExpanded(True) def _children_updated(self, object, name, event): """ Handles the children of a node being changed. """ # Log the change that was made made (removing '_items' from the end of # the name): name = name[:-6] self.log_change(self._get_undo_item, object, name, event) # Get information about the node that was changed: start = event.index n = len(event.added) end = start + len(event.removed) tree = self._tree for expanded, node, nid in self._object_info_for(object, name): children = node.get_children(object) # If the new children aren't all at the end, remove/add them all: # if (n > 0) and ((start + n) != len( children )): # self._children_replaced( object, name, event ) # return # Only add/remove the changes if the node has already been # expanded: if expanded: # Remove all of the children that were deleted: for cnid in self._nodes_for(nid)[start:end]: self._delete_node(cnid) remaining = len(children) - len(event.removed) child_index = 0 # Add all of the children that were added: for child in event.added: child, child_node = self._node_for(child) if child_node is not None: insert_index = ( (start + child_index) if (start <= remaining) else None ) self._insert_node(nid, insert_index, child_node, child) child_index += 1 else: dummy = getattr(nid, "_dummy", None) if dummy is None and len(children) > 0: # if model now has children add dummy child nid._dummy = QtGui.QTreeWidgetItem(nid) elif dummy is not None and len(children) == 0: # if model no longer has children remove dummy child nid.removeChild(dummy) del nid._dummy # Try to expand the node (if requested): if node.can_auto_open(object): nid.setExpanded(True) def _label_updated(self, object, name, label): """ Handles the label of an object being changed. """ # Prevent the itemChanged() signal from being emitted. blk = self._tree.blockSignals(True) try: # Have to use a list rather than a set because nids for PyQt # on Python 3 (QTreeWidgetItem instances) aren't hashable. # This means potentially quadratic behaviour, but the number of # nodes for a particular object shouldn't be high nids = [] for name2, nid in self._map[id(object)]: if nid not in nids: nids.append(nid) node = self._get_node_data(nid)[1] self._set_label(nid, 0) self._update_icon(nid) finally: self._tree.blockSignals(blk) def _column_labels_updated(self, object, name, new): """ Handles the column labels of an object being changed. """ # Prevent the itemChanged() signal from being emitted. blk = self._tree.blockSignals(True) try: nids = [] for name2, nid in self._map[id(object)]: if nid not in nids: nids.append(nid) node = self._get_node_data(nid)[1] self._set_column_labels(nid, node, object) finally: self._tree.blockSignals(blk) # -- UI preference save/restore interface --------------------------------- def restore_prefs(self, prefs): """ Restores any saved user preference information associated with the editor. """ if isinstance(self.control, QtGui.QSplitter): if isinstance(prefs, dict): structure = prefs.get("structure") else: structure = prefs self.control.restoreState(structure) header = self._tree.header() self.control.setExpandsOnDoubleClick(self.factory.expands_on_dclick) if header is not None and "column_state" in prefs: header.restoreState(prefs["column_state"]) def save_prefs(self): """ Returns any user preference information associated with the editor. """ prefs = {} if isinstance(self.control, QtGui.QSplitter): prefs["structure"] = self.control.saveState().data() header = self._tree.header() if header is not None: prefs["column_state"] = header.saveState().data() return prefs # -- End UI preference save/restore interface ----------------------------- class _TreeWidget(QtGui.QTreeWidget): """ The _TreeWidget class is a specialised QTreeWidget that reimplements the drag'n'drop support so that it hooks into the provided Traits support. """ def __init__(self, editor, parent=None): """ Initialise the tree widget. """ QtGui.QTreeWidget.__init__(self, parent) self.setContextMenuPolicy(QtCore.Qt.CustomContextMenu) self.setDragEnabled(True) self.setAcceptDrops(True) self.setIconSize(QtCore.QSize(*editor.factory.icon_size)) # Set up headers if necessary. column_count = len(editor.factory.column_headers) if column_count > 0: self.setHeaderHidden(False) self.setColumnCount(column_count) self.setHeaderLabels(editor.factory.column_headers) else: self.setHeaderHidden(True) self.setAlternatingRowColors(editor.factory.alternating_row_colors) padding = editor.factory.vertical_padding if padding > 0: self.setStyleSheet( """ QTreeView::item { padding-top: %spx; padding-bottom: %spx; } """ % (padding, padding) ) if editor.factory.selection_mode == "extended": self.setSelectionMode(QtGui.QAbstractItemView.ExtendedSelection) self.itemExpanded.connect(editor._on_item_expanded) self.itemCollapsed.connect(editor._on_item_collapsed) self.itemClicked.connect(editor._on_item_clicked) self.itemDoubleClicked.connect(editor._on_item_dclicked) self.itemActivated.connect(editor._on_item_activated) self.itemSelectionChanged.connect(editor._on_tree_sel_changed) self.customContextMenuRequested.connect(editor._on_context_menu) self.itemChanged.connect(editor._on_nid_changed) self._editor = editor self._dragging = None def resizeEvent(self, event): """ Overridden to emit sizeHintChanged() of items for word wrapping """ if self._editor.factory.word_wrap: for i in range(self.topLevelItemCount()): mi = self.indexFromItem(self.topLevelItem(i)) id = self.itemDelegate(mi) id.sizeHintChanged.emit(mi) super(self.__class__, self).resizeEvent(event) def startDrag(self, actions): """ Reimplemented to start the drag of a tree widget item. """ nid = self.currentItem() if nid is None: return self._dragging = nid # Calculate the hotspot so that the pixmap appears on top of the # original item. nid_rect = self.visualItemRect(nid) hspos = ( self.viewport().mapFromGlobal(QtGui.QCursor.pos()) - nid_rect.topLeft() ) _, node, object = self._editor._get_node_data(nid) # Convert the item being dragged to MIME data. drag_object = node.get_drag_object(object) md = PyMimeData.coerce(drag_object) # Render the item being dragged as a pixmap. rect = nid_rect.intersected(self.viewport().rect()) pm = QtGui.QPixmap(rect.size()) pm.fill(self.palette().base().color()) painter = QtGui.QPainter(pm) option = self.viewOptions() option.state |= QtGui.QStyle.State_Selected option.rect = QtCore.QRect( nid_rect.topLeft() - rect.topLeft(), nid_rect.size() ) self.itemDelegate().paint(painter, option, self.indexFromItem(nid)) painter.end() # Start the drag. drag = QtGui.QDrag(self) drag.setMimeData(md) drag.setPixmap(pm) drag.setHotSpot(hspos) drag.exec_(actions) def dragEnterEvent(self, e): """ Reimplemented to see if the current drag can be handled by the tree. """ # Assume the drag is invalid. e.ignore() # Check if we have a python object instance, we might be interested data = PyMimeData.coerce(e.mimeData()).instance() if data is None: return # We might be able to handle it (but it depends on what the final # target is). e.acceptProposedAction() def dragMoveEvent(self, e): """ Reimplemented to see if the current drag can be handled by the particular tree widget item underneath the cursor. """ # Assume the drag is invalid. e.ignore() action, to_node, to_object, to_index, data = self._get_action(e) if action is not None: e.acceptProposedAction() def dropEvent(self, e): """ Reimplemented to update the model and tree. """ # Assume the drop is invalid. e.ignore() editor = self._editor dragging = self._dragging self._dragging = None action, to_node, to_object, to_index, data = self._get_action(e) if action == "append": if dragging is not None: data = self._editor._drop_object( to_node, to_object, data, False ) if data is not None: try: editor._begin_undo() editor._undoable_delete(*editor._node_index(dragging)) editor._undoable_append( to_node, to_object, data, False ) finally: editor._end_undo() else: data = editor._drop_object(to_node, to_object, data, True) if data is not None: editor._undoable_append(to_node, to_object, data, False) elif action == "insert": if dragging is not None: data = editor._drop_object(to_node, to_object, data, False) if data is not None: from_node, from_object, from_index = editor._node_index( dragging ) if (to_object is from_object) and (to_index > from_index): to_index -= 1 try: editor._begin_undo() editor._undoable_delete( from_node, from_object, from_index ) editor._undoable_insert( to_node, to_object, to_index, data, False ) finally: editor._end_undo() else: data = self._editor._drop_object( to_node, to_object, data, True ) if data is not None: editor._undoable_insert( to_node, to_object, to_index, data, False ) else: return e.acceptProposedAction() def _get_action(self, event): """ Work out what action on what object to perform for a drop event """ # default values to return action = None to_node = None to_object = None to_index = None data = None editor = self._editor # Get the tree widget item under the cursor. nid = self.itemAt(event.pos()) if nid is None: if editor.factory.hide_root: nid = self.invisibleRootItem() else: return (action, to_node, to_object, to_index, data) # Check that the target is not the source of a child of the source. if self._dragging is not None: pnid = nid while pnid is not None: if pnid is self._dragging: return (action, to_node, to_object, to_index, data) pnid = pnid.parent() data = PyMimeData.coerce(event.mimeData()).instance() _, node, object = editor._get_node_data(nid) if event.proposedAction() == QtCore.Qt.MoveAction and editor._is_droppable( node, object, data, False ): # append to node being dropped on action = "append" to_node = node to_object = object to_index = None else: # get parent of node being dropped on to_node, to_object, to_index = editor._node_index(nid) if to_node is None: # no parent, can't do anything action = None elif editor._is_droppable(to_node, to_object, data, True): # insert into the parent of the node being dropped on action = "insert" elif editor._is_droppable(to_node, to_object, data, False): # append to the parent of the node being dropped on action = "append" else: # parent can't be modified, can't do anything action = None return (action, to_node, to_object, to_index, data) class TreeItemDelegate(QtGui.QStyledItemDelegate): """ A delegate class to draw wrapped text labels """ # FIXME: sizeHint() should return the size required by the label, # which is dependent on the width available, which is different for # each item due to the nested tree structure. However the option.rect # argument available to the sizeHint() is invalid (width=-1) so as a # hack sizeHintChanged is emitted in paint() and the size of drawn # text is returned, as paint() gets a valid option.rect argument. # TODO: add ability to override editor in item delegate def sizeHint(self, option, index): """ returns area taken by the text. """ column = index.column() item = self.editor._tree.itemFromIndex(index) expanded, node, instance = self.editor._get_node_data(item) column = index.column() renderer = node.get_renderer(object, column=column) if renderer is None: return super().sizeHint(option, index) size_context = (option, index) size = renderer.size(self.editor, node, column, instance, size_context) if size is None: return QtCore.QSize(1, 21) else: return QtCore.QSize(*size) def updateEditorGeometry(self, editor, option, index): """ Update the editor's geometry. """ editor.setGeometry(option.rect) def paint(self, painter, option, index): """ Render the contents of the item. """ item = self.editor._tree.itemFromIndex(index) expanded, node, instance = self.editor._get_node_data(item) column = index.column() renderer = node.get_renderer(object, column=column) if renderer is None and self.editor.factory.word_wrap: renderer = DEFAULT_WRAP_RENDERER if renderer is None: super().paint(painter, option, index) else: if not renderer.handles_all: # renderers background and selection highlights # will also render icon and text if flags are set super().paint(painter, option, index) paint_context = (painter, option, index) size = renderer.paint( self.editor, node, column, instance, paint_context ) if size is not None: do_later(self.sizeHintChanged.emit, index) traitsui-7.2.1/traitsui/qt4/rgb_color_editor.py0000644000076500000240000000523614046644454022261 0ustar aayresstaff00000000000000# (C) Copyright 2008-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! # ------------------------------------------------------------------------------ # Copyright (c) 2007, Riverbank Computing Limited # All rights reserved. # # This software is provided without warranty under the terms of the BSD license. # However, when used with the GPL version of PyQt the additional terms # described in the PyQt GPL exception also apply # # Author: Riverbank Computing Limited # ------------------------------------------------------------------------------ """ Defines a subclass of the base PyQt color editor factory, for colors that are represented as tuples of the form ( *red*, *green*, *blue* ), where *red*, *green* and *blue* are floats in the range from 0.0 to 1.0. """ from pyface.qt import QtGui from traits.trait_base import SequenceTypes # Note: The ToolkitEditorFactory class imported from color_editor is a # subclass of the abstract ToolkitEditorFactory class # (in traitsui.api) with qt4-specific methods defined. # We need to override the implementations of the qt4-specific methods here. from .color_editor import ToolkitEditorFactory as BaseColorToolkitEditorFactory # ------------------------------------------------------------------------- # The PyQt4 ToolkitEditorFactory class. # ------------------------------------------------------------------------- class ToolkitEditorFactory(BaseColorToolkitEditorFactory): """ PyQt editor factory for color editors. """ def to_qt4_color(self, editor): """ Gets the PyQt color equivalent of the object trait. """ try: color = getattr(editor.object, editor.name + "_") except AttributeError: color = getattr(editor.object, editor.name) c = QtGui.QColor() c.setRgbF(color[0], color[1], color[2]) return c def from_qt4_color(self, color): """ Gets the application equivalent of a PyQt value. """ return (color.redF(), color.greenF(), color.blueF()) def str_color(self, color): """ Returns the text representation of a specified color value. """ if type(color) in SequenceTypes: return "(%d,%d,%d)" % ( int(color[0] * 255.0), int(color[1] * 255.0), int(color[2] * 255.0), ) return color traitsui-7.2.1/traitsui/qt4/editor_factory.py0000644000076500000240000001167614046644454021765 0ustar aayresstaff00000000000000# (C) Copyright 2008-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! # ------------------------------------------------------------------------------ # Copyright (c) 2007, Riverbank Computing Limited # All rights reserved. # # This software is provided without warranty under the terms of the BSD license. # However, when used with the GPL version of PyQt the additional terms # described in the PyQt GPL exception also apply # # Author: Riverbank Computing Limited # ------------------------------------------------------------------------------ """ Defines the base PyQt classes the various styles of editors used in a Traits-based user interface. """ from pyface.qt import QtCore, QtGui from traits.api import TraitError from .editor import Editor class SimpleEditor(Editor): """ Base class for simple style editors, which displays a text field containing the text representation of the object trait value. Clicking in the text field displays an editor-specific dialog box for changing the value. """ def init(self, parent): """ Finishes initializing the editor by creating the underlying toolkit widget. """ self.control = _SimpleField(self) self.set_tooltip() # ------------------------------------------------------------------------- # Invokes the pop-up editor for an object trait: # # (Normally overridden in a subclass) # ------------------------------------------------------------------------- def popup_editor(self): """ Invokes the pop-up editor for an object trait. """ pass class TextEditor(Editor): """ Base class for text style editors, which displays an editable text field, containing a text representation of the object trait value. """ def init(self, parent): """ Finishes initializing the editor by creating the underlying toolkit widget. """ self.control = QtGui.QLineEdit(self.str_value) self.control.editingFinished.connect(self.update_object) self.set_tooltip() def dispose(self): """ Disposes of the contents of an editor. """ if self.control is not None: self.control.editingFinished.disconnect(self.update_object) super().dispose() def update_object(self): """ Handles the user changing the contents of the edit control. """ if self.control is None: return try: self.value = str(self.control.text()) except TraitError as excp: pass class ReadonlyEditor(Editor): """ Base class for read-only style editors, which displays a read-only text field, containing a text representation of the object trait value. """ # ------------------------------------------------------------------------- # Finishes initializing the editor by creating the underlying toolkit # widget: # ------------------------------------------------------------------------- text_alignment_map = { "left": QtCore.Qt.AlignLeft, "right": QtCore.Qt.AlignRight, "just": QtCore.Qt.AlignJustify, "top": QtCore.Qt.AlignLeft, "bottom": QtCore.Qt.AlignBottom, "vcenter": QtCore.Qt.AlignVCenter, "hcenter": QtCore.Qt.AlignHCenter, "center": QtCore.Qt.AlignVCenter | QtCore.Qt.AlignHCenter, } def init(self, parent): """ Finishes initializing the editor by creating the underlying toolkit widget. """ self.control = QtGui.QLabel(self.str_value) if self.item.resizable is True or self.item.height != -1.0: self.control.setWordWrap(True) alignment = None for item in self.factory.text_alignment.split(","): item_alignment = self.text_alignment_map.get(item, None) if item_alignment: if alignment: alignment = alignment | item_alignment else: alignment = item_alignment if alignment: self.control.setAlignment(alignment) self.set_tooltip() def update_editor(self): """ Updates the editor when the object trait changes externally to the editor. """ self.control.setText(self.str_value) class _SimpleField(QtGui.QLineEdit): def __init__(self, editor): QtGui.QLineEdit.__init__(self, editor.str_value) self.setReadOnly(True) self._editor = editor def mouseReleaseEvent(self, e): QtGui.QLineEdit.mouseReleaseEvent(self, e) if e.button() == QtCore.Qt.LeftButton: self._editor.popup_editor() traitsui-7.2.1/traitsui/qt4/list_editor.py0000644000076500000240000006567314046644454021277 0ustar aayresstaff00000000000000# (C) Copyright 2008-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! # ------------------------------------------------------------------------------ # Copyright (c) 2007, Riverbank Computing Limited # All rights reserved. # # This software is provided without warranty under the terms of the BSD license. # However, when used with the GPL version of PyQt the additional terms described # in the PyQt GPL exception also apply # # Author: Riverbank Computing Limited # ------------------------------------------------------------------------------ """ Defines the various list editors for the PyQt user interface toolkit. """ from pyface.qt import QtCore, QtGui from pyface.api import ImageResource from traits.api import ( Any, Bool, Callable, Dict, Instance, List, Str, TraitError ) from traits.trait_base import user_name_for, xgetattr from traitsui.editors.list_editor import ListItemProxy from .editor import Editor from .helper import IconButton from .menu import MakeMenu class SimpleEditor(Editor): """ Simple style of editor for lists, which displays a list box with only one item visible at a time. A icon next to the list box displays a menu of operations on the list. """ # ------------------------------------------------------------------------- # Trait definitions: # ------------------------------------------------------------------------- #: The kind of editor to create for each list item kind = Str() #: Is the list of items being edited mutable? mutable = Bool(True) #: Is the editor scrollable? scrollable = Bool(True) #: Signal mapper allowing to identify which icon button requested a context #: menu mapper = Instance(QtCore.QSignalMapper) buttons = List([]) _list_pane = Instance(QtGui.QWidget) # ------------------------------------------------------------------------- # Class constants: # ------------------------------------------------------------------------- #: Whether the list is displayed in a single row single_row = True # ------------------------------------------------------------------------- # Normal list item menu: # ------------------------------------------------------------------------- #: Menu for modifying the list list_menu = """ Add &Before [_menu_before]: self.add_before() Add &After [_menu_after]: self.add_after() --- &Delete [_menu_delete]: self.delete_item() --- Move &Up [_menu_up]: self.move_up() Move &Down [_menu_down]: self.move_down() Move to &Top [_menu_top]: self.move_top() Move to &Bottom [_menu_bottom]: self.move_bottom() """ # ------------------------------------------------------------------------- # Empty list item menu: # ------------------------------------------------------------------------- empty_list_menu = """ Add: self.add_empty() """ def init(self, parent): """ Finishes initializing the editor by creating the underlying toolkit widget. """ # Initialize the trait handler to use: trait_handler = self.factory.trait_handler if trait_handler is None: trait_handler = self.object.base_trait(self.name).handler self._trait_handler = trait_handler if self.scrollable: # Create a scrolled window to hold all of the list item controls: self.control = QtGui.QScrollArea() self.control.setFrameShape(QtGui.QFrame.NoFrame) self.control.setWidgetResizable(True) self._list_pane = QtGui.QWidget() else: self.control = QtGui.QWidget() self._list_pane = self.control self._list_pane.setSizePolicy( QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Expanding ) # Create a mapper to identify which icon button requested a contextmenu self.mapper = QtCore.QSignalMapper(self.control) # Create a widget with a grid layout as the container. layout = QtGui.QGridLayout(self._list_pane) layout.setAlignment(QtCore.Qt.AlignLeft | QtCore.Qt.AlignTop) layout.setContentsMargins(0, 0, 0, 0) layout.setSpacing(0) # Remember the editor to use for each individual list item: editor = self.factory.editor if editor is None: editor = trait_handler.item_trait.get_editor() self._editor = getattr(editor, self.kind) # Set up the additional 'list items changed' event handler needed for # a list based trait. Note that we want to fire the update_editor_item # only when the items in the list change and not when intermediate # traits change. Therefore, replace "." by ":" in the extended_name # when setting up the listener. extended_name = self.extended_name.replace(".", ":") self.context_object.on_trait_change( self.update_editor_item, extended_name + "_items?", dispatch="ui" ) self.set_tooltip() def dispose(self): """ Disposes of the contents of an editor. """ self._dispose_items() extended_name = self.extended_name.replace(".", ":") self.context_object.on_trait_change( self.update_editor_item, extended_name + "_items?", remove=True ) super().dispose() def update_editor(self): """ Updates the editor when the object trait changes externally to the editor. """ self.mapper = QtCore.QSignalMapper(self.control) # Disconnect the editor from any control about to be destroyed: self._dispose_items() list_pane = self._list_pane layout = list_pane.layout() # Create all of the list item trait editors: trait_handler = self._trait_handler resizable = ( trait_handler.minlen != trait_handler.maxlen ) and self.mutable item_trait = trait_handler.item_trait is_fake = resizable and (len(self.value) == 0) if is_fake: self.empty_list() else: self.buttons = [] # Asking the mapper to send the sender to the callback method self.mapper.mapped.connect(self.popup_menu) editor = self._editor for index, value in enumerate(self.value): row, column = divmod(index, self.factory.columns) # Account for the fact that we have number of # pairs column = column * 2 if resizable: # Connecting the new button to the mapper control = IconButton("list_editor.png", self.mapper.map) self.buttons.append(control) # Setting the mapping and asking it to send the index of the # sender to the callback method. Unfortunately just sending # the control does not work for PyQt (tested on 4.11) self.mapper.setMapping(control, index) layout.addWidget(control, row, column + 1) proxy = ListItemProxy( self.object, self.name, index, item_trait, value ) if resizable: control.proxy = proxy peditor = editor( self.ui, proxy, "value", self.description, list_pane ).trait_set(object_name="") peditor.prepare(list_pane) pcontrol = peditor.control pcontrol.proxy = proxy if isinstance(pcontrol, QtGui.QWidget): layout.addWidget(pcontrol, row, column) else: layout.addLayout(pcontrol, row, column) # QScrollArea can have problems if the widget being scrolled is set too # early (ie. before it contains something). if self.scrollable and self.control.widget() is None: self.control.setWidget(list_pane) def update_editor_item(self, event): """ Updates the editor when an item in the object trait changes externally to the editor. """ # If this is not a simple, single item update, rebuild entire editor: if (len(event.removed) != 1) or (len(event.added) != 1): self.update_editor() return # Otherwise, find the proxy for this index and update it with the # changed value: for control in self._list_pane.children(): if isinstance(control, QtGui.QLayout): continue proxy = control.proxy if proxy.index == event.index: proxy.value = event.added[0] break def empty_list(self): """ Creates an empty list entry (so the user can add a new item). """ # Connecting the new button to the mapper control = IconButton("list_editor.png", self.mapper.map) # Setting the mapping and asking it to send the index of the sender to # callback method. Unfortunately just sending the control does not # work for PyQt (tested on 4.11) self.mapper.setMapping(control, 0) self.mapper.mapped.connect(self.popup_empty_menu) control.is_empty = True self._cur_control = control self.buttons = [control] proxy = ListItemProxy(self.object, self.name, -1, None, None) pcontrol = QtGui.QLabel(" (Empty List)") pcontrol.proxy = control.proxy = proxy layout = self._list_pane.layout() layout.addWidget(control, 0, 1) layout.addWidget(pcontrol, 0, 0) def get_info(self): """ Returns the associated object list and current item index. """ proxy = self._cur_control.proxy return (proxy.list, proxy.index) def popup_empty_menu(self, index): """ Displays the empty list editor popup menu. """ self._cur_control = control = self.buttons[index] menu = MakeMenu(self.empty_list_menu, self, True, control).menu menu.exec_(control.mapToGlobal(QtCore.QPoint(4, 24))) def popup_menu(self, index): """ Displays the list editor popup menu. """ self._cur_control = sender = self.buttons[index] proxy = sender.proxy menu = MakeMenu(self.list_menu, self, True, sender).menu len_list = len(proxy.list) not_full = len_list < self._trait_handler.maxlen self._menu_before.enabled(not_full) self._menu_after.enabled(not_full) self._menu_delete.enabled(len_list > self._trait_handler.minlen) self._menu_up.enabled(index > 0) self._menu_top.enabled(index > 0) self._menu_down.enabled(index < (len_list - 1)) self._menu_bottom.enabled(index < (len_list - 1)) menu.exec_(sender.mapToGlobal(QtCore.QPoint(4, 24))) def add_item(self, offset): """ Adds a new value at the specified list index. """ list, index = self.get_info() index += offset item_trait = self._trait_handler.item_trait if self.factory.item_factory: value = self.factory.item_factory( *self.factory.item_factory_args, **self.factory.item_factory_kwargs ) else: value = item_trait.default_value_for(self.object, self.name) try: self.value = list[:index] + [value] + list[index:] # if the default new item is invalid, we just don't add it to the list. # traits will still give an error message, but we don't want to crash except TraitError: from traitsui.api import raise_to_debug raise_to_debug() self.update_editor() def add_before(self): """ Inserts a new item before the current item. """ self.add_item(0) def add_after(self): """ Inserts a new item after the current item. """ self.add_item(1) def add_empty(self): """ Adds a new item when the list is empty. """ list, index = self.get_info() self.add_item(0) def delete_item(self): """ Delete the current item. """ list, index = self.get_info() self.value = list[:index] + list[index + 1 :] self.update_editor() def move_up(self): """ Move the current item up one in the list. """ list, index = self.get_info() self.value = ( list[: index - 1] + [list[index], list[index - 1]] + list[index + 1 :] ) self.update_editor() def move_down(self): """ Moves the current item down one in the list. """ list, index = self.get_info() self.value = ( list[:index] + [list[index + 1], list[index]] + list[index + 2 :] ) self.update_editor() def move_top(self): """ Moves the current item to the top of the list. """ list, index = self.get_info() self.value = [list[index]] + list[:index] + list[index + 1 :] self.update_editor() def move_bottom(self): """ Moves the current item to the bottom of the list. """ list, index = self.get_info() self.value = list[:index] + list[index + 1 :] + [list[index]] self.update_editor() # -- Private Methods ------------------------------------------------------ def _dispose_items(self): """ Disposes of each current list item. """ layout = self._list_pane.layout() child = layout.takeAt(0) while child is not None: control = child.widget() if control is not None: editor = getattr(control, "_editor", None) if editor is not None: editor.dispose() editor.control = None control.deleteLater() child = layout.takeAt(0) del child # -- Trait initializers ---------------------------------------------------- def _kind_default(self): """ Returns a default value for the 'kind' trait. """ return self.factory.style + "_editor" def _mutable_default(self): """ Trait handler to set the mutable trait from the factory. """ return self.factory.mutable def _scrollable_default(self): return self.factory.scrollable class CustomEditor(SimpleEditor): """ Custom style of editor for lists, which displays the items as a series of text fields. If the list is editable, an icon next to each item displays a menu of operations on the list. """ # ------------------------------------------------------------------------- # Class constants: # ------------------------------------------------------------------------- #: Whether the list is displayed in a single row. This value overrides the #: default. single_row = False class TextEditor(CustomEditor): #: The kind of editor to create for each list item. This value overrides the #: default. kind = "text_editor" class ReadonlyEditor(CustomEditor): #: Is the list of items being edited mutable? This value overrides the #: default. mutable = False class NotebookEditor(Editor): """ An editor for lists that displays the list as a "notebook" of tabbed pages. """ #: The "Close Tab" button. close_button = Any() #: Maps tab names to QWidgets representing the tab contents #: TODO: It would be nice to be able to reuse self._pages for this, but #: its keys are not quite what we want. _pagewidgets = Dict() #: Maps names of tabs to their menu QAction instances; used to toggle #: checkboxes _action_dict = Dict() # ------------------------------------------------------------------------- # Trait definitions: # ------------------------------------------------------------------------- #: Is the notebook editor scrollable? This values overrides the default: scrollable = True #: The currently selected notebook page object: selected = Any() def init(self, parent): """ Finishes initializing the editor by creating the underlying toolkit widget. """ self._uis = [] # Create a tab widget to hold each separate object's view: self.control = QtGui.QTabWidget() self.control.currentChanged.connect(self._tab_activated) # minimal dock_style handling if self.factory.dock_style == "tab": self.control.setDocumentMode(True) self.control.tabBar().setDocumentMode(True) elif self.factory.dock_style == "vertical": self.control.setTabPosition(QtGui.QTabWidget.West) # Create the button to close tabs, if necessary: if self.factory.deletable: button = QtGui.QToolButton() button.setAutoRaise(True) button.setToolTip("Remove current tab ") button.setIcon(ImageResource("closetab").create_icon()) self.control.setCornerWidget(button, QtCore.Qt.TopRightCorner) button.clicked.connect(self.close_current) self.close_button = button if self.factory.show_notebook_menu: # Create the necessary attributes to manage hiding and revealing of # tabs via a context menu self._context_menu = QtGui.QMenu() self.control.customContextMenuRequested.connect( self._context_menu_requested ) self.control.setContextMenuPolicy(QtCore.Qt.CustomContextMenu) # Set up the additional 'list items changed' event handler needed for # a list based trait. Note that we want to fire the update_editor_item # only when the items in the list change and not when intermediate # traits change. Therefore, replace "." by ":" in the extended_name # when setting up the listener. extended_name = self.extended_name.replace(".", ":") self.context_object.on_trait_change( self.update_editor_item, extended_name + "_items?", dispatch="ui" ) # Set of selection synchronization: self.sync_value(self.factory.selected, "selected") def update_editor(self): """ Updates the editor when the object trait changes externally to the editor. """ # Destroy the views on each current notebook page: self.close_all() # Create a tab page for each object in the trait's value: for object in self.value: ui, view_object, monitoring = self._create_page(object) # Remember the page for later deletion processing: self._uis.append([ui.control, ui, view_object, monitoring]) if self.selected: self._selected_changed(self.selected) def update_editor_item(self, event): """ Handles an update to some subset of the trait's list. """ index = event.index # Delete the page corresponding to each removed item: page_name = self.factory.page_name[1:] for i in event.removed: page, ui, view_object, monitoring = self._uis[index] if monitoring: view_object.on_trait_change( self.update_page_name, page_name, remove=True ) ui.dispose() self.control.removeTab(self.control.indexOf(page)) if self.factory.show_notebook_menu: for name, tmp in self._pagewidgets.items(): if tmp is page: del self._pagewidgets[name] self._context_menu.removeAction(self._action_dict[name]) del self._action_dict[name] del self._uis[index] # Add a page for each added object: first_page = None for object in event.added: ui, view_object, monitoring = self._create_page(object) self._uis[index:index] = [ [ui.control, ui, view_object, monitoring] ] index += 1 if first_page is None: first_page = ui.control if first_page is not None: self.control.setCurrentWidget(first_page) def close_current(self, force=False): """ Closes the currently selected tab: """ widget = self.control.currentWidget() for i in range(len(self._uis)): page, ui, _, _ = self._uis[i] if page is widget: if force or ui.handler.close(ui.info, True): del self.value[i] break if self.factory.show_notebook_menu: # Find the name associated with this widget, so we can purge its action # from the menu for name, tmp in self._pagewidgets.items(): if tmp is widget: break else: # Hmm... couldn't find the widget, assume that we don't need to do # anything. return action = self._action_dict[name] self._context_menu.removeAction(action) del self._action_dict[name] del self._pagewidgets[name] return def close_all(self): """ Closes all currently open notebook pages. """ page_name = self.factory.page_name[1:] for _, ui, view_object, monitoring in self._uis: if monitoring: view_object.on_trait_change( self.update_page_name, page_name, remove=True ) ui.dispose() # Reset the list of ui's and dictionary of page name counts: self._uis = [] self._pages = {} self.control.clear() def dispose(self): """ Disposes of the contents of an editor. """ self.context_object.on_trait_change( self.update_editor_item, self.name + "_items?", remove=True ) self.close_all() super().dispose() def update_page_name(self, object, name, old, new): """ Handles the trait defining a particular page's name being changed. """ for i, value in enumerate(self._uis): page, ui, _, _ = value if object is ui.info.object: name = None handler = getattr( self.ui.handler, "%s_%s_page_name" % (self.object_name, self.name), None, ) if handler is not None: name = handler(self.ui.info, object) if name is None: name = str( xgetattr(object, self.factory.page_name[1:], "???") ) self.control.setTabText(self.control.indexOf(page), name) break def _create_page(self, object): # Create the view for the object: view_object = object factory = self.factory if factory.factory is not None: view_object = factory.factory(object) ui = view_object.edit_traits( parent=self.control, view=factory.view, kind=factory.ui_kind ).trait_set(parent=self.ui) # Get the name of the page being added to the notebook: name = "" monitoring = False prefix = "%s_%s_page_" % (self.object_name, self.name) page_name = factory.page_name if page_name[0:1] == ".": name = xgetattr(view_object, page_name[1:], None) monitoring = name is not None if monitoring: handler_name = None method = getattr(self.ui.handler, prefix + "name", None) if method is not None: handler_name = method(self.ui.info, object) if handler_name is not None: name = handler_name else: name = str(name) or "???" view_object.on_trait_change( self.update_page_name, page_name[1:], dispatch="ui" ) else: name = "" elif page_name != "": name = page_name if name == "": name = user_name_for(view_object.__class__.__name__) # Make sure the name is not a duplicate: if not monitoring: self._pages[name] = count = self._pages.get(name, 0) + 1 if count > 1: name += " %d" % count # Return the control for the ui, and whether or not its name is being # monitored: image = None method = getattr(self.ui.handler, prefix + "image", None) if method is not None: image = method(self.ui.info, object) if image is None: self.control.addTab(ui.control, name) else: self.control.addTab(ui.control, image, name) if self.factory.show_notebook_menu: newaction = self._context_menu.addAction(name) newaction.setText(name) newaction.setCheckable(True) newaction.setChecked(True) newaction.triggered.connect( lambda e, name=name: self._menu_action(e, name=name) ) self._action_dict[name] = newaction self._pagewidgets[name] = ui.control return (ui, view_object, monitoring) def _tab_activated(self, idx): """ Handles a notebook tab being "activated" (i.e. clicked on) by the user. """ widget = self.control.widget(idx) for page, ui, _, _ in self._uis: if page is widget: self.selected = ui.info.object break def _selected_changed(self, selected): """ Handles the **selected** trait being changed. """ for page, ui, _, _ in self._uis: if ui.info and selected is ui.info.object: self.control.setCurrentWidget(page) break deletable = self.factory.deletable deletable_trait = self.factory.deletable_trait if deletable and deletable_trait: enabled = xgetattr(selected, deletable_trait, True) self.close_button.setEnabled(enabled) def _context_menu_requested(self, event): self._context_menu.popup(self.control.mapToGlobal(event)) def _menu_action(self, event, name=""): """ Qt signal handler for when a item in a context menu is actually selected. Not that we get this even after the underlying value has already changed. """ action = self._action_dict[name] checked = action.isChecked() if not checked: for ndx in range(self.control.count()): if self.control.tabText(ndx) == name: self.control.removeTab(ndx) else: # TODO: Fix tab order based on the context_object's list self.control.addTab(self._pagewidgets[name], name) traitsui-7.2.1/traitsui/qt4/tuple_editor.py0000644000076500000240000000266314046644454021443 0ustar aayresstaff00000000000000# (C) Copyright 2008-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! # ------------------------------------------------------------------------------ # Copyright (c) 2007, Riverbank Computing Limited # All rights reserved. # # This software is provided without warranty under the terms of the BSD license. # However, when used with the GPL version of PyQt the additional terms # described in the PyQt GPL exception also apply # # Author: Riverbank Computing Limited # ------------------------------------------------------------------------------ """ Defines the tuple editor for the PyQt user interface toolkit. """ from traitsui.editors.tuple_editor import SimpleEditor as BaseSimpleEditor from .editor import Editor # ------------------------------------------------------------------------- # 'SimpleEditor' class: # ------------------------------------------------------------------------- class SimpleEditor(BaseSimpleEditor, Editor): """ Simple style of editor for tuples. The editor displays an editor for each of the fields in the tuple, based on the type of each field. """ pass traitsui-7.2.1/traitsui/qt4/progress_editor.py0000644000076500000240000000613014046644454022147 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! import time from pyface.qt import QtGui, QtCore from traits.api import Instance, Int, Str from traitsui.qt4.editor import Editor from pyface.ui.qt4.progress_dialog import ProgressDialog class _ProgressDialog(ProgressDialog): def close(self): """ Overwritten to disable closing. """ pass class SimpleEditor(Editor): """ Show a progress bar with all the optional goodies """ progress = Instance(_ProgressDialog) #: The message to be displayed along side the progress guage message = Str() #: The starting value min = Int() #: The ending value max = Int() # -- Editor interface ------------------------------------------------------ def init(self, parent): """ Finishes initializing the editor by creating the underlying toolkit widget. """ self.control = self.create_control(parent) factory = self.factory self.min = factory.min self.max = factory.max self.message = factory.message self.sync_value(factory.min_name, "min", "from") self.sync_value(factory.max_name, "max", "from") self.sync_value(factory.message_name, "message", "from") self.set_tooltip() def create_control(self, parent): """ Finishes initializing the editor by creating the underlying widget. """ self.progress = _ProgressDialog( title=self.factory.title, message=self.factory.message, min=self.factory.min, max=self.factory.max, can_cancel=self.factory.can_cancel, show_time=self.factory.show_time, show_percent=self.factory.show_percent, ) control = QtGui.QWidget() self.control = control layout = QtGui.QVBoxLayout(self.control) layout.setContentsMargins(0, 0, 0, 0) # The 'guts' of the dialog. self.progress._create_message(control, layout) self.progress._create_gauge(control, layout) self.progress._create_percent(control, layout) self.progress._create_timer(control, layout) self.progress._create_buttons(control, layout) return self.control def update_editor(self): """ Updates the editor when the object trait changes externally to the editor. """ self.progress.min = self.min self.progress.max = self.max self.progress.message = self.message if self.value: self.progress.update(self.value) return def _min_changed(self): self.update_editor() def _max_changed(self): self.update_editor() def _message_changed(self): self.update_editor() traitsui-7.2.1/traitsui/qt4/data_frame_editor.py0000644000076500000240000000123414046644454022366 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! from traitsui.ui_editors.data_frame_editor import ( _DataFrameEditor as BaseDataFrameEditor, ) from .ui_editor import UIEditor class _DataFrameEditor(BaseDataFrameEditor, UIEditor): """ Qt Toolkit implementation of the DataFrameEditor """ pass traitsui-7.2.1/traitsui/qt4/drop_editor.py0000644000076500000240000001120514046644454021246 0ustar aayresstaff00000000000000# (C) Copyright 2009-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! # ------------------------------------------------------------------------------ # Copyright (c) 2008, Riverbank Computing Limited # All rights reserved. # # This software is provided without warranty under the terms of the BSD license. # However, when used with the GPL version of PyQt the additional terms # described in the PyQt GPL exception also apply # # Author: Riverbank Computing Limited # ------------------------------------------------------------------------------ """ Defines a drop target editor for the PyQt user interface toolkit. A drop target editor handles drag and drop operations as a drop target. """ from pyface.qt import QtGui, QtCore from .editor import Editor as _BaseEditor from .text_editor import SimpleEditor as Editor from .constants import DropColor from .clipboard import PyMimeData, clipboard class SimpleEditor(Editor): """ Simple style of drop editor, which displays a read-only text field that contains the string representation of the object trait's value. """ #: Background color when it is OK to drop objects. ok_color = DropColor def init(self, parent): """ Finishes initializing the editor by creating the underlying toolkit widget. """ if self.factory.readonly: self.control = QtGui.QLineEdit(self.str_value) self.control.setReadOnly(True) self.set_tooltip() else: super().init(parent) pal = QtGui.QPalette(self.control.palette()) pal.setColor(QtGui.QPalette.Base, self.ok_color) self.control.setPalette(pal) # Install EventFilter on control to handle DND events. drop_event_filter = _DropEventFilter(self.control) self.control.installEventFilter(drop_event_filter) self.control._qt4_editor = self def dispose(self): """ Disposes of the content of an editor. """ if self.factory.readonly: # enthought/traitsui#884 _BaseEditor.dispose(self) else: super().dispose() def string_value(self, value): """ Returns the text representation of a specified object trait value. """ if value is None: return "" return str(value) def error(self, excp): """ Handles an error that occurs while setting the object's trait value. """ pass class _DropEventFilter(QtCore.QObject): def eventFilter(self, source, event): typ = event.type() if typ == QtCore.QEvent.Drop: self.dropEvent(event) elif typ == QtCore.QEvent.DragEnter: self.dragEnterEvent(event) return super().eventFilter(source, event) def dropEvent(self, e): """ Handles a Python object being dropped on the tree. """ editor = self.parent()._qt4_editor klass = editor.factory.klass if editor.factory.binding: value = getattr(clipboard, "node", None) else: value = e.mimeData().instance() if (klass is None) or isinstance(value, klass): editor._no_update = True try: if hasattr(value, "drop_editor_value"): editor.value = value.drop_editor_value() else: editor.value = value if hasattr(value, "drop_editor_update"): value.drop_editor_update(self) else: self.setText(editor.str_value) finally: editor._no_update = False e.acceptProposedAction() def dragEnterEvent(self, e): """ Handles a Python object being dragged over the tree. """ editor = self.parent()._qt4_editor if editor.factory.binding: data = getattr(clipboard, "node", None) else: md = e.mimeData() if not isinstance(md, PyMimeData): return data = md.instance() try: editor.object.base_trait(editor.name).validate( editor.object, editor.name, data ) e.acceptProposedAction() except: pass # Define the Text and ReadonlyEditor for use by the editor factory. TextEditor = ReadonlyEditor = SimpleEditor traitsui-7.2.1/traitsui/qt4/check_list_editor.py0000644000076500000240000002235214046644454022417 0ustar aayresstaff00000000000000# (C) Copyright 2008-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! # ------------------------------------------------------------------------------ # Copyright (c) 2007, Riverbank Computing Limited # All rights reserved. # # This software is provided without warranty under the terms of the BSD license. # However, when used with the GPL version of PyQt the additional terms # described in the PyQt GPL exception also apply # # Author: Riverbank Computing Limited # ------------------------------------------------------------------------------ """ Defines the various editors for multi-selection enumerations, for the PyQt user interface toolkit. """ import logging from pyface.qt import QtCore, QtGui from traits.api import Any, Callable, List, Str, TraitError, Tuple from .editor_factory import TextEditor as BaseTextEditor from .editor import EditorWithList logger = logging.getLogger(__name__) # ------------------------------------------------------------------------- # 'SimpleEditor' class: # ------------------------------------------------------------------------- class SimpleEditor(EditorWithList): """ Simple style of editor for checklists, which displays a combo box. """ # ------------------------------------------------------------------------- # Trait definitions: # ------------------------------------------------------------------------- #: Checklist item names names = List(Str) #: Checklist item values values = List() def init(self, parent): """ Finishes initializing the editor by creating the underlying toolkit widget. """ self.create_control(parent) super().init(parent) def create_control(self, parent): """ Creates the initial editor control. """ self.control = QtGui.QComboBox() self.control.activated[int].connect(self.update_object) def dispose(self): """ Disposes of the contents of an editor. """ if self.control is not None: self.control.activated[int].disconnect(self.update_object) super().dispose() def list_updated(self, values): """ Handles updates to the list of legal checklist values. """ sv = self.string_value if (len(values) > 0) and isinstance(values[0], str): values = [(x, sv(x, str.capitalize)) for x in values] self.values = valid_values = [x[0] for x in values] self.names = [x[1] for x in values] # Make sure the current value is still legal: modified = False cur_value = parse_value(self.value) for i in range(len(cur_value) - 1, -1, -1): if cur_value[i] not in valid_values: try: del cur_value[i] modified = True except TypeError as e: logger.warning( "Unable to remove non-current value [%s] from " "values %s", cur_value[i], values, ) if modified: if isinstance(self.value, str): cur_value = ",".join(cur_value) self.value = cur_value self.rebuild_editor() def rebuild_editor(self): """ Rebuilds the editor after its definition is modified. """ control = self.control control.clear() for name in self.names: control.addItem(name) self.update_editor() def update_object(self, index): """ Handles the user selecting a new value from the combo box. """ value = self.values[index] if not isinstance(self.value, str): value = [value] self.value = value def update_editor(self): """ Updates the editor when the object trait changes externally to the editor. """ try: self.control.setCurrentIndex( self.values.index(parse_value(self.value)[0]) ) except: pass class CustomEditor(SimpleEditor): """ Custom style of editor for checklists, which displays a set of check boxes. """ #: List of tuple(signal, slot) to be disconnected while rebuilding the #: editor. _connections_to_rebuild = List(Tuple(Any, Callable)) def init(self, parent): """ Finishes initializing the editor by creating the underlying toolkit widget. """ self.create_control(parent) EditorWithList.init(self, parent) def create_control(self, parent): """ Creates the initial editor control. """ self.control = QtGui.QWidget() layout = QtGui.QGridLayout(self.control) layout.setContentsMargins(0, 0, 0, 0) self._mapper = QtCore.QSignalMapper() self._mapper.mapped[str].connect(self.update_object) def dispose(self): """ Disposes of the contents of an editor. """ while self._connections_to_rebuild: signal, handler = self._connections_to_rebuild.pop() signal.disconnect(handler) # signal from create_control if self._mapper is not None: self._mapper.mapped[str].disconnect(self.update_object) self._mapper = None # enthought/traitsui#884 EditorWithList.dispose(self) def rebuild_editor(self): """ Rebuilds the editor after its definition is modified. """ while self._connections_to_rebuild: signal, handler = self._connections_to_rebuild.pop() signal.disconnect(handler) # Clear any existing content: self.clear_layout() cur_value = parse_value(self.value) # Create a sizer to manage the radio buttons: labels = self.names values = self.values n = len(labels) cols = self.factory.cols rows = (n + cols - 1) // cols # incr will keep track of how to increment index so that as we traverse # the grid in row major order, the elements are added to appear in # column major order incr = [n // cols] * cols rem = n % cols for i in range(cols): incr[i] += rem > i incr[-1] = -sum(incr[:-1]) + 1 # e.g for a gird: # 0 2 4 # 1 3 5 # incr should be [2, 2, -3] # Add the set of all possible choices: layout = self.control.layout() index = 0 # populate the layout in row_major order for i in range(rows): for j in range(cols): if n > 0: cb = QtGui.QCheckBox(labels[index]) cb.value = values[index] if cb.value in cur_value: cb.setCheckState(QtCore.Qt.Checked) else: cb.setCheckState(QtCore.Qt.Unchecked) cb.clicked.connect(self._mapper.map) self._connections_to_rebuild.append( (cb.clicked, self._mapper.map) ) self._mapper.setMapping(cb, labels[index]) layout.addWidget(cb, i, j) index += incr[j] n -= 1 def update_object(self, label): """ Handles the user clicking one of the custom check boxes. """ cb = self._mapper.mapping(label) cur_value = parse_value(self.value) if cb.checkState() == QtCore.Qt.Checked: cur_value.append(cb.value) elif cb.value in cur_value: cur_value.remove(cb.value) if isinstance(self.value, str): cur_value = ",".join(cur_value) self.value = cur_value def update_editor(self): """ Updates the editor when the object trait changes externally to the editor. """ new_values = parse_value(self.value) for cb in self.control.findChildren(QtGui.QCheckBox, None): if cb.value in new_values: cb.setCheckState(QtCore.Qt.Checked) else: cb.setCheckState(QtCore.Qt.Unchecked) class TextEditor(BaseTextEditor): """ Text style of editor for checklists, which displays a text field. """ def update_object(self, event=None): """ Handles the user changing the contents of the edit control. """ try: value = str(self.control.text()) value = eval(value) except: pass try: self.value = value except TraitError as excp: pass # ------------------------------------------------------------------------- # Parse a value into a list: # ------------------------------------------------------------------------- def parse_value(value): """ Parses a value into a list. """ if value is None: return [] if not isinstance(value, str): return value[:] return [x.strip() for x in value.split(",")] traitsui-7.2.1/traitsui/qt4/text_editor.py0000644000076500000240000001726714046644454021304 0ustar aayresstaff00000000000000# (C) Copyright 2008-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! # ------------------------------------------------------------------------------ # Copyright (c) 2007, Riverbank Computing Limited # All rights reserved. # # This software is provided without warranty under the terms of the BSD license. # However, when used with the GPL version of PyQt the additional terms # described in the PyQt GPL exception also apply # # Author: Riverbank Computing Limited # ------------------------------------------------------------------------------ """ Defines the various text editors for the PyQt user interface toolkit. """ from pyface.qt import QtCore, QtGui from traits.api import Any, Callable, List, TraitError, Tuple from traitsui.editors.text_editor import evaluate_trait from .editor import Editor from .editor_factory import ReadonlyEditor as BaseReadonlyEditor from .constants import OKColor class SimpleEditor(Editor): """ Simple style text editor, which displays a text field. """ #: Flag for window styles: base_style = QtGui.QLineEdit #: Background color when input is OK: ok_color = OKColor # ------------------------------------------------------------------------- # Trait definitions: # ------------------------------------------------------------------------- #: Function used to evaluate textual user input: evaluate = evaluate_trait # -- private trait definitions ------------------------------------------ #: A list of tuple(Qt signal, slot) connected which need to be disconnected #: in dispose. _connections_to_remove = List(Tuple(Any, Callable)) def init(self, parent): """ Finishes initializing the editor by creating the underlying toolkit widget. """ factory = self.factory wtype = self.base_style self.evaluate = factory.evaluate self.sync_value(factory.evaluate_name, "evaluate", "from") if not factory.multi_line or factory.is_grid_cell or factory.password: wtype = QtGui.QLineEdit multi_line = wtype is not QtGui.QLineEdit if multi_line: self.scrollable = True control = wtype(self.str_value) if factory.read_only: control.setReadOnly(True) if factory.password: control.setEchoMode(QtGui.QLineEdit.Password) if wtype == QtGui.QTextEdit: control.textChanged.connect(self.update_object) self._connections_to_remove.append( (control.textChanged, self.update_object)) else: # QLineEdit if factory.auto_set and not factory.is_grid_cell: control.textEdited.connect(self.update_object) self._connections_to_remove.append( (control.textEdited, self.update_object)) else: control.editingFinished.connect(self.update_object) self._connections_to_remove.append( (control.editingFinished, self.update_object) ) placeholder = self.factory.placeholder if wtype is not QtGui.QTextEdit or QtCore.__version_info__ >= (5, 2): # setPlaceholderText is introduced to QTextEdit since Qt 5.2 control.setPlaceholderText(placeholder) if wtype is not QtGui.QTextEdit and QtCore.__version_info__ >= (5, 2): # setClearButtonEnabled is introduced to QLineEdit since Qt 5.2 control.setClearButtonEnabled(self.factory.cancel_button) self.control = control # default horizontal policy is Expand, set this to Minimum if not (self.item.resizable) and not self.item.springy: policy = self.control.sizePolicy() policy.setHorizontalPolicy(QtGui.QSizePolicy.Minimum) self.control.setSizePolicy(policy) self.set_error_state(False) self.set_tooltip() def dispose(self): """ Disposes of the contents of an editor. """ while self._connections_to_remove: signal, handler = self._connections_to_remove.pop() signal.disconnect(handler) super().dispose() def update_object(self): """ Handles the user entering input data in the edit control. """ if (not self._no_update) and (self.control is not None): try: self.value = self._get_user_value() if self._error is not None: self._error = None self.ui.errors -= 1 self.set_error_state(False) except TraitError as excp: pass def update_editor(self): """ Updates the editor when the object trait changes externally to the editor. """ user_value = self._get_user_value() try: unequal = bool(user_value != self.value) except ValueError: # This might be a numpy array. unequal = True if unequal: self._no_update = True self.control.setText(self.str_value) self._no_update = False if self._error is not None: self._error = None self.ui.errors -= 1 self.set_error_state(False) def _get_user_value(self): """ Gets the actual value corresponding to what the user typed. """ try: value = self.control.text() except AttributeError: value = self.control.toPlainText() value = str(value) try: value = self.evaluate(value) except: pass try: ret = self.factory.mapping.get(value, value) except TypeError: # The value is probably not hashable. ret = value return ret def error(self, excp): """ Handles an error that occurs while setting the object's trait value. """ if self._error is None: self._error = True self.ui.errors += 1 self.set_error_state(True) def in_error_state(self): """ Returns whether or not the editor is in an error state. """ return self.invalid or self._error class CustomEditor(SimpleEditor): """ Custom style of text editor, which displays a multi-line text field. """ #: FIXME: The wx version exposes a wx constant. #: Flag for window style. This value overrides the default. base_style = QtGui.QTextEdit class ReadonlyEditor(BaseReadonlyEditor): """ Read-only style of text editor, which displays a read-only text field. """ def init(self, parent): super().init(parent) if self.factory.readonly_allow_selection: flags = ( self.control.textInteractionFlags() | QtCore.Qt.TextSelectableByMouse ) self.control.setTextInteractionFlags(flags) def update_editor(self): """ Updates the editor when the object trait changes externally to the editor. """ new_value = self.str_value if self.factory.password: new_value = "*" * len(new_value) self.control.setText(new_value) # ------------------------------------------------------------------------- # 'TextEditor' class: # ------------------------------------------------------------------------- # Same as SimpleEditor for a text editor. TextEditor = SimpleEditor traitsui-7.2.1/traitsui/qt4/boolean_editor.py0000644000076500000240000000645514046644454021734 0ustar aayresstaff00000000000000# (C) Copyright 2008-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! # ------------------------------------------------------------------------------ # Copyright (c) 2007, Riverbank Computing Limited # All rights reserved. # # This software is provided without warranty under the terms of the BSD license. # However, when used with the GPL version of PyQt the additional terms # described in the PyQt GPL exception also apply # # Author: Riverbank Computing Limited # ------------------------------------------------------------------------------ """ Defines the various Boolean editors for the PyQt user interface toolkit. """ from pyface.qt import QtCore, QtGui from .editor import Editor # This needs to be imported in here for use by the editor factory for boolean # editors (declared in traitsui). The editor factory's text_editor # method will use the TextEditor in the ui. from .text_editor import SimpleEditor as TextEditor from .constants import ReadonlyColor class SimpleEditor(Editor): """ Simple style of editor for Boolean values, which displays a check box. """ def init(self, parent): """ Finishes initializing the editor by creating the underlying toolkit widget. """ self.control = QtGui.QCheckBox() self.control.stateChanged.connect(self.update_object) self.set_tooltip() def dispose(self): if self.control is not None: self.control.stateChanged.disconnect(self.update_object) super().dispose() def update_object(self, state): """ Handles the user clicking the checkbox. """ self.value = bool(state) def update_editor(self): """ Updates the editor when the object trait changes externally to the editor. """ if self.value: self.control.setCheckState(QtCore.Qt.Checked) else: self.control.setCheckState(QtCore.Qt.Unchecked) class ReadonlyEditor(Editor): """ Read-only style of editor for Boolean values, which displays static text of either "True" or "False". """ def init(self, parent): """ Finishes initializing the editor by creating the underlying toolkit widget. """ self.control = QtGui.QLineEdit() self.control.setReadOnly(True) pal = QtGui.QPalette(self.control.palette()) pal.setColor(QtGui.QPalette.Base, ReadonlyColor) self.control.setPalette(pal) # ------------------------------------------------------------------------- # Updates the editor when the object trait changes external to the editor: # # (Should normally be overridden in a subclass) # ------------------------------------------------------------------------- def update_editor(self): """ Updates the editor when the object trait changes externally to the editor. """ if self.value: self.control.setText("True") else: self.control.setText("False") traitsui-7.2.1/traitsui/qt4/code_editor.py0000644000076500000240000002511114046644454021215 0ustar aayresstaff00000000000000# (C) Copyright 2008-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! # ------------------------------------------------------------------------------ # Copyright (c) 2007, Riverbank Computing Limited # All rights reserved. # # This software is provided without warranty under the terms of the BSD license. # However, when used with the GPL version of PyQt the additional terms # described in the PyQt GPL exception also apply # # Author: Riverbank Computing Limited # ------------------------------------------------------------------------------ """ Defines a source code editor and code editor factory, for the PyQt user interface toolkit, useful for tools such as debuggers. """ from pyface.qt import QtCore, QtGui from pyface.ui.qt4.code_editor.code_widget import AdvancedCodeWidget from traits.api import ( Str, List, Int, Event, Bool, TraitError, observe, ) from traits.trait_base import SequenceTypes from pyface.key_pressed_event import KeyPressedEvent from .constants import OKColor, ErrorColor from .editor import Editor from .helper import pixmap_cache # Marker line constants: MARK_MARKER = 0 # Marks a marked line SEARCH_MARKER = 1 # Marks a line matching the current search SELECTED_MARKER = 2 # Marks the currently selected line class SourceEditor(Editor): """ Editor for source code which uses the advanced code widget. """ # ------------------------------------------------------------------------- # Pyface PythonEditor interface: # ------------------------------------------------------------------------- #: Event that is fired on keypresses: key_pressed = Event(KeyPressedEvent) # ------------------------------------------------------------------------- # Editor interface: # ------------------------------------------------------------------------- #: The code editor is scrollable. This value overrides the default. scrollable = True # ------------------------------------------------------------------------- # SoureEditor interface: # ------------------------------------------------------------------------- #: Is the editor read only? readonly = Bool(False) #: The currently selected line selected_line = Int() #: The start position of the selected selected_start_pos = Int() #: The end position of the selected selected_end_pos = Int() #: The currently selected text selected_text = Str() #: The list of line numbers to mark mark_lines = List(Int) #: The current line number line = Event() #: The current column column = Event() #: The lines to be dimmed dim_lines = List(Int) dim_color = Str() dim_style_number = Int(16) # 0-15 are reserved for the python lexer #: The lines to have squiggles drawn under them squiggle_lines = List(Int) squiggle_color = Str() #: The lexer to use. lexer = Str() # ------------------------------------------------------------------------- # Finishes initializing the editor by creating the underlying toolkit # widget: # ------------------------------------------------------------------------- def init(self, parent): """ Finishes initializing the editor by creating the underlying toolkit widget. """ self.control = QtGui.QWidget() layout = QtGui.QVBoxLayout(self.control) layout.setContentsMargins(0, 0, 0, 0) self._widget = control = AdvancedCodeWidget( None, lexer=self.factory.lexer ) layout.addWidget(control) factory = self.factory # Set up listeners for the signals we care about code_editor = self._widget.code if self.readonly: code_editor.setReadOnly(True) else: if factory.auto_set: code_editor.textChanged.connect(self.update_object) else: code_editor.focus_lost.connect(self.update_object) if factory.selected_text != "": code_editor.selectionChanged.connect(self._selection_changed) if (factory.line != "") or (factory.column != ""): code_editor.cursorPositionChanged.connect(self._position_changed) code_editor.line_number_widget.setVisible(factory.show_line_numbers) # Make sure the editor has been initialized: self.update_editor() # Set up any event listeners: self.sync_value(factory.mark_lines, "mark_lines", "from", is_list=True) self.sync_value(factory.selected_line, "selected_line", "from") self.sync_value(factory.selected_text, "selected_text", "to") self.sync_value(factory.line, "line") self.sync_value(factory.column, "column") self.sync_value(factory.selected_start_pos, "selected_start_pos", "to") self.sync_value(factory.selected_end_pos, "selected_end_pos", "to") self.sync_value(factory.dim_lines, "dim_lines", "from", is_list=True) if self.factory.dim_color == "": self.dim_color = "grey" else: self.sync_value(factory.dim_color, "dim_color", "from") self.sync_value( factory.squiggle_lines, "squiggle_lines", "from", is_list=True ) if factory.squiggle_color == "": self.squiggle_color = "red" else: self.sync_value(factory.squiggle_color, "squiggle_color", "from") # Set the control tooltip: self.set_tooltip() def dispose(self): """ Disposes of the contents of an editor. """ # Make sure that the editor does not try to update as the control is # being destroyed: if not self.factory.auto_set: self._widget.code.focus_lost.disconnect(self.update_object) super().dispose() def update_object(self): """ Handles the user entering input data in the edit control. """ if not self._locked: try: value = str(self._widget.code.toPlainText()) if isinstance(self.value, SequenceTypes): value = value.split() self.value = value except TraitError as excp: pass def update_editor(self): """ Updates the editor when the object trait changes externally to the editor. """ self._locked = True new_value = self.value if isinstance(new_value, SequenceTypes): new_value = "\n".join([line.rstrip() for line in new_value]) control = self._widget if control.code.toPlainText() != new_value: control.code.setPlainText(new_value) if self.factory.selected_line: # TODO: update the factory selected line pass # TODO: put the cursor somewhere self._locked = False def error(self, excp): """ Handles an error that occurs while setting the object's trait value. """ pass # -- UI preference save/restore interface --------------------------------- def restore_prefs(self, prefs): """ Restores any saved user preference information associated with the editor. """ if self.factory.key_bindings is not None: key_bindings = prefs.get("key_bindings") if key_bindings is not None: self.factory.key_bindings.merge(key_bindings) def save_prefs(self): """ Returns any user preference information associated with the editor. """ return {"key_bindings": self.factory.key_bindings} def _mark_lines_changed(self): """ Handles the set of marked lines being changed. """ # FIXME: Not implemented at this time. return def _mark_lines_items_changed(self): self._mark_lines_changed() def _selection_changed(self): self.selected_text = str( self._widget.code.textCursor().selectedText() ) start = self._widget.code.textCursor().selectionStart() end = self._widget.code.textCursor().selectionEnd() if start > end: start, end = end, start self.selected_start_pos = start self.selected_end_pos = end def _selected_line_changed(self): """ Handles a change in which line is currently selected. """ control = self._widget line = max(1, min(control.lines(), self.selected_line)) _, column = control.get_line_column() control.set_line_column(line, column) if self.factory.auto_scroll: control.centerCursor() def _line_changed(self, line): if not self._locked: _, column = self._widget.get_line_column() self._widget.set_line_column(line, column) if self.factory.auto_scroll: self._widget.centerCursor() def _column_changed(self, column): if not self._locked: line, _ = self._widget.get_line_column() self._widget.set_line_column(line, column) def _position_changed(self): """ Handles the cursor position being changed. """ control = self._widget self._locked = True self.line, self.column = control.get_line_column() self._locked = False self.selected_text = control.get_selected_text() if self.factory.auto_scroll: self._widget.centerCursor() def _key_pressed_changed(self, event): """ Handles a key being pressed within the editor. """ key_bindings = self.factory.key_bindings if key_bindings: processed = key_bindings.do( event.event, self.ui.handler, self.ui.info ) else: processed = False if not processed and event.event.matches(QtGui.QKeySequence.Find): self._find_widget.show() def _dim_color_changed(self): pass def _squiggle_color_changed(self): pass @observe("dim_lines, squiggle_lines") def _style_document(self, event): self._widget.set_warn_lines(self.squiggle_lines) # Define the simple, custom, text and readonly editors, which will be accessed # by the editor factory for code editors. CustomEditor = SimpleEditor = TextEditor = SourceEditor class ReadonlyEditor(SourceEditor): # Set the value of the readonly trait. readonly = True traitsui-7.2.1/traitsui/qt4/menu.py0000644000076500000240000002210514046644454017701 0ustar aayresstaff00000000000000# (C) Copyright 2008-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! # ------------------------------------------------------------------------------ # Copyright (c) 2007, Riverbank Computing Limited # All rights reserved. # # This software is provided without warranty under the terms of the BSD license. # However, when used with the GPL version of PyQt the additional terms # described in the PyQt GPL exception also apply # # Author: Riverbank Computing Limited # ------------------------------------------------------------------------------ """ Dynamically construct PyQt Menus or MenuBars from a supplied string description of the menu. Menu Description Syntax:: submenu_label {help_string} menuitem_label | accelerator {help_string} [~/-name]: code *submenu_label* Label of a sub menu *menuitem_label* Label of a menu item {*help_string*} Help string to display on the status line (optional) *accelerator* Accelerator key (e.g., Ctrl-C) (The '|' and keyname are optional, but must be used together.) [~] The menu item is checkable, but is not checked initially (optional) [/] The menu item is checkable, and is checked initially (optional) [-] The menu item disabled initially (optional) [*name*] Symbolic name used to refer to menu item (optional) *code* Python code invoked when menu item is selected A line beginning with a hyphen (-) is interpreted as a menu separator. """ import re from pyface.qt import QtGui help_pat = re.compile(r"(.*){(.*)}(.*)") options_pat = re.compile(r"(.*)\[(.*)\](.*)") class MakeMenu: """ Manages creation of menus. """ def __init__(self, desc, owner, popup=False, window=None): """ Initializes the object. """ self.owner = owner if window is None: window = owner self.window = window self.indirect = getattr(owner, "call_menu", None) self.names = {} self.desc = desc.split("\n") self.index = 0 if popup: self.menu = menu = QtGui.QMenu() self.parse(menu, -1) else: self.menu = menu = QtGui.QMenuBar() self.parse(menu, -1) window.setMenuBar(menu) def parse(self, menu, indent): """ Recursively parses menu items from the description. """ while True: # Make sure we have not reached the end of the menu description # yet: if self.index >= len(self.desc): return # Get the next menu description line and check its indentation: dline = self.desc[self.index] line = dline.lstrip() indented = len(dline) - len(line) if indented <= indent: return # Indicate that the current line has been processed: self.index += 1 # Check for a blank or comment line: if (line == "") or (line[0:1] == "#"): continue # Check for a menu separator: if line[0:1] == "-": menu.addSeparator() continue # Extract the help string (if any): help = "" match = help_pat.search(line) if match: help = " " + match.group(2).strip() line = match.group(1) + match.group(3) # Check for a menu item: col = line.find(":") if col >= 0: handler = line[col + 1 :].strip() if handler != "": if self.indirect: self.indirect(cur_id, handler) handler = self.indirect else: try: _locl = dict(self=self) exec( "def handler(self=self.owner):\n %s\n" % handler, globals(), _locl, ) handler = _locl["handler"] except: handler = null_handler else: try: _locl = dict(self=self) exec( "def handler(self=self.owner):\n%s\n" % (self.get_body(indented),), globals(), _locl, ) handler = _locl["handler"] except: handler = null_handler not_checked = checked = disabled = False name = key = "" line = line[:col] match = options_pat.search(line) if match: line = match.group(1) + match.group(3) not_checked, checked, disabled, name = option_check( "~/-", match.group(2).strip() ) label = line.strip() col = label.find("|") if col >= 0: key = label[col + 1 :].strip() label = label[:col].strip() act = menu.addAction(label, handler) act.setCheckable(not_checked or checked) act.setStatusTip(help) if key: act.setShortcut(key) if checked: act.setChecked(True) if disabled: act.setEnabled(False) if name: self.names[name] = act setattr(self.owner, name, MakeMenuItem(self, act)) else: # Else must be the start of a sub menu: submenu = QtGui.QMenu(line.strip()) # Recursively parse the sub-menu: self.parse(submenu, indented) # Add the menu to its parent: act = menu.addMenu(submenu) act.setStatusTip(help) def get_body(self, indent): """ Returns the body of an inline method. """ result = [] while self.index < len(self.desc): line = self.desc[self.index] if (len(line) - len(line.lstrip())) <= indent: break result.append(line) self.index += 1 result = "\n".join(result).rstrip() if result != "": return result return " pass" def get_action(self, name): """ Returns the QAction associated with a specified name. """ if isinstance(name, str): return self.names[name] return name def checked(self, name, check=None): """ Checks (or unchecks) a menu item specified by name. """ act = self.get_action(name) if check is None: return act.isChecked() act.setChecked(check) def enabled(self, name, enable=None): """ Enables (or disables) a menu item specified by name. """ act = self.get_action(name) if enable is None: return act.isEnabled() act.setEnabled(enable) def label(self, name, label=None): """ Gets or sets the label for a menu item. """ act = self.get_action(name) if label is None: return str(act.text()) act.setText(label) class MakeMenuItem: """ A menu item for a menu managed by MakeMenu. """ def __init__(self, menu, act): self.menu = menu self.act = act def checked(self, check=None): return self.menu.checked(self.act, check) def toggle(self): checked = not self.checked() self.checked(checked) return checked def enabled(self, enable=None): return self.menu.enabled(self.act, enable) def label(self, label=None): return self.menu.label(self.act, label) # ------------------------------------------------------------------------- # Determine whether a string contains any specified option characters, and # remove them if it does: # ------------------------------------------------------------------------- def option_check(test, string): """ Determines whether a string contains any specified option characters, and removes them if it does. """ result = [] for char in test: col = string.find(char) result.append(col >= 0) if col >= 0: string = string[:col] + string[col + 1 :] return result + [string.strip()] # ------------------------------------------------------------------------- # Null menu option selection handler: # ------------------------------------------------------------------------- def null_handler(event): print("null_handler invoked") traitsui-7.2.1/traitsui/qt4/view_application.py0000644000076500000240000001072214046644454022274 0ustar aayresstaff00000000000000# (C) Copyright 2008-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! # ------------------------------------------------------------------------------ # Copyright (c) 2007, Riverbank Computing Limited # All rights reserved. # # This software is provided without warranty under the terms of the BSD license. # However, when used with the GPL version of PyQt the additional terms # described in the PyQt GPL exception also apply # # Author: Riverbank Computing Limited # ------------------------------------------------------------------------------ """ Creates a PyQt specific modal dialog user interface that runs as a complete application, using information from the specified UI object. """ # Standard library imports. import os # System library imports. from pyface.qt import QtGui # ETS imports. from pyface.util.guisupport import ( is_event_loop_running_qt4, start_event_loop_qt4, ) KEEP_ALIVE_UIS = set() def on_ui_destroyed(object, name, old, destroyed): """ Remove the UI object from KEEP_ALIVE_UIS. """ assert name == "destroyed" if destroyed: assert object in KEEP_ALIVE_UIS KEEP_ALIVE_UIS.remove(object) object.on_trait_change(on_ui_destroyed, "destroyed", remove=True) # ------------------------------------------------------------------------- # Creates a 'stand-alone' PyQt application to display a specified traits UI # View: # ------------------------------------------------------------------------- def view_application(context, view, kind, handler, id, scrollable, args): """ Creates a stand-alone PyQt application to display a specified traits UI View. Parameters ---------- context : object or dictionary A single object or a dictionary of string/object pairs, whose trait attributes are to be edited. If not specified, the current object is used. view : view object A View object that defines a user interface for editing trait attribute values. kind : string The type of user interface window to create. See the **traitsui.view.kind_trait** trait for values and their meanings. If *kind* is unspecified or None, the **kind** attribute of the View object is used. handler : Handler object A handler object used for event handling in the dialog box. If None, the default handler for Traits UI is used. scrollable : Boolean Indicates whether the dialog box should be scrollable. When set to True, scroll bars appear on the dialog box if it is not large enough to display all of the items in the view at one time. """ if (kind == "panel") or ((kind is None) and (view.kind == "panel")): kind = "modal" app = QtGui.QApplication.instance() if app is None or not is_event_loop_running_qt4(app): return ViewApplication( context, view, kind, handler, id, scrollable, args ).ui.result ui = view.ui( context, kind=kind, handler=handler, id=id, scrollable=scrollable, args=args, ) # If the UI has not been closed yet, we need to keep a reference to # it until it does close. if not ui.destroyed: KEEP_ALIVE_UIS.add(ui) ui.on_trait_change(on_ui_destroyed, "destroyed") return ui.result class ViewApplication(object): """ Modal window that contains a stand-alone application. """ def __init__(self, context, view, kind, handler, id, scrollable, args): """ Initializes the object. """ self.context = context self.view = view self.kind = kind self.handler = handler self.id = id self.scrollable = scrollable self.args = args # this will block for modal dialogs, but not non-modals self.ui = self.view.ui( self.context, kind=self.kind, handler=self.handler, id=self.id, scrollable=self.scrollable, args=self.args, ) # only non-modal UIs need to have an event loop started for them if kind not in {"modal", "livemodal"}: start_event_loop_qt4() traitsui-7.2.1/traitsui/qt4/range_editor.py0000644000076500000240000006026014046644454021403 0ustar aayresstaff00000000000000# (C) Copyright 2009-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! # ------------------------------------------------------------------------------ # Copyright (c) 2008, Riverbank Computing Limited # All rights reserved. # # This software is provided without warranty under the terms of the BSD license. # However, when used with the GPL version of PyQt the additional terms # described in the PyQt GPL exception also apply # # Author: Riverbank Computing Limited # ------------------------------------------------------------------------------ """ Defines the various range editors and the range editor factory, for the PyQt user interface toolkit. """ from math import log10 from pyface.qt import QtCore, QtGui from traits.api import TraitError, Str, Float, Any, Bool from .editor_factory import TextEditor from .editor import Editor from .constants import OKColor, ErrorColor from .helper import IconButton # ------------------------------------------------------------------------- # 'BaseRangeEditor' class: # ------------------------------------------------------------------------- class BaseRangeEditor(Editor): """ The base class for Range editors. Using an evaluate trait, if specified, when assigning numbers the object trait. """ # ------------------------------------------------------------------------- # Trait definitions: # ------------------------------------------------------------------------- #: Function to evaluate floats/ints evaluate = Any() def _set_value(self, value): if self.evaluate is not None: value = self.evaluate(value) Editor._set_value(self, value) class SimpleSliderEditor(BaseRangeEditor): """ Simple style of range editor that displays a slider and a text field. The user can set a value either by moving the slider or by typing a value in the text field. """ # ------------------------------------------------------------------------- # Trait definitions: # ------------------------------------------------------------------------- #: Low value for the slider range low = Any() #: High value for the slider range high = Any() #: Formatting string used to format value and labels format = Str() def init(self, parent): """ Finishes initializing the editor by creating the underlying toolkit widget. """ factory = self.factory if not factory.low_name: self.low = factory.low if not factory.high_name: self.high = factory.high self.format = factory.format self.evaluate = factory.evaluate self.sync_value(factory.evaluate_name, "evaluate", "from") self.sync_value(factory.low_name, "low", "from") self.sync_value(factory.high_name, "high", "from") self.control = QtGui.QWidget() panel = QtGui.QHBoxLayout(self.control) panel.setContentsMargins(0, 0, 0, 0) fvalue = self.value try: if not (self.low <= fvalue <= self.high): fvalue = self.low fvalue_text = self.format % fvalue except: fvalue_text = "" fvalue = self.low ivalue = self._convert_to_slider(fvalue) self._label_lo = QtGui.QLabel() self._label_lo.setAlignment( QtCore.Qt.AlignRight | QtCore.Qt.AlignVCenter ) if factory.label_width > 0: self._label_lo.setMinimumWidth(factory.label_width) panel.addWidget(self._label_lo) self.control.slider = slider = QtGui.QSlider(QtCore.Qt.Horizontal) slider.setTracking(factory.auto_set) slider.setMinimum(0) slider.setMaximum(10000) slider.setPageStep(1000) slider.setSingleStep(100) slider.setValue(ivalue) slider.valueChanged.connect(self.update_object_on_scroll) panel.addWidget(slider) self._label_hi = QtGui.QLabel() panel.addWidget(self._label_hi) if factory.label_width > 0: self._label_hi.setMinimumWidth(factory.label_width) self.control.text = text = QtGui.QLineEdit(fvalue_text) text.editingFinished.connect(self.update_object_on_enter) # The default size is a bit too big and probably doesn't need to grow. sh = text.sizeHint() sh.setWidth(sh.width() // 2) text.setMaximumSize(sh) panel.addWidget(text) low_label = factory.low_label if factory.low_name != "": low_label = self.format % self.low high_label = factory.high_label if factory.high_name != "": high_label = self.format % self.high self._label_lo.setText(low_label) self._label_hi.setText(high_label) self.set_tooltip(slider) self.set_tooltip(self._label_lo) self.set_tooltip(self._label_hi) self.set_tooltip(text) def update_object_on_scroll(self, pos): """ Handles the user changing the current slider value. """ value = self._convert_from_slider(pos) self.control.text.setText(self.format % value) try: self.value = value except Exception as exc: from traitsui.api import raise_to_debug raise_to_debug() def update_object_on_enter(self): """ Handles the user pressing the Enter key in the text field. """ # It is possible the event is processed after the control is removed # from the editor if self.control is None: return try: try: value = eval(str(self.control.text.text()).strip()) except Exception as ex: # The entered something that didn't eval as a number, (e.g., # 'foo') pretend it didn't happen value = self.value self.control.text.setText(str(value)) # for compound editor, value may be non-numeric if not isinstance(value, (int, float)): return if not self.factory.is_float: value = int(value) self.value = value blocked = self.control.slider.blockSignals(True) try: self.control.slider.setValue( self._convert_to_slider(self.value) ) finally: self.control.slider.blockSignals(blocked) except TraitError as excp: pass def update_editor(self): """ Updates the editor when the object trait changes externally to the editor. """ value = self.value low = self.low high = self.high try: text = self.format % value 1 / (low <= value <= high) except: text = "" value = low ivalue = self._convert_to_slider(value) self.control.text.setText(text) blocked = self.control.slider.blockSignals(True) try: self.control.slider.setValue(ivalue) finally: self.control.slider.blockSignals(blocked) def get_error_control(self): """ Returns the editor's control for indicating error status. """ return self.control.text def _low_changed(self, low): if self.value < low: if self.factory.is_float: self.value = float(low) else: self.value = int(low) if self._label_lo is not None: self._label_lo.setText(self.format % low) self.update_editor() def _high_changed(self, high): if self.value > high: if self.factory.is_float: self.value = float(high) else: self.value = int(high) if self._label_hi is not None: self._label_hi.setText(self.format % high) self.update_editor() def _convert_to_slider(self, value): """ Returns the slider setting corresponding to the user-supplied value. """ if self.high > self.low: ivalue = int( (float(value - self.low) / (self.high - self.low)) * 10000.0 ) else: ivalue = self.low if ivalue is None: ivalue = 0 return ivalue def _convert_from_slider(self, ivalue): """ Returns the float or integer value corresponding to the slider setting. """ value = self.low + ((float(ivalue) / 10000.0) * (self.high - self.low)) if not self.factory.is_float: value = int(round(value)) return value # ------------------------------------------------------------------------- class LogRangeSliderEditor(SimpleSliderEditor): # ------------------------------------------------------------------------- """ A slider editor for log-spaced values """ def _convert_to_slider(self, value): """ Returns the slider setting corresponding to the user-supplied value. """ value = max(value, self.low) ivalue = int( (log10(value) - log10(self.low)) / (log10(self.high) - log10(self.low)) * 10000.0 ) return ivalue def _convert_from_slider(self, ivalue): """ Returns the float or integer value corresponding to the slider setting. """ value = float(ivalue) / 10000.0 * (log10(self.high) - log10(self.low)) # Do this to handle floating point errors, where fvalue may exceed # self.high. fvalue = min(self.low * 10 ** (value), self.high) if not self.factory.is_float: fvalue = int(round(fvalue)) return fvalue class LargeRangeSliderEditor(BaseRangeEditor): """ A slider editor for large ranges. The editor displays a slider and a text field. A subset of the total range is displayed in the slider; arrow buttons at each end of the slider let the user move the displayed range higher or lower. """ # ------------------------------------------------------------------------- # Trait definitions: # ------------------------------------------------------------------------- #: Low value for the slider range low = Any(0) #: High value for the slider range high = Any(1) #: Low end of displayed range cur_low = Float() #: High end of displayed range cur_high = Float() #: Flag indicating that the UI is in the process of being updated ui_changing = Bool(False) def init(self, parent): """ Finishes initializing the editor by creating the underlying toolkit widget. """ factory = self.factory # Initialize using the factory range defaults: self.low = factory.low self.high = factory.high self.evaluate = factory.evaluate # Hook up the traits to listen to the object. self.sync_value(factory.low_name, "low", "from") self.sync_value(factory.high_name, "high", "from") self.sync_value(factory.evaluate_name, "evaluate", "from") self.init_range() low = self.cur_low high = self.cur_high self._set_format() self.control = QtGui.QWidget() panel = QtGui.QHBoxLayout(self.control) panel.setContentsMargins(0, 0, 0, 0) fvalue = self.value try: fvalue_text = self._format % fvalue 1 / (low <= fvalue <= high) except: fvalue_text = "" fvalue = low if high > low: ivalue = int((float(fvalue - low) / (high - low)) * 10000) else: ivalue = low # Lower limit label: self.control.label_lo = label_lo = QtGui.QLabel() label_lo.setAlignment(QtCore.Qt.AlignRight | QtCore.Qt.AlignVCenter) panel.addWidget(label_lo) # Lower limit button: self.control.button_lo = IconButton( QtGui.QStyle.SP_ArrowLeft, self.reduce_range ) panel.addWidget(self.control.button_lo) # Slider: self.control.slider = slider = QtGui.QSlider(QtCore.Qt.Horizontal) slider.setTracking(factory.auto_set) slider.setMinimum(0) slider.setMaximum(10000) slider.setPageStep(1000) slider.setSingleStep(100) slider.setValue(ivalue) slider.valueChanged.connect(self.update_object_on_scroll) panel.addWidget(slider) # Upper limit button: self.control.button_hi = IconButton( QtGui.QStyle.SP_ArrowRight, self.increase_range ) panel.addWidget(self.control.button_hi) # Upper limit label: self.control.label_hi = label_hi = QtGui.QLabel() panel.addWidget(label_hi) # Text entry: self.control.text = text = QtGui.QLineEdit(fvalue_text) text.editingFinished.connect(self.update_object_on_enter) # The default size is a bit too big and probably doesn't need to grow. sh = text.sizeHint() sh.setWidth(sh.width() // 2) text.setMaximumSize(sh) panel.addWidget(text) label_lo.setText(str(low)) label_hi.setText(str(high)) self.set_tooltip(slider) self.set_tooltip(label_lo) self.set_tooltip(label_hi) self.set_tooltip(text) # Update the ranges and button just in case. self.update_range_ui() def update_object_on_scroll(self, pos): """ Handles the user changing the current slider value. """ value = self.cur_low + ( (float(pos) / 10000.0) * (self.cur_high - self.cur_low) ) self.control.text.setText(self._format % value) if self.factory.is_float: self.value = value else: self.value = int(value) def update_object_on_enter(self): """ Handles the user pressing the Enter key in the text field. """ # It is possible the event is processed after the control is removed # from the editor if self.control is None: return try: self.value = eval(str(self.control.text.text()).strip()) except TraitError as excp: pass def update_editor(self): """ Updates the editor when the object trait changes externally to the editor. """ value = self.value low = self.low high = self.high try: text = self._format % value 1 / (low <= value <= high) except: value = low self.value = value if not self.ui_changing: self.init_range() self.update_range_ui() def update_range_ui(self): """ Updates the slider range controls. """ low, high = self.cur_low, self.cur_high value = self.value self._set_format() self.control.label_lo.setText(self._format % low) self.control.label_hi.setText(self._format % high) if high > low: ivalue = int((float(value - low) / (high - low)) * 10000.0) else: ivalue = low blocked = self.control.slider.blockSignals(True) self.control.slider.setValue(ivalue) self.control.slider.blockSignals(blocked) text = self._format % self.value self.control.text.setText(text) self.control.button_lo.setEnabled(low != self.low) self.control.button_hi.setEnabled(high != self.high) def init_range(self): """ Initializes the slider range controls. """ value = self.value low, high = self.low, self.high if (high is None) and (low is not None): high = -low mag = abs(value) if mag <= 10.0: cur_low = max(value - 10, low) cur_high = min(value + 10, high) else: d = 0.5 * (10 ** int(log10(mag) + 1)) cur_low = max(low, value - d) cur_high = min(high, value + d) self.cur_low, self.cur_high = cur_low, cur_high def reduce_range(self): """ Reduces the extent of the displayed range. """ low, high = self.low, self.high if abs(self.cur_low) < 10: self.cur_low = max(-10, low) self.cur_high = min(10, high) elif self.cur_low > 0: self.cur_high = self.cur_low self.cur_low = max(low, self.cur_low / 10) else: self.cur_high = self.cur_low self.cur_low = max(low, self.cur_low * 10) self.ui_changing = True self.value = min(max(self.value, self.cur_low), self.cur_high) self.ui_changing = False self.update_range_ui() def increase_range(self): """ Increased the extent of the displayed range. """ low, high = self.low, self.high if abs(self.cur_high) < 10: self.cur_low = max(-10, low) self.cur_high = min(10, high) elif self.cur_high > 0: self.cur_low = self.cur_high self.cur_high = min(high, self.cur_high * 10) else: self.cur_low = self.cur_high self.cur_high = min(high, self.cur_high / 10) self.ui_changing = True self.value = min(max(self.value, self.cur_low), self.cur_high) self.ui_changing = False self.update_range_ui() def _set_format(self): self._format = "%d" factory = self.factory low, high = self.cur_low, self.cur_high diff = high - low if factory.is_float: if diff > 99999: self._format = "%.2g" elif diff > 1: self._format = "%%.%df" % max(0, 4 - int(log10(high - low))) else: self._format = "%.3f" def get_error_control(self): """ Returns the editor's control for indicating error status. """ return self.control.text def _low_changed(self, low): if self.control is not None: if self.value < low: if self.factory.is_float: self.value = float(low) else: self.value = int(low) self.update_editor() def _high_changed(self, high): if self.control is not None: if self.value > high: if self.factory.is_float: self.value = float(high) else: self.value = int(high) self.update_editor() class SimpleSpinEditor(BaseRangeEditor): """ A simple style of range editor that displays a spin box control. """ # ------------------------------------------------------------------------- # Trait definitions: # ------------------------------------------------------------------------- # Low value for the slider range low = Any() # High value for the slider range high = Any() def init(self, parent): """ Finishes initializing the editor by creating the underlying toolkit widget. """ factory = self.factory if not factory.low_name: self.low = factory.low if not factory.high_name: self.high = factory.high self.sync_value(factory.low_name, "low", "from") self.sync_value(factory.high_name, "high", "from") low = self.low high = self.high self.control = QtGui.QSpinBox() self.control.setMinimum(low) self.control.setMaximum(high) self.control.setValue(self.value) self.control.valueChanged.connect(self.update_object) self.set_tooltip() def update_object(self, value): """ Handles the user selecting a new value in the spin box. """ self._locked = True try: self.value = value finally: self._locked = False def update_editor(self): """ Updates the editor when the object trait changes externally to the editor. """ if not self._locked: blocked = self.control.blockSignals(True) try: self.control.setValue(int(self.value)) except Exception: from traitsui.api import raise_to_debug raise_to_debug() finally: self.control.blockSignals(blocked) def _low_changed(self, low): if self.value < low: if self.factory.is_float: self.value = float(low) else: self.value = int(low) if self.control: self.control.setMinimum(low) self.control.setValue(int(self.value)) def _high_changed(self, high): if self.value > high: if self.factory.is_float: self.value = float(high) else: self.value = int(high) if self.control: self.control.setMaximum(high) self.control.setValue(int(self.value)) class RangeTextEditor(TextEditor): """ Editor for ranges that displays a text field. If the user enters a value that is outside the allowed range, the background of the field changes color to indicate an error. """ # ------------------------------------------------------------------------- # Trait definitions: # ------------------------------------------------------------------------- #: Function to evaluate floats/ints evaluate = Any() def init(self, parent): """ Finishes initializing the editor by creating the underlying toolkit widget. """ TextEditor.init(self, parent) self.evaluate = self.factory.evaluate self.sync_value(self.factory.evaluate_name, "evaluate", "from") def update_object(self): """ Handles the user entering input data in the edit control. """ try: value = eval(str(self.control.text())) if self.evaluate is not None: value = self.evaluate(value) self.value = value col = OKColor except Exception: col = ErrorColor if self.control is not None: pal = QtGui.QPalette(self.control.palette()) pal.setColor(QtGui.QPalette.Base, col) self.control.setPalette(pal) # ------------------------------------------------------------------------- # 'SimpleEnumEditor' factory adaptor: # ------------------------------------------------------------------------- def SimpleEnumEditor( parent, factory, ui, object, name, description, **kwargs ): return CustomEnumEditor( parent, factory, ui, object, name, description, "simple" ) def CustomEnumEditor( parent, factory, ui, object, name, description, style="custom", **kwargs ): """ Factory adapter that returns a enumeration editor of the specified style. """ if factory._enum is None: import traitsui.editors.enum_editor as enum_editor factory._enum = enum_editor.ToolkitEditorFactory( values=list(range(factory.low, factory.high + 1)), cols=factory.cols, ) if style == "simple": return factory._enum.simple_editor( ui, object, name, description, parent ) return factory._enum.custom_editor(ui, object, name, description, parent) # ------------------------------------------------------------------------- # Defines the mapping between editor factory 'mode's and Editor classes: # ------------------------------------------------------------------------- # Mapping between editor factory modes and simple editor classes SimpleEditorMap = { "slider": SimpleSliderEditor, "xslider": LargeRangeSliderEditor, "spinner": SimpleSpinEditor, "enum": SimpleEnumEditor, "text": RangeTextEditor, "logslider": LogRangeSliderEditor, } # Mapping between editor factory modes and custom editor classes CustomEditorMap = { "slider": SimpleSliderEditor, "xslider": LargeRangeSliderEditor, "spinner": SimpleSpinEditor, "enum": CustomEnumEditor, "text": RangeTextEditor, "logslider": LogRangeSliderEditor, } traitsui-7.2.1/traitsui/qt4/date_range_editor.py0000644000076500000240000000516414046644454022402 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! import datetime from pyface.qt import QtCore, QtGui from pyface.qt.QtGui import QFont from traits.api import Dict from .date_editor import CustomEditor as DateCustomEditor class CustomEditor(DateCustomEditor): def init(self, parent): if not self.factory.multi_select: raise ValueError("multi_select must be true.") super().init(parent) def update_editor(self): """ Updates the editor when the object trait changes externally to the editor. """ start_date, end_date = self.value if start_date is not None and end_date is not None: self._apply_style_to_range(start_date, end_date) elif start_date is None and end_date is None: self.apply_unselected_style_to_all() else: raise ValueError( "The start and end dates must be either both defined or " "both be None. Got {!r}".format(self.value) ) def update_object(self, q_date): """ Handles the user entering input data in the edit control. """ value = datetime.date(q_date.year(), q_date.month(), q_date.day()) start_date, end_date = self.value if ( self.factory.allow_no_selection and start_date is not None and end_date is not None and start_date < end_date ): self.value = (None, None) self.apply_unselected_style_to_all() return if start_date is None: start_date = value if end_date is None: end_date = value if start_date != end_date: start_date = value end_date = value elif value > start_date: end_date = value else: start_date = value self.value = (start_date, end_date) self._apply_style_to_range(start_date, end_date) def _apply_style_to_range(self, start_date, end_date): num_days = (end_date - start_date).days + 1 selected_dates = ( start_date + datetime.timedelta(days=i) for i in range(num_days) ) self.apply_unselected_style_to_all() for dt in selected_dates: self.select_date(dt) traitsui-7.2.1/traitsui/qt4/extra/0000755000076500000240000000000014046644526017506 5ustar aayresstaff00000000000000traitsui-7.2.1/traitsui/qt4/extra/led_editor.py0000644000076500000240000000176714046644454022205 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! from pyface.qt import QtGui from traitsui.qt4.editor import Editor from traitsui.basic_editor_factory import BasicEditorFactory from traits.api import Any, Undefined class _LEDEditor(Editor): def init(self, parent): self.control = QtGui.QLCDNumber() self.control.setSegmentStyle(QtGui.QLCDNumber.Flat) self.set_tooltip() def update_editor(self): self.control.display(self.str_value) class LEDEditor(BasicEditorFactory): #: The editor class to be created klass = _LEDEditor #: Alignment is not supported for QT backend alignment = Any(Undefined) traitsui-7.2.1/traitsui/qt4/extra/__init__.py0000644000076500000240000000000014046644454021605 0ustar aayresstaff00000000000000traitsui-7.2.1/traitsui/qt4/extra/bounds_editor.py0000644000076500000240000001441014046644454022720 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! from pyface.qt import QtGui, QtCore from traits.api import Float, Any, Str, Either from traitsui.editors.api import RangeEditor from traitsui.qt4.editor import Editor from traitsui.qt4.extra.range_slider import RangeSlider class _BoundsEditor(Editor): evaluate = Any() min = Any() max = Any() low = Any() high = Any() format = Str() def init(self, parent): """ Finishes initializing the editor by creating the underlying toolkit widget. """ factory = self.factory if not factory.low_name: self.low = factory.low if not factory.high_name: self.high = factory.high self.max = factory.max self.min = factory.min self.format = factory.format self.evaluate = factory.evaluate self.sync_value(factory.evaluate_name, "evaluate", "from") self.sync_value(factory.low_name, "low", "both") self.sync_value(factory.high_name, "high", "both") self.control = QtGui.QWidget() panel = QtGui.QHBoxLayout(self.control) panel.setContentsMargins(0, 0, 0, 0) self._label_lo = QtGui.QLineEdit(self.format % self.low) self._label_lo.editingFinished.connect(self.update_low_on_enter) panel.addWidget(self._label_lo) # The default size is a bit too big and probably doesn't need to grow. sh = self._label_lo.sizeHint() sh.setWidth(sh.width() // 2) self._label_lo.setMaximumSize(sh) self.control.slider = slider = RangeSlider(QtCore.Qt.Horizontal) slider.setTracking(factory.auto_set) slider.setMinimum(0) slider.setMaximum(10000) slider.setPageStep(1000) slider.setSingleStep(100) slider.setLow(self._convert_to_slider(self.low)) slider.setHigh(self._convert_to_slider(self.high)) slider.sliderMoved.connect(self.update_object_on_scroll) panel.addWidget(slider) self._label_hi = QtGui.QLineEdit(self.format % self.high) self._label_hi.editingFinished.connect(self.update_high_on_enter) panel.addWidget(self._label_hi) # The default size is a bit too big and probably doesn't need to grow. sh = self._label_hi.sizeHint() sh.setWidth(sh.width() // 2) self._label_hi.setMaximumSize(sh) self.set_tooltip(slider) self.set_tooltip(self._label_lo) self.set_tooltip(self._label_hi) def update_low_on_enter(self): try: try: low = eval(str(self._label_lo.text()).strip()) if self.evaluate is not None: low = self.evaluate(low) except Exception as ex: low = self.low self._label_lo.setText(self.format % self.low) if not self.factory.is_float: low = int(low) if low > self.high: low = self.high - self._step_size() self._label_lo.setText(self.format % low) self.control.slider.setLow(self._convert_to_slider(low)) self.low = low except: pass def update_high_on_enter(self): try: try: high = eval(str(self._label_hi.text()).strip()) if self.evaluate is not None: high = self.evaluate(high) except: high = self.high self._label_hi.setText(self.format % self.high) if not self.factory.is_float: high = int(high) if high < self.low: high = self.low + self._step_size() self._label_hi.setText(self.format % high) self.control.slider.setHigh(self._convert_to_slider(high)) self.high = high except: pass def update_object_on_scroll(self, pos): low = self._convert_from_slider(self.control.slider.low()) high = self._convert_from_slider(self.control.slider.high()) if self.factory.is_float: self.low = low self.high = high else: self.low = int(low) self.high = int(high) # update the sliders to the int values or the sliders # will jiggle self.control.slider.setLow(self._convert_to_slider(low)) self.control.slider.setHigh(self._convert_to_slider(high)) def update_editor(self): return def _check_max_and_min(self): # check if max & min have been defined: if self.max is None: self.max = self.high if self.min is None: self.min = self.low def _step_size(self): slider_delta = ( self.control.slider.maximum() - self.control.slider.minimum() ) range_delta = self.max - self.min return float(range_delta) / slider_delta def _convert_from_slider(self, slider_val): self._check_max_and_min() return self.min + slider_val * self._step_size() def _convert_to_slider(self, value): self._check_max_and_min() return ( self.control.slider.minimum() + (value - self.min) / self._step_size() ) def _low_changed(self, low): if self.control is None: return if self._label_lo is not None: self._label_lo.setText(self.format % low) self.control.slider.setLow(self._convert_to_slider(low)) def _high_changed(self, high): if self.control is None: return if self._label_hi is not None: self._label_hi.setText(self.format % high) self.control.slider.setHigh(self._convert_to_slider(self.high)) class BoundsEditor(RangeEditor): min = Either(None, Float) max = Either(None, Float) def _get_simple_editor_class(self): return _BoundsEditor def _get_custom_editor_class(self): return _BoundsEditor traitsui-7.2.1/traitsui/qt4/extra/progress_renderer.py0000644000076500000240000000334214046644454023614 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! """ A renderer which displays a progress bar. """ # System library imports from pyface.qt import QtCore, QtGui # ETS imports from traitsui.qt4.table_editor import TableDelegate class ProgressRenderer(TableDelegate): """ A renderer which displays a progress bar. """ # ------------------------------------------------------------------------- # QAbstractItemDelegate interface # ------------------------------------------------------------------------- def paint(self, painter, option, index): """ Paint the progressbar. """ # Get the column and object column = index.model()._editor.columns[index.column()] obj = index.data(QtCore.Qt.UserRole) # set up progress bar options progress_bar_option = QtGui.QStyleOptionProgressBar() progress_bar_option.rect = option.rect progress_bar_option.minimum = column.get_minimum(obj) progress_bar_option.maximum = column.get_maximum(obj) progress_bar_option.progress = int(column.get_raw_value(obj)) progress_bar_option.textVisible = column.get_text_visible() progress_bar_option.text = column.get_value(obj) # Draw it style = QtGui.QApplication.instance().style() style.drawControl( QtGui.QStyle.CE_ProgressBar, progress_bar_option, painter ) traitsui-7.2.1/traitsui/qt4/extra/checkbox_renderer.py0000644000076500000240000001072214046644454023536 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! """ A renderer which displays a checked-box for a True value and an unchecked box for a false value. """ # System library imports from pyface.qt import QtCore, QtGui # ETS imports from traitsui.qt4.table_editor import TableDelegate class CheckboxRenderer(TableDelegate): """ A renderer which displays a checked-box for a True value and an unchecked box for a false value. """ # ------------------------------------------------------------------------- # QAbstractItemDelegate interface # ------------------------------------------------------------------------- def editorEvent(self, event, model, option, index): """ Reimplemented to handle mouse button clicks. """ if ( event.type() == QtCore.QEvent.MouseButtonRelease and event.button() == QtCore.Qt.LeftButton ): column = index.model()._editor.columns[index.column()] obj = index.data(QtCore.Qt.UserRole) checked = bool(column.get_raw_value(obj)) column.set_value(obj, not checked) return True else: return False def paint(self, painter, option, index): """ Reimplemented to paint the checkbox. """ # Determine whether the checkbox is check or unchecked column = index.model()._editor.columns[index.column()] obj = index.data(QtCore.Qt.UserRole) checked = column.get_raw_value(obj) # First draw the background painter.save() row_brushes = [option.palette.base(), option.palette.alternateBase()] if option.state & QtGui.QStyle.State_Selected: if option.state & QtGui.QStyle.State_Active: color_group = QtGui.QPalette.Active else: color_group = QtGui.QPalette.Inactive bg_brush = option.palette.brush( color_group, QtGui.QPalette.Highlight ) else: bg_brush = index.data(QtCore.Qt.BackgroundRole) if bg_brush == NotImplemented or bg_brush is None: if index.model()._editor.factory.alternate_bg_color: bg_brush = row_brushes[index.row() % 2] else: bg_brush = row_brushes[0] painter.fillRect(option.rect, bg_brush) # Then draw the checkbox style = QtGui.QApplication.instance().style() box = QtGui.QStyleOptionButton() box.palette = option.palette # Align the checkbox appropriately. box.rect = option.rect size = style.sizeFromContents( QtGui.QStyle.CT_CheckBox, box, QtCore.QSize(), None ) box.rect.setWidth(size.width()) margin = style.pixelMetric(QtGui.QStyle.PM_ButtonMargin, box) alignment = column.horizontal_alignment if alignment == "left": box.rect.setLeft(option.rect.left() + margin) elif alignment == "right": box.rect.setLeft(option.rect.right() - size.width() - margin) else: # FIXME: I don't know why I need the 2 pixels, but I do. box.rect.setLeft( option.rect.left() + option.rect.width() // 2 - size.width() // 2 + margin - 2 ) # We mark the checkbox always active even when not selected, so # it's clear if it's ticked or not on OSX. See bug #439 if option.state & QtGui.QStyle.State_Enabled: box.state = QtGui.QStyle.State_Enabled | QtGui.QStyle.State_Active if checked: box.state |= QtGui.QStyle.State_On else: box.state |= QtGui.QStyle.State_Off style.drawControl(QtGui.QStyle.CE_CheckBox, box, painter) painter.restore() def sizeHint(self, option, index): """ Reimplemented to provide size hint based on a checkbox """ box = QtGui.QStyleOptionButton() style = QtGui.QApplication.instance().style() return style.sizeFromContents( QtGui.QStyle.CT_CheckBox, box, QtCore.QSize(), None ) traitsui-7.2.1/traitsui/qt4/extra/range_slider.py0000644000076500000240000001525114046644454022522 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! from pyface.qt import QtGui, QtCore class RangeSlider(QtGui.QSlider): """ A slider for ranges. This class provides a dual-slider for ranges, where there is a defined maximum and minimum, as is a normal slider, but instead of having a single slider value, there are 2 slider values. This class emits the same signals as the QSlider base class, with the exception of valueChanged """ def __init__(self, *args): super().__init__(*args) self._low = self.minimum() self._high = self.maximum() self.pressed_control = QtGui.QStyle.SC_None self.hover_control = QtGui.QStyle.SC_None self.click_offset = 0 # 0 for the low, 1 for the high, -1 for both self.active_slider = 0 def low(self): return self._low def setLow(self, low): self._low = low self.update() def high(self): return self._high def setHigh(self, high): self._high = high self.update() def paintEvent(self, event): # based on # http://qt.gitorious.org/qt/qt/blobs/master/src/gui/widgets/qslider.cpp painter = QtGui.QPainter(self) style = QtGui.QApplication.style() for i, value in enumerate([self._low, self._high]): opt = QtGui.QStyleOptionSlider() self.initStyleOption(opt) # Only draw the groove for the first slider so it doesn't get drawn # on top of the existing ones every time if i == 0: opt.subControls = ( QtGui.QStyle.SC_SliderGroove | QtGui.QStyle.SC_SliderHandle ) else: opt.subControls = QtGui.QStyle.SC_SliderHandle if self.tickPosition() != self.NoTicks: opt.subControls |= QtGui.QStyle.SC_SliderTickmarks if self.pressed_control: opt.activeSubControls = self.pressed_control opt.state |= QtGui.QStyle.State_Sunken else: opt.activeSubControls = self.hover_control opt.sliderPosition = value opt.sliderValue = value style.drawComplexControl( QtGui.QStyle.CC_Slider, opt, painter, self ) def mousePressEvent(self, event): event.accept() style = QtGui.QApplication.style() button = event.button() # In a normal slider control, when the user clicks on a point in the # slider's total range, but not on the slider part of the control the # control would jump the slider value to where the user clicked. # For this control, clicks which are not direct hits will slide both # slider parts if button: opt = QtGui.QStyleOptionSlider() self.initStyleOption(opt) self.active_slider = -1 for i, value in enumerate([self._low, self._high]): opt.sliderPosition = value hit = style.hitTestComplexControl( style.CC_Slider, opt, event.pos(), self ) if hit == style.SC_SliderHandle: self.active_slider = i self.pressed_control = hit self.triggerAction(self.SliderMove) self.setRepeatAction(self.SliderNoAction) self.setSliderDown(True) break if self.active_slider < 0: self.pressed_control = QtGui.QStyle.SC_SliderHandle self.click_offset = self.__pixelPosToRangeValue( self.__pick(event.pos()) ) self.triggerAction(self.SliderMove) self.setRepeatAction(self.SliderNoAction) else: event.ignore() def mouseMoveEvent(self, event): if self.pressed_control != QtGui.QStyle.SC_SliderHandle: event.ignore() return event.accept() new_pos = self.__pixelPosToRangeValue(self.__pick(event.pos())) opt = QtGui.QStyleOptionSlider() self.initStyleOption(opt) if self.active_slider < 0: offset = new_pos - self.click_offset self._high += offset self._low += offset if self._low < self.minimum(): diff = self.minimum() - self._low self._low += diff self._high += diff if self._high > self.maximum(): diff = self.maximum() - self._high self._low += diff self._high += diff elif self.active_slider == 0: if new_pos >= self._high: new_pos = self._high - 1 self._low = new_pos else: if new_pos <= self._low: new_pos = self._low + 1 self._high = new_pos self.click_offset = new_pos self.update() self.sliderMoved.emit(new_pos) def __pick(self, pt): if self.orientation() == QtCore.Qt.Horizontal: return pt.x() else: return pt.y() def __pixelPosToRangeValue(self, pos): opt = QtGui.QStyleOptionSlider() self.initStyleOption(opt) style = QtGui.QApplication.style() gr = style.subControlRect( style.CC_Slider, opt, style.SC_SliderGroove, self ) sr = style.subControlRect( style.CC_Slider, opt, style.SC_SliderHandle, self ) if self.orientation() == QtCore.Qt.Horizontal: slider_length = sr.width() slider_min = gr.x() slider_max = gr.right() - slider_length + 1 else: slider_length = sr.height() slider_min = gr.y() slider_max = gr.bottom() - slider_length + 1 return style.sliderValueFromPosition( self.minimum(), self.maximum(), pos - slider_min, slider_max - slider_min, opt.upsideDown, ) if __name__ == "__main__": import sys def echo(value): print(value) app = QtGui.QApplication(sys.argv) slider = RangeSlider() slider.setMinimum(0) slider.setMaximum(10000) slider.setLow(0) slider.setHigh(10000) slider.sliderMoved.connect(echo) slider.show() app.exec_() traitsui-7.2.1/traitsui/qt4/extra/table_image_renderer.py0000644000076500000240000000572614046644454024211 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! """ A renderer which will display a cell-specific image in addition to some text displayed in the same way the default renderer would. """ # System library imports from pyface.qt import QtCore, QtGui # ETS imports from traits.api import Bool from traitsui.qt4.table_editor import TableDelegate class TableImageRenderer(TableDelegate): """ A renderer which will display a cell-specific image in addition to some text displayed in the same way the default renderer would. """ #: Should the image be scaled to the size of the cell scale_to_cell = Bool(True) # ------------------------------------------------------------------------- # TableImageRenderer interface # ------------------------------------------------------------------------- def get_image_for_obj(self, value, row, col): """ Return the image for the cell given the raw cell value and the row and column numbers. """ return None # ------------------------------------------------------------------------- # QAbstractItemDelegate interface # ------------------------------------------------------------------------- def paint(self, painter, option, index): """ Overriden to draw images. """ # First draw any text/background by delegating to our superclass QtGui.QStyledItemDelegate.paint(self, painter, option, index) # Now draw the image, if possible value = index.data(QtCore.Qt.UserRole) image = self.get_image_for_obj(value, index.row(), index.column()) if image: image = image.create_bitmap() if self.scale_to_cell: w = min(image.width(), option.rect.width()) h = min(image.height(), option.rect.height()) else: w = image.width() h = image.height() x = option.rect.x() y = option.rect.y() + (option.rect.height() - h) / 2 target = QtCore.QRect(x, y, w, h) painter.drawPixmap(target, image) def sizeHint(self, option, index): """ Overriden to take image size into account when providing a size hint. """ size = QtGui.QStyledItemDelegate.sizeHint(self, option, index) value = index.data(QtCore.Qt.UserRole) image = self.get_image_for_obj(value, index.row(), index.column()) if image: image = image.create_bitmap() size.setWidth(max(image.width(), size.width())) size.setHeight(max(image.height(), size.height())) return size traitsui-7.2.1/traitsui/qt4/extra/qt_view.py0000644000076500000240000000557414046644454021551 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! """ Defines a Traits UI View that allows for the customization of Qt-specific widget properties. """ # Standard library imports. import logging # System library imports. from pyface.qt import QtGui # Enthought library imports. from traits.api import File, List, Str from traitsui.view import View from io import open # Logger. logger = logging.getLogger(__name__) class QtView(View): """ A View that allows the specification of Qt style sheets. """ #: An optional string containing a Qt style sheet. style_sheet = Str() #: An optional file path for a Qt style sheet. style_sheet_path = File() #: A list of trait names that defines the order for focus switching via #: Tab/Shift+Tab. If the view contains multiple items for a specified trait # name, the order is undefined. tab_order = List(Str) # ------------------------------------------------------------------------- # Creates a UI user interface object: # ------------------------------------------------------------------------- def ui( self, context, parent=None, kind=None, view_elements=None, handler=None, id="", scrollable=None, args=None, ): ui = super().ui( context, parent, kind, view_elements, handler, id, scrollable, args ) if self.style_sheet: ui.control.setStyleSheet(self.style_sheet) if self.style_sheet_path: try: with open(self.style_sheet_path, "r", encoding="utf8") as f: ui.control.setStyleSheet(f.read()) except IOError: logger.exception("Error loading Qt style sheet") if len(self.tab_order) >= 2: previous = self._get_editor_control(ui, self.tab_order[0]) for i in range(1, len(self.tab_order)): current = self._get_editor_control(ui, self.tab_order[i]) QtGui.QWidget.setTabOrder(previous, current) previous = current return ui # ------------------------------------------------------------------------- # Private interface: # ------------------------------------------------------------------------- def _get_editor_control(self, ui, name): control = None editors = ui.get_editors(name) if editors: control = editors[0].control else: logger.warning("No item for '%s' trait" % name) return control traitsui-7.2.1/traitsui/qt4/date_editor.py0000644000076500000240000002145614046644454021230 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! """ A Traits UI editor for datetime.date objects. """ import datetime from pyface.qt import QtCore, QtGui from traits.api import Bool, Date, Dict, Instance, Set from .editor import Editor from .editor_factory import ReadonlyEditor as BaseReadonlyEditor from traitsui.editors.date_editor import CellFormat class SimpleEditor(Editor): """ Simple Traits UI date editor that wraps QDateEdit. """ def init(self, parent): """ Finishes initializing the editor by creating the underlying toolkit widget. """ self.control = QtGui.QDateEdit() if hasattr(self.factory, "qt_date_format"): self.control.setDisplayFormat(self.factory.qt_date_format) if not self.factory.allow_future: self.control.setMaximumDate(QtCore.QDate.currentDate()) if getattr(self.factory, "maximum_date_name", None): obj, extended_name, func = self.parse_extended_name( self.factory.maximum_date_name ) self.factory.maximum_date = func() if getattr(self.factory, "minimum_date_name", None): obj, extended_name, func = self.parse_extended_name( self.factory.minimum_date_name ) self.factory.minimum_date = func() if getattr(self.factory, "minimum_date", None): min_date = QtCore.QDate( self.factory.minimum_date.year, self.factory.minimum_date.month, self.factory.minimum_date.day, ) self.control.setMinimumDate(min_date) if getattr(self.factory, "maximum_date", None): max_date = QtCore.QDate( self.factory.maximum_date.year, self.factory.maximum_date.month, self.factory.maximum_date.day, ) self.control.setMaximumDate(max_date) self.control.dateChanged.connect(self.update_object) def dispose(self): """ Disposes of the contents of an editor.""" if self.control is not None: self.control.dateChanged.disconnect(self.update_object) super().dispose() def update_editor(self): """ Updates the editor when the object trait changes externally to the editor. """ value = self.value if value: q_date = QtCore.QDate(value.year, value.month, value.day) self.control.setDate(q_date) def update_object(self, q_date): """ Handles the user entering input data in the edit control. """ self.value = datetime.date(q_date.year(), q_date.month(), q_date.day()) class CustomEditor(Editor): """ Custom Traits UI date editor that wraps QCalendarWidget. """ #: Style used for when a date is unselected. #: Mapping from datetime.date to CellFormat _unselected_styles = Dict(Date, Instance(CellFormat)) #: Selected dates (used when multi_select is true) _selected = Set(Date) def init(self, parent): """ Finishes initializing the editor by creating the underlying toolkit widget. """ self.control = QtGui.QCalendarWidget() if not self.factory.allow_future: self.control.setMaximumDate(QtCore.QDate.currentDate()) self.control.clicked.connect(self.update_object) def dispose(self): """ Disposes of the contents of an editor.""" if self.control is not None: self.control.clicked.disconnect(self.update_object) super().dispose() def update_editor(self): """ Updates the editor when the object trait changes externally to the editor. """ value = self.value if value: if not self.factory.multi_select: q_date = QtCore.QDate(value.year, value.month, value.day) self.control.setSelectedDate(q_date) else: self.apply_unselected_style_to_all() for date in value: self.apply_style(self.factory.selected_style, date) self._selected = set(value) def update_object(self, q_date): """ Handles the user entering input data in the edit control. """ value = datetime.date(q_date.year(), q_date.month(), q_date.day()) if self.factory.multi_select: if value in self.value: self.unselect_date(value) else: self.select_date(value) self.value = sorted(self._selected) else: self.value = value def unselect_date(self, date): self._selected.remove(date) self.apply_unselected_style(date) def select_date(self, date): self._selected.add(date) self.apply_style(self.factory.selected_style, date) def set_unselected_style(self, style, date): """ Set the style used for a date when it is not selected.""" self._unselected_styles[date] = style if self.factory.multi_select: if date not in self.value: self.apply_style(style, date) else: self.apply_style(style, date) def apply_style(self, style, date): """ Apply a given style to a given date.""" qdt = QtCore.QDate(date) textformat = self.control.dateTextFormat(qdt) _apply_cellformat(style, textformat) self.control.setDateTextFormat(qdt, textformat) def apply_unselected_style(self, date): """ Apply the style for when a date is unselected.""" # Resets the text format on the given dates textformat = QtGui.QTextCharFormat() if date in self._unselected_styles: _apply_cellformat(self._unselected_styles[date], textformat) qdt = QtCore.QDate(date) self.control.setDateTextFormat(qdt, textformat) def apply_unselected_style_to_all(self): """ Make all the selected dates appear unselected. """ for date in self._selected: self.apply_unselected_style(date) # ------------------------------------------------------------------------------ # 'ReadonlyEditor' class: # ------------------------------------------------------------------------------ class ReadonlyEditor(BaseReadonlyEditor): """ Readonly Traits UI date editor that uses a QLabel for the view. """ def _get_str_value(self): """ Replace the default string value with our own date verision. """ if not self.value: return self.factory.message else: return self.value.strftime(self.factory.strftime) # ------------------------------------------------------------------------ # Helper functions for styling # ------------------------------------------------------------------------ def _apply_cellformat(cf, textformat): """ Applies the formatting in the cellformat cf to the QTextCharFormat object provided. """ if cf.italics is not None: textformat.setFontItalic(cf.italics) if cf.underline is not None: textformat.setFontUnderline(cf.underline) if cf.bold is not None: if cf.bold: weight = QtGui.QFont.Bold else: weight = QtGui.QFont.Normal textformat.setFontWeight(weight) if cf.bgcolor is not None: textformat.setBackground(_color_to_brush(cf.bgcolor)) if cf.fgcolor is not None: textformat.setForeground(_color_to_brush(cf.fgcolor)) def _textformat_to_cellformat(textformat): """ Convert QTextCharFormat to a CellFormat """ bg_brush = textformat.background() fg_brush = textformat.foreground() return CellFormat( italics=textformat.fontItalic(), underline=textformat.fontUnderline(), bold=textformat.fontWeight() == QtGui.QFont.Bold, bgcolor=_brush_to_color(bg_brush), fgcolor=_brush_to_color(fg_brush), ) def _color_to_brush(color): """ Returns a QBrush with the color specified in **color** """ brush = QtGui.QBrush() if isinstance(color, str) and hasattr(QtCore.Qt, color): col = getattr(QtCore.Qt, color) elif isinstance(color, tuple): col = QtGui.QColor() col.setRgb(*color[:4]) else: raise RuntimeError("Invalid color specification '%r'" % color) brush.setColor(col) return brush def _brush_to_color(brush): if brush.style() == 0: # Qt.BrushStyle.NoBrush return None color = brush.color() return (color.red(), color.green(), color.blue(), color.alpha()) traitsui-7.2.1/traitsui/qt4/table_editor.py0000644000076500000240000014216514046644454021403 0ustar aayresstaff00000000000000# (C) Copyright 2009-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! # ------------------------------------------------------------------------------ # Copyright (c) 2008, Riverbank Computing Limited # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license. # # When used with the GPL version of PyQt the additional terms described # in the PyQt GPL exception also apply. # # Author: Riverbank Computing Limited # ------------------------------------------------------------------------------ """ Defines the table editor for the PyQt user interface toolkit. """ from pyface.qt import QtCore, QtGui, is_qt5 from pyface.image_resource import ImageResource from pyface.timer.api import do_later from pyface.ui_traits import Image from traits.api import ( Any, Bool, Button, Event, List, HasTraits, Instance, Int, Property, Str, cached_property, observe, ) from traitsui.api import ( EnumEditor, InstanceEditor, Group, Item, Label, ObjectColumn, TableColumn, TableFilter, UI, View, default_handler, spring, ) from traitsui.editors.table_editor import ( BaseTableEditor, ReversedList, customize_filter, ) from traitsui.ui_traits import SequenceTypes from .editor import Editor from .table_model import TableModel, SortFilterTableModel if is_qt5: def set_qheader_section_resize_mode(header): return header.setSectionResizeMode else: def set_qheader_section_resize_mode(header): return header.setResizeMode class TableEditor(Editor, BaseTableEditor): """ Editor that presents data in a table. Optionally, tables can have a set of filters that reduce the set of data displayed, according to their criteria. """ # ------------------------------------------------------------------------- # Trait definitions: # ------------------------------------------------------------------------- #: The table view control associated with the editor: table_view = Any() def _table_view_default(self): return TableView(editor=self) #: A wrapper around the source model which provides filtering and sorting: model = Instance(SortFilterTableModel) def _model_default(self): return SortFilterTableModel(editor=self) #: The table model associated with the editor: source_model = Instance(TableModel) def _source_model_default(self): return TableModel(editor=self) #: The set of columns currently defined on the editor: columns = List(TableColumn) #: The currently selected row(s), column(s), or cell(s). selected = Any() #: The current selected row selected_row = Property(Any, observe="selected") selected_indices = Property(Any, observe="selected") #: Current filter object (should be a TableFilter or callable or None): filter = Any() #: The indices of the table items currently passing the table filter: filtered_indices = List(Int) #: Current filter summary message filter_summary = Str("All items") #: Update the filtered contents. update_filter = Event() #: The event fired when a cell is clicked on: click = Event() #: The event fired when a cell is double-clicked on: dclick = Event() #: The Traits UI associated with the table editor toolbar: toolbar_ui = Instance(UI) #: The context menu associated with empty space in the table empty_menu = Instance(QtGui.QMenu) #: The context menu associated with the vertical header header_menu = Instance(QtGui.QMenu) #: The context menu actions for moving rows up and down header_menu_up = Instance(QtGui.QAction) header_menu_down = Instance(QtGui.QAction) #: The index of the row that was last right clicked on its vertical header header_row = Int() #: Whether to auto-size the columns or not. auto_size = Bool(False) #: Dictionary mapping image names to QIcons images = Any({}) #: Dictionary mapping ImageResource objects to QIcons image_resources = Any({}) #: An image being converted: image = Image def init(self, parent): """Finishes initializing the editor by creating the underlying toolkit widget.""" factory = self.factory self.filter = factory.filter columns = factory.columns[:] if (len(columns) == 0) and (len(self.value) > 0): columns = [ ObjectColumn(name=name) for name in self.value[0].editable_traits() ] self.columns = columns if factory.table_view_factory is not None: self.table_view = factory.table_view_factory(editor=self) if factory.source_model_factory is not None: self.source_model = factory.source_model_factory(editor=self) if factory.model_factory is not None: self.model = factory.model_factory(editor=self) # Create the table view and model self.model.setDynamicSortFilter(True) self.model.setSourceModel(self.source_model) self.table_view.setModel(self.model) # Create the vertical header context menu and connect to its signals self.header_menu = QtGui.QMenu(self.table_view) insertable = factory.row_factory is not None if factory.editable: if insertable: action = self.header_menu.addAction("Insert new item") action.triggered.connect(self._on_context_insert) if factory.deletable: action = self.header_menu.addAction("Delete item") action.triggered.connect(self._on_context_remove) if factory.reorderable: if factory.editable and (insertable or factory.deletable): self.header_menu.addSeparator() self.header_menu_up = self.header_menu.addAction("Move item up") self.header_menu_up.triggered.connect(self._on_context_move_up) self.header_menu_down = self.header_menu.addAction( "Move item down" ) self.header_menu_down.triggered.connect(self._on_context_move_down) # Create the empty space context menu and connect its signals self.empty_menu = QtGui.QMenu(self.table_view) action = self.empty_menu.addAction("Add new item") action.triggered.connect(self._on_context_append) # When sorting is enabled, the first column is initially displayed with # the triangle indicating it is the sort index, even though no sorting # has actually been done. Sort here for UI/model consistency. if self.factory.sortable and not self.factory.reorderable: self.model.sort(0, QtCore.Qt.AscendingOrder) # Connect to the mode specific selection handler and select the first # row/column/cell. Do this before creating the edit_view to make sure # that it has a valid item to use when constructing its view. smodel = self.table_view.selectionModel() mode_slot = getattr(self, "_on_%s_selection" % factory.selection_mode) smodel.selectionChanged.connect(mode_slot) self.table_view.setCurrentIndex(self.model.index(0, 0)) # Create the toolbar if necessary if factory.show_toolbar and len(factory.filters) > 0: main_view = QtGui.QWidget() layout = QtGui.QVBoxLayout(main_view) layout.setContentsMargins(0, 0, 0, 0) self.toolbar_ui = self.edit_traits( parent=parent, kind="subpanel", view=View( Group( Item("filter{View}", editor=factory._filter_editor), Item("filter_summary{Results}", style="readonly"), spring, orientation="horizontal", ), resizable=True, ), ) self.toolbar_ui.parent = self.ui layout.addWidget(self.toolbar_ui.control) layout.addWidget(self.table_view) else: main_view = self.table_view # Create auxiliary editor and encompassing splitter if necessary mode = factory.selection_mode if (factory.edit_view == " ") or mode not in {"row", "rows"}: self.control = main_view else: if factory.orientation == "horizontal": self.control = QtGui.QSplitter(QtCore.Qt.Horizontal) else: self.control = QtGui.QSplitter(QtCore.Qt.Vertical) self.control.setSizePolicy( QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Expanding ) self.control.addWidget(main_view) self.control.setStretchFactor(0, 2) # Create the row editor below the table view editor = InstanceEditor(view=factory.edit_view, kind="subpanel") self._ui = self.edit_traits( parent=self.control, kind="subpanel", view=View( Item( "selected_row", style="custom", editor=editor, show_label=False, resizable=True, width=factory.edit_view_width, height=factory.edit_view_height, ), resizable=True, handler=factory.edit_view_handler, ), ) self._ui.parent = self.ui self.control.addWidget(self._ui.control) self.control.setStretchFactor(1, 1) # Connect to the click and double click handlers self.table_view.clicked.connect(self._on_click) self.table_view.doubleClicked.connect(self._on_dclick) # Make sure we listen for 'items' changes as well as complete list # replacements self.context_object.on_trait_change( self.update_editor, self.extended_name + "_items", dispatch="ui" ) # Listen for changes to traits on the objects in the list self.context_object.on_trait_change( self.refresh_editor, self.extended_name + ".-", dispatch="ui" ) # Listen for changes on column definitions self.on_trait_change(self._update_columns, "columns", dispatch="ui") self.on_trait_change( self._update_columns, "columns_items", dispatch="ui" ) # Set up the required externally synchronized traits is_list = mode in ("rows", "columns", "cells") self.sync_value(factory.click, "click", "to") self.sync_value(factory.dclick, "dclick", "to") self.sync_value(factory.columns_name, "columns", is_list=True) self.sync_value(factory.selected, "selected", is_list=is_list) self.sync_value( factory.selected_indices, "selected_indices", is_list=is_list ) self.sync_value(factory.filter_name, "filter", "from") self.sync_value(factory.filtered_indices, "filtered_indices", "to") self.sync_value(factory.update_filter_name, "update_filter", "from") self.auto_size = self.factory.auto_size # Initialize the ItemDelegates for each column self._update_columns() def dispose(self): """ Disposes of the contents of an editor.""" self.model.beginResetModel() self.model.endResetModel() # Make sure that the auxiliary UIs are properly disposed if self.toolbar_ui is not None: self.toolbar_ui.dispose() if self._ui is not None: self._ui.dispose() # Remove listener for 'items' changes on object trait self.context_object.on_trait_change( self.update_editor, self.extended_name + "_items", remove=True ) # Remove listener for changes to traits on the objects in the list self.context_object.on_trait_change( self.refresh_editor, self.extended_name + ".-", remove=True ) # Remove listeners for column definition changes self.on_trait_change(self._update_columns, "columns", remove=True) self.on_trait_change( self._update_columns, "columns_items", remove=True ) super().dispose() def update_editor(self): """Updates the editor when the object trait changes externally to the editor.""" if self._no_notify: return self.table_view.setUpdatesEnabled(False) try: filtering = ( len(self.factory.filters) > 0 or self.filter is not None ) if filtering: self._update_filtering() # invalidate the model, but do not reset it. Resetting the model # may cause problems if the selection sync'ed traits are being used # externally to manage the selections self.model.invalidate() self.table_view.resizeColumnsToContents() if self.auto_size: self.table_view.resizeRowsToContents() finally: self.table_view.setUpdatesEnabled(True) def restore_prefs(self, prefs): """ Restores any saved user preference information associated with the editor. """ header = self.table_view.horizontalHeader() if header is not None and "column_state" in prefs: header.restoreState(prefs["column_state"]) def save_prefs(self): """ Returns any user preference information associated with the editor. """ prefs = {} header = self.table_view.horizontalHeader() if header is not None: prefs["column_state"] = header.saveState().data() return prefs def refresh_editor(self): """Requests that the underlying table widget to redraw itself.""" self.table_view.viewport().update() def create_new_row(self): """Creates a new row object using the provided factory.""" factory = self.factory kw = factory.row_factory_kw.copy() if "__table_editor__" in kw: kw["__table_editor__"] = self return self.ui.evaluate( factory.row_factory, *factory.row_factory_args, **kw ) def items(self): """Returns the raw list of model objects.""" items = self.value if not isinstance(items, SequenceTypes): items = [items] if self.factory and self.factory.reverse: items = ReversedList(items) return items def callx(self, func, *args, **kw): """Call a function without notifying the underlying table view or model.""" old = self._no_notify self._no_notify = True try: func(*args, **kw) finally: self._no_notify = old def setx(self, **keywords): """Set one or more attributes without notifying the underlying table view or model.""" old = self._no_notify self._no_notify = True try: for name, value in keywords.items(): setattr(self, name, value) finally: self._no_notify = old def set_selection(self, objects=[], notify=True): """Sets the current selection to a set of specified objects.""" if not isinstance(objects, list): objects = [objects] mode = self.factory.selection_mode indexes = [] flags = QtGui.QItemSelectionModel.ClearAndSelect # In the case of row or column selection, we need a dummy value for the # other dimension that has not been filtered. source_index = self.model.mapToSource(self.model.index(0, 0)) source_row, source_column = source_index.row(), source_index.column() # Selection mode is 'row' or 'rows' if mode.startswith("row"): flags |= QtGui.QItemSelectionModel.Rows items = self.items() for obj in objects: try: row = items.index(obj) except ValueError: continue indexes.append(self.source_model.index(row, source_column)) # Selection mode is 'column' or 'columns' elif mode.startswith("column"): flags |= QtGui.QItemSelectionModel.Columns for name in objects: column = self._column_index_from_name(name) if column != -1: indexes.append(self.source_model.index(source_row, column)) # Selection mode is 'cell' or 'cells' else: items = self.items() for obj, name in objects: try: row = items.index(obj) except ValueError: continue column = self._column_index_from_name(name) if column != -1: indexes.append(self.source_model.index(row, column)) # Perform the selection so that only one signal is emitted selection = QtGui.QItemSelection() smodel = self.table_view.selectionModel() if smodel is None: # guard against selection during tear-down return for index in indexes: index = self.model.mapFromSource(index) if index.isValid(): smodel.setCurrentIndex( index, QtGui.QItemSelectionModel.NoUpdate ) selection.select(index, index) smodel.blockSignals(not notify) try: if len(selection.indexes()): smodel.clear() smodel.select(selection, flags) else: smodel.clear() finally: smodel.blockSignals(False) self.refresh_editor() # ------------------------------------------------------------------------- # Private methods: # ------------------------------------------------------------------------- def _column_index_from_name(self, name): """Returns the index of the column with the given name or -1 if no column exists with that name.""" for i, column in enumerate(self.columns): if name == column.name: return i return -1 def _customize_filters(self, filter): """Allows the user to customize the current set of table filters.""" filter_editor = TableFilterEditor(editor=self) ui = filter_editor.edit_traits(parent=self.control) if ui.result: self.factory.filters = filter_editor.templates self.filter = filter_editor.selected_filter else: self.setx(filter=filter) def _update_filtering(self): """Update the filter summary and the filtered indices.""" items = self.items() num_items = len(items) f = self.filter if f is None: self._filtered_cache = None self.filtered_indices = list(range(num_items)) self.filter_summary = "All %i items" % num_items else: if not callable(f): f = f.filter self._filtered_cache = fc = [f(item) for item in items] self.filtered_indices = fi = [i for i, ok in enumerate(fc) if ok] self.filter_summary = "%i of %i items" % (len(fi), num_items) def _add_image(self, image_resource): """ Adds a new image to the image map. """ image = image_resource.create_icon() self.image_resources[image_resource] = image self.images[image_resource.name] = image return image def _get_image(self, image): """ Converts a user specified image to a QIcon. """ if isinstance(image, str): self.image = image image = self.image if isinstance(image, ImageResource): result = self.image_resources.get(image) if result is not None: return result return self._add_image(image) return self.images.get(image) # -- Trait Property getters/setters --------------------------------------- @cached_property def _get_selected_row(self): """Gets the selected row, or the first row if multiple rows are selected.""" mode = self.factory.selection_mode if mode.startswith("column"): return None elif mode == "row": return self.selected try: if mode == "rows": return self.selected[0] elif mode == "cell": return self.selected[0] elif mode == "cells": return self.selected[0][0] except IndexError: return None @cached_property def _get_selected_indices(self): """Gets the row,column indices which match the selected trait""" selection_items = self.table_view.selectionModel().selection() indices = self.model.mapSelectionToSource(selection_items).indexes() if self.factory.selection_mode.startswith("row"): indices = sorted(set(index.row() for index in indices)) elif self.factory.selection_mode.startswith("column"): indices = sorted(set(index.column() for index in indices)) else: indices = [(index.row(), index.column()) for index in indices] if self.factory.selection_mode in {"rows", "columns", "cells"}: return indices elif len(indices) > 0: return indices[0] else: return -1 def _set_selected_indices(self, indices): if not isinstance(indices, list): indices = [indices] selected = [] if self.factory.selection_mode.startswith("row"): for row in indices: selected.append(self.value[row]) elif self.factory.selection_mode.startswith("column"): for col in indices: selected.append(self.columns[col].name) else: for row, col in indices: selected.append((self.value[row], self.columns[col].name)) self.selected = selected self.set_selection(self.selected, False) # -- Trait Change Handlers ------------------------------------------------ def _filter_changed(self, old_filter, new_filter): """Handles the current filter being changed.""" if not self._no_notify: if new_filter is customize_filter: do_later(self._customize_filters, old_filter) else: self._update_filtering() self.model.invalidate() self.set_selection(self.selected) def _update_columns(self): """Handle the column list being changed.""" self.table_view.setItemDelegate(TableDelegate(self.table_view)) for i, column in enumerate(self.columns): if column.renderer: self.table_view.setItemDelegateForColumn(i, column.renderer) self.model.invalidate() self.table_view.resizeColumnsToContents() if self.auto_size: self.table_view.resizeRowsToContents() def _selected_changed(self, new): """Handle the selected row/column/cell being changed externally.""" if not self._no_notify: self.set_selection(self.selected, notify=False) def _update_filter_changed(self): """ The filter has changed internally. """ self._filter_changed(self.filter, self.filter) # -- Event Handlers ------------------------------------------------------- def _on_row_selection(self, added, removed): """Handle the row selection being changed.""" items = self.items() indexes = self.table_view.selectionModel().selectedRows() if len(indexes): index = self.model.mapToSource(indexes[0]) selected = items[index.row()] else: selected = None self.setx(selected=selected) self.ui.evaluate(self.factory.on_select, self.selected) def _on_rows_selection(self, added, removed): """Handle the rows selection being changed.""" items = self.items() indexes = self.table_view.selectionModel().selectedRows() selected = [ items[self.model.mapToSource(index).row()] for index in indexes ] self.setx(selected=selected) self.ui.evaluate(self.factory.on_select, self.selected) def _on_column_selection(self, added, removed): """Handle the column selection being changed.""" indexes = self.table_view.selectionModel().selectedColumns() if len(indexes): index = self.model.mapToSource(indexes[0]) selected = self.columns[index.column()].name else: selected = "" self.setx(selected=selected) self.ui.evaluate(self.factory.on_select, self.selected) def _on_columns_selection(self, added, removed): """Handle the columns selection being changed.""" indexes = self.table_view.selectionModel().selectedColumns() selected = [ self.columns[self.model.mapToSource(index).column()].name for index in indexes ] self.setx(selected=selected) self.ui.evaluate(self.factory.on_select, self.selected) def _on_cell_selection(self, added, removed): """Handle the cell selection being changed.""" items = self.items() indexes = self.table_view.selectionModel().selectedIndexes() if len(indexes): index = self.model.mapToSource(indexes[0]) obj = items[index.row()] column_name = self.columns[index.column()].name else: obj = None column_name = "" selected = (obj, column_name) self.setx(selected=selected) self.ui.evaluate(self.factory.on_select, self.selected) def _on_cells_selection(self, added, removed): """Handle the cells selection being changed.""" items = self.items() indexes = self.table_view.selectionModel().selectedIndexes() selected = [] for index in indexes: index = self.model.mapToSource(index) obj = items[index.row()] column_name = self.columns[index.column()].name selected.append((obj, column_name)) self.setx(selected=selected) self.ui.evaluate(self.factory.on_select, self.selected) def _on_click(self, index): """Handle a cell being clicked.""" index = self.model.mapToSource(index) column = self.columns[index.column()] obj = self.items()[index.row()] # Fire the same event on the editor after mapping it to a model object # and column name: self.click = (obj, column) # Invoke the column's click handler: column.on_click(obj) def _on_dclick(self, index): """Handle a cell being double clicked.""" index = self.model.mapToSource(index) column = self.columns[index.column()] obj = self.items()[index.row()] # Fire the same event on the editor after mapping it to a model object # and column name: self.dclick = (obj, column) # Invoke the column's double-click handler: column.on_dclick(obj) def _on_context_insert(self): """Handle 'insert item' being selected from the header context menu.""" self.model.insertRow(self.header_row) def _on_context_append(self): """Handle 'add item' being selected from the empty space context menu.""" self.model.insertRow(self.model.rowCount()) def _on_context_remove(self): """Handle 'remove item' being selected from the header context menu.""" self.model.removeRow(self.header_row) def _on_context_move_up(self): """Handle 'move up' being selected from the header context menu.""" self.model.moveRow(self.header_row, self.header_row - 1) def _on_context_move_down(self): """Handle 'move down' being selected from the header context menu.""" self.model.moveRow(self.header_row, self.header_row + 1) # Define the SimpleEditor class. SimpleEditor = TableEditor # Define the ReadonlyEditor class. ReadonlyEditor = TableEditor # ------------------------------------------------------------------------- # Qt widgets that have been configured to behave as expected by Traits UI: # ------------------------------------------------------------------------- class TableDelegate(QtGui.QStyledItemDelegate): """ A QStyledItemDelegate which fetches Traits UI editors. """ def createEditor(self, parent, option, index): """ Reimplemented to return the editor for a given index.""" model = index.model() index = model.mapToSource(index) table_editor = model._editor column = table_editor.columns[index.column()] obj = table_editor.items()[index.row()] factory = column.get_editor(obj) style = column.get_style(obj) if factory is None: return None target, name = column.target_name(obj) handler = default_handler() if table_editor.ui.context is None: ui = UI(handler=handler) else: context = table_editor.ui.context.copy() context["table_editor_object"] = context["object"] context["object"] = target ui = UI(handler=handler, context=context) # Create and initialize the editor factory_method = getattr(factory, style + "_editor") editor = factory_method(ui, target, name, "", parent) editor.prepare(parent) control = editor.control control.setParent(parent) # Required for QMouseEvents to propagate to the widget control.setFocusPolicy(QtCore.Qt.StrongFocus) # The table view's background will shine through unless the editor # paints its own background control.setAutoFillBackground(True) # Make sure that editors are disposed of correctly # will be disposed in closeEditor of the TableView control._editor = editor return control def updateEditorGeometry(self, editor, option, index): """ Update the editor's geometry. """ editor.setGeometry(option.rect) def paint(self, painter, option, index): self.initStyleOption(option, index) if (option.state & QtGui.QStyle.State_Selected) and ( option.state & QtGui.QStyle.State_Active ): factory = self.parent()._editor.factory if factory.selection_bg_color is not None: option.palette.setColor( QtGui.QPalette.Highlight, factory.selection_bg_color_ ) if factory.selection_color is not None: option.palette.setColor( QtGui.QPalette.HighlightedText, factory.selection_color_ ) QtGui.QApplication.style().drawControl( QtGui.QStyle.CE_ItemViewItem, option, painter, None ) class TableView(QtGui.QTableView): """A QTableView configured to behave as expected by TraitsUI.""" _SELECTION_MAP = { "row": ( QtGui.QAbstractItemView.SelectRows, QtGui.QAbstractItemView.SingleSelection, ), "rows": ( QtGui.QAbstractItemView.SelectRows, QtGui.QAbstractItemView.ExtendedSelection, ), "column": ( QtGui.QAbstractItemView.SelectColumns, QtGui.QAbstractItemView.SingleSelection, ), "columns": ( QtGui.QAbstractItemView.SelectColumns, QtGui.QAbstractItemView.ExtendedSelection, ), "cell": ( QtGui.QAbstractItemView.SelectItems, QtGui.QAbstractItemView.SingleSelection, ), "cells": ( QtGui.QAbstractItemView.SelectItems, QtGui.QAbstractItemView.ExtendedSelection, ), } def __init__(self, editor): """Initialise the object.""" QtGui.QTableView.__init__(self) self._initial_size = False self._editor = editor factory = editor.factory # Configure the grid lines. self.setShowGrid(factory.show_lines) # Configure the selection behaviour. self.setCornerButtonEnabled(False) behav, mode = self._SELECTION_MAP[factory.selection_mode] self.setSelectionBehavior(behav) self.setSelectionMode(mode) # Configure the editing behavior. triggers = ( QtGui.QAbstractItemView.DoubleClicked | QtGui.QAbstractItemView.SelectedClicked ) if factory.edit_on_first_click and not factory.reorderable: triggers |= QtGui.QAbstractItemView.CurrentChanged self.setEditTriggers(triggers) # Configure the reordering and sorting behavior. self.setDragEnabled(True) self.viewport().setAcceptDrops(True) self.setDropIndicatorShown(True) if factory.reorderable: self.setDragDropMode(QtGui.QAbstractItemView.InternalMove) if factory.sortable: self.setSortingEnabled(True) if factory._qt_stylesheet is not None: self.setStyleSheet(factory._qt_stylesheet) self.resizeColumnsToContents() def setModel(self, model): super().setModel(model) self._update_header_sizing() def contextMenuEvent(self, event): """Reimplemented to create context menus for cells and empty space.""" # Determine the logical indices of the cell where click occured hheader, vheader = self.horizontalHeader(), self.verticalHeader() position = event.globalPos() row = vheader.logicalIndexAt(vheader.mapFromGlobal(position)) column = hheader.logicalIndexAt(hheader.mapFromGlobal(position)) # Map the logical row index to a real index for the source model model = self.model() row = model.mapToSource(model.index(row, 0)).row() # Show a context menu for empty space at bottom of table... editor = self._editor if row == -1: factory = editor.factory if factory.editable and factory.row_factory is not None: event.accept() editor.empty_menu.exec_(position) # ...or show a context menu for a cell. elif column != -1: obj = editor.items()[row] column = editor.columns[column] menu_manager = column.get_menu(obj) if menu_manager is None: menu_manager = editor.factory.menu if menu_manager is not None: event.accept() selected = editor.selected if not isinstance(selected, SequenceTypes): selected = [selected] if obj not in selected: selected = [obj] editor.set_menu_context(selected, obj, column) menu = menu_manager.create_menu(self, controller=editor) menu.exec_(position) def eventFilter(self, obj, event): """Reimplemented to create context menu for the vertical header.""" vheader = self.verticalHeader() if obj is vheader and event.type() == QtCore.QEvent.ContextMenu: event.accept() editor = self._editor row = vheader.logicalIndexAt(event.pos().y()) if row == -1: factory = editor.factory if factory.row_factory is not None: editor.empty_menu.exec_(event.globalPos()) else: editor.header_row = row if editor.factory.reorderable: show_up = row > 0 show_down = row < editor.model.rowCount() - 1 editor.header_menu_up.setVisible(show_up) editor.header_menu_down.setVisible(show_down) self._editor.header_menu.exec_(event.globalPos()) return True else: return QtGui.QTableView.eventFilter(self, obj, event) def resizeEvent(self, event): """Reimplemented to size the table columns when the size of the table changes. Because the layout algorithm requires that the available space be known, we have to wait until the UI that contains this table gives it its initial size.""" QtGui.QTableView.resizeEvent(self, event) if self._editor.auto_size: self.resizeColumnsToContents() self.resizeRowsToContents() else: parent = self.parent() if ( not self._initial_size and parent and (self.isVisible() or isinstance(parent, QtGui.QMainWindow)) ): self._initial_size = True if self._editor.auto_size: self.resizeColumnsToContents() self.resizeRowsToContents() def sizeHint(self): """Reimplemented to define a better size hint for the width of the TableEditor.""" size_hint = QtGui.QTableView.sizeHint(self) # This method is sometimes called by Qt after the editor has been # disposed but before this control has been deleted: if self._editor.factory is None: return size_hint width = self.style().pixelMetric( QtGui.QStyle.PM_ScrollBarExtent, QtGui.QStyleOptionHeader(), self ) for column in range(len(self._editor.columns)): width += self.sizeHintForColumn(column) size_hint.setWidth(width) return size_hint def sizeHintForColumn(self, column_index): """Reimplemented to support absolute width specification via TableColumns and to improve the metric for autosizing columns.""" editor = self._editor column = editor.columns[column_index] requested_width = column.get_width() # Autosize based on column contents and label width. Qt's default # implementation of this function does content, we handle the label. if requested_width < 1: base_width = QtGui.QTableView.sizeHintForColumn(self, column_index) # Determine what font to use in the calculation font = column.get_text_font(None) if font is None: font = self.font() font.setBold(True) else: font = QtGui.QFont(font) # Determine the width of the column label text = column.get_label() # QFontMetrics.width() is deprecated and Qt docs suggest using # horizontalAdvance() instead, but is only available since Qt 5.11 if QtCore.__version_info__ >= (5, 11): width = QtGui.QFontMetrics(font).horizontalAdvance(text) else: width = QtGui.QFontMetrics(font).width(text) # Add margin to the calculated width as appropriate style = self.style() option = QtGui.QStyleOptionHeader() width += ( style.pixelMetric( QtGui.QStyle.PM_HeaderGripMargin, option, self ) * 2 ) if editor.factory.sortable and not editor.factory.reorderable: # Add size of sort indicator width += style.pixelMetric( QtGui.QStyle.PM_HeaderMarkSize, option, self ) # Add distance between sort indicator and text width += style.pixelMetric( QtGui.QStyle.PM_HeaderMargin, option, self ) return max(base_width, width) # Or else set width absolutely else: return requested_width def resizeColumnsToContents(self): """ Support proportional column width specifications. """ # TODO: The proportional size specification approach found in the # TableColumns is not entirely compatible with the ability to # specify the resize_mode. Namely, there are combinations of # specifications that are redundant, and others which are # contradictory. Rework this method so that the various values # for **width** have a well-defined, sensible meaning for each # of the possible values of resize_mode. editor = self._editor available_space = self.viewport().width() hheader = self.horizontalHeader() # Compute sizes for columns with absolute or no size requests proportional = [] for column_index in range(len(editor.columns)): column = editor.columns[column_index] requested_width = column.get_width() if ( column.resize_mode in ("interactive", "stretch") and 0 < requested_width <= 1.0 ): proportional.append((column_index, requested_width)) elif ( column.resize_mode == "interactive" and requested_width < 0 and self._initial_size ): # Keep previous size if initial sizing has been done available_space -= hheader.sectionSize(column_index) else: base_width = hheader.sectionSizeHint(column_index) width = max(base_width, self.sizeHintForColumn(column_index)) hheader.resizeSection(column_index, width) available_space -= width # Now use the remaining space for columns with proportional width # requests for column_index, percent in proportional: base_width = hheader.sectionSizeHint(column_index) width = max(base_width, int(percent * available_space)) hheader.resizeSection(column_index, width) def closeEditor(self, control, hint): # dispose traits editor associated with control if any editor = getattr(control, "_editor", None) if editor is not None: editor.dispose() delattr(control, "_editor") return super().closeEditor(control, hint) def _update_header_sizing(self): """ Header section sizing can be done only after a valid model is set. Otherwise results in segfault with Qt5. """ editor = self._editor factory = editor.factory # Configure the row headings. vheader = self.verticalHeader() set_resize_mode = set_qheader_section_resize_mode(vheader) insertable = factory.row_factory is not None if ( factory.editable and (insertable or factory.deletable) ) or factory.reorderable: vheader.installEventFilter(self) set_resize_mode(QtGui.QHeaderView.ResizeToContents) elif not factory.show_row_labels: vheader.hide() if factory.row_height > 0: vheader.setDefaultSectionSize(factory.row_height) self.setAlternatingRowColors(factory.alternate_bg_color) self.setHorizontalScrollMode(QtGui.QAbstractItemView.ScrollPerPixel) # Configure the column headings. # We detect if there are any stretchy sections at all; if not, then # we make the last non-fixed-size column stretchy. hheader = self.horizontalHeader() set_resize_mode = set_qheader_section_resize_mode(hheader) resize_mode_map = dict( interactive=QtGui.QHeaderView.Interactive, fixed=QtGui.QHeaderView.Fixed, stretch=QtGui.QHeaderView.Stretch, resize_to_contents=QtGui.QHeaderView.ResizeToContents, ) stretchable_columns = [] for i, column in enumerate(editor.columns): set_resize_mode(i, resize_mode_map[column.resize_mode]) if column.resize_mode in ("stretch", "interactive"): stretchable_columns.append(i) if not stretchable_columns: # Use the behavior from before the "resize_mode" trait was added # to TableColumn hheader.setStretchLastSection(True) else: # hheader.setSectionResizeMode( # stretchable_columns[-1], QtGui.QHeaderView.Stretch) hheader.setStretchLastSection(False) if factory.show_column_labels: hheader.setHighlightSections(False) else: hheader.hide() # ------------------------------------------------------------------------- # Editor for configuring the filters available to a TableEditor: # ------------------------------------------------------------------------- class TableFilterEditor(HasTraits): """ An editor that manages table filters. """ # ------------------------------------------------------------------------- # Trait definitions: # ------------------------------------------------------------------------- #: TableEditor this editor is associated with editor = Instance(TableEditor) #: The list of filters filters = List(TableFilter) #: The list of available templates from which filters can be created templates = Property(List(TableFilter), observe="filters") #: The currently selected filter template selected_template = Instance(TableFilter) #: The currently selected filter selected_filter = Instance(TableFilter, allow_none=True) #: The view to use for the current filter selected_filter_view = Property(observe="selected_filter") #: Buttons for add/removing filters add_button = Button("New") remove_button = Button("Delete") # The default view for this editor view = View( Group( Group( Group( Item("add_button", enabled_when="selected_template"), Item( "remove_button", enabled_when="len(templates) > 1 and " "selected_filter is not None", ), orientation="horizontal", show_labels=False, ), Label("Base filter for new filters:"), Item("selected_template", editor=EnumEditor(name="templates")), Item( "selected_filter", style="custom", editor=EnumEditor(name="filters", mode="list"), ), show_labels=False, ), Item( "selected_filter", width=0.75, style="custom", editor=InstanceEditor(view_name="selected_filter_view"), ), id="TableFilterEditorSplit", show_labels=False, layout="split", orientation="horizontal", ), id="traitsui.qt4.table_editor.TableFilterEditor", buttons=["OK", "Cancel"], kind="livemodal", resizable=True, width=800, height=400, title="Customize filters", ) # ------------------------------------------------------------------------- # Private methods: # ------------------------------------------------------------------------- # -- Trait Property getter/setters ---------------------------------------- @cached_property def _get_selected_filter_view(self): view = None if self.selected_filter: model = self.editor.model index = model.mapToSource(model.index(0, 0)) if index.isValid(): obj = self.editor.items()[index.row()] else: obj = None view = self.selected_filter.edit_view(obj) return view @cached_property def _get_templates(self): templates = [f for f in self.editor.factory.filters if f.template] templates.extend(self.filters) return templates # -- Trait Change Handlers ------------------------------------------------ def _editor_changed(self): self.filters = [ f.clone_traits() for f in self.editor.factory.filters if not f.template ] self.selected_template = self.templates[0] def _add_button_fired(self): """ Create a new filter based on the selected template and select it. """ new_filter = self.selected_template.clone_traits() new_filter.template = False new_filter.name = new_filter._name = "New filter" self.filters.append(new_filter) self.selected_filter = new_filter def _remove_button_fired(self): """ Delete the currently selected filter. """ if self.selected_template == self.selected_filter: self.selected_template = self.templates[0] index = self.filters.index(self.selected_filter) del self.filters[index] if index < len(self.filters): self.selected_filter = self.filters[index] else: self.selected_filter = None @observe("selected_filter:name") def _update_filter_list(self, event): """ A hack to make the EnumEditor watching the list of filters refresh their text when the name of the selected filter changes. """ filters = self.filters self.filters = [] self.filters = filters traitsui-7.2.1/traitsui/qt4/helper.py0000644000076500000240000002040114046644454020211 0ustar aayresstaff00000000000000# (C) Copyright 2008-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! # ------------------------------------------------------------------------------ # Copyright (c) 2007, Riverbank Computing Limited # All rights reserved. # # This software is provided without warranty under the terms of the BSD license. # However, when used with the GPL version of PyQt the additional terms # described in the PyQt GPL exception also apply # # Author: Riverbank Computing Limited # ------------------------------------------------------------------------------ """ Defines helper functions and classes used to define PyQt-based trait editors and trait editor factories. """ import os.path from pyface.qt import QtCore, QtGui, is_qt5, qt_api from pyface.ui_traits import convert_image from traits.api import Enum, CTrait, BaseTraitHandler, TraitError from traitsui.ui_traits import SequenceTypes is_pyqt = qt_api in {"pyqt", "pyqt5"} #: Layout orientation for a control and its associated editor Orientation = Enum("horizontal", "vertical") #: Dock-related stubs. DockStyle = Enum("horizontal", "vertical", "tab", "fixed") def pixmap_cache(name, path=None): """ Convert an image file name to a cached QPixmap Returns the QPixmap corresponding to a filename. If the filename does not contain a path component, 'path' is used (or if 'path' is not specified, the local 'images' directory is used). """ if name[:1] == "@": image = convert_image(name.replace(" ", "_").lower()) if image is not None: return image.create_image() name_path, name = os.path.split(name) name = name.replace(" ", "_").lower() if name_path: filename = os.path.join(name_path, name) else: if path is None: filename = os.path.join(os.path.dirname(__file__), "images", name) else: filename = os.path.join(path, name) filename = os.path.abspath(filename) if is_qt5: pm = QtGui.QPixmapCache.find(filename) if pm is None: pm = QtGui.QPixmap(filename) QtGui.QPixmapCache.insert(filename, pm) else: pm = QtGui.QPixmap() if not QtGui.QPixmapCache.find(filename, pm): pm.load(filename) QtGui.QPixmapCache.insert(filename, pm) return pm def position_window(window, width=None, height=None, parent=None): """ Positions a window on the screen with a specified width and height so that the window completely fits on the screen if possible. """ # Get the available geometry of the screen containing the window. sgeom = QtGui.QApplication.desktop().availableGeometry(window) screen_dx = sgeom.width() screen_dy = sgeom.height() # Use the frame geometry even though it is very unlikely that the X11 frame # exists at this point. fgeom = window.frameGeometry() width = width or fgeom.width() height = height or fgeom.height() if parent is None: parent = window._parent if parent is None: # Center the popup on the screen. window.move((screen_dx - width) / 2, (screen_dy - height) / 2) return # Calculate the desired size of the popup control: if isinstance(parent, QtGui.QWidget): gpos = parent.mapToGlobal(QtCore.QPoint()) x = gpos.x() y = gpos.y() cdx = parent.width() cdy = parent.height() # Get the frame height of the parent and assume that the window will # have a similar frame. Note that we would really like the height of # just the top of the frame. pw = parent.window() fheight = pw.frameGeometry().height() - pw.height() else: # Special case of parent being a screen position and size tuple (used # to pop-up a dialog for a table cell): x, y, cdx, cdy = parent fheight = 0 x -= (width - cdx) / 2 y += cdy + fheight # Position the window (making sure it will fit on the screen). window.move( max(0, min(x, screen_dx - width)), max(0, min(y, screen_dy - height)) ) def restore_window(ui): """ Restores the user preference items for a specified UI. """ prefs = ui.restore_prefs() if prefs is not None: ui.control.setGeometry(*prefs) def save_window(ui): """ Saves the user preference items for a specified UI. """ geom = ui.control.geometry() ui.save_prefs((geom.x(), geom.y(), geom.width(), geom.height())) class IconButton(QtGui.QPushButton): """ The IconButton class is a push button that contains a small image or a standard icon provided by the current style. """ def __init__(self, icon, slot): """ Initialise the button. icon is either the name of an image file or one of the QtGui.QStyle.SP_* values. """ QtGui.QPushButton.__init__(self) # Get the current style. sty = QtGui.QApplication.instance().style() # Get the minimum icon size to use. ico_sz = sty.pixelMetric(QtGui.QStyle.PM_ButtonIconSize) if isinstance(icon, str): pm = pixmap_cache(icon) # Increase the icon size to accomodate the image if needed. pm_width = pm.width() pm_height = pm.height() if ico_sz < pm_width: ico_sz = pm_width if ico_sz < pm_height: ico_sz = pm_height ico = QtGui.QIcon(pm) else: ico = sty.standardIcon(icon) # Configure the button. self.setIcon(ico) self.setFlat(True) self.setFocusPolicy(QtCore.Qt.NoFocus) self.clicked.connect(slot) def sizeHint(self): """ Reimplement sizeHint to return a recommended button size based on the size of the icon. Returns ------- size : QtCore.QSize """ self.ensurePolished() # We want the button to have a size similar to the icon. # Using the size computed for a tool button gives a desirable size. option = QtGui.QStyleOptionButton() self.initStyleOption(option) size = self.style().sizeFromContents( QtGui.QStyle.CT_ToolButton, option, option.iconSize ) return size # ------------------------------------------------------------------------ # Text Rendering helpers # ------------------------------------------------------------------------ def wrap_text_with_elision(text, font, width, height): """ Wrap paragraphs to fit inside a given size, eliding if too long. Parameters ---------- text : unicode The text to wrap. font : QFont instance The font the text will be rendered in. width : int The width of the box the text will display in. height : int The height of the box the text will display in. Returns ------- lines : list of unicode The lines of text to display, split """ # XXX having an LRU cache on this might be useful font_metrics = QtGui.QFontMetrics(font) line_spacing = font_metrics.lineSpacing() y_offset = 0 lines = [] for paragraph in text.splitlines(): line_start = 0 text_layout = QtGui.QTextLayout(paragraph, font) text_layout.beginLayout() while y_offset + line_spacing <= height: line = text_layout.createLine() if not line.isValid(): break line.setLineWidth(width) line_start = line.textStart() line_end = line_start + line.textLength() line_text = paragraph[line_start:line_end].rstrip() lines.append(line_text) y_offset += line_spacing text_layout.endLayout() if y_offset + line_spacing > height: break if lines and y_offset + line_spacing > height: # elide last line as we ran out of room last_line = paragraph[line_start:] lines[-1] = font_metrics.elidedText( last_line, QtCore.Qt.ElideRight, width ) return lines traitsui-7.2.1/traitsui/qt4/font_editor.py0000644000076500000240000002130714046644454021254 0ustar aayresstaff00000000000000# (C) Copyright 2008-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! # ------------------------------------------------------------------------------ # Copyright (c) 2007, Riverbank Computing Limited # All rights reserved. # # This software is provided without warranty under the terms of the BSD license. # However, when used with the GPL version of PyQt the additional terms # described in the PyQt GPL exception also apply # # Author: Riverbank Computing Limited # ------------------------------------------------------------------------------ """ Defines the various font editors and the font editor factory, for the PyQt user interface toolkit.. """ from pyface.qt import QtCore, QtGui from traitsui.editors.font_editor import ( ToolkitEditorFactory as BaseToolkitEditorFactory, ) from .editor_factory import ( SimpleEditor as BaseSimpleEditor, TextEditor as BaseTextEditor, ReadonlyEditor as BaseReadonlyEditor, ) from .editor import Editor # Standard font point sizes PointSizes = [ "8", "9", "10", "11", "12", "14", "16", "18", "20", "22", "24", "26", "28", "36", "48", "72", ] # --------------------------------------------------------------------------- # The PyQtToolkitEditorFactory class. # --------------------------------------------------------------------------- ## We need to add qt4-specific methods to the editor factory, and so we create ## a subclass of the BaseToolkitEditorFactory. class ToolkitEditorFactory(BaseToolkitEditorFactory): """ PyQt editor factory for font editors. """ def to_qt4_font(self, editor): """ Returns a QFont object corresponding to a specified object's font trait. """ return QtGui.QFont(editor.value) def from_qt4_font(self, font): """ Gets the application equivalent of a QFont value. """ return font def str_font(self, font): """ Returns the text representation of the specified object trait value. """ weight = {QtGui.QFont.Light: " Light", QtGui.QFont.Bold: " Bold"}.get( font.weight(), "" ) style = { QtGui.QFont.StyleOblique: " Slant", QtGui.QFont.StyleItalic: " Italic", }.get(font.style(), "") return "%s point %s%s%s" % ( font.pointSize(), font.family(), style, weight, ) class SimpleFontEditor(BaseSimpleEditor): """ Simple style of font editor, which displays a text field that contains a text representation of the font value (using that font if possible). Clicking the field displays a font selection dialog box. """ def popup_editor(self): """ Invokes the pop-up editor for an object trait. """ fnt, ok = QtGui.QFontDialog.getFont( self.factory.to_qt4_font(self), self.control ) if ok: self.value = self.factory.from_qt4_font(fnt) self.update_editor() def update_editor(self): """ Updates the editor when the object trait changes externally to the editor. """ super().update_editor() set_font(self) def string_value(self, font): """ Returns the text representation of a specified font value. """ return self.factory.str_font(font) class CustomFontEditor(Editor): """ Custom style of font editor, which displays the following: * A text field containing the text representation of the font value (using that font if possible). * A combo box containing all available type face names. * A combo box containing the available type sizes. """ def init(self, parent): """ Finishes initializing the editor by creating the underlying toolkit widget. """ self.control = QtGui.QWidget() layout = QtGui.QVBoxLayout(self.control) layout.setContentsMargins(0, 0, 0, 0) # Add the standard font control: self._font = font = QtGui.QLineEdit(self.str_value) font.editingFinished.connect(self.update_object) layout.addWidget(font) # Add all of the font choice controls: layout2 = QtGui.QHBoxLayout() self._facename = control = QtGui.QFontComboBox() control.setEditable(False) control.currentFontChanged.connect(self.update_object_parts) layout2.addWidget(control) self._point_size = control = QtGui.QComboBox() control.addItems(PointSizes) control.currentIndexChanged.connect(self.update_object_parts) layout2.addWidget(control) # These don't have explicit controls. self._bold = self._italic = False layout.addLayout(layout2) def update_object(self): """ Handles the user changing the contents of the font text control. """ self.value = str(self._font.text()) self._set_font(self.factory.to_qt4_font(self)) self.update_editor() def update_object_parts(self): """ Handles the user modifying one of the font components. """ fnt = self._facename.currentFont() fnt.setBold(self._bold) fnt.setItalic(self._italic) psz = int(self._point_size.currentText()) fnt.setPointSize(psz) self.value = self.factory.from_qt4_font(fnt) self._font.setText(self.str_value) self._set_font(fnt) def update_editor(self): """ Updates the editor when the object trait changes externally to the editor. """ font = self.factory.to_qt4_font(self) self._bold = font.bold() self._italic = font.italic() self._facename.setCurrentFont(font) try: idx = PointSizes.index(str(font.pointSize())) except ValueError: idx = PointSizes.index("9") self._point_size.setCurrentIndex(idx) def string_value(self, font): """ Returns the text representation of a specified font value. """ return self.factory.str_font(font) def get_error_control(self): """ Returns the editor's control for indicating error status. """ return [self._font, self._facename, self._point_size] # -- Private Methods ------------------------------------------------------ def _set_font(self, font): """ Sets the font used by the text control to the specified font. """ font.setPointSize(min(10, font.pointSize())) self._font.setFont(font) class TextFontEditor(BaseTextEditor): """ Text style of font editor, which displays an editable text field containing a text representation of the font value (using that font if possible). """ def update_object(self): """ Handles the user changing the contents of the edit control. """ self.value = str(self.control.text()) def update_editor(self): """ Updates the editor when the object trait changes external to the editor. """ super().update_editor() set_font(self) def string_value(self, font): """ Returns the text representation of a specified font value. """ return self.factory.str_font(font) class ReadonlyFontEditor(BaseReadonlyEditor): """ Read-only style of font editor, which displays a read-only text field containing a text representation of the font value (using that font if possible). """ def update_editor(self): """ Updates the editor when the object trait changes external to the editor. """ super().update_editor() set_font(self) def string_value(self, font): """ Returns the text representation of a specified font value. """ return self.factory.str_font(font) # ------------------------------------------------------------------------- # Set the editor control's font to match a specified font: # ------------------------------------------------------------------------- def set_font(editor): """ Sets the editor control's font to match a specified font. """ editor.control.setFont(editor.factory.to_qt4_font(editor)) # Define the names SimpleEditor, CustomEditor, TextEditor and ReadonlyEditor # which are looked up by the editor factory for the font editor. SimpleEditor = SimpleFontEditor CustomEditor = CustomFontEditor TextEditor = TextFontEditor ReadonlyEditor = ReadonlyFontEditor traitsui-7.2.1/traitsui/qt4/csv_list_editor.py0000644000076500000240000000252614046644454022136 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! """ Defines the various text editors for the Qt user interface toolkit. The module is mainly a place-folder for TextEditor factories that have been augmented to also listen to changes in the items of the list object. """ from .text_editor import SimpleEditor as QtSimpleEditor from .text_editor import CustomEditor as QtCustomEditor from .text_editor import ReadonlyEditor as QtReadonlyEditor from ..editors.csv_list_editor import _prepare_method, _dispose_method class SimpleEditor(QtSimpleEditor): """ Simple Editor style for CSVListEditor. """ prepare = _prepare_method dispose = _dispose_method class CustomEditor(QtCustomEditor): """ Custom Editor style for CSVListEditor. """ prepare = _prepare_method dispose = _dispose_method class ReadonlyEditor(QtReadonlyEditor): """ Readonly Editor style for CSVListEditor. """ prepare = _prepare_method dispose = _dispose_method TextEditor = SimpleEditor traitsui-7.2.1/traitsui/qt4/array_view_editor.py0000644000076500000240000000142414046644454022454 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! from traitsui.ui_editors.array_view_editor import ( _ArrayViewEditor as BaseArrayViewEditor, ) from .ui_editor import UIEditor # ------------------------------------------------------------------------- # '_ArrayViewEditor' class: # ------------------------------------------------------------------------- class _ArrayViewEditor(BaseArrayViewEditor, UIEditor): pass traitsui-7.2.1/traitsui/qt4/enum_editor.py0000644000076500000240000003724714046644454021264 0ustar aayresstaff00000000000000# (C) Copyright 2009-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! # ------------------------------------------------------------------------------ # Copyright (c) 2008, Riverbank Computing Limited # All rights reserved. # # This software is provided without warranty under the terms of the BSD license. # However, when used with the GPL version of PyQt the additional terms # described in the PyQt GPL exception also apply # # Author: Riverbank Computing Limited # ------------------------------------------------------------------------------ """ Defines the various editors and the editor factory for single-selection enumerations, for the PyQt user interface toolkit. """ from functools import reduce from pyface.qt import QtCore, QtGui from traits.api import Bool, Property from traitsui.helper import enum_values_changed from .constants import OKColor, ErrorColor from .editor import Editor completion_mode_map = { "popup": QtGui.QCompleter.PopupCompletion, "inline": QtGui.QCompleter.InlineCompletion, } class BaseEditor(Editor): """ Base class for enumeration editors. """ #: Current set of enumeration names: names = Property() #: Current mapping from names to values: mapping = Property() #: Current inverse mapping from values to names: inverse_mapping = Property() # ------------------------------------------------------------------------- # BaseEditor Interface # ------------------------------------------------------------------------- def values_changed(self): """ Recomputes the cached data based on the underlying enumeration model or the values of the factory. """ self._names, self._mapping, self._inverse_mapping = enum_values_changed( self._value(), self.string_value ) def rebuild_editor(self): """ Rebuilds the contents of the editor whenever the original factory object's **values** trait changes. This is not needed for the Qt backends. """ raise NotImplementedError # ------------------------------------------------------------------------- # Editor Interface # ------------------------------------------------------------------------- def init(self, parent): """ Finishes initializing the editor by creating the underlying toolkit widget. """ factory = self.factory if factory.name != "": self._object, self._name, self._value = self.parse_extended_name( factory.name ) self.values_changed() self._object.observe( self._values_changed, " " + self._name, dispatch="ui" ) else: self._value = lambda: self.factory.values self.values_changed() factory.observe( self._values_changed, "values", dispatch="ui" ) def dispose(self): """ Disposes of the contents of an editor. """ if self._object is not None: self._object.observe( self._values_changed, " " + self._name, remove=True, dispatch="ui" ) else: self.factory.observe( self._values_changed, "values", remove=True, dispatch="ui" ) super().dispose() # ------------------------------------------------------------------------- # Private interface # ------------------------------------------------------------------------- # Trait default handlers ------------------------------------------------- def _get_names(self): """ Gets the current set of enumeration names. """ return self._names def _get_mapping(self): """ Gets the current mapping. """ return self._mapping def _get_inverse_mapping(self): """ Gets the current inverse mapping. """ return self._inverse_mapping # Trait change handlers -------------------------------------------------- def _values_changed(self, event=None): """ Handles the underlying object model's enumeration set or factory's values being changed. """ self.values_changed() self.rebuild_editor() class SimpleEditor(BaseEditor): """ Simple style of enumeration editor, which displays a combo box. """ # ------------------------------------------------------------------------- # Editor Interface # ------------------------------------------------------------------------- def init(self, parent): """ Finishes initializing the editor by creating the underlying toolkit widget. """ super().init(parent) self.control = control = self.create_combo_box() control.addItems(self.names) control.currentIndexChanged[str].connect(self.update_object) if self.factory.evaluate is not None: control.setEditable(True) control.completer().setCompletionMode( completion_mode_map[self.factory.completion_mode] ) if self.factory.auto_set: control.editTextChanged.connect(self.update_text_object) else: control.lineEdit().editingFinished.connect( self.update_autoset_text_object ) control.setInsertPolicy(QtGui.QComboBox.NoInsert) self._no_enum_update = 0 self.set_tooltip() def update_editor(self): """ Updates the editor when the object trait changes externally to the editor. """ if self._no_enum_update == 0: self._no_enum_update += 1 if self.factory.evaluate is None: try: index = self.names.index(self.inverse_mapping[self.value]) self.control.setCurrentIndex(index) except Exception: self.control.setCurrentIndex(-1) else: try: self.control.setEditText(self.str_value) except Exception: self.control.setEditText("") self._no_enum_update -= 1 def error(self, excp): """ Handles an error that occurs while setting the object's trait value. """ self._set_background(ErrorColor) def rebuild_editor(self): """ Rebuilds the contents of the editor whenever the original factory object's **values** trait changes. """ self.control.blockSignals(True) try: self.control.clear() self.control.addItems(self.names) finally: self.control.blockSignals(False) self.update_editor() def set_size_policy(self, direction, resizable, springy, stretch): super().set_size_policy(direction, resizable, springy, stretch) if (direction == QtGui.QBoxLayout.LeftToRight and springy) or ( direction != QtGui.QBoxLayout.LeftToRight and resizable ): self.control.setSizeAdjustPolicy( QtGui.QComboBox.AdjustToContentsOnFirstShow ) # ------------------------------------------------------------------------- # Private interface # ------------------------------------------------------------------------- def create_combo_box(self): """ Returns the QComboBox used for the editor control. """ control = QtGui.QComboBox() control.setSizeAdjustPolicy(QtGui.QComboBox.AdjustToContents) control.setSizePolicy( QtGui.QSizePolicy.Maximum, QtGui.QSizePolicy.Fixed ) return control def _set_background(self, col): le = self.control.lineEdit() pal = QtGui.QPalette(le.palette()) pal.setColor(QtGui.QPalette.Base, col) le.setPalette(pal) # Signal handlers ------------------------------------------------------- def update_object(self, text): """ Handles the user selecting a new value from the combo box. """ if self._no_enum_update == 0: self._no_enum_update += 1 try: self.value = self.mapping[str(text)] except Exception: from traitsui.api import raise_to_debug raise_to_debug() self._no_enum_update -= 1 def update_text_object(self, text): """ Handles the user typing text into the combo box text entry field. """ if self._no_enum_update == 0: value = str(text) try: value = self.mapping[value] except Exception: try: value = self.factory.evaluate(value) except Exception as excp: self.error(excp) return self._no_enum_update += 1 try: self.value = value except Exception as excp: self._no_enum_update -= 1 self.error(excp) return self._set_background(OKColor) self._no_enum_update -= 1 def update_autoset_text_object(self): # Don't get the final text with the editingFinished signal if self.control is not None: text = self.control.lineEdit().text() return self.update_text_object(text) class RadioEditor(BaseEditor): """ Enumeration editor, used for the "custom" style, that displays radio buttons. """ #: Is the button layout row-major or column-major? row_major = Bool(False) # ------------------------------------------------------------------------- # Editor Interface # ------------------------------------------------------------------------- def init(self, parent): """ Finishes initializing the editor by creating the underlying toolkit widget. """ super().init(parent) self.control = QtGui.QWidget() layout = QtGui.QGridLayout(self.control) layout.setContentsMargins(0, 0, 0, 0) self._mapper = QtCore.QSignalMapper() self._mapper.mapped.connect(self.update_object) self.rebuild_editor() def update_editor(self): """ Updates the editor when the object trait changes externally to the editor. """ layout = self.control.layout() value = self.value for i in range(layout.count()): rb = layout.itemAt(i).widget() rb.setChecked(rb.value == value) def rebuild_editor(self): """ Rebuilds the contents of the editor whenever the original factory object's **values** trait changes. """ # Clear any existing content: self.clear_layout() # Get the current trait value: cur_name = self.str_value # Create a sizer to manage the radio buttons: names = self.names mapping = self.mapping n = len(names) cols = self.factory.cols rows = (n + cols - 1) // cols # incr will keep track of how to increment index so that as we traverse # the grid in row major order, the elements are added to appear in # the correct order if self.row_major: incr = [1] * cols else: incr = [n // cols] * cols rem = n % cols for i in range(cols): incr[i] += rem > i incr[-1] = -(reduce(lambda x, y: x + y, incr[:-1], 0) - 1) # e.g for a gird: # 0 2 4 # 1 3 5 # incr should be [2, 2, -3] # Add the set of all possible choices: layout = self.control.layout() index = 0 # populate the layout in row_major order for i in range(rows): for j in range(cols): if n > 0: name = names[index] rb = self.create_button(name) rb.value = mapping[name] rb.setChecked(name == cur_name) # The connection type is set to workaround Qt5 + MacOSX # issue with event dispatching. See enthought/traitsui#1308 rb.clicked.connect( self._mapper.map, type=QtCore.Qt.QueuedConnection ) self._mapper.setMapping(rb, index) self.set_tooltip(rb) layout.addWidget(rb, i, j) index += int(round(incr[j])) n -= 1 # ------------------------------------------------------------------------- # Private interface # ------------------------------------------------------------------------- def create_button(self, name): """ Returns the QAbstractButton used for the radio button. """ label = self.string_value(name, str.capitalize) return QtGui.QRadioButton(label) # Signal handlers ------------------------------------------------------- def update_object(self, index): """ Handles the user clicking one of the custom radio buttons. """ try: self.value = self.mapping[self.names[index]] except Exception: pass class ListEditor(BaseEditor): """ Enumeration editor, used for the "custom" style, that displays a list box. """ # ------------------------------------------------------------------------- # Editor Interface # ------------------------------------------------------------------------- def init(self, parent): """ Finishes initializing the editor by creating the underlying toolkit widget. """ super().init(parent) self.control = QtGui.QListWidget() self.control.currentTextChanged.connect(self.update_object) self.rebuild_editor() self.set_tooltip() def update_editor(self): """ Updates the editor when the object trait changes externally to the editor. """ control = self.control try: value = self.inverse_mapping[self.value] for row in range(control.count()): itm = control.item(row) if itm.text() == value: control.setCurrentItem(itm) control.scrollToItem(itm) break except Exception: pass def rebuild_editor(self): """ Rebuilds the contents of the editor whenever the original factory object's **values** trait changes. """ self.control.blockSignals(True) self.control.clear() for name in self.names: self.control.addItem(name) self.control.blockSignals(False) self.update_editor() # ------------------------------------------------------------------------- # Private interface # ------------------------------------------------------------------------- # Signal handlers ------------------------------------------------------- def update_object(self, text): """ Handles the user selecting a list box item. """ value = str(text) try: value = self.mapping[value] except Exception: try: value = self.factory.evaluate(value) except Exception: pass try: self.value = value except Exception: pass traitsui-7.2.1/traitsui/qt4/styled_date_editor.py0000644000076500000240000001014614046644454022606 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! from pyface.qt import QtCore, QtGui from pyface.qt.QtGui import QFont from traits.api import Dict # For a simple editor style, we just punt and use the same simple editor # as in the default date_editor. from .date_editor import SimpleEditor from .date_editor import CustomEditor as DateCustomEditor class CustomEditor(DateCustomEditor): dates = Dict() styles = Dict() def init(self, parent): super().init(parent) if not self.factory.allow_past: self.control.setMinimumDate(QtCore.QDate.currentDate()) if self.factory.dates_trait and self.factory.styles_trait: self.sync_value(self.factory.dates_trait, "dates", "from") self.sync_value(self.factory.styles_trait, "styles", "from") def _dates_changed(self, old, new): # Someone changed out the entire dict. The easiest, most robust # way to handle this is to reset the text formats of all the dates # in the old dict, and then set the dates in the new dict. if old: [ list(map(self._reset_formatting, dates)) for dates in old.values() ] if new: styles = getattr(self.object, self.factory.styles_trait, None) self._apply_styles(styles, new) def _dates_items_changed(self, event): # Handle the added and changed items groups_to_set = event.added groups_to_set.update(event.changed) styles = getattr(self.object, self.factory.styles_trait, None) self._apply_styles(styles, groups_to_set) # Handle the removed items by resetting them [ list(map(self._reset_formatting, dates)) for dates in event.removed.values() ] def _styles_changed(self, old, new): groups = getattr(self.object, self.factory.dates_trait, {}) if not new: # If no new styles, then reset all the dates to a default style [ list(map(self._reset_formatting, dates)) for dates in groups.values() ] else: self._apply_styles(new, groups) return def _styles_items_changed(self, event): groups = getattr(self.object, self.factory.dates_trait) styles = getattr(self.object, self.factory.styles_trait) names_to_update = list(event.added.keys()) + list(event.changed.keys()) modified_groups = dict( (name, groups[name]) for name in names_to_update ) self._apply_styles(styles, modified_groups) names_to_reset = list(event.removed.keys()) for name in names_to_reset: self._reset_formatting(groups[name]) return # ------------------------------------------------------------------------ # Helper functions # ------------------------------------------------------------------------ def _apply_style(self, style, dates): """ **style** is a CellFormat, **dates** is a list of datetime.date """ for dt in dates: self.set_unselected_style(style, date) return def _apply_styles(self, style_dict, date_dict): """ Applies the proper style out of style_dict to every (name,date_list) in date_dict. """ if not style_dict or not date_dict: return for groupname, dates in date_dict.items(): cellformat = style_dict.get(groupname, None) if not cellformat: continue for dt in dates: self.set_unselected_style(cellformat, dt) return def _reset_formatting(self, dates): # Resets the text format on the given dates for dt in dates: self.apply_unselected_style(date) traitsui-7.2.1/traitsui/qt4/compound_editor.py0000644000076500000240000000541314046644454022132 0ustar aayresstaff00000000000000# (C) Copyright 2008-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! # ------------------------------------------------------------------------------ # Copyright (c) 2007, Riverbank Computing Limited # All rights reserved. # # This software is provided without warranty under the terms of the BSD license. # However, when used with the GPL version of PyQt the additional terms # described in the PyQt GPL exception also apply # # Author: Riverbank Computing Limited # ------------------------------------------------------------------------------ """ Defines the compound editor and the compound editor factory for the PyQt user interface toolkit. """ from pyface.qt import QtGui from traits.api import Str from .editor import Editor class CompoundEditor(Editor): """ Editor for compound traits, which displays editors for each of the combined traits, in the appropriate style. """ # ------------------------------------------------------------------------- # Trait definitions: # ------------------------------------------------------------------------- #: The kind of editor to create for each list item kind = Str() def init(self, parent): """ Finishes initializing the editor by creating the underlying toolkit widget. """ self.control = QtGui.QWidget() layout = QtGui.QVBoxLayout(self.control) layout.setContentsMargins(0, 0, 0, 0) # Add all of the component trait editors: self._editors = editors = [] for factory in self.factory.editors: editor = getattr(factory, self.kind)( self.ui, self.object, self.name, self.description, None ) editor.prepare(self.control) layout.addWidget(editor.control) editors.append(editor) def update_editor(self): """ Updates the editor when the object trait changes externally to the editor. """ pass def dispose(self): """ Disposes of the contents of an editor. """ for editor in self._editors: editor.dispose() super().dispose() class SimpleEditor(CompoundEditor): #: The kind of editor to create for each list item. This value overrides #: the default. kind = "simple_editor" class CustomEditor(CompoundEditor): #: The kind of editor to create for each list item. This value overrides #: the default. kind = "custom_editor" traitsui-7.2.1/traitsui/qt4/editor.py0000644000076500000240000003544714046644454020240 0ustar aayresstaff00000000000000# (C) Copyright 2008-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! # ------------------------------------------------------------------------------ # Copyright (c) 2007, Riverbank Computing Limited # All rights reserved. # # This software is provided without warranty under the terms of the BSD license. # However, when used with the GPL version of PyQt the additional terms # described in the PyQt GPL exception also apply # # Author: Riverbank Computing Limited # ------------------------------------------------------------------------------ """ Defines the base class for PyQt editors. """ from pyface.qt import QtCore, QtGui from traits.api import HasTraits, Instance, Str, Callable from traitsui.api import Editor as UIEditor from .constants import OKColor, ErrorColor class Editor(UIEditor): """ Base class for PyQt editors for Traits-based UIs. """ def clear_layout(self): """ Delete the contents of a control's layout. """ layout = self.control.layout() while True: itm = layout.takeAt(0) if itm is None: break itm.widget().setParent(None) def _control_changed(self, control): """ Handles the **control** trait being set. """ # FIXME: Check we actually make use of this. if control is not None: control._editor = self def set_focus(self): """ Assigns focus to the editor's underlying toolkit widget. """ if self.control is not None: self.control.setFocus() def update_editor(self): """ Updates the editor when the object trait changes externally to the editor. """ new_value = self.str_value if self.control.text() != new_value: self.control.setText(new_value) def error(self, excp): """ Handles an error that occurs while setting the object's trait value. """ # Make sure the control is a widget rather than a layout. if isinstance(self.control, QtGui.QLayout): control = self.control.parentWidget() else: control = self.control message_box = QtGui.QMessageBox( QtGui.QMessageBox.Information, self.description + " value error", str(excp), buttons=QtGui.QMessageBox.Ok, parent=control ) message_box.setTextFormat(QtCore.Qt.PlainText) message_box.setEscapeButton(QtGui.QMessageBox.Ok) message_box.exec_() def set_tooltip_text(self, control, text): """ Sets the tooltip for a specified control. """ control.setToolTip(text) def _enabled_changed(self, enabled): """Handles the **enabled** state of the editor being changed. """ if self.control is not None: self._enabled_changed_helper(self.control, enabled) if self.label_control is not None: self.label_control.setEnabled(enabled) def _enabled_changed_helper(self, control, enabled): """A helper that allows the control to be a layout and recursively manages all its widgets. """ if isinstance(control, QtGui.QWidget): control.setEnabled(enabled) else: for i in range(control.count()): itm = control.itemAt(i) self._enabled_changed_helper( (itm.widget() or itm.layout()), enabled ) def _visible_changed(self, visible): """Handles the **visible** state of the editor being changed. """ if self.label_control is not None: self.label_control.setVisible(visible) if self.control is None: # We are being called after the editor has already gone away. return self._visible_changed_helper(self.control, visible) page = self.control.parent() if ( page is None or page.parent() is None or page.parent().parent() is None or page.layout() is None or page.layout().count() != 1 ): return # The TabWidget (representing the notebook) has a StackedWidget inside it, # which then contains our parent. # Even after the tab is removed, the parent-child relationship between # our container widget (representing the page) and the enclosing TabWidget, # so the following reference is still valid. stack_widget = page.parent() notebook = stack_widget.parent() is_tabbed_group = notebook.property("traits_tabbed_group") if ( notebook is None or not isinstance(notebook, QtGui.QTabWidget) or not is_tabbed_group ): return if not visible: # Store the page number and name on the parent for i in range(0, notebook.count()): if notebook.widget(i) == page: self._tab_index = i self._tab_text = notebook.tabText(i) page.setVisible(False) notebook.removeTab(i) break else: # Check to see if our parent has previously-stored tab # index and text attributes if ( getattr(self, "_tab_index", None) is not None and getattr(self, "_tab_text", None) is not None ): page.setVisible(True) notebook.insertTab(self._tab_index, page, self._tab_text) return def _visible_changed_helper(self, control, visible): """A helper that allows the control to be a layout and recursively manages all its widgets. """ if isinstance(control, QtGui.QWidget): control.setVisible(visible) else: for i in range(control.count()): itm = control.itemAt(i) self._visible_changed_helper( (itm.widget() or itm.layout()), visible ) def get_error_control(self): """ Returns the editor's control for indicating error status. """ return self.control def in_error_state(self): """ Returns whether or not the editor is in an error state. """ return False def set_error_state(self, state=None, control=None): """ Sets the editor's current error state. """ if state is None: state = self.invalid state = state or self.in_error_state() if control is None: control = self.get_error_control() if not isinstance(control, list): control = [control] for item in control: if item is None: continue pal = QtGui.QPalette(item.palette()) if state: color = ErrorColor if getattr(item, "_ok_color", None) is None: item._ok_color = QtGui.QColor( pal.color(QtGui.QPalette.Base) ) else: color = getattr(item, "_ok_color", OKColor) pal.setColor(QtGui.QPalette.Base, color) item.setPalette(pal) def _invalid_changed(self, state): """ Handles the editor's invalid state changing. """ self.set_error_state() def perform(self, action, action_event=None): """ Performs the action described by a specified Action object. """ self.ui.do_undoable(self._perform, action) def _perform(self, action): method_name = action.action info = self._menu_context["info"] handler = self._menu_context["handler"] object = self._menu_context["object"] selection = self._menu_context["selection"] self._menu_context["action"] = action if method_name.find(".") >= 0: if method_name.find("(") < 0: method_name += "()" try: eval(method_name, globals(), self._menu_context) except: from traitsui.api import raise_to_debug raise_to_debug() return method = getattr(handler, method_name, None) if method is not None: method(info, selection) return if action.on_perform is not None: action.on_perform(selection) return action.perform(selection) def eval_when(self, condition, object, trait): """ Evaluates a condition within a defined context, and sets a specified object trait based on the result, which is assumed to be a Boolean. """ if condition != "": value = True try: if not eval(condition, globals(), self._menu_context): value = False except: from traitsui.api import raise_to_debug raise_to_debug() setattr(object, trait, value) def add_to_menu(self, menu_item): """ Adds a menu item to the menu bar being constructed. """ action = menu_item.item.action self.eval_when(action.enabled_when, menu_item, "enabled") self.eval_when(action.checked_when, menu_item, "checked") def can_add_to_menu(self, action): """ Returns whether the action should be defined in the user interface. """ if action.defined_when != "": try: if not eval( action.defined_when, globals(), self._menu_context ): return False except: from traitsui.api import raise_to_debug raise_to_debug() if action.visible_when != "": try: if not eval( action.visible_when, globals(), self._menu_context ): return False except: from traitsui.api import raise_to_debug raise_to_debug() return True # TODO: move this method, it should be part of ui_panel or some other # place that is responsible for setting up the Qt layout. def set_size_policy(self, direction, resizable, springy, stretch): """ Set the size policy of the editor's controller. Based on the "direction" of the group that contains this editor (VGroup or HGroup), set the stretch factor and the resizing policy of the control. Parameters ---------- direction : QtGui.QBoxLayout.Direction Directionality of the group that contains this editor. Either QtGui.QBoxLayout.LeftToRight or QtGui.QBoxLayout.TopToBottom resizable : bool True if control should be resizable in the orientation opposite to the group directionality springy : bool True if control should be resizable in the orientation equal to the group directionality stretch : int Stretch factor used by Qt to distribute the total size to each component. """ policy = self.control.sizePolicy() if direction == QtGui.QBoxLayout.LeftToRight: if springy: policy.setHorizontalStretch(stretch) policy.setHorizontalPolicy(QtGui.QSizePolicy.Expanding) if resizable: policy.setVerticalStretch(stretch) policy.setVerticalPolicy(QtGui.QSizePolicy.Expanding) else: # TopToBottom if springy: policy.setVerticalStretch(stretch) policy.setVerticalPolicy(QtGui.QSizePolicy.Expanding) if resizable: policy.setHorizontalStretch(stretch) policy.setHorizontalPolicy(QtGui.QSizePolicy.Expanding) self.control.setSizePolicy(policy) class EditorWithList(Editor): """ Editor for an object that contains a list. """ # ------------------------------------------------------------------------- # Trait definitions: # ------------------------------------------------------------------------- #: Object containing the list being monitored list_object = Instance(HasTraits) #: Name of the monitored trait list_name = Str() #: Function used to evaluate the current list object value: list_value = Callable() def init(self, parent): """ Initializes the object. """ factory = self.factory name = factory.name if name != "": self.list_object, self.list_name, self.list_value = self.parse_extended_name( name ) else: self.list_object, self.list_name = factory, "values" self.list_value = lambda: factory.values self.list_object.on_trait_change( self._list_updated, self.list_name, dispatch="ui" ) self.list_object.on_trait_change( self._list_updated, self.list_name + "_items", dispatch="ui" ) self._list_updated() def dispose(self): """ Disconnects the listeners set up by the constructor. """ self.list_object.on_trait_change( self._list_updated, self.list_name, remove=True ) self.list_object.on_trait_change( self._list_updated, self.list_name + "_items", remove=True ) super().dispose() def _list_updated(self): """ Handles the monitored trait being updated. """ self.list_updated(self.list_value()) def list_updated(self, values): """ Handles the monitored list being updated. """ raise NotImplementedError class EditorFromView(Editor): """ An editor generated from a View object. """ def init(self, parent): """ Initializes the object. """ self._ui = ui = self.init_ui(parent) if ui.history is None: ui.history = self.ui.history self.control = ui.control def init_ui(self, parent): """ Creates and returns the traits UI defined by this editor. (Must be overridden by a subclass). """ raise NotImplementedError def update_editor(self): """ Updates the editor when the object trait changes externally to the editor. """ # Normally nothing needs to be done here, since it should all be handled # by the editor's internally created traits UI: pass def dispose(self): """ Disposes of the editor. """ self._ui.dispose() super().dispose() traitsui-7.2.1/traitsui/qt4/key_binding_editor.py0000644000076500000240000001247714046644454022600 0ustar aayresstaff00000000000000# (C) Copyright 2008-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! # ------------------------------------------------------------------------------ # Copyright (c) 2007, Riverbank Computing Limited # All rights reserved. # # This software is provided without warranty under the terms of the BSD license. # However, when used with the GPL version of PyQt the additional terms # described in the PyQt GPL exception also apply # # Author: Riverbank Computing Limited # ------------------------------------------------------------------------------ """ Defines the key binding editor for use with the KeyBinding class. This is a specialized editor used to associate a particular key with a control (i.e., the key binding editor). """ from pyface.qt import QtCore, QtGui from traits.api import Bool, Event from .editor import Editor from .key_event_to_name import key_event_to_name class KeyBindingEditor(Editor): """ An editor for modifying bindings of keys to controls. """ # ------------------------------------------------------------------------- # Trait definitions: # ------------------------------------------------------------------------- #: Does the editor's control have focus currently? has_focus = Bool(False) #: Keyboard event key = Event() #: Clear field event clear = Event() def init(self, parent): """ Finishes initializing the editor by creating the underlying toolkit widget. """ self.control = KeyBindingCtrl(self) def update_object(self, event): """ Handles the user entering input data in the edit control. """ try: self.value = value = key_event_to_name(event) self._binding.text = value except: pass def update_editor(self): """ Updates the editor when the object trait changes externally to the editor. """ self.control.setText(self.value) def update_focus(self, has_focus): """ Updates the current focus setting of the control. """ if has_focus: self._binding.border_size = 1 self.object.owner.focus_owner = self._binding def _key_changed(self, event): """ Handles a keyboard event. """ binding = self.object key_name = key_event_to_name(event) cur_binding = binding.owner.key_binding_for(binding, key_name) if cur_binding is not None: if ( QtGui.QMessageBox.question( self.control, "Duplicate Key Definition", "'%s' has already been assigned to '%s'.\n" "Do you wish to continue?" % (key_name, cur_binding.description), QtGui.QMessageBox.Yes | QtGui.QMessageBox.No, QtGui.QMessageBox.No, ) != QtGui.QMessageBox.Yes ): return self.value = key_name def _clear_changed(self): """ Handles a clear field event. """ self.value = "" class KeyBindingCtrl(QtGui.QLabel): """ PyQt control for editing key bindings. """ def __init__(self, editor, parent=None): super().__init__(parent) self.setFocusPolicy(QtCore.Qt.StrongFocus) self.setIndent(4) self.setMinimumWidth(160) pal = QtGui.QPalette(self.palette()) pal.setColor(QtGui.QPalette.Window, QtCore.Qt.white) self.setPalette(pal) self.setAutoFillBackground(True) # Save the reference to the controlling editor object: self.editor = editor # Indicate we don't have the focus right now: editor.has_focus = False def keyPressEvent(self, event): """ Handle keyboard keys being pressed. """ # Ignore presses of the control and shift keys. if event.key() not in (QtCore.Qt.Key_Control, QtCore.Qt.Key_Shift): self.editor.key = event def paintEvent(self, event): """ Updates the screen. """ QtGui.QLabel.paintEvent(self, event) w = self.width() h = self.height() p = QtGui.QPainter(self) if self.editor.has_focus: p.setRenderHint(QtGui.QPainter.Antialiasing, True) pen = QtGui.QPen(QtGui.QColor("tomato")) pen.setWidth(2) p.setPen(pen) p.drawRect(1, 1, w - 2, h - 2) else: p.setPen(self.palette().color(QtGui.QPalette.Mid)) p.drawRect(0, 0, w - 1, h - 1) p.end() def focusInEvent(self, event): """ Handles getting the focus. """ self.editor.has_focus = True self.update() def focusOutEvent(self, event): """ Handles losing the focus. """ self.editor.has_focus = False self.update() def mouseDoubleClickEvent(self, event): """ Handles the user double clicking the control to clear its contents. """ self.editor.clear = True traitsui-7.2.1/traitsui/qt4/tabular_model.py0000644000076500000240000003150114046644454021547 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! """ Defines the table model used by the tabular editor. """ import logging from pyface.qt import QtCore, QtGui from traitsui.ui_traits import SequenceTypes from .clipboard import PyMimeData # Mapping for trait alignment values to qt4 alignment values: alignment_map = { "left": QtCore.Qt.AlignLeft, "right": QtCore.Qt.AlignRight, "center": QtCore.Qt.AlignHCenter, "justify": QtCore.Qt.AlignJustify, } # MIME type for internal table drag/drop operations tabular_mime_type = "traits-ui-tabular-editor" logger = logging.getLogger(__name__) class TabularModel(QtCore.QAbstractTableModel): """ The model for tabular data.""" def __init__(self, editor, parent=None): """ Initialise the object. """ QtCore.QAbstractTableModel.__init__(self, parent) self._editor = editor # ------------------------------------------------------------------------- # QAbstractItemModel interface: # ------------------------------------------------------------------------- def data(self, mi, role): """ Reimplemented to return the data. """ editor = self._editor adapter = editor.adapter obj, name = editor.object, editor.name row, column = mi.row(), mi.column() if role == QtCore.Qt.DisplayRole or role == QtCore.Qt.EditRole: return adapter.get_text(obj, name, row, column) elif role == QtCore.Qt.DecorationRole: image = editor._get_image( adapter.get_image(obj, name, row, column) ) if image is not None: return image elif role == QtCore.Qt.ToolTipRole: tooltip = adapter.get_tooltip(obj, name, row, column) if tooltip: return tooltip elif role == QtCore.Qt.FontRole: font = adapter.get_font(obj, name, row, column) if font is not None: return QtGui.QFont(font) elif role == QtCore.Qt.TextAlignmentRole: string = adapter.get_alignment(obj, name, column) alignment = alignment_map.get(string, QtCore.Qt.AlignLeft) return int(alignment | QtCore.Qt.AlignVCenter) elif role == QtCore.Qt.BackgroundRole: color = adapter.get_bg_color(obj, name, row, column) if color is not None: if isinstance(color, SequenceTypes): q_color = QtGui.QColor(*color) else: q_color = QtGui.QColor(color) return QtGui.QBrush(q_color) elif role == QtCore.Qt.ForegroundRole: color = adapter.get_text_color(obj, name, row, column) if color is not None: if isinstance(color, SequenceTypes): q_color = QtGui.QColor(*color) else: q_color = QtGui.QColor(color) return QtGui.QBrush(q_color) return None def setData(self, mi, value, role): """ Reimplmented to allow for modification for the object trait. """ if role != QtCore.Qt.EditRole: return False editor = self._editor obj, name = editor.object, editor.name row, column = mi.row(), mi.column() editor.adapter.set_text(obj, name, row, column, value) self.dataChanged.emit(mi, mi) return True def flags(self, mi): """ Reimplemented to set editable status and movable status. """ editor = self._editor row = mi.row() column = mi.column() if not mi.isValid(): return QtCore.Qt.ItemIsDropEnabled flags = QtCore.Qt.ItemIsEnabled if editor.factory.selectable: flags |= QtCore.Qt.ItemIsSelectable # If the adapter defines get_can_edit_cell(), use it to determine # editability over the row-wise get_can_edit(). if ( editor.factory.editable and "edit" in editor.factory.operations and hasattr(editor.adapter, "get_can_edit_cell") ): if editor.adapter.get_can_edit_cell( editor.object, editor.name, row, column ): flags |= QtCore.Qt.ItemIsEditable elif ( editor.factory.editable and "edit" in editor.factory.operations and editor.adapter.get_can_edit(editor.object, editor.name, row) ): flags |= QtCore.Qt.ItemIsEditable if ( editor.adapter.get_drag(editor.object, editor.name, row) is not None ): flags |= QtCore.Qt.ItemIsDragEnabled if editor.factory.editable: flags |= QtCore.Qt.ItemIsDropEnabled return flags def headerData(self, section, orientation, role): """ Reimplemented to return the header data. """ if role != QtCore.Qt.DisplayRole: return None editor = self._editor label = None if orientation == QtCore.Qt.Vertical: label = editor.adapter.get_row_label(section, editor.object) elif orientation == QtCore.Qt.Horizontal: label = editor.adapter.get_label(section, editor.object) return label def rowCount(self, mi): """ Reimplemented to return the number of rows. """ editor = self._editor return editor.adapter.len(editor.object, editor.name) def columnCount(self, mi): """ Reimplemented to return the number of columns. """ editor = self._editor return len(editor.adapter.columns) def insertRow(self, row, parent=QtCore.QModelIndex(), obj=None): """ Reimplemented to allow creation of new rows. Added an optional arg to allow the insertion of an existing row object. """ editor = self._editor adapter = editor.adapter if obj is None: obj = adapter.get_default_value(editor.object, editor.name) self.beginInsertRows(parent, row, row) editor.callx( editor.adapter.insert, editor.object, editor.name, row, obj ) self.endInsertRows() return True def insertRows(self, row, count, parent=QtCore.QModelIndex()): """ Reimplemented to allow creation of new items. """ editor = self._editor adapter = editor.adapter self.beginInsertRows(parent, row, row + count - 1) for i in range(count): value = adapter.get_default_value(editor.object, editor.name) editor.callx( adapter.insert, editor.object, editor.name, row, value ) self.endInsertRows() return True def removeRows(self, row, count, parent=QtCore.QModelIndex()): """ Reimplemented to allow row deletion, as well as reordering via drag and drop. """ editor = self._editor adapter = editor.adapter self.beginRemoveRows(parent, row, row + count - 1) for i in range(count): editor.callx(adapter.delete, editor.object, editor.name, row) self.endRemoveRows() n = self.rowCount(None) if not editor.factory.multi_select: editor.selected_row = row if row < n else row - 1 else: # FIXME: what should the selection be? editor.multi_selected_rows = [] return True def mimeTypes(self): """ Reimplemented to expose our internal MIME type for drag and drop operations. """ return [ tabular_mime_type, PyMimeData.MIME_TYPE, PyMimeData.NOPICKLE_MIME_TYPE, ] def mimeData(self, indexes): """ Reimplemented to generate MIME data containing the rows of the current selection. """ rows = sorted({index.row() for index in indexes}) items = [ self._editor.adapter.get_drag( self._editor.object, self._editor.name, row ) for row in rows ] mime_data = PyMimeData.coerce(items) data = QtCore.QByteArray(str(id(self)).encode("utf8")) for row in rows: data.append((" %i" % row).encode("utf8")) mime_data.setData(tabular_mime_type, data) return mime_data def dropMimeData(self, mime_data, action, row, column, parent): """ Reimplemented to allow items to be moved. """ if action == QtCore.Qt.IgnoreAction: return False # If dropped directly onto the parent, both row and column are -1. # See https://doc.qt.io/qt-5/qabstractitemmodel.html#dropMimeData # When dropped below the list, the "parent" is invalid. if row == -1: if parent.isValid(): row = parent.row() else: row = max(0, self.rowCount(None) - 1) # this is a drag from a tabular model data = mime_data.data(tabular_mime_type) if not data.isNull() and action == QtCore.Qt.MoveAction: id_and_rows = [ int(s) for s in data.data().decode("utf8").split(" ") ] table_id = id_and_rows[0] # is it from ourself? if table_id == id(self): current_rows = id_and_rows[1:] self.moveRows(current_rows, row) return True # this is an external drag data = PyMimeData.coerce(mime_data).instance() if data is not None: if not isinstance(data, list): data = [data] editor = self._editor object = editor.object name = editor.name adapter = editor.adapter if all( adapter.get_can_drop(object, name, row, item) for item in data ): for item in reversed(data): self.dropItem(item, row) return True return False def supportedDropActions(self): """ Reimplemented to allow items to be moved. """ return QtCore.Qt.MoveAction | QtCore.Qt.CopyAction # ------------------------------------------------------------------------- # TabularModel interface: # ------------------------------------------------------------------------- def dropItem(self, item, row): """ Handle a Python object being dropped onto a row """ editor = self._editor object = editor.object name = editor.name adapter = editor.adapter destination = adapter.get_dropped(object, name, row, item) if destination == "after": row += 1 adapter.insert(object, name, row, item) def moveRow(self, old_row, new_row): """ Convenience method to move a single row. """ return self.moveRows([old_row], new_row) def moveRows(self, current_rows, new_row): """ Moves a sequence of rows (provided as a list of row indexes) to a new row. """ editor = self._editor if new_row == -1: # row should be nonnegative and less than the row count for this # model. See ``QAbstractItemModel.checkIndex``` for Qt 5.11+ # This is a last resort to prevent segmentation faults. logger.debug( "Received invalid row %d. Adjusting to the last row.", new_row) new_row = max(0, self.rowCount(None) - 1) # Sort rows in descending order so they can be removed without # invalidating the indices. current_rows.sort() current_rows.reverse() # If the the highest selected row is lower than the destination, do an # insertion before rather than after the destination. if current_rows[-1] < new_row: new_row += 1 # Remove selected rows... objects = [] for row in current_rows: if row <= new_row: new_row -= 1 obj = editor.adapter.get_item(editor.object, editor.name, row) objects.insert(0, obj) self.removeRow(row) # ...and add them at the new location. for i, obj in enumerate(objects): self.insertRow(new_row + i, obj=obj) # Update the selection for the new location. if editor.factory.multi_select: editor.setx(multi_selected=objects) editor.multi_selected_rows = list( range(new_row, new_row + len(objects)) ) else: editor.setx(selected=objects[0]) editor.selected_row = new_row traitsui-7.2.1/traitsui/qt4/button_editor.py0000644000076500000240000001425514046644454021625 0ustar aayresstaff00000000000000# (C) Copyright 2008-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! # ------------------------------------------------------------------------------ # Copyright (c) 2007, Riverbank Computing Limited # All rights reserved. # # This software is provided without warranty under the terms of the BSD license. # However, when used with the GPL version of PyQt the additional terms # described in the PyQt GPL exception also apply # # Author: Riverbank Computing Limited # ------------------------------------------------------------------------------ """ Defines the various button editors for the PyQt user interface toolkit. """ from pyface.qt import QtCore, QtGui from pyface.api import Image from traits.api import Str, List, Str, observe, on_trait_change from .editor import Editor class SimpleEditor(Editor): """ Simple style editor for a button. """ # ------------------------------------------------------------------------- # Trait definitions: # ------------------------------------------------------------------------- #: The button label label = Str() #: The list of items in a drop-down menu, if any # menu_items = List() #: The selected item in the drop-down menu. selected_item = Str() def init(self, parent): """ Finishes initializing the editor by creating the underlying toolkit widget. """ label = self.factory.label or self.item.get_label(self.ui) if self.factory.values_trait: self.control = QtGui.QToolButton() self.control.toolButtonStyle = QtCore.Qt.ToolButtonTextOnly self.control.setText(self.string_value(label)) self.object.observe( self._update_menu, self.factory.values_trait + ".items" ) self._menu = QtGui.QMenu() self._update_menu() self.control.setMenu(self._menu) else: self.control = QtGui.QPushButton(self.string_value(label)) self._menu = None self.control.setAutoDefault(False) self.sync_value(self.factory.label_value, "label", "from") # The connection type is set to workaround Qt5 + MacOSX issue with # event dispatching. Without the type set to QueuedConnection, other # widgets may not repaint properly in response to a button click. # See enthought/traitsui#1308 self.control.clicked.connect( self.update_object, type=QtCore.Qt.QueuedConnection, ) self.set_tooltip() def dispose(self): """ Disposes of the contents of an editor. """ if self.factory.values_trait: self.object.observe( self._update_menu, self.factory.values_trait + ".items", remove=True, ) if self.control is not None: self.control.clicked.disconnect(self.update_object) super().dispose() def _label_changed(self, label): self.control.setText(self.string_value(label)) def _update_menu(self, event=None): self._menu.blockSignals(True) self._menu.clear() for item in getattr(self.object, self.factory.values_trait): action = self._menu.addAction(item) action.triggered.connect( lambda event, name=item: self._menu_selected(name) ) self.selected_item = "" self._menu.blockSignals(False) def _menu_selected(self, item_name): self.selected_item = item_name self.label = item_name def update_object(self): """ Handles the user clicking the button by setting the factory value on the object. """ if self.control is None: return if self.selected_item != "": self.value = self.selected_item else: self.value = self.factory.value # If there is an associated view, then display it: if (self.factory is not None) and (self.factory.view is not None): self.object.edit_traits( view=self.factory.view, parent=self.control ) def update_editor(self): """ Updates the editor when the object trait changes externally to the editor. """ pass class CustomEditor(SimpleEditor): """ Custom style editor for a button, which can contain an image. """ #: The button image image = Image() #: The mapping of button styles to Qt classes. _STYLE_MAP = { "checkbox": QtGui.QCheckBox, "radio": QtGui.QRadioButton, "toolbar": QtGui.QToolButton, } def init(self, parent): """ Finishes initializing the editor by creating the underlying toolkit widget. """ # FIXME: We ignore orientation, width_padding and height_padding. factory = self.factory if factory.label: label = factory.label else: label = self.item.get_label(self.ui) btype = self._STYLE_MAP.get(factory.style, QtGui.QPushButton) self.control = btype() self.control.setText(self.string_value(label)) if factory.image is not None: self.control.setIcon(factory.image.create_icon()) self.sync_value(self.factory.label_value, "label", "from") self.sync_value(self.factory.image_value, "image", "from") self.control.clicked.connect(self.update_object) self.set_tooltip() @observe("image") def _image_updated(self, event): image = event.new self.control.setIcon(image.create_icon()) def dispose(self): """ Disposes of the contents of an editor. """ if self.control is not None: self.control.clicked.disconnect(self.update_object) # FIXME: Maybe better to let this class subclass Editor directly # enthought/traitsui#884 Editor.dispose(self) traitsui-7.2.1/traitsui/qt4/time_editor.py0000644000076500000240000000425114046644454021243 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! """ A Traits UI editor for datetime.time objects. """ import datetime from pyface.qt import QtCore, QtGui from .editor import Editor from .editor_factory import ReadonlyEditor as BaseReadonlyEditor class SimpleEditor(Editor): """ Simple Traits UI time editor that wraps QTimeEdit. """ def init(self, parent): """ Finishes initializing the editor by creating the underlying toolkit widget. """ self.control = QtGui.QTimeEdit() self.control.timeChanged.connect(self.update_object) def update_editor(self): """ Updates the editor when the object trait changes externally to the editor. """ value = self.value if value: q_date = QtCore.QTime(value.hour, value.minute, value.second) self.control.setTime(q_date) def update_object(self, q_time): """ Handles the user entering input data in the edit control. """ hour = q_time.hour() minute = q_time.minute() second = q_time.second() try: self.value = datetime.time(hour, minute, second) except ValueError: print("Invalid time:", hour, minute, second) raise # ------------------------------------------------------------------------------ # 'ReadonlyEditor' class: # ------------------------------------------------------------------------------ class ReadonlyEditor(BaseReadonlyEditor): """ Readonly Traits UI time editor that uses a QLabel for the view. """ def _get_str_value(self): """ Replace the default string value with our own time verision. """ if not self.value: return self.factory.message else: return self.value.strftime(self.factory.strftime) traitsui-7.2.1/traitsui/qt4/clipboard.py0000644000076500000240000000646714046644454020711 0ustar aayresstaff00000000000000# (C) Copyright 2008-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! # ------------------------------------------------------------------------------ # Copyright (c) 2007, Riverbank Computing Limited # All rights reserved. # # This software is provided without warranty under the terms of the BSD license. # However, when used with the GPL version of PyQt the additional terms # described in the PyQt GPL exception also apply # # Author: Riverbank Computing Limited # ------------------------------------------------------------------------------ """ Implements a wrapper around the PyQt clipboard that handles Python objects using pickle. """ from pyface.qt import QtGui from pyface.ui.qt4.mimedata import PyMimeData, str2bytes from traits.api import HasTraits, Instance, Property # ------------------------------------------------------------------------- # '_Clipboard' class: # ------------------------------------------------------------------------- class _Clipboard(HasTraits): """ The _Clipboard class provides a wrapper around the PyQt clipboard. """ # ------------------------------------------------------------------------- # Trait definitions: # ------------------------------------------------------------------------- #: The instance on the clipboard (if any). instance = Property() #: Set if the clipboard contains an instance. has_instance = Property() #: The type of the instance on the clipboard (if any). instance_type = Property() #: The application clipboard. clipboard = Instance(QtGui.QClipboard) # ------------------------------------------------------------------------- # Instance property methods: # ------------------------------------------------------------------------- def _get_instance(self): """ The instance getter. """ md = PyMimeData.coerce(self.clipboard.mimeData()) if md is None: return None return md.instance() def _set_instance(self, data): """ The instance setter. """ self.clipboard.setMimeData(PyMimeData(data)) def _get_has_instance(self): """ The has_instance getter. """ return self.clipboard.mimeData().hasFormat(PyMimeData.MIME_TYPE) def _get_instance_type(self): """ The instance_type getter. """ md = PyMimeData.coerce(self.clipboard.mimeData()) if md is None: return None return md.instanceType() # ------------------------------------------------------------------------- # Other trait handlers: # ------------------------------------------------------------------------- def _clipboard_default(self): """ Initialise the clipboard. """ return QtGui.QApplication.clipboard() # ------------------------------------------------------------------------- # The singleton clipboard instance. # ------------------------------------------------------------------------- clipboard = _Clipboard() traitsui-7.2.1/traitsui/qt4/datetime_editor.py0000644000076500000240000001026314046644454022101 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! """ A Traits UI editor for datetime.datetime objects. """ from pyface.qt import QtGui, qt_api from pyface.qt.QtCore import QDateTime from traits.api import Datetime, observe from .editor import Editor from .editor_factory import ReadonlyEditor as BaseReadonlyEditor class SimpleEditor(Editor): """ Simple Traits UI time editor that wraps QDateTimeEdit. """ #: the earliest datetime allowed by the editor minimum_datetime = Datetime #: the latest datetime allowed by the editor maximum_datetime = Datetime def init(self, parent): """ Finishes initializing the editor by creating the underlying toolkit widget. """ # set min and max early, don't wait for editor sync self.minimum_datetime = self.factory.minimum_datetime self.maximum_datetime = self.factory.maximum_datetime self.control = QtGui.QDateTimeEdit() self.control.dateTimeChanged.connect(self.update_object) self.update_minimum_datetime() self.update_maximum_datetime() def dispose(self): """ Disposes of the contents of an editor. """ if self.control is not None: self.control.dateTimeChanged.disconnect(self.update_object) super().dispose() def update_editor(self): """ Updates the editor when the object trait changes externally to the editor. """ value = self.value if value: if self.minimum_datetime and self.minimum_datetime > value: value = self.minimum_datetime elif self.maximum_datetime and self.value > self.maximum_datetime: value = self.maximum_datetime try: q_datetime = QDateTime(value) except Exception: pass self.control.setDateTime(q_datetime) self.value = value def update_object(self, q_datetime): """ Handles the user entering input data in the edit control. """ try: if qt_api == 'pyside2': self.value = q_datetime.toPython() else: self.value = q_datetime.toPyDateTime() except ValueError: pass @observe('minimum_datetime') def update_minimum_datetime(self, event=None): # sanity checking of values if (self.minimum_datetime is not None and self.maximum_datetime is not None and self.minimum_datetime > self.maximum_datetime): self.maximum_datetime = self.minimum_datetime if self.control is not None: if self.minimum_datetime is not None: self.control.setMinimumDateTime( QDateTime(self.minimum_datetime) ) else: self.control.clearMinimumDateTime() @observe('maximum_datetime') def update_maximum_datetime(self, event=None): # sanity checking of values if (self.minimum_datetime is not None and self.maximum_datetime is not None and self.minimum_datetime > self.maximum_datetime): self.minimum_datetime = self.maximum_datetime if self.control is not None: if self.maximum_datetime is not None: self.control.setMaximumDateTime( QDateTime(self.maximum_datetime) ) else: self.control.clearMaximumDateTime() class ReadonlyEditor(BaseReadonlyEditor): """ Readonly Traits UI time editor that uses a QLabel for the view. """ def _get_str_value(self): """ Replace the default string value with our own time version. """ if not self.value: return self.factory.message else: return self.value.strftime(self.factory.strftime) traitsui-7.2.1/traitsui/qt4/tabular_editor.py0000644000076500000240000007762514046644454021756 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! """ A traits UI editor for editing tabular data (arrays, list of tuples, lists of objects, etc). """ from contextlib import contextmanager from pyface.qt import QtCore, QtGui, is_qt5 from pyface.image_resource import ImageResource from pyface.ui_traits import Image from traits.api import ( Any, Bool, Callable, Event, HasStrictTraits, Instance, Int, List, NO_COMPARE, Property, TraitListEvent, ) from traitsui.tabular_adapter import TabularAdapter from traitsui.helper import compute_column_widths from .editor import Editor from .tabular_model import TabularModel SCROLL_TO_POSITION_HINT_MAP = { "center": QtGui.QTableView.PositionAtCenter, "top": QtGui.QTableView.PositionAtTop, "bottom": QtGui.QTableView.PositionAtBottom, "visible": QtGui.QTableView.EnsureVisible, } class HeaderEventFilter(QtCore.QObject): def __init__(self, editor): super().__init__() self.editor = editor def eventFilter(self, obj, event): if event.type() == QtCore.QEvent.ContextMenu: self.editor._on_column_context_menu(event.pos()) return True return False class TabularEditor(Editor): """ A traits UI editor for editing tabular data (arrays, list of tuples, lists of objects, etc). """ # -- Trait Definitions ---------------------------------------------------- #: The event fired when a table update is needed: update = Event() #: The event fired when a simple repaint is needed: refresh = Event() #: The current set of selected items (which one is used depends upon the #: initial state of the editor factory 'multi_select' trait): selected = Any() multi_selected = List() #: The current set of selected item indices (which one is used depends upon #: the initial state of the editor factory 'multi_select' trait): selected_row = Int(-1) multi_selected_rows = List(Int) #: The optional extended name of the trait to synchronize the selection #: column with: selected_column = Int(-1) #: The most recently actived item and its index: activated = Any(comparison_mode=NO_COMPARE) activated_row = Int(comparison_mode=NO_COMPARE) #: The most recent left click data: clicked = Instance("TabularEditorEvent") #: The most recent left double click data: dclicked = Instance("TabularEditorEvent") #: The most recent right click data: right_clicked = Instance("TabularEditorEvent") #: The most recent right double click data: right_dclicked = Instance("TabularEditorEvent") #: The most recent column click data: column_clicked = Instance("TabularEditorEvent") #: The most recent column click data: column_right_clicked = Instance("TabularEditorEvent") #: The event triggering scrolling. scroll_to_row = Event(Int) #: The event triggering scrolling. scroll_to_column = Event(Int) #: Is the tabular editor scrollable? This value overrides the default. scrollable = True #: NIT: This doesn't seem to be used anywhere...can I delete? #: # Row index of item to select after rebuilding editor list: #: row = Any() #: Should the selected item be edited after rebuilding the editor list: edit = Bool(False) #: The adapter from trait values to editor values: adapter = Instance(TabularAdapter) #: The table model associated with the editor: model = Instance(TabularModel) #: Dictionary mapping image names to QIcons images = Any({}) #: Dictionary mapping ImageResource objects to QIcons image_resources = Any({}) #: An image being converted: image = Image header_event_filter = Any() widget_factory = Callable(lambda *args, **kwds: _TableView(*args, **kwds)) # ------------------------------------------------------------------------- # Editor interface: # ------------------------------------------------------------------------- def init(self, parent): """ Finishes initializing the editor by creating the underlying toolkit widget. """ factory = self.factory adapter = self.adapter = factory.adapter self.model = TabularModel(editor=self) # Create the control control = self.control = self.widget_factory(self) # Set up the selection listener if factory.multi_select: self.sync_value( factory.selected, "multi_selected", "both", is_list=True ) self.sync_value( factory.selected_row, "multi_selected_rows", "both", is_list=True, ) else: self.sync_value(factory.selected, "selected", "both") self.sync_value(factory.selected_row, "selected_row", "both") # Connect to the mode specific selection handler if factory.multi_select: slot = self._on_rows_selection else: slot = self._on_row_selection selection_model = self.control.selectionModel() selection_model.selectionChanged.connect(slot) # Synchronize other interesting traits as necessary: self.sync_value(factory.update, "update", "from", is_event=True) self.sync_value(factory.refresh, "refresh", "from", is_event=True) self.sync_value(factory.activated, "activated", "to") self.sync_value(factory.activated_row, "activated_row", "to") self.sync_value(factory.clicked, "clicked", "to") self.sync_value(factory.dclicked, "dclicked", "to") self.sync_value(factory.right_clicked, "right_clicked", "to") self.sync_value(factory.right_dclicked, "right_dclicked", "to") self.sync_value(factory.column_clicked, "column_clicked", "to") self.sync_value( factory.column_right_clicked, "column_right_clicked", "to" ) self.sync_value( factory.scroll_to_row, "scroll_to_row", "from", is_event=True ) self.sync_value( factory.scroll_to_column, "scroll_to_column", "from", is_event=True ) # Connect other signals as necessary control.activated.connect(self._on_activate) control.clicked.connect(self._on_click) control.clicked.connect(self._on_right_click) control.doubleClicked.connect(self._on_dclick) control.horizontalHeader().sectionClicked.connect( self._on_column_click ) control.setContextMenuPolicy(QtCore.Qt.CustomContextMenu) control.customContextMenuRequested.connect(self._on_context_menu) self.header_event_filter = HeaderEventFilter(self) control.horizontalHeader().installEventFilter(self.header_event_filter) # Make sure we listen for 'items' changes as well as complete list # replacements: try: self.context_object.on_trait_change( self.update_editor, self.extended_name + "_items", dispatch="ui", ) except: pass # If the user has requested automatic update, attempt to set up the # appropriate listeners: if factory.auto_update: self.context_object.on_trait_change( self.refresh_editor, self.extended_name + ".-", dispatch="ui" ) # Create the mapping from user supplied images to QImages: for image_resource in factory.images: self._add_image(image_resource) # Refresh the editor whenever the adapter changes: self.on_trait_change( self.refresh_editor, "adapter.+update", dispatch="ui" ) # Rebuild the editor columns and headers whenever the adapter's # 'columns' changes: self.on_trait_change( self._adapter_columns_updated, "adapter.columns", dispatch="ui" ) def dispose(self): """ Disposes of the contents of an editor. """ self.model.beginResetModel() self.model.endResetModel() self.context_object.on_trait_change( self.update_editor, self.extended_name + "_items", remove=True ) if self.factory.auto_update: self.context_object.on_trait_change( self.refresh_editor, self.extended_name + ".-", remove=True ) self.on_trait_change( self.refresh_editor, "adapter.+update", remove=True ) self.on_trait_change( self._adapter_columns_updated, "adapter.columns", remove=True ) self.adapter.cleanup() super().dispose() def update_editor(self): """ Updates the editor when the object trait changes externally to the editor. """ if not self._no_update: self.model.beginResetModel() self.model.endResetModel() if self.factory.multi_select: self._multi_selected_changed(self.multi_selected) else: self._selected_changed(self.selected) # ------------------------------------------------------------------------- # TabularEditor interface: # ------------------------------------------------------------------------- def refresh_editor(self): """ Requests the table view to redraw itself. """ self.control.viewport().update() def callx(self, func, *args, **kw): """ Call a function without allowing the editor to update. """ old = self._no_update self._no_update = True try: func(*args, **kw) finally: self._no_update = old def setx(self, **keywords): """ Set one or more attributes without allowing the editor to update. """ old = self._no_notify self._no_notify = True try: for name, value in keywords.items(): setattr(self, name, value) finally: self._no_notify = old # ------------------------------------------------------------------------- # UI preference save/restore interface: # ------------------------------------------------------------------------- def restore_prefs(self, prefs): """ Restores any saved user preference information associated with the editor. """ cws = prefs.get("cached_widths") num_columns = len(self.adapter.columns) if cws is not None and num_columns == len(cws): for column in range(num_columns): self.control.setColumnWidth(column, cws[column]) def save_prefs(self): """ Returns any user preference information associated with the editor. """ widths = [ self.control.columnWidth(column) for column in range(len(self.adapter.columns)) ] return {"cached_widths": widths} # ------------------------------------------------------------------------- # Private methods: # ------------------------------------------------------------------------- def _add_image(self, image_resource): """ Adds a new image to the image map. """ image = image_resource.create_icon() self.image_resources[image_resource] = image self.images[image_resource.name] = image return image def _get_image(self, image): """ Converts a user specified image to a QIcon. """ if isinstance(image, str): self.image = image image = self.image if isinstance(image, ImageResource): result = self.image_resources.get(image) if result is not None: return result return self._add_image(image) return self.images.get(image) def _mouse_click(self, index, trait): """ Generate a TabularEditorEvent event for a specified model index and editor trait name. """ event = TabularEditorEvent( editor=self, row=index.row(), column=index.column() ) setattr(self, trait, event) # -- Trait Event Handlers ------------------------------------------------- def _clicked_changed(self): """ When mouse is clicked on a specific cell, update the selected indices first """ if not self.factory.multi_select: self.selected_row = self.clicked.row self.selected_column = self.clicked.column def _column_clicked_changed(self): """ When column is clicked, update selected column first """ if not self.factory.multi_select: self.selected_column = self.column_clicked.column def _adapter_columns_updated(self): """ Update the view when the adapter columns trait changes. Note that this change handler is added after the UI is instantiated, and removed when the UI is disposed. """ # Invalidate internal state of the view related to the columns n_columns = len(self.adapter.columns) if (self.control is not None and self.control._user_widths is not None and len(self.control._user_widths) != n_columns): self.control._user_widths = None self.update_editor() def _update_changed(self): self.update_editor() def _refresh_changed(self): self.refresh_editor() def _selected_changed(self, new): if not self._no_update: if new is None: self._selected_row_changed(-1) else: try: selected_row = self.value.index(new) except Exception: from traitsui.api import raise_to_debug raise_to_debug() else: self._selected_row_changed(selected_row) def _selected_row_changed(self, selected_row): if not self._no_update: smodel = self.control.selectionModel() if selected_row < 0: smodel.clearSelection() else: smodel.select( self.model.index( selected_row, max(self.selected_column, 0) ), QtGui.QItemSelectionModel.ClearAndSelect | QtGui.QItemSelectionModel.Rows, ) # Once selected, scroll to the row self.scroll_to_row = selected_row def _multi_selected_changed(self, new): if not self._no_update: values = self.value try: rows = [values.index(i) for i in new] except: pass else: self._multi_selected_rows_changed(rows) def _multi_selected_items_changed(self, event): values = self.value try: added = [values.index(item) for item in event.added] removed = [values.index(item) for item in event.removed] except: pass else: list_event = TraitListEvent( index=0, added=added, removed=removed ) self._multi_selected_rows_items_changed(list_event) def _multi_selected_rows_changed(self, selected_rows): if not self._no_update: smodel = self.control.selectionModel() selection = QtGui.QItemSelection() for row in selected_rows: selection.select( self.model.index(row, 0), self.model.index(row, 0) ) smodel.clearSelection() smodel.select( selection, QtGui.QItemSelectionModel.Select | QtGui.QItemSelectionModel.Rows, ) def _multi_selected_rows_items_changed(self, event): if not self._no_update: smodel = self.control.selectionModel() for row in event.removed: smodel.select( self.model.index(row, 0), QtGui.QItemSelectionModel.Deselect | QtGui.QItemSelectionModel.Rows, ) for row in event.added: smodel.select( self.model.index(row, 0), QtGui.QItemSelectionModel.Select | QtGui.QItemSelectionModel.Rows, ) def _selected_column_changed(self, selected_column): if not self._no_update: smodel = self.control.selectionModel() if selected_column >= 0: smodel.select( self.model.index( max(self.selected_row, 0), selected_column ), QtGui.QItemSelectionModel.ClearAndSelect | QtGui.QItemSelectionModel.Rows, ) # Once selected, scroll to the column self.scroll_to_column = selected_column def _scroll_to_row_changed(self, row): """ Scroll to the given row. """ scroll_hint = SCROLL_TO_POSITION_HINT_MAP.get( self.factory.scroll_to_position_hint, self.control.EnsureVisible ) self.control.scrollTo( self.model.index(row, max(self.selected_column, 0)), scroll_hint ) def _scroll_to_column_changed(self, column): """ Scroll to the given column. """ scroll_hint = SCROLL_TO_POSITION_HINT_MAP.get( self.factory.scroll_to_position_hint, self.control.EnsureVisible ) self.control.scrollTo( self.model.index(max(self.selected_row, 0), column), scroll_hint ) # -- Table Control Event Handlers ----------------------------------------- def _on_activate(self, index): """ Handle a cell being activated. """ self.activated_row = row = index.row() self.activated = self.adapter.get_item(self.object, self.name, row) def _on_click(self, index): """ Handle a cell being clicked. """ self._mouse_click(index, "clicked") def _on_dclick(self, index): """ Handle a cell being double clicked. """ self._mouse_click(index, "dclicked") def _on_column_click(self, column): event = TabularEditorEvent(editor=self, row=0, column=column) setattr(self, "column_clicked", event) def _on_right_click(self, column): event = TabularEditorEvent(editor=self, row=0, column=column) setattr(self, "right_clicked", event) def _on_column_right_click(self, column): event = TabularEditorEvent(editor=self, row=0, column=column) setattr(self, "column_right_clicked", event) def _on_row_selection(self, added, removed): """ Handle the row selection being changed. """ self._no_update = True try: indexes = self.control.selectionModel().selectedRows() if len(indexes): self.selected_row = indexes[0].row() self.selected = self.adapter.get_item( self.object, self.name, self.selected_row ) else: self.selected_row = -1 self.selected = None finally: self._no_update = False def _on_rows_selection(self, added, removed): """ Handle the rows selection being changed. """ self._no_update = True try: indexes = self.control.selectionModel().selectedRows() selected_rows = [] selected = [] for index in indexes: row = index.row() selected_rows.append(row) selected.append( self.adapter.get_item(self.object, self.name, row) ) self.multi_selected_rows = selected_rows self.multi_selected = selected finally: self._no_update = False def _on_context_menu(self, pos): column, row = ( self.control.columnAt(pos.x()), self.control.rowAt(pos.y()), ) menu = self.adapter.get_menu(self.object, self.name, row, column) if menu: self._menu_context = { "selection": self.object, "object": self.object, "editor": self, "column": column, "row": row, "item": self.adapter.get_item(self.object, self.name, row), "info": self.ui.info, "handler": self.ui.handler, } qmenu = menu.create_menu(self.control, self) qmenu.exec_(self.control.mapToGlobal(pos)) self._menu_context = None def _on_column_context_menu(self, pos): column = self.control.columnAt(pos.x()) menu = self.adapter.get_column_menu(self.object, self.name, -1, column) if menu: self._menu_context = { "selection": self.object, "object": self.object, "editor": self, "column": column, "info": self.ui.info, "handler": self.ui.handler, } qmenu = menu.create_menu(self.control, self) qmenu.exec_(self.control.mapToGlobal(pos)) self._menu_context = None else: # If no menu is defined on the adapter, just trigger a click event. self._on_column_right_click(column) class TabularEditorEvent(HasStrictTraits): # The index of the row: row = Int() # The id of the column (either a string or an integer): column = Any() # The row item: item = Property() # -- Private Traits ------------------------------------------------------- # The editor the event is associated with: editor = Instance(TabularEditor) # -- Property Implementations --------------------------------------------- def _get_item(self): editor = self.editor return editor.adapter.get_item(editor.object, editor.name, self.row) # ------------------------------------------------------------------------- # Qt widgets that have been configured to behave as expected by Traits UI: # ------------------------------------------------------------------------- class _ItemDelegate(QtGui.QStyledItemDelegate): """ A QStyledItemDelegate which draws its owns gridlines so that we can choose to draw only the horizontal or only the vertical gridlines if appropriate. """ def __init__(self, table_view): """ Store which grid lines to draw. """ QtGui.QStyledItemDelegate.__init__(self, table_view) self._horizontal_lines = table_view._editor.factory.horizontal_lines self._vertical_lines = table_view._editor.factory.vertical_lines def paint(self, painter, option, index): """ Overrident to draw gridlines. """ QtGui.QStyledItemDelegate.paint(self, painter, option, index) painter.save() # FIXME: 'styleHint' is returning bogus (negative) values. Why? # style = QtGui.QApplication.instance().style() # color = style.styleHint(QtGui.QStyle.SH_Table_GridLineColor, option) # painter.setPen(QtGui.QColor(color)) painter.setPen(option.palette.color(QtGui.QPalette.Dark)) if self._horizontal_lines: painter.drawLine( option.rect.bottomLeft(), option.rect.bottomRight() ) if self._vertical_lines: painter.drawLine(option.rect.topRight(), option.rect.bottomRight()) painter.restore() class _TableView(QtGui.QTableView): """ A QTableView configured to behave as expected by TraitsUI. """ def __init__(self, editor): """ Initialise the object. """ QtGui.QTableView.__init__(self) self._user_widths = None self._is_resizing = False self._editor = editor self.setModel(editor.model) factory = editor.factory # Configure the row headings vheader = self.verticalHeader() if factory.show_row_titles: vheader.setHighlightSections(False) else: vheader.hide() if factory.show_row_titles and factory.auto_resize_rows: if is_qt5: vheader.setSectionResizeMode( QtGui.QHeaderView.ResizeToContents ) else: vheader.setResizeMode(QtGui.QHeaderView.ResizeToContents) else: # Set a default height for rows. Although setting the resize mode to # ResizeToContents would provide the best sizes, this is far too # expensive when the TabularEditor has a large amount of data. Instead, # we make a reasonable guess based on the minimum size hint and the font # of the first row. size = vheader.minimumSectionSize() # Check if any columns have been added, and use their font, otherwise # use the default font font = None if 0 in editor.adapter.column_map: font = editor.adapter.get_font(editor.object, editor.name, 0) if font is not None: size = max( size, QtGui.QFontMetrics(QtGui.QFont(font)).height() ) vheader.setDefaultSectionSize(size) # Configure the column headings. hheader = self.horizontalHeader() hheader.setStretchLastSection(factory.stretch_last_section) hheader.sectionResized.connect(self.columnResized) if factory.show_titles: hheader.setHighlightSections(False) else: hheader.hide() # Turn off the grid lines--we'll draw our own self.setShowGrid(False) self.setItemDelegate(_ItemDelegate(self)) # Configure the selection behaviour. self.setSelectionBehavior(QtGui.QAbstractItemView.SelectRows) if factory.multi_select: mode = QtGui.QAbstractItemView.ExtendedSelection else: mode = QtGui.QAbstractItemView.SingleSelection self.setSelectionMode(mode) # Configure drag and drop behavior self.setDragEnabled(True) if factory.editable: self.viewport().setAcceptDrops(True) if factory.drag_move: self.setDragDropMode(QtGui.QAbstractItemView.InternalMove) else: self.setDragDropMode(QtGui.QAbstractItemView.DragDrop) self.setDropIndicatorShown(True) def keyPressEvent(self, event): """ Reimplemented to support edit, insert, and delete by keyboard. """ editor = self._editor factory = editor.factory # Note that setting 'EditKeyPressed' as an edit trigger does not work on # most platforms, which is why we do this here. if ( event.key() in (QtCore.Qt.Key_Enter, QtCore.Qt.Key_Return) and self.state() != QtGui.QAbstractItemView.EditingState and factory.editable and "edit" in factory.operations ): if factory.multi_select: rows = editor.multi_selected_rows row = rows[0] if len(rows) == 1 else -1 else: row = editor.selected_row if row != -1: event.accept() self.edit(editor.model.index(row, 0)) elif ( event.key() in (QtCore.Qt.Key_Backspace, QtCore.Qt.Key_Delete) and factory.editable and "delete" in factory.operations ): event.accept() if factory.multi_select: for row in reversed(sorted(editor.multi_selected_rows)): editor.model.removeRow(row) elif editor.selected_row != -1: editor.model.removeRow(editor.selected_row) elif ( event.key() == QtCore.Qt.Key_Insert and factory.editable and "insert" in factory.operations ): event.accept() if factory.multi_select: rows = sorted(editor.multi_selected_rows) row = rows[0] if len(rows) else -1 else: row = editor.selected_row if row == -1: row = editor.adapter.len(editor.object, editor.name) editor.model.insertRow(row) self.setCurrentIndex(editor.model.index(row, 0)) else: QtGui.QTableView.keyPressEvent(self, event) def sizeHint(self): """ Reimplemented to define a reasonable size hint. """ sh = QtGui.QTableView.sizeHint(self) width = 0 for column in range(len(self._editor.adapter.columns)): width += self.sizeHintForColumn(column) sh.setWidth(width) return sh def resizeEvent(self, event): """ Reimplemented to size the table columns when the size of the table changes. Because the layout algorithm requires that the available space be known, we have to wait until the UI that contains this table gives it its initial size. """ super().resizeEvent(event) parent = self.parent() if ( parent and (self.isVisible() or isinstance(parent, QtGui.QMainWindow)) ): self.resizeColumnsToContents() def sizeHintForColumn(self, column): """ Reimplemented to support absolute width specification via TabularAdapters and to avoid scanning all data to determine the size hint. (TabularEditor, unlike TableEditor, is expected to handle very large data sets.) """ editor = self._editor if editor.factory.auto_resize: # Use the default implementation. return super().sizeHintForColumn(column) width = editor.adapter.get_width(editor.object, editor.name, column) if width > 1: return width else: return self.horizontalHeader().sectionSizeHint(column) def resizeColumnsToContents(self): """ Reimplemented to support proportional column width specifications. The core part of the computation is carried out in :func:`traitsui.helpers.compute_column_widths` """ editor = self._editor adapter = editor.adapter if editor.factory.auto_resize: # Use the default implementation. return super().resizeColumnsToContents() available_space = self.viewport().width() requested = [] min_widths = [] for column in range(len(adapter.columns)): width = adapter.get_width(editor.object, editor.name, column) requested.append(width) min_widths.append(self.sizeHintForColumn(column)) widths = compute_column_widths( available_space, requested, min_widths, self._user_widths ) hheader = self.horizontalHeader() with self._resizing(): for column, width in enumerate(widths): hheader.resizeSection(column, width) def columnResized(self, index, old, new): """ Handle user-driven resizing of columns. This affects the column widths when not using auto-sizing. """ if not self._is_resizing: if self._user_widths is None: self._user_widths = [None] * len(self._editor.adapter.columns) self._user_widths[index] = new if (self._editor.factory is not None and not self._editor.factory.auto_resize): self.resizeColumnsToContents() @contextmanager def _resizing(self): """ Context manager that guards against recursive column resizing. """ self._is_resizing = True try: yield finally: self._is_resizing = False traitsui-7.2.1/traitsui/qt4/directory_editor.py0000644000076500000240000000432014046644454022306 0ustar aayresstaff00000000000000# (C) Copyright 2008-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! # Copyright (c) 2007, Riverbank Computing Limited # All rights reserved. # # This software is provided without warranty under the terms of the BSD license. # However, when used with the GPL version of PyQt the additional terms # described in the PyQt GPL exception also apply # # Author: Riverbank Computing Limited """ Defines various directory editor for the PyQt user interface toolkit. """ from pyface.qt import QtGui from .file_editor import ( SimpleEditor as SimpleFileEditor, CustomEditor as CustomFileEditor, ) class SimpleEditor(SimpleFileEditor): """ Simple style of editor for directories, which displays a text field and a **Browse** button that opens a directory-selection dialog box. """ def _create_file_dialog(self): """ Creates the correct type of file dialog. """ dlg = QtGui.QFileDialog(self.control) dlg.selectFile(self._file_name.text()) dlg.setFileMode(QtGui.QFileDialog.Directory) dlg.setOptions(QtGui.QFileDialog.ShowDirsOnly) return dlg class CustomEditor(CustomFileEditor): """ Custom style of editor for directories, which displays a tree view of the file system. """ def init(self, parent): super().init(parent) self._model.setNameFilterDisables(True) self._model.setNameFilters([""]) def update_object(self, idx): """ Handles the user changing the contents of the edit control. """ if self.control is not None: if self._model.isDir(idx): self.value = str(self._model.filePath(idx)) # Trait change handlers -------------------------------------------------- def _filter_changed(self): """ Handles the 'filter' trait being changed. """ # name filters don't apply to directories pass traitsui-7.2.1/traitsui/qt4/value_editor.py0000644000076500000240000000173014046644454021420 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! """ Defines the tree-based Python value editor and the value editor factory, for the wxPython user interface toolkit. """ from traitsui.editors.value_editor import _ValueEditor from .editor import Editor class SimpleEditor(_ValueEditor, Editor): """ Returns the editor to use for simple style views. """ #: Override the value of the readonly trait. readonly = False class ReadonlyEditor(_ValueEditor, Editor): """ Returns the editor to use for readonly style views. """ #: Override the value of the readonly trait. readonly = True traitsui-7.2.1/traitsui/qt4/font_trait.py0000644000076500000240000001370414046644454021113 0ustar aayresstaff00000000000000# (C) Copyright 2008-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! # ------------------------------------------------------------------------------ # Copyright (c) 2007, Riverbank Computing Limited # All rights reserved. # # This software is provided without warranty under the terms of the BSD license. # However, when used with the GPL version of PyQt the additional terms # described in the PyQt GPL exception also apply # # Author: Riverbank Computing Limited # ------------------------------------------------------------------------------ """ Trait definition for a PyQt-based font. """ from pyface.qt import QtGui from traits.api import Trait, TraitHandler, TraitError # ------------------------------------------------------------------------- # Convert a string into a valid QFont object (if possible): # ------------------------------------------------------------------------- # Mapping of strings to valid QFont style hints. font_families = { "default": QtGui.QFont.AnyStyle, "decorative": QtGui.QFont.Decorative, "roman": QtGui.QFont.Serif, "script": QtGui.QFont.SansSerif, "swiss": QtGui.QFont.SansSerif, "modern": QtGui.QFont.TypeWriter, } # Mapping of strings to QFont styles. font_styles = { "slant": QtGui.QFont.StyleOblique, "italic": QtGui.QFont.StyleItalic, } # Mapping of strings to QFont weights. font_weights = {"light": QtGui.QFont.Light, "bold": QtGui.QFont.Bold} # Strings to ignore in text representations of fonts font_noise = ["pt", "point", "family"] def font_to_str(font): """ Converts a QFont into a string description of itself. """ weight = {QtGui.QFont.Light: " Light", QtGui.QFont.Bold: " Bold"}.get( font.weight(), "" ) style = { QtGui.QFont.StyleOblique: " Slant", QtGui.QFont.StyleItalic: " Italic", }.get(font.style(), "") underline = "" if font.underline(): underline = " underline" return "%s point %s%s%s%s" % ( font.pointSize(), str(font.family()), style, weight, underline, ) def create_traitsfont(value): """ Create a TraitFont object from a string description. """ if isinstance(value, QtGui.QFont): return TraitsFont(value) point_size = None family = "" style = QtGui.QFont.StyleNormal weight = QtGui.QFont.Normal underline = False facename = [] for word in value.split(): lword = word.lower() if lword in font_families: f = QtGui.QFont() f.setStyleHint(font_families[lword]) family = f.defaultFamily() elif lword in font_styles: style = font_styles[lword] elif lword in font_weights: weight = font_weights[lword] elif lword == "underline": underline = True elif lword not in font_noise: if point_size is None: try: point_size = int(lword) continue except: pass facename.append(word) if facename: family = " ".join(facename) if family: fnt = TraitsFont(family) else: fnt = TraitsFont() fnt.setStyle(style) fnt.setWeight(weight) fnt.setUnderline(underline) if point_size is None: fnt.setPointSize(QtGui.QApplication.font().pointSize()) else: fnt.setPointSize(point_size) return fnt class TraitsFont(QtGui.QFont): """ A Traits-specific QFont. """ def __reduce_ex__(self, protocol): """ Returns the pickleable form of a TraitsFont object. """ return (create_traitsfont, (font_to_str(self),)) def __str__(self): """ Returns a printable form of the font. """ return font_to_str(self) # ------------------------------------------------------------------------- # 'TraitPyQtFont' class' # ------------------------------------------------------------------------- class TraitPyQtFont(TraitHandler): """ Ensures that values assigned to a trait attribute are valid font descriptor strings; the value actually assigned is the corresponding TraitsFont. """ def validate(self, object, name, value): """ Validates that the value is a valid font descriptor string. If so, it returns the corresponding TraitsFont; otherwise, it raises a TraitError. """ if value is None: return None try: return create_traitsfont(value) except: pass raise TraitError(object, name, "a font descriptor string", repr(value)) def info(self): return ( "a string describing a font (e.g. '12 pt bold italic " "swiss family Arial' or 'default 12')" ) # ------------------------------------------------------------------------- # Callable that returns an instance of the PyQtToolkitEditorFactory for font # editors. # ------------------------------------------------------------------------- ### FIXME: We have declared the 'editor' to be a function instead of the # traitsui.qt4.font_editor.ToolkitEditorFactory class, since the # latter is leading to too many circular imports. In the future, try to see if # there is a better way to do this. def get_font_editor(*args, **traits): from traitsui.qt4.font_editor import ToolkitEditorFactory return ToolkitEditorFactory(*args, **traits) # ------------------------------------------------------------------------- # Define a PyQt specific font trait: # ------------------------------------------------------------------------- PyQtFont = Trait(TraitsFont(), TraitPyQtFont(), editor=get_font_editor) traitsui-7.2.1/traitsui/qt4/set_editor.py0000644000076500000240000003756514046644454021116 0ustar aayresstaff00000000000000# (C) Copyright 2008-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! # ------------------------------------------------------------------------------ # Copyright (c) 2007, Riverbank Computing Limited # All rights reserved. # # This software is provided without warranty under the terms of the BSD license. # However, when used with the GPL version of PyQt the additional terms # described in the PyQt GPL exception also apply # # Author: Riverbank Computing Limited # ------------------------------------------------------------------------------ """ Defines the set editors for the PyQt user interface toolkit. """ from pyface.qt import QtCore, QtGui from traitsui.helper import enum_values_changed from .editor import Editor from traits.api import Instance, Property class SimpleEditor(Editor): """ Simple style of editor for sets. The editor displays two list boxes, with buttons for moving the selected items from left to right, or vice versa. If **can_move_all** on the factory is True, then buttons are displayed for moving all the items to one box or the other. If the set is ordered, buttons are displayed for moving the selected item up or down in right-side list box. """ # ------------------------------------------------------------------------- # Trait definitions: # ------------------------------------------------------------------------- #: The top level QLayout for the editor: root_layout = Instance(QtGui.QLayout) #: Current set of enumeration names: names = Property() #: Current mapping from names to values: mapping = Property() #: Current inverse mapping from values to names: inverse_mapping = Property() #: Is set editor scrollable? This value overrides the default. scrollable = True def init(self, parent): """ Finishes initializing the editor by creating the underlying toolkit widget. """ self.control = QtGui.QWidget() self.root_layout = QtGui.QGridLayout(self.control) self.root_layout.setContentsMargins(0, 0, 0, 0) factory = self.factory if factory.name != "": self._object, self._name, self._value = self.parse_extended_name( factory.name ) self.values_changed() self._object.on_trait_change( self._values_changed, self._name, dispatch="ui" ) else: self._value = lambda: self.factory.values self.values_changed() factory.on_trait_change( self._values_changed, "values", dispatch="ui" ) blayout = QtGui.QVBoxLayout() self._unused = self._create_listbox( 0, self._on_unused, self._on_use, factory.left_column_title ) self._use_all = self._unuse_all = self._up = self._down = None if factory.can_move_all: self._use_all = self._create_button( ">>", blayout, self._on_use_all ) self._use = self._create_button(">", blayout, self._on_use) self._unuse = self._create_button("<", blayout, self._on_unuse) if factory.can_move_all: self._unuse_all = self._create_button( "<<", blayout, self._on_unuse_all ) if factory.ordered: self._up = self._create_button("Move Up", blayout, self._on_up) self._down = self._create_button( "Move Down", blayout, self._on_down ) self.root_layout.addLayout(blayout, 1, 1, QtCore.Qt.AlignCenter) self._used = self._create_listbox( 2, self._on_value, self._on_unuse, factory.right_column_title ) self.context_object.on_trait_change( self.update_editor, self.extended_name + "_items?", dispatch="ui" ) def _get_names(self): """ Gets the current set of enumeration names. """ return self._names def _get_mapping(self): """ Gets the current mapping. """ return self._mapping def _get_inverse_mapping(self): """ Gets the current inverse mapping. """ return self._inverse_mapping def _create_listbox(self, col, handler1, handler2, title): """Creates a list box. """ # Add the column title in emphasized text: title_widget = QtGui.QLabel(title) font = QtGui.QFont(title_widget.font()) font.setBold(True) font.setPointSize(font.pointSize() + 1) title_widget.setFont(font) self.root_layout.addWidget(title_widget, 0, col, QtCore.Qt.AlignLeft) # Create the list box and add it to the column: list = QtGui.QListWidget() list.setSelectionMode(QtGui.QAbstractItemView.ExtendedSelection) self.root_layout.addWidget(list, 1, col) list.itemClicked.connect(handler1) list.itemDoubleClicked.connect(handler2) return list def _create_button(self, label, layout, handler): """ Creates a button. """ button = QtGui.QPushButton(label) # The connection type is set to workaround Qt5 + MacOSX issue with # event dispatching. See enthought/traitsui#1308 button.clicked.connect(handler, type=QtCore.Qt.QueuedConnection) layout.addWidget(button) return button def values_changed(self): """ Recomputes the cached data based on the underlying enumeration model or the values of the factory. """ self._names, self._mapping, self._inverse_mapping = enum_values_changed( self._value(), self.string_value ) def _values_changed(self): """ Handles the underlying object model's enumeration set or factory's values being changed. """ self.values_changed() self.update_editor() def update_editor(self): """ Updates the editor when the object trait changes externally to the editor. """ # Check for any items having been deleted from the enumeration that are # still present in the object value: mapping = self.inverse_mapping.copy() values = [v for v in self.value if v in mapping] if len(values) < len(self.value): self.value = values # Get a list of the selected items in the right box: used = self._used used_labels = self._get_selected_strings(used) # Get a list of the selected items in the left box: unused = self._unused unused_labels = self._get_selected_strings(unused) # Empty list boxes in preparation for rebuilding from current values: used.clear() unused.clear() # Ensure right list box is kept alphabetized unless insertion # order is relevant: if not self.factory.ordered: values = sorted(values[:]) # Rebuild the right listbox: used_selections = [] for i, value in enumerate(values): label = mapping[value] used.addItem(label) del mapping[value] if label in used_labels: used_selections.append(i) # Rebuild the left listbox: unused_selections = [] unused_items = sorted(mapping.values()) mapping = self.mapping self._unused_items = [mapping[ui] for ui in unused_items] for i, unused_item in enumerate(unused_items): unused.addItem(unused_item) if unused_item in unused_labels: unused_selections.append(i) # If nothing is selected, default selection should be top of left box, # or of right box if left box is empty: if (len(used_selections) == 0) and (len(unused_selections) == 0): if unused.count() == 0: used_selections.append(0) else: unused_selections.append(0) used_count = used.count() for i in used_selections: if i < used_count: used.item(i).setSelected(True) unused_count = unused.count() for i in unused_selections: if i < unused_count: unused.item(i).setSelected(True) self._check_up_down() self._check_left_right() def dispose(self): """ Disposes of the contents of an editor. """ if self._object is not None: self._object.on_trait_change( self._values_changed, self._name, remove=True ) else: self.factory.on_trait_change( self._values_changed, "values", remove=True ) self.context_object.on_trait_change( self.update_editor, self.extended_name + "_items?", remove=True ) super().dispose() def get_error_control(self): """ Returns the editor's control for indicating error status. """ return [self._unused, self._used] def _on_value(self): if not self.factory.ordered: self._unused.clearSelection() self._check_left_right() self._check_up_down() def _on_unused(self): if not self.factory.ordered: self._used.clearSelection() self._check_left_right() self._check_up_down() def _on_use(self): self._unused_items, self.value = self._transfer_items( self._unused, self._used, self._unused_items, self.value ) def _on_unuse(self): self.value, self._unused_items = self._transfer_items( self._used, self._unused, self.value, self._unused_items ) def _on_use_all(self): self._unused_items, self.value = self._transfer_all( self._unused, self._used, self._unused_items, self.value ) def _on_unuse_all(self): self.value, self._unused_items = self._transfer_all( self._used, self._unused, self.value, self._unused_items ) def _on_up(self): self._move_item(-1) def _on_down(self): self._move_item(1) def _transfer_all(self, list_from, list_to, values_from, values_to): """ Transfers all items from one list to another. """ values_from = values_from[:] values_to = values_to[:] list_from.clearSelection() while list_from.count() > 0: index_to = list_to.count() list_from.item(0).setSelected(True) list_to.insertItems( index_to, self._get_selected_strings(list_from) ) list_from.takeItem(0) values_to.append(values_from[0]) del values_from[0] list_to.item(0).setSelected(True) self._check_left_right() self._check_up_down() return (values_from, values_to) def _transfer_items(self, list_from, list_to, values_from, values_to): """ Transfers the selected item from one list to another. """ values_from = values_from[:] values_to = values_to[:] index_from = max(self._get_first_selection(list_from), 0) index_to = max(self._get_first_selection(list_to), 0) list_to.clearSelection() # Get the list of strings in the "from" box to be moved: selected_list = self._get_selected_strings(list_from) # fixme: I don't know why I have to reverse the list to get # correct behavior from the ordered list box. Investigate -- LP selected_list.reverse() list_to.insertItems(index_to, selected_list) # Delete the transferred items from the left box: items_from = list_from.selectedItems() for i in range(len(items_from) - 1, -1, -1): list_from.takeItem(list_from.row(items_from[i])) del items_from # Delete the transferred items from the "unused" value list: for item_label in selected_list: val_index_from = values_from.index(self.mapping[item_label]) values_to.insert(index_to, values_from[val_index_from]) del values_from[val_index_from] # If right list is ordered, keep moved items selected: if self.factory.ordered: items = list_to.findItems( item_label, QtCore.Qt.MatchFixedString | QtCore.Qt.MatchCaseSensitive, ) if items: items[0].setSelected(True) # Reset the selection in the left box: count = list_from.count() if count > 0: if index_from >= count: index_from = count - 1 list_from.item(index_from).setSelected(True) self._check_left_right() self._check_up_down() return (values_from, values_to) def _move_item(self, direction): """ Moves an item up or down within the "used" list. """ # Move the item up/down within the list: listbox = self._used index_from = self._get_first_selection(listbox) index_to = index_from + direction label = listbox.takeItem(index_from).text() listbox.insertItem(index_to, label) listbox.item(index_to).setSelected(True) # Enable the up/down buttons appropriately: self._check_up_down() # Move the item up/down within the editor's trait value: value = self.value if direction < 0: index = index_to values = [value[index_from], value[index_to]] else: index = index_from values = [value[index_to], value[index_from]] self.value = value[:index] + values + value[index + 2 :] def _check_up_down(self): """ Sets the proper enabled state for the up and down buttons. """ if self.factory.ordered: selected = self._used.selectedItems() self._up.setEnabled( len(selected) == 1 and selected[0] is not self._used.item(0) ) self._down.setEnabled( len(selected) == 1 and selected[0] is not self._used.item(self._used.count() - 1) ) def _check_left_right(self): """ Sets the proper enabled state for the left and right buttons. """ self._use.setEnabled( self._unused.count() > 0 and self._get_first_selection(self._unused) >= 0 ) self._unuse.setEnabled( self._used.count() > 0 and self._get_first_selection(self._used) >= 0 ) if self.factory.can_move_all: self._use_all.setEnabled( self._unused.count() > 0 and self._get_first_selection(self._unused) >= 0 ) self._unuse_all.setEnabled( self._used.count() > 0 and self._get_first_selection(self._used) >= 0 ) # ------------------------------------------------------------------------- # Returns a list of the selected strings in the listbox # ------------------------------------------------------------------------- def _get_selected_strings(self, listbox): """ Returns a list of the selected strings in the given *listbox*. """ return [str(itm.text()) for itm in listbox.selectedItems()] # ------------------------------------------------------------------------- # Returns the index of the first (or only) selected item. # ------------------------------------------------------------------------- def _get_first_selection(self, listbox): """ Returns the index of the first (or only) selected item. """ select_list = listbox.selectedItems() if len(select_list) == 0: return -1 return listbox.row(select_list[0]) traitsui-7.2.1/traitsui/qt4/image_editor.py0000644000076500000240000002261614046644454021374 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! """ Traits UI 'display only' image editor. """ from pyface.qt.QtGui import QFrame, QPainter, QPalette from pyface.image_resource import ImageResource from pyface.ui_traits import convert_bitmap # FIXME: ImageEditor is a proxy class defined here just for backward # compatibility. The class has been moved to the # traitsui.editors.image_editor file. from traitsui.editors.image_editor import ImageEditor from .editor import Editor # ------------------------------------------------------------------------- # 'QImageView' class: # ------------------------------------------------------------------------- # backported and modified from Enaml ImageView class QImageView(QFrame): """ A custom QFrame that will paint a QPixmap as an image. The api is similar to QLabel, but with a few more options to control how the image scales. """ def __init__(self, parent=None): """ Initialize a QImageView. Parameters ---------- parent : QWidget or None, optional The parent widget of this image viewer. """ super().__init__(parent) self._pixmap = None self._scaled_contents = False self._allow_upscaling = False self._preserve_aspect_ratio = False self._allow_clipping = False self.setBackgroundRole(QPalette.Window) # -------------------------------------------------------------------------- # Private API # -------------------------------------------------------------------------- def paintEvent(self, event): """ A custom paint event handler which draws the image according to the current size constraints. """ pixmap = self._pixmap if pixmap is None: return pm_size = pixmap.size() pm_width = pm_size.width() pm_height = pm_size.height() if pm_width == 0 or pm_height == 0: return width = self.size().width() height = self.size().height() if not self._scaled_contents: # If the image isn't scaled, it is centered if possible. # Otherwise, it's painted at the origin and clipped. paint_x = max(0, int(width / 2.0 - pm_width / 2.0)) paint_y = max(0, int(height / 2.0 - pm_height / 2.0)) paint_width = pm_width paint_height = pm_height else: # If the image *is* scaled, it's scaled size depends on the # size of the paint area as well as the other scaling flags. if self._preserve_aspect_ratio: pm_ratio = float(pm_width) / pm_height ratio = float(width) / height if ratio >= pm_ratio: if self._allow_upscaling: paint_height = height else: paint_height = min(pm_height, height) paint_width = int(paint_height * pm_ratio) else: if self._allow_upscaling: paint_width = width else: paint_width = min(pm_width, width) paint_height = int(paint_width / pm_ratio) else: if self._allow_upscaling: paint_height = height paint_width = width else: paint_height = min(pm_height, height) paint_width = min(pm_width, width) # In all cases of scaling, we know that the scaled image is # no larger than the paint area, and can thus be centered. paint_x = int(width / 2.0 - paint_width / 2.0) paint_y = int(height / 2.0 - paint_height / 2.0) # Finally, draw the pixmap into the calculated rect. painter = QPainter(self) painter.setRenderHint(QPainter.SmoothPixmapTransform) painter.drawPixmap(paint_x, paint_y, paint_width, paint_height, pixmap) # -------------------------------------------------------------------------- # Public API # -------------------------------------------------------------------------- def sizeHint(self): """ Returns a appropriate size hint for the image based on the underlying QPixmap. """ pixmap = self._pixmap if pixmap is not None: return pixmap.size() return super().sizeHint() def minimumSizeHint(self): """ Returns a appropriate minimum size hint for the image based on the underlying QPixmap. """ pixmap = self._pixmap if ( pixmap is not None and not self._allow_clipping and not self._scaled_contents ): return pixmap.size() return super().sizeHint() def pixmap(self): """ Returns the underlying pixmap for the image view. """ return self._pixmap def setPixmap(self, pixmap): """ Set the pixmap to use as the image in the widget. Parameters ---------- pixamp : QPixmap The QPixmap to use as the image in the widget. """ self._pixmap = pixmap self.update() def scaledContents(self): """ Returns whether or not the contents scale with the widget size. """ return self._scaled_contents def setScaledContents(self, scaled): """ Set whether the contents scale with the widget size. Parameters ---------- scaled : bool If True, the image will be scaled to fit the widget size, subject to the other sizing constraints in place. If False, the image will not scale and will be clipped as required. """ self._scaled_contents = scaled self.update() def allowUpscaling(self): """ Returns whether or not the image can be scaled greater than its natural size. """ return self._allow_upscaling def setAllowUpscaling(self, allow): """ Set whether or not to allow the image to be scaled beyond its natural size. Parameters ---------- allow : bool If True, then the image may be scaled larger than its natural if it is scaled to fit. If False, the image will never be scaled larger than its natural size. In either case, the image may be scaled smaller. """ self._allow_upscaling = allow self.update() def preserveAspectRatio(self): """ Returns whether or not the aspect ratio of the image is maintained during a resize. """ return self._preserve_aspect_ratio def setPreserveAspectRatio(self, preserve): """ Set whether or not to preserve the image aspect ratio. Parameters ---------- preserve : bool If True then the aspect ratio of the image will be preserved if it is scaled to fit. Otherwise, the aspect ratio will be ignored. """ self._preserve_aspect_ratio = preserve self.update() def allowClipping(self): """ Returns whether or not the image should be clipped in the view. """ return self._preserve_aspect_ratio def setAllowClipping(self, allow): """ Set whether or not the image should be clipped in the view. Parameters ---------- allow : bool If True then clipping will be allowed. Otherwise the minimum size hint will be the image size. """ self._allow_clipping = allow self.update() # ------------------------------------------------------------------------- # '_ImageEditor' class: # ------------------------------------------------------------------------- class _ImageEditor(Editor): """ Traits UI 'display only' image editor. """ def init(self, parent): """ Finishes initializing the editor by creating the underlying toolkit widget. """ image = self.factory.image if image is None: image = self.value self.control = QImageView() self.control.setPixmap(convert_bitmap(image)) self.control.setScaledContents(self.factory.scale) self.control.setAllowUpscaling(self.factory.allow_upscaling) self.control.setPreserveAspectRatio(self.factory.preserve_aspect_ratio) self.control.setAllowClipping(self.factory.allow_clipping) self.set_tooltip() def update_editor(self): """ Updates the editor when the object trait changes externally to the editor. """ if self.factory.image is None: value = self.value if isinstance(value, ImageResource): self.control.setPixmap(convert_bitmap(value)) self.control.setScaledContents(self.factory.scale) self.control.setAllowUpscaling(self.factory.allow_upscaling) self.control.setPreserveAspectRatio(self.factory.preserve_aspect_ratio) self.control.setAllowClipping(self.factory.allow_clipping) traitsui-7.2.1/traitsui/qt4/history_editor.py0000644000076500000240000000731314046644454022010 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! """ Defines a text editor which displays a text field and maintains a history of previously entered values. """ from pyface.qt import QtGui from .editor import Editor class _HistoryEditor(Editor): """ Simple style text editor, which displays a text field and maintains a history of previously entered values, the maximum number of which is specified by the 'entries' trait of the HistoryEditor factory. """ # ------------------------------------------------------------------------- # 'Editor' interface: # ------------------------------------------------------------------------- def init(self, parent): """ Finishes initializing the editor by creating the underlying toolkit widget. """ self.control = control = QtGui.QComboBox() control.setEditable(True) control.setInsertPolicy(QtGui.QComboBox.InsertAtTop) if self.factory.entries > 0: control.model().rowsInserted.connect(self._truncate) if self.factory.auto_set: control.editTextChanged.connect(self.update_object) else: control.activated[str].connect(self.update_object) self.set_tooltip() def update_object(self, text): """ Handles the user entering input data in the edit control. """ if not self._no_update: self.value = str(text) def update_editor(self): """ Updates the editor when the object trait changes externally to the editor. """ self._no_update = True self.control.setEditText(self.str_value) self._no_update = False # -- UI preference save/restore interface --------------------------------- def restore_prefs(self, prefs): """ Restores any saved user preference information associated with the editor. """ history = prefs.get("history") if history: self._no_update = True self.control.addItems(history[: self.factory.entries]) # Adding items sets the edit text, so we reset it afterwards: self.control.setEditText(self.str_value) self._no_update = False def save_prefs(self): """ Returns any user preference information associated with the editor. """ history = [ str(self.control.itemText(index)) for index in range(self.control.count()) ] # If the view closed successfully, update the history with the current # editor value, as long it is different from the current object value: if self.ui.result: current = str(self.control.currentText()) if current != self.str_value: history.insert(0, current) return {"history": history} # ------------------------------------------------------------------------- # '_HistoryEditor' private interface: # ------------------------------------------------------------------------- def _truncate(self, parent, start, end): """ Handle items being added to the combo box. If there are too many, remove items at the end. """ diff = self.control.count() - self.factory.entries if diff > 0: for i in range(diff): self.control.removeItem(self.factory.entries) traitsui-7.2.1/traitsui/item.py0000644000076500000240000004571214046644454017174 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! """ Defines the Item class, which is used to represent a single item within a Traits-based user interface. """ import re from traits.api import ( Bool, Callable, Constant, Delegate, Float, Instance, Range, Str, Undefined, Dict, ) from traits.trait_base import user_name_for from .view_element import ViewSubElement from .ui_traits import ContainerDelegate, EditorStyle from .editor_factory import EditorFactory # Pattern of all digits: all_digits = re.compile(r"\d+") # Pattern for finding size infomation embedded in an item description: size_pat = re.compile(r"^(.*)<(.*)>(.*)$", re.MULTILINE | re.DOTALL) # Pattern for finding tooltip infomation embedded in an item description: tooltip_pat = re.compile(r"^(.*)`(.*)`(.*)$", re.MULTILINE | re.DOTALL) # ------------------------------------------------------------------------- # Trait definitions: # ------------------------------------------------------------------------- # Reference to an EditorFactory: ItemEditor = Instance(EditorFactory, allow_none=True) # Amount of padding to add around an item: Padding = Range(-15, 15, 0, desc="amount of padding to add around item") # ------------------------------------------------------------------------- # 'Item' class: # ------------------------------------------------------------------------- class Item(ViewSubElement): """ An element in a Traits-based user interface. Magic: - Items are rendered as layout elements if :attr:`name` is set to special values: * ``name=''``, the item is rendered as a static label * ``name='_'``, the item is rendered as a separator * ``name=' '``, the item is rendered as a 5 pixel spacer * ``name='23'`` (any number), the item is rendered as a spacer of the size specified (number of pixels) """ # FIXME: all the logic for the name = '', '_', ' ', '23' magic is in # _GroupPanel._add_items in qt/ui_panel.py, which is a very unlikely place # to look for it. Ideally, that logic should be in this class. # ------------------------------------------------------------------------- # Trait definitions: # ------------------------------------------------------------------------- #: A unique identifier for the item. If not set, it defaults to the value #: of **name**. id = Str() #: User interface label for the item in the GUI. If this attribute is not #: set, the label is the value of **name** with slight modifications: #: underscores are replaced by spaces, and the first letter is capitalized. #: If an item's **name** is not specified, its label is displayed as #: static text, without any editor widget. label = Str() #: Name of the trait the item is editing: name = Str() #: Style-sheet to apply to item / group (Qt only) style_sheet = Str() #: Help text describing the purpose of the item. The built-in help handler #: displays this text in a pop-up window if the user clicks the widget's #: label. View-level help displays the help text for all items in a view. #: If this attribute is not set, the built-in help handler generates a #: description based on the trait definition. help = Str() #: The HasTraits object whose trait attribute the item is editing: object = ContainerDelegate #: Presentation style for the item: style = ContainerDelegate #: Docking style for the item: dock = ContainerDelegate #: Image to display on notebook tabs: image = ContainerDelegate #: Category of elements dragged from view: export = ContainerDelegate #: Should a label be displayed for the item? show_label = Delegate("container", "show_labels") #: Editor to use for the item: editor = ItemEditor #: Additional editor traits to be set if default traits editor to be used: editor_args = Dict() #: Should the item use extra space along its Group's non-layout axis? If set to #: True, the widget expands to fill any extra space that is available in the #: display. If set to True for more than one item in the same View, any extra #: space is divided between them. If set to False, the widget uses only #: whatever space it is explicitly (or implicitly) assigned. The default #: value of Undefined means that the use (or non-use) of extra space will be #: determined by the editor associated with the item. resizable = Bool(Undefined) #: Should the item use extra space along its Group's layout axis? For #: example, it a vertical group, should an item expand vertically to use #: any extra space available in the group? springy = Bool(False) #: Should the item's label use emphasized text? If the label is not shown, #: this attribute is ignored. emphasized = Bool(False) #: Should the item receive focus initially? has_focus = Bool(False) #: Pre-condition for including the item in the display. If the expression #: evaluates to False, the item is not defined in the display. Conditions #: for **defined_when** are evaluated only once, when the display is first #: constructed. Use this attribute for conditions based on attributes that #: vary from object to object, but that do not change over time. For example, #: displaying a 'maiden_name' item only for female employees in a company #: database. defined_when = Str() #: Pre-condition for showing the item. If the expression evaluates to False, #: the widget is not visible (and disappears if it was previously visible). #: If the value evaluates to True, the widget becomes visible. All #: **visible_when** conditions are checked each time that any trait value #: on an object in the UI's context is changed. Therefore, you can use #: **visible_when** conditions to hide or show widgets in response to user #: input. Be aware that this only applies to traits in the UI's context. As #: a result, changes to nested traits that don't also change a trait on #: some object in the context may not trigger the expression to be checked. #: Additionally, the expression needs to be a valid python expression given #: the context. i.e. eval(visible_when, globals=globals(), locals=context) #: should succeed. visible_when = Str() #: Pre-condition for enabling the item. If the expression evaluates to False, #: the widget is disabled, that is, it does not accept input. All #: **enabled_when** conditions are checked each time that any trait value #: on an object in the UI's context is changed. Therefore, you can use #: **enabled_when** conditions to enable or disable widgets in response to #: user input. Be aware that this only applies to traits in the UI's #: context. As a result, changes to nested traits that don't also change a #: trait on some object in the context may not trigger the expression to be #: checked. Additionally, the expression needs to be a valid python #: expression given the context. i.e. #: eval(enabled_when, globals=globals(), locals=context) should succeed. enabled_when = Str() #: Amount of extra space, in pixels, to add around the item. Values must be #: integers between -15 and 15. Use negative values to subtract from the #: default spacing. padding = Padding #: Tooltip to display over the item, when the mouse pointer is left idle #: over the widget. Make this text as concise as possible; use the **help** #: attribute to provide more detailed information. tooltip = Str() #: A Callable to use for formatting the contents of the item. This function #: or method is called to create the string representation of the trait value #: to be edited. If the widget does not use a string representation, this #: attribute is ignored. format_func = Callable() #: Python format string to use for formatting the contents of the item. #: The format string is applied to the string representation of the trait #: value before it is displayed in the widget. This attribute is ignored if #: the widget does not use a string representation, or if the #: **format_func** is set. format_str = Str() #: Requested width of the editor (in pixels or fraction of available width). #: For pixel values (i.e. values not in the range from 0.0 to 1.0), the #: actual displayed width is at least the maximum of **width** and the #: optimal width of the widget as calculated by the GUI toolkit. Specify a #: negative value to ignore the toolkit's optimal width. For example, use #: -50 to force a width of 50 pixels. The default value of -1 ensures that #: the toolkit's optimal width is used. #: #: A value in the range from 0.0 to 1.0 specifies the fraction of the #: available width to assign to the editor. Note that the value is not an #: absolute value, but is relative to other item's whose **width** is also #: in the 0.0 to 1.0 range. For example, if you have two item's with a width #: of 0.1, and one item with a width of 0.2, the first two items will each #: receive 25% of the available width, while the third item will receive #: 50% of the available width. The available width is the total width of the #: view minus the width of any item's with fixed pixel sizes (i.e. width #: values not in the 0.0 to 1.0 range). width = Float(-1.0) #: Requested height of the editor (in pixels or fraction of available #: height). For pixel values (i.e. values not in the range from 0.0 to 1.0), #: the actual displayed height is at least the maximum of **height** and the #: optimal height of the widget as calculated by the GUI toolkit. Specify a #: negative value to ignore the toolkit's optimal height. For example, use #: -50 to force a height of 50 pixels. The default value of -1 ensures that #: the toolkit's optimal height is used. #: #: A value in the range from 0.0 to 1.0 specifies the fraction of the #: available height to assign to the editor. Note that the value is not an #: absolute value, but is relative to other item's whose **height** is also #: in the 0.0 to 1.0 range. For example, if you have two item's with a height #: of 0.1, and one item with a height of 0.2, the first two items will each #: receive 25% of the available height, while the third item will receive #: 50% of the available height. The available height is the total height of #: the view minus the height of any item's with fixed pixel sizes (i.e. #: height values not in the 0.0 to 1.0 range). height = Float(-1.0) #: The extended trait name of the trait containing the item's invalid state #: status (passed through to the item's editor): invalid = Str() def __init__(self, value=None, **traits): """ Initializes the item object. """ super().__init__(**traits) if value is None: return if not isinstance(value, str): raise TypeError( "The argument to Item must be a string of the " "form: [id:][object.[object.]*][name]['['label']']`tooltip`" "[][#^][$|@|*|~|;style]" ) value, empty = self._parse_label(value) if empty: self.show_label = False value = self._parse_style(value) value = self._parse_size(value) value = self._parse_tooltip(value) value = self._option(value, "#", "resizable", True) value = self._option(value, "^", "emphasized", True) value = self._split("id", value, ":", str.find, 0, 1) value = self._split("object", value, ".", str.rfind, 0, 1) if value != "": self.name = value def is_includable(self): """ Returns a Boolean indicating whether the object is replaceable by an Include object. """ return self.id != "" def is_spacer(self): """ Returns True if the item represents a spacer or separator. """ name = self.name.strip() return ( (name == "") or (name == "_") or (all_digits.match(name) is not None) ) def get_help(self, ui): """ Gets the help text associated with the Item in a specified UI. """ # Return 'None' if the Item is a separator or spacer: if self.is_spacer(): return None # Otherwise, it must be a trait Item: if self.help != "": return self.help object = eval(self.object_, globals(), ui.context) return object.base_trait(self.name).get_help() def get_label(self, ui): """ Gets the label to use for a specified Item. If not specified, the label is set as the name of the corresponding trait, replacing '_' with ' ', and capitalizing the first letter (see :func:`user_name_for`). This is called the *user name*. Magic: - if attr:`item.label` is specified, and it begins with '...', the final label is the user name followed by the item label - if attr:`item.label` is specified, and it ends with '...', the final label is the item label followed by the user name """ # Return 'None' if the Item is a separator or spacer: if self.is_spacer(): return None label = self.label if label != "": return label name = self.name object = eval(self.object_, globals(), ui.context) trait = object.base_trait(name) label = user_name_for(name) tlabel = trait.label if tlabel is None: return label if isinstance(tlabel, str): if tlabel[0:3] == "...": return label + tlabel[3:] if tlabel[-3:] == "...": return tlabel[:-3] + label if self.label != "": return self.label return tlabel return tlabel(object, name, label) def get_id(self): """ Returns an ID used to identify the item. """ if self.id != "": return self.id return self.name def _parse_size(self, value): """ Parses a '' value from the string definition. """ match = size_pat.match(value) if match is not None: data = match.group(2) value = match.group(1) + match.group(3) col = data.find(",") if col < 0: self._set_float("width", data) else: self._set_float("width", data[:col]) self._set_float("height", data[col + 1 :]) return value def _parse_tooltip(self, value): """ Parses a *tooltip* value from the string definition. """ match = tooltip_pat.match(value) if match is not None: self.tooltip = match.group(2) value = match.group(1) + match.group(3) return value def _set_float(self, name, value): """ Sets a specified trait to a specified string converted to a float. """ value = value.strip() if value != "": setattr(self, name, float(value)) def __repr__(self): """ Returns a "pretty print" version of the Item. """ options = self._repr_options( "id", "object", "label", "style", "show_label", "width", "height" ) if options is None: return "Item( '%s' )" % self.name return "Item( '%s'\n%s\n)" % ( self.name, self._indent(options, " "), ) # ------------------------------------------------------------------------- # 'UItem' class: # ------------------------------------------------------------------------- class UItem(Item): """ An Item that has no label. """ show_label = Bool(False) # ------------------------------------------------------------------------- # 'Custom' class: # ------------------------------------------------------------------------- class Custom(Item): """ An Item using a 'custom' style. """ style = EditorStyle("custom") # ------------------------------------------------------------------------- # 'UCustom' class: # ------------------------------------------------------------------------- class UCustom(Custom): """ An Item using a 'custom' style with no label. """ show_label = Bool(False) # ------------------------------------------------------------------------- # 'Readonly' class: # ------------------------------------------------------------------------- class Readonly(Item): """ An Item using a 'readonly' style. """ style = EditorStyle("readonly") # ------------------------------------------------------------------------- # 'UReadonly' class: # ------------------------------------------------------------------------- class UReadonly(Readonly): """ An Item using a 'readonly' style with no label. """ show_label = Bool(False) # ------------------------------------------------------------------------- # 'Label' class: # ------------------------------------------------------------------------- class Label(Item): """ An item that is a label. """ def __init__(self, label, **traits): super().__init__(label=label, **traits) # ------------------------------------------------------------------------- # 'Heading' class: # ------------------------------------------------------------------------- class Heading(Label): """ An item that is a fancy label. """ #: Override the 'style' trait to default to the fancy 'custom' style: style = Constant("custom") # ------------------------------------------------------------------------- # 'Spring' class: # ------------------------------------------------------------------------- class Spring(Item): """ An item that is a layout "spring". """ # ------------------------------------------------------------------------- # Trait definitions: # ------------------------------------------------------------------------- #: Name of the trait the item is editing #: Just a dummy trait that exists on all HasTraits objects. It's an Event, #: so it won't cause Traits UI to add any synchronization, and because it #: already exists, it won't force the addition of a new trait with a bogus #: name. name = "trait_modified" #: Should a label be displayed? show_label = Bool(False) #: Editor to use for the item editor = Instance("traitsui.api.NullEditor", ()) #: Should the item use extra space along its Group's layout orientation? springy = True # A pre-defined spring for convenience spring = Spring() traitsui-7.2.1/traitsui/file_dialog.py0000644000076500000240000004766014046644454020500 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! """ Defines functions and classes used to create pop-up file dialogs for opening and saving files. """ from os import R_OK, W_OK, access, mkdir from os.path import ( basename, dirname, exists, getatime, getctime, getmtime, getsize, isdir, isfile, join, split, splitext, ) from time import localtime, strftime from traits.api import ( Bool, Button, CList, Event, File, HasPrivateTraits, Instance, Int, Interface, Property, Str, cached_property, provides, ) from traits.trait_base import user_name_for from .api import ( CodeEditor, FileEditor, HGroup, HSplit, Handler, HistoryEditor, ImageEditor, InstanceEditor, Item, UIInfo, VGroup, VSplit, View, spring, ) from .ui_traits import AView from pyface.api import ImageResource from pyface.timer.api import do_later from .helper import commatize from .toolkit import toolkit # Maximum text file size to process: MAX_SIZE = 16 * 1024 * 1024 # ------------------------------------------------------------------------- # 'IFileDialogModel' interface: # ------------------------------------------------------------------------- class IFileDialogModel(Interface): """ Defines a model extension to a file dialog. """ #: The name of the currently selected file: file_name = File() # ------------------------------------------------------------------------- # 'IFileDialogView' interface: # ------------------------------------------------------------------------- class IFileDialogView(Interface): """ Defines a visual extension to a file dialog. """ #: The view to display: view = AView #: Is the view fixed or variable width? is_fixed = Bool() # ------------------------------------------------------------------------- # 'IFileDialogExtension' interface: # ------------------------------------------------------------------------- class IFileDialogExtension(IFileDialogModel, IFileDialogView): """ Defines a (convenience) union of the IFileDialogModel and IFileDialogView interfaces. """ # ------------------------------------------------------------------------- # 'MFileDialogModel' mix-in class: # ------------------------------------------------------------------------- @provides(IFileDialogModel) class MFileDialogModel(HasPrivateTraits): #: The name of the currently selected file: file_name = File() # ------------------------------------------------------------------------- # 'MFileDialogView' mix-in class: # ------------------------------------------------------------------------- class MFileDialogView(HasPrivateTraits): """ Defines a visual extension to a file dialog. """ #: The view to display: view = AView #: Is the view fixed or variable width? is_fixed = Bool(False) # Create a default implementation: default_view = MFileDialogView() class MFileDialogExtension(MFileDialogModel, MFileDialogView): """ Defines a (convenience) union of the MFileDialogModel and MFileDialogView mix-in classes. """ class FileInfo(MFileDialogModel): """ Defines a file dialog extension that display various file information. """ #: The size of the file: size = Property(observe="file_name") #: Last file access time: atime = Property(observe="file_name") #: List file modification time: mtime = Property(observe="file_name") #: File creation time (or last metadata change time): ctime = Property(observe="file_name") # -- Traits View Definitions ---------------------------------------------- view = View( VGroup( Item("size", label="File size", style="readonly"), Item("atime", label="Last access", style="readonly"), Item("mtime", label="Last modified", style="readonly"), Item("ctime", label="Created at", style="readonly"), label="File Information", show_border=True, ) ) # -- Property Implementations --------------------------------------------- @cached_property def _get_size(self): try: return commatize(getsize(self.file_name)) + " bytes" except: return "" @cached_property def _get_atime(self): try: return strftime( "%m/%d/%Y %I:%M:%S %p", localtime(getatime(self.file_name)) ) except: return "" @cached_property def _get_mtime(self): try: return strftime( "%m/%d/%Y %I:%M:%S %p", localtime(getmtime(self.file_name)) ) except: return "" @cached_property def _get_ctime(self): try: return strftime( "%m/%d/%Y %I:%M:%S %p", localtime(getctime(self.file_name)) ) except: return "" class TextInfo(MFileDialogModel): """ Defines a file dialog extension that displays a file's contents as text. """ #: The file's text content: text = Property(observe="file_name") # -- Traits View Definitions ---------------------------------------------- view = View( Item("text", style="readonly", show_label=False, editor=CodeEditor()) ) # -- Property Implementations --------------------------------------------- @cached_property def _get_text(self): try: if getsize(self.file_name) > MAX_SIZE: return "File too big..." with open(self.file_name, "rb") as fh: data = fh.read() except Exception: return "" if (data.find("\x00") >= 0) or (data.find("\xFF") >= 0): return "File contains binary data..." return data class ImageInfo(MFileDialogModel): """ Defines a file dialog extension that display an image file's dimensions and content. """ #: The ImageResource object for the current file: image = Property(observe="file_name") #: The width of the current image: width = Property(observe="image") #: The height of the current image: height = Property(observe="image") # -- Traits View Definitions ---------------------------------------------- view = View( VGroup( VGroup( Item("width", style="readonly"), Item("height", style="readonly"), label="Image Dimensions", show_border=True, ), VGroup( Item("image", show_label=False, editor=ImageEditor()), label="Image", show_border=True, springy=True, ), ) ) # -- Property Implementations --------------------------------------------- @cached_property def _get_image(self): path, name = split(self.file_name) if splitext(name)[1] in (".png", ".gif", ".jpg", ".jpeg"): image = ImageResource(name, search_path=[path]) else: image = ImageResource("unknown") self._cur_image = image.create_image() return image @cached_property def _get_width(self): try: return str(toolkit().image_size(self._cur_image)[0]) + " pixels" except: return "---" @cached_property def _get_height(self): try: return str(toolkit().image_size(self._cur_image)[1]) + " pixels" except: return "---" class CreateDirHandler(Handler): """ Controller for the 'create new directory' popup. """ #: The name for the new directory to be created: dir_name = Str() #: The current status message: message = Str() #: The OK and Cancel buttons: ok = Button("OK") cancel = Button("Cancel") # -- Traits View Definitions ---------------------------------------------- view = View( VGroup( HGroup( Item("handler.dir_name", label="Name"), Item( "handler.ok", show_label=False, enabled_when="handler.dir_name.strip() != ''", ), Item("handler.cancel", show_label=False), ), HGroup( Item( "handler.message", show_label=False, style="readonly", springy=True, ), show_border=True, ), ), kind="popup", ) # -- Handler Event Handlers ----------------------------------------------- def handler_ok_changed(self, info): """ Handles the user clicking the OK button. """ dir = info.object.file_name if not isdir(dir): dir = dirname(dir) path = join(dir, self.dir_name) try: # Try to create the requested directory: mkdir(path) # Force the file tree view to be refreshed: info.object.reload = True # set the new directory as the currently selected file name: info.object.file_name = path # Close this view: info.ui.dispose(True) except: self.message = ( "Could not create the '%s' directory" % self.dir_name ) def handler_cancel_changed(self, info): """ Handles the user clicking the Cancel button. """ info.ui.dispose(False) class FileExistsHandler(Handler): """ Controller for the 'file already exists' popup. """ #: The current status message: message = Str() #: The OK and Cancel buttons: ok = Button("OK") cancel = Button("Cancel") # -- Traits View Definitions ---------------------------------------------- view = View( VGroup( HGroup( Item( "handler.message", editor=ImageEditor(image="@icons:dialog-warning"), ), Item("handler.message", style="readonly"), show_labels=False, ), HGroup( spring, Item("handler.ok"), Item("handler.cancel"), show_labels=False, ), ), kind="popup", ) # -- Handler Event Handlers ----------------------------------------------- def handler_ok_changed(self, info): """ Handles the user clicking the OK button. """ parent = info.ui.parent info.ui.dispose(True) parent.dispose(True) def handler_cancel_changed(self, info): """ Handles the user clicking the Cancel button. """ info.ui.dispose(False) class OpenFileDialog(Handler): """ Defines the model and handler for the open file dialog. """ #: The starting and current file path: file_name = File() #: The list of file filters to apply: filter = CList(Str) #: Number of history entries to allow: entries = Int(10) #: The file dialog title: title = Str("Open File") #: The Traits UI persistence id to use: id = Str("traitsui.file_dialog.OpenFileDialog") #: A list of optional file dialog extensions: extensions = CList(IFileDialogModel) # -- Private Traits ------------------------------------------------------- #: The UIInfo object for the view: info = Instance(UIInfo) #: Event fired when the file tree view should be reloaded: reload = Event() #: Event fired when the user double-clicks on a file name: dclick = Event() #: Allow extension models to be added dynamically: extension__ = Instance(IFileDialogModel) #: Is the file dialog for saving a file (or opening a file)? is_save_file = Bool(False) #: Is the currently specified file name valid? is_valid_file = Property(observe="file_name") #: Can a directory be created now? can_create_dir = Property(observe="file_name") #: The OK, Cancel and create directory buttons: ok = Button("OK") cancel = Button("Cancel") create = Button(image="@icons:folder-new", style="toolbar") # -- Handler Class Method Overrides --------------------------------------- def init_info(self, info): """ Handles the UIInfo object being initialized during view start-up. """ self.info = info # -- Property Implementations --------------------------------------------- def _get_is_valid_file(self): if self.is_save_file: return isfile(self.file_name) or (not exists(self.file_name)) return isfile(self.file_name) def _get_can_create_dir(self): dir = dirname(self.file_name) return isdir(dir) and access(dir, R_OK | W_OK) # -- Handler Event Handlers ----------------------------------------------- def object_ok_changed(self, info): """ Handles the user clicking the OK button. """ if self.is_save_file and exists(self.file_name): do_later(self._file_already_exists) else: info.ui.dispose(True) def object_cancel_changed(self, info): """ Handles the user clicking the Cancel button. """ info.ui.dispose(False) def object_create_changed(self, info): """ Handles the user clicking the create directory button. """ if not isdir(self.file_name): self.file_name = dirname(self.file_name) CreateDirHandler().edit_traits( context=self, parent=info.create.control ) # -- Traits Event Handlers ------------------------------------------------ def _dclick_changed(self): """ Handles the user double-clicking a file name in the file tree view. """ if self.is_valid_file: self.object_ok_changed(self.info) # -- Private Methods ------------------------------------------------------ def open_file_view(self): """ Returns the file dialog view to use. """ # Set up the default file dialog view and size information: item = Item( "file_name", id="file_tree", style="custom", show_label=False, width=0.5, editor=FileEditor( filter=self.filter, allow_dir=True, reload_name="reload", dclick_name="dclick", ), ) width = height = 0.20 # Check to see if we have any extensions being added: if len(self.extensions) > 0: # fixme: We should use the actual values of the view's Width and # height traits here to adjust the overall width and height... width *= 2.0 # Assume we can used a fixed width Group: klass = HGroup # Set up to build a list of view Item objects: items = [] # Add each extension to the dialog: for i, extension in enumerate(self.extensions): # Save the extension in a new trait (for use by the View): name = "extension_%d" % i setattr(self, name, extension) extension_view = extension # Sync up the 'file_name' trait with the extension: self.sync_trait("file_name", extension, mutual=True) # Check to see if it also defines the optional IFileDialogView # interface, and if not, use the default view information: if not extension.has_traits_interface(IFileDialogView): extension_view = default_view # Get the view that the extension wants to use: view = extension.trait_view(extension_view.view) # Determine if we should use a splitter for the dialog: if not extension_view.is_fixed: klass = HSplit # Add the extension as a new view item: items.append( Item( name, label=user_name_for(extension.__class__.__name__), show_label=False, style="custom", width=0.5, height=0.5, dock="horizontal", resizable=True, editor=InstanceEditor(view=view, id=name), ) ) # Finally, combine the normal view element with the extensions: item = klass( item, VSplit(id="splitter2", springy=True, *items), id="splitter", ) # Return the resulting view: return View( VGroup( VGroup(item), HGroup( Item( "create", id="create", show_label=False, style="custom", defined_when="is_save_file", enabled_when="can_create_dir", tooltip="Create a new directory", ), Item( "file_name", id="history", editor=HistoryEditor( entries=self.entries, auto_set=True ), springy=True, ), Item( "ok", id="ok", show_label=False, enabled_when="is_valid_file", ), Item("cancel", show_label=False), ), ), title=self.title, id=self.id, kind="livemodal", width=width, height=height, close_result=False, resizable=True, ) def _file_already_exists(self): """ Handles prompting the user when the selected file already exists, and the dialog is a 'save file' dialog. """ feh = FileExistsHandler( message=( "The file '%s' already exists.\nDo " "you wish to overwrite it?" ) % basename(self.file_name) ) feh.edit_traits(context=self, parent=self.info.ok.control).trait_set( parent=self.info.ui ) # ------------------------------------------------------------------------- # Returns a file name to open or an empty string if the user cancels the # operation: # ------------------------------------------------------------------------- def open_file(**traits): """ Returns a file name to open or an empty string if the user cancels the operation. """ fd = OpenFileDialog(**traits) if fd.edit_traits(view="open_file_view").result: return fd.file_name return "" def save_file(**traits): """ Returns a file name to save to or an empty string if the user cancels the operation. In the case where the file selected already exists, the user will be prompted if they want to overwrite the file before the selected file name is returned. """ traits.setdefault("title", "Save File") traits["is_save_file"] = True fd = OpenFileDialog(**traits) if fd.edit_traits(view="open_file_view").result: return fd.file_name return "" # -- Test Case ------------------------------------------------------------ if __name__ == "__main__": print( save_file( extensions=[FileInfo(), TextInfo(), ImageInfo()], filter="Python file (*.py)|*.py", ) ) traitsui-7.2.1/traitsui/extras/0000755000076500000240000000000014046644526017161 5ustar aayresstaff00000000000000traitsui-7.2.1/traitsui/extras/images/0000755000076500000240000000000014046644526020426 5ustar aayresstaff00000000000000traitsui-7.2.1/traitsui/extras/images/run.png0000644000076500000240000000202114046644454021733 0ustar aayresstaff00000000000000‰PNG  IHDRóÿagAMA¯È7ŠétEXtSoftwareAdobe ImageReadyqÉe<£IDATxÚbüÿÿ?% €XJK;øù…ØØØ f100ü¿óãÇ÷+üüürrR‘ïß8ÿâÅËe55i+ËË;¸¸x¾~ýÌðíÛG€bâç›ôïßIþÅ®®–ë55•·…òäå¥âídcc½ý>~|]R÷çϘ«A–³ƒƒ##ÐTî%†a††* rrÒüêꊞúú*<¬¬Ì ÌÌL Ÿ>ýäccãcÐÖÖ)úû÷¯é÷ïßwýÿÿ— €X~ÿþÅÍÄÄ óáÆ÷ï¿1ððp ºŠì-FF†à`^GGË6>>N†70¬^½åÑׯ¿&Ëß¿4$$$WŠŠ ‹‹‰ €mûùóãGï†}:“™AD„—AZZ˜AHˆìt!!a†Çïoܸ| @±A¥ŽŽ¦ž––Ô @î3,[¶âú»w¯ih蘙Yˆƒ\#'' 6`ݺÍ_æÏŸœ©§gø €˜¢&ˆˆˆ üªù—••áØ±“¿**2œ.]:=aß¾­Ë1£ª¡¡§.!!ÌÀÄÄÈð÷ï¦ÿÿYù´µ ÞÓ‡oYÞ½{ÏðäÉk†/_¾]ñ›AFF†MCC_'$$–AOÏèéß¿¿c¯^½òåÿF° ,-õY¦L™ÿáÇ>€b>uêÐê7o^~ÓÕ5²+†ƒ²²†ëçÏ_þJIIsñó ÆXZZØ)(H1ƒ¼òíÛ/†¿2,Z´à(@±xxø?VPPãáçça`aaÆÈPÌØÙY hjªwúô‰A\\”AJJ(÷èÒW ¯_†Ó5†«WÏí qq `„ƒþü%+ +Á.‘––GãÏŸ¿89Ù)ðÃܹ“ïž8q`ÑÓ§—˯_¿?,X0¹@\¼mÅë×o€Q÷–AQQ ˜°8ÊÔø›áógPØü`••F¡PÍ›gW¯^jy €X@Ä­[×W¶·Wpûöí÷ç¼¼Ú¥rròœß¿ÿb¸sçPþƒŽŽ>0a±2<¸çÿáÃ{fÂ2@±0“ ܹssˆ %’Ç(¨qrr1Ìœ9áàž=›ëÃÂz€Òìë×/«†ËF˜Ä’=Ãã • ,-mçqssÛC¥ø€X=;ó&c¿ÚgÉ+IEND®B`‚traitsui-7.2.1/traitsui/extras/images/parent.png0000644000076500000240000000161214046644454022425 0ustar aayresstaff00000000000000‰PNG  IHDRóÿagAMA¯È7ŠétEXtSoftwareAdobe ImageReadyqÉe<IDATxÚbüÿÿ?% €X@#cšðF†%&ÆRullL,ÇŽ?éªjb``ú¢ê@1AŒR¬L “€œ@ü»;/פëà¾0žýûÃ9ªª¬j€âÓ!r`­PÌÀ@`0°35ƒôþe`øû·8-Õ¤xâg†Uw™>ý``hmµgøû‡!¹³ëèK +ª8X–2‚µ Ü@øûÇÞÁY¹iú†U·™æýÏðýë†ïïÿ0´µ[1ܹû¾líÚëXÙV3°B  ˆ˜œ_Ex¦ÌšìÂuá Ã’ ÿ8þýbàüÿƒaáÑO ëÎ|d˜>ÙŽEVA¨áûoIX8ÔF¦ÿÿªººìtx•DZ10üøñ›áÏ ¾gøûóCåò§ ¾þg˜<ÁN™•¹…á×_°ëbÀ÷?¦^þ¹É z {ï00²üfaþÎðõëw†oŸ‚ùÒ¼ ‹w=cðt“f‹Tà Ò A¾ÿÿÿÿ&˜ÓÇÌçÿ÷ùüÿô÷ûÿÿû÷ÿ”¼ìÿ0Þÿ'sÓÿqœØÿñììÿáäëÿïïíÿÓ×åÿ -œáÿÿÿìŒ?œ,Ý3Î}ýóûù:jÍY¹9Ø!ÄlÌ, ¯Þüd(k;óçûï¿98™9~²A@`Þ~øá¶nÅU!†_ÀPcb¬ËÏÐ ajúùåÃϯßþÿagxýñ'Ãú-w0|ûSÄÀÌÄÆ Äñ¤ € ÁÄxÿ7Û}.`Ès2dFÑW`øøñ+Ã÷Oß¾|æªáaàãüôåÓ¯Ë €z˜!Ñ@,ˆD F) ÉLu¬¸Øþ0p2ÿ&îÿ Øba`cÑðÄ@,&0‰²B³ #Û/`²Œua°Vagøóûƒ¨ ýg@¯°U]ÇȆH|1€á_L w›ç]dP–äþûï$íµ0°2}cø tIãÿ «ï±1LâÊPP`‘ °Z^€{áï¿ÿ O_|eèYó€áþ‡ÿ ‚Ü \\ <œ ‚üœ ÜÜ ÌÌ óϲ#„‘¡£Ý–áøñg@­MÄ Œ?ÿþ2|ûò•áÛÇ ì,Œ ÿ€1òeœ@ÌŒÿX€–|Ò¾q1°²±0p°3³‚ô,„¸Y‚Í„^ûÏÀÃÇÉÀÌÊÊðë3Õ—?Þ½F/ë_†( f†l# µÍ'y4¤ €À¼úð“ù擯 A6bà„ô÷ïAV !v†)OÞ¾ûÁÐ"Å`ÇÉÐØ|Œ¡©ñКÿ˜J@zlÀ‰K¯f¹¦íRed`üÍðèòw?8M ÅÍgöØs¨‰22Ô‡I2èJ²1ÄÄïü·tñ5` 000Õ@Á1ýËp´2ü&D†Ï¿å¿üú{”›‹Iº?IáÀñ— –QGž]»ø¢}60¥0€1<!ôÿŸ@ƒþüçeã`áxýþC[s®®úóéW 0\FO‰Ä‚ÌùÌ' lÀ¤!ÊþéÆãOow3Ý¿þ.‡áÇßÕ \,¿¾ýÅHùÄHiv0¸~#w^£„IEND®B`‚traitsui-7.2.1/traitsui/extras/images/previous.png0000644000076500000240000000162014046644454023007 0ustar aayresstaff00000000000000‰PNG  IHDRóÿagAMA¯È7ŠétEXtSoftwareAdobe ImageReadyqÉe<"IDATxÚbüÿÿ?% €X@#cüÄÿ€ +3ï¿ Lÿ-Ä•fýåbáxûá§;#Ãýÿÿþ1ü©ãgcø1ƒ €˜°ûë¯(ìö Õ<ºa…¿®©¤ôÿ·ß„þýøÍðÿÏ_¥Ä‚¡ùÿ_'QÞ ]vº‰±: ŒÌL ¿~ýýÁðóÏW.sjÊÉ€ÿ@™ÅÎ.ªM3&;sò(Š0,¹þŸ!Hå󯿀Ô"ÂëtN3N ! Œf˜ö!Ö•56r哺lÀÉSOºÕ´¶Ú1|}ÿ‡aÑѯ ÿ~þb†—&+;Ðùÿÿp0|ùÌÁÀÉüAL€¢Ÿ €ÀüûÇÔØÖ~D ˜F’ÚÛ¬¤Ø1T­xÇÀÏû¡1@–á囟 ¯?þ``fâÆà†»Ï¿1<~ý¤ € Èô‡áÿ¿´ŽŽ#¯îÜ{W†™ºô9-ä8•~ÿÿMmÀ¤ÎÂÄðüÿNV6ûïá e5SÞ:wÄ €€.`ù÷ÿ/ÓçO?3üüÂÍðñó/†¿ÿ2üþõ裟@Í@íŒÿ˜þ33(þ1aø|›•!myÛýK×ϧ3ps F†hn`ÚÿËTÝ™j›QàåÁ Ã)ÍÐ3sú¯+OïÞädåadüÇÌôç7ÃËw^?ytwÇŸ¿æ0°s¼a`ef F†(.H^øÅÊÀðös”¹ªcc¸}¸Ê´õÓïݹ}Ù–…ç8Êþ±þe`åþÊðíÇ6¨ ·b(sýFŧŸ ˜Pde­e`äÖþýç—/Ã÷/ÀhfÚ@ X€®ýò H³Ã 0xetòÁñ`IEND®B`‚traitsui-7.2.1/traitsui/extras/progress_column.py0000644000076500000240000000374014046644454022760 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! """ A column class for for the TableEditor that displays progress bars. """ from traits.api import Bool, Int, Str from traitsui.table_column import ObjectColumn class ProgressColumn(ObjectColumn): """ A column which displays trait values as a progress bar Progress values must be an integer value between the maximum and minimum values. By default it is assumed to be a percentage. """ #: Format string to apply to column values. format = Str("%s%%") #: The minimum value for a progress bar. minimum = Int(0) #: The maximum value for a progress bar. maximum = Int(100) #: Whether or not to display the text with the progress bar. #: This may not display with some progress bar styles, eg. on OS X. text_visible = Bool(True) def __init__(self, **traits): super().__init__(**traits) from traitsui.toolkit import toolkit_object ProgressRenderer = toolkit_object( 'extra.progress_renderer:ProgressRenderer' ) self.renderer = ProgressRenderer() def is_editable(self, object): """ Returns whether the column is editable for a specified object. """ # Progress columns are always read-only return False def get_minimum(self, object): return self.minimum def get_maximum(self, object): return self.maximum def get_text_visible(self): """ Whether or not to display text in column. Note, may not render on some platforms (eg. OS X) due to the rendering style. """ return self.text_visible traitsui-7.2.1/traitsui/extras/saving.py0000644000076500000240000002166114046644454021030 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! """ Provides a lightweight framework that removes some of the drudge work involved with implementing user-friendly saving behavior in a Traits UI application. """ # ETS imports from pyface.api import FileDialog, confirm, error, YES, CANCEL from pyface.timer.api import Timer from traits.api import ( HasTraits, Str, Bool, Any, Int, Instance, observe, ) from ..api import Handler class CanSaveMixin(HasTraits): """ A mixin-class for objects that wish to support GUI saving via a SaveHandler. It is the responsiblity of the child class to manage its dirty flag, which describes whether its information has changed since its last save. """ filepath = Str() dirty = Bool(False) # ----------------------------------------------------------------- # object interface # ----------------------------------------------------------------- def __getstate__(self): """ We don't want to pickle the filepath because this can change, obviously, if the user moves around the pickled file. """ state = super().__getstate__() del state["filepath"] del state["dirty"] return state # ----------------------------------------------------------------- # CanSaveMixin interface # ----------------------------------------------------------------- def validate(self): """ Returns whether the information in the object is valid to be saved in tuple form. The first item is the validation state (boolean) and the second item is the message to display if the object did not validate. By default, an object always validates. """ return (True, "") def save(self): """ Saves the object to the path specified by its 'filepath' trait. This method should also reset the dirty flag on this object. """ raise NotImplementedError class SaveHandler(Handler): """ A Handler that facilates adding saving to a Traits UI application. """ #: The object which is to be saved (subclass of CanSaveMixin). It is assigned #: to info.object in the 'init' method, which in many cases is what you want. #: If not, override that method to set it to something else. saveObject = Any() #: The type of files to show in the save dialogs wildcard = Str("All files (*.*)|*.*") #: The option extension which should appear at the end of all filenames. If #: the user does not explicitly specifiy it, it is appended to the filename. extension = Str() #: This message to display when the Handler requests a save savePromptMessage = Str("Would you like to save?") #: Whether to prompt for a save on exit if the save object is dirty promptOnExit = Bool(True) #: Whether to allow the user to override a validation failure through a #: confirmation dialog. By default, validation errors cannot be overriden. allowValidationBypass = Bool(False) #: Whether to automatically save after a certain amount of time has passed #: since the last save autosave = Bool(False) #: Number of seconds between each autosave. Default is 5 minutes. autosaveInterval = Int(300) #: If it is possible to override validation failures, this specifies whether #: autosave will do so. If False and a validation errors occurs, no save #: will occur. autosaveValidationBypass = Bool(True) #: Protected traits _timer = Instance(Timer) # ----------------------------------------------------------------- # Handler interface # ----------------------------------------------------------------- def init(self, info): """ Set the default save object (the object being handled). Also, perform a questionable hack by which we remove the handled object from the keybinding's controllers. This means that a keybinding to 'save' only calls this object, not the object being edited as well. (For reasons unclear, the KeyBinding handler API is radically different from the Action API, which is the reason that this problem exists. Keybindings are a UI concept--they should *not* call the model by default.) """ keybindings = info.ui.key_bindings if keybindings is not None: keybindings.controllers.remove(info.object) self.saveObject = info.object return True def close(self, info, is_ok): """ Called when the user requests to close the interface. Returns a boolean indicating whether the window should be allowed to close. """ if self.promptOnExit: return self.promptForSave(info) else: return True def closed(self, info, is_ok): """ Called after the window is destroyed. Makes sure that the autosave timer is stopped. """ if self._timer: self._timer.Stop() # ----------------------------------------------------------------- # SaveHandler interface # ----------------------------------------------------------------- def exit(self, info): """ Closes the UI unless a save prompt is cancelled. Provided for convenience to be used with a Menu action. """ if self.close(info, True): info.ui.dispose() def save(self, info): """ Saves the object to its current filepath. If this is not specified, opens a dialog to select this path. Returns whether the save actually occurred. """ if self.saveObject.filepath == "": return self.saveAs(info) else: return self._validateAndSave() def saveAs(self, info): """ Saves the object to a new path, and sets this as the 'filepath' on the object. Returns whether the save actually occurred. """ fileDialog = FileDialog( action="save as", title="Save As", wildcard=self.wildcard, parent=info.ui.control, ) fileDialog.open() if fileDialog.path == "" or fileDialog.return_code == CANCEL: return False else: extLen = len(self.extension) if ( extLen and fileDialog.path[-extLen - 1 :] != "." + self.extension ): fileDialog.path += "." + self.extension self.saveObject.filepath = fileDialog.path return self._validateAndSave() def promptForSave(self, info, cancel=True): """ Prompts the user to save the object, if appropriate. Returns whether the user canceled the action that invoked this prompt. """ if self.saveObject.dirty: code = confirm( info.ui.control, self.savePromptMessage, title="Save now?", cancel=cancel, ) if code == CANCEL: return False elif code == YES: if not self.save(info): return self.promptForSave(info, cancel) return True def _autosave(self): """ Called by the timer when an autosave should take place. """ if self.saveObject.dirty and self.saveObject.filepath != "": success, message = self.saveObject.validate() if success or ( self.allowValidationBypass and self.autosaveValidationBypass ): self.saveObject.save() @observe("autosave, autosaveInterval, saveObject") def _configure_timer(self, event): """ Creates, replaces, or destroys the autosave timer. """ if self._timer: self._timer.Stop() if self.autosave and self.saveObject: self._timer = Timer(self.autosaveInterval * 1000, self._autosave) else: self._timer = None def _validateAndSave(self): """ Try to save to the current filepath. Returns whether whether the validation was successful/overridden (and the object saved). """ success, message = self.saveObject.validate() if success: self.saveObject.save() else: title = "Validation error" if ( self.allowValidationBypass and confirm(None, message, title=title) == YES ): self.saveObject.save() success = True else: error(None, message, title=title) return success traitsui-7.2.1/traitsui/extras/__init__.py0000644000076500000240000000000014046644454021260 0ustar aayresstaff00000000000000traitsui-7.2.1/traitsui/extras/checkbox_column.py0000644000076500000240000000321314046644454022675 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! """ Defines the table column descriptor used for toggleable columns. """ from traits.etsconfig.api import ETSConfig from ..table_column import ObjectColumn if ETSConfig.toolkit == "wx": from pyface.ui.wx.grid.checkbox_renderer import CheckboxRenderer elif ETSConfig.toolkit == "qt4": from ..qt4.extra.checkbox_renderer import CheckboxRenderer else: raise NotImplementedError("No checkbox renderer for backend") class CheckboxColumn(ObjectColumn): def __init__(self, **traits): """ Initializes the object. """ super().__init__(**traits) # force the renderer to be a checkbox renderer self.renderer = CheckboxRenderer() def get_cell_color(self, object): """ Returns the cell background color for the column for a specified object. """ # Override the parent class to ALWAYS provide the standard color: return self.cell_color_ def is_editable(self, object): """ Returns whether the column is editable for a specified object. """ # Although a checkbox column is always editable, we return this # to keep a standard editor from appearing. The editing is handled # in the renderer's handlers. return False traitsui-7.2.1/traitsui/extras/api.py0000644000076500000240000000136014046644454020304 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! """ Defines 'pseudo' package that imports all of the traits extras symbols. """ from .checkbox_column import CheckboxColumn from .edit_column import EditColumn from .has_dynamic_views import ( DynamicView, DynamicViewSubElement, HasDynamicViews ) from .progress_column import ProgressColumn from .saving import CanSaveMixin, SaveHandler traitsui-7.2.1/traitsui/extras/has_dynamic_views.py0000644000076500000240000003514714046644454023241 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! """ Provides a framework that assembles Traits UI Views at run time, when the view is requested, rather than at the time a class is written. This capability is particularly useful when the object being 'viewed' with a Traits UI is part of a plug-in application -- such as Envisage. In general, this capability allows: * The GUI for an object can be extendable by contributions other than from the original code writer. * The view can be dynamic in that the elements it is composed of can change each time it is requested. * Registration of a handler can be associated with the view contributions. Either the original object writer, or a contributor, can use this framework to declare one or more dynamic views that are composed of sub-elements that only need to exist at the time the view is requested. Users of this framework create a dynamic view by registering a DynamicView declaration. That declaration includes a name that forms the basis for the metadata attributes that are used to identify and order the desired view sub-elements into the view's composition. In addition, the declaration includes any data to be passed into the constructor of the dynamic view and the id that should be used to persist the user's customization of the view. Additionally, this framework allows sub-elements themselves to also be dynamically composed of further sub-elements. For example, a dynamic view could be composed of two sub-elements: 1. The first is a dynamically composed HFlow, which represents a toolbar that can be extended through contributions of toolbar buttons. 2. The second could be a dynamic tabset where each page is also a contribution. Programmers include dynamic sub-elements within their dynamic views by contributing a DynamicViewSubElement into that view. When the framework comes across this contribution while building the view, it replaces that DynamicViewSubElement with a fully initialized Traits ViewSubElement composed in a manner similar to how the elements of the View itself were composed. Each contribution to a dynamic view or sub-element must be an instance of a Traits ViewSubElement and must have associated metadata like the following for each dynamic view or sub-element it will display in: __order : A float value. The framework uses only ViewSubElements with this metadata instantiated when building the dynamic view or sub-element with the specified name. The elements are sorted by ascending order of this value using the standard list sort function. __priority : A float value. The framework resolves any overloading of an order value by picking the first element encountered that has the highest priority value. The other elements with the same view order are not displayed at all. In addition, dynamic view contributions can also provide a 'handler', which behaves like a normal Traits Handler. That is, it can contain methods that are called when model values change and can access the Traits UIInfo object representing the actual UI instances. To provide a handler, append the following metadata to your view sub-element: __handler : A HasTraits instance. The framework will connect listeners to call the handler methods as part of the handler for the dynamic view. """ from traits.api import Any, Bool, Dict, HasTraits, Instance, Str from traitsui.api import View, ViewSubElement, ViewElement from traitsui.delegating_handler import DelegatingHandler # Set up a logger: import logging logger = logging.getLogger(__name__) # ------------------------------------------------------------------------------- # 'DynamicViewSubElement' class: # ------------------------------------------------------------------------------- class DynamicViewSubElement(ViewSubElement): """ Declares a dynamic sub-element of a dynamic view. """ # --------------------------------------------------------------------------- # Trait definitions: # --------------------------------------------------------------------------- # -- Public 'DynamicViewSubElement' Interface ------------------------------- #: Keyword arguments passed in during construction of the actual #: ViewSubElement instance. keywords = Dict() # FIXME: Should be the 'Class' trait but I couldn't get that to work. #: The class of the actual ViewSubElement we are dynamically creating. klass = Any() #: The name of this dynamic sub-element. This controls the metadata #: names identifying the sub-elements that compose this element. name = Str() # ------------------------------------------------------------------------------- # 'DynamicView' class: # ------------------------------------------------------------------------------- class DynamicView(HasTraits): """ Declares a dynamic view. """ # --------------------------------------------------------------------------- # Trait definitions: # --------------------------------------------------------------------------- # -- Public 'DynamicView' Interface ----------------------------------------- #: The ID of the view. This is the ID that the view's preferences will be #: saved under. id = Str() #: The name of the view. This is the name that should be requested when #: calling edit_traits() or configure_traits(). name = Str() #: Keyword arguments passed in during construction of the actual view #: instance. keywords = Dict() #: Indicates whether this view should be the default traits view for objects #: it is contributed to. use_as_default = Bool(False) # ------------------------------------------------------------------------------- # 'HasDynamicViews' class: # ------------------------------------------------------------------------------- class HasDynamicViews(HasTraits): """ Provides of a framework that builds Traits UI Views at run time, when the view is requested, rather than at the time a class is written. """ # --------------------------------------------------------------------------- # Trait definitions: # --------------------------------------------------------------------------- # -- Protected 'HasDynamicViews' Interface ---------------------------------- #: The registry of dynamic views. The key is the view name and the value #: is the declaration of the dynamic view. _dynamic_view_registry = Dict(Str, Instance(DynamicView)) # --------------------------------------------------------------------------- # 'HasTraits' interface: # --------------------------------------------------------------------------- # -- Public Interface ------------------------------------------------------- def trait_view(self, name=None, view_element=None): """ Gets or sets a ViewElement associated with an object's class. Extended here to build dynamic views and sub-elements. """ result = None # If a view element was passed instead of a name or None, do not handle # this as a request for a dynamic view and let the standard Traits # trait_view method be called with it. Otherwise, compose the dynamic # view here. if not isinstance(name, ViewElement): # If this is a request for the default view, see if one of our # dynamic views should be the default view: if (view_element is None) and (name is None or len(name) < 1): for dname, declaration in self._dynamic_view_registry.items(): if declaration.use_as_default: result = self._compose_dynamic_view(dname) break # Otherwise, handle if this is a request for a dynamic view: elif (view_element is None) and ( name in self._dynamic_view_registry ): result = self._compose_dynamic_view(name) # If we haven't created a dynamic view so far, then do the standard # traits thing to retrieve the UI element: if result is None: result = super().trait_view(name, view_element) return result # --------------------------------------------------------------------------- # 'HasDynamicViews' interface: # --------------------------------------------------------------------------- # -- Public Interface ------------------------------------------------------- def declare_dynamic_view(self, declaration): """ A convenience method to add a new dynamic view declaration to this instance. """ self._dynamic_view_registry[declaration.name] = declaration # -- Protected Interface ---------------------------------------------------- def _build_dynamic_sub_element(self, definition, sub_elements): """ Returns the fully composed ViewSubElement from the sub-element contributions to the dynamic sub-element identified by the definition. """ logger.debug( "\tBuilding dynamic sub-element [%s] with elements [%s]", definition.name, sub_elements, ) return definition.klass(*sub_elements, **definition.keywords) def _build_dynamic_view(self, declaration, sub_elements, handler): """ Returns a Traits View representing the specified dynamic view composed out of the provided view sub-elements. Implemented as a separate method to allow implementors to override the way in which the instantiated view is configured. """ logger.debug( "\tBuilding dynamic view [%s] with elements [%s]", declaration.name, sub_elements, ) return View( # The view id allows the user's customization of this view, if any, # to be persisted when the view is closed and then that persisted # configuration to be applied when the view is next shown: id=declaration.id, # Include the specified handler: handler=handler, # Build the view out of the sub-elements: *sub_elements, # Include the declaration's keywords. **declaration.keywords ) def _compose_dynamic_sub_element(self, definition): """ Returns a dynamic UI element composed from its contributed parts. """ logger.debug( "Composing dynamic sub-element named [%s] for [%s]", definition.name, self, ) # Retrieve the set of elements that make up this sub-element: elements = self._get_dynamic_elements(definition.name) # Build the sub-element: return self._build_dynamic_sub_element(definition, elements) def _compose_dynamic_view(self, name): """ Returns a dynamic view composed from its contributed parts. """ logger.debug("Composing dynamic view [%s] for [%s]", name, self) # Retrieve the declaration of this dynamic view: declaration = self._dynamic_view_registry[name] # Retrieve the set of elements that make up the view: elements = self._get_dynamic_elements(declaration.name) # Build a handler that delegates to the contribution handlers if any # exist: handler = None handlers = self._get_dynamic_handlers(declaration.name, elements) if len(handlers) > 0: handler = DelegatingHandler(sub_handlers=handlers) # Build the view: return self._build_dynamic_view(declaration, elements, handler) def _get_dynamic_elements(self, name): """ Returns a list of the current elements meant to go into the composition of a dynamic view or subelement with the specified name. """ # Determine the metadata names used to find the sub-elements included # within this dynamic element: name = name.replace(" ", "_") order_trait_name = "_%s_order" % name priority_trait_name = "_%s_priority" % name # Now find all of the current sub-elements that we will use when # composing our element: all_elements = [ self.trait_view(g) for g in self.trait_views(klass=ViewSubElement) ] elements = [ e for e in all_elements if hasattr(e, order_trait_name) and (getattr(e, order_trait_name) is not None) ] # Filter out any overridden elements. This means taking out the # element with the lower priority whenever two elements have the # same order value: filtered = {} for e in elements: order = getattr(e, order_trait_name) priority = getattr(e, priority_trait_name) or 0 current = filtered.setdefault(order, e) if current is not e: current_priority = getattr(current, priority_trait_name) if current_priority < priority: filtered[order] = e # Sort the contributed elements by their display ordering values: ordering = sorted(filtered) elements = [filtered[order] for order in ordering] # Replace any dynamic sub-element with their full composition. # NOTE: We can't do this in the override of 'trait_view' because # then we get into infinite loops when a dynamic view subelement is # found as a child: for i in range(len(elements)): if isinstance(elements[i], DynamicViewSubElement): e = elements.pop(i) composed = self._compose_dynamic_sub_element(e) elements.insert(i, composed) return elements def _get_dynamic_handlers(self, name, elements): """ Return a list of the handlers associated with the current elements meant to go into the dynamic view of the specified name. """ # Determine the metadata name used to declare a handler: name = name.replace(" ", "_") handler_name = "_%s_handler" % name handlers = [ getattr(e, handler_name) for e in elements if hasattr(e, handler_name) and (getattr(e, handler_name) is not None) ] logger.debug("\tFound sub-handlers: %s", handlers) return handlers traitsui-7.2.1/traitsui/extras/demo.py0000644000076500000240000000112714046644454020460 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! # This module preserves the entry point for other ETS package's example script # to import. # This entry point should be deprecated once ets-demo is released. from ._demo_legacy import demo traitsui-7.2.1/traitsui/extras/_demo_legacy.py0000644000076500000240000010417414046644454022151 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! """ A Traits UI demo that borrows heavily from the design of the wxPython demo. This copy of the demo application will only be maintained until ``ets-demo`` is released and distributed. This allows other ETS packages to continue to be able to import the demo application until ``ets-demo`` is released. (enthought/traitsui#950) """ import contextlib import glob from io import StringIO import operator import os from os import listdir from os.path import ( abspath, basename, dirname, exists, isabs, isdir, join, split, splitext, ) import sys import token import tokenize import traceback from configobj import ConfigObj from pyface.api import ImageResource from traits.api import ( Any, Bool, Button, cached_property, Code, Dict, HasPrivateTraits, HasTraits, HTML, Instance, Property, Str, ) from traitsui.api import ( Action, CodeEditor, Handler, Heading, HGroup, HSplit, HTMLEditor, Include, InstanceEditor, Item, ModelView, ObjectTreeNode, ShellEditor, spring, Tabbed, ToolBar, TreeEditor, TreeNodeObject, UIInfo, UItem, VGroup, View, VSplit, ) # ------------------------------------------------------------------------- # Global data: # ------------------------------------------------------------------------- # Define the code used to populate the 'execfile' dictionary: exec_str = """from traits.api import * """ # The name of the file being looked up for the description of a directory DESCRIPTION_RST_FILENAME = "index.rst" # ---------------------------------------------------------------------------- # Return a 'user-friendly' name for a specified string: # ---------------------------------------------------------------------------- def user_name_for(name): name = name.replace("_", " ") return name[:1].upper() + name[1:] # ------------------------------------------------------------------------- # Parses the contents of a specified source file into module comment and # source text: # ------------------------------------------------------------------------- def extract_docstring_from_source(source): """Return module docstring and source code from python source code. Parameters ---------- source : Str Python source code. Returns ------- docstring : str The first module-level string; i.e. the module docstring. source : str The source code, sans docstring. """ # Reset file and generate python tokens f = StringIO(source) python_tokens = tokenize.generate_tokens(f.readline) for ttype, tstring, tstart, tend, tline in python_tokens: token_name = token.tok_name[ttype] if token_name == "STRING" and tstart[1] == 0: break else: # No docstrings found. Return blank docstring and all the source. return "", source.strip() source_lines = source.splitlines() # Extract module docstring lines and recombine docstring = eval("\n".join(source_lines[tstart[0] - 1: tend[0]])) source_lines = source_lines[: tstart[0] - 1] + source_lines[tend[0]:] source = "\n".join(source_lines) source = source.strip() return docstring, source def parse_source(file_name): """Return module docstring and source code from python source file. Returns ------- docstring : str The first module-level string; i.e. the module docstring. source : str The source code, sans docstring. """ try: source_code = _read_file(file_name) return extract_docstring_from_source(source_code) except Exception: # Print an error message instead of failing silently. # Ideally, the message would be output to the "log" tab. traceback_text = traceback.format_exc() error_fmt = """Sorry, something went wrong.\n\n{}""" error_msg = error_fmt.format(traceback_text) return (error_msg, "") def _read_file(path, mode='r', encoding='utf8'): """ Returns the contents of a specified text file. """ with open(path, mode, encoding=encoding) as fh: result = fh.read() return result # ------------------------------------------------------------------------- # 'DemoFileHandler' class: # ------------------------------------------------------------------------- @contextlib.contextmanager def _set_stdout(std_out): stdout, stderr = sys.stdout, sys.stderr try: sys.stdout = sys.stderr = std_out yield std_out finally: sys.stdout, sys.stderr = stdout, stderr class DemoFileHandler(Handler): # ------------------------------------------------------------------------- # Trait definitions: # ------------------------------------------------------------------------- #: Run the demo file run_button = Button(image=ImageResource("run"), label="Run") #: The current 'info' object (for use by the 'write' method): info = Instance(UIInfo) def _run_button_changed(self): demo_file = self.info.object with _set_stdout(self): demo_file.run_code() def init(self, info): # Save the reference to the current 'info' object: self.info = info demo_file = info.object with _set_stdout(self): demo_file.init() def closed(self, info, is_ok): """ Closes the view. """ demo_file = info.object if hasattr(demo_file, 'demo'): demo_file.demo = None # ------------------------------------------------------------------------- # Handles 'print' output: # ------------------------------------------------------------------------- def write(self, text): demo_file = self.info.object demo_file.log += text def flush(self): pass # Create a singleton instance: demo_file_handler = DemoFileHandler() class DemoError(HasPrivateTraits): # ------------------------------------------------------------------------- # Trait definitions: # ------------------------------------------------------------------------- #: The error message text: msg = Code() # ------------------------------------------------------------------------- # Traits view definitions: # ------------------------------------------------------------------------- traits_view = View( VGroup( Heading("Error in source file"), Item("msg", style="custom", show_label=False), ) ) class DemoButton(HasPrivateTraits): # ------------------------------------------------------------------------- # Trait definitions: # ------------------------------------------------------------------------- #: The demo to be launched via a button: demo = Instance(HasTraits) #: The demo view item to use: demo_item = Item( "demo", show_label=False, editor=InstanceEditor(label="Run demo...", kind="live"), ) # ------------------------------------------------------------------------- # Traits view definitions: # ------------------------------------------------------------------------- traits_view = View( VGroup( VGroup(Heading("Click the button to run the demo:"), "20"), HGroup(spring, Include("demo_item"), spring), ), resizable=True, ) class ModalDemoButton(DemoButton): # ------------------------------------------------------------------------- # Trait definitions: # ------------------------------------------------------------------------- #: The demo view item to use: demo_item = Item( "demo", show_label=False, editor=InstanceEditor(label="Run demo...", kind="modal"), ) class DemoTreeNodeObject(TreeNodeObject): # ------------------------------------------------------------------------- # Trait definitions: # ------------------------------------------------------------------------- #: Cached result of 'tno_has_children': _has_children = Any() #: Cached result of 'tno_get_children': _get_children = Any() # ------------------------------------------------------------------------- # Returns whether chidren of this object are allowed or not: # ------------------------------------------------------------------------- def tno_allows_children(self, node): """ Returns whether chidren of this object are allowed or not. """ return self.allows_children # ------------------------------------------------------------------------- # Returns whether or not the object has children: # ------------------------------------------------------------------------- def tno_has_children(self, node=None): """ Returns whether or not the object has children. """ if self._has_children is None: self._has_children = self.has_children() return self._has_children # ------------------------------------------------------------------------- # Gets the object's children: # ------------------------------------------------------------------------- def tno_get_children(self, node): """ Gets the object's children. """ if self._get_children is None: self._get_children = self.get_children() return self._get_children # ------------------------------------------------------------------------- # Returns whether or not the object has children: # ------------------------------------------------------------------------- def has_children(self, node): """ Returns whether or not the object has children. """ raise NotImplementedError # ------------------------------------------------------------------------- # Gets the object's children: # ------------------------------------------------------------------------- def get_children(self): """ Gets the object's children. """ raise NotImplementedError class DemoFileBase(DemoTreeNodeObject): #: Parent of this file: parent = Any() #: Name of file system path to this file: path = Property(observe='parent.path,name') #: Name of the file: name = Str() #: UI form of the 'name': nice_name = Property() #: Files don't allow children: allows_children = Bool(False) #: Description of what the demo does: description = HTML() #: The base URL for links: base_url = Property(observe='path') #: The css file for this node. css_filename = Str("default.css") #: Log of all print messages displayed: log = Code() _nice_name = Str() def init(self): self.log = "" # ------------------------------------------------------------------------- # Implementation of the 'path' property: # ------------------------------------------------------------------------- def _get_path(self): return join(self.parent.path, self.name) def _get_base_url(self): if isdir(self.path): base_dir = self.path else: base_dir = dirname(self.path) return base_dir # ------------------------------------------------------------------------- # Implementation of the 'nice_name' property: # ------------------------------------------------------------------------- def _get_nice_name(self): if not self._nice_name: name, ext = splitext(self.name) self._nice_name = user_name_for(name) return self._nice_name def _set_nice_name(self, value): old = self.nice_name self._nice_name = value self.trait_property_changed("nice_name", old, value) # ------------------------------------------------------------------------- # Returns whether or not the object has children: # ------------------------------------------------------------------------- def has_children(self): """ Returns whether or not the object has children. """ return False def get_children(self): """ Gets the demo file's children. """ return [] class DemoFile(DemoFileBase): #: Source code for the demo: source = Code() #: Demo object whose traits UI is to be displayed: demo = Instance(HasTraits) #: Local namespace for executed code: locals = Dict(Str, Any) def init(self): super().init() description, source = parse_source(self.path) self.description = publish_html_str(description, self.css_filename) self.source = source self.run_code() def run_code(self): """ Runs the code associated with this demo file. """ try: # Get the execution context dictionary: locals = self.parent.init_dic locals["__name__"] = "___main___" locals["__file__"] = self.path sys.modules["__main__"].__file__ = self.path exec(self.source, locals, locals) demo = self._get_object("modal_popup", locals) if demo is not None: demo = ModalDemoButton(demo=demo) else: demo = self._get_object("popup", locals) if demo is not None: demo = DemoButton(demo=demo) else: demo = self._get_object("demo", locals) except Exception: traceback.print_exc() else: self.demo = demo self.locals = locals # ------------------------------------------------------------------------- # Get a specified object from the execution dictionary: # ------------------------------------------------------------------------- def _get_object(self, name, dic): object = dic.get(name) or dic.get(name.capitalize()) if object is not None: if isinstance(type(object), type): try: object = object() except Exception: pass if isinstance(object, HasTraits): return object return None # HTML template for displaying an image file: _image_template = """ """ class DemoContentFile(DemoFileBase): def init(self): super().init() file_str = _read_file(self.path) self.description = publish_html_str(file_str, self.css_filename) class DemoImageFile(DemoFileBase): def init(self): super().init() self.description = _image_template.format(self.css_filename, self.path) class DemoPath(DemoTreeNodeObject): """ This class represents a directory. """ # ------------------------------------------------------------------------- # Trait definitions: # ------------------------------------------------------------------------- #: Parent of this package: parent = Any() #: Name of file system path to this package: path = Property(observe='parent.path,name') #: Description of what the demo does: description = Property(HTML, observe="path,css_filename") #: The base URL for links: base_url = Property(observe='path') #: The css file for this node. css_filename = Str("default.css") #: Name of the directory: name = Str() #: UI form of the 'name': nice_name = Property() #: Dictionary containing symbols defined by the path's '__init__.py' file: init_dic = Property() #: Should .py files be included? use_files = Bool(True) #: Paths do allow children: allows_children = Bool(True) #: Configuration dictionary for this node #: This trait is set when a config file exists for the parent of this path. config_dict = Dict() #: Configuration file for this node. config_filename = Str() #: The css file for this node. css_filename = Str("default.css") #: Shadow trait for description property _description = Str() #: Cached value of the nice_name property. _nice_name = Str() #: Dictionary mapping file extensions to callables _file_factory = Dict() def __file_factory_default(self): return { ".htm": DemoContentFile, ".html": DemoContentFile, ".jpeg": DemoImageFile, ".jpg": DemoImageFile, ".png": DemoImageFile, ".py": DemoFile, ".rst": DemoContentFile, ".txt": DemoContentFile } # ------------------------------------------------------------------------- # Implementation of the 'path' property: # ------------------------------------------------------------------------- def _get_path(self): if self.parent is not None: path = join(self.parent.path, self.name) else: path = self.name return path def _get_base_url(self): if isdir(self.path): base_dir = self.path else: base_dir = dirname(self.path) return base_dir # ------------------------------------------------------------------------- # Implementation of the 'nice_name' property: # ------------------------------------------------------------------------- def _get_nice_name(self): if not self._nice_name: self._nice_name = user_name_for(self.name) return self._nice_name # ------------------------------------------------------------------------- # Setter for the 'nice_name' property: # ------------------------------------------------------------------------- def _set_nice_name(self, value): old = self.nice_name self._nice_name = value self.trait_property_changed("nice_name", old, value) # ------------------------------------------------------------------------- # Implementation of the 'description' property: # ------------------------------------------------------------------------- @cached_property def _get_description(self): index_rst = os.path.join(self.path, DESCRIPTION_RST_FILENAME) if os.path.exists(index_rst): with open(index_rst, "r", encoding="utf-8") as f: description = f.read() else: description = "" if self.css_filename: result = publish_html_str(description, self.css_filename) else: result = publish_html_str(description) return result # ------------------------------------------------------------------------- # Implementation of the 'init_dic' property: # ------------------------------------------------------------------------- def _get_init_dic(self): init_dic = {} description, source = parse_source(join(self.path, "__init__.py")) exec((exec_str + source), init_dic) return init_dic # ------------------------------------------------------------------------- # Returns whether or not the object has children: # ------------------------------------------------------------------------- def has_children(self): """ Returns whether or not the object has children. """ path = self.path for name in listdir(path): cur_path = join(path, name) if isdir(cur_path): return True if self.use_files: name, ext = splitext(name) if (ext == ".py") and (name != "__init__"): return True elif ext in self._file_factory: return True return False # ------------------------------------------------------------------------- # Gets the object's children: # ------------------------------------------------------------------------- def get_children(self): """ Gets the object's children. """ if self.config_dict or self.config_filename: children = self.get_children_from_config() else: children = self.get_children_from_datastructure() return children # ------------------------------------------------------------------------- # Gets the object's children based on the filesystem structure. # ------------------------------------------------------------------------- def get_children_from_datastructure(self): """ Gets the object's children based on the filesystem structure. """ dirs = [] files = [] path = self.path for name in listdir(path): cur_path = join(path, name) if isdir(cur_path): if self.has_py_files(cur_path): dirs.append( DemoPath( parent=self, name=name, css_filename=join('..', self.css_filename) ) ) elif self.use_files: if name != "__init__.py": try: demo_file = self._handle_file(name) demo_file.css_filename = self.css_filename files.append(demo_file) except KeyError: pass sort_key = operator.attrgetter("name") dirs.sort(key=sort_key) files.sort(key=sort_key) return dirs + files # ------------------------------------------------------------------------- # Gets the object's children as specified in its configuration file or # dictionary. # ------------------------------------------------------------------------- def get_children_from_config(self): """ Gets the object's children as specified in its configuration file or dictionary. """ if not self.config_dict: if exists(self.config_filename): try: self.config_dict = ConfigObj(self.config_filename) except Exception: pass if not self.config_dict: return self.get_children_from_datastructure() dirs = [] files = [] for keyword, value in self.config_dict.items(): if not value.get("no_demo"): sourcedir = value.pop("sourcedir", None) if sourcedir is not None: # This is a demo directory. demoobj = DemoPath( parent=self, name=sourcedir, css_filename=join("..", self.css_filename), ) demoobj.nice_name = keyword demoobj.config_dict = value dirs.append(demoobj) else: names = [] filenames = value.pop("files", []) if not isinstance(filenames, list): filenames = [filenames] for filename in filenames: filename = join(self.path, filename) for name in glob.iglob(filename): if basename(name) != "__init__.py": names.append(name) if len(names) > 1: config_dict = {} for name in names: config_dict[basename(name)] = {"files": name} demoobj = DemoPath(parent=self, name="") demoobj.nice_name = keyword demoobj.config_dict = config_dict demoobj.css_filename = os.path.join( "..", self.css_filename) dirs.append(demoobj) elif len(names) == 1: try: demo_file = self._handle_file(name) files.append(demo_file) demo_file.css_filename = self.css_filename except KeyError: pass sort_key = operator.attrgetter("nice_name") dirs.sort(key=sort_key) files.sort(key=sort_key) return dirs + files # ------------------------------------------------------------------------- # Returns whether the specified path contains any .py files: # ------------------------------------------------------------------------- def has_py_files(self, path): for name in listdir(path): cur_path = join(path, name) if isdir(cur_path): if self.has_py_files(cur_path): return True else: name, ext = splitext(name) if ext == ".py": return True return False def _handle_file(self, filename): """ Process a file based on its extension. """ _, ext = splitext(filename) file_factory = self._file_factory[ext] demo_file = file_factory(parent=self, name=filename) return demo_file # ------------------------------------------------------------------------- # Defines the demo tree editor: # ------------------------------------------------------------------------- demo_path_view = View( UItem( "description", style="readonly", editor=HTMLEditor( format_text=True, base_url_name='base_url', ), ), id="demo_path_view", kind='subpanel', ) demo_file_view = View( HSplit( UItem( "description", style="readonly", editor=HTMLEditor( format_text=True, base_url_name='base_url', ), ), VSplit( VGroup( UItem("source", style="custom"), HGroup( spring, UItem( "handler.run_button", ), visible_when="source is not None", ), ), Tabbed( Item( "log", style="readonly", editor=CodeEditor( show_line_numbers=False, selected_color=0xFFFFFF ), label="Output", show_label=False ), Item( "locals", editor=ShellEditor(share=True), label="Shell", show_label=False ), UItem( "demo", style="custom", resizable=True, ), ), dock="horizontal", ), ), id="demo_file_view", handler=demo_file_handler, kind='subpanel', ) demo_content_view = View( Tabbed( UItem( "description", style="readonly", editor=HTMLEditor( format_text=True, base_url_name='base_url', ), ), ), handler=demo_file_handler, kind='subpanel', ) demo_tree_editor = TreeEditor( nodes=[ ObjectTreeNode( node_for=[DemoPath], label="nice_name", view=demo_path_view, ), ObjectTreeNode( node_for=[DemoFile], label="nice_name", view=demo_file_view ), ObjectTreeNode( node_for=[DemoContentFile], label="nice_name", view=demo_content_view ), ObjectTreeNode( node_for=[DemoImageFile], label="nice_name", view=demo_content_view ), ], selected='selected_node', ) next_tool = Action( name='Next', image=ImageResource("next"), tooltip="Go to next file", action="do_next", enabled_when="_next_node is not None", ) previous_tool = Action( name='Previous', image=ImageResource("previous"), tooltip="Go to next file", action="do_previous", enabled_when="_previous_node is not None", ) parent_tool = Action( name='Parent', image=ImageResource("parent"), tooltip="Go to next file", action="do_parent", enabled_when="(selected_node is not None) and " "(object.selected_node.parent is not None)", ) class Demo(ModelView): #: Root path object for locating demo files: model = Instance(DemoPath) #: Path to the root demo directory: path = Str() #: Selected node of the demo path tree. selected_node = Any() #: Title for the demo title = Str() _next_node = Property() _previous_node = Property() def do_next(self, event=None): self.selected_node = self._next_node def do_previous(self, event=None): self.selected_node = self._previous_node def do_parent(self, event=None): if self.selected_node is not None: parent = self.selected_node.parent self.selected_node = parent def init(self, info): info.ui.title = self.title def _get__next_node(self): next = None node = self.selected_node children = node.tno_get_children(node) if len(children) > 0: next = children[0] else: parent = node.parent while parent is not None: siblings = parent.tno_get_children(parent) index = siblings.index(node) if index < (len(siblings) - 1): next = siblings[index + 1] break parent, node = parent.parent, parent return next def _get__previous_node(self): previous = None node = self.selected_node parent = node.parent if parent is not None: siblings = parent.tno_get_children(parent) index = siblings.index(node) if index > 0: previous = siblings[index - 1] previous_children = previous.tno_get_children(previous) while len(previous_children) > 0: previous = previous_children[-1] previous_children = previous.tno_get_children(previous) else: previous = parent return previous # ------------------------------------------------------------------------- # Traits view definitions: # ------------------------------------------------------------------------- def default_traits_view(self): # XXX need to do this to hide the instantiation of ToolBar from null # toolkit tests. It would be preferable to have this be declarative. return View( Item( name="model", id="model", show_label=False, editor=demo_tree_editor, ), id="traitsui.demos.demo.Demo", toolbar=ToolBar( previous_tool, parent_tool, next_tool, show_tool_names=True ), resizable=True, width=1200, height=700, ) # ------------------------------------------------------------------------- # Utilities to convert rst strings/files to html. # ------------------------------------------------------------------------- def _get_settings(css_path=None): """ Helper function to make settings dictionary consumable by docutils Parameters ---------- css_path: string or None (default) If not None, use the CSS stylesheet. Returns ------- dict """ settings = {'output_encoding': 'unicode'} if css_path is not None: settings['stylesheet_path'] = css_path settings['embed_stylesheet'] = False settings['stylesheet'] = None return settings def publish_html_str(rst_str, css_path=None): """ Format RST string to html using `docutils` if available. Otherwise, return the input `rst_str`. Parameters ---------- rst_str: string reStructuredText css_path: string or None (default) If not None, use the CSS stylesheet. Returns ------- string """ try: from docutils.core import publish_string except Exception: return rst_str settings = _get_settings(css_path) return publish_string(rst_str, writer_name='html', settings_overrides=settings) def publish_html_file(rst_file_path, html_out_path, css_path=None): """ Format reStructuredText in `rst_file_path` to html using `docutils` if available. Otherwise, does nothing. Parameters ---------- rst_file_path: string html_out_path: string css_path: string or None (default) If not None, use the CSS stylesheet. Returns ------- None """ try: from docutils.core import publish_file except Exception: return settings = _get_settings(css_path) publish_file(source_path=rst_file_path, destination_path=html_out_path, writer_name='html', settings_overrides=settings) # ------------------------------------------------------------------------- # Function to run the demo: # ------------------------------------------------------------------------- def demo( use_files=False, dir_name=None, config_filename="", title="Traits UI Demos", css_filename="default.css", ): if dir_name is None: dir_name = dirname(abspath(sys.argv[0])) path, name = split(dir_name) if len(config_filename) > 0 and not isabs(config_filename): config_filename = join(path, name, config_filename) Demo( path=path, title=title, model=DemoPath( name=dir_name, nice_name=user_name_for(name), use_files=use_files, config_filename=config_filename, css_filename=css_filename, ), ).configure_traits() traitsui-7.2.1/traitsui/extras/edit_column.py0000644000076500000240000000244114046644454022036 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! """ Defines the table column descriptor used for editing the object represented by the row """ from ..table_column import ObjectColumn class EditColumn(ObjectColumn): def __init__(self, **traits): """ Initializes the object. """ super().__init__(**traits) from traitsui.toolkit import toolkit_object EditRenderer = toolkit_object( 'extra.edit_renderer:EditRenderer' ) self.renderer = EditRenderer() self.label = "" def get_cell_color(self, object): """ Returns the cell background color for the column for a specified object. """ # Override the parent class to ALWAYS provide the standard color: return self.cell_color_ def is_editable(self, object): """ Returns whether the column is editable for a specified object. """ return False traitsui-7.2.1/traitsui/extras/_demo_info.py0000644000076500000240000000173314046644454021635 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! """ This module provides the metadata to contribute example files for the ETS demo application. """ import pkg_resources def info(request): """ Return a configuration for contributing demo examples to the Demo application. Parameters ---------- request : dict Information provided by the demo application. Currently this is a placeholder. Returns ------- response : dict """ return dict( version=1, name="TraitsUI Demo", root=pkg_resources.resource_filename("traitsui", "examples/demo"), ) traitsui-7.2.1/traitsui.egg-info/0000755000076500000240000000000014046644526017345 5ustar aayresstaff00000000000000traitsui-7.2.1/traitsui.egg-info/PKG-INFO0000644000076500000240000001161314046644525020443 0ustar aayresstaff00000000000000Metadata-Version: 2.1 Name: traitsui Version: 7.2.1 Summary: traitsui: traits-capable user interfaces Home-page: http://docs.enthought.com/traitsui Author: David C. Morrill, et. al. Author-email: dmorrill@enthought.com Maintainer: ETS Developers Maintainer-email: enthought-dev@enthought.com License: BSD Download-URL: https://github.com/enthought/traitsui Description: ============================================ TraitsUI: Traits-capable windowing framework ============================================ .. image:: https://travis-ci.org/enthought/traitsui.svg?branch=master :target: https://travis-ci.org/enthought/traitsui .. image:: https://ci.appveyor.com/api/projects/status/n2qy8kcwh8ibi9g3/branch/master?svg=true :target: https://ci.appveyor.com/project/EnthoughtOSS/traitsui/branch/master The TraitsUI project contains a toolkit-independent GUI abstraction layer, which is used to support the "visualization" features of the `Traits `__ package. Thus, you can write model in terms of the Traits API and specify a GUI in terms of the primitives supplied by TraitsUI (views, items, editors, etc.), and let TraitsUI and your selected toolkit and back-end take care of the details of displaying them. Example ------- Given a Traits model like the following:: from traits.api import HasTraits, Str, Range, Enum class Person(HasTraits): name = Str('Jane Doe') age = Range(low=0) gender = Enum('female', 'male') person = Person(age=30) we can use TraitsUI to specify a and display a GUI view:: from traitsui.api import Item, RangeEditor, View person_view = View( Item('name'), Item('gender'), Item('age', editor=RangeEditor(mode='spinner', low=0, high=150)), buttons=['OK', 'Cancel'], resizable=True, ) person.configure_traits(view=person_view) which creates a GUI which looks like this: .. image:: https://raw.github.com/enthought/traitsui/master/README_example.png Important Links --------------- - Website and Documentation: ``__ * User Manual ``__ * Tutorial ``__ * API Documentation ``__ - Source code repository: ``__ * Issue tracker: ``__ - Download releases: ``__ - Mailing list: ``__ Installation ------------ If you want to run traitsui, you must also install: - Traits ``__ - Pyface ``__ You will also need one of the following backends: - PyQt - wxPython - PySide - PyQt5 Backends have additional dependencies and there are optional dependencies on NumPy and Pandas for some editors. TraitsUI along with all dependencies can be installed in a straightforward way using the `Enthought Deployment Manager `__, ``pip`` or other . Platform: Windows Platform: Linux Platform: Mac OS-X Platform: Unix Platform: Solaris Classifier: Development Status :: 5 - Production/Stable Classifier: Intended Audience :: Developers Classifier: Intended Audience :: Science/Research Classifier: License :: OSI Approved :: BSD License Classifier: Operating System :: MacOS Classifier: Operating System :: Microsoft :: Windows Classifier: Operating System :: OS Independent Classifier: Operating System :: POSIX Classifier: Operating System :: Unix Classifier: Programming Language :: Python Classifier: Programming Language :: Python :: 3 Classifier: Programming Language :: Python :: 3.6 Classifier: Programming Language :: Python :: 3.7 Classifier: Programming Language :: Python :: 3.8 Classifier: Topic :: Scientific/Engineering Classifier: Topic :: Software Development Classifier: Topic :: Software Development :: Libraries Requires-Python: >=3.6 Description-Content-Type: text/x-rst Provides-Extra: wx Provides-Extra: pyqt Provides-Extra: pyqt5 Provides-Extra: pyside2 Provides-Extra: demo Provides-Extra: examples Provides-Extra: editors Provides-Extra: test traitsui-7.2.1/traitsui.egg-info/not-zip-safe0000644000076500000240000000000114046644525021572 0ustar aayresstaff00000000000000 traitsui-7.2.1/traitsui.egg-info/SOURCES.txt0000644000076500000240000012357714046644525021247 0ustar aayresstaff00000000000000CHANGES.txt LICENSE.txt MANIFEST.in README.rst README_example.png image_LICENSE.txt image_LICENSE_Eclipse.txt image_LICENSE_Nuvola.txt image_LICENSE_OOo.txt setup.cfg setup.py docs/Makefile docs/README.rst docs/api.css docs/make.bat docs/traits_ui.ppt docs/traits_ui_slides.pdf docs/traitsuidocreadme.txt docs/releases/README.rst docs/source/changelog.rst docs/source/conf.py docs/source/e-logo-rev.png docs/source/index.rst docs/source/_static/default.css docs/source/_static/e-logo-rev.jpg docs/source/_static/et.png docs/source/_templates/layout.html docs/source/_templates/search.html docs/source/api/index.rst docs/source/demos/index.rst docs/source/traitsui_dev_guide/index.rst docs/source/traitsui_dev_guide/testing.rst docs/source/traitsui_user_manual/adapters.rst docs/source/traitsui_user_manual/advanced_view.rst docs/source/traitsui_user_manual/custom_view.rst docs/source/traitsui_user_manual/factories_advanced_extra.rst docs/source/traitsui_user_manual/factories_basic.rst docs/source/traitsui_user_manual/factory_intro.rst docs/source/traitsui_user_manual/glossary.rst docs/source/traitsui_user_manual/handler.rst docs/source/traitsui_user_manual/index.rst docs/source/traitsui_user_manual/intro.rst docs/source/traitsui_user_manual/predefined_traits.rst docs/source/traitsui_user_manual/testing.rst docs/source/traitsui_user_manual/tips.rst docs/source/traitsui_user_manual/view.rst docs/source/traitsui_user_manual/examples/array_editor.py docs/source/traitsui_user_manual/examples/configure_traits_view.py docs/source/traitsui_user_manual/examples/configure_traits_view_buttons.py docs/source/traitsui_user_manual/examples/configure_traits_view_group.py docs/source/traitsui_user_manual/examples/default_trait_editors.py docs/source/traitsui_user_manual/examples/default_traits_view.py docs/source/traitsui_user_manual/examples/default_traits_view2.py docs/source/traitsui_user_manual/examples/enum_editor.py docs/source/traitsui_user_manual/examples/handler_override.py docs/source/traitsui_user_manual/examples/instance_editor_selection.py docs/source/traitsui_user_manual/examples/key_bindings.py docs/source/traitsui_user_manual/examples/mixed_styles.py docs/source/traitsui_user_manual/examples/multi_object_view.py docs/source/traitsui_user_manual/examples/multiple_views.py docs/source/traitsui_user_manual/examples/tree_editor.py docs/source/traitsui_user_manual/examples/wizard.py docs/source/traitsui_user_manual/images/Auto_update_TabularEditor_demo.png docs/source/traitsui_user_manual/images/BooleanEditor_demo.png docs/source/traitsui_user_manual/images/ButtonEditor_demo.png docs/source/traitsui_user_manual/images/CSVListEditor_demo.png docs/source/traitsui_user_manual/images/CheckListEditor_demo.png docs/source/traitsui_user_manual/images/CodeEditor_demo.png docs/source/traitsui_user_manual/images/ColorEditor_demo.png docs/source/traitsui_user_manual/images/CompoundEditor_demo.png docs/source/traitsui_user_manual/images/DataFrameEditor_demo.png docs/source/traitsui_user_manual/images/DatetimeEditor_demo.png docs/source/traitsui_user_manual/images/DirectoryEditor_demo.png docs/source/traitsui_user_manual/images/Dynamic_EnumEditor_demo.png docs/source/traitsui_user_manual/images/EnumEditor_demo.png docs/source/traitsui_user_manual/images/FileEditor_demo.png docs/source/traitsui_user_manual/images/FontEditor_demo.png docs/source/traitsui_user_manual/images/HTMLEditor_demo.png docs/source/traitsui_user_manual/images/HTML_editor.png docs/source/traitsui_user_manual/images/ImageEnumEditor_demo.png docs/source/traitsui_user_manual/images/InstanceEditor_demo.png docs/source/traitsui_user_manual/images/ListEditor_demo.png docs/source/traitsui_user_manual/images/ListStrEditor_demo.png docs/source/traitsui_user_manual/images/RGBColorEditor_demo.png docs/source/traitsui_user_manual/images/RangeEditor_demo.png docs/source/traitsui_user_manual/images/SetEditor_demo.png docs/source/traitsui_user_manual/images/TableEditor_demo.png docs/source/traitsui_user_manual/images/TextEditor_demo.png docs/source/traitsui_user_manual/images/TitleEditor_demo.png docs/source/traitsui_user_manual/images/TreeEditor_demo.png docs/source/traitsui_user_manual/images/TupleEditor_demo.png docs/source/traitsui_user_manual/images/alter_title_after.png docs/source/traitsui_user_manual/images/alter_title_before.png docs/source/traitsui_user_manual/images/array_editors.png docs/source/traitsui_user_manual/images/array_view_editor.jpg docs/source/traitsui_user_manual/images/color_picker_windows.jpg docs/source/traitsui_user_manual/images/custom_enum_editor.jpg docs/source/traitsui_user_manual/images/default_text_editor.png docs/source/traitsui_user_manual/images/delete_item_icon.png docs/source/traitsui_user_manual/images/font_dialog_windows.jpg docs/source/traitsui_user_manual/images/html_code_editor.png docs/source/traitsui_user_manual/images/insert_item_icon.png docs/source/traitsui_user_manual/images/key_binding_editor.jpg docs/source/traitsui_user_manual/images/led_editor.png docs/source/traitsui_user_manual/images/list_with_context_menu.png docs/source/traitsui_user_manual/images/move_down_icon.png docs/source/traitsui_user_manual/images/move_up_icon.png docs/source/traitsui_user_manual/images/no_sort_icon.png docs/source/traitsui_user_manual/images/notebook_list_editor.jpg docs/source/traitsui_user_manual/images/read_only_editor.jpg docs/source/traitsui_user_manual/images/search_table_icon.png docs/source/traitsui_user_manual/images/shell_editor.jpg docs/source/traitsui_user_manual/images/simple_enum_editor_closed.jpg docs/source/traitsui_user_manual/images/simple_enum_editor_open.jpg docs/source/traitsui_user_manual/images/table_column_selection.jpg docs/source/traitsui_user_manual/images/table_prefs.png docs/source/traitsui_user_manual/images/tabular_editor.jpg docs/source/traitsui_user_manual/images/text_editor.jpg docs/source/traitsui_user_manual/images/text_editor_integers.png docs/source/traitsui_user_manual/images/text_editor_strings.png docs/source/traitsui_user_manual/images/text_editors_passwords.png docs/source/traitsui_user_manual/images/ui_for_ex1.jpg docs/source/traitsui_user_manual/images/ui_for_ex12.jpg docs/source/traitsui_user_manual/images/ui_for_ex13.jpg docs/source/traitsui_user_manual/images/ui_for_ex16.png docs/source/traitsui_user_manual/images/ui_for_ex2.jpg docs/source/traitsui_user_manual/images/ui_for_ex3.jpg docs/source/traitsui_user_manual/images/ui_for_ex4.jpg docs/source/traitsui_user_manual/images/ui_for_ex7.jpg docs/source/traitsui_user_manual/images/value_editor.png docs/source/traitsui_user_manual/images/wizard_dialog_1.png docs/source/traitsui_user_manual/images/wizard_dialog_2.png docs/source/traitsui_user_manual/scripts/regenerate_example_screenshots.py docs/source/traitsui_user_manual/testing/substitutions.rst docs/source/traitsui_user_manual/testing/discussions/automated_vs_manual_test.rst docs/source/traitsui_user_manual/testing/discussions/compatibility_pyface_testing.rst docs/source/traitsui_user_manual/testing/discussions/debugging-gui-tests-at-runtime.rst docs/source/traitsui_user_manual/testing/discussions/event_loop_and_exceptions.rst docs/source/traitsui_user_manual/testing/discussions/target_interaction_location.rst docs/source/traitsui_user_manual/testing/discussions/working_of_extensions.rst docs/source/traitsui_user_manual/testing/howtos/add_new_interaction.rst docs/source/traitsui_user_manual/testing/howtos/add_new_location.rst docs/source/traitsui_user_manual/testing/references/examples.rst docs/source/traitsui_user_manual/testing/tutorials/first_test.rst docs/source/traitsui_user_manual/testing/tutorials/test_with_nested_object.rst docs/source/traitsui_user_manual/testing/tutorials/images/first_test/init-app.png docs/source/traitsui_user_manual/testing/tutorials/images/first_test/modified-fields.png docs/source/traitsui_user_manual/testing/tutorials/images/test_with_nested_object/init-app.png docs/source/tutorials/index.rst docs/source/tutorials/traits_ui_scientific_app.rst docs/source/tutorials/code_snippets/code_block0.py docs/source/tutorials/code_snippets/code_block1.py docs/source/tutorials/code_snippets/container.py docs/source/tutorials/code_snippets/echo_box.py docs/source/tutorials/code_snippets/event_loop.py docs/source/tutorials/code_snippets/event_loop_qt.py docs/source/tutorials/code_snippets/event_loop_wx.py docs/source/tutorials/code_snippets/interactive.py docs/source/tutorials/code_snippets/mpl_figure_editor.py docs/source/tutorials/code_snippets/thread_example.py docs/source/tutorials/code_snippets/traits_thread.py docs/source/tutorials/images/application1.png docs/source/tutorials/images/application2.png docs/source/tutorials/images/application3.png docs/source/tutorials/images/code_block1.png docs/source/tutorials/images/container.png docs/source/tutorials/images/interactive.png docs/source/tutorials/images/mpl_figure_editor.png docs/source/tutorials/images/traits_thread.png examples/README.rst examples/demo/examples.cfg examples/demo/index.rst examples/demo/traits_ui_demo.jpg examples/demo/Advanced/Adapted_tree_editor_demo.py examples/demo/Advanced/Apply_Revert_handler_demo.py examples/demo/Advanced/Auto_editable_readonly_table_cells.py examples/demo/Advanced/Auto_update_TabularEditor_demo.py examples/demo/Advanced/Date_editor_demo.py examples/demo/Advanced/Date_range_editor_demo.py examples/demo/Advanced/Dynamic_EnumEditor_demo.py examples/demo/Advanced/Dynamic_range_trait_and_editor.py examples/demo/Advanced/Dynamic_views_demo.py examples/demo/Advanced/Dynamically_changing_buttons_demo.py examples/demo/Advanced/HDF5_tree_demo.py examples/demo/Advanced/HDF5_tree_demo2.py examples/demo/Advanced/History_demo.py examples/demo/Advanced/Invalid_state_handling.py examples/demo/Advanced/ListStrEditor_demo.py examples/demo/Advanced/List_editor_notebook_selection_demo.py examples/demo/Advanced/List_editors_demo.py examples/demo/Advanced/MVC_demo.py examples/demo/Advanced/Multi_select_string_list.py examples/demo/Advanced/Multi_thread_demo.py examples/demo/Advanced/Multi_thread_demo_2.py examples/demo/Advanced/NumPy_array_tabular_editor_demo.py examples/demo/Advanced/NumPy_array_view_editor_demo.py examples/demo/Advanced/Popup_Dialog_demo.py examples/demo/Advanced/Property_List_demo.py examples/demo/Advanced/Scrubber_editor_demo.py examples/demo/Advanced/Settable_cached_property.py examples/demo/Advanced/Statusbar_demo.py examples/demo/Advanced/String_list_ui_editor.py examples/demo/Advanced/Table_editor_with_checkbox_column.py examples/demo/Advanced/Table_editor_with_context_menu_demo.py examples/demo/Advanced/Table_editor_with_live_search_and_cell_editor.py examples/demo/Advanced/Table_editor_with_progress_column.py examples/demo/Advanced/Tabular_editor_demo.py examples/demo/Advanced/Tabular_editor_with_context_menu_demo.py examples/demo/Advanced/Time_editor_demo.py examples/demo/Advanced/Tree_editor_required_traits_demo.py examples/demo/Advanced/index.rst examples/demo/Advanced/test_fixed.h5 examples/demo/Advanced/test_fixed_compressed.h5 examples/demo/Advanced/test_h5pydata.h5 examples/demo/Advanced/test_table_dc.h5 examples/demo/Advanced/test_table_no_dc.h5 examples/demo/Advanced/tests/test_List_editor_notebook_selection_demo.py examples/demo/Applications/Python_source_browser.py examples/demo/Applications/converter.py examples/demo/Applications/index.rst examples/demo/Applications/images/GG5.png examples/demo/Applications/images/TFB.png examples/demo/Applications/images/blue_ball.png examples/demo/Applications/images/header.png examples/demo/Applications/images/notebook_close.png examples/demo/Applications/images/notebook_open.png examples/demo/Applications/images/red_ball.png examples/demo/Applications/tests/test_converter.py examples/demo/Dynamic_Forms/dynamic_form_using_instances.py examples/demo/Dynamic_Forms/dynamic_range_editor.py examples/demo/Dynamic_Forms/dynamic_selector.py examples/demo/Dynamic_Forms/enabled_when.py examples/demo/Dynamic_Forms/index.rst examples/demo/Dynamic_Forms/visible_when.py examples/demo/Dynamic_Forms/tests/test_visible_when.py examples/demo/Extras/Image_editor_demo.py examples/demo/Extras/LED_display.py examples/demo/Extras/Tree_editor_with_TreeNodeRenderer.py examples/demo/Extras/animated_GIF.py examples/demo/Extras/index.rst examples/demo/Extras/images/e-logo-rev.png examples/demo/Extras/images/info.png examples/demo/Extras/images/logo_32x32.gif examples/demo/Extras/images/logo_48x48.gif examples/demo/Extras/images/logo_64x64.gif examples/demo/Extras/tests/__init__.py examples/demo/Extras/tests/test_Image_editor_demo.py examples/demo/Extras/windows/flash.py examples/demo/Extras/windows/internet_explorer.py examples/demo/Misc/demo_group_size.py examples/demo/Misc/index.rst examples/demo/Misc/using_springs.py examples/demo/Standard_Editors/BooleanEditor_demo.py examples/demo/Standard_Editors/BooleanEditor_simple_demo.py examples/demo/Standard_Editors/ButtonEditor_demo.py examples/demo/Standard_Editors/ButtonEditor_simple_demo.py examples/demo/Standard_Editors/CSVListEditor_demo.py examples/demo/Standard_Editors/CheckListEditor_demo.py examples/demo/Standard_Editors/CheckListEditor_simple_demo.py examples/demo/Standard_Editors/CodeEditor_demo.py examples/demo/Standard_Editors/ColorEditor_demo.py examples/demo/Standard_Editors/CompoundEditor_demo.py examples/demo/Standard_Editors/DataFrameEditor_demo.py examples/demo/Standard_Editors/DatetimeEditor_demo.py examples/demo/Standard_Editors/DirectoryEditor_demo.py examples/demo/Standard_Editors/EnumEditor_demo.py examples/demo/Standard_Editors/FileEditor_demo.py examples/demo/Standard_Editors/FontEditor_demo.py examples/demo/Standard_Editors/HTMLEditor_demo.py examples/demo/Standard_Editors/ImageEnumEditor_demo.py examples/demo/Standard_Editors/InstanceEditor_demo.py examples/demo/Standard_Editors/ListEditor_demo.py examples/demo/Standard_Editors/RGBColorEditor_demo.py examples/demo/Standard_Editors/RangeEditor_demo.py examples/demo/Standard_Editors/SetEditor_demo.py examples/demo/Standard_Editors/TableEditor_demo.py examples/demo/Standard_Editors/TextEditor_demo.py examples/demo/Standard_Editors/TitleEditor_demo.py examples/demo/Standard_Editors/TreeEditor_demo.py examples/demo/Standard_Editors/TupleEditor_demo.py examples/demo/Standard_Editors/VideoEditor_demo.py examples/demo/Standard_Editors/index.rst examples/demo/Standard_Editors/File_Dialog/File_Open.py examples/demo/Standard_Editors/File_Dialog/File_Open_with_Custom_Extension.py examples/demo/Standard_Editors/File_Dialog/File_Open_with_FileInfo_Extension.py examples/demo/Standard_Editors/File_Dialog/File_Open_with_ImageInfo_Extension.py examples/demo/Standard_Editors/File_Dialog/File_Open_with_Multiple_Extensions.py examples/demo/Standard_Editors/File_Dialog/File_Open_with_TextInfo_Extension.py examples/demo/Standard_Editors/tests/test_BooleanEditor_demo.py examples/demo/Standard_Editors/tests/test_BooleanEditor_simple_demo.py examples/demo/Standard_Editors/tests/test_ButtonEditor_demo.py examples/demo/Standard_Editors/tests/test_ButtonEditor_simple_demo.py examples/demo/Standard_Editors/tests/test_CheckListEditor_simple_demo.py examples/demo/Standard_Editors/tests/test_EnumEditor_demo.py examples/demo/Standard_Editors/tests/test_FileEditor_demo.py examples/demo/Standard_Editors/tests/test_InstanceEditor_demo.py examples/demo/Standard_Editors/tests/test_ListEditor_demo.py examples/demo/Standard_Editors/tests/test_RangeEditor_demo.py examples/demo/Standard_Editors/tests/test_TextEditor_demo.py examples/tutorials/default.css examples/tutorials/tutor.py examples/tutorials/doc_examples/default.css examples/tutorials/doc_examples/doc_examples.rst examples/tutorials/doc_examples/lesson.desc examples/tutorials/doc_examples/examples/include_extra.py examples/tutorials/doc_examples/examples/lesson.desc examples/tutorials/doc_examples/examples/override_editor.py examples/tutorials/doc_examples/examples/view_attributes.py examples/tutorials/doc_examples/examples/view_multi_object.py examples/tutorials/doc_examples/examples/view_standalone.py examples/tutorials/traitsui_4.0/buttons.py examples/tutorials/traitsui_4.0/default.css examples/tutorials/traitsui_4.0/deferred.py examples/tutorials/traitsui_4.0/items.py examples/tutorials/traitsui_4.0/model_view.py examples/tutorials/traitsui_4.0/tutorial.desc examples/tutorials/traitsui_4.0/editors/animated_gif.py examples/tutorials/traitsui_4.0/editors/flash.py examples/tutorials/traitsui_4.0/editors/ie_html.py examples/tutorials/traitsui_4.0/editors/led.py examples/tutorials/traitsui_4.0/editors/tutorial.desc examples/tutorials/traitsui_4.0/editors/tabular_editor/numpy_array.py examples/tutorials/traitsui_4.0/editors/tabular_editor/python_source_browser.py examples/tutorials/traitsui_4.0/editors/tabular_editor/sm_person_example.py examples/tutorials/traitsui_4.0/editors/tabular_editor/tabular_editor.htm examples/tutorials/traitsui_4.0/editors/tabular_editor/tabular_editor.rst examples/tutorials/traitsui_4.0/editors/tabular_editor/tutorial.desc integrationtests/styled_date_editor_test.py integrationtests/test_all_examples.py integrationtests/ui/array_editor_test.py integrationtests/ui/buttons_test.py integrationtests/ui/check_list_editor_test.py integrationtests/ui/check_list_editor_test2.py integrationtests/ui/code_editor_test.py integrationtests/ui/enum_dynamic_test.py integrationtests/ui/enum_editor_test.py integrationtests/ui/html_editor_test.py integrationtests/ui/instance_drag_test.py integrationtests/ui/instance_editor_test.py integrationtests/ui/instance_editor_test2.py integrationtests/ui/instance_editor_test3.py integrationtests/ui/instance_editor_test4.py integrationtests/ui/instance_editor_test5.py integrationtests/ui/instance_editor_test6.py integrationtests/ui/large_range_editor.py integrationtests/ui/list_traits_ui_test.py integrationtests/ui/set_dynamic_test.py integrationtests/ui/shell_editor_test.py integrationtests/ui/table_editor_color_test.py integrationtests/ui/table_editor_focus_bug.py integrationtests/ui/table_editor_test.py integrationtests/ui/table_editor_test2.py integrationtests/ui/table_list_editor_test.py integrationtests/ui/test_ui.py integrationtests/ui/test_ui2.py integrationtests/ui/test_ui3.py integrationtests/ui/test_ui4.py integrationtests/ui/test_ui5.py integrationtests/ui/text_editor_invalid.py integrationtests/ui/tree_editor_test.py integrationtests/ui/images/bottom_left_origin.gif integrationtests/ui/images/bottom_right_origin.gif integrationtests/ui/images/top_left_origin.gif integrationtests/ui/images/top_right_origin.gif traitsui/__init__.py traitsui/_version.py traitsui/api.py traitsui/base_panel.py traitsui/basic_editor_factory.py traitsui/color_column.py traitsui/context_value.py traitsui/default_dock_window_theme.py traitsui/delegating_handler.py traitsui/dock_window_theme.py traitsui/dockable_view_element.py traitsui/editor.py traitsui/editor_factory.py traitsui/file_dialog.py traitsui/group.py traitsui/handler.py traitsui/help.py traitsui/help_template.py traitsui/helper.py traitsui/include.py traitsui/instance_choice.py traitsui/item.py traitsui/key_bindings.py traitsui/list_str_adapter.py traitsui/menu.py traitsui/message.py traitsui/mimedata.py traitsui/table_column.py traitsui/table_filter.py traitsui/tabular_adapter.py traitsui/theme.py traitsui/toolkit.py traitsui/toolkit_traits.py traitsui/tree_node.py traitsui/tree_node_renderer.py traitsui/ui.py traitsui/ui_editor.py traitsui/ui_info.py traitsui/ui_traits.py traitsui/undo.py traitsui/value_tree.py traitsui/view.py traitsui/view_element.py traitsui/view_elements.py traitsui.egg-info/PKG-INFO traitsui.egg-info/SOURCES.txt traitsui.egg-info/dependency_links.txt traitsui.egg-info/entry_points.txt traitsui.egg-info/not-zip-safe traitsui.egg-info/requires.txt traitsui.egg-info/top_level.txt traitsui/editors/__init__.py traitsui/editors/api.py traitsui/editors/array_editor.py traitsui/editors/boolean_editor.py traitsui/editors/button_editor.py traitsui/editors/check_list_editor.py traitsui/editors/code_editor.py traitsui/editors/color_editor.py traitsui/editors/compound_editor.py traitsui/editors/csv_list_editor.py traitsui/editors/custom_editor.py traitsui/editors/date_editor.py traitsui/editors/date_range_editor.py traitsui/editors/datetime_editor.py traitsui/editors/default_override.py traitsui/editors/directory_editor.py traitsui/editors/dnd_editor.py traitsui/editors/drop_editor.py traitsui/editors/enum_editor.py traitsui/editors/file_editor.py traitsui/editors/font_editor.py traitsui/editors/history_editor.py traitsui/editors/html_editor.py traitsui/editors/image_editor.py traitsui/editors/image_enum_editor.py traitsui/editors/instance_editor.py traitsui/editors/key_binding_editor.py traitsui/editors/list_editor.py traitsui/editors/list_str_editor.py traitsui/editors/null_editor.py traitsui/editors/popup_editor.py traitsui/editors/progress_editor.py traitsui/editors/range_editor.py traitsui/editors/rgb_color_editor.py traitsui/editors/scrubber_editor.py traitsui/editors/search_editor.py traitsui/editors/set_editor.py traitsui/editors/shell_editor.py traitsui/editors/styled_date_editor.py traitsui/editors/table_editor.py traitsui/editors/tabular_editor.py traitsui/editors/text_editor.py traitsui/editors/time_editor.py traitsui/editors/title_editor.py traitsui/editors/tree_editor.py traitsui/editors/tuple_editor.py traitsui/editors/value_editor.py traitsui/editors/video_editor.py traitsui/examples/demo/examples.cfg traitsui/examples/demo/index.rst traitsui/examples/demo/traits_ui_demo.jpg traitsui/examples/demo/Advanced/Adapted_tree_editor_demo.py traitsui/examples/demo/Advanced/Apply_Revert_handler_demo.py traitsui/examples/demo/Advanced/Auto_editable_readonly_table_cells.py traitsui/examples/demo/Advanced/Auto_update_TabularEditor_demo.py traitsui/examples/demo/Advanced/Date_editor_demo.py traitsui/examples/demo/Advanced/Date_range_editor_demo.py traitsui/examples/demo/Advanced/Dynamic_EnumEditor_demo.py traitsui/examples/demo/Advanced/Dynamic_range_trait_and_editor.py traitsui/examples/demo/Advanced/Dynamic_views_demo.py traitsui/examples/demo/Advanced/Dynamically_changing_buttons_demo.py traitsui/examples/demo/Advanced/HDF5_tree_demo.py traitsui/examples/demo/Advanced/HDF5_tree_demo2.py traitsui/examples/demo/Advanced/History_demo.py traitsui/examples/demo/Advanced/Invalid_state_handling.py traitsui/examples/demo/Advanced/ListStrEditor_demo.py traitsui/examples/demo/Advanced/List_editor_notebook_selection_demo.py traitsui/examples/demo/Advanced/List_editors_demo.py traitsui/examples/demo/Advanced/MVC_demo.py traitsui/examples/demo/Advanced/Multi_select_string_list.py traitsui/examples/demo/Advanced/Multi_thread_demo.py traitsui/examples/demo/Advanced/Multi_thread_demo_2.py traitsui/examples/demo/Advanced/NumPy_array_tabular_editor_demo.py traitsui/examples/demo/Advanced/NumPy_array_view_editor_demo.py traitsui/examples/demo/Advanced/Popup_Dialog_demo.py traitsui/examples/demo/Advanced/Property_List_demo.py traitsui/examples/demo/Advanced/Scrubber_editor_demo.py traitsui/examples/demo/Advanced/Settable_cached_property.py traitsui/examples/demo/Advanced/Statusbar_demo.py traitsui/examples/demo/Advanced/String_list_ui_editor.py traitsui/examples/demo/Advanced/Table_editor_with_checkbox_column.py traitsui/examples/demo/Advanced/Table_editor_with_context_menu_demo.py traitsui/examples/demo/Advanced/Table_editor_with_live_search_and_cell_editor.py traitsui/examples/demo/Advanced/Table_editor_with_progress_column.py traitsui/examples/demo/Advanced/Tabular_editor_demo.py traitsui/examples/demo/Advanced/Tabular_editor_with_context_menu_demo.py traitsui/examples/demo/Advanced/Time_editor_demo.py traitsui/examples/demo/Advanced/Tree_editor_required_traits_demo.py traitsui/examples/demo/Advanced/index.rst traitsui/examples/demo/Advanced/test_fixed.h5 traitsui/examples/demo/Advanced/test_fixed_compressed.h5 traitsui/examples/demo/Advanced/test_h5pydata.h5 traitsui/examples/demo/Advanced/test_table_dc.h5 traitsui/examples/demo/Advanced/test_table_no_dc.h5 traitsui/examples/demo/Advanced/tests/test_List_editor_notebook_selection_demo.py traitsui/examples/demo/Applications/Python_source_browser.py traitsui/examples/demo/Applications/converter.py traitsui/examples/demo/Applications/index.rst traitsui/examples/demo/Applications/images/GG5.png traitsui/examples/demo/Applications/images/TFB.png traitsui/examples/demo/Applications/images/blue_ball.png traitsui/examples/demo/Applications/images/header.png traitsui/examples/demo/Applications/images/notebook_close.png traitsui/examples/demo/Applications/images/notebook_open.png traitsui/examples/demo/Applications/images/red_ball.png traitsui/examples/demo/Applications/tests/test_converter.py traitsui/examples/demo/Dynamic_Forms/dynamic_form_using_instances.py traitsui/examples/demo/Dynamic_Forms/dynamic_range_editor.py traitsui/examples/demo/Dynamic_Forms/dynamic_selector.py traitsui/examples/demo/Dynamic_Forms/enabled_when.py traitsui/examples/demo/Dynamic_Forms/index.rst traitsui/examples/demo/Dynamic_Forms/visible_when.py traitsui/examples/demo/Dynamic_Forms/tests/test_visible_when.py traitsui/examples/demo/Extras/Image_editor_demo.py traitsui/examples/demo/Extras/LED_display.py traitsui/examples/demo/Extras/Tree_editor_with_TreeNodeRenderer.py traitsui/examples/demo/Extras/animated_GIF.py traitsui/examples/demo/Extras/index.rst traitsui/examples/demo/Extras/images/e-logo-rev.png traitsui/examples/demo/Extras/images/info.png traitsui/examples/demo/Extras/images/logo_32x32.gif traitsui/examples/demo/Extras/images/logo_48x48.gif traitsui/examples/demo/Extras/images/logo_64x64.gif traitsui/examples/demo/Extras/tests/__init__.py traitsui/examples/demo/Extras/tests/test_Image_editor_demo.py traitsui/examples/demo/Extras/windows/flash.py traitsui/examples/demo/Extras/windows/internet_explorer.py traitsui/examples/demo/Misc/demo_group_size.py traitsui/examples/demo/Misc/index.rst traitsui/examples/demo/Misc/using_springs.py traitsui/examples/demo/Standard_Editors/BooleanEditor_demo.py traitsui/examples/demo/Standard_Editors/BooleanEditor_simple_demo.py traitsui/examples/demo/Standard_Editors/ButtonEditor_demo.py traitsui/examples/demo/Standard_Editors/ButtonEditor_simple_demo.py traitsui/examples/demo/Standard_Editors/CSVListEditor_demo.py traitsui/examples/demo/Standard_Editors/CheckListEditor_demo.py traitsui/examples/demo/Standard_Editors/CheckListEditor_simple_demo.py traitsui/examples/demo/Standard_Editors/CodeEditor_demo.py traitsui/examples/demo/Standard_Editors/ColorEditor_demo.py traitsui/examples/demo/Standard_Editors/CompoundEditor_demo.py traitsui/examples/demo/Standard_Editors/DataFrameEditor_demo.py traitsui/examples/demo/Standard_Editors/DatetimeEditor_demo.py traitsui/examples/demo/Standard_Editors/DirectoryEditor_demo.py traitsui/examples/demo/Standard_Editors/EnumEditor_demo.py traitsui/examples/demo/Standard_Editors/FileEditor_demo.py traitsui/examples/demo/Standard_Editors/FontEditor_demo.py traitsui/examples/demo/Standard_Editors/HTMLEditor_demo.py traitsui/examples/demo/Standard_Editors/ImageEnumEditor_demo.py traitsui/examples/demo/Standard_Editors/InstanceEditor_demo.py traitsui/examples/demo/Standard_Editors/ListEditor_demo.py traitsui/examples/demo/Standard_Editors/RGBColorEditor_demo.py traitsui/examples/demo/Standard_Editors/RangeEditor_demo.py traitsui/examples/demo/Standard_Editors/SetEditor_demo.py traitsui/examples/demo/Standard_Editors/TableEditor_demo.py traitsui/examples/demo/Standard_Editors/TextEditor_demo.py traitsui/examples/demo/Standard_Editors/TitleEditor_demo.py traitsui/examples/demo/Standard_Editors/TreeEditor_demo.py traitsui/examples/demo/Standard_Editors/TupleEditor_demo.py traitsui/examples/demo/Standard_Editors/VideoEditor_demo.py traitsui/examples/demo/Standard_Editors/index.rst traitsui/examples/demo/Standard_Editors/File_Dialog/File_Open.py traitsui/examples/demo/Standard_Editors/File_Dialog/File_Open_with_Custom_Extension.py traitsui/examples/demo/Standard_Editors/File_Dialog/File_Open_with_FileInfo_Extension.py traitsui/examples/demo/Standard_Editors/File_Dialog/File_Open_with_ImageInfo_Extension.py traitsui/examples/demo/Standard_Editors/File_Dialog/File_Open_with_Multiple_Extensions.py traitsui/examples/demo/Standard_Editors/File_Dialog/File_Open_with_TextInfo_Extension.py traitsui/examples/demo/Standard_Editors/tests/test_BooleanEditor_demo.py traitsui/examples/demo/Standard_Editors/tests/test_BooleanEditor_simple_demo.py traitsui/examples/demo/Standard_Editors/tests/test_ButtonEditor_demo.py traitsui/examples/demo/Standard_Editors/tests/test_ButtonEditor_simple_demo.py traitsui/examples/demo/Standard_Editors/tests/test_CheckListEditor_simple_demo.py traitsui/examples/demo/Standard_Editors/tests/test_EnumEditor_demo.py traitsui/examples/demo/Standard_Editors/tests/test_FileEditor_demo.py traitsui/examples/demo/Standard_Editors/tests/test_InstanceEditor_demo.py traitsui/examples/demo/Standard_Editors/tests/test_ListEditor_demo.py traitsui/examples/demo/Standard_Editors/tests/test_RangeEditor_demo.py traitsui/examples/demo/Standard_Editors/tests/test_TextEditor_demo.py traitsui/extras/__init__.py traitsui/extras/_demo_info.py traitsui/extras/_demo_legacy.py traitsui/extras/api.py traitsui/extras/checkbox_column.py traitsui/extras/demo.py traitsui/extras/edit_column.py traitsui/extras/has_dynamic_views.py traitsui/extras/progress_column.py traitsui/extras/saving.py traitsui/extras/images/next.png traitsui/extras/images/parent.png traitsui/extras/images/previous.png traitsui/extras/images/reload.png traitsui/extras/images/run.png traitsui/images/frame.png traitsui/null/__init__.py traitsui/null/color_trait.py traitsui/null/font_trait.py traitsui/null/rgb_color_trait.py traitsui/null/toolkit.py traitsui/qt4/__init__.py traitsui/qt4/array_editor.py traitsui/qt4/array_view_editor.py traitsui/qt4/boolean_editor.py traitsui/qt4/button_editor.py traitsui/qt4/check_list_editor.py traitsui/qt4/clipboard.py traitsui/qt4/code_editor.py traitsui/qt4/color_editor.py traitsui/qt4/color_trait.py traitsui/qt4/compound_editor.py traitsui/qt4/constants.py traitsui/qt4/csv_list_editor.py traitsui/qt4/custom_editor.py traitsui/qt4/data_frame_editor.py traitsui/qt4/date_editor.py traitsui/qt4/date_range_editor.py traitsui/qt4/datetime_editor.py traitsui/qt4/directory_editor.py traitsui/qt4/drop_editor.py traitsui/qt4/editor.py traitsui/qt4/editor_factory.py traitsui/qt4/enum_editor.py traitsui/qt4/file_editor.py traitsui/qt4/font_editor.py traitsui/qt4/font_trait.py traitsui/qt4/helper.py traitsui/qt4/history_editor.py traitsui/qt4/html_editor.py traitsui/qt4/image_editor.py traitsui/qt4/image_enum_editor.py traitsui/qt4/instance_editor.py traitsui/qt4/key_binding_editor.py traitsui/qt4/key_event_to_name.py traitsui/qt4/list_editor.py traitsui/qt4/list_str_editor.py traitsui/qt4/list_str_model.py traitsui/qt4/menu.py traitsui/qt4/null_editor.py traitsui/qt4/progress_editor.py traitsui/qt4/range_editor.py traitsui/qt4/rgb_color_editor.py traitsui/qt4/rgb_color_trait.py traitsui/qt4/search_editor.py traitsui/qt4/set_editor.py traitsui/qt4/shell_editor.py traitsui/qt4/styled_date_editor.py traitsui/qt4/table_editor.py traitsui/qt4/table_model.py traitsui/qt4/tabular_editor.py traitsui/qt4/tabular_model.py traitsui/qt4/text_editor.py traitsui/qt4/time_editor.py traitsui/qt4/title_editor.py traitsui/qt4/toolkit.py traitsui/qt4/tree_editor.py traitsui/qt4/tree_node_renderers.py traitsui/qt4/tuple_editor.py traitsui/qt4/ui_base.py traitsui/qt4/ui_editor.py traitsui/qt4/ui_live.py traitsui/qt4/ui_modal.py traitsui/qt4/ui_panel.py traitsui/qt4/value_editor.py traitsui/qt4/video_editor.py traitsui/qt4/view_application.py traitsui/qt4/extra/__init__.py traitsui/qt4/extra/bounds_editor.py traitsui/qt4/extra/checkbox_renderer.py traitsui/qt4/extra/led_editor.py traitsui/qt4/extra/progress_renderer.py traitsui/qt4/extra/qt_view.py traitsui/qt4/extra/range_slider.py traitsui/qt4/extra/table_image_renderer.py traitsui/qt4/images/closetab.png traitsui/qt4/images/frame.png traitsui/qt4/images/list_editor.png traitsui/qt4/images/next.png traitsui/qt4/images/previous.png traitsui/qt4/tests/__init__.py traitsui/qt4/tests/test_helper.py traitsui/qt4/tests/test_tabular_model.py traitsui/qt4/tests/test_ui_base.py traitsui/qt4/tests/test_ui_panel.py traitsui/testing/README.txt traitsui/testing/__init__.py traitsui/testing/_exception_handling.py traitsui/testing/_gui.py traitsui/testing/api.py traitsui/testing/data/test.mp4 traitsui/testing/tester/README.txt traitsui/testing/tester/__init__.py traitsui/testing/tester/_abstract_target_registry.py traitsui/testing/tester/_dynamic_target_registry.py traitsui/testing/tester/command.py traitsui/testing/tester/exceptions.py traitsui/testing/tester/locator.py traitsui/testing/tester/query.py traitsui/testing/tester/target_registry.py traitsui/testing/tester/ui_tester.py traitsui/testing/tester/ui_wrapper.py traitsui/testing/tester/_ui_tester_registry/README.txt traitsui/testing/tester/_ui_tester_registry/__init__.py traitsui/testing/tester/_ui_tester_registry/_common_ui_targets.py traitsui/testing/tester/_ui_tester_registry/_compat.py traitsui/testing/tester/_ui_tester_registry/_layout.py traitsui/testing/tester/_ui_tester_registry/_traitsui_ui.py traitsui/testing/tester/_ui_tester_registry/default_registry.py traitsui/testing/tester/_ui_tester_registry/qt4/README.txt traitsui/testing/tester/_ui_tester_registry/qt4/__init__.py traitsui/testing/tester/_ui_tester_registry/qt4/_control_widget_registry.py traitsui/testing/tester/_ui_tester_registry/qt4/_interaction_helpers.py traitsui/testing/tester/_ui_tester_registry/qt4/_registry_helper.py traitsui/testing/tester/_ui_tester_registry/qt4/default_registry.py traitsui/testing/tester/_ui_tester_registry/qt4/_traitsui/README.txt traitsui/testing/tester/_ui_tester_registry/qt4/_traitsui/__init__.py traitsui/testing/tester/_ui_tester_registry/qt4/_traitsui/boolean_editor.py traitsui/testing/tester/_ui_tester_registry/qt4/_traitsui/button_editor.py traitsui/testing/tester/_ui_tester_registry/qt4/_traitsui/check_list_editor.py traitsui/testing/tester/_ui_tester_registry/qt4/_traitsui/editor_factory.py traitsui/testing/tester/_ui_tester_registry/qt4/_traitsui/enum_editor.py traitsui/testing/tester/_ui_tester_registry/qt4/_traitsui/file_editor.py traitsui/testing/tester/_ui_tester_registry/qt4/_traitsui/font_editor.py traitsui/testing/tester/_ui_tester_registry/qt4/_traitsui/instance_editor.py traitsui/testing/tester/_ui_tester_registry/qt4/_traitsui/list_editor.py traitsui/testing/tester/_ui_tester_registry/qt4/_traitsui/range_editor.py traitsui/testing/tester/_ui_tester_registry/qt4/_traitsui/text_editor.py traitsui/testing/tester/_ui_tester_registry/qt4/_traitsui/ui_base.py traitsui/testing/tester/_ui_tester_registry/qt4/tests/__init__.py traitsui/testing/tester/_ui_tester_registry/qt4/tests/test_control_widget_registry.py traitsui/testing/tester/_ui_tester_registry/qt4/tests/test_interaction_helpers.py traitsui/testing/tester/_ui_tester_registry/tests/__init__.py traitsui/testing/tester/_ui_tester_registry/tests/test_default_registry.py traitsui/testing/tester/_ui_tester_registry/tests/test_layout.py traitsui/testing/tester/_ui_tester_registry/wx/README.txt traitsui/testing/tester/_ui_tester_registry/wx/__init__.py traitsui/testing/tester/_ui_tester_registry/wx/_control_widget_registry.py traitsui/testing/tester/_ui_tester_registry/wx/_interaction_helpers.py traitsui/testing/tester/_ui_tester_registry/wx/_registry_helper.py traitsui/testing/tester/_ui_tester_registry/wx/default_registry.py traitsui/testing/tester/_ui_tester_registry/wx/_traitsui/README.txt traitsui/testing/tester/_ui_tester_registry/wx/_traitsui/__init__.py traitsui/testing/tester/_ui_tester_registry/wx/_traitsui/boolean_editor.py traitsui/testing/tester/_ui_tester_registry/wx/_traitsui/button_editor.py traitsui/testing/tester/_ui_tester_registry/wx/_traitsui/check_list_editor.py traitsui/testing/tester/_ui_tester_registry/wx/_traitsui/editor_factory.py traitsui/testing/tester/_ui_tester_registry/wx/_traitsui/enum_editor.py traitsui/testing/tester/_ui_tester_registry/wx/_traitsui/file_editor.py traitsui/testing/tester/_ui_tester_registry/wx/_traitsui/font_editor.py traitsui/testing/tester/_ui_tester_registry/wx/_traitsui/instance_editor.py traitsui/testing/tester/_ui_tester_registry/wx/_traitsui/list_editor.py traitsui/testing/tester/_ui_tester_registry/wx/_traitsui/range_editor.py traitsui/testing/tester/_ui_tester_registry/wx/_traitsui/text_editor.py traitsui/testing/tester/_ui_tester_registry/wx/_traitsui/ui_base.py traitsui/testing/tester/_ui_tester_registry/wx/tests/__init__.py traitsui/testing/tester/_ui_tester_registry/wx/tests/test_control_widget_registry.py traitsui/testing/tester/_ui_tester_registry/wx/tests/test_interaction_helpers.py traitsui/testing/tester/tests/__init__.py traitsui/testing/tester/tests/test_registry.py traitsui/testing/tester/tests/test_ui_tester.py traitsui/testing/tester/tests/test_ui_wrapper.py traitsui/testing/tests/__init__.py traitsui/testing/tests/test_api.py traitsui/testing/tests/test_exception_handling.py traitsui/testing/tests/test_gui.py traitsui/tests/__init__.py traitsui/tests/_tools.py traitsui/tests/test_actions.py traitsui/tests/test_color_column.py traitsui/tests/test_context_value.py traitsui/tests/test_controller.py traitsui/tests/test_editor.py traitsui/tests/test_handler.py traitsui/tests/test_helper.py traitsui/tests/test_labels.py traitsui/tests/test_layout.py traitsui/tests/test_regression.py traitsui/tests/test_shadow_group.py traitsui/tests/test_splitter_prefs_restored.py traitsui/tests/test_theme.py traitsui/tests/test_toolkit.py traitsui/tests/test_toolkit_traits.py traitsui/tests/test_tree_node.py traitsui/tests/test_ui.py traitsui/tests/test_ui_panel.py traitsui/tests/test_ui_traits.py traitsui/tests/test_undo.py traitsui/tests/test_view_application.py traitsui/tests/test_visible_when_layout.py traitsui/tests/editors/__init__.py traitsui/tests/editors/test_animatedGIF_editor.py traitsui/tests/editors/test_boolean_editor.py traitsui/tests/editors/test_button_editor.py traitsui/tests/editors/test_check_list_editor.py traitsui/tests/editors/test_code_editor.py traitsui/tests/editors/test_csv_editor.py traitsui/tests/editors/test_date_editor.py traitsui/tests/editors/test_date_range_editor.py traitsui/tests/editors/test_datetime_editor.py traitsui/tests/editors/test_default_override.py traitsui/tests/editors/test_directory_editor.py traitsui/tests/editors/test_drop_editor.py traitsui/tests/editors/test_enum_editor.py traitsui/tests/editors/test_file_editor.py traitsui/tests/editors/test_font_editor.py traitsui/tests/editors/test_html_editor.py traitsui/tests/editors/test_image_enum_editor.py traitsui/tests/editors/test_instance_editor.py traitsui/tests/editors/test_list_editor.py traitsui/tests/editors/test_liststr_editor.py traitsui/tests/editors/test_liststr_editor_selection.py traitsui/tests/editors/test_range_editor.py traitsui/tests/editors/test_range_editor_spinner.py traitsui/tests/editors/test_range_editor_text.py traitsui/tests/editors/test_set_editor.py traitsui/tests/editors/test_styled_date_editor.py traitsui/tests/editors/test_table_editor.py traitsui/tests/editors/test_tabular_editor.py traitsui/tests/editors/test_text_editor.py traitsui/tests/editors/test_tree_editor.py traitsui/tests/editors/test_tuple_editor.py traitsui/tests/editors/test_video_editor.py traitsui/tests/null_backend/__init__.py traitsui/tests/null_backend/test_font_trait.py traitsui/tests/null_backend/test_null_toolkit.py traitsui/tests/ui_editors/__init__.py traitsui/tests/ui_editors/test_data_frame_editor.py traitsui/ui_editors/__init__.py traitsui/ui_editors/array_view_editor.py traitsui/ui_editors/data_frame_editor.py traitsui/wx/__init__.py traitsui/wx/animated_gif_editor.py traitsui/wx/array_editor.py traitsui/wx/array_view_editor.py traitsui/wx/boolean_editor.py traitsui/wx/button_editor.py traitsui/wx/check_list_editor.py traitsui/wx/code_editor.py traitsui/wx/color_editor.py traitsui/wx/color_trait.py traitsui/wx/compound_editor.py traitsui/wx/constants.py traitsui/wx/csv_list_editor.py traitsui/wx/custom_editor.py traitsui/wx/data_frame_editor.py traitsui/wx/date_editor.py traitsui/wx/directory_editor.py traitsui/wx/dnd_editor.py traitsui/wx/drop_editor.py traitsui/wx/editor.py traitsui/wx/editor_factory.py traitsui/wx/enum_editor.py traitsui/wx/file_editor.py traitsui/wx/font_editor.py traitsui/wx/font_trait.py traitsui/wx/helper.py traitsui/wx/history_control.py traitsui/wx/history_editor.py traitsui/wx/html_editor.py traitsui/wx/image_control.py traitsui/wx/image_editor.py traitsui/wx/image_enum_editor.py traitsui/wx/image_slice.py traitsui/wx/instance_editor.py traitsui/wx/key_binding_editor.py traitsui/wx/key_event_to_name.py traitsui/wx/list_editor.py traitsui/wx/list_str_editor.py traitsui/wx/menu.py traitsui/wx/null_editor.py traitsui/wx/popup_editor.py traitsui/wx/progress_editor.py traitsui/wx/range_editor.py traitsui/wx/rgb_color_editor.py traitsui/wx/rgb_color_trait.py traitsui/wx/scrubber_editor.py traitsui/wx/search_editor.py traitsui/wx/set_editor.py traitsui/wx/shell_editor.py traitsui/wx/table_editor.py traitsui/wx/table_model.py traitsui/wx/tabular_editor.py traitsui/wx/text_editor.py traitsui/wx/time_editor.py traitsui/wx/title_editor.py traitsui/wx/toolkit.py traitsui/wx/tree_editor.py traitsui/wx/tuple_editor.py traitsui/wx/ui_base.py traitsui/wx/ui_editor.py traitsui/wx/ui_live.py traitsui/wx/ui_modal.py traitsui/wx/ui_panel.py traitsui/wx/ui_window.py traitsui/wx/ui_wizard.py traitsui/wx/value_editor.py traitsui/wx/view_application.py traitsui/wx/extra/__init__.py traitsui/wx/extra/bounds_editor.py traitsui/wx/extra/led_editor.py traitsui/wx/extra/windows/__init__.py traitsui/wx/extra/windows/flash_editor.py traitsui/wx/extra/windows/ie_html_editor.py traitsui/wx/images/cb_hover_off.png traitsui/wx/images/cb_hover_on.png traitsui/wx/images/cb_off.png traitsui/wx/images/cb_on.png traitsui/wx/images/file.png traitsui/wx/images/frame.ico traitsui/wx/images/group.png traitsui/wx/images/hs_color_map.png traitsui/wx/images/item.png traitsui/wx/images/list_editor.png traitsui/wx/images/nb_open.png traitsui/wx/images/object.png traitsui/wx/images/open.png traitsui/wx/images/table_add.png traitsui/wx/images/table_colors.png traitsui/wx/images/table_delete.png traitsui/wx/images/table_delete_synthetic.png traitsui/wx/images/table_display.png traitsui/wx/images/table_move_down.png traitsui/wx/images/table_move_up.png traitsui/wx/images/table_no_sort.png traitsui/wx/images/table_prefs.png traitsui/wx/images/table_search.png traitsui/wx/images/table_synthetic.png traitsui/wx/images/table_undelete.pngtraitsui-7.2.1/traitsui.egg-info/entry_points.txt0000644000076500000240000000026714046644525022647 0ustar aayresstaff00000000000000[etsdemo_data] demo = traitsui.extras._demo_info:info [traitsui.toolkits] null = traitsui.null:toolkit qt = traitsui.qt4:toolkit qt4 = traitsui.qt4:toolkit wx = traitsui.wx:toolkit traitsui-7.2.1/traitsui.egg-info/requires.txt0000644000076500000240000000041514046644525021744 0ustar aayresstaff00000000000000traits>=6.2.0 pyface>=7.3.0 [demo] configobj docutils [editors] numpy pandas [examples] apptools chaco h5py numpy pandas tables [pyqt] pyqt>=4.10 pygments [pyqt5] pyqt5 pygments [pyside2] pyside2 shiboken2 pygments [test] packaging numpy [wx] wxpython>=4 numpy traitsui-7.2.1/traitsui.egg-info/top_level.txt0000644000076500000240000000001114046644525022066 0ustar aayresstaff00000000000000traitsui traitsui-7.2.1/traitsui.egg-info/dependency_links.txt0000644000076500000240000000000114046644525023412 0ustar aayresstaff00000000000000 traitsui-7.2.1/MANIFEST.in0000644000076500000240000000060714046644454015550 0ustar aayresstaff00000000000000include CHANGES.txt include LICENSE.txt include MANIFEST.in include README.rst include README_example.png include image_LICENSE.txt include image_LICENSE_Eclipse.txt include image_LICENSE_Nuvola.txt include image_LICENSE_OOo.txt include TODO.txt graft docs prune docs/build graft examples recursive-include traitsui *.py *.zip *.png *.txt *.ico recursive-include integrationtests *.py *.gif traitsui-7.2.1/integrationtests/0000755000076500000240000000000014046644526017415 5ustar aayresstaff00000000000000traitsui-7.2.1/integrationtests/ui/0000755000076500000240000000000014046644526020032 5ustar aayresstaff00000000000000traitsui-7.2.1/integrationtests/ui/shell_editor_test.py0000644000076500000240000000324414046644454024123 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! from traits.api import * from traitsui.api import * from traitsui.menu import * #------------------------------------------------------------------------- # 'ShellTest' class: #------------------------------------------------------------------------- class ShellTest(HasPrivateTraits): #------------------------------------------------------------------------- # Trait definitions: #------------------------------------------------------------------------- name = Str() age = Int() weight = Float() shell_1 = Str() shell_2 = Dict() #------------------------------------------------------------------------- # Traits view definitions: #------------------------------------------------------------------------- view = View('name', 'age', 'weight', '_', Item('shell_1', editor=ShellEditor()), Item('shell_2', editor=ShellEditor()), id='traitsui.tests.shell_editor_test', resizable=True, width=0.3, height=0.3) #------------------------------------------------------------------------- # Run the test: #------------------------------------------------------------------------- if __name__ == '__main__': ShellTest().configure_traits() traitsui-7.2.1/integrationtests/ui/check_list_editor_test.py0000644000076500000240000000444614046644454025131 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! #------------------------------------------------------------------------- # Imports: #------------------------------------------------------------------------- from traits.api \ import Enum, List from traitsui.api \ import Handler, View, Item, CheckListEditor #------------------------------------------------------------------------- # Constants: #------------------------------------------------------------------------- colors = ['red', 'orange', 'yellow', 'green', 'blue', 'indigo', 'violet'] numbers = ['one', 'two', 'three', 'four', 'five', 'six', 'seven', 'eight', 'nine', 'ten'] #------------------------------------------------------------------------- # 'CheckListTest' class: #------------------------------------------------------------------------- class CheckListTest(Handler): #------------------------------------------------------------------------- # Trait definitions: #------------------------------------------------------------------------- case = Enum('Colors', 'Numbers') value = List(editor=CheckListEditor(values=colors, cols=5)) #------------------------------------------------------------------------- # Event handlers: #------------------------------------------------------------------------- def object_case_changed(self, info): if self.case == 'Colors': info.value.factory.values = colors else: info.value.factory.values = numbers #------------------------------------------------------------------------- # Run the tests: #------------------------------------------------------------------------- if __name__ == '__main__': clt = CheckListTest() clt.configure_traits( view=View('case', '_', Item('value', id='value'))) print('value:', clt.value) clt.configure_traits( view=View('case', '_', Item('value@', id='value'))) print('value:', clt.value) traitsui-7.2.1/integrationtests/ui/html_editor_test.py0000644000076500000240000000436714046644454023767 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! #------------------------------------------------------------------------- # Imports: #------------------------------------------------------------------------- from traits.api \ import HasPrivateTraits, Code from traitsui.api \ import View, Group, Item, HTMLEditor #------------------------------------------------------------------------- # Constants: #------------------------------------------------------------------------- sample = """This is a code block: def foo ( bar ): print 'bar:', bar This is an unordered list: - An - unordered - list This is an ordered list: * One * Two * Three Lists can be nested: * One * 1.1 * 1.2 * Two * 2.1 * 2.2 """ #------------------------------------------------------------------------- # 'TestHTML' class: #------------------------------------------------------------------------- class TestHTML(HasPrivateTraits): #------------------------------------------------------------------------- # Trait definitions: #------------------------------------------------------------------------- # Text string to display as HTML: html = Code(sample) #------------------------------------------------------------------------- # Traits view definitions: #------------------------------------------------------------------------- view = View(Group( [Item('html#@', editor=HTMLEditor(format_text=True)), '|<>'], ['{Enter formatted text and/or HTML below:}@', 'html#@', '|<>'], '|<>', layout='split'), title='HTML Editor Test', resizable=True, width=0.4, height=0.6) #------------------------------------------------------------------------- # Run the test: #------------------------------------------------------------------------- if __name__ == '__main__': TestHTML().configure_traits() traitsui-7.2.1/integrationtests/ui/check_list_editor_test2.py0000644000076500000240000000463714046644454025215 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! #------------------------------------------------------------------------- # Imports: #------------------------------------------------------------------------- from traits.api \ import Enum, List, Str from traitsui.api \ import Handler, View, Item, CheckListEditor #------------------------------------------------------------------------- # 'CheckListTest' class: #------------------------------------------------------------------------- class CheckListTest(Handler): #------------------------------------------------------------------------- # Trait definitions: #------------------------------------------------------------------------- value = List(editor=CheckListEditor(name='values', cols=5)) values = List(Str) values_text = Str('red orange yellow green blue indigo violet') #------------------------------------------------------------------------- # Traits view definitions: #------------------------------------------------------------------------- simple_view = View('value', 'values_text@') custom_view = View('value@', 'values_text@') #------------------------------------------------------------------------- # 'Initializes the object: #------------------------------------------------------------------------- def __init__(self, **traits): super().__init__(**traits) self._values_text_changed() #------------------------------------------------------------------------- # Event handlers: #------------------------------------------------------------------------- def _values_text_changed(self): self.values = self.values_text.split() #------------------------------------------------------------------------- # Run the tests: #------------------------------------------------------------------------- if __name__ == '__main__': clt = CheckListTest() clt.configure_traits(view='simple_view') print('value:', clt.value) clt.configure_traits(view='custom_view') print('value:', clt.value) traitsui-7.2.1/integrationtests/ui/table_editor_test2.py0000644000076500000240000000761614046644454024174 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! #------------------------------------------------------------------------- # Imports: #------------------------------------------------------------------------- from traits.api \ import HasStrictTraits, Str, Int, Regex, List from traitsui.api \ import View #------------------------------------------------------------------------- # 'Person' class: #------------------------------------------------------------------------- class Person(HasStrictTraits): #------------------------------------------------------------------------- # Trait definitions: #------------------------------------------------------------------------- name = Str() age = Int() phone = Regex(value='000-0000', regex='\d\d\d[-]\d\d\d\d') #------------------------------------------------------------------------- # Traits view definition: #------------------------------------------------------------------------- traits_view = View('name', 'age', 'phone', title='Create new person', width=0.18, buttons=['OK', 'Cancel']) #------------------------------------------------------------------------- # 'WorkingPerson' class #------------------------------------------------------------------------- class WorkingPerson(Person): #------------------------------------------------------------------------- # Trait definitions: #------------------------------------------------------------------------- job = Str() #------------------------------------------------------------------------- # Traits view definition: #------------------------------------------------------------------------- traits_view = View('name', 'age', 'phone', 'job', title='Create new working person.........', width=0.18, buttons=['OK', 'Cancel']) #------------------------------------------------------------------------- # Sample data: #------------------------------------------------------------------------- people = [ Person(name='Dave', age=39, phone='555-1212'), Person(name='Mike', age=28, phone='555-3526'), WorkingPerson(name='Joe', age=34, phone='555-6943', job='Fireman'), Person(name='Tom', age=22, phone='555-7586'), Person(name='Dick', age=63, phone='555-3895'), Person(name='Harry', age=46, phone='555-3285'), WorkingPerson(name='Sally', age=43, phone='555-8797', job='Soldier'), Person(name='Fields', age=31, phone='555-3547') ] #------------------------------------------------------------------------- # 'TableTest' class: #------------------------------------------------------------------------- class TableTest(HasStrictTraits): #------------------------------------------------------------------------- # Trait definitions: #------------------------------------------------------------------------- people = List(Person) #------------------------------------------------------------------------- # Traits view definitions: #------------------------------------------------------------------------- traits_view = View(['people#', '|<>'], resizable=True) #------------------------------------------------------------------------- # Run the tests: #------------------------------------------------------------------------- if __name__ == '__main__': tt = TableTest(people=people) tt.configure_traits() for p in tt.people: p.print_traits() print('--------------') traitsui-7.2.1/integrationtests/ui/table_editor_focus_bug.py0000644000076500000240000000447314046644454025105 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! from traits.api import HasTraits, Str, List from traitsui.api import Group, Item, TableEditor, View from traitsui.table_column \ import ObjectColumn class Word(HasTraits): word = Str() class Foo(HasTraits): # arbitrary string containing spaces input = Str() # input split on space parsed = List() def _input_changed(self): words = self.input.split() for word in self.parsed[:]: if word.word in words: words.remove(word.word) else: self.parsed.remove(word) for word in words: self.parsed.append(Word(word=word)) return table_editor = TableEditor( columns=[ObjectColumn(name='word')], editable=True) help = Str("""Type in the 'input' box before clicking the Parsed tab. The first non-whitespace character will cause changes to the parsed trait and therefore changes to the table rows. That is expected. BUG: the table grabs the focus from 'input' and thus subsequent typing goes into one of the table cells. If you click the 'Parsed' tab, to view the table, and then the 'Inputs' tab the focus will stay with the 'input' box. """) traits_view = View( Group(Item('help', style='readonly'), Item('input'), label='Input'), Group(Item('parsed', editor=table_editor), label='Parsed'), dock='tab', resizable=True, width=320, height=240 ) if __name__ == '__main__': # simple test of the model foo = Foo() foo.input = 'these words in the list' assert([word.word for word in foo.parsed] == [ 'these', 'words', 'in', 'the', 'list']) foo.input = 'these dudes in the bar' assert([word.word for word in foo.parsed] == [ 'these', 'in', 'the', 'dudes', 'bar']) foo.configure_traits(kind='modal') print(foo.input, [word.word for word in foo.parsed]) traitsui-7.2.1/integrationtests/ui/images/0000755000076500000240000000000014046644526021277 5ustar aayresstaff00000000000000traitsui-7.2.1/integrationtests/ui/images/bottom_right_origin.gif0000644000076500000240000000125014046644454026034 0ustar aayresstaff00000000000000GIF89a<æÿÿÿÞÞÞ ÚÚÚîîîúúúbbb]]]âââžžžŠŠŠKKKÁÁÁööö¶¶¶qqq†††òòòVVV¬¬¬ÎÎÎæææyyy\\\ŽŽŽ¹¹¹~~~“““ÆÆÆ†uu>xRRÿúþÙ((¿µµkkkëëëý½½áLLhhh—÷ ÖÖÖ!!!œ÷www‚‚‚¤WWÑ..¦¦¦ÓÓÓ¾¾¾ªªªÈ??ß||–––ËËË´ŽŽ­SS aaƒ‚‚£££,<ÿ€‚ƒ„…†‡†ˆ‘’… “š›’  Žœ¥¦ ¤§±’  ²» ¼Å†–ºÆÎ ÏÏÑ °×»ÙÞß²ÑâÝå¼áãëìÉÜäïœ!"#âÖôˆóƒ$%L˜8BÝ>B R|RA ‚ÃnVœÈBßA*‚ÚÈ”‹‰_ÀPq@16*Xùi£ &fHP@4Ô¨a‹?mÀ¼#GM›tìø°C§Nqð˜ØÃÇ GmÀ€C… ¾V€!ˆ!5Š@Hµ[ý v»©Ã'ƒ*š• ;traitsui-7.2.1/integrationtests/ui/images/top_left_origin.gif0000644000076500000240000000125014046644454025147 0ustar aayresstaff00000000000000GIF89a<æþþþÿîîÿÁÁÿÙÙÿþÿûJJøîîîîîúúúò]]òòòööö£££–––ûddì÷[[ñ """‚‚‚ÕÕÕééé쟟¾[[[tttŽŽŽaaa]]]ŠŠŠ®®®ÒÒÒÞÞÞÞUUÕ `MMnnn½½½Â¸¸¸¶¶¶ÊÊÊæææoIIZe&&JIIyyy²²²âââÐÐÐ555¥¥¥~~~WWW………fff===ÇÇÇ“““,<ÿ€‚ƒ„…††‹ŒŽ…Œ ›œ„”  ¦  ®Ž ”µ¶·š¯½ƒ²Äȶ­¾¯Á !ר"#$$%&Я'( )*+,-,ë,./%ò01 â®234567H5ÈG&bðºÇIAtÔq‚ª‹¨ÄàPá++&ÔX±#“Ç“„xLA¢*”0UŠáfÌ•4_Úô(3çΓ=].üé«VZ- %úÊ-,L2õ¥ Ä?nœH0Zˆ @48€£«¯AnxÞÙ^ „ ²ôm'BÊN ;traitsui-7.2.1/integrationtests/ui/images/top_right_origin.gif0000644000076500000240000000123414046644454025334 0ustar aayresstaff00000000000000GIF89a<æþþþÿîîÿÁÁÿÙÙæææúúúÿþþûJJøîîkkk èèèîîîöööü¼¼ùddœúÞÞÞ!!!øºººwww‚‚‚†††ŽŽŽŠŠŠ¤WWÉ&&¦¦¦ÓÓÓ¾¾¾ªªª“““ÂÂÂÀÀÀÈ??Õ lYYÉÉÉòòòÍÍÍôôôkEEZc$$KKK~~~^^^555âââoooaaaWWW ±±±ÇÇÇ===¶¶¶,<ÿ€‚ƒ„…†‡†ˆŽˆˆ ›œƒ §—ª­Ÿ ²³´ª—®¼„³±²¶·½Ë Ö"·#$%ËÌ&'('&)å&$+ª,-(.ÞÌ/.'0/ö/023456&”ÁãuŠ@ I§N5»ÑG 9^ œX¨€Ž5œ E±£  n€H1ÉcG;>¤€`òdH•%[D SæD7`Æ´ÉKY)^ìäÙêÂ, %Ê©0~èbÚëCƒH!@•׃ ?@‰Ø•—<@––Ý”#Eo;traitsui-7.2.1/integrationtests/ui/images/bottom_left_origin.gif0000644000076500000240000000125014046644454025651 0ustar aayresstaff00000000000000GIF89a<æþþþ¼¼¼ÞÞÞ ØØØòòòúúúccc]]]žžžŠŠŠKKKÁÁÁööö¶¶¶qqqâââVVV®®®ÎÎÎæææzyyŽŽŽ~~~bbb“““ÆÆÆ†uu>xRRÿúþÙ((¿µµîîîÿ¿¿ÜGGéé飣£–––ûddì÷[[ñ"""‚‚‚ÕÕÕ쟟ºZZZÒÒÒÞUUØhUUooo˜˜˜¬¬¬ÊÊÊ×××»••²XX aa···,<ÿ€‚ƒ„…†‡Š‹ŒŽ–— ˜Ÿ ƒ  •¡ª ©«µŠ ž¶¿… ÀÉ‚›¾Ê¿´Ò¶ÔÖÚÀÜ ÙàªÜäæÛÕéåë˜ !îñª"#$$%&ï†'àÝ„bŸÁ*NˆÀpÖ -¾ ,äÂà¾2j܈F ëbX$!c€‚&¨Ô8ƒF ÚyÇ 8q2àÀ". 9TL„¤Ãà=|@€€) ,H‚!æ=5„ !’Á‡„Š-@áBŽ@‚3B » (|G×@* © ;traitsui-7.2.1/integrationtests/ui/instance_editor_test4.py0000644000076500000240000000571014046644454024704 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! from traits.api import * from traitsui.api import * from traitsui.instance_choice import InstanceChoice #------------------------------------------------------------------------- # 'Person' class: #------------------------------------------------------------------------- class Person(HasStrictTraits): #------------------------------------------------------------------------- # Trait definitions: #------------------------------------------------------------------------- name = Str() age = Int() phone = Regex(value='000-0000', regex='\d\d\d[-]\d\d\d\d') #------------------------------------------------------------------------- # Traits view definition: #------------------------------------------------------------------------- traits_view = View('name', 'age', 'phone') #------------------------------------------------------------------------- # Sample data: #------------------------------------------------------------------------- people = [ Person(name='Dave', age=39, phone='555-1212'), Person(name='Mike', age=28, phone='555-3526'), Person(name='Joe', age=34, phone='555-6943'), Person(name='Tom', age=22, phone='555-7586'), Person(name='Dick', age=63, phone='555-3895'), Person(name='Harry', age=46, phone='555-3285'), Person(name='Sally', age=43, phone='555-8797'), Person(name='Fields', age=31, phone='555-3547') ] #------------------------------------------------------------------------- # 'Team' class: #------------------------------------------------------------------------- class Team(HasStrictTraits): #------------------------------------------------------------------------- # Trait definitions: #------------------------------------------------------------------------- name = Str() captain = Instance(Person) roster = List(Person) #------------------------------------------------------------------------- # Traits view definitions: #------------------------------------------------------------------------- traits_view = View('name', '_', Item('captain@', editor=InstanceEditor(name='roster', editable=False)), '_', 'roster') #------------------------------------------------------------------------- # Run the test: #------------------------------------------------------------------------- if __name__ == '__main__': Team(name='Vultures', captain=people[0], roster=people).configure_traits() traitsui-7.2.1/integrationtests/ui/instance_editor_test.py0000644000076500000240000000563114046644454024622 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! from traits.api import * from traitsui.api import * from traitsui.instance_choice import InstanceChoice #------------------------------------------------------------------------- # 'Person' class: #------------------------------------------------------------------------- class Person(HasStrictTraits): #------------------------------------------------------------------------- # Trait definitions: #------------------------------------------------------------------------- name = Str() age = Int() phone = Regex(value='000-0000', regex='\d\d\d[-]\d\d\d\d') #------------------------------------------------------------------------- # Traits view definition: #------------------------------------------------------------------------- traits_view = View('name', 'age', 'phone') #------------------------------------------------------------------------- # Sample data: #------------------------------------------------------------------------- people = [ Person(name='Dave', age=39, phone='555-1212'), Person(name='Mike', age=28, phone='555-3526'), Person(name='Joe', age=34, phone='555-6943'), Person(name='Tom', age=22, phone='555-7586'), Person(name='Dick', age=63, phone='555-3895'), Person(name='Harry', age=46, phone='555-3285'), Person(name='Sally', age=43, phone='555-8797'), Person(name='Fields', age=31, phone='555-3547') ] #------------------------------------------------------------------------- # 'Team' class: #------------------------------------------------------------------------- class Team(HasStrictTraits): #------------------------------------------------------------------------- # Trait definitions: #------------------------------------------------------------------------- name = Str() captain = Instance(Person) roster = List(Person) #------------------------------------------------------------------------- # Traits view definitions: #------------------------------------------------------------------------- traits_view = View('name', '_', Item('captain@', editor=InstanceEditor(name='roster')), buttons=['Undo', 'OK', 'Cancel']) #------------------------------------------------------------------------- # Run the test: #------------------------------------------------------------------------- if __name__ == '__main__': Team(name='Vultures', captain=people[0], roster=people).configure_traits() traitsui-7.2.1/integrationtests/ui/test_ui4.py0000644000076500000240000000571214046644454022151 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! #------------------------------------------------------------------------- # Imports: #------------------------------------------------------------------------- import wx from traits.api import Trait, HasTraits, Str, Int from traitsui.api import Color, View, Group #------------------------------------------------------------------------- # Model classes: #------------------------------------------------------------------------- class Employer(HasTraits): company = Str('Enthought, Inc.') boss = Str('eric') view = View('company', 'boss') class Person(HasTraits): name = Str('David Morrill') age = Int(39) class ExtraPerson(Person): sex = Trait('Male', 'Female') eye_color = Color class LocatedPerson(Person): street = Str() city = Str() state = Str() zip = Int(78663) class EmployedPerson(LocatedPerson): employer = Trait(Employer()) #------------------------------------------------------------------------- # View classes: #------------------------------------------------------------------------- class PersonView(HasTraits): view = View('name', '', 'age', kind='modal') class ExtraPersonView(PersonView): extra = Group('sex', 'eye_color') class LocatedPersonView(PersonView): extra = Group('street', 'city', 'state', 'zip') class EmployedPersonView(LocatedPersonView): extra = Group('employer', '') #------------------------------------------------------------------------- # 'TraitSheetApp' class: #------------------------------------------------------------------------- class TraitSheetApp(wx.App): #------------------------------------------------------------------------- # Initialize the object: #------------------------------------------------------------------------- def __init__(self): wx.InitAllImageHandlers() wx.App.__init__(self, 1, 'debug.log') self.MainLoop() #------------------------------------------------------------------------- # Handle application initialization: #------------------------------------------------------------------------- def OnInit(self): PersonView().edit_traits(context=Person()) ExtraPersonView().edit_traits(context=ExtraPerson()) LocatedPersonView().edit_traits(context=LocatedPerson()) EmployedPersonView().edit_traits(context=EmployedPerson()) return True #------------------------------------------------------------------------- # Main program: #------------------------------------------------------------------------- TraitSheetApp() traitsui-7.2.1/integrationtests/ui/test_ui.py0000644000076500000240000001655014046644454022067 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! #------------------------------------------------------------------------- # Imports: #------------------------------------------------------------------------- import wx from traits.api \ import Trait, HasTraits, Str, Int, Range, List, Event, File, Directory, \ Bool, Enum from traitsui.api \ import View, Handler, Item, CheckListEditor, ButtonEditor, FileEditor, \ DirectoryEditor, ImageEnumEditor, Color, Font #------------------------------------------------------------------------- # Constants: #------------------------------------------------------------------------- origin_values = ['top left', 'top right', 'bottom left', 'bottom right'] #------------------------------------------------------------------------- # 'Instance' class: #------------------------------------------------------------------------- class Instance(HasTraits): #------------------------------------------------------------------------- # Trait definitions: #------------------------------------------------------------------------- integer_text = Int(1) enumeration = Enum('one', 'two', 'three', 'four', 'five', 'six', cols=3) float_range = Range(0.0, 10.0, 10.0) int_range = Range(1, 5) boolean = Bool(True) view = View('integer_text', 'enumeration', 'float_range', 'int_range', 'boolean') #------------------------------------------------------------------------- # 'TraitsTest' class #------------------------------------------------------------------------- class TraitsTest(HasTraits): #------------------------------------------------------------------------- # Trait definitions: #------------------------------------------------------------------------- integer_text = Int(1) enumeration = Enum('one', 'two', 'three', 'four', 'five', 'six', cols=3) float_range = Range(0.0, 10.0, 10.0) int_range = Range(1, 6) int_range2 = Range(1, 50) compound = Trait(1, Range(1, 6), 'one', 'two', 'three', 'four', 'five', 'six') boolean = Bool(True) instance = Trait(Instance()) color = Color font = Font check_list = List(editor=CheckListEditor( values=['one', 'two', 'three', 'four'], cols=4)) list = List(Str, ['East of Eden', 'The Grapes of Wrath', 'Of Mice and Men']) button = Event(0, editor=ButtonEditor(label='Click')) file = File() directory = Directory() image_enum = Trait(editor=ImageEnumEditor(values=origin_values, suffix='_origin', cols=4, klass=Instance), *origin_values) #------------------------------------------------------------------------- # View definitions: #------------------------------------------------------------------------- view = View( ('|{Enum}', ('|<[Enumeration]', 'enumeration[Simple]', '_', 'enumeration[Custom]@', '_', 'enumeration[Text]*', '_', 'enumeration[Readonly]~'), ('|<[Check List]', 'check_list[Simple]', '_', 'check_list[Custom]@', '_', 'check_list[Text]*', '_', 'check_list[Readonly]~') ), ('|{Range}', ('|<[Float Range]', 'float_range[Simple]', '_', 'float_range[Custom]@', '_', 'float_range[Text]*', '_', 'float_range[Readonly]~'), ('|<[Int Range]', 'int_range[Simple]', '_', 'int_range[Custom]@', '_', 'int_range[Text]*', '_', 'int_range[Readonly]~'), ('|<[Int Range 2]', 'int_range2[Simple]', '_', 'int_range2[Custom]@', '_', 'int_range2[Text]*', '_', 'int_range2[Readonly]~') ), ('|{Misc}', ('|<[Integer Text]', 'integer_text[Simple]', '_', 'integer_text[Custom]@', '_', 'integer_text[Text]*', '_', 'integer_text[Readonly]~'), ('|<[Compound]', 'compound[Simple]', '_', 'compound[Custom]@', '_', 'compound[Text]*', '_', 'compound[Readonly]~'), ('|<[Boolean]', 'boolean[Simple]', '_', 'boolean[Custom]@', '_', 'boolean[Text]*', '_', 'boolean[Readonly]~') ), ('|{Color/Font}', ('|<[Color]', 'color[Simple]', '_', 'color[Custom]@', '_', 'color[Text]*', '_', 'color[Readonly]~'), ('|<[Font]', 'font[Simple]', '_', 'font[Custom]@', '_', 'font[Text]*', '_', 'font[Readonly]~') ), ('|{List}', ('|<[List]', 'list[Simple]', '_', 'list[Custom]@', '_', 'list[Text]*', '_', 'list[Readonly]~') ), ('|{Button}', ('|<[Button]', 'button[Simple]', '_', 'button[Custom]@'), # 'button[Text]*', # 'button[Readonly]~' ), ('|<[Image Enum]', 'image_enum[Simple]', '_', 'image_enum[Custom]@', '_', 'image_enum[Text]*', '_', 'image_enum[Readonly]~'), ('|<[Instance]', 'instance[Simple]', '_', 'instance[Custom]@', '_', 'instance[Text]*', '_', 'instance[Readonly]~'), ), ('|{File}', ('|<[File]', 'file[Simple]', '_', 'file[Custom]@', '_', 'file[Text]*', '_', 'file[Readonly]~', ), ('|<[Directory]', 'directory[Simple]', '_', 'directory[Custom]@', '_', 'directory[Text]*', '_', 'directory[Readonly]~') ), buttons=['Apply', 'Revert', 'Undo', 'OK'] ) #------------------------------------------------------------------------- # 'TraitSheetApp' class: #------------------------------------------------------------------------- class TraitSheetApp(wx.App): #------------------------------------------------------------------------- # Initialize the object: #------------------------------------------------------------------------- def __init__(self, object): self.object = object wx.InitAllImageHandlers() wx.App.__init__(self, 1, 'debug.log') self.MainLoop() #------------------------------------------------------------------------- # Handle application initialization: #------------------------------------------------------------------------- def OnInit(self): ui = self.object.edit_traits(kind='modal') ui = self.object.edit_traits(kind='wizard') ui = self.object.edit_traits(kind='nonmodal') ui = self.object.edit_traits(kind='live') self.SetTopWindow(ui.control) return True #------------------------------------------------------------------------- # Main program: #------------------------------------------------------------------------- if __name__ == '__main__': TraitSheetApp(TraitsTest()) traitsui-7.2.1/integrationtests/ui/test_ui5.py0000644000076500000240000002005514046644454022147 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! """ Traits Test case """ #------------------------------------------------------------------------- # Imports: #------------------------------------------------------------------------- import wx from traits.api \ import Trait, HasTraits, Str, Int, Range, List, Event, File, Directory, Bool from traitsui.api \ import View, Handler, Item, CheckListEditor, ButtonEditor, FileEditor, \ DirectoryEditor, ImageEnumEditor, Color, Font #------------------------------------------------------------------------- # Constants: #------------------------------------------------------------------------- origin_values = ['top left', 'top right', 'bottom left', 'bottom right'] #------------------------------------------------------------------------- # 'Instance' class: #------------------------------------------------------------------------- class Instance(HasTraits): #------------------------------------------------------------------------- # Trait definitions: #------------------------------------------------------------------------- integer_text = Int(1) enumeration = Trait('one', 'two', 'three', 'four', 'five', 'six', cols=3) float_range = Range(0.0, 10.0, 10.0) int_range = Range(1, 5) boolean = Bool(True) view = View('integer_text', 'enumeration', 'float_range', 'int_range', 'boolean') #------------------------------------------------------------------------- # 'TraitsTestHandler' class: #------------------------------------------------------------------------- class TraitsTestHandler(Handler): def object_enabled_changed(self, info): enabled = info.object.enabled for i in range(1, 63): getattr(info, 'f%d' % i).enabled = enabled #------------------------------------------------------------------------- # 'TraitsTest' class #------------------------------------------------------------------------- class TraitsTest(HasTraits): #------------------------------------------------------------------------- # Trait definitions: #------------------------------------------------------------------------- enabled = Bool(True) integer_text = Int(1) enumeration = Trait('one', 'two', 'three', 'four', 'five', 'six', cols=3) float_range = Range(0.0, 10.0, 10.0) int_range = Range(1, 6) int_range2 = Range(1, 50) compound = Trait(1, Range(1, 6), 'one', 'two', 'three', 'four', 'five', 'six') boolean = Bool(True) instance = Trait(Instance()) color = Color('cyan') font = Font() check_list = List(editor=CheckListEditor( values=['one', 'two', 'three', 'four'], cols=4)) list = List(Str, ['East of Eden', 'The Grapes of Wrath', 'Of Mice and Men']) button = Event(0, editor=ButtonEditor(label='Click')) file = File() directory = Directory() image_enum = Trait(editor=ImageEnumEditor(values=origin_values, suffix='_origin', cols=4, klass=Instance), *origin_values) #------------------------------------------------------------------------- # View definitions: #------------------------------------------------------------------------- view = View( ('|{Enum}', ('enabled', ), ('|<[Enumeration]', 'f1:enumeration[Simple]', '_', 'f2:enumeration[Custom]@', '_', 'f3:enumeration[Text]*', '_', 'f4:enumeration[Readonly]~'), ('|<[Check List]', 'f5:check_list[Simple]', '_', 'f6:check_list[Custom]@', '_', 'f7:check_list[Text]*', '_', 'f8:check_list[Readonly]~') ), ('|{Range}', ('|<[Float Range]', 'f9:float_range[Simple]', '_', 'f10:float_range[Custom]@', '_', 'f11:float_range[Text]*', '_', 'f12:float_range[Readonly]~'), ('|<[Int Range]', 'f13:int_range[Simple]', '_', 'f14:int_range[Custom]@', '_', 'f15:int_range[Text]*', '_', 'f16:int_range[Readonly]~'), ('|<[Int Range 2]', 'f17:int_range2[Simple]', '_', 'f18:int_range2[Custom]@', '_', 'f19:int_range2[Text]*', '_', 'f20:int_range2[Readonly]~') ), ('|{Misc}', ('|<[Integer Text]', 'f21:integer_text[Simple]', '_', 'f22:integer_text[Custom]@', '_', 'f23:integer_text[Text]*', '_', 'f24:integer_text[Readonly]~'), ('|<[Compound]', 'f25:compound[Simple]', '_', 'f26:compound[Custom]@', '_', 'f27:compound[Text]*', '_', 'f28:compound[Readonly]~'), ('|<[Boolean]', 'f29:boolean[Simple]', '_', 'f30:boolean[Custom]@', '_', 'f31:boolean[Text]*', '_', 'f32:boolean[Readonly]~') ), ('|{Color/Font}', ('|<[Color]', 'f33:color[Simple]', '_', 'f34:color[Custom]@', '_', 'f35:color[Text]*', '_', 'f36:color[Readonly]~'), ('|<[Font]', 'f37:font[Simple]', '_', 'f38:font[Custom]@', '_', 'f39:font[Text]*', '_', 'f40:font[Readonly]~') ), ('|{List}', ('|<[List]', 'f41:list[Simple]', '_', 'f42:list[Custom]@', '_', 'f43:list[Text]*', '_', 'f44:list[Readonly]~') ), ('|{Button}', ('|<[Button]', 'f45:button[Simple]', '_', 'f46:button[Custom]@'), # 'button[Text]*', # 'button[Readonly]~' ), ('|<[Image Enum]', 'f47:image_enum[Simple]', '_', 'f48:image_enum[Custom]@', '_', 'f49:image_enum[Text]*', '_', 'f50:image_enum[Readonly]~'), ('|<[Instance]', 'f51:instance[Simple]', '_', 'f52:instance[Custom]@', '_', 'f53:instance[Text]*', '_', 'f54:instance[Readonly]~'), ), ('|{File}', ('|<[File]', 'f55:file[Simple]', '_', 'f56:file[Custom]@', '_', 'f57:file[Text]*', '_', 'f58:file[Readonly]~', ), ('|<[Directory]', 'f59:directory[Simple]', '_', 'f60:directory[Custom]@', '_', 'f61:directory[Text]*', '_', 'f62:directory[Readonly]~') ), buttons=['Apply', 'Revert', 'Undo', 'OK'], handler=TraitsTestHandler() ) #------------------------------------------------------------------------- # 'TraitSheetApp' class: #------------------------------------------------------------------------- class TraitSheetApp(wx.App): #------------------------------------------------------------------------- # Initialize the object: #------------------------------------------------------------------------- def __init__(self, object): self.object = object wx.InitAllImageHandlers() wx.App.__init__(self, 1, 'debug.log') self.MainLoop() #------------------------------------------------------------------------- # Handle application initialization: #------------------------------------------------------------------------- def OnInit(self): ui = self.object.edit_traits(kind='live') ui = self.object.edit_traits(kind='modal') ui = self.object.edit_traits(kind='nonmodal') ui = self.object.edit_traits(kind='wizard') self.SetTopWindow(ui.control) return True #------------------------------------------------------------------------- # Main program: #------------------------------------------------------------------------- TraitSheetApp(TraitsTest()) traitsui-7.2.1/integrationtests/ui/enum_editor_test.py0000644000076500000240000000345214046644454023761 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! #------------------------------------------------------------------------- # Imports: #------------------------------------------------------------------------- from traits.api \ import HasTraits, Trait, Enum, Range from traitsui.api \ import View, Item, EnumEditor #------------------------------------------------------------------------- # Trait definitions: #------------------------------------------------------------------------- values = ['one', 'two', 'three', 'four'] enum = Enum(*values) range = Range(1, 4) #------------------------------------------------------------------------- # 'TestEnumEditor' class: #------------------------------------------------------------------------- class TestEnumEditor(HasTraits): #------------------------------------------------------------------------- # Trait definitions: #------------------------------------------------------------------------- value = Trait(1, enum, range) other_value = Range(0, 4) trait_view = View( Item('value', editor=EnumEditor(values=values, evaluate=int)), Item('other_value'), resizable=True, ) #------------------------------------------------------------------------- # Run the test: #------------------------------------------------------------------------- if __name__ == '__main__': test = TestEnumEditor() test.configure_traits() test.print_traits() traitsui-7.2.1/integrationtests/ui/instance_editor_test5.py0000644000076500000240000000670314046644454024710 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! from traits.api import * from traitsui.api import * from traitsui.instance_choice \ import InstanceChoice, InstanceFactoryChoice #------------------------------------------------------------------------- # 'Person' class: #------------------------------------------------------------------------- class Person(HasStrictTraits): #------------------------------------------------------------------------- # Trait definitions: #------------------------------------------------------------------------- name = Str() age = Int() phone = Regex(value='000-0000', regex='\d\d\d[-]\d\d\d\d') #------------------------------------------------------------------------- # Traits view definition: #------------------------------------------------------------------------- traits_view = View('name~', 'age~', 'phone~') edit_view = View('name', 'age', 'phone') #------------------------------------------------------------------------- # Sample data: #------------------------------------------------------------------------- people = [ Person(name='Dave', age=39, phone='555-1212'), Person(name='Mike', age=28, phone='555-3526'), Person(name='Joe', age=34, phone='555-6943'), Person(name='Tom', age=22, phone='555-7586'), Person(name='Dick', age=63, phone='555-3895'), Person(name='Harry', age=46, phone='555-3285'), Person(name='Sally', age=43, phone='555-8797'), Person(name='Fields', age=31, phone='555-3547') ] #------------------------------------------------------------------------- # 'Team' class: #------------------------------------------------------------------------- class Team(HasStrictTraits): #------------------------------------------------------------------------- # Trait definitions: #------------------------------------------------------------------------- name = Str() captain = Instance(Person) roster = List(Person) #------------------------------------------------------------------------- # Traits view definitions: #------------------------------------------------------------------------- traits_view = View([['name', '_', Item('captain@', editor=InstanceEditor(name='roster', editable=False, values=[ InstanceFactoryChoice( klass=Person, name='Non player', view='edit_view')])), '_'], ['captain@', '|<>']]) #------------------------------------------------------------------------- # Run the test: #------------------------------------------------------------------------- if __name__ == '__main__': t = Team(name='Vultures', captain=people[0], roster=people) t.configure_traits() traitsui-7.2.1/integrationtests/ui/large_range_editor.py0000644000076500000240000000324214046644454024221 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! from traits.api import HasTraits, Float, List from traitsui.api import View, Item, RangeEditor # Tests the Large Range Slider editor. It also tests the case where the # editor is embedded in a list. class TestRangeEditor(HasTraits): x = Float() low = Float(123.123) high = Float(1123.123) list = List(Float( editor=RangeEditor(low_name='low', high_name='high', # These force the large range # slider to be used. low=100.0, high=10000.123) ) ) view = View(Item(name='x', editor=RangeEditor(low_name='low', high_name='high', # These force the large range # slider to be used. low=100.0, high=10000.123) ), Item('list'), resizable=True ) def test(): a = TestRangeEditor() a.x = 500 a.list.append(500) a.edit_traits() # Just close the resulting dialog. assert a.x == 500 assert a.list[0] == 500 test() traitsui-7.2.1/integrationtests/ui/table_list_editor_test.py0000644000076500000240000000572714046644454025146 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! """ TableEditor test case for Traits UI which tests editing of lists instead of editing of objects.""" #------------------------------------------------------------------------- # Imports: #------------------------------------------------------------------------- from traits.api \ import HasStrictTraits, List from traitsui.api \ import View, Item, TableEditor from traitsui.table_column \ import ListColumn from traitsui.table_filter \ import TableFilter #------------------------------------------------------------------------- # Sample data: #------------------------------------------------------------------------- people = [ ['Dave', 39, '555-1212'], ['Mike', 28, '555-3526'], ['Joe', 34, '555-6943'], ['Tom', 22, '555-7586'], ['Dick', 63, '555-3895'], ['Harry', 46, '555-3285'], ['Sally', 43, '555-8797'], ['Fields', 31, '555-3547'] ] #------------------------------------------------------------------------- # Table editor definition: #------------------------------------------------------------------------- table_editor = TableEditor( columns=[ListColumn(index=0, label='Name'), ListColumn(index=1, label='Age'), ListColumn(index=2, label='Phone')], editable=False, show_column_labels=True, # ) #------------------------------------------------------------------------- # 'TableTest' class: #------------------------------------------------------------------------- class TableTest(HasStrictTraits): #------------------------------------------------------------------------- # Trait definitions: #------------------------------------------------------------------------- people = List() #------------------------------------------------------------------------- # Traits view definitions: #------------------------------------------------------------------------- traits_view = View([Item('people', editor=table_editor, resizable=True), '|[]<>'], title='Table Editor Test', width=.17, height=.23, buttons=['OK', 'Cancel'], kind='live') #------------------------------------------------------------------------- # Run the tests: #------------------------------------------------------------------------- if __name__ == '__main__': tt = TableTest(people=people) tt.configure_traits() for p in tt.people: print(p) print('--------------') traitsui-7.2.1/integrationtests/ui/instance_editor_test2.py0000644000076500000240000000575214046644454024710 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! from traits.api import * from traitsui.api import * from traitsui.instance_choice \ import InstanceChoice, InstanceFactoryChoice #------------------------------------------------------------------------- # 'Person' class: #------------------------------------------------------------------------- class Person(HasStrictTraits): #------------------------------------------------------------------------- # Trait definitions: #------------------------------------------------------------------------- name = Str() age = Int() phone = Regex(value='000-0000', regex='\d\d\d[-]\d\d\d\d') #------------------------------------------------------------------------- # Traits view definition: #------------------------------------------------------------------------- traits_view = View('name', 'age', 'phone') #------------------------------------------------------------------------- # Sample data: #------------------------------------------------------------------------- people = [ Person(name='Dave', age=39, phone='555-1212'), Person(name='Mike', age=28, phone='555-3526'), Person(name='Joe', age=34, phone='555-6943'), Person(name='Tom', age=22, phone='555-7586'), Person(name='Dick', age=63, phone='555-3895'), Person(name='Harry', age=46, phone='555-3285'), Person(name='Sally', age=43, phone='555-8797'), Person(name='Fields', age=31, phone='555-3547') ] #------------------------------------------------------------------------- # 'Team' class: #------------------------------------------------------------------------- class Team(HasStrictTraits): #------------------------------------------------------------------------- # Trait definitions: #------------------------------------------------------------------------- name = Str() captain = Instance(Person) roster = List(Instance(Person)) #------------------------------------------------------------------------- # Traits view definitions: #------------------------------------------------------------------------- traits_view = View( 'name', '_', Item( 'captain@', editor=InstanceEditor( name='roster', values=[ InstanceFactoryChoice( klass=Person, name='Non player')]))) #------------------------------------------------------------------------- # Run the test: #------------------------------------------------------------------------- if __name__ == '__main__': Team(name='Vultures', captain=people[0], roster=people).configure_traits() traitsui-7.2.1/integrationtests/ui/enum_dynamic_test.py0000644000076500000240000000166714046644454024125 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! from traits.api import * from traitsui.api import * def evaluate_value(v): print('evaluate_value', v) return str(v) class Team(HasTraits): captain = Str('Dick') players = List(['Tom', 'Dick', 'Harry', 'Sally'], Str) captain_editor = EnumEditor(name='players', evaluate=evaluate_value) view = View(Item('captain', editor=captain_editor), '_', 'players@', height=200) if __name__ == '__main__': team = Team() team.configure_traits() team.print_traits() traitsui-7.2.1/integrationtests/ui/instance_drag_test.py0000644000076500000240000001621114046644454024245 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! #------------------------------------------------------------------------- # Imports: #------------------------------------------------------------------------- from traits.api \ import HasTraits, Str, Regex, List, Instance from traitsui.api \ import TreeEditor, TreeNode, View, Group, Item, Handler, InstanceEditor from traitsui.instance_choice \ import InstanceDropChoice from traitsui.menu \ import Menu, Action, Separator from traitsui.editors.tree_editor \ import NewAction, CopyAction, CutAction, PasteAction, DeleteAction, \ RenameAction #------------------------------------------------------------------------- # 'Employee' class: #------------------------------------------------------------------------- class Employee(HasTraits): name = Str('') title = Str() phone = Regex(regex=r'\d\d\d-\d\d\d\d') view = View('title', 'phone') def default_title(self): self.title = 'Senior Engineer' #------------------------------------------------------------------------- # 'Department' class: #------------------------------------------------------------------------- class Department(HasTraits): name = Str('') employees = List(Employee) view = View(['employees', '|<>']) #------------------------------------------------------------------------- # 'Company' class: #------------------------------------------------------------------------- class Company(HasTraits): name = Str('') departments = List(Department) employees = List(Employee) #------------------------------------------------------------------------- # 'Partner' class: #------------------------------------------------------------------------- class Partner(HasTraits): name = Str('') company = Instance(Company) eom = Instance(Employee) dom = Instance(Department) #------------------------------------------------------------------------- # Create a hierarchy: #------------------------------------------------------------------------- jason = Employee( name='Jason', title='Sr. Engineer', phone='536-1057') mike = Employee( name='Mike', title='Sr. Engineer', phone='536-1057') dave = Employee( name='Dave', title='Sr. Engineer', phone='536-1057') martin = Employee( name='Martin', title='Sr. Engineer', phone='536-1057') duncan = Employee( name='Duncan', title='Sr. Engineer') partner = Partner( name='eric', company=Company( name='Enthought, Inc.', departments=[ Department( name='Business', employees=[jason, mike] ), Department( name='Scientific', employees=[dave, martin, duncan] ) ], employees=[dave, martin, mike, duncan, jason] ) ) #------------------------------------------------------------------------- # Define the tree trait editor: #------------------------------------------------------------------------- no_view = View() tree_editor = TreeEditor( editable=False, nodes=[ TreeNode(node_for=[Company], auto_open=True, children='', label='name', view=View(['name', '|<'])), TreeNode(node_for=[Company], auto_open=True, children='departments', label='=Departments', view=no_view, add=[Department]), TreeNode(node_for=[Company], auto_open=True, children='employees', label='=Employees', view=no_view, add=[Employee]), TreeNode(node_for=[Department], auto_open=True, children='employees', label='name', menu=Menu(NewAction, Separator(), DeleteAction, Separator(), RenameAction, Separator(), CopyAction, CutAction, PasteAction), view=View(['name', '|<']), add=[Employee]), TreeNode(node_for=[Employee], auto_open=True, label='name', menu=Menu(NewAction, Separator(), Action(name='Default title', action='object.default_title'), Action(name='Department', action='handler.employee_department(editor,object)'), Separator(), CopyAction, CutAction, PasteAction, Separator(), DeleteAction, Separator(), RenameAction), view=View(['name', 'title', 'phone', '|<'])) ] ) #------------------------------------------------------------------------- # 'TreeHandler' class: #------------------------------------------------------------------------- class TreeHandler(Handler): def employee_department(self, editor, object): dept = editor.get_parent(object) print('%s works in the %s department.' % (object.name, dept.name)) #------------------------------------------------------------------------- # Define the View to use: #------------------------------------------------------------------------- view = View( Group( [Item('company', editor=tree_editor, resizable=True), '|<>'], Group( ['{Employee of the Month}@', Item('eom@', editor=InstanceEditor(values=[ InstanceDropChoice(klass=Employee, selectable=True)]), resizable=True), '|<>'], ['{Department of the Month}@', Item('dom@', editor=InstanceEditor(values=[ InstanceDropChoice(klass=Department)]), resizable=True), '|<>'], show_labels=False, layout='split'), orientation='horizontal', show_labels=False, layout='split'), title='Company Structure', handler=TreeHandler(), buttons=['OK', 'Cancel'], resizable=True, width=.5, height=.5 ) #------------------------------------------------------------------------- # Edit it: #------------------------------------------------------------------------- if __name__ == '__main__': partner.configure_traits(view=view) traitsui-7.2.1/integrationtests/ui/table_editor_color_test.py0000644000076500000240000000456414046644454025307 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! #------------------------------------------------------------------------- # Imports: #------------------------------------------------------------------------- from traits.api \ import HasTraits, List from traitsui.api \ import View, Item, TableEditor from traitsui.color_column \ import ColorColumn from enable.api \ import ColorTrait class Thingy(HasTraits): color = ColorTrait('black') #------------------------------------------------------------------------- # Sample data: #------------------------------------------------------------------------- colors = [ Thingy(color='red'), Thingy(color='orange'), Thingy(color='yellow'), Thingy(color='green'), Thingy(color='blue'), Thingy(color='indigo'), Thingy(color='violet'), Thingy(color='black'), Thingy(color='white'), ] class TableTest(HasTraits): #------------------------------------------------------------------------- # Trait definitions: #------------------------------------------------------------------------- colors = List(Thingy) table_editor = TableEditor( columns=[ColorColumn(name='color'), ], editable=True, deletable=True, sortable=True, # sort_model=True, show_lines=True, # orientation='vertical', show_column_labels=True, # row_factory=Thingy ) traits_view = View( [Item('colors', id='colors', editor=table_editor), '|[]<>'], title='Table Editor Test', id='traitsui.tests.table_editor_color_test', dock='horizontal', width=.4, height=.3, resizable=True, kind='live') #------------------------------------------------------------------------- # Run the tests: #------------------------------------------------------------------------- if __name__ == '__main__': tt = TableTest(colors=colors) tt.configure_traits() traitsui-7.2.1/integrationtests/ui/instance_editor_test6.py0000644000076500000240000000662614046644454024715 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! from traits.api import * from traitsui.api import * from traitsui.instance_choice \ import InstanceChoice, InstanceFactoryChoice #------------------------------------------------------------------------- # 'Person' class: #------------------------------------------------------------------------- class Person(HasStrictTraits): #------------------------------------------------------------------------- # Trait definitions: #------------------------------------------------------------------------- name = Str() age = Int() phone = Regex(value='000-0000', regex='\d\d\d[-]\d\d\d\d') #------------------------------------------------------------------------- # Traits view definition: #------------------------------------------------------------------------- traits_view = View('name', 'age', 'phone', buttons=['OK', 'Cancel']) #------------------------------------------------------------------------- # Sample data: #------------------------------------------------------------------------- people = [ Person(name='Dave', age=39, phone='555-1212'), Person(name='Mike', age=28, phone='555-3526'), Person(name='Joe', age=34, phone='555-6943'), Person(name='Tom', age=22, phone='555-7586'), Person(name='Dick', age=63, phone='555-3895'), Person(name='Harry', age=46, phone='555-3285'), Person(name='Sally', age=43, phone='555-8797'), Person(name='Fields', age=31, phone='555-3547') ] #------------------------------------------------------------------------- # 'Team' class: #------------------------------------------------------------------------- class Team(HasStrictTraits): #------------------------------------------------------------------------- # Trait definitions: #------------------------------------------------------------------------- name = Str() captain = Instance(Person) roster = List(Person) #------------------------------------------------------------------------- # Traits view definitions: #------------------------------------------------------------------------- traits_view = View(['name', '_', Item('captain', editor=InstanceEditor(name='roster', label='Edit...', values=[ InstanceFactoryChoice( klass=Person, name='Non player', view='edit_view')]))], buttons=['OK', 'Cancel']) #------------------------------------------------------------------------- # Run the test: #------------------------------------------------------------------------- if __name__ == '__main__': Team(name='Vultures', captain=people[0], roster=people).configure_traits() traitsui-7.2.1/integrationtests/ui/test_ui2.py0000644000076500000240000001541114046644454022144 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! #------------------------------------------------------------------------- # Imports: #------------------------------------------------------------------------- import wx from kiva.traits.kiva_font_trait \ import KivaFont from enable.traits.api \ import RGBAColor from traits.api \ import Trait, HasTraits, Str, Int, Range, List, Event, Bool from traitsui.api \ import View, Handler, Item, CheckListEditor, ButtonEditor, FileEditor, \ DirectoryEditor, ImageEnumEditor #------------------------------------------------------------------------- # Constants: #------------------------------------------------------------------------- origin_values = ['top left', 'top right', 'bottom left', 'bottom right'] #------------------------------------------------------------------------- # 'PersonHandler' class: #------------------------------------------------------------------------- class PersonHandler(Handler): def object_zip_changed(self, info): obj = info.object enabled = (obj.zip >= 10000) info.street.enabled = enabled info.city.enabled = enabled info.state.enabled = enabled if obj.zip == 78664: obj.street = '901 Morning View Place' obj.city = 'Round Rock' obj.state = 'Texas' def object_call_changed(self, info): print('You called?') #------------------------------------------------------------------------- # 'WizardHandler' class: #------------------------------------------------------------------------- class WizardHandler(Handler): def object_sex_changed(self, info): if info.object.sex == 'Female': info.p1.next = 'p3' else: info.p1.next = 'p2' info.p2.next = None def object_name_changed(self, info): info.p2.enabled = info.p3.enabled = (info.object.name != '') if not info.p2.enabled: info.p2.msg = info.p3.msg = 'You must enter a valid name.' #------------------------------------------------------------------------- # 'Employer' class: #------------------------------------------------------------------------- class Employer(HasTraits): #------------------------------------------------------------------------- # Trait definitions: #------------------------------------------------------------------------- company = Str() boss = Str() view = View('company', 'boss') #------------------------------------------------------------------------- # 'Person' class #------------------------------------------------------------------------- class Person(HasTraits): #------------------------------------------------------------------------- # Trait definitions: #------------------------------------------------------------------------- name = Str('David Morrill') age = Int(39) sex = Trait('Male', 'Female') coolness = Range(0.0, 10.0, 10.0) number = Trait(1, Range(1, 6), 'one', 'two', 'three', 'four', 'five', 'six') human = Bool(True) employer = Trait(Employer(company='Enthought, Inc.', boss='eric')) eye_color = RGBAColor set = List(editor=CheckListEditor( values=['one', 'two', 'three', 'four'], cols=4)) font = KivaFont street = Str() city = Str() state = Str() zip = Int(78663) password = Str() books = List(Str, ['East of Eden', 'The Grapes of Wrath', 'Of Mice and Men']) call = Event(0, editor=ButtonEditor(label='Click to call')) info = Str(editor=FileEditor()) location = Str(editor=DirectoryEditor()) origin = Trait(editor=ImageEnumEditor(values=origin_values, suffix='_origin', cols=4, klass=Employer), *origin_values) nm = Item('name', enabled_when='object.age >= 21') pw = Item('password', defined_when='object.zip == 78664') view = View(((nm, 'age', 'coolness', '_', 'eye_color', 'eye_color@', 'eye_color*', 'eye_color~', '_', 'font', 'font@', 'font*', 'font~', '_', 'set', 'set@', 'set*', 'set~', '_', 'sex', 'sex@', 'sex*', 'sex~', '_', 'human', 'human@', 'human*', 'human~', '_', 'number', 'number@', 'number*', 'number~', '_', 'books', '_', 'books@', '_', 'books*', '_', 'books~', '_', 'info', 'location', 'origin', 'origin@', 'call', 'employer', 'employer[]@', 'employer*', 'employer~', pw, '|<[Person:]'), (' ', 'street', 'city', 'state', 'zip', '|<[Address:]'), (nm, nm, nm, nm, nm, nm, nm, nm, nm, nm, nm, nm, nm, nm, '|<[Names:]'), '|'), title='Traits 2 User Interface Test', handler=PersonHandler(), buttons=['Apply', 'Revert', 'Undo', 'OK'], height=0.5) wizard = View(('|p1:', 'name', 'age', 'sex'), ('|p2:', 'street', 'city', 'state', 'zip'), ('|p3:', 'eye_color', 'origin', 'human'), handler=WizardHandler()) #------------------------------------------------------------------------- # 'TraitSheetApp' class: #------------------------------------------------------------------------- class TraitSheetApp(wx.App): #------------------------------------------------------------------------- # Initialize the object: #------------------------------------------------------------------------- def __init__(self, object): self.object = object wx.InitAllImageHandlers() wx.App.__init__(self, 1, 'debug.log') self.MainLoop() object.print_traits() #------------------------------------------------------------------------- # Handle application initialization: #------------------------------------------------------------------------- def OnInit(self): #ui = self.object.edit_traits( 'view', kind = 'live' ) ui = self.object.edit_traits('wizard', kind='wizard') self.SetTopWindow(ui.control) return True #------------------------------------------------------------------------- # Main program: #------------------------------------------------------------------------- TraitSheetApp(Person()) traitsui-7.2.1/integrationtests/ui/set_dynamic_test.py0000644000076500000240000000154214046644454023744 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! from traits.api import * from traitsui.api import * class Team(HasTraits): batting_order = List(Str) roster = List(['Tom', 'Dick', 'Harry', 'Sally'], Str) view = View(Item('batting_order', editor=SetEditor(name='roster', ordered=True)), '_', 'roster@', height=500, resizable=True) if __name__ == '__main__': Team().configure_traits() traitsui-7.2.1/integrationtests/ui/test_ui3.py0000644000076500000240000000507414046644454022151 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! #------------------------------------------------------------------------- # Imports: #------------------------------------------------------------------------- import wx from traits.api import Trait, HasTraits, Str, Int from traitsui.api import Color, View, Group #------------------------------------------------------------------------- # Model/View classes: #------------------------------------------------------------------------- class Employer(HasTraits): company = Str() boss = Str() view = View('company', 'boss') class Person(HasTraits): name = Str('David Morrill') age = Int(39) view = View('name', '', 'age', kind='modal') class ExtraPerson(Person): sex = Trait('Male', 'Female') eye_color = Color extra = Group('sex', 'eye_color') class LocatedPerson(Person): street = Str() city = Str() state = Str() zip = Int(78663) extra = Group('street', 'city', 'state', 'zip') class EmployedPerson(LocatedPerson): employer = Trait(Employer(company='Enthought, Inc.', boss='eric')) extra = Group('employer', '') #------------------------------------------------------------------------- # 'TraitSheetApp' class: #------------------------------------------------------------------------- class TraitSheetApp(wx.App): #------------------------------------------------------------------------- # Initialize the object: #------------------------------------------------------------------------- def __init__(self): wx.InitAllImageHandlers() wx.App.__init__(self, 1, 'debug.log') self.MainLoop() #------------------------------------------------------------------------- # Handle application initialization: #------------------------------------------------------------------------- def OnInit(self): Person().edit_traits() ExtraPerson().edit_traits() LocatedPerson().edit_traits() EmployedPerson().edit_traits() return True #------------------------------------------------------------------------- # Main program: #------------------------------------------------------------------------- TraitSheetApp() traitsui-7.2.1/integrationtests/ui/table_editor_test.py0000644000076500000240000001736214046644454024111 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! #------------------------------------------------------------------------- # Imports: #------------------------------------------------------------------------- from traits.api \ import HasStrictTraits, Str, Int, Regex, List, Instance from traitsui.api \ import View, Group, Item, TableEditor, EnumEditor from traitsui.table_column \ import ObjectColumn from traitsui.table_filter \ import TableFilter, RuleTableFilter, RuleFilterTemplate, \ MenuFilterTemplate, EvalFilterTemplate #------------------------------------------------------------------------- # 'Person' class: #------------------------------------------------------------------------- class Person(HasStrictTraits): #------------------------------------------------------------------------- # Trait definitions: #------------------------------------------------------------------------- name = Str() age = Int() phone = Regex(value='000-0000', regex='\d\d\d[-]\d\d\d\d') state = Str() #------------------------------------------------------------------------- # Traits view definition: #------------------------------------------------------------------------- traits_view = View('name', 'age', 'phone', 'state', title='Create new person', width=0.18, buttons=['OK', 'Cancel']) #------------------------------------------------------------------------- # Sample data: #------------------------------------------------------------------------- people = [ Person(name='Dave', age=39, phone='555-1212'), Person(name='Mike', age=28, phone='555-3526'), Person(name='Joe', age=34, phone='555-6943'), Person(name='Tom', age=22, phone='555-7586'), Person(name='Dick', age=63, phone='555-3895'), Person(name='Harry', age=46, phone='555-3285'), Person(name='Sally', age=43, phone='555-8797'), Person(name='Fields', age=31, phone='555-3547') ] #------------------------------------------------------------------------- # 'AgeFilter' class: #------------------------------------------------------------------------- class AgeFilter(TableFilter): #------------------------------------------------------------------------- # Trait definitions: #------------------------------------------------------------------------- name = "Age filter" _name = "Age filter" age = Int(0) #------------------------------------------------------------------------- # Traits view definitions: #------------------------------------------------------------------------- #filter_view = Group( 'age{Age >=}' ) #------------------------------------------------------------------------- # Returns whether an object passes the filter or not: #------------------------------------------------------------------------- def filter(self, person): """ Returns whether an object passes the filter or not. """ return (person.age >= self.age) #------------------------------------------------------------------------- # Returns a user readable description of what the filter does: #------------------------------------------------------------------------- def description(self): """ Returns a user readable description of what the filter does. """ return 'Age >= %d' % self.age def _age_changed(self, old, new): self.name = self.description() print('AgeFilter _age_changed', self.name) #------------------------------------------------------------------------- # 'NameFilter' class: #------------------------------------------------------------------------- class NameFilter(TableFilter): #------------------------------------------------------------------------- # Trait definitions: #------------------------------------------------------------------------- mname = Str() #------------------------------------------------------------------------- # Traits view definitions: #------------------------------------------------------------------------- filter_view = Group('mname{Name contains}') #------------------------------------------------------------------------- # Returns whether an object passes the filter or not: #------------------------------------------------------------------------- def filter(self, person): """ Returns whether an object passes the filter or not. """ return (person.name.lower().find(self.mname.lower()) >= 0) #------------------------------------------------------------------------- # Returns a user readable description of what the filter does: #------------------------------------------------------------------------- def description(self): """ Returns a user readable description of what the filter does. """ return "Name contains '%s'" % self.mname #------------------------------------------------------------------------- # Table editor definition: #------------------------------------------------------------------------- filters = [ AgeFilter( age=30), NameFilter( mname='d'), EvalFilterTemplate, MenuFilterTemplate, RuleFilterTemplate, ] def evaluate_value(v): print('evaluate_value', v) return str(v) #------------------------------------------------------------------------- # 'TableTest' class: #------------------------------------------------------------------------- class TableTest(HasStrictTraits): #------------------------------------------------------------------------- # Trait definitions: #------------------------------------------------------------------------- #people = Instance( Person ) people = List(Person) #------------------------------------------------------------------------- # Traits view definitions: #------------------------------------------------------------------------- _valid_states = List(["AL", "AR", "AZ", "AK"]) _state_editor = EnumEditor( name="_valid_states", evaluate=evaluate_value, object='table_editor_object' ) table_editor = TableEditor( columns=[ObjectColumn(name='name'), ObjectColumn(name='age'), ObjectColumn(name='phone'), ObjectColumn(name='state', editor=_state_editor), ], editable=True, deletable=True, sortable=True, sort_model=True, show_lines=True, orientation='vertical', show_column_labels=True, edit_view=View(['name', 'age', 'phone', 'state', '|[]'], resizable=True), filter=None, filters=filters, row_factory=Person ) traits_view = View( [Item('people', id='people', editor=table_editor), '|[]<>'], title='Table Editor Test', id='traitsui.tests.table_editor_test', dock='horizontal', width=.4, height=.3, resizable=True, kind='live') #------------------------------------------------------------------------- # Run the tests: #------------------------------------------------------------------------- if __name__ == '__main__': tt = TableTest(people=people) tt.configure_traits() for p in tt.people: p.print_traits() print('--------------') traitsui-7.2.1/integrationtests/ui/instance_editor_test3.py0000644000076500000240000000561014046644454024702 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! from traits.api import * from traitsui.api import * from traitsui.instance_choice import InstanceChoice #------------------------------------------------------------------------- # 'Person' class: #------------------------------------------------------------------------- class Person(HasStrictTraits): #------------------------------------------------------------------------- # Trait definitions: #------------------------------------------------------------------------- name = Str() age = Int() phone = Regex(value='000-0000', regex='\d\d\d[-]\d\d\d\d') #------------------------------------------------------------------------- # Traits view definition: #------------------------------------------------------------------------- traits_view = View('name', 'age', 'phone') #------------------------------------------------------------------------- # Sample data: #------------------------------------------------------------------------- people = [ Person(name='Dave', age=39, phone='555-1212'), Person(name='Mike', age=28, phone='555-3526'), Person(name='Joe', age=34, phone='555-6943'), Person(name='Tom', age=22, phone='555-7586'), Person(name='Dick', age=63, phone='555-3895'), Person(name='Harry', age=46, phone='555-3285'), Person(name='Sally', age=43, phone='555-8797'), Person(name='Fields', age=31, phone='555-3547') ] #------------------------------------------------------------------------- # 'Team' class: #------------------------------------------------------------------------- class Team(HasStrictTraits): #------------------------------------------------------------------------- # Trait definitions: #------------------------------------------------------------------------- name = Str() captain = Instance(Person) roster = List(Person) #------------------------------------------------------------------------- # Traits view definitions: #------------------------------------------------------------------------- traits_view = View('name', '_', Item('captain@', editor=InstanceEditor(name='roster')), '_', 'roster') #------------------------------------------------------------------------- # Run the test: #------------------------------------------------------------------------- if __name__ == '__main__': Team(name='Vultures', captain=people[0], roster=people).configure_traits() traitsui-7.2.1/integrationtests/ui/array_editor_test.py0000644000076500000240000000334614046644454024135 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! #------------------------------------------------------------------------- # Imports: #------------------------------------------------------------------------- from traits.api \ import HasPrivateTraits, Array from traitsui.api \ import View, ArrayEditor #------------------------------------------------------------------------- # 'Test' class: #------------------------------------------------------------------------- class Test(HasPrivateTraits): #------------------------------------------------------------------------- # Trait definitions: #------------------------------------------------------------------------- three = Array(int, (3, 3)) four = Array(float, (4, 4), editor=ArrayEditor(width=-50)) #------------------------------------------------------------------------- # Traits view definitions: #------------------------------------------------------------------------- view = View('three', '_', 'three', '_', 'three~', '_', 'four', '_', 'four', '_', 'four~', title='ArrayEditor Test Case', resizable=True) #------------------------------------------------------------------------- # Run the test case: #------------------------------------------------------------------------- if __name__ == '__main__': Test().configure_traits() traitsui-7.2.1/integrationtests/ui/tree_editor_test.py0000644000076500000240000001541214046644454023753 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! """ Test case for the traits tree editor.""" #------------------------------------------------------------------------- # Imports: #------------------------------------------------------------------------- from traits.api import HasTraits, Str, Regex, List, Instance from traitsui.api import TreeEditor, TreeNode, View, Item, VSplit, \ HGroup, Handler, spring from traitsui.menu import Menu, Action, Separator from traitsui.editors.tree_editor import NewAction, CopyAction, \ CutAction, PasteAction, DeleteAction, RenameAction #------------------------------------------------------------------------- # 'Employee' class: #------------------------------------------------------------------------- class Employee(HasTraits): name = Str('') title = Str() phone = Regex(regex=r'\d\d\d-\d\d\d\d') def default_title(self): self.title = 'Senior Engineer' #------------------------------------------------------------------------- # 'Department' class: #------------------------------------------------------------------------- class Department(HasTraits): name = Str('') employees = List(Employee) #------------------------------------------------------------------------- # 'Company' class: #------------------------------------------------------------------------- class Company(HasTraits): name = Str('') departments = List(Department) employees = List(Employee) #------------------------------------------------------------------------- # 'Partner' class: #------------------------------------------------------------------------- class Partner(HasTraits): name = Str('') company = Instance(Company) #------------------------------------------------------------------------- # Create a hierarchy: #------------------------------------------------------------------------- jason = Employee( name='Jason', title='Sr. Engineer', phone='536-1057') mike = Employee( name='Mike', title='Sr. Engineer', phone='536-1057') dave = Employee( name='Dave', title='Sr. Engineer', phone='536-1057') martin = Employee( name='Martin', title='Sr. Engineer', phone='536-1057') duncan = Employee( name='Duncan', title='Sr. Engineer') partner = Partner( name='eric', company=Company( name='Enthought, Inc.', departments=[ Department( name='Business', employees=[jason, mike] ), Department( name='Scientific', employees=[dave, martin, duncan] ) ], employees=[dave, martin, mike, duncan, jason] ) ) #------------------------------------------------------------------------- # Define the tree trait editor: #------------------------------------------------------------------------- no_view = View() tree_editor = TreeEditor( nodes=[ TreeNode(node_for=[Company], auto_open=True, children='', label='name', view=View(['name', '|<'])), TreeNode(node_for=[Company], auto_open=True, children='departments', label='=Departments', view=no_view, add=[Department]), TreeNode(node_for=[Company], auto_open=True, children='employees', label='=Employees', view=no_view, add=[Employee]), TreeNode(node_for=[Department], auto_open=True, children='employees', label='name', menu=Menu(NewAction, Separator(), DeleteAction, Separator(), RenameAction, Separator(), CopyAction, CutAction, PasteAction), view=View(['name', '|<']), add=[Employee]), TreeNode(node_for=[Employee], auto_open=True, label='name', menu=Menu(NewAction, Separator(), Action(name='Default title', action='object.default_title'), Action(name='Department', action='handler.employee_department(editor,object)'), Separator(), CopyAction, CutAction, PasteAction, Separator(), DeleteAction, Separator(), RenameAction), view=View(VSplit(HGroup('3', 'name'), HGroup('9', 'title'), HGroup('phone'), spring, id='vsplit'), id='traitsui.test.tree_editor_test.employee', dock='vertical')) ] ) #------------------------------------------------------------------------- # 'TreeHandler' class: #------------------------------------------------------------------------- class TreeHandler(Handler): def employee_department(self, editor, object): dept = editor.get_parent(object) print('%s works in the %s department.' % (object.name, dept.name)) #------------------------------------------------------------------------- # Define the View to use: #------------------------------------------------------------------------- view = View([Item(name='company', id='company', editor=tree_editor, resizable=True), '|<>'], title='Company Structure', id='traitsui.tests.tree_editor_test', dock='horizontal', drop_class=HasTraits, handler=TreeHandler(), buttons=['Undo', 'OK', 'Cancel'], resizable=True, width=.3, height=.3) #------------------------------------------------------------------------- # Edit it: #------------------------------------------------------------------------- if __name__ == '__main__': partner.configure_traits(view=view) traitsui-7.2.1/integrationtests/ui/code_editor_test.py0000644000076500000240000000525514046644454023732 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! """ Test using a KeyBindings object with the traits CodeEditor.""" #------------------------------------------------------------------------- # Imports: #------------------------------------------------------------------------- from traits.api \ import HasPrivateTraits, Code, Str from traitsui.api \ import View, Item, Handler, CodeEditor from traitsui.key_bindings \ import KeyBinding, KeyBindings #------------------------------------------------------------------------- # Define a KeyBindings object: #------------------------------------------------------------------------- key_bindings = KeyBindings( KeyBinding(binding1='Ctrl-s', description='Save to a file', method_name='save_file'), KeyBinding(binding1='Ctrl-r', description='Run script', method_name='run_script'), KeyBinding(binding1='Ctrl-q', description='Edit key bindings', method_name='edit_bindings') ) #------------------------------------------------------------------------- # 'CodeHandler' class: #------------------------------------------------------------------------- class CodeHandler(Handler): def save_file(self, info): info.object.status = "save file" def run_script(self, info): info.object.status = "run script" def edit_bindings(self, info): info.object.status = "edit bindings" key_bindings.edit_traits() #------------------------------------------------------------------------- # 'TestCode' class: #------------------------------------------------------------------------- class TestCode(HasPrivateTraits): code = Code() status = Str() view = View( [Item('code', style='custom', resizable=True, editor=CodeEditor(key_bindings=key_bindings)), 'status~', '|<>'], id='traitsui.tests.test_code_editor.TestCode', title='Sample Code Editor', width=0.4, height=0.4, resizable=True, handler=CodeHandler()) #------------------------------------------------------------------------- # Run the test: #------------------------------------------------------------------------- if __name__ == '__main__': TestCode().configure_traits() traitsui-7.2.1/integrationtests/ui/buttons_test.py0000644000076500000240000000700314046644454023141 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! from traits.api \ import * from traitsui.api \ import * from traitsui.menu \ import * #------------------------------------------------------------------------- # 'Person' class: #------------------------------------------------------------------------- class Person(Handler): #------------------------------------------------------------------------- # Trait definitions: #------------------------------------------------------------------------- name = Str() age = Int() phone = Regex(value='000-0000', regex='\d\d\d[-]\d\d\d\d') notes = Str() #------------------------------------------------------------------------- # Handles the 'Annoy' button being clicked: #------------------------------------------------------------------------- def _annoy_clicked(self, info): self.edit_traits(view=View(title='Annoying', kind='modal', buttons=['OK'])) #------------------------------------------------------------------------- # Run the tests: #------------------------------------------------------------------------- if __name__ == '__main__': AnnoyButton = Action(name='Annoy', tooltip='Click me to be annoyed', enabled_when='age >= 40') person = Person(name='Bill', age=42, phone='555-1212') fields = Group('name', 'age', 'phone', 'notes~') person.notes = ("Should have 6 standard 'live' buttons: Undo, Redo, " "Revert, OK, Cancel, Help") person.configure_traits(view=View(fields, kind='livemodal', buttons=LiveButtons)) person.notes = ("Should have 5 standard 'modal' buttons: Apply, Revert, " "OK, Cancel, Help") person.configure_traits(view=View(fields, buttons=ModalButtons)) person.notes = "Should have 2 standard buttons: OK, Cancel" person.configure_traits( view=View(fields, buttons=[OKButton, CancelButton])) person.notes = "Should have 1 standard button: OK (enabled when age >= 40)" person.configure_traits( view=View(fields, buttons=[Action(name='OK', enabled_when='age >= 40')])) person.notes = "Should have 1 standard button: OK (visible when age >= 40)" person.configure_traits( view=View(fields, buttons=[Action(name='OK', visible_when='age >= 40')])) person.notes = ("Should have 2 standard buttons: OK, Help (defined when " "age >= 50)") person.configure_traits( view=View(fields, buttons=['OK', Action(name='Help', defined_when='age >= 50')])) person.notes = ( "Should have 1 user and 5 standard buttons: Annoy (enabled " "when age >= 40), Apply, Revert, OK, Cancel, Help") person.configure_traits( view=View(fields, buttons=[AnnoyButton] + ModalButtons)) traitsui-7.2.1/integrationtests/ui/list_traits_ui_test.py0000644000076500000240000001101114046644454024473 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! #------------------------------------------------------------------------- # Imports: #------------------------------------------------------------------------- from traits.api \ import HasStrictTraits, Str, Int, Regex, List, Instance from traitsui.api \ import View, Item, VSplit, TableEditor, ListEditor from traitsui.table_column \ import ObjectColumn from traitsui.table_filter \ import TableFilter, RuleTableFilter, RuleFilterTemplate, \ MenuFilterTemplate, EvalFilterTemplate #------------------------------------------------------------------------- # 'Person' class: #------------------------------------------------------------------------- class Person(HasStrictTraits): #------------------------------------------------------------------------- # Trait definitions: #------------------------------------------------------------------------- name = Str() age = Int() phone = Regex(value='000-0000', regex='\d\d\d[-]\d\d\d\d') #------------------------------------------------------------------------- # Traits view definition: #------------------------------------------------------------------------- traits_view = View('name', 'age', 'phone', width=0.18, buttons=['OK', 'Cancel']) #------------------------------------------------------------------------- # Sample data: #------------------------------------------------------------------------- people = [ Person(name='Dave', age=39, phone='555-1212'), Person(name='Mike', age=28, phone='555-3526'), Person(name='Joe', age=34, phone='555-6943'), Person(name='Tom', age=22, phone='555-7586'), Person(name='Dick', age=63, phone='555-3895'), Person(name='Harry', age=46, phone='555-3285'), Person(name='Sally', age=43, phone='555-8797'), Person(name='Fields', age=31, phone='555-3547') ] #------------------------------------------------------------------------- # Table editor definition: #------------------------------------------------------------------------- filters = [EvalFilterTemplate, MenuFilterTemplate, RuleFilterTemplate] table_editor = TableEditor( columns=[ObjectColumn(name='name'), ObjectColumn(name='age'), ObjectColumn(name='phone')], editable=True, deletable=True, sortable=True, sort_model=True, filters=filters, search=RuleTableFilter(), row_factory=Person ) #------------------------------------------------------------------------- # 'ListTraitTest' class: #------------------------------------------------------------------------- class ListTraitTest(HasStrictTraits): #------------------------------------------------------------------------- # Trait definitions: #------------------------------------------------------------------------- people = List(Person) #------------------------------------------------------------------------- # Traits view definitions: #------------------------------------------------------------------------- traits_view = View( VSplit( Item('people', id='table', editor=table_editor), Item('people@', id='list', editor=ListEditor(style='custom', rows=5)), Item('people@', id='notebook', editor=ListEditor(use_notebook=True, deletable=True, export='DockShellWindow', dock_style='tab', page_name='.name')), id='splitter', show_labels=False), title='List Trait Editor Test', id='traitsui.tests.list_traits_ui_test', dock='horizontal', width=.4, height=.6, resizable=True, kind='live') #------------------------------------------------------------------------- # Run the tests: #------------------------------------------------------------------------- if __name__ == '__main__': ListTraitTest(people=people).configure_traits() traitsui-7.2.1/integrationtests/ui/text_editor_invalid.py0000644000076500000240000000226514046644454024451 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! # Test for TextEditor 'invalid' trait. # # Look for: # # background color should be correctly to the error indicating color # whenever the name is invalid (all whitespace). In particular: # # background color should be set at initialization. from traits.api import Bool, HasTraits, Property, Str from traitsui.api import Item, View from traitsui.api import TextEditor class Person(HasTraits): name = Str() invalid = Property(Bool, observe='name') def _get_invalid(self): # Name is valid iff it doesn't consist entirely of whitespace. stripped_name = self.name.strip() return stripped_name == '' traits_view = View( Item('name', editor=TextEditor(invalid='invalid')), ) if __name__ == '__main__': Person().configure_traits() traitsui-7.2.1/integrationtests/test_all_examples.py0000644000076500000240000002647314046644454023510 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! """ Tests for demo and tutorial examples. """ import contextlib import io import os import sys import traceback import unittest from unittest import mock import pkg_resources from traits.api import HasTraits from traitsui.tests._tools import ( BaseTestMixin, is_qt, is_qt5, is_wx, process_cascade_events, requires_toolkit, ToolkitName, ) from traitsui.testing.api import UITester # This test file is not distributed nor is it in a package. HERE = os.path.dirname(__file__) class ExampleSearcher: """ This object collects and reports example files to be tested.""" def __init__(self, source_dirs): """ Parameters ---------- source_dirs : list of str List of directory paths from which Python files will be collected. """ self.source_dirs = source_dirs self.files_may_be_skipped = {} def skip_file_if(self, filepath, condition, reason): """ Mark a file to be skipped for a given condition. Parameters ---------- filepath : str Path of the file which may be skipped from tests. condition: callable() -> bool The condition for skipping a file. reason : str Reason for skipping the file. """ filepath = os.path.abspath(filepath) self.files_may_be_skipped[filepath] = (condition, reason) def is_skipped(self, filepath): """ Return if the Python file should be skipped in test. Parameters ---------- path : str Path to a file. Returns ------- skipped : bool True if the file should be skipped. reason : str Reason why it should be skipped. """ path = os.path.abspath(filepath) if path not in self.files_may_be_skipped: return False, "" condition, reason = self.files_may_be_skipped[path] return condition(), reason def validate(self): """ Validate configuration. Currently this checks all files that may be skipped still exist. """ for filepath in self.files_may_be_skipped: if not os.path.exists(filepath): raise RuntimeError("{} does not exist.".format(filepath)) @staticmethod def _is_python_file(path): """ Return true if the given path is (public) non-test Python file.""" _, basename = os.path.split(path) _, ext = os.path.splitext(basename) return ( ext == ".py" and not basename.startswith("_") and not basename.startswith("test_") ) def get_python_files(self): """ Report Python files to be tested or to be skipped. Returns ------- accepted_files : list of str Python file paths to be tested. skipped_files : (filepath: str, reason: str) Skipped files. First item is the file path, second item is the reason why it is skipped. """ accepted_files = [] skipped_files = [] for source_dir in self.source_dirs: for root, _, files in os.walk(source_dir): for filename in files: path = os.path.abspath(os.path.join(root, filename)) if not self._is_python_file(path): continue skipped, reason = self.is_skipped(path) if skipped: skipped_files.append((path, reason)) else: accepted_files.append(path) # Avoid arbitrary ordering from the OS return sorted(accepted_files), sorted(skipped_files) # ============================================================================= # Configuration # ============================================================================= # Tutorial files are not part of the package data TUTORIALS = os.path.join( HERE, "..", "examples", "tutorials", "doc_examples", "examples", ) # Demo files are part of the package data. DEMO = pkg_resources.resource_filename("traitsui", "examples/demo") #: Explicitly include folders from which example files should be found #: recursively. SOURCE_DIRS = [ DEMO, TUTORIALS, ] SEARCHER = ExampleSearcher(source_dirs=SOURCE_DIRS) SEARCHER.skip_file_if( os.path.join(DEMO, "Advanced", "HDF5_tree_demo.py"), lambda: sys.platform == "darwin", "This example depends on PyTables which may be built to require CPUs with " "a specific AVX version that is not supported on a paricular OSX host.", ) SEARCHER.skip_file_if( os.path.join(DEMO, "Advanced", "Table_editor_with_progress_column.py"), is_wx, "ProgressRenderer is not implemented in wx.", ) SEARCHER.skip_file_if( os.path.join(DEMO, "Advanced", "Scrubber_editor_demo.py"), is_qt, "ScrubberEditor is not implemented in qt.", ) SEARCHER.skip_file_if( os.path.join(DEMO, "Extras", "animated_GIF.py"), lambda: not is_wx(), "Only support wx", ) SEARCHER.skip_file_if( os.path.join(DEMO, "Extras", "Tree_editor_with_TreeNodeRenderer.py"), lambda: not is_qt(), "Only support Qt", ) SEARCHER.skip_file_if( os.path.join(DEMO, "Extras", "windows", "flash.py"), lambda: not is_wx(), "Only support wx", ) SEARCHER.skip_file_if( os.path.join(DEMO, "Extras", "windows", "internet_explorer.py"), lambda: not is_wx(), "Only support wx", ) SEARCHER.skip_file_if( os.path.join(DEMO, "Misc", "demo_group_size.py"), is_wx, "enable tries to import a missing constant. See enthought/enable#307", ) SEARCHER.skip_file_if( os.path.join(DEMO, "Standard_Editors", "VideoEditor_demo.py"), lambda: not is_qt5(), "Only supported on Qt5" ) SEARCHER.skip_file_if( os.path.join(TUTORIALS, "view_multi_object.py"), lambda: True, "Require wx and is blocking.", ) SEARCHER.skip_file_if( os.path.join(TUTORIALS, "view_standalone.py"), lambda: True, "Require wx and is blocking.", ) # Validate configuration. SEARCHER.validate() # ============================================================================= # Test run utility functions # ============================================================================= def replaced_configure_traits( instance, filename=None, view=None, kind=None, edit=True, context=None, handler=None, id="", scrollable=None, **args ): """ Mocked configure_traits to launch then close the GUI. """ ui_kwargs = dict( view=view, parent=None, kind="live", # other options may block the test context=context, handler=handler, id=id, scrollable=scrollable, **args, ) with UITester().create_ui(instance, ui_kwargs): pass @contextlib.contextmanager def replace_configure_traits(): """ Context manager to temporarily replace HasTraits.configure_traits with a mocked version such that GUI launched are closed soon after they are open. """ original_func = HasTraits.configure_traits HasTraits.configure_traits = replaced_configure_traits try: yield finally: HasTraits.configure_traits = original_func def run_file(file_path): """ Execute a given Python file. Parameters ---------- file_path : str File path to be tested. """ with open(file_path, "r", encoding="utf-8") as f: content = f.read() globals = { "__name__": "__main__", "__file__": file_path, } with replace_configure_traits(), \ mock.patch("sys.stdout", new_callable=io.StringIO), \ mock.patch("sys.argv", [file_path]): # Mock stdout: Examples typically print educational information. # They are expected but they should not pollute test output. # Mock argv: Some example reads sys.argv to allow more arguments # But all examples should support being run without additional # arguments. exec(content, globals) # ============================================================================= # load_tests protocol for unittest discover # ============================================================================= def load_tests(loader, tests, pattern): """ Implement load_tests protocol so that when unittest discover is run with this test module, the tests in the demo folder (not a package) are also loaded. See unittest documentation on load_tests """ # Keep all the other loaded tests. suite = unittest.TestSuite() suite.addTests(tests) # Expand the test suite with tests from the examples, assuming # the test for ``group/script.py`` is placed in ``group/tests/`` directory. accepted_files, _ = SEARCHER.get_python_files() test_dirs = set( os.path.join(os.path.dirname(path), "tests") for path in accepted_files ) test_dirs = set(path for path in test_dirs if os.path.exists(path)) for dirpath in sorted(test_dirs): # Test files are scripts too and they demonstrate running the # tests. Mock the run side-effect when we load the test cases. with mock.patch.object(unittest.TextTestRunner, "run"): test_suite = unittest.TestLoader().discover( dirpath, pattern=pattern ) if is_qt() or is_wx(): suite.addTests(test_suite) return suite # ============================================================================= # Test cases # ============================================================================= @requires_toolkit([ToolkitName.qt, ToolkitName.wx]) class TestExample(BaseTestMixin, unittest.TestCase): def setUp(self): BaseTestMixin.setUp(self) def tearDown(self): BaseTestMixin.tearDown(self) def test_run(self): accepted_files, skipped_files = SEARCHER.get_python_files() for file_path in accepted_files: with self.subTest(file_path=file_path): try: run_file(file_path) except Exception as exc: message = "".join( traceback.format_exception(*sys.exc_info()) ) self.fail( "Executing {} failed with exception {}\n {}".format( file_path, exc, message ) ) finally: # Whatever failure, always flush the GUI event queue # before running the next one. process_cascade_events() # Report skipped files for file_path, reason in skipped_files: with self.subTest(file_path=file_path): # make up for unittest not reporting the parameter in skip # message. raise unittest.SkipTest( "{reason} (File: {file_path})".format( reason=reason, file_path=file_path ) ) traitsui-7.2.1/integrationtests/styled_date_editor_test.py0000644000076500000240000000364314046644454024703 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! from datetime import date from traits.etsconfig.api import ETSConfig ETSConfig.toolkit = 'qt4' from traits.api import Date, Dict, HasTraits, List, observe from traitsui.api import View, Item, StyledDateEditor from traitsui.editors.styled_date_editor import CellFormat class Foo(HasTraits): dates = Dict() styles = Dict() fast_dates = List() slow_dates = List() current_date = Date() traits_view = View( Item( "current_date", style="custom", show_label=False, editor=StyledDateEditor( dates_trait="dates", styles_trait="styles"))) def __init__(self, *args, **kw): HasTraits.__init__(self, *args, **kw) self.styles = { "fast": CellFormat(bold=True, fgcolor="darkGreen"), "slow": CellFormat(italics=True, fgcolor="lightGray"), } self.fast_dates = [ date( 2010, 7, 4), date( 2010, 7, 3), date( 2010, 7, 2)] self.slow_dates = [ date( 2010, 6, 28), date( 2010, 6, 27), date( 2010, 6, 24)] @observe("fast_dates,slow_dates") def _update_dates_dict(self, event): self.dates["fast"] = self.fast_dates self.dates["slow"] = self.slow_dates def _current_date_changed(self, old, new): print("Old:", old, "New:", new) def main(): foo = Foo() foo.configure_traits() if __name__ == "__main__": main() traitsui-7.2.1/docs/0000755000076500000240000000000014046644526014737 5ustar aayresstaff00000000000000traitsui-7.2.1/docs/releases/0000755000076500000240000000000014046644526016542 5ustar aayresstaff00000000000000traitsui-7.2.1/docs/releases/README.rst0000644000076500000240000000201614046644454020230 0ustar aayresstaff00000000000000The `upcoming` directory contains news fragments that will be added to the changelog for the NEXT release. Changes that are not of interest to the end-user can skip adding news fragment. Add a news fragment ------------------- Create a new file with a name like ``..rst``, where ```` is a pull request number, and ```` is one of: - ``feature``: New feature - ``bugfix``: Bug fixes - ``deprecation``: Deprecations of public API - ``removal``: Removal of public API - ``doc``: Documentation changes - ``test``: Changes to test suite ('end users' are distribution packagers) - ``build``: Build system changes that affect how the distribution is installed Then write a short sentence in the file that describes the changes for the end users, e.g. in ``123.removal.rst``:: Remove package xyz. Alternatively, use the following command, run from the project root directory and answer the questions:: python etstool.py changelog create (This command requires ``click`` in the environment.) traitsui-7.2.1/docs/traits_ui_slides.pdf0000644000076500000240000242260214046644454021010 0ustar aayresstaff00000000000000%PDF-1.4 %äüöß 2 0 obj <> stream xœuRMkÃ0 ½ûWè\h*ù3h–¶[Á°ÃØ©[7F»±^ö÷'ÙÉÚcI¶%½§‡± øQ߀°Fƒë¬Øó+<®àSÈ:¿)ã‘óNJì‘7§±ç’Y$>çá]VÜ:_ç$Yû“ÚÜŸ,t_°ãç¿ömTaIâ lŽ-ÄCÔÄÕGµKDeåtª¢Sú"L O5j4h›5ÕèÐ'šçøp« yψ†ìu—2WbÕ°3ÌCŽÛdÛdsëñù.2jÇ— x™µ¶ú¯Ça¬Ë|uU‰L®œéT¦zÂÆ1"t ÷d’瓯ɒk¼Ð5,̀ÌA23i'?ÎïÓøÜ1pHŽJª$YÚþcN’aÇL–¦òºp@äx¶ @Mí%gžŽÕÖ"½—Æ2¤4!’8ôòð3lçà·¿¥Ëßr¿Þ¨ù endstream endobj 3 0 obj 337 endobj 5 0 obj <> stream ÿØÿàJFIFÿÛC     ÿÛC   ÿÂ"ÿÄÿÄÿÚ ðP$€  €¢€ªÐpŠ  Ù<7àÖÙ<ÒVÏ<ä±^@ ×naäÙ71ñGYÈéäpy€:LmÜ ­a¾x‹ƒ †¦þ¿67g_&A½b­ÀêùÝÌ„]àMk><ð0d&µa;<^޾2µy›B€á]‹ZÖ)h^Æ>á%èmwËv\l€ÝÁfÆ.ê©z~ezYOz¼Û|®îÛϳKœç¡ñ¨ÐÅëùŒ‘Ò²Ì} ^3w/¼åî`ánæêÇð·¶vrw=O'€ê¹>Ù¸s]MMÍyÍlüÑÊÌÞß™±•^Æ·K_€Úvî®\ »Ü¦9Œjò¶ýŠïx/I;Ά¶;EÍú!ŽÛ̲Ύ·¥S¿äî`äYëv±yÆÕ×^üäõåÏM^'Ð8SWF6Ó-,oGàõ¯s[s‰ØÅ&O[Îèl[ÔÛåºzõ³}Îùùš'qÈŠ ( (€›ºIªpÂÖÉØ:nëK+³@òþGªåd* )wù¼ÿSËtÝ»ÜgSÍf§¥bMk§­cÝç±OYËns˜íÐAC·Ë_4êð»-\µt#æw°sòÁ7šêlw]Úöô0;K™Û8ðð¨lsövö™SS£óËÚ™vSm›XøÞ·ƒëôòóyw«rö•ÜY=CÏ;^¹¡Ûò=5£îQ¯os’¾{èþmÒbµ-ŒŒõæ»ß8í°ÛÎú -®nÇOÅu<–î/Q㺠íí}®¦â5òzO›õÛùkÎeëñº¥ÈÞÚéêdr=oÊÛ™Qy›c𢠗6žÈANÕCgdé;¾Ñ³šônñk¡ç¤qØA£Â ¤QÙBºÎ$ÀȬ+(Vtà×€‘Ê…bÈD÷)]¶B½Jé`"Y…P…&Û0FÙÐdVP…Ò)Yg$ÆÌîõ m” tªG­,VB¼ÎP@^¢ž¼ °êØ®cíân?¤ùϦ¡æ>§äLJalãH'˜€ÞͼSõ&‘<H*( êõƒÑR ­=r ó×2wp·Î§Ô<ÏÔÏKñ¿gñ#Äò´s¤§¹yƧgC ×ù›s®ú'úÂxÎc¢ê°ßÍu–õðcWÐõòù1ìK—Ž—½‹ü8önVñ vŽÀ € "€%ëÊFª ­b¹yë™{ø=×z¯—zÁè^îž xµ+5¤¥çÞå×çüéÚzž®<ž è^yé3z—§˜{¼ßEµ‡Íz,Ã[/I‹‰×lcñO`ó?HÖ˧Âß¿›ŽË Ü^ˆ¨(   €€Ë=T3Áæ‰W=¦½kÈ+X®gt ÙúוzÑÚø¼øâñ9²¯D˜Ö̈µ`Ô¦VÉf¹1£A„Ãݱ™ hƒ^IÖÄ´6TZ\  ÐAP—?¤‚"´Jx’.Ÿ—ë‹•¬Ö ­b±K¢çú¹õÏ(õ³£ðyùüñð$¨€E uÅ•T‚5ü±K<˜wWÆvÄ•¬V «f©CÏôG}ë~SëEÿ÷<¨ ¨€$ƒQÈ"(4PhäAPÑ46Õ ƒ¨”9ƒ‰"˜¾ä{<•¯ZÕ\W­RÝ!:.¢=Ö|«Õȼܼ óP$EÎu½m.rh®êæ~å3?žéåO? ­¹ƒ%ú‘ëeαb9ˆVEµq•âôA@pí‘£è0r G € E›³©¥«ÞUà.e×V"Òo ÞàÉF­Ê˜íRê';Òž‹êž_ê&?†ûO‰x€ͽkÊðˆ”‰^LD÷-lÁŪƒ‚`ˆ”˜keJZ'=dŽ È ˆ9E¶’4„hôŽA¨ä(  €öj#ßfòþ~™l­f[[x Ê»+MÛò}ŽæÒТQÎÑÍ-ô¼çLz?§y§¤œ¿ŒúïÉØqý.Þ ÞníÌ+¥—`Úæ­ÎG½LÍÐ5æ(¤Ôek“ÞL7ç{7¦Åu«-Üøâæz®K[+€ÓÎ (@Ðl­"l¬#l×´j9¢ƒEA #ëË×å¹iëy Mñô…vÙ·–•iÚŒ¬YLW½Õat†F~¦q™—©”hõÏRz?¢ùç œO’ú—•K$Ž@"#,WHÇ¡ É«hÅMʳË·“IV¶ƒ¡Åµ’”ýjÚ+1¤HDÄjçÌBû0ŠJˆ "€(€à@@MfO eadi^Ñ{F£j9ŽAT¸hw+«/ÚóÞæN }™­å¢ç\©–µRü:¹j¥¤5·³¶ <Íœ£'[$Õêùn¬ônó…íŽÌ=#ÌÎB9bô;ë·5î¿ øöŽB³¢Üª=,¼µéŽ’–[/îVìîZåyÙm^Y j‘¾'FÎ'u’¼í\ºužÛÌú8pßw2JVŽ=2/.nRÖr]œý P7#„ š2Ë$i^Ñ­r G4AP@Òò½éÍž`ø¥›…®¦[©^îvzVµ£©ŽrpõiÒÕK)KoèÅpÀÉÜÇ9ÌL³k¬å:ãÐû?«<óͽÎNb#ׄD¡ F¯É2@ˆ”#$ÒP‰dÉ)f+>R&5"Y"P^ äP@Š9â ŽxÈcš2&HÂ6½£öEAPP7²ý®4•ä??íqÄÞ‡ ÒÔ•aÛÂÛUµ5òOIh^±¤¦“!ÖK"˜Ûا!›~‰·Ør=è/5¾yç÷þzs‘½’ÑÅ“>ÿsÑùïAãP}ÌÖ|dô\>—?–4³ºô6 @PEDPPPQQS¥ŽhÈ#š"匉’0’0c\ƒZ戊‘Õö02<ÛWÆDíóvMiÙÅÄÏ…ÃÕ–¯XÚæ€«Kw0ܬaâîâ-Iá7;.?²;½œ]C€óÏ@óîl…OGÒÜÄô}?í9ËŸOGÂ鱩‹œÌê(áßäò»J)æÜ'´yo¤ó˜@z¿.¨(Š"€Øº”*ëú\ÊÒµÒ¼Ü,®Fà«@PPPéâ–"(¥ˆŠ9b#ŽHÆ1ì×4j* ôï1õ©Æ<–®UÙ/>…“²ç÷¹Bä”ä-¾­ÛÖR½Ì•`Ùq]õŸA§r™‡½‚yãQÆïgÇvgk>ÑÃyß¡yÉ”Ç6GÑŸ[«U4ºÈsÙ[üÄMÎG¶âue¨¨D›8Ú¾'bP_´   (Š( Š ((§C‘Å$C"’26>1sµÍ¢='€ï!ô?èÞ:|àè\XÚÅÒ:>_¢æ RÔ”¹fžÆJZ£FX›RV––³­‹¸vpIŸÍô¼Áç7hß7»>;²:¨Ÿ\åüÃÓ<Ô‚5l[Cèÿ>ˆò³Bj'»^ NCè¼ï$»‡'¢UäláÙÚ£Yµ¶o—úg˜ö¸Ø`{_Ž@{¢ ßT4dÊ+›aø‹[ëÃRr@Y‡ÙΕKð>Õ©VÚÕèaÕ¹ÇÖê×ÓÙŸ³ôL3¾àútÙá{žZQ¬€ ¥™¡å³ÛùÞÚ(€(  ((¢8PQÂ*©·‘Å$dq¾1Œs±ÍÕA¨¨"*uÇz >ˆùëè_—O"shOZñ±ÍíaÛ£<ƽ*òÌX–½Èešv:Ô»Ðó/›ÍÕ1XSå:¾DóÝ<ÍS{±ä:ó¥©f‰Íù¿¢yÑÉjûçϾ¥å=G]Áqxv¯ã ìò_f«oM­I5óú—•;[cÖxŒ—îh ®( € \›Tô}\î›êÚ²l.UeÖíFžzœoÖN3©åqKQJ»J×.ЇÌwEQ@PPQAE ª ªkC,DQÉrF1Ž`Ö9£Z戊‚"¡ÙúGŸúŒ=—ä/¯~&9‡6rÎÞI1™›,Q2K „ÒÃ!>Ý-o[¯Í\¡{­õ\§_æstSŽì¸“ƒ×ÇÚ7úîO¬7óïfœï÷Þx ‘e¨cÉV“ZLÒm/è^iÐõ2òè¬Í-K37kLˉ@P ±è½Ÿ è_]çÄë)­hùkÇEåqñRǪ̂º²µß¹Y;b«f´úÖPùf𢂢‚Š (*¨(á8G4aš"¥ŒŠ9##cØ1®hÖ¹¢" ˆ¨z'¬y°Ãоû‡á!/ÐÒ¤ÈÖG0Xí56øy#¿µ«©ÙÕé°r×ót±-öàÇ>6O¢yy!ßñD ¹*Š­‚¢ ^¡ßE·¹ml]iãd÷ÿKòyþX·æsxïw×»…“'³ÁÖ¶=^… ³&û¶ëÀsžÆ½|>ž‡ç¾óTpî…G£ÁèðxðxðyvµÚÅJö +Cb¦ˆ‰’F1®hÖ¹¢w\/¡Ã¼õÏ1ô³å^7n Ù2ö²EÜîoËÐs¯;Öò:ñ6(mØ´Põ¿3ëy7³­‘çòãô|ÿCëðJ"fо?ë~>.öéÒt;Åœ\“æz.vHÕh¢ˆ "‚¢(z®/!ë0ó žû“ǽšþ˧Ðõ~i­ê‘iú,빿VǹäÔ{q~Bº º<œ}L¹¸ö¤ÍÛà_v)½åº“Ï´f=§¨ù̈ú‡Wä­ûOŸMÛLyO=ô=¬±òË~ƒó‰žO¸ã¥«oêŒ>¨ñ›ªø-ø½–ª—„ Ü=ÜmyJ#³2ÆpÐpÄ–O“{/Ž{½QÈÿ]€zqÙËèLN{²°º<,õÐø/AÕîsKUbj×6¸>‰Øqü÷šÍ^ž~—SîÖf¯F­†X 'õ,4÷1w—k`\½<³‡Å×É“QPúsÄwgíV&Šh¼´43ï­ã½Ï ÚœõYëSe¼íž6t:67<î:C/;™šZû¾vwRBûóÜšbr®:tçnØäÜŽ oW…/¢kqryÏuÓúG/'ëqÉÂÈ”/Ôп’QÕÈ´f Ù(ÒJ" 瞇Ãú\»ÑÿEÔW£Å‘$Dt‰(²¤¤PIi  †Xá’"8߯=ƒZæyÈz=[Î}ËOè²:¥— ³±: |Õ¾ä;=OAÈU» dŠÜö¶|ż¬­ËLµ•¹¡Vá[5{ÌýÎ}Ì]Ã¥×ÉÖ›£špyzyÒÐ@Q]ôNã‰î<×Úfš)V—?C>úþ5Øñ½j0«M_ÌYz¬Øåf:ûsòkʱ[‚à_ МðÅÑ7ŸXoLj²ØfPhÛÃíɪip©dZÊýó¼ùÌßD+]ãv&2A=ëÞ.%©îV+çmäLaWµÚ5•Ä}—)Þés£äz¾kKŸŸ"ÉÚô.³“ dõÊ9÷³Ž3éù“s{ xè´ó´JônÐ8:Ö+ÊäŒ\Ž‹ú/qç½/œûúryq“ºÄâñrhÁ·Å[ÍÏÙf[±nh¥F[…U‹Ødh6=œ®ÿÉc¾ QD¿Kµ'ÍÚṜznÓì<‘hÒ¸Tu§Üñ¼Cœù†ïºãxn~õ}¯#ÇjoWÕqüî=êõX¹æý4çÅ[:<ªãžÎÏcºN?C"Ä“Ñát–N•’™“™“Ž“˜5&¬A^jä0É2ÆG‘j´IaÒ=§¬å:ØOã^µäVÙ³«[y7¨ÚØh(¯IEôï5õN_’ÀÜ»Úþס–ÕkgARÕ2†eüÃ…ÁØÈ7w°·ÎƒG?@©FîqÃAb¼ d‘ˆ ŠõE‹èÃR¦¨}EŽqG;­rVÛ9гܓE˜ùçE=B[cïù–¶~W"]¦¨ŠL¢¨\ô¼¼žÞm±Z¢¡ØïYõìÚ‘kÍm)"ɤ+¶ÑY¨—–yÅ9--ÐØ’ö¾ÇHב’Ž•’•“š9‰&dÄ“Ç`ã뾸Êï€d.ˆHÖ9‚5P]Ü>¢¡Øq™•侑åçoB» ©)Žúò&¯9cÐüíyÜ ú³fØWFí½ë³¯›´lÑ(æ^Ì86k›Bo^¥t¥¡šqPX¯(c’1A@Tp*´‰r 9 PAD’—·á4 N¼ÕÓâWÝwø^gç ¿LÑÖÔó®kÒùÞw3Êbõˆzý¿-éº>ë«Û—‹O9êva"€( ¢ƒ‘ÒW"Žr8W£Å{d#$#d+%4sMä“G9,ñÎyýr t#cXÄb´Fª j´waÆwG{Úñ=œ8?êyRõŽsh’ÆdÅ9iN^³NÑ;˜¢ÆD=ÕÜ[ÑÇÓ6¨X¢S˽–phÉ ¾‡ŸèË•-²´òÎB½Šò†9#@QGˆ¢ˆ¢ˆ*ˆ*ˆ*ˆ*ˆ(4pª*¾ µ“»©£¹KÙüw…ç=°ñ¯[àù›üÏIËÄrü¿EÍ`ÖR=+å¿ÏÁÊzeoGÏv»è*ín  ( ¢ƒ‘ÀáG99íxçµãädƒåŽQóG)$ÑÌIFHI,r’K¤³E1,ñNKbÖ!°x³U ÅhŒVˆÕh4@AÓ|ßÑáØôÜþÉóœ¸ÚEÆVizºU.^ÌÐ5.ѼJÇDG]õ… BæÏ=¸hÒ–™N†IÊ^ÏÒ6z.{£6'‚b†>¾9ÌÖ³^PG,b  ˆ¢€ ( *ˆª¢*¨Šå®Qªå¯QŽWEZ®X‚õK:ú¿BjãjüÓä6$ùö§ÃÙÈOÎtòÓ.a+q½Ÿé½{Ö4rªª¢8QTQÎG{=íxù!$±ÊI4SÍijÅ94ðØ&³ƒÄ˜00 ˆ ˆ¨ !ºãzøz)>óó¡RÃé°Ù†¤åí<­CVõ+ÂÃ5r½IéˆØÚZÞæºåI*äèäœîž^±±ÑóÝ«,RqvqNzµšò‚9bEPPQAUDUpŠ®ç(ÕzŒW¨Å‘HÕê†9ËÙ¸°ûþ·3«òߌê?!³mÜÚ´/~kî^Îä‰dÉ2D“'%ÕsƒÔÂ==7¯`ôUªŽW£…{^=ì|Œ’Xä%š)I¦†riàœžÄ ìA`𦠢 KƒÒÃÓxž×Í %²R][&ûÖŒ]{Öå`³B&XR £¤„¬•ˆ²trŒM|“c¢çºQñ¸§‡·„a×±^PG,@ Š (( áAUAÄr¸kœá®s†9î¯q¤R2U"&‰…z…å+ùÏ+ÖÃÉÅZu40ãÉžÚU66n:›¢-­W“ÄõÝèF’&ïB1è4r*ˆ¢ƒ‘¹¯íxéñòÇ!$±ÈK4R“M ÄóÁ9=ˆ',Y¯`ð4DA:ý|ùá»—MF äkG‘¡!JB„Ëåp°WBZ΀+G,ËÙÅÙ7:|ÒV!_kɯb¼¡ŽHÁ@PQÀ£„pàpñ®Êñ¯s†½Îç¸cžâ7Hâ%•Ä+*“„èB“¡2¤ÈB“!giJ„)+HÒD#ƒAA(®k‡=®#>Xä$–)IeŠRiàœšx',O^ÁbÍk€ €€ ¨ Ód­µˆ=¬AèÄŒAèÄŒ£‘„ˆÄ$#Að¬dYš9f~Î.ɽ»‡´h£ZWÂÚÂ3ëÏ^QFö‚Š (ªŽG‡ƒ‡ƒ•â=^#Õâ9ï÷¼ÒW‚XeTUW#…r<é <²õGºA¯{Æ=ï#t®"YœBN¤á\°…vÙB²Xi]¶Wm†Ùa…vNÂLÒÊÂ6ÈшôŽW5ÃÜÇ’7’Ë „ÓA)<Õæ,OZrÌõ§-X«9àˆ€Š j¨l×ÉŠïæÐéÝʇV¼›Ž¬æd:$ÃØL¹ ¤âÙYÄÄJHŒƒFåiåvð·‹WL¿ k‘d^Î!†H¥(ªŽQ½+Ñâ½,‰ ²$¡!(’’‰#¤#¤ù$"|¯!tÎ YÔ®–¬XB²YiY¶XVm–›a…fYˆ®Ë•Ù;3›+ÑíwÞË5ð®Cß:Ãåuô?**D€*(‚€UUG‘¹9ÈáÒ5ãäd£¥d£æd¤“2aó2qÓ¶aÓ$ÂÌ“«(×½ã+ˆ–e 'BØi]–XUe–c³V;1¡µV+0•¢³ ^9â!ŽhÈY+›##š"(ƒ•ª9ìRGÆòI"y4°HO5yKV˜³=YÿÄ8!12 "#03@$4P`AB%56CD€ÿÚÿø®&òVSŽvK†zÁ$+þöäâ•ʾ”8£‘ØJó¥ˆV¼ÞêyÅ…dÉþ>ìŸÊéïÓÆ2ÔW"lÅ çušÕ¾õ*í°ûXØ«ÆQ¨Ë)z„uYõ[‰‰Íµa›ÜŠÌë5;«=ø£ídf&9 ÑVþꉔ¬Uô´D"òé,ÉøV¯ ì=¸'éø'¢I¢|ä²öà^©6XÑvÕƒ$ñË|²Ü©Ý«_GÂÕl\–"f6WÎì ѲÆè_J£ê²æ>[I,}ŒµqÒÚO`¸µŽ–ªFÞÑòb$â$Tñîd’@ù›nÖ–¶"Y›ì-bå¬Ò¶6[)ìjÖ6ZÈVÆËe=„âÖ>Z¿×Chçx6R¯•_& šN‘{ê†%?k˜Oˆa“Æyû³-å_u”ó­³^ºøc–(2Ÿ œðòž±ùØŠîVJQ×™&ÈK^i¢eLgÞ¹iÂub>õäý»L7ÛË'í0J›»B܈ÄÉÔe«2O%û½[«zI1î±Ùæ"á%/áÚÉ.<³imJZø2ÌÇÿ ÞOÙëO%%ªÙ qùØŽîRJQD½úóܬÿ$²|O…Ùd^„ù·"â2/åbëêÇ5Îñf<äŽHcÈO<ÛáZ$’ãæìcvju‘ÙØV*Ìm‹r=Íb{G´w'Ã3{)“ú¶µ\±ÇÙ2O)|ëyV!h‘ŽN)Òùžþ%?kšOÓ ç™þ+P¡tëd3rÅ%NÑÕ³?ÉÇ'ìsËÁ}¬Ûc†´’¾rtã«ÒEžL§ÛÕŠ“…©é¬ð®ÛŒÅ¾´Yɰӭiò·ñíÇæ»ñžcJoí+ÞËØ§4y<Œ¬É[³:cÓts7Zzø2¿ÍÆ'ìs)û¼*~Ï9÷0_o6ÅX±ËØÜsß~ßµÍoäÚ2GË’‘<<݇OÝäÓö´ IìºFU‰3nXz|4ŸÃ'<*øû¤©/øâötÚ•²{ãbgm+ÖöI©3Ý$éý]X;6©'”¾ªÞU|ë7c!ð¶ÞH>ÿ¿‹ÊCF<¾B­i‹¹7e²P]¦?5l›-iW=.RÄV¥ÇeëÔ­‘°ËVq—’›×=@–æ¯ÃÒ ï2¸Ø—)˜ïhί%Çt—»'ù5úSg=‡Û—‘u.n„蹺Ùzë®ËÊ:ƒ“7•'éf2Õ§Ü–†fµZÙ ÙfÒuÇÒÑG~vYµŽÌW©[%a–¬ârR‡+r+’c/%9=CWflö¨g[S5E¿Ò½µŸÂÄ™ºŽ¦>vV±‘ËÖµ^¼«‘g*>+9šÑ53•{ zô…¾ß¤ds함ªQεŒLÍ/çÒFù¯õTàæª8“ÊO]r¯ª‹6CÛ–og¿—ïªDêâ" ‡‰ÄÐ4+DAPâ#DëT8oR´â#M Óˆˆ*Ñ:Õ&Ž&Ž&…hˆ*N&…h‰ÕÄЭ8œDAPâqC‰ÄDþª–gµ¨Æ¨áãþä?¿ºËÿ?ú ’ý…}RÅ9êõGFÄÌ– +¯úeJý³ú”p£þÈJ&) ÿo8»µ”]ßüümÈZ¯ley:QF);Jù:ÙŠϵÑÙV,oHÞ«u?Òãe|q¤LêQE'Ü„¢†)¾Îawk!ãwóú-‡H,::h›+e­S‚ksÚ\þ«¤ŸÍèÖ:§cw;W±OS-[+U´®`ñÕ«S—¥U«Í‘—~½j½âîéáëÕé=[’gã¡+Ð*WìYÖ£…3× A R ðƒ*»³wÆßçôZDãÒUôZbº:ü­lŽÆ,ÁêºKüÜGF&ÉBì&’T–´µºKü¬&r¿cݱWR÷E1óC¿~–[r7â1L÷F"§¿£_~êŠ(ï(ýp” J á_$»±ewgóñ÷V…š3VÈĽÆ:I¤‡g%߬ôv5“ÒdÕìL‰k‘è­‹¶1µâŠ.“µ[o„ÃÞ‚ÇC&[ÛÙÔÙ5[¹—ô_5lwDmÓµ²Êu›ýõh;w¢i:ã%zŠ(ÿL^¨Lz¤%ð«}~t¾2þz‘Xš²§Hr–r® hÌ…˜#šyl¾µÛ‰³—ællVI­Ïh‚ÔÕWü‡ …œ…«ƒP‡+n²;¤$²ÉaíOïXÕ{¡…!®ý¾Í1iòÔQGú!õBcÐÅ!k¥ϺåÛ¿ Ñ£‰£F4hÑ£F5ýõ*Ý›zíÙJñªò\b~ÝŠIöàó„Ç¡ŠBúêÅø¿Û¨Öí×4© &™g Þ5œ(¤¿n8 r´ðÉ®©^_‡ý¶VyÔcz•t—-w‰"1´Õ]YŠMöà óÇ!ŒòË®©dPÿ¶"rZÕû¼}y|Ô›$zÈꩪÊ(â·\¯çŽCå›]SÉ/í¿Û1õ´y‹HÙÚ:Y9 o7FÞ18QKŠåž‘/ÉÌóÕï8Šçªx¨í¸ñTäíxªŠ÷¹ªNUSâߎܮyâ©ã¯Ox¨ŸÛR­Ø0ÑéL…Îõ Æö Ñxò/Nmw6cÍ|ÿæõ†…;=Þ+Y¸*c¬E5z61]Þ–:•Œex²wc¡ ùX¨QL„lŽÓÿùGÊßzI*WÅÃ,Ù,diBZ¸Ú§w­O=~H2øèM’£ŒlKZìuú°A‹·Œ­ß;¶:l†-ŒjÍ^ŒJÍM0Û$‚Ž.³jÔ»’lë3Ñ£]jÉ1ôó5«2êêÖu©`®‘²8†G£¤¹~¬uNɺ"o„¾ž'bîωÄшg„ˆH„ˆMë_\%F¿]w>_î;Õøè¼UsШÜË’§•mgA’l8ÚùˆÙ®ß#bêMÊÞL…‹yfX™Ù†.R “m,¥–mbõú’A{*Ûe¼²O~ÖV´¶ý®ÏkWÌö6íæ!îqfáî2äý¡u°ÎËe™ZJù&ÅŒ«•®”}¦ßdǘ¯,V3.’÷·kF•²‰?hµqW2-³M?ªF«—î±GÈŽeÓ®×C¶4²=µÕ¬I‘µøWíj&¥-4b›ò¥BT$'ûŸ÷„ P¿Qw>[ï?Õù8œN'‰£‰£G‰Äâq4q8œN'ˆ¯•[Àâq4q8œN'_”¿ƒƒÆ‘Ä23)‘RÍ™-Ï¢·%Òi‘xKð'´Ôoe§‘4hÑ‹OÛJ„¨H„ÿq=p”J"/Á‘_Ÿ•þBùÿ§¯Rþ#·§Š#Y¢yã«_(ü­ºµŸnfFÈ"cX‘Èî1.ܵ‘;Xœûe›Ny£Fôý¤¨J„¥¸ÏT%‰¿‚òîlŸò—ÞDä©B£à’?ô…Q~½jï·= -§SFôt7í £Ò¾D«‘¬NEâÅUr”!íßf~N×^SU%BT%'_Ž?T%åø-ýÜ’þé}Ú”d¶êøÖTf*¯xžÆ‰c ɺ;’à%i&:ÄB¦¿ÐÔQE_«Åw(SÀW&ÍðB…NäÊž3Þ_ÜòßZ9[×­']dÕiIIIýQyÂRò¦H¿.ÏÜÈÿ+ÜÇá])V‚5.Ä‘ÇÑÄýý–BÕ$¨Õ$¦>¡5HYÁ¤𺼿ÑïóTQE_©ÑÚ 4_HfóÏÊ®\unÉ9äåbÛ÷gfÍ›êF£QÏçîDœb”˜›Î8J^U<¥_—7®úþ㯠‡NΈÁdÓåôi?òzAè9¡i Ïòÿ Uв ÉLf9.¤Xœ’¸IG"þJŠ(¢ý^' '…ìƒiAfËíÍJ²µ{< (Š"ñTVÖ9É;˜‰Z7H².ÄRŠr´<¿ö$ óªAåm~SŽêªè»µt©f&£:AB#ÛÑ­DË'Êè¯òl¨õ£ÇÌÏò}ÞJ§#˜’‰*‘Ûš">äcGgl<[ð¼WÕyÆœˆ,ö4³8í!?h§cYÇsbžÏZ´t/i¡¾¸Yðp8N"´´Ò5áé~çÞÆ?ÄQEQ~6ò¶ã ÎÏú/gÑ­›Eøc¶½žEF»JÔtÎl‰M®™òDSãlq!’þ<žpüêù[_–áÊäîEUW.97~J¦Q7[£3#%žÛU];TW å£ËFgù_S›í\v‚JÄ;hŽQ)£ŒºW9Ò3å)Â1¬éÐYlœmØÐmö¾£.9W^ ÒÓI¾Yï/½ÛüEQEú˜¦ò¼â»;(T¦ãŒê‰9H÷lË»4QE#jȯ•!o.JŠ"ˆ¢¿#‰ §ñßç_α•Åø$]6^¼bo#ü=¦Žj¦s,È+Òέg'HUãs-pÜš(—¶w½‹2)eÛ3Êü?!'‘¢]™ÝT^õר Š5NUmGãæUí89 3”Õ¥¦ø]ð—1ñB¾õGâ(¢Š(¿O ÝÛ®ÎÖÚª³|þªÞ ÏNyß5 gi$’¶&lCb¹Qc]¢Ÿ¼8y—ûõ@Vó¬Eåq~ ¾Ô¾}X¯ý‹´šÌu[’éœX¶éU˱$sFÝ‘£2ŽB<Á`fQ[­y’zIgò×Ëo‰hF¢ãŽq ,ørI¥¾¼¨¯Ÿ»[ñTQEú¸&øáYÚæýN›ž{«|*À›“:íäPAV „mäJ»–/$1b3?e}P•¼ëù\_†Ïñåóê¡"CrÞu°Go$ùœùv*õpr&ºövŽA’Êyþbùa×phÑÄâ+K ø2ÍðèìrûÕ½_ˆ¢‹Ô¿SŸ·è³9æéôݯJz§)7•ü›¹ßAÄáÂ7/Å¥ G’ <Í}¿ûBUó®3Êâø\^5Ÿâ½Z9*¢·gf¢±z±5“9ÑõN*ä6$já¬Fþ~w]âq8™;S†iɧÉûmûÕþçâ(½J/Ôħ= fò(tžnߤ$-å"üv±I¼‡r°‚ …6rtþ ÿ˜½(b~ <ÎzSÕ Wθß+fGøfýÔëÅ]îºOŽIÑPcQ?¡èêü–´âx!-¶D–úG%ΓI)5‡J½¢œÎG#}p}ßÄQz”_©I8ÑèK:¯KÛÝ*ø-fîLOÞríÉÖƒcQб“mµÈý(cUQæuFú¡*ù×åhÊ®¨ò9õìßR¡€¾É+åqïÇ\tƒúŽ=5%¦BÛ}$¯ o¥ÈO–uY6r7îläs9•¾9EQ~¤i†³XûÒöW©‰ªµ™ñcþµaíçŸ O:Îpˆ9"Z’³(¼!Ù¥ ñS©æy~&z¢* åkÏ(œ©¬gëä$‚H"µN(§d§AÎ{Å´õ|M~|we¤O‘–uYFúÛ^W£˜æ{¬¯#ÆQDÄb~"Š(¢ý6''¼è³8aºQ7aÑî¥fˆ›Å¯ N ¾Ý“±·v°@>Ëå6!‹oíò¶ûi£Nnh…$Õdêy_™œER<¬ú²Ç_3G8&ª 2 Ûj6xœ5‘<î\ÇãÜÓ¹òްÑY£F¿-ÕØáÔu7 ±=£Z®v#Fú7}ý“mIÉèÕpÚopÊMA±µŸ¢Š(¢ý*Måmæž+§’ö}R»;Y›ñʩƤŸ#ˆf+±½IÔ‚Úî¸î+Æ&pFˆVð:žgçEçT€ÿ‹¬¯ñþ†NœƒlÈ´‘ ÎG!ØùU‘v‰ì&N“ôsµèE¹‹½ÉcÎ&¿/¢xvL™Ü}¹<‹,‰^4<¿-EQEúX¦ò¼ò«;*ß©2ñÂ)Žø_qŽÏ…MåV„ ]¹·üž´$kä[ökn‘[°££tN8±:žf×çÅçT„ÿ‰ýYo³îlß¿ZFE>GÈc“ûU§d£%ž¹H-À´úý»S·ÉÊ‘1?5EQEúXVîÌLíl!ú›/Êqp¤ßï…{ÏìÝ‘ÈwGX»ÞS©+·œÏÜö)ÐLunEÿH'SŒÂþâ8Ф=Rú³k«O g¼ERNãk%OºN#ÕÔù.;³\wi˜VÏe(?R²Jÿ©Øë©RïEï¹”m,w:=Û—z„pÿÓµ²]è>j‰,…Úú:4h׻њM†µ›+<¶díe÷ÅzÕèÎNÙ@m)þÍ&è]–ôk!-9àü5QE_£„i‰gi•?Reå‘põÐÅð»ë¹ã~ì«fvø"u …Otsd¼Ë Êê(ó*¿¸„ˆ­åÿz³+ðýV=Ñ>Ó[•¡²”dbµÞâ=Í܈w†¸ÕwÑBëôVŸêr‰GõvF‘ô×£‚¤»Ic’{/t^”¥ž…á¤YÿN2|nô#Ž5õ(SvBå» 3ó)ôw#x§úy;Ê]Ç@UÃÇU½ËÂÌ<[K¯ùݡ̚•[Ý¡)7CÜXÀ^®+U‹õTQEQ~Žº­Ñ¶sÌ>“ž{Íl1ÑZ‹Ä±ñ^¾ïÝÆÝÇÔ‚b+w©˜Ä¹5ùƒüo ‚’yd—çÀDVòˆ_'ú³__‘î²U_†Èeê¤_¢ÙÅKÒâ•Y¡![7šÄ”¿T²õŠ¿ªôl¶ŸD²Ž‡#›{ rb÷Eñ «`·ÐlÍDš´µÝïáâJØ]ÙÇK{¤Rã¿N`iC£uh¤ƒk1¢0Ñ¢û~r,ví/Íär9Žg3¤´‘ÍúšQEQEú´Õ‰³y¥²ö¹èÎÆAÜò|fõd­;v¥*㣜oF9¢ô]è?# (I мÚiä"º™?¼'ŽA:”—Ó}w4E(…ò«4¿×ÁÈÜþ2ƒ»Þ¨µ'êkÄtžñ1/c`¯Úسх‰¯Å*Ǫ MPZÎ!ÅPŽäñÑW¥9ç„u¯U*ô×;Ž)~­[`Þô{,•©ôvÚ̈́ʺ;ýqkŠÛú/:–ñvèšêÇÒ~Få¹vîjÊ1:;ŒŠ†%q5îßO^7.}ßsfÌ«{J?UÃ…QEèSo]gÄfdí²X–sÉ+¹­ùÐøÝ‘7$qóv‘®ŽÃã#Ë[`Üýô=½:žÔæ²–\—ß#þzu):ü»Ÿz"¿”c¼ç™û¿^©(ÙÎÕfb„¼rxöR’U­sˆ0±°Š«—!ùP¿†BÕ¤ìß7‹ž‚ª ˆ+,h>$%[^æ+rVwèä5JA(ì†æW´ÿQó4È?U"°ßhôC23¢tl6ÿ@ò¨]è媊‘¾»ë[ž›ìÈéßé¾%õ+Ú†Û=ëÞ™þ—=^õ†òZ_¦ˆ8QEQEßcxEÑ6êœìã°¼ŸŠøeF”[óªù}Ùæ¥5FHÄhƒ#â• šüØÚ=ƶApWñ¸JZ_•gîÀBAåï%óÌ _¯ÐìÊQ¹wLÄP5‚4D»öSù–òÞ¾*¦ÍœŽC”—Óï²Ä‘ ‘”ïÞvUÜ6˜Ué.cTýQÈD7§<š{+¢ybÓNÙ.ô -PZ·q²ãºy– ¸ž›&F(ºCVB)ã°Î«¾›ß »^^óü¬·…Ÿ¢‚ ‚Š(¢Š(¾ümå#ŽŽ3†/-'eŠ“ÎŸÁEíF”<«øS#ø_ZŸ+2¯ƒÓ’£R‚¸è’x—ŸûŽE?ú”¸¿"¹ ÿ%óË'ðq¶¤ºæˆ …ï³ÿíÌ¿-ëâª*›êQI=?GFŽ*2Yš5ü¢ìâÓsHlܪ´úw˜¢Aú›Ú§µú+•¢˜knn7LÄÎú™«žŒ¢jÄþ1/¼ã&Þ7~‚ ˆ* (¢Š(¢ûÔ[ÊãŒC{- Ñ=/He×ãÎ"±„ý._ÀÂJŒ…×t?!¢L£P“.…ŒšÈ‹?Ä–ÕNðvÇj‡h‡3‘ÈUËsx;߯'³qQÕî4í9_`O>®Žâãè®:tóÚéeÏ üâÌ=GddpëOp²9Mû›6r’‰ª6³ÈâHúAAA(¢õ¯» yÍ OìÊî1XóÃ3öÌþBxESøëçÕ¡©ȳã-Ÿ¸ ƒÇÉHHeWæÅçXˆBaþ‡ /ÖN¨n,É’z¶ª:À³(²*›6r9¢ª²ºà¤Þñbå}¤±{ôêÉzÓûÙÊH‘±ÎW¸O3¢™ ›rçofòûDÛ”àÓ±iØ!Ø‚ƒŽîã»(•NìÑ bÔO}AA£…QE÷ñ¬ç~¿Ù¼íS™|hüºmRgq«ÃK­"øbw,ÿs©üÔy!!“_›œEb#þ%'û._¬ZØêíQi‹MÇuyÝä;'›Ž*pr‰ÔJQ)‰Uˆ5hž:çmÚú&fýì+V‡$Qä'Y¯¢}öÜùl—¶¬å²M‚'9fá ‚ ‚ ‚*Š¢Š(¢õ/»„nòø30þ4$w‹ÙÀ×|Ÿª¯^4úAž§Øll|é·;’õ!ÜQêH¤ŠdæCçX‹ªRÂê /ôH±>9RÜ2çKf½M‰ï޲å²ÖÀéyä®êèþ |þG3v(á»q´aše°ÿÃAAAUEQTQM‹ï`û˜|U<¤2p§¾N»'Íå¦[˲íA±A®–kÌ6-{ˆ¤qTz’)"—WæBDV"ê—ÎÏØp¢ÿCRÂÀùš“2½x¯ú/OŒX(cŒBzcòuc¯&ðÜ:Œ;xú;ˆ–fІՅ°ÿÃAAAATUE_z:<…oN”˦WøìZ—§¿ÂwnK®øQDQ¢{›6lE*¯ÌrRE%RÒüPˆú¥ó»üg /ô106l…ú.ÄØHÕ®Á]ï0 †YÜ]˜~çÙ³dr7ÇÛâë–aèšüDAAA¨ª*‹Ô¾þ 5[ãdé\ŸºÇxÜŠNÒg|NWr³uþ(£Thj¦Í›J¾·(õ$RUð±ê€ˆ®GÕ'ßã¸Q CºÉØ£J“£—n•…¯-y’hÌǧ+âþªÑ£Kv‰d|ï±Y+ÔüTAAAq¾¥úX”ãKãdéD¼²”¥­°æBîV­¿æ"Q£zÕESfÄR¢ø¹G¨õ'_‚oTE(ú¤ó½öQ Cá‘­èÊã#ÈÇÅbvï¡™ûY!HÙÍÖ¬gn°WläÜ?„H ‚ ‚ ‚lÙ¿§I8ÔÂø¼ÏËÏ-MêÖs9•¹¬;r5F(Á½j¢©³b)PrQêX_—/ª"¿”}OóÈ}— /çk¯áz¯ÛC-ŒíÓ‘ÖËý›ÿmGIÁŽ^K|:­xÅøh ‚ ‚ Ñë58³Ÿ(ÈKÚÞu!\R_·µF Ô£”U6lE)ú\£Ôz–WåÉꀈƒÊ1Gùä>ÒŠ/æë¯E/ •>Ú{™_ãÛû (ŒDëŸÑø¨ ‚ ‚ ‚}X[ÎU0éªr;„n'1u!]áQÚ‰]âÕ##©G(ªlØŠT_–å£Ô´¿-þ¨ˆ<˜(ï<‡Ûp¢ÿC_ÂÅ?¶h¦KƽŸã¯»'¥|ÿ AAAêQNVÜcS¤–;glôȳ"¤/Ô;ñaJ9ESfÄR¯ÚrŽQÊZ_}P‘ù0Q|òN_èXº}'|¦Í›/ø×n¾ëüêü4AAhÑ ýLZnÛŠÉÆ¿I$ìð½^g5Ta‚Ž9ESb)_ì¹G(å-/ÁÿhHHF /ž@p¢þ>º´hÑ£F½ÊSµ#ïl;ëüÿ´¹y,n%yÌæs9wƒ½_†‚ ‚ ‚ ß«‡Oæ©à0“ŽÜA¤dDb *lXvwfÖ1 ‰kPØå£”´¾ö„„ˆh§üä<Ü(¿‰®­4hÑ£Fº´hÑM­…rí0‚æP\ÚçkžÕ=¦‡´öŠÒiíwâ ‚ ‚ ‚ ŸWŸ tåhé»ÿjØ$pÚ&*u‡xÜCFãahÚ±4DD6lÙ³fÍ›6lU£”´¾ ê„„ˆ`î«þ· /âèÑ£F4hÑ£F…b9¤j-”ötg³c=—ì¸ÏfF{6#ÙñÊ$;´h#¿ˆH ‚ ‚ ‚}\Rj¬r¬2»5aKå²»ú6lÙ³fÎG#ª9ERʉꄄˆhï"ï­Â‹øz4hÑ£F4hÑ£F4hÑ£F4h×â'Ru ‚ ‚ ŸV‚q¦½{6lÙ³fÍ›6lÙ³fÍœŠ¢¨¥<á!#?È·ëp¢þ4hÑ£F4hÑ£F4hÑ£F4kñN¤AAêÁðÖU6lÙ³fÍ›6lÙ¾­›6lÙ³fÅœoœ$bò,úÜ(¿ƒ£F4hÑ£F4hÑ£F4hÑ£F5øÈ ‚ ‚ ƒ~¯¥»6o«„¢“󄀌Aþ_ñ:üJ(¿ƒ£F4hÑ£F4hÑ£F4hÑ£F4kñAAAêDœ¥z›6lÙ³‚¢“ ó„„`ƒü—ÊUø”p¿ƒ£F4hÑ£F4hÑ£F4hÑ£Fê×â ‚ ‚ ‚ õ*&ì=M›êßÐßÔRa¾pŒzø*øIæ¢þº´"4hÑ£F4hÑ£F4hÑ£F4hѯÅAAAêVzG4—˜%ä;âé§xiÛ4íä†Íýu&çÃcÝà¯æ¢þ †„CB!£F4hÑ£F4hÑ£F4hѯ§­ªôG,”>’ ‚ ‚'ÕXš§wC°;'¡©Pç"áÈw¥ؖĶw£¼äïl‡j‡h‡49!¿qI†ùÀB£TÙ#¼_¬‚‚ ˆ"AЈhÑ£F4hÑ£F4hÑ£B¡£F¾‡Gºs<ôoÑ&ÿùG÷òàð]3gH:wôPAAA?Š)Ù4ìwt;º‹Ðã"z²ºàïx;s·;s¶;bUØžp‘¸l‡h>O^ (¿UAADAD4hÑ£FŽ&4hÑ£F4hTAP_¡¿>; rõ¼½œéÌöK¹ì?C`ÎtšöyåøÝUh½—²÷)GÍoE‡Ëæ2Tñ”°Ø'f:)K¢³c1úõ18,lôºQ% ±¯F°•¢— ^:¸LEÚ6çÅÕÀI‘èÔ˜)1ýÁ[¯f[»àŸ›Áªv,;»Nìww‹ÎCnCšœÄód¼FX;} ccç#“hª/ÕADDADAÑ£F4hÑ£F4hÑ£B ¨* KïÐÿãã:W•Ž™C s#rz7,Õž½l… î«fì½îîg+N”YHÓ£Xl¤xì~+7qÐæ±˜faòQ¯6WWG+ZLw¶hcèË’ŠLl´Pá±WâÇLÕú]"“NÁ‡wC°;±ˆ‰ÈßÔN¤ADADAD4hÑ£F4hÑ£F4* ‚ ¨* (¢û¸ŒÄPCw ¦×Â^µoús s¤½-Æã¨’Û–w2Ä‘¢Ù•[‰!VLö5’9Žæ¼;ìêîÕúdÏ`“¿m‘Íkdr"¹\ÄóêÆ#—Št‚ ‚"‚ ˆ"‚ ˆ"4hÑ£GF4hÑ£B¡£B ¨* (¢‹ïRÉMAØ>—ãñõsÝ6½™úˆ ‚ ‚ ýÒ ‚ ‚ ˆ"‚ ˆ"‚!£F4hÑ£F4hTAPTQEüTAA?¹AAAADAD 4hÑ£F4hÑ£B ¨* ‚Š* (¢‹øˆ ‚ ‚ÿÄ7!1@A 2Q"0Pa#3q4`$BCRp€ÿÚ?ÿz«OÕ?3N%U©·‘j«6X]A·‘«*¶S ˜Ž\yÒ²±°æ]A·›jbÖV6Djjþ©x™{G’’²›Ô}£µLÞÂS¬Å²˜w´øüO¼«UÒÂ#>mïʯîÊß·)6JdÁQÛ[ǪQ.wž+šñ네Ղv´£ëž+æ*%:®[+CŸÄûÊ•Š;Ïéîo*Öal±B„¦5ô…ª{ÚRªXÝ ©R¡øb;ØæUw&ÆQ¬_C×äoö•(@”Tªk2¶mEå4`÷"SF/hêÊ÷TÌ@Òñi’ß´µ"NeŒ]†[@…)ØB·k &4ÀïÒÙeD9RP ;JhÁõ…KÚ*7‰{GVWÌ«MžÎË~Ò¥2H°Œ.–’°SN·3¨13S¸´Pîh¦„^Q[kk–fëõIfË ú™Váâ¾TϽ¡¨æž/Ú=@°UÖÄ}b *ù£WÓá• ( —!£j7ŸAy{j¦=¯¼ CXýg*ŽÒÀË ¦Qí,6™Tv„¼ Ãÿ~–±±ÁQ•gŠÞÛÏ€´%²}âw•‹i–+°¹ž+˜]È&+6aô7Ð@-Òé4头·+ ¤°–ëÙ»E骋©´Iw¸ƒ8™ÞлK¾â+×2§h¤¦Iß®'´¿SqnFÝàûMþ€ÆÂ(îzZŽÓ+K< ÝæVÒeifí2¼ÊÛ˜€´øÄ%„Ê×¼K­ô€7ÿežpz’m_xZ/×rÜô¿ËJmQ¬¢æQáBߨuÂ?èÑømtíxô=Cê$Ú“…¶%ò‰C O¶Qc0í§"ªÚİ´Ñ3¨±èK…Þxþ ü ÝY6ù|%‚~ð8iSc0ûL]lM#úcIýOº0˜Œ{b#žÕUcUfä9‡a³¤ò¿±°˜l=1­KJ!_ÑÚ*e•½&aÆ‚ZñèS}˜ì%*)GÎI–æ<”z“ù´Ìgý³ z‹|­ Úf—œOö~FÐT"xú‰âS;¬>ØZY;BûË)†šÆ6òÒߩф]þO ¨‘¼­‹ì±Ø¶ð11¼\k æ3+&QóŽÐ{ËŸ5?WTÛÄß䫨Á]à¯î"ÔÚ3åª3t¯2L²Ñ=]=: P_•£Dù¡Õ–ÍÐØƒ2 ny`NŸ+-/05ú¥¹Z[¨Mõ•]Q ó´ÉïA”Â~ˆ#ÓÃhA(ÐÊ›^j;ò;ô!š|]ÖY>âdŒÈ~PíïÀm/Ì€w†’˜Ë”Û¤·%<ÏÃà«âé)3øq·Ä5¾Ò Âaö[˜ª­am#`ðϺüSý¶øvô1Á«aPÔàBoå·:$ ÌÜÇ–¯GB‰¬áDÄѧN°ä½œ=–˜_hÆ4£·;ÌoŇaö‡’ ASßòÕÛ¡<¸hõñð9 ¿ÏÌ/öÉüF(íËÅ)`Û#jeOÄmþÅ•xæ"¨+ ›ù4åyx.v™Z÷‡–¦Ý Ó—3ˆÓÿº5˜oíÓø†4£·,_£‹9œkáú¼~EV÷Ž2±­÷–––Ü©z¼§ÈþžF°›žXz• w3‰Î># ”q+UÈ^…w˜oíÓø†>Ò’§ Ê¿¸|»s§ê­-È™y~Gn‚ùuƒnx×Ê–÷˜#ñô+0Íþ?ˆ\Jµ” å,b ƒ‡¼…÷ž(Pe•¿pù6”±˜®@:`ØÞgÄž$ÎeååæiŸ aqo'; ©ÑQã,”…26ÅûÆÅݦ¼ñO¼üÁçç™{Æâ5H°›ëäâ8Ÿ <5ÜÎCÃLçsæ¼¼¼¿O‹ õœe˜|?„oÑ_Ë&"·åLjF‘ÿ/ütÉøƒ5ðì%N õjgq)ñà¢Å&‰./@-Öq¬Vƒ²ûL64âð¹Iø„V´Äz Š™ŒáYi¡b,æa±# ]¯õœ`ÿNãí(±]¦·•½e0-³[ :N~>³‰¢ÃíÀeCðÄçÁ¨}f¨½2#]\ˆ¸´U3,Ë8/©¾²Eô•83–žñx55ŸÓ)ûOéi?¥$ÂàÓ r?ôÿàyiüKÍ÷šo/6ä!±}^Ó(ö–(™G´Ê%„Ê&QíþÿÄ5!12@AQ "0P3a#Bq4R`p€ÿÚ?ÿéô¯~vúOÓ.—é^Œnõø,Òº sÒ-.T¾9‚½#½}àé*¥­m‹Ö_CÐÛ[â^gÝ#Ô»Ûµh±—x‡ÀªXíÍÔ›Øý’«ì«ÀqÖü¾ìóÄ¥ÛSh[D¾= ƒ×ÒS^ŸfpIš½*"‡A‰}J´«fWqƒÒi´õY–<Ç šŠª ¤Í7úY¢ÿQ55‹u!L}5)ò•ÿÙN•m´¯ ƒMC’˜Çó)ѧ|Q¹âjRŠ”ªø¢x¦¸ÿ@OÊP¨®Ü¦§KP¯z @jî1é4úTµ™ÏA?+U …3K¤­Ãê%cL¶^¢q‡žq*Ó\ÍVUÔ'¬j4úpŒ™u5o£Ö~Vš€ 35šu« Ÿk“òûsÏHÁ-Íc«Û`µ @!j/G«h9—Ü­@PyÊ],£cM>Å$nÁrŠÈfÌ3I¨ENíåcOKo=ËmÛ˜àD°'=ù5U­ÄúÎ2[)EëÞ³1š– a"'Yª¹ —\­@PyË.S¦ žr›èØN&–ä«(O/x\ '~f–õ Ù=eLÛŒÕZbœäG¹p œ ª½ V8–µ 6ìKZª{±Ò5ëh[W`o”6~u›s"OIÓïºuTMÆ `'悦ÂGIe{í OÊŽ€ó‰§gb¾ÐéÇ<VœÙ“ÐF È9ûÅ 6EÓ`üò«a Ò i‰ò¹À€·zvÀJ·.Bó…d;†>ñœt†Ç<‰€‘Òn9Îfö<É›Žs˜lcË01^»7SÿPž‘Ó`çåt€N0éê±çåêæsÒ-5±ÉôЩߑé/Bþ€MN{¥•TÀ,:z†I‚º”Œu2ÄM‡ìƒ-÷Ÿ*¥‡†eÄç72Ìž³qœæö™c2fãçëL|ÆXû–Óc6Zèd»xR¬â k˜¬|¦:«( ‰§ÀÎé¶®’õQáóÊ™ùŒgÈÀò¤c‘í OI±‡¤*W¨ìVqÒ眎˜=|õc-Î[gö+C"çwYÞW˜£ÎAÐNñ2gx§ÖnLŒÍõ œNñ1Ê+c“ ¨ò‰³&2ÆWÇ8Y9{MÕæ3ÖW§™EÜeƒ…ŠžñÎOŸx¾ÕÀ‹Í£?§Ó{VµËœK¸±úc”N2?½e|ONþ¸‰r?„ýÅT´lg—ÑÕê—L›ŒÔj¬Ô6XÏHã±]—˜œ/Uc¾Æ9GMÃu:³ý5‹øe‚æ×Á—~½<2Ý¢Ÿ™ŒuóJ¥§ð:B=¾Rûqé t4ti­_êžsô½;sS4Ü=4ϽOÖùMÕjþb0=æðþ—MÍþc" ,ÔóX 8=eü7K‰gиSÈôó(3þ'‹é ô0^fjµ ó/-_îzÆ}ÐG™ÄME‰ÌÃõ—]fÆ?[†m]{úfw£¢Îòn–óX:vþ"^JþeG.p¶y} f`N3û‹ZY—"5më6™‰Â¿{èíoó0Þóæœâ¹SÊ&·Tž2®5¬¯¯9¥¼ÛR» š|}s§Ṵ̂œÍóãÒk«E«åGŠÔÏhÄ£GêÑ'HQOQMSzFÐ!é4z.á÷­¥Ç~™÷–iê ÉDî)ÿh€â!Ê|awi[ÍpúÂUŸS8íýPÝgt³¹þc&b¦è¨׫•Še­ÐÍÐ+Ú…¡L^$†.­Ö AœGæÓ0þ<½º…¨íƒ³DŽƒs¯pT©ˆQ”å|€äezŠm¥·¤³ˆU_€KxÒ=ìÞ#3±ëõ—q7t)ïåGfåk²ý¯fÊ€ŽûžËÐÁ{‰ùq 9ðQ€!¹Œëåß§)UlζËr2ÒÎ"w|ƒ”©‹ cä3ôñð!…•zËx®’žLâ'Ñ¿G‰¬¢Ï =<¡æ1+M¼»u÷ÚX£öÇ‘Àœ§9™ËâÁëð]}zu/aÀšŸÅj¹R7â=mü«D¶íf£÷ÁISΘ#¤¯U¨«ÂæSÇ5Uø¹Í¬k*"£‘?ºµ#¬ŸÛ_®ö"xŒ}oûk¬~¦`±ÇC¦Áë±½D«R¶c$téõ›”õ ègâ5Ú…EA‘ë?&+äDîÔB²Ñ=>Ãïò2y~SØÍ´f#1~Íe¥˜¯´Q+äƒëÚwXIìüòqñŽ}¶iª¸a„Õpw\µ'#Ú0#!ºË`ðü±a_#ýÀv]é)ÇþöZmÄ ^|ƒøÏkvWC[ÌA£¦.™ѺêèMÖúí(ð±šs?*ÜÆ÷2î‘|?mº=üˆæäö]ÔJ|S<ñj|‹øÏkvWsWÈOÍ¿´¦ö‚bbbbc·.tdûD?,&,é+ðü9¶êTùÇc®æ€2«…Ž@òOâ=‚7À½bôú]wèßüJÜmÜ!¶siM W¤4‘é;³6M6Vå?ÌÇ×= éÛªm©y¤ñy'9˜cVfÃ6Ͱ½>’»ûëˆff¦žþ–¯ÜAÂoSµ„Nþ±8@õ‰ÃjX”"t†¥0éúOÈ)ô•ðÁ¸/®Ã#´ôšO’m6X˜(lÄÄÄÙ;¨)_‡]~ÅØ½Láôì]ç©ì›s6/´î×Úw+;•‚¥ö@éåµ5¬1)£»çæî³¹ÏHÜm± Æ®öb6µ¬}Ì"q€6M6¹u<”cïZ¢V–#ÚQ«üΟÄ #8—x йœ;¥/æQx¼¿yÕ ÒßâVÅzOYo‚,¬ G´ãh<§ ?!y¼f¶ÄSŽyA3ÙÂOQ÷›PÃɈ›¡lŒE…xÞO8ü‰~¾ðp´ôôöŸ§¬ý9fŸL´dþEŸæc³ŸO‡œ?uÿ»¼É™3q™3&n3qÿÿÄJ!1Q "2Aaq0PRr‘#3@Bb¡±`ÁÑ$CSs‚¢4c’áð%pƒ€Â“ÿÚ?ÿéd¥Tâáº¶â´Ø[ÿ€$DÂqc·'Ãuí9ÁM¼áWEWEZ\àè¦éñU[9Kj“4Ùºn9ä87"fùÊy bánÄd]XcÓV}—Úª¶rß›&6²7:Áµ ù’…KøõÕcœSbv†tÔšÙYçmÈU3””œÐBuWËÖÖkœpU¹ÑŒ¤´ln%{_íSkü$ˆ6šaÆ *±é^¤:gbØÙ[7#uˆÁMΠܬ?éZWb2¿‚‹Ý9Å9°L­( p mˆà‹\$BªÁ5lYp mpÑHØPx{dS›X߉X<ÃÁµíµm‘•îØ¦"ÏúQc¬!0éà¶2Ùé"Âg-¡V-įkouLé7šÜUböIWsên’¯Y®æ°ÈÊõQﯵVqÆû×µþÕ[Y¹+j·½§ö©ë7vJڭįkýªgI¸Ž®ÝÐ@ñèd0N„ÖÍ‹šFGI=ì²BìSbÔ”¾PAœû(8‚Èsøi3\ÞÉ«,SGZçPhNrR`òU¹·Ë " I=¸¬RG>ÜzÞöH¾ Ç “=d¯FmMt]r&›ÝPø!ÝOï&HmUÂ_‚$›‰M†èzN³é¶VO,Äì¸IHC¬1ikNåSkŠ 1ÇxCŸ…¢w£êµo˜M‰):rL{pš«T›‰B#(Õ›°€š)L39Ì‹Ô. úsO‚ÕâT/Šd‡Ä¡Ö³e«Cj©ÍŠ÷I…>0½•XM¹ þ•‚c ÛT¡°0L‡ H’ÞÑ ¼$¹¾mÕð’­Ïã0ƒk²ahmúªœØ¯t‘ý”Û€NsÛQÛGVV:Ç¡‡Ýèq7;æÄiË#ÌI™ÉJªgt²T¤ ʳX"<]6ÚœèÍ™&äןšÇ¶±”®Uáά¥j5õ ˜Ñ;NÏŠ Œ*»ZÐìC-U!6«qË1z”Qâ­—‘E°›>W’ŇbõƒÀ…(,Õ9I¢à­ÒgÙi )BÇ‚®ÿšÇ´¸Õ•ʼ9Õ–ÜÇ2©5¯±³WzkÚÆR¹W‡:²•ªQc;¤˜aNBw£XMŽS'p)ñIj©Hl÷ªß2U`ÈíLªµ\9+¾élNkZéJä׋Â-„'z, ~ Ù*¥¦xÉ=Ì6NaUŽÙïWËÍU‚ß=ª¥!³Þ«|XÉU€%½LÚz®¹Õ{Ÿd¤.ϧñ¤‚–ݽÈQà?sŽ¿gB29Dðûu XLtCƒDÔýËÖÂ|># s(ñ^ÜZÂT¢Ãt3ƒÄ¿Ìꎈdr‹Ô …soqÜšÖ€Á€U ›4dÐf.ØT›ìÝkS6ØlñM&ú¿ƒB ÈåPF~ù(®Û†Njê·‚õ±þ*Ý3º„zEX‘pu²UH¬èM{H²É¢ÖjZ›,13„ô¶.h²R¾Ë¬t&ÄíLL&À­0]*ᢨ™t­U :1hφ؂ö´‹Ìëó˜àœ£wÏPFfÙÍEZ-Èb6'6g¢,+×5µMÍ*Ý3º„gÄ!l7•Z“H|yvŸ ¿e†eU º›’CKD­S0á¿|¿4çQÏ4ï•Óún¼7!]Í­VÁ†8 ¿dcQ\d-,&vnüÎ;à9B ÜÔ^ñêöÜá¹XqUù±À<€½UVUøV‰¬ÆíÅC–þ)Õ °ž%PX¹Þ}áüû£@}f³D¸â¡LlMxcÜH¸½W¢Edgáq6 È‘¹Ç5¶¸íN4‰ó°d2Ã\Ø y±5°Zg&“jtÜ •Q×ÿ(½K1à\ݹ‡(A;‚r¡œ(Žgíÿ´/[ÎlÈ3šÑ°*Ñ^^q+ÔÄ,U]ËuˆˆQ\ÉÚd‡;¾WMNG3‚öÿÚ¢Æs†2JwµKŸþЫDyyß×Á¢òªŒÎmºÆýÉüsP‚wä×v±ÌùÁLÚQïf¡î ÿ‹ë»Tf9žÛs Ê/ø¸4x ÑpË3r³P]“œwôŒS ´œð‚*1ùOâÙ Ô¾#~g4ÍQ~Jα‚õ?!‚‡ÝÏ"£÷OâÞq×į̀ÝsôÉ€Úp@6Æ 4`3‚dè|3nôØõJO2œÐÛ[xDµ³õ ÜÑi?ïLs™ Q —ê5Sæš6Ï ÑÓ,ÅÈ8÷QÉÄý“ ƒÖᡌ¥î¸"÷yd«ûí»vFˆ™ðMª/h3F@†Xž~ Ö>y‘óV™«LÔ§b•c%m¹$\Hâ¬2ÉyS™šœíZDž*S2RŠS±Jv+LúÞg\å™RÌ]’¹ö‡Ta¿#T7›Iš‡;fážÈ¸þ*ç]vÌÎb³â99Çêì¢M¤§“Án·$>9á xõz·Øžç@™‘µ2?>Ö}auª£‡C}•È”“ \Èun`ø”0‚Ù^EëÑšàéÛZëÄH‰—¶¬“é%Z¿ “i宸$˜IhŒï‚K›¯¡9ÉF¤7œù¹(s™XÙ3ð'4:¸É  ΤµpÚ 1Üå{r,Ƙ NUQñÖ²øEèv^mžÕßL„ºÈm¼¬Á‚Å=ÂÀ*Ø«,ŒÏeî Œ"Ä œ‘ýº1>B®9ÎÏŠ£1¯í”Ç‚dVGš=žÒ¨…‘ƒM»®Mˆ^eRFÅ)<ë¢\À.Q`Ɖ̗8”Èp"V-6z¢¾48ðãÏE•d &#ƒÍíTǾ ÷µR!Dˆ!׸•HkÉŠæêe1‘ÃÁˆ%¢¨­cÁ-”Æ Fº» É>´ m¤ ÑârÖ6»á§=æn*¨ñ8 ÆXÁÿ&Žåàå=™|3`ÊÎ=UT<“!¼ÖqËŒ2kõºëœpÒ?L®ˆó&µްl Ö‰¸Ü6Û{NÅ´n2MnÆæ;»˜3X~ôÑ7‚0â¶«ÆÌøL|9:)“Å©´s ×8L6as;Ù uZé^ðO–k`Ô")øM‹›ŠÚÃ9î„Êá·Ú2•6>-i]Úúå™U!ŸPË·ïÉo¶uÿ(Á '$Â4ŒÑmâwæÄ;º–¼µ¸™*<Üöȵ”VFg8Þn`NV¨ð› õá¤ÛäŸÌs>"ëJ‚úDH‰|€TpÖ“/ÀJvÑÜ"9í½ÆÀœÖÑÏ:öèéõÉÕ­pÖyv sõQEÜäZ®?(’‹HlBˆ×†Ã0Û%JŒøF4&ÂVÊÕ϶è±[{+V ŽèkÙT?n%BŽk4Z ÎPXî~¾“ɽ: h.‹ÍœëH%Jtj΃ØÙÞ¢R(ÐMðöNsTXŒ‡(¯‘.­¹PàCa`|ëšÓšôvќʂgLé*{‹¥À'F£At73âs­*‰ ے?Ò"¾óX¦2Žç6 µÛ”Z+hî†æiXÍRLvMÐÞEpv(t¡ì†/Ö¹@G‡Í5û'>¬ %´X2š$üÂ>Ùw3¨0ß‘½é¦5¯.ÚrW–Œå<ȇ‡@2Îó1xL{¨µ£·âÁ>“Íš®eZ³T¢a“ÏÊ%°—8ë&B¦Q¹ðˤT*A‡(pî`BCf ˆÖ–Ù+UâÉïM¥óf¨lª¨…Ó„×:»])Õ+J5C«4B›Ü2ýThqè°"ߤ¹º5›ùÞòJ£I…¼×ÕA¤26Èk¦âMëÒù³VR«5üÝh1M¬^C£ó 7ÌÍ2j7<øbMʈaú‡´ë>ä羌 Ò Ó.Ü©¢©xŠëQ(µ s޲m“ÑCp2B‰Íév¼SM¢óå—Siá¶m (‘!Q*Ò^$^J¤B{KŸ“Y %C[µã5aøuXÒWÎo9y¸gö‡ÝòŒTÍ랊=P¸vжò‹¤5gj0ÃtÎÝÙ ÝQ‚ÒT)>whæ?@2Þõ}Zî«„ú×Ò;£)ŠûMÍn%>,SYîVèÂn³Uh°±W7`2kºVxd-xªíö(€B%µA·e‰­†Ú¬oÔæöaÌ ßÄ–û&ß•Ñb:«&J1cŒnlñ8ØPõõÞ›´ºýÈOâS6”m ÒU¢Zk}‚{éÃ7œs[˜ìÁ¯ ù Jöei1Íâ? 6‘M†Ý›qËÌÂ?³°ÿ¨ Æ Îu€.išOv»±ÿeUצ“ó)œ`°–mEŒÕÃô·˜ìâ¢$ÞÒ°MØ•R[ªÒ†‚Ñ›x-ƒÆÅl2xZ­³ð­w\û÷nÊhp]¤}£‡Û%g{wôŒS— ¶gÃîæ;(ÈQQ3CãX;(Y!“Ã%ÙnZLˆZ3aÜ‹xü$c¾ÐÃ&ùdÃëß«»z$™“µïÖøùäj‰Ç8f°nÌ9FBŠ‹˜ÈÏ{­³w þž¢³$[æÑ5)¬V ÃÕ@ââr:+ü%:,C79s±=˜ÙÚ*g'œq9¥nC<æ …Žd1»1ÝÜ®É\ÓýkÙ¿ÂEZ"7Œ2½¨l@´‡ lê ,ÌŠÌZÇ2õhVu<ºh¹ÆM•Zæ P­±ƒX¡+, RŸƒlÜU›v)œîMçfFŒNc³BŠ‹Þ9D„÷/dÈ#Ì«b;Áû\ §‘ü2½•kÄÄÑ [Tý$½w%TþTg7ï5w(Qû±ZÿÈ-Y¤ÃÝ?³—«åŽN‹üæ9ŸþW«g'R¿“Ioê¦îEÆ ­ú¯[E¦Qûð×ø‚Þó&ãbÑ,…ì]à­c‡‡ºã’ångŽpêxMÁ¡Â¥6•G6ÿøÎæbB`¬ç1÷ÍAõÊJ¦¿t³l¸\{ÅÊï$\í›TòCï ÇðÌ )ür î'pB%u²Ø®ZJBÌ‘xfV"NÄ+ô[ŽR%“ï+ÁSdG0ü®’ЧÒ@9ÂT¢Å‡Hþt;ò^»’y6'5>ÅzÎE©¾ %Ãï5gÿ%Fî½ýªåÊD-Ñèÿ¡^¯–y>7óAaúµh RwÂŽÏÕiò5"XÙR‹‘ï Èîoy«F“ ñ±hº¸#>«F”ïkØþ!iQá;ÁiQeÁËV#U‘œÞ-Z4ˆ~6-ÇprögÁZÂ<27ŠðÎõ-V€¿E¬BÑŠB²‘æ­©À-:+<¤¬lFwb+#Åox¬ ÝæµïåÄ1‡zaŹã©aî™É –€¨pç­~Cýò€B‡òÏ2A _‚™¿7Ã0çœÊ?|!”Âi¬âŒŠµ^µ•ùžëdGy­yñ ØPŪÚ+ É~õ¾3^ÕíðZ4°Þðÿu¡¼W³cüWøWx+aÄo†I¿i˜ÊÕü¹çR“ƒTvžNO…ƒ\ï¶W;™½@gfÊæáøç»»Ñ¿†e¾„”â;ÁÃÑj¿%…^­W­e~C,=ôhù/Œpˆådz@ÿÚTÝ$]Ï9@9îêXÎਣ矖HLì@s”üÊ x'neѳ2iÜrÄðèâwNdºÆ‡ZªÃ¿féæ##qͽkKߙà‡»<õ,C‹”#Ù?L”¯–«~™a±BÔcóg€ŽXžƒ>' ÙO7ЫV¤Bq}{µœ.ÞŽ\:™Ç þJ7’TgáóÉÊ¿×8dh^2@à¢ùÄà‡Çw³Ÿ‡D2Ö:ÇÞ7ø!ÊP@á”v¶á¹×ù䳨GË\°Ö;‘ Ñ n3èR¦©oî¾Hñ;q ¾¹þÈMóQ݃J'6Û›;S'~gŽ`ωÿ6ôV'Ñi^ȶ£ñ©°í*$’¬Óx¸„qM¬Ý\z…Ã+\°Ö;—«ÑZO'£áÔ°ÛƒBŠîÔOÉR"v!¹ßL§ºIÜ)û“Y‰NÑe±^§-©¼r ŒÌîô7«¼–V%ò¶Õ̸NBjmZO':bˆÆJÑ,ÝYqZF|š%Ôœh“õ\ ë½Qve„ÎËf¢öŠç>`t1!‹ŠÐo8q6i³v_Uº­Ì‡Ã£ñèíV´xX¬{›õZ&üdV”8Œß)…£‡Š|ˈŶ«l÷Ý_%c•’*Ö•-«Ò¢Ac¹J“l2ñ3 xMßéBRØ‚jݤf¬hO¼2QGÈ ¤üÅ­úäcq*#öOì¢щTqâTH¿ÍhîU±Ì‡Ã0çŽ=5þké’õÌkûìš›kAv0bKèP•1‘f™U§ÉãüüŸß+T½*—ÉÎìÒàLy…:&‰OÝ 0­äd¿h Ç†;U ¼ý÷Ò#²°}ÖZ5ˆÞlhâžòG5E²º{eöà+V|z­›¦rBge (,íFc’$_á¶h7râU¼¦ +Ç7pPáöõRh.;—³*«„ŠhÀföñéXèŒç!üMÄ! ¬Ëç‹vϱÕÛ´]%|•†kEÎo&CûÁU‹\· ÖE~ÓD€Ú¨aŸ0‡ r­.òˆ¢+<—­o%ò¯óásQ1ùAùèq9Ö©Q9jü:d3 ªÐಖÎÕ *TŠ4hÌaï 5že<7¦Ã¢è€noÃù»‹š„&ìêס³´à2Païs¾Ù?šÿ ÉbT5¥bcEòRÍ`ÞŒ„ËÊßháiÉášìöôƆûH™‡=¸·óNØ/D|ã’´€*âÕ£x©·ûJ“)1ÁÖ…(áÅ´OÑT§ÐÝ/™¡áNH8§l(† DÑ9\Æ…Ù¤±±Añú_!PiŸ=üÓ¿çŠÒg(òS¿Ì‡]ŸIý×ý»•htÏ”º«¼‘¯@ˆñŒ-?²«Žc°p—¹>•{Iü±­ædß5‘ÐÜ1G6MÇ´(èýÔãG…»¤½]%Æ_"Ð Ül^Æ¿t¯Yìï7¨£QGù€ä£3³ \Y±Œúœ”v¨#e‰ñ6NYÎe«Òb õSrK†k³ÙÓ5ì5\Ó0FÄÚT0þ&ŽFö¬ÕDÆm…_>+JJø™õZZxØ«Á‰ønR4žta³@Rè-vøN’ý®†ìbÂüÂÿ¶ò´H86"cý.U]‡ÊPû4¸û~ˆúWý8øGøœŸK>ÊPyR-ÿçA—ÖÅ^ˆú5=˜À‹ú¯Ú(QáÑež},*;,/2žiMÆH”jþgú“`7Ç(樗iÚ#ê§I¤²æ ËJéç*P`C‚>VÉ^ŠŠÂÇ/¬£Ãvú«D:uËÔÒÜð­ƒ\bËTœ$p>úóó(_,ÏÓ#Ça"µö„0Grˆ8æÃ7=Öð@ ^˜QÏgO(ŸáâèÄýPˆßfëAM¥B.Öú)µÄ-)?¼&´àK¸U‘]¾Õêbµý×Z½]&‘ a;£¶ |Í‘ú*´Ú ›Y8*Ìs(±q„~Š·'räRÜ"–ÆúW%òo)üÌÓׯäÞRä³Ú‡ëYù¯Ø9n‹ö)„å[Ш?ìªÅ†ènÁâ]J[ý¥#ÕÃî|^wy§ÒbZS£šF+Ì‚“ñÏeš!b‹íJß5iWf9ìÿImŽ;¾·y*#°‡ùä¦WÉCn.T“þd‚gÀ(œV²µþEM¯‰.þjȇÆ^֌¶©àå ïi!³¹vâ¼3Š9ì÷òlSûD!8$íÍÊ%=ÆËS¡Ÿ ¶ú)–y¦BºeL<pZ«nK•ËF+€ÂkÖB‡úeöZP¢C?)šõT¦ð}м»Œ7)zTG²%¨ UQ‹lR¦Ðª“µÌúªÜŸÊO¡<ÿ9oЩBå8¡øtØ!ßUû_ý7 ßærtZ¿Ú¥éÎNf—°ó öZUš?ËŠòt—¯£E…ÞnXTv^ó)à6”Ø0, C(ÿ“ñB nj£B`œ›~'o@QâŽ|a»ßa•R_Ý)OíDqú¨Vš.í:iª1N;Ô–Õ£#x£LŠöì½d1?¥iò{?¥B€` m(ç9öp÷qá=†j,Q¿½nõX"Ãú«Òâ´´• ïèlË6¸·‚‘}qƒÄ×­£0ïe‹Z$."kÔÒï)Ât Fæ5U§Pñ¹zÈ^Šó¶U~Ëþ×Ëndþ óš”jhÄ ¥vƒöÚáÄt7J]’‹›'w­S*´žb+Zç›/­Ê¼ÌŒÜaº~àá»ßXÜŠì_/¢s°D¨Ñ;ž~‰;pQÝ¿#x£Å5ÇnZϰ È#Ëb gmrvGæ9öð÷Dm“¢Fþ~J4k2Ç -µX%˜SxûŽ‹Üߦ¼œ »ØVŒRÞðS…·uËB‘ R¤C‡o TîM 8´/SI4W„ªÔ*|(Ãzÿ Î Yj¬m‘½%˜D¿ÍVÈÖmÄ-*Ðø…ZÃÆìÖž‚ ù½í£‘Ÿ1%RÝ„'}²SŸòù”ÕÊ!Ç#NôçV¦ðA[k‘sölT“Ýüò?$C˜äsü=ÈFŠfò%>f”Þ>í¢â^x“³FÅìÞ `¸q p¢¸w\½»ž0}¨6›B…p^¾ˆhÎ;Z«òw+s/Ù3"¬‰ ” ïÖóLc¡:v‹›šÞ‚'½Áïd£–j•¼KëâGhMà¢YsW®~ ”åU–»Úv(™ÞU ï§)üÇ#ž}ɹ¥9×+ÇžKï%ìܵUµGж,1â­ŽÕí§Á«R;¸1{(£½b,ñŽßÕ~å¼_?²×weߢ2úaº×ˆDûY殉þ°?%¨|\µã2µaýaVÑ;œ&¬¢°ÿ,–«ãÁò!k”| Šl¥F?Ô…"!sšËKÝ´ìÌtÄ{Û7O$&àЧ’‹½ÏÑ2x¨§Á”÷Q’³#‰ß¬D•Ù‡ w¹74¡Å µ9ØPlhÎR1ƒû¦Åsöó‹”<10oOߢ;D(Cá’k27‚{¼X›]¢?ç–hÌøû“s¼P÷84hzÑ)á½6Ê,!BæÛªËm%˜°¯ûô9; ½°âIDü¹"nP·¨gm¥6ÅÀ#’²š™PÃ/A‡HÞ™ \3[˜:q÷!šWŠç›ûúLà@Üßß—š|c¬ljÇ7q†GÔf_–ôt‘·%êõ~kø{ÜêyÉüÊ+»0ÊkEò’;”RšÙíj*¶9 {ðÎæ2^µ²Ï¢„VýTºôïßGÿ·~^)µ½£ïý§›ÿÊÓ™:lQ*<³z(RlëOŽœŽ ü·«Õý€•rµÀ,O½1¸¸ ®;²ŒD÷qN)ç:Ž{!;ŽhÍ9çÜä²ÖéXd9Ú«1HOéŸ N$GU œm´: yš8íž×ªqœ™3ÄÚ‹ç0ò×)hÑ û6Þ9:“H5a‹›±£Í²Æ ‚¬ëò]–õ~MŠõ¬¶­U`÷èæžF¨¼2Bàç"œŽsx'fŒ×g¿‡º^Vº¼-‹Uj•ª|•Å\VªØ®X«9·^Ž|C[õÎMýìOÙàq:ÎðtÈ-Õj žc£G<×'ÀÒ‹ý“ Ào3@ƒd6nÅs0µGÕVwV3p' OÈÆÿ–2ŒÐ¯Ø¯SÌnk¸ç¿‡Q‡½]¤.ù† q».‹K¸=CüZ¡À‡¥ŠÎm¤|Gâw‰ü‘qiD‘~VQ¡ /{ö4(|ɶQ!k¸~ñÈÂaÒøŠ™»«^ï•‘¢w¹œÜA0&ŒÐT® HÏ4fœ÷ðêMʳW7iOëþè·x­0ÛÁ¹Óq+G%ÊÖà¥Í4¸Ø$ ÑV•H¶,A|—ù‡è¶utgp œr@o¡ê'y &p=º’›;Š«}&£¿%^ãf(5Úã+õá™\ŠÑŽ;âÄ5âmGëÕî8¹3$&àÄÍÖ©âPMCÜ@î¤Å1n7)Ð# =»q ¯jr(pËοeÈ“zÙi*¨¿iêöo™\‘òÐWöXUgytç1ÝêHä2ë5O䪛\Ù¸åg –ܤ.RV NÔþ¯„>UîÉIïI?}™\Qécº¤ßdça =£Øicm»rÃá™=¹ëÚ0 #·ä¤;œÇž”æ€qêHñœT<ãÕÌœœINq¸ ¢qC+Jxæ€qêHgæÎLÎ=] ŽH\%ØC97{ãzùÏMÏ=Z7’Á¡Rw‰}smé[Ò7©G ×¥žzµçåRÉ.ÓÀéoV¸­¥j+:Võ+qJõzÖZË[>BÓÕÑO|Ã%˜¼•d7ìŠøG­ˆÑÁ[Ÿñc€{°áÔ¶Úµ~ªãæ¯wšÖšÖrÖr½Ëâó[|Ö¯Õj`«‰Åɯ‘ŠøGˆêһ߼?³ÿC/þñûþ¢?‡™Ô%ÃÁÅXs¯ü1é~†þoŠXÊþ¢¹^UŽZÙ.̽_øHEDþ3¶ðÓc¸Ä{-k£mùF+üì\}g<¥At¢|O¢ïê Ñ[ûM~õ¿Ô÷+²^µ²Ü6,Õpc̶J¯#éœd?@bò‹ýð[®DhÔXmtqû˜WÏçrõñ*ÁÙ–4~¹èt + 4N±¨ CkLÅF¶ËŠe"¥Fs¤G`à©GÐhÔ¦êˆq›¢&F‡ÈœžãJ…Î8CFë•#ÑàB}3Òì{¤l…“\¯ŸG‚]Ìú§L8·ôPùR‘Fm:5!æ(OÔl¯'É j %À˜Q¨­«hBåh„Óᆼ‹[¥j娄ÇĆÈuE­´Ü¨ÔÈÔVÓi4²êŒ‰¨ÆŒFß÷QbFä8g4Wlz) wµPbQhð½ ʼnÎÄ2kˆ¬é[µS]Jƒ ”Šâ£ÚCˆÅF‡’($B¢º/:!i9͕韱ѨuvQ„§ï×rÚµ•ù.?¿õ¿óÉ肘þkû¥„ïÉ,$Á„ÒçÅ64HdtGÂ¥‡ÊÙU±B‘ %ÁÒžÕcyÈq °ñQÆ;Hê‘jäª<(qèй§V›.Qy2¤N}ô‘t¤?EʰbCˆçRa`´XÓméÜÊ4wÒ(•«Ã0uØw(§’àÒL{jˆô©h À*e #èÔ+szì"ÐB¤Ñy.#ö‚Þv5 ‹…ÀI6…Ê4x‘àBqt(°uáÅR¨üžÚc¢REW>˜û…º¡Pè dNr Þòã)’5K ¿Šðàl–>J;â;œ€ø «+Ý/Ó©îWd¼­e¬µŠ”ºõ´x¨=s”yCy´UÕrôhTg¾.<Óbò‹½"'ð[¨8â£Ð(òÐÌ:u1+ò9ÑX¸’FÄà×H9µ µÌ¡ÚÏ•4±å¥³ ˆ™?¨‘UšdQdôMáCw<úÐĘg«Á8V±×ïS Øg5Ö¶&¶ô惢ëÂt¥9x‰*‡UOj-Ž]¾É 6 ¿虳k Ê‘+ÝXÊP@Ò&Ôèl>‰Fþ3iâú+ÿÄ+!1AQa q‘¡0±Áð@ÑáPñ`ÿÚ?!žî§ÿìgПC/ñÕUHšÝ"Å×’ÈW8TÿÀÏàÏÿw¾\fLZ­Y½ädõ%gÄ’§›è÷ˆqàû£ô%DÓΟ¢k1Ù6”øž7Ñ1——±ªé¬šGð‡B˜ªVDñ#´FSËm~„Éö—èc³B¯!?V. AOÄYª. m²Êª±z|Z ԹъRw© áž…½+ábÆ›IX¬Å¢, €°Pz¤OšþG¡ÉÚ ‹L%¨;ÜÊÇcžºc$eõ’i†"TÝŽc½¥RûT‹Û“/ìn€dÁaʆ™{FËÀ–4ZI4‘ÊêVÜb'0½9Ñ,pÐm?èCJ›ÚÑ8$‚/±BAY{¯r`ÿé1æ~‡>d‡ìÒMŠé³y"b¦æü»!©1CEyeDÚþQ2ö!´(d ¡l²’aÌ¡Š#• (6ð]äA"{iÚ.%"‘æ åcò‚bä8¼_ö>)"ùÐõ­&ñ,aŠ)¤Ô†úfäsQ¨”™X³ä"MÅI¶¼‰¬ *»½ÿzŒRJ¼Q®„Šé¶o"ú|Æg…]ܺ+¤>Ù¼Ôµiÿb×`æ'Á™ä2<—b(•C‰FØS#U>íÄÉ .sµýžØn)k\È¥mSËA „‹ßÀ¨Õ¼!O6/“DKqS¥±šc59è^ìSä*³Ì‚Òê¬-Õ†fP°Yd;3oúcWQž‚È¢ûÔ“õØ‹™î 2·4êoSòÛ&N …»J¨¬ØÊ%*ÛŠÌ®ƒ¼¿JW¹:nê=\êΆF›…O$N“‰ùO6¦?º’¹k _{‹|Õ>bâ.K¢ÝXrš%üÔIáQ“‘1BK…›‹Ed±È‘#ªd-Ê^ïQT®G:ºÏÉN$­]^l”–Ôu‘Ÿ£;ö*¡Æ¢©îC®½&ª¼òE’™)ýWhm2JòQ;I¦‚ÃZ½‹‹¥;E€‘ʲ܅mC—pGøŠj–Ä!o›Ôl)hÃ&á&žÜl›ªAËû< ?~bÄ5\B›$º«¢ãpb DäÓ‘GÕvMö\HäýØ“÷X–GVÄjÅToD%µ'ÊôH8Bµí5˜ôÁveRRÃ5Ù¥”†Bc5;©èvEÊeõª _¸¸ád57DˆÝžÒò?à½JWÉ‚RB†W‘Ñhï!áÓÉlRv¿»Ã‰Ÿ€“ôØž‡ÅuÉQt0еëgk5‘{²ï#žÅØÅxdLy³Ë|`ªÜÃA$–’^¡UÆ~PS,OÝ p¨ÉEDBâÜŠ(§ÎF%ÞZGwK_øû© TY¬ŠÊ7&¹ìOävb8Sþ=ø0ß,‰Adœ‰R˜&§»ßˆ'8ER%j³Vx*($¯L›QºJQT8}Q’DêÐñm" n”¨i°ÃK‘:©@Z± Ç1âl£Ð$Åe4óP×âšîÌ®è÷FÚb–¦BU4>kº)O ªQ_(UÚYAåŽ.®Id‹M¹- çµ ¶ŸÅtëÙ¿ÔXŽ‘Ë0¯ÈJæñì6ä~Ã3:–ñË6r2ÐYƒÅR‰‡’Jž—"t!:Á¡»ÝK;ˆQÉP’Ö$JÆE@£Ð#"5‰Ü]³$ÜϰÆúv•–†ÒG]¥t×TâŠ2ÿmµóÛ9®¡ÍŒUúç&>ƒwe™@NÉLPÊ}‘ú™BCN§šJ6S˜ÞFlûNJ™¥îlrÛÌ^¿Á£º¾mBÐHDm (ò½žïмH’â|d]$*ð%#J<ˆà#à¦R‰“ˆ:E•V&Q”„hrb3cÆJ2Œ(— z ŸðVV‹7 €¨Lkp­BRH”&Ñ´UïèÆ1ŒAaAAa„ApAAAAAFAcFG£—øR%º$%yµaŽ6ŠQ FM…´íÿáéÁqÏÿJ*³LM…ÆlBцAÒIÎvþðw©)…l{µûÄåœiõÁ‘”X\êS-çüñÏÑ·ø@÷ذø Â6¡*U 'Q’Òð¿ÀAQÈd7žíQïÉ­JÉE5pËT<ֲ҅䴛|ØÄ“Œ“Œ“øïü«Ø¼ô,°e¸ùŠØÊVEp°ÜޱüF¥§ßqÌ•.Ò\`Ö‘¹©¡ÆÙ5A;>áG×v*²µD^Z‰“ÝÉtÝsg•ìN4q<–‚ó!a5Y/Øá0ñ DqùQ͘¤ë˜4ÒítòÉ»®Ì݃„J-G¦G’ÌOü¿:%”#[m±|ÎB§ÅŒpºŒj¿£ÿL‰ßÿøpô§>‰¹)H¥nC9„¦ýü Û÷§»ÕŠU¬d„‡ª?Så3IYT™9r67„Ò³‘ËýçVûòÙ±:ü#Tê–«ú…޲ôŸTî!ulÈ*¤S~ÿÆGåNŠŠß‘Œ|[ÜÂâêL«?{üÿ@f¶J¥éóòå´:Im¤‚îÈlØ¥d³Z3Q¨kæÄ42$ôËÁcÖÜò‰ÉK¡Íͽ.Szµä™ %ßJ@ôðQåu‘ÒÎ,ó6/‡nsBIÉF÷S7ÄÃ$”âèÓ £btMØóø±ê¿Ì|;Œ!H¡+. Ï·>n™q“ž<_ßü&yÎtdoŸèGI;¨Ê!i&¡h’ŽzéUvc=•ä„H»"júRD—yQô GÑÐIÙ?b!Ô6r¬/ÐoíÞH¿ØeþBY›•ÌÞ¬x2eºÅ­kñâÔ½aiçžHÛÿˆôôŽÿv–i­ñ™_þÀö²J¶È«{.&ªÂÐÀ5YÚ¿ø\¿Ê¡{¼XΨ¼—£vZ,|w *±!Ò$ ÿÁ™á8ØŸQð_ñmvÑ F,b§2­±ÙK/œ!l¬Üß¡ÅÔ6úð±jZÀ®ak¦øÿÂOá?Çz-D…"êŒ< ”f¥fôÁ*Ù™k²'J+"É¡Øñìe ¨W _JËÿ ¸ØÿUoÎ0T:5z0l‘VYEd_/q÷+\§¡fK 1ø–àrRtÝEÚ3d”ûI*<á(3mÄ ì"^JŽcLiÊkXårˆfÓ#dy‰fIzéQœD’DNë<jôœ¯©7“¢Ê"oÝ”Y!G*Á¦¼ ²J±"sZŠåÏ Q:ÔGjêj6&¥\œ“ù±ùT—W}ˆŒ ̖̚ŅÉdL ¿_ú:’Õ“Ei2êÜ‹EÖ2Ђ‚‚@Bˆ‘ì—•þÝŠ½ ˆ‘œ¹nY¹s!H¤ @ë='Ø]4_ÙAØ3-TË1c‚ªÁ+ •Ä$•d©ú†Õ. ~õ¶df䓨rVUÂ}ÕT íš]Fùûµ£ø^¢0Ë×Qú׫~WEä‹c¦F„*‰:Ù«GÕHò;Ši î˜Ö–° ¡Jè«Gç¼&“răzVY,±µdªœÌmVf™IEBªSD:¦m«"†Ðq°ž$Ä*I²-[ÝI¨’@ËTÔq<Õ$¨ÌK&É¿lšâ2l¤®³dÐn9!«=a—àÁqÇ’RÊ+«¶Ä CIŒ„ªÛ+Zï„M†tT$ÆP!Í: ŒðÇß§˜´ô-„¡B"¾Süˆ ‚0‚ Œ`‚ R?¢#á@hµæõ#ž ZÏl!4£‡çý0Å:mscÑ«q±ÇHL9K%ˆBZŠT¢nª?Ï*FäûÖ£ÀšÂ‚¨\‘ý°¼ˆ;ØF³ŠÈƒ2 CgHS† ê˜½-÷$®ÁÚ×ê]ó!su, ;|¦J[yØçhèPõh%KšZw\µ°žîB°ÉDÕ‘ºW³nº›%Zˆ‡™.©“ð]äeäCüeÆÑD`×§>‚•J"„‰0)C·RäŠv²Ü|ð¡6M 0——²RgJoLd“%†n¿³))zæYˆBZŠ£C}Z?ð'@á=Fd€´Á™¶eæÎ(RGº£¦…Èí.ÄÛ Bnka\µM˜I¹g ¬ó(w šìS6ª•èPJªFÃ)ß7«hí©Uo©/˜Í)f¹O -‚Ãé$5<Ççü –†—ãDú“è4444@×à|j¢T$W)ßQ“á>Ö)ª%e±6Š»,š²59»z·2²KdJíSàyÑEä£tÙÊI€¨Ú… Z‡…% Kw°ÿ='ñ€[\JÛ µAU­09ð~cCCCCCô¥“®‹A!)--š\aû„fO´×VÒ’íÀô¶ß"Nµà3»O’)à&²´BP hRrôweÁßò%5cQ™ #9ã…ÍH¤Ü,Èf$¹ÌdÆÖr¸¹ì;Ó›ô9Æ2IKvH•ˆ¬Wy°É SR~ØAXfƒ8#»Á”‡´ž XÎ1ëG x>‚›‘ ,Å%55þ#d€Œhþ‡Ždµ[b±ðÞ×-GRT¸±1®RågH¤T y YÙ6R›—…á×µøâŠ5\…SL(°Ååuü”Ç>&¯JÍ{NLNL3³õ^úpWÄ*_ŒÐÐЃCðcÒªw½Í²¼¢Êd¦[¤êUì·cB:y2ðTù¨ÆT"D¶ŒØ©MÈs_N¢)R¯qLx¬Þ ð~èø.p•² l(: 9£Ï)îÇ—ÿMà…ø‹†hhhhcðx¼s%Kšúì-I(J‰ajxe÷2ꎭ¶sbÁŒçwÍ·&E? ‰šÕIn¿£0ÝÆ(¢ eÉHõDÜÔU_iË”à«$¸gÎûâH0Ôr DX‘Ô#Ël¥Ï‰¨Ce’%KÄw|gþ0ŒAÆ1Œ| xÎ)½·=.Ô͉ SD‡o|»Ü´å¨±ÊÉÍ¢Ùý,P#8(v‚TËJ,ü™)ÉbhCɨ_‚Äl…ù.„¹Þð² DXˆŸÓÏ:J^Ã_‡™¬J(•¼CÔ¸]¢Z[WQ-ݧÜí²¢ÕÚþ¡ÛGþ.xO­˜¸#âAà cÇ‹ K…VÌ—‰‡Q£`¾«‚›'öUçÛSº’#D—‚H“r¬D’6mÎÔ8ÐTî]Q1£ØAn-Æž~ÈP±r“ièûØ¥.–ò òs¾bI*ìà "aSJ…ôdrÃ&…<Â]¦éCö‡bœ#ÔB8#âÆ1âñW_¶„!PFŠ4êÙ©mvÄ«×We¿ã¹S­HΤŸzA$•&¶Ê\¥i-it©ö[‰F4·| `–K³y$òšÄ5ø‰TUl-²Ña !—¢ÈU¡¢¼|,kWpG z>Æ1ŒcÇÁµ À/eÚŒVÄ UÚÅ®áìQâέ«Åºh­·ó>WŒ„B[J)ÌÙ$3ð²' ¡+!1bý$n˜sóCU™ ¢Ö(5g~IJå}ÃÊ%BÚ8k±îV›%¹%: «…Å ,-T>i}èÉž×1žOUBM÷Ò95Žãý‘K¡…èS³d ¢g¼‹Eµ¼FIoøð«#6UÝ ×_ìGq:2}5%ã÷~ÑöM"ÚüHãéÞiz=5÷Ào`ÌÙî<¶0Ù]zUBY¸¦.ű šŒçQÎNF>4£âÄÆ1„™!àÄ6óˆî‚ùXZç¨gb­Ô\×Jur±¶Ã:ïHN¨È–=݆éŠÑÊ¢°­`Æì+9j¾ƒÑ†µ;ÿE”‚ž~’J¬$Ü]n Ê‚Ö,7»¡jl+,i‡Ñû®„µfÑ/˜Ø— œ*GQ>£éXI¤ƒV"ZÎ]¤y ÷ùÕ¿ºffÝù’ãm•Wè$c”™áo؃+5Qö<Ç#U½šewÔô&Ôu|÷Ùó:ù$òô+£?§ÜU, W ÇÀì?@.8àB8ÀcÆ<ðÎÜ9÷4ÔüŸ[©‘Ý@ðà?!ÈþÒ–ò°˜¡K=D©F™ éüF8J ƒŠÑè£æïr¢|ýƆ6fÄ&þ¨xã`'*Cùçë€Ï|?CwéAM«2ê+Gê,΢æyÁy.áü1\ßðþDCq:¾D]Ë)àuc¾ÂÒ9‰¦9–g}ÎfmF¦E³Ý‡Éû½ÖŽÌð€z.¦"j¼ü#I5:¬ X9Èáw °ÓµEVCÒôÄ«3q·qxøô0"?ãŒcðc¼KòŠs4>oßÐM> * Þ«Ovr&cBnù’6îb“–届PƦÃj }íÑ8­xIA)2 ‚<3qc=!é÷[å ³Ü‘%ù5¶‚ì„1tFg#I¦~eáÆÕ6•hÌò‡Èßg¸¾­šöà²u¹ËèÂ|/g,#ÃpApƒÆ1‹‘{þŠg0¾÷Æ ¬½Ù‚*y´aº­ânÛI¨’‘†,Š„§pÞcùÇÈO¡Vø¡i2 ‚?ÐÈkqm0M´!LBñèÆc®I0nU]=  V®E¹ÛKrÿ2áÒÑpû3Ïr«Õ‹øšžß‚‘B\àcǃàd;S²þŸTÖ_8/Z*ú.XZjZ¦ˆÚªBÄa‰²Jî‚çäHíÏs—òào .-BRe½c×CQ‰¬fiX×*¢9 4Aº¢/òDîõÄCY2#çAeUÕþBF T=Be:§2YC¨’x9ø‚ôàHHKâ1ŒcÇŒ¿¹œ=wOÖ Ídããf3É)Ûƒfð?'Дt š‹~†Ë€5" ”BPe=†ƒ'†š#r.ÔÜ´’Ô K»Cñ™¶†íÏ §ô$P&”®£ü¸á‘2òH-cwÆÆ§vI!ˆÓLÙm̉E`I#yý°^š !!!!,GˆÆ1ŒcÞ©©uZ/Ëà˜RÆ3¿rg‚ËY¬˜;Õ„€íîx°1Z;‰[p»ØKEãªfíp Š…ˆJ ƒ©?åìÀŠA#Ï ¡:e•E Ô&Nã¡jÓò²ÙµdOstªì’QS9&rž/ñí†\*4E;²U–H—QÑõÁù‡.á‚CV­à¸WÁ!!!!. 1ŒcÁl€ðSúµtIûbÛÛ²3*má·‚rúˆ£Òf]Sƶy Ú–I¸i+Æ_¢ÉSª«..Ú¬}uQf€±jÇ[ß±˜¡m…j¦Qù³+s"tcQ Ñ!ˆKºF¨¹ Ñz”åK¸læÛ™1¨Z «6[¡eA¿ååŒ ]á^ôŸ\ó1âØ>ž ‡ÍÃeƒZ ÃöPC‚mê@‘ qŒcÆÃþ…eÕþŸì_GÁ5oÕ”LÀ˜Dº²É›l”¾‚Úi>k^pÛìxØÔ\ñŒP½D$$$$$$$$$(¢&1ŒcàÜwÝÅEæðQní.Åó‚6n•ä÷*89ËDv ¼¯?z^DäBÄ•ìÖyf<ý¥iÍÞÑaðÅ1á›™…°±Pô7cÅ< q"…Z3ì›Î¦€î®ÑËš„îÏʦ¯ jæ3+mf‰Lï¬ÀrøžÿF²ØgJ"ÔàÇ^;Êw†zú/¨$ŸÕD™wM}ãzŠï7’^Œ8³÷Ô¤¯"£xžaÇ©by£i¢Ù!®Lׂ»¦È–D¶ì¸É74¾ é»kÜ~ú=þåf–«gŸñq¬¢ˆ'cÇ‹+lû‡Ðsð&hߢáoª_q“H@ºscŸruS,½…À,E–Îe%_eäµ±$SY´à FMÌ/2 AhÃÖ@­gà|hÏ…äR_™Y‰ éK×'uÎ2c[.eì) øo ê.†‹¢ÈûäTbÈ¿šOƒÆæùÃ3Ÿ[ ÉyÜ‚ÍÏ$"oÈ8ò ÏýX9‰HïHh¾`ë•­{Iî.ù„¿z5›ýCtAlU¸ïÐç¶q²RúGkÌÉàÛºh9V>î.bM¡T—Iäù C ë›»‚ £çO²ƒ‘;½„”ŸaÐ㉺ Jy„Ú•ÝI/ ó$÷$eþבI|œù_¢U±y¾Û®.膰BQEL cÁ Ã…û$y'œ¾DÏ¯ŠŸ‘¨V®“O(Qâ™r*G¶§ ¿“ú!pd)ÈRÅE*û¨…ÛpA»ÜüD ´axkyüzS™ìÕ-:}›ÔhóOÙš ýàuL²eíù Çݼ™ìÒ‡tM–y|kŒZÎﱨ+û€K\y“™Úo¬§Nó|’Åù°Þ®}Æç¡Ç­Cw,²ù*Èû Ö_tøÔ÷u¼‹‚Q#bH¸Œàê\ТFK1»-œ4/Ýô5Séþ¯ÀžÜïT^óäX¨…eZÛŠ±õµÅçBp#)BÛdÄ!!!!!!!!!!!QEŒc3ÝGŸáJ(êîÓú&Véö¾s!y‘¦é8øðDºt  ’>îÊ÷pÉêå’‡³­î!ÓM›Ž‘óℨ = )×ãÀñË:ŒÊ-Qh°qp mƒ·­=lãZø/ᑽ§KFŒ\N­q¹Ì~¨ù$”F5áSp;u9Ár4‡4!fIÈwl…1Ò‡a%û“ØwâRöp,èÑn6[,ïaÂÐ/æj£ÜNZûêùhÌßA½UØù/ ²cï¡UÐsѼ½'Ômƒ‰çµæl”¾‚ÑzrP]nÛ‡³G-~û‘Ó%¶Ì«wbR¢Å‚0gbÆÁ$’N iöAE€1ŒcÇ•GÞ¥¥dŸ?Á3<½Ð)'b7$5ýÜ{<œ³Oµæb“8œÉ¤ÚCÈqßOÙÝX‚¨ìÿÐNV¾”xÒšÓ´°Y~¾ØÄ\çš-‹Ñ`´atzX¸'…‹‚‰hõOf¨Niâ ¬óÙõOTF¨wn»:T‚|Á‚©ˆ×(B¤Œ¢QŽ‘M††‡rC™as)16c:­îDóÎA¹•g”ðP= VìÅ(†m‚(ŽRy&–^õÙ“¨äÏ Gg–R$Fˆ[ÕAz ¹†Îëº+wÑÀC8›×¸þ+[RûTFbåºÆ8Uó,½‰$’I$“ìÙBwT„„„„„„„„„± (¸S€1ŒcÃaàúþIû7_ð7IÉÿi³‚%±$\ƒØ¯^Õ[;¸ ‡6³,!d-FÅ瑸‡.ú»6Mѵ³Ää±çœd.BÐZ_/8ÔaNO ៮Y¶{eÕh*zPT‚B6†+…ò!XJxãA¦NEf-ÆãrTWqZ³D±ì™‘¾˜fot'ð¡™A$ìÃB…4ب캌hM°€—rw&Óm²sFꉫª9 ýg+ùô)ùËÁ¾µqà…jnW°<5 ³oq!!!!!!!!!0ƒ¯1ŒcÃbņgÿZ> »ù %䢽Œ§”t§ôJ¾gWˆS$d[Ÿ+ñèƒRJYØšÐRE’'‰d‚¾fä÷ä\‘§œd.E¨°jðpŸcŸ pÈcj‡è/ñÆÁ:ò+q†b÷¡OBZÐSЃ£ÑÔ|î0†sàÎw5äî ™IDd|‡æb?b”Q³­9Ôˆæ"pÚîãku¼í+¶(bYS.à’Koiø‚ ‰/¡áŒcØûTC-)î¯É)˜iïD%OùãI·ðE/wvĪ â|àª!·ìIÐÉ ÉßA¤ü$;¨GC^ØnÅVlFÃ6«˜d-"Òøî4ì%ìf?M×… 8'‹…Rr±ÆÊ»)UuÌ‚­«É ‰¡úÓ<Ú{˜S 9/Ê¥ºgвUWôg*"ßx¨N)S)©í2+jŒ¡5ò4€Úˆ´õº© 9åÕØq*î°&·Qø‚ŠD±Î¾QÝÉVèö»Žiò‰•s¢ù!= yhF™rj+ÀèÏ)4(žÝ‡„ÌNãk}‚bú7 c- ã -}°û/Kø+‘=O¢%î@jOÅȃxF¤|5ËgˆÓš¥#À‡"l©ûÁíó! A²å(Œ B5?2ÂÁjÀº1çé’Áþö8SÆÂ;PõŽ>,v÷OR½ER¼¼î¢Òäd*n˜Žå €Šµn HM«fälÕ]HŸ9{§ä—t¦æy@ì„n¿ª]ÌläÄÜÂnqYv„ÿÔ-©˜s7@Ké“Cmæ£ö\@þ"¾ñKsÁPT+…Ñ ë›&Á‹!l8ÜI$á%‡3¦„„„„„„„AÀ›ÑðcÆ}eª6è œÎv/éT¤ñS«~bS…ca/Þ£Õ¢=ÉäYÀ‘(™v'Ñ1Bœ$&Ö¢›–°£#X\Ê›™j, ¬x“ü·hv!ë“IÃÔFBBgwEÑ:¦1tý4¿ØèSv-±dYžq>/Á{;9„ AæÛå®R Å$t\Ûd¥ô3Œõu"{»õë¼ú‡OÙwu ‚mAÝú}H_n<¨z’I$â“O!!!!AÃã¸ØŒcÉŸ(òF¡½.be͹µú"‘L¸2_ÚMûú¶‘Õär€B ´§j¢×PZ¡ÊëÎÖóäºp&#Àµ A·gokÔ‚°x‚Óµ^<C,xG à‚|¦ñÿˆJ·8(Û‚Íç…¼&rgt¿\ÅYJ(j’I$’6K½$$$ ‚ ‚ Æ=Æà Œc:ì‘;-ü12mÄ£J±ëÔ¶´.ÿ€œ|-ÕÉI·&ɹ0:ÂJ!ÙÈѺTäN[@Ö¢o,. <ß\v(…fÄ%BÌ7fw¸ž± ½ËÙ ‘†ÆÆÆÉ-fdpÆ0AŒi¬™¶ÉKèH×F®­» k‹|þîÍY¾Ê弡ÂÉ#DV!b…B ‘pN/"BBBB ‚&z? cÂO¡C‚={¡2åšÅ©*A)ڕ΢Z(×|\ G:TZ[7ᥔ=ŠÂ•H‚R¨Ò…íc1LÛ (‹FBÔ8veoÊ~þ¼…ÁHLaûãØ‡¨a±âËÆ¤ñF3Õ7×ü°ˆ P}ÜceÁ;ëÂÌéwsà|‹žJ³9^¤¯qÖ7¦Ä䆊vA.¢-Äp„AA ,ðó càF6¾õ'C¢’N`EZ•¬òÏ(´9Lý‚­¸jªDi.È×ã.HW+3®S`r™m…jŒ6à\¬7ú«7œr 363¡2©:¥r'|^lj1lSâzqF+‰ŽËVöWãIy.vž¡Räi÷q"FGQ §Ž¯6Ä2Í‘ÎKºê%4'²_À-0ÌMc˲!‰ùžE@«©™,[ çB5©¨BCWBAAÀ\vâã l÷à/P9Ùµ›2þ*&·u3ðÂRwA'™*iÕý–ŽDKÐ ‚ˆx˜bwå‡j.Xl,9oÔó+ ÓV+0 º •¥‘EAˆCbV%xI™‰u#® ,å`FYs/¹cWu™F1„ÅMâ“T:5Ô¢Ã9֨ӋφµL f®Ð~¶úMÜÕ“Lzŧ\œº0ÙæI$âÈöè3ÌcÀT÷ÁˆAAAE|ŒÆ°5ƒŸÞð)c›*C.Bäßè—í @æ%#‘¨’ð°l]~ÃNcØ AIEƘj6!*Œ¥ƒŽý-Äï'"îÏ©º5„H™2Fàµ$2Nä›ÐRT”*F„Ш»®^ÿ¯÷Ž½Ø–n2¨›·9u"™G½#{•d¼,_’¥^T,ëÝš›™³Oµ Ô w5ÒwCvA·(KgÞ ¡Ê¡fªŸbuu2RÞ®HBB„„AQ‡Ça†1±±’¹ŒØ=•-<K¼Ëü¯³Ü‰AÞ„ƒY6‡ub‚Ô¤h¤£q¥°X|¡¨8Ãs0²aX>WÛ€>8ⳉ ÉBKw#"á¯W&5HkýCMͫڃºëBåÔgóO™žÍ“W3M‰ñ=FR}0›?· Œ`µY¢)s`Ó6+™æm¯4«221Ô%«»ðº’ò.5˜hµ’$’I$’IÁB‚`AAE\iÇl Œ1ã'ÿ‘#ÐDŠ¢ƒ™DŒ)ƒˆUóðˆR5 š“Q¿CST¶¨‚0ÉrâX‘hJ_î¦ã‰¶Nª¬ ë›lOSc+^^i>ï®V ôP„!B" ‚(¢‹ÃTà 0ÇŠR19”|¯ÑÌÍ"d‹`ÊÔæGV©EÛû„s F÷ ø6±Èé¢Þlºcá"xOÝ)c 9¢ÔÈ%0e…ç øŠ8Ö9zÇÍj9‰¡ÅE96^ Z¥fÖCt×%ÉŒA1….ãÐ|‡š ù#„K”¯"¾[NK%»¡¨òÈuhbP£â\B„¸ QE‚§a±¼ÉØ2¯ÒG‡´“KÛö?d’VV…Ç.ðD“Ÿ8ÆaÄÉÁPr(cƒ ”-2ÀúyðŒz0F1ÅAA 0˜®Ã„Ø‚ÓTì·n„Z÷ô„Ûq ÉF;o†n‚*ËJU-¿~D·.š™¶õ8 Ž‚„!Bà QE^Äðxïûì†îß‚Nº;¿àÓri •¨#É$BÊVØ£&NÀX&uèŠ8ì|¡¤¥Œ…¥£¶ÇCß»úŠÆ= ‚ !! ®õáˆ:Œ¦ùHHòk!ÈÄ1þÐ&_ žª7‚)gQ¹éJ>‰«µ$ž« Œc`„!BAQE\[cÁ‡?¼…S‰’ºOì>F*¬¿‹,€‰±{Œ&7À‡íåz>Pòr ƒ¶·÷ô¦|QŒcAA$$ õ8;Ù÷D‚Lz_’¹ŒY{•'7‹7%Vr¦Õr6ŒáÐ\1İB„, 8EEQE ÈØØØØÇÁÈ«AÕ"’ItÛÀ’ Åá†6Ã7Œ²°¯WÊÜ GÈ%Œ…‚ÁÛ ¨ôJ1^Œ„AA@óÁÉjM¿ºŽëVbY VÜÆ–›†±,Çï ¨-QbˆàŽ‚„!^¨¨£$ccÁ‡jD\WU—ô“D_]ÈÍÛc4N¨%0|M‰Uò= ‰â[I½xkä QG„!^¸ì1±±±¼ kŸµF#³îÏ«˜Á¥†®†ZŠA¸+x«BîÛàj· )z-–a½«èèAAAAAa±Hð•QG´s‡ÂI$¼'p‚ Ž%‚„! ÖË “ƒádÿYñò1·«Á+˜‡½$+”2p †£â[‡áñÂ%Z"äX‹KpÞ|*= " ‚°%Æ@ðnèÈ3 ÌÞÁÍáÌ©À#„^áAÇ „! Öóccdñ<9.ƒQ¥Û²¡5÷ÓðI$‰Œ6"!ðì’kŽB]úŒ¶£çRÎúp‚¥Áir-E¥£ë×A$A z À­Â ¹¥÷ÉÜÒ “HÖîAæ-Ak£}ˆñùÝîAAp!B…èßÅöÆÉ>„zÖžæü{Äç;Bþžœ²'°½/«‘ì Ø‡Œ˜sÇɲι,õ  À°¹"ÂÃ1¨eˆ¿ô# HAz€Hn^ûÖ6 þcô6~õú?è¯Ð—wõ_¡#6äák¼Ø_;GŠÄAAAb„!Xªí’7Ã<;ô{!m¦e+ ’*i%NI$ð„==eY Ñj$y^"Ž%„$$$$$$ ‚,ø@„AG„!`X·ù'‰ðóœ¿#T‘¿ÅGIÇÃÊ^Œ£ Q#OO X.$„„„„„„„„„AA~öà 1AG„!b.1ßÓïH¼¨Tô€ ô0ã\¥Ë ÐjÉ ÒÞ HHHHHHHHAAEzÇöƒnQ¿UÉ)ÐÑoÙ4úšfgû"ánño9Žr¢xoDF°yðÕÆ\B„$$ ‚' *(¢Š+†ï –Ye†| ÆiUŠê̦~[ä-ÉM¨_1ÛÉò!¶¤æWœ½†ºCžYJÍ»˜¿‡†æ¡\N+;BÌʶĢ5W¶ŽRËúFqK&Œ…¸ç¡UiZFÊ](Òœ‰9k³°îÉ=&i î§+U ¿´ãŒå ÆW>¹à‰äAøOrË,¦a­¦7˜˜ý!Ìj‰Y ng4 (PÑ6ÉE ԩኧ" d…Nó37B‘”&UJ¿(…·dü3øíHï;Cgö6fƒL¼« Ó¿QˆÌ&¹¢!»PÇ H1&èª$E¤l‰JÔœað!BBAÀODQQXk‡ì²Ë,°Ã„ЃCCCCC>ÎøXWÛ4††WQ¶Íº·›(nÆS›¥ì%ÙH­¯Zª mD5©*)W›jÒ˜Î[¢-6î1hE2HÛÐÞ°Õ¢/36@¼„;˜Z‹û›ú?tÍ·ÎFs ë¼å¯¯A2[£bwg!©ØrPQ¶Wco‰^"Æªïæª¯*f’ùäºÄ \Òeg°kr›DÊnžÁ§åëL©Ë]•ØK³L~ øñÛ”nÉ®Ly &¿‘>oÛ Iœó â°B„„ ‚ ‚z@*(¬5ÃöYe–YañA†††Š¦*¸œ¹ªê?9Dþ®‚v†• Wdo${¢²Ç1Ì…¼p$²¤¥4^0‹Ž‘T¶C€±V³˜î0Ï{D扎Ã{ó$6j*%¢R÷ °†Ô¤³PèOžtT;~ߨ™HˆÐ*Ñ$ë²îù.Üp*•gЩ§p÷H÷ªèr„ë!M•w’2aµo¸Ó;nIËy§)ˆ›ÅFJ¨5k Inx<¥Ëü|¸S‚IâB„, ‚'¤¢Š+»,²ÃÃà‚ ƒCC£<õU~žâˆ ÌøˆÞIam-ûåDG„&0à 0Ã? ÿËX!B„ ‚ ‚ é"Šâý–a‡ÆAý!Bc 0à 8ÿæ,V !BXAQEѨAl0à > €‚ ƒCǃãB˜†a†qÏÿÚ {«¾ûï¾ûï¾ûï¾ûï¾ûï¾{ï¾{ï¾{ï¾{ï¾ûï¾ûï¾ûï¾ûë¾ûí¾øâ’Ûå¾ûï¾ûï¾ûï¾ûï¾û¢6ûè|¾ûéùCo¾ûî ûïvûïæÛm¶ûà‚Xïžûï¾ûï¶ûï¶ûï¶ØÇósíofN*@©ô÷‹6äB“1ã€ÎÒžÚï¾ûï¾ûï¾ûï¾ÛïºÒ Óﮃ}FÛ`N‚HP§õ˜cZí®L}ªû©¾ûï¾ûï¾ûï¾ûï [ï®Û"¦ûo®k掺¯®8mš2`ª™¢¶j¯¾Ûå¾ûï¾ûï¾ûï¾ûìˆ`Ã([ï¾ûï¾ûï¾ûï¾ï¯ñûï¾ûï¾ûï¾û瀞o¾úï¾ûï¾ûï¶ûï¶ûŽ0Š4[ï¶ûï¶ûï¶ûï²é$<ôžÁÃï¾ûï¾ûï¾[ï¾úïºûï¾ûï¾ûï¾Û†1[ï¾Ûï¾Ûï¾ÛïªÎÄ®¢æ/¾ûï¾ûïºÛï¾Ëç¾ûï¾ûï¾ûïº!a Ûï¾{ï¾{ï¾{ノ#…ÝV ´ï¾ûï¾ûë®Ûï¾/¾Ûï¾ûï¾ûï®’Í"I4{ï¾ûï¾ûï¾ûï¾ûï¾ûï¾ûï¾ûï¾ûeºÛï¾:i¶{ï¾ûï¶ûïJ ¡Ì0ûï¶ûï¶ûï¶ûï²Ûï¾Ë¬¾ë/¾ûï¾úï¶û黎b²Ëï¾ûï¾ûé½h‘@Ûï¾Ûï¾Ûï¾ÛeÉ}²þ~\¾ûïºËï¾ûè‚[¨’+§ºûï¾øÌsø¨B„{ï¾{ï¾{ï¾ûï§LzŽöÝ›¥¾ûë®Ûïºú¨‚š¬ŽÉ¬¾Ûツ¡ AA[ï¾ûï¾ûï¾ûïõ¡)»uòM¾Û¬¾ûïºh ž(f–©¾[ï®QÈ3zEò$Ûï¶ûï¶ûï¶ï†#‰J<6÷¾êí¾û®Š¡ºZêŽ{,²ûî´  |9Â0ÂH,ûï¾Ûï¾Ûï¾×N —B…é °óúÓ¯¾ú †)mºèišù­¢ù¯„Ã÷óJ qK{ï¾ûï¾ûï¾»ãŽúëžûç¾ûª¶9ネ$²{i†$žé#žXf ¢²mcJ âE[îðïMüûï¾ûï¾ûï¾ûï¾Ûm¾ûì‚çšú¬ºª/ªË¥ºÉ  hÅ,GúŸ>Âc>ûï¶ûï¶ûï¾û¯¾ù9÷ó ‚yíºháª8éžø*¢Ë,¢eàÊ3 *{¡ïj—-Ûn¶Ëï¾ûï¾ûítNLÕì0ŠZm¦Š¥¶k&¶Ø)Šë€"OXé‚0²Ç7 ½.)eTb¬"$®c ¾ëŸ­.`øv¾šhº[çŽû䦻᮹E,€ÈúA Ð=ó,¯GÞ ûᄎïð-TÈN‘ó%Îü޶›§ª "’û£ª(®¶xL ³ÕkâIÀ@:ZÜ8w@ ûï¶ûï¾ûï¾ù“ïµÃ1÷é¦éo¶:e–zlŽ{h–# bÉ3‚ƒ `OãɧEá¾Û/¾ûï¾ûïºÚö‡7èˆîº;ï² «Ži¢¾©`–â;P‹Ê]È8ðK†.¬¦ˆ%¶ûï¾ûë®Û–ÄÃS (œžËêšh(¦ ešÙà†“ `ÍN9J JɥʂÙ‚™â’Û/ºæÓ\×ñ¹²e¢ ¤ší– 쮨í°"Khh 4 'Aˆ ÿ—R *"tš(Žï²ô“LÓnQÈlŠh†¹%ŠÈ¦  ÇLÈ¢¤ä ‘C8;ïŠkã¬ÛëOtYRá:^UzâF-t¼ª*%¦É ž˜çŠr „!£Š ƒ€(/®9ï¼oÏäÚû¤lÏ6(5ÃAîs¶b®J«¶›d¶H*¢RJœîù4ß°¯¿®&{è‚ jŠ¢*Œ‚=tÖÓøRÊ3I2[ï¾û+½>~ ‘w€àºÂ€K¿pS6?£fHJmž«ç‚[à–;¨‚{¦¶8ã¤à‹ CJ$cÀ`0Ëdšéc’ûà‚ #Ï:Ù"{Ki²™`Ž[è¢&¦ºn¢ÈdŒà„,#ÏƒŠ›¦–˜#‚訒û'±ìýÓ{B›b¶ih¾i!¦(è–Kæ‚æ€P‰$ðΑÂ8°†˜£¾úeŽ‹(²j'–דv?— aš:¢¢šm¦xí¢ª"–‹å( K82L<ÑŒ<"Goº+â†úi†:îŽHe®8¤ª˜)®£†º"–«ç¦Û¡–ø¥8páʼn4ÒÌ>ú%Ž{¦’ˆä¢éí¾º®–š«–É/šø-–Èæªº)†#¾Ú 0ÁN,ÑEqB rÇŽkeŽ*âšIç†9îž:$¦n¾hgºI¬º{ë®:¤†ûï®úáˆãÍaÊ0 ‚(qBšé§¦ˆkŠj¤Žê(‚ê膚邫á®7 jJ/Ž*ªŠÛí¾ûï¾úç¬p­®òÈE˜!®«,ŽË­šû#‚Èm’Ø`¶éèºÖrr’~^q ŽZç¾ûï¶ûï¶ûï¾ûë–aä" 厉 šJ&ºÛ'’je𸝂Kæ®õ6+Šš÷‹Ûç¾ûï¾ûï¾ûï¾ûï¾™kšÉ%¦+é‚zm® m²˜àª*æ†ÚâºÚf†l¶º.¢ÿÄ-!1A@Qaq‘¡± 0PÁÑð`áñp€ÿÚ?ÿ`7OÒ\tý ¹ö€[—o£phñö×¹® Û—o   A÷[øJº]CFÕºqó—WQ©ro¿„U¡¾ÅúÇRµv”-ï .ãú™¯(ç–ßñ ¾¨2ôˆÈ#¶&žVcÉÿx¼¯ê˜Ö§Žoo ¨­]¥ÈÌX$•Zæ¶ ±¤"Ï-a•G¢8÷#ì@šj¬ÜP :×î\ëœù­ªá±n>IPÜI­Ð3á5Y–XšÆ¦*ó ÷ÁU®OÒWw"T3²ê<4m㹚é^„C®á£«0ª·>RÎXB²BÐ=w ,±5 ê—OHt2º^µRÊ…ì7°ޱ…~¯ÔT¿{ü­C,B1CX7§çinÄ@à)[p .ïô‡º¥ñhJU¬fàüÁ-˜a=HÓqëDt­ž›¿”Q,vˆ•Ê@ߘD˜2Áé¹q† %¦,1X= 4.dÀÿÈT eö´åjVîšé fÜÕîÔ`¯ÝøF…‹\··HbŽƒ0î‰1®}à ©Ï±qm[, Ô(-ÕíãCX»×Æ0•«~?fyTZÊr‰Kn T¡àÐáSŸ±¯÷2¾uå§Ì®1T:yÅÝ]¿ºÆetq]à6ÊY·¬§y vÎ4–u¨Û\ÄVÖ6þé ´êKC­Þ+¦“_¯‰Yç«A«+UÊ]ÁÎ*X6ŒÔÀ¼”£dC€‹C,tçS{åF «:{JÊ, ¬ï¼HL¥õÍD¥:ïxö˜“k›ÏlJÍ6ýË…ÃøÄ‹jߌo@n“ÎS—¡ëÛÊ uz^jZÝ;ïÄ/Ûã3fßn³6ïVøí š½·ÏxEV­ßnd…Ê7DgŸAמŒÁLöûe¯S ¬yºÅK»Äý“6UÙý9‹Rq?!¬ RõŸ³¤pÊô?™¬îìT˜µ%Ü2›!ƒšÀßnGZD\Ñ5w6:¦™uƒ¥ëök[t¬;k#”׆Ō[]jÛõ‹hßq%S™/o¿€Õ˜CË5ñÐYžuæX'Y¦]fKkõÑ‹þïÒ^ÜM®ÃÇhZ10Ƈ¤Õ.bôx0Ziß1í&Ã^±«ÇÝh‡HEJš¸ÔYNefe9uûÀŠ”¸‚—¿ê*–I†”?ì ¬gF|A‚ë<“áà§ÌZ‡˜c¼ù•ðÀh:ùŽÐb¶©`!¯ •žaºÇMr~ÍòÍþ‰d¾'!£ ²Þß¼m@h3;Ò¢fWC–ßèwNŸhVê€Õ¾Ç«IžK˜…ÇßtƒiRÈ7KL,Geà:·bÐAŸ·rã†o¯óÈ\Y+xj %J”v‚#ʺp Z¢×Ýãb`WØ%J•+’¡”°+'2‡.À$ÑŽj¸€Ò S_Y/…Ë—ÄÌBüö€hSö®_éÑá=¦¨rŒ`¯XË»‰já©È]KT-tÛÒSÍÞUñ‰f§¹,Ó|l}âeÕLž²«ì£C1™U:‚h*™Ë—4dÐ1Ç"íÆÜNŸ¿PîƒÅqDìeõÐÙ†î_x qSZÞGÍN½vSÛIc½$$ìd:×H á|*RRo-Š¥¦Y–Ëú‡#È¥'8‡¡¼¯!;êo1.1×ïj‚ÍX_õ‰¢åËCuºøšœjWI™røj¨nîpo._ƒÈ¡W†nˆ¿ò<Uy¯ñÁÅýóŒÇÁ|M1EÂ@©ttñˆhO}Šˆ@°;ø±útù˜hý½ Zƒx!š5G_ ZäY+nuÈzÕ>&]“æ[ÈbÌK³àáÐÅÀ?UŠ5ÒgzD…ûEƒOYn¯iÞ²¿ÕˆœŒu‡Y«è¹ ‰Õ%ÃÁÔQ¬«$ëØÇÏ#£=‹à‚ Qa—.\P4}ߥAoRLÁp`ƒrœ3G °¥é|-ž+T`†÷ÈꆿQðBE·9F„iï/fß«óô;Ø}>ûº_Æ«¢/’"=H¦Z^\Ž4rƒ¢Ÿ;õ.·AäM&cD¨`šU'òD ¤¤ÛŽ‘±ÂUïR ñ{·cýËCèv?ÛÂï²ÒÒÒÒï–1Ð]¾5›š®Dx.\¹| ÇQZÔïîCBQ¬·úˆ k ôÚªÒõß ‚ŠüÊñH«Æ±Z;§D¬Ù¼c¥EdîCyf ‹tö(sPAÜ£?˜eÝBø™WOh¤Wç>`Ä!H«®Ý–[Ó§¹ùw‡p—Ä©xv9¢ 0&/òï KrX1H¸’¡/.cçóUNVº^ÐZÂÖæt¡M¥º³P+ÿÀ¯Dóÿ<=N³š¥WÏ÷ ¢  ‘¤Ô½¿ßñ(Ó3’(ü«Þ9ư¤ °J´&®5™î“³( 8vP£üÿÄ,!1AQaq @‘±0P¡ÁÑ`áðñpÿÚ?ÿ¾à±WEÛZÎǼlWUSzW‚†-[ç:bã·ûð6«VùÇHV›sÄ1MÕá¿Ýµ†ø¡Nó·ûðVŽìj 5/>uð@LtýÁ‘ o¯ÄÔ4tÚö…*²Å¸öŽ+azôèEÁ¢Å½{æÈ„V†ªšr„á×OýŠ™¬j^ñxØ.ÓÕÓƒªwŽƒÑ‰­ ŸFâjR´+ñ Ë­Éí ­U踌‚Ì×*‚%‡›ÍrÄЖw‰“b…Ë›49f¨ÃªØ÷•6pë§þÆÍ¹ß÷¤UÑo>ްÉZ°Š]ër•] sª¼ãHÀ…/Ýå0`:¥ÑÄ{ ½¾¸åxµUÝ/^QKÓª^=¶‹ZÒ§gÍž’py‹•åí)Q(Ò®WÔ­o¬ÍЭ\µ¼H ^pA!UM×;ÝŽÜ@MœâæÞ ýL£†£eÓ:‘5÷kF»<í5+F*QÉi}æ™ê/©¼[j´ ³û€¥ B䈭‹¬ÀÂ(¶hÂú€ÅçŒ ^p0Õ#uÎ÷s×MlvŽEÉUñLUå-†ÖÖPPUÖqy”v…ZrÆCYt=¢h#^v¯Ü~±B¶£[zÀ™Ì5ûÜ”ŽmÕ{‡ø©òÀº"[aÙˆÐ¸Š§ìÏ—FYEô6Œ ?Ü1ézéi,P£jšÝQSm HѼp:z}áZr èï/'K‰ƒöK»m¥À¾ìWkT@uÆ}eÚ¶:±‚ÁÛÞϼ Z¦e;±ÛU¥_=âë7Ý›ªùï²NìjÚ=!TwÏ¿ÀÝÔ /•s ïÖ0¼X4 ¬@³I–Ö•Þe³Cê¦ç9dN6èv¸P\Δ(s.)¬J ƒV…æE P¾³:€¬³5L> šBÍ;Ü" :®^þX-‰~1ÇM¼® Ž©ƒ½Ö©ch»k˜'IÕ™jμêy·ÁO¥ú–u§–F(ÏĸKBÇ"rç(LûÓÓ”-š3zˆ_´Y (âìÆÞñªP´nÕ®rDÀnõXÖaÍ·¿S¬FUXÅÊQI›»wÚ&P2èÝ›)·ž¨è£H¯( ÑQO”]GPµ­7å1Hwàݤ¾_‰™¿{Ö!jž 0éÖ"jyÓ"=ÿh‰¯”!S"¬¼^k¬È6¶¦ÛD \±w¹ÚÕ—sjÍzÀ€ ÅQÖØÞZ¾•P cñ|ê,tmeÞ¤ ,tÛ@`jí©X_X¢SPÅÞÐ4,ÚÊ£3(ª@vѼT У–æÑ¸VŒS}mE] V×Ö>(ho¿–x¨°a"¨éƒÏ¦4ø4| °^±ªwé¶ 7b »yô&›ÔÓ0-ÝOÜ Å:#öõ]`ÔU­ ¤Òxκ×ÍþM66!¢d•¶˜¹tYyJòeq랇»+Á6[—iôû8Œ ŽusxùCâÑ4%‹}hX ºÀûJµäÞ«ËÂÍ3Z_K¢¶€ì×De‡¸JkyTiJË>ì5ÐÞQ•;ºz@GAÀ`¹³ËmÜÃø‚•Û^£äßZÝØ kÆ}•ÿmÎS ;Õ/iD„rί¼§AˆpE– Y¶=1ñZ)tå¬Ê•ÆåË—/À0-9ä•QL/1°—.[É)î“|Y Ä|>…2`m†cÁÓ÷Á£á–ƒÏСŠë/²ü~ÉVŸ„ª?‰{‰`u*Úö”˜Ž§òU wІ:.ud|W“|4étŽhÃ/cû-Â6hxλû”Ô¡4š„jꊵZ…É0eè";Ñü‡‰-úEĹs´)üž[cÀ_^Æ*SãÆK€Ñ¸íH@äÖXÖif~»Hç §Dy–“5TCËcÖ¦•3)×¶|³¬‹Y‘rà¼4ÁÈÖÿ_Nޤ'/ä>µM|Ú¨¨L-ŒÇª&b²3GfA¬#·J¾Ž¾WW °²è=hàC-Ê¥µ°xȵ.\¹g†þ‘¬¾Ä;3Po¼¸BäÕ:I½×h«·É¼H‘º£tÅß%ÆŸ¢%ÝúÍw|Ds+…p¯7–98\¿¥ä)Ñ9&§óëÐ+ÀªaÉ=Á}ã·;?Ø·ì+â ¡TÖ Põ—5D4¤PŒ« ©R¥œ¢>å}g}F½¸¨jÞEþ­AG¡ñõÛ™Û85ÊáS3ÔùðÔ¦Qÿ{Ħ¸U›òvuŠõ1‡°ï“’C™T©S®åû}gˆ½(¾ïîá¤]åô!ƒ&Ÿ_ò_˜Cˆ7¾Êë+¬¢4bÞ»C1ž–ü• j:ùüK6–¹X#3Â¥N˜÷õž/ ûଠ˴˵.°Æ>½ÏÉ~a íÄ ds£ó3%¹Ës”ÞRS” ÐˆÎ¡‡òKÄ3S) R§rƒßAQ .|Ý‚&j!b÷íä¿=ù„ÕÅR¸:~ °àcåojPW0º1 x˜ê£V„¢Èy?Ÿ!]%–¥ø0HC{òX¯ÌtˆÈD¶‹å-柄L¹}]/±%¦gÔ=ÊŒPV?ò'D¹ªAhÍXàçG#*‚ ××Dø(¯Ô7éò@ ®fÁ ’¼¥¥ ›x ñ[®gBZÿ¤ÿq‚åÔF¨¶¢- ÀÚ4 yc%þ 6Ùòu*T©^ 1cZÔëùJ #«iž¼ÿr rb–ZEJ•*T¯$ý‰G¤UÞ£«`ßs{ç‰yHìH/2ÝJqCUøæÀÑÔ£>]û *|×ÄÖ4Àj‘ߨš% è‰w$Ÿ]ò'×c:Ⱦ% À¹Í0AD ƒµåß°Ô¤²îm4$Z——–¡óåß± 2¢‚Ýr¸°ý¹á/H¦¥ÿäçÜ+ÈxëÊÔ©R¥}—O¬R#¢½"#a JŠ".7foþ¿±²È †&íòµö ‚êô‹´T¥K·šYÒ`«gZ,ÚÅr³«rÿ€ÿÿÄ,!1AQaq‘¡ 0±ÁÑð@Páñ`pÿÚ?ÿ`Yö,û}‹?Òú}ÛüÄC…È <õõˆº zC§âX%¡Ìðéû+RÉd³ìh–}«8Ù÷K>ýœÿÝ€T ¬Äí-‚Ò‹£±„×ô]¥8ªzÄì”úýEr ó26@»TC´H¼X,$‹s×7<´úV¢,I+ðƒÕP®ehè:N¸yqÑ*aù:¾ú€hÍ wÜa¹‘̪±kF[ Œc\íGöˤsÀ³í­Cá›´U¢$åà"ú:›ÚcÉÑ(°a¥«æûA¿®íJÈ6¾ÑA8½+±r÷c)t«kñö¯¦ß´=?ÑÑG¥y½e‹,¨\/@A¦­þû½ŸUP]aplà箥p­Ìi…Ü‚©aqí®ñøiêbijN¡ªŸ0Å *‰ƒÐí>Çd_Ä} ¥UºÖ´z‰ïH‰þeo ¤Xèl†7 ‚l_”}µâ­+G1™fËd`)º…’«x!,JÕsŽ€J-$Y|á€Å‰ ÷ž!?ñqé-XSѽ0´u(Ý¿™tèß8Àž›þ'ôï2:š¼ˆM{b“Õai§>ã ÙYYõd¸rË´}W”ÍAOº?Z&nxgÌqæ‡JèÁIñ)Ê¡‹ÃÚͳ:É^°´{c‚/õšœ– c¾%kag"Ë^Ð Iò‰c‘lNHô…Zöµ`aºŒ†E@ Ce":­EÓ@Ùkæ; «=¿äÍHÆüŒŸ$i6Q}jYý¹±¯EíV²žÙýR®“³,"Å4Æ Ëà ZŸ„bhêz·« &£öÙAÕ\¼0’CŸ+=œþ õ.9:÷{7lªåâáx g-XëÌøŸ(È„à;¿Ør~%Ÿå›>ÆÏ±³*&n×HÌðLï’±‰‡SÒp[ξ¨¸qL!f†%5rÞWžÊ^ýT÷‡/îÙɧYC$%Í¥eVdt¨Ù<©+IJ‹RÁß=Å÷q%wa¿`öõQUYn&¯¦©– e‚ènÆyaé 6·Pu§¡Òb`åä"…!Náýø†2>nI¢r~{&¹à5Ú\GR¹Ûù—ªÿ×2 èÄ\?µaÆ Ã›/‹ýBZ•UØ1’Y³öbûAMÆÈ»þÜ YYâ]Γz/#´¯v^ªŠÏ<¹­Ë@¦š³®ÏIs §gH/Ùiªs^Œ A@¸_Vi5fˆ)Z€*YjËbK²Õf¯Ü£Äg RwùƒÌ$óA+ò‡¼«A´;äSp?lu´ã´©+AxÙò‡ýh²ZäŽä}çàëû”Uئ²Òu_y*CÙ–]ÛU·ñ…ÖŸ³÷²â«êå€EÔÕ¯Q{걸üк gQ¾VϾVØså(4i}S“]¡pа»W,Ù«¸ván¨µëUë.R®£Ò] ­îo~!'Ça}ɉ€ÐÎßáªÈOOÌLgªìëû„À"»v+ ó rE½GÂEg?Ô-pè%0»u¯Xåp<·u.˜CR±U‰Œ¹——ø}b‰S ³‰èÈ¥a(½öþ‰qlIš¨·<‡CþÁò…6²ÎïÒšF-J¶9b¡«Ù Çå(rÄÖ˜uµÊ1)Y1š|‘b4á©}•úo\Ä!Ìíxƒ§þËå.À™¾ŠO‰Ÿ~bgÒ0ªªuÊ'¬Rél(ùÿ, §‘kï^òÅ&2æ7‡Ãè^Ô >"¯h¤uUx9üÄÀët.|WÌ:ç: \sYô‡€•F1cúŒ8-ùYÏ®fhHî‚Uàïñ.KCs* ëò’˜&¬ÔÔÿ½KL¡º¼Ú‰‹án¦[Š÷0C8ùlk-ľŠ‡ºD™ÞÛZ–j³z¾òÕÐÇ{ª«¬khV;å{Œ™Ü)”drFBc}3ÿ òõ•ÿNâœ|ÿ‰w+RSÖ«Ö2ØÑEt ±%/³ Êñë=õ©}rãÕióG¬:JÍ5_²yˆÅ]N§x‰¢9zÈ ½¦JÉA#Îñ*ÕXF—‡¤mT]íU]bÓC…g+Äs “¤rjr¤Yõép`y"Ãò.ò¨d\Žè½IXŠØÀŸ×§Ö11éÈŒáï_ÕÀ×L¦ ¢lÐfæ/ÜŽ£W®ž%@ÐM7ÃBÖ¥ W¼àºQo]þ¥$ Y¥ÙO=±aÝbäïòŽ*ÑDý‘æªFÖs®þ!„~æëQxp+AÏ(¥* ù ú‘kÜ/¨»{PRóÑêû@ 2ò!Hša'Z¡‡ß“ÆO+Nëá(µö‚÷¡¯xR-Hˆ²ÁÈõ97ÌìL.¡å€(߀OZ£Ýƒ®g5¹ÚîüNü‡6ÛŸÔRƒeƒáG´¯Q«Et0Ž]2ZCûuo?i¹:¼»Æì«s,_æ1ÃV]ó_´±¦Aòe08Œö '|ï”kPÔ‘²½’[ÿÕõ„‹ðLš]0ÿQ;Qκe¸Çc[ ëJŒäÁ¨€çžP^E9µ‘ñ¾ÐÃ+Rt¼ãÒ… ùËãÚgFf×Ì2*¬»Ù®‰ck s§dmOâe^:>]à>6­¡¤õh–jDæX"_ô¶( = _oX`ʘµmLäçíHºjQmü_Ä ý(òd||B>h­G½£5å9_?3›Snowp£ ¬Ù'fGÇüŒ\`å=/9E¹”C½9^Íbu™{S•Y‰Ä/ý;›§ûQ0Š;pÙóJéèòÑ4¬L¥uƒ§×¦8A©JVœéC€]Á±YIb7*#‡ l\AÉ)C¤ÃæÔê7#0R´²Kr£ˆGÁ×Ê]¥„¦Õ•cÀD¸ã+%Ýp–9R£S ‚&F§E’-ê9Ê EtŒ2¤1þ¤½ý½4E "Š®eH/׬i¢CGDñPD*ëÝ~þÅQ/€*Q+ÃIN Máxi¾…e` DGŽ @JL%i)À%J8ÔGG.88QÃA2”OGú¡|:†ÖcãŒszx&²©²=LÏ<.ù]èÀ.9K@ä±Bòµþÿû@¦ÁsruõŽ¢ÄªãŸ‚füðÂÏFQ±ëÄ{Í€×úœ/¢¨!€¼Ù´%RHí£èŹtiÇ“M9—€QÔˆ7þ…uõf!Í}ÎQ@ ÀM£ÄYxwx™/0T->’ÏN[¿Ö'ªŽ×Ä/×úó 2[®íÝ”×4¯VØð|D`÷‰Zç¾_æl,7®×Yèn>C/£^bëa+ â Å® ÜS€ÿjlû>ƒ*×<ƒšÂŠ|ךðQT;›3_}D›“¹>]z?ĵ÷ËÇyí«gØÙö6}‘j¦íЮ‘öª=…@‹UavUæ«k, W$sA‚XìÿjÉ\1oŽ•UÛ«*³aøMÃG0 “3¶ÊìKE94ž°ÂfÖQO:GÒ¥lE…À†ö»ìE‘a5½ϱ\_"CeôÃcÎ#Zµ,U‚£‹i»ig>†ŽÈ(†ˆ†éT¾Ìn>=D³U7fó|¥ÿãV?Ô„*´8W}®\¦‘Ñ\Qúmw˜&ï\ÍIšè¿óßJÚo°ƒü÷RÁJqÔ ýw˜õŠ~L:ƒ14Bѳ6iÓ9(СXp‡øYS…±`Ù•ïU9bÍ=/åÔÔ¬e¹¼óÞq<Ž LP€oæËÔå¡b„> ^V¼‰_‘Š©§¢aîKÆE$G—¢cÞÅŸ[¨F¨u£uÜA²…‹³ÝÛn3ÜöInõ¬,UùYvÛE¦Õó±WI^´%÷«ˆ”ß{{Ï}B7Î š(Cgujƒß4}HVÛݶ«e°Þ@h°x¶¨'@-"”G f®âú‡C±(Ã_æ•‹”ÿn BU£·?˜Ì#¹¤Ä8ge9yŠøüÔçœÜ*›¬6¼Á§Ñ—þémóèà1éJ9@¹JtˆMJôérˆyJÊô€h‚ò¨”)þ5cì'rŸó5@2où˜¸¨4n½]ˆ›Ò¡•eÝÎ|®QG^H.ÝøN/D£Ó–{þˆÔ,½%ŸüS_{Óüj›©‚cøŽ¦’›‡€ÚäâCÈ rƒ…”°¦—´çáQWr”²y=2¯Oƒ–®„LJÿ‘¹DJá¤wþBÎäHtM@àꂸ ³&*N¿ww…Üœ—Íìç×]id‰Nj™Ï7f¬U8\rz%>Œósõ@%ùÿ¿ôûMý„‰(‰ˆ“IËü ŸR\m «•€ù½<HœÙ2µ~çÇJ®]çà·”Raˆh{̽ü¢ÿsŸŒ*…ˆÏsŸ(ô¥'©*{®o«ëÙö6}Ÿcd²Yö,ƒ|¥’Ï¢Éd³ü=Ÿc”Ò%Ĩ‘%&“Oñh±ÜœåøŽ¸xË^_Úßï(안GTv¿Ü´FT¾>Þ½çÆR¼/¢ôw`—@}T ›¦ìÝ—y'yÔô¶/w /6{§ùëSOô毬1óaeˆôó)P›Cz­ÞÌsÚ.ÀÝîIŠRŽÍ°Zºè—# ’Îhií!J—ݲš[¢àЫ|Z߬fÈ C¬¼\À°s”4¾úÔWu¥°5Žã ° e\XØ¥•ÑS^±#I,VðWX©\ÔiçÉç¨Wj."ëFð2’Ž_ˆÕÔÌq¹@<üÃÙþe„¨œ(áYáOøO|²ÛÍËù@ ÊUÂñBKË÷Ç÷qi0¬M« ”ªHOéËÕ焱ÓÍÀ~b€ cu`–J/A—ˆ7ß ¨ûL³É>zBe “ ]û‚ýË>ÅŸbϱgÔóáG“axHýÃÚ_îP‚œ²ç U­U7¹dl“¢ú5D\tN~(õ…Í—î,³>2M h®¬LÃ&Š­¤ó¯˜½òЧ&’‚®ïþÇRdjq ßÇ}0) KXuu)ë´kÙüÂÊtr°£KÏ1™°t¥š³½{E–jKcžQ~:¢ÕØÆ:äüâ*ªävC_l?àH•âDŽ¢Wø`6ß/!ÍeG/5Í{ðY*£m­®AÝŽe^ Ç( P®‚tLmËßþ:Þqœ*XVW¸Dl- mùfdÁ¹Ï7EŠb‹<Äøx}¦×)Ø­‚ϱgسïâ€: ùŠH«•b1d”Õt?[UˆKf–kÞh !àˆÏ'gPåqÃlXÄÒNä;eˆöaÁI©UáÒvßYðó3yn«.·'4º=ã´´<â”õ¾˜œ¤°7:jž@v‚5(C㕟¡†%ĉQ"_\w÷ˆ*à °õŽßG/å3á‚Á”(k/iÖó®Þ^xÈ\î~ï'¯H¥r»X¾[CÝ ÚÎQ´/lDGh\ØJ\Ýæž±áàù'ÆÏkž”” ÕÓïq—ùÕdVˆ”DÀ“HÈ%TK•””áIHvCü2ž??Xà $J‰\ Ä—÷«3\Oè9BUu(.Ðô½º{ý¸R{›ý9¼ðsÃçU§9‚#ƒÊ˜ùx´ôô]é‚jÕ¢‹äB{fU; ÌÃÕ”5 üÓããô2Û¢a-7Âþ ³üçRMÅ);ƈ.b¼ßHœñ>$nyh°®ud]¬ŠX¢„«nãÖ5²Viµ9ݹ.£º‘ t·¦[QáÊÃ5Tã<ºÌhô,¯Pô”T Ò£{cÚ±«Í9«ã”¦ÎزÅÈ=*ñ‰X´ýw¨^Œ÷„ÒGwuAäNØï¸ò6«Û»Ã]³+_`¡êeü³IAT)NÖk´bŠàQ`Úú~¥e¢C¡š ¾~øžÙÙÊ›3R›­ÔÙcM<á“ïkëÓ룔x¸ Q.8Ôu¸;ŽþÙ˜4ƒÈéåX h sSIZüÐíüž^þVʪ¹VŽÃzï>2ò†)v´è<ÛXô\±(…Jµ~,?ÒäÞ/©S9ÙUÌ"vè|\~Š[ÛD’8NÿÍu ²VmC$;G4IMÅj«^±Bpòyã—LÂOÕ›F7ájQòÙÉJ90.MüÆÞB´'Ÿh†d"äÛªåG£™.Àl-å]`®qÏgAÛ w‰„ñ…ÁX´ºä$»i-‚\DR¶¼Ë‚ì QŒP]ëXUuv­}ºwŒŒ@²Â|×hKàÀwJ jÜ6‚7æÝ”€¿MÌAX¬ ½“Z†5_ój,}XúLŽPx‰Q*$Ká¤wöŠöˆA§¢<Ìdb3X…9·óü&×ö‘r®þoèí ‡^÷Ø>Z °*l×e¾â¥tG×ÀVºøæ_CÐo@/|L9F´äãÐýÊcv% >tTá•Ü0ô®&é´¨Ú;ÿ5× å²VáàeÎTtcBâE¸€`;L\5U´ W¶Ã9;½%ÉHÓ”(Ê Ç×uð¨û‰Q"Gq#¨“N5­Ž†teltb51ýŽÛÐ:«€—H;örÏ<×› *7 –’“D`]÷äGã‹3Âz%åºE"™ã²KÇv.Ê©lã^+!cæÒŸZІ¡ÒiœÌ¾tþYŽeÃ6M¶\}؈”¬EO¬>ÆÏð–âà­+êÂÛC¡‚0<H"ªY!ìÊÛr{xxÓöÄ.p à CAÐ÷™pá4špmÁÜÃUŸëI:g*ZF‡íä ÈÞÐä€ÁrÕb¬ú(êl¶#r(:h ©rØð°þÅ&R²½Ûá÷¸ëš¬_mtwaPC¡ÍHayÍØ÷þx w¡¨PY 1„KÉ~%ÏzÃŒ¢.¡°EÏÝ„Á¼Q× wftÓ‰O)ì¯Ì¹týŽºÆæŠ+r(ØLNMcši¯¥ˆ„[+BžÂSDâôYþ~ÊÞCWtç.–^lé³Äê%Ac™mš­ŸC|4å @¸àp8»Íà‹‡i¤Ó×¹ÊëYw?hÑ–Æ‹ƒ_YîÛèr˜02ºšÊàa U¡:u^j¼çrX2}3)È}:àGV»–ñcê{hÇ»PÌPkjYTÄä‘õríé,JÌ:"|—;Üél+V‡ ˜Á†!l|O‘NGŽ:áIcw`YÐ|£¨=˜¸R¾„¥ïWAíc¼ÏµBmÄ’‘z´…ö”¿'æXú~ó øk&öºM,õŒÝ…–­˜OF:Jüšð’oM âA_vY]P½!EJÎm]qûÆ Ëvœò'´hÂüÆãÖ*è% @æp«Õ?ˆ[Å´½ô|ÅÅ~ñ …fÙéróÓ~£°'’%á¥KÓÒ7M´)=Øà4òŠ÷€ í5¹™hø ‡ê¿¯úFmÿÔBßxRXÈ?ŸÅÀX«k8zÅœÑj”긽ð³Lõ²g_:jôD˱¼ 㺟‰†Q­ïx§X–Xü¤S¸ŸŠ¸ãÝoÔÛ§’Wo²QjËðá´H°ê3Ó‚úJ0K.€'öŠÉ³4úl€Fxiúr³À/€@P.@p8Sš.7ãm4ŽømÁö}Z€hщs$ çd>Áp}ßáp{ÓDV-(ú„d=J­úR\ Ì¿×S@é0¿ÛÊ"ëAVŸ,·sƒƒÍUöša7¤ÿ¹ãrž¡OǰÍYeÕ²fy𡙣Â*…0yp!p1“•®XüÁÇ•ºìFbD"Nä+ãq½ßršTÏ"%ø¬~㶇^~óIbþ‹‚ôó+)²2Û›¦È²x–tÅ¿Wñ*ùD&ITbÏ 2Ô4ܺÕ<‰PP+…©ÌÉ€Z;1|¢×ÊâÁ{·n=%E,Ž~<ܯ›Èø‹é]}Iù†eÝû2”!²ëô?”0r<‘mÍ@¿t—Tnߌ)…|ˆ1nü®ÈìòóÑ̸º!w½¥õi­ïx¡al³ùI]wµ±í.ýn&À<X‰¨NP(᩾UiÉ üÓJþb¦ŸMhí=±6†¸‡ x‚ pÀ¨ p‡\ .\G|pàQ`à™Y×¥¾IÁó’2rx‚²¦:—O­MFï_AZ Â£Î˜@@_#û¢‘Òг°>ò‚ %s ü/_¢Y\ ßc±š1Yë_˜íù‡54¼»„$kwp›>»ùDÛyoÔØ÷›‚ÚúÂ2Ç x“#+‰jðÌV€÷„11Ö]P—4_XMæX2ë'ˆ¯ÆûE:L—Y‹ú t£@“Q@®r%í+ N哟o0uþ¥!æ-ÿ´ºz* ¾¤ù£ðeÅøJ@†€3ï®ðX_VXÞu·¼Ô *þ%*/$(\2 Je*®[eë`±C@mùš Dð{ݯ÷À«×H‰¾A0ó€fgÄÏk”\’‡æ ŽjæþýK¨|¿Q¾ T. !TQEqÌcŠnM¢ß ¦“1.õUóQ¨-^SKšM`?R›B³t·–ï2ðzU“} ÅÛiô£ós’–GuÿÉ£<@ F/@uaæE Rï¹hLµx{‡q¼èØ~k£<ÔK½Pa=Ç…¨ÊÙ0]Ø×¤ÁëG\ +Ùõ=ˆ7la¬ ®‰KÙ%dU‹YŠá•–½W(©õ`Œ 9¼h§”›?ÂÊt›‰ê)  ú¥ñÛ§ä™%›IѯOhÓváoìcâT=V¤}`»­\Ìj‹q•¤U˜VLu:K½C µ¹6—ˆe§·3wâµ ’cj^ÕEtå挰~.'–^'˜`ÈJ‡Ê?ÖU©{k”§ös“à˜9§ÑÍ/æø>jJÌ à*5Àá8¢Š(¸îsð.-¦’ëÑÏt? * ïé+炊LùÏùÀ¨¬†ÿ½†#•o½F:ªîxªYÖI uØŸ 9½òã”er­]¼+n‚4]ªŽUm× &EL "²2Ï;ýb¿TÀ–yf1Aš€Øç³>/qSÄr\"sÂå70ÌòúË]Ìu =beX¡£¼®Ëј”•˜¾XYîáÇÖ Ãrz¿¿ñý>„€+ˆ¯"±zê'WÞ\ŠëøÓ(0µX¯s0mè£è õ¹@0£çæÔìÜÁ?ß4úOFWçøúæ.p¸ \Ð!CŠ(£Ž8øÐuÁ.YÓ/ª¿I‘˜1Á*7gŸá’ ÅA«îF=&T'´Uì\¸…V­‚SSÔzÅ—@Wx;«;Ìß323J5 ÖBÿ1E‰£;¬ÿߪ…“Q˜Ê•þŠ\:çfèÊ÷ Ùé9¹¡cå\×Ò-Ë¥²ˆ#M:iÆ"6Ú6ˆ%´XÉUìÅ]_®â„&Uçõìÿ_peÞîÿ¸­L¸j–*”tª‚µ*<岨¼.É_X_gþÀáÊ@¸jàTà@Çâ\>èãú"Í8:á¤þöÅŽ‡ÿBõ•¶NVÚõ^ ˜›uÿYA°/´5ìG\@嶤Œ¦÷É;ÜߘëÔŠ<Þ§¤+"ÄÕöV]>`®œE`²¢¼w+÷3Q&IVÂÛÐ[¢d7"ˆµ·éÈ‘V:H€No¦wà\M8qa0õ ÁÚÓѯð¢•qAJλn` ¾ ±ˆÈÿ 6š¸zQçoçƒh¢Š‹¨ÕÿÈ·‚Àº»Än—yc¿3ùŠXZiUˆñ5e}ƒ>xUÒh#´íÏ’,U㤵±é)˜³¼ ]/¤Ì¡kp'DÚòK­f H§åF©iµ)ˆHa¼ÕÞæ2 !2Ô6Ë2à¨Á¸ë‚Ô³üPýsù§óJËU´,(ÐØºó§¼ÇE/œjἦ $ésªÁyÀ`^p¿8E9wO”74p+€@¨ úÀo¦wšðm4šp:àêcª³î?´KÜ>ðJÖeQ¡|ÇÎ?£âä^m,îȾ˜Š£j¶ùœœ.¦ÝåB ÏwÁ¸åJ-ªýÔ+UM]K üÿžÄQßäbÄXaÃ+z˜°p#h x—’àÕÕÜœpQ²t˜ ¤|2¶ #i«å)‡vÍÌöGÄEäz¨Ãë .k9Î!!iCs!Í ômÿm—g ¡®ø›ÿ bL˜ìƒ¤BY.ZKÜ:Ù–†¹*$ª^«š)áuA.q<Øu$§’ƒûÒVfÐ*©´ T&ˆõ&ð.ððmqpÒRĽ-”^t?0w[oÎ:ıµ·‚¨<¥L¿—¼ºOÜÁ¼«O,& HÃaVÙÁÖChJº-òåêeÉQ¿ÈkÚ9 ù3<º&¹¨2€6óñ©dP{0ºÁ]ÂøRç5žøñÂÒ=‚àÃÄÒ(‹ATû ú‚¦w9%øŠ:B@§5fÊy''^ë”ûüEìTFPƒH]¯èè^‚õh¾IÉ:þI”XèîºÇX‰¼L÷–Ç|MË­Ë>þ¾°W,hØ*Yå Ú—»9äV ¾ÓûÄ ÕGï*å8‚´¼¥r«Ù2©O‰ï¿Äærë™ïÀ×p @P*# ú€† †¯I§®û¨µjuI¬f•4EÔPõÆUÁvžSߣò÷‚2ã–ÿëÅ»N`?§iKÇñtsTò/h´‡v{'ÜB+ƒ¡8 ì» M Uéñú€w ê2ðõ#‘‚ƒå”=nŽŠ§æjp·K{@™ÉÁ2âz%‘B:„ù ÒÞ{DzSÎbšGâ!x}¥:g5H€ü˜–à›~b{ãiÄÌí#í™”°ÀnzRQy¡z¼uFøó-:+кݢòÌ# Õ1E#¸dh‰ŽÓhk’ÉgÚ$Šˆ(:$·zƒø%ãÛÉü wCÀüËÚ!̱îE~ ·â6E ^°hpæÈ‚|Ÿò3%àóÍ.èÌ®RwŸbR«óú|Ã3 ûîâ à@¨€p}`T34A Çèp:àÄõÿSdE Vž2M«žówÄ cˆ]$ívü\ÒÓ¯¢—ë9 ¶ž?ê]MZóShò'ýEq´98#·ƒ^ ̹¦ì[/4yùÔ­œ¿\¢¾ÚkðÖn—Ë?TS(‹Q Xƒùà88é(n#`cÊ*,h|“)¤ñ¨o£ˆ¸£ºÕƒöˆs™OM|B¹l½K;Ï!ê,}gÊg–>íŸWzÉw·ÐH»9ªméiŽòŸ¢î»Ô= JÖ¿D^ñÚ"'$‹äà¢SÁŸ¥g %’늦w¥:ý;COà@#&–{èo´z1ÔŠ;í˜ü­«“ëˆ` (ú@›CP \j À¨ „Ü Ÿd hð0Ã?¥æ¬)~aò‘[1‹Å”•ñ¤3³ŸÉ ,·ose\Ák&][/¼ S›¾êk'cÌPõ¨¡Mó®f¼jP+£úÁ¥"͈ DÝÅvŸ–)ZöÛ«É/‡e­Ðâi7OVCf&‹˜[ÿO3nK‚Y-—ã†Q—tY³ ªäƒYͳv8Ãq×ïJü¤NøˆÎIɈ0[tdjÚDK\#ø̪möTŸ˜ø5”g­¶_io ÅaŸÏ&bg½cê‰B̰á+õìrFjð=º;žX…;¼.u}!ËTCáˆw‹6p¢Q(”J%bë|ÑY|hõ•¤’ú@#ÑM{–îKtò‘‡LyAùí(µ·éS4›J @¸* Ú@¨}€{!ëNì³À¸ëPÁÐRßbexGàþÉLsÛÁ©Áv‹¾®+Ù}£4k«ì߯—o0Å8@[¬õѯærEˆ±*nÓÕˆlC˜¢#‹¼’þp½ñ·_J¡1*þ‡‰ÀRV$AŽøQ0…a«ÎÖÆ9¶C~Ÿâ P•ôÒQœ…^Ó”š(MBÑÇnüT|D2×O’ƒ1^åïCæ´l,÷u)r~R‰¹akÂx=BÛÅÚñç–Ý€<³˜¢,U4Xó>¾‰lÓfÌCµ£ó¼’z,Gr6„îÃÅØX«ßhú¯Fa"ÍŸZ¦râ’€hF{”ë8¨H=ûÊî`!,s¬={Ó¤²ÞØ àsž0Þ»—/ûÒÖ=0Þ)Ïûçé«ÍË%—šgÖ©CB 1±6Ãk™/´ ¯3º@”Þ Í'ÀEüË£^hƒâ]°Ç|Æä1ƒèý#ÚAÔ ‚¸þþcŒ4ÁM8N¡üY~›Ú|‰Š Ù=Þw7( q#)&g±æ0Eªcš­N¿?+þJÿ ½ÙÌ {U/œ‚ þéÍEêbP  ±`†æânEˆ±(nŠY{¡Éx D¢ù!¥Ù-Áxúög€×ÐöÁ!Λ[¬¡)´EOÙ‡HÖ,k0Taší:ú©xj ÒÄ„ 6Œ>¢þb€ë¶W½¸ó÷Ä™Àq>EùP"˜†WÞ¡ø€©!ôÌz³PÛ¶÷É.KòWÒÍOt¤nx²ð%ç.±ß Þª #S¡ìÌúsIb¿Pjyeå_ (f¥a鯠©-¾i7lߎSF‚;mt£ ˆDÙ{|¡´¤h5eÕ3$û.|ØG×±ûÊ_ (“žP0ìLyF„ µ!/ªÕ°CÖêÛˆsšr¿‚c^BëLj û€oáìâ Üá<"sÇÔþ¹(‹>ÔýŸœæ‚Þ0¹ïRÚ/De¸qL>k‹)®É7¼…ùp:£‡lGjš›RVÇ6E|ÃÖŒ(ÁðB(‚íÿ|ÂÖäæŸŒù”FƒvCÓ9„‹•Š¢†—•²‘*5³Ìµ/EòÁ¢-}KŸ‰¹Q-߉s õJˆ¯É)§¶ß¯”²Y,úMœ,ú ´rîÓÄ" %7®G´¨ŽXåQ)§—뺆=ോÔ%Š»YöH á‚âÓõuLÆð–wå.k•ä©ûi,=ŠR¢ë>ö>%q|þv¿“*3tzŠõ•ÈV¼En>eWù8;Ç0µÓ‰éÓ ù>&2 \w(Œ)Ìù)Þ¦5€ÝÉ_7¶\¯Ü/i‚¡æ›+¥£[̚ê= ß#„SèÀlcfʀн ô&”M.!µîs³”+Á‘gè~] èù “ªl¡ ä0 ÁU ’ÎôTµ“­1ÊaÁynL«œd‹n|ä~>ðÿ¶m›æîÜC I†‚èŸÓœµË å•¿Ž(”dÓr¡VÙÖÆgI¶z·ûŽU=;0ôþ`@þ¾qü%ì¡PC-ôƒš>`üEGŠóc QšÍ_‚QŽh_fWšmkø#QÄh(u¶X=5.šNÑbbe—£–îîÀÔôLŸß’+È÷_ãëCRÞ si·ÑHß·F…Í 9‹(Ò±­ÁY[uk(BÄts×÷¼P³(”yhäàö‡Æ˜ÑŒ§ø„N|ÍÇ·ÚdþlQÉ/n™wmé9$ñ-5ˆòü¡nìéǽ•kâ OM¨_˜X-VO‰ÍÏ›å_IJ¢¸aR?jX¢ê$ö0¥v=…ƒÉ†n)>"ƒr×NÔ>I–¸}AZ_V0mÀ};?pR±*TäŠ%Òn*Hh¡»r">±»R½Ê¹Z6ÛY0傉ª—7ú©Ɉۃ¸ê^»’Ñóêr˜}‚Üí~l*oܺæîßÁ<#ƒn ±ý(®ËèOí mt½'õ·.½[‚ô(èüŠˆà÷ÊÜß®›zB±nÙÙlj6ªÀ‚†ÚýÊÈ@:°É d-?QÓϹkÄAwâóÀuMz¯‘äOGÄ€H¡é‚ -÷Ï/½Ðâ *Ž˜«Á·y@»£Ž™xiç+ë &;Ge¼¢ãµTp”ŠBÒ”Kl w ƒN¡Qä”A+f>Oâ[úÌܶÞçr1͆ç:ÎV+<ýÁ×=¦æËêS(‡1àNñ[á¡î\?¿ßµÜV¤éOѲhŲî[1ñ?ñ¹ÌµóÊ3Ñ_07sßQeåбֈ#Œmàe~œHסE÷+_8®J`÷ðâ"p¿)oÄiSvžG³Àó–ß´é«ý§—JËÁl·‚ÃiÔ©Œ±GÅ“îWèçs¡á!«œÜ'‡nsfòÞèA¿+…bªšlP>XmM'o\´¾L ¯ÉîŒKwéj×÷¤*8C¿# áÙÊÞkðšGâ=+ÉyÏî5fÐ@ĈX¶yBÑ­‡.^%Î åœ&£ÛÇਓœ-#I—¢‹QŠ_bÿÝ d+Ç02V¥O`}z%Ê~‘¨@ ×Y̧> óP+ÍV\jAAy?‰C<æn<¿ˆ§—éKpÁörÔ=¡×AX B=I@ (Dû6Kv‹Ìfï +p´óÂö`FõžSÓ¯ cÙ‹cÙo@/°ÆXkºÌþ£âÝS©[Šú³óÜö߸¿n uœ›~§â‘…=JBǦP õÑ݇Ú]2,TÙṵeõÊ7|ºç¹b€ë‚ös:ÁÉM‚ü¡ÞQ2-œ‹ ñžÛ!™}£Ô;Æ‘^–ðÐè®W¾|¢¢éY¿m{¾`•}]«1TØo:ø.x÷TÇMÑyŽÒY_@£Ò¥UÇ6Îô¿$¼íOTárÒ†|MÚR‘û,'#`Ž‚¶™v;‰Ùð½Ns–N‘RÅàµâÅnT÷¨¿óí…W-œ¸MMÞ†e ƒÏÀµ‘;ï?rɉœ-ÙDýJuÏ£„v8M™Í=×´K9+Ï™ø#¤UÎò„cJ¨þ\¸`ý$±à*Aš:3—<Ï'„ÊQ »ÀÏ0†^ä( ´Ã‚bYW*®Þl5\€{ƒü‘¡J®y´Q@ûTRYbeó8¿VÏ©n p³Êü°`ƒPê O—üGOýæ]âÏ}໲­|+6¯f\féŠ]YCK.‹ì¹_¾j 0åæò[¼WÌ-†Êöñɱۮ#Sp_ùaÂu5™ùÿˆ«ú÷=³øžûÂGÖÐäÅiŽ˜‰ûõþ¦TkÜþ&[Î@¹ëRÑE^J|ÌO"þ Kªä¯Ì»‘…ê¾Ùþâ6-ÊÍÛ2âœ1JßIu©ÂÛôŠJ“){}ÿ,µur^…OIú˜ïÉ›,4$z(ÕñâïkSÖ1ƒ 9Hf˜¾¯Dk.­‡âB¾´wOýI¬bß®§¤å«¢;52#Àx qa¹†?˜?v¨Uyc´«…ÏæÎ1̸šK€ë=ÏêslH3@Wã†}Ç=ЪþóØvÁ£kXèCêá‰j½t™b£ØØùãøà&ÿ90¼$ö·õoy¹[Ì6 4{û3ô»˜=nY–ì[W#Ï4ͧº¢ast¬:Ü2¼ð@â01S‹†r°½kõ*•N_pwKX­ùfhæ~dT{~óÚ?‰î±Å÷ˆt"9Y>4®óI]¸›š}$#|N…QçÜÂäCÍ×O…Kì\u+±-«ÝU|Á‚ì‚b·Ò>%+K¬à9ôLjÂÔZ‹qj:ƒÑÍ;LðL¡Æ7Õ03ßå+÷ôÔèâºø:þŽ8ª,ʲdˆb"ï(ˆàÒRѵô~ÒÌåÙ¸I -%1è‘N—¦ÜÀvT+“C}tf&«Tôéí Óö~¥)ºaÙIƒâõÝ^©çUû”g”Th±³­gæâjÚyþ¦1@ ¬±öK¸þ¬D¼Ž^èjæ6JzgȆó#QT§û©T9~óüÏË 1Ôw3Ï·ï(ñåþO©Pc?Ò$¬ÏXâ¦îg #ÈPs ÓXTu{ŃC 4×/A«€i]Gˆ¦˜çuœ9Üéÿqby‹s‘Ì¡Rµ¨¶™cˆŒÜçz]ÎYÎæL¹ð­V¾æiW Öý¾(qãÜQGœÇÞ,ÍÙ¼ÞZ;—Í“ e/|4ìp¾AÈ=Ö:9zmšSùµX›Px‹¬}ÖZj©ˆ[”©v$¯Ü¼´Ü z:C1štÙÒÔ<.9B?•<Üþþ'o…®k•ódn-Ê®wdõð!PXº“ ÊQ<¡ûöÔøï唢ȓ<ìW+ZyÆ ´›¶Ã©nîTgAUnô¯õnܳ pê œªtƒ?ARhÍ+žNT×ÈÅ!pCBUÉ\ö Îu{Âûòs*aФ&î`tËÖZ²Îñâré(zÊŒŸY]wõ”6¾ð5j0¦U¿zcÓÔ=~Å:øzf©¦<¬¥³g(≹œ]ã¢<˼@Ô¸ŒXaÔeÕ §Ò¤+ 3L½åbîNÑ„ÌÆÈžTÉè"t2ñÍçõ—«^aÇÝ ó„Gªï”6pó~ÉG× x¿ˆ¨fé¶R: 8&2±—Š%^­Îx£¿ºkÂàU~Fƒï/1<²ç+ Ü¾¯QpÍÆiÊÜÌØ$æß0N|PÃr@<àîåo Eµ)9ÙOSÕ+ 4IÙ3+׊ŽE1|N™é Yê¸áv9·|E;m4­êŽG놸j´½ ¢]:‹+KU•tci3Weh9rd‰SsÓ¬À=D½ÏÞZÙ=cŽaæ,íw›Uë2Š|͸.L9Áà\âùem1Õ‡îUúI_¨V7úºCôWÑN¿£[æ ‘ÕÇ3_hÑ ¤Jåç˜o@ë`ýÌ$U–6èÃ;­e<Úwj–=Ì™‘òËãû\Ó'Ìb`£½Öoód÷‚ÇŒ8 œÒƒ(AD fɶV|~!à@Äa8 P«Ëeœð\Ûéôû¼ bï¼G§¦ó¯; ÂÎmm`l›æƒó€çó 6ÁK ËîëÖ.£Q†•UÒ±PðR…¡›N®oªúáUç…<ص‚ʵä^@³ «]MÑ_ªUtæíw¨ºúDBÙŽÿ©DÃÉ2!jΕcB€|f!XòwÕæÎ€/ˆ?ß1›9 Ê@ù%ÍúXš‡àÅiÄ:÷ÃË_7Zýg0aßlæ§ÐýÇòù3By/æ|a„# CôÀfúiû<’ۙخâÀvÇÆqU¾‘…¢‘Ïÿ°ˆ(Æñ Í&Q´,#ÍÀû8·ðVGeëà”³‘OhW-.á Ë%¢xˆø€^E³Á@ø†¸vÛL‰›ewÁƒrq0MQäŸØõ}oºÑÁXòˆ¨þÈ“!oõ€ùë?SVSœÙÛÂ~æ×д¿¡\íÐò£ÌÙª?ÓœÞ=Qøš{~æd—þÚ©´N¹=â´ƒ"Jv¢’îiT¼Z%™3è±ëãbiWÝkð8”ÀLj¼á›ßýŠy“>QÛµ{ßÌx" Þš~ý¥QÀÀóH7U h yLòæ‡ À>ã*zFz‘ø[[sïô¾P‚ŽÜ0ÃñÀÁõT¸fžî+7Ë#%K,Ï* ³¯’“Рˆ ´Ñyÿ“×Ñvbºßáí([Ü@¾uõc…Šâf¸N냩|ÁÄS«´PzÀ¨0n9ˆn,Œùºn›'¨Ÿ˜vï êjp‰€®¿ÜÆ·Û§‚£‰èû%?P/!/õ„ÐJf*Z¤Û\ö•›³m¬#ùŸ¿ýÒpˆåº~ †š*̽TîÅ«"Ë ~¢¡é9K–ªjË¥Xq:§B°\¯€æ¤.%‘µ–À-y,ª$09^‘„%Á{…;Ke½&á¸= @‚ †aá úªÎ/¦wæ&aÙ6Ëø{¥·TqLæ“Öÿ21‹Lfò ãàG  ù©c)L_v ¥.[D-{¨ÕÞÈŠ6ù•.åÒúš“]TðÜ=Oˆ u€0MøZ%”ç€ãfÉX§ZgùŸ6ÀƒV#¯ëcü6à5ô|ÊbT a¨Àk©"]š°ÈÆ!Y[Û~ç5Ù¤ é"Ï}‹P„餽E!@äqƒy(±eI ·²”ÓE>÷i…dA’`1Bb.ê^fW@Lß„t…–m³pÈhâ@à p.g/xB8Ñú(Ñŵ͹—óà[Æ{ÒÈê Š¦KÁë¶Õ%Þ,þIœêÿ9B*Þó(´`WÈs¦à!²g6 •Kš1/Ñø‡s¿Ž³)4q•}2}ÙÁï›å>&Yݬf0f®?ü&Ÿn)ûb˜Ä= ;¦ÐÊe—½brk ÚL¹Žæîz”õªÞÚš?¯² j‚ÆvtúÊX#˜SU~ò¶4{D2ý`€ ­QÎQF…A1O—¶4£3¥5Ó]¯7Ÿ·YH ß$¶ «×ˆ_* àC :† à®1£‰à–\¾óÇ-ž´VÄžQj1ãvçuüÜc …/²„]¦¶ýX»)Ú+~÷g½¸Ñxj³4]f{\©™}LSxJã=ùÝŽ¨ÂÛÓ€ÄÍ’çÑKG¿* (E*ã^Ý>æ)Í6}Tý- WJ`W¸êà8ÎSæF$È/ÜÃþ Žz÷,pÌiˆúnbgáÈÌN"†“œI]tzLQ×F"Š31j3V¼ÝcTŽÑêÿH<.m¼SÈ›uÌfíøèrà8ˆ \p@šAà 0A »é ÑÂÕ5ð.ç/é—"¸µÀêXÑ/Ì>¡`/&Âþ_xEÅ=ë Ï’.¾0滹å2³)z%ÖyÔÌÈf_SÄjØå¹—s,缟ždß,§,<Ã0aª(VçÊüžs} Àˆp#Ç€âNÞüœ¨Âû¢ s¢!•¤d&Wgtƒj2$GëÓ’Y ô.òfÈZ ï¯hÈ´( U"³)ƒØ;J”¢Qô@AÃ0A4C 0} ¦©Ü9ßÓJxÉŽ(¢ç‚Üü½KýÅ:¥òeTø!èB5ªý¡:d2Ÿ‰[¸ôæ\ÚÂoX¹£3L×0ŠÉ\ïL“.øo—¡÷7fm̱wËŸ –8Vâh&ëž*æW ʬý†Ð+€@¸À*2„ ‚ ‚ øh!5ÂS¡Ž«På`Mcöާõs6"Ž€ì¯jà}#ÐÄyL îQ S©Ï•ñ9cËOÇ2™O\HA0ÃA 0Á¨5ãJûp#—Ìn(£¸±jmêÏüp@•ö‰k%ÿ\¡.®è]|KµŸó?S>å+2ö»Rãw–^’Úš#Á.‰Žl™fHg¹®)|¤Çý˜÷6Mòªy•¿3 †ˆª¨'\ çá¼wÆŸ  €_©è„@B ‚ ¿ yØ„™ÌÝ`ôËç‹Û.'š$Ù¨±ÙÐêsQb”~¯ñ/Ð(âà@‚ ‡0à 0A 0ÕCuMSW ˆáÀQEZ‹ÁnbQǼì¸Ìèßý"Ȧ €+‹J¹ÊÜÉYËó;³;3¯©eÚö˪YSG q)&îzo…K^×àéºm•wq¾`ÄaÁŠ7Më çá2À¹§ T¸à@„‚ ‚I$áœ>ü1lò£-ã~9ef ¥Êõd©EÍŨ±n ]T¤;¼N©êp*  ‚&°Ã b!‡PÃêaÔ‰…Ï dÁy†}pa Eás|ø¿¤7pÕð¦xÑ€T  ‚ !Àq‰AŸ(IÏÇ´ÈWý‡ä@âQü^±î5qL.¾ ¬übö}x(ÿ½ûÑÀlÖ[”/fZëeú€.mA0͸pjp¹fÿVan,uÁkh‡Ð_²`õ ×J\"ÍñÍ>W¬ýJ,‡Qù¤4ôѯ”MWsýMûvÿ%çÀÀDçûÉÏ÷¡£ÄîKõâé»…ˆó3>aÂc 1gâ-¸­ì-^¯ñ7xç|pà@„ …>¡Tú(„W”$’I8Ô]‚âWýC“)½‡îaÉWsþc!Š8 =“)olâϘ£VzÃ÷5iê~f”uˆüFYa‡êž®C <€ÎXf¼:Mg/,åà<Ÿ±kj[Äè)uöù™šÚ,÷¨þ'Ý+(b mè:q]c Q8ÅzÏ)N²¼w¦zfÂW¬ß™¶o–Ú/”xàKP”©šÌ9È?,;š<;`W@¨Á}ÀŠ€‡vöIøC†Ã,²Ë~Q‡ˆa–Ya‡ˆ ”@ †>‹É98í&ÇBrÆ\Ÿ±k†’ÙoSÕþª¢H1†a–Ye—ºoÇ~€ó—ñ»_HõïxŒç–yÐ?3;›ÎyY¹´ ¤ à\¼*ÀÓ;€a†YeáYÁõ€+ 0ý Cp8mÁËqEXŽ8âŠ-M-Qb×зêÿÝèLLrŒ0ÃÀe–Ye–X¼eá°ÃÂØMœ-ü£ÌnJªR&|§Ç.‹#ô ¨Aàÿþ¯ûþ€;!ÆxÆa‡g±6£éExVa.S˜øiÁËqÅQÇSGÐV©d[áoØRêëaSta†^è÷džË,³åñ#ÀóàxœãY‘8X8BÄÞ{wá9¼ À@¸8þÐUÝØúïëìNÄìpNÈIÁ{cÙÈñÆ=Ÿ®{<HðV8‚¸4˜EÅqE|'Ñôª-Í&ŸeH§gÊ?r³)Ì”ÜW¼ÿÐàC ÃHAô}åÚ¬§^xï †XcÎ`âŠfŸ›:…!*Í+ÅK<ñî=Í T5ÀAPA¿d¯÷GÑ?g‡‹‡«±;;<Ïf0Òv>‘^ßí}ùDa*$pε]+ÀKèÒí‚ùÕfZ‰„yqi M¸qÅÕÂÑ2AM>Ú ‹šIûd?¨éÏýGæB““¯9óàX'ß,„ÝÅæ§tK?ê37òDm"y &æ‘,³B ɯÀð?"(¬ƒFgU0Ó~å_1eŠdÀà‚ºEJÛúU¬áv¾…{0Ÿ¶vgb1ØúìÌsµ(¹Úûø0Ã0 ¡´Ø&ÞfÅCfx `@ªF†Yp™]ÀošíˆÜsYüïd9¬"Fs!(/½I®CSi¤\..騢kàiþÎ0eý—Œ~&¨þç8ÿši§Í'Â'ò;xF:‹Ê‚éï»ÍaÁO÷³ÿRìw ¦(¥ –`uˆ¢ ÙÜ/Ó7n)¤5A 0ýúUaPíNÔí}*ñž3³ߥ·÷@¨âŽ ^üiæ8•]¬a¸0èKJ–€wY¹8ê¡;à„Š±OSÉ,†ñZ «0ckÒµ>3Ýdõç¸áJ¡¹[V‚«éô!𼆡t¹.)bâ-®ÇU‘a,4£D­Èläo¦ñð!ŒrX²/žm«3ãzt¶­[£šx”rÃ&oaaä4ÛN4 ¹‹µä‚µÐŒ SM5Î'Ã×c\/qUt½JGQ«òJo-ÈW#:U­SÚ7@Ô $ãMR~‹[÷®Yr-F̵ý€ôjlFåbã9¨Räîáy0h8¸i–ÿ–H'rn¢tׄMw€ŸÄæ£Í¦Áù²iCÂϤ\ ˆLè `ÔLò—Ö%SFcVc‡’Ê:ÖÛóÄ+/pAö(íÍ_M/cÙáv§c€“³Ãá{'gØâOÓ‡ÛáQÄ(•ýO×b „2TJX«UdRS-Pb5j­KW¬wXN)æ–`´u#"pia!‚¿Ì¼¨J÷lìG>ҩ邌‹k¾9ÇÇŠ)Ù¡bA=:€Ü&{& `{-Úæ0CfvGà©d Æ…ÆÚݲöR BNîÆ©õé #˜Ù-–”P(.x’ÆÒ¶§‘P‘WNáD|þ”6 ¿,]US sÊ„† SbS Þ˜äiˋԭ;ä±-£ ´Îé#U¬Ž ÕË-¹/\Ãtü‰äzp]ÿ¤>r ›³ðWâj<Ò[÷ªa¤¿¿3ôý@sCƒVyb¼KåÒîpAýhšx¾¿ª­ìp{±;\`žÌ8olbŽjv¾Šû@´*T=ç7ºUfVrVëqx„°suU1Aܧî+^å/qjô.GL <Ž`‚`U…çsÜSÍÂá®Õ½E´ì¶œÁ»2¦ÐóåAëdUÇ; .Í¡®¹æÊé<`„ìP íKèÈ,”$8£ÌCÈ©ÅR)UTÁÌV¡Rk˜(@¢pà̼( TÜ"4T´[/WJE¨§>ÝòE0T[%âוC¤€5RÏ2ÁÚ€y ˆ˜¨nŽ„´= ¤²«3Bæp¤ÛPҦёÌ[½Ä$`€0   ª#0 ,Q꯯ßÞÙö6ˆ¼’Ä1å¬ À¸!‚aƒ£_ôõjšøx濨ª ·‡ëÿgîs ¥T<‡Þkwt.ê¥÷¯ „‡Cƒ'6£6çc‰ª s“#WÄk¨5QÇõÀV©¯ƒ§ýX Ô ÃsnAC ú@µðôðÿÙ endstream endobj 4 0 obj <> stream ÿØÿàJFIFÿÛC     ÿÛC   ÿÂSj"ÿÄÿÄÿÚ è‘Ðó€U°–ËTYl©l¶,¥²Ùl©lº–Ê–Ëe²Ùl©lº–Êœ¬¶[-–Ëeå-–Ëe³’[-–Ëe²ÙÊËe²Ùl¶r¼yYl·6Ê[-–Ëe²Ùl¶[*[-–Ê‹-–ËU-”Â[-‹)ÕžéÀ(ª a-–¨²ÙRÞ<¬YKe²ÙR—RÙRÙl¶Z¶Vm—RÙS•–Ëe²Ùlåxò²Ùl¶Tåe²Ùl¶r²Ùl¶[-–ËË+›e²ÙKe²Ùl¶[-–ËeKe±Ë+T¶ZYRжTYlYN¨lŽs©ÖÛ ÖÛ ÖÛ ÖÛ ÖÛ ÖÛ ÖÛ ÖÛ ÖÛ ÖÛ ÖÛ ÖÛ ÖÛ ÖÛ ÖÛ ÖÛ ÖÛ ÖÛ ÖÛ ÖÛ ÖÛ ÖÛ ÖÛ ÖÛ ×.Æ­rìT×.ÆMrìj×[5Û±Z×[MvìVÍvì6Ízì4×®Ál×îÁl×îÁS_»³_»³_»³_埩€¹ûfçÖ`n~ـ垶`nzÙ¹ê˜+¶`®vÙ‚¹Ûfç-˜;œ¶`îr¦œ¶a.nÙ„¹»XK›¶a.n¦æ­˜[š¶anj¦æ–a™«X[™©†¹•˜k™©†fma™ša®bÙ†¹Šz¼p?¢€tÜé·eÄw#¦äw,é¡Ü®™‹ÜΙ‘Üó¦"÷Dé‰Ðéh½ÒéY/u:RÖé9/v:JÚé½Úé /wº>/x::GxÎŽ‹ÞS£xËÞ“¢ä½ë:*/zº'Œw»¡ä½ñ:/|Άã/}΄’÷Û áߎ‚ã/:Kßó "úyÿŒz yöKè9çÞ+èIç¹/¡gž¡èWžd¾†yâKè‰çx¾‰žv‘è©çh¾ŠyÒG¢Þs/¢Þs‡£^qKèלG£^qKèçœ!é›Ç¤oy¼zAæñé›Ç¤oy¼zAæñé›Ç¤oy¼zAæñé›Ç¤ožý åë”Åv'Ïóý:©4Ÿ¯ãô‹Í­gÒO6I<Ú=$óhô“Í£ÒO6I<Ú=$óhô—ïæl„½Œ:®:,$²T±RÈ’ÅBY,‰,jJŽ2¥œlY,–N\e’Éd²Y,^3—Ù,Y,–qå%ã,–K%ã9q–K%’É®2Éd±gRY,—Œ²Y,–K%’Å’Éd²$²Y,T²Y,–K,Í€d²ïÜéÔ_ß”õ'RiÞ˜îß1qçëáºa·]?ÃèÉ|¹¯€ßµþ?¶¦µöíÿ œqy_§7¬6ýŸáÖ_cüÞ~W“Ú:ÃÛ˱ú£|Ñ.{tüŒ–J–*YX¨K%‘%‹%’Éd®<¸¬–K%’Éd²Y,–KÆrã,–,–K8òã,–K%’ñœ¸Ë%“S.#™Ô–,–K8òã,–K%’Éd²X²YY,–K%Š„²Y,–KÉQÉdÚ¿XîÿÛ¦î}Ųçw•9ë>þË÷ðÊ~? 2Ÿ‡Ä3_†0¹¯“à>òf& ¿ë‹&gæÇä±áÑrÈD‚ ¨D !,„@×È//K!,‚ÈKƲÈ,„¼a,„³‰,„Ô„HMq„H5ÄKÆÈD„Ô‚ÈK!RÈKÈB H*Óú_¯ä>âkÿÄ)`23@5ÐÿÚÿXÜÒ¹Í+œÒ¹Í+œÒ¹Í+œÒ¹Í+œÒ¹Í+œÒ¹Í+œÒ¹Í+œÒ¹Í+œÒ¹Í+œÒ¹Í+œÒ¹Í+œÒ¹Í+œÒ¹Í+œÒ¹Í+œÒ¹Í+œÒ¹Í+œÒ¹Í+œÒ¹Í+œÒ¹Í+œÒ¹Í+œÒ¹Í+œÒ¹Í+œÒ¹Í+œÒ¹Í+œÒ¹Í+œÒ¹Í+œÒ¹Í+œÒ¹Í+œÚ¹Í«œÚ¹Í«œÚ±Í«ڱͫÚ±Î+â±Î+â±Î+â±Î+â±Î+ê©Îªœê©Îªœê©Îªœê©Îªœò©Ï*œò©Ï*ò¡Ï*ú¡Ïªú¡Ïªú¡Ïªú¡ S4 fLÐ)š3@¦hTÍ ™¡S4*f…LЩ%#D¤h”‘¢R4JF‰HÑ©5#F¤hÔ‰£Q4j&DѨšEH¢iM"‰¤Q4Š&‘DÒ¨šUJ iT *¥P4ª•@Ò¨UJ iT?긃ˆ8ƒˆ8£Š8£Š8ÃŒ8ÃŒ8ãŽ8ãŽ99’9#’9C”9C–9c–9ƒ˜9ƒš9£œ9Ü9ãž9ã :¢:#¤:C¤:c¦:ƒ¨:ƒª:£¬:ì:ã®;°;²;#²;C´;C¶;c¶;ƒ¸;ƒº;£º;ü;ü;ã¾;ã¾<À<À<#Â<#Â<#Â<#Â<#Â<#Â<#Â<#Â<#Â<#Â<#Â<#Â<#Â<#Â<#Â<#ÃÇÉWjRÇËÿH¼0 †Ãá€ðÀx`<0 †Ãá€ðÀx`<0 yr‡Í¬ìnn1ßË)}–¡âó+b¨ù•¶Cˆ(ã“J_׿Þ#îˬ¤QX—æWø8|Õ1ÌnÑag@Qf…‚­þHƒ Ï/ëól;üeçÆ<‹QË Ë29Éäš”ö73鯓¿QY…¢æERÚj6Teñ环©§¨âÙâ¥Òê:Õ•{l2ÊÎæÏ/¶¯äÌRÙ)e3*³—*Çìêc“#/Ù×ÎqŒñVéuryj¯yæÞM/ëólFúŒ–ʸœc´§¡SÔ²(£a©¥Žæ•êô·t!FKŠRÖÕ/²¥yg+ÝÓ­Rî´•êþeÊÕ/Ãí ®©ÜK,!sFç¯N7±»¡õ–êÞ帖ÉuJZ1¼·ûåý~n—”W´åNÈ/r"§¢Ao"¿È+J_׿Ôå„a딓ëHõÊzå=rž¹O\§®S×)ë”õÊzå=rž¹O\§®S×)ë”õÊzå=rž¹IiËöÿÿÄ)QR!¡±"12P`p°ÿÚ?ÿGZ°Z°Z°Z°Z°Z°Z°Z°Z°Z°Z°Z°Z°Z°Z°Z°Z°Z°Z°Z°Z°Z°Z°Z°Z°Z°Zè-tº ]®‚×Ak µÐZè-t: Ž‚ÇAc ±ÐXè,t: Ž‚ÇAc ±Ðm¾ ÛàÛ|oƒmðm¾ ·Á¶ø6ßÛàÛ|oƒmðm¾ ·Á¶ø6ßÄÛiüM·ñÿ¨WqÕrô‡qÕrô‡qÕrô‡qÕrô‡qÕrô‡qÕrô‡qÔòô‡pÔòô‡pÔòô‡pÔòô‡pÔòô‡pÔòøgêy|3õ<¾úŽ_ ýG/†v£—Ã;QËá¨åðÎÔrøfê9|3kòøf×åðͯËá™_—Ã2¿#2¿#2¿#.·#.·#.´™u¤Ê­&Ui2«I•VLš²dÕ“&¬™5dÉ«&MY2*É‘VLвdU“"¬™dÈ«&EY2*É‘VLвdU“"¬™dÈ«&EY2*ÈÇשúsô×ùµføS"¤™$È©&EI2*I‘RLŠ’dT“"¤ÿyQÊÚMè1Ôé¥ßµ*TuO*=ÔµµŸ’´üUZJ~‰âôˆŸÌµóÐCe´”Ø{' ²mÝû‚wI(Šù]7ó÷õqáïù8‡òýþŸ™—×x¦”¥IToˆŒ¸ò/1_Ä[røãW¹Ó8 Ž¿3ò/s véñí™|hJ¶a¿¨[nÌB]¨øh…ø?Ýæ Gg< ÀÙ˃sµÞŠÐ’h¸çkŽô¼†öŽ$§o4ŽËˆáqJrÚŒhæEöý¦—]£Ý`¯v®VÛígÚAkÑ´‚Û{ Õa,Õßի¨.!@‰nÒÉYÃí ý¹Fî왩[× ú)#þ`™·~ö …|(%»QˆŽýJNí*3T#çÂÒ0ͤC2‡1C3O;-;-´M†íÌÍqâýzŽîOŸírï[%»·÷Íáq À‚¥¢,‡nÃ/PÕ«˜.!@ˆv)dƒ+8{ÐoÚQÞ#sPánHŽÔ‘ùðÚ÷‡æù0öGa¦Ó.ðõÞ'ûÇüˆDÿQŽéš#ÂI|à?¿Ô~1b”|Zÿq¥i4(¹¥Eă46}¬DÛ¶Q ½FøÞ7Žf¾% \BÖƒLvËBSv’ˆ1KX„¸iAÙljÓ€qPQÔå&Pö¾#/‡È?‹2 tVÁ¬È¾+H4„ýú{¢­ÛÛB\½l¼ÉäM†]¢¥£¼'ŽÏ°ý¸„¸yÛ¬MŒ3Ú¶íZþËøœka3QQ—$Ùaˆ/âvçg›(7¤i‹ñªÏ+kF´†¢J„kóIy2oÛý”}–¥ï¥C/aÛÑ`-±”5Ä=›L¶t !>~žè£=æÚ’åë`~´(”…9Y’‹‘–ЉTF‡ºAmCU¥È×u·TBLc‰´I?>š­·‰ÂWô0hˆ“BË™( BÝ7ýb/ýÞ£½F4ÅŠ‚µN\rO· íðU· $e)*õ Ý&Ñ&¸j3RíùÈͺVá/düËôC„÷d[íB¼áûü {’Ù+,?QDÖ2RH’”ýþþ£iŠ D†óº§cfÍß8=ÖD5[¾´ö‹ìÓe‘aCG‰PP²E¶þ׸€]ÕPÏâ]¿”÷äÀ$ÂÚ·såìØÑ¼ù?`m÷B4llmyðãü?ˆ„J‚… Ìø| M²T¤(Jý"ô ™ “%6þLýHׂC‹\BõúDšÑ ÒvزåÀ–Åù™}xäaJE¥aìœ!Èr‡!Èr‡!Èr‡!Èr‡!ÈrÿÄ,!Áð1AQa 0@qP‘¡`ѱÐáñÿÚ?!÷qÑŽ`èäŽøÐäŽ!È Cò!ÔpüØs‡¨èGüœpAÈ⚬X±bÅ‹,X±bÅ‹,X±bÅ‹,X±bÅ‹,X±bÅ‹,X±bÅ‹,X0 Â…R¡J“.L™"ŪT¡B…5ë÷íË— 5fÏ›~Õ¨P¡BµzäÉ•³EtÑ\4ô…aÑXTVµýEQ_ÔWõ½EgQXÔWÍEqQ\TV•¡ElQ[VÅñEtQ]We™EbQX”W%éEzQ^”W¥éEjQ_”Vå¹EfQYþÒlª¨Š¸™¹›¹Šˆ 129»šŠˆ©¹wFDeuWTìîÏýÿßìÎdFuWuUwwwwwwwwwwwwwtdºX1#œÛ¶(&b +º^é{¥î—º^é{¥î—º^é{¥î—º^é{¥î—º^é{¥€D¸óŠ=AéOYœØ÷Øn˜7­öù!ÈÑ€jÜ?±þøpò•)]¦NýÐG©<x ò(£ÐŸc4ä ó‘ª!$ûѤ¼#|<¢dκîÄ5„ ´_«Ǻ0`$xZfL€1ìŽc?dÂ6` õ-‘@cœ…ößÚi”‰ÌÍÙ"ÊkPd4èE@ѰȖ…*šèrüRc(!„wd& ¢PÅ ‘º ð€rfs,ƒ~›¸4›Ç”3 ü€‹ÌeH8âX0FÊ`ë"‰¡ã\<0꾇TxO8¢P}Ç]›U“T»þ-Ýt[_¶O«sèy–ÌÜ ñLÎh)“GKH¹, å2O„rÐ €tGÏ·˜ DAMñ€p¸>&0BÇ#¸ŠÎÃK,¥6#ÿqì€×±hK2“³¢CJÊŠñÑö@øÑÂq¹Ø” Á„O†{|>ÈzSiAaª 4 !ŸWAL'³°ÒÈó×pb * H_A”ðžò÷£d+H#àÂtÀ‰³U‡¿S¤ Ë•^¥ÝŒÀÇòݸÃCc$Ñ ‘ •L ƉÏD´˜2˜€3Ç2ÇåE©] “¹,AH>L>‡Ü¯©å‡\'IÝ1" 2hme;qÄâïšÉ¾ˆvÈÃ#ÇŽ <&gf~UG˜’œec ðœÂEœÈ#78ܰ¦„œ;"DŠ"\»¸#4CE\ÎáÝ}yÇ¡<€ó÷¸\`øÎ~QβT˜#"Âã&±¬¢uT{ÔÏGô9çˆñŸBHy'ÞÊÉ*ÁFB0CňŒ“I`«X*ÁV °U‚¬`«X*ÁV °U‚¬`«X+eªÿÚ ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿýu¦±HCú  ±W÷ð×þ{ ï‚ûŠï¼óàƒþ¿ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿUk¨Q’~©$A @Ýü0ý%O‚[ ¶úFûï<¨:†¥Š§ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÅ:y!ìmã c |aÇ0óÔÒ|:0Ëçc¥íž¨«Ï<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÏ<óÆ"dÈÜNK­ºÚn²´x‰oÁC¡–d}GÇæ@ú5"œ¬0à 0à 0à 2ã 0à 0à *¸øJOŽûwÍ:¸ ¼ãßð¾ñ>ùâÿCZÕr¨%ÿÿÿÿÿÿÿÿÿÿ4ÅÂ$ó®ŸîÒ—çÿÕóïª o#SÐ÷©W¼O¾éÃCÒ–¥z; ÿÿÿÿÿÿÿÿÿë»o¯½ÏpúCÿ àŒ aú8@þ8AŒ7þ /ÀƒÏÞƒÏÞö' |üÿÿÿÿÿÿÿÿÿ÷ÝÿÿÿÿÿÿÿïÿÄ+‘aÑð !1Q@AqÁñ¡0P°±áÿÚ?þÄêÇV:±¡Ž¬uut}ã]]]]XÇV1ÕŒuc««£ë¾‚ú è/ ¾‚ú è/ ¾‚ú è/ ¾‚ú è/ ¾‚ú è/ ¾‚ú è/ ¾‚ê Âò È/ ¼û^Ay÷ ¼‚âìAqÄPÇíC. º‚úýøc÷á—ðËøeü2æýØeÌ2æs ¹†?fs ½†?v ¿†?~ ¿†_Ã/á—ÐÇïC.¡—ÐÿÊ····´ŸƒNk?üüÞ~ xú8 õp6¬ k~žõ¹`hXýL ËRÀÔ°ê`lK„°hKä°nKý5ƒZX6¥ƒjX4¥ƒZX7¥ƒzX7¥ƒJX4¥ƒJX6¥ƒjX6¥ƒjX6¥ƒjX6¥ƒjX6¥ƒjX6¥ƒjX6¥ƒjX6¥ƒjX6¥ç÷áqþ„eÀiåp‡œ¼?¢Á¹,’Á¹,’Á¹,’Á¹,’À›ÿ *ŠªˆUBèBªºB¢Á"ߎWqº"—árþÊÿË·n>뺳Bmˆ“\¿äypöüöùvùøä\ì„ùùz¾Eiv6ÿŒ÷T»ø´÷ <÷~~ŸQøJIzéTTB¢Pª„.„.…T*!QQQ|2û/ |‡æ–ûa#„‡1³?'3™ÉœÄèMåÒ¨ªªª„*¡t!U ¨UTTTBþºñNGÿÄ)a‘ÑðQ !1ñ@A¡q±0°ÁÿÚ?ù‹üJ*PB‚ ¢  ºWËB‚é]*+©A PQP] *EDQEDQEDQEDQEDQEDQE5Êk”W å%Ê+”—)..%ÊK”—).R\\ ”âà\ ¸¸W(®Q] …rŠå5и÷BãÝ÷E=и÷E=и7E ÑCt. ÑCt. ÑCt. ÑCt. ÑCt. ÑKtQÝ·E=×ûB´ä³‘µämyÝÈÚò·‘­ä?o#{ÈÞò7¼#CÈÐò6<Ï#SÈ~ÖF§‘±ä?qäÐÞM äÜÞMÍäÔÞGí¼šÛɵ¼Ýy6·“Ky5·“{y¾òoo#öÞM-äÒÞM­äÚÞM­äÚÞMíäÖÞMmäÖÞMmäÖÞMmäÖÞMmäÖÞMmäÖÞMmäÖÞMmäY5üMÏû$9±7‡6wâ_ËÉ©¼š›É©¼š›É©¼š›É©¼š›Èý§˜>—88¸¸88?ˆÊYÊR;9|ÌP.s.KòéÿF{îýçø}S¸Òc6œ—èYö}/þûýy‘ÛF5'矩výÛ¹%ûŸ÷#¶¬ßo5²§»*Kïð,ÐÛ|Áô¸88¸8¸¸±ÁÅÅÁÁÁÁü&g÷~SûÝbW°ûÓj8sLHH$^ $¼u¸888¸¸¸±ô¸¾§ð¾á2dÉ“&L™1ŸÿÄ(!1AQa qðñ@P‘¡±ÁÐÿÚ?ýÈîÔG€82D/LßXæ0;ˆˆî2D`Fê#å“w`€ˆïÀ;ˆŽ0c僯€ñƒ÷c¸Áƒ ‚;ˆ5XŒˆâ#¸ˆˆŒŒ‘D`ˆ>± ""»Œ""pzàë÷CÚ?œL;·Üw#€DD{`ˆÁÔDD`h»D`ˆ‚#¸â"0#AÄ;ˆÁÖÁÁòÖˆ†ñ8ýÐŒø0xÁƒ&î"#¯hˆþc$FºDGx"""#"0""8ˆˆˆŽ"!‹¤`wÇX<|ëî†O€Áõ¼u""0uDFh‚#¬Œ`1ÔuÄFQÎDF ÄFÁ€×î @ @ @ @ @ @ |B >|^0pñðÜ»1&"ÅX­ e£:µ"EˆßÄX« Ýb| ÂÄ@ˆ00áH+„p;„°‚C|Bà °R‚XJ‰¶€QBŽaóÏ|ƒá㣙[ ¦FÈXrÌoþEȹŠȩ́_4ÃÓ&,ù-%„HŸú…hñòë뀎¿ @HuÀ‡L.t³®3:ÉÓ¸Ñ×à‰’é_€ï»¬Ýgà ÝqåÖ.˜:ëWXºàŸ ºÝÖîlÁÓ éH:ѹÓàD\ég-ÀéG\ÄX:á;­Ý1ÝÖnŸµÕÝuøÈÈꫯë+»»»»»»»»»»»»»´å=·ŸEïs¥4tðß²Z´×ƒ±„ô¿ŸOÀ§àSð)øü ~?ŸOÀ§àSð)øü ~?ŸOÀ¦ˆLÏ9p÷,»Ë‡ÚpϾæzŸ3=Láïœ3?-LðLÎò3ÔÌÌÌÏS3<Ìõ=ÌÏ™Â]§¬&¦fúa™~“Ö8pþµÜ ×_•à<¤-©%¦Áö=+×Aî´WÀ.8µ<6rûÚØEèE¾¼'“CÖËk €îoG ñt5è·¢þ¿üɡ¹™Ã‡‰Ã–gŒ8;?+чæÛãmº^¼swÇÌtô='CÆì ¥ûºùQÀxB®Ð=ÑâæBSG:Ý o{¹U%î´-v-@<šwzãë0h_->c²‹XõâžOŸ¥Æ}—4.à^9Œ¥`í›äó!ž‘œ^cÖ’u–Ž»Bt¯vË)³¼^6:Mó®AÒá$¤CGÈü§ß¦«]G@hçnbº 4: Èó½ }W)wvï¾ß~5Î:ìîrÈO3*cxŠ9‡@{[ÀNHv4^§üœ2LáÞœá&IË'?Î/ñúÆ­ÜpSg…߬ê^ºÅöy}NwÆŸ9Ц•úFÚ¡A8ƒ[}†½R{@!«¾[ÏÔÔí^ÑÂO¹(¬.› oH‹³¢"ʈO; y4Å·:C£¨ MšO"k\‹¢{loPïüÛ/qè9{+«]‰t÷;Àˆ€†öZÚ¬jmqRö‡G ì]à[Q$-ð dy9…ÈÕYîËDÓ[4ܰgNôjwvwÔÚFNB¢65¾Ãu#ÐÍqzØèãGÆŽ2QODräé¶É§|/RægÐæñ½iBké¤iÍ¦Ž»ïÚг[(´ è£jÐÞÂ3† &Øo|>oÍýùð&<Ü38í33ë333<ø™™›¤ÌàÌàåîfg áÁœ?IöœÃ=ßæ™êfg¹™™—S?Ö³wúÍé„äO"ÑpÆÎ¾Ü½åÈLCü€ƒ§–¼Í=€âá×Ý"͵§¼œpºÞ"õýõÿåàž¦o&_{úOüžþ˜í=áó=OEÚffqÓ0ðÌùŸ3ÜÏxzžç¼³3ÔÏ›Ê{ž¦zžg©ï¦o\=åê|OsÖÌáÃÕâ{˜îzžçŒ7¤Ïë6bpÞßBûŠ_Žâ*£„x`@j¾â¾â¾â¾â¾â¾â¾â¾â¾â¾â¾â¾â¾â¾â¾â¾â¾â¾â¾â»O§—§ÎÿÙ endstream endobj 7 0 obj <> stream xœµSKkÜ0¾ëWè°3ɲÀâî.´·C!§¶Û² É¥¿3#{wÙ¶ {ÂãѼô}3´è»W¾Q©ŒAåÛO{åŸz]o¿w q{§òI> “¿¤œhú¯qOþÁí®¤t5× ]ß÷îúë>øÕ‹ßŠûP~œ\’c‘ZöÓ½=øi7–éÑ­'·5 ºŽá!¥¶_âI´ÝÝ€+L¥Á‚É®4¤EDâ ²Úp]ÄÁ¥á¡f÷¦ˆˆfˆæ-:—¥â1Ö%˜!ˆs1–êå~úö/Ø7÷° fR–ô_–: Ný±-–p§XJ’3Ù°ÈÆ ¦f±«›+l̇ •­ ˆ0âI™q&Édؼτ¹í.âÂØæs.ëU–¡±Í –bÈ–ñ]À‹¯Æ¤ÙÙå›yRÚ3DkÛ¤w‰PŸZº„õ±ŸO¤ÞD«6Ê<6ªä9ýFòóEŒ8Ÿµ@^Èi_Nhœ±ÁNñ!UOw¸:#Üú?(Sðæ endstream endobj 8 0 obj 396 endobj 10 0 obj <> stream xœTÁnÛ0 ½û+t.W$%Ë ñ’Û-€жuEÑlX/ûý‘”d»^Ý ƒY‘žß#ù$ÚÌŸê·±fgyPFïd|þn>ߘŸyžTÔXÆ]*ŸøÇ0~ó'‹™¼îÉ> stream xœUK‹Û0¾ûW輬4’,Œ!Ž7ÐÞ†–žÚ¦¥lZº—þýÎË–âl²ÅDVFóø¾yÈvëÌßê±fcq›€Öh}ýf>=˜_•3ô¼~¯|mQï\Ñú‚?TÃ7š;z‹Þ‹ùQеˆE‰ž/çêñÃ9˜ñ·9âñâ~˜ª„al½™¾šÇNuýô³zšª#¥'«‡”¶Í¬¸;=wîÐCg›Þuv×o€àêl:Ûö§~ƒûˆN¯¬5í!ñ*û¦ðÈ(’؉ƒCÏn?OßB> stream xœ•TM‹Û0½ûW輯f$Y½‰¡½ =,=µMKÙ´t/ýûɲc’lcY’çó½'éÔßêÒj§iê‘Ggy|ý¦>=¨_(~^¿W¦Ñdw®x|¡—ÌèK.«“Ý‹úQ(tÚNFü|9WÎVí«#ý.ᇩò”°6júªGš[5: qúY¦ê(…ò³˜[ïëv¶Gšž;#vºÐé>îÐ:ÚN‡¸£mw4wdicQì°á9zÓ¼]¢ rlöäP®CËQ}ü<}¼V¢5T£iõ\¡AîovÄÀß.ˆÃs‡ÓS¹4ÊOÉ çæ…ü ’ŒôU6¤tðb¹qöÐj«ÇòC%¦Y-r¼@ð˜üš’œrhIÿ4£ÙU¶a`ȸ ¥®M¨Ã¦kmKT—T´—Šš%Å­üvi{(€)Êæ.c\ïá ƒ©Ý–³ëËeÛ$Ìé‘”T;„äwÉŒ(ò-f@o€~‹Ý.Ĭ«žëHä°–‘€Kݤ-¯öÌ oöÛ‡Ï}RºÐ¹êˆ úBiÂg%† }’'#X¤yq|]‚òCtÄk»eÈGQ,ðoÂ|ÌS-óe‘:[Ÿ©!›,7æÂñ©H$úMÚ;zµŒÞ´fpËœ¿¼ ,Áæù’KËf!éúMù.­ÊñA@¸àªè÷¼^)ö¨þ·j¯ endstream endobj 17 0 obj 612 endobj 19 0 obj <> stream xœTK‹Û0¾ûWè¼à¬f$ÙCœl ½ =„žÚ¦Ë²ié^ú÷;ÉòºIZLd1Í|‘íÌïê—±¦¶´m‘×ày}ûf>=˜~Þ¾W®±”w©x}¥¥Ñ›Ž,vüÖ¼Wó\¨´†5‰Ÿ/—êñÃÅ›ýOs¤¿çòãTµÔpãÌôÕ<hïÍtî- ÓKõ4UGÊOI÷m»ér>Òî|êá0`o»z»jä´‚|oãPS¸jÚÊ Œ²J6¼ÇVVÝw¥Š}âCaq¨‘°+áÃP;^!wsh‡ÏÓÇk4¼#®³™…Cf7Y³9®íŠLràÔcdˆÔoÏý >'ð‚àc`ôD (#Š"Á¤øNөȹ”[ AË/ ÿ­æ²pZ¥¬Ô¨ ¨NÜ„zë ¬Òæ†6JÖÅM\‘Õ*#äw(“"þÌf 3+¶KÆq ôI—š"lG -¨9,t“(ã¿YØ„µ{*²" Q]o‚†®‹ ÌvvõÚdœ„Ð/ÉZkÌD!hR´pwçCSîåÿL4†@ëJ“PÆM¬…¸DünÚU¬l=Šó<é«!ÍŠЭæ]Ê“AÕ®qYõª®÷lFXkpúKFßÝrbu¤ÒÍS‰£þ³’bO^t b3È\¦&ËÃ|EÈ_¹ŸYá(£ÐgǯobKÊE…¨Åó—d_ÄÍ|½-ìM–^8Êߦå Í½kb endstream endobj 20 0 obj 567 endobj 22 0 obj <> stream xœ½VKk1 ¾Ï¯ð9°K–í’- ôv¡‡ÒSÛ´„lKsÉ߯$[³žIz2¬÷³%}zøé{pÝçÝÎ3Ì(m$i¾»OgîWN¾‡]HžõŽ´÷üc5þg“ÉÑ»w?»Û3¦.ÃEI¾¯ÇîüÝ‘ÜåowÃâ…þâÐev ØwøæÎ÷ŒÉn'óá®»:t7¨|'uJ±LÝ~ž`?ãä‡&ÿfÞ¡p ~¦Éóއó¼cYÊÀ…¶ª‡I0fm N,ç0 …+919¢ø½š)€ô/eËè.LþÒ'µTtlœ¿®Kºà<'çû¤å§è€+rì0'E÷NzAÄý*R³¨SQJ÷á­T±Ï!î‘û×ü»s¹O ptï_éæ#GÝNQ@‰"œ& ê$âœ8a¿·”%ݺˆ²ú=v!ŠØ£EH *R³xQº¯s³M—üÀk2@x’®¿‚È«ŒÓåO2×qâ‘=ç¥ÁJ é×Ç`±A²Ø•ˆ‚O *R³xQ ^çf[„ÌÉ?WÞœjô#’%«ä„R}@]HìFPÍ5Kk6:-E9/*y1«RSYK<Г„kOTKzM«j®{ªÙ* Á‚D² 9¯$KÛ yÑgUW.í-Ì5†-.ZJ¢;/Žºå(†¨U/8aÝ‘¢aË"Ÿ²EQ¦‰¼Z˜KqÐ@EXpQ,Ìõå(ú›—¨ej¢©á¯ˆ“ëÞ¸rYÍMt¬¸ø°$ÜÓ¦·¡ëZ'J­‡–ßJ¥”Š´À&5ååh x**5xUT‚AÎ/-ÒQÍ­`/¨ÔÀô×= ¼ej¢©¡Ó)WÕ¢%§¼NæTÔ‚­t%‰7EÝ8²ØhSTÙr'ð‚çý‡ oëñt°hÙŠá„þ±KX£{²_ÌX(©O QÅ=migfÎÃF ½Ôß‚7,tëÞ*b‰laªÔ| BúÑ!Ró®Árz½ðIßI^ Aß hÃ:Âe}¤ ôM0ú):h÷J¶£Un£˜^âÙ<ïÕñø¬c\û 4òöÀøÔ/?ŽØ/Ä­u¨Cû†GâèCþ¯Ñ߸¿§C endstream endobj 23 0 obj 852 endobj 25 0 obj <> stream xœ•TMkÛ@½ï¯ØsÀÊ|¬,-UÇÐÞ ‚JOiÝâ”æÒ¿ßù,E©eŠðîhvvæ½y#CñOø!n@ÌŠt-“®¯ßãç»ø0êóú#ð$ît}–Ÿ„É.Wf–î÷†Ó¤v·éóx÷Ï)îÅ£_Òw}¨¤,RÁ±ÿïb§ØŸÀ¶ }8P}¦ðTUE=Æ“X§/ B›Èí¦làC»¡ÊèÚ ÎMÌæ@‹H“IB°´2·Ú¯ý§áH,@¸†“¦«°µ»\ÕO» ¸!+`E)yÜ0+0ñ&ÙŸ£/õ„›Ä<k¨ôšÓï±Ùï{έ½Tv  Å5¾8[ÖRæbЕ`:s±ý/òŒE^§ W¸(?Ú1+š {;ÙŽ*aCid‚ÕÄÖVØúð[Ç­¾Îë¤9ØË{'ö•ö[Ê\”K¶;§5È6Ê2r|¡h.ƒ; x'_t¾M¼†]äU9)Õ unÈI©*hAÐðÞi±4ÒÌ35¥éo^×oHBö‰ØÌv³ä—þÌêÑ\.—XÕ¼*ÔÓ¿ÊÈHS#ºJþy¾ïðbPhÞÕi#yöã¡àæÅæã_ B8* endstream endobj 26 0 obj 477 endobj 28 0 obj <> stream xœ•VK‹Û0¾ûW輯FË#ج7ÐÞ†JOmÓR6-ÝKÿ~%dåG6„8Š4/}óÍŒy ì_õ—qvàni„jåŸoßÙ§ö»æ?o?*Ùp'w­üóÕ}˜ûu*dåQî•ý¬.Î4n£ÿ|½V®Š ØÙOæceœ[µdã7öxrkÅÆKÏÁŽ¿ª—±:‡@ý'‹+cê6É ·º|î[ÕóÎtÏŸíAô\[èùÑ€.¡ $T^ aƒÊA#Ð e¿Œ×"PÒ… [“C!ôb3dtmŠ˜Eçb,Â:Ï2øW9æ&œ{PI®õ×| ˰"Hãµæ×iÛÌî{Ì·åDñê/6¹î‚•ŤÐFƒˆÔÑib>C±ÔÜ@ѺVe2uÐ~òO)'s|ð€8gä~v «»»²m-¶³³u/ÈV¨Ä&&Šæi ó<-0ä]ud‡êQÚœ¦È0„hFEÁiIãëò!æÕÄü7„Àör(ÚE9jBÈeµÉ2¨™¿È²“%2þ`NA„RæûÞ§{‰¤úLB2¨Ú±½Ìë n -j}·„æ‹nõ>nÑ”šˆhÚA¤ "LHEÛÆšB·ØÁ€&[âÄ+ñxêKC„ØËb$:Gÿ»Ìqç)ÀÙâ?mã"†çÇ âVdGnb m§Á$m®8jŽ›ÈÎD?ÝKuÄj07ªvµÞ ´wQ Z¹è¡ïl_ˆš^éBGrBè³Mé”SØb6®Ã_ësJ‘”MI¹Ï!FD%¿…¤2÷PÍbÄK'çv/žÓȬ^{áX+û°›ª‡ªiŠrj„AN9¹X|'‚Õ#ª¤°Z$~(^ öê ¬êYkXtò¢¸š÷äœr€×ÍH5ár*Æ ­jtH3ßh6 ¨2ÍÚt½÷¦[³Ó½–ÓË*^_µ»VÞný‘Üá½4Á¹+;¤;™$Ërƒ eš/+è q,ÏÞÐÎì?3‘¢Ó endstream endobj 29 0 obj 771 endobj 31 0 obj <> stream xœTMoÛ0 ½ëWè\À®Hê0ÔM t·vvê– EÓa½ôï—”œØóê, ÓEé=>R6-è7õ[Ýë¬Ø×ïúó•~Q åyý¡ÈŽÛ+±ÏüryËl$ß÷¬ªÝ]Ý5HžÇ½º~Ø[½ù¥·¼|<¾T`XÀ–ôðM_ßóØêa×ÈÓºÔ¶•g ·!´ñ<Ú}é fê ä:“Š…Ü`G6cg\n¨3½¸Ëb¨ËàÊìVÆÕƒX7Ôc\‡6[Ï_‡OѱÄ|(ÒćPøã*S6 Ûù†’³ ŒÊT©æ!”økÿvq@ɪÄ÷Õ72±LWVœL6eX7y±dă$‹iŒ,ËPâoÚ±Œ3‰lEƒš’ ­_¦ "(pc^äM€3•ё#xŠ¢IsLÝÖ„|Ͷ%š›rV\%˜„ @‹4M‡ýJ‘À'C&M)mÒÒ5N: ¥6Báþ$4;•û,h ØÚ4Õ^•Ö”Ò[)ýITòmº •ÜB¢Q¹B}†ñòŒê ¥6\ÄR\(ÇŒüX8\éÿ#ã±u—‘ñf!(÷æHC¡HS~6$­ÉDN‚£›þxç#-´c%fØÏþ|§KIÿýB(FŽÒq¼Âbi&ü —­~Ž.b½ endstream endobj 32 0 obj 512 endobj 34 0 obj <> stream xœ•TM‹Û0½ûW輯4#Åú©¡½ =,=µMKÙ´t/ýûÉV¼qB1Q„4ï½™‘­ù[ý1Öì,mà5x^_¿™OæWå ¯ß+Ü[²;W¼¾ÐÌèŸ\Šÿ«Ý‹ùQ(´«_ÎÕㇳ7‡ßæH×søaªJë F3}5#í½™Nuýô³z?UGÊßbn³=ÐîôÜ9߻΅~G+ðj½¬#S°t=t–,°³‘¶À¶éw¾Ûž>^Kç‘òaks6F›èXDlÚ…Ž8Û: ö ÀùT­mpÁs ?wvœ#&Â…a“4 ÅÈmÑW>ë¸â£àƒ†rƒ(›âÑuû–¢88¼):ÄPÃÿÈë°‚ 11dU)%d”Z…Ñz´3\ºuJd(j¶ +*‰§¨dè“Ú…¸œ@¼FÜrN½Æî¨ðŽ7zvOß®´¿§‚oV²‰ cBÀØå¢8Z@qé>•BšÎQ+¹©ƒ0y—š§(o©…9h§÷”̓ąv˜rjsËÞiI°íòd–žÂf’å-¦LHʨ„fXå´\ –Se‹Ù‹›Ó™Tý4¢^æñ#ŠRûõ­TVª:j6­Üæ#rI·ìÅl7¬¤Ò9¹úFÌ/ž$ŒÝt“#®;E|Ì“°äyZ˜n‘“Âdœ:%F¯ÊÒý8_|ÐN.ÕjúÙÛñ@df2ðXü-®ôí¯•Óú\Î’Wâ ѰTÚ*½"ÜSå¬eCjÔ¨Pñ²Í?¥°B endstream endobj 35 0 obj 629 endobj 37 0 obj <> stream xœ•TËnÛ0¼ë+x`…»$-Dq´7zzjëAÜ¢¹ô÷»Ò¢¤ÄNa˜¦—KîÌp¸¶ó·úc¬ÙXš6Ècð<¾þ0_n̯ ^Vnk)ïTñøB_J£_ÚRÌøWó^ÌSu¼¡£5¬Iüùvªn?¼Ùÿ6Z>ßUCekgÆïæv ¹7ã±µÐÏÕÃX(¦tß4õ.ç#ÍŽ­ ÝZ:hºom”ͱEìP×4Šž§²û:~~«ŠwTÆíÜTÆ!ÃÂwaYÙ€4–[Œv°ô …ªny„¦s„EC°ã?M·‘K°1§†´qO³ž3·ÊÔöº1‚žÖe³‹rTàÅ¢œEŒ%V–‡÷Ø+ßÔÛçúДô'ÃeŽ>…e“({?%ÒÊJÓËFt$T°{Áé žZ´O5î'aègÓ‰\ÏZí é5žàV—= €JhÀ½tí‚MáâØi\*ŒÙY*î­wVdQ¨¢‚-hH•8ÏFÀ$B©›*ªÓä´ùuŠÇëæ@·îÅ‘ŒŠÍ~E+ˆ¡ÆÿÑ ¢«Ã¢¤½c…úŒZà“ƒØbY)²¨Ì,¯s`È*Þ‡XsåSŽ<íÞf390ë=3 ½zpp„¸dõ@}~»±[\{/$s‘²¥„é†g/ôMpÙ"ÚQ–á*jÄsÛ*ØE>è×÷´º@Ù¸¾tÛ žt¦2±@†wçe&1o¡Î¥æmhÖŠ/ñÚÅzuQ^º÷-e”Z—©[—á`þTÕ•Ü endstream endobj 38 0 obj 610 endobj 40 0 obj <> stream xœ•TM‹Û0½ûW輯f$ÙC¼Ù@{ zXzj›–²ié^ú÷;²-ÛuvG–Fš÷æ=-Áü-þkv–†5ò;x~¿|3Ÿî̯ ?/ß WYŠ»ü~¦…Ñ?mÉFü¯qÏæGq¹££uZƒøùr-î?\½9ü6'ZïÏEMiKgÎ_Íý‘ÆÞœ/­…îü³x<'ÊÏîëºl†x¤Ñå©u¡ÛAkC-@·ó­<}ç[ µÐvØZ/aÇnç8Ç[”iÞ§;ÐótŸÏÿ‡À;‚à7ApÈq²• Hï|ÃS‹Ñ: ccDôyt²DÐiXËD@æ=m©-"Çôió‘?×Àe÷Ä^KM†“© 4L+ºKrF*„dw»&ñÞT ËjQ ×@£üÐIò`¥ u—ñÃF‡.ñM52•:‚í'Î~¤µ0}#¬µÎ2¥òÀV” +e|У¨Þ8~ä§‚.)ê™Ç‡D&…5@åøÍAjOÁÛŠãAæn‹‹•Ÿ¸XáJ\²ù1™‰S'¨9ùAL˜ñü©l}”†S É)Ü'm'Ö)§ÚPèëÜk¬Þw¹QZè– ¨p%HøX"ÕÃzG? —°2†6€‡™äËË ~ ¦£bCªß-×Bʰ€lÉJRæâ‰¸ÒYr0auUçæ›¡Kâì'+lòš·£×…¥ÊeÖbCº Â%×ÔË=bp3Dõ¢·âÞÙA•9\7Jˆœ²V™]ß&çM†P­5Ûh„ÊhÞS3‰Ü`µ )½ö†¢"ÙT¤™Lók:díÕ=AÓߦÓ@—lBÞ¦³ìS†é·;µÀ%dy«Uþ[Ú¬{áÉü ¶ð endstream endobj 41 0 obj 686 endobj 43 0 obj <> stream xœVÁnÛ0 ½û+t.W%Û u½Û-€ŠºeCÑtX/ûýQ¢l1Ží¤CE(òññ‰Š,•ø[üRì$NkFkÂøþC|½o…áóþ³€J¢Ý©ã+~Ñ ñ›…_²{¿Šãº¦e2 ŸçSqÿùdDÿ[p{rß Ea•.A ßÅýçF ÇV*?¼Ÿ†â†O67u]6£½ÆÙñ©…Ê›VY¿³­ìüNµªK 8Õa”&Ž{¿ƒà~§[­½n¥õ¸êž6aŠØý·áËRp(ÝYôV¯¢•ñK/ÁÕ.„†)4’UUWøº )/•v ®ÕÜŽÒ•ñ ¤tCŽãA$Fmƒnð¨ùbp„cTY/³÷Šª(Æ7W(RMœ×y"w*t:d£ý¤•qûŒäfî?R€gFÇà2GtdnL{.¯Ñe#ÞЉ1Ùà8c XaŠ™¨XÓÅšÒ¢r™ï§\úèÑdü¤+rÞ±ôc*!@ò )aœˆd%ø«ŠE}ð¢`S™ºr¥þˆ2uU—ÕmW–]’©¡T#WuJ€PGcY8µÜÞ±ÕÄ0ç6ÅS¬ÄWMy™–¥Ùå`D.iü •º™1sJ½~Å L"€È²Ô¸Ó¢Ë¬,¤ß'ØÀõ®™ÜmÖ"'Ã.¼.WS=°ëÂÊÀ)% ¦žKvµlÝnå 43²V/ê,ùŒv)Û..’äbóeÒ,+›;kϨ…ôªš\Öv7»œk××YرTí:-ë.þÜÊïéܘ_´+M"|ŽÁ[ê•àx†¤ÛxDz´¨p7ôfùÆ÷BéjÖøžNÃ’íS"±õ™èy;N)†l2æ$iÀ%|›MžJYÐ1ð¸ÇŸi;§BoˆâÛu n1äôE£Ÿº‚ÍzÿIñîxÿÂlc¹ endstream endobj 44 0 obj 722 endobj 46 0 obj <> stream xœ•TM‹Ü0 ½çWø¼0YI¶'1„@3i ½ zXzj;-e§¥{é߯dÙ‰›™Ý%ÄŸÏÒ{’l¨Ñü­þ0;àaCÒz'íÓ7óéÎüªÐÈ÷ô½²{`ܹ’ö‘†qÏGŠ‘ôŠ{4?ªÓ›ÖeÉ÷å\Ý8;3þ6GÞ^ÌsÕ°[¤Úšù«¹ŸxìÌ|êûùgõ~®Ž‘¨|+Ü5MÝf<ñèôÐá¾ÇÎ6ýÎuàúv`y)±ßQGÔSǰí È2¹žÁñAÿyþxÉ£³ìÒ¶Z‚t• ÄÑ6íª(xèì»DŠ[ L‘Y à…qäc#KFì#¢‘…^ðSŠÙ‹0F5¥V¼ÚWc~µîR_¸U^'… =vHþ¯„GõÚP‡­ÞAC¼Ht‹/${=Ñ YpTm“–\Ú¨ˆ1MrtH&k¼°}®E7æÝýkdÖ~#ƒìJÛÃ($£½'ZBiGlUF‘ÏŸd:Yˆ:ìÍ:#¿_Kû5•FÞs»‰|›U+y&Ä×àr}¥¢èË™ˆT½†\–däªË!ÿOâô¶ÜÜJá6’÷j*f5OJëeñ—õ€ÖÕ!‰Q&r ‹‚Yøkª4¹VðRWùr i&ãÚíäbC›\½\æR»m=†L(òc¾Ìõ.±Ê5\C‘ég/€\A¶Õî7jõ.‚¦)ÊN÷óµäëæMji«UŸLf®±ùki…T¸’Ç|áòSV”ï… o…×J 0•ÚŽæF(†¢ endstream endobj 47 0 obj 585 endobj 49 0 obj <> stream xœ•UQ‹Û0 ~ϯðóAs–d'1„@sm`{+öpìé¶nŒëÆîe’å$NÖô¡®[Ò§OŸ[‚ùSü6Öì,Ok”Ñ;ß¾šOægFž·oU–Ï] _ùÇÇøŸM²™üë¹Wó½¸<°k}­‡äy¹®Î~™oOîûsQsXÀ’Ìù‹yxîÌùÒZèÎ?Šã¹8E òÌÇ]]—Íxyvyn ;l­ëvÐÚ>Ž!ŽCâl‡-ƾÛQÚC×¹ÖÖÝεh»Ïç·â9â€ÔØ1¡ÀÃMxÂ"ÕÍœO4xn1XRXŒ[@ë%4µH¬#› ‘ìBLG~H]rSÉ~|Þ>ÅWqÅŒö ÆàåEÏÓ®ç%ÿ$ ÙÈ\S¡P†u*N¬ÅÞóbDA SMŒSüs¶B½G0_âÿPŒJÿ/Ň› åTô  Ó1.QT¡x%™HfFµmâ|?qÌRÙ)q±:YŒJ“Ÿ#ùÈ5Jê1ôQv8$÷÷ØFïy\fµÂ*´”÷ð&ú£Ž´#¤V¶çôQ<ÊiÊqÃ%»›UT¤A³ ZÜ¥ÑÝÄ š;vLLXÏ “3¨uAsh|š€ SÚX˜d>Ê;µÏ&*j*nÑ N°@.‹]FÄ{ƒ=Vœm¤{í'âv¹™ííÜ=xˆÀén{@+]¼ÓÌcéÖŽcS.n‡¼”I_ýBÛµöñBH™²Ë"涇F…ŸZBç’Êü¹qÜÀ©ô÷…„«´ÀoªgÃkŽË3yš+æ.j¶Í]n¾¬0…E…é;í¡xC½Sð¦^}@Þ©wãËj‡öúш÷ÎŒ‡Iò šé *-á>F—rKQL*Îþ”ÛÉü^‘Ëc endstream endobj 50 0 obj 671 endobj 52 0 obj <> stream xœ•TËŠÛ@¼ë+æ¼ m?F %ÇÜ ‚–œ’8!¬²—ü~º{FÝX»ážWO©ªº-¨Ðý)~;p%È4ÆÚk|úê>Þ¹Ÿ:}ž¾Ü€ä] ò“4åÊf¦cÊ{tß‹Ë@§í”¤ÏçkqÿþêÝñ—;Ëñ?LE×"Uì¦/îþ$sï¦KØO?ŠwSq6¢ú¬é>„ªóIf—‡ŽÛž:lû;:Xdà-£ÅS _RG$w îKÎgä{ßAèKßôŸ¦·x ÜÂL€I Ó.aõ•C»*´ EH£°ƒL|/TÒî‰Áˆ¡­j9@’ŒA3š´GðpÊê¯Ó‚8! ¤9Ñ ¢HÕE@~]'sÕü—RÆ*¾P $–cHd•: y&I·jMϘK¶"ÚEpœ °×»A}vséû‚¾[é ~ÃÛÌæàž5¦”"WuRÊ‹RTHRÆ:§=ñà9 nPÌ)lOÆ7;23RµÃbŸÕ~܈·vX-×¶Îæx³^Ð×f“Eº¥…ÊvûÔ(Íêß[~ÔµÄJZ8¬¤Ì~l3fª[J‘ 4犸˜ Óù\ôQÏþ©{ܧƶÌha þ xíþußðmaÉrSÄ,Ž×$z¯Ú„ÍúñšÑ´Ì3†92f½ñV›G´ïÙö¯{vƒ=s endstream endobj 53 0 obj 529 endobj 55 0 obj <> stream xœ•RÁNÃ0 ½ç+rFjç8IÓJU¤u[%¸MªÄqBˆ]ø}l']«Á@¨šë%Ïö{Ï…ÒèOõ¡A@i@ŽÞq<>éÛ+ý¦Œæçø¬l„;(Ž{úŒÞT2Ëøp{ý¢vWÔ:'?µ¸>8½~×[º>µïh¬ÁÒêáQ/zÊv-˜8¼ªÍ ¶B”Ÿ îB(ë”íîZĈ­©(FÛb ä.å |,l M,L‹.º|'ù4#*)ô‘:>6R’Ð @ã¹ÆËqŸx:KDm #M‹, /Êb÷m¨'¤€uEæ…1±`¢ä(ýsñ”V™ž¥}>\ [°£ Ò¿dDM}zN’Ž“&W t·ìš£;1u6‘*C6S`©ï’0۔͙°<4qž·Z%U°žfÈ8cõ_âÜÆÆ–þŒ”Y'6fÃcûÑC1 šI>“7Íd¼Ï2 [•·@¾òj,ÌvU¥]ŒEs²zÙæzüe ]öþð½§øÍã^„çÔ/™ûžduißLy3QaVpúLN´GBÔXNMVYªKFÔ¹xÚ1¤q«¿*$üV endstream endobj 56 0 obj 451 endobj 58 0 obj <> stream xœÅXM‹9½ûWô9`G¥Ïn0 éñvo†=„=%™]–Ì.›Kþ~ªT%uu·g†ÁD#Ë¥ÒÓ«W%)æÝ÷Ýÿéö»ÉR<µß¾t¼ëþÝAGŸoí\4h÷´£ö+þC3ü‹STþ²Ý×îïÝã;tÍÃlDŸOO»÷¿=ùîô_÷€?W÷Óe—pY°×]>wïÏØ÷Ýåñh`¼ü³»¿ì2PúÌæ>¥C_ì-ö?­íÑ„Žf÷p´žº0îíÑþ=šHÜBÈ#SnÓøçå÷këy‡ ºÁb]0´M€Ä£ë‡ƒ]LÈ]Eh`bˆönÜ?þhNÜwcAËví"!Ǯáh ¤@Ø·›½`s÷ˆçžWÀ朿÷Ä•i9v1^ßÛ)ãgŒ ú‚=7DtÆ«7âGîFâ ÎC„r,=Ïâ/bIÔ sÙÓq' ä–èf¡ ô<[Mb—Ó ë<a?°šìFL‚Þ$Û7Q „‘ˆ “Õ45ÔPyÎ…ÃP#i7P¼ÆRààôL(3mÏŒâ¶Ò þ,‘ò¤LHRÑ$úØ÷<Š@±âQ'!(3Bµ5¬y:“ÔÍ ~Ádö…D^´«ZTf3d'P(iòDqóÒŒžaÔ’ »“šá5“ä Ë E9 ¼Sž7б"wA¤ã£[ž 30aÝ`ÖÄV¢†¶î§B³}¿ þ-¡Ù>¡hVBsk© u9T™›v¥€˜åO˯„ÔÖ0¿@¹G!ï¥2ºÊ ¬¤Ç±ZJ š‡YV'åy!V‘TeY f8ú¡bEî¡°Ÿ“(2/¯ƒ;ejÖËäÑ¢  M V«´(ñ†ÐlŒ«:ò‘Å")`µŠæ 7õûšÚIÊÌJÜ’^!Òó俆CXË)>CÌZãĈéIsˆ*B󰶦GÊëkÕ¼ª’gÔ<éT™Ô¿å(hÝrÀÁ¢xjù”髵ýrSªèV‘ÁR˜Ã¼“[:ƒ´9CÞRg0ØU|oé (%yÖÙ ÷ ,Ü3ùNˆØšUÍáÅJ¹{iU›O»~}bTSSQ5ˆEQPÀb+ú1åzR”’:ê¶uë5DT‚Ze±ør3?Äasj\?ŠˆVë z܈äuXf´ÌÈtÆåN·ÇÅõ’¾-Í+s8x½%«.4î“,¾¦MZ6»œ% +Û­”òë;Ë͔ʣUJÝñ“¤Cš¡«Šró¦÷Ó,Y|5EBRm%]æ„^&\=ÁU^”;Ü/–K¿º5˦ Û\þ!?xÜíT²°9 _˜J‹«U³¬ë“)Èɽ¸é*së `q«Û`©}R=Ÿ—ðØÐb .C ‚¯¸|A‡!áì«ñx¢z–ÿJ ~û¨¼ŸE#ÿ?ÐÒ—ÊÃ[&¯¾zç9Wde¯oÝ­¯”«t<£B;º\áC¤–¤¬°Ã“¨9¿eì[X§ñ&3¡ÚNõ¬³­ž½åL s°ž”|º" Ir endstream endobj 59 0 obj 1169 endobj 61 0 obj <> stream xœÝWMÛ6½ûWèÀgHŠ`XÛk ¹-` ‡ §´Û¢È¶h.ýûÎ )Š–d5@-Œ•i~ÌÇ›7Zs€æŸÝßiö††ãÓ»øüúkóÓ»æÏ4ñóõ·m í{ÛÅçú£môMGŠQü–}_šßw¯ïÈ´L˦øùü¶{ÿáÍ5—¿šZÎæO·] ·€ÛÜ~iÞ_iìšÛëÑÀpûc÷|Û½p ñ3nw!º´iôúéhžw?ìýÑœ†=M;àÑØaoyš&®qLOúøàmÐó {ÚíÆ1b<îùoAGd .º Ÿ>o‚g^ j¨'Chy•ŸbN}q|:–°/´þóíã\îÎRò¶7‡v’üÁŠ5µ]_aÅ!Qt núöàÇS˜æSO T§@-X€ÖpƱ‡ g¶7ÖC§Ã°Oh<¿}Ä,ÃÇÅ”]m½Æ6[±PXãE d¬^&µ>qI]c?r`âÁ¯C$¥i‘žF=z*‚›Òær¹ãñ¿äܘ/ sß®êŸ)ûéÑ-¦ÜÇ”­-z—{O ôDuk³: œ"(¡etNÀ Ž†Ã”T®ƒ5—»ZöÁi)Nô¦t É)v ’–$ €)-À%€sýà6…¶ØÕ§TödŠÅ‘{(G—qðXÓº`Vu,+‰ 79ñ‰Kíbœêï͆˜¡‹ ”p*²½¶ë¨jâ•R×¥«&D¨Cœuµ™^1£cg͘¦ -Œ Œ›Uއ^PO1@È1ØkÂØ‰Œä5z&Tz›B+ò ¬ ÉG—}HÚè#¡"ò?˜ú‘H–ªÅØcבBN±­êÄ+^ŽÝàe½üØúÊà£òc»P|Îð¬·g¢€¹p²­d/d/‰¢¿ÏRiœ@6òC!»¨VK¥óŽS½/:²2,8vÎ焉!©è›ÔXÈfä\N#S©s‚„ÌÏñ˜ÃuÉWØ+PWX"$¡‚6dµLÖ\„®¸f¶h.B›ÄdÔܨqu]¦¤R–ÂÈŒ†òyɨÑBCÛØ:ÉjšoÄ8”éÓDWÛBWñNW÷…°nÔU豪ףƂ*%þOè*Ûå½YA™Ý¥¦½ Ú©¯Ù¼áœ…@–Ä{TTèËøæ²¢>ê(xw­jiR¸èѦW§×Šx­fÚ–ufÛ„Q[Úzo‡ü/Kìkà)›×sRÀB×ìsÌk âa+¥RSXÇÞÛ»{L…ÝÚFN¯ò Ü”ÅåcaçZaR]¬‹»ÇÅ3D_%¾oþWãºÔøÑ-Ö¯¥›ÄûBûÿ_÷¼*V}¡'…Ãv«jÅ+)êŽÏírNÌÑý6§ÖÛÅô‡¾®FÅx 0wË|FùecìÌÏìü±Ô×ÚÔ3â’ZTÅ¥ZfÜæìÖÌ´àw Çjzsõ}1›ì’ù0 ðöw´ï‘%¬µ´¥‡DœíÕÂC!Kïß,Iã½Cš´ç7¬ŒéKó µQª endstream endobj 62 0 obj 1168 endobj 64 0 obj <> stream xœ­VÁnÛ0 ½û+t.W¤$Ë qœÛ­@€жeÃÐnX/ûý‘”d+n´bÀTQEŠzâ㣢[P¿›_J«¦©Gåñå‹úp§~4 øóòµ1&¿ç†Ç'ú#7ú¦-ÅŒ¿£ß“úÖ\î(t\ŽNüùôÜÜ¿{¶jþ©ȼ„ŸÎ§c[£ÎŸÕý‰æV/ƒ†ñü½9ž›ÊŸÕÝzßöÙivyôq´¸qç=;t7â Í¸3²L 'žÓHSǃ¸AŒ;ò¶ë‘·;Ù".hé€hƒ9b”Ñ-Np£OB#Vc¸t–àKó{Ö"<ˆ}N7Èc FìóøñüþVž¬¡D™^ç4ä´b5­Ì¾ñýʃlx$ø€€t_#sîÀF­O„²r>Bh±Œˆ9"ßvï%XÏêA^Y`qz #2L•Õ.ýëK#øµËI•ÔÓÒA¦q ”õÒ¡ØêèbÎLhÃ6gŒe¢ºàÒC GíåÊëéhÐP™Y1MzN·zë\4´«¯B EkÊV)‹§ ß ¡í†¾u™ž$$˜X{©±IÔ£EÕ³Á)B-š$¼¼S*Ùô‹ RgÄI ”¬¬41‘v¹¼|Cis¹’˜|+˜$!_ ‰r³›æp-m`ik ‰¹í¶éH¨$|œžÛîskp\ÕÀ*ÿãˆÝ¿ñ¶µ¾©Tû"sB<g”Ã,÷£7±_J`·’P ÕéL»t „gJ ¤Êî·P-­5òàÖBÈ<0ï.WÆaÄD ôéÉRû%8û¢0saáU½Æ·#¿9~ñd¼ULô«/¡¶kÏ»~Á aáI*6¬5\|e|²™B#û"Hž1¶·Ð…B—“c<­ólí‚ûÿ Ø×}§Ü3[’8€5OoRâü¦Û>^§ß ,›ÅíQï©?ÅŸ*XÜpÛÔüç$ endstream endobj 65 0 obj 749 endobj 67 0 obj <> stream xœ½WK‹Ü8¾ûWø°£*½l0†vwln {Xö”dÂÌ.É%«J’%w[óKF£Ñ󫯾*—TíÏæ{«ÚNQ×#·Öpûãsûç»öŸZþùñ¥ÑNѺ§†ÛGú¥eô—¶=þÖ=¶_›‡wtt‹øçãSóþ'Óžþmïiz=~¹4ž®ìu{ùÔ¾¿£¾i/“‚ùò­9_š{Ê?y¹ñ¾Òz¤ÞÃ_“fœPÏLj”ö¤ìÜéIç'­â -Z`ù šP†B‘»a™f6œeÀÇåç&°rÁ"­“áñfÄÏ_>ìY`4™ ŸM&¬š¬dƒíý•Í8ì•‹F×Ûr¦}Jöæ «g€S=î^ø/û´‰#WÌèLgl×:ÎBd–y=‡Gµš;3•jµqo¼Œ}aÙÉÉ‹êÄ_ã"jVû‘·¦7«Ñ¢J\*.½£z³žHbI9'„.Jîib݆‘»Ò ^ QŽ .™DÿkÖJ et4¥ëÒ¬™m8€ŽêDö G”(žâ}Éc J˜Ïh‰ùØ„ýFæud\0.ÙŽ÷m¬®©+ІÔ[⩼_ì€C6Œ€g(§°ð˜‘dòÄ€À°Ï(áyPö~… Z9oQáÄꔞ*V"¯µcåb­ã@^VçjŽqzÀšó¸] ž*çXp5.D³ ‰%J¸YRKåT§ÔöÔ_Õ¬…B-^SÊQjtJ5)¸ûÈpH<æHéÕ¿)ÌÑýu S*Ö)%.’‘‡P<¤`Š@Cˆéß§h£ .`g/zÁ:„ô#î«*Êïþ’¤ÍÀ¾Þ»Žœ™D:±CNBwUAZË>ÛR~Î_¡ìèJú›kNv¥P>ý.—NÐò§MóPålM_Þâì H÷œfÙ¯/ –ª¥ñm‚ „]Lʨ(ÜÑŒ°çÃh--¢ÞùRRªÍÜÿ˜¥<«®*ìÊS0c‘šc…xÈÅ[ªÍb…·äJ0Žˆæ|QºÝ”—T$€”A溌”Í0\—ˆ*N·fÕX9.s¡ÓYøùWTµe]éS–kÜPŠAѯ‹)CÍ‘¸<îàÊ-=8ÊàÓÒׇ\ys½ÄGPxë0½xZã:0].¥ÏΊ` á`wzKñ|á”MåŸÆ«™\“b óóóä4^o‚Óu&4EóêƒÞl?‚¢HÏ7ÿÊë ½!÷Ð…¹Ë˜îÖL]¦ûö?W.t- endstream endobj 68 0 obj 1054 endobj 70 0 obj <> stream xœVMkÜ0½ûWøXGI– ư'ÐÞ =”žÒnKIZšKÿ~¥™±5ò×&eY¯ÑJóñæÍ©J—‹?¥**¼zˆOgãóõ[ùé¦üUè2~^¿¦VaßKŸÏá¶…ßpD¼Å_Ú÷\þ(.7Á4-Ó¦øyz)n?¼Ørø]>†¿'ó§sáƒ[ •)Ï_ËÛ‡ðnËó¥Sº?ÿ,îÏÅ#?i»õ¾jÆýÞ.Ÿ;½é´ïºS->u€NñYã×õ©ÿ4Ç:8ÆUcúƒOaÿ—óÇ5÷Öÿ¦ñ)^ôßÁf¼ ¸Êφ68W'uÃÈdÇa:îb”LÓ\§ü¦‘º Ç×b 4Ôî)ÍžÄrÖŽZ¯Ÿ¶ºNcFH-`''¸«¡.îze%œ¢W^¦h¨&X‰Ë.º›üY¢€»7Ñ¥Ú8WÙ9.xLzrB–#œ!"àZ@¤5nÄ-hl’2û ÓmÕ¾‹aº©`žq_Æå L¢¬ÑÀ!SV\s}düRJWøj”«œ fÉ×X܆}mY©ÍVJ- !;×Sµ$e˜x>u9÷c—߯æ=A3—$ò2é‹–ò’|&F3Ä]Öúº!‡“dRa€S‹¹˜)äÇEç]!8…{áÀ©¥/ÇQËÎlS q1‘rL?)7ý$ûÜ.û²¸$÷ÞL=×Tõzr‡  CF?þ•Z5êÄŒj'æ)pVæ~Ÿ]aH×óˆÖ…•Å‹82ò:ÙÌR“êFÈ›Ô63BÊ1éƒÌrÔÁ¸Q βòÀ$ˆŽQj×4Ò>)ÈÏ$v5ݪ¥¶û¬|VQ iMÞ „ù`ÌP]L4öô05yò‰fQ „ýñr xabeÈ’˜Ûí4Gí»ÒüÚÙݯ4¿vf)Í0ŒÝ¨˜¨“šÅ~·?¢‡€ð÷?M Þ…üVƒÖI2ýÊmHÈ(U&ç‚f½WÙ¼aVðÀÿÔkÜ|²=œ¸‹]¡8˜yNB ä%ewÐd³>0M1£±¼¥`Ÿæ‰gi$iŠ#–À Ü‹{U>·SndFËå2¶^ K™²»#™oÅ¥Â$³ TrôXþã“×Ä endstream endobj 71 0 obj 857 endobj 73 0 obj <> stream xœXMã6 ½çWø¼@²")ù0$“1ÐÞÐà§m§Åbg‹î¥¿Iɲ%“EÇ–EŠ||¤¨¸4ÿmþm\³u|Ûa¼¯?þl~ûÔ|ß@??þÚPëxÞû&^¿ñ—§ñ/‹wñWç}kþÞ¼}bÕ:¬“âçËûæó/ï¾9ýÓ¼ðë¬þxÞt¼,àŽšóÍç‰ï}s~ìÏ_7ÏçÍ‹?ótßu»>ÍG¾{{©ß㈴ßÂ蹞\ØoitOû-ŽäìéÈÓ€'„¸¿pžx4J€ d¸•ëg÷0³Hw&ô‡‚©hš^Žü~þõšžØÜ®Í.ˆËXu9F†úa‡*€*ð:ºi/–ò¥óúÚš@¸ëJt`/–³[íˆÃž,¬Ð'·ˆ±ƒ ¦)òºÅ6©Šò1† „,|)œáLš0½ÐḠh†c9ÎÀcR–åÛ,¿´Ï‘Uì#Ú¥\öÀ+j ZJ<Í1À :Ž®7Øj€aJ 9j úhœX8é%XT”„¸tÈܨÙ;D{)fKZÍ ÉŽ’&$QØ ‰×˜·,§ò1)¶’ojq‚±Áp0ôIiÉЂ ÔMEèÊu1­‹A“/úÙ‹Š*¸z&öUãAÁËf<)ŽZ òhgAøÉ…IŸyæ¹SB"oj¦ŒÊ¢ÐÌîbAHh`†(>ºjÅ¿@žiSøGÙ¿`‰'N°”ÛPÕÔµµ0Ïasd9 ª8Š'#Þ}Þc®?Ä;7yq•wÄwzë)Ó,Ý¢ Þåða YŽ–·@ñ•óã Ž=äg(ý² ×ý+äÁPgu$[š¹Á{({Ñœ±Ùb4‰ûí¬Ã’Fœ–QÍü“y¶€àv2uyF±T;3þ1Ð4ÂØw¼-=Ø'_ÕP/n“EæŰÅ€÷(†-¬Šá]ŠyÁJ·þTÚò|¸O).é¢þHqópÝxX•²®ˆÙþ†«Ú¶Œ½¢ž0Ëy-ë9ài³ÉE±àÅ0×ËK¶@YV–»?ƒJÈHŽýÝê‚\¼ºÇBÏå3ÿáAOå6ñÒüú $ endstream endobj 74 0 obj 1246 endobj 76 0 obj <> stream xœ­VËjÝ0Ýû+¼\GO?À®ïÚ]àB¡«¶i)IK³éïw4’¥‘lÙ ”K!4£3gΈ5¼þ[ý©Y}`0턵²ãë·úÓ]ý«âµý½~¯dËÀã3üü‡-dfÿ;»çúGõtG»egd_^ªû/ª>ÿ®às8~ºU¸å¢‘õík}…¹ªoO#ãæö³ºÜª Ôþ¢¹êº¦ŸíÌžGv1jäÚôÈ&sà#k™4‰Ë°pµsaªí€f|ÀoÜÀZá|"+G[Ñ’O°•_ð¨ÎI<9ø0“Zr¶›[÷>¨iÝ=qÛ›ø^â)áŸo×àRð’}ñE¼FQÄ—áÝtnƒ÷è©5Ò£HXl;» Kþ¹²©"ç…„‰/ánŽ—ƒ£ìiB‚^oî¡sˆ£¡8Ù'‚âÙTnÎGÉì²8›€mï†ÖCŽ|²+¢Ä<½F‡³Öʉ|N˜A¨—¬xîyÆŸ|4cv©„J`-ÉŽÉvœLðC/Û I.zöç"5 Tü¸ƒR ZM³·‡¦ÐÈY¦@|hXùWBš£$‚Ù•[E«i¡­Pääå#( µwÓµddT¢…>ËÉÕ“\ÛŒm¼è‡¦}OÁ‹¾ÏÊP©yëõ‘ªÉ)j! Áz¨ýà`µþÅ`"­t BÕ½R'Ì)™j»?úˆâ°"º*Î.葨¼d4§™„oqSè•–uÊÔÉ!IEK¸€eHØ:ÓBž1–ž°lò%9q#:éHŒEÏÉÜ߬4d\qJ‰k•/r5E C¾wªʲr( $ýËn œ}«ò ÑeòzÁJ‘Ïrº  Äö~B²õ†â”öµŽ4ý)né–MÆÅ(®Ñ‡¼># ö›šÔ´8[°ñ¡[6¬74鮨OO¹mZ˦mM¼]I9'd¹š¬R Al7{†P?[rÌ[žñ|GŽyËæNö.A¶énjݰTEU–6$⧤Ëîx?à 3ÄöŒ:KS‡@q¾ì}%Ø@^T–ëì]aCä ÿ.e ÷o÷"ºWpú»´Y"’åǽí¥DuÚû+zœ5:ºŠèô »g;>“¸¨ç’iÅ• ü?M&Oî¥2½_·1 Ëæ’hgÐM[?‰pnˆæÆ“-U‹ð¸NtЧ˜ÖÎUH¬*áþû9 Q于ZH 8Â-,Ûè¶ózÙ@!½ ™õ?ŸÀ„® endstream endobj 77 0 obj 975 endobj 79 0 obj <> stream xœ•XKã6 ¾çWø¼@²¦$K6ˆãhoèaÐÓ¶Ó¢Øiѽôï—Q¢“8™A0ŠF¦øøH~’Óî ùoóoÓ6Û§ÉÑØüÞüò¥ù{ }~ü±ñ±E¹÷ ßñÅð·˜}‹Ü÷æÏÍÛT-Ë"DŸo?½‡fþ§yÁÇEýtÙ$4 nç›ËoÍ×3ÎCsyÛ·0^þÚœ.›v”>U<¤´ëUÞáìíuߞư‡nÜvûv·°oãèö­·ž—qáLsqÚÑÀb0ð3·(x>™•‘G–„ ·Â‰U%rZržžÊ(’Y{€sÇŠÑ»ÿzùù^pÁct~hw±DÇh¸U4(i¾vN68Ùðº‡6;ŽÃLCOÿãêŠep!5š@59ÞY"­Ð¤ ‹ç¨2¢‘uEäØåŽô¿Gy3æ–Y5¤ºY–Ï$Ø•ƒ§…¨¸ª×²‹wao•ØÎQTLë¤ü¦¤¦ÒLý…‘”a죊…ã÷¬šŒ%çÑjiË’Y\uz½f†6ÀÖ2¤öHK»‹v¬J­ÎB°¤I¹PkOX[d«Q^Í ]1S  áÜpE§¯t uÖ¡ì1YróãºjÃ'ÏrhýíY.¿pô¹‡ô˜™ùÌ:¬:}Àº6:Ÿ”™Ô–þ~‚pŸjÏ«DQ{Œîú £RIJÅ’;’sW‰Sò|sœ #è7‡Ø“¸ÔnzÖø)Þ]­Ë\ZyPôKQ+Ëõ5ôZ·5¨LMµ™DW_©êª=—v¯n+7½®ÀÏæÊÇZÿ¦¹95wauÉs¾~Þ.ýh¸åæ"³ÚY]O(W¨Ka»˜ï:ôÓ[Ê×Óêû¿“Þ˘©ÿø†-MÖuz¨ÖÊ}¹rÁ ôûdU¡mÞ _šÿ*š endstream endobj 80 0 obj 1436 endobj 82 0 obj <> stream xœÍWKã6 ¾çWø¼@²"%[6ˆóÚÛzzÚvZ;-º—þýò¡ãÄÞ™Cb°ŽV¢(òãGŠr;hþÙüݸfëh‘¿màï·_›Ÿ>5n á¿o¿m|çHîmÃ߯ôÄè—¶˜ÿªÜ׿÷Íë'R­Ó*Ä_Þ6Ÿx Í靿…–‹ú麉t,àÎ7×_šÏ‡æúºw0^ÿØœ¯›1”ÿªxˆq×gy¤ÑëmïÎcØC;nÛ½›Æ-ì]7âÞùqëeš&.<¦/ [þˆ ²ã–¤ƒŒ'3so'_‘„‰¶ÂYTEÂNBÏ«úUɤM, 1Šb²îäÌ‘x”åS21[N+àeý4þ|ýñÁ~p»® !Èá"r`ß;Ô ¨nb €øÚíaƒ ,èÅ’ ßW<G™e‰iÉ>  ™ó Ÿ‡ª*c§~ç‰E½c,‘ƒ„:b8Û$  °rDÉÒ,Qpm÷€eö(ÊX^E…´5ÇŸy2xJEô)üÈÁûŽ"쪱Ž^C±ï|¥yÆ^c­õµ;ê^q@ƒ\[E+ÍVMa®T¤†:ÙU5D¼‚NN| HÉ!‡Oû—¼Ø[Ï©š½uBÍišà€hì}»îvܘpbž‡šÔäÃ6ˆ1AgŠ ÿϼ+àÄɘ¨£É*Õòl+iØeY¢ÖÀ˜dzÑQï¥5'{0¡³\V)U󂢺’ûIŽA*r?ѯV4_˜ŒìIà2&ÆTýðJáñ¡ÆJ>R³dí¿äjA±Zk§Ðƒ)Nïh§Ð»y3%—JŸ8S:&¯F_' ý"ý#R¶Õk}“Ž)èù~¹(`wù³®KW´½k‹Vn=JÌî™ë¡ôÉÅi\ó3„ž®›'~žj'Ý×{›/êaÓ‚Ó¥få¡¿ÊýãZ£†.˜Ü[kÔȆvÖ™˜$¦ܦ¡ŠI.x LÆ}yZ\Æ7øT³p†OP| Gí½ô“yX¶ÕWP̦ÀÁ¬wù=”]©œª‚kBìÿìCÂe¦m›]Ï z›Ÿ ²væw¯7 ¬A0xuEe}ÅÞ¶bOß© ì“ó•B—+~Ms©£zYIM8¤€Ð.v o£ôÿúšJbjK>šÇ3ÞåÛ*ÝÐíœnbß”*c_Jáýëg[òr!ã4 ’_%ÙŒôò’" Õæ„T‚ah‚C wÿ‰ïwï»ÃŒà¢$[I½5µ†ô¥ò¨°Q‘é±çf÷à­–ºÌ¢É¦ÌKó/¡Mëü endstream endobj 83 0 obj 1218 endobj 85 0 obj <> stream xœíXMã6 ½çWø¼@¼"%dím€=,zj;-ŠÝKÿ~)R´-{¦ÛÁn‹`-‰Ô#ùž"SCõ÷á¯ÊTGCÝ}Û8ß~ú¥úá]õÇ*ÿùôëÁ¶†Æ=|û‘þh}ÓÕóß2îcõÛáé--eÿüô|xÿݳ«®Vô:-¹:2 XÛêþsõ~¢¾«îO'ãý÷Ãí~xdGý'w]W÷q"äà4’3–_Ù(DZhbÛø5bО @ðÆoÀñ6Áh’( gÚðâ+~*;cô€»Ér¶ £\˜°œ©kêa$Ãhƒ¡½%|N¨5øâG(€Åÿ_¹«ñœÁ"ÉJØXÙ™”JØ^Ä3T$FÛ?™FÉe—Áêb|õ%H÷£ž".…?ùl—ÞÝHb/?¿àA“ç2vB™+»ñlÚº[Æ‚g‹ÃTÄ{™‘Á•TŠeØSRëú¸¹÷r£á3½Ÿmfx!Ñ·0I¯rrqX€&­XH­]’³V‰ÀkHÎbÝ,Iî> stream xœ•VMoÛ0 ½ûWø\ ®¨Ë qÛ­@€†¶eÃÐnX/ûû£HY¢?â¶0¢È2EQOR”ÿŠ¿¥* »^‡ÖÙо|/?Ý•¿ (Ãóò£0µB»ç"´OøC3üÇ)¢þÙî©üY\ïÐ5³Qx¾>÷žmyúS>âçä~¸—]™òò­¼±oË˵SÐ_~çKñH†'›[ï«f²×Ø»~îŒîu§L¸þà:å‹îÐa÷`:5„>´4ýí›ÞvÊ÷ly88àoº ù›¼ªiš%[r§NJ:|mˆ€|…9°šÁ#GjÙy€¡ÿrù¸µgkpÓ¦1U;Ût§o‚¤hBBUO(ḧå|o:Pï@‘rDç[Q€s•“^öº¡™6ÞâÒp!Ù&¬ ÓF@l‚Ò¨óDF ï2B^gëh!“@_™=Ü‘µMå(a¥E !gcd ›À9öœíiˆµ‘\…‘Þ(Ü=SC‹˜9NŸßÜN¼¦©±TDÀ&|ÌÔ‹-!MÃpäÈo²ô· à†´M,‹ž‡Üˆå¦ç"S1UÔnÀa;_o§úo"L¢:àHƒ‰V0+ÂYHd °žïùsMø»æôZ¥-ò6–ÙÚyZ~.Øœ£í££Àb]äF•Kµ“+Yé «°âü6W3RP>‚"A|µÞB;x¥½ã\ur‹f;ar¯RhƤFeñ§bDöTX[]ÕïQaçj»Tá‘U„ ðŽèjë 'kÑ%ÍÍ fÑÝ9÷&0íOu7¬§[Ñ?Åô 9œ#ªpf‚¤Ï8Êüí²YùÊ.k]òÐã©12ØF§u×µôÇ‘ÜûêðF¥¸TžËZa^žÄi˜ÂœVaéJaꥻF8š+ÌzàÍ꺄m·$úÝZ - AÅ™åç€Û›X®®ôfœéÜÌ S/•aú 0D{Ìwâ¸i7ŽTéL0\.(X¾¸Y¤ê±Y[BKè•Ü`eëÕU"NN'™ 7> stream xœTMoÛ0 ½ëWè\À.?$Ë qSÛ-€†ÚfÃÐlX/ýû#);NS»Œèƒ"©Çǧ@‰þÕýñà e"cÐñåɹñ¿zý^¾;®@üNNÇgù‰›Ìr±Ò9û=ûîx#©³9;é÷pr·ŸNÁïûƒŸÓ÷£Kr-RÉ~|ô·ƒ¬ƒ-`7þt÷£;Pý÷RYÏþ$«ãרãSW` ØÔâÐQ ÜrÕŒµŽÄ‹ ïÄ…vj`sœâ÷Pu߯Ïk  ®aÆÀ¤˜i³RË©^Š´-ˆ’\È fã6äpMs4U]ZˆVg’Lpgðï·oAã& ,,@{KU){v’™pbQ–ÙÐ u³],ìH'£­¼½N‘§¨íz+„²Z¯8jÚÞnªåú­©’Ð÷u~ *#†›²¹"FDÃ-œÕ‚“!—95n>Ýj_ݼMþ¾hÊå7°Ž%­â\i`ù¦khëxîÖt3ÀÀ°øec?÷uLæ °Œ×X# ÑÌ^únÙ‘?|L«åIÿÏs¢e¼jÖ`è³è¢iT$? J΢%Ú–vóÃÓ¨>oÒ¤{ûYQöbÈ‚¾ä ÉrÈ“>”…‹ºþ/ë+« endstream endobj 92 0 obj 486 endobj 94 0 obj <> stream xœµVM‹Û0½ûW輯f$Y1Ã:Ù…ö¶è¡ô´mZʦ¥{éßïhF–ä¯Jˆâ(£ùxóæ)ºõ»ú¥´ÚizôVgÃúöE}¸S?*Páõöµ2&»KÖWz“}Ò‘â)|ŠÝ«úVïȵl‹Qx½\ªûw«Ž?Õ3ýœÜ§ÊSXÀÚ¨ÓguÿDÏVΆþô½z p™ .Ræ@ì!&oxi ÖnÎ+³Éø£«qŽÿq“åš” BÓZVÌ€=ä>Äã&#KdFÌ8“{%¼ãìïÒþ‚éÔ6ˆÝ'Í"|A €²Ù±†vBܦ89í`9®×¨Œ­›¹:Ž+µáš¶n³ÛD àZ(3Ã1Aƒ« ©icÃ'RªíJªeͱq6öbä;˜«‰®SïºD¢[Þ ÀŒ—ÈLj=¤é y¸Qƒ†ÞNx!¢¥i)SËþ®éf`Ç¢S£L—âVÒZ/9Ê6¸ßäKêǦnRý|â°h [¤a…D+Ḁº/št-$´¶¸•n ­õ!‡õtg¢Âz¼"MºÁ¢Û7…n`¼sgÕÉ1L-tÇ4_¨³ 9s&ßÀQÀÅ üŸK|Ml¶ˆ)Ýô/‘É·sHâÔ©bJŽ—Ê)S6,Æævœ,"æã€³?å5AÙ­\ñËðå²ö?æß¤àoÐÏ^èá³úRÄy© endstream endobj 95 0 obj 777 endobj 97 0 obj <> stream xœ­XK‹ãF¾ûWè¼0Þ®~I#Ù#Hn 9,9%™„°“½äï§^ý’%{ ÁŒF–««ª¿úêÑ2Gèþ=üÓ™îÉàmoé<]¿ÿÖýô©ûë}¾ÿ~pÑ Üû®ßðÅð?.©îè¿È}ëþ8¼}BÕòX„èóËûáóï¾»üÝ}ÁŸ³úùõУY°G×½þÚ}^ðÞw¯o'Ó럇—×Ãv”>EÜ÷ýqHòïÞ¾žÜódOÆMOîãô'ãù:ó5LprýôäåVžªLO6I󽵤ŠåXÂz¼…ú.*XÊ…bÅào0ð³ÈYJŸô¨=»¶ Kq»Ra,›~~ýq ï7ÆްÙ]Ø /xåV|=»†¶¿÷·ÀÌ;ˆôMïŸÙÅÞ,{.A6É„&†‘?ËP2!ÛgÀ!¨#8˹!íbä†VÕf3rÂ6šBj® ÀtÚ ƒµÃž·‹÷ƒÙ`.Ò¾64z¾žrˆ6äXønÊ0•–&~§ûŠë:*Ñ,æ’‚4ZáÊ1U"Â…y+¥¨º{Ì…Ñ]1·Þ©Ãˆ´ãRÈžKžUw?ׇ²±FW›÷`K¢5º«•Ñö’¤iä°аFN³¨25Jn^$³äÙÕ®!…mÁtƯ̤³g!"·[ñcX­¾®»·#×ÇrŒM‘»Æ +„4lËþBªÜ™æ(Â¥-z§]ñš#ã+#Ä^57k¤s0u²Ã‚®ž»ÊwÎŽs6¦GšK•2)ÚÙÕýþ>€a(GÕ ê!Z –ò°Ùú Ä~aêØp4ì¸ÎMxI'‘?] ª]ùYªš”ܸ»áv{‡•wX—dÿP÷ 2up}y™“Êè̘՞¯ḛ̀¿ˆ¦U´Ù; ê‹.Qœpoóºp„¥8+ÒÄâµ;SÍX­œÍfjN8ÕS,‹ª ‘–DÊK>0×§ã*¿ò¥…U¥nSÆ«ŸæÕËbsnj&¼ô‚[Õ5FñüöÙjŒWo×ÀëüÍ4,C2ŸXt¶Ÿ'—N3eä¶ËíƒI~ÏÕLÞùíX™Ú婜’UУL¶šßòõõÑèÖ¹Åç Ÿ"ª]ª4½;lßÊUÌëÓC,n¬mzF9ß?ù`{xàEœ®Cû¥û?¼² endstream endobj 98 0 obj 1562 endobj 100 0 obj <> stream xœ½XK‹ãF¾ûWè¼`oW¿$Œí1$·CKNI&!ì$d/ùû©W?ô´gX‚YÓîVW}UßWÕ2hþÝýÓ˜foð¶µt ž®ß~k~úÔüµƒ†>ß~ß¹hpÞÛŽ®_ñ§á7.©îè[æ}mþؽ~ÂG˰L¢Ï/o»Ï?¼ùæòwó‚?çÇŸn»·{pÍí׿óï}s{=nîžo»6”>eºoÛC—æ[¼{ýr4σ?BöáhNÃŽ&öhܰw<ŒWºÇ+Þºð4èù7ö8Û—{¸òˆÃ‰²:ºZÇ÷Ïü¨V¦Úw’äjä™ò4z‚ޞغ þüóíÇ%ç¼#ïL<ôÙ;KhØU4 /‡( ¬,øB{û€ ´ƒ8Õ-„†Ì¿ÐxÇ# ÛŠYÖÀxHÛØŽöIáÐmÁƒ1M<Ó;V8r&ˆ iQ´›«hi³ä½õdz0A€^®=#‚½èÚEaCZ늩#ét¦ŸœÂQØ7`_-`äiDš-¡àÿÁXIެúÉAv?„‰‰d:PÜHŒDÚé*.àïm¶ABÔ•I,4€²Ž]—qñ— ÕN‚@/ñdŸØ,±W¶+ªaTtúLã°® /»GÙƒ]v›r¡?Ø÷È…61îAucXe ´phëg54p’è|Ö¸Ö£AK.'ÖîEÖ`¶“qѵÿ…5ÛLq±ªÍ”°p¬SüZòž0=ÕÄd¢ Åš,S[if+V®ñˆ£[(J å‘uU”É&g2xQ”!ýS ‘*C΂’¦‡±'I æáeAmhËì“ìï! a†0onŸKÊ*¶~M Mï3kB[’d÷$ RΪµ)H9DQ"ù"Åi[lo&ÒyGl—ä=ÀBšG©æ@òHÄÝVaÅÖ+ÖÛ$Bå!ç’Êc(™»¤4ÅælaºqŽÕYJ*±QW­CáZÁs5"‚RË×E¢3Ë®I.Ôå¤W³(œ³BE^%)DNXËÅuÔÆ¯c‹f´8¥¬¸r¿Àéȼ`l¼ÐÆIžØeUº¨-¢K9?“N©ÅàmÝô?ï35Kù£‚µV@zf‚[{×|tñß§5tžy0w('ÔÖ07Ô ÈÕŸ-xÛaw:7!‹á$”Ñ`áµÂä84Mé,üuVo§øÙÁT«oÕ› T²!+ìu«oTæŸÏ‹TŠêμ*d^^ ^J©kµu Cz«ÁW³Ý%N•¦CÏjUõ«·Óú'o^ØÅ~ëô;)é€õÌH‡Ê£(×}tÝ ¾4ÿDÙÏ{ endstream endobj 101 0 obj 1351 endobj 103 0 obj <> stream xœ•XMoä6 ½Ï¯ðy™)ËÀÀÀŒg´·ôô´mZ›ÝKÿ~)’’èÏ$ÖëØ2E>’Oq'¨þ;ü[¹êèè¶Åx u¼þø½úåKõ÷ªøóãƒo­{;ÄëwúGËèúÄÜÅÿeÝ÷êÏÃë2-eQüùövøúÓ[]Ýþ©žéu6}ZÚðä«ÇoÕ×'º¯«ÇëÙÁðøëpžÙÑøS–×m{êÒz¤»×—³»õÂp gwŽpvÍ€g燣çÇôà)ÞÓ•nC¼ð2èù GZ]—{xâ'žÊçÐÅ+z¾¿³©V–bO;É ¹:±)Ö¢½½²w7g¶Ä‘-ÝÔÅäytÀóûÛðëãç5 jOHø¾>õ ŒÈá&rŽ?ð§F>@ùà%îJ!ñå6]ë¶vJ¬±Év‡. Gêj L öü9-„D8$i£wC(ËcÚø=¸Ú²âbÀô÷1bëcv$Ã_P7¼Ógå[2ÇÙ‡˜PNbrk”¾,í5wœ¡V¼o~Ç ÑÚ °ñOa†–%ÆÇ!µ»"‘§ÚÓè÷לkõ—šj_mc ®ï;é]sBëe® ÀypŒm»i }º&\ÙÃÔÑ¢úÏŽãE˜`ˆþ§¤j²zù.Eæ3f±þöÓ@^Ök…ï.Ñ ŒKŸØ.ßó[©ëb¨}7öŽorÁs—´»h£wÄ•Ÿó똛UÁ¥ ·öíàÔ~v_"Š~ù0¤ºj8òF"?ÖBÐà`“ø|VxÉÍ!¡Ø²SêÑŽJå$uç¾iwI rÓz9‚vžZدBÎÞÌë @Œ hÛ¥Ž Ò+<•«?íÞHPLAÆJ¶ÝhÓî‘OÐÚ¹ê&Í?(Ãt‚ŸYËø4†¢•iµºÃPÈy%×%Í(3z€O„ŒI‘8}ˬläG-’uÜrôJW±÷yE(3[ˆN ¿&dtºÉç¶P¶‹Êro†cç?7ñÃå ¿Ïz©j{Š-…¸Ég!)cp2Ðc˜2h®e&šòI5×ü¼"!í’ó$µ¬Ó G©æüddÜ1áØi¡û\]¤„Ìü]üÄ—J4šC_ŽY–H‹l­±ðþHÇ–xEÀk`<. cÛÑ9‹`êÜÒFävñu4b…„^tä ÄXxdUh­q“äB@j•6–a-Ð6Òçˆ"¤ÓÆB­¨-FdS ­«1 {"zSYrM bª% ·Iõ$Êm¦òÌ,kÈD˜iRPǵ¤î¢wˆÂŒß# ÈÌ2Ó<¼'ë|b”QÇ&[tS«†-¬,õ‘'E0Ø› këeíÊù=}ç©ýz°uaEçRˆ[C¹p-:¥®©4O6Û:dæ)À#LÔý¤–f´¿u GsøU ±Ó"2Å~*¸¤´uôÛvžûbû?%QFib\ÎxÕä—âP|î{)z$ž±ó©M)²NUêŒWÞSAK&Ül€¶¡1› !¯x†¸ˆ¦Ý4€ØPu­z9“‘–V#§£œ[Á¼ÀÕ%©Öè"¸¨ÒÕ:œîº¡EóÆìÈŠë çîg(¸åìŒ$m“ü郱JîL}R:Õq*ƒÂü r¦e¦çjõÏžÜ3*,ÿ }‘':`ö!Ã~y´Þ:4˜çæøba›©÷DT×´&ÿgë¯ Ëã‚á|¼ŸN„H’þÒêQŒX¼oKz`ÈHÙÛÇÎu‹Ã'Öâ¿çƒ@½wܧ‘ÐZ¦]?¢öŸ«ÿvõ endstream endobj 104 0 obj 1380 endobj 106 0 obj <> stream xœÝWKkÜ@ ¾ûWø°3ÒYÒªêŸÕZÕ¢m‡~µÆ¯÷Ÿêwgõ· jÿ¹ÿ\i§Hî®òë-ý‘}Ó±óßAî¶þRÝœ‘êp„üçÃ]uþæÎÔ»ïõ=Îê·‡ª#³€­®ëó=íM}¸Ù(_«ËCuÅŽúO7]×öIiws½Q—£Ù€»QÛ±r#n”ÍÇt°÷{ZikýÂb0ð3’6e{>Ñ$®CïWÔ¼¿dU]Eô–Xe76&lqb]vaÓù Z±˜´|Áb_÷^©"¼^÷‡·Çà1ØÚÚ(M«Ägƒkxº/@;„ ˜7’ç!艣˜Ø™}>f Ü2ä02déI­8ˆÖIs™?ìY{tÓV{lµŠÁwlÖÄ"†Ì!î9ópFJÖ.°ˆ‰Ž'ª%ìQ0ñ³c©;h»epÆ'gÇHqlÒçéa²{Ÿ.SE]0V„8OÚ5ÀEþ¯2ÃÁ•)Z ,®(ÑÖ¬„ÙvüêøˆlARI1ëÝŠÑ®÷6©.™l“k¥Üñ\µÖÃLú:Ex! ÌÙ„„ðÊ9Š9Ä3çq¨ÃeÚ°$¥ïžØ¦\ å'QN™˜²çЭÃ`4ã Ë jRRa*0¼ö«*(ìh`z”!ÇÁž30!¸œ~1ÀñÌhªß ~ìh#œ©¢ª@)<äÿX$Íf)Kï Á¿£Âc²§pï#åí©ŒÅ[÷ŒŒÅZ\`¢§™+ÉŽ“x‡ü™ÐÂwœGÍ’ÀÂ_3Geu&%[:Á 7Ïå [©7WÖÈÇ:®ÜÕÐ8Q žÐÕИ4&”®Úò“¶ìwÔ»@¥ZÜ× ÷5¿}¬±MÅQØ|bkãš¹ÞÞ0ÖÐWt·ÜÙü(4omIû“:‚‰ý¯t6áÕË;Û±Ð^ÓÙRtr¾³³ªcø:†] ý4úЛ2$ŸF?P tö¢·If6‚º<êFoCSq"m§¤8H"Ûâ.¥L6 7b³±@Ù4fÒ™@w'}Cû²RCI°“×°d¹÷54Ôõ2Õ¯µ0´s5º¨‰.ƒ¨)áfkI î¸_kÙã5ð#ê“&+@l‡gô)@XLbÿËl%"{ùtu ž¿>_ Vüðûcã‘¿t#±,òÈtäìb> stream xœXKÛ6¾ûWèÀŽfø’C€µ^í-€‚žÒn‹"Û¢¹ôïw^|H¶¼Ù`.—Îãûf†dútÿíþíúnßÓ4!Áóøí÷î—Ýß;èøçÛ;{’{Ýñø•þ‘ý¦-ÍŒ«Ü×îÏÝËR­Ë*Ä?_^wzõÝùŸî}.êçë.‘YÀƒë®¿u/4÷ÝõåØÃtýk÷|Ý}Gù§Šû”C–Gš½|>öÏ“?B˜öáØÏÓŽ}œðØ»iïd™.<§‘¦ƒQ¾Á´'i_çp‘G‚ºÑÉüYT%EdK¢2M{¯S<‰®°²yƒëE¬µ©¾`µïV™«Åò“¨?[€s#çäûyúõúó=½#ÝØbÁQpÇMÜ9=Ü0P7 n àÅÑ‹zKÃYïÅqþ‘pæoä4†˶ ÿÐr­±Ù¢ZãoÈs8¹Œ¬BØz`3Ù8#MñB¹BLj~]$L“p”·ì{ˆT*A|÷• Qìa±‚ž¥Ø¾ª6û±*´ÑÕÈÐÖ8T)Œ¹|’©ú÷$bâ¶3ÿÐ"ŒáZ“•MEôTèÛV‚¡_*©~«[ZöÇ™\-›Ü 68e¸³ïó´@”k@ÐVdî6ÚÆ™št %üÝõ¶­Ì9 ¼ÖqÕø&c.ü:9OÅ‹K“J(m&+—Ô‚±Æ++²›ò$Ç-Éâ:›û ÞóZm*HÛò0e‚©C›]"Æ6PW«>«Äœ‹BÖLl( à)Sî¡v7_Ìqß ØTZ”÷£‘9hH/nÞèpзèòŸ9<©±-w9ÐF?ZçT›$øo9g`0š²@醰E‘Ç Ç`²IòSÇPµÍe£ž3*° ‰¤ëç1Gˆ¾×äIö›é€ñî §&*Ž=­bש³LÖ³T:p–0ä8>ëjslc‹‘I…‚d¨&Þ‚A‰ÆahѨ~šÌCß°Í 0/Œè‘lÛlçO )&FsrV9üqì G^÷ÙT´‹'Ü=¼á˜!|T:Ý» #4—2ÅÓ$Äuª;ëÚûÁðIv ¿ Ž€kì³(sV@R‚ý bÚd3Xáû’¯¸³f†vò`½Ý×ôðè_„)êÒþ}\Ñí ×\E»*C›ì7|øšàë6Ê¥8ãÛÂmÝq”KN%™iÏ Î ®j¬I††[£¿æ—³ƒ¯m—˜“¨©²ñ†»T䛜†uBò8ê}d•–oõ#pù2îJc•û½´WP@£¨’{ õ¡-…a\*Ìi±ùª‚È Ñì(gƒ¢vÒûÃ0ÎZÇj{>h–Ë­ÆjÉØ\—@-A×@®ê»­ÆT³NSM˾6ax_“YµÛ¤äkõ@ošüÂÔ¢k˜÷šÈIÝx˜0®k”{¦…ãšPÍ]¬eæŠ=óBRÒ=| Žë{Nõù!½­½G~ÿK ëµÎ¯D!?j«ö'[²;ô7N.C¹Ùö0€ÅËBÌC½‰—û¾y6«Ó%²Ät¶d¬Þ$}I¿ñ€ž\½ž§;ÃÌ­Â<¯vuñÆ-Á·¼ ~ ¹åÙ”¡Ý¾ûÅHÞøYž|ú ˆ£<ØQðòÔŒŒåVÚ„@÷Á{±g°•Y}’RIˆ”Ÿé ÒÛ·t}R=æ ¥›ÿ+P…©yg6%ð©ûáŠO endstream endobj 110 0 obj 1289 endobj 112 0 obj <> stream xœVM‹Û0½ûWø¼¯4’,Œao ½=”žÚ¦¥ì¶t/ýûÉÒø³¡„(Š<ͼyódUéòOñ»TåAáÔÎÒøöµüðPþ,tIŸ·o…©Ú½4¾àÍð·ˆý»—ò{q{@×a9ÑçókñøîՖïò‚“ûãµðx¬†Ê”×/åãç¶¼Þ:¥ûëâùZ\8Púdsë}ÕŒö€³ÛÇÎ@2½î´ë®ÓZ9úýAw8=˜Ni®[^Ñýí›ÞvÊ÷Ã29Ï %‡á™¼ªy›e[v§%žh¤ØíÑbÏõ9DŠƒ¡nhÓº¾_KÙÌÙ4¦j'9w°‰‘â TA£ %M‡*ŽëyëP ¾ª¥“„44¼S÷ŒQ˜Ò8‚Ãn'N;%¬Ÿú‹8¨3í¯³c zÆeRyBe´ìiˆ§r Œâú¯Ô\”‚F>–,0›ÐxmSù2©î €V%¤Ä+€@ †W‡‘]`†0îu™3ѧt;‰Z°½öÂs°l31÷€QtaŒ xà8&g‰ø'+^›xò¡&>MñR€tŒQŽ ¦c¦á—;*õÌ‘žY€‹M?Eeê1rËSü.㟠bÍHIö5[¤Ž¤Ósé€!®ù‘©'0 µ °Ùk”Ü£;'¬2{"ô›ÉçÆâߣVôQà !l,_*ØJÛml9¥$SŠ¥÷)*ô¾‹Æ£,.Q‰é[¢†ÌCd-Ë]앪æ¡bÓØ{Õ(T ádìS¾ "¶µ¨Ï”Úc§:"à9 Î`Ú¬cšîDmµEÃIY˜R(©Žì£cÖ!skÍ´F:L™™h{Pëº^Üðÿ5=¿OsØ~ähnS‰ú”åYú¸é£‰Äa¡âx‚Mdœûý”[eÙŠIoÜŽÎíbh v×ìî6s¬4ÓE¼*-Sãô“¨¥\\ìÓÍ( n‘ð" ùBîïjƒ/"°šŒ (²JˆQßþûš\cv¼¼©F²€PE—Õò«Ì^­Úvy9Š,ÚÈEnÛäéRþ퀒 endstream endobj 113 0 obj 814 endobj 115 0 obj <> stream xœ¥•MkÜ0†ïþ:֙ч%1ÄÝ5´·C¡§´ÛR²-Í¥¿3#Éë¸qÜl1+Ëò«ùx4ã…Õïê—µšzÍ£³<>}QoÔ _O_+ÓéÎô#ÝiËlÆ÷¤{TßªÓ ™NËIÄ×ùº}¶jÿSéõd¾+OnQ×FŸÕí@s«ÆS Øß«ÃX%P¾.rë}Š^ÓìtßšÐéV›n‡-D÷àºiÁÊÓÐ!ÝéR‚áwèøó^‘ˆ±¼|'Ë,Ã3¾û4~x)Fk(H „h4§¤WSbòƇÂ@§ ÷-4ùµ-'BñxNáätXs!Övn ‹1Í9qz”S#ÈIF”ˆáÚ$…<²/Ì[È9ãJbà·Æ'‚вla€Á@’ÓÜŠ õÌ æ(&WÂO(L¬ã"zpÉKÄžo¯£×ÑÕú-ðu4µ[À‡x|OffÆæð'”×ÐGÈÊDÁÁ>•ö’9ïs×0×ÎÑø?ÌYo1‡Pšx^ð!#æÚv+ýG¬1otÝÌ­0ÏH#qw »3¯#Øzªô„?Wz)s^ê3JÁ,ä§“‘Ñ…Z:—·D>Šþ>ØØÅAlpdöïÚ-‘1²ÛMŽ@gÆ68Nˆ˜e'©¯Õ®DrÙ‰P —ú}‘"뛋™+H¢¯ý›Hb³à¨-w}“»mÏ›õö7Œ°XÙ.Äyç?/ÆKÚéÛJÿBÄåŽZQOBèq)Š„C¾ÍåóZËÓŸè2ÒõŽ?ª? ŽÀÉ endstream endobj 116 0 obj 594 endobj 118 0 obj <> stream xœ­VMkÜ0½ûWøXG£Ëcˆ½Yho…BOmÓR’–æÒ¿_iF’G¶eZÌÊ^Y3z3óæÉ¢úwõ«õI¸G+ýh´_¿ÔnêÔþzýZ©V¸u/•ŸÝÏ-swgžüÖ=×ߪ§皦i‘¿>½T·ï^t}þY?¸×Éýt­¬Ûd£êëçúöâžu}}Œ×ïÕýµz@ þZ–kk›.®—îééqrTØñƒèq„ñ$q‡ã„3çñ¤qa€ÎO€\/Ww£äŸPj<©øò,Úñãõý ­"ÕÙ%D4Èb LcÉ@ƤA¬ˆF|'f|nÝ´èJ( í¸Ï%-ï"Å•b¦„´¸‹ Þæ™ÙŒýfaÈrøgÑ9·#0 š¶8½ÅýÐܤ]¥Ñ]!”Uc½Îy¾$G0-‘L&ˆ+À£×®e²·MˬÊKÎ:ÊÛ¥àF¹xºýxx™&Fã"$­T#÷!ùÚfö »÷C–Q²1;°P¶S{@ßôojèäÿÜ‹Ïndr!Ørz&Ïcâ75D˜ÉüLN³UÈtª'k»½6€M42Cæñ¸Kd·OK´\·éJ©pÂdÒ¸×î'll 8‚K”;úB$V½Äæ‹íBû7øŽÑ€v$M±ª«ïr*ŠïCríŽÜÊC•¡å n[Ç¢~“ƒó 3n¶R&;°&¦¶še¦cù]$¤†ë[’qŽÙ3òD&áë@Ÿ)¨S„Ÿ2Ĉ„T2g3[kÕÌ£9d¥ô™·¼Û'áݱp"×q'§LÐË·èôb+Èì˃ªñ7ZÁÛeÎÄ eU ;n™ãœ’‘Àdg6VÓ”d&öVèo½èap}YÚ°]È\§ƒó¨¾ÐŠ­ü.hJgk¼²¨ñ¶Ç/ÉåœÁI9ê UÀÆdƒòM2e¢ùhY~ý[DçŽjÿÏã•Iµc~dìCÔ½ÿª} ìÞ0š£*ô{N€b‚M ª ÅíË æü‰ŠNi ØC6Ðf :‚œMÑ>Ô•©¨ endstream endobj 119 0 obj 828 endobj 121 0 obj <> stream xœ•VKkÛ@¾ëWè°£Ù‡V#°- Ú[ÀÐCè©mZJÜÒ\ú÷;}yíµL6Òjfö›o^Û­¡ýÛüi»vÕá£S´ZCëÛ·öÓCû«–~oßÝw(wjh}Å?Ãÿ¨’=Ñ‘{m4/hZ¶Eˆ~_NÍ㇓içßí~ŽæwÇÆá± Öº=~m|6íñeÓÁtüÙŽÍ¥ŸˆòzÔk+¨š‚ëXAáš+1AÁ½Ê¹j´ëá teù„eZé ÐÉÐy†ð±§]ô¨bS»1·½ñ AÄ2^­ÙŽÄqör¹·’/Y\ò˜#Ûœ³ÈÒ'^˜ž›2}‰Ló!JGCƃ*2Dpþ9‰°TÄXc»ÃÎ-X–vR(õ@uXäW 'RcyÕâ¢lî}BÑûl¢X³7{Ì¡jht×i¬˜¨Ìª0²§"{«ŒVíSbŸ÷…\GXÓ5xÒã`xgW¸£SÉl¤–ÉHŽúúó™c½/ªZ Œy80ºäšë<Ï=ÌE¡… ¤Ü„êr±®ò>™&Iü–“¾’ûÛ±>ë@yE2hCñÉrÙ„ût8RÏÆD)šÛ¥4¿]Ý€³³ÒËTje}leêF'kr‹ïNô‚g'fÊi¸…µ¾Ç’l8¡‹é)™½Ý‰ÌÐc¹äˆBšU·LX¹‰ÀX•F s؃üÂb¸–-%‘ nnC¸!pÉM  Ì;Ú¬,®·ܸÃZqæ ƒ>Zª$÷’äp£:µamZå²ûW˜Ü;Ý"XHnf²¡˜ %¿^R{QŠî ¹lÔ^tŒ–Ñ„FÄÉ6™ˆ´ñÔòŒ]Ĉ#¼1k¬ÃM„ðˆæü‚ê¡É¡LðFÍw(2åóù>†Kr`ñ·¸BòÌ7®ÈHÐ9îùú>åÕÿúƒwgô̺ç­•\Ò³´ºxWŸjg³"ïzS®>H„XìúâÖx/÷ôsmדMÕ“­ÎÎiÎ>Ÿ'W?Éõ´Ì^Ñ˼K®?µÿ}fã endstream endobj 122 0 obj 921 endobj 124 0 obj <> stream xœ½WKkÜ0¾ûWø°£§eƒ¬÷í-°ÐCé©mZJÒÒ\ú÷;ÉÖÚ–whYâU¤Ñè›o¾yE-Ë?ÅïR”•€¡Sø´Ÿ/_ËwåÏB–øyùVèF€ÝsÏ'ø3ø†-É¿Ùî©ü^<Þkžf#ü|~.îß=›òð«|€åÑýp.+U­Ëó—òþcSž{!ýùGq<?“¹q®n£½‚ÑãÇ^½é…ö•îEç+Ù CÏÆWªÖÃpð•íeçzÇÙ>åkJ“ñ‰¶“ñÁW& ÙE²=¡ ÛËÿ“Šæøh²Õ;8IípBk?®±cöéü§óûµ(†0u'êæ"Ì^eiÁìé¶›±¢’h\à…NF–2dÓÖjò¨FžÉ#ÓІ`3.”V+"ii÷d‰3sECLcÙm¦­í ^Õ ^+mß{Jɱn»:[”Ø Óu Í6h b޲ɷÖÕf†¼¦«<@J£à9“Šñ&2N^erR|š2}ô3Ñï§rI½Åòɩץˆ&©q}6Ù” Q»ÕXh>YÕÚš8âÖ€Ëñ¿~3ÑMMbÙQ˜s‚®+ôk;õ»9IeÂdšÖ@ÿdèOãæÈÓ¸Â*Ï}HâŤDSÂé%š>û×[ú…é,æsV~¬›±3ßÔ¬k±œV°qQB¨ÐÄ)j)h»ÈŽ*5ã´q ¸[bݸ¸(ó±\—-h¤2á¤Þ¼&@Q¯¹&”3Ð*gÕĘ£ÀPI‰JÔ)ÔÅÅUª,IRZ<Þ,&’Ç<Ð )¼íÁ|‚ó$v¢ªE`qŠw¯î•ò$RFeÈ f÷ÁôÁýð9 …um°IíŒö\pì÷í|<ƒ–0³¥X_Xqf ¶-c"˜ˆG-ñ{r¤dNÚ¦R6 *]úàìÝ2yeå-Þr]¾é ¶×ðOY[aiž5uŠioͨ ÎÂ|Ÿ‹}(¤Y:]²#fR)§k1(”ÁeôÆ9¼¢8ÛùÄ—¬E>mx?³(…:2”(Ag,b¨Åh&†pÁÅ(2–µ¹Z¦~¨ÿQ¦bn*¾Ýl?¾F˘r¿_OÈ›Ëk3ú®Yÿ¯ +W)pü šW” Ò}šXŸI £Ñ@¬%¿] ².c¶æž€v½^c±Í¹µŸ”Ä&ùNÝ <ÔÄZo—á¼Tƒ’*bÕx.«Ë{ ¦l~܆i¯‡Á…Ñ„Ÿ©±“Ì;ЫšÚ²Õ<”o~gÿ endstream endobj 125 0 obj 978 endobj 127 0 obj <> stream xœÝWMÛ6½ëWèÀgø%‚Ë^ém==µÝE¶EsÉßÏ|"-YÚä¶(Œ•¹äšyïÍplŽÐ~mþkM{04ŒÈOïøùåöçí? ´üùògcƒ!»×†ŸŸéÌè›¶T#þV»Ïí_ÍË:Z§Õˆ?¿½6?½ºöòoûLËóñÓ­‰ôZÀ£mo¿·¯4vííe00Þþnžnͳ8ÊŸbîb> stream xœ•UMkÜ0½ûWøXGš‘,Œa½C{ ,ôPzJ›–’´4—þý·$k½ë¥ÁÄ+KóùÞÓÄ4¶þ[ý©M½3´ Àoïøýö­þtWÿªlÍÏÛ÷ [Cv¯¿_èÌè—\ŠÿªÝKý£z¾£Ðº­Fü<½V÷^]}ü]?Òq?ª@i-4XŸ¾Ö÷3­]}zŒO?«‡Sõ(…ò³˜»š.Ù­ž?# Æv0ý¸³8^Úqîéö¼‹8î-Èö8îÜ`Z¶0A-c#äD}%¬n#GT{9³^¶ËN4Ôõ›Ïü*£ÆLÖäJc)}’ /E¶y;&šÆ/§×0qH `‡ ( "l‚hÄè]:0ŠÆ›ÉõQý —Õºzþ˜¨0np°ûÔ/·Jµâ€½"L›Õ¢‡&”Ù!e7êËt™n;€ —oÅuÛ‘€rW3C+äx¡&ŒJ 2‡¡<ö¿ZCDÃ]lWÓZӴ׫¾ tÁ!l-]›Ën\áÝÊ»Ž©ƒ=¢r|L´ Ñ:ÓCíO·`¯nå9.Šq1RŸ|DKòIwšæÜÄ«ÜJ{4bf£ì6€Ñ6-^rs´^œÊyé4‹9«»#ûùŒ+½ ˜ÛqY³Èdamn„>ÕC·¤…ÅËÁÆž)®‡·Û‚Ð]²|ñšIBÛiA0ñ5›Í{8¢1à#4ጠUfŸÎØÅK ‘E›ú¿–œ[ótPQLY‰< ™»œÄâÍixÏ4¤žéB¯¦!¥¤ÿ#Y˜‘Zj ÎGß„œfT“tPñ²Å…ò K¥©ÀhA€/{v"¦[(Ú6¬Q yr»4¹Wª(ø*›pš=ÖÈbE–O4‡Aa!]ôå%e/Þ+ ¥û¢Ë›- \p`ŽÉ_›ˆ2U¹€ÆƒX¹_T/ñln¸•R¥¿\g›§a(Hvë7—‘R¼[ýõ¡é¯]]êíPN<_ų„}¬ÿ˘7 endstream endobj 131 0 obj 754 endobj 133 0 obj <> stream xœ•TM‹Û0½ûWè¼`ïŒ>" Œ`½Ù@{ zXzÚ6-eÓÒ½ôïwf$Y¶›-&²b=ͼyÒèPýi~+P-ÐÔkåñí«út§~6¨øyûÖ˜îÜðøJ?‚Ñ›¶,füN¸Wõ½9ÝQèô9øy97÷ÎVí©#-ÏáÇ©ñ”ugÔôEÝhnÕtãô£yšš£å§Â­÷]_ðšf§ç!ÚBlݱÕ¸ˆŒ±Ååƒ|@FhÖÙˆƒ¶ÃÇÖø 1‡ÆŠNbôœEþ*à+¡S]Ó@ µ“QòàÈ||faca(ôÊ s%:rÒ'^;ð`eÉÏÓÇKrYCz™ŠZF³ºúªº| ŒïëqȆgÒ m¹`#”({ ¬ÕÃ¥]#Eà°‚íenÒ†XñÔ Aa]ÚGÅÓºƒ1oµqå>¥ð%É•ÚS1&taS Óæ{"JÓŸ±0¿83H„,"ÁqQ×cå8–ݰ_՞殢])Á”³Å¬ºx»ÀÎm«ÉêWÑ¥ %9.=04—¦Í’ÈLûCÝ_%ˆÞáÆŠƒ¯\.$ò;ÚÞ˜˜n¾øâÕS.yÎÝáxW±6Åлù3{Ñ˳¦õìfä…|ÉlµûœàªÍ’7•ÝÔïÕ"‘[t™¹¦v-OnS¸’¥ˆSšSnQár¸9iê†+6­ç–6҂лÎÿOBo7÷œ„áûMw´Ls?rY©•,mǧO&þ§‰<®›4s0É?˜ÅÒµ5„êܾ’±.¸V½«#¡qõÐsmfÌ'–‹#VÂú#;é­è—ŒJÃÊýg?÷%#ä5TGõ&°¯³ endstream endobj 134 0 obj 668 endobj 136 0 obj <> stream xœµWKÛ6¾ëWèÀgø’A€Ü0ÐCÐSÛ´(²-šKþ~æAJ\I^;Y‚išœÎ|óÍP6{¨¿UÿÕ¦ÞšFäÑ;¿þQÿò®þ§‚šŸ¯V6’{®xüB£oR)fü­r_꿪ÏïÈ´.«?¿=Wï?<»úüoýDÛ“ù㥊t,àÞÖ—ßë÷#Í]}ùÜè/WÃ¥zGù™Å]Œû&ËcÃòöxEÂÞm(|ê{ìŒïw¶3š~q2Ž=tö$ÐïHè ã‘7!ŠH+£Oâ&ˆˆê‹ 9“Я—[>9ËA@ÜûÉ' ¯mD!ÐX*|ê܉<§ƒcr@ýåÄ-Û’yÈ/ßé‚HS,4xPôbÒ?S °ª†<-L‰0 ´déáÓÕ”ˆî ˜@*~Gñé<ñØi$QÊ΄t †wQȶv9¿HW  Ø»ì­7GÊ™FuŠ"õ½ÏNØ$é2Ê/Ñäi3aœ‚°z†êØ’200ÃËĦŸ/³²ÄÙÒà@ïC1š%†3tK‚L D Þh”…ãcÞcÉŒP’.Qa‹c˜C}…f`_-6ëðNJͺ%“pÈÕ’¼™Ä‘Yä&j¡Õ¨}ò›kαûX[ÓP“Êý¯IÄUN*¤¥ Æ ‚¡pºˆ§T¢>KS-ƒ8)¿=à ]¶g¾á6aî—Ù!õAÙ”ç׬ %ý-+ä¿3G*2rSާgåµ®S±h‘Q}ŽóqV{´ÀÕt§‚ßãÛذ‚Òí¤»‡¥±µùŸØµcJè —x…(܈˜xÞñ–•„8“‰9•øÄ‹Ž=ãÒ4¨îoÄX&QÖ'e ñÔû¤å,s…#¿‡.Üë`Òìý”'–ha(÷κ9BCÍ„¥´”€ONU1U ¹|RrÎ7²`ßÊFéV®GÑnÐ9ÁIn¨©I~îˆb³në~Æ œÞ d’\îpËö¦½O6ŧE <ßêgàãÚÁ¦eeŽÁ9Í5=@'Q4khµ†ˆØp,(ƒcJ:€#=[<JÞtwf43Ö:…ê\åÆŒZ@Ìpy¥Á™Ù7 ´þýeËÊϲz4WAÂ’ž€v®eÎ\Ïpé^Z¼çžc<EóåëTæµûÛ bEÙ¯s§ñ7ïkzeyûu½eDº|JO~A+!ÜEõ0Q]z³}Ê‹ÔÓ’¨ºÜÔó½§DW…@lngÞÖ­_jÁˆÞ}íÚµhFþφ½lÕôOx蟟ÐI#gæ)9[—Þ+Ø%1J5üjµ\þkª¿¾ æ endstream endobj 137 0 obj 1030 endobj 139 0 obj <> stream xœÕYKoE¾Ï¯˜3’7ÓïÉZ)ŽcD$!–8 N@@‘D.ùûÔ³»kfIøz²^³ ÛùÑßúK—Å÷üS®¾“:Ô“‹3•:õŒKYSµIõ”Ò!7›,bÊÁÚ»Û¥—.åŸùä+_\+Wï}w4+DtÝzØmÐ¥Änc#@Tø»[ÿ¹Ø€ è)@– ðƒ;úÁR/']CÿùAe[Ø3R³¨ÕNÅ"¡4\¾"D.-þç– Æõÿ`³ƒëYêU÷aî®,#6¦´H¯ºA{l¾Žøu4¹°@Ë4ÓkJБ£E³I8Μ©æw™ú¡ÑMÅÄÏç=«7Þ#Hî¸PZ$7Þš½Û³—žun{ëÀ£À7¢Ï_FÞ"º~-TÝzO¹¬ØmˆøÆtÂ*á@ˆI8'&jºs¡ÀQª¡b#G¹‘ ê×g°Û¿ûn]ÒÄÜ×)ÍÝeæ‰")-Ò›nОëpñë(ŠbܳKšsoP/]õT]ÅB¾J‹˜r°6ìvÓ¥ÅoÜTX2ÖÖMr›b÷bcá ªm—ô›{zÆ©$×t-н¤ЩsÛ¡¤ tZJàM|,]9~îH¢gЊ¼1ÇuPX½]﹋—¹ÐˆÎðÛÂÊ=ɉ²9üó‡lÑOôÀ5 ª‡Egµÿ Ç\P4:(fOÏÉÔ%FõÞ;IDiS.;/Ý5ÄŸ?y|áÖ¹iÏÉ«üÒ4%¤šºÅC7­ºY$”†Ë×8êÂâ7Žš3òÖ…€¦ ©’$«[ï&HE’Uj2‘¦mYøi-…P&ÍÅIÚŽR#¥ü¨ÐfJÁ„p³ VÒÙuó¯tÓ\uÈ€ånÖÁ;wèú2¢ÔÍ\ L˜FUD¹êà§Â…¥P6®Û'·\nß‚¯Æiˆ‰}ù”j§IάQŠÒ'‹/"?G@Ph³ ÖO/K¿n¾Î•D6ß"_8W¤tÁä ÏæT@NÁÇ7/H&ÙŠ™•é åÈKmßtWõE!u¸¬¢ ž€53êéŒ|(”ÑrGêB­8ëQ͹Øhƒ†q„p[÷XÑY›hŠõöº¸c`öô-õ¾ðSñu¦á¾ÍAZuç¦öxËžˆ^æxu2×X/:uËÔõ{Ù<ÅþݧÀó~úºíaÆüΖ Jm •œ‹š˜óógT"N¸Ä« !´‰lt Ÿ TÚ:ØÚ:¹©kÏOñ” a8ƒâIÕ,”Zmw<«˜ÆêÔ¡d§³bª ƒaÅO8Ñóš7ê:&iò禗¯²Aö3Veª(­Dô¢•I5ã¤ÈqFåCÐ5±´Ht[ÙÓ¹¥ê)Ó98mŸô¬udWÏ9¶ „d+_Ï«!ôÈ I"”Z¹tö‡)XñPž(-’Ã4hßûâ7ã_ýιXÂ:5p,¹å˜%ª²”¶\ƒ!Áëc:;"Gî9ìöMƒ›UÕ~±‘QáÞ† ºÁzf¿ó/*üÌd8¡ï©ª ãËï¤$ ¥PZÄ”†ËΡÂ5Äo§/Øð;¿ ¯ Œç _šøª¨(èP§-š tƒ5a¿—.*|;žá›‹íÕä¥ð…c'éâëH×ì3˜ÁºPÍPðE]¨Úàe‘Iuæ ó£=£2¦xÃdò ˶§Ž§™ü- {&-©÷“ïFtÕ| ù1OòÒñ<“‘´5Béûוöµ&?:Ú1e€ïí„#T.-‡ëöÂ!$ô‰– ‡w.éÞ(AWÔ(koá©ZÈü› F‰Ký@êë:Û5í¨TŒ ·*@ٜښã_™Z´m˜$iOÉ BÕ¨”ûueYÅ k{|å =‡²!aeg™÷b+ƒÒà:jK¤ ÙµÕœZåt™f%ÕH×.Bã^QèÊc¹£î µúYeÇÓ”þL°Ó_6Ek¡Þ6+Õ¾fEY­më…þO›•·ã?É'Ù endstream endobj 140 0 obj 2063 endobj 142 0 obj <> stream xœÅXK‹ãF¾ûWè¼`mW¿$Ø–6·CKNI&!ì$d/û÷·ý’ì–fXB0ÓÖHÝÕ_}õUuɪ…æÛáßF5G…—¦ÑY¿þÞüü¡ùû }¾þq0^á¼×_ð§á7.)®è[æ}iþ<¼|@Ór[&Ñç××ÃÇO¯¶™ÿižñq2¾:ÜtkšÛoÍÇ'¼¶ÍíeT0Ýþ:\o‡gJŸ<Ýv]ÛÇù¯^>JOf„n:¨a:êQyÍôËí§Gæz…;öt²çÙȉ–Ãy‚QŸéœâm7ª~Ò´MÅ4ôCkc\vJP¤€Ç£®Yµ 0}— c££®¦xk»70VsEû¥‘DRs4£rt¹p{‡.í\ë…duƒ¯rË×Oˆ§èQ3ݸĆiF…¥ýZ-r?ì:üˆ– ˜c¦´TL/'V\• ¿vå)€rÁKGˆ#Ö`–½‘kd#ív^ƒCXi¢ð`‹)Ãaާ‹™ËÊ;¡½\Oi‚‹KXÍ.Bq9 zqCÂÀùcJ€s`Ýl“&‡¡Þ%|è[½bY_'“]$ ÉúIœ›L¡<í«1ZÚ k—ËfÁcp  õ8ßá3ÊŠ:âm&®pKÏIý!JžžÆ4#•œ‰ýSº³ìølæ×jÊu€)W€€"ꈼNiÁ– …”å.âô9™Â” :pªƒ¦X”lšu»Ib»~ .1„F {ë÷jŠ3fÛAÖh§:Ö&*щØu‘+ìÊf—Pº¡íV›HÍqÉYªX›–œBu–Lá2sŽ6ªÑ„^ãIsƒ2«’!¬Y=ò&Õêò¸ü¯TËÒOAl˜óŠ•êJ£x¬¬òd† oáÄB^T_ˆþTÏJÙR|*Þñ´¬!‘<=dÝ9ìã÷å…ã°†ËËíÒæžXû•5›"hÓY)œ2BS4Q§jA£Ýcˆ‹ ÁÓ&°rNG‚¸‘y/;ÕAì€*~ÀÒcáÇ–nms- Î䢅`ä²U:}}ˆ@QøØŸä¤F=Cµ'å´¬Íö]i ú_“R³ßÜtlÿBÿ_é2$f™ž±—8šóÂk®ö~/‚JFüÒˆ<œóÃú{%À Ô?'Â"ÁÕ—Ž@°µ˜¥2v‚*†Ýî}•[ÚO!¬óT=Ó» Ô‹áL‚EKݯ¿+k±Êˆr†M?,¾DÚrójuÏntY-³´µˆ9¿´œ#ûF)ᔕdÝ««€ýáE©| Vê?öi‹96¶1ß…“5£±zÆîWŸV´š| øâF:Bð8)ëy>‹¸óJ2ƒa¯âj’ÝÌÕá½u šL ˆGD}IEìºvB3èU_òùGÞB¾‹S·ls/¹e5E|Š„qé‡Õ¨Õ+Ïv@kOv.§º x)QøTWUJ—ôp £B PÓ›—No^{ð¾ø±!˜¥ì jIÂfžŠ¾¿àíqÕɵò-E;læ3˜ò} ýö°£UƒeÄÝ;T¶ÈÏÍwY0 endstream endobj 143 0 obj 1161 endobj 145 0 obj <> stream xœÍUMoÛ0 ½ûWè\ ®H}Ø uÛÛ­@€†¶eÃÐnX/ûû#)ÉRœÈ톆 ŠASäãã#£[P¿šŸJ«¦Çùt–ÏçÏêÝ•úÞ€âÏó—ÆxM~O Ÿô%7ú¥+Åÿ¿Gõµ9^Qè`NüùøÔ\¿y²êî‡z ×KøùÐt”°5êðI]ïéÙªÃqÔ0¾5÷‡æA€ò'»Û®kûäôt|?jœÌÝ´ƒQrÂôáðöRoNc`Šó´3£vÚK€›i‡Ñ†3[à&Ûu“Ðã\Ë„º¯Á n§®ƒNN¬…µ\€éuŠi)Ã*eÜYÓõ™c¹ œQšŽ˜ ºÀØò6¦Û œh'lxb£ g"ÊOÀÂæXðWË‹ÇEzB¥VÀ°4–Õ"cæt“…fI<ÝE×bÑ-›z—€d¼//ãµ°Yþ˜.ˆ+i[ŽM!*¡×-®¨¤$¸&¥Ä;ZOEõ2wañðiL.àNvŸT½p`Ó¨XV±‹ÊvAQ™Ä6Ý ˆ£cIdµõ¼Z Ô¦(=‚ ÕΓž¨ççU4{•Ib¡ƒ…¼Ë_%t Më_:ÎÿHèKÏf¼åT÷Óò²ÊˆEä3ÜóY€Ë£ÀM›KQoÍ‚c%àé(ˆ^^R¹^Ãzit¶Eß—1—ÎDîPhRø_ª’†Y†gØþçÑqô÷á2æ?œÁÐÊ\W\ŽÍƒú ZxC endstream endobj 146 0 obj 780 endobj 148 0 obj <> stream xœÕVÁnÛ0 ½û+t.W”dË uÜÛ­@€жeÃÐnX/ûýQ¤,Ñnœ.Øi0â(M>>>ÑÑ5¨ßÕ/¥ÕNãÒ›xo\¼¿|QnÔ T¼^¾V¶Õè÷\Åû~Ð ¿ñ±Šßì÷¤¾U§ ÍfvŠ×§çêöݳSÓOõ€Û9üx¬<¦S[uü¬n¸vêxê5 ÇïÕý±z  ñ*îÎûº›ý ®N=´ƒétvÐë‘îí°3½öÃÇãûs¡œÅX¶³uXÄêÍfnM°)¹¾£LœhM¹Á“%ûÍ+„´oñW“üÐ 7ö´6%`62Øag{í¢¹¡e*=9uÌÙà 0t´ö 1Gå'šáèä²A§\îíÌ¢ëj¿fqJá8€ÉbvIl³ÕW72­Ëi[Ѥ6E±1çV¨à1ÈÙ WØ)7 ·6$$É€µÝØr_€ÃÅN@ƒ÷eÆ ®€‹-9ä’ôWªi¢$`“ˆ‹*šõ3·<Ú^±BФÈÌ‹¨þQË`/ŽãÛÚ\3BŒZ\Í/¢¼) J²‰ÂÜß8EˆSªc/ØšîCî™Õ‹£Âå=}fRf~2õ2†a2Ó¨àqÕmª*Äñuâr‰4Ò͸Á h¨[elXø?ö6CÌÌG¡ûM“q,2“ xØ6ÛÅÐtƒé®‚¦h°KýâNŒIkŽg{:0F 2xnª» ,‚ (—pThÊw„:e~"m±‹‰FüPR ñûHнŠÀÄ_¯ÿ—?ÏÚIƒAÆ“/Þ¹Ë%°®[æwñ½Ì–‡õY<÷¿n™ŒÑÚÒÂr -s£lëƒú‡ƒã endstream endobj 149 0 obj 767 endobj 151 0 obj <> stream xœ­VÁnÛ0 ½û+|.`W¢dÉ q]Û­@€†¶uÃÐnX/ûý‰eÑIœ­ÃDQdŠ|||”¬Z]ÿª~ÖªnTœzÀ±³8¾|®ßÝÔß+]ãçåKeœŠvÏŽOñÍâoÜ"fø›ìžê¯ÕãMt–“~>>W·ožm=ÿ¨âãÕýt¬| «¡5õñS}»Ä¹­ƒÒãñ[u¬(~йõ¾í³=ÄÙãûA»­U=¨‰F76€žâÝly¨æ .§=flÌ üøáøöR`kbdÓ›6l"°‹TÑ‘C…¡2D½NGN6ÛmÞŽi­ {‰È;įf«C\Ð~†ã=ZXâ#mÙÍ‚ÝÁ˜Lq”ç6‰Q§Q⊠ž˜îßɰ„k$㎖û\žnP3WëÆöSñ ý3QlÚ3lì‚SylßúÓ4gö¸¾¢™XÄå{ ¼EH³¨VÈ–ìÒ܃Eœ™Ó»~fð \pz¦n&hNÛ˜G#I@Èw%Ã*Yçh ךøÓ]·ü™CÄk츶éA9欪ɒ ©Uƒ01B:iÝs’¢F0”صVïZxM+ƒ·mwš+`šfÕ覬Yß©†n÷xÚ(y{>5f‹“N¼T»¸bBúg””,@ֳ͈)𶑝éâ-Nû)ɺô,„ÃpÅÅ),OI„¨>SmOî|ˆ@¦M‹SÅ_(J¡•Ó=óÆ@æ,5j¯?èJ½NUJµö”±ÅžÎÅKím¹UpZÎjèñ1ùÑÑàÿ®COºt®°¿tN {G(i£KQƒMË_×–vîìÖß‘­¬&¡‚~×u@×Ä5@/ 0íTM+ݺ¸C‹ÓÃæ{½´£N×]õ™Ôr€œ–JÅ%ªu*“Öi·pG¶iw¹§öåH©/òo2 Nèñ¿&V®ºÿr3Ÿ[,ë•™œÝ'ùćòjÀ äךd™f(¹yàŠ¸:±ø%mÈiëû¢¨s¤WLE¹ô£CÌ;.ç> stream xœµVMkÜ0½ûWøXG_#Ù°âÝÚ[`¡‡ÒSÛ´”¤¥¹ôïw>$kÖ»N6…bVÚÑèÍ›7#›Î¶šß­i7§ÉÑÆç¯í‡«ögc[zž¿5>´{jh|Äšá·¨½Åî±ýÞ<\¡kY#z>?5×ïžB»ÿÕÞãß³ûéÐ$<ֺη‡/íõÎC{xØ;~4·‡æžÒSÍCJ]_ìÎ>nýÖ¦qc·fàÑŽ·u0â4ðÂD£u<¿g;?n|¶6·c ÿhAö$“ÆO‡÷çP|ï»áÊÖ­B7¼AÅZ°ßðáS…m"§áØ€¸ Î1ú‡²DVb·Ó˜ÄLÊJ³(††™'+𺚯&vNéJ–¹Ù+)c†½ö¼ k^£5èdÂ\‡¾KK®÷’{‰Ó›ãNú”“K¬…+Ü6äÈŚͬ2[¥Äè¢Æâg,vPùµE ¡ªSpñy’—°ªGgÏÆ¼µ~…$Q°–^Q°éq<«à]Š7YM½RuP§Å×gÚ‹6´éNjhWYÆ*p¤!² Ú?2–£á¼„…Òx,ê©v0‘dCY†œ‡}^’>Aî½áD®J€ys)t°àÍݨ“Ù9;µvqzÆ,úŽú„Ó²òíßRu.õØfÏÁΠv£0¹Õ¨ÄC µ÷Rûtžjã âs>\Öø¥Ù…J¬ê®Ò03ë¬Æ¼Y‡Ú¬í–jy¡Þ¡ïBª3aÿµ†è(¿§Á ¢D±@V“êp¶ˆè¸Ë%ׯ*u ëxÔ¥Æ÷±›V²bEdv ˜õN ÓWx£1{|Õ¹,ò|Ïälje‰Ìr¡rƒC9SN(Ãø@¾9ÝIý+Õ¡'š°Z¥®bqî‰,¦–çõ´tÃS›¡Aì¨O¯+\¸Œ ºåE\F¯jâr™R~& …áíê·_°ªkÀÕj*P˜Þ|ˆìGa`b1W'µ˜¡3T´ƒãjlë­OHóA} i‹TÁ«©BOð¶TsY¢†Â‚%rå¡’˜¹)¼í̼ìOHË-@Â\æ"Ô¬+aì8ý^\Mõ»F²•T­¼Æ{²ø¹· €«hªºÑîvU·{( r‰h¡CÈ:Œsسgv”ïMjv:Ã÷í_õ®ÁE endstream endobj 155 0 obj 885 endobj 157 0 obj <> stream xœ­VKoÛ0 ¾ûWè\ ®¨‡e†€¸NíV ÀÅNݺah7¬—ýýñ![Š')6UT‰¤È)éÔŸê·Òj£q ÞÑøöU}ºQ?+Pô½}«l£Qîµ¢ñÿP Q¥˜Ñ¯È½¨ïÕó š–e¢ï鵺ýðêÔøK=àöl~ØWS[µÿ¢nïqîÔþ¹×÷?ªÝ¾z`GéËâ.„ºä Ξ{m¢í!Ä ôºãâÆôÆGœ:^hÃóû8ËÙ¸±IZ=Z Ñ¤ëMËÛY<â4ø|„ˆAq€tˆl4¬âçýÇS±9‹ÁÙVO¡YCP˜U((c6´;V`,У€GK`*GÅK9BÁ¥È¦;^pè'¢hD Co;Íð@‹’§@qqk˜ >¦ˆ!-ÁZ؇íêny;9Žy2½ÕÉåSà¢QØ2“-رfÙÇÜà? )¾Vû5k&4µ?íd¡E/ÍV|À=…ê´`\²‰›–Ø´EGPh]›z÷fXáh¨eºMO±e²±?<¥Yb•ň(Èt–CïÌ–‰ÃS‘Û­bcD¥8x®Ä²V®(?)À,?él§ ͤzxÚ¤Õ\¢l‹lHKͬ:×å9ÀïÄwîÛÜÀ'#¥(šÀ%À'·˜Âœ„{cEÚ°âAFXßjœË•z!/ÖÞýSN’ˆä§MÝð¸eÚœ7Ë]!ÉvI£):'ÏSJÖkX6®vË?Jõ¢Ÿ9vÖdºL!œ¥e—¬ó)šù¶pJʉ%ã=°g‰­_8}‰HÐÚú]TÂÖ%EìOqA*òybÕ1©¼˜¶pM±caa±¾ë¯f‚`ÎþW¶Î’ü²ƒ>RþÜÔ8N%×MØô-ÅK¶³“|Ÿã A’Í ,ÈWöu,Ñ]–ý½$Åç»–»¼ŒÚ_Ýí‹ö#”ãR6K·t­»lý Yñ“Þ©Û•ƶÅ3€×õ)´×ÐÎ{‡aÁŸíg¦È«?hgá_ðž‡e¯)(*œ[mqœþõ6Ç|I/Ó²:ºå[õ *ò£2H—›tqJj¿nyA¦[•]Ë×déwIÒõs(“> endstream endobj 158 0 obj 854 endobj 160 0 obj <> stream xœ•TK‹Û0¾ëW輯f$YAo ½ =,=m›–²ié^ú÷;ù±m¼PLäɼ¿Ï3r Øßæ—uöàHLÈg |¾|±ïì–Ÿ—¯Æ·Žü®†Ïgú‘½)d#ñ[ýží7s¹£ÔªV'~ž®æþý5Øñ§=“yI?L&QYÀÆÛé³½?‘ìté”é»y˜ÌYågu)5Ýì$]{‡Å÷Êz—å„rÀc!1ˆbàPäSYü|9øêíJ`+4&9JzìĬ)±—Ê\ÍwdB¿ib$GÎvÔGõ…–Tœ½úJ®•J©|š>ÜÂ<à;7Ã÷Ètá.]üU}êV~%à‘Êsmj'S]/eQ”<©`N݉\|%ôÍè©m†#Y"!dS\U0ጢVEÐ7±Ä$×̭УÐÑØØ` Åæs“ÎØ¨áwÚíCðÛØ…—Úå±özRT7TA$%ÊŸÀs'LŠæXÍ ‘æCâ`¨NJQ¨´g±PŒW²K4q{°3Ãv®ÁW+Ðã°3à i-殉·–¦.@¨ßoA݈‘w*²ç Ê¢Èeöù×EñjÇtlˆ*ÿ&.Œ™zý/\ñï«BÑŠÜõ×­÷ÜÕ8«c…Lc*‡^<ã:FaÅ+ÔQVW¹bÚjà°«×Ñ­ÛG6ï jÎöz3o endstream endobj 161 0 obj 535 endobj 163 0 obj <> stream xœÍWMoÜ6½ï¯Ð9À*EŠ€ `µöéÍÀ==¥uƒ n‘\ò÷3ü’,ÙkôR,,k¥áðÍ{oHn×Bóóð½éšcG·Þðµ·|ýñWóû‡æŸ4üùñ÷]GqϾ~£? £ÿ4¤ºãÿ÷­ùrxú@©õ±ñçóóáã§gÛÜýÛ<Ðëœ~¾Lׯ‡ûëáA€ò§„[ïÛ!ź{z;3á~:ÂØ¹Ât4£é'ºµò`æ+¹¿L9§#Æèî~²üŽèßQJ;šA^kÏGiÌ᪈{z±ÔS‡ tv'OðÆôÇõ·-:,ºÖe>„?³ËËŒChÍbÀãh”i ZÍLÈÌFuw\šõíL*ÌÜB‹÷F^]¦>EaL%¹}Ê«#Dš¨ŒÕ¬è,¹û©J ’;U›½†j‚3ßP¡±ª_Î?kâ ”R‡ÅÑRÍ®€@ga’~‹ù2¯E'øüý’šL ½QB©€‹vE¡üÉ=›XrS•) iÀ×Ý‹¦êæ[Ü‹ÐÚÿ›{Eƒ €¼fÿf°‚s’ëY WRε.n|¶=Mù´½/#Ú{ªT¯É¸,5Érú3+ÕA¸%#¤~Kd™LVzúYØWG˜›ÈB›öX³\t.ìÏèv)H™*ÁE&VµÛ,-T[@j6²¯Ä½†¸6§¸%íä3ÆRÓoAªºÈ°þˆñ§ D·W²ÕF•s}»ô~P-”˜~ ärœ#梽ÍÝ©ïhムn·½´a‡hlŸÜV¼/„š~ÿ†5q¾°cã«Uë¶•I¡ù¸}gR^°æÊ‚„é´I‰2é>UµÁCó ?í{s endstream endobj 164 0 obj 1085 endobj 166 0 obj <> stream xœ•VIkÜ0¾ûWøGz’l C<“öè¡ôÔ6-%ii.ýû}‹6ÏXNÂPGÕò–ï}oQnÿ5[Õî. ¯³ô}ùÞ~ºi7º¥ßËÆô ï=7ô}Âx ÿâ“bEåÞSû³y¼AѲ-—è÷õ¹¹ýðlÛãŸö“øùÜ ¨VCgÚó·öö„kÛžG¥§ó¯æþÜ<°¡ôË×í0t>Þ\=~LfÔôӣÚóWO;ÁM¸´¼1ÓW¯OSºg¦ ·ÕýdéŒ6äÍ P¤Áó1_ÒVÞKt£ötÓö´ÁµË_Vw¼´—ꀅUÏ„Wó»îɉ.©Ó—óÇ5ȬAÌŒ2ÆŒÙUŒ?pÝp2ºnY§‹¶ø)ÂB&ò6D 5o°sèdDÐð HÒmÙÈèDB”ß Æ.›·#?*x9 ]_úoÉtÁ¯»ê{¯—ï#àuR3àÎuöpv +¬`bÏ´ ,Ý$‚ÞwûwAû^Ë6£,XÀLÛ¼†ç’!ÎH¬8;%^Š‹ä‹QEìL,.QÜR‹@!’ö‚.fÐn$y5l0h¾ôR -£¬ç‰ŸIxª’ ÷Kyº$QLIS8".Cp¿j4ÇüU-c‚H)-:—tå4է̲À«ªn°ù”'¸$LŒ‘òÛ"Œ"Æ_ÚO4^§#ótî=ü§ÞÚ-q©Âû«ü’2毋ÑìjÜ¢›j±c\/ú%nµo¹õjÇÍǦˆI:`'«‘iO`auèXÜŠa® «Õ9È7òâ3â ãH;r^Îü%m áziÎM©$zà³\0˜SpàQ?Âq³"jo. ï+ŒÒ\+–Œj F™Ü^]#CÝ»@×–Þñ Á¹$²Ê‰…H†æÎF G1Þ¯¡Þ[Ä»P”Q/†!šx8“B|}gòbÖ Sœ ÅD"e§ârHAéa4â . ×RŠ›dIϳÆhOÅ¿$˜+V©cHe ¡ rÄ,9ˆ3NI:½­ zEhfmÂÚ ‘Z‹Ùh-ÆX¤ßªå©µÄ®WtÎ0TauÝâ⊩å-TÜë8W&—Bõ?MlQ±:›jë2VHÖÓœl¶"é©­Ø¡):àÂMt“êæÒݯ™“]¶hÙBÂcæIØ·-‰­y©sÞ¬×0f!’Ãqöf¹‹~°NŽd8ïW’c÷Æìèˉ4%‡¿JŽùRÑP@bóaô´ž¶mK> ²cV«}!Úän,jR0 Ê?´ÿë 5Î endstream endobj 167 0 obj 1004 endobj 169 0 obj <> stream xœ­XKoã6¾ûWè¼€½œáK –•í-€‚žÚ¦Åb³E÷Ò¿ßá _’E;n‹ # ‡Ão¾yêÝß»¿:Õí =†§5áùý·î§OÝ·táçûï;íɽïÂó+ý’ý¥)Õ(ü¹¯Ý»·O¤Z^‹Pøùå}÷ù‡wÓÍv/ô9«Ÿ.;OËtwùµûüLcÓ]ÞŽ ÆË—ÝÓe÷††Ÿ"n¼?ôIiôözT8ê#øqG5ðÆ=U?ÒðÄCyNüñÆ`‹ >xÄSx¡õ(JìQÍÊ?_~ܲÄh2Eêà²)l:6Më~8àbÂë²Ìh,4àÁ×ó0Í#ûሴ ÇOÚÜsÜ„ P4ÔS„Þ–‚ie%€ØkF‰ðW` ++ÿ1$ ==‚ˆ0ñkyC⌥‰FÚð  UP@ŸçÑ•fÀ‡1*ŒËñâ€cZ M¤Ía¢-KßM|«³ebr ñˆÓ‰}YÅ9EÝÔhk 0Óνü#ÛèhǨ l(á¬g1зy§± ðNÃÁ¬Mä… –í=B¿TqMA|ˆ‚½k™´ àK0Þ¤ A™h㙾 Y©ŒlÈz ‘/Zñ4ˆë°¦@QyÈkWô|ˆ]Ö!жP{ ZÝáâ T¤ï­¡Ó™a¹ “½¯ìÁ® ¦JÌHàV±væÔ"wf>ÇðÒW™áÙWø`Iò9’í&nÚÊ©•É&³C'íØæ—ú¥†uT²ed}HSÉ>SÎ>83o‡"zûH ¢×«Šñp V*þ—@Ü4éã8×±åŠç9@§š7ÂÊç˜lïÞhEivk÷±äŸJµ•ôv©dµeå%™°)³lâ\Î|§š ñT­Wй>ç «¼ªNÆ%®2•YŠÁ°WՑ˶zYmñ0Ô¶ÿ+d•_*IA´?àWȽ»ª}¯ÉÀf}8Õ IºNø5#mAîNfG®¾•ºâÆÌ~ûØÜ˜—\2°§÷MO8JZ›[üh´å§cßäk(%@}` ÅèO ôAÉBßWÅGIöqaMÃÎàc-EFÙJn ›Í†È—>– ¥ÃOqž¤DOƒ“ÐOBÇŽÍ,ªSÇhÂjæ~ˆ•zéÀÂ7ËËaŠÕ6;Q¤¤àÌbár#”tŸe Ñ-Ì*àŠ’¬iWñÓyÀAÅŽ;p/L_eËÅä°BG>aôˆ¸Œa^ž>§¹µ3¦Êe•^‚4f-ȳU ófÐ!˜0@9x¤®=¬ÖTâÍ&í>ÊôŠÒT5äeDÁËfd^´ÚAJvÓwýs‡ÓRâBç·iÇÌSs¢–æ§ 7“³PS»U°ß%§¶U:¶adä A˜X–y ›7òA,w}sM7³J))È[i›2—¯ ÌÌ^›m·V«™[¾K©KḬ̂J])Íý× º“ºœt’v~;e´rZJÙÐ4s“COÒ\J§ö)Å2w®á¢“Ïݳ-PßþÐ (Cχ­ä°#‡ût]P]AH˜j-¦sehb3aÓ5†(vñß: •£…—»’j±<'Äê–°TýýâlÂ3©†š… ˆ-ooª†½4âIYjoõ´¾¿¾**Çë²ûª­M+É]FéXÈÿ¶2ØÅ{#_á Súr¬/ÏË›¡ŒÎT®¡â¡Ö×{éþt~Å endstream endobj 170 0 obj 1324 endobj 172 0 obj <> stream xœ¥XKoã6¾ûWè¼€½¾$‚ËŠöÀ@AOmÓb±Ù¢{éßïÍ)ÁÛ5 :SÈ3éºü_(Xe¤IŽåùœa\Ö ,.á»Q޼]>þžS*æA½¯Iò;29i0ûN‚â}Q½)·jœ Ï2/³*XRKZ(3ö†Ùlù_BÁ-À‡FŸg3V>7ÿމN endstream endobj 173 0 obj 1321 endobj 175 0 obj <> stream xœÍ\ËŽ%9nÝÇWÜõ£÷($PÝÕex/Ú.À Ã+ÛmcP׆g3¿oñ¢¨ˆ[…¹Ù€§1Yd†xøÄ(Eºûëñ¿7wûÁ ²ú™ýüËÜþù·ÿ>üþû˱¸Ñî~Ðϯãÿ£ÙøwˆŠþåv_oÿuüú‡Í¿æFôß¿Ý?þý=Ý>ýÏí—ñXáürÔ¡Ö‡—xûòï·?~tº}ùõƒó¯_þ|üüåø†Ò«yªõ¥ÍöaP¿þË^ã__ð\ÇOÿúC __Ç2¿þ?¸‚‡U5zü$~?¾†á#µeÄO¯?¤)Šv>‡>Æ~èɳÝç×ýò'6Þ½ÔzºÿΤ4œím7Öj„qP¡öAe— ÅO§„„™ÃòGz©1·Û_ÿ§ñÿ?ßêK)>ôÛ?¼QÍ?‘&ü±åÑ¡DÓa;`D¤ÐOG@=¿„Ç?heŠ…2O)§—| 9 ÷#…(ô°èJã-µb©ùÜH~=ž Ö»©¤ÀÉïB^h -ʼn±¨ùÜHþÞAå¥ç{¢že´Úû1ðÌIø·®‡ˆë/é,2&Nú>¿¶qÌœþ!ºW_1· fqaá~œ³mŒ­OÛïÐÖEùÝç×1ýêTî^Zÿ»ÿ®øÑEyŒñ<~Þ’r_oÂùöR'-wŽ[n(OMÇßGý¹³| #æ)ô•'%ò.ä6$7NZ#€ŸF@ÿæèÁ(5_Ld.v£¸åÎIËcwíùè½³zŠž'/ÇÿáeÈÞtRŒ6ØÂM¥Ür礓6î/õç1š{8Bè•9¦b” iˆ”•œ¯a’ÞØ-cnÆŸ[îÜì݇çÃôÎê¦áã\ånú"¥nb*ÜT™pÒ÷Œ¿úKn/í¥>N…²3­nÖP %Ù·ág —¤Id<ûÊ*§ JÏí~07ûŠ[îÜì¹ÝãçƒúÎêñƯõ[¨yè&j,¬ˆ*X/ÐÓEá颞yË¿I͹÷³ó£kbõ—õ¾Gï{¯ÝϯfïÍ»ÞtíT.¦Á PcBöiˆ¥O&?…7©Ú"!‰ z³`ªÐ„ ¥‘pÑ$ÑJl•—P¤. šIàH9ÿR×ëýÄ¡%/ñdDÁ‚˜£±@¸hFá²@2ŸXÇ:nY09Ö9[Á©‘“Mu#t±bVÔ<G¬}­Äš4í–5‚™ð“à sÐaÐA3qé¥ 7¥¦þá'5ðp%eÚ:ÄÞuZ'ót¼ÃËhéØ"#§PÍ«@5pHÍÇ(é Q v~pE€–Ô* $*% ¦ðkű;’+à¶‘™1*ÄÄÖ9é”<4ŒùÂÍ…º*œ¸mäÔ¢‚Y ¸ˆ'nôT“a?Z¦oÚ˜›rÚá ¨Ç¨Ëƒt3z«Òoce ê+jÇ”E$Ú™P¢ž«âÞxVh$±{5žžM¹¹ÓA6¡Ÿ4+‡zß¶EƒzP£Ç17é¹¥ÑbQϬ'Þ¬êò^u´ô£wÏ™5)FHÑÀÓ–h˦Ö(³ÄСLu5ö™ýãû¨£8 Ú€h¦ì$B &"=·4Ç[©gÞçoVuÝìÒè|Ôqþ38d×é6SñaÏ-­b—XD‹E]­}¦çÞGÝ\Äp8émÊ!•£$C5·QO¾¾»šë"&Sðô˜£bžT °Õõ?>쯩QìnP!ë[o£Ov>ëú›TÝOJ->Ö«û?®êÌð|¬æeÚJüŒŠ]ЍŠþ4ïÞϲÜÏcEfД§=x–"(©†á¹¥ÑbQOmùߪêRiñq=²!¿í±Ô­zÐ!O•‹ºš÷Ìl~u›ç˜è¥pM¡†AGÞ*‚æWþj3×–”÷±l !zq3÷õ¶¸0ß'Z;W4Ó¢ÂC÷\bxÕ¾ÚMAÊ]¢×&wqšãDû’™.ø<_ë®eË yùëýðß·ŒUÉl¥«zT­cÃr†š_eQ=FF XÀÐ:¾¡eàþQ¹m9ãç bS¨çdý@”äb<·4Z,êÉô6U—iSç×€ELZ•Ù¹_ü¼Š‹vŠË±q.%ˆÜ™hcé«õÏΪ÷Q¹Ç·¹pôFêµ=LªmkÑÁŽAHïBûÆû!ߤåd†«Ì™=£YÂ`Z©¡ïÌI«9¦k{i2O†ÿc9N3 ïq4ùWÈj—¹ÍÏ–œ„;TÚ¼Ò¼E()ƒTžU•gbq ¢]ž-)¢5G†ÖŒÈÖ2ЀÃF‚D‰Ö ö-© 46TÍ€œjám82¯°)Ã×,O–”‘é£1—˜3|G´q\†éC,ïq°Í·N°Z…ZT¥DCð±h5ç꺲‚nÛÎÛ•5³€ES± ÛQ·`™þx‡3LárzˆIJä "Öi£ðtQϬÁÞ¤æÑAw¿Åô`Ûßhù‰½ÿG€;Rïœ|3QÖ‡qÒbŸã½ÚXZÚú©%黩¼,IY„’Ϙ`ÎñŠv,IÝVV•Xrb³Ít䊺,@wN6Ú*# Ô)Cah—£Dž[Ø-<î Ât?êá|hr 9Ï¢[ÓÃ9ò’¶sRÜÆzˆ¹,F®c<ã+D¢ƒ–ß–E¿è0T ë)ŽÎ ½šÎ:žpUJ)™ï£¬ÒV™§)ÉîŽc²»ã˜:Wöµ.~±vÇÄq‰}r:”’¼ Uƾ'ŠÜF‰tµK¶ e¹­m¬æ€9<Ö˜4¯7=ßÊ©ÞÓwAšÀâ ^vú¢¨X˜²Áu€›/ŽVc;§¶]ü)W5aE¹°) gŽx8‰×æÊåëTW‹¯ž3dÇ2›Óïΰü!ü>ÙWfæD‹Û‡ÓºBŠ Œ!®+Y|¸‘’¼xÖKlÞÃÔ›^ѪÜÏ@Š¿upJ'‚®›ö[‘D9•xæäã J.Wk*ͰúøØ§¯cŸ áø–…)˜l…Ú9eP¨¶n{€ŠÚ,£‰ŒE,UâêÑ“Az‹¢½ é³D|D§£9VÓBdÓƒ£Ý^À5Ð=IÑŽŽ„7F8Tb |÷îñ[éá*mtÌ·{AëÜ?ºBÔþÁX윰òõQ¶SÌ¥YʘífRñÂ19m«KÖœL¶L—ï$®Mœ‰»ä § “Ï:%Y”¤ÖsãÅ¡³qÓ²³'颢­Ø]t0×7ý¬ÿ8Aa£Š ©Í•Ë6¨ ö^Ý\ß¾/™ -Ée&$ïÖ:«¢cCJ{îX锯¿uZò5ÏS¾U&¿â.QwLv’ݘÙh ?w”ùŽJ—?óXÏsä0 ÄÌõ"KT4CÎKð7xóv…—#?—o•6Ö§}Ï奱îSÓ±^ñ¾¿êþMø%¾v¹øXÂÛ+#µµó2²%.üW9 çkÅî§Ê$YT»Vçÿ6’}ôÅJ3üi®Uu?Qü©Kè•_n­m4·XÔ3¯Ö7«ºÞ>¡ZMDEïÑ_ýðBk ±Ÿ®ûžBÁúÙÂi hT~ÐbQW»Ÿºˆò.ê¶$·.ˆßzl\6n„á’³×ÈyýÂmÄ˰&Ð>DŽ:íÇbàMgDI—Zã|ÑHÍJ^¨øU•ËÔÏ]î+;aÞ£äL­à°‘Ñ 0="6¨ÈÁd„é‘K¤ôo0TÉø…8‰§PG¤ç|K°H‹,#5Š5»ŠnLÔXœÂ'F¹Ã˜€Ä-#5.&¸5v)ߨð–7&¹ÏˆÓ‚BÕS%¦S õÔä*¤ƒ8`pL“8…óŒ˜Ä)#¥W1q÷-ñu6*ªÑ6¢¨uÇ÷¢äTçÉ·J)i¤|¥Š^µl‚œƒÜ,F³¸edôáÊâ]BÌ|¸±I'‘ÆÓ@ò1RÓž‚eql¬R¸‰"ÐY+tæ[zVJ´â±Tc"ƹÀY]”âÝ-° CÂHiyA+I Ü –À5œÆ2×1u׌”!lCƒ®€ ŸÔ @¼ô¡‹ˆíàš‘R „­Šk- fÎ+»ò¡Ml¶œ|Z© Ô¶šx¾7¾‰¨4\̬âZãë’pÚÈÌÎÇ Ý‘„c#ME9‚¤»§ \á:–ܬ´RÓžŽ 5Ïs¾'hCLzÂNq¬#Ô󢄑R ­‰c”<›8Ö€ÆÕ$^ÛL™éÒ†ÙÈǻƷrJ_&*–äçê)5a¶Z4­³r‹Ž çU·í„6&Kb§£—Ò8´z(”&‰gwrmå4µ7KŒ¬0/ÄD'E¦"é=¢¥nÊiBR·áŸ¡Y.ëÄ «fÂx–$Å/9…ª@›ä yæ_²ÉÉ»¢òIòKJs3jI¹sÚH¸ó’ù¬'asjõx&sÍÈ)œ+Ï®Dc7ä•—;8/©?â<¼7åL–8JÇ0Ìè#½±aÕ¼ïäY—<=å¶<Í@äih–wg¦9’̹Œ.È^Þ+KN3#ÖÇ«I3¿¸ ù¹ãp½jîf9…¢ƒiþŒà~pÊ¢Sû ùºclgÉ×\„žR „ÓSLž$ ;Ù"©4á$±K¾îذóÛeÉivŒ@ç;ú4Ã<8N­üL’}E$'IxÉÍý9-Ö_¬¸Ïª\Fh°©I‘DÛ™.š^Ï¢“Á Z‰ƒ  çu,.¤.)=Vïâ9ÊßtŠ™x¦×å;Yª¹æßr§Ñ’rxD¿$É}†Áénbš#楕ҫz8Ñ“ AVä\Ç}Q ³d´‚ÂSïx Ue¹g’hÈëeB™œNn|L)…¡¦üUKÃÏzdMRr4afÉ/Ñ 92N®R¯7¾PóU¦)q\ÇYÒ,)…Áù2>ª¸Ëµš™¬øêL(rÛ×jB–Z‘ÓB;ç[9qƒ%Ðy¡§€[—}ô ÄÈéM¡(׉î¸~”ƹ Ç9[z¨`̪¼JiÁ£wÞ¥Â+&T¹‚‹Nò¢‘·½’ŠpSNoSac¡ÄeÇ~㟳ÂE_ÌÂè®^J’KN¡0Š«HT>Á—+4µ™«Ë© +§³ÜA@ ù¯#6dÆÊÇ[žÖüŸ2æäÂSM—ê‚ýjuž.„Ÿ‚ÛŽ2èÇãäÇ@¾SåwÖ| "Iaa?¾8 ~¢¯!UÝCåO¹ø3¦çýTäI¶e³•Þ›àY|k$'D=ð¡^æI8¯d¼4ø¢Ý›Àe>^”2ïÓ¼©ÂÀ° sá–Bž áŠXy«L\…kàüø¸z²¼d5ŠÕ¨ ·”ªð´jóYuçWq?wúbïqõeùÉJ ÐPb,½©SÁi â›1/Öu|då¹yÁ¥"âÂ{œ¼Øgo¬§¬Æ@ÝÁ…µoJExYEÂè%>ÁÍiSט(¿Ï®*ô䥨`‚gWøsœ3èT&BË|RLÙ"ñ݈ŒºEJ¼Ý$®ƒ›—ŠÃz`=c†U˜ ·ª0,‚h¤?0ÈýƒPJ2(øoxȽ¨ï€¢â?ÈÄnˆú#Åx›ŸM š]´°ÇÕ‹å¡9ñ8W¿ÏË<»—åË>ÓÒ| \ð+®îÒ[œ¹¯·É¡¸/í,mj‰ÔÔþ¢xÂ0çÒŸè &oÖLs†9ÍÆš|µ&¸Ù-i£6zI,|ƪ̱ ·³ôccBÿ.æXÐo”ÀßCPüq>…ޝV÷e‡‘1 ÝÀTk‰p^è~¢7*X/÷ɱ(·³ô“6k’“óB÷½Á¬Ž%˜°YŒ5¦Ë‹ ãuáÈ€,Küz¦½B8kI¶ñŸ‹:c‰»X’W÷â{s¢Ú³éôl‡ƒ@¬®åã1kIY–dÓéÙÉ›%6ö“cÑl¬ÉWkÒfM4#ar^ ÉÞ`Âf߬ñÆš`¬ Wk¼MQ8ë\0ÎXã×42zÚmŠJͦ(áø4´¯!hd¦YkRµIJ8/þDo0Å&ˆ”7k²±Æt~*—‘,ˆíɱ`Þ¨ nvØèOŽ£±#^íð65à.Á‚ñÆÓíÉ_RCr6Q¡ˆ®0±¨éöä.‰ w‡Œþää~Ycd¦nÖ›¨„cѺ¬12 “m¢â?W 0ÙXcº=æK²ÂruÁØ>˜‹¦5ŒÂ„ÍÓOQ{IÚXzƒð›%n³ÄK¼±Ä_, ݦ‡°eß`²o0ú9=б2îaxž¼ý3ì_nÿ7¦ˆÈ endstream endobj 176 0 obj 6199 endobj 178 0 obj <> stream xœ¥V˪Û0Ýû+´¾_– FÄ ´»€¡‹ÒUÛ´”›–ÞM¿£W4ò«I‹‰"F£3gŽFcóØïêãlÇqj„µrãëöþ‰ý¨€¹çõk%Ž~×Ê/øC7üÇ-dæþƒß ûV]ž:˜ƒ“{>]«ç·WņŸìŒË7øÃX ¢–lüÌžO8Wl¼ôìø½z3VgOÔ=Ù]S·É_àìò¡‡ŒÝAÏ•»Gh,›µMk ½AÚ칉ž—qáãøn)´’[¶²îŠØ½XåÊý’\"{7¥˜N°u~ìaGH™Ø KÚ;Ñ#„9fËXÜ‚« [Žî*9¶§{"·åÃQ>$Ÿ‚Úü»|C!­ š§"óÖîgâxðâ„.²óé뉸ÜId²SÐÛO‡¬´ÞÏDÿ@²ëaÆ8¸ ïá–ËŠòAHÞâX `nÂÝŠ(I때 ¹¤C@ÉsVž̵ vAì]¶/ä³ ¹ÞJuKeÎ@--¶,Ý€-Õ„Qµž–Ÿ˜á)Ž6Eû࢑yd"ŸãÈ…‚ å狽&b™®ô4«€T®“-•‰Û<8äÅAp1l^r!uÝ¥¬ 5®SzG›ÎÐÝGu¡×º#õ¼ÒrhÅš5®QítÈO'Q•-Ú‰KA­ ¹£½B§Ñ:YO•Ú&âÈéVÊÅQÀ¼?ÎßD‚XH»Šï/ ;¹J‰¡¸´ÍD÷Ë×¼d€<~ˆUÐLp[t7ûøˆÛËÓƒ~»©ÿÇ«wMà„® om¡ì °R»3r¤­ä¦ßåâXÕJ«¿“ˆX‚˜ÃóÝ%¾ýÖ@Þ`÷+¾ñyèH4µXnÚKjmõ\-zãÎìU\_ endstream endobj 179 0 obj 691 endobj 181 0 obj <> stream xœ¥WM‹Û0½ûWø¼¯¾lÙ qÜ@{[ôPzj»-e·¥{éßïH£Ëvv)!Ž#¥™7oÞÈ¢‘õßêO-ꃀ[«Üµ5îúò­þxWÿªdí>/ß+Ý °{®Üõ ¾`¿ð¹s¿h÷Tÿ¨ï`iF#÷ùò\Ý¿6õü»~€é´üt­,l+U£ëë×úþ÷¦¾>…¯?«w×êÁ;ê>ÙÜXÛôÑ^ÁÝã§£œ¥ò(Œ¿vãA¹Eà*».Ê·cœ“­ÐãA… –¦aâóõÃÚÖFÃÞzM—öö¾ªM_¤ºÅøä\ÒÞ%å\j‰K0 £; \&?¥ÆN oƒEŠ?‰&C~ò‚á)¼€±Ÿs£Z8“î(æÑ?d“JG oëÝP½·$Îò*oÔ[xòI批°<ÙéÌ’$nê×°Þa´]ø˜€!ä`“Ãd-0þú|&äòQ’“!‰‘ÒCpŸ²Ç–>,|F!!UÏðÔÄõsð]øüIðËSØ|Wm³Ä•º‘Òª3a06 sLg -ç†Ág,Úϸ¡A¤Øß9×l3è˜ Çc´CZ˜äx¦;<'É„[:¦“y/ÃÙEUÊÕbuC¼L½+Lª—o‘%e‡…ŽAÖO‰ŸÁ)Ì’œ–J2‡4z2" ׊ÔÅ¢b MMßV¦;h¨NX™ÿ¯?8GêËи½úAÆZÞK¼jul!²³«&¯C¨C¯×ºYT,‰––Õ4¦µL¥BQÅ¢˜[Név )e»Šä,æ ö7ŠBvÑ3n”…Zr´Ø(‹€Ã’{:öШqë…Ñ-øÊ5/b¯ÑLÖ.nv‘~Ë,s÷Š9`4Ρ¬Qs¯vÉv{”ÝÐ «­%ð¸ l•:'ò r;‡!†»Yt^ÆE£™,nSbœ—±w¶øGgÚ˜ˆpY©mM5ÑÈ¢ˆíÂgо¼®w«ÕœôÀ8˜I>‰¾·Ñ¯NXtÉp„a áa“ÉËfvðÝ,›ûöVhÔëT¼PÒW(‹”}#Ðbb1_RzÍwµÊ’|ÎC9 l‹^(i‰Œ®æk);n´k¹Ê˜Ì¬Y,ëâg^–´.‰­Ê=PU¾çpæðíZ*^SŽ–ªÓ+Õ9JK2ßnžØ2 9=›´Èsö/x‹7°P š×~~ýÀw¥Ù·AÒ¤ê_÷JT endstream endobj 182 0 obj 935 endobj 184 0 obj <> stream xœ•WK‹Û0¾ûWø¼¯f$Y1Áæím!ÐCé©mZÊnK÷Ò¿ßÑÃÖH²/!ŠÇóø¾OŠè ý×ümE»tiЭZ¹õí{ûé¡ýÝ@ë>o?Ù ò{mÜúB_r£_z„]¹ßà÷Òþl®:˜ƒ“û|}m?¼ªöø§}¦ÛSøý¥1ôZÀN¶—oíã™®U{¹îØË¯ætiž}¢î“Ü•1ÝvôGºº~ÞAoqh7°ÚÒÒÛ ´7H»‘;a((Ù„ò¶½[ãÞžGpä!F?ÚÏÖ/.]°¼'Ú’F£©ïSjLB¸Î‰ÓØŒý£ÌäH-;=SRÌÖwÑø”™aÏê9°i†ÚXù|ÊËiÞÖ•XЦÔ#­E@¤ìáÉ<$ˆõR@è%A„E,Ú„Š‹>.lK„é`ÕÑñ^Îp}ŽXÖî¶ÉÜ÷ìun6°·‘{ñ*s˜“èoê¤rŒGßy›;8tû¸ƒÛ$2±‡8¸$8¦òŽÍÊÈ øj/)fH··9ŸbáÓ¨BãÌã4Á·žÌ˜ 6Nð-S"œ.|Š=«ÍwX&àSn³%ôQ@§J,f•2/“ÞƒDÖ Èå« sfãX173é"äáùü÷ÌÎcòëD¼HbÉRq&·ZˆF‘òPtr½˜&¢šçƒÐÏ9#¾©f.…Ÿ«Œˆ÷x‡ ÝáÒÁÂÅJÙ!’G1õ21§9^xsÌš·…¼ßf,ÐîúPÃÝ8Y®ßW Ï$SÐbgÓÙŠ7²:Ѭ•˜` {€”8·%‹M1<”2Á}Bè‚‹üäÉs`k1M¯àJµuû±Ä‰ŸS¿¼Çé=‚mßU§"˜a:òƒMYÏ(UÈúÆ£PÈV­ÌV犛¶Å5&A\¦LÒ­©K:ÝÄÞf‚áÚõ¢:>Ô-ºC|ÀòÐ}‡ø€}‡KÇÕUIár(™8F¦÷¦f9„AqË—·‘üÀ4wô,Ùu Ùî¨W‰Á0Ô,ß÷ƆTžfwø¥3óBáë7•IDB£M3Âs±Zq*Ü9·›ðǵÚEßy~«u€÷§úKµÐkNœçö?žúA£ endstream endobj 185 0 obj 899 endobj 187 0 obj <> stream xœ­VKkÜ@ ¾ûWø\Ø5OŒ!޳ÐÞ =”žÚ¦¥$-Í¥¿i;Þ$P–NÜŸ>IÓ¡ýÛüi»öÐá§Waµ&¬OßÚïÚ_ ´á÷ô½Ñ®C¹Ç&¬øÅð/^_á/Ë=´?šûw¨š·Y(ü¾<6WïM»ünïð8«ŸÏG³ Žº=m¯NømÚóýØÁtþÙÜž›;r4üЏñþØ'y…_÷ŸÆNMz?`ìZa:¨QäÆÎК±³~.| ŽVEÇtÀ–6ôtÐIM?Ùx¨;Rsš²!?}>xÎW£ÑY=tGW9;ªÝàBt?¬bC7_åewC+G»<#e¥Ó! ¾¶Ä+sÁ ÷ø Kó9)”èÊ{º‹˜Z¡KÈÆ}vQ¸ËûÐWÁìÊø8…ë !΀bZá—^ÐþkÐõ»€ë¢O] Äeia‹+g£þDMÁ\É–c‰©]ëáÀì‹`j[J/•ÒR¯W¤QšÂ!Hðx#¹¸cZY{ôÒ¶J¶•%ÿg²ÜG£š0WAùŽB­]­°C°%gáÌ”€Û©ÎBŒÛ¬¡/×y§ßTåÍëzØ…:ùOü­ªYT‹êwÉ3` ÊkQ‰Ô·Õ¼4`¼o@j†Šo| YEÛ\AžlßjsÆwœ•>HúÐéƒKÅT TR¨`#ŸTédù3Í KlVÍ*ã•¥èÿEˆŽ"¥¯­Hí\u%Õ„|’[·xU×±ú°#óE#¨5íÄ ›~ R ãчÀ)–‚ ƒSÇM_Í̪ˆ˜B98Ä5zMßÙ?n¸@<µ£QŸ %¦g¿È˜q ÞÊ86Œ ëfŠ ÝÆÆž¹;Ë¡wÇAj«ø–Ð\†š0Ågv¬;µJÀè¶8ð _&LæK(U[Ú‚~šLÌBÞfÖΑDD41¯"fÁ¿‹l‚Ám  DUOÅMiH cNR1ÖÄ®%†U¸!ÊTU„-èÈ/Sx%êÖTI˜³‘%‚MÅOZXRc§¾LJpÛ( Îo)9w„…b>îeÀpâþ³$ĦÇ=›(]oÝôø8¿_hx @+Âo}Ïn`y²û”BÍZj~–¨%%Ïs8• l:Òªb.S.=]#ŸÛ”zdñÒÓ˜vòáoòYÊo‰ç˵âafBè¥jƒgÓŠ–šÊ?—…[ûGQ<4ÏÌꕸÁi·3oGyöâi" fóÞ¼kÿxõXC endstream endobj 188 0 obj 1020 endobj 190 0 obj <> stream xœ}RKkÃ0 ¾ûWø\HkɯŒ¡]ØnÀc§mÝíF{Ùߟ$'n˘(âÓû“Ìô—:j£CjD–Þ±<½èû™þP ù^• †üŠåž>r£?…\hü/~{ý¦v3J]àâÄïé ·§7Ÿº'sM¿T¤²€s«‡g½èHwzØ%yxWÛAõÒ(¿³»‹qÞNþHÚî!Ì6AÌ $³ ¹Ád!c2N2ºd|&uS¬D¢˜ÅP/€ÍÒ´ÙFk$M—k¡˜‡»Òk¯i¸%2ŸvîˆÏÒzo¢ö(¨•‘Š¥ø‘' SœîŸ-]3c©!*±RY¨Ámn"h&ž'pç!aLjƒ5ZV:a%vÉëD*˜(ö1ÞI²šê7ÿÝĵ¡-ÕË&‚xÓ ÀtúRct€VšB;¶}0KÚ×TWc|­T_Š×\³äb ‚.h‰&[Π›ÚŽÜga¾V¢¯ùÎ"_ÌE|li¯?w‘°­gÝëoQÑ¿ endstream endobj 191 0 obj 393 endobj 192 0 obj <> stream xœíÝ tTÕ¡ðñ~‘ܲگ·´¢õUT|U­à[@QŒ@ä%yDÁ4A¬6ÚOk¯ZåsY¯×x{o}|h…Þ¥µ 1¾\0ƒ%˜dÆï=¼cÛÎg~Óø»yÞû¦Õg¤Ö-L©Cí7ÖνN¨™=B¨ž~™4åÒªÔó·ÝtfÉ”ËwWº>µÝö‰¬ô…«sWÊhŸóz¸h׆¶jG«½æ“½¹¶gþHdöלúÁº°ÿÕÌb÷KÝ&æÌÍÏ>¸û¯Ùÿxý?v½¼dç³4=µ¸éñôÆG6>’ÖðÐ܆‡æ4<0Ó{ÿôúÅ“êÒo©w}Õ´á%cÏþ`ü¥uM‡¬hŸµFæú¿7N^!ßUÔÿ¦àhË,«8Ûéžßäß8'ðÇÐo7b"îB”äŠtµy¡ZÛŽv㣠þñæ {V¾¼ë•§›Ÿxç3÷7-¹§ññô†Y ºÝø»ù ¿½£!kfý½·ÕeL¨½sÌŽ™W¹Çÿ÷Ë~"®+£}ѦÐhËånç4{N£J´¢ÖÒÕrº=$ì’HÜ'ˆRÜ[„(ŽEˆ†j§*c¼$ÂÛu»ÈõîeÏ~ûŸîüã}MOd4þþ®†ÿ3Çû›™Þ{§Öß3¹.}|]ú8¹`2ïúšÙ×VM¿Ü=á•Wž,£}ÕfíŸmòG[düz·õkâ+Äþ%GG·E´Ê‡AÃδã"ˆ‹ÉuÅN­‘|ÑöÞ{[óó5ÿéQìƒEä–ûgzï™R—žZ{×ØÚ¹®šY×Ö̼Zlß÷ßoUO¶}Ê¥ž‰½uíé2ÚWº­hŸ»RFû§keÆG¸åsHÄ7 qÓ¢Àìßø fÕ‡»T·í”ZÛÛ[—þN;«Xìr0k†NÑÎÚ"îó¬xß àØ&C+*×Ñ®ÏHÝùÔâüµ˜cÛ]5‹}síÜÑ¢ØÕÓ/··WßvñöÛ.ñ¤†D[Í´E´Å–ÑæÓ§š{ÎlPÑ®úËËß;ù Û@×W!ÑÞýʤ?'OjÈú\x냃_OšQ/cèÝ›÷¯óAwÌŒ¶yŸã}ÇôF»nÁØÆÇÓåªÈ¿,høí»ÏµóÇÔÞ1ªæö+ýÅžx^õ¤ «&_äI½ð­kN³¢}AIÀLÛŽödó¦e´¨h'þF=?<éÎ]Š5ß¾£9åƒ63Ú/$O‘ÏøMöÄÀÁo$ÍØ•/ou㸡«,†aîXÒ/Ä}&ÚbÇíñÑnxx^Ã#iòmÖ,ïâ©v¥kf_ë/vê9ÕãϪNZ5é‚/&\°êšSe´¯¨ íIÕrQZ{v£í£«ì\›ö,mp®šÈh?°E]>”5sçR¯ãƒ[öÈßÄ´ý¶%pÉ¥uéoÕ‡öÈœni±®«®åØ9ÿ…ޝð¡íïî wÌ– ;–eÝçï²"a—ã*¾Ý cö|{¼×N·,ó#²fʧˆ`»åóåjɸ¿4··7›3íݯÈ;µõÁÁKšá-wl7Ø\Q¶Ùÿ— jÙîXryp½Ùüûw3ÌÀŠCÍÉKžñöƒ“ž8§Nì¹ýíO’«[i/ø·ÈW7·«>¼UîüôWaŽ9ÌxǾXjßçpGHy¯U|ze†y[ןZÜÿ’j¬ÅýËè{&ï $'Þ2Ú3¯òÞ3¹áþ ¿™é½oFýâÛ䝨Ü}³ÝÙºÕM9·nÒYu©gÔ¥žY=qHù-Cr®8IFûÚ­Öd[Ì´=mUìy»ŒG9 9pð ɳ÷'-9,J^õ_/¼2yÁž”ÕG¬å‘éûÌI©àß“fìÏWmº6iFàß~è :fòˆoÔ»òhù{òDó*ëß–·2q—1qKÊÛmííû_™ô„Üs†õÑäEá¯~KØo >fÒÄÀ;6c}ŸSÞ w„;¤æÝL”w>iDȧA¦íñs¤[¤¤zêðº_÷þzª÷¾é ¿žæ½÷¶úE©A3mï´s½· ©ŸxZ}êi5N+{ÚÛ—ýHF{D•ŒöÙår¦-¢}¦ÛµMF{š/Ús÷™}…¼Ñkþ}ªÃ'fJZ~DÎB~bàM5bâòáQ3Ú/&O?hÎÀEW&Í:`µñÜ’fÉ?cå÷ˆõ ùºïî´;¼Xíi>eûƒ¢·“Å»¬Îm{õ6µy¨íAÇ4‚ïØ~_´Ws¢Èµ÷Þ)õ‹'û[½`”ºp´eOÃÔ! “Nõ¦ž\;îäŠNzgØÿ–ѽCvû’m2Ú?ùwmñ®Œv“Ulá‰6•Ä75ˆb;£-³9åx7%OEû¥€hÏ;äkcA’ùWmâUÝÑ5ï~kö ·Ú3eõQsáE­ÅPßöê·¬h5w~"à‰.Wì:¦xÇŒyìû컹 #È+&~Q­ÏTý׿ O§@OL·lÈø¡5sFÕÝR¿hbý=“üÅN¿Á»`dCšÿÙ#“Ni˜pRí̓*¯ÿaîÅß“Ñv5#ªýÑSnms)Æ,¶üïlG;¥¡ÆÑ2[O\Ô–´èˆìž]J“x7e­/Ú³û¸*ižyY¶qƒ¸áôX›¯º^CíÖ¾óÁO$Þí l™½§9Ï_™<ýYÔïDQÎßþêéûäòûúubgy m)ò ­ÁÇ ¾cŽûlÞ\˜#”´:ÝCÞl;ÝÓö ríà¦3ªo¿²6톺»o±û\Ÿ~“÷n—÷® iW4͹Øßíqÿ\ã÷+F Ìýù‰2ڢϪÛÃ×û£=Þ+×FÌbŸ0ÿ€ñd›ãH9ªÖÊWOH¾·® `³ˆöËÉs.mTÌIZpÄxõ õAQ¿»õóQßãàç?1P4ó._`¯,óïüâN{¿üg_8ø¥äßEººsç£K·!ùü ápÇÑ{ç½õVß"¾;Œñös|:@¯1æµAªÞm Ÿùq»,Ï7£OÞ1ù’šÙ׊n·¬_{Á˜ú®ú»FyÓ®n˜7¼qö…M3Ï‘iûpYcÊêFÿSÅ•IoŸ×_FûæÝ2ÚW7É_±±–Gªå+HÞ¾KE[-b'ÍûxààÀƒñ;dMÎÚêÜ>pðËÉiíÆ¢ÉˆË9IGÅÌܘ’c}ô‚BµEn|ª}{à/ìø÷ÏØ*Ÿ¹qÍÖþ¾’§ttõ€[,¿‰ó˜æ‹pŸí#Ì-Lö}¦ÎOèe†˜ A/vÉÍt‹ð~=òÇUã‡î˜:¬fÖ5µsFÕÎU;gDÝœkêæ\UÇp﬋f mœzfã¤SÄ4»áƵ£’Ê/ëŸsn?+Úb²-¢=ìíŸÛÑVÓlm¹$rïa1»>ñ>ëEÄÔKŒÙÔvÿ‹"-ö ÿ…ç«nòØ]ùºíÞÕ „M·oåU?øjÌi_O8ÿ›Û~±}ÚeU3.¯š6¬jú°Ó/©žva픡µ“ά›pJ]Ê º1߯½n@ÕÕýKaüýlCF{Â>Ùmmµ<mÕmëÁÇEmê5%e±C¢Ýq·C%ý±]-¼¥¹ã={âê÷/o O ívÝ·G¶Ür~ÑÕƒŠ®;µøÆ!Å7-¾ùÜâ±ç”Ü|véØ!î›Î(»éÔ²N*=¨lÔʯù§²+þWé¥ý6\h¬yfp´=㌶1k¯=Ù¶Ÿéœîû­¹w¤bwô¹˜ ]ž*wóêÐÓ®“,|aß®ò’÷o<ÿõŸå¥ÿ¼bØÞþã7/ýÑÊáƒÞ>hÕ°æ^úýw.ùÞ{'ç^xbîù'¼w^¿Uç+GžÙôEñÂ?í í*;Úêí óöHrʽßJ·²¨M9!³5”ºÏj–ŽÄÿu? ï xPÒz82iÖ…ÞÛÞÉQ×ܶ0{OÒ­{ýkÚAÑN5ÿܺõZ¾_œ»×ÿÊÂÎ×[O?Ü/#˜¸Ã¾»¡…¸?ÚŽ(ÅýKQ}ž×f=cD=ßoÆãöƒ’¸0m¿1y¿õV]°Mþ‡1a·|«>*æÕjj$(Ú#ÌWXUdŒ)îwcIÿ›$ù²¦~©Ûù* ©5þ¿òúb οI &ÆVAòúEøÇ³MþQ>a”Ïu_ZïŽöQ[ÄÛk·JWWZrD\oE¢ÃF{L±Œ¶Ùm;Ýa©${Ç¡õÏÄךèÁ/õkìæ³G\þåI»’§}ÝÜX HLƈ/!oƒþ•h@â#Ú ¢ !Ú ¢ ±£Ò‡\¡ #QFÛ^0±–GÌ%nçÁYÓÐwE¹HÒÕhGÜ|@Tú³Ê#¢ÏÊzO«ðÁç­öÕí„} 2`yDÙncNšµ%4Úª™bû‚Ügy¦*mÀž¾£9‰ý3–Ì´­ âÖþ²ðbŸÐûu´ý#?ËÈÊ?ƃq ;ÚAݶ/‹z'z´ÃÍ´CæÕ¶]ðO’}Så Õ瑎༭ #D±–mÇÄÚšY‡na0ÇÓXýY‹½Žílµ]lË–Ö5›uZéz´;>š==ŽæÝŒ¶ì³¯ËⲸº%_2 #žã½MäS²ìb¯ó´®óXÑ~Ëá÷õ—k¢Š¶oÑC.YtmÇâFÄ£9c—9ÜüË#¡GˆfyÄ‘e«Ö¡[âð%Ã`0â9rÿçÀOÛÆr¿Ëä:IÞmï·Úr7~wSK{bF;è)9a"i?€h=\1Ú! sã\ßã‰þ‡};~ ²+Ñ6×­­…¬,•ëÐ- ã¸o}|à£ùkR™Ÿˆöjôni[Ζ͇֜ßÙ” kÚ} Oùc0 ¢hˆ6ƒÁè`ˆhçm‘]d½[þ¤²ÎÓ*rýAi«ðNq«ˆö[ŸÊý$A×´û¢Í`0:+Öï_½ùКÏ[å/ªû¬)–OyÇ”»ù°(öªMßÞ¸·hmƒ×ñUÍw«?Ùóá§{×|ºÏ&Þ}wS‹òΦýbŽ-нµæ@;Ñ&Ú C«Ãh'íÑ€ên´¯Ûfœ¾Œh@|mÐÑmÐÑmÐÑmÐÑmÐÑmÐÑmÐÑmÐÑmÐÑmÐÑmÐÑt6Úˆ6ÄO´ÑõµqÑ€8ëáhÄý€¾¤´´£]ZZàvoˆûç}ƒÇ³Qt5š=»ífs&ïvÆý3Ýy<…ѯ9w9ÚÍæ"‰¸!@7D¹0ÒýhzÑmÐÑmÐÑmÐÑmÐÑmÐÑmÐÑmÐÑmЈíd¢ ϵÍ8ý5¢ Z Ú ¢ !Ú ¢ !Ú ‘‰v^¹1¶Ì²¤"ª«¸Ë]éåÅñ>àbíâe¢Øå¹¾ws—ø/w„h@bíìôòlwàFg}—Ͷ›SqùnEvº53w-«ûXu3øæU2Í2ó¬=3ó|GrsÐwu'Ú%%%%ù6µÑ56djm3¶j7k*îß§"Ó×dö%þ2ËUßµsH´÷tPPZšß Ñ·åv†n³Êf¦-Ëì\Eñï´³Ø'ôC¬¥èC<žÂ’’h»Ýµh—–¸ÝÂ~(3t½"Üòˆù!Gº‰6€ã˜Ç³Qt5š=»m1Ÿô¡0D:CäGÍå‘ÌeêY%Ö¸ŸpË#‘¢Íš6€¾"ÊE’®F»£ƒûdô=åÏÞâZâ\ñ=òh^+wIGDm}[”+$=m@gmÐÑmÐÑmÐÑmÐÑt>Ú[‰6ÄK'¢}Ñ€8#Ú ¢ !Ú ¢ !Ú±U¾µøÕ·WÏøýKgOÿƒx+.‹-q¿W}çœs~\!Ú±Òä­Xµö£!S_øÔ_Wämܾcûª6ýê™7ı]|4î÷°ï±Ïù]ÿwÙ«×¹íËyŸ¤?ý:çœsÞ‡íX_±3Yúæšëêvx½5MMõÍÍ»w7¿ûqñìÇ—‹Æýö=â¬N{øå×ßϯªúªºú›ººê††:qÚßY¿eÖãË8çœó>‰hÇ„øÙPÌ4B‹½gÏî}ûö|°Ñ->òóãºl—a¸žä¥‡»sÎCë¡Nûû…%aÎyNšaŒåqÿ´ÓÙsni¾×]žé¿Œn!Ú1ñêÛ«>õWUìê†oÞÜözjþ¸×ܯ6ìªoiÙwðàÅÙo‰}®Uô¤Ë•–é™]ÿû¯#q>ÅOèaë!¾Q¶´ì_üÜJç9/~n¤£!•¹4¤ÇÏyn†ázn:ù™9ñ¿ÿ}ÑŽ‰¿iEÞF5ÇÅžV6yÌÇ×_ð·s_.zQûСïò>-û8¯"¾ŒÅ׳ýUÝlUE JÕ9cõúHõ§}ͦ2ç9ÏÿýQÌ­AUb~ÎÍÓ;2;GÌOÔO”òl[_ðbÒÂ×y—í˜8{ú¶ïØ®VEÄû†¯¿zÍC– 9÷Ïg‹b>|h_˱ã*묆ˆØCWHÄF~x✹íËHõ§}ïþç9w…ùñ\®PÑêž;çÍÖTÄgÙjñ±.Â÷PÑŽ 1»XõÑ&õeüšûÕ ÿvÞYË6èßøâ¦D±ÛÚZ×nÞ0)rÎ=|_½òëÙ7XëŽâœ¯Èû$R=Z[¯Ý\é<ç®ÐSêÿW@œsI>ŽÐgõ¥ý&:‹hÇÄ«o¯þÕ3o¨/ã†]õ/½xΟÏyñÓvíûVûÈ‘#¿~>'d}Õ?ä°ó§EbÝ9OúõHõ8r¤-èœg†þ0Îyîásn=þôã¤ùp0Ñî2¢êQõw?.6¿Œ÷©/c5ÇÅ^[´5èQõ€ŸÊÕ—´# 2éÄ$ºsþÎú-aëzÎÃ=ÉòHŸsóô:ϳzÉò0ßCxEÛåœhöþ?Ÿ]ÈØÍµV­ýhöãË?Øè-ö¼%¯=5ðF­/àÜ ßÄ;#`”ç|ÖãËÞ/, ­Gè9oúG=jàX’¢Þ1?çþ¹‡µ”-ˆ´Î³œo󞮈[´ã¥ø¹ØþM±ÅÙoå}Z¾¯åÀÚÍ[ÅO‹ü¦XÏñŸóçV®ÙT¶wËÚÍ•œsÎyß–(Ñ6+šá˜ó8»ª.[OlV;˜¿™b×öÏ—ÌI»ÿhò[yÈSé¬ëÌiýG0¿û‡ÞŸÆ¨ž¤Äßdè}œsÎùq%!–GT?7®ñú£møž&g8Ÿ/çøe+ÿžá~ÚµŸJ¼<âÿ©M^ìzyf)€øK¨™vȼ:–  ÎgÊ©©rÐêGèSéB´øzëñþ—€æ>íŽúT:¢ @O mߢ‡õ¸HÉu>$éhÎã4Úew¸<z–GÄ[g£=`xÏ<å/'L$í­‡ #F;d$pnö©tjcÇDm‰&êhÛhº€h€FˆvlñüUÎ9Уˆv¬ðÚyœs íXéÖkçñ¬ÂÞ?çü@OD;&:ûÚyÎ'ÏÿÎ>zçœh‚hÇDg_;¯£ß$B/œóÐnóOMí˜èìkçùû þŠãoañ‘=~Î#?Ã?ÞŸpLD;&:ÿz…Ž_,* øµ^¡§Îyðß0üóÎÌ´¡ ¢]½ÂHü$ÞŸQâëÞkDšÑæ/Ì@CD;&:ûÚyŽ>„«ÑîÙsù’Åû“މhÇDg_;/`M;ô"ÕýFsÿªˆÿ• Y•‚.ˆv¬têµókÚ¾¿OÅÃa½wÎõš¯ nðºœÐÑŽ^;sô¢[ü Î9Уˆ6h„h€Fˆ6h„h€Fˆ6h¤‡£]÷Oú’ÒÒŒviiÛ½!îŸ#ô ÏFÑÕhöìZ´›Í™¼Û]÷ÏtçñF¿ælG;yXe§¢Ýl.’ˆtCA” #¾hoër´½Œh€Fˆ6h„h€Fˆ6h„h€Fˆ6h„h€Fˆ6h„h€Fˆ6h„h€Fˆ6h„h€Fˆ6h„h€Fˆ6h„h€Fˆ6h„h€Fˆ6h„h€Fìh¾•h@‚#Ú ‘˜GÛ[æäZVÕÝå®ôòâxŸ Hp=2ÓîB‰6D¡7¢-Þµ&ÞåÙn±¥"ӞˉÙ鎙¹µ1þ'Mw¢]RRPR’oó( Ú"Ñå¹AÛÍ,ç6ŠVûâì¼JH´·}KAii~ôáír´Åm¹Ý…á?\`ç*·ðâeå+Þ,8^y<…%%Ñv»kÑ.--p»7DÜ!(ÚakœG´Àâñl]fÏ®E[Ìç;Ú!xy¤,3/hµf"ßú—Gœ«(¬i8ÎD¹HÒÕhwxðˆD–r»#ãr¾mµ:w D8~E¹BÒ#ÑtÑmÐÑmÐÑmÐÑmÐÑmÐÑmÐÑt6ÚÉÃ*‰6ÄK´Ñ¾ND{Ñ€ø"Ú ¢ !Ú ¢ !Ú ¢ !Ú ¢ !Ú ¢ !Ú ¢ !Ú ¢ !Ú1ñè+k †ˆvOG»Á`0b4ˆ6Ñf0 ¢M´ †Fƒhmƒ¡Ñ ÚD›Á`h4ˆ6Ñf0˜F{kL¢í2œcdvQïf¶èI—ëÉbç¢Í`0f$b´c‘ÊD;Fìho_šâûN”²t{ø- ƒÑñÐ ÚfE³3¬ºeævU]–oÓ2]j‡uÙ.ßžjç¤Ý´´ÜÆÊâçFNé­ëŠáÊHóO¹­mò*aîµOø Â̴󳌬ücla0Œp#£í\QA¶Û˜“fm ¶j¦ØÁ¾ ÷Yž©J°§ïhNbÿŒå3më‚8‚µ¿,¼Ø'ôþDmÇÄÚšY‡na0ŒG"F;ÜL;d^aKÐÿ$Ù7UZýpîéÎÛ :Bk)v´Sì.‹V‹‹²Ø[âòÀ`0´}?ÚÍžGs„nFÛQhCE;hK\¾ †VC×hû=ä’EÑv,nD<šó8v™ÃÁ¿<z„(–Gò³| !YY*ס[ £ã‘ˆÑzÊ_N˜HÚ ZFŒvÈHàÜ8×÷x¢ÿaG߯ŽˆìB´ £û#£ÝÇmƒÃA´‰6ƒÁÐhm¢Í`04D›h3 Ñ&Ú C£A´{!ÚCDú¢ !Ú ¢ !Ú ¢ !Ú ¢ !Ú ¢ !Ú ¢ !Ú ¢ !Ú ¢ !Ú ¢ !Ú ¢ !Ú ¢ !Ú ¢ !Ú ‘ŽvAÜ?AèKJK{0Ú¥¥n÷†¸ŽÐ7x<EW£Ù³kÑn6gònwaÜ?SÐÇSýšs—£Ýl.’ˆtCA” #Ý6 —mÐÑmÐÑmÐÑmÐÑmÐÑmÐÑmÐÑmÐÑmÐÑmÐÑmÐÑ$b´Ýå®ôòâÞ¼"h"æÑv-3,åÙî.$\{‹—•û[æZVý /‰}´ílŠ„Ž-ÏíÂABÚ+‹íßR‘©ÛD@_׃іuõE[<`úí˜9û&äþ}ÊŒ€öÊãLÚUœÍ·ÙK¬«dæÙÑ®ÈN7ßu^×üÒÅ™?$ŒîD»¤¤ ¤$ߦ6ú£gOë4»-©Póg«´Aû„™?›4#o]EÝ–½§uLÇ…h;ï9ÄOAii~/D[Ü–Û]º=ÌlÙ9…6§Ö¹!ójg™£vÐUü[¬o¹Kì)7$(§°¤$Únw-Ú¥¥n÷†°²²é\Э®sÞÜÛÐý;Z‰m•kÇ ˜Ç³Qt5š=»m1Ÿô¡€å«™Ž¥ÅQW߃Œþ2>ìºÅ÷@d‡ÑV3yÿ㕬iHlQ.’t5Úîœ$›6Ú,›äú@t-q,Dmqp>å/ÌÒwh´åÑŽJm‰-Ê’˜G;QäO× ‘çÑæ!Hz9Σ z!Ú ¢ !Ú ¢ !Ú ¢ !Ú ¢ !Ú ¢ !Ú ¢ !Ú ¢ !Ú ¢ !Ú ¢ !Ú ¢ !Ú ¢ !Ú ¢ !Ú ¢ !Ú ¢ !Ú ¢ ‰W´]†sŒÌ.êÝO¼èI—ëÉbçÐAÜ¢ßTÒjzJ”h›ÍΰfÞ™9]U—åÛ´L—Úa]¶Ë·§ÚÁ9i÷--·±²ø¹‘Szëºb¸2ÒüSnk›¼J˜ûcíþ‡‚›³º/!–GTí6æ¤Y[B£­(v°/È}–gªÒìé;š“Ø?c¹7ÿqk[±Oèýiì(Úan¢ƒ-ÐU 5Ó™WGØtÁ?IöM•ƒV?œ;D:‚ó¶‚ŽÍZJØ›ÚÝÖG¢ÝñÑìéq4GèR´ƒo"ì@·%t´}‹rÉ¢ƒh;7"ÍyœF_™ÃÁ¿<z„ÈË#Á7öF ÛbM[”0'L$íÇò¬‡ #F;d-"pr›ë{<Ñÿ°£ocÇDFíЛ{£ÐMür h„h€Fˆ6h$êhmœN´ Έ6h„h€Fˆ6h„h€Fˆ6h„h€Fˆ6h„h€Fˆ6h„h€Fˆ6h„h€Fˆ6h„h€Fˆ6h„h€Fˆ6h„h€Fˆ6h„h€Fˆ6h„h€F¢ö¨mÆD⬇£]÷Oú’ÒÒŒviiÛ½!îŸ#ô ÏFÑÕhöìZ´›Í™¼Û]÷ÏtçñF¿æÜåh7›‹$â†ÝPåÂH÷£ èeD4B´@#D4B´@#D4B´@#D4"£}úkD´@´@#D4B´@#D4B´@#v´SŠE·t[J÷€[›ŽÉHÙè=¢ØdEû¤UƯ™–ù.ÄIJèÄèæNXÝ\4Ÿ~´w)FgòôeÇËÜhÎ@ŒDûuÍ¡b¥—ÿ7éù?7†ðË;–_K•Ný2Ú?~I¾è€5mH|ö¯±ÿh‘›ô endstream endobj 193 0 obj 10226 endobj 195 0 obj <> stream xœµZMÜ6 ½Ï¯ð9À8–dK600Éì ÐCÚz(zj›Án‹æ’¿_‰iËÚÉ¡XdÖôŠÔ#ùDÒž ½é¾žþí†î<ÄË`Óç4¦Ï/t?¿éþ>™.ý|ùóäü×½œÒçsü—ÅßQE\¥ß¸î¹ûëôéM4·qQúùíåôöû—±»ýÓ}ŒÎæ¯O§·5¶wÝÓïÝÛÇx=vOŸ.ƒYŸ>ŸžNhú)ËÇú™×Ûxõé—Ë`Ww1a=›Ë°À§YÏöâæÕ^Ÿ.‡n_Ó§±pwÜzv|”ÀÞ¦%ÓjØ ¬0>š%• ÖÁÍDãGX}úPó`tÑ·„~Ê.€ËöÐå¼ZÛä±M#07—`[;ksºõ®xbÝŠ¡‰Ÿ7·¬# f‘†Ó£sñv ßD÷ɤW!„d8äùúq…ˆ'xl¼ü1 Iâ ®ßÓƒ`bl|èí&:è—³)QìÌû˜+{hl‰_‘…GØÏ@ÎÜJêaCPÃø˜gO‹¯r7›oJ§9%ëf­nëy¤‹ô.Ê\àR›Ñss?n¹%29Rb¼Ù|\'rI}ÐÝ÷õÀÝ(%Ä OÙ˜( FOš9u™×*¤Øhu•b°—Ƶç0ÅÏo9žƒëï; 7JLÐUqßS ¢ÂŽ|"âºBòsqñ#¹ç5’ãê cní\b›êü#C5Óù©_b7—¥'á¹Ca1 øÑÆÒ®Z–ÕŸOÔdd¦ÁÇ\©fÂ:ðjù#¸5=‚¥ytS$?ÁrÁô÷C(Œ}1PæÂ}¨³«Çö Ží²žÁÙÅõ9fÖŒy£“ÎZàeÅ@œµ&v¡ ¸Ø6=vSl§#BŒ%³£/à !Ó¦pMhNåP¯B›ÇzØ6]ØÀ|Á”8²ØL°xÉÙ2&Äl2¥´ËHµA®eÙByÚ/nX»8“r:Ù®P§-@”w–-ù0±Ífâ1D _úÅÊ Úí ›û/Dκ-Õ åÌæŒñæH--á2Vn¬ÅÁ5lY8G–ÅûjLlV=æÓDš„âìwÅÒ`–í L¬À­˜S›¼D•Jµ‘p¥°‘Çã=¹Œ÷bá(d3ÎTŒfSÃgbÁÛŒÐÄ"‰ kw”«ÊJÕ$[ÍD‹Órš¹‡-ÝX-¥ …H§%&­T!õjÀ(ñÌBWƒç‡èê–‹ R‘¥+g”*Dàe5û¨â³Z©r lº’êœ(в¬N§“K‘´RuÃJÇæ}‹F%Ã>àÛL•[ NDš8 ,íªz‰êy(ð²b Q›ŽÀ¥i(pÿ[¶Ä X@ÚN¶ÁJ¿¦UBý¸Tb4ö1µ›më‹D)u*^çƒìçR•ä5¬aÍFë3ãR¨GöœòY$ë”Û•"@ȥǕ2¨$ZåEÖm0ì.ŒGC\|]9Æ€…ªŽ¼Æ5Y·A®.¯à5…QI¤j`¨Ä¸\m`{ KÂ-šÇ”ª!™RŽÝãLà õœ‡2^‰IËmèQdºÉ¤-xN$Ó¬cíåÂX^€Õ0ÏS'QJªÑ5aÓ¸•GY¿E½#¬t ®õá‚èØ*y%4D8-Ậߢ_›ƒG±=• ^ Pb/Ú Ö MbP»Â;e®©ìЗ¥ËÓpÝQ’pfúLIÂ¥1+”%k Ó+ª©|á!æi/CE‹?~ÛÞº)t_£ü!þûÜ…Þ{c—@ýròð~ˆQÿ„_#õË2L ]8vY—áºt´I—éºÔ¼H—ÚÐ}º<Œ¡.UwêÂSiÂóÄz ‘5éMê¾–ø¬ »J –÷rÛ†²Mú*5é½eÒüØýN endstream endobj 196 0 obj 2000 endobj 198 0 obj <> stream xœ•VÁjÜ0½û+t¬£I¶ÆïÆÐÞ†–žÚ¦¥$-Í¥¿ßÑŒlÉÞõ¦ÆD+F£Ñ›§7£èÔßâÒê iZc ãÛ7õéNý*@…ïí{a*M~¯E_èÜè—¶d³ð+~/êGñ|G¡Å,NáûòZÜxµêô[=Ñò¾‹šŽ,¿ªûæVÏ­†nüY<ŽÅ _r·u]6“?ÒìùÜjìL uw€V{¡;`kš[]…©¶lîÃÈs±˜î`& oâXbŽ.®ƒ) {@EaãÇ~¼.¤¡î>¯e` ¥`¼.«E -n¦nÆ4~ñãé3Ü¢Nijã"šÀ„$%É¢ï$ˆK4ÍŒqj1©ì´o¤=ðŽd¡È1cãMvÄ•ùPÙP3^>a×1‘¾Hoºã ’…³ i\²F4ÌWä3)øì4¹Ñ>ÙâÈ-IóÕ¯Hˆ:]ñr3áõmÉ /ý.É`“ÊêJ™äZð*ô™òçšYm’Û )AnRhÍ)†ÑQy«ØÑÆÈŒŽÖ(\”—5+›M x"}Î÷ì7X T”è›ÒÉ”çÖp¾ÇPô=°n‰F@Ù°¨#69KòáUw]ÒNd•¿@32l8:«™E¾ðЮ¶ê±YØ‹Þ Ö¸J_8^ ZÒ%qKÿ¨ýªšßÑ?꺴ëòŸÚݪ¨sÍgÚÞ_©¤²nCôÍÖ¹L¢k(“\î.Ê’Ü'·¼Žð5`²cÌ)óᎳÄx«B³~¤Î¶å6æ6›ÀT×îÐ \bqî‚ÀRͪÒS5݃œ >½`ƒtˆwŠ–¸KÆàôô¯Å,ctŒ|XÖgÂF°¼ÞH/Ø«mŠf/P„K ñé¦áÄ/·ÎI“ÂXj·±y»šÇ dò®rëÞƒéIý bGª endstream endobj 199 0 obj 725 endobj 201 0 obj <> stream xœVKkÜ@ ¾ûWøXgžž5,†Ý$ í-°ÐCè)mZJÒÒ\ú÷«‘æ¡?Ö-K3–eéÓ§Olÿ4¿[ÑîÜ:å¯Öøëû×öÓMû³‘­ÿ½kt/Àî­ñ×Wø3ø¯°;ÿŸì^ÛïÍË ¸¦c2ò¿ç·æöÛiïµð8¹?]Ÿ•ªÓíåK{{†{Ó^^BŽ—ÍÃ¥yÄ@ý/›çº}´Wp÷òtjÔéÆ<ˆ¯rÜ©ƒ–£:È=ôþ€®ÒâÉÉ_eïMÀ±.Mô]mµSx`ðz_ÁkZŒŸ/çr3’Ó{—ÁÀäj /ØÎmCÃø(Õ³LlÆ„CÇN>¤|‚ Ʋ²c‚S²ôîòI0”K©j㺞‡®Rè#Žè„b\tb¤ìÌ|þ,,ÊWc‹ûqgrü)Ø3fx»ð¢ñ¯¸@$á_¢Or§ÅH©PÖB¸e OÃÁ=Õ¥ƒ8ú¬ÌUc:ðég¼Ñ.Ÿcòw™q‰2‹,ӅΉØpü๠,’1üô®ÃP‡-X)Û© «’‰ÅŽ¢¤} 6p*qÂÖT·TqjîSö¯À3SÒ:‚N¢,È)ƒÔ«]¯öôÃ?t½Ú× ¨ìh æÒweÀ£•G–wªIbZìÓ:ùœ1!â?çg'/ÊÔ##^@Ç…ÇŽ9õøVïz|yº³Fe§‚>À˜jÄšc&±}ï;;‡òsÚÌźÚ.uõtÙTvçPOÌTš5 ‚ÜDüW±T®¢æSá©Ô{Š -4.ÏþÌ;j*—#b,(BG^aÅ4ÿ•‰a:Ë3JcæƒÁZ¡’x^œèË8|ø’ Ãp Vh`—¾g÷^ÆfäjÌl7–En2M&e ¨LfWôHö²j +z${1lÜB–—•3 tœ$¿¹œ®âØBàª÷ÊáÅÅFÔ¹¶©vçÅÅVîêÚ­íE\h9‡Ñ‚ŠîjaÃ4m®ÖšÊY×Ö8›+òôˆžpÊŸ¹<õVAKLÓ\YÁ±ÞZÔ¨D> stream xœíWKoÔ0¾çWøŒ´©gìØ±EÚ4·J+q@œ€‚P j/ü}æ‘W·Iº{@Ñz­ñx<óÍÛƒù‘Ýkv–¦y,<ŸÌÛWæ[†¿‡Ï™ –øî2oéGlôO[f3þW¾[ó%»yE¢•¬Lü}¸Ë.^ßyÓ~7×´<ŠoY¤csgÍEGso7•…úð5»:d×¢(»1/~¤ÙÍ»Êbí*ˆõ*›d„z‡•ƒ+(…˜ #Bix„À,("»Ç,®DʇWBð2¶GL´ÍÙúýáÍ’mr4.Ú<Ž`ôƵ¶« ’i#}Ðk½ x:'>ºLÃKåÀB×¢eÉrGû f ¢LdæžµÅr[)Ÿ÷#¥`€9Ló!>ƒ—„@£z@ªÃ±¬§ÒiÕuÅØ ›¦bÌ‹ß6uIˆŠŽ Mê¯Î‹‡ZA êBëÒ‚þêó²wú¾à ÍànOQï{CÇCfaa¯h ‘O E—˜F{³°ÝDK?KÑ¢²$t»ÄeB_#.¸û¬³%Ê„—  Np€ ±iDÀ§©õ¢ØúË«+FAˆŒê‚UŒ 6 ̘ZÏ#äá´> stream xœí tT塨7pi¹í=G[µ­c-ÖÚÖ ­OD¡‰Š@(ˆ¼| Zy!ø¶jÕÓÃíòTë) híÑSÑ®®ú¨Â1¢õ¶¢µ¢ÄÄ„yÍ{2“LÞ$ÀÜÿßÿÌΞÉÃf&3¾o}kÖÌÎÞ{ö?Éþ²³g2Ç`Ì,5«Xh\¾[:£"âœc^­qµÃXâV—£nðK¼ÆÕnãZ¯¼rmÔE~Ì4ƒ˜a.ö`&¿»Åî€s•Ny9Óm^qšWÄMsÊÌzã2‡T\‘7Ýrúe>ã’’p?¨Œ]Ñ:î¶CÇÞþú¿IOûUøÛ†'þ&³Ð¸ººÇ%nãF¯j»¨ºR¶½åWÅ&Y. !"b¿þ´AzƒÔ ¾Ñ×y…ò¹ÈE.é|gDjå¼Zéœᨼ*cF•|NÓzŠSÄü¼OŒ^’1Ÿô®üªèù¼Êˆ¶¤[Uø³æ­‰+rû/Ì0½ˆ˜\E®ã4Óµ ~ù¯³¡»¿g6ûcùÃ5YS );eÌEÆ…_}6reÚÇò5-ýôÜ2®árŠ˜A½Ðe‰m›ÕoDDZGÚöï9uâx{ùcî®Ú*ÿ#·{ï[ê¾u¾kUžsùtÇ ?vü4×qýÅÂúk' ëüP:ïìš¼3ª.=¥xÞ+J–?TmLüPüÌ7ŒÓ_–=ÿÖŸú깣Ϟ[ ·eÜm¾‚ÑSrëïÌ­6ÌÕà˜qZß>3æ£òäIï†Gïj|~}ÓŸ6ÿ+ÿ£wúÊ÷ýr¥÷ÁåÞ_Üè¹çzÏ=K[ýš7n\Ó_뇻Ÿ¾[^¿£PÌÒ~ǰ?ÔGb&n3jè\ÌLUÉc{îZ•ç(ßÿð-âÈÜŠ§óË×O1¯[ð#kzݕ߯¾ò¬]y½z®ŽÏEÏÅ”©æk¯ª7—8`pkÊ¡pø°˜iÙsÕ¢çòe“Ö{˜=¯ùÃï¿xÂ:Ëì Ëí?‡fσÏÌÙ”=KµqÏ]Çÿ)KuÒÝ<}Øw“^Æm˜}›‡}Û13°çÎe—y¹Ržfy`™çî%Vº7ä8®›R¿èÜž˜ÏþvÝœ3kæ~oWÞ™¹àÄHÏ¿Ss|nõ|®3Úóƒâ(zàãó•ÿµwÌÜÂ1×5åYtÑó{#=k¸]{ÏÅͬ¬/ÛÜ.·õƒÞH³Nö±aÑmömCÄŒÒÞó™1=÷Ü»Ôó‹åå׸ó¯²^í…=1ÏûVÝÌoÖåM¨™óÒYßyå‚oÈžŸSÑwÏçÔ‹\Ñžwõuˆ㪧wÛzÞ ÿù´§ç•ò?R{ >í¶Ÿ†i|fÎwîT×;ïˆûja(fÙ»ÛbÏát?}·úRH–¶°-²¬ZÊ6óö'^<æKÕ¯ûZg[܆™çj›û[ƒ},ÑÙ…ÖQúL·Uuíë.òܱX¾ˆå®ëÜ·-v­ç¼yv8ÇÜo;~rZý¬©ÏûfíO&”͘ðêy_‹ô\¢Ÿù†ì¹ûùòŽÌ÷Ùz>°Ý7ÿgÙ˜yŪ瑤ßcg÷Ó÷˜ï0°P%®åÎ òôËŒ?4„à ¢çÙ³ƒOË¡ì¹ëø?g-t¿#®Ö~0ãx9Ïø‰Ÿô¼“¤¹NëÎ]ïš¿n«5Û+Vµä­ì…[îš³nü§˜³zˇÙÇ«{ ¿óý/nNW3¿wœù×{ûXçÄ’Ø +íÙæ¾Ö0½@üõqà™…æ}ýA,%†6ìï…;‡ýçq$8׫<\—=_|ž{Í\Ïm =·/vߺЕ¥ü¯¢—[1u.üžsÞéÎ9ßtæìÌ;¥nö©åWœúê9ÇÉž_¸'rˆ.ŽÏ}$¦ç‹üƒïùš§ŠGÏùhÌÒиF¾ŒqO‡=žãRD;2ñùß?þŬ…ÁéÍãsñ¥ÙyÑF1½u»Êæ„¿‰ybÞç9ºÎìÉûÕÍyóÅìÙæ"ïn‰ÜËìÂé[Äš[Ÿ™³Nι0òÕìÕ}/~EŸ3_¿Î¬Ù±¶°g›ÍôZÃPGëwΖŸ5¹×pqd:?Ô£­ê¢uWMrþl¦û–«Ü·.ðÜ2ß½öJ×꼸ãs÷üÓÝWžêš}¢+ïÄúY'–_vâ–#{>¹Föü´ry|.z~J‰1¥Jö|¾ÕónóüùçôüÖ'vŽž[8æ†v¡|°«ÛŒûº"ñ¼¸6RxáSò} Þ¹wš8ýõC‘žÏm¶ñ¥¬kÚ#Ù<ýí,kAå/Ĭ³ç¦?ÒÞIEjÎ;ŠdHï)ž+n¶G¾z½§ÏÅïü(\UuÜ:ø ëÙæ;‹ú\CÑôWš£ß€ÓãÆ‚˜(µ`¦ÚSõ&¡ ÌO¾ëøi®ëæÙ¢äîµó\ùs{2¾lŠºr¸-ä¹êTÏœo¸óNpÌ8a÷ûï‰ÿGö|j­LúYU²ç_}\ö\Ü”=÷×6˜‹~nÌ…oßøÑ諊ä›=šIÿíùÔzõf²óO˞ˉ3åÍéo6{þ»ìíO{T_ÎZz šÍw²¢ F]§íf ÒÞsJԜ暞™#ÖÖf¨НÞàísñ+^ê6g^g)ÎøsjãÖiÄn˜±´g›£w·¹`ÖÔß©>5ü$n8é©ü]Œˆ©1¶ê23'Ô/™â\1ݵz¶kÍœž˜¯ü±{ÙEž{^ßâó5Ϭã—[qÉ?mýþeϧyŒÉu==ê²çæ¹ë›Ã=t™êýqèö'wŒ^ð阕òý{…£n:`¬;§[”0j·LbxÏæÄhÏŸÊ^Ðmã+YKÍë2›ïeõ,hú¯öuªEüw¿.{jc´½e֜湔—³¨{鱃¿ïÅW¶Èç•ßý»˜YÞ…çàtkSíëŒß0Û6›w×ÇŠ»m÷P âˆôZ›VÕç· EEª/=¹nѹŽì\q…UX×ÊKÝ+¦¹ošì¹ñß’ï÷$}Æ?»r¿´{òø­ß+{.Ò­’>éÝžžÏtËçÅ®o>nêcÇLþõ1>|Ì䇹Èî¯ãüÊy?}ͮѫ G­êÿ÷pulô«ßì’¿©þ˜Éfϯ¶µQÌó_‘/Š0Þ$;(Õïwž±n¼\$ÚÞsËzfþßšoû£O?þ©ìûú[Ü>óá§ï{/ûŒ÷ú^ğÅnsï5Ø·Ö]w…øÅ‘ãebB4–ÄŒR…ý`LÞw‹d^öO=¡vîYõ×^(’Þöîë2æËr\˦¹nšâ¾ñ|ÏÒIÞkÏô-þ–ì×››½Ó¿ìœú…ÝçfmùöhÙóËeÏÏ÷Éÿ*Šœo©“Ÿ.ºH~òŨk¼£¯sYêóSpìMÞ±+|cæÏZî»Â9ög.é §¸)§ÜzhL~X¨>ƒC„ݸþýìãcNAd_æ—ÓWí±OüﳯýÙß×_Í2)ó^|õ;ï«)râCáêØÿQê™ß\çø öŒŽÎl_‰¼ëy-sæö|î:Í ëg›­5Øû@¨±ìfªVäͪ‹&ï»è+53'Ô^5±þš K¦8®ŸâX2Ù¹äç’ó\×Mr_ó=Ï ޫNñÎùš88÷äŽwLÉ*ÿáèWOé¹8D=Ÿø¡ìù׋¬žZÚ6æ†vóóºÆÜÜ=vm׸µ‡ÆÞù9õs–jzÏg`å÷˜ÈŸÛhÕï…/Žˆ˜(û¬ºhrÅy_Þ›sâ¾Ygì¿òÕóX³ðG5ó'Ö,˜X»à¬ºùg:æMpÌ9Å9ëkÎéÇ:s¾ä¸x\Íù£?ûñâi†ìù¬™tÑsu¾%¶ç*é²ç+»Æ®>¨>oTƼWÏNz¢Ìz8¬ND¿¢!õ‹‡ýçq„Ø;éÎÀ¡Â+ÎØyþ±;/þFQî©E—O(ºüô¢Ë¾U|ùiŸ]vjÉ¥'—]ú²W>õز)_.¿à eçü¯ÏÎõÞ™ÆKßóc±÷Ü0?„T¢«£ô±«ÄWý¶È{1Oü#`žÁòöQ.Žˆ˜û<ñ²üÉ–`yñë¹güé»_zùì~iâ1/LúÊ góò¤cÿ2éØW&þÓÖ³¿ôßg}±àûÙ[Ï»õŒ1ßõÊ·Œ—/:ÅWZ´|C¨¯ž×X=W—ê¿„ÌõÖHÕ•«*ÇÜÜÝ[µÍêØ3Èá?£ˆ8Œyn4ò¬hÖ5íËŸ°¿°pP8._ÊúIsÏùó¸žç™ï“ùX ¿üÿý¥òÒž¤–m·ìR¯i±+68úä;f–Ãþì?©Ãþ3ƒG¢H÷Òƒ‘×´¨+.l7uHÅ•ù­ÆÜÖÈ¥ºb9·É˜Õ(/ÕWÅѸ: 3®ç“͢²ÓÈ)•[<úR©ü„ ÓQyUJù™yõ=ïÊÞûs7ìIò²Ì$å[)öó]Ë©’o‡(œõâÊÈÍ©QÕqyáéù‘·mWÄ¥¨wŸ=Ï)’=7“nU½OÕ Rk~Û‚˜Yªï;f£0ÓLâσúóõ-ã~Tyܪ`öü} Þ DDÌ8ɕƩ/Çþ†ž#"f´ôQé9"¢ÒsDD=¤çˆˆzHÏõž#"ê!=GDÔCzŽˆ¨‡GÚóŸù+""‹ƒìùÝó#}GG8z>¿çSªŒ“ž¥ç)#p<Ø5øùœaz~ˆž‹ËŽŽÖPÈ ºE®ýþzŸ¯Î㩺Ýû….×>‡cOKKPÌétî Ós€ôCõ\¥­-$¢ÝÜ…LýMM¾ÆF¯Ùy‡¨º˜³ºº$LÏÒÕsQlóÖÖ¦hÌ#%W1\VÏ+*v„é9@ú¡zÞÐàŒ™Ë’+ÍŒ;£:ÜîýbÎ]»Þ Ós€ôCõÜ竳ŸcîØñžÊ¸¥êyQÑÛaz~Øzî·Ç\)2î÷׫KÕó¿…é9@ú¡zîñT‹Œ«¤[1WŠ’+UÏwî|+LÏÒÕsÑê¸#ó@ÀeOº8€Wχiϳ'î¡ç)@õ\´º±Ñk<úE§5ÅìyUXö\†—ž¤ÑžW‰€«¤«˜«×œ‹Œ«˜{½5ô Q=w:÷.•q¥z͹:Ó"bîñT«ÿ ¥çé‰ÕsQoÑpKõÿVÏÝîýÇž0=HWTÏëêv‹n«—&ªÃrû‘¹z —úúŠ0χ¤+ªçÍÍqˆîrUEÝg]Ó…"æ¡_ÌYRòn˜ž¤¢çâà|3WVéûåÒs€Ô zÞÒܽû£;ßÚ±cÛl}ÿýW{¹åÃ_+.ÞÞÖ¢çé‰ìy¨¡UØlkmlokêèh9ÐÙzà@Gwwgw÷á¡C]‡w+ÕùznÐs=HvÏÇM¬ ç) ‰=?™ž¤z ô@è9€Ðs= çz@Ïô€žè=Ðz ô@è9€Ðs= çz@Ïô€žè=Ðz ô@è9€$»çÙô %$«çW'm¦ç)ƒžè=Ðz ô@è9€Ðs= çz@Ïô Ù=çÿýRCÒþߟq2=Hô@è9€Ðs= çz@Ïô€žè=Ðz ô@’ÝsÞ¿ 5$­çUÆIÏÒs€”AÏô€žè=Ðz ô@è9€Ðs= çz@Ïô ù=ßCÏR@{~2=Hô@è9€Ðs= çz@Ïô€žè=Ðz Éîù¸Iô $­çûè9@*¡çz@Ïô€žè=Ðz ô@è9€Ðs= çzìžgO¬ ç) ùïÇEÏR=Ðz ô@è9€Ðs= çz@Ïô€žèŸ  ô@è9€Ðs= çz@Ïô€žè=Ðz ô@è9€ðþ-z¬ž_,z¾™ž¤ z ô@è9€Ðs= çz@Ïô€žè=Ðz Éï9ïß è9€Ðs= çz@Ïô€žè=Ðz ô@è9€Ðs= çz@Ïô€žè=Ðz ô@è9€Ðs= çz@Ïô€žè=Ðz ô@è9€Ðs= çz@Ïô€žè=Ðz ô@è9€Ðs= çz@Ïô€žè=Ðz ô@è9€Ðs= çz@Ïô€žè=Ðz ô@è9€Ðs= çz@Ïô i=ßgœDÏR=Ðz ô@è9€Ðs= çz@Ïô€žè=Ðz ÉêùÞ¿ ¥Ðs= çz@Ïô€žè=Ðz ô@è9€Ðs=HvÏÇÑs€”@Ïô€žè=Ðz ô@è9€Ðs= çz@Ïô€žèAÒz¾Ï8éYz2è9€Ðs= çz@Ïô€žè=Ðz ô@è9€Ðs=}>x°kðó74 ºç'Ós€Ô¡Ž·;:ZC!0è¹öûë}¾:§Zèvïº\ûŽ=--A1§Ó¹7LÏÒÕsóŽŽ–¶¶ˆvss j0õ75ù½fç¢êbÎêê’0=H?TÏE±EÌ[[›¢1”\Å<pY=¯¨Ø¦çé‡êyCƒ3zd.K®43îŒêp»÷‹9wíz/LÏÒÕsŸ¯Î~ŽE©2n©z^Tôv˜ž¤¶žû…;v¼s1E\úýõªç…… Ós€ôCõÜã© éV.¡h¸5ÅêùÎo…é9@ú¡z.Z­ËíI·Ç\À«çCé9@z¢z.Z­^Í"´2nÅ<Úóª°ì¹ /=H7¢=¯ ݽ“.2®ôzkެçWÑs€T¢zîtî \"é–ÖÓ *æOµúÏPzžX=õVOƒ*Õ?þ[=w»÷;{Âô ]Q=¯«Û-º-ê­^£h/¹z—k_}}ExðχÒs€Ô¢zÞ܇è.WUÔ}Öu1](b ùÅœ%%ï†é9@ú!z.Î9seeá`ß/—ž¤ùy-ÁÝ»?Ú¹ó­;¶}ðÁÖ÷ßµ—[>üðµââímm!z Éè9""‹‰í9""¦§ôQé9"¢ï3NÞLÏ3]zŽˆ¨‡ôQé9"¢ÒsDD=<Òž{ÝeŽêOk÷}\Sµ1ã¬*1#´~hEoëö"Â+ò›Øž‹uºj‹ïÝôç ×݈ˆIõ¸¼Vüû³G‰0±=¿&DÌçßÿÜ;Eû†ûÍ ô§¬Ú#’{ߦ~|.z.ŽÌ·ZuRÁ¡íŸîá ø*ÛóÚ}‹ãÿC‡ Mº1yvwwµ·6‹ð6ªÙóìAŸ‹ÕvI "b’ílkmn úDx›‚5Ÿßó“ž=Òžwvvtv¶#"bRíèhk >WòzÞÞÞjÚ‚˜vVlÌÍÝX¡.3çV>ìcÄc[[s¨Éï÷Ô%³ç꾚“«è§!÷‰ÒÁ.ÒÓóØ/½™oXÜòz{Ÿó fåÃþ°àˆ±­-jòù=µÉ칸yGˆÉ´`­‘óÄîèõµƒZj÷†ÜÜ »Õ¥múî'r #ÿÍèÍ7׿¿ÙkžÁ®|ø)¶¶655z}îšäõܺ#Äd*z¾æ û”òÇss׬²¯}#:12!gS¹šçñruÙ³ì®M¹æWã×öø¦µ®-²Ñy6EWûÆÛ ˆÉ²¥¥±1èñº’Øs뎓ê6u‚$ÿµÈ”2Ûœeæõm¢¨k¶µ¼–//£_Í}¼Ì~i­J.-f¢‘¿-º69¯µµ”lÌÎc¿‹ÞkCL‚ÍÍÁ`ÀíqV'³ç–– b*ܶ:Rõ²Çrs+‹LíÍÙ¸í1ë»Éêmjž˜9ƒ-q7{O´–êsmöEÔôaLpdØÜ\çþäõܺ#ÄT¹5ßXýzéúÜÜõ¥=S¦m|Ý>ÅTÍS7Ýœ¹4vöyú^*vžèÍ×7N3ò·÷‚#ÂP¨!Ðàt;ö%¯çâOa(@L¢¥ësò·ö\Ï‘½•—jJÁjC^¡6ò b—ЛӴtÃ4q\]½Y¿ºÀ>Oäz¯µ…Š7䨦D)l(þ‡u·©©¡ÁïtÕYÏÇM¬8’žG~q &Ó"ÑÒ(Ó6”6Èœöœ ¹¹@ÍfŸh•<Þ˜šI’¿5dŸÇº·¶Ø)ù¬Edùs6 ÷C„šÛÔäoð;\õUƒêù”ªèû·AÏ­;BL©»~›“óÛ]þˆ©²±Ñë÷Õ;ëö&¯çæùSm¤çýˆ©²1èñyju{Ìž×&£ç ~—ßï6H]ˆˆ˜pEc½2æ•5ûJ剑`]b{^¿çqylÿÇÇuÕå5ûKk÷—‰+ˆˆ˜pE`««Jöî.Üö÷¿‹ð¶„\‰í¹³¶hùCÏθuÃ󯔀ˆˆI²¬øý²¢ÿÙúƶéùëW=ò\[«?±=÷ºJÅåýO½Èç‡""¦@qd¾ú7lmõu´Û󀯲1PÝr··:Ú;Û›:;3Æ®®vÄŒÐösÛ| ³¹³#ÔØŸØž#"bzJÏõž#"ê¡ÕóA¾ ""¦§fÏàý¸1=¥çˆˆzHÏõž#"ê!=GDÔCzŽˆ¨‡½{þòŸŸBDÄÌ2÷îy2η "ê¡Õóq“è9"bk\\eœ´™ž#"fºôQé9"¢ÒsÉzÝeŽêOk÷}\Sµ#V•¿—<­{éÛÿ‰—ãQãZÏ+ÊþñÉŽ¿íøÇ[ÚXVò>ãã;…«¶øÞMÖéópË{`Å¿?ëq”ïˆïz.vöŠò}Þým­>= êĈĸïH¯8Î;ûüûŸ{§HŸÿ¼(«öˆÝ·é…ÞÇoŒWïz.ŽÜtÚÙ•bDb\Œw¤WìïâÈmû§U‡µâÐöO÷Šq|•ŒwDw=½ûî™ Å¸ïHoí¾Å°‡štk`wwW{k³Wc šñލñÒó÷wÆ«}ŽW¿‰ý¢Kr@;ÛZ››‚>1®¦` ãQã¥çïïŒWèyggGgg»vt´µ„‚Ÿk€¾1ÞÌuàñZ=üû· Ûþî~gË–w<©Ý߯6ÐóööVÓ lkk5ùýžºú–vã­Ø˜›»±B›ñÅpŽr¼Cx?®Äìïq±L»2ºobã7?¾9âs…î#ˆÒ¼Cãà×|ÔÅ€=W;Ksb­x"׈’ûD©œÙÓÍÞÌÓoy3ÁwÚÖ 5ùüžÚûvã57;Â-¯'f³íKºw€íìo³b8G9^zžÄ¾õ·ñ²{[+S±”Žwcš:Þèþ.v¹§$ÐÝOä¹vGn¬5“Þ¶{C®š(®9OìNä=*[[›š½>wÍ€}âxå Œü7£7ß\Ûsý¨´–4ïçlg›}Ã9Êñ¦WÏÍË·#ÇxÛ+­2DúÔ"=SWŒTö¼µh»µå=c‰Ðfîx9ƘÔGgë=Oä'A|µªpKäÙ²³*±ãUû»µ§$NðœMå¶)åçæ>^n]Æ}5q¶´46=^×@}êxwmÊíc³Ë7åD×ͯšcÜ´62iíÖb›"øEÊÓn¼½ŒÛNëfŸÃ‘—kÖæÆ=Éýþ¦]Ï­ŒWn5k&öw[Øc§xv>·ùí¢ôí[ã ­Wô2}¼ƒ£¯òmÛwYލ×<öŸ„Þ?-‰¯Úß­=%a–É=º,fâkùÆšmrzŽˆùƲÄÝW¬ÍÍÁ`ÀíqVз!ŽWl¼Â3l[cä¿fÎfäo‹N‘CÉÆÜèë¡°?P}<\i0Þ¾Xäf÷39sô-‡º7íznÿƒ}0SwÈšºóç1Ûop6E3z¼ƒc«•qv눽ÿÇ¡÷OKâÆÝß…--Á„YöXnîce1Å^¿z›˜.öñ«ø¯&Ìææ@0àò8÷Ø·!·AE§÷ôí±2ûlêzÜ‚öù%æÃ2Ô$‰ãýÜGÀ]ŸÃ‰™Y|÷EÛ“þý¥çIì[ŸãµosïLeôx9FiUá1CÑvkþ‡~W’€ñªýÝÚSçÖ|cÚÆRÛ”Òõ¹¹ëKÕes tã4#kBï1b(ÔhpºûèÛPÇÛkPj\ÖÄØ1ö=Åš·’¸)i1Þ^ö9þ†3½¯‡. ã¶žË?±{^9“лf¶Ùä<™uþ¡¿@‰£ÓHîlgWz=,™7ÞÁŽ12–íoožï5Oïžõ/²z.þ††BZºa𑳾4rSìÎFΆâPéúœÈÄâ 9攄ީ°©©¡ÁïtÕÔ·!WÊX]½Y¿º gDÑ!Û¦DÇ+›_`­G>¶›}‘to¼qÛ¹ÙÏpì3¬6†:À#ïðõ¼Ÿ'þâ{®Ê`>&vÿÌz~°¿Ö©2oîuª!ÓÇ;ø1¶öJtÜ<½È+ßNâó¡Ö‘Ob5ë!¿ÀœÙÇÕ *òE‰½Ó¦&ƒß᪯°oC¯}PâO 1¥ úÆœü›m‹¯¸b(l7¸EÒl¼1Æmg_£ëŽ}¢qsAJ¾¿ÃÙó4“ÿ¯ãUû»µ§h`c£×ï«wÖí oŒ7îúmNÎow¥v¼ô|àýñjã=7÷Ÿ6=>O­£n¹¿×2Þao¤ç)¯ìùIô¼ßýñjã=oð»ü~§°AêÊ\żrg¯¬ÙW*KƒuŒwDwh=ê†}÷L¬bDôñfºý·~ÿÎãòØþëªËkö—Öî/W2W±ýÕU%{wnûûߟZB.Æ;¢Æ;„ž—•¼¯åç×ô÷‘dŒ7Ó`¼ÎÚ¢å=;ãÖ Ï¿RP^üA¦[Vü~YÑÿl}cÛôüõ«y®­ÕÏxGÔx‡Ðó†‘ôù’ŒWû¯×U*.ïêEÍ>_rõoþØÚêëh2Þ5Þ¡õQ¾ÊÆ@uKÈÝÞèhoìloêìH¢]]íÉÓvGÍ:›;;BýŒwD—ž#"ê!=GDÔCzŽˆ¨‡ôQé9"¢Z=7¾V$’~Ì•NUõq?ñ}®Æô""¦…"æß;Òóã^‘oä"ݽ’(7ÂÄÝÝI‰3÷8¨as"W5¨-ßüù&ò»<È!q&êA8)q£Kðþ¥÷Ý%ÎþÀ$ò'!±?TÏË+ßøOÙó¯<%/1Ãýÿ(gwP endstream endobj 207 0 obj 9666 endobj 209 0 obj <> stream xœ¥Vß‹Û0 ~Ï_áçƒæ,ÙNj†ë/ØÞ{{ÚÖqÝØ½ìߟ,Ù‰Ó&mo#ÔqeI–>ÉŸ£kPªßJ«•¦i‹qt6ޝ_Õ‡õ³Ÿ×o•i4éª8¾ÐÔèM&Å,¾EïE}¯ŽäZÄ¢ŸÏ§êñÝɪÝ/õL˃ûM_µ´-`mTÿE=hnUì4„þGµï«g4>£ºmÛzõ‘fÇÆ`:hà :íy„°ÂÎ@ÀÖ,h¢@Fp,ÙÄš¨‚, ±™ª˜]Ý«‡{XwgJdftøÔ¿ŸËÍš˜œ†ÚN’ëpŒX3ãýhðÖ%2)@Ž»“‘M€‰±ÆDmÈyì a<¤L—#±$Ž˜» ãá|s뢊øÄá\-#i.À*(5¾nÎP·i#††(#ÚqZ(kðã@œÖ”H]( ÏSØ3€mj¤2ê¥ìm‘k±:©c©“|[YoÑÞ9ú/¤¤&ïŒIQ·Q4~<©¹×$ŒvÒV’膷jé]ž=s==4õÿ'8ç$v5Æ&¡§¡³\ŠØÑy‰ú9?’.¡¼`&¥Xöt„|JØt('{ºaÊb„׊]Årè„k ·Ë¿$qÒ¸‚Óþé9'Dü‰Ç2ËOšqdÌA…á[Ø#Ú(v2Š>˜‚uXµ´ £Cd.r鮵L(˜ÄÚÀSâ?¹l2}ñÂSVcþK\ŒÍ‚¿ å­Bê Æys.\ͼÝH§ß¬)–Pq™»¼`›Ýæ¾'n'|›ÓZß™_¢ß@ߦfιƒêL¾Z"3ÅÀij–Íxþçq+îÃ’=Ò·ò§¦ ~‡XŸÕ_Î`gÜ endstream endobj 210 0 obj 760 endobj 212 0 obj <> stream xœ­VKkÜ0¾ûWè°£É/0†î ÚÛÂB¡§¶i)IKséßï<$Y»±7NS–ÈŠ4úf曇d+0ŠßÆšÒÒ´EkÏãÓWóñÆü,Àðïé[áKrôGbô¥#ÙŒ¿*÷`¾÷7­Ë*Ä¿ÏÅíûGov¿Ì‘¶üæT´¤°ræôÅÜhîÍé~°0ž~ûSqCù7‰û«>ÊcGòwƒÅÑ ÐŽ% ¶—Æ#ÐÉBà :B-+¡a”Zvç"nŒPkåp/ ^ÆÝ…svütú0ç›ëªÖxgiŒÎ ¸DFSóì+<;p7`= 䯓ìy¡U Ù6dïŰÄIËÓ^¶\Œz(.ä›ìSTE‰†4^Ä檎«0›¢ƒÊŠ èiêõØN­ÜŒçJuõÀŽÒ¹dúV »äi …ej&@얢ѴUCyÝe©¦ä’( ~´)=8™¼.×j„Hø¨Žò'Ú¬Ñö4o¶J Yˆ®Ù½d¾Tõ…ùÅB\@z_Õó -:M—)0xñs3‰ç®…x˜Ì¦¢dªº)ž©HbT¶*é%¦NêwNað‚“û\©Œ,]ç`ê>ÿÀ‘€ µ¤ú­DÏhôÅ­í¤ÎæYUbª‚˜#5*iùjç¸ôc¤Ôš®S@©&|-¼w™ïR›àBŠ/††@^Hb¬ÝEG\àöl%À¡òóèurdÎ…˜ªàÂ^˜Ê{]VÅB ÿï”' ×K^£Þy^ãõÒî¾£2˜ÓZCŠ—ÃpÁJ£Í¨°61ÆÒ_+ÖËö¨áÆIЏÀï5† oÖ5·ÿÄ*¥ñ-ÝB }Dn¿À-]~és·¿o.$¤K.èA×PrgŠ(¶Vßv,[R'å‹ ˆ1­J™Rë¦eRÌiˇ˜cD§HÀ&á¢]ÞÚV5k 7Òª>ûÊ^ à¶Þ ^sÙ?ïŒÙõßZœ®ïé\èú~ØÙuáZÎ`P·R‚  ‰/ßôîJ GóÕýŸÑ endstream endobj 213 0 obj 794 endobj 215 0 obj <> stream xœVKoœ@ ¾ó+8GZ2Of‘Ò²l¤öi¥ªžÚ¦U•´j.ýûÛ3Ø ‰Ð²ƒ13öçÏÕèú_õ·VõAÅe0p÷î¯ßëOwõïJ×p½þ¨l«¢ÞK÷çø‹jñ?~"VðOzÏõÏêé.nMbR‚ëëKuÿáÅÕÓŸú1¾ž·¯UˆÇjÓØúú­¾ˆkW_Ÿz¥‡ë¯êr­ÑP¸X݅г¾‰«§Ï½2ƒíuºWÞõp0½º º×GÕ‚H{xÒ#¼h‡ølð­Ï¬à{e‡¼I©v°¬g@ ¨g.¨â@< ×Ëq?«†/×·ür6:f@Çz³ „Â|Hè)Á€= y˜D€´àÜ Ô,6ÉFÐF„£9R:ÂŽ'\’`ŠºðÝȈ§­…Rñ]H_Žƒ™ñw´*Q`J´pÉ9Ę3jÒt‹tõ9p¦d¸åõpÅ@ïBf|c–å˜RL:qÜAÐÂ@PúFäDò… ”qM{Ãú,äsΩ“÷´ÆÁõæÄ($vIhMÜóÌC{”F³ nÎ|´r0Óù\—MCKt'"$-©¸PN ÔNn¥gøn¸_º©o&´1œéh ®Ý­QÆw‹4{£F¿®ÖöÄœ—Ü É)t6q¢Ñ“Á,¸µÊAô‰pî?WÁÅh¶Ä’ŠcÙ-æÓwycBÓ.ëôfóÉ9û‰åú´ìMVeÐ°Ú X)1¦Ä–\gÖaý%G§9}ÂEÂö‰[ÄSæf™§{8é.¬jø;2,R–|Ø#®nõ‚‡oW·jUÆPŒˆXä›–}EþUÖSv‹î˜ÃhÇÔ ˜âÉnϼlsži±¤ ãž)Ž-Éõžæ>Ïå)ÍÙ{¶]³ê»©ui.×úFx¬ÿ=¼T endstream endobj 216 0 obj 869 endobj 218 0 obj <> stream xœ­WKoã6¾ûWè¼€½œ!)J€ À²c ½0ÐCÐÓ¶i±Ølѽôïw|I–œX¡$r8o¾2æÍ»Óì ½äÑ;üÙüö©ù¾ƒ†?þÚÙÖÜÛŽÇoôGbô¤-Õ?Uî[ó÷îõ©Öiâß—·Ýç_Þ\sþ§y¦å¬~ºî™<ØæúGóùB﮹¾Æë×ÝÓu÷,Žò¯ˆ»]’Gz{} Žv€0îa0½Œ0îq0O# ÐÉD0-Oç/˜x¡éeÕÓwðƒ±cR2ÛÛ"‡,Æ"‡O"âxú<îÝP}ÖŒ¿_]‹ËYÌxS`nadƒ=„ÙB¢%X?R{Þ Ї8[^€ïj˜t‚€q⽓„4Ôô8x+ÈH樫  Jø-SZ2³€zj)8سhìT¤iŠO¥ZyÊäYƒ>û– VùˆÀ’ qù¸ðžË(™ã,u¢ÒM°$¶3·œŠÏ“ú%D‡”5SI íéŽÝÇýJñx¨d}~ØPírUØVòÂQ‰)˜LŸD=ɺ27luzÙ^x®4oÕæzR¨µ3i Ã] }8´K 3ÄhŠ3Nƒ­xÌD¥\_2¬U é¯piKÉm„¾¬ÍñýûâQRRàˆqÄf)pÌz±ÛD }cMX6>¨ÜydÜj®_·“BÝKQñXhÍØû²‚§L<.O­,H½²¯T(¬ÇÊ1Y]íÉIÁL¼R ª8ÔëÈ´£Çy+\ßÑ®×Ü?8 Úƒ›mxÐErßïGu*èë;IE×UÔ7÷Û~GGº°°¿ípçH´Ú€ÉaóÄÐ:IÄSã" bÚæ†§fwký…#ȹ3< ú66W' `Z›bzmã +Ç3²0 x­‹ø_-iœ¢åÌ|urNù(#U™Ú/&Å>6UÇ,‚ä`{?mÐ?˜6èL[ÙPÒÖéÅ…:Žc°}Ò]ÂnMKÎôUÒà^oè:õšWÜ‹ Æ—µ+>É}Œîì1ß ìܵh Ö5‡cRcK…:­‘]búRŽc‰+1+gâ¹’ÒgÖU¬òåûo†…ÃN9Œ5ߕӄ¨é… ë×¢Äù³ôîäreóšç¨ŽWK„ÐÍÑUUcU“a¾_5 ÷ª!æZ^°XK ù%Ì{*…Jhæyöâ¿?)žØf%¡½g­øÖî]–XøY…±•f‹ÄÃU;+5 œ›“#Wš÷×@°·FñöôŠYÉ´9—v7ËKJcì­‹âUÊe$FÓÅk [ÇèÏh 99>z§§ê]1Ù„cÑp—ouÿvUo÷Î7IŽÛ슡"—¤"¯©8å nqÜ¢ap¬lV׳D½Åmûz†Ö¥×üÿÈõÊò!ž5?7ÿ4ák endstream endobj 219 0 obj 1173 endobj 221 0 obj <> stream xœíYKÜ6 ¾Ï¯ð9ÀLDR–dÀ0°óÚÛôPôÔf[ÙÍ¥¿|H¶gÖvf7›`“.ñZE~|ˆ¤·êßÕ?•«ÖŽ_#ʳöòüô®úåMõa•ü>ý¹¢à˜î~%Ï÷üÉø/o½É_£{_ýµº{ìmÚˆä÷ûýêíO÷¾Ú¬ny¹g¿=­"‹ÜPuú£z{äw_îZÝéïÕá´ºU òÈ}Œ›Tè‘ßî~mvÔBìÖкFŸÐ­±u‡ZH:])¨e[YQWkuë¨+LÎÉÖ4СɄÒáAI¼LﻵoÇ•¹î·ÓÏSznšÊS)æÄ8gˆºÑ qÎ6ˆ%Ä ^Íà£Ùu ƒQîÑÆ¼Ž^'L-µÉh›*Õ:öº´Þ€G›g‹R‹¤‹G[,t&JQØ8éØ8«å ™¼—sÖò®ëŽEw0oì”±jÃŒ#Ç…ÓÈ T§»ÁPVê9!5 ¨§M¬àd—kج{Ý}Ž)2K]¥šùÒÆ_èêâ¨fp¦Ùò¬(Ÿ˜l%Æ)tŒ ¡˜Á|,@ \êB‹[ð.€“…Ä®ôyCÐ3ÂDö¾ß{(k¢½ì·-[!pJ«dɘÜäPIzX©-<õô`K~Y›€ºd8PàœgxÇ6~ÈKãÂl!J1@oøLÈŽ[#IºYÄé±äç@:ÁíQX9(9Tgº¨ Òpʾ\“ n–y“âæ“›Õ°De¡ó954#Û.¥ N&@ƒ¯D$ÓŒ£XiL¤Ý\PC/ç" IòÇë÷̦À¤h TDâ£êÇ.K¸•ƒ¶SXê:ÓÑzÃ}ƒ©ÕÍlMÎBEaN5A³¬<9©Ñ$uÉù–Çg“G™vǧ4¿Ö¢g.(`IóX_ ±Q̪ÂrRÂJR€ÃI¡ÇP^—‚jŠWë ú®½!V¼H†Xl…­Š c_å( jѲ>>Ÿx™ ^ê‡ópÁmúunü4qÔhÍ«¸ÈÂ¥Í3Zi‚@)Š|ÊšöÒˆ£ÇHPÛ¡£D·æ‹÷-ž_¼jç\ÍÛXÖØ JnõPæãf0}£í¥Dër¤áÍ¢½!5Ü´<ÆÞϾô4.?*ÂYg‰Ÿ&½Õí|U,‰|)nÉî2^ÂO"©ÆHöbŒD÷°nü¸xù—cdÊ[$ ¨”7MçŽ>\„ÌP°9j.Î鳤† ¾FÇWF8ç .s“.P_CäghµŒy_Ú<¼±þÀ†JhÞGícýÅšÆÁ0ƒ^Ca~iÆrX‡IÓ~)mƒ¸‘ܨÓÖ«ñT߀Ú6 =ö-ƒÏä¥\‘û¯iéþ·.}a¹Ê[rÔÙ÷ý—Hiä„SÐw¿"æ Ý”›ŠÜ/ØyÄCVtÿrnžË,€óÍÞ•œÃWE?îˆzñ»¢À4ôÈÁwíßopÎöN"jÊøQªÊƒ’bè\6ÎÊI™êÈ’»£½<µ†LØ.Ôr¡uò!)#ð÷ÅQ©ˆgÛ(ꇥÎÞT²«p]Ÿ§_œOg€gÔ0…œì&­X>€Dˆ ÿ±Aòà‘MÔ ¹­þËÐ+ endstream endobj 222 0 obj 1229 endobj 224 0 obj <> stream xœ•VM‹Û0½ûW輯¾eƒ¬ëÚ[ÀÐCè©mZʦ%{éßïÌÈ’,'Ù¤˜HòhFzóôFoûÛœgC'±5Û·ïìóû݆ÏÛFY~§ÛWøô²aý^ÙÏæøKGstÂçë©yþxÒlüÃö0—¦ÆÁ¶B¶ŠMߨóÆšMGÏE˜~5Û©ÙP|Š»v®í’¿„Ññà¹ Ê 6ÂóžZ6Òóm^tdpÜ¢I|NØï’f ¼ã¹ i‘Úm£ŠŸD74ŸÜ’‹Fó6Ú/7¤õ_¦O×òÒ Sk]NŒˆ7‰à` spðbÄÌeo‚™¡€A&N0C^ ßåÌ"1Çi(1Z¢'ƒ¸•G„e\kV°ø‡Âíˆ ½JÄ u Ÿ>o ¤'4NªŠ +.ï)u+ÿ‹L)Wì¼² åÌP_‘bgRtq¸B õ»š¥#çáÅ YÞgUöªíׇ=dš ÜHvm :r¹ôjD×.Sõ¹¿ÉhW½ å;,xYÌE$˜yžu ÞÆŒÚÆuRª•FÞ§®G9Ê¥œÕ x‹½j¤Dˆ‡z¿¬‹Š¨|b»` 6W¡3ÆelªþšI…ñœA+\wQ±Š¹Š(İâm%¶1Xª L£Ï:ó¤„þa˜º¿(‹ú„+ s=Æ,RqštµÌXëRÏE¦³:ZÐ)±ÈðR\VO^g ‚!¯Ù—‹±–E¾l^–iWdÚ·ËrPâžáêVðm•9U¢#~-Ü£éŸÁ­”H´Ïþ6}㥴ñ+¿gÿp1Ê” endstream endobj 225 0 obj 643 endobj 226 0 obj <> stream xœí |ÕÝ÷xiyÛ÷y´UÛzy¬ÅZÛZ¡/ˆb5¡ BÀ +—"„¢A«¶õéÃÛom}Ðz«}ði±ÏÇUTäV%@A¹…„„„$rÙì%ÙÜ6WÈ…}ÿgÎÌììîì²;3;{ûý>¿Ïfö왳ç?“ùÎÙ3gÎx½~¦ ›ZBî>Á<¹Ròô:af½p£0ÏÉ_‡-læ5 ÷;…›ØÂƒ²ç¸ádsœdžë‚“ɇ›ÿ8ƒÛÎ^§8Å»¸@oÅ”)6á®FfZ`o,ý®fáöRoqŒ\Ò=걡 Ÿö~ý?˜¯ú­÷Û/xÇþÁ;öï-/1O|•ùö×Cšg€“Èaö&œ˜Žûÿ ­ƒ÷ Ç©òÊ ¿þ&,“‰Ò#—Ò…±ŸÃ|øCMóáË=£ ÎQNéWþŽ™¨þÝ}&¼s«a†á`?¹Õo9–y›™cV1%ªßr+æ|&Z9Dæt | uáŽCÂôafõ°En²°¤•›Ø>"¿gÄÊ~"¼ðøÐˆÇ¼d¾L¯J"_à‰#W£æ=Ï ÃpŒ+‰KZYõIN27Á0[®,¢;c¶mñËMö–PW6Ciñóu“Š„‰GÌ ãä¯þUZ¸ãÓ‚çŠÎR(è2OUg~–a†ÉJK[ÝðžÞ@ííÅ/9ûëkÜ¿¼é™ÎU³Ërí‹sþ¸ñ§Ùóo#Ûœ@n˜ýCæ™××å^Ssç%3Ô^Yºø¹Zaìg à×n®ÞÀxþ­·µxÞ¨És…á*Œ;ÅŒN?’+¿रòÏ'‹ùp8é¬ì>æÃrY§wË O´ÿíÅŽ·_iûóoÝ/¬n~.¿ù7K›ž]Üôˇ]OÍw=5ϵz®ó±ÙŽüéö¥÷4.¸½nÖ¸’»®Ú:åz{óY‰çßÜÁHþå_ —¼ÇÞN<2üNÆó/þ¢ü«ÏÖüï§O~á©“™OüÒ35_þeÍ¿:ùŧª3Q-&¬(f¯+‹'½n–g¿Õ;´ì:z+Ì,Òèc‰{kŽÖq§­ãN'8*K W»N˜ÂLLvÌ!’·¯¡õÕgÝϯj^³¬éW¸~1Ïùø\çÊû+fØ—N±/Ìz`Ün{ð–ºÙ?*zí†ñ—0žßx˜ñüßøxN„¿½”ßz´¶fGiÕŽ²ê¥Õì•¹Š¥ÐÛÒª­Å•ÛŽUm)®|·Ôvã Ç…é‡ÐÓÃ0|ϰûÁ<ׯ,óܹòÞ–—žjyù—ó¾#{YÊcs+fÚ—æ6>rWãü;lÜb›{¥wýãý†Yckg^_6í{ïßrãùøR‰çWo`<ÿú'ŒðJÙ(—™õâ…Óþì}øo Ãgøóü©®Zÿ+°µ››âÊÙ<àõ¬{’-Q–Þ‚¸oêhœŒu†SÐ3àä4'¹?ÏËrÝÏ廟ÿ9µÌxŠ0¿»qþ$‚yÃì)é ÷~¿öÞëÊrƒxÎÛçÄsJ™$Ži¼Ï&®qVtÀ•”!¯÷eZôV-ñœ ›Tæ(y^÷—?ñ’5Š3o©PÿŠ9bFш‡ZȬxþ´Ä󆫭æ9½ÍøÁšÑŒm…¬®û'Ù–`œÔ¨˜\ç¸× †á¤²šçSüxîzz뗳ׂœù÷)·=x‹æ¹ßj˜ò͆Ü1uÓ¿s|êw>¸ùŒç7Tjó|zƒ0Ç!ó¼_«‰îçeëN¨xÞÂn>õñ¼šÝ‘êsÛ:§º¦ýÍ鯭>—Ï|Zäñ[÷Éÿ>œuOò<Œ´E=Òº|-UæÂ×ïî÷Qíæ6­2{*&6ÎyC• ŽEÎÃ0LVZéSœ Õ´ºÕU0— byâ!çcs+gÚæõWãŒo7þä*ÛÔ³å~³þ'cÊ'ùðƯI<çMôk·1žØoªd31Ò·ÌjVñ<¼ý¯ò3K8Ï%¤?¥†çÀº§Äò8âºVaÝ/“ÿÒâõ¶Ï3§µ­c¡T=qñ;yÎÝ´X¿òÅ,Ï豇}3IŠe*}8OìOQ±"{©¨y;3ó6>1}ÍèyvÊY»ñ³Ì‹ù·xwÿgèÕÅtžyôÓU,óïNj”9¶Ô¿bÇ}uÖ*!g ýú8ûfžø]¡µ(´¸Ï…ãþÃéàn³æ:ãùÜ+f¸Ës=>×¹*Ï‘/»«hÉÝ Líy߳ϼÚ>ý›öÜËí¹W4L»²âž+?¼á"Æó[ª¤&:µÏ/ü½Ïç¸#çùŠ7J†O?0b‡,<À&žêSÃsôů´¥Ä¿ýyôÅïfäµålÛçô‘Gä<±‘Ò» 96Ç|Byüæy–ËÌœpš¿­coßÍœ&®²g£ô-ÓŠr6RÉÝoN_ÃræIŸf.×^ýÍÌw–™1Í¿by¾:‹•ðŸgyk}õ4VùŒ AáÀ0œžžåñYEuâEÃ}ãì?›âüù}ÎU³]?Ÿå\y¯cyn@ûÜ9ëjç½W:¦]êȽÔ6õÒŠ».ÝøÃ Ï'Ô1ž_UÁÚçÄó+J…‰5Œç³žˆýççáùª×Ž ŸQ4ba/™ÍvðL¿ÏÛê%“ß`óì~z OÌùxHâùŒn™ïe<Ð+aóê]ÊŠÜ¿<ëW¦ï­[bï¸bž³ ˜ô Bñ zÛ+}:ߥ¹úêÞ@±¢jÊ+æ«óêbÍŠs>è”wÀÙœ€X`Ø,Ïé‚“Õ>ªw`~òÝÆŸf;F$w®œéÈŸáÃø¢‰|á\Çuß•®éßpæ^Ò8ù’?¾è£±ÿ‡ñ|R=Cúu5Œç_ý#ã9½ecã·‡3žßÝÎx~S3»«Hêoi`OÞ|1ì¦á9F,pŽø©‹<ò‘¦‘KšGþ̱Ø1r‰}äÏÌKìô–¥¬‘ï%ógpØ…ùû2/öë‚ȼËÍÒ—U©ÓG_üçÌù”èÎü-˜!ž„™JŸ~gOa‰ÏykýïQòåË}sÕp9³ºöÕ3íî÷b}Î[¦X±uVJPmu 0l¢…ECp²Z¼Hubò©[¿R7eLý}cmÜÜ8obãü‰ó&ØçÝlŸw£ã¡qξçÊÓtßMÓ¿FsWöèÆ‰?þáÕÃ$žSx>ö3Æó¯+<¶ gÄÂ^ñùGý#¹²ÔÊ¡‘«¤§ÈñgÌ)æé¾g`åûlæÿ­ d~^°xu†a³¬Iubrå_>™u驩ל¾÷µ³~X—÷£ºYcëf­Ÿ}]ìkgŽiœ~…}ê×ì9Ú³¾ÔxÛ¨º›†ûðîUãùÔ.†tâ9ïoñç9G:ãùÒþ‘ËùóF̃xéf9ãy/ïˆ}O‹õ«§‰ãþÃiâ`¤Û[‡Šî¹æÈM¹íÅÙWß=¦øî«‹ïúVÉÝW»ëÊÒ;//¿óå?¾¨bÒ…å¿\qóÊoø_Ç®¶÷Zá½[¯äù…¿Wó\Bʛ輕>rÙÙ@ª?&µØCÁÜü- ö`èn`\†aØkv¼,~½«­¢äãìkÞþî—6\ÿ¯ï½àïã¾ò÷ë/Ø0îÂ÷Ç]øÁØÙtý—>ºî‹[¾Ÿ¹éÚ‘›®±åÛÃ>ø–°áÖ+š/~Ù£Åó:…çü•ß%$6Ô»%ªs/äñè@°yyÛN"Ç¿G†ÓÁ~×F¥«¢ô.~M=°0"Ù[¿èÉøI§¯ÿ<€ç¹â<ùÒc)Üìþýì ©ïÔŒíŠûù˜µ©ÂòÅw8¹÷«ÿp´Žûÿ  Ý ¥1-|°b^¯0§™fu 3º¥W¾ xF‡0µ½òO©5ÎäàùñaYÅòK†ßÉÌžp!zXn 7{¦F®Í7+{ðs7Ô³AÂ0#ßU'“ÙTŠ!öZV ›‘(Bj¥á§ƒçñ®rDRxîh,9=x¨òì¾Ò¾Ý%ÌŸ=»óH÷öýÛõ?>зù@ÏÆý]5vö´hð‚,S[«}p°?òü--vo:ñœðu¬nˆá«¬¯°ä ùÓ£}øú¼çÃýÝ5†¯”ç9Á¼¾ù\µãÜñúÁcµCdJ9Z3t¨jèÀ‰òþŠÁ½eù»¼–ð\„xnJÏ鵯¯Ûãq·µ9 ×n·­¹¹Áåª%;§ÉÇ©ÆÆª®®6Êi·Ÿô¦Ï æ>|Õ ‘KN =)â«r€,âkð“£ý_)Ïs:µÑÖ8ac$'Œs’¬Ü_>¸¯ŒyOé`á±AÞh÷‚çd¡8Ï æ}}]==‚vgg«ÇÓ"ÚÝÑÑÜÞÞ$r¾‘¨N9kkK½éÄsޝJÛà±ÓC„qNrޝýeÌó]%Œç_)Ïó]%g”ùÁƒdj“ç.üí'ÅC;‹ÕþäÚçd©8ωØóîîæÉ9Ì[[ Ï++zÓ‰çûÊúx˼èä aœû@ù1üG‡Ï9¾RžçÛõ¨ ^1°·Œ™`νõè€ÏE;ƒçd©8Ï[ZìrËœ‘œ[ĸ]v£Óyšr–•íõ&8Ïk×å䬫5©°8ðœê/H’ã(, ¥LaRTë™§Pƒ™ ¹êc™èÁíÏ€ü,³¼à_޼¨¹nDÍY…çHWw/ĆçÊ/šy¼¢™Š6®¨ žC)â<'V··7)—Ç(Ú•‘ç5^Æsvé¿ʱNRu§ JÛÇ!JJb˜ü êrxÿòy¾+œ”æ(yO—ÿLâ¹÷TDý-ŠLío’¥´Ï·îSNp´°÷¸_ãœ'J'¸ÃÑŒ?Ï!Ȱdž×À9Ò9Ìù˜sÂ8‡ySS9<ÜÿÑ´¸?Ts¼"ñ\YFû‚â%Îó††Äm>4‘7ËÕ-s>…‹ÍÆgÝ×Cϯ˜ôûxÎÐλÐ?¯ ¸ À-î?‡ ˆ‹ó¼³³•šèGìSÊ2¥“ æ›r––îñ¦Ïw±Zö”²{B¹?- ’o=6@þ¨x€xþþÁ³›>K»ûýyÿ¹úêp\úÏ!â"žSã<ÂÌÕÕEé6_î{{º·>»ã軣_öŽbÆ«Do:ÜO0ÿà@߯ýÞ4à9à¨íM'µÝ¥»‰s‘‰Hßrl`ÓÑžHÛä:ÁíÏ!ÈRÏ»ºÚNœ8päÈ΃·îß¿iß¾ƒ¼ñ³Ï6—”öôxÒç'mg¶}æÙ~°sÇÁ.ÅôvóîtSËœ`^eëõ¦Ïé·ýpßNv^;ËMËtvû¸¨Ÿ0ÎSæåxA–‰ñÜÓÒMîjëénïíéèëë:{¦ûìÙ¾3gÉCCýçÎ póþ™ôáy´JyžŸà”³ÚxʦÏ}'¸¨xž žCÅšçièhyž,n‰ÝóCo«.[žCAÅ”ç0‰Ás2Eà9wƒçdŠÀs8îÏ!ÈçpÜ žC)Ïá¸[á9Æ+BÅ”çÞyNg{#¯xJ¸<‡ £Š5ÏW­|NO{Ú¼à9Y( x¾JKçd±Às(FÏ!ÈbçñÔ;uãÇ×½cn¿³šªÑ“·6â2Cå 8GÄ-4®Èv™!ž×—a>.2ªxð­Í“׿¹×®uK-Xe!x]u›92žû…íƒ3ø t¯ˆö?4èÌ%øåûe¡4àÁs²XÖ÷·¬åhRšyš×Ó™£ì²€¸”Ÿ0à9ÅUqߢj`GÅ+¿n_¿J y~艬uË? ܫߑZé:qš˜¿jZÆy®¹Ëäµ|PÕŠ <‡ ‹eyû\=$O…5õØ<ý<×¾σëãW¬öL?®ª;¨5×åaÆ"žïú¬F CÉ„ö¹Æ.[+_ŸUW€'»ZžCná~"(FŠŽç—ƒçdTà9#çd±Às(FÏ!ÈbçPŒžCŲ€çñŠÀs²Xàyšhì²ýšŽÝ7êàù¨qà9éxž&JlžŸÏ!ȸÀó4xA)/ð.²Xà9#çd±Às(FÏ!ÈbçPŒžCÅÏ¡ <‡ ‹•XÏ!(”¾Å7S®Iã}<ÇxEÒ¯Äâ9”BÏ!ÈbçPŒžCÅÏ¡ <‡ ‹žC1xA <‡b$ð‚,xÅHà9Y,ðŠ‘Às²X Àó 1çÁ)‘H5–j zôc­ÕÓq©ær‰zD»Æ´^¬¸¨+¢>Qä_ýcÑU{G=쿉Às²XqæyÀü«š)Hâ·Â&åFÑ(ï¶]NtwÈ–£T¥  ªíƒÊÑ9/bp\:ï¸ ³w ¯dà9Y¬ø·Ïƒï Õw—¨6q£Ÿ©D{èAê_ŽôNÇÄ)~«šçV5ºûL5÷%š3xAú•â<7ÊO¯Ü¶ž¢šÓ–›Às½ýH¾rŒM¬¹w‚ç^ð‚,WJó\×Ô†!ÛçºÛùÏ‹®$óëclB`Íý…ù[ (”º<×;Omˆ&tÔ=±ú½ · Mžë*'pïh5νà9Y®Ô乑y ýúI TWÍè‡7Ès#k>†Ôxûz'Ü;â³¥BžCÅŠûJQçd±Às(FÏ!ÈbçPŒžCÅÏ¡ <‡ ‹žC1xA <‡b$ð‚,xÅHà9Y¬à¹jþUvs Þœã­6Íye£¦­1Ë®Yå×PW9úæW4‘ùöNИóIÁs²X q?‘„‚ZoŽŒñ‚¨nõŸVuÓcT·uͲ«ÜÝm”Z³õjΠu9úæWN478ÑN‘Ëñ;áÌ 4öxA+þísßýã*žë¸å_{~}Ìò²üç­Ò3€æœ¹:¼¦¾²‚×Ò¹}|{ŠÎÈâ<Àà9Å]‰Äs¯ØðÓÛßâÇsõL.º§X4|^ørÝ< ÎõÎìUí2s¯öù<‡ ‹•XC5ߌô·hqRÏc séƒhNT…Ú?Ð>‡ Pñœw¶ʉ!fa SN-£œ67(»Îë¡¡¾6Zž—£oà µtÎÌvJˆ“,xA  „ߢ̿ªw¼b¨ynõTÖÕ3^Qs¶Þ3èFS޾y€5ÖÒ7°zg YÏ!(ÿö9”¢Ï!ÈbçPŒžCÅÏ¡)žŸ.Ï!ȨÀs(FÏ!ÈbçPŒžCÅÏ¡ <‡ ‹žC1xA+ž<טµP5Â9â!èš³Èê‚TNÀÈmǃæ¹fD¼Yó÷j 7×WNtÏ!ÈbÅ“çó¯F}[¨W{>X=¤ ;m7R–£º/ÔÐü½Æçœh,ºû^£T<ŸˆñŠd‚£¿E™­EÏUåȼÒ9/m@9~ úçÝU•fhÞ]ãóóµŒÏ‘Às²X Áó€)\4Ÿ€‰|ÍϨûH´ÊñIßXþSøFßßXŽ‘y€Õ³ã?/D$ð‚,Vð\sʾóø…-Gcž[=íj­ynu6†°!B5ê’Tõ14°RxA©©xó<·£/7Ä<·Q·cõœk®ø £õÑSŒª¸‚Bô·@Pj*Þã[ü¡­\!j¾\­ynƒ%ª£œ¨KÐ.GuuÖx}Â~¢˜ÀÙqözè(ð‚ (ž<žU=‚±0Ò´f‘UÒô Wô+'Ú¬F9ºÆ+†™ç6êgköÑ$ØxEð‚ÌP¼û[ ”xA <‡b$ð‚,xÅHà9Y,âóà`äù[ZÀs("çd±x{»¯¯Ûãq·µ9 ×n·­¹¹Áåª%;§ÉÇ©ÆÆª®®6Êi·Ÿô‚çPÏ!ÈbqžÌûúºzz<íÎÎV§E´»££¹½½Iä|#QrÖÖ–zÁs(çd±8ωØóîîæÉ9Ì[[ Ï++zÁs(EÃóSÂeÏ!È 8Ï[ZìrËœ‘œ[ĸ]v£Óyšr–•íõ‚çPÏ!Èbqž777¨ûX¸9Æsžïò‚çPÏ!Èb©xî&<¸7æ”B¯n·ó¼¨è/xE ð‚,ç¹ËUK 'ts·¶:ÈÄp%Eáù‘#;½à9Às²XœçÄjÞ,W#] sjÀóë¡à9¡Às²XœçÄj>š…¬`\¹Ìó/ã9;ˆÀs輊Žç—ƒçdT2ÏkÚÚœÁH'Œs75ÕçPTÏ!ÈbqžÛí'[[„tÅÊePs—«–ß žC <‡ ‹¥ðœèÍ/ƒróÿž;§«¼à9±Às²Xœç 'ˆÛDo>FQMr>‹‹ÃqÊf«ôâz(±Às²Xœç­ÔDw8jdŸR–)L0÷xÜ”³´t<‡"xA‹xNó3WWa¾\(BEÁóÛjÀs2.ö<‹®¶'9²óàÁ­û÷oÚ·ïà oüì³Í%%…==ðŠPà9%…"ç9ÔpÚÚcžÃ0lŠ#9ââ}Úâ¯Øñ†aN4ƒç0 éað†a85 žÃ0 §†…ÛNéx~( Ã0œhÏa†SÃà9 Ãpj<‡aN ƒç0 éa…ç™à9 Ãp2›ñ\|~(xÃ0œÔÏa†SÃÁ<ßðÎ0 ÃprÙëõó<Þ³ˆAAz„þ†áÔ°ÂóQc+Ás†áäµ0±FžÃ0 '±Ás†áÔ0xÃ0œÏátv“³¼±öhý©Cu5-pMÅÞØYù §áôaŠ‹¢C¼i¯>žW–~øà'?ß™2./݇xÓ0^:(õ%O¿úΘ¼5­©á‹r½äÿýÕÕXJF¼i¯žÓÁ^Yq¨¹étOwsj¸­µ"¢¸oºÅKí:Øgýê­ÝÅ©sçEy­‹"zæÕ¿·ßo (L¼ Ï#N-·T:ع)"Š ñ¦[¼t¼SË­ðh͹”ÒPáÑ“Wks5âM«xEžGw?ýzûá S\ˆ7Ýâ­?uˆ~À ’E ¤€ú{»;)®öÖZÄ›Vñ‚çáwÄ›2ÖŒ—Úot\ô3MŸééîìhk¦¸:ÚêoZÅ ž‡?ÞoÊ8 ÏÏœé;s¦75Ü××Óåikmv„áâM^‡7™xîܽqãn—µÇ;âM‡áyoo·è®pOO§§Ãív5„á[ÂÅ[ùJvö+•)¯p Æ7žÀ*v%5ߨòëÿ¸^ò[EÎè7QâÇ«#ÆÈK6¼)Âòœ,æºòµlAVökÇY¢t¤‹¶çSúÏ·›ü¥==OG³ÛU–oâ«-éç›SmõfI´xÃÔ3Tµ „c0^…ç£Æç1æ¹RyƽMÕ–@ÌÒxuĨ£dSã•w:LØ‘b¢O¼–%d¿|Bz»e¥ˆôž/góDZ²^;aæ7rwwwt´75;ëÂòMg¼,(!»üvûJß²!+›%Áâ=O=CUÛ@8ãn«.[Ÿ(<_‹vIm¼Âj… r«¯âK1Vò¼»¸P©¹/¹A›¼ñF£êålÁy¤ÿú´¦h£´A6©17^~¼+GŠy&€g½Z¡J©øcvö+”×€OÍsWW{{›«ÉŽozã-{5[£Ú¯fÉíuñS1ÆWWJI+·)D•¶@à* oê©¼Õ ‡½®X™°b»Žç Æ«7‰4£ã]vÿב·Öï*N\¾…ŠW -zÉo¤16WïRíeQPõBð‹yñòã]9RLs9;¢Ëý7ç +¶²ô,‚ù+åæ}—¿;;ÛÚZ.{m¾éŒ—*O!„ɰu…¿YÌ&äo•SØv(}%[NQ6…zCil®ˆW{ ø‹U;D8,³¼£i;„ßt&Å›pþòBÖ‹Ç¥·t8 Y/—xŽ¿˜%%–¼œ%¦˜ú¥äŽŽ–·Ýa Ç7Ýñ² „å[ä·[ò—oñE$‡¬J‘ãeÁæoQÊa[Cõ¶Õ£^%‘â t@=¥·!ÂQgÞ²\Ð`Tñ*<ÃøsÍ <çd¯…ÑáŸ\×C±Ž“y}PWC²ÇyŒÝAˆÈÔ ¯ÞÃë¡JËÇ\‹ô“”¿EL”ŽqžC¾ØÜ/íèp·¸¶š°|Ó¯:(ú‰A)[äŒYùª8æ/-¨7…ê­°J‚Åëç€zjEç G(<ºÅ’ý›L÷ÅØ¸¿& ãåÇ»r¤¤€ÛÛ›ÜÍ6{ÃÉ0|C¼V¸lmVÖÚ2kãÏÃïˆ7e†çâ‘Òœnos5»êªÄã½ñÆ-^‰ç–Æ ž‡?ÞoÊ8 Ï[Ü·ÛNnav$¯)„&v°W×:ÎÚ¥m ˆ7­âÕÇó¶Ö†¸žæš" Ã7Ä›ì¯íô‘‹r]øù¡†ÚŠºÓÇëO—ÓBòšê_[SzòDÑÖO?¥¸º<Ä›Vñêàyyé¾”|~M¨G’!Þdw˜xíõÅ‹ŸûëäU/ÿíƒ-%û“Ýå%ûÊ‹ÿ¹iÛÖœü—ýþ­žn7âM«xuð¼%ž/‰xSáâmr§×_½ñnŠ=_rùþ§»»¹¯· ñ¦U¼úxéáÖæêöÖÚ.³·§µ¯·ýLoÇ™¾º¿¿7vV}QçÙ3gú<í­§oZÅËx~xÃ0œôÏa†SÃà9 Ãpj<‡aN ƒç0 éa…çÂ׊ éÜkçTõ“æóZÈñÀ0 à a‚ù÷wI<¿è6p‘y½¼`–×G`ó¾î2ólâ7F´Ö›YTD5_~›¹—#ÜæÙ¬p™yÑ™||¥ö×™gÿaÌüO0÷ŸêoláÿÅxþ•7Ø+ Ã0œäþÿ¨N½% endstream endobj 227 0 obj 11544 endobj 229 0 obj <> stream xœVMkÜ0½ûWè°#dÉ#ˆw³ÐÞz(=µÝ–’´$—þý·,É›uš–%²2ž‘ÞÌ{YwFýnž”V­Æi{GãóWõáFýlŒ¢ßó·Æz~ ø‡nøÄjFOñ{Pß›ó .-fq¢ßçÇæöÝ£Sû_ꈯóòó© ¸­ÎªÓu{À¹S§ó¤M<ýhîO͑ү¸»ºañœ?N¢Lˆ­™ôÈ£‰-LÆG˜ôL3ð8G#VìÖÇÖNÚ³sOΖ %:û™âÖöä·l÷¸·vlݓֲ:~:½¿–Œ³˜BÉž³™`3{Í}.Ò·}•¹ ¸'|Aj,ŒK/¨Ið=c–$\t«,Cy‡!°Le )×Ή’e¥z‚ò† 69]°$èw%&+Áæå…Ã*(m8'ËF‰¥b}ß9©äŠåt æv46 ã8¿c3g"'º±<À€+Wëg ‡- G®ƒÀЇy#ÀhÓyŒ€JóŽS@ÝT+ Œ=³ãS}ìž>¥4G)*å;ñpVxæ…GÈä$™»B û‹½'xÿ·ùíQ_$*^X”å'Ø¿z6`þådÀà/xÀÆ0®ç"§$-[丈y[pT<Æ]åYJ%çt¬ÑÔ¯ QPÚi#ý+1J+Úª™ºþzLÒHÎq;ƒ6÷5òuT›Ä^ endstream endobj 230 0 obj 755 endobj 231 0 obj <> stream xœí xEúÿ;‰(«ë‚*ŠÈ!"A$‰ Ž`„€Ü‘@ äRQYôÏ*‹‚Ü.ÀþP›@ Ðh€„„\$!0¹æÈ}ß ýß®žžž#“k¦gHê}¾O?ÝÕÕÕU=õé·ªº»æ³Ï´Œ™i31ÄŒ½ŸÈË3•™’Ƽ“ÉÌQ’¥ÍülfNóŽ’™•…+³ÔšžceÊ·.ÍPY‘t/”ö¥ó"’ãr‚’[‘s+°É…LÈ`Æd¢`7•>&›y3F»Z}ÆR3¿ W› ÜnQiûuÖ²OÿÕó öÅ-¬ã¿YÇìðm(ç¨7w×+Ázd$«‘Å/ˆñë!äW–õ k…¶ ¶€ ò´[R 83ŽR–¥4dÛÙY²í’¢ö«îÃÏ!àÜãKÝ«F€6‘8êü¬DâM‚$¹“__Š7I Dª ¨ý²:3½„qŠ¡,KfØ®v¹Îx¦3S’mür@Ì¢<"àÚ.°ÌnY5Ðͬ¬³[Á‚È:,…@²BÛ-¿nĤ2(›%÷­G$?äw$?"‘M@µ­_•©_‘ͼ2fn1ó·œY ›|ȼ|^³rq !ÞÙ|ãB@S3×XÆ9…²,ñ,OˆdÞ‘ibß,Â5M„\×#Ü ¿» ¿"ªUïæ¢æçØÌφ¦‡D¦+PÞr^)Ñ”4”g*ÈÆ#…Ÿ‚C+ÂH €<ôÓõWʲ4Æ ¾‚?°<%™—gh^ïk$.ÊÃ8â»´u)‹Ê˜UqØÚOËX¸=Kž[ÓÔµð«TûQ‘Œs‚ µ ôäO樺ÔtŒ¿Ú.×q캖éð‹! hÏU r§²~ Vìp¡Ã噺p›²:-%góʬuó”˽ò…î™óßÊ|×-sîHPÆ,'Pú´WQS¥zôMÝ=zÊk‰1 7ÉÇ?±^õ fú¥,KcL¯C†XÎ4ȲÀ¯a%÷”J©E±Ð³ ÕÕJDÚ¥Ö&!oÈÐ`†º‘»åƒ‚ƒ[ íÈÿ-«³7foðÏútaÖǾª5sUkæ¨VÏP®˜¦ô”ûËœ÷fª÷àè1=ÏM$Ï®âY~!+Øcë-]ÍÛ„Aw¯¹s„íhdù‘âŸü4åokï<¼æŽÃš;®Kyì㔎ëï<²&Ùá£dfEb»“™•‰Ì:%³0Q«…¦«§z XÆÞnºšât¡ó u#ëS¿Âû‹Ž~—ÿý—¹ÛÖæl^‘ýÅÒ¬ þªOüç¬uóUÎV­š¡X6Y01ó]×´CcÆ÷=òê“X¯€åá”e)M`Ç+À)/¾Á,¾ÅF3KoÙ­ˆ±_ë·˜¥Q¸\5j·œ ˆr;P^06™)‘ÚÕwÄÔ/7ät=¥2PP7T«¦Åû·äíü4ç«åÙ²Ö/P}4G¹r†rÙTÅR/¹ÿ¹ÿxluÏ{3cÖðÔi¯ÅLìwôõ®X¯ ³ ,?NY–Ìe¸…¾C^îº)K ‰I ‰M‰IÆ%* C`3&é\Tbð­¤ ¨Ä#1C·Ä1ž×­ºuMÕ ¼äZ {d Ô,+—MÎݶ&wûÇrEÄU Y1C¹tŠÜß#sÁ˜Ì¹.3‡gÌá%ÿ;–îí(›2(vÒ€cßÅzõz Ï2ô—)Ë’óôE¼…:Åàhö”4.¬ºb}¦Ûzi³¼¦D¦¸ìL–Nåq?Sò5û>ÄõU‘¥|•ÅësSd‚<{Y¥ÅÚ,+xdá7å@›9w€œ>í5!<}ò˲Éc=ôX¦~Y*C–á²âNÍàª8éÀ+„Ô±ì}ˆäw@,ãóGáå^ŽåÔ¿{¤ëFAÃôXÎÿÞs§ÃDÂEÒ]ÙF”Åî–FÕ0¼¢Œ‰ólñ¼™@FY–ûÞ16­?ñS}8G¨3™ó]3g;gL]IŸôbºg¿T¯±ý޽Ñ%,¿Mý²”¦Å²—œ lkÁ{÷Ëþ?ܱ󊴛 Â^3°¼–gY‡ßúX†MûW6v@.òC!Åô°ñ½ƒ­ŒSçÙây3)ѵXV­§úØ—«f*§ ÕzÇÂzºG¯ô /¤{ôNõ|)nâKÇßxëÕDʲĦaºKÓ\X•¶#6¬€}·E,çâ›{–“ñu>ò÷)Åç,øÞs×ê²^¹Jgod‘Ö±–É´ò ís²«(#—ñÇ’£D‘Cw?\k—ìL¾¡4Ët2Æ9e’çúR—EÍú%xç Jh(@ÆìªU3p°úƒÙÐSV,›"_¬/Ð^ýÅÞGyVÓÂÆwÁ8oh>»ãÒÚí\añV°’布¤æ\pð9ùçÆsäSvòO‡.ä,ìå¯ë9|9¡ìDDî°6 #ÿ+™gÓ áÓ|%F+c¯ÄîKWçÙP \«£ê{î\?ÂQ¿Ø[œÓF±œ£-tÓP¢ŒC•K½T+|T+g(—û('ã#‹Æ ¿±Üg€|J¹ç rçäÝÓ'õH×ãÄÎX¯†'ñ®ür§Í檾ÔD¦Åòô.¬Q,/Ýmën7¯ÄÌÄ·î™528ºì`ùÀƒßuèrÄÞ'ß=¨–ó˰«ˆc¸€ðÒP–C¦÷Eˆ£õµ¯:M§{d378Lâ¹r’?ˤH÷“ré÷ž1¦¿×a‰áÃÇŒ¿Ù }\¥•¦f3îG‘˜«¢`[ö`è›åüÞ¹*ƒ‡¯×»˜”L'MF7cš<¯Ž2˜B”ûñb~SYå®S¢é%V* Ñ… ,÷Ûý3ßuS,ž+—MQz eUú9“•ûeEª©=TžÏ(=ºfŽïzû­Î§ÿŽõjTâ<0Y~òÛ–TQj4d®9²œ íd.¬AAµ+w„ÛNÂ/ã8œAÌgj–Ge/ãñ}È2NÀM÷àûË{¦•ïS±GíçU…²™ËöêùõÓmæá!€Ï“KZïZC„½ó³øø#2Äw›qGj¸ÈÅCî§ñG ŽÁÈ(uÆz_¶ÇÍr5ËG݃îJ´±‡4òSÞ°çÓy¤M4æBïŒ9ÎòEîŠ%“K=…:£ôKé7Bå«ÇÎò|J5±sæØN‰o>~êåG°^¹¨§tʲ”†­ d™ë4Í-í©æt}V·r÷5Ûi7íüñCWÍ‚*fc­ŒM 4©UŠñ“Vsj–÷:L«V³|Ü~·Ž,_µ×Èé3qšäœÕ]6:Œ*Àd‘åx!&×~>ê0œ¥@ë0?Çðáþ%8P{åDÆS¨jÝ…¬ŠÓÔ͘(ÏÜé ¤]#ʌΥ°>ÍI Ú»…“~.}ú뙾oÉ~x…ÿhå"å'•ïì9/ áYãÿ¡p{ô¶S‡SýÛa½‚Ep|…²,ñ,OPâ@ÓÜâΣ¶utú²ãð¯::}Õq„X_ê艡ÙÎŒµ ¸² ¨1Ÿß—i'.;_Œ/ȸ¬̱üŽˆ ˆóC¿ X€w"rYÅê¾Ð‡CÔܽ¯‰¼'Gˆºeo‡.{ÖÕw¸8òý}ë®:ô½j8M­ŒiçY?qn•éãà¦áª´œWkM"P×j¡=£’™Ž¥¾7ªkš×ÀŒYÃç²+g!DáçªðsQ,pVúSÍœ5«_öŒ^xYÏïÏrL>êáÛ¯ÛŸ|ÑëÕØdyX6¾1BY–ĸ6v:N¹6§†°™™e;[a7Oi÷® ÔnAV»EÙíÞ˱_¨h·HÞî=j‘61dy] "“TÔÌÜ?ºh5;Æä`x@’8¼C—ïæB`ŽÃK°~ž»!0SNð{_úƒ„`à&V¦ýþ‰&>—f‡7’lՑʼn੧;\ëŒ\~L“ËX=yR]qA4©ùÕY©À9¢¡nÜñ4³Ó¦:fÌ|#sŽsæ\çÌ9Nò9oÈç U̬œ9@åÓ;kjwh`ƒSV¹uÈt¶OxÕöD–° ®Xvü“²,1OG ,C¯º½Üä0Õv‹kÚ-«n¿¬®Ýr~æ2/ ®™ý&P#[½ Ül 0’{‚ć·$êFâÐÇî¸v»;±ï½É¯È¼_Mõy-ÕÛ1ušcÚ´éÞý2§ôÎôì.Ÿø”ܽ“ÜõÑÌ‘íS‡ÙÞz…9Ò“Áz5±q–i[*Óa™àŒ,ûW·[RK&aCõX6޳©dÿK:žÆå6ïpe¹Y8Ëóê"ÇõÖ)bä3Qn=¢ÆöŽÛ'jL¯è±=oé3ú¹øÑÏÄ¿Õ9aT§xçÇÞx8~ÈC·Ù\íÇü:¢;«Ã2}&%‰‰Y&3³×L¼s»€*]¢Wðžº>M_͸Vk³aláámAÛ w—ä'DŸuë{¨ÿ£GýãWÇŽ‡?qxPÇ£ƒ;Üé¸ãã§=zzà#A/;œê×îT_» mŽ÷bŽŽèžµp{eYzãXNX&Kòç Ky¢‰–ÔA \_¤bŸn=²|?Ôú¥5Æ€ÙÏ,_¸«¸á ¤mòÜÚ…[‹ìß.Öô—)ËR™†eîKy~Ja¢TÍ â™6ý«ÉصXP+ÔCµV%‹:¶ͪâ»fTò¤|Ê™é(Xñ.e¼Jù%YäUÈL,À%Ù ^˜8bQ–%4že'n6 çÆ5ÊÆ-Úv4Jø"œtÂ#CóéºþÄâOç¨ jLª ?‰ª'K®)øÅ ÈY­‘Éüæ(µH,‡'¡†%ò¯aà ,¡RQ–%4-–]£eghƒ"PB|ÑV%R(ë‘•ÉŒ…%ïpÒql©¬ýkÉò¼ïæf%RQ™VŒS2Óã0Óéß–®æmÂ(ËTæeYJ£,S™O”e)íaÊ2•Ù„eÏþDY–Æ(ËTæeYJ£,S™O”e)ÍÁ1‰²Le&Q–¥4Ê2•ùDY–Ò,Ëò§ß‡PµQ–­ÁÚ;&Z–eK_j-µX~޲,‘Q–©é˜"¿öVjÝõĪ?b+B£+A—nV\ˆ(=£<øzèlxÅ™¿ÊN„•¦(púó²œÍ®^Í~þ¹ÉŠ×zÍJX¾¹s8Ã0tiÁ¥P%ä´ìûÉŠûqi5(úníÍ;uדêÂk@a µWck/Þ¬¹VšeBq‡,ðkÖ˜¢²·r³–¡:9„QYJpý…*@N̨½u¯&_K¬ ‹¯ ‹EÈ¿E#Ëà¬Ys°,¦˜ˆ²Ü³–Á/X¼>·e‰ý24­‰G޼S …Ç׿ÿ»Y'X¾aj¿¬O±EX.+cSSY¥²á˜ÖdVÂr3ýò¦ŒŒ¬Œ9–¡Hì—-Ãr}KÌrr2;v,kgÇŸ·[7ö[Ñ›£F±óæ™ì\þO?™,5|&ÕË.ŒØ|OÇ3âs—Ï£Ä+fõË”eIì—C£+±ƒ|—ë 'Ô~/DÖ‚B"kÈJÃ,LažÝßËÆ)–’epÇÏ>ËöìÉþø#{ù2ŒäÂÙ¿þšpþ<ûÇ&;ô,7IcPS¿ü Hì—/ݬLœ²Çü/ˆ_a„s8ƒZÊrc(–’å“'ñ\ý¥8nÛ½»YNgq–9H·p>Z ,YçC.mU»s—o.á.fÄÖˆüòœÿ•«3U~há47,‹ ;P_Ç2¬ˆµ4œÄ~ùür€÷zb`Kt%¶tîfBpnxì«>–O±Y¥c§Oc ,Å&“±W®ðëÓ§³«VáJHûüóìÕ«ìË/ã!ƒ±÷î±GŽ [·µeY…‚?¢°^^ØnüqöÃÙÚZ~—˜åS§08®ÉÌ™x}šn ö—uÛØ&³ø„žóÕbYoWC,kùå¹ll‡§Ìø¯Í_ A–“Â`K=u³$öËË:8 ëucYv¾Ë<§Í²•Plåª*vÀ¶}{vÆ öÀ¤XÇ„þòñãxxŸ>ìæÍìŽìO°²}û²;w²_~É>ü0ëç§öÉ'Yö‡Ø+è>ÒeRƒp__Œ³mÛ¿?f£ªÊô,òËQõ­·¤¿¬ñ­, Ó䡸˜íÔ‰=t¨1üŠÍJXfòúh|î&5¡g™úâ–Iì—ƒÂËñQ²HÈ—bk.Åò,Ÿ¬>Ûð»"z,[ÑF À';f kcƒ-db:,«T|ø×_³=¦960<˜_‡h_}¥Ù…!7oò»€e¸{À)^yô÷¿³K—6cΚ×_5žù‘í¨oF0:, ƒÞé/ÔMà;Î:„B‹ÚXpÍuŸ-Mă+±_>õWùÕØÚ°~ÇÆö…¸ÚÓQ5‚Nݨ>^Æ6øLÊÈ·'Zš±¯ÿþ—ýÏt?ÿ3”„ë:,«ÿ XîØQsˆËûöiv¥¤`HX¿ X†F%¬ÀMRëûý±L&c\¾Z~9+ñT@ƾ æ±|–2bsõZÎ\³Ù`ˆîØ×>·4œÄ~ùØïå¿EãË]¨x€åàXÔ™[µ'"kNܨ>Þˆ÷¾üNª1DKò¿?6€‹µÿ­ãÌÌÀµk¸Þ<–¡.XPza22FX†~1ôзnÕ:iAA3²ß Ëf•±çËú-gÚ–6›Ä~Yj–‰'Z–oÜÀ1¨‰Ù,õÃhECÏ·kW~$ªy,?ù$¾‚Âr„ÂŽ¡ÙEúË“'³]º°11|xHkoo …ÐY Ëž/S–%”Ž_¾‰o\_‰Áw½ˆ › Ÿ»U‚6°|ìZÕ©?ñÞW“¾_®hÉÞûÚ³½$ 4`>o‚€ôòe~oóX8Ó„1ô‚ÙøxÍ.Ârf&Û»7ÞFú÷DZqpÜÐä®®njÞ->Ɇſ¢K¡Jüz¥4øFUÈÍ|KS­(¸>Í zÊòñðŠ“aX™Mÿm…>ÑR¾ ݵíÛñùhï^6?_³ Ð;yWn߯‘gá±Ñ_á£(Á‚ƒñ@bX`ùrvË6/O RˆŽæ×+*ðe38ãêÕì‰ìýûÍȸ•°LÍzìNFeðŸE篇\+›gÂˈ i @NÊÀ×{ÌõÍ£˜è÷;)ÆÄ/w1Ê2µšyç" D‹½Þƒe²Ü~0¥ªŸå»m}Ž è_›ðs £fY–©Z·(ËRe™Ê|¢,Ki–}&EÕºEçá”Ò(ËTæeYJ£,S™O”e)ö—©Ì'“±|ø0¾‘EͨQ–©Ì'° ÷ïOiW¬0]­oFY¦2ŸZIJ@1e¹!£ýe*ó çû28qÓ¡Ø",ãÙÍúöÐRFY¦2ŸšÌ²AŠ%f94'ß³µÅ“ÚØ°NNldd‹„Ã…Ù„Ìi–[PBRÔ'ƒ}Öïí9ퟰ„u±xU¤yk¡šÀ²Š¥dùÿþ¿=|ë-ÌÏåËìþýì‹/âLƒÂÇÅͰ=´¦ó2›5øm…YçÇe+o¿ø[©n:øë…0YšìøoáïmþB öZ°* y[ðÿöÿ|%9%ù× úyˆæ­‘jË R,ËÙÙì£â$œbËÉÁÉÆŒi~²Ï?o¥,›t~lT<Ÿ÷ù].OS*3²³¹¹Y¹g~šµáì5A¥jb#Aœ7ïµß:ššz'=ýž\ž®RÉ!{§¯DÎܰß4yk®¤Î[³®a,7’b¢Îqi†›ŒÚTÒ±¯¿ÆFuzºnxPÎ_MlÄ­ù|V­ÂI³‰<ˆÿy9„ÂÌ™ü‡Ïÿ¡‡pfla:‘à`öÕWù©°ßyG3‡‰ŸNR´y3NYЮûÞ{øQóÂ…8C/ÄlÄWŸ ³lÎù±¡A~D䢢‚’’¢sa1°W¯ÑÈÝ(šT¯šUIÞôa!Ù;ûG´NÞ\ßi±,7Ó²Ü$ŠÍ'óñÁù=Œ›Ž“7'‹‹C<}}ñ ÇM›pÞ02 € Cr¸x‘oÃïÛ‡ósvé‚×Ìi0iN¥;r$ÎÚ·d fÏÑ‘õöÆ9 `ɨgük ËæœSúwд& §«îN9ä:þ§˜Tùв²’ŠŠòÀ­Ç Ž^¥ò]ìR¯£7U=„óBóÕ ,pŸ)++ üæ¨8ošSœðmÚ­¦é²@ÞLÈrj*;u*?¸dU,»¹!JÍcùÐ!LL× vìÎê©PwÈvÝ:­¡oñ!ÐüÞ²E+ÁÑ ³ËîîZášÍÇÓúÇICÖR–[6?vÏiÿ”¥ÉHÓ<ò[¿¿9,dHý=úìê WWW•”•CÑ!ÐÀæ’ü‹8qä{z!Y]w«ó&§$× d¯¸´Lœ7!AþR?d,à@®¸ÃÒI‘7®/£É›8«vî }5žèÙ³qv¬ÐPœ.ÞTÒ±µk±gªÿç/&pTT¤ &ØÜ¹<Ë,÷¯ÐÉ}æ>ÃÓ¦ñáâCvñtÙ`NN삸,Ož¬ –ÅÃ}æf¹Åócƒï8þ[8©Ð´î÷Ë‹/x¾Ó·ï ß ×ÖÖ\¼‘¤å—5éCmÔ¸6‘Ó±õD=!OÔ¨ž#×fø³>Xjjª/ÞHÔò}BºmÑéÄÚ—«I²@Þêkµeb!Z‚qì7ðDÐ?Õ1 ú¿e8±?û ZÃPàI ËÅÅš 6ÙeË0)r»³ ë+Wj¯«ÃAòO>Áuó³lVAŸî½Í?“Ú}dhZ÷ÚÕkϵÝù%yr]]ÝûÛNˆû}¢v èFÑx–›œ×ÿËCõÁRWW«“7ã7=>D¸§E4'K–Ì›YY&fœhiž/{x 5«55ø¿66ì§Ÿò!Ї}ýuÞw‡…ád¹„åM›ØGÁ0b'N`žj°ž=5ø¿ÿ>6Å#"øMhCâׯãúÎ2=ó{WKHm$@¾‘¤3«Õê#-=q½j {oÐ’¼¾iý¼éUo½Ó‰2¦Û%iÖu3oÞôÛØæf™X}DKÃra!² §{ê)|hÕ±#®ûújþÜmï^ éÚÇŸ»uÃç΄å‚dö¡‡pbí~ý0ÿÐü&æâ‚M÷Ñ£ùô!YhiC48@^¿žö€³œË='µáÀ¹°}ç}qHç9©vRû\#mE!D¿mÙˆÚgŸ¹aÿÙ?¢õai(oê:¯}ºSê±#ý.I3®›y󦇌}IÁ21}¢¥|ûâEl÷‚…¶1qšb»p+ƒ¿V*qºlašMhfïÙƒó`ð{ö¬&~j*úe8¤œû‡ñêj| ŠNYœøÏ?ã£:ÁvïÆ?° ü>ùœúÍâ, ï/n=váZBIY9ô‘¡‰ØØ÷— 6MôHH“·oކ„Ç—–A?´ y“æºY_Þ5Ÿebb¢éwR ™ÅY&jþ{Åæd¹¥y³æë&‰ZÊ21B4ø5jFÍJX¦j•2 ËÄH•ZýFY¦2ŸLÉ2µ†Œ²Le>Q–¥4Ê2•ùÄŒ¼ËqópR–%2Ê2•ùDY–Ò–þ²—ŠÊ„‚ÚEY–ÒÚ«Y¶tF¨µB£,Kiíi›Êl¢,Ki”e*ó‰²,¥Q–©Ì'Æù.ó,ýÏV‰Œ²Le>Q–¥4Ê2•ùDY–Ò,Ër–2>Sv3íîõÔ”k(%áªù$œŠ“~ï” J×ÆË‹,›ä¿Ô©5Â,Ë2TEZôÚ¿ôöÙÈŒXÕ:ÔÙã“EÿúI•jãå¥,Ki–eîçP±½×¸ÕzpÇËTP¢u;ëû©¶V^ʲ”fq–ÁC…ÞL¹ßª¬.ôæ(W^vr//÷ý2eY"³,ËÐÕ‚FZ]]-ˆ³šV ššêòÒb(WAž¬——²,¥YÜ/C¨F«j-ª,+-.Ìφræ§¶ñòR–¥4k`¹²²¢²²¼u¨¢¢¬¤(?/[a„å¶S^ʲ”f ,———r*i*++.*ÌÉQ¥aÙêÊ›¸ÃÍmG¢Ê‹sÐw8¥2ë`™TŒbÓ*q—›ðÏ n»â0¯´\„óþþyŸ´¬¬¨¨0;G•f”å”—Ë6oïŸ5M¶Å—Ťå¥,KiÖÁ2T ¬&Ôí]®ŒÛöÛüfÐ2ç²ÛÛÝH ¬0®»n›òŒD¥¥……YÙÊT£,7³¼X(&ð¼zóü2Íz‹$\S——²,¥Yv^R·…Za:¼®;D! ߺ¹}› ,uöšN%%ùª,…1–›[ÞØn²°ÓUí§¹½\w.ブ D‚W@÷3”—›ï‹ö—%2k`Y¨&SoA\ _iIx”iOZX˜“›“©ÈH1ÊróË+.4- $HýÊ5p±«†eíòŠøRˆ6CLZ^ʲ”f ýe¡V´dådgÈÓïa¹í”—c™ö—%2k`™«Ù­CùªlUZfzW·ÓÚxy)ËRš5°œ›£ÈÉ‘ƒrQŠWP„,¬ØÉ©wãÐÿæ§·ñòR–¥´öƒ-ÉrƽˆÎŸ„þu=]–z/.í^<¬<¸‚üËRbîÜŽQ–¥4Ê2•ùDY–Ò(ËTæ²L¿­Ê(ËTæeYJ£,S™O”e)y* pî8YNˆnÿv¶XŒ{U3 ¿üeY2c:ÇÑ Ô~õŠí×–ÑÈÏ•ñÈ:'2¾W7©ýZj :'2ªNd\¦»°M‹lü7jÁµj¸¼qå™ÿP–¥1扽p©©¨Ì*KWó6aÿÏwþÅ endstream endobj 232 0 obj 9286 endobj 234 0 obj <> stream xœ•WKoÜ8 ¾ûWø\`¦¢– æ‘Ú[€öPì©»ÙEÑt±½ôïW$õ åÇ$¢8–D‘?~¢ÕÚ_Íÿ­j*JE‡*p-ލõ2öˆeú)g°áã¹dÁEÇFcl˜0¾RÞhŽLLn‰,ãFv°¬dI9“ý o·°Rþèdì6ŪOá2¼Æ2!—¶LÙnn*ÃÈN¹Šª‚PL :\È%ö m~;6ç»c'Ò9¯)¨"êã‘v:G½ØŽ²¡}M($Š>‹MI¾È8¤ÀQm‚£L jËÃG2øXð™p´M .ìÎ(,ÈËs©ìú®’ˆ°Bq¦®µÔ\²¯¼,r6ç=«C&ª(™U7¥É~Á‘Ôq"ŒĬ(ÉqôE`de‹êDI2Šr²”« •b³/Lj¬|0©þhk÷)/‡5ÿ!#CùcH]![¼bqéê ©êPÀ1{›.’,2z¶AH”#$ñ†±…¿6^É&³hSe”D$—´î#«|È  9³mc°( k¸ŽÇ[ΖÂòd¥/µ+¤þ*JqYÒð&Þê~ºS ˆ/·åRJ7¬¶A‰„¹‚Ú‰rÍÎEˆUœÿó¦5oC˶æœh3öÄœûH™…ÀuKÁÖÔf) ºûnµ¤&V;Ë0´.Î&F°„§–Õ¼îº ¬5¯»…`éEØI¸uÑí`©8ÞG7O„à–—…® bŒU8|NoWþ¯¯‰8çÕ¢3ÚÕvnßWË'OUòõ¶d'®…†Þ=¬CëÄ7JLGfGöö–c Ab˰%€ÓG¬Æåg@V!=¯wÏÉ7§™<¨“¯/$¬ôèj)Ó±ŸË=§+•[ ÔÔþeÝuzX:¹ö`WèPL̺‰Ý¢Fn9VÓô‡r⣃tskÁB×å‹»*‘<®‘NvÛ û™ø&Z™§æêÇŒ¼|ËaÔ¬)J¤ÝÇÞù7`¼ÙþZŠ†Ô¢iÀ¿>VwúÂÃÿXæä›gö½äë:ù>æ-÷ïЮ8‡Ü‹ÅeD\î¬þ91<_{š?‘WÍJ½¾ä­ÉeZYÌñªpò{i.¥çØÂíâܽ›eÏío¦rú, endstream endobj 235 0 obj 1172 endobj 237 0 obj <> stream xœµXK‹ä6¾÷¯ðy¡½*I–l0†~LCrhÈaÈi“ɲì$d/ùû©‡^~È= Ãt·íR©_U}²j¡ùçðw£š£ÂŸ^ÓggéóÇïÍ/Ÿš?ÐÐß?Æ)”{;ÐçwüG1üÆ%Å/ú¹ïÍ×Ãë'T-·Eˆþ¾¼>ÿôf›ë_Í3>NêÏ÷ƒÇmA·¦¹ÿÖ|¾áoÛÜ_GÓýÛáé~xfCé/‹[ïÛ>Êküõú2*=™üt„Q ü ÓQà&=ª3Ý€ž?ÏÈ]Ð,ÖMG3*Ç ¾‘W'9ÈbÇŽäâ&ú ÷V–ï^³ ]FM¿ÞÞrÆê¶k¬²­KÞhò^×¼w/09\¼àe„+™>ˆéêʦX2ðÌV*Ïwœ³n|u“0a\ð˧Ŏ¢hHûW1];‡V¦èhŠÑÔŽË/ÓÑ¢n ÞåxÒõI’àù¢«í`hõ¦³ld}•Dˆõ첫¸¢¸ûI>ÑqÝᥠÀA³žbˆR ªAàt˜^£‹txRly˜ºLNÂdÇh½°‘@aÆÂâ:‰W—d£C’Í3ß¿ÏQÞÅ`ðž,È;i‰`´IÌe¥ì±6¥~Q =eta,V᣼X$7‡Pfv,sÂÆšÝò0k‡”‡éºE=!bN¡$¥áÑÚ«¤+ƒÄ¢¹árФë"a䊋•$1írù•»šì}H®äíB[$£ U“h´Ä1ñûM6ý!×O Ì£ xÕÚÿ¶’ßAMÊæ“z£.hõâQk ˜È´p›wKÄ·ÚlIc2…˜¾¢QÇ%ùÖƒž„ü¢…ô$°¦]’¾ÿí¨³õž ÀQ@h57´Òfˆ®TûŒñý¶¯{C,&jÆG |‘çÂu çöHWék=Üñ1˜û¢uë—6—ïG„“_ŒZ2ËëéH—rÀšº&O/)6í‘b—"Æ$ªyu|9"Ût¹÷žAÓ‡mÓO¡:øLéHZxÆù¹®ò˸™Å©µ,âý&êÖ l VäN› š{`W¼§³)Iåü“~I1€>¯se»ynþ*¨³3 endstream endobj 238 0 obj 1375 endobj 240 0 obj <> stream xœÍXK‹#7¾ûWôyÁ^•- LƒÛmCr0ä0ä´É$„„ì%?õУÛnÙÞ%ÅL[–J¥ª¯¾ª.ÚA÷ÏæïNu[…C¯éé,=¿üÚýô¡ûs}¾ü¶1½B¹÷ =?ãŠá7n™è[ä>w¿oÞ> j™!ú|zß|üáÝvÓ_Ý .õãeãñXÐ;Ó]~é>žql»ËÛ^Ápùcsºl^ØPúTqëý.dy£·×½ÒƒÙƒ¶°W‘Ÿ0lõúAïÕHø9 ³ YÌ [³W= ;6Ԡ®_?Í„3žè Xü>x ·@:Ò,´í vg¿ÎžüºCËŽ×=pä\‰xHõëQÉíá¯9ð ñލKÛh2K@8Žù¡“@ ¾´ì%Ê »B4Ó¼#ó'K-lÆH뼂;zÒÄ„t¤ƒM -Gûˆ › 19¿R¾Ll²Ê㈭æÀÊ hTJ9MIN†.o¡œ \AÖ£¤#‹Ñ$ŸÄ¦Gõpmäœí븡"DŒÚŠŠc2?04É$ÖhÎU¯á2VÍ}3 =Ÿ0Ÿº™ä¢ f%ë›}^Q²=ŽÈO­³Ÿ3Ÿu*aWÒÇ+‡»–ëØïô“ \Ïü§«­:âÚ·jå!Gºß³ç0f¯­!¼ af†î(¨x{›Rÿ*ß¶Ú*‹àf«¾E¬ 9­z*`µ@˜³|ƒäÔHHå'VÇ nÙ†Q¹pÀ¨â-[­ÁB"›šLÃz×¢…µó”(>åÚóˆÏÎ|'qÓê«£!V_ÙŠÞµÚ"µ‹õu–˃ Îàs$""(xÆYht›K"Ö÷hå%epaÂhPlsBi| •ôº â!œ>à6cðì©ì‡“T]_;phqÔDÙV=YÐtNëˆìÊ>-‰ô ³Dì âwB'W[ɬüš3ÜÚÜ{Y`Ä`ñª¨)v§õÆ>Ö?ßÇÒÝîc¹÷ÜÁ²Ür¢YÒ¢ëe'zæé*Çýˆôâ6õ£²©—¶ŽºEWfeˆ\E8ä©Í𨆾˜ƒ¬Ԍ̢½ÏkÆ‚:°0wXg‡’Ñ[¾–ÐYAº»ÖÆS[ÃŽ¼@ûåP@ä O¬Îósv÷YÌR–dt­tŸ²T4¤†¸Ue! éÖ|ÕäŒÒÜ‚%…¦­ÆzÝøI'ß!„pÌãȲ[ü»EJ›IÞæ+ Pår³ T¹‚AФ`®â\æÙžÄÙ´…†ÇÂjW1bþaxtå¾O{•ô’³¼XÏë®BYÓÌ <¾ ® E•×Qå-ô¯H´0hÆ–"ÕÛ[ WdÄJLW³kµ@³‰ç²¦ÿº²Æ=]–f!0Û;‹Ùâ’,Éij„æþÉÅUÏsVèµ R“¥ó ›sË’½:cå84e€YƒT0!Ì¥âßu•w%>3F´Èr·xJTÔN’C­–JÓ™fz–…³ù†¹~å0q¢¤ˆÖ¬6Š=©ù5ø¥ûÅL%L endstream endobj 241 0 obj 1220 endobj 243 0 obj <> stream xœÍXM‹ä6½ûWø¼`¯T’­64†q{6·†BNI&!ì$d/ùû+©$UIòÇì²Ð¬Ç+ËR}¼÷ªdÑËößæŸV´°·ÜuÐîúù·öÇwí_lÝïóï…÷Ú¸ë'ûÏN³í+ìÎýÅyŸÚ?š—wviÆIî÷Ëkóþã«n׿Ûgû8-¿<c·•Ыöñkûþnïuûx¹ 9?þl><šgo¨ûÑtmL‰óÁÞ½üt0««4s'¯bòW9wpOþºøûT_ÅèG´Áñßã W ~h˜;å¦ÚÁ(?à×ÌçI¿â@óâÖðÁZäöÜ~W¾–ó϶\ÔÊú¨&“"2¹ˆÀnD„Ÿ>ôSö‚‰óÊx§9š/nÑ{wæÞç1ü´½E§ÏÉOÂ×¼Öêá ªX2,vËf+ï¨ö!€©ô Ð+šóÝŽéE»òÙÚÑ¿¸Ê md¸ƒ¸w@­Î— m¸°åÝÖJÀe/frá5ºÈƲ“ )d?ÚùP¥C.äÙ .Ä*˜¼v@Ý3'“MBoZ½Kp ï">îuT"ìD©ƒõ†ƒ´×¯¢ž*ÏaŠ¡ÏÊXE”a (î‘ FÆP!¾0ƒ>`jù¡B2s¬ïøã¥×ÜNHvFNtcØw Š¡Â¨Äô9Ì)/8£Ï“·' v£*D?lF ýðQ15G ò€Áw STFÐ@E™P…3r„O6|ƒ©xjY¡øó݈bâ•ìM yÏÒ\ ŽGuà¶©—ꎢŒÛÅ¥²ªÖE$ÞD‘‹R„ÃI³„ƒŽÜÉ ÓL'S3]&‡±ø@Lª&sH÷L!ÜŠ¤"º 2äV툸u½@šGËw D!슈Â~‚,okEÛ­…ËXåøXmá2P?pRüHu0ü©ˆª¼f) ‘&Ý(ãw7J±Obä<|¢‚sĹ’dMY8Õyž ½Ù»Êq5¼¿Pv§r êÑ6N1j;© ™½™JHÝ/oû²€Ñ%N!£umÈ6d¾k~Ø*L,VBbÙÁ„ҷЖ:›§r4æ%!lM=©”¬Ë²ÝÀ¶H„RÀ ª3Ïy„ßàažHãÊÇX±×eA¥‰*IAÑR˅й[2™Â»>,ºa9¤­¶™ì¹T´—U¿yÀ%FϤ·(¯ÇìÈ’]ˆX¨ì p*GX<Î&JºœL¨*{ÿ‚Uİ!aÕ^§„dÅ€þëŠ oTéipeGI—ô 2‡ã̯ዌkK³%‡ô!Á¤-›P¦è¿/ oÊbÅä}=Joâ;Ç ¦KØž4˜r„:ˆ8ßÍÄ%_dã0’ŽI§å#Nœ¾í4z×Þÿ¤ãHJÓÖq¤B´Ê¨âA$Âõ*ëÔIß©nm`(Ï/¼„QÊÙi»n­yÛF[3HË“ÆQ K­=KÉ9l-ñm+2;‚hŠˆo¿y¹ÆµŽ¾ŒÞ³“~¤^¼ƒhÖa;:aà]uyt·­t¢ÿs+sŸ‘c¬y—eŒ5$¦™<.¤;&•Ý4§*”%ºò3yQ¹7)Í› Ã9öÜ~&$ endstream endobj 244 0 obj 1347 endobj 246 0 obj <> stream xœUK‹Û0¾ûW輯f$ùÆ'´·@ ‡¥§mÓR6-ÝKÿ~ç!G²g‰"ç=ß'Ù̿⯱fei[#¯ÁóúþÝ|y2¿ 0ü¼ÿ(\eIïRðúF?R£2Évü¯zoægq~"×*V%~^/Åó§‹7»?æHŸ¯î7§¢¦°€¥3§oæù@{oNçÎBúUìOÅQå'©ûº.›Aiw~é,ö®ƒº_Ag[Y¡_agײnDB_}g+‘x‘¨|§PõØŠ(ô+Ǫ$"p"Ÿc=!é ¡qOqœÀ$jîËÙþëéó½½£]c‡ rGp®#-°zݤŠÁKçÕ%Upq{[s^Ú†AJé9ɨ ·!š±v×q¨nZëÉ%Å 5³µ;q/Ž5R‹Mü> stream xœµWKoÛ0 ¾ûWø\ ®HI~†ÆI€íV ÀÅNÛ²ah7¬—ýýQ¤dÓ¯¤= F›¦øøø‘RMùßìOnò¡Ç ÃÝ»pý–ºËe‡ëõ{fKCz/Y¸?Ó©Ñ/-QOáWôžóÙåŽL‹X”Âõå%»ÿðâòÃïü‘>æ÷ç¬"·€…ÍÏ_óû=»ü|i tçŸÙñœ=r áÕ]UuÒGzº<µ;ÛBÕí 5 ß¡Ûakø¾g }u­)YâX"òƒ¬€²ÃE¾ÛÙ JÏ˶9Õ¶èG½äQðãƒöªmYÓ}>\KÑYÊÑÖ¶h&9¶¸‰‰á Ä ‡°L€Âq †Ò‰!K&‚™äZ‡Io„UÒYÀm÷Ý`6@á-+œ:Ñõ­í"ò·A7•ø$Ø‚ñdl°£ê­Á¾—«‹jΡ*†ÚDZH@½øMqÿg§à R¯)£:±™Ó ŽÙõ#Ì[xŠNÔglKè:—@“Ä’XÜ]NëMtš€¸¢ÐáŽÄýûÀéZ¬å(+žZ01’@¹p«9›Mâƒ/‰ÂÊ$KX+¬!¨:ÔØ :ŽÞñaø’ /b<–€O¬ðZá|™Ôn,v£²ƒ€çÓ‰Ãð\f¯Ký15¥Â(CÇ xå'{䶬Óû6µ¥X;5 A¶®bKóˆ9X;Þ%Y x¹Mi–i°.oFÚ² ó4¸¤>–õ*€kI<ü(4‹?sUØÑžÓˆq^#7zxµÑ5…ŸS›I&Ô×Kâà W6ÞJê {žŠ»So iÚÕ † ›ÁÊ n⾡ë='Ïj-&ÅõÃg]¢ûw˜´üõvËê^Ùq³\o:îT³¤'­µK,N1úɰ‹b§È`Ñ*¨Z¥œµŠê”ÝV«¬€·64äD2·ºbt“ÞúÂix4±,gQÞâ•o˜W+ÇÈûuæ,ºZCh@Ž¢.Ô^Ÿ¤2Ì Cdð»GrßàëwîŒà«gˆZÇÇ©ã#åæø0”ª²±:>ЧAM‡‚å!íFÃLé_¾q¯0L¶‡e²Lv±‡Ao팪ï$Ö^õEs]' ÖÄçI¥œÝ¬TIÿQ¨v U/q•<ÔÒiÆoº®3—®iÆ)W<ðNþ?†Ãò,99R„<Ü€:Ôó6ÎáØ \¦ž£âÆŠ”˜MÿýÈ™õ™b¨Q̼Z´¦™u×ÓdϯԹ®Ÿwëcþ°+$ endstream endobj 250 0 obj 957 endobj 252 0 obj <> stream xœÕYK‹ä6¾ûWè¼Ð^½eƒ1ÌlOCrhÈ!ä”dÂtÂì%?U%ëeËnwgBvhÖ#Ë¥¯Tï’–·‚ýݼ1ΆNâÓh|~ý•ýð‰ýÙ†¿¯¿5Êr »4ø|…@aI6¿žî•ýÞ¼|h?í‰ð÷ó¥ùüÝE³ã_ì>GøÇs〭­bç_ØçŒ5;¿ \Œç?š§sóLÅ_"×ε] —0zùqàrTƒpãA ¼§§ràô|¤øªniFÓŒŸ?úÂŽr’¦ÌxPH †&MfI'Ñ$ºÀZ>ÁŽAÄ5ÇR|üéü}MD%Zô¶­:ñ2"nÓp…PPy-ò°ƒx”ŠŸ@;È.!?³7¦z Z­cÒê¶gBpPw0õÍvÄß ôÝd6i&Ã!؆Ó̤0ÀJó®°+Øé8ÜÀO¨&¬âÂÓ+®'}’‚'5{í£psò~_F†f‹^1­Ö…Ád‰qD’\qaT/Z9‡–O¾VŽW ŒCT¡ü~üÞ‚ÀÉmW§àŒý :pÆé£ÚÞ¾Ó­~§í× ¼aƒ~{tp¡W8ô(ƒ¾]ã² øw"Ô r €»taÊÒ·!¾kÿ/ý;í¿¥\4Tó-/Çu!äU!¤† ß!Ä&w³”¿&*PBïÒYOêQ˜¥ïIIr“×ftSb„5÷Ý|F÷ˆ‡\@W"×ÓùåŸâa[6R“ì9Ô‚ÝjªFÚõ™ÿlíŠhPÁ°UdCÍ,ÐÚà8Y‘\rŠóªDõÍ(gÑs&YaeÑ"dtEýO~2µžCÎ I¦5DBÎæ™ùödè÷¯)„ÀRé×£ãG'Út§@ÑÄ}ÖœEuЉÔ$‘¤Î.S>= MºEÈ'›¢RQ$*êÔÖ|ëiìBI(zF°ÎÁ̓;]ŦuÌ.ÛlBHµVˆ·:,å³^Ÿ9¢+´«Xnè¬ú¨ô]]•äö½jzÊ D[)5ozé]͉èúvÑíÞ'HÊ‹–#0“Š{ÉfS,ˆ¼]å~‡X5(—ÕèSÙ1îK5y#è(æåò‰lž—sáä :Eðf‘à_R+“ËŸb9È2À•¨ƾWçS…ÒéØ4;’l¯éÜÎ b¯éfdòl¦àZ§ÙjLåéZ»Yæ´¨éEŠ*ßT ·ø·Öcn†‰0ã¤"aÞi®©y‘q§6îaN¸Èa‰ð®6RNGXdS +}‚Šmd76ˆX¹y Ù/[H¿™Ù ä¶0êô-ùëÛt—ýd±¥¨ˆ¼æ-W’`ìsßðÓùé€rƒÎŠ }ÃÏ€JuïuQ—2§ŒÙ`Ë®Ö}䣿]v­ˆã´¼>¨œËV{Ë8½í¸·~ ØeG8\ßІþ¿vÜ<óUùPG>º{Wœ)­ðVZƒK8°¥s˜õ7ï4¨u¼y7»nÞ£î¬î˜ê5xõ¥±F0Õu0~eV›lh¦ÿ®±–GÑ[pžËô&{l0Ø¢ÒÒòͯ{m<åôÆrÌŒM€ºÄ7  ¸|«l¡™A)„Òaì…‹ uΠd—Cæha¯:Ûi·ÆË77c=¤Ï—éMÁÉ.gc´}ñ÷VÈ“³#Ïì7Däi endstream endobj 253 0 obj 1298 endobj 255 0 obj <> stream xœí XUU¢Ç7pAŠ[wFKkÊ+Íì1bMÄ PQÄ@D$‘D òU©=¯Í×­¦ Ç×ØØ”6__Ó˜LëÞq¬îL·)ì ¢¼Îûð~©(r×Úkï}ö>/çÀ9pþÿï÷oïuökíÅþ±öÞçìóòËŠpÑ'}æå¸Ùg(sKb+¹ø*î 5—¬c¯>+Œ\²{BÇ-5Ð¥"‹MÀMÔ7¤nÀò/_y,Ä14ô5ZÇhø2Ê—D×p³Ô2@Gu´|–‘{´àe;ab XÝ:l}çˆ-]¿úOÊ¿íºë­®àßuïìš¶º‹òè»° ÀÀã Q@ÿáöv÷Z¬‚ Jzµš":ñ^Àš+D’\ð÷Özô]f zô]Ó4lãU2¥$ɱ¯Sˆ'ïÉ1C„ÉÀÀ@ŒÄ2ѱ~—)”2¹I0ã†ew¸Å-\ˆ¹3É…ÿÈÅVsñe>i&·ºŽAlé—Õæ—ÝAœÉmèô[ßE`ÃäU*d¬0`ÝUÒeSà ø¬¹ ¶ç™‚˜>¾i—üÒ[ýÒš|RÚ¸åÍÜüë’f2*”¤Ô ,­¥¯¤$Á(œž“ÂÂ.â4Zn6dôIî‰ 3É:.ÕÀlI<É ¶´}—l’DZ (OÖRV˜|VÉ1Þ%Y¬¥$hˆúñU”ØJ‚OL97·œÞm‘n¾=Nù‰»éSªÇÉßÒw‰!ãËd’”<)ðT³©puF®eà xD€ð2ô_T³j‡AS{¹«—YõF¥ØI.4ꑈ‘pãûÂ@øôþµCJXX‘– ØMídÙ63o@?!õåÃØjÒ'\µ]×QUnzsƒakŠn]‚6#F³*J½â1õ“‘êå35KCÕ‹ ÄOªŒ™P>sL~üƒ %«^«à‚¿§JœxŒòÎmRmÓ’ebÔñŸÿÑ)Ü(õiÁ@"ýÍ€„¯w!µ¯GrÊLzƒµo=ÓðANã‡;ëßù­é­MÆ×²Œ¯¤^Zex>U¿y¹~s²~S’ný"mV¬&}Ž:åÑÊ„Éù³î8=Ic¼$òö¯©¯œkÓÑÐ<ß™Ô×>WtãKåÿ¾åì5›Ïn>{ÝÖòëŸ/þÂÙk7—>WÆ­/ x¶ŒÛPÂmÕq«J]k·à ¸]^ ½ŠX-º±Zº¨H ix)­ñã=Mß©÷õÚí[Lo®7þv­á•tý‹iD’†­+ôÏ.ÓoLÒf/ÐdÌS?Q•4¥`î„O¸‘ÌK yïÖ†¤—(I2ó'.ó—•Ï­=å·¾À>Å­UÑ×lUØ —¡Š<ÐÞ™q?åâOÚ8³v{WÊkq»+¼·‹Â;¬(§’‹¦Ëé7.&nlØÿVÝ®—Lo¬3nË0¼°Rÿ\²nC’.{¡vmœ&=Z“>—žw§ZÀ¾8ósEù×¥_Ÿ.ûº Œ¾RJi -(=ª*9vªôˆªä“‚š)or±?âüàâ4 =ÆÔPDCê²Ônß\»ãy¢Ç yßÑ’õIºµñšôõÊYêåá5K¦Õ$M%å-ÿóYuBpEü¤ÓóïýlÚhjȇ CŽ?H ù«¿Qg†Ð;ÚñUü-ŽЕúAµoœÒ›[*”÷†*¾0XÔ+ê‹Ë]]—÷=K‡7ž$“´otû®î ƒq›AÿÜ s£ÒÚŒÓkY¦7ž&½GIG¼g«—‡=V/zP*¯^p_Å‚ûOÇX’õ!‰!IIÿ‰ …5ü—x,”(•tvu]%¥¨ †¤:’¾)ɲò½w®½i›Dà´bùŸoÈúwcwÎc¶)}fÔ‡þÌ<ºæ(·ÿµ[a±aòmvû¶à½84¤&m–á•tzrýbšþÙdI†êêe¡5‹6ëqþ]Õ±+ãî=3ñ³Gn yw¾¢)2N#ò éé9îC¦ÿù¬_ÜI¿eµz5’r‹`H +Ê‘’Œúÿf[µMý º­ÿœ;™ÇƆ‰ÛìömÀë‘2ZaHý–ýó©ôuã]ÖBI‰5K§™õsguôíÕ1ã*cï.œw÷¡Gn¡†|¨Ä¶!ɹüb­hÈ[ÝHûÎÈ YK¿°c6dý™ú}:ùÉwû±»7å±á‹-Þ=Ù¤˜÷Ù6å™;9Cgo5QwlæesÉ&>±Çñ슷*¾¨·µÌ6‹ ã;l›í-A^q2@?!õ$£u’'©—M×oL¢7¬ŸY¦[Ÿ¤ÍŽ×dÎïRFw—úñ;jæýº&æöªÇÇÍwxÊÍ‚!Y7râ1jH¢Ê©%ô)@d- F™!s9óOE~ñùÌ‚$7Ëutyßfþ{މL-›ÆÑ“î¹ïÕvuÕCίßG«BÎX?òOÔ}C«þ9w&(ø'óSŒøeJgîÏ|Ë v=Y,o3²¨äÿLüü™ØmAÉ2eÅçߎbkéúæ÷ögçËÙÄA[JéįŸµ±Ìà冚·ÙÖ¢Žò¥wùu½Gæ"UÀ§Ÿ¹ýÏ€&Τ„v)©!“¦èÖÆé×'ê7$éÖ%j³Ðϯž-éI“x¯&~¼&övMÌmš˜1ÕóÇÏ{ø¡‘ÔÓJ…n$éCŽxSaÈŦžríÞ|ߨüRšÜúÅpn󹎂Fí! ?x'hÔ'þ‰õQG®ð}HòVoNbRÞz‚‰hÜßÈ4Їï‰Ë 9ÏF+éè'óùY¾ý\XËü“QŸ“%·¾»N™(¼¸ÆöìslN<Ór™þó•–hÞf¾"VKøý%Ö£Ü4Ÿn¼ˆUu®"¡ÉŒÌ“ä¬^8YóT´îé…ºu‹ôO'è²h×ÄXô!u ãu Æjçߪ¹µfޭųnýüáÔ!•ÔwÓ>$1ä˜.´œ2A2äeþ:d7†\·;Ï—œe¯h'Ð'f<ÑÆmít4£Jp&a/ývä7[¶±Â¨/;CÆµŠ¶ùÔI» ¢ñ÷—fd<I±Ló¨I°Ùd›r£Šªé"·82Ú.¼»\osöM?tY†.ªÂb™œå†™·y“ÊæTQ‡šÅ¸eQ0$YÜ܌ٓzÈ>~úÉHmæ|âF]v¼6+Î,Æ´P6pµ­I¿p¬>ö]ÌMê¹7ylä_ƒÿƒ2¬ŠJòþrjÈÿ@ IF©!äL™Ÿµ[=®lØùƒïB}Ð/I÷²hȰö !jÎ}Ô´0šŽF»Êò‹Ú÷é™mú§\Eô¿8£0»r™²Ñ:Áf°)ù%“ów²´6Ž-¼»Â`sö9Ÿ^æ'Þ&¿íôP•Å29å†q)æmWg±:£ØÙi~å_~²¨N¿BÿIà…(=I½èq5É¡šÕQÚ5óµkcÍzLL—6]Ÿj¾—mˆ½Y?o¤zöˆ’G‘{ßµÔáz.¤ÚlHÒ™¤†äÏè—7w™ÓÁw&í¥sÞù.úÙ/>à³ò·íЍ#q‹Èe*™®ÒM|¡hȽ‹:DÛòOᇩˆ¾ó7ÏÈó²|™lÓ¦QÛÃD›ISògбµ\$ú Za²={z ½ãõíq21]…þJ”´©òeZn˜l›ùÕÙXBþeÙÆXì €‹X*CòdB+—3o«^ü°:õ1Íê9’³´é3u«Ãu+Cô©“ï3Krî/µ‘× Ê½'€’ÈIrò·fCFëè¥þåÍ#öy}ø´7†‡¼1|ºœ×-¸aÊs¾KNûf\%ødt¸W¯V(5ZñU5çÊšoż!ŸÙ†Lóç ›D5+©o̺²\Ø4a[E´ÙÃEæ‰ÿh’¦;ñÖÞ Q{·Ú›]>ñÕ}[¿ œðíe*6L¹ÍÖKo­®zQq„ÎGV0ôàR®wÀTyE!̤‹ÜbzÀž»©*îþš¥Óˆ$Û¾ý’ê1-B›®]ªKªO™lX:јt'5ÂWû Q×k®9ó°ÿçwùRCÎn †œj¤Ÿβ«é¯Ø,¦ÏÚõYbð]¦õKÑù=©'¬4¬6ßMä>>ÆÒ#Þ”’ãì†u#YO2 ã’¥'× ½J{ztýàÏ[ûÜ trv€Çbót{Õž–úâü/#'|xÏu'ýòÓàáO¾áãIÃNñÙ䇂‘;麿Þí‘ûs'äNð;r—Ï¡;¹ƒÓÇ U«v4Ù2d¥dHöÊ>Îw&[O2Ö\aspkØ6³þ'xÜ9€Fq×F¸_㿤}ÕnùÇrzMí•U9Mþ7›¯CZ2†¨ð \þWùßI4ÿ”˜ü× Ó;Øýk9dƒÅ»{À-¸ýö¢wâöv÷J–òðìþ5û¨Ob;·ø… $´rq­Â+ˆkäæ5ÐWö.é1²N£† áÏšÇE¨|"ó}gRè3uy|bÊô)¾15æ§VZ?éWþ$"¼Y•À ÐÇøØÙùåôQ<„P‘eÂh˜+!¯ÓJ)SK„¯c“òJ|hÓ*jH^’’'mÂ& HÓËfn5`|€›èÇfeß:äïe{°ldF}`¹ZC RÆý˜ñ;,€!À0$ØC2ä50$(¡7¾G¿C€50$ØC2d`p) r`H° ö†|éݯ ?è¡!‡—x²!{û#AnÓ#CÞC"âb†ä8νûA¡AÄ^`HA{!AìÅõ†Ì{5œþöq¡$üUUßì׳yaHAú#=7d`Ï ™ÉMÏÉcÃ23À‚ ÞtoÈåÜèý½1dj®¢äxŽØ§ ÏH%ºËÉ ƒü4æÞ¦(UËÙ¼¤;Jß•ô C"Òïq¹!s3x£±Þ£E?`æa±‡)¹T˜ÀºDÙ‡„!Øôܽ»Ss8ÕìI»º“'5׺gÙ‚¸5=¸yŽ»­÷†”÷íÒB}6eC"⾸ÜáÒùµâäÚºCHü)qÛ+‘Í‹³lA<.7dŽùTÙl3vq’Ý©Q)ì'}0È|¡RQ"Í‹;5‚ xznÈÞ©q 0$‚ ý‘ž?ýlPAÄ…!Aì¥7†ôègŒ»{G"2Ó›o‚xW†Œ! ?†·`~úÙd🇄!À0$ØC2¤'ÜBoŸ1Þ ö€!Àø´Ø†{À`\‡{Ðß:ôøgŒ×âá®û&>ZÊs@+xŽ÷ä 2¤»Ÿ“48Ò¯ÇZÊ…éoCº»~ƒ#0¤·†,!=!½1¤Gß©A‹÷00ä` é !½-0ä` é !½-0ä` é !½-0ä` é q§!§rR2Ôæ½þªŠ”Khñ~ˆ£'{^lð·×vÛh©þŒƒ–Ê çd™žs¸× VèaÜeHÕÛÓ9.5WÍÍ0ã¸ë×8hñLr¬å±á™ä éÖô¨Iº½o´BÏã.Cæ„K£Åáv\úÿþö2œyXîl_‡=òÇ v&mƒïaºï™°ëÃÖgÙ²«”œEKÉߢ±ú÷‡–ê}ºi)ùùµ¹)?plˆ­ÐÛ¸Ë6šÏÎÞ¬NÑâ}LÏîŠ;Üf‡Ðº¥zsA-ÕÃ8l)¥aÈ~‹Ý©QŒÊ7Ò­UΜƒ—ί­ÛBvôѶ³l)r1Þ³Ï3 Å{|b|°¤×-…kýÏ7d·÷hÐâ½ 9XCzB<ß8î\r°ß:ô„ÀÞr°†ô„ÀÞr°†ô„ %C‚‚–, <Ç{’›qŽ=  ö€!À0$؃ wj`à!À’!‡Á †{À`ìamȃíÐÕÕÅ…žãF¿/7¤»¿JŽ â)±6¤Û»µà!À`jÈÛ`H° ö€!À0$Î`Щ+~®:÷ceù¿€òâïúi-¤:Õç"õ"µóòúò¿ÂCÐGÈa¥­Êß²ë£q‰Û¸é‡#c^\ý_ïëÕ/¯/ €3¾ÑE ¾Q ÏUèI¶îúغOåmõ…!pb Ò›:ñsùÕ!•Î?Ÿ%õª3–yy}é3Æñ½lúJÕ¹ÉiZgçŸËC€Ë—;Ú[›I½ê*¼¼¾0$Î@úTäÈê ¹4T¸ØÖÚÜXo$õj¬¯ôòúÂ83ÆÅ‹.^l\¸ÐÖÒT_gÔ:0¤÷ÔW2$~…€>ÀŒÑÞÞÊÓ2hkknj4™ôÕ éqõ-Ù¹³¤êËÿÖáû0$}C4;Üš]KÉîHNLäîBZ(¨€Ÿà«,RþôW.^i[[SS£Ñ¤¯rhH'êËo¶§¿tÍfËw‹Kë Cà ¢1ÈF5rfw¹ãŒ0z$›—dÛ™‘¬ p»Ï¸rŒÖÖÆÆƒQWéÐ}¬/­—õ•8úU¶yØ)¤ÝâêúJ†\CÐ[˜1¤cÍu%Fì*–•ÿ!2òÅÒ«Å»®£¥¥¡¡^oÐ:2d_ë{zW¤Í.Þ!ö)ùwù:îÊвI;DVB÷€å,ÅýP_Ù3ÆaHz 3†t¬¹Œ"zÈ) ¿ÈâÖ¥åD;‹\·.%ÍÍõõu:½¦Â!ûX_²ñ¤ &8º–Ëú‚ŸŒË:*–ÐýP°3R,‘v…|GÙØ]®©/ €3ˆÆh ´´Ô»Œ¢í‘‘Û‹…D kŽ’r¢Çk8Ëw]Fss]}V¯9ïÐ}ª¯J‰åæë­Û‹ä“±a‹åÓÓ𻥯;Äq}aHœC:Ö\Gn¾³PVR˜™SÈ^›ë w†sY¹.]£@SSm]­F§>çÀ}­¯U¥X½¤Bem—H… ±(qQ}%CâN }€ƒœ©ššê\HáŽp."§P%ná"vä7æD…ù;"ø—®”ÐØX[kÒhk²Ïõ¥•âÖGd­9b®‘XeY‰X_ZÙ¬#ÒrèÞÖ5Égqi}yCâ^6}D4†Ðq-¼O„dá ° ˜6U®]ic£©Ö¤ÖÖ”;4dßë+¯é“’#âÇ"²2#̆TÖ— Èw…l”³˜Å¥õ…!pf éX44LÆMõY†ôžúJ†6† ×0cðÇšqhÐP¯7ê«ÔÕ¥¼1ª¼¼¾ôég£÷Ãô fŒZ“ÖdÒj)ÚÁ ©‚ꢬò\!í+ÖW{y}aHœ¡æ|ÞȘOüßÕÅ•ç «Î‘Á ÙþŠò‚³gN=~œÔ«¥Iëåõ…!pM•jÕkïÏ]·ãƒCGŠóÿ9Ø)ÊÿG‘êsÊÊÉxó@[«ÉËë+wjèm!y}aï'Cìw[Öüî/­­Æ íõ^^_ÜËÀêŒe u-Mºö¶º í Û/^èG::ÚûÙŠš/]l¾x¡©¡î¼—׆{À`jH<lC€=`H°‡dHîf‘äðæÉaÃE5ÀP†èñ¾¿ †yˆÞ²¡ìœdw8½ŠÑNãü*º­¦óKè~#÷wƒ «Ûj:³utžÁð7?«pOøƒtÍßÃtà–?QCÞ°—¾°âÿtÞ‘ endstream endobj 256 0 obj 6655 endobj 254 0 obj <> stream xœí xSUÚ€oÛ¿På×tÜE\Æâ‚²(µÊRl)e‘e±-­ ¨€Ûüèã¸ÅœœÇÇÁJiÁ_DP”­¤´MéFÓ6ûÚ&mÓþß¹çææ&MoÓ4%¥ù¾ç}òÜ{r·ss¿7çœ$7o¾éÌôœ ¹3åaZGLWÉ<£dkècÐ2=³XÇ<£aêÈÄB;ó ˆ˜1æk‘.p½œœ/°XŠŠ.°Â,W²Ô̱ÐH¡$^ÏõP ˜­`"ó™ eELÏaž‘;X¬a–ë¨.@¢‹N ÏÂ!ñ¬° r¹yÖHXfZ¦‡N@† ç© ñ*È}J\%!¦Š.c¦•‘!G~ü0æ sÃ7Ä£‘gAq%Kð¢àxÞê€/\e"˽„tAz ÀÖ¡s+Ót*cK{7cå{¡s˜ g‰À Àõ»¸‰ˆÓäSŒNÁã¢R Ð6 ޙРAÞƒo›1UÐ*X¹UÓ\YfxÿEÝæ¥šµñê„hÕÊ(å²§”ÏJ”Kž ÇUs"Ä=X=²lÒm¹qWå­|G΄ÿFœ0*›¹k/QÄ_¸S„Ò­"x-Ì a?Õ8ÉoÕ Á¿¾ˆ[h3ñþŒ±~€^´Œ¾TýyjÍéæOß6|¸AÿN²þ¯«uo¬Ô½º\»q‰vãbí†ùšusÔÉ1ªÕS•KŸ¬ˆ;ùެéªôMœ"n?LäpíkÐÝ ³ÎO"ЏúÙõo”ý÷¦Ò«6–†m,½fsÙµ¯– ~­ôê%a¯”0늼\¼XÄlÖ0+‹œš:å† ^ã÷¼»" # Uv9Tñ  Ý+j¾úIJ÷Sógï·n2¼¿NÿöÝ_Wk__–Ðm^¦}y‘vý|uÊ,U 峑•óÇäMùõC×úD÷ì¨2LMˆÄ3Lây&9—Ys>d]^èZ˜>Ϭ‘’ÇéÄOTL‚T²ÇÖ–ðÌ2q9n:~ƒ¾"ð{öqüž}}N B*˜éHsíúy ‡êÝš¶½axo­~K‚îµç´¯,Ö¼8_“2[½&Vµzºjõ4ÒõXú¤báØŠ9ç͵÷ш"Æœ!ŠøóI‡"@OæÑ¯Pž“—Î+>œ_r8¯„<ŠI ÌægI‹²ÏgJ‹¾ÎSŒù°€‰9] ñ±*'?D+vEhRf·n4¦½ ~h8{œ”¬›¯Y§Z­|n²rI„bÁXÅüÇ ¼öÿ¾­Š—Ç=˜?ó¾oÇÞBñh§ˆ»öEüéG"qyäs¸Jv\³ÙÚ—^묈µrçRùK½¢´´··ì|™L¯ÏElëý~ª»Ã•xÌW$±ˆÇP98+Bmx'ÙðÞ Ð~àó‘õÃå’‰à‡ª9óåU³î—Ïz ?ºƒ"h+%ÙFg+Ø5šX\œÀ—´µ·_‚…V쑃"Èg¯ü—ÆYETüûÓ«oØÂ6¶PøÒ³Š0³-lM·â—†}JSOcòû•Ù—³ß hD¡Z1Y÷×Õ¤ñú íË‹y(—E*MPÌ{ÔᇙwWÅŒªˆ½/?zÔ·ßÌ)âž\§V¯ˆX•]­ð^/ÞŠXý¯ÒØœEF€ŒH€"6qŠpÑ‚¡"`6ô/[‘t3%ÇzbÚˆì>–znÌ~Ì~?6qVÄt'Eh7-Õ¾ºœ<®_ IžÍ;A±p¬ÃÑwVM¿½*zDEÌ=3îÙ÷øMD¹Wtgæ©íŠhv×p"aç"Œä«›E”ïs:0ïÔûÕŸÅlßp–N7®wy6Çâ´îËõÎè¤Ð§,$ysê¹uéZ‚…~"¾ºÓSòfwÛ¬w90¶ A¹³-ëb_ Az¾-1]Ë‚x`Ñxíúùäc‹—iÖÍW§Ä©g¶;‡2önåÓw(füY}{åÓ#dÓFìs#§Ú•M®x¬ˆü&ö¯(Bœ–ÄÊBâr©"8KlæcËÎìW¾çÒ¬©Ý0‚ô;¦ýÛØÞnE„Í4ï$UFû—¡s5?Ãdå‰iÃÈ2ƒÂÏ8~ÓÊn“ï¼¼tŒ5Ì:Ø,›Î°©Å?„Íý-ƒ«`Iùw¿… £{iÿùï¯Î–Ó…m*& ¿[êf›áyÎVà8fw[ˆÊ„6RÓgsÙ}ýÖ‚ªuòcp¿_ZHÿ Öà iTEÌ£Y«]7Wûâ|ÍÚ¹êäYä T«¦ðù©š{Ÿ*î.UÌíªè[UÑ·UÍ^8uøþG†EŒ-æЊò¾“"æ°¹Žcf+Òa o¢mŠ 3ÉÁ‡ŽëPñ!ñQÀ%X5{´êùéšfkÖÎѾ¯I™¥NŠviEhâïÒÌ®žy³:úfÅŒ› 'ßüÝCƒ‰"ÆUEÜQHZ ˆÛò˜ eDñ¼"Zرˆ.±vûÙ`èh,³äçcÏÔ3››¹||¢’“°ƒ|QüçM[haÔÁ6N±uötû&tËÄ»~ åW¤¼Úä´MǬKçÑRºäz)ÉÍ— »caÖÆ=»Dëvõ 'Û]ƒlJî²MÆõÀǼAêv Ò¨}Vû ÐåRÄsæÕ"ÝÀ!Š€\³Oß«|V¢Nœ rФĩ“cfX1N\ª·hgׯܤ‰¾A9í† O ý>üˆ"&VKæPÄt C[b:qëàqïûÞàqï /ä]®óJð‚üà„K@PB3À¼uIîìù¡f¢Žç?;³ŠxFn°Ì¿¸'!מ#¡Pí¢aÃÈ-ƒÈ*öt~TæXø~¹£î4lGØæÎV.|içæãa#»ß¦Ó9sÇ-VS5\© Tñfi+ÒÔ­NƘßÈÌ#WlùÄ*cP, –¨?vøaE¤zE„ú¹ šåi—ŽÖ-¥Ÿ'I‰C»uQת&^uáÑÐïî&Š˜RMñ˜ž|ŠëhT‘;[Î#7Ÿ Z  ^¤Yª yV xN7`•~Àó†Ð•ê«TžWV©`–”¬m InèmpÀÌ’_Æ9µ½Ã&HyB±°|аOÖ@¡!ì˜ÞÊz†‰ÛÏ={ϯ´„¾Ó.wþ:–cyv›ƒ/¶/,ÜÙuœØêN{d§Ëm²ÖÉ1ó[œaEnÁ¬hCºï VæÇ_}ÊÙáŠ+OP.™ \ø«Ñ×}õàལ‡|;zȾð?dt‰ßÇÃû8~ú< ›¸ñÉùÜ'žsm̼LÄ×1±uÜ#à‰­afT“Gú,´h³ÁEŒcïW3á,) ’äO"ðÿÖ]F!·µ‰V8îbÑñÖ7Âߥ"ˆ×L®@º€ü¨³“YF~˜ L°óD 7;Ñ-DZńNJ¸ŸfÀ<‚Ü*"RJÁZ‚…[è~yÁŠH—ÐStFâ½øÐ/`³Ÿh |¸dh‚9,þ¢QW„ BaÆ•0ÿb†|€Š@¤#¨AD@E "¯ˆ«P‚t€|üqË.T‚ nAE "¯ˆ°ðbT‚ . " ˆ}Yo|vAÞÆCE /ꃊèîïX100º)âVTF€*C$P"ŠÀÀÀ T†Hø\ ñÑnöì[oIQWlø^Ë#ƧžEE``ô‡ð\až*â-éþåL¡"¤g¸`íAÊÁ$d>qÿ‘TnÂná’\‰}qy£kE}­8EõaSW„‹%øip…¯Á'—Çä¥K"ÓeÕµYk e¤ä@2Ã$g±Ïʈ dKdÄ \ yvMV­Ë³\IVòš,—YÍj5›M­Jî7Eð—¹íoFü¸6*HtxWv4ÜE×)Ò¦¢èäüCóÏ“Á çV„½mÐq‚ß<”Ðraa‡³O×óãB3ð~à€¾Æ™žv4êêªÚZ³§È¶J$[ed2\!,±OwYât®’²X¥°t/.³žbµšÌ&µVUî/EÐËÌÑ«€ëÍÑœ(ÂãÁL®ô0§ˆƒ9Í{ðÕ)ª>¹<¤ ÝÉÁ’ô\kAªD’Z@ Óž”¸Ùx5ÃA÷³]c±MF•FyÑ_ŠH°÷)t|_cO¢pÀ+,ÆÛC¼Y‹zІH Dð] ‘óÏõ>œ_¬®Ç":Q„ÀŽVû úêÅËøÝv<¿õD¡ƒ_d¤ÇñCAë÷ÒžŒ3ÍNÖ‹ŸŸ.sÀb1yFnZ$“œiŸÍLb"S ,Ëi¤¤ -Â}IAj$)§+’Üwl(HMN˵o?"-Óy¶ÀÃc3ÕÔ•Zá7E8¿=Ù¯7ÚÄå.ÕÂqE`ˆ…H ¤:ε0ý…ç_ òb±]¯!°9ÎJÃ¥Òƒú~û‹í§\òJ‚Ì(";Ÿpà|ëþœ–ýgš¿?ÙÓ±þý×#¸LçK¨ Œ–ÌDZïÈäDn——a–?WœRìsiR‹ë¬gÇf1ÖÔŒ¥ZQÖG¿:—_7?tCEx}ú«S½—S|rõª«u½BUUÚ§Á¨“™ìËdßTÄ9äWÇòÈ7*)Gò[@Yç[èe€"¾=Õ”ñ[OÇ"ØäÒ÷ªÍZ½¶RYUÌ*¢²(¢\}?Mß«Ë>Ótø\ ùеÃRòÆ÷,gšÁûN6|wÂÚÞ3E jƒA ê+¨‚Žø¡¤âbi™«P¦ˆREcöo–C§¬‡OÕòÀì“õè_@ûüP¬°µ{{~åg‡F¿~ô÷ÓUòŠò‚ÊrL\¹ÀñËËòJ/äd9õªµ¨Q¦ˆî†wçGU)]ùήikÓ>ß—Y˜{âJG–û«LúKFvVTrjÂû{êë ýCˆ‡à+âóó£SÀãk;¾îg÷®Lúà?uuú›¹(AüˆI_Rm’×Z4¶zSƒ­ºÑVÓØÐ‹47ÛzÁެMÖÆKµ©Ü““ÀZMéLr†O÷Èa±MF•FyQDÞÖ·C¥h½øBç:º/á ]6âRâ£ú²ŠÀO4ï¡)UÀb1ù‚´&2µ€›…äb"Ór-©‘\anZ$[âÓ55F£A¥Vˆ)Âëú’J1I™öÙÌä¤LGìU”ØëK*›œÉo‡œ Á¬É"\ŧõEE =Äž2Üû‘oaŠ‹äL¶Ëºõ†Ô·;­©1 Jµ¢LTÞ×WX)hAI¦ýSÐÈäÄH‡"œë ÂS!˜e\Vñi}QH¡)Ã_lý€êjA¯PU•Š("pêË+bàhTâ 4eØ‹Mß?¨6kõÚJeU1›2•^_r¿ˆ[v£"¯¡)c4¨ `$¨¯\  :’/% HkÁ\àõEE =DQ~vhôëG?]%/¬(/¨,—ÁÄ• ¿¼,¯ôBNÖ‘#P¯Z‹:À닊@zˆªRºò]ÓÖ¦}¾/³0÷Ä•Ž,÷W™ô—Œì¬¨äÔ„÷÷Ô×¼¾¼"p¸ñº_Ûñu?»—cÒÿ©«Ó7ØÌ^_üDé!&}IµI^kÑØêM ¶êF[McC/ÒÜlë=;²65Z,Õ¦ò¯/*AP‚ˆ@·”A¤P‚ˆ€Š@D^ÌR°ÄàY**ŠOë;ƒ‰² €îÿ‰SÄÐ}dÜ’°Û>á»;Á«­Ýâ^l­ÓÃÞíåZÃîNñ權"²//ŽAl-/ðíÕåÝ}~x^\á—ñzðòeúœLÜôO¢ˆëvGAwü?Q  endstream endobj 257 0 obj 7754 endobj 259 0 obj <> stream xœÕWKoÛ8¾ëWð\À.9$E0ر ìÞè¡è©Û´(š.ÒËþýŠ"%QŠœ» Œ05ü8ï‡Ü*ñOõ$¤ØHÜ: ÕZ}Þ‰Ÿ•ôûõµÒµDºÇŠÖø‡dø¯d;úè~ˆoÕÃ;„Lj~Ÿ«÷<qü[Üãçþp©>«`«Åå/ñþŒ{#.;©ÚË÷êt©î™Qú%rãܶ‰ô€»‡; ­Þ)×nÔNz^U»Üózàüjv²æÃ'áün¨º…>²íF)X>Ð|À˜C:ň6Ñŧá„Ñ;–^àWs,-ÛO—?K"M2J½­{%Ë'0 ô .GÆ7|ìH>X ­Ú·¡j “ûŽÉ(¢kƒÖº»úÀø @=ñg}—˜à«Š_D@RÜ×ð8}ÓRžû‹ácá@øNÙŠù=ð#¬pÄt½üÜF¤˜Ñ­Õ~ësåBT®’’!s±ÔjÖD¶±[[´Qd"—¦¸4 ó^§'Z¿ƒ»8`Ç ´Ý]3ˆ'ŸŽô9W[IKš Â×»4Ðïý‚sÔU[„ ܆Ìì*eõmùep}nMÜ6Cyº³È½Q£ü÷rîKPÁ¢Iµ˜z”™}áe"€I¡ðJJP¹ÐSš¸ïS}|¹ïý Ù gÿ2+)¯ä¿¥]oÐc–GØ/üªX„ÀŒ·ÑC J©6z"[0;ک̺߰†RI$°:1CûÈ’ñm,V~˜”ÂZ'¢p×pYÞ''hPÓMsä•u„*Ç~£ª´OœvÜEWöäÊ}úðóL¼gZŸèx$^/ïó;sÞ·ÎQ¬ÃеÚQf]¦¼ÑÝA”©g$=×¶&:MÌ‚]wÈJØ$`'¤Yçš;Á:¥Â˜µ¤M(Ãí ã¢@OkûÕV–nZ Ÿo4tmfj ©®‰â…vàå­AÖ‹¬i”—·*°E¨ ³IͱŽ “‡ÊéžKïÊilún#E *ðŸ§ËÕ1™$òÑ«^–ÈÖ·ªºE(×Í TAÎÞçZ¹xì#KRf¶ÎÊRˆîCæ´ç¾„"º$.ïR³tsUÌ+·o£Í)IÝþ|Ï_ʈ~2„»âžÙê.ÝÅYV=›W¶€ÊZ«7Ì•«ºžEY_SÕ_€úOZ'k—\u˜æLrÏÅf$Æa²¤ËÆ_3Mü¿ÍÅj/Q8Yº’hÉ QÕ¡é´õ’5&éz¦·˜$ÁëºÇQǸd5ë:Ž7hµ‚h¹ÕdÐzÖÉs€äÎÀjÏ䳩…ò´‰ã…ËëÃ$dSI×Âf·C JͰ²,8…£Üàf§‹Ò õŒ¯`¹~õ°ªý5]Ýo<‚ykȽø Ø0ì endstream endobj 260 0 obj 1132 endobj 261 0 obj <> stream xœí tU¢†‹ä¢<}32‚Ž¢ƒŠ .cpA m"„%˜aQ e1 *.ãÌO‡8‚ÎhœãdqŒˆ#B CHB¬½e%;d!ïÞºUÕÕÕN'U½ÿÿùNŸêÛUÕuëv}¹·ªÒÝÝmnÚ‘ÓsÜ䔩…q¥Ü¬2î‘J.ÑÄ,®â-Ü#&n…N,™W |ƒ:àeæ›÷Q¶‡I<Ã@§™ø ?Ažò%Ó*¸I•2AŸšhù¤*îÜÎÎäHe ¸¬yК®!Ïwÿú)׿Ò}Ó›ÝìŽØÜ=ö-JäÊïö›x'm<ƒ×?€aß.LeÒcOPõÙB”H †¸¢“蔋øIáRbÑÇ,D¤!+­½@æ”t:â5 1ê­iVˆZòBð5ˆ»ò§L‰¬¯È'A åO™%˜ ƒVu¸yMܸ\É¥œîWÎÍ:9`I5[VË ^ Mm ]ÕNìÊ=ݺ¦›À¦É£TÈ&XáÀÕH·–Í @3`ÅàuXC0Y1S1$·‡,9º¼9tIÀE-ÜÂFîþñÑFòT(YT'° †>’’„*áä)!̮ࢎs‘ÅV—N;Â=Rb%ÑÄ%Y˜W‰QÔ«=@_%›$±¤|”Çk(‹«,®"ãq½î3ÏHI0I2f•QâJ b‹¹©Åôú‘t9‰ˆtÌaîŠÏˆK¹Ñûé«Ä¥³N Èt*UàÉF+Rá²Z:\àÀ'°(D• ˜6íT)ÚRt¦“'1'á\.2[€ˆ”(”pù„î½v߃K%þ¤%dvA?Q¶ÍÌðàu¤¦¼ÃW6³té[&CMGw³ôÕ’°q¼E#~¢òµ›»q;ué ;ri¥C—Jþ”)ÔÄß%e²±¨ÔO^DúoÁú<ÀG%®œôB‰HÛËŠ«ßxÚòÂ"Óêcr¬aiLåâ+®\8P±`¡|Î]”Yw–ÆÞ\üе9³î®/Ì%:¥"e.½n/µè¥/‘‘>}™òÒ¥Ô–Ì™’QWY m;Ïör¼nÀ Cør~¢œ‰”@z˜5o>SÿQÚÙ7×½÷Jõ›ëª^M­úÃrËËK-/&™×/4¯O4¯›oZ3ǘgX>¥rÑ¥ £s&]¿kÚ†ªv¡_zÛA{—Ò³¼H/~.ÿò—‹ÿûùS­?¾þÔ%/_úbñe/ºxýÉðçNrk >{’{º{ÁÄ--t0®÷z 0¼nàu‡€Y’?å”rÓ¨K-//9ûÉ» Ûß«{ÿµš·ž¯~cMÕ++-XnþÝ¢SË ‹ÍÏ>f^;߸j¦!yzåãQeóÇäN½ùÓ».§—ì‰K Ä¥¿9hu)±ë¹Â?7‘@Êa.嗚í<º&7l5™>Æ­ÔÓÇUú‰ï¸d}tzkWòä)÷ðaŒî¾K¼ÁF¤±Þ¥æµóˆEë?|³vËËÕ¯¯®Úlyé ós‰¦§ç›VÍ6®Œ7,ŸfX>•Žú=P±`l霻s§Ú~ïÔ¥÷æR˜KoÜîÐ¥GKŠ÷æí=~roîIúH)¢%äinÑ.}áîcE;õ…ŸæVŒy3›q.ø.=»Ô´jfÍ[ëkÞ~‘ˆ´-›Þ jZ3ß´r–aylå“*ê*[1ÿ>RÞô¯ÏË"JfÝy|ÆmŸîØ¥¿þ–öTÇåÒ{H8ÁÀ_ªjwî¤Ê•.}¶±ÄöšWÉ‹¢j1;:º»;¶=K§×!³´®õúÞî þ¸ÍÀ;Ä_‚YTæRcrlõ«©Õ¯?Ez¤’²x‘N®\8‘ˆ´|ÎÝRyùÌÛKfÞq<Ö‘KÙŸ¸””Läï§šMoà—;Ï£§TÒÕÝ}Ì´$½$$þì;ŒÜú&âÒÒ¿¿wñ$ÂÇÈ?`¼KëÞÛ>y©è™a‡1G™c¼þù·C±aòmöú¶z¡g—–L²üa9Úÿn‰ùÙDI›•‹£*‹¬˜w¯U¤3n*UÛñØQŸß5ué}…Ôœ·äØôK%—ÆÓ·]ÚIzÎû¥Ëÿv*4þHècümáL§¢Kþ”#w)yöÛ ƒ©—êöÑ->0uäns”ƒ ·ÙëÛp ¹K§Y]j~~‘ùÅ$ú¸öQSêlIž ÆZE{Cù´ëÊcG–ÆÝ’7ý–/î¿Jpé=…Ž]WN;–óÍ¢KÛuMmHÞvBti ýUâÒç%—ž¤ÿ¸j¥n›I>ô¯?îuÙlúÜZÅ«Gl–}¶Åö¼AǶgÙK ÔrGZ„eÙR²™÷½ë|q›—JvÔ9Zg‹bÃøN)ÛæžÖ ¯‹8À»H½Ói&fT*ÌÇÆ›×ΧëŸyÌ´f¾qÕ,CÊŒnÛTÆßTùðõÓS{]ÙÃ#ó§ŽÌs¥Õ¥¬k:j7u)‘*)œTÉwJé¿íË\꜎”¿æ‡Æe—Zuº^.®Žmëù/˜ËôÒ´n$òOý{Mww qiøŒºm´Bd¼üϰ¹¦ïÉdÙ©Ãè<ƒ#[¿`_§tÞà™ý¼Š×ÕòÞ#«Jü&|î—ÏÄmœh s–|ùSø0ö.Ýßÿ©çÅùr6óàç‹è̯r°Îˆ\Û Ë³n³£5Äì$½îóïÏåßëïd)R5/}©×?½øñÕ¶ÐxÅü1¦•ñæ5sÍOÏ7­žkLIïØ_6YR˜aîm†Y7â®3Ä^cˆ½¶|ƈ‚)#2îJ]YÌ-º¦¤_:ä —ò_~âºKWnÍ ‰;º¨{”~¹ ýžÕõmrq ö.¦PøÑ{ƒ‡}6·.fg'ß/%/5ðŽ%^"åÍû˜²F~Kæ±ùB]qáãΰ§¥ôé§á3øEö)¼ËŒ#1_’57¿·Î9Wx5|…ãŧ8œù!å:ÃfØnØ\ë6ó±[ßγ^êºtãÃÆÙUàa¬ˆ:%Giùìц'§™žšmZ=ÇüT‚iÕLãŠXE¿Ô”p£iæ㌫±WWL¿º`ÒÕ_Þuué¸rn\)uéõ´_J\zm.,qi‚Ü¥üùÒ^\ºúì2Æ_ÜJ¿ŸêžÏ âšP&–°•þÇë÷Ïo`…1_w .o½ôYØ£­‚²nü.LZ¡X§õiµà½Ñz6çZ=•Ø3Dƒñäi«ðêB³ÃÅ×ìV†®ªD±NN¹aÖm^§w¸}Ìb3œQÔóš€oa5êYzX?|kåãÑÆ”Ä¢¦U³Œ©ñV….‰dZ̳G˜ã®2Å^Q9õŠý*â¨KufnbÕéÅÔ¥—ÿ™º”<¥.­¢ãô…Ì½Š”Ðùôæƒ!³õÄ¥ jÔß· âšXÁ¾n£.¥…ÓèÓ˜Ýx—þ%|Në63óÒö°EçEe}&.(,n»NÙÓZÁ{÷ä²9ù5×¼GÖÖ±’W[.>å³~æ ò[ßS¦X'g»aÜ"ë6‹o§X]0lâ_ØI†ÒVTÇcÝ2£ÒÃsÚÈŠÄHòãŠÆ•qV‘.дd¼9Ézßw¥yúÐÊÉC øEæí .%Þ©äRÒA¥.åÏ',l]ÊÒÎwP{J×Óïþ2çhÈ’ó„OP¸ßwŠâ2 ‰tPu­ã E—n ŸÓ.zé‹°Eü4UÖaÖylÖÉ©^7lCøÄzÑ{ùÒœüø}{øö.çˆè/®v¼øò&z%o™™¾…¹3FÚTù:•&Ûfþí¬!§C¶1Š]ð, dHFMh&ÇnÉCהϻ·2éAò)’׌Ë2-Ó™žgNº§*ñv«N§þÒ}ɉqƒ3oH]:¹žj“étô~«K§™è!ýBé¡ߺlÜë—}>Ž—óš‚!cž ™—’|a@r;[ÒÅm¼Pb+Ü’=íÔ±OT|oSÌ»ô™—È<k^$RzB3]vC§í:ÛÖݼa0]DôÞ½ùÖ™ÿR-Í·ïÍ­ƒ‡m ¡§Åå3_ØöÂá7ÿàx6f»Íöko­©| ‘v”i€¬: xàu€IµÓF­óÏ‘ôÌÄ+Êâï¨X0–è´eÿ×T¤K¢ŒKtÆ'"MI÷™¶,U5ÿj=Zb.5L¼èĽa_Þ"¸”@\z_½c_ã—Ó_Ö›WÇ\²¨&t‘)ôq3aà–˪>YMYfø¤‘²Ì¶ÔÈM½š*ü‘*[øcø0›aoø¤jZž\$/<ì½ð…¤°:ü2Æ–•!¼zˬ„¾Ú]b{ÿ¿u~~ƒï/ g–¯„¾õ,g‹Û¼#¿=½®“ß°¶YZƒlÈ+‚ Ú»>…$Øôñéñ¿"Ãü²ÙÞ_™Y¹0²2qœ!ñ~Câãc£MÞfž;Ò2ûZ2À'RsôàÊȰ‚»B2n@]:½Ièš—FüD]úk½äR"ÒÐÅ­üo ´‡¦t \Õ>hU×ÀÕ¯8±ßx’`åÖ_·Iµ¢ñR”!s²‡öF%>,s驨«OO¿ùÌÌß–$ÜU:÷îÒ„ˆÒ9esî(OU9kdeܵ†éWb†¢.©œ0¨ô¾c¿å>½ž\ÊtJ\ÊÆø¶.e:¥.]Þ>pE'û­=*R;—:ש†„½ÞÍN<žRãùÅý¯zð):5Ôv™rsö}C²'\¥¡Ÿ¯4ê¡§Ú“HݲøQs¿;–*ø;öƒý¥[[ê r¾Ž¾ùã[/Ù~ç/?‹¸ì“Ñ¿úäÎ˶òùè!_Dü"óÎK¾ºãâ·‡gŽ˜ysèΛ|q·}üµUyú¥o7ôàÒRÉ¥ì1tQ…vP›£2Vt2BS:ìaÛÌú´ÀëxÿܾƒÍu(zù),±mé;MÝ}Œ¡¦“ˆ4ìáF›ó¥ —Æòß.|=>ÿëÏüïA[Uþ«ÍËÛÙµ{9dƒÅË—ÀðúõSàõÏà¯Ú/êd×î…¢æ¶róÚ(d"¡™ö0Ù#›ˆ?ËM¯§ìUé©…K©NKé/•DéD焸 ¸ô ]ºQŸ‘Ä%§Ó§¢Kõ›ÆsBxÍÒr¢\ú<%#+M˜(‘Ï)”ˆÓ2àR—àÜâRKaf2ïFû~)Ó¬¤GòTš s¦§pI™lNiY¸T]àR<€›\*˜ÐƇbåŠù9yD¯:.u1p)À].åÇõ)›$CÚžAuâR—ϯ¥..À¸Ï¥5tÀnÛ e'N¸”_D8q*1¾ºÀ¥xwºT: JOŸ ãûä$gýR‹ÝÙ \ª6p)@s—z ¸ÔÅÀ¥x¸4à—ààÒ€\ €€K>p). øÀ¥x…KÃýÊ¥ÀE¼ÞX<Ô¥йáúKÀw€K@=p)¨.õÀ¥ …Kýèž(ðø{¢Ns×À¥ÐàRP\ êK@=p)¨GáRÜý@øn“áøn“@-â û6~íRo›Ä“.õv]û¸h\ð 6—ë:•v*<ÿãñ¶}9çYGÛ¾ÉnÞs¸u÷¡Â×Ûvü§%ã@s±ñ|7\ 4. ø›K‰H˪.œ4^È+£R%äœîZ„#¯Dz&[œP8’µ•àÒ}.$—*t*M©Â¥@s.4Úm.•ŽMzÀŠÝéÜ)›–wSiìzM20Æw1½»‚üucFíaÿ“…+'Tmû¥boÓ~BZ=)aåòBÕ×wj‘ΑÊ*‰T€ ócŒ4Cün·»”Ö=90­T™K]¾2…kO.Æ5Wð=Òžö?/[ \*õWå%Ò£FõÝy°•ÞJ*CiÖñެã‚K¿>Òþ5îÕÚá1—¦éÄá¼Eæ§§ÈOŠ %²Ù,âKÎG”¸'Êiœ¸B'îìaàoÛX½Ÿ/íÁ¥2•Zû¥| jÕx™ÿiýáxç+ÿΧƒýoò:¿ÒwHdnßq°ÅùþÀu<æRÛx`²Ñ¥ãkOòç.EœÅ‰+Ò¬ûZîIùþ—Ù•6?êï·Keöèµ)¹]cõýüß­ßåÐn¢ä[!.Ý}œ²ãXgÆ‘ŽŒÃí_ÄùR si/ã´÷äÀ¥.ƧïÕwCàRà¼ëRá:ro—™â#G®ï']úÍú÷ûséÿ:1²Žw‹î:ÖA |âÒÏ>ŸùΗÍP¸ßmx 6—~¶¿y÷áó{vÐÿÙ«§î¿âÉ<ÜNDúÅÁ¶/4vÃ¥@#ìî/…K-ÁæÒSçvÿÔ°ççÆ½?7I§;¶0ÈОôH‰H‹*Z»áR piÀ'Ø\Ú×À¥@üÚ¥ÀEÐ"¾°@`ã¿.ß.õxîÿñ pK@=p)¨.õÀ¥ ¸Ôƒ{¢@=Ô¥ˆK?„K ßÀ¥ ¸Ô—€zàRPKqOô¸Ô—€zàRP_»Ôë¿mT‚Í¥Þþá5A0p)‚ ˆúÀ¥‚ ê—"‚¨\Š ¢>p)‚ ˆúxÓ¥Ùuœݦ,¡D·Qß?Oº¶,\Š ˆ;âE—¦pãÓ²ÙtzJr:\Š ˆÿÆ«.MÊ´)ÉJû©ºä$"Æ´d2ÉÏcíÁŠúU–È–%]\úª$j¸A·Ç‹.ÍLæÝÇz¤Š¾%¯Ê” ±×*YW˜Á¾Ä¶_ —"âÙxÿÚSF’Õ¨=ŠQž¤Lû Æø‚x3Þw©¼çÙ“K’t¨M¸AïÅ‹.ÕI£{›¡½}'“˜Vï÷T"[Ö‚1>‚ žŽ]šf¨[½ÇN¢²kOÖN¦|P/;¡jS"-‹kO‚x<¾1Æ÷p)‚ î\Š ¢>p)‚ ˆúÀ¥‚ ê—"‚¨OºÜAP¹|¸Ô—€zàRP\ êK@=p)¨‡wéin8\ ý.õÀ¥ ¸Ô—€züÝ¥^ÿ?-å/ |¾î[êÒH?¾'êe|ížkq늖Ò0îv©·ëçK‘ž—úKàR_\Šô¸Ô_—úBàR¤§À¥þ¸Ô—"=.õ—À¥¾õ.—hàR \ê ñ—f$qR’Ók²7êtõ¤\šÀgà qöÙ {^lݦ¬š^Û-åÎ8i©4'Ëø´Œ>7ZÁÅø¾Kõ›Æs\R¦ø43Ù:#Ô­qòÙH!Ge6›NO!ÝàR¯Æ¥£˜tHúÞh×ãû.MÓI‡­âÀÌ’þæê6¥“é” ñèfG:í;Ù-‹Ï†ËqêRÙ_4м-²ø?bG([ùª¬O+¶ZJ]\8Še9vècRŠØ ƒVPßw©NyØ:ã“?»¬ƒ$Mೡ.N>™ÉâùûF‘#o áÕt«‡å툖R‘^bÒ^6§bä;œž@ã[­ .~àRû#ÔñùRá %±ƒê|6\LïŸ vÛ~Œ/;›Ê)ZJþÝJ´TßÓKKÉG÷Ö~©üÀq P´B_ãû.uÐÐ=\{â-šn7üÄg£Ÿqí³!îp‡Lû–êˉS´”‹qÚR¶ª„KÝ–þºô47ü¯]{²9lm/EI—•-³¨“φNÝÛ·…ì8¥m§l)räÚ ÐRêâülŒõˆpèR©×ŠVPßw©¨SG÷D‰'îÄOK–Í…*|6Ôŵ;m¬{Xj ál*™NNrÐRÏ ¥TÄéUBÛ3*Öó¥v§YÐ êâ.u×îúÀgÃÅà^}IŸ[ gZÜ@ri¯WðÙèSàR \ê $—âÕ6p©¿ÿCê K‘ž—úKàR_Hÿ]z \àKý%p©/$8] \-å/ |¾î[w)øp)¨.õÀ¥ êÒ Åp)¨.õÀ¥ ¸Ô—€zàRPïÒÓûHàRP\ êK@=p)¨GáÒp¸úŽàRñ7J$—nÿçV®ÐÝÝÝ“K½ý‚ þ”ž\êõ3øp)¨.õ(\:(¢.€¾ÂÿFI±ìþR¸ú \ €g°˜ò+KŽ–>TZü³(.øÁ}HïBªS~æ0©©]×.À3ÐX–óü–Žœ»¿60û»eÿ÷¹2—äõ…Kð ¤?CÄ’ðRú÷úÀ¹;¿ÄLjô–OìûiÁV_¸Ï@ÜBzhûŽ_¨tí;zŠÔ«¶êd×WáRÜ€›(;}ˆ »º: |:€ŽŽöÖæFR¯úÚ’ ¯¯èRÜ_ €{!ý4r ¶Óœε47ž­«"õ:[Wäõ…Kð Ì-çε;×´µµ45ÔÕV¸4xê —à˜[Z[›yš€––Ɔ³ÕÕær'.õ¹únŽŽÞ\è†úÂ¥xÑ-ìÀlÔ–Âw¢91ÑïäÑBAü {RIùS{4~Ó––††³UÕæ2§.UQ_~³…<õµ6›-ß-šÖ.À3ˆn!‡$=*5äÄ;Q\ôÛ'„§;Wñ:m9ñv4+$\Ô;'´|GFsóÙ³õ–*S©S—ö³¾´R\êñéžUÖiUH»Eëú*\:h4\ €[`n‘ŽJí òŒÚR +)østôŸ ¤GÅ«ÚÑÔT__g¶¹´¿õ=¾%ÚÁfl‰û©ü«|·¬ŠVí–vˆ¬„îå"n¨/ÿÝ&ÅÜðáRÜ s‹tTjF>•C¾MáŽTnå.ZEDº9_»÷²¥±±®®Öd6”8qi?ëK6žTÁÉ »Vr©;øÙ¸Ô]b ݹ›£ÅiWÈw”ƒÝ¥M}áR<ƒè–zBSSfä¿ýV¾M!ÈŠ]¤œˆtó Nùªf46ÖÖÕ͆3N]Ú¯ú:¨”Xn=/üV¾|66­XP>? ¿[ú»Cœ×.À30·HG¥vd¦rºÍy²’¼´èè´<öØX›·YÇ¥fjúŽ 5µ5Såi'.ío}í*Åê%ÚÖÑq‰T¨X‰¢D£úÂ¥xæ2N$44ÔjHÞÛ:.*-OxJ,ÄE½Ó—%æ¼Å—hú¦„³gkjª Æ g.íw}i¥¸;ŧ;SWì´ÖH¬²¬D¬/­lêNi=toÈžÖ6ÈÑ´¾p)žAt‹ÐÃÑÞdoÔxþ\ã¹¶†úÚ3A^_Á¥ÃáRè?p)¨.õÀ¥ ¸ÔcïÒËf˜N=\åº,€^¤·'wé%“OþbvÉÅSŠþKWènÂéÞ!ë÷z#òtoh²%½½K¯ÛIñÈ.Uÿ.Ú´~¯íâ îo8WÞEƒ¡ÏÔE“wñÐQ©~%}Çäp·}Ë]óuéÐ/覔Å õ|ØZ¼ËpÕhò.½VÖ¥-Q½Ç†Ø;4œ ¸²%j·Ó…újRO ~ô.Z IëkÓ¸š|<>¢Wý•ºôW[é#ü?­¶/× endstream endobj 262 0 obj 8510 endobj 264 0 obj <> stream xœÅVKoÔ0¾çWäŒÔàñØq,E‘šM+Á­ÒJ*N@Aˆ‚àÂßg¶ãd»[z@hµÙÄ™ç73߬é ýÝülM{eè6X¾zÇ×_ŸÚw¯Úï ´üùõ¹ÁÞÜcÃ×oô%1ú%•êŽUî[û¥yxE¦õX…øóá±yýæÑµËöŽ^óó± äl‡íñcûú–î]{| LǯÍͱ¹“@ù³Š»º!Ë[º{¸p„0]Áh¢\aº²£¹–ë,'ôÖ¦—''z¾¨ô“ÁÊ‘Ÿ®EéÀËÊØÜÊXô«\vmo("öãÙƒx­m¡™Þß>•¢CʇØÅ’cdLìYLŒ( +ˆ¢p?bñŠ£u’7p|·rSŽ”ù„”Ÿ ¢ZI VKŒ&K¢M§}ýä}¥—4äÄÞŠPz±0@È®õåp”9G?T xe> èzÒ*>· ¥"† PjÇ)Òcä;n—sºIO´˜f™´¹0 ¦Ôà ÒbÚ©êA<…bo'Ðr8j+ H}àä“ÕÁ‰-4¢cfˆÉÇÝž/ax‚øˆÄ¤–ÉbŸ"y6L€ë"c¯%Ì¡‘b³d%j÷0tôÔ¯6gÉDÐ|DÁ† ²êþ Ã‘Û‰ís†Ïåfâi¹"ÉѬñÆò È•Âna¨½æ"=KÖ¬žRCh?T. "¼8î6ô”Å ÆÝ¿vXد—nÌcØ'†š«Y¬FÔ—±gÔäêq,pØíPc¦Ù,â¶Çý:A!C·RFäµ èEÅ´2—éZ³èÇÜxçxBÀq¡³;x¨‹¡ée¼IÌ_åK¶Ã3d!¼€,ôU(M@­”aåŸj¢6¤SÍá%Âá”#Û™u hHOÃ:±&¯í@D¢¨!ÍAP:ÒÛÏ'D{ŠÁY®©Xø§ Ù%ê0NØ‚ÏvBe:¹÷jbOÁ뚣fŒçS*=váE‡þ?×[«)¥ÑäeæØ²0“ø×Ͷ®ÚJÅÂ+fh,&’¿\kvÙÛ «yÀÊø¢Q92½.·vYá©Û¼.!Ä Ñn¶”›”²r’Ü™©òb­Ê‘—‡’wÏ’Áp Ý`—³G=s²bë ‘éW&ní…ݾß/’íºZ7”.ÏË-<øÎ¿¨ƒìöEüW-\ýÚ6r)Õœ½ Ù`dÛ±—p­r±T>î˜ü^yÊ­’ØýåZɯ*¦Rö›Âßô¼½N=F …%Sˆ)íD«¶žTîŒÄÜ(sQ×ü®ý‹[ð= endstream endobj 265 0 obj 978 endobj 267 0 obj <> stream xœÅXK‹ãF¾ûWè¼`oW?ÔeÙÜ 9,9%™„°“½äï§ëѵ%=$„a4šRuWÕWU_µ¤Ðü½û«QÍ^…[¯ñê,^¿ýÒüð©ùc þ|ûugZôÞvxý~ƒZø–wø—õ¾6¿í^?…­YÌJøóÓÛîówo¶™þl^Âã´ýxÛù`ôÁ4·Ÿ›Ï×po›ÛëQÁpû}w¹í^ÈQüÉêÖûCõu¸{ýrTz0GðÃŽª§+ {}T'ºŽ$ OíQµ$±$aùÄ+ ô4‰Ü°7¨Ž†´ç\hG—õ¢i} ¡‡Èj¹—Q÷ï—B´€1*}p)FÂD¯aÒv´—•  hÂD£c+6Úù:î¡­¼RüãÐa¤„ û[RèÂ­Ñ GFL‰AœV ëN‡\.:Ï ô€;k/ÀþÉ£5+^:¼ÄˆîYbÇ+础ć¿º2vÂX.’9;d-§¸W{ä'#ø”ã»û©|Ælÿ,±„ËT+d1‡—[ðÔ⿾TÀÝŒ mBš0RT…EÒn)÷+|áÿÏô|:ë |憈 ËÈ®„âþA¸œ«ÁÊ6€S×÷^as%¯jx£î~æ[pËæx yŸRÛ<—˜Íö5Ú?×¾F·u¼§ì³€¨3Ê\Ž q¹¢"¸Õ{õ“`‚¼Q)'n9ÉÊSG²/osæÅe Þ,5¼G`—ÓÖ?PÊl3f2²S…Qr3\™Q—)*=Ç}Ð!ŵºÊX½ Œ•ÜXá«cBp ƒD¡Æ.R“e†Äcf–ö÷:ñÄt§>ˆØŸÓ¨óÜk(Y­â†ê‡Äv¹Is—EFÚG‚Ýî6íž–Ú½;*MªØÈô¦ä"NÖ7ª¯*œSiJ¶[ Xfs2‡“U8%‡ÿ¯ªw¿Cmý”Æ ë®ù±æÈC6ÇQrõWøZ³YÕC tá—“²9 Š~+xj–ï\2yžÆ±‡Ž)nö©ªG^Q:>àŶ]8ãèS5 *îA¾Ôg„Vwk.x:ˆwpÐÉ E4®ä¸ïmX¹Eźä"tˆ7e0„õ®xX´Xx€…‰…zeFÁ²¤²|ºÆ,þP0‹Ø”!ÐPTã=Yñ|‚£«‘Öcx,ª@Ô!^+·^pæÙe©,vyÈ™6*ÈŠ–÷(¤V@|s”2odpfµ6†Ào>;IÖ Ëþò2³Íœž@]–Ø+ü,‚îùxÀB驳ðêÒ’GNN¨1œuâÆÒ3l cOCÇpð>^ð·9Xøø(¿¶ÑSIõ5c½ —S] Ù¯TÐRË­à¿UŸ.,_²gFFÿü5ó”à](€Í‡ØÖæžNwY*˜Ìò~(ÅѵÑ^Ò6ӕ¹/­P-ØC_ÆZúMlã%YÌ,Â(ØÆB8À"à‰ŽVj—éXêhŲzja²…îàŸ"[ðûQº•/ˆ KY"ÙÁ4@K(uw(mU½S“[áånFº«´[|ÆÉvýh}iÛm«¥:‰$±²×³ã”Sp) ¸Èg àïYFpšdr›ÚØÆÆ‘X¯YÊÐUOðxßUcù ¾ºíM¤ —¬ÁFKÏPPÌH|›ŸSŸNÅ ’ž^l„¼¸µO8ýÞȪ8~Šój«ù¼ËŸé=o‹/cO¶ž‰ßÀè•A]>rò /¥ÿÕÑ'Vj’•šgfóhâÿ½”ouˆÃñP5«øc«—Tx.år0å–©gÖ˜›K"‚YßÐ-o3ÿ‚<­>tö*œum¿4ÿá¥M endstream endobj 268 0 obj 1418 endobj 270 0 obj <> stream xœ½VK‹Û@ ¾ûWø¼ïH3ã‰Á’õÚÛB ‡ÒSÛm)»-ÝKÿ~5Òx,¿B¡„xY¯ï“F¦‚òOñ»4åÎÐcÀxzÏ·¯å‡»ògeü¼}+lmH﵈ç ý‘}Ó+ê)~‹ÞKù½x¾#Ó"¥øùüZÜ¿{ueÿ«|¢Ÿ³ùã¹ä°²åùKy¢gWžŸ[ÝùGñx.ž8ÐøÕ]Õ~ÐGzzþØìl ¡ÛAk>¡Ûak|YB¿ºÖÔ,q,y/o@Ýa È"ßílT%geÛœê[ô£Þà)¢èÇGìUÛ²¦ût~¿–¢³”£ÝÛª™äØâfM ¿ Šx¥(§.§R=@Å÷$ñAÓTNûÃÁúd>×޹")üžŸmçZqˆÅb°´†LFö DmoÕ.4•_¯…¤Þ34ú"o&pâ´j |¬—§ lÞèêÆÖŒa&1Ť°º_¼íškñÖËÐÊèhTíN£^m½ÓN¼T^Úñêyã,½}Š‚«iüVÿë^ayè­¥´1¬ôØv@®ùƒÂµvë–*ÿ™ÁÜ endstream endobj 271 0 obj 834 endobj 273 0 obj <> stream xœÝÉŽÓ0ôž¯ðy¤¿ç-‘¢H-M%¸T‰â 1 áÂïóg™&ÍÌ@‹¢ÚîóóÛÛ–`¾wÆš¥eBƒçñÛ{óêÊ|)Àð÷íCá¢%¼Û‚ÇÏô#4šéÈdųâ}6‹›+"­`EâïímñìÅ­7û¯æš¶ò»c‘ˆ-`éÌñyv µ7Ç›ÆB{üTtÇâZåoD÷)•U´ºyÝXl]©Ý@ck¡Ý`c·2îB»¾±Q ^ ßë ˆ-6€ íÆ1*‚œ„æ}<ŠaÄëYcG1ŸÀ„ë”–³í›ãË%=–ÁxHet´¢#vLÀ d.(ºúmV¾ð1"³bT#·ksg|¨ ¦`À!Û߆²œÇP‘‡áUKxêF>'ŽdB+A4ÓÊWÅ2žÎžÛÛÉÉ?ô‘ébã0û‘€Î&䍨è>ç Ö“G#{~ȈžÜÄBLÑöSÕ—DŠáT á£ÇÇQ gÅDZ-Ú‰^°³õ”Ž;ä¹XÌ1±*¤w4^FÌ%RÄÖõ Êî0o5HüUÁÆTýEÁH¡>@ê©¡ ÖÖY1Ê1t(T8e Ò›iç5i˜6&™\Ç‹ ÑmØfÙW `m‰7ÀŠõÿøî5¡®¨R-êéļPË$.¸ï µc¨F5ž[:9Ô)Ú£KeÐW‚UGaH—‰Ó9!Š· &ð-âIÀ¾‘SAèã4K?V‘“¸Qúü=E €¤ µŽÈ´jdÞû¢]xJÝytÌ(qpóÚ0o\ßç¶§Þ~S€Ÿ’¦kþ_$µÜ ¦´Çò#aÐ`½1@²ó†ú“r/‘Ú[Ow‰Ø #ž™vãÅ–rOó´ÞkùÍîêû¼«¯''øúBJÎ 9¤—˜[h{yª}FVâD'vZ’Ú“sí1uGïX—QnÔo¯=Þ;kjVþßiƒç]rt1_Rd;¹ÈÕ°;±á™’:Ìö\ó«Ø.âSrü/¶Ý¨ŠT_QJ¼˜vùPK†tsÌÕ^x´Î_>õoj@ÌZi2BìëQœÒÛ+= g“ðÇ\uó\ËóŠs˜¦Fê?¬¢Škƒ¢ ¡`ظ¯‡Týxe„)# V ²¦ÝDë×ÞŠžÞŠÿEtÌÔÀ-۴ʉ%#7¾©O{^sÚ9'pr]„Ž/úÛé¶í4 wòòç‚.“ñ£ÐÓºÝ?™CùøG3cÇáÑûGó‚`¸– endstream endobj 274 0 obj 968 endobj 276 0 obj <> stream xœí tTEºÇo’ס5Oß (è¨0¨ âFp AbB0!„°†€$ÄA0¨€ŽÎC£Ž3 âÄÁw<Š,FDÅc–„ÙHB ;é=+Ùwú}uë.u{KBwºI§¾ó?ͽuëVWWýòÕWw)L&‰1aY^3³AÌ´KH3 9E¨˜¨Rf†‰ÕãO¯¥åL¬‘Y gÑÆ"^ó*Ü¡j—j¾ÁÕ2ÿ±ÒŸ‰¥EŸazvCËnÀ.›¦f¦j`íêQúÔr湓 Ãø®h°®sÐFÓþéwM}hòÿ«É‡iÂ6¤À‘žÛeS8ƒ‹e§>½¡›á7B îáÓ–P÷IÝ ‚^ö]ÕH0þ¿YÂà½Ø0x¯ªrr H  ¨xd«(À‹L¤ê=Aûc‘»¸[ñß,î&AHî⮄û4`M'ˆ™WÏˆŽ‚ :ÇD”1QÅ^ñ fE°á“Ü賦 a^éôYgámøñNô]{Ü ÎéÁòZuÝÅÂ_Š·6–WR›w|«ObƒO|­W\#³¤ŽYÀ~.¬ƒ].%®šÓ¢Jô )ÑåÜ@) 9j&8— ,yËb(EA°ÌˆÙ*°6„ŽB•Å×Rõº^¬DZZøvŠåæé¢µœ £± öA¡ò /af” ˜P†qç™»¾A0Œ=…ŽQÅœ$*8½T'JH\Q…òºAFÏt·™Ø®—ÍU'l7j+ÛmE†¶,á}•lr˜‰` @w~ÎmCs <2c¥@<ш%êŒ)¥r¢„¿tòFùUÂ6}[iIů7Åé×Fë’µ ¡š¥Ïk^ Ñ,™R/ •Í})jŒ*|TÉ”aÙQOÕæ$lQB0‰}Œ¹ñðà—ÖxÐXåA`€À@ÏÎ@õå2 Íåa÷ë `aç镾ZóÅÖk_î¨þô݊חoI.ÿs¢ñ­ãË –6ÄÖÏׯ›«KŽÐ&N×Ä=§Š›=õ£ac´å­÷G$Üþ&Œh70Ó{ âáÖ×óï|«ä¿7^¾eÃeù†Ë·m*¹ý’o^¾uC±üõbf]¡ïkÅÌ+…Ì&=“P(qb–${°ÜBýËxÊ„`x0¾íë]µû?­þì½Êm+>XWþîj㟠Š$Œ›–^[lH™¯[3[›4Sóbpéüq93Fí{òN0ž±ä…àVžgV^d’³™Õ}ÖåÈÖÂöEfµ}®QLÞ¥e’!{›:“‡]&*ËÊázçÐüÇ)†}jH™$Ôìù°êã·*Þ_[¾9ÉøærÃë±úWæë×ÌÑ­ŽÔ&†ig $î9õ¢ ª¹Oå̽ÿ™»<<#ò„<—ƒ/B^P–Ï):ž[|<§}"¡ØÍ):ª(·mÑ«C¾”ávÖ×…º»»­@TŒ¬³Kkb—müTˆÐ0ñ§xÃk±B×k–kªç=#Â0롲ˆÑªÈGsÃGxö^އ‡³%þAà!RËóÐÅöýCâ?/ûDfù,®¡(xØÈñ`Æ€-`WöÄf?Ô¶Õ騮3Fsu;w!+ãëìŽú<„Ix0lŒ3Àl>Sê“ç@´ Âþ`YØýeá#TçÍ|øà³÷ ž.´ÎŒJót<mÖ\„DI©—*ÑÅO‘‡btETTuªžFj>‹Ø¹>o·¤˜ͪ•œûZ£t ‚±ªE=•ÕÈ‹Ï"2§ï²ºäòpµµ2Í*Æ:\g[%¿…ÏæD ^"L/P:}ñD˜> IÄ«‹!rЭ‰Ò®œe’š&ò!Í ¨gþQ~é #ògŒ84înŽì"FC<ã ÑPø–èr‚ûj_ù|Ÿ¨l̇IJñÛS7°WÈcpÕ¯†ÿª„é2ð ŸUŠ~ øÞ¯d1ú“°Yš1cÊãç^¼“Ë–)ŒA¯žbqZŲ}EÅþ(ùöÕˆÍ~±ZÈ©<”!‚¿Åtòo\—™Ÿ¾–KÇ™ý6¡Ì)æx@eçÊ|"GR±'rSËø:[+õ~­ŸÅ°ßõ/8ë+™“y¨ ¹ ÄÃüqúÕ‘†u1˜P¬Ñ%ÏFW¥VL:Có¨6j¤6â~møPmø°²Yà ¦?ôô`ÄÄ"ÎE€ô„‡yÝçaõîlïˆ3>qµ f!ºÂlh&ßoÈ.èt.ñ‹Oý†ì“ÅT‡é`ýªe9¶…ô†tÜì#~†<’' ø2åWñ® íî“ÏbO9õ-÷-³²B¿…’>‹ØŒrÆpG嫬Ÿ>Ýjæ)æeÊfI+#Ö™ý!%ü­{‹õ³Påe?ÇE׊"¨€ï+›3VûR˜þå9úµs /GÃtC·*ÜÌ?è£Gêg×ͺW~¯zæ½SïýöɈ‡âá䀇a9L` â!ZࡺàaíÎLo/–6Ð}´̦6®ñ'•r„€v£ëê'7nƉ¡ßwrŸ=µK@¯ì8ã=Gn¶²H€˜·y&«ñÍVÄI*â%†¡ÝÐc×Y>‘ÏmJ5à¶Ý/‹kå›ý¤Œ?‘;]Z&±[ÅõÝÓ9˜ÆÐ#×Ù‘h¿ È\ÐÊó`äòOT“ÄNß×ÎfÞLN…üÆ–ò<ä ÌB9È?œd‹mâyØÏY èDÙÄOð€¥ú⼌+Ç©’R¾(l„:6P»"T·j–nu„Câóúø‰†eâüÂq·aæ`Í´A…Ïý.í±[A& Läâ›–Ô™Dkc…-ë|e×Yï¹|Ñýw×òVfsßYz&®•W;jRSÑz6‘ça·|nÏÃAY»x8-Odõ6Y&>¥býÍòÉ5<ùBNv,Ø/Ÿ‹¿¥:Ëoi…õÓëQ\~êdF_aèªJ–i^1¢Îì×Y)!»¨ŒYS8 E„*¢@P 唡eóžÑ,{^»bºÐCºÄ)úAúå†eO—Ç>&"1ã÷ºÛ.ø¥=â‹x€®ÇH û›<¯ÎC< ž¼m`À{'¼?0àýI½g¦;ƽî½0×;é:È+© ļs])…FùCâd¹ú¤$™åaѶçŸÍÜAhØåˆ.,ÌaÍëGAd§ð}÷L¾˜ù“ !_ú‡»ý†ì–o²u:™ùzê¦ÓòQ§­—)©˜PçC²¸fW¥XÂë¿ÊGþ*{›h}ÙtÄm99 F‡ù-Ì]–ÉVŒ¯s|'ŠJØ-_Ȧ,[ÀoÔ¯\6çJ€„¥úôÊÄ;`È(ã¯^ø¬&6P³$P }V;N·x¬~ᣆ˜Æ9Ã`°ç`ñÓÊ žô>4Ò‹ã\ðàÿâá ˆ! `Ÿ¿jóYÙmÀšNßµÜSpø9A8]|Š,YÙ˜JèPÌ•‹O¿Ùd• èÓÂq·_¾÷ÊÌQWg?¡Œ~Ró”*Ú_5׿tîãeÑ£5Q#4ô3ïÖ†Òߦ™4@5Þûâ̾ÄÃÌz„ð€Ç ) ÄCb›ïªü¼%‚Á‚ûH8K²÷Mx ö›^i'[?áÁ*ڪάé£2ÇÊœt"d¸bÚÅ´‘Š©fO{àâÔá9S†æO¹'ÿùÁ“åÞ^ðì-ùOÿ×Å1^§G3ßLfÎÌ7 ðC˜ØE`/á›ÔjNÅ:ÎcØ‚Áù-ÀŽA7Ü¡ž~SÉêÀ‘°«¾º ûûQ_>rÛþ1¿ÿÆà×cïøzÌÀýc;è ÿïÒÆÜöÝã·yLž6Ú7m”Ï‘‡¼>ÈìŸ8¬ñQðØ!˜ÉŒ‡öa›ÀL&Xá’í=IxYÏ+¼ =“®ŸÊ°|n‡¼ëÁšªrµÐ­Lß\‚nG‚yM*æv'óÂ)ð9¡i|!wÛ6àzß*Á Ä‹„@…Uá HB~âD× ×Üeòr‡zñáëÕìübÀSŃ“ªåÑW*…TýVL@13ükfÐ_)T•”*©(T¤n¡nÝáAî8ÆÂ´$¶-ýFEèbØ6Pν+™eiF©oé\÷AŸñÚ7Æ™ÂŦ§0ŒÈ‹G˜=&•0÷íq\oJú”7³t³ü’^àÙèj¼0á"ÃÁ9/ç˜Q<ÛtÕUç [ÍmNÏn¸ÐücfÃ盎k}¦ùðe4”èÐËHyðlJ˯ë®ç•"0@ÙW:.\î´#gšÐ¥B 'rÛOär<|ŸÕö½ó®GY‰'í¬fîùÍI~«<ôx¼à—†#ÍÐHII!WëÛN°´ÿ4ÎíÈ(õï|4pü˜×ñ¢]PÚù¶ÃgMΛoÑ 7ß´²b˜˜ƒ„‡‹'­¯0æâ×IÉÀIf«“XŽ)}Öü»é—lt)_ðp,éðÅŽCYí‡Î·}wƵ×'{yåjs¨±FypwÜ\<ü˜…îPœÊA×$± lŽ^lÁ`<8Ûšö½^íùöÍ©†cç[_hGW¤yW  Åw¬ ržiþ6£ÎDyðt»¬n9ö[íg뎟­»=bÁ0ž`(R7™ºàá ¿~5å¡¿˜çñ@å <‰†šÃæa<ø'ePݰìñØ÷âIÊåòàbô9¶¨ÕDÌœ±×ýíÜWä±<Õ±ø7²lP$(±ÂÏäwcjâ}FÓ—[0*•ïrÙŠ2ð¶è[Ø<îî ʃóyúZÐÞJSnl¼›Ë».…Èi^H¿Pxpûêg]ª ȸgÁ<iRŠú m­;‡ÖŸ¼ïs’‡^¼Nê$³7^ ¾æ‡1ƒâK#tzQÞí—>ÁŒ›mkÁƒÛ‡ƒ/À9°ƒ‘ˆ b;#·Rý“B’ÙÝýâFl}™‘k1,„h›L@ˆqÁrLéOꂇ¡}“*Êåò`‡Þ Uû‡9‘£>_£¼Pzåœªä¬ TRpÚR” °ìêyèGèMs&•ôˆ(DWš½ñã¯FÄlf&¦¸GÝáÁ³Þ¸q®A®øËçMÈA€+€!úͽ'n»RÁñ€_  Þ¨@¯]à÷³„O7Õð&7h6èÁMí¸À3¤_(¹î>y ß·A»¡’·o(6 0ýÂeèǪòb ®ôèþDà±;;;@¬µ»^©é|·£vS Ï $0fïðöwP  šê kª”òþÊiCÖê.‘<(ñ›ÛJ Äw{ñˆâQ/ø;hЀתˡ¯U«œÂCKKsKK“»$å{[S|“W$/<ë ~U¹Î>Ý|^óÐÔÔÀªÞ-2ãA|Q×Â?¤ î¡ßûÒ + e6yèÉÿçÎ󀻦ι*Ü"ü‡ìÌC‰…;BBvâ ?$CúË?Ô™ó ˜åxÁzÁ‹ôk§@ËC©Sy¨klÕ:Q—v3!Û/q»GÖ°H4^Ú‚aƒ Þy íb@éA/ø;hÐåz•}to}{ÌîÁ††kÎüq‘RðQHÈGÂ'q”^ŸtР:<ˆÏGõ€Ü/õõ5NS>ê÷|IâádfõQ” 0ìÈQ4h@ƒVéTj@õõÕNSþ¶mù’DàaÕQHv¬bˆ£”åáªyÀýRWWå<¥%3A;òˆ”¼­!![óðg]UÞŽ &9 ¢<8hЀzÍû<ô(ž¬«ªkk«œ¨¼íALðÖl¸XÖy0ÿ¿Ø›žô–5ƒ¶8zâôc}­ÎA´¥Š„-ŸÏX»ý‹ƒG ²3Ü¢ð@}‚5CÃgòÖ¤ö66TØâ¡›ñ¤Q—ŸoîÞw=?Éݲ²:^P§`Å WýõÿÊ››ªœ_T•×T)ëkõMUÍM5-M×Zš{QmmM–ây—©&–/·OÒˆR4hŒÖ–º–æÚšª«òp3ˆ^rИ.Þ÷§<ô/낇ž<ÿp3ˆ¡æ°yT½'Ê)æn 1p¶S1à…rALh-U¿ÀðØ/ƒ¢Ài¿aK{ÙÈsŸmÙÊ&)víCäé{$²YI²XÛ²U²­¢ì5Ô d³ßæV¹ç?¿‹ßòڸ爇;v£O**VÿÞq» endstream endobj 277 0 obj 6627 endobj 275 0 obj <> stream xœí xE¾À;É›0š§ot=XTñ"x€„(1!˜B8C@b€D0¨€ÇîC>V]wa¹ÄÅUð}|ŠFÂ¥"Ç—+LÈE9æžÉ5¹Oæý««»§z23äèÌIÕ÷ûæë®©®®ã—ªêž¦1›E I÷˜š0“®"¦äq„3%Ì­ÅŸ L´ž™£eæéÑÆ<žYFWPáTfëœueÅÕǨÑgˆ–ÝP³°ËÆ„(™‰*l ]-ŠŸh`^É4Û Xï%µýV¶ XcþÃÿ"]o~ü3³ï_;[Ìc7!ü·"^ÙnœÀÉ8(OOp;ÔbpwŸö@Ý'º€^ö^Ö J0¾¿µ—Ás¾dð\fê—|R J ùV<¹Ñè!#)=´?†ÜÅÝŠÿfq7 @$¹‹»R÷/Ð/© `fÕ0~–‚ ¸À„•2±F€YRŽ7¼ë¼’šÁæ­6¯•foç‰7p¤÷Š›0¼à”nŒÇ²›NŸ78nmŒGB³gl“W|­W¬É#¦ŽYPÍÌa?çVÃ.SÁ1¯ }BL¤›h ˜¡d³ÿB‹!éÌœ" °HX¤Çn€ä†зP$X¥Çy½ ±Ð 9Û´–›¥ADª9 £1°ö`VìZÈL)DkBa‰2Œ¾ÈÜ÷=’aÔiô-øQÀA(!XÁñFµ!rI9JCJèôît·l×Ëf*ã6ëÕe-öV†öBÜ'ŲñéŒÿ%$hÜû5·p]SØñAÀÊ ð…F4Qfl)EB„¿tòfù°â¸MÚæ’Bã§oéׯhWDjBÕqÁª…¯ª^R-xPÎóJg>‡ˆY:¼pÂàŒˆç+ó2ã6Áb 0â(3lòá±=¶|PÙôAp€Ð@Ë^jE&ã•ÓšË9àá×%`e€ÁþÒË>{»ò›U{¶T|±ÞøÙ*ÆDßãõÆéß[¤[½@·:Z·j¶våLMb˜:~²*æ•âÈQ=2Rmhâ|xä82áî÷aÖ@»þ—<' î|7çÞ ÿ{͵;V_“¯¾v×Ú»ß+ìÿþµ;WÈß-`Væy¿SÀ¼•ǬÕ2qy¢A¬½ÉnŒKL@³)oB©°ôÆV}·Ý´ï‹Š/?.Û´ÆøéJÃúåú?Çë>ˆ%ôkêÞ™¯Kž­Iš®N˜ªz=°döèÌ)Ã÷>w/Z0€OkïZZÀà°ô"³ô “˜Á,¿âµ2S¶¶¯0Ëè3I1~»šIPí®oKxv™ˆts„ó‡¾0>p3!èS]ò,0¡r×gå[?4~²Â°.AÿþbÝ»ÑÚ·fk“fh–‡«ãCÔñSÐ óŠrÞØâ™ÏgN±ïÅû°xþxÎâòJ&¾ y¹¨ðxfþñ¬‚ã™è‘b`73ÿˆ"ïè•üTEÞÞLåèϲ™° ®Ÿ)úáj‘ ¡Jïƒ6izÙ¦Õe›ß.A1+gk—G¨ãCU‹'ª(çŽUÎñ5?ï/ô-Š™5í©ýcB>¼˜Éùëðá¿ Cü2ÑUFD »ðlîæEß”z†‹}X]S$^ÁÒ[Õ+ø,ƒ[v¾ƒ¶“Ó!I}²Ë›º3peÆ7„]6Aì¬!Ÿ¼ #ƒÐø¬ “T ƃ ¥3ŸâK§?]4ý™¬Ðv>àñ|€˜ñì5é %{D‹•BL›Ù|Åî.Ðe¯põ¡ø«/î¼o€|ln;*¾ Û*ŸŠÛ6ÿíA{d¸µÕÁ®înÛ#ËìÔ’8ôA;V hšø V÷N´Ðõª…ªùþÊY/Zd˜öxi؈âð§²BGìéA·'2DãƒàC¸š÷¡þŠñÿºæžî5¿ @«ða 烕ö|€]Ù³ë|PÛVœDeM›2ô¨³ÛùØ(_fW”‡ô!DäƒnMŒ®&à3y®6q† ¬,2„>VòHièÐâ°'²§>qà¥/äÙöf¥YÞ‡f[C„ˆ„W ÊÐÍO‹莨…ŠZr©ü2lÛªKx»1ÙêÛt“èØwêÄsÌ5ø+ê©ô:îX|‘øävLJ‹¾*:Ta+Ï:«‚±ƒ.³½ȺðÉ$D%B´‚¨ÓçƒËtñö|X9h’"ÔK§™ÅAþ¸êµG•Sÿ¨ }¤äµ¡9S†}?ç"FE>€còÐ/¡p–HáƒcZ–þ3Ç+"ûÀ)±šlü–«Ù;äQ¸‰jV EÓÇ”¯Êàr|O«Ø‰ªcï·²(í)Ø,I›2¥ññ½hù%—ÍS˜ƒÞ>Íê´²eû²ŠþIõÃÛaë|¢Õ²è`š|>‹ùÔ߸.³>|û¬ÉG‰ÿRÀù€ò<Îåùl¦¨`Ïfí,åËl+vôkú2Š=×WpÔ·2‰}0ŠAÃòaöhíòpÝÊ(\P¬ˆÒ$NGw¥–L:Cõ”:b˜:ìuèÃêÐÁ¥Ó†äNrð…ȇ±ùÜãÀOE>Ì2v܇å;2<ÃÎyŘf.ú…YÝ@6¾Ï íÐé\ä7_ø Ú+‹ªNmeÇøÊÄzm ñµ'q³ýÒˆž4àó”ûÝÀ»Åhw¯|{È鸳LKþr®ý2lJÅ}+_fûðÉ6O°ÎS6M\°(K™ÙŠ´ËáoMx´X5 ^æ×®:Ý!Òd°ÎW:c”úí›3´+fêÞŒ„Ë Í²P«ñA9L;}ˆfÚƒšÐ•SÌøàÏõG>ø#ÍEãø08“ñ/D>D >´°ë‡[ø°bÛ%O˜/Öèw´9uÌÚf®ñ_.á v ûê§Ö¬Ã‘Á‡Û8Âkù¶ý^6·žköa¿Ê„1ï5‰ò´ì¹¾¥À)“¨#Þ†® ‡ÝzîÛ:›‡¯:g¶(«"«<ë‚Yʼ겭|3‚÷WóÐUƒ~J–‹U*àkOª^Ò,&h“"4‰á býñÆÍ:“nÆ]ØÚÐûTSî»úêÀ}ÿù0¾)ñL!òáÞ `ù`€1Ÿ=ô–2­om9ç9C~le•˜?ñ>ŒWâ[‘';‘(2í½Éúð¹|fýNnÛ}²˜&¾ÙOÉø¹ÃÅy»å\ß½‰m N½ÉÎDûd`æœ&Þ=—~œ’4vòÞ6ñ:òRÈgT ïC&J,äƒÆ‡Sl¶õ¼ûøÓY倔ûOXÅß\”qùHŠØ t¢¡Êhõ’`Ͳišåaâ_ÕÆŽÓ-²\_èÃî×M¨š4 ï•ߥ<}'ò!@Çø•Z|€ùÀÎM ªÍ–ÐÌöBÛ[ÛÏ{μì~<71ëZùÎÒ21M<-¨IÍù«ØHÞ‡ò™Í¼d1ì6òáŒÌr ËŸÈ<ñ!ÆUƒÖÉÇWò>ä)Ù¹`Ÿ|&>K#t–ÏB£íÃãkкüô HŒN¡k ŠJæi]0¢ÌìéläÑBƪ)ºÁ<ÁŠÈZJQ4ááÒY/ª½ª^2Yè!Müí’íb?Ý¢ ÑO[”˜ò{MÐ]Wý|RžôF>@×c%Ð°^…|8~S¿ûý¤¿ß'ýÇ‘|lÅ=£ßõœ›å™pðHh˜n‰¥):ÖŒÀD Ëöù«f¯¥-ÞIÍý’Ú¼WpOÁágäp¼å)²D dcv¡C±WN>üvæЧy£ï¾øàõ©ÃoL¶(ò¹â¨ç‹#}‹gú–Ì|¦4r„*b¨*l°zêýêàêÀ»T/÷+ãyåYfï£ òaj R|À󅨬ò!¾Ù{Y+~ÞÉÐÎÇJH…ì3žˆ}&—9HÖG|°©„º¼-}òðKc\zùEÐŤ¡ŠIÃ˘ô蕉C2'<œ3áœWæŽãwîKwä¼ð_WFzœÁ|?n°µp½Iø€ÂÄC%¼š¬­XÉöd¾Ø9¨ËÚÍÃo+lNqÛk*r3 ßóä]ûFþþ{ßþߺ绑ý÷°Ô€¾¿Ky×ÏÜ™ú´l㉠TxexN@ÿXÏ#´ƒžÉ UZžÊhÿÜùk¬3±ØÙ Ÿ2íœ7°ý øó¼\ÀíŽçÁ1ð961&ûÙ6àzߦ ä«„`…Mp„ž8Ðùà’; WЃ5Â÷«Ùë‹~Ï L¨G^/ÓçQú,Œ_3ä;fÀ_©”2êE õB"øpõ>ÀÅÈC_S(ê…DðAî›O} ôF>üò8¥›¸™ýÕ†2Ph CG|èç›×ë|ðMHs>®íJIÂ-|x˜ú@}è>lP*õÊhêƒ8¸«D_+öèë÷l°ïƒtb¸¶+% Nð!€aþ~‚Û½ôQ@ÀGŠž÷Á‽î¦>Ø Îð!`ÑÒ€q/9Õ‡èŸë•?+P7í.Cd§ãm.F®)”Ye6ÓìÉ‚/ËÖãH.-'œ…‹`tn×õHpŠ).bv“>(þ>Žá« ŠmÐþÒƒ'6r¼BdJ.†ß¶ãh`Îʇ.[ŸeNÛfß;…ÆÌŽ"óÓ°¢o¹˜õYhõ])Ièˆòîû ÏKI`û·ýø€Uºv… ”r÷RfQŠ^<¶tÄ®ûàÏŸÿÓîšdŒ¨å Ûü4n£oÌ/2í’Ê®7E}Ê«x«ô x7n5_°³õ{v+•ì(!¶—+\Ù‘çùÀÎKÿ.ô²xEáÀ‡Î¬7D×›»Ñ¿¥åF{blG“¾•–å4|¿ós—g^¢ð—0.íIiBG|`ýÀmÃà/ ðBÂì!ÜBB Có…xÆ'Ö~ܺ‘èëõYlüÏ i¬§ Ÿ/€×®N곞 ××™‡¥õAX å7W$,r4>´ŸY:ჳqmWJœàƒ3¡>t3¸«4t-tćn®'©½(tìùêC_ ÔÈà~ÏGQº‰#îe>Pzê…„ú@!±üÞ=Šú@Á÷¨ê…Dð¡Ý ô>jß·;\‚Ùl¾MJâ6´oÒ.øàÂûi·OIÜ&tßJ_€^oRH¨ê…„®($èùêÞö|¥ç >PHz£.˜Ä 耽f=ù!}^®{úàÞASÑz¥¸íB^ÓÙ¬†“À‰Ë ?]ª=v±þè…:àð¹†Cÿ©;˜V[¨Aÿ-#õÁ½ÈPb¸Y ¹™]‚Ä2®·^¾Öv!¿í\^ –Ûz&«õ—ËÍÇÏט©î`dò”­Wn´Ø„óy­i9­iYá× ä fꃻ˜&ðÈ~­4ÀœËi~¾Ü&>ür‰Žî\æz¯ ð«:‚ƒ×;téMSŠv¯I>éÂ>qe€$Z0\g ¹-àÀOé­Àñô¼!¡ìË ,onII¸Å[\ºÙéõ!xg‘°ÝW•€« ðàºp=@Ѐ˜£¬€„>l °ñ6o ãßƽ7Œa_Hh+=÷^ˆ äQzÿƒÈb—6„}Á”“ÉxÛ’ˆÌ¢W¸®.äµA×cNgµG.·1X דŽ_ëdõÆ0ƒ±9>éù÷GqðïéŠB_·‹°|Ám)­3é}AðÁJ aÄÞ›c¾½7†!v/%é­Üjr¹µäº'°ˆa=‚¸ÁÒãè…:aÍ@j ÈÀSÆEÉæ‹¥íÿZ¼1̦öÒKåÞE}ÍÇZÀt:§ƒŒ dH=Wn52œÈj9‘Åùp8½ù°t÷£l¬'¼1Ìzä·ž8DémúÐéù†ö´R#99™ßã»EHùOý™¬Ö´\ ÿÎAÇOÙ­?*ZR.6:Wg–îz“X r×›6Þfë5’8¬'m¿a¬;>XN'6G¢ BösJ¯ ûÿ]ÿkº ‰È±>ÍBºÒz0½åàÅæÏ9÷þd¿¹ÚÚØ@}puÜ^|ø)ýBq:Ý“ÄÀ²L8r¥€É|ؾ)å7z¿ÚýÃ÷§k^l:~¹Ý‘æ9®@?²ÀÊd8p®á‡´j3õÁÝÃ5eãÑßLÇÎW?_#»°zÄÀ4#ȯDïæuèÃuþýÕÔ‡¾ÜÏJ7q'(=õBÂþû,ê…ƒú@!|èG} P(b¨ê…¤½.ûÅU˜Ífôþɇ¾&}põÍT\Úûàò!‹âB¨Ëû«©êE õBÒYôÚUÑå’ëŠ Ï;ÂÜ3=‡p¨Né‹P/¨]¯/û¼\'|€L4%k¶~;4j3.Ù=úÁ’¿|­Se}¼¾õ¼‚Ɖ|÷)…ûÜ©È)ÒAÖný®ýßK_«o|€¿”“— oºUh;yùÔ«ÜPÐÇ닞êÌï0õÀ€ÓÖÖ °¡Å hii®¯­†zU–õñúvÖø{|šQhrëj««* P¯ªŠâ>^ß®ùÐØØÐØXï44ÔÕ˜*Ê >ôú >tðy9Ü>õõµ,5n@]]µ©ÊhÔ•:ðá¶«oÞ–  -y=P_öùêNüÿ¼|ûàÌ«¥%o[ðO®ƒ¶e£H®âl‚c‰ÿæ1‰OZWg2UŒº‡>t£¾l±¹ðæaiŠM6‹¤õíª-ÊYB®n d‚6_åvS“X%ê®n‘°Án»*å1µµUU•zƒ¶Ø¡]¬/ª“xŒß=–dÙîB³H]_Á‡~{¿=n!gé·æ1¹ÿ úG®ðiõ­tÔÔTVVèôG>tµ¾Y[ƒl;wk ?^°ß²uÜšÄE%„ˆA-`}HnÔ—x>ª>9KFª`Ž(òP"³üжäHw.1ÕÕåZºÈ]¬/ªà Á‘åLâ!6“x„Aí¹%ˆš‚l(Í%M}»êC%PSS!9›‚‚6åˆ"¡–xaË2Æú[ɨ®.¯(×èÔ7úÐ¥úÚ¨oY'mÊ!“ám«Éô(°ÍÒÕq\ß®ù ä,)‰LÀ–l"&{cPÐÆlüY]ž½%€IL‘ôŒ&SYy™Z«ºîÀ‡®Ö·]¥p½„HqmÇ‘V™XÅHTßÎþû,Ü>0æ&S¹„do`7fs»Ð’Làæ SöÆ@.2cs #éIªª²2£Z£täC—ë‹*Å,KåwS—¥ZjÄW™ˆáë‹*›˜*äƒZƒØ-7‘‡HZ_âÿ×딜iÒ¶SÙH®â8–D!íI«ªŒeF•FYèЇ®×—¬ q“Ê_€&. ´ø ®/lMAì2V‡HZß®ù äìTVꥺôšúN};ûÿ±âöas6¸pñeЕ¨JóÙö)éãõE¿w³ïè”eFѨÊšÞ TA§ øz6*Jûx};ëƒòÆ¥¡œüÏ…Ò¢ÜâÙ%7r`£÷å/*̼v5ýȉP¯“¦×·³>¨Kq¾ž²bó7Rs3Òz;9gsÿN9z$8qc§»ëj}¼¾‚\Oê5Ùðùþ޽nö<Ჿþ_m­¡¡¾¢×·³×冂Êò¢“¶¾®¼¡¾²±¾ª±¡in®ï9ˆU75V76˜*ËoôñúvÖŠ{C}  :óüŽ¡>PH¨Áæ~(Ѻ[Ñï5ƒl¢ô @†§å|x-,»ø {ì"°“æ!ûØK&Êv—ý¯ÈÃw‰°[H2[ûØËÙ^VŽª É·¹ÍFî|õoQ—oÐÆÿD>ܳ}R(,ÿL•£ endstream endobj 278 0 obj 6633 endobj 280 0 obj <> stream xœíZKoÜ6¾ï¯Ð9€7âð)`±€×ëÚ[==¥M‹ÂÛ"¹ôïw|iEi•ÄNÂ0¬%¥ápg†”ú­êþÙ|ìúî¦Ç¦ºZC×O¿u?½éþÚ¨Žþ>ý¾Ñ®Gºó†®ødø‹Cªý Ýc÷ÇæÃd-·…ˆþÞŸ7o8›îøw÷gö‡‡Çilu÷ðk÷ö„mÓ=|Øõjÿðçæþa󎥿Bn¼ß†DØúð󮇽Þ)¿¿Q»~à«ÚßÀ®¿åëïàS³ëß1|Gîe„r{Ø)à[v£‰oX¾¡ùóÓ)æh ]šîQ"šÇÒ ®y^œ‹ ƒ×§P ÁW )àÅæ5Ć´±Ü¶'H‰ªYmÄ"QÀ]&SŠš‚´ŽP!ñL&Ò'þ12ܧ+>–޾'Žõú*ÃÔmQ]‹ —2•¹RFÙb£*m¾M‚K[³Ú$‚5¬öŠ1UÛ e•—ëû­]áÜEÖaèy €´IðÐÑŸŠŠM·½‘À´Ù+“Á#v¨vI“‚˜Õ % p.ȱpâóH>Y‚xß:ñ»g¤h}Êrc¤_pgåH)Ö³S ±>™*gåu=Ô¦ð')fšŒ®Õ__[Šž¦’i2:Š}cœyj‹§Êy¡+¿P©Œ@ö»è*‡}©ÐÇ«`EpkW%þë¶h1ÒQµ©²ÕL ×¶2UVÅï¢3ÃÛ_ìFV,>ÌAðÅ‘t‘3¸UirΈB“G¬|2ˆVT=v\pBÚHЬ‹ú(xé9g.wô´CjÉ_%©­…ÓmÎ"±á wk A8¦Jaɘ cþêÚø%%ð9àšojµlLl2­·h¸ §Éòû7\K«9ÃõU:“\rí|hì!Íë>ãTâ%™÷ xÎyÄêÚ Íò ¦¸ý¨®Oé RÙbë0šé´O1‹KFìHüf®r¶¶ÄûWgó!J–8JÁY¿Ñ¼~cå¸ÿ%ÏYckÌ"-k‹Ÿ]ªØ»–öœœyƒü |¦-G;ÆE(eŽA/Ò,:Ýôé´òÕéÏïô†µsP åý¼ÄÔé90Í$:`œ†øJ%ÒJ@€ÙWâx¬ áÕñßÊñ kc6Ufì¾»}ò^Üo]Ê“‚À­<gÞÛÆ}ž*øQЍáb y•#B¯šÎµ9Áø’N2#ë(\˜ÊGs¯{nžsŽÐ=Â®å ­*عz‡ˆ¡¦€M6(Uz‰)‡ÁÁ([“iŸ6ó¯pøOáÐpÄbá1í@)?pŸoù<ÚËP~D盞 •ƒ G“f]²ÜȨW ¼ 4s–ìC:"=‹”Fu‡¸—N0f!"Þ §;á~?Ðe1Çq/ök\ã¿ðMëâ™@K©GãžéâíÒ’%ígœãsKÎïÙ¶äóGz\=åó¼êÆçìé ¥õö–O£áâ,ò!~â_KŃk9§UG^Â/{iñC—þûôÎDîæ[»l¢¸Šï¡êï> stream xœí |E¾Ç;É Dóôí‚‚®¨‹Š"žÁ¢ÄG0!„€@8ä2 T@×݇~Xu]aYܸ«ø>~© ZAPËVuLÄ/Ö0/0 Á«f\˜ÃßD*îÙ* ðÀ"©¼'(,òW+þÍâjä!®JA¸~A×tƒ˜9MÌ8ÑQ0Q§˜ø*&±4h™ Ĭ¨Á6BÒ[BÖt!Ì Ý!ë, ¼[!ïàÀk¯€{Á1XA«®øXø¦¸Àqic¥v/kYÙ²¬!hQ ³°‘y†ÝÎk„C.dQ-§ùf´…¤j®¡Ð,5ÏD–‰3›«þÚŽ½ÅúèáCÇYe§7JjEP÷«š5ZûÜ4ýó³ôkgžO‚á†nUœÌ?è“îÔÏ®›1L7L=}XѤa_?4ñ0®ñp{òÀíyLdâ!Ià¡“í?ôÀÃÚ÷ÎC{±¸„¾£=ÓÂlêà ÿ‰JŽÐnô^ý§›q`ì·Ý Í|Ù~:¯•+ö; .Äz¥]’¦xhâên´ ÇÌP¡Šxª2[¹³ 6/_Ò"7”T¹,MFþ`â3¯?k+…ˆÜØ/ù hMnBŸ’=.‘ŠzzÀ§ïÑ<£K›$è×$êÒD –Eâ+- †Yà ñ7éãnÐL½áüSC¾‰øÄÄJ„Äýeˆ‡ëÿ†x€CÄC5ø|öÒau½°ãdð,úØÊ"bþÈó0A?¶"N2(p:Œ=|…åáïa³[3 ¸l÷†.jç‹ý§PþBîrišÄa Wwäac^a[¢½¡@æ3í<F.þx5Iì”Ï;ÙțɡPøèJž‡<YHù‡ŸØd[yöò·“¥€. ÿwÜ`U||:”KÇ£’Rn4m„:%R»"V·j†nu¼ÃʧôËÆ–ˆã cü†éC4“?ù›ý÷]xˆ20ãªDÀQ ضia£E´ÖQسîvý<ûlÈJôý´´ÙÜÅW–žYÔΫ©¥d=Èó°;lvÏÃW¡‹Ø}ÄÉPñBV$ÓÄ—˜ÖÝ6¡Žç¡PˆÉ¶{Ãfã»\†Ê _l²}ùÊ&Ô/?~ "£[ºb…G%Ó”?ñÌìíl¤ÛI<Œ¬(z¡ù„*’šAðåo©šó¨fÉSÚS„Ò­œ¨_¥_:ΰä‘ê”ûD$¦þVsÍùqáûï€x€ªÇH ï›<Ð_ƒx2aÛ qoûÖ qo OêM™®órð¼üàÔ+  Ôóú•r)4åG:'KÕ?I‚Yž!Êâü³; »Ñ……#¬mýHè™À%|Ý=Z(Fþ»Iˆ—õÎîð¡»Ã6Ù»œŒ|%sÓ‰°‘'l§)y0á™÷….êbv™Å^þ9ìΟCÿH”€¾j â¶š˜£K‚ÇÜËÌôx—&ÜP™p? -‰–ãß"–Eë–Eé–Fê—Ý(öd<ı3=¸i-&an¶8¡—œA½²)HÁs}rŒ°\“Gúð®öö}¨ùí\Æx°™Ü ƒ $ØgB3·Å;‚ê™éuh‹Ï‚7ÀA&ãØÉ6‘g˜hUPLnðD$áõ‚âʰМœ8µ8+ÃzÞù56€5©Â×BŸ2íÜ7º }ŽEòz¢”;œÀ ‡Àvl ÒcÅÜg Ø-Ô¾M¢Uˆ ›Â„øÄ…¾~rŸ)¨/äÅá÷ÕìøbàÃ¥CRkÃ’.šÅTŠ3®”þ3ø/”*3åJ*Ê)Ê)Ê)‡«(TÀCdsó‡”*,Ê)Ê)ÿåᵎR¹¡æÁÕo»Ôœç!,¢„òðFy Fåi”då™±±™å^,f¿1%ð@ÔµŠ‚†yˆb˜¨wq‡g^Šz]å}Ä:¶WÝ”Þ|ÍCÔ’´¨ñ[Ïø”±’³2ÐYéxŸ l±6ãdfÀÉŒ,ÈÇÅñ¬üÒœça`D±'xx]µo “º‡äAõîx®$Ø ã´}Ƕr;¨3þ§ídC$›•Á0"/~k}ÂW›’:åM.‹/©žžÚ n(²8<ÃíFÁï©èØ6"í]¡–¥= <¸Òߌ7³2Äz"|;Ú•ñ vìÄá““ÔzyfF}Vÿ°¾âÁŒœ¿ÔàŽ„ØK¸Ž„ §Ú ‹¤Å'ü=×o$êÿÂùþ‚í8’$¸$¾Îß»“}ȃÐ+@Ý ®­H]âÈ?­Zx æ”ù˜_Šòà†Q¨‘Fy Fåi”j¤6TnÈIÂü*oˆy¢Œ¹ù#ÊåŠåŠåŠ劔Àƒß7©¼!&ò"s‹ <ìýtwŸÈb±ô“'ñkYc/yèÃwkýçIüÚ<ËU`‹ò@EŠò@EŠò@EJྠ2Kþ^ò@Ey ’Èyèó‰%~ªæ¡¯_íøŸQÛtµ]ç*ºO·ÿœß–•{tìlÛwgšœn=|ªôíɶÿiÙ—Ý\¦Cÿa«+<øëú0J6€¡²úJ©îJA%”{±ëì…îS%Ý'‹;AÙE]'ò»~8Ûqô×&‹+ói)þhà†bu×¹KÝ€&á×â®ì®ì|$€áÇ\Ä8 å!Ð š ìr.tX' ;ïÏv ~8CýCà[¿à­ëÂ^È9XÞÁ­•¦D¤Ë¹øñj®t Q‡á"Ûa(ê |—Ó:šÓ‰w¼Ä»”¸rËþÔVqée¥;˃t©å £ ð Ø9Ä-~û€0AÈa «< í[£l¬Æà`Å0~­0nÝ0†]ÐV|n]ˆ­©äUέÿ`½”{H¸ áX …_?ÄÏ—ƒq%pª¸ªëx~'èÐÙN!#átò¢K€á]lú|{+†!íI#€ƒø²=5.=ó _ó‡CîAü´ëqøT‹Ðg 1`àMÆi'Û ×xH³þµ:X1Ì&öâ{ŠqÅHëukñš„~êH;x²½j $Àp,¿óX>Ç÷9ß:û>Ê5lô'¬&÷üò†Cß&.·üÒpD  ŒŒ ru1ÿs „íÿOë‰ü®ì"Qÿ.D Çw]ߨ:í?Ýqàd‹Å <˜%½Gn¼icÅ01 ן´½ÂXoxo'%ÉV'&°nSüʾüwë¹è%$R¡(àáp>Òs]ûr:÷îøæ¤kýO~ÏòòÊÕrl^àÁ ë?P|eÀÃw9è Åñ<ôN º @¡s h,€‡/mßÿ‹«ï£è÷nÿ³/Ž7>Ý~ôl'z#Íë¨ (¾a=€á«“m_g7Z(nÔ—ÿÒpäׯ£¿6 ‚Cè=bA3ž`(Q·Z(Ô¤Øn9kb‘j"¦ÑÑ2ƒ=ó ¾a°~M­tb|Ç»¼$ª_kÿ [Ô­hÍï ˜{Ò„5*Xv²'Ä7ü l¥Ã"Í—<È+¶·¨µlG²x)Ã8^/½GäÞË~ôTö7,Ò|ÊÛF¤½+Ô²E­­yp¥¿áÊö ¤ù˜võrù÷òE­å;è®#!Èö‚ûde³½P¶S Ìç<ˆ ˜Û^¤ÚV-‹cäãMñ/±ˆ¿Ð³×ŸTz’¾¢FåiÍÃÙc#R³éÖùm`ó¤r^€D`ó€™÷¼¶¨ÕFuJ_WŸ7Ø8± úþK„·¾_x“Éÿôç䋎ÂÍùQ$Ôܰ>伺8ñIœ=+›™ïÚü(Õ»Køp")$Ôˆˆ½*·äU¤?|¾úÐüjÞ\ŸE^ÎQćPz//÷'Jø“ ª~#‡¾âA˜Wé|בÊgò=TýY”*R”*R”*R”*R”*RLäEææ)TXžäÁË+ÃPù@½áø.ɾYòâü(~¾„3!¶Ò!¿¬ ïË%/½‰PêBYáoU¾ãAöbÓ™‰¸¯ÄóóÔÄodÎÄ Ä~gæGy€³Ñž7ã'ð8'°äÄ?ÈoŽÒoÙ(·Š”u—æG‰mï· qŽY 3qKˆ‡[zÝ­ïa´5×U1çC<2?Ê–ß¶"ÌÌq¸N¦ÕåÎÄ ,õŠYY¹Íƒ›?7k¿íLˆ½º¶UÑÎÄ ,y—›í…ý8’¤ìχ!z¬3q&Ä1önçLœÀ’—y°ÝŸ´ljùQDd«î¨ý©È‰ÁÆ#04$î+þü¡A“Rx~]市ÂIzuÏOªÀySQXn€mÚù™õïEiùuuýj(ø¥d-»PÖuö䫦ºTáùeypáý4=àpº»»@¬u€:;;Z›!_u5å ϯ«<ÀïÒé@Ö(ºÜÒÜX_[ ùª¯­Px~Ýãáòå¶Ë—[Cmm-M µ5Õ:<('¿îñÐÚÚ̪)ÔÒÒØPo2ªðÐïò[¼#&fG±òë.8ñFϪø½a…˜÷ P —q6‘tþˆ‡oÚÒÒÐP_m2T:ä¡ùe›³ç¿õÌc“ÅâÑü < í,JÙƒ:ÿ^4³ý›¾5õí=-Í&…ç×UŒºؾºûó›O¸ê/ÿ×Ü\ÝÖZ«ðüºÊCMui]MySƒ¾µ¥¦­µîrkýå6/ª££Õ{"nÔØ~¹ñr[C]Í%…çñ@ÿ^ŠåŠåŠåŠ劔Às£ 4S‹©øtµ &¶Jîû‘ãaÈWhà‰ô¿cO²çfû²M’ìGöO‘—$‘݇$“µ/{)ÛKÊQA¹Íq™Û,d׳ßC^>F;7ýñpÝn´¥¢bõÿ›¿0 endstream endobj 286 0 obj 8018 endobj 284 0 obj <> stream xœí xE¾À;ÉKˆæéÛ]QD¼ $&@8‚ !Â!— Á ^ûÐÏU×ÅÅ]Å÷ùy AÖ¸\aB.’È1wfr_äbÞ¿ºú¨î9˜™ôÌ$™ªï÷ Ý5ÕGUý¦ªú b±H3-+`z6ÀL¾€˜ZÈWÆ$”3Ok˜d=þ X\É$™§õÌ|#Z˜Ï3Çä ª½Ê\ƒ·‘gVšýxŒ}NÓ³ ZvVÙ˜ijf’ hUâ'U2OäXì¬AÈŠÆ>ë:ûm´üáw½i¹ç=Kø_,áÛ-c¶""v žØiœÀË88OÐò1¸:„O{ ê“Õ @-‡¬ê%˜ð߬e\`WÕõI¿ )%¿+îÛ"z`ÈHŠç€òÇ«¸ZñoW“D’«¸*pý}ÖtÌœf¬ØP0‘§™¸ &¡8`™ `VTaÀ ´¦ 5m`ó|gÐ: €—áSˆÄ 82díUh^pÊ^LÀª«^8.mL@J[à²Ö •AËê51 ë™§ÙÏyõ°ÊÅ,ªæ˜oFŸ“XÉu4ÌR3Q¹LD‰èô,æéR$,1b7À rÃè[8%euóŒ±Ø9hÛ4–›£C$j9 ¢10ö`W[ÂL-AcBaˆ2Œ:ÃÜò’aäqô-øPÌA(!XÁñl½ˆ¹¢ ¥!%ôÆÞT· ¶êƒg«—o3jÍíöF†öÂòwÊ‚'d1g‘  póÇÜBäitMaÇ™(à d✱¥~éäzù¸²å[õmå%¦wŸ7nZ¤_›¨K‰Õ.Ñ,~RóL´fáx@=,P1ûaDˆ²Øa%e'Üý™-46} 4гW z‰ B{å5„âò¸ùõ  °2@ã¿tó{/Ô|º¥ö³íÕ¾izo}å[i•Zi|m¹ñå%† ’ ëçê×ÍÖ¥ÅiWNÑ,z¢,qdö¤»N¡­lå|¸ó2áÆW ×@«g'"®)ÿæ×Jþ{ãÅë6\ Ýpñ†M%7¾\Ò÷•‹×o(}©˜YWòb1ó|!³IÏ,/”4bÖ&÷b|bêý+x*„Áø`|mYí;ëö~XýÑÛæ­Mﮫ|sµñO+ ¯.%Œ›^\`HŸ«[3S›2]óLTùÜQ9S‡}ùðÍhÀ>ÜÒÚ4´€Æ!õ “zžIËfVŸZ—¼–Ï3«UèsjÂN-“¢ŠÞÓÜ™ò ¬2 Y6úï7þÐ>p”1ÓP§†ô9`BÍ'ïUíxÍôÎÚÊÍ)ÆW–^JÖ??W¿f–nu¼vå4íÊ©¨Yô„zþ˜²ÙäL¾÷±[0xþxRô y"ß„ Ë^á;ëCÙ¿>¼þ–Í¡c ¬|¨þ(nGèt\¶E/ ø,—³¾>Æ×Õm[âÄÈsöê™8ôA»lŒP7ñê2ËÉBÕkGiD¨ç<&Ê0㞊¸áeñ÷çÆÿúñœ÷fKÚÁ‡x-ïCüŠ·+ÿy1(>+h@£ða#çƒÌ{>ÀjðC›ÃPÙVCçš9uÈ!o—ó5°qbü9ûâ|H¦I|0l\d€« øLŸ§O›%£Q†Ø»+¦ÝY;¤,îÞ¼é÷~óømȇG mû½ÒïC›­&BBÊî „ftóSô¡Ý©Þ­'»‘šâ>X/_I—}›U'ÙöÅ&i} þªÕTV·-ÞŠH|l§ãÍ%_•µÏ&Ù‰±>g{{ óÂ'S¡•˜¦¬@•¾`\> ‹ˆÀÈA·&A›:Ã" šø{4OÝ¥žþGuìåO ÉŸ:dߨ[9p1üòÄ]ˆž„ÂQ+ Óžúü „lì§Ä²ðÛwo`ï'á"jX?uSÿe†Ëeð!tFõn”h{?NÒÿ‹å™S 4aágÄ'¹ì>…>è…ã¬Në`·lÝÁ®’Múö…¸ÍaÉZHYº/3t>Šå—¿rU&ß|-‡m,B‰ÿ\Ìù€öy„ÛçC9’{(wwζöÀ¶~­%±Çúlõy°Â>˜¤ æù0w”~u¼a]’.(Ö&éÒf¢»R+& •¡Mº_›0Tw§6ömì Šƒ ¦ Þ÷häØ"®‰€ö¡ß»昜÷aõ®ìÀ¸“A‹êfz€Âlh! ?lÀN¨t.òÓÃ|œTs ƒmà«:Ö([ˆo<†‹}ÈOFò¦¿Ïб—ñjZý2t»Éño¹£ÌÈŠùöÜøQÜf”2‰û6t•íͧØLÜù0¶ ùpWjÀ‡A9LD ò!Qð¡?\ǵœ „þbq3€ž£=ÝÄljã |9g° ÝWÿeãfó}'çC|#_¶_ÏkæŠ}èÏÁ†˜—[%ûWM\ÝTá”é*T/@UÆÃj3÷íBƒÍÍן´ÈÚU©lŸŒüÄÄs^ÎÖ³c¾®ç+ 5&©=JVÑŠZàS÷iž‰Ö¥Îôktiñ¢Ë"ðÂÕ¦:ìÁ†¸Ûô±·h¦ÞráÉþß…ÿòaB9RâÁäÃÍC>À*ò¡Ú|vÓkÊt<¿ýdà,zØÊ*0¯ó>LP㇭ȓÝÈ9 ­ÆºÊúð÷ÐÙÍ» ¸l÷/jå‹ý—`~Cnsé>‰Õ*®îÍÁ6ƸÊöD{ƒÁ̧[yŒ\úqjÒØ)_¶³‰7“—Ba#ËyrPba?¨}ø…Ým3ïÃ^þp²=  ƒÇýwXeŸž æö£(R+Ц Q'GhWÄèVÍЭŽeXù¤~Ù8ÃñúÂw«azÍä~…Oü.ãë‘‘fl…è4ȶoZXoCÛPØ Ïï<8û\ÐJôüXÚÊlîà+KÏ,jåiGEj)ZÏFò>ì ÝÆûðMð"vùp"XÜåurŸxÓú›C'Ôð>ä )Ù¾`oèl|”+PYa‹M¶7_Ù€ÆåÇBbtCGŒpªä>å'Fœ3{8{Èn'NFV]`>`Eb#gQ:ñŽŠ9i–<©]1E¨!Ýʉú‘ú¥c K­L~@TbêïuÑ7\–q_òª+žoò>Àxuò¡ÿ„­}ǾÝwÌ;}ǾÓwÉÛ2nõRà¼ÜÀ”«@@JÀ¼qµT*Méá6äÉRõ/’hÖ‡§‰²…4ÿlᾄ‚]ŠìÂ`Ljв~ŒL`¾îËÿÝ$¤;öÞ®°»B7ÙÛœL|u÷¦¡ÃNØÞ§äÄ„sÞ¼¨ƒÙi÷ðÒ¯¡C ~(}Åäm%)‹Ñ!Ñcîf:½Ën).-A‰¦ãß#–Eé–Eê–Fè—Œ6,iœ?¼rîÝ(ÿ‡?1ÆÜ¨pÝ…Ç‚¿½'ù0¹ù0ºÝ•âú‹ ôvåôæLÀlÀ‡¡ !Òz/,ï f¥böqßÞû+ŽA‘oYJ¥÷¸Äôì>Ã/ ä“;A‡Np´¹äˆìù\sŸì‰ñ缬“â„=ì ÇÆÌK lد\2e$a­€:½4î&è2Êg…«ç=®IŽÐ,ŒÐ$Õ&?®M¥[0R?ï~CÒã¬AÐY@ã`ˆÓD<¸ohç4àCøoȇ?¨ #†aûþU[Pj{Èš¶>k:CÖroÁáwäp¼øYšY˜]D¨Pì•—7ïnØ´ê´pÔ£^š>ìò̇J.Kz¤,1¼lvxùì+‡k†hâi§ßªé§ºA3¾OÙèÀó1_ÞÅ ¦7 %ÀÜ_H}ÀJ V¶…¬êÀï["¬|p¬„R¿cÁqسƒd~âƒM%´UYS†ÝïìøÛTуU“‡¨&UMº;{ò]ç' ΙxGþÄÛòŸì_0¡_~Ä_—ÿèpb8óÕ¸Aràz“𿄉›ÜJ„¤´Ê­XǵödP¾Ø>Èí íâæÝ ›Çò ÕÙßGûì¾öŽøýWá}¿yÓ#úîÙïë‘ý¾ ÿ]ƈ¾{ðú„f Étàž€oîföŽT™§Z¾­Î–e‚øßebŠFΠ̪ ô&ÖàsÆm‹—Q¾îžHƖܨ2x^óòÈ C§‚Öܱ|K]ðSõâøAæC,û¦÷Z‹Ix7[|¡—|ƒze¾¦ æÆäŠ\a¹†"cxWGû^d~+7€„k |±™Ô X€ ÏøFî/Ä×2ÓkÐ'þZÜ Èù0–}Ù&â,¥ ˆÎœˆþ³^@l ½“«ßʰ~o‡|Û‹™TæmУL;Ç*A#žñÅÜêŸcŠ£ ¹Ç°ŸPû6}ˆR!X%+l‚ „ôĆÞŸ¹×ð̾_Í^_ôy¤¸Juhâ%³±â·0c‹™Á_0ýþB} ˜©)Ô õBB} >\G} €%ÌíS(ê…„ú@!é¹>¼öÑŠôb\}¶Kƒó>„†Qz} >Ð@ê d > Pº;&fw©‹¹Çð¨k;/Dû½^ö!’a"ß?Ê­ž}#2ò •ç}ëØ^uSøàm"—¤FŽÛrÖ«>ˆ•|,-•Ž—¹ø‡Á!&=ÝfšÝéðeú1ɧÅé¬"zdpÞ‡>á…Jøð†jß&eéƒêýq\I2¬*(´Aë©ûŽnáx…È”\ ¿lÇÐ×!÷¯]ì4BNb’o¹˜céüW=08åÊú`,ÌHaë׺}ÀªU «ÂJ¹'•Y’a”¶-ÎøÀUÔÿÓvÏ2†!ìöX:ȾôØà¸Ú”Ô)dñ²ô’ZàݸVaÁÅ1Ne|°Ý)ôx+|ãÛG¤¾/Ô²tDáÀWÆ’ëÍcéb=m;Z”ù ì¤áw'©õÒÝé׳öŒà+̨ñ—¶x áÀvn !àTa‘ôøD{ω:Ä¿p~¼`;dÜo×Ó‡“>ôA á×W¤,qÔ>­z| Á©àe¼ õÁ@}  ÔÈ@}  ÔÈл} ¸“>„ö4(ž€_ÂÜþ õ‚¡>PH¨ê…„ú@!|èq×›OÀD\bîpÁ‡½Ÿïò ‹¥›œIƺ»èƒï­uŸ3éÑAY(½ê…„ú@!¡>PHèýŠYòÿõ¨êEBÏõÁç/–ôPz±¾¾µÓóõ¡w]uÇù²ÎÓ…­¿æ¶˾=×òÃÙÆÃgšn¾?Ù²ÿ?Mû2Kt趺âCOæÜŽ1 ÃøÕ§àÈP^yµXw5¯‰d_ê8w±ótQçÉÂv ³ ãDnÇOçÚŽœjpÖ‡;z¶PDá)™þäWðZ¡PÝqþr'h€M8UØ‘™ß‘™‹~ÎF>@£á'>ÀïÅçuäMÈöº Ü2d]ì 0'óÛÁÏu €?¥íCxK­6ª“}]õ6!Û‡náš×…xj gp0½ƒ[3M‰íÃKÕ‹úG•’UÙ} Û@¢Ã%vÀPÐ.üÕÉjÇ ò Jœ¹%#峸t±Òjª†ªæLcógoù…dûWÐ2àÆ!vñ›¸}@b±J®úÐg¤S>l‰´1ƒƒÃnŠnÞ0†ÐVzn^ˆ-)äVNÍÿ€Ú¨»=fKn‘¤*a+6ó›|üg¹\TæYíƒQÄWüN’læËû¦úÌ(l[”‰#Åñ«ÜØãz²}€ëJàta'T=æxn;pð\»ƒ•pz¤ZÿZÌfÓ{éÝõAhpSù£r>푆5o¬kßÃ>íÓÍèV ÃÑÜö£¹œßgµ}ïìý(×|°1žt0c˜¼å—w’ô6}p~ü Ö&þ!Ûê/œñw%V Ú‰D0áŠFê8~ÈëøNÕ.q¦mÿÉ&Oø`–Œ¹ëM3†‰)Hy¸ñ¤íÆÜõlÄ M±=ž´ëÙà ÞäÇŸê\3± Œ*ùv#ŪOñbûðõ¿›ÎF7!ù"àá\Äþóû²Ú÷iûî¤kã%ŸgyxæjyûÐõû“®Ö l8ê]ÈöÁ>x`þïú ÀýI}àF’>òAÖ>ü…žPÏA÷$10lžo ³¾>Õšñ›«÷£zêónŸ?môáóͯŽ7:Ózä\;º#ÍsD….(¾c‘ÈðÍÉ–o3ëýÄÕWýVwøTý‘S ° £G tÐ2€ Ejtcú@z·7pÒç¯7)½ê…„ú@!¡>PH¨ê…„ú@!qõþC÷™ËçssõD¬‹QîÃø—æðá½µîs&=:(ë¥wC} P($Ô á½Þ¤P(¨ê…„ú@!¡>PH¨ê…„ú@!¡>PH¨ê…„ú@!¡>PH¨ê…„ú@!QćHv–0nÕÓ1Ò —¢Hñ*âšX:¥¤GOÛ+óSù' ùð† ÏY±½I­e ’ÉK%ó—ÚÅÞÌÆx \ÛßrÖqÒúºØ»-JúÀþBSßjÙΤÖÖ>¸:pÇlÑQl¡¬¸õ–Ma-ŸÔZ¾ 6ø’ïJa×z=r ”öAì²mORm´öÁªg1*0ž´5OþQ›Ì…¢¸=alI±ÿø@G’Îà?>Pœú@!¡>PH¨ê…„‰¹ú@á >PH¨ÏûÀ¾êàƒè~8ùW>éëRJàq¸×`~p2pEŒÄŸ§tOû zþ¬’,m<½ráý(¼OáYUF }J¥ìüÕžó¤(>K"žn‹Ï»]x?Š“A²¹èŠ.âY$¯'Iÿª»‘xÆ•÷£¶HS3‘ã"IhÇÑ5<êƒä/}ãÁùÐÙí÷£ÈÍÉæ…¾áÐe<êñV3ùö¬ìÍ|×ß2’›ŠƒÚ>tú ýáó&ð׆¶Æ“ν…–£|'B‡®âáñ¤Cè«ïÝÁ‡>ÞòAx¯’Þ4è†xßJw†ú@!¡>PH¨ê…„ú@!a".1·L} `”ôNÛÒóéŠÄ“F«ÿHë1dÏȘ”=ÎÄHvBÜçßÊ šKïIµÊ‘佬^G—| _WëÊ“Jw‘¼fãt œ­|î 1F|BÊI%͑佬ވ2>à‡Î6&nrfr'×ç2 i¤w¼‰‘`ý|\:aˆÔpÙ{Y>¯»nëƒ8ã‡|â&g&wr}þ(7™-’Ù!¬©Hg5‘¾—åûºó”wtyü ›ßÃhë]{“ù¸1”ÑåÆAQzØœhNi㑺˜eŸ×]·óAö3qÛ×n]nìÎ:(™&Âæ¹ÑöÁ×öÁ©ÉÜš?ª+#««Þ_¯Úk¨ŠøàÜäN®½…šnéß™²öm½ÕÉÁL2™DWêÅo >PHØù¨ê…„ú@!¡>PH¨ê…Íÿ@ß—£ðP($Ô õBB} P($‚t>RŠ™›oðcêcíÃÞÏwQü‹Åb탅?´¿ P($‚} ©bþê…ú@‘àªF}¾¦ô\ù¥Óe%§¼@IÁ Ï!²Sqù ä rççùuÕ؉®<{ãŽÏ‡$mfÆ¥÷úǾºâÏ49€Ÿç×UÀ+(œÄWöü¢ê=w*òK £M;¾°þ½ø[~]¿Ê~)ÇΕ\íU¡óع‹¯ªÊb?Ï/ëƒ ÷ ë§³³`C{/ ½½­¹±òUSUêçùuÕø½À~ÚPhí-\ij¬¯­®„|ÕV—ùy~ÝóáÊ•–+Wš{--M uÕU•:>øO~Ýó¡¹¹‘¥¡ÐÔT_Wk2*øÐíò[¸=:z{¡òë®xçõÊRøA´0åBôy(’Ë8›àpÄ?wXáƒ65ÕÕÕVš å}èB~ÙÓæÂsß+sÚd±(š_Á‡>#]òv‹ö¬ >ˆb¢·]àV¬a•hº°-GÂõÁ%ˆil¬­­1VêËúàf~Q¦˜´Ãüêá5âr—ŠEéü¢ÿŸÅþ=V—|ö¬ @ÔŽ"¦àoÑÑ+>eß*GCCMMµÁ¨s䃻ùÍÝmã´ vDñíû-›Çk¸¨5‡„!bP È7)ð@~ÝóAسbä£ æK"÷§1«¢ø(a{¾rÇ’R__]]¥7hKøàf~áä! \ͤíg“1iùT9Û£ù¡(È‚²Q\Êä×]j€††jÅÈß½5_ …°ê ă ÛW1òo£¾¾ªºJgÐ^vèƒ[ùµ‘)>^'mÍ'“áeÙ†dzØbq·@ç×=„=+GF¹=ˆÉÛ½%ÖWåmdÒ2="G]¹Ê¬Õk.9ðÁÝüZe çKˆ”æÑvŒ)Û‰,F¡üºç´9@]]•‚äm‹d¢¶äq«P’LԶ캼-Q\dö¶(6Fуµµf³I«S;òÁíü¢L1«ð«ÒVsÄg™ˆáó‹2›v@Ø* bµªŽÜDÑüºëgš²°¥Ç…´l$—qœK¢Rö µµ&³I£S—8ôÁýü’™‚&bð Qi©Q¢ÒüÂYÄ*#ÛDÑü >¸tÿAØs/ ¦ÆhªTk+.:ðÁòëÞý(vÏ•½¸øª4”k*ŠØò)÷óüºçƒÙ¤3™´€¡ë¹@Œ¨pŠË.å¡v ºÂÏóëªêËgûǾzì?§+J Ê.ç•_·…ž œiIÎÅ Y…|5Ôéü<¿®ú -W-ëã©k·}úÍ‚ìÌžN~ö¯ùªg:“¶%åÝ=M&?ϯ«>uyðùÊ®/{Ùû„«þò•-ÍÕ~ž_W}¨ª,®©*m¨Ó77Uµ4×\i®½ÒâAÚÚš=q úÖ+õWZêjª.ûy~‘ôÿëQx¨ê…„ú@!¡>PH˜[U Dß™ZlEŸ§*˜˜:Š_2<ð3çCÿoÐ…'â~ÁŸØIs»}ì%“ìöû_‘›"ÁîI’»µ½=ÛÛ•£‚r#™ã2·YÈ®gÿyù-ÜöäÃM»Ð'…ÂòÿîR endstream endobj 287 0 obj 7796 endobj 283 0 obj <> stream xœí |E¾Ç;ð†Œæ£oWPQD¼HT®HL€˜Bˆ@H€ !6à¼vÑ»kKxá)ºŸr¬pŸ,Ǫϧ`bHBÀ@&“¹g2ÉäNÈñþÕÕÝS=—™aŽd¦þŸß§?ÝÕÕÕõ¯úNÝÕIo¯È˜øó!óK@Ìœ‹Hó*9%É™”æ)%“¡ÁÛz&CÇ<¥a–êÐÎR^‹ þɧJ×úZÖΊÝOÆR¡m¼†ÝQ±;pȆÄ×2³•H°ƒ5(|¶ž™YÚëÀ0CÖ4‡n캥÷Ž?!yµ÷¾·zÃßì ßÙ;m;RÔ.¤™{ Gð±œäÇê>B®aëH¨úÄ‚jA-Éé$˜ðïla´L0 Ê1‡æ÷@L‰ÑA*(°ðÀ"©¼'(,òW+þÍâjä!®JA¸~A¡yÝ fqii(˜˜˜$“r9$ËbÖÔaƒs[çu!̺oìá}Ø xÙÐÍ ŽÀ Ééñ±ðMqãÒÆ Éî”Õ1xmóà,sHf ³¼‘yŠÝ.i„C.$ÓÄi©m!$UÏu4ZXËÄ^`¢ª,<ÄŸgžª¶ +u˜   ±á@è,dIP–™ÊëzÚˆ´Â9hÛAh,·X”ªâc? “ä! U̼*4&†ˆÃ䙟!"Π³ÀCÊeNœ~ßh‘¸¦Å!!ôƒt/¨n+±U/YT»z‡Ne¼æhdèÈV¿.—DŸg¢Î!Ðmïs;1? 9…Y1€B žhdyÆ”RyPÂ/üáC/Ÿ$_½]ÓYSex㺭™š ©êìÕj™rÅʧã”Ëg€j—F‚‹EJ™(O_5kTIÊcõ•¥«_«†Á$`ÂqfÜAÄýÙãAi— ;ÕˆHÚ+ŸI(.ß7¿~‘hüá—n|ksý‡ í4í{ÕðÖ&ýk¹ú?®Õ½´Z÷üJís˵Ïeh7¥k6.Rç&©ÖÎUfΔ§F”Ìs,~¢JßÁñpÏWˆ„›_€^F4ËšTã¸Þ*Vè-âFÌ–ä–_H@½¿‚'A! €ÝKY Ÿì1ÜgÚÿãö-†76ê_]¯ûãZí‹Y€„në í³Ë´ùé꼪ìùʧckÒ'—Îÿ飷¡ððà÷¶< ¡Ù8dèpícáq ºX:»}„ï‡`h8HÉ™x$¨Smþb ¡þÀ[u»^2¼¾A¿-[÷Â*ídhþ®É[¨^Ÿ¬Z¯Z;õ ™3k—N“/z¬tþ„ƒ“F `ð<üî{ @ÈÌRî!$8+ß\-‹ÊO˜0 ̃ì h¯nE0äC”¶ü´ÄCþyÈsk¾Ûµã/aÄ<ÀÒðZ®áõg eªŒ…aŽry4À Xô˜®XðPõ‚‡/$Øð€ÛàB¢Ù9éBvøš®Å<ÈßÛwãˆm‚Âb~±á¡~Òni’6ÿ'HøÒæáIÒÔ¨œ52W·}ˆŒ±<°yöwÆ\#Ъ¬Ù0Z@ÝÄ‹YÚg3„ªW®ˆU.‹ª]<ÉCâ}Ф òä/$Lø|êHއûKDíƒÀC²Šç¡ó ¾ŠŸ{Hž6aq­Ä2£ìXËÃi šþK·… ÿoIšéºë·óÆïgål'c’G Ï„ "´[2µ0›€mþMîB-X`H¸W"a¬<éþ²ù÷šz'âáñJû<@¯€F<aÑrVæB-Ù 6Çûùé†B qò¼=ôl‹¸ºVø,>eF5u¾…»_ED>µÇùå¢SÕ_˜ì¥Ùb•±|.ÏíùS0—ðÑü.¡•ˆ×T J_6¦h±yŒÔy)ªu‰½bS&ß§|rLíüßÕ&ÜSóäØòycO¾ã7Ž#Œ)•èM(jôÜ3í—Ûä–”º _1YÓ,YÓÊÂвi<ê>æ½g„‰/Û>ÔïG™‚¶÷cIšæ4ìÖ|;o8ÛÅ„ÿhy'û\K5Ñm>Ãâ´ÑÀ¤±uIeüCšvdsÒ¶° Ĭ>òt8¾Kïé¿:¾œ ¯>ü-DÛr EþóeŽ”æW\š”Š2öÈ…BŸçgí¤ ûzÃŽýiì½Þƒ«>–øăA,Ô\ Ò'kÖ'k7¦iaB±!M»=•Z3G¨BUÚƒª”qª¤{T w«F)GWÌ}øñaˆ‡i—¸&Ú‡¡oˆxÀ0dš˜—:ȾGº´Yòj'@"ÿÛ¾°á¥YfÙñn®¿XÔÄþ” l?•¤5ŸÂÅ>ökè;DkžkÃiJ#¯âC”Ú{ŸJÙKÎAwI41‰çeG 'jÞŸ´ ÅLãÎJsì_>×näYÖiJÅK3 y–ÙK᯸µØ”ˆ2/‰´qÇ÷J5[DP¹T,ŒPý>^óÌB͆EÚgRaº¡ÎI°j4©ã4 F«GªFÖÎY1{ä‘GoAèF¿-ÛÂfÕBs!;ÑÃòð®tQÛn@Ù”,iåŠ}Ü?%KÐ[6‹žç“Ψ¸º‹(Æ1ÙÙJõf¨Êd8låÎ.×Ú½|Ó÷½Ö†’ª¶J“±ÎX3ÏÃg›Ší¦P,;ÔÈe‡ÌÊ—ÅMþ”…ŠrëÉ”OÇ©×% š¼un²ƒ¬(¼ÓÓbÖ.­MºS“0B9oÄÅ'†ý=üßÑ5‰‡«·½ƒx€Căžƒ´­ —vØ,-À@ò€j$¥eÿÀ<ìñÙÁûi û¾U0ÆUht­ø°Ž«»ÇKqLÙñ¶'‚ÔZœ œ]¡³{ùÜÏ®±‘·‰¦B5<¥èý/Ÿ±±§%è°•çá ¬¨Ç^ èBÉôwq‡%ÿðG —N?˜ ”½ø±µQª52uN¢z}’†µOh²¦kWZ溤۵ó‡)ç ­œù›£݈xˆÑ2‘ ÐP ؾ‰…•¶ÀƒL;(»gðºkCrº$9ݨH¡ ez8”}Í󰤓çá$“ÝG<œ6R/wñªap´^æáÛ¤Ñõ<åBL¶u:(]ÔÁ²Ñ•¶Â`ÿòµMh¨sæ$DF·ÐvÉP"׬ӴΑgövvR(¹Fdß·ÃoZJH "µ„ÓYw+OR®|Bµf®Põêµ³4kb4«"µ+×g?wü¹)CÏ͸³8ntñœ±ÅsÆϾ·dΘŸg.uwù¬;ËŸV=´<êæŠ©7”?þo?O 9;ùlú(k`¾Ið€aâ&B˜fZS±‘k1Áà̶vû~—€ìv«÷4™*J¾ŒÿÑ7œøÛÏÂoù$âÖO&Þr0bèçC…ÿæèÄ›þþðEINrtüà¢ûBÝËœ>J_V¼z‡Ùr¼œiFB E3GVNô&¶ÂyÆm‹åçÝ×#ѤC²¤uõîÆ^MeìZ]`–<Ùh?XñÀ®ôà–µð*—7Zô’+¨×v†d[ 2Ì¿}/¿Œö};ßÄH˜SàÉfZ+L.`&žÉÍÜïJn`æ×£-> ­n¬dÅC$»Ø&ê[W2h’ð±^HBZ0“PkY•a»n‡|Àš-÷µÐ«L÷­B¯#AQ¼f\æ£yáØN»„4¥’{m;°…Ú·ËCl1âEB Â®p$!>q¡ï…sî3…øC^ô?¯fç¡]–m’¦^1ê*©‚VLäefô'ÌÐ7)TFÊ•X”*R7P¨€˜ŒÜõ>å ‹ò@EŠò@EJàA~©òðÒþ¯¨¼¡Ëƒ«/h¨ýªQ¨‘<0 ãß2 $ë ¡á•”‡ ±_áánÊCpåižå!†abÞ>Éž{%&æ•bÊÀ2ó³r]Ìô‚s”‡jžæá•âÃ+™ìHŠßžÎpÆ¢‚Ât¼îðÉn‡GˆŒÉ…ðû”ï›çyÐUÍfë×¶}À¨U ‡ÂŠùÁ:fåQ«¾†òà[ó\mŠê”7«p«ø i<´¿ð¡õ…©«<°}ĺ·…Z(œðàÊxƒòà sÆÃŒ*æ®îñ`D¿¸5À '<°—p A´¿ð­yaT€†\_‘½ÒYû`Û³P|nžåÁ—¢I̓ætåŠåŠT?_OKåcï³(Tý¿ÃU—OÖÐúÂChå!XÌ)W(Áf”j¤Q¨‘Öúçó(‚‡SùÜšªüS~,Ê€°¾Í/<Âû©…ç¾Ðx0Õ…2JÄušïxà>ñ¿òzxÈ d…Õþ*Ê€0ŸñPüöô˜·OÍàigõ¬ËßgYx°4ÔÜ4_=€Î‚ü«ÒH®®·¬·wçû,ʃÍGÕjäY“RóðøÁêÿ›èì}kƒª˜kC¼ó}í/Ü7O÷â_·« Q×”lÙõñØ´mÌôüÀа„×üù}­²äþºÊp…“ú§‹çIEyµ<ÚºëÛßK°ùëðK9õSUO@Y÷©Ÿ~¿êô—ƒÜ_‡>®§…®œîî.k×@×®u¶67‚_õuÕAî/û=Îû}ç~/N'²Ž@Q{KscƒI~5˜äAî¯{<´··µ··†ÚÚZšÌ¦:½Ú Áã¯{<´¶6³j µ´4š ­Â ýÎßÊqq;+½à¯ÀChßþŸ_>8ñFϪrwœðåwÜî2È9ÎF8‘ áÏœððM[ZÌæ½A[㔇ëð—Í6gÏ|é™l“ÅâQ‰õ´.ñÉ¢”=¨‹»c™¸¹Ã¢<‰–‹;âp ì0±»/zòŽXÍÍ õ:½Fî”7ýEN1¹'øÃy–ýë’P,žö×=„”=' vWRñN\Ü;ÂÖê¬çÔÔT_oÒêÔÎxp×ß »âìd»bW,ß^°gYwåqAyÇ…!BP X_RáÝãAHÙc*G–‹¿ÈeÖCá±ÃÎrÏÝK¬ÆF“©N£UU;áÁM!óà‚“ÇÖ3¹_°Ñ˜Üc|*‡Òq|ˆPdAÙ).Ïøëê÷¼|ùÔƒššLSùö¸¸íå¢@(„œc0ìÌa¬ÏzLu¦:µVuÕ)nùkÇ)>Ü2NÚ^NFÃûV’ñ‘±Åân8÷—øî.ð ¤ì9Íebv–!eqqexÛXW¶3†É=êÑ;r2›uF•FyÅ îúkãöKûh?D´JÄ*ÄCþºÇ´9 ³¹Îƒ*ÛÃÄ”q‡P’LìŽsYA,X²#– ñèMA F£A¥®uƃÛþ"§˜œ"þ°(7§Èâï2Âû‹œÍ-ÒA¥AÖ™ÉK<꯻Ž'U5Å«_{Þ†*ª(ùv «¼ä›òâ=~L–[ýÆ-͆ ÷×Õù…N]Ûö~`ë sÞü[s³¾­ÕäþºÊCþr}]u“YÓÚR×ÖZßÞÚÐÞæEuv¶zOÄ;ÚÛÛÌõuWƒÜ_Wy  lQ¨H!\YEØ¢©ÄÈÌTA!€á¡r< ;„–HøG:@ÈAœ»ËQ4Q²Ÿ"/? ’ÃL’É:–£”%嬠܈æ¼Ìí²ëîÿŠ/¢;ÿñpë^´¥¢bõÿêá¦ð endstream endobj 288 0 obj 5884 endobj 282 0 obj <> stream xœí xE¾À;ÉKˆæéÛ]¯EEÏàAb„#˜B@ r™@ðÚ‡|®º®°€,.î*¾ÏE9TDXã"&ä" s'“û"óþÕÕGuÏÁÌ0“É¿¿ß7_wMõQU¿©ªî®T¬VÅÂϘ pcÎÆå Ä•p ¥Ü3:.ÙH?æ”sÉfî#7ÃLVfˆL­è ª:•i¦ÎFXeòã)zò9ÞȯèùØäCÆk¹Ñ:¬M# ]Î=™eu°P B6ôZÞÑgµõÿK¸cõî÷¬á±†o²Ý@ˆØLxr‹Ch„NÆÉõø‚+!B‹Cút)>%P¬”rÈâvP‚ ÿÕV†À™f!pqm¯!¦¤Dÿ· `Žëe@ ˆøÈ »I‹•þfi1I@ »I‹R‚–/ÐkiÀM­ç†Éyœ‹+ã æWÜÂJ ¸”Ö´´ á^èZnè:|Jt…†,»Õ éÇ,¾ØÉÐ“Ò §¹M Hi œß´¨!h~mÀìFnV÷ ÿ9½6…ÙU3,äBË…†B€ÉZ.*›‹(’}ŸÁ=S,„¹fêXA!n8€| —$1¿ñ9ÏZs* #u;@úrS „D½4ú~tãJb‹¸qE¤O(uA†!'¸¾$2 >B¾ %$+ž«“‘V’8¬„]€ÙÿâVÁ}ðí‚f½¥ÍQÏÐѲà’à‘\ÄI"h\ÿ±°yœÜS8ðABå ôF#™¹fj)âE¤_:ûÇV>®dÁckiQÅ»/˜×Ì6.K4¤ÄêÄèæ<¥{6Z7k 1 (›ò0!á¡’ØE£nËLx¤:?kÁ[ÅЙ$ ÚÏݵ“øpç{>èìú 9Àh`äï@ ¤úªÓ²«s Õo— ]/TþðK·¼÷bõ§ëkvlªúp]Å{+ËßJ+ÿÓ"óë ̯Ì5­šeZ•lZ9͸|Š!-N¿h¬nö“%‰ƒ3Gß±oüCúòÁ‡Û®}Z ²q2pñáê—s¯½è¿WŸ½jÕÙÐUg¯YStí+E½_={õªÂЗ ¹åù!/r/äskŒÜ‚|E%fk²Ó%&Ö¿L4¡Lê €æ×ç×|¾¥vç‡U½mÙ°ºâÝååë–˜ÿ´ÈôÚ|P¼fŽé¥™¦Ó K'éS&èž*6$kÜÀ/¾žtÀ‡ûŽÙú@ºP9¤žàROsi™Ü’ÓA˳‚—Áúin‰†|.ՌܢçR4ÑÛ›:R€M.!ÃNÑù•CO¨XJ¸ñ(SÓŠ©`Bõ'ïUn~½âeåkS̯Î3½œl|ašqédÃ’xý¢ñúEãH 2ûI팡%SÉš0hçc7 ó>üñ˜ìòd}yª¸è`VÁÁìƒY…ä“P@B`3«`Ÿ&ÿ邽šü/²´CÞËáâŽw}KÑCˆ×+dˆÕDŒK'Y6¬²l|dh>y”„,Ÿf\’ _«›7Z7+R;}¨vÚã^ÿÃWe‰áÅ eO¼ï«¡·Ë|€þøð‡‰!òÈ]FB)ßñluëÜOËã•>¬ª/Vö`‹÷˜UéŠÙÝà¶m/‘õ¥iE—gµ;×Lw Ô¥Ї¬x+­âç¡f2Ÿ—aŒnÖH¡lÊ#RxÙ¤û‹'=kã­ÀÉß“NÖò{´ð¨B:¬Ö‹iþöbðÜöJÏØyJþõáÕ7¬•šgãCÕGq›C'м-x±ßŽ`šÏƺ˜®.nû0Æ^s§^‰SôóGCo4¯Í7½”,½nN”nf„vêc² ï.‹T_vì ¯ž¸YðážLEý ù¯}h‡_±óúaÑ?ÏÅgÍ´¤>¬|P9àÈØ ~pmÉÛªÃäZÓÇ ØßÙù| ì\˜xÍ]q=¬ã>˜VÏ6ÁÝ|®˜nL›, ½Y†Ø;ËÆß^; $îžœ ÷|ýÄMćGóíû­ÒTƒèC«½*BAʶ3ŒòðSö¡<•©Úfd›‘êâ>Xy’®_X¡ú6£V±ïKÊ6ÚúU-)©ŒFa_ºùðç»+¾*ÞSe ã+zÍŽŽÀ¦EŒæE¤Zb¼Q²‚úÌápû@n"^œ =ÃÒ}êD«rÑÅß­{úí„?jco/}z@†Ü(ø@«ˆAû‰ ÆãùäM(œ%±œñÁ9m©ÿÈ JȤ>J¬b3¿mÛ*þ yÍ¢ú•Hó1î_¸]B'Vm#Iº÷³à$ãϰZš>®‰~B~“ËSjƒ^<Âë´Ë—*ùûФo^Œ[–¬‡˜Å»ÒCûѳXþ«PdêÝ— á4rØêùÏ…‚䘅c>˜¥¸°³·•‰×lï|í×òQ®Á^Ÿ{Ù‡ %¤º >Lb\oZžd‚ŠeI†´Iä©ÔÂ1Raè“îÓ'Ü¥»]{«>ö¶²‰ýóÆößõh_âÃÐ¡Š€ú¡Ï» ¦V¸îÃ’­™qÇ‚f×Ütò…[ÕÌf~X¿-PèB৆õû"8©*fo;_?ÀWµ¼'·Þp˜fû€!Žb¤xÌÐaçéf Ùü"t"¿Ë‘o„³L̈ùŽÜðQÜZ3Iø6t±ýÝÇÚ +!>Ü‘Gêðá¶,.¢ˆø(ùÐÆ÷.áòNB{1§ ïÑžiäÖ´ ™?¢T0ØJž«ÿ¼z- Œù®Cð!¾AÌÛ/ƒ§7 Ù~×OÁÒŽ”WZÇ”7+„²¬¡1WhHA¼E›M·³Lvw_y̪^È¡ŠUÇäÔ&_óÊSöŽžóUX-1IõäU²×‘­¨È>}¯îÙhCêD0Á¸4Á/k0?‚®\l¬5MîoŠ»É{ƒnÜ gžêûmøÿF–%(">\ÿ7âlÊ¡Îçw½¤ @û ›ŽNÖ—­¼÷†èÃH-}ÙJ<ÙF| ãÉfÌþ‹¼Ò´ÍDóvgðì1ÛwvW“Ù¬ÊîÑ,jcÌÞ‹|K´3Ì|¦EôÁ,Ä®eûEy-{+6¸Tô!‹D–ŽCꇟùÃ6‰>ìO§:Ù1xøßiƒUòé‰`á8^Ei9ÑøÚäýÂÃ≆%q² ‹ž2Înš+ß_˜ãn4Mè«Ó'ÿÉßí¾ÿjâC¤‰V&ûño›fÕY奕¯(-/lù-pÊ© Eäý;0¯…[Û.–‘›Ý"ÒF²ÔZ°’}Ø:¥UôáëàÙü:ñáh°¼#Ïì1é.+û­ Y-ú+ÅäÛ‚¡SèY.@a…Í©°¿û¢zÒ/?r"“S˜Úc¤Ke©¾0æšùÓÙ9Bfs1ª¬¸ f0HV$6pÅ£n-›ú˜nîSú…c¥2,e\iœ7Ì4÷Ñòäûe%ÆýÞ}Í™aa»ï !>@ÑS%ÈûMÑè¯N%>ô¹¡÷°·{}§÷°wzgy[ÅuC^œž˜rHi¸7/+¥)>ÐJ<™§ýYÌûð “·çŸÍ—±óˆ]ê³4¯=ØE,»Çråȯâ~okX¿­¡kíÎF¾¸mÍÑÐGíSqaÒ5ï žÝÎm±ÈGxù—л~ ~ƒÉcÙXâm91½£]¡Ç´ ÜTryçGÞPÿÜZ‚G¾#2Ì2Ì4Ì‹0Î}Ü4{°yÆ òiw’ôøÄs­~äUg þæî@âØjâÃãåä©”Ð^”‘Ñ•SÉÈ™€éæÀ™† ÙÆ gM@Èdºœa¢yIÞ (Ósïƒ&£tr¸vúºäݬ]ò0}òúä!†™ƒÓï3% 0O¾  ¨LÑaºˆà¼‡wÝ øUøþ+ñáÉhˆ¡À¿j Jm YÚÚkiGÈ2a#'AÃåQdi2lf^&RR¯:y÷+ »V@™æ¹ölÔÍç& 8WÂ[¿c¥ qØX‹“h=Ä»Jè+;2Æ<ùxŸ“#nÒD÷׌ s—fô™cî8=ºÖ¨[sGÝ”ûTß¼‘}r#®Í{âªÜGÿëôCGq_¿MíÜo2>ÐA˜´Š µDHJ‹ÚŠåBáHïçßy\ —¹û…݆cÁ–úª¼Ìï¢î¸÷šýþËðÞŸ¾îó‡zïÜç«Á}¾ÿÝùö«÷Þº{PÈîA{ïøúNnçðÛÊs4 6ÖÚó¡Dò~Ò§L|EÑ XAYÜNÖÄzÍ´néd¼ßF_™(ú–B¯2xzÓ‚ØC—½¥}ÁúÚà§ëäþƒÊ‡X~¤‡0¬¥B›-èeGP/j¥÷,pÁBŸÜ+wXîá•>¼»½ýNdF‹Ð„{ z³™Ô7XÏøá“®HÄ×pªÉ'ýjZ!¨Pù0Œlq’‹ÒDgŽ"H¬[D!crbµò¨ Ûq;ìÛX?ftIgC^e:8oTy DˆŒ(6GŠÐøZ@x<_xm+ð ¥oׇ( ñWB²Â.4AŠÏìØùÐ+ï4º¦ˆ>¯æï/z=RØ7¥*4ñœÅœôX¸a…\ÿϹ>A ú€(AôaAɇ«Ð|ˆ(ânù}@(è‚> ,Ýׇ×?:ˆx€ûàî»]\\÷!4¼}ðû¥'øž’Þùp×µ%ëÙ‚> ì‚>ÞÒjÍÚdô¡gøÀ”µf‡¹iÇ[Ž}ðžèƒ+Dr\äû‡„Í“oFF¾©ñ½²ŽŠ}—Îö!rnjäðõ';Շ䚴?hH1m·¶Ð麵‡-Úl‹Ý8;²áKË:(Ädƒ³üŽ~ïC¯ð|oøð¦f×\.e;ëƒæýᜰðªpІl§î:´^Xbc !âº@kvÙºlkúötÇ>8¨(¤8V~wXN­P|+„¬Ë&+þìí^õÁœ¿;…/_Ûúª"1lJ+$æöTnîn³²nqÅ¡øàç/þ´=ó Qä"NaµJ’ îø ”¦¢LÅE®ŠÏ±‹èÆ¥Ú þ7Û´c»VË×ÞñÁ~7C¶}pþH}_*ee‰îô7÷›ÛÉ_Ü µ=S·“F_åƒÜ=pG,w±íŽ™N»(â- úà–Rù+kÚ‘p⿋Бp©½P¶øLßOè72e½.›ÿAã$ŽºÉ á´föÅöÂ}¤^éNmEÊ\gõƒÙ¦eqÇÎ}¸Ò@„v7_À(ânù}@(è‚> ,è‚> ,’Ýî~ñ\Ä9îV7|ØùÙÖ.Ájµ^!WÒ­±ÍÆËô¡ Ÿ­]9WÒ­ïú€ø7è‚> ,èÂ"ù€Ï‹âïõÐ}@t_º|`I7Å}èêG;ÝoAü{1TµŸ.é8žßòKvóáÌ À¡SÍߟl8p¢iÿñFà»cÍ{þÓ¸+½¡È@þa«;>t×ùazò2”–_,4\Ì)%b™çÚOí8^Ðq,¿ HÏk?šÝþã©Öƒ¿Õ[ÝO‹>tÇj!_Û~ú|h@Mø-¿==·==›2ü”I|€JÊ>øûÍ­2惔c¹màÀ§:$À‡ObýàÿËá™×E\èÔ@®àdzfš’}(ÞÃL#²âp–Og/Ð$†s|‡!¯Mø>£8˜ÑFW|ä?”Hem !¬11Õé‹äƒJ iÄð­vë|G3†¶§²•€“øª—j\.íÛ¯ d1Ô5H7ízì?Þ(õX $ É8áb{áž©¶¿V'3†ÙõÁQ|où@7IY‹¡rXƒBtè¦u»ì=ÖD50H2Ên;”-øð]Fëw®>rÏ;ýI'3†©k~uáˆo×·Û ¨øß9¨RcÅŠâ–¹Û.»ÿÓt4»==Oæß¹¤áø>§ý[M›Äî­{Ž5Z}àƒEÑ{î7íÌfoI ú“ög»äÓ)Í A €â„QÀ¶MéVËWÿnú)“<„$äÊ€û³ {N·ïÊhÛu¢õÛcîõ¼ù>ËÇ3W«}èÁ‹|ðÁüèCg-àÃ÷ä Å‘,òL’Ý0aßé6 ðá«ßZvÿêîó(|ßÝý–/4ì?ÑrðTy"-rPCn(¾åžÈðõ±æoÒë¬èƒ¿/gµöÿZ{à·ºƒ¿ÕKÀ&ô)ÐL@Í2hÉ|¼è.ìâß> ࢮßo"~ ú€°  ú€°  ú€° ‹»Ï®œ‰°º|n®îˆm6ª}QäÖü]ølíʹ’n½x×Ä¿AôaAƼßDÐDú€°  ú€°  ú€°  ú€°  ú€°  ú€°  ú€°  ú€°xŇH~–0aÓÇ“13•‰“—"ÞÃ;>Ù‰•SJúì‚U“š¢ÞÅK>¼©¡3›eœLjºK˜Îš™¤š‰iv6Í B6'ç’ç9Üž*Í{©: â;øé%IùÚÖªI­ÉŒÖâ ‰)–—Ù¥i'•göeÏ%]Œbï,ˆ ^ôA=Y±£I­U+ŠÉKó—:;—Yéƒê\fV ©Æpã,=oúÀ×Û©ïK¥ì`Rk[ÜùµÚi/lÏE¾…& }{ªê¤ˆS¼ëÿƒUOq¯žÔZ½BvQw ]j/ÄmÏ%®§¦Ìo|ì±ÁÛ>Ș۟¤Úl냽ÚÞ‰r/GPŸ‹FVô*íñˆß€> ,è‚> ,è‚> ,èÂÂ8ÇÝ‚> è‚> ,¾÷êàÍçÃü+ºÐr¾µ¼\|îƒ0 Æ{CPvÍ_Kâÿ¹<ñMý_¿Oñµš÷‡ÓÀª`içí•«ã£èàvHŒÍðÄMøù«}çý ³¿\æ½³ü¾ÛñQâa¥Öa;ó/ÅÅÓuu®v_|ëƒ<2Á濺›=ÅÀ>y Ÿú øOßtL>ÛÄ{4>ŠE$ɰ«³´[ãSäžž™=«ÛæÞø(ÍûsÅp¶¥È§ˆÜKA<§>ØŒ}•ÆW;êO^z|»»|[!Õ?]ŸÝ÷'"ýÉrÅ ùЫ³|Æ:bßï ¤ó}@®dЄ}@XЄ}@XЄ…‹8ÇÝò1ú€P¼é¾>èþ\Žê·Šä3>Jx¦íJˆ½ã(§²÷ÐÛ•8~Åeù å}WÕy>¨lº¢@xñÊ\¿øBM~GæJÿÃ;>Ðüç}X/>޶™J®CÇqe|”|°˜ÕfÊ5®Äñ/¼âƒ<ã§Ê(¿Ë&q„Y¤lã¸5>Jn ع>.⚪@Wâøć[/»ÿ`;'íX:;‡/ÆG¹"Ìq:O¦Íî®Äñ/.ËU^y샇?7ÛzÛ•Gem¯ ]‰ã_øÖ»í…ã8ŠC9Ãô:øÊÄ•ç>8:+qü û`¿?é8Ž ã£˜È6ÝQÇ!JØÁÎ8O×âø—ãâ  ?ÿú€  ú€°  ú€°  ™ÿÇË!"è‚> ,è‚> ,èÂ"ù€ó‘"a¾ÁÑ„bëÃÎ϶"=«Õj냗¼`{° ‹äC¯ð|ôaæ@ôQà®fc®®øTé¹ã%E¿uEyG}‡tHNÙù.H]O¯»>ÀA ¥™«76 i-7|…Ð7öµ…þؤËzxzÝõ¼‚ÌI|uûÏÿyR‘[l‚­Ùü¹í不¥×Ýù«!à—røTÑE¿Z:Ÿ: éª,/ìáéå}pãù4=Pátt´üÒæ´µµ65ÔAºª+‹{xzÝõ~/pœV²´ø êjªÊ!]5U%=<½žùpáBó… MþAssc}mUe¹Á‰='½žùÐÔÔÀSï46ÖÕÖTT˜ÊœøpÅ¥7Stô¦|¤×SèÁë¼KþÑÒ Ñä@!á|„iþü/Ÿ´±±¶¶¦¼ÂTêÔ‡ËH/ÙÂòüwÞ¹l6[¼š^ɇ^ƒÝòKŽìEÎ|ÅEo<#lî]Ê+Ñxfc4 „.êƒ3Þ<#¥¡¡¦¦Ú\n,qꃇé%‰âÒˆ›–Êë—…”-ÞN/ùû,þÿ±ºåƒtdïDmÎcBòþý·<éSõ­÷¨¯¯®®2™ Î|ð4½Ù›£í\vÞæ(±¾à¿åÓ¸y©´t¿”!LÉõ.y>H¯g>HGö¹$¹ŠÀ=iÜ’}$< dØ”ë½s)©««ªª4šôÅN|ð0½pñ'ö-áÒöðѸ´}bɇ¬MÑbˆ”lFÙÉ.ï¤×Sªúú*¯‘»!:zC®"2añ>6-æÔßzººÊªJƒIÞ©¥×N¢Äp¹Ÿ´!—F×U;²ñÉÂg‹§â<½žù Ù{ìNã"7å0!9룣×çÐϺʜM‘\Ún¯žQ ¶ÖRiÑuçœøàizmEÓ%*Óh?D TDâ¥ôzæÔ9@mm¥ÉÙÉE­Ï6!'¹¨™µ9룄ÀÌQ|ˆWO ÔÔX,zƒÖ™§—$Š[¼WÜÜ›¶x¯œ"1ÉLˆ˜^’Ø´½ÒqHn0›•µì.^M¯§>¦y>÷„%m/($œF ’h¼{Òšš K…Π-rêƒçéeU„ìo@£ÒR£d”é…6+˜MNµ‹WÓ+ùàÖóéÈ~@uµ¹¢\«/;ëćž“^ÏžGñG.÷àæ«ÜTª++àó§´‡§×3,†Š =`!º/3ɜ’s9¤¨*ëáéu×íù“}c_;üŸãeÅy%çsJÏçÂJ÷®¿¸(ë왌}‡Aºêk =<½îú /Õ,xëãqË6~úõÞ¼ÌôîNnæ/¹šïÞ¿/&m}Ê»Û*zxzÝõÁlÈÏW·~ágã ÿåÿÊ››ªzxzÝõ¡²¼°º²¸¾ÖØÔXÙÜT}¡©æB³immò̉êZ.Ô]h®­®<ßÃÓK|À¿×CDЄ}@XЄ}@X$¸5 DïIzjE¯§Ë%¸˜Z¤G2Üÿ“àC߯É'áqÅŸ08ˆs‹cESöÇ_±»¢ÀáE²‡uŒ£#;:”³Œò šó<·›Éî'ÿiù”¬ÜôâÃu[É'‚ðü?Ü^=Œ endstream endobj 289 0 obj 7617 endobj 291 0 obj <> stream xœíZIoÛF¾ëWð@ gã €dI@{ ` ‡¢§¶iQ$-šKÿ~ß6 ©!)vœ8†`‰æ¬oß›iwªùoóoÓ6Û½ÆogñûÓïÍOoš¿7ªÁϧ?6¦k¡ßÇ ~€?è¿0¤xÂ_î÷¡ùsóþ Lͯ¹~~ý¸yûÃGÛœþiÞAsšþx¿ñ°¬Ò;ÓÜÿÖ¼½À³mîßï[5Üÿµ9ßoÞÑFñ“»[ïw!ö×ðôþç}«³W~ت}ÛÓ·¶zßèûHo ÕîÛŽÞXzÃïO¼mf½[©m@]h´¢‘{ÀíÀ×( j×?5Eëm3[TÊ+©íˆ†á&¬½<ófîè»§NG9°#Ȳ–^·'™ƒ›£‚‹›ÑhØAºªÃòn™¡{v†>OÛœƒ_åL‹Î^æb™Nóäb·"Pzß‹wD]·6þs5›N“Ý&?gÀÎ^åW‘_3FÄàÉ—‚!YhÕ)ôĵÌ%É‚üÖ£\B·èÓ²Œ ¦ú!£9†;Q­J¦Ç¬(ê4-T~EaÞÌW*²”Þ{s&ù¶‹ä!Å¿ÆÃ2ßµÝÙg • ¬†¿°jòª}~eZŽ€W;|„ø—ô™u(LÞ‹±Bäó˜"ÃÐQ„Ä>¼8ÈìŒ#Iât!ÛSq6vƾTMJ­ô=JÒ‡£IÉ'a—Ü 5óšÉÞ*®%Åö Þ©ˆ*L¦O+¯{w•^~½Þd½mÖßȰªÄÞ”GùèE&fé-™5s<ó‚¸üxq ôîìщ=!aW‘:‚ÍPÚá“Í!h‚:NŒ=Z˜: h¾ñÑ#»L£p®LzâiA *ânÕlã^6Ä+к´»<¡µÉ/@àË ¡F¬”7­R¤ÂCY"ê‹÷žVŽEúX¯HÅ ÏWa›êŸµ;‹å±Ž}½·Iù¶èõ‡qk•­‰o‰©ÛÁYFÅÏ5o¥¤´Êh™ñDlþ¨ðþ8†ˆ8[ôØø™\R~Ô“z¬—²Th¿ýâ¬aj@U ÇJDN“4h+0žkçÉ¡> Æ+HÕ¿C?â0O(x²„ÝQaŠ”ø=§/·‚KsŸ(ÛÉ(-0>åES?‡…Ž„ïÔ+„ÿ¾Úæp»1súà$Tù¤Æm8R-awáô2vשN•p»N+,âvÑFÔÿ,ƒ"fà}ò~B¶»cB i–»l³ó8¢oÑ3¸é©ö ŽPæ»|¡m6¹lf×è+‰ÒÕNX?ºÏh †g[t™hͶ+ï,ܨ5䵋CèâžÏC´&´O_“[ºÉP[ŸéÍVpÃ÷9ÃOï¯%•á8È©<zÒ¬XÕ:I YuäF)V!*ö&åÕ8¹hU^ñ1S6DÉÅbZyQ@»|a2c¶ Ü’¾»Òwîéý’H+ë³™ŒÔ¹¼Þv”d*\gÒÂÓ]Cb0– ‰ü0îО³iʬ§²Dƒdn¬„L°Nöc_ìZžû7–„WY_n 3ÐÉAÇ Wumñ}RP4jâ\Å„D0äÜû!YVW¥£`«BµÀIãòeú]ó?Ÿ3ß endstream endobj 292 0 obj 1772 endobj 294 0 obj <> stream xœmRÁjÃ0 ½û+t.$µd;nÀVÒÂv v;­ËÆh6ÚË~’¼$ EyzÖ{Šmk„os •å4’Äà%^_áqŸAÖõ͸Æ2o2Ïü0ß¼å&“wááÝŒn]àB’õ2™íýä¡û‚žËKûý`"Ë"Õ†lœ{Æd1æ0˜^ÊZé>Æz7ó‰³ñ)YÊ.aÌ&ÛjÄ\Q²w÷ŠpÕ'Û(â)xWv`“)!)rå„Ê@PÀ) =ÿòP;†•7KÓ‰NU½íål~þÑ#OçùŸ„eF«3b—«(C.;UŽE“§: ŠbJ¤|r­ÊGqä¤L²“f¼íV#=ðáX¡‘+á<8Šu»\‹ cŽ¿Å«Tv3™~O˜Ú¦œq?q܈ endstream endobj 295 0 obj 308 endobj 296 0 obj <> stream xœì `UÕÿ/2(S;3¶S™®Ó±Óv¦ýÛéâ Z\µn­âR ЦEMQA¬@•Ä8V‘$˜@– ä½l/û¾'¼-÷Î=çÞ{îò/ð’÷’÷ýæ“ûîýõþÌ×sß}W– ’îÈqçI‚ôËs”Û 9“Ê¥û*¤_WI“kÙvÄ Òäzé×µÒ#õt畇ˆmZˆQ® v1ÿ!0þi¸‡QM·wÔ*;ÕÊ9T"wTJ·VQÈ=¬¥ñ[¤› äb†íò©]W<çÿÒ<ù_^¢|ûù?ÞÇüQ³Z¾îO”ÿL¹yM@Xb– ÿ:ÞDü_‘Åú/‚'mj´ŒF ~ìò>bÞ¤1¹VÛvÙ£õĶ]6£ýŠ„>RS3oßzBüÛ®Ò!FŽ!bâ”â!3`lŒ* ™éÒ`NŒpÅ,?Az¨Sº^_|“Æ•&¹¤ûŠGLi$HS›ÄÅœÙ=r–‡x9éwþ‘ÏɶO¶Zí°àåÏö]ñ¯ ¦1£€˜…ý`Öˆù"ƈ8ÏeSÜ#§uœÒ>âñné±é×Êö7äGoá<ÒD·$r¿ÌJ"„_UJãOK7:uçvG¾ôë2ɵғõÌÅÿÆ ..´”LIcJ;@LóÛ&Ê#žh¸ìÑz½;à¡ÊýÕbÉ÷UP&•FÜå”nwÒ» ´›ˆmûÙ1éê­Ô¶]{–çv_1G0ošã<Ó¡£§6Ó:¢] ¦©‹cf‚™4‹1S½™êÐ4˜U#>pstc‡Ø6bØÿôW¾3î(½Ÿ4€sÓ0¹5!ØM¦“…93? #h«gâbÚ$ר{ËŸþSmu“7Ð-¢ôôÒ²Q×+žmL.µjßO–¾³:·ÿÐιUÙ:7Í­ †­VùœZƒgÓÖˆA´¼ÄlU€Gûç0É%M¢¶ÍSál|ýwõ/<^ûìý5qwU?=±ê‰ÿ©ú턪Çn"T>r=ÁõÀ)÷ý¨ü®ï:oùÆÉû~ÒZX@̵m̹ýÛ>êÙþ~tõVzxcÞe·˜õfÌ¡iþí‰=8Ù¸0hõœbŠˆÿÅ ²Ð‹¡.eÇÅlA–å¦7þкaUÛ‡«[Ö½ÒøÆï–ÎlxqZý¢§ëç?Y7÷±º¹“ë~ÿpísÔÌœT=í¶ªÇo.¿ÿÚ“·~û“;~TÝàáknÿuÄêÜèuUŶ}îù3ÿ´ÈùùyŽ¿ë=×ñw/8ÿ~¾ó‹ Ÿ›[<úùbé¹ÂËçK¿+”^¨•ž.´¹Bñ"KÄÿz)"þw€ÂÝšH¹tunõ‹¦´m^Ó¾m]Ë»¯5ýi^ãëÏ5¼_ÿâ´º…Sˆy«ቺ9Ö%<\3ëÞê¸;«~;¾âáŸÜþÝ-?þ'z?qnâܾyDwnÄËÝ\À”@þéM?&M?%Í<)ÅŸù\Á¨gÉþ))þÝÎ:1vMµwbÂúÜÉ¡ô¿Çp±Î=ÕÛvW%Eqnu ÏÖúþÍ^Ô¸üÙ†%qõ žª{~ríï®õ«šø{ª§ÝQ=ívzýôñ›+¹®üŸÜùým?½š:·ŸP˜sûÎ6[çv¼Ì¹¯ hßéâ}ÅtK)¢rXPôɉÂäSEI' ·TþìϤ»À¹ Ö ìÜjgÝÛô§¹MoÍ'¶­7/‹Fž{¸6þ¾êiwU=ukÕcã*s]åÃ?'ñδí®ûÇ”Ý÷£Ówÿ×öë¾fïÜþe?]…»¾€Þ—z_Z¹¡Áò“\öÎmNG™vkD~Kä“yAÄ Ë= Ÿ EîTsÏ&8·š¸»—Îl\>»aIœæ6ÛöËªÇÆÛæzà'ZÜuïÊîýáé»ìœ»ZJœ‰ŒU>QäWôVV¥[ÁdÕ´ˆ_–ûH¥)ëË.»ç¨ð¬Uż­é!Ee;¾jÉ•W­{·¢éÝɹ‘ÿïIÛ¦NxWfEÎíW}8êþê„|â‰;&†i”ðö€è"°s«žrký‹ÓèEÒ…SêæLÖLZÕ㫽±ò¡Ÿê¶íîÿpMú~ù=ÿuú®ïoÿÅW©sûy!õiß;iXsÓœÛ=thÕ¹ùdÙ|ÍmÚÿ9FÞ“?òQå£G™y{°%ƒNñÌíW-}ÝYå\ÎŽ¾æÏ£ïŒt>ƒ XÍÌyÚ„sG_“<ê~åD\9·ÓýK%¼½ *Ûºs«›÷xÝü'é6á7µ3¥YµÊG®ÓmÛ]ÿîºãß\w]S>é{ŸÝù½¿øWîÜþ»ÐÞ¹Mrѳ‡ëTçæ±[v3—xNunMôÑZĹ­íe.èÊköº¿A™Ó­]‘ÌX£E¼‰{γ`Ùž–‰{¼Ú¾©‰"oâÞ]Â2Û‰;ÊÈ?oŒ·$ÖÊrm÷Äûõ:r~»ÝÄŠ~?A *­4Ñú¬a7ëÞ•2sm&Bs:t Þ¬m­£’ÀÓ€èD[y»£–ù7jϽ¡.áazé­}îášY÷UO¿[6ªêžÿ¨úßoWÞùÍÊ»þ­â¯9sû5;öϺscËnßO¦ÎX8¼µJYp£7œ[p¼Óß93rRqnšy›˜DLHû»“–Œ¾¥‘?)•1—Ú²]¹£¯Zrû{MÔÝ­àA¹"ÿ¶ë?bÁò-£®ÿ‹²ßôî«PþÞºÏ]½„ð‡ƒ¤Jë»Ïñ>GÑ‚¥¿¿»QzP±=9·ùH¹JËã“Ü´·SG=Ø(­qsc9æ˜8½„<5qÇÛyðÁÚL¥·Û¯¢£\9ÆI;'ýLNýà®?LR#w±®”o}wÒ_Fß­L£¶å¶kØôØÐv½j+Ž2¹ZËÛ•óŠèä_s ¢ˆÿw@¤¸§Ñ½”YùðÏjãï©{îÁºß=\ûìƒ53寧Ç;õ—šm«~ð¿ªïûNõ¤«¾ëëÕw}Ãu÷·ÎÞö­ÿýêÜntJ×ñe·ïl“¾ôºÁ¹=DIºs‹ûäe“ŽŒ|¼]ú }ä½ôPËÄ$ŸbBÖŒ¾»…j(ñ.êè®/•ìb¾eôŒ^fÌ®¼fÿ(ÕSÑ |Íèçx$ýÌí-§‡[hçJUMïNÚ2Jí–öö` 7l$.´J8N]í®"ÆÒ0=¨É9å¼·Ö„[ø$‰×RzÓæ|åUÊ©Ý?ên52&ßpâo©æ5$=!Môfj{·y”‰»ìòf™<"Ïýí:ªy#º]¿º¶ú™;jgÿªöÙêfß_;ëÞšw™ÖÜjïÿNí½ßª¹û«5w}µòίž½õ«»~üEêÜ®wI×—Sçöí³tÍ8·oP;GœÛý¢só*ïs»€s{ö/y—Ý“?ò‰žwK¿VxÛËM×=ÜÎ)$œ ×úþp‹÷pòX7f7U¨ —ŒžØ¡ïÇ»õ ¤ŸùêáònÚÝŽÔÏ]½„/ÐÛsÚíµ'Hå‰{ýÜÝÓA—Ô*rn»©‘T(ß´îÊ«¶Žúazœ{ÒOWðÈ©£Ø$‰×úNºRÙйd‰hÃݶ›ìtP¯5QìÅ_m%Ô¹ò‰zîÄÆVJ‰ª[»£[ߟíÑ*ÐÎóÃÛ¶z¹;[™pRVlÏÚѨÝþw:"‹«~P^.Ÿg­Ä¹‰!ÊùˆÍª×Ê4ÌYé|„%¢·†MžŽ«wË*èM˜ªy5oKØõb†V ¢þ1bÁ¿Ñ¡;®©œ|cõÔ‰53Ÿ¤Û¶iÿS;冺'õ{Kë'ýsÝ_©úå— oþÂî|Ž;7Âõ.ݹ}û¬âÜ”+³u¨ÎÉ£,¾’ÿwk>½ìã—MqFÅm#æDq#ÔA]ùD£jÌj¥D¿êÜÜúþlŸ^AéJ–ÕŹ‘ o~€Ù¾Wµ=g”i0;DâdJQµë¶«XDÄ›Qç›ÈöéÐÝŠ»k¤=S¯•5êqµµsI‹ 4¦Á†ãñÛîNŸU0õ¨­8Š’7ùà:çž2mžˆ*ÐüÛý]äÏxÙ-_w=ôÓª'ÿ§zêmš‹ª™vKíÔqµO]_÷ä7LþnÞnÿÇš wîú+wÿçåÔ¹ý²•š4fÞ®=¨;·;jé¥ÒÇ:F<Þý•±úâõË¿xÝrº½Aä5_úÙó—=TpY\߈8Ašâ'ÿ6q[«`ðzß}xÝè»ÝÒÚF-”ñÆÛWõ‚jÌÆ×Jÿ§º5RSÛŽV»úýw—\yÕŽQOy«Õ®R:ù*Ùݪíùé:‡Õ¹ýšZÊ„S´2}OÝw³F=Å}&w›KÄQúŸÛAçök2^#~é)Cç¼áÿµ­lNzª2S •¥4Žþ.;)±·@míFÑóÖ—øBÖhËü J÷Ã0 ç3¹‡érV騫+îùaå#×óÖ}p/µmSÆ×LWóÔµOþ¼îñkëù~ÃÃÿNNÊûõÿ¾zìßžûé¨]ÿqwnâÜ~Þ@?—_-uIw4ÒwÖ)Îí²Ç›F>^;ò·u„ËŸª¿|jÃåÏ4R¦V_þL ejõ¨§k#göœ)˜ÑG NcÔ­ëô«{WíýX# J÷íÔ‚£ï£Õ¤Çèçߎ¾U/åq¶ÿ¹L¸·”u5Jé_Šký=µ«[y'R\½óEÚ®¼jÝèÇèþÄ4æŽøX&Ø4Ô!xqÂW~ïÐ(cç¦ ¦¶l&êôíz³o+EœDìÿߺ{„Þ·Xr×Ë︦âWc*ó‹ªÉ7V=vcÕäë«'ÿ¢zòÏj½¶ö7ÿU÷à5õ¿úFý¤®¿ýë&\Yu㨳?¾lçwFPçvg'_v#ÎmL.unÿrBsnĶ|¢ç²)î‘Ó<#§{/Ÿå¹b–ÿògûW<ç¿"¡O„ÅG>'sfê„í?K¹s³µ[ý‚:·£ép>8¬þ¸¯ÂŸý½cüWKîüné½ÿ¯ìþ—?ø“òûÇ”?0¦âºîÿ~Õ}×TMúFõÿ\=ñKÕãÿ®ê¦+Ê~Ù©ÿ'mù¶Ä3oű«¥FçÆÌunÓ<—ÏðçFyÎounÁÍ[Xµ\fWB¯¼­é;‘䉷­»òº¢°Oÿï€b2oÕÍþüÛ¾›÷ó/åÝô¯'&|ëÄ/¯9ñËõßOþòÛ§nýVÁ-_?sË¿žùŸ¯œû¥37þýÙ_üí™ÿþ›S?‘õ}ië ß Îíž.ƒsûÒë¢s“~Ó¡-»±•·ËãÜfÿö_… dÛÂ|úÂåÔKì„]£ŒøÃëeÓ§ßîn9{rï„ï~øŸ·íGÿ¸uÌ7_ûåÍ?úâ¶k¿´ýÚ/íó…Ý?ú»ø¹¤ŒÞýýËwwdÒŒØñïÒ¶¾ÑðÙ‰§ßjàÜÊ5çÆ¶#o§ÐÅ·.îß3|Œ‘Ó½VØœÙz1Käß_ RîV 7)ŒšÜûô_:å~ªºÉGlÛ¨ÿí0¼ÏÍäÜ~UI]J¡É+=NïY9¥C]œ†‡ÝO*")7–*·ËDüþ&"EÄÿõ9qÓÊý¤ü#Aì‘ê¥û»èêÛ²{Ú¤;[é–•jol3arnÔ¼•K7æIãOŒ˜pò²[(Òí…Œw9Ò¤rjð&¹8÷Uèû åáªb‘[ˈ]ˆº#À¿‚ñNi¬Â*7óñ*,B¶×Q~^ÈWÊž8O|š­s‚:7żiþÍV¢Õ˰GÄ #ˆmðß{ú»·ôŸO\ñ“â¯ÄµŒ¾¿¤©¾DÒÄvéúbé[›¥/ýÎ šs*À¹ àÜÀ`ÒÙÙÕÞÞÔÖZÝÚèŒød€!œLàÜ€KÎ &¢sÛöÑÛŽ,Ëâ_R870˜ˆÎ­¿ÿ€ ‚ Ø”ø—´¿ÎmÑ»û蜛AAPºDçiã %wn‘žAE»¢Ä¹‰Ë‰MÂ’½!¤àέO—ßôj)°-´Èo³§ê[)ò àÌÄ*–qv§F õxHyµmt3·mç·?D†‘aÛ*È02Œ ÷Ei†¹-[›BXòVaÁŠ]„9˶f¿´)Ðôˆ;(8·ÁQpçæçòù膿-ýâaŸ¶§‰—ûøz̪k5´V>íXìÂχR6éÛø´ou’Ú±6¦^KñëU[m У¦ñi§îó:ñù„éè'¡(Î F†‘adº çfûW›8·…+vÛEÜAÁ¹ Ž‚;7ŸWQ÷}Ê—W,ói;>Û˜k“Z†b›*B >˜OAÂØ•ÖÎPê3nìªã>uDalqÒ>õKÁÒ“O?m¾¶çŽ #Ãæ‘a»Qìª ÃÈp´dx [èóøúÜ^?qnE®n[óv1¶giee}åäK·OáêÎ-wn[ùR!ûn·º§ì{ôCŠ"V¦ì¹Õ#7/*éâ ܼËÍJøŽVÎåñè »Ýzgnq0an¡ªz~ú(êŒÜý4„¾Ün=%–ÔykéO^ïOÁ­çF†‘ad²ç¶tM²xHÌ›×Ï›†© wP†XχKƒ­unÁ;×§Úô œ[ܹ×ÕÛ{ÞF½ç{Ya/ݧ‡½çùKo/oŠøžöÚkêG ²^ÔnÅÖÚˆ½çÍýôJµÑz…JbÓ9ˆ³SÇ5ÉOQŸ«>^åD…ˆÐZp):ܹõ0u÷hê6ì f±¢n^£ð/&ü¥P,í¶T6v°Oc]ÒQ·µzÊlv›öì}&ü›Í$ÈĵnÅӰ̬[{é4Ýn}®çøéëÍ»-u­»ýʰÍX*‡1ÃÝÖÞ„év¸Ö­©±íNˆî6¶B†‘adX˜2<жqn7:¥¯ýõ’œÛÊd›w¼ìX~YîÑÒÌÜÒÔC¥IK·§—nM/méñÅÏO45±÷BJäÃÓ¼NÎz<ña=?¬<Ýd)µ¬†‰}Š–O˜D‚’v"ižF\‘æÉÔœUpçÖÅÕI7gWO0|zÍ„?Ÿå%Ê–w*ºíT¾XôìŸ'(ÕyYg— Nm£Å; [Ö@l£Ò¥Ó©u•<‹Î­SŸêÌj>e&gH[ë,´‰tòóè$•ɉÎJÖz']+ç-L@=IíµS›#;k~ú«Ïs6œ»á\…$šs4Æ^:ÃÂ0B ìC˰q’¬B˰ád s6œ»á\‘adF†-çn8×~gxàœ¿›ÕßçõÑ·¿Óíkëõ5÷øfÌÇÔdLœåj)óTšóYß$›–ÚlJ©_b‘Éi=òé";ç¦×á‘ࣄ²ôgnN_pÃçfëÜÚ;ÚÛÉ7ù";Ÿ½EìÇgì¿´³×vC°ƒ¶QÕ—ŽÏV+mÅ6¼¨]k¥ì´«y1묽½]­«VVëòJ¬ˆ’±¤™I|í¼O€–ŽÿÖgjGêÙu´ëSQ¦§¼zÂø™3'JÚÉ„ ãY„³ÐÔ©ðs £M;”Ô)ƒŠ©Íô ·k)é†;„¦a­T̰:”š‚Ð2¬fOŸ­PõÂîÐ_„´!ÃÈ02Œ j†¹-ZA[fŽ3#Çyàc_–#)ñó€cKªcsZIS·wz çf·æf³bf5Wš#rÓ+¬cé¯s Ò!œ›QÁ[k[[k+Aù.xsüø7O³om=M"ññãé\ürÀvXM§‘$¡mÁ›ZxO+?ŽOj£jMŠ—”J§µ:ãß, £µµ"4ÐJë·µš;$Ñ=ñÚ¢ >[¡=™×ø7ßT+‘¡ébÿ§•Sf#(ÓÞC7$HºŽ“H›0Iz"´C·­mÂÌ,ƒ¶2±aô ³ÉŠf[¾Ó¦Wàókjim,M[Û¸XJEeèVmÓÖÆûàb†õù©-µ®ÅÙ 3iÛx2µZl—ŸºÑÎ^›H«0]µ'~múÌ[õ³Ò;jÏF†‘adx 3<ÎmÞk[É6û°#ë°#=Gqn™Ô¹m&Îm¿³:·u¦&ƒçÜ´U58·H(¸skur•êD[uòÔŸÆÑ—ææÝ3$m‡¼ž\ÅãͬhÆn¡=ÊÒÙŸÆ“½VaÆu‡D”—fh>ÅZ±H³Ñ´[èpœº§ÕiѾ[´ «ØÂg«lé¿EíJ©ÀöõˆÒI í˜Ìߦۖ½·SZ©2åñ«N±Yµ4›ÔbÚµÖÐêØ”˜:hŽõŽZÄWK4@·j‘¹TÈð§ØbµØ{·6Î)д[ÔY!ÃöûbïÈ02,çg¨Ž [ë¨%áÜž_º™l‰m;˜ëØÈ‘|Ðñq†cû~ÇG©Å›Òœu]Þé/¼mjÒ?çð=lvWKÕÛ?i„×QïZ îÜôûFéÕOóÞ‚87ëÕRCopn[ccc…~5æ¯7nåqvÈt\(;ùj5®´Þ9]·r§)®4‘¦ïl`¦ïT^âv*}ÞM·Ó¡•ù ØplBd_é QE›iC¾:C^Ú [ûohàMùy5¹ñÅdy9®Œ«f@hÅÓrœÕÑ"&¡¡Ñam¶Úžz JåK™Øšw§–«/â¡pÐ ö dÊ4—±±š±5ﺡÁXÐÐÀgݨ½4êSš6ðºâÜ„‘µPƒa¢´T›¬ž<ËÙ#ÃÈ02Œ ‹½YÏþ3<Îmöâ d›–íHÍv¤d9ö°K¥iÅSŠ7îsÖtzâæpn†Xχëí6 ÞY½ajµ¾>ïÜ0as†y}ml½A½8U¡i–½Z}½¶'N F†‘adxP2<ÎmÖ¢õd»7«DÁ¹;ù#ݹ9͹1Õ¹!Õéj÷L›»ÖÔ$” ‹á‡X¸ÓEa«vQ †[Š&wn5¢Ž¾1vìGm#¦±æ¶g$=B¤g¶ñ¦|Hj ½Ž*kĦHïÐ:O±X,µÌʬ€§lצÛàƒBAÃDáÜžžCo@¨ïò0ê:=µžšOU»§¼Õ]Ü|~êÜ5¦&ƒiØ^9­ ÒçèNNë ñFQ8· *¸s«¬¬¬ªª¬ª¤ª:òú͆«Š7¿¾åõ›o~ýHU-";¤Û1Ôœ¶…tÀâUb'Ó¶®i÷Z³J~,6WÂU¦H•2+ef¦yseV•U¼wVsË4¥õ´i7k=h5õ¯N›(ÎT?Aý ª´lÐVê S§©ç§õÀû3dX†oõ^»’'l•zzUêžÚ©¬äÍ*+Õ óW­z¯Z)ô¨eX¯ZÅ­Ô›Š®ÔŠôÔ†ü”ÔÑ…þõUúz^xs>}=E†ÉêÑÏ F†‘adx°2<Îmúüw⾿0‘³ qÆ‚D$ÄÍ_7í…·íï-IÅ.E‘‚;·Š W…òíRv‘]—zÌ7® ½˜*çµ›o~-G)cUÍŒ‡®ÍOK´¾Ë¥ ã+‰ƒ‰-]Æjú„\l’ZK,v¹xS—8u—P×eÊe«Pæ«î ]X&%LÄåâà ó1 R†…t„”aaÆÈ02, † #ÃÖñ‘áŠþfx œÛE(â Împܹ•é*¥ß¥l¯”·j1Ñ¡e7Ý´ìP©°H/!;›¦HS6 ©ÃØ4S‡7Ž«oKµˆZµ”Yº 87ÓmƒÌÊXZjŽhÓ,-5õÓŸ «-B̰yjÈ02Œ #ÃÈpø2<8ÎmÛGæ[ ØTpçVâ,q:%%ò]¢ì•(NEjZ TâA%^¢¶Pª³ïÉÉõæNa·D(Ð&À6|§¡K>’*uÒ¬ ¯¡ \¢Æ´–ˆãiô9ñ*Ѧ¤ÎEŸ—S›‰SÏÚ­³D¬¨îkÈ02Œ #ÃÈðÎp”¬¹WÞ›Ò¾W¥ä—¥½/I›ž“aDh€ܹ9ŽbþÊ÷”%® Z‹(Q½±^•n´æZ‰^Á¡ëÐ;vˆyÐÁªi/}àb­wïÅ¡µÑ§£éÐ6NÇaxZ°µ³ÃÅB]^Â&Á§*LFM2Œ #ÃÈ02Ÿ×ïç}ŸÏÓÛÓȹe¯¼,{õJ-<°\ênÎnpÌk­|å|Û›²'Q>¿º¶`Š»k‹,o™Ô¹‰‡úZœrLã jˆ¹;a¹N«“˜˜ÀÊ…ö¤Ú6!ƒÇ¹?´…õ Õ1Ô0U5qn‘žA œsëííVè"ôôtµ·5VWrné¯ðt•åö´eÄ›‘¿ãïËÞDÙ½Zîý£ÜóŠÜ½°ìØ£²|jSÂ…œ›œ‘@Û ¨gRë‘BÓÊ«nZ²3˜@e6Twè«í(jˆ×1õ£†óºîPQçèw ¯sëîn7]™-s0çÆ–ûÄíþåÓàÜ*ËÕû^%Þì”ì_!{^“{^’»æÉ¿“ÛfT~z§,oÙhýT[çf|ó_*Ó«©¦J¬Æ|W å;Ûà£X[)Î/¼ïÅZ‚sÂHx[GGK[[SssmScMC}eey‘ãl^ 5·Ô¥Ò±ÇËrIòË’ìË”»æÈí³åÖ8¹é·rÃ#rýC}U4?µ~VhWK­o-³:· aζU(Î-È(6ÎM=FýœFÂëܪ*Šœ…' Oz®àðÙS¹y™'ޤ¹CaßK#½ÝŸ$½(ɽ»ä¦Éĭɵ÷ÊUwÈ®[äò[d×­m'nþk|pç¦]µ\«±%7!Â/‡Z›öV5{ tëEҲăS ”‰a+87 Œ„×¹äeä¦ïÈJùè`Ê&Bfò‡Ù©[‚8·”WGç¾wýÇ‹$¹ý=âÓ䊱rùurùOd×[Nþ d÷7?yõóïÏ þ© ‚²^ /k*U2Ô[ ”{lÖÐX^*°p®· û¼ýޅؼAÎ 'atn÷yn)˯޵@’[WÉå?’]ßk9öµ‚þ!ù•QÛæH={iŸÁ£«\Ñ%87 Œ„ѹ]œÒÿüÃíó¤Þ¢; 6|>éÅ‘Û~/m ׃JáÜ¢@!:7R ƒìܶõç¹¥—>xVú`6žr5 µ(dçé™BAP´hð1õ˹ë†L5-¾Såþ£…îC§{3Nž'8Þ›š×•r¬'ùh7aï‘Þ=‡»wæt9kÜÖ¿žÑ¶æ–†Pt Î @,ÃDl[EC_qMßgÔÂN–øŽ;üG‹üG ½„œ³¾¬Ó¾ýÇ=û>í´þõÆknyoJû^•’_–ö¾$m ×ûå Kœ€X†éh¡›Ø¶ÂJß©R?1l̳}ZèË9ãË9M!¶-ý$un©y]Ö¿žÃxÍ-ýuÉÓÓÌöw/„s‹¼àÜÄ2L‡N÷²Õ¶|‡6Æ‘3^âÖÒŽû5ˆsÛŸ+kn¹«¤ƒË¥ÌU_Ö"pnÑ 87± ÓÀ9·+ÆþšÛÅ}ÑÑ·¤ücNïºÝ•¿¤§õ¤ÏW#Ëí²L¶¥²Ü¹s~ðð íaTøh‘KÓE9·²—'(?¡ ‰û#ý/¸˜2Nž§ol+QÞØvÖ«AÜZj¾°/ßËvBun_³së—=d!ÈØ2ß Þ¬ÃÛ{¤½vkÍg/–ž^–;Å‘õ˜,ËW»mnÐÇfÁ’ Š.~Íí³ÄàÜ q˜ïÍwøØ‚Û]O¼ÂÖ܈m#†@"ÉŠy#DʹõkÍ84ŸÏë÷sȾÏçéíé äܲW^–½ú %‡X.u7g78æµV¾r¾íMÙ“(Ÿ_][0ÅݵE–‹·Ì êÜ2袛—ÓWæ´‡[)[íAV|±ÎPÏ&`)E]ºsÛ¿Z[(øòg´H0kGjª?™÷Õ†/Ïä¡'÷FþŸ-€˜…)åX±jG ýĤ1žö>9îÕ"̼…z‡B¤×Üz{»º==]ímÕÅœ[úë#<ÝGe¹=mñfNY~_ö&ÊîÕrïåžWäî…eÇ•åS›Bxà©Õ¹i‹§æ.!C >åžW/·j(†%SCPá\sÛ› ÍÌP|šâÐ:ä÷g’Œ'U{F¯ 6Ò w"“æÜLæMÛ'.²Î­¿knÝÝí’QeŽæÜXWâvÿò¿ipn•åê}¯ovJö¯=¯É=/É]óäÎßÉm3*?½S–·l´~*ˆ­O3¯¹±gÅ[\™ÁEêšcTapnú’[d£VMRÍ›Áà1SgŠÀ¹ˆLÉG»µ÷¶‰†M³mœ|ï¾cCã}n-mmMÍ͵M5 õ••åE޳yÖÜR—JÇ>/Ë%É/K²/Sîš#·Ï–[ãä¦ßÊ ÈõõU=Ð\üÔúYA[4 øÎ7Õwqnö×@áß 2;·.ʵTµ6…æÜ¨ãI6Lõopn¢¦¤#=ô£Û4Ûvà´÷ÀiîÜöæ{ö†øI¼‘^s«ª(rž(<ý鹂ÃgOåäež8’ä…}/ôv’ô¢$÷î’›&·&×Þ+WÝ!»n‘Ëo‘]·¶¸ù¯ñzŸ›ñ'ÝU" ¼ŠR;#ØÒœÁYËBÏǰÒÅ;7v¡S°^ôb¨yru™R§ìå ÄÔÙ]-…s0í>Ü“uÚ—sV'û ½lšú™ïã^ÝÇ<{Žt[ÿzFáš[A^Fnúެ”¦l"d&˜º%ˆsKyutî{×¼H’Ûß#>M®+—_'—ÿDvý¸åäJvó“W?ÿþÌàïs3ßg01!A¸Zª¾.àEUcoÖ†æÃUÿÓïGx_½×à†™ 7èWK•³pvw(À¹ˆ˜¶g÷¤Ÿ¤J œÑ!Î-ù4eÏ)ßÎ|ïÎcž ÷¹]Üç¹¥,¿z×In]%—ÿHv}¯åØ× >ø‡äWFm›#}ô,>ƒ7ZtñknÀЇ)úÛ (ýÏ?Ü>Oê-º³`Ãç“^¹í÷Ò<¨4úç –a"Î-5Ÿ>™ô`}nãÀi/ñlŸœò>>á%Îmû§îݹCà}nÝð¯ñÒÏJ̆a‹^Á¹ˆe˜¶ìJ>æÞwÜKŸo¥²ï½™ôc…ÝÇ<Ķí8Ò»+§Ãú×sx¬¹ACBpnb&GåùäÜö”O;ö}Ú©A÷éf||¤kwn'±mE•=Ö¿žÃfÍ-, ¡U¿œAA2ÖÜ-[›BXòVaÁŠ]„9˶f¿´)ÒSž ݹ@knLÄ¶ÙÆ‰s[¸b÷Å ѢМB!×Ü´ý¾¾>_ŸÇ×çöú‰s+ruü…]pn@‰µ5·¥k’ÅCbÞ¼~îÜ44U?x7–?W·ÿ‚sÂH¬­¹-^eXUcÎí¼×ßåöµt¹ËëÚf/~/Xû˜~’ÕÅÎ #±¶æ¶xåN²Í;^v,¿,÷hifniê¡Ò¤ƒ¥ÛÓK·¦—¶ôøâç'k¯:7áÉWÜÉéó³±”Çl) ÄPLÎ #1·æ¦8·>E~Ÿ×GÜz<þN·¯­××Üã›1ÿ`í­kn Ô‡ O®ÏH ;úóèy‰bä´±sÉ5DçFŒ7äè ;·mZs ¾%Z´‚:·ÌgFŽóÀ!Ǿ,GR†cçÇ–TÇæ´’¦nïô›ýãæÕµ4ÓêIÜö™õ1 [¤§ AAÑ%¬¹1Í{m+Ùfvdv¤ç(Î-“:·ÍĹíw6Pç¶.X{fº¨S½—Á†©þ ÎM®–ad˜­¹]PÏ/ÝL¶Ä¶Ìuì?äH>èø8ñ}¿ã£ÔâMiκ.ïô‚öÃ.t Ö‹›¸²Äƒ“³»Z çç\±¶æ6{ñ²MËv¤f;R²{Ø¥Ò´â)Å÷9k:=qól[F‚ñ~ý8!a¢~µÔöŽý…2ÖœœpQÄÚšÛ¬EëÉvoV‰‚sw†sGºssšscªsCªÓÕî™6wíÅM²œFbmÍíé9ô„ú.£®ÓSÛé©éðTµ{Ê[ÝÅÍç§Î]é9+Á¹a$ÖÖܦÏ'~á»ñ 9 g,H$ABÜüuÓ^xû÷–BýœFbmÍ dÁ¹a$ÖÖÜ AœFbmÍmÙÚÂ’·’ Vì"ÌY¶øAóÐ% Î #&ç6z¸¯¹Ûf'ÎmáŠÝ¶EÐ¥h¨872O ²„êÜnrJ_{?¼Î-j%:7úèÒ¾>¯ÏíõçVäê¾HóKŸÏÖ_-:Î-Ò©‚ ‚bZ‘unQ»æ¶tM²xHÌ›×Ï›†M3ö±ºêSI‰èïjS€s ,87‚  EXs³ÕâU†U5æÜÎ{ý]n_K—»¼®möâ÷lšQoÆ– NŒÍg"ôWpnAаæf«Å+w’mÞñ²cùe¹GK3sKS•&,Ýž^º5½´¥Ç??Ѧ™âÍ2Tƒ–‘ %$ «meB{ø•þè«X·tpnAаæf+æÜúùý}^]pëñø;ݾ¶^_so†í'ñroF-[F™Å³i[~=U©fh»‚sƒ ‚ P›knÁ·D‹VPç–™ãÌÈq8䨗åHbOulN+iêöÚ?CA5`ì¹òÔ–™=›ð68}ÁMxâ|¬*Î-ïåqã^>qÑÎMøñ…dºÍ?îМzÌ[z‚ È$¬¹ÙjÞk[É6û°#ë°#=Gqn™Ô¹m&Îm¿³:·u6Í´¿³ÚšeÍ-C[rÃeAawn’Qãâžä>M3l—æÜtë•‘ŠéÆ‚  ‡bmÍ-D=¿t3ÙÛv0×±ÿ#ù ãã ÇöýŽR‹7¥9뺼Ó_°›€õ¯³õj©²"§­ÌÅôB› Ys³õfasnÆòÃML¼vàwCi",¹ŠKsÆßœÀ5…;bÄȧA AaÍÍV³o Û´lGj¶#%˱‡]*M+Þ˜R¼qŸ³¦Ó7ïâ›~‹‚éÏô€ŸVôjÀß?°jœÝ*ݰ*O­¬íøÅfÄuO¤ü(ƒ9$ÓÕRõê9oÂݼ`æ-×Ù-5Mo’´D.8%‚ h kn¶šµh=ÙîÍ*QpîÎpîHwnNsnLunHuºÚ=Óæ®Ð Äš˹YwÖO—žÜm­s!çÆ¥½£ñ‚C¹zq?PÄ6nz“¤m$¶ÿw‚ hX kn¶zz½¡¾ËèëôÔvzj:¯ßÏ!û>Ÿ§·§3sË^yYöê/”Zx`¹ÔÝœÝà˜×ZùÊù¶7eO¢|~umÁw×Y.Þ2ÇÖ¹Y•þæñ„Dë'3˜ž©] j$$hŸÄeøäSç–cACȹ‘%‚έ_"­··[¡‹ÐÓÓÕÞÖX]Qȹ¥¿>ÂÓ}T–ÛÓ–oæ”å÷eo¢ì^-÷þQîyEî^XvìQY>µ)Áæj©ù©”¦e²Pž©­ÛY¯–šw°7dœ0$ˆ’5·îîvɨ2Gsn¬+q»ùß48·Êrõ¾W‰7;%ûWÈž×äž—ä®yrçïä¶•ŸÞ)Ë[6ùT@O¥ òìHÛOL ¾ƒw»Á¹a%JÖÜ::ZÚÚšš›k›kê++Ë‹gó­¹¥.•Ž}8^–K’_–d_¦Ü5GnŸ-·ÆÉM¿•‘ëê«z ¹ø©õ³‚ß[j÷TÊPž çÖÙ:·ö–ê¶Æ€¿cD”¬¹UU9 Ožþô\Áá³§r ò2OI r‡Â¾—Fz»?IzQ’{wÉM“‰[“kï•«î]·Èå·È®[ÛNÜü×x‹s#VÊôTÊ€WK?)Òð”"õ-o¸Z@pn@‰’5·‚¼ŒÜôY)LÙDÈLþ0;uKç–òêèÜ÷®ÿx‘$·¿G|š\1V.¿N.ÿ‰ìúqËÉ”ìþæ'¯~þý™Ö57ë#! 1»;,OŠöÙEWõ…w(¿?pnÀ¥ kn÷yn)˯޵@’[WÉå?’]ßk9öµ‚þ!ù•QÛæH=‹§'D‹†Šs‹øýD@Û (ýÏ?Ü>Oê-º³`Ãç“^¹í÷Ò<¨4ú´hè8·H§ ‚ ŠiEÖ¹]âãGCÔ_㥞•>˜ ý‚sƒ ‚ P4ì×Ü !!87‚  E±°æÙ¡PçAA¡èâœÛèá¾æ¶lm aÉ[I„+væ,ÛF˜ýÒ¦HOmx Î ‚ ‚BQœ›SúÚ_ÃëÜ¢vÍØ6Û8qn WìëŒ ª08·¼—Ç{ùÄà97ñù³ì³]„ˆöÙ.j,ðg-g$èe Ú«}XÜöŸAÍŠ¬s‹Z‰Î­¯¯Ïß×çñõ¹½~âÜŠ\Ý0oa×E8·qº}yrwdœ›Ñ6e$Ÿb+[?ªÙ$nÄÏýcµ…f¶Œb0ˆ!„ ‚†§°æf«¥k’ÅCbÞ¼~îÜ4lšD°º.ƹi>mç“Ù¸sÓÅ‹ÄÕ´€Ò?±YèÐ6hmˆ_1‚ ØÖÜlµx•aU9·ó^—Û×Òå.¯k›½ø=›f¦g(À¼…¬Krnõë§KOîVœÛª8n›§ïTŠHв.¸Î «ò´ˆº̹™³!«ÞýØÅ ìMš¶o; /À‚AP kn¶Z¼r'Ùæ/;–_–{´43·4õPiÒÁÒíé¥[ÓK[z|ñómšÙ>˜Þ°§[þFë•bñò¥8·+oàknšc«pÔÑñ­·¾É¾Žbêê…ë­!97MVÅ"Æ54e_û!ë .àÜŒ‚7‚ XÖÜlÅœ[Ÿ"¿¿Ïë£ n=§Û×Öëkîñ͘ÿŽM3“s³{+ èÚ…5›+e1¤KzŸ›f·´U8¶oЍëræ:†wü«.®¿Ø6?0åÇ)þôÿP/pµÔ~,¸AŬbsÍ-ø–hÑ êÜ2sœ9·û²IŽ[R›ÓJšº½ÓûåܬO°×-œyU.6ß"wiWK+fýunýywœþ‹­Ý ¯§%¨?{n¬td‰Lø±¹CÁ2Êzƒ ‚†»°æf«y¯m%ÛìÃŽ¬ÃŽôŹeRç¶™8·ýÎêÜÖÙ4³½ZJÿΪQ½Ù#|Õ÷°Çä:›¨qn¶WK×1tuÁ«¥‚ÙÖ—OÍÎÛæê¨(Ѱ«k±:0†bû—‚ (¦›knÔóK7“-±msû9’:>Îplßïø(µxSš³®Ë;ý»~ÌW´Ô÷6 ÆM4q ÂrKL/£ Œs³¿C!páÂk?ÞçAAƒ'¬¹Ùjöâ d›–íHÍv¤d9ö°K¥iÅSŠ7îsÖtzâæpnúO›ÏW%^Íxó©`Ö¬WTcIx†A…"¬¹ÙjÖ¢õd»7«DÁ¹;ù#ݹ9͹1Õ¹!Õéj÷L›»v€g[‚sƒ ‚ P„57[==‡Þ€PßåaÔuzj;=5žªvOy«»¸ùüÔ¹k"=Ça%87‚  EXs³ÕôùïÄ/|7~a"gA⌉$Hˆ›¿nÚ oÛß[ ]¬àÜ ‚ (aÍ ŠÁ¹AAP(ºXçV4¼×Ü AÖrn@dé‡sûz˜[ÔjÙÚÂ’·’ Vì"ÌY¶`ÿ yè’µhˆ87`H0@Î-j×܈m³ç¶pÅnÛ"èRç„‘\sÓöé£Kûú<¾>·×Oœ[‘«æ-ì‚sÂH¬­¹-]“,óæõsç¦aÓŒ}š®ðñºô3xCùX]í9 ±ú,87 ŒÄÚšÛâU†U5æÜÎ{ý]n_K—»¼®möâ÷lšQß%<&N ɉŪaÓç„‘X[s[¼r'Ùæ/;–_–{´43·4õPiÒÁÒíé¥[ÓK[z|ñómš),Cua RB"?žm¥OLLL`+tz!÷}z©$ÅÆóLáÜ€0sknŠsëSä÷÷y}tÁ­ÇãïtûÚz}Í=¾¶ŸÄ˗ΨeË`ûÖÅ4¥™5Ý’™®–Š¥¤~ ,ÇÁ¹ad˜­¹ß-ZA[fŽ3#Çyàc_–#‰=t>Õ±9­¤©Ûkÿ Õ€±GÌSë%Z2ñò&GgunâƒéáÜÐbmÍmÞk[É6û°#ë°#=Gqn™Ô¹m&Îm¿³:·u6Í >MY3Ó×ÐÄ7¿Á¹™ç„‘a¶ævA=¿t3ÙÛv0×±ÿ#ù ãã ÇöýŽR‹7¥9뺼Ó_°ëÇê²,NŒ›8«s39=87͹5VÚÒØä"¨ûZÜE!‡¥Q I Ñ†FÖ¿PÙPÚXAãj'ŒF5"6Ôë®_Þhˆ“Ãò&…F MÖÒ Ø5,Ð"b‘µš…k¤Á®BƒH©+-¥4Øa)jà”ŒñZÚH‹tœ„µ‚Ñ÷EB¨æ 4ªA¡sdE õ” bœ7á‡Å^ÚPÌ 4ÛÇR¤"šŠ.D‚¶#R…:Z“ºÂ8§`‹Î…ƒ³:µâ¦RCðŒVçLH°&µŸQÄ}^á³(à´B ÈéÀ(ݯ) ˆñšµÂ)5¨ÅkNQXi™úZŠ^ šÊIB½‚5®Qo¡Á‚?¡ ÆOÔóÈ õ"UǃàÜ¢V³o Û´lGj¶#%˱‡]*M+Þ˜R¼qŸ³¦Ó7¯?ÎM½~jºA¬É*ؔƼs«¯³§ÎD-%PeCCkÍZ'¥ŽlK4êju,n„7ךÔ+ÔiՔ漂ƒPÇÑ»e±´ÞˆmPèʾ¹y¿FÁÚU E,åuXœsÄj†ýâ©§Û¢¤PAÜïçÅ‘j…€ñ³ ,xV€FjÉN5…ì(ûgµäP‹Ôœ¡ujiŽZßæ°NÀ16üŒ`)bAŠa¿ê ÅR*FêªÈþiBB-9¬"ÁÓ„ZC„Õ7Öá‡JQmUØ)P°î‹[N)(û• <¢`ˆõ+UL‡&ÄÒ* •')Úou²Ÿœ0bŒÇJF¾½¨FÁR!\ 6ñ<Š%^#Àë¸òj*\:<^q„Ëkn³­'Û½Y% ÎÝÎéÎÍiΩΠ©NW»gÚܵ<ÓØRçV^vRá”…“:¥' ‡¦¢ ¥¦:¥ö” ðH™‚Ñ+— [)à‰r2 ¶¥âa(û¶‘@#Úq\ÁÐ6P‘ ò‚]%d›§S¢ÀK…ˆH©…’<›ÊšÛpLÀ6FŽ*нN…@q±Ô¶f æ6]}J±F(â¡©hà8…”*‘à Öj‡Ky‘ ji®V”[jŒ³H©CÁRZæPÐ*‹Õ”"5’£ 4wäX\m›:e¦¸µZz>¤ í[‹.–b…ö³X$›â°C(*):Hˆå5·§çÐê»<ŒºNOm§§¦ÃSÕî)ou7ŸŸ:wM¤ç8¬ĹåMÀ‰å5·éó߉_ønüÂD΂Ä I7Ý´Þ¶¿·ºXá ŒÄÚš4È‚sˆɹ]qí0_sƒYAœù‘ 8ä©Å¹•„ݹE­–­M!,y+‰°`Å.œeÛöš‡.YAœ[¤§AACCƒàܶEëš±m¶qâÜ®Øm[]Š‚87 ‚ ‚ ãknÚ>}ti_ŸÇ×çöú‰s+ruü…]Á[¤gAAÑ®ÁqnQ»æ¶tM²xHÌ›×Ï›†M3ñá¤âå¡ )¸sëÓå7½Z l -òÛìiÇúVŠü83±Še܀ݩQC=R^m]àÌmÛùí‘adض 2Œ #Ã}Qšá_s[¼Ê°ªÖ§8·ó^—Û×Òå.¯k›½ø=›f¦gÀ¼…¬àÎÍÏåóÑ ![úÅÃ>mO/÷ñõ˜U×jh­|ڱ؅Ÿ¥lÒ'¶ñißê$µcmL½–þâ׫·Ú< GM'âÓNÝç3tâó ÓÑOBQœ2Œ #ÃÈ02 îÜ|^EüEÝ÷)_^±Ì§íøxLlc®MjŠmª5ø`>qqcWZ;C©Ï¸±«bŒûÔ…±ÅIûÔ/KO>ý´ùÚž;2Œ ›GB†íF±«‚ #ÃÑ’áX_sSœ_ô÷y}tÁ­ÇãïtûÚz}Í=¾¶ŸÄk~Æ(1c ¶ÎMs_¤ -Õ9o‘Ò‡lÓdX)¸sóxÜÊ— Ùw»Õ=eߣR±2eÏ­¹y‰PIoàæ-øXnVÂw´r.GXèØíÖ;s‹ƒ Óp UÕóÓGQgäöè§!ôåvë)±Œ Î[Kxòz| n=?È02Œ #ÃÈðÍðð^s ¾%Z´‚:·ÌgFŽóÀ!Ǿ,G{è|ªcsZIS·×þ ¡;· -. «nÃýô&çÖÑÙÖÖVßÖZÑÚ\Dp^Woïyõžïe…½tŸöžç/½½¼ +â{Úk¯©5ÈzQ»[k#öž7÷Ók(ÕFë*‰ULç ÎN×4&?E}®ú4z•"BkñÔÕÉŠ'oçŠ s;oìF†³C†#á_s›÷ÚV²Í>ìÈ:ìHÏQœ[&un›‰sÛïl ÎmM³þ\- aAmY-P“pžnäܹõ0u÷hê6ì f±¢î5ºM»­]ìÓX—td3F·µ7aºä%e6óæ³S,m ÿ2aÂ_Ω3·6;Ý–S±NB˜ŒÞÜÔæ´ÐXghg8ÈĵnMmw•áá÷;Œ é6TD†<ÃÃuÍ-D=¿t3ÙÛv0×±ÿ#ù ãã ÇöýŽR‹7¥9뺼Ó_°›¹ÁSÑ÷­Ñë›Â…PîÈll˜ñj©P!p“a¥àέ‹«“nήž ÜÀ;+Y/Q¶ü»S‰Ðm§ò¥ÕÑÔÙiŒtvýó„ >+Ôì4lYƒNcÚV§S™!é§S¦Sh¡wwùö;Ã1¾æ6{ñ²MËv¤f;R²{Ø¥Ò´â)Å÷9k:=qó87I¼ÆiOLH¸€&´%N»]!X“a¤àέ½£½|“/²óÙ[ÄÒ|Ö¡~F]Ü̽JöÕÑÁ_håP}QÅzÒ_YŒô6žôÌâíjcµe; òî•CÞ«Ë+Ñ"2«ñt†¼T«Û®E·äDÈÜÛÕJ¬i;á­Ïè©ñÓìЧѮÏVí…ÏÎ|æL6{åD&L?~¼rÄk¨“Õ3ÄÏ£CIãx2h»2%º£ÍSOfx2¬&íR3¬u<ÃííZGz†õ©hS!ÃZcu&üBÊ0?cõwF†‘adx2ãkn³­'Û½Y% ÎÝÎéÎÍiΩΠ©NW»gÚܵ‘žã°RpçÖÚÖÖÚJP¾ Þ?þÍÓì€Ä•Ãçn—·Ñx|¼ŠßÃëJZÓ¼«7ãiyRëi½=i§¶Oââ÷´Q‰£œn£x¬2™ÇiÃ<µÂñIô8Im¤Ô#“#_m¦9{6œ€rŽü«•Mc’ 2GÒuü›ì U˜0=ó„÷g;h«ºå;üÁ H„}«µÚ´Ú榭m\¬¥"?uÓÖÆûà¼ï6=ÚÚ¨b‘Z· ó ·iµØ.?u£v¦O¤U˜®Ú?‹6}æ­úY鵉çnøÖ(ÔE†‘ad¾Ä ÇøšÛÓsè õ]F]§§¶ÓSÓá©j÷”·º‹›ÏO»&ÒsV îÜšE\5~ܪ“ü ¥¹y÷ iÆn¾åÆ[uŠl%ò¢DH¡VÊZ±ê´}má ÿÄ{&CHÊm¨tBvH E¥…rRíBë47ŸRŠÄáØ öðv¼¯Öb8;äõÔÁXÏ–s<©öÞ|êOÊáZOŒEø¸ÍÚ¸â„÷ð ·hÂU¦×bœ¤6®þb_¨µm 5Z Õ­;¶}›K[´ïsØÒW‹5Ö`_ìÝÚL8§@ÓnQgeéµÅ´‹ #ÃȰx`œŸ¡:2l­£–ÄøšÛôùïÄ/|7~a"gA⌉$Hˆ›¿nÚ oÛß[ ]¬‚;·ÆÆÆ ýjÌ_9nÜÊãìjçtiúÎã+ÇI¢”ˆRM­3ne~cƒX”ju”®øaCÛÆâEFiPf—¯¶2 ­H›3+% õáH°ŸKCcƒÔvÔšùÖѵ¼¨3'çI·S°†Jÿl\µf£8|V­Q?ñFëY4ðÑø^ƒx‚Âχ'S-W_ÄCá Aì¡Q8æ½ ÍµþÅjÆÖ¼ë†c!ùðÚzÓ^Wœ›0²j0L”–j“mÐÃæ³×{Ò+‰'‚ ë“D†‘adX?IÓTg8¸s=¦px¯¹Aƒ¬àέžªŽ¨¾®¾>o娱+ò”CrDÇ‘C·"O©Á êX5vT·ãiìÊ+ÇJãhËzVº2/oÅX%@ûa=³N´¶ZÉ[1N©À¡£¬7–KgÂJi?+ó´Zz‡4ROšHÏì¬WvȔѕ.•údDuhbœøÜظú‰ë êÕ>õ™KÏìP&6v¬Ú„U#Ó#EÚ„ùä•!´±XDœ Ë ÏL=wñùφ׭Óñ¸šaÞï¥^íF«Ë÷Å k#Õ«#¨Õ& VÑ2£gÊpÞ?ÿ½â›ºz}lK† '.Ôë'¡v¤¤Íš'G8ÅzÃ$adF†Ã‘a;çæ »s‹Ú57hܹՈ:úÆØ±oåÛž‘¤g¶‰;vÕH!Ù"d×Q£JZܼt±²±–8=½Ð4z 9Ý>'öMxÇÁ'l[ A  Žs»Då½)í{UJ~YÚû’´é9iF„HÁ[eeeUUeU%UÕ‘×oÖ¯ÞüúZPE$ÆIØPmê–*ÚÁ–ijù´©7³:´ƒ*¥{Ú÷–©JéT¥”ôË*T*k;¦Qø*«´Þªø@¬…2½ÊJ½áÔ-,¤µå(Ó¨Òæ0M-ÕkVšF×ò§Ǥt¦NØ4®7L¸Êrâ<Ÿêéð s)?ˆªJž´*6qe‡Ÿj•ÚȬäÍ*yuíU«^Å«V =V©}T ‰bƒVêMyïUjSÓLŒÖGú×[Té#TiæÍ… «= “Õ'¢Ÿ[¥3íwØ0 2Œ #ÃÈpx2<$ÖÜÒ_—<=Íl÷B8·!¬àέ¢ÂU¡|»”Ed×¥ó«B/®Èyíæ›_ËáǼª¡B…ÖÒ´ïriøÄq0±¥ËXMŸ‹MRïX,v¹xS—8u—P×eÊecóÕNSïÂ2)Ãòá…ù˜½p† }"Ãæ3D†‘adØØ'2l>ðg8Ê×ÜrWI—K™«¾¬EÂì܆ãg¦E³‚;·2]¥ô»”핲CãV->´ì¦›–bõJËH/«”Š…vmKÕáãêÛR-¢V-åG–îÎÍ4AÛà ³²;¥RS@M¦¡Ÿ3,´@†‘á€B† ã§^† ª"ÆnúŸásn»²N?¿v¯þÇýè[RþÆ1§wÝîÊ_ÒÓzÒç«‘åvY&ÛRYîÜ9ßâÜ Ÿ‹+IýzL;œÛà*¸s+q–8Î’ ù.QöJ”§"µ-P*ñ /Q[(ÕY€÷ääÇzs§°["h`>€ÓÐ%I•:iV…×Ð.QcÚ KÄñ´Fúœø •hSRç¢ÏË©ÍÄ©ç@íÖY"VT÷µdF†‘adxHgxàœ1iýŠkÊ|ƒx³oï‘öÚ­5Ÿ½XvxzYîGÖc²L,_í¶¹vÎí¢ÝœÛà*¸s+&r8Åü•ï)J\ 8´2Q¢zc½*Ýh͵½‚Cסwìó ƒUÓ^úÀÅZïÞ‹Ck£OGÓ¡ lœŽÃð"´`jg)†‹…º¼„M‚OU˜ŒšdF†‘adxÈfx@›Ïçõû9dßçóôötrnÙ+/Ë^ý…’C ,—º›³óZ+_9ßö¦ìI”ϯ®-˜âîÚ"ËÅ[æ„àÜh$!AY‰KÈàKrüÑ¢j\ˆ˜JÅ+*>`4#­ãéuħ"Ö*¨àέ°°°¨ÐVöá"±¬¨ˆYjö‹HÍ"SD{)R¾ŒMÄQ”–EB­"CUu|C¡©OÓ)CˆÓÐÌ-­=™N™ ‡Æ2Œ #ÃÈ02l8…¡–áun½½Ý ]„žž®ö¶ÆêŠâ@Î-ýõžî£²Üž¶Œx3§,¿/{e÷j¹÷rÏ+r÷²cÊò©M ºZÊžþÉœ},¨º#ÆeõAñܹ©O‰v´cÍïY"‚ÝËHÐ,i îÜΚtNx9§ …çΚƒÆ¶Zù9¡¦qWx1 bßó¹í¬mΩS0 kß¿¥CÃv㪞»@vCZF† ã ÃȰ¥ËÌ‘adX Z†Ô¹uw·KF•9 ˜scw›ŠÛýËÿ¦Á¹U–«÷½J¼Ù)Ù¿Bö¼&÷¼$wÍ“;'·Í¨üôNYÞ²Ñú© öknêJš¸c¨©˜¹ KÜbÝø‹ùÝtÚbžá‡g ¨àÎ ‚ ‚  jàœ[GGK[[SssmScMC}eey‘ãl^ 5·Ô¥Ò±ÇËrIòË’ìË”»æÈí³åÖ8¹é·rÃ#rýC}U4?µ~Ö 97æÙÔ…µ £˜ÿPAœ1ðùc:pέª¢ÈYx¢ðô§ç Ÿ=•[—yâHZ;ö½4ÒÛýIÒ‹’Ü»KnšLÜš\{¯\u‡ìºE.¿EvÝÚvâæ¿Æ‡É¹i×O]-å¦Ë«â0–HYb‚þ8¼ÑÍFAœ[¤§AACCçÜ ò2rÓwd¥|t0e!3ùÃìÔ-Aœ[Ê«£sß»þãE’ÜþñirÅX¹ü:¹ü'²ëÇ-'P²û›Ÿ¼úù÷g†ð© ›^͸’f¾CAëZ0`bss+a«mz9dRçèw ˆøç¹¥,¿z×In]%—ÿHv}¯åØ× >ø‡äWFm›#}ôì%oWÂÔ›J¡p Î #†BúŸ¸}žÔ[tgÁ†Ï'½8rÛï¥-a|Pi?›pï(Á¹aÄäÜ®¸¶hðŸ~õ×xéƒg¥fãù¤ÃPpn@‰ç cÁ¹a$Úœ»û6‚sÂH´9·µlm aÉ[I„+væ,ÛF˜ýÒ¦HO 2(DçFª@c¨8·×܈m³ç¶pÅî°Îº$- Ù¹ë@BÎ-D‰Î­¯¯Ïß×çñõ¹½~âÜŠ\Ý0oÑ#87 ¿ !çâšÛÒ5Éâ!1o^?wn6ÍŒá‹Á¹ýe9·µx•aU9·ó^—Û×Òå.¯k›½ø=›fæÇ•¼ ¸àÜ€þ2„œ[ˆkn‹Wî$Û¼ãeÇòËr–fæ–¦*M:Xº=½tkziK/~~¢M3Óóª‡ÂRœv¬y:áôxÎUÿuÎm/^Ù“{#ÿ°e9·Åœ[Ÿ"¿¿Ïë£ n=§Û×Öëkîñ͘ÿŽM3ó#,ÏLPzßjâÙòýQ¿Ûg‰7¨6ú†Õeæ_fR:!qˆ¿ùZe½UÆ“ÒÄ—?ëg?Àà2„œ ¾¥~`un™9ÎŒçCŽ}Yޤ ÇÎŽ-©ŽÍi%MÝÞéýrnÖ'Ëëμ*‡·ÈõKýunÜYÑýŒ'gf\Òo¾ÕžQ[˜ð~¤ÿ=ÁBÎ-DÍ{m+Ùfvdv¤ç(Î-“:·ÍĹíw6Pç¶Î¦™íÕRêÊÔ¨^ì{ÆÖÙ.ZýwnVg•ñ¤ê˜Ÿ\-,£©V[[C{y¦Z^ -{y‚ºv73Ai¥÷C¥¯Â‰­€È3„œ[ˆïs{~éf²%¶í`®cÿ!GòAÇÇŽíû¥oJsÖuy§¿`×Á€e$°µ3!h2q ê‘Zê§úëÜÞgîK_m£L÷T|-C7x,¢9^mo‚dºHpÇØ9 !ç¢f/Þ@¶iÙŽÔlGJ–c»TšV¼1¥xã>gM§'n^禯¹= «f¸ùT0kÖ+ªPºÈ;Ø}Ä¿™®x >M¼xý¾Xí†Mèïv} !çâšÛ¬EëÉvoV‰‚sw†sGºssšscªsCªÓÕî™6wí€Î Q—po©²°ȹYßÀç`¸ºs=¦pH¬¹==‡Þ€PßåaÔuzj;=5žªvOy«»¸ùüÔ¹k"=Gˆª¿Îíí:©íMýj©ñ*g çÆ.ªâj)€!ÅœÛMĹ½%Î-Ä5·éó߉_ønüÂD΂Ä I7Ý´Þ¶¿·tõ×¹i·HÚM¦ÂµQ»;”{ l›ú®9õ…w(ˆ2†sƒ†™¢î“x€¨g9·×Ü ¡"87 ¿ !碖­M!,y+‰°`Å.œeÛöš‡"'87 ¿ !çâš±m¶qâÜ®Øm[EDpn@BÎ-D‰Î>º´¯Ïãës{ýĹ¹ºaÞ¢Gpn@BÎ-Ä5·¥k’ÅCbÞ¼~îÜ4lš±OÓ>^—~o(««=gÁê§àÜ€þ2„œ[ˆZ¼Ê°ªÆœÛy¯¿Ëíkér—×µÍ^üžM3껄Ç$ÐÉ!91¶‹UèÎ CŹ…¸æ¶xåN²Í;^v,¿,÷hifniê¡Ò¤ƒ¥ÛÓK·¦—¶ôøâç'Ú4S X†êÂ2¤„D~ <ÛJ=ž˜˜˜ÀVèôBîûôRIÂóLƒjQhÎ ¡mÎ-D1çÖ§Èïïóúè‚[Çßéöµõúš{|3l?‰—/QË–Áö­‹iJ!3kº%3]-KI},ÇœF¢Í¹±5·à[êVPç–™ãÌÈq8䨗åHbOulN+iêöÚ?CA5`ìóÔz‰–L| ¼ÉÑY›ø`z8·À29·öŽÖ¶ÖÚÖæò–ÆÈÿòCŽhsn!jÞk[É6û°#ë°#=Gqn™Ô¹m&Îm¿³:·u6Í >MY3Ó×ÐÄ7¿Á¹…Mpn@‰6çâûÜž_º™l‰m;˜ëØÈ‘|Ðñq†cû~ÇG©Å›Òœu]Þé/ØõcuY'ÆMœÕ¹™œœ[h‚sÂH´9·5{ñ²MËv¤f;R²{Ø¥Ò´â)Å÷9k:=qóúãÜÔ맦{Äš¬‚M)œ[P…è܈cƒü*Îm[hkn³­'Û½Y% ÎÝÎéÎÍiΩΠ©NW»gÚܵ:O(D…èÜ"=M‚ Š.…ìÜŠ†ÄšÛÓsè õ]F]§§¶ÓSÓá©j÷”·º‹›ÏO»&Òs„¨pµ#ÑæÜB\s›>ÿø…ïÆ/Lä,Hœ± ‘ qó×M{ámû{K¡AœF¢Í¹AÃLpn@‰6çâš4Tç„‘hsn!jÙÚÂ’·’ Vì"ÌY¶`ÿ y(r‚sÂH´9·×܈m³ç¶pÅnÛ"("‚sÂH´9·%:7úèÒ¾>¯ÏíõçVäê¾Hó†OfÁ¹a$Úœ[ˆknK×$‹‡Ä¼yýܹiØ4c'Õ$¯|¾®öɺpn 87 ŒD›s Q‹WVÕ˜s;ïõw¹}-]îòº¶Ù‹ß³iF½{ ‚v8OCPÁ¹a$Úœ[ˆkn‹Wî$Û¼ãeÇòËr–fæ–¦*M:Xº=½tkziK/~~¢M3Å›e¨-#AJHVÛÊ„öz¶F§<ö –îâç@üÙ:`ˆ‚kŒmÎ-D1çÖ§Èïïóúè‚[Çßéöµõúš{|3l?‰—{3jÙ2Ê,žMÛòë©J5CC¨ß‚s ÁŸøa ~¬1B´97ö‹|KýÀ êÜ2sœ9·û²Iì¡ó©ŽÍi%MÝ^ûg(Ÿ/Om™Ù³ oƒÓܘ„·ÇA! Î €(â‡%ø±ÆÑæÜBÔ¼×¶’möaGÖaGzŽâÜ2©sÛLœÛ~gunëlšiKgÚšeÍ-C[rÃ:[8ç@‚?ñÃüXc„hsn!¾Ïíù¥›É–ضƒ¹Žý‡Ég8¶ïw|”Z¼)ÍY×åþ‚]?V3f½Zª¬Èi+sXh»DE­s# F°þþãOü°$R?Ö¿üå/o½õÖªU«ÞxãåË—“iXIHHxöÙg‡ÄL¢§“@D›s Q³o Û´lGj¶#%˱‡]*M+Þ˜R¼qŸ³¦Ó7ï⛬ݢ ^0ÅúÛEiQ;·Hç‚Cpn±C›öû¶}û9ç19ûQ9ë9ó×ë×ï©®–].¹¬Lž={ö Ϥ³Snk“››å†9ô™DO'ˆ6çâšÛ¬EëÉvoV‰‚sw†sGºssšscªsCªÓÕî™6wí€Î Qpn^Õ´øN•ûºîÍøÿí pT硘w¦í$M'3ém’N§×N®;Îã&™Nš8mRâ[ ™(vœÞ¶NIr_Ç v¢['¶Áôš[;7±Û@l?ˆñ\ÌË6ïð0-ˆ—è/I°ýϞݳÿyîÙ³gõŸ³û}ó ³:Ú³ûÿ»’öã?ûØ{U¸~÷•5;û›w\^µý’ð­w¯4½siÙÖþÔékiÊ­šTu·¾ð ÆÏ§Vn™fK'˜^?¦”J¹ûî»KI°^ŠÎ…¸µróÉj/@8Û? ÛÑ7p¦oàôÅ“Žõ\;ÒuõÁ_½¤zŒ A¹„‹È¶ã7Žœ¾qถp½G‡v·\ßþÁõw ·¾?´iÿкÝ«ßëKSnÕ¤ª»uÖ¬YÆÏçë¯7‰`K¯û_škî–+eÒ¤IÞ—sï½÷Š’©¯¯yöÙg_zé%qÉ÷Ýw_à‘\¼˜îéqè%ï‘DçBÜŒZ¹ù\s«}âw¦Ì›0¥!ëä†ñ“ÄFá¸'æ>ôøçז°C¹„ËöÃ×D¶>1ô§Öë"Øôf{ïðÐÖƒC[÷kŠlÛ°W+·5;ûÓ”[5©ên9sæo4 E¢¼öZSÓSÿ¹éï¿Ñ4õëÂ… ›,hš?¿©¡¡iâĉrÇwˆñïÛ·Oœnjjš={¶øò‘GùÅ/~!ŠîöÛo0’W_mZ²¤iñâ¦W^iò?’è\ˆ›Q+7¨0(7€pÙ²ÿŠ¾Ú¶«eH›î»E­­Ý}ÝP”Ûº¬¹U— Ë­¯/-¼x1-%Ý|wzå_§W|/Ýt—¨”'ÒÇŽ¥M{WÊ׿þõ?üáo¾ùæ¼yóæÎ+‚­¦¦æG?ú‘±ž#NLz¸Àóù-#ééIŸ?¯-s9“ö?’a»ŽŽ´˜i€ÿ‡ÂqU£ªrÛ¾}û¦›?™žðõ?=ó›ÆÛnKOøÂÆÏÿEzÿïÓKGÍŸß$:'•Jð¯rþð?øÍo§o<™ÞÕ‘njO÷»ßýÞßyæå ÷§çlOß{ßûŠ^¤ûÊ+Z ‰föö¦õ‰WîIü:!¾•J¥<.dïÞ½Æt–M›Nò‹Ù×—>q"í:Ž#YúöÙžžô¾})‘scŽý“q{nyæ`€h¿D¼E‡ËmOýˆ‘õëµÓËÆj'äGyeÀ´]¸Ì3'´-ÕÍåÖÐf|J­éƒ6?ø,w Ôx£¿ì.ùì_éÛPÇǨA©4ï¸,Rmûáë"ÒtßÞ?(\¹{ÐØ¢Ç[€W(H©³¨Ö(7˯[æ3»ÁÒT¦ÊÊ,éçª_oÚÅýÓø­o—Èþî>Z* Õ8¿ùÚþbˆ8Ô¾®]–=§ÞÖqÆJ…O_|õ3ŸMOþ«£õçéŸ|~Ë-;¸ôÙÕSF4ýü óæ5ÍÛ4gNÓìÙMµµµ>/mìOîµíÚÜéú­ú–û~rß„É/=8ñQï§OŸ¾hQ“îÂ…šííúR[â7‰gû~”x*‘ø¿‰Ää„÷å,ýÌç¤éüÙþä–%KV‹ló?ûH¶o?øoþû¢{þÏ,q7=øÛUþÛ·?U÷Î/¼àÖŽZ¹ù\s{ú¥Uò—"Þ¯gËÍÐa7óG‘ò: ”ú<·ecõã âϸöw5û7Ùü˜"mukÇéÿ_Tëùa-·LIOZË‚†eMÞÅýh©‚Òyø‘ƒ00ÊÍoÆi‘p!”›øÕËž¶ýºIËqãÆ6º–›ã©2»¸ÿbæÐŒx•›]æµA‡?Ç)ä®%!]}œ±RU¹½õÖ[GWnHÞò±ô_êÿΟïOz{}zшô‚oˆÎ9r$}øpúСô¸qãü_æ½÷Oš8ù…»ïSÔHêëëOJë.X ½ §'-²mÆ•{D¶ý¿óÿóñã5¿lýVâ—Ê­µ9?í÷Kq!úARÿÓqÉ­?|ùSc^?ëOÿtí¿øqó›ÉÞ_|1À µróÉÔé¦U5½Ü®^ï¿6ÔÝíXGïÃSï°›|0‹GÒa¡äW(èr¥´ì_Wí[ã´?¿ÙÇ{ú¿î—l/7—ÔpJ·‚åfþ?‚öƒÆT‰UÛ/Ïm“ƒÍȶ¬»Wï(áyn¦Ã¦–_7ý f–ÿ=I§ÛÉ–XŽšv‘VÔ ¬¹IèÜæ)8ž'û@㌤ªÊí½'ŸÜvë¿J?øÅôoMÿͧ×~ê_ö­ž‘^üítÃ׿ÌiÒ;çàÁôÏ~ö³rDôR{{Zwþ|í9iéÄÓ‰Ä?hKm"Û%—H<ìUn»žzÊ4O¢ã@ÛñãÚARÿÓ±¤«+]_?ãóÛtóÝøð_7þà‘úÀ·IÔÊÍçšÛÔúeâß»ÛvìjÛ¶½uã¶Ö5[ZW¼ÝúƆÖ×6´v_šðDƒÃn–GOÇÇèÜ–†Ü!±Ücvþ™Ø"=2[Ž…±šg¢ô×–jI¶,—aîõնeú:[&óòÏ)ô“,ýˆ“u !•›ã笕éV†jbÅ»—µ·n“4²mýþÁõû³åöÖ®·Š'^û™û³År‘ã«ÜÌ»¸ÿbæVÊ: ½¶4»&o°ÇÓí œ'®ý¦ªÜ–æÖôÏ¿x૟ØrÛ_¤¿÷¯ÓÿûÛ¾ú¹ô{ϧç|eöì&½söïŽr{î¹çÚÚÒº MGj¯ßìèÈôÛäÄ£GG'~ž#iiiñ¸¦Ï~Æ2-ÿék¢»>ø í:Ž#™1C{ÙìGF¿ò“g’âÎ |›D­Ü|¢—Û ×¯ßÒÜ.\ï»6Ô{e¨ëòÐxÇwâµ>zfi9–›Q_Ù:1“/#í° h„ð® ÚáŒÜŸeéÿÅÖ0Û9­vdöIq{êÇÖŽ›z³¿£¥2}^ÊÑÒìYó»;] @pß¹¼iÿÐÖ÷ón>¨6]s`hùžAÃÆMï^J—r´4›.¶_7ñ»¦?ÍxÅw.r´î²”["»ZnÚe§ë/æô‘ÒuG0ÊMüšçvw_ssŸ‚s¹ÙÇFN ›ªÊmÛ¨‘Ë>þÏ×Lž,N7}ñ/›o½eË’%ò‡ªOœ8±¶¶ö¡‡¼ÞÐ#Ý>Þ}Ïž=úR[bB"•JÍŸ?ßãBÞùÖ¨eÿȆ©SwíØñÖ—¾°ú³ÿî½×_/v:ö‘,^¼øþûï'þæÇÄ…Œ3féÒ¥Án“¨•›þƒçý¯ö·è9­Ü6nM%·¦ÖoiY½©e…þ¡ókZ–®=zþÒ óg(ø/7-Æö„´êfß%„£ãýÜìÏj3þ°[9+?E§Ør“ÂÛõ îå–[™5¿BÁöPol¾¼a¯öA šóŠr[µ_³éOCËv .Û1°üÝR^¡ /•%ÿºåߎ#÷¥ìBÙÈqc-•Õ8N?Û4Ë.n¿˜¶5ºÜ{9½¶Ô”s•å¯}½u Ž–J㌕¼Ár•µróÉc¿~Mü»ù–Mï´lØš)·Z¹-å¶.Õ©•Û\‡ÝŠ9ZêºEßh,«¹íætcLž/€"ÊZnk¹[«Ä¨•›Ïç¹ýòé¥â_‘mookY·¥eÕÛ-Ë“-o¬kyuÍ‘%kSýƒµ;]Ží¸Xöµ„¹E•l‘9d˜ùˆ™ù™Q¬¹y@¹„‹(·5»´O&}{Ÿö¹ ºë÷Šf[ù§Aáò=ƒ¢ÜÞxïZã6>ýªºän­£Vn>yxêËâßµ›[ÖlniÞÔÒ¤*]{dqó‘Å«S§ûÆ=æRnù§¾šÞ5?»ICVÇ “ö g¼\Ák ÜÂæµ·ûWí¸¶z÷ öùV9WïÑ^Lº‘mœ¸œ¦ÜªIîÖ*1jåæ“Õ^€p¶@·£oàLßÀé‹'/ ë¹v¤ëꃿzIõAƒrP åV=r·V‰Q+7ŸknµOün”y¦4dÜ0~rƒØ(÷Ä܇ŸãüÚRv¢\nˆU¢ý矇øŠ”»µJŒZ¹A…ñdTË ±šå!¾"ån­£Vn>×Ü .Pnˆ”‡øŠ”»µJŒZ¹ùä™Ùͧf®N~îÂGŸy]èüAó Ê 1‚ò_‘r·V‰Q+7Ÿkn"Û·‹r›ò\£ã·@ ”bÕ=•Õ»µJŒZ¹ùD.7í£Koܺqmðº(·Ú/oÑ!@¹Ù?r±âMû 凞ÛëþÖÜž~i•ü¥ˆ·ÁëÙr3tÙ5÷Žº¼Yî° ÜT@ q,7ŸLnZUÓËíêàõþkCÝý׎uô><õ÷^ûó1ÃGKC4jåæsÍmjý2ñïÎÝm;vµmÛÞºq[ëš-­+Þn}cCëkZ»/Mx¢Ákÿ\¹Ii•-¹üë‡^e>¶4³cC¼ ¼ ÜC4jåæ½Ünd¸~ýÆà¶àvyàzßµ¡Þ+C]—‡Æ{¿¯}Í-Y§u˜ôÁòɺìÇ“ê_g¿“ 9ãr-ˆµÜ.œïí9ÕÓÕÚ}îò~DDÄØµrÓ×ܼÿÕzà9­Ü6nM%·¦ÖoiY½©e…þ¡ókZ–®=zþÒ`ÏPpúùL†éŸ$Ÿ[K³|޼ØÎ'Ë 冈ˆ¢Q+7Ÿ<öë×Ä¿›ßiÙôNˆ­™rÛ¨•ÛRQnëRZ¹ÍõÚ_.-Æríeʰ\¿Qn%C¹!""†hLËí—O/ÿŠl{{[˺--«ÞnYžlyc]Ë«kŽ,Y›êè¬}ÜóùrúN)½²×ÖPg*9§£¥”[1(·G&ý1\íK""Fß .·‡§¾,þ]»¹eÍæ–æM-Mú¡ÒµG7Y¼:uºo`ÜcŽå–¬3¿!ÿu]]Mþh©ã+ò¯PhÓ/ŒróA€rS=äˆ P=„àÄzð¡Ü1.Vp¹Mzr‘ø÷­MG3¦“©77¤–®M-^“zyMªýÂÀC¿š­zŒ ¬Ü”ÿîx¨ÇòaTáàK™µò1 "ú±‚ËíGµ œíÐíè8Ó7púâÀÉ Çz®éºúà¯^R=FРÜ"e¬_ʬ•Ñ\nµOün”y¦4dÜ0~rƒØ(÷Ä܇ŸS൥0\Pn‘2Öƒ/eÖÊÇ€ˆèÇ .7ˆ ”[¤ŒõàK™µò1 "ú‘råPn‘2Öƒ/eÖÊÇ€ˆèGÊ ”~¹5×H$FL}Õ¼eÌÂáúµ*"~2C5“çðŽ9Èà‹Òa¦‚Û¦Ísšæ°ÏrCĸH¹rÊTn ù¡?Òåfغ©·%¾Q·nØÇdðÁt›—¼rCDt‘rå”§ÜÆL›z[~Ù->åvh_ýØÄmÓš)7Ê ÑAÊ ”S¦r[¸ïÕißp*ycòëî­7¾+JOß6v^fá+wZºÌܾæ¿Va–[n´^#1ßÜ«~ÇdðÁ´L9û¥˜µ4TkÅ=‹b¥Ü1.Rn œ²•[&Ò¤6Ë”€VÙ Ò¢Èè„\ðdJ)Z?piÔTö –ƒÂ;ZškËü•ZÆŸÙh¿qÎ"ÆdðÁt.7·5·€³(VÊ ã"åÊ)c¹iËnGåÕ-yýÊ´–•-ÀlÂé—)­€9Þ+l#1MÄmüAÆdðÁ,ªÜ‚΢X)7DŒ‹”(§œå–9}o½ËÑ7·csNý`&ÔrsYGò_2aŒ9ÈàƒYl¹šE±Rnˆ)7PNyËm_rὉ±Så<0ž.åôZ€Â½TØ2–›ëš[©c2ø`_s+£”"ÆEÊ ”Sîr3½Iˆô\)Qt~×Üäg[™N;[Ærs}ž[©c2ø`z•›í˜oÐY+冈q‘r唽Üô§ýçŸù–Ƚ³Þëh£Ãi¿ìÊYn®¯--qÌAL·rËÝ5N÷Hy•¢Ü1>Rn >ý*RÆzð¥ÌZùýH¹r(·HëÁ—2kåc@Dô#åÊ¡Ü"e¬_ʬ•Ñ”(‡r‹”±|)³V>DD?Rn Ê-RÆzð¥ÌZùýH¹r(·HëÁ—2kåc@Dô#åÊ¡Ü"e¬_ʬ•Ñ”('@¹‰ÇYÄpUþ×Ñ”('@¹}ô–6Õ£vEŒmËÆ¥âߘëÁ—2kÕ?8¾ Ü@9ÁŽ–F™XÇO¬_ʬUÿÔø‚rå.7å÷võÅ:~b=øRf­ì (7På)c=øRf­ì (7På)c=øRf­ì (7PNðrû~Ï1óEmœ¢8ôa˜âGd{ÏúÆ)ý¹Mó¿oì~r~{vë±E']¯E»ÀþGo±ï%m´_iþ \…¹ÜòCÒØÜYÄ­a»w¬ƒô{!EîHÊ âåÊ)­Üä‡õÎÞÍS~õ™âG$“%x´aç‚M ªìÝœ«,ù Vµ9Êý£í•¹|ã„ó•ÊJWêØ0µ]xÆLÅù·áŠ®P¤Ü .ø.·£‰›(7( á•[&õYâÇ3&E‰é‘fœpõÎEâÂmî—f-í%ÝžWªµŸÇâ¤4xÛŠŠ1Ê   Pn œ0ËMŽ ùøàæNó™µå#­^òGô T“OõË’âG\‘×%k1–_g+Ð9wNé´žÓ´—1w¯+Í_£{ÃHƒwYd×ÛÞ¿Q;ê>fe¾5?¢iy™4w—[Ô“‹q!n»8Þƒö…L¹@\ Ü@9¡–[.Éä•%­Ä#¸ñ-ýq\Ô‹%óBX ÒfY¶:–}ª˜}ýJÚ(ÐÞóh®L¼ž°W¸ÜܯôéF(\nm¹ƒ³ä„Ë ¾À³ Ÿç¦_Hæ[Ùú2nyé±v”Ö¡Ül»8߃N ˜r€¸@¹rÊSn²Ù‡rm¹)Sâ„Ö™XºÓkÇ’ËÍôŒ51 [i‘Yn’ÊÄ}¥®`¹y\©•=—×–æ.Ÿ^…V) ¬¹Yò÷Žé ¦r³v¼70åqrå”ëh©iÍ'—Úczî`¢íå–á—›ÛØìzãÎÜœm½Ë{ÍÍõJMuT\¹¹Uðr³NÁ<¶NÇ£¥ÖY;ÞƒŽ ˜r€¸@¹rB~…‚ÃË3óõòèæùSô~³ÄR8ê RnŽOÃ+\DίPp»ÒB/—0—›Ãdy « åfÜÎknNåf¿7RnP)Pn œpßDzn›ônæ—-äêE®šÂ/í Rnrü|_*FûF9«¼ŸtgžµÃ»‚¸\¾Ï#ÂÖW(HTÔë)Š-79¶3‹>ÊÍùtÚH¹@¥@¹rÊóN¼ò»ÚvJÅbÞ—}ßðÊí鈧t½Žå1û}…BvF>/ßWZ 3ݛô&fªG‡¥<çwâµ-Ùɧ ½¶ÔaÇ{о‘r€JråðéW‘2ƒö÷‚£Ü .Pn Ê-R*¼t·à›Î•cÖÊ~ŠråPn‘Ráà¥#³Ãýá ”ÄÊ ”C¹EÊX¾”Y+û(Ê ”¸Ü"K¬ã'Öƒ/eÖªj|A¹r,åÖÓÛÙÓ}²ûüÑ®NÊMMÃ(ƒ’Y«þ©ðåÊ Pnâq1\Uÿø‚råTäš›ê!'ÖƒLuÎâˆßrûf*q3åer‹±|`ªsÖG(7På)b=øÀTç¬ ŽPn Ê-RÄzð©ÎY@¡Ü@9”[¤ˆõàS³€8B¹r‚—[[CMBP—4]^²Îa£´K+~/'Ld†š†6yŒ¦M¦³Ê[ ÓØKÚh¿Òü5¸ sÃÈTäjÞ5ÐE„y§xC¹@\ Ü@9¥•[Må¡]$Šm›+å SˆñX®!3ìl7iA•ý¶vRß,ŸÁеK .ÉéJ­—áúmyðæ3fRÌÿ­5\Ñ ”ÄÊ ”SZ¹Õ54ÔÈ•£5Kƒïf(¹i!é±€–ÿ~¡3æ±jêêjL‰–ÛKš‹çeyv›ið¶‹)êæ¢ÜÊåÊ)±Ü’mrºe›äfêÛ´ókõc=rhì• ÂÂ.]2 ÍÜ•Vò«k>:§-™´žÓ´—Z^W굞ç0x—ÈË߆îcö˜‘Û-œ»³jê|Þ)ŽG˜í ˜r€¸@¹rJ-79Tô£„ùfp:)÷ˆceνÄ TÎX–­j0[ÒÈk’OY³Q¸ÜܯÔG šF _Ûsë …¦ÓóÜŒx¶ßÂRSf®Õ^nö;EZôÞXhÀ”ÄÊ ”Sr¹åÓ-ûô.çû,·Ñ©7òc·®wy¯¹¹^©ŸÙx5Œ=¨<(t´4i>m>{Òñh©eû f³åfßXhÀ”ÄÊ ”B¹Ç-ϳ®>E¸ÜlKN®×êVkÞ+î#p¼Ã‘bçÌò1N÷o9®Š9¯¹9•[Võ1˜ ”ÄÊ ”F¹eZ²Ø¦5ù Žåf+ŸËMŽù˜®}£\ÞO®³-NYçêrù>'c}…‚å‰ÿ¾_OQl¹É÷EþŠ Ü)r¥9¾J×1Œ½g i(7PN(åfznX~»ü"äÛª¬ÔB]s“ŽÖæ/Çq£¼Ùï+r3÷wù~–ܬ c:öhZ³Ú´Óë]`½õëq~m©Ã.>o_Ê *…åö!Ê B…O¿Š‘| `.…HÌÀ”(‡r‹Ê/äõóÒÕp‰õ]UåÊ¡Ü"…ÂÁ»¼yÜpë» ª Ê ”C¹EŠX>0Õ9kˆ#”(‡r‹±|`ªsÖG(7På)b=øÀTç¬ ŽPn œå&gÃUõï€/(7Pkn‘"ÖƒLuÎâåÊ¡Ü"E¬˜êœ5ÄÊ ”C¹EŠX>0Õ9kˆ#”(‡r‹±|`ªsÖG(7På)b=øÀTç¬ ŽPn œÒ>qÞöiæ Ö`¼ù&.êöuþÄù"ï¢áúÓXßePUPn œÒÊM~X×>=ix?îÒ™Xg€ZjÙèúnZ2r¿L'b^ƒ·•…Ž–&ͧÍg·ÝŽ7¾|DÛèJÇ…ë» ª Ê ”ò+ô ó]nÎkn¦žó¬A'bùÁ;vÎ,g”›q“;¯¹ù»ï\ïPÊ *Ê ”ä¾ÎŸÎ?ÅÉ9½,ÏsË<ê[žæVåfznYîk{»Qd¹Éé–¿bïr3UšqÚi#å•åÊ)Ó;ñß̼PÑãÑßñµ¥ò«“^Ïs"Ö`¼éØ£iMÌ~hÓŒó;ñzÞ’…^[ê°‹ãë‚í)7¨(7PŸ~)"1øa/¸HÌÀ”(‡r‹ÊïtÔz؈õ]UåÊ¡Ü"…ÂÁ»¼yÜpë» ª Ê ”C¹EŠX>0Õ9kˆ#”(‡r‹±|`ªsÖG(7På)b=øÀTç¬ ŽPn œå&gÃUõï€/(7PNå­¹” Ê ”c-·î3ÝçŸ?wäüÙ”€Låv3åerð åÊ¡Ü|B¹r(7ŸPn Ê À'”(‡rð åÊ¡Ü|B¹r(7ŸPn Ê À'”(‡rð åÊ¡Ü|B¹r(7ŸPn Ê À'”(‡rð åÊ Pnˆˆˆè&åe…rCDD QÊ Ê å†ˆˆ¢Z¹Ýž¢Ü LPnˆˆˆ!J¹AY¡ÜC”rƒ² Ü^u""bµ™öÿÚRÊ Êï àÊ ”ÃÑRDDĥܠ¬Pnˆˆˆ!J¹AY¡ÜC”rƒ²B¹!""†(åe…rCDD QÊ Ê å†ˆˆ¢””Ê 1D)7(+”""bˆRnPV(7DDĥܠ¬Pnˆˆˆ!J¹AY¡ÜC4SnG7/¤Ü Pnˆˆˆ!J¹AY¡ÜC”rƒ²÷rãGDD WÊ "Ë“ñ/7Õ7!T”DÊ @†rƒ(C¹ÈPne(7Ê ¢ å C¹A”‰P¹íœ6rä´=Ë­­¡&‘¥¦¡­ðÌ¥óûßIÛËß ¦Pne†­ÜfFŽ›í4#ØJ+·º|z%ëê’…gNƒ€”D™a]ssl³ÐÊÍœk™0k¨‘è’qörËï’Èï&/͉óë{8gîr-[  "åQFY¹eO¯Ÿ>Òi.»mÄô¹3§]~à“urEe«É«,GKõ3vIêkxÚ¥æÃL.7‡sæ®-Û„¶-‡€rƒ(£ºÜì'Õ&Æ6ÚÏS¨Ü²è'ò¨àÁP—5·6ù´ÛÇí¦£ÁuIÇ-Ÿˆ<”D™È•[~ÁM'WqEüÀg»B)·¤ô칂åæqin[ z„[n¦Ü T¢XnÅ<ÛÍø¯‘“ÚSJ[sx"\›Û–üOéIkå&WÍbÛB¹ÄpÊí¦””ƒH”›¾°–?Zš¨]fÛ±ÐÑRó l™äXn–wIÚ{ÌxþœÃ+¬çl³ÁùÕ e»+ (7ˆ2–ŸÏ®ó'Ïw¶;{¸óÌþa*·³‡ǹ½BAl-òynå#i}õ*T$”D™a-·2XîxiÉn¨ (7ˆ2”€ åQ†r¡Ü ÊPn2”DÊ @†rƒ(S冈ˆ®”D–'c^nˆˆˆ‘’rƒ²B¹!""†(åe…rCDD QÊ Ê å†ˆˆ¢””Ê 1D)7(+q/7å¯?BDÄÊ“rƒÈòdüËMõME¸åö¡/¦Ü D(7™Ê훩ÄÍ )7(”€ åQ†r¡Ü ÊPn2”D™2–ÛÎi#GNÛ3|å–¬KÔ4´™·Ô%-çÒÏáD².ÿ=ãlûç.£­¡&!cœâ åQ&Är™Ï—±jÊÍœMɺÜ×"¯25¦e—WZe3,WnÆ%jÛ³ûÙ®Åt…Añ€rƒ(f¹¶llBœV^ny²ß’WÓ\ÉUžé7ÚwdÅ þPneÊRngÕ&Æ6fÊmú¸ì2\í²Ì·ÄFÛºœûyFLßilÉö*7Ó±Ò ú*šTòN÷ÆrŽ4ã´ãµd¿Á‚@@¹A”)G¹í©‘]s3bL_…ÓŠ.»E;ϸEçÏ“‰º³ÒñV_åf`o(}‹y -sÚx–Z~‡åær-,¸T ”D™²<ÏÍÈ-cN?mÙ’[—³žÇôŒÿ\ÅñŸo/ƒLxÉõåpÛw–:_ nåQ¦ þ<ç·Žy*1¢®2üä]SÆÿö•þþÎ+—»«|¾”""b%ÙÕy¤§«­ï™˗º®\î¹z¹÷ê•2:0p¹|JWtñÚÕ‹W¯\èéj­òùRnˆˆˆˆq‘rCDDDŒ‹”"""b\¤Üã"冈ˆˆíåögÿã”oúo¥¨]2""""†¨È¶/mËí£ß>ò±»Û>òþéÈÃ¥˜¸ýhIŠÅ×ÛKó›GKSíôK|‰7]¬êÔ^ñMWâÏ|éÆù·¦Ô»ž¿WU9øxßï±¾ö’ÿ÷&¾¸.qóËZ¹}òÍÄÍ 2.ÌPèÂÒT:ø›”ªvð%Þqj¯½Ô›naI*þ•)ñŽSj¿³%@­JÿÜ1øê´šÿÜ©ÿ}Y;ño§•ÛÇçhÿ""""bäýÿ—08 endstream endobj 297 0 obj 35279 endobj 299 0 obj <> stream xœÝYKÛ6¾ëWè`>E¬kHn èaÑSÛmdSl.ýûŸ²$kí‹0ô˜œ7¿Òb'Û¿›—V´w¦Náh Ž_o~×~id‹_ÿht'`ÝsƒãgøËàØRÌð^÷¹ý³yz¬™Ì‹ðï×çæý‡gÓþjàëÄ~nˆ•j§ÛóoíûÌM{~„ÏŸšã¹y Eñ//7Îíú¸^ÁìéqjÔƒtã„§QŽwj÷4î‰ßšAtD1DaúwÈnTƒTD²ãÆ¥@°DÐD žõ:Im^E«#h„r,J ©%/-Æ_ÎçL4lÔÞÂmd£:½ö(Ä5'ÐfZÜãgI«,N;þ¬¢IŽôA‚ÒÈ@’Lå·©ûÌÜÓTFfhCü|†ƒïöd2o#Á{šzvGÏTÇj±L:”rX?ÕÄñV›5Ù'?O¤úð9iÖ•ê€ê…àBó‚£\Š”Ã3£ÝùI¤ W}ÈSú¬jp†’$D޽Já ‘u¼œ®C‹¨Cƒbldiv­\b7‰Ýk\hRP†¥ˆÊИ­%9` C¾•—˜£ê—B£ûi5¥XI¨C%dGéäjµMß¡j} >ß?eHPvÊá(ì5RøJ”:à’kf¨n‚´ÝGKs¿’¬¶ß©yVl©‰¹¢k%¶ú4š8ícÔ(6«Š ¿³7R|Ž«ìkÐ_`Žq=ňùº0t«V(¯r¹ù>+æXá–¡t…±ŸZT¸ßŠ1~WZ® ¡M‘“~)!û0Ýe?Ã6¥°ñ”‰¤Œ]˜êcEžŒ¼IÞ7¬zÑuÛ}XQ–æÿêÞSe‡e{ÆVÏÕeØ.‚ ~5ƒí)ŒÔhLç±±švR¬Aú¦]D±T£ÕZ)¼!†«LŒ‚ñÛ™Xø5Ë$Ò2äÆ >6#eÆ~!”â"W-+AŸ“‚ž&¬žœŒÓKÈZX¸Ž AtQB®¹]ô¹IÙ^ … ›ØÅú0)€~¹²É}†*ømõOj^”ñoàYVêߤ&¼¢JèoTÅgYB›„©ªCYCVÅY(º—ÅZÈÁ)·V—¤2èZ…æ0·I¸¹J×-À"Á¨µ ³¬H· Uiž‡„λ• ÛìÂb‰[Æ+~0rç¾§H®2W·rñ%#vçô&ØuWQW!êòÍiv1[}Z^Ã(»†ÉCx{µVIÑo+xo¥iY¢,53½œ÷ãE²ÃæÑËm­ÁÁe?ÈÝs.XóvÙZÌ•O$~»O-ߦàÌîÕµßvï‚ç”ìÀkÙu*¹®ÏŒØSQT¹ Ë£ +â ]EœBc…ÂNcì4C‡Ò…kìæøoªÈ+¤døcÞ̵+ÞF‰‰’±³ÑQ_L|ÚghíczsZ?.¾oöÊÜEjaFοùR*Z÷šKø[L§–Šs®+ú-èBtJ%—ëq*áå íá—ºž Fù541¯hâßb®¢û…ði7=Ìt竺|™,:%¾ú³pŽUŸz|¾Ú3—íÓ½U>hú}ba‰8b‹V]HŸž”Ê{(>?D}ÊF÷¡}iÀgG©ñÚ¢,^Áð ӥߛ^JÎBº-Ö›ðÛ‘’=zhÿÝü°” endstream endobj 300 0 obj 1300 endobj 301 0 obj <> stream xœí tU¾ÿ+ðdä¯ÿ÷`œq{Žâ¨#¸Ab"F vdS–I \Æ÷þèñ¯ŽO@¾|Çã‚BYTDQ¶Ð!!! ¬½e%;ÙèÿïÖ­µ7:¡“^êû=ŸÓ§úö­êºúô½U]©r8XApð‰qéã3á‘SŒ±¹‰EÂäbáñ2aŽ•?FÌ/æØ…Ç­Âl;›˜-3£¸P tÌ´Î[‹~û™È1³ÇqVqÂ,NÐS±d\©0¦ŒAì©••)ÌtÈQ'¸æ}7ô]Ù1àyÇïþ/ã†W7¿åúWÇÐõŽáï0¢70|Ï#¼Ðâåã2&ÿ‹!®×MyôÓSiKÅ}–¶“òÂПÙyÈô^OØIö^Kkû¦^ šŠò׿Πëÿ°V…ôçh ]ƒüâhŸrmyŸË5T BíS®ª÷—軼ƒfÔ #4}Ì!±D˜œ±°‚WqÈýÞ)½—·Ò7€ðLGï•‚OÓ£RÈ'xaŸhxÀkà‰ˆ¥€þ™p¡¸Mœˆ¤Ö^ [z/iè½°6b^£0·Nx\|œUGO¥’yÕ³+Ù#•L-—v¨„˜R*Äf ѪïãÒ…Ç Uh'}»OÖs˜û`¯Ò*),¬\OV2æWDÌ/§±7ÁŽ•Í°0¦š%HdÎäbFb‘P Œ-`ÇÜ”Cp$û}G…+?g²;À^%ß'çKh”W¬—øSŠR¸¸ŠÕÑ~Égì\ÒÙ QíÈi¥‹ÖÙÍ•mŽNfÑE‘£Ó…ècLvÒœøÍ‡ÒDÌvLÞƒï N޳ªÀÔÏѬ3ÿøˆÒSk;nÚËN,Zô޵µ¸ âÍgì/̳®˜jIJ0/Š/›ÿPÙ“qesG¥³G%ÓîbL¾³(á–‚‡¯Ë˜|wMnæ¢× ÙÁ:|Èn᦭Ì÷?vç{™[ßÇ5š[Å_è¬:Ó•ñpwíø¸¢|>¢ì48§žºò­gk>Z{îãõÕï¿ZñÖªò×RÊÿc‰ýåEöØVϵ­žc[5Óºrš%%ѼäѲyM–1æ†]ãî4—·H¾ÿ~/3ýŠ—hTÏžFëõ0óý²?gÿæå‚ÿýüé_­>µúôå/\ñbAÿ—N_¶:?êÏùÂÊÜ>Ïå Ïä /X…E¹ºAˆë7ž¸VAÛû.‘M/QvÆÉwûË Ï}ú^íÖ÷«?x½òç+Þ\Yþê2û,±ýe!)oa¾í¹'l©3-Ë'™“Æ—=[<ó¾Ì±·|v×oØ;ù~Û!WßÙ®=uîÉG…äBJ†°ìDï•™‘+hú„°ÌÄ—›F¿g’Lq[š:’î §Âät7cø€w¦AHÀý 6.W°!9®¥HÇ gm©3ÈôšÍoUmx¹âåk’ì/=eûóë33­Ë§X–M4/g^2–ðç=X:{xÑ´»3ÇÙzï•ÌwÚy'ßÿíê;}<˜ÉO¢;^X°73ooVþÞÌ|öÈÈc%ô43o—)w÷‰¼¦ÜÏ2Kï{ë¤x#yüÀD³Nö„R†ì»uù¤ÊwVW®{‘do>ö#+Y9Óºl²yIBÙScÊæÆ”Î^:ó~*¯ÿö‹’©C 'ß™5á¶/†_Ã|¿7SòößÉ÷ß}ǾFd²£ô“‹Å{­>àXðQI¯‰zßW×êî°;µ+~G›ÃѶé96šNUšRþQw†P\ç`d"ð7]ï»%)¡âµ”Š7ž¦ž]‘K”ý‘²¹£Iö’iw+å%“n/œtGV‚‹ï¼'ß©d´ø›Ý”RqŽ'Á•’‡ãUZ¸¥|g? *狾ýãýË®\£5ŽäYë⾺à´bÚuøºðÁ«ïæ…cho ãÿ²ÐöÜEí²ù±eOD—θW•}ÂÍ%‰CŠ&Þ–•0ä‹®–|¿5C׿+¾O4˾·S/ì½_òß§{OLïýD%ÁöâÉ÷ç%ß×¢õžFþqM?æNõ~¶®ÇÞd¹Y1y¾n ìÐú>Nç»íùy¶°ÇÔYÖ”)Šà´·®Êžpcɸߗ$ .J¼õäø[¿|à*æû=¹î}§½†Ù÷Vw]¼Ž¤M§4¾W²“÷TßóÙ}*Õ›¬Úa~͉ï®:Ƨϧ:½š^«›÷¹Fý>í ð—j™‰éÒ¼|.MåýïyŸ]÷RáŽjwËltZ1±sçëìi Ú¶ÈÕð¥—gU¬gR?1Ò–:“„ö Ús·,ŸlNžàЧlâÍeÝP:þßJ~_üØà챃·Ý÷[ÉwÞÅÙÍ|'ñïÏeÿIGï2µ\ã»wÚ’ÿ+»÷ä üj­\m›V‹gðNç Ô¯̆÷cÿQépT’ïQª7±¦ÐØø“ÈéÖh²øàØA¬N¿¡GÕÿ—©ì#<{@üºXI‹ݤEÍù&júög×ô›c¦š…ÛŽÄßÅñÃzž],ç•û=ŸÇ*¿~ÚÍ2‡fêW줺Îî–¿“F/-Lßë45MlEÀ7$L¬Ðú{æûÌû¬Ë&ÚVN·=3Óºbº%e;ëfñ#Šlæé·™'ßdNü½9áZsÂu%®Ïyôúm÷ d¾Ï“ºxêß¼©ó}F…ï¾/Û˜Ñ+ñPïyµ„0‹À/¬nÖÊÕoÐ{$µTøÑûý}9½:~g»Ø¿ÓKµâ÷¹Cå û¹Vƒ¿£:º”–—5â,ZÄž~5AœåÀvé]&¤Ço§%7|¸†Õœ.½µÔý캭ü°ó2#'èWlººÎbC\–ðŸ-¼·_5­|ä—æà‰©µ*ëi{*™2Ìü§qÖ§§XWL³==Õº|’ei‚Sÿnz“uÒõ– W[®.uΘ«·ßÕŸù>¢ˆù~CëßÉ÷ë2…èæûTÅ÷6qÿý"¾¯x÷X/ÏÏo"Øÿé<Þ(¼Ð*É5ªXú 6²ó~x~ /ŒÿºCò}bƒìÎ瑳š$­nú>R™‘ób‹n™êÓ ÉÍa&^3ÕÄD{–THO›¤WçÚÜξêÃ9lQ…NËœWL]çU&·K0ÅY'ÿZâÚfÔ¨ÖŸ#ØøØÊžŒ³$O Ó­Ë'[R&ªš/ŒækmS®·%^eM¸²lì•§øÕÐÿÃ|]Ì”¿£€ùþ›¿1ßé)ó½œÆä⬕hfý¡^SLìŸõDå áßeßG—òÖcß›˜ï¬p{¿û‚èûߣ¦5m²qw¶FÎk‘µú!RžQš]¿LÍÓ*ÉÍ{2yMqÉ´§@KkøéÕùv·³?úy›Xyö§„~÷;-SЯ˜0O]gù휖ÀfŒýw¾CQô?GysØ—!>¢·žmHã—Ή6/Ž·,`Y–¨Ê¾ä!ë‘¶êñy{âomã–=2 ÷ÁI»ý2æ{ŒMQ¢úN=ó]Üw˜[çPÓ*vôžÒñÌ{‡{M;Þ{ ûÿ\"â©aM»,—•L‘icÊ8òV‰…²ï£¦µÊî|9OœfZý©Î(òïÚeòY*V Z5ºFv3[©)ŽÕ·FMãïrždì7¿ÂýìKêÙqÏû¨2{ [{¼²ªÚe:¯˜fÅ·s³„Œ6ÍÊ8}x`¶Åú© me…_[2ãÞ²™?ªhYò°uqŒõ©¶÷”Ϲ]U~ì¿Zâ.?5¢_Úú0ßIm®ü°ªïã¬ì°Òܺ£ßé?âõþÃßè?âþ#µ¼îįïûs¯YY½’.I­„ðÊ…Bý—BážVö=ðTéºbÑ÷Ç5îPÿn–^$qžbßþ¢Ióª[Öôc³ÈnÞ›­Vþ{…Roÿ[û Úõ‚§Ùµ•/lzáǨ[~t¿LÝŠé×Ùu Úµµ–óF¶}ïÙl¿Â<úW§îÜ~s/æû#5Ì÷ûËÙY7Òx¾„]Ýn»2FÄ,{¯',½çY{?i#ú|möÃWe?40gô€ìè+røUö=ÿëÄ?>y³ïÞÔúÎ/‚Ç»xÞË÷Ijq¶~¥Ôã{’ÝÿŸ€8Bîr}‰³Ðc¸Ø/z¯¾:'ãë¸[>þÃå[ïü×χöÿtد?½³ÿÖa¾6àË¡ÿ’vçå_ÝqÙÎÛ£Ò†ôI»¥÷Λ#¾¼QØ:òºò“¦EëjÝù^¤øÎùY4bGß YÏYÚΡѾ+|ùØh ü.! tÇv‘³š½«ýá̧˜+Û­­|¬NÝwò=A¼tÙŠ åÚ¶ê3µW ]ÒÊÉk¡–¾'~ø7Øø_$ȘÝ" ›y^ú1nz“0£™AS„‰ Ò#ŸP˜xN_Ãù«Ô›óÝ 'ßGˆÓˆ>&Äš"â2z=ÌPn&‘PÀa×ÜH(Uÿ+ßõºÚÿæÀcŠ€ö¯p>–ØöïlD´Ì¨|ééh^BÃó÷çJ§ÍÓ=’Ýn}51ßEåëÝÂ+0”úšüƒ À…nüÀùù´âñù¾wçLªŽšz¦Òž K„ùÂõŸ þ ß{à;ƾ`à;ƾ`à;ÆAñýWð€p‡œs͇¡åûËìx!Ì|ïì ˆqßÄ8 W߇&ìyAì_A¼¾ÃwÄ8ñÅ÷¨¡yaèûk¥¥öÒ9ð1RÂÕw˦íM¿æÙwÿ‰ß‘ Oø#1o{%&æS÷û®:îIgøŽ/=á{̂䘑kõ¨ïs¾m*ýÖÄ4ÜRÉ&´Rói©„zé£(ͪt[çã,z±òU^(Õ•¾Lè]¤qFøŽyzÄ÷WLÛI[´¾›Þ)H¿ X9}-°çÉÛö­•&ä¯mM©Džöà;iîÈÊ#%_ÍrÜrгï:z¥ŽCœæäÖë^•J^Íbð òôïöÜ´$Ñ_×þ( ÓSe‚ÕÜ’,,H³ëǾø.éIÝ·Ü5wÍwm‰î“£ÅÒ[8Ê—|G‚>=æ»d«ÎY9NåNõmd÷/6žûܦ·”–н¼|w¿›¯Zß‘ /¾÷šëßÅ1|òÛŠÅú=z/¾wf_÷{ÜvÃei4®{³n'ßÕÝsud¯å±½´Ìƒüü|G‚<ñýZú^ÉçúÞœïÈ{ñ]œEÚ‘Wði<¯ßãÖ[“ŽËi\~5K,ÿÖ䥎óž•óž]šãy$øÓ³¾+{ålw^Ë'-ðÖ¿»Žü;á{Oß‘ OøÞ“Àwñ’põA×Àw1Nà;‚'ðAŒ“ðóà…pòÐ5à;ƾ`à;ÆAñ= ¾î£ „k6ÃwŒ|À8øîûÖO6‡Ã$k@HàªL|àùBÁ³&¹tß¡Žâ;~ ì¢Ï×Âw |À8ÀwŒ|À8ÀwŒC(úð‹ ä\Ô÷úýýe\Ï A<Ç«ïÊýãà;‚c,Õí'Š:Žä¶ü”Õ¼?ã<±ïxó7ÇömÚ}¤‘øúPóŽ_·l(°´8à;‚„rHöâò ù– '‹™øDÆ™öã§;ŽäuÊm#æ´ÿ˜ÕþÝñÖ½‡ëðAB9Ô³“ì¹¥í'ÎvæÜôùí³Ûf1Höï3˜ïÔé;à;‚„rhÏ{öôÓí¤9çPv9þíñòý»cèß$´Ó=¾ç…žï…›â5©ûø7AîÊþŒól‡ýŒ¸ÃžÓ¦@Ž“ÞNìMoã>ù~m(û¿©P™†òH8fßñfêÙyçž0ÿUÞ¿“ì¤9A%»Eå ù®yªéö•çÊ7ÁþT>­VÒ.A‚.{Ž6‘àGr;Hmά6b×ñ6¥„+ïÓñº°ñ]qÙ¥@}AšÒÔt^‚Wß”W¦I|Cû®Ý¯çTñGØõG‚<»4*ûìZÍÙ%hHÔxãyæ²\ªV )’ZÒ}:BÙy¨‰ýÔ®A‘}_VÛ¾,É÷¯Ó[¿öå|›0ñºp±ŸÖ:©Ÿšš*?“+#HÐ'í—¦³Úæ¨ü3› ì¿9Ùþ•©M!íhëŽCï=,4}œî,Lf^D‚ëàkwó#HPæ‹6}ŸÁN¢cd«ï»³;N´oKoÛv´õ«CÝ?¾#ˆßý@ž ùþM:;Cþ@&;§ŽC»ídú®m æÉ÷/·¤ý|ÑýwøŽ AÏ4ì>Ú²÷x;cVf¯‰ÿJ„öÜIö/5o?Xç€ïÊ9]z~÷ϵ{×í=\¯@OwjäÐ0žzv’=¯´ÉßÄHñÅ÷Ðúÿ8€<û^r¾º|À8ÀwŒ|À8ÀwŒC(ú¾õ“O8Ž‹úB¿¿úçM ö„“ß0ðãß0ð㊿Ǻ†0Š|ß ß0ðãß0ð½ üj¸ß»Ï÷@Ÿ/‰ ºÀwøŽ'÷¿¿Ãw$Tßá;bœÀwøŽ'ð½|Ç-ä‘àˆÑ|„˜·÷IO½óŠ©|×Ý|Ê#‹á|Y3rí±ùîPï;¯¹Ñ´ò\ù&؟ʧÕJ¸5â‡Ï÷WLÛI[´¾›Þ)«'~°rúZ`Ï“·í[+MÈ_ÚšR‰<í‹ïŠË.ê Ò”¦¦ü- —#únÏMKýuíßùW¢0=U&XÍ-É‚4»¬9Ÿ·Ë¾k:x©÷VÅw`×ñKŒé»d«ÎY9NåNõuÊî{ÀÛxž¹,—ª}7M‘Ô’îèÓ¿Ç ¾‹cøä·‹õ{ô^|ïÌþ¾;ß© ûiËNꧦ¦ÊÏäÊâ§Ö÷J68×÷æ|GÞ‹ïâ,ÒŽ¼‚/ãyuH 7Ÿ‘àºøÅ]Çür 1°ïÊ^9Û—ÆòI ¼õïv—‘¿o¾#HÄh¾÷$ð ¶t‹ïì°¶þË—/xÙ;îæÊá;bøÝwñ·lõÀuZÒEb‡ºÔð ¡øÝ÷µ1nvf½œÐ"ŸÊ"Ö"ˆç»º«/íV¯MÒÎåm÷9àÀw$Øâwßc¼ÿ*ítB /᳸íß•úòÏß’æò¡6øŽ ¾Çÿ¾»“{:¡…±%YÛ‰{©ïT!èÿ¿R®ø×÷d×ÞÖË -n}÷T?Ô| D¹¤ãu^Nh±;Ìöºún}âñ<!J§~Óm“~ssB‹»³Ðyµ˜·÷¹?¾Ð#øù|ŒÆbà;ÆçÓv€‰ÀøÞ}¾úçVѾÃwÄ8ïð1Nà;|GŒøßã¾÷ˆïÊÅ«Í%§uϤß5ˆÿ“ë¿Tß÷§ê¯#¯¹Jy Ó!=ø®"ýW¾ßÎÎu7žç—˜×ÞrÂåöÒmï ¦·GòS÷u7˜ssuJÍ…8ì¾_¯’_j–«­íÔq•y¤çâ³ïg„kÂÛ÷}Ò•y”ÿ×Ó^}Z½uWî/£‰lºîÞ1èß‘ |¯tò×Óõ7.áþ2Ú8ßѽ#=øÎÑý/¿g´ÚÑ_êýe 7¥ÊJ;žÓÞ[Aº=ð³6FsãõîNwŽîâýe¼üÙ‘ž |çè;nÙtí…ôq$ôß}B¹e|g€ïH°¾{A¹¬ÖEÍÁw$$â«ïÑáÿû»ßïH°¾ÃwÄ8ïð1Nà{·ú@°ßZßûÂwÂø€q€ïø€q€ï] àGbp¾wŸïþ¹Atïð1Nà;|GŒŸ}?#\ó!|‡ïHH¾ÃwÄ81¨ï¼Ý%û®¹ •t +_J\³?U{k÷µ}©ƒ4ñ]s]YñÊðÝé¢Ó¾”è"¹¯^ùR®­^Ó—:ˆ‘cß»ùµ(CÐw÷¯Ö—úR1j ç;¿g„èûZùrUêM%\Æžëtêþ2êX]¶Î——¸µÖ©Ð—:ˆQÓ ß¯ ßÙuæå;GH «WŸ–JX¤-•îëøéþ2>”(;ßêËn´u™Ý—:ˆQcß]/"íå^Lai àïû˸ÚèK‰§W܉ìKĨ1ŠïN{ë]ö½K÷—Q›)7‚ö¥Ä5Z—=ݚƗ:ˆQß]ç=×Ñ-ê¢ãyÍïb©/V¢ö“TAwÃIyÌïKÄÈïú=q¿Ù¹©ƒûË ¡ƒøà;lïð1N|õ}T|‡ïH¨¾ÃwÄ8ïð1Nà{·ú@°ßZà;ÆAuׯÀ ÀwŒ|À8ÀwŒ|À8ÀwŒƒâ{| Üa¾‹×«„ï„=ðãß0®¾oýd# üp8®¾úûé®(¾÷š‹ñ<á] ÿþßsà;ƾ`à;ƾ-vkvYáñâ3GŠ ÷9?vÊ»PsJÎ¥vQë ÞÞ®ùž›ýËÑÃßþå›°!;ó'´— ÄRœñü†OO_#ŒL &üeñÿûÐV–I¼½Šï¾Ÿ_GnΑrûÙÆ†ò𠺪„ZDíB{©_ êK[~0…ϙم6jÑ >uíïŒÖ^Ñ÷ÎOK=]8müjµ í¥íŸzºýÇ .„U:ö?Míª*Ï7x{»à;¾¹vÔ.´—výh@ØÑÑNˆi ÚÚZ›ê¨]5U…o/|÷¾ý­½ÔßÑvÒÊÒ.œol¨;W]Ní:W]dðöÂwïÛ¿ÑÚË·ÿóç›ÏŸo š›ëk««Ê-^|7N{CÉwëÛ·ÿ`ëÙíßhíåÛSSƒH}ÐØXW{®¢ÂVâÅ÷ koîú¸¸õ¹ÝÐ^Å÷¾ÃzÖw§Ù—m;¤}§•ßü·Í[Ò­Aî;ßxêüKî»q‚œ¸wO²BiÃ+ìI¡ò§÷øùMkkÏ•WØŠ½ú~ íW[ÊÓ_ûgµµ‹_ÛËî'uÍføÞ¾++ÏÜOËjßi³a[Ž9õn¬·î”ôtçrQùÆSëâx!M±ïžòç;rΫ±—[‹¼úÞÅö²F ){ä§{–«Ó—„ò±ø»½Á廸˜þ½ÔîÏWì{F>‹Zâƒ5Aè{ƒi¿²æj[äN? íåÛ¿²åø.ÿ´7è|×z})ñ_—×sûïºõWvêÅî;Ðí•·ÿ¢¾¾Úod¿÷N¶®6ò¥»¨œd_¿Tp~ÕoÔÕUUWYlæ³^}ïR{Ý4J.WS¼“­­Æ§fÔÖg?–®~ ÞÛ ß{ÎwupîÔ§{øXç»²åø´!fýIMÉɵqqkOòǺª“ëc„”4¿¾£DmmeU¥ÙZvÆ‹ï]m¯K£x»”B}Ý—(…N q*ñS{æ;¦ª‡©¥‘ªëÖ®©Æê„Íx^ÒV3zwùXÒ^¾ýÓ˜¨­­ò#'×űkOJOÉ!v]Fíɵ±RaƺX±Ä¯oJœ;WYYa¶”zó½Ëíe–îLYºSm‘ÜdM‰Ü^ÖØ”Êrا¡yZU«Å¯íU|ÀïïnL9ûÎí`u¶Ÿ¦é"Cúxh.÷ÚõCh{åí_ê)ü‹h‡””b¡´aó üKÀäß7=w®¢²¢ÌRZàÕ÷®·WÛ(¢PÉNùºØ”äXÕw}{iBûQhž N³øµ½¡t¾M7tçÛ¢½|ûW¶œ0 ¦Æ^Q^j.9íÅwã´¾{ßþÖ^¾ý‹[NyxPSm+·—•ä‰Û±ÁÛ ß½oÿFk/ßþ++,f¢’a ]¨ v¶ñç9Éúñꃷ·k¾WW•|sõ/Ô"/¾§½¥g LøËþ_Ž”æ=Y|6›&BZÿ‚ÌÓ§ÒwíÛGíª¯µ¼½]ð=;ó§°¼Þ‹§K<ª½æbÓ¢×>»bÝG_îÌÉ8êdgü”múgÚî]ñ)k“ÞÜÒØPaðövÁ÷J#]ÏÍhíµ[NÒãK? ³ë¹-ýëÿ44”77U¼½ÌwÜÈT•ç×TÖ×Z›«š›jÎ7;ßÜ´¶6uš7ªk9_w¾¹¶¦ê¬ÁÛ ß0ðãß0ðãß0ŠïÂoM¤|ÿIfn}ßÇÊÝ"Ä×B’ýöï%ß~É~ˆgl–':Ëft~Q×tžÎ.ÊãÚnîü,^Þ}³{:ýzYÛÎÓÙµ½¦ókØíÇŸ‹êÂÖÛÙ?z—þî]ù‹|Ä&®ú/æû¯7²G€øÿKT endstream endobj 302 0 obj 8504 endobj 304 0 obj <> stream xœ•UMkÜ0½ûWø\XG3’,Œa¡½z=µMKIZšKÿ~çC’eoÖi1«òh>Þ{36 Ԫߵ©†¶yõŽ×—¯õÇwõÏ j~^¾U¶5d÷\ñúD?2£ºRìø_ížêïÕã;r­ÇjÄÏççêæý³«O¿ê{zÝOç*PXÀÆÖç/õÍL{WŸãùGuw®î%Q~sBÓ%{¤ÝãÃ`p´„ñƒée…ñ€|Ì{Ç+e?ÉÚP ?ì`äÀË•q²¶6;øÅ.ÅÂ;JCùÁœØfíËšñÓùÃk59KEÙÎ.EYdð*F. ­å…‡{3×2‚é)0Jr”És¿“Å›i´éuË+¥HFh žô‚* ímB4YrI‚+½ôñH홊,á̬…±šú%øL´Dšv E Ø]Ã¥çK ®Ô1àtå Tï&ê)Ò-:A»ˆHùVr§¬$*æŽU vκ°¾PXP#¼ÝÊ‹¡ð5+SJHô_HO»:¶ßb¶¯#lCÓotdŽœÈT2N½%ÄjRFƒlKŬäâÍLÞJ,[q§&¥V±¬ hR„Kb#u§¸£ñ‹Âä£ë=‘¡µÛÖŸ;èê]@¾V\ÆÜ„N$;ÎpšEb™ëŒ`ŠˆŠ,®À¾_X²»à 2%àIÒ”}—˜Ñ–,©ô Y( ec§êx0è»KÁ€é•ÁâTÝÈ¡ ´Ô‡Ú9­bIe…}¹–Ç[!¡i¥?W©~¥à„8Z·3”“Ò³Ó(û#c16—‘†¹À ÊI*ØÝáÀ¢õÿ3aóUÚ‡Û%뢰’·¬ÝØÑØ.â•ý$~É?p?±ËˆBùúÛ†r†y{µ"Õ¯ty9ôÒ§m©˜zlÎLíI¦ —Šyc’³ÏôfPUÚå±ÛGÐBŠP@{ŠH1mÕµû]G_Ž×R]«eÔ–]¥½4á8u´@g”™¡SðB*%¶/ Ïãa;•8Är^d*ßè7ýj=t_ÿ¹è`Ø endstream endobj 305 0 obj 825 endobj 307 0 obj <> stream xœ¥XMã6 ½çWø¼@²¢$K6`ˆ“ ÐÞÐâ§m§E±Ó¢{é߯(R%;q¦Å`æ(òññCVèþÙýÝ©n¯Â­×xí-^¿ÿÚýô©ûsþ}ÿmgœ rï;¼~ ÿA,ü†%âIî[÷ûîíSPMIÿ¾¾ï>ÿðn»Ë_ÝkxÕÏ·Û‚>˜îöK÷ùîmw{›oì^n»×h(þqëýaHò:ܽ}™”>š üq“ãŽ{ñÞâUŸâýõ˜DÀõ$Ñ÷fRñA˜ø *©åÅö}‘K{é—`nÕOê‚2µ.£Ž?ß~\óÉšƒï,¨Ã˜Š è» (\ ÆC_-ø2™!úÕ£½spRGÓ=QçˆáBæùxŸä²H|`…Ü€ ¢~=£²¦Ó¡Î¢òŽÃÆùƒ–è䀶9ê‚^(Ô©p#ìâûS4`Fû Æä°ãXï“"X‚Å/=ÜSãÇ·úpMZTŒÏ|'> tØ× Vì«R€áÜÛI#sÂ%Ü"Ml¤‰fß}d„[kOÓQ,âî8DiYHŒ¨ý…™«Y¬-Ãfžš “yI¬µ¼.(Ы TÓj˜‹H\C¶‘Å`cè AdC§Ji` õX¾“-Ìœ`ªbÎÛÉ «PÀ%w2²U Œ ¸‘œá••ÂGñ©á<ÐI`f8=ší!Æ6ãºu ¤Þž÷¹¶&B ᔉ±àßÍJFÜB(±5âŒê˜ K²Ó–JbFøÊÕ®G ZP²Ý…š"úzì+]´Ã,ö¼&•ÖÔHÀ³qè\Í“‘´0º›Ô…!€ó!ê‚O•Æp€J?Ý,ê­O9a¡²X$¬òbTY/°Ô'%)}©l¢­¬¹%£#z%áAòŠ`;ie™¨ú,\•Úªóv½¬ ¸.ï_ÍÞXÃà–-O˜+YèöÉÎ4ãËV²ÓÍ éùdó9WošQšÑw9—,OFºž[Dÿ˜›Ñu.ÁƉ)B0´™Ü)FL[*D)uÄ¢”•Ëq‹uZÊݧÎU`ÆžMÁ ‹³é³±:gLDîÈÔ\ŸO?xzáU—Š´.¿]TUž—V,B7äÐÁ"r;cÞïA=¥ŠâÅT•ÚÃã<†qqÈeš …å4õí2¾‘uºÛùÉå´û‘i"'üꔸ6e”ãÚÈñ†¢¦@T(&{4O¬«£-±ú=ŒC,ÚÌ®+«ßà­ýءͺE[T/\>ò!Fž$ªC/Üel†ŒÅg>ÙS[¼#_ÅðÙF]¶®*í3ö‹˜lT,Ãû劵ûk÷/ÀEY endstream endobj 308 0 obj 1440 endobj 310 0 obj <> stream xœuRÁjÃ0 ½û+t.$•d»iÀšµ…íì0vÚÖÑl´—ýþ$;Mh1–…ô$=ÉÂ’àÏœ¡@Q+VéÊó× &ºÀvèIÉNú ?¤°ìïì}é¦ŸÜ endstream endobj 311 0 obj 338 endobj 312 0 obj <> stream xœí½}ŒÇ™ç7@à’à€ ’Kàp{'À—ÛÜùãÎì¾$šètÞ\o´»w»+Ûkï‹Ç3+‰È l/.{ÀÂw^YkŽ×(­¥³!{×¶,5#É”©7Ê$%J"iR”EŠZJ¤^I‰š¡(r†ú¥º«_êå©êêîê®êî{º«žzºª¾]ÕõûÕÖÖû››—ý²å‰Í-oør)õê}?x ø–GÞ÷†¿˜{Ã_ 67ß÷„¿¦ç±½øŠR|.y®äžˆµ7ˆ/àÁû]‚4aCâ·.AÐ!è17=‚ ;E)>—Aÿâ­÷0 èt:}Ü‚nò“AÐ!èô€‚þµ¯}í«_ýêW¾ò•/ùË_úÒ—Ø=ÒÙ¶mÛu×]×µ.7ö¤KAßò6P;}vëÀ‹—÷½øØ¡ »žyñàSxrã¾'Þ]Ûwžqïž +?9×îc§/Î2AW[P.èíÚ‘GõÔ®=Š‚/—|ªª{ŸÓ èñzÑx¿÷½•Ùîßž=ú›³GþÍì¡ß¸ãŽ•S§f'OÎNœ˜ýáþa‚.z²¾>{ûíÙ™3³×_ŸÙ=©t-‚›˜15ÿ›×ßÿÙé÷ú7‰²3ž9¾õÔó—÷=wyÏÑMÆî#[ÚÚùÔ¥û÷®Ï èSô f±ò„¿gƒðº@áî?-èËËËEãM=•òÙ®_Ÿ=xMAÿøÇ?^WÐO è0Xpccs¦æG_Ú:ðÂe¦ã\Ê÷ÝÚ}xk÷¡¦æ?~&t6lŸAÐ!èôV¸ú/ŽÖE5ܾ}{Ñx¿ûݦã³ÿWÂetiiÉ.Ç×^{-“Úo¼‘Ýå/ùËñÁRþÔ§>å.èŠ'ï¼3{ë-BÐuOXLÝkcºÀÇæûŸßb:ÎÙsx“‰øžº\À}ç“¡CÐ!è-i+è_ýêWÙp˜Á4ô¯ÿzeåÿû_Vþí‡WþøCŒÛo_ùÆ7Vn»meÇŽ•ÅÅE‹ìcc7÷àÁƒìóÊÊÊ׿þuöÏë®»î†n`BÿÑ~ÔEÐO¾ýí•;ï\ùÖ·V¾ùÍ»'›ô vbÇÕWï8Ú X§6A?~ËUWÝr¬AßyÃ\j×ïLþ AŸAÐ=ãAÐ××g 6"f:»ïã³Õ5ûá¯ÌV~™ÉèK/Í^|qvüøÌ.èúЇþê¯þêûßÿþ­·ÞzË-·0¿úê«ã7~ƒßqfìÃÒV,«S-Ñâãe ·4:uæ¸ø‚A¯¦­ ÿùŸÿ9PfL@ï¾ûG³£ßœíû·³{~iöƒ±A1Ÿå>vlö¹Ï}Î.ÇŸùÌgØýe©={öå“/±ÏŸþßû­ßúÍ'Ÿx‚ýõ©C/?úüÅk?ý{–صo¿¼7gž°±9Ws¦à§Oϸ'쟯½6ûÛ×=Ñ‘ '"~,o枤œ# úÕÛ¶BA‡Åm>uÍùðü—?ñïø©9Óq;²–j:£‰ ­,Öv6Ó©‚^6y6ô®lòš“[[/¤jŠrš!Ütz Ú úí·ßþÆÚƒü¯ÿ;»5Oýðþ]ÿÓ?^_¹uöøfßûù—+lPü ³çŸŸ-,,TΙô£e#ôî[½ó»ÏžŸ­zçêÿãÊ[¾þµ;tøgoÏ{uö¹ÿ÷K–Ëoºé¦3gfœo}k¥PóS§fÌ6Ný÷ÿé—^üO¯?Б Kš÷qÞº“…¬+ñÒqÞÀÙˆ>ý!õeAßqb×¶¹m»Êβ‘{jŲ˚ɮÎS®JSÛ±M>A9B§-&+ÿY?¹<¢:ŸÝ÷Ä»LÁ÷½Ì´›óð¡MÆêS›Å®é Å Ílð›k¥6jf ³U›Î޼ œõ‚F®õ,µãfAןáË$¸cÌù2M]ÐáÎþù‚àÈ êp>9熮âsøÇo¾ªœÌ—Š A‡ ; ú¾}ûùûÿÍìs:ð§ÿþî~pö¹òÐÏÿÃÙ¡¿œ}çÊÛn[ajΆçÏ=ç$èŒ_ÿµ_û÷ÿá+½<Ûÿêlåäì—~é—~åÿåŸþLJn?4»yßìÚO}Æ.èLÄ9ßüf¢àçÎ;óðklÀ~ðà1¦òŸÜñâòO_ñ§‡»z‡Îž±¯ßÉ>°¦›4«¬Ë]p„5ºë¯¿!m€;¯/%ÞAÐS-÷Dª§¥+Z_ZùÇÔ´«R©ÍN`d—ëGfÅÃD‘…’¬˜µ~r™)FèS°BÐM/>3e÷ èåYknÅcóÖå7ܰÓ(èòP]’ž“\btA¦•f›/µ5ítÑOµûÁ\§ÜÙ™‰3å_S¯’«’Wó©<ÂTÀÎë«&. ètY¿ýþûÙçÿùñþ÷fŸøùÇ®ø;‡¿óåû¿ð‘•ëÿÉ­·®ÜrËÊÍ7¯|ýë+Ÿýìg]ñÉO\»ýñ‹·<9»ñ‡/ð#Ÿúħ>÷ù¿øÝÅ?²_ø•¯|åŽ;V8·ßž°oßáÿîÿ¼ã·þïí¬æüîXû[¿ýðÏmûÉÇ–÷v%èYg" ·³Æ%Zò'¦ß¬õ%mý•5vþ_sʺ gÄÿ'Ãíba”#úUÊ=å\⓯Ҵœ AŸ€­í;_¼7u¼PóŒý›÷?Ñâº4÷®47®¹™@oºúÖƒÒ%æ)÷ìÑ}3‹MXÔîB^)Aß™ˆôå->¿áA› ׊&ŸslS23õ OXÐï½÷Þã«?ÞuÅß™}æÜø—oÿÂoÍöÝ8»ã#³o|˜©ùÏ~6;ztöì³³?øƒ?ptƵŸ^ZüüòÇ?~û%Œo¼ñÔ©çßHVÁ±±ù~ý?þÜ5ß]Øþ“ð;?ú/~ó¾ïïzûk_ûZg‚ž*õÎ\ A×f½’±ùN>*OÕ'§×ôôã¶!ÝžìL{ê0 AŸ€ýpÏ»ÉWÎ 5ðÐæƒ‡2A¿wÿ¥{ëÿ°Œöêʲ|%×8'Aç˜e]q`s+[[ Ò]šf¦ßM‚®¼L7 º\亢AŸ° ïýâÿÀ5ûÝ_˜ýæfÿúüèçþËõûoš}ë_ÌvüÏllÎÕüðáÙïÿþï×Rç0A?yrƹí¶äõý™3³o¼éç{åïü¯þÖ¿ºû×®»‘ôÄ£ ó¯¥dê,<-«z}ì–ë¯Ê^¸»ù†ë¯¿¡|ç6åžZúæÚ2å.O„;M¹W º8gN'+ÐOÎ&î³³ èc·»òî#‡¶v)yôp2÷þÀO·îyz³àî'.­ì9?k3å.¼ª–škk|eKò–<}ÞÎ5:mm² Ïeì×ßòBªJé%ÇSî׋]’NÇ)÷S¿su.fÔÕ9?.œlô¢ÈÊc‚^%è÷ü£Ì®ÿ…Ÿþ³¿ûØÿáìWþÛÙ¿ù»ÿ³<Ûûç³›ÿé׿¾ÂÕüС>ýÏþìÏNœ˜qvìX9~ÿyöyåþ‡û>pÅcwÞ)¸¸øÙÏ~ö÷~Ïö3/è{²|ë[ßúô§?Í>üëÏü?Ì“k®¹æ;ßùŽîÉ&~XëÆ:t0hp[bY7t6!è0X7Æýýɯµ?|0ùu8΃‡6™”¯ØdÜóô&ôïí½x÷ãÅ;tµþ£ç%¸­‘\‚ý²A‡Áº±¿~xc퉋÷?µ™ü¸kÎýO'ËÚïI¹û‰KLÍ¿¿çÂv'?PAŸ¸­‘\‚!è0Ø ìù—Þ[{üÜ}{ß¹ïzûçÊžóœ{öl°±9Sóç^zwAŸ¸­‘\‚!è0Ø( ‚>p[#!¸{ô|¤J<‚ÀDÐë?zþQ‚Û *i÷-µ8=æ UÆ0|}QÅëwU.]öCøðvzþQ‚Û * ÷4zC èΠç%¸­ zÏAƒ 7‚î zþQ‚Û z‚A‡ ‡¯— îð n+è™JA˜q’ú¥­ƒ ÷ý­ ƒÁ`õ­t\ÚÜôÄ–/|9”â)PÍãíóé•' Á„ Ôj :?ø…÷ÁÝwƒ;€ zp¦Ð{/cpPÀ`‚AÎzàe î 8 L0P èÁ™B,Á@‚ Š(èü‹*ôþoÁèc¼ŒÁ@‚ Š.è&:©á÷mûÈ\fùão ¯¹8S;hN³L­ÖµnÛ®î=DZ¿ý'ž›»öFå´Û¯%zñÐO­û`÷ªÇŠ×· -·°OÞÚ:°q4UºtSºJ\·þÉ}¡K=pB ú­×wðÆOÓ²"eUEH!Ž^Âr ºtS:½‡ˆ(cr÷•“:`…! z_áõVÀ6¡ˆ9Ùȃ']÷B~s)á=£I½wÑÃ{ôkþä?X1ä†@‚Þkˆ¨R“oBâ½Å‚îúè `‚n¹üOI÷.ÌãÉ“rLŒŒ³|Ù™ì!O_Ì+O61>»«%¸SO¼œ ò?)dtÙ7qC€XÆìs¢˜´Ï½‡ˆì!• vöÏòÃàƒú¼§~®ç€‡Jëp§ôQD¯Õ4ulŠ‚õG»¹JÝHÎ7½‹éº~Sü÷BµKL÷ÝÔçwÙ-”`‚ÎZý‡·í$ÿÄo¿­ú°]ükòÙ¤V鵊ˆ£ÂbÂ_|¡œöEåçÌCvUž‹}ÙôX]ôÍRæ¬#ô>CD÷Ò™B F,‚ÞȺT:y§¬!þªSðwèùÃX£ú£J µ6›×1ôüwÙ )§ÿÌï;ÝçwÛ-”X=¿StK/E\Ö”/IêƒVÍJòú f§e-¹ê¿o©t2Zš z_!2ô™Æú ú`džÔ¤BÐí•Vô¹—yžNqš)u®?D „›Øû¬,]»;ôBÊiÔ}'óê¸[(ñN¹+Ÿ ÕÃ*èéç|ÆF›˜S‡~¦¬Å)D¯Ó¤Å-°O¹ÛH;Aï)D¦²˜JUï£Å¯´­´ŽwІ(ÛjQ§T´ßšõ‡ TQ7vŠ‹=z‚NßÓAŸ‚NÝw2¯Ž»åÑ¢8Çy›#ôì„Oþ1y­6ô;h Ód‚§[P_Ð}Ð{ ‘±‡ä)zgöÁ¯õß ¤è“Ædüm7ÂÏh=AoVè@±Ë¯¹½˜Dê­htÓÝQv1BßEÜ÷ê:ȈêkkÚû\S“w{‡^þsn®ÇeJV_8ö6êë]ÏÝK#A'ß(eHéŠ#¢Ñ ‘¹‡Lžë>òayÉS…TI›;PÄŸ²1|×Òþj ¦÷ZÔ)&Ï›Õó¸/yÔì½ß† ÓwG=Ø®RPï»1¯»åø‡eô±š¼Ã*÷òˆÐí§¿g’MuÞ(¬¸°«•4‹è}b§Ù”»å2ÔmŸ”Ë«úÜ{ˆl=dZäK*| JÚš¤:¥M˜WŒM¤1êUîêi4GÔ>€ ÓwG;تRQÏï²[(½þ5‘P»÷`‚÷Á@›¨ª3˜~éôÖSˆëñB! úÅKb©á£»¹ô)8€6 ç¯Ÿ;˜žé²Rïû{¼P@ЃAŸ‚(`=Äuf„tÔ ‘÷}€=^(†'è£c ½Gð2w&(ôàL¡÷^Æà €Á‚œ)ôÁËÜp@ ˜` @Ѓ3…Þ#xƒ;€ wAgg Z}ëÆ{è;ûŠã&xƒ;€ Vu¹¬¸zpoÇ}" €Á‚úD@‚  =,ô‰8€ zX èq&(² _´0AÿÕ·^œmü‘ø¡K:tÒó^ŠcB.ãË·ä•ÎàOâjn'ßúEÿŒº€-ozÐ:]0ÃÆmª÷" Í£]tn©=úzY'ÔôÑ׫~ ØJÐM®’Ï$Ñú=šÕóâƒÊ6š4gF‰7A¦ÎD̰q‹ï)½Ãr§©WrŸ–Š{Ý® ‚Ç­lÆôýõ‡f—nûU›K¬Q¼xÇË90N è3lÜ èðJèܧӫ 3‡¹‰}²~dã¶;²ï­?ô…¿(|&O°M=“<¹ñÐÉ|ÂVwàŠ2G1}ò -žò‡ÂRk¨¬“Ñ¥2ߢ8,#zò8'„(ÿÌäÓÎjÊÚ½ÈOxñÑÔsù^œü[: ì!¥êªÕÿ,úAÏØêç0‘4H­ EÁ+šªZ©‚Ö™X‚Y·´Cp‹›!)â1 ¸ƒw¼õ1M­}nÔIºzhLßšTeÊ.ñýÓ¤UéWP8HvÚÚ½þJwéÖ!y·Y—U—ŸÞh„.tÈIÖåÍÍT/õ§üÌ…‰—«tÞ|»É3E±3: Ä|И©.èb‰øµTÖiý,…˜pXe&ŒÐ³ œ^ûâÉK+Ò·E êzrðÅ“•]A¬õs˜ÈÔj‚¹©Rí+Š:E0º8Ƕ¦4aóšzËnDMÓ6GW¿“¬ç¡˜¾4X3wÆ™|€CëEUú•”\µt­u»ôâEQö²ÎªnsA—ú@1þâÓö¤'‹¸m~•}%iþÑ£—nûÂ[/&õ¡2åì^”dL¥è‹‚.…‹àÇORïÂÆ¤£Ó5Á¡¥í+Š:C0ݺ8·¶FÖ|Jδ;¨u#tšÍ;I'Í韰Ō6)⦼ŠZZ™>YÀê‡vªÔô_+Õ$Wö⬗¬Û ºlyU¡ž¸ •°Jе3+¸BšÜ fÈ­¯hiA×Já51ŽÖ=»k¬~ò óâ¿Õ)K@qUå½è‹:#tªwä@Иtaº&T6U£ $>Í‚Y£‹«Œ›QX­‚^-¬&A¯ßI:{¨ö<¤ “™Ú]ÊžÏLj©KúZiW¯¨ê´kvéZÊÉ%½eío„Nݠʧ»†#t«æluÿ+.»8º¬+èIºC§ß±A½›0ŒÐ Ü;™¾¨µ(N‚^»€tM¨®®t"˜5º¸z™ªºt[ ºc'Yo„nMßý–Zþ*,¤©¡»d‘¦Ð Ó®Õ¥“ÿùsQ×Y U·¾ k¹TVµ2´|‡Nñœk =&Ž‚Nf-ÜPùå—« «oÏóÏæ”¥Õ‰ü1U~‡^µü¦j|mMl¿š=Ûøt`¤‚¥,Pk‚±¥í+Š:E0ëõ0ö¸Qo¨…ƒé".5©ô [¦"Í:ÉzŠé‹£~í·ý±\+‚8¨)ê³íºñ͵€¢Ê[:íz]zº(N貄g³®³.«n=AÏ¿8¯ÏÛhoümÚÚj•»X"ÝnV¹J¤$XþªÀ‹w¼NÌYi¨‚.ôÆåBSÊʽ Ö6 'D#èºm&M½SÞœœ _Q¹ÊÝþ}“XêL,ÁtíââV&U Ð/–«åßzHö–-,õe#jÚIºzè>}@îÄò²ËéØW¹— ݈ý*{§]Ý¥+“Ì©øæ&ŽG:Èš¬ºü’þ~)νg˜@2ÃO¿Nà 8öÕ_0;b‚÷ˆxZ˜XZA }"ÄXÀ ´¯þ‚éa®Õ¸˜j¼ÈkQKë…  s‚¥_ÝêîVš2õôÅgG èq Æ¢«ôL¯Ó¶c¹A.ýmvŽ®c B÷`s–°@Ð'â 8 L0P èa OÄp@ ˜` ÔtX6…Þ#xƒ;€ wAgg Z}cý,èv ‚ûÐCŸ}gÑyôD0¨‚œ)ôô"܇р`‚AÎzzîÃh@0Á@ g ½½‡÷a4 ˜` @Ѓ3…Þ‚ÞC„ƒû0L0P è*‡ošŸ[X?t z8 è=D˜8Þ²ª °¦uÌÞâæ+ìîé„u¸7?'@mA}H{/`Ù{8f=À[Aï!ÂÄñUE¼d€5­Ã`6‹aÿ—Îaº?DAïâ{¦Rz7e„ waâ8Ýc0›Å°ÿËç0Ý5}eiŽÛ•ˇ‹ëG–·_É.­ž="|&O°ß>õLvp~a)ɵ˜—X/sÓ'ÚêŒü¡pc~ûáL5ëÕ…"—¹ÅÂaꨱ]ëíåùÔá<åùŅ⯭JÚo5‹EÐ+ëç0‘4ˆª*.MUmà¼ ä© :>̓YÆÍ¹SŠŒ½Äüö›–Äã^.×Ó1õ`nõ$m R‡_¦ ;¬wp¾7?'@»úJY’˜— ›E2½åçù›Ž7¢»Š ©™Ì‘ÉÜCûAc¦º ‹%â×RY§ýaæ[rPw˜¾ZlsçYÜ„@­-Îù)i¿Õ,&A·ÖÏa"P«*æ¦Jµ/¹Ïä'DS—z ¦Ø¢åÁÖƒ•1T:„ârñù¾\O‡ìÁÜë ?!-/û@¨$-èÎÎ÷æçh%èR˜kXÃÕÏê ªˆ$!ë´dôf—Óé¨÷±F=)>/zɺáî|o~N€¶‚.[ÞKPïàèZZ)èÚ™•¬K³dÔ ¹õáÍ0å®–Â!kõùÓ| ˆòòyR?µ†´}Þ©~Iû­f1 ºµ~ZЋªRÙT‚>’ø4&-èÖ̪;Ú 2 z³Ëõt¨ûX£žðsÒ?Ñ3dÝpw¾7?'€¿:us‚Þr„nuÀœ‚í î¥ W<ºkÕÕ| ˆÐ%åM_¦§¹H‹ñy8ÞÑ:½‡ótUqiŽ4>Í‚ÙÕ]ºAõGèöËíéˆBéXOŠÜW u Ö]w¾7?'@#A×4Küì$è-ß¡«õ¤Ú÷®ÉQÐɬ•·9M]]=’õi(øc'ý½AIû­fô®#,P«*Æ–B¶/jš}àñiLõº9nb R/a{,­ãòu¹žŽ¹vª'éøšwD.SDèìÎ÷æç¨-èiÐÈfuéˆíµ[å.VÝnV¹J¤$˜'âáM¥› +±§Öױʂ^áòŸ«‚í«µ…J8¢ø4¦kÜ„¡:ÝKT,Soy9AeæVO-Å1ý„²ðL¸$wì@ ç;ösRÔôÖ¸÷ ÓèCFÿé¨}¤4)à4Ú—ÿ`zŒ[ˤ}í|¬@Ѓ3z­Ù€ ÷áÚWM£}ùf˸ /æšÌ ·¼<,ƒv~D!èÚŒM6KÓéÚS¦½/!½Öl@Ð{‰pí« èÍ‚Ù:né»`nMÒQ/¦+ë¡ìÀNAÚ-îCe„ wáà>Œ QÐ/¾wÁBpWÇÊzzîÃh@0Á@ g ½½‡÷a4 ˜` ¸ :;Ñ‚zðgªà>ôPÆYP î@×6…ZÔgu î € g ½Gp= î@×6…ZÔgu î € g ½Gp= î@×6…ZÔgu î € g ½Gp= î@×6…ZÔgu î € g ½Gp= î@×6…ZÔgu î € «Ð{v{ º-HÈzzbÇÕü§¢¶í"Å©ø;³«wœð¤w†Œ >˜m×6Á1–Bî¡ð‘Lœ,µé`ùÏ,;s´¸AƒêammƒÙEÓ‹©9ŸæÑ.÷çšk¶;L»][ÐG_¯z/`Ù{øÍ:¦;%êi¢P©6ɬ-³æOЙs¥n "®8ÍuXÖe­ÔÄÁ$ùm‰]ͳ)³³G¥«Z4¢JèîXAïzgºê=LJIœEhêUòö¥ˆ§â^WÓ!èqÜÊÆLLÐA4è©$™žÌ› K—”z.Ïù¨ûêD“‹3ÉRB‘^ŸýCd^¹×F"e©€´«NõÖüW;¹þö–µ¿:uƒ*ŸîŽÐ­˜S°Ôý¯tºìEÊö'.ª÷05é)ˆcéªøÝaQœ`ݺ´|ÍøvZ;SVaqò rʽ֢8c"-GèíZ¨SRÖÊï"裘Œ®[‡a„n `½Ç¤ªzuéêºc'Yo„nMßùVjEàZìq‚šD²×ÆÊ6è´kuéÄäþ\ÔuÖBÕåBA×r©¬jehù]«uµj =&Ž‚Nf-ÜPùå—» Õ8]Ý¡%eÌ+{Xôzå×ÖÄ£þÖÇÉS¥ ïÐ¥t¹èMy‡.}W¼Zп¶fKÄýz-´*)c…¯Ê*gZ¥Í2§~&i‡­ƒ~‡î> mì1´7ÔÆ˜XKgxô":±zu –‡búâ¨ß\[ªnåF~¿–¶ß4/=Ò¸ÕFSÈŠ*oé´ëuéé¢8A¸…g³®³V{ZWAÏ¿8¯ÏÛhoümÚÚj•»ab; ½å*wC‰”Ë_˜ß¾BÌYUôrlM+]×Íy‰WŹʽÒ¹¹9ÃØSø]o_G¯³Ê]‘áôL¾Êý„ø‚]|Ô ¤V=F”ÚpДˆË*÷.[¨=)ºBJÎm0­ÒÔ“jÎ4]¶Ã*w{…’V÷¥1©,™©8ÛÙ´“tõÐ容ÞJ¹ºæe—Óq«ò|¯ó*w{§]Ý¥+“Ì©øæ&ŽÊ;ÈÚÒÓ: zkª\jræ©þÒëðãü—WÛ:Põv “ïÚ)æø=ôö «¾uàmD?»7¬{ÑE‘'@ЃC÷Â|‹qAÅp¤  óàÒûtãÙ¾Þ®NÓôŽ[G`AWÛ¯‹¼&pµ1&¢ta.B°+—W»¼•¦L]¾ÚæûÇ…©›Á×çA º´ø½Z¬»¤W¥>NA77ÒN[Gðú˜Ú~†K›£«ÃX‚Ð=h· ¸=”±+¥s³àtmS¨E}V×à>Ðzp¦Ð{×ÓàtmS¨E}V×à>Ðzp¦Ð{×ÓàtmS¨E}V×à>ÐIÐ/œ·ÀÎ@´8 zðg±ò؆… w k›B-곺÷€@Ѓ3…Þ#¸žw k›B-곺÷€@Ѓ3…Þ#¸žw k›B-곺÷€@Ѓ3…Þ#¸žw k›B-곺÷€@Ѓ3…Þ#¸žw k›B-곺÷€@ÐUÈ=Y:¾=•(²žû Xv$ÉÍûnkî¦ü~{þ[mÙÏÇuþÓíõl¢ÔMÝnÌ.¼Š OˆæÑ.wTILü ÛγN¨-裯W½pj‚^½gh?‹Þ~„.è¹¼1zA÷[][yÒ› Gд;)Wpšz•üfo)⩸×Õtz·²1taÏ0ƒ&Zwk®wíÈõ¼ð‚ôÐM»“r§¡WÚÎì ÒéUГ]Ú¥Õ×÷ÏÕ¶¯=BmhÞj?ôù…¥ùü7ü­øÎùÛ}¹Üø€p¦¶Å@¾‘q9ߢ8LÝ[y× ›#‹iꙮǵ1z©§Õ|w²É‰âÀmÒ_œæ¶X\eN‰'ù}%ÐÚ*j‘ÇVcÚB½*}š(ë¶$èU]\Ú!È#Kî¤m·qÓc€i?t)M­7}nt»]=4¦_±µº†Tyx›o»V½:¾ó~è†N[»Ò_é.Ý:$ï6kµ§m4BHŠ-ÿR·3ÕKý)?ó}y¹JçÍ·›<3=˜Ää€óAc¦º ‹%â×RY§õ3ó-9¨;lí=ŒåÍ2J÷`"ƒ@f*^5 AO^ §7¹”È5»ØUôªx ,/‰{„Þu«1õðöôm-ƺ-ºKG†%¿ÆÎÁL:,jš¦Ñ\³Û]ÏCê•'תäÌF"ŽI²´^T¥_Y@ÉU²Ž5ëÒ‹GEÙ{ÈZêi›z¡Ñjüŧ;íIOqVcË1/qS´3Ń•’²A ºV 2kõΪýOEïA•WÚ˜Ry2Síªáº´õ¸··é²e¦™ä~ç‚«¥Ãô.[M•94ŒhëvL§.Ž>ë Rç ³:,tš†Wïv;yhNÿ¬-nd´I7åUÔçÊôÉ’®RuÌX×.=?Yõ¾²ýÂ… DüÅ b&ÁôÄe¨„U‚®YéÀº4¹AÍ›s$ý$KáµöÄe¼–òJ­ÛtÓµLµ«†#è’y{np@È@˜NŽð3…çŠaz—­¦²Q›Ò׈¶nK‚îØÅUö{Faµ zµ°š½þívöP<˜xK º[PŠP”} ê›(è•ék¤]¥ê1ßbú«\{˺­ ëN: z˺Õs ¶ƒºÿ•‚N—½HÙþÄEõ¦z‘‘ô¸N ÄQŒtU4‚î°(N°Ž]¡‹¦ÏËóÃô.[‹ W F2¢­Û†ºŠú‚^k„^–:‚îx»ëЭé;×­ü =NPÓ¼ôÝ%‹4…v­.˜üÏŸ‹ºÎZ¨º¼C¨#èZ.•@­ -ß¡kµ®V ´ÇÄQÐɬ…*¿ürtÛ;ôt™‡–¦1Óì©5®wè•_[ú[Wãº&Ùìÿ¥›Ò_cY7sz‡î«Õ”¯öÒ iV+õ3ÙÖb¬Ûô;t÷Y誸‘ouå`ZÃbX­"ÔóPL_õkï¸ëÀF~£—¶ß4/=ÒXß¡“éWPTyK§]¯KOÅ Â-<›uµÚÓº zþÅy}ÞÆ¶V­„íV¹fäì Ú[®r7”HI°üUùí+Äœ•½÷0EÆ´äuÝœ©xUT«ÜË~šeŽœú–&¿½ [¬r—Ÿ*JéÏ®ˆd”^½ÊÝ_«)¦’*RéÓDY· «Üí]œÐ1V÷¥Á¬ ™©8ÛÙôv»zèr»]ë€,(yÙåtì«Ü˃â|¯ó*w{§]Ý¥+“Ì©øæ&ŽÊ;ÈÚÒÓ: zkª\jræ1½ýS@‚ÿòªéúh¬F-Š“˜ÜŽèKý1…%L‘'@ЃSÑ /Æ•ÑAïÚ)è±ÖíÀ‚kXúA^8¨úQº0!ؕ˫]ÞJS¦._mó} Œ‘Iæp†Z±!è][Ô‚nnkqÖíà#ô8ÃÒ —þ6;GW‡±¡{:ÐnApz(cp½ ë@×6…ZÔgu î € g ½Gp= î@×6…ZÔgu î € g ½Gp= î@×6…ZÔgu î ptv&¢¥ôwß]g`„Þÿ3Upz(c¸ÁkbÁèÚ¦P‹ú¬®Á} º ›îêX™Bï\Oƒ;еM¡õY]ƒû@ èÁ™Bï\Oƒ;еM¡õY]ƒû@ èÁ™Bï\Oƒ;еM¡õY]ƒû@ èÁ™Bï\Oƒ;еM¡õY]ƒû@ è*äž,ßû ÙÏF ù e==¡m"›¸QŠ÷ÝÖÔŒFò«qÐ ¿ÕµU ]tøÁ´>iírG•ÄÄß°í<ë„Ú‚>úzÕ{«z×pcFÔÓŠíSgòþãþôŽ8:JAªžDåLêÚª¤½ ú0Ã;€"4õ*|•"žŠ{]M‡ Çq+SÑ{ô>cÐQså6J5詸•ªG½#ŽBл&*gêT×V%… ·,Wpz¥íÌÞ ^=Ù¥]úQ}}ÿ\mûÚ#ÔÖÌ­öCŸ_XšÏÃߺýЗËMgj[ ä—ó-ŠÃÔ-sÒ$v4è%ò¾)õTÒPRºåýÇýé]ù|?ö«·m+)çù…Ü‹3wìŸC2‹çi ¯E]¶P2)±n«•_v†”<‡æÜ?¶&IwTIóhT| 0í‡.¥©ÝkÑçF¤«‡Æô+¶V׊ oóm×Ük£Œó~è†N[»Ò_é.Ý:$ï6kµ§m4BHŠ-ÿR·3ÕKý)?ó·À¼\¥óæÛMž™Ìbr@ ˆù 1S]ÐÅñk©¬Óú™ù–Ô¶÷ÊåÄsEO‘÷MAO^I¦7e—È’Måš;#xR¼ PÏ䟅1 ð #tõĘ”ÐÉÊO –ܸlÍ9r“¬  Ö<Å;òªâ`–iº~Fx¶WÒ4æšu’õ<¤î{y²ó­4Îl$â˜$ë^MÉ’”\µÔÛº]zñˆ¢({YK=mA/z5þâÓö¤'K «±å˜—¸)Ú™âÁJ IÙ ]+™µzg‹[`˺¢+&½ëÈû¦†  2êñmzနñÉ‘ì¨vfzFï|]‹<Ö÷¶FÖÞuÃçÊæÜKý46I§’Âg=ÁiCpi cOS y'éä¡9ý³¶¸‘Ñ&E¼Ym4E€öŠÄ¾`ɵKÏOd½¯¬Û ºlyU©lÂ¥ÃU‚®YéÀº4¹AÍ[…Œt­YƒÃ-°µ“ wyßÔ¡‹æM>iA/ò©õÂTAÏ=‘7b2£ ûª'•IUVþʼLmªw¤&éÀÊ’Ú[·p¦$èÕÂjôú¤³‡âÁÄ[RÐo¥\„¢ììCæ•{m$R– H»êTo͵“ëooYû¡S7¨òé®áÝê€9ÛAÝÿJA§Ë^¤ìº:½õ½ƒÈû¦Ö¢8Áºô"Iz„>3œ9ôz»zâ””µò»zßÍ4Œ BÐ wu¬L¡÷€ ÷áà>Œ zp¦Ð{@Ð{ˆppF‚ JmA¯üÝž¡ÿ°Oïþ7é=†dz®}¹ýå´Éж¶´ŒXØËÁñ/èC$h¡ èt/®}UÝZ4´Z×k0= ‚šA^(:ÝK„k_A÷L‚ ƒ¦4tbòù…¥ùôwõ »*—;ÆR[îTfD&U½y®pf–”¼S€óþÅsž¶l{:ñ|säÄø>D™“ò]§3W³ÏìüÈvhŠHÐMõÊáà‘[Éw_‹Œ;¡Ë›k¯, m!Ù=DØKÝ!kàH‚nØèd¤Kl}±ÝyG—«Çk&†F#AÏÛr±ÍŸ¨&Rç÷ 冀+eµv $3J>j[´ ¤‡)%L”xå*2SÒgé³éªüL»ÿunÁ†šµ1±˜ÒSGÙ‘®.ÌÏ_ɣ͖Oq™ ÓõŠ<(T`ásdÏK-kQE›%_µKª!MM*)›UÐËj)ô±Âèƒ\í*2SÓp£ÒUa ÎË@Ø4¿G½¤˜ÓÞ ð¶ÉŠÏ'E‹ÿ†¯ZJctk½"§±ÐªÙÛ,­/¥D8#ä+˜IiA×j yÕGɯ'Vlsæ-/i–þFè΂î8]i4‘ýªû]L¿JÐí®zz¦¥WàH¿E.ÚØ*-ãÒvaœ¾}!·™‘ ºû}˜‚^·5ôìÑ‘uc‚ÎGèEšÍF莗:'†F³wèÆ·lëUƒôh}&$_T©Õ²þ;tJ ª.Wuö]š((µ›X¹§¼=Ÿq¸™ »¿C  7¨E5]j°âÃdðtLõº¹¶ˆ)H}ˆíÍuº|±»ËE%††(èçÏ¿s¾Þ*wë;h[X5ß®fdx[W&å¾ÊL*™j0LÅ«®ö¾Ê=ó->]1L‰hëB×+½Œ1 zUîÃôµÈQÐÅf²^Ô·èlø ¦©ëÐ;™r¨N÷!k˽^.™v«ÜG‹.è&úö­Y·eg[y ‚ûÐC£të„ä S‹†·&ÁôXê–IÅã ˆzp èt/î?Ó‘}ýÜ5˜-k‹ðúƒ^t×éå%â ¼ kDÙ¤Ð*}<@Ð{ˆp¯9fÍvØAkÌÖµ%]ÆÀ­I:-/ï()á}ò@Ð{ô‘2ú"˜TAÎzzîÃh@0Á@ g ½½‡÷a4 ˜` ¸ :;Ñ‚zðgªà>ôPFŒÐ»ŽppF‚  =8Sè= è=D8¸£Á‚œ)ôô"܇р`‚AÎzzîÃh@0Á@‘}ãízï· ¸=”‚Þu„ƒû0L0PA7]Rù+ICÿÑ­ÞýŸBïAï!ÂÁ} mƒöÚ‡Þƒøô!´PSèŠ!è=D8¸£‚ =x¡¦ÐCÐ{ˆppF ”f‚Nì=¿°4Ÿþ¿¼rqf¶'ïºa[^ʌȤª÷CÎÌ’v„9\½q‡û¡»oÕ]Q"Cp‚V³X]‹çÇ€ç;G'ßcÕµ¨ªn›8hÚ3=Öº×*˜RYªjˆtIí Í;¹\=^3)04 zÞ¡»ï¥ÕöžÌt¼Ü§o¥¬6Âæ}bFÉçBm‹Ä’Ê?Ëž¨W‘™’>KŸMWågÚý¯s *‹L•ˆ.»·8÷UÍbt±Z Ÿùö‘N®ës©E¶ºAVìʃrc³îµ ¦xßåÂj5D@êCÈvš]’nvÖÝå"’C£‘ ÷ýÀò|ZIăRµ×ݦx9é›ÜRX}K:^2Í„¼!¯"35%ew•l¿­ok‘¥ƒÖ²»Ç¹¯j“ ‹÷ÝZo‹€KÅY‰p,S£¹Wì µ2-²º×*˜RYè°5Dž¥TÚ©´‰¼=Â-/7tN vïГ֪ê YE•”Í*èeµ$„ÌØ/iW‘™Ò£rW…)8­«ox \‹\ýˆ"ާÜâÜW5‹IЭ÷ ¸|ß#ËÔ¨Eµ*¶~°2h‘Õ½6ÁL$tª†è'PíT’QòáÐ×å"Í’CÃßÝYÐõBR92m8BÓ¯t»«žži½ŽÐɧð MÐíw!Ʈϡ9× ûhÝEÐcª{­‚ÙѽH³ÙÝñrãAç¤ÀÐhö]}3î.èRghíÉUjµ¬ÿ”?zúÝåªØÞ¡k*_羪٠] ¸ð.8ηµÈZ7ê5á¬î¥Kæb¯{­‚©¾C·4I*Vä›ë4€Ý].Ò()04Ú­r·¾ƒ¶õœsqRFÔê5))÷UîdRÉTƒa*^u5êUîtpÂÏyMÐõ€g5$y^‰ð½°K-²× ×UîÂÁti4ñž"ªº×*˜dY MR~;£÷!k˽^.™v«ÜGKmAïfã_O£æžoÍù–ˆ,c,‚^É0^Q‹@³`’xŒpˤâñļ9ËÛ ôÞoÍù–ˆ,#½ëÚÿ¨èVÐ…×7ô¢»N/ï()„ èÊm‚(›Z… µDd!è]GxÐþGE×#ôt·&é´¼¼£¤@ „ôÉ3…í’ “ÑÁ zp¦Ð{@Ð{ˆppF‚  =8Sè= è=D8¸£ÁÅ]ÐÙ™ˆŒÐƒ?S÷¡‡2b„Þu„ƒû0L0P èÁ™BïAï!ÂÁ} &(ôàL¡÷€ ÷áà>Œ zp¦Ð{@Ð{ˆppF‚  =8Sè= è=D8¸£Á¥¶ WþJÒШªwÿM½Gö#N£ø=ÆH}èuUŽppFCÛ`†ý…öÕjPQÐ76Þ¶Á/em Z¨²÷0îA9x è=D8ÆBEåLƒ`)54‚¼PtW<®8CÐ{ˆpŒ…ŠÊ™Á Rj:hJ3A'v[ž_XšOáß°¯t¶'ïºa[^ʌȤjíž%%ìs¸z3âÎöCgCrqc! ›óYÀÅ"Ñ‹š¸½Øzq¡ÁÆÓqnöMÔ"Õ[cQ+L“F”†1Wb‹+ª3¦Ýçí-:d0 ·Ûé’úõª‹ËÕã5“C£‘ óÖ*ì¾—k{q0ÓñrŸ>a&Yؼ@Ì(ù\ô E Jº‹ì³ì‰z™)é³ôÙtU~¦Ýÿ:·`CÍZqƒ.¦à¼gás4ïß#ô²VðU ö{-žYÔ%ªÚ„¦úÅ\yl¦Y#R+ªYÄ×Õ^BHÁ­sè-˜äí¦ã#PÝxõzÕÅå"’C£‘ ÷ýÀò|1„”žÿ•ÚR”T&¿œôMn)¬¾%Ý™fBÞW‘™š’²»J¶ßÖ·`cÝìFe1mŸ#’›H=ò®¸ê^kg¦é1©º9Õ|kËuoDbE­tAÄ;‡Þ‚IÞn2>ê ÆÆK׫..7tN vïГF—ë¬U‰ÄžS6« —ÕRôÊÎJ»ŠÌ´²«1¹*LÁ© ¹é- Š\ý\au^ `ðj£ '=›ñ^kgæ}à°½AÍoÖˆÖ¥¦Qg„nõ6h0éÛMƇ<¡òA‘\ûêër‘fI¡áo„î,èŽý¡q„N –û]L¿JÐí®zz¦m:B‡ 7ôâ¶ZïµvæÐGèg‰*GÍõQqU­ºÕÛ°Áìh„®×«..7tN fïÐÕ7ãî‚.=ZŸ ùÓ>ñ]¬–õß¡»}¦Úå*ïïÐI7ÈbBЛ:¯!<žô;têá0]6F¾C¥¤kQ­:,µÜúHxë]¾UÉB—ÆÓü¼ª~LòvÓñ¨n¼z½êâr‘FI¡Ñn•»õ´­ßp˜R“22,C*“r_åN&•L5&$UW;[åîâ†5à–Ï¡‰HÐ×+W¹ ·ux«ÜåZDzë6jn܈Òp­äoÀ%gж“Æ“˜Þ$¶ÍV¹—Cu{ã5Ô+¯—K¦Ç*÷ÑR[Ð{£™Ťbî· ¸=”1"Ao@ôõÊg-о°ƒé1>-“ŠÇôà@Ð#ta9Úµpb„½¥6ÀFÔk0[Ƨe½òX-Uà á]› Ê&…V!èãa‚^üœ~b±W*zÁlŸ–õÊcµP .H›³lœµÜÕ±AVÐÄè ˆ`P =8Sè= è=D8¸£Á‚œ)ôô"܇р`‚â.èìLD‹£ Ï`0 ƒEot ƒÁF`t ƒÁF`t ƒÁF`t ƒÁF`t ƒÁF`t ƒÁF`t ƒÁF`‰ ¯¿e!´ƒ0 ƒÁª ‚ƒÁ`0Ø ‚ƒÁ`0Ø ‚ƒÁ`0Ø ‚ƒÁ`0Ø ‚ƒÁ`0جRÐqÖ ·‹µ5¯¾ðX:l¬¿cåÍ«î¯rFY:Äð(+¹_¯<᳄.K@Ð!èôÄp:ÝgÌýzå º:‚Þ€A‡ ûŒ¹_¯<A·A‡ CÐcÀ!ètŸ1÷ë•' èV ètzb 8‚î3æ~½òÝJ¥ ÷Û7 r˜ Û?ô2| ƒÁ`ÕV)èˆ:0 èÀ€ #‚Œ:0 èÀ€ #‚Œ:0 èÀ€ #‚Œ:0 èÀ€ #‚Œ:0¼úÚâçæ2–V{ñüðó‹O6»öÈöíssÛ—7̱áå|õNùùíÇ¥Òƒ=Ý¡i-èÇ—ç¿87ÿÀ‘ôŸ}‰Ý“Kìá¡WAo•cç/]8‚S¢­ ›TC<^È <²‹wÎ'cùíË«ò?Ÿå'H#}žÎöüxòä>B”ÿ,3M•Z›(ÐÒ”]ÏQ>˜ª¤”ãšýrÂa:JƒPªÂsw®%ŸË$±8ºâ K‹<ÂOJ'ðLÓ?ÍEñ4 CZ ºq´kôR…©òyã2ÙôÚ¹r®›§I T…ËÓWå‚’f™8™£pP(E™cÅå¤Ã” +é¨i&²À AVàByéº:㤥 §R‡–2–:×Êõ³Ê?õsò'2³ +ÎiÊNýU.!èò™ù ´ÃTôÒ3¹Ÿ¿si¾~!÷Õ||­ ºùÊ)wL¿ÀØé„nô/JõÑö*9';2MY‘•']~˜©/èézö‘æ›}æSÂó 9B—r/#it³'O€wè.#t{:UKÔŠf2MÃ[ý«œf#t.ÊâØ<ý¬NìÛ=ÏÝm„A€ÓÁ*÷ò­±ú†×*èÙ˜T#wA5«¸ŠJS}y­ä¨Trty‡®:l}ìQ +÷„×÷Mß¡CÐ`"øøº°úZ­âËéùì*A_×——U)O\~}/L¹«Ï ÂAÓ*wò’ⱡÈq™¾\,» º´¾]ü,E•€_.\[å.G‚S¿Œ:0 èÀ€ #‚Œ:0 èÀ€ #‚Œ:0 èÀ€ #‚Œ:0 èÀ€ #‚Œ:0 èÀ€ #‚ŒúH8|ÓüüMGú¹ @|xôù9n kÑõ…™+miµµŸ +þäIæÊD’R\¹|˜_Y2…¨M¾µ®õ]RÁñ9Bo¯¤ K²èCÓ»ó_¦î#Û¯œŸ¿2óÜ剢kç!è0::ôôÃò¢0¬NŽ,,Í+G¥N>XÎO˜ß~@MSÏ";7ù2ÑÌ/æç³pžÝöŸ…5ž‚î˜ûâ‚–K*Íz¹Ö•Ñ·ÄÚbv|mqamu!+Tþ¡t8»\.¾RÀÃB”˜óddJª–ÀéJÐ uX]˜ãZ¨;R«~¡e„žÀç«…YëB ó#‰z¦šUÊ“èOy¾ìáFòHÀ¯JÄwq…(׺MГy¢Ý–ÓÔÒó×5ÝdI±Ä¥Â’Ô·ôPðY¿ÐZR½DHw#tI¬%]f¢såòj A—_¬Ïe/Œ^Mãz‹?‡57ÔÙ~ÃCˆ= ü1 ÑköŒÁŸ4'õÁµ:ÊÎ HfG–Ëv¡¡¤î%+t"5‘\Ö#tþø±ºó–gãti\¯¿úÁÆ¥\ú…t-½œ„/׌ Ó×Ú;bIøü°0ÕœŸ¶”½vgC`¦YÚ”{¥?bî–)wò!Ä0徑¾FŸŸ/g¼ÙçìMºU|¢€”Úæ]&b½ÐXRK†A'_[«˜ t\Y„–¾bžSÅ• º©ÎW—KàJÅÌðEq•þ”¹[ÅÕôR¬óÔ µ]Ë—¢ÑÅW hRÛ䵸ÉçüB—’®CÐ`ØôôÃ2±‰Elþ ¤ÚA9Ó))Lüô+0 èÀ€ #‚Œ:0 èÀ€ #‚îDËos7»_!‘0‘ªè^̉ ‰º¶;›óµÛÁÔI¤îÉè4@(òŸNLÙÅ€ãX9•tÈsÂÕs§= IÑ6A”LEÐ[¶>:˜ é& âÏþ›•®n:䙽±L£m‚(™¬ [ÃÌ•;Š.,¥ìK«Éfms|#i„.nâ&lEjÚœ…ÜñÜi–Ýz–u±sÊò¢øW:gy^«Ïiý—ªbÙ.” \p€HGowb…—ö$666¢rˤÔ7öÏz-”tËæŒš3eq ï ¦"è–)÷Õ…lR‘·úd’0ÿP´å¢Eó“Åæî¢ÜÉ´Ü5ϺÜô­Ü\UÝÓMÜ­Øù€ŽQ·0^§ª¢¥——Xßm‰-(«ÛZ·¶lj,>KÔi¡ô”»QÐ5g„2çè‘©º®†¦ýI•jÏúœµÅê!³uÏVý0 0m+:Œ` Ð…Ô8²ë—(Ié#n}ü«7Rm‰ßZ¨% ²°‚Ä×[“@—LTÐŇv}VÍ&è¼£†.™šVÖAÐA|,éãÙ‚®þ3¿Viwä‡qbÊUеPK6A/J YQ0]AÏ$wu#’÷}å?MSîÙñ, qÊNs£ì»Šy<:AÅ¢8S»ÐÞ ÙÓÉ…89¯5ñ©À2åN<®;µP£ çnËÊڢß´”åB/ g&*èéc¼¸ö¬† +×Ü]ßÙɲX§æù©7ûÜ·òªu:èaéšöµ5¥]˜–¦éèí.=-«ðÒ¢¸|B^üâ›Úˆ´çÞ ×jzÎ/ÜV;µEó±yî|è»ÀDÝ'×§A¦Á é³‹Ü\ÎD³“‚^—Å6®@ÐÁ é¾#z÷—Ô>[(ƒ‚Œ:0 èÀ€ #‚Œ:0 èÀ€ :?³€À‚~ ü þL«éWÖíJ¤ÿ {§Ê5Pe4mö&ОŠ-]I.YXš×vdëˆjâ@ÝÝA´‡Øn,Õåü·[“Ÿc-‡–Lµ…ãò%GŠŸm×vK™+·ÎRXZ=°Ï=QÿI¥ot"Æ‚qA·Å#è§Ïnxñò¾£;ta×3ï1|êÂOnÜ÷Ä»kûÎ3îÝsaå'çïÚ½qìôEwÏÁ𴚸8?è‚!A·Å#èLÍÿæõ÷vúýŸþM¢ìŒgŽo=õüå}Ï]Þst“±ûÈÖ#‡¶v>uéþ½ëá1h½#œ/Ôsò¸ØS¦zúÆ 0q èã¶xÍ™š}iëÀ —™Žs)ß{tk÷á­Ý‡˜šÿø™DÐÙ°ÝÝsú¸-AìÐ>6ßÿüÓqΞÛLÄôÔå&è;ŸÄj@Ð}L¸ ´k[6 µm!#Å_™]½ãDתAÐ`"xtA¬­ß¹h—K!@L°¹ŸØq5%éÅß'jñú®gÞK^šO_šÙ,`"þÀþ-Æýû7ù:4À» /Wn¬àUÐK½fŠN Á!è= æ¶mWó‰äYÉ4ân>uÍùðü—?ñïø©9Óq;²–j:‚ ð.èG¶_™}wru ÷¨úúdÅÆ „ ÓÚ]N¹Oq½ ó€%ñË?´‹à}O¼Ë|ßÑËL»9Úd¬>µYᚎEqÐÿïÐó’²íô?Ù~àÈucgA/¬µ ÓZŒÐÓhéšZ!芦Ÿ™²CР1,Šãº|`y^Pgý'˜÷0à<å®KÔ´,A_Ûw¾xo.êx¡æû7ïSîÀ™€?NnùxBÐÅ*÷µÅt3‚bGcr_—=ÌØʼnËãvmË>ÖÌÞâôîy7ùʹ@¡æÚ|ðP&è÷î¿t/~XfJˆñM6ôìGÐÉô-¿@ @:ùÚZ²pÞ6Mû”Û"äÇël¬`ûÚš¨ÝÙz.kºjñúÝ?y÷‘C[»”‡ó­Ûùä@¹òG›*Ô'ÕíSî˜~½A·Å#èýðÆÚïj3ùqלûŸN–µß“r÷—˜šÏ…ì~ÇÝs0tÕKÇ×-½Ž†&cóU>*O'ÛWÓqº¾Ž—üàþWú‚>n‹GПé½µÇÏÝ·÷û÷®°®ì9ϹgÏ›35î¥wÝ=CGz‡N.—¥³"Ó\ùœ kùŸ–æ¯ÌÿjaiqA™óÏ×ëŠïÙµ¬Å¿BÐAP èã¶x½®AÐ'¼6C®.—%U2ý* qŽóÂÚ”RÅWÞê:^á`¢þJÖâ_…#tÐ?ÃtàÈp㼚À€¨ @‚Œ:0 èÀ€ #‚Œ:0 èÀ€ @ô߂ïà@Ð ÈaµbG3¤ òŸW5 Òûæ,ôЄöâEp–æµÍ΂AC‚h‚¬bËù†&Ù¤‰.+G”]K,ç'¨CòÕ…¹b_òôªb»–9¾—ŠþÒj–N¶ÉZ¹9‹ðT`ØœEØÏ…Ï3¤›¨êÙ)®ªû¿M7g‘Bü6)A4AÞà,¯r Ta3r—óuÛ;èµEí1`=Oi}‘~’xþ!Û>5 ¹G :?9Ù}1Ý }ï®e'¹*ìÐJŽÐ•P¿M`J@ÐM u™–„8Ý¢tµž «é(ƒbÓ\·xšÃûýµÅDè×Óç þœPÈ·¾«©°• /¦#èÁ7 =ÁÛQI§‚ÎÎÛ ™–ߪ[½Ž†&Y¬òQy:Ù¾ºM Ìi/ñ!è`LJÐg0Øm‚^NÂgãåä µúòZK3!™Üž“SË®5*©0.¦i˜rgZš¿’¿Á?²}aiq!A/g'¹š>Ÿ6ü‚‚A‡Áú·³gNmm]r?ÿÍ7OÍ"ôòkk¤ kóÞÅJ3¾rŒŸ¿¶H-Š+rÉ_C¯åË̲k-Ccr¶Ü$è‚:‹¯¼ÕìW“÷†¿ G è  è0XÿÆý÷Â…sçÞ8{ö¦×o¼ñÒ믟|õÕŒW^yqúôñ—_~n}ý,;óÔ©çg‘ º h!€ Ã`ýt¦æ.¬Ÿ?Ž©ö;ïœ9wîÍ”7Þ~ûõ·Þz-ú—™¬³3Oœ88ƒ ¬@Ða°þ :“l¦æoçjžI9Wó3gN‚~ôèÞÙ€: Ö¿qAóÍSùØ<‘rNªã§r^~啨™‡=2ƒ ¬@Ða°þ ú믟§Ù{÷>Âu¼€ úÓOÿxAX Ã`ý› èoˆjÎa:þÆ/ñÿrAß¿ç ‚°A‡Áú7.课z‚é8×ôBÍ9LÊ9\П|ò`‚ƒõo\ЙX+có3gN‹šÎ†ð|QP ë߸ 3±~ë­× Ï¿ªvª8’ ú±Y"èIí… ,@Ða°þ-ôcLÁ¹¦s5çß=g:ÎÕüµ×^œŠ ÇÿÕu_Æ_Ò8é!nÿ5t¬ã‚~êÔógΜæ:Îáß=ç“íLÍ_}õÿ¸þ]Þ¶Ìø[èÞ:@)©r‡ñòg\‹Ÿ‡íËV2JÚA$û‰Æ ²~Ø©þ å.˜ Ã`ý[!èL¾™ˆð߀-ý•W^xùåçfAÝ¥gëJÐ;H¿½cô°~ÖÎZø¡~ö™oŒmé<A‡Áú7.è'O>Ë„›CÌű9ÿ9÷—^:: ±(Nëْ̲aN¶ÝI9ŽNŽ—£¡+‹=Ë–ËÝ[–óOønhÅ^-âùV™K²ËwR+¶d]Xš—’UÝ(½¥Šiô¹HP(cºñŠR !ónkÔfîÆ\ĤCªhe ÕŒ Î( òýì 7ôЩˆ~®4¼ªÿ²?¦B %ÖXåˆ÷,¢‚ƒõo\Ðßyç ¤Ÿ>},çxñ™g05?wî væÁƒÏN¹K›„²^]Û.\ì<… ×Ä^=û,lj–ÁŽ°Ñ“Ë¸•Ÿ)^"î•–8 ¹±nt›Ï…Ÿ².Ë-wkM$@)…¾£«K.JñçDÑԽ͎¬-ò²W9#%(> Qé“CÙ·ÁíJ'ú¯øãPCÊ|é ³]óʱ¹ÿ,b‚ƒõoLÐÙðÜñäŸýlÿÛ§’]:¹»Jû¥ÎÑ{ªZ.Q¶P/PfÁ:êlD)mžž7ìetñÙqÛw.O•çGˆ’RqS‹Æ›”bº;#æå:5æmn‡ÙÝ%eÏÜÊš#·»%õÚWÑA‡Áú7&èëëgŸ}vÏ“O>°wïêîÝw?öØ]?xüñ•gžÙuþü¹H÷´ ë]¥EÐÅÑœ®5d")©väã>RAêt¼N>·tqF¢¥ ÓEËe±½ ×_5áãvPþ¯Ëó*¢óŽ5‡È¥ë,¢‚ƒõo‰ Ÿ{sƒ±~öüÆ[ïžûÂ…õ‹ïm\¼xasó½ÍÍ‹ŒË—/½ÿþ&‡OчtÞu kÊYSaby=ÿ“]Ðó#ɨßYÐùЩ|•/Nÿ*óÛÒ%¦)wŸ‹2Z§ÓËYî|È™•K —EÐű*-‘ª·KÙ“ âàŒ” >åî0«,úÙüvd¥“ý—ý1ÕÊš#F¯˜lÏÎñ”EÄ@Ða°þm‚.M–Jz‘¿!M>ó×”ò¢8m–’ú¼–¯ ã‹Í\]yƒ¯Oç*n¬ÛÝÑ笌ÜOå¯e ‚tÎÉçó)_Ç\²Hê‚®­\ß%,V´:cNP^7§®s(ýl~;Ô%yšÿ‰?¦RQsÊôÅ/?N6Ï"b è0Xÿ¿ GŠ>ƒÜ¥Zλ|yj@ úvŒ: Ö¿AЛ‘­¿âÿˆ‚ýø¿ô$SŽ ÕqîoǸ Ã`ýà: Ö¿AÐÞ /è}MÔ@Ðañà¿‚.übžáÇðíßWí:,ƒ ¼ãQÐóï]òX^t“i:lzAxÇ£ /é_ö´ü „öýDóïáç_“LÒ©ÚMÀüS:,ƒ ¼ãQÐ~ºPû…%b„®ÿ~ömG‡Ý è°!à=ÿ}ò7‘*~üP³ÛˆX9ßá;žtX<AW õ-æâgÜðj0|ºšr7 ·åxå/ë‚^§ BÐañØP}Þþ´ìQ…µŸWŒ^dÛ–ü‡Ök¿ b¥«Eq¥L“»”è¿~Oü>ùÓú57b€ Ãⱡz…xu%è¤oÊ”üÕô61 ]m͸;@>ÓUla`û=|jZžÞM‚‚ OЉEªå8ZÞœEYÔšm[©,p%ÁZ]|ž/vç\Xš—’­µPVúiÓªÍVòåRê· ÿÃ2}A‡Åcƒtu‘ª(¸Ú Uñ|òÚ‚bl彨ܤ\7›+u¶\½…²Êã ±ªî§îÑA‡Áú·A :9c¦¯h+Gå–íSm‹`õÜ32½Îö‘þšÙ7j•Nñ³˜×Gñt%t¬¡ [~²î"X2‘”TÊóa8)赤¶RÐu?ÉÂt¬ g£`m…j¥ [Á’‰GŠ—×â_³™üz e«§Üu?¥Rt¬Š ÏWM¡óµ¬ò¢8ÃïHÈŸm‹` ˆƒ–çÅÕnÚìz…²ÖwY‚ªŸJ©Cwkˆ@Ða°þm(‚âš:L} A‡Áú7z3²åpüŸtd è0XÿÆzkë’ûùo¾ ATA‡Áú7>â¾paãܹ7Ξ}…éõo¼ôúë'_}õã•W^`œ>}üå—Ÿ[_?ËΖs¼øÌŽ3˜šŸ;÷;óàÁ‡gt€: Ö¿1AgÃsÇ“ö³ýØ>P ëߘ ¯¯Ÿ}öÙ=O>ùÀÞ½«»wßýØcwiüàñÇWžyf×ùóç è€J è0ØP ‚°0)A`èoG€h™Ž #‚Œ:0 èÀ€ #‚Œ:0 èÀ€ #‚Œ:0 èÀ€ #‚Œ:0˜ `èüÿk”áÿ endstream endobj 313 0 obj 24591 endobj 315 0 obj <> stream xœµXMo¤F½Ï¯à¼³]Ý Bªø;Ø‚'ß‹`lîO¶>lS 7…³#ÆÐ~^gîºÌRÉÖ©®§öËŒ(ŸJ %æ>i}Ld$¤žžãú¢é7Ø—Dä(Sû’}l Œ+yפSˆÇÄq&ÿ_@$N›T ògzÐ µR䳯–é¥LXù|H)ÓFÉz¥,ë{”L% Š«óþÇE‹²_x*ù$ÿ7!„²™P z\ä=qÙ(/뀲âNDÖõ ºÐ¾®zæ_”Kþ.HÔ&Z‹ºÍzV>:ªq ;÷ÁÒÁ¹ÿˆ(𭙜4ƒ(–`¯‚P ²£­Ú~ÙW £6P¼åÈö—u{ι֛.Ûç~jý\ðIJ«)Õ]OŒd¡µwãšÔêGÖųmrUH[Çâï…°¤ÓìÐ-ay©þªZ’< endstream endobj 316 0 obj 1400 endobj 318 0 obj <> stream xœ™M7 †ïþs°Ž>g4€a Îf‹è!í==µM‹`·EsÉß/ER"ekäA³ˆM{Å™Wä#Jœ5G;};ü;™éÁ€¹¸üC~ýúÇôó›éïƒòÏ×?~60îõ__à? ƒwpQV~§q/Ó_‡ÏoàÒô5 Ê?¿½Þ~ÿ¦Ç¦OðëzùËóaÛZwôÓóïÓÛ'°ÃôüùdìùùËáÃóá Í?2<,Ë1•ñ¬Ï¿œŒ;û“]ÎödV|µç—¿ÎvȯîÚOç2ÄÎgw²4"žüÉà¿ðø^¤gó°‡(ãʽÜoOæ1i¯åK(©ó׺ò •v·Âmé:üŠ÷B¥äcަ_’çrþõùc/pÑÅ£›¬ *Ô3…Îã¬]8¯§Î3„Ѭt»‚=Ë%Íq^“ñÓõ;Ü"„å¦Õ,~™K6 4­ `G›0×bãêør`z´lŸ<äº+ûñü0çÏ;›ì%GìA€ßàTàC oW™…Ð —M¤ÙyGæËD&éÌú[›¦U»š_·4«PëTYˆdÊÑÌW°ž5£e‹TduKcãvª+°I½!›rÌJ1Di2_æà¹wJEÀâá_Ö»¤€ï«±«0›JÀl*(M%LPݺÚ)ÿ‹ƒ!WÚ1É ^i~´K›d(e …Qnñf*ã:³h’òâÖFIî £˜QA¹˜5ÑJU,S!1§b¦).5û*ÍdâïÙe;ã=m+dXJ]ÖòǘW?ßò£rÀ¤På x§­ òšî]°)E|MFq¥!Ðê¡úäò­ñ†ÃÜçåR’/Kì8Ë"×6-øê;Zæ½i°p­: }B£¹êíåOzÕª'rÐ6)~ƒБŠ+¾¬òˬ\åT„ΦDêõÀåu°Øó±µqŒøv£É”Íi³JÙR›–¶˜Ó2ªˆÔñÆSsº°"­TÏ@|GÛЖ:Aö=O\Ž–»ƒÿlóbóÍ"»……k0ÙF± ¦¶irÕwiOø¤¼­–‚E[ÃUT­ø$u2žÚÆ!Åo€jOp.£Šp9$ޭƼ‚€Ê«Ê¼s¦2ªmf·úxuÆÜê ‹Ò@àÊébxK,êÓ”’Mš´V=ñÛÕ·ŸXÞY-–†aÅ)h^É&ÙÄ«¶yšÕwÀnw }vÝ;;Ün7.$NAÑ‹&‰&xµMCŠß6È]õ"PYûKŒ(Ìw.7TD'k›h®¾#‚½ÛØ×åXˆh`´oVØ Ì$UÌvtW²õtÄwsOê.˜÷0@0’| /ÛQN‡í䨸)ŸAîÉÇ#ŸÁžêÁ¬ît›g2d«wÁ[¶ä EU²®˜Üçå/º­^Âè„B„¸ùáó•õúáï›l“z4™Aú©Æ¶¥·"k‹í®ð[¶7ê&S¤¥jò›¤jì -Ú¢g3|Øwý I*ÙŒ²¯Ÿ _?r»t^LÀXx2z’zòâ;º31šc¡òfxôëˆí =—pXó¬í =צTf»—ƒ»lß9O¶h‡ÚmqÑLÒa5v(ÝY›h÷tß MƒûÏ:×$½—Î> stream xœµXK‹ãF¾ûWè¼`oWWK-Ø«1$·CKNI&!ì$d/ùû©W?$KöøÌôhÚ¥z|UýUõ¸4ÿîþi\³wô=¯màõûoÍOŸš¿vÐðçûï;ìɽïxýF?$F¿é•ꉫܷæÝÛ'R­Û*ÄŸ_ÞwŸxÍôwóJ_gõçë.’Yðl®¿6Ÿ/ôšëÛÑÁxýs÷rÝ½Š£ü)â!ÆCŸä==½}=:?â⸇£d…qïy›Ÿ¯þ$Ï—1‰@7ú#¨D;îñèd£• ” Q2—Û·E.Ùò/ä›jnb™¹.t¾—’c¸ô‹ Ö¾¿Œ!i/¡¯Ï´íβÇŸ¯?®ÁpÂmÆIpõ›¸:yÁÓZ¿ðõØ l+ÑôcrŸÐðì,-_Æ}Ǹ´âTÚÕ„¨²%ö‰ôyO"ömÙ€S%]mQ°CV6ÕÆCÖ©Þj’NÙGõ‹_¼ªWª,}àB'lÁ®(vÃC ’M‘}Ÿkpî:û ³â€x×Jz+@ ª¼_9^%Õ*xõ›NRׂܬ'8t%2Ÿ"ó!Ÿ7±SNTs¡²ÓQ ׉ö/,%À†¡¶çš]X±ø*"Úqñù°¹H&Ož¢¯¹D˜ª`âãïã„[(zjÜ|†­ d¸Ö¦ùØ<Á†+þV)¶"C£¿ ·Ù‰Ö2áØì$pÁiÕ Ø1ŸoI¡­EQÖå}÷¤@\úkÔÀ„nà,zC÷ ýÝŒr¨öƒ–ÖÊýAmø~x®6|߈)ɽÂOé|‹‹åpà ý**“DKk˜“TÎÅŒ¨&u„€l¥od$]¤6´•”ëBéÆÔljóà˜|‡©mx}ƒJÐ*fJrâœÓæ|!/¶ ñPkƒ¤ÍžÚÐ…V´ŠƒíN©#Y R;ïF£uæÙ1É22I… ÅÖ¨øï2"ènÈÖd!µwa•ë)X±? KX£ñ–£t2!xñqußDÞ‡öàkƒGSÿ ï0æyê<„ûSX2v÷ÀÂrVyt`ÁnèÆe>ÑÇù QéÝ™f>¥IAyàb3ãrþ™“œv°ÓŠ¥ùP¥:´ç¿Œ0cƒ³êÅh§Q”é\‘å}’†>Þàf#J=Ö#ÇÊ0Vˆ+Ó׿$Cœ8‹ãŒSûéYðRzí#އÎ=W2ÐöK6#"ÞŒÁ‰Ës~µ©JÀ˜jyº/`Ý’?>¬aì‰Á+çÿÇq Ç-NÌÀ2†Ó<"C@¬¢12qnòu_Š!r@K4"”4ÉÙ¢ˆÿÚÚÒ öb35 6éõ¨FdÐ+_Ô]°ŠD1%4ÿi&Jk²üT—Ñh×Ë”5L5¬ ™†{­fÌ÷!´]ž†2Ú8¹Sn†Ö… âµ~³…1ùRé_Á˜.Ò¥7 ÕºuYÃ&®¡§çlIɦËÝÅËð›.ÚïϽ?ôÏÐEÕàôÜLh¬ÁÓš6¡jè»i-Fœ‹»vJ*“öã–˜8$wˆü߉lc(TSwªX]]¶‡Ç<oÊ…{y©ÐhÚþ¾­ë€FQn%é*ÏNÁŽ+×ùlùµù.›À endstream endobj 322 0 obj 1244 endobj 324 0 obj <> stream xœ­XMã6 ½çWø¼ÀdEJ¶l 00IÆ@{ @EOÛN‹ÝKÿ~ER_–-;Á8žX&Å÷)JêÍ¿‡Õ<)wk‘®­¡ë?š_>5 ¡Ï?ºSnÜû®ßÝŸæ¾Ý+Ù}˸ïÍ×ÃÛ'gZ~–Aôùò~øüÓ»i®7¯îq4¾¬s xÔÍí÷æóäîMs{;)oß/·Ã+O”>i¸±ö؇ñèîÞ~=)õ ìø'5ðÆ'¤ŸéÞПù~ÃèF<ŒhÇ'}RüCË?hþÌÇ {jÓ¸à _ÜÈU{RW3·¥ö<¥01]΋æsM°À¡çYŸÝÏêÌ?Ûñ·ÛÏk0<¶完6Ž €Ý\qàïÞÍÜ, ™¥ óTÁ‚âÇe½ûаÃÑäŽ 8r1 Já[Šu3YnO’­toÝÌð kÊè~¡ RŠ!«‰È0äÑPĵPœª217I”x´3ÔK(‚ñeä°4.^6>vR¤¡Q¹ÿ‰qsÒzŒ®¬š.ø‰¸!kÄpŸgJÿ¿SgDW€e]Nc0 •颻0šMnâßiGï#øwxÄRrJA³ç9¨*к$Ï,­árÃ!PÐ' SnxN2æОê8RB‚µŽÕ0J´\á—3K(^›Õ&Òz(ÂÝCZ÷%Î’Á×:‡Ï†Ð]¶šôþº –ê¥<¢B6²¾äQMþ¢1oY3W_?!p• `Už£_*»þ5Ÿ5ä='Ï&^gÆ3àN }ˆÐÇuDá ½c{Âsª³–󬋴FP׺”™Ï)Šå%hœÆÖ³WVR·—X‡|…)ÕÜÆò\±d­÷ÅA1ì`Šý þ]˜’&dÞn²Tg­qfÖ×T)íª1RÈëáÌAÆ¥6}Uõa æòÄ®;Ú‡Àt:2%˜¼ ‡ ŒrAމ ”^¢ŒÇ†Luî¢R¥õ¬èNQ§RMZýôÀž‡¨VI´¦ÎóR°LòÿMä‹Ú½/r¾>‹e“"}^ïÛKç¹ó¬X-PÂÅ=£ë^&ë,b×;³)­›@dìS‘Ö—åÀdd1"/˜ÊÂzöÝÇÚJ0­çÑêÒ+vR:êߌE•´q¹ânÍOrJÔŠ]Rt´Û©+æ–P` £;BÁ‡2§˜—$˜g"]óÄ,@ˆz­L^P܆ñxI…†˜‘©×N´Ïd%ϱõÜ¥t#üµÍrêì•í É*—sC¯yñœË&;³Pí·+Õ;k*ª­y½ì—f°¦€gY«C-O̺Š2ZØõ¾‰3TÉ,ÿO1V™å°êìšÖ5žÙ|ÖøÅÔc ½Å ZΔßAhx-:[B™œ²õV¼~˜ÌÝríƒ= ˜a¹Í.Ÿ“îøö깪÷ææW«ñs±v­"°]üvåØ×C¾T¶±/ÍáÅç=1©s S¾ÂØö˜T÷Ò ‹x%cíó6QØ=v8Ø.×]št$ÏÎ^ß¼šíÒ%É“ì®5A3¶>ÞFÞ–«\¶Ç㸇 ÂǶ÷ `¹½ï|±’_Üç^ô::kÉlV7úRQf[ŸÐ6F¨fE);x:w‰odç.)Ÿ<ŒiS/{Ù¬›‘ݯœ±d'*YÛ¬Oós‚Ó@¼Å×ÁgБ¶ìðÀ–kÏzìîNjìÊ“¾[ë²/¿¤e#1’Ó*Ãr︆*‹žA^*'?.ëBßá»ÊŒ£¬,Á–N,Ù•5Ëáò¤ôe“ãö¡Lmqq6áÏr²IUk}‡ìýÓ·l;¼ì½p¹àû bðGFóÙ­ìðýê‘þœ¼ÍOD«gk5¶ÜêlqüæÊ‡MÄZjƒRÓohC¹Žh¿6ÿ?zo endstream endobj 325 0 obj 1473 endobj 327 0 obj <> stream xœ•VMkÜ0½ûWèXGI–Œ!^'ÐÞ =„žÚ¦¥$-Í¥¿ó![coì&,ëòhôæÍ›™µµ3«?ÆšƒÅezÆ@Ï—oæÓ•ùU9CŸ—ï•o,Ú=Wô|Â/šá/Q+ú»'ó£z¼Bײ-Fôùò\]xfümîñõì~8W ¯uP{sþj®ïpÌù±³®?ÿ¬nÏÕ=¥O1)Õíd¸z|è,ô¾s©?¸ÎùéúÐ6­=á†×wýdâš:'±?øÎòFä ÏìdiçÈì‹ÝtÜ"º*vv$›¥/o¡eH0¿ÆEjì·}˜<ðK×2ê·íÀÛ©ÿ|þøMÁ#O¾õõqÁS›¼Z> ‘‰å¨.9èL&r“E’¸³°Œë0FlyËn ;´M4˜° +ô:" 8òBHÈ´EtÊW–-NDsBœ[D¡–Ò«ç$‰<,$ “…ö|ÖXœLøLZP·¿¤"´ˆk…h\äÁÏBF £à™1a}hÍʆ’—ÂŽ 6âO³¢³ü/’ï)ã¹dÚ—Jú¥3aE<ÌÐVÜGŠÛ…º™ãæ^Æfuhëi]Ÿ`Ñ2nÉ\,zÄ*½£ò ô~ Æ€D4nÝ”°‰Ÿ(g9è¼gÏy,õD²4ŠâÃÑyq.gCèaÓ+K Ø-ŒþTà4èê•CÜ‹æÆF,B+ `GrÂ$´AU0‰×Šv·qË5+ p‚‘ÂÀ 6ÎM BSÃ{š„PÇUe`±Ï-æ” ŽD9ìè.÷éVׂssK!Ò“nɦ¹(7ÛƒìT´zŠx5ÒN5Ï‘ÍáìupnÝG¦žæJK“éG@÷ÓåÒ»’åðvFuî!3%<Ž%7å¡AvI&aœÌ£œ ™ø¤FÎ2 QåR'kRë>ÛÉS¯ÕYV¸t¦CÓ":Õµ÷óæ|sñ/GCdWZ jGߟ9»ÕTšJ‘ÏþÔûìé´žúÙ^4ž²=¨Ž/ÿiòÒ+¶$Í: Å°]*­_õ˜‡éôÆì~Kâu¥Ü›Îðh endstream endobj 328 0 obj 815 endobj 330 0 obj <> stream xœ•VMoÛ0 ½ûWø\ ©DI–⸶[;;m놡ݰ^ö÷GRÔGR;]QT‘eŠä{¤ž¬öºýÛüiU»S8õ@£³4¾|k?Ý´¿ÝÒßË÷Æt 힟ðÍð·T3úvOíæñ]ÇåhD_ž›Û϶·÷ø:»ŸNǰö¦=}moœÛöô8(=ž~6w§æž¥¿bn½ß÷Épöø0(Í ý¸Óƒ <êq´LsK#x¾ŒÉDw# :Z¸qgÅ Ž /°“s;Mf;WìR,¸Ã(”ÔL6羌‚žSJ‰™Ë¼(`•{ôÇÉŽ6†*=?~>}\£ÉäÉ‹£ðd€x…M^o€½=Ûð0虩òN”j0`hmQNÍxâËŽw8|Âtm^¤8 ‚© ¨x“é1²ŒNyC  ÙÎð‡Ò½š#aÊãÛ "*w‰)Ö!‰_šu%VͤLâ‚ÆŒ<‡sAÎ)í+5‰çDàϤ£Î8ò„$¹bcb„9•s|¥vûî'X颎%p¦X˜èxÖþUN”#–¹“Óeê» –ñœkä’mz´Ú\mUðïjTèBQ Ù65C+…ÖÕ(E†1w„£8çñ`Ê:~{ ªL ÷ÀðÝy Òq‘xˆì¥&ŸâcM"ó†us¹ŽCEhÕzÑÅ’ËIçz³€Qû°v(ħÍô(Z[žIwÐEcX‹˜6ë ±Euö.ÕAÔ%PÑ$™ŠÇ‰9é¥ý62ÐéUå0_¯¤våj8ò…Y¿ÐW-&¸0]\2µåNY¢ÊçMôzªâ…t¢rì¸"w…ˆþ‘;ÆøÚ%SŽ£û-îñ⻾m6K/ü;—j_ø?Ž6QÄê¶Ytí5Q^|”˜31K¾ ×ÐtäÚ1”Äû´›#.Ã|½ï´_ס<Ú÷uo“„¾v¸ÚuÆÜ€‹ÈËxUl)ØQV¶T%Ô“U¶hJ˜€oÕŒÎ:ý摲Æbe×ÀÕ)ÇOcªO–yµ#}ùüªË”¡É«MÛëW_|rüÊ%b}úðv²1b„ -éW$>éÄhÊݜ‘›Jt½½Æ\­Çƒ0&- QäqÊ­. à–ÍÿPcû=\R !‡±çL¼îF¼œ/:ð¾ýF•þ endstream endobj 331 0 obj 910 endobj 333 0 obj <> stream xœXKoã6¾ûWè¼€½>D Øq ´·zXôÔ6],6-º—þýΓ¤dˉ‹ ŠD83ß|ó`ܺ7ÿt®Û:¼Íž®)ÒõÇÝ/Ÿº¿6ÐÑÏ?7¡w(÷¶¡ëwüE1ü‹Ÿ4wôWä¾w_7¯ŸpkY!úùímóù§·Øþî^ðuÙþxÙdT ~ºËïÝç3ÞÇîò::˜.ß6Ï—Í J?U<æ¼Û›¼Ç»×/£óS!O[ÝÀW˜¶ž–é>ÒÕøþ<™ô“A$Ò´ £ã…Ä x“¹Ø6U9ÓåŸÑR•Fw"™ù^Áù=›d†…¥]¤°±]öc…gµŽ>óòôëåç[0Å€8…!“'\ý*®Ž?»~ö ,g‚:°\é}œ";Näû‰Ù 'F%ý”ÞÊ*°¿O*ò¤ŸœùÚ«’PäÑò@þ W¾øã€ã à}½æEþËèŸH'˜ñ°ž0qôõAŒÌhâèrœ¶ytû‰ ³b¡‡a—ªB( ÷“·EwãèŽÊ0ÃQðcNîY VŠÐgˆž7BŸé–D씺Jqå èÚ›^ÕÀÛù•95X,Å_aåZLHEø…åÇÅ*â˜*¶*F«ýÍ6t ÷C{¼>ê­ŠÔ`G'fä°{æ4w´Qõlþ­°ûQwX{ØSÜ«öÛ‘/ÈU4Î¥F]E“n,œ©ÄÊ>WA%^ ø5ôó [à>do{™QWñ-¦5ü$EßÃÜØk¥eV¯`©‘ô©)[I¤°ê ¶EËŽ$S)CWôÕÆ°3hA†Y %e$uùYìѯäy %ÎJ߼샘ÁB­ÒµH´.ŠÎ§’èM h¬Î…)j˜½»×#¯çQ`ÁMI)Ôj‰MÕ[JÀ©ê³ØÒ’0V†,ªÒ¼ÒXz´M>ÏU`AQܼK%ˆÍŽ(Ñþ~ ¥ƒg L©~Zʺ × 7y¿‡EÏ~§Éû½«Ó–6y¬7ž[²tXô¸çˆk½u2¤5§¶57ÃP­]¢d®Ïp”jb-©Ác„ GÖžl+¶C_ŠžU½2mÐè¡ï{Mu{$SÖ€LÁïb L,ÓO*ƒHÅL;.”PüveÛÞ{œ¿náMPk1p“ú³j¤/ ÍD£›e¡·¹Ê†¯Õ| ‹­|á™ÂÌêek{à žo˜C}ú6ù„­!<6’z ÍÕHº§0çv„R‘¡ä`ü ódš“V ÑV‰t#¦&“X3BÙu*µ;͙훒Üè±ä¨¥µJÍ> £%r©’w™Д_Êšwh“n6†W7À†v›7SaVÖ‡+©júà+§ƒÆ`1Õ÷íqbÕ+Åæn-XÚk#¦Iœf.> stream xœ•VKoÛ0 ¾ûWè< ®¨‡e†€xi€í ÀÃNÛºah7´—ýýñ!Y²4‚È2E‘ÉLt êoó¬´ÚiÜC«w´¾|WŸÞ©ß (ú¼ühl§Qï©¡õ¿¨†O¼Ríè)zêgóðM‹X”èóõ©¹ûðäÔá:áñl~:7Ý‚i­:SwGÜ;u~5Äó¯æþÜœ(}Šº ¡í³¾ÁÝÃçQ›hGq£x…¸3$¦½£ÕìyŒYºhF wvÔ,ð,°,`#K= µ/zÙ—¹GäÊú@:K[V›ž!e`v‹VØÅ;<&ttq¨à…øåüñRšœÅ<Ù¾+y5.çÉPžÄ£¹bb€¥ “MXNõžosf4£u1½ëa©îIà,ß1Lœ%>ôט°ÌÛ FÌãerHÔ~­~•KšÕ¡õ«$™2Œ‰-XEŽ_Cª+ä¢L'>l:ÇRur/ øtŠù¨Òîjk–YfutÙFJæÛWË%ÁÓ†uÅÉ•9¢EcÅ)ûÆVq´:¡Xv1”ã­¼§0]s¬|Œ>ç`¸ Ð ¶VÁÄ|yf8á„IÈ?ÍÇ‚9ÃóÜï‹«™Ø†Äçù•€MŠ´Ëç2¼!˦󸮂`Žìq±65²Ic Ë0&…¡ÐeÝ•´¾ç5M¿¥{¸ò\Z†ïé…öÕIa,Tõ ]c¬ÞŽ–}‰%G}©[æO)TÕáÌ*ÎmE[-b­D…R9zƒ4J`Á!aÖbêmÿÏÃ{ÝäÑÍì\Žž’ó!&!{èRËD±Ìk¾Ã;WUTæL‰DXñz ¶mÏS½g#»zŒÜ Ø¡uÿC°aÓÖüKƒQ¹Tñ™¿8TªÉ4%b§:C ½”|Ýï0OÜË]x;‰zØtuE¸yAqW7\¨^2 &I «Ùcæ!·±` ËhÞWQ¿R¡IW¿‰„žµ]©S:Êg17³«®ÁbFÍÀkzÔ³rÖaYÝ!«Œ“d{8ùïæ3I¼È‹¾O­íåÏãIýYÆJ“ endstream endobj 337 0 obj 811 endobj 338 0 obj <> stream xœí xU¾À§pU>½»¢€ÊcAÄ­ò¦BmH)´”R*PJ¥À–Ò ¼‹tÑÏõõm‘×ÊÅ»€ûy} ØõÊ‚ìêÝ«`kmKBÓ6ï´iÓwK÷æÌLf’4MBj2Éÿÿý¾tæÌ+gr~=dfÌ,9/—myû*s!dAÀÌ»H˜_ʧb*˜§ÔLŠŽ¾†¬62)æ)³Â@&Vð,3!Ì2sP“¬vl ƒ´xÄS4ä5FÇNhØ ˜eSbª˜¹jLYIŸkdf.Jøº‘wV ÕvÀºÆ›;oë¾ë÷„1¯uß÷NwØÛÝa»»§ï$Dì!ÌÚ×#t… ÇÉù |~þýûsBõ^{‚è&4ÀÊ™ 0ö½¼ýV@Þ~™–9]°¦ ðè7`ñ¹V@gŠ8A øBÏR iHµ€Dñ,UO€ú Ìî˜e ÌŒBA^&ò{&®’I¸’n˜u5p¹VSÿìv0šy¶³ÿæn€NëH'hâ€M]P}Ó5‘ %$³+È¡' Bí „d´÷Ko뿾±º%$µ‰YUÏ<ž.¯‡Y.%Õ̱¢š¼BJ¢‘kxC °¤Š‰ú™‰(³úsyªÜ trÓ Ôe°˜B\î²Þ’@ºA OWV›BV¡­ ±£eZB¢†Ĥ$TâT@Hl3¿ŒŒA CR aŸyÿ!KÁß„Ë"…‹9~[oEH\WCÖÿÓ@V`ô´UU±´jí.ƒ¦úz·›±öM•bö&â<‘´î8ÈMD~OÆœ{ðWÀÆY’+ÐèÑ{¦ÿU$hjRqÅ ½Ô8ÕÚºöŠ2Ó[ÏžOÕmJÔfÄjÖ*Õ«ŸP?­^õ8PµbP¹ôQBÂDUìø²9£ «--\ûz9övÂIfÜâï½:òWíÐ_ÁY‘¶:ö%Ä\¡=´_pB› œV^h CMZýÎÖÚrë>ÜmÞÿšé-Æ×³Œ¯¬7l_kx!Mÿ»Uúߥè·$ë6/ÕfÅiÖ?©N¥J /˜;æDÌD±ó÷ž¿so}ZÑd6â|¿9¶þC©§‚Å«ÖÄi#Áþ?´øÜ€ô^+ys+…Î,økØž^÷ñ>Ë‘ýæ÷ߨ޹ÍôÖfãk ¯¬×¿” ž_­n¥>'Y›½X“±@ýtTEò”Âùã?yôØ–øûà¿ìý%]cqå›b ¶Rh¿›v½­ f‡mfŸ×}þ€Ï B},o¥*&†ês–¹µ‡Þ©Ù³Ýôæ&㎠Ëkôÿ‘¢{6Y—½D»1^³>F³~>iQ§ÎªZ1]µô±ÂŽLFü…Î/øû›Yý£gr?²‚“/ü¤J¤0ø+:#£gë_Ÿ‹ƒ þ@¼F"ol÷W—½¸zçïªw½ò¶œ?GR6'ë6&hÖǪ×ÌU¯Š¬Z>½*y*¤7üÏg•‰aå ^øàgÓG'rþBÿü½ëkbôŒB2 ÿ7àÐ ã åÒ±/Õ)3U þ*O\ïî¾~ày"oN>¬Ò’“Ô»¿Ê/è°ÛõÏir.ÀDsI7Ÿ!y¨Wúü´#^!á¡æJýÕfÄš^Ï2½ù Ô¼‚b¬¼óÔ«fƒ¼•KÒ+?T¾øáŸcíü¥õ/ø )³Ù°ÃeÉzê¯êÏûo¶C`Pä;kßÛ§Ïùv|iëÐIZbeO&îk†õÎüaÙÛÐ=[Îó[Q+¾?ö¤"Qãl" œú«IŸ ½]Òl~)]ÿ\Š ªzu”zeDÕ²ÉVyÞW7Aÿàϱ>›6œó÷þIý+øÏšøÛLý }~ï¬xÚLájá•Õʬ¿ûBÈ׊0Pò¿I¬‰•œ‰6™b+ܪ­Cw„Fs)ŠG`+íA䄨߉¿úm©úÒÈkÎr]ÖAXèíZå½·2æžÊرª¸û‹ÜtÚÝÄßI¥Žý…V:t`A^èÕòþš­Ìe±Ћ›ÕÄß-èt[N²é€N´ð‚…üî‹'ç‚uÉ™}ÂlkYjáýýÖÁžk*çÊ¿03Âúš¸•¥BA¨…ct‚ÅDÒ•3õ9ÉdyëJèùj³4vKCŸzјª¿©Š½§bÑØâùcM¹“ó—VÁNAä©¥äJ%Rù¹ßX¾Ü¢²î©óÀ«–ëëšYy›¶Œ'Íéù®îî®fëßÚ÷«hKø#E’î,5q(ÛäûA|ÙÔ–oéjdQèóëV‚¿_Ùî!Eò–þ]èЃ¶]‚%g߸ÂÐõáè)_…&}¾5Îö@¾Çç%ñâMRHuLüMž¢Û¯ßœ¤6Y·)I›µ˜üŠcÝ1ä¯aÿNü]A~¸Œø{Ç»Ä_˜%þ9y´þ4GòŠý%R'´Á¬ò+êï{SÛxûÎ*Øë¡Ää«51©Í=l%ÙƒòdÛJß! ŸTÁù;©0Äî(þ¹( A(R‹‰D1c«R"4ë”ÚÌ…ÚqVy×?¡KŸ©O³Ž?âîÔ/¢ž7¸tÖ¯òº™ø©gfTZý…Š˜øË¶ÕYyIñüUêûetõßp}@f‡"³“íu^Úª4¬òkÞßåí¼‰G©ì4±ï˜ÈHáý=Ê.ouwöœí^î =ñoN‡.%Óåú%Ùö:ïo1cwñ=+D'6PrË猬\6Yö„fÝ“‚ªÚõstë"ukfèÓ&S²*<ÿ×Úè[.Δ÷Àâ/¨JÿÆêoŒŽ4žYyû¯nf^í_‘P}M.üÍÖœ•$ƒ¿ûCWu0P)Ò;™ÿjá‚kkÚBDäüÄ »¦Y#ò—[Ô}ö•sd‘tÌŸLüáº<.t<¬Ãû;¹8DzÄ`R;‚*r‡DçäVf)Û×f«ˆ¸jÅtP¸é›/‰¼éQÚôHíš]ÚT}j¸aÅcò½ÞrêAy«föM'+>¿¯ñw^-ñwª‘üŠƒk?W’»c-3Si‡W‘úAC¥­ÖÓÀœ®ÐœKâôAC÷‡¦u3™¦Ðûaú˜"£ êk&á·ôþÒÅ4Ñj’­`—Np°ëìPòï‚Ýö‘žv©Ÿtÿˆ?ÀÀ¿qD@šµ¼:óvhBW, «Z>M¡^¡N™¡I™¦I™¢]®[þ >i¬aÉ(hÃ4…Á_Ú~–úKæÆ¬2;èý²ˆ¼vþ:W8ÈñyÉAü{…55ž~êàóß=:ÞØüyãòçÞ[0oÌOsGÎY<çîâ'†”Ì\qkÉ´›Š'ýÛOCÎM`>9ÊÖßÁo‰ýe–× U°ðµ‘­Å›¹¹'y}~ÆÄOpØ^»¯Á\Rðeôø¸åÈÄ_vÛÇá·<ñ¶#áƒ? |4ìWyoùëÃ7(4o€¼ñýßrô^æÈÌQÆ¢üµ»,ŽüU þÒ×þ©©ˆ9‹)™h]ÛCß3­»ƒß÷¹@2–Åb)–7¯Ý[ßífhª;ÖæZ‹ê­ý_cÙ+¯¹Ëðùb­ª·Þ@O|‡Éõí!¶À懟úÃèk³¢°Jnå¾ô÷ü«‘‘¯æûÚP¹ø{&‡a”ÊùI6rÎøö=aø}xÅßHFiyÔ\Á_?Ù{þ–Pz®«ÌÉQ²þÂ4Ýì ÆpÞñסž²ò—ÈÂW Š“¸4k ¿Ž$ØzÓá§{%q}…=FŸø+©OçòÕsäO“EÜÜÌÜóÜš¹l­-ÝœM$±áIÌÿãLÆvô ‘tîtMÛCp)üt¯õ/'‘‘É-³¨ãÖzSh !©S­{²?ŠdÃA¸âo¨×Úχ7ž ëÞ‰ý¥16ÿ %ã°UI˜&Èšv‡pÑ_›ÚVl(¯ÐkçTd¿Ó°Ý)£T*Ñ_ —Ù¿—1#¹ä¯³úׯ#G¦ìünÛÓÎù’C¸Ö~VŠ›Í0Iz¤vþºÒšu³þ•lˆíg 7ã—ö×áš½ú+®@ïÜ;¶Õ_q¯—óHjtïuª‡ý_.x[qü ÃõpÅßëÿÒª“փи•¶–]÷—O!agÿìáZûY¨&…q`IÍi;~eïé ?s;Àï0Ü §ýß«ÌHoøk(Íc£¤ãWÒfpoíç<~8+2#­—ÊÝæ®ùë,°Šá¯áå‹EÕ/Ú‹á§þúúÀÀð<\ñ·×ñ+ù‚þbÈ:\»þýÅÀðÇ@}ý ``xxÿ ‘5Îüàþ"H ‚þ"ˆ|AD¾X¯ GDf°ßÿ¢¿"KÐ_‘/‚¿üý/‚*®ßãÈGïÉ‚îîn™¾sqˆ}‘öÀ__ÿÅï;ÇÀp7î/‚ þ~„ òýEù‚þ"ˆ|Áþ/‚ÈrÿÉ@¿ÿ‚*è/‚È—`ð×ç_#È â‚¿;~µ!ç@}ý ``x误? Ïýõõ'€áy ¿¾þ00<ô×ןäqKøüA 7Ã[þJŸšíøaÞÄÍçüö½¿7ôüPò°aþ¹¥øü_ ×Ãkþzæ_Á_Ñ£}ÅOòîéù¿ŸÒíáó»¹ÿZŸÎKk}"0†ãè3És´É üãwA™¶¯§É#¶Ù:4—<Ø—}º·õ¹½\õMÕ-zŒ¯dÖÁÓ~ùpûäbpóù¿œ@DFN$·Ì¢Ž[ëMñSÀ´Š­{²? >x£·è“ö³Õ,pêtn$ëŽX¢ciD7V=N1â;+ Aôøo>%/ƒ®,%G!ÿ%èˆÝ‡«Åû„£¸þün›ÚVl(¯ÐkçTd¿Ó°Ý)£T*Ñ_ —£OÛÏ´Æ´ÖÂÖuÀ;Z#ó)ÖjT¨L‰›Œ µÍ¬à¸d‚×¥vGì¥ý¬7›a’ôHíüu¥5ëfý+ÙÛÏnFßöI=벿Ž]ëÁb¯û+îõrIî½Nõ°ÿËo+Ž_a¸}é/m³ªž—ÚD[¶¶F miξ T|Ú?f;ÛcûÙÞ_ÚÏB5)ŒKjNÛñ+{Oohü™Û~„áfôÙ÷G"E½]QóØ®~¯À»ÉÍs¥³Nǯ<ð×Y`7Ã_ã—ûý†—¾±õ.NüU¿h/†ŸúëëOÃóÀßOúúÀÀð<Ð__ž‡S¯2#Ð_ ÿ ôAdM0û‹ ú‹ ò…}þú‹ ²ýEù"ø;ýE¹þ"ˆ|AD¾ ¿"_ìý=òÑ{‚ø?ÝÝÝLÄUfÄA±¿¾þ±†«aï¯Ï›‚¸ú‹ ò…ø;ýEY‚þ"ˆ|AD¾ ¿AW¬.ÿ±âê÷ª²ÿû(+9×wGìT^ûò¹ òü²÷ÏAøÐµÛö|46i33'0ûÒº?Ô« Ï/úØÀÿm(̉/>›8ßì—ë!GÏïùؾ> ¶ü¢¿ ”g¨‰ÎüXÖPÑyæÇ+¯ãå Ï/¹ÿþþ9p®4À:;;6®ׯ·77ÖC¾jkʃ<¿èo`õ|îí$Ú…Ö¦Æú:³òUgVy~ÑßÀ†–çÖÖ–ÖÖæÀ ¥¥©Áb®1jø<ùüÅûç$´<777²4MMõ–:“I_éÄ_¿ËoéîèèÝ¥}_öþ“Ñß@…/Ï´0Ô{—Ò½ÑÂãߢ÷‘D® ²+œÊ‚ôgNyù MMKѤ¯pêï ä—}Û\<ó¥wÞ¶ø´x5¿èo`×g(¤$x‘‹{£˜è]¹ÙãÙ¬ÂMwEÓD˜`¢ö^ôæ)uuµ£NåÔ_óK2ÅdâgOe[§oá´x;¿‚¿ÃJÑßÀƒ–g¡$x6jO‰(¥äÝèèwK„W›¥Þ£¡¡¶Ö¬7hùëi~Þíàm—ì‰âëcv)›Ç=Ù\RöIᄈRȰݤ¤ò+ºÿú€Ðò,”¯QL d±$ñ‹,fã ’òî.öÞ±¤Ô×›Í5:½¦Ü‰¿æÞÝÚÏßY,^NÛl(^Ÿ{Z<=!Îó‹þ6´< %Á{äe1‘»‹D)E¹ÑѹEôµ¾¦hw$“•çÕ#rX,Õ5Õúª=ͯ]¦h¾„Di§‰6;±IñR~ñù -ÏÐ,–/R´+’‰Ê-âf¡ä3Q» ,E¹Q\bÁ®(6Å«êꪫMm•3=Î/É“yœŸ=ž•yÜš#>Ë¢>¿$³YÇ…ý³!š­±ˆ7ñj~Yqü9`áË3÷ŸÜ»°¥‹¬ãl"WPé Tê|ï´®ÎTmRk«Êœúëy~Å™‚&¤ç¿PŠÊÚeõWš_˜Ÿ Ñ,c³‰Wó‹þ6´< %!¨­5˜ŒUšÊ+Nü žü þ GZžÙ’` jÍz£¾B]y‰-ÏAž_rý ûü_ô7 ¡å¹Ú¤5™4@5A+_ R˜/«®‘zÖ\äùE›ªkç‡Ä¾t濯,/Q]+ª¸V òÞyYá•‹Nœ> ùj°hƒ<¿èo`£©È_ûúÁù›v}pôxIÁ·r§¸àŸÅùÿÈ;yB™•›ñÖá¦FSçWðǯƒ¶^_|ï“»TæÛil4¶4›ƒ<¿8þØÔ/×Ö”7XtÍM5-͵­Íu­-}H{{sß!:P}[k}k‹¥¶æZçýEù‚þ"ˆ|!þâõ¿"OÐ_‘/è/‚ÈÁ_æÎ|Pø¶ÅjñÀEF‡0J ‚ ~ÈûÐß9‡%Y„Cü„[ê7÷3ÂMÜÝÃ7éÖÊN25âcÜ>i=ÐÓþÝ=n뻋 ‰×öãVÉìãד“ÿ™¸û?‰¿·¿G^‘!ÿY7w/ endstream endobj 339 0 obj 6178 endobj 341 0 obj <> stream xœ­VMk1½ï¯Ð9à4úZÁ²µchoC¡§¶i)IKréßï|H–vÛЉ¬hG3oÞ¼¯îúÓ½(­6·hõŽÖ×oêÓúÕEŸ×ï íž;ZŸðÍð¯4;ú»'õ£{¼A×r,FôùòÜÝ~xvj÷[ðñÉý|ì"†5Ð[uüªn÷¸wêø8j3v÷ÇîÀ@éSÍ]ŒýPìw£†ÉŽ&N3êÄ«™6@Ç´w´Âï÷S11a‚ш…Ÿ6vÔ|àùÀò;YÚ2ÛøjWbÁ=B P~Ô;²Yú²†T€Ù5. Ø`pŸÑÑÅÔÀ‹ÓçãÇ÷h‚Ôe‡Ôðä O@<‰#FsÆ’¼pÅ…IiK~4»p îD ÞåGAa–¸Ü1|jf9÷gÑ{óøù{_’­O½[]8§"øBìÓŠHÄù~Ê:ÁúqjøoÌZ`ä1“gËq-w)°áˆ*¢ÂO¨‹¹%W;S%}v›¥Iìö|e½…öC »*h¯$dóy”M–s½a¤nLÕò5ÉÆ"JNÂêk˜uÀö] r›™+^ZB‘`ÇߥíNí3a¡˜„ÏR 'Ð$épAà Ý¿!²’”*,W³õE#{±Á¥>þ‹2Á u fP^K!–2É9ïJÖ¥®8S ú¬³šÃ> stream xœí |ÕáÇh •ý·RA«`QAE´‚âĈ@0NÁP$@£¶ZÿèßVK9<þÁµÖE ElÑ(k[…#áLȹÙÍ}róoÞÌìÌìÌ^ÙÙÝ™ü~ŸïfßÎõÞÌ|óöí1<¯ 7v_‡qû ÜèC”1‡E’K¸”RîÁ .ÕÉþí0»šK­âtr3«èÄL‰i5„z`g¦»BŒöäQŸNúïX§0á&ÈC¡dl97ª‚B&èC'-UÍ Ïÿü_ßäþû[™ Èje^í<¿µË² Ýžäöß”ë^àoXÉø=?`?x %n=eø«†°'^NH`ÂpÎæ7ù_#¨ÕOˆ6;/:OË øZ#X¢ÖŽU»v\ÔÔ%ë"™SvlïßQˆfo^í†ø–¡,K@„ÆP>džd½Jæ=R¨|ÈÜ(ÄIè’yÀMká†äË‚åF|Ã%—q)G;Ì­!póëD¶2NtÊ3í@t"÷E•]Ó䲘‰%óÖ8µçø3ïÅâ˜!‚Z|MÚï®ïV*ØëßÖl…®`e©*¼ê>¸åT©UîQäëèºdaÆû/¯?¹ŒôW‰]Ï–Ö¼ü˪§ÒœK'W¦'9æ%V̾¯âᄊYÃå3‡ʦÜNI¹­$éÆÂ‘×ìO¹£áp>q,µ+쵟RµþèiîŠ÷éø½GjKÊD*kvvµ»0UÝÍöüÓˆ XOè@™¤Ö26 @ú¢µ+oøÓêÆ·×Õ¿ñBÍÊǪ_̨~nAÕ³óª~3ÇõëY®_§º›î\6¥2#Ù±àþŠ´á%“îuÝα·9ªÏŠ=Øþÿò,LPv_S«˜Nlì— ÿºÇt‡"Þ™íˆ,Ê`µv-ó „K[õìÜÆw_mÚúFýÆßÕ®y²æåeÕ/,®zn뙹ıUOÍv=ñ+kzeæDGú¸Š‡ãK§ß•?æÆ÷n¿œ~`€–@ûó¹K”;<_üº©‹üå,…c‰`•ï¯Ñ·Øt{°¿ÐÀ'*»&•SÁº²¦µ6l^Y·þÙš—–V¯H¯zúׯR¿œîÌœT¹x‚cÁXÇ‚1tÐ mxùÌÁ%SîÈ×oëWPÁÞ™Oa‚í»‚´GŒëÌœX»æ×µkCìzjïZ²lºsqŠcARÅ#£*f(Ÿ1¸|úݤ¼åï”MPœrÛ÷ãû0¸§¾`¶›öi‡äÓO ž3Ù4ìÓ­Åê·ÉJvÕ3ÍÊŽMÜyŽçÏe?E›õ2Ë©,?ª–˜ÃÞ¡;—ý„#k™8),UŸKkÒœñ–À~Lˆ–ئV…`+Ó“j^̨yi é»Êöì:ºbֽĮeSîËË&ÞR<ñÖï“ôˆˆ`IɽÂG¼& Z˜î¢‚}† ¶äo\rÅ ™®#Žy¶acò†Ød— Ø#÷x;f² M#U¾z’Ì—ûÛõtm=Ö?¶W^Jlé?ÆôùÄÇ  Ö1wTÕs èÈÀ3s]O¤Ê.­˜_ñP\ù´;ÝvCYr¿’ ý¿Oê÷Á=WSÁÞ}˜êô¦ýª¬,XöG‡ ¶–[~Š ¶k|a§‡kc®g°Nl§‡j ‰;Ï ‚}5vbY*fqæÛ1SU–‰ªÔÔKè²–?ÞcEl‚Xó a)•`½­BƒR°cÝ‚u=™æúÍúoÖ gÆ$Ù¨å3»íšt}ÙØkË’ú”$ßt`ÜMÞs•(ØA‡õ›\FQY÷U%Øã²]š²]Ê‘*X¡#* L¯Év*žÜ×D¿¥+!ØULî«òÃÓYôÙ&I°ÿÐYÃ'Š¥‚âœzNžß qfõ†À7r?v¬“i–Zô¡¡®¬éô£?ä\6½23űp<¯NÅ„*¸®|ÜÏË“®-} OÁ˜>ÛîºÒ-XÖ‰í÷ ,1-)U!t_«Åß+H«Y~¦Ä½¾ Ù/´vžß3ÿ¤`×ÖÇúÒƒ1¬åùZÚƒMiÈ.g/ö߉™êü‚©²‡0ª0à[å->ö6}*vd½b)Y°Ó®!ÕAìZüÑ×±=Vt}òyæ‹ßãØüdë©‹úÑãÉÚ öEÄ/U`E&Ô¨qPÁN¿Ë¹x‚kÙT×/§;—N­Ì˜H¿n0´lCÇÔþŽ”¾ŽäkI½I×”ï}ðþÞÛu§‚+ä;±¤Ûíe•`§‰v¥¿³ül±b ¶kWcg¶Æ¼p–X·ä­7ºöx/6­)ñ“ âÁ„V¡'ITù^ÌÔVI•»c¦j8Wª}>5µÉ`)Õwœ'Jߘ¼"vÈqŽ=õåG±#Å ºcãë¹ñûbÆGú7br“ɱôµÿ¤ŽGÇ:—Lr.âZ2Ù™9±rQ’¦ëœÜ×9±wåø«+“®.wõÁQWtûeT°Cʸ!%T°×¤=X"Økò©u‰`'K‚E˜+æ¹sL°± ÎN ÎvN?CˆÙrv Ÿ\Ñudy§Ù'w]ûZ씓’*ß™qRÔcßÏcfПùR’•'ÏF¶,¥Zƒ°ˆ:Ä«‹EÁÌã<¶P1­%XeÿÝšm¤âyàæŠ‡*Ž'juf¦TfLp{un›¸x¢É5©·+ù*gÒc®8t_÷üìwo)uì­…T°—¿BKRÁV3»RÁ>r†{þ<lב.`©uSÎÂÄOeÁž†ˆ*·Æ¤‘ôøEŒð ŠJ²ö˳àÒN,¥ZCâ'…ˆªÏ3 *;(¿ƒÇV@{ƒþh'Á¡Ð,õÛØ>å©qŽù‰•‹ÆW.NvÛuÁ}ιC]sÜŸ"¨J¾Ò5®{Åèn‡‡ÿxû-—ˆ‚%~¬,XÒ•¥‚†#˜]É+¶„¹tTM§…ç:/:OˆYtAù<òxb5y˜ø7&Ø×cgœ•TùaLš0Mõ¸‡¨’S# öCá)åRç$©îÑ®a9ÝþËÏb§Ðéb×ùDºì9I°œÇVÀ3ÈšÜJ¤R<²WÙ´;+æÜ瘿ìÒÊ#óG8âš3¨:õ·cÇü¤2áÒCCºn¿¹3ìèêRæØ_º;ÖIÇ»’×þ瞉yá‚âM.š’Ï.vɼ›éøBULûFì¬sÙUL•Ûbˆœß<%>IdøÈ™ ²¾“ŒJf{D!Xñ)þ‹çöx®{­FÚÜÅì§öÄÞHæ‘{gAõ&¸´óá'º÷Ÿ™ö¼Ê·ÓO©¿÷ŠÒ ·–ÏL{âË¿R»Î¯œ;¢ò‘8眻]i«fö«ž~=)?µksUâ÷þðÐ1ÝÐQ,öîjúuqˆ ŒÞqZ=¬pÇ„³¤×“ö]{¨_˜«é’u1vÙ¡XEy×oÄξÈ-ª‰½‰Lo‹I¿Ø1ý"—²M|ö¦¯X‰LÌ=ŠÙÒUK‘§è§ RtÖà~H67‹-{„~®àž#Õëhàæ^?–ÙÙº3ÏI ýiÉØ>¥“”ϸ§"5®bV\EêGê=ŽÔ»*èœÑß5µOÕ¤kª’¯$ÝWWB׊¸˜ƒ·wÜַ츱K;àk*ØŸåÉ‚•»¯L°3Ï’.kç¥â¶Ø}¸dX¹û¾9n"~:€O<5K$yø®‹¿ºhÜÇ'þ¢xòí%Sï(™< dÊ€Ò)·–MîW‘Ò§"ùǸ+‰Ýñ—V ëRrwÇï~Á½w' –9–– ¨ËK»àlçEçÙM©]=ëݱ„“ˆ_ªÀ¢h먻°ïþ÷ÞÝmï°«òzçî“7ºoÞ¨ë÷¾î»Q½óGö*yUÁ}ÝÞÛ­ îGïùaÁ |w[‡=ý¸÷‡^C;¡U%Øn/+ËÍpÁ²~,ýð€F³ËÄ>­‘]#Þbàžcó^?Qpÿ_n|ûæK·Þö“÷\öîÀŸ¾{Ûe[vû``·üxûm—~|ë%;n‰ÝÞ¯óö;í¸¡Ã‡×s[‡^S} oÞÚ&Á–È‚eÿvJk¢Ð®l«ü-&[F§…çÀ8jÏ»Æ<ЬƒÕ6IøåpñÆî¯t¹ok«¼1÷‚³Òµ–Þò ÌDà]rKaõƒê}›y†½«ÅM?-~FkêInÚ) ™˜ÜJû¢ì_6!3¡‘×@ÿeÏʃ®4‚¥Ž-¡7މÏë°¿ãHŠ|wZvãZzïÚäêaùWj=ï¼ üí/@”0ª$DóþÝ5Xm|!ýñ+BœÄ°£âÃ{%X ùwðÊ݇ş `?öBtª+Øø<*XÁ±²fua3Päù fØ© Œè ¢|ÿMlpöUYö)‚+óºÜq´{z}ìä¢ÚªÃÚ—ØÄ 9Êõ~—ëö{B &Á€I@°`,˜ &Á€IhûCBl\!×s ¡¥½ öÙŸ@¨€`5‚ ô÷ÇAtÁB°‚˜‚EĤ@°,‚ &‚…`ýJqvbbv±y«ÊÍâ„dåFh¯¢0ö®]ûH ‚p$xÁî}~Ĉçó"­Pë ÖË…fÒ5(¯Ös"„+w‡è5Àµ³•XBAd'91ÞvÖÔ6G"“;‚SfÎv¦VY°QlZ‹ 6l›6U°TAu] WuQþíÈÍò§–¬b–`uýi)Á’s;[|Ù*^üÚž=ÿ³²Ù â“âäžÕøÅ0›Ù=§°¨pM©·«Z—Þ>ˆ9ýUï‚vuºU/mżd.Mè¬S±WÚ™3©wÉÝ ¤<×ÏFVõ`•‚6è {o¢6Pï!û£n­µ9b‰„I°ªìg«¥îˆUŸÑ§ÄGCWïç\ÎÑ~¯zq¡fá6Z˜·j(§]pÎÂlqlNí&ÄiÚH°ò)íyɲ‹†^ ÂÔÒý_qMi;!š¾]Ò}±‹ëôخѠ%›_Ò®j)ÅvTÝ&M¹Qt_®zi–ÑÌ쮩~ÖK½ì¡¼ Üä>ST܌ʫþ@è¹P|Z. y›#QœHlY(‹TžG£R°rá¶9œÆÞ¤$}‹Û™ä¡è Mwûêr?úlâ¦Ùæ%vݸ1ç7r^=çµ×r.\оA°K³jÕ*òBž±i}Cª¡'v%}Wb×ÿ©Myª4ñWÇGr¿ò!Øã»>ϽöÇü¼[Zï¿ú›Ç~EVÂFˆ]åæâÓÓÓÚ7`iˆ`ËÊxép+VWóÜ‹÷í¸»rOrÜc·Ä›`÷­XñuŸnüüþüC}ø?ÿûÏ/w(.-¥#¤ïÊìZPÀ?úè£í °4øÃŠ‹yFvvNQýÌ€Ë%höin÷ý÷ü±cǼ¬$熾ü²þî¸ü«A½ùñ=ø™—u÷uutÜõµ×r˜]ÉJÚ(Ø.!X€•0úy–¼¼<Öqås………o¾ù¦—•üsdü¶Ÿ^òùòåû¾ýö¯·Üüé ×ý{ëVåo¼ddd,\¸pÁ‚í›ôƒÛ,„L‚“€`À$‚¬îÏ}@xˆ¸9M, ‚ð¼‚à`ñƒÛ*<¾ÉÁ@h€`À$ X0‰à»4óhÏÊÏ%˜!ض|ªìX¨> ø{4»=jØ f –­<Ø5ôâ =7»=jl ì×ìö¨°Á ÖÿorµeÇp„{4»=jl ì×ìö¨°,°_³Û£À@°¾Ù•5”ã†.G]2usÄwÌŒ›}ÕNÊà¬Ýáhóà[8ŠNžhäçs\Ú*Mùæ4ÂŽö ëA°œò³ïù¦ßìB ÌÙ(>ܽ|gFõCתQtòD'§zAúT>Äæšöëáìz~ù w'Ö¾ç›^³Óªï½·Ó¶v†`‡Nu”kÊ¡io„[°bodÐ󻤒ÁSç æ4Ç7Š®ñì"ž‘öPy¾Ñ3S sŽ$dVFNãÝŠiÃvˆtš]÷â’¯GÊú{ µí&Aó+7ª»*ÅF5ò®“'ZÑü‰$ÝÍhpJoÎ÷<.ÆÇ„÷s°Š¿›ª+TçµI]#ò‰DöYs¾ik$ËA:]…sÕ=-Ž^’¥¤óÐ{Ï!çƒ_‚U]qÊËÕK¯‚ªmÔnž¯á9£haíîEÑɵ¨ÚMq¼¼Ãc¥çsÄ @°Ãˆ`7·I°ªKU:(î«R»cÑr¸w›tb=TàF¯FÚiIÔî÷‰è pñ¯HœÚf×½dTWœûð‰!Ý hu»y\¼>ϽcE'Oô¢8ñTÇËë¡Ñ=FQ|>Gœ° ÖðºÓù“E׈æ¤"½5ýGF/oõNHu¢ç„ nˆ@~Ö-XÏ jÖãg»ùQˆy‚õÿîážùê‹wÛ²8\ìÑìÏnü€(“,ÂÛ¥Ùå³A"QÆÍÁ"QQÆÍÁ"QQÆÍÁ"QQ&|Í^œÈeåš³n‰’@°ˆ2!kv3ýé3:‚¥ûC¢Ù¥Ü,¹0¢;ŒØ5,¢Œ­›˜¨Ù'âW2 a, XáRÍfŽKÌ.ËY]"ê9IY±bZ±6íš9*ÁºÛÊkê ùØHó¬\ýÅ5Ø€‚¥[Qu²S†!XĬXD°ÒuG¯Sv9¸§„Iáy휊i)å 9 Á*ÈÝÕ4»lH¤êÁ,ÿüH 6·XiXê×\µçÚ ‚øŒE«ê,åjç•´©Óc)…_qEéÆÝ쪶’¢Õ¦n³{÷•r)yNÝщa(X^aXÁ¯~ì0‚‹V:óµÓrÔ׬ÑRʪA½ö´}äf×7œî_(Ý¦ÖøÊËÁòãøªZcÁº Ëü Á"¦Æª‚U]ÿ"£¥t{eˆ"Áö`½ ÖûÁ2:jªvؼV2¬èW15V¬fTÏOÁª¬ÛêÄx Vî÷éŽÁzý èý`ùåçÁŠ»˜+ud!XÄÌXU°ª7³s½½VÕ™Æø€a‚þA.¯™V~ðÔëÁ28Rf|Š€­† ‰{Á"fÆ‚EÂ{4»wÁº?ÉÀC°ˆ¹`eìÑìøª,%`eìÑì,%`eìÑì,%`eìÑì,%`eìÑì,%1U°äj ü@°H”=XD{4{Äo$ € ;'!X„·K³Û£ˆ "ŸŠ,ÂÛ¥ÙíQ Ä`eìÑìö¨bƒ@°ˆ2öhv{Ô±A,!Xñg\ƒûí+|Ù<ØCMêZ¨~‹6€SÀð·q!þÆ ‚ Ñï âÒð#ö¬ú†3‚l= ÚöÛ‰H{ŽªS—†±`=þ:q@°H°‰vÁj~’4ˆ;Éz hî¡çíŠQ¯¼=ÜÐÖ­&ÛëXèt‚5î²ú{æ¨ïË ¥2«4©D»`yÍoÑ+4Ù¿;ÉzŽÁª”êµG¢]yvÃ"7´µ]–Wý©P¶zgŽ´”牀 º±”`•ñûN²:—‰æwó¯Ý·¹¡­+GÝï æÌñç”@w,&XÕÂþ݇Kï2ÑÞÏ(~ÜwÆf7´µÝGdCuæ`< (V¬²óàÿdõGØME}øÕx…¶½¡­Ýz°:¯â¥CÁ"æ'Áq=#*Øàî$kð9XjØl~5¹¡­Ý«i•k†X¦uÿ¤B°H ±’`UoÃç¶©‹rôqyè¯<¨ÝP-½—¥íK£íeëÿ™#9oAôbÁš\z±¥`$Ri·‚…_uc5Ù£ˆ Ò«xÁ§.Ñ$J‡IM=ÔdZ 6H{,b{4»=jØ ,¢Œ=šÝµ@lQÆÍnZ 6H‚Ã]e 0Ìläþn ‚DQ XA“Á"‚˜AĤ@°‚ &% Áv`Aü‹ bR XA“Á"‚˜AĤ@°‚ &‚E1),‚ ˆI`ALŠ‚-âzn‚`A ‹ bR XA“Á"‚˜AĤ@°‚ &‚E1),‚ ˆIñK°½ XA€Á"‚˜AĤ@°‚ &‚E1),‚ ˆI`AL ‹ bR| vX!‹ D XA“Á"‚˜AĤ@°‚ &‚E1),‚ ˆI`ALŠ‚-âzm†`A ‹ bR XA“Á"‚˜AĤ@°‚ &‚E1) 6‚Eñ;~ ¶ç&A$И!X>`À$ X0 L‚“€`À$4‚í2à0 ! 6®PñM.B &Á€I vë;¯žçé/ø"‚X>"“€`À$4‚Å TH‚Å7¹ Ä@°`,¤ÊYPQüŸÒ¢oJ ÿ î1y+¤:eÇ¿%õ"µkçõ…`ˆ 䪬,ÝÿäúwúL]Á ͲÝ“ž™ÿÛM®Š|B;¯/ @!=b›ÉOoù"Ï>>/(v‘=µþ]Ï]{«/ @!Â!}¹Üÿ^´U.äþç©W]õÑv^_`» „`¥Eßט.œ'9gÎ;{²µ™Ô«¡®¸×Wø=ØB®çf€ðCztäÂÑÚÜX_MêÕX_ÒÎë ÁA˜pNŸ>uúôI{pêÔ‰–¦úºêJ/‚m?õ…`ˆ L8'O¶ ´Ø€'š›kj\e^uõ=¼.!aÝaê ÁA$á°«µ9´ÞÀIIØp€Š&fØ•AÊ—ì ñFOœhjj¬®q•zlê+춘% Ín+›%¤õ…`ˆ ’pÈuJ/ÕrhC<—°öøpG¦à؇Ö&°B2ÁÅo8Ê-2Z[ªª%^d}i¥¸Œ]ÒÃ]™îé6!7K¨ë ÁA˜päK5t£Æ¯?¨(9øJBÂ+å5Ï†Ž––††zWU¥7Á[ßï×'èìöÁõñRVxV¨ãúL±(ó¹A%´´‹4¡¾,„ G¾TCF5Fª0'ƒ[¼“–Ç»®+ݶÔ47×××9]Žb/‚ ²¾dçI¼Ì°s1—‘#ÌÆeì”Jh;ä¯KJä¦P6”Ns…¦¾Áâ‹„I8 „––úQ°&!aMªXeÑNRNìºn§}6d47×Õ×Uºǽ 6¨úêTJ*w5¯)PÎÆ¦5 *ç§š%Øñ^_|“ €„#_ª¡c{7bÝEÉÕ «°›ë¬ÁeléEššjëjΊ"/‚ ¶¾•bõ’ ÕuÔ/‘ 5+Ñ”„¨¾,„ ‡¼Ì$45Õ…kGpñ«ˆ‰š¸øµû›¬Ž ÷¯JBºQBccmm£²Ü›`ƒ®/­·h‡ôpGÆ¢îIUV”Hõ¥•ÍØ!¯‡¶†âa]“r‘Ö‚ ‚HÂûB¡EБ˜ŒB¡h6³n^h7ÚØXS[SQY^èU°Á×WY)Ò '%;¤ÏmÅg,Œw V]_2¡l ÅCN³HHë ÁA˜päKÕ44TÕT—;ÊŽylû©/ @aÂ.Õj{ÐPïªv•V”„SÚÎë ÁA˜pjk*kj„ZJ¥u!U¨¢¶9ZRt€öTëËÚy}!X"Hùñ½Ý“žÉýç7eÅKŽ(=^@&¬ ÙÿâÂüc‡öíüì3R¯–¦Êv^_€â(Í›÷â¦1K×þéÃ÷ÿÃêìÿª ïÿ¶²31cuúË[N´Ö´óúŠ‚í Áª*Ÿ~ý=›Ý£jÑïßjm­>u²¾×‚ ‚ÔUm¨+nirž> stream xœ¥VMoÛ0 ½ûWè\ ®DI¶ê¤¶[€; ;m놡Ý^ö÷ÇÉ–Ý&i1U™"YëÖ¨¿ÍIiµÑ¸íVïh}þ®>ݨßQôyþÑØN£ÝSCë#þ¡~ã•jGßb÷¨~67èZŽÅˆ>_ŸšÛONíþ¨>žÜǦǰZ«ŽßÔí÷NmÒñWsl ”>³¹ëû6{ÀÝÃçAC²ƒéÓÆ :òjÒè˜öŽV¸ãý>Ó%ŒXø´±ƒæÏ–ØÉÒÎÙÆÏv%Ü# å½#›¥/«!0¤Ì®qQÀ »øã€ûŒŽ.Æ ^Ÿ¾?¾F“³È“ ¾íßÀÓ1.}@ñ=a 5®[t . Fü½cz5ã ¹øðŽ9ác3r!“z‚5£¿Ìc@*_ׇ$îIÌË gE¦Ö…Ö¯™b´ºÏõBÊœT¡›E]ÜJ‹Ú×'o¢]™ÐŠv“#ªWÔ.y·üÌÿíL"xÁúE!˜ëgÛ²n¦-ÃÝfmC‘¶X’ýòs-\Õl‡r8Ç&‰\¬Ϥb´i;4 ­[Ü@ÙÇT&ÅÆ nž'ScsR3R ³ZTÊ É…›Š³}ò8-Xoâe§­D`¼ÕID¤.()§Pi[RºŒ¤’ÍAvX4I©;œR0ØÂ9L#n8‚²r¹ I a/ÆDxWYLÔ¸.sñšzrUŠ~bŽe¡¦œˆ—)KyMõërÉ`b7f½ûLÚ5ÖMçªî¤Åái7OMq1ëÚwrfa%þ+œ¹Y+Y›ìt'Ëv®5[-öv,Ìúì¶Êò*}ºkãZ´UÅ©4ÓhÆÇûnÕÙ×ì×ÝófÅm`A¥ 3Íc‚eC—¦«Ü¬é¬Õ(ÃsËתäê¤\g°ûM4¨0<×z¨¼éè”S¦s_ÙÇüÖ†ÿå½í þRâ/? endstream endobj 347 0 obj 747 endobj 348 0 obj <> stream xœí |սǸT>ö¶RÁÖWQAE´‚⃗bD Þ Êà Ш­V‹½¶Z ÈÃÇVh¯õ"†"ö¢QJm«Ð`$<6¯ÍnÞ$„÷cïÿÌ™™÷ÎîœÍÎìþŸßg?³gÏÌœÿ™ósÎd÷dQÁ~™¹‘»ÛÚæ†ï'q@pF7®œ{°ŠËôÑ×v3k¹ÌîA7­†lL=¹.ÞÝ·žâg«/¢ò²Ž¡ö’ב>~ÃËoÀ[>ed%7¬Š6È[IVËÝS4oy™ÜM¥Žs[;-9ßåÉÀOþ‹øÚç×/ôù] Ïš@ÿUăÖßóŠ¡i†8¶IìnwÌ붯¤Ð&-½™  4 R:.8Xq}¾zõc?µTû‡j¨ö š;å^€œVÝK dÝ´2h@ŒZžˆF;ÙІ©åo)´ï M]2$ÊßR$SFÀr΃¹ÉǸEÿóI-˜Œ÷†|ÍeTpãµ›]ææ6P_²wÈ9”q??ßaIL·áUJ¤4±ãâ ÐÍÑœh׹݂ ql m´´ÅR·Ë:Ó~öéóZ;Ìnn7ã87½…{Úo…”‚§Õ“WH™P+ !<¾’KùŽTòâFŸÀÔÈÝ܃ž aÒ4«†òdQ¾ L>…"IžÝŒF»À×Ϭk7³Æi`ò|`r5ñ¯`€…z\9qF¸]z 7¢„oýÙ@˜šó‚'iOSŸ¯D½>ázn$L]÷¶SUºLIÉPòñO×} š¤~3.-]šø3½Wǽ¥`3* W Î”—Ô½ôóš§føO¨ÎJ÷ÎI«šy_ÕéUÓƒ+§ WL¼xÜ­eé7” ½zϸۛV(ÊÔ5Ÿš¾ÿ4ŒÉÛA»ÚU3E¨¡ìHdͬ &f*;SíÝí:ǼµGÛdhW!ÒTAGzÐãÔ/¼é+¾½¦ñõçë–?VûBví³ój~=§æW³ü¿œîÿe¦ÿ±)¾%«³3¼óqOÙ„¾{†]»uä­ÞÚ3B?ÕûŸZ¦È(QÞIeÖP‚¨é<ŽN傃=Ýñ^Ìûì§)} *4.ãF¦j~=û軯4o|½ñßÖ¯z²î¥%µÏ/¬yvžÿ™Ù€UÍS3ýO<äÏR3Ö›5ªêá”ò)w¸á½Û.…} S``ê§ÿ 2”Ál‹~Y*Vúj„ +`Jþx„}Àr6ï oînØ8ÁïÕX@"iI‹yÍ'²Ç$†)M2¦ª³Òë^È®{qôPRƒç^5ý^ªbâíRzÅØ›=coù.]):ö¦ å^þ9üxþ1ã?aêÂTÙ^¿è²e’;9¬aªéŒuÉ~ž©ƒw{;iOНœ€|¿YKŽÖmíc»¤½x¦Êÿ>¢Ç'!Ž€FGfc¦¼³‡Áì‰ ùž™í"S§jfJÕCƒ*'ßjôõ½ÊÆôþ.½×w_A˜ºë!èÆ=Š~Jbj jÂT=·ô$eªsJI‡‡ë“n¤¦]U‡‡êÁi[ÏñL½’<¶öJ꘼4‰§£B Cß1U>ÞmYrª’ô3~/SfG@£mYÎÔÈ Sþ'gø5‹¼æNõe— ‚ÙS¨ôë*F^S‘Þ£,ãÆ½£nüðî˦úÐg F˜0!¢”‚©#P¼›óüò!!aŠïnø±ß”º<ŸìÃÝÍäkQ¢y ¼"½=•K>m™ú»Îž8î<ùœ”÷q!³òDh´¡¥Þj¤’EÀyh ?w y¸÷øC0“ªÎç?: T՘뫸¶rÔO+Ó¯) Gñˆ›îüq)ÚUõú„0pAâ°*¾“ª¾8£1iéé²àñÎç=ßÚqnkÒÜzÕ¹Û+ÉÓZ“ž? •ýéõÎÝÞKžÑœöÉyaì7¦•ï/€Ž÷’&µŠtl‡q êWoâ´ë=òѤfƒ½GHÛ#ÌÖ72–%8ÂѾü(y¨°A 6º‘½;it¬Їv¾'4-bEuãûzé[4Þ·x¢Ñ_ÎØêéª~Ê7¡§ol÷êÑWT§_Q9êŠ}îøè¶KS*¸e„©k÷‘~ ˜ººˆ€LM™šN¾âžôìYÊTrª¯Ã¼3³Nƒ“6œ'ÝÄ“Ë:­ì0óDÚ¶ «¾_™é#?(ÔµŸ}:éùó²gDeŸ]è”s>9Çû…"˜z=yúÙ¼JǦ$àñ͓‡Ðþ9ÝNæÜoEˆ Û#2¦„_<»C{îÕ:ñtòžÚ‘|䙺£¸òèˆÍÍ8צpS 6å´£#÷^V>æ–Êiý«ã_þ…5;¥zöêGùfÝåŸÑ·fZ¯Ú)×AúÉmëkÒ¾ï½÷{ûïHúèúöS``ê®Zò—_aìWAV€™ÜH™âG|ú¦¤ëÜM9âU×)÷Bò’ýɲôÎÝ^Ožy[P—|#loJʺÐ>ë7n“ðé;iŠä¤»eÙ²{ÁGäyà8#ßÂé¦Ó}’'wl¯<>:bs³Ï'Š%Ц.Jþ†åãûTN½»*sPÕôAU™¼™w{3ï¬~¨¯ojoÿ¤5㯆tRþÔÎUƒ’öÝÖ~SÏv„©QÇ„® ˜êóaê'…SR'E™ê˜s:¦Ž‹…U&è’izp5ƒì cÞ6Ðh#kÉ.ÜùýÃ)W”ŽºáÈØŸy&ÜV6éö² }Ê&ö)ŸxKÅ„^UãzTe\íõcoZoÊÅUƒ;•ÝÕþÛŸqï]Ë LQ¬€):öS2E±"LÍ;3&º& JÔ9Vq옷 ´M«°ò6œß}ÿ »îê²kðå…©Ý ‡÷(Þ³pØu{†_ûí°îEC¯*zyñ}]÷ÝÛ¥xÐ÷÷Ýý½â~ÿñí­ívôâÞx5ajL«‚©./É™¢ ÅЮŠöVäqŸŠ¬%BÏeTÌk 6±v8çµãûöü%õ†·oºxã­?|¿Ï%ïöýÑ»·^²±o—úvù°Ï6ßzñÇ·\´åæäͽ:n¾¡Ã–ëÛ}x·qàÕµ{ ç¬n6`ªLbоv˜ÑLL:¬VéA:å‹F†ZÓ2Ó>.Žû¹ÚŽÏ+ÈcŠ¤Ì“sÖ „)oý9*éÅ|JÅT:ÿKOáçºÁ/Tn’¯66ïL»,µ¡Àâã£øvÌŸ_EûÉXœzÚiúP‚›rJx>é7ù$1lLh%=}¥’ÇåF5‘Wú©4RYÅÁªŒü‚>¥°]êžöC‰¥õ—èÒLdu¦Œ2‚žô«.íï‘åߢG»ÎÃÊâÙÐÂGĘRB¾F$zð!áí½¢i ¼ö?H|×ák~ô;´@.S)…„)+‰,]Ó ÄR~ÙŽñmZKqévñî(Öýn}î÷ãÂN·êšÕ˜<¡´¾æŽÀ\Z37à×ý]®Ëï)4Ú¾‘)4š­‘)4š­‘)4š­‘)4š­‘)4š­‘)4š­UL}™B£í™05¨„»ò-d fâDcê×o|ŠFÛ42¥b*Üoò£Pr!SÈŠ­)d ÅVÈ2…b+d*˜ò䥥åyìd@YP›2µë¹!Cž+Œ55Žgª —•[ LÞG(·0eRŒÈKX+í+Xy0+yB+\¦’û´ÂÔN®Y›)MS†‹SpU"B  WÜ6 ruƒlÙióqÀT¤ÇS°¬á`…ZÉcQÑbJW1¥s£’% iÁÝjçû—ț얾ÊS‚R’oyª^M[liç´ÜÜ4Yæ»ó !òh£ v»Â)BMq,Ý=zeq)ô9U¦ZÉcAmÄ”¢Ÿúl¥Ø YñùHx7på.!çÊ,¾wSîÎ'ÍßD W äÔ;Κ?„fNAsªO!¤ˆÛ!û)¡!“¶lB¤še-Ü|¸ÂÉGm²¡²aì#¿OŸ†–…ßOÙ©i‹-?‰øžæ2Ý]è/õóÕƒ¬“ žÆühQJФ)öRtæzÃÝcj+$d ŠõØoÃ|‰)Ä‚œ))qÓ,N,¤dmbo¥ ’Ss ‹L©nïòº•]YS4d’5mË™âDʃX)¤‘Š·ü¹ BíN¹³^&g4:šN6M€:{Ñ;•q ë ¡ÔYÉcA±è§Tm[>Õ剺û\„Tq kc¿4ù6µÝ…Å;X$ýT0«z¨gÔÑ5¶¶aÊâ#…p™2 Ð0(c²Ô…ÔƒÅJ Š=Sº9C2%ïhÌæÜ-È”|%Ü •×7tßÉ|Ê“—œ'«ç?ʃÉÚ€ð™þ \6 7jáÒJïþ¯­çщ&äØO—)ÙlK'@=®s•×F§ œ#ÍcA1cJè/``¦éYgJL!+3`5§¨±4ö“º2§µ+ïaÔÏ(´ìx"~î§îÀÄ“ù¿PHÝ&*í."ePõ•†-ÜzM)e=£PM,2èh8öÓ¯%yéÄ9œÙ•4ÊcQ±aªæÀfþƒò…rgΔx²SÖ¬ êÖ˜2“zLæN…?ûFYQ¸Luês a¿G¡í@Ü-d*:²ÊÔUÈ eIÈ2…b+d ™B±2…L¡Ø ™Ò2…FÛ42…F·¥‘)4š­‘)4š­‘)4š­‘)4š­‘)4š­‘)4š­#cjã;¯¹Â@À¥%G;ÖÚFÅ„©Xÿ); ¹·ä(Ç*L¡Ñh##Sh4[«˜JF¦Ðh{&L .á®\L¡ÑLŒL¡ÑlL¡ÑlL¡ÑlL¡ÑlL¡ÑlL¡Ñl­b ÿæ‹FÛ4ÿ7ßRî*d fcd fkd fkd fkd fkd fkd fkd íF¯[·nõêÕ+W®\¾|ù‹/¾¨»pDnnîâÅ‹£}­ULá÷(Ю0à ­ñÁùÇŽŽ 44jk6ä{½ŠŠ€ÇX´hQ´¢µæÿù"ShxíÚµöq`r­‘)´½fÍ ‡ó[ZMM:8äääDû Z#Sh7æAг€…÷ßÏçü?ÿ9ÿÿ7ÿOÊ_¿>ÿ­·òß|3?//?;;;ÚÑ™B»Ñ€ ÕÀй пÔדþÅç ••²²@ii $Sö¢52…v£_~ùe˜û€è\( ~ ¹l~H„·55… šhAþ?Þ°;¤º:ø•”„8ˆÖÈÚ^µjL|¨a´F n5Ç­â¸å¤,X°Àä 6l¨ßöÙŽ{¶mÿü¶Û›¾ØÙØ€™ÔþÔ‘#ÇCDkd íFSÀ5L`´4¡çâVp«Nfr¿å࣒’“ƒìÙ³gÇU] ïþö7/}|G¿À› z÷‚¡ Œú`&@A'uð }¦"Shç{åÊ•6äSÃÜ C>Ú=q/qË=È-ã¸g9îiÎü8ïö¼!ðô=¥÷\˜yãÎk.ù®`çŸÿü)õÆù¯¿žÿÚkù¯¾š?þü°Ê¦Y‡™B»À+V¬€5Ì} g9=õßõãž*OûÅ‘¡Ü/B0udÛç×ü 0çæÖû¯øú±_ÀAè€:t(pà@`ÿþ@VVVXeC¦Ðn40UQ †n@€‘÷Ç=Oº'Š{’ãã¸EfLí^¶ì«]s{ê˜úÓÿûé¥þ½žòr2䃊U\xôÑGÃ*2…v£ÿûß{<ê¼¼üÒRò”ÏïçÉzš{¢4•[Â}÷]àðáÃ&É¿¾g`Iï½·_º³_÷Àèni—î¼ëކ2‡‚! ‚L¡ÁFßz-,,¤Ý·+))yóÍ7Mò¡)›~tÑçK—îþ替Ü|Ó§×_û¯å_ÍÎΆÉÔ¼yóÂ*2…F³52…F³52…F³µúÿ$öE¦Ðh[“S1ÿßßètÌa‰*SÑø_Þ(”[ ¦Ðh´‘‘)4š­‘)4š­‘)4š­‘)4š­#cjqÎ#htzQ8,¦,þÎ7ÖÏ2ÛTP“±.‘CŠaS®Ž"¦J"`Š<L›£@¦Ö¤âuH19 dŠaM:!^‡#‘£@¦Ö¤âuH19 dŠaM:!^‡#‘£@¦Ö¤:Þm¹9nàÒw”)“Ö·q1¯˜Å‰êŸ»=Úb/Ò0™zç¹þ7c…*}ý Ä6¸ÈÚÔeŠ“_»X1Å—dÖÂÛíKûqÑ(»èÂî§Þ˜¤‰ˆÜC¤£WTÝÂÓ°˜²þ[h”Ù™6`jÒsKû»ªØ0EnãŠîÒü±cÈ”– Ê¢RTÝÂÓ dÊ~Mê2µž4iñòÉ/%¹è¢hó¤iÐB¶Ë¶eǤê÷ܶ°Š¡Ì)59ÍI O)ý'Íê/ö¼êòKcK>¿ü¤º‡’TÅ»~¡¬ºKÀÛàa ªz}‘¶œÆe§%Ð dʦÍ3\SÕ¥”ßWÉ—Ú¡ØøfÜf@°—x‰ îÃV™R4*yK£Ç×;‘biT~mûTå J©ºx‘<£PGV~ó¢–9D=›·ºLÙ´ic†®JÓꂯ`°Ik·E6ƒȈN;_Ð)†n«P4ªà­X¸½ëžH™Ó üšö©Ù(RLÉ+DQ~Ó¢ê–ÙB=›·ºLÙtˆ¶¡/Ð]—ô®µR–˜²0ö“> 2¥=‘ê8Ëoˆ§^¤&QX0*ó®bàg^ÔHëÙ¼%Ð dʦC6f¸Ð³–êö¦÷ù"£öi¹æÏ(B÷SzáX/¿a?Åž)áP:ì5Òz6¿t™²éЄüѺlÅ·tÍ|ŠQØñöÜO5Þ NIe“Sg!åH¦Ü)Ù­Uþ,O6ÚñÜMÓpÈ#}›’G¡_CÒÖy÷ dŠ•ÂhÌÑ®ÄS®2ÅJ!šlŒ¢˜[µq1\"WGL±RÈf {ÞÅ €«[£$WGL±’CšCŠaS®Ž™b%‡4‡æ\2ÅJi)†M¹:Ѝ2G£ÐÑc*v·Šh§3n­)†M¹: dŠ•Ò R ›ruÈ+9¤8¤6åê()VrH3pH1lÊÕQ S¬äfàbØ”«£@¦XÉ!ÍÀ!Ű©`Š_¢¹ã‡+È+9¤1;¤6¥dJŽQpÅ$Ç ™b%‡4f‡挙rä/¦”B¦XIÕ ò´k:jSRæ„4l[v´0~),†~#o$3¦Ô ãÈbÓ¬úAÞ°^™Êzá‘)›RM4?C5ZLIg5%åÏXÃ[X)þû©`’¶Je¹…³_™Êzá‘)›R6ùÏxµ×Q¾ö£<§f¯ðVJ$¦äR¯O¥EªÍ–®@¦XI¿¨·%iÖSÕÝa¥ÄûéV©ÀV´V¦²^xdʦB0¥·˜’%¦ÂœÄ?%Õ‰n•’-~í":m%dŠ•B0e¸˜’)Sá/¬ïL©êQS¥:o¯LRÈ+…ûé-¦š©°VŠG¦ŒoëSvtsµÑЙb%‡4f‡æ\2ÅJi)†M¹: dŠ•Ò R ›ruÈ+9¤8¤6åê()VrH3pH1lÊÕQ S¬äfàbØ”«£ˆ*S1_¾މ-3UÊ]‰ý”¡v:ãÖêbØBûÝ*ç+^?…L™É!Ù!Ű)ˆ"ÖpD.dŠ•Ò˜R ›’˜ŠuAÂ2ÅViÌ)†M!SÈTÀ1Ù!Ű)d ™ „lÌmõ¯œÛŽ©(ÿ·G5SªÓ™|3ÖzNÖB¦Ø*Þ˜Šéÿs×0E[(•Go!‚°s²—s™rç?LG¦JÎígÒrs?æÐûE¼õœQRØL Šô{F?â6ùq·Ð_»å§ÞDÁƬY IJ,C6[ÉhÙ%këÿ(˜ÒöX:£æßº,úT`\`ù/ŸÂ½ ¦ < ‚=‘õœQRÛ1¹è…tG§¥dJÞð‚K$i–PÒûÕªá²K–Öÿ‘1¥ú·ÜažQÑ2}²¶{øm9ô|Jž¬j Ös²–˜¢rÇXPÉ”bU?qAͲHêv«»˜Rx (‹¡[mÖÏhv·×2¥»{äWÍ"S<ÍšBZÏÉZŽû)ötPã%Ô‹dB‘bo%©úÚúŸžéõS!~õî%´Â”¼{TÈzNÖrt?åúù”n?eÞnMS²ÜWGÚO™–Í|Ñ'#¦' ¯I‡dʬ߱ž“µœË”;ÆzjY˜Oé.‹¤;»‰|%ãù”´8—µ3ÊA0_ôÉ’LçSæZÏÉZÎeʲôÜ/ »­YJ™4ЈŸûiÎ(+È÷)P Ì깟¬Ør®GÂÖs²2ÅVFó©˜ÃÍJ”ï&ɘê„Li„L12…L)¦B¦©€c³CŠaSÈ2pLcvH1l*Q~ç‹L™Ê!Ù!Ű)dÊÈ1_¾މ£ÇTìîs(Tì…L¡Pl…L¡Ple©RîÊ·)Ê¢)Š­)Š­)Š­)Š­)Š­)Š­)Š­)Š­,1u2…BY2…B±2…B±2…B±2…B±2…B±2…B±2…B±Uh¦— S(”u!S([!S([!S([!S([!S([!S([!S([Y`ªסE¡¬ ™B¡Ø ™B¡Ø ™B¡Ø ™B¡Ø ™B¡Ø ™B¡Ø ™B¡Ø*,¦’‘)*”,1%®C‹L¡P!…L¡Pl…L¡Pl…L¡Pl ¦Ðh´‘‘)4š­‘)4š­ULuês™B£í˜_‡¶Dö= d ¶ed fkd fkd fkd fkd fk#¦6¾ó×@@Å”ô7ßX£ …r«D¦ð{h4#Sh4[#Sh4[#Sh4[#Sh4[#Smï_q•çßå¥_—•ü« \²oGô,©8ò ÄÑ%x¼ÈTÛ.Duùž'×¾ÓcÒ2n`n|¸kú3s󖿪œàñ"Smo¸¿A›ðô†/ ãçï€Å?DôÔÚwµ÷íD‹WÅT§¾ÈT[0wì‚—\ˆ+/ø÷aˆ«¡öP‚Ç+üïÑ+×#SmfŠÃàáüùs`^gãÀgÏž9ÑÚq55x<^dªí ÷m¸gˆNÇ‹Oom9ÚX qm,Kðx‘©X1uêÔÉS§NćOž<~¬¹±¡¶Ú„©Ä‰™ŠS'N´ò>>~¼¥ùh]¿Â„)ÇÅ{`MjêšQˆ™ŠSôµ°õu©œ¨Ôu{I¢Ðxø Û²!}Ñ6Æ'=~¼¹ùhm¿Ü”)ñòÅ´è/lŠ-¯¦ñ"S±c . ¹: ½] —ºz¿ðvKÕñý«Si"lp)ëö³<#ukëÑ£M5µ¾2S¦"Œ—ÅeoßnË nÛ²T-¬ãE¦bÅ”tuØ JY»O–²ïåÔÔ—÷I¯ªOÙùر¦¦FMµS‘ÆûÝÚTbï[›"ö[ü§|Œks„¤œO¤ ‘¥Pï²/ ñª˜Â¿ù¶SÒÕaæbÒHЉùÙÜ­$=€ZSÌî\J·´466øü^ SÆ …‡L2l]ÈeçóÙ¸ì­b ©‡¢5©bŠTòŠÒ©.6ñâ÷(bÇTøØ±Ff.^•šºªX‘ iÁVH Ö,àÔŸ2sKKCcCµß{Ä”©ˆâÕ JLÎW˳ÑmÕŽòüD|µDZ!æñ"S±bJº:ì¼9›²f¯,eïÊÔÔ•{ékKÃÞ5C¸ìÍLÏ(¸¹¹¾¡Þë«*5a*Òx5AѸ¤DeŒú)R¢ê ªFñ"S±b Æàææ†Þ»z—²r¯ðZ#—²zOóÞ•)BâžÕ)| Ó“‚­¯¯óVWš1q¼$(nÁñí–ì[‚‰!ËRÄxI°Ù[¤ãÚ½mh–ïÂ4^d*vL w<¶æ[  ì-|¢Ðxh Z!Û“=ZW_WU]YbÊTäñʃ‚®R¶ˆ×S²ç§™RÆ òª½åT»0™ŠSÒÕ‰75ÕÔÕVz+›0•8ñ"S±bŠ¿:µñá¦F­¿¼ªâ ߯Ê<^d*VLÕ×U×ÕyÁõÄÕî5„PCØ¡²Ò½¤?j¬Hðx‘©¶wå‘]]ÓŸ)øÇמ}eGö–)† ÷Êï)):¼÷ÖÏ>ƒ¸Ž5W'x¼ÈTÛÛ[^8ç…·F,^ýÇ·ìÛów·»xÏÎâ¿mþdkZöʬ—6o­Kðx¦ðÿù¶¡kª÷ÂëÓ¯½gë3,øÝŸZ[kOžhLðx‘©¶wCí¡¦ϱf߉ã 'O4:qôÔÉ(úÌ™ѳìD-§Oµœ:ÙÜÔp$ÁãE¦Ðh¶F¦Ðh¶F¦Ðh¶F¦Ðh¶F¦Ðh¶Ö2uÉX/ŪÓµZ“üh4ÚÄÔÍŸË™ºxø¡Œ÷\tÿÁÿr@knp©Žá v> stream xœWÉnÛ0½ë+t.`—ÃE´A@'@{ ` ‡ §¶iQ$-ÒK¿³p%KNaD¡é!çÍã›áHí¡ýÛ¼¶ªÝ)zMOgéùç[ûé]û«–>¾7¦Sh÷ÒÐóÿÐ ÿã’bDÿÅî¹ýÑ<½Ã­eZŒèóå¥yÿáŶ§ßíþœ¶?žnAïM{þÚ¾¿Ç±mÏOƒ‚ñü³¹;7 ”>ÙÜz¿?D{£§ÇAéÑ àÇ ªç'Œ;MÓ4¶ôÔ7<¾£ t£@,ܸ3ƒâ dž'x“©ÙÎe»èKß!råu"›é^FéCŠÀL‹ØÍ݆ ›}Æ¥H?Ÿ?.d 2dú.3ŠgŒê‹Œ*^àðY.xÀˆv0=GåБý÷ôDœš,qà¿SL–b’¢©çmú¾Čæž½¼úB¸‚Þ»}_¡XBê}8V;hË‚ƒ!ñÙŠë^Áïþ^ Eœ¾\எ)qs›×™ ƒÕ˜\·÷ULú–Š›#nM¢ 8B|Fô©ƒ¢õz Ì&RéaÔ ’ £¦O)ðàà †â¿wõ!™˜% G#B¡¤gÍ)“BÁŒô ÍU\p¨rå1 29n»Ì@qWká墠‚1wc> stream xœì `åý÷xiyíÛmŶU‹w[Á›KRP#WA@D‘#ÊaA0HµõhÑ·­¯¬Ðˉ1xÐàUn É&ÙMBî }Ÿgž9ž¹vgÏÙÝ|¿~\fžyæ™ßóÌìóÍóÌìn­ç@-‡0|g—áÎý”a$F— c ÷¹„ÉUìµË´ja²G¸¯J˜ä¡ “dî­@K*ݨèû mï1†QA_‡W‰ âYS†— w¸(d®VÑô;ª…Û kµî¦À<®ûÌ–óÏœû„÷'¤\öœ÷ŠÅÞ>õöYáí·Œ2p%å¶W,aPðqµ€Nˆã$ˆ5ŒWóåÕ êMZˆgˆ…uŸÝAüNèó•Ñéº>à!N×uvc¬³$§âw—ü…B,*Äû|"Ä\ü*ó,6Úb¤@ùUæS ̼=æž!÷6 ýÕ!ž²]]&Œ=Ôez A˜yœAŒ¯[fk·¹íÄþ„GÏt›ï%°eòª$²–Ø}ÞY20d9ÀH—ÙgP`—sf%Œ.éí]§·u›ÕÒmzc—©­Â”&á>ñõþ&²*¥L­“˜TK_IÊøjiþ“¤Æ• CŠ„ÅªÙ ß)ÜW¢2¹JHó0ã#–Ç ÆgÝJBR˜Þõ”i5]¦Uw}ÀC ‡Ü[I_!A\Œ1öet)¡ËÈbaX1}ÈDyæ„8ÝÍß ç¿K®ïgt+1»±‡$8¿S,Oâá&%qæqš‡wX4xÀâe:˜¯¼L¶3ÙÔ˜»k#ÜV( Ü!AœŽxáGoJ )Ûé˜f§ 38šB2°Ç2's13 |£ŒÑø!Û貤»Kg,«ª¨=í P3þT’Ô_´¹>_Qw»z“pù:jv?ÿ—™Ù¹LÍN18ÎãªÄ#TilNi0ž›p`œü·::”Ëctǧk?V\ó£žßM­š7¾2}dÅŒT×´_»êš2ˆP>©?¡ìžë)c¯+yeñ팽¡þ@!ñ;êtÌì.ýˆÚÜ÷žÎ—®ÜÑõv½ÙQ;c¦¦XÞ´j5q²vøi´i0âx§ b :KY&.”1§#1ZíâÇêÿ¾´á_+ê^®fñ‚ê?eVÿa–çéžß§¹Ÿâ~|²{ÁĪù÷TfŽ®˜u—kêm¥ãûÜqÙÆá×UT·K#»k¿6šðÝû£§‹ÿ÷‡¿óøáäÇŸó»âïý¾øOþî㇒{H˜ ûÂC£„ßU 3˜L]:>ޱ†ã½+ˆ)ïZAL!O©0œšçéé o¿Ò¸îõºÕ©]öDÍ ó«Ÿ›ãùÃ,÷SÓ‰ßy~7ͽðwÖÄʹwW¤p=8äØÄ› ‡]ùÎõ?"ûR³#³ûÙתÙû»­Púšr)f|+dì2 „9»»Í/LšG–w sòéëÜüÁ¯TéùCמ8“þK²*üæ[L`’1§YNÍÎu/±¹ú5‹¯|ºæùyÕ‹Ò=O>äþíäªG'VÍW9gLŬ᳆щͩ·•OêWzÏ …#®^wÓùÔìn*¤0³»|©Ùí*)þ¨ðàGE‡>*%c¯+uí{ý.47»Ÿ|JÇzý 铜dD9¾B|ž¥ÝÞ´¿—éÍnaS‰öÁ˜’\®j©¹§½ÞÓ«Òå¬$ˉ,Ç[;â1fbˆ1˜ÁlŽ3»Êô‘5ʬyþ2¦SÏJáñfbv¥{ý»ç/RHî·¿ÔE³«[=zeòfëõ¯$f"UM©Ž¿ èãcv<6ˆo¬Í®búž?Ì¢³—OMw/œ¬øškÚ×Ëï½IuºQW”¾ºt̵E#¯~ïÖ ¨ÙÝr€ZÛUš‘bvcè¡e³ë ã/ß#»Yoî6fg·ÄO 3¿“ÍNgp<¼Ù‘Õ¤_-êI£.F¼mXïM1f"&É1;$¼Ù WÍÎýÄT÷ïÓèkÖýU™ãw+ŸÔOuº‘?/~iÙÈÞ¥£¯Ú3âªõ·þT2»˜›Ýè2:4›è–Í®Ýlp§!}Õ~Ùìjéw‘³{B1»Cô;ÊTêVUñ³›õ«G¿¼`[>•¥Ûº³Q³ïÂVíÔèéU Ù¦FjC;[¥}Ù^\æ¼W|ï®ÙT’[gVf«.0qXÇb¶*¯‹œ €”ñÝð*fyÔÑàΚH¹|ìªù+玭ÈåÕÊ5æ ×o.+ñ³ò‘—ûMï½ÃzgßücÕìØàîêMÔìˆë‘Ä;\â°Ž~…&gv¾9ñÿöv½ƒ˜êwóÎrzÕãârN`ýó‚ÞtVsØßj½ÞZbvÉ£êVÑ |¬×[Iª¶’ÅcÛ†õ¢yzöùVý=#±Lejô±ÏD¯œOЉ5ùãä ï?6zQÏÉ$gÉû_%÷bGñn}Ñzw1eîùÄAšù/‡MÊìS¨ l³Y ©ȸµmõñX#{‘ª9þsrNãøû㌩ÑBçË'Þ\5gŒ{þ÷£«æM¨Ì¼›~´|æŠÇTL¸¶bìå£/­yQÅÈ‹ËF]²ï®K²o<šÝÀb¡ßAipGFvç¾ 1;ñ›¢í›Ýœ× ºŽþºÛÔFá~úMÔôw÷?É;KÏ^¯G“ÿþzÏ^ï$M¨KÝÐ!ŽìȦFщqô–<æ)½?%y4?õ(—™Üÿ([-¥«ï$wùì}é(£v¦¾OJnY=zÍ9AÚš<Û|÷»L3ß®/3i”6° jÌbE %¼ØÆÆy FÑà“úª€g|£Šìw¤-×·âááUŒ«šwû‘ñUsﮜ=R7²«yÕÝ—TŽº räå#.ØwÇï_ÿjvýË„þ¥Ôì.ÛGGvÄì..¤HÌnèó¨Ù¥¸…ÁǨßý²˜šÝ^¢fGV©ÙUÓ©È)¬£öët„ŽGW|Ýu\>1;µ¼gÚ%g\Î~rˆ&®¢fG‡ÓÕÔMgE³{5ùž«ÜÌ8Ö%Mm“=ek’¼£´»¶Lnõ¸dL7²œbɵ«G“ÒZV Ù:Ícºû]ïž3/âíyã1]™‚60aª³|8] tǤÁ¯²yÔÒ|««N'DúC|ÃYí?‡÷.Ÿ<°bfjåìQ•sF«N7ë×UÓ¸ÓÔ§1=£ìqžëÎsÜöýœ_|W2;ß)fG†xÔìÄ)Ó)M²Ù1µ‹C<+yô•oºÞ³«ëô6B—‡(Â3²³T›9MýÂ{p˜(›ÝkÉ÷´ËƱ>iª¸L=åó$uGM™l—š½%®—i¯’Sœ¢\—|;Ê)âD=§Õ˜ï>«™>îóÙ’™ÂÝ‘ª„Ê—©Œ‹Y<œI §¹`tM€c‡byã[HçZrûEe÷ÞäJûuÅÌ»㩜u{ÕÌ”ª‡ú»Ón¬žü Õï†ýOåÐsö÷ï™sMwjvwÖS_c~×÷3Õì†WÑ9Ì)ô`ϼìýŸÿA¿çéëž¿è8÷æßv½·°kúÙ.éíaúáÙ³%ZG,ÙÜNMð¡ò­šdÑìî㌃äy㤴‘¸ÆC’{Ò}uhË<¹àÊE=é.²1Ý´WÍüj’/oñk={½–ü;«ÝùÌgWýîóä+?7/S˜6fc |´UewWRÕ…«ajÌõ:4Þ7ñéA>ÿؘ_–OêGü®õ³©ÓMR9=¥ò¡Ui·¸§öõLººzâÏi·¾y'õ{ƒ¿³ÿ¦¤÷¯è*™˜Ý-Õô£åÒ4f™0¼†Þ%Í®ëÔÚnS«º=è&tÈÓ}fu÷‡k(3+º?\I™Y‘4£’Ñ-ól·L/ûuuâzaʗɽ43{ÉwÔÐôôƒ|zÏ^¯'O!‰5ÉW‘åì$¶ïØliëU_²šø'o‰öƒêj~±Ìž·ì*gæ ¡‡ëkwÍÅxü–)f³R×|EúW1¦(8‰>éwdÀK‡÷>6®Oùý·º&tMèšÜ¿bò­“o®| oÕý׺'ôöŒ»Ø3úÇdXçÚÓ50ißõ]³/ïBÍnD³4¸#f×ç+jv?ÉWÌŽ8]·i'ºNoë6«½[ÆéîsÛ{Ì=Ó}ÞYBùgzdåaéÝæ{%2UÂüÖÝŠ™f”wiŒ–G ëÀÍß;<ä‚##®?x»ïß¾îëúžû^ßs×÷ù~Îuç|ðËïnøErÎÕÝs®ì¶áŠ.ë.¬pqõžüË-Ì®T1;öÚmj#…ñZ$ËcÌî`tË8m„ÅÌF…(8#ãhV¡Ï¨$M>9ãåfo€ª¨í N—ô›&Í=;ÙDXúÁqúéra*}d¥ÛôF j| íì L°ü´<Ž?îb Ç/HKLj£W…ø¦ô¹ƒ '„{ORÈÂø:Fc¯lAaLƒ0¢ž¾²­ÊM::³£~W* Ü! Éï2´ ëíús®"]F3读OT~eÏø‹êüo4€‘;JP!Ö3ÜâªRL¤€0PfÐ!iu° K!¯ýRn9 }%&û"hbm¦f7$ŸšèwŠå™Â2P”üÜŽð°ë F´Dðzc_ÆžÆüq~—^—<þH­ç©BÿCÂ%o çþf !ÙHx`v˜€„f áÙHx`v˜±Æº·^óz½Ž‡ N«³Àìˆ5Ð+&$8­Î³ Ö@¯˜à´: Ì€X½bB‚Óê,±ivO¯þ€N‚ñúG¯˜ø8­/¿üòòåË—.]ºxñâ矞ä4’••5oÞ¼H–Hb§ž˜5»@§‚âQ0»Îƒo³S.‰÷ÞËõn›âýâï瓼[ï[»6·¢Â[Væ-)ñ>òÈ#‘RIs³·¡Á{ü¸·ºÚk?’Ø)„GgvßÙAPª¬ëØ]zfû¶/‹Næœ"lÙuòã-›¿=±i{+áïOæþ·5{[Kqe›f×™ðqZW®\©\BÔìD›óæMôn™ŠÙ7.Ð u‘g1±S5»ÅÂ…oƦÙíZÙO¼â5Æ_•w%qºcÕgUžÝsŒº¡àHÇ®Ãg¶<óõÓ„mû:>/êøtWûGß4Ãì:>NëŠ+”Khݺ\âqÞOï¡|<ŽïØçÎëûS§N%ÿ’%Kȱ/^üÊ+¯’|ðAûAê"ijòÖ×›XŒïHb§ž7;Ò“ôIß@,C®Rå]IÆtÄé”wì>z†x³¹otlÛÛ±­ˆBœî?ÔìÈpfשðqZ—/_N/Ò«¿ûnnî¢þ¹ì—ûÌ­„5krß|3÷7rW­ÊÍÌÌôQþ°aÃÈ! Érnn¾JVçÍ›÷è£4h u‘¼õVî¿ÿûÏæþã¹ö#‰BxbÜìÈßÌŽweø†Ù}Yt’évî ÇøzïibpŸì:£@ÌîÓÙu.|›]s³—@Æ/¤W÷nçÝ8Ú»a”7w$éØË˽¥¥Þ#G¼¾;ö[o½õwÞY¿~ýêÕ«_ýuâq©©©÷Ýw;.½õÚÜGü<Ρ‹„ ¦jké`ªªÊk?’¨âv{IMm¶Œ›]#»µµl÷mk·õùSy¹§|²Óý!H`ø‘]˜ÝŽgSRžÍoiá-3AñqZ_zé%Ò¥‘.='çïx·ÿÑûÁïûÃȆÍ×{çÌ™ãû3fÌ G!¥ÕÕÕ¹ÊÊÉòô‡fMžüÀŽo¿%[w¹¾8Ü6uú,%}èÝ1 I1!žÒØè-+s“D²êñø‰„¯Î|JÈî¤ÊJ¯ýêXE¢Â"9gÞ·6Û?³ã.ï-KS,ÍÛ¯Žì~{A¹×[þI¾Ô±Ør®ƒÛ¼'þõ'9³² \D~d—WpŠÞ¤;"Þ¤ÛwZÜÇ;;í<Í‚0»AÑ€¥;‚})ƤC‘7» (;Z™I1 5Ô£Ç1>ÌnÍš55›¶|>ø×´ÓÛðQÞ¯®lÎ]íýê)ï{wþío¹dsô¨÷ðaïìÙ³ýeРAdd÷ñæÿ~[]«wcQSêíC^õå²÷Pƒ÷K·wÎïž÷±û²eËŽ÷2þùÏ\Å_ˆ[ Ëa™ ,HŠïHÖ®][»YªNáæOÿsý õ[¿¬«óVTxíWÇ*VßUל½þùÒ¤ù»m¶(fG Ž]Æá¾nÕ‘ÝñËË=µÛ<¢y¥Û3,’Ç[û¿ ³‘„ÙmÙu’Œéذnä´çØÈŽ8ñ8IÙ$ú!³ã-FHË îý¢ÝнÒ2tï}}Q[ÔÎ!;M0= ÌŽcûöíŸ_tžwέ»ÿüBÎ7zç\³õªK¼Eó¾=ä7r‰5qÐÁƒ¶ÌŽ0ñÞ{_øëÒ­.ïN·7·Ì;bĈQÃïúóß·®)ò¾¶Ý;õÁ>ö%Cl…ñPO!6G #,a‰°ìädá/ÙT\\죂‚¥:ÜD«“wíÕÍÍ^Ò5Û¯Ži$oæ!½ÂÂbâ€i«J»¥ç_úç½6Û?³Ë_2 eɺœFø7ÿG&½CÉ{A\ )&£jFvÄ¡ÖÖz‹ÒŽ…w.©wá|B†uœÔ‘]þ¿¯áå—_¶YµÐPaW)7L“.H^tSN:½b¥·ñGöj]²~d—®u.~BR7i™nÃìÔa<6Ä '~d·i{«rŸŽ÷8Åé$vžþèÛîÙiæ3uo7æ2º?8¹es»ávñfnÞÆ`vÒÀlÇ¿ÙÍ­V[Ó<ÒŸÍöâŒI|˜Ý7O?ýUïs½3¯õ>ÐÛ{ÿÏ>¹øš?ZæýçÞU7‘A³†½{½?üp¤ƒ$SVæeq¨êj¯ð'AxŽèˆÓ OÂAxÄ—Ùí\´HSŸýȽ§äØ1:{i¿:ÆHŽ÷.Y²ìª)¹{'ytνó–Ô&!>I],[v.ëç²è˜.›æDgÌfã;KŒ#»>â nÛ'a2;µÁì@ð#» _Ÿ ©ãPœnKÑé-E’Ù}¸³ýÃÀ?TnˆYßù’}Á–Ùiw±~cª³ˆü ¤ñ]¯Yå¦4=fg|¸ÅWžxµ<f÷Áå½½ó¯Ýsþ¼ñï¨^ÞI?úê†+½ß¼ä}íúW_ÍeÖPT ³{ñÅKJ¼ŒU«r¡O<ºÝ¢å=),<2T˜/H>ì£Ü+.×UçË[n"Vuð ×~uL#Y¶Œ>húÝ¡ÿ˜öç<ÒžµI¨= ó Òt:ÿ×—ÞËv<›‘"ÝàË_’–‘ž¦ÎçÛ¹g'õ*âý¸P¦1%[Tw×ï@àð#»œÿžø¼¨cÛ>•/öÒùÌ÷t|Z!çÛöܯ[CšÆ”z{ÃÛ¼×ØÝ4åiÙ¨UéÌNæd4»ì°|c’ašz,ejÑäO\.*ݳ4&s§&U07;cœîù˳ûjHJö¿óñ“O’åÜk¯ÞÜûÒ/ÿýoþ»Ž333322fÍòõ©°`õ­Ëùùùl@'ÌŠ‹‹ßxã …ü÷ö!Ù?üîžyfç·ß~ø‹k>ºâ²oÖ­ ´:ÆHþùÏNŸ>,Ü?ã RÈ„ Þ~ûmûmòçìŒwè´óºIöé,Û÷줎em­×Ï*Öf'Þø3< Â?Äâ|· â~d÷Þ'þS@¿&…²W…˜Ý¦"JîîŽì§³¿mÿàëPPaƒ,Řø·›r³Lÿ¼”†c)éi:cÊIgÙžÕíbõÆ48šü£ >z }‹¾ ~¦1¹8ã |W€³èÌ.¹ÏÁ˜úP9¾AÄ>üÈ.¢fâœVg‰q³ðݘ æÑì>ÞI¿ýò³Bú­)Œ-E§‰ÍmÜ}šðAþibvï}Ó–ó¾.¬sÓê,1nvŽ›=^ñjçU1»w?kÙômÛG»NÓ/“ù(Ÿ>~ùHηíÄéÖ}òýmM0»NN«³Ä¸ÙAP|épù©M_5nþ¦é£ošÈjî×­Œ¾n!c:âtËOxav œVgÙAƒ‚ÙupZ%fÍ€N‚ñúG¯˜à´:KlšôŠ N«³Àìˆ5Ð+&$8­Î³ Ö@¯˜à´: Ì€Xƒ=»âx ¼à´:K fgüÎ4 ðñçD få³!‚ ȾÂev@ܳðèÌ®GŸ0; †dvÁì$,0; O f7oîC ‘Ø_˜ C¸Ì.ÒO’î7Ò‡¯â.`^0;@‚F³‹hœÌ;o®X¼ã1@Ù!`ÓàÂÌ›ïx F`vØ4xÇc€0³CÀ¦Á;„‘ˆ›Ýê ‚pã³›CÓÄ;6g „ϼ¥M™°Æé&µ Ø ±"Zɵp¨F0;@‚a³{ëÙ~BÚÔ ÂÔ%!Æievïqlvš°?}æF¡_Ö§ÎÕfH0"kv¬¯Gmavž}æFup—(f·¿pIÃì DÔìèEÓ­™ªo¤s›TžÉJS&9ÕÙ<“iO+³[Cf“~ò!¨Ø¸R6G––¶Z O^æÊ´Œ! Âivr]|Å©­ö€€k³$‘4»%ª‘‘îšÍ˲îWJ'&(wÂÚ̆ጵىù9;[#Z¶å¦!O´uYŠÍO ¦µ£U0›¤ ß4¦\¾’®vb¢¾vJNû5Òïø• a$‚fÇ×?+Ã=Šb|šÌâ¾ÕšÒ|™ÍïcÒ%ñã ͘h>`“,*ÈYðó€Š!NM5­jT¸à¿2 ŒDÌìhת—èq³Súj~ÖQ7e'âÓìÄeR¦.E-Ì`…¦Ëþb0"MÏÚŠZáãÆœUœF S”à¿2 ŒDÊ쌸<ôPçè ­Fv&ø1;ÑwÒžáÇ>Ê-*³‡=ü›ˆ-¤9L³WDÐì,Gva¨‘¼ãW&„‘™é,iÄ9‘øˆˆážfY¯Ùi>‰À µÔÛ‚~ÍÎ_ zÂ9ˆÙYÞ³ ¹F\ðŽ_™F"cvýªÒ3ûyÓžw˜>סÞÅäC,ñ5Ñg²lsÆ/‚¨˜o2ÓpŸ.øi‚wüÊ€0ÙÏÙùÅöçÈâîÛ·â.`]ðŽÇaijãæ5÷ï|wÞwë‚w<#ŽŒìÄûhÚgìýwÞwë‚w<#OcÚ&î¼#îÖïx F`vØ4xÇc€0³CÀ¦Á;„˜6 Þñ ŒØ4»dfGºGH8~e@ñevƒŠ… ר4;2Š1|fØD ÿrëÛÞ¸RÜÌ+®ƒ‡ 2*\f9§cŠ»î7îæ×ÁC^³‹D„0»è+®ƒ‡ 2 f!Å]À¼â:x‚ £`vRÜÌ+®ƒ‡ 2*üf——%ßgK]U"¦dUª!ͦôf§%++/,-fiü‚Yiû‰FÑl\½¹½ô­a?§UðAñ¯0›íKå>šºëPéKÕu½vdfv|já1%_µ¶Ÿh’‰7+µ¡ a?§uð²tÏñ ÃwvQ@îÜOv@bt©0ö˜pŸK˜\Å^»L«&{„ûª„Iº0IæÞnê@˜™èáD¹j/à1Œ ú:¼J\¨Ȫ˜2¼\¸ÃE! tµŠ¦ßQ-ÜV¨ë Œ=X$§1I*v§{’mËŸÙiºðØï¦u¶ŸÈ‹ÌR³²ÔFÐ죶Žýœ¾ƒW¤\EÌãºÏlé1ÿ̹OxòGÊeÏy¯XìíóWoŸÞ~Ë(WRn{Å–„­ ‚Ãñsšx[˜uÊ«´{ÑBºé…ºÏî ~'ôùʳSy‘6;¾LuU4@MfyEÊ‹àˆó r<ãì'jsäå•x}8•jüösú ^•ât]ð§ë:»±GÖYr™)~wÉ_(Äò®YªB¼Á':'¤`ð«Ì³Ø̬Q ‰ü*ëjXÿCè1÷ A¸·Yè_U³“ÜDé·¹XÜÐ0̆Ù)IÆi:.·ä$:gŒÔó zÄTý=Kû‰f²°0~9àœæÁ«¢S—)Û…ÑeÂØC]¦×„™ÇÄøºe¶v›ÛNìOxôL·ù^[&¯J"[`‰Ýç%C–€˜¥Ëì³ Œ°&eë ]ÒÛ»Noë6«¥ÛôÆ.S[…)MÂ}âëýMdUJ™Z'1©–¾’”ñÕÒü'I!Œ+† ‹£=É[‰<˜J]•çcöÌT˜îð´7W¶½.¨[ˆv¥ ˜·39›‰¦2 \lcÃ.ösšÏI2»á;…ûJT&W if|ÄòÔø, [Éõ¬0½Щy°–2­¦Ë´ê®xôþþ½•”ñÄÅcQF—ºŒ,†Óç”LjÓÝü­pþ»ŽÝ³óŸèKMcjžÕ”ïJ¦'®òóœþJ E4|ûN­¨¡Älf k?§¿à…¾ŸÑK‹˜ÝØCœß)–'ñp“Š’8ó8ÍÃÿyÂŒ€X‡x™Ñ×’î)Ÿ±ÜSQ{ÚWßd¦Ï—& Þ) ÜAŽtS„½iÌm³ |,eëõæ fJ-çe‰J¶°Ù©p™¹´àk¤f?''K³#¤l§O`Z˜‚Îàh ÉÀËœÌ]ðìï7@'A£ñC¶Ñed¤6cYUû±âšõünjÕ¼ñ•é#+f¤º¦ýÚõàP×”A„òIý e÷\O{]éÈ+‹o¿¸`ì õ gü©Dèóí ®Þ$\¾.³óû?’Ùé¦.·Q}'à¡”p÷é¸EíS+ÜŠ‰!†]jÀ¦mb?ÑT|#ø¾ýf?§i𜄟ÿËÌì\¦f§çqU⇪46§LS€° ô$ \°y3v”æ®ËÈbÒÉÔ.~¬þïKþµ¢îõçj/¨þSfõfyžžáù}šûñ)îÇ'»L¬šOeæèŠYw¹¦ÞV:¾oÁ—m~]Eu›dv—~D{ªï=iìÁ|™ÝÀ#ÂEšÕ§–•ÉÃÈ~¨œÎ’¿9¨½ÿeïƒÕ!Š÷ ÓÚO4ga†yY㬥½œÁ+Η^Kwt½]ovÔΘ©)–7­ZMœ¬»0þ@Ìâ¸)$ôŽ[™lseÊ 8ÒÉxžžÞðö+ë^¯[ý—ÚeOÔ¼0¿ú¹9ž?Ìr?5øçwÓÜ pgM¬œ{wEú׃CŽM¼¹pØ•ï\ÿ#ÚA³»öëhš]Ø¥7»8QÜÌË·ÙÑ{Áü°n²‡YƒÝhf÷šÕyKÓ©KÇÇA‰‡ãÖx8n †dp<¥Âp édÜY÷›«_³øøÊ§kžŸW½(ÝóäCîßN®ztbÕÜq•sÆTÌ^1kØœz[ù¤~¥÷ÜP8âêu7O;¨›¿¥f÷³¯avQVÜÌËÒìÈßN·J_“BúåKQ8¿#fÇ?XEŸ­2Ù9î €è3¦Bãt#Ë)²ÙUͽ»vÙãµËOœîäŽÏiÊü‰UsÆVÌézè×””òûû•O¼…¤7ò^Ùø>%c¯+uí{ý.¤ÔM…’Ù]¾fMÅ]À¼ÌÍî'ŸÒ¿úÒg2É_häºef÷dK‰š«mhv Åï¤Ç‰ƒ7»º©Ÿ²\6òçeÃ/-Ù»tôU{F\µþÖŸÒêÆ0;Gwóòcv£Ë¨OÃ"Îõû%tãÁÙÇIüñd©¼céÆzæt ò•ÂN¯zB´¼ñydmgëª*1yg#ýþŸñuÒ*QUk*M³y¹ÝV‹9UD§“”÷Š˜¸°µD—b~8@tQÆwëË#ïÈò¸³&ÒG.{ jþÄʹc+2Fé:"ט+\¿¹¬|ÄÏÊG^zì7½÷ë}ó½ÌìØàîêM5;Ò=‚DÂÄìÈŸL· ?®A‡uÕÒ÷ÑM­[°KαûD·éÝg¶$=×Nœ®ôÃoèܿɖ­-e~—|ý¢ïž¿è±ÏHÚÑ£j„ ÌÅjWOþ8yÂû^Ô³O1M©ª»«7ËY»zÂÇI,#]Ô³×ë«É»kdÁ6j»ddGvLžM®äý¯’{-ö·Z˦‡ûÖéå +ŽwbØaL:Уf7ñæª9cÜó'¸X5oBeæÝô£å3ïTz¡Š ×VŒ½¼bô¥#/ªyqÙ¨KöÝuIöçѪßAipGFvç¾9³;çÒ’ˆBºßH¢“¬ ÞÙÉN'L¡_Óš4m›<ŽkX0³%õã3^oëjb%·—'M?Aýå³÷“ÉÐoÿE@µ«G¿“4¡…míÙë•äQu¨IË¥yÑž½?Mš@P,©Ù$gS7´É»k~z,k3»wÄ<^o ‰!¹ÿQA>Jòí†ÃrúçÒèlŒoTá,¼5ËÆõ­xxxÕ#ãªæÝã~d|ÕÜ»+gÔuDUã/¯ºû’ÊQT޼ |Äûî¸àýë@;¨þ¥Ôì.ÛGGv0»èú…ã1„¼‰Ù]\( ,¦f7^6;ÑéºM;Ñå¡6áþÏÐñš·ôoŸ.(2ìLüåÿ6’K²?!Ã.q¨EÜê•ä1’öì›/ÜO¿á<õCb”MÔ¤R›XŠˆ&›˜§^ÜÏÓ”•ÏÌîÝ$i¹ä±^,²{‰îpøáÞf)TËk ·æ±ß\ãzpheÆ(bsUsÇVfŽQ=nú@¶p¶µÑ=î÷èŸV<ß5ìüý¿>ïƒ>ÿ‡vPƒQ¿ûe15»½³‹¦_8C(Á››¹–¨ÙU3§£f÷P[×émâos´'=w†Î^þíõaëO‹^F§†½uйXÏWVWt«W“ïi“ÜçÆBé‡<ÄÑßÖ'ȦV–B§j²¥n:+ï®æ!ˆÅ³[—$å!1Ðen÷cºÃ%ôWQˆ´–GÿTÞ»|òÀŠ™©•³GUέ:ݬ_WMàNSŸÆôŒþ±{Äy®;Ï=pÛ÷s~ñ]ÚA¥¸…þe0;GüÂñB ÞÄì.Û'š8ßΜŽô®Îsw¤Îjï–qZXKr v6§•Îj~¶%yZGÒ_ΖzÎ’ ©Ÿ]ìµäûÚW¹½Òò=§e÷ÙK,IDL9¶í®ád™æÌ[%'ÊÙd³#»·É{Qd³[ŸDVŸéwÉ#æ?E»±Üp8@™Ä¡XÞø‹¹ý¢²{or¥ýºbæ]JÏS9ëöª™)Uõw§ÝX=ùªß ûŸÊ¡çìïß3çšî´ƒ"]󻾟…bv~õÞïë‚·4»áUtSžÀží(U³œ]µ0»g¯×z>x&ùZ%qõ¿ìyͶ¤ô³«*¤¤¼ZÙ0y”ìb7í%ƒD†ðPùVyç’Í5ÉW.ÒeKÝ,›Ý}mÊ^„¬Ý²Ù±r^­Q"Ë[ü ,ù>“Ãàaj+Ìõ:4Þ7ñ”pïIòÖ<:øücc~Y>©ñ»ÖÏ>¤N7}Håô”ʇV¥ÝâžÚ×3éêê‰?'é'7¯ñ¤~¯bðwöß”ôþ]iug=5»[ªéGË6»báÂ77;×eRá¥k]RâS-òÛßšwŒ¯/ÕVaëS%ܦ–…V…øÞQ³ãc.«h"iKª{™%òåø-߇ÙÑiÌ2ax ½Å,š4{9õ‹ž½¤¹Êž½^OžN‚¼GÖÙäû³ùÄn™Þ¤ÌÚ䫤œÉw|™Ü‹¼ÖéÉBÏ[vM?«Àåœ5JŠ’-éŽ×i±SÎò{Ñô[ÉᲓ”rÆf+ó¨ÉcÏËÀ7Âô3 R((ZédŽ øaéðÞÇÆõ)¿ÿV×ä®)]“ûWL¾µbòÍ•ô­ºÿZ÷„Þžq{Fÿ˜ ëÜC{º&í»¾köå]$³#ƒ;bv}¾ŠŽÙ-üBîEi¿*ö½Ê‚ÔWã8Z³ãK¨ÞÊ»ª4;Rë/ªMlËf¢¦ Æ–¤-ÀøÚv>‘5 MTÊô]¾o³ûI¾bvlXÇÌ®[ÆéîsÛ{Ì=Ó}ÞYs:–Þm¾W"SÅñ® }L-t2nþÞá!qåÑ»U2þúÒ 7”ŽïSzOŸc÷ü²lüÕ®±½]£/®ñãŠÔs+†œãÔ£ô–®»%¼sýò.aD3õ;bvÁLcav¤õ=vó›!P³³m Î™ùÀhÇöý´¤¦^>m—oÇì˜ßQ³›ÕÞ}v1;Êü3F³óíw Œ8Þ‰`£ßU?³ó®+wÜrîŽA?ÍzIþ½óï¼<ÿŽŸÜyÙî;.)¼ý¢½·ÿtï¯ÏÛ7øÜ½¿·ïÖïì½ñí¾®ËçW ï¸Xovô p³óg(t”a={¤Ù™öðÜ|4ÏÉmG@ÜügdÍÎõF™Ñßí'úmI:o,Õ…ø¾:¬6šÝòýšp“2¸cã»îémzË›/õ¬œÎñ·ÀLç3g¼Ò\·¯àáWþëšsÖ]÷?ïöùÁÛ}øöu?X×÷Ü÷úž»¾Ï÷s®;çƒ_~wÃ/’s®îžse· WtYÿsaÝ€‹«÷äÏXÞm³;Û…¢•èÝDrŸ°Ü³Ó™ÜÛ«›Ô™=5QYv*5X³£^S*ÝÇTªo?Ñ€IKÊ÷IÕ?$ts›lÙ^ù¾Ì®T1;öÚmj#…ñZ$ËcÌî`tË8m„]ðlTˆówa°ƒæaé1•¤ûOÌx¹ÉØóøVEmÇŒ¥I¿iRïÙEÍì”;htÙУ†ÿž™Ù)½G´,ŒŠÓæíLq^{‰VhïÙ©·ç cÛÒµÕ\ûØ*ßÙÔRú Võ«TºMo” Æ§ÐÞ%]¹ÚåGÝ@xqüY»ÄÃñsšXLj“žH™xJúÜÁ„½')da|‹0¦Eze c„õô•m%ã86”ÓÝ‘ì2ÜôšJîÙ¦1Í'KYç/Fv!ÄàˆÙY¶ٙßH Íì†äS³ýN±æ>`éŽûÔŽgSRžÍ!³¿š;Øé‡F²²Øç(•oȉäw@3Šq³;çÒ’ˆBºßH¢“¬ Þx©„þ€JX¬'ú(fgò•rÆŸÍ5þâ†Fâˆ,ðoèQ¿Ö[ûmpüPŇB3»bá¾AÅGG³KŒ€uÁ/•˜ÝÚ AHY²….“Qëe“±XZ†<ÌÈ–FgKÓÉZZŽ”M30Ì_2@J ׬*#;u/¹©Lù(JfƒM“‘ä6Ü—×dCÌ5ßѪ“þëLµ¿æÄI¸¿/ ‡ x“fW ³ë<ë‚7^*a0;¾;WmˆЖ¥)¢ÑðŽ“F½Iô)ɨ9Šn%V¾´;MÉIg™µ«ô(ÔRY Ô Ó×Öòe’£¨‘ø3;Ý8Ž·3¶¬ÿý){¿[áGƵâf%š`vŽ[@b¬ Þx©Dh“ÅÔñš‡˜ëÉ)êM¦Q#Ô­*†¨)A1Á†#š£˜]*?{ɾoÛhvv&ÙivÄ4&”è‚Ù9n‰°.xã¥âã|CºgGGp¶ÍÎܘ,,/ìfÇß©“LGkþGkAÞ³“$[PX¡š]¨¿T Ù¯/õ¶,TS\o”IG,]ë É;ô%›¥Ä³£Ê*«h"ÏS-òæö7Æ›”¿õ)c¢yNóò£mvlfRôµZëaŒzûS¦4%«Ê`.É&B³õ«–Ó˜F³³1© À”§"5c2ý*FS éiL©|ôJtÅ—Ù-ü‚”­]e]+íl¹¾·“˜q¨/ªMlËf¢¦¦rëQ×cµ®ÞªxMdÔÄákÛÕsá»üH›f¦Ž8 g^Ü:n–Ò0òâ3ÈF&­Q›Ó®ú|@%³ó%Ü:ƒ 0)žÌŽô¨e휑Ž7ƒK³#^oÏÚO´@nUÚÚÊŽ ©ÇiÚDm›åGÈìü¦OÆ…fÇ ì`uÅÙ‘þ¶e!ßنÌìš:Ë畆0dkYËV:‰*F%/oýÂËqèðÇÆ'(³# bôzû‰æÐ€Mæ!•ìz—ònh·|˜M³ƒ (슳#0;è ¨¬~!L£Ro*ovFYOè‰ù¥Dý²bšœ5„ßìèÀªTºe©xýDR ˜dÐ: |ŸTM±W¾…Ùùøb|]AáRÈß ³«ÞªÞ›ÓŒ¶¤Ù3õ¦R(fggSž»ãïsiîr‰PmÀ¼‰²Ÿh…zÏŽs:ÍÔ¥Ôæjºíòav0;rJqav ¿0³Ó›J2;͸O1;ó UeêRFÈìL-ØvâpyDl˜eÕì%fÓ=uéûž©¯©0;˜9¥x0;:šÐÉð°D$ÍN?rñcvòè&€;eÑ7;ëC¨´c:˜]øÍMbÞì¬:[î!@Ãä[8ÍŽ+\üìƒ_³‡¢këK­?q³ã«<^>–ýDÓ æŸæ Tè§1ý–ïÓì:í/•bÇP±°$õCåáx@ÅjÃt½Úä!|ã¾âýÄð>š¢øRn*R7‰j/‘ǘA´uÃhúRó•û-fˆ "dv û?ûŒ^"~]Ì+Àì"쯋tÀÑfˆq`vv‘fù"õÕ+0;ˆ0»!îÖo¼T:íÓ˜€f#Ä]Àºàav€Xf#Ä]Àºàav€XÆ)³#Ý#H$`v€XÆ)³3–^™v¿±¬¸ ˜—ið>PÙêø•èTìÞmfvƒˆm­ÙESq0¯@Ín÷î­……Ÿ;~ñ: EEÛH·cL‡ÙE_q0¯@Í®VœR(,üÒñ· á)*úÒêÖ Ì.úŠ»€yavµâd&¹ ’l5À„Ù9¥¸ ˜—…Ùù¹ÀY¢jvyY‚¤ÔU%Úƒ•¬J²òÂÕý†PZ¤ ˜†jhû‰©9ÔíJšq]+ù8;VÁË‚ÙbœÐÍÎï׵ʽ(íW5f$v´ÒìHÍ‘ÚOÔn—XmjmšvwM›û<;–ÁË‚Ùbœ ÍNÞ+³ÓwÌÜð®¥vΑ¶!Nô³]ÓöÛÜס`v€xijã‡âZV^ä¦1ÍæöÌ£%.`‡éô¢ÍDívcZš¯6מÁ«‚Ùbœh›ä2«£+‘2;nJN]äº}ŸSv°4¾ÒÚ®ýDNbòd—«¤V5¼²lÞæ†³ã3xU0;@ŒãÌ4&ï;V·”lË—Ù™m4³tÌxªkQò=9û‰¼Ä;pRõN:†eN(îæ¯ÍqÏp8{ÏNíµ#dv¦¾¦>v(hÇAQ’ÅG¾}§ÎÅ’ øwpûmŽ{v€DÃQ³3¸NP¾#u¿úût6Gv(\f§‘¦¦f6&¥Ùis˜ шžÙñ“cƧ-Â0²ÓÞŸâfô|ݳsÂùT¿0mû‰Z©51«©ÉÜ$ßæ6Ê×Ï fˆq¢9²ã>íû¹ÁÀ¤õCù~žÆtà# ¼_˜b?Q+ͼ¦$¥Mü}¨Üf“gvøº0@ä‰À×……:NÅÝ·oÅ]À¼‚0»|4 *„ÿ‹ av!(îæ¨Ùá'~Ñ$Ì?ñ³ Aq0¯@Í?Þ ˆ2áüñV˜]Š»€ynv–Sè L»˜]ôwó‚Ùbœˆ™~Ï.0Å]À¼`v€Ç)³#Ý#H$`v€X#»QÜÌ fˆq`v1¢¸ ˜WšݎgSRžÍåö€Ùňâ.`^a5»µÊt¦¯UÓ›ˆ¦_Ø?–Íœ0;f#Š»€y…Óì²Ó2²Ùò–¥)–î0d€Ùf#Š»€yEf“ ñÒr”UÉ&ˆJþ”%[h¢´&Ú"Í“–!&edK9™uæ/ ï¦ñ}ºIféRx’”c™G¥Ù] :8ov~¾à8È_P»_©(Ý÷³¯BÖþâ?ÙªJã\›¨ `?‘—ú=Øæ_ymZ”¿¯Ìö¼¬ÌŽyçtÓiLÎ Y"õÑ_²ÓeAJ—ræ¤k T“nV =–!]ŒPjÃ3ÉLmQÊŒ‘aavG„ £cvº_ÛÑÿtØÕc@Z³KMÕÙý•}Z ™Ù¯Ž¨ˆÿ)sþ÷zLö2=Ü¢æWÑ}/+#;nÓhvüpIÍÑ4l7z÷”Á¥[èã@³ð|d†Ùà›éOi›þ¸j€Òš]Ö*í¯±ÑÎ~•ÁÚbÆìBûÅV+i~ÆN¿—ùošÛ->BOcæ¤s£'K#ãvñ“ÇŸåYèã@>mšf€C8=²Óu¸†ùÄ`FUgvyšß6ÆÙKî°lòN³œj`›ÿNªýDsq#3¿{É'¶û‡Ñìò—¤q7Å,Fv’aqÓƒÆ<üÂŽg3–lóhzѧ[hH7Æ´ŠŠ«½E³À bÇì´ód²Ák/z³ã{x6‰çÃì4?àÍÙ­É{‡Mœ_Hs¬ÚúÛO4HjK»{©'B¬zžlõ>jÞ§1•@‹›btÄ'è~f>)ï¥Îî£@>]›Ââ´ŒŠ«TJzFv8‚¹Ù ŒöÓ˜Ú{sÚ;Ea¸g' S”.\3lÑ-èÍ|~/üÒÝdäŒI‰Í^¢•4ãf˽4 .>Üb¸{ç3xN‰ð¡r@¢ f'v°ºgÃ|Ï.Ï«¸ïÆe4SžZEÜì4 øö:çjòŠŸ¢ô'¶ÑÃì1Žãfg2v‹Ù)³rê Ñêžvê2‚wêÌÖ(ŒÏªøÙË߉€Ùâ‡ÍÎüv55ŒÓ˜^y”Æuî>P1yt1‚ΧÌÏ£òs¯6yÙßËⓚ'8­O„©Ùõ€ÙbgÍÎ0G¶ MÍNsãɧÙi²šÚ:ÌâýÂÏçìý%ò²¹—å‰ð1-j¼"˜ vp|3BŠ»oߊ»€yÁì1Ì.Fwó‚Ùb˜]Œ(îæ¸ÙmuüÊt*vï†ÙÅ„â.`^šÝîÝ[ ?wüâtŠŠ¶‘nǘ. <"\ø&Ì.šŠ»€yjvµâ”Baá—Ž¿ OQÑ—V·N`vÑWÜÌ+³«'3É‘d«éfÔÌŽt ‘ÂìÀY¢`vç\ZQH÷éCtò€uÁÃìq5»‹`vÑö Çc%x˜ î€Ù9âŽÇJð0;@ܳsÄ/!”àav€¸fçˆ_8C(ÁÃìq‡f7¾¾ÔÛ²PY}ªE>`ûãC÷×e\¾¨öµ¯‰.¤Èû…6YeõÃMÔWGÛ’jÛJ*]ëÒäTÊ±Ê ³$¢mEÕì~AÊ–…öº|ÏŒãðÞA W N4>~ fGjmŒÐ~¢JõV¯wëStyøÚv“–T›—æd^FsšȺ5`v€x$ÚfG:Ò²v g!p0ƒ;Î; %øv±0;âÎÆ1”ýD‹š[RµÂr†Ûì‡rüLËc0;íÀÐbàN³#ýÝ~¢.ƒlRô/ MKjÚÖ§Ùù= ¡˜yGT+xbå[½',d%ç|jæŸßt» ªâh TÜfÅc„hšéHéØÄhvÒ-¤°Ü³££q骰cGvšØ8ûˆ”ÙQ¯)•n2*Õ·ŸhâwTz·ÒUD7áÉoò_åPÌŽüHÞéãŸ\»5ÿˆ±8ÕÞ7©ÑïV¾íã/Û„¬¸©ì·Æ#ŸÛUåM$H:áe`çŒÇ #‘þÕµe°Õœa8îÙ™¸žÉÐLΘx×ÛGlnS ˜¿eI£R‚±—h¨¯z'ŽÏ`ù×É_­q7UÑìÈß´y»ŠÏ&”Îäí:Lêu¼úP'«¸©ì¶Æ§{N$ò2ðÆc„¨™ÝÂ/üšHè÷ì ðÁ?ÍhivêÔ¥4¨Ùù¯¾¯D6.“ ÝzrÒçd¬ýœa0»cG¶ ²Îœé ˆ:œ>Ý~¢¥‰Ô«þxI§ªxˆ­ñqQëÇE'¦5>.¤Õé„—3#DËì¸ÙEY†é²ÍÎdl(Ôô##K³“ÇM~ï‘9ovšDk³óõd‹ö?ÏÀ„lvä/[ò¦h§jKNµ¶45ÔU“z5Ô•v¦Š‡Ú› Z6ïnq:à°U|óîÖÍ­ï2°uÆc„(Ncšu°¼=‘ô°< Â¢>nÁHü샳¡kƒ &°€M«o?Q­»Ù4¦ñ6œj…ÆOjø½Gijv~¯þÍ~êÔÉS§N$'O¶67Ö¯®´ÓË%RÅCo ;›?ÜÕìxÌáªø†]´:í2°yÆcjvQþÕ­³¨sqÁÞ Ó ”D/“¥š‚úasõF•ÕGÄç6#ñhŠ1`ÓêÛO44,?î3*¦jLÓÖÈ:t³;q¢E¤9ÌX1tèŠa/Ö'­­M 55î2;½\Ø*îDMÃÞ9ß6"O[‰TœVgGST/‡*Ä0»HzGxˆðÇîïëÂ4;öNi²„¼s^™›¥÷²õ.l/>XÈЗ÷˜o ¨(kZ[ªkÜÇìõr†Š‡¯¦j 6ëT}ÃØï}ÝðÞƒ?Wkõ,W©«O*þÞÖý·!ÈË 6gªçü‘Ãu#tÆc˜‘}¼.rG“p˜yз‰%û—º|¿ vö¢«™s‡yyàeÚÎÜÒÒÐPï©®*µ×Ë*¶šÊ«¤ ¢À0Pk¼½­þ­¯‚=Ö†¹‚|fÉòÜ !]EÁmÅIuA^²ÿå!ô¯yuóÜÌÍ!W!¢gì›ò6±dïKÚɽ9÷Ò÷ò^1=s£˜gãòæÝÛœ›©¤°<|!âêÆL1ƒ´JòÏÙ¨Í Ž$®:dÅ^³¢¬ijª«;^å®(±ÓË™T<¬5%Ë{W t»›UYjVxf.×8R:-GMçö•ÚŠ¦lÌ”‹ ª5ÞüO-Áo [±‘Mã‘ ›-ªiyÆÉ‰V'°Óíã2XóŸãkþSäeÜ)0TÁì jΗÙõZÅíœñAXí§1;½wÄ]ÀºàC6»zBss%{— ºl¯1…O·J1Âç$¯s™½QÌL{ò—ïŠÝ–XÐÔt¼îx¥»â¨½^ÎPñpÕTñqU6nUª¼q¶hu3‰¿[‚ä49hn&×n¡´ÆªOªWZã·…ý@*Â,ÏXM«3nÕæ!„A*¾ú“šUŸÔy„i´VgPw¾,®ÿP*nçŒÇ0;GüÂñB >D³SÞ&–ìY:tèÒ=Æ>Ý*Ŭ=+R2Wòó|8[4»Ë,hl¬=^[Qå:b§—3©x¸kj’b^—‚CgØ”“É6™B˜ý¡e99¬ ý0„Öxusõ«›=~[Ø$m¨Víf§¹‚‚Tü5±:A^×7eų·Œñ êÎWÈ5 îú¢`v¤{‰Dˆf×ÔDÞéuÇ-Ù³tÈ¥{Œ)|º´LßøË÷Д=ËS~/M!â›]Ê/dnБö–¸¢è¾4Å:B™††ÚÚšŠÊr[Ý»IÅÃ_SóºªL ÉÌœ=dyöRNzˆÌ¾¤ƒîYšÉvi,X>Dn® ZcÅ÷Š\·ß¶¼BHxúöÑVÓ*FnÈiïtû¸ Vnp‚¼ „ž .à ™³7XŸAíù2¿B©¸3#DÁìŒ%‡W¦Ýo,+îæe|@¨(Z"½s )|º²¼!CºÝž™¡ÙKWÉÆViÏ&Kí䃆óez1‹Í3#ˆfÙTé~cYq0¯ÐÍNy›$õõžšêòвÃvz¹Dªxè­ñbvå‹ë+9\'ÕYœ]ÑÙ.›gÙ Ô¢N.\Ú ¬.S«Iö–ŽNJ¯“¢UËÚ$eéîºã¬ŠôPJMŇ,ÝÍŽ˜+§È[si˜\xˆhÂS®´”N\*mae½®NŸ£N“ݸ`Z¶~kò>ÙPV1­Îb™/ݸW'«°ëä¨ ¥Öé9,Â7+-ŒF Êw GÇìjjjª)ô¿šKRR–ìb«ŠvÑÄ$‘¤’eÍ÷™ed“œ|"ݽZÙ¥FŸ?=›•É«Fοˤðšìt²¡:;=#›l%{“׌ìNb†šìŒŒìtS5˰K®-VÜÊb«Qj!¤ţ͓բZÍCÛ@\WÚ„¦dgjgjÊòT³f§³#VsGTŽÎe¦Ûwr[k4çG<>KáÿáW¹•j¾„n]*Û])ŸÏ¦Ý[*ººZ»¶°tdùŸ5Tn×j)/wd%©Z(kájmdÚF¨Ö–¤fâ+"í^-WS[I´0Z-ìd GÇì]j µâR`¬VšØh¤8¶»Û£ÏÚ6ŒÒÂÌò–‚a-LŠÃc-&¾D>–[i ål¸å|Îäm†ö¨”,W€Ï"nb¥È…ñ-¬f‘ó«Ç“ ÷¸¹üùò‘csKEÊ%);xøP¹]Ýʨfóx”%>$©Žü5ìÑ¡¶î@|ÑÂha´°“-³«ÔjûâÁ¤7^'¯®{øáu$iðâíJ¿™í o¥û²eºÄrò›í(/›eÞ¾øáÁƒåR&RBñ™A-JŠÅäp4ý—­šÇÃÕm0wd~UÊå«ehdš‚l…Ç5cä—!‚RtÌ®¼¼Üå*w•S‘‰¾~á6u6nÖ;tý¶¾¦[Älüfš^þÎ,ymæ,1'ÍÆÉš>¿x8z(V,;¸´\îÒN6’’ä|lÑ%EÊvu¹Þ™)(G)íUÎWcæ;.î®riYÚW¸mÖLºª&º”*Ó5Á»Øv}±€tÁË[Xi$ «\žK9zy¹ª˜‡l¥û‹…“‰gAJ—›N @jR’®Ô‘å/çö•Z˜/‡œàrW¹ÜœRýt-,–ÎN¿²IÊËíÈZF9¿jÜ.õ.åÊ“vg’[˜eaùäHy¹°tD—ñ–ãâò¹¸Üår˜r(.¥ªÊNÚDùÐÊÑËùfS—5A+-€F £…}´p fwD¸ðÍàÌîØ±²câÿeâ‚(²X&¯K/eÇÔÍJ.öËjÌPf²\V¦¦LSw0~Ï2m65 2¤Z0¿¹¬LÚµŒ½ŒË[f8T™I‹WÔÛ3…o+E”mûËm·ýå+³Ú–••I‡çâÑ-ÌLÝI)X»¡†ha´0ZX[f|·ptÌ®DÕQúÿQ¶t”­j_åÍܺ~ÛQ5—öÜaLv“¯=®úzTI‘³•Ö ÅYƦ Ðt•¾ü{º2T›þoþ_üyР?iˆKSS*ZØr_mTfUB û ÐtÕGTha³û ÐtÕGTha³[³;R|¤¸¸øÈ ùÿˆ¸tD\)%g ÄLR¢˜~DÞCÌΤ’Š¥uu÷bnñ·A €½H(Ö)I–4Ë"åP|DNS"<ÂOÙIIªÐ%$95®b%’bµ äb‹ðåeeZ-ŒF £…­Z8:fwˆèðáǤ¥%qELW‹(ÛXŠ˜ªî¬f¥/ÊîÊ5Ãa帇Ղó;K‰‡Y6åŸÃê)¥–J9¬ì£†£ó°r`m8‡5ÿp{°•Zòɇ¸¼Ò„*ŒÜ8ha´0Z-Œ6káè˜Ý0•yòA~ÛÁƒÒÊACÍòA’ó .Eùç øŸvþ(âž¹\5Yåãk6êÊÔU;†²¢ßÓX’®Êlý ·ªM@ £…ÑÂha´°¦ Ü!¢cvûtÚÏý³_^ã6îß§OÔî«lßÏåÔ.rÿèb^ò~‹ýŒûì—CÐÖ¼|CšCšG“u¿ŸÌi<0ZXs´0ZØP¾!r´pâµptÌ‚ ‚œU¤Íˆ `v˜€„f á‰k³{zõG:!Íì¼AP'SðfwÌ‚ ŠÁì ‚ „Ì‚ JxÁì,U²*5uU {à€ ‚"®ÎkvÄÅäï1w3˜AP¢(Ì.ER–l‘Vw<›’òl~äÍ.Kµ¸¼¬¬<“¦ÙA%ŠbÂìRÒ2R,Ýe³Ó;œ~¨§1;ºQÞ!/Ëb,AŦbÃìžÍÏNÒ×òf—¿d€l=¢Òtâ‰t=#{ËRiAöG>§”"/[˜q,*Ó1]žè„º‘]žlyFŸ„ ‚bZ±bvž9é¢yGvÌÿ"«Ê͹6CHËñhG…6ÌNó’HRÒr<|Š-³M“fpGg71 A”0Ši³SÌ‹:šh^jмÌô¨dã³ÀäiL³t˜Ç„ J$ŲÙå/ÀÛÉT‡xœÙòøŠ³+Y•%{FvA ¥X6»¥)òŒ¥G™É”‡x~“˦ø ¿iLUÊÈŸ<€ JPŲÙi‡l²Í׳|@…O±mvAP¢+–ÍÎÄõÒ׺̂ ¨*t³KŽ®Ùå¤Û}fA1ov¾éˆÙ…Ì‚ ¨ fA%¼`vAP«š€NH§2;À0; Ì@³ðÀì$R\´“¢ŠÎašl5²ÑT7bXAEÅ´Ù™NcZçÑåw“›`4~*À2…—á£zSóª·õ¸DC‚ (Šm³3@Å:7#À=;‚ (ÁC* 0;‚ N(˜A”ð‚ÙAA ¯ÐÍ?ñAŸB0;üžAê„f Ò©Ì°Ì@³ðÀì$<0; Ì@³ðÀì$<0; Ì@£3»}av jvƒŠ… ×Àì$*0; Ì@³ðÀìøÿíÝk[eÆÏ… ‚ˆìFæÝîôÚ›9( øCeÿ‚ëÒ »R¶›]((¬[ÛÁðÆv^L‘Ѳؕ±5C'¥Ýº”.I»,mš´MÓ¤'ßI³Î9ßóÙ“s’³|¼'ÍyÏsø’·'Éû{“>ONšó4*»?®]àÅ‹Êî ¿t6lذa£¶ámL̃²À<(;̃²À<(;̃²Ôe{+¸}[™[‹ÌvHè/ëPï…èÄWï/b_GùêÊ_ñÓ9ËÁ™û³·ggn1Cpñ|èK#[øväÚ‘ç¹£gØàÐñs_ýðKrc‘_GùâûìèB’p94—Ú^-—RláãĈxÁ×i¾ä2IÂ/ÎŽÝõ³ó·Áh’}7ò›ñ•?|ØL|Qvt!¯ùYJB bD¼àë4_†ä5¿ïaä?¦¶ç¾‡OˆŸ Ã×Q¾(;ºÌÎÜ:ðì²â_§ùÆV渣gž?ÿ— nÏàÙ³½J©@¼²|¾ŽòEÙÑÅQa_f¨ëK^ù“ÐØ¶§¬P-— ¹LŠxå2kðu”/ÊŽ.Ž Cø2ƒIÙU«»Õj… vwËÅ|†O%L¾öÅÜeG— í»ããw“Ý Cø2ƒIÙU*%‘"”Ë…|.NÆM¿ç|—‡Ýîáef|;ÐéÐeG:a¨Kòf‚ÝÖáO&?ziTfl~«õ%ê}ß6›¿åŽ—Â´ì¤$)Ðeù²›S6÷å€0(Ç ¸Ã”‡ŒŸž¢|§år>ŸK¥“1ÓðïÀWœ¶¼þ“δµËÒk¾&ól4ít:ôEÙÑeש¯P á®$|W}Ûplã–©ú*aH2DˆŠ,]vqî¡%ù¢w@ì»òÒ[$g8×å%š÷(Q*årÙíÔÖšiø·é+Hqž)åâÔÀþùŽP—¥Ç|_2ÏFÓî@§C_”],,;ñt~Z>:ð…ÕØTޤ«ìЋÓn–]ÉïSg¾ï¢ Ù×·IÇšTv3î#?ÈO#óãò‚Œ?ˆÐõ•ÂPzvs„4#¡Kn÷¥zªû)=ŠÅl6“ÜN˜…»¾FÜu¦q)GzâOEÇ‘yh঺ šaôW õœ¯Ý<Õ‹uu„ÓSnÝ:Xûø¢ìèbmÙ©ž£ž„¡¦õjG’ÆF§ý½þ|e5C#ØÝ·YÇTxZó( F†}´Ïã³…ž¯†jŒP#(Ä]°fð†‡;5)Œ»HÓ éÝW-…B&Ão%7£&áߦ/™[èù*a˜%‹j/ºÝƒ5ƒ$û'É8 Àá~NÿSj |†O$7WMÿ-ß:RÊø~ø_ jw“Î뮨Ý_ØÄeiwA,ô}é ¨vuujv&>)>Ë_”]PvùjçlÌp[û6é(™';ø}êþ&ëÐðF(øJa¨Æ=&<\ßp@3t»Òi ÷qž ª÷(“Ïïð;›[+&áß®¯AJòRk먃ºÑô„¯º"tjÆë-¾(;ºPúhºß§ùÀžü1ê5» ûØëm½FéMŽkä.мiiXûù6ë(»ø¦'”¿Áö1–]Ç-oRv…IÂL>ÏS$0ÔǹòE’uœkh!tɃ C.q„êr¹ôfbÝ,üÛö¤¸~¯rÑëé÷î)ÊšÅWõxÕÛVCs‘Ïk¯ÒK¾ztó”/6ÐÑîìíçÚlÉW.»Ã(;:Pû?¬ºŸÄЗ›â‡H6ÚëŠ@ª­QÃ;xv÷mÞ±dè/Ý>†C¹ð´…PQ_3ÓE¬yóxÅA9¥¤ôÓ½Ó\.½“ÞH¬GLÿ}_­98%#^å\ž“š¯õ%g´K¡¹Èé®Òc¾5èæYÏn_G;ÈôvåñEÙÑÅQÿt _f0);5F ›ÝN§Ö7ãOL¾ÝàÑ—ë£îú¢ìèâ¨0„/3˜”#)6Èf’©dl#þX Ã|ÌW.»®ú¢ìèâ¨0„/3˜”ÝN:‘Novö…(l I^[ G4™8|勲£ ?ðì¢ 12 øÚF¾ë«?ç›™‹GCk«Øjœ±/dþÑÈâ“¥ùÉ;wˆW1Ÿ€¯£|Qvt .Þcò›¬‰|æ»óùý/Ÿ|3tõº7´ðÝ .Ü úÿž¸9ù‘gðëÇÊ¥4|勲£ÎrpæþìmòR™%?|Ù ‘ïv"@NÏ^ùýȉóÜÑ3l@^ó÷ÿôk©”Ú­dàë(_” .|*œå£ÅüV¥ÌïV²ÕJ®ºk!{{ëÐÜQáiµPÝÍgùUø:Êe€yPv˜e€yPv˜e€yŒe÷æg›Rß½úiªy„ÛzÒtïMkËîõÃo|}íãǯô-7wl¥È8ÇZვV°nÚ­L£%Áyø,šƒ…v-=1lø,jm™þ…ê‘iôDpY·nVþB½¿À½{›{çªPv‡® _l'0ªœ±ˆÑV°f‡-úi´´nÖÝrk‚£-`ÕS¨¥u³ ×Í:ØM€š†eØî·ÏÚgòUáÌÛ? e÷Öá`—ÿ~¶;è endstream endobj 354 0 obj 27855 endobj 356 0 obj <> stream xœ­WMÔ0 ½÷WôŒ4%qÒ¤‘ªJÛ-+Ám¥‘8 NÀ‚ ‚ ÇÎg?fg$4ÚL7uûù=»#:Ùþm~·¢= ¼´à×^ûõÏ—öý«ög#[ÿùóµQF Ýsã×ø‡føWþ›í~´ßš§Wèš·ÙÈ>=7¯ß>ëvùÕ>âíä~>7•Щöü¹}ý€×º=?BNçïÍ›sóHúO6×ÖvC´¼zú0 ˜Ô(ít’£p´Êé~Û_k¿Â]?LÑDš FÉýtR£ ž6m“ÚNz³SŸíâYðCðGõ£X¼MíK (¤˜ZÇå,bOþpc™NzL>!¹œ>žßíÁ¤⤜èL…Ó‡¸úò«Á­a½£`ïsàr €lˆ”a²!©%¤?O)OÚ`ðpMÛ3Ù9Üdo ncÆ–òæ›%¢É·¬îú®žÝ”L™w\àÊ0À•€R ¨‡èl.’“RG.e¯‘ý…Ï >>c u“3 i–ŒQ„ª§$ã$%;×…*¬P«0]BISì2bë6Ïmå6ç.àqqJ¶_D[õ¹;dEÈ•R©Î,;DÀÃÍÊê&]Ùé+ÎQ…ÁÔN :AŒT$ÍBÅ„U[y¹`ïQA…H„©|:8 ¬ëÜ~Àe)¸Æºji°'7»¡ßµžkwzŽQ«ÀÆT:*©ÒGZû6æ+Øo+/q¬îúu~÷…€wûo%ñ‚娗sþ0m:H‡Ñx‚ù€.7h¤;›J­9<އ§Š”ÞID€1Ò¹÷vf’\K­,žRœ%ãYå W‰ÛŸÁ‘Í!@ê–Û6 lUUŸšDèßå]úŸ† û3N(:||΄q’vçôtôz,)Æä&wö²,‘là¹v²!€¥Ê‰ØBHý*d€¦òËr1År J(%WÃò–Ê, È0<«¼½·½L„òœ®·Š×‚“nض´ß5»ü8n­¤iåj‘ÆýOµHÁ¶dÅ»\§ƒ¸Õ:ŒKBʯ6¡*Ó¿çÁ9‘µV@J„ç‡n“'æ|CO+Ú¾T}ld›ê'•ÆþH±…Ãl9ú©Ë Öéé¤dI<¨@¾ÅÖaÛ ;íe¨{JÙALÆ>½UÔõ“)ú´Av+æJ¹€ºV.÷¹å-¥ $ØeÑ8S¼ü]£÷_L”Œ’AA¡´Ýþ¼1Y&ŠÞ¡ê½*I…Ê<âRï– º À®¤“ºöZ:Ííʱ;sf#ü¹å¦øîƒý¹/)PP‡F^¨$OÅ›…’æîEžotbBMöebVSeÝžÜêÑCñëS×ïhWÈä±ý{ŒŠ endstream endobj 357 0 obj 1033 endobj 359 0 obj <> stream xœíËnÛFð®¯à9€”}‘Kɤ€öÀ@EOmÝ¢ˆ[4—þ~ç±!¹¤d»qœ 0BmÈÙÙyÏì쪃®þÙý]©j¯`è >k‡ÏO¿V?¼«þÜé ÿ>ý¶³¸Ç>?Â?ƒ_˜"FøËp«ßwï5¿f üûùq÷þ»GW UàsB¾ßyXV›ƒ­î©Þ_`ìªû‡£Òýý»ñ~÷Å¿ î¼?´ÞÀèáÇ£2½=jßïõQuôÔýÞàk;|š/}ÑMoŽš!ê~oŠ^ÔôÂÒ B2…Ó¶¯3\\ËŒ@.UÕ€0S\V™–Hbàpªs¦”1&UŸ«±^$¤ëºÿ¾$º=t•s>Éϰ<˜X3ç€Äßîi•}è 7!gF ×·$Ÿ@Vs4w4ϰ|}ð(Ul…ÿ׸PƒÐ´ ΰ»I³5‡fN5ͦÓp‡G›)â83kDøM E´ö‚Ìò°%”>èi“`Ý 3}&Á%¬#ÝõÍDôS¬ÒÕ‰žgšÒlÓ®,<_H{G°#t< )Ð#$×*X3‚g† B˜»¦5ÙºÈD[ÖiÖ£½0¤ëz4ž>¢‚Ÿv”ÿ“OÇ‹Ÿ2óvF¢‚(á—äóܺ%M›<̯-ÍafíˆñÒXhe¾‹œn)Õ¶Ý¡~¡R‹8Ø—KîíØ«H=ôžÕçp(Õbb´œ€ ÙV®štd¦ànf7 ]ò ´J³0Êd@³Y›"ö5$œë"÷ÿm…aí0…"Ǭ}a—¤ØQ#BÏ †ÄSe„¡ D»ø¾ËÁºL‰ ”¸ÈT k ¸ÞàfœÙ9LdC!A“·JÙî21|¢7­à!Ö Ù°üÄüÁý“åZ Â:˹}Ä©Ý4¾Få:'¨‚ЩQdc–áBÕ‚Ù‘—¥2l¯æšƒûzM}“5í¡@2‘5}æM ¨KEXHņÚ¦¢ŒÓ¬>ƒù˜P(RvK?`lX •‘Y“ Íš+„kgdV%-‡›ñ½€C»˜´‰X æŽXð=y6IÓUËÆ!TPmžè½f¥ 0¸Îea†0¯Ñ„ãâw‡ žLú‚SBBc+¹WÏÅÔœd v½Ë CÒÇ@îhÔ¦¬MÛÆâfSÖ·äµ¾­Åñº•—z©^’ž¯ëÆ ô÷uP ”FhÞ3'Wµâ]¬N¾­úZß%äDfrÄš¨‡ ˶kš‚\e^«J8pÃê£HT¶"(ÚtD~\UVY1tÇPÌbå Šªå˜(¢7ì¢Ï9æ°Šš¬¿9–iº¨û&†Ý¸hÁ¨Äja³×†,oRƒßS¥è½Ô7TXµ¡ž'âyVªÌ"ÅAÿW´íêX™<_ÛQ¹!_š$ãÀ€”¬aì¦3ŠÄzB…ùœlL¬p£&ÙƘŽ©†],ä“¥–Ö.E?—¬âFTs;¼$Ã[«cÙ2L­F$¿³(}ðô¸Ð¦ö­Ž•âW•ÿëhÛæ² ‚d[¹9@K66šÍЋP¶‘rt¸-[êy‘ûdŸ\b8…ºUqȦ”ŠÄ' ´CX2wÑáE`R.Å•t"¦‰Qµ5à˜Sfˆ“˜1B‚ÑÖ‹˜Ê*sÍjE’sú‰yÒu—ÜMî6X’+]giâ¿›&¢Ìb'ôd#)àˆ–ž6É)¹­žê‹3×X‘!K©¼ûšj’œw`f¼^Üè¶}ñF¬„C曎XŽæ”ª›¸YCÊe`^å>åÄ=·¹©pa2ôV'³•1e›qÈÑæÆ“ÑÙ =®-,wKRw'Å–ujM䯠©%rìÎëÔä®#.3ðd东ˆL¡[™‘W#´]¶ZžÚJ-âè‚ö®¸p8I§Üž²µ`ÊÏá@&䬶Ȱ}=ANênï°lŠKßÖ+ÚW Ç+tž))ËJà®^PŽ¢ ,–AÒw¢Ë\ìR¢k®œ§ùiŸrS¾b¿¹¶ó—ù¶"fãèà9Ëy²™uþ8ôÆmÛbsñüVâ q¶!)hr_1¡6µ<ÿ· ÏhA%1Ûàù)¤óÎ˧,Å' éev&!³ÚüàsÎÖÁ¶”ïíM'ÕoT௩DmuQ\^ò’KÊÔΩ™”d¤’ìMº¼¢Àú–Ãú7*êWWßRX«Ê ·i¤v¹0‹×WÄi¦ÁBZɹ>{÷-®èÜM·\Þ¨ÜËß6K ?ýüÒh-véB×&äå|·'î("•ÜEH.é'wSÎsÅ¿à™ÏŽêå©q¼|× ‹E•Ž7 <ɶ”[ÓntaañúZ8Ò_Üb H§þQùÁê¤!ùCÁ*øþ›þŠ†×ºâ¿z²?5T^‚î ¶cãß#šØ˜‹Wê`‘:mQÜ´ÀHêøPý Áõü endstream endobj 360 0 obj 1902 endobj 362 0 obj <> stream xœ…RMkÃ0 ½ûWè\H*ù#NÀVÚÂv v;mËÆh7ÚËþþ$9mR “ñü$= cMðcN€P!‡Ñ /x~ƒÇ|9çwãdÝÑøcÿ9eÉ¿èðaÆ—.tÉy9šõýÑÃöz¾¾–ß &r[²µƒáÖ{Ž= cBÊç٠¦W£rf¹±n/zËÑø”Ðf—(æŠvŠ”++´Ä^ÐÞi¼Ï 5Ù&*Š+—P‰ „SB‹ÜêHdU˜u—^vǤUH¸Ím-‡¶UKEÜqMÜÌNµ‰Ý«´áªÖM~ÅH—Ÿ‡‡¿âoĵ‹ þ³7Õ&R»è¡–Ë„jŒiÄè§K¥­Ï^ïBYiµ ë0ª¼tÔK¦ë”-ùí> stream xœí xEÂ÷xYùÜo_]ÝõXuñZݼ¹4 b8!D˜@Œëµºî~îê² Ë%¼•x¡"ˆAƒ.rå" sr'„3 ô[Õ×TÏôLz&ÓÓ©™ÿÿù=óôTº»ª;3õKUwfDQaèÞNòÂÃ)CòF £‹…ÇÊ„Iòc§)Õ¤*á± ab]˜¨2¾a|=k&T‚pǵCÐw£dôqh…´àÈS©dh©0¨ŒBèÓ Z>¨Zx GôY^]§ì6çü¥/‰¿ü”^oš/öü‡Øs‘Ø{¥ßbÊK="¯Â/¯Øþ ÷W…,íÑT:zˆŒÄM]g´‘ =pWXç'ªˆÂ:Ïhè–t¬©‰ìº¿SˆË~›â„HM†-dˆ5dا²Œäñ‘, RÈ>•¤![‰ÐmÖy‚0¾Ièã” Q»„‘%ÂèÃâj´:b´.‰§ºÌj&^ž=ßeŽH—É£V(/È…]g_ C9yM@ØÒiÆæÈ/Y²#d:Å7wŽ;×eúÉ.q bN “…ǤÇÇÉS¥$¦^ab-}$%c«•©HRBS* Èú8-6t¯ðX¡“IBl•l4â2j4П’&iÄ5:ž¬¥L©é4¥ºóUzgÅørÊX‡Ñ“ÌèbÊÈ"B§áÂz‡†vÃQؽ»…+?¡ ëõý)±Øèà ŒÈ4—)<ÝèD+œVG×aÕ ÀÄ*@¸C$å‚,,7I©žRm¥!k‹8‹ð@ŽÐoQ‘á²w”…¨]ô¾DÓp1-!+È7+NbÚ,»@Ø¢ªØAÖÈ’ˆGЦ.¨pÔ¶xºÕÐS¦¾QÑGòWϨ¶nÝ(ܸ†Zì7Y¬ÌÐbš¹yUH÷ÞWèü¥ AØ¢½€Ax"ÿ¥ A{IŒ,!#/¢°æâ‚š·ž­z9¦böØòøáŽ©ÑeSþPöäÀ²Éý ¥ûJ½“2úŽ¢á7í·§óC®£ž’m¥¹lJµ³p’~Àèî_@Øb{Ï :t°DZ(‘F £ªÚù:þnʉÕ/½fþsÕo$VÿuzÕ_¦Vý9¶òÅÉ•/Nª|nBÅœGËG:¦.‹y hl¯¬A7|9ôGu³2»m§»ÅèÜ£¤°‹^È»ì/ÿç¥#?yñHä‹G.~¹à§.¸ä•#½x8ò…Üü®ÏžÍ^®¦æÌ"Ú> Û{Q`/¶÷ŸÀvs± C©Åªþw⣥ k–ׯø{í‚—jÞšSýú̪¿N¯|5Žˆ¬êå)•Ï?Q™4¡|Ö#ŽøaeO(žpoΛ?¾ó2z/±Xì×;#^{ Gù€òòKØ-$d ‰YÂÌì.sr"f“ålaf&}œ•ùàR‡Ÿ90íôùøß‘§Âwc.€+£:… /¥H«LOüu|ÕüºÅ©ysvõÜøªWžª|aRų*f)Ÿ9Ê1}¨cú:Çó@éÄÞEÞ•3ìÖ5÷\I-vOE¶Øk -¶¯°`sΡ͹‡7禔C´„<Í9ôefþÆìC2ó?Î)½wþ~aÄNX €+ž-V1ë‘Ú/Ö.ü3QØ™=ÛhÉœ 3G;¦/{jPÙä¨ÒÇ{—N¸”7}ýiÉØž…£ïÈqÛ§½¯6¶Ø/¿¡£³>9ôþF2ëni6ûn‰«Åžo,dn))L¯²ÿLžú ö¾™ŠÆhû›äµ©º… D€Šì/ÆbåñÃkÞH¬yó2 ÓºRIa—M~(¬äÑ»´ò’Gn/|äw¹Ã,&Ï(‹‘’¥»ôÇÐ["¥íÎI¸hK+9/ŠÈJqi…Gíb>û±\x±‰X¬èßË/ºrn÷‘;hsw–Y÷NIÚkaíyç’¾ûŒãŸm¥§«ò9Û; c¤¦ïÒcc„ý„ž-æˆTõ×ét"ñÕ¸Êç'iÂ*›2 ì‰~¥ãïq*lÄM%#o-u[îð[?½ÿ*j±ûò©³nÉÒÅ4‹¢U«kÅïc±é+tµ·ËÒ¿¸Ê"S-ÙûÙUôº&Q¬]1ékÎ’ÔE—XÔE{Ù¹b±î¿—Žkiy¶õ¥:¤&`1€­°ê´XåK1•Ž¥IW$ŽÑ´U:±·SaÃS2ôú’á=ŠFÞ²Ø-kïÿ•b±»ó-6²„¦&Tªk6ŽéˆO=¨Z¬–~¼±ØKšÅÓ½zþT}úQä0º¬M6¦×Ë?e§‰4SŸ¯¦åc«é8ȵ°vÈ{O¥VHÅÚ‚œ½ ÒÞZRÓÏjUD§·èªkÔi·{Ïê««wÝùØj†Õb»èÓ¥t[zÈ=îŸivƒ~çg“Ü–±´Úsü”{®Zls„î (h#²¡²ËHŸTúDßʤ ôFÄ?=Q1gBù¬ÑŽ„¢>e£n*ûã ¥Ã~]:üúâ?öÈÒcݽ¿5‹Éñ[7R‹‘ÂAeÒ@Œ~Ü¢´ƒ6ü%Ñ’ð?y]Fî!sŠìEÚ‘Ò.½ÏÝÓ¸z²PøÙ‘WÌíþÒ!RÁÖ¿Ñ~zÑ•s úŽ_1Gùö™ˆžZá±çFÔ㤙Žì¾Š÷ÙŸFÎíÞ3g«ÜE_A×ì>ÉAûð⽃û¬òïZj–‹#ú,‘–kWÄ)Õ¹¶aœÒÏûËWkÕUèvÞs·ókqÆ©“ —ž£»zi®ñ1º5{ȧÉé]1N:º“ý¯Ž`&·|ë?k<7ÌC¹×£Ò㫈qÁý~1Ûß;€ŽÀ¨=tº¯t½3GUÎWù섊ÙãÊ¡ÿû<íaMaŽq·9Fßèy½cø5Žá×–Œ¸îÀàëÖÝ}9µX¿¡÷!e8FÆb—¾¥³˜ôqÁæ-6sYVç‘;»Ä4Ó#¦ßƒöâÕbÇØ§ƒ?&;<¹bä\Z>î¤lÈ®+K·#GÔËjPS»bäÇêVݯXJW±7bÄIµ‹þ&bœ³®îä©f²geyéàÏZ Úðº[i'ÑÎéªÓvÎ~ýŸÖ’ž{•eÇ"»ÁŸzÝ¿Öì…ò¡>7‚î-¢Ï7Ñ|o˜[¹·XÍØ'ªÈHŸT2¦—ãé¡ÏŒ©˜ýhå3c+f=R>c¸ËX¬bì\W>âªòáW•»êÀ «>»ój±>%BŸ"j±б±Øµ9Tmƒ¤{0œk‘®‹µa±ÙKötµ·Ë”Óô³ô“øó9ELý‹©×–µÈ6yn§èÒO®Ô­¬mûæ)Ú˯ýŠŒV”‘ÔÈ¥‘£N+½w¯LEšŸVºè¿`7'{SëŒfڰ˨ ½ ÙÝFqžŽµê´ë~ä<וƒÉðçÆoŸËl{ÿ2ÑkÕmÏE?Þ˜D7,üÑÜ(uçm6Ì­ü¹=žk7> ¬d|Nœ.;Aû¤?þ¶ìÉå #ˆ¿*f.OåìPãúÉ N5T޹®rä¯*†_Y6äʃ¸üóžÿ—Z,ªRx°˜ŠìwÔb—ý‹ZŒ<¥«¦³‚“å¶M…ZŸ]´³ó˜Lb1ê²×š•ý¡ŠiQOõ©Œ½»zÒíN‘ ùïòìÓ}ýo»R‹=|œ KY¯ïœZA§'Ó¯Ú¼üÁ—ôyó’ÞoÒǾ,wáÒ{_è<>§sü…NñÍ!î¼0ïB!㹌…kɈ r@ÜÛ5jñ…Ô—·EÞ¼-bn+»²(žyîæ¹Ý¯XñTsªCÝæ&¥«¡öÞ÷äÉÆ¤û\yFYtÚsU‹ ¨VªæqN·ìÞ†§t»Þ¤Já1ýÎÕi¥O´DùQ[û§ë°G]Q2ø z~˜ ÅŒù˨÷óÔ0Ï 6¨ý\R6}¾õ¯t¹ÁBˆia¬³VÔ&Ðû«=xeñ¨ß•NìMDvê»/¨Ââ”ÇE•?Õ¯"ö¾Ê˜^Uo­žðj…M«ª¢êxð'ï‰øì¦ÎŠÅÄb÷UÓÿ}VfK„¡5ôJœd±Î1µ]b*ºÜ#óá3ý&ëá²]—óÐ5yý*ï—xðÒ¼~?=pÿOòîþ¯ì;:m»Uø¤ïµÔb£Nê,vé[¬Å„ǵá˜<"ëÎÕes”Ñ™'…ùvtÌ €Ã}jqê²Sõ²¾xó¿½xÍÿýIÏK>êõóî¸dM¯K?íuéÚž?[ÇÅŸÿî¢ ·G®¿µëú›»l¸©ÓÚßkú^[½?sêÂ+Ò,&?v‰i ÐAÙIÅe23Zeº$´¸#·YÇ0Çþyx@G@w§½Á#bÒ™©KšDã¨m% ‹øc£îº˜‹Å†KßЪ|e3ý÷g!†ÞïÑ%®AM£Y¾/‘…4X½= Ûïöbû+ØÍÄsô• Ý—¨Üf?î´0þ …,Œ=IGUò£¼ 1ê„0ì8}”ª]sÁÅbTdEB¿=€ÌN³:?D¡ß›)Ñix ýM";í[ÏÜ¿“šý~@Ø2¨„;Ä)C=¼Р'ôSéXyú Š\B{¢Ü—¯||¢üiÀÄY†I-&‰Ls™!ò m}fCä×[:`ékLþ*ùÅ_dv»ëðåñõ‘cÖVå!ºAèsX¸î#áÒÀbøÀ/°~Åð ,€_`1ü‹àX ¿ÀbøÅÅb?ñl±¬¬­YY€lÍÎÎ0¶X¿áêw¼[Œì!'g»íζäæn'2r)4c±ìì­99Ûlo?€0'7wQ[bÆbdg{Ë€Z:°Ò ÇÌYÌ`*>.J‚Åp,€_`1øbÍêe¢(ÚÞ XðkõX ¾@w’à×ê7°|î.$Á¯Õo`1øÝ]H‚_«ßx·XdÏCÐbY±€0Áýõî.$±ú׺dÉ’… ¦¤¤ÌŸ?ÿÍ7ß$Õ¹“””4{öl.v©ÅD ƒÀbáC,¦½®>ý4½©ICï¿Ö©S§’þõ¯Õ××—•”’帧¦OšôĞݻÉO÷å–}ä\LÜt/û'Ûž8A¯@k±,"‹†±¤¤’’§UUâÌ™3½ï„¨‡„¬ÿùçß²9ÙIy¹HÆPòL`AAÛ;1l‰¶¹%ÏÞmòÔYg1æu»%%ªoʺ€½’c±®*ÅÒ¯3•Ô’íOð†º²¶ t¬‹ed¥ÂŽJ´hs}µ·•°yo‹¼à‡Å¢-}SöøûþÒŒã§zÈ›]´ =Z,-Akl|Zàjç˜6ÿ8éß¿?‹}µéË?ÛQJü2·1ú¡Ëß^òá×y‡OˆÛ+Å™/¿éeó ÔÕ‰2￟®‰ƒhHX( a¾@Jf̘áe'iiiµ›¶l{ð¤©9›¾ùöλŽoÝ^_/:â¿ÿNÆPÇŽ‰GŽ´±O-‘wBFdÕ5î|³(bN¶ÉSgŨ¹ä·R _αXÝ¥Uµ;ª$+Å›3YG¬}} ‹+aÇb[ö!£0y 6|ÊëòXŒ(ŒÈ‹@J6J"#øc1ÖBìzÿÞ_íôÝ*6Áå½ï¾«u± ëäå-Ύ°aƒ™!ö„ñãßúGÊÖ2qo¥˜^"6lÄÐÁ{wëª\qÙ.1æÉ©^¶%î ¾yï=* â/ É‚3“„¿ äG^v’••µíšËÅ™÷gÿí­Ïï¹[œùÛŒÛnmjI¯ºre:Qˆ:Ô¶ÅÜ[òÑwUdh–“S@Ô›ZÔ%>óú¿å™^PÞûmÏ(2MÕÖ××nÔcQÒç ë”5e'º¶“+LNÇN‰Yôùå{Ää Çä’'§<9ó•¥ÓŸ÷¾aJJJZZºÌªU”’’Jy&¼%ÌozL˜+„WïûùèÆ›ÅW8úÀUâ”[¶_InÆö?ÜL¶bEúòåéË–¥¿ývzBB‚O-Ùµ+ï£Ò&ýi9 Óþ±1ròw×&ýgÈâMž:ïëÖ3ßÿëbëbå¹ò’¦¯1åõ©1%ä˜/ÿ…––àõÍ¢‹Qm½žË^䢪¢OãwLúú´"8 —Á—ÁXŒl®ÚJ[GÝ!¾ÂŽÅ4‹¹ˆL[&: €ÅÈ[OYv{»1ôõñ±ë=ZÌðÏKiÏoLçÀJk€7‹ÉÒ F‚†‡ Ö"0Õ¹·“+Ì_›•øÊâ1cÆù´ÿääd‡C”yçzû…‘QQØÿ¯ýrqô Ç^hÃbÇ6}›qýÏÄ©·Ÿ|Õ®ç^ ;‘'‰ÂóóŃÅøøx_[Òc»׎[3cÑ~ýÔ×ÝŸØ´6ãÄ’%KLš±Å® „Å”—3°R^ilèÖÇÓ—¢òž"â“=ïÙu,¯W;7è2oÂbΘ:šÃd#hìXlã®SÚµ0V^šÂö¶lÞÝŽëbº©E—·›|AÊå/IfÙØ#nº1D· 3ÓÒÆXŒ¢±Cõ‡`¸Žò÷°¹vvH¬¾õ”¸£¤D”!C'¢žêjQxC^§C0¢0á%AxNžñf±½sçþÐãRqÚmâ=ÄÇýõ¯/«Ü_X\L'É(LVX^žøôÓOûÔ’º:19yÁ-“Ó¯óqäÈõãg'·¹+-&éiª$ϯg: ['¿$å9çÌq‹õ”†];¾Å\œ‹vÀŽÅ6ìtò|uIíðMYL¿‰ç7¦sB lëEe®Æ¥Á^.ϵ±¯.³Úbÿüç? E™ÔÔô£Gé}€••’Ë^ž?:P˜#äæŠGŽñ²“ô›nçܶÿ®Ë¶ß}8â qâeÛﻇ8èÐ!ñí·Óe…‘xaK, ·_^4ð½)Ë §¢Í°Xj1iȯ¾D™¿—\%µg^B”r-396!>ÖyiØÌu1¥»®yµgFQñss×Mðv,¶þ?§·å¶î8àäû<:µøÕþÖÏ3[4ÖïnNßyª]3ŠJ7îöv#ï5ùŠ•vç°ÚáS¹XLPfQt›ìñøÆL‰bêÒfùŒ,FÞæêæžÇbžÁØbîí´ÌV`µÅ<}ônff¦<f +W®ô²“ÿ<4`ÝÏ/úöµ×öîÞýÅí¿Ý|Ó ?®YÃ~~obbbBBÂôéÞîùwoÉûï¿GŸúÙɸqã>úè#ï;a±ÖbWÁôS.óU씾×Å”#­VlãîÏ“.®¹ÝÝÁÞbx„‹}úýéo³ètPòœ‹mÌ¥¤g·®ÛÛ²nwóç;Ûsw‡<,Ҍþݜ·¸«7*¨¨øXãQ’´Ú<—M<½1ÝÆnêÿ×Ý£¨5ÊØPÎÚ·¸B3ŠL;¹ÿÌî7[ÌðÙ€#ر˜¥\ƒ_«ßpm1Ÿ£:<.c±¯öÒOJü.‡~^‡Ì–Üâ¯/³[Ÿg¶‹}úã¹õ?à¨Â üZý†k‹ÙþYåxÄ£™GÍbŸ|wrãîs›÷µÐϘRÙœIoJü\býîf¢°µ;Ï|¶£ +ðkõ®-† |åHéÙ?4lú±qóMäiúÎS2Ÿï° ò}È‚ H˜$8‚ ,€_`1ü‹àï‹„Åt` ,Ö¿@¸z•›=ë)ÐÁ9˜“Ü‹Ù}'¦Hzé¨ÂºÀbN šÅì=LY1¼Waiãmoø,ÆQ–6Þö6€ÀbUaiãmoø,ÆQ–6Þö6€ÀbUaiãmoø=Û”ÔWú¾¶Z_2n•e‡éM1+Æ ÂÝó6YY… Òá룻ÅçÁKãƒ\#-&°Ýµm[=¯·3NˆI¶¬ 7Üö›×îz'}cýyðÒø ×Á?‹ùñÍ,ºz¥¾zÞkw;‡cvYL®7µ·Çbs’cåñ ,¾àƒÅú® ¤ÅVÑqÑLâS#‘TëÉe±+¤Á‹ºÌìSŽÁô 'ÅÐýHU¬ŠÑÏpªmèûZR¬¶C¿ª0 M‹©µ{;:ý9Ñÿ=౑ž€Åœb«Å$Y0ž’:vÒŸ«½·vÅŠ½Ž&õðÎey"N³€²‚ëpƃbô[)»’«SʉÝTøW…mÌ(ªîvÖârN¤B×s¢­é­‘ž€Åœb³ÅèpÌËL;BaÇ ºñˆbCÍAò¥®º]+F·•ÓÚMWUÒÆÝnG§;9žÎ‰©óà X À)v[LZ&Êp)qvïnŽ3\f'!]æâ$ŒC;y×HòÒYL³†?UxÀËÅ/OGçî&¿Îƒ'`1§Øo1iÖ.ö5vÜ¡]Ð1ºç¡í~ÞŸ«D­Ú9¿—ãi,f® Oøj1c1ŸÏƒ—ÆÛþR?èÓÝxÏ\Íq^“jÓbìõ ݲ‚»bèÎÝî®Wîñ`L*ÝFâv]Ì\ñÕb¯‹ù|<‹8¥CXL‘…v¥LPï»Kö6{f°ìqÍM1zxÍmÜ£h¦ Ïøl1÷(úz<‹8Å‹ÿ?Êô?pᨠøÀb0³šºkd¬¢ƒ‹83Dº$§¿>ÐUt(`1§øg1|¦½-UXÚxÛÛ~à‹Å „«ßÅl¬ÂÒÆÛÞðXŒ£*,m¼ím?€Å8ªÂÒÆÛÞðƒàXŒt’ ƒcûKü 8»øúBѾڷoýˆ÷ÅŒȆT7.Ê35ˆ“«vµ˜bCÍ Œ ¤ì˜*h;‹JäšÙ*LáÁMNû±&,† ÿé0s5Ð.]»DEè´›éù±¶-v½› ÕQ^QZµÉ={´{é‹T…ùBÓ“„붉ù5a1AøÝc†Wº;ÕËUT[ê´;å(¥½3ž< Àu1¿ª`Ü-‡½ëÃíÔI«µÓüš°‚ üÇþ»;œW¦tólòòóß7¯|Uv™Ë½ f‘«öA1¯+ÉbÆû×·ÊÛØÊüš°‚ üÇV‹¹\ S~ôü÷¢¨¿åC½‹íçÍŽ˜äªŠq™ET´ÈzSlïö†U˜/lÓM:ã·cMX Aþt‹éÂL Òë\rôW¦ôW‹Ìý¯7‹]ÏLÙ±{Ö¦+ñ_φU˜/ôî&ÉòžN£/kÂb‚ðÿ,Ö­—_óËíD®Ÿ@Õfãm{ "‚´#¾Xì(,æ]¶Ë¨=·í%ˆ ÒŽÀbí2jOãm{ "‚´#°XE`»ŒÚÓxÛ^‚‚ íH0-fc`1X A ,‹Áb‚ð›àXŒt’ ƒc÷+AÄŸ„ÏX,ª°.\7Ap,ÆQÖ…ëÆ#ÎÅ8ªÂºpÝxAÂ9°GUX® H8Ç?‹Eö̇ł_…uáºñ‚„s|±XA{-V˜-$eèš‘¤Òô Š®—Vš¡oг0:µ0U8÷g¾|z\~ÜÖ®˜sgêÀ`1A8MÐ-íâ'ÒK»•Yi1je×tQîÚ…R§ïOÕ:ý¹ïÃ|¡éŒ)òan´•áq1‹ì®¼7A„ŸÝbI©©ÑlgJûãT7gYg1*M­zµ]uº5ü©ÂÃ.Ìzˆs]ƒ­ Ëôîa1A8Mð-–QÈjLT¸O$2Z‘gÄtO|Ÿ÷óÐKkã¦>?%ÆVQ¨µ¯…ÆaÆRmn¥—é?`1A8 c;ayfÌ‹ÅØi4V0ºò¶cØKëçØTAúyYÌeÒ’N’êwg¾Ð°¡>lå<.é„e¨æ÷r¾`1A8sjL¹¼ãÉb.ª2ž43÷^ZýKù¨×ÅtvT¯`™/ôÝÀÑãVºöKw†¸]!óÚxA®b‹ÅT±¹û‚ #t³úøm1i÷.·üòºŸ/‘9'M îßhcW®ÇeÚû°‚ œÆ‹iS]Îñ§ëbúYÄL÷¶:’Å<§­Ú:.X AŒMSÆULÿëõîƒ[ó|s‡é>-ÎÒÌ(²¡ìä©ÉB6æ·òp#½î¾FÏÇ‹!Âiü³˜ŸŸ@ÅŽØË4^-¦[Õø{ÛŽÖK»ÍJ¶÷îG÷*<5Ó|!“[y<./3” ÂQ‚j1û‚O ò® H8㨠ëÂuã çÀbUa]¸n<‚ áXŒ£*¬ ×G$œ‹qT…uáºñ‚„s`1Žª°.\7ApNp,F:IÐÁ±û•ˆ âO0㨠ëÂuã çÀbUa]¸n<‚ áXŒ£*¬ ×G$œãŸÅüüEû‹y×G$œãƒÅú‹­‚Ål¬ÂºpÝxAÂ9öXÌ·¯¸ @t½´ó“sÝ>ø· ÓUÁ|\¯³ó…nmrý¹Vfüñüú¯5ñ)ǰ‚ œ&ì,Æ~ƒ‰Û—•H]~ ,fø½Íæ ]šäúÝ+ú2ýæºCðz° ÂOÂÎbºè¿¤Œ>‹ÈX,p_iôs/ßééí¼U‹!Âiì·˜á{µûÛ¾\bØKë¿X’Ê{¸n<‚ áXŒ£*¬ ×G$œ‹qT…uáºñ‚„s`1Žª°.\7Ap,ÆQÖ…ëÆ#ÎÅ8ªÂºpÝxAÂ9Á±é$AÇîW"‚ ˆ? “±‚ ’ÅA~‹!‚ üCAø ,† ‚ðX Aá7°‚ Âo`1A„ßÀb‚ ¿ÅA~‹!‚ üCAø ,† ‚ðX Aá7°‚ Âo‚c1 ˜ÀbøÀ/°~ÅðK`-¶fõ2 °íE»ïÄDAB3Á±L`1ü‹àX ¿ÀbøÀ/°~Åð ,€_`1ü‹àX ¿ÀbøÀ/°~±ÚbYY[Éú€9¶fgûd -FÖÌÉÙn»©pDnîvŸDÃ>  Å²³·æäl³ýlàŽÜÜD"fÖ´ÎbdThûyÀ)&ç­´nà'þ¹Ð€ÅðK;,vT¸:-ö—›t4`1óAŽX Cá7°,† Âo`1X A„ßÀb°‚ ¿Åü°X´àLR†­¿?Aðï‹„¨ä-ÊÓ=󢢿eÁbÑ©…òRaj4D† b_¸·XTlBTß”=6YL”D&=•„&G{®ù-#I^v®ÄîAñ3ü[l^æºX!>µXfr_U(’àh9‘}ž°nKв Š]S)Q—ÍXL3”[óʳ¦ê>A¤=±Äbý‚÷ T²¶ÖÇKVr‹É‚ÓÄDžj tÍ´!v}•*/y[¿-Æ Æ”‘–Sg®£5\RC HBÃbŠƒt&RãRî²¾N+ªÑ<àmF‘J-u޳ÈQ•"1Œ¿Až±˜4‹˜¬¹I¥Ì‹Å|¹Žfd12Ü’ÆTŒ¡\„–””¤>SWFA”±X-Ô¼ä d^,&m¢\ Ó03£è¾é}&ménbdÄå>ëˆ ‚´#!d1íj½L¦Ì&ÆÇz‹U¹Í=𳂠ÒA»ł ,† ÒÑ‹Áb‚ üƒÅAø ,‹!‚ðX Cá7V[¬[hY @GzÀbøÀ/°~Åð ,æ‚í÷áp3o1»ÿ1AуÅAø ,‹!‚ðX Cá7ÖXì¨põ;°‚ bu`1¿,–‘¤}CtR†¾DyŽ ‚!!m±-)Q‚5/3àËHR]U˜ZH›‘~“‚ á˜P¶ØžyQQ± Q}SöÚbÎi}Él ‚ Œ„°Å2“ûF%oY/G§×´™@yŒæ,QeGKŒÅ§·©ó‡ìLû÷ˆ ž ]‹mI‘GaëbÕIÅ´AHX§ªŠ’’ØõUl‰y‹ÉQý%; —ÆA‚›µ˜f%ª*ÉJÎu™šÑ¨Fó€á=Š®ˆŠ!‚1¡j±Ì侬Ÿè¤¢sPÆXÌ—{?4‹¦&©¢r¹™ƒÉ 1A %T-–¥NVi“Šê ¬ŠQdVÓ׿Œ¢çí¡0A`&T-¦d©þ":óxw[bþº‚ bgBÕbm@tŸæëV°‚ HG‹U»¦#Zl}¼Ù9`1A.Vk'°‚ HG ,‹!‚ðX Cá7°˜OÐрń°~Åð ,€_`1üâ¿Åú„¤Ål¿€;°˜y‹Ùý‚ ˆ.°,† Âo`1X A„ßÀb°‚ ¿Å`1A~"Û3OÿåÎV[,#Éù¥ÑÑ©…&KÜ“‘¤ý¤05Úxm3ë ‚„i8µX”SÒ÷]Ú`±¤ ݉4S¢‹b$ÍFIêÚdC¥ÔÌ:‚ á^-¦9k]¬@–9´ ±”‹ô¥fÖA ×po±ª´2“,–¯ ÏÖI?"…nã5ÏëôMÙ£•¨ËÞ,æ2³g¦Ä-†.r)4³‚ H¸Æ‹®Y‹e&÷UÆbš˜äѵ›RB׉O«5^G\3'iÊbZÜgö<–hµœ?6‘ÛæfÖA ×ðj1í²˜¦mt&/»”¨ã5×u6ªÑ<`d1wǘ)ñô#=™YA$\ëÅ\®‚ùm1_®¦9-¦ÝeAÇWÒ¢™÷°†¢«éÉÌ:‚ ášµ˜áŒ¢çut»jsF‘¹ãQU[%ú0?§+°OµYG3ë ‚„sB×bÆwwx^‡™œôẂ bg8µ˜-Àb‚ -°,† Âo`1X A„ßÀb°‚ ¿Å`1A~cµÅ"CËb:–XìêwBÏb8À/°~Åð ,€_:€Å¶Ú~pJv¶ÍËÎÞš“³Íöó€;rsw‰˜YÓ:‹Ékæäl·ýlàˆÜÜí>‰†}X‹I+o%ëæØjr.ьźõÌo§Åë0°X¿æsa1X ¿ÀbøÀ/°~Åð ,€_`1üâ—Åð1¿:.ôáb1ÃO ÂÇüè¸h°j1oŸ£X‹ù`7†lÒbµø˜_vbü¡Áæ-t4`1ü‹àX ¿x²ØšÕË€ŽŒ(Šž,&"‚ H‡fð ,€_\,Ö­,€¨ÅúW¯‚Åp,€_`1@hSU‘WV¸¯øè®¢‚ƒ@ÁmÖ¡ÕB§äØnr\äèÂüxa1@hCº¾ò⬗¯î1n®Ð7)4¸|ø«ÓþöNeY!Ì„6äoxÒ¥}%mkfèü'l^a%9¢—ä>6 ·ã…Å¡ éÕɨ$c_Á…ÊùŒ}GÈqÕUóã…Å¡MñÑ]Bߤóç[ RZB€––æÓ'Éq¯+ óã…Å¡ ›Þ¯™æ\¨pöÔÉÆõÕä¸NÔ…ùñÂb€ÐFîÕÏž=söìéÐàÌ™SM õuÕå^,>Çëb1| Ä{õÓ§OJ4…§N56œ¨©©,ñb±w¼ù‹\”oÁñâs¡Ú«Ë]b£ä/(¨¸d?-T:mi…M‰¤ü™M«îÔ©††Õ5•Å^-֎㕬ä™/Ólö„ôxa1@h£öê¤3¤ýaÀ9¸d€0páAåé†Y’ÈN\8P.$ €%YãÉ“'N¯ª®(òj1?—ޏI}ºi–s¹]h'$ÐÇ ‹B¹W×úÃ@C´5`ñ¦äÀ¿ü×íÑå§ ©éøñúʪroó÷xs4hðÅÔ±™ôSéèÏRŠfmÔNSBÝu“/,mä^]ëLíœót…é‰ÂÌ/iù¢°Ey®±éxcc}}]E¥£Ð‹Åü<^ÒlÒx/+|9SHL—V¿TKèÈY4P-ÑN{Š NT`Ž„6j¯~œÐÔT`ò ¸ OWH:ð_’r¢°E3ן€ÆÆºúºòJÇ1¯óëx G-w^ù[Ç®&/»lÈ®O#O…÷ã…šܫkýa YŸ(D-ÚÏ”ìO80e¿üØX·Q”¸>°•64ÔÖÕ:*ÊŽz±˜¿Çëv8òi…ú£3.Ñ ]vâR ã…šܫ76’.½¾¡¡.àì_% HÙ¯<%,ÌjØŸ2@)ÌZ8@* \'NÔÖÖ8ÊK½YÌï㥇#ÌØ >Ý8cƒóXÔƒeJÔ#¥‡™¸AÛ=ÌÓºv“€/,mÔ^]ù«Þ ¤ž_Iâ©Pé´ådµeªº'jjkÊÊK ¼ZÌÿãe‡ $IÉõÖû‰ œÓ)Y`OóTpÙ$ Ç ‹B¹W×úÃàøñªšêRGÉ/ Ÿã…šܫKýauhp¼¾²º²¸¬äÔ«‡ùñÂb€ÐFîÕkkÊkj„ZJ9¿C¨¢]úᢣû阫¾$ÌW±ØÕ° 4)=¶çòá¯fügWIá¢cû‹å‘~!í/,È9rpï—[¶ãjj(óã…Å¡£8sêï ™½ðݵdí༬íy™ß¯ßøetbJü[i§NÖ„ùñÂb€Ð¦ª|?y|eÙÇ=ÆÍú&…dT2ãクzÙøvzCõíc{|zÿZwh¶ïÖǗͽYÂmß×¼K-vùZúŠ”UꂬòkÚpµ5XԟΘE»õá¸Vù€U/ŸÎ˜5XuÆ,"tßìö7À2,y£ùú[³w¨¿È¯þ‡ZìçËè#À!ÿ '—š endstream endobj 365 0 obj 14180 endobj 367 0 obj <> stream xœ•VÁnÛ0 ½û+|.W¤$+ qSÛ­@€жuÃÐnX/ûýQ"eÑNÝ,0¢2)’O$MõßêOmê¡×€qõ.®¯ßêO7õ¯ êø¼~¯lkHë3ýHŒþIE½Å–{®TO7t4o³P|¾¼T·^\}ü]?ÐçùøñT2 ØØúôµ¾èÝÕ§§ÞÀpúYÝŸª‡äh|Џ ¡Ùgy¤·§ÇÞà`{ÃzÓ¥†Æíøn‡y;­ÐØóÃÎö¦Òà‹tRÿ_9¼O.­Ç•©Y3|>}|+g) »€P›˜¤à›°BÀÈW> stream xœ½WKÛ6¾ëWèÀ ‡O0Xë5ÐÞ0ÐCÐSÓmd[4—þý̃/©–)«¥©ræ›Çj€þŸîï^õ;…àéé,=¿þÞÿò®ÿ³ƒž>_ÿèŒWh÷ÖÑó þ¡þG—fDÿÅîKÿ©{}‡KË´Ñç··îýOo¶?þÕ¿àë²ü|în z0ýùcÿþ„cÛŸ_÷ ¦óçîùܽp ô©æ6„aÌöG¯öJOfaÚÁ^E~´Ó4Mc3•i~‚Ÿôä›vf¯hE9P¬Œ¿(ReÒºœÕ\÷‘ªÇ2 <ÄUœÄ¦ÍÄV×à”ù¸N–¢RO‹0wë8›0Ã"0WýØ£ÄÈ©s>bÀøÈî4ÄkŠIö.)9&˜@aÉ™Š9kâ7a!¯}­Y&¾+h_fa&0Á\?<(5K¸ÍH4uBж¢‚dS‡Rz™I¥%§ ã”ÒÌ€! g%!ˆ«¬i2_‹s!€kÔ²£C­,ɶ'UgâÓAÍb—*CÄvc ¯[dø·%™á‡°Ö£$DrðˆŒ‘`Àœ7ÏOÄ5Šb¹ð>!Ì!€‚Á£G+0JpyÆ]Q?0>„H"ÎBkËjiåN°2Ь.³Å#Puê\Ã:–Yy²™x(5aG‡=ŒW†Îˆöqˆ $ýJ®¨'ˆ~-ŽÐ3õø‚²,¦òUÐŒG ùl#Å#¢ªˆ3ââŸK±ðž‡ÀÜNÑùUÞ<æ)gýXÖv\yü_YƒÃ’æ¬ó‰¬Òg¯´•–º•¾UæîK_ûÁþôIRH'J‘å@·yþ§ÔQfÂc©+»ò`‘O[é`̹ãÓÂï2ÄÈ“€ R:XÏYQ”žZ_$šSó Hi9PÎÁÐ7x'SÀIžOõêlJó² «!Œkm»¥†ˆ@U‡¤†DC©Am8€;,'%J&¢vL=©ÜœZÝä¬X,oé¸Xûô»*Œ}èÊ\:vú+ì¼±©‡ÇdÌšT ¤¤'¡ò¢Ç¼¾9øæ—Ì]›ƒ[y|Ø»´ý,çr¾–4“ï½ð7bÛ\©ôŠZ_›Q @ÝR&€¯”áÛqM™dû$Lþþýt“6É&º‰­nåü‹l9 ÒÜècºÑ—w5;¤\ÞåV`™&SÞÌ©-kòÚ”“ФT.}l¿žøêßþÕŵzÕæ ÿ€àJég¤ßXº@Œß¥-‰5,•[O¦Ù↼à-lbÿÕjaŸ Íc"Ó},¸"7¸N^TP‰WŠêëì\ akߦ3¯SMjö ÙÇÇRM˜×fÏ„>Õl’K¬±ðÊm^úoW»¾Ù endstream endobj 371 0 obj 1184 endobj 373 0 obj <> stream xœSMkÃ0 ½ûWè ÃDQžžõñÛáÓÀBeÙ$6x±Çg¸»‚wƒ ëøb\c™·7bwü0ß¼åÌ“wæíàÕl¯8u†3IÖãÞÌnöVÐs¸¤ï¹,Rí`x‚Ù†}öµ˜†7³L¯Êšè>Æz~â{ÛûÖRr-ÆTakj1U$°ø.X-6‰Ẕ*×ÚFØ&¶nÿ/Ö xµ«$ÞælznÿšÇcÁËÐã8VÇ¡\›õš‚N>rC\''Ž‚âòìA‹ú»ä¾mP—6º‘ƒÒ±Óè¦DmTjN`¯ÇKMÓÂÕaêšJ×Þæ¡çšdÎÕ%•›{³KɯÕQ›ÉÝEm¬çsþ-ŽhîZZއê%I}„ (õ³,™†TÄÊòv“BzÐqÊ( zço:£eCæÓ=ðïÍ7ʃoøGu5 X7åjES"¡ÐÌ÷ÄÅoJ_ÕDÆö endstream endobj 374 0 obj 395 endobj 375 0 obj <> stream xœì `Õ½ÿ7òGi¹½ÿÞú¿µ½··­µµ­·íU[[«¨¤>Š,¾µZÔ&€¯  (ÊCR|\|¡EHH"„@ ²$dcÂn&ç&Ù<–Íc’l2ÿsæÌãÌk³»™ÝÝý}ûu˜9sΙÙÓ³s>ùÍì–•Éró±¤[Ž#[þ|û&;ïiu–;ê-m²<ØB–I´YtYþÚbyÀ…W|o;œvƒÁñïûZÁà8·òÂ.¿ÔßFìÄË›[¸'·‚6¹”›-74a£¼Ù‚Óoh³\c{#ïd­uÛ[©ðî‡þëÍ"hÊ:û‰Þsž>÷ö?a_°”ýùJö’7ÙKÖ±W¬Á¾êØ×¼­k’ Žoûù €Áqã¨ÑÀàXÝí íˆK=c:’Q2‚¨³gúqY.)^´à£*·oÈU$²ÖYs!Ö:kf×9i#(§H\ç¿ ë¿Ó%#ú"¦Á`0 ƒcÈoˆéMBM$âD(H4J¤7 )‰&ø„|ÎSÃÈ–{{,WÚ<#p%rÃݿžã⺩¿¨¹þGÇïøÝi» f-‚[?ÉÅ õ¯/Y¾÷Þ¼ÊzÖõJÜÂ@E°J„®GÚ¤Äå!85(‚Á`08¦õ Ž€ñ½Ân¥°2˲+Ÿ?ýIºgÓ:÷{KÛWÎi[6»íÕ®…»LoÿPëü[çÜ×òìÝͳ§9gÜØôð5uw]zü† vß|±³mnýꈷðmG޵¾9¯òßÖüË Ì7æ3æ3ßz±æ_Ô|ç%æ›ó«'Ì«¶Î—ˆsÑ|.‘”b{æü ßË»éÃ|ÓÖO¸•:î=-ô-¿‰—|Míâ™çÆK>›xÞ{ï×£Ssnm·¼=€¹èõ(ÿó…hµ£îÃí®ÎDô="2 çI}FîdØ‚U:‰ê²à˜pÔ/`0 6Ê·µËïô5Þ÷‡–Y·µ>{Oës÷µl.ܯ8%~wtñ³†¹jñ p‰Ý–¦P'Ã[Qs7÷YjŸG(x›°·pûóʼn/­U”ƒÁ`³øÞ08,A—Ìù樂_לz+­–§îhž}›DY]EVF¼]­wžß:í?[¦~¯é¦ïøÓww\ò1n%·Z&×câúM Æ­_‹q mbÜjÃ7êæ*•µ}Ï­;rÖe·ˆt[6ôq•t¿ß≗ÙpÊÃ}Z Ûl²g„‹-¦Zˆ²Y6 ñ¥YIîŽêVôA¸ÚÎ ¼œøH»Fâeʲ`0 ƒ#ã(‹ÐuW/¾uýîý}Óô?9Ÿ¸QDŸæ×·<‘Üòè•­Ó/k{ð×qÝôoÍ×}ëÄ•³þûlŒ[>Ɋץ…nÝÜ‚ï$>Ôþlÿîä5ß¹rùw®XŽ—“h¿¡ð¹˜wÖ½¶³RF’R‘- #îJ+ÇD4ñÆ {”b´ùN»p‚#^<0AȆJ¼°˜”²|0ÌÞ>‘ËŸDÙ²ã­ÚœAî²dŽ—þ*?îýüNÄx²Spë÷•¨ª)9n½¨8ÖȆŲ“áOéQ·„’$ûŒlþÊw'"†ü«v"úÔH¯¯ª ƒ£hËÃ>08ÞM¸Ë'£¯ûð› NMþ^ým¿i|à D\ÞÂ]˜µ»¶ù±äæG¯j™~yë׺¸¨í¾Ÿ¢ôþœ]SþÕ9ù'~?~ûÏÏâq áÖåmøe§üÍÄËÍíøi1·Îz¸cÜÃ-ãþÞŠ|ö£®³Ÿh;ûÉvì'œg?ÙŒý„süãÍÄãfŒ›Í&ÍAFÜE{üO¸¡]Ü´¤´Oøåâ‰çeŽ'›wd Ϻ¿7á!y©;„"wdNü£CQ-Nèà„ód÷"É,):Ô¬{Ü_Oí"eÅÿá=R|Ã;©“—iá~úl©OÇÇuR‰Â±ðÞá/}jz ƒÍ`òG4œ(ìü㸓“þ_ÝÍ?«¿ó’ÆûÿØôàUM]Õôà•Îÿè|ðÍ»´åþ_µÞó3×?rMû¾ë¦k½nbÓUã«~{Væ…I·néá\·.)Ƹõe"n!Ö÷HßY Œ›18.uèì§ÏyjøìgFÏyvøœ´Ú$}ܳ,ïÙ’£~‰0ÊS¾äâN«1ƒY–±µ$¦E€`0 ƒcÔjèB¾ýÿÊ\ûƒ“·üâÔíÿS{×oëîù]Ý]—ÔÝ}IýÝ¿i¸ë¢¦;~Ö4íGÎ[¾ïœr®óÚo5]}NÝåg•ÿeË·q!Ü"7å¸Eˆ ãÖŒÁ³gúna?;¬Æ-ÿÄ7ž’yZº—xÜ1ñ¼Å¯pDý¬ÀQwÔ/`0 6Ð ârv»ñÖËϵ^ýŸe×_ö矕ýù²~züÏ”ßp¾íúV^ÿŸ•únÕäs+¯úת?~£ò²ÿS~qÒ‹,_LúÆ­Ûze¸uî ·,÷w‹.ã:;e@ ]Ïòñ.=ÖŠz‹îñ7HÊCh ƒÁà8³ú®âãïzÝUÇw]÷‹Mÿý­­ÿÛ—|çóKÿßçgë¥çn»ôÜŒK¾uñ·vüæ›Ù¿žuÑÙY¿—ý󤌟Z¶NúQÛ×e¿Õ¥ƒ[u"n‘帇»°q˜«—‡.â™>âq©Cj“s&‘108¾ýg À`0l”eÍã§åÇ?Øÿøú6H9;|ˆµÆÿ¥[öì–·¦6ZîlÄÓ&bã÷ZÆÏ{¬‹7F/уä׈´-ÂÏ£ÿ»N08ìŽú¯iÀà8ê_408Ì~`wuî׈ü[ îé³ÜÛVîêÅq*²$+¢oóXn9—d¯ø°– ÜÂÄUg¹Êj¹¶,éºãg]m¹ÉNœ4µ†Ø2­SÙ´ÞwÔKëÄâ„Ú`0 ŽußPǹüܬÓÕ¯­±Læ|•à««ùÍÉ‚I Z^áÀ¾ÜÎO•H¦¨Fp¥‰[×–aÜâˆK„.M“ Øb~ª ÷&_08¾'€Ãø%"“ø_&~¿ìœßU7Å=ᮓ.; ƒÁ`0xì¶Lé²\Ym9ÿs˹onÁ`0 nÀ-0 ƒÁà°p ƒÁ`08¬+nY—$'/) ǹ…¯f0 ƒÁà:PÜBðc¡5=‹àÐX HYç¤t«|/]ð*[=I¬:yõ>§ê!À`0 ƒGu¸¥‰"cÄ-?e{ƒ<f-)ÿÆT?Ä”ƒÁ`08œ·ÔÑ'Í •krò’êß—ž@œJ2â+½XÙôT¡ªÔL´‹ª9eºê³LÏʦ§Ð¥¨Ð  ƒÁ`¿6èf"ÂŽL\Á‹uòõð<3¦›‰™¹3ÄG0,s:MSÔ!¤sÀL•²‘œ'V¨9+áóf¥ ƒÁ`0XËÆD·Ô0ÈÑõêTׯ™9¨šEÜ’ÝaäÐKqÅ9(JQHèǃÁ`0œØ6 ·B¸§>Üòw3ÑÜkèƒÁ`0<Š zv‹º ¸µcP<&ñϺ˞ l´•§Hn Ò5û¹™¨‚ÀTþ²}éÉ?«ƒÁ`08!†Gå~z\óEø‘*êÁuê¸Y)?*M¿BzLëŽ'_³ßGåµn&w>`0 ƒÓ‰õVyxç ƒÁàˆp ƒÁ`08¬N,܃Á`0 ޏ·À`0 ƒÃjÀ-0 ƒÁà°Z[ß܃Á`0 6Ô·®ª±ü×G ÜbA @FH·¢Î`0 ƒÁñaÀ-0 ƒÁà°p ƒÁ`08¬ÜƒÁ`0 «·ÀqïžžÞ®®Ïiçéöš¨Ÿ 8¶  bÀ-pÜFLpȆ΃ 1à8î #&8dCçƒÁ†p ÷†²¡ó€Á`C,nY@ XÝiõFÌhŸ#Ȥ‚ÎB–¸í7³‚@£Èðˆí3™NÐy@ PÈ2·F$ +þUíÐܩҰƚ¸­W7·kXïºgFgQW·:!U–OâþÕ,4Ê'×,7¬½ -L >bò ©G9¸°;>:3táè<ÐÂÊhaݲ‹[ü|>¼àÿAKü?>Ù'®‰â÷ûø a›dsˆ¥|â6]Å0(áÀÊCúè2>ñ?á$Åmñ˜R.éŸa)«|)ƒORÄ'~tŸOV‰ÏGŽô!¤#Òg-r >bBSCgV´0tè<ÐÂÐÂ!·°±¸åâÄÿ#¬û¸ÿ Ñû|âŠO£Ë(s£\²ÝY¨üÁ|ôèCÈ«ËÉöúä ­,òtŸpDêØôIû„ÿqVÕä“>€x¾šŸZxŒ-øˆ M Yq$èé( Jƒªk`@jÕ„ó›‡þðR}ü) Hí-j >bBSCgV´0tè<ÐÂÐÂ!·°±¸uFRÿ õŸé';ûñ:Þì?ÃÿÓßÏ!»ø5ñß~E=B"©E¨–.-±ÿŒ²ž~Ù^ñhýT&:‹â3Ðg'WqLþ#Jç*F?÷A©ª4ýÑ…“¥?¼ü(ÐÂô¹ØÂ˜'¤8MhêëÌÐyädžÎ- -D ‹[}DÞ>Q^ÙµC)²Ë«“ÃÛwbýu×­·Ó™åUëÖ)ÏëE‡Pg÷ªk£N×ë÷ÄÅj…5W¸ªt?£x®^y)u»„£…½òMUÕºuÆT >b*M­XI¼Î :¿:¡…e¡…•-8nM¸Ä1*nõòêéí­úÇuÊ7N\÷*¼‡ìþëáRð²‡û¿‡RO_./ì–ê‘v i¤@¼ q)§G^)ÕC• *ÀuöÈÏ«‡*ÝÓ#|z7}ŽÔ ôˆ)ü¿Òñ¥¢bzì Ôù‰EjDùž [XQÝÂò­˜náÀGLYkT­Ã}Œ? ®Ãí:$4uÂtæ;WêAÆ\ ÕMv­}jO8:x徕г€Î#«B:[øzB SéÊ Èq««»« ý‡þ‡Wв»ûëu×^÷Ö×h…¤’ù<|b7.Ãm ÿ¢ÊàzÖ‘z„RÜ Ò×oá]BÉ.’ÈWÏmò5uuñÜÙ‘ƒu‰Ç!'Ñ%ìä‹ó›BE§ë«§N¹KØ!UÜMe?´!Vß%î¢2vuË$S¶0•uL-,ž³º…¥ó-øˆ)oê¯Ñ0ƒúÞD«×â®Mh9Ô΃{…t\Û×oÍ&ýÇ F:$ùh»f[¸Îipç!Ý:|=¡…ÇÐÂÆâÖiçôidî?né±­½öÚµ6—€–h“ÿ+ ¥’½³fqI³vV}³²OŸ¦Ò¹]§=\=§OWˆ<²e[ø€²òg%üçA<äÜè]8•?_²!ms«® I%«§ùz„§ÅúI•ä§¥ö!•ˆÇ'U‰G&:-´šG<=F ‹ç|Z<ôi:›‡/*}V¬Œª¨pjÔ){<Â)zÄ |Vᬄü&oáÀGLESómdÏÂ+B‡Tö0®Ã㮇Óge{HÜ©­©ã¯3‡ÚyvÎ"}ƒþh\?Y;‹\ÞNS.ÔU<ärWA* —Põ%Qüh6!3>íìYäR*Tž-뢳vòù骸’ê+³xzÔU•#×ó ù•Vù=€Î_Ohae ‹[r¹ÑÇÓ““Ós«î3-3³È>’~<ýZ Þ݉ö•¬™.=ÿÕB)¨Tù”¿\¨ØMÒgf ‡Xs'gñõ»…úËQ=ü³f ‡Oέq¾ä?·2¹S™Û­Nsë¬Óµ«‹ ënꨊÒná¬Tµº«ê:§¯U»Sv6Êó“e×;UEÝækáÀGLeåBçâÿå:äqa uf*uÀ™3gò%į€x& ÐÔÚ¥c¹3‡ØyøŽ!ÿhø'vrãò®á®Xüe“/ޝoü%‘++ew‹×ØráPþºÇåp •ïäkâ+·µ“ªÜYò+óîÊŒK¹¥DîzÌ_l©üåþ¯´Ðyàë©® A[ØXÜjoooÃn#ÿ`•®NN^]Ú.¬[h¥föòÙÚÈÊ1©ª%3Õ’¼:“Kik“UBòЕ(êÇeÉ §6éìÄÿdÚÚ„µ£ ‰äÿvÈ‹¶ñy…æWÚ¤ ñl¤´ eéÚèÓ¢ª¤ZX<úT…óPì“G›¼rúü&µÑF×Ð.;qú\Lߘ²*q-¨/¡Ž„z×HÕèr(©)™hoJf·LÀ¦Ž¿Îbç.PmxM¸p‘ ùhÂ:îQ©™¤w‘Cz_I;I®—Dúú)^ZÉÄÊù³®®:Wf¾ó”Ê.ÔÇŽ)ò£þ™Â¯@çÑî<í Á×3ñZØXÜraµ"¹ZѿܚuÕäÉ«¬8Ùå²®B_U+ÙÁílµ®žbjÆýKè`|‡Ru9nד“Åîü$t¼øPÈGºX5k]â¨^Ä_̤kšPV}I¤kW\ÛF­\Y•þ•YúÜ~½nWZh4‹[MMMXè_¬#+®¹fÅœŠwàM1ÒÉ^”›Ï&¬ÐÙ,OlëilÚò„Pú‰'ø"B"ÞRÔß(f綸sãÏ…ü×ÄŸ)zÜ©7‘Ï îâóRÉGklŠ‹R%š¤#4‰íÂ'â÷óYH>aƒœHc£pÂü›4Z¸IÜÙ$%I¹…ÓN¥Iü¨b!y¢phñèt³I벓[Àä-øˆ©ÕÔ¨;ÍØBÎRèØª.‡ûã ²†KÕDlêøëÌcé<Šn"^ùlÒnÔÁp1áš'f¨.‰3¶ÐM¼xŠç+\-ù&•E×RùE˜»º6ªÏOºnóÍŽ:2Þ3ƒ¿êª>òJ ¾žÐŠ6·êëê¹ÿ¸NhµAØæ õÒn1ù‡dm8ôÆ5×¼qH½_¶ÞÐ ¦AV u0ºdƒ<›tB ä$¥ŠéÝ |ÑúÔ¨¼ ªC5h¤‘ó?¦T…ê¤dŸ?Šƒ†ØÂª Ò˜ÐÔÒ‘ 3sŠfç.‰|´CËù«+tøzB G°…Å­ZI§ð§ÈÚ)²)_ »©RÂÁׯ¾úõƒÔ¾SR.ù1¨Ã¨uJ8¼ü¸Òò”˜"d=Åo©ªÓª_ë57ýœ•ÖG:¥HSVÏØZXÿÄw >b*냦Ö*›P9š‡¿$ñÑ.㯮Ðyü~øzʪÖ*T ‹['kNÖÔÔœ<‰þ;É­ä6j8 ð.ŸÈ¥ŸJpÙI_S ¿-¯¡VOR;Ä þ5²*ù# Nšdásˆ>)¤‰gx’>žXH:'þOI8é¼jÄ3©‘Ú@¨¶æ$QXw@ ¥…1¡©¡3+Z:thahá[ØXܪFb¦šÿ—_ã6¸t1á,î#)\ªTXÊŠbqq”ËH3ta>‘!ÙÄéÀÕbí _ #–‘NG<&#X~:Œìª©Pü”tr5•—ßCN‚?Uêd„Ƶ…1¡©¡3+Z:thahá[ØXܲÛí»¦´“ô>‡ƒßp¨rÈÖ(§C‘"þãàþ'/B…+é r9dY…ãËv*êT|êôiˆÊ’êš™l;¨My´ðXZ8ðS³&ÐE~Ò ÜÔÒv¼tfè<Ðy¤ …µR¡…ý´°±¸U¥Ð êŸÂµóD•2Q^VÜ‚Ê)_¥þQD»æ:åÔeN§ ;¬výª e‡Ô:Ž,ë‰QjÐ:¤úÀвãh·pà#¦æç‚¦NäÎ ‡:,thaeµÐÂUôGRÕ`,n@æW€#&¤t²ŒÂ-08æ¬7b‚Á£: 6Ä€[à¸7Œ˜à  bÀ-pÜFLpȆ΃ 1à8î #&8dCçƒÁ†X[ç\b÷[ ßσÍoºÓê˜Q?I°9Hç«mUÉ3ªÊÆž LjyÜúa¸Å‚@æV€#&tfZFáÖ(¤¸'˜c·¢Þb:º­7rw:‡‡ƒÊÏnÆ À-0G·rKz—Õ(]*ê- j¥Á§f·ïx­ï+ûÀA[Áñþ}¥ý_óæíÛó•wבþ‡½™‡zkšPÎÚ†zv ¸ZŸœ„[eWYn¨ä\•nãQ*u•ââUyÊè²@_`pÌ:Џ…†­w­£øêm8­¨·X€6ª•\·kÕ·T7|]ï+¯>~ÒWÊ å>b:Tå;PáÛ[:˜[Òƒr–8ÉŽ·Bë“ xR¸uüxÁñãù¢I¢n`*¯Ê²ôGVh> 6 ÊËóc·’–¶ûóšþ°ã–uIròÃÿf4ª•\·¾² Ö²7úÊO Ð*±ûUúU`ÖÚÜ·÷Ø`žµåÜw´šnaÙ'M¤Ú S¦l¨%ËhŸKŒ*XÜB×[›í :]‰[RäŠ RÑ7 PѸWŸa·iø¥ ኊƒÇN\âÖöóÞÙ¥6J×ÌÆ,(Õ´:\ûÒ“•ïÌO^½/ô¶òƒ[c 1c‡€„Á­ƒ_÷“¸Ö1Ƈ@ ùH墬/K‡‰÷–îµâèVÖJvl¸•–öö¼yÿûÒK½òÊ'‹mZ²dËk¯m{ýõí+WælÝjË˫ڽ»J·d„ÃmäÉ< F ™·Æ¬ p«¼¼Àf; yáË’E®¨½Yê'µd)]`°y]Qq] üç1·Y•ŽÆ,†aÐ YÚíŒ×Ë––2mmì¡CL]»w/SU¥3Ѩ¨à–‰Epkÿñ3øâIîbÕòÔG–"ÊÊ;æË=6„–È·>ûòkvl¸µxñæe˾xóÍíééÙ+Vìü䓯ÞÿÐ[ow¢>‰ºªºOr¢g,¤¤·T%€[cPP¸uü¸îV‰[Â&ëP‘²ôªÔ<ªÌR?>Á¥œHŸ!0 6™G½¥h,nù|CÃüѺÏ7Øß×ã·D!ܲÙ„[%% ­‚áVN(n¡M>Ö5)ÝJöNOå’R3ù€Xj¦,JÁõ”­žd¡k Âh8z¦¨ŸÎ¯…dÆ +‚[ûJû1¾cÕ|h ±1b­=q!Üú4‡RÇ‚[ˆµV¬È\½zÇÚµ»7o>VRâÎÏoÞ°¡¤®nÈ/nQ|”Ÿ†WÄm´Âwn[–ž–ÏMË×Á-©4U|CŸDÊÓ™,4niš+Ë—©$né^`“éÛ‚ø±+~3y©øDV¥òxíŽ$®Å•å¹ ›Î£ÞO4·úû½œ{‘ûúz»<íÎúêˆD·6¦Z¦gÑ阎8.ÊœnWètÙ5=KÂBé)å‡Ð¬ŸOÉJ™®Žð9$°nåíC”õ•}Yd-âÝ¥Òw¨Rº‡ˆÖTúöQĵëØà.îEî²±cí•+w¬]»géÒŒ}ûš32VkË‘# ……§’V'­é(é¤úzvêí³Å•ÏÓ–ŸÇ¨8¼ï8âU*Feâ‘IþHXP¸¥84àV܃Á!8¸ÕT僧—Ù+JNØW•Û¬eG¾ôƒ[±ˆËËñS[V+sø0ÚÚ·ÉÍe²³|v c~K½×n‰·åéø¡,)¨EPJ£þTþçûÒ“N£lì°"¸•u¸ï@…ïP&.´,ªF¸•÷µoG&.´Ì::¸óˆ—5·v½õVÞÊ•¹Û¶Ù?ù¤üðáÔJZ‘´²çþ¤ÅII¯&%½œ¤}ºùÔsQÒ=Õý»Ú iSÄØ¾£({¦‹¥ŠËÀ׎n ÷UyT‡Ü @€[`08G·lÖüâýr>+ÌÙŒ\°gSQÞ?¸…ËãÁK·ǵZ[ñS[õõl~>ãp°99Ãþe¢âV Ü’Ý”2d¥¥S¦‹5“Dù£òäV#‰k {U eì°"¸µ­¨oÿqüŠ­¢ ZÈ…•C·öTøv–û2K‡2¾Ì:bLtkÕªÝo¿}`ÅŠœO?=¾~ýòòÄZkúB¬õZÇ êoœꆤù:¸¥ñ¤–ên ŸMàqUçfb¾ðTü”´4íX+eRæñs#¤#À-0‚#‰[!¼w«¤„]\ŒãZ…… b-òÔVv6³c‡~t+4‡ç¥¦j;$¬nm=àÍ;†_gZhÚ_îCÞW1„XkwùÐŽ²¡Lëж’¬CÆàÖš5ût­^½{Ù²¬­[KÛÛG’–%%-ÅA-ÄZI/&%=Ÿ”ôŒnb^€[`08G·‚Ú_9ü²¨ÿ±ð¹¹ø©-ÄZV«Ñ“ønÅ”nm)èÙst ·t¿Î´tðËÒÜ2üxüŽcCÛ ÖÊ8Ò¿ýP7kÄ£òûö9Qo$nld].¶­mme“^Nšwòú¤ç’PÿÔ{v ܃Á!8Z¸E~{è_0E5hTÜbÏì)îÊ)éÎ-é!Fë;x‘wéÍ*îÙ~°ÛÑØ‡rfT±a˜¢ú¡ý, j%ÍNB¬STDZ·À`p6st+4E½Itt[)n„p«èë–3gt< ·@ À-0‚ÍÝ2¶ (.…𩳫gKAýº,Çë›í‹?­x飯_þжàà d´N¼èÓªuÛOvt÷‡· O&”·À`pŽ¿èê]HP, áÓðð`PùYˆnÆ øÃ-ô‰À`°Q6n…5º…Pê]ë(¾z›Þ«¿A±$‚OÍnßñZßWöƒ¶þ‚ãØûJû¿<æEÎ9Ú·ó°7óPoMóÊÙÒÒÈš)ºåõzëš87¢eg§;äª@‘Q€'¶p+Ú ʼnLˆ[aÁ­¤¥íþ¼¦p+Dp ±V}ÛHuóÈ×õ¾òºaäã'}¥Ì0òWŽá¾½¥ƒ¹Ü[å‹ËkX3E·¦ÍüäÎ…¿{l×OþºóGå|÷еÆÔì´à[ p éÉ„¸T@ „v‘àÕ¨VJ6èpù0 ™Z²9íxÚÄâªadübù üâÓ¼r=gâß»¥©@:sWWw“³Y´×‹_qŸ›Sxñ_>^´ÓyŲ¯°ÐñýôΉ—«ª"o"¥^þŽ_Yª×'é÷—n…G€[ HO&Ä­ ¤÷Úy?¯£Ç/çbù¥ÝΠÁ­´”ikïðª«c÷îeªª4o&ÊçDÈô¢çL$³TªÂ³ùiñT>¾e>£æL Y¿½ûƒ[žßûëé;tߎ=˜3éÎu sòŽi¯ü÷ŸÞ|d›ûûK&¾Þ~ööìß½£,‰û!y¼¸9E·gn…_€[ HO&Ä­ ¢[«|¾¡áaÞhÝçìïëñ[¢nÙlxÊÅ’~¾EòRzÍ›‰Ò°#N¬œîdŠl;œ.N9¬œûnÜÊ9ÚWb÷}e>b*®F.ª.¬BÎ;îÛsÌ—{l(ïh/½èÖ¤?™»µá·‹+ÿc!óý·N_tí{³Ó6··w<úôûÞøÅ¹W|ôíË>ø¿øø¿]¦,)²âI€6èôIz›´ Âü>Ò,òõüAÊ*A*);O/×yÜM§;·@ D— q+(!¬êï÷rîEîëëíò´;ë«ÃÝbÅIíø¥É|SÝIûñ¤ŒP—p+ýöŽnÿ¤í»‹¾±¼ãìÙó~³dúC+*I÷7Ù´Ô:Ó/RäÅïæg]”&¤þD ¦¨k– ÁßÚ2n2Fy·@ £dBÜ 6ºåõvYäªel·HUô’Žn9ˆ¬˜òrÆj (º%p–ª’†!Zd¬"c7R%@‘”pKÝÕËIS×ÿðú-ßþãÆùýGÿòÇÞvçŠÙ³ÓšF¯]>µô'€VŸÔ¾™(ƒ4!E„7ÙQ¤ƒ€ôIÜ…”·@ “É„¸”Vuw»=žŽÎΖŽöæ6Wcc¢(«Ÿè–ÝÎ áåÀk³1{ô(ÓÜŒ'^ÉG¦èß2jåºw~ýh}­¸ OÊëËÑ­Ìé–”4AaÙ7¦Z¦g¹îB)€[ PeBÜ ÷{·JJÑÅÅ8®UXÈ Ö"Omeg3;vèG·@±#3àVÈo•?|ø«__¿ò¡ Ï÷–5M\áþ?ï³g_ÒìŠ&nI‘+‹…F)~×ô,:—7A HÉ„¸V!ŽB|åtòË¢"ükDÄZ Ãææâ§¶kY­0‰O<È ¸5-X²éÊiÿ{ñuo]œ¼úâkÓoœúF¸£¢†[txJ¹¢qKMh€[ P¤dBÜ ëœ‰0EuâÈ ¸5–9A1§hâ–°Éß:T¤¤lìÀ7-©™Z¸7A ðË„¸"3à(¡QÜ¢o ºìY)ÂÄ”é|t‹¾·(ò•æ GÀ-(ü2!n…5ºelA™eÜ‚®•P2ÑkN 2àd”Lˆ[æÜ…Œ9™·Ôê/¾Z_<°î€wíþ®ô¼ÎU»]oîp.Ϩ}ËÉ×69–l¬œ¿ðC “·@ ž Ä­ qÝB(õ®u_½ ž±7‘Ì€[t­5¥•­Ãþó”V»¸Ì/À-¤§±âÖÕ5–ÿúØXÜ2§n%-m÷ç5ý€[æ‘p+­/@Ëœ¶ Ž=ÜÄ–¶°Uílu'{ÒÍÖ{x ,\_bÔµ¯/³·@ žLˆ[¦n‘àÕ¨Ö”Ö['Aá•p+®µî€-“^n<êdm.ÌZ´œÝlk/ÛÑÇáÖËo+K’^E½>¿Š4äî¸5fn@ =™·Ì)2·5Z!K»ñzñ«éÛÚð+¼êêØ½{™ª*mÜâ§A·`JŸˆÈ ¸ˆÖîïBˤ—’Ô'½XWïaßyç·ß~ûÿøÇºuëú‡XäÁÁÁ«(Kb@¢Þ7§„ŽL€[cV\â 6ÊfÃ-ÓF·Nì ·°3¯bo?Ÿ^ð/¥×Â-­Y|¸¡mƒ8£b íI„ÑÀª˜gäO·²ôªôaâª:TåîôàœWáÛYæÛulpWI4£[éyh‰X«ªß7líeEÖzë­·HŸÏ÷ŠýÊ’\ßÈ: ž_jƒzRn[êoBÿ¥Q&j×}PCvžÂ-0Ct‹–ÝÂ|µ{!-jé/º¥4à†1zv:ÙÁšC¡lê;ìF—p+­ÚíBˤëNº1kyúq8K¡‘‘‘yËò”©ÒÓiù2 )tº¿ü÷ÛÇäñX¡é™Ðùô¸ƒCp¢E·ü/CnIãš*ÐìÄuqè¤÷ʘ &½HfÀ­@ºÖ›;ðy&Í?•4ï$öÜš¤ç1دY³&==}õêÕ+W®D›Ï/Ù£¬]èdöh)fE?)HöøïQš)ʸ«ªß‚T܃Á!¢[´GÙíÌÐvtëÔ)6/O¹8úÍD½ÁN\Ü2HfÀ­@´<£-Ih ÖðNZ«V­B¬õæ›o¢Í´Ww*K킦#M( ·è —^Í J€[`08'ZtË¿GÙl 2ݺõôrß>&7—ÉÎÖ|vK~kFŸT7…;6|Y:?ÐV`2nÒµ–}^ƒ–õü Ĥ9ÕzÙžY¡LÒÅ*Õýfí[‡º}L}S[£‚T܃Á!¢[´G•–2^ºÝìÑ£Lk+þMb}=›ŸÏ8lNS^ð‹ ÖâQy*ÿå™ìö<;nåí+±û¾²±W#U V !ç÷í9æË=6”w´—^tkɧ'X·ÒIÏÙ“žÅ)+W®\±bÅòåËI¶§æ~®,é'Šåç& °î¯ÑÏ *òné+þp+ê¿äƒãÉfÃ-ÓF·JJÑÅÅ b­ÂB±yj+;›Ù±C;ºe€`˜ ^fÀ­@ºÖ¢ñq nÑÉÖzã7Èæ¬çþt€"«;OláV´Š™·Ì)ÄQˆ¯œN~YT„ßµ…X‹aØÜ\üÔb-«5l“øn/3àV Z²~wiµ{€Óàà ÏçQä9x˜™·`ƒQG…I€[ HO&Ä-sF·`Šê˜“p+À>¹d]öÂõ%/­=ôâªÂùË÷Í}-w΢]Ï-ÌzæÅmOÍý|ÖsÿÖŠ n@ =™·@ CdÜ%”·@ žLˆ[æŒnbNfÀ-èZ %À-¤'â–97cN±2g"t­¸‘‰p˺$9yIYn@& qËœÑ-4Þ½kÅWo Û£ò à¥À-wïˆÂÀ-èZ %£pKÆH¡!àd2™·Ì)2&&-m÷ç5ý¡Œ‰üê~™¼ÔÑ­7·ŸQØ Ñ­0v-Pd¸ôd nïÑ-aÕJJJ€[áQ´¢[ÛTÌ{g—Ú(]3¿A]‹Ûȇ~M…·ÊVOÞB;)Ýʧ§§ðI©™Bfñ]µ4nI銲ӳø½\:à6·®:iù¡Á¸eN‘)ªÑ Y¶µuœ9ƒß0ßÖ†ßÄUWÇîÝËTUn™HÑŠn!² *÷­‰8K­è–|–è!Ñ–a¸e‘K¡ÊœnIÙHЧ,”‚ólL¥¹KÂ-”Îa.æÜ""â–i£[ §ŽŽŽë×\{Úëv”îp:;JJðëå øwË‚[Ôd)Âd*xŠùì)R&1 ¦ÁI1g¢Ft+9eºv,ËÅ=Ä¥™ÇÏHÀ-("2!n™öÙ-›Anmí¼dù¯žûêÏO}ý»%®[oØvùûÅ›®ËÍe²³ˆnÉŸnVD·„'kòÓ,Ùh¸¼Ô¸u¨Ê‡]é;À9|Ñ­¦zG½Ì^QrÂv¸ª¼Øf-(;òe8žÝÂÂEè-Ò­C‹’¦j7¤MàÂw¡?.½æÔ n@FÉ„¸eN¡Á®´”ñxØææÎËV_¼ÎõÈE“îÚt'J))©s8Øœ¦¼\'º¥¼­#ÜHLKSÞú‘…¹tn8‚S´&ñAXe³æïÏ8óYaÎfä‚=›Šò¶„)ºÅj<©¥ê?|6¡Q« ¸ôdBÜ2mt«¤„Anhèøýªß]žþ»uïÖÔ´ççó¿IÌÎfvìЊn¢¤háVïÝSt dn@ =™·Ì)4Ø:Ä8xÙÕÅÖÖv´´°ˆµ†ÍÍÅOm!Ö²Za¦É ST¢1G·@fàÒ“ qËœÑ-˜G8æ+¸]+n¸ôdBÜ Q¬à(n—¸ƒ²ÙpËœÑ-PÌ)¦q+|}ò’”Cs˜>‚i`ç‰!܃Á0D·hÁŸ˜“zÎÄâªaä¢Êá>ä0MQ1…Ö'·Â'À-0‚!ºE [ïZGñÕÛàQy)¦q+|}p+|܃Á!¢[´ÈЖ´´ÝŸ×ôn™G1[(´> ¸>nÁà Ñ-ZhÌ"‚Q­!ê“a|»$¼ U®˜Ã­^ØBŸYèÁ/ûÄÄÆ/Ë·Æ.À-0‚!ºE‹LQVÈÒng¼^üžù¶6ü&®º:vï^¦ªJ·èWx‡s¦:À-¹b·ô^;ïçuô!ôI‰µ\ò\T¶©B\Ü ]ñ‡[Qÿ%O6 ·&Ä{t‹¡„†6›AC[I ƒ†¶‚þÝò:¸¥b,)ÞÅ&¥´4!Iœmآ̳aƒ0?ž*`&¯QÚâ*“—MEkÎÄ…°ÊçæÖ}¾Áþ¾ÿ¸…Y‹¼”þöóé¥^Ÿä@ÈqˆíÛ´LNGË]›p ­c)ÙäK›"ž‘u¼ì8äâ3Ú¸Ÿ¸íFâDcÆ­Ë}d,n™Scˆn “$J¤£šäŽŸ¬ZÌ-‡"’#( Z+“¢[Rüœ×zeãZ±ˆ[ýý^νÈ}}½]žvg}õ¨Ñ-Í—Òû‹nÑìDã–DMˆÇøu«phã–Èl;x*ÜÜ@Z2!nE+ºå)Ml'!(–þ•'Ô%À¥´|Ù}@áæ£ÿYªÕsÓÓ˦ºVÔŸ(ŠEÜòz»,rÕ26‚[š}2Äè–ÄNe›HxŠVÉJÂ°Ž¥ÚÑ-‘Ù´Âe€[€[ H qËœ2hb;.¥†5nåSñ.1&ƒ(ù^Íp+Æp«»Ûíñttv¶t´7·¹ëL•ÕOtËng††´{æ©Sl^žÍsô›‰j|Ü I€[ HO&Ä-Ó>»ÅÇnýŸ¥n!ÔoãñØ£º_Hã nQ)<[) J±—o²Ú7·b·šê5ö2{EÉ Ûáªòb›µ ìÈ—~pËfÃÏjöÌ}û˜Ü\&;[óÙ-ù£òÚø¤º™(Ü.äËÒù7v°ê»“€[€[ H qËœBcVi)ãñà¥ÛÍ=Ê´¶â§¶êëÙü|Æá`sr˜òrÍg·Ô·ý´nÒ÷¹,ü_hZš2º¥ÞK%ê=*_Ë&–bn„U6k~ñþŒ9ŸælF.س©(o‹Ü ¡Oê¾Bñ@—âQy*cE‡ðì–(··â ·´.d (P™·LÝ*)aDã$2h\#OÈdg3;vhþ21%$…[1‡[!¼w+„>iØ{4Ÿ·ÜŠ8n)öK^½/¸E?¿€·Òàz'â–9…Æ,4–9ü²¨ÿk Ãææâ'dиfµ†:‰àVs¸¬Bë“€[á“fçér;=íWE#£[Ö%ÉÉKÊŒ£,u?OS´¯—ñQ—ž>U¾îJ™·ÌÝ‚)ªcNq[0EµÙd ÜâÖÓSÑLÏ"›<àLJ· 4R„u‹¶Æßƒ²×Ëø}^4×Ý€@ñ.âdˆâ·BàVødܲXR3É®©º¤<ê” pKˆaéÿxGã×ÐêßVËæÚB&Ä-sF·@1§ÄÄ-èÌQ”YpKŽ^”¦g©SüÖ¬}3QóÕ4€[ _™·Ì)¸™sй9#&èÌa’qKñLWOyi?*¯Oê™,øÛ…¯²Ú%žLˆ[æŒn¡Ñç]ë(¾z[¨ÊƒÂ ÄÄ-èÌQ”ép ß:o,ê¥t3‘U¿Bwž в¯²Q½îJ™·Ì)2B%-m÷ç5ý0B™G‰‰[(\9á`k>Ü’ßO”žÔR§ŒŽ[cUÂwP‚Ë„¸eÚèù{Tkˆú³®7SâàV/ìSgÖ›4*áÇÓ¨áVØ ¸%â–9E¦F+di·3^/~›w[~ëQ]»w/SU¥9BÑ)ä§A=R2·Ô#¦©:³Þkçý¼Ž>Ôά5hn Ü@z2!n™6ºÅPB#”ÍÆ ª¤¿Ê» €·nÉKëuZ0q¢.”ƒË xÇ H%çL4?nù|CÃÃØ¨C uŸo°¿¯Ç?n…Ô™©^ÈÏ¥NQõÕ„àÒ“ qËœK@€Ç&z¢j?¯ûãéŒúa•Êž;Òò#_a~Üêï÷rîE­¯¯·ËÓotKwEÕW þ¸æàÒ“ q+ZÑ-ÿK<ô¼p ;ó*ööóý,ý=]L¨Kñ¾eñV£zÒjí_ýá®ÈBÁ-¦ñ̞⮜’îÜ’ÑhyçoVqÏöƒÝŽF<ùòîƒ'ؘÅ-¯·Ë"W-c#¸¥Ù™I\KìÒååŒÕHt+ÜR÷Õˆ4‚¸ôd(n9â;º…¦Ý 1Vé/Gû1÷‡¿·ò©x—Æ;mü>0Ò­÷vÕ˜yË&‚g1Š[ÝÝn§£³³ñM›«±±ÎÁTYýD·ìvfhHêÒ{ô(ÓÜŒ'^5˧0ñºæ$~¸ƒÃa“D·úû½œ{ÑÕ¼¯¯·ËÓOt‹L¿›–/›išK¡ópƒ‹4¢b~CÀ­H)¡pKü ‡÷[ umùDÕ,+}ÈŠÞĸn6nÁàpØ$Ñ-¯·Ë"W-c# ©Š^Ò×;hLaÊË«5ÐèV­0¯³’Í7ÍíQÃàV4”P¸Ú·€}ávæUìíçú- º?/YæÉŠÿGï Ö¶ˆª·À`p8l’èVw·ÛãéèìlA—ò6Wcc¢(«Ÿ¿ëÑßòCCx90ÀÚlŒÇÃ=Ê47ã™ãNbóòðœq~pKú_RŠœšy·"¥„Â-ñ[ÐÑÞø·³Öî…·ýð¢ KÞŸ9ÐÂYz_øà ‡MÝjªwÔØËì%h¨*/¶Y ÊŽ|ég AˆEŒþ¢/-ÅÔ>ÌÿQ¿o“›Ëdgû‹n©RðÐ#û‹]·„,x5aFŸè*¡pKüœ°ü[ÀG·nýAàß‚4ê·"ü“ŠŠ`—ø„–Þ$~en%Ϩ* ÇEÛV®šÁ`p8­À­s.NtËfÍ/ÞŸq ç³ÂœÍÈ{6åmñ3Ð ÄBË£¥Ûÿ¢omÅÏ«Ô׳ùùŒÃÁæä óÝR§Ð·KtbYbú× °*¡p+Bß>®%{ê$MQ`«ÿ1øÓ›H€[`08æpë¤á¸î÷n•”0¢‹‹ñ_ô…… eÈó*èú;´“Š-%n™è[@~2¶» n•}\e¹¡’sUº ¥œHŸQ™šGöžH%‰¥„À`pàn…UhA#‹ÓÉ/‹Šðï°Ð(Ã0ln.~^2V+L_JÜ VáûP¿BLD}’¨ƒÊ«²,=¡µ‚ ‹0Ìf(E·4¢[ÑžÁ Np5‰O”£[Á„ÉyG€[z‚oA˜dÔÕJÜ’"W•~je¹ìYK9ÊRÀÚnÁàè:˜)ªc,ºJn"¬ p«¼¼Àf; y©”A‡OÜ=D/q ÅCà»®¨8„®þóÄbt ”8Ü Jðõ»‚­ãÇu/°JÜ6ñBV‰OaiÝL$$F—¢Á`°y<ê-ÅXŒnÁm”ÄàV8´éH×úâu¼k÷w¥çu®Úízs‡syFýë[N¾¶É±dc劵_Fû£¦ qK÷+Ý:îò¸/¥ÃS'ÒgQ/—êQyê{º© •ƒMåQï'Æbt ¡Ô»ÖQ|õ6xT>¸”ùú|fõV¶ûÏSZíNXâ2 ·réƒÁ±ìháVXEp+ii»?¯é7 ·‚}¥v"½‚;ÜÜ2\ë‹Ð2§†-¨c7±¥-lU;[ÝÉžt³õÞ/¯/ñW‹ÿN.¼Ù+”_8FûëIÜâ’ö0ƒÇn…ðÆ!¼ÕJ‘W5Rcô®íô ·¢$À­ È÷nÝ/Z"Ö²X4Üчp륷ŠýÕ⯓ ïí í‹í¯OD£[`08^Ñ-½÷fûyŸ6~»Ë/ívÆëÅïÖnkÃï ª«c÷îeªªôÞ*O½oNѽ¶n™@€[†kíþ.´<ÜÄÚ\8¨Uïa[{1bõ °ýC¼_\}À_-~:¹bJ `í¯à Á1ÝBXåó c[,´îó ö÷õøÇ-Q·l6ùÂå¿ÎqƒzŽÕ6h„‰O¨yå7LT³œ(«/À­ È÷.=¯-É=D1¨…kˆzžËçóÍ_±_£°z*e/—f¢çÃÒÿúPû˜c’ À-0‚c%ºÕßïåÜ‹®µ}}½]žvg}ux¢[d¾Ý´|qâi1E–G9[¿›¿O"ÍØ+ü)OÍ᫚Ò:?-‘ßÒ=&n®U»]h‰Xë¤ǵ<ý˜µ™»,OUTÕÉGýâð_õ×GQJ]sÔ¸ƒCp¬D·¼Þ.‹\µŒà©Š^ÒÑ-‡‘S^ÎX­F·j…¿Àñå(q~Í›‰2HRDx“E:(dn%õ—E½|sn¢êNÖÙï!j>Á…4gÉeíš_„Q¿8”Òš>Z܃Á!8V¢[ÝÝn§£³³]|Û\uˆ¢¬~¢[v;34„—¬ÍÆx<ìÑ£Ls3ž9îÔ)6/Ïç·¤ÇKÔ#‚fæPp‹ kLÜ2\Ë3êÑ’„¶zd÷i=÷ÊNe’ÿ/‚:›ÜR”܃Á1îX‰n5Õ;jìeöŠ„&UåÅ6kAÙ‘/ýàB,âòrüÔ–ÕÊ>̇¶öícrs™ìlÑ-U u/ƒÞ¥øk]+?u3‘Ï„S¸1%z"Þ M€[A)ïݲÏkвÞ# m©õô‹ª4U'×ûâøÇ-Rꚣ&À-0‚c%ºe³æïÏ8óYaÎfä‚=›Šò¶øÁ-„X^ºÝ8®ÕÚŠŸÚª¯góó‡ƒÍÉAæ7º¥NÑzR—D¦èß2jåÆ áa!¿ôÌ0ÀVÈÜ2\K>=Á ¸¥~jKÔìç?×HUvr‡çGÁ-­Rꚣ$À-0‚c"ºÂ{·JJÑÅÅ8®UXÈ Ö"Omeg3;vhE·@±&À­ È÷nч6–Ã-?¡-¤™ÏþÓØs‹nÁà,nM¸Äo•G|åtòË¢"ükDÄZ Ãææâ§¶kY­0‰O<pËp½›y¢´Ú=ÀippÐçóŒŒ(ò<̼±Jõ¨|bp ‡àÀp«ÆpÜ ëœ‰0Euâp+(ø½{gkåËëK¬=ôªÂyË÷=ÿZnÚ¢]Ͼœõô Ûf?ÿùÌgÿ™°¬ÅnÁà-Ü à(Â܃Á!8.£[ ÄàVP‚¯ÏظƒCp\F·àfbâp+Út¤k}ñÀºÞµû»Òó:Wív½¹Ã¹<£þõ-'_ÛäX²±rÅÚ/£}ŽQ“á¸Uå(û`ûž{^z÷‚»¡%ZG)QbÔИИ¦u\F·J½kÅWoƒGåãA€[A)¯ÏgVoe«Î»M•V»–¸ Ä­¶–{÷Ÿç«/û䋼Cµõµû<¹b3JAéhoÔˆ²Ø˜¾öñæ=…Õ5Õ_äÏxc4&4¦I—Ñ-‚[IKÛýyM¿q Þx¤· ×úâ´Ì©a êØÃMü\ÕÕø=óõÞ/¯/¥¢Ètæˆe Ä-4rݳ`Ãç¹ENg}KKc[[sG‡ëôéŽEe¼ºíÐ@`]’œ¼¤,ڃњë®ÞÛ´+¿®Žih8åt6´¶:Q{î(künEsåìnc}g©Ÿ±HLK€[A)ïݺ^´D¬¥9[bG6­—Þ*¥"À-¿Ø*GÙùw¾ªf­®®Ó==]»ÙÐ^úÞM²Å’¼z_XFŸØËHcªñ€´ç®ƒÇ‰?²pÅ–ZUÝ&bËÄ~…¯1# F{nqމè–ÞÛãý¼U¿c‹å—v;ãõâ7Ì·µá7qÕÕ±{÷2UUzo•§^Z7§t17ꚸ¤· ×Úý]hy¸‰µ¹pP«Þƒ'ODˆÕ3€_2O<88øâê£T”¸ÕÝãñx\žÓõ§;A]`?ؾçñeŸÖjh=õyͦ©ù7}dû ÕÝìõöô÷÷ÍN߆òˆù““§§&OJ·†aô‰ý± 5Ô£¯}¬‰ˆ]½ÞÞÙ«·Ò™jZÒµ15eãèmûM¾Æ½}·8ÇDt a•Ï74<Œà­û|ƒý}=þqKÂ-› ÏœXRÂO›HÞ-¯7‰O¾pýÎO³¤m âüˆ,=}›¢`-½IǺxŠ#3úðûpmT:•—PM|Bm+êW0q¸”ùÞ¥çu¢%¹‡(µbÑsUû|¾ù+ök•–¦¦"ß iT÷VwìZ<Úóþ(ú·Ö¤Z‘‘Q¸uÏKï~‘wˆÄµkÝUyÛµE×üò³ ß³¾ƒXk`àL^IÊ#æÇÃMæt a:ê·Âô,!==…ÛÄëˆÐð¾ÔÌ}éü ®ªlõ$¡í8êˆý± 5Ôæ=…zx€Ú3÷H%ݘ©¤¹DSmÅ·’,ºÅ·žn(,¾lc (u!­&6¯NŠ‹îÌêÔô±ÝE;b'ºÕßïåÜ‹Z½¯¯·ËÓOt‹ÌfÈa=¡—ÆÒ+‰¨b%dHïMd£gÛ%³òªÿT+“viÖϧ䧩O.ž¸e¸Vív¡%b­“n×òôkÌœ8222wYžª(ýW ODb¿TBéÅy¨ù©éï#«HQ䉜ŒÂ­ î^T[_Kî!NÍ¿éOE×\ž{ÙùŸáú k ôxûP1?βR(pmL¥ ‘7<‘n¶¤‰+Š1‹ð[ìãj¨êšj=<@íÙÝë¥3+…ÁŸ–ØV¤MxXMЛ‰Á6f‡Ÿö;˜Ð¼¸£’†U¤àÎ,0°ª{ÇGûÇJtËëí²ÈUËØn‘ªè%Ýr8Y1ååŒÕht«Vø7‰£I[²k¾òy. ¢üLÎK›|*ƒú|õ.þ4¥óM4n%õ—E½|sn¢êNÖÙï!j>Á…4g‰êÅòêï¨sO«óh¦è}¡Ô ¿ Œneì?B†³l\ôÙϲñÇç®ýö;GÞF¬åó í=êPF·\ò¨ =áñK€Å¨¹B b,ãB…Åzx044¸÷¨]q²²¨€s#¾Õ˜™¸¸Jcªï½êu0ÍŽJRd_sÎËŽ•èVw·ÛãéèìlAÿ7´¹ëEYýD·ìvfh/X›ñxØ£G™æf<â©Sl^ž9ÑnI¦Ss´´iK{dѬ6Ü¢£^ze5>w"Bà–áZžQ–$´Õ3 »‡Hë¹Wv*“FÅ-uÇVç¡ã`_šCøœ¡ÊÀg·ž\±™ g­îæ÷¬ïütýOß)yÛÝÓÉ=;1üôšLù³[üpS¶zRêê1àÉQc[l5ÔŒ76éáÁð°Oј”¹  àÖSÙõ;˜Üòó|W\´¬D·šê5ö2{E ≪òb›µ ìÈ—~p !qy9~jËjeæC[ûö1¹¹Lv¶¿è–v ÷W¶ö¥] Nrè ·ÄÛ‹òti€’nÔhÔŸ¦„³Dà–áZöy ZÖ{d¡-µž~1C•¦º™¨N|ÇÖ'Š·Ô·yIyh‚‹ŒŒÂ-òû¯EeÜpÖC†3×B¬µ×êPþ2QÆáþ‹êfb ¸E‘[|D·Hcî(<¦‰IßFT´¹åª¾™¨xÜ+~lcJͨZWw0uGåSè[‡¼7¦*o8F¿qÆâX‰nÙ¬ùÅû3ä|V˜³¹`Ϧ¢¼-~p !–ǃ—n7Žkµ¶â§¶êëÙü|Æá`sr†ùni§èÃŒî£òò;&jÜ’ÝTÞÍÄ¥©J’Dù£òñqúÆcâpËp-ùô+à–ú©-Q³Ÿÿ\#•ê™ÂÏL„tÍŽ­§’º³úQy!EÈCA"#£p«ƒ{»Ñ¯nÜ}Ȧf­‡—nR¼ÝHFDâSXZÊz3‘r ![Êôøˆn‘ƼÿÕw<®Æuc¦K7®„'·éÛX. #–ÊÛ˜.eôI£ƒÑ÷]:ÏÀ«ÉÝ^±žh7ËÑ­Þ»URˆ..Æq­ÂB±yj+;›Ù±C+ºå_Z?I“.e¼· ×¢m,‡[~B[H3ŸýgØOEçÖ}te n‰ïîž¾-¯¤ªÇÛ·÷¨ãé5™ðîî,5æê­¹G*»{½{Úm̸N³4&XÇ1Ý Vˆ£_9ü²¨ÿ±ð¹¹ø©-ÄZVkГøíܳ· ×»™'J«Ýœ}>ßÈȈ"ÏÁÃÌ«TÊ$*¸e>Ø2·ˆaf:bcnؘ`ÇDt+XÁÕ‰#À­pè­•/¯/Y°öÐ « ç-ß÷ük¹i‹v=ûrÖÓ/l›ýüç3ŸýgøXËü2·À`p"8XÜ:çR‡ù£[ Äà(Â܃Á!8Z¸Öè(qdn阀[ µ·À`p6ytkõ_­/XwÀ»vWz^çªÝ®7w8—gÔ¿¾åäk›K6VÎ_ø¡‡Åœ·@à ÁfŽn­É(­lÕyÇ¢ Òj7W" p anÁàlæèÖúâ´|æ™gž{î¹9œæÎ;oÞ¼ùóç¿ð 8 ,\_\½ð{À8à(Â܃Á!8’¸ìë³Öð¢%a­çŸ^Z/½ôÒË/¿Œpëå·Š•%•“¬ÉéJñ‚k ¯Xà(Â܃Á!8’¸¥÷x½ôµû»Ð²®®®±±Ñét¶´´¸\®ŽŽ·ÛÝÝÝíõzÏœ9388¸`õeIÿågf7P¬ p anÁàaÜ⦨À¶X,hÝçìïëÑíô¼N´œ3g‰k½øâ‹ ,@¬õÊ+¯¼ÊiÑ¢E>Ÿï…û•%5 J{b)U¾%M©³!ß”g™B€[  p ‡àãV¿—s/b–¾¾Þ.O»³¾Z·Vív¡åܹsEÖZ¸páéÓ§{zzÄÐÖÈÈȼeyÊ’Š›‰ŠYnuo&Jyø©v¹z¤RÂj~š_v˜ÜEX€[`08G·¼Þ.‹\µŒàù­"½|sçÍ›Gž×zùå—_yå•îîîÅ‹/Y²déҥ˖-Cž_¢zÁµÿ™¦õpK‘Á•¬2µ€–¹¸а·À`pŽ0nuw»=žŽÎÎ.m®ÆÆ:SeÕ‹n-ϨGËŽ”¿Óívwuu‘¸VÿÀÀ€Ïç#ÙÒ^Ý©,Ü"è2—·@à ÁÆ­¦zG½Ì^Q‚¥ª¼Øf-(;ò¥n-û¼-IhkáÂ…äa-ÄZ¯½öÚ²eËÞxã+V  Ï,ÈP–ÔÆ$> “”·x|Òº™HX¿ ÏÖ›H€[  p ‡àã–Íš_¼?ã@Îg…9›‘ öl*ÊÛ¢‡[K>=–===½½½^¯·¯¯ïÌ™3„µÞä„2<5÷seIÍA¸ÚHK“E·„=zÊ×ò• åáIy3 p aŽ[U޲¶ï¹ç¥w/¸{Z¢u”õ¡!F 6­ÍüÞ­EÚÐR|jkÑ¢EK–,~ýõ×W¬XXkõêÕ(ìçþ¦ë*ÈüÜEXâV[ˉŒ½ûÏ¿óÕÇ—}òEÞ¡ÚúÚŒýGž\±¥ t´7êD YlÌG_ûxóžÂêšê/òŠg¼± l›ù­òKÖï.­vpôù|###Š<3ól0ꈠ˜à(Â2·ܳ`Ãç¹ENg}KKc[[sG‡ëôéŽEe¼ºíèp`]’œ¼¤,ÚCRÈFÍu× ïmÚ•_WÇ44œr:Z[¨=w»ÿÕ#ݘ‰Ñæà læ9‘–¬Ë^¸¾ä¥µ‡^\U8ù¾¹¯åÎY´ë¹…Yϼ¸í©¹ŸÏzîŸÀZ .À-P„enU9ÊοóU5kuuîééÚ}ȆöÒ7¨qy_zò¤tëh—wq(pL塟4¦šµH{î:x\¿1ûàci?ec¹ÍÁÁÚÌÑ-hTn",£pëƒí{_ö a­†ÖSŸ×lššÓG¶ZÝÍ^oOßìôm(˜_B¬0áS,ý¨¡}ícMÖBìêõöÎ^½•nÌ qk,Üs6yt ò/À-P„enÝóÒ»_ä"q-ÄZwUÞvmÑ5¿üìÂ÷¬ï Ö8“WR…òˆùËVOJ^½¯gNçWÐ`Íÿ|‡#1nìNOA›Ó³pŒß—œ2]Ó7¦ ¿÷IÍÄZTÅctèG µyO¡k¡öÌ=RI7¦6nIí‰PÞž|©UIê2ÐÿG¬ÞOmÖÁâÖ„K쑌ntØÅÍÂwVµLýÏœµkÅ”žînŠ9n",£pë‚»ÕÖ×’{ˆSóoúSÑ5—ç^vþÇç_¸þÄZƒƒ=Þ>”G*’9Ý’²­d¥q±7Ä»„Q›ú¹]T¢´‚Ç}i/mRs,ý¨¡ªkªõX µgw¯—nL š ¡ŽY”´†"Ò b{*µØ¨Eø<:LûmÖáÖÕ·>6·‰n¤ýmä‰ïïýío>ÛòÅ?ÞygîÒ×'ß}û¶oÝtï+V­ú|ë¶£ONºóÜÌysÆ|Ū·@–Ñ­ŒýG|dûà¢Ï~þ“?>wí·ß9ò6b-ŸohïQø Q“H‘ƒò+pK=²Ó5hfˆs¡Âb=ÖÜ{Ô>Jt‹þø¸eäí©Ü«ŠMù)¢Ì'mÖÑ­@Tû§ï1÷~ÿ‰ÇSg¤Îzyîœý8÷èÆòÍsÖ/YúDêÌ9ó,zòvú·süí€k„”Æ›·@–Ïn=¹b3aƒVwó{Öw~ºþ§ï”¼íîéD¬5<<üôšLúq£ך”ž¹$™‹qiF‚Â-‘ô2Ä”QCÍxc“k û9Ü¢‚„ÁâV|µ98XG·‚}ïÖž·ÖýÛ7ÞsÏü¥Ëþ?{ïGu¨ÿîÿMnBür!pSn 8P.äý/ª 1Hâp „Ä$DI.Æ …ޱe°XØl¹É]¶Š-K–­Þ¥U[I+ɲ,«wYmµ*+Í›Þgµ»Ú•v¿Ï£3gN›ÑjæÇ9gçä=v+¹áfòW¤|ëÒ×>Ù¸|ÅŠÿ¹~Ãw7]Nì[ºT3»ô]§â åÕ¸å:ƒÖ枀[Áòî7g—1l0̲Û¯E±ÖsâËt´cCMâp¡8’ÅY¨Ä EÊÁDIbz lž?úÙ‹™Y¢ÉZê‹©Å¥Z#ƒ*vâu)N²¨~rÍawm$né½=^/žÒºM›ŽÓK"žYú,ùÄWÉ»ˆä¯}µ³³“=š™•õê+ÓÌÈ­ÔÃíÑ/„ç^?^nÍ=· ƒåÝ÷n-Y¹çd®EÍZÏEì×zU”d¾V×Ì#SñËäSå%é)Hˆçgts æù£Ÿº\¿]¹;1§\ÍZê‹éúTy9;‰ß5ÓÌEò‹XŸ`×vËãs3áL…Ž ûè°ÜÚ²eËÎ;©À…sçßòƒ#ÿöÿ¼øÄSÂÑS§N­X¹R+Ÿ¸B"'qYêððG$=^âú=Òî0!¯¸p³^µxX#-ä· ƒå‹·Ê¿y4¥Ð:l=S\÷×Obñ"t,^Ìõ1§ ª‡FlgŠkq1á¹cƒqËn·1¦þïcdttdp §­é¬ÜŠŽŽŽŒŒdÃ1ññË~ÿ솿þ:}+7Í>!!aíÚµÙ´—¨f‰I¾Pµ˜˜I Ë.®]­,Vr$=\–2XÀ-È`aÍĹl\LxÎÚ`ܲÙ_Àm¬·°¸Å~WQº¥wüÄÛ+Þ¥CCCŸ|òɯŸýù«/¿ú«_ÕÔÖR‘‡ŽÄ¬ßô©FMNpKˆIèø’µKžXY,ÛëÐò¿€[Áò:nÁ0 6·††úzûú:z{Ú»»ZZ.ÔÕ[Íz½[ÓÓÓeº»øWßßþø£¡aùÇ«¯>¿tYLXXÔÖm/þýÿ|wyê oþõc=Ýݪ¬NõqK®ôb]þp 2XÀ-†=°Á¸ÕÚTw®¶¬¶²°Æ’o­È³˜3Ê Nëá–Íf¼÷Ë¿½í§ŸÎÉÉùëk¯³‡GäËK;þqy/q<*JwÆ©òâx 8˜¨ '­ÁDžÐÂÅb0yËŸnA ¸ð6·,æô¼´cYÉ3“PÎHÚŸrØÉÜ­Œƒ÷üáÿXñî[ï­:¸{×’¿¾ÑÚÔ›±fÍk«ßßw÷'oýaG[›f^éð GMï†PÌÈ’•İ%ð3ë·‡«Šü"àd°€[0 {à¹üÞ-ASSSø!ù믧½|Oæ7.ùóëo?qÂkwOÕÀ#4Ü‚ p †a<—ß*/UmyùÈWÉ'¾bù÷K.^ôR©Ò×@@óRÀ-È`¹‰[~¿ÉÃ0<\Q1?p‹Ò‘?ÿáøw/?ôÎ;>*šnAË-ܪ¨È°X²ü~Ÿ‡aØ¿®¬Ì¥îÎÓÌÜ‚ µ€[Ár ·z™‹%Çïw{†ýåÊÊWæÌ5Ü^ÉA$p 2\îâV/3¤HÝlaJgÌ8Œ87qËuMNN®ÛqâåÈÄ_½Ÿv÷»…w½‘õ“7N>³<öÕcüÝ4ÈknAËÜ‚ažÑs ·\ïÝ2—Wÿê$ùZ>¹¦ˆü´Œ|÷ôèm+ª¾òlñØñÞÞ>Ÿ62LÀ-È`·`ö…çn¹®R‹•øÈFlœ"6MŸ“÷||žøy2ñ‹ÄC1v»ÝÕRðÓ¹-àd°€[0 ûÂ*ܪ3·<{a—¥º–XÙA¬é%Þï#>¾ýÝ*âñâÑc_|(Þº5qËu­ùXÀ-È`·`ö…çné½vÞÉëè)ÕÔ#þ^K¼uö»íߥ˜xø(ñàÁË~rкgÉKÀ- ¸,à þðÁ-‡crjŠ3v8&ì£ÃNÖ¶Î-*_öa,ñçb"¬œx¹Šø{Ý·BÓˆÄÿúÖ}ŸŽŽŽêV&.Ü#,`þˆdÅé»QÅÄT¥‡‹ëþh†¼+àd°€[0 ûÂs·ìvãÊ££#ƒ=mMgõpëב§ï8âøÂ.’xíñÔâç‰Ä¯3.YCܺåúß'?ôIÓ­+j{/s˾UVq¡jn=jÉZ×bP\Õš_š‹ÑZÕ¤åK· ƒÜ‚aØž#¸e³ šäj¬·°¸Å~WQºýÏϾ–Gn.!W“ÿ}h’øï¨+]w÷òŠ%Ó[ÍäÊÔÑgì÷¼o½âû•5IéˆE'uŒLº¤µÐ›¥€+à–Ü‚ –q«l·Õ´¨šuÈîÝ”kÈRk™4ÃpÀyŽàÖÐPÿÀ@o__GoO{wWKË…ºz«Y¯wë? ˆõcÄgSÿ•@~ÿ¥|â¾}ÄÒã_ÞO^|:™Üb!ÿí™Ä£ñ×?¹[™Ó]Üš®€[>p 2XÞÂ-šµDvª sB\ ,ÏÜjmª;W[V[YXcÉ·VäYÌe§õp놓‰wZˆ•í_Œ¹þ…,â®ÝÄÿ&k‡ˆ‡ˆõw™"~r”xôØÿ»äsUV­ÁDž—Ä‘Bq0Q>t¨9˜¨HyUÀ-È`y ·ÂY#-’–©˜mØR®Ë+,…:TÉï†DHº¹¸n1k<Ÿ72BšKÒuTƒáùà9‚[sz^Ú±¬äƒ™É(g$íÏN9¬‡[·?ˆx¡”x©Šx£áªßŸ&îøœxî4ñê9âóÄŠ¶[6õ¢üÈŸµÞ˜ªž*/ŒJ»¹”SåÕ“ç9̒ά‡¼.àd°f¿ˆ©ê°ª¡,žæ(ÃR¬Rš’ &Ò]a"SEÔ°ôÅÆÐ¹XlcóvÕÆGp¦%~_ІƒÍ/â3Þ»µaç‰/?zˆXœHü>ûkÿs‚øÏ-ÄâÄﲉ?©¼ê­*âýĽ»ÿ¶J5˜è¢(„?Í · ƒ¥øð ]¸Øq±ïBki/Q­‹[²F½¸%MÃb•"†G2Ó"´`ö—=]¢Ú¸åz{ûVEÆ|óám—>½ú“˜Ï¢“¯[rˆøYñ«Ó_û}ÅZØ?55å~Á謚[nAË-ܪ¨È°X²4o•N½[B €.ö¿++s©»ó4ó·XMNN ±áéééøäÌ?lýÇvŒ=ã߆AÞp 2XnáVy¹î V{ª¼–RøÂÈ “ÁDnY¬aÜÄûšÈ¥r®ƒaØžqHq^ãðnAËMÜrvƒ•¾‚›y%ΗõJÅGÌJ Ö^$þ9B|b'6NþñØ0ñbÝ©õÇâ÷9Ä’Lâ™4â©Ó/¯ŽÖ¨@±\µl é³JwÃahË]· ƒÜ‚aØn¹¢7>M Vv눆ˆõ£¿ÜÛO<_Jü©f­ß¤S EüO2ñóã|vT™SÚsÅ‚–{¸Å‚hËm· ƒÜ‚aØn¹2w+.%—ž¦ÑC¬é%Ö^|`kñ§"z‘b­_¥‹éE®ŽÙu(I™SWyIq‹å<†éô-wÜ‚ –·pë;¿|×ûýá;á¼S¼3òƒ·\ÔQ'‰¿Tïu«{nýg+ñ‡|z ñé3Ä/OÇ‹Ž\ùhT[{‡:#=‹H çz·„±E¶ÏJ3F,|MÑy·ôž˜óýà ùB^Ä­sçjXŸ?_wáB}sóù¶¶æÎζÞÞ®‹{/ösŠ:»ææÖ--mmM-ÝÝíÂ騼SÆÇØun¹¾fâÖƒ)_øS!±²ãêUç‰çò¸®­Çâ®øYôª 1/¸TŠšžœó¾’è‘€[Áò:né=¤f~òšW‡„¬žíŠ?³)dv ØC:G ôzí¼ƒ·ÜÒÁ„ô/þ.ý«¯Ÿ¥Gÿ'é;OìÜo³ÙÜ(ÂMÜ´-ÏÜ‚ –wqËÉCÊfQ>§¨ß?²>50pK<®Ý}-vû¨?¯€Ïpkîž2í=a¦{"Í®ž>Ƴ¹ª.¦T's’¸5k¹Þ»Åêä™Üï>µÿÖ%»¶ïOœ˜˜ðQ« Y ¸,/â–ó‡”úÉ+>©gâ²=€[zàA™:ýññ1^ßàÖœ>eö)4Þå³óÂÇx6W¸AF‰Â'ЦÜJO· YÈ‹¸åü!¥õä埃’çBä2“lèGì:` Ïñ1š")‡NÆå‘tk¨ a*âw…Y¨bá’éõ¯ i(Àƒ2uúãF]:AÙú{LʳpreÄ3•åuú¤žk§¬<ºkKøÍ ç®Óå­±þUU5OÖ°Xê¤äý~ŠÄê*gYF—~ïÞpðà–»½[м‹OíýŽòFGQíxŽÅžQnO-µŸ.±%&Ù ìÇóm±¹#çÚÇ©”ÍM$p š…¼ˆ[ÎR““ŠçT<û:˜§ ÷À e(ôÈ¡"tÊ=ìÓÚ [ÊÚ&}ôÐ…pÏ:‹f!ÒŠ$GùÇâž0Eˆ,½3ö`;yXØPƒ‡Ã1iÐP0UwÖê+£:Sî|¹øøe3æ\:eÕé(®†k½[³ýë]UæÑ˜$û\‰-T'VP53ºò{Ÿá“좃·\”Ãᨩo8”œûæöäÇצ|wyÉ¿¾f½ÿ¤u»NVZÏú»uR,nQ¬ÕÔ=}¶}ºªÉQqaª¼ÁQZ?UT7UP;™kudU:ΔNœ*¦R–Õ4À-hò"n9HMM9´ç³3™ãJ²ç”ð\¦@ñËègT ›K:‚£Î2cŒºR“TòôNŸÔ쀚€ 𘚚2ô (:C4¯ƒö™²].Î@k.ž²út4¿3‘>ÆšWÕ•Ï•æïNØ9nÍø{Ÿé×ꢃ·\éÝZ~ÓŽ¡[vÛoÚ5öíŽ/n›&6Œï÷ï4/W_½,ãù51ùÅå4rE,nÕŽS¬UÛâ¨8?Å‚Va­#·Ú‘[I³VZ¹ãLÉDŠy„J™ZL33p òX^Ä-ç©ééiý¯t1ÿ/ïÚ“—îâˆe;7˜¥ØPþYà–ëcäW@o@C¯€¤OC·¨Îtfèšs§¬þ5¹[Þü»û¹Òì”såDdœ6Óï}¦O²‹ÜrEßÝÜ÷i1¹¾€|%•üåqòŽCä•»Hb˱aìšm¶…›þý£Þy¯ýò%‰Êœxi–ŸÄâVN•í×*©wP E¹ z’¢¬Ó¥S¬Ï”Nœ1Ó½[ñYÕ$p š…¼ˆ[ÎRT]ŠçTˆtDIý\ÐW¢……ÜÃN¿)[¶,T6ERˆd(J5˜(ƒ ÝÁGÝǢξA †^ÅuPÇȯŒ"o7»‰bg³}æÖ)«O§KE)3Á†>ƺŸu󴹪«?¨Z]ú½ÏðIvÑÁƒ[®ôn}㣶g’È×2È…4t½žI¾‘Iþ!qò'{‡®ø “îàz³‘xëÂå¿=¡Ìé"n)^#B›µXÜJ+£˜Dë$kвRJ§J&©-e·ž®"[Ð,äEÜrþ"UÏ©HqÌC>£¸Kñë’±!ùs‡Ÿí£xîHFR”‘ª¦.ñ½L!ËBg†sú¤Àƒ=}xw˜˜x~þ9w^3\陊ó·Ì*Ÿƒ§¬ñÛ—ÿîØkâ|ªül?ÆN>?šÍã#X¸[¨N¬þ J,dté÷î n¹¢ë"*®&ï;Jþö$¹"‹\5õ…÷ûˆåmÄ›ˆ×ί%þZM¼býÁï*s·ü$·RKí%õŽ’³ŽŸý!‚íÝ¢X‹-ÊT `q+:¹’nA³qËùCŠT=§ÌÔÙ9À»wÊø»îàÁ-Wz·þkU±yúÒíÓßßG>G¾~zœx«…x½^HñE ñB)ñ¼™øßâö(sÒìÎ-ÒÃP”Y‰«ø0«S›ÄÔâqqŸíáÒ(YæF¯]•y/·’‹G)ĢȊufå$å“¥“B ÝÇULÏÝÚ•Ü‚f%¬™è-á¼S¼3òƒ·\ÑÏ#NƈMÄæ©K£È¿Ÿ%Âëé­eeÄŸ‹ˆÐ|ú%ó¿Ëþõ?v+srëRK‚šYÚ½[ôr‹"SQ!­¸—Ì ‹Y‹xý¼(·’Šl좔¸„0Å]'K&OÓ½[À-h–ònÁ0TÜb{·œoÿôQ±ö"ñÏâ;±qòdž‰«èN­?¿Ï¡×ª~&xêôË«£•¥+8ŠB#×qË¥¼ì Ø-¥XÜ:Q0J‘±@Y"k•N&–L$2/‚Ø™h![Ð,Ü‚aØn¹¢7>M Vv눆ˆõ£¿ÜÛO<_Jü©f­ß¤S EüO2ñóã|vT™Óç¸Å Ð¥‹[ñù£Y•Ž\+gµÊ&YÇO/ —¼nA³p †a<¸åÊÜ­¸”\zšVD±¦—X{ñ­]ÄŸŠèDе~•B,N$~–@<³ëP’2§Š$‚‰#’HIXk0Q[ÛÃÅâ1yK‹[G³GÓÊéWleWNeU;²˜>®”*GR¥ãx…#¶tòXÑD|z· /¸ðÜrQD$þRA¼×I¬î¹õŸ­Äòé1ħÏ¿õ ÎhÚ_÷ÁÚUÑ•ïìªZ¾ÓòöÎJÊT˜õ{ÑÖMq ½Cvà4K¹‹[½Ì"u³…a8(1ã0"p T· ånÁ0 Ïhp †ç¾¥Zàäº\üðÀ0 »ewq †ç[ënÁ0ì ·à€7p r]À-†}aàðnA® ¸ð/ Ü‚ÞÀ-Èu·`ö…]­žÖ=½Í=½l¸¹··™ÞJ=Í=”{¹:ÜÓÄjêaÜ+Ùö(ÃX÷2îQ™l”lÙïn­m÷y~˸‡ÞvÓn` Ýt<nèæ|ŽÙ¥¶çºù­4À¸ž?ZO»«¾›±èî:Ë„ÏÒî>ËD×1–†ywòÛNy|W-c*¾VË5Œ…€¦­ÝVzˤáÎjÆT¸Zf*²£Š±ðÀ•r[Ä@»…¡\ÁÚ+èp{…vÛ+ºÚËù0(ïb,„»Û˘@Y7.£Â]­ÅÀ-Èuù·,Ö¥Ö2ç10 Ïg»‚[] ¬;Yw41]Ânǹ®Îs]Ôî¹.Æt<Io;¹p}'w” Ôw1–„x.ÜÎmçÃôö,m>¦³ý¬Ô]ô¶n&×ò['®qÕmÒ€•7µkíh·v0ÛÎöj&\-¸S厶*I ŠÚv´Šaf[ÙÙVÙÑJÅSÛÊNjÛÆlù0¯o ci˜r½ma-|LK·m‘„[Ù@9c! uc!àºKy+vKx—¶ËvUn6³vÆÔn{‹¹½™qSp r]Þ­EÕ&ÎÖøÓëá  †Å®àÖ…Æò ŒË/œ/gv˵Ãç97²ÛF.ÀÆ4rñe” auL£$¦QæRUd© .‘´Ü@mÍŒ™@c6¦A¾]ÌX8q‘|Ëûœ$pN¾«NF'(ä·.ºÀ3Ÿçùün~#o&œGù<³¥õ|¸>O_ÏûlvC]&p r]^Ã-“R¬¦‘ ½[0èv·JŠNÃðü5p r]ÞÇ­®š0¦ƒ«l·Uè0‡(¦:ÁØôŠIWd–¢“†á9lL•‡ÞÀ-Èuy€[ŠE|ØH·hÊRàPŠÕQÃ`˜„è4ªa+Äs}eê¼Bcü¾¦ •}µˆ Ï;· ×å.n•ë,Q­Ñõ¤Ùs%rãJJÿ•ÁpÐÚGKTÃð¼3p r]náVEE†Å’¥ù©Ó˜‹%Cœ%nI烷`Øß®¬Ì¥îÎÓ·à€7p r]náVy¹î ÖÉÔw~x‘žÓŘnŒn_–˜¸ÃsÁ3)º‹[&š’~h[ër·to°jŠç纇Dð€”b!ÆÉÐaŠ0ñSåaØÿžq<ÑÜò÷í‚fp òXÞÂ-ãÌM¼÷w3`8¸í Üš5¥ø©: yP¥)°¯W6shJ¯Ý–I“¨êÕ-Ž•¥ã¢˜Ÿš™f8sÍ|SÚ»¸Âî\aà䱿 n }e.½F†aÛ¸5ÅÉá 7ÜjKÿÇE;„ Ûá÷ÙäB !—CØ—1ÅUÅW¬¬Ò!Íãþñö…:ÅTâ)1©|+ÔÁEˆ±Šq§îpÈ q8$ÍOB¬QÚ2\a¯0p òXó·`žSön9&q?ø°ƒùoRzÌ!\œ425•JvX#‰$W™CZƒ´ yQB>ÙQ‡|£•Dïàk”Ô-m´ƒÿ±ª$‡xB{5ÏWx–W¸y,à ÃØ¸511ÎüÇ› ó!&ç 9ȧåói¹Dì!~—9*¤«âvù‚ø³›"4Yh†Xð$©xÂŽP¼pƒ’„ƒC²ŠølÒ+,¹Lò«…+¬s…[ÇnÁ0ì}[.R/ößEˆÜ`av˜jËÆ P?ù>/zŸ:T)ÄЙ$ Ø2¤‡+äé+©:˜šÙ ­‹lˆ‰`âØF‰ícšÅá%D_äÛËîˆûl‰L6– ^äÊá\Êç¶M¼>\+ùú¹–ó5± Wm@hÞ€ü _¶ù¢PõEi².«x®²<ª¬|Ó$Mæ.d\aàä±€[0 {`_àVŸT呚þÏíô3›~*2$$²\’ª?þ/tªŠÈ>qü_þ_Îîös»}l"fŸ.á“ .Ã$è*Ѩկ>Ú/üëWF«ÊêWÇõë„¥¥«³ñáþ~Ýf÷ó­R•Ú¯ªSè4_«€þ>Yk”í“%Ÿ·W¸y,à ûÅÔŸÞ¼°^û}[===Ý´éÿzJÖ‡„¬/ew•Ò‘%T$uT˜ÓE'‹ £CËb¹ÜìnX,›·T’˜‹pUòê–l{„¶pûÝbë„2ñÝÝüFr ››BøÁgíæÒJÛ&©Yˆê–5”>*4¶[Œî‘5_Z’˜Hz"\önþ4å')½òÂ¥up»’@¹ÂÀ-Èc·`Ø/ž7dƒq«‹V'¥®Nêgì ¦þiîdö»˜˜Î.óúBþi6ÿóîPW'çêì<ö]ǘ´]±ìn,•žÊÕ%”CÿLjMð±.®ÊNIõÌOV]ì?öG[ _˜P–$¥˜^¬+¼«S’¾‹?¹.®¸N®H¾$!ƒP&Ÿ»K²å²ðɺº„´IÜ9J¯p—¬|+ºIO°“?þ’ WM’_r…%͈+ Ü‚<–Á¸u2·$1‡slzßy0ì/Ï‹²Á¸Õ.WÑÇP,ÃïÆ¼ðB õÀÇEìVHÃļ F<ðqŒ|·(æiAL´Øà÷§ ûÅóâ†l0n55571ÿš™#*ØÌïs›æ&ñ°ŠýÁ&U'hÖ77 Õ4Ë ‘T&ÍÙ,O&6¨™m¤X°ôps3—µYÚôfIÚfUUÍql{…Ó‹P5Jv†\õ’ö(*Å–T6ónA ¸Ã~ñ¼¸!Œ[¢ÎÓÿγ¡óì®|Ë–äPDHSÉëT£‘¯^^¯¸=/ÄðIÏs{ªâtÛ¦h æ®“ViÒyE1eåà ëæur…[Çòní ãúæCãuÒhâÖŽí[axyllÄ6Òïì!du™ò‚Ò=‘æoÈéá\âðtãïZ2·Î5œ;w®¡6õ¯ 50;çñ èL".’‰oàs0ÉÙ®¤sܾ˜ýœ$Ø 9 4€Ýpœ“ÉÕÄ‹o4›„K!TÜÀÇ -lÖ'dÛÄPƒÐ$¾-b»Î -9'^¾Øs Ò„|X8€+<›+ Ü‚<–·p+~™),–”­¿Ç´lë¸54ØÃóÈöÑÁ‰ »æ'œþðÓï%â–îÿ}¨oÈl±˜Õ¸ý‘9\ãÖYJõõõg¹Ÿ\ˆÙaâ…ˆzÆÂ16†‰3‹Ié]8"&¨ê­ ®—fæ"ëÙdÂz±â³Béõ\)õB±9BõBÅòæÔË~Hr° g)>+IËaÁ5UÒþâà {z…[Çòn‰óêñq33n ô]€áyd'¸¥úü»…[m1¼õÈöF£o2·jkkëj5¥]'=VWÇíÔ©RÈÂuTÊ:EŒð£ŽùOžEZ “³N’ªN–”¯_vPQ¦â$UH›!ì(sªKRœ2»_'Ù•Gà Ïæ · å}ÜÒÄhâ–¿/¹§•¸%¼‰3Õ Ü’…ý)ƒq˪PäG ¿'9XcUFÊó Çk$)åAÉE%Ú%×èäSç©á› «V»|U²*µê‘%­™¡­*Õã ËêѾÂÀ-Ècù ·ûêëk1U4k÷îR3ÎÝnAÐ<ôC Ü‚\—‘ƒ‰;Ò®MþîÐP?ÅZååæoòÍ¿­úØÿÏGö¢µ?ÿ©‘!îàVP&Âð¼3p r]FN•§üǘW¯=ùÝŽŽе{ï¿ÿ±À°—-Å­ØPö‚ŽTuùbª< Ïw· ×eä‹ X²?áª=ÿñÒòüþ—ÃÞ5÷ÍDF4hÑ”%Ù•'Æ‹ `x¾[ï‰ Ü‚ÔòËÕïnˆòûŸ û×ó↠܂a'nA®Ë/¸Ãð¼¸!‰[T]0<÷-ýз ×åâ‡ÇÅ, Ã.z^ÜW‹[þ>]šAÀ-Ècù·vïöÂûæN!sª1VÈœjŒ·Îˆõ¼¸!ÏAÜŠ9¸Õ×g ƒúûÚ¦¦&ÜJO· Y¸…3šË…̩Ʒ¤ž§½[æ ¦SkLI«M‰ï™üÍd@ÐÜ‹OíýŽòFGQíxŽÅžQnO-µŸ.±%&Ù ìÇóm±¹#çÚÇ©”ÍM$p š…€[8£¹\ÈœjŒ×qk^X¯ýó´w+íCÓÄhŽ_Ü ^±¸E±VS÷ôÙöéª&GÅ…©òGiýTQÝTAíd®Õ‘Ué8S:qªp˜JYVÓ@· Ys·`öÀó®w+/Ò”¹Î”yÅøp'ã.nùñí³nUíY;Å\Òüsæ»^‹[EµãkÕ¶8*ÎO± UXëÈ­väVÒ¬•Vî8S2‘b¡R¦Ÿ%[Ð,Ü‚aØ»†[ ¦«¼€[qY•¯oIT›Šw~+Úh*Ùw{eÜO›KV^,w8:ã¶¢þóŸ;Æsbßv³wËk+¹Uµg픾f—B,éÖí²æXÜÊ©²³ýZ%õ ´(TOR”uºtŠõ™Ò‰3fºw+>«šnA³p †al$nQdåV<«´MS@Õ:fË·åMØr'GNŒ$'u×½A:Ǽáî`bpðV0õn¥•ш Ì¢u’òÏþAQVJ‰ãTÉ$µ¥ÌâÖÁÓU$p š…€[0 {`ƒqËᘜš¢m2™¨°Ã1av‚[ku”þ5uT $yš$“I2œ>BNF“ãŸw×¼DNl;üš&n ïögàƒ^QIÙBK¬Ø. Åòâ ¥l——£ˆQ–"a±@*Ä¥• ”¤…Û©,ááÈ‹uÒN® ìAù™ ¹”½[Bù^,n¥–ÚKê%g¹®-еXS¬•Äe·¢“é®Tàä±€[0 {`ƒqËn·1¡žú££#ƒ=mMgàÖ™µ¦žª7O@U>I$§£Ir7éØJNl Ç?j)}š[w \[ªõ*å¸Å‘$Uz8Yˆ 1”#ÆpH&ÑX”\äðp¦\*†¯œg1y ¥Í£éIä8vJÛ µ2§˜KŠ[&qJW ‹[ÉÅ£eÕNQX‹õÉRޏRŠé¹[»[Ьä&neøý&Ãð\pE…¡¸e³ šäj¬·°¸Å~WQº¥”ò¾©½èåSk( Š'§6‘SŸ“‘ãkHÛ räÕs©LýcŸúE3މ\$_Ú’G'Ôãqš1²b±-A#Û„J4'SÉv9ŒÓm猣„êY[Š,sf5ÏÙ‹Å­¤"›0†È:³rRJ\'K&OÓ½[À-h–r ·**2,–,¿ßçaö¯++s©»ó4ÞÅ­¡¡þÞ¾¾Šº»ZZ.ÔÕ[ÍNz·’#L-yO%­6‘SHÛ›äðkäà+äÅ0²ïOd÷³gOÝÞ[þÓ=/»[²R˜aÁˆïŒr·Tu1¥°…pA ß0Ò]Ã-ÍvÎ<)KREpàÖ‰‚ÑÜjq ‘ gU;R%Ä•X2‘ȼbg¢…nA³[¸ÕËŒ X,9~¿ÛÃ0ì/WVæ¸2¯À»¸ÕÚTw®¶¬¶²âkEžÅœQVpÚ n\eºþß'VšÈ‘¿‘½¿#»~Kv>5\³h üÞ¶¬Û&›¨9qÓ®ÝL$Ù~¬íÛÃC|ü î»4PG2ø'©.üa=¢¨¬:]5˜(¥*IK5Ú)C5mxbsiâV`ч[ñù£Y•Ž\+M\Ô6»zŠÂ­”*GBM\Ô6¾xâxnA³–»¸ÕË )R7[†ƒÒ3#ú·,æô¼´cYÉ3“PÎHÚŸrØ n%¾gª:z} ÙóK²éA»õ®áÊ;ÈæÿK¶þ'eëÁo&­¹Tc0‘”N.ט*O‹&’pa’¹6¿¸„[²ºø‚$Ì$Ç'¾êtY ·KG$å0¤n§z R“®ôùÜ-õ©‚XÜ:š=šVN¿b+»’-ʙՓn%U:ŽW8bK'MÄ w ò‚<À-†áíß÷n×”·õßãÞ1‘m·‘ É ß'ë¿[sðÒ“«¾pèÕÿûúgqלK¯ƒp6ú9Ë×o¸X܊ɲ¥”Я3Í´L¦U8(§VNR¬u²b2¡l2Ö¸yAÀ-†}a/â–g¢Xë蛦ɲ¹›.‰Ç÷æ—“#®ôJÉâ× —²j§“Í“çU{«Ñ3•ãY=²·ÄÎðÆ{/ ¸,oáVÙnе¬ñün|„vÕj4š=¨ø¢L†]°߻Ūh£©dßí•q?m.Y5z±Üáh'ÉA’¤¶çIr8öm7{·æÒ ·fôMª¾Ã-Å;ígó–/½…}& Ÿ(šr+= Ü‚f!oáVäR­ž"±7‰¡/†v"#¸Î¥°Ešj“Ø»U¹”‹ ‰tsÍTC}’ž«™q«&Œªbw ßkd &l©¤X±"¾^yç˜X)S¸l×âQãÁ„ðü·wß*ïV¼ Œ) š´ vi¯ZÙ˜Ö˜÷çú¬ß“$Åi1o¸;˜8xËxÜš%où£w‹Ú¶÷;ÊEµã9{F9íÔRûéåäâÑãù¶ØÜ‘síãTÊŽŽ¸ÍB³_ć Y¤î΢IF‰ˆ98ÊJ±2P!¦™i0Ñ•Ò$µ§ðiœ &Š D5¾†#Fº,|!Ô!iEt3ø3ÌÇÐ}zê]¯È(^m¿/ÚÃRûg‡crjŠ3v8&ì£Ãz¸•½þ’ìMÿÖ³èr‹5Êá¹èÊÊ\ênàw„$ÛN­¡€ª‚œú'9±–}y“þ;9ð—–ÂÇIò°ÆÕ3cIhD¶$4A¹²Dµ´ûˆ/ÍÎQ BB%z¹ôú¦ÔD¤ÙÍ\_b[±æµúâÌ8J¨žµ¥n¡“߈§bqëDÁhnµƒ&.ëd®ÕA›Y¨šrJ¥ãx™#±d"±¸yAnáVy¹î Vkª¼ÖšF—Žd”r²“8ÍI{‚›/I1óTyEiñüäsuiòösÝ%ø$™©eÒ«HQˆ8XÍ÷ÉwN•×L¬ûÙ`x{ÆñDïâVkSݹڲÚÊÂK¾µ"ÏbÎ(+8ídªü©÷¾0i;yb¥‰´Ç‘½¿£‹ìx‚l}Œlþ yá'dó¢²ûw½èö`"Éöcmß®âãGu_kà|ÀNR]ø#ËÐ#ŠÊªÓU¹tg^éÍËÒL”ÎêâÒÈG1×âäâÈøPžØ\š¸å3ÚnAFË‹¸ ÆË"`ØŒ[sz^Ú±¬äƒ™É(g$íÏN9ì·’×ükÞλV˜ÈÁ\‘Mþ?òÂdóýå?jˆ¿æäš¯î~Ikª¼d´N=Už áÂ|om”p}0Τ(HÂ9Ò.&±ête.î#¶w‰*¯_¯r^œÒîB-²ïÈ/ŽzÀQ>Už?ÓGäs·Ô××ËnA ¸¥4p †]°‘¸åÙ{·’×}3îy1’¼pÙüƒþâ«,Ñ_KŠø—˜×L_™ÍûäçÏë üPç,_¿eœ0U2XÀ-†=°‘¸å™Ò>½åè›&{Ýã–½_=±ò 1ÿ0öÒ"‰â× —aUK:·Ü!ÏZhü%nA ¸ðžû¸Ei׋¦èWLÑÅÚˆRÀ-È`·`öÀó· HOÀ-È`)><º/ö·ö÷6ôu·`Öõ¼Ã-ö•\Ä ¸,à ÃxÞáI…לB ¸ðžw¸ånï–µª$6êå¼·œÚr_̶¥)ÇwÖŸµNOOû¨yÁnA ¸ðžw¸å¢ÚÛšÏÄ~P}ä>[ÆC¤ùùÉ‚gϹ#9bÁÞWˆ‚_Ïÿô['7=œ½r¶ÕÌüúzcË >á½[ÁnÁ0ìçn¹û®ì½v¥Ü?‘¿„,q(mqmôw’#ˆ¤ÕDùŽk:ïl‹¿¹þÈ5E[]þ%¤»ü§r² áì h)p«dZaàä]·\7u­`8Ø<¯qKïµózñ5¾7”þ [Þse;¯ÎÚpiÙç_i»c0uQwÒ=q·UF]‘¹þ’ÔuÄÑ·þÅ÷æŒÔ½[Å) Ü‚¼¨À-wpËß¿.2T€[ÇäÔg*ìpLØG‡õp˺ï{Î3£YOfGæ-Ä`æÓý©‹{Nÿ´jÏ· 7_R¼…ÈßDd|L}[ ·Ä¥gÖa˜g{¸ôU¡’ÌZ9ò£ªµu\Y÷Çy-`.})¾™¨Ñ»…o&B^p ¸Az ܲÛmŒG(ŽŽ ô´5ÕÅ­?$ÍKÇó–4ÆÜXµ 3ñ®Æ˜…Õ{./üŒ0o¥·‘Æ­Þ-É24’…ÿ¸(aõC95Éj­ídUkWjô¥~„ºw ¸yQÀ-àéÉ‹¸õ%?á–Í6h’«±ÞÂâû]Eé¶jßȲ—Ær3’ùDÿé‡ÛßÕ{³uï7YÖ¢ +;’H]G~C…[ÒN'¶ŸI¯oJMDškXk–àúÊ×À­™¤øf¢Fï¾™yUÀ-àé)pkh¨` ·¯¯£·§½»«¥åB]½Õ¬×»U¾{áTQ¨-ëÉÔÇz’CZãÜtì&ëÞom¦Y+w‘þ‘ò>qèu-ÜRŽ/pKè¿ÒËÜrYêA¨{·€[ÜnAž·Z›êÎÕ–ÕVÖXò­ysFYÁi=Ü*ŠºÑžóÔ`Úã})v&ÞÝw{cÌÂÊ]Wä|B÷k±¬urqàUÍÁDùZκ3¯ôæei &JguqiølÎqËÍu¥ƒPèÝ‚ –p+6”íp‹u?¯yuHÈê2o%nA¾·,æô¼´cYÉ3“PÎHÚŸrX·r·\?š½x0mQOò½m w6»©áðuQ—Q”uf-qj ÍZ‰+‰kîÕȬ5‰½Q8ćÓÃÅ©òÊ£Š©ò’1}z¸ÉõZÐÅ¥/|32X^Ä­Éħµ'ÌtO¤ÙS"nAQšï¸åî{·ŠóS¶-)Ýq]ó±[;NÜ~áè õ¯*ý|A»Dâ{DÂJ"zŵ§y½žH27ò@xÍ)d°¼‰[ÞP¨ã„¸è£¡ñcp ‚ŒÒ|Ç-Ï4<4tæxTâÆÍÛ.«Û¥yë—cÞ$bÞùZ¾µcccþm›¤s °5+a‰jÈ`ù·¤´Ã #¦G‹îÚ’ˆJäŒ\&ïSæ’Æ0¹´+b).52$4Þ•buÓð•ÎÕÇ£àÄ-AÍM1;Wí]ñƒ=‘K{zºýÝÈ›nAËW¸Ec?ìVÅEÒ€´+,6”A)u.ÒDÒ¨¨¶lý=aËB™4{Â\,V# p ‚D9nA,àd°|‹[Ò.)Z í¨qK: ÉS,—:¤Þøe4Å/c’-ÛÓ+lgW,Ü"ùWrA&õ‹ r­ÚÕŽ,Æøf"ä]ùv0Q“a\Á-E.§\D÷kÅ2=Zì0b,ÓÇ5ëbçÑã‚|$à¨nAË7¸%ŒýI]Ç-\ü—¸2©¨),äžõ©ÌÑаe¡Ê¯=꫉[L„ ^À-ÒýÞ-kUIlÔËy;n9µå¾˜mKSŽï¬?kžžöQó Ï„o&BË7/‚àŠzŠû̸¥•‹UWȲPU7”c²)X3 Ü‚ §n¹®ö¶æ3±T¹Ï–ñi~~²àÙóGîHŽX°÷¢`ã×ó?ýÖÉM'D¯œ¡¼Þ(· ƒ…·Ê»nüAÁ¦ Å-w_Ø•½÷Ñ®”û'ò—å/¥-®þNr‘´š(ßqMgâmñ7×¹¦h낣˿4CÅÀ-£Ü‚ p ¸Az ZÜÒ{í¼^|Íï ¥ÿ–÷\ÙΫ³6\ZöùWZãîL]ÔtOcÜm•QWd®¿$uqô-õê?r·Œ¾™,àp ‚ô̸åpLNMÑ6™LTØá˜°ëá–uß öœgF³žÌŽ$Ì[ˆÁ̧ûS÷œþiÕžon¾¤x ‘¿‰Èø˜8ú¶&n‰ï. ßNãÖv~_\B‘“€b’,é«ÿ@3 ¸,àp ‚ô̸e·ÛP3::28ÐÓÖtV·ü4/Ï[ÒscEÔ‚ÎÄ»cVï¹¼ð3¼•vÞF·b4z·äëI3àÄíJÖ£æÄ-Ü£X‚Zµ¶5䂼òÍD½'æœú0CsDÀ-àé)˜qËf4ÉÕXoaq‹ý®¢t[µïGdÙKc¹¿É|¢ÿôÃíÇïjŽ½Ùº÷›,kQЕI¤®#¿¡Â-Åè¡æ’ÓN¿Vgo¹&¯ÌÝnA® ¸ånÁp°9hqkh¨` ·¯¯ƒbœî®–– uõV³^ïVùî…SE¡¶¬'RëIiÿqÓ±›¬{¿Q´™f­Ü DúGDÊûÄ¡×ÝÇ-š ø(!¸5k±¸Uß2–”7˜\8tªpX0µKùx->o8.g¨®e”Jy2§†nA³‹à ÃRÿJk܃©‹º“îiŒ»­2êŠÌõ—¤®#޾¥^ÄG.à–QnAËÜ’`OjdÈ=‘±Z ÄÒp ‚æ’‚·ŽÉ©)Ú&“‰ ;öÑa=ܲî»ÁžóÌhÖ“Ù‘„y 1˜ùtêâžÓ?­ÚóíÂÍ—o!ò7GßÖÄ-a•nŸíá²%y$+ö0(Ö(¤ O§Ãáá˜ø,ä㪀[Á2·hÄ2»†@À-šK fܲÛmŒG(€èik:«‹[~Hš—Žç-iŒ¹±"jAgâ]1 «÷\^øaÞJ;o#[1½[ª%ª^¢(LÑÓEÅPǤiøU«dãèsAÀ-È`€[eëï YŸJ‡cCéBT<÷lB¿½ acH¨‰ ˜$ñj¬¢„ÆÓ‘©‘!¡ñL|ä2.OX,ŸØ¤,\+¼ üAÁª`Æ-›mÐ$Wc½…Å-ö»ŠÒmÕ¾‘e/åþf$ó‰þÓ·¿«9öfëÞo²¬EAWv$‘ºŽ8ü† ·£‡KTK»·h”ÒK£@NÜ‚ –s·bCMËöPøe ÒdÅÑÏÑQ™uh‡÷„ñ‰UÝVÜ!*}زP™ö„qEñE5@³4À-̸54Ô?0ÐÛ××A1NwWKË…ºz«Y¯w«|÷©¢P[Ö“©õ$‡´Æÿ¸éØMÖ½ß(ÚL³Vî"ý#"å}âÐëîã–Ð%nÍZÀ-È`2Užå¦ÓIä%*’’Š”byLÂEñ¹8Z£éˆc6Šë„­´(ÍBÔiœžþ‚ `S0ãVkSݹڲÚÊBêfa­È³˜3Ê NëáVQÔöœ§ÓïKy°3ñî–¸ÛcVîº"çº_‹e­“«ˆ¯º0˜¨Æ- m¡wË[nA˘o&ÒDËPlxèš·ôYˆî׊ez´X¢‹ ûÐôXNXÀ-R)˜qËbNÏK;–•|03ù匤ýÙ)‡õp+wËõ£Ù‹Óõ$ßÛ–pgÓ±›_WuEYgÖ§ÖЬ•¸’8°æ^Ì’±Bvª|£/LËbÃÃÑ»å-· ƒeЋ bCe“£ø c'tI¿®(az0Q줢©ŒË®6UT7=¬l}hزPÙ¤¯®ZÝB4q ƒ‰Ä+hqËÝ÷nç§&l[Rºãºæc·vœ¸ýÂÑê^Uúù‚„w‰Ä÷ˆ„•DôŠk3N2ø, 'nA˨÷n©'_±ýZÌLyaþ¼t¼O€åTyþ¬p¤S°´QJRp ‚œÊ ¸uõ¼Ä-Ï4<4tæxTâÆÍÛ.«Û¥yë—cÞ$bÞùZ¾µcccþn$p 2Xsë5§sÛø ‚‚MÀ-Òý5)575Æì\µwÅöD.íééöE« Y ¸,àp ‚ôÜ‚UÀ-È`·€[¤'àéQï4÷Ü‚ p ¸AznA*àd°€[À-Òp‹t¿wËZUõrÞŽ[Nm¹/fÛÒ”ã;ëÏZ§§§}Ô<È3· ƒÜr ·`8Ø ÜrQímÍgb?¨>rŸ-ã!ÒüüdÁ³çÜ‘±`ï+DÁƯçú­“›Nˆ^éïfBœ€[ÁrñÃÜ‚aXêÀÆ-wß»•½÷Ñ®”û'ò—å/¥-®þNr‘´š(ßqMgâmñ7×¹¦h낣˿dð‰x¨ xW*p 2XÀ-†=p`ã–ÞÛãõâk|o(ý¶¼çÊv^µáҲϿÒwÇ`ê¢î¤{ãn«Œº"sý%©ëˆ£o©ñ™“n· o ¸ðxÜr8&§¦h›L&*ìpLØG‡õp˺ï{Î3£YOfGæ-Ä`æÓý©‹{Nÿ´jÏ· 7_R¼…ÈßDd|L}[·„Uz˜ÅÅ5}˜¥iò „ÝçŽqÉøx>©fÞíÛÃõÒ0D¥‘F‘"0Ü‚ p †að¸e·ÛPÔ1::28ÐÓÖtV·ü4/Ï[ÒscEÔ‚ÎÄ»cVï¹¼ð3¼•vÞF·b4z·äKT3èÅîr¸u©Ù#|€]9Q !.“f^¾p6ýƒ¯MX[™½[À-ÈûR~xú;ú{›z{ÎövUypƒ…a8Hð¸e³ šäj¬·°¸Å~WQº­Ú÷#²ì¥±Üߌd>Ñúáöãw5ÇÞlÝûM–µ(èÊŽ$RׇßPá–lËO³Zš‹PË22œ”®Ÿ—”Á•DZiÔ­ D· ƒÜrÝ~ÿŽ ï Å­¡¡þÞ¾¾ Jº»ZZ.ÔÕ[Íz½[å»N…Ú²žH}¬'9¤5þÇMÇn²îýFÑfšµr7é)ï‡^Ÿ¸¥à(àp 2DÊpË)nùû×A†*˜q«µ©î\mYme!…[ÖŠ<‹9£¬à´nEÝhÏyj0íñ¾”;ïn‰»½1faå®+r>¡ûµXÖ:¹Š8ðªGƒ‰3â–8P¨“WÌ.¦!eñò°¢Q(àd°€[À-ÒS0ã–Åœž—v,+ù`fòÊIû³SëáVî–ëG³¦-êI¾·-áΦc75¾®"ê2Š²Î¬%N­¡Y+q%q`ͽ™%|:SåupK:&¨,JžW‘]ȧÀ6I˜¾À]\À-È`·€[¤§ Å-wß»UœŸš°mIéŽëšÝÚqâö Go¨?xUéç Þ%ß#VÑ+®Í8uÈ›M ‚ñ>Ÿ ¸,àp ‚ô´¸å™†‡†ÎJÜø yÛeuû¯4oýrÌ›DÌ;_KØ·vllÌË•·f'àd°€[À-Òp‹tÍDJÍM1;Wí]ñƒ=‘K{zº}Ñ*h–nAËŸ¸e^²ºÌyŒ+¹f“ ¸Aúš-nÝw.p H· ƒå-Ü ‘½ËåžH3p ‚æ½€[¤G½[ÐÜp 2X^Ã-ظAs[À-(PÜ‚ –¯p‹¡Èe\oWX,Y¶þY÷&4,DÔCebŒÉ$­K–%4žŽL ×j€²XÝ4Ú½sø ‚‚MÀ-ÒýÞ-kUIlÔËy;n9µå¾˜mKSŽï¬?kžžöQó ÏÜ‚ –O)þaÀ†˜ØP“ƨ˜e{¤`C“›‹N¹'Œ'¦¨ ÉJãS%„- eÒì Ón€ªXÍF· ˆpËuµ·5Ÿ‰ý úÈ}¶Œ‡Hóó“Ïž?rGrÄ‚½¯¿žÿé·Nnz8!z¥¿› qnA˧½[ePr$“¦1q]ReÒd´øxuÉŒã—Ñt¿ŒIÆR»Udq³ØÀ{@» ZÜr÷½[Ù{íJ¹" YþâPÚâÚèï$GI«‰ò×t&ÞÙsý‘kж.8ºüKŸ¤'àd°ŒÃ-i¯‘£‡[®Àoº_+–éÑb‡c™>.͸Sì@ ZÜÒ{{¼^|Íï ¥ÿ–÷\ÙΫ³6\ZöùWZãîL]ÔtOcÜm•QWd®¿$uqô-õ">Ü‚ –¡¸ÅÇȇù±KJ2tÈ™Š‘;Êë ¹'d}*s44lY¨lX—Öˆ¤ÜÂ`"ñ fÜr8&§¦h›L&*ìpLØG‡õp˺ï{Î3£YOfGæ-Ä`æÓý©‹{Nÿ´jÏ· 7_R¼…ÈßDd|L}[·Øsœ-â³=\²+.À㣳 · ƒå«AÄjL ȉ€[Án¹…[0lNÜòLÃCCgŽG%n|Ð¼í²ºýWš·~9æM"æ¯%ì[;66æïÖA2· ƒ¥üð·`vÁÁƒ[î®™H©¹©1f窽+~°'riOO·/ZÍRÀ-È`·`öÀÁƒ[P@ ¸,à Ã8xp˃Þ-hî ¸,à Ã8xp H· ƒÜ‚aØ»†[ ¦«wÏwÜr·wËZUõrÞŽ[Nm¹/fÛÒ”ã;ëÏZ§§§}Ô<È3y·tž˜söà ùQnâV†ßoò0 ÏWT n¹¨ö¶æ3±T¹Ï–ñi~~²àÙóGîHŽX°÷¢`ã×ó?ýÖÉM'D¯tV„ÞKãñ2y¸,·p«¢"ÃbÉòû}†aÿº²2—º8O0¸åJïVöÞG»RîŸÈ_B–¿8”¶¸6ú;ÉDÒj¢|Ç5‰w¶Åß\䚢­ Ž.ÿ’³R€[ ¸,·p«—A°Xrü~·‡aØ_®¬Ìqe^AÀà–+ª9ð½¡ô_Øòž+ÛyuÖ†KË>ÿJk܃©‹º“îiŒ»­2êŠÌõ—¤®#޾¥^ÄG"à–nAË]Üêe†©›- ÃA錇 ·\éݲî»ÁžóÌhÖ“Ù‘„y 1˜ùtêâžÓ?­ÚóíÂÍ—o!ò7GßÖÂ-õº¡ûµXÖ:¹Š8ðªæ`¢| P:,ÈJ‚O,mñ?¹$‰€[3 ¸,à þpÀà–+ÊÝrýhöâÁ´E=É÷¶%ÜÙt즆Ã×UD]FQÖ™µÄ©54k%®$¬¹W#3WÌôöðpíIïZsà…81_¦Ê»"àd°€[0 ûƒ[®ônç§&l[Rºãºæc·vœ¸ýÂÑê^Uúù‚„w‰Ä÷ˆ„•DôŠk3N2 µ´$sí!=· ƒe(nY¬!K­e†Þók"—V›"j|_‘;çè‡ëà §XM‹¬‘7ž'Ür]ÃCCgŽG%n|Ð¼í²ºýWš·~9æM"æ¯%ì[;66æëÚ%[€­™Ü‚ –·pKÆz81f0h´HæÝ®‘’NÉe»­^c-É+¸¥HÀ솩/N„5d‘ &ã#ªMTF'åÏ’ô(âš ûÃ[î®™H©¹©1f窽+~°'riOO·/ZÍRÀ-È`Í%Ür3ÙÌYjÂŒïñn•é„ÖòçÈì†ø·$K1ö’ÂóÓƒ[P@ ¸,ßâ–…é~¡Í E„¡¯FãÙ­† i!4Dñ½^ô!*Rì“õ† ]1’ÃR¸Äl½t÷—¼p NÈiMÒøÈEãé&q1»UÀ£q5ªMš×ÇÉÐÇ­xªFæ¬ã#´j—Yv¡Tç®ÑB1 _`_ ;wÀà–½[ÐÜp 2X³_ć ‘s1OgWâÙ\V)㉉g¦Å+ªÑ‚ª.޲âixuì(C¡Faö‘zP,…vT§ PWˆ¼ÃÇ¢‡[4’qÉÄÕ© »×S•RZŽâ »Õ»Å©ª…Üu¦câ#ø¦Ê/‹¿”wÐ-⤀[ÁòÖÕ½1Jf#„¦”ã} ¢P£”¬/kFÜ’ts)J¤á(ˆî,JQµJM;š=QΓé]=(rÚ»UÆNÙbIÉ-ÜRœ»"*yxžÎó‡½ç`[¢ÚÝÞ-kUIlÔËy;n9µå¾˜mKSŽï¬?kžžöQó ÏÜ‚ –[¸UQ‘a±diÞ*g@ÝxpKóážâ Ü’ö³IJ`@KÒõ¤×øÙã–‹}P3áßÝçNÉês—öø)GèJñÞ·àyëÊÊ\ênà<·þuÞâ–‹jok>ûAõ‘ûl‘æç' ž=äŽäˆ{_! 6~=ÿÓoÜôpBôJïTæüÍó nAË-Ü*/×½ÁjádpJ/}”k~ÓMõ¬WÍïbYH‚j’a/Ñò¹[Ú¸%™’$ƒ õ—"õG µ¥qüÛZIŒÎ´swqËI#Õ%KÁL§…B9aÜEÇm1w f=ã"‡[W횸—Uùú–Dµ©xÍôÙ{íJ¹" YþâPÚâÚèï$GI«‰ò×t&ÞÙsý‘kж.8ºüKÞipkÖnAËMÜÒ½ÁÎ4U^2\%DS1R—l(§„IfO‰“‹Ô/ŽàùA01žŸôN¿TAÂxâ¬0E«t;—äSå%“ÌÅ’ST1C™:WÀ]ÜÒ¿ÂÂ…Ò8÷«Iu©åßAÀ7aÎ3Ž'ÎkÜ¢ÈÊ­øšßJÿ…-ï¹²Wgm¸´ìó¯´ÆÝ1˜º¨;éžÆ¸Û*£®È\Iê:âè[êE|<pkÖnAË[¸å† œüãá{·ðv)½C\˜wÀã–Ã195EÛd2Qa‡cÂ>:¬‡[Ö}7ØsžÍz2;’0o!3ŸîO]Üsú§U{¾]¸ù’â-Dþ&"ãcâèÛZ¸%®ÑÃNÛÃeo,•,ã#¤ D™«Q]¤#àd°·<{«¼r’|ÐXèïÒîuÄ[åa‰·ìvã \FGGzÚšÎêâÖ’æ¥ãyKcn¬ˆZЙxWcÌÂê=—~F˜·ÒÎÛHãVŒFï–dÅ™^â¢$ëNË’óëR“ÂÕn©JóÂÅL· ƒåÜ‚axþ;àqËf4ÉÕXoaq‹ý®¢t[µïGdÙKc¹¿É|¢ÿôÃíÇïjŽ½Ùº÷›,kQЕI¤®#¿¡Â-éòÓlo–“4ú¬L¸Jàs©K3àbÍO· ƒÜ‚aØ[ÆC¤ùùÉ‚gϹ#9bÁÞWˆ‚_Ïÿô['7=œ½r¶Õà½ñ^p 2XÀ- ± е¨gŠÍ6H1ÕÐPßà`/ãžî‹» k¥ ‹JÙØh!ƒ·Ü}ïVöÞG»RîŸÈ_B–¿8”¶¸6ú;ÉDÒj¢|Ç5‰w¶Åß\䚢­ Ž.ÿÒl[Üò’€[ÁnAP0ˆ}XP@E±ÖÈÈÏZh±¬Õ××.àVmm!éUÜúÒíµó·ôÞ¯_sà{Cé¿°å=W¶óê¬ —–}þ•Ö¸;Su'ÝÓw[eÔ™ë/I]G}K½ˆ›nyIÀ-È`· (Ä>,z{Ûø~-´X3”ÕÆ»µ£ã<•²²2‹œ=nÝ{ÎtõîyŠ[ÇäÔm“ÉD…Ž ûè°nY÷Ý`Ïyf4ëÉìH¼…Ì|º?uqÏéŸVíùváæKŠ·ù›ˆŒ‰£oká–¸ìR PmçWíá@Ô\µGžrKÀ-È`· (Ä>,º»›¥ˆ” ³XÊÌâVYYܸe·ÛP@3::28ÐÓÖtV·ü4/Ï[ÒscEÔ‚ÎÄ»cVï¹¼ð3¼•vÞF·b4z·ÒÃ^¤Š:¨XxZµ5·D5䦀[ÁnAP0H‚[=RÖbMQVOO »eq«¤ä ܸe³ šäj¬·°¸Å~WQº­Ú÷#²ì¥±Üߌd>ÑúÿoïËc㨲~]èI|€,^ <` @„IXò%è)‚$DAÉ0ðD„"F3 ÈÌ7€,ÄBH ù`’0d!Îâ$ÎÒÞq¼ï»ÝÞíöÒ¶;½¸Ý‹Ûén»Ý^Úéw«n-·ºªc·—î¸ëüüsõ½çž{ï©“ØõÓ­rÝ­æŒu†”Uš„‡°ÖB¢«ìUp€ºò™Dn‘ËVx©JºEõ´Ð[¡ä ̹(øba±èÊŠ‹×Z˜Hhab¹¥Vçú•-·Üî!§sÐá@Èf5¯wi5ê`«[MgWLÕ¾ç)Ýî,xÝž½É”ö¢>y¥&áÁÚ_i­Uq˜*ú‘Êýžºü©œÜ x äVXr f€Ü”|±@R*`]Ëá0“ŠËf3àGåAn™ô]=­5Hniš+[ÔÅÕyÁäVmüÓÞò·]…o8r7[2_2¦®Ö©V´žYZþ3½®…µÖµ=Tâ'²7ÅjI*®¸{ŠØ7ç ·aÈ-@ À $¥nܰòúŠ{ùC?oaäVŸ–[ôO´’åV‹º¨²0¹4ûRIv"bqÖŲÜ+ÁäVű'G˶¹ ·Ø³×÷§¯Õ'¯ì½²¼9~ RYùû©œ}´ÖÊÜM%î[/Ó9à1x¹…EÓ÷'xT~>r f€Ü”Nnõ }…ÖZø][Hea­eµ^¹åý½[uUé'v4œZnH~~à÷ÕדžÒ^z´ádlú7Tæ·Túnêü®Ç‹s.‡ù,·È-@˜r PðÅ¢¿_ëp˜±ÊÂÄïÚ·‘Ö²Xtø}ò —[³Ã°ÛŸŸyd³úÄ’®‹¨ß¥úœR}uoú…ýccc‘Ž È-@˜r Px¹…Ä’X<ñn>¼Üè3™ºü ·„ºg"‚A¯SÞ“°ë™s‡vÚí¶…ˆ 0G€Ü„ ·%_, †$«ð;𢹮…·M4;ýŠTõ¹3@nJ¾X¸ÝŽþ~­ÙÜñ—/#;"ÒZ.—y¶´”øAn1˜ÅêàöÈ-@˜r PÐÅÂ`蘡swwýà ÌÅE™r •¹3@nJ}qêè¨V«skj®UT¤•—§H˜ZY™~Ì=È-¡®niÚêSâ?ª<õ\α ª;s3Nk»57oÞ\ ð³È-@˜r Pæåâ¢L¹5C˜û ù)?´_Ýà)~Õ¯~²ú¾«k²÷Æ&|LU¹¿ê—‡¯Ýš~~w¤Ã°¹3@nJÈ­ê{·Ê^³ænœ¨ÚáoúÀ]¸­óü#Ù{©¬ï¨¦SË,™kûÓVi¯.«=›ôõóŸtë@ˆ¹3@nJÈ­ìíñÁì‰O¸‹ÞôT¾Ûxú±ÒÃ÷4ž¼Û”ºÆU°Å–õ².õ…Öø¥%ï(8@%}!ÝĀ܄ ·%äVH@²Ê盜š¢ƒÊ>ß„wt8˜ÜÒ\xÊ[þ×ÑÒíe‡(õ1ÊUò—¡‚mö¼?·ûCͯwÔ£ªŽRÅ?QI_ÊÉ-a;fÅŠY¹ú-ŽØ¡G´-bQ*s«[Ò®1dÝ/Ù!H:Rr f€Ü”€ˆË­ÿXݵ¸ä–×ëa8‚tÉèèˆËiï×w•[‰ô«wŽWîЩžn޵d®Ó©V´Ÿ»¯æß”ú8ÍÊ#´ÜRɬn1ò ±ˆbäkâö¦œpIðäÍâÙÄþ×Ân×âéf›¢Å[€0ä  ‹…Ï71sÿùûËÄ3‹Tny<®1tÚ,·ðß*’Ƕ Ïú?«øÛHÉ[Cy[Íë )«4 a­…DWÙ!ªàuå3‰Ü"WŸðjV°-ª•T'¬€éØ« ¡5ín×Òé*…·;@n [€€/^ïˆËeg¶¥îÇï“·Xtø}òø•ò&S×ððŸÙîǯl¹åv9ƒÇ%6«Ñx½K«Q[Ýj:»bªö=OévgÁëöìM¦´õÉ+5 ÖþJk­ŠÃTÑTî÷ÔåOåäVÀ“¬Ü¢KH±jKÜ‹]´”"î!¢"·8&X”½¢Eä ̹(øb´º¦x<.¤©Ün‡Ë5ÈÐîtÚnܰ22Ì„DòÔéZüÊ–[&}WOgcgk ’2šæÊuqcu^0¹Uÿ´·ümWáŽÜÍ–Ì—Œ©«uª­g––ÿL¯ka­um•ø‰ìÍDñ“¼ÜbôV\œ ¾íGª«"‘s »ü%`Òé” [€0ä à‹THkŒ89­Å -¬µ˜«Y¹ÕÙYãW¶ÜjQU&—f_*ÉND,κX–{%˜Üª8öähÙ6Wá{öúþôµú䕽W–7Ç/A*+?•³ÖZ™»©Ä}ëe:O{Pp xìª(Žèç÷ u¤Ìþ`’yT^Ñ˃Ü„ ·%_,û¹u-Zha2*«Ÿ£i` y¶¶–ú,·B}ïV]UAú‰ §–’Ÿø}õõ¤§´—m8›þ •ù-•¾›:¿ëñâœËa> ˆgä~[€°ä à‹…Íf o bb•ÅË­ÆÆB¿‚åÖì0ìvçgÄgÙ¬>±¤ëâêãw©>§T_Ý›~aÿØØXDB"·@l‰0/r+Ø3 þ3æ ·%€[vÄššÒ­…,èh·±Üª¯Ï÷ƒÜb꞉½NuzO®gÎÚi·Û"*Àr f€Ü”|±°XtHb!e…ép˜‘Äâ-¼ÜR«sý ·Ñ [€0ä à‹’RxQ‹T\¤Ö²Ù øQy[T€Üš-@n [€€/n·£¿_k6÷pìåËÈŽˆ´–ËeGž--%~eË-ŸorjŠfLL *û|ÞÑá`rKsá)où_GK·—¢ÔÇ(WÉ_† ¶ÙóþÜvî5¿ÞQwŒª:JÿD%})¿g"¹ÏÎoqÜMEa·r+Dùýx˜yÑÆ,—Ñ[(ÆÅql“tL¥ä ̹(èba0tÌй»»~pPæâ¢(¹åõzŽ i2::ârÚûõÝAåVâýêã•;tª§›ãc-™ëtªíçî«ù7¥>N³ò-·TÁV·õDH&é‰ñêߎ Ü6Õ¬…6É T€Ü„ ·%€¾¸ utT«Õ¹55×**ÒÊËS$L­¬Ì@?æ äJBŒ:m –[øoÉcÛ…gýŽUüm¤ä­¡¼­æŒu†”Uš„‡°ÖB¢«ìUp€ºòÙtrK´!5‰¸"©%  §¦ØÀ&¼&A©¹3@n€`˜G¹uç.2¹åv9ƒÇÒ%6«Ñx½K«Q[Ýj:»bªö=OévgÁëöìM¦´õÉ+5 ÖþJk­ŠÃTÑTî÷ÔåOC‘[«O²ëQb##´¸%,Y¹¥ì- ·aÆ<Ê- }œ“ÜÚÐóèÙE*·Lú®žÎÆÎÖ$·4Í•-êâÆê¼`r«6þioùÛ®Â7¹›-™/SWëT+ZÏ,-ÿ™^×ÂZëÚ*ñ“Ë-îþ©Eò˜=³ÆŽpŸ‘½©ì%- ·aÆ ÿóÌð,T£^nµ¨‹* “K³/•d'"g],˽LnU{r´l›«p‹={}úZ}òÊÞ+˛㗠••¿ŸÊÙGk­ÌÝTâ¾õ2åå–ø~bà£ñ1¢Ç²DÓKŸ«'îÊ L€Ü„ ·€@à,Ýr+Ô÷nÕU¤ŸØÑpj¹!ùùßW_OzJ{éц“±éßP™ßR黩ó»/ι¼àq“oðRüÃð·È-@˜r ΂Ñ-·f‡a·;?#>óÈfõ‰%]P¿Kõ9¥úêÞô ûÇÆÆÂñ—‡ ·¦È-@˜r ΂ʑ[¡î™ˆ`ÐëT§÷$ìzæÜ¡v»m!¢Ì ·aÈ- 8 *Gn¢ ·aFˆr«8â¿ä@àíÀæf¥È­Y¬nn€Ü„!É­ææâ––Òˆÿž‘ekkúmpkŸ¨‘[€¨È-@˜’Üdî ´´”Gü·=Œ[[Ëgò\AÔÈ­PW·4mõ)ñUžz.çØÕ‰¹§µÝš›7o.Px€Ùä ÌUn 2·Ñ/[ ¨HO{1ÊäÖ aî7ä§üÐ~uƒ§øU¿úýÉêwú®®ÉÞ›ð1U}äþª_¾vtkúùÝó<+üùálr fÌBn@à´\Ôr+Ô÷n•%¼fÍÝ8QµÃßô»p[çùG²÷RYßQM§–Y2×ö§­Ò^]V{<6éë;gP0Yrk¶Xh¹J9“ÿ<@ µÜ ööø`öŽÄ'ÜEoz*ßm<ýXéá{OÞmJ]ã*ØbËzY—úBküÒ’ƒw ’¾ÛÄg&¹5ßXP¹NK»]o³õØ,6sKă‹—‹]nù|“SS4cbbPÙç›ðŽ“[š OyËÿ:Zº½ì¥>F¹Jþ2T°Íž÷ç¶s¨ùõŽºcTÕQªø'*éË {&ݬ¿µT¨3íxߦù7ZnýÄ[áûôÜ ·€‘¥e@k1w ˜ZŒ .^.v¹åõzŽ Õ2::ârÚûõÝAåVâýêã•;tª§›ãc-™ëtªíçî«ù7¥>N³ò-·T2«[ĶÑìR•`6 V±Ä›R3ÒŠ­’;øðcÃŽÔAr Yêúu}j]OuŸ¶"âÁÀÅËÅ.·<WŒ:m –[øoÉcÛ…gýŽUüm¤ä­¡¼­æŒu†”Uš„‡°ÖB¢«ìUp€ºò™Dn‘wq9À‚Ó-¶±–n’ûPÏ ·€‘e}mψ/»Ür»‡œÎA‡ci›Õh¼Þ¥Õ¨ƒ­n5]1Uûž§t»³àu{ö&SÚ‹ú䕚„k¥µVÅaªèG*÷{êò§¹%ÝTzŽr‹î™àÉ®à˜¹e7Ji4 2šœÝ0ˆÊ4 4í Úeh片å<í"êIg®¯ÓΑ«²]ìDkÏë y;]d"r”6£¤‹Ž#YåË>Ú$UaäË6’} ‘½¦MŽâ&Ë^ÒU¢r/IA»­ÑFq+_e <ª²F¢ªE´‹Ç±Ólgh¥i“7²Î¬½‘¶ÛºiZÅ”5ʳ‹#Y h N Q 9MÇN¼¿¥s:vHªâ_ž58ÊšDÆv1±CûôDÎm4-|7µEˆ­’j+Qe C²Ð*Ì-4y#[Ålf(6š›Y»YDëM¡I·c¢•>yZÅ”mµ™òÆF«Pm$iåiªCŒ&¹eÒwõt6v¶Ö ¹¥i®lQ7Vç“[µñO{Ëßv¾áÈÝlÉ|ɘºZ§ZÑzfiùÏôºÖZ×öP‰ŸÈÞL PGAn&JJD¢LXHåÀ¼Ë-«¥WJKhÊz ]|zhZ";CË@Û ²g‚Þ‡éHWµˆ–ìh¸Ê7Y%”-|Œ3ÀAÌ4É& o¤ËÝyÒÙÜ=-­ô±kØÉ/Ìœ e Ì~†òF gÑì0k-ý4™B;â*3UÚbnç[iÒ­49O™ª%HUÜ¥ QÒ„,4¹V¦ljUÅ­ÍþV ÃT¦-­ˆ…j?MùV¦iÀ4_l! -b{063l02d« D+ö4d}$$í&1M4ùÛ¥iÆlSÖ6ÈñÖ­˜õb Mf™Öéh5ª¥F3Gº•¡ÙÈÐ 6ê«£Inµ¨‹* “K³/•d'"g],˽LnU{r´l›«p‹={}úZ}òÊÞ+˛㗠••¿ŸÊÙGk­ÌÝTâ¾õ2…'߃=*/xÑíĽBü¨¼{pB‹ïOqq°º ó.·®ëš6‹ÙIJ¡NŽ·h hí“¡Ž#[Õ‰ª‚›®‘&áÏY¯sÔ‰y]®‰¬^¿¥QÚ$­aCÙ. ržóÈz‚·h …½õô3Z<{öÕ‹ª<ûÔrÎbOÙŽ¬#(kœ;kÊVkoņ²Æžé|¦¶§&°Ê’¬4Í/«#Î>†bc•ħª6Êkª7‰Œ}˜Z¶ 4i’ž¼ÓÄT+µØRÁu©˜ uŒn3°œ!_–6…În¢ÐÌXÆ•ËhjåÈ5õv• ÞBnýÇêÅ$·B}ïV]UAú‰ §–’Ÿø}õõ¤§´—m8›þ •ù-•¾›:¿ëñâœËÓÌ O¶‡ó.·ÈGq€@ \8Ê­õ=1YŒrkvv»ó3â3lVŸXÒuñõñ»TŸSª¯îM¿°ll,X/bq ÄVøÊ@ 0 5r+Ô= zêôž„]Ïœ;´Ón·-DT€9䣀Q#·Q [@ ŒFÜšÅêàöÈ- F£Fn¢ *·b˜WD½Ü uuKÓVŸÿQå©çrŽmPØ™›qZÛ­¹yóæ…˜ZnEúü=P‚Üš!Ìý†ü”Ú¯nð¿êW¿?YýNßÕ5Ù{c>¦ªÜ_õËÃ׎nM?¿{þ'†WÇÏ -·n ˜ ø”4È6J0%SâëÁÆfš¦‚M42ÒE2oÐá8«È51Ÿ²¦9sÙ~SòUÈ0dXÖ2 ^üŽV¹ê{·Ê^³ænœ¨ÚáoúÀ]¸­óü#Ù{©¬ï¨¦SË,™kûÓVi¯.«=›ôõó+È­Ya¡åÖ Ÿ>°èH±f_âÁ¶ûØ WÇî¼ßËÇ×É!¦Ø©¸‰§ô‘}|ü7$_ç缄)ÁU|äç` ‚5àD|ü©û|¢A|>"á$„ÉÈ ÃaÈ0dX ŽV¹ìíñÁì‰O¸‹ÞôT¾Ûxú±ÒÃ÷4ž¼Û”ºÆU°Å–õ².õ…Öø¥%ï(8@%}!ÝÄgι5+ ù„ÔTHþþPä–o’ûÁ•}Ì×$Ùæã >ÖFö ôF^¢fƒÌGÎ@N!Šï'jõ‰r.b»›‘˜› ÚÇ}1”ŒäN€WöÜ!ÃáÀ™ Ãr³È¹@†_†£Xn¡sžš¢I_:éÜ ïèp0¹¥¹ð”·ü¯£¥ÛËQêc”«ä/CÛìyn;÷‡š_ï¨;FU¥Š¢’¾”“[Ħ<1ܦ‡¿Ñï>¥ßzJ42¢Šn‹#÷øü9 `ÀòÉ<äkÒùj;ÇË[¼ÅMÞ‚o^½'»n4«Ö“Yíͨò¤TŒô˜Ç‘§Î ÷‡"·&&Æ™/ލ<>Ε˜ò„P¥É·1¥q®6ζNØãlv®qÜÂøvÂÄÄÀããÂ`ãädDã„+w~Â,\DãÂic )‘ÌÀÅͧ‡N!™aÈ0d25Žb¹Õ¢.ª,L.;T’ˆXœu±,÷J0¹UqìÉѲm®Â-öìõýékõÉ+{¯,oŽ_‚TVþ~*g­µ2wS‰ûÖËt.Š‹ z»Ph¤çžìâÀ<±rkVÀr« Á[¯õÕwûþïÿÛ‹W·ÖBB YpË­óÙô;@f.·n87n 2ß72>ˆùàw\q2tl9¼™ýwü Puóáäát²eæxøÚáwv¢ƒÐ¹:ñt_z„üÆ \blN'ëÃÀ)|;Ù¼ù/®u<¢ÓÉ{áâ v®á?>ŽMÈ%7?97žˆÏš“Ï)Îð 'ó ~ꤛ“í*œ«SÔGÒ• 2 † C†#áh•[¡¾w«®ª ýÄŽ†SË ÉÏü¾úzÒSÚK6œŒMÿ†Êü–JßMßõxqÎåifÅÃß ¨æ Xne×"‰…”fIë$ⵆIÞB¯qÕÑÏnÉ Mn9ÄÈø'£Œþ™æp Ñõ!Ú@×ަC›èRÓ¡Í›59˜vdBeºõq8š±Óy¤ý“­ agv\7¾ƒ¬‰ R I[‡øï¡@³d¬!©m(H™]Ú?ƒ¡ aqQIF (J=‚„/7ÀCM`|"wȰÔ2 † ;ä;‡ G«Üš†ÝîüŒøÌ#›Õ'–t]|@}ü.Õç”ê«{Ó/ì Ö‹XÜšÁ[@nͰÜʪõàˆ¤ââËHw]«ŸÌ©£W·B•[v»ÝFÓ†?0l)ÿ ÿÿ+ÅÞppÓ¦ƒ اþà&dªg-4p+s¬§»Ùx<,]ýÇ?Rì\7W² U2›ÿ-³; 6ìÁp â®6Ö—Œ˜™7ÙDÒ­|°6Ál…/›aщ°ÝmÜiŠO’Ì€xpr¶JT áB†…hDg† Ïc†• ·BÝ3Á ×©NïIØõ̹C;Qž"*ÀåÖïÕ£ôß!2äU– µ&3ë'2™AœÎlñ‡"·¬4,V údKÌI®¤¨ÿ…ä“7¨ÿõJÌß“Õ_yå šq¡-¯üKÍúX鞨•-̨r`«ìØxtö›™ÒBLÏON¸0M+Žù°òcž‚¿ÕÊÍÇnµþìÉá³f«0·ÐÁJ†Jtµp#X7<?5>¯`¶r °“Yæz²¾+‘5¢?d2 † ßž^n=ºèå *åVZÕhi«¯BÃ’×Z铘iuÕèrËL¢ö§Wþ®ʯüTkVý=&Û.±œù°ž|·~ 3ÑQ%È­Y¬nn`¹•T6ZØD¿b«¬uª´ÝWʬqå¶ù²Z};”†ÉäÚ‰´êÙ¬nF“Éh2Ò0«ÿ{#ãoãWÓ &Áöþ±ÓÆïoD^¨Nûšè‘Dþ¨ƒdHf:zfZ;9.q™Ç„?HWæwçº2UÖÓÈ7 #p™ž&~vb|¡‡I˜ÁÄç…íŽÁ¶›ƒÎÑ$Î09‰ð3ÞF.L.ª|'±‘›šŸ2 † C†#’a%È-@TË-U©'·ž~iIËda³± ui­kÍôÒVŠz2©f<­b6rK¯7è™oS`€Š®Î z¡™÷ÂØUê`) ü4Ñ ÄddOƒØMÈ€ƒ&› ¶« Ý@ø$Sdl8^þ4…!$A‰Îžˆ'`RÈ01d2,2¬_¼V‚Ü uuKÓVŸÿQå©çrŽmPØ™›qZÛ­¹yóæ…˜°ÜºR<œU7žÓ0I¿Î´a"¯a<§‘~<>½~2µni­äjoj…Ûú£ò:}ôw.õáªøÈ5= d[Ÿà%žƒ˜F¦7½x^áØÇ[8×>¶&.hlÊVo•Ü)õ¸dŠÆ í † †^œV‚Üš!Ìý†ü”Ú¯nð¿êW¿?YýNßÕ5Ù{c>¦ªÜ_õËÃ׎nM?¿;°ÛLþÒþq€å–Ö8–UéÊ®qçÔ c¢rFµ1½z$­r8µÜÝeEžÉÅ(r«·§·§§§·—&úîeJ½L¥‡ç@70N¬‘±÷r=wl`GêaëB÷¢ØK4ðà;AhHv&\ÐØ…õà'îål|„½ä||'!&ö„zù¸X„¸zøHz„pÃöô’Ž\™o€ C†!Ãa…d8ZåV¨ïÝ*KxÍš»q¢j‡¿éwá¶Îód沈¾£šN-³d®íO[¥½º¬öxlÒ×wö¹! ¹UÖ60Cçäò~,Ïf.·º´Zm7ûÉ–˜ cç Z†|¶0V¡³àJøî|‹à åçÕ kÉάQ‹Ýø­0q7?º–EË÷ÂáçÔò‹ÃÑŠ>ˆx@þ,Is7áË¶à ØP‰`¸ä@†!ÃaȰ2­r+ØÛãƒÙ;Ÿp½é©|·ñôc¥‡ïi:¸ÑØ¡ 4Šûòí„§¸H|L"?rG~Ò>\¢iåÇ— (šRn‘kÇ4#ÈM)2,š2 –Œ/‰2|›gx~åxûs†r €yÄ|É- pÑÑn×Ûl=6K‡ÍÜñ`€@ ¨@‚ÜF=-Z‹¹cÀÔ:`lˆx0@ T An£žº¾F]ŸZ×Sݧ­ˆx0@ T An£žõµy<# H[@  J[@  J[@  J[@  J©Üºï­~¬¸î|Ó6kÒÃ@ ÿÄh­g I¹»µûn×ÝýZ×ÿØÔ9kÆlèQT‹‘æÀõ½sc¤ÎznaÏ%c‹ôÿXÃŽdÆæøß[y?sú‡Žàï¢He[‘a/ÖèþDÏqê¹…ýšbVåÇ<–@Ë­ÿ•ó؆g¹B¤xvŒ\ØFŽ‘ {NÿRg#9õœ2vvöŒäÆÿ±"ĹþTÎeê2r¿Ç l…0b?•‘ýÉŠàOt]øß'i¹µô8}@ . ÿ?ôGë endstream endobj 376 0 obj 58624 endobj 378 0 obj <> stream xœ•WMoÛ0 ½ûWø\ ©DI–ꤶ[; ;m놡ݰ^ö÷Ç}:¶Û"ˆ#ÈE¾÷H)j¯ÛÍßVµ;…Côt–ž/ßÛO7íïF·ôyùјN¡ÝsCÏ'ü¢þâ’bD¿b÷ÔþloеL‹}¾>7·žm{úÓ>àëä~º4·Õ°7íå[{{Ʊm/ƒÒãåWsi8Púdsëý¾ö€£Çσ‚Ñ Ú;=¨?õ¸š¦±Ó4?u7 åwfPYk—­yù[íàž',?O3#\fÔøåòq)k0!Ó›ý¡Jh€U/( ÂÔƒÁ$-¥ ‰áqiz% í»zˆ€¤×I’·bß=M.zwÇ›MH Ä­mfŒZÌE³‹;e¤¦Ìi làæPñá(Èd'ž& ™ÖZ­È~^÷!E1d ol¯d#ÔØ~ïçâäÈD@§Ê£§]àçRÔGž–|{"ÌJSêlœN‘¨°°ì$è‘q ÞÅž]VP'™¬ ·ó¨Ù"ÛR'’#]8R,ŠcÇåj6ÄÑ)*ók<7š >gLEJÒ„w_2+s³rWȉΩþ+޳Á• lAQí°DßeÕŠh%Þ Ý™kr2ºRBdUð¶f¶ÍA›ÍVXþðžVÞîÝ›1áÌJ–ÐL†f È¥dk g’.ŸTô¼5áJ ×”}¼n¯ºKŠÌ”<@¿Ú,žº6Ç'L+hk¥÷] æPÙc¯<l!ˆ‰GÒï, +™FÅE%ES=Qø%B%Prwi¥4¦ØºÂ⎈‡êð9È!÷#ÙZß¹ ѵˆ‚ÚµŽöç–À£U!ߤxŽ3Bd)ŽÀ¨ªz $cø¹Â$¬i¡…Âk­qC-†0Ø\Ï qè¡ñâ’{¨ ;­öPë5Él ·¢…>‹¢\D«­‚ÅK7…þ]âÕÞÍäŽ×–{Pd+ŽéÂãƒØVá Ü¥‚ !©ê …~»¤ß,ßÌrVªxác:΋£ãÒAY)í¤@L¼rB>€‹¥FQψ‹ýk²Ö¶ÃçŒÀBiEâ’éI¦æµkB·ªR5ùªQ”ÆVž±2B~\EÅ5B60á4Ë%œêPFi]q6oáó¶[`¢ÛºÂ f:ýKØ®,8ÊMU®(üfÅ1à]:®ªéUþ}™¥Ç{¦+9ìfñy£Ëæ#œ Ñon7Žÿd­€²3ÁnôÜoL$ôÒÁæ…Í̶ˆmIl í¿Q@ endstream endobj 379 0 obj 997 endobj 381 0 obj <> stream xœ½XKoã6¾ëWè¼@´|Š"`°ã¤è=¤5Ðâ§¶i±pZt/û÷;/¾Zv/™”f†3ß73¤¬&=~þÕø ` ^½Ãë×ßÇŸ?Œ zÄÏ×?;+{ðzƒoP©FøÍr—ñÏáõ˜æÛ,„Ÿ_߆߿¹ñô÷ø³ùãy°¬6“Ï¿ŸaìÆóëNéýùËðt^ÈQüq´$y£×Ï;eöv§ÃþAïT¤«Þ?¼c»Ï·éªç½Ùi~æ÷v§f”Ö¾H“ú½ræ‰n8ºžVB fÕþ—ó§^<ÎB@6¸¦€\ È`@†\6É¡È7àr,,¬ _ÏìÏ••4 ê¥LZÊ8 Í£úB0g Ñ™hí#âK‚W–0qµD‰†Ùksv—Ö#¨TçNÂÁÍR–ÁtQÓŒË8&7z ³·ÁÅÃˈÃEA^\ÆY¹)¶ª”/ƒäj@Àüò±ø¯9½¬ßƒãxÔ™wzAß9f¾Ž{pGyæ$b¿÷ ”Íü#=Ô$*Ѐ ŠðÑ¢*ÚÈ4B*¢5–5 JFYL Ñ–Bá¸y"ˆTHÕøå.4Ú¹Éô In¤8ÁyŠ“re˜A¸–=þ²¼[A=¡Y§ž!Ã=¡Àx@Þª‘™͘ñ÷‘i2Lr.ȵ"Í-Ý´À…/M§_ æPSOFA®Vn_þðŽ4£&IÆA NYÖÝ"¬FöŠ<…ʪËž Ô´ªUy`Ì\‘ÓÎ’\maƒ.Jÿ®57 Azp BëÒ£ržªÐ!ABm¡çY °½¤²°AF/T$Ln¸ÀF©ðº¼»ÐY\¶µço”å!ýƯzx@„äXÀÕžv,‹è´Nõg„nĉ8XÐg¿ìf«0ÞCÏáä±±8xšs°‰\ma+g§Ë•›ÙÇj ›ž½Ž£V2Àt´Ã\eèt9¸œ°êÀzègu'A’’¡Ì$ú—¯ÊÂV‚öpRI9 ÈÑ- sòBX«<²ÚB $žÚY’«-l±uyYoMLéjoEêê³ÊÝǶ¢±r›q|êm¾¡Ôë—3(tügêP& ´$ñ,…^ƒÒ€UYØ¢¬Šåò1t»ŸXx_k@ñE7ÈÙÄÎtÒTô%|ó91ZöÉׇb'¼:´ÓK´)yoçÕvªŒñ>Óó^*ß­çÜš×bWMÁÂ6 °8ú'biDÖ`‰SšÇÂ^ÐP59¥Û™ÈÕ6RÚzÕß @aHoƒsÝ85 ”t¿‚²=Ššƒ¸ObæÝ)2E*™*1ÈLâ«#o©,läí:Òë¿Ëh;òŸiÏOçªPÿ8ÁÊ?~vÌd¬ã7˜‚ÿ/c˜æY›8þ0”hð¶p‡o¬?±SŒÊo) L-Õ÷*SÍgeéw*§ÆÒöÍ{•e#i·Ê{•éø“•å0t§r:cµÅ{•é”\¿Ü«(ïDíÛÞ½Ê*NÕº4»[™~ IºòëÞLL_祯Óòîœn~§¹éqªçÕ_7׬+§ãïËø/b1—} endstream endobj 382 0 obj 1385 endobj 384 0 obj <> stream xœ½WÉŠI½×WÔÙ 9#—Z@tiñ­AàC3'{zŒqÛŒ/óûK.Q›Ôº ¢SÕY¹D¼÷âeÊì¡þ·ú§6õÎàck© žÚßÕŸ?Ô?+¨éóûïÊ5ǽUÔþÀ?†ß8E=Ñ·ŒûQ«^?àÒÒ-ƒèóå­úøÇ›¯O¿êg|—¯U‹Û‚Ý»úúµþxÁg___†ë÷ê|­ž9Pú”á¾m÷]oñéõå`ìàÐ;8˜ž[v–ºéÙ ¹›[h{y†;˜†FC(£yú{ÇÙ3wxnO³A8Í™áÏë§µ|¼Ã„\oöMNˆ°›O®ë÷v2áå`{DÃÙØ¨·ûVϳyžçÄ$½óåÆ19Ä3b€}ëZã¼µ€"4ަ# Áå· ª%6°i#Wð©çÌ3GÂÖFøeÀ<\¦{ û)ÏÎE&@"$ÍèÕ›v‰£îŠ7’2Wä›rç}‘ìK– Ëy‚ËùÇG~‹â¹`rœ Î@=û4Ýž&i'‰qæ¸!«4ŽïNƒç8šÈ’8•õõ»“t%8›§KágX)ʦ[ì&G¢ÔØMMµ=Áê¨Ö¬†‹bÜ( 0€ä\Ø÷“ä @äbü< Å^ à²u2±£P/’3½e.BÛF85I¸l±‘”3 U`‰Ñ¦­7â/Óá2X~;ñ3Tz³]}®§º[M$x þ(an%¥UËLTäMfÀìÃc̘^•ˆ§¤O%ÐcGd ÖˆâQ—ˆË±¸b¾Ù©ã{ŒR¥Þcž&¼Ž8Ëô«)Gò[YÈ—0Ç›à·ÜÞÑUÐp™®}– ÊïîÓ1vkÝ€Œ¬¡¬$¯r_Š–ö»÷YØÎÍTxO¶£Cið™yòb,I k¿C pfë,Ti‰1™ÎÜrR·²1®zK“|[äA-…Š\ån^ y,f-Ç•mË@IĪÌ.%“F! Pd¦Ccƒ‘p3}™Š8îã¢K«È° O·ùF×iãÛù™qÌlÀK½%ä¦üfÏš@2ë¬!\Ѿ¨[UÓcY2š»^Uá"YèÁʉ…Zm«OÓ³,@[²¢Z `§/Õó3UêR,°²YÞaÛ$PÌ©zè¿‹ˆw«zþã®}ð<‚®Y:åâ¦sL\ÁÒú¡Óet Ìdé8žøHºZäšuÀ¦°²oŒþ¨”(wŠ©€›^b¯Ç šÇnfú¥Ñ/ñ^9zSUØKIL›-‹4¬9 ùrKfA’3CdS~ MÐ.…Ÿ˜€m"6 JˆP~äâW¸ÛL»;ÇË{¾€*âŹҔ0îë£Í¹åñ±¼Pƒ:Óâ¯IY(unÅéù¼›PA>;åâÆeàž‹èk}Ù[þ×wzuì*þæ&y\Úðô8W—ÏrêÀ¢¨žëÿ¡½Ü endstream endobj 385 0 obj 1126 endobj 387 0 obj <> stream xœ—MÜ6 †ïþ:XGßL6h€¶ ‡¢§¶Û"˜m\ò÷C‰”MjeÅ;Xé‘èG|iÒÖ£Q߆/J« ‡“Mcðiüúúýú0*}¾þ;¸¨aÞËÆ;üÃ4ø†%ì(}ã¼»úox~®ñ4NJŸ¿^†·?¿xuý¬žàçÕýå6LpYcG§n«·pìÕíù¬Írû4¼¿ O4}¶é~šÆS™oáèù³¶‹;›iy0g=çÑ,6NÇnYOçÑÄÅž þ–wÖ1Í6a›—gßç>×j,szùóö±µï`Cn0– iÚPÚOÀx•|q›Ú|)Ÿ˜,…¹!MƒÃwi.\Ý”¹ù,.0{b:q[@¬Ï®q7§%àÊâe&Qúù´çØNÄmî¸sÂÚ]GÞú1(£Wå *o °Á  ;K9¾µô¢g}YâÙ°«¥!»rzÚÖÍvœá°:ã®Ð0v† AöóʉÜÅzwˆð@î·v•TŒIÅÑNŸ’Êäü‹)Rétͬǘ¼zˆ8ÒDÀöfZ­»"+FP㮂u¯-œ)¼4ÉIŸÆŠÝ! P§o˜X*,Ò¢@nŒ[8 +!»Ú"Hî¥ IÊ· !õâÙþ„¬;ÁDý ç&{Ü’€È$µØ‘ðÒKƒ§±©©‚µr•ôÊ—_UgAó€‹Yˆ:K‹f /=ÕOf´5hÎÕ‹÷zZ‰Ó×5gl܉/)HØ­PT^Z›{éåA[‡\4ä-Ã$͈LjVa‘œbÂKOùÙÕ€8ÀÆ»Ç+Åñ²Eq°&).-œ)¼t‡nv‡™„Ås%Ί»Þ}_ [‘+˜¤·´š{éèÝ‚½¯©â‡ž €Ëu +´ÜJÿB*'ËñzUYš×ÿ)êß$½š úEÀå¹Ê£áOÕß[j8Þx$Áš"Œk2HËñPÖí§FðÐ÷*öÜU/¨ ïòcWàMëuV8Þ ªx!å´ï^ÊŠo•tçÉ€7CA– AAÊ ˆÍ /½ôh!{xjY7ä07±YœIÑŒ²æ‹¥<Þ¤E3…—^^Ìš–kmõX@ºU+\…õ–V¡â^zê·¨jõ¡@òžryèëOÐRq´ ¦Ü‚ØžðÒÓ¿ÝÐ?Õ`¨°‘©zîêW „+Áã –çm£² o"eÝnF8Ûh"ˆ´ÉIÛ) °Ë‚DÉ!-ÃF“£X'ØôfŽcÔ¸ì@æYž—ºÊ2¼‘tv€™ÒÜ6h6ܼð×àÃŽÖ…I}û#üRÓ#<ªª_N÷2Èø ß²ÆyÖ¡·˜¶-ëÉÁÅåî’MêèbDZK‰=ºXsìÒ¾..ÏŒòõêèb˱Ë+.þ¡T3§ž9ôa•Åkî™yÆ–»óèZ^^Jé9ÊÌs±±ß'õ:Ùä¼ endstream endobj 388 0 obj 1120 endobj 390 0 obj <> stream xœ­XMoä6 ½Ï¯ðyÌŠ’,Û€a 3“Ú[€zzÚ6-›-º—þýJ¤DÒk&‹]që“ͺÿvÿv¦{0±9Øôì}z~û³ûíC÷u]úùö×ÎǽíÒóKüÃâß8EµÒ_÷¥û{÷ú!.M¯iPúùô¶ûøË›ïNÿtϱ›—?\vCÜìÞu—?ºçØöÝåu6°\>ïž.»gõ„ˆÀ#|ˆ'ζ{<†]ò#ZÙlÆæñ@SiV’6aeÑ€>7˲ém’_ Ø gà°³@)G8âzÒ*Ž&âÙCY7ä¶3ÖñiꡳÕ<-À;/~êr§6X PÃTCZˆ,ëÁHæ.~fûK‚·{+kÚ²¦õ„Cr¦15ÓÃCz‰.G=‡ÖÚ6„«ÓÎvlyÌ”Œó½ÄXŒÎ4áИöqï•™âc;NæÉÈt²ˆA‹Æ HÄ¿K&£IÄ¿K¨Rt 3bìæµ¡Cáã‘QÏ›ÁlÓÿÔÉ vj€š@£â ˜F!æ„Þ؆´Ÿ£›myÀ Í ¦óqiYxäei(ò è–åâL¾ˆçq‰!Ǭ0mû‘cý^<ËdÏ2$9´nB'úÕù€ÿm-8%žÕ‚¶:O". a!#³™þ/ÂXÞ*§À.—ÔAMäÑ Øuƒ§÷üGk†.zweú>ï6f?ÜñnÚ™| ]tª|K]ùüJG™…v’Sφ¢âPÃ5d+íôʰΌԦt7H5¬ò ÉquÙàL’8¢ä üÐÉ'ñzÊr"Pr ns¥hWyK’2ùm¦Cê¼¾^m³œù[Ö™»¤Êª¸.|nƒ`ïtòs'ùþ‘a\¹/£¤«¨RæaülVU­ª¶—ã±+_EÅõª¨™$VÔgauh ¬¹‡=~úø‘R~¥ËP>¹[5½£À©ï]‹éka/ ž‹:;‰’û¬­¼4ºXVlZ[}ÐÁÓ¤t}gjV»ˆ L•®å ïŠëê„¶ ×bïÃòÖ—«Ao[ߎåB¤Ô¹TкðôYì×Y¤]æ²L±ð‰LÁ_±[éœ"Ã×Xm á¬T9²qùÔ* â~©¤í¤…á6§Æ•TÿYmñÙ‡XÇ«-«8óG°‚{¹®t‰¯Û‘QË ™$›ÍKï¸ê ‰°éK·?+²²Jýq‡°Ñ_—ÊGÉ­='iuùÕãs÷?·ˆÓ endstream endobj 391 0 obj 1568 endobj 393 0 obj <> stream xœÍWKkÜ0¾ûWø\°£§et_ÐÞ =”žÚ¦¥$-Í¥¿š‘dIŽâGbhY¢íh^úæ›YÒÒúOõ»&uCìV1X¥€õñkýáMý³¢5|¿U¼#Vî¡‚õÞþY1ûß^IvðßÉÝ×ß«»7Vµ;vBðùüPݼ{õéW}k¿Õ®•²f)ky}ýRß\ì^Ô×»PsýQ¯Õ-: Ÿ(.”jû Ïìîîã@˜áU¦¡ѸRÓ08†=7ã1®´3l î;i>¤©ŒÒx}­;ãÀõ4²×81Ÿ®ïKñnâZÚ5D0 ¦AûÁ4l0pœì6Ä@h¸ _ÚùbðgxQçCǹ—è@ÓÉ4j`ýs~õð$¼ë²g±iÆkÖæ­Â·†œ5<à`C´Ë†ÍƒÊ§ïèkôÀ¤ésÝ.nD8–`½áÔ.DÄ#ºeӘЮÇK¾F% ^­¤ë€)ˆaj¿ò‹aÛ"AœÄD°AhØ e¥iJP7×2î]R™€ŒáiwqLÊl:8kÅ^é(ér±…cˆV•WhÑÜLšf㡲U{ÅSÐåíhÆ×÷!sæ¸$#ïÐôÌ„ÈÞÚ½~Q2À›_¦âîeE‡{ìÃ9?ÉÒ·Óó°·úC 0bºoõš´Ï*éY$ÁW¾]I—§q—ÝcÔU8wåÛäå°'û8't19²‡U ÞQð!n³*–‹urÒg³R,¥u@™´X´§Æ l0”£¶ 8þ¤&”æÊY'Õ#Çá obóõD§C VyÅiɲÞ<30Nã̰¡™Å öÍL$nº>ˆµë}ëb¾S009µC‹×õ´µ YnkŒÊ½*穦営¹qŸ³º|®öê~ŽźîG-mí5 ué1gã$d½G!*r'¸‹Uc%#4T¬´thrs*±4sM ­átÚ‰öÓ9†ÓÀEò„dìi“¹/j/Œ`mƒR¡Ö5§5¯\Òµg}l˜ƒþÁ¸H-‰îÕ¢KºÒV¼™nX¤9+Òrx=Å/$Š-|>i%]/g™çp¶/áôëÀ¥U»¡‰m›-{òôgÁ2—ÁhY€C6$Kª ­žmf´ŽïFh%U¯å³ÿ‰±,_ïÕáKªN±Ò–»]ÚÓÉÛHI¥W=B3%µZl—`n”–~ºÝÖ܉C† endstream endobj 394 0 obj 940 endobj 396 0 obj <> stream xœÝZMoÛ8½ëWè\À®†¤DÔI ìÞØC°§¶iQ4]l.ýû~I”4ú°l+jaD&$Š||3Ãyœ8ÛCú3ù?ÍÒ]†MÉÌ5æúú9ýç]ú#Ô|^¿$¼È°ßKb®ßñ»á7¾µÌ·ë÷=ýš<¿Ã¡Ým×É|>¾$ïÿzéýé#>®‡?œ‰ÓÛóôô)}ĶHOÏUúô-y8%¨ù4Ý…”û2ôgØz~ª2¦yRï Ê”½‚Þ1sÛ´¹®oÛ+šUàžåzÇ«¬0½!ozÛ×çöcö†°×ûN'|gúßÓßÔzÇq%÷E½ Ì.ˆ)3úAï„™ƒàP±£™CTp°³ZG‹K9,xóÎ<â̾(´CÀ,pîzäÌŒt¯w²bå.(ŒM÷ªe–' üÒ„].€aÙ‘EQ1¡KK‹ªøQ ßd(7Ý‚ °ä-7`F`0ÙñŽ'»eV&Zfuˆ¼‰k«É®Õ†¥ch+ç@þá §€Ÿ9Ê-Yd}ÃܬÎKC{`èïä ‘9….ÁÚ1—T†.ãm×l˜j&ñõ;¢yÇHŽ){dª/9®–ƒ¨ÁÿÜÊHË ú6 ìíòÈ¢¯/7ÁìŠy(òC—zbO¯/8°Ó½Mûœ·rs:A®öù&©¦€­–¿¬! Ó}òk£^…}Á.ø7cŸvãdGžceÿ|:N(›u¨[Î>,Ѥ)ågM<îÆí46ìÇS›4‰Í 5C0æô‹ƒ'nã’\ªòpt\‘áFCŽë*6ݒư!}¹éSö¤H»öщXߵň©rPjb™ÇF,åé,Øuw¥§CÈJa p²Ž$±UŸ¢«Hš¼eÜŽ$ v'IÖÞé½Ð:|¨}Mü<ÃL-8L¯Â0…l–¹do«‘ÂëÐ/l™Yö8o×'$ˆ§¯ç§ÍUh'%Cæ%³eH9É)Sùe·§$²jdŠÚA5bË÷qkm²íÅÐV Ó% O¿¼(« JRûv% 5¦¨šÅä¡%ß•{a€©:†'Óóù*oÿ¦½©p`"_pÆ^…+ Ùo(+—ž nÍ0…l5á°° ïIØèÙ€BvcYpÕR|s¾;;±fïmBHdš®Y.¨LÏUäè[ÒáBoÞÃOÒZÀF3$‰ìMÕ «lódA"û=r°RÚÃuƒ<׋yLv¬ùýØ®ý˰þ¶àþ¹Ü¦¿Þ®B¢›݉#ú-˜s‰¶ÍÚS¸ rÊÔï\‡h_#óª-Y‹¦9Ô¥¶Âcú ³àÒV endstream endobj 397 0 obj 1226 endobj 399 0 obj <> stream xœíWK‹Û@ ¾ûWÌy!Þ‘æ•cˆ×6´·@ ‡ÒSÛ´”MK÷Ò¿_IãW“ɃžÒ¥˜ŒÇ’¬ùæ“Frt êWñSiµÒ4 È£³<¾|VïÔ÷_/_ ã5Ù ŸéGft§W3¾'»gõµØ?ë$NF|}<oVµ?Ô–Ô“ûfWZ°4j÷I=ö4·j·¯4Ô»oE·+¶”¯Ù܆P®G{¤Ùþ}¥±6„z•Ž2B½BóÜÔ“XFð5Vt®^™J{¶7[Ëë·Úa'+c{dD¯]ؽÍíÇÚ‰z&€¨ã adïM½²¼2p¨°ç5l¬*zÁ>±Ê ¼h넸I¶eOm½ ®Ïá Žq9]ú)0‰hbÂÑ‚hkDÙ¿¯LÏwòŠüô‡>%ô¢2D‹¯`MØý #éF¨ò2¬o&UCÚB#òAc€áD2bñ•BAËî94Äû£X@´°Éø»ÈÆ#>ò0rÀ^¥ö YŽh†-‰.jÇÁ¦¤pÚܲœéÚ”&&%D´ÕÈ>9ëD)9F©¶¹ 2ET‡Òþéí1ÍñEÁÐA`‚¶¸aú{’¹ìpIâ" ‘*GKѺ'\»¹è¿¶8cÜzâ:»ó )n©Ð¦ƒÐK•à ñÚóyi¥±(ŽjTÆë¼{[âýð~*¬uóXýÜ’ÒT¶ÿÓ¢¹¨KÍLz‹4*î-ãËf½¬V)ÙÛ¡>Éš© ]Œ€Å“.|·È`Å éüH†ý&å%d¹uf–YÃ5E긱4…nÙ²E«»|b—’:–‰ÚY!û »ÿ ·§H—uW\ ‡™âÇåpJÇx…ˆñžzãEvrX‡OTG)ó2YwnÕ%m ýÊʧ䯖Mî± Vb(J>A”æ2”¯Pœá+™Ð¿ ÊVýFp: endstream endobj 400 0 obj 720 endobj 402 0 obj <> stream xœRËjÃ0¼ë+ö°£]É/:„ÄÐÞ †JOmÒR’çÒßï¬dÇ¥ôP„VËhf5²%Ó—™ÈRaÑ6¢µòZ¯GzØÐ‡aÒu}5®¶à]ŒÖ36h8!ùÑé™ygz3§ Fg8“t=_ÌöîâiÿI®oãw£ið,Kéh|¡mÞÓx –ãøn£’Q]+Ý7MÙ.|Awz V¢ ÜÄ‚ƒíRåXˆÂÚ»xƒSå:Jà|WÅÂ[+›«•äÿåÉ!>Õý/dÎÆ§ñþ¯<Þ!ë*Ô%i¯†ó+.Í’”pÃm:{8´js6¸S”g\0ðE$>Q‡-O”Ïúv1ÐD¾bîÈq‹N\[Ö·O4)š¢*^­ld?„¿Ä@ßµŠ÷ endstream endobj 403 0 obj 309 endobj 404 0 obj <> stream xœí |åýÿh4-½~µUûkµµ­­Úê_ÔÖVD¥ F9 *¢­¢( 7Æ"7ŠŠbEÅøS@D4JH ¢rg²›ûØÜÉæ$›Mæÿûù¼Þ¯}Í>™sɾóevç;<ïnø±>#ޏ»ÎRî9'1º€»¯ûg 7Þ&>öy´’_ÁýÓÆ=\A'–y° ˜žZ`j*¦Fûnr)¥ÃmÂD©0Až #˹a%2AŸÚèø°Jîö,ÞKD-_ðdÓ…s:.šÏÿïs”ß¾ÀÿáU~Àùkø[^§ z“rûZ¯ˆ33ã㟘ÿ†€.ñü'õ¨±Ž¾“ÛúMiê7ÙÞgb37¡û§ðø¯òT™X+ñp5}$#c+¥#d„p17ä$7ÈêòóðcÜ?ó]Œ·q“*DWK‹PW{þ”ì’Âd;DUS­êóheßG*ô³¹Ë(cK%ˆxEî+¤Œ. ôiåî±ÒÏø”üˆœo>Â]ºÊù†ýô§ÄÏ÷åH¨­XZâß .”Á'kè<ê? ÀìTzѯQÅú• ,{XA2±1áö,nÐQ "g¢eÂÏ>&¦ßÙðâg“é™Aü"ÇxÕ>‹5€I”JX].Šº·à‰×m¥ÕíÞ¾†á-O,Ï(˜y@ò5»¹ßo§~þÝGz~.Ñõ³âd•–mÂ7îlnfVêy`N”ß.`NÄ ˜åßkt©–‰œ…ÖªWžªX0Ñ6{lYìÈÒ'bJý{ÉcCK&ÜF(~x ¡è)÷]_0ò*ë¿:~ßMu粈¢©œE?ÿf5óq—n£Oí{§ÖÏÔÀ¢‡K?Zéï^ä{þeFȵº„ž¾(&ŠD9H%\ýêê6®ªÿhMíºª^}ºrùŒÊg§T,y¢bá¤òyÊç/ú!ÛœÊfŒ.rwÉÄÛ ÆÞp|Øo¿~}i¥CªŸÿôµ§Ÿé™AÎß{æôÏ–X¿?ßòÝy–èy–,°þp¡õ'‹,ß›—ýL7çÜss¸§Îq lÜçtÎi„¼8]rÿß„\>À7’“ÕpéŸ+–L®ß²Ö¾}]í{/W¿>¿ê•9•/L¯xvJùâÉDÑ -ŸûHyÜCe3ï-QòØÂ‡nκ窭7þŒ~HüL ~þõ×.?cßž%]$H~7¦ᦞàf禟è7'+j6™>ÁMϤ33ïX[ÊÅfÝÐÒ{yÊýãÎl"‹1¥nrYLü\÷ 1sÝúWkÞ\Rµbv岨ŠE—?3ÞöÔC¶™÷—MS:exé”{艷?|KÁ7e¸fû_.¥~þKEôóï·ëúùÛ|랬ì='södåÐGJ6!O³²¿Ì<·ûDvBæ¹­YÅ7¿zŠõ5ü ˆ,¼ûÙ6óÞê×çU¯^HäÜz4ŽÌyÈ6ý¾Ò)#KV2apñ¿n)~è¯d¼1ù“¢±òï»þä¨?}rËeú~þß½´¢˜E¿ûAêö±¥Âlj?à'm,Ò÷ó܆|åƒÉcµ¡1»D½Ã|K\È÷D8c@˜ šYåç²Ø‘UËgT­˜E*gÅ)‚œï*™p‘sÑ7)ãE÷^›ïu'GêùY<¿AüLFî¾›w?ýºˆ°\›€FÈÊHÏw’™&oÈï;æ°ªgˆ èµ-äGù;F_²¬ÿ%ëÞ+¬~o|Fèá} ÈYÞái…‡î¹ä£¨±¥qÇÈ_¾†ƒ¶bìÚ¡Ä»ŸK'«xv =­±xrùÜñŠŠKRòÈ âÿâ’ó¨?¾¦`ÌŸNŽ¼æ“¿ý’úù¯ç¨¯>îV?+~C7-ûÙÉóí¾ëç)ÿgé7æX¿G„ëDE«M¥»xúžK–EßrF8–3ÑW¾="Ô¯§„?(ió•Έ¾rwÔXá@ŠÝC§{¾c×0j?wù¹|þÄò…“ècÜ¿l3îW„\üð-.9ü]Ñðß¼²`ôÕ§F\ýéß~!ùùÏçôý<ºˆV¿•Ë~vè•ÐnÄÆŸ•ý\M/'~~»Ut]ÿ+÷D­äÔÌmVÎ!¤®UFÚã??/æ^óy»2­YDH{ü\im´ÕÚ‰Sw¯·‘µ9f¬kþ˜]oDzŸª K)¡ó‹ 6Kã®iUž+{¢ZœnÚÛÚ<—õÜŠÛ‹ ½,3 TÑÃm¢¥©„¹µ<î!ú%ÿõÝÓýF%~V“@Tcoô²è;ݢΣ’Éß™}ɲ{Þ¯¦_) ò…Çîø±8X°µ0jà[Âtõ{“-â ï¯ûÞ¥ËÿÙOf©{oŽ´Î¨Ê`ÞÓ£ª¸q‚Ü Ý=àcἊ4“ÐF×6.)j\·¶Múó1àˆz÷âŽÊ/Ü·vipœ-MXùÙJÿVºr²žñIÑãvþg´<²§¸*áÀëÞýVô(a7lµw_)i½µy[V½•ñ¥ÊëÖ~6Ýù—-ôù/6 0¦Êzò¡ø¡›mÓÇ”ÏWþÔC¶ÙãÊfÜK¯Ryò.EÎ¥ãþTzßïKGÿ¦täå¥#U4êŠ3w_±ãÏS?²r·dK%4©Ÿ/zÅÍÏB%ÿý<ýã}GÝo¢ûmÐÄ=X“àT³6z”[¿qa¼‰z{`7®I´Sô´VQ¿ý¯Ü%›“Î M¯ž#Í@ÉzæµЧ[éÊ…yäT¿7zk”¼Zº¶qµ’–ɸj©¸oéß®ÿ\Bþ|h;¢G?T ­­.n\­´“ĨÂÚ”}î‰ph£ŽE’Gs;ðÕòŸqA²æd/kÓ,;J»•˜z¯›Ç΂ÍX» YÑä Ztÿ ¥ÿn›u¿mö峯ÚfÞ[6m¤¦~¶ý½íÞ+ÊFý²lä/‹Güò̰_î¼ñ'ÔÏ‹¸ÔÏ¿=Cëgâç_eQi?Uû¹]8ÿÜ…Ÿg¿u´ï˜cým¡}óþ)ðN»¤Ö1 ’´â2éÿÎÿs‰8Þ"YhB¹¤ßÛ å—EÇ4¸¦§·¹f ëY(?]ÑLW÷i©E¥b›ÈmŒ¼Ú2ÉÌ1_tHÒÓ@ËcRWßVEf(ؼ®ÿ%Û¢þå¶{cRž¦Õ8ÙDR”¸“Ĩ¿Ofv[9ç1¢lîî]d¢5F½r_kSíªv+Âëæ·}Œò`#\–®§ïòü±ä±¡eSG3ÛfÞW6cŒKË“‰Íöòû¯(ý ÛÈKKî¹ôìß/þlÀ¨Ÿ—swRE_g¥~þÙÔÏä)õs%=G1¡AXA—r&8ŸZóußû3‰ŸE¨¥'¶I5Þðf±ß©HÌîNÁ¢Û£Tóô´BòíÅ\¼ìäáÍ®éYeºò¥ÒÓ»·µK¼£8î8/ÈííèäÕþ9KÞ¢8.¯ðÂþ¼¸”zßÔMH[¬‘šæ¶ÏÂÊûxŒ¸6·VÜyº]×jÅ™½¬Mµ«Ú­È¯Û2ñ ˆòÓ€‘þ˜zŽÊÒ´º~eñøA¥OÆ”MU6}´KÎSþn›|kù$×÷7*Fÿ¼|ÄÅ%w]tîöïºö{’Ÿ ¤ŠVüL iêgá\Ê„ÙÏbB!í-O­ý¦ïßöÜFèó8…˜'f7ý„.íÅÓdš›èˆ/çSãÛ¸¥NÁ{Û‰‚çPOö´JÖ¯‹ïýÜæšžåtÍ ¬Šç«ž¾d™àg2Ã;шƒât»,·ÓÂnˆÒ#ãd7„‘”Ý}‰8¢¦=µÜ#NÓM7 ¯¢k¦FMš(¯A^9§Œ舸âæ¤ñ»‡«_œA³6o˪·"¼nüþ}tŸ—:ó•ý„‡U(–ÛDÞ¬ùw^^ôà_J&ý½ôÉ»W–M¹Óöä`ÛãË'ý¹rüµ.Eßó?eCpv`ÿ]¼€úù®:ªbQÑ7ìwùy¸žÜ˜@›ü_|Çë?¸â'·¬ ·ªyYÃE7?Ó÷Á¬¾±}bnrX:f{Jã­ï=´.zT÷v•2”úê;ý‰'ÈúbãþOv2™S™žCgP¯êé«–õ¿äÓ¨Çñ¥òª¥Šw”,·¿œ¦û(ûùŸôGÜ :3=×}UzÔãÒ_éoÊ2õV:ãç|J÷íŸd7Z¥1bÅÇÝV.-øv÷?XÕâæ¸Ç‹Óä¡üĪè«ÄƒR¯ÍÛ²z[q½nñ Ò£=ö°7Ñ Ì(j§›®¢¥iÞ—޹®øá[ˆ¢›÷Aåå¾rÍ šeÅ=‘w¯JomúËr>·¢Þ7À0b©ÂEÚÓïäÞúÓ‚áWÞ? ø_+?¨d ’ñKÇÿ­tüÍeÜ`ûןÊÇ]Yqÿ¯*FÿœÏåCû— Š:scß¿ïCý<¢Q*¡‰ŸdP?ÿo¦âg"ç~¶÷Ïrô›Ú~ÁLÇ…3;.˜-ÝUP¼ç ‚8îºiÚ †ý–.—ü¬+ÕnAý|8~…§¥‰cÏÝüCË_掸*ïÞÿ—?öÆ‚q7ŒPðÀ€Â®+{MÉ}W–ŒþU鈟—Æ\T:ä%·]Xð×¾'þ·õ·œägQÑÄÏâù w?‹Š¦~žâ¸`šS¼Ÿ,•³‡Ÿ}+Ú¢Vð⹋þwW÷p%|%s÷ºþ·d¾“áHȱ`¢Kk:ŽÝ}ÕÑ¿^tô¶_d½"ó®+3ïú}æ°ß¿ë·'†]‘uçå§ïüÅé¿_|掋Núᙿ}÷ôŸ¿sâú>é×pÛnýõó˜&7?_ôŠÚÏœp“Y±„«è bÛ´–ž#UÔÞälðá«N€ôp%âY…ÿƒØÀóDÇï4מ9þÅЫ>úã¶_ÿ?ÛüdË ?ÝrýO¶ßpÑ'7\ôé€ïºþŸ]÷½„k£w]sÁ®«ú%ü¡Ï§¿ã¶ßú«ÊS™O¬¶{ñsâgñ±ßD;…ÒM’¥E¦9EúMm÷DÜg±öf&ô§ì`·Ï éG„Qã[Ÿx«‘ïfJ«DÎQÿhp;ÿ¬ñóHáÆ ÒmPè…*ôfÜ\7§®VpˆßÙPà _Þ>}&'äß„ü7øäá6úÏ$|gCúrݸîÁV ™ÛD+añQœPSϨ£âO•Î4~¦Š. w¹’Ùgèñ¾wR”û€‹·§w ]@5®t¥ö¼Ï‹ºÛ 0†SCl9ÜË?Ó+m7G$s[Žôôq„<Þ’Mùë9©í†Ø‰ØX×ÏC2©ŸE+–ÖEœ¢Ì¯Z˜ñ˜–>Àôôâ/€x}·øýŸg^xSÎűµÑcs«+Î!\Œ˜Ã]±…»è¿ð3˜øÌ ü æ~s?€9ŸÀœÀÏ`Nºëç%ïí ,hll²Û«ëëJ몬!£ø¹»?$øŸÀÏ“ŸhüüÝ€üüÒÛ‰„e«‹Vî$Ì}i;aÖs›ƒÿÆD~L@ý<ÈÊ]öAý¬û!~^¼rW/¿D'fósÈÏÆ³?wvvvtv:œmíÄÏÙE͆):?>&&>ß<ëALœ%æós¨_ÄD ¦Ÿ—¯Ý­~JÝÞ!ùYAg‰'9u¼HSÑi¯úÙ÷Ê]»—Úó@z?ð3bæÓÏKW¹UÈ¢ŸÏ·w4µ9k›Ú Êëg-}_gýô­ülàÖ‘ ~FÌœ úùµäñè·ùGŽågÎKËÈK:˜—°?ï“”¼m)yµ-Îé ãuvÑÓxÂH|œºTuU®1qq?õ¨lÕëT‹]]¤ûÞŠ7»ÿ™ÐîŸ* Â6EàgÄÌ ¾Ÿ;…ttt¶;iñÜâèhlsÖ·:kZœÓ¾«³‹šó¢9¿áiÊfŸR+Š#ô‡dJÇÏ®y¤ß[ñ_»!m1OàgÄÌ ¦Ÿ—¬¤~N;dM=dÝwв'Ý’jٱϲ5ɲ%9·º¹}ª7?ëÕÏùšiÝóŠiÕ#Ä‘]Σ;¢»3ÞöÖ÷ sÄÄ~–ëüÎDp‚éçù/o#¾²¤eI9$ø9úy ñó^k%õó:] ŽŸ• ÙÛRð3‹ñÇσ9nðkû¤§GŸ<øùÌ ÕÏø‰ìÓÏÏ,ßB‰œ÷gXö´ìÞoù,ÕòÉ^ËÇI9›“­åMíS¼£³‹þûÙë¹e½óê3ÓÒ<òb¾ýì:E!/ª»o:‹{œßÀ PÇ/?ž4uð­«Ž†ÒϪ“|Òo•ö³½OX<>þ@Â,ù9z@v~žµt#yL>`I:`IL·|.žÜHÎÙ”˜³iµ¬Ñ;ß‹Ÿ5߯KÕ3§üÙ›øù ö§ß|S\ó»>»s}>èu+ô™ºæÖìª^‰î~,t?àçPÇ???Ÿ¹c»AíçÌ×n•ÿ%uÓq¢qú|êŽ}«¤ Yéê9¥yº»õ3ù¥s/0RãÈ„nâñé n ¦Ÿg.Ù@¿HϰîJµ~šbÝ’lÝ”dݘd-²;¦Ì{;è/€^Ä·€Q³!&Ž¿~®8·+Vð­gý,ª[Q.yªLÐ97Lå&íªp¯½ð³æËER™ ÿþùs/(¯'bl‚éç'æÒÿ*š"å[££¬ÁQbwÔµåÔœrÞÚ ¿®¨Êg¿´K~ë¡çpÿ~–ìêæX9šqÍünÿû“]Ý­óêin²•- ?3š`úyêÂw§/~oúâx‰EñÓÅ“ABìÂuS¼£ÿý éµtÃÏÂ9©¯)Öu?#íÃÏÝ9_­}㈧&T‚•Tçæk¾AŠ„_‚ég1[ºåçjz²Â½ZODûð³°ˆt"ZÁóòæ$±*ÿ¹“?.qýoÏãóBïW`!á–ÐúyûÇz"H°ÒM?+g•ééhéÜFì$_õ³ç™ÿüŒ |¨ýÜÃ}ƒÛó"·ûyî‹ç¸Ís¸ la,&¾>A»~Ny…s´ÔˆÓ»ÃÏH·?#fN˜ÖÏ«¸ý+¸´U?UFàg$€Àψ™|?ïL?ùÌÛ_xBÆ}ïêáÕܱMNî¼§èØ²–ºãNgÏÛyž<æñ|㎅~v¿°ÅÈïÂõ >¸ uàgÄÌ ¾Ÿ‰Š»5®$íUbà†öÖ¯í¶me§žÍÿjj~ÆdKúž'b·mŸ§çg·/…§hø™•Àψ™˜Ÿ/p®'~v:Û;:$È´Óéhmiôæç¯õ=°æÇ¹ï[Á5ר´Ì¯+~á|ý¼#ž?¿Æ–5¹­i+ÏçlëÓϼî¥Xrkú¥%·2[ÛîÀÕÍ@¾tÖõe'iYá’U¡®³_ݤµí Ä„~@M7ü|¹1~nmmh"´´4Ùë«J s¼ù9å•>ŽæÃßø_?­ø›<¿u“ç÷ëtý¬í¶ä~%¬¢NM»¥¸î„ï­èô¸so§€+ð3`cýÜÐP[__]Sc«®*«¬(..ȶœ9ê­~NZÎùhÏçî~žãi|Ó\Þ>‹¯‹å«ã+æ+ì,y &çñ 3ý;¿á»[©èçTvø¹[=«][‡¥ƒø0€±~.)̶žËך="kã÷ží·ýin«Q 7àçÎóù9Ô/ b¢„ÖÏÝê¿ñÁtîÃÙ܇³p7bXàgÄÌ —úAz#ð3bæ„QýlÈ‚¢üŒ˜9‘Y?£q4"~F̜ȬŸÑ8Ó‹~îæµom ˜®¢½dտϼñḹiõ3G#êìgMƒé.Wz÷· ÈÏqœê¢)®(…iYLÕϦnwGx¦Gõ³® ó³ûï[E½xi)àÞ2ÑËeS]Ì©¾˜V5Òå.!=NÕÏ!k ñ²Ãü,Mï[%ß Ö­¢–Æä{ÂúqXé VÅ|]60לßÐo™¨j; n£?§{Fß-‘ÞIÕÏ¡i­ôõ0¶¶}³ßuˆg‚K»C£ýì9±a*7i—ç<~Þ¿[é˜ÕeàOK.o#ºãnçoºlüˆôJ«~^ãh·BÄ˯ººc³ÿuˆç‚èüºôºŸ]ųÙÕÝxãÈ}q{îçTÕYí.ýì«Í£—Äè„Wý‚ÆÑÞ~5½@ý¯C´MDÑS4” †Ÿ»sZyãĨÏløè ¨麥­Jоý¬§ ï-‘ÞIxÕÏ¡híQ½x´-uý_ÏŸ:D³ þS$Hé?‹E²ëü7u‡Ç‚]ßpÿO¯™¹§ŸÝ*¡¹ç/­Ò™Ñ㼜vÎ|í.øjɈôN«~Aãh¥#´út²0âÖ±9Õï:ÄcAt~aŒ÷sŹ]±T`zŸ’Ñnžj¿!‚˜0ù9:Dõs(Gk?å“{>§ºulîFâ¾ ö)ÔDÚõƒªòvƒtÃÏ·Y¹ËÖëç |ÿ¹G#áŸHó3^ ­Ÿƒ^l„àgÄÌ £ú9àÑ8ñø1s˜¯ŸÄGàgÄ̉„úٻ̀ØCÁ¡—ö?2cB? õ³g^z;‘°luaÑÊ„¹/m'Ìzn³·EàçpÌ“ù€ˆ´ú™ÈYwœøyñÊ]º?‚ŸÃ1ð3`€¬Ÿ•éÎÎÎŽÎN‡³³­½ƒø9»¨YWÑðs8~ iõóòµ»ÕO‰¢Û;$?+h‘ý™ùQ…ð¼¢x<ülúÀÏ€4~ßû§ø™¥«Ü*dÑÏçÛ;šÚœµMmåõ³–¾¯YÄ͢ˋ‹áçpü @¸¾;—»Ü`?›¶~^úÚòxôÛü#Çò3ç¥eä%ÌKØŸ÷IJÞ¶”¼Úçô…ñšEtý<>¹EþyËGËé\#¢ÀÉœÒóêä?’/ˆ<´~îݘÍÏ!ÿ¶0!ô³i#ú¹SHGGg»“Ï-ŽŽÆ6g}«³¦Å9mỚEº¨Ÿ7Tó'³ Ž=ôÂI2‘}H–0õ¶4ƒ¬e²ˆ^Š×ƒÙ,1ŸŸCý’ &JhýªúÙ÷#É’•ÔÏi‡¬©‡¬ûZö¤[R-;öY¶&Y¶$çV7·OõÓÏ®òX,˜³½JŠvÓ¸¨nÍüÜËŸ3õ³n濼<øÊ’þ•%åàç4êç-ÄÏ{­•ÔÏë4‹èø™*W:­á.[ÙÒðs¨?#fNdÖÏ]æ™å[È#‘óþ ËÞƒ–Ýû-Ÿ¥Z>Ùkù8)gs²µ¼©}êízÜ,*žšP –ž¾F%gÊ_ó êÖ;¿?1ŠŸíµ¥õU^Ÿág$$Aý¬›YK7’Çä–¤–ÄtËçâÉäœM‰9›öX˱óuýœ-ÛS*›_?é+>Y]ì:¿!Œˆ¢Öû|~ZàgÄÌAý¬›™K6Ç/Òs¬»R­Ÿ¦X·$[7%Y7&Y‹ìŽ)óÞÖ,Ò_¥Ã÷ëz;Ýðs7ï$Øc?kîDå>¢¹1š¯›;¤ÆioǦ·¼êFn·ÉBÿõ³nž˜K?þ«hrˆ”7:l޲G‰ÝQP×–SsþÉyk5‹ÀÏá~VÝw[}?Á`úY{ƒV÷»ó:7qu$[ÙÏÊÝnï} êÛ}#! êgÝL]øîôÅïM_/±(~Ú¢x2Hˆ]¸nÊ‚wºøþü&ñågÅÆ;&qÝ¿·ñ~vEú‘º2ö×=×T+Ôô\Õs¨ƒúÙ¨ÀÏá¿üLïÁ=i—àçU±RI-Ý’ÛuïWWí}ùž°~ÝV÷Æ”bE,jS}j»IõU¬L{½ý%Šg3$0?3߉øãçÌ×n•êgE¹bEM½-Ðyb7TëÏ#¨»Bu†¤{÷ïö4¥8â^ Ó®»+ tág/[AñlŽtÇÏVî²PÞ¿;˜  ÿ3Žñëü³"U¥¢§5#r­Çíó6ÙÕÝxã¨ï /EЫڱ:óxüD÷ü†þVP<›$¡õ³iëçú?#áÿÎo¸W¿ÝõswÎZ»Þ8ʧ®Ú8NV¦¤O—E}”»*ïê|>豕.Ö†7¨Ÿu@ÿç®ã½ÆAB•ùY÷ü†÷yÜVÕåù ÕÝ\_µÐžmÖ9Ÿ¡ŽúËrÂ"߯óÜŠ0„ßS“õ³nèÿL£þôF}?ßuÑÌð³ùÒ3?ë>è}Õ©’nœF"7¨Ÿu@ÿgjà¸8ÅÂôiŒËÉð³ù‚ë3õ³nèÿL#8UÖ0=ݯªœóU?ÿéúß%ÄšÀψ™ƒúY7ô¦‘ ,|“ïafåÑõÕSŸ§#ÁüŒ˜9‘Y?÷Fÿgõu·œü…T73ë4ãû ¤÷?#fêgÝÐÿ™F)ƒ•"Ù£~NUÊgÔÌ&üŒ˜9ú9;Lëg?@ÿgOåzžßp}ù¿«î6HïÇ„~@M7ü|¹Á~6mèÿL㟟yåBõ)ÔÒ¡È“ù€è%?›¶~ ÿ3ŽŸDZý@ÿg$?ˆ´ú9€þÏH8~ iõ3!ŸDZýŒDHàgÀŒÕÏGßàö¼Èí~žûâ9nó.Ô»ƒ„,ð3`Æêç”W8GK8½k1ü¹Ÿ0S?g¬âö¯àÒVýT ŸåF¼¸>%´Ÿ˜¡~Þ™~ò™·¿ð„Œû^ððjîØ¦'wÞStlYKÝq§³ŒçíÅ×O+þfÏoÝäãûuJgÍ9 ·~ΪÎêÙºÖ²{÷$ÿ_ĸ_Ô†ÆúúúŠúºÂºšì¿Ñ“ÔÏ µõõÕ55¶êª²ÊŠââ‚lË™£Þêç¤åÜ‘†ð|îîç9Þ™Æ7Íåí³øºX¾ú1¾òa¾âÁÎ’jrß0Ó÷÷7T7CQƼy~·ÀÏ€LR?—f[Ïež;ùÍÙ¬¯ÎœÈÈ:š–ùu²Ï÷<ׯ½ùË„g9¾u'_=ž8™·ÝË— ç‹îä î䋆ÕgÞþÁt?a*§tOA¸Îo¸Ÿ—ðægu¯~ œßYàgÀ&©Ÿ³Ž¦f¤|šžøñþÄÍ„´ÝHÚêÃω/Fg¼?ð³%oŸØ˜/¼ƒ/¸…/¸‰/º±öøµ¹»~ýå‹ß_?ó~ÖëˬÓû|P˜Q×Ïòi×½uEÏCø0€êçÀ¾ÿœ¸âÒ‹8¾n_p=_tuí‘˲>üÑÏå>ž+#=ð3`3ÔÏ%åÍë>™ÏµfÈÚøý„gûmšÛІˆø0€êç€óÁtîÃÙ܇³ eDø0€ÆÏÌß¿‰ÀÏ€<úoãçà·qFãhDø0@/ùÙ´yéíDÂ²Õ „E+wæ¾´0ë¹Í¡Þ5ÄÈÀÏ€"­~&rÖ'~^¼r—¡{„„2ð3`€¬Ÿ•éÎÎÎŽÎN‡³³­½ƒø9»¨Šf&ð3`€H«Ÿ—¯Ý­~JÝÞ!ùYAg1÷ޏÒÄüŸDZý¼t•[…,úù|{GS›³¶©­ ¼~ÖÒ÷uÓ\?E›>ð3`€H«Ÿ—¾¶ƒ<ý6ÿȱüŒÃyiyIóöç}’’·-%¯¶Å9}a¼Îbºm”ÿò€ëÒ”G+iƒÑü €±úÙ÷#É’•ÔÏi‡¬©‡¬ûZö¤[R-;öY¶&Y¶$çV7·Oí–Ÿ=û-¹D­­°qê:˜ŸDZý<ÿåmäñÀW–ô¯,)‡?§Q?o!~Þk­¤~^§³˜×6þª&xÒ¤ØÃTÒ3jæP~ ÐK÷‡5íùçg–o!DÎû3,{Zvï·|–jùd¯å㤜ÍÉÖò¦ö© ôÖã¦Y¹;´jP£ê¸¸8u RÍÁü À ÷ïff-ÝH“X’XÓ-Ÿ‹'7’s6%ælÚc-ktÄÎ÷âg;¿òª›¿ºZ@ówñÖë9ôvàgÀ‘V?Ï\²<~‘ž+`Ý•jý4ź%Ùº)ɺ1ÉZdwL™÷v/ï)ŒÀÏ€"­~~b.ýø¯¢É!RÞè°5:Ê%vGA][NÍù'ç­ õ>"~ iõóÔ…ïN_üÞôÅñ‹â§-Š'ƒ„Ø…ë¦,xGÿûH¸~ iõ3!ŸDZýŒDHàgÀ‘V?£ÿs„~ iõ3ú?GHàgÀX?+ÓèÿÌpàgÀŒõßè2=êÿ¬ºè„^™âÏÅ&Ê5†¸Ð;¸ŸP?ßFü¼>Búoô ÿ³êAú4Æ/ßBË! ü  —ülÚú¹'ýŸSe×ÒuñÞ[@ÇÄÇljնªõ³hw×OÑÌ®wC~Qí uõu¶ºš‚ڪпÑ€ˆ«Ÿ{ÔÿYhª4¯ÓÆbgQÍÝU4ç7Ô?%ó£´îµÀÏ€«Ÿ{»ÿ³ØÉ­y¦ý‘—;­ðžVÇ©Þ ü  ÒêçžöVzÓyk ?›#ð3`Æêç.cDÿgÕˆg hO?k|?%ð3`€H«Ÿïÿ¬ëgÏÐsŠ3èü~îÍÀÏ€"­~Fÿç ü  ÒêgôŽÀÏ€"­~Fÿç ü ÀÃÏŒ÷ß@"$ð3`€^ò³iëg$B?ˆ´úýŸ#$ð3`€H«ŸÑÿ9B?ˆÀúY™Fÿg†?ˆ´ú¹GýŸ9ô ›ÀÏ€"­~îAÿgÕuP´é?ˆ´ú¹'ýŸó5O=/ÖÖoï¬\îÞZÛ/•¹‘ŸD\ýÜ£þÏJT Õ3è´wV$yij_4:Bø0cõso÷–ãÝÏ>F”qoý¢Ñ1ɸÀÏ€"­~îiÿgõÓüì»_4ül\àgÀÌÔÏ~ƈþÏô|²t ùÌ„NógiÚýü†ï~Ñð³qŸDZýxÿgŽsû\Ï}ØW{gÕ²DÔ¾úEÃÏÆ~ iõ3ú?GHàgÀ‘V?£ÿs„~ iõ3ú?GHàgÀ‘V?#ø0@¤ÕÏH„~ `ÎúùèÜž¹ÝÏs_<ÇmžÃa‹cŸ˜³~Ny…s´ÔˆÓ»ÃÏH·?0[ýœ±ŠÛ¿‚K[õSeÄ`?ã;Æ‘ø0€~Þ™~ò™·¿ð„Œû~+^ÍÛ4àäÎ{ŠŽ-k©;ît–ñ¼çÉcÏ7îXèág÷nÌ\·š ÁÏ‘ø0€~&*îÖ¸’´W‰Ú[¿¶Û¶•z6ÿ«©ù“-éxžˆÝ¶}žžŸv,ü¡~¶W×וÖÕäÕV ù €0ÖÏNg{G‡™v:­-Þü|ൾÖü8÷àâ}+¸æš•–ùuÅ/œ¯ƒwÄóçר²&·5måùœ­sýð3‰‹‹¯¡–Êk©E†<®Ñ\v-¶ÇP7Ê}ºæQwÍpñœ1CàgÀÆú¹µµY ‰ÐÒÒd¯¯*-Ìñæç”Wú8šó¼=ù%b`+ϯçÛãù¶5|ëù–øæÅùGáù›ãº:¿!5^üHÛ[Èêq^nk$ùYîq¤ö²ØÙ5¡×š="kã÷ží·ýin« 7ºégÕ÷3ðü  ä~&ù`:÷álîÃYè³ø0€üŒ †~ `6?£q4bHàgÀfó³ŸyéíDÂ²Õ „E+wæ¾´0ë¹Í¡Þ5ÄŸ˜ÍÏ~ÖÏDκãÄÏ‹Wî2t° ü Àl~ö3j?wvvvtv:œmíÄÏÙEÍP4?0›Ÿý¬Ÿ—¯Ý­~JÝÞ!ùYAg1÷ [ðU:†?0›ŸýÌÒUn²èçóíMmÎÚ¦¶‚òúYKß×YLÛvŠf6ð3`³ùÙÏúyék;ÈãÑoóËÏ8œ—–‘—t0/aÞ')yÛRòj[œÓÆë,¦¹\E~ª*«•犹Uí’p%wø~ `6?ûÑÏB:::Û´xnqt4¶9ë[5-Îi ßÕYL{9¡Çõ‚ò€ë^{A#¦ü Àl~ölíùHß}+©ŸÓYSY÷´ìI·$¤Zvì³lM²lIέnnŸÚ-?{öAr‰Z[aãÔuX~ `6?û™ù/o#¾²¤eI9$ø9úy ñó^k%õó:ÅtÏo¨ï±âšL í÷5mñ0 ü Àl~öóüó3Ë·G"çý–½-»÷[>Kµ|²×òqRÎædkySûÔzëѶëw¿#¡X&«¦ãââ¼÷‚FLø0€Ùüìgf-ÝH“X’XÓ-Ÿ‹'7’s6%ælÚc-ktÄÎ÷âgNs"ƒFiâLï%«w_í²¨¥Mø0€Ùüìgý>N¬¶U­ŸE»»~Šfv& ü Àl~ö3=ëÿ,4Uš×i c±³¨æî*šó꟒ùQZ›/ð3`³ù98ýŸÅ†HnÍë4í¼Üi…÷´:N}˜2ð3`³ùÙÏô´ÿ³Ò›Î[ hø9Ì?0›ŸƒØÿY5âÙÚÓÏŸÃÏæü Àl~ö3÷Öõ³g h9Åt~ ?›2ð3`³ùýŸC?0›Ÿý ú?#¾?0›ŸÑÿ1$ð3`êçAá×A|~ `6?£ÿ3bHàgÀfó³ŸAÿgÄwàgÀfó3ú?#†~ `6?û™^éÿŒo23ø0€ÙüšþÏÞz%!aø0€Ùüìgz¥ÿ3üÌPàgÀfóshú?kêgå®*ªÆÏwx~ `6?ûƒû?k¥3 b'hõ‚HØ~  ñó…¡öshú?«ºîsj'sêà6)áø0€ÙüìgŒïÿ,?¦*å3jæpü Àl~eÿgUu­TÙ(šÃ4ð3`³ùÙÏÜÿYûý:ùBÍM¯zý°Ã?0›ŸÑÿ1$ð3`³ùÙÏ ÿ3â;ð3`³ùýŸC?0›ŸÄÀÏ€ÌægôF ü Àl~ö3èÿŒøõs­­¶º°º*§ºâTÈßh€ÙüŒþψ!Ÿ˜ÍÏ~¦Wú?# ~ ø9—»ì“ø9ýŸÑP#?0›ŸýLú?«º=CÑì~ `6?¡ÿs¾æ©FÚòH|œ¦ÌNSÞªJ\î­³²ÀÏ€Ìæg?Ó³þÏJT Õ3¨Kk©Y’«+´6b—hEP~ `6?§ÿ³ï~ö1¢Œ«['y.bÀ‹ø0€ÙüìgzÚÿYý4?S9«ob?›.ð3`³ù9ˆýŸåöΪS’wudë~~C5ƒ÷EP~ `6?û™Àû?sœÛçzîÃÒͽue«Z–ˆZù°Ð×"Hè?0›ŸÑÿ1$ð3`³ùÙÏ ÿ3â;ð3`ÉÏ—›ÅÏèÿŒø0€ÙüŒ †~ `6?£ÿ3bHàgÀfó³ŸAÿgÄwàgÀfó3ú?#†~ `6?ûôF|~ `6?÷nÿgù:\BÂtàgÀfó³Ÿ °ÿ³\âÇzàgÀfósïöV"ûYÛÆY=¢½¬[h¿>Ïaø0€Ùüìgìÿ¬Ä³~vµqVº8Km6ÄçÒOÐç9L?0›Ÿ{·ÿ³½®G‚lžGr]¬½–^³h#1,ð3`êçÛ¬æñ³Ÿ °ÿ³×}RÜÛ8K?–- ?‡màgÀaêçû?+OMèµqŽsóµÞù ø9?S?ØÿYÕ¶Y«¶³ê&°Ÿº>ÌW?›8ð3`€0õ3ú?#¾?S?£ÿ3â;ð3`€0õ3ú?#¾?S?#ˆï_Ôšê’êÊüªŠs•¶“!£ð3ÂdàgÀð3ÂdàgÀð3ÂdàgÀ‚Ÿs¹Ë×ÃÏKŸÀÏ“ŸÀÏ“ŸÀÏ“ŸÀÏ“ŸÀÏ“ŸÀÏ“ŸÀÏ“ŸÀÏ“ŸÀÏ“Ÿhü ?#L~ ùù²àg„¥ÀÏ€àg„ÉÀÏ€àg„ÉÀÏ€àg„ÉÀÏ€àg„ÉÀÏ€àg„ÉÀÏ€àg„ÉÀÏ€àg„ÉÀÏ€àg„ÉÀÏ€4~¾pÀ9øa ð3`êçAVUÿ øa!ð3`øa2ð3`øa2ð3`øa2ð3`øa2ð3`øa2䵪ª°²ÒZY~¶²,+äo4~F˜ ùE-·YÊËÎÚJNÚŠ¿ ù €€Ÿ&C~Qóó2óóŽæ[¿Î³ ù €ÀÏ„Ç'+„ü@t×Ï‚ƒÆÏ]ößd?ûÛ @p€ŸÀœÀÏ`Nàg0'ð3˜ø̉7?oÿø¡‚çyo~õ幂 ‘œßs¢ñó…7ÀÏ` „ûw[¹ËÖÃÏ`*àg0'ð3˜ø€ð¥Âvº$ÿÛÂÜÃÖo‚€õLzï¡l…NQÞr\äè"üxágÂò¦.+<>ÿͯ·Œ»5Ž .¹øÉ—>(/É"DøñÂÏ„/¤î"²»hCZ&;×,œÎ/'G´àÍ-žõd¤/ü @øB|E*ÉÔo­L¥#õ[ 9®šÊœ?^ø€ð¥0÷0ùrG‡“ ¤ÚÛ-M ä¸êjò#üxágÂRO’÷µƒ¦Î775Ô×V’㪯-ˆðã…Ÿ_D_?ßzþ| ´¶67Úkk*Ë|ø9rŽWãgôß Œ}ÕÒÒ$ÐÈÍÍ öúªªò"~6Ýñž[3tèšs½p¼è@ø"ûJ|³7˹·†rr†¾uŠJ"fHœAÆg%¼Ñæf»½¾²ª¼Ð§Ÿ{p¼ÂnK™õ…1»­~Y =^ø€ðEöy›Ówºœ}k7tõYéiÂLAÑÍgWÉ7ä­³FnQ¤©©¾¾®¢ÒVàÓÏ/=(nF¢ü4q¦kºG(/‹ÑÇ ?¾ˆ¾RÞéÆA„<äÍ3ª‘3o úÆåQóSãhl¬««-¯(óåç@÷ä›CuvûÌ›CäzZø©pŒoΔ†fîV^Õ}´‹œé…ã…Ÿ_D_)ïtÃ8M…sÚmðóÜô/éø"ç5§Û–; µµ5¶òÒ|~ðxÉΓCð1×ӹŸ ³q3¾”Gèëµf¨<¢¼êJçå2æxágÂÙWu„ÆÆZÃ8ýúС¯Ÿv$Ršö%'r^3ÓþÔ0jjkÊÊKó|ú9 ãÕ9(yÜužýõÓêÙÄiÍ‚êùi„—%ÐÄ÷ñÂÏ„/¢¯”wºqìšÁ ^sJ5rjÕС«N‰ 5§Ö æfì2t‹v{uMu©­$ׇŸ=^ƒKt?FýeP³͈AÇ ?¾ˆ¾"ÿG&Øí5rjõ`nȪSÒSb6nÈêãöS«†HƒÇWF Ý(¡¾¾ººª´¬Ø—Ÿ>^zPÜ´ùiÂŒi ®#’Y5"/=Ø Êzè«¡zZcW/bèñÂÏ„/²¯¤JÌX›I™‘ J"g¥iìFë뫪«JÊŠ­>ýøñªŠü€Œ$È_¸2cê—ŸÝ—L¨_ ÕSN³ˆ¡Ç ?¾ˆ¾RÞé PWWQUY\ZdñáçÈ9^ø€ðEô•ðN¯dƒºÚòÊòÂ’¢lÁW…~¼’Ÿ/ƒŸ?D_UW•UU•ª)eá 9„ *«œ‚ÜS´N®-Šðã…Ÿ_ŠóŽ^±üƒ{f¯Þøi™ã‡ÂÓÇžÎ<°k÷—13Vž²¡¹©*Â~ |©(;E½³•±ûñMûï‡MM•­-µ~¼ð3áKMeN]M~£ÝÖÒ\ÓÚRw¾¥þ|k/âp´ôª 5´o8ßj¯«É‹ðã…ŸÀœÀÏ`Nàg0'ð3˜ø̉§Ÿro©¨è ÿQÙ%tq½‘óµ)j?ÿஜߟÿ½»³¿3ø\—p·åv ÙDиÍåúQ»ä϶rýÚí`¾ÔFm˰}öïe4×?+«¿®FmË¿Íõ% æzüÛÖÍǹ?íå.ßHý|ñ§´Qe½> stream xœµVQkÜ0 ~ϯÈs!©%Ûq!p×ÛÁöV8ØCÙS·ÛíÆú²¿?[²c%—äÚÂõ¹¶$KŸ>ÉV5”‹?¥*+å§ÃhM_¾•ŸoÊ_”á{ù^èFy¹ç"ŒOþÏ‹ù_¯"fá—åžÊÅùÆ›æe ßãsqûñÙ”‡ßå½ßÍïO…óÇÖº<}-o~nÊÓ¹W0œ~NÅ=9¾,nœ«Û$~v~èu;`¯ÌPA ìPé^íé¿.ŒÞ^•öã:æu«Ó+tCåçMXK+zðÚÅ6h²N—¥iŽYbGSZÖ<ÕdUîhS¨wÙMu¶Ýðåôi £=,ºuF‚¥ÇU)ØÚÍpT8è'ã ËÑi‘!œ”Á€I¨^ÔG’<ú=MK:„oÀ>¦Á&)©Ëè¢&9ׯ oÄq gC†ÄÚÚÌ!qQ•ƒåÑ è`s<’9ìèîL—ˆš#“tô™ ÀœR+|â1¹•<¼ZZŵC°mƒ AÐÛ\ƒ®îÞÄ5hk|×Bfá½2É›6sÀ¢‘sŸÎµ9Q£œ‹rÜT.òwDBFÏŽ¥´²5ª. ÊÁ%±÷ºhCÁÕ‚É»9h¶›pÀl—ºN:ƒ£3„×.Öÿ¦ mÐ÷í…x6›ó$—’È©m ±¦hŠ"=vÈds©‰žÏé¿’{yq9ülDtÓ„pÎì< Y©®§ÄbÝHÞ•hü­qFèËõL gõ|¥ f4K—¶¬™\{Ü"$ þïQÍl†³WûêÛšN5MòìzØâtjéršÞ%3N"ÿ9Ø‹ÞÉæF”Y—Ðñ¶«^…–¶L ×îW˜ < À“ÍM4z8 0VÇ@$@~.ÆVBñe,²i“€v²‘§VñŠKìˆGD€FìÛ¸¼ßå{ëU£UfR hv…»“¸ÁÙ Cdá‰%="EaØYÕÕ8:ùäyMw?GÁO?ßoÙ»ñEùJŠ)N\õÜ©â0ÓŽôcX¼ÕÄZæ×´<ïËðX½² endstream endobj 408 0 obj 830 endobj 410 0 obj <> stream xœWKkÜ@ ¾ûWøXgžÃ>¡½z=µMKIZšKÿ~õ˜‡ìµ½iqœFú$}’U£ë¿ÕŸZÕ¯ÁàÓ;|¾~«?ÝÕ¿*]ãÏë÷ʶ ä^*|>Ã/ˆÁ_8"Þð/Ë=×?ª§;PÍË,„?_^ªû/®>þ®`;«ß_ª×jÓØúòµ¾?û«/O[¥‡ËÏêt©ÈPü)â.„¦KòÞž·¶ÌV¹a£·Z+?lìVí鿟 o“öãº)ë^ n«X0 xoqY{Z±<–4vx’ÏôEšöô¹Hìè•–­AK-éã#ÚÇûb¦: Ýaø|ù8‡Š³‹íUÓfXF³#FÛv}cFÑ\¼.D#Ùbc£Å~ËëÙ`’¡¥=>Žq-d¸‹¬´ˆh’=Ã=VEÁ@¢8ÅÈ$°Œ1³×*‹1ÃÁnHòÂJ{Ò Ô6Éq€³b½§sz `Æ«µ%O^)S²Å»N6iê<ìz ­ùý–@Zݸ‰a¾ì> ›Í58 ZŽ› }Œë¡¸&²!‡ÞpÛ &’v’Œ•Ç€S4ønά!:Jª(oV#¥|ã§‘rìh¼¢˜ŽÿÒ›x+'®=eÏ¥™_Êg)CÇpŸ2'D˜=—ooKÆ_%TD3HpaM±Æˆ‡Èžb/£{åãz&ô‰HLFÓ)ÒX­]С—*rô.ÖßÒ9Û5~örÃø3|œ–4­šy"3 èÍ1ÎCµÏšÃUÅ”Ñ1ðKJzׄuKR}ØÔ¨š8 Öy¸žÿÁưfbÇ.'¹4IYNœ^"•9àMjðÝÉ;­ MºmÍCcí¼½L‹¼”8‰j$¶uÑ’Záâ 7éz“øZ´ïÄ f{«€»…áï© ßyÌšïSê1}æ^-i£'-å1V’ â2$ÍrÜ)àŸÑ\c½¬{=é¨72XÃÈÒO1¡ÛFüØfpÊóæ¤X0.5¡Ô-e6ÍÃíqÆB\…'2EpÌK9²ª$tc%“‰³WéÒ7­Ò!Þä£Ü]-…k+#çßý"a8ò)iÍt¡÷ÜaM‚†3>¤UpÇ,³x€ »¶ÔJ¼8²¥Y¦Áv<)ާ:úÈмÂCê‰çQ)øˆ1lzÁ"8M:üôŠ%fð-Ôqvç=™Ój-ULòfatYM;eð.$â`pÏIáˆc΀ -+Ãb‰™5륾#t-Ÿ¦¼2ÇQÝ—i’wä¼lsò‹oyXäÅ|àÁÙ$§Âÿ}—iÕ^}—™Ó0Ç4dÅÛœ› ¤„-e²éJ™þêõe]0‡¸«F.fAùr=ßÈ„N]Ù ù”®Rû xJT|Ä:”}K‘äœcÈ%¢-Ç¡D4®ˆYE¤vep¥¯ErÜ©„çFņq,î>Ôÿ7†° endstream endobj 411 0 obj 1106 endobj 413 0 obj <> stream xœ­WK‹#7¾÷¯èó‚{õªV74 ã± ÉmÀÃ’Ó&“v²—üýÔCê¶åÌ.ÁŒ¬Ñ£Tú¾ªÒg3ØþŸîïÞôƒÝ訅@í×_ûŸ>ôv¶§Ï×ß:?\÷ÖQûÿp~ãÕ£oY÷¥ÿ½{ý€¦eXÑçó[÷ñ‡·ÐŸþê_pº˜?^»ˆÇZ7øþúKÿñ‚ýÐ__c×ëÝùÚ½°£ô©ËCŒÃ”×;ì½~Zü´ºÅ„õ`k ¬¿˜#ÿ7S‹öy>»:f ‹‘…q=`¤a <âWlZ'Ú){溚ç쥮xâ.{Gžz¶'[žyRmŸ«›æ¤lÇõçë÷P añS¬02,‹kÂhx q‡#:íÄ º=,–pu>ß*†Ž!„ „Üp\óMì±ä²°fÔí™%›,^hzâ®fÂ*&Že¡7u’}¡=f„mrˆ.ɼÊS>=oà)ð aϤ¡ ùŸ¨ýæƒ]XÓŠK1m‘0ÚùÓö2̬on=ªf³ÇA—­ qa{+—o%'?¥p}ld¢Ü»…f±¾j›væoŠM; n¾q«¯XÕ<ürG'–FN¢&íàÐÒ$¶¥Õ ?æ¤O´6YºMÞýÙ§£9 æHØÄyâ·šwS3D瀩ùËuÓ Zc‡×¶™üÉ÷Š|÷€| ãÚˆ-Fg†ë”Ò'ø!¶)+‚$„) Öį±* ¢äXÔ©JÎïxIgð&`œÇTtx˜v¸Óc81¬í· >—ШَVG1‚͹‰jô[K7¨ú© 'UWJœÊ›’Ë1–9—€Õ£~Õ í(T‰û³žÉ.mo(cœ<É–¼q1‚•R€gïaSÏØý/RœW•à]¤8›õA%E=¦o¾¤¬Þ7À‘Ÿ"n¡Z6ù-z(q¸ WÈãð£ü/i @…íÌFã¾àfD÷.b¡¼Ú 4bÙs yêI ¥ŠÌ GŒawD¡ñÔzˆw;[õƼ‡w;•Gæ»xWûïòŽ6 Š½Ê¦ œ?×BÌ„i=ò\h–4ÚÆKl^2ëÿ`<ÜG*¬YÀqÇ­H§×j,*.‘-îï0Þ´Í: »)Áï ë&ì ŒEÏ‹ËÐUÝ¿¯¾ÝQë/ýs¡Ò®‹¦ßË'.ó$Ë“ž¿™!býV4e¡ ›W¹ZЄŒà!ì‡P%Ö­t-v®4Ýû‘ö讳ßEÌ'òe‡i¼Cöw8§Rº^Ì&o#JáâïKÿ/ÌK? endstream endobj 414 0 obj 1025 endobj 416 0 obj <> stream xœí}{`TÅõðÌÜ×¾÷îf“ìæÁÞ% Ù¼ä…H.„ðŠ@á+’%Ù•<7 !j õ¢Å´¶ÖW+­"VYÅ€hK-ªU|ý~EÅZ*m[•ìwfîMŠþú}_ÿú>³™;gfÎÌœ9çÌ9gæn ;ÒB´qHmh v´u^µ !t!ìlXÛ­<Ñxv#ÀÇïmêXݺ3ïη2\‹ðÙê–¾¦Ä+—žFȶ¡Œ;šCÁÆ_ú‘¡É2ŒQÜ ·ß,Ay”Ó›[»×µŽo€r ”»[Ú‚¼åík  㣩­Áu?µ6ñ¥@Yi ¶†~Ÿå©þ¼£½«û(ö#´šâ+‘PÇ_ÿë–Í5CÑR  úcP¤eÂñ‚(Œ&³Åj³Ëgœ+>!ÑíIJNAÿ?ü{P2K¡d>%#{w$ ¯‰½KÛ†[bï’÷Y)ZÒ®F¯b?v£±íÀ©èô8z g£kÑ‹¸% Dô9IG ˆÜ¨mG/` Õ¡ÁØhZ†þÂcô}t 砥趆-A?A p|ìô!&±c0ÂTú±KX+¼†¯CæÈ±|d…ž×#š†îE/ãkOÄ^A%èþ²ØßÐØM²‘ u ÷Ði /—”’±VDëѯ°ÈU·ÇrPúœ»)v?P"¡Å0ïJôôc˜uÞGv(•£9hZZÑCèQÒ$œÍ!(µíÐIü(~“;Éý‹7ðWò· Ãå0çx4 •ÂÊV¢U¨ ÝŠîDÏ‚Âyq ¾K(<÷]à‰#Lœ è:t3„Vvàx¼ÿ„|‡&å^‹¬Éh-Ðt=úú-úý‹8àëðnü‚Iù”Sb(ö4ÊB³Q ºõ¢ï¢~t@O7Eæs\/å?ä?Þú~9Ðt DÏ£W@nNœB2É_8w#w?wˆûVÇ_¸Ç`@ãeðY ëï9oD[ÐÏÐ#hÚôA@o¢wêR¼_‹ŠŸÂgñ§ÄGÆ“©¤üˆDÉòß\·ˆ«å:¹;¸»¹ç¸—y?ƒ¯âÂïâßsÅ“RpøÁá?ÅĖǾûAì©Ø¯c/ÇþŠŒÈ ¤¡^wºÖ'CÏÂç :Š^Go ·Ð» u[p2.Âóðb¼·àÞ‚oÃ?Äwâßâßqx²T“Õä&ræÊ¸K¸!>‹/ä+ùËù5|7“PŸù­Â6a»ðˆpZø\tŠÛ Èpè\ö¹·‡›‡×ÿWÌ³ÅÆÅ báØÇH@ã@zA´xrðäÐŽ_¢}h?XÄ? ?uo¡ÿBo£w€Â Ï± '`7|’qèÖ|^‡¿ R¼߃ïÇ»ð~ÿ¿ˆà?à—ðkø8þoügüW|špÄC¼$ÈJÒLÖÃç&r;¹‹ÜM^=9LŽWÉIrŠ“¹ñ\>W Ÿ©Ütn·™{„;ÂÇó‰Àí…|5pü!~ÿ+þüŸ$ÈBœ.äUÂ-Â>á[³Mt‹™b›x½xƒø 8$ñR‚T,]'Ý,Ý#ýLú£ÁeH3l5<«Èœ4Ö~àåø9´ƒ» ×á¸[ñf\‡\$€~Æw’yü½ä6’M¡˜b¥9÷0ÚÂabçû¹ïã¢'0F— ð4Ô‹’~w€vå »¹½Ü0™…Á,àp):Ë›ô pk2žˆg£yä ÿ{áÀI:¹¿Î_)ùçÐíä)¾ž/â1ð¶Lý&î{¨ý•ëâNÀ®håûaG^‹yt)¹üUÐ!gGCüíÜ÷bos /"O£tá ôX4-"{ð?ÐË`OŸ­0€Í}”/FOpmè4WO†È9ü ùý=Vxñã7‰ŠN‰+ùcøÝvÇ5M#èA°Ê«¸¿¢é±ãÈ‹»c‡c{q2ì—=`—þ&ü†´£€½x,ÊwÀŽA›[÷Á°Ágtÿï`A<ØÐ6اwƒ½Üöâ°'¡ý-töî]èM‚Qµx/P~ýÖ÷)6 Ý¨|† öÒ‰ØYþ%àÝãèf£ßHqâ4þ&ôŒ°Wš¦Î¨U˧]:õ’)e¥%ÅE“'N,ÈÏËÍ dOÈògf¤§÷)Þq©)ÉIwbB¼+Îéí6«Ål2$Qà9˜8§2mV½ͬò™isæäÒrZ*‚c*ê£ Tͺ'ªÔ34åBL0›¾€©j˜ê(&–•©hjnŽR™¦D_œ™¦ áË-ø{3Óê”è)Ïg0ŸÉ V(ø|ÐC©t7ÏT¢¸^©ŒÎZÛ¼¹²~&Œ·ÓlªH«™rsÐN“@3@ÑÄ´Ž8qfI¬œ²“ ƒ¨Š&¥Í¬ŒzÒfR¢\Fe°1Z½hyåÌdŸ¯.7'Š+ÒVEQÚŒ¨=ÀPP›&*VD%6¦ËA·(;söm¾uHF«ê–Æ´ÆàË£\°ŽÎáÀ¼3£‰WŸpŸ/ÂàΊåǶ&s›+Ýa…7oÞ¨D÷-Z>¶ÕGŸuu0ô%³ê7Ï‚©o¥\tç!”|ºmQ¡´JZS•5¦ÍHkÞ|U=$isÕôù’’ÔÝ7$U*›k—§ù¢åÉiuÁ™);]hsMß GU<¶äæì”7wÚì:`±ŽB£m b說e'¦¥Í5ˆ* P²< RJ¡R´¹¡Ðà§C¯h#ˆ!5VÔo–§ÐzÚ?*dÈiÊæˆ=íÔ_.¬ ê5b†ü1¢ UŽQƒö8D³³©^H H q+忬"KÓ:d2`ª^Ýê¦äÏ}>*Õ[†T´ Ñ ‹–ke­J@j~ .Jêi˾‘–ø%´eÃHËh÷ú4PßÇY|5dŽþÚå„¸Êæ)Qœð5Í!­½jqZբ˗+•›ëuÞVÕ^PÒÚKGÛtk Àð(Ÿœš›WsùrZ¿BƬ´ÊpýØa@c4®b9—Lê4ˆ$sl(PÛ+FG¦…å:Ÿ!2µoŒr ¶¬+³¢rýíYgòù¾²ÏdÓi(všöbÙùnú’¢S–/¹ |u–ÍÐËg’ªÚË7o6]Ð6 lÔæÍ³Ò”Y›ë7‡bV¥)rÚæÝ Vl‘þPlÏ-ÉÑY·ÖÁ"šñÐl‚fìLÛíTñ¦Å—/ß G4eSíòˆ6+êgÔíL‡¶å»„TVKFkiI¡%T…aW kJÞ­"´µò¬‚•†0bu†‘:Œ†ˆV'³:øÉEˆPMxð/S'øIQ"«n$ðOrÈ$ñObä1ˆÂ“„‹÷¾íÈg§ž›º@>3uþ¹©¨`ùsxL,ð9|Ž x`Ä£Ïnß窀>C ¿ž—"Ä?Å—#^£>n’À7DI2Øy§AT’« œ‡àÇä·¤¤dþ$:iÿ³Ì½ H8à~Sæ·lãú¤kì}27Ë4ÛºÌÄ‘D·ƒï²Øá(jˆÇnƒÙ¬Xì.¨Àn·âA.™-·ÇäÌ$ŒD»ydse(¶OM™]ÔoÁYb¢X[ˆÝ’o)·pŠe½…X†H¡jq×,ô`Ï–$K¢'qˆìÞ9ßÃVœ:³¢³³38§Ê”kå§Ê§´QÈ |[Þ¿1ϰAŽβ¶ýû7ÚdílÅ+Æü 8Ò `72ÄNÈeö¡Øk™†XÉ ÙN¹ Ü:L‘}Rqñ¤BpÚç‹ßž™6^”D(@x'§4í\uý}ß>þ”éSÊïÎQ²¾5|œÏܼ¼êŽkKï=÷ ò­I%åW-›¶wø2a(É~áeäÆAõ~1ïñǤ>-‰G¤×ŒÇÐ{½FŽr¯ üîPØ'ñQi·q:HøèQüˆ%ŠøuÆ«-·Z6$ñ ÅÆ¢øY¶X¦ g «¹«,b…\OÒeÚÀÉ{^‡cq8NMs–Çùmpîä ǹ Ï2Jä8…7º €Euœ½Ü.☈E?’¨È<Ð IX9Þdäe$ãòù˜ÌÉCdö«{È\DÈø'¸^:$î!ã‘@Æ«žr~%Oòy ñ3Od^á?â9þŸ¸‡ì&¿En&Uè™3'äs'๢3  ¶30õ˜hGd*ÉS§B’¦NEîòs+: ˪¢‹«¢—‚ÚéÈB¥u éÎÎQAc) $–V2©¤¸„Š0QÑä$®8çwÃǶælMLñŒßØzÃJW«ݲCæ3_úü—\íK­7å«U/¦y]Kª`‡Ã¹‘û…=t‡cIݬçpýÆ­Æ#ÆÓFÎM±;G ¼Apóna›´Ãx? ŽŠ§àäs’·¦ñiB¾±X,–– ËÄ Æ;Ä;¤Å¥“œÔ€CF.J¢Ü>²;BŽp‘8Ds¼$!"``>L-ŠŠ„\´¦ŸÛÊE9Ž &z&sC\†jãÁñÐK2!IÆCäÇb ‚LµKjyQ¿„õ[ ÛW/êœ8wBç;|ä³Î‘-EÙ^F“Î{ØI°:WÀ¶è„=„}œO‚„oÀÞâáãã°÷íáãžáÏû?{ƒÚ«jàÙÏÏ®Qã ýÂVáˆp rRTÀÕ­K+Šò…eÜa‡pĸ×ðQî$þ„3ƒ~*»èÅ=Y°ÌÕDÑ1X9 aô-=Ï)Â`G©ÿXÈÝÆ½ÃÁ/Näñ ?4¿És×ð7ò7nôÀÙÌ.óœ•û)w{Ž;Á‹YÜz8¹r„H¼@ï‹$Ñ(ºH‚à’,'8NŽÉöœï$Ã'øã"ÿŽôºáÇë~¿¸_~¿ÊóOö:öã<ÿ€áAãCîÑ”˜Í¼;!óp H2ðf$ ¼‹„KÀÐÆÛL6‡Ç ‘9êž7óœYIà\€/ÙŽgü°éa{Ÿ–±ì3;E€=®ZÅChOLÂQP §È(H¥j4ãC÷A¿Iž!(Å›Óû¢ û8” '(œIöËPާr¢b:uâLä„|âjùŸ 2wþ™3'Pù©åtÇOÝhË @xÈ‚*^€>ì𳑚jÍ/4æv98A‘Î8ØèÜ$Øôb¼+aRa‰$¦Ï,š\wwέixîü9Ñžì’¸Ërç-¸ssF·è•íÏ ÷¿2\ÑçðeH¯Ø{š'îÄÀnï½Ïw€§MD ~Mýþ&çf/Iôbç-ÆMÖl§Œ|œA6&˜¸C’Ékv;<ñq^§Rg0l–7zŸ1î²2¾iü“A2K&'°€©äåq²w¦·R1-µ6Y¯–Ö9×yo–~¤Üo|Ðú´´×pØðºáˆé óÒG†O¥þîú,åŒ7!àØä$˼«½?7qŠÁ½WÁ·)‚ãÔD„ePlR±‚1©þ8ÉxÈ@ BFÖdš«ñžq“« x¡#ƒlP G § ‚Jt’Sô[̆k‡RÝßs“T7vÏÔ¤Æ%l¯¤_C¦#»lWì§í¼ý]ß„¥L~§:OÑg¤óÌ)T~ŽyQ&,ô”‹tâÜD-Ïri9xš€O 0 ><œ(?]UOª SU蕪B—TêŸRÕQdG`çƒbD¦bg™&ùN꾑îÀåØ?LeF:ƒ©Ì e¬dÔJF­dc¥¶2Ð~tÇ®ë Ì´ñ¥ØGÝ|ƈç¯8W€û–Ý®úìÞW‡Ïô=ˆ óÞð§øªººïyð‡ñªë~¸çlçíïýíõæ+âLk×Þt=ìˆàçdGÇÕ°GM“¸7-±ˆ5n¢%Ñ’2­ùŽk•´Ì¼ÒÑ.uˆñAtÀzÀ~Ôú¾ÕiåÈ=Òmüé bXÎjƒlä‰Ûlйìvd³›ŒCø1ÕÈÓ0 ÄE™­Ú.-ª±,B•,‘nM‡"áziƒD¤-;Øa£^aÞ“ íØ¾E¶SŒt|┼âìŠÈ &§Ñ0kÄ!”•!º#!¾2Ðé\",BÒ½«Èâ"[wì˜6»ÍŸ3ﮥٳh@ôû÷½Ú:žúÝ𠘚SÃkøoÇ|`ÖSv#ŒT3²“J-à§ä€š½+S›0±€+òÅÇñýÃkví¢þä.pnç3‘›w#3ÈÕY††bÕ:gY ,Öz¥´Ä^Ò…2Q“ð\T—¢Z܈»pŸázüSt¾ü„»Ëx—éNs¿õaµ>o:h>bMFÖ8¼õ™ïBwãíèü<~›€ukÕ$L¯hLÔ­B(Ùl‚XDØd"ÿT^s¹y¥™‹™12ËfÅÌ™)Ã㪭õÖ+g%5^®Ÿ#‡8ÌÑzsµX/vÀH`iŸÆ‡‘…ìÅÓõvüºOÉ4‹œb® ¢[P|Ð~›E³S÷ƒi”OÑ8‡mS}4ÈIH,..Á>úäœTå ר°ó™ÃŸžæ8žˆ÷ÿnGHÜ ü³àWÔ½6p`Ää”\&Aä$C<ç1ðNd¹dôw¦„ßß2¼eKæ€ÁçñýptÈÏUÓJ±]\/~$ò ý+ÔDw"HªÔ>ðÄG"Ë G†È¿­‹¨c;³âß)>`#)R„ÈÎ1 1IÒœ› Õ;ERQ 6Ì;6hLœ ‘ö±'!' <¨º0˜…€‹.fõ ‡jJ,3¸iPìdGfÐ|>B²IqØ¿ü¶á¿O~zøì±y¸ éx.VÈç®à3Ï•’ƒ4Ñ=5b´_°íÈn$€Å®˜=™fƒåª–O½TË'MÖòü–«Óý¹“ûP2Q…e¤Z¨ÖCxw€¼Oh€g‘…•Â}Bâ=A0sÞ‘`ŽÐ`Éä2q¤A”GfªJêG[œm Šê'ÓWµ¸ê:Nc=²}g‹f£`D<'’´°Õ}aÌ&)¢yøÍ†À/Wü`µ×€_¿¬r2Ú¥–&'ãlK©ãÖ5Ü5äîj¡#uSòô0ÙÎý2éáäüyÒM ˜JÉÂa²9í`9Ç«fŸ7{íx/XPZ.wúÍJÇå¸;öbÃ8Š ñmø>¼‹Ø>Ùd›bãlI© éŸKŠtZâ¥wSF\ëxÌ?E}^$Ÿz×+"ðp0ÀœŽ`AäYPãL‡#i¢Él.scÅÜxœX9ü÷ßýµôéc¶áLus÷Ï¿¢²rîÏÝóë¿ÿñQ>NÚýî­î¨{Ÿûˆ[PÜnâ6:݉îdÓ¢¥TŸ¦‚®äÓ±vÁ ]/ä}ˆ:>톢RA¿b ^°~¨¤¾Ð‘X¶Ñ ï·íבNê°5©L#pøŒƒCR‰Œâ<ì½Þ=³(sÞ‚iÉq WÑCÓ™qÑÃ×ß1væ-)y3R/¹lZ^3þô³7ú¾ã;%Ðóg_ì}¡ö©¥ —Ôg$/ä*, ]óÜóRÖ¥H—˜¦¸§$/¯·aÜCh{Âô>:iûýƒû—É–mÊŠïuvŒãã9e±ŒmÖ$3‰H¢•³ad·+6첄Mq~ÁœªlƒØBF5¸Ÿ—xæ¶â(&N€r„'§kAåi8õ¾›Š'è'±SÎ2ºCóõ󨩱ñƒÃ™¨qº4yê~æÈ˜é*5!ˆ$â|˜i´ˆÞ?|Ú½àÇ+|+§^]Ó…½Ÿ—tÕ.ظèÚEßùyWÕôãoÅð½ÛIÆgg#Ö¼êÚ2|ôzãð"îZáe$£*5Õ lK4å£ed“Q4ÊØ‰®³á÷yӧȈ!‚ÊP­¶eˆ—ù•<Ç{7ìÆIà“€ Ÿê ˜ñ4 )gNË$°û@¨“DBâ]Nüáoj^¿qÉÓoì=Ü”;¼h/Þxÿ!|Ï+›^96¼v¸àí;†OPÅ-æv’Ÿƒüt¥Z*r"o—d‡]ô` (\_ÀMækùÜ 7È ¿æ~Ϳ̻šÆÂIïã!NQtÏzÄWOêô9–¢ŒžÔ q%>‰ÃÅB.,jævbÇ?ÿ9üÄ\õËÈÆjÕn%)DAÜ'6:±ì«T °Äô©Ýˆ½:K,ø}Û²r~!Oø$ØM»vΣSRu‚ù¶ïi<é\7)Áï"àӊ΢ÉäoŒ'KŸzãÙÃM9ÂËϯûù¡áЫÀ¼ ÿáãdºŠøá_ãAL¨^p w‹´Á™ x3È’QØ3‚Q؈æB`ÄÈ(ƒÃ‹TÙ„çš¶)¨vÆcæY]n=r…¨v퉩Ìï2-ÃIo,âàp,J%$¥ýû &<ÑŸ2gaÜ 8þÝçän”/¥ôÌ…øèàDRÅÒ,i¶‡3 ƒÕà2(¼3—ž$fÑL•UçÖç’LÃc–Gãö½eyÍ~Ô%åçÒÚ}¹Çr… {†3#9#5sBf •IÅöbgIrñ„JólûlçìäÙã–š—Ù—%o$7šoV6ä>Œ¶Y²?ä|8þ¡äíÊ/;rŸ0ZwÙw%ïÍ=ˆž·Ÿ.å¹Ôç}²`>ùõ¸7⦼¡¼é;š}½/ÿ~ʇʾ÷³ÿ…þi™~>œKÚs1&dgc›]–Áô:.)ø'pÙØ 6ÖárAMrJŠ’:Εš:gg+ä ìp¤¤¦fL‰Ù&SZ6;a¸ãRQ@–USM¾#æ ‡á,1DžQÍ)5ù©±Tr8§>EžApés²Ù)Cup}/ ôH`KŽ#151À. ^ »ÚÝ͉s'XÀDS@ •˜íI2 üåk^(ŽÞ÷‚MaödÌ¥¯aÿ˜ã¢7Ùc'ä2×ˬZ–¤Ýú&Cö„\¦¸õ›ß1w¿ÔÏ~é˜ÝÿŽ\ë·Á~lKþécë®s–ü¾}ý–”MÃÇ7yŠŠÖÔ^ ¿)±¬0¿±*Ù’ÜDOCß½»qyuË¦Ž’çzÉÍWË9“:ý~x¹®Ý—]\ºj~úúa7h¤uxÿ øf~[}<“³•0Ëp£áXã½.5œŒ;+œ?1óï’w¹wù÷ÌüsÂoÅ£äî^Ø%G~Ëý–ä¶KOǹÇyávîüÅïî'Âî&aKܮۉ°–¬åz…¾¸D¨3Tƒ[ºÊØî*ùª¸¥d·\ЏRC™q™É pœå3E„/7nŒëç9rÂñ<6öÊv§Õxbù^ˇðJÕ/ñ.I‚fP¡ñÈA Ë Qmrú­vû$UÞ “vÑ´Xu» Ó7HX‹·«!ÞÞ ÷iÉ ‘r5‡G5Çði!»ù \ªkƒ«ßÅËð8â:悃ŸìR\õ®}P]{È_Q<9°óQ° ›GÎÆä o'Иw†±Úáä©Nj= ñ©‘C×þý#±:½ê0[µ@Øh̳ëH¸ú2ö=ƒ~G!‚‚A áý.g™e§WÇž°—¹d»®k jqì¶‘´ñþz-ñ7'™+]5Œ Îu,Zqýߊx&O¼a „ ª¹ÿ |ô³È÷»g(¯ÚÒA]ù ¬WšŒ«Ô[”b¼1ñú|Rœ¶ÀZ5~A6Ÿ™˜U0M¼Ǟ‰ÉìÄɧ‹¹ÍùŠÍÛ–ÏW÷fuß0nc–0%ovò¬qsr–» +¯4®ÔSrã&·Ålö`YÜ–\7ç1'%'+f *“ÍlI± ;^šà·™dˆê B4ãÐ.-²\åìè`g/²}vsQ–Ç,'=EÆC@îK¡$OGæ|s¿™³ÃAzŸ™ãÌqT›·š÷šO›%óþ­š\ŒÓÑ–ÌtäŠã´ƒw¼[dN4™n-Т9‚œ=Å„~ 7«ÚW~.ï E#Ú†Óiæ£llD2râBôBg¢àJ â(†Ä9™Q(ñq6-­€1¨Àùã*¦|«dB’ì1ýè¾{n:»áªèÄ,lÊV}õCÁãïá%­5Uß«ººzþw³•Òœ¼|_zÊ4ÿõ…×¾õǧpéÖŽÐÓŸßòÊ®–¹Ê݃qÄÝ·>òÒªÎÍW¯_L½âuz³dAIè1uò\Ï‘”Ï<ÿJâçy!‰L ~C–Óï™íœë©Niâ×y6yN§˜ezÏ&Ó+6ÙÏI‰CÚÍÕ¨LôÍÖtQÍ.˜,ª³‹Dµ²h‡xX$+ÅÛÄbLäéE’"V‹§áŒ=Ú• ¤àWºLß‘+è4ÈøÝä ó™†]Öy–]à s* Iãdä+Dñ🙉'Ÿ?»”_‹çcû‡Ø0¼køÃ;NF¸ÂÞ+WôW_{åÚêÞ ¦uåð¹7‡‡‡7­{ W5]Óõæ‘›B·!ûxx ÿpCFãÐgê÷æ[ç8g%T¦49…Éài«•&g‡r'ºÇ~¼ =dßet>ØÈïÛå[í·Ê$Ý”ž@ ÈÈÙãšG8lvL’±Íe±9'cˆŽe°,t©br¶ ¹ü³]¶»Ówˆòì6CÌ@Vh§…ÄÕ†zÏŠ«žT¼A˜™¾‹±kïbè ´#`ïd,'{¼CøŽKµp®32ŸºÂ”…íèÂzLü¼Ÿ½ÚìÔ^i޼¥”é­·Ÿ» ‚Eà œ¸ìÎe¿øÝŽ;^|¹¥kø8~§¯fö Ë"Ëk6Îã3[çL{ïÄðñç~äÜëÜå×Þ¼ú£¦Þõ=yë¼"×$Hž7°>ïxÞy½f9j}S~Ãñ¦óÏòŸù|Bœl·Ùf‹ÕäæÉjUl8´88Ð@L\Ž W¶$YéIÆä°,[kúmX±¶}dãì¶|[¹-fãÛ·mÄÆÞ4£š…ã-ɶDÌ^%½0öMsdô=3½·9/‚‹¾g–lìífס‘NŸ€ D ÷ï'ao[p[ýwïH¹nøøñ3ÊæÌXšë™ ì9wö²Š®So:w;é[Z¤Ψ/ÚO­û°ëg‚ž§¡‰øj뺬›’®K¾1es–ଠIœÙ9+ifò\ÿ¦¤›ý»“žOz3éMÿÙLs‚çOz•;™²àؤÏç\`H÷LqÖ9ÃÎfÏ5žÝèɤ7È+îW='“þìÿ0˶܃'¦§pãl’#_,§á5)¥ EM連ÿ±!Åg³›¸Ü¸\r:çêÖ$W¿÷ÏÕïýY œ¦>×ï2#äEÄZ‰ÚѰâÒÕ >jš|Ô4ùèí¿½~öápbNi¦w–ÇÁ¹u½=M²Ô8&!@ ö}v¢½Ÿ(°Ç삦I (lº„J±ÝÙ3Õò¢•‰¸ QM<œøN"Ÿè)œñ‚¾Õìl·‚íº3§>gw®ô­s@÷ ï¥e+òOu‚´©ÄÁYPGO_F:1õðªŒUS‚„U#äFí-CìÉ ]@îñ®D_¦_?ãRW¢ïLLuB¿À).ÁïŸ,øè·/îwLÊvààËX|Ã/ŸùÇ‹•Îysç×aœxmFþœK¦w•%¹·l}°· å½g/›¹xÊ´YUnºsWœÃ=5=oZùðÓ’˜T˜~iaeyCôgèÏØÅÁQµs®Œ3Qºy¼Å'ûœ¾8Å•ž8ݹŒÛ†NbËžÉße ßí"ÇÛ¸‘“‰Óé DÁŒbú•—”lQŠ÷ÛÌdÂHö¤©)ÜaõcƒÇÀ¾ú|ÿ¢½Å#ß §’ÿ!¼ ’5êoÃúIÓ† ŠÑ¯ŽûÀZýI‰ÿZJ¶£6R†j U|7ß…z¹T4ƒïŠø.± Ým³¾ðû!õÞF¨Cø}\L¶ÇꎗRÑ\À±B» éZþO±éøPwäóHYLy'áxü7r 9ʌ ¸XZ!ýÑp¥q¢ñ“>5¦{L²äXgØŠmÏØÛ䉎EŽÓÎß±µ¥¢"”S®@¼”–€6¼m)†µÓÚ•<ýf8ÇÚ‡Ù“c¼0±Çz%`ƒs¨ ÓaÇ7è°€Üø!Q:~V‡%´ÿ·P&Á1¢Í䛸_sKuØŒVÜ:lAM†Ú¬âã†c:lCWØ8*µõöÓ:Œ‘ ·ë0Af¹[‡94I^¯Ã<tÎ3òotXõ?¬ÃZ%×aŠsTè°U:–ê°‰÷è°MŒû|ô¯¶&¹ruØÊ]îª×aÊK¤vó”ëãOê0²Ý"ƒ¨Orè02Ýó,B½ËÝ¡ÃA£ÇÆêOê0ÔgËP?>;K‡y”—­ñ<Žò${²·0Øõ)ÙQæQVö!ÇSz²Ïè0Ðp38Ò˜£Ã@ ‰Á:o _‡aÞÀƒ“)c: t>ep*ÕE‡Ar4Bp…Ü9µ:Ì£ôœ§S:súuèÌù%ƒ³þu˜âÿ…Á¹ÔäÊ:ÌÀÆÿQèÏÍc0[Wîr¦õk)lÑð·ê0­–ÁL.¹'uÖ•GP-êC(„šP5@® ‡!Õ¢fχh± R·Ž¥€UnG€é3õa†¡@M ôÏh&«þ_Ž”?J™‚CK êÅ邺¹kóMDeð)@¹:TÈj§CÈk Ïj ¡›õªñº EÐZx6VÚƒ€9ƒÍÑÈFîf5aÿ‹TOÓCùŠ>SØØ˜gdE”"J¡‚²`DŠ–.HMÐo¿1æÒ¯ñ|ÏÜÑžÒ_;ç1&ÊíFþ¥c­:JÇÿ¹¤¨ Ã@_7£3Äè3œn}Ô% EU³þôoé|óá¹ænb >í‚Q©ŒzYO:ZÞEhÒ´£æ¥4unßWb…˜VR¼^FÕêÑyúÎç2ÝhG«tª°–fÆÑ P“3J{„µ„™~/†g£Z“ަ‹¥ FI7ãòß"@‹XA]ƒ5= 3Þ72½¤šÚÆæ« úXAFíÙÊF¤t7Ãü­lDû £:ÈækÐ¥¡µPª»tyÙµ~}£òë{¤C—`ˆñ¦‹é©¶º uú{Øl ›a,U#’§¼¡å^6vóm ¸íl,mî‘zÛÝ:GtMíú^7Œb\ C®Ý ×ô0NS:¯Óíúž êV¡›QJåÙª÷™¡õ_«ÏÖWªíT:Ây.4&M«=Ï×°ÎÝv}%a†ßÃJç¥ÚÅ´´…Qwq±È]£k¡m­l¼ócPK²F§6¨ó¿ÙJEߥ#Ç*6BãtãºBP?ÂYªÛ £+lbº­0XÇxÛÅô®{ÔžhR§´kû½[·ÚnêÒµì¼õÔZ[™D‚èjÖ_£šŽÛÀZÏkš6{#ãVÛ%}£«™»ÙLÚdœˆèsÐ=¤q±›õ¡xdô¦C­ÌnŽÐ–Çq¤ Ð< /„ZêfÁó2V_ 5‹áIu“þ•|%|æ³ÚZd…3MµL›º.¢kÊh½¶O4ŽvèŸ÷Gc­¥f9ÎÛQmÿ†u›Ù¥ïéÕl”ШM¤»µNŸî-]5ê´9»¿†3#¶³wÔ:…ôÕé³Ýú~nÒõñbüÙ…”c¡1£œßÅ_ž¯Q÷€TW1˨Q½J—L›>òÅ$äg«ºSšEþ²V|yæÛF­XE°A˜µEçv—nC¾jnÊý%PsÞÎö}I!=ÊsiÖ;È(ê`œ ë‘ο#sE×Ŷ1¶md^jI§Ãc¼HdL„3Š£·ç}÷×sŠR×ÊÆÑ«ö Æëeò_ä96±ç1ÛW‹P{ÇéøÍ£ëÑè«Ý­ºEÕø¯íª]?Î[Þ uèëVt^?æ²µYr#±õ9!=BÓV£Å{ Lªm_Aä ü>?r‹V{ô³¥a-‹zÑØèê–þÈx=þ ë'¥‹Eq_–£Æ­ókóËûxDbÁ/ðºé‹Úó\þò úû ) éQl7øž‘èùd:ÒNYÃOF%p2SàIÿ–\8kM†T€èÊT¥cÒÿd"´LÖá4 íUŒŠà,@ýÏ×ýŸ{Æ‘¶ü/poÔÖöu„š‚ !åa¥¶9¤Ìookï†*¥¢=ÒÑ v‡ÛÛ”Ž–†]|O[Hé w736´¶·7ÒÞ²»`j×H]wo¨­;ìz"}y ãt;H2ªÐ »[¡‰vhèu袓Q¡†"Œ„¦ž–­0}k;LnkìéêfKíêîk åUä.:K(Ònc‘ö50lèoè‰46†ƒ«Ûi{o3ð\iµtGÚ•Õáµ!†ÀvDPiv(­!à][¸Ѓ!`c[C&ÑØ¦ÌRBë`1­¡–>…j)èN £5ÜÂØÛ­ï±.}¾è±*¤ôtJ1n†:{(±= ”ÿJS;,F„EuwS=¥GB ÷nP S°Œ©'[ƒ«ƒW‡Û`èPwCŽÆ4èÞîêh öÑ)hï¶PoWG°H”F ±;ÜE¦è‘öÖv6Z^swwÇ”üüÞÞÞ¼V]aóÚ[ó›»[[ò[»é?š–ßÚµ2HžG+ÿͽ¡¨ ±. ÖÎ5·bzíÜ… ”…³”ËæVT.X\©LŸ]SY9¿rA­Õd5Õ6[G¸FYLe„ ºG/²ÅØb¨"Ó5¯êSúÚ{hϪmÀg¶4µå`: ò…í×èÁÕ‘PˆjbžRÝšƒ í«è6‚žÝCµ³—ªS¢œŽ„ºAÎMÀÇótQ¶¯1&âÑ~ ÐÞU=Ý04Ù;jÌ‚ü]#D"²b´3Õ6em°¥'¸ 4,Ø2¶wž²¤élßÈ*`Mºåõ*]¡†0/¯\.¶1m£}ƒaª •f°shu„ñ–íî/Õn ÓÁ$ ¯·=²¦KSR¦¬²½ jϪ–pW3ÆÒØÝ Š ôƒ¨:úMyu]8ãÇܦó‹£Ö«³'ÔŦ»×Š´é+ˆèt3䮿öð‘ÐÚp¨W3W_Z>ÅI†À4ž7q£k²˜amè>/cº° NuÓŇe$vÐ÷½>ÌìžB–,žN «trÉ¥dbinÁä‚£qITLœ8y2K¿kQ îºx¯‹bp›¸g¸ýÜ^xîD ·•{Šû%7Èí†Ò˜¾_ƒõÍ»‘oÞ|ónä›w#ß¼ùæÝÈ7ïF¾y7òÍ»‘oÞ|ónä›w#ß¼ùæÝÈ7ïFþŸ{72zóFÚ½â¼#¹8æekÚÜÎ0¨ÎŒ½¹ µcGûwðg3Ë£îGΰÚþ;ÒWcÍB@i : ã} í[¼jº¿pòUX##Ävíhäì;BãÅèøj쥺}?Ï9êÇŽqqŒ9¬u-»'úº¡¯Ã«Ö£Šv¦Õ¬õù§>¶gÇŽõïàÕˆvÿÇuMkÿJÝù&ïå§ñ—ð|1_Ê«ü¥|_†> jT~:ÔŽëßÀ®Õo⎣¯»¯ûj¬YÿŸ/Ö^EÛðDjcpÁ¨®¹ ßWáTéç„5Œ7ÿá ³×m_àâ×áµ1FÖüv ÿæÒ`‡íÿU8ÿ)ðÒ‡ÿ=ÿ·öƒýÍGì $?:Š.ò³³VâææO*¤ùÀ´I¬X9W+V³âÀåZš´6&'³ÆA§KËÍÖBûôxn>Zé#H*‡çBH·AŠAâ‘]o'Üeƒx¼·þ® ÊUôO𹹃…ë÷rsÑ}ÞıÚFÔÜÁ¢"-ÏŸ¨å~¿–Ï€‰-€^i=¤Ãzwu7ÆæO÷qó iÌs<÷B: éHA€®y(ÒBHõî­}‡õR¹yƒ¦Ðùæé ž7h– «§ËÜxt ¡@ŸºÌaç°nsr¡swlyk@^¨eSðöàÔé…œî!oC§òR!UCª‡tÒ1H§!IÁ³ÒVHQ/éŸ>žÐ?Mê'á©2Xepƒ ¬0XÑqDÒZèóŒô"ä5cå1ñ˜DöŠ{%²CÜ!‘ûÄû$²P\(»h×ëìÓWp3€A3€A3`•3˜(gÇg •v@Ú)IDù¤­‡Dž^H´¦ÒBH·AºÒ^H´ž˜áà¬Ô{Ç ‰H&EP*bcN0¦8Më0k-‡´Öqóà3ƒ›AJàS Ÿ"R\>4à›ÌØý»à…àùà èßÞ¶&MeùIE´kZq­ž¯Õóz=ÏÓòìÉ“X6IË µl¢–hY¾–ekÙ-ËÒ2Ÿ–%jY‚–Åk™KËâ´Ì©eV-³h™™fƒÙ:1~¿FŒ_#Ưã׈ñkÄø5bü1~¿FŒ_#Ưã׈ñkÄø5bü1~¿FŒ_#ƯsÈGsBz‘wdÀ²´ìy-;¨š!oMŸêý€–ñ·T/ä×BZ ©R¤lH~H>ŠÃ•l™Ù´A%Í»rº‘»µCZé6HEè_È‘›Âq0þY«aøq”ÅcäŃx%Ë£(ÌòGg@¾ò¥ÿ| û§Ðí>Ð>È~Yh +²Æ,²†¬È‚YÓ)Ÿü?õN7âeÈo .EÙønÈ— dß ÍµZ¶x »2¯6¸¬Û½ÓÍ8…É#€›Œü,÷ lòÈ€÷Sÿ¼ÿò‘Gvy?É^èýsöïò~Ýç}%kˆ`ÕîýcÞ‹Þ—|/z“•ïýu0U³w_øEï³€¾3 pw6pªïÊ.õ~?”!ª¡Ü ]×f?â퀡`ºv/Ãnó ỡµÕ»7”ý]o½Ê»¼+³³½Ëò†pÆ€·¦ÄË ´t—· &Ÿ«O<;;à “WP:¼Ó³Øˆ*Œ€Õd量ÞK€†’¼§¼EÙ—x'æð¦eWzLJa '½K¬F«±¤§©ÅRÿIý©‰Ô?YêÏ—úR¦ÔŸ!õ“úS%—Ái 6ƒÅ`2 ô›‰\C±cjý³K—(ÓLäé“g°LûßÈØ_Õl hrFã¸*RµxF´4P5$Åj¢%ª¨¡ú[Ëwb¼¥ŽÖF÷5 ªUJôìâ´!lZtyTH›£Î*TU;Ã%›†0ª]ZN;ܘLÿúïÈznü^²ž×ÕU,ß6:á®:”°¶Ü]îœæ(›5ó"zý8ÿ㪪ûvƒzl”¼ÅC±Ÿûiѽ£jñòèöÔºh!b©uUÑ›+W,ßMÜ$¡ræn’H³ºå»ùA⮬¡õüà̺º*1Ãïæ<”N3À³Bñb30<òˆ†ç%‰/‹f€ç~yž×ý Ãã1ÅÛV*gîT†“†P˜á„ÓМÝx%J¬ôt k+^I±ðÊ´­+`ùý€’çg(8ùÙ@~œÂPŠÎ£øt”•£(+Ê­çQ²5nû ·PÿŸÐŒÊð⸪zùNšQWq…–'ÈÓ˜fX=ÓLÞƒ^â>Dæ@]Ô”6#jNÇ_îÈSqþ è0°ãu úˆB¢%*š‰Žp‰Ïýä=<ÂÛØ¨¶êM¹Ós§Ó&ÐyÚd£ÿQ‘ÞäþÎ%¾ä=x›Þ$Cµæ½Øººº]c+.Šõïý wex¦öëÖ ßÃRwW7ý骜 ¿Ý¨*š½¸*ZJÿÿIªŒªõ3ë .o¤ŽãXÝN£òà̺.ý'ÐÝÓ`ÿ¨š:Q…¨A…A…xA…`A…HA…0A®‚÷VÁu«à·UpÚ*xì­ÓM,žÛÊâ¹û|¸ÏIX…¨B…B‡®‚7W!LPÁ;«_¨àÖU0ÔìTˆ ýìá›t“ac~êPVLº!Óšz¸k¤z„[è¶Ã# endstream endobj 417 0 obj 15823 endobj 418 0 obj <> endobj 419 0 obj <> stream xœ]’Ínƒ0 €ïÕ¶›âW?è L¢í¬ñ0w¯A\áÖÙH*a:=-+zë¾qQj/ó8A_ÛvÈó(~ {ãäg±:šá Qüâ øÎÞÄ꣼„õåîÜô`'‘DE! ´¡ÏSãž›bªZ×&lwÓ¼% ﳡh-YEF×hð½A”'I!òª*"°æßžÚsɵ՟©2¤&Iz.+æyÃ|@Þ2—È;âl‹œr|‡œq\!ï‰wòãÔóÈœ!?o©É}6È'ΡžgŽÓ·*bµ,æ™ýö”쯰§d…Îrñ?!/þ”³øS-û§è,Ù?£þìŸÒwÙ?•ÈìŸâÿÊÅÿH¾œ,=ÞŸ‘ }÷>Œ“.Í'ØYø½cnpXEÏ7ÿ›¬Ú endstream endobj 420 0 obj <> endobj 421 0 obj <> stream xœì½y|UÕ¹0¼ÖÚó>ó<$!;9™O&’B ’͆ÈòÄZãÇi p§$ãs=„^Ç9XCñ—ȇÎàæ }Òò0F·؉2-Cs0eÂèF|g|}üCtºÝ _òoBÏ¡3€Áñ•£ùP~Š¢¹÷Pmü$£­È„&£ÅØ‹Ðkðý pøºý ?~zu£«¡½J4M??‹òÐüá åt3z‹ñÆx+‡ÒÑvŽ¿e¡ZôSôàÆGùÙ( ­EסÝ8À=Ðmèg(†Í¤Ž›.<=ÍAËQ;Ú€¶£Ðï°/ÞNÆ¿?DäB9€S+ú—áyä^ÞŸ ]Œ£ßÂxé÷(1¿O¸8V¿;þ ò Ç°ŠŸÀO %‡¯Šÿ$þKÈ,4(2úY®AO£Ðÿ OÉæøf4-žƒS°†³€â¯‘¹’\ɽ‚ a´u€mÚƒ€#GÐãèI ÍŸÑ1ôvã$<¯Æ7ãO‰™4‘¹;¹CÜŸxÌßô¡L Q/º= úüô" ýb¼_†;ð.|7>FÈÇäs^æ¯á¿â‡…¬Ø±ØWñùñÏÑ…èr´hûStBÿ‰^EŸ¢ ÓØŽ'âü<€á‰BÒÉÒIv’{É/¸ùÜÍÜÓ|?_ËÿKØ"Ü 5H±³?ý(ö‹ØËñÇâ/ƒìX¡ý,T ½ ¤â^ôzZ½þFåÚŸŒWâK¡—¼ ߊƒ_ÆÁ(û¦“ÉdôÚAºNW“‘[¡÷áûy‹¼MþN>ã.›Àuq?á¸Aî%î}ÞÎgñ…üx~¿’gJ„YÂá>áAáá¤X)6‰âÒÕÒµò ç ÿW ÅZb±ƒ »2HÒå@‰£{@î~ýOÀø:\â4œ xWàj\ƒçá‹ð%8НÆ[ñ-x7¾߃ #€1 p“©d i Qr-ÙJ~@Á÷y¼FÞ C€¹ qan<7‡[É]̵Ãz¹+¹k²7sp/r¯p'¸¸!àšÇ÷ñ—ó·óûøCüËÂ…B| / g…³"ƒb²X$^&Þ'þM¥ ÒBézéOÒ?äNœŒósm¬µ ÐÁqäâæ7ã!HHÁ<²ÁÈÃÀ‡% ÿ@U\ øb¥ù€›‡x­)êüÔïÅ£2ü´Y$Xbþ:€ÿBŽñ¿& Wq=ðû¸váw$ =Öhy‚<ާ¡C¤’,'wq¿‡ïCï¼oD·âµ¸=ˆ‡ð$|.Ǜџˆ—[‚¯E•ñ{<ŸD€ºŠoB—þk+ˆ+Ð_Ї±óþû`ŸÑNàèCè|?ú ñÁºq`ÀÊÜò~¢V¯ôl3èc,È:ñEtˆÎ(R¹8…¿D_ …# QÓÀ’žˆµò?æß—Ç @Ã@ËÐ} w-hhÌ{ %OBœÆ.MWÁ–”€V/D+Qº¬ÞÍñø]ñkâ›âè÷P÷Kœ¿Ä{A#¡F%ú-|oBoâ@gýßͱ&t}„ý8—€> ë…ÂÂ!áWÂÄñ@íkÑ ÑiVaèeôúËÀ›ÊGÀw"ྭ#µÜ“h:¢NÐÙ°ãÓŒ‘ô@+Wõî}~tã$؉KЯИ`Œ¨ú—¡ ó*(ýsàà5ø ¤4ÕÎC‡q[ñDÒ ýéÐÒN°ZG§¿ ÷Úq†W>Ø…x9´õ9º5AÐB¼8ð(ªË:ƒû w¶£i8ÿ êÕƒ†ZQ ªÞÅåÇæÇ'’VîI˜câ¾f¯$tî,l0ŽaäÁ PYl1àð BúÔ¥zÕ” *'Oª˜X^)-_\TXÎËÍÉÎÊÌ¥§i©ãR’“‚¿Ïëq»œ»Íj1›TE–DçFù3CÕõÚ@VýŸš=»€ÆC Ð0&¡~@ƒ¤êóË hõ¬˜v~IJ6­¤ž(©–Äv­Uäk3CÚÀf„´A¼rÑ €0#T« 1xƒw0ØpZTÐfú[fh¸^›9P½¾eûÌúÐÜ~“:=4=ªä£ýª @@¾Pç~웂@|3'í'H¶RÁÐŒ™Ð ŠÁ—9³¡i`á¢3g$¥¥Õäàé¡Õ(4mÀfEÐtÖÍ€8}@bÝh­t4èmþÑí7ÚÑêú°¹)ÔÔpÉŠ®¡–öáC¿3|—÷Ÿ‹BãÎé+¶ŽÍMâ¶Ïô·j4º}ûVmàè¢csÓè»¶Ú€º$³º~{5t}#±f‰½‘ëjW àë KŽ„Ž*1¾hh&M©¿LPBÓB-Û/«Ö· Å›Òƒúáø1œ©m_º"”6P•ªm˜‘¼ß¶/Þt0 kós ò÷Û Âî·Ú Àl DGóÄŠS¨fñ(e1Å(4b@kÔ“!ÓDúŠNDÛ'B1øÔb¨5ÐiP¦×o·O¢é´þ€iiÛ?C ¡¡ÏOi0RÄLûgˆ‚TNFE òGàpx /Šˆ4x 8Nañ²‚üõƒdB¨Ó®AäC ¶ µ“Š€üii”Á7 êh5Dú­HÄ5´:éҋµ¤žæÉñ,£9ý#9£ÕëC ɇØBÀ3 gþ³Ù½®™-“°÷_dGù5KB5‹V®Ðfn¯7h[³ô¼X"âhž ¸¦¯à’ˆ‘$Žå‚P^2Z˜FV˜øLø'2¡nà@(YÖªìõ³ïZ5-íŸÖ”ä1•ã'i-œ«f`90)|~|òyñó°3oç_>‹Ô,]¹}»z^^5 íÛ«CZõöúí ƒñþÕ!ÍÚ~˜ì#û¶wάaè`üÈ IÕ7Ö Zð$V‚¦íám‹öëxÛ’•+Ûaõ¶m銓éõÓj÷g@ÞŠÃàŠè,•Œ¦Ò˜Fc¨ƒ  2ËJ:¬#ÔÏry–À⃱4y$ £ÆA’H³³4ø€›B™/Àf} M;DpL”I•îBã*ñ1Œ²(Ä÷ÎB 8»~äÛOWWηŸªœ7\‰ª¶Ÿ…×øâ4Gš#^ˆ³wô¬. ¯Æ¥+R¼£‰àí˜I¶>™°ŠD¢J‚’„¼dï‚’[§:Ìfg˜ ‹!SW!Îæf‹»¹Ý¢bŒÕ7æÏЍÈÄó¯˜TÞœ„‚¼Wp+Õc6‡PŸ-(9j¶y<*¦(Õh™%Ì–æ(ÐF~ƒ°QÙ¨n0oEÛø­Â6e›ºÕü&z“UxUyS}Õüúˆ?.W>R›¿@_ð§…3Òiå õ´¹@Œ¿¢+I“"|¼”Áø[,¦Ò˜y$јh LŠp>¡I‡×~‘L_ºâŒ­–¯¤±|Ý€I§1“>ŸÄcQ¿¨ª²ª²ÒáôU„ÃaìpVT$zÆÄ Ú`|ÞAQU ¼P/áYƒZœ˜È›9A5IŠ,Ê’$kx6¤ÏWo‘‡—”™ÁÛ®)3áÝú 9Òoy²[:Œÿ‚_•NZY ò~1G,GåÙ¸÷IjKð$©Ï•v›Îˆg$%“Ï’òÔ?IÎÏWÍ˪KùZµ‰oS7â+Ô[ùÒõUþ/êYÕÂñ’¤¨^^ãóÔR¾J­æP'©óÕµê>þ1þõ4¯H0ÚƒN„Œ¿qÐã£á1ÝcvD0ZF™Œ™£”x4· ç0u›7#ÂeÅMˆ"ˆ&“‘}Ò„)¨û Û”…7h²(eE1!a´Kt“]`Ùc9fá,M&¥&šìÂKf‹šOM5ä±²Y%ò¡„®»MãÆgɹJŽ¥6Õ¼ÇLRÍ8nÆfÝꘃ "8R¼ýa1Ƹ47m•¿ãà |«|>Î(mšŸ®nP¯®¡:*BáDì8P‡@[€ ܪ gN(×¢ÜU;”ˆF0Í$¥D–f4eºpmÔÍYAò@ôpe Φ¼òz=œÛëKËÊÎÊÅPzVYd„ò °ž£<Ä¢(‰··´’&”áh<üÇŸ¬á’2c™ì7ûgu?{rù·üæÂ…5Kñ¥>Ê(_1㙥vù[á·Ö^ÿXlðÆë.L.ÈÕÕ¶­üAMr¦–¼hæäØ%þìÊÉËK²Ê3¢@•+ÁØ Ò'F¹À£:‡Z%ˆ¢Ù#zÍ."Gü‘Ð 2SžéŸ2k\Qî¥>·?wOîÏÄ}ÒÏ͈˜r_Ê=–kE¹E¹ !ã©ÜwrÅ\=˜©‚x?ˤ4^ ¦x]T‰òUÇKv‡#;)99+[ÅH´Ù³œ}eY½w8°cTë¶`RVJ2¤u$ãúdœ i‡2³²²1(Ñ„²©Ø”*êïl(š­O…§žŒìH¶>é‚HQö‹Ùïds¶ìÔìþlekÙÅÙñl>;ónåë‰ÎPÁÓÀa°§»êhð3nÕPÕuÁÂVK»Ã”©8ì®úoaÙ /’ÍÔ‘Y#à•˜»áhóÎâê{.é»''%v"%{Ñä–ÂØ‰qU¦¶ÄNðY7ß¿tÙ²¥«.™±{¸–¬úqaåìvÆ©¾se~õµ·Ÿ5™ œ #}n±$Û’=:H«G·:"6ÏSž=œ‡t\ ­>Ét³Íê\h­ÇÅïÄñh )‚Kˆ–IÑ",LÏM„á‚DèOf¡nÕÞ›˜ØZåtßò&§Ÿò?Ã$¡4\äI[`ÅÖ`ѸUã:Æídz¥ÉºÅ‘)†f†ç 1³Îf¿ª!ðet·_ÏqWùõq6x9ðS»Á<•ªaÈ?Œœ€”pRd Ó04<0RøÎ˜Î* ȶÒ| *êšV¦3fíqªÍu¬{«T²ÒN­´{«ÄbÞRmQ% 'ðÍJ©ÍîBua úÒ²³Ê쨴qi^Ðì .*’è#_bÿ„ŽýýºVì~e;Åa»ºaÚÊlnãòK*+1^\tÇO¹ùm,ãpìùØ“WÜ0¯»|óôé=0cÅãài,…ÙTÄÖƒàDʰ‚q€¯Ò¯/ NŠ•_ï‘7ù7a=ÙÄováäv~·°G–9d‹ä5¤…¯—7`)€¼b.Êç YâE°áÑ0rcPMŽç5At ‚.ËjÝ$"9áØái@<å´³ÂÄãÍ|?ÿŒçùAlÒÕÍ\?÷wŒã©‡ý”/ê6!Bt…šã€ti㈳ëZwª®.ìut‡¨‹cø7ŒZ¸iÏf~û#Š%²”Ã@eêÙ€­«Càû2w|LLçðT܃×àIÃÿŽ|õkþ‚/«aµ•ðb€rtµµá0R`U`Cte¡Bú•å¨ò’ò‰"¤*õÊfe/$œ(ÁRŒ³!¬£—Ð1¨Y‹6Q%^%Ræ©È+i> W%LKØX”1gæ†Øé ;ìë€îLÚþQÌÇÎ~5—Ïúê-КbÐs;èyyF?*:ÄœísøB»»Ý»²oËS$wµ›8·¶>Ÿö^èŒåtº˜kYf‰Zn3írîK?l–¦†ôŒYkÒ›²¶:·º·¤_“¡”gÍ«Ms- lÕiÓÒ¥ôŒì¬rsYZYzY¨,CUÁ¡¤ù-Ùæôôô”‘®ç÷˜7º7yÖçöåmó\›w‡ç¶¼Cé‡B–~|“ïFÿíy÷ç 䋾4¯žŠxõäÔHª¿ãÅÞR9maæM™$S÷§D2ƒtÂÖ}@ß…ù¸8åãüqiÅvl/ÅiȰã,„"Ìt(ÀXo¤t< ªÅfgêu‡O‡»h Ôl%dB/1±g¥OH«N[Šk}M¸Õw«ØGø`Z:ÉqYÌ$'¸ŠÇ|uŽia«]RÕpü£ÞòÈSוt¥Ç0'ÜD˜ÞóÁq4~ì`jF"²¸žÀZ ž^¾Ûrkú³éJÓÒÍžÒq<Ö•R»yÐWP… ÃÂâé™ê)0S"\Œu¼óõ¸ŸÄ°µC¬ó¬¤Ë %1Öç!¯âOò„Á«CÓÞRŸíúthÔ§—•G|Ôûò陹ð‚vm¾Tæèð¾eA==#b â…Áxƒï¢. ûÓè©°1R[G‰a¬ÿÞK|ê꘹̈¿ +&g•-^@‡a9iv›+(ëH ÐG# HXˆÖ¢®:W¦—94e01fƒÐÇCçJ!a=nŸ—§ûÕÔ*ÆAg{c[y¦Û3'öÐÅW¾õÞ[ʉ}îXµ¢£XKÎÂO×®8õɛø(¼xYNr‘æq;j¦,¿}û?¼aü”i©ÞÐ8OróÜš-·üq´è EK` êEw龋k;Nb%©tÔÇ "Ùè|äàM^¤zÜnU]î,QWÝêÕµŒÈÃ^™ú)¿¼@Çþ½~Òé?é'Ÿø±_5e)2›ï ì^Ÿ”±ð&j¬L¨äÂ3o¨ÒÎŒ3qU°B¢.­Œ9‚Ye`Ül†˜@Anþ¤'[×>p!¤.®šÝ‡{–­¾ôdoÌ,:yAßq|Œس­0Î[ÁžÙP2º›Î€gôñ¦Šò¤YIĹ\\®.÷.÷×&.‰eüdËdWYÒL¾ÆRãš™t«t»¢š­°AAêŸ ’›ÒÃe2ÙêK“ƒãð8{.á²l”"f܉ú¡¿@JÕÔ‘…ËÐpåûóí]§çQÓM}¤*°pÀt\7}…nj›Õfo³¿5Y¨ƒK˜.ùN‡Áˆ³=.`>Œ7áünÅ«<‹ ¾x¿îŒÌÙTw͵k¢[„#Ã'oˆ};{ëâÚ»HÞ½ :÷<øèOî¦c¿!¶ŽßÅÖmÉè½p¢k¶‹8#\…¥ÂIšÁͱÌqÍHú"I¡t¨u&(qZú"Ió=vÌ^“Én³ŽŒÙ‘kµÚ²ìvÌÖl_u‚öãß7]¨a·…޻ՙ¹HGîJ¬Ô1pGvŸø X,ýåe‡1‰=¼â¦0xؼúê-k¶ñYw-lŠýWl8v:öfõ²á¹Ã¼ûà¾{ö€|Õ¯…±{ÑÝ/¹|®•r‹Ìò|wû y†íC» ÒÁ¥8$«E4›L°R%8Ë‹˜dƒü É6[©·m±˜GÜŒOÂêê|]º&dܘöÆJx]ªžs…ÌeG<|mìDÆ¢Š9½aºn½á•º;¤’qE'.¼ö@,†~hz˵ßÝw`3ö’ÃHlré|-,H¿0 ^>„T¡^Ø,ì…šƒ¡rYÌÌ(Àcf6æbc›B8îAµñ áЦ$t¾l—°KÞmÞmåe,Ye›äÏöoT68¥ Žž-üõòõæ-Öëœ×»·y¶ù¶ù·Í’SvKA3èú=AÉU`QçÍ~Ö:ª]ÕTN$7êZqŠžRŸÒ™ÒŸ²7EÔRN¦{6øÌtE\ øC¡ƒÉWþÚX¨ÌšÇ¶º¨Ä QÊâ:êcº"åtYªQÙJÓv;G«vzÉ/Ö\ÏÀ×Å®Œ=;»ÿþwß~ì±cäOÇvwOеÇîˆÝëÀ7á–/bñxü왯(Íoÿò×@s¾YÊ"v:UUàÇÃUQYYQåAü˜–D·$%œEœEUU8NT9…“MPšzŒ˜ “I–@þþ´À+t¢/_L7™êdЍ½ÜîvV[êÜîN}š{‰;«r¨Ó8Ò KF ‹ÂZ6KŠñ:MUâ`üÝe3UñÅ/¼Ìî*^ƒy0yé -aÁB(ÁB(ÄB£Ü««ÊØÅ#{²Tb^®ä¸çåø‡ÃoêØU±¶“`/ûÈ Ã¿9{ø,68Ù})Ht½¦Ïߢ\ï¾Þ»íŸWþÄýÉô§d*9æK®;×Û'ô)[YrI>ŸËçË%y\¦ å· »”¸ß˜„*¼f‹Åvzï$åõÛü‰¥Ÿ nÛ ^©ûü¼ #gÄZ³Ê†ذM÷ø#0…äèéΕ³}b]Ž>A¬©`1¬î=Ù{%l“R¥b‰“¨Ø']¹dTìǬ‡©—Bý•Stóx]bþ¬«ƒe2Àgx¢ÃN-,_…S§Åþðqì/±mørÁ–ûšJbÞ»þ§¿ÿíÞõ¤‹O~¢¿·ãÛö\:PÝ}íG±/c}¼“êÀ2˜Y«ÀÂÐ_õE+lµÎZo‹­ÕÙê½Â¿)°‹ì2?gÎÿºý5ÿ‡â‡ò‡®=gD×D×DÏ\ç\oµ¿ÖÜj–&9˽å~nƒ°Á¶UØb»>pŸsŸ÷°óQ/;K9èOŠXÙɱ–ZرŸ mŽˆåæÁŒõêN‡ éPéP•î€ÔXžñ¥ù$LSÁ™.²PÀ’XV'Iiî@pEbÊ¢T¤D Ÿ S2Ö'¨!%bØAœ Û}šPN®é”¢àªñãc·6.h½bóÚ…ÍìŸúDZ¿cïÐ3ï‘K–,½ù'ﺸ£èWÏ`X a gîc6¤.ìGm×'J²¤HvŸìUfɳé"e¹}§}—c·çNï>ûcÞ×=E“ÅlƈH™.ÅlÒ,/Â0ÀèézÒ¤ú$®3©?‰hIÅI{“Ž&ñI˜hH ޏ5Áñ}ç̵•ݧë–~ˆ ¶&w‹å;çcÙ­„z^à“þç˜\7}ÿÊþ Î)¾ê_þñÍ+Ý)‘³ï?9qeÛš¿äÂgc±3oí¬m¸sÙ•§©ç±d£ÁðºvèÎZ±vÔÃØ ŽÕEé×?ŽLâ"æIžH`.7Ã<×3#p»¢¸™ãa¢þ‡n5IVXW‚¿•kµd1‡ÃfCÁ›¨ç•&RVTŽr°ëtÂßJ¬*‡FgWêq´Š­c=Ž´„S „ÙÀGÝ1Žßûjêþ•žŠ=sàjv͸¼aÛµkš¶Þuq-ÎÆ2¶âÀ­Ä~¶ó ÛïýÙc?Ùã] ã½tÁÝ¥ÏþŸ?w}îáŸ'Ä ©µ/w-÷Öúw‘Ýâny—yPy•üYø‹òª¦Tñ‹}Ÿü{òâ¯åçÌBŸ|½x­Ì9ؾ ÉGIáæ%w…¬OêL"IÖ4tžø&\­Ä ©{Ù£VZíÍ0æV?©“…a2tR/Ëã/+#+sŒµxûð]ÿƒ#±>¾%öùv¬ílo¿í¶öö$ýF,n=ÿÉÿÄ~}mü¾ßwßÞ»î»î¯ ÇOÉ`594QOAÏ!œ›.áZà¿“ ÀýœŠ­;§a gÎÀ44¾XÂ¥˜Ãk_‰Ý>þÒM¥ÌŠðH¥¡3úÕ¶9¶‹¤ËL—™PöY÷†µ¾¡¨¢,ª *êkµµÚ&ÉvÅᶺmnûëÛ,[Ÿu“ýÕ´QÙXŸ²MÙØ’"*^·b¶Y—Xû¬×ZoµþÔ*X5‹Ù ¾›Íì±ø¼™.»×»÷º‰Û´4zÄb±Z=Hï =Yì0 ÿ)){¯8 _yqkgk¡â ¥yÆÎÎécggæ‘ ªœÏ»°Ê­…á:+;Œ}S&¯tú¢ánQòz}®4®„BSÊ(c(´“tüýÕþgž®¿â²ƒ±¿Ö½ôÒæÊ?¿zYå‚Ù‡NGüîê{_Ož¸åÁØßpÕƒµiÃwqó3VL›{±Y –Ç~ñJvö˜¤{„œ`QD¢/‘¾dúâèé„lÛF NŠÜÁc‘3ɲj6y°‡8¹ TÓQéy“æ¶“º7E‹¨H0¹QÀ”‰òL4É´)Æ‘²Š-fÖ–IñExŒ,ÒäªJ³qv¬;MHåMª¢ÐSa€• jåurNÄdI7H·ðŸ/hW«ÔÌE,ÖM<©0Á´€çø#¤„²_·™ËÖ°‚8wV©ñº@âÀ˜Æ™,ÒÝ4gØR>\Gw%™AOu}ôè>[г;É'Zí¿Ãi1 Þðß™é-( ãè£ÔøäfánÐý?è¹`xqH͵M²ÎµÖÚ¤€ù9¯ùœ.7ö9‰û9ER%³Ÿn]Øo¯oÀÇÕCpÔÇù1&º!Œ<ôžØ@³I)R‹*«À'€zŽŸËò9—yªÜ{Ü»¹zw¿{‡û%÷I·€Üv·æ.vó0½mÜ;²_3P¾¤f`ò¢•à|¹ãG'ÖVΣw!@Lí§ô@mˆÝ€¢ÇŽR|茀=¡Ä¢»Ü'S#TVZ–é —5e'gÏõ¯þþ…—W˜”«®ÂA>ëXléÕá䤷òJÍ~ñØ+?‹]ªAop<z-m˜zIñ7t¥¼d^[ƒä”ED^{C_˜– yðÊEy|ž£™'¢r¡Ê|ºŒD¹f¡E^£~ÀÙæŠ˜È æ@nxIÁ ‡˜ITF÷eeU¦LQ™ôS"j&×üWPk«(ð½1’Í X ½ º)³K×ý >ƒ$CWR\¬ô+D9B2ÀŸhÐMÀBÀ4fwÖô0z˜IÖˆ¢Ï2²-ïÊówj%{eåÖg ÛCJ„næ±m¤šphãyõH<”:»_ä'ÒO-؆„£›–ÆÁ”ã„§b¿ê~tSì92Wäýî9F%Ó[Ä/mwáÈ!gŽ€]toÎo¶Ed¯Å‘èK¤/Á i„Ò)4üÞb²Šv‚\"ï"<ÇÑýnW½Ûñà®6K‘5ižbO½‡; fíÜeEh¨;“ÇE<@T¾‚ÓýÈfzIgë a1°®4æÄHOžIÏ€ûYCZÉ-oªµ ¢†Ã]Ýóì§ŽÃüVW”ÐYÐØ„Íd—<$+õ_¡¹u5v å$ åÞŽŽÄO‚e8¹Ÿ³cFE¶`áaµ8ª\vW^N•@¯>@„† n,&;$+JÏÎf®Ÿ‡cgp(výôÌém^¸h~`ZÙêK`¬äÓ³äpÝê Ò±ôÔRêÓù,®ÑOõL…TŽ(j&ï|(Â!‘.ʼn$Ë&$ ²&¾(a)áÒYZê-\§¥ßBèp¯å(˜¿‘uàQ¶ú¥+ÁæÒ.étÃÌÅH¡ÇGY°ßÅîČܹ0úÝ ë¦8'öÆ0ÌÇÃO‘©_V“«†7Øn¡û*0&/: ‡m8WàRRjŸ†§9þ Ið d…£Å!`L\n‡Ó®f{‰),ŽU·Gõ"dR³d…mµ(8®`åŸmµ w–×3ºÇâÁTØþù&âèî;”éð±ƒfydÿÉ‘Ø\9ïôÑÜödÃ] Rb'´ET·—Æ`~oÏìÎm7 ßLÆï[Y6ãú-Ãàaü}±Ãø^LïÞW=¢À ^•ñ8=I¼ O4©j7Î’2ÆÜú0Þú8>eFv!†ëü€bްƒÈ‘[>ÀwxÀ7¬ã[Zm­îÖÌ5¹ÍáÖ"¶ïè¼¾‘Ûe0ÁG‘¾2XÁÚGË*‹¸ÆxÉ›ðT9%gy{y¦ËråÑ×®XñS¿éÇÒ”ÎÇoŠ}ú·³×Ô¯ùá¶–è5ÕÙ=ãÒ¼ãC—ÞùÐ#7½ŠM8ø‹ÛÎÎzâÈe•‡h%×Ü÷O~|ïÞ»Xéq¯u¶ãy‡œ/ðh×ÇÛÃK²J>ÇgTRnš¥Î2¯À+H+n%›ò;üKæOøcf^-â"=Nz‘ SëR]QYÄEæŸ0u³ÙíH½‰ßÃ^Ë*‡‡)j©Ýf,ÑPϤ'K6»M³ÛtÛf›h ‚m>ê|ÉIœ’\ŠúÍ;èe˜6hC2ûh ‡`üOΧÌplüÞÈùåc]¸Û~ ´”š(šrªr(ÜMO3‡?;ï!â®ÎâøKºUñG° ©Åª’LyJ™Ù\Iø‹Y6þ§jª0ÙÍðXØÑJ-*-ÃÊEI(Kó`iBiš'ÿpuÑø…±ë¹öØe7õ%ãƒÆ/tq˜|ø|,ÿNésªÙù`Ù3/¥[)Å|±°Pé„ù‡"‰X ™YbŸìx¸jÈA=´®påÈÒ«®ƒâ‹<,ŽIYÄIwyc·ÌC7 &”—qUäʺ؞GÞ=ðÐÑÃ?ø#vàÒüØ[©ö?óÞOÔ=>$}><¸òú§ñšWÞÃM«æ¼÷»òuWœþ4öUì«9‘#‰S 1Ü4¿n2qYr–‰ãÙ%Ê~]IžQµI“#lÕõŸ%B*¼DEVßU>VyæPIæíJª"ù¼Ëz]!ª\¦n ùŸ)¨(GÔÓÊ—ªw¿CÙ£>§¼ ¾NÞà_SÞTOø÷”TËe£z ¹‘¿F¹QÝA¤¦(¹Œ_£´¨ôJ„4ƒÔð3”õ"ù"e…*ùÕ"k„Lâ#ÊdµÊ*qÄÌ‹Š¢zH÷)’qÚœ ž¢ªfI*­æ°nvŽÈ eKÄD_l”V“%"ëÖ숉¾ é.ÝN“Ìaă?¤‚-ƒù»jäz1õépÑýOC4!i0>Y/€^4^V”ŽwsO`æ-ယá̸Cá°½ò¿í•Á€}¸k¸«2è·ƒ³ öã]£·4Ûïc¼ÃÓw-»%Ó«ÄuëëØ'q¾ŒÂ]týqZbÛq3~«XÂOĆboÇÞý8÷~îƒ/«ù«¿º’> SsãïóŸ‚fæã—ô ;SÍy.Ÿ—\’Ççòyüá¨Íé7ZzsÞ4¿2תˬËÒkC-æfçš´Öœ5ùR¶¤ìL3;Cì@?5BC=F¥/ =þtˆïJï ]•~Uè¯é ‰a5Ï’‘žª°DB5*8éÓC—Y¢¡M–ËÓ¯·lOÿ¹ºÏr_ºKQ‹˜.†jÀâM—ÒCª…Ǿå~= E:ü¸Ã¿ÇOüGH%/Ì`’pR›C³Ùéÿœ Iœý×ãx/ÀG±Œÿ›×ƒvóyŠÿ“¸ût—/â«‘²³‚…©Ù{ívb¯ÁŸ8ŒUEÁ­òš%+ö#°Àóè~ ÛŒ:æì¨ÿx"ì§§ûŒlrIz$¥L чDøî=Å?Ä^8ऱ—è5‹æ¬PÙc£i°À0Cš¥BõÓÇUû©5Æ3Id¡wLjÔ9–ééÕ¡Ÿ«÷§«¨®6±ïlÜHlüÐ/½9j–Œël¯ˆîðÏÅZpÏÖ›n¾àÂÈáÿ®ßºù“û±û¤Ø®+®¸jNQþD<ðbßqôTì£Økøíä›·mZ™“ä,œ¼|Ó/;Ýüéï,]eé‘Ì¢æ¶'o¸ò/kaއ öžØ"üs6yÐ ú<¯”%i¾ Ò£²ÐïÃ/ Ûb7Û•¯ßâ=â*X0þP±aw±ÃŒ¼‰Þ0Å>K©ž”z½¾#d-J#—íßñ)0ï¸?qÓר®¹"Ä6&λ'Do ynv? »|dßú8P¶«/¯aâxwÈ.w&.íøê«ßï»Ôf;É ™‘«¹Ïè|ï‡Á½zãEƒzÉçñš]sÔòý~AæŸò×AÜN¯Ãê²!»Õ…‘¸Ùf«Lq1QK±Ã–¸ÁînÚ¡]zc]t¹U¥´J^Æ“sìEŽUâ [7«+‹¸W¡½Þ£^â¥÷Áaò|“ÖÄ…çpWbwæl8 Äugºi½‹RQbìÎÐ+–®R&Æ%g§Ô¢„üwUÜÞ·±'kú” ÊþøÇ؉»ø¬…[®]’ñ¬½bQÍÛgãæÐ=Ü¡ØZþŠxp+¨›ñãˆà/ˆP,ŽÛßGEô–:^‰‹ß[û裔f»aE¢·Ôñ‚Ɖr€óɼ| °äˆžêÑÕ%5±ì×#y`=¹IvKЉSÀ6ƒ]æxj]yj]ùñEêMÁÊ7 ›šêM\§©ßDöšŽšHâf»¬²Gë’%¥ä¼µ°:f-Ì\κ‘å0ĘWÃ6Qb×>çÝš×f YKÌGGSè Ŷf—|¦³RýšÊä~SØÁˆ¼^çåJ8㫹ëäò^ù€|œŸå^”ß’9+’#Üdƒ[¸=ò^îay€{J6%¶¼€uD/e[^ÇtKQI„hô%¹Ë e—®¤FÈRx±ÒÕã4ˆÁK&’ä'œOÊ'ÙÒdR*Í'ºt Y.)n’$Í#3¥;¤¥ß“7Éä„ô1e“i®´QÚ&=DDêÙuZ!42íÀZˆÎ:tå»±FV`Wìõáý0Ùp¯|YÍ=qvåþÚØ"ÒcGÕº5Ƕ£ÛoH±#§ü$NG øh°¤!·êªòó_ +A²ó ãÞµô÷XuCç†ì`u«ìÆ‘e‘2»kBy)!·Óç%ѧoßÛ¸üڣׯ¹ ,[tú!½®xìÉØË±‹þûg±ûîl¦˜LLt†ÉÝŸM²ÁZ£î"ûÈ}VI‘íþ9í'¢Êp:$ÿC¸ÓL±q^6b34|ü|d\S8` WêuzÜáf.™1)¹ùú§ví›VóPlÑ_y§ï¿ñý¸èõظ3/;c7vs-ø·Âoé~€n±„&‚…0}ÄvÜ"R» –2L8ëazIJæe*§ô´±ò¸½’î YpâÚt»îîE©ï÷®,_:‡lãZŒ ¦%ñ8êã–ã{…G9 »dù4^ûþð¥øíëcA×·­N2ZíÐ/^’3Egª€‹…‡"JâÇ6ª’iB²$Öpd¶Š€µìZ†ná,çÿÞÆüm¿·©<•øé!}ôìÇØ~¤»q½“dÁ×vãÆþ'Ís_uöCrlXãJéorÿ<ÖEÿ¦ Ý[\ Ø»@òaMVµ!·X7æ½ÏŸ†BšGsòÓ2½ÎTÏ)ö<ì!;”žétÉš;#’”Ý)ö‹D¬ÉÉ~˜º·ôG¦ˆ™Þ¾I+.Ô Övöî(Ü[(k…Å…¤Ð®!ÍUì".:₱#f÷oØýSvÞõõ!{`¬)žÄ¤ç¼!ùÝ@bÜÆ~Å£Md?¯s¥Ñý:vÆvËDLݳ1NÃ8GšÉ í$sùàÖ•«¶ì¨ûÉú¹±÷bœóÌ/ò.¼¨fnþË`çÞð´%ú¦ß GR.¹}Õš‡ÂÙOlnz²Ë"þ¹Ø/å¢Y3–)ÂðáØFÅ\7Ú%ytÿíP«¿ñYì>t¡žÄMÄ¢8‘W•‡9BÄ,¬ Å ,ËxY8zŒRyÚ8йÆüBâ3g¡áÙŒüâk*ÞJZÉ^h¹(¾.ÁålɤqŰ(œ!$~öÆÁ¤|/;G=^7Ïþ~*ªK´=•äà­#­ÝU³„£`„—ëÊZò=ráÀúâ܃«Øìzéc²"`dVÐãxŒ “:Ý" >•×øžçê¼ïE#,==ò`([ §ÁâX*›Q^ÊeÅNÜñr;&ÅÇùÐŽ™ñŒ¶PJÝ IÏüí(mÖKs„u–/ÊGÍBž¯Â7Û[ëmñ ¾ I[“nvš„TC—3Óf—ÙÓÝï„ Ò[.º«? kiÅi$ÍᩳƒgO¥NûV©¹Ç9­Äçe†\¤ßPBh¦*' 5·’”Ç꯬/(ožwÍêŸ ¿‚sÞþ~ùìU••ë–LyD8’œõLìÄ>rÍÞÆš¼Tþ™³eVçòß<ðÀ£ÍN+é2ÜË/çK˜L,דÁûG$zIørQø%W…@¹rÂÖ2žôìˆÆn2sX$AäyÓG¼¬ª:ºi]W ô®ýåê9ÙYÆã¯â<æŠ1‰Åb30¦Ü¾„Û´ÐÝ»Eø\ ¢Ð,¬8$p §â±¬›h·ÿULô7òãà Öý¡N—‹:xÜÍe¸¤štœ9û„¶K¬‘\ËöÂê%b± ƒ—#Î!†Ù•#"‘xÁl;%܉íé%`½¼æû U° ÕQ;ÎL9¸®•vxØÈÀK-õÜ‚?=q"Ö(]ôö—oSªR{|†ÝIBôLQ8ì>ìçf xðš@œŽL‹ÕŠ’ìÔ(Ûìý†ÄxSSŠ;ƒBŠÝ6Ö8'Ÿ/4£2cœÉŸ“0¼šoÄÔ„BrîÜý6ügl]|å«wͿ셧ïyxýôKg—íŽxÓÞ~xë`«Ã3ü:ÿL¬¾põÔ…-h˜4ô3ÎÐ󪄌„żÎ(èDvII*‡¹SXàïDï`Œë•Ÿ®5#@¬倊TãAÊJ¡2âYOœ€©àþ·…=†~îºÝ+üdá=¸P¢»~<—) ™‚àÇŒ¥ƒ8þðØI*F5|Þ°±éÇÎÄo„6W‹ ›…åh.´qÔõó=ñ!¨·àµðL‡r»áé†ö®‡r·Ñ6!ýxz íˆßÊ?VâºÒn¡e Ì‚>€Whn%KIyš+å' n1(>&ÉòƒJªr·š¤îPŸ3Í5™ÿÃr™å-ëbëײַÙöÙÙÿêø±³Îù¼k–k³k³»ÍñlöüÚÛìÛá?È<x.ø›$5i×ÉùÉ7¤T¥¬KùQÊŸÆÍ·}Ü‘q§R/IÝ‘ú+ƒSP)Ø.3À¬uZ†8ßÞiô¬~9¢mý1"öæX=•Å(LŒeæÐ 0 ˜GnÜbÀòãï°ð­,¡gñC,£,ÒiÀ ÚNv°Ê?ÃilB«¥¿°5Ë3 Ø"’0`+ºÄv騌m¶1`Œ{…ÄÛ§0‡òíÓ ˜Gª½Ý€d¶o4`àk XB«í; XF.û§¬ ™Á€UÒà˜kÀ&4Þõàè_7,uýÅ€-ÜJ·Í€­¨Ð× ˜`žRÝêÛeÀ< úîe°éªï)æ‘×÷ƒEH}ï0œ¾÷,Q¾ø>7`à…/Î`ÒÍ~—óÈïOe°Bùë/7`ào Ì€¡@•³ Ú ì1`àoà ¿7`àoà]þ÷0ð7øþ&]dÀÀ_-`ÀÀ_í{ üÕþjÀÀßìÛ¬RZeÿ­²c4Aº3'`À<—f°™Ž%gŽþ9‹l¥’Ÿ5`%çô1ØÎÚ¹Ù€i;?e°‹Ò<çišç<Ï`7Å'çM|rN0Øéî\lÀ<Òr= öÒò¹e ås§38ÀÊ×0-ßÅà$*¹70È@î N¡øäî7`À'÷1§²ò/0-ÿ ƒ3¨ ä~hÀ ¹Ÿ18Ò'ÏbÀ@Ÿ¼žÔäå0?ËŒþ£0àŸÇäGfãÊ[dÀ4}…͉ò› ˜¦oe0ãKÞO ˜ö{?ZŠ6¡NEͨ5B¨¡ûáYŠZ<u vxzRÌ.¨`ún€ôVVBƒ”uP¿ ,½áÿaKE£˜ih ä¬C}£ez m„‰þÆ£ ø£*a©S¡Æ:C5€C/«µÚë§­‡w”ê†ü(9õÑô <')£–š„–³VzF±.…^‹á«¡h£p놜xš¡­Üom埵q®lÁ¼–ŽIÿ%£,¥[´Ña7Z i´·ÿ{škjµN½ 7J# â´L¯Ñê2à‡†²úÊbý̓÷軙ѾÊÓzQh•R{«I[+üœ|î€~)NPvÓ?-eòEËm`X­í·ÕÞÆå´ÚÀz>ËiaTllòGqïf9­LR—À»aàHBª&‚,Mg˜ô2*ЭpÑ Tƒ!‹ ‰je´obFe®õ5–ïF[ 7Z³µHñnþÛX‹ êk ëÖ_£ÁDźÇàGc¢Þ¦Qþ·ÒÞip0ÊhÓä11º5ø÷±Þ4ÖÃX¬F8OiCãXÛ-c¤–í`m%úIOP»× H£!©=ß(× mFUZ!L´Ýh¤ô1JS‰:'ÓLs»E×±úSÊÏ6£ÖH¬þz£×Vc¤ }¤-œ£B3”¤­%RÏѵՠn‡1’VV¾ÅÎqµ‡Ié:†Ý·ËĈmí ÍkcíkƒÚ‹µ¶ ý™ÕÓ -¡Yë{ KMÔ§Öjð°…é]§!#ð¦½Þ v¢…sÖ¾ñ*!£a£1þVƵu¬L'Ó½„4¶³š‰‘Œ•îÖQÉ¢š¿ÑàLÃ†ÊæzC·vgÝ(m,vNz{¿6#õ|m|F«Y }ŒÒMçÉfuAúe©l7ŽŽ°™É¶Æd`#£m“»ÞQ{’à:Å=¡ï½†ÕHhS!eç¬g"·q¤]Îê'°¦í6²Üs’–轉Q«“iɦÑQŒôÝÎl&Ío`”è6ú :” b/«?‚ñHëL†Ú˜ÝÁ­Í}½7 æÔ"h—~ Y©±¶Y§6(ÑÂti@mµ3EY¬­b2àxáhÉÿw{ØÀ$&Q6:¦—ù`é—¼_ Ït< /€T:TÃûB–>R–À›Êæ,˜ fÂwK]Š,°š¢ÏR&M=ß"kÚhzBOí4h~NFÿ½YìgF,òŸW³ÜMP¾o´ÏÆQÛ–çsóÑXk™°çìhB[ ›ÙcèôÖJtÔ&Rm­5z£Ú½Þ°¥«Gg£DŸ½ÿ‚2#¶sèuŠ•énf?z }n6äñÛè5¢…”bÑ1­œÓâoö×dÌ€TW3˘ÀzµÁ™v£åoãP6Õù”JXäoJÅ7{±mÔŠ50_´z]gP»Ç°!ÿ¬oJýerÎÎnú/¢†—1ÖçJXï†Q'£l«áéü;<× YlcÛFú¥–¤‰QºuÌ,Ò=ÆWÎ-Ý=FnÏÍÝÿšR»6Öþˆ\uœ×ÞÆÿµŒ›cýÐûx®d”Mx¨}Œâ´ý–Ññ$ð+Ým†EMÐ?¡U†|œ³¼çËпÑ9ù˜ÃÆþMÎø^tΉZb4 ¯‘qµýk<èþ½ÏµÜüÕ>æõ'æ¡õÌ7Ú€ÆzWÿ{î´×mø­ÆšçÛ¼¸oò1A­sk#kó›z<±†¯ÑºùÿÛsTþfçÏ÷çc5¼Ø^˜{FZ ë“©(±È>‚Êaý¥Á{<Ä `}a«,º;² Õ%‹!w<äD ¸Vcå¬ÖTkúÐÖÿÏæºÿû™q$¯èkÔ—nêŒ674Fµûµ¥-Qm^G{G/$iÓ;º;;ºz[;ÚµÎu…ÚŒ†Þ†ÿM¡"Ú˜¶¤c]MéÑæ´C½ñÅð*)Ô¦®[§-n]ÓÒÛ£-ŽöD»×G›¦v·6¬›Ö±®i¤ÍI,E£I“–G»{hÓ¥…ÅÅZÎ¼ÖÆîŽžŽæÞÜsEÆ–`©¬­¥ ¾O[ÚÝÐmkè^«u4ÿK̵îèšÖžÞhw´Ikm×z¡è²%Ú†^-K[:O[ÐÜ\¨5´7iÑu=Ñ -P¬p´%sÇšî†Î–Mc“¢ÚŒî† ­íkhÝV o¶¸c54=¿µ±¥c]CO>m½»µ±µA[ÒÐ×ÞRM,™ÞÑÞm£¸uoÒz€Š@¨Öf­)ÚÓº¦=_KŒ½J5´Bf[GwTkékkhôµÆ–†î†FDZ{` íäm¢ão²w£ўžèލÚïklÑZ¦èàûÚ£Ú†ÖÞF†¶ŽŽ&Z›Â€v/ ÒDíIëÝmïmBéFúº7jŒÒë£Ý ÀïÞîhCodÑ }ÀóÚåc´›¡ÐÜ·n€ Wè¾­:imoêëéeCíéÝ´.:–TZ{h/Ñî¶ÖvV¢»c-4Ûø7öAG 6µ6¬é ùZ€æZKt]'P¤C[Óº>Ê 0±oÐÖ9´¶(Ю½µŠ7tvFŒíQè$AîVJ,-ºÓ]·Iƒ±õ€ì¬£m´µ®cäí5©Çè¯j¬Žj}= RŒšÑ®>Šl_#¥¿ÖÜC†aP½½TN`èÝQà{/ˆ°©HÆÄ¢m k.om‡¦£½ù ¢Aõ¦ÖžÎu ›h´v{tCOgC' EšÅÞÖÚ0-ÞÙÝÑÖÁZ+léííœTT´aÆÂ6C` ;ÚŠZzÛÖµõÒÿ ¨¨­gUx!Mü7+lˆ®ƒÔ(«2ÁÒ9Õs¦O]:gÁ|mAµváœé3ç/™©MµxæÌy3ç/µ¨ui u„j”Ä”'€(Œ —Qô[TŒ † 2óêMÚ¦Ž>Z³‘JЙéQB,A8˜ŒAýÚ¡xÚîh”Jb¡V ÕZ@ :VS5‚š½ç!C¥s§(0.J)Ýmì>7ÏáEYر&ÊŠ0ÖÖ€ô®îë…¦ÍШ1ÊîA y”£•©´iëÖõ5¬ kè [»P[ÖÎdvÓÈ(`L†åñnÐz:£­`t¾9r ¨ØÎ¤Ömhjj¥2RÙͬr>Mîf´eÚý5¤Öµ¶µÒA'¬Ü†Žîµ= !eòÈ;6€Aí[½®µ§…öm%ÈÝ‚ ø«:7i á5(t~GŒsšÏ ŽZ¯®¾hëì^c´»ÝA·7+ÜÓÒÑ·® th}ktCÂ\}cø´p2  éœ‰# Å kcï9Ó5X7{³ åÑ †Þ A? ½“heK¦Â$31Rž«•ŸXP).V”e5X<~|$ïòÒr­|BYEY…Eý'Z÷/•‘ÆŠ ô˜Âr5j8IÔÕ»Ír~N/êÃp ><¯Ì¹Ôftþ6·f¤T›csŒ4n÷$÷,÷¼÷Í?/ý»cƒïŽ ¾;6øîØà»cƒïŽ ¾;6øîØà»cƒïŽ ¾;6øîØà»cƒïŽ ¾;6øÿð±ÁèþA+úg; ‰œ !LHkKé;¯ì7sg1«Ñs^©‘´jô!Ä×¢ÓPþCH;×áü¼‘:#þUÇ·¶x.w9ƒÆ–I¤Ìf±õl¿ãüüós³o[ûu0­[úÛòÇRªãŸÒ°ƒOå§ð“ùéü~"¯óð5|ÅØÒßš¿ô[wtÎ¥Vc<‰”Ãã¡Ìؼs©5†oºökIÇô7.R2&4íß•›“6ÿv{ÿJ®Œûò(ž^GßòùZÊÝl˜þ±À£Üîƒvw‰>ÈÝ~Ðæ*ѧڹÛÐBxàæ¡£ðÔÁÝŒ6ÃC xÍ‚ñ%‡)pPµ–Ø¡ü Hƒ§í…7fqZþ†ƒ./mþš6«÷½Å‘pÐî/Y8ÕÍmD˜‹rí(„R¹+!a#„)®æšÀRP<õƒ6{I?ôWÅ«8˜¡Tn*çE%Îà‚(‰ë;`MôÓw '¯dªÊMçü¬ˆ³€=JådN:P’ª=ÎÑÿæQç¶TL¿mìž’'¹ë8 ¹¡T?”ò¥ÚžäTTÉÒƒŠ¥ä•v¾¡mw¿»GÑ#;þ#;‰£Æqî±I‰TÅŠW ÑóhRʪVc·HMË”t†–Á"°T³´µ@`q‰+VŒÂ¬f²Ö-©;DW(]ÄÆ˜;Ó‹ìÕRÒcï†÷½“ògÃoÊdÿî{ºû}îwÏÝéyü€ŸSÑèR&q˜“®ˆÖ_’©®|ßBCˆ—Pö’Ô}O"» §”}Ö.^_UÞ—n?­ ÞIËñŒJwO¸nt(âySYĈ/ÊhÅŠ÷h˜^å Áu9±»SY@nÓ´€©YÀÔ,  ÄŽ™¿‚±Íá¨rä”R„-!oC“»,Œ`Mfö×”§FÂ¹Š±£(ÝSéè=sYý;¤›«ÒÕŽÞV¦É8Œ¡óùÊnWøüªâ—‡òtÅ5(€œÕÑ…¡ÛÝš €bn+{•}r$†ä˜Ç{JzN(û-kˆÑadó+¾‚]êïÚúE[ßÒÍ:kTE¯²?m{ÙßÅ_ì¯d 9ÆVÙ:.5œý…UE/Ø—¬F¢Ð ¼ÿ.´}zËþœWYµAß?°ºÄÁ²u+0ÚÎpO;³{°éökö)Ù‹&þ Ýý”ÕÉôÔ­³<ùzƒ‘ãÐ_µõ7lM¬iö »‰k&g«GtÁ´T!+–]ÈÇi½Kò5ö1»NöÀõ#Ë»¥×*Þý¼wíQös–·†x¿ÑÉ>¤iúO8•ȆPÒÏ~fED#EkMã5VdEÝÑ=zP_VBžP0´¬h-¨E´eÍp²E² ƒ‡,{)®Ï «¦ÃŠìŠe‹˜Æ¿qL⸙GZ’¹,Ҝ̤ÎGµ_Ë\”]&ã0†6fas°yØEbCzöìmØ;²$+ÀfpúÈÈÈÈI""""'‰œŒ^€ " " " "+‰,ˆ,ˆ,ˆ¬$D³ ²’HHHHI""""%‰ˆˆ”$t:„. „B¡KB¡ƒÐ%’DDDDH!!!Ih 4M „B“„B¡I   Â) '''§$œr~ 0A4A4A4A4%ÑÑÑÑ”DDD“Í”•†ñ†D@@@iii´=/ƒaÙÌÂæ`ó0ÁÖÁÖÁÖÁÖ%[—Ë«¬ Âa‚0%a‚0A˜ LI˜ L¦$J J J J’((((I¢$n&ˆo¾(¿ñÔ°‹4íÀÅ•ÍÓƒRçÈ}©³dCê;¤,õm²,õ-rIê‘:C¼RÑžÔ<ájñH¯1€SÀ8ì;°ó°%Ø ìL•¹»°¿Á6Ù˜>bëUÇÕ%uE½£n[Q›*ëµÛ—ì+ö;öm+ö¦iÆ ë–çQœZÈ{2Cú†‹Ò¨ÌEÙÄ=‚óì~ް#zßWÚ?½ë§wütÅOßóS£ƒ=GmòL§‰Ç §i½Ë{’oÀ"^ßIœ™oÞßÍ-ï³¼J×ZrP@ïÃʰeØ%X†a—e~ø§õ‘v“k0l¦‰d`Ýô÷9ôë¦Ë•Ϻ‰Ø^×ò·jùBªå‡|bùÎq£ƒÞ$>ñg½™»]±ø=TÔ’_Z|rÍâG ¯Z¾C3–ï ntÓ · t²­8n¡§-þÜ^°øA.6'ôy…·<¨=HÓäÔÓ¦ö·"¹-~2bñcÂÛA|bâ©e÷¶Á„*tèA¦mTßοâïóûÀÿÅòøR«Ú w=Uú’ÞÉׂ?…³Á-£SøãúPn«)ô_ö\á -ê¹ÉÂñÅ`Õâ«è÷Ââ—´*»®ïàó<ÄóÁ{|š?ÏÏòÓüUÊ-þ _Ý$šf×oòü6ŽÂcñç~L[ãK޶Ú×Äp+úÓ_¿§*Öø‹‘*íÓýê×jQ=£ÆÔãª[Q÷©CêNG¿Ãéèqt9:‡Ýas0qì;ÖÄã•;íbÇ#b·‰Ô&óNFäs¥òISFŒ¼¾Eõº¨>쎗Ézb2]^×§âÖaýpÂ}6ž©DO¤ÿŠuåQ¬ô‰-;!K‹XQc‹jCTGE,CÄ2D¬¨•±oˆuŸJ—$&vŸ–ZaÛ;±†³ƒÃ™Ø€3wR,èÚña×ìà-¡×Èö@ÆìrÇÌn˜¨ ACTás&ªzPÜÛ®rͼE¯µ«œ(îsÇ}G9N⛑“æðÄËi±TLýìÖs6-^²ÚEoÄñ‹÷yiøyÒ“LoùÊoõ* Ó")p—œ4ýIóY±Ã‹ª"T6žAÙ¡‡eŠ"Ëʉêf•t‚æE8‘ P±/ŸÞ‰».••ì%•‰[…|eÏPøüm\Áç`¸c3Ö¨¼_f3•¸ÉWFÇZŠûS¡Öžá°Ø;"T¨§¥z_™¢§,FJžR°±‹-Ú–QÈ—Å¥Ô]VH>0ýp ÍgHk»@ÄûÐÚ;$—D&ȦåNâä‡úÑÑìt»ÕiÙ|þᄴʧI˹U(<„ mDV$"þy–TR endstream endobj 422 0 obj 21108 endobj 423 0 obj <> endobj 424 0 obj <> stream xœ]“ËŽ›@E÷|E/'‹tu3’…äÁcÉ‹<O>CÛAŠa¼ð߇[·“HYØ:4UÕ§Ê®´>ìC¿¤ßæ±=†Åœû¡›Ãm¼Ïm0§pé‡ÄŠéúv‰OúÝ^›)I×Üãã¶„ëa8›M’~_ßÝ–ùaž¶Ýx Ÿ’ôëÜ…¹.æéG}\Ÿ÷iú®aXL–T•éÂy­ó¹™¾4×jÖó¡[_÷ËãyMùðñ˜‚}¶TiÇ.ܦ¦ s3\B²É²Êlöû* C÷ß»"¦œÎíÏf^CíšeeY­,ä°S–w°Wö8gŒ€ å‚KòüBÎÁ¯Ê¹ænyþ ~c®É¿cŒÖçyÞó>6#×`úû=˜þþ Lú–þ…2ýsÜe£¿G­CQŽþð±ô/Ñ‹þšK9Xú—èÑÒßcž6úƒ…þ¡¿ G¡ßBè_nÁôÏq—Ðߣ¾Ðßk<ý=æ/ôÏѯпÐ:qþðúçèQ¢?f+ôõ¤¿è]ð—ÌâÜedœ;ú˜¹‹óÇl]œ?ææèïààè/ðtôw˜›‹þèÑÑßi ý=:úçzWôÇÜýs§¿¯õÏÿåXìéŸõ2í}ž×ÕÒeÖÂ6õCø»ïÓ8!K?¿qdúl endstream endobj 425 0 obj <> endobj 426 0 obj <> stream xœí|y|[ŵðÌÜ+]íº²dKò]Y¶ãXÞ;v Vâ…cgvÀIJ,ÛJlË–ä$B€PÊR $la-‘ã$Ø’ÐBB€.¯¯Ëk¡ïK¡-u¡m  XþÎ̽òBhï}ß?ß÷Cò½÷Ì™33gÎ6gæÚŽE†‚È€v!ù}þ§n»qBèu„pJ`[LzwÞø„TÍ]Ý}÷ÇžŸ@H(…òݽÃ]:åkFÈMÜêž ¿ó¢ ÌkQшý‰(û œÓÓÛáÐ~7 åN(ßÐøï¾Ãr;”ÿå†>ÿŽwÕÏ„JÊ¡,õûû‚·<úØ)(¯‡ëåp4v'v%ÚœIë"Áûµãj(W#¤¾p¾ôcPMË„ãUjA£Õé F“Y´¤Xm©iv‡3=#3kžKr£ÿÏ?ªÈÉ®C(ÏC„¦Þƒë·ô™Mý‘Ö%ÂSÿIþˆ)—üyDûÐ(:ß$bu¢at|_@¿G{уè6|EÑNô0ÀÏâo“´ ,ÉŽÐwQ)æ¦ÞBO¡+±©Q zFÑmS·b+Ò#'ªE4νÂýûÔqîGe :´çþˆ~Šyr¾Ê¡ŠN!Ò¢ï¡ÓäbàÛ‚RQ%Z‰šÑeÀÓ£ÀëKè8_U;õ6r#Z#£[ÐCèûøV$CäaîÕ†©{¦`èIƒòP UmG÷À<>À:lÅ/àßpþÞÄŸŸzf>•£e¨ Ál^D¯¡Ÿ¡ß ¿á ¸‹xÉzn€WñÝSiSGç,´]ß&´µ£¯ «Ab÷¡ò·/ñbâ¯`|‹€ëJ´æ¿ duý[°çâùx^‡Cø þ„¤Š\C&åT\>|+¸‡¸cÜ/¹·¹?ñ+øü»jýTþTãTÏÔŽ©S'§~ 2u¡|t1ôyºùaVÛÑ5è:´´u/|ïCÐ#è8Cãèúzýýý›ð"|®Æ]¸ïÀOãcøü&þ!i#~ò 9Íy¸M0öÃ<âëøÕ|”ÿa%–$ö%FoL™¦ŽL½<õ‡©I¦ dž -B-(#_nC߀ŸD‡Q¾'Ð/Рßä´ð± Ûq^€‹p ®À«ñ¼ wãÆ×â[ð~ü |/ŽãQàæyüþ9þ-þÿ$b&zb&.’M I)&ͤ›ì&ûÉSäy¾o‘“Ÿ’_ß?‘¿sÎßl.[Á]Ä]Æ…¹Ü0w÷$Èó5îžý™ù|¾ÿ*ÿ˜“Ÿÿ»J¯ºEu»ênÕoT¿Q#µ¨>_½ZÝ£¾C=¦þ™À k„.á*ájáZá¸i<š§ÐðŽ˜é¬¹ =€~„ŸG¿Â‡8y¯&â;±‰s ­Ü7ñTèFRM⸉¤qÁÛð6”Ê=ŽÏ¢³è8áÉO±—DÏ'í#[ÉÞŒ/áç'qŒÿ!Ï‘3èù#Gmã…ѶAxëÃÔúÐýĆ^#ƒÑwÐýj-Ùz¿å‘h1^IuC>@ïƒwXp Ú~2‰RÅÈx'÷[b@ñ$yŸ§Š¡.µˆ®Á£¤™{ ŸÏ{ì¥÷*Ü&Ñ»øAü.Ù€šÈuè!¾[õcüKìÅͪ°?Ŀí予•<{N :ŒŽ‚'œFs¯ Ëð×ÀûO/ZIÂè>îÛøwè(þ ßÍõ—;¯_x r+x=ZŽŽrGÑóø1î'Ø‹ó;p?¾}ª~² }¤>Ä?ͨ*øÌ©ï'þ?‚ßš:Aþ„*§¾ÏmHtã{y'øåWÀ{# !=zÚß ãÒ” þx Øk*Ä6-xyD®‹ÑåøÏà1×”*p>j&Ùh+Y&Hj¬zóò-[﫹àüêó–V-©\\^¶haiIqQ¡·`Aþü¼ÜO¶[rÍËÊÌHw:ìi©6kŠE4›Œ½N«Ô*Ð"F…õž†v)ž×çó<+VѲÇÿ,D{\TÃ\š¸ÔÎȤ¹”> ìú ¥O¦ôMSbQªFÕE…R½GŠŸ®óHcxÓš€o®ó´Jñ 71˜Ïc#Ünh!Õ;zê¤8n—êã ÛzöÖ·×A#z]­§6¨+*D#:=€z€âvÏÀ¶_€@ìõKGÒ«xº§®>îôÔQâ\n½¿3¾zMK}]†ÛÝZTǵOGy–ÇÍ^F‚jÙ0qum\`ÃH!:t“4Rxjï¾1u´{ žNÿe-qÎßJǰxaܺ¸}çÇL:O©mÙ=»6ƒÛ[ïI´¸wïn)~pMËìZ7½·¶BЖä6´ïm€¡÷Q):J€Ê>Š<© §žbÚ·Hq­g¹§gï–vPHúÞ8Z;ì>’žîŸz¥×K{×·xÜñš O«¿.sĆö®uú$çÜš¢ÂÑ"KsÄdVƒq6œ®c#§PãÚiqbÊ‘g%˜A\ HÀI‹&²„Þ‚KÐÞÀ ƒO+†VñNPC(®­mß+.¥xÚ>®Ê=ÒÞ¨Ý3ñ‡¹¿‚QçŠ! Rã˜60¨OÂq¯7^P@íB¨E°òâ¢Âmc¤Â3 Jðñ¡Õ-Ьui ÈÜí¦Z½i̇: ßµ¦E.K¨#ãò•x[ã¤ÖœJÖ¤n 5»’5ÓÍÛ=`¾GYJ˜×äMÿ˜Å4k}ÏÒ8NûÕA¹¾q§qͦ©~o»"ÛÆõsJrý’é:Š[k[¸ ¢@$ƒcµ`‰—MÓB‹!ÎçšYr瘠Sd,5ÄÅöò½UçvÁFcSÒVì1ÓLa3¾Ô;·|Þœòö {9`˜Ï#ë7íÝ«›S×qgïÞÔ°·}¯ljW‡G={ÇÉ#䑽õíIŽM¸)#Þ°¯&у—‚µ´|ă÷¬ñá=ë6µŒ‹ÈïYßr„`RÛ¾¼u$êZÆ%ˆ´ K¦±´$ÑjÄ`éGˆ†UeŒûÚÅjy†`åÀF §Iâ0 Œ'2|Šè¢MÕ¯‚/¬Nºh„àgq1d¬©<‚Tü.>Ê!@c95j­'ˆÃµ£ÚKŸwxÅ«'«›Å³ÕM“Õ¨`ñS¸-,u[Ü–\¸aÄ£O%îÔ§>úIü)ºK©ƒµ²Š¿Vœ|«s„ÅñMiÐl$—ºÈ°f‡å ËIͳ–×5¯ZL\šðjŽØíy”O¬ÀÀ7Ö £h±Ñ(Z]jà Ÿ…¬Î7ØF¤ÃH4ŠÚ1üÌC‹Ÿ±ÆˆEã*ãfcØÈŸ%WB>Nð‰#ö<†Oø¬%¨­B›ñd7Ú7^àðz½0Ƕ¦3“gà1¯X-Ò ‹ÕÕÞšjäÏ8j&v«ŠÛ¼^Ó•â‹9YRªv›^|qa)nCmeÖ2¡¢¢l,Žç±V,.ÏódÓu¿zxþÖþknOß}ìæÔ•õ7ý¬¬›ÏïëÜ7tÞÕ“W’:J/å/‰ý–©ßòË@zN”N#÷Ô;>­h)wIpKƒR‹ÉR®Uçgßä¸ÉÉ;œ¦s¾ä„œ°P¿=}w:(-ÊHG\ ¶˜³PŽŒ HSWÀãu|Fz¡eÊÁ’’ÂK.ƒ`wñú”1ò5_†MÒäy²$³Ï.•#³h0¿mæÍä䘚ÅÛ¼M «¦É3¨f¢f"¥ª¤ZÅ$H ƒ(ªRìU¯z©0"ƒ /¶«yOv^Þâò”Y,nuª-­lQv+ÒáVÇó|{ÛKÝ`tÇóÿËôéŸùmG9d=Þ³5v‡R®ûCß[×?/<ð‡×›×ºœwÜ·ïÌ4ì¹í XÛƒ`mðûÓ¡û|)ó9ÉРóVnöhwÁ‡tÏ`½Z¥Ò¥ñóuKJ§Õ–iT6F¥"* )ÃÈæ¦Õh¨QéNÛ‚4¢†hÆp*Z‹„K!UçÂøVLð”þä·;uŒ¶ÈäGm`#ÔJÄj0 ¯F1 j ƒÁ6ˆfG5º{9ö¶º¹2kš½¢—a¼úéø¥æ´ò58prò Ÿ7ùLûÏ¿F®þäç²÷p—‚þÍè¬ï -wƒövÍmZ^mL3Ò¼ÌÿŽÿ§Î#ùü\AVÀöâF,˜Ì„ƒ=„™ºõ›Z®Bò±Úœt„hÍæä3‰åH‹±6ED*…ˆ€DDÚ!³} }Þ û‡6аŸAöׯq5¢žQ½;Å?·ArÐ6 ÃîúÔ¨Í]ƒÆ¦Nù´&{ òÓXi´ÈΞGæ¥Ôxé§Z—@s¹wç)¸£oµ|M0bNÄ|ˆZMÛ`Ò…ì3pƒEkï[[±ê¢’%›_©ÚÄçýìŠmóËþqb"±‘F› sY°ÓçP·¡]…W©v©ÞRqìR•¨¨«Nª¦Tá8E< ÄÉbá¸~¤MÁ˜ vGŠ2ÿš<˜ÿ¹rÉ”Y %[>ÜR<²HÜ•òÓž§4 ’óeÍ—±NYŒ£rí3Ëh¥G‘Þô‡‰± 8`b8)DE~Trƒ‘2°¬ ¼èXâ Õ‰4À46A$©Kš£|k.-¹º\½Ç[¸_„Õ%š*Í%în7_^X çKòóŒœåÎóä{9«Q·(=ßë-Ôm:1-ÇeÇöµVWº§[äâôösNÃßõÍ+‘Ôyfij=♚糀ôæ‰óÂó¸yϳTÂ6ºL³ø.DÛ&D9‚|L½g¢¦fb²íÌnS1 ¬4œVÑ‹ ø‘Ck[®Z ‘dqyEEeEN%ù,¶ÎgÆÂ.D»'ϪV &"™ N¼üéÀíG×Üà?o¸(µ¸f8r›û™%)Úâ:õþ×Üõ•×¶Û^é¨OuÝÖ¿aßàb|;®|ý±_&ñÒc[¾sÛß,i¿âÂÀ¥û¬¹÷MÄ´øGò5Õc(íñ\dî2o3ï6ßmú†õQm<óTæo­:„1‡œf”¢/´ÔNˆ7æ-÷c)'pYIƨ­Ek#GŒ1ýs$¢yÒBtÕçÂ"'joÕrÚ1rëhÆ’Q¶V{Ïž9 J£w–¸@ÎRc©J©_¥jÌ@óAƒ•VOe™µ’+<œœ§à÷ç-;¿×Wš~Í­Y·V¾¹æÈ¼‘+ì¹Õ·ݲ8¿Þs íê+Wí›<6&e#<5 ÆÕùˆ›|¶Ñ"YÈ|³Ï²ÚÒeÞ±¨-tXYt^¹Z›¦…”C Ó%jA@¼ "—V«Ñé8ðjƒÉdÖë‰V«3™Í“Vy³F8ލu V3$*«u=͇µ¦‹±9€4áÉFj¢Å\€PQal;&¢0˜Õ ü&17BåñQÛ™³ ˆÄòÉ9Œ|§Î-š®|QóânQó¢©Z~ô"&±šJÍËÂÅ8ÒL}|$g±ylêãgÒ3Ë5:ƒ}ÚT{¹@sŸJeó`\fO³ÓüÇ3?o>æð‰¿¾²iQ>^ôËÄrlxeK¶7ñ"É úooñã=“ïMþå§õ]‰+ÁfjRïŸ(À+}ç7Xp¡O«+?Pø¬çdá›öW=ïõ7ìßð<ötöáÂgíêzÓFÍÓ%)]¦« ÕZœ­É6-Ö”™4êB*üUF±œ[P@HAÛqHbUŒí8²æÍó¸$›Dv¹$sJŠÇj³Ù(†­V[® ìÑ`“«×<¤ Çð}F›Y›Òb‘U´ˆÇ[}FW–8¯E‘KtŸ Z°8kâ…-‰.›h¥Û¶¶+ÝÀ£in28z‹gh9¨UN¨v'7(9æ‚ ¦jª8o[3{û¹;õ\¸öWÇrƒÚ×§® \½ýÖc_³.¯^óX›§÷Øâ²ò¦Ç·d‡ø¼ÃƒC—w®Š,œ\Ožß˜[^Ýqà‘ÉIrz¥«Ü×qøÁ„ ñ'ÜóÜ%ª£H kæ¸o~®:W¬TWˆ¼ ¶ˆwh9”b6q¢N£â95·˜-. ±ŸE9‚t<~Smj¶¾n8VzÍÆ;rr¿Î¯­{åè+?àGø]C—÷Í»ò­Šþ—w]s Þªoîoh_VRPp…sAxÅUGÇï2´l\´(/½bSùºí«î¾ôÒK™ztµänAnô_v½k#¹ySêV³jiêbW=ßd^™ªÊå‹ÍÞÔJ¾Ú¬Ǧ>ô­AgRñ·:vàaÇø.ô7·ÚéÈ3,Á+p·ØãPkÜàL„˲‹EÙ2Š¢)KÙPÛ]&½%™´R:JßœNÒLjۗCsq­Åf¾‡í&EjçkQv>MÁQ¶î5zÈ$VC"î…„Û»óOI³ŸÞÕíLæát§=‘Ü!³ôÛRU2+û–wÊL °+jãðô‘abæ¬ vÐIŠ’«¥â²G]m·¯½û•þƒo<Ú1bqFï=uM{ý¶àòDHõí¯ûùơćš¿3y’[¹½xÙj¼ù™Ý·¯¼í‡t‰5ü•ÏØÐݾuRZ©Þgð¥íÖ©´½1Mk×è—ÕÖh2 §"+ÖpfQ,L6A0M:A䌳ɤÓiÕ'YÍæÑ„áǤkÑâäk(ˆâ™’ Ø ÈÛB9©²È{AºATMû>Èü‹šj& K%Ìp%;bƒ B¿dqevaùÒ‘#«ü‹oO^Úqw &Ñõ„èt_ÚÃ/˜|ïÀî’OšâêÅ—A,}œ½è;ßKpK‰Oè *Gˆ^¥Ñò£×jçÉ¡V¹5ŒAptçC”ÓiÝùz¤¾ƒÔX=F6?£RñZî;„ìËÒòÐP{;{1£XQƒíͶ~fo&—4MBïNŠ>öjgÛ "V{'Qµ|ϤqQ± *¡ºz·(E–a·àæäë2\Æg{>}°[áùtl ÷MêÄ£‰%&È¡äiíy0s¶ù¶_Èã<» .#Ñâ\ÍJÜ ¹„Û­yÃ"t ;5;a7û¬æY‹š×ó&bÓÛL„³;q8’GOò‘­rVK÷²FX `öC‹Q{+Ä)Q[b¬1^m|ÓÈÏÒÇÈ•¾¢têDGKòHæ3ÛY§–õÎÙ²3ÚÙûZÙfKOÙÕžëh³N¡’«JòàNÉ’h’ Ѭ}íܤˆng‡‚O_öÕ¯I×Ûµ¢®ãH°`3lbOwl¸)²äÎÉ›ÉuûrÊ—w¾œXrþVb ×ÌÖü Ÿù>Ó·LDQŠ¡™Ì]ñ§¹o'Ég›èϲs¶Ècb)O¡ ‡‘TÑŠ/ºïêk7~ûæ¡Ä'Û¢‰5¸oý3~àõ=?½2±4qÑ/Ç÷è»`uÚÞëD ßSãÔÞ¡?.×½—ú‡ Õhµ_5Üà¸C¸C÷$÷¸Z3_WéØ&lÓÅ Cu!.«,+-|ªÓa·{Òœ¶4ŸXu5,iNªg•Ʀ)«"¬RiÆ™¦ÕØÕùfÑ;:Uz~šS£í-iôÐÝìh©qbѹʹÙvòNÐ÷h†¶ECÏë3 R© ¿¥zGõ¡Š+QÕ¨ˆÊiWÙUéº%/(A³™=ÊOÛ <˜æ!ÒÃ× o M‚å1‘ š3]šÄäE[®¼G¯´–);;zŽDKÎyò•+îÊÞuì–”•^|[È–Õ~ìWžúéÍ]µ‘àd높êÚ‹®ÚX¹¿ÆNh&~Š{ÐiÈ`›a5¥ï7µ–Óð*©·cäÚ#ZÄAªšB®G:%ëlÒõ½«¤œÔi~Yýñ]XYZɼv:• +™äö¼Ó£Ü©_僰q>B$‡t ¸Ä§{”û÷÷Çké²~qÉ’òUÚ]Ú·´œK[¢= =¬=©Òª‘Šç1Έ0—OÁÃcŨwªUj!Ÿ§G¡‚ÐÏkEù(”çi‡èpÿOxŸÞ\Îi dñŠë)nçôbù@”÷5×ðÉQžˆòʹ&Ú–¹kˇ[ŠG®Ê*•Ÿ™%òÓ®ÒRžÒÒ§»æsB›>sZMïÉód/ †ªY¹¡wæë´ë½G½‰º_û?qúô'V>T ²í?ydkF.ôØ8Ê‚äLw£ÉÙfú¾…S›ø,'2Œ›„4“-kàI½Ðt‰Im³ãìÖ¦nÔuéTKñ"]uj#^®»(Uí0›a§bÓP†K+˜M:¸‡ñuS‹áuѼÙ64óæ1œsÜ-Jª<)oç"Ùõ'X’F~ÍV^S*aÛrjÐmòú¯Øt =µ–afÉØô) '~óñ»^=ðÁŽïwM¼ñh¢´pËEWtÞðÕÎe[C+î9òö¿ƒ—JZ0d_£fšíâ|Z3X¯3ãæ},[lúxð]qòã¶„ócǤ³¹>X÷®£Iüø`+t‡7!ŸvL°4Ó<ƒå `ù˜C¹æF·ÏÞ¶AÔFßæÐ×94„°×:Tþ\Þ|µ€±)üt©•ðó Š'_òhÈ¢Á3Ç&ÿþ\>O,I¼Çç%<‰³ó.íê ’‚ɉáïßðGüŸŸüœ„—>¶õ+“wRÙçÊìÙ[`¼ú²×HÔú!|5¿S7`ü­^]uÄ ×éŒÁ<Æ¢ó|™|R¯‹Ñ3¤UÊ4jœc6‹ˆîÊ,:«ÝÞ¨cú¦TG_˜b,CýaÕ§7•£R>`Çžg½ìðáìzèpöL³HŇjš&©¼ÎÔ(OÕîbïî+©hv'%„™Ç•UâŠJµÇ]é°Z¨(s ùYä¼ó¯Y’’¸ÅŽÉS ýw-Áº÷‘ëêVïŠLW¶k@^¯I\B<,Ê¥ Ó¾ oÔâÛ%z‚`˜3DÅÓPÆ[Tz¶ÑÏôjA²˜!œ’N‹ åÒƒMè £«P¶Vç3Wmóu%ºÝ*¯Û¨ÕY!I×ÙuVÝÆÑ¹Iz3ËÅÁÏv6½#˜·ádb1} Ue¡gN‚ê•Ï QÅr29¡`1ˆ¦ªlÝQÓCGG£ÞIQº ti}îÛÇÞõ.i¼áB™þþÕ{,M‡ùÒO¿ÙØ Ú¡¿×k‡œÇéš+ $ £üRº¤œ¥óÂRº|lóž.<}šZÑúOþ<þ»HÚ|:N¥æ4d— «`]:ª¾•Ãt:B|êørDðå>#Ú‚·H‚ŠÇ§m:ÂâGLñç.Å?O^I/¤ ÎêeƋϯSY©v°È(sÝ¡h¦_éùó44ŸÍj®¤äˆ|®Uœ;r2¶Ñ(æg¹ªFíU¤UbÈ?›J`fâìð9º*YÆìœKŽÞ~ÆÑ“lHÉt¾ˆÎ%ÅûgŶä¸4’t2I‡f­"‘Y¹tá4ud–ÝάÝÿZR”»>ÖÒ®ÂsúÛÎô¿•isvšŒ3”a •3Ô!&qÚÏô|d¾f[wŸQeùË^5 ØÇLäkCÿjF3ö±’Íý\Í%s/ºæ• Mžœï˜Vû?£ƒÈgä=Ós”e«4#éTÖ¡m,7ÚŽfgWÿµö“ýE”ü/¤ì‰>/‹;W²´f2Öëó\?NjÌÿYwý·¸‘ò¹#Ì]ïçrT²Ø¬=Éèþd’wù×£J؇Ip_¥"Øc•ÃUŠèéÉÔ¨P–BíB¨)WàJTmUÃ^€^´÷ÿÞZ÷?_“u%Ÿ‘Þôz¸~x Øå¥Ç¥õ=A©)ÜŽJª GÂ,î—zÅR?æÿ/ˆJhgÒºpïÅD¥•ýÐnaUUiÜKËz{¥µ¡îžXTZŒ#Û‚Ë"!ïʘ¿7Höº”ဢ{¨×‘äÊ¥ƒ‘(fQqU©”ß DÂÑpWlL,ͦaø"¥çõ¬ô˜´>âï öù#[¥p׿œ‰ v‡¢±`$Ø)…ú¥nX'­öǤ0TàT50,ÉÆ«Hhî@L+»f&G£×àP0ʆ¸Fú•D¾q´'<ÔÛ >´-Ü.‡«s¦Oé@“Aˆ3!nzŽÀ ¬ØŒŽéÄü ×]Ÿß-cyºâ÷JG0Ž?¶”lX· ü%å• ¤Ê…KŠJËKKµÚ €,]¸°¼î•e•ReÅâªÅUFÝ?ñº錴T¢°Çü6¶CÊq1Ý€Ì>v™[³••v¢‰sèæÖlÕê\*ßøOhfṃܳÜSÜ(7Î̦™ƒÿòÄ—¯ ¾|ñå+ˆ/_A|ù âËW_¾‚øòÄ—¯ ¾|ñå+ˆ/_A|ù âËWÿ¿‚øÂ§³OÂLóCÿìDaº~fç)[õçïbåº:¼J±94I\­²ãûžËã욎éŠóùs¡5_àTdfÖüyTr ǯé†Ï™át ŸÎ×ò>~¿„_4›j¾ñŸžüÌ­ùüãÒiùnM3¿…±ŸE†þÏð>·¦ŸÅ—ú=ƒfÓÍ­ù¢¶ôeößêï‹Úý½ø©³pÍGw¢ÏùŒ¬¿z™…B‡á: ×pñ¨î«àÚ ‡|äБ[Ë|cðØÌ£Íkí¢Ï‹›±²o…üÔå§v©ü,-£tÖï å‡G-•Ë årN—‰äa„a`z7ý®¸®†‹‡ÁMÍ’›im´ÙC£é‹Ì'ÉC@ñ´{ˆ±øOÕ)«Ô«òÁ²Jü>ýë6v¿šÝ7³{ »—°»Y©ý=ÝO²ûav/a÷v_Åîavgôx¾€ïûðý=þ½/bäÂb!]ØWˆ}.<޵X¤ÜuÛÖû*Ë]ÅR­k\eÒ…®Bxºàº¢`…«.wA«#ú_¾0Ad·ƒjR,ß~ê™Änãän#ÒŽáš#»–iñRt‚§ÃUÀu\ü‘‚ˆëyh-±"Byòˆë“¢1¼ñˆë®1 >âú»kŒ`ŸÕõ7××_]Ϻ>r]äzµàI×8PÝsÄ5æãê`ÁyÒgvÝäZ Ìqípõºú%VÕ놇Oï @£M›\-Ò¥Yb£\è‚nŽ»ê¡²®` ãã.ŸëFWYkºˆ6=îZ芸Š]l¸By¸2oùôqÜ5Ëf£Ô»6µFmåþÿö?&ì?$ì¿JØ¿LØž°¿BØ¿XØ_*ì/ö{…ý¹Âþ,Á¦Iш“Æ Ñi4µ†× ÒØè_uzé_ØÔ"}¨yzç,z'ò¬!è"·r¤qÝrÜ?@Rüãuž1¬[³)®ò,Çñ”FÔ¸~¹#¾ÄÛ8&L­WzãÂêK[F0¾¥°q²g £õ-cØIQ×gÐÿÙ<Zu^s}N]sk+JÛVã¨I¹ÀRÕP÷9·vå>ëasÿM`ãêáqÐr˨à:_€â:(î§Åý´èÈŠßÙ¸®%þDVk|¦²Zã·¯“.kÇOã§êëÆñ·è£µeœ+ÄOׯ¥x®°®µµTÃèÀ쟦tOÓÐi~‚j(ªÑü„ÑñX¦ó0:0;™.MBFçI“æÐÍÃߢtôtöwÐ> endobj 429 0 obj <> stream xœ]’Mnƒ0F÷œÂËta› !¥$ýQi@`H‘б YpûzfÒVê‚è9þfxÆæUQ™a _ÝÔÖ°ˆ~0ƒyº¹Ä®ƒ ”ÝÐ.÷ý¶ccƒÐ×Öë¼ÀX™~JÓ |ó{óâV±9uÓ‚ðÅuàs›¼öëúfíŒ`!ƒ,ô¾ÏScŸ›BªÚVß–uëKþï«¡i­X¥:˜mÓ‚kÌ‚TÊL¤e™`º{QÄ%—¾ýlœ*•2>gž5ó9"Nbä³FÞs&GŽ™rÂL™s„|d.‘OÜg‡üÈ|@Î9S žµTÄgú_‘KΠ’Ä{ì©Ø?Áw)öO$òÝkûïð\Šý5eîþè Ø_³Byö×x^Åþ1õdÿÏ¢Ø?I æ2ûÇÄì¯ñ;kö°§fÿèL—u¿¼6œ«ŸqíÍ9? 4|4xûƒßù´“Å*z¾C®¸Æ endstream endobj 430 0 obj <> endobj 431 0 obj <> stream xœÔ½y|UÖ?|ï­½ºº«zß²t§Ó¥ƒ,„`$¥ì"û 5Ⱦ DPTPÑ÷ÁeW ¨‡qÆaÆGaF\g¢<ƒ ¤û=÷VwÎóû}ž÷óþõ¦©ªS·Ö{î¹ç|Ϲç+–]=ih-â9sñŒ¥Ñ>-B½‰vÍ\¹"r÷_/8 ôq„ÄÞs–Î]¬]¹jB²ûWÍ]´zΕ›_:ƒc-B«KçÍž1kôÒÍ:BvÀ=ú΃‚§Ò¿`®GÅó¯Xõ\ñõ“ÚÈÃ=-Z2sFÍ®“ëºu)o_áxA”dEµiv‡n8]n×çCá¼ü‚ÂH´(VO””–•'+z]PÙ»OUuMmߺ~õý/l¸h@£yñ% 2tØðKG\6rÔè1cÇŸ0qÒä)MSÑÿ?þ„(KHxù ”ù–/é6=?ó%=N·äk8¹=» ´=‹ç£gÑËè|®Ú‰ö£6ô'äGƒÐ¯Ñô+´‰h*”ÜŠÆÁO€ò_á`¦ U¢‡A–F‡àÜÉètùp óºݽ WÝ‚ì¨]ŒÆ %è6|Yæj4ãoBuè2tZŠ×f¦dnÏÜ•y ýíçþ”éB6B3áw(óðA毨\q7ºÃw){‘ OY gþ-Cp)gæf~‚7ˆ¢kàx4Â$ wŸ¾À¼†wy4Óš9g塚‡@p-J¢ÂôÌÈÌ!äƒg¬‚»Þv£}ðkG/¡£XNfËœDAT†C}ÚÐ[¸ƒKw­K7RF—ÊP=Y‚þ ýÁ1ü;²DЄ*Á®Í¼ƒ<¨šoû\ù9þžÜ¿¹Wù!™Kør'å6úúáJ<O"ed yˆ[†dxbøÍBóß÷ÁÝ?ÁI¼hä0÷(ÿ4FÌOÏ8 EèAôô;l‡šFðrü üþ” $WÉß¹_ñOò‘f@­/G‹Ñmèiô=vá~x,ž†çá5x¾ßá#øKr1™@’o¹y\ ÷ üÆóËù›„õÂfñËô”ôÁôŸÓßgª2ëÑX‡uðöw£‡ fûÑaô!üŽ¡¿cÛ°~Åñuð»߆Á;𓸠žrÿ…¿ÃÿÆg‚ŸHÂ$JŠà#ËÈ5äWä×ä0üŽ’9?WÄ%¹Z®kâ–À[mà¶Âo/÷7>Äæ3Àç*áa›°CxZxE8)jÒ/d$¿yöÑ®ò®OÒ(½1}Ozwº-ó7ä…6  Q¼ý ø-€ö¾$n'zkÀ».ÇðeÀ™+ðÜ‚W'oÆàß²w¿\z ïl'yì/ µä2~—“Ù¤…l%w‘6òù‰“8§s^®œÊ¥¸ÙÜ n5w×ʽÉ}Ìý;Í…_†WùB¾ˆOðI~(5ÿÿÿ…0]xCøLTÅÅâz±]üo©¯4@#•RÒÒ>鹤ó÷h/z¾gŸÇǹuÜ`n/ºTóAòy äù 4‹I@Rɼ‘\ÛH±°J¼\ˆG¡“|xý*ÙFN“ ¹‘x>ÖÝDÿløß£NþE¨Û[pçU¢†o ߊÚ©‡gþëÍ'¹7ÐQî–ø‡ÑG¼Šý¸“<Á)x‰ LAQî×è9®_ö’Á ±ÏÈ[@ŽGá§@/LÀUø.ƒ82 ¤¨ŽûÝ„’P'ôãè^<‹Ÿ‹nGÕx ú=½¢L¸J,½ø52ŸßDܸ þI¨]=.ÆœàA7ã÷€ø-ù]ó*ú„{Þþ0yŽÉŸÆáyЮGëQKfZ-Láÿ‚ç"OBqþ8h·5\…í U¦ƒNÛ½û苹‘Pɹ äb"hˆàwè $h>ôñÉ ÅÞBmâÒŽæ  Z!þô845ó8º?3]•¹ õ}°!³î¸}†î@;ð-éëÐRT=ç|™0„†dz‘MäC2žÜs~û·ã8€¾†ßs°3@xmâßGãQcfKæ]îRа÷£+Ñ¥èÔòxÂ0®U§G‘]™!ÜR¨ï146óD¦«h^f^D¿•4CJš'N¸ØlpQÃ…ýëûÕÕÖTWõé]yA¯ŠdyYiI"^+ŠF òó¡`ÀïózÜ.§¡;ìšMUdIxŽ`T186¤9Òšhnå±aÃzÑýØ (˜Ñ£ ¹5ECÎ?§5ÒÌN‹œ¦ gÎùÙ™¦u¦Ù}&6" ¨¡WEdp,ÒzhP,ÒŽ§ŽômƒbM‘ÖNFdôVFÛŽFá‚ÈàÀ¼A‘VÜÜ:då¼Mƒ›ÁívÙÔ±³Õ^h—jÒT«?¶töÀŒ þÁýw$Ûá¥ZC±Aƒ[ƒ±Aô Z¹øà³ZÇŒ2xP8mêUÑŠÎŒ]ÙŠb—´êIv ÈÓ*l•Øc"óimÐæÈ®ŠŽM[Ú tesR››5cú”VnF}†3 ÏÔê¿öDàÜ.ÜÜ5pʆžGÃܦÁùº»iÓ†Hëö±SzÒuSÜ®%ñ!Í›†À£·GŒÀÓÈ-MSZñ-ðÈ­ ­•U¿Ù±Á´¤yA¤U‰]›·iA34MhS+·:º;2÷gŽ£ÐàȦ SbÑÖÆp¬iÆ ¼]´iÜê=A3<ÿH¯Š]†Óbì.‡ž%4{Obv÷1F±Ó)5b\7g1}£ØpˆÖÈ̼ɔԩ]Íî‡6Íì§Á_†«ZgA‹ÌoU6o2úÓrz}«7b‘MÿF ±Îž_2#["Æ#JR9é58ž£[“ÉÖòr*"Ò@hSxÇl¿¶WÅÊv‹-5"°ö¡1ÀÛMý+ýÑ(màÍí&ºvZ׎bíGЕáÝȬL6µ’fz¤#wÄ;‘Y›;Ò}ys $¹Á_o«œèþ§>÷àyý[±ïÿrx¶u|ÄøØˆ±S§DojÎòvÄ„óö¬ãýºe©V÷À)\˜d)æØQÊéÝ'Ó)Z+‡"êYí’ RÉJpdH«Ñ<ÌZ7©Ñèÿò¢öÌIzÛœ»,ûš­ý“çï_xÞþy¯§mâà…Á Ž˜0uÓ&õ¼c jÖ‡g7 ñh”hd`+š=3ÿÚ3ýèÒn5eé VQv÷¼ÃYº þ¨töªŠnÓ¦!±ÈMÍ›f´gÖ^‹±MûÉ+ä•MK7ç§=s`s¸uÈ–&àÕ<Ü:A—ìŠácw™xãø©SöƒsÙ8aÊn‚ÉÀæKšvñ)û#™¬”ÐRZHw"tÀPÉÝDfç‡÷›­eGyVÀög¶cÄÊä\F3Û‰UfäÊ”ñV™ÉÊèÕ1'Lé)=¬K6õi$˜gO1êŒ:ã°Â`PÏF¸Ž³¦€Î ßA}»Þ`I€Ç"¡[M»@ ÀØ ft”v²|O„Ç|;ÆÏ‹L*9̽ã\מùÒ´™ˆd]‡u{æ»6McÄßÛìvFœ…‘i(¡ÜQÞw iœN²¿Tƒq –®©Ï£566t5ôé ïZõFÄÎç7¥Ã‚ýÙgú}Û[ r¯ò½f^XéÆc| ?€ô~/*NY‘»Û©Ø'c[ž(Ϫ*¥[e,EÜØMŠœqúö¦QÝ·æ$í½tÞ´g~hc5Ât:@ñ¬J¢Í–­a°úœ2}º”Èê'³Êr =x®fP·–dC× #ujÙ ¨Wc§³¾þa§«¾¯mp\°Oo”Z†SÕÎjoß¾ÕU~)+%Ñë¼å‘ó§]>à’K.¼ÜSÀ'nÖÿ‰’¡Í˺Þ K3_òyÀ…RTGz™Š])ÚCåeöòòz{_o]¸ùðò”=U¾À>¿¼¹÷&ûú²|†ž´{K¡ÙÚl6qb m¿ ¥>Uº/øBéÁàáÒ¿x?.•ùp­¢“VÎå¢kA£ëÚöÌqs"¥ ý…dEyM=__1œV1InJΑç'Wj´×´í?&u5Ì•Å5þª¨'pEÙ’2R–WéhtÜáØæÈ8„mŽŽoœC£ÒãhÏ|ÍXï öR.;4ÊU‡HùìpäqþvòÔ¾ÀÝž¼<‰5@ˆ±~p‰Z•ÇÙÊf3Ȥ.-nÏü“ÝŒ¦–³v„ým´)8ŸÄ_©ÅTœ“Ùâv2Ít”˜(a$"‰Þ‰ ¡d¦ E¢=óÞ>Fô¡e¦½ VÓ»¾£žl¯Çõ~únÓ;úã¢Êâ—ÅÃ")E":hME¾ ï#jôeèZœ(:huEƒ>\ìÓ¯[ŒR-§:“”¤:O夫¡+ùÙg¨±³ñD²±³ëHUeîüØ¡R¢æ¯§2FËq lPK\cE‰Úš¾}ëØ¯¶¦„ ]ÉR]åóøôz|þX‚%²ºŠžÄ5ÌÚ¿`ç‹C—«]xt.®¼ñÆÕù­«ŽÜºñ©1†â/z1ÏåÁ%Ó«ÏŸ÷H"ÿ¦‰Cž¾eÔºQ‡=TW¯êuQSK eósÆ¥¬:yæ–‹úáKóŒÒ‘•Ú§¾èèй@ Q}uȼ\éK93ZÙªlWZ•å˜rR‘R¨,UÖ*Û²EÇ•Œ¢*oD8EänÀHD^¥¸€ømüv¾•ïàób’'ˆðG`çsýˆŸL?mIžÉ¯Ò§òÚ¼%‘Œ°´gM•¶?J:æü®¾ ôÕ^¬ƒÓ¥OoœZÖ’t×V{9gµsc[[ÿÇÏxùÄþCÅ™ïH¹p?ò£ö#5Ó±'–¨Q¨@] ÄÚ ÔK³«˜C>CIêªè9×"T„í®¸†3’*b„.k¸rQÅÍ7ïÙ»×,-xx›1`ö#dæ,-Jß¶¥ë—#+B”G™/¹] ézs~ó:¾ÈSÔ_¹TT<©hvÑåvåæâÇÝOW¼ÂÙ(àï=¢â=¿& 1ª°˜.OW¦«ÓmÓµéöòeºÀ¶@[`oK´•è%‰â’â²¾ÅSÕ&۬ĬÒ±Åk‹©þZ»«ôÞŠ»{?¦>©=ZòXéžÄ¾RÊGÊŠ¢ËÅ9‚CùV”#b9¢8Gä·g>1]õSå’¸¦ò¡HÂËÛ.Èn3‹‚Tü ƒÁÑÁ+‚;ƒ‡ƒ¢, .  ò…Á;‚$øè7/€§1ñÐÓ lbbà#˜ l`‚A~öx|5˜8‡³ã ¦ç/Ê'ùy^‰·ÔüÏsÂý¹é¦MÎç]`+ áPqÐtjªèå•Tp‚kME&è£òŒÐ+ƒzUé« Ö?*s·T\—îÍ«?RŽËéSèåTèmA¯âë}ô¢ò{T´¤¼¦¹ª£Š4V­­"UƸ±g"ƒ׈Åe2‘ô(aéKDŠuƒÖJg¯§Gèi:íÚúLÝA¨3k¢C¸\s‚‚}jêÉQ?ZFf•j',l–ʪÛd²%9òœÊ…# å°mìlaêº}ò„ÑÅ6–ÎͪܫM³¤WALðT$œ†ËpœXd„‘R*…±Ð VØ:baT³kr™Æ¥%Š*&ù0*4òÃÁË$²V˜>¾<¹nÝ:Ô£ûQý’r×ÑÅyÉ4{ŠʥÕì^´º¿”9Sý»õ[¯[³ª6þËWï}q¿ò;Ç_ÿÒTg«¶|þš>_eøæ—ï4ÿÕëˆ/Ê[¸lö ‹bxÕðu£†®.-L»nn`Üôqu±¼|·Z\}ñšéS·M~†öÓ‡3_E ¿=èCSMèSø)òk2ï£mës{kjø å!ü¥òJýqáK]Òq¶“ÚDÅ“ ÔZÓ†â;ËZƒ6$¡h#êb’ŠøpÄ7ÆGš}K}k}œÏžˆ¨X¥wWáîj„ê:Ø=ÍnÄz• ÞKåé}`ÿ{&~*x*•5å½°‰ÉA7[;G©T kþ‘L­1]†R¸Úé!|¬¨˜Ô‚>gz¬¯“o~eVúÌ;o¥ZúÊÐg¯oŸpàì®Óg½Û¿âFŸÝýòÞ+_ÁŠÚFj+]æEùx¼é/Dy^2‘K )e¢m6·PX¢Ì¶É^ŠQè›90ÇQ*?®K\ ?yN‡ø>®þÁ>y»F†.Îëš—7õ84#o•¸Ê{šœȇu»ß?ÆG¹Åùòô­ÆvƒÎS%tÀÒÌÚNm!回¯@_mµc{¨êšx¢¦Ù, ‚ q¡¯Ú(–ÌâòšB©Q-qR„vM‰á)m )™¦9¤`A¶3f› 9²ëÄ(£%™<ÝÒÝ ]`NN4vBÇK5tµ403ëbF–ܲ û©„#§ª«Ó#EY áh‚Aîòßìÿ*ý-öüõ]ìÀg¿Twß2sK×Q2Vë7éÖ5OâIþGÛp!æ°†KÓŸ¤4";ÌÃw¯8ïqð—AÌ×1„òæ^P¶2hõû]TöÕ5Ö¶Wok[Zfmcqk›_`m!¶5ËíFMDØ*ì8..Èh;jE|%2Ñt D‚+…[ÇNgݲΉÕ_Õ<Œ8m².ƒ"”µèþ½¦>øû»×"ŒSM¦¤º$à•>½Áùp¾üŠpà§!PÇ à0~êÃ×›nÝd‡Ñn|Ê}á>Év‹< 6{Íjßg d|Dö8<>WžŽ–Ϯښ£8`Ò7 ˜´ém¥”¶y(ø°Q@î¤ïlc€ËVÄΠšÜFßÜæ¡²û?Ò¥Rýn£õcnˆÍ—-cÃðÏ6*@ªé[Ó8 KÛ­ŽàHµ×Ç\¼ÓmN'cÏO9·. ÷²nƒ{ˆ©vÌÉ|: ÞrXᮟ»‰£üÆéTK·(Þpª™Œž¥Ô^0—¶ù~ØeÙŸèTTY•TN4NÑƺê¢ÚT|ù:œjA Ø™G˜ÅãΘ³ÆÒäÎ \ýqóÃc µ­|á°åOð‰{w^:²êú®ådýU‹/¾ëÍ®©.vƒ²Y+¼üØnx¬+ƒ½ƒfpiðAí×ö'írÈ^jo vù ­_i¨°&_¶sšž§b/IzÜ<.ó6ödÜ&ïóˆ#waæ3ïéÓ¯†1%™WX³á ÉÐi§Lõ0&—2Ù,bl®ÈŠçw–Fž,«¿ÎùÑŸ·1–óŸg\4|@Qt«(LžîÁMÜÝÐitv¦(ØnÎ7v‚WÍ8ë1œ¢"‰2xZ†â #§¨‡1°µ|Ý:œlI¡eÕ…ÖÖÔóµ½^ŠHwoÛæÝ´ò²éá~Uã>Ì=°¥eaÍɮߨCš¯Ürvðt àÐNè!Ú¡w^¥f¥Ó8˜ª¢KŸÞas¨¢á¼îþñîñþfw³ÿAò ÷€ý1ã±&Ûƒê2Ÿ[ \­-µ¯µ?®íUö©{5ͧ­×>%œ£è }‰~£Îé˜ÉÕ½™i†×Ú jå8héº {Çw4ýý²¯n}ö¯…;ƒ7NÝøÔc7/¸ßâþ0ÎÇê3˜¬Ûùpxá¢ß¿ýÞ+¿ ý``’•ÐòÑÛ{g’ù[Á¼º‚RTeŸ ŒZ‘¿Ýœ¿= <ÍýÖ¾Ÿk³ÿÑ~ÈÿW¾ÓáÊwæçsåb©³É3Ù;)8OX˜k³ëî~Çy;ðcd‡ó]‡PÈð!àË'»K뙉íUZoèóawÆ… xÅHè—¢DØ*ô'"2–Y@ÌœnÂÔÈÎQ f~2 Ò餸t@jï0µv©qWWñYnÌsQ~ñm¯\”þýgé÷܉¾òW\qáËÕ¯üòÉO§/þ|ý£'¤Ï·g~‡¯úËgxâ®ãoôÚ~×#éoï|!ýÕ&¦An‚U³uŸî˜+ÎŒW]?ˈÕÔZÛÞ}¬m‘eä̸×_£ …Â6á˜À†ÕI+– k…ŒÀƒU g…Þè˜ñB܆pˆ(ùãp?™ùÿ¡°--"gUH.´˜Éä‚Y/âÏ÷Ò^OZŽ:Å tþQxS3ð!$L…ºë 7Ÿ™•‘B>䬮¦qRj'ÃÏ× 9ëUê/Ûõ Œ™® [}½¶8»…3>0•‚h *…•J;¶òˆ|°‚½£æ ¥Ô ¬t­ •* µÕªÃÐPužDšä)Ê<‡Ì—ç+«Ð5ø²Z^¥\£nÀÈzîVi£¼Iù ºO¹S}=¢¾„ž—v©¯¡?¨GÑ»ê?ѧêtJ­€ê¨äSKQB­SG#SUÓå«ÄÔìYݨ­:R©„èÌõ@Ì'¥¼ e.ºC¹ÂJ‰ h6Ôû8 ¼åPòPU66:Ì:U’帢zEóL _y@ ªŠTE– Á¢¤*ÂB¥†µ"Ù4Me­B”vÞkB‡ôŠÃ¦!&.²}ý*j¡`Wª+ tžHYàºDºŸ Îú ÂÉ ×ÜpA€nš@ggcŠçþPª)Š«Ý>ß:w5ÆÏ¥ý׉xa ùÏý髸D×Ís—LXI6ÒØACÀžƒ^æ_h¢ù˜Jx{Ü^cdj=µy“Éuœg|Þ\2K˜­Ìô4çu¾#¼ëþ8ø™û3Ï·þ?Ë?^˜)ô&C ¾†ÐˆÐÒ­…Ò¤Ø~¯?©µ ƒíC<Ãó&«“ìs퟉_ø~§ör¨â0ØA'R½yœ-PQÜ©Ç ãˆNÓÙì\ëä vµº¹ÓE;°“…Ä©Àj•ädÞÉÀ UHNUHN Êi_vÒ¾| säV¸Š_–KǤŒÄç¼¢‚^Q˜Ie/±Ø6õŠÆôôŠZFvvõ€C- F§ÑÕp‚¹¨tqÖ3áGÐNK´Ö ½e)è8ì±Ìê7ûàï^½à›šï©ÜÓyæê•¿Ýqݪ‡×?´åÌ£Û0·iìÅÄñÓâzóõß½zô̓Ô*€Õt¬BÜ Pç W %èF´ñÛáøvþáû¨ ¥¨Žê×¢¶Ú{àСCôÚûuhoƒœ°´Á~$ªg°PvØÌÝwÆÉLÍ7f)¥4=,è§ LdÅæ@²BT›È< ƒù D÷1WÂ@VP˾ɩڳ–ª¥¸ë[Šéè0Žé ‘šd’ÙÔ$ g»i¡Ä<(‘­9¶æÙZ`k™¶vŒ…$Xsq,NJX„IaC$ª–œþÀÌ’L¥ R kÕU£³• A×tØ,c¢ÒŠgÖì¨/IȼšdÚ{Pv )w[„i]NU‚dPÿ¢¡ÁªLʪÕÙ:lÞˆˆ.{HXæWXü°R® ×¹2>n¯pLá¦ñ+í«ì²r½½¯c4Á ’Ly¤ý‡z¹Ÿ»GºGÞÁ=!‰.¢;½â"ƒ öd emœ>Ž!‰L3BÁos8 ÚNÍ®µ.â:@v ;î³[ˆÈí¸XfE˜ÚàÀ€J:° Žvl3,¥¾ÔÀF;™ô|Dh-Î/Ù±ÇI#4AãTêTª!†•Ñ t¨{çD ¨?`ôø…ÀK8_iA×Ñj?¢µ éKHËœ|‘Ì{ýúõkÂ#Z58VÊàª=óÃ.‡JKÁy¦»ïì‹Ö;*¢õöv ëêUuŒÜÛ J{Õ[,oZFû] üì&0©˜êA÷ ǰó>\Œ§õökñXx!=igzŠpàÌwwó wö§!ügjùãg" e¾äKÀÓ°£ ^¸Ï ííÎEâujß–³h+;à’Ô 6T&O›ä¹â|Y®1ú»úûjƒ®¾ÁéÂteœ‘r¥|ã‹…ÅÊ,c±k±oVàìUDÁ>› LP§i‹¸ÙÂlu‘¦úóxÉ™g³yŠÃLù…™"þÚR~S{Yw¦=s’I.#˜æ¢A D¶+t˜îâxMo #É" üú ã0-NƒF@;Š‘æ ÖÅz+ó˜P{ÌÓ@lp i òùXW0á–…¨Ö'DƒG vÎùÝFK2j¨‡'Î04tÚBФ¦2^¯\)\©ðÐ\¬¯¸:P”È “"w]9è±[ÿðö]÷ÍÇÒûwoX¿{Ï-v7.¹}eúo]‡þñ \€ío¾ñæŸÿðÆë ëG‹æÛÐݦW dY’ÇS©*ÐéOò W4»4¢FìD Ùyåʡœ9´¨]8­§¥hÙÕÀ¼‡S'’ÝpÀDƒAQ#§7š]á‹Ï>Ä%ϾËÝ,x6ÝøLÚþ,ÊF‚h¦rG±³ŸÆ€|'}d©o»¯Õ—ññ>âù?ñÿ‚AòÏ‚A¾Á b ð{>êG ø97D`SŒ¹;îãRÜ!jal—õl¼gJ¦`Kýí±b= q4ÖÓvCÇÊçF´]½pÌm ®ïîJ=öë®+Èîûõ]/P/ 0ÔqšŽGïG!™…F"·¯F§¢QíòÔ$ݸXvû4ìöÙ{:ï j_<à§mbíágíáwQVø»ÌýŒ)þîÈœŸµ„¿»%üeŸ¶”²(ãÇ~ìb^mÐÉYÚj eB|Ä¡»9Œ”ˆrD9®ðJÎÕSºS.²’ ²ö§÷g ¡°†PXC(£‚ç5eø†ßº2jl°r.X#„xÃa×íD´\&N4x-Œì²3Œhƒ€7à ®Íb§’ ôûY¹/¥¹Æ5ï^þèhÃÖfs^5vìí¶ýºmØâѵËÉ]]{në3tìø;6’z€¸]’Ë} z¼•ã%f³Í&x*lqÏe¶ÁQÉæWØžŠX½­¯çRÛÏ$iŠmží'õß^Ç±Š’±%—•l­Ø^!õö-k¬b\6!:¡l¾43:³¬¹bmÅÑ’/£ßľ-qú}¢·ìj+ÍsK,dDPoÿY‹:@î%ÔN®7«„¼<]\”§©>ou¼ZGüØð›þfÿZ?_hŒL¬`ZßÏ ¯¿òúäõûØ1j ,¡pe…‚-~êz_ʤc…Žã¨¨°øeý°~LÏè|¡Þ¨Ö9è!6PWÄêØOvxŽá^=˜¬X¥Ð79ªô=`÷|ôÛuâ4v>AÇNÐ-¨iA©?ugYêB 4$±0°¿Ú’õTîsvÚª®¸~cÀW¶~tòª?ßöâµÏþhû}}ÿãׯÙñ쵫vL WÍšZ׺7||Æ[î[{vÁ‡W=Í•ÿ¹ãå7ÿêï©Æ|*ý ¾ бŠFíU9$=-¶ã1fs àŒ©˜ÂevØOê?YÀy;ÐvCÍ€nè`: Ó5…ö–ÜRí¥’¾}ëö3¹ª¾/wèPËæÄÈàŒi–¦ g1üG TNåp§E(Ô= ~hœ?ÁŸPþæÿ,"¼+œŽ¿‰)pDá¸XAžè¥Í a1pJ=Ç[ãÛã$î÷‡ñ­Nìä™Ć‚LG0ÈC›ÑI!‰Ÿ6«“0?ˆYi'K§qæl•3‡\í8ejøV°úìváîÛ…ÙíÂý;éíÂL‡YJÓ–â 3ÅÎåé„éý|ˆTÇâøÂ4ÞI(, ^ ½ÆŠÖH2Óó,çù²z¾GF—‡)|+tdá`q¼¯ÚÚS­8XØF’£ÄÉTרÁ³}Þ² Ñ5h ‘К4€GÛ3g4;áÑœaì²{sæ ;”•Ë «ž=ÌÃÃU/Xyoá ¯?ôÔžØôKÕ6eÖeëúó‰»G]qå”;÷u•ß,º¢ÿÝuÝKv¯Z5æ;»>¤ž÷’ôXé]á]4MFß›“ù¨ñE£ñZ{µc°cx`PtHñáC'Mp\[æðÅËpB)ÏO”Õ†úÖŒO 4åO‹N*›4¼iÒìÀìøœ²•¡kó—߸9´%stC"è0Æ87¾¼`ªzIoÛ±I¾È04 /´ ìÏ©…pôùþ8’\š$Éx$*!/ì«V¬KXj'7™º1f*vm׋{K bÀO¢0y¨­±_y1œ¯ yÈT"µ¸68eòk|cP§ !ºè|'ªììLÑô(`}cêD§+g@ç¬,¨n߸®š³ÂÌu}]µ5¤8VÄÓ8*_)®«Y˜µlAM E«x¿ÏkHôú’ó¨¦I„¿õâ‡Ç6í˜ÿèwË&?T_´gkAY~í¤e·<~öÐ×éëß}ÿòßXÄWNÙ[ýCú©ÿþ$}kú‡f]‹‡Íðæe3ÞÜ÷Áà‰{Ú÷‹ ýÖ´ Û0ÃlY`>:bÚ¼ÖmÃÛ§¥ìš±E—\4Ûïx=÷Qzî×ÿN?ôdë ó޸쳻_úèÔÇXÇ‘7^{öô'{½¼$ˆ/»õ¾7¿1gã=o}‹ê© BÒJ@vü‘™(C g™+¨G}õ®¾áh¨s¸kh` šìœâš0î“ïÓIÖ9®6p(˜ôÖ5Ú a6 ®ƒ6Í;K˜¥-ô®Vh×yuÁK=[—ŒdÈxiD­üõ)6b6 8üG°À² ‚û¯ØºÁå¢SÞöLÃ"t«¹œtkNõÊJ „D¬(W@åoÀãõ\š¢x]@ºœ "†€ŠÓ¥hrÀ+èNCC^Ià†®+V`Œ\.§É!ÐnÆÅ  ØPƒµ xì¾ Ìƒíxó®–t…‚#»ÀÝì »¬swGÆrî&Ôg¿ØR_¿adOçóü ôò ãàAX5ÌQ=Wàêà:ÁÝíR€ƒ,5…åÌEEtD%ëÐ: df &œÔFpY*ˆƒËŠÇÅp¢4<~(}݇ú©Øÿõ_FÇòz}þûôU/¤ß(‘üžôk³÷Þýbî“®PúŸÿÚÜÆ=ÞijKdöÐ3‚ô,â¾Â ¯o³ÂL¼-}*‘]Òï%òŒ)?,“åò/d2Qž |–±lãü´DÍ`æ~ÖÛPFŒ ÔO.LNÙ¬ýfµÅcP“`it¾«§D¯AŸ]Ö¸¥…&Óy$Ë®ù]arZEßZŽÿáÏ¿]áØ²¡¾+ÆS _œùBØ/¼âØm†Âž°—4—àËe7vqÅÅ(êò“8*`™Rf„ paÑ_àࢢ‚IñâÇEH¤¤™p„fcä’S˜ÄѶlzÊ)3Ìâ?ËÖ–à’|–’Âò¡Ô`bæ´îaœ‘FêtÖ+ƒÚјnnŒºÝyC9Ë0ˆ…óByÁ‹ìùQäÓÝQ8ÙãŽH°W$Ä£8ÏæbVJ4ŠŠ9X1g3ˆråÌÀàÚ¸ó¼‘#Ÿ_º€P«"‰Lélrr—‘Åw¤lÿ ½­móÑ6ŒïJìŒ^¹oÉ-¯\í·“;o89€4>ƒ»Ž/[¾_þÁ{xyÛÜö_õ^ºv䨛GoÜv0ýÃÚuØ vø[Ð8.7”@nL—(Ì« Ô/æyNU”vÜ-5°y¤ã íÃS|ßEÙžftú«,,Í.ߟ¿uˆýÑvÇGÈ<î xFá~Äáñ¦CߤH˜ «µÉO°µ }z»k˜eõP-¾øîyóï¾{þ¼»É[óõ«ù@SR†€–Tñ€ìè…‹Fð©F“»‡/*{Ž[dóÅ•.G¥\\­ÔzkÍÚ­ò­ÊV­C;©Ù"ÚðÄ&gêó ÖlHfJ2«‹UE‰È‚”#Â8B!‚ú*¢"Y™-ãÙDf !¥õcd¼VÞ*Ã>Ʀ˜¥õW|ÙF¡%Έ0F ½…fa«Ð!œ¡lÜckÞaÅÒZN€·D—'ÀäP°3ÐØ@#f×LMÁ[êÅCµÒÕöÌïV\˜nd×öcT/•Âi}Ïé¥&†ÄSÖˆ€ «Æäâ®?ý_AaQ/¼åÕ®W„gÞ_»tÕ*¾ÌyÛžÏGɺP¾Ò¼]3z# ¾1Ò!…‘2-–_å­Ê¿$idkDîïï¾Ôi¸Iž¦M÷O/jóÅþ…áŽÈÛž‡Þ.8á9Qp<’‰øb|ÒHzkùþÆþRcªñ™íùiÃætp¾<6EÀ—ç°!G°øˆŠ ÕT›Õµ*aQ‹ˆ™M%ûœæÆÈ¥–15Ð3z{Š…¾ØTŒéØ]Mª]q„:0ÞŠ·ãV|󅏯¦îç˜áSÌð)f‘5Ì¢¾˜Ø@<=•ùÁ˜Å—1,ÂÁ¡uÜ3yÍ‚¦FU¤çŠ y©'Üé¬Ï À¦-îÌ„Ž@žqr=£ õ¿kÞÆ# ®>vÝÔ;.p>¾rÕÓO¬X¾+=_xiÓØ±[2÷=š>³ù²þ]g¸Ç|ãÝ7^ŸöúÍó|¹øü\œßEH4´ôÅ,ÿÞiÓì,õKp<éPJD³t´9¬äì³’RN“í«N# ´u©vM¤üÒœ˜ð*ïT³¾ˆ•Üì¬L&2Þ;d¼ÃBþY ÂF­²ª1Žzp9_¦’KÓœ·;9g„˵gŽç¾çRñNšJa´ÆÈË/¡)Ú'Íç ‹kxQSÜbX ºñ¢M±9d—ÜœGʓö|G1ŠKårÒQƒj¥þò…ŽAÜPÑ”FÊ#lõ¡ÎK]Óôq®…Ò,y®kµx­´BÞ/Ð÷¹þ-žQJmÎRTj/q”ê%®JO?TçºF^/ßÇÝ«=w¶Çµ½hŸxÀñ'þ=ñCåKþKý ×)ñ'%Ï&Ò7ÖØÚ­)Ì·fkWÊ…U‡Î»S–两ÇTDgÇZÜÞžyϬ£âg'q\ÎäÐŽ=nQµ9jÒ9§Nw.r®qnrªN•¸G›Ãj˜ŸÃ½Êä)øG÷ôgY;ø6=ƒ’ ¨ª @P5œN½=3П PßpsŽª;"¿wJrDrº\IAò‚ä€vŽÛ»Ý!;u=©Ê¸œbÃì("Xrñ²îÔvöz.»¦QKC‡D]ºîp ÕsÚ°ãf;M¥áìíø SŒVñõF•¨íd¢©Œvâ%Î4Iu¢i3Ü̲80POìŧݧç0ëy*• t¥Zà=Bï våÈn©7½ãnÔ°žÔ}óîëüì:gæø5ÂGP¿,æd%ŽÌ;û²UÀ|—›ŽŒ4åSÒ•b#$Ÿ2\êö3pÊ•pxDú…O6òÕOîßV{Ѿé¶ž,{ŸOt=xÂù:¹ªë¾7‘9gŽ’5{ÏMóhš"eÿ€Æ=:ÌÛ[ÃsŠº]= "a3 Ò#‰TG³É7Ý)Æ"S¶" _؈foRkíØNl‘ì 7+½øÿ’Ï&¶ÉÙpB<_62±ãˆ}ŒŠO²R-="È,~lí60è ’SŸªdÉV`8 K Ö½B~zå•.Q8Ðõ8™úÓ²§k$¼ã1ø3BRÑN3™vgÍBþFr¹_æŸáÁS¨Å)Ö~]µ*ÕôFÙúυ³ƒ;(ÕÆ‘­ÝI+¿1P›MÄi‚i×­|½—€#‚)!h;€ð-ˆö Š+΋ÏÒ Ð ´/äRv£1'@ÎZòÕäLÛÅoO¸÷ï•+øë¬)|nèëWP<01ó4G ‹ÂÔP/x ìv¿’›T °™llÁ‰Øl2ä³"=ç ýÊå†zÏ»“e¹:‚œš}cMŽƒ[ZõÎò€µsÏÑdëžmb$häÇv“ˆí¿ çø`qÁ¢ƒ€]É‹ÈFÛFý5‡ H¶ì¾Ì{ip`x‚{ºwzp\x¡´Ð6ӽȻ0Ø^M®WÚ®Õ7ˆ÷I÷¯Ž’÷Ä÷lé¡î×]®˜”ï4Šn(DÙZè\Žr­AtºèÖ‚?n¶FÄ:Y¦j÷è Ž"Ö—1ë¶nƒ@|.¯A@IÂm°¤v€$N\øöö•»W\²àí‡ßY}çþ'׬yòÉÖ\š"oc_ôÌ{Ò™£étú÷ÏÞ÷<þMúÞoOâyxÁ7ó×Ó¶ˆ× ˜¿Ÿá$J x®‹¼J*騕‡ålüÓ‚)FgN]L§S§`Ùøžk:tèì€óI¦ z~›±êÀs÷a‡ndý³,aE™ÖtndÞšÂXiô6æÊó”fc#·ÕxMxUì0N6Yh“Ècž­Õø—ö/û¿ ¯ñvÞÁÙTEày Ì Ø* hYÔ$03´‹ëVε¤yàá8Zæ¥e\„×P|ÄÈÚ´5ÛÖÚx+­ÇÆt…-M#9Íà¼-7¤mË)U“,ùœ T%KK_ÕÙaC+O¼š‹ò?cütn¦Eìk=À¾ë<°ÿÃÏÁ~€}ö †Ö7QåØO&÷)Úo<—Äð>(\6ÎX@¼‚ÎÎyüçÐ>îõDÛ²]Wîl1Óß½ôâBR3ñΕÏüöê•Ï€½ù÷£ïx}yúÛô{¿Á÷¼ÂšôXÒ,¼ Rq‘©–è.I6Œv\½ms€;[m:¥mŽËgpŽãžqþf Sg]§AŸ±±U6ÒƒÄYSö §$z ŒÝýÖÈ©/®[]rQ ~zì‹øìøæh×™#M›îyá¥ta:rÞóg›Z))5ˆ¢¹úê6h4\݆¶q—;¨0dg%[Ekv#þiêªJç—:ˆãWöiüì=Ý1䤳³%Õ4¡ß ]ëÀÿ(º¨äÚu/Ny8=Ç{qÿ=›¦þåL×ÑoÒߥexËñ·@ßQÐmf’eÜ!áîD$K¿Ž€­!$dû_ddaŠ–…)éÿH P/œÞS¸Îeœ°æä³i7?ËØÁ}|ö3ÒÚ5†fô¶‹æÉëqÿ zßÀÍZl¯Žm"O‘ˆvðt6ê£W&™«À²šÃÏë.¬ëEší9&X?U¿‡¿G¾ßñ€Þ!tˆÒº¢›¾úçV¼öQ‹ûÛÖáÛmr¥k2ß$5Ù¦8îÅ÷©÷Ùž'íÚŸl¯;Þ4Žrï*¶d|¦ºr.MC.§°C)bpPJ±#hF‘µU’àZ±˜9¢ÈI²¢`QµÏqàý€Œ°®Û _b·qš¡Š:ÑUãUôªBŒ8R<)±¿ 82®qMãTEá8"ŒÐ4¤Žva×pû Z‘ªÏ•Lµ‡Ÿ7Å1âZf&šŽw) ¼î\ÃRêS§¬ÔÌèúÏŒSŸ§Îó2¨ªOe}ˆ¨zD__×7ÈÌw°Ö°¡EƒÜ…êmŽ@~½òÛ–_¯ùë9Xèþîh½Áp¢·Eë3¯>§YšØäàOª©ãj? ëÔàëøæôý{ô‚¼Šøž÷ÓwâÍíŸþŠ”âôC{_R}&­u½…/mJ§ ^ÑôXî‘þ>+#ùªGçl\^Pw‰6ÑmºôˆÍÔ"YY V&C‡‡ÀÌÑ û˜sæÃ{ô<¬ÓJ,Ϋ/õLÒwªMhHiÀd»|ö€«ÄV¢•Øûj}íµŽû¶RW©{˜¯ÉÕänòÎwÍwÏ÷®WÚW;¯õ\ë½Å¾É¹ÅµÅ}«ç>u‡íEãçÏ×êžÛ»Œ=™¼‚œDùܶ¼0¯ÒoÖ9=ØýúÖÇ\Ýuº®àÁªˆ zÜî¸KõÀŽ®‹·©›MuÓ,ØDz”gä‘ʼ—óH^;iÜ«/LO;™`Ú]¦‹\ázÙE\íø’}:.BƒÃ*=ĸeF´ÞÚh£e4°á’=•:ð†4¶…#kÀ]æuQ¼BDáBÀ8u"Hqzg(`t2 Dç9‰’)x@¤Y‘ÚÀä|QÀ…À…–ùÙ2_âž 'óɾºzµ¨®Tä—{½õÎ"o}VzèRT|Ü%Öè| È& ƒ z£çІa~gB°¥¿òq²¨0ùi[zÑÅŽ×LªIÏ}Ò(-/ÔóùÒ®û¯^·f%YxæO;/iO¿trh̯¬œbTŽÝû{(Ëáä‡Ä&ſĖ+7+âüÐÕÂRe¹í&á&›XâS¸@Iy/_QÜ®‚òò²2deû8‘HˆU«"ÿU3’娉,ø$2¿OdÈRdfZœOhyô M¥çilB=K UäüHñJþ|BÀ(¶sn~rçÏ3½è:¶Àú ó¹h¦? ÷‰];H G«¬TÿD tzUËú’ØñÆò9so¹còÚßmIÿ_´®ß¥#†üâ¡ôGxñå‰SûO¸{KúYá@ÓþÙ—?^]òâÚ¹»šûp㜾9#‡/);³]Òú-2nuŸìŒ ¾ ÚÅŽh·Y1Û¹ÐCF#<ÓŒiÞ¦ИŒ?`Y5WBf|“l¾mvŒEEBþ…öÿ·Æî?YìÉÊ,/[R7»Íåƒרô:šD£N »gF²»F.º«é›ôkéøºJ]Öçæô­Â‡kö¾Å/¤»ºžáð–§ßäµ2€ïÏæÔ¸Ð»æ`^ˆ òÕÂzAðË‚ ñ<á7Âv«~¯M¢ß³°‰RžSßêÁ¿?¤iö¸ªnµáB[£m´£ÉÏf›Xi%C3Pic¶†bY2†Mfø•娨‚nϳ?ÏhHµ°±©QË[@#;-f LYšÕÕ Ùšsâ =!j+ÉJ¢É Ô]Ãu SÒ´):F¾¾-=¯¨oa]ß¶ê‹ïÎõç?ÿxÝýŽáwñÓÏl?8rEƒÐk…q4ŽƒÓfzCVú—¨µb_u¨:™[ϽÏI+Õ¹U0 ®— [øMÂSüײ ò¸–ð å(®h ¡+0 {´z-ÝûrvKCº{òÙ¶cËGË?1/ Â3ãñ‹d%¼H?UUdUàx>"¨A ó)"’>ž¨ªH <&’MF²Ê€|;éoê½¼]h:„ã/\*Ó2[o GÀgk•8©¬75[äÿmßÿî\zçêôårMºèGaè,;ÐÕ V– , ´Ts;rš›€5}pò µÃ,rÇg>è×d™0ºsræ¤ü:iúé7#dÃaÔ(”R »Q“™7Ë.§´N›\¬çéR®€—û|@ú, gsÕËEžzÞôÔS6ïéíô†ôƸeYŠ™íÂQ ÿ$ç=¯°Ôu?ùEu> NHy¿ë¹³÷‘Ï¿Nó–Ôðå 5Zlj˜ð\€dö±*ò„©K„û_kÚÓÿ1õJü©W qnµ¦KG½ðz÷_ÏÂ#~ òK}\_¿ËeËŠ倿#9 4£”’ ÇE$„H&ÇÉ Oˆ"É<E!7£[èO Ö̇öÌ÷fˆM?HEl8bþëRð`› ˜ŸE}ìð°ÿ>äÿ3FÙ þ›zêÃlVë©ó¢’,¦¾~Ï¢×9ñá2ÇŸ©‘#°BLDèØ Å—²9¤ªß±oH½lVYdU½2C'Fî Ye‘´4ÆHÓ«—XÜtÿÔ>7ù™¤—’?ìꢬ82ùl‚–Á4VŠ¿þ#GüñlZ8pfãOCøµgÖRMS áÀ¼Ó´»ÚÉk2qá*—Ÿj·@wøkð€¦+^1/¢Œ”*•F=®W‡ã!dˆ<\mLÇÈyª2ÆX„g’™òå:¼B¾NÙŒo‘oU~ħH8('p™œTêåßÊïc‰¢éç o ©pÕƒ:zÇŒV%ý•ȪÇă1Á4¼DfI€@ê ;²SM§°1˜¤C%íXo“eI_o!‰~~Œ¥ÝÙ·;0r˜ŽfÇZÇI‡À¾žUL9V õŒw"<-A°:,Ì‚º±"JÝ ªý™Ú§i•@œH²¹ÕFýÄIƒñÈûg >dçPŽƒÙÉ2-)”Õ{ËpB¦‰÷dÊKØ{åyÊEÊJ+ ¡¥ §6”Á½Ð)²›/Ÿ×+²/|RÛí¯gIÀª¯žx` ùÎ9ÕµXŒÑOÂa©ouÔ[J[>%=š›Õõ»%«àÜÅÉâ]×t]~ò mçé™/ø€ß›xÍ’™ÜL~9·‚çã%µ\}Þ@n¸tYþàÂAÅCJÆsMÒôüÉ¥·º1>Ì~2Ì"â9"‘#JrDŒu.ëd‹ˆçˆDŽ(¡™ËC(UjO“b®$ÞW¯‰ Š®œ™›_d[`_è˜ã™Xm»Ö~­~½quñòøzn“íVû&ý6ã–â›âwÙïÑïñdÝ^Ñ„+œ) à:Be!_Õ'fÀ²÷Z¾5LÂqŸ½WAIÇŸ@%ÁŠ{ôR |‹'©_bÀ¥².Š¿¾²Óú…Í^ñb‡Ý&D‡eIäÁmÅñâ"(…‚p¯IÉ€Â:}¨K azÊÀ<7ã¥x+q;n5ݽè#é£á/U¨ —Ñiÿ«”ÑW³ÓëÊBUP'œpQH¹rjËÕ^uM`1¥>Ù„šÔÈê ýž›mt¥Ø§x¬ÁF§ßúMlvù9£ƒS-îºÂº)Ž+.I°Ï¡ýì“9¼Ÿád€0ʼnéÏÛ¯øÓõKž?fú…éEcçϽá»_=úãzá€þì“­×÷ÃNY{íú3¿ùcú_÷ã÷«n›|ÉòAƒçÆü3’uÎ^ò»Yóß\çØ|ûºi£««–^¸wåÕ‡—¯øŠJêFÐH?PìCf˜aÑšû'N§*œnÿ—pZ䔜óq*—l`JŽ`†PLä®Q‰KŒ¸™;¹ÇeT·ÁÖ%°‚¨5t}3”ˆ¥ÇER\®û)öÑö&¾Iœ"5)×ó«…û•WÅ¿ðï‰'į¤ïÅe¯K Äñ„¢&MªX)na%ÀOq ?© ìÐ4ö¿€Ë„TTš©<Ð"™îE#ìËlœE mµŽ#Çxkî“M4Ÿ·ÏäóZsÂ]L»¹z|Ž1¨Ùÿ:§'ÎÍê;–ÓLv˜ÏdER@h¨®ã{:¾@^¹cël7´Pp¡r3G”€½TKÖ÷5U¥"ôY~~Å?»ó) zgw„mvEë³1:C¬1ý¹‰™ŽÝQfwûèæ“ÝO°a{Ûì²åf˜á,ør}Ìc´¤"{< lWÞ ÿsW¸>+êMÖ·ÿ¨Ð[ðŠFk^mlÃO}•^€_þ$ýð³/âÖôÊ®Y¤ðÚô4ê±ÍÌ|!|,¼ƒ(Œ^7Ç„tì1<ž°?æyƒ÷Øü¶0ÿ¤ŸãUç÷Â$’o:G»GûÍÐaŠ2Ù˜è¼Â=ÕE`Rhrx³ÿ~b 8ÎU`S¼‰ÍñÍ|™û:Ý7¹oÑÌ}‹îëÜŒ²S¹e?„bB±6çë ªÄ“"ƒy¹o&XMHåÛÈóƽRÐñ š¿K§¹³ü·:ëCA5:=š‰7â¾oà!O·¥÷½|8}`ÇŸpþûáðê¯î|+ý>y/Æ¿y%ýÛ¿Koßû'<õ¿Òß§ãÞƒm¿L<Ïý‹L«c£ßó3§o î ’o¥oÝä˜tÌMK‡Ýäeée7Ù)ít“mÒ67¹CºÃMnnp“3òY$/ò©òTÑdÍCõ}ü<|–蘷{By6É!zòxrøՈΈױ¡›z³¾Vç Øô 6t¦³éAz÷ô MÒ}Ù/ï¥-C÷Ñàƒžûæ;½‘å"­pþçŒøb6£”Í ’ØÌ Égõzë aùçÏ úfÃwѯPþ<Ñ µ`gö«2}³“€Î›_Q~ïÄ—Òß.yû†?´<Ò}fÕòÇw®¼úÑô|"_8 _€¥í雿ý§Ü³‡ýþï¼÷Gj·/ÆídY ¨ºÂ .%K92$ÇèØR6¶ô¶óÇÀˆ¨÷bR†Û÷î¥m» ?Ì÷çE6F>Ô,DÌK Šs8Î)Îób¼7ÁÛÈaBÈË )8(OžÊîjÝ4ÕÂİõZ6º 2(™~<™ï¶÷'ºp—ïèzp}^|fƒæ´";N˜}]S´yÚÚ“Úkšpw™ýW<çÂDFšÈI‚jã$=Äþ:Ç{þŸö¾=0ÊâZ|f¾}¿wóØM²ÙýòÚyȃHDŒ$á Âf³I’lØÝCU"‚(¢`[´Åjµ+Àö¢¥ÅúëC¯­om­µªí¥¶öÂæž3ß·› ØÛ{¿?~°ÉÌœoæÌëœ33gæ›™FxÁH˜Á¨P 'Ø ¢!Œ>âÕ…PÈÍYû30Ð{3Ýåºø®´™BÞ!)m¬£^£Ú›S®Ìš®ÞefÒÝfÉå„Y˜È·[¿ßeý!¿’1Ò‡p;ÃqjŠZŸ<1ýˆ·ÈÙ0mù¬&~±ò6iü6›Íñõh#Œ¢6~VÛ«ŸV%dO­0BËc1ÎK¼É¯¾Ê0¸¨ÊàõT²àÊGº[–t¿·T°Rvß…-졯¿ôÒáØtºú áèùkŸˆ=Êl÷…uÀtܯ’¥üqÑ¥ñ½xM§‘¿ïušt®”§ ÆèÍ …Ëi„©›Ú6! ¦÷ª¿’Ø$~á”g^ÞI6é·Ò2·gÞ—ôݤ ¯ÞÊÐh“¦Éé‚¶DY¢Ç­[03÷Z’t)¶¤¤3&s²))Ùd6Ž²Ç½IX¯é3™ÌÞ*곂¾Š÷R‡WÄâYW[B–M–…ePqðM'JƒÂž{‹áØ%Úž¥Ó‰™î¡ª6¡Çi%îöêÇ·£¸Gé×Åw¤œÃ“|ŸñC›0 ùð¾_´‚yþp›¦¨P)¿u(-áÐøM#-‰«.¥+‹“²R²éÌ6?³äû)ßêÚ|øÀŽe; ößÃÞ¸ðLã–{Ÿ£šèÝç~xZ¶ßuê±=óSÙŸŸŠmXûìg§ï~Û³W𳇱ÛAn÷^«§z]ÍÐ)tZ~ÝJ­ÒSæÀ¯r¨‰BÐØmFÐn•øþ™£AŸ íBCu*¥ž‹˜L“Oª”Dÿ„j”îö•O¯5©œ¤¥õJG• œÃq·æÂªšªbÜ(mänüÆf¨©Ý“?M¥ÆáU“|;*<Þ¢½×$Ñ{…䎭E›6^º±ºñÚÊ Ñ²[t¤Î¿»|Ê=“MÓïXÒxÇÝ×.ÙY”†õþƒ^Ïu“[¼3¾ªÙ¡aF ½ ¦ïª?Q³ïãî’ÔÕl…ºKÍ4jP9â‡54•!º‰îÄ 0Œ¦¨!->PÖà Ð,&ÞÀMÇÈÏUôCb‘Žp@·DÆGF'ê µ—Ó É| *¶Çþý"L8A÷‡>:Ô¹µº>iO[±?ܼ¯ºï;£Ú+k_$ŸL£j¯nWÚ®tÖ©IÏÈe{¼fGZ²Ã‘æÈH1§¥—Úže{‰–ˆíõê…ô´4f8yèïÿ"¶w8Oï|–í!…”R¶g$û©é*|Ng3$©E]´¯{e<[€‚-MH/œM¼Ÿ={aüJèm|s}i‰cî€w16ÉUè&ÓÄR7ê¨8 #3»‰]‘â¦V@I€&g¸iYXSò‹Ü¤$,5¸iª,‹Þæ&Éj°wÃ&nÁUù ghü:5hBN¾$¬ÿáû¶yæö­‡hÕÜ–sêÀÙ_;ÿýÍÃ÷CÀ6¨FÏú–нýâÉã?z‰¾}àîHtÏ=‘DTÚÏÿFïyø- 8MOEØÅ<‡?ö[V|H®¾;œ,­ü‰ÉU÷ ” {…§&l xc*V :ácÂ>ùÛƒ&ßZD='YÎ+¬â4Åë¦S°NûwÅ–§)ÿøLô’_)f*^Àïªy ;…A%”*AÔ'Ø ðØŠaæU§‹`H'ߣß,]£¨áëÇ}j™·5¸à@ÒŠÓœ…Ÿ#]V•åÖ:¦PšÒ+¼|>&0vë>ºg$v*öüŽºü\0ß g"[½Åýmú¯ë¿­ÿT]Å £®Ö-ÕtGt¿Ò©õ:“wÈ©kT*¥I¡ÿž›]޲FÁ7ÍÝ ’®R×(t•úje±b¶‚áŠ÷£æø:Yc­AÚ̶\¸p‘R/7Dh„ñmu‰CůÈÇŠã{ì⇋+„šÏ×Ù=@¥@•bD¸U¤»€;kUëã§jä{ÏKK’0eᎢWJ ¦í¯ý R©Š]Ïn®O&_õ.˜g¦63L»ÐR;ô¦ò<X©ù©dÒäÉwž˜dÌ3Xƒ[<˜a³æ)Óª3òÌk+ÊüŸF Þ“F%×ÚñÔ^ƒ;N«°ØÉ$Jb^–Õ”gLÊE“ñ -½Ú™—Ÿ\mËSåW¤ŠjÕA²ˆ‚S¸›³¿fœ ^Bkœ )&ÆÔ&fÎtÞØ+@p ,ßãá^v³¥¦²ðˆ µ¬Y¹A©žHÖöm¶èÎØðô%«,ú‡nûÇÜÐÖ¼Š#¿xÁ3wúC–Ô·cß¼sP bì·‚¿™ßïµX‡*ÊúTwï°ª´üÞa=îs¥é^½ÂeÖj=:Æ£BWôÒÎ%|ߥóòy‚~•˜DÅ$oÒ¢¤5IŠ$ê!Ò¼CÚÞåñ¶üÊ£Áv4þʯŽV Îò†sölályN\û ]0óiu¯þÚ‚´<¿ùùWè#Ž}7ÍÜ"üå|Ú虵ï"§—Ž}¤HU>ãE‹¼³EŸæà3&‡“ðõÒB<ãB'åèŒfƒÙ¥ÓMJq9®INå$cŽÑàH£Ä&òu-QíátO1î6F´B[4mhÒÈÖ—,/Ùª@;,Cƒ*bÒ˜j¬7ÞnTÔ[—Y7d‹S»,k“ÛRûŒÉ··'ß™ñ„Q§ùµ-züz§BM!_˜Î<>‚Êß Š\4Òé@°…ã8{œ¤±No>”R Å4Ú"«ÅÈD~ùj¡‡«…ŠßÉ`ž¸ZèÙ5Õ1 ê`Ú«—S§\¬Æ•A~µáÙøÇ,pE÷ÃñÕA ä‡×_¤ª+&êƒñÃLR£&À±¥‡Ý»×mzú±›§]—lÓGFo_Ü‘|8ë÷o<³®½mó®ØÇ¯??Fos|kÛÐæ›M~˜Ýx³ó–-â‘ÓÃm«,r}ÿžçbý ½tûà,î,i”yë6S7] ºQFL‹©Ñ˜¬te(³]ÉF‹Âô™_PÌ·¸ì~‹ç¬oµË›È_yíË‹ñ†º ï„EFN]—FëÔÞ”º´:q…­Y\'´©Û4kmmbTÓçܪ¹ÝùºæµT«šXÊŸSÊálE(K”×ÎÞ?œ/æˆY`ÅR.22(g}u5ªúÀZm¼ÌÐü*½6r$/bá<µPbÖµø”ßÍkÙ5E‡ÌtÑ*oêlûj{Ⱦɮ°óÆgç‡ì£,w¤PÚzޝ©œ•ùÊù u”uzia’¬j¡j~C7öÆÈB›|“•_È”J“'(ýÂŽ8¦Ì_·´vI+«}¶ãð…þŸnù öáCw~|à ÷, ?þØW7>©h2­-YP2ëOoû×Äþöóígo¡ ô&ºÿù}?8ÿΪ'[FþæÓO£\M®ÚI)aDâëaÉpñ‹…’’Ø’¢"[–K¥,pÙŒ.­!¾ø~”Ÿ7(4K÷]1i•ƒßm4;„øöQ!Ž%$DBÈMáÛ4RxŠ)\$RÆÏ\|h ŸÅÁU>»ðŒKÚÒ.D%äC¾]ÙŸ9Ëù£Ÿ€;гѳŘ)|™Âk:^¿ññ¢ŠËˆ~éäôT:)u~ê|ÏG†ß•(µ%ôfr3½Iլׇ }Æö»ÈvºCq»æVýÃíÆ»í?¶¾”dËÆEN1Q,FgªèA‘tM Äå (Æ#Et¥#'µT;Ê:¼–ˆÙ+‚<š)1[ÌÌï‹&Š#]ÛÛõÑÉç~¿®{ÛݱÏÞx#öÙ½­·¯ëÜzg{ÇÕów5ݺïÀæMß2&}sí#o¾÷Hûý“¦œºãÙ1Bés;Ÿ§Í[n[íß¶åüØ‚]ßÜü$_¥y”¼x?ɦç½Y QÛ ç w»¦Û­ÐòW=n«-òçGžãÜ1þJÈôqÀ6:ö«[z¹ _eç—[ñ93¿Ü"»fÙ…ð_Ždz¤pÀ·È.†{çgºÖy­Ø¤_éìv†µ7šÌ[uw˜ï7î7š?6ýÖl1 ¢Õœlµš­fƒÖ–Á²ÒSu*˜& J‡V›jOOsÙ‘_üpÝN²²ù¾/‡Ãl6i\Óƒªø±Uü] ?¤•Í·Ûñ3ŒªUbnoî`®›íøW÷‚©¾tïCÎÌ}—l|–_!¤}è?Ä÷„¢v]UÌ'ìöªm&iBš{Løá<Œ¯,é4^s•ÙRmµUó·7ëåCrïzÓÓª¬ÙiU60&¯³Ê’ Æ &±¹¡eÂf={ª=)G(bÐMæð-h\þ²eÛOýxã™W,¹nìÜ–ô,›šÕð}të} ïÿv¬Dy¼ñ‡¾ž™—»°/¶ž–nÙQ©W_è¦U Ìëä§tR ÿkÍ4&¼¥Þm™•™L«Ðf²eæg’žqžN:íü{¦Š²¢UÉD«TY‰V£¶­^mÉÐԇѬ¶ØM6•ÕnJ’í¦T–b7¥±‡1¥dèœBr†.SHv]*«ÃèVY3tºŒ y£´æÛvS²ÝnJayÉ‚@,ê<«j”õVšLF£N§%0%1Ñ¥$'[-³L0Flq|Ãhÿ†1ÏäµV5šöš˜©/K÷ í7 ]üúŒµŠocŽˆû;徟Æ]®ÇUä‰ç5/ð/áÖ¿‹ÏÁ›¿ðCޝZ<™>-)kzVÒ4 L!\’ÊIÂs2IYËöŸ¾6ö -^vß2:sÙý˼Ü@Sc?^vßÒØKËúhuCìÅ4úänºn7=kB³;¶{wl)}2¶”ͦ¸¦Xs^5ŒP.z:~“04&GR’JjðV+þäÕâZ»Ñ*¿ \. u9Mââ¾ W Lg·‹n‹•1Ñ#òk¯ ý )ÆoÛò/ÜœBuRVs0CƒÍ&õ0^­ÙÊâù€²aƒÒ•Œ~˜ö0$ù]rü$áårá óÃÜxfÞ3•3U'”'U'Ô§5?rªçZ ͦu†6ÓFÛÆ¤;mÏÚ~“þ›ŒOÓ 'õÏ$± ‹Ó’iqYTÿ6ö)Q½O4àjÇ>õ¦»tJuÆ™žìt¦kœéešt§`tYPÉm´Rë(uÁN3e]Äþ*èï¨÷Ð0͉”!ƒõÈl¶š…Ø&¦`ÇY.4’²ÞʵV\†ö…Iº¼Œ‡Ý‚I>r‰øi»J|niÉKÉòàœkÆÅz+*=¨)Ôç+˜=ïÛ{>Ù÷­¯n~KúûÏ^ýìšïþౕ®jküÏÝrê7íë¾þàö¤Ÿ¼ñûËŸ|öñ;|¥ )wÅ‚ÌÁOÅ]í-T…”Y”ªB¢¶ 0áST(ó(QI‡UµZ˜_@”§4ÉÍCú†…Ôâ—‹'Y³Rr¬ÓRî¢wÃÈT_¿ûó7øÝù± =Ìsšíµ+pÓ’E`…„ÚTJ%eB~¡ï^~$Ÿ<¥}`ß¼x™,hÖtü(C=‹¼ñ½;Ü­Êß?û‰šÞžwPÖzôn^Õì:z.™K­¡{v‡•˹•ï"°:¬S õ.<¡ÓhL¦d˜2S> 3Z eP\åÎFA@ÝàTáª2®ž–É'× Q ³ ~þ΋‰Ö0¡ãëöÞÉ|ŠgåºÜ—äzq^_ȪxbFÞòêôëR½9_I]–Ó.t¥v§wälL¿Ùµ#ý.מÔýéϦÿ>õ#ñ31éªÔ‡S¤ Õ“ÚT,×üsð4s–¨ \¦Õ¸ÀïÄ,é«‹$eÿ0Â}œV=ˆ·õâ%ý]Spp'Ö„FeõZ™uWá鉳5T¨ÎN\·+ôü+-ò w’竤Û÷È7èü’ Z>þQ‡Þ©7ùšn^4ƒÎ8Ñ}ôbŽ_¼•Vš˜ã¨Ñôƒ,¼dGúv ~ßö,_–ç#é£5 yX¥ë¶òƒ6J~L—¹Áù°†ìM CN<–«1h Šãcçˆ0vŽ7´éÝ6¿Ç˜ï£À}Biã÷-à/Ë:~ùŽ•Í¼ðòiÖ¢ú97Pç¯.<ú…±«oº)²‹>}~äÂ×±×]-Èòà"Ùd‹·zœ vSúM¬5=ÁÖ|&¶e6ÃTg®j±ä[­Ä8)™º öO{s²²³jÜ:wMv¶X“•å"7¸zt7Ø×æZnaè]›WÂß”Xøaå |_Åg5¼7ùPúÐÉ*ø‘U«¨‡¿.’¯Ø“ÇJêÄ&¦Æ•fúKêJ-Í=QùxdãXÚß^þ%+n[>#¾Bƒ¹¶µ ªg>ÑZÜ»ë[©¯¼ùûï¬y,ºðÚ5]±ûùQxnˆ¼uX|{µ¹æ¯š Áßc¿ÎŸLäžÛà÷%‚ºÊññ®zVl!™ÇJ„Ä_Q«zþš”°'ÉVE„\KO“;À/WAÈlåiò(ø5ÀóIp·›þ‹À¿ðn÷axN‡°«!ì¸êIòM€ë”KÉcˆæ60s ìIÛ¦q“ún’q»TU¤jò {…t¾ñ!=˜Ç~̈wL¹tìÀ·+"c硌7¡òîƒ|Í`² î}`¦§ÇCpïƒ4„°x^ î—â5™á×€[«xŠ„Ʋ/2‰Ê4y| Î$ýœ&O‘^,7ÝFV°§H˜bH«ð—‚Y¦I¦O ˜À½ L>¦Æ'Ç'P<¯Àï¯Ã_Ôx9û¹Ð¦¬TžQíWg¨cš}ÚÍ:·î!}­a‘q²ñÓ;泈–¿XŸ·³ý5Ù˜bL’z‹ýjûFû#Ži5ë3Î9[3½™=®¹î2÷B÷=î@Žfo̹:çG¹KòzóŽx¶çßRðêd÷äc… ?œòô”ŸOÕM=^t±ºø†âK®+ÙRòbiné¼Ò—Êæ•˜¶¯üëÓß©Hªø°ò󪢪5Õ«:3iæ555ßàRó²?Ô_í&RL–}Œ:ܱÍÀïja¡$£ð‹q[àÒ¦ãOe¢È 4U†DG£2¬$z‹ «ÿ>V“SôqÖë”a-ÙÎî‘aâ‚C†õ¤Uý¦ H»¦F†ªÃšÇdØDVš—&ÚÃ&ó° S¢´”Ê0#jË H±å*VN— +‰Á²^†U€³ «I«e‹ kHtª¬%õ–ÏeXÇ|ÖY2¬'¥I{eØ@¦%ýT†ÂŠdA†M¤È¾ JBHuƒý.+‘#öû9¬âþßå°šûpXÃá8¬EÙ_•aà‘ãg2 åOâ°ë•¿•Ãz¬Kþ½6pÿG9lâ°”¦ë’ŒÃIÛòOs8™ã¼ÁážÎo8œÊýÿÊá4Œ[@9œ8RÙ2§ÀÍa7‡ 9œËñ+8<™ÃõžŠ-£  a /¿ ó¼ V#lü×q˜×¥ Ÿ4“л¤4E?¸"Ù¦™trx ‘0QK„Þ=D£íÿ ÇÁ§ âTÇý}ÿ—)'J&’&é"} œøÍWʯ”TÁ_ ™*CeÜ·bt»ât@¢<ÖbH/&L6€ÝXa÷&†t@]𾤴Õ0Å/àVCï„)F5˜%(?‘@JA(gB"`Ú!ÅIÒú²˜ã €ãO9E‘^m³›ç¿ü0åÿ=­EðÅ¡$Q^"¤ψ•S]|É"_$žß°!ïvNsàc¼¤ŠTîç11µ¢Ë”IâoòÅ2õîÀ—b¸\!^?/UG"ß ,µS9_B¤U.õBÒÉ%Ç¥™’({˜‡¹„6ÝÇK-ñA’¦J¡¹¼$QNå8ÝÂP°|² J’ä´oã’…²ÖÃóš(/~9-/Æìæ)b¹;!ÿnž¢D}‘—ÚÇóóËÜB°Ô™>^G)Þ@‚ÿAYÊ{e8m"\ò¤ÚÅ9ä“ËßÇsyKç<ÒŸûyÚ¤qC<-)︿Dí¨L¿,©‘Kð¢f€S%®”¶_öéã”F‰—éo±aNÑ.KŠüì–cÅsðóøä\ƒrM¥¶‡)ŒS¡·á.Ùwœ®A™º!¹&AŽßǟƹáRÚÅKwy™ˆ÷©‘D]0¬›§7žö ëäÒúdúûyo'Ê­4N³6žw÷•âc Ê<ìäí®W–‘ØØ¢7ÈÔ–Rïå}œW’tˆœ†~¹þAε.ŽÓËÛž$=<¦T“‰ÒLH¶üeÎtóÒ lnÛ–Ôït%ÊÑÍŸÆ¥7ú…‘(ò…úùå@Ü/6wÄ¡žP¼Ä¹¡po(ì‹C=bo—¿H¬óE}ÿ R1&&6…ºúÐ'"Îïx¥UU%SÁ*+k»ºÄÅÁŽÎhD\ˆÂmµá ¯kq £¯ËŽ'[Í=EÙ·zi Á ¦•”ˆ ‚þp(jNâX¹Ç‚fîì›Ã¾¶@·/¼N µÿÓR‹á@G0 „mb°GŒê’&q‘/*zÄæbc{{‘èëi]‘@' %R‚ú†:¾ÞΉ^±.ìëöt`Ü vª¸8Ô I/ ú;C]¾ÈL=ô}b“¯¯§ êdª,›ê‰º±lá1â ‘‚íb[ ìè™"Jtñ–/Ý¡p@ììëöõ@ñE§/ìóC5à!è@=|="„ `ýƒ@ò^¨`ÀˆDBVÈé÷ù;Å œV¾¯' ö£œ Ý¡PÆFŠ…‚ø¨‘¸_´?Ð Û@_x Hä”m„}Àëh8à‹vCFð÷¿#˜r/æEhïëê—²ïA&Áž¶¾H”W5è L¤Jjs „»ƒ=#ZÉú üþ>ÈHb`[Ð×ÂðþN ¹ØèꊄĎà†Gà"ﻀbwh×ôº¯·7dìñ ‰ÜA$–¸*Óè¡n.L£;ØÅÉ•QDÎÏ1Zb_DŠS3°¾ ÛçGú‹í!¨2¤•ŠFQN êáð= ¢lŠÉ¸xÂc·¯Ã·1ØI¢þ)Ñ z[0ÒÛåÀ,0vO ?Òëë…¢J1Œ`ˆÞu‡xjEÑhouqqQ·,°EþPwqg´»«¸;ÚãëwGVû°âEèù/Fèto€GYØØ<ÿêùsk›ç7.¯¯›?·~aS½X;oq}ý‚ú…ÍFQ×Ü dS IŒ<‚B ¢œ¢—ib¼2(ÈXçÖq Ô‡1ý(m@gÞŽ$±áà2 ü…æ×辎p €’X$¶@´NˆA¨›ÄŒ^T”Î~§0.€”üQàs;Ðq¼\ÈÂPG€£p'âk@z[û¢43-jB…ò#ñB 'H‘ˆŒÒ&nðuõùZAÂ|‰±‹Ä%=\fâµ€:É=ˆ·OŒôüAèt.­¹TìáÒ†q}mmA” Ê0ï‘§ w˜Ó–·î/ª+ØÄ A&¯?^‘„”Ë#÷ õC‡Ú×ÚŒtb>–DînT(?°ªw@”„W¦ÐÅqzÌo¯ö^ëûž ô{þ@¸G®AX.7GŽt†úºÚ  mú¥îê’ê#p2=@Ûx—¨#‹w¬þè8±b>¹Ôí—O–9An÷rB/ZKšja(¨,¯˜$V”VN-)/)Ñj—4€gIiiy9ØÓ*ÄŠÓ«¦Wu_Òêþicħb¹x¼ÂT5Ä'y¨”ãm€aà_ Àï¸ÚkâjNQikö‡„ï 'ÁŽ O]YÒ¿²¤O®,é_YÒ¿²¤eIÿÊ’þ•%ý+KúW–ô¯,é_YÒ¿²¤eIÿÊ’þÿ‡KúÍüÇaÇ¿\Ø_ˆ¸hM€¯ |Iš]\Â'<+\ŠREƒbžâ*°«.Êûà/Ke!o3Ø÷Hµï¤CôQðvñåq.'öò’±|¼ÃüÒß¡fsm¶`'Ÿ€#7ØÅ`Á¬³Ì^0*b–}B`69 æSâìÃ_›æç.í*ã>éqå*þ8²¬Er\/¹uó%´j ­´\ò.š#¹ùS$×–W6ˆ®ÎXö\mªJ~*àîË^°);EÌ”7yDH!C`˜ ’}¼‚m$×S¶÷¤  T`¢ºÇžè°ÑZV«ccìb#nö'vV agGLÖ²½µ×²_‘§Áœ#°_Áß첉½O(±€=Ì^0'ÁüÌ'`Tì}ø{þÞeï3{‡ƒ™ f5˜½`N‚ùŒš½¶…½Û¹ðl0Œ½ ¶…½Õz l3{ 7Ù›P´W‡+ªÊŽq °XÜy2`Ï[jÙ(ûùðç“Ü£ì×#b¡û‘Úöà ³× ñ׈f˜5`zÁ¨z ×É ˜]`3Fq^‡8¯Cœ3`~ æuRÆ f ûé0d3Ê~2ì™ã®Meÿ‡&v ê+ì‡Üý1{‰»/³¹û#p]àža/ »Ü¤VáâXÀµ€[ áJöüH®Í=Vke'W`Ùž<Ùw„NšìÍ V,ºŸØ ð— Y,Ë›iqZ -×;Ô좮1« ©x<ÁfÕXG©ñèߌÿ›‘hkµì¶“d#vÉîÎáÏ3Ý£ô›ÃžîÚz?q)@êhñÐX'ýGà^Ñ>$¸dF¾ìaõC^_]$JHÃÐ䦆¡ÙׯX~H­ß5X¥¡ê¸Ÿ^_?:öœäYžÕè) Dô«A?­VF¼”ÿ}²Ë/%d'F¨×EaV×" ¹štÍ+ ®+W,?ꑨ`„ÒH< ^lùÞI‚õ›hŸ ÉtˆÊ® ¢DâäHüJä¿ ,Ì endstream endobj 432 0 obj 29527 endobj 433 0 obj <> endobj 434 0 obj <> stream xœ]”ÍŽÚ@„ï~ 7‡žé{‘?‹Ä!? ›{ –‚±Œ9ðöquu)P¹ÝÝóM͸g›ývßµãìÛp«iÌÏm× é~{ uÊOéÒv™óyÓÖ£=é}=öÙlª=<ïcºî»óm±Èfß§w÷qxæ/«ævJŸ²ÙסICÛ]ò—›Ãô|xôý¯tMݘÙr™7é<õù|쿯i¦U¯ûfzÝŽÏשä_ÂdzO¹×gG”úÖ¤{¬Ópì.)[Å2_ìvË,uÍïæKNçúçq˜RÝ”Z¾XNÚ«ŽZTW:¨.t¤žC—ÌÑüŠZ ßØ'BÏ™¯z¥:híšñwè u ½¥Ö>ïÌW½c|3iW0Žuù+Ô:ò—'¿GGþ°…6þ4ùØùË7hòW7þ šü^Œ_{’?ÀCGþ¨ùà÷…Ã~ùâ¾Ð¸³wÔðÙ›ÿ7ÿÑÓ“¿ÒZòpzò ÎÅ“_4Ÿü²‚&Ðò—ºÖšlðÖ“ßkOò{0{ó_yÈ_!Gè…¡ÿ=ÅøÁ ä/Á æÿÚøá¡˜ÿ8#±û£ùvÀ&æ¿ÖÚýÁÙ‰ñkŸ 5ÎBÈ_a¿B~¯qò t ¿àžò Î:߃!{b¿üëò{Í'¿×¸ùž`þƒ9ßãìù+óþTÊc÷G×%¿`ïüÿƒñƒ'’?Âóhß/ò#ùEãô?b­hüX+’_pvÑîØ¢ñã,¢ù½DòGÍ'¿p°ØÁˆÁ ü3ºòú1 ÓØÒA©ó “ªíÒßYÚßzTéï7±”>— endstream endobj 435 0 obj <> endobj 436 0 obj <> endobj 437 0 obj <> /ProcSet[/PDF/Text/ImageC/ImageI/ImageB] >> endobj 1 0 obj <>/Contents 2 0 R>> endobj 6 0 obj <>/Contents 7 0 R>> endobj 9 0 obj <>/Contents 10 0 R>> endobj 12 0 obj <>/Contents 13 0 R>> endobj 15 0 obj <>/Contents 16 0 R>> endobj 18 0 obj <>/Contents 19 0 R>> endobj 21 0 obj <>/Contents 22 0 R>> endobj 24 0 obj <>/Contents 25 0 R>> endobj 27 0 obj <>/Contents 28 0 R>> endobj 30 0 obj <>/Contents 31 0 R>> endobj 33 0 obj <>/Contents 34 0 R>> endobj 36 0 obj <>/Contents 37 0 R>> endobj 39 0 obj <>/Contents 40 0 R>> endobj 42 0 obj <>/Contents 43 0 R>> endobj 45 0 obj <>/Contents 46 0 R>> endobj 48 0 obj <>/Contents 49 0 R>> endobj 51 0 obj <>/Contents 52 0 R>> endobj 54 0 obj <>/Contents 55 0 R>> endobj 57 0 obj <>/Contents 58 0 R>> endobj 60 0 obj <>/Contents 61 0 R>> endobj 63 0 obj <>/Contents 64 0 R>> endobj 66 0 obj <>/Contents 67 0 R>> endobj 69 0 obj <>/Contents 70 0 R>> endobj 72 0 obj <>/Contents 73 0 R>> endobj 75 0 obj <>/Contents 76 0 R>> endobj 78 0 obj <>/Contents 79 0 R>> endobj 81 0 obj <>/Contents 82 0 R>> endobj 84 0 obj <>/Contents 85 0 R>> endobj 87 0 obj <>/Contents 88 0 R>> endobj 90 0 obj <>/Contents 91 0 R>> endobj 93 0 obj <>/Contents 94 0 R>> endobj 96 0 obj <>/Contents 97 0 R>> endobj 99 0 obj <>/Contents 100 0 R>> endobj 102 0 obj <>/Contents 103 0 R>> endobj 105 0 obj <>/Contents 106 0 R>> endobj 108 0 obj <>/Contents 109 0 R>> endobj 111 0 obj <>/Contents 112 0 R>> endobj 114 0 obj <>/Contents 115 0 R>> endobj 117 0 obj <>/Contents 118 0 R>> endobj 120 0 obj <>/Contents 121 0 R>> endobj 123 0 obj <>/Contents 124 0 R>> endobj 126 0 obj <>/Contents 127 0 R>> endobj 129 0 obj <>/Contents 130 0 R>> endobj 132 0 obj <>/Contents 133 0 R>> endobj 135 0 obj <>/Contents 136 0 R>> endobj 138 0 obj <>/Contents 139 0 R>> endobj 141 0 obj <>/Contents 142 0 R>> endobj 144 0 obj <>/Contents 145 0 R>> endobj 147 0 obj <>/Contents 148 0 R>> endobj 150 0 obj <>/Contents 151 0 R>> endobj 153 0 obj <>/Contents 154 0 R>> endobj 156 0 obj <>/Contents 157 0 R>> endobj 159 0 obj <>/Contents 160 0 R>> endobj 162 0 obj <>/Contents 163 0 R>> endobj 165 0 obj <>/Contents 166 0 R>> endobj 168 0 obj <>/Contents 169 0 R>> endobj 171 0 obj <>/Contents 172 0 R>> endobj 174 0 obj <>/Contents 175 0 R>> endobj 177 0 obj <>/Contents 178 0 R>> endobj 180 0 obj <>/Contents 181 0 R>> endobj 183 0 obj <>/Contents 184 0 R>> endobj 186 0 obj <>/Contents 187 0 R>> endobj 189 0 obj <>/Contents 190 0 R>> endobj 194 0 obj <>/Contents 195 0 R>> endobj 197 0 obj <>/Contents 198 0 R>> endobj 200 0 obj <>/Contents 201 0 R>> endobj 203 0 obj <>/Contents 204 0 R>> endobj 208 0 obj <>/Contents 209 0 R>> endobj 211 0 obj <>/Contents 212 0 R>> endobj 214 0 obj <>/Contents 215 0 R>> endobj 217 0 obj <>/Contents 218 0 R>> endobj 220 0 obj <>/Contents 221 0 R>> endobj 223 0 obj <>/Contents 224 0 R>> endobj 228 0 obj <>/Contents 229 0 R>> endobj 233 0 obj <>/Contents 234 0 R>> endobj 236 0 obj <>/Contents 237 0 R>> endobj 239 0 obj <>/Contents 240 0 R>> endobj 242 0 obj <>/Contents 243 0 R>> endobj 245 0 obj <>/Contents 246 0 R>> endobj 248 0 obj <>/Contents 249 0 R>> endobj 251 0 obj <>/Contents 252 0 R>> endobj 258 0 obj <>/Contents 259 0 R>> endobj 263 0 obj <>/Contents 264 0 R>> endobj 266 0 obj <>/Contents 267 0 R>> endobj 269 0 obj <>/Contents 270 0 R>> endobj 272 0 obj <>/Contents 273 0 R>> endobj 279 0 obj <>/Contents 280 0 R>> endobj 290 0 obj <>/Contents 291 0 R>> endobj 293 0 obj <>/Contents 294 0 R>> endobj 298 0 obj <>/Contents 299 0 R>> endobj 303 0 obj <>/Contents 304 0 R>> endobj 306 0 obj <>/Contents 307 0 R>> endobj 309 0 obj <>/Contents 310 0 R>> endobj 314 0 obj <>/Contents 315 0 R>> endobj 317 0 obj <>/Contents 318 0 R>> endobj 320 0 obj <>/Contents 321 0 R>> endobj 323 0 obj <>/Contents 324 0 R>> endobj 326 0 obj <>/Contents 327 0 R>> endobj 329 0 obj <>/Contents 330 0 R>> endobj 332 0 obj <>/Contents 333 0 R>> endobj 335 0 obj <>/Contents 336 0 R>> endobj 340 0 obj <>/Contents 341 0 R>> endobj 345 0 obj <>/Contents 346 0 R>> endobj 350 0 obj <>/Contents 351 0 R>> endobj 355 0 obj <>/Contents 356 0 R>> endobj 358 0 obj <>/Contents 359 0 R>> endobj 361 0 obj <>/Contents 362 0 R>> endobj 366 0 obj <>/Contents 367 0 R>> endobj 369 0 obj <>/Contents 370 0 R>> endobj 372 0 obj <>/Contents 373 0 R>> endobj 377 0 obj <>/Contents 378 0 R>> endobj 380 0 obj <>/Contents 381 0 R>> endobj 383 0 obj <>/Contents 384 0 R>> endobj 386 0 obj <>/Contents 387 0 R>> endobj 389 0 obj <>/Contents 390 0 R>> endobj 392 0 obj <>/Contents 393 0 R>> endobj 395 0 obj <>/Contents 396 0 R>> endobj 398 0 obj <>/Contents 399 0 R>> endobj 401 0 obj <>/Contents 402 0 R>> endobj 406 0 obj <>/Contents 407 0 R>> endobj 409 0 obj <>/Contents 410 0 R>> endobj 412 0 obj <>/Contents 413 0 R>> endobj 415 0 obj <> endobj 438 0 obj <> >> endobj 439 0 obj < /Author /Creator /Producer /CreationDate(D:20080229120943-06'00')>> endobj xref 0 440 0000000000 65535 f 0000636210 00000 n 0000000019 00000 n 0000000427 00000 n 0000079276 00000 n 0000000447 00000 n 0000636356 00000 n 0000095090 00000 n 0000095557 00000 n 0000636502 00000 n 0000095577 00000 n 0000096221 00000 n 0000636649 00000 n 0000096242 00000 n 0000097028 00000 n 0000636797 00000 n 0000097049 00000 n 0000097734 00000 n 0000636945 00000 n 0000097755 00000 n 0000098395 00000 n 0000637093 00000 n 0000098416 00000 n 0000099341 00000 n 0000637241 00000 n 0000099362 00000 n 0000099912 00000 n 0000637389 00000 n 0000099933 00000 n 0000100777 00000 n 0000637537 00000 n 0000100798 00000 n 0000101383 00000 n 0000637685 00000 n 0000101404 00000 n 0000102106 00000 n 0000637833 00000 n 0000102127 00000 n 0000102810 00000 n 0000637981 00000 n 0000102831 00000 n 0000103590 00000 n 0000638129 00000 n 0000103611 00000 n 0000104406 00000 n 0000638277 00000 n 0000104427 00000 n 0000105085 00000 n 0000638425 00000 n 0000105106 00000 n 0000105850 00000 n 0000638573 00000 n 0000105871 00000 n 0000106473 00000 n 0000638721 00000 n 0000106494 00000 n 0000107018 00000 n 0000638869 00000 n 0000107039 00000 n 0000108281 00000 n 0000639017 00000 n 0000108303 00000 n 0000109544 00000 n 0000639165 00000 n 0000109566 00000 n 0000110388 00000 n 0000639313 00000 n 0000110409 00000 n 0000111536 00000 n 0000639461 00000 n 0000111558 00000 n 0000112488 00000 n 0000639609 00000 n 0000112509 00000 n 0000113828 00000 n 0000639757 00000 n 0000113850 00000 n 0000114898 00000 n 0000639905 00000 n 0000114919 00000 n 0000116428 00000 n 0000640053 00000 n 0000116450 00000 n 0000117741 00000 n 0000640201 00000 n 0000117763 00000 n 0000119097 00000 n 0000640349 00000 n 0000119119 00000 n 0000120042 00000 n 0000640497 00000 n 0000120063 00000 n 0000120622 00000 n 0000640645 00000 n 0000120643 00000 n 0000121493 00000 n 0000640793 00000 n 0000121514 00000 n 0000123149 00000 n 0000640941 00000 n 0000123171 00000 n 0000124597 00000 n 0000641090 00000 n 0000124620 00000 n 0000126075 00000 n 0000641240 00000 n 0000126098 00000 n 0000127161 00000 n 0000641390 00000 n 0000127183 00000 n 0000128547 00000 n 0000641540 00000 n 0000128570 00000 n 0000129459 00000 n 0000641690 00000 n 0000129481 00000 n 0000130150 00000 n 0000641840 00000 n 0000130172 00000 n 0000131075 00000 n 0000641990 00000 n 0000131097 00000 n 0000132093 00000 n 0000642140 00000 n 0000132115 00000 n 0000133168 00000 n 0000642290 00000 n 0000133190 00000 n 0000134407 00000 n 0000642440 00000 n 0000134430 00000 n 0000135259 00000 n 0000642590 00000 n 0000135281 00000 n 0000136024 00000 n 0000642740 00000 n 0000136046 00000 n 0000137151 00000 n 0000642890 00000 n 0000137174 00000 n 0000139312 00000 n 0000643040 00000 n 0000139335 00000 n 0000140571 00000 n 0000643190 00000 n 0000140594 00000 n 0000141449 00000 n 0000643340 00000 n 0000141471 00000 n 0000142313 00000 n 0000643490 00000 n 0000142335 00000 n 0000143214 00000 n 0000643640 00000 n 0000143236 00000 n 0000144196 00000 n 0000643790 00000 n 0000144218 00000 n 0000145147 00000 n 0000643940 00000 n 0000145169 00000 n 0000145779 00000 n 0000644090 00000 n 0000145801 00000 n 0000146961 00000 n 0000644240 00000 n 0000146984 00000 n 0000148063 00000 n 0000644390 00000 n 0000148086 00000 n 0000149485 00000 n 0000644540 00000 n 0000149508 00000 n 0000150904 00000 n 0000644690 00000 n 0000150927 00000 n 0000157201 00000 n 0000644840 00000 n 0000157224 00000 n 0000157990 00000 n 0000644990 00000 n 0000158012 00000 n 0000159022 00000 n 0000645140 00000 n 0000159044 00000 n 0000160018 00000 n 0000645290 00000 n 0000160040 00000 n 0000161135 00000 n 0000645440 00000 n 0000161158 00000 n 0000161626 00000 n 0000161648 00000 n 0000172042 00000 n 0000645590 00000 n 0000172066 00000 n 0000174141 00000 n 0000645740 00000 n 0000174164 00000 n 0000174964 00000 n 0000645890 00000 n 0000174986 00000 n 0000176047 00000 n 0000646040 00000 n 0000176069 00000 n 0000176958 00000 n 0000176980 00000 n 0000186814 00000 n 0000646190 00000 n 0000186837 00000 n 0000187672 00000 n 0000646340 00000 n 0000187694 00000 n 0000188563 00000 n 0000646490 00000 n 0000188585 00000 n 0000189529 00000 n 0000646640 00000 n 0000189551 00000 n 0000190799 00000 n 0000646790 00000 n 0000190822 00000 n 0000192126 00000 n 0000646940 00000 n 0000192149 00000 n 0000192867 00000 n 0000192889 00000 n 0000204601 00000 n 0000647090 00000 n 0000204625 00000 n 0000205455 00000 n 0000205477 00000 n 0000214931 00000 n 0000647240 00000 n 0000214954 00000 n 0000216201 00000 n 0000647390 00000 n 0000216224 00000 n 0000217674 00000 n 0000647540 00000 n 0000217697 00000 n 0000218992 00000 n 0000647690 00000 n 0000219015 00000 n 0000220437 00000 n 0000647840 00000 n 0000220460 00000 n 0000221270 00000 n 0000647990 00000 n 0000221292 00000 n 0000222324 00000 n 0000648140 00000 n 0000222346 00000 n 0000223719 00000 n 0000230588 00000 n 0000223742 00000 n 0000230565 00000 n 0000238510 00000 n 0000648290 00000 n 0000238533 00000 n 0000239740 00000 n 0000239763 00000 n 0000248441 00000 n 0000648440 00000 n 0000248464 00000 n 0000249517 00000 n 0000648590 00000 n 0000249539 00000 n 0000251032 00000 n 0000648740 00000 n 0000251055 00000 n 0000251964 00000 n 0000648890 00000 n 0000251986 00000 n 0000253029 00000 n 0000259869 00000 n 0000253051 00000 n 0000259846 00000 n 0000266670 00000 n 0000649040 00000 n 0000266693 00000 n 0000268693 00000 n 0000290987 00000 n 0000284912 00000 n 0000276925 00000 n 0000268716 00000 n 0000276902 00000 n 0000284889 00000 n 0000290964 00000 n 0000298772 00000 n 0000649190 00000 n 0000298795 00000 n 0000300642 00000 n 0000649340 00000 n 0000300665 00000 n 0000301048 00000 n 0000301070 00000 n 0000336517 00000 n 0000649490 00000 n 0000336541 00000 n 0000337916 00000 n 0000337939 00000 n 0000346611 00000 n 0000649640 00000 n 0000346634 00000 n 0000347534 00000 n 0000649790 00000 n 0000347556 00000 n 0000349071 00000 n 0000649940 00000 n 0000349094 00000 n 0000349507 00000 n 0000349529 00000 n 0000374288 00000 n 0000650090 00000 n 0000374312 00000 n 0000375787 00000 n 0000650240 00000 n 0000375810 00000 n 0000377716 00000 n 0000650390 00000 n 0000377739 00000 n 0000379058 00000 n 0000650540 00000 n 0000379081 00000 n 0000380629 00000 n 0000650690 00000 n 0000380652 00000 n 0000381542 00000 n 0000650840 00000 n 0000381564 00000 n 0000382549 00000 n 0000650990 00000 n 0000382571 00000 n 0000384007 00000 n 0000651140 00000 n 0000384030 00000 n 0000384916 00000 n 0000384938 00000 n 0000391284 00000 n 0000651290 00000 n 0000391307 00000 n 0000392156 00000 n 0000392178 00000 n 0000402098 00000 n 0000651440 00000 n 0000402121 00000 n 0000402943 00000 n 0000402965 00000 n 0000412832 00000 n 0000651590 00000 n 0000412855 00000 n 0000413919 00000 n 0000413941 00000 n 0000441964 00000 n 0000651740 00000 n 0000441988 00000 n 0000443096 00000 n 0000651890 00000 n 0000443119 00000 n 0000445096 00000 n 0000652040 00000 n 0000445119 00000 n 0000445529 00000 n 0000445551 00000 n 0000459899 00000 n 0000652190 00000 n 0000459923 00000 n 0000460935 00000 n 0000652340 00000 n 0000460957 00000 n 0000462216 00000 n 0000652490 00000 n 0000462239 00000 n 0000462709 00000 n 0000462731 00000 n 0000521523 00000 n 0000652640 00000 n 0000521547 00000 n 0000522619 00000 n 0000652790 00000 n 0000522641 00000 n 0000524101 00000 n 0000652940 00000 n 0000524124 00000 n 0000525325 00000 n 0000653090 00000 n 0000525348 00000 n 0000526543 00000 n 0000653240 00000 n 0000526566 00000 n 0000528209 00000 n 0000653390 00000 n 0000528232 00000 n 0000529247 00000 n 0000653540 00000 n 0000529269 00000 n 0000530570 00000 n 0000653690 00000 n 0000530593 00000 n 0000531388 00000 n 0000653840 00000 n 0000531410 00000 n 0000531794 00000 n 0000531816 00000 n 0000547783 00000 n 0000653990 00000 n 0000547807 00000 n 0000548712 00000 n 0000654140 00000 n 0000548734 00000 n 0000549915 00000 n 0000654290 00000 n 0000549938 00000 n 0000551038 00000 n 0000654440 00000 n 0000551061 00000 n 0000566973 00000 n 0000566997 00000 n 0000567202 00000 n 0000567621 00000 n 0000567902 00000 n 0000589099 00000 n 0000589123 00000 n 0000589319 00000 n 0000589881 00000 n 0000590288 00000 n 0000603713 00000 n 0000603737 00000 n 0000603936 00000 n 0000604378 00000 n 0000604675 00000 n 0000634291 00000 n 0000634315 00000 n 0000634506 00000 n 0000635186 00000 n 0000635706 00000 n 0000635774 00000 n 0000655478 00000 n 0000655630 00000 n trailer < ] /DocChecksum /1693DFC9B750B3F896CF468A1AF48A0B >> startxref 655953 %%EOF traitsui-7.2.1/docs/Makefile0000644000076500000240000001077214046644454016406 0ustar aayresstaff00000000000000# Makefile for Sphinx documentation # # You can set these variables from the command line. SPHINXOPTS = SPHINXBUILD = sphinx-build PAPER = BUILDDIR = build # Internal variables. PAPEROPT_a4 = -D latex_paper_size=a4 PAPEROPT_letter = -D latex_paper_size=letter ALLSPHINXOPTS = -d $(BUILDDIR)/doctrees $(PAPEROPT_$(PAPER)) $(SPHINXOPTS) source .PHONY: help clean html dirhtml singlehtml pickle json htmlhelp qthelp devhelp epub latex latexpdf text man changes linkcheck doctest help: @echo "Please use \`make ' where is one of" @echo " html to make standalone HTML files" @echo " dirhtml to make HTML files named index.html in directories" @echo " singlehtml to make a single large HTML file" @echo " pickle to make pickle files" @echo " json to make JSON files" @echo " htmlhelp to make HTML files and a HTML help project" @echo " qthelp to make HTML files and a qthelp project" @echo " devhelp to make HTML files and a Devhelp project" @echo " epub to make an epub" @echo " latex to make LaTeX files, you can set PAPER=a4 or PAPER=letter" @echo " latexpdf to make LaTeX files and run them through pdflatex" @echo " text to make text files" @echo " man to make manual pages" @echo " changes to make an overview of all changed/added/deprecated items" @echo " linkcheck to check all external links for integrity" @echo " doctest to run all doctests embedded in the documentation (if enabled)" clean: -rm -rf $(BUILDDIR)/* html: $(SPHINXBUILD) -b html $(ALLSPHINXOPTS) $(BUILDDIR)/html @echo @echo "Build finished. The HTML pages are in $(BUILDDIR)/html." dirhtml: $(SPHINXBUILD) -b dirhtml $(ALLSPHINXOPTS) $(BUILDDIR)/dirhtml @echo @echo "Build finished. The HTML pages are in $(BUILDDIR)/dirhtml." singlehtml: $(SPHINXBUILD) -b singlehtml $(ALLSPHINXOPTS) $(BUILDDIR)/singlehtml @echo @echo "Build finished. The HTML page is in $(BUILDDIR)/singlehtml." pickle: $(SPHINXBUILD) -b pickle $(ALLSPHINXOPTS) $(BUILDDIR)/pickle @echo @echo "Build finished; now you can process the pickle files." json: $(SPHINXBUILD) -b json $(ALLSPHINXOPTS) $(BUILDDIR)/json @echo @echo "Build finished; now you can process the JSON files." htmlhelp: $(SPHINXBUILD) -b htmlhelp $(ALLSPHINXOPTS) $(BUILDDIR)/htmlhelp @echo @echo "Build finished; now you can run HTML Help Workshop with the" \ ".hhp project file in $(BUILDDIR)/htmlhelp." qthelp: $(SPHINXBUILD) -b qthelp $(ALLSPHINXOPTS) $(BUILDDIR)/qthelp @echo @echo "Build finished; now you can run "qcollectiongenerator" with the" \ ".qhcp project file in $(BUILDDIR)/qthelp, like this:" @echo "# qcollectiongenerator $(BUILDDIR)/qthelp/traitsui.qhcp" @echo "To view the help file:" @echo "# assistant -collectionFile $(BUILDDIR)/qthelp/traitsui.qhc" devhelp: $(SPHINXBUILD) -b devhelp $(ALLSPHINXOPTS) $(BUILDDIR)/devhelp @echo @echo "Build finished." @echo "To view the help file:" @echo "# mkdir -p $$HOME/.local/share/devhelp/traitsui" @echo "# ln -s $(BUILDDIR)/devhelp $$HOME/.local/share/devhelp/traitsui" @echo "# devhelp" epub: $(SPHINXBUILD) -b epub $(ALLSPHINXOPTS) $(BUILDDIR)/epub @echo @echo "Build finished. The epub file is in $(BUILDDIR)/epub." latex: $(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) $(BUILDDIR)/latex @echo @echo "Build finished; the LaTeX files are in $(BUILDDIR)/latex." @echo "Run \`make' in that directory to run these through (pdf)latex" \ "(use \`make latexpdf' here to do that automatically)." latexpdf: $(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) $(BUILDDIR)/latex @echo "Running LaTeX files through pdflatex..." make -C $(BUILDDIR)/latex all-pdf @echo "pdflatex finished; the PDF files are in $(BUILDDIR)/latex." text: $(SPHINXBUILD) -b text $(ALLSPHINXOPTS) $(BUILDDIR)/text @echo @echo "Build finished. The text files are in $(BUILDDIR)/text." man: $(SPHINXBUILD) -b man $(ALLSPHINXOPTS) $(BUILDDIR)/man @echo @echo "Build finished. The manual pages are in $(BUILDDIR)/man." changes: $(SPHINXBUILD) -b changes $(ALLSPHINXOPTS) $(BUILDDIR)/changes @echo @echo "The overview file is in $(BUILDDIR)/changes." linkcheck: $(SPHINXBUILD) -b linkcheck $(ALLSPHINXOPTS) $(BUILDDIR)/linkcheck @echo @echo "Link check complete; look for any errors in the above output " \ "or in $(BUILDDIR)/linkcheck/output.txt." doctest: $(SPHINXBUILD) -b doctest $(ALLSPHINXOPTS) $(BUILDDIR)/doctest @echo "Testing of doctests in the sources finished, look at the " \ "results in $(BUILDDIR)/doctest/output.txt." traitsui-7.2.1/docs/source/0000755000076500000240000000000014046644526016237 5ustar aayresstaff00000000000000traitsui-7.2.1/docs/source/index.rst0000644000076500000240000000047614046644454020107 0ustar aayresstaff00000000000000TraitsUI Documentation ====================== .. toctree:: :maxdepth: 2 :glob: traitsui_user_manual/index traitsui_dev_guide/index api/index tutorials/index demos/index changelog .. include:: ../../README.rst Indices and tables ================== * :ref:`genindex` * :ref:`search` traitsui-7.2.1/docs/source/e-logo-rev.png0000644000076500000240000000751114046644454020725 0ustar aayresstaff00000000000000‰PNG  IHDRoi»þê*sRGB®Îé pHYs  šœtIMEØ“ïLÛIDATxÚí]ktTÕÙ>ûzÎ\$Üm ¬€ ‰È¥!TDŠˆ j‘V|_CèWp­Š¡hµ ¢PµTº´•›\"ÍÍBÉ$$”6a’IfÎ9ûûqfB¸%™™=“ ýƒµ²Bæìyæ}ÞÛÞÏ; vØo„Ðâ´`‚š!4Ch†VÍv[¸ƒì“1¦2¦ Œ€!ÛôH¥G”iÝêygò×þöÅ):QVd»ª8Sƒm«¨sQAŒ£j2àô§’ß~ýÙ~ÑÝAH3ûÑqÕÕUÅÿ:€÷?!4[a6SRö—u ÇŽÔü7¢H'Ž1"¡_Qqéåÿâ!šŒ©JbBôæwÍx$IÉ-ÿSï^QO>þAòO~ߨ( ‚ ÚÛHAPU–Œ)=»…­úý“£û·ñOjjm+þðþöÇ– ¤ v$~°Ø¦æ"3¦¼ñê3½zviûJnâ[­*.\vÛ(ü/E“1U`ÊÜYcÖ¿¾ í&y3ñg¦>Ð=Êx$÷;G£S@»¿]ÑdŒ1åÁ±ñYûüÓoç"Û¾Å÷ýX²½¾6ÿÛÓn8ñÛÍo2¦ ˆí¶,cú¨ÄÜ_¼¸äÜŠU?y" "ºcÑdL5HfFjÚÔÑ~}ÐÖÏö½œýQ½]€HÀ™”錩ŒÉ/¤OxcÕü¡ƒûùûq'~ lÓ•_´ Å£Íe•W\ÌÈ|»ñ¡ €Š&cLM½hÁd¸È¶¯î9¶òÕ-Õ—ê $þ ¾™Î˜Ú³›9ó¥iË—>x“¼aÅôë•6í>‚Ô#¹E‚ ¹ß_h2¦šŒ$}î¸ì•¿àâ"çä®ßða\lß°0³×/"‰ôÞ‘ƒÒ¦Ž.*:UQyÙ•éÀ‹ø~`:oYf­xuõú?ù b)<Ìœ>ÆÒ—æ'ñù¢ér‘Y‹gÄèãûËÕÔÔ¾µá¯6n««g˜šÑ€˜êìeøSö‹£ïMðõõkm›>ØñÞæýuv" òSnhj ‹ÌŒé’‡ryÁ_îÍüÝšÊêLM˜š01@$™ª(²]vÚÆüòòçúôîî{Ä_ñÊ{#¬ƒˆ¼&>4µl|îcýì.8~ÿÛåÙÇrK05bjÂÔˆ°Þm;€1•©²¢4*Î:½¤ÎŸ3yÉKó|è‘ÜÂÅËÞ©ºT\©> 8šn™µd¦Ù¤çBíÿ]¶jë§»]8#&ú[ù5ÆTEUŠl—uÝ#u\ˆ/Âkþø½¿í¯kð’ø^Çô6õt=Zo­ÿ`ÎÓ‹¿-,£R'*EP1#¼EQ€ ˆDÔfsnýlOYYYÒ¨!’$ú²‡{Gš2y„ÕZ~æ\p·õÛN|olÓ‹žn«ÙϯýîBu-Ñ\$5¶½õ˘ÂTY‘gNR^\8óÙgåFü‹õ{@|Ñ4Å…¿œ0ov2­ÖŠç^È:j)ÆÔD¨"z©‡M øEn¶þ1]Wf¥Nâ@üwßÿǛ뿨k ÛB|™ÞÐÐð«ùcÂÃÂ!>ºÈ×ßÜ8çéÿ©ºT'J©Ô‰ˆaZà†xØèubˆèOWê¶~º»¬Ìê;ñ‡ÝÓöcÉùù%ª®ÀÖÐdLõ<½bj™µ|ïׇΜýÁë]nÞ²}ðð”5olu]%}Õu!b'ìÜ^f'BDÑ1Œêºüý˼÷Í-,>í£ynØ¸í»¢ïÝÇ÷¬ed°çNSÁét~WX\f-–pO¸'¥ÞáœÜÌå,9UŽ©I2˜1`¬ÓxÄ¥d  ,Œ»úåù½{Eúäͽ¢êR•"¨¤Z GÌ 4›¯ÿÔÔîûúPL¿èøq­¿©@ÄÔ$é#15! G®}\.-ý2kEfVö®=G15Q©¡&­phõáî!9ûCeÕÅá CºvéÜj(ê# 5#¢GXò:In¡ˆÈÌHó±¥ÿJöZm«®œÚžÏó¹ÕU__(çhî݆' ¹ÁH›ˆ¢Á„‰ûÁ7cªÉHçκÞì})"´D­òb-¦&Ñ`ÆÄài­ÉóŽ\eUõ®Ý?ň‹éí*³²YJ05ŠúÈë DÈË ¹ô«šS[ÔGabDÄ›­r¾q¨E§ÊªêÃ9–Õ¯m"4LÔwÅÔt›ÑG‹Túúدr{¡OêìÞPÛ¿hjëò?:}•"ˆްžïi ¯bì:/¤7yAí@ ©eKˆÖ#$òt‘’™13mj’ï5Ø1K ¦&Ž^Èw‹€ !æ%¯PSSSûÖ†³×lr{sž^¨#ÜÔæw4ÒDmQI¨ S#ß3aì@ò57Q; S#Â:į v4y…¿R» É+Ô€ÚA&¯P0j/šŒ)©)Ã-ø¹¡&ÔZ4ÙS³Æ.[<£cQ;XÑdÂ{›÷^¾ô±ñ}; µoXA£e‚`n^éÄÔ¥ËW®«©¹êµ_É^7$ñKþ9Q)ê#E]¡&„u€SíÐÑÐa‰Póû[Ž;ï£m;ÛHíû’[óÆfQ)é£D}W"†#b€ˆ^™D:K „;5:õK²6¦>žÑÂÁŽÕZ‘2õ©¹Ïd^üÑ!j8J01ºØ-´ƒj(ÈT«ˆ!–05Q)"¯ jâÔŒå+ÖÞ@üà¡vp£Ùd¤ˆ"¢'4LÔuyÿ£C͉¿cç¾à¡v‡©,@A1„´Ñi_’µqÛöýLq|s4b©½¢vGîz†ˆ!¢ùUªâ Ý!¢KIÈ裸‹øQD”1E3[÷¹1ª­v”I $0¦ýœ›ì0h6øFŒûÂLëÒâÐÌ™–€dªœš’°nõuËž?SScw\L÷G¨aʃcf-Nó]yç/4u:‘© c c P°¥ÙM1›¯8Ù_h>4~´ÁhÞ½¿Äf· ‚l% &N^˜>‰ïü?2=iÔÝC‡ÄÈ)Î9vÞ!Ëœïújæ>‘ìû±h ý¦N'N~(aݘ¯öä}WÕΠx+ïÚ' uŽ0?1sLâÐ _í/>_nƒH Ø!â ÙxöÊ9½zøqè@àbzlLÏØ˜ž¹ÇOíþú_µ6ôAêc6~çt=F&ö™Øמüœcç2ò\¶æ±‹ärÇh‚3ç.Æôòå©“Jx`ÌÀ¿ÿãx^_œ©–¿>‘_¨mqKžk€™jÉ+-++ÿYŸ.z½äõîÁwì3°TUõå+ÿ¶q±áܹ~Mú„ä¡\ÄÉ_î:pð›BÍI¶äš€" Dôß5 ûæ«Jc¯ž‘„øTÅêubdãÐ!ƒ¸PûÅ%+³~ÿfõ¥z*EP]½6Rû2;Ú/uzÓ] ÂâÞg,'ÎNdÔ=Câ„ö^n1¿ê8ö´ü8‚D,ïd©ÕZ}W”/Ñ)~€÷ŸÇŽ/÷¦Íz~÷¾ã*0P]g*…Ý[{ÐÏs‹]ÄÇb„è¥ëŽæ76ÖÇÅö $š…ß?½`éÚõ[í˜JTìDD“ËKÂŽ¦ t ‰"Û÷(µœ(}òñqq±wùûÑZøÎ¦O11ІÈfƒéüÒZ XSXk71E›½~í;{âûGþbö½NòÓ#Ý"kæ"ý« è„r@×4½Ë—m‡rN"¨öîÁ—é‡sr§L›ÿùΌڀ?íVh¿?ÝÝnõ²ãêÄñw'?0lÛ¶¯Žä`bÀÔìõ´·ÿF4]2UUœªÒ ;lŠlgL bðkx'øÍÛ„§&µ%QU#c*€Bð{awš×E|ÈDíǶ¡Bh¶ìZ±–-„fÍš¡åÙúߣÚ/Ùw¿IEND®B`‚traitsui-7.2.1/docs/source/traitsui_dev_guide/0000755000076500000240000000000014046644526022116 5ustar aayresstaff00000000000000traitsui-7.2.1/docs/source/traitsui_dev_guide/index.rst0000644000076500000240000000102014046644454023750 0ustar aayresstaff00000000000000 ================================== TraitsUI |version| Developer Guide ================================== This *internal* documentation describes how various features of TraitsUI are implemented, along with the reasoning, history and decision information. This is intended for current/future developers and maintainers of TraitsUI, those who want to dive into the code to troubleshoot issues and those who just want a better understanding of TraitsUI code base. Contents ======== .. toctree:: :maxdepth: 3 testing.rst traitsui-7.2.1/docs/source/traitsui_dev_guide/testing.rst0000644000076500000240000003121414046644454024326 0ustar aayresstaff00000000000000 .. _testing-internals: ============================== Developing The Testing Package ============================== This document describes the context and design decisions surrounding the development of the |traitsui.testing| package. Readers are assumed to be familiar with the content of the :ref:`testing-traitsui-applications` Section. Background Motivation --------------------- There had been proposals for introducing a public API to make it easier and safer to write self-checking tests for TraitsUI applications. At the same time, we noticed that a lot of what TraitsUI needs for testing are common in downstream projects as well: - test needs to modify a trait and then checks the GUI state has changed. - test needs to modify the GUI state and then checks a trait has changed. - test needs to create a UI and makes sure it is disposed of properly at the end of the test. - test needs to ensure uncaught exceptions that occur in the GUI event loop cause the test to fail. The step that is the least trivial to get right or the most often-overlooked is the need to process pending events on the GUI event loop. Pyface (a dependency of TraitsUI) has provided a base class called GuiTestAssistant which helps running the GUI event loops in tests. However, test code manipulating a TraitsUI editor will still need to know which methods on the editor it should call and what to call it with. These methods don't have a common interface, and their signatures vary from toolkit to toolkit, editor to editor. Often one needs to read the source code in order to call them correctly. For example, in order to update the date trait edited by a DateEditor, in Qt, one needs to call the Qt DateEditor like this:: editor.update_object(QDate(...)) In Wx, one will need to create an wx event with the date value following wx API, and then call a method only wx DateEditor has:: event = wx.adv.DateEvent(...) event.SetDate(...) editor.day_selected(event) In addition to the lack of a common interface, this approach also has the following drawbacks: - The test code is toolkit specific. - Advanced technical knowledge on the low level toolkit control is required to write these tests. - The test provides less confidence as it bypasses GUI event hooking logic (aka signals and slots). - There is a strong coupling between the test code and TraitsUI 's internal implementation details. The last point is important for both TraitsUI and downstream projects. Strong coupling between the application code structure and test code means any small refactoring or internal changes could cause a lot of test code to fail. This would make changing TraitsUI more difficult. Downstream projects realizing the fragility of such tests may decide not to write the tests that would otherwise be written. In fact, TraitsUI 's test suite already makes use of a number of internal helper functions for testing its own UI editors. Therefore we noticed that there was an opportunity to wrap these helper functions and re-expose them in a simpler public API for testing. By implementing a testing API motivated and tested by TraitsUI 's own test code, the API is likely to be more useful and has fewer bugs. Goals ----- - The API should be simple, intuitive to use and to understand. - The API should be toolkit agnostic. - Test code using the API should not need to depend on implementation details of a UI editor. - Easy-to-forget logic such as processing GUI events should be provided by default. - Despite the rich and varying features supported by TraitsUI editors, the API should still be self-explanatory and self-documenting so that it is easy to find what is supported. - The testing helper can be used in collaboration with Pyface's ModalDialogTester and GuiTestAssistant. - Unexpected exceptions from the GUI event loop should cause a test to fail. - Functionalities provided should be immediately useful for TraitsUI's own tests. - The API should be extensible so that projects can add their own test logic and TraitsUI test code can optionally defer publishing less mature test logic to the public API. Non-Goals --------- The API does NOT aim to: - Replace Pyface's ModalDialogTester and GuiTestAssistant. - Reproduce the full visual experience compared to manual testing, as long as the test objective is fulfilled. System Context -------------- In a software system, tests are the most isolated system component, which are not necessary for production use. Since the testing library supports tests, it should only be used by tests and nothing else in a software system. The fact that tests and production use require different exception handling further justifies disallowing the testing library to be used in a production environment. API --- As mentioned in :ref:`testing-traitsui-applications`, there are broadly speaking three types of actions when one manipulates a GUI in test: - Locate a GUI target. - Perform an action that mutates GUI state like a user would. - Inspect a GUI state like a user would. (Terminologies are defined in :ref:`testing-target-interaction-location`). Each of these three types of actions should have a public method in the API. Technically speaking, the behavior of "inspect" is very similar to "perform", they only differ in their intent, and therefore whether they should have a returned value. They are separate so that test code using these methods will read more naturally, and communicate intent more clearly. Likewise, "locate" is similar to "inspect"; both are making queries about GUI states. However, "locate" is likely used in conjunction with "perform" and "inspect", whereas "perform" and "inspect" could also occur as a standalone command. In summary, test code should read something like the following:: perform(...) inspect(...) locate(...).perform(...) locate(...).inspect(...) locate(...).locate(...).locate(...).inspect(...) Each of these functions provides the natural place for GUI event processing to occur automatically so that users do not have to worry about that any more. Different types of interactions and locations should be supported based on the GUI target type. For example, if the current GUI target being handled is a button, then "perform" should support an interaction type "MouseClick". Public API objects ------------------ All objects exposed in the ``traitsui.testing.api`` are part of the public API. Objects accessible via publicly named attributes through this API are also part of the public API. The less obvious part of the public API are the supported interactions and locations exposed via the registry pattern. Separating |UITester| from |UIWrapper| -------------------------------------- |UITester| is designed to be a top-level object to provide the first point of use for developers testing a TraitsUI application. It puts together two other types of objects: - |UIWrapper| - |TargetRegistry| |UITester| is specific to TraitsUI, whereas |UIWrapper| and |TargetRegistry| are more generic and can be used for testing any types of objects. |TargetRegistry| collects the information required for resolving an interaction and/or a location for a given GUI target. |UIWrapper| depends on one or many registries. If the |TargetRegistry| is empty, the |UIWrapper| would not be very useful at all. The |UITester| supports testing of TraitsUI objects by providing an instance of |TargetRegistry| that knows how to locate, inspect and perform actions on TraitsUI objects. This abstraction covers the existing use cases and it also allows TraitsUI to extend the API in its internal GUI tests without necessarily exposing the logic to the public. Likewise, external projects can extend testing support for their custom UI editors. Registry VS Inheritance: Registry wins -------------------------------------- The types of locations and interactions that should be supported depends on the type of TraitsUI editor being used. e.g. A TextEditor that only wraps a text box does not need to support further location logic, and it should support modifying the text via key events. However a CheckListEditor will require support for locating an item in the list, but not support for modifying the item by key events. Since there are more than one axis of variables, class inheritance is not enough to achieve polymorphism. If we had used subclasses, we will end up with an API where there are a lot of optional methods that are not implemented by a subclass, making it difficult for users to find what can be used. At the end, the registry pattern wins, and that becomes |TargetRegistry|. Rejected design: Default location --------------------------------- Early in the development there was a proposal to support a special location type called the "DefaultTarget". The idea was that if an interaction is not supported by a given GUI target, the "default target" is tried. This was motivated by the use case of testing simple UI editors such as TextEditor where there is one obvious toolkit widget to interact with. With this design, one would register interaction handlers with the low level toolkit specific object as the target type, allowing those handlers to be reused in other contexts. The pseudo-code for this patterns looked like this:: def perform(interaction, target): try: _perform(interaction, target): except InteractionNotSupported: try: default_target = locate(DefaultTarget, target) except LocationNotSupported: raise InteractionNotSupported else: _perform(interaction, default_target) The default target for a TextEditor can be resolved using this function:: def resolve_default_target(target: TextEditor): return target.control # would be a QLineEdit for simple editor in Qt. And one would have registered an interaction (e.g. KeySequence) on a low level toolkit widget type:: registry.register_interaction( target_type=QLineEdit, interaction_type=KeySequence, handler=..., # some callable ) The design was rejected for two reasons: #. The control flow resulting from trying to resolve an interaction or location on the default target adds complexity to the code. #. The resulting code is obscure because it is hard to see which UI editors are using the registered interaction handlers. This makes it difficult to perform impact analysis when one needs to change the code. At the end we simply register the interaction types on those simple UI editors directly but we refactor the registration logic so that it is easy to reuse. Where are the tests? -------------------- When a functionality is added to support testing TraitsUI editors, the functionality should be used in TraitsUI 's own tests for the editor. e.g. The MouseClick support for ButtonEditor is tested in the tests for ButtonEditor, in ``traitsui.editors.tests.test_button_editor``. By dog-fooding the implementations back to TraitsUI 's own tests with the goal of writing toolkit independent test code, this allows us to capture inconsistencies among different toolkits early and to make sure the new functionality is indeed useful. Tests for functionality provided by the tester API can be found in the ``testing`` package (or subpackages). e.g. API of |UITester| is tested in ``traitsui.testing.tester.tests``. Package structures ------------------ The ``traitsui.testing`` package adopts a naming convention that is in fact not new: Preceding underscores in names are used to indicate an object is intended to be used within the namespace it is defined in. If a module has a name with a preceding underscore, this means it is intended to be used by objects that live in the same package (including subpackages), but not objects that are defined in a package outside of that package. If a module is intended to be used by objects defined outside of the package, the module should have a "public" name. For example, ``traitsui.testing.tester._ui_tester.default_registry`` can be imported by ``traitsui.testing.tester.something`` but should not be imported by ``traitsui.testing.api`` or anything outside of ``traitsui.testing.tester``. .. # substitutions .. |Editor| replace:: :class:`~traitsui.editor.Editor` .. |UI| replace:: :class:`~traitsui.ui.UI` .. |traitsui.testing| replace:: :mod:`~traitsui.testing` .. |UITester| replace:: :class:`~traitsui.testing.tester.ui_tester.UITester` .. |UIWrapper| replace:: :class:`~traitsui.testing.tester.ui_wrapper.UIWrapper` .. |UIWrapper.inspect| replace:: :func:`~traitsui.testing.tester.ui_wrapper.UIWrapper.inspect` .. |UIWrapper.locate| replace:: :func:`~traitsui.testing.tester.ui_wrapper.UIWrapper.locate` .. |UIWrapper.perform| replace:: :func:`~traitsui.testing.tester.ui_wrapper.UIWrapper.perform` .. |TargetRegistry| replace:: :class:`~traitsui.testing.tester.target_registry.TargetRegistry` traitsui-7.2.1/docs/source/_templates/0000755000076500000240000000000014046644526020374 5ustar aayresstaff00000000000000traitsui-7.2.1/docs/source/_templates/layout.html0000644000076500000240000000036314046644454022601 0ustar aayresstaff00000000000000{# Filename: _templates/layout.html #} {% extends '!layout.html' %} {% block relbaritems %} {% if current_page_name != 'index' %}

  • {{ title }}
  • {% endif %} {% endblock %} traitsui-7.2.1/docs/source/_templates/search.html0000644000076500000240000000174514046644454022536 0ustar aayresstaff00000000000000{% extends "!search.html" %} {% block body %}

    Search

    Enter your search words into the box below and click search. Note that the search function automatically searches for all of the words. Pages containing some but not all of them won't appear in the result list.

    {% if search_performed %}

    Search Results

    {% if not search_results %}

    Your search did not match any results.

    {% endif %} {% endif %}
    {% if search_results %}
      {% for href, caption, context in search_results %}
    • {{ caption }}
      {{ context|e }}
    • {% endfor %}
    {% endif %}
    {% endblock %} traitsui-7.2.1/docs/source/conf.py0000644000076500000240000001755714046644454017555 0ustar aayresstaff00000000000000# -*- coding: utf-8 -*- # # Traits documentation build configuration file, created by # sphinx-quickstart on Tue Jul 22 10:52:03 2008. # # This file is execfile()d with the current directory set to its containing dir. # # The contents of this file are pickled, so don't put values in the namespace # that aren't pickleable (module imports are okay, they're removed automatically). # # All configuration values have a default value; values that are commented out # serve to show the default value. from io import open import os base_path = os.path.dirname(__file__) # If your extensions are in another directory, add it here. If the directory # is relative to the documentation root, use os.path.abspath to make it # absolute, like shown here. #sys.path.append(os.path.abspath('some/directory')) # General configuration # --------------------- # Add any Sphinx extension module names here, as strings. They can be extensions # coming with Sphinx (named 'sphinx.ext.*') or your custom ones. extensions = [ 'sphinx.ext.autodoc', 'sphinx.ext.extlinks', 'sphinx.ext.intersphinx', 'sphinx.ext.napoleon', # Link to code in sphinx generated API docs "sphinx.ext.viewcode", 'traits.util.trait_documenter', ] # Add any paths that contain templates here, relative to this directory. templates_path = ['_templates'] # The suffix of source filenames. source_suffix = '.rst' # The master toctree document. master_doc = 'index' # General substitutions. project = 'traitsui' copyright = '2008-2020, Enthought' # The default replacements for |version| and |release|, also used in various # other places throughout the built documents. # # Pull from the actual release number without imports d = {} try: version_path = os.path.join(base_path, '..', '..', 'traitsui', '_version.py') with open(version_path, 'r', encoding='utf8') as fp: exec(compile(fp.read(), version_path, 'exec'), d) release = d['version'] version = '.'.join(d['version'].split('.', 2)[:2]) except IOError as ioe: import warnings msg = '''_version.py seems to be missing! Please run $ python setup.py develop to generate this file!''' warnings.warn(RuntimeWarning(msg.format(ioe))) # There are two options for replacing |today|: either, you set today to some # non-false value, then it is used: #today = '' # Else, today_fmt is used as the format for a strftime call. today_fmt = '%B %d, %Y' # List of documents that shouldn't be included in the build. #unused_docs = [] # List of directories, relative to source directories, that shouldn't be searched # for source files. #exclude_dirs = [] # The reST default role (used for this markup: `text`) to use for all documents. #default_role = None # If true, '()' will be appended to :func: etc. cross-reference text. #add_function_parentheses = True # If true, the current module name will be prepended to all description # unit titles (such as .. function::). #add_module_names = True # If true, sectionauthor and moduleauthor directives will be shown in the # output. They are ignored by default. #show_authors = False # The name of the Pygments (syntax highlighting) style to use. pygments_style = 'sphinx' # Options for HTML output # ----------------------- # The style sheet to use for HTML and HTML Help pages. A file of that name # must exist either in Sphinx' static/ path, or in one of the custom paths # given in html_static_path. #html_style = 'default.css' # The name for this set of Sphinx documents. If None, it defaults to # " v documentation". html_title = "TraitsUI {} Documentation".format(version.split('.')[0]) # A shorter title for the navigation bar. Default is the same as html_title. #html_short_title = None # The name of an image file (within the static path) to place at the top of # the sidebar. #html_logo = "e-logo-rev.png" # The name of an image file (within the static path) to use as favicon of the # docs. This file should be a Windows icon file (.ico) being 16x16 or 32x32 # pixels large. #html_favicon = "favicon.ico" # Add any paths that contain custom static files (such as style sheets) here, # relative to this directory. They are copied after the builtin static files, # so a file named "default.css" will overwrite the builtin "default.css". html_static_path = ['_static', os.path.join('tutorials', 'code_snippets')] # If not '', a 'Last updated on:' timestamp is inserted at every page bottom, # using the given strftime format. html_last_updated_fmt = '%b %d, %Y' # If true, SmartyPants will be used to convert quotes and dashes to # typographically correct entities. html_use_smartypants = True # Custom sidebar templates, maps document names to template names. #html_sidebars = {} # Additional templates that should be rendered to pages, maps page names to # template names. #html_additional_pages = {} # If false, no module index is generated. html_use_modindex = False # If false, no index is generated. #html_use_index = False # If true, the index is split into individual pages for each letter. #html_split_index = False # If true, the reST sources are included in the HTML build as _sources/. #html_copy_source = True # If true, an OpenSearch description file will be output, and all pages will # contain a tag referring to it. The value of this option must be the # base URL from which the finished HTML is served. #html_use_opensearch = '' # If nonempty, this is the file name suffix for HTML files (e.g. ".xhtml"). #html_file_suffix = '' # Output file base name for HTML help builder. htmlhelp_basename = 'Traitsuidoc' # html theme information try: import enthought_sphinx_theme html_theme_path = [enthought_sphinx_theme.theme_path] html_theme = 'enthought' except ImportError as exc: import warnings msg = '''Can't find Enthought Sphinx Theme, using default. Exception was: {} Enthought Sphinx Theme can be downloaded from https://github.com/enthought/enthought-sphinx-theme''' warnings.warn(RuntimeWarning(msg.format(exc))) # old defaults html_logo = "e-logo-rev.jpg" html_favicon = "et.png" html_style = 'default.css' html_theme = 'classic' # #html_theme = 'bizstyle' # html_logo = "e-logo-rev.png" # #html_style = 'default.css' # #html_theme = 'classic' # Useful aliases to avoid repeating long URLs. extlinks = {'github-demo': ( 'https://github.com/enthought/traitsui/tree/master/traitsui/examples/demo/%s', 'github-demo') } # Options for LaTeX output # ------------------------ # The paper size ('letter' or 'a4'). #latex_paper_size = 'letter' # The font size ('10pt', '11pt' or '12pt'). #latex_font_size = '10pt' # Grouping the document tree into LaTeX files. List of tuples # (source start file, target name, title, author, document class [howto/manual]). latex_documents = [ ('index', 'TraitsUI.tex', 'TraitsUI 4 User Manual', 'Enthought, Inc.', 'manual'), ] # The name of an image file (relative to this directory) to place at the top of # the title page. # latex_logo = "enthought_logo.jpg" latex_logo = "e-logo-rev.png" # For "manual" documents, if this is true, then toplevel headings are parts, # not chapters. #latex_use_parts = False # Additional stuff for the LaTeX preamble. #latex_preamble = '' # Documents to append as an appendix to all manuals. #latex_appendices = [] # If false, no module index is generated. #latex_use_modindex = True # Autodoc options autodo_mock_imports = [ "wx", "PySide", "PyQt", "PyQt5" ] # Intersphinx configuration intersphinx_mapping = { 'traits': ('http://docs.enthought.com/traits', None), 'pyface': ('http://docs.enthought.com/pyface', None), } def autodoc_skip_member(app, what, name, obj, skip, options): # Skip load_tests targeting unittest discover is_load_tests = what == "module" and name == "load_tests" return skip or is_load_tests def setup(app): app.connect('autodoc-skip-member', autodoc_skip_member) traitsui-7.2.1/docs/source/_static/0000755000076500000240000000000014046644526017665 5ustar aayresstaff00000000000000traitsui-7.2.1/docs/source/_static/e-logo-rev.jpg0000644000076500000240000003121214046644454022342 0ustar aayresstaff00000000000000ÿØÿàJFIFddÿìDuckydÿî&AdobedÀ û$>2ˆÿÛ„ÿ´´ÿÄ  014@25P36 !1aAQq"2 0BRr#±bdt@‘¡‚3c³$4P²Csð’ƒDT´%u  1Q"0!A¡ÁáR#Ñ2‚@Paq‘±B¢ð’sñ!1AQa q0ð‘¡±Á@PÑáñÿÚ òÿW~\*=m¼ð«lÉIškâÚ«"ÜâPÆe¬s°úŠÖ½¹½#ä¶-® ФÄÝþPÍq©ÈiÛo8F$€:}y†v5¯Ëb­¶w´€ãÎèl6£µeÕ;猛߈Ydבvo Ø-Mig˜¬œ wsRÚõ|,²+ϟ߀'=adÏÚ¦Ðö5¶ŽS–¸î—w8µ+ŒÊ¨,×fÅÃpií‹;œ]dÝtæ “ÆÀƒ§. ”å^gvxúå¸*hÑ4‡€27¯±ªzØ“p©gßã¬úÖ Ú5§™÷ø€6RÛñëËØÕƒ–}iñý>`{ZÛ3Þª³fíicý¿/ ãœEIÜ']võQbõ9€6RÛ˜õ‰ûü§<‚~}Kêþy°ºŽÔ»ùûàa¹[÷Iå1š€àÆÀê[c³±?ƒçAîêìì.¤µfes`÷øõit45ëmÕpúÂpÎ6RÛ˜õ‰ûü§<‚C,ð;’n1„öMwâmk81°:–ØìǬOßàÅ9äCÕø}ü¿¿À81°:–ØìǬOßàÅ9ä ‡On~Õ6·­³¬k®œ l¥¶;1êÜÜÓ‹¸5‰ÔåÔ;|ú™•Õ°:šÒ¹ôwb5ÕíÝL€Ôö·ÑãØ¦qˆäç0ˆx›Z  %)Øõ=må¸ÿt}a@µ‹vS`.é# ˜ä¾/h“éóÀ’¸® ”Åþ~2#«±j‚Ø”P‰¥pÛålêÚZUŸ“±ð(dÎ'jHÃf7FŽðþÞ§»¯ôu}•÷ü~¢™ÄZœBõÓoÔö[–oŸYº1&19_¡ñû S˜äî'\b\7Iå‘z€=]}‰–æXäŽVA¦W.–Ö¾­ª²Ø¯^@áÎèÊ(DÎ&Ï`¶þÞ¨?ÿÚþ\ ³'Vôã–ºf·pÓ껺?¢DW.­êk{|¤×iõѹÚ}qC²æË¥_jÏïkþÐí_@ ÕÓªHã•›O¨+ÎËjkJ2»TºýÆÂN­êJš¬kZÆñ,±ÓîÄʯeí•§êþÄ Ù“›:šÛ‘vŸO&M£Ë×§ú Œð«çiö]»›&ã{´KÂhº·µî)2®È{p9Ù4ê-¢-ÏE3O›¥|WØ™\꽬C8ØvÚ=b§Ú›N½ª^mj¾®£×ú 0JñöŸqᆗbGJøoÛ—{Uå )N\Ü××lV­éÈ ÁÇ€Hx_éjö½5.^ì·[!ká¿nn¦á­|ŽÕ}Gii”Ô5:ø¼ìÛլͣØwû:öWÃ~ÜÜÿMÅm™ÔæêÞàìŽHæ./jhÚ}»ggŽsžîÒøoÛ›Ÿéº5­ÖûV’×ÝrH‘öÅwÃ~ÜÜÿMÝÿ Ÿãé_ ûssý7n²¦Êä[ÓÁ‹žá†õ•ðß·-+b¶Ó^°«^ÄqÉ+õoPX•4Õtbç¹ÿùn•ñÙ$|Úê!™‡W['N­ë‹í—5­*‡VŸtKk]U·Õº«gÇ¢x!&;]5S%ŠX$Ê ZïfŸVõe%AEŒ W¸ØÜ8ólÉìUm×euÀ6ŒæÂ¬+8õTÕ•ƒ 0Pqã6¯jRÑåþÏu³OÛcßê·)bÁŠȸÔKÆË»ÐêÌÚ}²¯|3‹Z­Àb1šém®ªè…Ú½½aa’I$²}eáõK¶–ºŠÎ֯䝿?ÿÚþ^Ic…‡l*¹‰ƒÊ àÄý×ÃÁ„–Ao䂃Àì…9;ÆÚŠjQ½hªÕ`–,€ˆ gh’‡‡_Ï>yå­s”zGäôÀMµÑ óðv䯹®N» ÿƲË$ÏäR‹ÀëżD99<.^C°(WYÇ`Þ©bŽl˜#à@ 5ÀÒ 'IgŒN»$¾ˆã|¯^ÈãŽ&vb‰kZÆó,Ñ@ö;÷HîA¢ œ1ƒoj·ä𪈇_ÁT忪Ê9A©.íoÉâhc"3µùcÅEjàâÎSÁ †Oé»[òz ­äƒ[D–(búß“Ýü‘þNÅoÉíÍ<#°í†Gæ¼ç>ñ΂H Š~ʪ5Ø"‹'"b_šçÎêTT^`°’<ŠhæN“® ²(Õç\EÿgTÃÅ:N°ô5ÎbÁcr90£† §^WCù¼«‘Å,ìN SdÃËóòB§ÞÎÌ{ß#¹Œ’pP† ½µDTž¹ÇƼòx°£”qBú "d­ž½ìàÿ“Ó”ðuø¢ÄDj}ÂÅ>-æ&!ŸÌÿÚþ^8ä™áP"dÕâO´¤ ôaQÏ>,³“jF/ ®$%ïXI¸XÁõª"¡´1I“0Ïí,å<*8`Ï«‘¨móÛ›ZŒgDÐDC ¡‘˜äV¯X_‘#Š8YÉ· …žI‹ÈWdÌÙãä°1,+dÝQJø²þ 8`ÐÛ’Jé"LpTËÐùM¿É$|®êOQ„ ;œç»˜¢’w…@ÖãZÖ7“nà ,‚ÝØOcñøDUÀ¨¦›YÉ–C†Z’gmSU9œäÉa’é ¤’ðJáƒNvOòuBD°,Å7Cš×¤õØ­V® 8*QÆè{ÙM¿DÉ$’gö 6X²"9–æ@i!v1Œ¼›t8ØQ„îÚ*¢Áb©Œ{$Nÿ‡XŒlIŸA‰`°cø þ‘Ì6úYqUU~Šeƒ÷ñ4Òÿæ?ÿÚ?ù¾$Ò«aö#Üw6ÅBÌF·éÝ Ó°øùü·Roõæ–ŽzŸú¡®E‡uÒ.™ÊkãŸrÌS¹FûÊ0Éåí¦ñ[a÷—åÛü¸¶$…'7p§ §ì¶éÊþÇÉžkË CÔØíÔrëàØa0Qññh›Fû(bIQJÛ½º¾m^64I/IÌ= ½ÌwÄšJ–hF«’m;ƒtEûMt#‘Ó°ø1’·D,ÓC¢nXjm )˜+³óMË »ÈÛ‘ÒSvÝMΤï­Cì(¾z¯Y­ —Ó‘ô¬ýÍ 9@©e±;ãíËaÊ(ž²^àÿýh𓔆ÃìC‡1¯ÂÆeê41'ôäí- „»ë¯7í;²¼ÔØ}¯Re¿Ç‹bOQQ ùaÒ¹\Z'G:Ó»;í;²™Sƒå–Äìï˳_…ZH$$¨¶'w~eŸÇ‹8UžöÔz£©Ì+g÷ |¯¦¿»aÉHJ>Úwg°ž1]VgÚwg1'¨%-‡Ù]G6¾ ¥(½Xgö38‰g ³2óSaöw×n®-‰=EJÈæb›t!™yYòÍ(}s¬Ëu ¥òЍ)_Æ âñ¦Öx¼Š ¹M ÿËD#$SÕ¦Ímžœ§Æ„Á+-‰ßhÞ[P GÓ2ôÝ[_(>Yl»IòhæVhG;§'iû†B\mÖ|sŽ54R4‡¾/H:_1©¢õÏ´î ÀðÑI¼¹<aÈIR›¼¿2Í\YÉÐ>÷ªÖÄž¾Ž³åµ°ä$%9ÿÚ?ù¾ T¶ÄïÔo>M„´ENÐï³G'©'oãËàãî:r¿·‚B]û¡¢u£{uGO˜UÃ>ôˆesÖ³Ò"›ÌwYMƦ´¸»5pl9é)Vn yÙâÑ÷7ælãB%hKaöw•Í«‹bDúÁ«ƒCéaÝCrB’Ñöw“˯ÂÖ…Z3ovnòå°å”P…7çX7–ê›–j¡ûò¶†PøMº(uEûu¶•K5[ø¦ôrô+#çÖkhrNßEÒF‹u4s/ÎÙà(G0€†Ãì¿Øî ÂJó=;Kš%—ª† T¶½ÒyE^- “B I»)êë7îò¸VÑ÷W%Ù¯ƒA!./—Íåðh_ ›üï¸oÊ&Ê.Xh;»«·WztŒ‘ÏP ínK·_y¯=îèôË Létß®¦ÄœJ—ðá¿=Šã‡ngÜ7ç ’’¥4}åårêâÉJt&1¿3†¦yÒ‹s.´}ÝÄY¯ƒA%!)È?è?F›ÅT"—u{Ó(½m;›¦2Ó]§\~tî3ÕÐ…ZCE#ðÎVƒ’)Ñn¦ŽoRnÏÅæØ}÷Á±&’¥æ\«Èk‡ML ‹8Ä‡ÕæÐ ‘B =IÛÜ´SÔñf¬ãÅm ý"Ö‰ã/‰ËÔ/™Ê+h}lÏÀE,¸´3®«fOؓԖƒ´¸‹uðgšþï¦ÆÃž¯Ö¡ç±±'(©9ÿÚ?ÿJy}YîZ“± t.þóaª4¬Ø(Ò;Ÿ5KÞ¶¦MY‰w\´¸4‡êÇ€úͤyu¬®´p×Nî£ÕkML}žH€*1ÖFµnPt’Ö[Åe«‹c ô+§ñê¯ï€ö¢ÇÝÇ'ä!Tf!UTfc¨*¨ÖÌNÁ¤vó²ù6^pa æVý¦Å*+Wž¨ÓÃe4¢¬§òNÕ‰Èõ§±–SÒ|ǰ#ü34#ûꈣ½nO¤°7ê}ú~·{K#Ìꆒ›ów‡·Y÷>˜ŸN²W‡Áåǵ™\VXJã¯ÃGªKMÑ‚ýmX!ñ¹–|ÊàW›_˜wuSÝÖyIóÚ)Q$ÁWŽEާhelAI.|¸é–[ ¼é$"’ âna™9cngÀe>‚Ëæ+KáÛL¶Œ¸³ònÒv5mDÖ9ôŽž_Vub$0 E£ió$­ŒÛ4 VAÜBßj²8•pöWѧchŠÀ“__éÅÍðñøõ›å8‚5yÁä:GW7âÎ2ÕÁq•ð¿]¡ÝX?½Uö_Øi_1ª¶ )Æ‹j +N=ø¤Ž‡“Ìá̪d.æðŽä=×L}VÅN‘™.U¹JËZEtŽæ~=2xð8×'›Î=E’¤Í¥âM±¸æt=S¢Ål v¬IþÎç:ãüúcÈu‚6Î(Ó4¶«1ÅF%»6ÎÌ õ^ÖÀi%Zdäù[b½Åw>&ÂkþêÈÀëZ® æ÷yUBЩÂ[Óc(yø¦#®ÃÙ\N‘Ú¼qš. &°ŸÒ×o³V8®*}fżÉ-Þ³ JÑ ^yÜFƒV8b{LyÖt’ŸÊ±cµNmi?]JÍú™ÿF’[½fkve%¤šw29'yØ<ãÐt_t}I? ºÑw³Å\Q!eYK5rø÷oÔÑìZš[ÊKI4Îd‘Éçf׿%,¶¤÷m>Eq­#vcMì@Ò;Ÿ4ʶ¥ÔÃ*¬Ç®ëSêkèÁt޵Xb¯^% 0¢Ç(ÔUÀyI$ –$à ¤“¨¤µ2¹Îd¸©(Øeõßø³®¹ÈæOÓ§ˆÍ®É>÷UÇëöaz‹³nß@z‹î£È>ý[ùv<ª‘£HîxQ#Rîìv*¢‚ÌN‘ÛÏÙòŠ'F1wkUNü[AS)¥H½vQŒÓny^F>c-Ë&þ-¨Uì“üS­k®ö×»G…¥ü;,'«—ÔvPËÉâfíÎ߫у¢û£èò¿Vþ],9†]9¯nŒr…WêUÁ[—HéüÊ‹–Û8(Ì"Й¶*ëz¬Ç¥tIa‘%ŠAű0xÝyÕÔ•#Èmæ×b©¨¬qšcìÃëÈÇI)ü¾”Ò ûõoåØóGáö{ÚxüL¶Ñ2Tq޾¶ÞºF™6Tkf2'Çžã¬ÐUo³¢àg<ÜX îenk¶_l³¿U³ŽaéOAÑ}Ñôyß«.Ǧ9‡…ŸÀ‰VPˆ;ç ËÈu3‡g7œz‹î£È>ý[ùv="ÓÊéÏvÃz¡!µ#öcAÎtŽçÌÒ Ö;C-¿¢ŒêÀO(ëY;† ¥+ÅÅ›VXâ‰q¢ø{Z•<ãÐt_t}F©3¼ceGL1Y0RAí/_f…;úØê³%ê/j3ÓèV(‘å•Ï G—w<Ê«‰'HíüÈí–Ô=aBJ¿þÅoý{^qèÑ] ŒN êçR°uu‚9ˆ:ˆÑ¥¤E;Ïý´‡zíˆÚ´î­ÂÑŸU¶ÆûÒAÕaç%†OÃ2ÂuÞ¶¤4‹Ëákê’c¿³¿Aàk náñ3 ImÎøfºn_Ò|Êp™¾lÚX¸‡xQ`²Âv¸F;|üjËðñëW“­ ~Ϩw)ƒ´uwR·QÏðeÔ£Qó 6"I¢m© ÄtŽPwz4ÙSñ gÂJzÝɱºѼR!Á’E*Àô's•SyP‹jO‡NÏ,íÔÇpëM#µ˜ðç9’àÁ¦Oèk¶¯ÜVoÞ•>´ŸòéѨnØydµrÄ5kÄ I4ò,q ¥˜¤”þU‹½mhskH{¥äÆcƒJy™ð^QÅ£ÜÌ-OrÔ©§rí¯_ ú±¦>ª€¾…c”›•Gúr7ÅAü)N¿ÌÚcVQÆ^êÌ)Ê7^g¸Cœ0IW«4~ä›usFŸ‰æ¶¥»PNé^‚à?tF»r«qõS yôŽ­8!«Z!ÃF±Æƒr®ûO—¨ ¤ì:IS,áÎs5ÅJÂÿÑWqÿ‘dbõSˆóá§}›\iQ[jGŒt«ówPaí7oô‹$nÑȇtb¬§s cE‡4S2l£ÝŒjo]{´V™&½d8þcʤsySïV¿Î<¤^³ß]+Å[W†[’sq.!`Cí9Q¤•ÄŸ†emˆ*;•>Ùg«$ت8Sqüƒ¾©3Âü¸vsH‡ªãE‡1¤Û;áý³çl$ïÕ¿@ÊC)Ö8‚9ÁåÑ>õküãF¹šÝ†œP2¼ìCã$Òeé%?—òʇ‰MéxNa2ìÆ%ëGLÚwG–Wye‘‹É,ŽÒI#¬îä³1ßùIÞAËV\Z/Øåˆô~½#£”åÇñ&’w’ÅÒ­V·xG Š8ÛŽÓ{ÝØôk¹¥É®Ùoõ&lB/± #†1ì¨ügÿÚ?!þŠFa-ž;ÿ/¨+‰Edj¢¶ëÁ266¬nB˜AÕ{ÎÐÊ©戠—&>f9N·áG…B;"_ø(f\VrEV̰æ¢hdZ>Þ!¤<’‡–™ÄÁ§unv¶Q·¾g_Ûæ˜¿ØÔ/H Ñðâë/3#YÛbZlÖØ¼èPE„úôEÞQ•ƒol‘ð"øÄ²n¤Ë´¸vJ¥¿"iîU€zÇ*©Gæ˜Ô|üµÐ8½˜hÔx4:HLBZ‰iFbiÇ•ÏFºÏŒvîmˆÔUxÌâÌh ÞÅKREu´2ä—/޵\ÒY,­€Ùe¨»Äß¡r²ú‚Ø»G… Œ]¤ß ©Z¾U`l‹J»ú 3–FÀ! *Ùø„Šna¨kŒ5vá’ºN…éQäæ#¾ ‚IAQi‰‡WÌmRÉ&±Ãr­lÁky¡€€¢à,†´Úü¢B(Jx±5z±¤ª2’7cM}ÖêÝW*·W¢3ó3Có)4(7ÚS¿VÆXÕJj‘ZCDvƒ»c¢Ó.G£¬qì›­€±º¾cjøžLÈg 2bi&´ ¥\«øèPb*ŒCT]Ó˜S‡2¸f†šŸ&þ¨\Å…L8l­ŠFZW¸ Û½Y eûÄAE B’sì|ÆÕð;:|Jø-²Ž/¹'âhÄ5``<8ûËîêè½/›!Êœš¡#‹£ÁbdzóWÀìéðÁ ‹z@²šÔÜšÃ#qåmq:‡Xí¢}"e˜8' ‚'ZÏE™;‘×.ºŸÎSW.r íüÆÕð;:üIŠ"Ææqb8Ú¡H¨*ÂÏê!›Òã¹a ,а!ïÌm_³ø‚?o1[²êù«àv{Þ蜄cmÔ ¨’ðºA‹yÑ.Ð /Ö„Á~z¾cjøžPÎk:” lšÄÍ,KðöAØÖÖÀK;U¥1t ™$h*ÒõCVeA6aÏß?†Ç<ÐÂ#ê‚¶e³j˜ï(.ı¬¸öZÙü§`õY'™dX1¹£‹¢[ žH– a‡ eô'3¿X´ÎS7ùÏ*_3Q¥ ~åÛ«³Ñ‡ÆløØ{€­{„àäÇ.ËN˜ƒ‘ôŠ1Õ± M ­5°—,‹„I&†°À¨R)ÍJ8‚ öÍ„™DöP Cê±åXØøÐöp ’¼äƒä*mD`ÍÞfMÅ¿DÏÐ~ƒRI0¡ë ÇOF)›9©Kªú¨¨2¦ÀV“'[t5F¤jTöc4’Ò_²·¹ÏŠcJ4ƒ' x@àä Ö9Dä”'W[Ô€d&rÕôK6¥Bæ1XO!aË@€°‡¾ ÌEÈ·®ð“H©‘&p‰§¼j>"Zà$ é×j³­Èf˜¨X…œ«Ã1:«ÈžAçÿüFZ™Ëtý휔=TŽŠìÀT¶',™ŠÐÜ.¹ÿÚ?!þݰΪ?õà½J@6¯ú»ÝÁKY’§ó“J‡‹úZ;}Oð” pT¬[¿³ôµ%Ièhì`èOØ»³øq]è¶<Ç÷Ê~°|±ùqO¾0·—޳‡S5 ×úyßší´rw2yöáSHÿ þ9©1S_ÙøV•Y=@ܘW±P)ÄÏ»¹íB—ý)¥}ÙŸ¸ç Ø†ß½Ê€&}Ÿ‘' ØHÈö}…¶|þߥ.Ë%g¢xË¿ ¶ïPŽUççNÇ®HqR×;öŽå$­ï }N‰G*óñ§rôê+²'ÇõoߨÍÎçSÍN~þøôïäv>EAZuvý6¶ÐnüiÝ©ëæ‹àl[ 6-aò¯‡cëB°@:ŒÓŸB™Ɉò(ðc¡™¯ëwµK|‡åšh¬åeõËjTßߥBvì—w>Ášséð¹õ P¶*TO¢|x­ªŽÇcG$ñCá¬ÁùöŒÓŸO…Ï«V¤1ø©UäãÛá§ ŽFϧâØÜ‡Ó>™<3øsEžb?§‡ž´F/F¤\ÝçÛ_ q]ÈÎÜÙk:;°~x¨f6ôøý¾”‚Ç«u+`óRáÊñÿŽôý%j|?ÅCå]‡óÇBDÿ[5*ܬ;¿kóKÍÈ'c ½_‡cëE4è‘~bÇÃJøÆÃƽß\\ÍBù?´ëÙ¨»…}ˆ_Øy׳j$Ý1åûíÔâ’ ~+þ?¿ç§m‘ºñþÔ…ÛC/† tß_[±ó¯b¡­ú¸|2ß¡©ÖU‚²ƒáÝúRW¬«=N+¢üº&q³N˜¹[½4?{ê¾bZöÅ à,z¶%ÅKD?Ow_Z•͆cØqX=>w¤ U¡P ýwãÍB'ß{¹z!›UÏ/õM+â®×ñí8¬Ÿ;V–,Ô9ñóïðQÆ OÌ#{jPŸ¬üy¥Qkí¸¬Ÿ;Ž–xë½ÿ(¼¨»qØkæ”$jþ¶÷\VOǼæ¬YiÚzœVOǸã·ïj†nßüQ2AcGƒÒD!3&å%÷·²Õèf YÙçßá®ÀÃ^î_bƒŠ“^4©OÚ?Ê’Áû=ž¨v}˳_Åw¶^ÿp¶Æ¸ëH;Ö*¶¸{?ˆÊ.!+åúÚnHèúI©XwY¨o;m]ß§B <«HH|_³»nôá#Uù‹{?E—'gý© rt_áßSÍ/? nýZ„ÀAÑ9m›ábjZ4‡cöËîH´• ù5ñô¨HáõÇëh̵Åþwb¤§Ëgî=¬wþ´|2k_X _çãš$Åc«¹ËÀe{T;¼ûi÷=©«ÊÝ{¿Ãrïcþx¤šË¨Ø?/ª– jþÁýÏÿÚ $’I$’I$’I$’I%’I$’I$’OðRI$’I$òJbI$’I7”–ILI$’H©-I $’JYZW -I$þ€Ä“JnI'üÁ$8•’I?¤N™%1$’Iý"H‰ÚI$’Oéoˆ’I$’H’I$’l$“úD’I$œÉ$ŸÖ’I4”I$à‘’o .I$†’T—¢C²I$ÔÒH„‹¤’I$ªQ.É$’I$“š˜ÒI$’I$’`$’I$’I$’I$’I$’I$’I$’I?ÿÚ?þˆ`B «`2?Åu!¸¶æ½`èÖ3Ø"”BqVqÞ;̦°åÿ‘aFà‘sZC¶\9ºà7àÄÖ,IñV*üãlŒ†e&tö6'™‰…ƒÐn`ߨà ¦µAeqÐsì‚ῼ *€ «UlV•ì€8\†HHÚVÝŸ æE3ŸT@Qâˆ!f7¿ª¢K$Ÿ" m ‰—‰0ƒi»x2äˆ0'´Œ+Cù³:ež€JuÊsà!½í¨y5Á1=\\l ÓX’‚õ„_З†R%y£EHBá-,Ðh ág1(0ËDQD„vFãêIõY b¬Üxf™Ÿ·ô$Á*¢ƒ•Í4+²D€”/PZN` l_,([Ât‚Ä Ò}ZWöRB­fþ¨¦U×,§6Áªj“ÐrS‘-šcÑP4庌"%.@hc«õˆ54žDÙâsÆ-lI=šÄ2F@¢$P`Š-éõÍÆò­)‘tü6úd„•îd‘#qšIéY'»¶Ø±  t”VRñEœ †ÒQ ™\¤¨ÐŠ ‰A0SKh?~úQ€­Dè.ªk`I7ëF;nµºA2¢9ÅJUœBAÂK]D¸ŽÂ> |ÑŒˆ”¢ZFœÛ×ÑâiD±A 8ïA3‡é‹!bĦk^Hà †€(Æa"ÂÇ«Azˆ1+V˜1„pX†eJmMù¥&@U‹gØA²N>Ìq§#êiÎ2M`5_”Þ+ „-K.„–N%…ëJÁ÷7§T¶”ˆ$Z$š7™Ô^LóP¾§f%*²¨«Ö(xƹ!¬†”³|8ŒCâÀ2€^à`‡¢ãÌC %™*XÓcàžZ3Du™:JÁUz¼´a±DÖ ™ZjtÂa˜ 8ïÌÕ‰¸d; É^“šöÚˆ–™ý4s¦¶"º¤ˆ¢zytÐ¥gN…/öÑ5e›fõ]„e ˆ ŠØTrÈÌ´ßøxø´˜™Uñ©Æ£Æ\82ÄY83V_æEãÛØu½Å¸ÿÚ?þŠïñsŸÒÆ© +A­{±¹Y8I˨Ÿ5erbÀ€È«íEëŸ7†07ð‘8ªÀÕ[][j7ŠFh—fÑæÅE¿t8Ĺeè~×XyûžU- 7†-bþø€†é{Ï9zŸ.ÙÞeå¡ -Ö•’D@˜D¸ÔeˆÞPcúhSVewg…ì'E/íËN''v&Á²(ËS3ÖMƒÂ〉ʻ«ŸTeð²6 W±S{aC&pu UEäG{7ës(ê0ƒcXyûŸ¡Ñ¯™I°Âj"5él›Œ¼‡ƒšY#pQðÙ³~°– Ó¼A†’û±8˜ é?Ĭ¾ø8-ê±wËN̨çRˆ.`«"7Ьì¨ !r•)zeƒ&ønÊ5'=­<Œ#d‰Ç[3»HÄF†C )1h‰fmX/Vô$Œ±†K™2¼EŽCîú)FÈߊä±'',»mGp¨ªBbImÂÉ$›#¦˜½‰lx ¦¥;i‰xLÁ¸k}^ABɤÁ€Õ`2¥;lÂ}‘}ðÆCD  `;yoÕƒ½gîþ}L( !É~´n.l!kÄð3ÀyäBþoÉÔE5šU‘ou¿¨ J˜ê¸U£ Àóf’?¥Ë½Þì¶°ˆö0w¬ýßϦOP*«rÓ%"ðÙg+KO´d°{ƒƒ …Ëb‡ä¶,ÒJ@\Å¢ìÝf•nçÙÁÞ³÷>™=@²‡#ØŠ2s¥>ÈJÄY`šbæ‘ ÀvFд!ow°rÎÅGc„2.É–bñ¨(S4Ø··ƒ½gîþ}2tƒh °,µpxËrŒe›'äÇFåqjlj†'••Ê_wzÏÝüúd÷1vQ†p(\ ÆN¬ë?wóé“Ü nœá]†S€ôÃídw'H6…œ¬SÂñj2«w«zÏÝüú”‹‚“£b$²î ù`vöN»J«b£)ÙÍß ,¶#•.Y˜•‡B±Œ^}8;Ó„"B_gÔQ‘,Žã£Pe+N‡³+Pºêc.=CÇã "óvo ØqròC/•îA•ƒ Á@N%†Ù·\ZÀµƒçS†xІPÞ+XîO.€øˆÿÓ†J°&[óäpPC)GÉé4(ü&Þ&ʪz®Hv/‹Œ1{ŠUeºú®¤…‘à/SÑm—&‰—!]ý´Gw]ÄV¯³†Ð½Ãù‡e©ð›ªí:<0ôIê7wïa䇚OefAÌ@ð±rVi5¤¬wMŒƒÔëX\Èù:NfÄTÂ;á!0ÿ¢'Ü< ÷T™·kû—ì‘™‘è#ɹ²Yõù=ŸR0HIÜC[+p/@PÆEæ…ÂÃ& UeÏ¿µ)œòÈ»7Öhe‘¼þÆž0Ñ‘¡a#É_'³DR² ¨¨aùY ¼&ôNÀÃa±íùèx»A(.%Df$>G«E1-Ôò•çûŸÿÚ?þŠGÅà ܻºn 5J߯,¸Vðpêq*C³n©Lµe,Úø±97J¸×ø X%WW@»S}˜#ÝbšÏ‡5>בwyNí´Ž‹Ê†—þëhàRçieqmï‹”‹Š3\ Ú8j<Ùq9aƒ€.¥¿YòH@DtFÉR¸¥d_l•î<ïHÀq œršƒon3±Ê»“EÅOîF‡tol’ `p¥e7RÞ¢¦øŠ64”h±#©¿:èí"Í-4Dµ+eÂ_ì[îtir#0î²"%8ýõP-–91Kç j6T'“’Ýk¸¡°’X a.headerlink, h2:hover > a.headerlink, h3:hover > a.headerlink, h4:hover > a.headerlink, h5:hover > a.headerlink, h6:hover > a.headerlink, dt:hover > a.headerlink { visibility: visible; } a.headerlink:hover { background-color: #edaa1e; color: white; } div.body p, div.body dd, div.body li { text-align: left; line-height: 130%; } div.body p.caption { text-align: inherit; } div.body td { text-align: left; } ul.fakelist { list-style: none; margin: 10px 0 10px 20px; padding: 0; } .field-list ul { padding-left: 1em; } .first { margin-top: 0 !important; } /* "Footnotes" heading */ p.rubric { margin-top: 30px; font-weight: bold; } /* "Topics" */ div.topic { background-color: #ddd; border: 1px solid #666; padding: 0 7px 0 7px; margin: 10px 0 10px 0; } p.topic-title { font-size: 1.1em; font-weight: bold; margin-top: 10px; } /* Admonitions */ div.admonition { margin-top: 10px; margin-bottom: 10px; padding: 7px; } div.admonition dt { font-weight: bold; } div.admonition dl { margin-bottom: 0; } div.admonition p { display: inline; } div.seealso { background-color: #fff2b0; border: 1px solid #edaa1e; } div.warning { background-color: #fff2b0; border: 1px solid ##db7d46; } div.note { background-color: #eee; border: 1px solid #666; } p.admonition-title { margin: 0px 10px 5px 0px; font-weight: bold; display: inline; } p.admonition-title:after { content: ":"; } div.body p.centered { text-align: center; margin-top: 25px; } table.docutils { border: 0; } table.docutils td, table.docutils th { padding: 1px 8px 1px 0; border-top: 0; border-left: 0; border-right: 0; border-bottom: 1px solid #a9a6a2; } table.field-list td, table.field-list th { border: 0 !important; } table.footnote td, table.footnote th { border: 0 !important; } .field-list ul { margin: 0; padding-left: 1em; } .field-list p { margin: 0; } dl { margin-bottom: 15px; clear: both; } dd p { margin-top: 0px; } dd ul, dd table { margin-bottom: 10px; } dd { margin-top: 3px; margin-bottom: 10px; margin-left: 30px; } .refcount { color: #24326e; } dt:target, .highlight { background-color: #edaa1e1; } dl.glossary dt { font-weight: bold; font-size: 1.1em; } th { text-align: left; padding-right: 5px; } pre { padding: 5px; background-color: #e6f3ff; color: #333; border: 1px solid #24326e; border-left: none; border-right: none; overflow: auto; } td.linenos pre { padding: 5px 0px; border: 0; background-color: transparent; color: #aaa; } table.highlighttable { margin-left: 0.5em; } table.highlighttable td { padding: 0 0.5em 0 0.5em; } tt { background-color: #ddd; padding: 0 1px 0 1px; font-size: 1.2em; } tt.descname { background-color: transparent; font-weight: bold; font-size: 1.2em; } tt.descclassname { background-color: transparent; } tt.xref, a tt { background-color: transparent; font-weight: bold; } .footnote:target { background-color: #fff2b0 } h1 tt, h2 tt, h3 tt, h4 tt, h5 tt, h6 tt { background-color: transparent; } .optional { font-size: 1.3em; } .versionmodified { font-style: italic; } form.comment { margin: 0; padding: 10px 30px 10px 30px; background-color: #ddd; } form.comment h3 { background-color: #598ec0; color: white; margin: -10px -30px 10px -30px; padding: 5px; font-size: 1.4em; } form.comment input, form.comment textarea { border: 1px solid #ddd; padding: 2px; font-family: 'Verdana', 'Helvetica', 'Arial', sans-serif; font-size: 100%; } form.comment input[type="text"] { width: 240px; } form.comment textarea { width: 100%; height: 200px; margin-bottom: 10px; } .system-message { background-color: #edaa1e; padding: 5px; border: 3px solid red; } /* :::: PRINT :::: */ @media print { div.document, div.documentwrapper, div.bodywrapper { margin: 0; width : 100%; } div.sphinxsidebar, div.related, div.footer, div#comments div.new-comment-box, #top-link { display: none; } } traitsui-7.2.1/docs/source/_static/et.png0000644000076500000240000000124614046644454021006 0ustar aayresstaff00000000000000‰PNG  IHDR szzôtEXtSoftwareAdobe ImageReadyqÉe<HIDATxÚÄ—¿KÃPÇŸ%¨8Hü1ˆTè¨è(ˆº8 ÝLÿíäØ8:Y‡.mÿ])"´ nB#8H ’" VïÊ=HmòÞËkm¡i’ï'w÷î.Œ ؆toÜ8¼‰Á!Ë‚u+{¹¿êöÄm8ìŠzN;…á$Ž`Å—•¤Ô3^!a3o@mŽ’°¥™*˜Ça‡ñ=J²¨ÄÝg”¢° Òr*ats^ám ˜~ÀRé(^=ÇŠ×ÏyIœ[. Úr!BV ×ðœ´6§ÌrÕe¯ï_ºI•xŽ¿Äÿá`³ã#lky†=Ö>XÙqYóûOWˆ¶$IVž3";¥g9¾ÜâÓcl~r ¹Ô’-Ù)¹]ûÀ—0‚î6"l->QÊ ›$¼"qwZT Í€ÂIÉ¥JýÁÐ(.²‚nNÉ* ·HXuxpȽkCÿW× Œé¹™ÇyAµuÂ6-m‹°Ö ªý &WåÛ×裰o““ì@“ªì¬Ï¹]ÇD[W,³U€ØÓŒ³Mî6»IÂV‹1Å-–5§¶y€w4•¡"aqzÑ:&"LÂÔzÌnúCàLHî–¾Íù}­PkZ*^ó+ÑÒ±@„ýþâ¡Î^Ÿ¢Ù1%*ÑJßžüÈ(¸4¾e{úeDùѶ§}²$®T;´¾ )?ZUÍÐ1rÿ»aÚ>¹½£oF-û`êÁªÃø]IEND®B`‚traitsui-7.2.1/docs/source/traitsui_user_manual/0000755000076500000240000000000014046644526022476 5ustar aayresstaff00000000000000traitsui-7.2.1/docs/source/traitsui_user_manual/index.rst0000644000076500000240000000444114046644454024342 0ustar aayresstaff00000000000000.. TraitsUI documentation master file, created by sphinx-quickstart on Mon Aug 18 11:27:34 2008. You can adapt this file completely to your liking, but it should at least contain the root `toctree` directive. =============================== TraitsUI |version| User Manual =============================== :Authors: Lyn Pierce, Janet Swisher, and Enthought Developers :Version: Document Version 4 :Copyright: 2005-2020 Enthought, Inc. All Rights Reserved. Contents ======== .. toctree:: :maxdepth: 3 intro.rst view.rst custom_view.rst advanced_view.rst handler.rst factory_intro.rst factories_basic.rst factories_advanced_extra.rst adapters.rst testing.rst tips.rst glossary.rst predefined_traits.rst License ======= Redistribution and use of this document in source and derived forms, with or without modification, are permitted provided that the following conditions are met: * Redistributions of source or derived format (for example, Portable Document Format or Hypertext Markup Language) must retain the above copyright notice, this list of conditions and the following disclaimer. * Neither the name of Enthought, Inc., nor the names of contributors may be used to endorse or promote products derived from this document without specific prior written permission. THIS DOCUMENT IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS DOCUMENT, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. All trademarks and registered trademarks are the property of their respective owners. | Enthought, Inc. | 200 W Cesar Chavez, Suite 202 | Austin, TX 78701 | United States | 1.512.536.1057 (voice) | http://www.enthought.com | info@enthought.com traitsui-7.2.1/docs/source/traitsui_user_manual/handler.rst0000644000076500000240000006303414046644454024653 0ustar aayresstaff00000000000000.. _controlling-the-interface-the-handler: ====================================== Controlling the Interface: the Handler ====================================== Most of the material in the preceding chapters is concerned with the relationship between the model and view aspects of the :term:`MVC` design pattern as supported by TraitsUI. This chapter examines the third aspect: the :term:`controller`, implemented in TraitsUI as an :term:`instance` of the :term:`Handler` class. [11]_ A controller for an MVC-based application is essentially an event handler for GUI events, i.e., for events that are generated through or by the program interface. Such events can require changes to one or more model objects (e.g., because a data value has been updated) or manipulation of the interface itself (e.g., window closure, dynamic interface behavior). In TraitsUI, such actions are performed by a Handler object. In the preceding examples in this guide, the Handler object has been implicit: TraitsUI provides a default Handler that takes care of a common set of GUI events including window initialization and closure, data value updates, and button press events for the standard TraitsUI window buttons (see :ref:`command-buttons-the-buttons-attribute`). This chapter explains the features of the TraitsUI Handler, and shows how to implement custom GUI behaviors by building and instantiating custom subclasses of the Handler class. The final section of the chapter describes several techniques for linking a custom Handler to the window or windows it is designed to control. .. _backstage-introducing-the-uiinfo-object: Backstage: Introducing the UIInfo Object ---------------------------------------- TraitsUI supports the MVC design pattern by maintaining the model, view, and controller as separate entities. A single View object can be used to construct windows for multiple model objects; likewise a single Handler can handle GUI events for windows created using different Views. Thus there is no static link between a Handler and any particular window or model object. However, in order to be useful, a Handler must be able to observe and manipulate both its corresponding window and model objects. In TraitsUI, this is accomplished by means of the UIInfo object. Whenever TraitsUI creates a window or panel from a View, a UIInfo object is created to act as the Handler's reference to that window and to the objects whose :term:`trait attribute`\ s are displayed in it. This object holds a reference to the UI instance in its **ui** trait, and whether or not the UI has been initialized in the **initialized** trait. Additionally, this object is dynamically assigned trait attributes which correspond to: - each entry in the View's context (see :ref:`the-view-context`). - each item's and group's editor in the view, by id (or name, if no id is available for an item). Where there is conflict between ids, the editors take precedence over context values, and if two editors have the same name then the last editor with that name will be referenced. For example, the UIInfo object created in :ref:`Example 7 ` has attributes **h1** and **h2** whose values are the objects **house1** and **house2** respectively. Additionally it has attributes **address**, **bedroom**, **pool**, and **price** that reference the editors in the second group. In :ref:`Example 1 ` through :ref:`Example 6 `, the created UIInfo object has an attribute **object** whose value is the object **sam**, together with attributes that corrspond to the items in the views, such as **first_name**, **last_name** and **department**. Whenever a window event causes a Handler method to be called, TraitsUI passes the corresponding UIInfo object as one of the method arguments. This gives the Handler the information necessary to perform its tasks. Additionally, traits on objects in the context can be synchronized with traits on editors via the **sync_to_view**, **sync_from_view** and **sync_with_view** trait metadata. Note that not every trait on every editor can react to changes: some values are only used at editor creation time; however all editors support dynamically changing the **enabled**, **visible** and **invalid** traits. This feature can sometimes allow developers to avoid having to create a custom Handler subclass. See the :github-demo:`Invalid state handling ` example which demonstrates how to use this mechanism to control the invalid state of a dialog based on the value of multiple editors. .. _backstage-the-ui-object: Backstage: The UI Object ------------------------ As opposed to the very dynamic UIInfo object, the UI class provides an object which ties together the various objects that are involved in a TraitsUI GUI: the View, the context, the Handler, the underlying toolkit controls and the shared state of the GUI. It also has some life-cycle and useful utility methods that can be useful when working from a handler. The UI object is returned as the result of a call to edit_traits(), and as noted in the previous section, is available as the **ui** attribute of the UIInfo object that is passed to most handler methods. .. rubric:: Attributes of UI, by category TraitsUI core view: View template used to construct the user interface. handler: Handler object used for event handling. context: Dictionary of objects that the UI is editing. info: UIInfo object containing context or editor objects parent: The parent UI (if any) of this UI. Toolkit control: Panel or dialog associated with the user interface. owner: Toolkit-specific object that "owns" **control** GUI state id: The unique ID for this UI for persistence. title: Title of the dialog, if any. icon: The ImageResource of the dialog icon, if any. key_bindings: The KeyBindings object (if any) for this UI. result: Result from a modal or wizard dialog. modified: Have any modifications been made to UI contents? updated: Event when the user interface has changed. history: Undo and Redo history. errors: The number of currently pending editor error conditions. Note that changing this must be done very carefully to avoid permanent error states. destroyed: Set to True when the UI has finished being destroyed. .. rubric:: Useful UI methods +---------------------------+--------------------------------------------------+ |Method |Purpose | +===========================+==================================================+ |dispose(result, abort) |Disposes of the UI. This can be called to close a| | |TraitsUI dialog programatically from a handler. | +---------------------------+--------------------------------------------------+ |get_editors(name) |Returns a list of all editors matching the name. | +---------------------------+--------------------------------------------------+ .. _assigning-handlers-to-views: Assigning Handlers to Views --------------------------- In accordance with the MVC design pattern, Handlers and Views are separate entities belonging to distinct classes. In order for a custom Handler to provide the control logic for a window, it must be explicitly associated with the View for that window. The TraitsUI package provides three ways to accomplish this: - Make the Handler an attribute of the View. - Provide the Handler as an argument to a display method such as edit_traits(). - Define the View as part of the Handler. .. _binding-a-singleton-handler-to-a-view: Binding a Singleton Handler to a View ````````````````````````````````````` To associate a given custom Handler with all windows produced from a given View, assign an instance of the custom Handler class to the View's **handler** attribute. The result of this technique, as shown in :ref:`Example 9 `, is that the window created by the View object is automatically controlled by the specified handler instance. .. _linking-handler-and-view-at-edit-time: Linking Handler and View at Edit Time ````````````````````````````````````` It is also possible to associate a custom Handler with a specific window without assigning it permanently to the View. Each of the three TraitsUI window-building methods (the configure_traits() and edit_traits() methods of the HasTraits class and the ui() method of the View class) has a *handler* keyword argument. Assigning an instance of Handler to this argument gives that handler instance control *only of the specific window being created by the method call*. This assignment overrides the View's **handler** attribute. .. _creating-a-default-view-within-a-handler: Creating a Default View Within a Handler ```````````````````````````````````````` You seldom need to associate a single custom Handler with several different Views or vice versa, although you can in theory and there are cases where it is useful to be able to do so. In most real-life scenarios, a custom Handler is tailored to a particular View with which it is always used. One way to reflect this usage in the program design is to define the View as part of the Handler. The same rules apply as for defining Views within HasTraits objects; for example, a view named 'trait_view' is used as the default view. The Handler class, which is a subclass of HasTraits, overrides the standard configure_traits() and edit_traits() methods; the subclass versions are identical to the originals except that the Handler object on which they are called becomes the default Handler for the resulting windows. Note that for these versions of the display methods, the *context* keyword parameter is not optional. .. _handler-subclasses: Handler Subclasses ------------------ TraitsUI provides two Handler subclasses: ModelView and Controller. Both of these classes are designed to simplify the process of creating an MVC-based application. Both ModelView and Controller extend the Handler class by adding the following trait attributes: - **model**: The model object for which this handler defines a view and controller. - **info**: The UIInfo object associated with the actual user interface window or panel for the model object. The **model** attribute provides convenient access to the model object associated with either subclass. Normally, the **model** attribute is set in the constructor when an instance of ModelView or Controller is created. The **info** attribute provides convenient access to the UIInfo object associated with the active user interface view for the handler object. The **info** attribute is automatically set when the handler object's view is created. Both classes' constructors accept an optional *model* parameter, which is the model object. They also can accept metadata as keyword parameters. .. class:: ModelView( [model = None, **metadata] ) .. class:: Controller( [model = None, **metadata] ) The difference between the ModelView and Controller classes lies in the context dictionary that each one passes to its associated user interface, as described in the following sections. .. _controller-class: Controller Class ```````````````` The Controller class is normally used when implementing a standard MVC-based design, and plays the "controller" role in the MVC design pattern. The "model" role is played by the object referenced by the Controller's **model** attribute; and the "view" role is played by the View object associated with the model object. The context dictionary that a Controller object passes to the View's ui() method contains the following entries: - ``object``: The Controller's model object. - ``controller``: The Controller object itself. Using a Controller as the handler class assumes that the model object contains most, if not all, of the data to be viewed. Therefore, the model object is used for the object key in the context dictionary, so that its attributes can be easily referenced with unqualified names (such as Item('name')). .. _modelview-class: ModelView Class ``````````````` The ModelView class is useful when creating a variant of the standard MVC design pattern. In this variant, the ModelView subclass reformulates a number of trait attributes on its model object as properties on the ModelView, usually to convert the model's data into a format that is more suited to a user interface. The context dictionary that a ModelView object passes to the View's ui() method contains the following entries: - ``object``: The ModelView object itself. - ``model``: The ModelView's model object. In effect, the ModelView object substitutes itself for the model object in relation to the View object, serving both the "controller" role and the "model" role (as a set of properties wrapped around the original model). Because the ModelView object is passed as the context's object, its attributes can be referenced by unqualified names in the View definition. .. _writing-handler-methods: Writing Handler Methods ----------------------- If you create a custom Handler subclass, depending on the behavior you want to implement, you might override the standard methods of Handler, or you might create methods that respond to changes to specific trait attributes. .. _overriding-standard-methods: Overriding Standard Methods ``````````````````````````` The Handler class provides methods that are automatically executed at certain points in the lifespan of the window controlled by a given Handler. By overriding these methods, you can implement a variety of custom window behaviors. The following sequence shows the points at which the Handler methods are called. 1. A UIInfo object is created 2. The Handler's init_info() method is called. Override this method if the handler needs access to viewable traits on the UIInfo object whose values are properties that depend on items in the context being edited. 3. The UI object is created, and generates the actual window. 4. The init() method is called. Override this method if you need to initialize or customize the window. .. TODO: Add a non-trivial example here. 5. The position() method is called. Override this method to modify the position of the window (if setting the x and y attributes of the View is insufficient). 6. The window is displayed. .. _when-handler-methods-are-called-and-when-to-override-them-table: .. rubric:: When Handler methods are called, and when to override them +---------------------------+--------------------------+-----------------------+ |Method |Called When |Override When? | +===========================+==========================+=======================+ |apply(info) |The user clicks the |To perform additional | | |:guilabel:`Apply` button, |processing at this | | |and after the changes have|point. | | |been applied to the | | | |context objects. | | +---------------------------+--------------------------+-----------------------+ |close(info, is_ok) |The user requests to close|To perform additional | | |the window, clicking |checks before | | |:guilabel:`OK`, |destroying the window. | | |:guilabel:`Cancel`, or the| | | |window close button, menu,| | | |or icon. | | +---------------------------+--------------------------+-----------------------+ |closed(info, is_ok) |The window has been |To perform additional | | |destroyed. |clean-up tasks. | +---------------------------+--------------------------+-----------------------+ |revert(info) |The user clicks the |To perform additional | | |:guilabel:`Revert` button,|processing. | | |or clicks | | | |:guilabel:`Cancel` in a | | | |live window. | | +---------------------------+--------------------------+-----------------------+ |setattr(info, object, name,|The user changes a trait |To perform additional | |value) |attribute value through |processing, such as | | |the user interface. |keeping a change | | | |history. Make sure that| | | |the overriding method | | | |actually sets the | | | |attribute. | +---------------------------+--------------------------+-----------------------+ |show_help(info, |The user clicks the |To call a custom help | |control=None) |:guilabel:`Help` button. |handler in addition to | | | |or instead of the | | | |global help handler, | | | |for this window. | +---------------------------+--------------------------+-----------------------+ |perform(info, action, |The user clicks a button |To change the way that | |event) |or toolbar item, or |actions are handled, | | |selects a menu item. |eg. to pass more info | | | |to a method. | +---------------------------+--------------------------+-----------------------+ .. _reacting-to-trait-changes: Reacting to Trait Changes ````````````````````````` The setattr() method described above is called whenever any trait value is changed in the UI. However, TraitsUI also provides a mechanism for calling methods that are automatically executed whenever the user edits a *particular* trait. While you can use static notification handler methods on the HasTraits object, you might want to implement behavior that concerns only the user interface. In that case, following the MVC pattern dictates that such behavior should not be implemented in the "model" part of the code. In keeping with this pattern, TraitsUI supports "user interface notification" methods, which must have a signature with the following format: .. method:: extended_traitname_changed(info) This method is called whenever a change is made to the attribute specified by *extended_traitname* in the **context** of the View used to create the window (see :ref:`multi-object-views`), where the dots in the extended trait reference have been replaced by underscores. For example, for a method to handle changes on the **salary** attribute of the object whose context key is 'object' (the default object), the method name should be object_salary_changed(). By contrast, a subclass of Handler for :ref:`Example 7 ` might include a method called h2_price_changed() to be called whenever the price of the second house is edited. .. note:: These methods are called on window creation. User interface notification methods are called when the window is first created. To differentiate between code that should be executed when the window is first initialized and code that should be executed when the trait actually changes, use the **initialized** attribute of the UIInfo object (i.e., of the *info* argument):: def object_foo_changed(self, info): if not info.initialized: #code to be executed only when the window is #created else: #code to be executed only when 'foo' changes after #window initialization #code to be executed in either case The following script, which annotates its window's title with an asterisk ('*') the first time a data element is updated, demonstrates a simple use of both an overridden setattr() method and user interface notification method. .. _example-9-using-a-handler-that-reacts-to-trait-changes: .. rubric:: Example 9: Using a Handler that reacts to trait changes .. literalinclude:: examples/handler_override.py :start-at: handler_override.py .. image:: images/alter_title_before.png :alt: Dialog box with empty checkboxes and a title of "Alter Title" .. figure:: images/alter_title_after.png :alt: Dialog box with one filled checkbox and a title of "Alter Title*" Figure 7: Before and after views of Example 9 .. _implementing-custom-window-commands: Implementing Custom Window Commands ``````````````````````````````````` Another use of a Handler is to define custom window actions, which can be presented as buttons, menu items, or toolbar buttons. .. _actions: Actions ::::::: In TraitsUI, window commands are implemented as instances of the Action class. Actions can be used in :term:`command button`\ s, menus, and toolbars. Suppose you want to build a window with a custom **Recalculate** action. Suppose further that you have defined a subclass of Handler called MyHandler to provide the logic for the window. To create the action: #. Add a method to MyHandler that implements the command logic. This method can have any name (e.g., do_recalc()), but must accept exactly one argument: a UIInfo object. #. Create an Action instance using the name of the new method, e.g.:: recalc = Action(name="Recalculate", action="do_recalc") .. _custom-command-buttons: Custom Command Buttons :::::::::::::::::::::: The simplest way to turn an Action into a window command is to add it to the **buttons** attribute for the View. It appears in the button area of the window, along with any standard buttons you specify. #. Define the handler method and action, as described in :ref:`actions`. #. Include the new Action in the **buttons** attribute for the View:: View( # view contents, # ..., buttons=[OKButton, CancelButton, recalc], ) .. _menus-and-menu-bars: Menus and Menu Bars ::::::::::::::::::: Another way to install an Action such as **recalc** as a window command is to make it into a menu option. #. Define the handler method and action, as described in :ref:`actions`. #. If the View does not already include a MenuBar, create one and assign it to the View's **menubar** attribute. #. If the appropriate Menu does not yet exist, create it and add it to the MenuBar. #. Add the Action to the Menu. These steps can be executed all at once when the View is created, as in the following code:: View( # view contents, # ..., menubar=MenuBar( Menu(my_action, name='My Special Menu'), ), ) .. _toolbars: Toolbars :::::::: A third way to add an action to a Traits View is to make it a button on a toolbar. Adding a toolbar to a Traits View is similar to adding a menu bar, except that toolbars do not contain menus; they directly contain actions. 1. Define the handler method and the action, as in :ref:`actions`, including a tooltip and an image to display on the toolbar. The image must be a Pyface ImageResource instance; if a path to the image file is not specified, it is assumed to be in an images subdirectory of the directory where ImageResource is used:: From pyface.api import ImageResource recalc = Action( name="Recalculate", action="do_recalc", toolip="Recalculate the results", image=ImageResource("recalc.png"), ) 2. If the View does not already include a ToolBar, create one and assign it to the View's **toolbar** attribute. 3. Add the Action to the ToolBar. As with a MenuBar, these steps can be executed all at once when the View is created, as in the following code:: View( # view contents, # ..., toolbar=ToolBar(my_action), ) .. _undo_redo: Undo and Redo ------------- TraitsUI provides basic undo/redo functionality via the |UI| object's history trait. This is created automatically for |View| objects other than subpanels whenever the |View| has a menubar or an "Undo" or "Revert" button. This system is largely independent of the `Pyface undo/redo functionality `_, although that may change in the future. The primary hook into the undo/redo system is via the |do_undoable| method of the |UI| object, which calls the supplied callable while capturing all changes to traits that are being viewed while the callable is running. Undo and redo actions then simply reset the values of all of those traits to the appropriate before or after values. This works well for simple cases where traits are not heavily interdependent, but may break down in situations where there are complex dependencies. The |do_undoable| method is called when the value property of an |Editor| is set or when any |Action| is performed, including actions associated with complex editors that provide context menus. .. rubric:: Footnotes .. [11] Except those implemented via the **enabled_when**, **visible_when**, and **defined_when** attributes of Items and Groups. .. |Action| replace:: :py:class:`~traitsui.menu.Action` .. |Editor| replace:: :py:class:`~traitsui.editor.Editor` .. |UI| replace:: :py:class:`~traitsui.ui.UI` .. |View| replace:: :py:class:`~traitsui.view.View` .. |do_undoable| replace:: :py:meth:`~traitsui.ui.UI.do_undoable`traitsui-7.2.1/docs/source/traitsui_user_manual/testing.rst0000644000076500000240000000244314046644454024710 0ustar aayresstaff00000000000000.. _testing-traitsui-applications: ============================= Testing TraitsUI Applications ============================= TraitsUI provides a toolkit independent API to help developers check the behavior of their applications in automated tests. Most of the testing functionality can be accessed via the |testing.api| module. .. note:: The testing library is relatively new compared to other features in TraitsUI. Built-in support for testing TraitsUI editors are continuously being added. Get started =========== .. toctree:: :maxdepth: 1 testing/tutorials/first_test testing/tutorials/test_with_nested_object How-to guides ============= .. toctree:: :maxdepth: 1 testing/howtos/add_new_interaction testing/howtos/add_new_location Discussions =========== .. toctree:: :maxdepth: 1 testing/discussions/automated_vs_manual_test testing/discussions/debugging-gui-tests-at-runtime testing/discussions/compatibility_pyface_testing testing/discussions/event_loop_and_exceptions testing/discussions/target_interaction_location testing/discussions/working_of_extensions Technical Reference =================== .. toctree:: :maxdepth: 1 testing/references/examples API Reference <../api/traitsui.testing> .. include:: testing/substitutions.rst traitsui-7.2.1/docs/source/traitsui_user_manual/images/0000755000076500000240000000000014046644526023743 5ustar aayresstaff00000000000000traitsui-7.2.1/docs/source/traitsui_user_manual/images/ListEditor_demo.png0000644000076500000240000015515114046644454027547 0ustar aayresstaff00000000000000‰PNG  IHDR °ŒÓ¹ò pHYs  šœ IDATxœìÝ{<Ôéÿ?þ ãäÔA6²Š,¥´•t>H‡7í»]û.m‡Ýµ½KE)Ù]kÛ÷VK:m'¤½ ¶BùD ƒ¶R9•è€)”1c¾\¿Ïë7Ÿ™¡‰—CyÜÿØÛtÍ5×ëšÃÞB¡ÒØØHQRR"„¨ªª¶ú¸XÁ`V°àöý÷ß³>fXXXGÀ ˰‚ð4·[K~XÐ’ÜÜÜk×®)**.]ºTf±]سgŸÏwtt1bDgÏ¥}effÞ¸qãñãǽzõZ³fM[ö~¶7@ðûï¿?xðàÛo¿533ëìé@w„€Õ½,_¾üÍ›7òôüÇ?þáææ–œœ¼víZBˆ¯¯/‡Óî¿–àààââbBˆ¿¿ÿСC[î—œœL™:uêìÙ³Û{nÍY¹råÛ·oׯ_ÿq¬eË–EFF2ÿüæ›od¬¢¢¢-[¶B&OžìééÙÜh~~~B¡ÐÒÒ²=6OÄÇÇÓa>|xþüyÖÇx'¬îåÏ?ÿ¬¯¯—§§››[{ÏG©S§rss !ÊÊÊ»wïn¡gSSÓÚµk‹ŠŠ!}úôéÄ€ÕEÄÄÄp¹\CCC???ÖONN¦éJAAaÔ¨Qjjj2{êëëŸ:uŠÇãeeeµ°ÎŸ?¿wï^BÈæÍ›YŸ-acm °º—Ï?ÿ¼®®Žù'ŸÏOKK#„ 8ÐÜÜ\¼ç'Ÿ|ÒÁswôèѰ°0MMÍæ:œ?ž¦+ Ž?~úôi[[ÛöX—/_¦.]ºÔrìVSS›7oÞž={¸\nAA¥¥¥ÌnÑÑÑ„ÖgK™>}ú¯¿þZTT´bÅŠöº”ðððΞ‚ XÝKBB‚ø?_¿~MCÌ¢E‹~üñÇNš” uuu‡^¾|ys""":r>Ý=oÛ¯_¿±cǾ³³Ïž={!ÑÑÑ!!!ÒêêêΜ9C=zt;åx‡óí·ß¶ÇÈrÂB:¼Ÿ/^dee½~ýºån¯^½ÊËËËÉÉ©®®nÝZˆP¥¥¥‰‰‰ïá}çP^^~ãÆ éεµµyyyàƒ…¼¼¼¢¢"‘HÔB·ººº;wîp¹\>Ÿ/ÏÜ!÷ïß¿sç-1Ì–¦¦¦'OžÜ¼yóþýû-lΣoÜÀÀ@žSo...¦¦¦„ØØX™Μ9C—Q/^,Þ. KKK333‹ŠŠäù¨I>ù¿Ó¶ÿ’ {BÀymݺÕÒÒ²_¿~#FŒÐÒÒ5jT^^žt·ŒŒŒ &hiiY[[ÛÚÚêêê:;;§¦¦Ê ^½zB èéKiQQQB¡PUUUEEEfyæðüùs‡Ãáp.\¸ðûï¿:ÔÀÀÀÉÉ)>>žé“••åáá¡©©ieeemm­©©éììLOoI»{÷®‡‡‡®®®µµµ‰‰‰¦¦æÖ­[¥ÿ~_¼xÑÕÕUCCÃÒÒÒÆÆ¦W¯^vvv‡–è¶bÅ ‡ãââR[[ëíí­¯¯onnnii©®®>oÞ¼gÏž1=MMM9ÎéÓ§ !ÙÙÙôMYYYÉœ$C lÚ´ÉÀÀ`àÀæææZZZóæÍ+,,ïÖ»woéÁûõë×òàÞÞÞ„GݸqCúYúöèÑcîܹÌdõõõMLLúôéãïï/‘>åÿLÞ¼y£¬¬ÌápvîÜ)qtù¿Ó¶ÿ’ ;Ã)BKHHȦM›˜ŠD¢ŒŒŒ‘#Gr¹ÜO?ý”iÏÏÏŸ4iÇmzzú”)SRSSmmmå9ÖŒ3._¾\^^1zôh‰g÷íÛGñôô¤Ý$:È9¡PHo;uðàA™_ïܹ3aÂñu‹7oÞ¤§§§§§çææ†††Š/ç”——»»»—””0-µµµ7n|ôèÑþýû™Æ«W¯zxxˆ§.>ŸŸíããSVV þ6…Ba}}ý¼yó’’’˜v@püøñÛ·oÐëøø|>}#Ìû¢ÒïHÜÒ¥KéÇ(~ÄãÇgff¦§§0€™^+÷ööÞ¼y³H$ŠŽŽ5j”øSUUUô²¾™3g2{ì¤'ÃãñÂÃÃ+**Ž9ҊϤ©©‰~È‹[ò§¬ü’ c´ÇÅÈmß×…,˦M›\\\¢££yòäêêj…o¾ùæÂ… ™™™AAAÆÆÆ„ŸþùäÉ“âƒ8p ¼¼<88øÚµk>Ü»w¯¶¶6!äÏ?ÿ¼uëíSYYéåå%ÔÕÕÿøã.—›““j``@Ù°aCUU•Äܲ³³“’’¼¼¼’’’Š‹‹é¶ñ‡îرƒöIOO/,,?~ÁÁÁ¥¥¥çĉS§N¥VVVÆÆÆ^^^ååå‘‘‘[·n•çp¾¾¾!!!|>ÿþý´ƒîͲ±±qrr’~a+æÐ³gÏÄÄÄ1cÆHC bþÆ9rîܹööö|>?""B¼ ¢¢bLLÌœ9sè?MLLzõêååå%‰®\¹BKdÛÙÙÑwÇÔ•°±±ÑÐÐX±b…H$JKK›1c†Ä;Z°`ÁÑ£Gi•Wccc+++33³†††””Bˆ¡¡!!„®©««<¸åÏöéÓ§´T•‘‘ÑùóçûôéC:tèôéÓ•••£¢¢rss###׬YCø^ƒ3|||ÒÒÒ*++/_¾²{÷&¦ýï¿ÿ¾zõ*ifùªusðððHWÌ8vvvâíVVVÑÑÑÕ ,--™tÅ‘ž®ºÿ>mqttLJJJJJ’¨Úåíí­¤¤DÉÎΖ~G?üðƒx }CCCº8ôàÁ™ŸÀ;1+j‘‘‘4]1vìØAO2}ZÍÓÓ“¦"ñÓ¯?¦{˜-ZDßò­[·èÕÛ¶mOQ={ö¤ÁZ p¹\‰Á[÷™Èÿ²øK€n +X GGG‰º¶A¡Wòù|ºç][[ûÂ… éù²÷ú³äççwêÔ©âââäädÚHË]jjj.Z´Hú%­›ƒô6¯·oßÒqœ¥o4gΉ,Ed}> †††>>âËimœC=¤Ç¡û„¤ÿ7Gæ›’.wþäɓ͛7'$$Hï-“IWWWúEÍUQ— O ÐÑÑ‘~ÖÒÒòܹs=ª®®–ÙA~>>>±±±<ïܹstÑ.&&†bkkË\äÈ,&CK“ØòÕºÏDþï”õ_2tOXÀæDž¡¡aÿþý›ëÖru(q Ë–-[½zubbbII‰±±qLLLMM !dÙ²eí:æï·Äí6zôèѨQ£ž?NÿÙ¯_¿~ýúéèèèèèЛ£å·Ï¬îÈÿM5gâĉýû÷¯¨¨ˆŽŽž={ö½{÷èÂxù+zEEE{{ûæÆa.il ù¿SÖÉÐÞPÉ>fÖÖÖG |ñÅÁÁÁ¬Œ¹xñ €úúú¨¨¨º½}ìØ±ÍÝš­9 6LUUµ¡¡Az÷O[lÞ¼™¦«U«VmذÙÿ$ {ôèÁnÑŒ1"11±¼¼¼¦¦†žð—ŸŸO4h®®n¤¤¤´hÑ¢ðððsçνzõŠnÆâp8 ,`úØÙÙ%&&r8œ””é¥DÉÿ¶Ç/º!lrv¨©©Ñ«åY¬Ä¨­­MÿïÛ·ïúõëôÜVsËW,ÎAYYÙÚÚšríÚ5ñ-öÔ¥K—vìØÑŠ{õ¤¤¤BúöíûÓO?‰ï.¿qã[éJžºðô’Fz\é—ÓöLŸ6¢·|ûöí©S§èùAwwwñ:¥táŠÏçgdd°rÄæÈÿ¶Ç/º!,` ýc™šš*^’Âãñ&NœhaaA«g½§*++iÒêß¿ÿ¬Y³:`tWu^^-"À¸wïÞôéÓW®\)]{ýè–¦ÆÆFñÔØØÈÊâ6-j÷îÝwÞÑ… OK—.}ùò¥øS«V­¢…[Ù XÖÖÖÇ'„Ññ·ÇaÎ ~÷ÝwÌ®vêðáô0iÛÉÿ¶Ç/ºœ"Ö&&&VTT,Y²¤¬¬lòäɽ{÷ÎÌÌüå—_èb -­ô^ìíí233ËÊÊ!¾¾¾ÊÊÊ0‡7&&&…††òx¼™3göíÛ÷êÕ«‘‘‘ôž}-,¤5gâĉ999555_}õ•ŸŸŸ……EVVVxxø_ýõ¾CI£u …B??¿eË–™˜˜ 8PfO}}ý 6lݺµ¤¤ÄÝÝý_ÿú—‹‹ËÇããã÷îÝK±¶¶^ºtiÛ§DùøøäääÐT:::ÑÄÐÐpݺu¡¡¡ÙÙÙ«W¯þì³ÏJJJ.]º$ MMM%*b´šüßi{ü’ ýtÍJîXÀccã³gϺººÖÕÕˆßø…2cÆ ‰Õ 9ùùùeffB”””¾þú뎙ƒžž^RRÒgŸ}VUUµk×®]»v‰?ëëë;þü÷|dÉ’%‡ª¨¨ˆ‹‹‹‹‹cÚ]]]ßÑÑqĈ=€÷†€Õí›››ÿûßÿn®Orrr\\!dûöíR¡tåÊ•oß¾]¿~=|ˆ°«Û9uêÔΜ9ÓBŸììì8pàõë×61=þ|ݺuëÖ­»ÿ~gϺ#¬`ÁGèéÓ§?þø#!ÄÉÉéÓO?íìé@; ïì)È€,–a Þ[]]]II‰@ 2dˆŠŠÊ;ûWTTTVV2D¢$îãÇŸ={fiiù¾¥r_½zURR" uttÞoöí+Xð.^¼èêꪡ¡aiiiccÓ«W/;;»Ã‡‹÷yþü9‡Ãáp8.\8xðà°aÃôõõ‡®¡¡±bÅŠúúz‘H´oß¾ÚÛÛkjj:99Ý»wOž dddL˜0AKKËÚÚÚÖÖVWW×ÙÙ955•épðàA‡cccCÿ9cÆ :ºg c` äuõêU@À´ðùüììlŸ²²²€€Ú( é휒’’vìØABÁÎ;«««---™Ît7n¸¹¹]¿~ý“O>iaùùù“&MâñxâéééS¦LIMMµµµ¥GaŽÈ̇¶·á­@×Õ•ÜÛ¾¯ +X —ÊÊJ///@ ®®þÇp¹ÜœœœÐÐPBȆ ªªª$^òÛo¿=z477744tàÀ„£G®_¿¾oß¾þùgAAATT”ƒƒ!¤¼¼üèÑ£-LàéÓ§S¦Láñxªªªaaa\.7///,,LEE¥¶¶vêÔ©?&„ÌŸ?¿°°0>>ž¾j×®]………………3gÎl@&¬`uSùùùÓ§OoîÙ»wïJ´ÛÙÙB|}}gÏžMmllè‰?‘H”––6cÆ ñ—èêê^¸paðàÁ„kkkBˆ’’Ò¥K—¬­­ !C‡?~¼©©)!äæÍ›-L888¸´´”Ãáœ8qbêÔ©´ÑÊÊÊØØØËË«¼¼<22rëÖ­={öŸŸ——G§}áÂé÷BAÀ€®«›:thlllsφ††ŠïC§ž{ölÏž=lmmŒŒæÎKÓÕŒ3/^ÌtVWW§E(***üüü† rúôé˜$…€Õí())1ÿm¹øssóŒŒ 777¦ø‚ŠŠÊªU«èÊôK¤A[¤Ë4HOIæ$íííG-ÞmÈ!Œ—vÿþý«W¯¦g6 !´X@ÇPxñâEgÏÚ×õë×]]]µ´´X­±±±°°bjjªªªÊʘ﫺ºšÞ6gðàÁ-ÏA ÔÖÖ655éêêvØô Õx<^JJг³³ü/éš§± Þ²²òСC;w´þ–<=9­óŸnÒF´°b[Î~à!˰‚$Zˆ1,,Œ¼Ï}ØÄoû! ‰¬Б™¢?­€,–a >H­[a¢ëUõõõDÖ..ºÆ\2ßjXÁ`V°àƒÔº«ü蕆†ÛÓù?°º ×ÙSè.°º…””‰é+&:ÞÇz§ Tr`6¹°  €eX,CÀ`˰X†€À2,–!`°  €eX,ûnöÌçóUTTd>%¢¢¢ŠŠŠ–-[fbbÒÁ£òóó322¿øâ‹®yÇÊëׯK7âfÏÐÈüÓéììÜñ3aW X¥¥¥ÑÑÑ\.—ËåVTT >ÜÞÞþË/¿TSScº%&&BŠ‹‹?Þ)S½|ùrpp0!ÄÛÛ›Ã颟§««kgO@.)))=tÅ@ššúÕW_UUU1-¥¥¥¥¥¥gΜ9~üø¡C‡ŒŒŒh»¢"NqÊKKK«³§ð<¯³§ÀŽ.°Îž=ûå—_ …BBȘ1c ððáË/Þ»w/??üøñ×®]ÓÓÓ#„¸»»oÙ²¥´´Ô××·³'ðÿérkëÖ­B¡PQQ1<<ÜÛÛ›iø÷¿ÿ}øðáêêê“'OúùùB8βeË:o²2t­Sl<ïÁƒ„#Fˆ§+BˆŠŠJhh¨ŽŽ!ä½¶[ ‚üüüŠŠ ‰ö·oßæçç?yòDžAêêêîܹóèÑ£ÆÆFùM …?¾}ûvII‰@ x¯×@5‰i¹Occcccc}}}}}}CCCCCC[ŽÛµVMM }`nn.ý¬ššÚ±cÇ:´~ýzÚòöíÛþýûëééíÝ»—é¶víZ==½)S¦TWW/^¼ØÌÌlìØ±VVVééé„ÒÒÒ/¾øÂÈÈhìØ±666VVV?þø£ø^¾|©§§§§§wåÊ•‚‚‚Y³f}òÉ'cÆŒqpp033Û´iŸÏç{?þøãСC‡>qâD{{ûO?ý400Púµ¯_¿þŸÿùzV>]ë¡ŠŠ ŸÏ?wîÜêÕ«%:ØÙÙ‰ÿ³©©‰. ‰/,566 …Âúúú%K–¤¥¥1í=š;wn\\œŸŸ_yy9Ó^QQñË/¿…B&· …Bw²³³·oßþæÍ¦smmíÎ;y<ÞöíÛ[~/þþþGŽoyõêÕüñìÙ³ÈÈH¦ñéÓ§£Fª««9rdRRRËc€„ï¿ÿžõ1ÃÂÂÚ8B×ZÁâp8nnn„ªªª1cÆ„„„üý÷ß­*///--íË/¿<þ|ttôôéÓ !|>Ö¬YåååžžžgÏž=wîÜ×_Ý£GBHDD„ô)¼mÛ¶½yóÆÛÛ;66öêÕ«ÁÁÁ4ó>|xÿþý-ý×_¥éjôèÑGŽÉÍÍ=zô¨‹‹ !äĉ?ýôÓóÒ¥Kuuu„›7oŠÇ>øpu­,BȶmÛrrr***êêê¶oß¾}ûvCoÛä4 IDATCCWWW777777 ù‡òõõ ¥'L˜0räÈââb‘H4sæÌ?þøƒV6stt¬©©‰‹‹{ûöíÝ»w­¬¬$ù׿þB[YY¹¹¹Mœ8±¾¾~ãÆ>>>2 _={öŒ×ÅÅ%66VUU•b``0zôè™3gÞ¾}{ûöí«W¯¦í&LÐÐШ­­upp0`À{^À¶¶×êZ+X„##£´´´ 0EËÊÊŽ9²dÉKKËuëÖUWWË9ÔÒ¥K™Ç .¤.\(^7vêÔ©ôÝ_/ÎÔÔtóæÍâ-C† Y»v-!¤¡¡áþýû2›““Cë¤oذ¦(J]]}ÕªU„@PPP@û÷ŸŸœœ|öìY9ß°+77w×®]¨nlér+X„;v„††&&&^¾|9--­²²’RWW·gÏzj©5Ú]]]‰-\ýû÷§† "ÞnaaAHÿ}9r¤ôÕÈ‘#éƒüüü¡C‡J:''‡>¨©©¹råŠøSôl !„Ëå2ûÉ444FŒÑòÛaQpppqq1!Äßß_æüÅÅÅÅ%''B¦N:{ö쎙˜8KKK[[[;;;uuõö8nrr2 ;¾¾]¶?|XºîŸ yóæÍ›7’››{üøñýû÷óùü§OŸ®^½úÔ©S-¿\|éH‚üë~2ó“Ïòóóéô$dggÓóçÏonäüü|9çÀºS§NåææB”••wïÞÝBϦ¦¦µk×BúôéÓÞ‹™˜LFFFgÏž6lX«Ç‰‰ár¹†††´ˆ@ûéºKœÍÂ… =<MÉÎÎæp8Gf>Þºu«¥¥e¿~ýFŒ¡¥¥5jÔ¨æ²>@ ºÖ)Â#F˜˜˜oo'Re˜J/¥Œ3fÑ¢EAAAL]О={.^¼xÆ ÃÒ™ˆÏvçÎ 8räskmmmWW×ñK§Nq÷îÝ… v𥅾¾¾!!!|>ÿþý´ƒîͲ±±qrr’~aUU•»»{ïÞ½÷ìÙC—§OŸž––VQQ‘’’Âô .--%„1qgäÈ‘sçε··çóù4™1òòò&MšD×××———‰D"SSÓ;vˆŸ×«¨¨Ø¸q#!dܸqçΣ×Ò¢ÿ™™™Û¶m[·nššš¡¡!!„^/©®®>xð`™ˆ““SrrrÏž= !¦¦¦ñññÖÖÖÅÌÞ©Ë,BˆººúþóŸÿüç?¥¥¥ùùù/_¾477·´´¤ùÄ©©©Io]úùçŸþùgéa½¼¼¼¼¼¤Ûi!™ÆŽ›’’òòåËòòr555ccc‰=IË—/—y!žŠŠÊ¦M›6lØðäÉ“šš===™ùISS3--­¶¶ö½îÄ ƒéÓ§Ÿ:uj÷îÝkÖ¬aòåßÿ}õêUÒÌò!dÇŽÒÊÊÊ‹- çr¹MMMt´›7oBìììÅ;[YYEGGs¹\f%ñúõk‰“”ƒƒCSS“xË­[·hEŒmÛ¶‰_­Ù³gϵk×Ξ=[ p¹\‡–?†¿¿¿øoLQQqáÂ…ëׯ¯««{ò䉜ãtÅ€Å022zgÅöŽÑ»wo™•#Þ‰ÃáKÔ”—ÖñéŠòóó;uêTqqqrr²‡‡mŒŒŒ$„hjj.Z´¨å—×××?|ø°æ=|øÒÔÔDÖÛ·oéqgggñå=jΜ9sæÌ‘SOOY¤‰DUUU%%%©©©111111Ì­!™Ë9«««%2Ymm-}pûömù–£££D óÅáŠBx/]:`A{sss377¿wï^DD Xõõõ‡"„øøøH/R"‘(..î—_~ÉÉÉi¡&—Ëmll$Í “ÉÔÔ4,,L¢±¬¬lþüùéééÛ¶m9räÌ™3‰XÀb¢¡´JÃKÓÓÓ“héÊeÌ +CÀêÖ–-[¶zõêÄÄÄ’’cc㘘ºilÙ²eͽÊßßÿ×_¥UUU utt´µµ‹‹‹ ™nÌU–âW𵎡¡á‰' D"Qrr2 XLÅ|{{ûæ^8`À€6º8Trÿ`hhh|ýõׄKKËΞK»[¼xq@@@}}}TTTHHÝÞ>vìØæî]TTDÓÕÀ=êììÌ\=Ììd'„ 6LUUµ¡¡Ëå¶}žúúú xòä Ý×E±³³KLLäp8)))V¶@X2¨««oÛ¶­³gÑA´µµ,X°oß¾}ûöyxxв-,_1 ~÷ÝwcÆŒJ¢f©²²²µµõÍ›7¯]»Æl{g\ºtéï¿ÿæp8-KÜ›7o*++ !LYºpÅçó322ÆŽ+Ï DVù+Öu¹:XÐñhÄ©¬¬\°`!¤ÿþ³fÍj®³ŽŽ}Àl$§ÒÓÓSSS%:Ó æyyy´žãÞ½{Ó§O_¹råáÇå™aSSÓêÕ«é~¯ &ÐFæÌàwß}'1™Ã‡[XXXXXœ?ži¤—Þ½{W¼ê)@{À {{{‡ÌÌ̲²2Bˆ¯¯¯tõƸqã8Ž@ øí·ßú÷ïïîîÎãñ.^¼ ½8´qãÆÄÄÄ¢¢¢ÐÐP7sæÌ¾}û^½z522òÍ›7DÖRÙ³gÏè=m!"‘èÕ«W%%%±±±´’»ººº»»;}ÖÐÐpݺu¡¡¡ÙÙÙ«W¯þì³ÏJJJ.]º$ MMMÝÜܘ‘é%B¡ÐÏÏoÙ²e&&&lãG®kVrGÀBñóóËÌÌ$„())ÑýgÍÑÔÔ\±bÅöíÛ«ªªÄ{*))yyy;vL¼³žž^RRÒgŸ}VUUµk×®]»v‰?ëëë;þ|‰ñ|¸ø³ øá‡˜—„OOÏ‚‚‚Ï?ÿ\¼ó¨Q£Ž?îââ¼Vü¸Ó–˜’̹4G¡…"æðq¸~ýº«««––ë#WVVÒçÒ¤¤Ñ“}ŠŠŠfffÕðÛN ”••UUUÑ‹ [î\[[ÛÐР¡¡¡ªªÊî4 x<^JJг³³ü/Á)BøØèééÉ­(MMÍ÷ª8ú^8ΠAƒ $Og Î*,’¸…‹h©Eé3òÃ)B–a >Hô†lôkÕ[@W§(z¯ññ‘Û²¡+X,à |Z·ÂD׫êë뉬]\t%LMM­sà ˰‚¤Ö]åGרÚûrr¬î‚Çãuöº ¬n!%%E¢EúŠ €Ž×–ZS]*¹° ›ÜX†€À2,–!`°  €eX,CÀ`˰X†€À2,–!`°  €eX,CÀ`˰X†€À2,–!`°  €eX,CÀ`˰X†€À2,–!`°  €eX,CÀ`˰X†€À2,–!`°  €eX,CÀ`˰X†€À2,–!`°  €eX,CÀ`˰X†€À2,–!`°  €eX,CÀ`˰X†€À2,–!`°  €eX,CÀ`˰X†€À2,–!`°  €eX,CÀ`˰X†€À2,–!`°  €eX,CÀ`˰X†€À2,–!`°  €eX,CÀ`˰X†€À2,–!`°  €eX,CÀ`˰X†€À2,–!`°  €eX,CÀ`˰X†€À2,–!`°  €eX,ãÈÓ)//¯½ç↠ÆÖPøîX$çßh…/^¼³SïÞ½Û<x/_¾dk(|w,’óo4N°L®,V°X†€À2,–!`°  €eX,CÀ`˰X†€À2,–!`°  €eX,CÀ`˰X†€À2,–!`°  €eX,CÀ`˰X†€À2,–!`°  €eœÎž´»ëׯK7ŠD¢ŽŸ €éFgg玟 »°ºWW×Ξ€\RRR:{ ,@Àê.´´´:{ ïÀãñ:{ ìÀ,–!`° §à£ÕÔÔÄßÑÑqĈ=—ö•™™yãÆÇ÷êÕkÍš5mÙûÙÞÁï¿ÿþàÁƒo¿ýÖÌ̬³§ÝV÷²|ùò7oÞÈÓóÿø‡››[rròÚµk !¾¾¾N»ÿZ‚ƒƒ‹‹‹ !þþþC‡m¹s\\\rr2!dêÔ©³gÏnï¹5gåÊ•oß¾]¿~ýǰ–-[Éüó›o¾‘°ŠŠŠ¶lÙB™ÿüóºº:æŸ|>?--2pà@sssñžŸ|òIÏMÜÑ£GÃÂÂ455›ëpþüyš®€:~üøéÓ§mmmÛ#`]¾|™>¸téR˱[MMmÞ¼y{öìár¹–––2»EGGB|||XŸ-!dúôé¿þúkQQÑŠ+Úc|èRÂÃÃ;{ 2 `u/ âÿ|ýú5 1‹-úñÇ;iR2ÔÕÕ>|xùòåÍuˆˆˆèÈùtsô¼m¿~ýÆŽûÎÎ>>>{öì!„DGG‡„„Hw¨««;sæ !dôèÑí”ã9ηß~Û#È éð~^¼x‘••õúõë–»½zõ*///''§ºººuj!B•––&&&¾s„÷Cyyù7¤;×ÖÖäåå ‚w" óòòŠŠŠD"Q ÝêêêîܹÃårù|¾tèP''§øøx¦OVV–‡‡‡¦¦¦•••µµµ¦¦¦³³3=½%íîÝ»ºººÖÖÖ&&&ššš[·n•þû}ñâEWWW KKK›^½zÙÙÙ>|X¢ÛŠ+8Ž‹‹Kmm­···¾¾¾¹¹¹¥¥¥ººú¼yóž={Æô455åp8§OŸ&„dggÓ7eee%s’ @°iÓ&ƒ:88˜››kiiÍ›7¯°°P¼[ïÞ½¥ïׯ_˃{{{B=ztãÆ ég騣G¹sç2“ Ô××766vtt411éÓ§¿¿¿Dú”ÿ3yóæ²²2‡ÃÙ¹s§ÄÑåÿNÛþK€î §A.!!!›6mbþ)‰222FŽÉår?ýôS¦=??Ò¤I<OüµéééS¦LIMMµµµ•çX3f̸|ùryyyDDÄèÑ£%žmllÜ·o!ÄÓÓ“v“è ç„B!½íÔÁƒeþ}½sç΄ Ä×-Þ¼y“žžžžžž››*¾œS^^îîî^RR´ÔÖÖnܸñÑ£Gû÷ïg¯^½êáá!žºø|~vv¶OYYY@@€øÛ …õõõóæÍKJJbÚÁñãÇoß¾]PP@¯ããóùô0ï‹6J¿#qK—.¥£ø?ž™™™žž>`Àfz­ÜÛÛ{óæÍ"‘(::zÔ¨QâOUUUÑËúfΜÉ챓ž Ç ¯¨¨8räH+>“¦¦&ú!K,nÉÿ²òK€ŽÑ#·}_V°@.›6mrqq‰ŽŽ~ðàAffæ´iÓ! â?ë§OŸN™2…Ç㩪ª†……q¹Ü¼¼¼°°0•ÚÚÚ©S§>~üXžc)++ûúúBNž<)¾,A>}º¢¢‚"s7w+æ­¦¦æïïåÊwwwBHyyùäÉ“«««¾ùæ› .dffB~þùç“'OŠràÀòòòàààk×®=|øpïÞ½ÚÚÚ„?ÿüóÖ­[´Oee¥———@ PWWÿã?¸\nNNNhh¨!dÆ UUUsËÎÎNJJòòòJJJ*..NLL¤ÛÆ>|¸cÇÚ'==½°°püøñ„ssóÂÂÂÂÂBf[ºL4ÐØÙÙEDD$$$üóŸÿ$„”””xxx¼zõŠöÌÏÏ—œ^éÙBH\\œx>#„œ8q‚†æü`HHŒ››[BBBiié™3gÆG9zôhPPP+>™äÿNÙú%@w†,‹““SrrrÏž= !¦¦¦ñññÖÖÖW®\aú—––r8œ'NL:•6ZYY{yy•——GFFnݺUžÃùúú†„„ðùüýû÷ÓB\ º7ËÆÆÆÉÉIú…­˜CÏž=ÇŒ#=!$((ˆù?räȹsçÚÛÛóùüˆˆñ2ŠŠŠ111sæÌ¡ÿ411éÕ«————H$ºrå -‘U\\lggGßSWÂÆÆFCCcÅŠ"‘(--mÆŒïhÁ‚G¥U^­¬¬ÌÌÌRRRüýý !†††„º¤®®>xðà–?Û§OŸÒRUFFFçÏŸïÓ§!dèСӧOWVVŽŠŠÊÍÍŒŒ\³f =â{ ÎðññIKK«¬¬¼|ùò„ ˜vºX¨¯¯ÿùçŸB***6nÜH7nܹsçhõCCC77777·ÌÌÌmÛ¶­[·N¢*Ä;?™äÿNYü%@·…,‹¿¿?MW”¢¢âÂ… !uuuOž<¡7oÞ$„Œ?žù›Dyzz6Œrûöm9g``0}útBÈîÝ»›šš˜ö¿ÿþûêÕ«¤™å«ÖÍÁÃÃC"]1ãØÙÙŠ·[YYEGGJT+°´´dÒsDzºêþýû´ÅÑÑ1)))))I¢j—···’’!$;;[úýðÃâ5ô éâЃd~ïĬ¨EFFÒtÅØ±c=9Èôi5OOOšŠÄO¿>~ü˜îaZ´h}Ë·nÝ¢WlÛ¶Mxð@æ—¥¥¥•••555555<EzG|=è_tqtÉêr6‡ O»£!***¶¶¶åååYYY­œ¡¥¥5sæÌØØØÓ§OGFFÒ¬Kãs~™LuuµÄWV[[Kܾ}ÛÁÁioÝg"ÿwÊú/º',‹žžžD‹ÄY¦âÀ±cÇŽ;&sÊÊÊÊÊJé¡drss377¿wï^DD Xõõõ‡"„øøøˆ/§µq=zô‡î’þCÞ™oJºÜù“'O6oÞœ ½·L&]]]é;5WE]N4< 0@G$²? IDATGGúYKKËsçÎ=zô¨ººZfùùøøÄÆÆòx¼sçÎÑE»˜˜Bˆ­­-s‘#°˜ -MbËWë>ù¿SÖÉÐ=!`;˜y†††ýû÷o®[ËÕ¡Ä)((,[¶lõêÕ‰‰‰%%%ÆÆÆ111555„eË–µë˜¿ß´ÛèÑ£G£Fzþü9ýg¿~ýúõë§£££££C ovŒ–ß>³º#ÿ7Õœ‰'öïß¿¢¢"::zöìÙ÷îÝ£ ?âå¯èQíí훇¹¤±-äÿNYÿ%@{C%wø˜Y[[s8@ðÅ_³2æâÅ‹êë룢¢BBBèöö±cÇ6wh¶æ0lØ0UUÕ††éÝ?m±yófš®V­ZµaÃfÿ“P(ìÑ£»D[0bĈÄÄÄòòòššzÂK\~~>!dРAºººm<’’Ò¢E‹ÂÃÃÏ;÷êÕ+º‹Ãá,X°€écgg—˜˜ÈápRRR¤—Y$ÿwÚ¿d膰ÉØ¡¦¦F¯–g±£¶¶6ýc¼oß¾ëׯÓs[Í-_±8eeekkkBȵk×Ä·ØS—.]Ú±cG+îÕ“’’BéÛ·ïO?ý$¾»üÆl¥+yêÂÓKéq¥_N7Ú3}ÚˆÞjðíÛ·§N¢çÝÝÝÅë”Ò…+>ŸŸ‘‘ÁÊ›#ÿwÚ¿d膰€5ôejjªxqHBÇ›8q¢……­žõ^hœª¬¬¤I«ÿþ³fÍê€9Ð]Õyyy´ˆãÞ½{Ó§O_¹r¥tíõw¢[šÅcPcc#+‹Û´¨ýÝ»wßyG&<-]ºôåË—âO­ZµŠne+`Y[[>œDkÄK܇93øÝwß1»Ú©Ã‡[XXXXXФm'ÿwÚ¿dènpŠX˜˜˜XQQ±dÉ’²²²É“'÷îÝ;33ó—_~¡‹%´´Ò{±··wppÈÌÌ,++#„øúú*++wÀ6nܘ˜˜XTTÊãñfΜٷoß«W¯FFFÒ{öµ°Öœ‰'æääÔÔÔ|õÕW~~~YYYáááýõ×û%^Ô) ýüü–-[fbb2pà@™=õõõ7lذuëÖ’’ww÷ýë_...>Œß»w/!ÄÚÚzéÒ¥mŸåãã“““C PéèèHDCCÃuëÖ…††fgg{xx¬^½ú³Ï>+))¹téRPPP(455•¨ˆÑjò§íñK€öÓ5+¹#`kŒÏž=ëêêZWW ~ãBÈŒ3$V/ääçç—™™IQRRúúë¯;fzzzIIIŸ}öYUUÕ®]»víÚ%þ¬¯¯ïüùóßó}%K–:t¨¢¢".....Žiwuu}ðàSN¬ufÍš&‰bcccccÍÌ̘ú[Ò¶lÙR^^¾ÿþ[·nI”¼222JJJbnbÓv .\³f ­@1oÞ–™K8ðÃ?ˆW…ÐÑÑñôô,(( ßß9 ‰Ï„ùÅJt–ó;%mþ%(¼xñ¢³çíëúõë®®®ZZZyÐêêjz³‘ÁƒK/Z|XsxõêUII‰¢¢¢™™ÝêÔFtC’©©)ëNmmmCCƒ†††<# …Â'Ož<þ\]]ÝÈÈHfu±#ÊÊʪªªôõõY)ÍÐù¿Ó®ðKèVx<^JJг³³ü/Á)BèFhy§cšššòW•‡²²rs•&ÚNCCCCCCÎÎJJJFFFFFFí4™÷Âáp 4hР8–üßiWø%@s¤/ f ­u÷γ-ÀB7˰‚$ZD0,,Œüï^Lyˆß‰ÞÝAúÞ tä¶l Á ˰‚¤Ö­0Ñõªúúz"k] {ç-äß +X,à |Zw•]£’ÿ‚ëÖAÀê.x<^gO »@ÀêRRR$Z¤¯˜èxm©5Õ•¡’;˰É€eX,CÀ`˰X†€À2,–!`°  €eX,CÀ`nöüñ»~ýºt#nö ]Ì›=;;;wüLØ…€Õ-¸ººvöä’’’ÒÙS`Vw¡¥¥ÕÙSx×ÙS`ö`°  €e8E­¦¦&æ±¢¢ìu%ÚG(B !JJJ„UUÕV+X,à |À¾ÿþ{ÖÇ kãXÁ`V°þævkÉ º¢={öðù|GGÇ#Ftö\ÞV·\\\lnnþïÿ»¹>ÉÉÉqqq„íÛ·wJ…Ò•+W¾}ûvýúõXð!¬nçÔ©S8sæL }²³³8pàÀׯ_wØÄXôüùóuëÖ­[·îþýû=莰‚¡§OŸþøã„''§O?ý´³§í(<<¼³§ V°X†,xouuu%%%`È!***ïì_QQQYY9dȉ’¸?~ö왥¥åû–Ê}õêUII‰P(466ÖÑÑy¿Ù´?¬`Á{¸xñ¢«««†††¥¥¥M¯^½ììì>,Þçùóç‡Ãá\¸páàÁƒÃ† Ó××>|¸††ÆŠ+êëëE"Ѿ}û `hhhoo¯©©éäätïÞ=y&‘‘1aÂ---kkk[[[]]]ggçÔÔT¦ÃÁƒ9Ž ýçŒ3èdèž}€Ž,×Õ«W=<<ÓÂçó³³³}||ÊÊÊh£P(¤·sJJJÚ±c}L;w®¶´´d:ÓAnÜ¸áæævýúõO>ù¤… äççOš4‰Çã‰7þ?öî=.æ´ÿø»šÎé $Ve“R*’ ‘Er\´X7ööØöK»–µ±´Kt—v7Ù½×Z±ë´¤œk—Jb%uS’&9…N¤œj:¡fê÷Çõ»?¹g*£>z=ÿ𘮹æó¹f&^ës}ÞWZZÚĉÏ;çääÄΑkoÃ[€×W{Troûº.Ì`BÊÊÊfÍš%‹µ´´~ýõW¡PxåÊ•ÐÐP"úöÛoŸ>}*ó’Ÿ~úÉÜÜ<222;;;44ÔÔÔ”ˆ"##¿ù曞={îÞ½;77wûöí®®®DTRRÙÂ}:ktttdþSRR¦N*ý’îÝ»'&&Z[[‘ƒƒƒ‰‰Éüùó‰HEE%))ÉÁÁˆ 0fÌ+++"ÊÈÈhaÀAAAEEEàðáÓ&Mbööö³fÍ*))‰ˆˆÖÖÖ¶¶¶®­­eLMMÙ:VUYYù×_)ÞèСñññòíóæÍ[¶l™D"ÉÊÊ’ X'N”7>>>Ÿ}öYUUÕàÁƒYºb,--³³³[®YÅâט1c¸tÅ688X(^¾|Yñ·Ю°º(}}ýñãÇ7÷lNNεkך{¶¨¨¨¬¬¬¢¢¢¢¢B$)))QS‹œØµ?ކ††AUU•LO{{ûìì솆†æÎXWW—““Ƙ˜(ÿ^ˆ ^X]Ô€¢££›{644Tz:sÿþýõë×ÇÆÆ>|øP‘Shhh4ÙÞŠ4…Ba]]8pàÀMö)+++++322zÕƒð r÷î]77·G±{õêÕ«W/ƒ–wÝá7¹effÖ»wïæº566¶÷HàuózVrGÀ…¬_¿ž¥«¥K—~ûí·=zô`í‰DSS³¾¾¾]Ïîàà ÄbñÇÔ®çh;”i…$''QÏž=¿ÿþ{.]Ñ… Ú;]‘††[¹%]STìÂ"@CÀ…°iêëë¥#K}}}‡M̺¸¸ѹsçöíÛ'Ý.‰Ægkk;yòd®‘ÛÀ'--­c† —A!ãÆ»råJEEÅ'Ÿ|âççgkk›™™~úôéŽÀÚµkãââJKK.\X\\ ÀÉÉÉÜÜ|æÌ™,]M:uÁ‚\g---V„¢´´ÔÏϯÿþÇŽë€A0X]ŽŠŠ ÷oË}¤ØØØ\¼xÑÓÓ“+¾ ¦¦¶téÒØØX63$ÿùS°ù2 òCjr...qqq#FŒîÖ¿ÿ={öÄÄÄÈvçÎË–-cW6‰ˆëèJ?îì1@ûJMMõððÐÓÓãåhõõõyyyDdee¥®®ÎË1_Uyy9Û6ÇÚÚºå1ˆÅâêêꆆ†îÝ»wØð ÕD"Qrr²»»»â/y=/b ¼UUÕtîXý-Ez VçÞ>-lÒF¬°b[®~à!Ï0ƒo$Vˆ1,,Œ^e6ém?$ 5µ;2Wô§0ƒÀ3Ì`À©u3Ll¾ª¶¶–šZÅÅf¸[æ[ 3X<à ¼‘Zw—›£ÒÑÑá{8ÿ««‰D=€®«KHNN–i‘¿c ã½­;m ’;ϰÈ€gXyòäÉ“'7nܸqãÆ>ú¨†ñäÉ“_ý•ˆ>úè#++«8#t°’’’æÏŸ_WWGDFFF3fÌ033+..¾|ùò… êêê¾øâ‹ìììï¿ÿ¾½GRZZúïÿ›ˆ† ‚€<êЀUYY¹téR–®¦OŸ¾yóféÕW'NœX²dIeeåŽ;&Nœ8räÈŽ¼}¸ÇÊÊMO`}$ Õ××‘ŠŠ µex‡–iøé§ŸÊÊʈÈÖÖößÿþ·Ì¸'NœÍïܹ³çª¯¯ÏÍͽyóæ³gÏZ}†††deeݹsçùó犼äáÇW¯^e!RZII‰P(”o€·O‡Î`ÅÄÄ‘––Ö®]»455å;¸ººŽ3æôéÓñññ<066ÎÊÊòòò"¢cÇŽ½÷Þ{ÒsrrÞÿ}":tèôt×¹s炃ƒ¥SΨQ£¾þúë!C†°£££—.]Ê‚*ýãÿ`AuÛ¶mÓ¦Mcb±xÓ¦M»wï~øð!kQUUõööþæ›o,--¹s=yò„­ÊŽŽ.++Û²eËõë׉H |üñÇ‘‘‘¡¡¡,Yª©©988üòË/ÖÖÖÒ索ªêêÕ«®®®l$  ¯¾úŠ÷c†……µñ°®^½ZTTDDï½÷žL¼ö믿Q÷î݉H"‘°$$‹ezŠÅbù§¶mÛ¶víZÖ®¤¤Äª=={6---::šå0î…ö£t£¿¿ÿ¾}û¤ûÔ××ÇÆÆ^¾|9>>¾wïÞÜ Ù«NŸ>ýÛo¿qG‹Å¿ÿþ{EEEÿþýƒƒƒ¹ƒÔÕÕ]ºtiÚ´iqqqæææ¬ñÁƒnnn555C† ‰Ù ¯»Ž»D˜——ÇØÚÚ¶ÐÍÐÐpРAƒ jÅ…ÏgÏžK$++«ØØØû÷ï_¾|ù»ï¾SVV®«« `ݦOŸž‘‘±wï^öã?ü‘‘‘‘‘áííÍZ¾ûî;–®6nܘššºoß>vocqqñ¬Y³ªªªdNajjºmÛ¶äää5kÖôéÓ‡ˆ>bhhøË/¿¤¦¦þøãÎÎÎDTZZzøðaîµIII555D”‘‘QRRòªïø¥¬¬ÜÜ‚-uÜ Ö£G؃ö«tuþüy¶âjÆ ¬¬¹¹ù'Ÿ|"‹ˆ¨ººZGGGKK«oß¾µµµìU}úôéÛ·/w²²²7‘©©é¡C‡ ‰ÈÆÆÆËËK üñǹ¹¹»wï^²d‰ô© >ÌŽcgggllìççGD***Gµ³³c9r¤‹‹ eeeq¯;v¬ŽŽNuuµ««+KfБ²³³ÏŸ?¯¬¬¼hÑ¢& ¼ªŽ XOžõèÑ£½7°&™››?~|àÀ­>~TT”P(433c“‹í§ãVÏž=Ùƒk×®±»ÿx×§OŸ_~ù% àáǹ¹¹lZÂÐÐpîܹŸ}ö™ÌtTsXxêÝ»·¾¾¾ü³ýû÷?uêTaaaEE…t‡æVŒ½Î—œ"##ÃÂÂtuu›ëpòäI–®:’®®.·s¢X,ÎÈÈ`‰¼¨¨ÈÝÝ=%%ÅÑѱuG>tèбcÇœœœ°Þ&ááá=„&tÜ"wcccöàÚµkíw–iÓ¦eff®[·ÎÞÞž-O{òäÉÏ?ÿìììüÇ(rvãas¸ÀÔr·7BMM ·Ò¿I[·ní°Ápìííÿü¯¸¸¸²²²´´´©S§QUUÕ:~H¯ªã–››«}•‘‘ÑB½Íœœœ={öìÙ³‡[³ÅÈ¿D¦GSSóóÏ??{öl^^Þ¾}ûØb¬ššš¯¿þš€h™““•––6¹ß$+seaaa``ðÒC½þZˆPEEEqqq-¿¼±±±¤¤$##£´´ô¥çª®®ÎÍÍÍÉÉ‘¯¸ÑeeåaÆEEE± ÈS§N5ÙM"‘¥§§ççç¿Òñ›ôøñãÌÌLù{EÔqKCCÃÓÓ“ˆ ×®]Ûd±Xüé§Ÿ~õÕWëׯgÝôôôØS<é|ùòå–Ϩ§§çååuàÀV‚¬¾¾¾É—ÈD·Aƒ±—.]’“#ÝçÍÕ­[7"ÊÍÍMIIi²ÃöíÛ%‰ºººšššü³«W¯644411quu566666öññi2õfffz{{ëêêÚÛÛ;88èê꺻»ïß¿_ñÑjjj²{#*++ež‹Åk×®566¶°°:t¨¥¥e=üýý¥¿V+++@pìØ1"ÊÊÊÀÞÞ^þDÁÁÁvvv½zõþøc?–›7ozxx¬\¹rüøñ2w¶UUUö]9r„ÛˆsìØ1%›\¾~ýz–®&Mš_PPpøða"ºuëÖ?þÈõ,))™0aByy¹’’Ò矞˜˜˜žžÈØ?üpäÈ‘—5//oúôéÚÚÚË—/—~*$$„¥+OOÏØØØ¢¢¢?ÿüsôèÑDȺ¥¥¥åå屋Å666yyyyyygΜ‘9Ѻu놾ÿþÛ·o§§§Ož<™ˆ^¼xÑÿuàíÖÑU‚‚‚ž?¾gÏž/^lݺU~ ••ÕÎ;¹ñDüÁÔÖÖîÚµk×®]\û¬Y³d&±¦M›¶cÇŽÌÌÌ”””#F¨©©Õ×׳Õèššš6lž,ÑÔÔôôô<}úôÇW¬XADÛ¶m›1c­^½º´´422òÊ•+2LMM8À®¯ñ%33“=(**zøð!·O{óõõ ©««Û¹s'»ã’þGGÇaÆɿðéÓ§^^^†††¿ýögaa1eÊ””””ÒÒÒääd®gPPÛ)00‹;C† ™9s¦‹‹K]]ÝÖ­[Y2ãäääŒ?ž=®­­-))ÉÏÏoll´²²Ú¼y³ôu½ÒÒÒ5kÖÑèÑ£Oœ8¡¡¡ADfffžžžžžžééé6lX½zµ†††™™±û%µ´´šÛ©iذa ¬žˆ••ULLŒƒƒCnnîßÿýJ,@‡Î`‘ŠŠJxxxDD„ü CCÃüãgΜ‘®ÌID...{öì4hW²[·nk×®ýæ›o¸c²jjj'Nœøúë¯MLLˆ¨®®®±±QWWwÔ¨QIII2W$‰èçŸ^´hWmAº¤Bxx¸¿¿=¸@0yòä#GŽH îÔò›4³ùë_¬]ºÿ¤I“lmm•””æÎÛa銈LLLصÑmÛ¶IÏœ]¿~ýìÙ³ÔÌômÞ¼9>>~ß¾}Ò;v«ªªÎ;—ˆ„B!w´ŒŒ "rvv–Yugoo¿ÿþµkײeyÒªªªÿëüùówïÞeÙÕÕUfzïÒ¥Kì© 6°tÅhkk³¼(‹…B¡âˆ¿¿?W­ˆ”••ÙþH555÷ïßWü8S·zæÌ™3gμuëVAAÁÇ{ôèáààÐÂ.1£G=zô³gÏîܹӭ[7333\äk– ‚+V¬X±¢ªªª°°°[·nÒëd¯[·®¦¦¦¡¡AúÆ@@°jÕª+VÐùùù,]™ššFFFº»»sëÉ‚‚‚¸•ìD4pà@uuõ/^¼ÒB¨æ÷éÓçþýûl]9;;ÇÅÅ ‚äädéÕ`®£¹ÃëF__Μ9D´cÇŽÔÔT¶t¬…é+î&ÁåË—9Rzµ¾LÍRUUU":þ¼|ù‰¤¤¤Í›7+¾ϳgÏÊÊʈÈÒÒ’µ°‰«ººº‹/*xjªüï°àÿÇ©²²2–´z÷î-Ç%‡»€[HΤ¥¥;wN¦3[`ž““Ãê)pnÞ¼9eÊ”/¾ø¢åÍ9 Ë–-cë½ÆŽË¹+ƒË—/—ÌÞ½{mmmmmmOž<É5²Ò²7nÜ®z Ðp‰ÈÅÅÅÕÕ5==íÕèë뫪ªÚ\çÑ£G ±XüÓO?õîÝÛËËK$:u* @~rhÍš5qqqùùù¡¡¡"‘hÚ´i={ö<{ölDDijgϨ©©²‡²=mˆ¨±±±²²²°°0::šUr×ÒÒòòòbÏš™™­^½:444++ËÛÛ{Ù²eï½÷^aaaRRR`` D"±²²’.Án ”H$~~~‹/¶´´ì˜Û ]½ž•ܰ€ˆÈÏÏ/==ˆTTT>ýôÓzêêê.Y²äÇ|úô©tOùÒ¯FFFñññï½÷ÞÓ§OåëSøúúΞ=[æø·oßž>}z“§¶°°ˆ‰‰177çZBBB ¢¢¢RRRd.PêëëGDDH'Å>ø ,,¬±±1:::::º_¿~·nÝjá´.v9ò•N‰hÖ¬Yl×ÅÉ“'ËÌëÈ÷ß´iÓ¦M›XytfàÀñññloeeeéªW666§NòòòâUUU·oß¾}ûvé$_¬•5öïßöìÙ¡¡¡—.]’ÙRIIi×®]+V¬®af``àãã“››ûþûïKwvss;tèÐðáù×JŸWfØ2CjrlÍQj®N&¼5RSS=<<š«õÕeee÷ïß711‘¯ %]ìSVVîׯ·Ó6_ÄbqqqñÓ§OÙ͆-w®®®~ñâ…ŽŽŽºº:¿Ã€6‰DÉÉÉîî—ámcdd¤H´btuu_©âè+}ûöíÛ·¯"utt:¥¬+ðKþu¾°R‹òW6‡K„<à ¼‘؆llƒ5¶I±"ØìÃö‘n‘>r[´` €g˜Á€7Rëf˜Ø|Umm-5µŠ‹Í„ihh´ql˜Áàf°àÔº»üØU{ßNŽ€ÕUˆD¢Î@W€Õ%$''Ë´Èß1ÐñÚRkêu†Jî<Ã"wž!`ð  €gX{öì™"=ÿñxzz&$$¬ZµŠˆ|}}‚vÿm *(( "ÿ´ÜùàÁƒ D4iÒ¤éÓ§·÷ØšóÅ_<þü›o¾y»ÖâÅ‹#""¸?ÿüó&V~~þ¿þõ/"š0a‚OsG«¯¯÷óó“H$vvví±x"&&†öÎ;'Ožäýø/…€ÕµìÞ½»¶¶V‘žŽŽŽžžží=GÍÎÎ&"UUÕmÛ¶µÐ³¡¡aÕªUùùùDÔ£GN X¯‰¨¨(¡PhffæççÇûÁXºRRRrss³µµÕÐÐh²§±±ñÑ£GE"Qfff ëäÉ“¿ÿþ;­_¿ž÷Ñsûm„€Õµ¼ÿþû555Üuuu)))Ddjjjcc#ÝówÞéà±I‹ŒŒ ÓÕÕm®ÃÉ“'YºæÐ¡CÇŽsrrj€uæÌö ))©åØ­¡¡ñá‡þöÛoB¡077×ÎήÉnû÷ï'"%%¥ùóçó>Z"š2eʦM›òóó—,YÒÇ€×Jxxxg¡ X]Kll¬ôUUU,ÄÌ;÷»ï¾ë¤A5¡¦¦fïÞ½Ÿ}öYs¶nÝÚ‘ãéâØuÛ^½z5ê¥çÏŸÿÛo¿ÑþýûCBBä;ÔÔÔüùçŸD4bĈvÊñàË/¿l#(éðj?~œ™™YUUÕr·ÊÊÊœœœ+W®”——·îD-D¨¢¢¢¸¸¸—áUÇPRRráÂùÎÕÕÕ¹¹¹999b±ø¥‘H$999ùùù-t«©©¹víšP(¬««SdlDtëÖ­k×®±Ã|ihh¸ÿ~FFÆ­[·ZXœÇÞ¸‰‰‰"—Þ†neeEDÑÑÑMvøóÏ?Ù4ê‚ ¤Û%IQQQzzz~~¾"5µá3Qü;mûo2tMX ¨àà`;;»^½z uꔇ‡‡ŽŽŽ££c·nÝœ÷îÝ+ÓmÉ’%`øðáÕÕÕóæÍ366¶±±±³³ÓÒÒúðÃ>|Èõ´²²ÇŽ#¢¬¬,ö¦ìíí›$G,¯[·ÎÄÄÄÔÔÔÕÕÕÆÆFOOïÃ?ÌËË“îfhh(ð^½zµ|ðyóæÑÝ»w/\¸ ÿ,û555gÎœÉ fí򵮮ÆC‡µ´´ìÑ£‡¿¿¿LúTü3yö왪ªª@ øå—_dήøwÚößdèÊp‰²nÝ:îÇÆÆÆ‹/2D(¾ûî»\ûÕ«WÇ/‰¤_›––6qâÄsçÎ999)r®©S§ž9s¦¤¤dëÖ­#FŒy¶¾¾~ÇŽDäããúÉtPp ‰„m;µgÏž&ÿ¾^»vmìØ±ÒóÏž=KKKKKKËÎÎ •žÎ)))ñòò*,,äZª««×¬Ys÷îÝ;wrgÏžõöö–N]uuuYYYóçÏ/..~›‰¤¶¶öÃ?ŒçÚÅbñ¡C‡._¾œ››Ëîã«««co„{_¬QþI[´hû¥ÏxèСôôô´´´>}úpÃkÅÁçÍ›·~ýúÆÆÆýû÷»¹¹I?õôéSv[ß´iÓ¸5vòƒ‰Dááᥥ¥ûöíkÅgÒÐÐÀ>d™É-Å¿S^~“ c´ÇÍÈm_×…,PȺu놾ÿþÛ·o§§§Ož<™ˆ^¼x!ýkýàÁƒ‰'ŠD"uuõ°°0¡P˜““¦¦¦V]]=iÒ¤{÷î)r.UUU___":räˆô´sìØ±ÒÒR"jr5w+ưÿ~ ÿ˜˜˜¿ÿþÛËË‹ˆJJJ&L˜P^^®¤¤ôùçŸ'&&¦§§ZXXÑ?üpäÈéƒìÚµ«¤¤$((èüùówîÜùý÷ßõõõ‰h÷îÝ—.]b}ÊÊÊfÍš%‹µ´´~ýõW¡PxåÊ•ÐÐP"úöÛoŸ>}*3¶¬¬¬øøøY³fÅÇÇÄÅűeãwîÜÙ¼y3ë“–––——7fÌ"²±±ÉËËËËËã–¥7iíÚµ,Ð8;;oݺ577766öŸÿü'z{{WVV²žW¯^•?8»Ó³–––Ç'¢ƒJç3":|ø0 =ÜõÁ6OOÏØØØ¢¢¢?ÿüsôèÑD؊ϤIЧ|ý&@W†,PȰaôµµ‰ÈÊÊ*&&ÆÁÁ!77÷ï¿ÿæú ‚ÇOš4‰5ÚÛÛ[XXÌš5«¤¤$"""88X‘Óùúú†„„ÔÕÕíܹ“ââ°µYŽŽŽÃ† “a+Æ ­­7räHùãQ`` ÷7~È!3gÎtqq©««Ûºu«tee娨¨3f°---»uë6kÖ¬ÆÆÆ¿ÿþ›•È*((pvvf+áè訣£³dÉ’ÆÆÆ”””©S§Ê¼£9sæDFF²*¯öööýúõ{ñâErr²¿¿?™™™› ÒÒÒ²¶¶nù³}ðà+Uenn~òäÉ=zÑ€¦L™¢ªªº}ûöìì숈ˆ•+W²3¾ÒÁ9óçÏOII)++;sæÌرc¹v6YhllüþûïQiiéš5kˆhôèÑ'Nœ`ÕÌÌÌ<=====ÓÓÓ7lذzõj™ª/ýLš¤øwÊão2tY˜Á…øûû³tÅ(++ôÑGDTSSsÿþ}Ö˜‘‘ADcÆŒáþ&1>>>$¢Ë—/+x:“)S¦ѶmÛ¸öëׯŸ={–š™¾jݼ½½eÒwggçµk×J·ÛÛÛïß¿íÚµ2Õ ììì¸tÅ‘]®ºuëk:th|||||¼LÕ®y󿩍¨QVV–ü;Z±b…t }33369tûöí&?—âfÔ"""XºâlÞ¼™]äú´šKEÒ—_ïÝ»ÇÖ0Í;—½åK—.±»6lØ ¢´µµY°‹ÅB¡Pæà­ûLÿNyüM€. 3X ¡C‡Ê´°¹ "bwÖÕÕ±5ïúúú‰‰‰2Ùõ²Wú³äççwôèÑ‚‚‚„„oooÖÈÊ]êêêÎ;Wþ%­ƒü2¯çÏŸ³ã¸»»Ëo4cÆ ™,EM}>JJJfff·oßnòŽË¢¢¢²²²ŠŠŠŠŠ ‘HÄÎ"¿"^SS“ýE—Ʀ¬^z#gs¸ð$³:ŠˆÔÔÔœœœJJJ233[wpŽžžÞ´iÓ¢££;Á²ftt4‹SÜõAn0ååå2_Yuu5{pùòeWWW®½uŸ‰âß)ï¿ÉÐ5!`BŒŒŒdZd®Úp8pàÀ&RVVVVV&¨&yzzÚØØÜ¼ysëÖ­,`ÕÖÖþñÇD4þ|éé´6ŽASSSþ8lüòæ4ù¦äËß¿ýúõ±±±òkËšÔ½{wùŠš«¢® žúôéc`` ÿ¬Ý‰'îÞ½[^^ÞdÅÍŸ??::Z$8q‚MÚEEE‘““w“#°¸ -OfÉWë>Å¿SÞ“ kBÀ~pòÌÌÌz÷îÝ\·–«CISRRZ¼xñ²eËâââ -,,¢¢¢***ˆhñâÅí:îï·Ìí6º{÷®››Û£GؽzõêÕ«—+¼Ù1Z~ûÜìŽâßTsÆ×»wïÒÒÒýû÷OŸ>ýæÍ›lâGºü;‹²²²‹‹KsÇánil Å¿SÞ“ ½¡’;¼ÍX,þøãƒ‚‚x9æ‚ jkk·oß–·5ª¹} ùÃÀÕÕÕ_¼x!¿ú§-Ö¯_ÏÒÕÒ¥K¿ýö[ný“D"ÑÔÔä·‚h WRRRQQÁ.xI»zõ*õíÛ·{÷îm<‘ŠŠÊܹsÃÃÃOœ8QYYÉc ‚9sæp}œãââArr²üT"ÿNÛã7º ,r~hhh°»åy¬Ä¨¯¯ÏþïØ±#55•]ÛjnúŠÇ1¨ªª:88Ñùó祗Ø3III›7onÅ^=ÉÉÉDÔ³gÏï¿ÿ^zuù… øJWŠÔ…g·4²óÊ¿œ-´çú´ÛjðùóçGe×½¼¼¤ë”²‰«ººº‹/òrÆæ(þ¶Ço2tAXÀöÇòܹsÒÅ!‰H$7ÎÖÖ–UÏz%,N•••±¤Õ»wï>ø ÆÀVUçää°"œ›7oN™2å‹/¾¯½þRlIS}}½t ª¯¯çer›µ¿qãÆKwtáÂÓ¢E‹ž}úU%ÝÔ)‘Hüüü/^liiijjÚdOccão¿ý688¸°°ÐËËëÿþïÿ†~çΘ˜˜ßÿˆ-ZÔö!1óçÏ¿rå +@e`` MÌÌÌV¯^š••åíí½lÙ²÷Þ{¯°°0)))00P"‘XYYÉTÄh5Å¿ÓöøM€öózVrGÀÞXXX?~ÜÃ㦦& @zã"š:uªÌì…‚üüüÒÓÓ‰HEEåÓO?í˜1ÅÇÇ¿÷Þ{OŸ>ݲeË–-[¤Ÿõõõ={ö+¾Z¸páüQZZzðàÁƒrí·oßæÊ‰µÎ|ÖØØݯ_?®þ–¼ýë_%%%;wî¼té’LÉ+ssóøøxn›¶ûè£V®\É*P|øá‡¬^ƒ´‚‚‚¨¨¨””™Ý'õõõ#""ZŽÔŠSü;m§ßdèRp‰°KSRRbw±ªòX»²²²|é î%Ò¯uqq‰‹‹“®,¥¢¢Ò¿ÿ={öÄÄÄHoÞ×Âéd3kÖ,¶àzòäÉ2³2MöWp MŽ_šÍ©S§¼¼¼¸÷®ªªêìì¼}ûöíÛ·sõ›C“OÙØØ\¼xÑÓÓ“«) ¦¦¶téÒØØX¶¾[ú -–½™§ÜÜÜ:Äêm’ÔÍ€ÍÙ¶mÛš5k¤—C ‚3fœ:uJþ®½óRFFFãÇg›Ì%JJJ»víZ±b…tUŸÜÜ\Vðý¥ÃùL¸ßX™Î ~§Ôæßd¥Çwö }¥¦¦zxxèééuäIËËËÙf#ÖÖÖò“oÖ*++ •••ûõëÇ–:µQ}}=[deeÅû‡S]]ýâÅ EŽ,‘Hîß¿ÿèÑ#---ssó&«‹u±X\\\üôéSccc^J3´@ñïôuøMèRD"Qrr²»»»â/Á%BèBXy§·c ºººŠWU„ªªjs•&ÚNGGGGGGÁÎ***ææææææí4˜W"úöíÛ·oß8—âßéëð› Í‘¿)˜/¬ÖÝK¯´Ý<à ¼‘XÁ°°0úïZLEHïÄÀvwß›¹-ËB0ƒÀ3Ì`À©u3Ll¾ª¶¶–šZÅÅfÂ^º…üKa €g˜Á€7RëîòcsTŠßpÝ:X]…H$êì!tX]Brr²L‹ü¯-µ¦^g¨äÀ3,ràϰx†€À3,ž!`ð  €gX‰„ˆêëë‰HEE…ˆÔÕÕ[}^Ì`ð 3Xðûꫯx?fXXX€,ža à4·ZKqXð:úí·ßêêê†:xðàÎ À+CÀêr‚‚‚ lll¾þúëæú$$$;;»¡¡¡¹3ÖÕÕåää°a'&&Ê¿"BÀ€×V5`À€èèèæž •^‡ÎÜ¿ýúõ±±±>TäM¶·bM¡PXWWGD8pà@“}ÊÊÊÊÊÊŒŒŒ^õà¼CÀ…ܽ{×ÍÍíÑ£GìÇ^½zõêÕËÀÀÀÀÀ å]wxÁMn™™™õîÝ»¹ní=xݼž•ܰ@!ëׯgéjéÒ¥ß~ûm=X»D"ÑÔÔ¬¯¯o׳;88±Xüñǵë¹Úe@!ÉÉÉDÔ³gÏï¿ÿžKWDtáÂ…öNWD¤¡¡ÁVnI×U»°ÐÁ°@!lGšúúzéÈR__ßa³...Dtîܹ}ûöI·‹D¢qãÆÙÚÚNž<™kä6ðIKKë˜áHÃ%BPȸqã®\¹RQQñÉ'ŸøùùÙÚÚfff†‡‡Ÿ>}ºc°víÚ¸¸¸ÒÒÒ… O˜0ÁÐÐ0==}ãÆ.\ ¢•+WrÍÍÍ•””£¢¢úõëçééinn®©©Ù1C€Ž„Jîð[¸p![]~ðàÁQ£Fy{{Ÿ>}ÚÃÃsooÇ×ÖÖ®¯¯prr277Ÿ9s&KWS§N]°`×YKK‹¡(--õóóëß¿ÿ±cÇ:` V—£¢¢ÂýÛré666/^ôôôäŠ/¨©©-]º466–Í É¿Dþ¬E¾Lƒü𤋋K\\܈#¤»õïßÏž=1112‡Ý¹sç²eËØ•M"bź:†ÒãÇ;{ оRSS=<<ôôôx9Z}}}^^YYY©««órÌWU^^ζͱ¶¶ny b±¸ººº¡¡¡{÷î6<h5‘H”œœìîî®øK^ÏK„Xƒ¯FUUuÀ€;VK‘ž€Õy€·O [€´+¬Ø–«¸DÀ3Ì`À‰b £WÙ‡MzÛ‰DBMmÂŽÌýiÌ`ð 3XðFjÝ ›¯ª­­¥¦Vq±™0î–ùVà Ï0ƒo¤ÖÝåÇæ¨tttøÎÿ@Àê*D"Qg «@Àê’““eZäï˜èxoëN¨äÀ3,ràϰx†€À3,ž!`ð  €gXÖÖÖÒ=ÍÍÍÛc±±±'Nœ8p`g,è0]%`íÛ·OúÇêêêwÞy‡ˆfΜ¹víÚμ¥ºJÀjªªªââↆSSS}}ýμš††î±²rÓÅX‰DBDõõõD¤¢¢BDêêê­>/Ê44-33sÆŒ}ûö9rä¨Q£¬­­½½½ÿóŸÿp?~lccóÎ;ï <¸²²RúµçÏŸçwÞyçåË—‘‹‹‹‘‘щ'ˆ(''ÇÈÈÈÈÈhøðá\ÿªªªÿüç?ì{€·f°špýúu™Ø”žž>{öìãÇ8ˆzôè±lÙ²5kÖTWWmܸ‘u{ñâÅòåË«««»wï¾jÕ*"ª¯¯—Oìq]]ûñÁƒnnn555C† ‰ï˜7ðÖøê«¯x?fXXX€,YeeesæÌ©¬¬TSS[¿~ý¹sçRRRÖ¯_¯¦¦VSS3gΜ’’ÖsÑ¢El"jÏž=lÉ<mÚ´éîÝ»D´qãÆ^½zQ|||FFÆÈ‘#‰ÈÚÚ:######&&†õOJJª©©!¢ŒŒ îÈðFà –¬°°°{÷î ‚Ý»w7Ž5ÚÚÚššš~òÉ'¥¥¥»wï "%%¥_~ùeäÈ‘•••_~ùerròÝ»wþùg"š9sæ”)SØkMLLˆ¨[·nD¤©©Ù·o_éÓ;VGG§ººÚÕÕµOŸ>ùN IÍ­Öz…#ð2Ž·IVV9’KWÌÔ©S @DB¡k455ýî»ïˆ(///<<|ùòåõõõ}úôùþûï<]ïÞ½¯^½špüøqÞÞ¼Šììì-[¶lݺÕí€/˜Áúuuuׯ_'"==½¿ÿþ[æY]]]"ÊÎΖnüðÃãããÿúë¯ððp"RRRúùçŸ_©ª§ŽŽÎàÁƒÛ:t…‘¿¿?‹Œ-8xð`BBMš4iúôé30ijjjvvvNNNÎÎÎZZZíqÞ„„¶ZÎ××W Àÿàþœük×®±åçÇŽ;vìX“}=zôèÑ£ž={r-7n¼pá£GˆhÁ‚£FêÁ¶ÒÑ£GYFTUUݶm[ =V­Z•ŸŸOD=zôhï€Å ¬IæææÜ­% ÍÌÌüüüZ}E `ý®Z†‰‰ [¢Þ$™kI\© ¶býƦåštòäI–®:’®®.·s¢X,ÎÈÈxüø1¹»»§¤¤8::¶îȇ:v옓“ÀÛ„]AzÝ `ý;;;@ ‹çÌ™Ã.)bÍš5÷îÝc:4yòdooïv#ojjjöîÝûÙgŸ5×aëÖ­9ÆÞÞþÏ?ÿä~lhh¸xñâ÷ßUuàÀV,€ƒEîÿC]]ÝÆÆ†ˆÒÒÒ|IRRÒüADkÖ¬y÷Ýw‰hùòåOžBeeåaÆEEEÑ©S§šì&‘HŠŠŠÒÓÓóóó_éøMzüøqfffUUU]–¬AƒÑþóŸC‡I·WVVΜ9sذa}ô×X^^¾téR"rppøüóÏ7mÚ¤¤¤ôøñc™Ãª©©Q^^^EE…ÌS¹¹¹;wîdK¸: +‘›››’’Òd‡íÛ·K$uuu6r«W¯644411quu566666öññi2Yfffz{{ëêêÚÛÛ;88èê꺻»ïß¿_ñÑjjjöë׈dª¿‘X,^»v­±±±……ÅСC---{ôèáïïÏ•r%"+++@ÀÕeee @`oo/¢àà`;;»^½z üâ‹/îß¿ÿþûï\¾|yË–-—.]"¢%K–pW®\YVV¦¢¢òã?ª¨¨¸¹¹Í;wß¾}ýõב#Gf̘Áõ455%"‰D²bÅŠ… ZXX°ªW7oÞdKŽ~ùå—K—.µ½ð†‚¦NzæÌ™’’’­[·Ž1BæÙúúú;v‘ë&ýlCCìY³¥KKK>, -,,¸ök×®;¶¼¼œkyöìYZZZZZZvvvhh¨"o¹¦¦æÆDäîî.óÔ¢E‹ØP9"‘(<<¼´´”Ûá»®®®…búœuëÖq?666^¼xqÈ!B¡ÍMÀk¨=*¹·}]f°d™™™EEEiiiÕ××5ÊÑÑñŸÿü'KW&L˜={6ëÉÝièëëË- ìÑ£}ýõ×eeeÜa'Nœ¨¤¤Ä^5yòäiÓ¦±öÌÌLö ¨¨èáÇô&‰TUU}}}‰èÈ‘#òç=vì»ê×äzðõë׳t5iÒ¤øøø‚‚‚ÇûøøÑ­[·~üñG®gIIÉ„ ÊËË•””>ÿüóÄÄÄôôôÀÀ@–À~øá‡#G޼t¨yyyÓ§O¯¨¨ÐÖÖfÛ;rBBBXºòôôŒ-**úóÏ?GMD‘‘‘¬[ZZZ^^Þ˜1cˆÈÆÆ&/////ïÌ™32'Z·nÝðáÃ÷ïßûöíôôôÉ“'Ñ‹/Úã¿.¼ÝºhÀRRRbq‡m—-ÃÑÑñÀnnn\‹ŠŠJ¿~ý¶lÙ²wï^6ãRUUµråJ"255]½z5×ÓÀÀ 88˜þ{kõòòš;wîÁƒ½¼¼,,,f̘ÉÆŸœœÌõ ***"¢ÀÀÀÍ›7;vÈ!ëÖ­;~ü8»ò(¿,''gü1ÂÊÊÊÆÆ&11ÑÊÊêСCÒ×õJKK׬YCD£G>qâÄ”)SÌÌÌ&Ožü×_¹ººц ž?NDfffÖÖÖì~I---kkkkkk6§(mذa sæÌ±²²2dHLLŒÉWDhY½D¨­­Ýòš§aÆ?~¼¢¢‚m›cii)³©[·nluŽŠŠŠªªªôS3gΜ4iÉÚŸ}ú´°°ðܹsQQQQQQ!!!ìYvÑ–ˆÊËËe2Yuu5{pùòeÅÖСCeZ¸Åd¸£^ V—æééiccsóæÍ­[·²€U[[˪NÌŸ?_>2ܸqã•+WZ¨‰  YYŠW*¿nee&ÓX\\<{öì´´´ 6 2„­`ãV UÇZ( /ÏÈÈH¦¥…  Ь.MIIiñâÅË–-‹‹‹+,,´°°ˆŠŠb…$/^ÜÜ«üýý7mÚÄ«««›™™èëëäååqݸ}ý¤ïàk33³Ã‡›˜˜466&$$°€Å®*++»¸¸4÷Bv«&¼ÅPÉ^G ,¨­­Ý¾}{HH[u>jÔ¨æöÎÏÏgéÊÔÔ422ÒÝÝ»Q ((ˆ»qˆ¨®®þâÅ ¡PØöq÷éÓçþýûl]9;;ÇÅÅ ‚äädMMͶŸ€/]ô.BàèëëÏ™3‡ˆvìØ‘ššÊÊF´0}ÅÝ$¸|ùò‘#GJ߆)S³TUUÕÁÁˆÎŸ?/³>ˆ’’’6oÞ¬øn<Ïž=ce/,--Y ›¸ª««»xñ¢‚¡¦Ê_ð þœ*++cI«wïÞ|ðAs Øn!9“––vîÜ9™ÎlyNN«§À¹yóæ”)S¾øâ‹½{÷*2†††eË–±õ^cÇŽeÜ•ÁåË—Ë fïÞ½¶¶¶¶¶¶'OžäÙ} 7nÜ®z Ðp‰ÈÅÅÅÕÕ5==½¸¸˜ˆ|}}å«'pFÍöÃþé§Ÿz÷îíåå%‰N: ?9´fÍš¸¸¸üüüÐÐP‘H4mÚ´ž={ž={6""âÙ³gÔÔTÙÇYùV"jll¬¬¬,,,ŒŽŽf•ܵ´´¼¼¼Ø³fff«W¯ ÍÊÊòöö^¶lÙ{ï½WXX˜””(‘H¬¬¬<==¹#³[%‰ŸŸßâÅ‹---åKaÀçõ¬äŽ€DD~~~éééD¤¢¢òé§Ÿ¶ÐSWWwÉ’%?þøãÿcïÞã¢,óÿîa8ˆ âY)ÑEÅCBžm-Ê2}úLœ8qçÎêRÜvš¦Íš5ëí·ß¶/\ŠH@@@ïÞ½SRRžxâ ÇÎmÚ´Y²dI‡ìÏu|]§a; ©Ð±Píüùó¥=Ü][¶l騱£¿¿¿áGÎÈÈP%Î]+H¹R‹}&“©AƒNeñïœÅb9qâÄ… ÔɆÅw¾|ù²*¦ïíímì0w(;;;>>¾}ûöî?…%BüÞÔ¨QÃh¥øùùÝRÅÑ[b6›|ðÁ|ÐÎ*T(­Òù¹ž¢nUjÑueÃ},Œ,p_RdSX3™Ü3R³SŠºÖˆc‹ã‘ïdC 3Xc Ü—no†IÍWåææJa»¸ÔL˜ÏŽ,ƒ1ƒîK·w–Ÿš£ºÛ§“°ÊŠìììÒe«Lˆwjq=c€’w'µ¦îeTr0›Ü FÀ0 À`,ƒ° FÀ0 À`,ƒ° FÀ0 À`,ƒ° FÀ0 À`,ƒ° FÀ0 À`,ƒ° FÀ0 À`,ƒ° FÀ0 À`,ƒ° FÀ0 À`,ƒ° FÀ0 À`,ƒ° FÀ0 À`,ƒ° FÀ0 À`,ƒ° FÀ0 À`,ƒ° FÀ0 À`,ƒ° FÀ0 À`,ƒ° FÀ0 À`,ƒ° FÀ0 À`,ƒ° FÀ0 À`,ƒ° FÀ0 À`,ƒ° FÀ0 À`,ƒ° FÀ0 À`,ƒ° FÀ0 À`,ƒ° FÀ0 À`,ƒ° FÀ0 À`,ƒ° FÀ0 À`,ƒ° FÀ0 À`,ƒ° FÀ0 À`,ƒ° FÀ0 À`,ƒ° FÀ0˜ÙNÉÉÉw{pÔ´iS£Åw€Üü­?þ¦ªT©rÇãÁ-øõ×_:ßróo4K„sk îc À`,ƒ° FÀ0 À`,ƒ° FÀ0 À`,ƒ° FÀ0 À`,ƒ° FÀ0 À`,ƒ° FÀ0 À`,ƒ° FÀ0 À`æÒîº-[¶¸6êº^ò#à>¢iškcûöíÝy.«LèØ±ci€û^||¼›= Xe…¿¿i€ûXvv¶ûÙƒ`0€ÁX#`Œ€`0€ÁX£гgÏžŸ~úÉd2 0 Ð‚¶øâ‹/òòòZ·nýð×öX„„mÛ¶>>…ö¬U«Öòå˳³³wíÚULÀúî»ï¾üòK;v¬á£“‰ÍJ«lyâ‰'rrrì?æååmÞ¼YDêÔ©êØó(á±9š7o^ll¬ŸŸ_Q¾ûî;•® ,Y²äÛo¿mÑ¢ÅÝXßÿ½º³qãÆâc·ÏóÏ?ÿÅ_$%%¥¤¤„……Úmþüù"¢iZß¾} ­ˆtïÞ}Ò¤IÇÜ«lY¹r¥ã—.]R!楗^zÿý÷KiP…ÈÉÉ™3gÎk¯½VT‡©S§–äxÊ8µn[½zõG}ô¦ûöíûÅ_ˆÈüùócbb\;äää¬ZµJDyä‘»”ãÍfóßÿþ÷»qdpé¸5çÏŸßµk×¥K—ŠïvñâÅäääÝ»wgffÞÞ ¡ÒÓÓ×®]{Ó#ÜêNŸ>½mÛ6×Η/_NIIINN¶X,7=ˆÕjMNN>~ü¸®ëÅtËÉÉÙ·o_RRR^^ž;c‘C‡íÛ·/??ßÍþî°Ùl§NÚ±cÇ¡C‡ŠÙœ§Þx`` ;Ko:t ‘… ÚaÕªUjõ•W^ql·Z­ééé Çw磖;øLÜÿNïü7@ÙDÀ‚»ÆV½zõ‡~Øßß¿M›6ÉÉɮݶoßÞ©S'ÿfÍšµhÑ¢råÊíÛ·ß´i“û/T±bEIIIQË—®f̘aµZ½½½½¼¼ íàÎÎ;g6›Ífóúõë?ýôÓÆ¶mÛvÅŠö>»v튊ŠòóókÒ¤I³fÍüüüÚ·o¯–·\8p **ªråÊÍš5«W¯žŸŸßøñã]ÿ~oذ¡cÇŽ*T kÞ¼yÅŠÃÃÃçÌ™ãÔmðàÁf³¹C‡—/_~ùå—kÕªæëëûüóÏŸ={ÖÞ3$$Äl6ûí·"’˜˜¨ÞT“&M ¤Åby÷ÝwëÔ©ÓªU«ÐÐPÿçŸþðáÎݪT©âzðêÕ«ð—_~YDŽ;¶mÛ6×GÕX®\¹çž{Î>˜Ñ£GתU+88¸uëÖõêÕ«ZµêСCÒ§ûŸÉ•+W<==ÍfógŸ}æôêî§wþ›  ,#`Á-111£FÚ·oŸš˜Ñu}ûöí-[¶õÔS7ntlܺuk—.]Ý|­=zÔ®][Š˜ÄÊÏÏŸ9s¦ˆôîÝ»jÕª®ÜƒµÀìÙ³ß|óÍýû÷;gß¾}:uŠ‹‹³ÏE]¹reëÖ­/½ôÒ?ÿùO›ÍæØùôéÓ;wŽ‹‹»xñ¢j¹|ùò¨Q£þö·¿9vûñÇ£¢¢ÿHçåå%&&öíÛw„ NoÓjµæææ>ÿüósçÎ=sæŒj·X,K–,i׮ݵk×ìG°Z­Nïë¦c ;v¬ý°ê—,YÒ©S§Ó§O;ï6þòË/«¢®ÁåÂ… ê´¾ž={Ú÷Ø 0à½÷Þ;w[vvöG}ôꫯÞÞgb³Ù,‹ÕjušÜrÿ;5ä7@YFÀ‚[Þ}÷Ý:ÌŸ?ÿÈ‘# ݺu‘k×®9žcÿË/¿téÒ%;;ÛÛÛ;666)))99966ÖËËëòåË]»v=yò¤;¯åééÙ¿Y¶l™ã´„òí·ßª¿¬…îæ¾1ÌŸ?ßÇÇgèС+V¬øá‡:wî,"§OŸ~úé§3335M{ýõ×ׯ_Ÿ0f̘àà`ù÷¿ÿ½l×5o~ IDATÙ2ǃ̚5ëôéÓãÆûé§ŸŽ=úå—_VªTID¾þúë;wª>ÑÑÑ‹Å××÷óÏ?OJJÚ½{÷ĉEdäÈ‘.\p[bbb\\\ttt\\\jjêÚµkÕ¶ñ£GNžãÆKOO7›ÍK—.íÚµ«jlÒ¤IpppttôéÓ§§M›6~üxw^®ÿþ111yyy_}õ•*Äe§¦µš7oÞ¶m[×'ÞÆÊ—/¿víÚ?þñ®Ç‘1cÆØÿÆ·lÙò¹çž‹ˆˆÈËË›:uªc“É´`Á‚gŸ}VýX¯^½Š+FGGëºþÃ?¨Y©©©áááêÝÙëJ4oÞ¼B… ƒÖu}óæÍ=zôpzG/¼ð¼yóÔ„Pppp“&M4hpíÚµøøø¡C‡ŠHPPˆ¨Ù __ßúõëÿÙþòË/ªTUݺu¿ûî;5 ظqãîÝ»{zzΘ1cÏž=Ó¦M{çwÔ+ÞÒÁíúöí»yóæŒŒŒï¿ÿ¾S§Növ5§U«V­'žxBDΜ93jÔ(yì±ÇÖ¬Y£ª?EFFFFF&$$L˜0aøðáNU!nú™ÊýïÔÀßde3XpËСCUºRL&Ó‹/¾("999§NR;vì‘ÇÜþ7IéÝ»wÓ¦MEäçŸvóå»wï."Ó§Ow\¸Ù¿ÿ?þ(EL_ÝÞ¢¢¢œÒ•ý8ááá£GvloÒ¤ÉüùóGíT­ ,,Ìž®ì¯¨JqÚWQ[·nçTµëå—_öðð‘BמÞ~ûmÇúAAAjrèÈ‘#…~7eŸQ›6mšÓëäÉ“Õ⬽ÏmëÝ»·JEŽ«„'OžTË£/½ô’zË;wîT«u&LpLQåË—WÁÚb±$%%9üö>÷¿S“”YÌ`Á-­[·vjQs"¢Î(ÌËËS{Þ+Uª´~ýz§Îj½ì–þ, 4hùòå©©©ëÖ­‹ŠŠRªÜ¥ŸŸßK/½äú”ÛÃ#<âÔrõêUuœöíÛ»^ èÙgŸuÊRRØç£iZPPБ#G =ã2===###++++++;;[½ŠëŽøråÊ©¿èŽÔ”ÕMOä,Š=<µiÓÆé!//¯-Zœ>}z×®]·wp;ÿž={.\¸ðÛo¿6mšÊš .Tqʾ>hLff¦ÓWvùòeuççŸnÕª•½ýö>÷¿SÓ”M,¸¥FN-N«6öŠ‹-Z´hQ¡ÉÈÈÈÈÈp=T¡"##CCC<8uêT°rss¿ùæéÛ·¯ãtÚŽ¡\¹r®ÇQû„\ÿ¥Ð7åZîüÔ©ScÇŽ]¹r¥ëÞ²BU®\Ùõ EEUQw“ Oµk×p}4,,lÍš5ÇŽËÌÌ,´ƒûúöí»páÂììì5kÖ¨I» ˆH‹-ì'9Ú–=C»rÚòu{Ÿ‰ûß©á¿ÉÊ&Œa_È ªY³fQÝŠ¯åHÓ´2díÚµiiiÁÁÁ ,ÈÊÊ‘ÞÕ1Øÿ~;mоCÇŽkÓ¦ý\¹êÕ«W¯^= @Þ,Å¿}ûìŽûßTQž|òÉš5kž9sfþüùÏ<óÌÁƒÕÄcù+õ*&“)""¢¨ã¨UË;äþwjøo2€²‰€c4kÖÌl6[,–?ÿùÏãÆ3䘯¼òʈ#rssg̘£¶·?úè£E]Ú¨14mÚÔÛÛûÚµk®»îÄØ±cUºzóÍ7GŽißÿdµZË•+glÑb<üðÃk×®=}útVV–Zðr´wï^yðÁ+W®|‡/äááñÒK/}ôÑGkÖ¬¹xñ¢ÚŒe6›_xá{Ÿðððµk×šÍæøøxשD¹ÿÞßde›Üa u¶¼•+Uª¤þÏœ9sË–-jm«¨é+ÇàééÙ¬Y3ùé§Ÿœê]‰ÈÆ'Ož|×ꉑjÕª}ðÁŽ»Ë·mÛfTºr§.¼:¥Q½®ëÓÕF{{Ÿ;¤.5xõêÕåË—«õÁÎ;;Ö)UWyyyÛ·o7ä‹âþwz7~“”A,Fý±Ü´iÓܹsÛ³³³Ÿ|òÉF©êY·DÅ©ŒŒ •´jÖ¬Ù«W¯ƒÚUœœ¬ŠØÚ£G§Ù 7 4(!!AD<<<œ®}Ô¨QŽÛ¡Ìfó³Ï>»aÃ׳öŠÌMÕ¨Qã©§žR÷ Í%š¦Íš5ëí·ßv¬ лwï””Uðý¦ÃpúL쿱NÝüN厓@;þ|iw×–-[:vìèïï_’/š™™©.6R¿~}×I‹ûk /^LKK3™L 4P[îP~~¾Úbø‡sùòåk×®U¨PÁ#[­ÖS§N;wÎ××·nݺ…V+1‹åĉ.\¨U«–!¥Šáþwz/ü&¸GdggÇÇÇ·oßÞά߿R XüÎÜRÀb¢À`,ƒ° FÀ0 À`,ƒQɽ¬ÈÎÎ.í!PV°Ê„øøx§]×Ke$Ü/nzUŒâžK¡Qc± À`,þþmٲŵ‘%BŠWè¡›—Ê!`• ;v,í!pßsÝÓ\VYÁÅž¸·t>>{° FÀ0 À`,ƒ° FÀ0 À`ÔÁ½è‹/¾ÈËËkݺõÃ?\Úcà–°ÊœqãÆ¥¦¦†††þóŸÿ,ªÏºuë/^,"üq©T(}ã7®^½ú¯ý‹€¸±DXæ,_¾|Ö¬Y«V­*¦Obbâ¬Y³fÍšuéÒ¥˜Î;7|øðáÇ:t¨´Ç(‹˜ÁÂïÐ/¿üòþûï‹HÛ¶mÿð‡?”öpe3Xc ·,'''--Íb±4lØÐËËë¦ýÏœ9“‘‘ѰaCoooÇö“'Ož={6,,Ì©ý¦.^¼˜––fµZƒƒƒnmôÜ}Ì`álذ¡cÇŽ*T kÞ¼yÅŠÃÃÃçÌ™ãØçܹsf³Ùl6¯_¿~öìÙM›6­U«ÖC=T¡B…Áƒçææêº>sæÌÚµkEDDøùùµmÛöàÁƒî `ûöí:uò÷÷oÖ¬Y‹-*W®Ü¾}ûM›6Ù;Ìž=Ûl67oÞ\ýØ£G5µg€’Á Üõã?FEEY,{K^^^bbbß¾}Oœ81bÄÕhµZ­V«ˆÄÅÅMžù䓺uëΛ7oÏž='N¬S§ŽˆÌ›7ï_ÿúWµjÕ¾þúë”””3f´jÕJDNŸ>=oÞ¼bðË/¿téÒ%;;ÛÛÛ;666)))99966ÖËËëòåË]»v=yò¤ˆôéÓçðáÃ+V¬PÏš2eÊáÇ>ܳgÏ»ñ±P(f°Ê¨½{÷vïÞ½¨G8àÔ’šš."ýû÷æ™gTcóæÍÕŸ®ë›7oîÑ£‡ãS*W®¼~ýúúõë‹H³fÍûöí+"7nlÖ¬™ˆ4nÜøñÇ ‘;v3àqãÆ¥§§›Íæ¥K—víÚU56iÒ$888::úôéÓÓ¦M?~|ùòåëׯŸ››«:Ô©SG €’DÀ*£.^¼øßÿþ×ýþ­[·Ž‹‹smùå—‡ bµZV—.]ÃMïÞ½_{íµK—.=üðÃ*])õêÕkÞ¼ùž={НY¥â×ã?nOWöÃŽ?>))éçŸvÿípW°Ê¨J•*=õÔSE=šœœ¼oß¾¢MOOÏÈÈÈÊÊÊÊÊÊÎÎÖ4M Ûä¤Öþì|||.]ºæÔ³I“&{öì±ÙlE½b^^^rr²öúõë]ß‹ˆ°÷VÕ¸qã… õèĉ÷¡+§N;vìÊ•+Ïž=ëÎKøøøÚn2Ýò襤¤¼¼<Y´hÑ¢E‹ í“‘‘‘‘‘Q£F[=8†#`Á-ÇŽkӦ͹sçÔÕ«W¯^½z@@@@@@ñWÝ1„}r+((¨fÍšEuÓuýnw°à–±cǪtõæ›oŽ9²jÕªªÝjµ–+W.??ÿ®¾z³fÍÌf³ÅbùóŸÿøÀž®DdÛ¶mw;]‰ˆÚ¹åXSÔja€FÀ‚[Ôiòóó#K~~þG}T2ˆˆˆ‘M›6Í;×±=;;ûÉ'ŸlÔ¨Q·nÝìö ølݺµd†€#Üòä“OŠHVVV¿~ýâããÏž=÷ôÓOûí·%3€Ñ£G׬YS×õW_}uâĉ»wï>qâIJeË:wî¼aÆØ«s‰HݺuÕ¹ ,˜:uêÁƒ¯\¹R2ã@XpÓ«¯¾ªv—/^¼øÑG­Q£FTTÔÿûÿ¯cÇŽª˜ûݼzõêòåËççç1¢E‹uëÖ}î¹ç¶mÛ&"=zôxå•Wì}}}UŠ3gÎ 4¨aÆ%Väááa¿-¾ãÐÐÐíÛ·GFFÚ‹/xyy½ùæ›+W®,W®\¡Oq} ÕâZ¦ÁuH…2""bíÚµ<òˆc·† Ξ={ÅŠN‡ýꫯ† ¢V6EDMhP2´óçÏ—öpwmÙ²¥cÇŽþþþ†-??ÿðáÃ"âíímÈ1oUff¦ºlNýúõ‹ƒÅb¹|ù²Íf«\¹r‰ ð»”ß¾}{w:S¦·ÆÓÓ³qãÆ¥;UËžf³YÕy $±D`0€ÁX#`Œ€`0€Á(ÓPVdgg—ö(+XeB||¼S‹®ë¥2îwr*¹Œ=Xc‰ð÷oË–-®,P¼B—¹!nèØ±ci€ûžëžæ¢°Ê ÿÒ÷±[:Ÿ=X#`Œ€`0€ÁX#`Œ€`0ê`¡¬Û³gÏO?ýd2™ p'×õÀŽ€UæŒ7.55UD†Ú¸qãâ;/^¼xݺu"Òµk×gžy¦dæÈËË+,,¬E‹ááá¾¾¾wãu×­[7lØ0éß¿¿ÙÌðç¤ÌY¾|ùž={DÄÓÓsúôéÅô´ÙlÆ ;~ü¸ˆT­Zõn,ûÀ U·nÝÕ«W7mÚô¶¿`Á‚¤¤¤   AƒÝöAp{°Ê®yóæ]¼x±˜ß}÷JW%ÉÏϯ[§Ÿ~ºjÕªª===½}ûöÅ$°›Z²dÉûï¿ÿå—_4RŠDÀ*»rrræÌ™SL‡©S§–Ø`ìš4i²ªÀÚµk322¶nÝÚ£G¹téÒ¢E‹J~HÜ*V™VL„JOO_»vmñO×uýôéÓ;vì8sæÌM_ëòåË)))ÉÉÉ‹ÅýšL¦¶mÛ.X° J•*"²aÆB»Y­Öôôô„„„ãÇßÒñ uþüù]»v]ºté(³XeTÅŠE$%%eóæÍ…v˜1c†Õjõöööòòr}4++køðáUªT lÕªU­ZµjÕªÕ»wï_ýÕµó®]»¢¢¢üüüš4iÒ¬Y3??¿öíÛÏŸ?ßýÑ–+W®Aƒ"⺦i±XF]«V­àààÖ­[׫W¯jÕªC‡ÍË˳÷ 1›Íß~û­ˆ$&&šÍf³ÙܤI×?~|XXXõêÕ~øaÿ6mÚ$''»?NVÕ£GÚµkK“Xùùù3gΑ޽{ÛwAÙÙl¶èèè÷ß?33ÓÞxæÌ™¥K—¶k×.--ͱó¾}û:uê§ëºj¹råÊÖ­[_zé¥þóŸ6›ÍÑæää8p@DÚ·oïôЀÞ{ï½sçÎÙ[²³³?úè£W_}ÕÞ’——gµZí?Z­V«Õê˜À”˜˜˜Q£FíÛ·O U×õíÛ··lÙòСCî ;VåééÙ¿Y¶lÙÙ³gýöÛoÕª_¡'Ü;výúõ"Òµk׸¸¸ÔÔÔ¥K—öîÝ[D:ôñÇÛ{ž>}úé§ŸÎÌÌÔ4íõ×__¿~}BB˜1c‚ƒƒEäßÿþ÷²eËn:ÔÇ?óÌ3YYYåË—ë­·Љ‰QA022råÊ•ééé«V­zì±ÇDdÞ¼ycÆŒQݶnÝzøðáÇ\DBCC>|øðáï¿ÿÞé…Þ}÷Ý:ÌŸ?ÿÈ‘# ݺu‘k×®ýãÿ¸é pD™†²«ÿþ111yyy_}õ•*e§¦µš7oÞ¶m[×'^¸p¡sçÎUªTùâ‹/Ê•+'"ÁÁÁÝ»wß¼yó™3gâããí=Ç—žž."cÆŒ±Ç–-[>÷ÜsyyyS§NUÉÌ.99ù©§žR÷sssOŸ>}üøq]×CBB&Ožì¸®wæÌ™Q£F‰Èc=¶fÍ ŠŒŒŒŒŒLHH˜0aÂðáÃ}||‚‚‚DÄÏÏOD|}}ëׯ_èÒ¶mÛuëÖ•/_^DBBBV¬XѬY³”””~øá–>X˜Á*»»wï."Ó§Ow\ªÛ¿ÿ?þ(EL_‰ÈäÉ“ãââæÎ«Ò•âééùÒK/‰HRR’ýh;vì‘ðððÑ£G;¡I“&óçÏ=ztdd¤ÓÁ/]º´¾ÀO?ýtìØ1µ`תU+§õÄ;wª‡&L˜ Ò•R¾|y•-KRR’ûÈСCUºRL&Ó‹/¾("999§Nrÿ80ƒU¦ 4hùòå©©©ëÖ­‹ŠŠRÓ¦M???˜Š‘››{ôèѬG›Íf³ÙL&ÓÕ«WÕñöíÛ»^‚æÙgŸ}öÙg]Y£F—_~YÝ×uýÂ… iii›6mZ°`Á‚ FŒ£ݹs§º“™™©–,í._¾¬îüüóÏ­ZµróÓhݺµS‹ZÊÎ(ÜV™zðàÁ©S§ª€•››ûÍ7߈Hß¾}§s麾xñâ?üp÷îÝÅÔDHJJÊÏÏ‘[*¿ëÔxâĉ>}úlݺu„ -[¶ìÙ³§8,{4tuK…IkÔ¨áÔâ81€ûXeš¦i2dÈÚµkÓÒÒ‚ƒƒ,X••%",êYC‡4i’ºïííP©R¥ÔÔÔÇÛ»Ù¯ëçxßí Zºti`` ®ëëÖ­SK­šL¦ˆˆˆ¢ž¨Î” „ý~–Õj={¶®ëíÚµkÔ¨Qñ¯]»æíímà«Ï™3'///""⡇2ð°%à•W^1bDnnîŒ3bbbÔööG}´¨ë@?~\¥«:uêÌ›7¯}ûöê¡qãÆÙw²‹HÓ¦M½½½¯]»vK¡ŠR«V­ÚµkŸ:uJíë‘ðððµk×šÍæøøxÇÝ`”º[X±±±'NœpjôòòjÞ¼yDDDÆ M¦ÒÜ2õêÕwÞyGDÆ_hÀ:vìØÌ™37mÚtâĉœœ__ß:uê´k×®_¿~¡¡¡wøêÆ »víÚ[o½u߬J•*½ð 3gΜ9sfTTÔ®]»¤Øé+ûI‚o½õÖÿøGLJœj–zzz6kÖlÇŽ?ýô“Ú•åøèÆ÷ïßo6›‹y-GW®\ÉÈÈ‘zõê©5q•——·}ûöG}Ôƒ¨þnöà¶ÝBÀZ½zuJJJQªEœ#Fe0›Í6nܸ)S¦Øk]ŠHNNÎÁƒ<8kÖ¬?ÿùÏï¿ÿ¾}I«¬8pàÌ™3322^xá©Y³f¯^½Šê îØ7’+[·nÝ´i“SçV­ZíØ±#99yÔ¨QöÍé"rðàÁîÝ»_¹r¥mÛ¶î,›Í6dȵ߫S§NªÑ¾2øÖ[omÚ´©B… öþsæÌ™0a‚ˆ|òÉ'ö¢ª$ý233íá–#E… Ú´icÿñìÙ³GŽÉÍÍ=qâD—.]–.]ZèHJ‘®ëýúõ[µj•ú±E‹‘‘‘•+WÎÎÎÞ´iÓ¶mÛDä믿NOO_°`}µ«L‰ˆˆhÕªUBB‚š¡ìß¿¿§§gQ{ì1³Ùl±X>ù䓚5kvîÜ9;;{Æ #FŒp5jÔÚµk?>qâÄìììž={V«VíÇœ6mÚ•+W¤°©²³gϪkÚˆˆ®ë/^LKK[¸p¡ªäîëëÛ¹sgõhPPÐðáÃ'Nœ˜˜˜5dÈUG~ãÆcÆŒ±Z­!!!Že Ô)V«uРA¬W¯^:uîð£ P·°7n¼páBÇ–K—.½ûgÏ>þü˜1cÜ©Í]’æÎ«Ò•ÉdúòË/Uå'åwÞùþûïÿô§?ååå}ÿý÷S§N}ýõ×Ko¤¥iРA "âááñ·¿ý­˜ž~~~ƒþøã/\¸àØÓÃÃ#::zÑ¢EŽkԨ׮]» .L™2eÊ”)Žöïß¿OŸ>NÇ?räÈ3Ï]LŸK—.Ù·]5Ê1])‘‘‘ï¿ÿ¾ºÿþûï;^ÒÎÕÑ£G<¨JÜ¿Ô,Ó\]tttåÊ•E¤[·nNó:®ý'Mš4iÒ$U]iÚ´i\\œº¶ŒÉdr¬zºaÆÎ;Û===ÃÃÃg̘1cÆ ÇTèô¡‡‡GÆ ûôé3qâÄ;w:mqÓ4mÖ¬Yo¿ý¶ã’_@@@ïÞ½SRRžxâ ÇÎmÚ´Y²dI‡ìÏu|]§a; ©lNmn›vþüy7»vìØ1%%¥U«Vk×®u}tòäÉcÇŽ‘5kÖØ 6Z,–?üpÖ¬Y¿þú«jñóóûÓŸþ4räHµ!Æ.;;ûÓO?={¶ª "Õ«WoӦ͇~¨þð;Z½zuLLŒ½"@µjÕÞ~ûíÞ½{?øàƒ"2~üø¨‡–/_®fYzõêõÅ_õÖÞzë-Uü)66ö/ù‹j6lجY³~øáÅ‹:4>>^Å>³ÙÜ¥K—>øÀñ*Èj“ûˆ#Dä¯ýëêÕ«===SRRüýý^.""âäɘpY!ÓIDAT“=ôÐwß}§Z’’’ªT©XÔïÄ–-[:vìè:Œ;—‘‘qêÔ©ÀÀ@× R®ÔbŸÉdjРӷç,ˉ'.\¸ N6,¾óåË—¯]»V¡BcÏ$ü¾eggÇÇÇ·oßÞΆ÷gŸŠP{k”¡C‡~øá‡öt%"/^üüóÏßxã ÇçÚl¶~ýúýç?ÿ±§+9{öìªU«ž~úi§SüñÇ¿þõ¯Žõ–Î;÷Î;ï8î¡¶ûïÿ«î¼úê«Å ÞþèêÕ«íùùùV«577÷¯ýë’%Kì“j‹eåÊ•;w.æ|´.]ºX­Ö«W¯ÆÅÅ9=´k×®´´4«ÕÚ¥KÕ2jÔ¨ÈÈÈððð73È{P5ÂÃÃÝIW"âçç×´iÓ°°0ÃÓ•ˆ˜Íæ|0""ÂÂW*T¨R¥ é p÷°þ÷¿ÿ©;jID&Mš4wî\yä‘GæÎ»gÏžyóæ©š¥K—~ðÁöçÆÆÆªëé>ùä“‹-JLLœ5kV=DäèÑ£êÊ-Jjjjÿþý­V«Édú¿ÿû¿eË–}÷ÝwǯZµê—_~é:ªƒª;aaaÅ >44TýÕ·÷·KNNÞ¸qc¯^½ÔÀ.\ذaC5’b¦Ä¢¢¢*V¬("+W®tzHµ˜L¦çž{Nµ¬X±BD¬V«c¼÷/ èº>kÖ¬5kÖˆHóæÍÕ¹ZgÏž8q¢ˆtèÐaáÂ…j¶ 00ð‘GéÙ³çÏ?ÿüñÇ2Dµgff>þøãŸ|ò‰º8IPPPçÎÿ÷¿ÿ={vË–-ö×úàƒ233Edذao½õ–jŒˆˆhß¾}Ïž=]7x©i§ºuëúùùó<==4h’’rþüy]×öâ<óÌ3Ó§OWAAA5jÙ²e^^Þ–-[^{íµBèããÓ³gÏ9sæÄÇÇggg;.Ï©IµGyÄ>×Ò«W¯Ï?ÿÜÃãk×®7ù¬Àýà–ÖÑ£GÿùϪûº®gff&''9rDDL&ÓÈ‘#ÕC»wïVE§FŽé¸ãëëûæ›o¾òÊ+‹%%%%<<\DìÛÌyzz>÷ÜsŸþù¾}ûìe*UMð‡zèïÿ»cç6mÚ 4èÓO?ul´Z­jÍñøÃMßWhhhJJŠÅbÉÎήT©’ãCƒvŒ\mÚ´Ù´iÓñãÇ‹9`tt´*ïg?WîçŸV+žÑÑÑöžãÆ{á…üýý¹® ¿·°~ýõ×™3gº¶?ðÀï¿ÿþc=¦~ܽ{·º“••¥–ÿìrrrÔ¤¤$°ì®\¹rüøñ‹/fggggg§¦¦ŠˆÍfSëêÕ«*ɵlÙÒõ„¯¶mÛ:,Ÿ«W¯ºsN¢½¯¯¯c»k]xµݩҦ“Ö­[§¥¥­\¹Ò°Ôú`ùòå&«nzmp¹å€åëëëxªüöíÛ­V«¯¯o|||ùòåí퉉‰êŽk¡#»½{÷ª;º®¯X±bÊ”){÷î-¦ŽÃþýûÕeƒ #…^;¯zõêééé°X,ÅjWEê+Uªä´; Àõ‰îìÖ4-::úßÿþ·ã*¡ZìÖ­›SŒ¿'·°š4ib¯Š."o¼ñÆüùósss,XЯ_?{»Z4™LÍ›7/êP5kÖTwÆŒóù矫û^^^•*Uò÷÷OOO?vì˜Ó1Å¡‚ÑMÕ®];===//ïèÑ£Å\pðÔ©Sjk—±…¢££cccí«„‰‰‰éééòÛõAðûs§›Ü‡ ¶lÙ²k׮ůÆ>ÿüóö½äÍ›7߸q£Ùlþïÿ«ö­%--M¥«ÚµkOŸ>½U«Vö¢Ž±±±Ž'6jÔÈÃÃÃjµîß¿ßõ8…6>ñÄêb8ñññÅ,ûŒJSÞ¡àààÖ­[oÛ¶mÅŠ}úôQg ºYBÃXÙÙÙ%ÿ¢”Mw°j×®ý·¿ýmòäÉ¿þúë¤I“Þ}÷]Õ®&®òòòvíÚU|žØºu«º3pàÀ¶mÛ:>¤²‘]¹råBBB:´k×.×ã8uVºví:~üx7n\Û¶m›6mêÚçСCª:¨ê_ÌPoCttô¶mÛ6mÚ”••¥Ö{÷î­6ì—${‚´s¼î5påþŠ™+Ê4 2dîܹ™™™3fÌxõÕWÕ¥âì+ƒ#GŽ\½zµãö¬Å‹üñÇ"i?eϾù]IHH°×Ö²kÚ´© XŸ}ö™ãuœ®s§Ô¯_ÿÙgŸ]¶lÙÕ«W_yå•7:Õ…¿xñâË/¿¬¶«?õÔS-Z´¸Ý¡p=zô>|øÕ«W'L˜PÔúà•+WV®\Y£FG}ôN¾Ë¢”Ê„e™S)þþþC† ‘¼¼¼÷Þ{O5ªÆäääèèèÕ«WŸ={v×®]“&M}úô9sæœ:ujÿþýS§NíÕ«—k©ôwÞyGíï½÷ÆŒ³eË–¤¤¤ÿüç?þ󟋺Dà„ ªT©""ééé:uš={vZZZ^^^zzú¼yó:uêtôèQñóó‹½óOÉŸŸ_TT”ˆ|õÕW"Þ A§>ƒ~ýõ×{÷î½`ÁÃJž3X"Ò¯_¿/¾øâäÉ“+V¬0`@DD„ˆüë_ÿJOO_¾|ù¶mÛœÖïüýý?úè#uuŠ+öïßêÔ©™™™ŽÕ­<<1$$dúôé/¾ø¢Õj2eŠã¬U¿~ý.\èZ:¡J•*kÖ¬éÓ§OjjjZZÚ?þñ×ñשSgþüùw© UttôòåËí÷];ìܹÓ~çÅ_¼c%éf°ÔÞóB÷y{{6LDt]·oK×4M-ä9Öí¬T©R=Ôå‡íï½÷Þ{ï½çx_ãÆ-ZôÔSO©Wt\8{â‰'¦OŸn¿ ˆT©Reâĉ111j„ö=òvõë×_¿~ý!CÔT–£J•*½þúë7nt­òPÔÑì‚ãCÅt~ôÑGÕe¡==={õêåÚaðàÁÞÞÞ5jÔèÛ·¯ë£à¾£?þn¿†Åb9uêTVVV5ì¥ uîܹ_~ù¥V­ZÕªU+þ˜º®ÿòË/çΫ\¹r:uÜܺtíÚµýû÷Ÿ8qâܹsUªT jܸqñ'9Þ¹K—.5kÖìÒ¥KQQQß|óMQ3™Lö f€ûZI¬2îÝwßýì³ÏDdõêÕmÚ´)íျΘ=XpuöìÙäää~øAmooÛ¶-é €2‚€u·ÄÅÅÙ7ÔW®\9&&¦tÇJ ënñõõ­R¥J•*U† RÚ#%„=X+ék¶üî° FÀ0 À`,ƒ° FÀ0 À`,ƒ° FÀ0 À`,ƒ° FÀ0 À`,ƒ° FÀ0 À`,ƒ° FÀ0 À`,ƒ° FÀ0 À`,ƒ° FÀ0 À`,ƒ° FÀ0 À`,ƒ° FÀ0 À`,ƒ° FÀ0 À`,ƒ° FÀ0 À`,ƒ° FÀ0 À`,ƒ° FÀ0 À`,ƒ° FÀ0 À`,ƒ° FÀ0 À`,ƒ° FÀ0 À`,ƒ° FÀ0 À`,ƒ° FÀ0 À`,ƒ° FÀ0 À`,ƒ° FÀ0 À`,ƒ° FÀ0 À`,ƒ° FÀ0 À`,ƒ° FÀ0 À`,ƒ° FÀ0 À`,ƒ° FÀ0 À`,ƒ° FÀ0 À`,ƒ° FÀ0 À`,ƒ° FÀ0 À`,ƒ° FÀ0 À`,ƒ° FÀ0 À`,ƒ° FÀ0 À`,ƒ° FÀ0 À`,ƒ° FÀ0 À`,ƒ° FÀ0 À`,ƒ° FÀ0˜¹´nÎf³Y­V]×Ú][p{4Msmñðð0™ng6Š€À=íLVþÿŽÉþ³Þ§.UÌÉ÷(íá”!å=­r×ÈoSO¯YÉó–ž«?þ. Ü ]׎æÍØY½¼—”ó/ñ`kO ²Ú$Ï*Wò$çšþ·–çZ…x¹Îr…,îQ Gó¾ÜU=ÀW÷õÒ4MÓuݦ‹ˆhêjmðÆÜÞáíoÖ[5“I¼5ñ6‹·§öåÎj"çZ×÷vó»#`p/ú%3ZBõÊ奜§fÓESû5MtÝ&¢]OWšØt]tM„Û;¿u¤KA„ñ1‹_9mjBõºUÎ× pk­€À½hë1ÍÇS|¼4›®‹ˆ®§l×ÿæüŸ.šfÿ‘Û;º-öt/Í7_ßzL{6¢˜^7°¸çØl¶½g¼¼Íb+HT¢ßX´/i‰èÂY„w…¦i¢ëº¦©©C]tÝËCöžñéeËsç¼B÷«ÕšžU1 ¢š±rÜ*¤ëº¨ýXš¦9lÅÂrLªš&ºMW!« ËŠÙCÒ³¼­Ö+,îKº®_Î7WÖ4›n_ºÒ¥ V“ͦ‹hr}S–V0ÑÂíÝ:}¢ÒëõåÙë.å™Ý,k‹Í¦ÿæY-Ђ«h‡2dE¢îtÌÖõ´š4Mr®É»{ôëá²Äß×Ùë;ÜE­ ª·éyo‚€À½èú,íÆ_wå7‘«”h"o=ijr} GÎê»OÈ¥«zyo­i 4ª¥‰H§ÆZµŠ¦ knš{’Ñ“JãÚÚàH“¦É5‹Ä¬±?ïöLÑÝqã$ùÍ™šºs9Ò"°¸ÙD³êöIûÊ Vð£.'–¼N5•®t]>\¯o=zc&mH‹º2"J3›ä¡ ­KsÓŠDÇ„¥&à4«CRy Š {Úäé!V›|°NßFJ%C:œThoÓ®Oühµ¹;…EÀà^¤f°TÕ+¹‘¨nD+Ü?¯Í(¾^òJ»ë… foµm:ä<€ÇõéñÚk™Dä…–ÚÆ}¶¬Üë©EN]×-ÛÅ«W”Q]=|½TV³í8^šsWªƒ ²IËq#¼nc €ûšM׬6QÛÛ6W;βhêâÏ%\2*"XÊ{‰ˆl:¤/ÞYxŸ5IzH5½sÍË,mêik“ æ‡Þ®ë~å´±=L•Ë‹ˆLùA?Xª¥°Ô°´ëkƒ›ß 6ºë×wóë#`p/²Út‹MÑ5Ñt¹>—¢«ËÉÀÊ ÷5ëo®EXTþÐJ8fYE®YÄÛ,•}µ›nHªì{ýNεBJtîJÓÕÒ|½¤ß#ZÒ)ù9­Ô3–îðyj-7î¸?ƒeº ãwÊj‹M¬ºf±‰ýŸU×TKÁÝþc‰Ý^Èy°šèr“žõ«k"réª\É¿Þb'»Òô7IÌZ]DLšŒë®Uò-ÑwQè­U¿þÁZu)¸/²nu©Z f°¸Ùt±Ú~S„IÝjšVp)bùm•¦º=“-µüÅËCêTÒŽ/²g ?ͯœˆÈ/Ù7ÞˆZ|;“-_,WòdÝ^i$ÏEHåòÓÓôsõß¾å¾ÕnÝèæö €{RÁY„vŽ1«4ýtDoQW‘–Èá³Evkù€½¿óÄOÆÅäc¿Ó›j¡5¥E]yí1íã ¥øóVáÜŸÁb‰€{‘íÆj }}P¬ºIýè°†UÒKië÷] o>®ý¡Fá}‚«hï•å(ûŠÌØ,ݦȾ3…ˆÿÚú`ݽ{Æ7þ|KKK066žÞÞÞ=zô +ܺu+44tذa_|ñÅþýûïß¿_SSÓ£GAƒùúúʾG_¸paiiéo¿ý–””tâĉÜÜ\ccãAƒ}úé§}úô!u>|¸{÷î®]»®^½Zv¯={ö\½zõÞ½{FFF=zôX´h‘£££l¨eeeaaa}úôéÓÄÄÄ;vÐí999%%%G޹té°X¬²²²ðððˆˆˆ½{÷öêÕ jjj²³³ÛµkGÇ@öÚ³gOtt4ƒÁ`0|>ÿÞ½{ÉÉÉçÏŸ§Ÿ­ëëë—.]úòåKÒryyyXXX||¼‘‘Qvvvmmm‹/l^^^nn®@ ÖÔÔÌŸ??33“Éd¶oß¾¼¼üåË—[¶lÉÊÊZºt)ÔÖÖ666’Êõõõ€Ïú©„]ô©2vìXxóæÍäÉ“wîÜ™@rLSþúë¯ñãLJ……ÅÅÅ­_¿ÞÆÆ†¢¨ýû÷Óòòò‚‚‚|âĉ۷oŸ8qbðàÁ AAAùùù²­=xð ¼¼|õêÕQQQׯ_ b2™< •;î¥K—xüøñÛ·o>|ØÝÝ]"‘¬\¹²´´TE´ÑÑÑóæÍ‹ŠŠŠˆˆX¶l™¡¡ammíéÓ§é 7n|ùò%›Í^¿~ý_ýTTTôâÅ õ¯¡:nݺ•™™iccsöìÙK—.ݼyó?ÿù\¼x‘L¥›>}ú­[·HÇÉìÙ³oݺuëÖ­÷3#¡(Lð©âëë;mÚ4¨®®>þüwß}çíí½téÒ{÷î)­ß§OŸ+V´oß^OOÏÛÛÛ××È0WSSÓ¡C‡õë×»ºº’‘äëׯïСCMMMll¬\ƒK—.;v¬±±±©©éäÉ“gΜ ×®]“«æèè¸aÆÎ;³X¬îÝ»oÞ¼Ù¢²²’Œ!hÊØ±cLLLÌÌ̾øâ Ò'‘™™I¶644xV¬Xáíímhhhff6yòäo¿ýV“K¨–ôôtpww'/tuu§OŸ¾cÇŽM›6éêê¶úáú7À*L&sÑ¢EçÎóóósrr€†††û÷ï/[¶lþüù¹¹¹rõ @Þƒ €ºº:º/š¼Ô5j”ìŒ5oooÈÈÈmÍfûøøÈ–Lœ8***ä–ˆùì³Ï é?-,,† ÿ{o¡hÀ€²véÒè‡þÌÌL‰DÂf³G-[ܵ´®@lllHH½XÐàÁƒ‡.ûf!¤>Lð5¯C‡ .<{ölDDÄÊ•+É›òÄÄÄ+VÈõØÛÛÛ+ý“ÜN¼‹‹‹Ü!H Ù*[(7±ÍÜÜÜÌÌ 2w§N”6¨:ÁË­ÉCnèPÉ£|ÇŽåb022²±±QÑl 4ÈÍÍM$8qbâĉ'Nܲe‹âýBH}˜àÒ€……Åøñãÿý÷éÓ§@NNNZZšlÙÇw¥D"(v;ëééÑ[iJ{§É }¹ ÅšJ«i„„DÊ‘‹óí±X¬ƒnÛ¶mÀ€§°°0,,ÌÏÏoÛ¶m­{ „þ=0Á#Ô¤²²²;wî<~üXq“¿¿?É©M-ÖÖÒ ž••%WNJ:wî,[øúõk¹j555¤ ]n ¸W¯^ÉÕÌÎ΀>úH£ðd‘`x<ž\:¯¨¨(++kq³* :t×®]7oÞ >|¸D"¹téÒƒÞűÒz˜àjRyyù÷ß¿páBÅŽîúúz²Ä IØêëÚµ+ܾ}[vŠ—D"¹u뽕V[[+7šŒz366–ë$‰‰‘m°¾¾þþýû pÇ ‘Ž;êééI$’cÇŽÉ–ÿþûï-n³)™™™éééd¤‹ÅêÙ³ç–-[È r§"‹Ïç·ziLð5©sçÎÎÎΰjÕªÔÔTº¼¨¨è§Ÿ~¢(ÊÊÊJñå·jƒÖÕÕMIIùõ×_…B!…Â_ý555UWWwðàÁrõ×®]KÞP•°sçN èd¥¦¦îرƒ$Èššš7òx<6›-7ŒN#,‹Ì 8räHHHȳgÏžçææŽ;ÖÉÉéÀ¸’BMÁ* 8vìØúõëSSS É .‹Õ¥K—•+Wʾ'ÃëäÙÑÊ–{{{K¥ÒÈÈȤ¤¤œœ6›Ý»wïqãÆ‘™r²œ§M›¶sçΜœ0770`@`` ›Í–«ùý÷ßÇÅÅ]¹r%77—Åb¹¹¹7nÔ¨QMÅF>Ë W,d06lˆðàAjjª••ÕÇjÔ¨Ó§O˜óéù|~nn.›Íîܹs[Ç‚B½šuÑ_¾|yäÈ‘$»ÛØØŒ5jàÀþú믾}û&%%½“0ßÎùóç=<ê&øššš+W®ÀÈ‘#׬Y£XaÆŒ=zô€ýû÷Ó…R©ôÀnnnúúúŽŽŽFFF}ûöݺu«ìŽñññ\.×ÅÅ¥ªªjÆŒ666ŽŽŽß~û­êMD~~~ppð!CLMMÍÍÍ{öì¹dÉ’äädºÂáǹ\î’%K °°Ëår¹\ºBnnî¤I“lmm¹\®™™™¹¹ùâÅ‹KJJÔ¼,!„ЇIÝAv7nÜhll€9sæ0™Jn  Æ_ýU\\¬¯¯OΜ9óøñãôŸ G%…õõõäéyÊ”)ÑÑѲmªØ£Fzþü9]’œœœœœ|üøñ{÷îuíÚêêêd³5ùL÷«¨¨cc㺺ºÊÊÊÝ»wGGGß½{×ÌÌLÍ‹ƒB}p"##ËÊʨælذÔOKKk¶2qÿþ}²‹¯¯obb¢@ ˆõõõ•kçöíÛt0¾¾¾ááá™™™<Oõ&¡P8xð`ÐÕÕݾ}{zz:Ç;t襥%8::R%‰ø|þ®]»€Ëåòù|>Ÿ/ É¡}||ÀÕÕ5!!¢¨ŠŠŠ={öÃmÛ¶MÍÓD!„>($³«û_\\ zzz®®®jîÂd2ƒƒƒuuuƒ‚‚ÈH{//¯.]º\½zU,ߺu«[·n²õ§OŸ~âÄ ƒ¡Ø”⦸¸¸{÷îÀŽ;,X@ gÍšÕ±cÇQ£Fñx¼'N¬X±BGGÇÄÄÄÀÀX,–‰‰ ÝEQ7oÞ€yóæõîÝÌÌÌ,XÀf³³²²ìííÕ!„ú§P7Á[[[€D"IOO'ÚÍ‹ÅóçÏ?räˆD"Q§¾Š´ª¸)##œ+“Âìì솆6›­âˆ7nìÖ­ÛÚµk³²²>|øðáÃ7vïÞ}Íš5“'OÆ4BèŸKÝiräógÏÔÜeõêÕ”H$nnnË—/¿páÂÍ›7Ô¼?PÍÅÅx<žâ¦ÜÜ\°··WÝ€Édúûûgddܼy388xРA––6eʔݻw¿}!„P[Q7Á1‚ŒPÛ¾};YîF‘——‹Åòôô$^¸p<==Ÿ={¶uëÖÉ“'9²wïÞeeeowß¾} %%Eqy@*¨CWWwäÈ‘ëÖ­»wï^bb¢ƒƒ>|øíƒD!„ÚŠº ^OO/ ÒÓÓ•C;{öìßÿ-•JI x/÷¼~ïÞ=¥Ýš"ù;33óÔ©S²åñññ×®]ƒÿM𤳽¸¸Xv¼ŒŒŒµk×®]»V¶°W¯^Ÿþ9ÔÔÔ¼}!„P[Ñ`©Úõë×ÛÚÚÀéÓ§ HynnîâÅ‹ýüü€ËåNŸ>”6 Nž<'‹…BáåË—Ç×*q{yy‘vsçÎ=yòdYYYmmíµk×&MšÔÐÐ`eeEâ!H؉dûöídY055Ý´iÓÏ?ÿüÍ7ßÐ…wïÞýóÏ?€L‘G!„þ©Ô\è†HJJ"É’°¶¶–YîêêšœœLW £çÔ±Ùl]]]011!‰yéÒ¥¤½šMuuµÜáTl¢(ª  ÀÑÑ‘TghhøøñcÙš%%%tœL&s„ ¤œžbÇf³»uëfggGþtppxþü¹š×!„ú Ì®ÙÏÅzxxsæÌ„„Ùyk>>>®®® £¡¡A$ 0àæÍ›¤½Þ-ýAqÔºŠM`kkøÑGQEJüüü"##ûõë'[ÓÊÊêÂ… nnn,K*•’5w`Ïž=GuvvnllLOO/(( þOŸ>íÒ¥‹FW!„ú 0"##===É4wõUUU¥¥¥åçç³Ùìž={:99©®ÌãñlmmÉ:²ïBAAAcccÇŽUW‹Å•••¦¦¦¤;VWW—™™imm-Û?Bý]¿~ÝÓÓSÝyðrLMMÉRðjV655mÙÔD÷®«¦££cee¥XnhhسgÏÖ !„j3šuÑ#„BèJyyyYYY‹w×(¡PXPPÐlµÆÆÆüü|Å*\ºt ¦Nª««+[NžàÛ·o¯~SšzóæM]]ÝûoS$ååå©s•ê¯ØËËËÖÖV"‘\¹rE³@BèߪFÑûûûÀ;wdË/\¸àïïooookkkiiéëë»wï^‰DBWèÚµ+—Ë%nÉ’%\.—Ëå>{öŒlÍÌÌ 011±´´´²²²··÷ññÉÌ̤w?|ø0—Ë]²d ’ÝI$êÇ@;~üx= ìíííììüýý###«íÝ»·oß¾ÆÆÆúúú P'åTTT‹3zôh¹MäômllšmDSUUUsæÌ騱£‘‘Q=.^¼øÚ”J¥pssÓ××wtt422êÛ·ïÖ­[[‹Å»ví5j”¹¹¹•••µµupppmmíðáù\.¹%"˜Læ¨Q£ é›H„Bò"##ËÊÊ(57Ç¡¡¡Š›öîÝKZ«¬¬$%!!!J7oÞŸÏçó¥R)EQŸ~ú)p8œ3gÎóx¼ÐÐPøâ‹/Èî"‘ˆÏçïÚµ ¸\.ÙNjÆ@QTDD‹Å€ &ÄÇÇ …Â[·nõíÛŒŒŒ’““Iµ§OŸ’}W­Z% ¥RirrrïÞ½ÀÔÔ´¡¡AÅ¥#£Ãœœœ7‘á«V­’}7¯¯¯ïíí““Óì—ÒT‚'/^_TTtâÄ {{{h×®]FFF³Í*=Š:mÞ¿ŸTóõõMLL±±±ô¬´´4ºÍÂO>ù$22²¼¼üÆãÆ£$—àŸÉ)MðJEGG“ÝeS‚Ò¯~ "‘ˆÔ¼té’\Íï¾û†Nþ¤_ClÛ¶M6{©cüøñ0eÊÅM¤[BGGgçÎ䣦¦æ—_~!Çx𠸹¹3¦_¿~ffffffsæÌ¡_Ž@÷îÝɇŒŒŒÈ5¨4»‹D¢ššhÁ­ Bý iœà›åî«5¼±Ð IDAT+‰RRRä’ë‹/ÈS,£Þ”?þø#==Î;7f̺¼ÙçþÄàî£#‹ÉÀuu···Ÿ5kÖ¬Y³ÁÏ?ÿ¼mÛ6=iÒ¤¦v!9Iq-—”””E‹ÀáÇåúÒÓÓIïEŸ>}Ô‰JÎóçÏåVº%ýä ãµI~GÇÓÓóÑ£G²Õäνk×®úúúõõõ÷ïß—Kðr«)ÐJKKɇwº(BiÖïíd³Ù$§nݺUîQlÍš5Àápè8 ‰áùóçt ènJ¥çÎS<Ù½¸¸¸²²²1èëë“¿ÿþ»\ú™3g‚‚‚èZBCC×®]{ùòeº‚ÁòåËÉgòpÙ’àSSSåÞ8têÔéñãÇqqqG•Ûå?þ ᩾jŠH$Z½zµlIzzúÙ³gá_rWVV¾yó¦Û,..†ÿýâàÞ½{<O¶DGG‡üÄΚ5kÈÍ‘••µxñb¥GOII!ð !„ÔÒ*óàå?~œ4îããóøñc‰D’žžNæÊ@PPle2-ªcÇŽ÷îÝ#3ÐèÏEeggOž<™ŽYv}DD)üñÇËËË[\§M›–™™IQTIIÉÎ;É­ÃÚµkIµ ‡Ã¹zõ*)ä•‹ÅR=MîæÍ›ä/_¾”Û4eÊÒ®]»D"EQuuuÛ·o§ƒW}©Uσ߼ysnn®P(¼qãùµ=‡C† RuëÖ-‡££££8”]éQÔió³Ï>CCÃØØX‘H$.]ºDÿN =Šž¢¨„„hß¾ý‚ Ž9²hÑ";;;2TFѯ[·,--Åb±êhBè_®5ºQ$ûãr²ÂS§N•GNQÔ?þHoÕÑÑILL”J¥d;A¯7dÈÅ_RRB¿üf2™&LhA «V­¢·šššÒŸÝÜÜjkkI—/_ÒÃàmllºwïNæ×Â-‹"‘HD^äË%-Š¢²²²è©ð§GtøÀeÏT©¦ügŸ}F÷ùË®~/›Ë—-[F ewWquÚ £+Íf“j&&&d´¼l‚§(êüùór/  Æo¿ýfnn®x­ÈËz­„BMÑ8Á“ģ΄ubß¾}£F"kàèêê4hõêÕŠ+¾ÕÖÖþðÃô°¯ÇSUWWçïïollL W­ZEwãË-VåææFžüÆŽÛ‚(ŠÚ¹s§——=AÀÆÆæ§Ÿ~’«YXX8aÂ:*77·óçÏ«s5¦OŸ²÷´ÊÊJúÐä&ã‹/¾àóùÍ6;sæLøßö¤dáÂ…<oìØ±t´íÛ·ß¿¿ì¾ ÖÖÖ&&&r+ò6uuÚ¤(***ÊÕÕ•ÎÜ xüø19}Å;¡¬¬¬ñãÇ2„ Ä£þ»†±l‚¯¬¬$×'<<¼Ùk‚Bÿr$³3"##===§h·‘HôòåK'''’e›"‘Hªªªtttèî\J¥YYY‰ÄÙÙYîG؉ÅâÊÊJSSSÅšjÆB¡ðùóç;vTºN>AQÇ«ªªêÒ¥‹lVVíÆcÆŒÑÓÓ+**"O¨r“““_½zÕµkWww÷Öš &‹_¾|ÉápéÞoy) é¯Î«n“¨ªªâñxä7~4jœÏç›™™QuýúuzúÀ¡C‡æÌ™cmm››Kwœ „Rêúõëžžžï<Á#ÚèÑ££¢¢¶oßÔÖ±´½3füý÷ßQQQ²¿Ü³aÆàà`6›]QQA^ÒSÕ¯_¿„„„Ç“¾„B*ßúÓäPSöìÙãææ¶~ýz þù矟>>-- üĉ—,Y²{÷îLÿYRR8oÞ¼–MßG¡'ì¢GméáÇ—/_~þüy~~¾M¯^½ú÷ïÿù矷u\!ô†]ô¨í 0@n%;„B­·!„ÒB˜àB!-„ !„ÒB˜àB!-„ !„ÒB˜àB!-„ !„ÒB˜àB!-„ !„ÒB˜àÛ†X,nllÔtB!¤¦.UûàÁƒÄÄÄœœ##£þýû{zz*ý󨔔‰D"[Âb±:wî¬éï¦+uàÀ;vdee‰ÅâC‡Íš5KM!„F4Nð÷ïß_¸paBB‚\ù¨Q£NŸ>­?ZÓ»wo±X,WÈáp8uêÔ¹s綸åsçÎ’Ïl6[öçÑTlB!„4¥Y‚¿|ù²ŸŸ_}}=ØØØ¸¹¹ÕÔÔ$%% …¿þú«oß¾—/_îÙ³ç» õ}c2™l6(Šª¯¯ …±±±±±±%%%«V­jY›äWPíííOž<9tèP&“©Î&„BHSdçïï___Ïd2÷ïßÏãñ¢¢¢îß¿_]]ýóÏ?3™ÌœœœÑ£G‹D¢wîû"P(äóù111ýúõ€àààÓ§O·¬ÍW¯^ÀäÉ“‡.—ÂUlB!„4¥A" ª««€U«VÍ›7OGçÿžþuttV¯^}äÈ(..¾xñ¢ÒÝAUU•:*--­¬¬T§fQQ‘T*m¶ZyyyYY™: 6ÅÄÄdĈ111ŽŽŽÖ²v [·nm"óóóß „BŠÔMð555W®\€‘#G®Y³F±ÂŒ3zôèû÷ï—-ÏÏÏ2dˆ©©©¹¹yÏž=—,Y’œœ¬ØBaaáìÙ³­­­ÍÍÍ]\\üüü²³³k^¸pÁßßßÞÞÞÖÖÖÒÒÒ××wïÞ½rÃâ 333 ÀÄÄÄÒÒÒÊÊÊÞÞÞÇÇ'33SÍSVdllìïïwîÜ¡ ÌårI»¬M›6q¹Ü‰'’?íìì¸\naa!,Y²„Ëår¹Ü¸¸8Õ›ˆ½{÷öíÛ×ØØØÁÁA__À€ä»@!„šYVVF5çüùó¤þÙ³g›ªSXXøôéÓçÏŸÓ%ååå]»vU<¨™™Yzzºì¾•••Ý»wW¬iiiyûömÙš!!!JOdÞ¼y²ÕŠ‹‹íìì”6¯údIçDhh¨â¦½{÷’v*++II§N`×®]r5—/_C‡%*íuŒŒT½‰¢¨iÓ¦‘‹eddDWPB!D2»ºOð/_¾$ÜÜÜšªcccÓ³gÏ.]º?ëëëÇÿüùs]]ÝíÛ·§§§óx¼C‡YZZVVVŽ=º¨¨ˆÔlhh˜0aBZZ‹ÅÚ¸qczzzffæÎ;­¬¬ÊÊʦOŸN?‡……ýç?ÿ€aÆ]½zµ¼¼üï¿ÿöóó# oãÆt03fÌ(((àp8gΜ)..æñx¡¡¡&&&eeeÛ¶mS󬛺...¦¦¦íÈçóù|>—Ë€]»v‘??ýôSÕ›’’’Μ9«V­ª­­­®®NNNîÝ»7üðÃ8]!„P“Ô|‚_°`èéé‰D"õï È!öìÙ#[Ãb±`Ë–-¤äúõë¤æÖ­[ek^ºt‰”‡‡‡“OOOpqq¡ )Š‹ÅŸ|ò J$R¸iÓ¦ààਨ(ÙçÏŸ\.WuäM=Á¿zõÊÐÐfΜIªùOØÚÚÀªtÓÖ­[ ]»vR©”.|ýúõŠ+V¬XQRR¢úDBý ‘Ì®î4¹êêjhß¾==¶®YOž<'''rs@1bĸqãÂÃÃéÉôñññààà@’"Í××÷Ñ£G$‰ŠD¢gÏž@pp°ì4‹ÅÚ¶m[ïÞ½ëêê222È8µüQ1$__ßâââššcccÕñçææ&%%‘ÏoÞ¼‰ß±cG]]›ÍPó"¼%r?Áçóùå—ÿüç?œ·lÙò~@!ô¥n¶&+ØÔ××ëë뫳 ÉßîîÜÝÝÃÃÃÉü7Á+@OÙ‰´´42_±Ínݺ±X,‰DòäÉÙè999.\ÈÍÍåóùUUUyyyêDNlÞ¼yóæÍr…l6ûòåËü±úí¼‰'WVV._¾|Ë–-cÇŽ:tè¸qãÈã>B!Ôu¼µµ5H$’ôôtò¸Yàì쬸‰fgg744°Ùlòb[iMÅ•Öd³Ùvvv<®óèÑ£ï¿ÿþîÝ»E©­"z¡`±X½zõ6l˜¯¯¯š§ß*lllîÞ½»`Á‚¸¸¸ŠŠŠS§N:uŠÁ`Œ=zß¾};v|o‘ „úgQ7Á{xxÏž=S3ù¸¸¼xñ‚Çã)nÊÍÍ{{{’A]]]_¼x‘••ÕlƒäÇ“ë'‰È=RG,Ïœ93==ÝØØØÛÛÛÛÛÛÁÁ ÝŸ3gŽ:Á@HH½vl³o#ZkÁŸnݺÅÄÄäççGEEݾ};""¢¼¼üúõëÇOII111i•£ „Ò2ꎢ1bÉ%Û·o'ËÝ(òòòb±Xt§zß¾} %%E±fjj*]È qJ'Ç————””Ð=󺺺JÛ|ñâI¨¤Í?þø#==Î;÷çŸΛ7oܸqƒ z+Ä‘ÒQzâ-foo?kÖ¬ãÇóx<2RÇãEGG·â!BiužžžY–žž®ô×VΞ=û÷ßK¥Rú©—äÚÌÌÌS§NÉÖŒ¿víÈ$xòÇãýöÛo²5ïܹcmmÍårÉÊql6›<¸oݺU ÈÖ$kïp82™žN·² R©ôܹsjž¯úÈ+ÿ‡ÊŸÛ5wîÜüü|Rž““³hÑ"òëg\.·¾¾ž”×ÔÔÑpçĉ¥¥¥555W¯^upp++«¬¬,RS ç~]]Ýýû÷“QîW¯^%ï˜-,,è6?Nðññyüø1°páBRDªÑÃ÷ (ŠÊÎΞ??ŸÜ²“ɤ§zyy½}‚ùò%ý ¼666Ý»w§§0Ðw3!„,ÍV²#<<<=z4{öl’fJJJÈüxssó™3g&$$ÈM`³µµŽŽ üè£(Š"%~~~‘‘‘ä½;ÍÊÊ***ÊÇLJÉdR%‘H ?þøã;wî|ùå—²5úé§}ûö5ÊÐТ(]]ÝAƒ­^½úĉt¾g0qqqþþþd²{mm­¡¡áªU«<¨xg ˆ¼ªWó…½]TTÔ Aƒôôô¤R©X,¶µµ=uê”b#*ZVºé£>JII™0a‚±±qQQQZZšX,vss;þüöíÛÕ !„п#22ÒÓÓ“~LTSUUUZZZ~~>›ÍîÙ³§““S³»4666;³«¶¶677—Åb¹ººªN±"‘èåË—NNNd5¥¤RiVV–D"qvv&£áÞ†††ôôtkkk[[[Õ7-@QÇ«ªªêÒ¥ =y!„RtýúuOOÏ&x„B}˜H‚oýic!„js˜àB!-„ !„ÒB˜àB!-„ !„ÒB˜àB!-„ !„ÒB˜àB!-„ !„ÒB˜àB!-„ !„ÒB˜àB!-„ !„ÒB˜àR¥   ­C@¡–Ð Á§¤¤$%%UVV¾»hT«ªª:}úô† /^|èС””©TÚVÁ¼>>>.\ –••%5-99™¢¨¶ ¸)………/_¾Ôtßׯ_'%%egg«¨STT””””––ö1*7zôh{{û¯¿þš.Y´h‘……ÅìÙ³U”¨ãÙ³g ­.BÉŠŒŒ,++£Ô ££¡¡¡êTn] Ë–-344” ÞÄÄä?þxÿñ¼þù'tïÞ]$‘’ 6¨þ*«ªªÚ6æ¦äääSSS5Ýwâĉ`kk+‘HšªóÉ'Ÿ€««ëÛ…)¯¦¦†Åb@»ví耀˜ÜÑÑQ¶\£/®¬¬LÍK¡©òòò²²²¦¶NŸ>š½¶!¤©·Mð………³gÏ666¶¶¶677wqqñóóS:$êøñã=zô000°···³³ó÷÷ŒŒl¶ýÓ§OK¥R&“yöìY¹­kÖ¬€/^§|˜2e —Ë =uêÔ AƒÌÍÍ;tè™™I¶æååµoßÞÌÌlÈ!kÖ¬QLÀR©ôÀnnnúúúŽŽŽFFF}ûöݺu«løøx.—ëââ" çÌ™CÎËÈÈÈÏÏ k8zô¨³³³©©©………«««š=½wî܀ѣG«S_UUUÕŒ3lll¿ýö[º‚:W€¾†qqqŸ~ú©™™™½½½‘‘‘O^^žâAÿøãž={r8GGÇvíÚ :tïÞ½JÃÛ¿ÿÀMMM¹\®••ÕÊ•+›eFúÞ+++oܸ!·éõë×=™þy¾8‘H´xñâ.]ºXYY;99:tH¶æ7ß|ÃårW¬X¡:BE™™™&&&–––VVVööö>>>ô?BùŠ‹ŠŠÈY „Pkz›Av•••äZŽ¥¥åíÛ·e÷Ý¿¿b5‹uíÚ5ÕíÖ­téÒ¥© R©4))ééÓ§•••¤dĈЧOƒAëùóçEUTTtéÒE1’¡C‡644È6+;pZV@@]çöíÛÀápÈ#¦¬!C†lܸQq÷Õ«W7{OžîÔ©SÉV5¯¹†_}õ•b·ûöíù|¾ì8 ôZùûû“6éAvJûºÕžFþ|ùå—råäžÉÀÀ ¦¦†”hôÅ)­¼uëVºæøñã`îܹt‰:ƒìŠ‹‹íìì[¶´´Œ—;kkkøñÇ›½!¤&’Ù[žàëëë‡ ,kãÆééé™™™;wî´²²GGG±XLjFDDÑÈ&Lˆ …·nÝêÛ·/‘ù]JI¥RÒGýÅ_¨b$9€™™Ùž={ÓÒÒD"QCC ØÐÐðĉ¥¥¥yyyÛ·o'÷3fÌ [¸ÿ>iÁ××711Q ÄÆÆúúú’´´4Rä bݺuyyy·oß&C£ »wï–””9r¤cÇŽ`nnÞlüÁÁÁàää$W®Q‚§ãÏÌÌäñxE©èkhoo^YYYPP@§ç5kÖÐ5¯]»F¾Ü†……•••EDD¡ïpðàAJ&Á“wîÜ©««{öìÙ!CHáÝ»wUŸyK-›È ’ø§OŸNþlÁ·`Á‚”””ºººèèh2rÓØØ¸ººšÔlY‚ÿôÓO€Ãáœ9s¦¸¸˜Çã…††š˜˜(ý—üÙgŸÀ¤I“T_„RßÛ&øëׯ+>ñPEÞ@xx8)éß¿?Œ9²±±‘®VRRâààK—.mêˆåååtúTÿÄHrb³ÙÏž=“-§މ‰‘-'ɃÁ`ÐÓÌ>|¼nÝ:@@W+,,$W $$„”ÐybÉ’%tµÊÊJ‡C²QII ]¾cÇRùÕ«WªãŸ3g¹\rå$ÁlT†>Y:ªéÓ§K¥Ò–]úfddÈÖìׯŒ3†.!_®££cii)](‰úôé½{÷¦d¼———ì¿ÂÂBr­~ùåÕ×$??ŸÌ8uê]˜””Dšý믿H‰¦_œìc=EQ¤üÑ£G¤¤e ~Ó¦MÁÁÁQQQ²ÏŸ?¸\®Ü©-\¸¬ú „úHf—Ÿ‚¥¾øøxpppX¾|¹l¹¯¯ï£G;uêb±899¾ûî;Ù!cVVVãÇß·o_bbbS‡¨®®&ìíí5 oÈ!nnn²%Ož<wwwúñ”˜5kÖ?ü@QTRRyÀíß¿?É[²lllú÷ïïÞ½W¯^ÉmúòË/éϦ¦¦ÞÞÞááრ"„ϲeË °°ÐÅÅEEäÅÅÅ`aa¡t«@ øé§ŸË­­­åÎ700Pö%hrˆ>}útîÜY¶æˆ#âããé1"‘ˆ|¹«W¯&cÝ k×®½zõJOOOvw???Ù666=zôˆýúµÒ“¥ÙÙÙ92::úôéÓ_}õ)$ÃëÈ&R¢éççç'û§——ùíéé©:$~üñGÅB__ßâââššÙä‹&_:Bµ¢·Mð={öTÜ$û?ÇÔÔÔúúz8zô(ýpO<{ö ž>}JQ”\*"è$§ø¿æf¹»»Ë•ôVVVÖÔ|ªÄÄDÙô–}÷îÝôôôÒÒR>Ÿ_UU•ššªtG¹·Úä©TnH yÕª2Þ­©¯««K+å(Þ4¼ýPürÛ·o"‘ˆü™’’B¾Ü^½z)Ö$•e)V#W‰nP…3fDGGGGG———[XXPuöìY˜>}ºÜêqr'ÈápÚµkÇçóÕ‰§Y999.\ÈÍÍ%1(œæææðß/!„ZQˬ^½úàÁƒàææ6f̘~ýú™™™™™™Í™3GÅ …ÖB|éñ­Hý+ &WWWò!++«wïÞožj“'O>vìØéÓ§çÍ›GúçûöíKÆÙmûÅb±xæÌ™éé鯯ÆÞÞÞÞÞÞfffééédt…òEs¹Ü÷Bèß£å ¾_¿~W¯^%¯`å”——K$}}}www±X¬¯¯/;qKMä~nnîÑ£G¿ùæÅ qqqd)ò+W®ÉMéÓ§Ïõë×ß¼yÓlä÷]<==åf'«X±¤‘ÿ׿‹c©ÔäææÆf³’““å|CCŸÏg±XM½kh3f;vìîÝ»ÙÙÙä;’[ž¶m¿8â?þHOO€sçÎ3†.§»²ä”––ÂïêB¨µ¼cÌsãñx¿ýö›lù;w¬­­¹\nXXèë듹ò¿ÿþ»\·ó™3g‚‚‚ä!‘óÕW_‘ߘùî»ïo&êêê‚‚‚¤R©£££ìÿL•"ãº322nÞ¼)[^ZZº|ùò   zT6ñ$—±è>áw$xò»,­Û²úW@Mººº°qãÆªª*ºœ¢¨Ï?ÿœËå<¸5ÿ?d¹:Š¢fÍšUVVF/rGkÛ/Ž o&dÃJ¥çÎSZŸ¼~Â'x„P«ky‚>|8L·lÙ²ÐÐÐVkÝ IDAT’’’ÚÚÚk×®}ýõ×R©Ô‚ž¼xñbˆ‹‹ûúë¯Ép¹ÒÒÒ_ýõ«¯¾Ú±c¥Õ{{ûµk×€P(ôññ¹téù‰X@pãÆ Òõºxñb2[…‘#GöèÑ&MštåÊ¡P(‘Hž>}:jÔ¨íÛ·9r„Lƒ2ÐìäÉ“qqqb±X(^¾|yܸq-¾V0`TVV¶`h¡jê_õ}ÿý÷ ãõë×_|ñÅýû÷%IzzzPPPtt4hú#ªªÑ Γ_—¡—©§µíG >œ|øá‡  ''gêÔ©ýõ—be‘HôôéSPüBoëmV²+))¡o3 :ÅêëëŸ9sFvßU«VÑG455¥?»¹¹ÕÖÖª>®D"!s… 6›mggGJb0+W®¤Õ¡þ;‡[éôzGÐÓÓ300 ŸY,ÖáÇéjaaaôo¸±Ùl2³ËÄÄ„ŒK§[¦§SÓë¢S§NÙBzÊŸÜŠD"”pâÄ ÙrMº‘‹J£+ÐÔ5ܽ{7¸¸¸ÈÒSü@vÜСCÉšw*~.v„ 0{ölÕ'E{ñâÝþŸþ)·õ-¿8Š¢È•?yò$ù³óà¥R©ì,###ò^ÕGö ô«„ÜÜ\5¯B5K㟋%9Uv¸¯••UTT”“ɤ(J"‘~üñÇwîÜ‘ëׯ߹s§——›Í&}¹666?ýôÓ“'Oå]ñ¸»wï>uê™çÝÐÐPPP •JY,V=®_¿¾qãFÙÇwÅ8iQQQ³fÍrrrjlll6{ðàÁ=š9s&]ÍÇÇ'""ÂÕÕ•Á`444ˆD¢ܼy“ä ºeÙ› ÕŠÔ!Õš/­££C:åfª8/ÅjŠQitš:–Òò¥K—îÞ½›¬U@ÞÂ8;;/_¾<&&†,ߦxÅ4=)š««+éá077Wrñ–_œb<Šá5[Â`0âââüýýÉd÷ÚÚZCCÃU«V‘ÑrýóÏ? wïÞr¿”ƒBoéééù–#¡jkksssY,–«««êÿY …ÂçÏŸwìØQÅÈyž?ž••UUUåìììááA?€¶@VV–H$êÔ©“оýªª*òÈ«tß»sãÆ1cÆèéé‘yÒï‚:W@}R©´¨¨èÍ›7ÎÎÎ-ûr[Q[}q²¤RiVV–D"qvvVú«€EuèÐ!//oÇŽK—.}ÿ"„´Õõë×===['Á£V7zô訨¨íÛ·µu,è¸zõêøñã;uê”––&·äB½ ’àqyÔž={ôôôÖ¯_‹˜j%‘HDnÝvïÞÙ!ô.´|ý"ü€ìÝ»·æ¿ŠŠŠŽ92dȸuëVxxx[G‡Býo5ÈÎÄÄdĈ111ŽŽŽ¦XG(4Û”H$ÊËËSìWª¬¬¬¶¶VÓh[—Ëýæ›onܸaccÑÑÑm†š——ÈËË«¬¬|§ñ „ú@´Â(zccc¸sçŽlùñãÇ{ôèa```oooggçïï)·¯T*=pà€›››¾¾¾£££‘‘Qß¾}·nÝ*['>>žË庸¸ˆD¢Å‹wéÒÅÊÊÊØØØÉÉéСC²5/_¾Ìår»ví*w”††.—ûàÁ8|ø0—Ë]²d r¹\.—KNAS†††nnnPRRÒŠa¨a³——¾nUUU3f̰±±qttüöÛo[pš!„þq4d§yŠ}óæMUU•©©)„††Êæ’ÂÂÂS§N9sæÊ•+ãÆ£ËgΜyüøqúφ††„„„„„„ŒŒŒ£G’Âúúú’’’ššš9sæÈVÎÍÍ3gNEEÅòåËI‰@ ())ill” O*•¾yó†4uuu²ù˜|nÙ£­P(LKK€AƒÑ…oF³ªsyÉu«ªªš2eJ[u0 „j3‘‘‘eee”ttt 44TqÓÂ… ÀÅÅ…üÁb±`„ ñññB¡ðÖ­[}ûö##£äädRíþýû$__ßÄÄD@ëëëK ÓÒÒHµÛ·oÓÑ.X° %%¥®®.::ºC‡`ll\]]Mjž:u LMMåÂd÷ØØXŠ¢D"ŸÏßµkp¹\>ŸÏçó…B¡Fç.‹?~ìíí NNN²×ðíÃP¡š—Wöºùúú†‡‡gffòx<§‰BH ÌÞ þÕ«W†††0sæLRÒ¿9rdcc#]­¤¤ÄÁÁ–.]JJ>|¼nÝ:@@W+,,$ !%t¢ =nDD)ôè)Q3³[[[õÏÝÈÈÈÆÆÆÆÆÆÚÚš¤Xøâ‹/233e+·VMmRóòÒ×múôéR©TÓD!¤Hf×ø|nnnÒݸqcýúõ}úô©««c³Ù ‹“““à»ï¾“nee5~üxHLL$%ýû÷_·n]pp0‡Ã¡«ÙØØöêÕ+¹CûùùÉþéååE>dggkz-S[[[TTTTTTRRB¯{sçÎ}ûö …Â÷ƒú——È`0ÞOx!„>¿ƒß¼yóæÍ›å ÙlöåË—?þøcHMM%ï˜=zéÒ%ÙjÏž=€§OŸRE§œììì»w獵§—––òùüªªªÔÔT¥‡îÙ³§ìŸ§]»v|>_$iz-óÃ?L™2…|®««ËÏÏ¿råÊÅ‹wíÚ•™™Fôß)M//¸»»¿ë¨B}h4NHL&“Íf“Ï,«W¯^Æ óõõíÝ»7)ÌÈÈ ®^½ª´>Ÿ_^^nii)‹çÏŸäȹU`›B–Ö‘ FӸ߆““S¯^½dK¾üòËO>ùdöìÙ7oÞ=zô»ŽAýËK—àã;Bý iœàCBBUTpvv&Ž;fkk«XÁ`˜™™ÀêÕ«<nnncÆŒéׯŸ™™™™™Ùœ9sû™ÕGQ”\É;}ÄŸ9sæ’%KjjjîÝ»'›àßQê_^„Bÿf­ß¥ìî£#‹õõõÉ ó¦\¸p<===z$[^VVÖ²C“wÒÕÕÕ²?“’’Ò²ÕD‘é×ðï4 õ//B¡³ÖïâÖ××ïÞ½;üþûïrϬgΜ ¢×±)..ºoŸ¸wïÇkÙ¡»uëE=~üX¶\î]5A²rqqñ[.îvîܹêêjøìÝy\SÇÚ8ð'ÙAÂbX•Åâ‚l¢q£*â¶ µÕ«¥ZµWk«¾–jõjU,ÕZk•ÚÚ*R½­u©(ˆŠA+bÙe7‚ @XÂ’²œßó»ç=oB‚Z¯ñùþ'Ï™3sè§Ï9sf&!!!϶j¿Òþò"„z•=—wØ+W®€+W®,X°€L†¯¯¯ÿꫯæÍ›·sçN2G ÆG޹råŠL&‹Å§Nbnƒ£«’÷ô~øaii)TUUmÙ²e×®]ªÁd|[.—ÇÇÇ766jSÿ“'OîþÇíÛ·ÓÒÒV¬XAÖ˜™™;öÙ6£«¯´¼¼!„^iÏd£Uëׯ§OAö¶#|||ÚÚÚH sÚ¹±±1Ù¶²²"³¾U×sÓÚÐÈËæ#GŽÐ%›7o¦ÏEO9r$Y‰Ç\€^WWgeeE ¦OŸÞmß»âì윓“ÃŒ&ÍÐð•6—WÃuC!¤Çt^O¦¬k9q<°777€££cLLÌ­[·È®8qîÜ9///‹%‘H¤RéÈ‘#/]ºD<}"úƒêlpÕ&ÅÆÆÆÄĸ¸¸€D"a±X³fÍ:yò$ɲÌH{{ûãÇûøø°Ùl…B¡º³¬ê‰”¸¸¸L›6-&&ææÍ›d#¹gÛ _isy5\7„Bz•’’ÂãñlmmŸÓ Äbqii©»»»†©ÝÍÍÍ|>ßÉɉ¹¸ë)ñù|¡Pèééiff¦9R&“555Y[[3÷ù¯j††¯´¹¼!„^)©©©<ï¹'x„BýH‚ÿ[7ŠA!„Ðßþøc[[Û÷ßÿYU¨«çÑ©çä…_+] 0ÀÖÖö·ß~{Ñ A¡—V ^&“|þùçªß¾óÎ;þþþ$‹3%''ô/•J¥RéÓ7hiiill …ϪB]=N餼¼¼°°P›+𯕮Acc£X,~Ñ A¡—V ÞÐÐpüøñ‘‘¡ôUcccNNH$’«W¯*}Kâíììž¾­H­ &øùùýúë¯/º!!„þ‹h;D?yòd(,,lnnf–§§§+ ò9--Mé(’à'NœÈb±ž¶¥!„Òšn ^¡Pdee1Ë/\¸ ö3‚’’úXµD"Q]]]·g‰DJ7Z‹ÅÕÕÕ=8ðihÙ)-Û&•J«ªªd2Ù³hš²'Ož´··kYUUÕÔÔ¤THQTmmm[[[·‡744¨À¡V__¯M{Bi¦m‚0`@ß¾}Ae”ž<µÏ›7JJJ=zD•™™IQLš4IµÂýû÷5ÊÚÚšËåÚÛÛöÙg‰D)æÑ£G±±±AAAÖÖÖ666þþþ«V­*((ЦÁ‡2dˆ™™™‹‹‹³³sdddJJІø¬¬,.—ëààÀÌCE 8Ëå*M>صk—Ë3fL:¥eÛ Å|||LLLúöíkaa1lذ;v0c Äårkjj`ÕªU\.—Ëåv{qš››/^ìîîîèèhaa1dÈ¥‰l999\.×ÓÓ³¹¹yþüùŽŽŽ}ûöýç?ÿITUUEEEYXX888p8œ   7666*¨¢¢"**ÊÊÊÊÎÎÎÞÞÞÅÅ%""¢¢¢Bµ³[¶lqpp°³³ëÓ§]ll¬–w!„ÔKII”-Z<.)--%•”——s¹\8xð ýíÇ ƒ ¢K>|HâW¬X¡Ú’·ß~›yº†††Aƒ©†q8œ’’:,**JõØýû÷«Èf³Ïž=ÛUïZ[[ŒŒàĉtá­[·È±Ì`2&±hÑ"];¥}Û,X öïEÇp8Õ€œœœ®úH®Õ¤I“†®t”Á¹sçèH2ÂÈȈys6{ölòmccãÀUO=vìX‰DBWR[[ëìì¬fgg§ÔÈèèhÕ°iÓ¦Y[[@bbbW=B!¤Šdvü/¿ü†††­­­¤d÷îÝàååEý'yÌš5‹Ž'ë>þøcº„Î…0}úôÌÌÌööö   R˜••E"Åb1y>îÕ«W|||II ŸÏÿá‡ììì oß¾555$R5ÁŸ;wŽÍf“SäääˆÅ⌌ŒaÆ€……EAAAW €>úˆ.¡ÜY,V]])”J¥püøq:¥}Û®_¿NŽ1cFnn®H$º|ùòŒ3HáíÛ·IX[[›P($·V»wï …B¡P¡PtÕAr­ˆ•+Wæää<~ü811ÑÅÅz÷î]VVF"™ó%g̘qæÌ™ŠŠ >ŸOQ”D"7n˜››'&&Ö××WUUÅÇÇ“ióçϧO7eÊ055=vìXmm-ŸÏOHH°²²€wÞy‡;zô(9QPPЙ3gAjj*9–ÀB:Ñ9Á 8þ<) #©‚¢(2‹ÛÖÖV.—SÕÜÜL‚™Ï…t. îìì¤ËkjjLMMàË/¿¤G"÷ìÙÃlCzz:Iqqq¤D5Á1BBB˜§¨««suu€Õ«WwÕA2îççG—¼þúëàääIII¤ðÆÀf³›šštê”öm»qãFllìæÍ›E"³BCCCØ·o³Ù¤yèª_4:Á/Y²„Y~ãÆ 2zAßÑ þÝwßUºcHMM%_¥§§3ËãââÈPss3)Ù¶m[lllZZ3lÙ²eÀårépsskhh  ÛÛÛI9&x„ÒÉì:ìdgkk;tèP ÿ÷—H$üñL›6 &OžlhhØÐÐ@†µ³²² …‘‘yÚS2wîÜ^½zÑÿttt2dÜ»w”JÜÜܔƽ'L˜@N÷×_©m¤L&#/é—/_Î<…½½}xx8äæævÕAòÔXTTDf“µ´´üù矽{÷މ‰€óçÏ“02 aĈdYûNiß¶#FlÞ¼966–Ü"Ð’ûƒ»wïvÕm’¡Úˆ#fÏž yyyJÁK—.UZAþ4¾¾¾&L`–“78Eåçç“’uëÖmÞ¼YiŠ%‡¨­­mmm‰DB^ôlذÁÆÆ†333ûâ‹/ž¦›!ôŠ3Ô)zòäÉ·nÝ"îÚµk"‘ÈÂÂbìØ±Ð»wï1cÆddd\¸pÇ㑘ѣG›››«Ö£º,ÞÑÑè½bHþöõõU=Ö××÷Ì™3ôÛq%ÅÅÅðÓO?_õ«ÊÊJpqqQÍîÀ¸'8tèy9­„Åb©|NÐ þ³044 É䃖–;;»ÀÀ@];¥}Û6lØðý÷߀OhhèðáÃ9‡ÃY¼x±†W Z"Pm¡……EŸ>}ºíEyyùøñã?ûì3µnnn “É.\XRRbii9iÒ¤I“&¹ºº’‹/¦ƒÝÝÝé(Ìî!Ôcº%x##£ñãÇŸ;wî×_%ùÌïííݯ_¿ÊÊÊÏ?ÿ\&“Ñïì{`ذa)))EEEª_‘aj2ó\•¯¯¯¡¡¡L&311éÁíŤI“ òóó³³³+++ýýýÉ0{XXX\\\ZZyL'aºV®}ÛŽ?</;;›Y®Í^1Ý*--íìì¤Ç]rUýüüºÝs000055õÉ“'š»ðóÏ?“mŽ~ùår“D(ý(‘¯¯¯B¡(..VJðÚ,èG!Ô³uÿî»ï(ŠòóóSZèLò}BBLœ8±Y ù»¢¢Bi8''çìÙ³Ðu‚711ñöö&-Túõ—cÇŽ­Y³Fi¯%¶¶¶Ã‡—Ëå±±±À¸}!Û×\¿~Œ®«ŽÏkCû¶ÕÖÖ€Òíѵk×Ôi”LïIÐ-©TºaÃfIIIÉ¿ÿýoÐîµ7º(++»té³¼¾¾>::zÍš5d’}/Âì…B¡ ‹-ifff^^^°}ûvæ©6!„NtNÀä¹¼U%Ú™H ÕõvZ &ÏsK–,9räˆ@ hkk;{öìÌ™3%‰½½ýܹs»:våÊ•påÊ•  çõõõ_}õÕ¼yóvîÜI¦¹i@æÒ_¼x ÞÐÐpòäÉ2™ì?þ`±X6ßÕL˶‘IjG޹råŠL&‹Å§NR½Úí?}úôõë×5¼ífÚ±cG\\ŸÏïèèHKK{ë­·ÚÛÛMMMµù%Ù²:`æÌ™¿ÿþ»X,–Ëåyyy“'OŽÿñÇûõëä׉`íÚµd¯½‡Ξ=[i?cX¾|9Ï™3'''G.—çççGEE]»vM›¾ „ROûuð4²/ \»vMé«öövz®Ù…‰^2^\\¬ôÕôéÓàý÷ß§Kª««Éæ¸ð§z™››ß¼y“S»“Ýúõëéxæb6Ÿ¶¶6ͽ£7™áp82™Œ.?tè)÷÷÷ïq§´lÛéÓ§É’w066&kꬬ¬ÈMÒRþuëÖÑ•ææævÕ5r­Þxã úÍ7sµÞÑ£GéHz|KK‹j=|>ŸžC`dddffF>³Ùlz+C…BÁãñèÊÉÖ@@ïÿìù½÷Þ£#é&ñx<ÒN\B:Ñy<<¿ÚÚÚ’eÙLfffd?¸’Í[˜è{Õ¡{RÂ,wrrºxñâÒ¥K_{í5Š¢HÉܹsSRR˜;­ª[¶lÙµkWpp°±±1ù•GGǘ˜˜[·n©]¶ÇÄãñÈL·É“'“Muˆ©S§’û ¥ñy:¥eÛ"""Î;çååÅb±$‰T*9rä¥K—H‚Wª0&&fíÚµdrœL&Óð³4ä@ŒŒŒ°°0KKKò¦ÀÁÁaÿþýsæÌQí”ÚWò®®®iii‹-rssëìì‰DÆÆÆcÆŒÉÎÎ^¸p!}à•+W"##--- ­­ÍÜÜ|ýúõdò RÍû÷ï_¶l¹5”J¥†††K–,III!¤Ç/zBèUÆJIIáñx¶¶¶/º%šTWWwvvÒÏÚ‹Å¥¥¥îîîfο(Ú´­¹¹™<.wµ®&—Ë››› {÷î­ed2Ù;wLMMûöí˼•ÑÉýû÷¥Riÿþý»ªA¡PÜ¿_.—{xx0 TuttJKKSzj´³³;|øpXXسkÛ‹!Åb±†©TÚØØH>ü]íú?d2YxxxQQksÔÉ“'Ïœ9ãíí=cÆ ºP.—/]ºôàÁƒÌH›äääÑ£Gk®Põ:ü=WÆ××788øÄ‰ñññëׯ~'B¡——nOð×®]5jÔùóç)Šâp8ãÇŸ4i’££#‚7Þxcýúõzó(ÿßìæÍ›$»¯ZµªººúîÝ»Ý"‹W¯^ [·n54üÿ7vï¼óÉî x÷ÝwÇŽkddÔØØ8qâÄ‹/>ÏN<•¸¸8‹µ}ûv>Ÿÿ¢Û‚BÿtHð3gÎlhh€ýë_=ºråÊ… jjj®_¿îééIQÔÖ­[ÿýï?·Ö¢ÿïÞ½{Àf³×¯_ïàà Í!¬¬¬´³³c޲¤¥¥:u 6nÜXVVväÈ‘ŒŒŒË—/[XXˆÅâ/¿üò9µÿéõïß̘1"‘(..îE·!„þéà×®][[[ Ë–ÂXý IDAT-Û°aƒ™™ýÕ¨Q£òòò\\\`÷îÝ]ÕÐÚÚÊçóår¹êW?~æþ2™¬ºººÛ h õõõOy.‰DRSSÓí¹(Šª­­mkkë¶B±X\]]ÝÕ·Àårmll´láÉ“'`öìÙ½zõ¢ /]ºÇß´i]8f̘+VÀÕ«W5¿ªÐ†–W¦®®®¹¹Y§šß}÷]8}ú4Î1D!UÚ&x±X|ìØ13fŒÚniiù¯ý rrr²³³Iá¬Y³¸\nBBBRRÒèÑ£mllúõëWQQAuüøñÈÈH''';;»3fìÝ»Wé`̘1\.Wé%1lÛ¶Ëå¾õÖ[t }º+W®L™2…ÃḸ¸XXXDDDTUU)®P(¶lÙâàà`gg×§O;;»ØØØööv-/³ &L°¶¶vvv677ÿý÷ÕÞ.TUUEEEYXX888p8œ   7’×ÕJ>}`ݺuÚ#„Ð+‚dvmüöíÛÉÿ| ´?ɸÀápöìÙ“››{ûöm©TJQÔ©S§ÈÿÐÇ—œœÜÐÐðÇÌ;—Äþùçt%º&xpqq9sæLSSSuu5m€7Ò‘G¥SΙ3gAjjê”)SèT¤e‚//¯£GÖÖÖ^¿~ýý÷ß'…K—.¥ƒ%ɸqãÀÜÜ<11±¾¾¾ªª*>>žÜôÌŸ?ŸŽÒæ‘N É¸ÆÆÆ………J_ñx<ðôôljj¢ e2ÙĉI.”Ëå¤P×oll\VVÆŒ>|¸Rºòññ! ¯¡¡.loo'åÚ'x+++æ¹ ÅôéÓÉWô3hjj*)IOOgVBf‡±X¬ææfR2bÄ a^人:WWWX½z5]xàÀprrÒÐH¦Å‹“š»T(ÿøÇ? W¯^ôXKW4$øn¯ŒB¡077€]»v1ëüî»ïÈæ Úô‹üg9fÌm‚BèA2»¶ïà…B!yddNÑ€U«VõSñí·ß2c‚‚‚èÄIH¥ÒÂÂBˆ%Câ›Í&ƒÃíííeeeZ¶MI``à€˜%$ñ?xð€üS"‘”––À† ˜“ÔÌÌÌÈÙµ÷á‡2ÏÅb±vîÜI>ççç“·nÝ___z€X´hPE"e2YAA,_¾œy‘íííÃÃà 77W§¶1‘Ù‘¶¶¶ÝF~öÙgdÄÖ­[Õ¾VÐR·W†Åb™ššÀ¡C‡Š‹‹éÈ%K–ÄÅÅÍ™3G›³‘Þ!„bÒv£;;;¨®®‰DÌùóuuuª ‘›šš˜ÿôõõU ¸}û6™®úÕàÁƒÙl¶\.¿uëÖàÁƒµl“¿¿¿R YHFo½R\\,“ÉÀÏϯÛcu=—»»»¥¥ekkk~~~pp0ü'Á ‚ÈÈHµ•äææŽ7®¸¸˜\“Ÿ~ú‰Ìx§‘›¡¼¼<Š¢˜³´Gfóu›à÷îÝKÆ–/_þÉ'ŸôàD4m®Ìûï¿WXXèãã3räÈñãLJ„„hßGr¦v®"B½â´Mð$G*Šââb2ºNlذaÉ’%ä³B¡ •H$J«©þÿš~:÷ððPúÊØØØÙÙ™Ïç÷ø ÞÄÄD©Di¶½‹ª§§§R¤ƒƒƒ¹¹¹öséUk`±Xîîî………ôYHGjjj’’’ÔVBµÓýMNNV& È–®Èм»ÜÑ£GɈ÷Œ3èwá=¦Í•ÙºuëàÁƒ7mÚtÿþý7nܸqcëÖ­ÞÞÞ7n|ûí·µIó ò÷E!Ú'x²n ˜ ~À€ôHlqq1ÙœËåj®þ¿?ŸÏW½üø1¨dJe­s7Cuww'*++•†N+å*++‡ªTH†4è{òòòñãÇöÙgj+qsscÆ:tˆÌqSÂb±8Žömc"÷gd“"µRRR¢¢¢(Šš4iÒ±cÇž>ejse "##ÿñ\½z5###==ýúõë·oßž5kÖW_}µråÊnÏBzÔío!ô Ò6Á?ÞÎÎN ÄÇÇÏš5«wïÞª1éééäC·Cë¾¾¾½zõ’J¥EEEJ ¾¼¼œdn2{È i@ T Ù«µ|}} Èh„R‚'ƒáÚ+((`îë="¶Ð·D©©©Ož<™4i’æVÊd2Í‘=@R ê5$®]»ööÛoK¥ÒqãÆ>}ZËí5ÓæÊ½zõ Ù¼ys^^Ù´ààÁƒÚ$x²°^˽üB蕢탛Í^ºt)TTTÌ›7OõyúÚµk7nooo:7wÅØØ˜äõ;vˆD"æW¤SSSoooRBnnܸÁ «®®îñö&fff^^^°}ûvæÙ¥Ré† tªjß¾}J[èÐ5Ð/¡ ¬¬ŒlG«¯¯ŽŽ^³f ™tfbbBºüÝwß) N;vlÍš5;vìЩmL$Á“¹îJ_¾ñÆb±xÔ¨QgÏžeN°xÝ^™²²²M›6mÚ´‰9c# àÍ7߀ÖÖVæ±]ý\!¹ÉÃ'x„RCËerE‰Åb’`öìÙd”B¡(--Ý»w/I –––YYYô!dÞ8s}íðá䪈ˆˆ›7oÊåò’’òÖ¬YCG~þùç¤pçÎYYYôoÕerª§ûú므ì–O|óÍ7äðððð›7oÊd²¼¼è²~èС—.]’H$÷îÝ£áçÌ™C·´´ 2¬¬¬NŸ>-‰d2Ynn.És‡^P÷ÓO?чWTTPUWW·k×.ò6zÓ¦Mtº.“£ï-îܹÃ,¿{÷.yüår¹™™™…*˜Ë5\µëà5_™Ç“±™ˆˆú,™™™$[ôÑGôY¦M›>>>ôÊI¢³³“ 6|ýõ×Z^„zè¶ž¸wïsé‡Ãa¾¶¶¶ÎÎÎfÆkHð#sÃÿˆ7{öl…BA‡=zôˆ,ú—ÐÈLìž%xŠ¢Þ{ï=úŒô²4GÞÐk™àé;æÂ¶€€€öövf<ŸÏ§_«ÑOÉl6ûàÁƒÌHæŸ2úøø´µµÑaº&x©TJþRJýbîí£ÖöíÛµ¹ª ^›+CïAdll}Zi ÛÕÕ5--mÑ¢Ennn"‘ÈØØx̘1ÙÙÙ .dFnÙ²e×®]ÁÁÁÆÆÆäµ££cLLÌ­[·Hô¹°ª És°Ò<2 ]›žjþVõƒ6WfÏž=?ýô“‡‡GgggIIIuuµ½½ýܹsóòòèûHKKË÷Þ{Åb…„„Ðomˆ'NÀСCûöíÛMÿBèÕÃJIIáñxÚlÂ$‰nß¾ýðáC‘Häää4hÐ òSr=#•JïÜ¹ãææÆÌaª$IIIIŸ>}œœœz¶\UGGǃ ÜÝÝŒŒz\Omm­@ pqqQ;ýéþýûR©´ÿþdWÚ®ˆÅâÒÒRww÷ÏœWrþüùÐÐP##£ÇkÿtOO›+ÓÞÞ^QQAþ²](ý·AQT¿~ýªªªvîÜI~ç!„‘ššÊãñz˜àÑËhêÔ©iiiñññkÖ¬yÑmyZÉÉÉáááýû÷¿}ûöÓÜ™!„þ! wy…ìÙ³ÇÈÈhË–-/ûÞ®R©”Ü£|ýõטÝBH-m×Á#=àååµoß¾œœœÛ·o¿ÔKËîÞ½ö¢Û‚Bÿ¥pˆ!„Ò+8DBé-Lð!„ÂBé!Lð!„ÂBé!Lð!„ÂBé!Lð!„ÂBé!Lð!„ÂBé!~l¦¨¨H.—3KØlö€ð缞ŸššøóÏ?½¼¼^tsB½4tHðC‡•ÉdJ…¦¦¦£Fš={ö’%KžiÃþ>åå剤_¿~½{÷~ÑmQ&•JɇÝ„B/‡è LMMMMMMLL@,_¾|yéÒ¥ŸþùshÞßa„ ~~~¿þúë‹nB!ôÌèœà÷íÛ'‰D"‘X, …éééÇ€ØØØ£G>‡"„BHgO5ÉÎÊÊj„ ééé}ûö€Ó§O+H¥Òªª*Õ}µ Å“'O:::4‡QU[[ÛÖÖ¦M­­­|>_iê@ˆD¢æææ§¬¤+:õˆ©³³óÑ£GZ^^„B¯”g0‹ÞÒÒ222233I‰B¡8pà€‰‰Iß¾}-,,† ¶cÇ¥gÍšÅårîÝ»7sæLsssGGG33³‘#G¦§§«ž¨ªª***ÊÂÂÂÁÁÃámܸ‘¼¢V­3))iôèÑ666ýúõ«¨¨PÛòAƒq¹ÜššXµj—Ëår¹………tÀ£Gbccƒ‚‚¬­­mllüýýW­ZUPP@deeq¹\@@R5pà@.—«ôÚb×®]\.w̘1:õH­½{÷6ÌÒÒÒÕÕÕÄÄdäÈ‘¿ÿþ{·G!„z…¤¤¤J ††† úÕÞ½{ImMMME-X°@í¹¢¢¢˜GM˜0>øà[[[¥H“[·n1ƒ¨ZçØ±c%‰R,‹Ž)--UÛ#‡£ZaNNù¶¡¡aРAª§¤¤„Ä´¶¶’E'Nœ «½uë‰ džnòäɰhÑ"í{ôðáCRX\\L×3gÎRÈf³-,,èÕþiB½jHf6ëàïܹžžžÖÖÖþùçáÇ`ÆŒ¹¹¹"‘èòåË3fÌ€C‡•””(›ÐÔÔ´yóæâââÊÊÊ„„++«ŽŽŽéÓ§×ÖÖ’˜ÎÎÎ3f”••™››'&&Ö××WUUÅÇdzX¬«W¯.^¼X©Î¿þúËÚÚzÏž=¹¹¹·oßîß¿¿ÚfWUU …B.— »wï …B¡000:::ÂÃÃKKK{õê_RRÂçóøá;;»¦¦¦©S§>~ü,,,ÈyFF]íùóçɇÜÜÜúúzòY&“]¿~¦NÚƒÑòóó;ëׯokkkii)((:t(¬]»¶³³³Û?B¡WÂÓ?Áß½{×ÜÜ.\HQÔ7bcc7oÞ,‰è˜ššrø¾}ûèBò´ Ÿþ9³ÂS§N‘çï;w’’ÔÔT™žžÎŒŒ‹‹‹ÕÜÜÌ¬ÓØØ¸°°PË;'''8pà³0%%…œqÏž=Ìòôôt6› qqq¤„¼zðóó£c^ýu Õ&%%‘Â7n›Í&ƒZöHõ žœ®wïÞ …‚>êÞ½{Ÿ~úé§Ÿ~ZWW§e¯Bé«>ÁWVVæÿÇùóç·lÙØÞÞnll#FŒØ¼ysll¬©©)}”££ãˆ#àîÝ»J:99}öÙgÌ’éÓ§;òòòH ôöõõ¥ï ˆE‹EQùùùÌò   ²?L‘3º¹¹­X±‚Y>a„iÓ¦À_ýEJ¦L™EEEMMMÐÒÒòçŸöîÝ;&&OóäĈÖÖÖ=èÜK …Â/¿üR,“B¸¸¸¸¸8{{û§é5B!½¡ÃF7ÄöíÛ·oß®Thll|êÔ)òäJ߃ÑÞzë­ØØØ¦¦¦èè踸¸°°°±cÇN›6  „B„Î ÞÀÀÀØØ˜|f³ÙãÆ›1cy 2™lÙ²e?þø£–‹ÓÔ¾ ÷ôô„ÿ¼Ú€²²2¨©©IJJR[ɽ{÷˜ÿT½cÐ9£‡‡‡êW¤ðÁƒ‰„\Š)S¦:t(###<<œ<²‡……¹¸¸øúúæååùùùeee#ÁëÚ#š££cVVÖŠ+®\¹ÒØØ˜”””””Äb±¦Núí·ßº»»?eÇBéü¾}û–.]ª!`Æ ßÿ=øøø„††>œÃáp8œÅ‹çææªÆÓ¯™™*++‘_=<<ÊËËǯ4˜OsssÓ­Ýñôô,//çóù]µÍÅÅ…¾Ñ¡<¤¥¥@hh(„……ž?ž¢¨––;;;2ƒï){4xðàôôôG¥¥¥]½zõܹs ©©©ãÇ/**²²²zšŽ#„Ò:'øn?~x<^vv6³œ¹RœIíËf2ž@þ˜ššúäÉ“I“&=ãævaذa)))EEE]µmذatɤI“ òóó³³³+++ýýý ,,,...--lëKÂÈ!Oß#—E‹-Z´H$ýë_ÿúâ‹/ø|þÅ‹gΜٳ Bé“gÿs±dm=bO\»vMíÓ0ðùü}ûö1K®\¹rùòeð÷÷'%äÁ·¬¬ìÒ¥KÌÈúúúèèè5kÖt5%Md<¿´´”YHòwEE…ÒzNNÎÙ³gáÿ&x[[ÛáÇËåòØØX #å£F²¶¶¾~ýzrr20ÆçŸ¦G ›6m:uê]bffM>·¶¶êÖy„Búê™ltÃôÆo€¹¹ùåË—¥R©H$:yò$ýCm«W¯¦#é ä½zõJHH¨­­mii9yò$™ nooÏçóIdKKË!CÀÊÊêôéÓ"‘H&“åææ’;‡ÓØØÈ¬“y–n‘½ôÝÝݯ]»F¯=kmm%3ìLMMÉ:õÖÖÖäädWWWÒ¶û÷ï3+Ù°a}I³²²èòY³f‘B‹õøñcº\Ë©.“#³úMMM“““I‰H$"ëæÙl6.“C!D2û³Oð§OŸ&‘`llÜ«W/’ÆH¾TMð<Ä0gÆþñÇÌjù|>=QÜÈÈÈÌÌŒ|f³ÙTªS§¿nÝ:æysssIyuu5Ùc_©mæææ7oÞTª„lbCr³L&£Ë:DÊýýý•ѦGª þÎ;ôÆŽŽŽÞÞÞdüÖ¬Y£}¯Bé+×Á“÷Çô[ä®DDDœ;wÎËË‹ÅbI$©T:räÈK—.‘¯zxPPйsç† BQ)ñôôü÷¿ÿ­´HÌÕÕ5--mÑ¢Ennn"‘ÈØØx̘1ÙÙÙ .Ôµ‘L111k×®íÓ§Èd2ú·[œœœ.^¼¸téÒ×^{´ÍÉÉiîܹ)))䡟‰Çã‘o'OžLvÂ!¦NJn˜ãóÚ÷ˆîýáµ×^+**š>}º¥¥åãÇoß¾-“É|||~ýõ×øøxí{BH¿±RRRx<žênðO¯¹¹™<¤ÚÙÙ©  ¹|ùòêÕ«wîÜ õõõ•••ÎÎΚ׹ݿ_*•öïߟ™JŸ’\.onn644¤ß&0UWWwvv>¿Eh=èEQ|>¿¹¹yàÀô|~„B(55•Çã=ûYô4kkk²k›–ìííµÜˆMíòô§Äf³5Üå8;;?ó32õ G,«_¿~ýúõ{íA!ô²{ö³èB!ôÂa‚G!„ôÐs¢ïÖþýû›ššž÷è7B!ô z‘ ÞËËëž!„Òc8DBé!Lð!„ÂBé!Lð!„ÂBé!Lð!„ÂBé!Lð!„ÂBé!Lð!„Òy«Z¹\^^^ž››[XXÈáp† hccó<÷œDDDdee%$$¼óÎ;Ìòæææ[·nݼy³¥¥…Çã9ÒÉÉéE5òY™7oÞùóçããã.\ø¢Û‚Bèo”’’"(í¸»»+ÕÀb±6lØ P(´¬äÅ:qâx{{K¥Rfù¶mÛX,–R×æÏŸ¯öÒÉÏÏg³Ùvvv/º-!„þ$³ë0DöìÙQ£F=xð€ÅbyyyMŸ>ýõ×_·²²¢(jóæÍo¾ù¦\.Ê»çM,¯^½¶nÝjhø¿£ÿüç??ûì3Š¢ÜÜÜfÏžýöÛo;::@bbâŒ3^XsŸ??¿¹sç ‚ØØØÝ„B#íŸày<ØÚÚž?ž.lll|ë­·HU.\xN7#ÏÊ7ß|vvvtá;wHû/^L—‹D¢°°0R^\\ü‚Úûl\ºt ØlvMMÍ‹n B¡çN·'øÚÚÚœœX¿~ý”)Sèr‡sôèÑ>}úÀÏ?ÿ¬öX‘HÔÜܬû½G7„BaCCƒN‡œŸOÖû)Šòòò’’Íí!s]]]£££™å3fÌÈÎÎÎÌÌ>|8)Y·nÝæÍ›Éëpfi[kk«RÍsçÎeþ388˜| _í›››€P(üòË/é‰qqqqqqd°¶¶&w-ä" „Ò{ºmUkeeµqãÆŠŠŠ¢¢¢Ý»w‡††’‰i¥¥¥¯¿þzVV #ùÛ××WµRH÷@@@€Ú: ??_Ãä)VC‚÷ööÎÉɹyófJJʶmÛlmm/]º4vìØóçÏk¨–$xÕ¯x<^PPƒƒ³ðáÇñññ~øaddä›o¾¹fÍš®jVªÓÔÔ´wïÞ •JIÉ[o½Åáp ::ÚÅÅ%22òû￯©©Q­ŠÅbY[[Ã.B!½§óVµÄ!C† òñÇ744ÄÄÄ|÷Ýw …bõêÕ7oÞ€²²2ðððP=>xð@"‘÷àÔôøÍÆÆÆÚÚº¹¹™^Ñ®–0²£*“aƑϡ¡¡K–,:t(ŸÏÿè£4ÔL¾RÛY%ÙÙÙŸ|òIVVEQÝ“ö¨íÍÑÑ1++kÅŠW®\illLJJJJJb±XS§NýöÛo•öìììT­!„¾zÚÿÝÛÚÚ&$$½n È:lOOOàóùªñ•••àââÂÌîª OC~øð¡RIKK Yg¯9Ë’'ií—ÎÛÚÚ’mï***êëë» óòòÍo@&“-\¸033ÓÂÂâ­·ÞÚ¿ÿÙ³g¯]»öý÷ßkÙµœžžNæ0Ο?ßÖÖ–¢¨ÔÔÔñãÇ·´´ÐaR©”¼`¾Ý@!¤Ç´Mð›6m ÿä“OÔ~KfnSE3y.**R,..¦€Œð·´´çKšÚc ÕqxR'¨½g"¹Mu{™>ø 22Rí8|˜Ïç“©|>ÿâÅ‹t}ƒ¢ô¾!„¾Ò6»XXX$''ùå—ªùU¡PU‚‚‚LMMá?ù»¢¢‚L’§åääœ={ ~ðàÁ@QÛ§ÑSÐUmÛ¶M(2ϾqãFÒBÕÑ{&’àɾ³Ìr>ŸŸ””ôù矫’œœ ýû÷×06@úÂçóÉ>¸´ÌÌÌ>}úp¹\²½ }cAn†èÆÿòË/Ú¬YBB¦M›N:E—˜™™Ñsý˜7%ô >Á#„ЫBËerÕÕÕäY³wïÞ?üðYŠ­P(JKKéÙÝñññ$¸µµ•L|355MLL¬¯¯ommMNNvuu{{ûû÷ï“H©TJÞ4ûùù‘ pø|þæÍ›éæ©]?iÒ¤k×®Éd²¢¢¢E‹‘ÂO?ýTsÈ–ìpçÎfùO?ýDÊgÏžÝÔÔDwáý÷ß'åÿó?ÿ£¡Z‘HDvéïÕ«×þýûÉ|øäädò ÜÖÖ¶££ƒb¬DŠŠª®®¦(êÁƒo¿ý6Ý)zu;ÝSº„F¦Ô9r„ü“,R055MNN¦CV²Ùlæ29rIíììèEù!„ô•Îëà¿ÿþ{æ‹sKKKúŸÿøÇ?ÚÛÛéàêêê¾}û’¯˜?Ãjnn~óæMfµÌtN×?räH2 šàÇŽ«z›Òív4EI¥R’ ™å"‘ˆþaxƒ×^{mРAôÈyhh¨P(Ô\s]]™v@:K¤€‰‰É±cÇHŒB¡ ÷½ë\PPPü;wèEŽŽŽÞÞÞô¼¼5kÖ0 €… jîB!= s‚§(êÖ­[t£3ý_|¡\^^¾téÒ×^{„999Í;7##C52&&ÆÅÅ…N³fͪ©©!˺þøãC§½G­X±‚솆†ï¾û.ýä­Ù»ï¾ Ó§OWý*..Žl´GëӧϧŸ~ªå#ïÝ»w#""èÛssó×_¹-EQííí‘‘‘ô]‘¹¹ùúõëKKKÉ?éMdéÕ†ªÛÊ’tþóÏ?Ó%555Ó§O§ë444ôññùõ×_™G555‘;'zË„BzŒdvVJJ ÇÓ°:\•X,.***++svvö÷÷ïöØêêêÎÎN¥U[ªø|¾P(ôôô433Sý633“<»·´´XZZvvvÞ¿_*•zxxÐSáºuþüùÐÐP##£Ç󯯬TUUåæævvv>\iÛ>m´µµUVV²Ùl//¯®fÏ)Šû÷ïËår¥Ÿ·é1Š¢ø|~ssóÀUþðË/îÓ§Oee¥êÒ;„Bz&55•Çãõd¼©©)Çc8k¦öVTÑCúÚ0228p öñÄÔ©S§L™’––öã?ªÝaÆÕÕ•Lè µ¿:Ãd`` y2`°X¬~ýú‘Íê•P•Û·oÇìŽB¯ŽWnÛ“={ömÙ²åÙ´511ñ¯¿þ1bÄ{ï½÷¢Û‚BèïÓÃì^^^^^ûöíËÉɹ}ûö«°f¬®®néÒ¥|ðsª#B!½×“wð/D{{{qq1‹Å>|8æ*„B¨+=ÿB˜››“Ÿ…E!„P·^¹wð!„ЫÛVý7Ðã®!„Ð „Cô/‡ &øùù½¤wWšéq×BèÂBé¡ç›àÁ³­S&“UWWSÕí©ëë뵯¶µµ•ÏçËåò§kÝÿ’J¥UUUÚ‹Åâêêê§9EQµµµmmmÚwÕY‘H¤åßK§Óiù'C!ô =—_QQeeeegggooïââQQQÁŒ3f —Ë=xð Ò±Û¶mãr¹o½õ]2kÖ,.—›påÊ•)S¦p8 ‹ˆˆˆªª*¥Ã Å–-[ìììúôécggÛÞÞ®ÚHºÚ¤¤¤Ñ£GÛØØôëׯ¢¢";;›Ëår¹Ü«W¯*RXXH¾ÊÈÈÐÐý¼¼¼É“'›ššöíÛ×ÜÜ<((èúõë]>|xÈ!fff...ÎÎΑ‘‘)))Ì€Aƒq¹ÜššXµji@aa!PUUeaaáààÀáp‚‚‚6nÜØØØ¨MgÉ·2™l÷îÝ“'O¶±±±··ïÓ§Olll[[Ûøñã¹\îÉ“'™Uét:Ͳn»†B¨çRRR¥CCCHHHÐV[[ëìì¬z";;»œœ:¬ÿþ°{÷n¥Ã£££`ìØ±tÉ„ `Þ¼y–––Ju:88…BÕÕL›6ÍÚÚ•ª d±Xtdii©T*år¹ðÏþS©m111`cc#‘Hºê~ee¥½½½Rzõê5kÖ,ððð`ïß¿_µµl6ûìÙ³t ‡ÃQ¡¯dccãÀUÆŽËldW%ß~øá‡ª5¿öÚkJM§Óuû'ÓÜ5„B=C2û³OðS¦LSSÓcÇŽÕÖÖòùü„„+++xçwè0]<¸¸¸œ9s¦©©©ººzÅŠ¤pãÆtäÑ£GIaPPЙ3gAjj*i¡šà€ÃáìÙ³'77÷öíÛR©”¢¨Õ«W—Ë•Ëå̶yyyºÄOkooCCø¸¸ÒÒÒ»wïîÞ½ÛÔÔ”œ‹™àÏ;Çf³`úôé999b±8##cذa`aaQPP@ÂÚÚÚ„B!¹çؽ{·P( … …‚¢(‰D2nÜ8077OLL¬¯¯¯ªªŠ'Y|þüùÚtöÀ䫉'¦¤¤444œ?~Ú´iª­§Óü'ÓÐ5„B=ö¼ü¶mÛbccÓÒÒ˜…Ë–-#)“.Ñ5Á—••1#‡¡¡¡t‰¸¹¹544Ð…ííí¤\m‚766.,,TjC~~>‰¿|ù²jáŸþÙUßOœ8AbvîÜÉ,OLLTMð#FŒ€ÎÎNº°®®ÎÕÕV¯^ͬÁÉÉ 8À,LMM%Õ¦§§3Ëãââ€Åb577wÛYòD>hР––ºP,“Ë˼h=8]·²®º†B¨ÇHföïà×­[·yóæÉ“'3 g̘µµµ­­­=«600pÀ€Ì’E<~üxee¥P(lnnV §+¥J¥äŸÅÅÅ2™ HnÖ|,Í××Wmù‚ V¯^}òäɽ{÷À|dd¤†Fæåå©miCvv6ýÏââ⎎øé§Ÿ”f±‘YfyyyE1_™«"W tÕªÜÜ\2¨N¨v¶  @¡P¨ýJõ¢ézºnÿd!„žŸgŸà³³³?ù䓬¬,ê™.‹211Q*!y—FžDÀÓÓS)ÒÁÁÁÜÜ\í\ú®2èܹs£££kkk322‚ƒƒ ïܹÃb±4'xÒÕ¯È+ ZYYùœœ¬¶*¡PØÐÐ`gg§át¤’ššš¤¤$µ÷îÝcþSµ³ô—ê¼H333‘HÔãÓuû'C!ôü<ã/“É.\XRRbii9iÒ¤I“&¹ººr8œ’’’Å‹«Æ«ÞôøñÎÝÝ|¨¬¬Tzj³»\.wÊ”)çÎ;~üxpp0y|7n\¿~ý4·áÎ;|>_õ«‡2ÿIß:tˆ¼„VÂb±ÔN2Wª¤¼¼|üøñŸ}ö™Ú777Í5x{{“eeeJ¯*++™Ùý™œ!„Ðßæ'øŸþ¹¤¤~ùå—ÐÐPºœ~`¥‘Ϫ۪õìÔ¾¾¾ …¢¸¸X)Á÷liõ‚ Î;wòäÉo¾ù†$øùóçk>Äßß?--­¸¸Xõ+¥6øúúÊd2“I“&õ y˜ššúäÉ“×0hÐ “ŽŽŽëׯ+%øÌÌÌg~:„B›gœ={ö… ”ê!y%==}×®]‰D"‘\»vmâĉ=žfË—/€âââ9sæäääÈåòüüü¨¨¨k×®õ 6ccãÙ³g“¾ÀôéÓU·mQ2eÊò®ýƒ>HLLlhh …¿üò˻ᆱú2‚dÐ+W®,X°àîÝ»P__ÿÕW_Í›7oçÎd  ãŸ>}úúõëtU!!!C† €™3gþþûïb±X.—“}ôâããüñGÍ/ˆ½{÷š™™µµµ…„„|ôÑG?ýôÓÊ•+ÇŽÛÜܬùLN§Jm×B=-]×ÁweåÊ•E) æOž[XXAAA佨úÑ£GdÁ7ЕƒºuðJëÂ)Šúúë¯ÀÓÓ“YøÞ{ïÑg§—Ÿñx<ò†^u¼jµLÌ-f•Vöw¥¸¸˜¾000 [Ù°X,µ;Ù­_¿ž®ŸìµGøøø´µµ1#×­[Gkhh˜››KÊù|>ý ßÈÈÈÌÌŒ|f³ÙÔ²³¿þú«Òü;‹õÍ7ßՆ̋ö”§Sû'ëªk!„zFçuðš§@“oY,Ö•+W"##I’kkk377_¿~ý÷ßOgòÁÙÙ9--môèÑFFF …B&“999%%%EDD(‹|V=»Úòýû÷/[¶ŒÌß–J¥†††K–,III177ײZ¦Q£F‘ÙpNNN!!!"iÞÞÞ§OŸ&“ …\.÷òò:}ú4IðJ§Û²eË®]»‚ƒƒÉ³££cLLÌ­[·Hƒi111k×®íÓ§Èd2² \]]ÓÒÒ-ZäææÖÙÙ)‰ŒÇŒ“½páB-;ûÎ;ïÜ»woß¾}áááAAA‹/þ믿>üðCJåyú)O§¶¼«®!„z¬””gkkûlëU(÷ïß—ËåÌ\TI$’’’’>}ú899i^ö­½ŽŽŽ¸»»=M=nnnµµµÑÑÑJ/Å»õäÉ“ÚÚZ.—Kk&‹KKKÝÝÝ5Ïœ—ËåÍÍ͆††½{÷VýöþýûR©´ÿþdØà) …B‡CQTjjêÔ©SŸ÷é4w !„öRSSy<ÞóÚèÆÀÀ@iåwWŒÉûøgÈÄÄdРAO_Ï—_~Y[[kddD=mR;ajjÊœ–Ø6›­áVLíúûnÍŸ?ÿ?þ æô+øæ›o(Š266;vì3<]W4w !„®žW‚©uvvîÚµ+;;ûܹs0þ|—ݨçåÍ7ß}9¤)×øÑ&9¡,(r÷î—gFêââ¶]ñü ØÕýr¶¢õ¼Æ{Ï¿ûÆËïXs;ò½ï\ܸ!½yã­sgøùgw€õ! ”uÁ¦]Afõt~zTo„‘ºg•@Yw‘vÙtÕ?¶Ôɹee¸Í2ËËGÿÿYFŒ‹z*{GÀÛׇJ©úÚ{Íãå¿ßßçµë'p60F•:„C`Õø‹>2EôúêLnXN4™ eÁ±JJVO¹uª/ᇔj¯r¬7m‰mŒ¢ht®UúÑôÏB†þàNODö'ãŒ|¸[!?òy Ly±Æ>@ùäÜ“\jÂWLÇŠ6(áV ¢;YÝ]Ý:X·‚ÜVMÙ…%“ŠÇ'3&‰c±V½ 4í•Õd Îeˆ—€vÅL|ë94`&ÎÓé?ôMÑ‹6’µ+J3ôG°‹çŠ)VÖÕȺúƒµþW\å#»h0“hdz¬·³DÆ~§¡wÿ쵆8&dc5:×jDŽö¥ J°()nê9¶\¬—‚EyQ‰ÊaUŒDúCLIQ¾"ƈ ¨O;hxù±±OÀ¥z刬ˆ¸{ÒÖ–x<>q@$©åÃTXG'ZOkµúºò™ø—W«ŒÅÈPBåTŽ50‰€ÎùÓ³1+Pæ‡6Œ˜â¡hªÿœ‰Õó®´Yw•£‘—]#-RܽvÑ•r¢~ZÈi[ï*¼³ã‹¼gÎUÖNú²(«IÓ^5o¦”YÝðãüo;]…éÎÊ~¡(ÂãËÝ« òc/dLj›<¾üùûcTÈ*N"póÖ )î)d¨¿D€ü r9thKžôMÁµ~enÏYn8Ï/‡â‡wÿ«¯·Ã7v„ÞÏ_àhüÊ?üèýz:wEf–óüBBl)y~lÁhæ¹äÇÌÝ?]{»üxú™O§Ÿõà1% ˸ãù©mð¿}/Cyu%UÉä¨ânÿßÙpNr4ò–ARd;EvÜ?‚ä”1ØTtGå ôÐ`:L`˜†‚…ýØ‹h¿¤Ž¾j D ÀͶ?%ï‡#[ö⇬±Øo»¶SÆþD††ÂNìÈZ“ µ,ˆÓîõm\ 6±4zrÊSTR&ìµØ:7L±þ"/êOVË<„Èã°?l5Õ@Ÿ¬¿ÈðD=±& uèéø²¥rn'eèµÂn eýÛ{V+üØ»NÆ/C`¯ó²l¶Ï’7G­zÿËöÇŽ0?øÌêdŠÜ9ªóƒçÕ!* ù1T;«C~T‡t¨€äÇPí¬^ ùQÒ¡’Cµ³z1®ëÛ6?׈´Í<«÷l{ÀºTL?z¹ïÔKž©f4¨wñ£—ûN½äÙ R)ñü#… õ—äAò#‡mä9C€üÈ¡CùAäp]ßæ´dãý1g7*ßs®Ú‚ŸOw² |>ÝDϧ“[‚™§cÇ\Y{ q¨ãK ÇlšTûþõÏ—^zEÐáùgoúa!?üXuà™ÞK~X»Óhµ¼~é ë¦82?æùð~|Xùæ›ûÂ*Ñëo1ÆåÇ<äˆ{¯äÐרºJ3,?¦ý@¶¥…œ®bCì<,?âRgЀzµ"%o¤ù1mrà:v EÈø¡ Ð=;‡¦Ñ×2–#ðCjÐKW4ØEÊê¬y  “T<Ï{[Yax>Ý<'ªàDb‹³ªñc×f/¦žWÎC ÁA¶ 9ùXÜ*pXÁÖ’Ç-°ÖáÇ"9¬²šî:´²Xã¡uD Š™s(ÌÞ§ÚóÖ*)]yDR~Da—q_q|±&È J ,GŸU«›‡VÿàÁo‹0<ùä3¢ϵǠ³òCRDïËp*Á*§ÿðn©Íc{ágå¶É›=ÞÞ¼8Bj{³å‹§)q(ÕÔá‡4Û¿1¨s*!Þ¿–'ÚH>Õÿ¿_‡qÐuñ‘¾j3Äd§ÎjUO¾‹@5~h¿ƒb‚NÃ`J`Å0#ËM;”ÃÊâΑ:ÜøâýS?Vxâ_0’«’÷?ʲ'?Êpkq–’ÃRDɱ…"äG‹.Ë W¹JÐbÕK°4ùÒ÷0 ˆ³…2ü蛚=¶ ‚""[rXÍ䇫¦=í¥ŠRÄ’£8õš×·ÅIpb,EªC²âþQ¥5‘ #uø½þÚãŽ?]î~¬õ”«é}ªý=ý¿Q€;OK˜{Ýÿï^LøýQrÚqu¶‘ýìµ=Aq6b¨ã Ÿëìºßm(~ü}ø‘šÓ“×/söÝ[5ùáEjN?òcξ{«&?¼HÍéG~ÌÙwoÕ䇩9ý\×·m>w6~Èk›y6H¬ºT’.~ôrß©— „¸©¡Ä sE¶þ!hLûª­†òÊùa›­U ô’¢ÈùDƒ¹ygZσ€—è.º(ùA‰\c Le‚îxÕ 6‡²°œåDÀËmIÐþ Ob…&ðtfC·ÖXw}+í_lü¢r±Ô ‚¥Ô¢¿(u ˜'ÿr©˜Ô;ðî‡nÙNkó¬Fýcè­R'"øvA©ã¡ÝöµfˆàâGÐE !)Fœónj…OÜl˜°.„Œ >ü¬;¾øãÒs :à·„©Ö?D‡K“ä@ò#‡mÉë—›·^ :D€û9C€üÈ¡C[x|ùü³;…kûÇÅÅm(A Ü?HÒÂ"pmÿ°ÊD@ ?Hƒ—Ç>v'‡Ð¬¶ÿ¶óÝ%?øØY9pºî“ü{žÏÛ/IEND®B`‚traitsui-7.2.1/docs/source/traitsui_user_manual/images/RGBColorEditor_demo.png0000644000076500000240000005431614046644454030246 0ustar aayresstaff00000000000000‰PNG  IHDR–îf$N pHYs  šœ IDATxœìÝy@UÕÞÿñBNà”¢€Š7Q2”›h©9V×ʬ®õKS3ÓL»©p­ÊðÉ15s*-ÍñªˆZ ˜Š8`!2)Š‚pç÷ÇzÜÏ¹à€ ç¸åýúãÞ}Ö^g¯µ×±ú¸÷Úk222У½;€2·gÏžâ…‹Åö=Ð †â…íÛ·/Éw‰°åBPP½»pQQQ%¬I„-/ªV­jï.ÜRvvvÉ+;”]?€²@„€Îa 3DXè :C„€Îa 3:X6??¿bÅŠ7Ýe2™þçþçôéÓo¿ýv£FlÜ1%>>~ß¾}¯½öÚM_2ñÐøæ›oòóóüýýo_Ód2͘1ãäɓÇoÒ¤‰mºÊ4Â&''÷ÝwGŽ9räHjjj½zõZµjÕºuëAƒ999iÕ~ùå—ñãNjș3gV­Ze—®nß¾}„ "2`À£ñÏR1tèм¼¼±cÇÞ1®]»öý÷ß‘¤¤¤Í›7Û¤w y#×®]»Þx㬬,­$99999ù§Ÿ~ZµjÕ·ß~[¯^=UîàÀDˆÑM—ôôôiÓ¦‰ÈÀ½¼¼lÞ)ððxà"ìúõë d6›E$000  N:III[·n=~üx||üßÿþ÷Ý»w»»»‹Hhhèĉ“““ß|óM{wÿçù矟6mÚéÓ§‡ ¢ž?~òäÉ"Ò®];",¸\„4i’Ùlvpp˜:uꀴò>úèÃ?\²dÉÅ‹׬YóÎ;Ñh|ûí·í×YÜœÑh>|¸½{ZÖøììì“'OŠˆ¿¿¿u~‘Š+þûßÿ®^½ºˆÜÕ´W“ÉŸššZ¤>þ¯¿þ*ÉA®^½zôèÑS§N”¼i1›ÍþùgLLÌÙ³gM&Ó]}÷g6›ãââNŸ>m±XJñ˜ÉÉÉû÷ï?}úôC6\ =XöÒ¥Kj£iÓ¦Å÷:99­X±âÛo¿;v¬*ÉËË«U«–»»û¼yó´j£GvwwïÚµëÅ‹_}õÕ&MštìØ±yóæmÛ¶Ý»w¯ˆ$''¿öÚkõêÕëØ±£ŸŸ_óæÍÕ nMff¦»»»»»ûŽ;zöìÙ AƒÀÀÀ¶mÛ6iÒä_ÿúW~~þÏÅd2Mž<ÙÇǧU«VÏ>ûlëÖ­½¼¼Æ_ü»W®\ùõ×_Õ܉2k4FãŠ+¬Ë·oß®ÊçÎk]£ÊW¯^m]~ìØ±°°°5j´lÙ²Q£F<òȤI“¬gnnn… ŒFãÌ™3EdñâÅF£ÑÏÏOííÞ½»:ìÊ•+µ¯˜L¦ñãÇ×®]»~ýú5rss9rdI†”7V„­[·®Z?kÆ gÏž-^á‰'ž {æ™gÔÇÂÂB“Éd6›­/Ž˜Íæk×®½þúë6l¸råŠ*?uêTïÞ½wïÞÝ­[·õëתòÔÔÔ)S¦„‡‡kG0ß­]hÌÉÉ™9sæ‡~xÇs9rä”)S233µ’Ë—/Ïž={èСÖÕΟ?ß¼yóçž{®[·n%¡ûÒ¢E ³Ùe]¾iÓ&u¾7n´.ŠŠ2›Í………O?ý´V˜’’ºqãÆË—/«’œœœqãÆ½õÖ[Z"¿‹Ú¶>²jÎ:õëׯ߰aÃ[o½åìì,"sæÌ)~ç:"""77wÀ€ßÿýÎ;'L˜P¿~}Y²dÉ‚ nÓú´iÓ–.]*":tXºtéáÇ—-[¦‚àêÕ«?ûì3­æ¶mÛ®^½*"HII¹·“-!£Ñ¨Òñ«6¶oßný—UÍÏϯV­ZZáÂ… SRR&L˜°{÷¤yóæU«VMD-ZtðàÁ›¶Û¿ÿÄÄĵkת³fÍJLLLLLìÑ£‡* Ÿ?¾ˆ¯[·N­>Ñ©S'Y¶lÙ'Ÿ|R:çÜã\‡JMM½zõêôéÓ§OŸîééìââRòC½ùæ›ÿþ÷¿ÕvçÎÛ´isæÌ‹ÅÒ£GÙ³g«×\ºtiåÊ•yyyÇŽkÞ¼y‘ƒüóŸÿÔ.Ð6oÞ<88øÙgŸ½víÚ¸qã^yå•›.›––¦Ú}úé§¿ÿþûJ•*‰Hݺu;tèУG˜˜˜éÓ§6L•wîÜÙÅÅ%''§mÛ¶uêÔ¹ëñºK!!!kÖ¬9zôhzzú£>*")))qqqƒ¡R¥JW®\Ù»woPPˆX,–èèh µ>‚ƒƒÃòåË{õê¥>6jÔÈÕÕµ_¿~‹eÇŽ7]2¶J•*7¾víšúèááѸqcmojjê¸qãD¤S§N6lPëþzzzª_|ÿþýcÆŒ±^”sÖUX©W¯^ttô‹/¾¨E–sçÎ-]ºôõ×_÷õõ3fÌÅ‹Kx¨Áƒkۃᥗ^RÛ/½ô’õk´´;øêI2k?þø§Ÿ~j]Ò¬Y³Ñ£G‹Èõë×Oœ8qÓv:¤&|üñÇ*§*•+W~ï½÷DÄd2%$$¨ÂZµjÅÇÇoÚ´iýúõ%<¯û¡åÑ]»v© õêÿ.]ºhE$>>^-Í[$ÂúúújùUéÓ§:Í[ Èí|øž>n„µæççççç÷ÒK/………åääìÚµëÒ¥Kê)"ÛÓ&!Üj=TUîàà -#UœõR6:}úô¸¸¸¬¬¬ÄÄĬ¬,77·6mÚ¨>|xË–- P3 ŠÌ"( ÚpµnÝúVul0Kèȃa¯^½š››k0jÖ¬Y|¯Ï«¯¾:kÖ,ILLÔnè—£G/ÔIhÑ¢ÅM¿åçç·mÛ6£ÑøóÏ??€!:;;çææFGG«9¡¡¡êÊtXXØáÇ7mÚäï–&"!!!eÝŸ'žxâ—_~1QQQju€Û{°æÂ†‡‡7kÖ¬iÓ¦qqq7­ ­EZ¹reôçÀÅWÚÒn|_¾@Q_óóóÿý÷2íÞ½qrrêØ±£ˆDEE©‰°êA.¹q+ëÖ­;vì//¯† –zм­@]|ÍÏÏß·o_©·JV„}á…ÔFxxx^^^‘½gÏžUí;995jÔÈýIJJ*²"ÁñãÇÕ«¼œœœ¼¼¼nú-mþÀǬ=¿¥¬\¹²]»víÚµÛ¾}»V˜°`ÁëUýËšº¶ºnݺýû÷;88h—ZÛµkW½zõôôô/¿üRJ{zi…ˆ¨w¤i´ù#FŒÐžßR–,Yâííííí­­“ Z„õ÷÷WÙtÛ¶mAAAëÖ­;}út~~þ±cÇ,XбcGµ¢Ö€lvÇyΜ9ï¿ÿþöíÛæÎûÒK/©T:qâÄ›. +"uëÖ6l˜ˆÄÅÅõë×oýúõiii¿ÿþû´iÓ† ’˜˜XPPСCUùøñãAAA£F Ñ^VÖT6=uê”ÙlЦm8::>ûì³"’˜˜(¥=‹ ^½zjñòåËçÌ™süøñÜÜ\ñôô3fŒˆÄÆÆ†……ýðé©©ûöí 8pà±cÇ Ô /”k.¬ˆ,[¶ìµ×^;~üxRRÒ AƒŠWxõÕW‹\-;={öüé§Ÿ/^¼xñbëò 8ð6_;vlrrò?üðÛo¿ýöÛoÖ»ªV­:uêTí1m²ArrrZZšmójÚ´iƒ Μ9#V³”°°°+VˆH¥J•Ô|ƒÒR¹råM›6¥¦¦¾óÎ;"²lÙ2µXoxxø™3g–/_­Þ§ ©V­Zddd‘U@9÷`]…‘&Mšlݺõå—_®Zµªu¹Á`hÔ¨ÑôéÓ§NªÝ’vppPöµšjۺĺ\Š-ª¥},¾ØV``àŠ+|}}µ’*Uª¼óÎ;ÖoˆU‡Õz¢õvæÌ™ï¾û®õ² ÕªUëÞ½ûž={Ô믔nݺy{{ †—_~Ù–ËhWX‹,eªN$00°È„ã[ lñ]7ý]DdÁ‚Æ «^½ºú¨˜Á`X¸pá| í‘êÕ«÷éÓ'!!A½@cÈÈȰwn)999>>>33³iÓ¦¾¾¾UªT±M»iiijEØéÓ§0@D233SRRœœœêׯ¯è’0™Lýõ×¥K—ÜÝÝo“PsrrîêݹwE…æ"%°#“É”““SXXX£Fâ»Î;—••U»vmÒ \ÉÎÎŽŠŠjß¾}I*?p ¬Õ«W¯^½zöî…ˆHÍš5oºÎׯúõëyOXqe—_@F£ñVkúƆ –Å2àaòÀM$n y 'Ø‹‹‹Ë[o½%"ÖràA„½‰Ê•+GDDØ»¸9&@gˆ°Ð&”ÙÙÙöî@é – QQQEJ,‹]z X¿Ùô®¿û ¿ (޹°Ð",t† !Â@gˆ°Ð",t† !Â@gˆ°Ð",t† !Â@gˆ°Ð",t† !Â@gˆ°Ð",t† !Â@gˆ°Ð",tÆX’JqqqeÝXkÑ¢EiŠßèH S!##㎕jÖ¬yßýÁ]ÈÌÌ,­CñÛ)a b"t¦DWa€Wa 3DXè :C„€Îa 3DXè :C„€Îa 3DXè :C„€Îa 3DXè :C„€Îa 3DXè :C„€Îa 3DXè :C„€Îíݰ777;µüµ=ôòŠ·}«'Nô•¯WÙ¾]‰lqŽŒôlqŽì+?Ùcœ‰Ì·Ç8ŠôúÌãüa_¯‡íÐnß^+í0Î'úFz­´Ç8÷í›1gΫaÀö2mÛ\‚ú¿'lÛ¬ÜUö9]‘LÛ6œpcœm}¾7ÆùœmÛÝycãœmOxçqεi³²óÇù„Øö¤?ï ÿƒ´êÆ8Û´U‘U%ýË  3DXè :C„€Îa 3DXè :C„€Îa 3DXè :C„€Îa 3DXè :C„€Îa 3DXè :C„€Îa 3DXè :C„€Îa 3DXè :C„€Îa 3DXè :C„€Îa 3DXè :C„€ÎíÝ(‡ìÔî*û4k¯ÓM°Sà vçöiVvÚiœwÚiœíÔ¬¬²Ó8¯²× ß!##ÃÞ};pss³S˾vj×Ç>ÍúÚë¿ålœeœm‚q¶‰Œ9sîX‡«°Ê©¯íÑh¤È`lv#{­´C»'ú¶ÃéJd¤ ¶GÑ‘‘cÇÚaœÃÃûžoûf%r žoq9ök{Œó¾ƒWzÙ¾ÝȾ'Æ®kûvÃû†]iqîÛ·$Õˆ°Ê¯LÛ6§ÝÌ´mË 7ZÎ}zÈ!Záùóç'Ož,"íÚµ#€ûaë»mÛ¶W^y%??_DÜÝÝ{õêåééyîܹ˜˜˜ß~û-??èС‡þì³Ïʺ'©©©_}õ•ˆ´iÓ†[ºŒFãðáÃíÝ ðвi„½|ùò{ï½§òë /¼ðõ×_[ςݰaÃ!C._¾<þü®]»Ú²o¸[f³ùèÑ£... 40 ¥uÌ¿þú+55õÑGõôô4í?W<€lº¨Ö—_~yáÂñööþꫯŠ<ÅÕµk×ï¿ÿ^m/X°à>Û*((HHH8~üxnnî=¤°°ðüùó±±±IIIyyy%ùJZZZ||¼ŠéÖRRRŽ9R¼Ü–bccF£Ñh\±b…uùöíÛUùܹs­ËcbbTùêÕ«­Ë;V£F–-[6jÔè‘G™4i’ÉdÒ*äææV¨PÁh4Μ9SD/^l4ýüüÔÞîÝ»«Ã®\¹RûŠÉd?~|íÚµëׯШQ#77·‘#GÚwÄÀƒÉ¦víÚµ"R¹rå… :;;¯Ð¶mÛ¿ÿýï"²qãÆóçÏ‹Hll¬»»»»»ûÞ½{‹TŽ‹‹S»víÚe]¾k×®gŸ}¶~ýúAAAíÛ·÷ôôìÝ»÷´ ßÿ½»»{PPúøüCGuO1™LŸþyóæÍ[´hѹs瀀€† 4èÔ©SÖmeffªïîØ±ãûï¿ïСƒOÇŽëÕ«7zôèÜÜ\‹Å²téR__ß–-[7hÐ 44ôäÉ“EÎåÊ•+¿þú«Ùl¾Ë½;-Z´pqq1›ÍQQQÖå›6m2›Íf³yãÆÖåQQQf³¹°°ðé§ŸÖ SRRBCC7nÜxùòeU’““3nܸ·ÞzK«SXXh2™ÌfsAAˆ¨më#«æ¬SïàÁƒ'Nœ˜žž®•dggO:õõ×_/…3ÛEØøøøäädyê©§7n|«j³gÏÞ¶mÛæÍ›kÔ¨!7²N‘¸£¨`Td×ܹsûô铟Ÿ¯ÝÝÞ¹sg÷îݵ¤{«De]8räÈÏ?ÿ<--M+)((X·n]¯^½RSS‹ñ?ÿùÏ{ï½÷ÇhMÌ›7oøðá_}õÕ°aÃÔµgÉÏÏ?xð`=ÔP(çÏŸoÞ¼ùsÏ=×­[·;â}1Ï<󌈰jcûöí*t*ªšŸŸ_­Zµ´Â… ¦¤¤L˜0a÷îÝIIIóæÍ«V­šˆ,Z´èàÁƒ7m·ÿþ‰‰‰ÚßfÍš•˜˜˜˜˜Ø£GU>þ| ^·n]rròO?ýÔ©S'Y¶lÙ'Ÿ|R:ç¶›k˜˜˜¨6¼½½oS­fÍš5kÖ¼·&rss'Mšd6›üñiÓ¦µiÓ&55uË–-}ôQ~~þG}´{÷nyá…Ú·oìØ±ˆÈ矮ҒÔ&Ož¼téRiÙ²å+¯¼Ò®]»Ó§OÿòË/ß}÷ݹsçúõë·~ýzWWWë¦###ëׯÿÑG5kÖlÛ¶móçÏOIIY½zµÁ`¨Y³æ§Ÿ~ú·¿ýmÿþýK–,‰‰‰IMM]½zõˆ#Ôw·mÛvõêU9pà@JJJ:uîíôK"$$dÍš5GMOOôÑGE$%%%..Î`0TªTéÊ•+{÷îU×§-Ktt´ˆ„††ZÁÁÁaùòå½zõR5jäêêÚ¯_?‹Å²cÇŽ›.[¥J•Æ_»vM}ôðð°þ;Ljjê¸qãD¤S§N6lprrOOÏààààààýû÷GDDŒ3F•¥+ÁníÚ§åYeŸví4Ð vj8!ÁNã¼Ó.ÍJÂN;óN;³}š•„UvçUv:á;±]„Õî—Ýʯ»wïV3_#""Ú·o/"õêÕ{ã7L&“ºÐ˜““ãââR¹rå† j‰ªN: 6ÔráÂ…)S¦ˆˆ‡‡ÇªU«TžnÚ´ihh¨ÑhüöÛo-Zd½\”ˆT¯^}õêÕê8¾¾¾µk×~çwDÄÑÑñ‡~ðõõU lݺµˆÄÆÆjßíܹ³‹‹KNNNÛ¶mË4¿ŠUݵk—Š¡êÕþþþ?þøãæÍ›U„ÏÊÊ’bÖ××W˯JŸ>}^yå•ëׯŸ8qâºtðàA‹Å""Ö9µJ•*£G~á…L&Ó‘#GÚ¶m{n#ÒníÚ§åÈ}íÓ®:ÒN ‡‡ÛiœÙ¥Y‰d§qb§qî{/ÿ¥»á}ÃíÔ®}ƹ$la333ÕFÙ½qTK¥{÷îUsj•Áƒ<¸„9tèÚ˜2eJ‘ëÁ“'OÞ²eKjjªVGÓ¹sgëܽ{÷Q£Fåää´jÕJåW¥~ýú¾¾¾ IIIZa­Zµâãã;öÄO”°“÷ÌÓÓÓÇÇçèÑ£QQQÖ6,,LEØM›6EDDÈY®®®O=õ”õŠÓ`0xzzž+UªT­ZµœœœfÍš©éííPXXh]èâârÇ·¶––aE¤°°pëÖ­"Ò¥K9tèÐ… ÜÝÝU…ààà *XÝÝݽø1ïç.¿aÃÂÂnUçðáÃ÷||à6ÎÙ¶¹ÿ×n¦mÛýßû¹¶½~´óƼ…s6=]ÑnkŸË´í8ߘ·iãq¾qcûœmÿ@ïÜ)7Úµí8ßøïéÎßý´û¿ãœ+6mX›.‘iëvoŒ³-[ÙYây ¶{œKͼ‘£G–QuêÔ™9sæc=&" £G~ê©§š5k6a„Ìÿ‹LÅÓZµj©§”ŠP‘ôìÙ³—.]²./²@˜¦´L-Ejb@\\\VVÖ²²²ÜÜÜÚ´iS·n]???‹Å¢.…ª§ßŠÌ"( jƒƒC›[+ëù@_lw¶víÚj£ì"¬ˆôèÑ#$$dþüù«W¯>zôhaaaffæŒ3æÏŸ?qâÄW^yåŽGP‰êV´Hzûj²ÀÀ@ggçÜÜÜèèh•×CCCD$,,ìðáÛ6mò÷÷W«1„„„”užxâ‰_~ùÅh4FEEÝt©5€"lwöÉ'ŸTåÀ·Y¯>..nñâÅ‹/.rÝ´øWnuaÕÙÙùÝwßݹsgbbâÒ¥KդثW¯(AD IDAT~øá‡çJp—åoû›ˆ¤¦¦fggß«–ͪ_¿~õêÕïx¨“““SÇŽE$**JM„íÒ¥‹Ú¥nåoݺuÇŽ"âååe=Á·´ù)Õómùùùûöí+õ¶ÀCÉvÖÉÉ)88XDΞ=;~üø›Ö1™Lo½õÖûï¿ÿé§Ÿª[óU«VU»Ô›¬ÅÄÄܾŪU«†††®X±âý÷ß‘‚‚‚›~¥H¢jÕª•Ú(¾Êi~~~\\œuR×V×­[·ÿ~íRk»víªW¯žžžþå—_JiÏ"¨X±¢Ú(ò– aEdĈÚó[Ê’%K¼½½½½½UÔPlúv®áÇ«ÖóæÍûñÇ‹ì5™L'NTËǾòÊ+..."òøãW®\YD~þùgëÊ.\(ò–Tùä“O:wîܽ{÷"IH»”h½Â€–¨¬_Ü%VñtäÈ‘jU)ÍG}¤ÞkPê6!!aÁ‚Öï¦*S*›ž:uÊl6hÃâèèøì³ÏÊE|KwA½zõÔ4ŒåË—Ï™3G{÷¯§§ç˜1cD$666,,ì‡~HMMÝ·o_xxøÀ;VPP þò Ø4¶jÕêÍ7ßTÛï¾ûî¸qãþøãÜÜÜÓ§OÿüóÏ]ºt™5k–ˆ899ýóŸÿüßþ98¨E©¶oßþÁÄÇÇŸ8qbùòå={ö<{öl‘ãûúúÆÆÆîÙ³gÀ€üñGaaáµk×Ö¯_?aÂyôÑG­×‡òððP‰jÍš5 .‘¹s窥RÇŒ“ššºlÙ²C‡Y?ËÃÃcÅŠE^ÍuŸ~ÿýwµ‘œœœ––fý6ײ2wî\)¶”Uhh¨Á`°X,êú·ÆÑÑQûß"ŠìrppP)RyÁ‚ŸþùâÅ‹/^¼(VÏÆ †… zxxÌ›7Oí‘êÕ«?óÌ3_~ù%Ë€"lzVD§NÙ¼yó"»jÖ¬ùücûöíÖï‘Ö­[/^¼¸U«VFãÿnWW×ñãÇ;V;¦Ú¨X±â† >üðúuëŠH~~¾Åbyä‘G:vì¸mÛ¶ž={iqÆŒƒÖϲ^kêÔ©#GŽtssÓJŒFãsÏ=·fÍ눩5]<Ø©ëÐl]n]¿[·nÞÞÞƒáå—_¶M~‘ÈÈH‹Åb±X´©¨Êc=VXX¨-­e-''Çb±|úé§ÅvèÐ!‹Å²lÙ2õÑÙÙYdèСÖÕj×®=}úô´´´‹/fffª+¯J¥J•>ÿüó´´´S§NüÚ·ooï.”&æÂ@gˆ°Ð",t† !Â@gˆ°Ð",t† !Â@gˆ°Ð",t† !Â@gˆ°Ð",t† !Â@gˆ°Ð£½;v³Óní&Ø©ÝUöi×>§+;ì4Î vçviVvÚéÞ¹ÓNãlŸfeç*;ó*;ð222ìݰƒÞnnvjÙ×NíúاY_{ý÷¯œó£Œ³M0Î6±zΜ;Öá*,€rj‡——íí{âÄJ¯Áöh7r¥×J{´Ûwå`{Œs䉕cÇÚ¡Ýðð•cí1Îá}W~fqþðÄʯí1ÎCÂW~gq~©ïÊ•öç¾'V®´Ç8÷ _¹ÒãÜ·oIªa”c'Nزµÿ»zs"Ó¶íÞ¸ÿhÓÓ•UÚgÚvœµÛ­6þ}ì4ÎÚ¼…\ÛžïÎ[6þ}wÚiœÿomÏ×ê_¶m×>óV•xÞs@gˆ°Ð",t† !Â@gˆ°Ð",t† !Â@gˆ°Ð",t† !Â@gˆ°Ð",t† !Â@gˆ°Ð",t† !Â@gˆ°Ð",t† !Â@gˆ°Ð",t† !Â@gˆ°Ð",t† !Â@gˆ°Ð",t† 1Ú»`7«ìÖn‚ڵϯ²Ïéʪ;s‚Æy§]š•U;í4Î;í4ÎvúÇ*;ýƒ´Ê^'|'†ŒŒ {÷ìàm77;µìk§v}ìÓ¬¯½þûWÎÆùQÆÙ&g›˜3gÎëa 3Ì…€Îa 3DXè :C„€Îa 3DXè :C„€Îa 3DXè :C„€Îa 3DXè :C„€Îa 3DXè :C„€ÎKR)..®¬ûk-Z´(­CñÛ)a 2dddܱRÍš5ï»?¸ ™™™¥u(~; #%LAL$€Î”è*,ðàà*,t† !Â@gˆ°Ð",t† !Â@gˆ°Ð",t† !Â@gˆ°Ð",t† !Â@gˆ°Ð",t† !Â@gˆ°Ð",t† !Â@gˆ°Ð",tÆhï ÌíÙ³§x¡Åb±}O4ƒ¡xaûöíKò]"l¹dï.ÜATTT kaË‹ªU«Ú» ·”]òÊÌ…€Îa 3DXè :C„€Îa 3DXè 뢤¾ùæ›üüü€€ÿÛ×4™L3fÌ8yòäðáÛ4ib›î€ò£¼DØQ£Fåå啤fŸ>}:tèPÖýÑ£¡C‡æåå;öŽvíÚµï¿ÿ¾ˆ$%%mÞ¼Ù&½åHy‰°Ë—/ÏÍÍ-IM__ß²ˆ°?üðCBBBݺu_ýõR?øƒÆÁá&TÒÓÓ§M›&"ôòò²y§Àã¼DØ   k×®ióóóûí7©S§NãÆ­kÖ«W¯,:°nݺ 6´hÑ¢}zxÆáÇۻà¡U^"ì½¹råʹsç =<<ªU«fïîêééi4òçÜ‹jÝÜï¿ÿÞ«W¯† vìØ±qãÆaaa¿þú«V!##£iÓ¦ 4ð÷÷¿|ù²õwwïÞÝ Aƒ Œ1BDZ·níîî¾aÉ‹‹swwwwwúé§µúW®\ùõ×_ÍfsYŸTll¬Ñh4+V¬°.ß¾}»*Ÿ;w®uyLLŒ*_½zµuù±cÇÂÂÂjԨѲeËF=òÈ#“&M2™LZ…ÜÜÜ *Æ™3gŠÈâÅ‹F£ŸŸŸÚÛ½{wuØ•+Wj_1™Lãǯ]»výúõ5jäææ6räÈüüüR wDØ›øã?úôée]¸ÿþþýûÇÅÅ©nnnÆ ËÉÉ9sæÌ„ ´jׯ_1bDNNNÅŠG-"ÖñÔl6›Íf-™?¾yóæÏ=÷\·nÝÊú¼Z´háââb6›‹œÚ¦M›T¯6nÜh]e6› ­wJJJhhèÆµàž““3nܸ·ÞzK«SXXh2™ÌfsAAˆ¨më#«æ¬SïàÁƒ'Nœ˜žž®•dggO:µúè#1 3gÎ ¼|ùòðá㢢N:5cÆ éÝ»÷óÏ?¯¾[·n]quuggç† Z7×¹sg—œœœ¶mÛÖ©S§¬Ï.$$dÍš5GMOOôÑGE$%%%..Î`0TªTéÊ•+{÷î ‹Å-"¡¡¡ÖGpppX¾|y¯^½ÔÇF¹ººöë×Ïb±ìرã¦KÆV©R¥qãÆÚŠÖ«@¤¦¦Ž7ND:uê´aÃ'''ñôô Þ¿DDĘ1cT9€p¶¸ØØX Ôò«Ò½{w9räˆVèáᡊJLLœ:uêˆ# êÔ©óÙgŸ•°¹ZµjÅÇÇoÚ´iýúõ¥v·¦åÑ]»v© õêÿ.]ºhE$>>>++KŠEX___-¿*}úô©T©’ˆœ8qâºtðàA‹Å""Ö9µJ•*j&†Éd²s®Âþ—üüü?þøCDªV­ºcÇŽ"{yä9|ø°uaß¾}7nÜøóÏ?O:UD ÃŒ3ªV­ZòF]\\îø¾«ÒâéééããsôèѨ¨(•DUf óððøñÇ7mÚ!7f¸ºº>õÔSÖG(rLƒÁàééyòäÉ+W®ÜC—´é/^ܲe‹õ®œœµÓ¶mÛ{88x(aÿËÑ£GÕƒV?þøã?þxÓ:éééÚ]xeÊ”)¿ýö›zéÕW_íØ±£M:{BBBT„‘­[·ŠH—.]<<=...+++111++ËÍÍ­M›6~~~‡Þ²eË€ÔLƒ"³Ê‚L‡Ö­[ßªŽ f !Âþ___£Ñh2™^|ñE5³$Æ÷矪íU«V=÷Üs·¹ hwÎÎι¹¹ÑÑч‘ÐÐP ;|øð¦M›üýýÓÒÒD$$$¤¬ûóÄOüòË/F£1**ÊÙÙ¹¬›çú/•*UjÚ´©ˆìÝ»·„_Ù¶mÛ·ß~+"ãÆóòò‘#FdffÞ´²õ’Uöâä䤦:DEE©‰°êA.¹q+ëÖ­j°——W‘õJE‘·¨‹¯ùùùûöí+õ¶ÀC‰[T«V­Dä×_]µj•uùåË—{÷îÝ®]»—^zI+¼xñâ{ï½'"-[¶|÷Ýw§M›f0222FŽYä°+V‘ÄÄÄK—.Ù•°`ÁëUýËšº¶ºnݺýû÷;88h—ZÛµkW½zõôôô/¿üRJ{)ö×mþ€z%„õ®%K–x{{{{{kë$¶¸‘#G>öØc‹eèС_~ùe||ü_ýõóÏ?÷íÛwçΉ‰‰Ö¯Ñ5jÔ… §OŸîèèøä“O¾üòË"òóÏ?¯Y³Æú°êa)³ÙüÁüúë¯Ú[ Ž?4jÔ¨m&nYSÙôÔ©Sf³9  fÍšªÜÑÑQ-%–˜˜(¥=‹ ^½zƒAD–/_>gΜãÇçææŠˆ§§ç˜1cD$666,,ì‡~HMMÝ·o_xxøÀ;VPP\Š=zG„-ÊÓÓsùòå•+W.((˜4iRÇŽýüü¨œïÒ¥KÿþýUMmÕ‚7ß|ÓÏÏO~òÉ'nnn"òá‡^¸pA;l×®]U€ûñÇŸ{î9íÅT¿ÿþ»ÚHNNVÓOm iÓ¦ 4PÛÚ,E›Å[©R¥Ò]Z¡råÊ*§¦¦¾óÎ;Íš5ÓÖ|ñÅE$::ºW¯^µk×~òÉ'?þøc³Ù\­ZµÈÈÈ"«"€r®œFXƒÁ ¥££cñ½~~~+V¬xòÉ'µGGÇ&MšÌš5kÉ’%êɧ+W®Œ5JD<<<ÔED¥zõê“&M‘K—.Y—ûûû/X°@;¦j]Dºuëæíím0^~ùeë÷¸–5í k‘'ÏBCCUß+W®l½KÕMG¬È.‡›ï‚ † V½zuõQƒÁ°páÂ>ø@Û%"Õ«WïÓ§OBB‚z).€Æ‘‘aï><¸.]º¤^6Û¨Q#m*§&//OD‹_#T»Šëêիׯ_wqq±Þ•““ãââRú' ""{öì º«·-”)“É”““SXXX£Fâ»Î;—••U»vmÒ \ÉÎÎŽŠŠjß¾}I*³¨ÖíT«V­Zµj·Ú{›õüo³«J•*UªT)RXvùõd4o5ªF£±aÆe± x˜”Ó‰Ð/",t† !Â@gˆ°Ð",t†EµÊ‹ììl{w taË…¨¨¨"%‹Å.=P´÷tÞËwy;ô…¹°Ð",t† !Â@gˆ°Ð",t† !Â@gˆ°Ð",t† !Â@gˆ°Ð",t† !Â@gˆ°Ð",t† !Â@gˆ°Ð",tÆX’JqqqeÝXkÑ¢EiŠßèH S!##㎕jÖ¬yßýÁ]ÈÌÌ,­CñÛ)a b"t¦DWa€Wa 3DXè :C„€Îa 3DXè :C„€Îa 3DXè :C„€Îa 3DXè :C„€Îa 3DXè :C„€Îa 3DXè :C„€Îa 3F{wenÏž=Å -‹í{ 1 Å Û·o_’ïaË…   {wࢢ¢JX“[^T­ZÕÞ]¸¥ììì’Wf.,t† !Â@gˆ°Ð",t† !Â@gžuaÍfóâÅ‹-ËSO=åíí}ûÊׯ_¯T©R)¶¾dÉ’üüüÖ­[·jÕªû@ùæ›oòóóüýýo_Ód2͘1ãäɓÇoÒ¤‰mºÊ»ˆ°_|ñŹsçŠV¬XÑÏϯuëÖÍš5sp°ç5ݼ¼¼Q£F‰È¤I“naO:5þü]»v;wîêÕ«•+Wöððxê©§Þxã¦M›Þgë£G¾~ýúˆ#â;tèм¼¼±cÇÞ1®]»öý÷ß‘¤¤¤Í›7Û¤w ¹‹»~ýú„„„[íõôô\½zõã?^½*e………&L˜5k–ÅbÑ ¯^½züøñãÇ/\¸ðµ×^›=dÈ­ðüùó“'O‘víÚaÀý¸ëëããóý÷ß[—\¹rå_ÿú×âÅ‹322>ùä“5kÖ”^÷JÁÒ¥KU~upp˜7oÞóÏ?¯í5jÔöíÛÿñäççoß¾}Μ9ï¾û®ýzúð0Ç·w/ÀC«f¯ºººN™2% @DöïߟŸŸ_¤‚ÙlþóÏ?cbbΞ=k2™ns(‹Å’šš›––vÇv/\¸›’’r›:W®\ùä“OÔö¸qã¬ó«¬. ŠÈäÉ“ÓÓÓos´¤¤¤ãÇܱoåÙlŽ‹‹;}ú´õôŒû?frròþýûOŸ>}û?* <+° Chh¨ˆäææÆÆÆjå&“iòäÉ>>>­ZµzöÙg[·níåå5~üøâ17;;{âĉMš4iÞ¼yçÎ}|||||^ýõ¬¬¬âÍ­_¿¾]»v¾¾¾;wnÙ²¥··÷‚ ‹×ܺuëåË—E¤gÏžÖ7µ­½òÊ+¯¼òŠˆäåå­_¿^+=z´»»{×®]¯^½úöÛoûøø´oßÞÓÓsРA·Aƒ¹»»{xxdggßÛºukww÷­äÈ‘#ýõ×mX*bccF£Ñh\±b…uùöíÛUùܹs­ËcbbTùêÕ«­Ë;V£F–-[6jÔè‘G™4i’uâÌÍÍ­P¡‚Ñhœ9s¦ˆ,^¼Øh4úùù©½Ý»wW‡]¹r¥ö“É4~üøÚµkׯ_?  Q£Fnnn#GŽ,þG ÔÖ¨P¡‚ÚÈÍÍÕ GŽ9eÊ”ÌÌL­äòå˳gÏ:t¨õw ßx㯾úêÒ¥KZaZZÚO?ýÔ¥K—"Ë ìܹsРA‰‰‰ZIzzú¨Q£ÂÃË÷êçŸV¯¿þúm:¯íµŽ°f³ùÚµkƒ Zµj•vaØd2­[·.44ô6éªk×®f³9//oãÆEvýþûïgÏž5›Í]»vU%ãÆ ~â‰'¶mÛv›NÞ¿-Z¸¸¸˜Í樨(ëòM›6™Íf³Ù\¤·QQQf³¹°°ðé§ŸÖ SRRBCC7nܨþn "999ãÆ{ë­·´:………&“Él6«+ÖjÛúȪ9ëÔ;xðà‰'Z_ÏÎΞ:uêí8P>•Z„ýõ×_ÕFÆ ÕÆ´iÓ–.]*":tXºtéáÇ—-[¦ÂÐêÕ«?ûì3í»_|ñÅŽ;DäÙgŸ]±bEllìÂ… »wï."III‘‘‘ZÍ3gμùæ›f³ÙÁÁáŸÿüçš5k6oÞû쳋/ŠÈèÑ£GŒ¡ [·nݾ}û=zŸ=©.Ö«Wï‘G¹Í)T¨P¡I“& ‹Å`0Xï}á…æÎ« ===½½½Û´i“ŸŸ¿gÏžÿo{HhIDAT÷ÿþßMèääÔ£G%K–DEEeggW­ZUÛ¥. wèСN:ª¤gÏž³gÏvttìÖ­ÛÆú¾…„„¬Y³æèÑ£ééé>ú¨ˆ¤¤¤ÄÅÅ †J•*]¹reïÞ½AAA"b±X¢££EDMÑ888,_¾¼W¯^êc£F\]]ûõëg±XvìØqÓ%c«T©Ò¸qãk×®©7Öö¦¦¦Ž7ND:uê´aÃí@pppppðþýû#""ÆŒ£Êä®Â&%%}xèQ£Þ|óÍvíÚ©w 888|üñǪڡC‡ÔS>ü±õ{°*W®üÞ{ÉdÒV™ùÎ;ïéªÙlV3J²„“z»Éd*>{uÈ!Ö¡¶nݺjY±Ó§Oßæ€ýúõ‘üü|ë»ó111j^„Ú«L˜0!:::66V]"-SZݵk—ÚP¯ð÷÷ïÒ¥‹öQDâããÕDä"Ö××W˯JŸ>}ÔO|âĉ{èÒÁƒÕ•ˆˆë?UªT=z´ˆ˜L&õ»(w}633SÝó-¢Aƒ“'OV7EäСCjãÒ¥Kj’€æêÕ«jãÈ‘#O<ñ„õ®ÜÜÜÓ§O_¾|9;;;;;ûÌ™3"RXXXXXèàà——wòäIiÓ¦M‘ ¥"Ò®]»3fX—8:::99ååå•d}­NåÊ•­ËœœŠ¿ë«nݺ"’““s›Ô¯_ÿìÙ³ëÖ­ëß¿¿*T³ªT©Rä‚ë߈[Z<==}||Ž=¥’¨Ê¬aaa?þøã¦M›"""äÆ,WW×§žzÊújé kƒÁÓÓóäÉ“W®\¹‡.iÓ.^¼¸eËë]ÚÇÄÄ´mÛöJwa+W®lýÕ}ûö™ÍæÊ•+GEEU©RE+×Ö%ÐÒ[qñññjÃb±¬]»vÖ¬Yñññ·YJé?þPOÝ4ðùøø/|ì±Ç’““;f2™nÿò-uI¸ZµjjR¬¦zõêÅ¿h}]ùV C¿~ý>ÿüsë¹jÁsÏ=W$(ÛRHHˆŠ°"RXX¸uëVéÒ¥‹‡‡‡ˆ:tèÂ… îîîªBpp°ö žâîî^ü˜÷s—_‹°aaa·ªsøðá{>>xøÜu„mÞ¼¹ö¦+:tèwß}wíÚµåË—¿ñÆZ¹º5ìàà -¥TœöÐ'Ÿ|2{ölµ]±bźuëV«V­jÕªÉÉɧN*rL)~ öVêÔ©“œœœŸŸŸ””¤¦ ÜÔ_ý¥¦ØªË«¥¥_¿~_|ñ…šKпÿØØØäädùïY¶:}úô¸¸¸¬¬¬ÄÄĬ¬,77·6mÚ¨ëðáÃ[¶l0`€šiPdAYÐþ¨´nÝúVu´yÃrÿs=zÍš5ׯ_ÿâ‹/úöí«=5åçç·mÛ6£ÑøóÏ?ßþÝÙ³gU~­S§ÎܹsÛ¶m«½åõ‹/¾°^¸ÀÛÛÛÑÑÑl6ÿñÇÅsÓÂgžyF½B6**ê6V{B¿tg£ª%Nûí·µk×öïß_=’_·nÝöíÛ—b+w+00ÐÙÙ9777::ZÍ÷ upp‘°°°Ã‡oÚ´Éßß_ͬ°^¼¶Œ<ñÄ¿üò‹ÑhŒŠŠrvv.ëæÀCà~ÕªS§ŽZ433sÚ´iZ¹ºøšŸŸÿûï¿ßþ{÷îUo¿ýv»ví´ü*"*}jœüq¹é1‹TV´)§&Lˆ‹‹»iNœ8ñÑG©_ZÔ×]»v]ºtIÍ"èÓ§Ê‹öâääÔ±cG‰ŠŠRaÕƒ\rãVþÖ­[Õôe///m‰´RTd=]uñ5??ß¾}¥Þàÿ·w÷ARUwÇŸÓ=Ó=Î0/ò2€€‚²à+Z.޳Æqq ¡ —ªÄ¤ ³Ù TXS±Ì[™ ;¤¶\ŒV$ˆIé*QÀÝ"J4qB\ŒAY"ð%¼ °L˜ 2޼LÏÜ{öÓ}ûNÏ0´2ÓÍ¥¿ŸÂcÏí;Ãí;üñô¯çà¬4YjÑ¢Eµµµ’yä÷A¹2VÒ·¾õ­`þ–óôÓO766666þêW¿’äVUhš—³iÓ¦`­ÙÀe—]&ióæÍnÛ§ðÉË–-ë}m'Nt“–Nœ8qÇwôÞëëý÷ßÿìg?ë¦ Í˜1cêÔ©y¿î¼Ìš5«¢¢"•J-Y²äd]Ç_½zõúõëp§Öþ¹Úê³Ï>»iÓ¦X,”Zkkk[[[xà tAÐd¼iq‚þ»îº+g†ÜÊ•+'Ožö±¹ùR+V¬X¹råvìØ±|ùòÙ³g÷Þþêî»ïvó¢/^|ï½÷nܸqëÖ­>øàç?ÿùðšüaK–,©¯¯—ÔÜÜ<}úôÇ|ïÞ½©Tª¹¹ùÉ'Ÿœ>}úÎ;%UWWßwß}§7rTWW»Òæ£>*骫®ºè¢‹rÎY¸pá‚ æÌ™³jÕª¿€>¹lºk×.Ïó¦M›æî¤x<~óÍ7Kr›Ÿ lÁرc]óªU«–/_þöÛo»ÜÎ?ÿü¯ýë’¶lÙ2sæÌµk×¶´´üîw¿kjjú¾ðÖ[ouuuÝxãx% ê`kIóçÏÿÑ~´ÿþgžyæK_ú’««}ó›ßlnn^»ví«¯¾šó)ÿСC—.]ꦺWUUÝyçË—/ï½÷«½ÆãñÙ³gÿô§? ã„ V¬X1oÞ<Ïó–-[®¼ÎŸ?õêÕ½ºª¯¯þùço¿ýö={öìÝ»÷«_ýjïë3fÌSO=5Hs†æÎ»víÚàqï‚)ù¯¿þú¼yóãrLš4iüøñnͲ ‹À™9sæš5k$%“I×o0P*++g̘ñ /´´´¸E|Ÿ|òI÷z›ššöìÙ³jÕª—_~Ùí§¨©©yøá‡sVE%îCTa]—jŸ}œÉdÒ­Bo­ &`czè¡ ­’jjjfÍšµqãF·”³xñâÅ‹‡W˜2eÊš5k\0‹…— ¸é¦›V¬XîѬ¯¯ÿÞ÷¾×ÔÔä®0ÜMëLœ8ñÅ_\´hQPn _Ï‚ ^zé¥Þkrì§7!üT?'ßpà çwž¤òòòÙ³g÷>aáÂ…ÉdrĈŸûÜçz?;H‚ kÎRV·Ür‹»ÛÿøÇsVþêç5æ<üÊrN~ôÑGƒ¶…V–0Æ<öØc_ûÚׂ§$ÕÖÖΙ3çøCv|ÑbÚÚÚûïèîî>pàÀ‘#GFŒ,¤Õ§ÖÖÖƒ644¸½Oûa­=xð`kkk]]ݘ1cò\f«³³sÇŽûöíkmm­¯¯wëüöÎ¥—_~yGGÇÌ™3Ÿx≓]X,¤Z£{ÃÞ䶸º»»?øàß÷ëêêz?µo߾Ç744°%¥½½}Æ y.Ü40§ø;ÊÊÆ7nܸSž9lذS†WÇ3jÔ¨›r’Éä•W^Þš¡–.]ê¶­ê½n Ÿ½ÎeeeáÂ|ÎS\pÁ`,ƒÎ&…ˆ°¥éСCÛ¶m[¿~½›ÈÕØØxíµ×û¢ÎDØÁò‹_ü"˜:VWW×ÔÔTÜë8kaKeee}}}}}ý%—\rÏ=÷¸Mpúˆ°ƒeΜ9sæÌ)öUœ…йÓ)ða14”Šöööb_ÀÀ –„ 6ä±ÖåJœ<·¦êû{ °;0€è…@Äa1DXD C„@Äa1DXD C„@Äa1DXD C„@Äa1DXD C„@Äa1DXD C„@Äa1DXD C„@Äa1DXD C„@Äa1DXD C„@Äa1DXD C„@Äa1DXD SVì (>ß÷=Ï³Öæï}1¦÷‘x<‹}”Š*”´–#]¿Ý¥‡’:ªŽvÅ‹}9%dH¹7úÜcSFt]{¡YSþ¡¾×´µµ ÒeœÉ¬µ›v¦y}ø„ÎI(WœËò|¥<Oéh§ýâ5­9!Ñ»R{2Ta@‰Ú´3õãÍÃk+meÂc¬µ¾•$ãþsÙ/OsìÑ•a¤XLI£d™’åæÇ¯“Z§MLæù»#€Rt𽮇7 ¯¢sÊoe\º2FÖú’IçW#ßZY#1žþf•y“ U”©ú³|Óð±õm µyua@)ze—©(WEÂøÖJ²î#l?ª2ÿ³2&ø’ñ´Æ~'ÆU$Le—}e—ùôÕýœ•E„%Ç÷ý7[É2ù™Ì*›í>ø–¬X‘`Pcd­5Æ•¿­¬MÄõfKÅl?•ÏDXPr<Ïk>RU[媮á–Mk­\_¬1&Ô‹Ó~/`Œ¬o]ŒÍ¼[PY\ÍG’žwœ Ðkí]euÆø6ø€Û*³v©ï[É(Ýk2ÅBÆÓs~rïÒMé:Rey.ÄK„¥È÷åùÊY3sÒEÁÐÔ£3¢ô¬ÃwÕ•½ƒlæ„ü7’ €Rä[ùVÖf›_Iéfve¦r)“½Š<–ÇÕåWòÑFw?3cîÝv§yywma@)ò­«Â:&¬á2é»CÙ« cC¦O‰]:Zçk*ÊÕÙ¥? íí‹Ûýý‡û8ÿÓW›óÎ5ÛíºßÛÞÏ^‘™2Ê£ƒGìº7lá_QNi6XÇ,ÿÜ9",(Ež/ÏÏ.= I6ó¥Íéñ €£‘æM‹ÝvEíª*Ê5ºV£kÍô)ñ_n·mô}Ûã»®oÆÕ›wþ¤g¶ØœŸ9íBó7ÄŒÑÑN}ç ›Žï]Ù¾ô\.¹þ÷2Co*N JQºÖdó“Ó#Ô‰‘îº9Ö8!}!ýzßç<¿ÕNfo¹Ô$Êtí…æçÛ25ÎЫ³ÖVŸcþeV¬nˆ$-[o7¼]Ô¥aÝe™tAfšWfJ—M?Ÿç¯ J‘çÛnßHÖÈX¥ëV2V2F~º¢™^‘À-YPñº‰é·î ëÛ“žùìö–K¤ë&˜uoX“ÎâéF‚nßV”™{o‹©•¤ÿxÅþl«-ä«è=Ê-ð`eƒ{n3‰ÖÊý G’¶g_ˆûˆ¾¥]ÿü´Ž§ô›šz¾>sµê†¨éS±ø‰íù’ <ÚЖ=-ï",”¤ÌŠp-¦ÿù£:ÖHºf¼Þ=tÒÓ®œŸ[¼üÓûÙ©`÷ý·½l´™4RSÇêËŸ0ßÿe_`8Ñö-ÿ*, ùÙž ‹@ž¹/CŸtú÷·§CÞWþÆ\<¢ïsÆÕ›»g¤OûåölGDÐØ9ÖeîúO{4%Iw4ê¯'­‘ |«Cé?îqþ+@a@)ò|y¾õ|u{ò­q›uu{¶Û“;èx¾õmAÇ­ö¹­’”,×÷çªúœÜs†$õàí’”¤õoëýÙgÓ_¥Û$ÒÇw·éÞuéâë¿Î2£k ýŠ2c?îž»ûì~žo¨ÂôÇ·AHu™Õz¾ñ¬ âlæ¸<ßxlúyzR×è­ù¢ùÌUjjbF#«Í§®Ôš;ÍøzIê8¡ï¬ëq…ÁÖ9?sÝïµú5IªªÐsMy¼Ð¯ÈÝ[ÏÏÜ[Wõåõxó`é…èoç[cŒÛTÖÊÈ·2FÊl)[¼íXuèöGôã;4¶Nç×껳zÏŽÒÿÑOhÿ‘߬lÛíçþÌï>§+Æhrƒþb¤¾}«îY[ø fCÓ¹2»‰™Ì3F²ùïÎE”"Ï·éÕ\S¦/Ϧ?÷\3s°(ã»­šµL?üuºÖ~\¼¬Û–i{K߫̒·9Ç¥ôOOéh§$}æjÝ|IÁ_—oB£<ß7Ù—É´äûë3mmm÷ R©Ô¥K*+mhÓ()³»UøqÑ%Ë4i¤ÆÔê¼suø¨ö¿§·Zt¢«Ø—uz2k–å? JN,û« ޽Ö2´,¼¾hºBØë“nÃ8£z=¿]0êötÝøc±Ø©—#”¦Û®ð–¾,ÅrVÉw{´ÚlˆÍvp2žæ¨tÛ€ ‘¬d=uwé¶+<å‡ JÑ„‘‰|r÷‚uÄârí9‹•ÒQ0ÜM¶¡ÇÆÈ÷äuë¡Oí™0²2ÏŸC„¥(ß:5áù;®›óeb2™rl8Ëf—2e<íQA ¬$É÷e}Y_¾§|rç­WVäÙ+vç%Ë÷ýÎÎη÷ûÙÖòßî­~çpu{gy±/ª„ M¦.®ïhÛqÛå©Ic*“Éd,·«ã¤ˆ° tù¾ßÕÕ•J¥R©TWW—çy–…µ ÂÇËËˉD"‘(//Ï?¿ŠFPÊb±X2™,++K&“ÖZ—_Ã)–D;P ¾ºÇÆdóïa@©ûh) Eô! ¶À™€ €ˆ! bˆ°ˆ","† €ˆ! bˆ°ˆ","† €ˆ! bˆ°ˆ˜ÿ@‡n–¾7—IEND®B`‚traitsui-7.2.1/docs/source/traitsui_user_manual/images/TextEditor_demo.png0000644000076500000240000011226614046644454027560 0ustar aayresstaff00000000000000‰PNG  IHDR\tx¡ pHYs  šœ IDATxœìÝy|LWÿðì$B„A±E¬©-µ·JµÕÒ§*ZJmm-Š¢jI-µTKUZ-E,?AP$*‘Í’DB²!û23wîïss™$&‘ Ÿ÷ë÷›gœ»9QóÉ9çžË¥§§€q´Z-Ïó‚ è•–€!ŽãôJÐn/+ü¬«‹L&“Ëå2™¬º+/0EuW^ ÉêKwèFj­¤l«\µ¼º«ó’ø²ó¿Õ]¨R0b¿yÚÙÙ!UŽãäry­ZµLMMÍÍÍMMM«»FðBB0‚g!(Vµíj} %™)ÉÖ’êá—± âååUÝU€Êuÿþ}"jذauWäUQXX˜‘‘ñøñã‡ZYYYYYöÞ”Áž!(Vµãßú6悹’ã8N­@Dıÿg¿?ù^Ky}j<ÿZT¸ZµjÙÛÛÛÛÛ?xð€u×Y[[Ww¥àƒ`¥yðX½5¨¾­™™pZ8ö½Îq$Z"NLEiޝ¥¿êÂÈ @åqpp ¢´´4¥R‰15(#(Í?w8S2UrZA "uJkÅïô¢ÿˆã¤?âµÄWÌ2¨ByyyFP&FP"­V‘¬¬¥ mQ"áÉÈ™4QV>]º#Ü{D&rjfGÝ[prMì&³0~½ü$"Ô6£ažÝ| Kxllt¸G». õ­éh˜Àë/1]SèܤV‰W±°°èر#{¯Ñh’’’yž òññÙ±c‡¹¹y%^^Ç?uêT«V­Œô AiX[µˆž$¡'‘ˆ}Í—4½±§ ÇRÑ­daÅ1í£Ü'›þ¾Î-,«mFZq¿^ÖjŠnÑhÅÔÀk ol0ÒðtàÚ 0g‡Ý¶ÏÂe%Í uuuݶm›nIbbâ×_}áÂ…k×®­]»vÑ¢E•q]€—Ö¼‚ÒhŽ×’Và4ZÒð›r¤áV.nâöÆðÕ­˜rö\¦´ì§¶F= ¿þÕ‘•)y6–IåRZÐ ÅŸSz•qœ³ר¶´}t_k)¸fõ8+Ógì©‘£ ×Ä–SÈŒ=³±¯§áÙÅÖ«ŽŽŽ7ndŽºråŠÞÖüüü˜˜˜[·n©ÕêgžêáÇááá©©©¥§:#w{yyy111‘‘‘>4æ*&**êöíÛzå1117oÞ,((¨œšV›øøø˜˜FSî3ð<ÿàÁƒ°°0ÖéXÊž‚ ¤¦¦†‡‡§¤¤Tì™%©©©×¯_ÏÊÊ2ªêÏ=FP^+h´‘À'8Š&°ÇÇriÅ©Øâ]iì¶5WËZâybÓ­ ¿õH%<¸¢­ýܹÙýe²¢a¦ÅCdliè•þÂùÛ$ôqoÙàvÜ´æ„ö£×em93Jͦ‰;µJ9üHÎq´õ¬pèºÀgmJ~SäD´è‚™’Þí(s©OrÑÃú1P¼­_gsΧ'çí&SȈˆ®Ä ÛÏ šÈþëÍeШµ†ŸÑøWb7ð $è´gÕ0778pàÏ?ÿóøñc"ú矶lÙÌö111qqqyÿý÷‡ªwxAAÁªU«Îœ9“œœÌJlllÆÿá‡ê>…ê™»EEE9’ˆÖ¬Y3hÐ éÀË—/øá‡D´xñâÑ£GKåÒþßÿýÀYaxxø† .^¼(å!''§÷ßüøñºu^¶l™ŸŸŸ‡‡ÇªU«–/_”——çààpæÌ¶CffæêÕ«>Ì!Çq½{÷ž?~yÛ¸šIŸwÇŽ_ýõ?ÿüÞ-/—Ëû÷ï¿hÑ¢ºuë²=û÷ïÿþ}G¢¢¢Z·nMDÎÎÎGŽ‘ÎÆóü¦M›üüü=zÄJ¬¬¬Þ}÷ÝÙ³g›˜˜è]úèÑ£7n¼{÷.û£Ý´iÓÆŒÓ½{÷ììì Œ7®¬g~ôèQÏž=‰hÛ¶mwîÜñóó‹%¢+V >¼Û À‚”¦hÇR¾ÂKûvOx,¾ÑÛzNÿ×ú¬:ý¤#’=}2öG®hnµŒ#Gv–ôípYƒÚOvÓhI!ˆ¡‡“=é‰a‡{8ÑpON!²]KZ0ˆ35¡cáO®®Ó¢Á²Ö u>G^͸6¸³·G YöñTÃ,({{{ö&66¶S§NlÊ‘î/ëjµ:**ê³Ï>KNNþïÿ+•§¦¦Nž99ùƒ>HLLÔk žçgΜyùòe©D„€€€ÐÐЮ]»–±iköy fÍš(•ó<üøñ¨¨¨#GŽ(•J"R«Õº?wö^¯¿ð«¯¾úóÏ?uK²³³wíÚ•žž¾fÍÝò€€€yóæé.-žž¾lÙ²ØØXv!½.+#ϬÕjYÅ<¨›Øª‚”†Šn××™cDº_ì7¬éº|G˜ø'ãèÝŽœ[îÀ5áò¡ „›ÿ»!„ÜšÚqß¼ÃÑúÿ®Æ D”ž+&vq{k"¢Èûtú†›&°ÛФÈ"½—JFuâ²òiçáz¢ÀqÔÏÛ…“q4©;w2J(,ªÌÜKE7Б0!â¾àlÇõiI=]¸Áí¤iOek½’<¹c¿ ±p “ÉÜÜÜ>|øé§Ÿò¦OÿÐæŦ §oÐ7èWÑZšç F\Ñ:Uÿ_JjjêßÿMDîîî,²´jÕŠˆFÕ¿¶OË–--,,–-[&ÂÕ«WûöíËÊÏž=KDíÚµ›;w.+éÒ¥Ëúõë?ÿüs•J•––V¦Ýzôèqòäɘ˜˜GÙÚÚ²º±D¥T*sssCBB:wîLD¬DĆTˆhË–-l ËìÙ³ÙЫ¶··÷È‘#srr–-[6tèP½Ç…öïßݺuRØ"¢{÷îíÙ³‡ˆìííwîÜÉÆ˜ÜÜÜÞxãÿþ÷¿RJ{A½õÖ[ß}÷‹€ 6tqq8p J¥ bÁˆÍ6³´´$"33³Æëžžž¾aÃ"êÚµë?þX«V-vˆ——×ûï¿¶uëÖ)S¦°òÍ›7çææÑ_|!—µiÓÆËËk„ *•ªÜg–˜™™mÛ¶ý•(ŸÜÜܬ¬,½ÓÂËG&“Éår¥R)—ËŸ½w©ž+ ‚PPP V«e2ž]üò‘ËåüSÏJ+éëœ+%m>+ÜN¡ºsÎvDD&rêИëИ¦ôân&Ó®‹‚îh餭ÁŠDÒ~Û…§g”j Ö1’J‚ã…¨ûOí|"RxÇ“#¢†µ¹¨û¹Ô£ÏªãBfþS;/ù[823S’P=F‚N[UQ‡‘Z­¾|ùòÊ•+Ù¬ÕÞ½{‘‡‡ÇöíÛ w~ûí·W¬XÁóü7¤`Äf%ß¹sçáÇÒ<•ºuëêÁÈݤ”sõêÕÑ… ˆ¨M›6 48uêÔùóçÙ·`tttff¦î!¬òR*bœ?ýôÓeË–åååݹs§E‹º[gΜ©›Š¨¨[…ˆ¾þúk©ªD$“ÉÖ®]Û«W¯z"ö‡~¨»‚†ƒƒCÇŽ/]ºtïÞ=cˆˆ`Á}öìÙºaÂÌÌÌÇÇgÆŒ<Ïߺu«]»vDID:uÒEDDS¦Lùá‡Ê}f‰··÷ó¤"*ú¾|þ/K¨áAÐh4jµZ¡P˜™™=ÏC—ÊŒAÈËËÓjµr¹œã8<ùéå#“Éx-‰=F:Ò°šî›R^ODÑñH­‡çåL›r­ŠóZ6 U#¸Ÿÿá6ŸÕJûkŠ’ëûÑ=²ËʧèTÒ»Št”–Ä£¤’ˆûú繟%þ]­eB¼À ‚àj/.åž$°iÿì!:•Ú9‘þyÊñÊÚ¯Rjaaaýúõcï5Mjjª4ÿcÈ!Ó¦MÓÛÿÁƒéééÙÙÙYYYÒÜÝy!]»v‰‰ÉÎÎîÛ·ï!C àééÉút¹›ƒƒC‹-bbb‚‚‚tƒ‘···½½ý©S§.\¸0{öl*G³°°ðôô$"•JÅ&0é}q2ìMdd¤n0ª]»¶^N"¢7n°7:tÐÛdmmÝ¢E –À^D¦¦¦nnnz… 4 "ÖµóLÒgÏÌ̼xñ¢î¦¼¼<ö&**ª]»vÙÙÙ ¤Óøº ÛÖø3ënêÔ©“1Õ.…¬Èsžj>AAày>77×¢ܱ¤üÁ(??_«Õâ/ÜËM+¯Õý:»Ž8Žc_ôl=#J|½v—®Ý%"Á²½îFïuáܽß.Äp!÷Ä=µEëiµz—æXÔ)Ðè—/Ó?JZæ1=Gÿ¼Â'ŸNѸØÒƒ Ê.(¦æR02¼n_×ÊÂó¼á\ckkë!C†|ùå—Ò­)))›6m:}úôÇK?á¬Y³RSSO:UPP°ÿþýû÷Ëåò:ü÷¿ÿíÑ£GYw#¢=zÄÄİܣÕjÙwdÏž=Ù÷÷7XŸSPPyyy±þžÛ·o³¸æââbXÉ-Z°ô¡{WîMs¶>x½zõ¤yTº\]]_Ü`T»vmî‘2"IŸ}Ê”)%íÃðÖ­[ì÷¥b"†ùÌø3ëÂOê£Ñjµùùùå^̶œÁH£Ñh4¹\ŽTôrÓê/·£Ê)3Ÿ…Òß×…Eƒ¹ažÄõiɱyÖTúPZÑ&Ã!-©Dk0”&¬d¸‰ ŸYš?X&-:ðÜCiUÑcÔ AÝ×ÍÍÍ;tèàêêªûŸjBBÂèÑ£¥û¥ëÖ­kkk[»vmkk뀀½ZYYùúúFDDìØ±ãÒ¥K™™™<Ï·oß~ëÖ­uêÔ1~7"êÙ³çÏ?ÿ|ûöíÌÌÌøøøÌÌL›¶mÛÊd²–-[Þ¼yóÂ… C‡Õ›`T³J_±ýïüf#“ÉØmüÅbÏÝ“b¥ÞM‚ -ß™žû·Ž¥½at#•3©T* Ÿ½ ز„EË[‰O>•±åŠ~þŨ ¶œ y*®@­¿U£V§¡íIÆQÓº$ `=8ö©£¤/FÃ!- ”Îàšþy¤Î$^¯õ€ú¹“µ)Õµ¤Ôlý!0Ö³UìuËôJâ¢á•û#spp˜úè#ö<Úk×®•u·ZµjuéÒ…ˆ‚ƒƒÙ£^½z±MÞÞÞDôÏ?ÿ°º›6mêèèÈ6)•JWWWVIÃ+J…mÚ´yæÇwwwgoBCCõ6eeeEGG?ó / ½Ǩ(YªÕê°°°Ò•Ëål¼ìüùózýC‚ >|¸ÜgxN,¹¨º¡ò£ò/6 Gú.×ð¯åx“BRQ9ñZNï5=‡û'–ˆèuWêÔD«Và&¾&&ƒ[ÉOÎP  =œ8½sjŸ ¥éŸzf’n ¯ÕßSúE[Tš@¹…DD3ûr?ÙÓ΂6Žá¤e'‹½®ñ¯¼ÀñÚ¢v¸ç¼ùÿy°Av‡T¨ÑhvíÚ¥·g||üÈ‘#GŽùûï¿ë–[[[³DÅ^ÜMÂúNŸ>.“ɤn¡öíÛ[[[?zôè—_~!q4†…žëׯëÕ3>>~ݺuDdnnÞ¬Y³g~|¶T}õÕW?–ÊA˜?þ }KšñØ2Óqqqzٺܾýö[iN4sèСAƒ 4ˆÅY"òòò"¢”””Ù³gë~ mܸñܹszW,Ó™ž“Þ=Ce‚¡4ZãÙ8'@i‹†ÐØ£.J}ÆÿB¨§ qýüýr‰;N±©œLF­p“zPo7"¢B í "é! ØZ?4¸-Å¥ÓåX.)“ Õœ <„Òhõ¯õdŽql+ÿ¤‰ÓÛ_êªacz”ËÍúƒ~Orý2‰ O¢ðDιunÂ)”™OµÍŠ¿n ¢3ùºZ×üêÞ½û7²²².\øÞ{ï5kÖ,22r×®]—.]ÒÛ³I“&™™™÷îÝ‹ŽŽæy~èÐ¡æææIII7ndS¼ßxã ãw“°ÄÃîijß¾½4ýH.—÷èÑãØ±cìùz³¶§M›vîܹ”””ï¾û.==½W¯^uêÔ Ú³gONN-Z´È˜YMš4;vì¾}û}úÕ«Wÿý÷ß‹/öèÑ£{÷îJ¥2(((11±víÚzÝHe:3@5B0‚ÒðZÄG¡I8i&lQÂ(Z¹PÿõàujdC³ú‘Œ£ºÑÝôÏŸ’EýF÷3ž•SHÑäíJõ¬héÛDD3§Ã×Iž,¦Äkõ¯Å?½Ž‘n‰Ö`þÉ(ñ‚X~*ŠV§/Þ$GŽä!àÐW)«€&÷`­Qâ'5æÕ`òuåÞžVŠ#FüïÿKOO÷÷÷×]è¹sçÎ÷îÝÓ}(Çq³fÍúüóÏ –.]ºtéR¥R)¿xyy 2ÄøÝ$ÎÎÎ5JJJ"q4¦W¯^ÇŽ#"¥R©÷t‡íÛ·7.;;{çÎ;wîÔÝ:kÖ,½e¯Kñå—_²;ã"##-Z$•×®]ûÍ7ßôóó3òýôÓ¤¤¤£G^½z•M—X[[ýõ×Ò¼ __ß‘#G&%%=~üXzv‡ÍÆ'L˜ wQãÏ PpO”F8^+hxñn/ÖÅR4°ÅIóf¤)Gz¯j ­û?¿“¢SžÜnÆäЩôæF ŠÓ?jö´ãI -ên%*þŠj^Œnj©¤hªŒZSL­ÄMüSå›ÏÒhÏeºCWâè· ½æìr[)ŸÔ˜×§'=ì«(¬³Ä˜…ìœ÷ïßïåå%Ý mbb2qâÄÍ›7³Ý“ 4èÏ?ÿìܹ3›0«R©d2™³³ó¬Y³~úé'iò²‘»I¤Þ 6¯HÒ³gO6y‘ÍÑÖ;ÊÕÕuÇŽݺuÓàØ¨Q£/¿ürêÔ©º{²PR’B¡Ø°aÃСC¥OÊqÜ믿¾oß>6WÃï·5üY—òyY¡Þ& 6H¡ÓmOŽãV®\ùá‡êþÔ¬­­ßxã#GŽtëöÔï7¶¶¶ÿý÷‚  àááÑ¿ÿO?ýôäÉ“Å΂7þÌRm±0#T=Ž=¹¬²²²p¯þKO¥Ruü¾™™Y1›¤Žzº3©æJrw – èqEÞ§{žq BFæµHÆQF^i»UiP[ŠO§n«ž÷TOw Ñý5Ï: ’i4šøøx"jܸ±îӲХÕjóòòš4ibVì_‹²ìöœrrrîß¿¯ÑhìììêÕ«WîAòóó8Žstt¬ŒÚ²‡µ±q«š)//O¥R™››þàyþÁƒ™™™õêÕ+ëô·oß~ûí·‰hÍš5zý…Ïyæ²:yòdóæÍ±Ò«†=‡ØðW2c ßJ£H+ ùHwìSQ*ŒMED”]HAñoìþ=Éç©›ÄI+в£t,¼®òä²ÈFðâëܹó[o½uôèѤ¤$ö„;]Í›7_¿~}µTL’ŸŸYPVFP"™Læb›{ý¡RƦ?å!î¥ê-]¾C^ßҷé·Ù ,dPx"ùž¡ã‘|¹—5_«fíÚµ½{÷Þ¼yóÝ»wÙRF2™¬I“&;wþì³ÏØòžÕ(==]©Tb7” ‚”H&“½Ö$çßT…î¯[bÇÓãAºOG}a_“3é?? TÏšëУ<º›^¡W¡âÞ¼àzüø±T’˜˜˜˜˜xôèуîØ±ÃÑÑ‘•Ëd”„*µoß¾°°0''§>úÈø£ð tF%ò÷÷Ÿ6mÏóDÔ£GN:988ÄÅÅ>}::::22òÍ7ß<}útýúõ‰¨ÿþ‹/NHHøàƒª»âðJØ¿ÿÁƒ===ËŒöìÙ³eË–Ž;¢» XF%ZµjÏó2™ìÛo¿;v¬T>oÞ¼… îÛ·/##ãÿû›«¡P(|||ª¯²Fñððغuku× æB¿zñ²²²bcc‰¨C‡º©ˆˆ”JåÒ¥KëÔ©CD4þœ&222%%E¯¼   22òþýûÆœ$77÷æÍ›qqqÆøKÏóIII¡¡¡ e=¶²©Õê°°°¨¨¨¼¼¼RvËÍÍŠŠ S©TÆœV£Ñ„††6l~~>kcN’““­V«Ù_Âóü½{÷‚‚‚ÊñÃ"£ÛĘó\»v-<<ÜøCnß¾UúçáþýûÁÁÁIIIÏS=€šÁ¨xì«««áVSSÓ={öìØ±cÞ¼y¬¤  ÀÙÙ¹iÓ¦?ÿü³´Û¢E‹š6m:|øðŒŒ Ÿ¶mÛ¾ñÆ:uêÕ«×åË—‰(11qÊ”)nnno¼ñF×®];uêôÝwßé^èáÇM›6mÚ´i``à7ÆŒãîîÞ¿ÿ^½zµmÛvùòåÆ|[k4šï¾û®cÇŽ^^^C† éÖ­[»ví–-[fxlNNΕ+WØèaÕ8}út×®]­¬¬<<ùÄÜÜœˆÖ­[gØà .ÌËË›‡ºwïÞáÇ{÷îMD{÷îýꫯž¿MþùçŸèèh’ÜÜÜ¢£££££uƒ ݽ{7..®[·n¾¾¾Ï\B"$$ÄßßôèÑþþþñññÇŽkݺ5ÅÆÆúúúJ»EDDŒ?^«Õš˜˜ÌŸ?ÿÌ™3ÁÁÁË—/···ß¼ysvvvéW¨ùÐcT¢¥K—†……¥¤¤äææúúúúúú:::öèÑãõ×_gÃ:ÆŸêƒ>`«Qß¾}{öìy÷î]A† ²~ýz¶6`çÎ333ÿú믂‚‚[·n±¯%]~øá×_ÍÞ·jÕÊÛÛ{È!yyyK—.}ï½÷Š]G'--mÍš5DÔ­[·_~ù…ýÞß°aÃîÝ»=:44ô‡~˜>}:+ïÓ§¥¥eNN»ÿ®¬ÍUVgΜaý16l`´iÓ¦Ó§O×h4‡&¢ììl++«øøø:‘ÏðáÃÙ±–––3fÌáüùóC‡Õ;ùŒ3¤Î°·ÞzËÅÅ%66V„Q£FíÞ½›5x÷îÝ?~¼gÏžüüüˆˆ½.@"š9sæúõë¥+8°k×®¹¹¹sæÌ™2eJ± žœœ¼hÑ""êÝ»÷Ñ£GÙJWNNN}úôéÓ§OPPЊ+¾øâ ݰÊÑ&,[[[‘¹¹y‹-Š=ÛðáÃýüüLLLJúè;vìÞ½{Yã4iÒ¤M›6...………çΛ;w.ÛgÙ²e,ý¬[·îã?f…:uêÛ·¯··waa¡‘ר±ÐcT"GGÇÿû¿ÿ9r¤ô5Æ{œ:uj§N/^,ÍCz¦É“'Kï9Ž=z4{?zôhÝ“ß|óMöæÎ;zghÖ¬ÙÂ… uK\]]Ù×UaaaLLL±×½~ý:‹ùì³ÏtGCÌÍÍÙ·šF£¹qã+´··>tèÐ_ýeäçzÒ(›ý#™5kV@@@@@€••uíÚÕßßßßß_JEÌ„ är9…„„ž|Ö¬YÒ{Žã¤5&Mš¤ÛàÒ9oß¾­wWWW½ù^­[·fé¶  @j4=W¯^e ¾bÅ ÝôcaaÁ–‚Ôh4aaaÅKF·‰‘–-[f|*"¢yóæé6Ž““S=ˆH÷o׿ÿþKD={ö”RÓµk×/¾øÂøkÔXè1*M:u¾ÿþû¥K—ž8qâܹs/^dsQssswíÚåïïðàAiÇ’ØØØ4nÜX·ÄÞÞž½Ñ›ÙíææÆÞ°/W];v4ì¢`])DÙ²eKÃKKßÁ™™™º›Ø¨…‡‡K%–––Ò9+Ûk¯½fff–ŸŸÿí·ß;vÌÇǧoß¾-[¶,åÙ÷îÝKIIÉÈÈÈÈÈÈÌÌd{ނխ[·Y³fº% 6doôúᤠ˺3f¤ê6¸´öOhhhÛ¶m kxõêUöæñãÇ'OžÔÝ”““ÃÞ\»v­K—.Å~Àr´IIlmm[µjeüþfff†ŸˆuMId™™™,²{yyžÏ¼èŒžÍÒÒrĈ#FŒ ¢ðððüòË/jµ:99yÞ¼yûöí+ýpÝ®=Æ/CìîînX(©ÈÈHV==R0š8qbIg.©ó£²9::þüóÏ3gÎLNN ›1cÕ«WoÒ¤Isçε³³“öLJJZ²dÉ¡C‡Š½CÊPIUT–o×®a¡”«BCC'L˜`¸ƒŒ TÒ™¯_¿^Ò&ãÛ䙨|5ãÙÚÚA½– c‘Ýpœ—Jh1€‚QÙ´mÛ¶mÛ¶£G6lXNNÎ… 233k×®]Ýõ*û“ÉdÅvo0R÷UÕ5jÔàÁƒ7mÚôÛo¿………iµÚ´´´U«VmÚ´iíÚµlåÌ;wîxyy¥¥¥±Cêׯ_¿~}6í¦*I=7†]zºå2™¬cÇŽ%Dê¾*–1mR]lllØ›ÌÌLíºOÎxq!/777??Ÿã¸ºuënmÙ²å¸qã~üñG"Љ‰)å[°¢Û¯#Ý(WìoðDÔ¦M›€€¹\þ矖ÒRÌÍÍçÍ›7oÞ¼ŒŒŒÀÀÀ-[¶?~<''gúôélҤɒ%KX*š9sæÂ… ¥^žçÍÌÌ*ïÎðbgEDD°7žžžÅÕ¡C‡cÇŽ)ŠsçΕµÏFòÌ6)ßiŸŸ»»;é+¶qBCC«¾J“¯‹·zõjOOÏöíÛKß…z¤‰ì–ïÊöï¿ÿN¦¹ví{SR0b£jµºØÊ5J:uÞ~ûm6Ç\­VQÑ4äzõê­ZµJw,éòåË•º^Î¥K— œ-ËI«XIXDV©TW®\yþ:”Ô&ºŒ\4²BÈårö7êøñãz«$‚`¸Þ&À‹Á¨xÒà«W¯.((ÐÛzïÞ½cÇŽ‘©©iÓ¦M« >wîÜY±b…nItt4[…ÈÔÔ´¤¶¥´¥K—J³­™¿þú«wïÞ½{÷Ö½êÆ»wïNOO¯àÚgÞ¼y]ºtéÝ»·Þâ7Òga1ˆ ߨÕj½5 uW`ª ·oß––Ùd¢¢¢Ø2ÙfffÅNù¢¢`DD³gÏ–f[3{öìqwwwww?qâDI5²M¥RID7oÞ¬Ê1,¶xRRRÒØ±cu™\¼x1û/àE‡`T¼:°ýΜ93pàÀ#GŽÄÇÇ«ÕêÛ·oïÞ½{àÀì^ý±cÇ–{Ĥ¬¶oßþÅ_œ;wîÆ;wîüÏþòÎâÅ‹‹]S‡ˆ6l8}út"Šˆˆ˜8q¢¿¿ZZZHHˆ¯¯ïœ9sbbbÔju÷îÝÙÎÑÑÑ øòË/‡ bx—V…k×®]ppðÙ³gßy爈­V›››{àÀv[»½½½··7 0€ˆ222&Ož|îܹÔÔTÿ7ß|³LO©+ŸuëÖM:õĉaaa6l2dË:k×®-©ÁœœØ]ë!!!ƒ :pà@rrò•+W–/_þÁܼyS­V÷éÓ§¤+Ù& Sãyþ£> Ô]Ñ»ò|õÕWìþ“'O6hÐ`ܸq“&MjÖ¬Ù7ß|ckk[¨l˜cT¢Ÿ~úiÊ”)ÑÑÑwîÜ™6mšáãÇg«ùU!C†;vì×_Õ{¦Ä{ï½WìíQ’ùóç'$$:t(((Ho ÆÚÚzåÊ•Òw¼4Ü–˜˜˜––VÙ“²GµiÓ¦+W®´mÛV©TªÕj6yÙÜÜ|ýúõì²I“&íÞ½;99ù?þøã?¤Ã½½½cbb*ï ¦£GþóÏ?üñG6“LâããSì_ÉòåËããã÷íÛwþüùóçÏënªS§ÎÖ­[KY[ÈÈ6a† ¶fÍAüüüüüü\\\ WcªpJ¥òÀ]ºt‰OOOÿí·ßX¹Ý_ý¥›Û^Pè1*Q‹-Ž92zôh¶Ä°„ã8ggçÕ«W¯\¹Rú’“Édì–%¶ê T¨W¢[NwK{ÞUÞ³gÏ={öè®Lcaa1eÊ”o¾ùFïp©&Rm¿ÿþû©S§êÞ:W»víÁƒôìÙS*|óÍ7ÝÜÜØú“Up«Z­Zµ.\¸°dɶXŽJ¥¡víÚýû÷3f ÛÍÍÍíÊ•+}úô‘&+•Ê™3g:tˆõÕé6/{oØà%5¬TnxH¿~ýüýý=<<¤KKË9sæüðÃz‡6ø®]»æÍ›'ÝÃED666#GŽŒŒŒìׯßó· ãååµÿ~ÖC:wÌ•Ô%m-eÿbÿ׫W/<<|ýúõ#FŒðòò6lØòåËcbbªl,€JÅ•oBIVV–\.7~U˜]bbbddäÇ]]]ÝÝÝ-,,ªæºiiiìûfõêÕcÇŽ%¢GÝ¿ßÔÔ´qãÆl–‰‘4̓222êׯ_JîÉÉÉ)ÓÓNJâZÌêMMòÏ0Àpuƒ¬¬¬¸¸8kkk6|Y,µZMDÍ›7/ei¨ç”œœÌ‡²}ûv¶^yzzzBB‚™™™³³s™®«Ñh=zäààPú-úÅ2¦M˜œœœÂÂBKKËÊkc„‡‡³©Ù¿þúë¸qã¨(«•´´¼ô233Ožs…ëªakk[¾É …ÂÉɉuE”¢BRQYY[[ëöÍËÄĤLK9W;;»2­¬(Q(ÎÎÎÏŒ5%1¦MKKË*û©­\¹òàÁƒÇmÛ¶M¯zìѹÇ•Þ+Pý*]>ðüºuëôÎ;ïüþûïqqq*•êÆÓ¦MÛ°ayzzVã’¡Ï=F`,ooï1cÆøùùÅÇÇëÍy""ww÷ßÿ½Z*PQŒj4 ‹I“&Q ÏJƒ geeõÉ'ŸžüU²}ûö 2dÙ²e111l L™LæâââííýÝwßYYYUwž &_C¥(Óäkx©Tªèèh•JåêêZìí˜| ðŠÃäkx…(•Ê’žEà À‹]>"ôAUËÌ̬î*ÁªÔÉ“'«» %B0‚J!ãHk0äØ)xðJ‘qÏÞ§aŽT ËZ˜x Ũá_FP)kk«» PÕð/#¨­ìy‹2<â^ J¡•=_ݵ( ‚T …LèÒX]ݵ€š¥KcB†¡4x%Ù[j{·P£ßˆÈBI½[¨í-kô8á®4¨Tö–Ú7[ª¢R䉙²œBÎð>5x¹É8²¬%8ÖÖ¶²çkx_ƒ`•K!Ú9hÚ9Tw=Œ€¡4‚€Á@„` B0!ˆŒDF"#‚€Á@„` B0!ˆŒDŠê®@ÙÄÄÄTw^--Z´¨¨Ságð ªÀÁ¥§§—ã°¬¬,¹\.“Uu‡“££c_ñ—˜˜XQ§ÂÏàTß#ÆÓjµ<Ï[[[—ãX ¥ˆ^°¡´j žP!𳀚=F"#‚€Á@„` B0!ˆŒDF"#‚€Á@„` B0!ˆŒDF"#‚€Á@„` B0!ˆŒDŠê®¼*öïß_ÝU€ª6räÈê®BÙ AiÙ²eÛ¶m«»PEÂÃë» å`UÊÑѱº«UÁÑÑÑßß¿ºkQf˜c B0!ˆŒDF"#‚€Á@„` B0!ˆŒDFæúõë›6mÚ²e‹ Õ]c…††úøølÛ¶­º+P#(ª»/ãÇþùçDäãã£P¼ÿq?>22rÇŽmÛ¶}íµ×ª»:ÕìÅø·žiß¾}aaaNNN}ô‘ñGÉdè6xÁà%±ÿþƒzzz–)íÙ³gË–-;vDw!¼â<<<¶nÝZݵ¨)Œ &R«Õ7nÜP(M›6577/i·ÜÜÜ»wïj4š–-[*•ÊgžV£ÑDDDÔ¯_¿aƺåùùù·nݪ[·®““Ó3O’““gjjÚ´iSc>Ãó|RRRrrr½zõœœœÊ: ÉÈ61æ<ááá&&&mÛ¶5òÛ·ok4—R>¯ }ºk×®VVV­[·¶°°0`À¥K—ôv;uê”···¥¥eëÖ­=<<¬¬¬:tè°gϽÝf̘¡P(zôèñèÑ£áÇ׭[×ÓÓ³Q£F®®®çÎ#¢øøø#FXZZzzz6nܸQ£F‹/Ö=CZZšB¡P('Ož ëÛ·¯µµu»ví\]]ëÖ­;þ|•JõÌ¥Ñh/^ìààФI“®]»6kÖÌÎÎnîܹÆkL›4oÞ\¡PuêÔ;wê–dff®]»699ù×_}þ6Q©Tl©Î¬P·ûõë§w~¶U7¢I6jÔ(©\£Ñìß¿ÿÚµk‘‘‘µjÕ’Ê>=**ŠUL­V—þjôAM‘——·`Ážç]]]Ïœ9SPPçëë+“É gΜÉvKII=z´F£177ß¼ysXXXhhèÊ•+ÙðÍÂ… =z¤w怀€?þøòåËÿý÷»ï¾KD………}ûöMLL?~|``à… >ùä6DµnÝ:ÝÔÅ,\¸0//oòäÉG ]»v­³³3mß¾}óæÍ¥|®åË—³TÔ§OŸC‡Ý»wïðáý{÷&¢½{÷~õÕWÏß&ÿüóOtt4 InnnÑÑÑÑÑѺAˆîÞ½×­[7__ßÀÀÀ½{÷–úÓ ÿÑ£GûûûÇÇÇ;v¬uëÖDëëë+í1~üx­Vkbb2þü3gÎ/_¾ÜÞÞ~óæÍÙÙÙ¥_ ¦AÔgΜaý16lxýõ׉¨iÓ¦Ó§O×h4‡&¢ììl++«øøø:‘ÏðáÃÙ±–––3fÌáüùóC‡Õ;ùŒ36nÜÈÞ¿õÖ[...±±±‚ Œ5j÷îÝÇQ÷îÝ?~¼gÏžüüüˆˆˆöíÛëdæÌ™ëׯ—®8pàÀ®]»æææÎ™3gÊ”)ÅÎJNN^´hõîÝûèÑ£¦¦¦DäääÔ§OŸ>}ú­X±â‹/¾`åån65ÊÚÚšˆÌÍÍ[´hQìÙ†îççgü¼¨±cÇîÝ»—5N“&MÚ´iãââRXXxîܹ¹sç²}–-[ÆÒϺuë>þøcVØ©S§¾}ûz{{y-€=FPSH£TlödÖ¬YVVVDÔµkW)1&LËåDbxòY³fIï9ŽûàƒØûI“&±/~F:çíÛ·õÎàêêúÝwßé–´nÝzéÒ¥DTPPpãÆb?ÔÕ«WÙà׊+tÓ……[ R£Ñ„……{,Ý&FZ¶lY™f‹Ï›7O·qœœœzôèAD111Rá¿ÿþKD={ö”R‚}úÀ›4i²dÉ’´´4"š9sæÂ… ¥^žçÍÌÌ*ïÎðbgEDD°7žžžÅÕ¡C‡cÇŽ)ŠsçΕµÏFòÌ6)ßiŸŸ»»;é+¶qBCC«¾JÏ =FPCÕ©Sçí·ßö÷÷_¸p!©Õê   *š†\¯^½U«VéŽ%]¾|¹R×˹té’áì¥Ë—/³7†·°1;v$"•JuåÊ•ç¯CIm¢ËÈE#+„\.gãeÇ×[%AÃõ6j>#¨)æÍ›×¥K—Þ½{ë-~#Ý|Îb¾Q«Õzk®]»¶R«wûöíùóçë–DEE±e²ÍÌÌÜÝÝ‹=Š#"š={¶4ÛšÙ³g»»»»»û‰'Jº¨‘m°‡¢Ü¼y³*ǰØâIIIIcÇŽÕ]drñâÅÇŽ«²jT#¨)Úµk|öìÙwÞy'""B«Õæææ8p€ÝÖnooïííMD ¢ŒŒŒÉ“'Ÿ;w.55ÕßßÿÍ7ßdĨTëÖ­›:uê‰'ÂÂÂ6lØ0dÈ–uÖ®][҃ϜœœØ]ë!!!ƒ :pà@rrò•+W–/_þÁܼyS­V÷éÓ§¤+Ù& Sãyþ£> Ô]Ñ»ò|õÕWìþ“'O6hÐ`ܸq“&MjÖ¬Ù7ß|ckk[¨X˜c5ŨQ£6mÚtåÊ•€€€¶mÛ*•JµZÍ&/›››¯_¿žM=ž4iÒîÝ»“““ÿøã?þøC:ÜÛÛ;&&&))©’ª7zôè?ÿüóÇüñÇuË}||¦M›VÊË—/ß·oßùóçÏŸ?¯»©N:[·n-em!#Û„6lØš5kAðóóóóósqq1\©Â)•ÊtéÒ%>>>==ý·ß~cåvvvýõ—nnx! ÇjŠZµj]¸paÉ’%l±•J%BíÚµû÷ïyòd"JOOOHH033svv.Óu5MBB£GJ¿E¿XÆ´ “““SXXhiiYyÍbŒððp65û×_7n\5Öª‹¿¿±‹ßV6­VËó<{PRYa( j"kkkݾ™b™˜˜”i)çŠbggW¦•% …ÂÙÙù™±¦$Æ´ ciiiiiY¾«”ÕÊ•+<ÈqܶmÛôªÇËq\é½b5 º| üºuëôÎ;ïüþûïqqq*•êÆÓ¦MÛ°ayzzÚÛÛWw5Œ…#(?ooï1cÆøùùÅÇÇëÍy""ww÷ßÿ½Z*P>F¥±²²úä“OOþ*Ù¾}û† ²lÙ²˜˜¶¦L&sqqñööþî»ï¬¬¬ª»‚e€É×PEÊ4ù^D*•*::Z¥R¹ººZXXTwu úaò5¼º”JeëÖ­«»Ï]>"#‚€Á@„` B0!ˆŒDF"#‚€Á@„` B0!ˆŒDF"#‚€Á@„` B0!ˆŒDF"#‚€Á@„` B0!ˆŒDF"#‚€Á@„` B0!ˆŒDF"#‚€Á@„` B0!ˆŒDF"#‚€Á@„` B0!ˆŒDF"#‚€Á@„` B0!ˆŒDF"#‚€Á@„` B0!ˆŒDF"#‚€Á@„` B0!ˆŒDF"#‚€Á@„` B0!ˆŒDF"#‚€Á@„` B0!ˆŒDF"#‚€Á@„` B0!Áÿ³wçñ1‹ÇŸ“LÈjKÐ$´©-‚ÐÄZË/µ«›tAQ´EéEi{«\»V,ÕVQåR݈*Ujå–­­j ©±D…„ ‰H23ç÷Çó8;‰‘Åòy¿^7÷ä™sΉÕjMJJ:xðàÉ“'oܸáÈ!ÉÉÉGÍÊʲ+?þüáÇs–€‡4­^½Záîî>oÞ<77·œ;4hÐà©§žBlÚ´)))IqðàÁ€€€€€€]»vÙí+Ú±c‡mùŽ;"""ÛµkתU«5jôèÑcß¾}ÆË–- h×®üµoß¾òúè#™Š‚ƒƒ'Ož¼eË–/¿üRΕKLL|ùå—ÓÒÒìžúóÏ?÷óó›5kÖ¦M›FŒáëë+„øá‡>øàooï?þxË–-S§N}â‰'„.\øá‡Œc·nÝšžž.„Ø·oßùóçïôUp¿{[ŒRRRäFá­TôË/¿ÈEï½÷Þ“O>)„¨T©RïÞ½ÍfóæÍ›…iiižžžîîîÆØ#__߀€ã$/^œ9s¦ÂßßÑ¢EåÊ•BT¯^½mÛ¶...ß|óÍÑ£G£¢¢hûÔeÊ”Y¼x±Z«V-!ÄÉ“'Š+îÝ»wÕªUË—/¿mõxð<ŒÁÈÃÃCnMG®~ýú®®®BˆÙ³g·k×îë¯¿Ž—ÃŒg„žÐÐP»‡\\\êÔ©#r F²ÌP²dÉÒ¥K !jÔ¨a·g`` ®Vžžž¡¡¡NN〇ñû¯|ùòrã÷ß/¤§ðõõýøãåÅÅÅ;¶U«V!!!S¦L¹|ù²ƒ'9|ø°¢bÅŠ2ÙØ‘AçÌ™3©©©¶å·EÖà¶Æ/ËGyDn^0BDDDüüóÏ£G®]»¶ %—.]š3gNÓ¦M¿ùæGÎw “¦iŽì÷0£† ʵ‹öíÛ'¿ÎUllì¢E‹-ZdŒI’r.h·ƒÁÍÍmÀ€6l8|øð—_~)FJOO3fŒ\/ ouëÖB\¸páêÕ«9=v옢råÊeÊ”¹í©€#Æ`äêê&„8sæÌ„ rÝÇl62däÈ‘“'O–S¥J•’Éõm£¤o¥T©RmÛ¶ŠŠzã7äÉmç‚ì"— FBˆß~ûÍnÏìììØØX!D½zõò~jง1 !† "»·¾þúkÛe¦%³ÙüþûïËåŽzöì)guU©RÅÝÝ]±~ýzÛ/^¼¸lÙ2»3Lœ81<<¼k×®vë óÅlg™¹¸¸È ÛE±…Mè9rä_ýeûÐøñã/\¸ lÂSA‰‹‹[¸paá Kà^ö£ºuëöéÓGnÿë_ÿš0a±cÇ222N:µ~ýúçž{nÞ¼yBWW×W_}Uîæää$§»oÛ¶mÔ¨QGމ_¶lY·nÝΞ=kwþ   ƒîܹ³_¿~ÇŽ³Z­×¯_ŽŽž2eŠÂÇǧI“&ÆÎþþþrÀÐÊ•+£¢¢Nœ8!ï†V¡BÙ”˜˜Ø«W¯o¿ýöøñã?þøãðá㢢䳼ôÒKxYâããÛµk7zô興«ÕZ€gà¾ð0.ð(;633sÑ¢E™™™óçÏŸ?¾ÝUªT™;w®1R[1~üøîÝ»_¿~=**JF©K—.ßÿ½í± ,Ø¿ÿÏ?ÿܦM³Ù,GI»¹¹½÷Þ{¶sÄÜÜÜÂÂÂ~úé§äääQ£F !fÍšõÜsÏ !† váÂ…¥K—:thøðá¶OáïïåÈzHŽÛ¿¿ÜHLLLNN6î7ÀCâ!m1B8;;O™2å“O>©]»¶ÝCÞÞÞÝ»w_¿~½íŠˆBˆùóç×­[×dRÒÓÓsäÈ‘Fd1âN‰%V¬X1tèP???!Dvv¶®ë^^^-Z´X·nÝ3Ïpà@ÿþý?ûì³â®Ü£X౨=úÆŽìÙ©S§fÍšv}o6l1b„¢ÿþ&ÓýñO©W¯^GŽùüóσƒƒï»uú Üÿ5,[¶,##Ñ=kÕªUÁhÕªUqqq~~~/¿ürŸEæÛo¿=tèPåÊ• äøQNN4@^FE­yóæ¶Á(++kÏž=B__ߪU«ÚîY¹rå¨ÀÚµk7lØP§N‚Ñ}mÙ²e?üðCHHÈ£¨¨¨ÿüç?õë×§¹rE0*j_~ù¥í¯iiiAAABˆçŸ~äÈ‘ÅT)<,êÕ«7wîÜâ®Ü»F÷‡´´´ÄÄD‹ÅR©R¥ï&¬ÙÙÙqqq&“) ÀÝÝýV»¥§§Ÿ>}Úl6׬Y³D‰·=­ÙlŽ­P¡‚ŸŸŸmyFFƱcǼ½½i“KKKKHHpuu pqqqäåH‹åܹsIIIåË—¯\¹òBrðš8ržÃ‡»¸¸;xÈüa6›«W¯žÇëÕuýüùóçÎóóóó÷÷Ïwõà^Àƒ{Ýþýû{ôèÔ¶mÛ:Ô©SçùçŸß½{·±CJJÊO<Ô¼yók×®ÙûË/¿É1ÂÍš5 ذaƒ"666  uëÖÆþiii»wï¶X,EõâÄ?þظqc//¯zõêÕ®]ÛÃã]»v;wî´ÛmóæÍaaažžžµk×®W¯ž——WhhhTT”ÝnC† 1™LÍ›7¿|ùr§N¼½½CBBüýýkÔ¨±mÛ6!Ä©S§:wîìééòè£úûû7Îö ÉÉÉ&“Éd2mÚ´éСC­[·.UªTݺukÔ¨áíí=|øð¬¬¬Û¾(³Ù:jÔ(“ÉT¾|ùœ---í¥—^òõõ ¬]»¶»»{×®]/^¼˜³†K–, ô÷÷oÔ¨Q¥J•|}}gÏžm±X|||L&ÓìÙ³y™po"ÝÓŽ;Ö³gϘ˜ÛÂ_ýõ•W^‰•¿úøø¼þúëiii§OŸž2eб[ffæˆ#ÒÒÒ\\\†*„ÈÎζ =‹Åb±dggË_“’’4hÐ¥K—Î;ú B1sæÌöíÛïÙ³'33SÓ4Y¸yóæ–-[þøãÆn?ýôSÇŽ·oßn”deeíß¿ÿå—_ž¹eËc*þµk×>üðÃÁƒßöu 0 22299Ù(IMM6mZß¾} äšdeeå|Ô%/Bbbb›6mÖ­[—–––óÙF4ã¢uíÚuÑ¢EIII²Ül6/[¶¬iÓ¦™™™¶gX½zuÏž=ããã’¤¤¤Áƒ¿ñƲbÆ' îG£{×Å‹_yå•k×®•(Qb̘1›7oþïÿ;fÌ—ôôôÞ½{Ÿ?^îÙ¯_¿¦M› !-Z´wï^YøÉ'Ÿ$$$!¦L™"[V®\Ó¼ys!DÕªUcbbbbb–.]*÷ߺukzzºbß¾}Æ™ Ïõë×Ge±XjÔ¨±uëÖ7n$$$Ìš5ËÉÉ)33óÍ7ß”»]¸p¡[·nf³ÙÝÝ}Μ9‡:pàÀ”)Sd÷͘1c._¾lwæ®<[ IDATýû÷oÙ²åõ×_ßµkך5kºté"„ÈÌÌlݺubbb¯^½¶oß¾cÇŽ7ÞxCvQMŸ>Ýl6Ûd̘1ׯ_ïׯߺuë80mÚ´Ç\1þü9sæäñº&MšôÅ_!ZµjµjÕª3gά^½ºeË–Bˆo¾ùfüøñwM~ùå—øøxÙÔ¿eËÛS>}:!!¡iÓ¦³fÍÚ¾}û7ß|“ç»!öïßÝ­[·èèèS§N­_¿¾víÚBˆ'NÌš5ËØ-66¶W¯^V«ÕÅÅeøðá[·nÝ»wï¤I“*V¬8gλK¸1ÆèÞ5cÆŒsçΙL¦yóæµiÓFÊ.ŒAƒ]¸p!**jøðáBMÓ>þøã¶mÛ^»vmøðá7n²-©]»ö„ „7n܈‹‹ËõEýú믲ëmòäɶéÇÃÃCó2›Í‡ÊõXáð5qPddä6l˜íÅ©\¹²l\<~ü¸Q¸oß>!D‹-ŒT$5nܘ9• ´Ý£²³³ÿýw!D©R¥l‡×H²µàðáö…;wÞ´iÓúõëec‰¦iÓ¦M“{:ÈÓÓS6Ï'Ÿ|ÒÍÍ-##ãý÷ß_¿~}ÿþý[·n]³fMÛïf;gΜ¹pá•+W®\¹’šš*÷ÌÙ æíí]¥JÛcVšì2–QG¶ÕËÙ&d¬ýsàÀ\'yýúë¯r㯿þÚ´i“íCÆXŸß~û­Q£F¹¾À|\“[)W®\­ZµßßÍÍ-ç+’MSFYjjêÉ“'…Mš4ÉyÙ™ ÷;‚Ñ=*..Nb]³fÍš5krÝ'%%%%%ÅÇÇÇ(™2eÊž={RRR„½zõjÑ¢EÑÔ6*Uªôõ×_¿ùæ›III‡2dˆ¢|ùò}ûö}çwl_Ô¹sçÞ{ï½U«Vå:C*§[uT‰;Y÷¹nݺ9 \uàÀ—^z)çF0êØ±ã­Î|ðàÁ[=äø5¹-777ÇwB”+W.g´»’‡’íavùRÊõŠÀ}‡`t2Ú0üüül'WÛ±»}iÉ’%K–,)·åHê{Y×®]ÃÃÃgÏž½xñâC‡Y­Öäää©S§Îž={Ú´i¯½öšâäÉ“Mš41fxU¨P¡B… eË–-[¶¬vS”Œ–›[Ý5V–;99Õ¯_ÿV'±[TÉŽ#פ¸”-[Vn¤¦¦æ|ô¯¿þ*Úê@¡ Ý£‚‚‚L&“Ùl~á…Œ¡¯·yîÜ9¹½bÅŠŽ;¶oß¾ÐêXÜÝ݇ 6lذ+W®lß¾ý?ÿùφ ÒÒÒܾ}ûÇ{ì½÷Þ“©èÍ7ß3fŒÑjb±XÜÜÜ ofx®#ŒA]!!!¹º~ýz“É´mÛ¶;m³1Üöšäï´w/((Höôåzqä8¸ß1øúU²dÉ5j!l×rÌÛÖ­[å¬ì#FÈ™J#FŒÈ9›]rp±Á"S¦L™gžy&::z̘1Bˆììly 99 ¹|ùòS§NµíKÚµkW¡®—³sçΜ£—víÚ%7rNa“dCQVV–ãïZnuMlåûèìì,ûË6lØ`÷¹Òu=çz›p?"Ý»ä`ØÝ»w¯X±Â¶üÚµk=zôhÙ²¥1ÙJqåÊÙ°<`À€©S§jš–’’’s®œ©tâĉœ"qqq .”C” Û°aÃ5jÔ²eK»ÅoŒÉç2Éî›ììl»5 §M›V¨Õûã?äR†£GÊe²ÝÜÜäíír2zÐÞ~ûm»•£¢¢ä*ä7n¼Õ“:xM$yS”ßÿ½(û°äâIçÎ{ñÅm™7nÜúõ달PxF÷®·Þz«|ùòº®:ôÓO?=räÈŸþ¹~ýú^½zÅÄÄ?~üé§Ÿ6v=zôÅ‹§NêììܨQ£nݺ !Ö¯_¿råJÛÓVªTIa±XFµ{÷nc-ÇøøøvíÚ=:"""ç,­W·nݽ{÷þôÓOÏ=÷\ll¬ÕjMOO_±b…œÖ^±b۰0!D»ví„W®\éׯ߶mÛ.^¼ýôÓOËbªéÓ§0`ãÆ‡š9sfDD„Ì:Ó¦M»ÕÏ*W®,“èþýû;vì¸bÅŠ¤¤¤Ý»wOš4©OŸ>¿ÿþ{vvv«V­nõŒ^Iö©Y,–Aƒmß¾=11±`_~®Æ/çðoÚ´é‘GéÙ³gß¾}«T©2qâÄråÊA °Œî]•*UZ°`»»»Ùlž:uj‡7nüÏþó·ß~B´k×N®é,„X³f‰Ü§OcÒõèÑ£eØ1clçsuèÐA"^½zu—.]d~6 %&&ÚÞ΢tíÚµqãÆBˆ-[¶»¹¹yyyuîÜ9))ÉÝÝ}ÆŒrYß¾}yä!Äwß}÷ÔSOU¬X±cÇŽ?þøcXXX¡Þ»´[·nÎÎÎóæÍëСC½zõÞzë-9S½ÿþÌãÀI“&½øâ‹Bˆ˜˜˜Î;ûúú6iÒd̘1‹¥L™2sçÎÍcm!¯‰ôüóÏË÷qÉ’%aaayä­T¢D‰+VÈ¥ASRR/^üÕW_%$$øøøAT€"@0*fš¦É¯7¹\¡ààà… Ú.{ãìì\­ZµéÓ§ñÅòk2--mÔ¨QBÛaÚeÊ”‘]?©©©¶·J ;wnÆ ȧŸ~:00PÓ´nݺU¬X±À_©’%KîØ±ã½÷Þ“‹ådeeéº^ºté¶mÛîÝ»·{÷îr·ÀÀÀÝ»w·jÕʘ:^¢D‰7ß|sÕªUrt³íu“Û9¯¤Qb7]ß(ÏyH›6m¢££ëÕ«g”xzzʦ;»Ãœœl×Ò4í«¯¾6l˜1‡KQ¶lÙ^xáÈ‘#vkuæïšHMš4Y¶l™l¿6ïã­.­Ícy¹ì*_¾üáÇg̘ѹsç&Mš<ÿüó“&M:~üx‘­€…JË߀’ÔÔT“Éäøª0¸K©©©òö rp‰­7n!ä]Ös}ÈÉÉ)çQéééYYY¶¥¥¥É{††;w¶k×®téÒvåW¯^MHH(Uª”¼Y®²³³åK«V­j,IPà’’’äíPæÏŸß¯_?!DJJÊÙ³gÝÜÜüñ;z^³Ù|öìÙË—/ûúúæ=E?WŽ\)---33ÓÓÓ³ð.‹#>,‡f/Z´¨gÏžÅX÷ˆÔÔÔM›6Kã%«Õj6›s~Ý8‚éú÷‡Ò¥Kçñ籤ayxxxxxØ^*ÊC©R¥lÛfråâârGK9Ÿ;ZYÑ`2™üñÛÆš[qäšHžžžEö®M™2å‡~Ð4í³Ï>³«ž¼u®¦iy·ŠÀ=Ž&ŽjÚ´éÞ½{÷ìÙóÜsÏ-]º4!!!+++..nàÀ3gÎB„„„A?,ZŒ8*,,¬{÷îK–,9uê”ݘ'!DPPÐÒ¥K‹¥bPPFÀß¼¼¼Þxã Á¿níÛo¿ˆˆˆŒŒ<~ü¸\ÓÉÉ©zõêaaa}ô‘——WqWî Áø›‡‡‡ìBzôèÑ£G¬¬¬øøø¬¬¬5jä¬÷)‚€ü(Q¢DíÚµ‹»PÀ|  Ðb„¢–ómÜ#F(R›6m*î*pK#bYÿÇ1Æ@!(#…` Œ‚€B0PF Á@!(#…` Œ‚€B0PF Á@!(#…` Œ‚€b*î Ü™ãÇw.ÕªU+¨SñÞÀC¨¿GІ–’’’ÃRSSM&““SQ78UªT©ˆŸñ!—˜˜XP§â½€‡P~8ÎjµšÍæÒ¥KçãXºÒ”û¬+­X‚' ïàÞG‹€B0PF Á@!(#…` Œ‚€B0PF Á@!(#…` Œ‚€B0PF Á@!(#…` Œ‚€B0PF Á@!(#ÅTÜxY,–o¾ùF×õ&Mšæ½sfffÉ’% ðÙ/^œR·nÝ<-¤£GîÝ»×ÉÉ©W¯^š¦wuräÈ‘ Ô«W¯gÏžÅ]¸×i)))ù8,55Õd299OƒÓŒ3Ξ=kWX²dÉ:uꄆ†Ö¨Q£¸*&¥§§×¬YS1~üø~ýúåÜ!!!aÁ‚;vì8wî\zzº»»»ŸŸ_“&MúôéS½zõ»|öjÕªeff2døðáwy*ä4gΜ)S¦!L¦ûãïŠÖ­[ÿñÇBˆ•+WÖ¯_¿¸«…ÎjµšÍæÒ¥KçãØûã¿ìv¢££=z«G+UªôÍ7ßT©R¥(«ä «Õ:eÊ”yóæéºn¦§§ÇÇÇÇÇÇGEE½ôÒK&L¸_¾qQÄV­Zççç÷òË/;~Tñþ÷—ûø ØÓÓ³aÆƯ)))'Nœ¸~ýzbbbçÎ-ZT»víb¬^Nº®4hݺuò×zõê………•+W.55õçŸÞ³g"**êÌ™3 ,pvv.ÖÊâ^´víÚ 6Ô©S玂ÑÌ™3£¢¢‚ƒƒi.€ÛºƒQÍš5.\h[’––6iÒ¤E‹¥¤¤Lš4iñâÅÅU·\}ûí·2999Í™3çÿø‡ñÐÛo¿½mÛ¶>}údggoÛ¶mþüù (¾šâR«V-Ùý¸­ªÝÓÓsòäɲé×_ÍÎζÛÁb±œ;wîÀgÏž5›ÍyœJ×õ .}ÒÒÒ&Nœ(·GŒa›Š¤°°°ÈÈH¹=mÚ´¼Ç~>>ï—p3›Íqqqñññyìvýúõøøø¸¸¸œïæ­N{äÈ‘ .ؕ߸qãÈ‘#þù§#'IOOÿý÷ßîô ;þË•ƒ×Ä‘ó>|ø÷ßwüG>QÆ?Ф¤¤»©Ü˨`$„Ð4­mÛ¶BˆŒŒŒåf³ù£>ª_¿~“&M"""š6mZ·nÝÈÈÈœ_·W¯^}ÿý÷ƒƒƒ4h:`À€¿þú+çÓEGG·lÙ²~ýúááá5 Y¸p¡íø!Ã?þxíÚ5!DDDÄÀs­|Ïž=弡7nDGGåcÇŽ èÔ©Szzú›o¾ÖªU«êÕ«80ï5pàÀ€€€êÕ«_½z5ç£M›6 xæ™gŒ’Ç;˜òmÇŽíÚµkÕªU5zôè±oß>»ÝbbbºtéتU«víÚ>ýôÓË—/·Û͸8W®\éß¿ppp‡4hðÿ÷»víB$&&¾öÚk:thܸqƒ >úè#Û3\ºt) `ûöíqqqÝ»w jÛ¶íÿýßÿOš4É‘Læø,פY³f6lBÄÆÆÊ ·nÝÚî"œ9s¦wïÞuêÔ騱cïÞ½å£S§N ¨W¯^΋æø'jõêÕaaaòEÆ CCC,X`±XêÖ­°`ÁG^&Üû´`$„pqq‘7nÜ0 GŽ9sæÌK—.%×®]ûì³Ï†j{¬Õj8pàìÙ³SSSÂäääuëÖ=÷Üs‰‰‰¶;ÇÄÄ 8ðøñãFIJJÊèÑ£§Nš³Vëׯ—¯¼òJ•7ÆŽØ#³Ùl±X222¸bÅ £Ël6¯]»ö¹çžËÊÊºÕ ;tè`±Xnܸ±qãF»‡öïßöìY‹ÅÒ¡CY2a„Ž;6mÚtË–-yTòn|ñŽzõ:pà@VV–1Ý=&&¦k×®;vì0vÛ¹sçË/¿¼{÷n£$;;;66ö­·Þš5k–í ‹3`À€ 6¤¥¥Éò„„„ž={þòË/:uŠŽŽ¶Z­²üÂ… 3gÎüàƒŒ3X­V‹Åb±X<øì³ÏþüóÏF´MKK›;wî˜1cnûºü€åûšdgg[,ãYa#uÉ‹pþüùîÝ»ÿøãééé¶ç—ÇÚ~Hîôµyóæ!C†$$$%ÉÉÉcÆŒ7nœ<¹ƒùî}`02¾M{ì1¹1kÖ¬%K–!š5köå—_îÞ½ûË/¿lÚ´©â‡~˜6mšqìôéÓ·oß.„hÓ¦MTTÔÎ;çÍ›.„8yòäçŸnìyúôéAƒY,''§W_}uñâÅ«W¯6l˜Ï×_³Vr¾´¢V­ZyT¾F2Øûbcc·nÝ!+¶páÂ5jÈš|õÕW·:aûöí===…Æ oÃÚµk…NNNÏ?ÿ¼,Y³fÂb±ØÆ²”‘‘1uêT‹ÅR¥J•ï¾ûîĉ;wŒtrrÊÊÊ?~¼Ü-%%eРAf³ÙÍÍmòäÉ›7oÞ¸qãˆ#yä!ć~xåÊ»3ÇÆÆþüóϯ¼òÊêÕ«¿úê+ÙS™••Õ½{÷óçÏwêÔiùòå+V¬èÛ·¯›››bþüù9»>øàƒŒŒŒ_|qÁ‚7n7n\åÊ•…‹/¶ÍfÇñX¾¯ÉÊ•+cbbš7o.„¨ZµjLLLLLÌÒ¥KmO•˜˜xöìÙ DFF._¾Ü.Aæäà'êØ±co¼ñ†Õj5™Lüî»ïÖ­[7|øpŸ… I ÷ñàëœt]ŠŠ’Ý ÁÁÁ>ú¨"99ùÃ?B4mÚtÁ‚r5E??¿fÍšuëÖíÀŸ~úéàÁƒeù•+WžzꩲeË~ðÁ®®®BˆJ•*µk×n÷îÝÉÉɲkFúøãå×ó;ï¼3dÈYÒ¤I“nݺåüÒ•”WªTÉËË+—`2™ªW¯~ôèÑK—.éºn·„à³Ï>;kÖ,YX©R¥ÀÀÀ-ZdeeíÚµëŸÿüg®'tuuˆˆøöÛo·oß~õêÕR¥JÉF¬fÍšùúúÊ’gžyæ³Ï>svvîØ±ãm®u¾üòË/rôÌ{ï½÷ä“OÊWÑ»wo³Ù¼yóf!DZZš§§çÙ³gëÔ©#„èÑ£ÇÓO?-­U«–‡‡Çرcu]ß³gO»víìNÞ§OŸ &ÈíÖ­[·hÑâôéÓº®GDD̘1C^´† ¦¦¦._¾üÆÇŽË9oñÕW_}÷Ýwg ‹ˆˆ¸~ýú„ zôè‘ë2 wôË÷5ñóóBÈŒëææëÙž~úé9sæ8¾Üƒ#Ÿ¨™3gÊôóî»ïíuëÖmÞ¼y—.]òh­€ûÑ}Üb”0æ¦Ñ£G4¨eË–£GB8991BîvðàAÙ3òïÿÛöËÉÝÝýõ×_7G¼ÊÂÈÈȨ¨¨O>ùD¦"Éd2É6•¸¸8£GæðáÃBˆºuë<ضV5zíµ×ìªj±Xdßœü‹öØc&Lø¿ÿû?ù«üϺ"55Uv“Œ¡‡~â‰'lÊÈÈ8}úôÕ«WSSS¯^½zúôi!„ÕjµZ­NNN7nÜ_«õë×Ïy_ˆFÍ™3ǶÄÙÙÙÕÕõÆŽÌq3öqww·-wuu• jÛ’=ywg4lØðÑG=sæÌºuë^xáY(ûÑ<<<ìÂÇmïar7êׯ/¯ÃìÙ³·lÙÒ£GfÍšU«V-{kœ;w.%%E¾×®]“{æl+[¶¬l 4T¬XQnØ…Qãæ#_¿~ýœ©"44Tn9r$çõùý€Ù>é^“[)S¦Ì­œîÈ'êÚµkgΜ6×ÁVƒ î´’p»ƒ‘»»»ííÀöîÝk±XÜÝÝ7nÜèááa”ß[y¬‰güA¯ëúÚµkçÎ{ôèÑ<¦.;vLŽ„Í5Få,ôññILL999..nìØ±BooïnݺýóŸÿ,W®œ±gRRÒôéÓ7mÚäà-kò¸ßœãë>çúÆoñ‘#Gl[× wôËÉñkr[Ž|l9ò‰Š‹‹“ 2ׯÎ\¯Ü×îã`T«V­eË–¿:ô»ï¾»~ýú²eËŒ‰ÊâfÀ““Sppð­Ne´.DFFΟ?_n—(QÂÏϯtéÒ¥J•JLL´’c468þg½ŸŸ_bbbVVVBBBÖÿùçŸrè’¿¿¿ƒgvD—.]f̘!{Ó^xá…ƒæìG+mÚ´Y°`ÁÊ•+e×ä¥K—æÌ™³`Á‚±cÇÊÕ Îœ9óÌ3Ï3¼|||¼½½K—.]ºti9ìæžrG°\9rMŠ‹q§!¹Ø„œ£àà~w#;ï¼óΪU«233§OŸÞ¹sgcŒs:u¶lÙâììüý÷ßçý'õÙ³ge*òõõ5kVƒ Œûr̘1ÃvnQ`` ³³³Åb9vìXÎó亰^Ë–-åM?bbbòFÆôì‚åóè£6lØpÏž=k×®}á…äì3???9Ú·ˆ¹¹¹ 0`À€W¯^ݽ{÷Â… úé§ôôô1cÆ„……UªTiúôé2½úê«o¼ñ†Ñjb±XªU«VxËZæÚ®c¼Å·ºÃŒã°<Üöšäï´w¯Zµj²§/׋“Ç- à>u¾¶ãëëÛ·o_!ÄåË—?ùä£\v·eggïß¿?ï3£_û÷ï߸qcÛ»•ÉLcpss{üñÇ…¹žsïÞ½9 ¡>Þ˜žm7ôçîÉ!Ø111©©©²­S§NÅ{{ÑR¥JµmÛ6**ê7ÞB˜Íf¹&§|#¼½½GeÛ—ôÛo¿êbßûöíËyþß~ûMnÜ*9þsÄ­®‰­¢œæìì,ûË~úé'»ö!]×s®· ÷»' !\¦L!Ä—_~i,ÆhtpL˜0Áná»åË—·lÙ²eË–Û¶m6½ׯ_·Ýí×_µ›1$„óÉ÷ïß?wî\»íJ¤ªU«>÷ÜsBˆ7nôïß?ç:Ú×®]ëׯŸôÚ¶m[ÛuŠ Dxx¸««kvvö|p«~´ŒŒŒeË–mß¾=×Å»ïÞĉÃÃûvíj7Zܘ|.c|#²³³íÖ$üì³Ï £V†“'ONž<Ù¶$>>^¶ºººV«V-×£ÿ€åÊÁk"Éag'Nœ°]€´°ÉÅ“’’’^ýuÛE&?úè£Â[ŠËŒJ•*%çgeewÍôóó“…±±±/¿ürtttrròþýûgÍš5tèÐãÇggg7kÖLÑ´iS9õóÏ?_¼xñŸþyìØ±ùóçwïÞ=ç¾ÿú׿ä(æ÷ßâĉ;wî<|øðìÙ³_{íµ[µj¼ûî»ÞÞÞBˆÄÄÄðððE‹={6+++11qéÒ¥ááár¦›——פI“ üâxyyµoß^!×*|µ¼_é8IDATâ‰'r~Ó:ôí·ßîÙ³§íà­tðàÁ;wöë×ïØ±cV«õúõëÑÑÑòÍòññiÒ¤‰BÎ(¼zõêðáÃwíÚ•’’²uëÖ—^zI®PU¨æÏŸ?räÈmÛ¶ÅÅÅ}ñŽ{÷–Ygܸq·2ïø,W^Iö©Y,–Q£FíÞ½;ïÛó”ýë_òþƒÛ·o 2dÈСC›6múÉ'ŸÈ¿CàAòàŒ1’z÷îýÕW_;wnÍš5ýúõ B >üìÙ³«V­Ú³g]§X©R¥¦L™"¿ó<==ûôé3þü+W®üûßÿ6öqvvŽˆˆãr UªTùôÓO{÷îm±XæÍ›7oÞ<Û:|ÿý÷9§Ð{{{/_¾ü•W^9}úô™3gFŽ™³þþþþ_ýµ±âbÁêҥ˪U«Œíœ;ÝF¿ýö[×®] ¼ ,Ø¿ÿÏ?ÿܦM³Ù,[§ÜÜÜÞ{ï=Ùµ×­[·ï¿ÿ>99yÍš5¶—½I“&§N*¼;˜FDD¬_¿~Ñ¢E‹-²-ïÑ£ÇK/½”Ç~Ànõ¤Ž\©C‡sçÎÕu}õêÕ«W¯~üñÇí( ...óçÏOLL¼|ùòÊ•+ey¹rå>ûì³\?Hpÿº/[ŒäèŸ\ÇÇ”,YRÞJ×uc¸´¦iüñ€ŒÎ2!DéÒ¥ÃÃ÷lÙÒ¢E £pܸqãÆ“« K5kÖŒŠŠ’7¦urr²†Ö²eËO?ýÔv booï &¼ûn¶£”¤ªU«®Y³fðàÁ9§a—.]zÀ€k׮͹´Ì­Î&nN‹³}Hnçºs‹-|||„&“ÉöƱ†–,Y²B… =zôÈùèÝ+Q¢ÄŠ+†*¯pvv¶®ë^^^-Z´X·nQ%y•š5kfLÂwqqyõÕW¿üòK9ºÙöÕÝêâ»Ï‰±gÎÏO‹-¢¢¢lïÙâááñÚk¯Mœ8Ñîp»O‚ã°|_)44tîܹ²ýFØLŠÌã"rûHÜÑ'Jáííýßÿþ÷ÝwßíØ±chhh‡†¾cÇÙ¡ ÍÁub줦¦šL¦âº›f³ùüùóW®\©P¡BÞ3¨SRRΟ?ïëë+“Dt]OJJJII)[¶¬¿¿¿ƒø333;–˜˜˜’’R®\¹J•*Õ¬Y3ßsš”––Ö°aô´´öíÛÛÞ÷Í®bÎÎÎw´zr¾+sæÌ///y?²\™Íf¹JÂc=V¢D‰BªIrr²\½ðƒ>xñÅ…—/_þóÏ?]]]}ôÑ;z^Ç?`¹räšHéééYYY…wYñûï¿Ë¿>ùäãŽ{Pì¬V«Ùl¶ýcÕqZWZÞL&SåÊ•oû­#„ðññ¹m$’4Móõõ½Óί’%KÖ­[×vÊ"`Üô*çMK y¬”X°<==󾟮¸y縢©­råÊÝÑÊŠÇ?`¹räšH¶«˜ªO?ýtÆ š¦M:Õ®zòÖ¹š¦åÝ*÷‘‡+=œ’““9²mÛ6y•ÆËûaŽhРÁÔ©S…¯¾úê¨Q£žxâ‰GyäÔ©S_}õUTT”¢N:þ÷>‚уoãÆÆ@ï²eËK%ŽhÒ¤É3Ï<³zõêÄÄÄAƒÙ=Z­Z5»;À}`ôàsww—}CAAAï¼óN•*UŠ»F÷¹4(wþº•Ù³g·mÛvæÌ™§N’«Q899=þøãMš43fŒ§§gqW ÌÃ5øÀÝÈÎÎNHHÈÊʪR¥JQÞ~—5jw- Ñä Œ‚€B0PF Á@!(#…` Œ‚€B0PF Á@!(#…` Œ‚€B0PF Á@!(#…` Œ‚€B0PF Á@!(ù Fº®l= J¾ƒJ>ƒ‘ÕjÍß…-ßA%ŸÁÈÙÙÙjµÒnî)º®[­VggçüžÏ`äîîž••E0÷]׳²²ÜÝÝówx>ƒ‘‹‹‹““Svv6}jàaµZ³³³]\\òw†üÏJ+S¦ŒÅbÉÌ̤O /Ùƒ–™™i±XJ—.ïóh)))wS‰ÔÔÔÌÌL“Éäââ’ïþ<€|³X,ÙÙÙf³¹D‰eÊ”Ñ4-ß§º«`$egg§§§geeÑtŠ˜¦i²ïÌÃÃ#ß=hŸíîƒÀƒ•¯‚€B0PF Á@!(#…` Œ‚€B0PF Á@!(#…` Œ‚€B0PF Á@!(#…` Œ‚€B0PF Á@!(#…` Œ‚€B0PF Á@!(#…` Œ‚€B0PF Á@1wxY­V‹Å¢ëº]yÎä¦i9KœœòÓúC0 P$]ÉÞyRÄ],yîšWz¶sqWç!âábñ÷¼^«bv“*ú#e\îèX-%%¥ªÀÃI×õ='²>ûµ‚G áVB”pÎ ])B«È²ˆŒ,‘ž©¿Ö0¹QÕ9[•n…# ØžYŸï«PÖ]w/¡iš¦ëºUBMþOö¡ýý ?ïòçÿôKjB89‰’š(i%]´Ï-/Drãj%|ïF¤óeÏÝS¡œ‡psѬºÐäw¶¦ ]· ¡©T¤ «® ]‚ŸwÿÓ–.nFO!\M¢”›öŸ=õNñ-ëPŸÁ€‚ôËIÍÕE¸–Ьº.„Ðe'ŽU}Wßü?]hšñ+?ïêgžÃØ]KhîÙú/'µÎõóØëo# ŒÕjM*QÒ$¬7“Ðÿî93º~„Ð³Ò …¦iB×uM“MuºÐõÎ"6Éõyk–#óÔF‹ÅræŠWY/ÙBd;F×u!Çišf3ÔwË6ajšÐ­º G73¨09‹3WJZ,#Š”®ëiÙ¦ršfÕ.]Ü\kÇjՅЄt¤ÝlØàç]ý´{„LªSíp-ËäàÂQ# ’Õ*,Vq³AèæÈ`Õ€a3Pøžžó@ü´½ª²‰Îh.º¹ƒãËiŒ(HV]Xu¡ë*Ò4õ«‡}s൸ù^Ì?]œE¶åž¨Iþ~Êëyó§ýÕ–»Yî·$P¬ºl1’4#ÙnMu÷Ø|£éOß2¢m-§:þÂÇSsu™ÙâRš8z^ßtÔšx9—ý;××|<µó©úêzÎG[T×jùiš&Î_ÑWÔ‹þÙ5#+$éN0  Y¬Âbý{ú™Bè7Õÿ.ùŸ"ü© Ñ£±SD½ÿY ÚÕEø—þeµ¶µœ7Õ¿úÙjÕÿ稆ÚcÞÚÄÊýºÝ9WÑ>å¤i"=S¼{PW¡°È_×ß=—jäµ=hòeÚDÕÛ PÔ#íïoeé¢R1Ñ„x»Ó“UUEŽ_Ôœ×nè%µ`ä« !ÚÖÒÊ{9M^÷÷‚ÂH º}Â¨å§ iå¤i"Ó,&­³&¤8Ü2S8þÜ.þgæŸn¿ ä-Œ(HV¡Yt£ÑÂèAÓnþª‹›“ÔŠ^ÛZšLEº.>Ú¤ÿrâï–«o…yTŒê¨™œÄ•µÔsZ¹ß6É/Íb“0¼Åˆ§\œ…Å*¦nÐã’D±d?›IjF™¦šénþj±:ÚdD0  É#¹j‘ø; ý‰äW¸ãó¤ Š{ ñJSµÏ‚_¬Ûÿ°¯ÀÞ}Þ6íõ–NBˆjÿ=j½r]=$;u]7߯\ÁKŒ wv/!3–uoBq¶ÉYù2€ÞLH¶´u+-F «®Y¬B»¶ôkÛª¡É›Êñ’?õ%„bûúw¿æ¾ÏºCzÕòz‡:Z “hRE[øf{ŒÍ«Óu½”›öÞ³Nå<„böV}Û±b]ÊHVKS}h7e߀­«Ç|ûF$‹U7[5!tMhºPmº¼}¬¦ «j}Q³Òä´µ"ùÙ´š «êVý–{®:¨w¨£ !šVÕVÔ5•ðTWšÙª»š´ñN•Ê !Ä׿èkéEù*rþr’Ÿ.tãšë7s’.ä[`±:Ú E0  Ý\à1&Šâ`ôh9õ¼ñ…ùÖCn’…Ù"LÎâÑršåï}+SȨŽZ¯B|¿O_´«˜G[ÿ/-džB‹Åâߜ®o3ÆHØ~W瘰V4ʺ !DRª¸š‘×n«8}YT-/ʸ «UØŸ·Úh«hBˆäkbÎOE?P*/¶3öí.»•#Š…®kf«Ð4MÝÍ4—ûQCšpÒ„—«B$\Òóh.’Rôªå5g'áZB\»!ÄͶ¢Ú~¢¶ŸJtå½D÷†ZÔ=Ðb¤Ý\çñï0¤Ù~·Ðb@±°üϽÒn•´"ŽG!2Í¢¤I”s×n;জ»ÚHÏÌeiÄ}§õ _ͽ„è×B;tNüvºØ³‘ns=5›’¿7þ¿½» ‘²Šã8þ;ÏìÌ蚻ꖮ¨ÛŠ¡E/º‰ÖEDP²ê… w^YÐ RA’ÝDX˜]HW‘]l"•]HX"’™™²ä¦‹¹-»º3sÎéây™gf×vÌÇÑï‡áðì3Ïóœ]˜çœùŸÆGŒ‚ðþ¸}Y§Š“õ¦â”<¬7á™øÀ'?6­½8&IKï’×4WÞ3ßH½¢ËåèL+~<ã·ïÓÎ^R`´c½™ÓÞÔ»˜²µ>êXë+îdo'Õ¥üŒ%çe]M°5ÆÄ[œª¶ÊN“Ú¡-ìT!§ÅsÌïÃW½rA‡é˜)IçFª7NR èÅÏt¹¤¯Ž©o‰6­Ö¼YÚ¹1xæc_{ËMn}ªM«^Öð€Á€LÅßJK¤ãQ+}ÿ›ïë1’Öôêäù«^¶¦7¹¾~ å¯ª ·ßþÚ?¸È¬èV_ž{Üì:ØÂL礩5>bÄTYrÕY³dMÖ᩹žfO9}s<ŠÛŸ0ËL}ÍÝ]æå§¢Ë¯Î & ¦’3ãeóÒç~¬$I[×ê±-›JKwujî2z„Ç `@–¬“uÞ:U¬œ7a!ìŠõ«ðdx`w¾©í© ~ÿQI*æµk³:fÖ_3«¨÷¶hVQ’¾=¡Ÿ«Ï&;ا¯?=¬×¢¢77˜Esš}Gq[óû<ìçðO`aÄ€Öp>‰>aòÖëM’âó²Î4¹Ýy Z‚½hŽö=m6=¬…&0êî0Wiß6ÓÛ%I£WôÆ@Í;L <Ö½æÀOúô°$Íž¡w7›|®Ùwö­uq߆#IN¶&’zÖÐÎë¢=¼L¸%…‹686iÝçGµe¯>ܪžyZ2W;6L^ˬ?/iÛG¼Tó»I%¦Š«Íûµr±î[¨{»õÚ:½òEó·I-¾Ž+u™øsM›È2b@–¬óÑ÷ÆÃÅ.NÖG3P6q‰O¶¤=yAöèƒï¢¡£´‘ËÚ{Hý{t|hŠßU\¢©îüxIÏ~¢± IÚ´ZOÞßôûr&ÕÊ:Ÿt²“‰'×ýó™áááìþ¸­•J¥ÞZØÞîS™¥¸rtú¸åŠmZÑ­Åsuçº8¦Á¿õË®”[ý¶®O\ ¡þäØ˜Ž½z®P(Lû L¥¥T£ÆÈ»›(—t䬎œmõûÈB’A½›â¼¤i‹}'FdÉy9WŒ?˜âÑ#S¤¢[IBÓ©(ŠDqç7¾Æˆ`@–’9Rjô›¥Êã-ª®ŸUßÕ‡Q‚™1ÆÌ.”'\^©#ssÌݪ[Èú¸ÏÃÁ¹ði¯ÙÅŠ1 ŒÈL.—[Þ5~äBg“T·0Œ5E5ƒ&3˜’³Z>,—Ë5ò #2Á£KÇu¶¥ëáD£“æz m­&¤C¨QÅê‘Þñ ˜þ+i"­þ•öC’QPW+0ÜUç6;õ´µŠ&ÎLúŒä%oU)«¥UcFdiYwa÷úÓÏ, r 'ÔêŠë0§v#„ìSÇÆÈYÙŠÞßøÇ²îö_‡`@–r¹Üº¾‚u§^X8™@&:J'¤jéÚën•,-’$9'ïäœÕîõ§Ö­šÑà#Qù€Ì9ç&&&N Žy4ÿÙŽ_/vŒLä[ý¦n#ÅÒò®Ñµ=£ý•V,n/‹Aý¼æUŒÈžs®\.—J¥R©T.—­µž¯ì7…1&—ËåóùB¡P(òù|ã©HL¥p#AP,ÛÚÚŠÅ¢÷>LEélDNÊJº@QxlŒ ãQã3h ‚7ÊÿûlF ]ÃàÀ­`!DF‚@„`!DF‚@„`!DF‘×@Ô÷„ýv=IEND®B`‚traitsui-7.2.1/docs/source/traitsui_user_manual/images/CSVListEditor_demo.png0000644000076500000240000041235514046644454030125 0ustar aayresstaff00000000000000‰PNG  IHDR ˜©iÅ pHYs  šœ IDATxœìÝy@ÔÕþ?þ× Ã°o²¯^eQ–Ü3 Ðú˜^ÓRóZ7/Vê½—ÊÊÌ®æ­424—LSËÌðº”^-¡4¹E&(š¢Â‹È"$ã̰Ìúýãüzÿ¦a›†Ñçã¯7gÞïs^ïI&Þ¯9çuxúùⲕZcî ,ŸGOG«ÌÜCæÀ’tšÝÒžÕ±Q£A"îN<¯cc¹MœN‹¡©Àªªª^‡ˆ€ÄÇÇ›;³ÉÌÌ4J?ÁÁÁFéî5eee„ÆâââbîÌ@,±7'''#ö÷‰DÂøæ ïà‹‡ \<¯Ó’–:à‹‡X<$8Àâ!ÁO`î``),,ܳgÏèÑ£,X`¢!²³³‹ŠŠÂÂÂbccM4'##£²²räÈ‘cÇŽ5õX–N£ÑÈår›{jhÈšššÚÛÛµ[|}}-½è¬Z­æóÍðõR7ãªTªúúzí;;;77·~‰ À˜à¸‡lܸ±ªª*$$äå—_îêœÄÄÄ¢¢¢ýû÷‡‡‡ÇÄÄ=†¦¦¦ ˆÅâ½{÷XïÔÕÕ­X±ÂÇÇçÂ… Æí¼G7nÜX·n]{{»¯¯ï{ï½g¬n¿úê«'N°ãeË–EEEõ¥7¹\þé§Ÿ~öÙg%%%mmm?üðêÕ«ÜÇ8{¼}Ó w‡êêêææfí///àºÔÖÖÞ¹s‡ˆüüüœœœŒ2®Z­¾víšF£!";;»   >v¨ÑhnÞ¼YWW×ÒÒ¢V«mllÜÜÜlkkÛÇž{¼}™LVYY)‹år¹•••½½½¿¿¿···ö9 …¢´´T»ÅÃà °DHpÜCŽ?.‰Æ×M¡_-~ýõ×"‘ÈßßáÂ…žðî»ïŠÅâØØØ3fXïÆ}úé§÷îÝ›——·qãÆ5kÖô®óÞ9räÈ?þñöxl¬Ç7ž{î9‰DÂ~|â‰'ú’àJ¥?üðÅ‹µûOIIùòË/ÓÓÓããã{Ýs·oº¡á.ccc3hÐ v¬ý¥P(JJJÙ®®®ÆJp\¿~½¶¶–;99õ1Á¡R©òóó¹ßY"joo¯««khh¸ï¾û\]]{×­>·ßÐÐð믿jG"‘HŠŠŠnݺÉÍ…¾¾¾ì¸±±Q¡Pô.$³C øƒ;w>óÌ3[¶léÝô´´´­[·îß¿¿ÓWsssõ¼}S w%''§°ßq ŽÛ·o_ºt‰{¼7"±X\SScÄýõWö;kooÎ&P¨Õê¶¶¶^ô©Ïíß¹s§¨¨ˆˆx<žŸŸ_DDDHH[ÖÔÔ¤ýy(¸wØÞÞ¾ñ ˜ÁµyófuþñÇk4__߉'šhˆŽ¦L™âââ"‹?ýôÓ 6˜z¸+W®Ì›7=<Üwß}ííí%%%Æê|ïÞ½ßÿ==þøãiii}ìíôéÓl©KHHH^^›-ÿÔSO?þ…^¸sçλロ’’bPŸzÞ¾)††{„F£)//¯ªª""çîînÄ4‡Z­fÿb…B¡Mß“‰ÍÍÍMMMDdggÍ4^^^ÎÎÎ¥¥¥*•ª²²rذaúw¨ÿí———³U6¡¡¡Ü ooïÜÜÜÖÖÖÚÚÚ€€;;»>Þ À€‚`…B!‰Š‹‹[[[ ½V.—gddÑœ9sz±¦¬¬¬¸¸¸s§…Bác=FD'Oždî›ÔîÝ»Ùãý‹/¾xñâE#–“¨¯¯íµ×ˆhܸqì >øàv°~ýzíZÏ?ÿ|\\8pàÖ­[õ©çí›bh¸G(•Jöxokk;räÈÀÀ@#v^YYÙÒÒBDaaa:Å>z§ººš 2DûsÏÏÏÏÅÅ…ˆêëë úXÓóö¥R)›BåèèÈe7è÷ÉD¤ÑhŒ;Q` @‚þ`íÚµÞÞÞ¿QÌÊÊzä‘G?qâÄÀÀÀ¹sçæääp'DGG{{{³¯å ¼½½½½½|ðAî„3gΰ¯C'OžÜc+W®ôöö~ôÑGe2ÙóÏ?qÿý÷³q-Z¤ýeãѤI“ˆ¨¶¶6//Og ‰Drþüy•J¥×»£o¾ùfûöí}¯ ¨í•W^ùí·ß¬­­÷ìÙceeÕÇÞT*Uff&ÝÿýO<ñ„ΫÿøÇ?ˆH©T²s Òãí›nh¸wxzzFGG³±Èd2–;ðòòrwwï{‡†eœ===u^õóóÓ>Ç =ÞþíÛ·ÙÁ!Ct^ruue7L±†À¼à€?P(*•J.—k7îÚµë/ùKnn®\.çêÒ>}úñÇÏÊÊÒ¾»D¥RéôsòäI"âñx£GÖ3Œ–––E‹9r¤¡¡µ+•Ê´´´iÓ¦q=÷8.3F;NmmmTTÔÌ™3µ+žöÑôéÓóóógΜi¬™ï¾ûîðáÃDôÆoôqÛ&??Ÿm¾Ðér¡Q£F±ƒ3gÎÔ­>·o¢¡áaee5|øðˆˆ£Ì°ÐVRR¢Ñh¬­­CBBŒÒ¡L&cŸNÎÎÎ_åöu‹Åú÷©çís}všqttdá)•Jý‡øà€´¶¶®]»V¥R§¥¥ÕÔÔäææ®_¿žÏçËåòU«V±ÓNž<™““ÃÖ„„„äääää䤦¦rý°•íÁÁÁúéZPP‘‘1{öìÇ_¹råСCÇ'¢ŠŠŠÝ»wë9.zxxp1p222d2åääܼy³7ïN3fÌ`_ÌQKKË‹/¾HDÇçÞð>bßTQ§«H¸Æ7nÔ­>·o¢¡áÁçóuv95Š›7o²¼[pp°µµµQúä ˆv:›‰kloo׿O=oŸõ):íÅJjGpw@‘QèÁÙ³gYÅäädö•{PPÐâÅ‹•Jezz:I¥RGGG"bûÚÙÙuœÍJ*„††4úœ9svíÚŦ†‡‡ÇÄÄÈåòììlöÌßã¸Lhhhcc£NY‡)S¦8::J¥ÒqãÆ=+aDï¼óNEEÇûôÓO¹'“>úí·ßØA§YGGG77·Û·osÝÈŒCtJ.————‘›››³'ÜüˆNm­¬¬R©4Å4 V×£«eb\;fpÀ]38 ¬ä;wN»=11155555•Ívî[fbèÊö—^z‰[CDþþþãÇ'"ö4¢¿AƒQ}}½v£OaaazzúñãÇ ê­?‰D¢-[¶ÑÂ… cccÕ-7ƒeˆ:bí¦X¥oÆ¡:UVV¦T*ù|¾¡ØîuŸààÚM‘e`KcºW(êDpw@‚zþîÛºuk||ügŸ}ÆVªÔ‰\.gµnnnú_ekk®ÓÈž~¥R©A°GÇ9ÇŽÛ‹]]úÍóÏ?¯P(<<<Œ»Ç-·=dWëÿY»q뤚}h€Žnß¾ÍÒ¯AAAÆÝ6•[ÒUµ›âó‡õÙÕ¸\Ý¢üÑÐ øôÀÏÏoûöí^^^D$‰V®\9a„áÇ'%%555éÙ‰R©d1 zjussëXH¯wk4Ø7–÷uå¾}ûX­Í÷ߟåhŒ…Ë4uZêB©T²¢$%¤þÐ:4 ÛØØÎÎθ;Î÷ñÕi• FÃÊ!½Z*×gW%6¸vS `FHp@ÏfÍšuùòå5kÖDEE±oüššš¶mÛ6f̘}ûöéÓƒ½½=«Ûg®Â l\ãn*ij‰ä_ÿú…„„Lš4©BKuu5;§ªªêÚµk\ÙNý±ª«ÔE–áæÍ›ì;^î4#2ãÐ:ª««Ù*¼€€¹\Þ¦…ý;T©T­­­­­­½ØLš+VÚi‚C.—³©pƪiÚqhn\<¦ÀŒ¹½ØÙÙ-Y²dÉ’%b±øüùó)))?þø£L&[±bÅäÉ“õùæÓÓÓ³¦¦Æ¼ OOO³ŒÞ;UUU¬hȵkׂƒƒ;=çùçŸ'"??¿ššƒ:3f ŸÏW«Õׯ_ïø*Wâ$::Ú° öÐ:$ ;(--íô„–––‹/QXX˜¯¯¯Asõ‰Xf\£žeŒ âää$‹5M{{{Çysl‡@ 0à 0Œ‹‹Ë´iÓ>üÚk¯‘B¡ÈÍÍÕ9‡ð×Á’ uuu¦‹­Óq6®)v—´P®®®#FŒ ¢o¾ù¦ãÓב#GØÛ÷® ? –¼hjjR«Õ:¯r%\]]>47[•ÑÆUD²¬múÀ èÁêÕ«Ï;gooðàAío¹ Yµ7Fa¥.JKK›››uþj÷ññ!¢«W¯j4íQŒ¢›q‰¨¥¥¥¤¤„‹A›H$ºpáÂÌ™3àäŽÐÐМœœN_ºté›»±iÓ¦øøøÞÕãLHHÈËËknnÞ°aÃêÕ«¹öÒÒÒÿüç?D1zôè^Å>p‡Ð6tèЮ& •””H¥R;;;Vê¸w“¼½½¥R©R©¬ªªÒÞ¹µµ•Íϲ··7Å ŽAƒ …B¹\^SSãããÃm›BDlÝ ¾p÷A‚àžS__ôèÑN_ 騹cÇ"JHHHNN6lX[[Û©S§’’’ˆÈÓÓs„ ÜÉD¤R©^ýõ… <ØÏϽ—žž.‘HJKKÃÂÂŒ{SÝŒKDùùùlý¼Î¤€âââøøx"Ú¾}û¥K—úmC… fffZYY‰D¢nÖÀ[[[;¶Ó—¸‰Ç×9GÏΉ(11qÆ õõõIII666K—.µµµ=wîÜsÏ=Ç6©yë­·X**??Μ9DôÒK/-]ºÔÀÛíÓнS\\ÜÜÜÌãñbbbºù·dkkÛU~àNNNÚíR©T$‘¿¿?ûä醟Ÿ_UU•\.¯¨¨àñx|>ÿÎ;EEEìC‰ËzÔmø|~```YY™\./((6l˜£££J¥ª¬¬¬­­%"{{û˜Õè#$8î9•••‰‰‰¾”àìì¬Ó8kÖ¬={ö\¾|ùÌ™3±±±B¡P¡P°/íìì’““µó>úèöíÛ5ͱcÇŽ;6tèP¶|ˆ¦OŸ¾jÕ*"ÊÉÉ1z‚£›q‰ˆ[[[O™2EûªË—/³ƒ7n444tœßa"§OŸ.//‰‰1E…?ý;···?räÈÔ©S[[[ßxã7ß|ÓÊÊŠmë@Dÿûߟzê)vœŸŸÏêeë?œþCôNsss[[›“““Ñ3e2™ŒÕ°°··ïñd>ŸqõêUµZ]^^^QQAD\áO___¶A•¡ÝêÃßß_,766J¥ÒË—/³Â7ì%@a”QÔงXYYuŸÏgçhŸ) Oœ8±bÅ ú½,¿³³ó¤I“222fÏž­ÝÃØ±c?ÿüóñãdzµ-¸Ê ¦(é†v_êf\"JKK#¢ &è¬9Ÿ1cFxx8Ç›?¾‰²oD&“±‡œ©S§ö±[êð>Úyllìÿþ÷?¶D¥R±ƒ³³sRRÒ'Ÿ|ÂÆ¾X¶±±™4iR/âìô¿£žCèIû·^¥R±dA_6WfvÌÈd2"âóùzÖÎpqq1b[‡¢ÑhXvÃÊÊêOú“vÆÐÐn;V§%<<œÍ!".»áââ2räH‡^Œ0ÀñÍX ‰DRYYéä䤽˜¼S2™¬½½ÝÑÑQ{í÷Ž;V¯^meeUXXh¢ÙÑÇ-))a‹h¶mÛöôÓOw¼D*•ê¿þÀ¥NžÕ‡´gÅÇÇëY±ïÒ¥K111D”••«ç¸zê]çæÊ•+ÅÅÅíííÑÑÑ:X3fÌ8qâÄC=ôã?7à‡fmnu „X,ÎÌÌ,·é¤(ì߯°µjUUUpp°özüüüææfÈÈHƒB’H$¬øñ¨Q£Œ^J³°°°©©ÉÕÕuäÈ‘](•J[ZZÔjµ““[Ó÷n{¤P(¤Ri{{»•••½½}÷©¼¼<±XÜ‹÷ÀŒ$IYYY`` –¨€œœœ¢¢¢ô9ÓÁÁ¡ãŸÑ‹/þüóÏ+++¿øâ‹W^yÅv2îþýû‰(**êÉ'ŸìôSTøë› áììüÀ Îy<Þ˜1cÆŒÓ}·}™rÒë¡”J%›ŽADzÖÓmii!"++«ŽkîúŽMµèÅÜGGÇn>mzÝm¬­­ÝÜܺ?‡{‡Ye …%*Ðlll’““‰èÃ?ä¶H4©òòò={öÑûï¿ßã þñË/¿ÑC=¤óýí€í\&“UVV’i=jnn¾ð;¥R©Ï%,YàææfôÜâ—S¡[=µµµqï0«ò `¡à€~5uêÔY³f988ìÛ·¯†KII4hЂ î¿ÿþ~Nl6Ä#û¬ßÆJJJbÛÙ¬Üà£>j)óùü'Ÿ|²û½6L¡×;}888ðù|wwwãÆCD<ÏÓÓÓè+_LÔ­žlllL±b ÿ¡È(€ú^d ‚"£ŸéŠŒèEFÀ µzB °x˜Á`b±ØÜ!X<‰DbîÀR!Á`™™™:-X[w+Ó•›-++3QÏp/@‚À|©;$.:-¯p㘠4M p¯@ 8Ùš; _ègHp Ð Oô‚_ègHp ÒGí 4wžƒPé£6wpoA‚ÀÖVôÀ<¶ôà!k+s÷$8 ãã¤ù¿a˜ÇÐ9!ýß0µÖ§@ã566š;Ë£P‘¨Ž_ÕÌ“´u²¯ À½†Ï#'[ tÕDú¨1wÌ °xX¢ °xHp€ÅC‚,`ñà‹‡X<$8Àâ!Á °xHp€ÅC‚,`ñà‹'0wTUUeîÀ‚"ÁBpp°¹C‹TVVF˜Á‡“““¹C #‘HØjp€ÅC‚,ð………¯¾úê¾}ûL7Dvvöž={Μ9cº!8{öì¹téR?Œe‰4\.¿×†€»jpÜC6nÜXUUòòË/wuNbbbQQÑþýûÃÃÃcbbŒCSSÓ‚ ÄbñÞ½{ ¬wêêêV¬XáããsáÂãvÞ©êêê?üP.—{{{ÿûßÿ6V·ß~ûí?üÀŽŸþùððð¾ô&—Ë÷íÛ·ÿþ²²²öövÿ¸¸¸×_=00°qöxû¦îq¼ÆÆFsÇý$>>^$7î»ï¾ëꜸ¸¸_~ù…ˆNž<Ù‹Ç×_-‰üýý.\Øé K—.=pà@llì±cÇ ¬wãªÕêGy$//oÉ’%kÖ¬é]çúKKK[¶l™X,&¢?ýéOÆš9R]]ýàƒJ¥Röã—_~9eÊ”^÷&“ÉfÏž››«ÓnccsäÈ‘ &ôºçoßtCÃ] ªª*88EFÀP‰¤¬¬,00KTàvîÜùÌ3ÏlÙ²¥wÓ7ÒÒÒ¶nݺÿþN_ÍÍÍ=xð -[¶¬OQê=.ŸÏõÕW‰h×®]×®]3î Úd2ÙË/¿¼hÑ"öxo\¯¾ú*—Ýè»Å‹³CHHÈÆwïÞýä“OQ{{ûüùó+++{ѧž·oŠ¡$8ࢢ¢6oÞœ`ŠÎ?þøcFãëë;qâDSôß©)S¦¸¸¸(ŠO?ýÔDCLš4é‹/¾ ¢ˆˆˆàà`#vþå—_þôÓODôç?ÿ¹ï½egg³¥.C† ÉÌÌ|î¹çfÏž½cÇŽ7‘D"Ù´i“¡}êyû¦€ƒ@¡PˆD¢âââÖÖVC¯•ËåD4gÎ>ßàŸ²²²ââb…Baè…B¡ð±Ç#¢“'Oj4C/×Ǿ}ûÊËˉhÑ¢E?üðƒËIܺuëí·ß&¢1cƼøâ‹}ïpçÎìàí·ß¶±±áÚŸ{î¹x€ˆŽ9ÒÔÔdPŸzÞ¾)††»[SSÓÍ?2ѯpR«Õm\•J¥ó>ß¾}»?c0€?X»víG}äêêZ\\¬Ýž••µvíÚÂÂBnç‹I“&­X±‚[É]]]­R©ˆ¨  ÀÛÛ›ˆBCCÏž=ËN8sæŒD"!¢É“'÷ÆÊ•+SRRÆŽûßÿþwùòå™™™ D$}ôÑ÷ßßÃÃCÏqY¨û÷ﯭ­ÍËË=z´ö@‰¤°°pܸqVVV†¿[ÿ?ww÷mÛ¶M:µ/t´jÕªÛ·o[[[oݺ•½{}¡R©Î;GDÑÑÑ3gÎÔyõ™gž9þ¼R©ÌÎÎf)!ýõxû¦îbÕÕÕÍÍÍÚ-^^^Áþt©­­½sçùùù«~‡Z­¾víK¦ØÙÙõ±CFsóæÍººº––µZmccãææ6xð`[[Û>öÜãíËd²ÊÊJ±X,—Ë­¬¬ìííýýýÙç$G¡P”––j·xxx¸¹¹õ16€þ‡ð …B¥Réìß¹k×®¿üå/¹¹¹r¹œÇã±ÆÓ§O?þøãYYYÚr—¨T*~NžU*•D")***,,Ôž #¸wØÚÚº×!˜ЃÖÖÖµkתTªààà´´´šššÜÜÜõë×óù|¹\¾jÕ*vÚÉ“'srrâââˆ($$$''''''55•매¤„ˆ‚ƒƒ]\\ôº   ##cöìÙ‡¾råÊ¡C‡†ND»wïÖs\" d3>X œŒŒ ™LFD9997oÞìÍ»CDD<òˆO¯/ïTkkë¿þõ/" euRû®¦¦†t|•[ZR]]mP·úܾ‰††{““SØï¸ÇíÛ·/]ºdŠàÄb1÷ÏÕ(~ýõW–ݳ·· g(Ôjuaaa[[[/úÔçöïܹSTTDD<ÏÏÏ/"""$$„­kjjÒ.º,¸wØÞÞ¾ñ X¢=8{ö,«¸‘œœÌŠƒ-^¼X©T¦§§‘T*uttô÷÷'"6GÚÎÎnÈ!:ýܺu‹ˆBCC }Μ9»víbÓFÃÃÃcbbäryvv6«IÑã¸Lhhhcc#‹3eÊGGG©T:nÜ8???ƒ3µ 6ܸqƒÇãmÙ²E(¥On]}§e2\]]›››ûò­òî2¦¼¼¼ªªŠˆx<ž»»»Ójµš¥A…B¡Mß×…577³Ê2vvvÑÑÑ,Aãåååìì\ZZªR©*++‡ ¦‡úß~yy9›¦êëë˽½½sss[[[kkkìììúxƒ fp@¸™Ï¬†'11155555ÕÑÑQŸ~Ø2wwwƒF饗¸E1Däïï?~üx"bU-õ7hÐ "ª¯¯×nôññ),,LOO?~ü¸A½™ZQQÑ'Ÿ|BDóçÏg÷kl­>qO;:X»)vº5ãÐp—Q*•ìñÞÖÖväÈ‘F¬éKD•••ì/,,L§ØGïp“’† ¢½¾ÆÏÏÍe«¯¯7¨v²ž·/•JYºÐÑÑQû—ŽMÖ "Fc܉*Ý/c™ IDATЃ˜˜V oëÖ­ñññŸ}öYII‰¡{ÈåröìjPá:[[ÛŽµ'Ø” ©TjP,Á¡3ƒƒˆÇŽÛ‹]]Ljùòå …ÂÝÝ}õêÕFì–û¶–K7è`í}/|8 ††»’§§gtt´þëÝô!“ÉXîÀËËËÐTl§4 Ë28;;{zzê¼Êfqç¤ÇÛçæLuœÔæêêÊ~1a î>ëoz€üüü¶oßîååED"‘håÊ•&L>|xRR’þ›z*•J6à'X77·Ž_¢jï0ª?¶ÊC©TöâÚ~vøðaVkóí·ß6îFÜãP§¥.”Je]]¹ººqP³ w++«áÇGDDe†…6–ºµ¶¶ 1J‡2™Œ•@vvvîøªƒƒ;0hâ’ž·ÏõÙi„M»“Édñ‘ ?$8 g³fͺ|ùòš5k¢¢¢Ød‡¦¦¦mÛ¶3fß¾}úô`ooÏŠósß+ö36®q¿ï5©TºfÍ"2dȃ>xC Wµ¦¦¦¼¼¼Ó˹/¥;Í2ÔÕÕ±‡16ÛŸÌ84Üeø|¾Î.§FqóæM6(88ØX;‰pD;Mìríííú÷©çí³>A§`siâÞ•8°Pdôbgg·dÉ’%K–ˆÅâóçϧ¤¤üøã2™lÅŠ“'OÖg¼§§gMMyg‰4555lMyyyttt§ç,_¾œ~/ bPç#FŒàóùjµº²²²ã«7nÜ`#GŽ4,è=4@är9+ëãææfÄì 7?¢ÓygVVV@©Tšb«ëÑÕŒ9®38à.ƒ`—iÓ¦>|øµ×^#"…B‘››«sN§5óXr­D0‘njõ±qMñůqqq‰ˆˆ ¢ôôôŽßܦ¥¥±ƒ &ÜMCô¨¬¬L©Tòù|C·yê^÷ ®ÝY6%ª«q¹™à€» fp@V¯^}îÜ9{{ûƒjo˜ÂÕ®Ó®ÆÇþn.--mnnÖ©§àããCDW¯^Õh4Ú£E7ãQKK Ûú‘Å M$]¸paæÌ™drÇСC322:})//ÍÝHJJš0aBïj‘Ì›7¯°°P,oÛ¶í_ÿú×~ýúõC‡ѰaÃî»ï¾^Å>p‡èÆíÛ·ÙOAAAÆÝ6•[ÒUµ›¢È1볫qYúÃDC˜÷œúúú£GvúR§¥õ"##wìØAD ÉÉÉÆ kkk;uêTRRyzzjë@D*•êõ×__¸páàÁƒÙND—žž.‘HJKKÙ>…FÔ͸D”ŸŸÏþ ‹‹Ó¾ª¸¸8>>žˆ¶oß~éÒ%“þ­ÿòË/ggg[YYeggw³ÂßÚÚzÔ¨Q¾ÄM| Õ9GÏΉè¹çžûè£nݺµiÓ&›ÄÄD›‹/¾ôÒK2™Œˆ–/_ÎÒO………Ï<ó ýýïOLL4ðvû44@¿Ñh4×®]#";;;ãî8KD\ÐN«lh4¹\®}šq‡–Ëå]•ØàÚM14€ál÷œÊÊÊ®žW:VûŸ5kÖž={._¾|æÌ™ØØX¡P¨P(Ø6±vvvÉÉÉÚyG}tûöíæØ±cÇŽ:tèÅ‹ÙKÓ§O_µjåää=ÁÑ͸DÄŽ­­­§L™¢}ÕåË—ÙÁ7:Îï0¢ìììÊÊÊÑ£G«~aï:·³³KII™;wn[[ۻロœœleeÅž²ˆ(!!aöìÙìX$±zÆÚQBÿ¡úMuuuKK pÿ–U©T­­­D$ ;-ØÙ î÷±Ó‡\.g¤¦øL`}²!:æ ¹xL14€aj"À=¤Ç¿Îù|>;GûL¡Pxâĉ+VøûûÓï1;;;Oš4)##Cç¡tìØ±ŸþùøñãÙÚXŒ1‚ˆ¾ùæ›NÓN”t C;ÈŽ/u3.ý^âa„ :»¨Ì˜1#<<œÇãÍŸ?߈َÁ·´´°:š=ôP¯»åÞ™&†v>~üø£G²Å *•Š=Ô999­\¹róæÍÜiEEED$ 'NœhPœÝü·Ósh€~#‘HØAiié…?b›ª´´´\¼xñâÅ‹l‹A¸5},E¢ƒkÔ^úg,NNND¤Ñh:Í­°À¸KrÌŽ×ØØhîÀbH$’ÊÊJ''§Áƒw¦L&koowttäªÙÑŽ;V¯^meeUXXh¢šÇ-))a‹h¶mÛöôÓOw¼D*•šâC[^^ÞÿýßÿÑñãǹ,Œy;×h4×®]koo÷÷÷9r¤Nöç¯ýë?ü{ìØ1ãÜãÐpoªªª fOæL~~~ss³‡‡GdddWWݹsçÊ•+D4|øð^Tþå—_ؾE= óõõ5´ÿË—/K¥R@ðÀè¤&KKKÙÞÏÑÑѽþêêöE" 2$((Hû¹\þóÏ?k4ww÷¨¨(óòòÄbq÷ï9À@#‘HÊÊʱD àääÔñâN988888è4.^¼øóÏ?¯¬¬üâ‹/^yåØÉ¸û÷ï'¢¨¨¨'Ÿ|²ÓKLÝ ßgC899;v€tÎãñFŒÁæÔtª¸¸˜ú6å¤×Cô›¡C‡vUz£¤¤D*•ÚÙÙ…‡‡Qï&;x{{K¥R¥RYUU¥nmm­¯¯'"{{{S| 4H(ÊåòššíDsEE[sï*w%,Q€þccc“œœLD~ø¡žßšöQyyùž={ˆèý÷ß7tý¼±dAll¬)Jú™¢ó–––ªª*"š¸¬‡AÝöˆÏç³Ä\./((J¥D¤R©®_¿^[[KDööödë(# èWS§N5kÖÏ?ÿ¼oß¾×^{ÍÔÃ¥¤¤ 4è‘G¹ÿþûM=V7Ø$ % LÑyII‰F£ñôôÄ4u°PÍÍÍmmmNNNFßšG&“±ööö=žÌçó#""®^½ªV«ËËË+**ˆˆË¹øúúzyyõ¢[}øûû‹ÅâÆÆF©Tzùòe>ŸÏÒ+D$"""Œ2 À€‚ô·Ï>û¬ßÆJJJbÛÙšWdd¤£££Î.¹s>Ÿ?{öìÑ£GcßV°ÚÿVU*K 4¨vü`»óù|WWW}úqqq1bĵkפR)—Ú°²² Ô^´bh·F«Ó^^^~óæMµZÍe7\\\BBB:.!¸ Á`ro¾ù¦eu>bĈݻw½[£svvŽ×id;¿‘››[¯{îªL ëÜÙÙY§hh7\\\¢££¥RiKK‹Z­¶±±Ñ^óÒën©‹Ûçðùüààà   ©TÚÞÞneeeooÔÜÅà€K©T²éDdkk«Ï%,Y`eeåììlôxØT‹^Ì qtt즞h¯»í‘µµu‰îf•A,0p577_¸pOœ8QŸbº,Yàææfô5VÜâ—¾Ì é·nõÔÖÖÆ½Ã ˆ¬­­µ÷7åñxz&,Ø S$ XÏB¡Ð¸{»š¨[=ñx<í÷™ˆ¬­­û? €¾C‚¢^ïôáààÀçóÝÝÝñxŸÿì³ÏòxŸŸ à³à.‡?úœ7VUU…„„¼üòË]“˜˜XTT´ÿþðð𘘣ÇÐÔÔ´`Á±X¼wï^Àº¹êÁœ7o:u*))‰ˆÌ˜\prrúøã+**Z[[_xá³Äý €çøñã"‘hܸqÝ$8øü>­/ûúë¯E"‘¿¿ÿÂ… ;=áÝwߋű±±3fÌÐ ¬›n­¬¬X‚£Ÿuz;B¡ð½÷Þ›?þÆçÎëååÕÿ@¿A‚À"íܹ3%%eÔ¨Q½›¾‘––vâĉûÓGnnîÁƒ‰hÙ²e_uppˆŽŽî´ÛáÇ÷"˜¾ëêv¦N)‰Ö¬Y³sçN³Äý ‹µyófuþñÇk4__߉'v|522ò믿6ÑÐF7wî\‘HtôèÑwÞyÇÓÓÓÜá@—º_нÀÀ@$8îB …¢¤¤D ÙÙÙt­\.ÏÈÈ ¢9sæôq!LWÔju}}}]]³³³¿¿¿­­m7'·´´TUU)•ÊÐÐP¡PhèXO<ñDRR’Z­NOOOHHèCÔ`rÁÁÁæ,RYYa€…Z»víG}äêêZ\\¬Ýž••µvíÚÂÂB¹\ÎZ&Mš´bÅ n%KtttuuµJ¥"¢‚‚ooo" ={ö,;áÌ™3‰„ˆ&Ožlô°•Jå|°wïÞ††Öbmm=}úôÿûßC‡Õ9ùôéÓ›7o>þ<ûQ(6ìùçŸ×.óÑãíøùù………Ÿ8q¢c‚C"‘Ž7ÎÊÊÊè7 ½àäädîÀ°ç"2É׳`j …B¥RqY f×®]ùË_rssår9·9ëéÓ§üñ¬¬,í ¹KT*•N?'Ož$"7zôh£‡½|ùò 6pÙ OZZÚOŸ/—ËW­ZÅN;yòdNNN\\…„„äääää䤦¦rý”””Qpp°‹‹‹q#\¿~ýˆhĈ›6mÊÎÎ>pàÀÓO?MDUUUO>ù$—y½uëÖ¢E‹”J¥ÝƳ²²NŸ>ýÖ[oùúúQrròíÛ·õ¼ú=Á!—Ë+**´Û322d2åääܼyÓ¸7 ý KTîgÏžmmm%¢äädV4((hñâÅJ¥2==ˆ¤R©£££¿¿?ý> ÜÎÎnÈ!:ýܺu‹ˆBCC»è·ß~ËÌÌìØnooßÍ–.õõõ›6m"¢€€€#Gޏ»»ѰaæM›&öíÛ'‰öîÝûÒK/Ñ7FŽID ÜôЍ¨(‡•+Wj4šŸþùÏþ3õx;Ú÷Ân3eÊGGG©T:nÜ8??¿®"‹€À]‚[qîܹ‡~˜kOLLLLLÔ¿¶~„% :uíÚµ'žx¢c»¿¿~~~WWåå屃M›6ét¾~ýúï¿ÿ¾®®Ž;'::úðáÃ;™7oÞ¿ÿýo•JUPPÀúpsscÚKcˆÈÇǧ°°°¨¨ˆMñ‹†À]"&&ÆÖÖ¶­­mëÖ­ qqq¡¡¡\1}Èår±XLZIýu?—¼;v¬ÎKB¡ð¾ûîÓNph«®®¾uë–X,‹ÅwîÜa£(•Jý4h;ЙÁADŽŽŽãK„À]ÂÏÏoûöí«V­jhh‰D+W®$"ww÷ùóç¿øâ‹ÝÌÈЦT*y<žF£éfëÖQ£F}õÕWÛ‚î>OXòÂÇÇÇÕÕµã«Ã‡ÿá‡*++›››Ù µµµ6l8yòdcc£>‘wƒÛ\Ö ´X¸{Ìš5ëòåËkÖ¬‰ŠŠâóùDÔÔÔ´mÛ¶1cÆìÛ·OŸìíí­­­‰ˆ«âÙ‘P(t錃ƒC7=k4šn^åf°Ó*++'Mš´ÿ~–Ýððð?~ü´iÓô¹ ÍÍÍìÀèeS`àÀ €»ŠÝ’%K–,Y"‹ÏŸ?Ÿ’’òã?Êd²+VLž<900°Ç<==kjjºIpôÎèÑ£322êêêÄbqÇDï¿þJDƒfKc6lØÐÔÔDDÿüç?—-[ÆM?Q©T … ¡ûí7vàééÙÇ»€þÔÔÔÔÞÞ®Ýâëë+‹u¶|öòòê~Ü#ðÀÝÉÅÅeÚ´iÓ¦M[·nÝæÍ› Enn®N‚£ÓLKpÔÕÕ7žQ£F±ƒK—.i×@%"¹\^PP }ιsçˆÈÝÝ}õêÕÜvm7Ù®^âîÅËË«÷7ý®ººš›ÅxyyÕÕÕÕ××k7º¸¸ Á„%*wÕ«WO™2åñÇ—J¥ÚíÜΩÚe8XÖ ´´Tçáˆ|||ˆèêÕ«Ý/*1—¼X¾|97¥‚YµjËApç°)J¥R.—s§)Š;wvÚy7·CZõMÙ­i‰DŸþyÇâ£0pØØØøþŽÏ绹¹±c®~0ƒo<¨úúú£GvúRHHHÇÆÈÈÈ;vQBBBrrò°aÃÚÚÚN:•””DDžžž&LàN "•Jõúë¯/\¸pðàÁ~~~쥸¸¸ôôt‰DRZZf¬Ûñöö~íµ×6oÞ\UU5oÞ¼gžyfüøñß}÷ÝþýûYüÏ>û,;yòäÉ………b±xéÒ¥ . ËËËÛ¹sgVVV§ws;Dtùòe"2d;S\\ODÛ·o¿té«Z“““ög‘·····7577ëdKà‡ÀUYY™˜˜ØéK ÎÎÎ:³fÍÚ³gÏåË—Ïœ9+  ›…agg—œœ¬ýÿè£nß¾]£Ñ;vìØ±cC‡½xñ"{iúôé«V­"¢œœ#&8ˆè7Þ¨««;xð`^^žÎް‡vrrb?Ο?ÿðáà ©©©©©©Üi&L(//¯­­Õé¹›ÛQ(l¬éÓ§ë\ÅDtãÆ†††Žó;À‚àK€ÇÊʪûø|>;GûL¡Pxâĉ+Vøûû‘\.×h4ÎÎΓ&MÊÈȘ={¶vcÇŽýüóÏÇÏ~ä61!¢€€€#FÑ7ß|Ói`úÌtàÎÔ6oÞ¼|ùr®E Ìœ9󫯾ÒÎ/„„„|ÿý÷±±±666ÜÝýóŸÿ>ÛнI,gffNœ8±ýTUUs3¹ˆ(??¿¹¹ÙÃÃ#22²ãùÍÍÍùùùD4vìØî·©€»›D")++ Ä €»““STTTÙ "rpp4hNî`ñâŃV©T_|ñ…)³²² 9rdXXX7Ù "²¶¶6lذaÃôÉnP‡Û¹uëVzz:%%%u5ñ¤ïÙ à]666ÉÉÉDôá‡Zô#k×®mkk›4iÒŒ3Ì ˜Љ©S§Îš5ËÁÁaß¾}接—nÞ¼ùÓO?ùùù­[·Îܱ€ÉaèÜgŸ}fîúÄÏÏïêÕ«æŽú fp€ÅC‚,`ñPƒÀ8Äb±¹C¸w!Á`™™™:-Æ,‘˜Ç3w@‚ ¯&Nœhîîu¨Á °xHp€ÅC‚,ŠŒÀÀ¥T*ÛÚÚØ±­­­R©T*•DÔÞÞnÖ¸`ÀA‚®æææ .°ã‰'^»v­¾¾Þ¼!ÀÀ„ DÖÖÖB¡û‘Çãñx­úúë¯E"‘¿¿ÿÂ… ;=áÝwߋű±±3fÌÐnÏÊÊZ¼xño¿ýƵܸqãÆß|óÍ‘#GöíÛdÐ@ПÔjõêÕ«?þøc®åöíÛÿýï=:xð`Ö. ß{ï½ùóçoܸqîܹ^^^f ú`6;wîLII5jTï¦o¤¥¥8qâ¾ûîë4ï››{ðàA"Z¶l™vûñãÇ-Z¤R©ˆ(..îþûï÷óó+++ûᇊ‹‹ ~øá³gÏz{{ë9ô³åË—ïÛ·ˆ† òä“O†……UVV~ûí·¹¹¹åååÓ§O¿|ù27 gêÔ©‘‘‘"‘hÍš5;wî4kà`ZHp€ÙDEEmÞ¼ÙDüñÇÆ××wâĉÚík×®U©T|>óæÍ \ûªU«V¬X±ÿþÛ·oõÕWXÑ00I¥ÒÇÑý÷ßÿÅ_¸¸¸°öþóŸÏ>ûì÷ß___ŸýðÃs—Ì;W$=zôwÞÑ^ÀMUU•¹C ˆ P …¢¤¤D ÙÙÙt­\.ÏÈÈ ¢9sæh/„‹Å×®]#¢±cÇjg7ˆH(®[·îøñã·oß>räH/ …â×_†^Ë444444„……é=½yófccãðáû)†ªÑhêëëkkkýýýM·C¥RÕÖÖ644¸»»ûûûëS¤£¬¬L©T:ÔÚÚºï|ÿý÷íííD´lÙ2.»ADB¡pùòåßÿ=effj'8žx≤¤$µZžž®óšàà`s‡©¬¬Œ0ƒÌhíÚµ}ô‘««kqq±v{VVÖÚµk år9k™4iÒŠ+¸•,ÑÑÑÕÕÕl™IAA[NzöìYv™3g$ Mž|¸®®ŽË#t?ÐÊ•+SRRÆŽ»sçΕ+Wž;wN&“äååésûMMM,rèСúúú;vüúë¯D$ž}öÙÕ«WÛÚÚqâDLJD"),,7nœ••U_cqrr2w`aØÓ!Áf¤P(T*—Å`víÚõöÛo³œÇÓh4DtúôésçÎ:t(..Ž»»„k÷sòäIvùèÑ£µ;÷÷÷ …r¹üĉK—.åªQrÆŒÓ1®b¯Þ¼ysΜ9•••†Þ¾J¥bþøã»wïæR*•Ÿ}öYssóðáÃ×®]Ë/—Ë/]º4kÖ¬ï¾ûŽ+ƒªV«/^üÓO?i÷ÜÐÐðÍ7ß°uDäáá±téÒ·ÞzK*•&%%mÚ´‰ÙÞÞ¾lÙ2©T:hР•+WvíòåË8 ÝrçÎ;w644|òÉ'\#{OZZZ-ZÄ&Ñp7•–––ŸŸîܹ¾lÊ;fÌÿFœ~øŒ;¶ãUÅÅÅYYY---ööö\{mmíøñãe2YLL û7–«OÛXWkk+«‘œ––VSS“››»~ýz>Ÿ/—ËW­ZÅN;yòdNNKv„„„äääää䤦¦rý”””Qpp°ö*"=ôýöÛoqqqï½÷›4Ñ•"¢ªªªÊÊÊqãÆ­_¿þøñãÚOûzúä“OvíÚ•™™ùÖ[oùùùÑÑ£Gß{ï=ww÷íÛ·gggoÙ²…=Ø×ÕÕ=z”»vãÆ,»ñÈ#>|øÊ•+)))?þ8•••i“˜˜øàƒÑþóŸŸþ™5~ðÁׯ_'¢M›6u³°åƒ>`ÙØØØäççxèÐ!öÎÄÆÆÎš5+77wË–-K—.eíœ9sæìÚµ‹Çã±ÂÃÃcbbäryvvö‹/¾ÈÎijjš5kV÷oŽ]Wuß{ï½_~ù¥µµ5??_,Ñ„ vîÜÉm¡Âáþ%°œ)S¦8::J¥ÒqãÆ±¼X.Ìà€¤¥¥…œ;wN»=11155555U'ÑV÷ÁÝݽãKAAAgΜùë_ÿÊ=WUU8p`áÂ…‘‘‘o¼ñÆíÛ· û7ÞèKÍ)S¦h§Nüqv›£FbÙ fðàÁìGV>‡Y¿~ýáÇ?ùäí§zkkë¹sçÑ/¿ü¢V«¹ö€€€õë×QiiéæÍ›—-[¦P(üüü:NÁЖ——Ç ½ùæ›ÚY {{ûW^y…ˆ”J¥H$ҹ꥗^bÙ ÆßßüøñDT^^Î5êSö¢›sΟ?ÿ¿ÿý/++‹e7¼¼¼fÌ˜áææÖñL®‘ýÃàøøø¦§§?~¼ÇH`€Ã @bbblmmÛÚÚ¶nÝš‘‘‘ªý¨Ü#¹\Ξx;}Öeí}ôѺuë¾ûî»S§N9s†Uñ”Éd»wï>~üø‰'¸"=rssë´d©þtŠJØØØ¸ººJ¥R¶¬C[xx¸H$ÒÎYpZ[[ËËËïܹ#‹Åb1[‹¡V«Õjµö>2óæÍ;yòä·ß~Ë6èåñxÛ¶mÓYÈ£ƒ«™ÚÜܬSìƒ­ï ¢«W¯jß…­­mxx¸N?l:ŒT*åZ<<<»º{O<ñÄèÑ£•JeuuõåË—V­Z•’’rèÐ!ê*\±UDäèèØ±fX"$8`ñóóÛ¾}ûªU«D"+{éîî>þü_|±Ó)•JV´ãRmŽŽŽóæÍ›7oåçç9räóÏ?—ËåµµµK—.ýúë¯õŒ¹ûQô¡³¸ƒ£OZ‡•ŸØ±cGaa¡R©Ôg¸M›6ýüóÏìQÿ™gž™4iR÷çs+bžzê©®Î),,ÔþÑÍÍ­ã²]Ýf¯=÷ÜsÜq{{û† ¶nÝZZZúꫯêüçãÊšêù€%B‚–Y³fM:uÏž=Ge+,ššš¶mÛ¶gÏžwß}wÁ‚=ö`ooomm-—Ëõ_l2räÈ‘#G>ýôÓÓ§O—J¥YYYÍÍÍ®®®}»•þ°zõê;w²c¡PèïïïêêêâârãÆ V=´#[[[.×ÀMÁè[ŸÂçóGŽÙÕ9>>>‡nT666o½õ–H$ÊÈÈÈÊʪ¬¬ÔžÄÁm Ûý\°hHpÀ€cgg·dÉ’%K–ˆÅâóçϧ¤¤üøã2™lÅŠ“'OfûžvÏÓÓ³¦¦¦c‚C&“µ¶¶òx¼N'ƒDDD<óÌ3;vì ¢ÒÒÒ˜˜£ÜŽéTVV²ì†ŸŸß®]»ÆÇU¬Ø¸qcW•5Þzë­êêjv|äÈ‘™3gNŸ>½›QFŽ™‘‘!¾ýöÛ¾OWÑ&‹çÏŸßý9‡æ~T*•lÑMÇ"D4yòd¶7íµk×´¿ýö;ðôô4BÜÐ_šššÚÛÛµ[|}}Åb1W°‰ñòòêô3î5øƒ.—iÓ¦M›6mݺu›7oV(¹¹¹: …BÑñB–àøìÝy\SÇÚðI€ "¢,ZE±* "bA´Rm«\êvQ«ÐR«^µ*Ö¥Z6¥¸Õ w±Ô­.`ÕjA´¨hAE@QY,û…€l!!ïóÞó97 ˜°…Øß÷¯0g›3çÄvžÌ>~Ò¤IÜÐaijj2©‚¹\®Í\WWÇŒÏ p@›*,,ö­>øàuuu¡PxàÀccã±cÇVTTܺu+ @ Hï¿zõêÂÂB55µ;v¨©©9::Ι3ç—_~¹téÒùóç§N*ó*¦¦¦Ë–-Û¹sçÓ§Og̘áãããàà››,‰Þ{ï=ggçfÔ_KKkÕªU òÙgŸýðÄOOÏuëÖyxx˜ššVTT}úÐGÉHOO=z4!dÏž=ýõ{¹è8tuuÙÿ’BÊËËà68  eggûøøÈÜäééÙ¥K‰Bww÷#GŽ$$$ܹsÇÙÙ™ÇãÕ××Ó$—ZZZAAAì.è§Ÿ~ºgϱXÑ·oßÐMŸ|òÉÚµk !>dÿo1!äĉóçÏOOOÏÊÊZ¸p¡tÅæÍ›G»Ðò\H¦¸¸¸ììì¡C‡¶itƒ¢««ëííZVV¶|ùr¦\MMÍÃÃ#""‚½3­Ÿ¯ì*üs!ÀÐ bcc%JÄb±RjÐÖ8޲« -5jÔ(eWàŸ98@å!À*Pyp€ÊC’Q踄Bamm-ýÜ©S'¡P( !uuuJ­t8p@ÇU^^O?5êùóç………Ê­tLp@G¤¡¡Áãñ˜?9‡Ã‘($„p¹˜o „ ÀÓÀ¥ -,,,,,Ú¿2ÐñáGPyp€ÊC€Trp@GQYY©ì*€ªB€:„¬¬,eWT§¤¤DÙuhäà•‡¨<8@å!À*Pyp€ÊC€Tžº²+ òââ⤠Åbqû× p8éÂQ£FµMØàh£GVv”&66VÙU@€ •èéé)» JÀçó•]BƒÞp€ÊC€T òà•‡¨<8@å©Ë¿krrò‘#G†:wîÜ6ªM\\\ZZ𥥥³³s]¢#è ·)‰Ž?.‹œœ¬¬¬”X“Žäääøøx.—;þ|‡ÓôÎáááÀÎÎÎÖÖ¶}ª×BB¡Ëår¹m62­´´422’Ëåzzzª«Kþ›•=dÈ{{û¶¨tÿß ÉÍÍíׯßÒ¥KÛÕÇÇ'---<<ÜÊÊjøðá­^•ÒÒÒ¹sçòùü°°0¦V¬‰£LLLÖ¬YÓê•i;2oÓÏϯ¤¤dÊ”)®®®íV“ÚÚÚÕ«WB˜ÇÇÃÃõ´´‚ƒƒå?•RêßΚqÒíççG‘Ù—°fÍšººº+V´C€£%O0555""">>>11Q]]ÝÞÞÞÁÁÁËË«k×®-¯Ø¥K—bbbÓÒÒtuuíìììììæÏŸoddÄ죫«úêÕ«šššE‹Iœ¡  À××·Gñññ:::-¯tLÿßź|ùrJJŠƒƒCŽþ0{áÂ…””SSÓ ÈÜÁßߟÏç;;;Oœ8‘)¤kâ´–––ªày›¹¹¹ Pz€àùóç'OžÔÖÖV(ÀÑqêßvšqÍkL¥hö¼}û¶§§gUUSrëÖ­[·nEDDœ={ÖÌ̬ÙUjhhظqchh(SRVVõ믿ž;w®wïÞ´œÇãΙ3'$$dÚ´iÝ»wgŸgöìÙaaa? Ù´iS³ëœSTöíÛwìØ1[[Ûæ ߸xñâ•+W $3À‘˜˜xâÄ BÈŠ+¤·êèèØÙÙÉ<-ÓÉQ Mß&€j‰5k–@ ÐÒÒš5kÖðáË‹‹¯\¹Ÿ™™ùñÇÇÇÇkkk7ïä+W®üùçŸ !}úô™1c†¥¥evvö¥K—_¾|ùÉ'Ÿ$$$têÔ‰î<~üxkkë”””M›6íÛ·}.—»|ùòyóæ8pà_ÿúW¿~ýZx×Ð1)à°±±Ù¶m[Õ#44T,÷ìÙsÔ¨QÒ[­­­/\¸ÐF—nOMß&€j ÚÚÚ§Nb^é/¿üráÂ…W®\ÉÏÏ¿sçÎøñã›qæ7oÞœ9s†2bĈ“'OêééÑò¯¾újþüùׯ_/,,Œ‹‹ûðÙC¦M›–’’rîܹ~ø=…âææ¦§§Ççó<øã?6ón 5=# iæææ 8šV__Ÿ‘‘¡®®Þ«W/---…ŽQQQ„)S¦´b†ÂªªªÌÌLsssCCÃÖ:'% ÓÒÒºuëÖ£GvymmíóçÏ LMM¥jÉmÖ××?{öL]]}àÀìr‘H”ŸŸ_TTdhhhjjÚtZ‡Â¿ÿþÛØØØÄÄD¡«·„X,.,,ÌÏÏïÑ£GÏž=å<ª   //¯_¿~úúúìòÊÊÊÜÜ܆†333‰Mjªí^˜&TTT¼xñÂÄÄDbbEë’¿Ýä×ÐÐpçÎBˆ‡‡;`§®®¾nݺ+W®BnÞ¼Ù¼Çõë×ëêê!+V¬`¢„·råÊëׯBbccÙŽ©S§úùù544\»vÍÓÓ“}6÷ÙgŸ…‡‡_½z588ø­é]@Y,,,”]PIYYYD¡»wïÖ××OOOg—ß¾}; 99Y ÐWWW___f&‹]^^žH$"„<}úÔØØ˜Ò¿ÿ?ÿü“îpçÎÊÊJBȘ1cš}?¥¥¥´óúôéÊÊʽ{÷>yòD(BzöìéçççááÁìüèÑ£ &B"""œœœØçyúôé¸qã!gÏžuqq¡…kÖ¬9v옽½ý/¿ü²lÙ²Û·oÓ ÷íÛwçÎNNN999ßÿýï¿ÿÞÐÐ@éѣǿþõ/‰ä Ý&sÅ}ûö­Y³æîÝ»UUUfff?¦;…­[·;v¬´´”–téÒå_ÿú×úõëy<žÄÙ._¾˜™™Iÿ422ZµjÕôéÓåiØ–ˆˆˆØ¼yó‹/èŸÝ»wÿöÛoçÏŸoeeÅç󃂂.\Hþ÷Ùeff†……eddBvíÚ5{ölzlBBBPPPll,sr‡ 6Œ9Râ¢r¶ŒB/L[ {úô)}g °~ýú?þ¸‰CfÏž}óæÍ‘#GFFFJlš;wîüáààpéÒ%v¹üí¦¨üü|CCCCCñcÇJlêß¿?Ç999Í;ù{ï½·yófBÈèÑ£%65 211±´´LOO¿råŠD€ƒâêꞟŸÿøñã¡C‡JlMJJ¢°æÕZ‘®®®²«*†v´‰BŽúúz‘HÄD1¨|ÿý÷4xÁápÄb1!äÖ­[wïÞ=}ú4 ЙCègöy®^½J—îxÈO$Ñ3ÇÆÆ}úüùóÒ§zöìÙôéÓ+**Ø…<˜9sæåË— Ä.—³ezaZÝ¡C‡6lØÀ.IOOÿâ‹/Ο?ßÄô%úrJ¿´„‰&¥j7E™ššÆÇÇËÜ”ŸŸOÛsÀ€Í;ù°aÆ &sÓ7èée_‡ –žž~ûöíêêj‰ÜÌÙ®^½*ñܰaChh¨ššÚ‰'hpTQ‹¦¨ÔÔÔˆD" ‹íÛ·>¼  àúõëk×®k×®¥c4®^½*¾ýöÛÛ·o÷ë×ïÔ©S„MMMæ<´§maaÁ‹Þl{öìéÚµëÚµkGŽ)‹Ï;·{÷n‘H0mÚ4E§Ï°=}ú”²páÂÏ?ÿ¼´´ôôéÓ¿ýö›@ ððð‹ÅÓ§OŸ7o‡Ã¹xñbxxxMMMhh¨¯¯/39¢‰Ûôöö.++“ÎÞJ'$;88L™2ÅÆÆ†)ß¾};íÃ;;;õÕWƒ JNN ýóÏ?Ï;×§O___ºç«W¯¼½½E"—Ëõööþè£:wî|ëÖ­C‡>|Xú ´|ùröÓ‘‡týŸ={æããÓÐР¡¡áãã3nÜ8˜˜˜ƒ=z´±óœ?^SSÓËËËÑѱK—.4daaá¬Y³***x<ÞºuëÆŒÃáp¢££«ªªfÍšuýúufÒü-Ãó…iì5¡‰ÆÜ°aC÷îÝ¿üòËÑ£GWTT\¿~ýСCB¡pÁ‚QQQæææò_¥1 µ[3î® ?ýôýàììÜ*'¤ÄbñÅ‹ׯ_O4hÐG}$±Ã°aÃN:%^½z%1™ËÜܼ[·n%%%Òq=:F$]¾|ÕբǟþYSSC ¢?;÷êÕËËËK(^»vòæÍ›Î;ÓßtЩ––VŸ>}$ÎS\\Léß¿cJKK›;w®ÌM‹-rttd—hkkŸ={vÈ!ôÏõë×óù|:a!##ƒ)oooo:ržâææ6|øðW¯^‰Åbww÷}ûöѹý#FŒ(//ÿõ×_kkkÓÒÒ˜ÀD·¹hѢƮ8qâÄC‡ihh0%EEE´|ðÁéÓ§iÿÙÔÔÔÙÙÙÝÝ=11qÇŽË–-£åÁÁÁeee„5kÖ0K·ØÙÙ5ÊÝÝ]z,€ ;’"'éúoÛ¶íÍ›7„€€:…bkkëââ2iÒ$‰q@ mmí3gÎHÌž ÉËËSWW cú´VVVfff^^^aaak×®U´eØ•ç…iâ5¦‰ÆäñxáááÌÚ@£GÖ××.--ݶmÛÎ;½–4ùÛ4ëîsûöícÇŽB\]][%^˜ššZSSóäÉ>ŸOqrrÚ·o³„ ƒùrÑïšôÖ’’éMûöíSSSc¯Ü *§EÃý IDAT=«««é‡»wï²Ë}||"#####;wî,ÏyŠŠŠ!Mdv¬¨¨ø½Ò“ü]\\$¢S§N¥˜dÍæããÃ|æp8L†ˆÙ³g³32=¥çÏŸ3…o½M™¾ûî;vtƒòøñc:hýúõ쾺¶¶ö¿ÿýoBˆP(LII¡…III„[[ÛåË—³OâèèØŠ}Zi4Wˆ££#Ý ììì–-[ÖØQnnnÒ¹!=zDqqq‘øÅ~òäÉôWzzDÁ–a´é Ó˜eË–I¬|¼råJkkkº’¿ÝZQZZÚüùóttt‚ƒƒ[åœ÷îÝûã?nß¾M£Ý»wŸ8q¢ôžL!ý®IèÚµ+!¤°°P¢ÜÏÏïÎ;=Âð •Ö¢ÇïÔ©SmmíO?ýåéééââÒ¿…)´ß"³ÇBéëë³—K`“"Ño$„0¹阂fëÚµkïÞ½Ù%Ì**ï¿ÿ>»ÜÊÊŠ~ ým"ßmJ300ÎbÀä-//‰‰aoªªª¢’’’† FWu!„ >\ú¡Œ9r×®]òWF~4oˆt–BˆƒƒCcJ Æ!„‚gÏžBôôô$n–Ò¥KBÈ“'OèŸò· {SÛ½0M¾S‡cgg—’’’––V__/ÕR”BíÖZòóógΜYQQ¡¡¡ÖZ«!L:uèСB¡0///!!¡¨¨híڵǎ;}ú´Ä÷‘†0H##8èV™›˜/,¨®8LLLöìÙ³víÚ¢¢¢””ºhˆ¡¡áœ9s¾ùæ9‡*…BšTzÀ9ÃÒÒòÀrÖª[·n%MœY!Md¦x벯òܦ4™;Ó_æ !3gÎlìÀäädBȳgÏhM™ý7‰$­(55•Fv$â>§ “ôý¦¦¦Òù,2*.....622’¿eØÚî…i‚ÌF I ddd4ÑJòP¨ÝZr!ÆþóŸiÓ¦åååBvîÜÙ’‘$|ñÅÌ纺ºüñ§Ÿ~ÊÌÌ\¾|ù… Ø{2«äÈÌÃJ·ÊÜï€8!îîîãÇ?räȹsçRSSJKKwíÚuäÈÿÆg°ikkkhhš*â]ÕŠ·Ic\.·‰|"th 3~D¡15-ÇdQ•X¿ƒ*//—ÿTÌ",¦¦¦­Jþ{§ò·LÇÔŠI¡vk¹ªªª™3gÒ¤7nÜ8cÆŒV9­4MMÍ 6¤¤¤DEEݾ};;;›=ˆƒyµd¦+¦_½VÉd PK„--­Å‹/^¼˜Ïçß»wïØ±c7oÞ¬ªªòõõ3fŒ<ëA½~ýZ)él—¥¥¥mt­ÖºÍ!C†DEE©««_ºt©é±VVVjjj"‘ˆÎV ³°UXZZÒ¹K©©©Ò[¥ÇP4ÁÚÚZ]]](Κ5‹j‚ü-£t)))te6úDx<ž¥¥eÇÖÕÕIJ¼· µ[ ‚¹sç&&&BV¯^½dÉ’–ŸS(644p¹\f"¶1cÆDEEBž?Îpüç?ÿ¡dK¡_½Ö±í ´´Tâ_¼ž={òù|&Õ½{w™ÿVÀ?M‹’ŒJÐÓÓ›0a™3g¾ýö[BH}}=íó°Õ××KH»­X™¦1¿âæççKl’®ski­Û¤ÃABBBÓ{jiiÑ<2÷¼ÿ~ kÒ555:ÃâæÍ›±X|æÌùO¥©©I³H$²•Iþ–Q:鯋ŴÚï¿ÿ~c 8è{+ýÒ ‰ä© µ[K444øøøÄÆÆB–,Y²zõêV9íäÉ“MLL[e–.ŸL‘h(æË%sÐ ÝjllÜ*5€v———ù¿D"QAAD¡Ì°/üµ(À±qãF77·É“'Käbd²ÓpÐ ð™™™Ò3謤¤¤Ö0ÿVÚÚÚ„K—.±Ë ê~+¤µn“½ )“;“úõ×_GŽ9räÈèèhZ2hÐ BHBBž={Ø{>xð`ïÞ½-©FÓèð„üüü/¿ü’æ¡¶lÙB{—Ÿ­­-!äÞ½{gÏže—WTTL›6mäÈ‘ÌZ6 µŒríܹ“ÉBíØ±ƒŽmib~ }šýõ»|ÿþýÒc‘äo·–øöÛoûí7BÈ—_~¹qãÆ–Ÿš0a!$33Súm)))¹|ù2!DMMM"¹ “eVz"RuuuFF†ÌM555§OŸŽ‰‰i·@!ššš=ÿ‹ËåÐÏL^aê†tž;wNæ~ýúõ“.´¶¶¦dOOÏ   ÔÖÖFGGûùùBŒŒŒœœœ˜ÍÌÌ!"‘hÕªU ,èÝ»·‰‰ ÝäââríÚµÊÊÊÌÌL™ƒó›¨˜¾¾~3wär¹ÖÖÖ>ŒŽŽ^µjÕ¼yóx<^BBÂîÝ»éòmá­·)'SSÓeË–íܹóéÓ§3fÌðññqppÈÍÍ ‰Dï½÷óÓ÷êÕ«£¢¢ø|¾¿¿qqñG}¤««sàÀ™£iÉÉÉóæÍ#„x{{³ǕӪU«îÝ»wÿþý˜˜˜ºººjjjÆÅÅegg(4OgåÊ•7nÜ(**ZºtéëׯÇg``˜˜¸wï^ÚÏgæD(Ô2ͶtéÒ¸¸855µ¸¸¸f¯u"<==¿úê+WWW>Ÿýúõýû÷B W¬XÑØQ4ÀAñööö÷÷4hPvvö7BCC¥w–¿ÝØzîþþþááá„Þ½{:TúKÊápÜÝÝÕÔÔèŸò7ÝgŸ}öÃ?B<==×­[çááajjZQQñàÁƒU«VÑT¦3gΔ˜oB‡ÀôéÓ‡þkÃöäÉh“ž´dÉ’ÈÈHBÈ®]»Z%è­KWW—ýMccc:«¼¼œ™˜@$ÙÙÙui<==éÒ’lîîîGŽIHH¸s玳³3Ç«¯¯§¿‚jii±×ùôÓO÷ìÙ#‹é²}ûö}ðàÝôÉ'Ÿ¬]»–òðáC™=ÿ&*fiiÙŒ!$ ÀÃ㺺úرcÇŽcÊg̘ÑFƒ8Þz›ò[·n]NNÎ… îß¿/1ÙAOOoÛ¶mLïÑÂÂâÀ³gωD{÷îeÚðòò:}útc+¡¦¤¤ÐXÌØÖ[ñx¼ãÇ»¹¹åää”––ž?ž–†……Mš4IþS™››Ÿ:ujÒ¤IÕÕÕì­ü1{Íù[¦Ùh˜fèСÍ>•¡¡¡··÷–-[~øáÚ§ÔÕÕ=ÚDښѣG»»»GFFæææÎŸ?Ÿ}¡C‡J vP¨Ýò?÷Ÿ~ú‰~ÎÎÎþúë¯eî6~üøÎ;ÓÏò7]ïÞ½CCC—/_^[[»iÓ¦M›6éèèTWW3ƒ,fÏžÂ>¤¾¾žŽàøä“O¤OHÿµÑÐÐpss“ØÄ ‡ù믿àP]ÿ€`~bmt?.—îÃÞ“Çã]¹rÅ×××ÔÔ”"Äbq—.]\]]£¢¢<<<Øg°··?zô¨££#ý“½`„™™ÙàÁƒ !t¬;Û[+Æì ý]yéMvvvÇ·µµe2“éêê~ÿý÷ëÖ­“ÞYúÞ%ö‘X&–ù“]ÞÄm6v_Ý>‡ÃÙ³gÏâÅ‹õõõ™B}}ýÉ“'ÇÅÅ=š½ó¸qã8ÀÌ"„nÞ¼900°‰«¤¥¥Bx<Þ¨Q£ÞZ[™ ïܹ8iÒ${{ûO?ýtݺu>¤ }³Õ„2dÈ3gÎ0/ݳÿþ{÷î g7²ü-£è CUWWçääBÆŽû–û—…ið•+WnÙ²ÅÚÚšù"ôïßÿèÑ£ìÖ–~:\.wß¾}³gÏf\5jTDDýJTXþvcÈÿÜåYó…Ãá0WQ´é¦OŸ~õêÕAƒÑ›ªªª¢ÑÞ½{ûûûïÚµ‹Y–ŠŽŽ¦Ñ:™Ž‹/Bœœœ¤WQY²d‰¦¦¦±±±<«>@‡Å)))i•UVVfggëêê²5©ªªª®®®sçÎìþÉÞ½{7nܨ¦¦–œœÜÎËÔÔÔdeeéêêš››Ëìòµ¢V¿M¡Pøúõëòòrccã¦@‹ÅùùùÅÅÅ]»v533{kïtÖ¬Y7nÜpvvŽˆˆhy=ÙRSSé4ýû÷O›6M¡cËËËóòòÔÕÕûöí+Ñ¿• Ë(äñãÇtÄÐåË—Ùƒf+++ËÍÍ522êÑ£‡BËÄfggWUU™››ëêê¾ugùÛ­íž{³›®¦¦&%%åÙ³gÆÆÆvvvìÌ>l^^^‘‘‘½zõú믿$¾Ètº\c“Pêêê¸\nKF÷ÐðÖ …&>ŸÛìh8#77ׂýoÚ“'OÊËË»uëFWK(//òä !ÄÞÞ^GG§…WÕUYY™••ennÞj˪éêêÚØØÈ³§ŽŽŽôÿˆxyy=z4;;ûäÉ“ÿþ÷¿[«VòÐÒÒ’³æ-×ê·©®®Þ»wï·•!ÇÄÄ„É{òVéé餹ã!;wî¼rå ‡ÃÙ¾}»Dóž8q‚ÖGb¤‰<ôõõÙC3š Ë(„pÐÕÕµ··o•4ã@…nMþvkásoB³›NKKËÞ޾飊‹‹¯]»Fñóó“SÒD!6663fÌy¸¦¦¦BU€¨m,ÈOSS3((ˆ²sçÎââbeW§­¨ÊmVWWÓ•8njӼ3888¬ì*´‡Ž›\.×ÃÃcèС e…pèС &lݺõåË—B¡ž¶oß¾NNN~~~ÌʪÅÚÚºsçÎÒ+q¼Zå¹7¦íšÎÄÄ$))©±­~~~tájx·µZ’Q€Æ‚/^Ô××[XXhkk+»:­IF០IF@¹Z?É(@cx<Þû￯ìZÀ»¬åàhŒàh|>_ÙUøçB€ ÄÆÆJ”ˆÅb¥Ô ­µEb€–C€ ¥Zž^Z98@å!À*Pyp€ÊC’Q踄Bamm-ýÜ©S'¡P( !uuuJ­t8p@ÇU^^O?5êùóç………Ê­tLp@G¤¡¡Áãñ˜?9‡Ã‘($„p¹˜o „ ÀÓÀ¥ -,,,,,Ú¿2ÐñáGPyp€ÊC€Trp@GQYY©ì*€ªB€:„¬¬,eWT§¤¤DÙuhäà•‡¨<8@å!À*Pyp€ÊC€Tžº²+ òââ⤠Åbqû× p8éÂQ£FµMØàh£GVv”&66VÙU@€ •èéé)» JÀçó•]BƒÞp€ÊC€T òà•‡¨<8@å©+»-•œœ|äÈ‘¡C‡Î;·.—––fiiéììÜF—èÈjjjNž—ûî Ù¾}ûŽ;lll¾øâ Z²fÍšººº+V¨D€C üüóÏáááYYYuuu¦¦¦...«V­277oÓc¥EGGûùùBdöÃ%´ðÅVèZ-þðáCBÈüùó‡ &½CZZZHHH|||AAŽŽŽ¥¥å—_~9uêÔ·~Mäl]]ÝÐÐÐW¯^ÕÔÔ,Z´Hâ$¾¾¾=zôˆ§:x'uèÇåË—SRRšp´0”páÂ…””SSÓ ÈÜÁßߟÏç;;;Oœ8Q¢bÓÜÜüܹs-©Xñòå˽{÷B¶lÙ¢ŠQ›ªª*ÄÄD¦$//ïäÉ“çÏŸ?{ö¬““SÛr*ÑÚ¥¥¥Ë–-»zõ*ýÓÙÙY:Àqំ†úgUUÕ£G¾þúëÈÈÈãÇ7|‘¿ýy<^``àœ9sBBB¦M›Ö½{wöyfÏžöøñãM›6µìŽ ãRNTÓöíÛ7oÞ¼;v4oøÆÅ‹úé§ððp™[Oœ8AY±b…ôÖÎ;chffFùã?Ö­[×ı µÿøñã­­­+++¥C\.wùòå„<þ¼9· ª Cà‡Í¶mÛÚèä¡¡¡b±¸gÏž£F’Þ:pàÀÓ§O³Khÿêøñã%%%7n<þ|U¬}<þüÆ„Ï?ÿ\Ùuiޏ¸8Zÿ>}úÄÆÆÒìööö«V­ª¬¬ÜºuëîÝ»[ýØVѦ/v ‰D"??¿}ûö‰Åb55µñãÇÿþûï2÷ ¨¯¯'„lݺÕÓÓ“Κ5ËÍÍ-++ëøñã_ýõ{ï½'}`3ÚÚ´i)))çÎûᇌŒŒØ›ÜÜÜôôôø|þÁƒüñÇVhhÒs?ägnn®òަÕ××gdd¨««÷êÕKKKK¡cATT!dÊ”)rÎÐÕÕݺukZZZ||üƒDZD±X\XX˜ŸŸojj*1¾1YYYB¡°oß¾íܶG={ö”ç´•••¹¹¹ fffúúú2÷¡½V÷ÙgŸÉsNªªª*//¯¶¶ÖÄĤ[·nJÌp¹oß>úáûï¿gç¶üâ‹/.\¸pïÞ½³gÏnÚ´ÉÐаu•_iii^^ž……EçÎå?ª»Ù×’©¬¬ŒN\277ß¿?‡Ã‘àHJJº{÷.!ÄÚÚzΜ9Ly—.]¶mÛæîî. <$}l3ÚêÔ©~~~ ×®]c‚)}‡ÃÃï^½Üq²®€„wcv'´¿¬¬,òŒàؽ{·¾¾~zz:»üöíÛÉÉÉ€–¸ººúúú2þíììòòòD"!äéÓ§ÆÆÆ„þýûÿùçŸt‡;wîTVVBÆŒ#}8΄ âããkjj=z4bÄZÎçówíÚuüøñòòrZÒ½{wGGÇ­[·víÚ•9|Íš5ÇŽ³··ÿõ×_W®\TDQWWÿôÓOƒƒƒ»uë&qňˆˆÍ›7¿xñ‚9í·ß~;þ|+++>Ÿ´páBöþ AAA±±±L‰ƒƒÃ† FŽ)qæ+W®Blmm‹€HxôèÑæÍ›cbbÄb1-éÝ»···7ýóéÓ§ãÆ#„ìß¿ßÃÃ9ðÎ;Ó¦M#„üøãóæÍcÊ“’’ÜÜÜ!‡R(ÈB‰D´wmgg7iÒ$‰­óæÍ»wïžP(Œ‹‹“>sKޕӶmÛ.\¸‘‘!‹9ΰaÃvìØ1pà@f‡Æ^lE·<×jww÷mÛ¶ééé=xð@æ·oߦ6lØ "üàƒúöíûâÅ f¶æµ¿‰‰‰¥¥ezzú•+W$„WW×ðððüüüÇ:TbkRR’¡¡¡©©éÛoÚ˜®®®²«*†öÜÉ;ƒ£¾¾^$1Q êÀÓ§OOLL̯µ·nÝš|øð‚‚‚ëׯÓ|™k×®¥c4®^½*¾ýöÛÛ·o÷ë×ïÔ©S„ö`øŒŒ Bˆ……EÓ½8iL¿®OŸ>ôCHHHLL !ä£>Z¸p¡¥¥åãÇ###/^¼˜••µÿþÀÀ@öž>}úôéS™3gÒ¥7mÚ”––öêÕ«C‡}óÍ7t·gÏžÑõ)444|||Ƨ££sðàÁ£GJW¬°°pÖ¬Y<oݺucÆŒáp8ÑÑÑUUU³fͺ~ýº‰‰ Ý933“v‰íììÞzËyyy3f̨¨¨PSSûꫯƎÛ­[·;wî9räÕ«W=zô˜5k–ººúèÑ£/]º$àˆŽŽ¦îܹS__ÏDˆ˜ Ý»w …o (¨««3}éׯ_Ó4¥¥fѼ¼<é­-9V?þø£££ã‚ † VVV¶uëÖ?þøC lذáäÉ“¥èã–ÿZж­––ÖôéÓßz›´õõõeNŠ¡m+‹_¿~m`` } Q¼ý‡ vêÔ)@ðêÕ+‰!*æææÝºu+))¡ßk¶ÈÈHBˆH$º|ù2aªè püùçŸtèDPPMÚ«W////¡PxíÚ5BÈ›7o:wîL‡£Ó¡°ZZZL0‚Q\\Léß¿¿ü—‹ÅÇŽ£3;† Ò»woZ^VVöá‡ìܹ³S§N„ssó &Ü»w¯¨¨(..NúTS¦L9pà~bnnnee5|øp@Ç8¶mÛöæÍBH@@31ÁÖÖÖÅÅeÒ¤I?þBBBBòòòÔÕÕÃÂÂ>úè#ZheeeffæååUPP¶víZZÎ ‘§¶oßžŸŸOÙ°aÃâÅ‹i¡›››››[eeåš5kf̘ÁårÇŽ{éÒ¥ôôôÒÒRš@¡   55•Ãáðx¼7oÞ<|ø®*‹i¯ûÃ?$„”––º»»7] ---f8 3.€é³éèèèëë———³ÇÔ0Zr¬<†þ믿Ò5wÞ{ï½ððp—´´4fz”LŠ>nù¯¥hÛʉ¶Ì »œÏçKljvû3ï*ýòJo-))‘Þäáá±oß>555öRРrT~ŠŠ4ftºÄ0ŸÈÈÈÈÈH9“,Ò~Y$³²²|ÿkõêÕÞÞÞ#GŽ\½z5!„Ëå®_¿žÙsË–-gΜٿ?nP4ñDjjjCCƒÄÉ—,YÂN…hjjJ?ùò%SøøñcBˆ£££DÚ;;»eË–IWøÑ£G„&ºAMž<™þÜ””$qû„vŠÆÐšØÙÙ1Ñ ª_¿~t)ЪªªÌÌLBÈØ±cé&æéÐá¶¶¶ôÇsf4dzgÏhG—8ÔÔÔÞZ ö>ôCci8i¹tﺅÇÊã›o¾¡ŠËåN:•R]]MãD2)ú¸å¿–¢m+'ÚŒM·!‘ÕŒÍnf$óö²Ñ7¹°°P¢ÜÏÏïÎ;=Âð •öŽà>|x§Njkkú駨¨(OOO—þýû+´t‚@  Ý'‰Áól¥¥¥GŽ‘.ï½÷¶lÙ"35iMMÍË—/+**ø|>ŸÏõê!¤¡¡¡¡¡…±S§NVVV=`Îê IDATÇÒ!'ô7|BHEEEvv6!ÄÞÞ^úBÒwôìÙ3Bˆžž/ÃÖ¥KBÈ“'O˜æ‡î·8˜3ËœÌÂTïÉ“' 0550`@zzúÝ»wiþHZ77·ž={^¹råæÍ›46D# ;w¦yaéü‚¦kÂÆ,šÃô–%ÐrvÈ©UŽ•‡tC1C˜ç+}E…·B×R´måÔ©S§ŠŠ &ߦmÙó¨f·?ó®ÊÁA·ÊÜ$ýu•ó8LLLöìÙ³víÚ¢¢¢”””5kÖB çÌ™óÍ7ßȹ®§P(äp8b±¸‰N¬¶¶¶­­-óg||¼H$ÒÖÖŽÕÑÑaï)‹###÷îÝ›œœ, ßzuuuÉG#ÑLMM¥92Þÿ}é3X[[K”¤¦¦ÒY 2¯[\\\\\lddDa2°J¬t+-55•æ¶”ÙK0`mÉÇþù焱cÇÒ!¤¡¡áÖ­[„?ü¦ÿHNN¦u ;8;;7±>n˜Ì)23e…‚‚BˆÌbZr¬|>Μ9M×YGGçÌ™3ôóàÁƒ¹\nCCÙ!!''‡~`jÅÖ’cÛˆ¢[!ж­œ† vÿþ}‘H”——Ç$ÜeжÕ××—ÞÔìöÿÏþC?H[!ÿ pÈÜSiii]]»¤gÏž|>_b)èîÝ»K{€ wÿôôô&L˜0a„͛7oÛ¶­¾¾>11Q"ÀAgXH :^&&&_~ùåîÝ»KKK·oß¾iÓ&ZÎdÓüúë¯GŽÉ>ä­ks6AMMÍÚÚ:!!áæÍ›eeeì\!b±Xº/ª©©9`À€””‰Ü«a}ûömbOgee•””” ½•)d¦óhjj~ðÁQQQwïÞý믿!LrÇqãÆíܹóÖ­[#FŒ „XXX0½_iºÎLîBˆžžÞÀ“““¯]»V[[+1ÕèâÅ‹ô]±EBKŽm#Š>n…(Ú¶r9r$ íEFFþûßÿfo***Š'„Œ1B:9N³ÛŸù¶Ê£D·+z# ,yyy#Ôºwï^PP ‘-XOO ïd€cãÆwïÞÕÖÖ>qâ{Áf!Xöx:-?33³¼¼\bJ=!IIIb±XΥ˖-ûå—_ÊÊÊ<¸`Á‚^½zV¦€ªª*öÎ<¸wï^3náââ’ŸŸÿå—_ž>}š²eË–¨¨(éýmmmSRRîÝ»wöìÙéÓ§3å ,xýúuŸ>}Nž}š2`À€AƒBjjj.^¼hllìêêJŸµüǶE·üšÑ¶ò3fŒ‘‘QqqñþýûgÏžÍ:LsaÐ…„!)))ñññ“&M¢»5¯ýéB3„õö2ª««322dn’~úСhjj2 ¹\®ôWWWÇŒÛ *à(,,ô{ÍöäÉš¹ÃÅÅEb“ôÓ€EWW—ý_accc:«¼¼`SGvvvcýFOOO&ÕÃÝÝýÈ‘# wîÜqvvæñxõõõ4 „––VPP»§ýé§ŸîÙ³G,ÓµEúöíûàÁºé“O>Y»v-!äáÇr8!^^^‡ÊËË‹ŒŒôññ±³³ÓÕÕõöö -++[¾|9³§ššš‡‡Gc šÈƒÇã?~ÜÍÍ-''§´´ôüùó´ÜÐÐ0,,Œ.ÂÊfnn~êÔ©I“&UWWбŒ?þxæÌ™ìêM˜0áĉ>|kMÌÌÌΜ93qâÄŠŠŠ={öìÙ³‡½uíÚµ³fÍb—ôëׯW¯^4™‚DÑqãÆÑ6áñx£Fz륛 ¥¥uìØ±iÓ¦ÕÖÖúûû©©©1A%OOOú™ÆwèÚÅ•ÿØ””©‘nkEŠ>îŽà«¯¾ºwïÞÕ«WŸ>}J#2õõõ4ß­¾¾þáÇ闑™Ç”““STTÔ£GùÛŸQ__OGp|òÉ'Ò5¡ßk 777‰MÒOT÷í»(ôÊ ¸\.݇½'Ç»r劯¯¯©©)!D ˆÅâ.]º¸ººFEEIô‹ìíí=êèèHÿdÿ&lff6xð`B{©vÅØ†¦¦&Má)‹™¢þþþþþþ´>ÔÀÏœ93~üxzæºÒ·Ã¾YéM†††wîÜ œ4i’½½ý§Ÿ~ºnݺ‡ÒšK2dÈ™3g˜û¥'ìß¿ÿÞ½{ÃÃÃ%îˆv_¿~-‘\Cf%xöìY‰Aþ½zõ Z±b…tM˜i)Î?üžÁÉÉ©y$8::ž;wŽÎe‰D´‡¬««»fÍšmÛ¶1»-Y²DSSÓØØ˜½ÂŽœÇÒÔªò„c˜×FzèÓ˜šý¸ºV 5qB55µÃ‡/Z´ˆ®M[WWG£ŽŽŽ‘‘‘̺Â'N´²²âp8sæÌa¦ÈÙþŒèèè7oÞF4s‡“““ô**2Ÿ>¨]«â]UYY™­««+½Rƒ„ªªªºººÎ;Ó¬ÔÞ½{7nܨ¦¦–œœÜ*‹/ççç÷ìÙ³­—rHMM¥Cñ÷ïßϤ9`+//ÏËËSWWïÛ·/û–Ùêêê\ZZêååµeË9/]YY™››+‰ŒŒŒŒ;BR±XüôéÓçÏŸ×ÕÕ™šš2Dº—[WWÇår544=vÖ¬Y7nÜpvvnÉ`œzëãVºÒÒÒ¤¤¤¿ÿþ[GGÇÒÒràÀÒû¼yó†4‡’çÙQ^^^‘‘‘½zõ¢“\Ø›222èÄ´Æ&¡4öôå7zôh¬A ÿL|>?66¶…cî!¹¹¹ºººLÉ“'OÊËË»uëfmm-½yyù“'O!ööö:::-¼:¨®ÊÊʬ¬,sss˜¢Òººº666òì©££#ý¿G^^^GÍÎÎ>yò¤Ä2ÍcddÔŠ¡;w^¹r…Ãálß¾]â6Oœ8Aáp84µ4}}}‰¤ªÒ455ׯ_¿|ùòˆˆˆ 6Èù¿ººº2»¯JÄápÜØ¨Š1hƱéééäÓ…´‘–¨=EEé455ƒ‚‚!;wî,..Vvu$988E¥U>|XÙUhÔ¡C‡&L˜°uëÖ—/_ …BB—ËíÛ·¯“““ŸŸŸÌ1ÿв³³KNNnùyÞI\.×ÃÃcèСí“j¤·*211IJJjl«ŸŸ]"Þmp¨¼©S§N:U ¼xñ¢¾¾ÞÂÂB[[[Ù•ú§>>>iiiáááVVVÇoõ:”––Î;—Ï燅…ITLbO7dÈ;;»÷ߟË}w†´lß¾}ÇŽ666_|ñ-Y³fM]]ÝŠ+Þ¥G^^ÞÎ;±±ñºuëÞº¿@ øùçŸÃÃó²²êêêLMM]\\V­ZennÞŒ«GGGûùùBäé<·ðWèZÍððáÃððp--­àà`Z"ÿ óûï¿ÿý÷„W¯^={¶WWèåôóó+))™2eŠ««+!DWW744ôÕ«W555‹-’عé­ðÎh“ÇåË—SRRšp´0”páÂ…””SSÓ ÈÜÁßߟÏç;;;Oœ8Q¢bÓÜÜüܹs-©Xñòå˽{÷B¶lÙò.Em$\¼xqÅŠ|>ŸÿcïÎãbÎã?€fªI—¤S)G”¤ä\IŠv­%lË&lÊf-k±« ›¥ƒu¬uÓZ¬u³e±Û®B’«è¢Vb¶¦»iŽßŸßïû˜ßLe¦kš¼ž}û|¿óý¼¿3Ÿïð}Ïç ½{÷~c‚£ªªÊÇÇ'55•))**:vìØÙ³gOŸ>=jÔ¨6¶ƒ?>v옶¶6“à_;_ZLLLaa¡­­-Mpp8œˆˆ??¿M›6͘1ÃÄÄDòà¦÷@§¡´Û»wï>xð ““Sóºoœ;wîâÅ‹l0Á‘ššzôèQBȲeËd÷êêêŽ1‚ù³¤¤äñãÇÕÕÕ………“&M:s挣£c3BêPBCCù|þˆ#$¯´3©ªªúæ›oèùÒìF¿~ý>ýôÓnݺÅÇÇŸ}555 !>>>C‡ýꫯ***6oÞ¼cÇŽ¶ »MÛ¼r©««/\¸P¹1̘1#++ëÌ™3ß}÷±±±B{ #C ?KKË:å^}}}nn®ººº•••–––B¯åóùñññ„iÓ¦ÉÙs^OOoóæÍ>¼uëÖíÛ·ù|¾ÔÜ“b±øåË—/^¼°°°³‹{^^ž@ èÛ·¯††FcÇ0§533ëÑ£‡<§­¨¨(,,‰D={öìÖ­[ƒÇüñÇ„‡óÁÈsNªªªª¨¨¨¶¶ÖÜÜÜÈȨ}¦±lž_~ù…f7æÏŸ¿nÝ:???yÌO÷ß~û-ÍnPŸ|òÉo¿ý–’’rúôéµk×¶$6.—[TTdmm­««+ÿ«šÑš]W³ …œœ+++…šGMMMAAA}}}ÿþý%ßùÖ­kúôéëÖ­‰Dqqqþþþ 퀢sŒ€öG •–àß±cG·nÝrrr$˯]»ž™™Éçói‰»»ûÊ•+™^ý...EEEB¡’‘‘ajjJéß¿ÿõë×éIII„qãÆÉ‹Åòöö¾uëVMMMZZÚðáÃi9ÇÛ¾}ûáÇËÊÊh‰‰‰Éˆ#6oÞܽ{wæå!!!:tè©S§V¬X‘˜˜XRRBQWWŸ4iÒÆŒŒ¤jŒ‰‰‰ŠŠzòä sÚåË—Ï›7ÏÎÎŽÇãEFFΟ?_òø»wïFFF&&&2%Æ [³fÍÈ‘#¥Î|ñâEBˆ““Sc)iiiQQQW®\‹Å´¤W¯^ÁÁÁÌpƒŒŒ OOOBÈÞ½{}||˜&%%͘1ƒòý÷ßÏ;—)OOO÷òò"„DGG+”d‘Ÿ¡¡áöíÛ'Nœ(çñB¡ðÆ„—É“'Kí;wnJJŠ@ HNNnvÀ[¶lùí·ßrssÅb1‹Årvvþá‡ìíí™kóжyêj]=Z³fÍ­[·è¥££³dÉ’/¾ø‚™ë´¶¶¶wïÞb±8"""00yáëׯ¿ýöÛ˜˜˜úúzB›Íž0aÂÚµk¯\¹²zõjÙ·Bžºcnnncc“““sñâEÙFÓ{ÓÓÓ -,,~k µééé);P1ôÙ¢´Yëëë…B!“Å öíÛ÷ᇦ¦¦òù|ægÛ«W¯N™2åÚµk’/d^" ¥ÎóçŸBX,Ö!C ‰éjQSSC7D"Q``à?þÈd7!%%%¿ÿþû»ï¾+Ù™–FU]]=þüÓ§OÓì!D œ;wÎÛÛ[êJãââ>ýôSæ™–žvåÊ•ß|ó ŸÏ …ôñàÁƒ?üP2»A¹}ûöÌ™3322$ KJJè4ÎÎÎò\uvvöôéÓ/_¾Ìd7!ùùùß|óÍ?ü@ÿ´³³ÓÑÑarŒ„„úþÓ.3Œääd¡P(‰Úh//¯ÄÄDù³„¬¬,Úè™Ô•$fÖ•›7o6/¤­[·FEEåääзQ,ß½{×ÓÓS²kIƒm^Ñ– g]­¨¸¸Ø××7>>žùÖ¨ªªŠŠŠ’œàF$ ©hù|þœ9sN:ÅÒ'N|øðaƒ—&O]M mþÚµkÕÕÕòï]³f‡‡‡³³³T3ÕÒ†¨ÔÔÔ„‡‡ …Bkkë­[·ºººÿý÷ßt¾ÌÐÐPÚGãÏ?ÿäóùË—/¿víZ¿~ýŽ?N‘ì÷ž››K±¶¶Ö××W(€””ºÑ§Oº±iÓ¦+W®B&L˜0þ|›{÷îÅÆÆž;w.//oïÞ½’gÈÈÈÈÈÈðññ™9s&ý¹xíÚµ>|öìYttô¢E‹èa<‰DÁÁÁžžž:::W®\Ù¿ÿÏ?ÿ,ØË—/gÍšU^^ÎápV­Z5nÜ8‹uùò刈ˆªªªY³fýý÷ßæææôàGÑç^—7^rQQÑG}T^^®¦¦öé§Ÿzxx%%%8pàÙ³gfff³fÍRWW;vìùó祗/_¦IIIõõõL†ˆæàà`bb"Þ˜5PWWW(2aÂù¦ž?N7zöì)»—Y#¶¨¨HÑ3Sßÿýˆ#œKKK7oÞü×_ñùü5kÖ41ª¢-Aþºšñ¶8ðË/¿”BrìØ1 1cƘ™™%%%………ñx¼ãÇ4±ªëòåËoß¾Mqvvö÷÷>|xvvvLLÌÅ‹>ÜàKä¬+((¨´´Tv®VggçãÇóùügÏžÉögiloll,!D(^¸pöTUÔׯ_§]'"##éä VVV ..ŽRYY©««K»‘Ó.¬ZZZL2‚ñêÕ+BHÿþýå¯Z,ÚýÄÒÒÒÎÎÎÕÕ•Ïç'''3 Ž-[¶TVVBÂÃÙÑNNNnnn“'O–ú…Ÿ²iÓ¦¢¢"uuõC‡1Ïövvv={ö ,..>tèPhh(-g:ÈólݺõÅ‹„5kÖ|þùç´ÐÑÑÑËËËËË«¢¢"$$ä£>b³ÙçÏŸÏÉÉár¹t–Šâââììl‹Åáp*++ïܹC—Y‹ÅôÑzüøñ„.—;uêÔ¦ÃÐÒÒjë¹åJKKé“ˤ££Ó­[·²²2É®: quu=uê”¶¶6!¤wïÞGŽqss{øð!3rªAжùëjÆÛîèèØàúAl6{ÿþý̸ž^½zéêêŠÅâëׯ7–àÈÍÍ¥ÉÇ>}úœ>}šfmll¦L™2oÞû¬Á—3mž~ ȹ×ÇÇg÷îÝjjj’KJ€ÊQÚYL¿q©nÁÁÁ±±±±±±rΤHŸð›˜*2//oåÿùú믃‚‚FŽùõ×_BØlöêÕ«™#7lØpòäɽ{÷Ò쥡¡A'žÈÎΉDR'_¼x±äœˆôGr:)&uïÞ=BȈ#¤æVpqqYºt©lÀiii„777©ž S¦L¡?D§§§K]>!DrŠÆÐH\\\˜ìÕ¯_¿U«VBªªª=zDñð𠻘O‡vßprr¢?z3½9mìÒÈÿ%Ýè¨R»tttèè•V©‹Á´ù{p4±Wö¶•Óæææ;wî -))ÉÊÊ !„úùù-Z´HÎÅ;‹Å‹ÅM<©jkkKö«¿uë–P(ÔÖÖNLL”úaY,ÇÆÆîÚµ+33S ¼±vÙµ¤&5ÈÎΦsd 0@ö R%ÙÙÙt¨BLLLLLLƒõ¾zõêÕ«WÆÆÆ„fV©•neeggÓY|º³µµ¥ïä½{÷|}} !4ÁA‰DW¯^%„Œ?žNÿ‘™™Ic Œ3¦‰õq›Àãñ.]ºÔà®1cÆ4ã„Ó‰ ÁY6Aqq1!DÎugdÑ7_Ò×CU´%´¤®–­ŽÈ‘ ÊÌÌ$„XZZ6ØYÃÎήÁGóêb0m¾Á»µé½ ê:P‚ƒ2uêÔ‰'8pàÌ™3t—Ëݾ}ûÖ¯_?gΜ7žA[[[CCƒÏç3s.Èrttüý÷ß™?—,YrìØ±êêêãÇK®pI Û½{7Ýæp8ݺuÓ××/((\öB!Ì“vƒ] dç€`FÁXXX˜˜˜4vZf Ú§ƒžªéN’˦ÈÃÃÃcÏž=ÙÙÙ¥¥¥Ož<)--5442d›ÍvppÈÊʺr劯¯/MpÐñ)Í```0eÊ”wÙØØ4ïœDbÈRƒ Žââbš’g\OkQ´%¨š*jº¿L«cÞ´'nz/¨ºŽ•à „hii}þùçŸþ9ÇKII9xð`BBBUUÕÊ•+Ç×à ‘RŒŸ?ÞD‚CJHHÈÙ³gëêê6mÚäëëË$òóóivÃÜÜ|ß¾}Æ cæ,Ø´iÓÆ›u}ÄÆÆ†ŽÄÉÎΖÝK÷–äàà ®®.fÍšE{µ4I‚¼1Ááàà ¡¡Q__ÿðáCÙ½Ì*¤ƒ¦%£F¢‘ß¼y“®MëááAGèxyyeee%$$899Ñ‘ÌHççç×tÌ:::'Ož¤Ûæææ  j¡Aƒ±Ùl‘HDG…H)(( ÌŶE[‚B}Û[Ý AƒÎŸ?_VVöï¿ÿ2Kü0¤Ö6n-ÿý÷Ýh°'HÓ{ âr¹uuu’%=zôàñxR‹=›˜˜ÈvŸ€·PÇý¾¾¾·····wTTÔ–-[êëëSSS¥t„…šà #äann¾`Á‚;vp¹Ü­[·®]»––3³i.\¸päÈ‘’/yãœMPSSspp¸{÷nBBBii©ä\!b±XöSSSÓÖÖ6++KjîÕÆ0 Žâââ¾}û6q$‡Ã±³³KOO¿{÷®ì^¦Σ©©ùÎ;ïÄÇÇ߸qãŸþ!„0“2zzznÛ¶íêիÇ'„X[[3+ÑЄHÓ13d´}}}{{ûÌÌ̸¸¸ÚÚZ©QçΣt!˜ö¡hKPˆÒßöAƒÑ3gÎ,Y²Dr×;wšÝªiÌ]ß`_§¦÷@TTT$ÕÍÄĤ¸¸øåË—’…úúúHpéP ް°°7nhkk=zTrÁf!XÉi8èpúG•••IÍ›`ffFIOO‹ÅrNPºtéÒ_ýµ´´tÿþýVVVDb:†ªª*Ƀoß¾’’ÒŒ d¸¹¹Ý½{÷Å‹ ,8qâÓ1dÆ ñññ²Ç;99eee¥¤¤œ>}úÃ?dÊËËËž?Þ§OŸcÇŽÑBzù„{÷î½ñqÝÉÉ)==ýŸþÙ½{·äÒ›yyyááá„ÉåfÇÿDZÙl¦›†««k·nݸ\îÞ½{ÉÿŸÒµkו+W6F³§ölBMM͹sçLMMÝÝÝi3ðõõÍÌÌäñxÛ·o§‹æPOž<9qâ!ÄÖÖvàÀ­Im òSÖÛÎ2dˆ®®neeedd¤‹‹ ]ø™òï¿ÿÎ;Wvù¡VAW¥!w<{e› t(šššL‡D6›m``@;ÖÕÕ1=³H›&8^¾|yæÌ™wõë×O¶ÐÁÁa×®]„ÿÈÈH[[ÛÚÚÚË—/¯[·Žbll,ù¸Þ³gOBˆP(üꫯzõêÅtƒwss‹‹‹«¨¨xô葜³6èëë/]º4,,ŒÏç¯_¿>::šòÎ;ïб!ûöí355õðð(//¿zõjxx8õ³Ù¾úê«”””›7o^¹rÅÞÞÞÝÝ]SS3999??ßÀÀ@vpÍŠ+.]ºTRR²dÉ’çÏŸ{zz¤¦¦îÚµ‹ö¤X¼x1s°½½½¡¡!—ËMMM}c$Ë–-»téÒ‹/¾ûî»’’zæäääèè芊 BȆ $—‰?~üªU«è(WWWæœjjjãÆ‹‰‰¡¿Ì3kÊB´´´[¥M-^¼866–²}ûö?þ˜òÉ'ŸìرãÕ«W›7oÖÔÔ ÖÔÔ¼}ûöâÅ‹ikÅŠôù633sîܹ„   ààà¶ RÑ– ?e½íŒîÝ»ïß¿öìÙÀÇÇÇÉÉiÈ!?NIIáóùݺuk‹IFh·£>}úÐï9÷Ê6èPôôô$ÿ5755555%„”••!Á’Ú0Á‘ŸŸßØÃ¡¿¿?3ÕcêÔ©¸{÷nRRÒ˜1c8N}}=BKK+22RòI{Ò¤I;wî‹Åtm‘¾}û2‹2¼÷Þ{¡¡¡„;wîÈ?-e```tttQQQlllpp°‹‹‹žž^PPО={JKK¿üòKæH555ŸÆ4‘‡Ã9|ø°——WAA—Ë={ö,-744Ÿ/‹»víêîîÏ<|RC‡ýùçŸGŒAÿ”ìXÞ³gO:þ_r©ÉÀ$% MMM:…§X,f&]¿~ýúõëi<”½½ýÉ“''NœHÏÃÔ+{9’+»ËÐÐ0)))""bòäÉC‡4iÒªU«îܹÃÌ\ eðàÁ'Ožd®—ž°ÿþ»ví:räˆÔÑG¸çÏŸKM®Ñ`ööö§OŸ–êœoee¹lÙ2ÙH˜a)^^^’åãǧg5jT;Ì©!©ÁëZ¼x±¦¦¦©©©äâ;#FŒ8sæ ‡" ivCOO/$$dË–-ÌatÖUy25L‹’ÚÀÄ#µÑì– P]­â­šixLTRþùçÿý÷¼yóÜÜÜFŽéïïûã?¶¤®Æ\¾|¹²²’4’àhboƒMT‹®yÑÑTTTäççëéé1sU6¦ªªª®®NWW—ÎÊAíÚµ+,,LMM-33³UVLxõêÕ‹/zôèÑÖë/dgg»¹¹BöîÝ;cÆ ÙÊÊÊŠŠŠÔÕÕûöí+yÉ’êêê Äår7lØ gÕ………B¡ÐØØØÔÔ´LFPWWÇf³544¤ÊÅbqFFÆãÇëêê,,,,µnè¬Y³.]º4f̘–ôÓi¡7¶•6oÞ¼ .ôéÓGž~Fr Œµ²²úçŸd³!Mïm¬©È/99yìØ±X€ÞN</11±å}÷ ­­­õôô˜’û÷ï—••988È_VVvÿþ}BÈСCuttZX;¨®ŠŠŠ¼¼²²X¬AƒM›6mÖ¬Ynnn²¥999äÿÏ$ÒFZÒ:8.—ëååååå%»¶qaaáµk׈Do –{õêU\\!dݺu²ù‹¦÷’Æ› ¨šàh!MMÍÈÈHBȶmÛ^½z¥ìp¤ 6,---55uΜ9111ùùù|>?77wÅŠûöí#„ 8°…É???'''.—»yóæVŠúmQ]]]XXHZõñ»1íДÅÐÐP[[;--í§Ÿ~ ½yófMMÍÿýëããS^^Nd¦qi‰ðððÚÚZww÷÷ß_ѽÐ9tÐ!*­"00ðæÍ›Ÿ|òÉòåË•‹´   Æ†?ØØØ=z”Y·ÙîÞ½;wî\‡sõêUÙ)]¡1÷îÝóôô466ÎÎÎn‡ž,íДåöíÛ³gÏnp6›½zõê%K–´JEÿþû¯··7!äìÙ³’«˳·µ`ˆ ¼Í0D”‹¢Ò†«¨(ÝO?ý¤ìííí½yóæ§OŸ B›ÍîÛ·ï¨Q£Ö­[§««Ûò*\\\d>À±ÙlŸ!C†´Ï8vh Ê2lذäääÐÐЫW¯2KÞvíÚÕÑÑqÑ¢Et¦ÞVannžžžÞ¼½ÐitæG7}úôéÓ§óùü'OžÔ××[[[kkk+;( ƒ ŠŽŽnÏ;qK066¦oæëׯ‹ŠŠ ä™X àP2‡3`ÀeGÊ×¹[‚‘‘‘‘‘‘²£€Î¬sN2 oôàh<OÙ!¼½àh‰‰‰R%b±X)‘´µö™ƒ@QHp´TËȀ òà•‡¨<$8@åa’Qè¸Amm-ÝîÒ¥‹@ „ºº:¥ÆÐq•••ݺu‹n=úñãÇ/_¾TnHÐ1!Á‘††‡Ãaþd±X,KªÂfc¼-‚tLööö²…ÖÖÖÖÖÖí t|øÑT òà•‡98 £¨¨¨Pv ªà€!//OÙ!€ c½~ýZÙ1´æà•‡¨<$8@å!Á* PyHp€ÊC‚Tžº²PyÉÉɲ…b±¸ý#h,K¶pôèÑí €$$8ZÁرc•€Ò$&&*;$8Z‰¾¾¾²CP§ìÁÐ Á* PyHp€ÊC‚T òà•§ÞÖdff8p`È!sæÌi£*’““>|hcc3f̘6ª¢#«©©9vì!dæÌ™:::„#GŽðù|'''eG§ÕŠ<33óÖ­[l6{Þ¼y,ë·äFP¨®V!`ÿþýOŸ>]¸paß¾}›QWK>w.—Ëf³ýýýÕÕ¥¿ÐšÞ I‹þÇ¿iÓ¦ÂÂÂ~ýú-Y²¤±c‚ƒƒ>|xäÈ;;;WW×–T× .—;gÎwèÐ!©À¤Žäp8ƒvqq0`›Ýyº®lݺõ‡~pttüä“OhIHHH]]ݲeË:xš`ݺu¯_¿ž6mš»»;-Qbä²Á¼ÑåË—×­[G‘çá¹…7‚Bu5Ã;wŽ9¢¥¥µqãFEküã?¾ýö[BȳgÏNŸ>ÝŒÚúÜ¥BÕÓÓÛ³gϳgÏjjj>ûì3©ƒ›Þ I‹ž”.\¸••5lذ&-L%üöÛoYYY °~ýz7f̘÷ß_*°ÆÎiiiyæÌkkë–ÖA<}út×®]„ 6¨\Ö&&&¦°°ÐÖÖVþœ‚êÓÁ?Ç;vL[[›Ipȯ/M*T‡áçç·iÓ¦3f˜˜˜HÜô^èLÚ¼ÏöîÝ»<èääÔ¼îçλxñâÀLp¤¦¦=z”²lÙ2Ù½ººº#FŒ`þ,))yüøquuuaaá¤I“Μ9ãèèØŒ:”ÐÐP>Ÿ?bÄÉ+…¨…7BGæíí½~ýú‚‚‚   ¥0qâD‡¬¬¬µk×îÞ½[¡½Ði´y‚ÃÑÑqË–-mtò={öˆÅâ=zŒ=Zv¯½½ý‰'$K***Ö®]{øðáׯ_‡……={¶k?¾té!Ä××WÙ±À´é \êêê .Tn 3fÌÈÊÊ:sæÌwß}gll¬Ð^è dÇ–ÈÏÒÒRɳîÕ××çææª««[YYiii)ôZ>ŸO™6mšœäõôô6oÞüðáÃ[·nݾ}›Ïçs8ÉÄbñË—/_¼xaaa!goö¼¼<@зo_ ÆŽaNkffÖ£GyN[QQQXX(‰zöìÙ­[·ùã?!çƒ>çœTUUUQQQmm­¹¹¹‘‘QûÌXÙ*:~ä\.·¨¨ÈÚÚZWWWþW5£y4»®–h·« …999:::VVVr~ÊÓ§O_·nH$Š‹‹ó÷÷Wh/tcô(´¿¼¼<Ò=8ÂÃÃwìØÑ­[·œœÉòk×®…‡‡gffòù|Zâîî¾råJ¦¿‹‹KQQ‘P($„ddd˜ššBú÷ïýúuz@RRREE!dܸqòÇÃb±¼½½oݺUSS“––6|øpZÎãñ¶oß~øðá²²2Zbbb2bĈ͛7wïÞyyHHÈÁƒ‡zêÔ©+V$&&–””BÔÕÕ'Mš´qãF###©cbb¢¢¢ž>BÚ|vÀúúz¡PÈd1¨}ûö}øá‡©©©|>Ÿù…öêÕ«S¦L¹víšä ™—…B©óüù矄‹5dÈ…BbºZÔÔÔÐ ‘Høã?2Ù BHIIÉï¿ÿþî»ïJvš¥QUWWÏŸ?ÿôéÓ4»AçÎóöö–ºÒ¸¸¸O?ý”yÀ£§]¹rå7ß|Ãçó…Ba}}½äñ<øðÃ%³„Û·oÏœ93##C²°¤¤$55•âìì,ÏUgggOŸ>ýòåËLŽ€’ŸŸÿÍ7ßüðÃôO;;;¡PxãÆ É×&$$Ð÷Ÿv™a$'' …B‘HÔ¦3€tüÈ·nÝ•““C#‹ÅwïÞõôô¤IDªÁAÑæ!g]­ë5ŠD"@ ­¢WW\\ìëëÏ|=UUUEEE58ÃŽ,z#\»v­ººZþ½kÖ¬ñððpvv–j! r”0D¥¦¦&<<\(Z[[oݺÕÕÕµ¸¸øï¿ÿ¦óe†††Ò>þù'ŸÏ_¾|ùµk×úõëwüøqBˆ¦¦&sžÜÜ\Bˆµµµ¾¾¾B¤¤¤Ð>}úÐM›6]¹r…2a„ùóçÛØØÜ»w/66öܹsyyy{÷pº¸¸¼ñ’‹ŠŠ>úè£òòr55µO?ýÔÃÃÃÈÈ())éÀÏž=‹ˆˆ033›5k–ººúرcÏŸ?/•&¸|ù2ÝHJJª¯¯g2Dô0@póæÍ¦ÃPWW—L(•––6=éf;D.0ùþûïGŒàìì\ZZºyóæ¿þú‹Ïç¯Y³æØ±c½JÑæ!]Íø,øå—_JÞ_íuÇŽÓÐÐ 3fŒ™™YRRRXXÇ;~üx@@³‚lc¡:;;?~œÏç?{öL¶?Kc{ccc !B¡ðÂ… ´¨(%$8®_¿N»NDFFÒÉA­¬¬A\\!¤²²RWW—ö§]Uµ´´˜dãÕ«W„þýûË_µX,>xð Ù1xðà^½zÑòÒÒÒñãÇlÛ¶­K—.„KKKooï”””’’’äädÙSM›6mß¾}´û‰¥¥¥««+ŸÏONNf[¶l©¬¬$„„‡‡3]ñœœÜÜÜ&Ož,õc>!dÓ¦MEEEêêꇚ0a-´³³ëÙ³g```qqñ¡C‡BCCi9ÓyDžw`ëÖ­/^¼ „¬Y³æóÏ?§…ŽŽŽ^^^^^^!!!}ô›Íöðð8þ|NN—Ë544$„ggg³X,‡SYYyçÎQ£FÑ7“>E?žÂår§NÚtZZZ’Ýa>û쳎¹üÁ4ÆÕÕõÔ©SÚÚÚ„Þ½{9rÄÍÍíáÇÌpª)Ú<䯫Ÿ…££cc‹ µÛÕ±Ùìýû÷Ož<™þÙ«W/]]ÝÀÀ@±X|ýúu&ÁÑX¨Ì@¿äÜëãã³{÷n555Éu¦@µùYLq©ÛƒƒƒccccccåœÂ>áÓGÙååå­ü?_ýuPPÐÈ‘#¿þúkB›Í^½z5sä† Nž<¹wï^šÝ 444èô ÙÙÙ"‘Hêä‹/–œþЂþþôéS¦ðÞ½{„#FHM4àââ²téRÙ€ÓÒÒ!nnnLvƒš2e ýÍ9==]êò !’S„4†FâââÂä¨~ýú­ZµŠRUUõèÑ#Bˆ‡‡ÝÅ|:´„““ý}›éñàÁƒÒÒRòi55µ7†!Ï1íyË-Z´ˆ>ÿSl6{úôé„êêjšiâÒäoò×ÕºŸE»]Ý€˜ì5eÊ: °<p èskȳwݺuIIIiiiè¾ ê”ЃÃÕÕµK—.µµµ?þøc||¼¿¿¿››[ÿþýZƒÏçóx<"ñÜ"‹Ëå8p@¶¼wïÞ6lhpjÒššš§OŸ–——óx<÷ìÙ3BˆH$‰D’ µtéÒÅÎÎNêµ´Ë ýÕšR^^žŸŸO:t¨lEÆ “½¢BôõõéxI]»v%„Ü¿Ÿ)a~ˆ~c‚ƒ9sƒƒY˜ðîß¿okkkaaakk›““sãÆ ú´IƒñòòêÑ£ÇÅ‹hnˆætuué°##£×¯_7‰¢Ú'ò–“ ÏÒÒ’n0íAŠ¢ÍC¡ºZ÷³h·«“­ˆÅbYXX<}ú´±Š$17Bƒ=8šØ+{/€*RB‚ÃÜÜ|çΡ¡¡%%%YYY!!!„CCC??¿E‹5Ñ#C’@ `±Xb±X²Ï…mmm¦[;!äÖ­[B¡P[[;11QGGGòH±X»k×®ÌÌL@ðÆÚ d—uš ;;›Î‘1`ÀÙ3888H•dggÓ~û111111 ÖûêÕ«W¯^B˜X¥Vº••MgslðAÎÖÖ–¾“÷îÝóõõ%„xxxÐ4!D$]½z•2~üx:ýGff&0f̘&ÖÇm!U‰œ~"’œÌB’¢Í£%uµP»]lE„&np)ÌÐà-Üô^è”0D…2uêÔ»wï®]»ÖÑÑ‘öŒàr¹Û·owvvþå—_ä9ƒ¶¶6}:¥c äèèø»„>úˆR]]MçøÇl IDAT+•tïÞ=@Àápúôé3dÈww÷¾}û6û™©OËËËe÷J.×B1£`,,,†4ŽYI„öéhðTR$‘ë‘]ZZš––VZZjhh8dÈ=z888ˆÅbÚ3‚¦ Zk”GƒT7ò7R´y¨¥\sÚgnz/tJèÁAiii}þùçŸþ9ÇKII9xð`BBBUUÕÊ•+ÇÇôo‚±±ñóçÏ›HpH 9{öl]]ݦM›|}}™A~~þîÝ» !æææûöí6l3=Á¦M›6nÜØ¬ë#666t$Nvv¶ìÞÌÌL©uuu@0kÖ,Ú«¥iÌòeeeMRqppÐÐШ¯¯øð¡ì^fùÏÁƒÓ’Q£FÑÈoÞ¼Iצõðð y(//¯¬¬¬„„''':‚éÃãñüüüšŽYGGçäÉ“o¼´vŽ\)m i‹ÏB!mzuùï¿ÿèFƒ=AšÞ —Ë­««“,éѣǓZïÙÄÄD¶[%¼…”ÿ}}}ooooo﨨¨-[¶Ô××§¦¦J%8è8)4ÁQ\\,gEæææ ,رc—ËݺuëÚµki93'åÂ… GŽ)ù’7®µÙ555‡»wï&$$”––JÎ"‹eŸ-555mmm³²²¤æ^m “à(..nº§ ‡Ã±³³KOO¿{÷®ì^¦Σ©©ùÎ;ïÄÇÇ߸qãŸþ!„0ó/zzznÛ¶íêիÇ'„X[[3+ÑдBÓ1kiiÉsií¹R(Ú<ÒŸ…BÚôêÃ|0·†ü{ c***’êóebbR\\üòåKÉB}}}$8€(%ÁvãÆ mmí£GJ.˜Â,+9 9ÿèÑ£²²²nݺIžÇÌÌŒ’žž.‹åœ téÒ¥¿þúkiiéþýû¬¬¬!Ìi«ªª$¾}ûvJJJ3.áææv÷îÝ/^,X°àĉLÇ 6ÄÇÇËïä䔕••’’rúôé?ü)///xþüyŸ>}Ž;F éåBîÝ»GW?m‚““Szzú?ÿü³{÷nÉõPóòòÂÃà !:::’ËÍŽ7.>>þ?þ(**b³ÙLgWW×nݺq¹Ü½{÷’ÿ?Ê£k×®+W®l: ùçShÏÈ•EÑæ!¿6ú,ÒvW׺n ‘¸5äÙ[SSsîÜ9SSSwww…æ9€v£©©ÉtTd³Ù´k^]]Ó9 €´J‚ãåË—gΜipW¿~ýd víÚEñ÷÷ŒŒ´µµ­­­½|ùòºuë!ÆÆÆ’ë={ö$„…¯¾ú*  W¯^tÂHBˆ››[\\\EEÅ£Glllä U__éÒ¥aaa|>ýúõÑÑÑ„wÞy‡Ž Ù·oŸ©©©‡‡GyyùÕ«WÃÃÃ鬟ÍöÕW_¥¤¤Ü¼yóÊ•+öööîîîšššÉÉÉùùù²ƒkV¬XqéÒ¥’’’%K–<þÜÓÓÓÀÀ 55u×®]´?ÂâÅ‹™ƒííí ¹\njjê#Y¶lÙ¥K—^¼xñÝwß•””Ð3'''GGGWTTB6lØ ¹LÌøñãW­ZEÂpuueþg©¦¦6nܸ˜˜˜'Ož‰•Y !ZZZ_}õU³ß+%F.%33sîܹ„   àààV¿"†¢ÍC~môY(¤í®®1´GOŸ>}è—†œ{/^KÙ¾}ûÇÜêQ@ËéééIþ+ojjjjjJ)++C‚$µB‚#??¿±ç@fª ÆÔ©S8p÷îݤ¤¤1cÆp8œúúz:™‚––Vdd¤äóê¤I“vîÜ)‹éÚ"}ûö½}û6ÝõÞ{ï…††Bîܹ#g‚ƒ]TTìâ⢧§´gÏžÒÒÒ/¿ü’9RMMÍÇǧ±MäÁáp>ìååUPPÀårÏž=KË :D—2•diiyüøñÉ“'WWW‡‡‡Ó Œwß}wæÌ™’áy{{=zôÎ;oŒ¤gÏž'Ož|ÿý÷ËËËwîܹsçNɽ¡¡¡³fÍ’,éׯŸ••UAA‘éìàééI߇3zôè7VÝBíyVVÍ4˜žkEŠ6ÕÒÎWW__Oûh¼÷Þ{ í¥©Cº€JkÑ**L·óFÏÎfÓc$äp8/^\¹r¥……!„Ïç‹Åâ®]»º»»ÇÇÇûøøHžaèС?ÿüóˆ#蟒}È{öì9hÐ BÈï¿ÿÞ``’‰†¦¦&ÂS,3ˆ®_¿~ýúõ4ÊÞÞþäÉ“'N¤çaꕽÉ‹•Ýehh˜””1yòä¡C‡Nš4iÕªUwîÜ¡‘ËWgnnžžžÞ¼½Ð™t†G7}úôéÓ§óùü'OžÔ××[[[kkk+;(hØ Aƒ¢££Û³ÆÎÝ<:÷Õ@‡‚G;áp8 PvÐAuîæÑ¹¯:Õžd€ @káñxÊàí…@+HLL”*‹ÅJ‰ ­µÏ4ÌŠB‚ ¥F­ìÞv˜ƒT òà•‡¨Ÿ/ûÄ…o~è¤þ O†§K—.:::ššší î8hžÖmÃ9ÁA;v¬²ChC‰‰‰ÊA%á›:7|3ˆÅâŠŠŠŠŠ MMMSSS}}ýö|ÌP®ºº:WZZúúõk=====½Sá­w´®–´áNžà „èëë+;€6Áãñ”‚ Ã7tVøf „TTTTUU™˜˜˜™™);€ö¦©©ibbbbbR\\üúõkBH×®]Û´FÜqкZÒ†;‚ÞuuuxÖ ·@II‰¦¦fÛu©Àm§m«¨@çQUUÅápð¬@133ãp8UUUmWî8hSжa$8 “‰Dµµµ‡ÀÐ×ׯ­­‰DmqrÜqÐjÃHp@'! kjjºwï®ì@:ŠîÝ»×ÔÔ…¶89î8h µa$8 “‹ÅõõõXÁ€¡©©Y__ßF«´âŽƒv PF‚:6ú¥@uµéM;ÚüÍ «¨tééé÷ïß/..ÖÑÑ äp8ÊŽH²Á …Â_~ù¥  `Þ¼y½zõRbl§Nª¯¯ŸïâââääÔêáµ|!¼=víÚõüùs©B---gggWWW¥D%iíÚµ'Nœ`þœ={¶ %8 >>>~ãÆ„‚‚‚(/:QWWL;N`oƒóçÏß¾};;;ûÑ£Gl6ÛÎÎÎÑÑñÝwßuvvVvhÿÚ°Òýo‚cÓ¦M………ýúõ[²d‰rjk|>ÿþý?ýôSnnnmm­¥¥åøñãÃÂÂäIYeee}÷ÝwÉÉÉÿþû¯®®®Ý’%K>þøc6#}@µÉó pîÜ9BHxxx×®] !üñÇ·ß~KyöìÙéÓ§›QoHHH]]ݲeË:B‚£   **ª®®®Go<_o¡K—.=|øP¶üèÑ£„aÆíÙ³GGG§Ýãú_IIIôáŠÅb <ØÚÚZ…²ßvÿ°þ÷߇"„L›6­wïÞŠ¾¼…µ°ö·GmmíªU«.^¼(Y˜–––––vìØ±+V|òÉ'mTõÅ‹srrÌÌÌ>þøcyŽGîþ7ÁqáÂ…¬¬¬aÆuîGeeåøñão߾͔sæLšÝ°µµýâ‹/ þüóÏ_~ù¥¶¶öƒ>HKKk¬›ý7æÎ+‰ÔÔÔ,XàîîþâÅ‹­[·œ?~éÒ¥;wîlßKP>ooïõë×);–櫬¬\²dÉÁƒå ¾Þr666ô¿õŒ¢¢¢µk×^¿~=55uË–-kÖ¬QJ`tøŒ¡¡á°aÔ@K4¼ššÚ¼yó”S“:l`É_ýE³ƒÞ±c‡ä(0??¿E‹q¹Ü“'O.^¼XCCCyaþ/´áŽ óüûFW¯^¥]›úõëwïÞ½… Μ9óðáûwï&„”——¯_¿¾±×†††Ö××BöîÝ»{÷n__ß/¾ø"==ÝÆÆ†²oß¾¼¼¼öº€ŽB]]}áÂ…QQQÍ›€£#HKK2dÍn 8ÞÑo„/Ò³gÏíÛ·÷èуrëÖ-ÙD"ÑË—/322ž={V[[+Ï9«««sssóóóœaÐùMMMßØË²¤¤äþýûåå岕>~ü8++‹Ëåʳ(£P(|ðàAII‰Tymmíƒ^¼x!gä /«±Ëár¹%%%m´HjÓ”[{çpïÞ=ºñÅ_HÍqãääD§ðx¼¤¤$Ù×*Ú˜Iã INhÃAó{pTUUÕÖÖš››±X¬V «-lݺ•nlذArFÀ… ž8qâÚµk¿þúë÷ßoll,õÂÔÔÔÄÄDBÈàÁƒ˜r}}ý½{÷zxx‚íÛ·ÿøãm*£¦¦¦   ¾¾¾ÿþrÎæ+ srrttt¬¬¬Úç+%::úñãÇ„E‹mÞ¼ùƒ>ÈÍÍmú%øB€ikkOœ8ñСC?.--500 åB¡pÏž='Nœxýú5-QWW÷ôôüòË/%ç€ûï¿ÿÆŒCÙ¿¿‘‘QTTÔ­[·èC…ŽŽÎÌ™3—.]ÚÄoÔǯ¬¬¤ÏWÙÙÙ„}}ý7nHüÉ“''Nœ ¹øÈÈÈiÓ¦Ñ3dddüøãÉÉÉÌ“Œ¥¥åܹsgÏž-YÑúõëOœ81xðà={ö¬^½:%%¥²²’Ò«W¯ððpWW×çÏŸoذ!!!ä411™1cFÓ£à›¾¶¶– õóó“çrjkk7nÜxåÊ•ââbZ…ÁìÙ³çÏŸOŸbccW­ZÅ,<ùÙgŸÑU96oÞüî»ï6ª$ÙÀ˜òv¨ý-ÁãñèFÿþýe÷Μ9“ŽŒúJÎÆÜDCÚ³gÏ¿ÿþ+Õ&ûôésáÂ…ãDî8m¸9=8ÒÒÒ|}}{÷î=zôèñãÇÛÙÙ :4::š9 ##ÃÔÔÔÔÔ4&&Fò…III´üðáÃ’åééé´ü÷ß—,”¤ºÙ„B!}&>|øôéÓ¥ö.X°€"è1RèFTT”T6nܸqôfcŽx{ÔÖÖš™™™ššþôÓO’å¯_¿þì³Ïúöí;zôhwwwKKËÙ³g?~ü8::ÚÔÔÔÖÖVöT=š9sf¿~ýÜÜÜ\\\z÷î½eËÙ¬Z÷k222úý÷ßwîÜ)çJ(øB€Æ˜ššÒ É®|aaa;wîd²„@÷É'ŸHv|‰DB¡P(fdd|ôÑG7oÞdžÍªªª8ÐD_cBH}}=ó°A¡§¢ý %O!ÛÓ0777 àúõë’¿Ó†‡‡ïÛ·OòH@  kkk¿øâ‹K—.Ñì!$??þüù·nÝòóó»té3MUIIÉîÝ»øá‡f/‹ºœ’’__ßãÇÓg3ú“IiiéŽ;–,YBÿwA¯BòUÂÿÓDœRdkÏÚßLð矖ݫ««ëéééééÙ³gO¦PþÆÜDCjºMÊBî8mXáÙÙÙÓ§O—ê<“ŸŸÿÍ7ßTVV~ùå—„;;;òòò7nøøø0‡%$$ÐkŽŸ;w.Sžœœ, Y,3Ëš5köìÙ£¦¦vôèQOOÏæ]›$¦ÃÏèÑ£e÷2+8$%%͘1Cj/ÓåéwÞ‘}íàÁƒ=z”ýßÿuï޽塨 ‘HD¿ã$¿ù|þœ9s$§ò‰Dqqq)))S§Nmð߆ââb__ßÂÂB¦¤ªª****??ûöíLa«-BÞ{ï½Õ«W›››Ëÿ|!@cŠŠŠ!l6›Éæoß¾ýÌ™3„{{{__ß¡C‡ÄÇÇÿöÛoÿþûï‚ ~ýõW]]]É“lÛ¶òá‡zzzššš¦¤¤=z´¨¨èÔ©S hl²Ã .‚°°°”””>}úÐ9ÙI¯/\¸ ©©éçççâ⢧§×§OBÈ‹/‚‚‚***ÔÔÔæÌ™3f̘îݻ߼yóرc?üðƒ‰‰‰äé !ÙÙÙ„??¿>ø ´´4&&毿þâóùóæÍ‹Å|ð¯¯/›ÍþóÏ?OŸ>][[{øðá%K–Ðßx›|ƒ/”½œS§Nåææ²X¬ùóçÏ›7OOOïþýû;vì¸sçεk×&Nœ8iÒ¤aÆ=zôhÑ¢E„o¿ý–þ³Þò…~•[{çãææ¶sçN‘HtðàÁôôôÙ³g»»»kii5v|33i¨!9²¾¾^ªM6±&ÚpÇiÊ%8ŠŠŠ>úè£òòr55µO?ýÔÃÃÃÈÈ())éÀÏž=‹ˆˆ033›5k–ººúرcÏŸ?Oûä0._¾L7’’’êëë™^vô0æ‰%„… .´Ê“ óìÔàr°LaAAAc¯500ÐÓÓkìµb±¸°°Ï3Ë—/§Ù gggÿáÇgggÇÄÄ\¼xQªëãØ±c!!!cÆŒ133KJJ ãñxÇ`ò­þµ@yÿý÷} ¾ A%%%çÏŸ'„ØÙý{÷ÅÑÿ|îÀ£#ˆx"R¤HUA,Qª(j,Ackšš¨QcŒ,Q£Æ®1Æ‚Á5ÖkŒŠ+,T±Ð¢T©wÜïyž}íïî8ö â‘Ïû޽ÙÝÙÙ¹ÛïÍÌzÐψ¢¢":×›MLL ´ââ⪯¯øðáôôôƒNœ8QfS~øáüùóékww÷ÀÀÀ‘#GVWW¯^½:22Ra˜€ëi¬ÄÈÈÈÞÞ^a&ŒŒ¢££»wïÎ^¸uëÖ‚‚BȬY³&L˜Àì788xäȑ˖- —é·8nܸ… Ò×ÁÁÁ ÈÉÉ‘J¥ï¾ûîêի鯾]»v}õêÕ‰'jjj>|èáá¡0W3Ïñpâââ!;wž={6]Ò£G7FEE‰D¢¢¢"f/ÕÕÕ4AÛ¶m¹ïT¹¦Ý{óãíí=qâD:§oBBBBB‚@ ðõõõ÷÷–ï¬^eVX‘ˆ*uuøí©Ãª86lØ@ç úöÛo§M›Fz{{‡……………•——GEEEFFòùüÐÐÐS§Nedd”””XYYBòóóSSSy<ž@  TìÝ»7!D*•ÒêôíÛ—ÙÑðá÷lÙ¢§§§Æí‡B/^¼ /8LMM---KKKKKKë[Wኄ¦,®  CÒÒÒØ£ïddff6¸…‡8p€Ò¡C‡#GŽ´lÙ’Ò±cÇððð?þXææ >Ÿ=tèPú¯ƒƒƒ©©éĉ¥Réµkט‡Ö›õ Aµµµ7oÞ\¹r%í/ܧOºœ>ýòÝwß1SrPß~ûm\\\ÿDùh IDATaa!“†áèèøÍ7ß°—¸¸¸Ì˜1cõêÕ¯_¿~üø1Ç)± –¿‹cžRÁÜR:tøê«¯–-[VUUõäÉö»ìîØ<ïý÷ß§}OFŒÁžH+,,ìĉ„¬¬¬úÚ=:‡ë“'O˜ÛBˆ••{@}ãiÚ½7K³fÍrssÛºu+7M$ݺuëÖ­[6lðööž:ujhh(“X½Ê¬°"½¨ÃZ§Z€ƒNcëççÇD7(— DEEUVVfffº¹¹1õìÆô¾…vßðññi׮ݙ3gþúë/àHKK£wìÇÒ¥KGݲeK•ºŽ+ÁÌOckk«0­­miiéË—/ë[WÉŠô…ÂutHyyù¹sç4Ù½{÷è‹ 6ÐèÅãñ¶lÙâééYYY)¿–»»;Ý ÂÃçN*‰Ø#µÞ,¨ Ü¿ŸéK(‹ ™)'†:eÊúš ^0ÁzF‹-<== SRRdÞòññ‘ï£áëëK_¤¥¥iàèÖ­›Ì‘HD'Øîܹ³|ú.]ºÐ)))ì{B ;;;vJ¦#¶Ì­#“[æi‘üáBzöìùèÑ£òòò¾}û:´ÿþ¾¾¾2ã€OÓî½¹šÈT›ÂlÌœ93,,ŒRSSsäÈ‘I“&õìÙsüøñ×®]{YjÚ½7o¾¾¾3fÌ8pàÀÍ›7W­ZåééI—GGGß¹s‡¨[™‰ÒúÜØP‡µN…©©©tv@…½ËÜÜÜx<žT*½{÷nDD!$444##ƒÆ/êêêè`ž¾}ûÒû“ää䢢"kkkš 00PɃ¯4Çt T8ˆX,~öì;™Ìºùùù WdoPáº:ÄÍÍMIß³7._¾\ù膉‰‰ü»ìÉGòÏf&oq€ ´mÛ–ý¼Iccã®]»vìØQæÞžýyÌ8åÉÔH¬­o°É™™™ýøãÉÉÉ?ÿüs|||YY™D"¹}ûöíÛ·}||¶mÛfaaÑ\÷þ/aff6lذ¡C‡.^¼øèÑ£R©ôܹsݺuk6•uX*DXU­1t”JjjjiiiRRRii©•••¯¯¯———T*¥}:h€ƒ=>¥1´nÝš¾Px[Â<å˜I&¿î?ÿü£ð±7Ì® ð¯BÛ;™_¢õ-×-hÀÆÆf"˘1cÜÝÝå{.x{{B ~ÒÉ­Ú·oÏÔIÉÈȨ/1©ç‡FM¸¹¹Ñg=Ð d¤Ogfcj$]»ve×~OŸ>¥/޾¡cg$‰Âà]×ÒÒÒÉÉI‹ÐEtÄãË—/i—(4À pÖUŒÚÚZú¤U& ãîÝ»ò1t:i„‡@  ÓdÈg’½P>Ÿ:Ç㹺ºN:õìÙ³´{ibb¢|2ùgØ7ƒ½7/_¾ ò÷÷Ÿ5k–Ât€˜±±1i´Ê,‰TJ¯]¨ÃªR!À!h“š ÿ.³™EÉÀÀ€>÷Æ´³3}GGò8;;×÷Hm±°° ·^'OždžgÃ8rä}$¿.³ðСC2oåççÓC`Ï ðïÄLétôèQ™·nß¾­0¼¨sÐ GÌ}ÔâÅ‹e&Ÿþþûï ‰¢{­¬¬¬µkײ—))©ì½ù±´´ìÕ«!äÒ¥K·nÝ’yW*•25–™ËV»•™–ÑÓ§Oßd7dÔa ©öŸû÷ïß¹sgË–-S§Ne–?~ü˜Î711aÏéÒ§OŸØØØ?þø#//Ïç3Ý4ºwïnaaQRR²mÛ6¢h|Juuõ‰'„BaHHˆ¶îÆ÷îÝ—/_®Y³fñâÅÌòÌÌÌ={öB<==é Õ÷ïß¿víÚˆ#„B!!¤ÿþB¡°  `ãÆŸ|ò ]H-Y²„Îd£äášÿtŽåŠŠŠ+VøùùùûûÓåÏž=ûè£4œ>½1š.Ð €z¬­­§L™²uëÖgÏžMœ8122ÒÏÏ/''çâÅ‹ô×577·Q£Fɯ¸{÷îêêê°°0kkë[·níÝ»·ªªŠòÍ7ßÈ?`EsS¦L¹|ùrAAÁºu늋‹ƒ‚‚,,,þþûï½{÷ÒÙ¾¿ýöÛ79u¨&ÊÊÊrrr233%Ixx¸±±ñ?ÿü³iÓ¦¼¼}ÚÁÁáwÞ±±±Ñd°¦Ý{³~íÚ5©TúÉ'ŸŒ?þÝwßuvv–H$ééé»w煉<DFFÒôÚ­ÌtîH‰DòÝwß5ÊÎήmÛ¶rœ,¨ÃúŽ‚‚ùß])ŸY³f]¸páùóçß}÷]aaa¿~ý,--¯_¿¾cÇŽòòrBȪU«Ø5¦oß¾ ,ÈÎÎ&„tïÞ½U«Vt¹žž^Ÿ>}~ÿýwú‹.ûÙÅÔôéÓ?NÙ´iÓ˜1c´r¨“'O^³fMAAÁÒ¥K fΜihhxãÆO>ù„©î</55•޲Y»víãÇù|¾‘‘Ñœ9sfÏž]PPðî»ïîܹÓÇǧ¢¢bÙ²eÛ·o'„xzzŽ9R+™Ði­ZµŠŽŽ7nœX,>|¸¯¯ï£GâããE"‘………&OmŒf¡Ah@_~ùeaaáo¿ý–œœ,óì›;vÈ?|qРAçÎ;tèÌ/¨£GnŒLÒœŒ;¶¼¼<&&&&&†ýîÌ™3‡Þûm <oæÌ™QQQ555K—.]ºt©@ `†¼óÎ;ì'Ó\½zµ¸¸ø»ï¾#„¬[·nÈ!:º÷fiÈ!¹¹¹›7o®««Û³gýYš­M›6›6mbžR¬ÝÊ#•JÏœ9sæÌ‡sçÎixD BÖÐÿ _eggO®­LíÛ·?tè¹¹¹D"Ù¼yó°aƒƒçÏŸO‡ÏŸ?_¦Ùuqq±··§¯eºi0ÃUó3/ƒ>é‡ýBsÆÆÆGŽ122ª««›7ož©©©¿¿?}Zò¤I“héþ”•••ŸŸO_Ïœ93<<œ’””äëëkddÔ²eË5kÖB,--:¤+Qm€ÆÖ¿ÿE‹Bêêêcbb._¾,‰ÆŽ«aT¢1š…¡A6Ú«ÔbéÒ¥S§N¥SôQzzzýû÷ßµksWÆÖ«W¯;v¸»»3KŒ?ùä“o¿ý–cöä?†˜%õå¼cÇŽ?ÿüsïÞ½Ù}$mmm,X0yòdvJº%»y«Á]7˜yGsÅlAù6 tôèÑîÝ»Ó_’E"ŸÏïСÃÌ™3wîÜ)óÈÞ+V|ôÑGÌBå]DeJ_>cº÷'7uêÔŸþÙÅÅE¦n˜ššöéÓçØ±cÌ ÷ÊÜ`åìÒ¥Ë?üÀÌÒØ`¡¿ u˜Gçø ½ÿ¾’t}ôÑúõëéë„„„•+W^¾|™y®Š½½ýäÉ“?ûì3ù¿þúk¹xñ"3ÿ(!¤¸¸ØÃÃC*•†„„Èw‰‰‰Y´h‘……Åþýûeª,wׯ_–™˜úêÕ«_~ù%{˜¹¹ùìÙ³,X@Ë»¬¬, %%å“O>aÇüjjj.\øÓO?±gñ üñÇÙÇðÆ”••]¾|Y>>¨Ú¼óÎ;§OŸ®/Í?þHC³)))t\FMMT*]±b…Ì埘˜øë¯¿>yò¤¶¶ÖÅÅeĈ‹-Ú²e‹¹¹93‡½½}UUÕœ9s¾ùæ™Ý§¤¤Œ1‚v‹ ZjH=-õî»ïþùçŸ;vdf°Gƒ:G‹-€.‰D™™™ gUkZ‰¤°°ðÅ‹†††íÚµ322’IP\\Lg¯[¶lí XZZúüùsCCÃöíÛ ‚7“ÏŠŠŠgÏž‰ÅâÖ­[[[[¿ ·+j«««ËËË«ªªrpp?ál‰¤²²R*•*üz ‹{—qåÊWWׯ¨EoòŠ«®®~øðaFF†¥¥¥»»{ûöí•×O-V檪*‘HdllüÆ®D u˜Á½ÿ7À¡†òòòÜÜ\‰Dbmm- µÞü½~ýšÏç33—¨¡¾Û©Tš”””‘‘ñúõk;;;???ùgù–——›™™Éo³¨¨()))//ÏÔÔÔÃãS§Njg@C:wóñÇŸ>}ºC‡·oßVo š7 Di€£>h@‡è\Ë ]om€£Aòmiø7ã^‡U›d”ÍÌÌÌÓÓSíÕd``ÐH[æñx]»víÚµ«’4 of!ÖÖÖýû÷oœ|è¼’’:ÔËÏÏoÕªUì·rss¯\¹B4{&tã5 Ê¡Axû©àaeeell|ýúõ¤¤$>ŸÿÞ{ïuéÒ¥ººúÊ•+Ë—/§OØ’j€æàmZ°`Á¸qã^¼xÍ~‹Ïç/\¸pÀ€M•7höx<žžž^uuµòão!“ñãÇBÜÜÜš:/ЬTWWëéé5Òt*º{ÅQ©#ÀÚÔ£Gëׯϟ??..®´´”.477÷ööþâ‹/Ý€F¥§§g``ðâÅ [[ۦ΋jŒŒŒ,XÐÔ¹€fèÅ‹*=ú‡;ݽâ@‡¨T‡à-³¶¶Þ±c!¤¸¸8//ÏÒÒÒÁÁ¡©3ÿ |>ßÈȨ¨¨·[TQQ‘‘‘Q#=ÃW¼*ÕáF©è„Ö­[ûøø ºo’‰‰IUUUvvvSg éeggWUU™˜˜4Þ.pÅA£Rµ#À͇±±±™™Y^^^VVVSç )eeeååå™™™7Þ^pÅAãQ£7ÿ!*eeeMxë eh®ôôôZµj%‹³²²Š‹‹…B!}ÈWSç à ©ªª*)))((¨¨¨hÙ²e«V­i Wh&u¸™8._¾,³D*•6IN4×HÓ_ÿ ¡e€æ-€<@`mmm``ðòåË´´´×¯_K$™¦-?42Ÿô±&¦¦¦mÚ´177\q  íÖa^qq±¶sДêêêjkkEÿSWW‡û+ø7àñx|>_ð?-Z´h¤éEeàŠmѰ#ÀÍ“D"¡¿$Ó{-öî¾ y`ÿúM_óx<úx£ŽLQW¨A»u¸™Q€­&¹Çø×ÂMOQ‡è<8@ç!À:Ðyp€ÎC€t óà‡è<8@ç!À:Ðyp€ÎC€t óà‡è<8@ç!À:Ðyp€ÎC€t óà‡è<8@ç!À:Ðyp€ÎC€t óà‡è<8@ç!À:Ðyp€ÎC€t óà‡è<8@ç!À:Ðyp€ÎC€t óôéŸ ”——BìììæÌ™#Ÿ®¦¦fîܹôµ……ÅÒ¥KßX”ãB\]]KKKé¢M›63F&]ii©««+}- SRRÔÞå–-[ÒÓÓéë™3g:99©½)Âôà`‹ŠŠêÙ³§³³s#íòüùó×®]£¯###à )˜ƒ£ªªjÒ¤I"‘èÍç@ zpBîß¿¿|ùr•&Ú¨¬¬<þüÓ§O‹‹‹-,,ìíí쬬Øi²³³ÅbqEE³$''§mÛ¶„GGG===vâ¿ÿþ;11ñÙ³gúúúíÚµ tssS¸k‘HôðáÃÔÔÔ´´4±XìàààááÑ»woÇ=ÿ »ÌÁñß7x¼Ã‡÷éÓ‡þ«|Žèèèï¿ÿ¾²²’½P |öÙgK–,a–Èï…Ïl?77wܸqòÓ|ôë×o÷î݆††ì… Ÿ}öYvv¶Lb77· 6ôìÙ³¾#€f£ÞÇÄJ¥Ò©S§Òð‡r{öì™?¾Ltƒ"‰6oÞ¬êóVJJJFŽ©pÓØØØ?þ¸¶¶–Yò矺AÉÈÈ=zôÇUÚ;è"ú¢¨¨hÚ´iR©TÉú¿ÿþ;û±²ÀÏÏÏØØ˜Y²iÓ¦~ø¾633c¿EiÑ¢…±±±±±±¾¾>!¤ººzÔ¨Q=¢ï …ˆˆˆaÆ™™™Ñ%±±±³fÍbVß³gX,¦¯{ôè±lÙ²/¿üÒÑÑ‘.yõêÕÎ;: ó Q9{ölxx83ÉèòåË'Ož¬pˆŠT*õõõÍËË£Ë}}};ffföúõë‰'ž={–.744LOO755¥ÿ6ŒyŠÊ‰'üýý™Üìß¿ÿË/¿¤¯ÝÝÝOœ8AgñHNN~ï½÷^½zEYYY@$uèÐáõëׄKKËŒŒ >ŸOÉÊÊ?~<íèáååÓ'Þ zpx{{³'ÎXºtirr²Â•™è†žžÞöíÛiW ƒ~øÁ‚¾USSsáÂ.¹9uêózÞ¼yÌ¥ÞÞÞ#FŒ ¯E"Qjj*!D,3Q˜ÒÒÒmÛ¶•••B¯^½zóæÍ›7o"ºðo xŽÏ>û,,,Œ¾‰D“&Mªªª’Oöøñcæµ£££““óo«V­|||˜Ÿ}¦NúÓO?Õ—@(2¯Ù£K¨ÌÌL…)• …åååôõ‘#GÜÜÜ\ÅÉÉiûöí555 ÿý÷õëׯ\¹RWWGßÝ¿ÿŠ+äÃМÔÛƒƒZ°`A—.]ê{·sçÎÌëgÏžÅÆÆ2ÿ>xð ))‰ù·S§N ·ðôéSö¿žžžÌë¿þú‹ýVQQÑÿÉÏÏ'„”——?üŸÊÊJÿ¯¾úêèÑ£ñññL‡©Tš““£ü@×5àÑÑÑõõ€prrb‡?¦OŸ~þüùòòò+W®|öÙgôA­„Ö­[0ÉLLL˜×111—/_~öì™T*%„„‡‡3o-[¶ìܹs´/FvvöàÁƒßûŸôôtBÈõë×{ÿϰaØÇÜ2Ãj!–––...œÎè,^qq1!ÄÕÕ• äææ±ýúë¯3fÌ`þ …Ì4Ÿ©©©ááá̺òÁÁƒƒ‚‚˜%‹/–öïêêZWW÷ÙgŸ?~œYnaaahhH»lP={ö ÙÓf€ Ipšƒàm†è<8@ç!À:Ðyp€ÎC€t óà‡è<8@ç!À:Ðyp€ÎC€t óà‡è<8@ç!À:Ðyp€ÎC€t óà‡è<8@ç!À:Ðyp€ÎC€tžÞܹs›:иöîÝ{çÎ>Ÿß¶m[º$99yåÊ•………]ºtiÚ¼C¾˜ê#‹·mÛvøðaKKK•ö’œœ|êÔ©{÷îùøøðx< ò«©;wîœ={6--­sçÎt‰&ÇÕlà$4Jв¢¢âäÉ“§OŸ¾xñ"ŸÏwpphªL43úôÏÚµksss]\\f̘Q_Ò‹/ž8q‚²|ùrssó7”AÐXTTÔëׯgÍšåããC—Lž<9==}ï޽ݻwoÚì%_Lõùã?-ZDÉÊÊ:räˆJ{ù믿–.]J?~¼¾¾¾Ú¹ÕÜÉ“'·lÙbnn>vìXºD“ãj6pšúŠòÁƒ£GÎÏϧÿÖÔÔ6MšÿÞáœ>}:%%¥GJ<øõ×_ !QQQpè4>_£¡IÇŽKII±µµýôÓO#=(§añ½µWIIÉ–-[!cÆŒqvv~ã™j,õWs-\Ý¢•ZW_QΞ=›F7Zµj‚3€5åO¸ÐT¶lÙ²k×.õ¾[Ÿ8qâÌ™3:uâ°P5=(7pàÀeË–åääLš4©©ó¢M +??ÿ‡~ „tïÞ½98ê;®æZ¸ºE+µNaQVUU%&&BŽ=Ú´½¨š|»ú7òöö^¿~}SçÔ¤¯¯?eÊ”¦Î…ö5×ãR NB³¡°(sss¥R)!dèСˆnhÖ¾`ÕÕÕäçç›››ÛÚÚj¾M‰DòüùóÂÂB+++[[Û¿ÖÖÖ¦¥¥éëë{zzrÙ~eee^^^MMM»víZ·n­•9ËËËsssëêêÚ·ooaaÑ`z•ò,•J ž?nkkÛ¦MÍs[_–>|¨¯¯ooooddÔH{‘¡aYåååÙØØ…B%ëªT£T-Jí’H$„B(M IDAT&&&ööö* æJ´···²²j0}III^^ž³³³©©©ª™ä~Šjjj²³³kkk£R©Z»­J¥999•••mÛ¶mÕª×ÃhˆzÍìãÇÅb±““S‹-”$ãxÉ«ªªÊÍ͋Ů®® Áôõ| ¯8Ž —ª+Ú%‹é [[[•VT£ñçXî͉Æ{‹Åâ5kÖx{{wêÔ),,¬gÏž:t˜0a“'O˜4Ÿ~ú©P(´··¯¬¬”Y]"‘xyy …Â!C†°·¹jÕ*OOOŸþýûûùùuìØqÑ¢E"‘ˆ½nTT”P(øàƒÛ·o3 üüü„Bá™3g!< …B¡0  ¾qIÏ¥,êS]]=gΜÎ;{xx„……y{{»»»¯]»¶¦¦F&%ÇEq,JÌþþûïìåW¯^¥Ë÷ìÙÃ^~ÿþ}ºüäÉ“ìå™™™£Frqq òóóstt\¿~=s_D©©©iÛ¶­P(üùçŸÙ+J$’uëÖ1W¢›››¯¯ïÔ©SKJJfxýúõþþþîîî}ûöíСÀRSS•#ƒû)*--ýòË/œœüýýCBBìííÇ÷øñcù”2ÇuðàA¡PLß7n=]Çg¯Å±þ4j[ÁÞ¾H$Ú¼y³«««ŸŸ_PPPÇŽxóæM&¥ò㪯p¹4³29©¬¬œ2eЧ§gÏž=éå|¸ÿþiii2¹Ý°aÃÊ•+322è™—J¥ ýúõSzÁý‰ÅâO?ýtÿþýL¡K¥Ò?ÿüsРA´ÔØdŽ‹¾f'ü³„{ýiÔ¶‚°®©iÓ¦-Y²„}©Þ¹sgôèÑ>dΉ’㪯p¹4³ìœTUUM˜0áÈ‘#Ì*b±øÄ‰d_€*]D2®_¿>jÔ(vB$=xð`êÔ©*|µ¯8ŠKÃEqi¸Ô:ŽdŠR~#t ;v©p#îå>xð`‰DRSSsöìY™Ý%$$dggK$’Áƒ«z¼oM«V­Ú·o!¤sçÎëÖ­»~ýú¾}ûèOs¹¹¹‘‘‘ô>mРAfff„ú Y6ºD__ÿƒ> K6lØ@·¸oß¾{÷îíß¿ŸþìôèÑÕ«WËl!777;;»G«V­:}úô¶mÛ”d8///22òÕ«WzzzS§N=zôh\\ܲeË !ßÿýhJîy.((=zô«W¯Áwß}wåÊ•«W¯~÷Ýw ²²rôèÑò÷r*åyíÚµ—.]"„ôïßÿСCIII»ví '„<~üXùºUWW/_¾\"‘8;;Ÿ8qâŸþILL\µjŸÏ‰DóçϧÉΞ={ûöí   Bˆ‹‹ËíÛ·oß¾­ä·Måé¹—…B¿üòKjj*Ç›>}zjjj^^Þ‰'zõêE‰ewç^£Ô(J†¾¾>ýyV&Àñ×_ÑW¯^eß1Òd^^^ìç¿þúk~~~TTÔ™3g6nÜØ²eKBÈîÞ½«äl¬_¿žöñððX½zõÕ«W£££i%ÉÎΖŸ±rÍš5ï¼óNttô;w.\¸@°‰Dß~û­’½¨zŠ-ZtõêUz˜ëÖ­»|ùòŽ;XRRÒàOâï¿ÿþíÛ·÷îÝËd˜ÖŸAƒÑ%jÔŸFj+IIIÇŽsrrZ¾|ù•+WöíÛI)//7nýÁ¼Áã’DZ™e{ðàAllìðáÃi‹qðàAwwwBHVV»û ÷‹HFQQÑ„ Äb±‘‘ÑÚµk¯\¹÷í·ßÚØØBV¬XQZZÊåäkrÅÎ áܨQ:}øá‡ ·óq  [þßðã´´´±cÇÖ—433SfIAAÁºuë!íÛ·?räðïææ6pà@}}ý_~ù%%%e÷îÝÓ§O7446lØÞ½{ccc«ªªŒéêêêN:E mݺ5!¤°°påÊ•„€€€ƒBlmm‡ –˜˜øŸÿügæÌ™t9cÈ!;vìà2ÒxÆ ÏŸ?'„|ûí·Ó¦M£ i×ß°°°òòò¨¨¨ÈÈH>ŸÏ=Ïk×®ÍËËÓ××ß½{wÿþýi2öíÛOœ81??÷îÝì¯Úªæ¹´´´oß¾–––7n¤£îíìì_XXxýúõ·Ð k×®UWWBV¬XáïïO±··Ÿ8q¢X,þóÏ? !¦¦¦tÜ8ýrlddÔ¡Cå›Užž{Y(Ü8íYÓµk×Å‹Ó%þþþ;wîœ6mÚëׯ èB•j”zEÉ =uêTFFFII ½òóóé ¤@ ¨¨¨¸}ûvïÞ½ !R©”[èÛ·/{ |>?::zèСô_SSÓ‰'J¥Òk×®ùøø(Ü/sŒB¡ðèÑ£B¡fûý÷ß×ÓÓ;vìXzzz||<½q¥ºwï~øðaZ«÷îÝ”žž~íÚµúŽŽâ~в²²¢££ !666¿ýö½X¼¼¼ÂÃÃG}ñâEå;266îСCUUý·]»vZ©?ÑV°×²°°8r䈃ƒ!ÄÓÓsàÀ|>ÿÀOž<‰‰‰™5kVƒÇ%ƒ{3+³âûï¿¿}ûvÚ©ÁÎÎÎÃã{÷î"‘èúõë_|ñMÃñ"’—““Ó¥KBÈøñ㙎lÞÞÞ&&&QQQ´z¿ûî»2kÉŸ| ¯8Ž ÷F@ÕÒáÎÔÔÔÔÔTÕ-«Ñø7XîÌGÛåË—ËÊÊh•¢míÚµÓÆA¼iÿï«yyyù¹úÉöf~R^·nÌt†«V­jÛ¶-; ý%³¦¦æÜ¹sL²›7oBFÅl“ö_¸p!;Šallüå—_BÄbqJJŠLNæÍ›Çq5š???掅rqqY°`!¤²²’ åpÌsRR!$((ˆù‚N…‡‡ÓYôîß¿/Ÿîy^µjÕ¡C‡¶mÛÆžS°E‹ôG¶ÔÔÔºº:.ÛQ‚ùÚ-Óû`òäÉÇ?~ü¸3P6H¥²Gol233iqPÖÖÖ‡:~ü8ÓgA¥¥^Q2BCCé æ4Òî>>>ýúõ#¬Þiiiô'n™‡»»;Ý`vM'nT2x„f›²nÝ:Ý`¬ZµjîܹsæÌ‘™6ò‹/¾`bv„>Ÿ?bÄBHUU½«W¾/.§èÞ½{L®htƒÙ×öíÛ5Ÿ‡X½úÓHmãûï¿§Ñ søÊ+òlnÍ,ÛôéÓÙ…nkkKC=}ú”YÈñ"’çççwèСC‡±‡B"""ôôô! G—ÈŸ| ¯8Ž —z+o5.åN?ÚD"»“Nbb"óBßÐEÿ¯GË–-™;4y©©©ì%Ì·ênݺÉ$:uÊÏÏgÒôìÙÓÁÁ!;;ûäɓǧ i‡X ‹ÊlóåË—´k.ƒ¹}ÿþý®]»2Ë---åçËTH$ÑÉüüüäßeŽâÞ½{tƒ\òÌl³eË–2&„˜››Öžyf«®®~úôé«W¯ÊÊÊÊÊʲ²²!uuuuuuõusà¨{÷†555?üðCllìøñヂ‚\]]µòd…T- y¯^½òõõ9rä!CzôèA{‹°q¯Qê%›­­­››[FFÆ7hœ‚n',,ÌÆÆæÌ™3/^\¸p!ùßý˜©©i÷îÝÙ[?<ÏÖÖöéÓ§õí— pôìÙSæ­V­ZÍ;W~ùÙÙÙÑJv¤Ò)JNN¦/zôè!“ÒÂÂÂÝÝ]ù åÔ«?×V0ØÝd(ƒN:]ºt‰ËŒòTjf†††2 i*vùr¼ˆ”ËËË+**¢Ò«W¯h£!?µ„üÉ×üŠãØp©ñ±ò¶áØøs,wæ£íĉL¤ž~´™˜˜È­tÈÿ p¸¹¹)yzÅÆ—/_Î^B¿5¶mÛVá#ýÜÝÝ/\¸ýòåK ¹fÍfÄ3ÖcذaÌÙ[5æ[—<æÆ‰âþSpjj*Aþ+ !ÄÍÍÇãI¥Ò»wïFDDB¸ä955•NÞöûï¿Ë<>ƒQTTTTTdmm­Fž !R©ôøñã?ýôSrr²òéÔÖ®]»Í›7ÏŸ?¿°°0%%%**Šbee5vìØ/¾ø‚ËÓFU¥jYÈ›?þóçÏÏœ9SSS³wïÞ½{÷êééõèÑ㫯¾bÇé¸×(õŠRFhh( pBêêêâââ!}ûö¥]¾“““éê4A`` ÌÚ ·Ü`ma®DîO$•ߑ̰/…T:Eô~^(ZZZÊ'óôôÔ$À¡^ýi¼¶‚233³··—OïááqéÒ¥œœœòòrUÃ*5³ÌrKKKù Ê1Ç‹H¡çÏŸ¯Y³æìÙ³òOfQHþäk~Åql¸ÔøXyK¨Úøs,wæ£=J…~´ :”Ý· @·È~R ûÉò˜ßИd‘‘‘k×®­®®>þü°aÃnݺEgzg餉ù|>à­í•­õ +Ô`ž™¶¶¶ìÙ"5ß5cñâÅ[¶l¡¯­­­……EË–-srräÇ ©mذa ˆ‰‰9zô(íù\RR²iÓ¦˜˜˜eË–}øá‡ÚÚ¥É ¡ÌÍÍ÷ìÙs÷îÝüñÊ•+¥¥¥‰$>>>>>¾{÷îû÷ï§wûÜk”VŠ244tëÖ­©©©¥¥¥Ož<)--µ²²òõõåóù^^^)))—.]Šˆˆ ™ñ)j£ƒÔxЃªÔ8EõuÒ°sæõçÍo_*•ª±YU›Y•p¼ˆäegg÷ïߟy"IëÖ­­­­[¶liaaA'¿àB+W—†«Q?VUã5þô£ŽR5jTRRRNNÁøÐq8|}}cccóóóe&*£hßcæ÷[‡ž={Þ¼yóäɓÆ £bÙ]¯»t髯¯êÔ)ÍGéËðòòjÑ¢Emmmzzºü»Ì#3Ù_‚̳———¾¾¾X,=z4ýýP»²³³éÜvíÚmß¾½Gôn–²víZùgÊhÂÈÈhÚ´iÓ¦M+++‹ßµk×Å‹+++¿ùæ›>}ú0C´B²PÈÇÇ'&&F*•¦§§Ÿ9sæçŸ...¾}ûöòåË7lØ@T©QZ)ÊÞ½{Ó>ó7oÞ¤]BCCiò°°°”””‹/úøøÐ½ûôé£Þ^døøøœ;w®¨¨¨¸¸˜=Û…Ö©tм½½iû Ó¹€JMMÕ0'Z©?ÚÝ~yyyNNŽ|'¦1¤Ã.T¢j3«†/"ykÖ¬¡ÑÏ?ÿ|Ö¬YL_ ‰DÒ¾}{åÏ—eh«ñl°ájÔ•ÆÓ¨?óÑvüøñQ£FѧÙÚÚÒ¹Zt”F70Ït¸sçŽÌ["‘ˆÞÝÉ<÷v|¸páBEEí+Óg˜Þ0ˆD¢„„Mò¦@  ÎnœY¨Rž èÀr™Yî´…Ùì”)SzõêÅ|Á%„ÐÇp4†–-[8ðСC_ý5!¤¶¶611Q& Ç{˜úÒ«Wõáñx³gϾyó&VðÖ­[ô-î5J+Ei``@Ÿ=yãÆ :ÚŸN/ʼˆ‹‹£O*qvv–™Rm¾¾¾ô…üS***vìØ±cÇåsp¤Ò)òöö¦/äÛ‡²²2zgÎËÀÐný‘§ööãããe–¼~ýš6†:u’ß”ÌqÉS£™U’‹H­VVV‹/fa»sç÷–Aëg} —Ú+ –N£jìÆŸvÖ¸råÊË—/éGÛÈ‘#5œÎ  ii'À1{öì/^°ßš?~~~>‘ûænhhX]]½|ùò‚‚'3Ãó‹èÂ… ™éߨÇ÷êÕ«W¯^Ì£(ÔÎó;w˜~¿ÔãÇé #&&&®®®*å™n3>>þÈ‘#ìå¯^½úàƒzõê5f̵3Ìüô-s6þþûoù[)µ-^¼8,,,<<\f‚IæA†ì{:ùHffæË—/¹l¼¾ôj”; }Zçž={ØË-,,hV™®õ*Õ(­%í—ñÇ$&&òù|¦›F÷îÝ-,,JJJ¶mÛF´7>…âëëK‡*|óÍ72Ï@™?þ¼yóæÍ›'s…ªû)êܹ3}1{ölf,!D*•N™2¥¦¦†Ëî˜Ùynß¾­0'êÕ.ÔÛþÂ… iWÆÜ¹si‡æ„(?.…Ù ª4³q¿ˆäѾ$b±˜¨­­•9W ÒðŠãØp©ú±Â½tUc7þô£M$­X±¢¾ñ))));wîd?dàm¦Q€C(ÒÊrss#""öîÝ›™™yáÂ…¯¾új÷îÝ„//¯?þ˜½Š™™ÙàÁƒ !?ÿü3!$ €Nðΰµµ9s&!äÁƒ‘‘‘§OŸ.,,LHHذaÃôéÓ333kkkÕÎó¬Y³lll!ß}÷Ý’%K®]»–’’=jÔ¨òòrBȪU«d~Âj0ϳgÏnÓ¦T*1cÆÆ“““ÿùçŸS§NEDDÄÅÅeffj2)}@@4nûöí{÷îýçŸÒÒÒ¶nÝ:|øp-þºèåå•””týúõñãǧ¥¥ÕÕÕUUU>}zéÒ¥„kkëÞ½{3‰Û·oO‘H$sæÌ‰öì™ò×—^²`899½|ù2))iáÂ…;w¨J¥ÙÙÙS¦LÉÎÎ&„ 6Œ¦T©Fi¥(iä";;["‘øùù1w‰zzz4ØAÏ78‰#wVVV‹-"„9rçΙ™™çÏŸÿúë¯ýõWBH‡BBB´²/î§ÈÉÉé“O>!„äååÑöááǧNúä“OΟ?ÏqwíÛ·§±›ß~ûm×®]=b"#šÔ.ÔÛ~iiiDDÄŽ;ÒÒÒ.\¸0cÆŒýû÷Bœ'NœÈå¸d¨ÑÌrÄý"’GkrYYÙÌ™3oܸQ\\yæÌ•ò áDZáRõcEIé$''ûùùùùùÑ0e£jìÆßÜÜ|РA„;wBºví*°ËÈÈž;wî€49À Ñ„yóæåççïß¿ÿîÝ»2ÏDhß¾ý¡C‡äùÛo¿Ñ× ç´_°`ANNαcÇnÞ¼)Ó·eË–ëׯ—yð„Jh®† òêÕ«Í›7oÞ¼™ýîüùóG-¿–ò<ÛÙÙ8p`èСUUUË—/—yÖ̻ᆱdêþ™™™Mš4iëÖ­¥¥¥_}õ³\OOoøðáõ=z@UÆ ‹‰‰IHH¸zõj`` @ ¨­­¥³ ­X±‚}#7xðàÍ›7K¥Rúì''§¿ÿþ[ÉÆëK¯^YP<oþüù_|ñEuuõܹsçÎ+˜/ý|ð“˜{ÒJQº¸¸ØÛÛÓ_Deºiôë×™@ ÐîX÷éÓ§çææîܹ3==]æ¹°mÚ´Ùºu«¶žø«Ò)Z±bEzzz||ü½{÷ص×ÒÒ2<<œÞŸ+gddzñâÅÂÂÂ9sæB¶oß>bÄ¢YýáBí[[[{xx\¹reÞ¼yìåfffûöícOÀ¡ä¸ä©ÑÌr¡ÒE$cìØ±‡*,,<~ü8¾êÝ»÷Ó§Oeº)¡áǽáRécEI餤¤Ðè‹‹ ÇcTÛhü###;Ƽ–y—Ñ“““SXXøvÎà Àöß/tp¯ò_;™Àì‘À„õë×Ïž=›=µ¡¾¾þСCûí7…߇‚ƒƒérccã¡C‡Ê'àñx›7ož6m{bB ‹ðððëׯËdI&? òôô:‹§ò‡M“+Ž{Ã¥R#@ê¯utÒY.J…EÉý*£¸7þ*•;#$$„Vª-ZÈ´ó„!C†xxxðx¼±cÇ"º:G‡kN"‘<þ¼¤¤ÄÈȨ}ûöÆÆÆšoS,ÿóÏ?/_¾ …ñíª¼¼<77W"‘X[[ …B­üÄýòå˼¼<}}}'''öMŽV=þÜÆÆÆÚÚZ»[f+//ÏÎÎ633kp ÌÊÊÊׯ_›ššr}zSçE –,YBÇ^>}šÝ‰@Gi:À¿AUUUnn.aAÓQ………<¸té^´W¯^ˆn@ó€@Ã>|(•J­­­½¼¼š:/9{ö,}4!¤U«Vßÿ}Óæ@[àÐTHHˆ{Kh~ø|þðáÃ}}}µ>ÉËfllleeeeeååååììÜÔ9ÐÌÁ:Ó3/Þfp€ÎC€t óà‡è<8@ç!À:Ðyp€ÎC€t óà‡è<8@ç!À:Ðyp€ÎC€t óà‡è<8@ç!À:Ðyp€ÎÓ›;w®ªë$''Ÿ:uêÞ½{>>><¯1²¥u‰d÷î݉‰‰FFFÖÖÖtarròÊ•+ »téÒ´ÙS[EEÅÉ“'OŸ>}ñâE>Ÿïàà ÆFöîÝ{çÎ>Ÿß¶m[­ç°>‰‰‰§N:uêÔ;wºu릧§÷–‡|õ‹ÅÛ¶m;|ø°‹‹‹¥¥eæ­Aoà^¿~ýÂ… •••êU6•ÄÆÆ^ºt©®®®]»v½¯·Ù[ri4Wò§W§]ü6òo °É’ÿ¦–ím†ÒÝÅ+..ž;wnMM —Ô#GŽ Ü´iÓÒ¥K !ùùùúúúœCí`îÇ–/_>yòdº0 ==röìÙîÝ»7eþÔòàÁƒÑ£GçççÓ?ûì³èjt# IDAT+V¨±[[Ûׯ_Ïš5kþüùZÍ`½fÏž½{÷næßGYXX¼%Å!_½Ož<ùé§ŸBúôésäÈ‘¦ÊØÚµksss]\\f̘Q_šÆ>‡%%%=zô(++Û½{÷!C¸gL=ûöí›9sfÛ¶moݺebb¢Ýë·äÒh®äOï[Ûè:ÚV(IÁ}ƒºømäß@a“%ÿM-ÛÛ ¥ºKŸràÀêêj.©½¼¼9KoŸ¯`„αcÇRRRlmmé×Ù·ÙìÙ³it£U«V!!! ~½%‡vñâEÝàñxݺuëØ±£¡¡!©§8´¢¤¤dË–-„1cÆ8;;«ºº†ÓpïŒÓ§O§¤¤ôèÑCIAì6XC–-[VVVÈD78fL¹úNј1cvïÞ}÷îݵk×.Y²D½7wiè m]D q9½(­ m…’zzz*8@÷•€ãõ‚Ëêm†ÒÝ¥O ®ªªb‰D¢›7oBÚµkçââÂNmooÿ†óר¶lÙ²k×.vhàĉgΜéÔ©Ó[ਪªJLL$„=z”ËWoÉ¡]½z•¾8vì;^¦°8´"??ÿ‡~ „tïÞ]»£.[¶,''gÒ¤Io~ï*Ñð*¯!‰‰‰û÷ï'„Ìš5KÓŒþõ">ŸÿÕW_}ôÑGÛ·o7nœLsôïÑx—†®hÔ‹ˆËéÕ°6???…o¹»»¿áÌü›5ÞWŽMZ¶·Jt—>!dß¾}ìEŽŽŽ„>ø`Ñ¢EM’­7ÃÛÛ{ýúõM 5åææJ¥RBÈСCu«k.í¢Üºuköò·¶8ôõõ§L™ÒÔ¹à¤QÏáÖ­[¥R©LÁ5ª°°°–-[–••EGG¯Y³æí÷­òÖ^Í—Ó«CÀÛÏËËëØ±cM hD›,´lo3”è.íÜ—””äåå9;;›šš*IV^^ž››[WW×¾}{ U÷"‘Hž?^XXheeekk«ü®¾  àÙ³gB¡°1¦'¬¬¬ÌËË«©©i×®]ëÖ­¹Ìm–ŸŸŸ——çââÂåÀ¹l_,Ó¶¶¶ªæ_9‰D’‘‘abbboo¯üÐÔ+Pšs5:@*<µµµ>Ô××···722Ru›š+**ÊË˳±± …oóDwšœ(‘HKyÿý÷Õ(¸ÊÊÊÌÌL;;;+++•Vï½÷ÞÞ½{Ïž=»zõê7z9®J­“+ŒT*-((xþüyÛ¶mmll¸¯øøñc±XìääÔ¢E %ÉTmëjkkÓÒÒôõõ===ÙËU:?šo"˜SdkkÛ¦M›FÚ/á\É«««srrjkk]]] 4ßocTQª²²2;;ÛÐÐÐÎÎNy=iþøc{{û.]ºx{{¯ZµJ>Ïj_Gj¨ÇêªFÓª—K[ù'—O7Ž×oƒ›íÒèg´ 6°;K¥Ò„„„~ýú]½z•=L:--mäÈ‘¯^½b¯û÷ß5êôéÓ:ujpG³gÏ–GóêÕ«-[¶nÛ¶½<..n„ ‰„YRTT4wî܇Êo¶¶¶V"‘0_Úè¿Ì»ô5û+]jjêˆ#d$;;{Þ¼y_}õ{]ºúÁƒ~L*ÄqûÌÆe²ª0ÁñÐ!ùùùì)î+++W®\™½iÓ&vJµ T$Ég£¶¶–Iv®”ŸÆíÛ·/Z´ˆ&àñxtÀN\\Ü7<DωÂs%³P¹ºº:zn™¬’ÿ.&œG3PRR²zõê„„„½{÷¶hÑB+{W‰ü9$ÜNTƒ5äìÙ³tu__ß³ÁÜåË—£££ÙÛyþüù¤I“***ÆO¸P×®]™ê§wñJ€~!Çx<ÞòåËæ­[·233=<ÅEM3_è\SwcZS1ª%zòäɼyóêêêˆ-mmmŸúô麺º#F‘Ó0;;ÛÃÃã×_%¦º#’bÅŠÄÌe¡¿þúkþüù—/_öõõ}óæ ±½ªªjÿþý`ëÖ­ÄFY®#©›Ñ/®L«V‰h^ÚÔL)în]¿] _2àØ·oßĉOž<™}ûöí™3g"„x<ÞöíÛ‰}ª««½½½ÔÔÔvíÚ•–––žž¾k×.55µææfooor-Qxx8®A.\¸ðèÑ£‹/âŸâââöîÝKìùêÕ«U«V 6›ýõ×__½zõ·ß~Û²eË€(F7nÞ¼™••…+h33³¬¬¬¬¬,â—䊊 //¯††__߸¸¸ÔÔÔÀÀ@<_Ippð¥K—ÄyõêÕž={®]»6:::!!ÁÉÉ©³ÐéùòåYYYÑÑÑøß}ûöá¨.]ºTºSÃ~þù窪*ÿ¤¤¤œœœC‡õë×!téÒ%ò/ç²dè½{÷Ä£q÷îÝÎö§HÆÖÖÖ   @`jjšðúõëÜÜÜÐÐP6›ÍãñˆUèæÎ+1­fÍšÕe Ô~úé§¢¢"‹µ~ýú¢¢¢ŠŠŠ„„;;;„Prr2îP\èôÑL¨.Kî"455Å¥‚¦ˆˆMMÍýû÷gddÜ»woÆ ***¡   üøD'‰  @Ä¡ÐÉ\Œ~íDÿ˜t¯^½º£££GëׯOHHHNNÞºu«®®nTTTSS“Äoåçç'''{zzÆÆÆæååÅÄÄà9_½zEš!E]W^^^ZZjkkš˜˜H<6ÓOŸÎмˆÄ«ˆ°°0ܘvqqÁç{öìYwww„Ћ/èô­ÐÔe!Ǿûî;Ü»1nܸƒþù矧OŸž={v}}ýùó癪ˆ"J imm]¶lYLLLjjêîÝ»ñ"ëÑÑÑQQQÄn|>ÿ^Wð„åLÕÔÔ¬\¹’Ïç«««‡……¥¥¥¥¦¦nß¾¿}òîݻξK³ÆCòhœÈÐÐPœ5£GÆåçÂ… øGÝòòr///aaaªªªçÎsqqÁÍÍÍ |||ªªªÎ;GQ-r¹Ü={ö „&OžƒßXÖ××wppðððÈÍÍ=xðà† ðö½{÷âúÚßߟXèÁÚÚÚÞÞÞÃÃb€†ß`ìÓ§BH]]ÝÄÄ„üixxxee%BhûöíëÖ­Ãñ@;ggçÆÆF///‘é 444bccq»“ýãkjjjjj ßèéé‰D•é©al6ûäÉ“Ä@}cccMMM¡PxïÞ=+++¼]– ÅêhH$žŒ·o߯w¸<祑‘‘ŸÏ¿uëB¨©©ISSSCCÃÄÄ„QZÑôûï¿#„Æ·sçN¼ÅÞÞ>**jݺuïß¿¯®®ÆÑVPèôÝ»wNBuYBjjjBC‡eº††Æ•+WÆŒƒÿݶm[}}ýÙ³gkkkŸ>}:fÌšI4tèзoßâ8t:™‹ÖN4IÓpó=((håÊ•x£•••£££››Å§sçÎŒŒÄ35š››ÛØØðx¼ŒŒŒµk×â}¤«ëæÌ™sêÔ)òÀFéÓš%D¼Šx÷î“““¶¶ö¡C‡ðKц††®®®™™™\.7##ƒ"PFº,ä¡§OŸâ^!“+W®à^Âaƹ»»ùå—øMFQDɾþúëàà`ü÷È‘#§OŸîââÒÒÒ²}ûöåË—ã jkk%¾óE¦®®Nˆýý÷ßûµ544ðz eee8Ý–-[F¬H=räÈÞ½{ûûû …Âû÷ïþùçC¤Yã!™'¡êêêýû÷#„ ®\¹‚'>|¸«««ªªêO?ýTXXxîܹõë×w,%œN“‰]Ô999Rç Stj*©«A.¡Í›7ûùùácÇŽusssrrâñxÄC¸tù¥­­‡“×ÒÒrРA¾¾¾!•k×®YZZâƒà—‚Byyyâ‘\µj¾ŠBÎÎÎ666¯^½ …ÇŽÃI4a„ºººË—/·µµ•””Œ9ÉvIDÿâ'Eq¥SµJ$Å¥MÝV¿»I}ýŠ  2àX»v-îÝøÿÇb³çÍ›‡jiiÁícô¿úÚÑÑ‘¨e0www<¹ÎãÇ)‚xøð!·mÛ6r#LCCã›o¾AñùüÂÂB¼ÊÊÊJdÜÝĉñMExƒµµ5ÑâÇÌÌÌð€@< ’È·œéônH}|91b„È4îîîx,è‹/ˆ2f¨tÄ“‘xàÁ/£V¯^O=ß­ìðmþÙ³gä§n]]ÝØØØøøøg-Iy%—ËE1âËÑÑQ¤‚«„̱͗þýû#„˜öHfæ2ªä[`pu1qâD¢YY[[oذâ‹ëׯ'ÏC©¯¯?qâD„ÐË—/Eδ.Ú²e‹H£QúÈH¼Š =qâyÊ·=zÌŸ?!TTT$qb&)Ð)ä=„‡‡“Ç@±X¬cÇŽõîÝ›i Š(¢SSÓ]»v‘·Œ1Âßß!ôþý{b þ5•šÄ}ž?>O¼ƒµµulllll,ñT†-\¸0??¿³é×x º—ÑŒ1.rÿþý"õjhh(ÜN=ëP7”p‘‹Z–|aŠ~M%E5HÀe`ôèÑ›7o&o777ŒŒÜ¼y3±’½tùåììLîã1iÖxŠ»—ÑŒ‘5âW±ššÚ¨Q£ªªªhN«¬ .ñ¢&0ÍFèÔTRWƒ„÷ïßã20aÂñ²çææFþÉGºü¹²zöì©¥¥ÕÔԄ߸!377/,,Èïß¿?~AŒ@Ìì r"ÅpŸ¦¹ä—\šô‹«tíé.mŠ;õÝQy ¾¦r$S‡®®®È‘‘®EEEx”à/¿üÒÙÔÇ555555â‡Âˆ{‹-ê,¡ââb|8žléáÇ .$Ds½7©/G³@$þ²g¨tÄ“QOO/""" €Ëåâ_utt–,Y²víZ)Öc*  ²²2))©­­-:::::ZEEÅÖÖöÛo¿>}º¢C§O. Åçóq dº~!ž;ƒŒé0<’H^­ç.ÑÌ\úµýcÒQTT„›°â­d„ù‡AÚÚÚâ®â•¶u‘Äle”>2€P(Œ?zôhAABKBŽOÓÐÐPâ` sss¦Š(¢‰·K¢°Èx²²²’8÷6¹pVVVîÛ·ïæÍ›LûPhÖxŠ»—ÑŒ~ø8p Ä¥+GŒqûöíÒÒÒºººÎÖ¶Tt —xQK/ŒÐ¬©¤« ………¸®£Ó>”.¿:{ÿŽ~Å|tz¯ä›_²4'¤(®Òµ¤»´)Ž,ñ#éʃtí€dêàèÑM½ÞµÄþfòGl6›âu;ÜŸMD¿áSÄP)Ž//²g¨yxxÌœ9óÌ™3qqqx|cmmí‘#GΜ9¸|ùr…†Þ·oßóçÏ?|øðÇLKK{÷î@ ÈÌÌÌÌÌ´±±¹xñ"tð1=¡444zôèÁãñä5‡S8\Fó›Ê‚fæÒ¯è“"D¦ˆÇÈËHAŽ/£ô‘»;w;v ÿ­¦¦¦¯¯¯¥¥Õ¯_¿²²2F¯GÉnãJÌ/ŠíQD©7VÙKˆššõµ\ZZêââR[[‹ÿ0`€®®n¿~ý´´´ð«þÔèÔx ½—щõ‘é¤v÷—póE¾d¯‰>:ëšÉž_ÝOù%us¢ÛŠk÷4S•±<ð¢ØKKKUUU>Ÿïííûz™3fLrr²ªªê7¨û>ÍÍÍUTTœ&BâFú,--{ôèÑÞÞ^RR"þé“'Op-Fшü°Ç—Ù3T¾ÔÕÕ×­[·nݺúúúÌÌ̳gϦ¤¤477ÿý÷Ó¦M£X$O^¬¬¬Îœ9# KJJ’’’NŸ>ýöíÛ¬¬¬   ððpE‡NŸì ¥««ûúõëÛÁ!û° ÷ïß‹o$Ú"ºÌ\úµýcÒ1lØ0ÜŒæñx999Ô{ª««›šš"„$îÉt±:‘ª_MM Ø–xpb#±ÔSŠ>>™,­Ù3TAúõëçêêûÝwß!„ÚÛÛsssÅw£3­ºX,–¹¹ù¦M›îß¿'ÙúïÿÛm¡3B'¡$–ܹPUU¥Ðèu–D8\‡#õ‘q„˜ü˜"uë–"sé×NôI‡ŠŠ €’’"Òå$ ¥xž$“c]$uúP yÔš5kìììÈS]J·p©ŒFÿ_2++KÆ0å^D³²²ÄÇgggã?ð ¡¶¶¶û]‘îN¿¥££³sçNò¸÷ììl¦÷¯Îj¼n»—uâ "–ÀãñpŸÅU&ÇN?Iå˜/²“½ìÑ£>Âÿû_ñÉ/îÞ½{êÔ©³gÏâe̯BÑùE³Ý…º·BîžK[Ëÿ(Šíà@ÿ»Â333¯\¹BÞÞÐÐ0þ|;;;bFh‰È D“¢a—/_¶³³³³³ûã?ðüËRNNNDDyÏ=z”f„ñÛþÏž=âˆO$;;›e‡½xñ"((!Ô»wo¦‹hvçñQç§&E<¥ÎPyÙ¹s§³³³»»»È\SÄŒåäÛ9>q„PVV–\Bñâ^2óüùóäíZZZ8\òër)Jb ÁãØ?~¬ˆ!—ÔIÔÒÒ‚nåu\9TUU‰4GNœ8!òÌL?sé×NŒ ŽŽŽ¡ÊÊʯ¾úŠ<¾:44499™Ñ¡ÄÉ«.bT{Scz¯=‹„ûàÁƒÌÌL:G¯±cÇ⮇ò‚ˆoÞ¼ù׿þÅtµ EQ‘㋬¢òäÉ“ÐÐP„P¯^½† †7öíÛ÷û®Ko2‚»#ù|>ùÚloo)ѯñt/£âágÓ¦Mÿý7yÏ€€Ü¥Kñ€$—δI K¾(‚ìÕ ž´¨¨ˆX‡{þüù’%K¶lÙrùòe¼EÆüú äž_ŒšdÝ\!wC3U.塵µ5&&æÎ;ð& r§ØWTB›6mº}û6—ËýÏþóúõë3fhkkçææ=z?iP,óŽÒ××ß°aáC‡òóó½¼¼V¯^mkk[^^~÷îݽ{÷ ‚Áƒëxùùù%''×××ÖÔÔ¸¸¸ôéÓçÎ;‘‘‘ô»« B`óæÍ+V¬066Æ#Š7nÜxûöíÊÊÊ]»vq¹\|"§NjllD…††Ê2c¹¢OqjŒÈ˜¡òbii‰;­–-[2|øð¶¶¶?þøc÷îÝ!]]ÝI“&;à™¯^½:dÈYÆÌ2¤®®îåË—%%%`áÂ…½{÷.++ Åóº{xxÐ ½  à_ÿúBhÕªUä¥à(TWW‹ÿŒ™™™‰odšP¨“âèèxëÖ­ÆÆÆgÏžO8òBA=ÂWÜœ%£Ÿ€Ä¸úU«VŽ5ª´´ôöíÛÇÙ“~æÒ¯:6oÞœ™™yÿþý;wîXXXL:µgÏž¥¥¥ÚÚÚ2¾I$¯ºˆQíMé%½¡¡!555((èƒ ¤Ä$ìÙ IDATêß¿ÿÉ“'—.]Êçó===­¬¬ÆŽûüùóÌÌL§¥¥Å¨ÓYETÄñãÇ[ZZfÏžÍápîÝ»wòäIüdHÌ\ ®®.²¸¦¼L›6­   ¾¾~Æ +V¬6lØÃ‡;–––Öåwé×xŒîeô«šàp8ß}÷ÝÊËË.\ø¯ýkâĉ¯^½úõ×_£££ñq¾üòËÎB‘K gÚ$%_AöjpÓ¦MÉÉÉ¥¥¥‡jhh˜5k–ŽŽNFFƹsçÚÚÚBÿþ÷¿ñž2æ×!÷übÔœ ëæ ¹š©r)ëׯG9r¤{~àŸCᆆ†—.]rsskii Â?>ÿüsŠÙݱ­[·–••]»v y%Ô¯_¿kJ›ššFFF.^¼X =z”}zJJ —ËÅ-òÈÈHbAu)°X¬€€€µk×¶¶¶úùùùùùáWyñ§xi÷.C/,,Ä$û&$*--í¬y½lÙ2¼£„¢(!³fÍ @eeeɽƒƒ:ƒpzôèáìì,òEú 8eÊøøøòòrr³CGG¿LKla”¹4k'FǤCMMíüùóÎÎÎeeeµµµÄš:::çÎ#¯n(9ÖEôkojL/á>}ú¬ZµêøñãïÞ½ûöÛo‰í***žžžM­¯P...;vìøá‡:::rss‰±ÜK–,éׯ£ßTQDÉ<==¯_¿~þüy‘"Ë–-#ž÷jÉ’%±±±\.7>>?`“&Mzùò¥ø‹fdôkYQ_ƒËHË¥„3mÈ’/Š {5¨««ûù矿{÷îÌ™3gΜ!ºlÙ2OOOâ_Yòëƒ{~1jNus…Ü=ÍTÙË1ž4;;:8/ •‹ÅÂ3“_“#ÃÛÙl¶øz%ÄWÈß3fLll,y•i•¡C‡=z4::ºË_Y,VDDĺuëÈ‹-iii¹»»gddL™2…¼óŒ3"##‰ñr!={öã(‘#&¾!4~üø¨¨("¶äs´°°¸råÊÔ©SÉŒŒBBB6nÜØe:t‰þñ¥ ¢³S“˜Î‘<’1C; ®³ ’¸³ššZRRÒ÷ß×EçñxB¡°oß¾S§NMNN&7J°#Gެ^½š(BKíˆoâor4<==“““íììÔÕÕqØl¶™™Y@@ÀÕ«WE&ê,t<£ššš½½}gñOΰÙlñ4d”P…ßÀÀÏ#pýúu‰#ç;EÆ»‰|D‘A ¡I“&‰OåE?Ùlö±cÇ/^Lž©ÔÞÞþ—_~Á)#]æÒ¯/ôôôàà`77·ñãÇÏž={ëÖ­YYYÄt]Hñ˜ÖuNFµ75‰%„¢¤âÌ%N*66væÌ™èÿ^àÕ<Ô•€…|ݺu¿ÿþû—_~éèèhgg·lÙ²øøøÃ‡ÓO‚"Š(ÁÑÑ166–¼ÐfïÞ½}}}eŸ P¼®ÈÌÌì÷ßwpp ÖÈTSSûúë¯/\¸€‡íˆ$>9§Õxôïeô«F8pàÀ¦M›ÈËaªªªº¹¹]½zµË7òè—ðÎ0m0Í‘#Ðiƒ1­©Uƒ™™™]½zÕÉɉ8ý=zŒ=úàÁƒéþ£™_•Cg—ý¤ ¶ˆ„ø—øƒ~~I$csBÓ Ybô:«ZÅѼ´©ÒÔw7Ääú•x¨õë×÷ìÙ“Ãá(zÕ?þX ]Ì\D]]]EE…ªªê!Cˆwªéãóù¯_¿®««ãp8Ô÷~¡PXYYYSSÓ¿<¶YŠØ677¿ÿ^SSS<ªååå@WW—ÃáÈ}aZEŸâÔ‘1C奱±±´´´OŸ>ÆÆÆÔ{òùüæææŽŽ9NmÝÑÑQVVÖÔÔ4dÈ F¡{{{ß¾}ÛÁÁ¡{~R¦ŸPKÈÑ£GwîÜ©¢¢RPP û‚&‰'ÑÓ§Oñ¨W‰c8¥KÀÒÒÒææfCCÃ.`a”¹4k'úÇ”NQQ~—çĉL†ˆ“W]D?}º<ÓK¸¦¦¦²²rРA *´²ûòË/MLL¤˜¦GŽE”ËåZXX „<¸lÙ2„Pmmí›7ozõêellüAjøööv<«‰‰‰ _ãuy/“®ª¡@PYYY[[«®®n``À´Z½„3mȘ/Ý@Šj×ul6»ËöŒŒùÕý‘_ô/.Ý\!wC3U–òðþý{6›Ms$#€¾níà7®¬¬lçÎÝ3q‰ŒÞ¿?iÒ¤ÒÒÒíÛ·óÍ7ÝèöíÛ?>räÈ””ñR”+åèСCIII,+<<œXÕÛºukdd$‹Å***úhé ,Ÿ…^Äž={ºçÅ7Å©­­Å§`mmgë$”——O™2¥¡¡aÅŠûöíËÈÈXºt)õÑ8Ž"Ö‚ïà„lUó1ûdªAò¥ðUTµ´´”——#„¦M›ö¡ãBKÏž=CBBB‡ª©©é†_¾|‰_ŠÞ»w¯xï†Ò% ÙÚÚæåååææ._¾ü—_~)--åñxOŸ>Ý´iSdd$BhÔ¨QJѬÿþ}kWÄ—,U::::yyy§OŸ¸ÿ~kkëßÿïééÙÐЀrrrB ‚.OºÍ?¹ªù˜}2Õ ù‚|>œ1c†®®nQQ‘ÜßBRŸû÷ïÿûßÿþî»ïÖŽ;®]»æââ.þ©’& ¼¬Zµª³ÑòÆ »xñ"y*"ðÁ=xð`éÒ¥" bl6{Û¶mÿùϺ?Vd0‚£3ÿðªæcÕ q*Ò-S—Ëmhhpww·µµýÐqaà‹/¾ðõõíl58ùš6mš¯¯/ž„Lœ’& ¼|ñŦ¦¦Ožþ\KK‹éAº¿ÎÌÏÏ÷öö®ªªÂÿ~õÕW!!!è£ÉñÒø‘D (5U„Ð¥K—Z[[éìmiiéàà à(™°Ù2½vtíÚµÂÂB}}}ÜK¢Ð°À?R’””Ü»Áb±Æ?lذ^½zQì_[[{ìØ1„ÐâÅ‹MMM»'’mÚ´ ÷nôïßêÔ©D—ⲃQÕ!®;+.ð©REM™2¥¥¥…ØÄãñîß¿ÒÓÓ333#ïmddÔÍñL¹ºº–••­ZµJН'$$$%%5ŠÎs±cÇΞ=kee¿¸‚Î(u!IOOÇ\»vNßnUUÕáÇB666°ƒ£¥¥%77!4yò丸8ò˜Åe£ªCœŒ“1tðiPE]¸p¼©©©iðàÁ¡ùóçïØ±ãƒD HMUUuÍš5ÝÖÈ‘#8Ð=a%¥Ô…¤¼¼!4`À{{ûÊËË…B!BÈÍÍMä˜6;>Úˆ%"Ÿ·Ákkk+**LMM555)vkll,//ïèè000â=öööö§OŸªªª©««Ë% ŽŽŽêêꪪ*###ê477WTT´µµééé 0€Îd/^¼àóùC† éÑ£ÅnÕÕÕoÞ¼áp8zzz]SôÓð†% «««+++õõõ?ûì3©C/..VUUµ°° o§_6EC9¨¸òöñ±Näåóù¡AƒÉýÍšu¦@ ¨¬¬är¹:::úúú4çïÀÑFéëë3XgNMMMEEÅ Aƒ8N÷Ï-ÝP^²¶Ú8`oo?bÄ'''“™3g‰ï–““3oÞ<GGÇ©S§š™™Íš5+33“f(iii...ÆÆÆS¦L±··744œ?~VV–, ‚ýû÷9rÔ¨QÎÎÎÇ;v¬¯¯omm­øÎyyy .Ÿ/ÚÛÛ‰tÒGžøŠ@ ÔOSø+"ûÐÏ/ñ˜ûøø>|¸®®ŽØÈår¯_¿þùçŸã—ºŒÌ›7oæÎ{ûöíææfò§ôË£h("WÞÈfÏž-ÚÚÚnÞ¼)òQNNNii©@ ˜={¶Äïš›››˜˜ñ§w„PBB‚@ ÐÒÒ²³³C:ÙannÞ»wo@ð矒wKIIÁ…399™¼=##C tttLœ8±³³F´“—Çã‰_äkJ¾èÈ[ÿCÞH³ÎDmÚ´iÿþýäþÖ†††cÇŽýç?ÿ¡8;ññbL‡xvP\8UUU3gÎ<{öì›7oBør®­­Ý»wï—_~I¤†U‡8©+¹„> 2upìÛ·oâĉ'OžÌÎξ}û6þ½—Çãm߾اººÚÛÛ»¡¡AMMm×®]iiiééé»víRSSknnöööÆMçδ¶¶ SSÓ„„„ׯ_çææ†††²ÙlG^ð’Q@À?ÿš››ïÝ»7==ýäÉ“îîî¡ÒÒRòôœ^^^ ***¾¾¾qqq©©©xš’àààK—.‰Ä9???99ÙÓÓ3666///&&fĈ¡W¯^‘%~õêÕªU«›Íþú믯^½úÛo¿mÙ²eÀ€"ƒ/dD3 oÞ¼™••åèèˆ233ËÊÊÊÊÊ’ø+{X………ݹs!äââ‚“îìÙ³8S^¼xqâÄ :(///--µµµ MLLÄßbT6èGC9¨¸ò&bÖ¬Y}úôA%$$ˆ|„·°Ùìùóçwöu///„ÐóçÏEFp¹\,~sÁÙÙ¹±±ÑßßßËËKäý¹sçFFF⟠ÍÍÍmllx<^FFÆÚµkñ>{÷î}÷îBÈßßãÆx£µµµ½½½‡‡ñ‹«ìh¦!~]?ôª««›˜˜(.,‰ß}÷î“““¶¶ö¡C‡ðbœ†††®®®™™™\.7##ƒfæÌ™sêÔ)òÓ5£BH?ŠÈAÅ•7½zõòððˆŽŽ¾{÷n}}}¿~ýˆnܸrpp ˜OdáÂ…{öìéèè¸~ý:y²†ÄÄDüz΢E‹:û.ýì˜>}ú7ž|ø¿À²mÛ6r/†††Æ7ß|ƒâóù………r›ø…ƒûž={VSSClÔÕÕ—n!júº³âŸ™FpX[[‹lÁ?{"„šššB<Ïgѯ_?<쟬oß¾¡GQaccÓ«W¯¶¶¶Ã‡'''/[¶ÌÑÑqèС"Óø3 ˆèà˜0a‚Èžýû÷÷óó?¬ø™"„Æÿxôèyn¼^½z™››‹ìŒfÄÉ‚jkk{þü9>Añ% ìììŽ9"¢th¦áÇVkkëË—/êëëëëë_½z…êèèèèèèr1 mmm‘y ¥.„ÔÑ">ŒGˆÐÔÔÄï’(®¼I4aÂccãÒÒÒ„„bÀî¡èÝ»÷œ9s(¾‹Z´hQzzú³gÏŠ‹‹qjjjð,¡Ã7e‡¾¾þðáßœÅb …‡.\¸Ø®­­-¾š£HÊã‰ñ$YdFÑLÖP(Œ?zôhAAÔoè‡]`L !ÍhH‘ƒ¹¹¹·oßßNü­¸ò&‹ÅòòòÚ·où-ü~Š››y Dnnn~~~ÍÍÍׯ_ÇÆï§¨¨¨PLÞÁ4;¦OŸŽ;8B©©©!'''üúLAAÞïààà@±>®tÉ+_]Ö™ˆÔKÑOTPP ߈‰_8¡€€€ÊÊʤ¤¤¶¶¶èèèèèh[[Ûo¿ý–\£8ÝYq€OƒL]"óëëëSÌüG^Î@œ‡‡ÇÌ™3Ïœ9‡_¨­­=räÈ™3g—/_Î4 „ÈZRDLÄ‘»ç×H:iøÁÃÚ¹sç±cÇðßjjjúúúZZZýúõ+++û믿¤ŽÓBH3RäàĉÅ{"B½{÷9f·ñòò Ão©,Z´(//¯¬¬ uõ~ ¦¡¡áææ“ðý÷ߣÿþ˜2eÊÀ;ûÓì˜>}úñãÇ‹ŠŠÞ½{÷×_½{÷NGGgìØ±l6ÛÒÒ²°°ðÎ; .ÄÔï§tòJÇ“ÍfS¼æC‘ÂrÔ·oßóçÏ?|øðÇLKK{÷î@ ÈÌÌÌÌÌ´±±¹xñb—}Ä2êΊ |ÛÁaii©ªªÊçó½½½ñïoÒQWW_·nݺuëêëë333Ïž=›’’ÒÜÜüý÷ßO›6ÍÐÐQ@VVV¿ýö[MMÍÛ·o @ÿ=z´··—””ˆJ¬õHñÒsss@ ²$-&q£ŒºLÃVii)îVÐÓÓ‹ŒŒ´µµÅýP¡°°0Še#ºÄ¨lІ9¸fÍš.£ª òÖccã &Ü¿?>>~Ñ¢Exí b~.yyyÅÄÄ<}ú´¤¤DGG§Ë÷Só:aÒ¤Iø=…û÷ïãd§OŸŽßTrvv.,,LII±²²zûö-BhÚ´iÔAwsòJg̘1ÉÉɪªª7nÜ8°¢›YYY9sF(–””$%%>}úíÛ·YYYAAAááኽ;+. ìdšd´K={öÄïu‹Ì'µ~ýú¹ººÆÆÆ~÷Ýw¡öööÜÜ\¦;ÿ!¾0GSSÓ©S§N:…gPSSãÙsrrÄCl´²²bz"êêꦦ¦YâL òÒY’‘WßTtX‘qkÖ¬±³³#ºÌ©Á¨lІ"rPq嬑––VWW‡ßOY°`A—s`“'O600@]¿~=))I ôéÓGdaTL넞={âåQÿüóOU ïàØ´iÓgŸ}&>“ÙÚ IDAT ÿóŸÿ:t¨  àõë×7nÜX¸pajjê³gϨk°´´ÌËËËÈÈX¶lYqqqGGGKKKbbâîÝ»Bººº“&MbŽŽÎŽ;Boß¾]°`ATTÔ³gÏ~ÿý÷ï¾ûîçŸF™˜˜L:ï¼qãÆAƒ!„víÚõÃ?Ü»w¯°°ðäÉ“‹-jllD…††Òü¹[„ŸŸžÖ100pçÎ?>|øð—_~)ßß!é§!Bÿ /6oÞœ™™ùæÍÅ…E6yòdî yòäIzz:êêýŒi€{.JKKµµ5ñ\­¢¢‚;;ðÜ(t¦½TtòàÎÓ«W¯ž={öùóçmmmL¢¯¯¿aÄP~~¾——Wbb"—ËÍÉÉ _¿~ý³gÏÚÛÛ¤Ž$MC† ©««ËËËÛ¶m[TTTSS“P(,--]³fMii)BÈÃü¿ŒU‡8¹T\Ož<™2eŠŸŸßÌ™3i®3 ”—bçà@^ºtÉÍÍ­¥¥%((ÿLJøüóÏ©Ÿˆ<<<Μ9““““žžîàà ¦¦ÖÞÞŽ_•WWW !žF´~ýúòòò¨¨¨’’òº°¡Ï>ûìøñãÄÌ‘±±±sæÌihhˆˆˆù­> ÀÛÛ›q¢ „255ŒŒ\¼x±@ 8zô(ù7Ÿ˜˜ê5>食†¡Ù³gGDD…B¼ÈÅ!C O›, ?Þ“' ÃÛÙl¶øúÄWÈß3fLllìĉÉ» :ôèÑ£ÑÑÑÔ¿—ª©©%%%}ÿý÷úúú!' ûöí;uêÔäädOOOòΌڳg¿¿?y‡Ï>ûì‹/¾øã?ÆOÞÓÂÂâÊ•+S§N%Ÿ¯‘‘QHHÈÆÅO_bºáÐE>š1cFdd$1â!¤££³gÏžàà`ŠC‰‡HÎ âo⻌ÒpüøñQQQDR/"IFa‰ Ä_Ä,,,bccgΜ‰:)oÔ‘!£_6ECö§ òF±óÔ©Sñl»=zô Î#‰ˆþ//¯Îê‘p™Ö Äk)ÎÎÎäíNNN8ÄI“&©««Ó‰-ýäí,òÔŽ9²zõjâ]'òÅH¿Îd±XëÖ­#ŽƒÒÒÒrwwÏÈȘ2e u$³³3¢8GOOÏääd;;;œ¶<Íf›™™\½z_"ÈXuÈX™túœ9sÌÍÍY,Ö’%K wà“Ç«tºººŠŠ UUÕ!C†/«ÓרØXZZÚ§Oê©$*++kkk9N—ÍßÆÆÆòòr@ ««ËápäµÂ«P(¬¬¬¬©©éß¿?1Ä]Aè§assóû÷ï555¥È)¦a‰¨©©©¬¬4h®®®tAS _6èGCA9¨ ò&1 Ñ£G766Κ5ë§Ÿ~RP(ÉX'ÈB¡ÉËçó›››;::´µµe<ÎëׯëêêèTPŠÓÑÑQVVÖÔÔ4dÈ êe¯:ÄÉXq555á‰QÀ§­[;8¡~ø¿¬‘˜˜HUJDásp>N\.7??ÿÎ;xzQ;;;èÝ(/èààêæÍ›ß}÷þ»ÿþÁÁÁ6> èààJCCCGGGGGÇÒÒÒßßßÔÔôCǤsp@éQ-Ñ   ƒJ:8 ô ƒJ:8 ô ƒJ:8 ô ƒJ:8 ô ƒJ:8 ô ƒJ:8 ô ƒJ:8 ô ƒJ:8 ô ƒJ:8 ô ƒJ:8 ô ƒJ:8 ô ƒJ:8 ô ƒJOÅÏÏéw nܸñèÑ#+++‹¥ˆhÉ@ 8wî\nn®ººº®®.ÞXPP°gÏ.—;f̘=©555]¿~=111%%…ÍfKqèèèììl6›=pà@¹ÇP:Ý5·oßnnn–"Ñ>†K ¶¶öÒ¥K=5j› =•Ƚ` ù€r‘x󟆰ñ€‚ˆ7ø|þ‰'._¾lff¦­­Ýå²³³oÞ¼Y\\3‰7_ÐýÝãhêÎÆ +//§ØAOOÏßß¿ÛâóO#Þ¸~ýúŠ+BÓ¦M»råJ—GرcDZcÇúöíû×_):¶üé"„.]ºÔÚÚJgoKKËO©­&ñwïk×®êëëãjëc¶iÓ&ܻѿÿ©S§vÙð1œZYYÙÏ?ÿŒš;w.E‡,Cjkk;†Z¼x±©©©Ä}ëëëpï9b¶lÙ¨ñ'ŽššZppð’%KÂÂÂæÏŸÿÙgŸusÄÀ'ïc¨1äˆNÍ@Ó?ö¦©¤”·$Ë1æí=Д˜˜XXXH±Ã°aäîàøP׈«åî×̓g•:­èfª¡)S¦´´´›x<Þýû÷Bzzzfff佌Œº9~ uìØ±³gÏZYY‘»’’’Fõ‘·„ZZZrssB“'OŽ‹‹£ó{²²œê$khªªª:|ø0BÈÆÆFâ= 77÷âÅ‹¡7Šjii©££#ñÈêêêL##;ŠÓ™9s¦¥¥eaaá?ü€o{È‘ÕttY3Ð÷½i*)å-ÉŠˆùÇvŒôîÝÛÚÚZâGÒ½¤Œ}¨kDŽÕr÷suu ,++[µjU7§Ôi@7SE]¸p¼©©©iðàÁ¡ùóçïØ±ãƒD«{Œ9òÀ:R*// …!77·Oo´¼B³æøñãB¡pРAöööâŸîÚµkêÔ© ZîæÏŸ_XX·k×.x¿€îñ½i‚O€rÝã€KKËk×®}èX„RUU]³f͇Ž@ù<×ÖÖVTT˜ššjjjRìÖØØX^^ÞÑÑa`` ¥¥Å4@PYYÉåruttôõõ©Ÿê«««ß¼yÃápôôô˜Ô¥æææŠŠŠ¶¶6==½Йn°ªªª¢¢ÂÌ̌ΉÓ9>ŸÏÇèëë3?5@ðäɓ޽{QŸšŒ*µšššŠŠŠAƒq8¦s=òx¼ääd„Ðܹs4¼Qñhii)//çóùC‡USScÖ¼yóvïÞÝÑÑqëÖ­eË–1ú®Ü³é¹p¹\.—;lØ0‘ß¼yóöíÛ#Fty¡PXVVÖÜÜ}ªªªjddÄô×TF5$öâÅ >Ÿ?dÈ=z0 ‹À4ÛÛÛ‹‹‹UUU-,,èŸæÅ.Ź@LA"OYŠš‡fi‘ýæ+ «««+++õõõ»íå;)nëùd ­Œñ1¤Ó{DgM5úý:\––Œº¿¶gÔî¥ÐÑÑQ]]]UUÕ·o_}}ý^½zÉr4 2¶ÇD´µµ•––¶··›ššÒ¹›Ë%ô¿V {Èú€wàÀ{{û#F899™˜˜Ìœ9³¨¨H|·œœœyóæ™˜˜8::N:ÕÌÌlÖ¬Y™™™4Cáóù¡¡¡VVV...ÖÖÖÆ Û±cÇß911ÑÎÎÎÒÒÒÙÙyôèÑæææQQQâ{q8œáÇã­­­9NRRB(??ŸÃáp8œÉ“'“¿’——·páÂÁƒÛÛÛ;99™››?þÔ©S"G®­­Å_¿sçÎÉ“''Mš4räHWW×_ý•úLé?22’ÃáL™2ÿ»téRÖéÓ§;;,SC={ölÑ¢EfffŽŽŽÖÖÖƒ>pàÑ“B&c†vI$k°ÖÖÖÍ›7ãxðàñãÇ744¿{ïÞ½Áƒ<˜ü‚O—ç‚þïEãàà`aa1uêT###ÿÖÖV¡PxáÂKKËÑ£GOŸ>}ðàÁ®®®ÏŸ?'ÄßߟÃáÌž=›ÇãEDD :ÔÚÚÚÑÑqذa®®®ø5ÙOŸšU”ÁÒÒÒ\\\Œ§L™booohh8þü¬¬,:‘¡YC©×ÜܼfÍ ‹ &à°V®\ùöí[bO:5Íd$---õöö633›>}úâÅ‹©Ï¨Ë‹Ñ¹Ó¹”Š"òòòpdþüóO‘o)Ÿ––FÞÎè†(Žf™¤_Zôo¾©¯¯ :tèÈ‘#-,,,,,V¬Xñ÷ß“w[¼x1‡Ãñðð?ÂòåË9Ž››þWŽ·õ.É·ÐÒ¼k+ÍŒH¾é€566fff ‚.Cgt ÓT£¿ Y‡ÓOYtmÏ´ÝK§Zæóùûöí9rä¨Q£œ'L˜`bb²råÊ.'é\±b‡Ã122jnnùH XZZr8b 6ÄäNMÖÖÖ6pà@ñæ÷»wï¾ùæ›!C†ØÛÛãFÎÒ¥K_¼xÑÙqäÒ”ñ¾À'F¦¾½ððð}ûöÿ …œœœ3f¤§§“_+..^°`ÈcÒƒ-Z”˜˜8jÔ¨.Ú´i“Èà†††cÇŽq¹Ü'N·§¦¦®\¹’|¬©©ñóó{úô©øaÛÛÛqñã‰Oñß䪡¨¨hÞ¼y"'RZZºeË–¦¦¦o¿ý–ü]üõ˜˜˜«W¯vy‚ŒŽO\$ª{"hžB¨ªªjáÂ…ä9º›››÷ìÙSZZzäÈòž²gh—D²†ˆñ Éb±„BammíÞ½{srr¢££{ôèÁçó%¦ yãÍ›7ñ×ÇŽ+{<Éè„PFFÆ¢E‹ÈYÆãñòóó}}}_¿~w¦s:¡qãÆ=yò$--­¥¥ECC£ËxÒɾlذaûöíMMM»wïÞ¿?Þ O˜ßÔÔÔ¿b23:ç‚Hå6%%åÔ©SÄYðùüÓ§O×ÕÕ1"((ˆ|ììl_ý•˜È€(ëÖ­¦›íííýÛo¿áYN¿K4«>š)ƒŠŒŒÜ±cN\¶B©©©þùgLLŒ££#u|hÖ8õZZZV®\‰Ç1a|>?!!áÑ£Gþù'þá¨Ëƒ~2âC½yófîܹ¥¥¥Ô'‚ѹØ;ÍKIq(¸.Ä+p"Ú"Ñ¿!Š£_&é—ŒÑÍW¢ŽŽŸ;wî7r¹Üëׯãñ ‰8‰·<'ÚÛÛÉgA|*ËmšÜ -»¶‚ÐÏqrO„Peeåĉ›››mllðœ£{D—M5úÍ:œQúÈ¢ûk{¦í^:Õ²x iooOHHÈÍͽyó&ÅâÄsæÌ¹~ýzKKËï¿ÿîééIþèþýûÕÕÕx¼…~­(¢££‹¨pðy­X±"==Ø" oݺ•••%qÂiyµe¹/ðé‘iǾ}û&NœxòäÉìììÛ·oÏœ9!Äãñ¶oßNìS]]íííÝÐР¦¦¶k×®´´´ôôô]»v©©©577{{{¿yó†:”ððp|Ñ:88\¸páÑ£G/^ĽËqqq{÷î%ö|õêÕªU«›Íþú믯^½úÛo¿mÙ²eÀ€£7oÞÌÊÊÂ÷!33³¬¬¬¬¬,¢´¢¢ÂËË«¡¡AEEÅ××7...55500¿z|éÒ%ñc^½zµgÏžk×®ŽŽNHHprrê,túÇ_¾|yVVVtt4þwß¾}8ªK—.•îÔ°Ÿþ¹ªªÊßß?)))''çСCýúõC]ºtéáÇÄn²g¨t~úé§¢¢"‹µ~ýú¢¢¢ŠŠŠ„„;;;„Prr2nôÌ;WbÊÌš5‹8nm›ššâ³“FÅ£¦¦fåÊ•|>_]]=,,,---55uûöíƒ B…„„¼{÷Žæé „Æ‡âñx¯^½ê2žô³oõêÕø*;þ<ñ«Wxx8þådÿþýxÄ2Ís!;qâ„AddäÝ»w·oߎDZÇÅÅëèèDDDdddHmO³ÝÛeµŠKÈèÑ£÷ïߟ‘‘qáÂ<ð­¼¼ÜËË Æ•hÖ¬Yx= „„‘ðUUÕùóç#©jEj;vìÀ½–––û÷ï¿{÷î©S§\]]kkkÅÇ Ê«5(Ë}€O’L#8lll._¾Œ4KKËAƒùúú"„TTT®]»fii‰>|8~O !”——'~"ZZZW®\Á“Æ[XX¸ºº²ÙìK—.ýõ×_gΜ‘¸>£Ó§F§ê£Ÿ2÷îÝÃkކ„„à‰oŒŒ|||ø|þ­[·BMMMÍñÁ¨†$Ì;722—sCCCsss—‘‘±víZÔU!]2Ι3çÔ©St~Ÿ¤s±3:÷./¥üñ§Ÿ~¢ŽÕ?ü@\ÚR£ŸI—Ý)®VD£´ ™o¾Ø»wœ´µµ:„_³744tuuÍÌÌär¹Ì !¤˜ÛºDr/´]Þµ¥.´]Þãdɹ§BÈÙÙYSS³©©ÉÖÖ–þÄ.Œî›jô+:úu8Íô¡PRR²|ùr‰ùúúNœ8Qdc÷×ö4Û½ÔÕruu5:j``påʼîÏðáÃ]]]UUUúé§ÂÂÂsçέ_¿^âÁ{õêåá᜜LÜÚÑÑqãÆ „ÐôéÓ €¤­;óêÕ«“'O"„ tõêU„¥¥¥»»»··wJJŠÈþri Êx_à“$Ó޵k×’‡Ä³Ùìyóæ!„ZZZˆß ðÉ££#Q3bîîîx~µÇSñðáC<ÒoÛ¶mä‹SCCã›o¾Añù|bap|(+++‘e'NÄOP²À£¬­­Eš fff[·nE577?{öLä[ÎÎÎtz7¤>¾1‚èÝÀÜÝÝñFò«ƒ2f¨ÔpëáÙ³gäÇx]]ÝØØØøøxúktq¹\„Pg‹ä!„‚ƒƒçI‚Û%a”}ÖÖÖ±±±±±±äW@B .TQQAåççÓ<„¶¶6ùÔ¨1Ê>ƒÐÐP„гgÏ8°qãÆööv===ò¯Rœ‹³³3ùÞìîîŽ[~VVV¸w366ÆÿJ|s588XdI¼ýû÷ãÆE ”Wé¥SõÑO¢Õ"2 ÃêÕ«ãããããã)f0eTCÖ¯_O~ÂÑ××ÇÍâ—/_Ò9}é’qË–-4ìi^ìÒ»D8G¨ÉeNbú‰ ‘Œ§,]ÍC§´Èåæ{âÄ ò$‚=zôÀ?´1šÎƒ9Þv•¨Ðvy“%#‘,((¸uëVbbb—§L>Mú÷‰M5úý:\ö–LCCï(++ß¿ûk{úí^ ÄÀáýû÷‹4ØBCCñË)äÁÅâ𘶶¶ß~ûØxÿþ}œò‹-Â[äÛ{ôèm\Ø06›)>=ª\B—c­À'C¦âkqof655!„x<^qq1B¨_¿~"ïs"„úöí‹HÕDDýUWW'rbê Ç7®­­ ÏGhcc#þë„ÈDŒ'"qùññãÇã?=z$2/¦xoº|/GâA³X,}}ý—/_âÜDòÈP©988‡Ç¦ôQLr.KöUTü?öî<®ÆôÿuNiA”eE¢•HmJË0²LÛŒ}>–„Fc)i“%QFQdmF%™VÑI½Ë©(%íÛ©Óùþq=Þ÷ïþs:Ýg+™×ó¯ºÏ½\Ë}]÷}_÷u_WYUUU]]]]]]}}=> Åž12|·=8ÄÈ>ww÷„„„[·náY{i4Ú±cǺúº‡b\ð·'EEEUUÕÆÆFÜu–L__ŸÉd ¼™æ¿RTT466NNNîê†@Šgo·Uá)cff¦¤¤ÔÚÚú믿&%%yzzZ[[ëêêRWŸz I,WRRÒ××çÙ~‰'0ð<ÄKF555êuÅÂ.FÜ»L1xb)’b”)–V*g‹Ô/¾---oÞ¼©¯¯ÇÁÃßuvvvvvJqê+é^v¿€“–?ïÄÈ¥ÃÀ‰¡H¤kÿ­šHõ:\ò;UUÕ®>úàïæÓ+µ=Åû^áˆ3„?ߌ+**„7pL›6MKK‹Åbݼy“†Ÿ¢ªªêììÌ¿‰ä÷cùùùøsssžŸTUUõôô„„Yì£K±Và‹!Q}žPx¤¢ëׯ_¿~]àNªªªªªªºêüOôN'Z[ùá ååË—x¸þÚ!$Él|¡‚‚<†ÀO˜0õìÙ3wwwòO§³{ÿR$0 xÂ/y†ŠÍ××·¼¼üÎ;­­­‘‘‘‘‘‘rrræææ[¶l±³³£¸“ŽŽœ’BòåüùóÇt0`@W›ˆ‘}ååå‡JHH8Hˆqþº½Š—}!!!ÄKåË—ÛÚÚòl"j\ºê'I}ž<bØQ2}}ýäää’’’††þ[F)ž½ÝV}Å”QWW óõõ­¬¬d2™xôÖ¡C‡.[¶lÆ Bz!QjH‚ššÿÔqÔ;¯Š—Œ"MìG±°‹÷Þ%ù솒GYÔÒJål‘ÖÅ—ËåÆÇÇ?~xð`UUUü½®HjkkñÝ[¼ìSRR"î‡øg\“n\¤‚Ëå Ì‘>{EJWWW''§³gÏÆÆÆâàÕÕÕÇŽ;{ö¬¿¿W_\#QjHiéd¤XØ{>î½NÂ(˨´Jëâ»gÏž'Nà¿444TUU\RRÒí¬bîuª´Ý^ã$Ɉ>‘]]#ÈD­è(ÖáR¹“é1½xË'|ŸDU#|5ààà–––{÷ºþý÷ßøK^rC€,jÅ®jBþåR9úçP«ð¹‘m‡¡¡¡¼¼|GGÇ’%KˆI%E2iÒ¤¤¤$yyù[·n oÖ××—““ãp8¸C ©344ìׯ_{{{aa!ÿ¯EEE¸~R¹ôîþ¥Eò •‰‰ÉÙ³g¹\naaá;w~ÿý÷?fff9r„ʆþîÝ;Q‡ÅNÔì;t辞­Y³fëÖ­Ä뇣©©IžoŒŠOŸ>á?ºíw ^öùùù•••`^½êââBžÆEºq¡¨¡¡¡¤¤„ÿ.æZZZ¸ë,>{EMeeå7nܸ±®®.==ýüùó÷ïßojjÚ±cǬY³ºš—‘z )-=–ŒÝv)ÆýäÉ“wîܾޗ——«««$GŽPâ®— a”eTZ¥rñe±Xø¡Z]]=<<ÜÜÜœc"88Xà,mmmü ù­+²¸ì~'­Á¯'ÓA ñ®dbTtÔëpÉïdzF/ÞòMž<9))©¢¢¢®®Ž¿=ŽÈGáŸkiiM›6íéÓ§7oÞtuuÅß§èèè?{‘n­hdd„ƒ-°k 1=°tÞó·|þ¤ö9«@ŠŠŠøãUž—¨Ã÷l6;;;[øšÊÊÊ:::!kó\RÄS­(((à^¬wN,$¦•¬÷O&É3§ä*4M__ßÛÛûéÓ§x쮿ÿþ›5þô¿V€ŠŠ )†GÔìé7tèÐ={ö;¯fee ÉÑA¤¸yÁ‚‰‘}IIIx ~??¿ñãÇ#„¶nÝJ~„/.’KOOçYÒÖÖ†{‡ ܤ‡Ï^±SfðàÁÎÎÎ111Û¶mCµ··çäätµ2õRl<¡íádRØÅŽ;Q*..~Ú¢™Oºˆ{wþ=ùó]Âì–Qi•ÊÅ—8Ö­[gaaAA“8ÑøSŒÍf K¯Ç.ëR?i掌NZ‘2B8Y^êĸFIRÑQ¬Ã)ÞÉô¤^¬íyªe¢Üeeeñ¯‰ó‘JÙÄ5ñ÷)<ßqH·V422ê*Øuuuü­½R¹ìÒ@Ÿ#Ûô¿ (==ýêÕ«äåõõõnnnxRë®/OvïÞÍÓ=þÊ•+<ÀKðE+;;;,,Œ¼fFFÆñãÇ)˜W\\Lôü'G$++‹èº‰½zõ* !4`À!“vKÖûG]GMŒpŠ¡âyõêž·ïÂ… ä媪ªø’@îÕI|Z™™™É¿+ÜOïùóçÒíT)Röá»óŽŽòUª½½g[Lxti|)*]Eʾšš<÷ĉ7nÜxäÈöñãGooob‘â"E»wïæ1ÞÇÇÂ:qâÄ®¶êɳ—zÊìÙ³ÇÁÁaÞ¼y<£¾#Æ †C¤RTÂ+C%#õÂ.jÜ…¥9sæìèŽä󤣣ƒgäÁ7ß„>ÄÄÄð¬,avË®´J~ñ%ÞvòÄ+##ƒÿI®¢¢‚ç)âÔ©S‚e}Y—õI+ðª-£“V¤Œà!»tƒx×2êÅ:\¤;™Ö+µ=êºZ&/¼½½‰nª˜¯¯/~¯C¥cÞ¼yJJJ--->| Ñh ào³ ÞÀ¯^½ÚßßßØØ˜Åb%&&ž|ø+ð'UUU±O‰^©íQ×Õ2ƒÁضmÛáÇKKKÝÝÝ—/_>}úô·oßÞ½{722!dhh¸bÅŠn÷¯¢¢2wîܸ¸¸ßÿ!dii‰'‘!H·V;vìþóŸóçÏ—••¹»»¯X±bÚ´iEEEqqqÄ4Ìb½«´µ4mÚ´)>>!tìØ1Y¼’às óŽQ£F]¾|ÙÅÅ¥¹¹9 ¿!|ýõ×BFýÅ~úé§’’’k×®á.—äŸ|øðaâj§££¾téR‡süøqò‹#//¯èèh*ÓbÍ;7,,ŒËåâQ£ÇŽ›‘‘ÒÔÔÄSU××ׇ……ñ¼§òõõ]²dI·;BÖûG]GM$’g(&äµÞÌ™3y–Ðh4__ß 6´´´øøøøøø(((7[VVVnnnÄÊÊÊÊvvv÷ï߯¬¬Ü¾};B(<<?#„æÌ™ãëë‹ÊÌÌ”b‡HÙ·lÙ²˜˜˜ÊÊÊøøx|™Áf̘ñæÍž~×£ÓÞÞŽ{pÇÅ‚zö£¦¯^½šx?°gÏž?ÿüóãÇ;vì°´´d0"ÅEZ†®¯¯Ÿ’’²k×.òr•¨¨(!WKë쥂zʸººž={6;;;55ÕÊÊJAA¡½½¿ZQVV þˆE½†UW5†L“Q¤Â.RÜ…¥^0þüæææóçÏŸ?žXîááÁ߉C’ì–]i•üâ«¢¢²zõê“'OÖÔÔlÙ²…X.''7þ|žlll\]]ãããKKKÉ9C‡ÅŸîóì\Ö—uÙ´R¹j‹D¤Œà!»tHKKc±X“'O¦X›‰} £^ÑQ¬ÃEJŸ®°X¬µk× üiüøñb7pôJm„VË»víª¨¨¸téÒ³gÏx&Á%—âôºqqqøoþÐJ½V ,,,LOOÏËË#— 55µyóæEDDˆ}t!i%Ri":¾eeeAøR ¸o¦Ñhx¤_ò·—dx9Nç˜Ø„¼í¤I“bbbÈ3cËÉÉéêê?~<22²Û×#4-,,lãÆä{TUUçÍ›—––fccC^yöìÙáááäÉÀ‡zðàÁà ‘Æ¿!4uêÔsçΡ%ÇÑÀÀàêÕ«¶¶¶ä…£G ܺuk·éÐ-êûï]EM`:`8wxòH’ ¥Z999þ ÍŸ??))ÉÂÂBYY!Äf³étú¸qã|}}ãââxÆ :vìØÚµk‰†œžššš¸áÍ›7Œb_ ž}ãÆ»wïž••1;‰‚‚š5k¢¢¢ðûdž0‰Îƒð“ÅD-û|||BšššäD555|S[[‹—S‹&ÒSàrþõååå#""Ö­[GžémÊ”)—/_&÷'¸¹äg/ŪzÊ(((ܹsgÇŽøÍ›Íær¹ƒ ²µµMJJš?¾ !QjÈnK:õÊz2 9hW¨v‘®HhQ’Å‹fW¿ššš^¸pÁÄÄ„˜ÐQEEåçŸþé§ŸÈ›Ç)Êd"Õ<¢ž-"]|ò÷÷÷÷÷'¿_500ˆ‰‰qrrBÿÿrG§ÓOœ8±téRòÈÊ3gμ~ý:Þ\—uádtÒ ¹¨¨_ã¨g„$WjêéÐÜÜŒ?6¡>%¼H×!iB±¢£^‡‹t'ãی“¤üJ^Û‹wß‹„Vˇööö6l±D^^ÞÅÅ%..Žú´ 666xåþýû»¸¸ðü*ê= OEÄ_ó÷ë×/""ÂÝݨÏi4š££ãÝ»wñ¹G^YZwƒ"Õ*›6mRTTd0B&h ¯£I>í3uµµµeeeòòòcÇŽ%_u(êèèx÷î]mm-ƒÁ^µq¹Üòòòªªª!C†à>]b„¶©©©­­màÀüAmhh(--åp8Çg0RŸ˜VÖû5‘H˜¡âéìì,))ill;v,þv½+MMM<ãl?~|Ïž=rrrùùùÝÎ<"êÙ×ÞÞŽgÝ3fL· (0:^^^ñññ£GÎÊÊõ &áÙ‡?•““ãc†¢Óéä­DŠ‹Ø¶mÛváÂ…‘#Gâ1ÆÚÛÛY,VKKËÈ‘#É÷@TôØÙ+RÊ444°X,---QD½†•C¦É(Ra§÷®j†^×ÒÒòêÕ+•Q£Fu[œ%ÉnÙ•V©\|«ªªÊËËGŽI¥~f±XMMM£F¢ò:·.ë2:i¥uÕ‰HÁCŠéðìÙ3Ü1áöíÛäÇl¤x £^ÑQ¬Ã©§Oë­Ú^HµÌápÊËË«««•••555e”\R¯›››ß¾}K£Ñ´´´º ³äwƒÄOTj•¶¶6:.vïN>=ÚÀÀç ­­mÆŒ,ËÏÏ¢ÙGUUUMž<¹µµ5""â›o¾éíàôž›Wз¤¥¥}÷ÝwÂ×a0¢NÖ€ìÀIÛ뢣£7nܨ¢¢R\\L¼ï \#È|>7ŠŠŠ¡£GVUUõvpÄÐÚÚjkkû/iÝ}‡Ãiéÿ8óô"8i{]QQBÈÊʪÛÖ õÀ £|†œœœ\]]Ÿ>}zñâE8ÐçAú8ÐçAú8ÐçAúþHl6»_¿~2:Çà4ŸÚÇ}||Z[[©¬½hÑ"++«cÇŽíß¿!TQQÑÜÁÁÁ¥¥¥ãÆûñÇ»ZÇÒÒ²°°!”`ff&õ0TWW›››×ÕÕEDD|óÍ7äŸJJJþøãçÏŸ?þ¼¢¢bôèÑ&&&¦¦¦«V­RRR’üÐl6{ÆŒo߾ݿÿúõë%ßá—GCC£­­mëÖ­¾¾¾½’›7o®\¹!4kÖ¬«W¯â…üÁëáþmnݺ•œœœ““SXX¨¢¢bjjjjjºbÅŠáÇKñ(p€Ï|èââ2zôè™3gÚØØhkkÏš5ëÊ•+ä «««qì’““£££­¬¬ lmmG½sçΖ–.—ehh8qâD;;;mmmgggÜZD „Íf‡……éêêšššZ[[?ÞÙÙB%yôòôôd0<½uBß~û-ƒÁ066ær¹üë[[[#„Z[[GŒÁ`0~ÿýw*!¤‚Jšòòò/^¬­­miiimm­­­=gΜ¸¸8IÖìèè 200011qtt455?~üÏ?ÿÌÓÔBÎw&“9þ|mmmkkksss]]ݽ{÷’×ï¶Ü TWWçïﯫ«kddäàà``````°råJr³—{&N¶šššåË—ëêêÚÚÚ™››?yò!TRR²bÅŠÑ£GÛÚÚNš4ÉÈÈ(((H`B:tÈÈÈÈØØØÁÁaÚ´icÆŒYµjÕëׯùW–¼jâ§­­}ðàÁƒÚØØðü$êØ=’ÔØO)&»H‡kjjZ·nÁ´iÓpʯZµêãÇÄšTR¾Ûì½B¢¡ï9rèÐ!â_.—›={öìÔÔTbùË—/-ZÄóüœ‘‘±xñâÛ·oK¬½½ÃáðÜц‡‡ÿüóÏxŒ †ŸK>|øäÉ“èèhüDŠ7$6Á“÷“€7Ÿspßxð 55õÇ¡¦¦¦3gÎàÎÕĸÝRSS8d)6dÈüG·=8ÄHvww÷„„„[·náÙvi4Ú±cÇx¾Ê!”••UUUÕÕÕÕÕÕÕ××ã$培€g8EEEUUÕÆÆFÜ'œL__ŸÉd |@µ°°àY¢¨¨hllœœœÌߤ‚I~ÖÙÙÙ]ºt©°°ðÓ§OC† )...--UTTüá‡Ξ=ûþýûÔÔTggg.—‹8dñ} áiÞÖÖ†£.)¢ÂcI?~ñþ“Àb±ñó@l8 ååå;::–,YBÌ6Ú“”••7nܸqãÆºººôôôóçÏß¿¿©©iÇŽ³fÍ">¨bøðáïÞ½ãoàhjjjii¡Ñh_Ù,_¾üøñã¡ââb¢¾$>}úDIøšâ%»ŸŸ{!tõêU—9sæ¿:t?i¯Y³fëÖ­D¬9ަ¦¦´fEåÑÐÐPRRÂ߉÷¢×ÒÒÂ}æyH嬳³³ËÌÌLKKkkkÃX:88 „lllX,ÖëׯqǬY³dÔ;zšëëëãI‹ùGàA}M„ФI“’’’äååoݺÕíà”„‚‚þ…ÄCâM Íb±p놺ºzxx¸¹¹9…!,p2—ž4yò䤤¤ŠŠŠºº:þöGât%é&yÕᣣ§ÃßI!4kÖ,<=ê?ÿüÓU‡„eG¼Fl=|82YdœDƒŒvKQQ*Á3[Ï¥¥¥ø®†1F—ñN±õÀáºMy*ÙzŒl8ÐÿnëÓÓÓ¯^½J^^__ïææfaaAŒ™/]{öìqpp˜7oÏÐqļä'F<¼Eqq1ñ÷p~þü9O¯ì à?8ÐÚÚʳ‹Åº}û6BHIIiìØ±TÔ-bD=*®EJöšš<éÀĉ7nÜxäÈöñãGyòdMMÍ–-[ˆårrróçÏçŸïCì‚&¶]»vUTT\ºtéÙ³g|˜˜ÛUøøÃÏãÁƒ¸G4ÅD-Ù|||p4ÉjjjøÁ¦¶¶/7nܽ{÷¬¬¬ˆ™VÖ¬Y…‡÷ãÏzþègŽÀåüëËËËGDD¬[·ŽœŒS¦L¹|ù²®®®ðÍ%<ëÐÿ:P „ðc ù'¢C‡y9Q(ÈážDF=͉õãââìíí‰Ýöë×oâĉ¡¡¡¡¡¡ä'=êkÒh´°°°7’gRUU7o^ZZšÀÏs¬­­cbbÈ3Ë 0`ýúõüC )wüüýýýýýqqÆ bbbœœœ_bŠ´ç®N?b ÏÙBü˳üðáÃÞÞÞÆ #–ÈËË»¸¸ÄÅÅ‘n¥U5 ´hÑ¢„„cccø¦¦&üì­¥¥åïïìØ1ž3Y ŠeGàiLý„‘J²K~8b‡8ÐçAú8ÐçAú8ÐçAú>>­­­TÖ^´h‘••Õ±cÇöïߪ¨¨———q¥ƒxÀ X»v-^hiiYXXˆJHH033ëÍð‰åÅ‹K–,©¨¨ÀÿþðÃbìGCC£­­mëÖ­¾¾¾R  ùùù§OŸFmÚ´IWW·«Õd5ÕÕÕæææuuuß|ó 9`BxyyMœ8Qê‘þhJŽÍfϘ1ãíÛ·û÷ï_¿~=ϯQQQ›7o1bÄßÿ=`À©ñ Ó“Å ÈHpppiié AƒöíÛ''''pGÅÅÅ!„ Ô³”š¾{•éF¥ïF<äB—/_nii¡²¶¡¡¡•••ŒƒÔsøß?#„®]»Æd2544V®\ÙóA‰··7nÝ2dˆ­­m··eŸCÔJJJþøã„Ђ „4pÌŠª««Oœ8Zºt©ŽŽŽÀuüýýëêꬬ¬ˆÇ~"`BØÙÙõ­þhJNAAáÀË–- vssûꫯȿ.]º4""âÙ³gÁÁÁ{÷î•ÖAø¬Ü¾}›Éd"„TUU½½½®Ãd2q•²sçξÛÀ!IU܇ôõ›/dÄ¿•û7è–}ŠRWW7nyíÑ£G÷pødêĉçÏŸ711!7 ܸqãÎ;ÆÆÆŸù¥´¹¹9''!diiK¥+M_‰ê"k(ª¨¨øõ×_Bfff/999—.]Bmݺ•ÿWCCáC‡ Üsßú¦@x4%áäädhhÈd2÷îÝ‹ïEt:}Ë–-Ë—/ÿî»ïx*¾0!!!³gÏ611éí€ÈŠ$UqÒ§o¾xÿÝÞ¿ò¡¨¨(ò¢ÆÆFmmm„››ÛÏ?ÿÜ+ÁêFFF‡îíPˆ©´´”Ëå"„\\\úʇBÔÉ4kNž<ÉårGŽ9sæLþ_÷íÛgkk+£C÷$áÑ”››“Ɍݷo1¨ æàà0xð຺ºÓ§O:tHê‡àóÑÑѱvíÚ‡*))õvXd¢O_%©û—Dø7NïÓêêê¼¼¼ÆÆFá«544äçç×ÖÖŠq‡SVV–““Ãb±:::„¯üáÇÜÜÜ÷ïß‹q n555åååUUUáV†nUTTdeeQŒ8•ý) ¡¡A1Øq8œ‚‚‹ÕmÔ$ÌP±UUUåææVTTPL|26›””„Z°`{_755={ö¬ººZZ;$TVVæçç³Ùlžåïß¿þü9ÿrLFÑ$,\¸F£uvvþùçŸ\µj‡Ã!–TUUùøøü÷¿ÿåßm{{;‡Ã!.Ûø_âWü7ù¢^PP°páBžˆ°X¬]»v566nÙ²…¼-Þ<::š|µŽâþ‰óUÈÛn£†ª¨¨pww/--%–455}:+++11ÑÉÉ !Äf³ýüüˆu>|ø°dÉ’úúz…}ûö¥¤¤¤¦¦îÛ·OAA¡©©iÉ’%Ý~EräÈ\£YYYEEEååå]ºt 7áÇÆÆþòË/Äšoß¾]½z5‡Ã¡ÓékÖ¬‰‹‹û믿víÚ5lØ0!½ ™™™øš1nܸÌÌÌÌÌL¢ñ¸¬¬ÌÃã¾¾^NNnýúõ±±±>ô÷÷ÇT¸|ù2ÿ>ãââ7lØyãÆ {{û®ŽN}ÿßÿ}fffdd$þ÷СC8¨ß}÷xQÃþøãŠŠŠ;wÞ¹s';;ûèÑ£ƒF]¾|™ü^ò ÏÅ‹ h4Ú¦M› ÊÊÊnܸaaaJJJÂÏó ,˜2sæÌ!öƒ›ºtttpì$6pàÀ´´´ÇoÞ¼Ï@qf¢®œ:uJSS3<<üÑ£G~~~êêê¡ØØØ :4,,,---447%TTTÄÆÆ’7—n4‡f³ÙD§ ¨Q£† F£[Ëø Aƒ~ûí7ÖÒÒ²mÛ6¼ðãÇxºccãíÛ·ã…ÁÁÁøvÊÑÑ1&&&77÷üùóóæÍC½zõJàmº„ ŽÊÍͽvíÚØ±cRRR¢¢¢<<<B ß}÷]]]]WÑïÉ2E¥aÔ+^êû;}¯Ìb±V¯^-F¼¢ªŠŠ ÚÚZæå囘˜èãミuûí·[·nu›’Ô<ÔƒÚ3Gá×ÒÒÀáptttnܸñîÝ»œœœ   :Îf³É³ŒË®z¬ªªZµjUGG‡²²rpppJJÊÇýüüFމ ¬©©áÙ3ÿM/ÅDèöþMŒÊ“ú8à #Q33³+W®à—·ÚÚÚ‘‘‘ÖÖÖ………?&Ö .++“——ˆˆpttÄ õõõ555½¼¼***"""È55ÊÊʃ"„,--£££BVVV®®®999¡¡¡›7oÆËùå\Ûîܹ“˜9ÂÔÔtæÌ™®®®Ý~Þ‰³PQQA)++3†üë‘#Gð=®ŸŸßÆñBÜÝÎÁÁ¡¡¡açÎ<ãôïß?&&_ …£¾ÿ8˜øF]]'¨¢F £Óé§OŸ&z³kii 8ÐËË‹Ëå>~ü˜˜&@ Û½{÷BS¦LÙ³g^2sæÌsçÎmܸ±­­íÇ¡þýû3FxÊTUU!„„ÌP{ðàAò}$aĈüCföïßÿêÕ«“&MÂÿîÞ½»®®îüùóÕÕÕÿýï‰åbPSS‹Åá7449räúõëBrrr×®]344DM˜0L„ÊÍÍ)š’#vŽÅÿëÇþÄC¤2neeµfÍšS§N=|ø0&&ÆÃÃã§Ÿ~ª©©QPP8qâñ&­¦¦ÆÞÞ^MMíèÑ£xôÇQ£F9;;§§§WVV¦¥¥ñCÂÇTUU¯^½ŠH œétúåË—_¿~}öìÙ®¦³éÉ2E¥!3…â>% xID1;~ûí·‹/ O·½{÷Õ2õë×ß»wïÉ“'7oÞÄçdW;ùðáCHHBHSSóêÕ«x¶¦ &8;;ËËË_¼x‘ÉdFDDlÚ´‰¼•JF¤ü’@__äÈ‘åååOž<ÁODèÊÊÊ---÷ïßÿñÇñr\®ûõëÇ3™=•¯˜².kÖ¬9pàþÛÈÈÈÎÎÎÑѱ¹¹ÙÏÏïûï¿ÇcŠS¯âˆÐ2ŒØØXƒvÁ‚¸r+,,LOO·°°<©‡ —h„ÐöíÛ}||ðÂÉ“'»¸¸ØÛÛ³Ùlü ,<#$©y¨µgŽÂïñãǸ300¥5zôh//¯ŽŽ<ôUccãÀ‘,«Ç’’\Ãxzz“Í 0`çÎ\.÷éÓ§_ý5y·ü7½Aøý›Ø•'Å;pÀF¢6l wM§Óé .D577ï»ðc€µµ5QíbóæÍ300@=þ\È!ž={†{åíÞ½›|Yíß¿ÿÿýßÿ!„:::˜L&^ˆwebbBþZ!4}útü¬" Ü‹ÁÔÔ”ç6wܸq?ýôB¨©©©¸¸˜g+Šu«xû—"===žoõçÍ›§  €zõê±P ¾Ò“Ÿ™‡O~%ݪ«‰`BÙÙÙwø½µµ5O+.!žBEåàà@¾ºÏ›7ßʘ˜˜à‡mLKK ÿKÎ#D!š’SSS#‹î«/ü橌#„üüüð§ò~~~W¯^ÅPúé'r/ë   ˜˜˜S§N‘ç¶èׯŸ››B¨  €P ;pàñá ‚;³)=Y¦(–#‘2E’²Iq[ñ’ˆbvà ©—N§Ÿ8qbРA¡;w’¿òãAt… á)›AAA¸5ÿ°5T*Q ‘ÔÉ.¸;¹~ŒûËddd455áåx¸sss\r TnTD"ÓÒ¡££³oß>ò==½;w"„ÚÚÚˆ>qÔ«8¢)6$$·n‚‚‚|||¶oßN£ÑD—@¢†jâĉD·;L__?<<|ûöí<­TIRóPjÏ…ñ¨Ï3z×Úµkãããããã‰ó\vÕ£©©iLLLLL Ѻ¹»»ãjóÅ‹<»å¿é•$âUžÔïÀ_‰zpà7™dÄ÷„x r6›ýòåK„ÐàÁƒy>ÀCá;¼¼}Z·nBhúôéø~---oÞ¼©¯¯¯«««««Ã_Ótvvvvvò<²J’àþ{)EEEccãäädþA¬‡ËÅr$R¦HR6©l+vQÌŽààààà`*¡íЦ¦æ/¿ü²nݺ†††õë×߸qC`ƒ‘ªD•NPPP066®¨¨à¿G§RɈZˆ¤Nv°³³»téRaaá§OŸ† R\\\ZZª¨¨øÃ?œ={öýû÷©©©ÎÎÎ\.7pð|Ÿ‚(ܨˆJ¦¥ÃÌÌŒÞw333üG~~>~d%t[Å ;Ÿ0aÿéÙ³gîîîäŸÈ-ֲؿ ÌžðKž¡bóõõ-//¿sçNkkkddddd¤œœœ¹¹ù–-[øïh»ÒÑÑSRH¾lÛ¶ OB~ÝAF1Ç»ÕU7`þÛA~T¢)9Ü»u1º-þ•Ê´ÔË8aâĉÞÞÞ¸7µ’’ÒñãÇyn¸\n||üñãÇóóó)N=(I‚c***äq^ úúúÉÉÉ%%% ü·Å=\¦(–#‘2E’²Ie[ñ’H¼ìÛ¢E‹îÝ»wýúõôôôãÇóô”Æðý÷ˆ#TUUùÕÓÓKLLd±Xµµµä¨T2b"é’]llläää8NzzúܹsqO:KKKeee{{ûÈÈÈ8;;á Aø?³ïöFET2-ïUˆfÖüü||@½Š#κnGÀ•<)†ŠÉdâ oÌ$©y¨'`Ï…ŸººzXX˜¯¯oee%“ÉĽx†ºlÙ² 6½d]=–——:t(!!áãÇT‚Í_;I’ñ*O™Þ>g5pt‹xÉ©¡¡ñÕW_uµšÅñOt:]Èp¸s±ê$Ô‰:çùç¶i‘lÚ´éöíÛ6lP¸=³ê;#‡ŠqS"5"\ôõõûö훜œ|ëÖ-üzøðá!ww÷èèhìòÀaüŸ~ú)yA™@4›vÐûs‡—Pö§àß.…0¬¢Â¤V*à#[ælž»(düøñ#GŽŒŠŠ:~ü8^ÊQRR²}ûö¨¨¨ÀÀÀiÓ¦!aFÂ<æææŽ1‚ØKø“O>144ÔÓÓÓ××Çy@˜ –áX8ã À‰°[[[MM͆††É“'c÷3[z÷©yæÌÕ¾XkkküGëQPx9¶¶¶ZZZõõõYYYô³ÙÙÙØªrN*)ôõÕÿÊ{{û¨¨(¹\ž••uîܹ={ö¼~ý:999((hëÖ­L®`hhøòåËwâà oµHÌÔN34“ØÁ^ad¾5“ æ:N““ˆÿ–J¥óçÏ¿xñ"1iÎÍÍÅÓ©N:EDD888I6mÚ$Üvoß¾ÍËË£ÃÆÇÔÔG SP—NÕÕÕÑ*ë`MꇇÂG7Uÿ–›ˆ˜?Ž;wž;wNõÕfÍš5~üxÕeôõõÃÂÂ&L˜ •JçÍ›÷ÕW_Q ôéÓ'>>¾°°°¼¼œîû#*Æae‡ç¥^­€››[rrrbbb]]NIèîîŽ2dˆD"ÉÍÍ}öìvp :Tˆ/Õb;R2Äï÷ÉÊÄÙÛÛÿõ×_ÅÅů_¿¦Gñlæµ²¶¶–H$R©T-ya8XcDóÜ…ŽŽŽÎ‚ ,XP^^ž””´oß¾„„„ªªª+V :´sç΂šÇ_ý"sæÌY²d 6"“ÉLLLÈ+C]ñpÆ€^IF›D[[猠$Ib~¥—J¥wïÞU]RGGïi¯°äíÛ·YÝ—b¸% ^<¢ðâÄAb«¶}}2LÆ$eð jA$Y[[ûúúÞ¾}çÙúçŸèÅèô¿WîÂÂB¡+I@ Æô„v©©©Ý´šI\\áW#|Vaâ Ìu#“É|||jjj:vìˆ÷µIKK % sÞ¼yŽŽŽä’lí[p2uuux=3~3¡Ã_§p£÷®&ßTèÛ‡ÂäšœËYD Ç“'On7Þñ¡I† 2g΄УGÂÃÃ)g ž’’B9%•JqŸyÎÏK]Z¼ê$33óüùóµµµx÷t]]]¼Æ>!!;>„Ø’>b ªÉÉÉô0~¢ÃØÙÙ!–&®OŸ>øúž•••‘‘‘‘‘‘8GχȼVZZZ8ÐæŸþ¡'3ºvíZddä¾}û(ÇUO]XYÎcDóÜE!zzz£FЉ‰Á[¤×××ãùƒ æ_ÓÀÀ`Íš5äÔž))) g’œ…@™¿ g<ø ÖÁþgq’’’Ž;F>^QQ1aÂGGG¼‹µ2È{ãi®0Gutttttěơÿå»w…‘KÞ¹s‡>×TÎðäÉ"ŸÜ””"ÖóôéÓ   „®®.Ÿ]9…¾>RÞ4õäü@¹ñôéS¼]îÈÇõõõñ KŽ%rC$''Ó/…#lþßÿÅÄÄtSÍÌÈÈØ»w/=ý§Âã555G޹rå ý:DB/zÐruu5ÎöÏ$(•Ž#„ÂÂÂð“ ™1c†‹‹ BhëÖ­D^4b .åjwîÜ¡OéÔËÏ?ÿœ——G>²|ùr¼t¹W¯^Ê~ÅS§°Ý+,,¤ÌüvíÚE™#2×#æ…•nR`þ[n"bø8F½¢)˜§â÷÷÷Çèf–˜ûúúP???ìäãà@Œ•ˆ't[Á¶ʬBìííñJ%œv‡o`ðZ•ÈÈÈââb±X}JÙE%;;;$$!ÔªU«nݺ!–&®OŸ>8ªeÅŠ7¨ŸŸßªU«V­Z…{#Ï^ĪV8Siff&~¦ÿþûï”)SV­ZuôèQâ ÂÁÇò0¯jóÜE!kÖ¬qww7n%.±ÛáqÎP‚+W®(ËYõå—_RŽXXX”••åäädeeÉd2///]]ݼ¼¼ÜÜ\„9zÜÄħ،µ°°pvv611!n]\\.^¼øöíÛ'OžàÉ"óŠ999q˜X,¶µµMNN¾|ùò²e˦OŸ.‘HîÞ½ûûï¿ãÊ ²ffggãw€°°°””¢G);¾pḸ8„ÐöíÛ)“$ü•ÏÜÜ÷+2÷ïßÇ‹«±÷A5¬t<##µ~ñÅ¡-[¶ <¸®®ÎÇÇ'!!A"‘ <‡ìFDD¹¹¹UTT\½z5((HaP)--õòòš9sæàÁƒ_¼xqæÌ™?ÿü!Ôµk×Y³f)ûO"¾¶Íž=;00°gÏž¹¹¹—.]Ú¹s'¥$s=bþPXé&çúpÃÇ1|øpüž¬´µµwíÚ5bÄzg322Zºté–-[òóó½¼¼¦OŸ>pàÀçÏŸŸ?>::!dkkûÝwßq¸)+%B¥§§OŸ>!4{öì¹s粺—B[Áªʬ2°çâäÉ“xÅ>ùa¹»»àã½{÷VïÆØÊFL¡µcçÎÕÕÕFFF7oÞܽ{7~9 Ä ñX™8ƒ€€€µk×¾~ýzâĉ3fÌpvvÎÉÉù믿°:˜››ã¼Úl{VµòõõÏÍÍݶm[EEÅèÑ£ ÷ïßs*}ÿý÷ªËüªÍs…ØÚÚâ/sÞÞÞÁÁÁÝ»w¯­­½|ùòºuëB†††NNN„02C‡MOO///_´hÑŒ3ºuë–––¶cÇŽëׯ7YnBP6S‹ñT1ŸàCpGçÎ>räí¤I“ âPÖL"ö8//¯¨¨ˆˆ°Pvœ HII!OêëëqÇèÑ£éwÇýJKK‹ü­U u\*•úøøH¥Ò6mÚkwÍÍÍ—.]üèÑ£€€€¶mÛΞ={çÎ¥¥¥‹/&.¥¡¡áéé©,Ï< ­­­¯_¿¾jÕ*òñ¶mÛVפÀü·DÄùqðÇÎÎnÕªU”ïð˜U«V:t(--²©!8oìÂ| Deddà×3KKK¶7Rf+˜W@ÙT0lØ0¬¹:::äÂÊÊÊÔÔ·EíëSTŒ˜Âi‡§§çéÓ§8@ ðöö&ÞùÙš¸… æççïÝ»7++‹¼/,BèÓO?ݹs'‘¸„U/¢ÀªV†††111_|ñEiiiTTTTT¥±žžžÄ>>–‡yU›ç. ?~|TTÔÝ»woܸáìì,‘Hêëëq莎Npp0áÎùT¿~ý8`ooO$ÂlÛ¶m@@ÀêÕ«™_™Ð;…Ç)å•5s̘1ÖÖÖ"‘hÊ”)ä÷ eÇ.\¨­­mdd„¶\¾|» :8N:…rrrb²‹ b¬ãaaa8©„ŸŸ9”fÁ‚xrxx8.hllL”±±±‰‰‰9r$ú¿¶K]Gijjî߿޼yD-B¨oß¾‡&/.Søs>:%‹wìØñí·ß’Sº4èäÉ“XÜôˆ¹áe¥›˜ÿ–­ˆ>n¨°™˜ùóçßW)ŶlÙâëëKN÷¨©©9vìØØØX²ê±52¬JœÍZ"‘нÉM¶T™­`^eWP±+ ~Ó#Ÿ":({v²š¨° §...111ä½`tuu}||(é™›8̆ V®\IΗôé§Ÿ~ùå——/_îß¿?‡v)„U­,--ccc‡ FÔÒÒêÕ«Whhhhh(Ù“¢ìAð±<Ì«Ú}Ú¶mÛÎ;ó\pÔ$*šYYY‰¤QPx¼®®N,S>ÜÍš5+..®K—.ôóÇãW;Q ªu¼¾¾¯|ÑÖÖ¦(qJ"‘ëS\\\PPбcGAôÒ¥K8бcGœ¤¾¾>77§AU½mž:•››[UUÕ¹sç&¿e±Ò#††—ù5ùü¶I©ñq‡L&+((())ÑÑÑ111a+.0y^“'O¾té’³³3ç€&e6„aT_á}Cň©.í(**²±±A…††z{{#„JJJ^½zÕªU+SSS¦€•‰#z]“µeÞ.þµÂ±XܤÑSö øXæUmž»(äíÛ·¹¹¹mÛ¶555U]R óX__‚™››sžì±‚²ùâg<ÎgøðhV¼ÔÕÕ999åææúûûÿôÓOïº:B!\3‹‹‹ûôéS[[»ÿ†vì| IDATþ1cÆPÎúûûïܹÓÎÎ.!!USË…2eÞ-ð8š¤oß¾yyykÖ¬a˜2 ºƒ„Ì#‚ï¢ïÚÚÚÁÁÁ¡mÛ¶1Lãß®™AAAµµµ®®®tïFNN^M½qãÆÄ»-‹êêêüü|DZ÷ðÁàcdäÈ‘ãÇ×ÕÕýã?Þu]Dˆf¾zõêÊ•+:u¢lï‡Ù·o_‡¦M›öù矫뎨‘ÇËårCCCr¢€ÁwQ€÷“={ö¼ë*4jof§N}ÔžÝ àL›6m~øá„xAóÀÇäà ÅKThñ€ƒ€88hñ€ƒ€88hñ€ƒ€88hñ€ƒ€88hñ€ƒ€88hñ€ƒ€88hñ€ƒ€88hñ€ƒ€88hñ€ƒ€88hñ€ƒ€88hñ€ƒ€88hñ€ƒ€88hñ€ƒ€ÆòåËÙþ&==ýÌ™3÷ïß···‰DBT‹LtttJJŠX,þì³Ï„¾šY8ÍICCî]»Ž=jiiÙ¾}{!nQSSóÇÜ»w¯{÷î‰Dˆ[¼ÏÑüøøø+W®466vêÔ‰íY E«s‹®<[kÓ²†‰„wòPÞU·OMM=sæÌ™3gRRRú÷ﯡ¡Áá"BHL]7]°ééé6l(**êÝ»÷ûV[æTVVž>}úìÙ³ b±ØÔÔ´n*-Úì0¤¤¤\¸páÑ£G½zõâúüÕD]¦F¡úð± l;°zE-œúÀ¥ù½~ýzùòåµµµLJOœ8ÑÙÙyûöíëÖ­Cjjj \Cdll\WW·dÉ???¡ïÅŸfŽºØ´iS~~¾¥¥å?þ¨¬ÌéÓ§g̘:tè±cÇ„¨ÆúõëCCCíìì._¾,‹Bééé»w聯466îׯ_¿~ýšgÔ<Лϟƒ.Z´è³Ï>ûçŸtuuYZ¨:cZtåÙZ›–5L|$¼“‡òNº½¯¯ïþýû‰ÿþûï¿úúú®#„ÄÔ5pÓ;xðବ,„Ð…  ð^Õ–!>œ|ˆ§Á+W®ÄᔚÊÔç=©𑣉2dHuu5qH*•Þ¾}!Ô©S'KKKré.]º4sýšÂÂÂß~û !4`À&£Ûò£F ÌËË›={6‡ŸŸ:uêܹs={öTö¶æçç'•J8pà@úÙ^½z}úé§øïºººçÏŸçççËåòß~û­¬¬lÓ¦M-ݤªn>gÄbñâÅ‹§OŸ1uêTŠF«> ¼[šT™…Öæ#´º€2ÞŸÎpãÆ ülj'˜|jæšó¸U°cÇŽ}ûöÙÛÛ«Ñ/МŠ_]]ššŠ>>ðòòúüóϪ[3Ðdóùàîî®§§W^^¾{÷î_ý•ÕYx'jm@äçç#„>ùä“Aƒ½ëº(@8U²³³Û²e‹z¯ÙœŠ¿‘ „ÆŽÛ²¼ÀGÎû0>ªP!,°E=½KJJîß¿_YY©ºØÛ·o333ÓÓÓËÊÊÔrßêêêìì쌌 ©TÚdáâââ{÷îbl6 SXX˜’’B—sÑÉd²/^¤¦¦æææ644p¬4{êëë322²³³.w¢pþüy„D"ùòË/þ§ƒÁß¼y“^€U÷@UUU¥¥¥•””¨.VSS“žž^WWÇä²Lž‡æ3‡¸ì… è_õYÕ¨]£åryaaá½{÷ŠŠŠ˜”ohhHOO'–€ÔÖÖ¦§§¿|ù’ÉEªªª233Ÿ={V__Ϫ¶¬tMûö‡7‰Z¬C=ÔRÉd²ÌÌÌÜÜ\ÕÒæPe&š UUUÙÙÙ÷ïß/..fØ ž>}šÝdÏ䩉*ÆAr¹<;;ûñãÇMZNõQ«!˜CMpÏ騱£Ú£…ëÆêëëûÌÈÈhÏž=äãׯ_1b„©©é!C Ô¹sç &$''úõëgddtîÜ9„ÐÇq“L¾>kooÏ*7›«««ŽŽBèÖ­[äãLºYø§OŸ9rd×®]‡Þ½{÷ž={žspðKAAAZZÛ³ aÒ´uëÖ™™™™™™á¥Âr¹|âĉfff]»v}þü9>X^^heeeggçîînccccc3cÆŒ7oÞ»råJ###ÒÒÒéÓ§[YY¹ººÚÙÙ988à>——÷ÝwßuéÒÅÕÕµwïÞvvv!!!ä+Ÿ{FF†§§§™™™‹‹‹ƒƒƒ••Õ/¿üÂD_˜ëZ“öG!Mª sHA.—ÿôÓOø‚«V­âÐ" ôˆÉ½(Ö†¹Õ}òäÉ7ß|ciiéââÒ¯_?33³-[¶Ð' ÛËÄD3áÞ½{^^^fffƒ 6l˜µµuÿþý###)ňî]UU5oÞ<›Ï?ÿÕ™3g¾~ýš~ežc+Êñ”CQQÑÌ™3{ôè1hÐ '''ssóÅ‹———s«‡`ž’±²²¢ë)} àPs5vc…7ÑÓrss'Ožliiéææöí·ß2&((ˆÒ^r?9r䈳³³««k—.]V®\YSS#—Ë}ÊB(œP6G~àÀòñàã§OŸfÞØ^Qy[·n%Ç´Ëåò»wï>üÆä5=š8qbEEù·wîÜùæ›oΞ=Û³gO¶÷MLLüæ›oÈ(•J>|èããóòåËÅ‹Ç ½¼¼›.‰äryIIÉÆïÞ½­¥¥ÕÐÐ “ÉÈ×Çÿ¥$`Xž‰pd2þÕ‘#Gbccé÷b%:___Êj£ŠŠŠ;víÚµKa[XÑØØˆeNþœ€[Å‹ºzõê­[·Ž9‚Gúúz²pðßdå/**Âkùúöí˪J"‘HKK«¦¦†ìÍeØ=á_»vm÷îÝäúÌž=»²²ÒÛÛ›|‘iӦݹs‡,‹/&%%?^&“Q¾²2vœ›ÏâÊ.\èÓ§«³t6mÑ¢E'Nœxñâņ <<<ˆí÷þüóÏ+W® „–,Y‚WÃ566Κ5 $(**:}útFFÆñãÇ;wîŒâ¾T]]=cÆ bé;BèÙ³g&L8zô¨Ï«W¯ˆã………›7o–Éd«W¯ÆGˆç~ïÞ½ÐÐPrÏ©¬¬ +// U-†ºÆÄþ(¼¾j•an)ÈåòÅ‹:t!4qâÄõë׳m¶zÄð^kÃÐêbã%˜ªªª 6äææÑ^¬ÚÛ¤‰fBffæ×_MÑ—ÜÜÜU«VUVV’ŸѽgΜOohh8uêÔýû÷oݺEÞ@šçØÊ¼b|äP\\ìéé™M‘J¥ÑÑÑ/_¾<|ø0y;U†õQ㬠†5‘J¥t=UnóNº±Â÷´W¯^}õÕW¹¹¹Ê%¡ |²Êý$!!!22’hWCCÞ={ÊÊÊzôèD”—J¥)))ãÇ?þ}J$>|xãÆ™3gþõ×_þù'^b#•J===_½z5qâijgÏž;wî‡~À>;w®©©ñöö>räÈÕ«W×­[‡]0ÑÑÑ{÷îU!æºÆÄþ(D…Êpèá¹\¾dÉ\s//¯ððp"¢^-Öƒ¡q»C«û矮\¹òܹswïÞݶm›žžBèðáÃäè$uPh¢™ðâÅ‹I“&UTThhhøøø?~üêÕ«Ød­_¿þðáÔŸ<|ø0>>ÞÓÓë‘#Gzôèzþü9ùÃϱ•CŸÉ!:::;;{̘1{÷î½~ýúæÍ›mmmB—/_Æò±­C07Éܼy“®§×®]SvåwÞ)äçççææ:88„„„œ={Vo³»ví211‰ˆˆ¸víš¿¿§Np­Ö¯_o``–˜˜Š}ë………ÇWxÕc8¡3mÚ4…—:u*¹˜ÂÞÎM£ùX eBÀ°ÿ7ÏÔ‘¹ÐÜÜÜðä°Üëׯ¹|ù2q<33/s ~EG¸9a@@~å¶µµÝ¼yóµk×"##GURR¢,\P=z4wîÜÆÆF--­… ž:u*>>~õêÕ†††{÷îU¸F‰¡©¡ÀP}Èð­X‰šó¼‹Œ¿¿ÿ§Ÿ~úóÏ?_ºt)66vΜ9b±ûYÈþ >êÃP)455q° %PP„7nýV¸˜­­-±-ÃG ¯Ž=z´uëÖ!33³èèh—¬¬,rB„M›6½xñBSSsÿþý#FŒÀ­­­MLLfÍšUXX¸ÿ~VÛçååõîÝ!äíí=fÌ|ÐÎÎNWWwåÊ•r¹üöíÛ_|ñ>þ÷ß#„úöí»fÍ|dРA{÷î]°`A]]Ýÿý‡jݺµ¹¹9±L§NÌÍÍUT€ay&Â!_3&&k sÑmذ!4xðà#GŽhkk#„ŒÇŸššºhÑ"|\ܼy›ûàà`ìÔìҥˬY³.^¼ˆª¬¬lÓ¦ ^¡×¶m[„ŽŽ]\Äò6+++æwñâÅÂ… ñßøe±ì˜Ö­[;v ÿ !ôóÏ?———ïÛ·¯¤¤äñãÇøøãDZ­177?vìºuë6nܸï¾û‡(“aÕí¹5Ÿ-VVV¯_¿...æp– «¦9;;Ï™3g×®]W¯^‰‰™4iÒêÕ«KKK%ÉŽ;?ziié°aÃÚ·o¿mÛ6¼ÃbçÎG•””TTT”˜˜H¯ÆìÙ³qŸG¹»»0àùóçr¹|üøñ;vì‰D¡Ï?ÿ¼¬¬ìèÑ£µµµYYYÄg‚9sæQ vvvnnn#FŒ¨®®ö÷÷Ÿ6mšÂ´s¬t‰ýQˆ •áÐÃBr¹|éÒ¥xF2iÒ¤ßÿðn¨Ëz0Ñ#Î÷bhuÅbñîݻǎ‹ÿkjjÚ¦M›Y³fÉåò›7oÚÛÛs®ƒBÍ„­[·â…Ðþþþ ,Àqü°»»ûÛ·oW®\9iÒ$Jú†¯¾ú*""wãÎ;[[[0@*•&&&Ο?—á9¶r«79Œ=zß¾}¸9666®®®ÿý÷_xxøœ9sðÛ/óú1s“ Ž,S1´QxçݘΘ1c"##™|ÒdEûöí?Ž[gkkÛ±cG„††Æ‰'°‡«{÷î8*!tïÞ=…×Q-1†3úeÛ´iÓ¦M›&„ÂÞÎMqÔ2`1‘ “þßlSGæB³¶¶îرcAAÁ­[·ˆy~—ÓÑÑ©©©IHH vTÅs---Í Ÿ?¾{÷n„PÇŽcccñ'"[[ÛqãÆMž<9!!•|=z4eÊegŸ:2D__ãÆ%%%[¶lÙ¶mâ­>Ì•ÂÍÍíÌ™3ÙÙÙ%%%¡ÂÂBìÄ‘H$•••ÉÉÉNNN!ÜŸBÌ¿Á|ÀðŠà˜?>¶žÿïZbñ×_ª®®&rÛàqËÅÅ…èÓ˜qãÆÙØØ „|Hăߓ'OÈon†††111qqq‚n°ÄD8îîîô)#sÑ¥¥¥á€Ÿþ™¬K­[·þé§ŸB jjÙÿaà(žÅ¹sçÆÅÅÅÅÅ)œ[Ð!Þð;t蠬̮]»VüÅ‹O˜0ÁÑÑK`àÀ„ˆXuŒ‹‹ 1’að“B={ö ÿqÿþ}üÇÖ­[±w#‰vìØ¡««K¹&«nϤùüÁWfÜUŸ%ÃV£ýýýñRLÿcÇŽáˆßÕ«W[[[eBBBbbbvíÚ…½--­ & „233É!—˜¹sç‹D"bõø·ß~‹'‹¢—ycºvíºvíZò‘=z¬\¹!TWW§,˜…•® a8ôp¹\¾lÙ²?þø!ôÍ7ß½l[¤&z$´¥êÑ£1WÃŒ7¯é ër«ƒBÍü¬_¿~Ä cii‰£Ð«ªªèó×… ’»±±±17ÍÉÉ!ò[¹UŒƒÚ¶mK¼Âa ‰O[DwåV°‚ɨ½&l®ÓYµj•Ú½!wwwò;ϸqãðdÀÞÞ{70¦¦¦ø¿ÜÒ¨k¢ …½[÷à?`±…Iÿo¶©#+¡áp ò3Åž¾¾¾¡;wîTUUáã8}ƒƒƒƒŠ-ôœpóæÍø•#‹#""È3&¼}ûö/å7U òÀ ï¦_¿~‹-Rø&¦F-ð­ØŠZ-ó®E‹QBª}}}±±R×›s¥ ‡5a—Ÿ½½ýðáÃ)šãÑ£G8" ˆg=¢žX*ýˆR©ôÑ£G!===Ê{„P»ví©ïràÅ‹ÅÅÅååååååxœ ‡ö9;;gggWTTôéÓgâĉcÆŒqppÀß[„¦Iᡯ•b%:"–¬¬¬ŒR˜ ûì3üæ' Ü(ôÄÔ  ÇhÛ¶§§§ãq—+]Úþ0ìáË—/DZß|óÍöíÛ)ŸÕe=˜è‘ЖŠ^‘Hdllœ““óÜ–³ú¢põYÿþýñ÷ïß'çckÕªÙý‡ÁÂ$ZÁslåV1ÄI¶¶¶ô×BÑ…‚ç„éééøJa}}ý=z0OÙŽÒÓÓSÑŠÌÌLr#…TTTàd:„<ÉÐ+‰abjøÃs´b+jµÌ»èº/‰úõë—‘‘‘••U__¯¥¥ÅG}X)…±±q÷îݳ³³oݺ…Røvîîî;vޤb‘¯ˆœ?B=ˆ÷ÿ—/_bSîëë»|ùrJIæÝCv cèK¯sçÎô` „µµ5ÙÁÁ¶Û3i>ðÅ•­ìU}–€›F÷êÕË××ÇòµjÕŠœý#—ËãââÂÃÃÓÓә찥B•˜ïÔ¨ÐAL7ÓÓÓ½¼¼èXéš@ö‡m'ÖÊöèу.uY&z$´¥R8ŽPªÁ­l¿Èa233ñâXºÃ!Ô½{wœÿ,--ÜÙÚ·oOw½©wlåV1ÄI oaddÔ¾}ûÒÒR,jÎõQ«!˜@ˆš°E¸n¬úšjD™¨ÕåzÀ¨k¢ …3ÝC-[˜ôÿæ™:²Ú!C444d2YRR’‡‡^ƒ0xð`aÆEGG_¾|yÔ¨Q8b1øX-ÄœÇ}`;F¿‚ +G÷îÝé[ðlÛ¶œšW!™™™Ø)F÷!"„ÈaSd˜˜þð­ØŠZ-ó.…ÃX*•>~üØÖÖ–ú°U 777ìà@566^½z!4lØ0¼À3==Kpvv".¯ÅÁËÁÑ$„WÞØØXE¾V¾êÜÜÜ#FSòÉ'†††zzzúúúxÕ%™víÚ8p --í÷ß¿~ýzii)6½(ØßIDATšIII 8tè ßÌùÀJtø_±XL «#C|1P/ãÇ9rdTTÔñãÇñR‚’’’íÛ·GEEN›6ÉE°!TVV¦ì‰áÝLBÏŸ?wtt¬¯¯?xðà?þH6Ǭºsðî­”\Ç”ãl»=“æóÇ­‘××0?KÀY£ ÷ycc#}§®5kÖ[ÉJ$ccc}}}==½¼¼<†Á™ê‚˜+3J¬tMûá‡ã͆¤Ri```Ïž=‰ÝÝ8´ˆ'ïÐR½“:·¡=ϱU¸ŠÑQöNK>ÞœõQÍûSÕ¼ªô> –sZJ÷`Hóô"¶BÓ××ïÛ·orrò­[·<<<ðÇjŠïîî]ø]îÓO?UööŽhNˆabÜšbò¦pšŠS±¾+Ôò&È\Ô½÷QîÅG}Ø*…››ÛÎ;333KKKŸ={VZZj``ЧO±Xlkk›‘‘qåÊ///¬°>#¬ƒÃÖÖVSS³¡¡aòäÉØ¹ÎŸ_ý›ª9sæ,Y²„pÒËd2…;´ÙÛÛGEEÉåò¬¬¬sçÎíÙ³çõë×ÉÉÉAAA[·nUK­Ô+ÑõîÝ;>>^SSóÌ™3Â}“Q†ŽŽÎ‚ ,XP^^ž””´oß¾„„„ªªª+V :”ˆŠTaò¾á›™™MŸ>}Ïž=¯^½Ú±cÇ’%KˆSºzõêuæÌ™²²²W¯^a)ÊN¶Ýžmó¹]ÊB¥TŸ%à¦Ñ999øo©T:þü‹/ߨsss±w£S§NÄΑ›6mh „±‹4ˆR¶i]S¯ýáÐÃÃÂÂ:vì8qâD™L6kÖ¬øøxr¼tsZwk©š¿¶¶¶ZZZõõõYYYô³ÙÙÙx–£bz¤âÊ|ÆVá*FG¡¢½yó!„3)6g}TóþÔD5ïƒ*½'ðŸ0§¥t†4O/â 477·äääÄÄĺº:œIÔÝÝ!4dȉD’››ûìÙ3ü.7tèPÕÞæ„vvvñññ………eeeø…FOPºu놗k)¼µÜÌá9Zq5ÏyWFF}“iðÅŒŒ8œ%à Ñ2™ÌÇǧ¦¦¦cÇŽ¿þú+B(---44”(@\jÞ¼yŽŽŽ„w!„ÓA Drr2}9LJJ þCY{κÆÐþСô[=ü믿vqqÁÅKKK§M›F$çãÓ"¨ë^|¬ns¶W"‘àT…÷"*KV¯žc«p£“‘‘A_ÎM(6­|ê£Þ!¸9%ÓRºñûƒj‰1™ð¤9»CÞÿ^ÄAhøtffæùóçkkk-,,ðÞ™ººº89BBBv|4ù±Z 9!1C LAyy9ñ¥¤ÙÐÐÐÀ‘, ”oåryLLL3ׇ ÏÑŠ¨9Ï»è“O¹\Žûj=ð>êÃV)´µµñî³·nÝ"Ç4\½zoÔµkWJÆŸaè'))騱cäãx# "›4Cp VCCÙ¬×××!îOŸ>ÅÛí8p€|\__›9ò×r"ýArr2“j°-Ïæ¢#ogEä¶Á=zÔÑÑÑÑÑ‘¼y¸ºX³f»»û¸qã(óW"}:y8Á{òä =XŽâb¾jñ“O>ÁÛ%VVV†„„Ç™wVôéÓÇàà`ò®¥¯^½š>}:=A«n¯ºù{÷ÿ¬©©9räÈ•+W(qn #„ª««ñ¶ ãåTŸåÓ4„PXXÖ‘3f`§øÖ­[‰°Â%OéºwîÜÁ)ÄâéÓ§”]T²³³q_jÕªöÐÓa®k¬ìBª çîããƒSÁgddÛì±jxÞK-V·™­%Ö—””Êzúô)^V­««Ëmhžc«p£ðöí[J–ø×¯_¯X±ÿM„J±­pC°Ð’i‰ÝøÝ¢Lb¬f ê¢ÙG5-«±š½½}‡qê.¾Á¯s‘‘‘ÅÅÅb±˜²â’Ž@sB⣗¯¯/±þ!$—ËçÍ›G_‡Û àÉUAAÁ?ü@dvC…„„(LÒßœð­X‰šÿ¼ ³mÛ6ÊÞÕ¡¡¡8†ÐžêÃV)p\ÆùóçSSSÅb1¦1`À}}ý’’’]»v!šËOÙËÂÇ€°KTB¾¾¾—.]***úñÇ_¾|9|øðöíÛ§¦¦†‡‡coÜÂ… Y]pèСéééååå‹-š1cF·nÝÒÒÒvìØqýúuJI ‹²²²œœœ¬¬,™Læå奫«›——‚STŽ?ž(lbb‚sºÄÆÆZXX8;;›˜˜¨:b[žÌEgll¼hÑ¢mÛ¶=|øpÒ¤IsçÎuppÈÏÏ¿víÚÆe2™™™™Š} þûï?z„ÆÒÒ’þÊgkkŽòööîÞ½{mmíåË—×­[‡244Ä;3cLLLB2™lÙ²e3fÌ055%ÖzØØØ”””°úÞ2þ|ü2ðàÁÙ³gãÔJÌ»+:tè°{÷î©S§644xzzÚÛÛ÷éÓçßÿMJJ’J¥úúú¯ «n¯¢ùÙÙÙxü KII!’-\¸0..!´}ûvb`PV!tÿþ}<àуîš!4{ölòt–,YréÒ¥‚‚‚µk×a}ILLŒŒŒ|ûö-B($$„[¢Ažc«p£söìÙ™3g~õÕWVVVÿüóÏÞ½{ñF• , F¶õnZ2ïO7n)(“«ˆºhNÅQÁ{Õ‹TOíííÙ {.Nž<‰Ãc‰Õ!ww÷€€|¼wïÞMú°šZXX|ÿý÷ûöí{ñâ…——×wß}÷ùçŸgggÇÆÆþý÷ß|®Ì™eË–%%%ݾ}ûÊ•+666®®®ÚÚÚ‰‰‰¹¹¹8£ó;©†ÏhÅJÔüç]©Têíí=gÎWW×òòò¿ÿþ» ˆEñ<Õ‡­R 6lõêÕ¸ <5C‡%”…’HUáËÂG‚àŽÎ;>|xìØ±ÕÕÕAAA”TÀ_|ñ…Šô³ ™2eJLLLQQÞçœ8îä䔓“CÞß^$ùùùÍŸ?¿¦¦fùòåË—/—H$Ä+“³³ó„ ˆÂ:::nnn EEEË–-CEDD{_Óa[ž¬D·zõê¼¼¼'Nܾ}›[¥§§·eË&9usss•MÖ½½½×¯_O98~üø¨¨¨»wïÞ¸qÃÙÙY"‘Ô××c7¡ŽŽNpp0Y9=<<ÂÂÂär9N¤laaAì<¢¡¡1jÔ¨C‡±úѺuëåË—/[¶L&“ýòË/GŽAlº[FŒðË/¿466¦¦¦Έ)S¦èééQ\°¬žŠæjyyyEEED„ª—’’BØ,e…BXÔZZZä/! ÏR`Þ4©Têãã#•JÛ´iC¤Ò077_ºtippð£GBBBÚ¶m;{öì;w–––.^¼˜,OOOe9·ùãééyúôéP<ýÞÞÞßÿ½Š2Ô5VöG! U†OoÕªÕü1|øð7oÞÙÚÚbg¿Z¬CøÜK]V—{322ð<ÃÒÒRuI“˜˜˜1cÆTTT„……………‘ÏúùùMž<™mý1<ÇVá*FaáÂ…§OŸ>uêÔ©S§ÈÇÝÜÜ8×G¸!Xhɼ?ݸ¥ Lb¬f ê¢ÙG5ïU/R=u´··ç ´aÆáÑ_GGgРAÄq+++SSSl~™$SnNœ•••””tÿþ}òÔ¥}ûöãÆÛ¿?ç+sC"‘8pÀÝÝ=//¯¤¤$66700Ø¿?Þ^ô]Ás´b.jþó.„ÁìÙ³CBBÖ®]KŽóÕÔÔÜ»w/9­õa«–––]ºtÉËËC´ž?|øp¬,‰„¬,HÉËÂG‚ë/‰pÎòbx2ø¸X,¦§ö!~BþmïÞ½cbbÈ» khhXYY…‡‡GGG79áK´´´üû￉-¯$Éœ9s<ˆ½×ä[{zzÆÇÇ;::êèè „¤R©X,¶´´ôóó‹¥ì±}ûö¹sçóM¦AVXž•pŠ‹ sщD¢°°° sðèëë7.11±É(>e ‹ÅD£ˆÂ‰äܹs+V¬À›„K¥R¹\Þ®];WW×øøxOOOòú÷ï¿wï^¢-ùŒ=!ôòåKÊ‚4Õ"òöö¶°°@ÅÇÇc5fÞ=T\™,åÔ‚ þþûïï¾ûÎÅÅÅÑÑÑÛÛ;..î·ß~S(1VÝ^YóÇŒcmm-‰¦L™BvX,\¸P[[ÛÈȈœ%^Ya„~µprrR¸OŠê³œ›–‘‘òóó#gf]°`^Ž [Í#„lllbbbFމþ¯6Q¬¹øŠ`‰ÿÒ팋‹KLL 9»®®®9­©Buf®k¬ì…*ö‡S*ߥK—={öhhh466Ι3|ò±lõˆá½èÖ£ÌJ+ëD5¸YKe­Ã‰Áè“ …ØØØ;vÌÕÕ•ò ‚ƒƒÉ ’™´‚rŠçØÊ¶bÊê¦ \ØÌÌìôéÓ£G&¤-‘H¦L™²{÷nJ ™×ÃV«š¨xjÊhÎn¬P•8Ô™.XúETH˜ø¹ÂãdÎ\ñYÍ@”µˆ~¯&û æ0`ÑQKÿo†©#þƒ­vøØuE>Et0ÙõS¸9¡––Öþýû½¼¼ˆxO‘H4bĈóçÏã•LôK™^ÐË jb``pãÆõë×;¶ÿþ«W¯NNN&VyP®ÉÐÔ0¬•ê‹3­v`V¢æ3ï"jîëëbkkKTÃÊÊjïÞ½”Ÿí\‚"ÎJAù9lØ0|'''Üj…/  "†ûB«…²²²/^hjjZXXP êëëq@޹¹y“WkllÌËË«¬¬´°°hݺµŠ’ UUU ·\æ_žÌE×ÐÐðòå˲²2##£æÜ%îíÛ·¹¹¹mÛ¶m2½MUUU]]]›6mÈ ©««ëÕ«WIIɬY³È958ê{ðä»ï¾;{ö¬¹¹¹Â&ÏNuó+++qÊOÄb1Ý=L/üøñc©«0DMõYÕ¨nZ}}=^ù¢­­M™l§$ y-...((èØ±c“û¹p¦¨¨ÈÆÆ!êíí*))yõêU«V­LMMYuæºÆÜþ(D¡ÊÑÛÓzð¹—º¬.ç:Lž<ùÒ¥KÎÎά"ŒÞ¾}›ŸŸ/“É ŒŒÔ¸• ϱU¸Š‘ill|öìY}}½™™eƧ>‚Á‚Jæw㇠‰1Ÿ¨‘æQÕ´¸^ô®„&Üœ°ººúùóç"‘ÈÔÔ”ÃøÞ dffâÈ»víb (|F+V¢æ9ï”––æçç~öÙg*ú*OõT)”½,|ð4«ƒT½xñbƒÔÔT]]Ýw]ÿCII Ž ëׯÅ‘ŸŸ?dÈŠŠŠ3fà]B¸!\óýýýwîÜigg—@÷µ«>ûáAwp[úöí›——·fͶ9¤@ílÛ¶íܹs"‘hëÖ­”màV¯^!‰233…ûzï‚gB†L™2ÅÞÞ¾¤¤dóæÍïº.T Z·n}ïÞ½={öøùùݾ}»¦¦æÍ›7qqqžžžˆÙrPÔüœœœ¨¨(„ÐÆéþ Õg S]]ŸŸ`·yàýÀÁÁáÞ½{©©©Ó¦M;yòdnn®T*}üø±¯¯oDDB¨gÏžàÝ> ‚x¸{÷îôéÓ%ÉÕ«WÛµk÷®«ó¸sçÎÔ©Sß¼yC?%‹þùgò֛ܢù'Nœ1bÄÖ­[Ùžý €'iiiÇ744ÌÌÌ|'Aé@aöìÙÊVMvëÖíСCÄÊðÁ`Jqq±ŸŸßÕ«W‰ ·Úµkggg7þ|œxÿÁI¼B&LèÛ·ï»®ÐòxðàÁï¿ÿÞ§OŸw]øÄÆÆnÞ¼9''§¡¡!$‹-,,œœœÖ­[GOå0ààÖ¼~ýúÅ‹íÛ·oÎ|f ©TŠ3:wíÚõýÌ{ BóÿÑì{»3P]IEND®B`‚traitsui-7.2.1/docs/source/traitsui_user_manual/images/BooleanEditor_demo.png0000644000076500000240000004351214046644454030210 0ustar aayresstaff00000000000000‰PNG  IHDRXýW‰Ï pHYs  šœ IDATxœíÝy\TUðßa†]@TvpWÅÄÝ£,sIÉ­4Ó7µÌWËÌÌ,µÜ¢ÜÊ\òÕÜÍ}׬$MÍ¥QPYÙg¹÷ýãÀuA†â>ßOï¼wÎÜ{çÜ?ópÎ=ç^.##ƒ¤Jfê ˜‚$ A’† IC€¤!@Ò„ if¦®CaaaZZZfffNNŽZ­®Ò¶ …ÂÎÎÎÑÑÑÉÉÉÒÒ²†j`*&Ô×yÙÙÙ·nÝR(ööö¶¶¶ …¢J›«ÕêÜÜÜììlµZÝ´iS{{ûª'€I ë¸ÂÂÂëׯÛÛÛ»ººÊår333Žãª´A4V«½wï^vvvëÖ­Ñ.€º]£u\zzº¥¥¥‡‡‡………B¡ÉdÇU> AçyµZíááQ\\œžžîååU£u0¦AªT*¥RYîKæÿû_BBÂûï¿ß´iS#WŒ‰ŽŽþûï¿e2ÙèÑ£«ÚØ2‚¬¬,+++ ¹\NDÏÐ"$"¢ 6LNNF@]RKƒ0))é矾råÊ•+WRSS===Ûµk0fÌ qµ_~ùeÖ¬YDtûöí]»v™¤ªÇŸ3g9Ò̬Ö}žõë×777†NQ†mÅqœ¹¹yýúõccc ]GSªu?ÜDtêÔ©±cÇ>xð@,IJJJJJ:xðà®]»6mÚäééÉÊe2Lÿx:KKK¹\^ÍÖ*Çqr¹g î©uAxøðá1cÆhµZ" ìܹ³««k||ü±cÇbcc£££_|ñÅ¿þúËÉɉˆz÷î=wîܤ¤¤qãÆ™ºâµ”\.7àŸ 2™Œõ¯Ôµ.çÍ›§Õje2ÙâÅ‹GŽ)–Ϙ1ãÓO?ݼysVVÖž={&L˜@Dfffï¿ÿ¾é*û/ÀFÇjoÇ¡uLíúQËÉɹyó&uèÐA7‰H©T~ýõ×DT¥Ó&:::55U¯¼¨¨(::úîÝ»•ÙI~~þÕ«WoݺUÕÙèZ­öÎ;/^LLLÔh4UÚŒ vavv6[hÕªUÙW-,,vìØ±iÓ¦Ï?ÿœ•9;;;99­]»V\múôéNNN}ûöÍÊÊ5jT‹-zöìéççשS§³gÏQRRÒèÑ£==={öìéïïïççªûF™™™NNNNNN'Nœˆ‰‰ iܸq```§NZ´hñå—_ªTª§‹F£ õññi×®ÝË/¿вeËY³f•Ý677÷ܹs¬7Œ¬vuº¹¹)•J•Juäȑɓ'—¦ß¾}{ݧ<ϳf–nCM­VkµÚ‚‚‚wÞyçôéÓbù­[·¼sçÎ &Ü»wO,OMM]´h‘V«óU«Õ²XŠŒŒ\ºtiaa¡¸r^^ÞòåËsrr–.]Zñ±L:uË–-º%>\¹rezzú?þ(¦¤¤téÒ%??¿cÇŽG­xŸ`pµ«EhffLD< œ?þµkמmWQQQ§OŸ3fÌo¿ýöóÏ?¿öÚkD¤R©BBBîÝ»7dÈÇ9räÝwße#!W­ZU¶ërÁ‚………#GŽÜ¾}ûŸþ9gΖ͛7o^·n]ï¾dÉ–‚=zôزeËåË—·nÝúüóÏÑîÝ»¿ùæqͰ°°üü|" ×g0ŽÚÕ"$¢ \ºt)555??éÒ¥K—.õðð ¶±±©ü®Æ÷õ×_³å^½zuìØñöíÛ‚ 8påÊ•lIçγ³³wîÜYTTtýúu???½¼÷Þ{óçÏgË~~~ÁÁÁ/¿ürAAÁÌ™3ß~ûír'¦§§³÷}þùç·oßnnnNDnnn=zô8pàÅ‹—.]:yòdVÞ«W/›¼¼¼N:¹ººVùó€ê©]-B"òôô<}úô›o¾)NœONNÞ²eË;ï¼ãëëûÙgŸeeeUrWãÇ—9Ž>|8[>|¸î@Ê~ýú±6NGW³f;úê+Ý’Ö­[OŸ>ˆŠ‹‹oܸQîû^ºt‰]å‹/¾`iÇXYY}øá‡D¤ÑhbbbX¡³³sttô¯¿þzøðáJP­ B"rppøá‡®_¿¾råÊÁƒ³)ƒD”ŸŸ¿fÍšÀÀÀ¤¤¤§î¤~ýúz§ÙBëÖ­u˽½½ÙK/];v,ÛæëØ±#[ˆŽŽ.÷­/]ºÄ²³³O<Žõ‚Ñ•+WÄõmll:tè€i &QëºFE666C‡:t(]¾|y×®]ëÖ­S©T)))“'OÞ»woÅ›ë6ÅôT>r|||ÊŠ9ͪ§'22’-¼ñÆOÚó“BŒ¬ö¡.ÿáÇ÷éÓ'//ïÔ©SÙÙÙ¦º1žØ­Z¶©[.“ÉüýýŸ´±y ¦U»‚0??¿°°ã8GGDz¯úøøŒ5jÅŠD'vQÖœ«W¯–-²¶iӦܭüýýÃÂÂÌÌÌ:¤{‰p¨…j×y©ùóç·nݺU«VQQQå®ððáC¶`eee„ú„‡‡—Sqá¶Pvˆ)Â*•*""¢F«ÕW»‚ðõ×_g óçÏ/**Ò{511‘ ­´°°0ÎÝãããõFÆÆÆ²ËÐXXX´lٲܭÄÑ/¾øBÃìܹ³k×®]»v=~ü¸X³nݺû÷ï¸öP µ+;tèÀ.,,,((èÀ *•êúõëëÖ­ëÙ³'›;1räH£ÝhÕªUüññãÇcbbV¯^=|øp–msçÎ}ÒÝÝÜÜ&OžLDQQQÆ ;|øpzzzDDÄ’%K&Mš§V«{ôèÁVŽ š6mÚ+¯¼Âó¼q Dµë!mݺuôèѱ±±ñññcÆŒ)»Â¨Q£ôZi5'$$äàÁƒ7nܸq£nùÈ‘#ÿóŸÿT°á矞””´wïÞóçÏŸ?^÷%;;»Å‹+ öTì>MJJJOO7ø …B¡R©Ä·«&î  –¨]-B"jѢűcÇFŒagg§[Îq\Ó¦M—.]ºxñb¥RÉ Å{ éÞ$-—½mžX¢7}B|ZvZE``àŽ;|}}Åkkë &è^#íVïnGÇ-_¾|âĉºC[ííí pæÌ™   ±°_¿~ÞÞÞÇ1¢&†’ZYYåææò<ÿ¤1®•$Ïó¹¹¹Æ9; `4\FF†©ëðDIIIÑÑÑ™™™­Zµòõõµ¶¶6Îû¦§§³„K—.ewƒÊÌ̼wïž………———Õ¡ÑhîÞ½›íääTAÎåååUéêq•—––Æó|‹-ÌÌÌžùÞ„,5M\\œL&/qPÔº®Q]žžžžžž¦®‘££c¹3:žÊÌÌÌËË«ìm4ôÔP ‘ƒƒCbbbJJŠ‹‹‹L&{¶ë×ð<Ïó|JJJ^^ÞSàߥV!TŸR©tqqaæàà`kk[¥-©TªÜÜܬ¬¬¼¼<—ªnPË!ë>//¯¬¬¬¤¤¤ÂÂBÝ{7V†B¡°´´´³³«j·0À¿‚°666ï¾û.é“ùWS*•NNN8·PV­,PÓjÝô cB€¤!@Ò„ iB4!H‚$ A’† IC€¤!@Ò„ iB4!H‚$ A’† IC€¤!@Ò„ iB4!HšYeVŠŠŠªéz€®6mÚjWøî 0à¯bY\FFÆSWrtt¬¹@Y™™™†Ú¾;¨ ø«XºF@Ò*Õ"¨«Ð"IC€¤!@Ò„ iB4!H‚$ A’† IC€¤!@Ò„ iB4!H‚$ A’† IC€¤!@Ò„ iB4!H‚$ A’† IC€¤™™º` ………iii™™™999jµºJÛ* ;;;GGG'''KK˪!€©p¦®Ô¬ììì[·n) {{{[[[…BQ¥ÍÕjunnnvv¶Z­nÚ´©½½} ÕÀ$„u\aaáõë×ííí]]]år¹™™ÇqUÚƒ F«ÕÞ»w/;;»uëÖh@]‚®Ñ:.==ÝÒÒÒÃÃÃÂÂB¡PÈd2Žã*Ÿ…‚ ‚Àó¼Z­öðð(..NOO÷òòªÑ:“郰¸¸ØÜÜÜÔµ¨³²²²<<<¬¬¬,,,är9=C‹ˆXˆ6lØ099Au‰i‚0//oË–-{÷îMLLÌÌÌlРA@@@@@@ïÞ½}||LR¥ºª   ~ýúæææÏÐ)ʰ­8Ž377¯_¿~ll¬¡ë`J&8GxöìÙQ£Feee•}I©T.Z´høðáF¨FffæÊ•+‰høðáÍš53Â;šÄÙ³gƒƒƒÅæ`uhµÚ¢¢¢ãÇwëÖÍ u¨ ŒÝ" {ûí·U*999 4ÈÃÃ#99ùâÅ‹çÏŸW©T|ðÁåË—¿ù曚®Ijjê÷ßOD;v¬ÃA(—Ëe2ƒÍ•ÉdÕT€ZŨAøðáÃ?ü¥à믿þÃ?èž|øÓO?õíÛ700Иu««ØèCíã8Æ*@m`Ôµï¾û.--ˆ¼½½¿ÿþ{½12}ûöݾ};[^·n]5ßK­VÇÄÄÄÆÆ>óNxžOII‰ŒŒŒ/**ªÌ&éééÑÑÑ,ìuÝ»wïÊ•+eËÀ´Œ„û÷ï'"++«õë×—;­S§N/¾ø"=z4%%…ˆ"##œœœœœÎž=«·rTT{éÔ©Sºå§Nzùå—½¼¼‚‚‚ºwïîáá1xðàððpq…íÛ·;99±§o½õÛ«£Ñh¾ýö[??¿6mÚôêÕ«sçÎMš43fÌ­[·tß+33“m{âĉíÛ·÷èÑÃÇǧgÏžžžžÓ§O/,,aË–-¾¾¾mÛ¶ nܸqïÞ½oÞ¼©w,¹¹¹çÎÓjµUüD ºŒ×5””DDݺukÞ¼ù“V[¹rerr2Õ¯_Ÿˆ´Z-‹F£·&›å­÷ÒêÕ«gÍšÅÊ9ŽcCÿÿüóϳgÏnß¾u·ŠŠØSÝ©S§nÙ²EwµZ}àÀ‹/=zÔÙÙYÜmõǬY³F܃F£Y»v-›~>oÞ‰ŽŽ¾qãÆ¶mÛBBBõöïëëyæÌ™‘#G^»vçù‚‚‚ÇÏ™3‡ˆ6l¨{ÿ wwwvÂoÏž=ëׯ¿yó&»š¨““kA&'':tóæÍqqqÇŽûè£6lØÀÞeôèÑüXbccƒ‚‚¦M›öÊ+¯è&€šfìÛ0Í™3§¨¨hãÆÅÅÅ«V­Zµj•Þ Íš5[·n8²†ˆæÍ›RPP°~ýúõë׋åÆ Ók8ð§Ÿ~Šˆˆ8}út=”J¥Z­f£Z,--,X ;?ÁÒÒ288ø?þHOOÿä“OˆhõêÕƒ "¢Ï>û,55uëÖ­—.]Ò›)áîî¾cÇ[[[ƒ}"Dl!)))==]¼~›A( •J¥P( ²7î  –0öÄ5¹\¾xñâüÑÏÏOï%GGÇ·Þzëøñãº3Љ( `ãÆíÚµ33+‰m[[ÛY³f}þùçâ>Ù‚R©„uŠZKçð@w.A¦ÖloøÑ¬SbRÑ€º/_E1©Ë/a’œmÈî€ZË€?wÂ:%·ÈÔ50 þÜaúDRîL‰&ŧÊ &U@mÄqå4õÌõJ 81 A( AAA¦®À3:yòdîA(vvv¦®@•åääÔô[à!H‚$ AÿÇ•{þ ú„ iB4!H‚$ ó¡ºÖ¬Y£R©:wîÜ¡CSנʤ„Ó¦M+*ªÔ•é† Ò£Gš® Í™3çöíÛ¬ð /Œ9²ò;üàƒŠŠŠ>ÿüs!üI%·mÛVXXX™5}}}k"÷îÝãææöÎ;ï|çU­ÉåË—+XA.—W)þÕ¤„AAAâS•Juþüy"ruumÞ¼¹îšžžž5Q9r¤M›6&BÆÆÆ¦sçÎå¾äççgäʘT‚pË–-ºOóòò7nLDƒž5k–iêdRmÛ¶ 3u-LO*Aølrss“““yžwww···7uuLC„”””»wïzxx8;;Wuó´´´¤¤$777— ®£ÕjïÞ½›ššÚ°aC33üË#Áô‰òEDD 4¨I“&={ölÞ¼yŸ>}Î;'®‘‘ѪU«ÆwèÐááǺÛþõ×_7nܸñ”)Sˆ( ÀÉÉéÈ‘#DåäääääôüóÏ‹ëçææž;wN«Õëà*+;;û³Ï>stttssëÔ©“‹‹‹‹‹Ë!C233ŸºmAAÁ„ XvvêÔÉÍÍ­Q£FsæÌ){¦V£ÑÌš5ËÅÅÅËË«sçÎM›6mРÁÔ©SU*UÍÀc„å¸víÚ!Côî€õÏ?ÿ¼ñÆQQQìiƒ &Ožœ——wûöí9s戫O™2%//O©TNŸ>ˆÔjµnÈiµZ­V+þʧ¤¤øùùõïß¿_¿~5~`UÁóü°aÃBCC³²²ÄÂÔÔÔÝ»wwëÖ-11±‚mïÝ»×¥K—U«Vݹs‡Jo³™‘‘1{öìAƒ©ÕjÝ•Ç?wîÜû÷ï‹%999‹/®%'S ÎCêKKK{óÍ7>|¨T*¿úê«S§N>}ú«¯¾R*•ùùùo¾ùæ½{÷ØšãÇg »7²¡7D´dÉ’[·nÑ¢E‹5jDDG  $¢æÍ›‡‡‡‡‡‡ïß¿Ÿ­–ŸŸODáááâžkƒ¯¾úê÷ß'¢~ýú=zôöíÛ»wï2dݸqcéÒ¥l»fÍš¨¨(Žã¦M›–’’RPPpâÄ ö =zôÀâšóçÏÿé§Ÿˆ(88øÀIII|á…ˆhëÖ­³gÏ®Ñc œ#,káÂ…wîÜ133Û°aÃË/¿Ì ½½½ÝÝÝÇŽ›ššºaÆ3fÇqË—/ |øðáG}tòäÉ[·n-[¶ŒˆüÚk¯±mÝÜ܈ÈÖÖ–ˆ,--›4i¢ûv½zõ²±±ÉËËëÔ©“«««Ñ333³ÜÁ2ÖÖÖ]»v%¢ôîÝÛÑÑqÍš5–––DäååõÚk¯>}:55µâF>|˜ˆ:uêôÍ7ß°’ž={îܹsôèÑÅÅÅ)))¬055uæÌ™Dô /9rÄ‚ˆ<<<‚ƒƒƒƒƒÿùçŸ |öÙg¬ † õEFFQ`` ˜‚Ì€–,YsåʱÐÝÝ=44t„ qqq‹/>}ú´Z­vuuੜ£££¯_¿Þ¾}{ÅSÅÆÆöêÕ«l¹‡‡GRRýðÃe_U(#FŒX¼xñ•+Wxž—ÉÊïQ`3U®_¿ž––æääÄ œœŽ=ª»Ú… A ¢ 覵µõôéÓ_ýuFsåÊ•N:=ãAT‚ð1*•êÚµkDdggwâÄ ½WëÕ«GDz³Ñ‡zôèÑC‡-^¼˜ˆ8Ž[¶l™]åßÔÆÆ¦ö\“¥ìÀ΂‚‚øøøìRñññDÄó|A|õêÕœœœ&MšŒ1bРAݺucŸž® .°…¬¬,Ö +ÊËËc /^D@B>æêÕ«l˾}ûöíÛWî:÷ïß¿ÿ~Æ Å’E‹?ž ÷5jTÏž=RÙjéСñcÇÊ–‹óAعsç¢E"È: IDAT‹.]º¤Ñhª´óyóæÝ½{wß¾}………k×®]»v­\.ïÞ½ûŒ3^yåq51ûôéó¤]U|€êC>†çy¶À†û?i5Ö¡'²°°077gËläKí§T*+ž9uêÔ%K–°esss{{ûÛ·oÇÅÅU¼s;;»½{÷^¸páÛo¿ýã?]¥]qççç7sæÌëׯ³¡³ýõ{‰5U*Õßÿm˜zT‚P_»víˆèܹs»víÒ-øðáàÁƒ»ví:|øp±0++ëÃ?$¢¶mÛNœ8qÉ’%ÇeddL:Uo·J¥’ˆâââ²³³õ^Љ‰Y·nîŒr“spp` â æìÙ³§NªxÛ7ntêÔ©S§N¬Ù§»Ï {¤Ò $"v Ý•7oÞìíííííýÛo¿Uã8žA¨oêÔ©5áƒ>øî»ï¢££ïÞ½{èС¡C‡þùçŸqqqº—€™6mZZZš\._ºt©\.ïҥˈ#ˆèСC{öìÑÝ­»»;iµÚO>ùäܹsâÜùØØØ   iÓ¦½òÊ+âJ“{á…ب™ï¾ûnÍš5ÉÉÉÑÑÑK—.}ñÅŸzå³-Zdee…‡‡O™2eåÊ•¹¹¹‚ $$$Œ92!!ˆ†ÊÖôððøì³Ïˆ(22²OŸ>{÷îMMMýûï¿çÏŸÿŸÿüçúõëjµ:88¸†¤A¨ÏÃÃcÛ¶mVVVjµzÞ¼y={öô÷÷ÿÏþÆ8¾úê«o¼ñ[SY:nÜ8V8{ölÖâùôÓOÓÒÒÄÝöíÛ—ÍLØ·o_ÿþýÈÊ#""ØBRRRzzº‘òiêÕ«7iÒ$"zðàÁ»ï¾ëééÙ¦M›)S¦¨ÕêaÆU¼-ÇqóæÍ377/((øïÿ[¯^=KK˦M›²€³¿˜ùóç¿ùæ›DtúôéAƒ¹¸¸téÒå‹/¾Ðjµööö?þø£B¡¨ÉjrÇbI÷ì—ÈßßÇŽ]ºtKäry‹-V¬X±yóf6y.77wÚ´iDäîîΚ5ŒƒƒÃ¼yó¨ôŠÕby‡Ö­['îSœ®×¯_?oooŽãFŒñ ÷vxìË=p]K–,Y²d‰‡‡‡XÒ¦M›£Göïߟˆd2™xew8lØ0vU9+++"*..–Éd­Zµš7oÞ±cÇtG«r·~ýúO>ùDìŒ%"‡!C†ÄÄļôÒKÕ?^€Šq¦®Cí•Í.·Ö´iSv’OWQQÉåò²­ö’L&+»U~~~qq±îKyyy666Õ¯ð– åÄ[“âSAAAUšã¯+--íîÝ»nnnâ5b*çù„„„¼¼¼æÍ›[[[W°¦F£INN~ðà‹‹KÙ),tõf­€ää䜡Õj7nÜ(B·nݼ½½+^¹¸¸ØÜÜÜ€ï¾yóf•JЮ];îö_aý†Mj•ªC‡€öíŸ3u]ª¬ A¸páÂääd½B¥Réïïкuk™Ì”íË¢¢¢iÓ¦ѼyóÊ Â[·nýôÓO§NJNNÎÏÏ·²²rwwïÖ­ÛØ±c[µjUÍwŸ>}zqqñ”)Sj~úmR¢þ÷¨+0ðù7ßVù~òɧEEÅÓ>ùAÿFUÂÇÇÄÄ<éUÝ»w7kÖ̵20žççÌ™³bÅ Ý læççÇÆÆÆÆÆ®_¿~ôèÑ¡¡¡ffu§}\ƒGEEW°‚\.«Rü«Uù§ßÆÆ¦K—.âÓôôô›7o$''÷íÛw÷îÝ~~~­au ‚0vìØƒ²§Ï=÷\pppýúõsrrN:uþüy"Ú°aCRRÒ¶mÛär¹I+k<ÖÖÖ;v(÷%Ÿ§t,Ô%UBŸíÛ·ë–äææ~ùå—7nÌÈȘ={öž={ W=زe KA™L¶víÚ×^{M|iÚ´iÇë­·T*ÕñãÇW­Z5qâDÓÕÔ¨üü|ÚgêZ˜žÎêÙÚÚ.Z´¨sçÎDôÏ?ÿ¨T*½´Zí;w.^¼˜˜˜¨Ñh*Ø• ©©©‘‘‘éééO}ß´´´ÈÈÈ{÷îU°NnnîìÙ³ÙòÌ™3uS  eË¡¡¡÷ï߯`oñññ±±±jµú©u«KAHIIˆˆLK{ú—RVzúýˆˆÈ””ÔŠoü¤Õj““ï\ˆ¸xûiÿH Ë0Ã[8ŽëÝ»7FFFŠå&44ÔÇǧ]»v/¿ür@@@Ë–-gÍšU6,srræÎÛ¢E ??¿^½zùøøøøø¼óÎ;<(ûv‡îÚµ«¯¯o¯^½Ú¶mëíí½nÝ:žçË®yìØ±‡QHHȤI“Ê­üÛo¿ýöÛoQQQÑáÇÅòéÓ§;99õíÛ7??ÿý÷ß÷ññéܹs÷îÝ=<<ÆŒ“‘‘QÁ2fÌ'''ww÷r¯›àääôÊ+¯ˆ%W®\¹{÷n;4‰œœœÙ³çxx6kÑÒ'¨ç‹Íš·nÖ¼õ[#G—û¥è)((œüÑÔV­ýš6kÔóÅ-}7iùuè·……Ezkj4šyó¾nÖÜÛÛ§mÏž/ùù=çéÕ|Æç3Ëþ#¨ ç©P(ØBaa¡X8uêÔE‹effŠ%>\¹rå| »-ÏócÇŽýþûï³³³ÅÂôôôƒ¾úê«zCUÿüóÏ1cÆÄÅʼn%÷ïߟ6mÚüùóËÖêСCláwÞ© ò⫺A¨V«µZmAAÁ˜1cvíÚ%6R5Íz÷î]Á/uß¾}µZmQQÑÑ£Gõ^ŠˆˆHLLÔjµ}ûöe%3gÎ nß¾}XXX•42žçßõÎâ%ßé~)iiéû÷ ~ñ•¤¤ŠÆ¦¤¤¾ÜkíÚuwïÞ£ÒÛlfffΟ:â­·õšÔ~8%ô›…ºX<|øpÙ²ïO(ÿÃ2Xž;wŽ-4iÒ„-,Y²dË–-DÔ£G-[¶\¾|yëÖ­Ï?ÿ<íÞ½û›o¾·]¸pá‰'ˆèå—_Þ±cGddäúõë @Dñññ?þø£¸æí۷ǧÕje2Ù{ï½·gÏžß~ûí³Ï>kРÁÚµkËÖ*66–-øúúVPùV­Z)•JÝõEQQQaaa!!!¬bÛ·ooݺ5«Éš5kž´Ã>}úØÚÚÑô^b%2™lðàÁ¬dÿþýD¤ÕjucØä¾þúÛ?þ8AD¯ö~eßÞ]Wc.oݲ1$dݼ¿|Ū ¶]¿acLÌUŽã>šüAüÍë÷Óïýå`÷î݈è÷ßÃŽyôÇÁ· oÜ´…ˆ‚‚wìØzýZÔÎ?ö ¢;vÍŸZ£Ç@™P/Âúõë9BDþþþ^^^D”žžþõ×_ÑóÏ?¿}ûv6{ÝÍÍ­G¼xñâÒ¥K'OžÌʳ²²^|ñE‡ï¾û΂ˆ<<pàÀ²ç–X3ÎÓÓ³^½z‚B¡hÑ¢ELLLFF† ¬#zýõ×W¯^Í =<<¼½½;vì¨R©Îœ9óßÿþ·ÜZXX 8póæÍ'OžÌÉÉѽ).k¤öèÑÃÕÕ••„„„¬\¹R.—÷ë×ï)Ÿµáúè#Ý•»té2a„eË–éjµZ֭ײe˧W«V­bbb4MNN޽½½îK“&MÒF77·.]ºœ:u*!!¡‚6Œ]næèÑ£o¼ñ+¼xñ"ëé6ìÑD½9sæ¼ùæ›vvvb4A\ÜÍþ¯…”-www»~-Šˆ/ú¦ì« …bذ!Ë–­ˆŽŽ¿”² ˆ(öF\zúýF²ÂFîÛ»Kwµ‹‘‘ìÉ—_ÎÔM;k+«)O>ümFÓ! ý3$@%T9333úé§²å7 }á…ØÓK—.±…ììlÖí)ÊÏÏg W®\aA(*,,LHHxøðaNNNNNÎíÛ·‰ˆçyö›[TTÄ·cÇŽz6"êÚµ«^Êår ‹¢¢¢ÊŒA×±²²Ò-·°°({777"ÊËË«`‡;wöòòJLLôõó6tÈ€¯uéÒ‰õ늼Xú$+›uÊòóJþ‘\ºtA5ªÊAhee¥{±¿ÿþ[«ÕZYY>¾â׫WïçŸ7]¼¹ô»eþy*++K«Õž9söÌ™³;uܵk[ýúõ‰H ’$Ï=÷ä$.ÎU>6€ª¨î`™éÓ§ïÙ³§¸¸xáÂ…C‡Ǥøûû‡……™™™:tˆy’ÄÄD–‚®®®«W¯îÔ©“x³… ê.õöö–ËåZ­öÚµke÷SnáK/½Ä.¢vòäÉ ‚ðäÉ“âúo•xyyuîÜùüùóû÷ïã7ØèP77·îÝ»ð]jÂíÄD–‚nn®ë~ú_—.Å/åëÐo+9˜³}ûç6oZ/µk×:¼zõÚû÷ïÿýOø—_Î]¶l)µó÷ÿí·cfff¿=ÂÆã_u§O¸ºº¾ûî»D”™™¹dɱœ5U*UDDDÅ{8{ö,[xÿý÷»víª{µO–a"KKKvQïr÷©·2#žŠ›3gNTTT¹¸qãÆŒ3ôÖ7Öø;uêTvv6ë2dˆioÓQâ ÐIÿÛ½{7Ý/åìÙsUÚÇq>>ÞÓ?ý$òâß666Dtö\É7Õî¹’$.\0L½ªÎ¿È“'Ovpp ¢ÿýï¬ëJƒˆ¾øâ qt ³sçή]»víÚõøñãD$ÑÔ[íŸþç&ŠÚ´iCDË—/×[yÅŠeëÖ¼yóAƒQQQѨQ£Ê^åáÇ#GŽdÃ^^yå•çž3ð„ `aa¡R©,Xð¤~ÑÂÂÂíÛ·Ÿ8q¢â‹“ø¥äå?6 èüßÿœ9ó” ¼y3>¨ç‹A=_üiݽ}6pt$"GGGVò\éÉæéŸéÿ#Ù¶mGû€Îí:‡…öè¡ÝäÉ“‰H¥RÍ;—º¹¹±Â¨¨¨aÆ>|8===""bÉ’%“&MŠ‹‹S«Õ=zô ¢çŸž ÐX½zõæÍ›ïÞ½{íÚµU«V…„„”½tË´iÓØ™­¹sçΞ=ûÌ™3W®\ùþûïGý¤K€.X°€ýò&%%õêÕkãÆ‰‰‰*•*))iëÖ­½zõbg¼êÕ«·páÂêzêÕ«×§O"Z·nµoß¾E‹zëLš4iâĉC† Ù¶m›Á+ðl‚{°/eÅŠ×oØtçÎÝ«W¯-_¾ª_¿O½òY³fM³²r"""?ûìó5k~ÊËËávbâØqão'&Ѡײ5ÝÝݦ~ü]¾|%äõ¡JKK¿ñíÂÅãߟxãFœZ­ êQÃÇ Rg˜;ð;vÍš5wîÜÙ¿ÿøñãˆèóÏ?OJJÚ»wïùóçõú-íìì/^Ì®Êfkk;nܸU«VeeeéΔËå!!!ûö=v‡„fÍš­^½zøðáZ­vÅŠº­À±cÇnß¾½ì”GGÇ#G޼ñÆ·oßNLLüøãËÖßÝÝý矮¡i|Æ Û»w¯¸\v±cðÂ… ǯ‰:T•­­íøñã–/_•••5iÒd±\.—²gOE·­à8nö¬Ïß}oBAAáGS>ùhÊ'æææÅÅÅìÕ  Àaƈ+ÏžýEbRÒ®]{Ξ=§×éjgg·ìû%â¥ûjHZ„ìDQ¹ç·ÌÍͧOŸND‚ ˆÃ[8Ž[¾|ùĉuç§ÛÛÛ0àÌ™3AAAbáܹsçΫ;bÓÇÇgÇŽì²Ô2™Lw˜èK/½´zõjñBnDäèèøõ×_ÏŸ?ŸÕ°ì=›7oþûï¿OžûöîêójozüK‘Ëôw8hPÈ©“tïÞÍÊÊ’ˆŠ‹‹e2Y‹ÍgÍúüÐÁ½º£U9ŽûqÕòÉNÒûG2àBø¹^xô †pßEÁ 4ÍÝ»w³³³œœÄ)åºÿ~JJŠ‹‹KÆ +Þ§ )))÷ï߯_¿¾»»{%'T_»v-99ùþýûŽŽŽ>>>j­¾ÜÜܶmÛæææöéÓgÓ¦MOª˜L&«¡Öû³ÃÎÎ.?/ë6OO¿ïÞ=WWWñ1•Çó|bbb^^~ÓfM­+œ:©Ñhîܽ›õ ËÙÙÙS&€ˆˆ¬mrrrNžw‹®¥›ß͵ÍWËM] ±VhÝl |œÔ]š ÎöŠ*mËeddÔPµ¤C„âUÿ»ÐÈZI–JRÊIŽSOF¤åI¥¥Bå ïv¼ß©™²l«ñIÐ"0€âUk#9X VJŽã8Axˆˆcÿc}¢žà±šõ3sD2™sdnFæ ní…†D÷;77¯äw‡ ¨®”,õÿ4ªoM– Žˆc¿ÑG‚Àq%)È/$pDx¬þ£.JÿÔ ²0£z–ܪy:f¸8TªAP]goq ²Pr¼ ‘À:åø’ßæÒÿˆãħx¬Öc…ÃŽ,”œ•Z8{‹PÁZ ª…çùèT¥¹ñ¥ÉG£žP±+H Œ­Ç‘ Çšâ ‚RNÑ©!¼ª2ãH„Õ¢Õj“²mlY P÷T– ÄÎr§sªªK÷/ Ž#X–þÍAfrJÊ6×j „5N„<µY}Žã±ËN Ò¹nÏÒGýO›­¦­t?4‚ ºxµNŒ=ÝâJºït~ÁúèbO½|d~nÔÀ†³PP±š2óèjŠðûUþ΃rÖÀ5°áRr„ƒ—„²¯öhÁù¸rG)ÙÂÁË‚ñH¯™(ÎXU~d‚ º´œ· ÑîaËyŽyWf¡Z„Æ£J§Oèœ#$Ýßæ2JÃÁŠˆ(5‡V´š–§ÄÔ¬!Ù[Ï“^ÐM~‰ëÜ”#¢û¹´òOãŸè¬ˆî ½G‹ÀhÓðÄq\É՟˹¾— ÒCÆ‘­QB¦PAsIÈš5ää2²PRnQi[Ðו|]K¼¡-½Ñ‘Û\ Z„\é¼úGáÇéVÒ¢E`4ÚÇ®5ú¤œ0öÝ'´DÅ27£úVÜSO˜Õ·*YÈ/.g*zD¢àíÂY)ilîÊ]º˜hò,t>ON§äÑBå[„O¿?TLË“†'­ÀixÿÓ +)]ħF{|ODÔ¤! ô”5›7âˆ(·ˆ Õ%%bŒD$ î ù¿D$ãhÎkœ½•Q¢ÜG­PòÁj*]¦ÒYЖ¹@Ð"¨.^ -ÿØ$6öÈq\é%¡éñYnFzLÍ!;RÊÉÝž»•ñÄ5êqõ,‰ˆRrëtLÍ¡vR¡Š~¦ç|‘kéTþ:^ŽÜ´WJV;võQ¯xÂS,)PsSv ù*"¢Q])¨•ɺFu?j¾è’ÿØråGé"ªKË“–´XÒœ7€s³7ö•>>öûÌÙç̾-Ï¡E`<¼ FK>AËsZC±´œ´VC»O<¶Ïƒ—h{8‘­}7ŒSÈ}Dì³Õò¥Ÿ-k)ò¤}ìO猇8-_r LŽ]â‹×½9¯É.EÆ—žKoüÖŽ"Ïúäá@s”{B÷²iÜ&º“ýضâLH ¯¿Ï9‡Éß¼]¨µ3ÍìKÓ÷ÿk:ƒeJ¯„ÃWú W¥‹n£EP]Z^(ÇÏNVñ¤Jzµ¬EUZh’Ǹû4`­ü³¤i¨+§þwšú¯ «©ålK¥S$õÊ T4ágÊ/&"@/ûý¸xNç‘´¼ ~ÈgÒÿ¨+ÿÇ‚ Z8޳Uª‹yé´¹ÚÑZ‡=ºä¶Pú™³Æ7{Y [s »ÅS!ªE.—·t,ˆ¼o'“Ñ£v‰±o6!Uþæ{¤‰x-µl”/—Ë+³!@µÈd²îM ÂSíÌt磉7Òë»ãðhˆG*³ ûGG-uk\ “=}È(!ª¯¿¿vñi"Ždzs³ÙUÊ‹C x4Ð#•t„rº%D‘ %šúûk©r„ÕÕÌYùÃk 6‘ɉuêMnCiM`² ³ÌqÄkI«¡åo7s¶zÊö¥„Õ%—Ëû>§Ôòñ“6“ñÄɈ+mê&⣩ox¬ö#‰§‰ˆˆçIàIà‰×Ò¯Å÷mgQÉ„„+ËÏóÅÅűw ]QœK¬wãA½œb…©+%!væª–Ž¹]=sû·Uµr·277—é÷S?‚À0xžW«Õ*•J¥R©Õj­V+` …Qp'—Ë …R©T*• …¢ò)Hè0™Lfnnnfffnn.KAÝ,D.ŠîA¶Ìq‹ÃÊ÷ˆŠ„†ôl¿Å`B¸ H‚$ A’† IC€¤!@Ò„ iB4!H‚$ A’† Iû?% ²?Öü©IEND®B`‚traitsui-7.2.1/docs/source/traitsui_user_manual/images/text_editor_strings.png0000644000076500000240000000707714046644454030567 0ustar aayresstaff00000000000000‰PNG  IHDRµ¹áóé…IDATxí]=«%Ç] a6˜eÙ(JÛA†÷´È‘3‡ÎÙ¿A8QäÍ ä¿ À(‘q(ŒÀ8‘±…eZ\ÏÇ{^½êéžš™ž™îžº,Cuuu}œ:·çãÝ{÷¥?ýÓƒx^yøäá—|›™ õ¥xüîw/_€(~àÇBמ¥£òÿóá;geû½Ÿÿî¬ÐçÆí†BŽþäûgõß¹&E&øñÉ'¿?« &îÍÍÛМKÉA¨IŠ´ƒË ‰žÑ/Z~HñOö‹E.ö3þø£g(òÓ×ùôG'gõéßžÝeä‰^Ù¬<{ïú´µâ…©M½Y[çÜÚ*èÝãG9^Ì^àÇ›¾ äøñ²zIé2š §Ÿ4%°×§Ýá"]þü¹'m§™ÇUk6~–f>Ͼí&ñÝ/³¥•h{ä, #=s¤%+‚=ôTÒ¬,lY[öÜÂì-—}üìû…R¤Hœ_ŽgZOƒ=uëø\íù…|ý¯/(‡06ž¼‘+0ö2¡¿E ø<(!ü(¡sÙë¡Yq¯ßc™Ûs–{uçõåPüà>û÷Ã7¶‡_ÿê=£ñC*ÿ7¿õ×AKçÎdâúã‚ YPrðcX4 ~Ì4Ÿoš±tº]~<~íÍ1Ïñ)§o¼Æ¯OuƒÿýÕ_d(ÇÆáØ/½N?G·?R6L¾_јÂSÆLˆb:j]üèå¹S/yæšÑ ÞÅ^ž;õ’gƒ<È¥×9dB‹@ð#xPB øQB'æ‚ÁÁ:1ü”pÝß–´4Ïǜݨü|̵³ø}ºÙ.ÄïÓ]è÷éä‘`á×±S®,}„8Ôù%…ãjš\ûÿþϯßzëÇ‚†¯ÿà‘–à‡«,ó{ÉKwT÷/3]ç—gì~TnlŽO9}•ðéiåóÏ?ϢǿÕQ‚«¡[¶ðÈ/Ù‚8.Ë2±–ò~Å %¿ý¿^=œ4¥ÁJ/)OÑ!œ˜cê‡XçK‡šr5ºt¹±·(˜éN‡´¼_ñB /F·¿5¥5´4z±§FìifôfJ{†Œ…õ,ýhÏÚlLrànEœl¤È˜ü\tw1Q.ê–Oz˜T¹ð`Q”-Ɔ¼ÝB‘1ù!]‘:*ˆ‹W7€Œèkµÿ- ÁìÜ9Ä!(‚ã:–ŒÉ`m¹¥zíän±S,·,ã†äà w‘òòÜlÍçcü¡0 æù½±÷˜åR/èÙB´MŽÔVaŠ–ºåÚƒÖËcOKc–‹Kûœ_ONø—ÌZVãÇ~Íž­!5H{c4¸M L8PO ™‚œj8%©FWNA¶ ¹ø˜Ü*xZáÖâô ³:ü˜$‡VR±s`¨e™M‡ÚL è ®z?’š=þ¢„Òû\û=¹ó”ãÐE"ÕáGâvZ‘ö•ç=E™D1´÷ÚuÚycPlÈá›o¾šLæÕW_½X.=ÊI‘½Ÿ,é$«œöÛå6í…Ên’wôx{óR¹íA®BÀ!&/SRWÐÔá‡4Û¿1À8—Gïåñ6’Mõ¿ï×á‡@lº.C£é+š!Sz‰1Æ,,ãx.Õø~›bL§ÍÐ,1³î²C9­Lî¹Ó¨‘ŸŸúQÆ’‚‘Š@>ÿXWcðcn-®94E@Ž- ~´Øéu9ñ.!-ݰ˜ÐÁHßCC)f 9dyð£oB {n2$EDÖäÐ6þšƒ~¬š¶Ô·* ˆ&ÇêÔkÞß®N"VA@S¤ 9$«Ø?ª´æd'²aäN¢Ç?}Þñ§û‡«F-ånEzŸkOßoàÎÓfð™G÷ßß»üÿ£ä²ãîj£øÝk}âlÄPç—ø}\g×ýfCñcÅûÃÔ5-ãþåš}÷Vüð"uM»àÇ5ûî­:øáEêšvÁköÝ[uðËÔ5í\÷·mþîlú#¯mæÙ ±RèrIºøÑËs§^òÌ5£A½‹½ûÍÍâ€~óýŠÆ†˜2f‚¸é¨ñ [b¦èPqbŽ\Hÿ\ž¥ñYBç¡ þ‘ åœ-µ€–HØÈrd3 ¡¥ÑkKñL3£7SÈž!c!d=K?Ú³6kD>zÿHË–Æó,Y†ômR“ÓNšù•&–ö)<ÐÃîäóù!  p¤ˆÑc8ËtÅ;•}*´y2•ô@ ËÌö>l‚³ý^‡2˜±nmaÕän±S¬BÇLmÝuëfÉ„ç—Iÿ4›œ¥´/¼¹Ñ¦FbbQ?˜°ìþ §øÙ`<è¦n¡Áôšr8m™ó¹B?t§X+ÒÛi‰wÿ`xv ô€Ik¨OaÕfXHçÆÊåSðoÖ¦ù›T=‹2f¹ˆ´Ï4¢éáÓ¿~ùÁ·ÈF>¿ÉèµóY,é„ôÕ˜¢Û¹Ñ%±GOÞ@zô ÂÍÍÛ"<~÷»ÅûÖÇq;fÚîpðcïÍC`= DÚ¼S‚¦i”5Ë®O˾bv<‚ãõ´fEÁšhŽç+{ýÁkÚñjŽŠüÄþáÇꊖÁ+vÝ_³=¿ð ‰ßEXŒÀ½ýOÍ®6J[Š€Ý?‚"KÛþÞþ1v©QÝ ‚+@»Ð’ÛóKüìÎ…î.õÉÿó-?ø7}÷Ú0¼ ÿA ª6ç )IEND®B`‚traitsui-7.2.1/docs/source/traitsui_user_manual/images/move_down_icon.png0000644000076500000240000000111614046644454027455 0ustar aayresstaff00000000000000‰PNG  IHDR&u2ÁIDAT8¥“-¶Û0…çõ(¬f è%¤,‚†Ý‚¡·Ðmj …†zÐK0hÁ~#帩ß{%ÕqbY3÷νÜïwùõù€]mËkч…7_í$ö¡×îòéùƒ}žKÎ0°öpèT*œÔ¯c|¬QOÄ gY=®è׵ᄀË,Z=yfx‹_L.xÌÙ…Pã¸i@Á"ê¦çuÔ~FL²‘u¬oòG9¦ãzƒCÌà~D¦ žð³™-×ï¹Áî?÷Ð*ÒÕÖDT½ö1 ÇÁóº5Ï> ã[ÍUOd^âw5XÀ!98A/)KN¯ðšåhqšÄñµH§qºú¾\ã÷nË‘5þ †M{¾¯ÍéŠåøéí…Ó¡ïBÙr.nªæÚ¬Ìâ-hÃc¤ w¯Šˆ×oΪKN¥Ü6zžxÐ)™Ì›r¨í¬³ãšŠJõÀóŠÃU4§_… X˜ ,8ØU.CÝ\‡Ú¡„Ee¼ 0Ä@F °ƒ£²CCEƒö[ð§ÿMOš¥Üd‚¢J§H†V “ƒQþãCyÕVóo;þk Wº±ž¿ÊHdZP¶ôÓGpüþPÞP/‡ûÏx…Ãè~³ àó&”†ì°+ï˜ù–³Oá4y…‰<ÿ £ óÓrlÈñ;…_”{Þc8êo¬ÁfPЭ£ìÝíCüîñïÍo#ýÖÿ¿IEND®B`‚traitsui-7.2.1/docs/source/traitsui_user_manual/images/FontEditor_demo.png0000644000076500000240000010422714046644454027540 0ustar aayresstaff00000000000000‰PNG  IHDRúè·‹Ü pHYs  šœ IDATxœìÝy\NÙðsŸöÔ„(4²ÄH›H‰P?kÖ2Œ%…a†1cÛŒe0Ì 5EcÊ2*B‹eh,•”!-(EEŠ’öÔsŸûûãäz<-*OÛÓçýòòºÏ¹çž{îíöÜoçžs.“••Ed—|cWê]hhhÅDŽã¾&uÆ0LÅD++«šl‹p§E°¶¶nì*HÙ•+Wj˜áNK¡¡¡ÑØUšÜÜÜšgÔ_=š„; ãC¸2áÈ8„; ãkóî”––***VºJ(îÙ³çÑ£G .ìÞ½{WŒŠˆˆsæÌ©tÂGh\M4ÜIMM=zôèÝ»wïÞ½›‘‘¡««kjjjff6oÞ[PPкuë!?öññi”ª^¾|yãÆ„'''yù&z>Z²¦ø0ëêÕ«#FŒpqq¹páBFF!$55õÌ™3ëׯ·µµMMMås M±þÍBNNNHHHJJJ}ïèàÁƒsçÎ}õêU}慨®X±âĉµÝ0//ïúõëÑÑÑB¡°>*ïÕäÂ…€€€Ï>ûìåË—„¡C‡._¾ÜÍÍmÑ¢E½zõ"„ÄÆÆ><33“f¶µµÝ´iÓ—_~ùÛo¿5f¥›•¸¸¸~ýúµk×nذa]»vÕÓÓ‹ŠŠª¿ÝmذáàÁƒW¯^­aþÇ_½zµ¸¸¸n»[¿~=Ã0³fÍªÛæÕ(((ضm[PPPÍ7‰ïÛ·oëÖ­‡ bjjª®®¾hÑ¢ÒÒR©ÔçOÔ{q'XqÕºu놹xñ"ý¸yóf†aø LZZZÒª[};Èž&÷ðåçŸfYV ¸ºº:99ñé?üðÃÊ•+½¼¼rrrüüü¾þúkBˆ¼¼üÂ… ¯²ÍO\\œMvvöìÙ³»{÷îÁƒ‡……õëׯ>ö¸wïÞ[·n5ª†ùwîÜéêêcddTÛ}qçííM9yòä®]»ZµjUÛ¤èþýû (((ptt8p`nnî‘#G<==?~,ÔÙ‡œ¨â8N$UšÎÿ_ñ#]nÓ¦½½½øV}ô‘´*ÖÇ2¦i…;¹¹¹>$„ôïß_<Ö!„(**þòË/999>>>4Ü© ¡PxÿþývíÚuèÐA<½¤¤äáÇmÚ´ÑÑÑyo!………)))ÊÊÊ;wVPP¨ñ–eŸ={öüùsMMMFïÜãé陕•åææ¶téRš2f̘ѣG¯]»600°>ö8räÈ‘#GÖGÉ…††&''òÉ' 'Ož”¸„˜OAAÁÖ­[—/_NSœ---“’’ôôô±n  [·nhìZ”kZ³øôÑ•eeå¿ÿþûðáÃ?þø#M)))éСƒ¶¶ö¾}ûøl«V­ÒÖÖ7n\NNÎìÙ³{öìicccdddaaFIMM3gŽ®®®MŸ>}ŒŒŒ~ýõWñeggkkkkkk‡„„ÄÅÅMš4©k×®C‡µ°°èÙ³çO?ýT“çB¡ð×_5000555j”™™Ù'Ÿ|²nݺŠÛæç燇‡³,[›SUG!!!JJJ_}õŸ2jÔ(ƒ   'OžTÌŸ˜˜hhhxàÀooocccuuõÿýïÙRSSéóšÑ£G»»»óë¯ZµÊÈÈ(//~tvv633{ðཽ½¦¦¦¶¶¶ƒƒ}:™››kddDï‘vvv†††ôçUs‡¦ÿ+))ÑåZ­[zzúÌ™3Û·oߥK—ùóçß»w¯ú=Nœ8QCCÃÄÄdÙ²e/^¼àWÅÄÄBLLLøeeåƒ8p@NNŽbmmmaa!Þ¡‡VrÉ’%|Š———•••ššš©©éêÕ«ß{¢ª©=À˜˜˜1cƨ««÷èÑãСCB¡ð§Ÿ~êÚµ«ššÚСCk{Î릚 †ÔóE-SÓ wtttè˜óÀÀÀJ{Ñöë×oìØ±#FŒ E"‘P(dY¶¬¬ŒÏSVVƲlQQÑܹsóóóizrrò”)S®_¿>~üø€€¾•>##ÃÅÅeóæÍ| ì·oß¶µµ½víÿ]\PP°sçΕ+W¾÷X¾ÿþ{—ììl>%//ï?þX¼x±x¶gÏžM˜0aüøñ58CêåË—JJJû[·nMIJJª˜¿¸¸8>>~ÇŽNNNÇ 8ðÆ‹/vqqáóäääØÚÚº»» :4""ÂÙÙyÅŠtmZZZ\\ÿJII¹sçθqãâââ,,,rss;6cÆ Bˆ¼¼¼A»ví!zzz†††jjj5?´’’SSÓŒ;öòåËOŸ>­Õ¤¤¤DGG=úÌ™3æææ {÷î3fLVVV¥{ܳgÏìÙ³ÃÃÃÿ÷¿ÿ 777{{ûׯ_Óµ&L „¬_¿þÎ;ü&}ûöýüóÏ»víJÑ×׌Œ¼|ù2¿Ö××7>>žªøÇÌš5+==ÝÑѱ}ûö[·n:thNNN5'ªú*Ñ“ogg—žžnbb’œœüùçŸOœ8qëÖ­úúúZZZ×®]«æx¥¥ú †ÔçE-VÓ wäåå‡ FyùòåСC7oÞ\ýßÖÕˆ‰‰¹víÚ¼yóΟ?ôèщ'BJKK'Mš”žžþÙgŸΟ?_EE…²k×®Šg¶lÙR\\ìäätüøñÿýwãÆ]ºt!„xyyUßPÿûï¿ÓN$C† ñööŽŽŽ>räÈàÁƒ !¾¾¾â«ÿùçŸÂÂBBHdddzzzݶ欬¬òòò®\¹Â§<}úôÖ­[„ÇWµUtt´««kllì… âããÛ´i³jÕªäädºÖÙÙùÞ½{«V­JHH LKKÓ××wqq¹téR¥¥‰D"SSÓgddhii…„„¤¦¦¶jÕêĉô'õû￟8qB¼iä½Îž=ûêÕ+zSœ>}ºH$:räH­„²lAAAJJJPPÐÇ—,Y’’’Â?—œœüÍ7ßèëëÇÇÇûûûß¹sgñâÅaaaîîî4äI“´´´"""úöíkeeµeˉ‹™>kóõõåSüüüTUU'OžL?:tHYYùÎ;þùçÅ‹ùå—?þøöíÛU¨÷V‰ž|›èèèÐÐÐ={öpwþüù .œ;w.99ÙÞÞ>//ïÆ5?íU)((¸ù.¾©&L=]$Ðb5­p‡²eËÚɦ°°ÐÍÍmÈ!}ûö]ºté™3g jU±eff6jÔ¨ýû÷Ó?©9޳··ÿã?,-- °eËúWxIIÉýû÷+²`Á77·#F}ýõ×GŽQUU%„¬]»¶ªqÅÏŸ?ÿå—_!ƒ>~ü¸­­­ŽŽÎèÑ£=Jÿpwssãÿà9r$ýóÔ¢S§Nµ:À:˜6m!dÊ”)ÇŽKNN 6l­ º*ell¼lÙ2ºÜ­[·Õ«W³,{óæMšrýúu--­Ÿþ™~TWWwuu%„„††VUàŠ+è$­[·=z4!äÑ£Gxh^^^ ÃМ0a‚ššš——W­„ruumÛ¶-]Þ¶m›††FxxxÅÝ…‡‡ …ÂU«Vµoßž¦ÐAaô£ššZttô¢E‹Úµköã?XZZò=VVVÝ»w÷÷÷§Ï1=ztëÖ-{{{¾¹¢mÛ¶%%%§OŸ¦V¬XIÿ¨Ô{«D}÷ÝwtÁÁÁbbbBqBȤI“ˆ4~„„„„ïâÇð×ð‚©‹Z¬&îèêê^»vmÆŒüt‚iiiÞÞÞsçÎ544\½zuNNN ‹ï¡Â0 ýr'„888ˆOÌ?E¢½¤ÅééémذA}!8<ûÅ‹ÁÁÁ;wNNN ¹qã†AllìíÛ·kx •æQPP022JLL,**’Ø#=º 6ô}cøðálj—Ö¡CŒŒŒˆˆˆ+VhhhDDDX[[ÓnR Ã8::¾xñ‚6¶ùùùBùÍ¿ýö[•Ù³gëèèLŸ>ýüùóÕŸ„šT‰Ò­[7º ªª*1>œ>$ïFSg:::;ÞemmMjsÁHý"€–¬iÌ¢Ú´iãááñË/¿]¾|ùÚµk´—baaáÞ½{éC(]]Ýê iÛ¶-}ðÄãGféëë‹§÷îÝ›.Tü–777¯8–ÊÜÜœ.ÄÆÆŠ#óø»Ë«W¯BBBÄWñ-(wïÞå»h¨©©I܆ëÕòåË'Ož|ùòåÄÄÄÞ½{O:õ‡~ „|òÉ'Um"´ñKJJ!¯_¿æ8N" Ui†JI}~ÈãÇ …ÂÔÔT‰Æ///Óˆ×\â£D=+æ‰Do´tÒ—ž={òM)„CCÊ£ßåää,,,,,,Ö¬Y3lذ¨¨(gggBˆ££ãÆ}}}‡ æëë«­­->bìØ±=Ú¾}ûÙ³gOœ8ñ÷ß÷ïßÿÚµkâ‹×­J⪠n†QPP¨t~Hú'GõCµµµ¿ýöÛŠé5¿`0‰(HQS w(55µ©S§N:•íããsàÀÒÒÒgÏž-]ºôäÉ“Õo.ñ}*®æ_£•F3|´K«'oQ˜>}zU%ÇÆÆÖ°Ò•ŸŸobbòÅ_ЖeýüüTTTª‰ ïÞ½+þ‘6MÑ?¸µµµ;uêÄ7VQôèêi"ŸJ>|X xyy‰‡_|ñÅÑ£G·mÛÆ7$Ts ¼»w‹‹ÓÕÕmݺ5?¹%E£('''ñö^YYÙòå˵´´h(I©««Ï™3'**ŠÎ¢IéÙ³§¥¥å©S§V®\yóæÍ%K–ˆ·yB´µµ·lÙ²eË–G}óÍ7ÁÁÁ~~~3gάô$T_¥:033»qãFVVmõá…‡‡ ‚ºý|›È-Móøû©OŸ>?ÿüó?ÿüC»5\½zµ_JÀ?«êÏbš.úVMb ³cÇŽþýû‹?¡Û±cÇ“'O«y¿ixxøéÓ§éò«W¯¶mÛF133£)æææ)))û÷ï§Y–ýé§ŸˆX3X­Ð®QÕwQŽŽ>yò$?¶îÞ½{QQQ666Ÿ¾+33óÂ… 5<jíÚµ|[އ‡Gff¦DŠ6ÈyxxðsûÆÇÇOš4iÓ¦M„…ðððüQü TYY”ÙÆÆ†OtrrÊÈÈX¶lÇqâåççϘ1cõêÕôc·nÝèTÑ|ÇêŠ'ªú*Õ}üôÕW_‰wSóôôüï¿ÿLMM544êVì‡_05¹HÄ5­ÖÂÂÂââb†a455+®500˜={¶§§'!$11±nwÓZ‰¯˜ÈÉWºUŸ>}þùçyyù³gÏVõÜ¡±,Y²dß¾}¿þúëƒ|ëÖ-///==½ßÿ½š­TTTììì´µµ“““.\Ȉqqq ûú믃ƒƒõôô._¾eoo/1©n у|÷Ýw7oÞ¬ôE÷¯_¿¶¶¶ÎÍÍõ÷÷·³³#„Ð.ÉtL–¸3fìß¿ÿðáÃcÆŒ©ÉP±±±æææ£FJJJ ÐÐШô%ýúõ[´hÑÎ; dgg÷òåË'Ndff.X°€fX²d‰““ÓØ±c§OŸnff–ŸŸúôéÛ·o2„/gÚ´iÎÎÎ'Ož400oÞPWWOKK;~üxbb¢­­í³gÏÜÝÝååå§L™RÕ‰zo•jkÙ²eAAA~~~fff#GŽüè£ÂÂÂ.\¸ ®®¾}ûöº•I¤qÁ¼÷"дÂÍ›7ïÙ³‡Ri0ÁÏVGÿ¼«o‘‘‘B¡P¢ûÿ†©ª&°ç»UÞºuËÊʪ¾+Y+={ö¼~ýúôéÓ}}}éhƒÃ‡W?yÉüùó‹ŠŠöïßϲ¬––Ö‚ Äïv=zôX³fMpppQQ‘ŽŽÎ¼yó<<<èCCñÿùñ–$‰”:::úøø¸¸¸ >¼âLIIÉÀÀ ..Žïr{ìØ1~ü6ÏÆÆ¦C‡§OŸæ[;ª?ÊÇLJÎÇ#,--7lØ@;qÓŠ×ÜÝÝ]AAáÔ©S´µ¬G{öì±µµ¥kÚ¶m;þü£G=z”Ö|êÔ©ûöíŸ÷HSSÓÖÖöÌ™3Ÿ@ùùù-\¸0 ÀÏÏO ž9s†ïjV鉪¾JO>Ã0âÏv%~Xtø÷ܹsCBBèà)yyy333OOO ñB*[McaõL¥õ¬íE ©ï)Åj%**Š~51⯿þ’hIII1bDNN޲²rbb¢ŠŠJQQíq²iÓ&þåYß}÷Ý¡C‡:vìH§µå=z”AŠ–ôèÑ#ÚP´wï^:÷ùóç|¯… Š? xðàÁ¨Q£ •••?~,//¿cÇŽ7B222h`ôôéSñˆw=qâ„››!dóæÍ|§Ú¸¸¸ˆˆˆ &ˆ÷0•¢ÐÐPkkk‰GiiiIIIÚÚÚ½zõª¦3ÓÝ»wûôé³|ùò­[·–””¤§§wëÖ­ª;Yiié‹/jòRŽ÷*---))©ê-KÇ …ÂZ½Í£&òé§Ÿž:uª°°PUUõÙ³gJJJüˆôꥥ¥ihhTUÛçÏŸÇÆÆjiiéëëWú++«ˆˆˆGuîܹâZ–eSRR:tèPiˆ_Õ‰ª¾Jµ%‰bccóòòÌÌÌèqüøñ½{÷ffæÌ™M0Ö¡o$¨ô- ÍKMÄÃÃ#>>¾aº…B”••ÿüóÏÓ§OGEEIÌÒÕ´úîHHMMÍÎÎîÕ«×{gK“"¾ïŽ››œžž®¬¬Ü¥K—ZµŸ …§OŸ¾zõJ[[»šh¦   þÞtXi߀f­÷Ý‘ ««ûÞÙ“†¦¦f¥cãßK^^¾K—.ïýÛou¨?Mîa€t!Üפf555µùóçBÄ;)@3…p§ªªª[¶liìZ€tàaÈ8„; ãð0«¥ÈÍÍmì*4„;-•+W$R8Žk”šÔMU/¨®Ñ¶MyVe€‡¾; ãC¸2áÈ8„; ãC¸2áÈ8„; ãC¸2áÈ8„; ãC¸2áÈ8„; ãC¸2áÈ8„; ã“¯I¦˜˜˜ú®ˆ366–VQøÙ€ «á“ÉÊÊzo&MMÍ®ÔBvv¶´ŠÂÏdX ï˜x˜2®F­;ÍZw@Æ!܇pdÂqw@Æ!܇pdÂqw@Æ!܇pdÂqw@Æ!܇pdÂqw@Æ!܇pdÂqw@Æ!܇pdÂqw@ÆÉ7v Þ…††VLä8®ákPg ÃTL´²²ªÉ¶wZkkëÆ®€”]¹r¥†9î´]©ÉÍÍ­yfô݇pdÂqw@Æ!܇pdÂqw@Æ!܇p§…ÊÉÉ III©ïv=xgVËgcc“={öìÁƒÇÆÆîÞ½{ðàÁaaaýúõ«=îÝ»÷Ö­[£Fªaþ;wºººÆÄÄÕv_Çy{{BNž<¹k×®V­ZÕ¶)ºÿþ€ ˜››{äÈOOÏÇ‹Guö!'ª†8މD•¦óÿWüH—Û´icoo/¾ÕG}$­Š5À±€ŒA¸Ó²xzzfee¹¹¹-]º”¦Œ3fôèÑk×® ¬=Ž9räÈ‘õQrE¡¡¡ÉÉÉŸ|òIBBÂÉ“'œœf¿•òññ)((غuëòåËiг³³¥¥e```RR’žž^#Ö­tëÖíÀ] €rx˜Õ²„„„())}õÕW|ʨQ£ ‚‚‚ž|˜þ¯¤¤D—ku ´nééé3gÎlß¾}—.]æÏŸïÞ½ê÷8qâD “eË–½xñ‚_C111áS”••qâÄ­[·êëëkii]»v­šã•–ê/RŸ ´XwZ++«¼¼¼+W®ð)OŸ>½uë!äñãÇUmíêê{áÂ…øøø6mÚ¬Zµ*99™®uvv¾wïÞªU«ÓÒÒôõõ]\\.]ºTii"‘ÈÔÔôÁƒÁÁÁZZZ!!!©©©­Zµ:qâÄĉ !¿ÿþû‰'Ä›FÞëìÙ³¯^½¢7ÅéÓ§‹D¢#GŽÔê@!,ˤ¤¤=|øpÉ’%)))üÓ(qÉÉÉß|ó¾¾~||¼¿¿ÿ;w/^æîîN3Lš4IKK+""¢oß¾VVV[¶l‘h(¢ÏÚ|}}ù???UUÕÉ“'Ó‡§´3´ IDATRVV¾sçΟþyñâÅ_~ùåã?¾}ûvU'ê½U¢'߯Æ&:::44tÏž=Ç?þÂ… çÎKNN¶··ÏËË»qãFÍO{U n¾‹ogªÉSO ´XwZ–iÓ¦B¦L™rìØ±äääÀÀÀaÆѿþ «ÚÊØØxÙ²et¹[·n«W¯fYöæÍ›4åúõëZZZ?ÿü3ý¨®®îêêJ ­ªÀ+VBHëÖ­GMyôèÑš——Ã0ô'L˜ ¦¦æååU«¡\]]Û¶mK—·mÛ¦¡¡^qwáááB¡pÕªUíÛ·§)tPXDDý¨¦¦½hÑ¢víÚ………ýøã–––|c••U÷îÝýýýY–¥gàÖ­[ööö|sEÛ¶mKJJNŸ>M3¬X±"22rذaU÷V‰úî»ï肃ƒ!ÄÄÄdðàÁ4eÒ¤ID? BHBB€wñcøkxÁÔÇE-–eÚ´i[·n}ùò¥ƒƒƒžžÞøñã‹‹‹/^LéÙ³gU[õïß_ücß¾} !ô¶ýêÕ«äädcccÚ…255%„ÐF£JðË}úô!„|àðì/^wîÜ9999$$䯱±±·oß®áTšGAAÁÈÈ(11±¨¨Hbôè6lØÐ÷áÇs'^Z‡<<<222"""V¬X¡¡¡ammM»I1 ãèèøâÅ ÚØæççGqttä7ÿöÛoUTTfÏž­££3}úôóçÏWjR%BH·nÝ肪ªªÄøpúH¼Méèèìx—µµ5©Í#õ‹Z2ŒÌjq–/_>yòäË—/'&&öîÝ{êÔ©?üð!ä“O>©j%%¥ŠKJJ!¯_¿æ8N"ƒ²²2Ÿ¡Rô¯v):~ü¸P(LMM•hüðòò¢1xÍ%>JÔ³b‘HTñFK'}éÙ³'ß”B144¬8ú]NNÎÂÂÂÂÂbÍš5Æ ‹ŠŠòññqvv&„8::nܸÑ××wذa¾¾¾ÚÚÚâ#öÇŽûèÑ£íÛ·Ÿ={öĉÿýwÿþý¯]»FOoE5¯’¸ª‚†a*2''‡¢  PM±ÚÚÚß~ûmÅôš_0R¿H %C¸Ó²$$$äç盘˜|ñÅ4…eY???]]ݪ¶º{÷®øÇ¸¸8òænmmíN:Ñ^ll,!¤ž&ò©ÔáÇ———x(ðÅ_=ztÛ¶m|CB5»{÷®øÈù¸¸8]]ÝÖ­[Ó‘A<E999‰·ÇðÊÊÊ–/_®¥¥ECIJ]]}Μ9QQQ/_¾¤)={ö´´´¼ððp@P·Ÿo¹` ¥ÁßO-ËŽ;ú÷ï¿aÃñ”'Ož8::2 SÕVááá§OŸ¦Ë¯^½Ú¶m!ÄÌÌŒ¦˜››§¤¤ìß¿Ÿ~dYö§Ÿ~¢éu¨¡ªª*!¤úáßÑÑÑ'OžägÀ»wï^TT”ƒƒÃ§ïÊÌ̼páB „Z»v-ß–ãáá‘™™)‘¢Ï¼<<<ø¹}ããã'Mš´iÓ&Bˆ‚‚Bxxø?þ(þª¬¬ŒNÊlccÃ':99edd,[¶Œã8ñ‰‚òóóg̘±zõjú±[·ntªh¾cuÅU}•ê€>~úꫯÄGË{zzþ÷ߦ¦¦u+öÃ/˜š\$âкӲ,Y²dß¾}¿þúëƒ|ëÖ-///==½ßÿ½š­TTTììì´µµ“““.\Ȉqqq ûú믃ƒƒõôô._¾eoo/1©n ÙÚÚnÚ´é»ï¾»yóæÂ… »wï.‘áõë×ÖÖÖ¹¹¹þþþvvv„Ú%™ŽÉ7cÆŒýû÷>|x̘159*66ÖÜÜ|Ô¨QIII¿ýö[Åzöë×oÑ¢E;wî4hÝË—/Oœ8‘™™¹`ÁšaÉ’%NNNcÇŽ>}º™™Y~~þéÓ§oß¾mhh8dȾœiÓ¦9;;Ÿ »pႺºúöíÛëV&‘ÆóÞ‹@–¥gϞׯ_Ÿ>}º¯¯/m``pøðáê'/™?~QQÑþýûY–ÕÒÒZ°`øÝ®GkÖ¬ .**ÒÑÑ™7ož‡‡í{!þ?¿ Þ’$‘2pà@GGG—áÇW¼“)))ÄÅÅñ]n;¦  ÀßæÙØØtèÐáôéÓ|kGõBùøøÐùx¥¥å† h'nZCñš»»»+((œ:uж–õèÑcÏž=¶¶¶t­ƒƒCÛ¶mçÏŸôèÑ£GÒšO:uß¾}âóijjÚÚÚž9s¦â(??¿… øùù CCÃ3gÎôîÝ»šU}•*ž|†aÄ»ÈHü°èðï¹s熄„ÐÁSòòòfffžžžâ…T,¶šÆÂê/˜JëYÛ‹@SßSŠA£ µ¶¶–xô–––””¤­­Ý«W¯jú„Þ½{·OŸ>Ë—/ߺukIIIzzz·nݪº“•––¾xñBGGçÃë\ZZZRRRÕ[–8Ž …Õw••P“ùôÓOO:UXX¨ªªúìÙ3%%%~DzõÒÒÒ444ªªíóçÏcccµ´´ôõõåå+ùÃÊÊ*""âÑ£G;w®¸–eÙ”””:Ð'8ª:QÕW©¶D"Qlll^^ž™™™ŠŠŠTÊ$|ÁT‘€ÌËÍͽr劕•UM2£u§…êܹs¥7×j(++Wÿg´¢¢¢TbZ”ÄÔÏâè ¡:þÞ!„tìØ±æV&µ´´ªš,'%%ÅÛÛ;,,ÌÉÉ©ªBää䪩mU'ª¶?Üê ‚ú˜Íï/˜ê/qwGAA}›D÷îÝëÜ›jáT‡¾‘@brsT“ñððؼys¥ÏŒêƒ²²òŸþÙ±cÇ!C†´iÓ¦av Ð2!Üê(**ò}c›µšˆŽŽŽ´ÆÕ„¼¼|ÇL@­`Þqw@Æ!܇pdÂqw@Æ!܇ywZŠÜÜÜÆ®@ã@¸Ó"\¹rE"…ã¸F© @ÝTõ‚êm‹7¢€lCßqw@Æ!܇pdÂqw@Æ!܇pdÂqw@Æ!Ü×øáÎëׯ» ËçèÞÞÞ'OžLIIÉÎÎn×®™™™™™™­­­A£T dU#¼=,,löìÙ999W)**º¸¸8884@5²³³ÿøãBˆƒƒƒžž^ìEC·îüóÏ?³fÍ*--%„hkkOž<¹sçÎiiiÿý÷ß7JKK/^ýÛo¿ÕwM222¶oßN177G¸ Ã4ÜÉËË[²d u>ýôS%%%~m``à·ß~›——·ÿþqãÆ :´!벪A»*»»»gffBz÷î½}ûvñX‡2nܸãÇÓå|à¾ÊÊÊâââ|8!$88øÙ³g„Û·okkkkkk‡……Idމ‰¡«®^½*ž~õêÕQ£FuéÒÅÚÚÚÊʪsçÎS¦L‰ŒŒä3?~\[[ÛÚÚš~ttt¤åÐêQB¡pëÖ­FFFÆÆÆ#GŽ0`@·nÝæÍ›—œœ,¾¯ììlºmHHÈñãLJ b```cc£««»jÕªââbŽã¼½½ MLL† ÖµkW[[Û‡JK~~~xx8˲µ<£ð~ ÷0+66655•2hР=zT•í?þHKK#„´mÛ–², „B¡DN¡PXqÕîÝ»×­[GÓ†á8Žòï¿ÿ†……?~œ> ã7äÑâ‰ßÿ½···xž²²²Ó§Oÿ÷ßÁÁÁ:tà7¤[]ºtiïÞ½| B¡pß¾}¯^½Ò××ÿùçŸùBJKK£¢¢ìí탂‚tuuiâ³gÏ,-- ÍÍ̓ƒƒßw" v®u'11‘.ôîÝ»šlššš¦¦¦¦¦¦ºj¢¸¸øçŸfYVOOïôéÓOŸ>ýï¿ÿ~ýõW@PZZúÃ?ÐlŸ~úidd¤——ý¸uëÖÈÈÈÈÈȱcÇÒ”_ý•Æ:&&&...¡¡¡ÞÞÞt¼XZZÚ´iÓòóó%výçŸ~üñÇ»wï¾råÊÚµk;uêDñõõݼy³¦¦æÎ;CCCÝÜÜúõëGÉÈÈðõõå·ýçŸ !‘‘‘éééµ=j¨^õî¼xñ‚.ÔßÌ:ׯ_§=u¶lÙbeeEÑÕÕýâ‹/„Bá¹sç!jjjªªªÝºu+**¢[uêÔ©[·n|!™™™...„?þØÇÇGSS“Ò«W/[[[yyùÇÇÅÅýõ×_ß~û­ø®Û´iãëëKË144ìØ±ã×_M‘““;yò¤¡¡!-dèСfff„Û·oóÛŽ9RMM­  À‚ÆI E ׺“MzöìYO»à#‰Ž>_}õ•¿¿¿¿¿¿ššÚ{ ¹sç]pqq¡±ï×_¥±ø<¼‘#GŠÇLvvvt_¦¦¦4Ö¡ºtéB?&%%ñ‰:tˆ=wî\@@Àûj©áÂV­ZÑ…ú›ØÐÜÜ\YY™²}ûvkkë}ûö%$$Ðî;5LJ2ýû÷—X¥¨¨hllL* wèS*ž’’RëÖ­ !úúú9é³<‘H$ž¨¦¦Ö¿ ñßé {îþÚ¾}{º_O»èÔ©ÓÎ;µ´´!qqq«V­4h¾¾þÆù¶¥÷¢¡L‡h¼"†/)))¯^½O¯ª§Ã0µ:º† w:vìHê/Ü!„ØÛÛߺuë§Ÿ~222¢%ÙÙÙ;vìèׯßáÇkRBõ­A|øRÛF#h, îXZZÒ¹v"##«™m/&&æÐ¡C‡’h©¸IU 6***‹-ú÷ß½½½éD>………+W®¤Cܫ׷o_BHFFFnnnŵ÷îÝ#„téÒ¥M›6ï- š‚† w”••‡ FIIIY·n]¥y„Báüùó¿ûî» 6ÐÇCtuPÜÿýWý544lmmÿþûïï¾ûŽRVVVé&”©©)]ˆŠŠª˜3&&F<4} Ú7ÖÙÙ™>`Ú·oß©S§$Ö …ÂM›6ÑéyfÍšEG6éé驪ªBΞ=+ž933óï¿ÿ–(aýúõ#GŽ´³³+((OçÇL‰´RTT¤ â.±Pæûï¿ùò¥øª~ø!##ƒÔC¸wàÀ~¬>HQƒ†;¦¦¦_~ù%]^´hÑÚµkïÝ»W\\üèÑ£³gÏŽ3ÆÓÓ“¢¬¬¼`Á‚òú täöåË——/_›pìØ±I“&¥¤¤H”ohhxûöíÐÐP''§{÷î‰D¢¢¢¢€€€7BÚ·o?hÐ >óÇL;âøùùÅ***[¶lé­¢¢2lذK—.=þ|ùòå„Ý»wOž<™²zõꌌŒ#GŽÜ¹sGbÌùÇü÷ß«««KíŒrëÖ-ºššúüùsþ B$±,KOºc@ÓT߃^†‘““kÜÉAšÚ·qs?ç îÈÉɹºº8pçα±±â«455ÇŒ³yóf~†ÊÌÌìСC›7oŽ¥¯ÇRWWwvvž2e wääähNEEÅÀÀ@777ooï§OŸÒN9}ôQ¿~ý6oÞÜ«W/‰ÊìØ±ÃÃÃãøñãtT¹øÏÒÕÕµcÇŽýõ?K¼¼ü˜1cÖ¬Y#Žð»æ$VUüÉÑtñüãÇßµk×ýû÷1ÖyýúuaaaIIIii)ýk ¿`U¼õþÑHïvÜJÕQ+2Ð.³ìÎuh­ µrk¦i~7÷sÎÔߤï•ðøñãçÏŸ·k×ÎÄÄä½ïO(..NJJRWWïܹó{Àüüü””uuõ.]ºTŸS(ŠD¢Šƒ­X–}öìYvv¶ŠŠÊÇL{Õú‚‹ú+¿Çåççççç+))µiÓ¦uëÖ|Ç&€fáÛ£’¯‘þ¬ˆ”²¤¸”¾ææ›¿°ÐSl˜IÔš×·qó:çî@‘——WXXØ®]»Æ}ŽPg‹Ž C8Ž0„ð-!Ì›B÷Nû'ž“añæ†Z!¤¸Œ¼*ä¾èÿb@Z¿µºš×·qó:çxkAK÷úõëüüüæòÛP)GD"ÂqDÄŽþ#Œˆch MdEœ¨üß;9E"Žã·âÞÅqDYž|¤Â캩õ,§¬¾¡Ù}7¯sŽp§¥+,,TTTl.¿]•qDDaDb÷Z‘ˆ{'….¿IáÄVUóOY‘QU$aÉõþ0«Ù}7¯sŽp§E‰D%%%•¾  Ñ­ˆqô†Ê°"®<±ü&Ê”/‹ˆXæM~þCoÉ´¡‚– (Gb3”ëu¢æømܼÎyCÌ‚&…eÙââb¼š;÷ö…† ó¶‹] £¹ÚC¤Çÿ/>ì‰a'âÚåMfy9’úJ‰e‹ëo˜tsü6n^çáN‹Æq\YYYU¯sh.XGÊ;ÀŠßK9¾Klùª7÷æ7wè SÚÐÌoïÖå›ç—Ê×ëhðæømܼÎ9–ŽeÙÆ®À‡¢w^R~ß$o[ÞÜIi›! Ã0ÓÍ™½å.Ýq’SÇpoÆ1o‹!LÌ|Óì¾›×9G¸õîþýû·nÝÓ§Oo˜¹+ ¥aE„B¿`¸ò'Gïœ Ã¼¹3„Ï1Ãô„Q†9ù+Œã¸7ç•?TaøÒèVlãÏóWS4lª8ù­ôwÔ¬Î9ÂŽ'NÐn,[¶¬]»vâ«®]»æêêJ™:ujõ¿žžžOŸ>•HTPPèÙ³gïÞ½ •••¥]q´ '¢÷Ë·ÏM)o- -Ž–å÷]jxoA©PäuƒëUBWžYü¯³&0­ñ{<|øððáÃW¯^}þü¹¼¼|ïÞ½çÍ›'þR&éj^çáH˲îîîôò=zô˜;wnÝʹxñâýû÷«ZÛ±cÇÝ»wòÉ'u¬%È.–+Ÿ¥îÍw }–òv¾;B0ãL4Ï?÷D#z †Œ1”²¢£ß϶¼Ùò[8-¿i¿¾ù¿ÿþûòË/ éÇÒÒÒèèèèèèÀÀÀßÿ}àÀõ±ÓæuÎî€\½z•Æ:„ÿ:‡;”ššš¹¹9]fY6&&&''‡òìÙ³3f9rD__ÿ+ 2†­êÉÇ›û¨£%cgZ~ßÝqYt5‹Og—cbg*à8‘÷7=Mø)‚Åf ~s nŠ"##,XPTTD2dÈ Aƒ”””ÂÃÃCBBrrr¾øâ‹¿þú‹ÿR•¢æuÎ:uŠ"D"QBB½{÷z÷î]çÒzöì¹k×.þ£H$º{÷îÞ½{/]ºTXX„p$°œx›íRÞ©„fº9±ï[~ßuÿGt5‘BþM`D»t„Ãû¾‚2VtôæÛw!¼éi[þ‘­ÏIw>˲ßÿ=uV­Z5gΚîààpñâÅ¥K—²,»}ûvoooéïºYsL3*//ïßÿ%„Ì™3‡¾EÕßß_Šå SSSWWW:WXXX¥ÙŠ‹‹>|øàÁƒ²2©Í;^Û2‹ŠŠbccù†.h0¬ˆ°"NÈÒ:£²œ%ûiæå7»?¯ˆB!˱"†‘Ìÿ–ßS?ë/°3eXó¦æÍÿå“ã5ÞÁU'<<<33“booÏÇ:ÔÈ‘#¿þúkBHTTÔ7¤¾ëæuÎîÀ‡ *--%„|öÙg#GŽ$„H}D¥²²2}¹}AAΰ°0''§¾}ûŽ?ÞÎή_¿~Ÿ~úééÓ§Åó,]ºÔÐÐÐÔÔ4//¯bá#FŒ044œ6mZ­Ê|ùò¥¡¡¡¡¡ahhèùóç§M›fnn>eÊ”AƒY[[Iíàà}X²DÄ1ô¶*d9!ËÑÛ°ÓÀò;gˆ(à.Š+*ÿŸ‘ âR~÷u´°oÒi Â7÷ï&î$''Ó›ŠkùD‰¯/©h^çá|(ú$ËÀÀ [·nãÆ#„dgg_»vMº{)..~ôè!¤_¿~âé7oÞüòË/###ù”²²²øøø•+WîÞ½›O9r$˲%%%—/_–(9::úÉ“',ËŽ1¢VeŠD"–eY– ûþû£ù /33sÙ²e>>>Ò9xx¡ˆ°Šˆˆc„"ŽåǰÃr$ô!'‘—DgˆD„¥í""qB9Mv\•±$ô!ÇŠË1Âò?1å™9†N©×ñÂéêêV\«§§Gž]CCƒ2|øp55µ‚‚‚sçÎÙÛÛ‹~îÜ9Bˆ@ ˜0aB­Êäíß¿¿uëÖK—.íß¿?!äÌ™3û÷ïgYÖÍÍm„ <ÐX{Yx«³)€#¤ªgyÎ3ÑäL´¨b:¯É¶îÑ…ØØX‰µ111t¡â®ys„;ðAh)Ã0cÇŽ%„ÈÉÉÙÚÚ=zôòåËyyy}ôQÊLHH˜7o].))yþüù“'O8ŽÓÕÕ]³fMÏž=ùœOž<¡¿ÞS§N¥ÏÑ!úúú­ZµÚ´iÇqQQQÇ'„(++3ÆÇÇ'44T¢bçÏŸ'„XZZÒ×¼LžŠŠÊþýû éÇeË–åçç;vìåË—III|:Ô‰AËܻÛ߾ŠI<…y;æ™ßŠ¼ÙŸÒ—f5ÕÖ333:LäìÙ³Ÿ~ú©¼ü;·u???º™™É²¬tçl^ç³ î8Ž£áNÿþýi¬@Þ4ó”––×­ØÂÂÂÐ7nݺ•––FŒ%ÞŽÛ§OŸ½{÷îÝ»—K¨‰'Òßê{÷îñ‰vvv„²²2ñçYwïÞMOOç×Ö¶LjàÀ1 = „”””ÚŸ¨5á›' BÑ;=E„o£”¯b¹·«XîÍ×ò ì»]Lè»»…o iìC¬œººº‰‰ !$22ÒÙÙ¹¤¤„¦—••mÞ¼™8²lnn®twݼÎ9Zw î"##i¬@Q}ûöíÔ©Szzº¿¿¿xçßšÓÔÔ䃎ãrssÓÓÓ###,Xàìì\q«gÏžeeeåçççåååççÓD¡PÈg033ëܹsZZšøó,ú$KUUuÔ¨Qu(“êÓ§D ?)?ëÔ+±–†-þ n±ÄŠø­È»“ä½]h²­;„777''§'Ož\¼xÑÜÜÜÈÈH ÄÅÅ•””(((˜ššÒžˆêêêÒÝoó:çw îh'eBHRR’øL9´·ÊíÛ·SSS+í=W=]]Ý+VH$>{ölÙ²e·oßÞ½{·±±1ß­833ÓÓÓóÒ¥KÙÙÙÕË0ŒÝÎ;ÅŸgÑ'Y£FRQQásÖ¼LªmÛ¶)ÍëµÆ2@(ÿSé+¸ù—4½yý¤ÄKü‰eñBšò¬Ê;v<|øðœ9sRSSËÊÊnß¾MÓ555úé':JTUUUAAAºûm^çáÔQIIÉ… èò¡C‡*Íãïï¿xñb©ì®cÇŽ;vì:t(Çq×®]£áNZZÚ´iÓøyn455Û¶m«¡¡ñÑGUE±³³óôô¤Ï³ìíícbbh÷=ñÎ˵-šÇðï]zó–Jþ ”åwYND†¡ïx{ßÀÀÉÞ²o_rÙ„w!¤S§NçÏŸOHHˆˆˆ¸sçNÛ¶m?ù䓱cǪ©©íÝ»—Ò¾}{©ï´ys„;PG/^¤Ojz÷î­¦¦&±6!!!77÷ôéÓß~û­´öؾ}{--­ÌÌL ƒtN IDAT~¬§§'KfÍšµpáÂ6mÚÐt–eûôéSñ©SçÎÍÌÌ¢¢¢‚ƒƒíííi;ZXXðyj[&4Âw¦úzg¸Ðo“™aúÌoç8ß[Uæ™bFVŒ„<àVúU^~SnÝ¡†éÕ«W¯^½fÍšÅ'fddÄÅÅBè¸Qéj^çáÔ}’¥¬¬|äÈ:™²¸]»vmß¾ýéÓ§QQQÒÚcIIIVV!¤sçÎ4åæÍ›„¶mÛ~ÿý÷ŠŠŠ|Îèèèªâ;;»¨¨¨°°°¼¼<ú$k„ ÁÛ>ûu(Ë‘7ÏS$ß­=¼7#/ kÆ1áN”!‰½™‰©ýÉšq Í)|Ó¤ðöÝÞåÍM´«rffæ¾}û!fff¶¶¶k}}}é|` ú®›×9ÇÈ,¨‹ÌÌL:%ùðáÃ+Æ:„:ß ‘Þ %D"Ñ–-[èï­••M¤óß…Bñ—<…ƒVUŽ­­­²²rYY™»»{Å'Yu+}ÿ€ˆc„,qô…åo$p»X~7];Žù̬<§%ôÝ“û‘µãÊo«îÿpo±„þã‹jš455/\¸àååµråʤ¤$ñUñññ‡&„´k×®ÒѨys„;PgÏž¥cÂù×tuuéx¥sçÎÕö%VÙÙÙÅœ:ujçÎãÇ?qâ!DYYyÈ!4'{òòòÖ¬Y™}õêÕ/¿üòâÅ‹U®®®NgÍ9zô(!ÄÄĤ{÷îâêP&4:þõ,Çß¼Ð@È!Ëí»Îxþ[žmí8f¬ñ›¡Ñ,7΄Y7¾ü¾»ë Ùsµ|ì4-Gì%P\“í»#//?sæLBÈëׯ/^ìë뛕••••uæÌ™9sæÐ9—.\Xó6¯sއYP´ÍFCCcðàÁUå7n\tttaaaʼnjª—ššZUŸN:yzzòü'Ožìï•,>͹¹yjj*}m^Eöööt™ñΫ[™Ð¸XŽ0Ü;=`ßö„å¸ß/y³`(a²u2‰˜ÓÑœ]fëd"`!d÷Uârf¦åq aø©ñiº¯%„Ìœ9óæÍ›×¯_OJJZ³fÄÚ©S§:88ÔÇ~›×9GëÔZRRÒÇ !£G®fdãØ±cé¼|ñññ„ñþ1U©4œœ\÷îÝÇ·lÙ2??¿Þ½{ó«ºuëæããciiÉüVPP˜5kÖüAS*BtРAššš„yyyþ¡[Êäk[q/üPKéÎa UaE ?Uðí»µ ßüðK0Ùu…#„âòÙdǸ|V~ßÝu…ü,¾ Ç—&"Ì›G-|€ÕhÕªÕž={¾ù扮íÚµûá‡6lØ 1ø[Zš×9ghßOh™JKK‡ÚØùPB¡ðñãÇ„]]]ñþÅ•*((°±±)((1bÄÎ;¥R&4®Î+ !£%?BÖ'_y'eßu²álu›ÐÄÂBûóúû*Ê·±H$JNNNHH‰D;wÖ×ׯ×9Àš×9ÇÃ,òòò=zô¨aæ]»vBæÌ™#­2 q‰¸Jn™†üt–(+'Ëò”Ã7Èú3ü8 B牑؄Ûd߈.N ôèÑ£Á¾¸š×9G¸-EVVÖ½{÷®_¿N;)›››×ÇDÐ(„"úšIB8þ]•oï©å8²ܗ—‘Ï‘¿ÂȺ3DĽ Fü¾[¾á›)M¹ïNci^çá´—.]Z¿~=]nݺõêÕ«·> Eå "±©ìÄS¸wÒô'?žzw:_ñW<‰§ðŸšAãNCk^çáN‹Æ0Œœœ\III}ŒQljTTTÚ´iÓ¶mÛ^½z-^¼¸k×®]#‘èÍ+(ß½GÒ†ˆµ@ˆ¥Pü»+ ! ÷¶‰‚pü˜!¢®$¬§¿åõl†ßÆÍëœ#ÜiÑäää”””²³³utt».õnâĉ'NlìZ@½`9ÂÂ?áo’3Õ1’-’ÞÞ¼ÅÆU‹Xò‰Va½´lŽßÆÍëœ#ÜiÑŠŠÊ‹/šÑ/@Eïôj•¸»Vú&J®ÂƒFlA¼†Y2¨k‘@P#4›ã·qó:ç˜w§¥kÕªUQQQJJJcW îDtÊú{÷ŸèÍÿâÿ¸ ›ÐÜ;%° ‰°ŒLèþ¿¦Ù}7¯sŽÖ–NUUU]]ýÉ“'Ç¡; 4S´¥á=M*›ß…{w-'¶Ì0DÄVHvÚ?ÖëPÉË¥«Ù}7¯sŽp§¥“““kÛ¶-R/++K[[»]»v***]/€Z(ïûÁ•¿U[r8´x¦7øû+y³-O$"œˆp""b‰ÇĤq¦Ê 0Cz³û6n^çáEEÅöíÛ+))½zõêÞ½{¯_¿fY–ã8#/ Iª8`çuѤÚRåPg ¥ÒO4óêæO0)íõ±jƒÍ«Þ”¿›û9ÇK$€BD"QYYYé"‘¨)üv4<:&\AAAQQQQQQAA¡&¯ü“––ùmÜçá¼Å²¬ø_"‘è½›4¼ú›‡–Ì0 ½7Ö[~›à·qs?çx˜o5âï6ððm,uˆ2áÈ8„; ãC¸2áÈ8„; ãC¸2áÈ8„; ãC¸2áÈ8„; ãC¸2áÈ8„; ãC¸2áÈ8„; ãC¸2áÈ8„; ãC¸2áÈ8„; ãC¸2N¾&™bbbê» ÎØØXZEág2¬†wL&++ë½™455?¸>P ÙÙÙÒ* ?;a5¼câaȸµî4_h݇pdÂqw@Æ!܇pdÂqw@Æ!܇pdÂqw@Æ!܇pdÂqw@Æ!܇pdÂqw@Æ!܇pdÂqw@Æ!Ü'ߨ€zZ1‘㸆¯ @1 S1ÑÊʪ&Û"Üi¬­­» RvåÊ•æD¸ÓRhhh4v¤&77·æ™ÑwdÂqw@Æ!܇pdÂqw@Æ!Ü×R¦\±bEIIIMr~öÙgC† ©ïú@ƒi)áαcÇŠ‹‹k’ÓÐа>“'OÆÅÅéèèÌ;Wê…×ANNÎ;wºwïÞ¥K—zÝÑÁƒ¯]»öûï¿·nݺ^wTß 7lØÐ¿ÿ©S§Öjü¼¼»w磌«ÊË·”ß8€&¥¥<̲¶¶*ÆÒÒ’¦wêÔiè»tuu룧OŸÞ¾}»——W}^+qqqýúõk׮ݰaúvíª§§U»Û°aÃÁƒ¯^½ZÃü?¾zõj cÓŠÖ¯_Ï0̬Y³ê¶y5 ¶mÛTóMâããûöíÛºuë!C†˜ššª««/Z´¨´´T*õùÀõ^Ç ‚V\µnÝ:†a.^¼H?nÞ¼™a˜€€>ƒ‚‚S–––´êVßDz§¥ü­éíí-þ±   k×®„)S¦¬[·®qêÔâââlll²³³gÏž=xðàØØØÝ»w<8,,¬_¿~õ±Ç½{÷ÞºukÔ¨Q5Ì¿sçNWWט˜##£Úî‹ã8úƒ>yòä®]»ZµjUÛ¤èþýû (((ptt8p`nnî‘#G<==?~,ÔÙ‡œ¨â8N$ý¿½;«)ÿÿþ>÷¶I m MdMö­&ƒD#c"†ñ›ëØÍ0ÌdÆØedŒ»±$["Û0v•(*bŠd)…EuÏ=¿?>u·ºÝ´Í÷z=¾ç{îç|sî™Îû~¶Sdº¸,ü’­×ªUËÃÃCú®5j”WÁ*áØ@˼/áλÉÌÌLLLT*•õë×ÿ_o‹aüüüRSSW®\9mÚ4–Ò¯_¿¾}ûÎ;÷È‘#ñ‰½{÷îÝ»wEì¹°‹/ÆÇÇðÁwîÜÙ¿ÿÈ‘#+çs‹´wïÞ—/_.[¶læÌ™,eúôé;w>räH\\\“&Mª°l•ÀÆÆfÓ¦MU] €|ïKcVi…‡‡<ØÆÆ¦gÏžÎÎÎM›6uss»|ù²˜!55ÕÎήQ£FíÛ·ÏÈȾ÷Â… 5jԨь3ˆÈÑÑÑÒÒ’7oÞ´´´´´´ìÞ½»˜?33óòåË<ÏWÂq9sF__üøñbJŸ>}ìíí=úðáÃÂùïÞ½Û¢E‹M›6íØ±£U«VÆÆÆ~øáš5kT²=xð`úô鬽¦oß¾«V­ëÏž=»eË–â)š>}º££cll¬‡‡‡©©©¥¥åðáÓ““‰(==½eË–ì9pàÀ-Z\ºt©TG·mÛ6¶Ô××gë¥:V¶ÇöÙgæææÖÖÖcÇŽ½uë–úOüøãMLLZ·n=cÆŒ””qÓÍ›7‰¨uëÖbŠÁæÍ›7mÚ$—ˉÈÉÉ©cÇŽ …B¥S§NS¶oßÞ­[7##£¶mÛΙ3çîÝ»%ž(5EbxóæÍ~ýú7mÚtëÖ­ …bÞ¼y5222êÙ³giÏù»QsÁP_$ð~B¸S„[·nyzzž={VšêååÅîaDdff6mÚ´—/_Þ¿þüùb¶œœœ3f¼|ùROOoöìÙD”——' exžçy^ìÀñäÉ“–-[º»»0 ÂŒèùóçúúúzzzÒDVqW8ÿ«W¯bbbV¯^=räHAºtéråÊ•)S¦øúúŠy^¼xáêêºjÕªìììž={†„„LŸ>}Ö¬Ylkbbbttt^^{™Ñ¿ÿèèèŽ;¦§§ïÚµkذaD¤££coooffFDMš4iÑ¢…‘‘‘æ‡öúõë½{÷¶mÛ¶S§Nnnn§OŸ~ôèQ©$!!!22²oß¾:tÐÕÕýã?úõë—ššZä'nذaÔ¨Q—/_þðÃe2ÙÊ•+=<>þ‹/¾øøã—-[Ö¬Y3 ‹óçÏ«9Þò¢þ‚¡Š¼HཅpGUrrò°aÃ222ôôô~þùçsçÎ?þçŸÖÓÓËÊÊ6lØãÇYÎñãdzJš­[·^¹r…%®X±">>žˆ|}}YßÌààà°°°ž={QÓ¦MÃÂÂÂÂÂ<ÈòŸ:u*++‹ˆÂÂÂÄ=WœnݺeddH#¹G…‡‡Ñýû÷‹{WddäòåË£¢¢Nœ8S«V­Ù³g³Ã$¢éӧߺuköìÙwîÜ9räHbbb³fÍ|}}ÿþûï"÷¦T*Û¶mœ””daaqæÌ™T¯^Ýßßÿã?&¢+VøûûK«FJtøðá´´4vSôòòR*•ýõW©„ˆxžùòeBBÂÑ£Gÿý÷ß©S§&$$ˆ­QRñññ'NlÖ¬YLLÌÁƒ#""¦L™réÒ¥U«V± ƒ ²°° qppèÖ­ÛâÅ‹U*ŠX[[@@€˜²oß>CCÃÁƒ³—[·n500ˆˆˆX¿~ýÉ“'ùå—úõë_¿~½¸Ub‘ØÉwvvŽŒŒ¼xñ↠A8~üø‰'Ž;ïáá‘‘‘!^ÌeñòåËз‰õLš\0t‘À{ áŽ*Ÿ‡êèèlÙ²eâĉöööÍ›7Ÿ8qâo¿ýÆq\RRÒ–-[XNŽãÖ®][£F A¦OŸž››{ûöíÕ«WѧŸ~Êþ"‘•••±±1U«VÍÆÆÆÆÆ¦^½zlkïÞ½ÙÏÓŽ;ЉgèС¬x»víŠ?r䈋‹ ûõÏ¢®"µjÕŠ5̑͜9sxž e).\°°°X¸p!{ill¼|ùr"ºxñbq;œ5k–L&#¢š5köíÛ—ˆîÝ»WÆCÛ¾};ÇqìÝÝÝŒŒ ƒS ÌòåËk×®ÍÖ}||LLL¤˜¢Ë—/+ŠÙ³g›››³6(,$$„½422ŠŒŒœ4i’™™Ù¥K—~øá{{ûÎ;‹•=ݺukܸñÁƒYåß½{÷ÂÃÃ=<<ÄêŠÚµk¿~ýúСC,ìY³ÂÂÂ\\\Š;%‰ùæ›oØÊðáɨuëÖbÓê Aƒ¨<¾ "ºsçN§·ùûû³M^0q‘À{ ᎪëׯQÏž=U 8ÐÞÞžˆnܸ!&Ö¯_É’%Dt÷îÝå˗Ϙ1#//¯^½zK—.ÕðãêÔ©uìØ±r­S¢¡C‡.[¶ìùóçÇoҤɀ^½z5eÊ"²µµ-î]íÛ·—¾tpp "vÛNKK‹oÕªë´mÛ–ˆX¥Q‘Ø™dÚ´iCDež’’Ü Aƒøøø3gÎ\¹rÅÞÞ>**Š}›šH‘ytuu[¶ly÷îÝììl•OdG÷óÏ?;èÕ«— Ò½Õ©SgÍš5III!!!³fÍ211 qrrbݤ8Ž1bDJJ «lÛ·o1B|ûäÉ“«U«6jÔ(+++//¯ãÇ«? š‰ˆlllØŠ¡¡¡ÊøpÖH$íFóά¬¬V¿ÍÉɉJsÁ”ûEï3ŒÌzKnn.kq0119sæŒÊV6’622Rš8dÈàààdz_¨Ç­^½ÚÄÄDó522R¹ W¨™3g<øôéÓwïÞmÞ¼ù!C¾ÿþ{"úàƒŠ{‹¾¾~á—l–ꜜAT2ˆŠÄ~µ—£Ý»w+ЍT~lß¾Å4Ò’«¼T)gá>~„ âˆ__ßK—.}ýõ×ÁÁÁMš49}úôÕ«W=<}úÄÅÅ™˜˜Ù«]»v“&MZ»vm×®]øüùsÿäääqãÆ± S§N9r¤›››———££cffæ¡C‡®_¿®òP¶¡C‡NŸ>}ÿþýöööÒê ccãÄÄÄÝ»wß½{×ÕÕõÉ“'«V­ÒÑÑùôÓO‹;Q%©´f̘qôèÑ}ûö9::öîÝ»F—.]:qℱ±ñ¯¿þúnû¤ò¸`J¼HT Üy‹¾¾¾]tt´æs—:uŠÍh7wîÜ={öܹsgÆŒ:u255-œYœ~¦ªØÚÚ^¸pÁËË+ € ¶··ß¶m›úÉKÆŽ›½qãFžç-,,Æ'½Û5mÚ4((ÈÛÛ;888;;ÛÊÊꫯ¾Z³f ë{!]Š+Òš$•”.]ºŒ1bïÞ½¾¾¾½zõ*|'Ó××···ŽŽ»ÜîÚµKWWW¿-rvv®S§Î¡C‡ÄÚõÂìÝ»—ÍÇ#“É:wîüóÏ?³Nܬ„Ò’¯ZµJWW÷À¬¶¬iÓ¦6lpuue[‡^»ví±cÇîܹsçάäC† ùóÏ?¥ó™ššºººnÚ·oß„ ‚‚‚öíÛ'“ÉZ´hؼys5'J}‘ Ÿ|Žã¤]dT¾,6üûË/¿}ú4**Ê¢Y³fE>½[·n!!!÷îÝkРAá­<Ï'$$Ô©S‡µà¨(îD©/Ri)•ʨ¨¨ŒŒ GGÇjÕª•Ë>©ÌŒú‹´^zzúÙ³g»uë¦IfÔî¨úöÛoOž<ùôéÓ)S¦ªU«Öµk×üüüؓåãMfÍš•œœ,—ËW®\)—Ë;wîüÙgŸíرãðáÃûöí“Ö7Ô¯_ŸˆxžŸ9sæ—_~immÍfÙ‰e=$Ö®]{õêÕJÒ Aƒ"o®j¨ÿ­§§W.±Û•ÊÔÏRlÐÐ;ï¼Ä!¢ºuëj¾CõgÒ¢¸ÉrvìØqéÒ¥‘#G·¹\®¦´Å¨Ò~¹êÉd²Š˜Í¯ŒŒú‹@ ]•U5hÐ`×®]†††yyy .tvvnÓ¦Í_|Áb~ýúyyy±œâè­1cƈ£{~úé'6Œå»ï¾“Žåéß¿?«K8pà€»»»ØMAœkäÁƒOŸ>­¤ƒ„ÿVÅèííݸqãwîM šxOñoʸ_¦M›6{öìéܹ³˜"—Ëmmmýüü¶oßÎ*`233ÙS~êׯ/Ÿ!¢Zµj±ébÓÒÒ¤éíÛ·ß´i“¸O±eÀ€Í›7ç8î³Ï>«S§N¹i±'ù…ÿ-šÈš5kbbbŠl3ªëׯ?tèÐÕ«W­­­+çCÞOïiß ¥¥¥±J4nܸpµ9›M.—nXa›d2YáweeeåääI7½|ù²âžtXd߀ÿiè»SnjÖ¬©Ò­Xª¸ÉmÕoª^½záYnñTg€Šóž6fÀûáh9„; åC¸Záh9 D_¤§§WuªÂ÷ÂÙ³gURA¨’’¼›âP­Ñ{1«2h7ôÝ-‡p´ÂÐrw@Ë!Ü-‡p´ÂÐrw@Ë!Ü-‡p´ÂÐrw@Ë!Ü-‡p´ÂÐrw@Ë!Ü-‡p´ÂÐrw@Ë!Ü-‡p´œŽ&™nÞ¼YÑå©V­Z•×®ðÝ€ÓðŽÉ¥¦¦–˜ÉÔÔ´ÌåRxöìYyí ßh1 ï˜hÌ-§QíÀÿ.ÔC¸Záh9„;µ”Óp IDAT åC¸Záh9„; åC¸Záh9„; åC¸Záh9„; åC¸Záh9„; åC¸Záh9„; åC¸Záh9„; åC¸ZN§ª Pnxžßºu« ]»vmÞ¼¹úÌ999úúúåøéÛ·oÏÍÍuttlÛ¶m9îÊŽKMMÕ0«Obb¢J¢žž^›6m›5k&“Ue]QVV–µµ5-\¸püøñ…3ÄÇÇoܸñܹs‰‰‰YYY†††õë×ïÚµëèÑ£íììÊøéVVV9993fÌøþûï˸+(_¥¨Ý ŠŽŽ.nkƒ š4iR¥*gJ¥rþüù~~~‚ ˆ‰YYY±±±±±±›7oþ¿ÿû¿%K–èèhO]ˆJ}ƒ722êܹ³øòéÓ§ÿþûovvvbbbÿþýZ¶lY®%,+AFÈ^:88¸¸¸Ô®];==ýܹsW®\!¢-[¶>>;wî¼|ù²†ù%"þýû³…âNÈW_}¤««]¸AÇÑÑñáÇmÛ¶=~ü8K¹qã‹‹ÛaYlܸñÙ³gÒܽzõòôô\¼xñîÝ»+â+bÏ……„„$$$4iÒ$...((hÈ!•ó¹E:tèPVVÖ¼yó&MšÄR&L˜Ð§OŸ“'OÞ¿¿Q£FUX¶JаaÃÕ«WWu)ŠPnc©Ä W¯^‰‰ß~û­¯¯¯ëQFFƺuë¦L™"}¯R©=zô¯¿þ*Æ:DôôéÓÀÀÀ~ýú© û矾úê+1Ö!¢”””Y³f-Z´¨p©>ÌV¾üòK5…·‰‰yyy<ÏgggõÕW{÷îe±)ŠC‡¹ººªi¡èß¿?Ïó¯_¿VÙžÀó|ÿþýYÊܹs]\\ÚµkWªFÍ]¸pAOOO ãˆèÃ?´³³;uêÔãÇ çïÖ­Û_ýµwïÞ=zX[[8ð?þPÉöðáCooo'''kkkOOÏõë׋¿õçÏŸß½{÷ÌÌLöÒÛÛÛÅÅåßÿ9r¤­­m³fÍÆŽ›’’BDÝ»wß¹s'1¢[·n¡¡¡¥:º={öѺuëôôôØz©„•-))iܸqvvvmÛ¶>}ú;wÔâgŸ}fccÓ³gϹsçJ/ï[·n‘½½½˜¢¯¯¿víÚÕ«W³q‹îîî½{÷V(*…”èó÷÷wsskذ¡““Ó‚ âããKtèPiÄ µmÛ¶‰'^½zµ{÷îÇýöÛo#GŽß¾}ûÑÒ¥K£¢¢Ä·´jÕjøðá 6$"[[ÛëׯŸ?^Ü+¶*nÚ´é믿NJJòôô433[³fÍ€ÒÒÒÔœ(õEb'äÈ‘III-Z´HHH˜úhÏž=,6’L…ËsöìÙôôté&VáÔ£G±ËÑ AƒˆH.—0@M!ßY§N233/]º$¦K–,Ù³gÏúõë Äœººº¬þ#&&Fì;yãÆ "b-ÒRuîܹðÀžçYëØ|Pâq±!$ …B%:!¢É“'s'¾´²²bCñïÝ»§f‡C‡%¢ÜÜ\i{Öµk×XÛÛÊÌŸ?ÿüùóׯ_ÿè£J,ç;`×_|±ÿþ„„„“'Ozxx°_ÿÙÙÙŽËÞÞ^<¥ÖÖÖÓ¦MãyþÚµk,åÊ•+fffbŒ‘‘Ñ‚ ˆ($$¤¸Nž<™5蘘˜¸¸¸Ú`KCþþþDZtuu­^½:붬ù0óçϯU«[Ÿ7o^5 \XX˜B¡˜:uª©©)K™9s&Çqb¬P½zõsçÎ=ÚÔÔ444tÑ¢E]»víÛ·¯XÙÓ©S'kkë£GòÅ/_¾T³CvcKHH8tè——Kd-YÕ«WW©È©ÐÁ&ƒ zôèѼyóÆŽËR¬¬¬ÆŽ»aÆÆ÷.•§a´jÕŠˆnÞ¼9hРôôô„„„=zH§)bó-EFF·Cé˜ä–-[úûû—qxö³gÏþþûo++«„„v·¶³³»víÚÍ›7YiK<"óèêê6oÞ<,,LÚ aGçãã#­;AÚteaa±dÉ’E‹EFF>|xëÖ­áááîîî/^¬W¯ÇqC† ñññ¹téR=Xó¥´—ý˜1c.^¼8qâÄyóæuïÞ}ذaì®_MŠDD¬Î•ˆªU«Æqœtø!‹“ Wj¾ƒºuëªtËëÚµ+i~Á”ûEÀ”:Ü144”ÞBBBxž744<{ö¬´AýúõëlE¼Ó&þEáàÁƒ~~~QQQÒ^œ*nݺÅ~òHû‡Š,,,|¨2 ¿¿¿4ÜѤœ*_¨žžžR©,|£ePãÆÅª"jÖ¬YáoS.—·k×®]»vß|ó‡‡GDDÄ¡C‡&L˜@Džžž>>>=zô 477—ŽØÿ裮_¿þûï¿?~üàÁƒhÛ¶í‘#GŠ»ä4/’TqÁ Çqººº…+8‰ˆU”ªŸ‚ÁÜÜœõ¶Q¡ùSµ¢-Vêp§eË–ÒžS¦LÙ¹sgvvö®]»F-¦³¿§2™¬M›6ÅíªN:lå§Ÿ~Z·n[×ÓÓ³²²ªY³¦‰‰Éƒذé>‰¨pÕNqêÕ«÷àÁƒÜÜܸ¸853ž=zôˆu *ß¡àC‡õññaíY^^^ׯ_g5óÒ–¬J÷òåK{{û‘#G²žç>l``P¿~ýâÞ#}yûöm*èñmnn^§N•nÝ,CMäS¤={öÈd²ß~ûM L›6- `Þ¼ybE‚šEGGKGÎß¾}»~ýú&&&ldˆÝ!CŠœõ //oÞ¼yfffÒ–V##£aÆEDDˆ£7nܾ}û#GŽL™2åÚµkãÆS™ËÛÜÜÜÛÛÛÛÛ;!!á»ï¾;uêÔáÇŎí*Ôé´iÓæêÕ«Ïž=“ÆOD&“ÉÞíûý\0ð>+ëo©Ù³g³››á†aQŽŽŽÎáÇOãÛo¿%¢„„ëÔ«Wïðáɉ‰aaa'Ož Pù Þ¼ysvc`Ã}U™(ö†9{ö¬š£·–oïkkk6ëÁÀ–VVVݺu+ÇO)ëgíãã#Myüø±§§§šÀ1,,Lìu”žž¾fÍ*øZ‰ÈÁÁ!11‘¼#"žçÙP;‡w(!«ŠP?ü;***((HìÅuçΈˆˆnݺ ;w® Ò‰‚^¾|9fÌÖ©…ˆ¬­­Yd, +|¢Ôé°æ§o¿ýVZϺqãÆ7n´lÙR}—5Ê~Áhr‘§¬Ó Ö«WoìØ±kÖ¬yöìÙŠ+Äñ,ìn‘››®þî.Žš0aB—.]¤›Ø­DÕªUkÒ¤É;wŠE¢’™0`kµ™?~—.]¤m¢;wîˆ=(Ë}lÔСC¯\¹rîܹ´´4Ö’åééYÉ5öãÆÛ¾}û¯¿þúï¿ÿvêÔ)22Òßß¿Q£FìÌÇÀÀ`ìØ±ýúõ³°°8qâDBBÂ_|!VŠÌŸ??44tÖ¬Yÿýw£FΟ?áææ¦2©®†\\\|}}üñÇk×®}ùå—bGQnnîÇœ‘‘±}ûö~ýúë’üÉ'Ÿ¨äüä“OvìØ±gÏ1rU Ì­[·z÷îíìì|ÿþý'NÔ¨Q£ÈÇ¡´nÝzôèÑþù§«««››Û‹/<˜’’¢BDãÆ›0a‚——× AƒÚ´ióòåËààà›7o6kÖLú¤9ooï   ;;;iõ†‘‘ÑãÇ8ïââ’œœüûï¿ëè舳>Q%©´¾þúkVŸÔ«W/'''ccã°°°3gÎ-^¼øÝöIåqÁ”x‘¨Q÷ÝiÓ¦±Q-6l‡Qˆ?޽½½Å¾ÉŒ¿¿—.]ºtéÂ~׬Y“¥«d -üÐ%¯„‡‡¯]»V%³t2QÓ¦MÙ(åׯ_5êùóç*222FŽÉ:÷íÛ÷Ý*'Ô8p AnnîâÅ‹‹kÉzõêÕîݻϜ9S.ÝE kܸñÑ£G4høÃ?øûûÛÙÙmܸQýä%£Fòôô~üø>}úŸ9sæ÷߇VIŸ–@DÏž=ëÚµ+›ÿÃÚÚzÊ”)ÎÎÎuëÖMJJ:þüêÕ«ãâ∨F.\>~ë›o¾ÙºukݺuoÞ¼©r¼ß~ûí–-[¤›¬¬¬rrrf̘!—;vìþýûÙz»ví¤OUdFÍÚ¹V¯^=|øp;wñèÑ£û÷ï›››7mÚTM Stt´““Ó¤I“æÍ›—“““””Ô°aÃâîd¹¹¹Ïž=«[·nÙ‹—›››““SÜS–AP(¥zZ™&2jÔ¨#GŽ$&&V«V-99YOOO‘®Þ£GjÔ¨Q\iSSSÙÌ1¶¶¶Eö‘wss ¿víZ‘ÝÅxžøð¡……EµjÕ o-îD©/Ri)•Ê[·neff¶mÛV:CD•ñ‚Q‘§|ž™5zôè?þøãáÇ?~¼££#ýðÃ<Ø¿ÿ•+WTZšLLL–/_În]ÆÆÆcÆŒùí·ß^¼x!íã)—Ë tàÀé›4iòûï¿>œçy???iÎèÑ£wïÞ]xp¸©©é‘#G¼¼¼îß¿ŸðÍ7ß.ýúõwîÜ©æQ£e1tèP1Ü)²“òÕ«WÅ• w¬¬¬JÛ[___}«žž^¹Ä:lW*ƒw¤Ø ¡wÞy‰BD–––šïPý™433+n²œÄÄĽ{÷†††2¤¸Èår5¥-îD•oG{™LV³ù•ñ‚Q‘§Y¬›p‘µúúú³gÏ&"AħCp·víÚI“&‰ÍUDT³fÍ^¼xÑÉÉIL\°`Á‚ ¤¬ííí÷ìÙæä—ÉdÒ_ä}ôÑï¿ÿ.>ª‚ˆLMMùå—E‹±ªŒs!¢¦M›ž8qbÚ´i*ƒMXy&MštêÔ©ÂãØ‹Û›x¤›ÔdvvvfÕÕÕ•Îõ"š]ÅK]9åñÿ‰’¼Û’Ï‚¥êÙfÙx[î”L)°Ú†ƒé qù .’ût¥.ëÖ¤Þö²–VdfÄèRN={I1O„1ʇϋÈ?Ø‘33➤ Bá­=l9ûzÇÑ“4!0R¨ü#R©òÇþ‹4ïŽp d¼’xå›!XDDBÁKáMÊ[+•¸äˆ†w’¹·ykša]²ªEVµ¸Þöò“1Âæ‹J¥ðÖ»:4â¬M¹;Ét𺠲ÏN¹ Î2Ž£¬š)ä‡z•~\oÚóû)kÃb‡) @K€p dù}w¸7÷Zæ­¨ŠpD3úȺ4É/È¿O…ˆDÊ|-T×çZYQóºõ¶çÌe‹¼JOb\!¨Æ öõ¸É.2Ž£-:¢¼—ªq-JÅxÓœÞý&¨NFX,„;%SÇ bƒØ†Å¼¨` VåëmϱXGÈ÷„p)îM-Ó."‡†ô½§#£¶ ¸þmd¯KãV9Åñ’¸¡‘)Íî'Ó•¯¤¥Ç„[IT%d –˜ÆåW©¼ä•šVï Ü(gƒøIDAT«Ýa³ìЛøæM ÃnÌš*/†z4ªkþÄ3[/)ÏÝQ-@Ø=á÷³ÜÄeD4¬w*F™–¿‰5Ç ‚ (èôkaLsÈ õXä¤ »W•õ:l¼9 + âiwfA‰Ú€r¤8^I¬“²¤‹¬´‚c ­ä)j­©ºѹ;‚ÿÕ¢ó¹!41\[rz:Ô¹1wôfA݉äèA¨Qûy ¬vu""¿3ÂÙØ*z‡‹ËoÅ*èÂ\Ð]YÈß®áׇp d¼RP(9"#N üz=”ãH™_S’?2‹ ݪ”eצù·üÀHA)›óP¤àÚ’#¢®M¸ÀHËÛò³JÁ@‡ûÉ]V¿Ñ–KÂáBeEá%±n â9 ¢ØWÀ+5­|B¸P²‚iÕT'TMdžµó?÷îSRß•å^ )xÒ‘SÃÚÿö“MYlñ½×¼.Q@¸°ãJ÷M~Wh%jwÊ/ D—ôÝ!é¸Ð ­ÊQˈ()2^©ËÆ+)á951§š†¤T’J83í#®ScŽˆR2iÝ?•ßIéXt•Ó®Dí@9N¡$ŽãòŸUYÄ ª Fqdl@Dtï™ ¦j‡¹—*41çä22УÌ×Dõ:-êQ‹zùqš¹1yuà¶ÿjw¸‚Ùß„8œjWqµ;åˆë™YÅE•ýDtž(GAú:TÛ+±#KmÃü•¬œ"&è Oš×å õhtîÆ#º–På 9Ÿœ$åÍŠæµ;%?3x%)”Ä œBIâ?^àXJÁŠ ¾¬´åó,""s¨„œM-8"Ê|M¯òòSÄ`!Ç…VVœ]rhH?äVž¬Â”F?EÓ¼vY%S¾i·[²ˆd쥤µ¥²}NÄäS{qXÇÚ”›Õ7?Ûɘ7­rbG$1%;›±WÈÊ%"Õ…œìª¬1Kzª%­‡ùÿغæ#áW¯x%)xR ›dYÁ žX"[á•‚R¨Ôe\ŠtƒˆH_—V¥ÕTóT×§_½¨º>Ñ™XŠ|øf«øÔqiþ{©ôS`~¥ÎœUÍÊ>¢‚å[ÿØ9gç™}¼’Cí@yR b@ÃâWr¼À‰¡OA:ñJ®’—‹ŽæwX¶ªI{ÆrŸ¶£º&œŒ£:58¶´g ×È”ˆ(ó5Í |«„’'¢¿µÏÀÚFDdl@«†rºòÊ>"vnyeÁ¹eµ>Jâß 4ôÝ(OJã•ùÏrâØC ”ù¯ÌlDÕ=rái&ym ?GQÃÚÔ ÍX¸ç/=N£1ÛèaÚ[ïgR(U÷9?ˆÚÔ§æu©YšÛŸfï¯ü‡HHº*ÌÍW°…+Õ#BQ»P2^)äˆfH”Ä ùm@<«)H¬’åÝèGëþɯæ‘JEΓ»Å$ñ^*˜RH%=;—¾ÞIY9DDŸ:RŸ•~\JN²$^)ˆ'YI\Aó–¦_—ššZ~€ÊÍÍm¹¸®¡¡ ™ì—¨`Vbéz•Ó×!»:T¿™Ñó,zø‚n'Ñ뼪.VÙŒóWMÌÊ¢¨ïŸèé镸4f”L2ïÎ[8Žå(âÉÎ¥ëèúƒª.Gy#KAYD:á‰èåK)R(˜ó®àvËQAMðŸˆu´‰ZJcü@§àäã‰èåIìéB$ypÖe®A-¥ržIõTkb"Ü(ÇqÆzy9J]’ÔîpÿÖ+-öæ¡BÁ9gil³@Æú ö€ô!Ü(\.ÿÀ4ûzЉLNDoê*ûèï«7‘¥Ø†H¤äé‹,¹\®Éî”@&“u³ÉK2Ñ‘Îß’_óP¨µ…ò<–ThEZr¤à©k£l™¬äaY„p@îmøåç‰8’©ÌXǞà He)`YNKÊoºâ¤)D‘À“"ÜÛð¤„;%kRGoÍÇ÷&ÚÈäÄš´T&ƒA«VE`'Y¬s)yâ´Öã~“:†îá@Éäry=^79°‰LIœŒ¸‚jiÜófª,˼$±Ë)•$(IP’’§5Çõok aǬÊR*•999±³ßнœPãÎóé9ºU]¨÷ˆ‰~]fº·Îµ«o¨¯¯/SmY,ÂM)•ʼ¼¼ÜÜÜÜÜܼ¼<žç F¯ÇÉår]]]======]]]ÍcBc€æd2™¾¾¾ŽŽŽ¾¾¾ ,Ö‘F<ˆ~Ê‹tB¶Îq z4oÃ!Ü(w»ãB*EEÀÿ"„; åC¸Záh9„; åC¸Záh9„; åC¸Zîÿ¡*†‹øIEND®B`‚traitsui-7.2.1/docs/source/traitsui_user_manual/images/Dynamic_EnumEditor_demo.png0000644000076500000240000014521714046644454031206 0ustar aayresstaff00000000000000‰PNG  IHDRR¶ú í pHYs  šœ IDATxœìwXW÷ÇÏì.,°€€Ò¬A± F#¨±Dš×†‰FcŒ?5`Á£/ö{ÔXÐWQ¨ÑE#•QˆŠR#UЏt¦üþ¸0ŽÛØEšr>ÏîÌ;çÎ.³ß9çžs©¬¬,PÃ0¥¥¥4Ms§¡‚ RˆD"±X¬¯¯/‹kátxÏGw-ïu;8Ž+...++‰D"‘¨,DA*ã8š¦ËÊÊ$‰¡¡!EQ5w"¼ç#È»‹–÷ J¥·ã¸ÂÂB–eE"EQ5w£AA4ÃqÇq,ËR%“Éj↌÷|yÐæ^¡ú‘®¨¨ˆüý“[@ Û‰ ‚¨…¢(r7æ8®¨¨¨&N÷|yÐæ^¡BöÑ4MÓ4úùAêäžLîÏÕÛ3Þóä}Bó½BÅyii):ùAêäÎ\ZZZ½Ýâ=AÞ34Ü+TÈ>~zG͆ ‚h ¹•3 S½Ýâ=AÞ34Ü+T˾š7 AÑŠ¢ª½´ ÞóäýCݽgr ‚ ‚4Pö!‚ ‚4Pö!‚ ‚4Pö!‚ ‚4Pö!‚ ‚4Pö!‚ ‚4Pö!‚ ‚4Pö!‚ ‚4Pö!‚ ‚4Pö!‚ ‚4Pö!‚ ‚4Pö!‚ ‚4Pö!‚ ‚4Pö!‚ ‚4Pö!‚ ‚4Pö!‚ ‚4Pö!‚ ‚4Pö!‚ ‚4Pö!‚ ‚4Pö!‚ ‚4Pö!‚ ‚4Pö!‚ ‚4Pö!‚ ‚4Pö!‚ ‚4$um@³Ôà ñóy/IÉÝKÕëfG×µ!uI†\|-Á ò¹AR®ž¼D¤ý¤GÀDÊ:˜—u·/vkUlmÂÔ •Ò@ÙW—<ÏCo+‚¼·<Ê48qÏ$C.®3¤ÁÞ¾ºkµ H-@ÓÕi¥( D"UY±–Ü"QV¡ÈRÖà~× bÒ Œôá-m)} Ĥ\K(™Ð¥ zŒC ʾúH‹¢ëum‚¼?IÀÁÛj 8}Q™‰¤ÈPÂZ™2¦†šQÏ_6DÙùÜ@*ÑùzsoºF‰ª¦¤ˆ|nPÙWZZª¯¯¯¡Á¹sçhšnß¾}»ví4wÅ0Ì™3gRRRÆŽkoo¯“ñññ111"‘häÈ‘•>*Ô2………þùgJJJii©‹‹K·nÝ4·›ëP)>|üø±T*6lXõö\khÿª+PöÕS>ù䓺6AÞ.ŸÌ10n\½}2¬~)£//¸glûÆ9Í«õü½(hˆsi’rõt ìrDz,˲@Q”X,æ8®Ü±JAR®¶E /\¸šššš——gnnîäääääÔ§OŸ–-[*4Þ±cGiié_|QéôÍ›7wíÚ)))7nÔihûöí€áÇ‹Åõ(Zçëë›MÞ–””T*ûÞæ:TÊõë×O:%“ÉÞ]Ù§ý7ª®@ÙWiÔ¨Q]›€ ïW\îE¢€ã€à}JTÅ ÞÀ×Ò¶¤(J舢D"R •€T_”ð²1@v‹&ª΋Êê—w§v—ˆtÊáà8Žã8 E/&êï¤wàFÉ©HJ$*WÌ" ^k¥žïß¿¿lÙ2¹\ÎoÉÍÍ ?r䈷·÷СCuÇkxcÞ'¶lÙB4Ÿ©©©‹‹Kûöí+=ä»W¯^MLL´´´5jT]ÛR/@Ù‡ È{ËQ,Q|€@óEqÜ‘E–ã„ß®|äû $`eJÅd563Ênd¤Bù7È.:I]¢ùhšÝÙͦö•žˆ(* m:¼}ûö²eËÈTN ‹ÚØØ¤§§ÇÆÆFGG—••­[·îÉ“'sçÎÕm0àêêêéé™––6f̘*^)..~ôètíÚuãÆZº!ß¹ëpýúõ°°°6mÚ ì# ìC¤¶!N5®¶r\YŽcIþqæUœ—*÷éQü ^½Š- N>uèSÖÆ!72R±·afòj¹Â,Ë63g¾u+÷^¼WȲºy•òóóׯ_O4Ÿ»»»¯¯¯pV_XX˜¿¿AAAPPÐG}Ô½{w]í‹ÅcÇŽÕõ¨úLzz:¹øýúõÓ>ôüþ]‡†Ê>AÞs8Žb9 €>ÖKò;ÈÛ׺Œß"|ËG€y(Š2íŒ#~?ŽÓ—@A©Ǖַ ûïÇq,ãé&65@RféŽßä Òm–ËñãÇsrrÀÑÑqÑ¢E ™}ûö577Ÿ={6«“} Ã$''ÚØØèôQ²,›“““••ecccff¦“åê,ÉÎÎÎÎÎ633³²²ÒF–=þœ¦i{{{‰D«_v†)/‚mee¥¹%MÓOŸ>‹ÅÊ“#•)((ÈÈÈ`ÆÖÖÖØØXCË’’’´´4š¦›5k&•Jµ±Y¥mÉÉÉb±ØÖÖ¶Êho3ÇqÙÙÙYYYVVVU;]Ý‚²A÷†öµ€ƒŠD¡$z«È-oÈÿ/ôØQp,GQBQ1dÊõY¶¸^MدÿðáÝ¡÷å?·kƒ²r‹ôLLtóö…††€ŸŸŸÊŸggç=zDDDüùçŸYYYMš4î}öìÙÎ;cbb ÀÐÐÐÃÃÃÃÃÿ@KJJȼ@//¯Ñ£Gó2 LD'X[[wîÜÙÓÓSóülŽã6lØpéÒ%5jÔœ9sø>üË/¿¼|ù’l‘ÉdŸ~úéŒ3„znÛ¶m!!!íÛ·ß°aÃæÍ›###‰"‘¨_¿~sçÎ577WwêÓ§OïÚµ‹dÏÀÒ¥KI<ßù’%KvìØqïÞ½¢¢"++«S§N©»ððáÃDFFò[:tè0cÆŒÎ;+ —ËwïÞ}ùòeâ¥(ªwïÞ³fÍÒp¹”‰ŒŒüé§ŸâããËÊÊKywïÞ}Ú´i:t o=<<ÒÓÓÉ0ãââÜÝÝ yóæ?ÿüslÎÏÏ?qâDHHH~~>ÙbaaѱcGSSSͦÆÅÅÍŸ?_.—Ëd²={öØÙÙé4Òêe‚ ï9, [.見ù|;9>’[á½ã=yœê`4iüZ)–^Äh*‚¨ƒeÙÆFŒçÀòðnм«¸F %‰öþ¶øøøôôtèܹs³fÍÔ5[²dIFF(üNggg/X°€ì"8p 55uÑ¢Ed I4¥2[·n=wîœpKFFÆåË—cbbÖ®]ëèè¨Ò¢ù~ýõW4hqC6mÚD¶óœ:u*''gÙ²eüFš¦Y–-))Y¹rå;wøí,Ë^¿~ýÉ“'‡ÖÓSþÌgL ·‡F:ñâ…OZZš‚å*¯ÃÓ§O,XPPðF‘øúúnß¾½M›6üF†aV¬Xq÷î]aŸááá>ìÚµ«Jƒ•*Wþo0222::ÚßߟxsËÊÊ„Ã$¯y¨“Í,Ë®\¹òï¿ÿ¶ÌÉÉùã?6mÚdmm­ÎÔ¸¸8ooo¢ùÖ¯__·šPö!òÞÃr|it Ê5¼ööU¨¸ŠL êõÆ×[„poÄáZ›­øÎ¡îÊpãé.¶2@jNÙÆ r##™¾¾¾N£ÉÉÉä…æ(¤™™™ÊìÅ‹Åbñ´iÓºvíÚ¸q㨨¨Ý»wççç_ºtiÔ¨Q*q=z”h>GGÇ‘#GvéÒ%111,,ìúõëiii«V­:–„£æµÝ'Ÿ|âëëËöèÑ£d{·nÝ>ÿüó6mÚÄÇÇFEE]¹rÅÎÎnêԩ®âââÀÝÝ}È!-Z´HJJÚ½{wRRRjjêÙ³gǯÒìáÇ÷éÓçéÓ§DGΛ7ïÃ?!ÑÁ:t8p`«V­4¨ðìììE‹èééMŸ>ýÃ?¤(*""bÿþýEEE¾¾¾{öì±´´$wíÚE4_«V­>ûì³:$''_¹r%<<üÚµkêN!¤¤¤dÿþý,ËÚÛÛÏŸ?ßÙÙ9++ëÖ­[Û·o/++Û±c¹ì;wî,++Û´iÓÝ»w›5kæïï|ô_'›>L4_ïÞ½GÝ¢E‹Ç‡††^¿~ýùóç§NòòòRij||¼\.766Þ¸qã| Ík”}ïÅÅÅìß¿¿´´´gÏž...š»¢izûöíñññß}÷ðYGîß¿óæM‘H4sæÌ÷o†Ó½{÷vîÜùá‡Θ1£z{ffïÞ½Ç}üñÇÎÎÎ:KÓ4©pV½&U™úù ²{#©ƒ«ï–ûù*´U‘ÑÁ»úÊ;)/õBWà¥øÞȱ J>5H.˲2}¶¨Œâ@DQñÐ0 óQKzH§òðîÆsYY…z¦¦ºV áã¡ÚL>S†¢¨+Vôë×¼mÚ´©‘‘ѪU«8Ž‹ŠŠR'ûrrr87nlܸ18::0ÀÏÏ/444))éþýû áB¢ùΟ?ƒ^´h?Øœœœƒ@×®]ýýý‰@±²²êÖ­Ûwß}÷èÑ££GNš4IaÚ¢»»ûòåËÉ×ÕÚÚÚÑÑqÒ¤Ieee÷îÝS'ûŒŒŒŒŒŒŠ‹‹É[KKKu.¨¾}û®X±¢ÒÉ‚‡ÎÌ̉D~~~½{÷&­­­W­Z•2}útHII9sæ 4iÒdãÆDh¶jÕªÿþ¾¾¾šOD¸{÷nII Ì™3§K—.`cc3zôhš¦ÃÃà°°ÐÈȈÌY”Éd``` 0Fím€W¯^õèÑÃÔÔtÁ‚d µµµ««ktttNNÎýû÷UÚ™àííýêÕ+ccãM›6Õ“J~(ûÞUärùNœ8‘˜˜H¦—öìÙ³gÏž#GŽìر£Bã9sæ/]º´RÙìãã ¿ýö›N&]ºtÉ××¾ùæ-ç×~~~III¸¹¹}ùå—•öóÅ_'Nœ(|IJ²²êرãÝ»wSRR´¾jùú믵ùC&—¢{÷î ÷Æþýû9r$11‘x%¡Â= ÞÞÞBç¢H$úþûï?ÿüs¢ç4÷¹ÿ~=øícÇŽÕ>ËX{›@eщD2pàÀS§N%$$°,«ðY'&&ÖC͵ û¶nݪáÏlmmçÏŸ_Óf¼güñÇcÆŒág@ffæ¹sçÎ;·zõêÝ»w+´ç+ÅY)gÏžU÷(F‹ÅÚȾzre §OŸ~âÄ áFRvçÎëÖ­#ªçÅ‹›7o€©S§¶mÛ¶Vm­70 ǰÀ—e©¨ÏL‘¸îëZͯ¨Ø%¬í"ÈÔ|¡¸ŠRLƒ[€MX–ÐKª/¡z¶Ò[4”]|†fAÄqÜ7î"{ dæÑÎË õõõ«à½64,Ÿ˜››[ó„Peii™ššZTT¤î(^öuêÔIa—©©éW_}¥|ÈÖ­[Õi>xüø1y!—Ëÿúë/á.ÞŒ¸¸8¡µR©TÙÁI¼\$7åm011qpp¨´MÓ‰‰‰¤½‚Ùd#//O&“mÞ¼¹^Ý{k\ö]¼xñáÇ´nݺj²/;;{ÿþý0nܸª9ößQ~ýõ×Ñ£G—––€­­íĉ’““#""ÂÂÂJJJ¦M›ùã?V¡ó‘#GnÞ¼ùéÓ§êf*¼£÷ìÙSå.-lGݽ{·ò£amÂ0ÌÇL¦˜XZZŽ3ÆÙÙ¹¤¤$**êäÉ“4MÏŸ??;;{íÚµü!iiidFKïÞ½ëÕ­§6a9 Ùò™z*PÒvDØqÀ)ÿŒp èJ°â§¢-R˲GÃò¿v3÷öÒ¯3 ÷\§{:ÂzÈHƒm¿f?Ï“˜šVíùŠ/¥‘˜˜Ø«W/]W™ôZi5"P7n\i"'Ñ|àèè¨KKK__ß;väää$&&nÛ¶ ÌÌ̆ 6~üxm¸ÒÉfà8îÚµk'OžŒ‹‹SȆQ ‰5€‘‘‘M¥ík“ZŠÂÈd2u:²®4“™™¹sçNèÞ½{Ñ}yyyÓ§O'šoâĉÎê š:uj^^ÞÎ;G=`À]û—H$ß}÷]uZ\?èÔ©Ó•+WÞ¦‡Î;ïÙ³§ºì©§OŸ&š¯gÏžgÏžmÚ´)¿ËÓÓsÔ¨Q™™™{÷î]¹reuÝ÷ßhD,¿ð'¨ÓÌWo&1_þêu¢ð{•Ú”g”¿e´ø1hÈlû­ÀÎŒÒÕ¦ö3LË•ùЀ„wÃ埊(36iT…ð.¯ÆB\8µÑ[ÚˆŠ¢$IYYÙ¾}ûZ·n­0ë†Ï(×T¨;SீæRv\¹¯ŸM«íÝunnn®®®AAAW®\IHHà8îåË—Ç š5kÖˆ#ªÑfؽ{÷©S§Èk===KKKSSS™L–žž®.˜®¯¯_ZZúâÅ‹•+Wnذ¡þÌÀ®%Ùçä䤖BªÆÿû_’NïììüÓO?)drŒ=ÚÚÚšLðÚµk—:ÙÇ0ÌljG]×’¤iii©©©|ŠÓÛÀ0LJJJzzº¥¥e³fÍ´™DòäÉš¦Û´i£®6A5’ššúìÙ³víÚi¨€EÐi iiiÏŸ?·µµµ··×Éž[·n‘«W¯j>èÝ»·Ï¢E‹rrr.]º4räHí»ÕÞxŽãÒÒÒRRRš5kVßa5ÀrËUàãyÿ#ǧû R:ˆæÁúXÞ8½}ê‘H$E ·èD®­¹^gC=1µbL¹‡L^ÄøÉ•ȤRi•§RtìØ‘Dý>|HÓ´ºïp\\‰ÌöíÛ÷í‹*·k×.<<\èª__ß&Mš,X°€eÙU«VíÛ·ÏÖÖ–ßÛ¦M›Û·o‹ÅâmÛ¶U¹òpíÓªU+‘HIJì!C¦M›¦¹qëÖ­ïܹ“ŸŸ¯\Y'Õ.•J'L˜0a„üüüû÷„DDDmݺµG*ªèjsZZÑ|–––Ë–-svvæ5ÜáÇ:¤|HÛ¶mׯ_¿zõêÈÈÈ»wïîÙ³‡Là®Ô‹éJê(((ˆŽŽ& E¿ 4MÇÄÄðó0xòóócccÈ4 š¦ÉR¹ï úúú¤<¡æYÔ„Ö­[“]mæÛŒ7®sçÎB¿]tt´ÊCzôèaff¶bÅ òxøûï¿ë0¤š¤ɾììl‡7n\¸paäÈ‘ÎÎΟ~úi—.]>üðCa=ÌÀÀ@‡O>ù„¼6m9o³|ùr‡1cÆ<{ö쫯¾rvv6l˜p‚mTT”‡‡‡““Ó Aƒ† âììõHö±,K~–¼¼¼¢¢¢øß§ôôôY³fñabÒLx,ÿƒMÞ’¼´´´ &\½zU¡÷ãÇ'Mš&Üø÷ßO™2EYÁhߨÏÏoذa®®®ê懾=¼QÎbiiéâââââ¢>tèPjjªŸŸßÍ›7~úé'æøù矊+ðÃ?ìÝ»œüñǘ˜˜ãÇ“<ù§OŸN˜0AåQÇ}ûí·¤®Õ—_~yøðaþ¶¾fͲÝÝÝ=$$äÙ³g¿üò‹››¬X±B¡«¨¨¨‹/Ž?þâÅ‹III¿þú+Y~'!!aÇŽ,¯Ç700˜?~ppðµk׈÷T%Ú$!!a„ ÈD¢¹sçþþûï·oß^½zµ•••öÉ7C‡%×póæÍ}ûö=uê”Âw[È„ ââ∫vîÜ7jÔ(]_µjÕåË—`øðáä#8}ú4ù/^v*W$1Ц8s¥šº]»vcÆŒ!¯ýýýwîÜùôéS’wyãÆ OOO*‘J¥ÿùϪ2$%ÌÌÌÈ3snn.¹]<{öìÖ­[›6mºxñ"4mÚT]ͬ… ¿×µk׎?N6ZYYMš4 âââ-Z–““óðáãGúûû?{öŒ¦ií×±¨M¦L™baaÁqœ¿¿@@@\\\ffæ7.\ùìÙ3¾>޽½ýgŸ}™™™ ,8þ|rrò7¾ÿþ{~K¥´jÕ*66öÞ½{Ë–-{úô)˲ÅÅÅaaaäwÊÜÜ\X+‘D{Y–ݼyóýû÷ù§\ímîÚµ+ù~ž;w.33ó>祤 IDATéÓ§ÞÞÞ K•(Ó¦M›… @iié²eËøJCuH})¬%dÏž=æææ ,èÕ«ÇqAAA»wïffݺu£F2449rd¯^½žtè[ç;tss»páѦ͚5swwwwwˆˆX»víâÅ‹4ëĉȇآE ggç6mÚ”””üñÇÚd‚ggg«LéÉdÊ™¹2™ì×_U‘†+£Í@V®\IB´~~~¼{¯gÏžü±»»{¥÷‚‹‹ËÂ… IfîÍ›7oÞ¼)•J]]] ôé§Ÿ*T‘Éd­[·æŸ†íííùðŠ®Æçää 2¤qãÆû÷ï'•2Z´h1räȰ°°ôôô?þøC¥µ¾µ ÍrG)Öã3v cg~,€¹Ddžܯ¨ó@QÔˆNÜÜåfciàTߊ·,zû˜HY–‰ÞTÂb±X*•r÷Ûƒ‚sQ)E‰ÅbÍá]–iås!fÍšUZZzîܹÒÒÒÀÀÀÀÀ@…ööö«V­ªÆ¬ˆ‰'fdd'%%)x²-,,–-[¦n\R©ô‡~˜1cÆ«W¯öïßߺuk¤ž>}zZZZhhhtt´BÑØØØÛÛ»þ”ÃbmmíïïO Äîß¿ŸüÕóôéÓgðàÁü[///RÈúÉ“'ÂÀ…‰‰‰››Û/¿üRééÜÜÜ‚ƒƒ>|x÷îÝ©S§J$†aÈߣT*={¶ðVÓ·oßÿýïÇ‘¤];;»€€l–ÉdŸþy`` \.ß´ißF$¹»»Wêè0`ÀãÇO:•™™¹bÅŠÍ›7×mzG-}?~ÌW»V`ÆŒÂr‹`ddÀ+›E‹ååå=z4;;;>>¾cÇŽFFF¼»ÕÖÖV]m¡¡C‡îÚµKøw²uëÖ””‰D²wïÞ’íÚµ³³³›5kVFFÆÑ£G‰6×µñÈ‘#÷íÛ'‹‡ ¦ûÒ þ1¥j ¼tèÐ×|„±cÇNž<¹¤¤Dƒó™)ìÞ½[8ûvìØÑ¶m[•%IgÍšµoß>˜2eÊÁƒ… þþûoò÷¹víZ¡¶“Éd¾¾¾cÆŒ¡i:::Zá[±`Áá ´Y³f}ôÑÕ«Wʨãñãǃ RÞÞ¬Y3÷2lذJ5Ÿ®!‹¹¸¸,Y²DØIß¾}}||„Íü÷¿ÿíܹóêÕ«I]¤’’’k×®]»vmÉ’%...Ë—/×2™C'ãUºTõôô&Mš´iÓ¦èèhåR¥š¿µ ÍżÎVØ¢(¸zÜW®Ì ’³¿?,÷-}Òž›7°Üì#·¸€Ô+_´ãu‡ zû8˜—=Í•Š”.‰D"!1/}}}Š¢¤R©6Ù»,ŽæešÛ€X,öññéÔ©ÓÉ“'î fff®®®^^^|…?9µÊŸa²‹¿íð+‹(XëååeaaÌO½µ°°èر£——¯/Iÿ ÐÆÆfÅŠ$½ÃÏÏïØ±cfffE-^¼ØÊÊêüùó|PÒØØØÅÅeöìÙBÁJúTyéÈÆJ¯*?jå–:WwÚ¶m»nݺðjU$ÙÛÛOš4I¨ù@"‘¬Zµj×®]W®\áÕíÕ«×ÿýßÿ‘U:*µ\OOoÇŽÇŽ»páBff&yl–Éd|ð———‚hß¾ýªU«cbbàÍOA{›===­¬¬yçKË–-gÍš•››*ìSå7êÛo¿MHHˆŒŒ¼ÿþ¡C‡Ôɡڡ–dŸ\.W·äÃСC~àûôé£àÍ=zôÑ£G ))I'Gׂ žîÝ»GNÁË8Âðá÷oßþèÑ#aèV§ÆË—/7nœ©©©‚6ªFøUKeP.\GQT³fÍâããår¹º£xÙ÷ÑG)ìjܸñÊ•+•ñôô$ON*ïù€rnn. òð·¹»wï ¿†††ÊŸ;)ý£ÁrmPù,Þ·o_mŽÕ~ EEE¤UïÞ½•ÏØ·o_íeäµðððK—.]½z5""‚ÜõþþûïÏ>ûlÉ’%kÖ¬©Fã…» ^V@Jp‘eÝ>eÍßZ†¤bâ„_Æ…lÜwƒ“ˆà‹^EÁÒOE,Çýö€ÜZú)E„˱ÛÜž?@X°”*=£·OHwûâØR±¾âzÆ@tžT*%©Ú„wKhèn_¬¹Ï Aƒ ”œœœššš““cffÖ¶m[u•.]º¤®29G*•ª\1V,OžËþüóÏvvvƒffüøñÿý7))BèÖ­Û¯¿þ*‘Hþøã-ýjõíBÊ{2 £²Ø–"žã82¹ÓÄÄDùtb±xË–-‡bYV¹DåÛÿôéS¢ùìííúôéÃûiüüü”Ó® š¿µ Ã(ºâ¨7_”¿Ýô;Hõ¸±ÝËßFr~®º¦I¹ ·O޶eVÆy×J"Ÿ$åê½,ÖAøq&RÖѼ¬»}±[«bÔ|R]4,Ùçää$‘Hhš;vl¥éŸ:5® ”˜˜èãã£ÒJÓ´‡‡Glll£F<<<Þþ¤|†ïüAjvðÈåòŸþ\]]…N#‰D²~ýzŸœœœQ£F…‡‡Ëdå‹o’–¥¥¥wîÜéß¿ÿÛ[XWh?##£¶mÛ>zôHe¹Ç›7ojsºììì¦M›2 3räÈå¯^½"Ï*ü¥¢PqP{ãùD]ooo…L…ÂFB4jš%‹ë¾^„<¬)®´À±°ú<—q{Pÿ‹àÖÿV>›¯Â)øF·üá{1¥CkfB—‚ ]Ô–B¤–©GuûªŒÊåT"•JItu•™«Ü¸ÖX²d ™)õã?’2TBhš^¼x1qö̘1CåZ׺òᇒÐäìÙ³–ý˜;wîœ9sæÌ™£r©ooo¢;£££…åyèíí­0YóèÑ£NNNNNNê€ê: „ÌX½sçΆ „-ÃÃÃUÖ^V¦I“&$TzîÜ9å)ÕÇñS†…é/¼K˜_\Wãù‰, ÍÂÃÕç¼* î;PË5H­>¶|½ á’dŲ†”1ðß‹T§U°æW YŠTòSøÇ’Å<¨8ª¼+AzÎ;,ûøt›ÈÈHí"¿ˆwîÜ9{ö¬p»\.÷ððpss›:ujÕÞ¸q£Fþ...^^^äõW_}åííýÏ?ÿÆÇÇŸ9sÆÕÕ•hCCùsçVË---I¡¸ÌÌÌÁƒïÚµ+66öüùó3gÎ$k¶nÝZemøé§Ÿºté§Nâ“U›5kFªŸGEE 6ììÙ³éééwîÜY³fÍÔ©ScccËÊÊj¨ðaõ¢Ó@V¬XA&.^¼xÁ‚ׯ_¿{÷®¿¿ÿ矮° ŠÈÒCÇ 8ð»ï¾»uëV^^^vvvhhèˆ#HÙdƒo¿ý–?¤yóæDµŸ8qb÷îÝ?&•´7ÞÍÍÌïܺuëþýûÿý÷ßþùgË–- Ðæ‰Kåw –©X]­b)6Ž¢+g£ Ž­X±£¼\sźmÿ“E;¨ò²Ï«·•¯óQÑçö!Rÿ©¥ offfPPÊ]fffê’|5cggGr肃ƒ]]]íìì*Mþ˜7o^hhè‹/|||RSSÝÜÜÌÍÍïÝ»·wï^RYíÿþïÿªÖØÇLJd~lÚ´iܸqU‘–lÚ´©¸¸xïÞ½ÅÅÅ[¶lQ^#¡mÛ¶|þÇÛ³páÂäää]»v=xð@a=i›£GªËT044 rqqÉÎÎ^²dIçÎÉŠkÖ¬IJJ:qâDXX˜B ÐÌÌlÏž=êRèëÚ¤mÛ¶Ç>|8Ã07nzøfÏž}øðam*Ñxxx$&&®\¹’eÙ­[·*/tÖ´iÓÓ§O bŒŒŒ|éÒ%²Ô œ–Æ›ššzyymÙ²%''G¸ŽŸX,?~¼²ËYußÚ„a#e–9fg¼ÎÒà8Rùõì=Ž+/Ê\ýåË[P@ñe8\¥AúO-yûž={6G ~~~UëÓÐÐðã?€/^,Y²¤ÿþ*0ñØÛÛ>|ØÈȈ¦éuëÖ 2¤gÏžß~û-‘qŸ|ò‰°hNÉFá‹B,ïÙ³çØ±cĉ"ÄÒÒòë¯¿ŽŒŒT¨ Bæà«¬˜ °‹_ ]¡ñöíÛýüüȪÒ›ÿüç?‘‘‘½zõv¥°žºƒƒÃÉ“'Åb1˲$)¢¨C‡-X°@˜ onn>vìØ³>5X®¡Îª–cWÙR]c•ýh?:tèñãÇ…e,--·oß¾uëV-¤(jùòå—.]jß¾½BUSSÓ#FDFF*/:rðàÁyóæñ ËÏjiüæÍ›7oÞL %:vìxñâÅ#FÀ›Ÿ¸ößÚ„aa9Áºj¯×g{ý¯|7Ža倷åîõªn‚C^÷ÆUö­åa!‚è ¥°€4¼zõJ,WW©­aÆiNTl×®Y5+;;›èeo™º]™™™»wï $+:ÿøãd±¿¥K—9rÄÎÎîöíÛ*OzçÎõëדtW‹ÅŽŽŽžžž* EjÙøðáëW¯nԨѡC‡´¬Äö¿{R•Û[]ÿä“O„‹I«ãÑ£G –––ݺu㢮!†IIIyñâ…­­mµÔX¡iúßÿÍÉÉ©®ë íÂq\JJJFFF“&Møl(((ˆ‰‰‰‰‰iܸq—.]5wEÓt~~>˲U6>###%%ÅÎÎNe HíQ^-£F±›“-2l\qê723”5@U¡–J¡(((€ÒTV‚œÐE«浬]Nê†VÕ{ÏG¤> î^Q㲯 iº°°eY] ³åå呵×ÔCÑ©qII‰X,Ö~ÍÄ·—}ò.R˲ÏvN%µP£ðÞ€¯ä "oW]>/ÙRXÈùJGÙ‡ H}@ݽâ}(à"‘HªvlÔ¨‘öÒJ›Æd­IAê É8~¶WáÍSVrP𺼠¿—wýq‚tÝò+& âÜ>Aê?ïƒìCÑÃËV”Ùcñ[N°…{s;%Ø.lÌ)οù}‚Ô{Pö!òžÃ²@¼}åé¸ QZ>m—{-êø-N )îµ›8>¯dú¥5±ø‚ H5‚²A÷(ŽÅVl¤^ï}JÑ‹§Èká(¨Ã2ÐÒ¬§Ç!RÏAÙ‡ HmS›+YË’ {B Þ|K©JÞUØòÚ¨¤ ) °7+¡(”}‚ÔkPö!òžÃrÅh¨Ë"ðÞ)lãþ-'le4ÛÖ†UY ¿‚ÔPö!òžÃr¯½}•pUyáÞÜË ^S° Ð 7¾SjÕKËà]AzÞê/¤5‚ o ÇQÂj|Š"OM­¾Š~^ïbYàXàX`Yv\Ç”vjëÞê5Üß ¹øZ‚Aäsƒ¤\=y‰H{¿'`"eÌ˺Û»µ*¶6ajÐJiH ì«§\¾|¹®M@÷„Rn,Uå@ žMô‹›7ÊofVÒÖºÌÊLOC‘vK«n×ûMLšÞ‰{&1éR ˆ(03Ôíp–=͕ƾF§I'v‘w´-«3¤a²¯>’lØ¿®M@÷‡ÅnOª·CŠ¢D"Y’G,–ŠÅb ¥[ìÍ¢ìË‹OÜ3y”i`¤¯~;ˆ(Q Ö‡G™'î•qúüäíAÙW—ˆ(ÀåÛ¤¦‘ÉdÕØQxTš‹¶˜²MŒ¢ì»–`“^uÍÇCèK &ÝàZBÉ„.Õc‚4`PöÕ%ÆRîU1¦ù!HÍRéŠÛ5Gç¦LÃÌä|n •è¬ù*û”+l©"ŸTAö•––jþôÏ;GÓtûöíÛµk§¹+†aΜ9“’’2vìX{{{̈‰‰‰D#Gެo5½ ÿüóÏ”””ÒÒR—nݺ@\\\ppð|0bĈº6©fPöÕ%ö؇Å⺶A¡­%ccÒ]}”«§CpDz,˲@Q”X,æ8Žˆ$I¹ª¥•),,¼páBhhhjjj^^ž¹¹¹“““““SŸ>}Z¶l©ÐxÇŽ¥¥¥_|ñE¥²ïæÍ›»v퀔””7ê4´ˆˆˆ}ûöÀðáÃÅâztÏ‹‹óõõÍÎÎ&oKJJˆì[³fMRRÒ… Z¶lÙ¡C‡:µ©fPöÕ%í­™ä\qAi]Û Huc׈íÒ´L]¡À÷y‰H§Žã8Ž“Pô‚a¢þNzn”œŠ|@Qð²X«RØ÷ïß_¶l™\.ç·äææ†‡‡‡‡‡9rÄÛÛ{èСºŒã5ïå,[¶l!šÏÔÔÔÅÅ¥}ûödû{9X„€²¯.‘ˆ¸ÍË®Åkû‹ È;AÛ&t;ZTÏÂyµ‰N#'š¦éÑÝÙ‘Ý `j_鉈R¡øÐ¦ÃÛ·o/[¶Œ¦i°°°8p MzzzllltttYYÙºuëž óùX–mfÎ|ëVî!¼x¯eus8åçç¯_¿žh>www___ᬾ°°0ÿ‚‚‚   >ú¨{÷îºÚ)‹ÇŽ«ëQõ™ôôtrñûõë§znݺµOÙ…Ô,(ûêkcvè¥3ÄÏóDù%æö"È;E õ8KkoÆ61b°¯ŠpDZŒ§›ØÔPI™¥;~“ƒ¨‘N?~<''-Z¤ÉÑ·o_ssóÙ³g@pp°:ÙÇ0Lrr²¡¡¡N¹,ËæäädeeÙØØ˜™™éd¹:K²³³³³³ÍÌ̬¬¬´™øüùsš¦ííí5T‘T8yaeeU µ9ÇqÙÙÙYYYMš4iÒ¤‰6Ýddd0 ckkkll\iû¬¬¬ÌÌÌæÍ› Ó4œœ,‹mmm¥R©6çm8 ì«HD\'[º“m]Û R‹ðáÝ¡÷å?Ûkƒ²r‹ôLLtóö…††€ŸŸŸÊ_zggç=zDDDüùçŸDˆ÷>{ölçÎ111………`hhèáááááÁë­’’2/ÐËËkôèÑü ÃÑ ÖÖÖ;wöôôlÔH“rå8nÆ —.]€Q£FÍ™3‡ïððáÿüòËË—/É™Lö駟Θ1C(°¶mÛÒ¾}û 6lÞ¼922’ ‰úõë7wî\sssu§>}úô®]»Hö ,]º”ÄÓù¡íß¿ÿĉ&&&!!!U>ÝÕ«W<˜’’BÞZXX|ùå—#GŽ=zt~~¾Âe€‡8p 22’ßÒ¡C‡3ftîÜ™ßòòåKd_·nݳgÏ~ùå—äädX´hùt"##úé§øøø²²òúÞÝ»wŸ6mF«yPö!‚ u˲ÏåáÝ ;yWqJ$íýmñññéééйsçfÍš©k¶dÉ’ŒŒ 055nÏÎÎ^°`ÙE(**:pà@jjê¢E‹È’h $ŽÌ³uëÖsçÎ ·ddd\¾|9&&fíÚµŽŽŽ*-!šï×_€Aƒ7$aÓ¦Md;OAAÁ©S§rrr–-[Æo¤išeÙ’’’•+WÞ¹s‡ßβìõëןùä___~°G%Û»uëöù矷iÓ&>>>000**êÊ•+vvvS§NvîîîC† iÑ¢ERRÒîÝ»“’’RSSÏž=;~üx•f>¼OŸ>OŸ>%:rÞ¼y~ø!hpêtº§OŸ®Y³†ã8±Xœ™™)‰üüüz÷îM6:::Z[[¯Zµ*;;;$$dúôéÂC Ö­['¼¶·nÝ*))€9sætéÒlllFMÓtxx8i9Ì÷¬Íƒ ‚Ô,,ËÎú˜=?Wºe¼ÈTJ³ë—}7ÄP"¦àRÔ«(V&“I$’*˾æÍ›WÁpttT)/ûø<eâãã…oMLL”UrÍ-B­Íé‰ÏRe:K«V­¶$$$ôŽÐÐP’Ž­Lnnnnn®ðcR£¥¥¥¯¯ïŽ;rrr·mÛfffÆ ?~¼æ¬êÊ>A¤ÆÙö[7¤«)Líg˜–+ó¡ ï†=Ê?QflÒ¨ á]_…øj"€Rb5CQ”D")++Û·o_ëÖ­]\\„{‰Z¢(JC‰–Õïê⟀üü|å½Âuóü´²²âå»2겂„¸¹¹¹ºº]¹r%!!㸗/_?~<((hÖ¬Y#FŒÐv ï5(ûAšE"‘Þ¢¹¶æz õÄÔŠ1å2yãw&Wj “J¥U^ ¶cÇŽ$À÷ðáCš¦ÕŽ‹‹#‘Ù¾}û¾}QåvíÚ…‡‡+;¢4àëëÛ¤I“ °,»jÕª}ûöÙÚ¾®×Ú¦M›Û·o‹ÅâmÛ¶½»E†›7oN> åiˆ j–^«V­D"˲C† ™6mÚ[ž]*•N˜0a„ ùùù÷ïß ‰ˆˆ(**Úºuk=¬­­ß²ÿ÷Lé@AjŠ¢D"‘¡¡a)}w$ëyö+Qnÿ5;9WÏÀÀ@$Uy–T*íÑ£¤¦¦îܹSe†aV¯^½iÓ¦={öTK”÷É)ä@aaáÙ³gÏž=«0)màÀÝ»wŸ9s&Èåò¥K—òé´Ð¶m[ iš,•ûŽ"‹I$7""BÁ·ÇqÜï¿ÿ®Ð^__Ÿ„ƒ•/ãÛ`llܧOŸõë×ùå—À0Ì;}U«”}‚ HÍ"‰ôôôŒŒŒžçéyÉ,,)ëý_xìV™L&ÓÓÓ«²«ðÅ_Õ¤>>“'O^¼xq¥'ݽ{÷Ì™3çÍ›§ËbooO^àô>yAjFy–X,Ö××—ÉdQÿæ/<–±r¬eæ+zÙ©\‘Ä@›âÌ•Nìj׮ݘ1cΜ9þþþ=6lXÓ¦M³²²Ž?N»R©ô?ÿùOGõ&fff3fÌØ»wonnîüùóGÕ­[·”””ððð‹/@Ó¦Mfïñ,\¸0999>>þÚµkmÚ´!õY¬¬¬&Mš·hÑ¢±cÇvèÐ!===22òСC,Ë6mÚ”(ªzÎÔ©S£££cbbþþûï1cƸ¸¸èëëß»w/--ÍÄÄDyzß”)Snß¾““ãï™Ù£GFÅÆÆþïÿ{øð!Lœ8±Ò“¶jÕêäÉ“°lÙ2//¯-Z”––þõ×_{÷îsss…‚/ ”}‚ H5c"eYN$z3f+‹¥R)Çq¿=(8•BQ”¡¡¡±±‘X,ÖÞe90‘Vž91kÖ¬ÒÒÒsçΕ––*4°··_µjU5fELœ81###888))iëÖ­Â]Ë–-S7.©TúÃ?̘1ãÕ«Wû÷ïoݺ5 ROŸ>=---444:::::Zxˆ±±±···ºi‹õ ‰D²zõê™3g¦§§çååñ«¨5jÔÈÏÏoîܹ í­­­ýýýçÌ™S\\¼ÿþýû÷ ÷öéÓgðàÁ•žÔÍÍ-88øáÇwïÞ:uªD"a†$‚H¥ÒÙ³g¿¥;ù½áø!‚ ïæeOs¥"%Í#‘HH²‚¾¾>EQR©T›ì]–GsÅ¥”‹Å>>>:u:yò¤B¡333WWW///¾ÂœZe¥@²‹×müÊ" ÖzyyYXXçää-;vôòòâõ%é_AÚØØ¬X±‚¤wøùù;vÌÌÌŒ¢¨Å‹[YY?žÏ„566vqq™={¶P°’>U^:²±Ò«ÊZ¹¥r纞ÎÌÌìСC.\ˆŽŽÎÊÊjܸq»víF¥®(cÛ¶m×­[wàÀ^ìŠD"{{ûI“& 5å~ôôôvìØqìØ± .dff’¢02™ìƒ>ðòòrppÐt-”ÂŒxõê•X,F]Œ Rß`Y–aí ÅiCMÜóÿwOÕÈH”]d¡6–eIª‡6áÝÂR˜Ô5oB—í HNNNMMÍÉÉ133kÛ¶­ÂŠ®ÕÃ0ÙÙÙ/_¾´°°¨o"Ã0™™™r¹¼º:¬'$&&’tÝ¥K—4H¹A~~~zzºD"±³³# ¥T‚‚‚´´4™L&L”nh¨»W ·A©fÜZG§IeèK•EQb±XË¥88€R:Ú»µ*®¼µ€-Z´hÑB§CÞ±XleeEÖ«¨®mmmßQÕFQ”OëÖ­…».\¸E©›õhll¬pHÉdoßÉû ºôAjÆÚ„™ØEîdU\X 4 lå¥va9 Y(,'«â‰]äÖ&LåÇ õggçØØØG-[¶,444--¦éäääÍ›7“œ›Ö­[kYé©v0È‹ òÎð®y rñµƒÈçI¹zòå™~jáL¤¬ƒyYwûb·VŨùÞ9üüüÔ­´Ö¢E‹µk×ÚÙÙÕ²I u÷ ”}‚ ï ï–ìC2W®\9räÈóçÏÉòkEÙÛÛwîÜyÖ¬YÕR7Ñ Ê>Aw”}È»MÓÏŸ?/++kÖ¬™A]›Ó€À”AAj‰D‚ÅSêøx‡ ‚ Ò @Ù‡ ‚ Ò @Ù‡ ‚ Ò @Ù‡ ‚ Ò @Ù‡ ‚ Ò @Ù‡ ‚ Ò @Ù‡ ‚ Ò @Ù‡ ‚ Ò @Ù‡ ‚ Ò @Ù‡ ‚ Ò @Ù‡ ‚ Ò À5yA!C.¾–`ùÜ )WO^"¢´>0‘²æeÝí‹ÝZ[›05h%‚4$Pö!‚ ÕOLšÞ‰{&1éR ˆ(03Ôíp–=͕ƾF§I'v‘w´-«3¤aA^A¤šÉ‹OÜ3y”i`¤èàè«@DDFúð(ÓàÄ=“ ¹¸ÌDÊ>A¤š¹–`“n /ÝõÞPúˆI7¸–`P=–!Hü‚ H5ùÜ@ª»æã8Nø–¢( ¤ˆ|n0¡K®f”––êëëkhpîÜ9š¦Û·oß®];Í]1 sæÌ™”””±cÇÚÛÛëdF|||LLŒH$9r$o}ñµ?\'†9wîÇq]ºtqtt¬Æžë (ûAj&)WO×À.Çq,˲, E‰ÅbŽãˆHQ”«§e?……….\ MMMÍËË377wrrrrrêÓ§OË–-ïØ±£´´ô‹/¾¨T:ܼys×®]’’²qãF†±oß>>|¸XŒÑêrÞòâk¸N”––nݺ<==Qö!‚ HåÈKD:åppÇqœ„¢ õwÒ;p£äT$%•OCQð²X«)I÷ïß_¶l™\.ç·äææ†‡‡‡‡‡9rÄÛÛ{èСºŒã5¼1H탿AÙ‡ ‚T3:yúˆæ£iztwvd7C˜ÚWz"¢Tøc¯M‡·oß^¶lMÓ`aa1pà@›ôôôØØØèèè²²²uëÖ=yòdîܹº \]]===ÓÒÒÆŒS…Ñ·/~5‚²A©3È|>–e›™3ߺ•{/Þ+dYÝ<ùùùëׯ'šÏÝÝÝ××W8«/,,Ìßß¿   ((è£>êÞ½»®vŠÅâ±cÇêzR-àůFÐqŠ ‚Ô%Çq,ãé&65@RféŽßä•¥ÀñãÇsrrÀÑÑqÑ¢E ™}ûö]·ny¬®†aÓÒÒ’K*…eÙ¬¬¬ØØØ—/_êj¹:K233=z”––Æ0ZU«~þüyRR¾5}®¢¢¢ÇW:X.K•/¾2Ǒ󒯄f²³³ccc_¼xQí=çææÆÆÆfee½ýˆªôö!‚ uÞÚqï`L6® ÊÊ-Ò31ÑÍ+ ~~~R©T¹³³s="""þüóϬ¬¬&Mš÷>{ölçÎ111………`hhèáááááÁg`”””y^^^£Gæd& 88˜×ÖÖÖ;wöôôlÔ¨‘æ±oذáÒ¥K0jÔ¨9sæð>|ø—_~ᥒL&ûôÓOg̘!‘¼þÉÞ¶m[HHHûöí7lذyóæÈÈHb€H$êׯßܹsÍÍÍ+½hZžëåË—$ººnݺ“'OÆÆÆ’ä›&MšÌš5ËÝÝ]¹gí/K•/¾2ùùù'Nœ ùöî<.ªrøçÌvfeS@QÀ%ED$15MIÍúfW, —ôºf˜anhqoŠ7/š&È×4ÉrIM͈Զ›èͯK*²˜€ÂàhÈ Œ8ÃÀlçüþxìü¦À2åóþ£×ÌsžóœÏ9ô‚Ïv²ôz=)ñññ _²d‰‡‡‡]åS§Neddܼy“|õööž1cƘ1cî³e£Ñøá‡ž9s†K%==='Nœ×äÿ™2LûB=0 ÃtZŒ¾;¼›ùsÝñ"ÖÓS"œß뤴´´²²"""ºvíÚ\µ·ß~»ªª ìþN×ÔÔ,[¶Œ"vìØQQQ‘˜˜HJÈBc°ëNKMM=räˆmIUUÕ?üpùòåµk×6·”ä|ß|ó Œ3æ7Þàmܸ‘”sêëëyòdyyùÁƒ.\HjÞºukõêÕ ÃP5qâÄ!C†H¥Òœœœ/¿ü233ó~Z>zôhYYEQqqq“&M’Ëå………Ÿ~úi~~þÏ?ÿ|úôé§žzÊù;j ˜ö!„jCd$—a™ˆi0S,ð(Š"½ V«õÉ˸þw‡w7Ñh B±«vpc”-§}Í¡(êÝwß1bù •JW¯^Ͳlnnns™GmmíŽ;ÀÇÇgÆ :t€ààà§Ÿ~:999;;[¥RåççGDDØžEr¾£GÀ3Ï<“˜˜ÈÝlmmí'Ÿ|‘‘‘)))dz¢ŸŸßÀßzë­¢¢¢={öL:ÕnÚbLLÌ?þñÒ3êïï”——·î±´îá7)!!aýúõIII¶Sè R©Trùé%íÝ»÷´iÓl[èß¿\\Üý´l4àÆZ­–«éíí½~ýúM›6ý6 ÁÞ>„Bm‹a˜¸'h‘€*L|–YyØÂeÙ¹1¼@T×YÞ?ª“H$"‘¨ï±HîN ´ý[ë¼>}úØ•Påëë[QQÑÐÐÐÜY\~CFètº .ØâÂ())±–¦iÇN??? Ë#šÓŠk@ß¾}›¼–íå\},­{ø-3·nÝÒÿ®¢¢~ïu&GÉ2ް°0Çù£$in]Ë©R©êëëãââFýÔSO………Éd²ÖÝH[À´!„PÛbfÏ)ýìQ ˆéKÏ®2l;i /Eßýs˜öMMyÀÃCÒº÷1øøøeeeO<ñ„«§7¹èõž‹.IæÔ¡CÇ%¢Í!9;Þ)—ŠqK•––Ú~U(ŽYr˯!nõµÀqf¤ãµ\},­{øMbYöĉ())q¨å\¿~mrÁMhhh«[€Ù³gk4šS§NÆcÇŽ;vŒÇã…‡‡O›6mРA®ß“ûaÚ‡B¨Í¥}_ßÅ‹é3GHÔZÝÄAb2¼{ªHð¼Y®ðlÅð.ÁíÆÂ­ ü|«å$ÀEQÀl6oß¾½G?þ¸íQÒcDQT Úìöiµ¶»V+‹»lݺõàÁƒä³P(ôõõõððÉd•••¶CÞ­ØEÏÉ–@.—¯Y³æêÕ«û÷ïÏÉÉÑét Ãäççççç÷íÛ7%%Åù$´LûBµ-@ÐÂÄýÚÎÞˆî!ŸzwâÝ?~ºkòa--–Ñ4ÝêW¯†‡‡Ó4m4 -Ks{d”””!ÈáÇ7¹¤×%½{÷>sæŒV«ÕjµÎl’+V¬èرã²eˆY½zõöíÛ;wîÌíÙ³ç¹sçø|~ZZZ[oðÖv×jÅcq µZM23__ߤ¤¤~ýúqý »víúôÓO¹š!!!<a•JåØŽã¿œo™Ó»wïU«V±,«R©N:•™™©Õj ·oß¾téR7Üí}À%!„ÚEQ<O"‘˜@úÖnMyÉöèæojnh…b±˜Çã9¿QŸ𦣣£ ¢¢bË–-MÖ±Z­kÖ¬Ù¸qã¶mÛœ½'®ŸÌv!'a0¾üòË/¿üòÚµk¶å£GŽŠŠš?>ètºwÞy§±±‘;JVKX,–¢¢¢û¯emw­V<·à.÷òË/GDDØŽ}ØÖ¤išlîØä½_¾|¹Õ-Û¡(*88xúôé{öì‘J¥ðË/¿8GmÓ>„Bm‹Çã …B©TZ^'\¼»Ú`¼;x¡ÔðÙY³L& …­îê#¦M›F²ÆÌÌLòÆ[V«uûöíd"ÿøñãÉßàûôØc‘+¦¥¥i4ÛCééé›7oÞ¼ys]]ã‰/¿üòÓO? eeeÜ+ãÀ&aÚ²e‹Ýj†~øaúôéÓ§O·[~Ñjmw­V?–û$—ßÝÈîv~ùåÇ´GPXXøùçŸÛU¶+q©åòòòùóçÏŸ?ßn«j¹\NÞMÒò‹[þ8È‹BÈÍ'Oñù|‘H$“ÉrÕ/ÿ¬jÕ$ßê;–¤ƒZž@ìÌæÌ÷œÕ»wï‰'>|RRRŠŠŠž{î¹€€F£T*÷íÛG†wiš~饗ZyWäåå5oÞ¼>úH«Õ.]ºt„ ¼uëÖ™3g¾ýö[°›½ÇY¾|ù7JKKOœ8ѳgO²gŠŸŸßÔ©S÷îÝ[RR’˜˜8iÒ¤°°°ÊÊÊœœœO?ý”a˜€€€ÈÈH·ßv׺ŸÇr?"##ÉÐí¡C‡¼½½\__ñâÅŒŒ Çw{Ìœ9óçŸÖëõÛ·o×jµC† ‘ÉdçÏŸ?|ø°ã[‰o¹K—.wîÜ©¨¨¸~ýºÕj;v¬D"©¬¬üä“OÔj5Œ9Òí7î*LûB¹™‚f–Çûã˜-ŸÏ§išeÙï¯ÔɽEQ”D"‘Ë¥|>¿åá]†}ï%ñññ&“éÈ‘#&“éСC‡²«¸zõjw­Š€É“'WUU}õÕW*•*55ÕöORRRs÷EÓô¿þõ¯yóæÝ¹s'##£GdzΜ9jµ:;;»  ÀnQ.—/^¼Ø¯öj»kµú±Ü™Löâ‹/:tH§Ómܸ‘+çñx111vÀÿøÇ?V¬XÁ0Ì8ÀŠýþûïm·¿q¾eŠ¢æÌ™óïÿÛh4¦¦¦¦¦¦ …B³ÙLŽ8°¹þþ™p!„›u÷63MuÐ š¦e2™\.—ËåR©Ô™Õ» ݽÍ÷¼(ŸÏ_²dÉ;ï¼C†ðlyyy=÷ÜsvÛsK7¹S 9Ä%(äÍ"\9gáÂ…³fÍâvŸ§žzjûöíÜ.w¤}»\§S§Nï¾û.ÇcY699™ì8MQÔÊ•+ãââ¸EËå#GŽÜ¹s§m'i³ÉGG ïùT¿×”ãƒânÊî3å>¾ãé ,X°`·• „„„¬_¿~È!àðüüü# €+ñòòzóÍ7ßxãûi9&&æ£>Šˆˆ eÌf3EQ]»v={ö† lõƒBÙ ½À;wø|þ}N³@!äv ÃX­V÷îÑ¿ó?Ï“íÍõ”ŠÀ±W‡¼¨¼•Çã93¼k0ÁÔȺ¸õÎpãÆŠŠŠÚÚZ//¯^½zùúúºx®±Z­555·oßöññqKo¢Õj­®®Öétîjð\ËíÅIZ­V£ÑtìØñžK‰Y–Õh4Z­ÖÓÓÓÏÏïžÝηÌ0ŒZ­nhh ‹Å®Ý€;4÷»Ó>„zh<,i_•ŽŸöžEÕb‘ ‰ÌÏy,€É}üž¬óWØOºB5§¹ß˜Û!„r3…uò]¿Fƒ , 49àÛ2† ôñkœ<@‡9BnK:B¹_xg³Ÿ¼î„Ò˜S.Vi…·yÎwû± š ö6G6Ž mÄœ!wÁA^„zh<,ƒ¼¡ yB!„Ú5LûB!„ÚLûB!„ÚLûB!„ÚLûB!„ÚLûB!„ÚLûB!„ÚLûB!„ÚLûB!„ÚLûB!„ÚLûB!„ÚLûB!„ÚLûB!„ÚÁƒ!„У©JÇ?¡甋UZ¡ÎÈ£œ>‘PÐLwosT`ã¨ÐF…µ £D¨=Á´!„û]V ÷ç).WŠið(ð’¸v:Ãò®kéâßè5=y€.¼³¹mÂD¨}ÁA^„BnV¥ãïÏSU‹¥"ðÀ…޾ßñ(ð@*‚¢jñþ˲$óãQ Ò lÇ`0;v,;;»¢¢¢®®ÎÛÛ»OŸ>}úô6lXHHˆ]åôôt“É4mÚ´G,=zTï Ý?LûB¹™ÎÈsi ˲,Ë (˲çx#ûwüd<˜Cñxw§!ñ(¸ÝèÔ”¤üüü¤¤$NÇ•hµÚ3gΜ9sf÷îÝ‹/~öÙg]¹„5˜ö!„r3—zúHÎg±Xb£˜J`æpzÿy—ö9Ùà¹sç’’’, øøøŒ=ºS§N•••ÅÅÅf³yݺu×®]KHHpífz„`Ú‡Bè!óù†éêm}mÔÝÂoó ãÚŠC½^¿~ýz’óÅÄĬX±ÂvVß©S§RRRêëë333Ÿ|òɨ¨(÷ÝB\É‹BèAbY–e¬ Fñ=$<PU›Ò¿×Ýó,;ûöí«­­€àààÄÄD»«N IDAT•Ç_·nùüÕW_5׈Õj-++S«Õv‹KÕ××—•••””èõú–kZ­Öêêꢢ"µZmµÞcßi‹Å¢T*U*•ÑhtWÀ²¬J¥ºqã†ÉdºgeWi4šÂÂB»0X–Õh4ÅÅÅÆ™F\zJ-\Ýöö!„z0¸áÝgì1arR¸6S£m*®õJdgg€X,NNN¦iÚ±B¿~ý¢££ÏŸ?úôiFÓ±cGÛ£7oÞܲeËåË— H$’)S¦L™2…Ï·ß/°°°pÇŽ999\IXXؼyó"""ìjZ­Ö]»v}ýõ×·oß&%2™ìþçæÍ›'ØÿñÍÉÉùøãKKKÍæ»SGEEÍš5+,,¬Õ@mmíæÍ›sssëêê@ <óÌ3¯¿þº\.çêÇÇÇÀ¦M›ì)))yíµ×àý÷ß']¤·oßž8q"¬[·îæÍ›_ýõ7 11‘›7yüøñO>ùäÖ­[ä«Ï«¯¾ú /ÄÆÆêõú… ÆÆÆºú”œ¹.r¦}!„†a:H­ FßÞÍü¹îxëé)d¯3JKK+++ ""¢k×®ÍU{ûí·«ªªÀÃÃö¼¦¦fÙ²eäÑÐаcÇŽŠŠŠÄÄDۚׯ__¶lY}ý¶’¹råÊŠ+6oÞܳgOÛò7~óÍ7¶%õõõ¬­­MJJ²-ÿâ‹/>üðCn3ékÌÉÉ)((HII±’v)€Û·o/^¼X¥Rq%‹åرcÕÕÕ)))\FË- &C䶬V+9Dþk[ù»ï¾;~ü888}úô¿þõ/ÛîÒÚÚÚ´´´7nX,†aì®âäSºçu‘“0íC!Ô¶š3eYX낾Ÿ*jÍŽé¤R™H$²]ÏqO¤ã·h±åååååååXþí·ßòùüY³fEFFvèÐ!77wëÖ­z½þ»ï¾›0a·JMMMbbb}}½P(œ3gΠAƒ(Š:þ|FFFCCÊ+¶mÛæëëK*ïÙ³‡d3|ñÅ{öìYZZzèСÜÜÜü±K—.3gÎ$5FcFFÃ0K—.íׯŸF£9{öìæÍ›ÍfszzúÎ;[=z†>zôè®]»þòË/YYYJ¥òÂ… Û·oýõ×ÂŽŽ?.‰bccÃÃÃår9ɶ¯_¿þÞ{ï±,Ëçó_~ùåÁƒK$’ .>|¸É±uçŸRË×EÎô!„P"#¹ ÃÈDLƒ™bGQéÓ²Z­O†XÆõ¿;à¸áˆFczxˆ]Êù€l9íkEQï¾ûîˆ#È×€€©Tºzõj–esss¹´o×®]ÕÕÕ</99yÈ!¤088ØßßõêÕ555YYYsæÌ€ÚÚÚO>ù"##SRRÈDC??¿¾õÖ[EEE{öì™:u*)¿té™É÷æ›o0:uêk±XΜ9ƒA*•ºçÉ'ŸLNN&ý¦!!!ÇŸ={vmmí^zé%ÛÑUb±xݺuvƒÂ»wï&£äo¼ñ7’Û»wï&$$pãׄKO©åë"çá’„Bm‹a˜ø§˜£ ô¦Wx´…ù\d~kœDÀ§à»Ü;Y¹ŒL&­Nû‚‚‚Z^pp0—ó#GŽ …ð믿r…ÅÅÅÅ¥\\åàà`())!%W¯^%œsçεÍZÄbñ”)S€a¥RI ¹Õùùù¶ÍNš4iÓ¦M›6m"9ŸKR©ôí·ß¶+÷öö~ë­·Èg»Ê®zâ‰'s¯«W¯@ÿþýmgï@ß¾}§NêXÙù§Ôòu‘ó°·!„PÛb&î Z$ ‡ ŸeV¶0ÀcYvn /ÐGÕu–÷ê$‰H$r\EqOÉÝ©Z­¶áõéÓÇ®„¢(__ßŠŠŠ††Rb±XÊÊÊ@¡P\¸pÁ®¾B¡€k×®‘¯$ûNgW™k°¤¤„\7,,Œ¦i£Ñ¸wïÞ³gÏŽ?~àÀAAAvS] € åRFNß¾}¹†ÚÌ#¹·þýûÛ•èõzµZm{ [ýúõ³+qé)µp]äLûBµ-†aöœÒÏ¥€˜¾ôì*ö“–ÁÁðR´ŒTHû¦¦¼Nàá!qµŸðññ!ÊÊÊžxâ WO÷ööv,´[¬T*ÉZ„ììl²jØ‘V«ÕjµÞÞÞ\Bc·"ÄVii)ùàëë»bÅŠôôôÚÚÚ²²²´´4ðòòzî¹ç^yåOOÏV@¾69äÝ¡C…B¡Óé¸ZÇñeÇeee¤÷Žt=Ú µ+qé)µp]äLûBµ¹´ïë»x±ã"=`æ‰Z«›8HL†wOéž7Ëž­Þ%¸ÝXHX[à–²úùùqY¦#’÷ÿRÕÂ+qmw5jÔСC333üñG¥RɲìíÛ·÷íÛ—™™?~üxW š[ íüi—Ghr/=Û7æ®>%ä˜ö!„j[ „‰ûµ½…Ý%B>õîÄ»[¨è¬É‡µ´XFÓtër>'㤅……‹ÅqW<¢¤¤„L>|x“Kz[Êãñ†7nܬY³Z®Ü³gÏsçÎñùü´´´&7tDÓt\\\\\œ^¯ÏÏÏÏÊÊ:þ|CCCjjjtt´¿¿¿KŽã ¶¶öÎ;УG»CvK.ÀfÒ¤3‚‚‚ÈO¡Éë:N%lÅSB÷—t „jCEñx<‰Dbé[»5å5xQÄæojnh…b±˜Ç㵺Цéèèh¨¨¨Ø²eK“u¬Vëš5k6nܸmÛ¶V ŠD"2vi·ð¢I½zõ‹ÅRTTäê…ärù°aÃÖ¯_ÿꫯ’°I#.@(•J²®ÖÖ•+WÈn“?nëæß~ûÍ®2É’ÄçóÉHîùóçíúöX–ýÏþcWÿ~žj5LûBµ-' ¥Riypñîjƒñîxå…RÃggÍ2™L(¶º«˜6mÉ333§¾Y­ÖíÛ·ß¼yÆï¸ÐÁd,²  À.ƒÑëõK–,™>}úÊ•+mkÀ–-[¸Õ Ä?ü0}úôéÓ§s‹¶nÝ:þüE‹Ù¥hä7½ÏùƒÁðïÿÛ¶D«Õ’¹ƒ`“öŠÅbøé§Ÿl+×ÔÔ|ÿý÷->{‘‘‘ ÑhV¯^mû޵O>ùäܹsv•]zJÈ]p!„›9îÎÌçóE"‘L&ËýU¿ü³ªU“|«ïX’jy±3›3ßã¹½{÷ž8qâáÇ %%¥¨¨è¹çž Ðh4J¥rß¾}¤ãЦé—^z©u75cÆŒsçÎÕÖÖ¦¤¤TWWGGG{zzþùç………0yòdRÓÏÏoêÔ©{÷î-))ILLœ4iRXXXeeeNNΧŸ~Ê0L@@É 44ôÀ””´páÂnݺ™L¦ .|ôÑGàííÍíWâ|œS§N­Zµêé§Ÿ *((øúë¯ÉKrãââ¸Mûx<^HHHaaá… 6mÚôüóÏ‹D¢¢¢¢ýû÷“•¹Î›9sfAAÁåË—/^¼8qâÄÇ\$ååå©Õj²ŽÄ¶²KO ¹ ¦}!„ÜLA3 ËãýqÌ–ÏçÓ4Ͳì÷WêäÞ¢(J"‘ÈåR>Ÿßòð.‚fîyÑøøx“ÉtäÈ“ÉtèСC‡ÙU \½zu«W øûû§¤¤¼ùæ›¶G‡ öÌ3Ïp_çÌ™£V«³³³ lkÊåòÅ‹sGõÕW_^ºtiæÌ™Àjµ’å4M¿ñÆ\NìR0yòä“¿³-4hмyólKÞxãÅ‹766feeeeeqåÏ<óŒK~`Íš5óçϯ¬¬¬««ãÞ¢æé陜œœ`Wßù§„Ü(B!7ëîm¾®¥y¹œ@ “÷E"EQ4M;³z—a!ØÛ~µ#>Ÿ¿dÉ’þýû8pÀnã//¯¡C‡.\¸Ûá —nr§@rÈ.íի׺uëvìØÁå(</00pêÔ©v)EQ+W®ôóó;zô(·²U.—?þøão¼ñ†mê) ÓÓÓ?ûì3ò¶\²K‹L&{ì±Ç.\ؽ{÷V@‚HKKÛ¼ys^^‰A Œ;6>>Þî™÷íÛwÍš5üqII Y2,•J§M›6fÌ’öqÏ;±¹í½¼¼>ýôÓcÇŽh4š:ôîÝ{„ MÖwþ)ÝóºÈIéïµuçÎ>ŸŸÓ,B¹Ã0V«ÕÃÃÃm¶ÅïüÏód{s=¥"pìÄ#/jc†,õpfx×`‚©‘uqêàÆµµµ^^^½zõºŸ·5I¯×WVV ‚.]º÷y4ÇjµVWWët:Ÿ{v4Ö×׫Õj™LÖ¹sgw ÃܺuËb±´¼fÖh4Þ¼yS.—ûûû»÷‰²²2²ùwÞ3fŒÝQ—žrFs¿+0íC¡‡ÆÃ’öUéøiÿçYT- šÈüœÇ˜,Ðǯ1áÉ:…õÞ' jïÞ½§N¢(jÉ’%vĤ§§>|˜¢¨/¿ü²Éý±‘{5÷»s;„Bn毰N ëã×h0…æž+20,X0˜ _ãä:Ìù ýúõ+...**JJJÊÎÎV«Õ‹åÆ|ðYmÓ£GÌù,ìíC¡‡ÆÃÒÛGTéø'”âœr±J+Ôgú5‹PÐLwosT`ã¨ÐFÌù"ÉÉÉͽ;®[·nk×®íҥ˟Rû„ƒ¼!ôÐ{¸Ò>Ô>ýøã»wï.//'«C(Š ŒˆˆˆoÝŽ‰¨0íC¡‡¦}èaa±XÊËËÍfs×®]ÉvÐèÏÔÜï ÜÀ!„Bn&ìvŸAøÏ;„B¡vÓ>„B¡vÓ>„B¡vÓ>„B¡vÓ>„B¡vÓ>„B¡vÓ>„B¡vÓ>„B¡vÓ>„B¡vÓ>„B¡vÓ>„B¡vßÉ‹B¨MTéø'”âœr±J+Ôy”Ó'² šéîmŽ lÚ诰¶a”µ'˜ö!„r¿Ëjáþ<ÅåJ1-^×NgXÞu-]ü] ¦'Ð…w6·M˜µ/8È‹BÈͪtüýyŠ¢j±T¸ÐÑ÷;HEPT-ÞŸ§¨ÒñÛ L„ÚLûB¹Ù ¥ør¥X$×ó½? D¸\)>¡»'2„Ú7LûB¹YN¹˜v=çcÿˆR´rÊ1í{¤9r$33óêÕ«:vçö!„r3•VèêÀ.˲ Ã0 Eñù|–e)Š*­°åÓwíÚUYYiW(‹ûõëѱcG×¢Am,==Ýd2M›6­wïÞ:–öÓ>„Bn¦3ò\ZÃAº÷”eÙs¼‘}„;~2Ì¡x¼»ãQ< n7Þclê§Ÿ~R*•Žå™™™0`À€µk×J¥RbjgŽ?^VVæëë;a„ jC8È‹BÈÍ\êé#9ŸÅby!‚ya í!áÍN[­Ø´ÅÉ¥RéàßEEEuéÒ…äŽyyyË—/ohhp%®öåäÉ“{÷î=vìØƒµ-ìíC!ôÀ9| Ãtõ¶¾6êná·y†iM¯DppðºuëlKÔjõ|páÂ…_~ùeûöí ÷3B/LûBèÑÁ0ÌÍ›7ÕjµN§…Bѹsç   nÀô/ˆeY–±.Å÷ð@UmJÿ^¿sçÎ4Mß³þ}FȲlMMF£ñóóóññiÝåP[À´!„F£1''§¾¾žÏç‹Åbhhh())©¨¨ˆŠŠjõû¶Ã ï>f »›F¬ÍÔh„ …ÛòT‰DòÔSO:tH¥RÕÕÕyzÞM( wìØ‘““ÃÕ ›7o^DDWrûöí‰'Àºuë|||¶lÙ’››Kz(¥Ré /¼0gÎÛä/---++«oß¾©©©_|ñÅgŸ}¦×ëÉ¡¾}û¾þúëááᎺÉÍ›7¿þúë7n@bbâ³Ï>ÛÂíçää|üñÇ¥¥¥fóÝ-¯£¢¢fÍšF¾N™2¥²²’,¦)))‰‰‰€   ;wº!¡×ë÷ïߟ••ÅݸOxxø’%Kî™ø–””,]ºT§ÓÉd²mÛ¶uéÒ¥åú¨þºÿþC!ä<†a.]ºd4år¹———B¡P(^^^r¹œ¤ƒäïú_ Ã0¤Ö£ïïfþ\w¼ˆ•H$€,ãu ___ò¤JpýúõeË–Ùæ1påÊ•+V”””؆GÇÇÇ_ºt‰ÛYÆ`0|þùç©©©¶-X,†a,ËÚµk·mÛÆ¥>PXX˜˜˜ÈÀq5’ï¾û.==ݱ&}ñÅË–-+**2›ÍÜóÌÉÉY´hwE³Ùlûÿ¹ —#:!9wÕªU{÷îµ½ñÚÚÚÿþ÷¿ñññUUU-„ZRR²xñ⺺:‰D²~ýzÌùÚöö!„У ¼¼Üd2) š¦…B!ÕeF( …Âúúúòòò   —*5QÎZÄðý<øPQkÞpL'•ÊD"‘{G¥Õj5P555‰‰‰õõõB¡pΜ9ƒ ¢(êüùó +V¬Ø¶m—);vì€ÿùŸÿ>|xÇŽ/]º”™™©V«=Ú£G»Õ¯ÅÅÅÅÅÅ]ºt™0aBTT”Z­þé§Ÿ¾ÿþ{ƒÁðöÛoôÑGÜi+"9~ü¸H$Š —Ëå]»vmî®FcFFÃ0K—.íׯŸF£9{öìæÍ›Ífszz:éÏÛ²e‹ÙlÞ¸qã¥K—ºvíš’’"‘¨îÚµëâÅ‹0dÈØØØnݺ]½z5;;ûäÉ“ååå\¸pa“¡–––.Y²D§ÓÉåò 6<öØcÎþh‘‹0íC¡GÁo¿ý&‘HÄb±P(äóù\ÚGQEQ ÃüöÛo$í##¹ ÃÈDLƒ™bGBbYÖjµ>b×ÿn´áˆFczxˆÝ›ói4šÿüç?гgO’oíÚµ«ººšÇã%''2„T ö÷÷_½zuMMMVVÖœ9sìÚyñʬ¥GÑÑÑóçÏollüðÃÇÏçÿáõq$}éܹ3„„„ 6Œ¢¨ï¾ûîÖ­[™™™¯¾ú*©ÖŠHÄbñºuëGW‘Þ_xóÍ7 :uеX,gΜƒÁ •Jýüü@&“‘ÆíºÙ\ŠðÎ;ÑÑÑË–-#“ üýý‡ZPPP[[›ŸŸßdœJ¥rñâÅwîÜ‘Ëå7nÄüÚò"„УÀh4Ò4-ø|>Iûx<ù,hš&ÀÁ0LüSÌÑzÓ+<ÚÂWÊEæ·ÆI| ¾Ë½“•ËÈd2@à®´Ïb±œ?~ñâÅdÌqèС¤¼¸¸¢¢¢¸<†9rdpp0Ø]@```||¼mI÷îÝgÍš&“ÉqÈuáÂ…$çã,^¼ØÛÛ®]»Æ¶"’'žx™œ¸Ÿ¸]¾5iÒ¤M›6mÚ´É™ ]Š0!!aýúõIII¶IÁèÑ£@©T:Î4(++ÜïÏ„½}!ô( »Ôïìzûx<žPx]´†aâž Ejp¨0ñYfåa <–eçÆð}P]gyÿ¨N"‘ˆD"»n3—Mž<™|¶X,†_=z4éc³X,eee P(.\¸`ׂB¡€?ffDXX˜c`ܪˆÒÒR2|ÌqÌÌD"QhhèÅ‹¹m¥[Iÿþý›¼wGaaa$Ýß»wïÙ³gÇ?pàÀ   ç'M¶.B0·nÝÒÿ®¢¢~ï÷µ­VVVvôèѺº:™LöÁôêÕËÉÀP«aÚ‡B™Lf·Å±c…?-; Ãì9¥Ÿ=J1}éÙU†m'-ƒƒá¥è»!¥}SS^'ððÜg?Ã0dŸ-¹\>f̘… ’Æ•J¥Åb€ìììììì&ÛÑjµZ­–tΡ¡¡ŽÕºwïN>”––Ž;–+—J¥:ur¬rñâEµZ]__/“ÉZ 7ëîž|}}W¬X‘žž^[[[VV–––^^^Ï=÷Ü+¯¼Â­hn«²,{âĉ”””8³„ˆŒ5CóO ¹¦}!ô(èСCUUÃ0d")ä¾²,Û¡C‡^Ú÷õ]¼Øq‘0s„D­ÕM$&û§ŠôÏ›å ÏûÞõõõ%»œ‰¤_¿~!!!¶Ír§å-åš[†b‹ë6s¦²mËÜ&Õ9£F:thffæ?þ¨T*Y–½}ûö¾}û233ãããÇßòé®F¸uëÖƒ’ÏB¡Ð×××ÃÃC&“UVVÞºu«ÉsE"‘Édúí·ßV­ZõþûïßO_/r¦}!ô(ðõõ½}û6Ù§C ¿ÄdW<«ÕJÓ´Ý‚Ð?“@ haâ~mgoaDw‰O½;ñînºkòa--–Ñ4}ÿSúüüü¸AÞæ„††òx<†aÆG&ç9£Éþ^¿~|èÙ³§m¹Á`¨¬¬tì¾"¦deIë"qMÓqqqqqqz½>???++ëüùó ©©©ÑÑÑþþþ-œëR„jµšä|¾¾¾IIIýúõãr¸]»v}úé§Ž§ôêÕkýúõkÖ¬ÉÉɹtéÒ¶mÛ,XÐÚENÁ%!ô(àñx!!!4M[,“Éd6›Íf³Éd²X,4MÛõxý™ÈÌB‰Dbé[»5å5&Û£›¿©¹¡ŠÅb21ñOˆG$‘µÍ-,mÒ•+WÇРɇ=zØrlÜd2‘Ü‘/n]$­&—ˇ ¶~ýz2ÇÑjµÙձݮÏÕ¹:/¿ürDD„m¿]AAA“§DGG{yy½ûî»$E>tèYsÚ¦}!ôˆ …=zô oß"Keišîܹs=àz J¤RiypñîjƒñîÐá…RÃggÍ2™ŒÛhðÏA–‹Ø%z½~É’%Ó§O_¹r¥Ý)åååÛ¶m³-Q©TŸ|ò Ð4Ý­[7»úÿû¿ÿ[YYi[’ššªÕjÀváB+"qÞÖ­[çÏŸ¿hÑ"ƒÁ`[H>ØNï#ÿ‡Ü¼yÓv§e—"ä6#lhh°­ùË/¿´œ5zxx¬Y³†,þ}ÿý÷›\#‚ÜyBèÑAQT‡ì4>pœŒÆçóE"‘L&ËýU¿ü³ªU“|«ïX’jy±3›3·~v[Sf̘qîܹÚÚÚ”””êêêèèhOOÏâââÏ?ÿœtà59R|èÐ¡ÆÆÆ#Føøøäææ~ùå—$¿‰wœ‘¦Óé–-[YYYùÓO?}ûí·{Ÿ‘8)44ôÀ””´páÂnݺ™L¦ .|ôÑGàíím»Ü˜Œö2 óÁüío  ³œ022’Œ:tÈÛÛ{ðàÁõõõ/^ÌÈÈ ëBZгgÏåË—¯Y³Æd2%%%mß¾ÝËË«Õ7ŽZ@i4»¢;wîp[}"„úë`ÆjµÞóݦ.i‹ßù“öt¢(ÏaÌÖb±466Ö××›L&Š¢$‰\.¿gWÃË2‡^­l¡ÎìÙ³•JeXXØ–-[œ‰ðÚµko¾ùfcc£ã¡aÆ­Y³†„T[[KÖˆÄÄÄœ?99yÒ¤I¶cë}úôY·nã‹RœŒ„ûàü= …Âôôô™3g’÷pX,–ee2YTTÔG}d›ó@ß¾}W¯^N¾ÚγtþY-X°`Á‚ärDHHÈúõëÉV϶m6ùózíµ×¢¢¢ ??¿É% èþaoB=4–Þ¾Ïód{s=¥"p\£A6”!ûH“W‰´Ü `0ÁÔȺ¸õnŒ£×ë+++A—.]g@:ö±ÕÕÕUWW“I“ŽõIo_ÇŽ¿øâ °X,jµº±±±cÇŽ¶{ïµ"’ûT__¯V«e2™Ý»C544˜Íf‰DâƒójµZFãÌ]£6ÒÜï œÛ‡BÈÍF…6¨é¢ÇBÛæ IDATj±H`ŸùQE^çL;,€ÉáG…61Âèr¹Üqn <==Ùè˜]»vm£H\"“Éœl\"‘H$’&9¡··7&|MØ¥‡BÈÍüÖÉt}ü &°0Ðä€oË, LÐǯqò¿¢¥ „œ„½}!„Ü/¼³ÙO^wBiÌ)«´ÂÛŽ <šÅ(h&ØÛØ8*´s>„ÜÓ>„BmÂ_aPßFsòþR©ôÅ_„fÞÉëhРA"‘H¡P´q\µ.é@¡‡ÆÃ²¤!ô`á.!„Bí¦}!„Bí¦}!„Bí¦}!„Bí¦}!„Bí¦}!„Bí¦}!„Bí¦}!„Bí¦}!„Bí¦}!„Bí¦}!„Bí¦}!„Bí‚àA€BèÑT¥ãŸPŠsÊÅ*­PgäQNŸÈ(h¦»·9*°qTh£¿ÂÚ†Q"Ôž`Ú‡BÈý.«…ûó—+Å´xxI\;ay×µtñotšž<@ÞÙÜ6a"Ô¾à /B!7«Òñ÷ç)ŠªÅRxàBGßïxx AQµxž¢JÇoƒ0jw0íC!äf'”âË•b‘\Ï÷þ€ àr¥ø„RìžÈjßp!„›å”‹i×s>–em¿R-€œrqÜ€z÷Øæ ÃéÓ§oݺe2™üñ>èˆÀ´!„Û©´BWvY–e†a (ŠÏç³,K2?*­°åÓwíÚUYYiW(‚ƒƒ{öìÙ«W/š¦] è>”””¬X±¢¦¦†|5˜ö¡¿LûB¹™ÎÈsi ˲,Ë (˲çx#ûwüd<˜Cñxw§!ñ(¸Ýx)I?ýô“R©lŸ_JJJHHˆ 1݇M›6‘œÏÃÃãñÇïÛ·oËõ?^VVæëë;a„?%@Ô~aÚ‡BÈÍ\êé#9ŸÅb‰b^(€™ÃéýçM\Úç|ƒR©tÀ€ä³Õj-..®««€êêê7ÞxcóæÍ=zôp%´Öhll,**€ÈÈÈ 6ðù÷^ŒròäÉS§NõìÙÓ>ÔÖ0íC!ôÀù| Ãtõ¶¾6êná·y†iÍŠÃàààµk×r_†)**Ú·oßéÓ§ É'þ„´¯²²’ÜÔˆ#œÉùú3áJ^„B˲,c]0Šï!ဪڔþ½Î--óx¼°°°þóŸpñâÅ&«Õ××—•••””èõú{¶yÏÊVëÝÍ¥ýüüZ¸½ÆÆF•J¥T*-Ë=+744¨Tª²²2.’–k^»vM«ÕÚ­§qd±X”J¥J¥2.„Žþb°·!„ЃÁ ï>f ““µ™mƒP¡p[¯MÓ………õõök wìØ‘““Õ„……Í›7/""±{Vþâ‹/>üðC²*Þyç2N½páÂØØØ&c›2eJee%9¥¤¤$&&‚‚‚vîÜI*\¼xqÏž=ùùùä+Y¤2iÒ¤±cÇ:¶víÚµ;vœ?žäp4M÷èÑ#66vôèÑv5‹‹‹wìØqñâE.Û x饗&NœèØlNNÎÇ\ZZj6ßÝ4;**jÖ¬YaaaMÞú+ô!„ÐÃ0L©uÁè»Ã»™?×/b==%€,ã½7oÞ€ððpÛòëׯ/[¶Ì.¼råÊŠ+6oÞܳgOW+s+‘mïZè¢3›Í¶§Ï\v•——·|ùrÛ ‹¥¤¤díÚµÕÕÕÓ¦M³mJ¥R-^¼Ø¶Òh4^¹råÊ•+J¥rîܹÜ\ɲ²²%K–ØÝKEEÅæÍ› ƒ]³¶¹,EQ$MÌÉÉ)((HII‰ŠŠjîÖÐ_¦}!„ÚVsˆ,Ëk]Ã÷óà@E­yÃ1T*‰D¶ë9îGyyyjjª^¯‹Å/¿ü2W^SS“˜˜X__/ çÌ™3hÐ Š¢ÎŸ?Ÿ‘‘ÑÐаbÅŠmÛ¶ùúúºTùùçŸ6lØõëד’’`Ñ¢Eƒ ooïæÂÛ²e‹ÙlÞ¸qã¥K—ºvíš’’"‘´ZíêÕ«†¡i:>>><<œa˜Ÿþ933S£ÑìØ±ãoû›B¡ íh4šåË—ëõzŠ¢&L˜0lØ0¹\~îܹo¿ý¶ªªjÿþý½{÷9r$TWW/_¾¼¾¾žÇã½ôÒKÑÑÑ^^^¹¹¹™™™üqÇŽÇGš5 Ã.]º´_¿~æìÙ³›7o6›Íééé\¯$zX`Ú‡B¨ ‘‘\†ad"¦ÁL±À£(ŠôY­Ö'C,ãúßÞÝpD£1=<Ä­Îù®_¿¾téRòÙh4ÖÔÔ¨Õj–e‚ƒƒ¹š»víª®®æñxÉÉÉC† !…ÁÁÁþþþ«W¯®©©ÉÊÊš3gŽK•¥R©T*mll$|}}»téÒrÀdþŸL&±Xl[_­V“NÄñãÇ>œöèÑC*•¦¥¥±,›ŸŸÿä“OÚF3fÌøûßÿN {ì±§žzjîܹ‹%++‹¤}»wïÖh40oÞ¼¸¸8®Ù'žxâµ×^3 iiicÇŽ%?‚K—.‘™|o¾ù&Y"Ý©S§ØØX‹ÅræÌ0 R©ÔÙú À´!„PÛb&þ)fR4]ð«åŸ_Yêù$í“‹Ìo“ø|—{'+—ñôT‚V§}ƒ¡Éu=ö˜Ýðkqq1DEEqi1räÈÝ»w“E­«ì.}ûö]¿~½cù˜1cÒÓÓ†)--åÒ>aÏž=g̘a[988øŸÿü§R©îþ¹¿zõ*iœËùˆ®]»Î;7--­¡¡áæÍ›Ý»wnõF~~~tt4WyÒ¤I“&MrÓ¢?¦}!„ÚÃ0qOÐ"58T˜ø,³ò°…˲scx>¨®³¼T'‘HD"ÑýlzâííÍ­u`YV§ÓUUUåååegggggO:uîܹ`±XÊÊÊ@¡P\¸pÁ®2rzíÚ5òÕ¥Êm¤ººº¶¶Vÿ;.0òÁd2‘ÃÃÃ'DŽ1bĈä³Ùl&5ûôéãxn[ék×®‘´/,,Œ¦i£Ñ¸wïÞ³gÏŽ?~àÀAAAîšv‰þ|˜ö!„j[ Ãì9¥Ÿ=J1}éÙU†m'-ƒƒá¥h©öMMyÀÃCrŸSú^ýu»ÂêêêÕ«W_¹reïÞ½=öØðáùPH:ØdSZ­V«Õz{{»Tù~‚w¤ÑhvîÜyúôi­VÛB5¥RIöj±Ån·« ÉêìtïÞôÂ^½z•dϾ¾¾+V¬HOO¯­­-++KKK//¯çž{î•W^ñôôlí¡Ó>„Bm.íûú.^ì¸H˜9B¢Öê&“áÝSEúƒçÍr…çý ï¶ÀÏÏ/99ù¥—^bYöüùóÇç|ýüü|||š;‘ÛJÚùÊnTQQûömòÕÛÛÛËËK¡PÈår2¯ŽÃ àÞ3†V9jÔ¨¡C‡fffþøãJ¥’eÙÛ·oïÛ·/333>>~üøñ®6ˆ,LûBµ-@ÐÂÄýÚÎÞˆî!Ÿzw¢9¤k°&ÖÒbMÓm‘ó:tèСƒF£!sàBCCy<Ã0ãÆ›5kVËçºTÙvíÚEr¾_|qúôé\ךÕj;v¬íVÌÁÁÁB¡Ðl6·ðVb"44”Ïç[­V•JåxT¥R‘¼°W¯^¶å4MÇÅÅÅÅÅéõúüüü¬¬¬óçÏ744¤¦¦FGGûûûßߢ?¾¥!„P¢(ŠÇãI$HßÚ­)¯1ÙÝüMÍ ­P,óx¼¶›1f4kkk D"å¶AnK•ï·]‘——^^^óçÏ·N-,,´{ý†@  €Ë—/Û­\€‹/~ùå—YYY  CBB€¼5ØNaa!ùлwï&#”ËåÆ [¿~ý«¯¾ V«µÉvÐ_¦}!„ÚÇ …R©´¼N¸xwµÁx75¹Pjøì¬Y&“ …¶ëêc†,}€Çœ’̦  à?ÿùme½^¿dÉ’éÓ§¯\¹’+t©r+…B¸yó¦ífËd±ˆÅb±M-ËÁƒ[ K4ÊÊÊvìØa[þ믿¾óÎ;›7oþþûïm殺°Ð®òòòŒŒ H$AAA¤pëÖ­óçÏ_´h‘Á`°­H>àô¾‡ò"„r3Çd|>_$Éd²Ü_õË?«Z5É·úŽ%é –';³9³“SÒ´Zí©S§¸¯õõõ•••ÙÙÙä-4M<˜š1cƹsçjkkSRRª««£££===‹‹‹?ÿüsÒé5yòd®—*·'eæƒ>øÛßþàëë;hРÒÒR½^ÿþûïO˜0!((èÚµk¸té’c Ó§O?wîœZ­Þ·oŸÁ`6l˜——W^^Þ×_M6a™0a‚mMF³mÛ¶ÚÚÚÁƒ{xxäåå>|˜äv Ü#44ôÀ””´páÂnݺ™L¦ .|ôÑGàííÝä[ìÐ_E¶m´uçÎ>ŸßvÿðB!Ô: ÃX­V7¶Ù¿ó'íéDQ<žÃ˜­Åbill¬¯¯7™LEI$¹\~Ï®>†–e½ZÙBÙ³g·<³Íßßÿ_ÿú—í+×®]»öæ›or»+Û6lØš5kl£r¾²R©œ={6¼÷Þ{Æ k!$Naaá‚ ¸õ]ºtÙ»wﯿþš@ƦmEDDܺuK£ÑL›6ÛP~ýõ×øøxNçØþóÏ?¿hÑ"nåGYYÙÂ… ßP ³gÏ&¸„ÙlNHHàÕjå^ø»|ùò§Ÿ~Ú™D¾æ~Wð—/_nWd4ÛtŽB¡Ö!o¼ iÚm¶Åïü ¿ÒÚcÚG.ÄãñMÓ‰D(Þs£>+ ÁÞ¦±½Z¨sôèQÇ ‰ÇãuíÚ5**jôèÑK–,!û8:t¯¨¨¨ªª²­?oÞ<»â|å;wî|õÕW0f̘®]»¶|k„¯¯oHHˆF£!oÚðôôœ8q¢§§ç¨Q£”JeMM ™Ì'bcc—,YòÍ7ßètºÈÈÈÈÈH®OOÏAƒUUUUTT>Ÿß£G™3gΜ9Ó6…õööŽŒŒ¬¬¬¬¬üÿ™t§NfΜi·‡3ŸÏ7nŸÏ¯¨¨¨¯¯'å2™¬ÿþkÖ¬8p 3w‡ˆæ~W`oB=4–Þ¾Ïód{s=¥"pÌ%ɋچ!ùŸ3ûL¬‹ÐDï”[èõúÊÊJ@Ð¥K2ÍÎ]•]ÕÐÐ`6›I6ÌZ,–òòrpòŠõõõUUU</00ëák¡¦ÕjõööîСCË©}}½Z­–Éd;wvú†ÐÓÜï LûBè¡ñ°¤}U:~ÚÿyU‹E‚&2?ç±& ôñkLx²Î_a½÷ !hþwæv!„ÜÌ_a<@×ǯÑ` Œë;3,X0˜ _ãä:Ìùr \É‹BÈýÂ;›ýäu'”Æœr±J+¼Ýè8Ó¯Y,€‚f‚½ÍQ£B1çCÈ]p!„Ë /BèÁÂA^„B¡v Ó>„B¡vÓ>„B¡vÓ>„B¡vÓ>„B¡vÓ>„B¡vÓ>„B¡vÓ>„B¡vÓ>„B¡vÓ>„B¡vÓ>„B¡vÓ>„B¡vÓ>„B¡vAð @!ôhªÒñO(Å9åb•V¨3ò(§Od4ÓÝÛØ8*´Ñ_amÃ(jO0íC!ä~—ÕÂýyŠË•bZ< ¼$®Î°¼ëZºø7º@MO  ïln›0j_p!„›UéøûóEÕb©ŸeY’ùñ(Pi…N¶c0Ž;–]QQQWWçííݧOŸ>}ú 6,$$Ä®rzzºÉdš6mZëRŠû<ý¯Ìd2¥¦¦À‚ î?í{ï½÷T*Õ±cÇBBBÂÂÂ\:÷~Ȧ}!„ÜLgä¹´†ƒeY–e”eÙs¼‘}„;~2Ì¡x¼»ÓxÜntjJR~~~RR’N§ãJ´Zí™3gΜ9³{÷îÅ‹?ûì³®ÜrîG‰8LûB¹™K=}$ç³X,±QÌ %0s8½ÿ¼É6Wp¦ÁsçÎ%%%Y,ðññ=zt§N*++‹‹‹ Ìfóºuë®]»–àÚÍ ûööÛogeeõêÕËÕ®>äv˜ö!„z`È|>†aºz[_u·‡ðÛ<øÖ?¤×ëׯ_Or¾˜˜˜+VØÎê;uêTJJJ}}}ffæ“O>å¾;@÷Ö£G%K–<è(®äE!ô`±,Ë2Ö£ø¨ªMéßëîy–}ûöÕÖÖ@pppbb¢ÝJŽáǯ[·Ž|þꫯÜuX–U©T7nÜ0™L®žk±X”J¥J¥2-_B£Ñ“›uFyy¹J¥" q jjjŠ‹‹ûí7g#v†aÈMݾ}ûž•­VkYY™Z­¶[„œ„½}!„ nx÷Ù0kL˜œ®ÍÔh„ …k½ÙÙÙ ‹“““išv¬Ð¯_¿èèèóçÏŸ>}Z£ÑtìØ±ÉvV®\ùóÏ?GDDlÚ´ÉîPRRÒ™3gÂÃÃÓÒÒìÕÖÖnÞ¼977·®®Á3Ï<óúë¯Ëåò{Fž““óñÇ—––šÍw·¤ŽŠŠš5k–Ýx¨^¯ß¿VV–^¯'%>>>áááK–,ñððથ¥¥eeeõíÛ÷ý÷ßÿàƒrrrH‚ÈãñFŒ‘àíímÀ©S§222nÞ¼I¾z{{Ϙ1c̘1vÕÞyç³gÏíܹӶ>>‡"KplëwïÞý“O>ÉÈÈØ¿¿B¡ÈÊʲ=×jµîÝ»÷«¯¾â²Xÿˆˆˆ xzzÚpóæÍ-[¶\¾|Ù`0€D"™2eÊ”)Sø|ÜÓјö!„z`†é µ.}wx7óçºãE¬§§D Øæ-+--­¬¬€ˆˆˆ®]»6Wíí·ß®ªªÛ<ÉŽÅba¦É¾1rˆKÎ8·oß^¼x±J¥²­yìØ±êêê”””–“’/¾øâÃ?äÖ/“¬œœœ‚‚‚””n0ša˜U«V]¼xÑöÜÚÚÚÿþ÷¿J¥rãÆþþþ¶AÆU«VýüóÏ\e†aNž­R©´Z-—;êõúË—/“îºÒÒÒž={r—ËÏÏg&<<¼…G—ššzäÈÛ’ªªª~øáòåËk×®µ]A\SS³lÙ2òã#vìØQQQ‘˜˜ØÂFv0íC!Ô¶šcYX낾Ÿ*jÍŽé¤R™H$rií'—£8nÑbËËËËËËËùftôèQ>|øèÑ£»víúË/¿dee)•Ê .lß¾ýõ×_oîD£Ñ˜‘‘Á0L``àÒ¥Kûõë§ÑhΞ=»yóf³ÙœžžÎõ«íÚµ‹ä|C† ‰íÖ­ÛÕ«W³³³Ož2ž;wŽ}†ŽJNš4©§Ëß¿?Í|~~~O>ùdxxxeeennîéÓ§ëëëm‡?ÿüs‘H´xñâ‰'6ìâÅ‹;vìhmmýâ‹/~ûÛßbmç!öÀ ¢•\–eå.l‡YÀ¡@  #[V«uº¿åWnVBßÍÖjÛ%nnÒ¾®÷Á?æ8ö žéÓ§oÞ¼™OúûûGGG/Y²D§Óedd<õÔSžžžÝnuáÂú$ßòåËÃÃà !÷ÜsÏœ9s,Ë™3g!ííí2™ŒrãÆ¨¨(77·W_}•–°½½½§NZ\\¬ÓéŠŠŠºî|ÆŒ6l §äíííçç÷ì³ÏšÍæÂÂB>öíÝ»—.v³xñâçž{Ž6‡……­\¹Òvâçç7|øp­Vkûè€"Ã0F£1??ÿw¿ûm§§$‰"""º½vN÷þûïB<<<Þ}÷ÝaÆÑC<ú裛7o>uêTUUUQQQXXí/6nÜøÐCÑ}||d2Ybb"Çq/^Dìs¦tÀàbYvÙÃìñÌÖg„nŒ…½Eáb^õ+W±H@ùââcY¹\.‹ûûF=ðgß™LöÚk¯Ù–¤ÕjõªU«èg:ðÖ-~ö†]n›?þÖ­[·nÝJ3!dÅŠIII ¶-ŠÅâ™3gB4]D#„,X°Àö”¼¼¼h½µ¶¶–o¤ç¸páBÛm'L˜Ûõ„£¢¢!………|˹sç!‹-"„\ºt©££ÃöŠBCCùK°SVVF?¬^½šf>ÞÊ•+ÿûß?ÿüó¶ÿøùùñ™zä‘Ghµúßÿþw·‡€n!öÀàbY6öAÆÕE09@²î !ÇZ¬V«ÕjýC´Ð×CLij±üõ¸ÁÕÕÕÅÅ¥O軺Þ|4P¯×ð©;!  k¸ ¦ľã8°xñ⬬¬êêjÇTFceeeqqñ™3g¾üò˺º:rk<Õ¶Ã0]>½¼¼!t>ÝÆÒõ1JšíÐØWUUuãÆ Bȵk×]\\舦Õj½pá=Ÿââbâ°ÂËǾ &ØýÊÍÍí÷¿ÿ}\\œí9Ùut•Ïšà y`p±,»?·uIŒ’2#˜YÒØ¾ó´e²y*JN;¤~Ö\Ó"vssíßë<<<è‡ÊÊÊ|p NÛIÝV–‡ ¦T* CEEEOzzz®_¿>--M§ÓUVVÒ Â*•jÖ¬YÏ<óŒíTVŽãrrr222ÊËË»ìu¥T*»¦g»Em®^½JwÕí»×º6>ðÀB¡N×ˆŽŽ¦Þððp†a&Ož|üøñsçÎM›6­ººšÎh¦1±[W®\!„ 6ÌÁô[]' Bº² Ža´]êɶ/.Þ ŸãrýM»ìQZÞÍ-m=œo–Édý(ïRüj,•••uÂÎëiƱ33‘cbb:´téÒ±cÇÒþׯ_?xð`ll¬í×;vlÞ¼ùÊ•+,ËJ$Ÿûï¿?22räÈ‘ý>í~¬{§P(î¿ÿ~r«ÎK+¼4gOž<™’ŸŸÏÿÖÃÃcìØ±=튦Rg", ,ŒöÀà‹ÅD²î~„Z6ÆU"lœ{sŒÇÐaÝü‰ž‘ʆé÷›[CCC鬂’’‹Å"wÿW[yy9­-FGG;žÒÛu©bó¡FÓµQ§ÓÑJ¨ƒèC1 ÛÚÚZTTtìØ±üüüŽŽŽ”””¨¨(ooïúúúÇB<==ÆÏäíÛ·oÏž=Ž÷ß:tg»ô ¯§=yòä’’’¢¢"“ÉDà£ï‹Åuuu555´}Ò¤I‚o``à™3gôz½ír0ð€Ñ>D@(ºººšˆlՇښ柼ÁbÛgÍÕz‰T* …Î/Ôg‡aZO¬««Û¾}{·}¬Vëo¼‘œœ¼sçN»r§-¥RIéú² ‹ÅÒS¹V£ÑðÌñ¾ÿþ{ú_Ó¤W …bÚ´iIIItR­Õj---%6>ž~úé°°0Ûê-}„®†¡kңعtéR·[ÑïY£Ñ|óÍ7F£qäÈ‘tÄÑÕÕ•>¥—ŸŸOGûTx !üÜÛ®ÓÛÛÛ9räÈ‘~ø¡¯½Bì€Á% %‰L&«i‘¬þ°©Ýxk¥·ŠöòÌr¹\"‘ô{¨Z¸p!MYYYô¶¬Vkzz:Á0{ö잦—’[ƒsÍÍÍ%%%¶í‡îéýfííío¿ý¶m‹^¯çßäá öíØ±céÒ¥+W®´K¾¾¾ô}¼Õ‡ÝÜ…Ë—/w»t‹óèÅ–””|üñÇv{¶kẹ¹qG—_±}’’~þä“Oôz½@ xàúþûï§^©©©ÞPs IDATZ­ÖöWiiiÛ¶mÛ¶m}@b °®O‰D"¹\~ñߢµ5joXJj:ë…b©3‹3÷úZ``àܹséç-[¶lß¾ýêÕ«F£±¶¶ö_ÿúW|||FF!„a˜§žzÊÁ~ø”–˜˜˜››[WWWPP°}ûöôôt[åæænÚ´)77·ºº:;;{íÚµ4ÊÄÆÆö´h!$  ¬¬¬°°0!!N°èììÌÍÍݵk!D­VÓUë&NœH¿ŸÌÌÌìì즦¦«W¯fff®^½º×7í:G3ezzúŽ; ËËË8ð—¿üÅjµv»‰P(¤yŽ.Ó5öÑöÀÀÀ®oW³¥R©^|ñEBˆ^¯å•WŽ=zíÚµ¼¼¼äääÏ?ÿœâããã88BÿàÙ>`J†e9¡ð§5[‘HÄ0 Çq'¿o˾X+\]] ™H$r\Þe9¢dzöÙ²e&“);;Ûd2efffffÚuðõõMLLìém¼TdddLLLNNNccㆠøvww÷   ï¾û®ë& ,8}‹mû¤I“h²éILLÌÑ£GKJJ.\¸'‹­V+iÁ0ÌK/½DÓž\.Ÿ7o^ff¦Á`HNNæ7 …3fÌè:´é<__ß 6¬_¿žeÙŒŒ šŒ©9sæœ>>¶ßÕòåËùÐÙu!~.""Âöõ¾ÄfðÏ.öõtV/¿üòâÅ‹ùõw!?üpzz:¿ðaO§Áÿ é°Ov5uBÈ7D"ÑÏ|Ì˲V«ÕɥΜ4÷ü å.ºË\H׿é‹Úè{`…B¡3åÝvyvbKlx›ó'P]]]WW§ÓéT*Õ¸qãTZ¨««ëììôöö–ËåÎôgY¶¶¶Öb±øøøôuI¹¶¶¶úúz¹\>bÄÝôz½V«>|øÀÎ~å8N«Õêõzwww//¯ÿp²Z­ÍÍÍׯ_÷ððp< Îëé^Øp׸[b_£A”ú{i“ÔEÜMòsGˆÉB‚¼:WLoñVvÿ´tÕÓ½Ù˜·Òº ÜäÕÙn"–t[ðuŒåˆ…%í&äÕ¹ Ü€Ì0 0¥^è³—¢%Gc,¨‘Vé%×;…Îûq„(ÖOmŽôíŒ èDæ((òÜ5î–"/Ü^(ò iˆ}CbÀ€Ø0$ ö ˆ}CbÀ€Ø0$ ö ˆ}CbÀ€Ø0$ ö âÛ}ðËÔhåh¤5Ò*½Ä` œÞ#DɰcÔæHßΘ€No¥uÏ`(Aì€w©^r¨Py©Aʈ‰P@T®}Ûœå„WõLÙLq=³ Ü:Â<8§ 0´ È ¬Ñ :T¨,m’Ê\ˆXHú0Ðw‹P@ÄB"s!¥MÒC…ÊFƒhN`Èé&öq÷Ÿ?pƀߢ㞟£‘^jºˆIßóÞOq“K Òt`Î `Èèömy`€ÔH™¾g>»¿¥!D@#&5ÒØð¶¾ž†ÉdrqqéëVÐ­ŠŠŠK—. …Â'Ÿ|’þÑ «ÕšÍq\xx¸ŸŸßîºBì€V¥—ôµ°Ëq˲,ËBH$â8ŽÆ ¡€Té%Nî§½½ýĉ§Nª««kiiQ«ÕAAAAAAÓ¦Mó÷÷ïãuÀÿËÏÏOOO'„üú׿‰²æn2™RRR!ñññˆ}ƒ ±˜Á(ìÓŽã8Ž ,¯Î>$yÿ_ÆÃ¡ðæcHB¹ÞéÔ“èEEE ƒoÑëõgΜ9sæÌ‡~¸zõê'žx¢/×ðKƒØ¬O#}4óY,–9‘ì“®„¸hæP¾‰}Nîð»ï¾KHH°X,„™3gÞsÏ= eeeÅÅÅf³ùwÞùá‡V¬XÑ·‹øAì€Û†>ÏDzì(µõ17G?/lgÙ¾-4ÑÚÚš””D3ߌ3Ö¯_oûT_nnî–-[ÚÚÚ²²²¦OŸ9pWp7Á.p;qÇ±Öø‘›«RÕdJ;ièu+;Ôét„??¿uëÖÙÍ䈎Ž~çwèç£GvÝÜjµ655•––Ö××[­½¬ÝÙÙYUU¥ÑhhÊtÀb±h4šªª*£Ñè ÇqZ­¶¬¬Œ^B¯,Kyyyee¥3 !z½¾¬¬L«Õ:žµíüuýÌm›››ËÊÊ~üñǾ~>ŒöÀíÁ—wŸ±ÎQÐÆ·²´ú‰RÙ·Q‰S§NB¤RéæÍ›†éÚaüøñQQQùùùß~û­V«>|8m·Z­ûöíûôÓO¯_¿N[ärùÿ÷¿øâ‹b±ý_‘çÏŸß¿QQýQ,ûùùÍŸ?ÿñÇ·ëYPPðü£¢¢Âl¾¹ÐtddäâÅ‹CBBl»µ¶¶:tèØ±c­­­´ÅÃÃ#44tÍš5nnn|·ÔÔÔcÇŽ¿öÚkiii………^^^‡vðÆ÷Þ{ïÌ™3|ÀrwwŸ;wnll¬ÝWäüuuÕ§mssswïÞ}íÚ5ú£Z­~þùç{ì±^±n–e‡É¬ñ3o–w³Î¶üo)çîî*‹_%¤¢¢¢¡¡6jÔ¨žº½öÚk„ÛD•œœüÙgŸÙvkkk;|ø°N§KHH°m/,,\»v-kLÑQ··Þz«©©iáÂ…|û?ÿùÏ÷Þ{Ÿ•LÇØ Š‹‹·lÙ—˜Y–Ý´iÓùóçm¢Óé¾þúkF“œœìíí͈eÙüqÍš5õõõÎ|'Z­víÚµüˆ =–––={ö”””¼ùæ›|¨uþººêÓ¶çϟ߸q£mg½^Ÿ’’R]]íÌÁ€@ì€ÁÕSm‘ã8ÂYãgˆ¼ÜD„:ùÝ™Lîââb;Ÿ£W|np¼D‹J¥R©T¶-û÷ï§™/""bÞ¼y÷Ýw_EEEffæÅ‹¿úê«‘#GÆÅÅÑžz½>11‘eY†a–-[ʲìÙ³g³²²´Zíûï¿ÿ›ßüF©TBŒFãîÝ»Y–õõõ}å•WƯÕjóòò¶mÛf6›ÓÒÒöîÝK÷¹oß>šù¦L™2gΜ{ï½÷Ê•+§N:}útMMÍáÇ_~ùeÛ³¥™5$$dæÌ™ŽcññãÇ+++Allìüùó EIIÉž={ŠŠŠÎž=ûí·ß>üðÃ}º®®ú´mmm-í,æÎ;eÊ™LVPPpäÈ‘¬¬, ±­ä²,+wa;ÌŽ|²Z­Óý-¿šp³¼ûn¶VÛ.qs“ö)óBøúlŸVæÓét|ð!dâĉ[¶l¡zyyEDD¬Zµª´´tÿþýÏ>û,m¯¯¯¿ï¾û!³gÏŽŽŽ¦{;v¬L&KMMå8®¨¨húôé„ .Ð'ù–/_N¹çž{æÌ™c±XΜ9Cioo—Éd„7nDEE¹¹¹½úê«´êêíí=uêÔââbNÇ—MmEGGoܸ±kõ¹«¼¼m»wï^º°ÎâÅ‹Ÿ{î9Ú¶råJÛ!@Tˆ}0¸X–]ö0;?Š)þ·å/G--"û.æU¿r‹„/.Þ8v‘uwWŠÅâ~ǾѣG;¿Õ•+Wè0äþðÛ) R©ôw¿û݆ X–Õh4AAA„ààत¤®;yì±ÇÒÒÒX–­¨¨ ‡Ÿ½QTTÅ÷œ?þüùóm·ív)±X[MMM:®õÚÈÏ` aÆh48p //oöìÙ£GvP“5µµµüëêêÈ­QRÛnJ¥r̘1N^Ýĉ«ªªÚÚÚbccgΜùðÇ„„Èår›8¾.Çok4é4Ž®ßChh¨“?b .–e÷ç¶.‰QBf3KÛwž¶Lö#OEÝL!©Ÿ5×´ˆÝÜ\û:ÎGyxxЕ••>ø “[ñ±oݺu=õ©¨¨à?kµÚ½{÷~ûí·ŽÃ¥§§çúõëÓÒÒt:]eeejj*!D¥RÍš5ë™gžqwwç{r—“““‘‘Q^^îL•³ÛÊ=Y²d‰V«ÍÍÍ5'Nœ8qâ„P( ]¸pá¤I“l{:y]ÝrrÛ«W¯Ò ìöÝk}=.ôb ºÔ“m#Uܯ&ºBâr­×æN’Òònniëá|³BéÞò.ůÆâüRväÖD@Øëžëêê–-[ÆW“ÕjµJ¥R*• …‚>±g+&&fêÔ©YYY_}õ•F£á8îúõëÌÊÊZ¶lÙìÙ³i·;vð+°H$OOO777¹\ÞÐÐP[[ëü…tK¡P¼ñÆW®\9tèPAAÁ``Y¶¨¨¨¨¨(88xË–-t:sŸ®ËŽóÛ:^/þ“û`p‰Åâ"YwH?B- ã* 6ν¹„Š¡Ãºù=#•3 Ó¿ÌG ¥uÕ’’‹ÅÒÓÓoåååeee„èèh•Juß}÷}÷Ýw"‘(55µ×´}ûöÑ|3oÞ¼E‹ñƒvV«õñÇïºÂ3Ã0±±±±±±­­­EEEÇŽËÏÏïèèHII‰ŠŠòöö®¯¯§™ÏÓÓ3!!aüøñ|u{ß¾}{öìéßWa'00pÓ¦MÇUUUåææfeeéõú’’’ôôôW^y¥×Õ¿ïÄßß_(²,[UUÕu?} ëð3á-0ˆP(tuu5Ùªµ5Í&Ûßnû¬¹Z/‘J¥B¡Ðù…úì0 C'OÔÕÕmß¾½Û>V«õ7ÞHNNÞ¹s'À1nÜ8BˆÅb)--íõ………„•JµtéRÛBmII‰ãl¤P(¦M›–””D§¯Z­Vz8~¢îÓO?fûDcqqq¯çÓ'ÀÏÏoÑ¢Eû÷ï§“ˆ/_¾ü3¯«OÛ2 C×Sìö«¾téRÿ® ú±—P(”H$2™¬¦E²úævãÍçØÎU´”g–Ë剤ßC}ÔÂ… ijÌÊÊ¢oì°eµZÓÓÓ鬂ٳgÓèÃ×v·oßÎÏá ¾üòËE‹-Z´ˆŸêAן³X,ü[7è]ß“±cÇŽ¥K—®\¹²½½Ý¶Ý××—~  I¡¸¹lÝ¡/_¾ÜíÒ-}RSS³téÒ¥K—fggÛ¶+ zt>¥9]]õiÛ±cÇBJJJ>þøcÛöË—/ÛµÀ B‘X×'¹D"‘‹‹‹\.¿øïÖµ5nšïÙtÃ’pX/KYœ¹×GÃçÎûÉ'ŸB¶lÙRZZ:kÖ,­V«Ñhy䑾^WW}Ú6..îìÙ³­­­éééz½~Ê”)r¹éuXb 0%òœPøÓš­H$b†ã¸“ß·e_¬®®® …L$9.ï²Q2½Ot]¶l™ÉdÊÎÎ6™L™™™™™™v|}}ùY„^x¡¾¾þÔ©SÅÅÅv¥U…B±zõjþ1ÁY³fD´’˲¬Ü…í0 8"tËjµN÷·üjÂÍŠç»ÙZm»ÄÍMÚ§ÌG¹~ý:ýЧ•ùš››?üðCBˆ——×»ï¾ëîîN3fÌ´iÓD"ÑñãÇ5ͧŸ~º`ÁÛ­ÄbñÿüÏÿÓxà77·={ö´´´ìÛ·oíÚµ¶§OŸ¾yóf:léïï½dÉN—‘‘ñÔSOyzzv{b.\ Oò-_¾œŽ ÞsÏ=sæÌ±X,gΜ!„´··Ëd²úúúûî»2{öìèèhºíرce2Yjj*ÇqEEEÝ–ž©7nDEE¹¹¹½úê«´,îíí=uêÔââbNÇW !{÷î¥kâ,^¼ø¹çž£ÁÁÁaaa+W®´„;¦tÀàbYvÙÃìñÌÖg„nŒ…½Eáb^õ+W±H@ùââcY¹\.‹ûûFíüVW®\¡Ö¬YC3oåʕÆ ³íÃ[¸p!Ÿù¨E‹BÊËËmÛe2Ùk¯½f[ªV«Õ«V­¢Ÿí:ÛâgoØf/BÈüùó·nݺuëV™LF NJJJJJâ3õØcÑ/°¢¢¢§CBV¬X‘”””`û(¤X,ž9s&!D£ÑðyŽžj`` ]Õx„ ±±±w ŒöÀàbY6öAÆE,˜ Y÷ûçO,,r÷‡B_1!¤©Åò×ãWWW—^ßÑ•«ëÍGõz½ó[ñ‘În’!D,7.//ï‡~°ûUhh¨]‹@  ¢óm-‹X|ó/Ö€€šÏlñ‘±¼¼|êÔ©ÝžXHHÃ0F£ñÀyyy³gÏŽˆˆ=z´ƒ‡›ššt:]ë-´ÑÉY½F£±¶¶–ß¶®®ŽÜ£¥¿¥Ó8BBBºž@×oîpˆ}0¸X–ÝŸÛº$FI™Ì,ilßyÚ2Ù<uó±¹ÔÏškZÄnn®}ç£<<<è‡ÊÊÊ|ÐÉ­h¤6lX·ójÇŒ“——WWW×ÚÚjÛìÙ¡Åe³Ù\]]Íwè¶â--M§ÓUVV¦¦¦BT*Õ¬Y³žyæÛI­V»wïÞo¿ý¶Oy(ó€Ü ùIDAT—â8.'''##£¼¼ÜA¡öêÕ«ô·Ý¾{­Ûoîdˆ}0èRO¶Tq¿šèF‰{ȵ^o˜;IJË»¹¥­‡óÍ ¥{?Ê»?ß¶²²Òù­zšhBñ#[Ž»ÙuîµÑA»­˜˜˜©S§fee}õÕW†ã¸ëׯ|˜~–H$žžžnnnr¹¼¡¡¡¶¶–ïæÌåÃ]±—X,î ’u‡ô#Ô’°1®‘`ãÜ›K¨:¬›?Ñ3R9Ã0ýË|„ÐÐPZ-))±-³Ú)///++#„DGG«TªÀÀÀï¾û®¹¹Ùn<ºzõ*!dĈv“a5M×—|и)‹ï½÷^Ûž]ÏA§Óݸqƒ2vìXÇÅ0LllllllkkkQQѱcÇòóó;::RRR¢¢¢¼½½÷íÛG3ß¼yó-ZÄZ­ÖÇÜjµ:Øy}}=Í|žžž ãÇçkëûöíÛ³gßÓßß_(²,k»Ý…Ã]S:` ¡Pèêêj"²Ujkšò¦ŠmŸ5Wë%R©T(:¿PŸ†a¢¢¢!uuuv‹êñ¬Vëo¼‘œœ¼sçNúÀÀ@ú«’’»Î‹…–€ù>¼K—.ÙµpWZZJñóó³Mœ¦½½Ý®ó÷ßO?ÐI¸ÎP(Ó¦MKJJ¢³h­V+=\aa!!D¥R-]ºÔ¶ò[RRâ8ó›É"O?ýtXX˜íó”ÅÅŶ=†¡K!ÒƒÚéúmÀ±—P(”H$2™¬¦E²úævãÍ'ÉÎU´”g–Ë剤ßC}ÔÂ… ijÌÊÊ¢oì°eµZÓÓÓéÔ„Ù³gÓ™|¤KNN¦#p¼mÛ¶577“îbßè!ï£>¢ê7ζ½½½ýí·ß¶mÑëõôA=â0öíØ±céÒ¥+W®´Kü[ChȣË…ý‘/Ý:Ànvttض_¾|Ùnú0¹50YRRòñÇÛu¶k;ŸÈn‘!BˆÑhü9ÿê€ABÀ“J¥¸ÏÁ¸çtA)•ü¤ExË5­åjC[ÔXתMëê f©«««H$r|²0ÂÑ‹z‡n0èˆT^^Þ7<==e2Ycccaaá;ï¼óõ×_B†Ù°a}2™Ìjµ·µµ]¸pA H¥RnèJËþþþ«V­¢Cƒ—.]*(( „°,›——Gÿ®]»–••uàÀBˆ»»{BBSû÷ï§ãm×®]«ªª¢ci¹¹¹ÿûßkjj!±±±?üpO×¢×ë³²²JKKÇçîîn4óòòþþ÷¿wtt¨ÕêåË— ‚úúúË—/›L¦ºº:µZÍ0LqqqJJÊÙ³gé~&L˜A?ÓSâ[† öñÇsWQQ¡T*ÕjuSSÓW_}õöÛoó!òù矧Y< àË/¿4™L.\hoo—H$ƒá‹/¾xï½÷ø`ÕuB4ÜF=Ý+ðl 0%òœPøÓ '‰†á8îä÷mÙk«««B!ë5ó±Q2½¯ ¼lÙ2“É”m2™233333í:øúú&&&Ú¾omÉ’%ÍÍÍŸ}öÙ•+Wì–èóòòJJJ²{E‡J¥š;wî|°k×®]»vñíB¡011Ñö„ œ¾Å¶}Ò¤I/¾ø¢ƒ ‰‰‰9zôhIIÉ… âââÄb±Õj¥S+†y饗h›5kÖÉ“'u:]NNNNN¿yXXXmm­V«up¹\>oÞ¼ÌÌLƒÁœœl{!3f̰.õõõݰaÃúõëY–ÍÈÈÈÈÈà5gΜ“'Ov­eà E^`cÔf¶»  b±˜a¹\®P( …L&sfö.Ë‘1j³ã>„‘H´fÍš×_½ël ºúÉîÝ»».8²fÍšE‹©Õj¾E(>ôÐCûÛßl"± …‹-Z±b…¿¿?UG˜˜hûB^zE>>>©©©Ó§Oç+ªb±xÖ¬Y7nt|ɉ$---..ÎËË‹b±X8Ž“Ëå‘‘‘»vízôÑGi·Q£Fíܹ3""‚ŽGÒýÏ›7ïÍ7ߤ-¶OìÑ#Ú¶ÄÇÇÇÇÇÓCPþþþIIIS¦L!]¦Ož>>¶_éòåËù ÚÕá¶týAKKK¿gÑÀàaYÖb±Ø½RâgŒ{þÇ…òÝe.¤ë ­=ѼҲ¯ã]q„´›È³[bÃÛœ?êê꺺:N§R©Æ×ÓkÐxV«µ¹¹ùúõë Ãx{{;SF7 jµzذa½ŒV²lmm­Åbñññ±}%†3ÚÚÚêëëårùˆ#zêc±XhíxäÈ‘‰¤§n=ÑëõZ­vøðá¶Ù·[ÇiµZ½^ïîîîåå…‡Áîd=Ý+ûîwKìk4ˆR¿q/m’ºˆ»I~Îã1YHWçŠé-ÞÊ^f§¯§{² 0o¥uA¸!È«³ÝD,,é¶àëË KÚM$È«sA¸™`@`J ¼Ðf/EKŽÆXP#­ÒK®w öãQ2¬ŸÚéÛЉÌ0PPä¸kÜ-E^¸½PäÒû†Ä>€!±`H@ìû†Ä>€!±`H@ìû†Ä>€!±`H@ìû†Ä>€!±`H@ìû†Ä>€!±`H@ìû†Ä>€!¡›ØÇqÜþ<À~‹Æ=à©Ûÿµ»‰},ËþÉ@ ø-÷|€_¤nÿ×î&ö‰D"–eñï?€; Çq,ËŠD¢Ý-îù¿0îÝÄ>™Lf2™p ¸£pg2™d2ÙÀî÷|€_÷ŠnbŸD" …f³#ÿw–eÍf³H$’H$»gÜó~Iß+ºŸÉ«R©¬V«ÑhÄÈ?ÀíEë5F£Ñjµº»»Æ!pÏøpæ^!Ðjµ=mÜÒÒb4Åb±D"ð§I WV«Õl6[,•J%é@¸çÜÕœ¼Wôû(³ÙÜÖÖf2™ðO@€ÿ0@@+5r¹|Àk»ÝÂ=ànäü½¢—Ø¿ xKÀ€Ø0$ ö ˆ}CbÀð÷âÑuœþ,ÃIEND®B`‚traitsui-7.2.1/docs/source/traitsui_user_manual/images/move_up_icon.png0000644000076500000240000000113614046644454027134 0ustar aayresstaff00000000000000‰PNG  IHDR‘h6%IDAT(cüÿÿ?)€M1P{Oω͛î211ØÚÉÔÕÙ²²2!«Aá%JKw?~ôiÇÖ ]»BÿþýŸ™¹Y5ˆ tôôOMÙöÿïß·þϺ.+Ý_Uµ®È@h8pà¡»çÊ¿?¯¸ñßmÉ?Û™ß&øô÷ï¯ÐÐõ«V]ƒëjxÿþ‡•ÍÒ[×^Ÿ}ùßgù?¿E?Üf¼3j}²êäëWÏÞZÛ-}öì3D#˜b¨¨Ü¯¢&ì­—µ‰áó×_l¿¿ÿøúõíûï_>~Yž#óôÊ«í;MìÊ †Ógžß~ð%%QoÏA–ß"Ìß¿~ýþíóO [š—aÑÎg^îÒ?~ÿÙ½÷ÔÓvÞ+ŸyþýçŸ/ßÿÿý}òî7ú ÷ÔŠ.̾ññÍ›‡O^¿ÿöòõ§–®ËÎÅÃ7F†Ió.0~¶U›qs°ÿúˆØ˜Y^½ùYÑq† è†_àiX5ÍãÝ›ol¬ÌMmGŸ½úÎÀÌòóË·Ÿ_¿þÿÃþêãÏõ5Ùÿúý_¨¤AQ–ˆ€ ^VVƯŸ~|úøåû§o_>s13ñˆIóêêˆe!%iüùÿŸ‰‘ƒá?ëN¶?œÌÿþ3þÿóÿL1ˆFÑðëï¿_ ŒqŽ"6ªì~ÿd»ûìÛo<䕚ç]PÝÉóïÈTFÆG¯¾©(!ÛŠ8d>A6 rJLS~ªIEND®B`‚traitsui-7.2.1/docs/source/traitsui_user_manual/images/TableEditor_demo.png0000644000076500000240000021524314046644454027662 0ustar aayresstaff00000000000000‰PNG  IHDR@…iÚÌ pHYs  šœ IDATxœìÝwXWÛàgv–¦ ±ÅŠ ˆ…X°Å‚&öÄ?õµ`ÞDõ5 –QbŒÝM41b‹J5ö†ØÐ¨ˆØQAD¤ l™™ï㺠җÅß}yyíž93svgg˜gNã’’’¨dxžW«ÕZ­VÅn  2‘Édr¹ÜÔÔT.——pSŠ’¬,Šbvv¶F£‘Éd2™¬„E¨dDQÔjµF¡P˜››sWìM?€E133S¹\Îq\I PY‰¢(Š"Ïó/^¼°´´,vø\üjó¬¬,AXÝ;¢w€|qÇbgQ³²²Š½bðZ­V«Õ¢å<@a°šEÓÅÜBñVS«Õh6Px,ŽV«ÕÅ[½˜Û‚©œn%Z° Àè C¬ ‚••…AÌéß.Š"ǽìÞÎ^ˆ"‰ÇRr2JÿëÎZÀq$ "ÇzÏçfVÈ)&ÕLR1±€1Bo`‚ hµZ333C*^)g8:݈\”¨ËY”áçÆù¤?é Ëü2æÏY=Cc‚é ŒxÃãyÞÐE€Š‚Åï”}ÓËøÜxœÕµqÇ}ÔŽëÙT~â¶°í¢ êOŸ;œ=KωÙ9QÀ)ð†g¤Uzzú¾}û"""²³³{÷îݽ{w"ºvíÚš5kÚµk7qâD–-,,ììÙ³2™ÌÛÛ“¿/±ïIÌ ¿Es—ÕsD4¶×½‰Œˆz7—ÉeôçyQs'œãHÌi>ÏI[ckñFù["# àoÞ¼¹iÓ¦V­Z}òÉ'†.‹!ÍŸ?ÿáÇÖÖÖK–,‘Ëåùæ9~üø¶mÛˆhùòåÖÖÖ¥µëÐÐP//¯¸¸8ö6++‹ð£Fºyóæ† \\\:vìHD‡þæ›oˆh„ …QþÞÊë/ ,ê~ÙBž(§=íÕ!'zgz4•©µÂæQ§G<‘˜“Y÷±‰q>,*}·nÝú÷ße2Ù¨Q£Œý¹R¾ŸeÛ¶m¦M›6-[¶,ëà‚ Pn PÅÄĬX±‚ˆ<==½¼¼^—M«Õúøøð<ïììh½¯:)ßoÅñSzÈ9Ž>h-EaKHn/ùÜŽï$ fO”È—¾C‡ݺuëuK¶nÝZ¿~ý2Ú{©Ø»wïíÛ·íííGmè²¼B«Õ.^¼øÙ³gDÔ¸qãI“&•âÆ¯^½ºsçÎ2|þùçðù^Ÿ={¶~ýz">|x?îFÄÀ¼R©0`À¶mÛnß¾}ïÞ½×ÅrDÄqÜСC‰håÊ•›7ovqqAm£ÕjGjnn^»‹ŽŽfýö‡ ¢W{ÙªU«uëÖ•C*+^Ô­kgÝÚs:Äqµ£ÛäDï+Ž ÁDDA÷8Aä¿ì)ç8ú°Là Û.IO¤qïrÞòe< ¼••U»ví¤·III<ÈÌÌŒ2dÈ–-[š7o^¦(‰þùçðáÃ-Z´¨hü©S§XôND¥À'&&‘µµu«V­òÍ`eeUðò½ '&&®Y³†ˆ\]]À”÷:t(ë¤8sæÌ¼233;FDîîîDÔ¬Y3Öd$wïÞ1c»c.<""¢€µV®\©P(¤šº>ø@¡P(ŠŸþ™¥øøø( ½>ºº6mÚ”ïtñjµÚ¹sçÚÙÙÕ­[·}ûöõëׯ^½úŒ3Ôjµî¦¾øâ …BñÞ{ïEFFzyyÙÚÚºººÐÃ(ðiyDNË‹¼ÀiyQË‹¼@¼@ŸvÌ9[לþ¹NZx!ç^ ƒá´æTNíú¨2>7mA›ó‚Ê:€ÏËÊÊÊÏÏUË_¾|Y£Ñèe(Ò ›””–`¨¹´ZííÛ·#""²²²Êg©©©Ç'¢ &XZZRn<_ZX_«V­RÜf!õZ­ÕjoÞ¼É ¬+;;ûæÍ›Ò˜š¬^ÎÇ Ô>€'¢!C†Ñ£G®^½šw)k?offÖ¿–òã?:99åmð©Õj—,YâêêÚ¡C‡têÔ©eË–¾¾¾RÌpãÆ '''''§ýû÷ë®xîÜ9–¾eËÝôððp–~àÀÝÄ7Þ)–'33³-[¶˜ššѸq㤦¶óööþþûïããã¥F³k×®^½zðé´Z­Þ¬õ<Ïó>>îîîmÚ´ñòòrsskݺõŠ+²³³¥þøã>}úQ```)>šdñpÝÞHk×.''§Þ½{³·ãÆË{Õ-䡟3gŽ““ÓàÁƒSRR&L˜àââÒ§O77·.]º°£;qâDggç>}ú´oßÞÍÍmÉ’%yKXÈcPñU”žµf±º®”””   "zÿý÷¥®˜¯‹¿ýöÛ•+WêF°ééé¿ýöúŽˆš4ibaaÁóü… tW baä©S§tÓCBBxžÁÝݥ̟?¿_¿~:u:yòdÉ>tijÕªÕ‚ ˆèÉ“'ÞÞÞoÌ?wîÜßÿˆÚ¶m»víÚ›7oîÝ»wìØ±Dݯ_¿´´´|Wœ8qbDD„t˜Ö¬YñŸÿü§Eýè£ò݇~ÈR.\ÈÊÖ½{÷½{÷>zôhß¾}žžžD´uëÖï¾ûNoƒÑÑÑQQQ:uZ½zupppÁãiW|¼@¼ÀåV­s:uìœï?bŸ¾0Òò¯Ô½K«ðí £¾+ßDi--Ï"üœœå_Ϙ˜˜°º!÷OX&!!aàÀ›7o~òä QΠÉÉÉK—.8q¢Êò¹ò·¼Ž|‹Ç.)zùuƒÉßÿ}Ô¨Q×®]S«ÕÒTmgΜ>|¸îCøøx77·¡C‡²‡’¥‚Õ··hÑ¢Aƒ|ð%%%±«b©`|Íš5‰ˆçùüûï¿*•ªð[л çýžó~ù…<ôìy_VV–··÷áÇ¥‡tQQQŸ|òÉùóç|èÐ!!wd‡„„„•+W.^¼Xw#…))éüùóºé¬ª¶fÍšfOŸ>ýé§Ÿˆ¨S§N›6mêÕ«—½½}¯^½6nÜØºuk"úùçŸY‹r#""¤ÊŸ„„(•ÊŒŒŒË—/³tQÙdiݺu“v4pà@"’Ëåýúõ+¥^:d2™¿¿?›éý‹/¾ˆŽŽ~]Né®[·®zõ꺋V¯^moo¯›§œ]¾|™õmöóó333“Ò---¿ùæ"Òjµ×¯_×[Ë××Wªà5vÚܶîRÔ­Õ Ô_Æä¼ør/æ6³çòö‘¤ –{ ¼(Šþþþ¬uº‹‹K:u¨(',±à­[·öññ©Q£†R©ìرãºuëºuëÖ©S'6ˆz ÙÛÛ;99±6>æææ¬É·[zþüyÖkúûï¿ïر£‰‰‰ƒƒÃ˜1cæÌ™Ó©S§êÕ«K5ÃÝ»wgqss“V/ ¨sÇ®< …‚…¯G}]3™"‘ú“OŸ>= @úÎU*Õ™3gþóŸÿ£©‘………“““4Â¥û>Yt]¤C/;vì‚ Ú´iÓ³gϵkײÇ@¢(0`ÅŠîîîíÚµûþûïÙe9;;ûîÝ»lÅÂ;£PQx///¥RID{ö쑟œ½}ûöíÛ·Ëår77·/¾ø‚õˆ)kvvvË–-ûî»ïž>}zûöm6LÃ;ï¼3bĈI“&ÙÚÚ–Ñ~wíÚÅ^ܿժUR:ë]rùòå‡:99•d={ödO0¥± $ãÇÿý÷ßcccYO¢ÒR¤CÏèVÔë‘ÉÞЈÌPÇ ŒT Ð´K—.5jÔxúôi```ß¾}=dÈÖÆ^·ý¼Q¨V­ÚŸþÙ»woµZ=jÔ¨?þX/ƒ››ÛÁƒãââRRRlllô–Þ¸qƒˆêÕ«g[Û¶mÛ}º’U­’ö•19Ý?áº7á~<,\ymž¡®4ó}Ù©»âׯiÁ]Ö5ðÍš5“ÂN"š>}úÎ;333wíÚ5fÌ)½H'l•*UÖ¯_ýúuöp*%%…çù‹/^¼xÑÕÕuãÆåÐTdÀ€={öÜ´iS``àíÛ·AxöìÙ/¿ü²iÓ¦9sæ|òÉ'¥¾Ç¬¬,i¤Ì 6ä›' `ÆŒ%Ù‹¹¹yƒ ^·ÔÕÕ566öúõë*•ª€(ºHŠtèKEù;€²Sx¹\>hРß~ûíĉlø:…BÁfN*X‹-Nž<)—Ët?ËWûöíY£ÊK—.ݼy“ˆºuëÆjrºwï~ëÖ­   –-[²·FÀQÏž=§NºbÅŠ7näYꦕ–¨ÕêÐÐPÝ>þâÅ‹ .;vì;w4 {ÈRYåŽ!Ϧ‹ãr‡—'-/n8Ë­ ÊÉ6§?×Ïåå¸ôý[rs½r¢÷µ§é·`ÉáEN_ŽT_þÓÀþù笧ÆüÁ†d£¢œ°‘‘‘^^^^^^[¶lÑÍfmmÍZÎK}=êׯoaaADÔÍ™˜˜¨Ûª¿l2¤¦¦ê¦/X°ÀËËkøðáz•¤þçºýMnß¾íïï¯;`~1ÄÇÇŸ;wŽˆzõê¥;v€Dj—P’±ÑFDQ”¦m—üõ×_111Däîî^Œ-K3;êMiQÔku éØT|+€'¢!C†«²¶¶îÕ«WaÖ²··ÿüóωèÆ£G>tèÐÓ§OCCCW¯^=}úôû÷ïk4)?‹Ì=zÄó|›6m¤>´r¹œ ”Íä"kúôéÓ¦Mûä“O P«V­|}}ó]äëëËêE/_¾íããsóæÍˆˆˆ]»v1‚å|#Ö”šçyŸ‹/>yò„¥7mÚ4,,ìÂ… ãÇ¿{÷® ™™™‡b§zõêÒŒŒ½{÷ž5kÖ€^7caìÙ³‡­®;þ¼®ºuë²8 Õj‹½#WWW6xçúõë¿þúë°¯wýúõlÎ?KKK//¯bl¹víÚì!]``àæÍ›ú(33sóæÍ›7o–Ò‡Z˜šê>}ú¬[·NÅ}ûöíÛ·¯^½zlž³lÚ´)44ôܹs={ö411Ñjµ¬ ޹¹ù÷ß/….5 }úôi±ccÏmll  âƒ> ÍÈȸ{÷nñöBDÇýùçŸcÆŒyòäɶmÛ¶mÛÆfdK-,,üýý‹7q¦¹¹y×®]ƒ‚‚ž>}êããCD«W¯fÏ#Št­.¡Â;£Páî]ªW¯.Õ{¿®ý|¾‘ÇqË–-óöö¶¶¶–­­­½¼¼Nž<Ù¹sg½HwÆzM²»uëÆ‚ÉöíÛç}òäÉJ¥²fÍš#GŽ,â'+}W®\Eñøñã¯Ë “É‚‚‚DQE‘Õ³I Åüùóãâ⢣£/_¾|ëÖ­”””€€½y•óÕ¼ys¶Íþýûë-Z´h‘(ŠÉÉÉRÊŒ3DQäy^ïxÙÙÙ-_¾<11ñùóçÏž=Ó-_©T.^¼811122òòåË?NNNÞ¹s§Þ“…5kÖˆ¢ýÆVs.ˆ9/rßætƒgoýrëÏÉ8éž½o8K~uWy™?·«|N­~‘žÔä]¤T*ÙXk¢(.]º”%þ„0`À¤óQ­VËd² Ìœ9sÛ¶mº­EÚ´i³~ýú–-[J ••Õ·ß~;sæLöV*^¾Ï•Ú¶m»nݺvíÚI%d/LMMwïÞ=}útö Ôh4¢(V©R¥sçÎ8p ´…¾}û:;;s7bĈbGïDÔ¯_¿Ú› 8} Àë}–Â?ÞjÖ¬Ùþýûß{ï=¶/)z¯W¯Þ¦M› Ó~þuûZºtéøñã¥ã«û®‡ž¯¼[–Ž£ÞïMÊ)¥þØ®x}5ÙÀųîB«Õ>yò$%%¥fÍš¥;£R©äryiÕ©Õêû÷ï÷îÝ»T¶Æ®öLzãè ,Z4˜>ÍmüëBßî–Æ™×›>g–’™)^Uø†-å ð'¬ 111/^¼prrbÝÝ_'+++22²jÕªµk×.ÆeêÅ‹jµÚÒÒ2ï•‘‘ñèÑ£*Uª0¼eFFFÞqã+>µZÍú(•J''§V­Z•ÊfµZmff¦ y'­,ëkµžÂ;€r ÏóÅë¶\ xã‚tÕšAåL—Ó>¿˜œUeÎÿ€Æv¢?ÏÓÜ}$ˆ¹+Ò«9uVäˆ23éÚŒÈ À¼UJÀW¸>ðo³œ>ê«=Ù¥ñ•ôY4kÏ«ÝäÅÜÿõV—ÞUèÉ  à L&“)Ь¬¬¼ýíá-$9Ñ·~x"‘Õ±‹/Ãs)…sc|"âÄ—U÷l–ÃÊTƒ†3F ·ò&“ÉLMMŸ={fè‚@…À‹$ŠÄ‹$ˆ$ˆ$æþc)¼Î"Ý^ç­ eÃIIIËS#Û ðF 5ð&“ÉÌÍÍØÔð–{eš7½æîzMè¥<\~ou«ãsW×òÔ¡xc…[yó´´LKK‹ŠŠ2tAÀð„ÜÉÞáe]zÎ?!÷ÝbžUr§‘ÓÝ/’VKZ õk¡6ôG€bB ¼á™››[YYEGG‹¢X¿~}C ‰ÕÀ<Ò\ÞYâtWaKE×GO¼––õ»W¯¦²t å¼áÉåòjÕªñ<ÿþýÄÄD;;»š5kbL»·SÎ(òbÎdïùNê®ßKQ:å®+xZÚçv¹\^fe€²…¾B055}çwLMMSSS¯_¿®R©xž1å×ÛG•ùQQWÉ·Bž©jªjd›ÖÞ!µ_ó¬Föf˜þÀ¨qIIIÅX---M.—c4¬R$‚F£Ñh4*•J£Ñ‚€J‚ã8¹\nbbbjjjbbbbb‚ÀàAày¾jÕªÅX5ð…L&S*• …B©TJÑ;bx(ŽãØÿ2™L&“¡å<@%€¾b‘Ë刵 /4©0àŒx#€À €0àŒx#€À €0àŒx#€À €0àŒx#€À €0àŒx#€À €0àŒx#€À €0àŒx#€À €0àŒx# 0ìîwíÚeØưaà [ðMš4qqq1l nè"<€gÌÍÍ ]0z†ã8ŽãˆˆýÿFºÙDQÔ[šžžÞ¾}û‹/–b9‹}àŒx#ðVðááá¤Ç@ÙÁïÞø@YÀµ¥üá;(ž·"€0vàŒ@…… |dff>}ú4%%%;;›ˆÌÌ̪U«V£F Cí ÀÀ[AÅèèèøøxÝĬ¬¬ììì'OžÔ¬YÓÉÉ©3Ïx¨üDQ¼}ûvZZÚë2$&&fgg7iÒ¤ÂÆðè•ßÇ ˆÞ™´´´èèèò)O1 €€J.333!!¡09ããã333˺<Ń*¹§OŸ–Qæò„*¹çÏŸ—Qæò„ÞX=yòdéÒ¥'Nœ0tAJSBBÂÎ;;V@ àÚXTlƸ²È\ž0 }…óôéÓ¹sç¾niÿþý½¼¼ˆhÆ  lß¾½••U9 ¼I'ŪU«LLL ]ÈG!ÿxFTTÔ²eË4hЫW¯×¥P€¯¾úªqãÆy3üúë¯×®]4hPïÞ½ Y [·nùúúV¯^ÝÐÅò³qãÆK—.é¦(•Ê-Z´mÛ¶U«Vr¹\J/̵*ðNVVVhhèë–¶nÝš½hÚ´éÁƒ,,,J¾Ó 6œ8qbĈ~øaÉ·Pº¤“B„rØ]rròÿû_…B±yóærØ@åPÈ?^åP€ï¾ûnÓ¦M¦¦¦z½nݺ®]»zzzúûû‡††¦¦¦:88 4høðáº9^¼x±}ûö#GŽ::zÅŠÉÉÉŸ}öË&ÂìÙ³/\¸@D&&&Z­öæÍ›7oÞ¼uëÖ²eˤG†¬ÀË–- ’Ëå‚ ÄÆÆ.^¼8--mÏž= lû÷îÝ»wïžV«7nœ´ý9sæ‘B¡P«ÕG=zôhjjêСCËàË.?æ8ÎÞÞ¾„y@ríÚµÏ?ÿœýzÍÌÌBBBüüüÞ{ï=–'==ý³Ï>‹ˆˆÉdï¾ûî³gÏîÝ»·hÑ¢ÈÈÈiÓ¦Q\\œJ¥b™ãââˆ(55õu{d¿áU«V;vŒã8ŽãRSSÏ;¶sçN[[Û¬ا]¿~ý‹/¾`Å655½qãÆ7Nž<¹aƪU«–ö× P"ÉÉÉQQQy'×ŽŽŽ‹‹cÏJÈÇÇgôèÑ ?ýô“n “ÎM¨˜®\¹"—Ë{ôèÑ AƒÀÀÀ£GN™2E¯žóÈ‘#ß}÷{­P(nß¾=kÖ¬=zDEE™™™IÙ*Ç]‘\.·±±ILLŒ‰‰Ñ à³³³§OŸ~ãÆ ¹\.ŠbBBÂöíÛ###W®\)å ›2e »)Šû÷ïß¿?00pÕªU­Zµby yŸO¸¸:yV6QQQC† Ù¼yó©S§LD7näy~ìØ±GÝ·oßž={RRR¶oßND£F:}ú4xüøñ§OŸ>}útÁÃÚ‡††ZZZnÚ´)88xíÚµD´}ûöôôt–! àÂ… J¥rùòå'Ožd`8Ž»|ùòµk×ô¶ôõ×_Ÿ>|8ûƒš¯ààà#FŒ1âñãÇåY6#¥ÑhfÍšÅó¼§§ç?ÿüäïïïîî®V«ýýý¥l§OŸŽˆˆ°³³û믿vïÞ}üøñÏ?ÿœˆž={FD'Nœøû￉H&“±Óe(À±cǼ½½9ràÀéÓ§[ZZfddlÛ¶­HcŠq:ÄÅÅýïÿS©T}ûöÝ¿?ËæààðèÑ£o¿ý¶ä_,€Ñ±µµõññ!¢£G0»ÎM¨°>,Š¢›››­­mëÖ­kÔ¨ñüùsV/"¹wŸuíÚuëÖ­§OŸÞ°aC«V­òN0\ IKKKJJ"¢fÍšé¦?~ü866vÕªU§Nú믿 DD/^”ŽoLLÌŒ3T*•‡‡‡¿¿pp°¿¿¿‡‡‡J¥š1cFll¬îÖÞxŸ‹›Á¡¾âòññÑ{ÔjccÃnJ Я_¿ÿýïÒÛäääøøx"êß¿?kúbgg·råʈˆ©z°V¬XÁª…Û´iÓ¨Q£þýû«TªèèhÖ§]»vK—.­Q£k ibbÒ·oßþùçÊ•+×®]sww×ÝÔ°aÃØ…¦AƒÞÞÞìïÓĉY퇳³ó§Ÿ~zñâÅøøø””žç÷ìÙCD .d›ªR¥Êþ󟘘˜Ã‡Ÿ8qÂÕյ؟«Ü°îjZ­ÖÇÇÇÏϯK—.z‚ƒƒ}||XŸLÖ´ &“ÉØÙáææÆÚŒ5nÜxìØ±—.]º}û¶4$Ä­[·ˆ¨eË–¬‰»‰‰É¨Q£êÕ«§ÑhŠ=A]¿~ýÆŒÃ^6,))iÓ¦ME*˜´z‘N":qâDjjjëÖ­gϞͮÎÎÎË—/>|ø•+W’““Kr¦Cñþx•®Î;øá‡‹/nÕªUÍš5óæÁ¹ k?Ïæ;”Éd½zõÚ¶mÛÁƒ¥†!DtâÄ •JU¿~ýùóç³p‹--Z4f̘„„)[å¸k"R«Õ‹-ÁÚÚº~ýúzKøá‡6mÚ‘““Ó´iÓ>œ••u÷î]v|O:•žž^·n]___6}UãÆ}}}ÇŽ}òäI½î?ßçãâfp¨¯¸Î;üªóçÏ¿q-OOOÝ·¶¶¶¬ÓÔܹsƒ‚‚4 Õ®]»[·n-[¶,^Áuu[YYÕ®]›ˆ¤&‘õêÕóððú1ò<ÏúQJJŠÞÖtgôqvvf•ÿìÄ´iÓ† ,”‘‘AD=ÊÎήV­Z»vít·ÃþªÝ½{·xªœÕ®]ÛÏÏO¡P°^¯^7z÷óóCúÂËåR/•JÅ~™†ýxˆˆUiÒ$6œ]£F¬¬¬bbb=zTò³3ÌÌÌò-<ÇqFô§(o ODˆÞ‹múôéìvG©T6lذjÕª–––Ò<ºŒ\._¿~}ppðîÝ»ÃÂÂâââ÷ïßÿÁÌœ9Ó€+6vFÔ«W/ïÃ;Êu”ƒÒúãUr-Z´3fÌï¿ÿþË/¿èõÞbpnBE£ÑhØÀ =š5k–ÞÒƒJ<ëâ!º*aÃK*Ó]ÓÛ¦U«VR§ 33³æÍ›;;;ç;aÛûZ²¸y» ²_[Zx¸¸ø·‚­­í”)S¦L™’œœ|äÈ‘-[¶ÄÅÅ-]ºô÷ß/õ}‰¢¸lÙ2A:vì8mÚ46Y­X±¢TxÖ2_©T®Y³¦t×á¥Ñ{1œ;w.$$„ã8??¿N:±ø!###ß{ñ.]ºtéÒ…çùððð¿þú+((h÷îÝ;w.‹gÆE*X18;;_¸pMñR*(lÆ ÏóÉÉÉe±£qãÆ…„„ܼysÞ¼yzÝ2qnBtîܹ´´4 ‹è¦k4šÝ»w‡‡‡ÇÄİ;«&MšÄÇÇ?xð@¯Í{ölÚ´iGމˆˆ œ>}ºÞO«RÞ5AQyxx˜˜˜„‡‡/_¾<++‹ˆ²²²–/_~ãÆ ½jù7ÂÅÍàЄ¾’swwoÔ¨QDDĤI“Z¶limm}ïÞ½¸¸8“aÆIÙØ´ÑÑÑýúõsrrúí·ßÌÍÍ‹½Ó÷ßãÆvppˆŠŠÊÎήS§N©4¡'¢yóæMœ8ñþýûǯS§ŽL&‹ŽŽEÑÆÆfâĉ¥²‹ò×¥K—;wRžÑ@W×®]ó¶7nÜ„ :tè`mmššúÑG999i4𨨨wß}×ÔÔT·CàÈ‘#}||Ž?Þ´iÓÔÔÔ7nh4šÖ­[³³€ˆÌÌÌêׯùã?þùçŸÃ‡ÿä“OŠ]æB¬Øš7oîãã3þ|ÿ€€€ºuëÆÆÆ²'q#GŽdÃØT 6dI.Y²dõêÕÕ«Wüø±¥¥e5¤!ŽKÝ AƒÎž={îÜ9ÝDœ›PÑ;vL«ÕÚÚÚº¹¹å]Ú³gÏÕ«WÇÇLJ††¶mÛ¶V­Z‹/þì³ÏîÞ½ûÝwß±<¦¦¦Ÿ|òÉÖ­[uW¬”wMP$M›6;wîܹsbccµZ-ÇqsçÎ-j <.n‡ø ‡ %Âq\Á]•ØRÝ<ìµÞH$Ç­_¿~ðàÁ¡¡¡AAAIII...6lèÔ©“”ÍÓÓsÒ¤I5jÔÐh4¯‰W*[¾éÒ®'Mš4qâDkkëôôôÛ·o›˜˜L™2…õ“)Ló&êî…ˆ,,,–-[6pà@;;»G=|øÐÜܼwïÞÛ·o¯^½ú뿳ŠÎÞÞÑ{¾tb,ÝÖÖvÆ -Z´ÉdQQQ±±±îîî«W¯f3¦H?oÞ<6“ÜëÖzÝ^pq3,Nš!°HÒÒÒärðSµ IDATyÉG­ wqq)Ieo!÷BD...eº—Š/))‰`ùþa "A²²²d2Yi‘„„Fcgg÷º=–\\\œ\.¯U«Vm߈àwÎdggÇÇÇ¿óÎ;UªT) ›Z­Žµµµµ±±y]•J¥V«-,,Jå\È‚• ‡j×®]AÆ/ øWZ­öÑ£G666zcË•?œ›@•èÚ²cÇŽåË—{xx,]º4ïÒ u×Ti¾sã¢Ñhâââj×®]ìù¤uUØ‹›F£á8ÎÆÆFïiˆ4;c¾t^°*¢:H)¬•ÁÅ‹KåG+Ïó¬sQ¡ ý[¤zõê?j•Édl¦ÇÒR!Pe zÌÌÌœœœÞ˜ÍÔÔ´~ýúçQ*•¥ø©+ ¥RùÆPA(Š òsŹ ÆèäÉ“sçÎ577ÿí·ßêÕ«ÇŸ?¾k×."jß¾}¾ká® LLLêÖ­[Z[ÃÅÍ À“Î;ÛØØ$%%Mž<ÙÍÍ­víÚׯ_¿~ý:ÏóÕ«WïÚµ«¡ e<€1111ùõ×_,Xª;gJ‹--Z„Îí•x#S»ví_~ù%66öáÇIIIvvv76ø PÖÀŽã ](?˜FÀ €0àŒx#€À €0àŒÀ[1¼‹‹‹¡‹Pæð;‡·~çPpm)øÎŠ5ðF<€@`À·b;¦ú×/ ]€2tyòSWWWnü#C  áwe×–ò‡ïÊΓ¦†.BB <€@`ÀðF<€@`ÀðF<€@`†.Tt­MÿÛÝêß(õoÁE]wB+S9w1Juù¡º,ÊVTê+]ëšfiÄ?Îù³…Œ¦ô¬Ò°¦Éòci Ú"­ÛÊÑô½†JA×ÎÅ2*`à„(6…Œ‘„ p"™*8 /þºZÔüJ§Òá`5?T(à_1w€µSuýï$)œÂ‡Çj‚îfã:•@¾¿s•F¼úH©ºùX£÷;ß2áæö&ã;SøcÍ…ª"íkÕÇÕÌL¸…Ò*H?ÔÍ|z睊YâJ¯Ò\Ï‹zÂ~ØÆbéðjDÔ †âýå‰EÚWŸf‹†ØÑúàŒŠpk‡@—…)·lD5SGD5 ¤åÍãâ`òQ;K†J÷z¦ZA ‰TŸ»¯úùdú³ ¡ÜË[𠱩YUþº¥çî«~?óò*Ñ¡¾rbW«¶6s×ó$/¤¨ù oˆ«EïæfîõL[Ô6MË.FªB"Õ¿žÎHHãKžßÞF>¡‹U;'S÷zÊw¬d7kB"U®gí½–•ïÆ‹š*,# à³²²DQ´°°(£ínkÞÊÑôuK%k—K_y<½"ÔK[Á¿óègÚÞËïéTÜ ÆýGÞR•æz^ä¶Â"(¿Á6“rãÌËÕyøMÍ?¯a¥är¸^ÍÌz53ûÈÝâýeO%­IN…âÝÍÊÚüµ=• z%€o`:Öò€­ýp0õ•¾ˆù CÆÑ’áÕ¾êUEJ±µ”õu1ïëbþiGËÞË£’´%Éïâ`rpjM‡jrÝ“ ]¬æ¦úþ“ªWž¢æ‡ŠÌ8øäää_ý5<<üáÇDäääÔ¦M›É“'[Yô´¬Ø2TâÅÈœjF¥‚«]Mîh«PÈ¨Ž­bùˆjžÎfŸ¬OÊPá Œ[z¶p6âeuz­ªrçwM,•\Ýwg¾©õþ²§×brêÌ?ýýÙänVW¢ÕE­~0¸Js=/ü »ïZæ´ÏëUW¬>™n Â@é{¯‘ò‹U Èг™Ù?Sj(\¦ZüóÜ‹ T5«Ê·µðh¨lò®Éùok9ÏŽ{a —»¼,L9½_~¨N~‘O }-F£ûÖÎZNDÏ3…£òoý—ž-–$a¬ýÔvb+"ºŸ¨õ?ÿâöMýŠ!®îõLÖTœû¶Vƒoã²Ôbñò;¿kröëZUÍe¢H›/¼8{_•¥;40ßÙJ©àæh®V{ù' ¨ù¡‚3‚>::ú«¯¾Š‹‹#¢ªU«ªTªÈÈÈÈÈÈððð+VØÚÚ–ú¯Çª{.}¥ÙaÍ*òñ],¿ÿÀF!£­ÍW´»ñY©ï <…?Öô[ùT7¥ª¹lñP›I]­jV‘ÿ4̦ײœ³ ,Fí½9Ùe(©Js=/ü «h9îÃ*¥‚Ûð¶2ŽâRøÇ)|;§|ZåxwµR*¸*ÑkÕÓ »Ù,qÕñôÞÕµµ¨]MÞ½‰Ùþ0£l,Íl"šèŸúèÍ=òìmäDtæžêƒŸŸ¾1s1ò¿Q3Ù莖Dtî¾ÊkÕӔ̜‡+§|VÝ«¥¹µ¼kcåáÙÅËÿiG˪æ2"ñkҮ˙,qKÈ‹ÝW²L­afÂ}ÔÎR7 /j~¨àŒ`ú ÄÅÅ5lØpÇŽG=qℯ¯¯©©é½{÷6oÞ\>eHLçý¤ÿókl9ÆÃ²Ÿ‹yÞl–J®™½IKÖ=©TÈeTÇVá^Ï´^u…±´,aò–äs÷UDÔ©¡²?cGµ«ÉÛ9™Ö¨òæ¨\F.&õª+¸·Íqdo#oçdú®õk;¼é2‘sm뚺8˜è¥››rÍìMZ9šZ˜곘ȹ–&ÍìM ™ŒQ¥¹ž—à KDÕ­d®uM«˜”¹¨',ÙÛÈ;ÔWV³xe³8a^gîkçwMˆÈ{s²Ýé’qÔ½©íø÷…½‘V Y{rZG÷i‘ϵÎ(°›ˆž¤æßu<ßü…Ì\ŒüoäÕÒÌÌ„#¢ÿ¤ê/•VôÝŸs8z53/vþanDt1R-EãÌÉ;Ù§îdQ»z¦6:Ø¢æ‡ ®¢×À'&&Þ¸qƒˆ/^looOD …¢W¯^<øóÏ?CBB¦NZn…ÙtþE­ªò‡Ú‘w7«ƒá/Ÿböjf6Û˺Kc%{«ÖŠ7ã4Ë¥o¾ðBʳkrõAm,²5â»ÓbõZlÊeóSíšUä稺ü˜À2š;ÐÚ»ké6+5KØp&Ãgwªº" .•‘(Ò¾kY •¦\;'Sø ¶™Ù§êóL¡Æ—±º™å2òégý™§•t×ýL|O5mG>c½4y×dÙ†Jö 8C%þx(mÑÁTí«m,d_÷­:©«•tgŸÊŸ½¯òÞœ¬;Ïê‘Õ&w«©ýû³UWëêlf¥ä%këÎŒcl-e? ³ÕÁ’E5¢Hûòþ·ëùÿ³wßaM]mÀß›„öAEnÔ*®*âjµ­ã«Z·µ®:j­­V­uá¶ ¸À=Pœ¨€8@DöÞd|¼Æ$`„¾¿Ç§O¸9¹97½ç&ï¹ç¼§¶÷쨾i¬^×Ö*jà˜Êµç‹qÖ@KÕ2®çR¬†*U²«5°Ð¿p—È(z¹,ü“ 0¸“zßöjÃwäÞŠ•òÔ´Œë¹dƒeP@ê¯òq›•½ÁÀªºëFéÒR¸Ú¨FülÖem&0OöËdP¤}}ã®9ÙU_ Ïftj¥’QÄËëö¡¼î‡;êLØš¨i1"“«*«¥©ò–ÿ¤ð¤ªðZ¦ÓïRs­íp”«¼@ÿÜ–©²(ÏŽê“YM¾ÔêQ)>Eà­¬¬fÍš%¹ýÁƒйsçÏ^#ˆL®²Ð×PeQÍU¿åšê0f²À©þxªðA—AQÃ:«Ï¨m¡ÏÜð¥ÞÞ;e$ßFÐóŠ’ ŽÃÇ™-öƒŒlá àäãší«†ë_{!q•;n–>K©êÖZuÑ`íöê_¹i&æòÖžÇt‘¨Iôµ«¹ñ˜˜[WºÚŸGè’`àezõÞ;ewã+-TÆô`û8³­Xþßu^“IþÎC³š/\TW™YÌ`¯þ§ž›ñ­»æîÛ¥ô skGé’`àRTÅ?!¥±™<綪z²}œÙíMY‹k/ôÿèŽéx˜Èõ ã¼Hý fë} ¼H­Ú{·ìa·£¹ÊdWÍQÝ4Æ÷_­Jm«Çd@|6ïûc¹­ô˜#ºh오¯Æ¢vLÒ=Ô´€ëyS4XX7J÷ÁîîÛ¥áIUšŒÕ#uGvÕPcQ['èÜY3GTÞ “]5+«…»BJ¼áW_gU6X„ê4«¿–›,>U˜[ZŸk¹—yp;NY‡¨´Òe@V hgõÝ_Ð÷osyW¢+–)âˆdƒ£3Þ•s…G§ŽïÉ&£Ó+«…÷ßpÿ .½ýQ"yË×E3{Û}x–RuùS»•·¼¡#à{£ÖLØ(CVyyË#Å¡è¼(‡Ãçó“’’‚‚‚BBB455¥ÆöM-2¹jT7 xßØÖˆù4¹ Ú÷^}¿åEjUWø÷d}Š‚>vjd}ÅŠ*á©'œ}´†uÖÐT£èD  ¼4àÚËŠœR>˜é2ýRnÇUß‘KúÿR *Bâ*C~4u±V]9\wó•’z÷ "$EÁìþZcz° 2¹êmíñ€™.ó×/u ³˜?d[é´~™^íÎ9ù?£I.l‡V*}Û«Ý‹ÿÐ[íÕLu˜p4´æÒìl¥J.O+Ï‹þª+ç »ZrnŽ‹],Ujlƒ,ìLTv}¥OS@j1ºµV!9rBXy®¨Ž×Òùog/Kú2ïdA|V5E}´õ«ôj:z'N?á›.TcQíMY"¯•2嵚/<V¾dˆNKU%¾Æõê bÑèzX½¯Û¿9"“åB˜¼?/ýO ó]ÑûuP:¸=¸3²¶xJt=ÿœ þ¼^*ºÜ”@'ÃÊ7ŽÑÓT£,ô™é…|¨Wƒ½]!½6X„ê´m‚¾®ƒËÖo-‡V*gç1((ã çžPâÕdHŒÍd@~™`ýÅâËQ\ž°o{õåÃt-U<;ªÿ;ÃpÜž<ÑÂÀbÀ娊߮–ÄeV·7UÝ]cé:ª,êì£>¿gÓ7ä-/¯>íÕúØ}èÐÌ*æŸ{Ê)(¯u¾½\åMu˜#»~”›ðjteDíU•·]lnüg@§ÿ‘\:¸ËT‡¡Çf豺 ò4‹ùáÇǃîÛ\ž1ËÇ™Mÿà#ã- 9zmç÷?¶ô5bÓ µÔjöÖÃJxÔÆÚŒHI„“˜Ë›²ðÆ«ºæ‘ö´®9E$ˆÇË/¬» >+,I¼˜P©|[–ÔìÖlUª KO£¦5µ3Vbñ@A¹ FbF_·Ö5u •¨[!Gð*£ÚùãÕw%r+ª„ªÔòa:^޾÷ÊnÅVÆeUc6—ÿ%ºžÎ ÒÚlr~ÍÏGm5ÀG?%el°pÿøn±Á"TÏŽê“\ذérIBN]sd¤²Ðg^Yh¬«Á¨æ ½wçÒÙ+”¹VWÜ7gÑr2¬üVlå½e¦íMY_vgÓ£oè ûÞ;e³ÿ­é¶È+ã>Läfóÿ𠝮BwfÓ¹¼å—Óém'e„QW8q_žäv¿°ò'ïªX hcÈrµV5Óe?{€Öð¹RGNÉUþ]>¬ªÏf´7cõ²Q›èÂß“½ö|ñi£âå-“Ò𦦦gΜ€ÂÂÂÐÐÐÓ§O_¾|9,,ìÔ©Sl¶ø¹&åôþv}ÃBŸ¹v¤îèî&ÚŸHï)±GåëFés¬uÉ À»Â9Ü÷¹ˆéß+W×¶«®–R–EHvå\¡hwro;5&ʹÂnë2%ƒ1ÎVªQÄÏ—–¼ZÉq*FrÌ0EÁxgö_ètk£*Ë"[R‡“uk£™Å|2WYLtºxü!“îíT¯¿ª€K/*ìÎÉpw{péÂAÚV†¬>í?Dàò–w±VÞEÊ‚|µMÞÙs§Œ~¬®B­¥»|˜Ž½™Êþ©ƒ¶Jó%Wù·¹¼ÅCõ°R==ËÈÆ˜õë—ºw_WJö™Ê[)&¥ àiúúú#FŒpww÷ööÎËË»}ûöðáÃ?gè|ïòx`cÌz¼ÒŒ^(§”ŸS"(ä Ëdj¥˜cË׎Ôe«RûhœŠàô¶S#=GE¦6‘ñ–!DJ[ïÈ(j´µ.ÐÓ‹´ªþdÓúÎð;MM5ê[-Ñ¥§¤"k¿1{ÅÐ?}ô©¹ÇÈå S ø…AGÐÖeg*ëÅŠÜÓ¬ívœPÚ§"8—^Tü0P{²+›Œû5Öf,¦óÃ@í%…ûï•I¾µ Jt=ÇKËþ Ò¶7S€m7JÌõ>êO$ƒwت”­ 2‹ùå÷âi©QW˜tj¥ËÎÕoò¼BI)¨uøÀÃ÷ƒwzÛ©‘žSU“ SzùÄ*+C–“•ªº Eú%å-ÿ —'-Tÿd_*TV Wœ-êj©2ÌQ󣺵«¶Dúõ+ÿ4¹jÒþ¼°Uf0£Ö'ryË#¡è|ZZZNNމ‰‰¥¥¥èvkk똘˜ÔÔÔÏYŸN­T:[¨@tZ5iBkGê’_{;n–n¸TLwÿ3P±§µ “ÛCRïA·š3ûT‡Œ·ŒÏæ=~û¡Íå=;ªs÷¶æîm=Ab¡M0ÐdìBt…å-Ÿ¢ðžžž{àÀ æ—Ëýå—_*++UTTzõêõyjb¡Ï¼¾ÈÄRŸ ¯³ªwܪé{#w T˜ ÊúðóN…I-"%Ûqú §¢JÈV¥6Õ5×e …püÑG£›è‘–Û&èÑYŽˆ)½4c7˜Çn0ÿÂA|q„hó•2 uþ í¶Fu ωxÇ%#[w}¥o¡ÿÑо“ôwNÒß9IßPK¾ËKáû°Zj½Ð½ZßörÄÏRjšÏÞ)úF"u (8>ÃP,£5üá£þ³Ùí¥&béôèŒA8«¶åi×sl°¢Û±Á¢fé颞²¤þ#­&>›Gþ<óäÃ"/{§ŒsbÀÎ[¥ËÎÔµ8…)ânÇU€3Ûòã+˜›ñãàò„t*Ðs‘@Q°p°ø¥{z-²†¼èXqyËËâÂó °7SñrŸ~e¢Íë¤|¼L¯®Gù{ñ\2êjî@mÑo+bf_-2aŠî•·„ÞÜÜ|âĉþþþ¸xñ¢½½}UUULLLqq1“É\¼xqSd°3Óa~å¦I«±( =f+Õ]5H’žâ Á×>,ÆxãUe·ÖªzlÆo vß)Íà9µU]2DÛ³c­?ÈJ*Ï8“]5çÔ€Û¯+S >Ó˜ZÀß|¥d…—N÷6ªWšl.}˜Èµ2dê¨þËh=&sy!q8M5²"Ž`ó•’?|ôÔXÔæ±z“öKI¦Jä– –Ÿ-ú}œž‰6óú"“Ý·KCb¹¶&¬]5¾óЀ„^pŒ|)sn¿æòÀbÀÂÁÚY%ük/+t5ƒ;©o«'ù}S‡7Ù¼=wÊf÷×jcÀº¶Èdï²Ðn§V*“]Ù#¤e‰J«þñ šk´À¯0&£ZC•úÂAã7o=È.áß}­Ü¹þãZðõ,6XÔ‚%çó’ó¥?EºK*b ›möÖ›ÙW ’òxIUô¥&B@D9_ û¸N?á £ÁˆøÙìÇ îÆs«xB÷vjÆè:Zª€_‡Bÿè-7­o©Ï\4X[KÚz£4>»º­!kL-ãô Œ+<-Òë!oy+üû8=šk´*°Ø?¼<µ€¯«Áp·UÛóµ>¹ÕôaYv ¿å«xÂóÏ*¦ºkö¶S ]n:߯ðYJ—'loª2«Ÿ醨â wܬ雖·d[NõYbç÷ë¬j×Ù!q•tÏéĽ+·¢Z|i¿&nÆV’´Ãå\áÙH)½zB!|w(ÿk%¢I} 9‚ÓO8k2oÊy«!Qä<—z¶WV ×EÁ/£õ>*/q"Ï÷+XT,º¦KV1ÿL$Çé×,:‰×û÷’Ò ÈFѧ.(½V=l{YR[ á‡×’*Iÿ©^ÍŽÛ“{üQ9 F(„KQ›³ã²ªÅŽËöþ-kíùbò¾ª,Š¢ ¸BSÙsC–¸|îHq´˜ë¹¼ V ¬Iê.öÙ¬h[©FÍ6ºÝÉÓ`…bDaƒEH.R¯ ²ô\ … ·¯N1„°Ð¿pî‰ÂôB>À‡èºŠ'ô½W6i¾Xî·©U®³nÅV’´mtù7Ù¼á;s$ÇÃË[^ÿ>.÷ø-ûYJù?¥¥V'åñN;œ/–RN®òye‚!Ûrþ¼^3‘ŠÉsª„Á1•.²C>ª³¼å‘‚£òòjtW‡’’&“É`44þŽŽvttÔÐ2L®Ñ-kÚU4T˜Y8'1‡Ç•–æ±~X hmÀ2Ðddóqé8T‡'³sœœ¨)Ÿù}™ °Ðck7æ)jªÃ´Ðg¦òéÑeõ£©FÙ³„BHÊã•˰¾‹ŽÃÚˆUR!¨{™ÔŒ>ÏyÞ‚¯çØ`’ª¹¾CÿËê÷™[ê3]mÔtÔ©œRAØ[nÝi/ÔXT·6*ÌU*«… 9¼ˆwŸ˜æ-oyY°U©.–ªŽ–*™Eü°$nné'F@È[ÞÊÕÃJÕ@“ñ4¹*:­Jjû†”WR™T)ŠÒÓÓ#!ô`†Ç×ñ*JdhYÇÔÍÍÞRZZ aaaŽŽŽ ¯¡@ àóù::ŸHC+• ¡WÕ|aL†|ldÁ@R/©>Ý,}|¤ðR sŸÙ% ˆr®0:MŽVYR!xI\P‹¾žcƒE)µ´B~š´±NRqy°·UuL/j`yYpª„ßrE—mÜòÉù<¹ÖΔ·ÿС#B¡°woN:6wuB!Txéx<Þ™3g8—™™©®®Þ­[·=z¸¹¹Mš4 ü¡–Ä××÷Ñ£G°iÓ&33³&}¯3gÎlݺUWWxôÙðx¼   GŽÏÊÊVWWsttìÖ­«KOgo%ºž>r,<,Ö­[mjjÒ¤ïUYY¹hñRøý·À#¤ Ξ={ùòeòxñâÅ;w+°|ùòœœœÚ^îáá1}úô&¬_S’ëÐ?~¼ÿþ:ö¶eË##£z——ES×AŽ5 ै‹‹5jÔ›7oè-çáÇ>ܵk×Ñ£GOž<‰§8jx<ÞªU«rss S§N?þøcsסÆÿÆgüäÄÄDz ‡S¾oŸï‰“~‡ù6c eÄãñ~ùeC^^ØÛwX°`ns×!ôY¥¤¤|÷Ýw¥¥¥äOoooÉ~ïÞ½ÅÅŵíËå*o/ס=~üøðáÃuìmÅŠbÁ­\åeÑÔuP„cDÍE øðððÚN¸!C†Œ3¦qß.22rðàÁ……… ££3iÒ${{û²²²¨¨¨üüüàààîÝ»_ºt©k×®ûÖ}~W¯^%Ñ;;v xÔ’<{ö|䨱EEE ­­=ÞÇ»}{»²òò—/_ݽ{¿   $䎻G¿3§ýÅ+šÁ7Iô'ýü1€Gè¿fæÌ™tô.‡Ã!!®³³³dnݺ5U嚘¼‡–™™ úúú={ö”ºCmm톔—ES×AŽ5%àß¾}ûìÙ3©OuìØÈãú¸\î”)SHôîééyöìY]]]úÙìììiÓ¦]¹r%--í§Ÿ~º~ýzã¾;BŸßÑ£G€Á`‚èèèçÏŸ+ïƒvï}ý:¬Ú´9vô hô&&ÆgÏ <ìñã°[·nÇŽ¶·ï u?™™Y©iiíílõôôD·—––¦¤¤òùü6mZ‹=%†Ã©HII! A]]­ÇRTTtíÚ ˜7o·ËËËOœô—1€OHHäñxíÚÙ¨¨¨ÔQ,++;==ÃÌÌÔ¢•Œµjø'Ó99¹©©i­Z™›™™bSE-[vvö’%KÀÅÅeÉ’%µ`$BssóÏW¹ÏBÞC#åeÿä-¯uP„cDÍE ’÷ñ½ŽLMM÷½Ž;êêêµÍŠÜ²e y°k×.º†,‹ÅbݸqcçÎ:u²°°èÕ«WPPýª°°°ÁƒëêêvéÒ¥{÷î÷îÝ“ÜNNÎÔ©Sõôôºu릩©9zôèׯ_ÿý÷ß,«Ñû,ÐY@@—Ë€3fÙ('OžäñxbÅDÏð3gθ¹¹‘!X&&&–––’{.((˜>}:}kii=:>>^²d£4Ÿ/¿ü’Åb988ˆí¼ÿþ,ËÒÒR(Šn'å»téBoáp8sæÌiݺµ™™™‹‹‹………‰‰Éúõë+**dü0‘¢9yÒÔÕÕüüŽKr 6üBìÝçKäååéêëêߺu{Ïž}NÎnví; 8äâ¥Ëô«"žDŽ5Ƽ••«[ow~–­m< }(¹ÿÜÜÜ™ÿ›maÙÖ¹g¯^î}ML-&LøêÍ›„½{÷ëê·µn/㱜9Hšê·ßL5jœ:uF²©À’—éê<¬¼¼|ÆÌYílí»uïéܳ—±‰Å”©ßÑóeD]¸p±‡“«­]Ç~ý=;Øw¶i×Á×÷ @ +Ö(ŸÌĉ_ëê;÷ì%¶ó¡ÃFêê·ïà ÖTIyW·Þô§bá¢I=ûõ÷´kß©­uûÍ¿m©¨¨”ñÃDHé,X°   @EEåàÁƒL&³¶b$Bc0u÷­+#y”—=/¯¼å¡ŠpŒ¨¹(AŸŸŸŸ!ÉP\\\LL ¸»»×qÒÝÝ=)))!!aݺud ÿ½£G.X°€ÜÃõòåË/¾øâæÍ›¢>|8|øp±ÙUUUcÆŒ9~üxuu5Ù".\¸àææöêÕ+>Ÿ_UUÕàE¨?ß½{÷:Lš4 rrr®]»&VŒ>ÃoÞ¼ùÕW_………Ñ‘Czzúĉ8 ZžÇãùøø:tˆ>]…Bá… z÷îššZÛÎÒ|z÷îÍçócbb²³³é2ÅÅÅ¡¡¡|>?==ýÅ‹ôv@pïÞ=>Ÿß»wMT‘‘áææ¶gÏž´´4 wóòòòÖ®]ëííM7F¤DâãßÄŽWW×:îT»¹º¼zõ<:*rÕÊed Ÿ/ '䉓~KZAîዊ‰‰=Úûöí»¢ÃÂÂÇzOxñ"JtcUUÕÄISüüD¯ç—¯\í?`pllœ\×ó“'ü k×.vv¶>ã¼ 777øæ-É’¼êj>Ÿ_QQ1eêwþþ§²³k’6óx¼ÀÀó=‡’ŽZHÈ)S§ÅÇHÚš““»hñÒu¿lÛs£|2½z¹ñùü¸¸×99ºJJJ?ãóù™ÑÑ/éíàAèC>Ÿß«—Ù’™™5`à१gÀû¦šŸŸ¿qão_}=›*j‘®\¹B:ÊW¬X!™µNgnbbB‚üÂÂÂÐÐФ¤¤ÏSÏ&%ï¡‘òän3ŸÏýúuhhhee­Ý|ò–—½ÎMWE8FÔ\” €'C茌ÊÊÊ^¼xqãÆ ò#»ÑEGG“ŸBܶmÛvíÚIÞ ?yò¤ººú?þtûöí¡C‡@ffæðáË‹‹ÕÔÔþøã¨¨¨èèè?þøCUUµ¬¬lĈ¢‡óý÷ß?|ø\\\|}}cbbÆŒSTT´oß¾ÆvôШ‘#Š‹‹:"û±$$$†G<€ñ>ã`àÀþ$Q0b Õ‹Q7nÜôöxîtÌ«çΞêØÑ’’’öîõ¥‹%%%}óít>ŸÏ`0æÌ™uñBàíÛÁ«W¯466Þ·Ï·¶7ä“<Ø“ìDô¶ü;wé¦zóV½ýåËW$…Á AÉ–ÃG޾zCQÔ¢…óârs2®^¹àáá7nܼ|ùªìŸ*BJÃáüðÃ`oo¿råʺ Ó·X¯]»fccc``лwo›víÚÍ›7OôkZéÈuhtÆ;MMÍo¾ùFKKËÞÞ¾wïÞúúúC† ¹zUüB!oyY4uáQ3R‚9ðdÈ_HHÈèûææækÖ¬iÜYYYäA½ÓËkjj^¹r…üî§­_¿>%%…Åb9sfĈdcçέ¬¬&L˜‘‘±wïÞ 6@llì‘#GÀÖÖöúõëdê`ÇŽ}||¼½½ë{dIqüøq (jâĉÀb±|||vïÞ}áÂ…¢¢"©3W555¯_¿îääDþÜ´iSQQÑž={rsscccÉöÄÄÄ;w€……Å7H?W—.]|||†.y{_tçõn>;w¶°°HOO¿{÷®)F‚v6›Íáp®]»¶lYÍ-Ö»wŠÊÀ5QIàââòûï¿“-ýû÷?uêÔ·ß~ËåréÜ9H‰Ðc1ë¼aUM6ûܹS$8¤ýöÛ–ÔÔ4‹õï¿G† ­éêÔ©c›6­§~3-33ëàÁÃkÖ¬€×¯ãÿ=qlllΟ¯É‡Ú¡Cû1cFõÕ7.^’½&~~@QÔ¸qc€Åb3Ú×÷à•+׊‹‹ÅrµÐ||¼ÜOîQ·iÓºS§Ž]»9s¹ÜBé ö7ýN:³~þyÅOK—=úôöð>Zêý~2:ulÕÊ<##óþƒÐ1cF“b7o†›­ÁáTßZ¼hÙþàA(¨¨¨ôïWsY ‰œzüúë:²¥OŸÞÇþ~Ö.·ŠþG¨Åøå—_Þ½{GQÔþýûÕÔ>‘AƒD¹ÑÑÑ^^^¢³QÞ¾}»k×®ØØØK—.)iZ%¹ž0ÿÝw߉^Ç*++ƒƒƒïÞ½èåå%¶sÙËË^ᦫƒ"#jFŠ~¾²²²¼¼vïÞ­¯¯?lØ0MMÍÌÌÌÅ‹¿|ùò“{=9P2¹ýÊ•+§IXµj•X1///±ð"""ÀÓÓ“?GGGxúô)ÙIìÛ·O4|¢(êØ±cZZZ 9:„D …BÀ÷íÛ×ÒÒ’l$·â¹\®ÔiíàééIGï¢/€„„ò€>Ÿ÷ìÙ#:J…Á`œ}ú|²< Òø|¾ÁŽ;RSSOœ8A¾.oݺõõ×_7u›ˆ\‡F«<oøðá÷ïßÏÍÍ ýé§Ÿ(Šªªªòöö~òäI½ËË^ᦫƒ"#jFŠ~ž^öv̘1‹-RUU€‚‚‚Ù³g'''ÿñÇdo£ "ˆþˆ'üýý%gÚ´k×nãÆ¢[$/¯UUUdd¾žžYÿC‰Òé„< (ÊÅÅE²n]ºt!£ëj¸»wï&''ƒHîîîVVVÉÉÉÇŽûþûï%_åêê*¶¥uëÖä½8íóç5q‹‡‡‡Xa}}}‡Ú¾!Ø|†zèСW¯^åççÆÅÅ%''«««ÏŸ?ÿŸþIKK 5j”P($<=~S\\lmmýÕW_y{{»»»‹%-GÊES«&BÎÉÍ{êÌ™sï’“Å6Z[[¯]û³èwñDkUUUdd¾®®î­[·Åž%Q: ‰á}¼JQ”³³“XIMMÍÎÈèúOzð 4%%ÆGotuuiÓ¦uJJêÉ“þÓ§}+ù* u6‹²´°º'«¢¢òÍ›pqé)™ÅÝÝ£×¶¿vH­R?™Áƒ;~"66®  ÀÀÀ >þMJJªººÚìYßïß ==ãÎÝ{ý† …B2Ìž?ýúõ‹{]RRâйë„ñ>£GrssÁµ‹QK5{öìêêj###:}rÝÈ ]]݇¶o_“#sòäÉžžž}ûö *--UÆ&#סуqfÍšµgÏòØÈÈÈÝÝÝÜÜ|Ñ¢E•••§Nrvvݹìåûí·HVRKKËßß¿~ûT´òHÁ)z¯¯¯¿nÝ:&“9pà@:ñ¦Áš5k¦OŸþæÍ›òòrÙoeÔNÌøâÅ ±Û}Æ £û®àþýûùùù’‰@%ï.FEE‘aÿµÝÕÌÎÎÎÎÎ655%y¶¬¬¬¤ÞlwttÄ5ºç+66–Ìà È9üðáÄ„[[[±WIæ}ŒGxsss©y¿k àØ| Äd2ù|þ½{÷ÆŒCÆê÷ïߟÍf6Ì××÷úõë£FЉ‰!Ý‚ô´yذaCzzz```EEÅ8Àd2=<|TPPÀdŠGS—8!_¾|ENȳgÏÖrë;''7''×ÄÄ8:ú´iÝZê7Tg‡N2ð'NÔü|ý:þ÷-~¨žº:„……¿}ûÖÆÆFìUúúú,–ø÷»Ø v11±|>:ut%Ötø°Ÿ†}2ô#MõAèÃQ#G߀>}z³ÙC:|äØÍ›!ý†ÅŽ&)lò¤w²vÍªÌŒÌ /UTT9züÈÑãL&ÓÍÍué‹Eã|„Z€cÇŽÝ¿~ÿý÷ÚÖÑsíÚµŠŠ ]]]±L㦦¦+V¬øî»ïø|þÇ•ñ{M®C1bD\\H^.\¸}ûöäädòÙò–¿|ù2Híiê:4uy¤à=€×ÔÔýM³··WSSãr¹ÑÑÑnnnò^ô½Ä¨¨(±§þùçÑ?Û´i“ŸŸ/Ë :z%²M³'ŠŠŠþüóOPSS“L“¬øä=´±cÇ€P(”œ$xðàA’”Z´#CÞò²hê:(Â1¢f¤è<“Éœ;w.“ɼsçÎèÑ£.\8sæLŸ¼¼|Ä—ýûZ¼ä§‘£Ætéê”#ËÛœ:MšªhþyQÖÖÖ=à\àùŠŠJYê/fåŠe$EüÚµëWý¼æþýÏŸ¿ØºmûW_M­®®–kW²2@G扉‰ð>h'H0O¶wïÞU4&o×Φ°°82òÙŠ«|}–•• …ÂwÉÉ3fÎ"Ë xý²B HEEŹïLÚÛÛ;;;wîü!I„”””ôìÙóâÅ‹%%%•••!!!^^^dþÚ¤I“”q=Èyh½zõ"³¢þúë¯ÿýï¯_¿&_ëÛ¶m#+ìhii‘Ö¯¼,šºŠpŒ¨Q¢·ÈdWRRÂd2Œ†ÆÿÑÑÑŽŽŽu, M„‡‡ÿöÛotxUUÕ.]º¬^½ÚÔÔTö÷’½oþ—_~!wø¥ÒÒÒºté’èøù¬¬,sssðõõ1c†äK"##ûõëG¯m+jôèÑçÎý$ÿøã’¹DÔ´iÓôôô¶mÛ¦««‹ÙìT‘‘‘b‹´Kåààc``™™IÖe”´cÇŽ… À‰'&Ož\ÇžMÒˉ>U]]=hÐ ÉqïãÇß»w¯èiܸÍçèÑ£ß~û-°Ùì‚‚r–°±±!ùêÕ«ÅfÔ|óÍ7ô’ “<8pàÙ³geŒîÐg@Îóò²BËoÚüû¦M¿×ö¬¦¦æÙ3þ½{Xò0;;§­=ìÚµãÛo¤ ³zöìùС#Ê?žÕEŒîuòä1ÑrûŽ¿þy­X±©S¾ÒÕÓýûïÝ:::éïj«›sÏ^qq¯õõõbkkª»wïýiÙJ8tp?‰ó,X|ðБV­Ìã_‹gï[¸pɃ‡Åžºqãæ8Ÿ‰’#¾ÿ~æ‰~eee¿ÿ¶ñ‡fCc2'Nø}?ë`³5RSÞŠ6Õλ“€|ù²¥b3êÏž üß÷s¤6Õ~ýúž¿~‹+úxÂÅÅåܹs—/_þ믿öìÙsóæÍ]»vɽËeíÚµ×®]8P|MŠ¢ póæM±ÙïtʇÚr?899]¹rE´a0™L{{û£G‰õƒ,]º4,,lÖ¬YdqË™3g†„„.î5|9zdMÕÛ{,i8AA5ÉêL&ÔÒš(Cò©!C>ä+º°‘‘ÑŸü¶å÷MÌwÕ¸ŸŒ§gÍ7l¿¾}Åšê÷#ê Ÿïí=æÞÝ[îl¶¼oªvv¶kÖ¬ºxáFïè¿ îoäíÛ·ïÚµËÂÂÞ‡ ªª:sæL???…ŠÞå"ï¡uíÚ5,,ÌÓÓ“\?éòvvv—/_–ŒTå-/‹¦®ƒ"#j.Êq¾QÔcv\rrr|||rr2ƒÁ°°°ppp%Sq SRRX,–­­­ØO–Oòöö>w­-f³CRÉÞ“ýÙ”——¿}û–¢(kkk©“xåÒæ##@””TVVfkkÛ𠣦 ïxZJJjBBbJj*ƒÁhenÞ±£½drx¹¥¦¦±X,kyOÈÉ_}sáÂE›¨RÈ}~B¡0##3''ÇÐаukËö7ä“‘‘@ HNN.++·ig£Éf7Å[ ÿe¹/£´´´°°°’’WWWÅLæR¿ß-r—Ë}þüyLLŒººº­­mÏž=ëÞ¹¼åeÑÔuP„cT@-û<ð $//Ü$tuuýûïR %''wíÚµ¸¸xΜ9R³ë!¤€>>=zô¨¨¨¸uëÖÊ•+‹‹‹¡Îå¯B)CCC6[óþý‘‘Ï ÆØ1£»víZYYqçνµë~-))€ÁCÄB!„ꆼbÙ¸qã¨Q£òóówîܹsçNѧ ƦM›DÍB!¤°Ö®ýyüøÉ{öìÛ³ç£E  ƺu«½†a‡,B!„ä£Iìþ;ÜÝÝ_½z5aÂz£®®n¿~ý‚‚‚–-[ÖŒuC!$;7W—'¼½Çˆ.ª££Ó»·‡¿ÿ¿‹-hƺ!„BHIáx…cjjêïï999)))†††ÖÖÖÍ])„Br311>zä äææ¦¦¦´µ²jîJ!„BH‰a¯¸LLLLLLš»!„ÊØØØØØ¸¹kB!Y5<_{QÐj!„B!„BE]]]öÂM´jÃaB!„B¨…ÍJóIzzzMW“†À!„B!„P '×t6…û†}:ýçãÇ÷ïß_ÇÞ¶lÙbddTïòrñõõ}ôèÌš5ËÅÅ¥ÙË øO;þ|XXX÷îÝ1€G-Æ­[·&L˜ŸŸOoy÷îÝ»wïΜ9sâĉÀÀÀ¶mÛ6Ö{ÕÖýïççÕºuë9sæ4Ö{!T·Ë—®D<‰ìÚµKK à9œŠæÎ?}ú£X:,,<,,|ÿþ¿®_7þøv %uûéÓg_¾|eii1sæt©BòŠŽŽöòòJKKÝíëë»~ýzÉߥ·nÝúòË/ËÊÊè-ÁÁÁÁÁÁþþþׯ_oÓ¦ÍgªwØ»woqqqmÏr¹\±þðáÃuìmÅŠb¼\åe”——7cÆŒóçÏ“?(TÎ2¨ÅPš>>>~÷îÝ\.wäÈ‘^^^Í]„”عsçÆÏçóÀÓÓÓÃÃÃÒÒòÍ›7—/_މ‰yþü¹““ÓË—/ÍÍÍåíFµmÛ¶¤¤¤yóæ‰n?}út```÷îÝ1€G¨Þø|þÐa#ž>}FFF£GèÔ©#—[õ"*êìÙ@·rÕê‚‚‚uë­ÚËkØo›7¾KNž=k¦èöÀÀó.^êÚµ ð5Š×¯_÷îÝ»¤¤„¢¨)S¦ôîÝ[CCãñãÇàr¹kÖ¬ÑÖÖ^¸p!]þæÍ›#FŒàr¹l6ûÛo¿íÕ«WNNιsçBCCãââÜÝÝ_¿~­©©ÙŒGTo‡DïÎÎÎ’ºuë&úgff&èëë÷ìÙSêµµµR^ÁÁÁß|ó Ù³"”A-‰ðB¡ÐÏÏoÏž=ÕÕÕàääÔÜ5BH¹­\¹’Ïç3Œ}ûö͘1ƒÞþ믿Î;÷À'Ož$ãÞŽÅb-Z´¨Qv…tDï=Nžy=ÏÈÈŒŒ|–XQQ)S5ÊËŸ>}–——'cµÃÂ#ȃիW‰FïàêÒ“ ž/,, ¾y«¶=dgçDG¿”l¹ééÏŸKié Äçó_½Šy—œŒ-¡º>}\]]éè8pà€ ""¢¨¨ˆl!!!0aÂ:z‹µqãFòøÚµkŸ¥âØ ãØ@R^ö„ò–¯[~~þŸþ) ­¬¬îÞ½»t©”[Ÿ³ jy=€_¾|yxx¸žžÞÖ­[kÖÒ,‚ƒƒûõë§¥¥åààеkWmmí=z?~\²$‡Ã™3gNëÖ­ÍÌÌ\\\,,,LLLÖ¯_/œóx¼uëÖYXXXZZº¸¸tèÐAWWwüøñoÞ¼-–››Ëb±X,Ö7Μ9ãææFÆü˜˜˜XZZ4áa#åWPP@888H>«¡¡qõêÕÀÀÀ 6-¢çÛÑ£GÍÍÍ»u릥¥5oÞ<‡# <تU«Ö­[;99éèèôêÕ‹ô***,k×®]dK»víX,V`` <{öŒì¿sçÎb•‰‹‹óòò200èÒ¥‹ŽŽÎ† x<^£&è?.$äÎCG˜šZ:÷ìåÖ«™yÞýýü¤\K9œŠ…‹~ì`ßÙ¦]‡~ý=íÚwjkÝ~óo[$ƒs·iÓïví;µïàЯ¿g·î=[YXM™ú]bb¢h±¼¼<]=c]=ã[·n]0`°…¥uß~žm­Û·ïàpölà'+_XXHtêÔQòÙÓ¿óó;îçwÜÁ¡“ä;ž8áçâêÑÎÖ¾—{_S³ÖK~\ÆáT…£ÇþµµëØÁ¾sï>Ì[Y 8äÍ›zŸ•zú&ºzÆûöù’-ŽŽ=tõŒ/\¼/^D‘ý÷tq«L|ü›±Þã-[Û¸ºõîܹ»™y›ß·ü‰-!©ÁüùówîܹuëVÉgMMM@(RTMNŠôôtccãöíÛ:T¬°½½=€“””Ôĵn*$Àf0ÆÆÆ²—733ûdÉú•—ÅøñãŸ?îáá¡ ePK¢èC諪ªzöì¹nÝ:CCCÅrçÎ///ÑŸUUUÏž=›:ujjjêÊ•+éíC‡ŽŽ&R% óòòÖ®]ûøñãóçÏ«¨¨Ð…gÍšuðàAÑ7ª®®>}útxxøÃ‡[µjE6òù|2{ùæÍ›;vì½Y”žž>qâÄÒÒR±;«ÑÚ´i£ªªZUUuîܹ+VX[[‹ËzBŸoW¯^ýûï¿Écàñx»ví*,,tpp=竪ª?~Ë—-m‰Š²ò¥‹ç x=‘ò† ëJËʼ½¼xñ"%%…-¯ÏÊjÀòeKöÇ;èàùú}ÎÇKé®Ó>§7ÒÓßpÙêÆëúx÷íkLïÖÔÔ„‡ßÚ°a³ÝàO†s n¸ûh̘ѢI{ʔɪªª„«ýEcCCss3BHZËþ[11é˦÷ÿ?â$ú‰~’†ÿ°šRPPpùòåÀÀÀÄÄD@@;vlsf†JLLtvvªªªì44Òˆfl†a´µµwïÞýäÉ“gÏž€Äµ÷øv.;;»   ´´´´´´¬¬ŒN%"zönäÈ‘IIIeee=zô˜1c†³³ó!ChÇ£(ö{¡þˆyyùäææ>xð@l“­­­X íØ$„ÔŸ J[[ÛÇÇgÏž=/^¼zõê?ÿüCǃTVVîÝ»×ÏÏ/""‚^Áλ6^QQQKK«¢¢¢þ5ufffqqqôGÆ;«ÿçÍápºvíú/Šø" IDATäÉüyC[xöìyaaQU^^ÿû|ذ¡ÉÉ)ååå¦f–®Ó\&MšhggSÄJÌÃXzÃÆF|œˆ¼¼¼¥…E^^~lLœØ¦ƒÄÇLÑ˲!••olüçŸOýüó©÷"ï_ »~ãß›<¤-ø0ÆÕuÆ?¬øå—µâG´¶½«¨¨ ¥¥YYYibÒW¬f¿~& Zø‰4Pü r8ƒôôôæc«ÑpÞ¹sg--­ú;155 JOO/))­ §§'V³®´홚šÚÌ™3gΜIyðàÁ‰'8P[[›““ãæævíÚ5ÑÊýuÑëo[bW þ¡ÕåææmÛ¶#0(ä+qþ²~M^n^ÀåÀªªê£ÇŽ=v\FFÆÎÎöÇV|úéH¶ZLL,!D_¿µAŒ‰Iß+WC323KKKE+ÔŸZùþÚílmìlmÖ®u/// ÞÀ+..žò‡ÇŸ£F92X´²ÂûýD×ÿ‹¢¨¨ÐÇøÀíܹ“½ûðáC—ôôôuëÖ 6ì“O>©ÿ—/_Ž=:;;›âíí=zôè÷×Ü6påÊ•ªª* ±‰â;vìèîî>gΆaîܹCZ?>99™RÿržeË–íÚµ+++ëÖ­[láÛÖ¿ÿ~PPPýF6v"@«C€kééévvvìO=======-----­€€±Ê~~~ÑÑÑ¿ýöÛõë׋‹‹† }šŽSóöö®à+++œœ’’’!;vì ÖHµnݺ5¶iÈ×+VFDDЯ¬¬lllÜDý¬¬¬TWWÓó¤o[ÿ“O>‘•m @Ñ«Þø7£+â°¿º6nÜHÓûÒ¥K×®]Ë^²Î0Œ’’»P–¨ž;wN(&&&úûûïÛ·¯°°ðîÝ»«W¯>xð ­œ››+Ö'CÑIÂ{ôèA´Dee%Çãp8 .¦jnn¾`Á‚?þøƒ’œœ}ZlÓóçωȀޛ7oBtuuwìØ!:áܽ{÷üµÇâp8fffëÖ­KNN¦ÃlØKhØëjîÝ»'ö(ºÂ¼h€–X³fMÇŽõôôDg[ES!„¨¨¨¼‡öˆ-ÿÐrà‡^±r•¯ï±M999„=½×g¯""nBttt6oúEt¹¨¨è7~Ÿ÷ëgòóO?Æ<Œ¤½.wî¾þö`õz.ºû÷Å'=ª­­‹­ÓBÅÅŽz÷ëadüõ×ß4X¡¼¼‚^»®¢ü>>Οh€Vrýúu…³gÏÖßZ\\L§ƒ‘““-3fÌ WÀ­ZµjÆ 辰m«¬¬¬oß¾½zõZ±bEý­ì/gv$¶mÛzõêeddD¯ h°¾ûÒ½m}‰C€Ëå^½zuÿþý›6m¢]îÔ½{÷èäìèÚmRWW'ú3¥®®ÎÃÃClŸ©©©666666´›¥¥¥E“?›ÿÙp¾pá—/_ŠV^ºt)Z»êÌš5kªªÄ×—NOO¿pá!DII©ÁÕÝZíUHNN]j å¸\îµk×òÞ¶ý7ÑïóûQÑ…„Þ½{Ó:â©®®N4®×ÕÕíÙ³_lŸOž<6ÜqØpÇ¿Ž-×ÔÔÔéÐÂæ«¯WD[ºl…Ø‚«V¹çååBZkÕ´:Œ1Œr%<ü–ØV¡P¸gïëy§MMûµÊ› '/GIMM+--mëc|ð†J‡ðìÛ·¯þy±Ã‡Ó/·þýÿçlàÂ… ÏŸ?OY²d »€±´ÓÔÔ¤+ØûúúÒN5Vii)3¨  ÀNµKW‰ …»víÛÕ_ý•‘‘ADÒþ;Ô8øÿŒ5Š’œœtvvv4½„„„ôïßß××÷É“'µµµ‰‰‰0`nnnÊÊÊmÚ’îÝ»B†ùî»ïÂÃÃÅþWh‰‘#GBRSÓ¾ürVBÂ£ŠŠŠk×þ™;gÝúÙèQô†ãÈ„²²²ï-‰ˆ¸]TTzmÊÔi—Åvس§QIIÙƒ1îîkþ«²²R(ffe¹Í[˜™•Eqž:™ÖìÔ©ãO«~ „dg?›<Ååè±ã©©iW®†.^¼Ôû/Bˆ™™©Û7sZë™~1Ý•" ÇO˜òÓÏk"ïG•——ß¼îâòž}ž„EE…¹s¿n­#6¦[×®„†a–-ÿáöí;99¹m}D€˜¼¼ü¤I“!öööwïÞ­®® …)))Ë—/ÿùçŸi¥K—²qww?|ø0!¤Gƒ :YÏ©S§DÏiJBHyyù Aƒ._¾\^^^]]ýÏ?ÿ899%$$B¾øâ výàÁƒ»téBùóÏ?çÏŸŸ’’B~ïܹsÁ‚„UUUºÃw« qÒt <·&È%„,Y²äòåËÙÙÙbÓÑ}þùç4ÞBæÎû÷ßçççŸ;wîܹslaÆ=yò„ŽÏ¤8Ζ-[fÏžÍãñ-Z´hÑ"…ššºuäÈ‘3fÌ`+oÞ¼977÷È‘#ÑÑÑb«MvëÖ-$$¤‰Ë~ÞJ@@€³³sRRRjj*{I{|›š2eÊï¿ÿ. Ïœ9sæÌ™Þ½{ã2]h-ß}» $äʳgσ‚CĦ£›~òáñ%ß»víâïçÛŠ“O›öyFfæÖ­;Áþýžû÷{ŠUÐ×ïtâÄ1ºþ|›š0qü®Ý{…Báùó~çÏûõìÙ3.6ª­ ðóððxöìÙ7¢££‡ "##£  ÀãñèV===???v¬\^^ÞöíÛémÚWÔà>'L˜ “¥óÍ7‰‰‰»wïÎÏÏŸ8q"‡ÃÔÙÙ™ž¹ 8N``àøñãŸ?~øðáÇ‹ÖWQQ 633{çú'M=ð;vì¸wïÞܹsÛhÿ}úô¹sçŽØêÓ222?üðÃßÿÍ–GFFŽ9’=ÕGÏ€^ºtIII‰>„­ìêê5tèPÚ™YSSÃår·lÙ&6_ÝÁƒ×­['ºÖެ¬¬³³sXXXçÎE›$vƒÅžÝ¨¿ €Õ·oßû÷ïÏ;Wì/ÃáôîÝûðáÃ^^^ì¬9Mü½Ñ’úçÔh9[ŸËåÒ9ÃÄö`ggçëëëààÀ½Á‡7±g€ÆôêÕóúµ«bkËÈÈ,]ºøð!/¶¤wï^ÿÞ¸6lØPv=3yyùï¾[xîìIEEñïsgç)á7¯ÛÛQVV"ÿÿ}Þ»w¯õë×\ð›¯nÏž?þéGÑ©"eee'Mšp9À_4KËÈpÅn°¸\Nc›Dq8œŸúñ¢ÿù¾}Å>ŒjjjNcÇDÜú×ÖfPsŽ(ÃmÞ'šÃ~¢ÿ§¦Í 'Ž<Øîÿö?»Å'àméè脆†þðÃtc†ahzWVV5jÔýû÷íííÙÊìÿ¡Màp8m× Ö¦¸\î®]»öíÛg``@DVñ——Ÿ7oÞéӧŦ…·´´ŒŒŒttt¤?fØú½{÷ ª?þmë¿•&~GI¤|8ìò9o¥¼¼\FF¦åß æææ4÷¶5Ñ ŠšV\\™Ý«W/ssóW¯%„ÔÕÕ¥¥¥Bzöì© ð†ÅlAFFFeee¯^½šžŒa˜œœœ¢¢"eeånݺ½Ÿ‰ÄàðàÁkkë7×û_™™™±±±EEE¦¦¦Y¥²²²¦¦FUUõŸ#úwþª²¹ó&”””DE=xöüyO£¦¦ý\|RWW÷ôi:!¤GÃæ|ŸgeeUV¾2êi¤Òä•& Ãäææ½xñBYY¹K×.MWn¹W<^bbRbbRm-s sÃîÝ›ó›¾õ›ñêUMMŠŠ >Ñ E’SÒßáÿÐ÷&++ëáÇÅÅÅVVVæææ .c&uÞíwËóçÏ###ËËËõôôlmmEç“®¯¦¦&666))IQQ±W¯^ƒ j¢ò;Ô‡v+??ŸÃáhjjÒÿ›ù¿¡hµú«½Ò™####ÍÍÍ[ÞB@À0Ì»°F€ø@¼Û„Òåm<@s´óÿAÂïh;v€—Ê4x)€ à¤<€@€ðR@ ÀHx)€ ऀ¬¤ð?Zqoæææ­¸7 j_¾M=xð@ÒMh[ø#‡þΠ-à»åýÃkmÁÚÚZÒMh[í+À·iŸùÿ^ÂGîÁƒø#‡þΠ-à»åýÃkðnÚW€x£W•%’n€`;)€ à¤<€@€ðR@ ÀHx)€ à€ÔÔÔ´Ê~bccçÍ›wèСVÙÀ‡Ïç3 Ó*»ŠOX¼xéŸc­²7ø…ÂÖúÏÚYI7 }Ù´iSff¦±±ñO?ý$é¶´­ÌÌÌ#GŽÄÄÄ<|ø077×ÐÐpàÀ¶¶¶‹-RRRz·}~õÕW‰‰‰ÞÞÞæææƒnݼ•mÛËÎzÖ»O¯Ë—Jº-ÿãìYß[·"ââ’’ËÈpÍÍÍ­¬8OlggûÎûüÆmÁãÇÉG75ígk3¨[ íÇ… ‚‚‚èí+V˜™™Õ¯S[[{èÐ!ooïÔÔÔêêê®]»:::þòË/Ý»w¿me?ÿüsaaac[ííí¿ùæöî½{÷šîKøí·ßtttÞ¹þ»iÎÛ'ŠÇã­X±¢¶¶–Ò³gÏ5kÖH¶>´ðÿÃÏÏ/..nÈ!ðða»~ýº««ëË—/Ù’ÌÌÌÌÌÌóçÏŸ}åÊ•aƽ¿æ¶6//¯²²²Æ¶ÖÔÔˆxŸ&öæîî.àߪþ;hÎÛ'fõêÕ¤·øÆ€ÝÖõ¡ý¾@100X»v­¤› }üüü¦M›FÇî:::ÚÛÛwéÒ%---((()))66ÖÚÚúÑ£Gúúúo»çãÇ{zzZ[[‹v¿çååmß¾2xð`xøh1 3fìø‡c!:::“&Žï×Ϥ¦¦6.>þÂ>Ÿ¿zͺâââ Ö½Ãν{y{é? ¿h÷»¿ÿ¥€Ë––ð€yóæ±ñ¯1Ó§O§éÝØØxéÒ¥ZZZ!!!ÿýwuuõĉcbbŒŒŒÞKc[Ç£é}àÀÚÚÚõ+ôïß_ôn^^!DKKkР†G$©©©µ¤þ;hÎÛ'*""bïÞ½í§>´+Rà ~ÿýwGiâ<4aõêÕ Ãp¹Üƒº¹¹±å›7o^¼x±··wqqñ©S§V®\ù¶{¶´´ôòòjÕÆ| .^  é}Ð@ëS§Žëëwb7ÍŸï6}úWEEE9ºzõOòòòo»sss³Ý»w¶fs =9zôhhh(!dÒ¤I—.]j°Î¿ÿþKGh÷êÕ+66VQQ‘2}út;;»ï¾û®¼¼|óæÍM÷3·[4`B:4`À€7ÖÏÍÍ%„|òÉ'½V-¬ÿ¶šóö‰ª©©qss;w600ˆŠŠ’l}ho¤l»­[·òx¼–Ÿ“”ÔÔÔ¤¤¤ºº:I7>^¥¥¥)))„;;;ÑôNQPPسg=·}òäÉÆöPYY™––†¿dø˜=yò499¥ùŸ‚Èû¯!­[·F4½BlmÑÁó%%%a×®7øp¡P˜™••˜˜T\\Ü‚V€ô)(( §Ômllš8·N¯V#„lß¾¦wêÛo¿:t(!äĉEEEmÜØ6A6!¤™ciýæ$|Ûúo¥™oŸ¨M›6ÑŸj^^^ššš¯í4øàààÈÈHuuõE‹Þñ*Á–›6m𬬬²²riiiý­FFF²²²vvvôî÷ß/++ëààPYY9sæL}}}cccSSSeeåiÓ¦51@Ûaý›ššÖߪ¤¤âïï¿eËZRTT$+++++ïè訮®naaѧOŸ:¬ZµŠNB­^½ZVVVWW—Þ=v올¬¬¥¥%½;iÒ$º«sçÎB|||d›tì¦Ô†64sÖ M]]½Î Žç23 ¡©;bÄ(zwå?ihê~:jì«W¯Üæ-ìÙ«oÿƒ¬«g0sÖœæü&.))¡7úõ3©¿Õí›9§O?}ú¸©i?±#ÖÖÖîÚ½·k·žfflíºuï5räè»wï‰>|ÆÍšºÝ {Ó»ææVšº— !qqñšºšºƒl†Ð­ÇOœ¤%ý;yòts^@x?–.]Z\\,''÷×_ÉÈÈ4X‡a˜›7oBlmmŶΟ?ŸÂçói©C6—Ëe`4§~§NÞXóÝê¿•æ¼}¢~ûí7BÈ_|1a‰ׇvHj|IIÉîÝ» !Ë–-ëСƒ¤š1eʆaªªªê€‰ŒŒÌÈÈ`fÊ”)´¤®®Ža7mÚ´'NäççÓr>Ÿïëë;dÈ,ïï_·nÝè]??¿ŒŒŒúlll&OžìääDï2ÿ/**jðàÁÿüóP(¤›***~ÿý÷Å‹³¥ól¤¯¿JÝŸÏg+7Vh#'Œg¦ªª:00XlSTôƒÌ¬,†a&LOKøuuôËæ¬9gΜ+(x}–Ïçûû_é8æßç={¾¾ôt÷ž.;TSS›0~Ü„ñã ÿ¦hzĺºÚ ­]û‹èYãûQÑS]SRRÙ’:þÿ|ôjëjE?zôU[ûz°@]ÿ ½VZÜZ.88øìÙ³„ww÷&¦=‹‹‹+//'„ØÛÛ×ßÊ^"~ëÖ­¶ifÛ¢Cèõôôh.))¹}ûvƒ¿aDëÓu†aRRRnß¾]]]ÝZõ›¯™oK ÌŸ?ŸÏçwèÐÉÖ‡öIjüîÝ»ËÊÊlmmÙ\!“'OVWW'„øúúŠm¢%\.wÆŒ¢å111!!!®®®!!!™™™ÁÁÁ´çóéÓ§˜=Z‘µµusªÉÊÊŽ3†òòåK ‹5kÖÜèQŸÒ¹â÷î=0j´“ŸßÅW<ÞùàAŒ¯ï…ž={îØþk佈³gO~ùåtBHEEÅ4×ÍsýÚÕø¸èáÇBz÷îôúiºººÐÑwnߤ][]»v?nìðiÅï–VÄãñè°Ó¾}û®^½º‰šÏž=£7\.Ž-ÌÎÎní6¾»æ¿ælù•+WŒŒŒ´µµŒŒŒzöìùý÷ßóþ÷»”ñNEEeöìÙªªª}ûöuppÐÒÒ=ztHHˆØÎß¶~ó5ÿícyyyÝ»w²sçÎæ 7hëúÐ>q^¼xñ+//—‘‘ipÝš·’`nn.++esé@;D¤´º§OŸBÌÍÍ[¾+@À0 í~[í"9s8I7>m±t1 ð×.<æ?€–û°—o=ðM“šIì>fèèðR ] ¡oÇ+***))©©© …’nÀŽÃá(**jjjêêê*++Kº9ðZ»ðB¡0+++??_Ò øˆ…ªªªªªª¼¼<===CCC.÷%¯ýx¡PøøñãòòrI7àãUXXX]]mbb‚ÙÇ%®ýžDÉÌÌDz¸òòò¬¬,I·Úk€çñx’nBH~~>Ç“t+>ví4ÀIº ðÄ4‰k§¾¤¤DÒM€ÿ ¦I\; ðÕÕÕ’nü1MâÚi€€v+ÉI\;}%Ýø‚‚‚¤›ð±këÀ×_NP[[;//O"€ú´´´°¼dµÓx]]]I7þƒ˜&qí4À+++wìØQÒ­B騱£²²²¤[ñ±k§žbhh¨®®.éV|ìÔÕÕ %Ý h×À …ÂËûö훕••ŸŸÿžÛ”žžMï7xoÚE€o ‡Ã144ÔÓÓ+***))Áªƒï‡ÃQTTÔÔÔÔÕÕÅÈùö£]xJYY¹{÷îÝ»w—tC$¦ý^,x)€ ÚÅ5ð’n@»&ùŸ`kk+éV€Ô{úôéÓ§O%ÝŠ¶"ùO‰ŒŒ”tÚ5 xsssÉ6@*`;)Ð.†Ð@Ë ‚gÏžåççÓÙaÕÔÔ:uêÔµkW.çë>ð‚ššš˜˜˜W¯^ÉÊÊ***Bª««Ÿ{C^^¾Gt^zjèøÈÉÉõìÙ³¤¤¤´´´¶¶–"//¯©©©¥¥%v=<H)x€‡ÃÑÖÖÆ÷3Nš IDATåîªvà†©­­eF(Jº-ðÁâp8222òòò222’nK£Úi€ …ÕÕÕt2žúká´":ù+Ç“‘‘QRRjŸ!´=x¡PÈãñ„B!—ËEz€÷€]“õÕ«W***í0жÇ9i«ªª„B!‡Ã¡^ÒÍ€Ÿh­ªª’tsÐî<ŸÏg†¾p’n |\h†g†ÏçKº-âÚ]H®­­Å°yšI鲬íJ» ð$…R@ 醈kw+Æ€dq8œvNÛ]€€úà¤<€@€ðR@ ÀHx)€ à¤<€@€ðR@ ÀHx)€ à¤<€@€ðR@ ÀHYI7 Q‘‘‘’nH[[[I7¡­ ÀC»6aÂI7¤ÆåË—%Ý„6„톆†¤›R ¬¬LÒMh[¸@ ÀHx)€ à¤<€@€ð¯=~üxÍš5gÏž•tC +é´­}ûöåää4QÁÖÖvòäÉ„~ø!--Í××·OŸ> x_ „·°iÓ¦ÌÌL±BssóáÇs¹8!¬<À‡††&''7QËåÒÏápÚ¨ ))):uš1cFâ#áççרÖnݺ-_¾|éÒ¥m÷VHÐà)eeeKKË7õéÓ‡Þøã?N:effÖêÝï!!!aaaýúõC€oªªª¶¶¶ôvMMMNNγgÏø|~vvöòåËoܸqòäIUUUÉ6 Õ}¾o߾ǎ{cM›6½Ÿö@KXXX\»vM´¤°°ÐÛÛû—_~áóùßÿ½¤šÐFpÍpsñùüÄÄÄÔÔÔúå)))Ož<©ªªj‹ãfff>yò„Ïç7QG(&$$5gŸ Ã<~ü¸°°P¬¼ººúñãÇyyyo|xnnn||üóçφiÎÛ”žžÞêÕ«½½½éàù£GׯöêÕ«¤¤¤øøøÚÚÚÖ:4Ã0ÙÙÙ÷ïßÏÈÈhú=h!ø×<<ýÙ³góçÏ8pà”)SæÏŸÏV¸{÷îçŸÞ¿ÿ &899YZZΙ3'&&†­àèèhbbFIJJ2111117n\Í`Êãñ~üñG{{ûÑ£G;99™››/]ºôåË—bõËËË=<ŸÏ0Œh¥%³gÏþ÷ßy<žhýcÇŽÍ;—vç²³¦Ý¾}{æÌ™wïÞ¥wëêêD;¨†;Dcͨ®®^²dÉ¥K—Øu†aBBB\]]Eó¡@ X¶lÙÁƒËÊÊØÂ¢¢¢+W®L›6Mtú}v·ßÿ}XX›Q333çÎ{ïÞ½/¾ø"44T ÐòÂÂÂýû÷ïܹS¬yëׯ߿qq1[RQQqäÈwww±šÛ¶m›2eÊÈ‘#oÞ¼ÙÄóm]«V­200 „\½z•}Mþý÷_''§ððp¶ZmmmLL̬Y³¶nÝÊN:•a˜W¯^ŠíöÖ­[yyy ÃL:•-\¸páæÍ›E‡<”••yxxÌ;·-žüäää<þÜÊÊjýúõ§Nòðð „TUUíܹ“aCCÃãÇ?zôèÆëׯçr¹µµµ[¶l¡={ölXXØàÁƒ !=zô ûûï¿ßxФ¤¤ððp'''ooï7nx{{÷îÝ›’-Úo¼oß¾ˆˆBȈ#hͽ{÷Ž;–’™™yôèÑú»½wïÞŒ3|}}<8fÌBHmmíìÙ³óóó'MštêÔ©3gÎÌš5KII‰rôèQÑžžž¾¾¾„;;;OOÏ›7ozyyÙÙÙBöìÙ#z,:ˆa˜ÐÐз|É[ÄÚÚš>©ÇB \]]ù|¾²²òâããccc·mÛFsþÚµkÙ““'OVWW'„Ðç(Š–ÈÊÊ~ùå—´ä×_ý믿!#G޼téRvvv@@Àˆ#!'Ožüå—_ÞÏ“€ÊG1‰]IIÉ;wê—+))5gÎùÑ£GïÚµKVö¿×*22’^ñ¾víZ:êÞÀÀ૯¾âóùÿüó!äÕ«W***úúú„:#º’’R÷îÝ›ßæñãÇ{xxо}ƒÞ½{5ª¶¶öþýûß|ó ­SZZ:tèPMMÍ-[¶(**ÒšŽŽŽÑÑÑEEEtl¼˜™3g®[·ŽÞ>|ø¨Q£²³³…B¡““Óo¿ýFgeeU^^~ñâÅêêêÔÔTBHQQÑ®]»!vvv‡VPP „èëëkþ³n9kk뀀B½Ÿ™™ieeE™7oÛnii©ªªúý÷ß …Â[·nMš4‰¢¤¤4mÚ4ooïúöÑÊàÂ… „1cÆèééBòóóék8bĈ   úÊwíÚuäÈ‘#G޼ÿþÖ­[ÝÝÝi9@kù(|FFÆ×_]¿\__¿9¼—-[&šÞ !ì|uQQQ¢×Eýõ× è¸¹¹‰®g®¯¯omm}÷îݬ¬,¶pýúõõ(++;a„#Gޤ¤¤.÷Yˆ6Ãá8;;ÿù矄gggÑÃ=úâÅ‹„ŒŒ à=z$ !+V¬`S:!DIIiÁ‚‹-b&%%Å‚–ÿüóÏS§NUWWïÔ©SK^‡·Å6€n·µµ ©_mæÌ™Ë–-c&&&†xBȬY³¼½½«ªª]]]iá­[· !³gϦ%ÑÑÑô¥Øºu«hJWQQ¡ÏšÏçÇÇÇÛØØ´Õ“€ÒGà#Y£¡¡Ñ«W/±Â(**VWW;;»   ´´´´´´¬¬Œ¾Y¢SÇ;88¥§§ûúú²žŽŸ×ÒÒš0a-‰ŽŽ¦7JJJÄ.`'xøð!<´®"À›™™Õ¿ œ"Ö¯Þ BwêÔiûöí¿þúkQQQJJ ]@^[[ûóÏ?ÿæ›o´´´ZØ` ±BÑ~oJ(†„„x{{?~ü¸9˹ÕßK¬£¾¾„„zÃÍÍ­±:ÉÉÉolC[{ðà½AÏwBrrr6nÜxéÒ¥úËæ‰áp8³fÍÚ°a;Šž?ïêêʾzl€wrrjlWqqq-|"b>Š///Oç'kENNN#FŒ8yòäåË—é`õâââC‡8qÂÝÝí¿mSÛ·o÷ññ¡·åååõõõÕÕÕÕÕÕsrr233[÷X´+žËåššš6V‡íÏ— 6ÀBÒÓÓíììØ¹âõôôôôô´´´´´´è¥òbfÍšµqãF4mÚ´ˆˆڥώŸ'"/0¯A;wnµ§@ùH|QRRrsssss+//ŠŠ:}útxx8ÇÛ¸q£ƒƒç¼í<þœ¦÷N:yxxXYY±öûö훾åLMMoÞ¼)##sòäÉv;=[RRêonnÞ£GBÈÆiz_ºtéÚµkutthM†a”””ê/é×£G‡[·nùúúN›6ŽŸïÓ§lŸ²²² –••½yó&®à=À2r­@]]ÝÑÑÑÛÛû»ï¾#„Ð9ÌÄê4½üû;`'™Ÿ3gΠAƒD‡Ü³c¼[‘™™!¤®®®ÝöìÙgŸ}F_gv½7:I¡®®îŽ;ØôN¹wï^cïíl®¨¨ ãçE»ß‰ÈJu‘‘‘mòL‚ÿ.vìØáììŸv5+))­Y³FtR÷Q£Fy{{ …      CCC±µÇÞªªê¬Y³|||ÊÊÊÖ®]Ë–ËÈÈ899·übV¬X‘““-6J_]]}Ó¦M¢³úÇÆÆ²7œ[±ééé_}õUƒ›,--ÏŸ?/ºìßܹsÿþûïüüüsçÎ;wŽ-6lØ“'OrrrÜϬY³N:Eo‹Ÿ§~ýõ×ÌÌÌÓ§OߺuKtÜ!DSSÓËË‹»hEx<í£~ãilMÑ+Éë—°äååÏœ9³dɺVY]]P(TSS³··¿pá¸qãD+÷ïßÏž=MÌXÞt3XôYˆnrwwwwwg×K#„ôéÓÇÛÛ›vÿŠ>ëÆvË–ˆ­`Ï–‹î„Ãálß¾ÝÍÍMCCƒ-ÔÐÐ;vlppð!CD÷0oÞ<]]ÝVœ¿Á—¥C‡–––_}õUhhèÇEÓ;!ÄØØ822räÈ‘ìÄ{òòòK—.½téí¥opŸŸ~ú)F^EE¥Á³ÇÇÇçǽVBKKËÅÅ%11ñÓO?mÁ³hçÅ‹ïð°òòr™æã·UQQÁårÛbÏm¤²²òùó窪ª]ºtiº&Ç«­­UVV–——oÝ6¼xñ¢   cÇŽ¢ó´µ†aòòòJKKéªlU«©©‘‘‘í–[‘‘‘&L=_ðÎêêêÒÒÒ!={ödWto9>ŸÿìÙ³ââb}}}, Yeee—/_¶µµmù®@ PSSkù®êï™a˜w[éCè[JUUµo߾ͩ©¬¬¬¬¬ÜmÐÑÑy?Ñ’‘‘éÒ¥ËOX´bNn999¹~ýúµúneee{ôèA—¬hSRÓÑ ð1C€ðR@ ÀHx)€eä ½+++“t$ڵ˗/Kº í<´_¶¶¶’n@{kà¤<€@€ðR@ ÀHx)€ à¤<€@€ðR@ ÀHx)€ à¤<€@€ðR@ ÈJºŠŒŒ”t@ÊØÚÚJº mÚµ &Hº 5._¾,é&´!xhï444$Ýeee’nBÛÂ5ðR@ ÀHx)€ à¤<€À:ððÁŠÝ¿ÿ AƒæÏŸÿ¶=|øpmm­­­íÀÛ¢moëÞ½{xðà·:Ö’%Kª««×¬YÓNüùóç=<<444à>Zx€ MNN¶²²’H€/..öññ!„8;;¾ÿ|`üüüâââÛÚ½{÷ÐÐÐ>}ú°%by@ª}à^²ŠŠŠ¹zõjÿþýé¦ãÇ{zzZ[[¿m÷;@;„RÆÜÜ<88X´¤¼¼|ÕªU,,,üñÇÃÂÂh¹¥¥¥———$ÚÐú0ÆXœP(,,,LHH(**zcå/^$$$ …ÂVo Ç{ôèQqqqÓÕªªªžŸ/V­´´ÔÝݽC‡666úúúúúú.../_¾­öý÷ßËÊÊ:88¤§§?^[[ÛÚÚzüøñl…âââo¾ùFSSÓÔÔ´ÿþªªª“&MJMMmì‰_¿~ÝÖÖVMMÍÒÒÒÔÔTEEeôèÑwïÞ}›¤†Ð¿&–-[!ZXTTtåÊ•äädZXXX8wî\6Sq8¡PXRR²gÏžØØX///YYY>Ÿ/_éÝ&2-Ã0të;wŽ;&Ú^PP°lÙ²W¯^¹¸¸°…‘‘‘nnn¢;¬««KJJZµjU~~þÂ… Åv~üøq¶>Ã0'Nœ(//ïÝ»·‡‡‡èNbccgΜyöìYö)BRSSçÎ[QQ!Úæ‡Λ7ïÔ©SýúõmígŸ}Æãñ pöìÙÆžo«“——§7Ø^躺:†aêwÈ/Z´ˆÎMÀÊÊÊ:~üxDDD@@€™™[ž››;f̘¬¬,¶¤²²rݺuéééGŽa ««khh¨è>óóóÏŸ?Ú½{wÑ&=þüÓO?­–„Ï绸¸üóÏ?l‰P( ¸{÷îˆ#ê?åÝ»w¯\¹’¾§ôïäèèØø«Ò=ð¯íÛ·¦÷#Fx{{߸qcïÞ½cÇŽ%„dff=z”­yöìÙÔÔT‡3oÞ¼Û·oÇÇÇ?~|РA„ðððk×®BÆvàÀú_~ù%,,,,,ìÓO?}cK¼½½UTT6nÜ´`ÁBˆ‡‡GUU­óâÅ‹eË–1 £¤¤´aÆÀÀÀ€€€•+WvìØ‘òçŸÖß~ôèQ}}}Ë—/¯\¹²S§N„€€€;wjkkïØ±#88xË–-„€€ö±EEEóçϯ¨¨——ÿé§Ÿúé'9997þ|Ñãááá4BÇÄÄ4s$y«§7zöìÙDµ-[¶Ðônff¶oß¾„„„S§NÑ3#Ó§O­ìãã“››»iÓ¦ˆˆˆ§OŸz{{kjjBŽ=ÍVÛ¸q#MïãÇ ÉÌÌ<þ<ÝgjjêŸþ)Ö†¬¬¬ŒŒŒ!C†ìÝ»7<<üäÉ“´|åÊ•4½[ZZzzzÆÅÅ9sfâĉEEEçÎÛ Ç[½z5Ã0}úô¹qãFuuuFFÆÞ½{¹\nMMÍÒ¥Kßö€v=𯕖–:TSSsË–-ŠŠŠ„GGÇèè袢¢û÷ï³5oܸA±°°øñÇi‰­­íîÝ»þùçÚÚZzAµ’’R÷îÝÙõ:ubû`ßHIIéÈ‘#l?ðÊ•++**N:U\\üôéSZž““cjjJ™6mÚèÑ£i;}ûª¨¨lÚ´I(FEE‰,ÐÐÐðññ¡Í066îØ±ãªU«!\.÷رcÆÆÆ„^½z <˜öÜŠ^˜½oß¾ÜÜ\™½{÷²]Á}úôéܹó²eË OŸ>½|ùrZ>lØ0•W¯^YYYÑÓmM(zzzúûûB¬­­ŒŒ«™ŸŸ¿nÝ:Bˆ¾¾~hh¨¾¾>!ÄÌÌì‹/¾øòË/OŸ>˜˜>tèPZŸËåž>}ÚÙÙ™Þ522RSSsuu …7nÜ`—ˆ/..3fL‡>¬¤¤DéÞ½ûĉoݺ•ŸŸóæÍú-™:uê™3gää䨒§OŸîÙ³‡b``ª§§G±°°pqq7nÜ•+WÄöpãÆ z¢d÷îÝÇ'„.^¼˜ÏçÓ“/jjjoÿr@;…ÿÚúõëëÊÊÊN˜0áÈ‘#)))€®+Ncyzzú‹/ttthMooïViÉ!CDGqB&L˜pêÔ)BHvv6ÝdiiÙàá&Mšô믿2 óøñc±?bÄÑ“cǎݸqã«W¯ÌÍÍiz§ºvíÚ·oßäädÑÞ4Ì2Dl ÷رc8’’’˜˜ÈêééEDD¤¥¥ÑÎüV—––¶xñbz[(¾|ù2666%%…Âår·nÝÚÄcÙËã===izgíÝ»·OŸ>B¡PtõxSSS6½S...³fͪ©©½.}ïÞ½õ%''7cÆ øøxö‡µyófÑôNyøð!Û6šÞ).—{êÔ)vüÅ^)póæÍ1cưåË–-[¶lYc¯ÀÿµwçáM•iÇï“´ ´Ð–²HYJQ„A(²©¨€@×AqaÜP\Ø7‘о:ˆÀ ƒ¶€ÊT‡Ed‘}³ÈNËÖ"¤¥¥MsÎyÿ8í!¦¥´¥mrè÷sÍ›IžÜ9y’2×õþòl¬‹ïíâÅ‹ÇOÏwìØ1Ñ4ÍÜ~¼S§NÈÈÈèÑ£Glll¯^½ÚµkW­Zµ²ê@›6m¼ZÌqìÌÌÌ‚õ'Nœ8{ö¬ÑÛ .wYóŠÓ‡#,,,33³yóæ^•ÑÑÑ¿üò‹¦iÆÃÜÜ\#W¯^Ýk ‘½{÷z6†„„˜‡±—¹ÔÔÔY³floÖ¬ÙôéÓÍù…2¼çIò†š5kþíoójŒ‰‰ñjQ¥aÆÆ?€‚׌GI IDATÏÊÊ:xðàù|MÓ¼|DD„箆íÛ·wŒíô=Õ¨Q㦛nòœ´/"·ÞzkÕªU/^¼8qâÄ+V :ôÎ;ï¼á†E)üð8|]×W®\·oß¾¢·O5jÔéÓ§W­Z•½dÉ’%K–ØíövíÚ=óÌ3ݺu»úžÔ¬YÓ«Åáp,;}úôŒ3½ö9¿œB/""WÌ{æu+V¬¸Ü.úiiižóÊUHHˆ9w]DÖ­[§ªjHHÈöíÛ¯ø3Š‘ëÕ«WðK.”±§€c……']×/^üÁlß¾½àO'Óì½>222""¢à³­[·ö ð 4øôÓOGŽyêÔ©;w¾ð "R»ví?ÿùÏ/½ôRÅü-T$|ž‰'~òÉ'Æý   ÈÈÈÐÐÐÐÐД””#GŽxVV¯^}Ö¬Y»wïž7oÞúõëN§ªª›7oÞ¼ysÛ¶mçÎkìsV®Ž?þÀ˜GÄ׬Y³fÍš¡¡¡aaa‰‰‰eû^æP|ddd±°èÒËP›6mþ÷¿ÿ™ÿüç?òÉ'™™™Ÿ~ú©9µþr¤È³J祗^š|øœ9sŽ;Ö»wïgžy¦K—.{÷îýâ‹/ ÖÿáøàƒDdÀ€Ó¦MkÙ²åÅ‹¿ýöÛ×^{MD®»îºÛn»­D€Ÿ«þøñã/½ôR¡O=ðÀï¼óNµjÕüñO>ùÄét3 v»½OŸ>ž[¯+Š2jÔ¨W^yåâÅ‹ãÆ7n\PP™Ó:uêddWCÕªU»uë¶fÍšÔÔT㈲I“&y”Ú Aƒ–-[–ššêµ3|ÇŽ=zúôé« Oõëן;wîÿøÇ‹/Nš4iÒ¤IžÏÞu×]÷ÝwŸùpÇŽÆ”””´´´²Zj^´çŸ~ƌǎ[´hÑ‹/¾Xðø7Ó+¯¼rôèÑÙ³gïÙ³ç¹çžó|ªnݺŸþyIa }á…¦L™òÛo¿yîg·Ûzè¡E‹ÿRÓ¦MÛ³gÏš5k¶lÙâù›HDDă>øá‡z?øàƒ³fÍÚ¸qã÷ßߺuë   ÜÜ\c'¼ààà©S§VÀO'*Ò5þÿâ{.H.º`̘1cÆŒ‰ŒŒ4ŸŠŽŽŽ‹‹ëÑ£‡ˆxf¡>}ú,]º´C‡Æa`.—Ëf³5iÒdÔ¨QŸ~ú©9ß0a„'Ÿ|ÒÜY­ˆphö¤`î2[Ì;Mš4Y²dI§NÌÃáŸxâ‰9sæ#üæÕ®xÙ˵{}u­ZµŠ‹‹ó<¿Ín·7mÚô½÷Þ›={¶çEzöì­(Ê AƒÊ6½]*ôoZ¥J•ñãÇ‹ˆ®ëæ¾q—«Ÿ>}úøñãëÖ­k¶Ô­[wРA[¶léÔ©Óß«àS“'Ož’’R¿~ýB/¾ÌÌÌC‡)ŠÒ¤I“â|ééé‡ mÒ¤ÉÕ¼/`iN§3>>¾ˆ ¹Å§iš¦iÕ«W¿úK¼²ªª^C¿ÅD€‡ÿ*×àsÍxr2@€ÀðX À`x, À×®Àétúº à{xøµøøx_wüþ+&&Æ×]Áx,€€à°<@€ÀðX À`x,€€à°<@€ÀðX À`x,€€à°<@€À|Ýà²6nÜèë.°˜˜˜_w¡¼àá×bcc}Ý–ïë.”#<ü]XX˜¯»ÀœN§¯»P¾X€à°<PʯëzÙö€Ê Ôšx,€€à°<*‹œœ_wJ/À×@¹X¼xñ¶mÛDdôèѵk×öuwÊKVVÖèÑ£].—ˆ4kÖì7Þð*PUuþüùkÖ¬ùñÇ9ݵk×ûoß¾¾è/”þ¤ªêäÉ“ûí7‰ŠŠ2dˆ¯{T^^ýõ¹sç÷Û·oïàsrr~øáeË–™-IIIIIIüñĉ_}õÕ í+\¦Ð_ƒV¯^m¤wùÏþãÛΔŸuëÖ͘1£ˆ‚¾}ûé=&&fâĉ ,1bDµjÕDäµ×^›:ujuÊþd„v›Í&"û÷ïß·oŸ¯{Törrržzê)MÓêիסC‡‚»wïNLL‘¬]»öÕW_}ôÑG§M›¶|ùòàà`ùüóÏ+ºÓpð×§ÓùÃ?ˆÈàÁƒ¤Zô ¼®ëgΜٵk×éÓ§‹s}UUOœ8±sçÎäädUUˤϥ0~üø¤¤$ùðÃÃÃà ¬ZµÊ¸3}úôÀÀ@³½{÷îýúõ‘mÛ¶9s¦B: e€­Y±b…±©Ûƒ>سgO‰¿\Ò^¾|y¯^½ºví:pàÀnݺuéÒeÁ‚ªªvìØñÆo\°`g±ªªÓ¦MëÒ¥Ëí·ß>hР=ztìØqâĉ¹¹¹¯¼gÏž“'O–ÃçÙµk×{ï½'"<òHlll¡5§NŠŽŽîÞ½{Æ ½žjÓ¦ˆèº~äÈ‘rê!”9üµÆooÙ²e“&MŒ¡æ³gÏ®Y³¦`ebbâ_þòÏ›šš:nܸ¿ÿýï¹¹¹ªªz%ó±cÇΚ5Ë\]/"óçÏ3fŒ×•'L˜pß}÷õèÑcõêÕe÷Éòhš6lØ0·Û]³fÍiÓ¦]®ìÝwßMJJ*´‡EQn¼ñÆ2ï”ü5åÈ‘#Û·oc\ºK—."â¹»aÿþý/½ô’¦iC‡ýüóÏ—.]:zôèZµj-X° 33Ó«~Μ9K–,‘N:Í™3gõêÕ~øa§NDä믿ž>}ºgñŠ+DDUÕï¾û®Ì?ã‡~¸aÙþøã%}¹Ûí2dHVV–¢(S¦L)Û¾@¹"À_;t]ÿꫯD¤C‡uëÖ5¡x—ËeŒŠ›vïÞ-"íÛ·ÿãÿèÙÞ¦M›§Ÿ~ÚëÊ»wïÖu]DFíp8ÌöªU«Ūª[Ê^{íµ„„„~ø¡{÷îe÷ùÄè€Óét8~øa)^>|øpckú¡C‡véÒ¥lûå*À×@™Ù´iSJJŠä‡vCÛ¶mëׯŸ’’²lÙ²‡~ØhÌÈÈ8~ü¸ˆÜ|óͯӮ];¯#í‹Hzzúºuë<Ÿ2'ÛïÙ³Ç7DGG_åÇ)(11qáÂ…"òúë¯GEE•ôåo¿ýv\\œˆÜu×]3gÎ,óî@¹"À_;Ìãâ<8{öl³Ý3ߺuëÑ£G7n,"IIIƈzóæÍ ^§E‹^-»ví2î<õÔS—{÷_~ùåªz%.—ëù矑¨¨¨W_}µ¤/Ÿ3gÎØ±cEäæ›o^ºt©çÁr` økÄÅ‹¿ýö[ãþ§Ÿ~ZhͲeËFŽ)"¡¡¡FKFFFÁ2¯Õò"b¤}›ÍvÓM7]®uêÔ)q§KbêÔ©Æo£Gö: îÂ… "’••uàÀ‰ŒŒ ñ,X´h‘þ›6mºbÅ ö®`EøkĪU«ŒÙì7ÞxcµjÕ¼žÝ¿¿Óé\¶lÙˆ#EiÖ¬Y•*U²³³=®›öíÛçÕrÓM7­^½Ún·/X° J•*åôŠöóÏ?wž}öÙB öîÝkL(øè£†j¶ûí·=ö˜¦i5úþûï###+ ·Pæð×cþ|ÕªU.\ìõììÙ³§Nš’’²yóæŽ;Úíö-ZìØ±cÍš5N§3,,̬Ôu½à™s­Zµ‘ÜÜÜ;vÄÄÄ”óG)K?ýôÓý÷ߟ››[¯^½ï¿ÿÞXAVÄ.ôׂӧOÿôÓO"Ò£G‚é]DúõëgÜ1Ãù­·Þj¼pÔ¨Qªªš•Ó¦M[½zµ×ËÍ™ó&LÈÊÊò|jÙ²e½{÷îÝ»÷ÚµkÍÆ‹/þç?ÿY·n1÷¾L¼ÿþû›/£mÛ¶"m<4hñ’Ý»w÷íÛ7++«N:‰‰‰Íš5+«Î@ÅcþZðõ×_kš&¿ßÞS£FÚ´i³cÇŽ•+WŽ;¶J•*/¼ðÂæÍ›·lÙ²nݺÎ;wíÚ5((hãÆÉÉÉaaaN§Óóå‘‘‘O?ýôܹs÷îÝûÔSO=ùä“mÛ¶=qâÄúõë§OŸ®ªj£FŒ_ cÆŒ1N­›0aÂÀËä36nÜørãç5jÔ‘ÐÐÐöíÛ›‡îÙ³ç¹sçDdðàÁ[¶lÙ²e‹× [µjÕ¦M›2é”7üµÀ˜?Ö­[·ËÕôë×oÇŽ™™™«V­Š œ5kÖÀSRRÎ;o”Õ¨QcæÌ™^‡Ã‹ÈèÑ£SRR~þùgs9º!44tüøñ—þ-m߾ݼSV¾¤&Nœhîu÷î»ïZ3zôèI“&U`§ ô˜Boy4v_ïÕ«W§£õéÓÇn·‹È7ß|c´DDD,_¾ü7ÞèÕ«×Í7ß|÷Ýw=ú¿ÿýo¡[Í+Š2qâħžzÊsÁ|XXØ=÷ܳbÅŠÎ;{:ÔápÔ®]û¡‡*“ÏX4ãs·ž.æ À”´´´R¼ÌétØleŸÿ322l6[y\Å´ÿ~cÍü|п¯gUU=yòäùóçëÔ©SÄÑq999v»ÝsX¾6nÜëù“\ŽÓéŒ/“·5MÓ4­<Ž Ö4Íív—.æ0…¾’š;wîwß}§(Êßÿþ÷n¸Áó©%K–ˆˆ¢(^ãê»ÝÞ Aƒ }}‡ÃQ†½0Ð]IµmÛv×®];wî>|øŠ+’““sss<øÖ[oýßÿýŸˆ´lÙ²V­Z¾î& #ð•TÇŽûöí»|ùò”””_|ÑëÙfÍšM:Õ'ŠøÊkÊ”)“&MjÚ´©¹—›ÍfkÒ¤ÉC=ô¯ýërg¶|‚øJ-66666677÷È‘#¹¹¹Mš4©Zµª¯;(ؼys_÷P¦Ð`ŒÀÃß9N_w|¿ïë.€_ ÀÃÅÄÄøº à/X€à°<@€ÀðX À`x,€€à°<@€ÀðX À`x,€€à°<@€ÀðX@€¯;àM×u_wþbãÆ¾î‹‰‰‰)“ëøa8õ»xŠõuXF||¼¯»PŽððwaaa¾î p:¾îBùb <@€ÀðX À`x,€€p¼_[¼xqnnn›6mZµjåë¾  ¸\®ÀÀ@EQÊ©>''Çáp¿?%­àCø 5sæÌ””¯ÆªU«¶k×®cÇŽuêÔñzêí·ßÎÉÉ>|8ÞðÚk¯9særÏvéÒeÈ!æÃ 6|ôÑGE\í½÷Þ«U«V©ë‹ïßÿþ÷wß}·iӦݻw‡††ÆÄÄtêÔéé§Ÿ¾îºë®¾þĉóæÍÛ¼yó¦M›Îž={ÓM7uêÔ©oß¾÷Þ{o¡/i=?¡¤¥¥•âeN§3 Àf+ûøééév»½<®ìú÷ïÿË/¿\îÙ˜˜˜?ü0$$ÄliݺµàGU!ô/7nŒ 3[ÂÃÃNçåê}ôÑ ˜§NZô÷¶ÿþæÍ›—º¾84M{饗¦L™R𩨨¨ï¾û®I“&WS¿k×®>}ú$''¬?~ü_ÿúW¯Æ’Öât:ãããcbb®þRš¦©ªzõ—*xe·ÛísŠx ¹å–[Œûªª¦¤¤?~\UÕ72dþüùÁÁÁ¾í¡ÊÊÊ2Ò{ûöí#"" Ü|óÍžOž<)"5jÔèСC¡¬^½úÕÔÇðáÃQý¨¨¨ÇüÆo;v¬¯úæÏŒ€-"}ôQÛ¶m¯XâÄ éÖ­ÛW_}Uœë—´þŠ222>ûì3éÒ¥KBBBxx¸Ñ>räÈAƒ%$$œ{èСüã[·n½pá‚QöØcžeãÇ_¸pa›6mæÏŸÿÖ[o­_¿>55UDìv{Ïž=ÇŽ[³fM¯+ïØ±cÊ”)ëׯ7[Úµk÷—¿ü¥à„ó .ìÛ·¯]»v»w5Œ€m³Ùj×®]üúºuë–èúů¿¢fÍšMŸ>]Dîºë.¯§ }—Õkš6bÄMÓÚµkWðRÆvwº®›;Ø—´€¿!Àûsñƒ¶oßÞl?sæÌ!C<·¯ÏÊÊš:uêñãÇ'L˜ày…ýû÷?ù䓞Çûí·333Ÿyæ³Ñív«ªš=bĈ5kÖ˜íªª®\¹rÏž=+V¬ ò¼òŸÿüg¯+oݺuèС_|ñEË–-ÍÆÓ§O÷êÕ+++«mÛ¶‹-*ÝWQ(c }:uŒßÎ;·wïÞzõêyíëæUoŒ¨«ªzàÀ´´´[n¹¥J•*eRE;vìØ±c¡O-_¾Ü¸së­·–®Þf³=÷Üs…»\®ÄÄDiÙ²¥¹7FIëø¦Ðû‘ãÇ‹ˆÍfkÑ¢…gû¿ÿýïÓ§O9òË/¿LLL|çwŒ½—.]º{÷n³ìĉC† ÉÈȰÛíƒþä“O¾þúë1cÆ4jÔHD&Ož¼téR¯wÜ»wïš5kúôé÷Ã?ÄÅÅ»¬;vìóÏ?7ËRSS‡ –‘‘ôꫯ&$$$$$¼úê«YYYÆ ;uê”Y¼fÍš¬¬,Ù¶m›gûÕ3GÈ¿ù曦M›FDDtíÚµiӦ͚5{á…Œ75™;Þ…„„<ñÄÕªU»á†ºvíZ£Fž={®\¹Òëâ%­/5]×/^pàÀ .Œ?~À€^Gôõë×oÒ¤IÆÄéúõë7oÞüî»ïv¹\›6m2ÏTŸ9sæ‰'ìvûŒ3ŒÅÒ"]¯^½_|ñÌ™3 .4`»í¶ÛBBB233ÛµkW†ÓÑ%?À¡y.ì?tèÐÌ™3÷íÛ—`Ž–› æì¹°?;;{ÕªU«W¯þÏþÓ§O¯‹¿¾¤Þxã]»veeemÙ²ÅXg~Ûm·}öÙgž[Зº~Ïž=cÆŒÑuýðáÃûöíÓ4-,,lüøñ<òH¡/i=À¼ïåææ®Y³æñÇ7v7²)**ÊLï†{î¹Ç˜ß~øða³ÑoÓ¦™Þ Mš41Æo³²²:äuñ§žzÊsÙsdd¤qÄÝÑ£GÍÆ]»v‰HçνúvÏ=÷DGG‹Èž={ÌÆ:uê¬[·nñâÅ_|ñE1¿b22¶ªªÓ¦M;pàÀñãÇ,XкukILLüÓŸþäU,"n·»oß¾k×®MMMýñÇ_yåEQ\.×ÀþùçR×—ÔÚµkããã4^·nÝûï¿¿ÐÃðJQúôéøøø„„„={öhš&"÷ÜsÏåÃ+E=À¼ìر£GÆ}·Û}æÌ#D‰HÿþýŸ}öY¯ú6X¿DõIDATmÚxµ(ŠyôèÑÌÌL£Åår%%%Z,¤ïÞ½;**Êl¯R¥Š×t}É_n^977׸rõêÕ×­[çUlLæß»w¯gcHHˆ×‘ìe˜¶~ýzã‡yôÑGï¼óÎîÝ»ï߿ٲeÆüsöþ3Ï<3gÎã~­Zµ:wî9jÔ¨ìììÅ‹›{ ”´~âĉ¿ ©V­Ú—_~Y°ý‘Giß¾½Ûí>vìØÆO:5räÈ9sæ,_¾¼iÓ¦WYýõ×3 Î;·ÿþŸ~úéË/¿\¼xñ¸qãÞ|óÍ‚/i=@€÷UU“““½ÃÂÂbccß|óM¯)î"R«V­‚q8ž÷ïßoLü6“­§fÍš)Š¢ëúîÝ» àù¦7Š÷ºrRRRnn®ˆ¬X±bÅŠ…~¢´´´´´´BûY†¾ù曋/†……yÍÌ¿îºëÆŒ3xð`UUׯ_oÌVèׯß/¿ü""ãî‹/¾8uêÔ£G®]»Öl,iý¦M›ÌåܼŸ=nܸ‰'þòË/Æ ûïÿ{•õM›688¸àäÏú£GnÙ²%;;ÛX6_Òúnݺò?ŸjÕª]ñƒT©Re„ ;vìX¹rebbâáÇ/·‘~éêÛµk·pᘘ‰‹‹»b /i=Ÿ Àû@½zõ†Z¶×lÑ¢E@@€Ûíþõ×_ >{ðàA#`›;Þ•èÊv»]UÕûï¿äÈ‘eÐ×RÑuÝXÀ_»vmcÞ~¡ÌMìΞ={þüy»Ý~ýõ×_®8 Àœ€PÒúQ£F™ûö]ŽÛíÖ4Íf³õ{õêelnŸ””dòÕëºnÌŒð<íÏÔ±cÇðððóçÏËD¤¤õü ›Ø]#‚‚‚Œä;v|Öl,E€w8ÆÙr›7o¾º>^§Óyà 7DEEòyÙ°aƒqÇ=ž0aBTTTÓ¦M;v¹úN:–®¾8n¿ýv‡Ãaì±WБ#GŒ;æ5KTŸ˜˜èp8Ç¢E‹ ÿöÛož/i=C€¿vá|ûöíóçÏ÷l?räȤI“D$88¸ÐýÒŠyåÍ›7õÕWžíƒîÝ»÷ÓO?íÙž””´`Á‚´´´R¼×儇‡{à/Y²ÄkóçÏðÁ"âp8:vìh4Þÿý"¢ëúÔ©S½.õñÇ»÷{Î/i}qôïß_D~ùå—‚{œ9sféÒ¥"b·ÛÍ_UJTß½{÷°°0™9s¦ËåòªŸ7ožªªâ±aIëøüµcøðá×]wˆ¼ÿþûï½÷Þ† ’’’>û쳡C‡^¸pADÆŽ[ºeöÏ=÷\íÚµu]3fÌܹs÷íÛwòäÉo¿ývÈ!?þøã¡C‡zöìi8p 66vܸq<ð€¹~¾L<ðÀ"’žžÞ¡C‡øøøôôôìììï¿ÿ¾OŸ>ÆAw<òˆ9…þÖ[omРˆL™2eذaIIIƱç“'O6~n¨V­šqÁÒÕ¿Ã"2`À€÷ßÿøñã"ât:W®\Ù±cGc¨ÿ‰'ž0þj%­ º÷Þ{Edݺu]ºtùé§Ÿ²³³u]OJJ5jÔk¯½fÔ˜«JZÀß°þÚQ¯^½?þø‘GÉÈȈ‹‹‹‹‹ó|vÔ¨QÆ s)Ô¯_îܹüã/^¼8iÒ$c<ßt×]wÝwß}æCsº~JJJZZZ:uJ÷¦ 2dÏž=Ó¦M;uêTÿþý}õÍg8oÞ<ó¡¢( ýúõKNNž7oÞ¼yó<ëCBBV¬Xá¹  ¤õÅѤI“Ï?ÿ|ذa/^|å•W^yå•jÕªeffš—|Ië‹ãOúÓ?þضm[ãû¼pá‚qÙ&MšLž88Øårà>¡ëºËå öuG¼ù]€°Ùln·Û§+®mš¦¹Ýn»Ýàë¾xó»/"aaan·ÛårišÆP< 躮išËår»Ý¡¡¡¾îN!üîQ%"""===333 00ÐfóÇ×MÓrssÝnwPPPDD„¢(¾îQ!ü1À‹ˆ¢(Æ8|fffvv6Cñ€r¢(ŠÝn õÙó&ÿ홈„……ùºøSÓ°<@€ÀðX À`x,€€à°<@€ÀðX À`x,€€à°<@€ÀðX À`x, ”^×õ²í•A©u)¼¦i¥{!•Y©u)¼Ýn×4qxŠI×uMÓìv{é^^Êìr¹ð“®ë.—+88¸t//e€ ´Ùl¹¹¹Ì¥àŠ4MËÍ͵Ûí¥»Béw¡WU5''‡¹ô\Ž1s>''GUÕ°°°R_GIKK»šN8Μœœ€€€ÀÀÀRÏãàš¤ªjnn®Ûí W¥Ô—ºªoÈÍÍÍÌÌt¹\ Å`RŘ3Rê™ó—®võ”·Ò¯†€à°<@€ÀðX À`x,€€à°<@€ÀðX À`x,€€à°<@€ÀðX À`x,€€à°<@€ÀðX À`x,€€à°<@€ÀðX À`x,€€à°<@€À|Ý€ohš¦ªª®ë^í[P:Š¢l±Ûí6[iFÓ ðPéœ:ŸûÓ!ÙwÆ‘’Q=3×îëîT"!jýjY-¯ËíÔT¯X¢×*iiiåÔ-€¿Ñu}ÓA×G?× ’ªAd;K«+ª‰K•‹.ÉÌчuHíØ,¨à(ýå0•Ȧƒ®¸-ujëÁAŠ¢(º®kºˆˆbüŸ1wþÒn¯òöwë›MŠ8ĨÄý\[$5&ÊQÌ¿*‹“çr?ÜT'"Dª*š.Š‘-Et]QòÒ»"𮋮ˆp{õ·žtÉÿ‰D¤J€„VUælªÓ¨fZdbÍ¥'À@e±þR%Pª)š®‹ˆnLÞÖò2eþé¢(æCn¯ê¶Èí«)Á¹úúCÊÀ[Ѝº„•‚¦i»O9DËOì¢_š1oNùÑ…]èË…¢(¢ëº¢StÑõ »ì>Uå>ÍUœ}é ðP)¨ªzì|õÕwÏ¥Úº®‹±^Q¥ð¸Zž¿„(Šèšn„øüßJ$À.ÇÎ;Tõ"G×õ ¹Š¢éæÔn]òÏ*×4]D‘¼EñJþ@1·Wuëõãב¼å y®€¢gÚ›ðPYhš¨šä°çï°–7 ì±áš_,¿&n=¿Ucʃ9üž_PÌô.x¨<4]4]týÒ¢wEÉ{hìg—¿ä'OßÚ%Wõ‹ž”îÖø>óo½¿m£L-öz<TšnŒÀ3®{Þ%oš·Gò¬ÐÛÈp¹»¥­U}©UM©(9¹rö‚ì=©·WKþ­ú·(µª)'ú×Ûõ‚Ïvk®´¬§(Šœ<¯½C¯øOä5,ožÜg*þŽx¨,TMTíÒvó""zþCýRËïîTà­"òhŒ-¶g¼•*R¿†Ô¯¡ÜÝÒ¾j¯þÉš¦ÿîU®W×TöŸ–eÛt¯kÆ4U†ßnSÉÌ‘¿íÐó~¼¨ðÏuiÅBÞvbÌœ7>¦ÇO*W@€€Ê"o ¼r)=~é}DÝÓvk³¼Ž8£o?.ÙzˆCi]_nŒTDäî–Jíê¶,¿tž˜IY÷NÂ-ë)/ô°)Šä¸ååÚá´bt—K›ÊïvúÿýŸ¢(x¨,4QTÝ6gÎ+ùuÉß”¾âÝÝR1Ò»®Ëßéë^š °P¤m#y½`“›*}ÛØ–móLðÆEõHÂ××”×î±ÚEÕäÝoô}§Ä'¿QxlJo¶)yÓòªZq‡à ðPY#ðÆ©ïr)±_ŠîFÔ,þ¾èe%8Hžèœwúÿ­×Öì÷îÀæÃúÜÕÊswØDä‘Ê÷jç³òž2èºîÎß®Nuùk?{pñ[€¶ù°/ÇÞÓâŒJò“¼çFwºÆ<À‹¦+ª&Æöu›§yŽ+ºææ+èö–Æ$"²f¿¾øçÂk–ïÔ›ÕÖ{·R‚¤SSeÅ®üñmO§ëzhUeܽ¶ˆ‘Y?è«“|z¼Ñ-%oî|þævùÙéyÏóÏG€€ÊBÕt·¦ˆèŠ(ºäë"Š.¢(¢åfçíBolS_!·£òBì×;tM¿låW;ôÞ­éÜLùz‡®äý‘7…Þ­éU”·bm jˆˆ|º^ß©Wä§(x+Ʀþºèæw®ççy]Œ?ªw‚*‹¼MìŠZ î›ð"òÞ÷×3â¾ü’ðéâV%À."3÷𛨉Èë}”#EDþµEÿçïZ÷{J;yxSõücä<ÖÀ‹g¦,°A}Ũ,"rÊ)é‹*S59ú›4«-áÁ¢iâÐ_¼K‰iªˆHj†Ìþ_Å/ä/ŠçIr^_»Æ<À‹®+nMEÑ…Ù¢ˆ¹>H½6EªW9|V/bøÝp8MoV[±Û¤Jdd‹ä½ßTOnª—÷ËCíêòpås?WŒ…îž¡]ñÞDPeàEÍ›BŸ7ëü2UJÇxU$Ç-މV®¸ <"8ïNfŽ÷Áï"²å¨~c¤$OuSv¦ÈÖ£>ÏðºÇ÷©x´\ºSüx[9ôàTMÜš¨ºâÖÄüª+FKþÝ|Xa·¿eŠˆ4©-º\¡2ªŽ""Ùr17¯ÅŒ¿[Žê#É;+t±)2¾¿\¡Ÿ¢Ð[UÏûbU]òïKþ—¬‹Љx¨,4]Tíw‡·Š¢ämŽ®ËïO)¯ ÛSN‰ “ »4W¥]¶òºP%´ªˆÈIç¥bLN?å”Q‹å¢K¾Ù-mÊ [$"DÞ`{úŸúï?rßê·ž.•{ž•Fþ.ô&ÏïKëèm)"ÒázùõÌeË:\oÖ{\ŸN¿´Þûßê­ë+-êJÛFòÜÊ”U>ü€žy¾pÅg =TÚ¥ÙòæüyQu›ñÐcŽwEO5ÿno^Äy§}]á5k*¯ôÊ+[µ÷ÒZsA¿Ù’•«Œ^¢gºDDž¸Unká³)ôž_µÇš…¼ÿ÷‹¿ë?* UUÓUMܪhº¢éŠª‰[ÕݪÆUÓ5½Bo¦ê ;ED2å! ­ê]âiKˆCDä‡$Ù‘|éY#Áëy òÚ§É[_ç ¼ÿý^¥~xE¢üÛßýÇøÎïÙø¨šÂ<À›¦›ÝH캪)ª®˜a>¿]TM©àÛwVämeW?\ Sµ“È0ŦHÝPeÀͲh¨r}M‘ŒlùÛ׿ëaÞ¼î}ͯ·Ë—›EDªW‘©)öŠþDÆw«jùß­12¯‰ú»ŸNtÖÀ¼iº¢jº¢(ºˆ¢‹.Šhº(Šˆˆ®‹"Š(ÆWüí™ yø#‰{BEHÃ2þÞ‚{Âɉó2ô3I>ÿ»×š'Ù»5ïkŽO6 äÆH¹¡®üµ¯¼¶´¢?×ï6±Ëë§®ˆ’ÿŒ"¢kL¡xQ5=ï<3c1¶&ªž7ó\5F°ó}rûkªÜ;Kfÿ/o(Þ“ó¢|´VbgÉÞS…¼Vò¸÷jÏrɳ_HfŽˆÈ [¤çMþ¹4ÅãVTM7¿dM”üIõÅýó)iiie÷à§\.W«Dë"y'Æ™Cï"¿»ïsŽiQWÔZÕä·LI>'¿œ’ì\_wëêäŸÒçݘ™)»_?tÅ+0…* sàGQD×ü(Ãg¹dÛ1ÙvÌ×ý( æo%ºVH»ˆ¨Å‚'À@e¡é¢éy˲%?@*’?¯ûEz¿–˜?–x¦÷¼èžÿå <* sŸˆ\:?]ñxˆ2çõ=‹÷W]üMðP)(ŠR=(7G xÅ?æÌ_ÔüÀ®èùß¹1ÙÁxZ—ê·¢kž•‚Ýn®™µ-5Ìf‘KãÀ £ïâÒo%æÊM•è:™v»½8W À@¥`³Ùº4ÉÚ|*,Àó<ñ¼Ñás¼nËâV Üñü±D·*¯Ï²Ù®¼½à òˆm£NZ+¢ˆÍöû'tÉ›QïÙÂmÜJÞ„yųEDÑUqçJlUЇ•E³ºA3ú~þë&6»é½'g.}y0¾dÝã¾¢ˆ¦Šê–™Ž4«\Ìëà ²°Ûí}Û©ÚÁ¾nfÓD±‰’?ï™ä/]ÎíUߊ¹ô]DD4MtMtM4Ufô?Ø÷æ*Å\/"JZZZ™ý[ø7MÓrrr’’³âwþt4tÿo¡Îœ@_wª s¸¢kfÜÚ(#ö® ‚‡Í{=Ãeà rÑ4-77×år¹\®ÜÜ\UUuŽ’«Š¢ØíöÀÀÀ      ÀÀÀâ§wa =T66›Íáp8]×ôî™áÉóeÅó€wã¾¢(FŒ/þÌy*£ÒeHøP 뀯à°<@€ÀðX À`x,€€à°<@€Àþ¡×ž‹Ñ^™IEND®B`‚traitsui-7.2.1/docs/source/traitsui_user_manual/images/RangeEditor_demo.png0000644000076500000240000013176014046644454027670 0ustar aayresstaff00000000000000‰PNG  IHDR¬ÚºUI{ pHYs  šœ IDATxœìÝy|ÕÞðßÌdí’.t¡¥´–}iYE@å *²¸"W6¸ ¸/xôUP¯Šû‚KUТˆ¢²(¸¡ Ê&K[ Ô––Ò5…6mš4É̼œviJI›¶y¾Ÿ{c˜Ìœ9I¦É“3gÎáŒF#œM’$QeYvY^ ´$Žã\–àúpœ´'x7çyAxž÷uE ÍPùºк•ÛwfÓáíÉÊ`³]ðuuàž²××U€VG‰M¬#""±©í»ÙHÇ ‚ Õju:]@@€N§óu  @†Z²,ïúÇöឨ@ é5D‘ø9Ýê 6Ì×U€Ö«  €ˆbcc}]ð¼›çTSSS^^~úôé²²²ààààààúíè΂¡Ö®lË÷F…ÈŽã8Y–%™ˆˆcÿgMgþ[ŸÜžu&Ÿî ­V]XXÈÎ ƒ¯+­B0ž¶¿¿+*<ôjN’‰cI‹ãH–%"®6s$É2Én}uë çDꋉ‰!¢ÒÒRFƒ~àB0ý‘ÍéÔ¤Óp’,‘ÌN!Iµ)«î?2qœòOÜúà}!&&¦¼¼¼ºº!<@’$)­H£U‘T—z©6l±–GùÌ„°V½ÝVZZ*IÆ‹€† ‰¢˜WÌZ~;¡Ê²L¬0ÇqN]ƒÁ7œƒpÉÞ÷BCCsssEQD†† ɲ\eW…sœ$+'Üeªki”$™ˆ£ÚNµ·>¹uyÛZú@h;t:Ãá$É×Ö !ˆˆ$‰D‰êzëβˬIØé¤{«èëÇ·g !c|DQôu UC""I&I&Y>Ó ˜ãjÿÉ:žÖ]GuÁ ·>¸eïBÝ-úx‚‹‰Á3„` "’dÖÌpJäu¾CqDgç°o5*²9µfsß^Áõˆ&™èÇt™ê–êÉ©:VB9FÙç5<¯[wÍÃíÓÒÒÒt:ÝĉْÇöÙgÉÉÉ“&MòmÝüPffæÞ½{yžŸ2e ~‚Cû€ DD¢D¢töùu¹îŸò™%gÝ©wD£zñ‰(1‚ ¤ÒJú§TÎ*‘H—mŸu!HîDÓ†òDôc†Xôešq¯è«}rV‰ìaÛ„pn|2GDßî—N–û¦þõoÙÝ3­ôÞ“™™ùÉ'ŸQBBÂÝwßíye«ÕúÜsÏI’ÄqÜ¢E‹T*/˜|ÿý÷)))ÁÁÁJž;wnVVÖÚµk{ôè1`ÀïîîB,]ºôäÉ“‰‰‰³fÍòu]ZBû~¾Ê_ÁÌ™3»téâëê4;önzXaèС7Þx#ýþûﯾú*Mš4I„ª@sB"¥O0»Ëiyã»&ÇqŽæƒdŒ ¦È`nXîònò’勒J¯Ö¸Ñ”Dɹµ›ˆH–]—¸ˆ¢‘=9"úý(—wª)í®=]ߟ'¢_2¥‚ò&Ð Y¹\Ñ{òóó¿úê+"á†n`Î7dóæÍ_~ù%»ÿôÓO{=××j/ñÞºukffæÀ› 7nÜxäÈ‘Ž;N›6Í»ukþ|[3å¯àºë®krnCo({7=¬  Á-¬ ½†Ðv!‘Dœ(sÊ€u½ ¸ºÊäqXÚa]¸¹c8ž#":˜/g‘±ŠbChðE\ç0º(‚[r‹ðPªtºº¹Ÿ‡JªeN<;4ÊD¢ë,lg‘”mÉuÛF ÑÓ„eò'N_hfu,âK:Q×®]ûÐCyX'55µy+QÏ’%KRSSûöíÛªš½âûï¿ßºukŸ>}ð}ß>´¹74  ÿþnêÞ½{ W†is¯!´EÁ@T×ÌF¦3©÷LüeÁ«¡‹ nÊóÉ2½ó‹´%ýÌ:Ÿì¤{®à¯éËiéònôõß>èÄZ7ø19DYi÷eõ$rx̶¢T»­(Êž×lˆCª‹ÑRKpÁ†Jc?Qšõšµk×Þÿý ôÌÈÈ8xð`óíÝ­^½z-Z´¨…w àzöì™’’âëZ´´VzzZ˜$s¢D’Ì9¤Ú°(Jäe¶¼ö!Qfw\nõ®SQf‘ü}9?jµÓ{ÛäJ+Ñ=¹úÛ²[Žã:p¡®ËU—Ðëä~+åV-P\Îñ¼›G•îÎË™ÈsÉgfУ×ÑÔ5’ Ò6PBݾ¤†K8[™sˆìŸ\ýÞÞUZZúã?6ôhcšEQ,,,l2™Î»ÒùùZŸ$IÅÅŇ:~üø9ÿŠ-KVVÖ‘#Gìv{ËTÀ-´k§”8"™#N¦Úž2'qIµ—ÉÕŽÁ†¨» ÐÔr¼Œ’ë£Õ6zj½È9Ä3Þ?Š¿®w¸žùVzôj~@|m!'Ëé¥Cù\T0Ýý/þÒ®µ]0ÊÌô}š¼j§ëÞÇóS‡rÉj+à)·ŒÖý-ÿ|øÌšJw‡D’\»-k –ä3KÜÞžéJQ·m¨žKÍÑSëå@ 7q0×=ŠžˆÈXEË~“=*³m¯éÃÏ]ÛE„ˆ\ÇI²@D/n–·Õ­s¾·Dµ•—Þ©æh6›SSSÇŒSÿÑÊÊÊ 6(«Õ_AÅ¥K—®Y³æÔ©SlIppð¿ÿýïG}T­V»¬\QQ±dÉ’o¿ý–}r7jÔ¨yóæÕ/öµ×^[±b…Á`عs'[rèС)S¦ÑG}4dÈç•322n¹å"Z¾|ùðáÉèÔ©S#FŒ ¢?ü°´´tÅŠÇŽ#"A¦L™2wî\­V»nݺ7ß|³´´”ˆÔjuŸ>}^|ñÅÄÄÄóx툈èÙgŸ]³fMÿþý—/_¾páÂ?þøƒ…?AFýôÓOwèЭ9zôè‚‚ö#!##£oß¾D”˜˜È^ávÀd2-_¾|Íš5J ˆˆú¨ËqÒHxC=Eñ½÷Þ[³fò G¥R]}õÕsæÌIHHpYù?þxï½÷vïÞÍþ©V«»wï>}útçnÇ~ø‚¯ Ñ™É2<„ª*¬ ‡H*.ëÆ}ú—\TáºBz¹ŒæÅsÄs¤UÑ“ã¹ñgJîJÿ›À?ñ•<,|fýtëPŽ#Z¹ãL9ý;Ó³7q‚ÓÉ •@]£hÞ."ˆ>û«vMÆI29<6¦Š²ëš2˵:ÓÍ9•Sgˆ zb<§UÓ¦C²ò4]žµR“ Ö¼‚§M›¶lÙ²?ÿü3''§~üæ›o, ÇqS¦LY±bEýÍŸyæåš9¦²²2%%Åh4¾üòËÎËEQ|øá‡ÿüóOe‰,Ë?ÿüóþýû‡êR¬ÃáEѹéH’$öMY¿ANEöÒ­¬üÛo¿­^½ZY.Šâ§Ÿ~j2™ºwïþÚk¯)%ØíöLŸ>=55µS§Nt>XU­Vë#<òÛo¿9×êûï¿ÏÈÈØ°aƒF£a{qn&g÷ÛMó˜$IsæÌÙ±c‡óB£ÑøÃ?9rdåÊ•±±±l!{ÅŠŠŠþóŸÿäçç»”c·Ûxà¿ÿþÛ¹äŸþyÏž=ãÆs9*ˆèرc3gά¬<ëjÜ¿ÿþûî»ï^½zuŸ>}Î÷‰à õ þß»Ãáøþûï<¸fÍš¨¨(eù®]»fÍšåüúØíöŒŒŒùóç)#Òøák¾‚ DD¢\7DšSŸ`rŽZõŽ8³­D»ŽË—vå :ZvÿÕ^ù§L9Çã9OV|·("âÖÿ-oÉC¸1}銜Z —oá8¢­ò†ƒ²$Ó¨žÜµÉœVMs+wÔöë  §¯åžjìôÞ6ùP¾Ìq4´ 7a Dÿ¹Œ[ÿwm7Œ âLg†ºm•õ']Ì™,´b»| _æ8ºº77õŽçèÎ˸-r~<,ÿ'_Á=wGDoü(ï9.‘Ñì…|f”´æqà 7|öÙgf³yÍš5O<ñ„Ë£kÖ¬!¢K/½´~3½ÿþûìqذawÜqGïÞ½333?ú裿þúë»ï¾‹ðÁ••_|ñE–€{õê5eÊ”þóÏ?6løùçŸ7oÞÜLÏîã?Ž‹‹{ä‘Gºwï¾mÛ¶Ï>û¬¨¨è»ï¾ã8.<<|Þ¼yIIIûöíûòË/}&MštñÅçååýøã_}õUAAÁìÙ³W¯^DDeeesæÌEQ§ÓÍŸ?ðàÁ’$ýöÛoŸ~úiqqño¼1eÊ”ò¿×|È !XE›Íæp805Ke³Ùd9Ú!Çq²Ä&"«Ñ•§7÷õåÑ\DéÕtë0îÖa\‘‰ö—ÿÊ¡]9ru½®•J0]·O~ãÇÚ!p·£ÔÙ\§Pâˆ~ΔŸÝP[ƒý'ä@-éËiUNÇJˆˆ"ƒéH±LDß mGk‹;R,›kè‘«9ލo'nû1Ùy_Ž h ëÖTÖ·Úéѵґ¢Úf•Ⱥi @qat¤ˆªj¨ª†TBí(sÅ&Ê=åi_ÁÕÍ™ÑÜkAAA7ÜpCjjê×_=gÎîÌÐw»wïÎÊÊ"¢©S§*½F£ñÍ7ß$¢¡C‡~ðÁZ­–ˆbbb† 6}úôƒ¾ÿþû³gÏfËóòòV­ZEDÑÑÑ+V¬`'”{öì9vìØ»ï¾û÷ßo¦g²råÊøøx¶»èèèùóçÏó)))={ö$¢nݺ >|ôèÑDtèС&ïëÚk¯}å•WX˜‹íÞ½û˜1cl6Û®]»Xfbãб” ×ëY­Úòòò#F„††>ûì³ì(нòÊ+÷ìÙc4•sâÎFýúë¯;¸÷Ï?ÿ|ýõ×D¿|ùrƒÁ@D]»v;vìC=´uëV—–.]ZXX(Â[o½5räH¶°{÷î±±±sæÌ)))Y³fÍ#<Ò´gÔ^ßÐòòr—þ$L@@€‡ÁXJKKß}÷]"Љ‰Y±bEXXuëÖíÊ+¯T©T_|ñEffæš5kfΜIDùùù¬ ~Ò¤Iì/‹ˆzõêøì³Ïʲ¼gÏž«®ºŠ¼úšÍf“ÉÄ>p Ýày^FsáãU_P–eÙjµÚívžç[ížpN‚ Ôµ’zžˆŒkè¡“§é¶åÒƒWqW÷æ´*"¢Žº®w]?²Ø¸ ‡ä¿Ë&§+%”RRwÉÎÁtãAyö¿8"úîÀYñô—#4¦/Q§P.³H&¢C'iÎçn*³éüÐUÏQ·HÚv„è\Ý!ÎѬt‡¨ÛViÞ}\Î(8kåÒå›rDÂe¸vÆ8ç¾Gvzš·GÄÔ©SSSSM&Ó¦M›n¾ùfe9»$.&&fÔ¨QëÖ­sÙ*--ôG}Ôù‹G¯×Ïš5ëÁEñÈ‘#ýúõ£ºv5"Z¸p¡Ò¥’ˆxžõÕWÿõ¯5ÓEr#GŽtþZ;vìâÅ‹ÍfsRRKÀLçÎ{õê•™™yüøñ&ïë®»îr[0&&fðàÁ;wîÌËËkr™mÈÓO?]¡J¥ºþúëSRRŽ9"I’ËwÇÃ?ì2ætzz:»³xñb–€Žã^zé¥;vTWŸ5ø"ûÑ2|øp%3cÇŽ}ï½÷Ž9¢xMÐ^ßМœâ]8wË®/--ÝY´hKÀЧŸ~ú×_-))QÖéß¿ÿ²eËêrà 7üïÿEñðáÃ,{KK˜Ú£‘eÙápØív•J¥×ë/dþ¦‡`Y–«««%Iã8L¢Øvñ_xC](¡õ[‹Ùu¥%%%n_íÂÂB£ÑÈ¥ëvs µÁ×ñzÉà[²,˲,Š¢Ùl lrmz¶X,ìG<¯v@’I”œVm“0Çq,zɲò§ÛJ‘ûî}w€ˆäÞ14>™»e0©Š ¦ÿÇÝû)Û[íÐc5—žPÌ!qñÌr¥ U’IYÌÍþwE.<êçB6¦›²/"bÊ9¯©¬ÓÐ3Rö+ÖíWiŸ6šÉ¹†DTmSfå8󼔫;œk~·²Óm³›6mÚÞ½{:”žžÎ.ÐþòË/‡J¥b/Ô§|)Ξ=»¡b•驨ÈÈHÖÐE=š)7Ô¹Ðëe!!!õ*øÕ™YY–7oÞ¼råÊÇŸs˜<"rîx£`ÇIlll@@@ýG{ôèá‚•Q·6mÚ´iÓ&·{)+++++s>ùÐHíø MJJZ¹reýåžg‚d7**ʹ…^Ñ­[·_ýõĉ&“‰­P\\¼téÒŸ~ú©¬¬ÌK?¥´½J’d±XÜ~84FC°Ãáp8‚ ·’kWç(ÜDi')í¤üõ>úèN.PC—$R †X§Ù©‹ÂYÕh ë‚Xﵸ0ZuVwØŸ2Ó)3™¬d²ÐÈžµ»¨íÀà®ÌÚŒÝ!äú+Ü=äíî-×LD×\sM‡ÊÊÊRSSŸ{î9I’ØEH£GŽˆˆp» kØãyž…f·”«Å=ÏDˆ“KíÀ’%K”)4MÇŽCBB‚ƒƒOž<™››ÛÈBX~rêAá²\i¶‰‰iè(%jpÞ¿¥V«ÝYÏ<¿ŒNçÜd":qâÄäÉ“• :tèb0~þùçó¯2@mËK¤ž°5¤‰!Øf³¡ D{Â&b¨›Žˆ L<ûøª{ŸÝwŠÐ«e½†“d¹¼ÚÍéûÃEòÚ=4ãR"¢Îè`>çÔCáL·ºîî;œY^×-aö¿jðê?éÃß锹vMçö>I*¤º5%×q‚Ït‡ÎÝÂu¿b½%ÊúŽº§%çäæèAµÓøyùÝoˆZ­ž8qâ‡~¸aÆyóæíÛ·]¼ïaÓ>}úlÛ¶M„U«V¹mÕsÖ«W¯ß~û­¤¤Di(rV¢êOlQÿ¢=haùùù,wìØñå—_4hÒŒºtéÒ·ß~»‘åôíÛwË–-&“©¨¨¨þ¨J§¦gÏž‚ ˆ¢8aÂÏó~Ã…KJJÚ¶m[CÂl8vªgéÒ¥ì¯òŽ;î¸÷Þ{•>Ä¢(öïßÓŽ@Ó°,j³Ùš‚›ØŽË:B ·¢D¢$‹± ÉØeQvˆlê8bwDI–d×Û‡®ä¶=F¿ÏåzD»yT’)°îlauMíãd™\Ö””Y¯¶\¦Ú%'2Ó+[ecÕ™5“;Élì^eMÙ]™.¥5t+)k6nÛº¹)Aàϱ¯ÆÝžõ?Éý˜uÞ4eÊžç­Vë7ß|Ã.‰ëÖ­›‡éX°Ýno̤ʽ{÷fwöïßïòÉdbß ž׎&]\\ìòÐ… éà+Þ£Îç”Áf̘1dÈçŽ{÷îm|9ʰ¾ß}÷ËCû÷ïwiQÖjµ¬o·Û¡'ZX;{CëKJJbw8àòØy]»vQxxøc=æ|Ý<$àvÿÂb!¸1½­ÜjznÚ†Ð:±«Jºrˆ²(q¢Ì)¸n9‰çrû]]ÚyøJN-¸>Â]Ó‡ˆÈj§círç~ºÎë+‡•Ër§îµK*,DD*xîÌšÇMÎýŒÜïËe†nëï÷LßzëK’S£oÝrKÝøî:7¸—ÆßŠ2'JuïˆÌyßÍ+bcc¯¸â "Z¾|9³lêÔ©ÖWzA¼øâ‹.×ìóÍ7ãÇ?~üöíÛÙ%Ü<óÌ3§OŸVÖ”eyÞ¼y⢋.ÒëõDÄ.×S”––®_¿þœ›·l"½œœ¯ÏîëCJÓ Ë‘ð÷ߟWBMNN $¢7Þxƒ)¦¨¨è¨ÿeÄÂ={ö|ûí·ÎË+++ï¼óÎñãÇ7mÔçóÒ.ßÐú”€ûÌ3Ï”——;?ôüóÏ—””8¯ÃÚƒÙEýÊj‡Cé0ãÂO^C¸p.×ôŸL–D¬;;ƒOÄÉ$GR]7ˆÚ‰†œÎwO./£‹:пzÐúûèµ­\z!–s hh"7w i‰ˆ¾ØC•5Êtĵûu™fY™X<{Bcçn lùïǨw tôìôé_\V %wâ.íª<£Ú5ÝO›|ö: N›\¯>RÃÛ*‘T–9åy<ͱþ$×&SŽ‘ûã*¬à,öóž0¹nÚd§ ãZªSÄÔ©SùåÖÔª×ëg7­/&&föìÙ~øaFFÆìÙ³§OŸ>pàÀ“'Oîܹóí·ßE1>>~ذalå„„6[aaáÌ™3§L™2hРþùç»ï¾ûõ×_S7žç{öì¹ÿþíÛ·/Z´hÒ¤IæàÁƒË—/¯?ëXkÆ&NEqÑ¢ES¦LéܹsÓfshIF£±~Ó,“˜˜˜””4tèPÖ3áã?Žˆˆ1bDUUÕŽ;^ýõóšý+44ôÕW_½ï¾ûDQœ1cFRRRrrrNNΞ={l6›Á`p I÷ßÿ¶mÛŒFãÿýßÿ±Š:´bÅ Ö`Ɇ­mVmñ m‚ÈÈÈ{ï½÷½÷Þ+((˜9sæäÉ“œ——÷ÓO?­]»–ˆzöìÉ&6'¢Ë.»ìðáÃ&“é©§žš6mZ—.]ÒÓÓSRR”YÐ]øÉk¾… DD¢$‹2ÇÑYýM9庇ºY7WƒëíÌOè½[©{%FÐÛî ?û‹žÛD¢T»¾2±²„Ýžu›|f¹óôÅlùç{hÂ@Š ¦k“éÚä3;ú+‡:PGCíV²LJ3‘äT&£¬ÓÐó’êí·~M”õÏ4;=¯*ývŒ®èA‘Á´è"¢G>§õûÜ£çÛzƵÄ0—_~yçÎÙ˜V×_=ÁÞƒ9sæœtË-·$%%Ý~ûí}ôQEEÅ‚ ”GA?~|CC7¸5räÈÿþ÷¿/¿ü²$IT:ÛLœ8Ñ`0¸4%ÆÆÆ~ðÁ·Ýv›Åbyíµ×œ§Â&¢«®ºê¦›njü®›¦-¾¡Móð×””¬[·.--Íe8—˜˜˜eË–)Ÿ'N\¿~½Ñhܼy³ó|C† ÉË˫ߣÉ^Cð!ŒíDD²Ì‰’ìk1`ÍœuÝ 8¥7ªÒEØåöH]÷6}¾›L—b)ÇHóÖÑü¯Èb;k+"7eÚë:†Ùų–Ûê–+½“ÓõïÐŽ¨Æi“Ûé?‘Õ~Öš¬L69œs™Îë4t{¦>ŽºšØÝ×¥¬ì¼üÑ/hùvª¨{e_IÏ·gw¦ºØ¼Féµé<ê ÏóJ[ŽË%ql}—kd9Ž{á…îºë.ç e ÃØ±c7lØp饗:— R©Þ|óÍo¼QÙ5Çq#GŽLMMíÒ¥‹KMØ:.#ÒôïßÿwÞIJJRJ úïÿ«L ¦¬¯Ü©?Ê•òDÜ.?çHû¬dçÕÜVÕyåúÏâÍ7ßdÈI“&}üñÇÏ?ÿ¼Û•ûöíûá‡^|ñÅÎåwéÒåÅ_\ºt©çú»ý+hÇohý£·! ½‹/¾ï¾ûœ‡œhýJ6 IDATášk®IIIQ†‚!¢ÄÄĵk×6LTN­VßqÇï¾û.[âR‡6ôBÛÅÆ&lf2™0>Z»a³Ù¿ÖE¯wóÒ Ig7{Ð9Œúv¢t¤˜’¹Æ›U­O-PbÑñ²3Y¹Rñ %ž£òês¯ìÁÙ ÃTð²Wj×,DQ,,,¬¨¨ˆŒŒtþ.tËb±œ8q‚㸸¸8½Ûcñ\¬VkNNNppplllÛýhª®®¶Ùl f|^Øhì´²o•••GGG7at^Ï|ðÁ­[·ÆÇÇ»ô gL&SAAJ¥Š÷ÊKz¾¼ø†¶žwÓ-QKJJN:¥Óébcc=ü;6 c#ß” y ·lÙÒµk×ö1–34D’$Q›0Æ¡;0’L’\wr]%ê°ÜØLDÇOÑñœJtÐᢖÛ]“‰"Õ\Xü%çnmáÂTAââââââ³²^¯ïѣDžìN§Ó)ÃM´]Mõ½5ëСC“ãïéÓ§ÙÜ+ýúõs™‡¹  àÏ?ÿ$¢Ë/¿Üí¶ƒ¡i_ÞÒ^ßÐúAˆ‰‰qnõoˆJ¥ª?/ þóBËC¢º>¸µ”»^˜1¼ÍåÝhïÂÂÂôzý®]»:ÄóüرcûöíkµZwîÜùú믳É2FŒáëj@Ûƒ Äó|Úf“4äÔÌ5ºÿ´$®.sÈÁà7æÌ™sï½÷–——¯ZµjÕªUÎñÉöæN"Ž\?.êæ7æÎ^‚[ŸÝ‘r £²Ào\È5và?rrr*++1¿x† DD‰QªWÇyôûž¼@¬S„2ƒ¸Õz8O8.²³³sssƒ‚‚0¬x† DD‚ Œí'ˆÒáÿ~ß›—ˆã‰«kvNÃM›ç ·^¼%BW`7ª««KJJŠŠŠ*** Chh(:ƒgÁPK£ÑŒï/w<´)]÷׉Ðc§CL6Œ-ç¥1 ´{Çñ<¯Óé#"" æÈ€sÂŒqp†$Iv»Ýn·Ûl6»Ý.Š¢ŒVÇVŒã8¼AT7»F£Ñh4jµZ£Ñ ¢ø ÌÞÁó¼V«Å¯gh÷ð; üB0ø„`ð;Áàw‚Àï €ßA¿ƒ ~!üB0ø„`ð;Áàw‚Àï €ßA¿ƒ ~!üB0ø„`ð;Áàw‚Àï €ßA¿ƒ ~!üB0ø„`ð;Áàw‚Àï €ßA¿ƒ ~!üŽÊ×ð‡Äe ù|U 'ɾ®?á9 ÒÊq!RŸhQÅ·—!Ú‰â*~WžÚlóu=ü’$“ÉÊeX…ÜÓÂ%ñöè É×5:t‡€ö ¸Šÿ% Ø÷Ì6ú%K]\ÕÚCfk¯À99$nWžÚ×µ€3vå©çëZx‚ m^F±€6àVÅl£ŒbÁ×µð!Ú¼ü DšV§•¿)­ºrQUӪϼû§Vþ¦`thóÜŽ†–`ùµ¥ëáÇrõ#]–´ò!ꂠݺæšk|]¿°eË_Wá¼!@{âë*´s¾®BS O0ø´ƒßEQ–eY–‰ˆã8Žã¡Uá^‡ ~A–åššššš›Íf³ÙDQE‘ˆAA£Ñh4­V«Õj9®U_Ê Í„}þ³&ðÁÐÎɲl±XªªªŠŠŠÊËË£££ããã#""ˆÈh4æçççåå™ÍæÐÐÐŽ;éõzDa€ö !Ú3›Íf2™rrrDQìÛ·oïÞ½]Vˆ‹‹‹‹‹c÷>œžž.Bbb¢Á`Ðh4-^_h!ÁÐnUWWŸ>}:;;;999))éœë÷îÝ»wïÞiii‡êÒ¥KXXX@@@ ÔZB0´Of³ùøñã‹eêÔ©çµaRRRRRÒúõëËËË/ºè¢ÀÀÀfª!ø†Hƒv¨ººúøñã‡ã¦›njZ 7Ýt“Ãá8~üxuuµwënI’d·Û}] ð#h >6›­¡~¢‡#%%%''gÖ¬Y‰‰‰-\1&##c÷îÝ<ÏßvÛm­ÿº®“'O.]º´¦¦&::zÞ¼y^,Ùf³>}Úb±493×^{íúõëOŸ>­R©Ð? iÎùio2™>üðÃM›6åææJ’Ô­[·äää &Œ1¢ùj•——÷ /ÔÔÔÄÄÄ<ÿüóÍ·#hÍ8£ÑØ„ÍL&“ <ßþ’óóó׬Y“žž~èСââ⸸¸þýû8púôé:NYmãÆ÷Üsýë_ÿúôÓO}RÕwß}÷…^ ¢œœ•ªUÿ¼Ù°aÃüùóM&%$$lß¾Ý[%˲\VVvøðáóíÑÔÔÔÞ½{wèСõÿ®hmÎùiŸ‘‘1uêÔS§N¹,çyþÑG}衇ÿÙ»f¿¶þÂ˯×\sËŒqk×®={vyy9uíÚ5++‹-ÇiMVQQ±eË–\ýÈúMPÓ¬»–$IEƒÁЄm[uTò¹íÛ·ßwß}§OŸV–äçççççoܸñ믿^¾|¹2°€?üð ³Ù¼`Á‚/¾ø¢™Ê·X,999¹ ®‘’’’²²²p‘@ã5æÓ>??_IÀÇ¿îºëÒÓÓW¯^mµZ_yå•€€€Y³fy±VUUU=ôPJJŠË„¶ !¸A›7o¾÷Þ{Ù” —_~ùÅ_“““óÓO?;v,==}ܸq?ýôSTT=zÁ‚'NœøÏþã늷^iii÷Þ{ïñãlj¨W¯^6›-;;Û‹å˲\UUåp8’““½UfrrrfffUUh¤F~Ú/Y²„%à'Ÿ|’M%¢ÿûßS§N½ñÆ«ªª>ùä“™3gzë³÷ï¿ÿž4ik÷MNN®©©9zô¨WJ†6 í— z饗DQäy~É’%©©©ÿýï§M›öä“O~ÿý÷ìT{yyùúõëÙÊ*•jÖ¬Y‹/öU‡à6á³Ï>cŸ‰Ó§Oß°aC§N¼[~MMMaa¡›™¤¤¤Âššæ=¡Ðn4æÓ>;;›}‡Ž3FIÀL=îºë.ƒÁpêÔ©´´4oÕjÙ²e,ßÿý»víJHHðVÉÐF!»g2™þùç"4hKïRF³xñâÐÐP"úúë¯_¦ÃáHOO/..vYnµZÓÓÓ SˆÙlÎÌÌÌÉÉq8ß5‰¢xòäÉýû÷Ÿ8qâ|·õ¢ððð•+W>÷ÜsZ­›Î[¨¦¦¦¼¼¼þŒ¨wïÞåååÁwÎOû_~ù…õ¾}ðÁë?úØc¥§§§§§{ñÌEDD|ûí·ï¼óŽóU=à·ÐÂ=Ö_žˆzôèQÿQN·jÕªââbµZÍ–X­ÖÞ½{˲¼páÂ3f°…O?ýôªU« ´råʹsçnß¾½ªªŠˆ—,Y2lذüüüÅ‹ÿðÃ’$Qttô”)S{ì1eGeeeƒ&¢O>ù$22rÑ¢EüñûÔ ºí¶ÛæÍ›§Ô¡!‡ã7ÞX½zuYY[íwìØAD:tèß¿?Y­ÖcÇŽ•””ôïߟMkïuãÇê©§bcc›£ph‹‚Ý‹U«Õv»}óæÍ<ð@çÎ]V0`€ó?%IbÍ«Îc:Q-Ë=÷ÜÃþÚ™œœœ[o½uÕªU<òHaa¡²¼¸¸øÍ7ß”$ID†]óHDxûí·-‹²rUUÕûï¿o2™^zé%ÏÏå‰'žX³fó’ÊÊÊ?ü°´´ô­·ÞR9Òl6}ú·ß~›’’ríµ×‘Íf›2eJaaáÍ7ß¼nݺ¯¾úêÎ;ïÔëõD´lÙ²úÝ–,YÂ&?ûøãøá‡ °\þÙgŸ}òÉ'öþöÛo³|Ùe—­\¹ò¯¿þZ¹r套^JD_ýõ«¯¾ª¬ùË/¿˜Íf"Ú»w¯s4o+dY¶Ûí^ïgÌtîÜYEŒ›mÃá())id¼fÅF^ xð`qq±Ùl~ûí·ß~ûí¸¸¸Ë/¿|äÈ‘W\qEPPPã‹úÏþ³xñbvÿª«®1bDnn®,Ë×_ýo¼Á~Ž2¤¢¢bݺuV«õÈ‘#}ûöu)ä®»îZ¸p!»ß§OŸ+®¸âú믯®®^¼xñ´iÓÜþ\.--}ùå—‰èÒK/ýøãYÇ¬ØØØË.»lòäÉû÷ïçwxà¶üÊ+¯ ªªªbã`œïËås²,;ŽÈÈÈæ(<22Òáp @ûPVVÖLM$Iœçù;w¾öÚkyyy›7ož;wî믿îÃzBû†–àÅÅÅýøã·Ür‹Ò}žMœqÏ=÷\|ñÅ ,Pú ŸÓÌ™3•ûÇMž<™ÝŸ¨øt‡8·   ‰'Nœ8‘ˆ:ôÕW_}üñÇv»½¨¨hîܹ©©©ž7÷0Xãã¦Ûa¿”МžžÎªçB ÁwÜqGC%+-ÁmkW8yòdý«/\^^ž ÁÐÖ± ãZà qqq999D4tèÐú2„ÝùóÏ?GŒÑ¢5¿|~’“““““'Ožø€ˆ²²²ØP¾ÍÊm{­2`Eý«è˜¤¤¤ŸþY„/¿üÒ×jµìJ ¯3™L˜ À‹†úé§ŸÑÎ;{õêåòèŸþÉî õšO›ìýÙ–,Y2pàÀ44acee%»ÓL³3¸Ø»woý‘böíÛÇî4‚ûõëGDv»ýï¿ÿnÖêµz½>((Èë<>ݯ¸á†Xã»ロ——çüЉ'Þ{ï="âyþª«®òMýÀ »wã7²;K–,±Z­.æååmÚ´‰ˆt:ÝE]ÔõÉÎÎþßÿþç¼äرcl”_N×­[7·[)½ /^¬\ Ǭ[·nÔ¨Q£FÚ¶m›²ððáß|ò‰Ñhôrí[ŠN§‹ŠŠÚ¿¿w‹Ý¿TT”?4¥´Azè!"***𩸠|¯7håÊ•³gÏ>vìXvvö½÷Þ[…Ûn»íé§Ÿn™Ê\ýõ›6mZ½zõêÕ«—O›6íöÛo÷°á¼yóNœ8ñÍ7ßìÚµk×®]Î †^xAÉvJ—‰üüüÒÒÒ¸`Ž © éÁÁÁ {÷îõVÞ»wo—.]‚ƒƒ½R€jèÓ^„ ôë×oáÂ…eeeÊòÀÀÀ3fÌŸ?¿YÇäiŽï h[‚Ô­[· 6,X°`óæÍΗ[qwÑEÝ{ï½S§NU²AdeYvþsb©õÿÀ”FV—ÖVeÍú­°#FŒ˜:uêsÏ=—‘‘Á–Þzë­?þ¸Ëæ.ÃÙr÷Úk¯ÅÄĤ¦¦VTT°…!!!#FŒX¸p¡sÒ7n܇~xôèÑI“&µÌ«V­òz™lô³Ùüå—_þûßÿ¾ÀÒ¾üòËèèèððp44™çOû›nºé¦›n:qâÄÁƒ­VkTTÔ Aƒ›»V›7onî]@+Ç5­¨Éd¡-ž1ošüüüôôô²²²=zôîÝ»þ8™ÒÒR6#Æ’%KXæ>uêTAAN§‹×h4/Êáp–——GEEyȸUUUç5#t+äp8NŸ>}ìØ1­V«ôín‚o¾ù¦¦¦¦{÷îaaaÁ­ÜšýnFåO°üzÍ5×4r$SÖ„„ùA› ¢¢bË–-¹ú‘õš2 y¹“$IEƒÁЄmñÕÞ(qqq­d”–ðððððð&l¨R©:wî|Î+ Úz&"•J’˜˜˜Í¦âlB!k×®•$©K—.!!!HÀí¾Ý¡R«Õì§BQQQJJÊ!CßE8--m÷îÝ;v W«ÕÍYSð „`h‡8ŽÓh4¬/¯^¯ß½{÷Áƒ ЧO[eddìß¿¿¦¦¦sçÎ:t0 S%´KÁ­Z``àwÞID½{÷öu]Ú–ƒCBBt:]PPPyyù¾}ûþøãÐÐÐN:uêÔ)**ŠˆJJJNžÑ¢¯ká B0´y*^¾$ÞîëZÀ—Ä;T<ºC4³è iT7;Úƒ}.PC£ºÙ£ƒZu_ÂèÐnDIãzÙ2Š…ü ¾ª†«?^4ž£ ­"õ‰[y0ƒ 퇊—ûÅ8úÅøºÐê¡;ø„`ð;Áàw‚Àï €ßA¿ƒ ~!üB0ø„`ð;Áàw‚Àï €ßA¿ƒ ~!üB0ø„`ð;Áàw‚Àï €ßA¿ƒ ~Gåë œŸ¬¬,_WÁ¿tëÖÍ[Eá½hǼ˜Zg4›°™Édç[º!9..®…÷èçòóó½UÞ;€vÌ‹™¡ñ$IEÑ`04a[t‡¿ÓƺCøäGxÞ;h=Ð ~!üB0ø„`ð;Áàw‚Àï €ßA¿ƒ ~!üB0ø„`ð;Áàw‚Àï €ßA¿ƒ ~!üB0ø„`ð;Áàw‚Àï €ßA¿ƒ ~!üB0ø„`ð;*_WàŒ媃…šÌõ‰ru©Y¨°òD¢“"ÅΡö^Qö~1¶Î¡_Wà,f³ùÔ©S&“Éd2Y­Öšš"Òjµ:Î`0 †ðððÀÀ@_Wà,8n8£ÑØ„ÍL&“ <†dðŽ}ùšmÙº}'õVA%ÏÏÇÉ2I2I29D щƒ:Y®èbgóu•Èh4—””èt:FCD6›ÍjµVWWWUUUVVFEEEGGGDDøºÊ8n¡]‘$IEƒÁЄm‚ÁÇ LªoÓõÛ²¬A-Ç×Àš2‘,“]$J¼¢Kõ }-±´ ƒoTWWçååÄÄÄDFFªÕjžçyžç8ŽˆdY–$I’$»Ýn6›KKK cccããã|]}ðS8n¡ýA†¶j÷ ÍW‡‚3J´Zñ …ßz$™jÔ'ªææäÊ!Ñ$ -­¬¬,''G¯×ÇÆÆiµZF£R©Ø§¢s˜EÑápØl¶šššªªª‚‚‹Å’˜˜Ø¡C_? ð;8n¡]ºŒ>Áà3¿çèÖì.¬TëÔ ¶þºÅs¤SÓ£ö£=¼ÕQ9"ÑÚ\U¨§¸¸8;;;&&&66V¯×ëõz–$XŒ`I‚‘e™E –'t:]```AAÁÑ£G»téíÃgþÇ-@}Áà»OhXV ç—€ŽH-Pa¥zÍþ`JB{0´ Ö–– ×ëÙÙd—áL–e•J¥Ñh´Z-k{Óh4999*• íjÐ2pܸ… >P`R}u¨é ˜QrðW‡‚;…T 04·êêêÜÜܸ¸¸Î;êõz•JÕP†P°œÁó¼ *•Š}–$)77W¯×£Ÿ%4·¶rÜŠ¢Èöèõ’‚ >ðmº>£D{¾½ êc98£Dûmºþžá•ß°¤¤dõêÕv»=<<|Ö¬YV ðùùùƒ!!!!((ˆ%‰óÚœã8µZͲEBB‚ÕjÍÏÏïÑ£‡ç­Þyç³Ùìy#F\zé¥çUð>9nyþ¼ÍÎÎþé§ŸÒÒÒ233AèÝ»wrròÍ7ßÜ´.žç!ZÚ¾|Ͷì­ÊS–eÙeICí‘VEÛ².é\ÓÈqÓ~ýõ×W^y¥ªªŠˆbcc‚¡1N:URRrÉ%—°!¥AhZ9*•е¢ÅÇÇïÚµ+"""<<ÜÃú[·n­¨¨ð\fTTB0¸å«ãVáùóvïÞ½O=õ”Åbq^²wïÞŸþù•W^‰ŠŠjZm !ZÚ¶lÕ!h8ôXüe—e( •dn£0Ï‘Õ!lËÖ3[,–·ÞzkóæÍM«9ø³ÒÒÒÄÄݰ0N×ä$Á‚ ÓéÂÂÂKKK=‡‰Áƒ›L&·•——geeQÃ?|uÜR#>o÷ìÙóÄOØív­V;nܸ¾}ûž>}ú·ß~KKKËËË»ï¾ûV¯^­Óé.¤Îž!C‹:Q®ÚwR¯nà£X¹*™'qH‚ܳ#GDY%´û¸(JµCò¹ý¾W ´ï¤þDyµ‡ùäŽ;öÌ3ÏQ—.]l6[~~¾Wž´{f³¹¼¼¼GM8›ì–J¥b#UíÚµËl6{˜—kÁ‚ =ôæ›ofeeq7jÔ¨ ¯´?>œâ€f…èТj*¬‚Ûv+–€EQìÓÑñù=š·o xàjýWëߘ¦_{¯f@œCE¶Ným9á­·¾ IDATŽ*¬ÂÁB‡]oذ}"O˜0áý÷ßÇ@?Ðx&“)22244”u޼ðY?ËÐÐÐÈÈȆz=+))ùî»ïˆhÔ¨Q ^%h|xÜžóóV’¤}ûöÑ•W^©$`"aæÌ™ìþ®]».¼Î %ZTf‰ZÕðˆ’$õé(~0C¯ÎZ%6LXz{Àý«ª÷çsnÏèqD*2KÔ×öö´÷ùóç£iÎWuuuxx¸·’ÃòDXXØ©S§š°ù'Ÿ|âp88Ž›1c†·ªíŒo[ÏŸ·F£144444ô’K.qy(>>^¥R9ŽÂÂBïT ÁТN”«ÝÎ WÛÄ+‹ nÔ¸$`FàiÁ Ú[޳ɲûN†~ž•¨åp8ôz½‡™š€•¦×ëÙ÷ýyùøãEQäy~úôéÞª´?>cwØäB}‚¡EUXù†>eYNŒÜ?V§k¤û>ÁTÛ-Ç34 I’t:×aà8N§Ó9„Òùùù[¶l!¢«®ºªsçÎÞ­´'­ê¸m¤½{÷®_¿žˆa´ÝövÁž\N£Ñ¸MÀ2‘C¤^QÁÐ,ôz}ee¥w»¤³É+++&RRRÐ ×JŽ[ÏÇSO=uøða"š1cÆÔ©S½R,@c`ˆ4hQýbl!:±Ft3iÏójµ: ½PõlÁ𮪤x G”qÒþÇ1;'hÔjµÛî²L!:±_Œ­þC.(((;;Ûl6«T ž‹8/,I˜ÍæÓ§OwéÒ¥1›9rdÇŽD4fÌ4Cc´†ãÖ3I’ž}öÙ½{÷ÑÔ©S1ó ´0„`hQCƒ:Y~Ë Òº;ôA`ý̬VÕŸ9¶Ù6"â8N£ ÔétZ­ÖíÁDdix¼¥sèy· ÐZ­688Øh4ò<ßÐqØx’$9£ÑÜȾ•)))DÄóüí·ß~{?ÑŽ[Ï^{í5ÖÃgâĉwß}÷…p^‚¡¥]Ñźë„^”ÝÏšÁZ,Øœ™lJöφڀ‰H’I§¯èbmÖjƒŸ ÉÍÍŒŒáÕdYE±ºº:77·‘ó½¥§§ÿùçŸD4vìØØØØ&ïüo[Ï–-[¶aÃ"Љ‰éÕ«×Ö­[]Và8nÔ¨QžÝ‚ -mPœíŠ.Õ›ëÔäöó˜çyF£V«Y?6®ŽÛÒd¢ëY=(}! ‡……±)¸T*UÓò„,ˇÃáp………7f«•+Wšáüùö¸õ ¬¬ìÓO?e÷ Ÿþy·«]z饸/€†àÂ8ðúZúDÕØ¸BŽ”Á"Ásë…Ld©OTÍ }-ç[ÖºÐPë2@}eeeEEE‡CÅ&\lÄÚÒX’(++‹ˆˆhÌVÇŽc&ÇsÞõÿæ«ãÖYýÏÛÆdqöEp¾ûh<Îh46a3“ÉÄÒ‰×+~b÷ ÍG{B +ÕjÁ}{ð9±lŸqqÅÎh†–PUUUXXصk×ÈÈH•Ju^íjJ[Ziié?ÿüÔ¬µ`pÜB;&I’(Šƒ¡ Û óæÍkÂf555^¹ÔüV§Ñ “rO«*¬ÏŸwVð”•Ü_À»4J¥ÊÏÏA9K{Î)dÙ5õÊÙ䜜œ¨¨¨¦}d4Ž[hÇØØÕM»R}‚ÁgF$Zu*é«CÁ%Z­ŠÜ^'ç–$SƒúDÕÜœ\‰6`ha!!!‚ äçç[,–Ž;(ãO¹¤ ¹KÕÕÕìl2ÚÒ åḨÝ!ÀÇ LªoÓõÛ²¬A-Ç5Ø*,É2ÙE6Dõ }-±Œ‰¾a³ÙŒFãéÓ§"""ØTÎyÂ9I˜Íf£Ñ˜››¡Ñh|]}ðS8n¡ý¹îÁÐ*ìË×lËÖí;©¯° *xŽxŽXÛ„,“$“$“C¤8¨“åŠ.VŒ­AeeeEEEee%»^>((H«Õ²³r555555UUU•••§OŸ ¹ðkê.Ž[hO‚¡8Q®:X¨É,QŸ(W—š… +OD!:)2PìjïeïcÃŒÐÚÔÔÔ˜Íf‹Åb±Xl6›Ãá "•J¥Ñhôz½^¯ ôÊÌ^„ãÚ„`ð;‚‘bÀï €ßA¿ƒq‚¡1›Í§N2™L&“ÉjµÖÔÔ‘V«ÕétƒÁ`0„‡‡úºšgÁq mŽ[\­‚Ñh,...))aãõèt:6,¥Íf³Z­ÕÕÕlÔž¨¨¨èèè&L^àu8n¡-Âq í F‡€6¬ºº://¯   &&&22200P­Vó<¯ÌË͆m—$Én·›ÍæÒÒÒÂÂÂØØØøøxeþO€†ãÚ"·Ðþ C[UVV–““£×ëcccÙ€ílŽ{vt9(‹¢èp8l6Ƚ  Àb±$&&vèÐÁ×OüŽ[h‹pÜB»t!!}‚ÁgŠ‹‹³³³cbbbccÙØììY™ÆSYÓy"{›Í¦Óé Ž=Ú¥K—èèh> ð78n¡-Âq PB0øk“HHHˆ Ðëõ쬜ËDZ3Y–ÙlFl†OF£ÑhrrrT*Ú' eฅ¶Ç-€[ÁàÕÕÕ¹¹¹qqq;w Ôëõ*•ª¡Ïbû¼æy^•JÅÎâI’”››«×ëÑ_ šŽ[h‹pÜ4zÁòóó CBB»0Y­VŸóÙÇqjµ: (((!!Á`0äçç7¡¢(J’Ô„ Á?µ’ã–ˆìv{Ó6?ÔzŽÛsr8²,7Sáõ¡%ZÚ©S§JJJ.¹äö‰,BÓÊQ©T¬5">>~×®]áááÙ0;;û§Ÿ~JKKËÌÌ¡wïÞÉÉÉ7ß|sÓºÕƒŸðùq[UUõå—_ffffffVTTÄÇÇ÷êÕkذa£FjZMÀøü¸%¢’’’Õ«WÛíöðððY³fý?{wßT•ÿÿ¤¹Yn³5mº¥…–B)­€l²É ƒl"¨ ²¹}qDQDA©ŠŠ(‚,*Š:¢¨£¸€ £¨€¢(hY•¥…ÒÔ®IÚÒ¬Ívóûã<&¿|º„’¦Y_Ï¿Ò{Ͻ9•·‡7çžû>-üøãGŽ9{ölii©D")(((((¸ù曕J¥½h'T‡€`;wîœT*íÙ³§T*¼›Ãá0™LÅÅÅ&“)//ï²í‹ŠŠ–/_nµZ›ïÚµëš5kRRR:؈V¡ÛŠŠŠ¥K—þõ×_-OMž<ù_ÿú—ßÉ D·ÐÆ-!äÀkÖ¬1™L„µZýá‡zŸå8îõ×_ß¾}{Ë ÕjõË/¿œžžÞÁ>CÔëHuþâÅ‹ý¸Ìf³y*ª´ŸÙl.//ïÕ«—B¡ …!‡|>ÿÂ… J¥’Ö{oËï¿ÿ¾téR›Í&‰&Mš4eÊ”>}úX­V­VÛØØ¸ÿþ›o¾™aðxš mÜÚl¶;ï¼S§ÓB† rûí·ß|óÍÙÙÙ‹åìÙ³F£qèСìDŸÐÆ­Õj]»ví[o½e·Ûé™L6eÊï6/¿üòŽ;!jµú¶Ûn»õÖ[óòò,‹^¯7û÷ï¿õÖ[1&ƒo´ž‰H$òãZÄ•Á`HNNNHH¸Òuim¡ëÕ’““ ƒïM>¿üòK‡Ã!‹_xá…~ýúуS¦Lyê©§<¨×ë=:|øðŽ÷ ¢Lhãö÷ß7„©S§ÎŸ?Ÿv`ذa7ÞxãC=TYYùÃ?,X°³ÐL㶤¤¤°°°ªªŠ’““c·Û[®$¶X,{÷î%„ôîÝû…^J¥ôøÔ©SW¬XñË/¿Ô×ן8qbðàÁï9@«°ž‚Êb±(•Ê@È—•J¥Åbñь㸣GBFåÉ€ !|>îܹôó‘#GÕ+ˆ&!Œ[BÈ/¿üBÛÏž=Û»*•j„ „úúúâââ@u ¢Fãv÷îÝ4žÿ™gžÉÌÌ H ú„6n«««çÍ›g0!¹¹¹W]uURRÒ… Nœ8QVVVXX8jÔ¨+V¤WMÂj¼õí†nÈËËs¹\µµµgΜ©¯¯ß¸qãÎ;_xáµZÀ/ð†$‚ŠeY“ɤR©>(›L&–eÛ•Á`xôÑGµZ-!dñâÅ×\sM@:Q)„qëv»—-[f0âââxà©S§zNÆ+V;vlß¾}Þ§H8·—uË-·x>Ûíö­[·~ðÁåååkÖ¬Y»vm¿À¢AP±,k49Žs»Ýº§Ûíæ8Îh4¶P¶Z­K–,)++#„Üwß}ãÆ Tg *…0n5Mii)!dâĉÍÒ\™L¶zõjzùþýûÕ1ˆa2Þ^)¡Pxï½÷2„rôèQT®„΃$‚J*•644˜Íæ@ËtD6›Í -«¨¶Êét._¾üÌ™3„»îºkÆŒïD·Æ- TBH«ûf …BºóKII‰ËåêxÇ š„ÃxëƒËår:mÅ­çéÜ_ýÕÁ/h ’`*‘H$“Éh]^¿+šyã8Îétêõz™LÖž5jÇ­\¹²¨¨ˆ2cÆŒ»îº«ã}€¨¸õ¤:®ÕtIÏe‹ C ùxëÛC=4zôè»ï¾»Õ³555ôŸÏïà´I0›B¡Ðh4‹ÅåruprÂív»\.‹Å¢Ñh E{.Y»ví?ü@™2eÊ}÷Ýבo‡˜ª¸ÍÉÉ¡¾þúë–ÛÂwîÜüùó.\˜——' ëëëüñGº§!oÅA«B8Þ^Öõ×_ÿÆoB–-[vï½÷Ž5*%%Åd2ýùçŸk×®¥8ÆïÙ àxz½ÞË ŸÏGqJðÝn¯¨¨ÈÌÌLOO|>ÿJÇe:'áp8ª««é­„B¡ïKêêê¦L™rÙ;ïÙ³'>>þŠ:1"$qKill|ê©§Ž;FŒ‹‹‹Å‹Åóã¼yó¦M›v¥¿ĈPÅ­·E‹©ÕjÏöœÔ·ß~»fÍ›ÍFdY¶©©É3c}ã7.Z´ˆa0[¾pçr¹är¹×"‹… …)))F§Ó9§ÓyEÏé蜄ÃáÐét&%%¥=#r{Æ}‡ÚA[B·„…B±fÍšiÓ¦ÑÍ“9Ž£p\\\·nÝ^|ñEdÀàC¨âÖ}¼Ört3f̦M›rssé)«ÕJû–žž>þü%K– †N…™`™ÆÆF­V›•••––Æ0 (ß©*}7™¾S\SSCG䀬Nh§ÐÆ­^¯/..6 ]ºtéÑ£6•…v óñÖf³]¸páÂ… *•*???!!¡3¾¢RGf‚‘C(™L&­V›”””––Ï0 —›mLïþún²Åb©©©©««KIIéx™€+…¸…H„¸…¨„$"˜Ýn×ëõ YYY*•J"‘4—½Gd³Ù¬×ë5R©T©T~<•Ä-D"Ä-D$ÁñŒFccc£Ñh¤ïK¥R‘HDõÚl6›Íf2™ŒFcCCƒL&S(y7 ƒ·‰·MC”°Ùlf³ÙjµZ­V»ÝNëÿ3 # Y–eYV"‘`$„Ä-D"Ä-D‡Ž$Áxïˆg6 ‚ n!!n0• 1I0Ä$Ás°&ˆÙl®¯¯7 ƒ¡©©‰î¥)‰Äb±\.—Ë剉‰‰$ÔÝø?·‰·¨aA¯××ÖÖjµZZ¯'>>^,Ó²”v»½©©Éb±Ðª=)))©©©*•*Ô]@ÜBDBÜB4A‰4ˆ`‹¥¼¼¼ªª*===99Y"‘‚¸¸8Ï–ž´l;Çq‡Ãl6ëtºêêjµZݵk×øøøPwbâ"⢒`ˆTuuu/^dYV­VÓ‚íB¡°Ù¾öÞû×ÛívZȽªªÊjµvëÖ-)))Ô¿ÄÄ-D"Ä-D%Ô †ˆT[[[ZZšžž®V«imv:"{¶ñô´ôÞÈÞn·‹Åb‰DRUUU\\œ“““ššÂßb â"â %$ÁtN"++K­VÇÇdz,KŸÊ5޽¹Ýnº›­ñ. …BáÅ‹†Áüâ"â UH‚!,‹F£ÉÌÌìÒ¥‹D"aY–a˜¶Æb:^ÇÅÅñù|†aèS<Žã4 ˲X¯ q ‘q Ð,ê…¨¨¨ËåYYYôÅd@pÙÙÇñññR©4++K.—WTTø×‡Ãáß…ƒÂ$n].—ËåòãBˆMa·a3ÁlõõõZ­vðàÁtDæóùþ݇a:ѵk×#GލTªÄÄÄö\¨×ëwïÞ}îܹ3gÎ466vëÖ­  `èС#FŒð¯' B·eeeŸ~úéáÇõz=Ã0¹¹¹½zõºýöÛSRRüë Ä‚Ç-!D«ÕnÛ¶Íáp$&&Þ{ï½>ZÚl¶M›69NBˆZ­ž3g޽h'T‡€`;wîœT*íÙ³§T*¼›Ãá0™LÅÅÅ&“)//ï²íKKK—,Y¢ÓéZžºçž{î¸ãŽö¢UhãöÔ©SK–,±X,ÍŽ+Š+V 8°ƒýhÚ¸%„8p`Íš5&“‰¢V«?üðC7nÜøÙgŸÑÏyyyo¼ñF; ±Õ! b˜ÍæK—.õìÙ“®Këø †¡Ž9b6›}ïoô×_ýë_ÿ²X,<oìØ±½{÷‹Å§OŸÞ½{·ÃáxçwX–½í¶Û:Þ+ˆ2¡Û'N<þøãV«•2xðàAƒ …¢¢¢C‡566>öØcëÖ­»úê«;Þ+ˆ2¡[«ÕºaÆÿþ÷¿í¼ù©S§>ÿüóŽw ýCP †äää„„„+]—Öº^-!!!99Ù`0ø”¿ùæ:—VXXxýõ×ÓƒcÆŒùÛßþöøãÛíöýû÷# †–B·.—kåÊ•4ž?¾'>o½õÖƒr÷öÛooذ¡ã½‚(¸-))),,¬ªª"„äääØívß+‰Ç‹/¾èv»“’’’““Ïž=ÛñÞ\Ö3@PY,¥R¨™¢ã²R©lù°¸™B <05`À€þýûBΜ9CÛx aÜ=z”.Z7n\³¡ýío»óÎ; !'Ož"„Œ5jøðáê*Àea9•ÓédYÖG…v?л±,Kß)nK\\ÜäÉ“ÛêH£U„Õ1ˆ!Œ[Ï£‰ŒŒŒ–g³²²è‡êêê@u ¢FãvèСsæÌQ©T—½!ÇqkÖ¬á8N.—/X° PýhÌCPq'‹8"S<O,sçǵƒañâÅZ­–‚Š<ЪÆ­çüVWIzÖÔÔ¶oB·Ã† kOLùòË/OŸ>M™?~BBB`ºÐ>˜ †  위ßw.++{óÍ7ÝnwuuµF£q»Ý‰äž{î¹á†:£oéB·}úôáñxn·û»ï¾»ñÆ›½ã¿gÏúA§Ó¹\.¿«ÀBT “ñÖ‡úúú-[¶B 0nܸŽßàŠ`&‚J Øl6·ÛØÛºÝn›ÍÖþ*˜õõõ‡úå—_ÊÊÊhg† Ò«W¯Àö ¢FãV*•æççBNœ8ñôÓOÛl6zÜétnܸñ›o¾¡?rg4Û=ˆta2Þú°iÓ&³Ù,-ZÔñ»\)ÌCP‰D":(»Ýî@MQлÙl6‘HÔÎKÒÒÒè‹öF£ñ¯¿þ:}úô¾}ûöïßÏ=÷`E´Ú¸}ê©§zè¡êêêƒÞtÓMyyyqqqÅÅÅ6›a˜«®ºêĉ„,g‡fÂd¼mKQQѾ}û!³gÏnuÉ;@gC AŲ¬ÉdR©T”M&˲í¼D­VÏŸ?ß󣧤åÛo¿}õÕW÷íÛ7 ƒ¨Ú¸MIIyå•W.\XUUåt:ÿüóOz\©T>òÈ#4ÔnMÂd¼m•Óé\¿~=!D­VÏœ93 }¸R4!¨X–5Çð Ûí¦Ï‚ý”sssŸ|òIZ:í«¯¾B Í„}:!!¡[·n£F’H$tÚÄÄÄ@u ¢FÈãÖ‡íÛ·———B¦OŸ^WWç}Š_³Ùl•••„¤¤$±XÜ‘ïh ’`*©TZZZj6›† HõJ:"›Í憆†œœß-].!¤Õ ³üü|©Tj2™hÁvo!Œ[×½{÷îÝ»{ÔétçÎ#„`Ûdh)â¶-4n !ëÖ­kµAYYÙ¬Y³!‹-š4iRG¾  -x1‚J$Éd2½^ït:ý«hÖ ÇqN§S¯×Ëd2ßkÔŠŠŠF=zôhúø¸£ÑH7@ÂûõÐRãV¯×oܸqãÆt¿Ãf¾úê+Úºå!€·Æ-@DÀL0›B¡Ðh4ÉÉÉ|>¿ƒ“tr×b±h4š®]»únܯ_?‰Db6›¿øâ‹‘#G6›ÞµkýK¢G~÷¢X¨â6!!á‡~Ðëõ»víêÖ­›gw BHIIɧŸ~JILL9r¤ßý(ª¸½¬ûï¿ÆŒ­žZ³fMIIIffæ“O>IÚØ& Å)`| IDATC°Éd2¥RYSSC·2bÆ¿qÙív;N§ÓYSS£T*e2™ïö ÃŒ1â›o¾9uêÔüùó,X››+***vîÜI“ †a¦NêÏoÑ.„q;yòä-[¶Øíö+VL›6n•\TT´~ýzºŸÜœ9s0-­ UÜ^Vjjjjjj«§èÍ%‰g§€N‚$B@¥RUTT°,›žžÎãñø|þ•ŽËtN‚ŽÈuuu™™™í¹êÐjµÇŽ;wîÜüùóãââhMzV©T>óÌ3˜u€¶„*n'Ož|üøñß~ûM£Ñ¼ôÒKÍÎNœ8ñÖ[o½¢n@L UÜ„?¬ † …)))F§Ó9§ÓyE//Ó9 ‡Ã¡Óé4MJJŠP(lÏ… …bÍš5Ó§O§3 ÇÑ X$ 8póæÍ}úôñï7‚Xª¸_½zõwÞÙì}üÄÄÄýë_‹-ê¤]Á :„*n½Ñw-ââÚ•rÐxÆë<½^ïÇeƒ.0 x‡ v466jµÚ¬¬¬´´4†aÚ³d¾›ì™“ #²B¡ðãÛkkk‹‹‹ CÏž=srr0àB;…0n9Ž+///--å8N­V÷èÑÃtbShÇ[€ÎC£T.—ûq-’`%“ɤÕj“’’ÒÒÒâãã=u|šmLïþún²Åb¡OåRRR°Kâ"⢒`ˆ`v»]¯×744dee©T*‰DÒl\ö‘Íf³^¯×h4J¥R¥Ra Bq ‘q ÑIp`d3tðÑhlll4ô½c©T*‰è‡Íf³Ùl&“Éh4644Èd2…BÑñw“:q ‘q ÑI°ÿL&ÓþóŸ;w–——××׫Tªþýû÷ïß̘1½zõ uïbŽÍf3›ÍV«ÕjµÚív§ÓIaF(²,˲¬D"Á?T Ü n!!n!: öÓ¯¿þzï½÷^ºt©å)¡P¸jÕªiÓ¦¡uuu[¶l!„L›6­ƒQÄŽŽ$Á±['xß¾}sçÎu8„”””[n¹¥K—.Ç?räˆÝn_´hÑÉ“'Ÿ}öÙÎî‰V«}õÕW !D 1šÆÇ{ŒfÀ·ÜrËË/¿ìýÐç믿~ä‘GŒFãÖ­[Ç?bĈÐõ/²×3ømÓ¦MZ­–’——÷ÒK/5[ö4~üø÷Þ{~ö|ð›Óéþ<ýà»ZRRRRR’_aµZW¯^ír¹rrr^xá…AƒÕÖÖ~÷Ýw………v»½°°ðûï¿'„Ü|óÍC‡-..þÿïÿBž{#GB<©íš5khܧOŸ3f :´¬¬ì믿þä“O***î¸ãŽÏ>û¬Ù>o½õV—.]/^œ——·oß¾­[·VWWñÅ</))iÙ²eýúõûí·ß>úè£ãÇ×ÖÖ~ñÅ>ø ½vÿþýf³™RTTT]]žžî߯ï7³Ù\__o0 CSS“Íf#„ˆD"±X,—Ëårybb¢D" r¯|CÜB$BÜÄbì© ×y•€:DW?ýôÓÆ #„dffÞu×]N§óÛo¿%„˜L&©TŸíY+œžžží¹‰V«]¿~=!$##cÛ¶m‰‰‰„ÜÜÜ1cÆ‚>øàôéÓï¿ÿþý÷ßïýÕ ~ø!½O~~~ZZÚÃ?Láóù}ôQ~~>½Éˆ#®½öZBÈñãÇ=׎5J*•šL¦Aƒ9ÖëõµµµZ­–VnÏÈÈ‹Åtƒ"»ÝÞÔÔd±XjkkÏŸ?Ÿ’’’ššªR©‚Ù=€V!n!!n¨XL‚ëêêè‡=ztÒWxòÚ_ý•®-¦æÎ;wîÜvÞäĉôêU«hì±råÊï¾û®¶¶öäɓͮºá†¼3é‰'._¾Üd2õíÛ—fÀT×®] NŸ>]ZZê9˜ššúÛo¿÷ëׯì8‹ÅR^^^UU•žžÞ§O‰D"âââèfž„º'Çq‡Ãl6ëtº“'OªÕê®]»ÆÇÇ­ŸÞ·‰·Þb1 ö<ßño£ö8p X,njjzõÕW÷íÛ7sæÌk¯½¶Gt”i'O‚;`À€f§AïÞ½[M‚›å¯"‘H¡P˜L¦ž={6k™——wúôiºXÙC*•¶üºÎSWWwñâE–eû÷ïO·î … ÃЭX¼e—Ëåt:%‰B¡HKK«ªª:}út·nÝü^²à7Ä-D"Ä-@3±˜'''ÓgÏž5jTg|EzzúÚµk u:Ý™3gž|òIBHRRÒôéÓï»ï¾fÓºm9uê!$55U¡P´<Û³gÏï¿ÿ¾¼¼¼±±Ñ»A[»\†áö~µµµ¥¥¥éééjµšîÒIGd:{ÿƒÁívÓ¡ÙétÚív±X,‘HªªªŠ‹‹srr•k6{s»Ýt_{‘HDç0„BáÅ‹†Áüâ"â U±˜_sÍ5,ËZ­Ö¢¢"‡Ã!ZmöÇЗÆn¼ñFïÿç[n3áYdÜ Ë²óæÍ›7ožÁ`8|øð{ï½wàÀ³Ù¼|ùòë®»ÎS˜¬-}ûöÝ·o_mm­Á`h¹)ö¹sç!]ºtIHHð}Ÿ0d±X4Mfff—.]$ ˲ Ã\v­¯ãââø|>Ã0ô)Çq†eY¬WƒÎAqk·Ûé{N·A‹I°X,¾îºë¾þúëòòògžyfåÊ•-Û8Î|ðüùó2™ìÖ[o%„xÒPºw†7Ïlm‘ËåcÆŒ3fÌK/½´açÓyüøñ–Ip³ôºoß¾ôÃÑ£G½ß®#„8Ž?þøƒrõÕWûþêðTQQ!—˳²²¤R)‘¯èr'è••ÕÔÔTQQÑrÑs{Øl¶M›6ÑÚÏjµzΜ9~ÜbDÈãV«ÕnÛ¶Íáp$&&Þ{ï½-”••½ûî»§Nª««cY6++kÊ”)7ÜpC®†‚  ç¸=}ú´÷æP-Í›7¯Õ‹I0!äÁÜ»w/Çqï¾ûîàÁƒ'Mšä}Öét¾ð ´œð¬Y³h!Þœœœøøx‹Å²gÏž™3gzkµÚíÛ·7»ÿ³Ï>û믿ÆÇÇ¿óÎ;Þu|=u¼—{¦¢‹ŠŠnºé&ÏqO‚»téÒ={öÐ=;¨ÂÂÂÚÚZâ•(Ê™3g~ûí· &t^Mœúúz­V;xð`Z$ŽÏçûw†aèlD×®]9¢R©Ú¹ØÚÛ›o¾é‚óòòC[B·X³fÉd"„¨Õê–Ið÷ßÿì³ÏzÖGY­Ö³gÏ>÷Üsû÷ï_¹r¥ß†ˆæqûçŸþ÷¿ÿõqù¬Y³Cç‰Ñ$¸oß¾wß}÷Ûo¿MY¸pá±cǦOŸÞµk×ÚÚÚÓ§O¿öÚktrW,Óm,!qqqùùùEEE?üðÃO<1kÖ,¡Pxüøñ×^{í¯¿þjvÿüüü7Þxƒ2wîܧŸ~:77·©©é‡~Xµj!D¥R :ÔÓ8##ƒn)·cÇŽnݺ >œVmLIIY°`Á† ***fÏž={öìk®¹F£Ñ|óÍ7}ôý–À&m%%%tç×_ýçŸî¤Ù#N×­[7¥R)‹;ø3ŸÏ‹ÅJ¥²[·n:îJ“àS§N}þùçéÄŽÆ­Õjݰaƒï\á?þxþùçÝnw\\ܤI“úõëWWW÷É'ŸhµÚC‡mڴ顇êHŸ!B…yÜÖ××B¤Ri[eû±î:UŒ&Á„'Ÿ|Òf³mÛ¶Íf³mÙ²eË–-ÍääälÞ¼Ùó!¤°°ðöÛo·X,ï¿ÿþûï¿ï9>uêÔO?ýÔûÚI“&mݺõرc?ÿüóèÑ£Óé¤34,Ë>ýôÓÞù%˲×]wÝt:ÝOÿüóïÀ•ŠÝ…b|>ÕªU6l¸êª«šJJJºýöÛ÷ìÙã½»!¤ÿþ[¶léÛ·¯g4‘J¥K—.õ¤§žÔV(~þùç‹-R«Õ„‡Ãáv»e2Ùßþö·¯¾úêæ›onö/¿üòܹs=}¼_Yxá…zè!ïÅ ÃL˜0áÃ?ôNR=_ÝòßúôTËi]ÚÒûø7Þ˜——Çãñ¦OŸÞIup CrrrBB]dÖñÒõj ÉÉɃ¡ý¾ûî»t Ñ¢EØ| aÜîÞ½›f“'OÞ¼ys«ÿc–””ЇWÝ»wŸ0a‚ç¸T*]´h!„ã8<ôˆAa·ä¯•£Ü„JìÎS“'OžúèÂ… kjjêëëÅbqFFFË'DIII-û@:t¨ÕãëÖ­[·n÷™LöÝwßÑ-ÛêjY,–ÄÄÄ@È—•J%}²Ö¥¥¥tIɨQ£†þÙgŸª3•B· …bÉ’%Ço«AQQýðÏþ³Ù?wû÷‘QYYéi±#Ìã–üo&I0„J¬'ÁTnnnnnnûÛ³,Ûrþ¸-R©´   =-†iY âóùÁyšÙy0!ÄjµÊårÏîDAëøÈåòÊÊÊö´ç8nÍš5ÇÉåò ªÅB·C‡3gŽïU=;GöéÓ§åÙ=zTVVj4£Ñ(“É:Ògˆ,a·äÿλ\®ªªªK—.ååå¡À’`*§Óɲ¬ í~ wcY–V:»¬/¿üòôéÓ„ùóçGb•e¾Æí°aÃ.{+­VK¡¯ÿ·šmß¾½¼¼œ2}útúJ²‡Õj%„Øl6ú¾sRRRÀçN ¢…0nÛƒ–×ëõ.—«e¥pOrŒígcM˜Ç­H$òQ9ôª«®ª­­=wîœÝnG±è$H‚!¨X–5ÇÑýóÂívsg4}Êžµeͪ#{”••Íš5‹²hÑ¢I“&ª{B·íÑ«W¯“'Or§Õj[NªUWWB¤R)Ý»bG˜Ç­Á`0|>¿­w: ! ôÜé P[TR©´¡¡Ál6j\¦#²ÙlnhhÀÓ^è$a·}ûö¥è’woõõõôrß¾};é)[a·Û¶m›5kÖŒ3<+v¼9s†RPP ŸZ…Ø‚ ‰D2™L¯×K$’¸¸¸–n¯ÇqN§S¯×Ëd2ßkÔî¿ÿþ3f´zjÍš5%%%™™™O>ù$!ïÌA3!ŒÛö¸æšk”JeCCçŸ~:aÂ¥Ré9õïÿ›Ÿ=zt¿"N˜ÇíÈ‘#?ùä·Û½}ûöùóç{Ÿúꫯè Ï?ð:’`6…B¡Ñh’““ù|~·2r»Ý.—Ëb±h4š®]»únœššÚÖþõt‰D‚ס-¡ŠÛö‰D3fÌxíµ×/^¼xñâÜÜ\«ÕúÞ{ïíÚµ‹’}ýõ×wü‹ â„sÜ^uÕUÉÉÉ:nûöíV«uúôé™™™555ܼy3!„eYÄ-t*$Ál2™L©TÖÔÔЭŒ†ño\v»ÝN§ÓétÖÔÔ(•Jl…*ÌãvÊ”)'NœøùçŸKJJî½÷^¡Pèp8èp©TZXXˆ…•±)œã–Çã­ZµjéÒ¥:n÷îÝ»wïæñxžeb±xõêÕݺuëø´Ã"„€J¥ª«««©©q:.—ËÅjtN‚ŽÈuuu—Ý¡Þ7ú·BÇŸBt ‡¸¥QÚ2£åóù………Ó¦M£ïÑÛívÚ½¾}û¾òÊ+È$bY8Çm=^ýõÐ…¿ž¾edd¬^½k! ³ñ<[¶\ƒÁ@Ÿ­¼C#L&Suuu÷îÝ“““†¹¢ù Ïœ„N§»páBzz:^‰ƒàÿ¸½téRII‰N§cY6+++'''à_'üãÖáp”””h4¡P˜‘‘Ñ«W¯€D+Žã\.—\.÷ãZ$Á2Z­6+++--a˜ö,Y£ï&{æ$4MJJ ªŸB0!n!!n!Zu$ Æš`…BÁçó+**¬VkZZZ||<- ÉûOK÷ÿÐw“- }*‡9`>Ä-D"Ä-@K˜ †³Ûíz½¾¡¡!++K¥RÑR>Þã²÷ˆl6›õz½F£Q*•*• ÛA¨ n!!n!ú`9D<£ÑØØØh4é{ÇR©T$Ñ:”6›Íf³™L&£ÑØÐÐ “É jA@8@ÜB$BÜB4A QÂf³™Íf«ÕjµZív»Óé$„0 # Y–eYV"‘t¼B;@`!n!!n!:`M0D Ïl@AÜB$BÜ`*b’`ˆ9H‚ æ`M0„³Ù\__o0 CSS“Íf#„ˆD"±X,—Ëårybb¢D" u7þÄ-D"Ä-ªC@XÐëõµµµZ­–Ö뉋Ŵ,¥Ýnojj²X,´jOJJJjjª›×â"⢠J¤A³X,åååUUUéééÉÉɉD ÄÅÅy¶ô¤eÛ9Žs8f³Y§ÓUWW«Õê®]»ÆÇLJºû£·‰·}C¤ª««»xñ"˲jµšl …Íöµ÷Þ¿Þn·ÓBîUUUV«µ[·nIII¡þ% æ n!!n!*¡N0D¤ÚÚÚÒÒÒôôtµZMk³ÓÙ³§§¥÷Föv»],K$’ªªªââ✜œÔÔÔþk·‰·-! †Ð sYYYjµ:>>žeYúT®ÙpìÍívÓÝŒhw¡P( /^¼È0 æ' 8·‰·­B !`±X4Mfff—.]$ ˲ ô5{Ðñ:..ŽÏç3 CŸâq§ÑhX–Åz5èlˆ[ˆDˆ[€¶`Q/„@EE…\.ÏÊÊ¢/& ‚ËŽÈÞx<ž@ ˆ—J¥YYYr¹¼¢¢¢óz @!n!EPÜÒ5ts€–0 ÁV__¯ÕjLGd>Ÿïß}†¡³]»v=räˆJ¥JLL¼ìUo¾ùfCCC[g{÷î}ÓM7ù׈n¡[J«ÕnÛ¶Íáp$&&Þ{ï½­¶Ùµk×éÓ§ !7ß|s~~¾„¨qk2™>ùä“ü±²²Òåregg÷ìÙsôèу ò¯·í„$‚M§ÓuëÖM©TŠÅb¿GdŠÏç‹Åb¥RÙ­[7NמAyçÎf³¹­³v»I0´*´qK9pàÀš5kL&!D­V·L&_|ñÅŸþ™þ8`À$Áþq{þüùE‹566zŽ”–––––~óÍ7wß}÷œ9s®hÞàŠ † 2›Í—.]êÙ³']—Öñ2 C+þ9rÄl6ûÞßÈf³Ñ 8//O&“µl››Ûñ.Aô mÜZ­Ö 6ü÷¿ÿõÑæ÷ßþùçëëë;Þ7ˆá·555ž ¸_¿~×_=˲%%%»ví²Ùlï¼ó˲·Ýv[Ç{Ð*$ÁTƒ!999!!áJ×¥µ…®WKHHHNN6 ¾eOUìG}ù.´_㶤¤¤°°°ªªŠ’““c·Û›­Èt¹\o¾ùæ'Ÿ|âv»ãââ†þÓO?u¼‡Â9n©·Þz‹fÀóæÍ»ýöÛéÁqãÆMœ8ñ°X,_|ñÅÔ©S1 /ÆAPY,¥R¨™¢ã²R©´X,¾[ÖÕÕÑ(ñW$„q»{÷nšILž€¶ ¼ ¨;'q¥w¦Ë!JKK—,YBÃQUUU_|ñ…F£yá…„Bagt"ZhãÀ?a·ƒ"“Éyä‘ââbïSeeeeee•••O=õT+»ø€$‚J Øl6±XØÛºÝn›Í&|7£3ÁÇÉåò;ï¼sèСB¡ðĉ~øaiiéÑ£GŸ}öÙgžy&°}ƒ(Ú¸ðO8Ç-Çq´xð7ß|CIMM½çž{úõëÇãñŽ?þî»ïVUUôÉ':øEmA A%•JÌfs Æe:"›Í憆©Tê»eeeeee%Ý9¹-x1Z aÜø-ÌãÖS›ÒS¢Uv»½ƒ_Ð$ÁT"‘H&“éõz§ÓyÙŠfíÁqœÓéÔë ]âá IDATõ2™Ì÷5³ÙüðCºÇ²GuuõG}DáñxC‡íøw´ I0›L&S*•555N§Óétú=.»Ýnz‡šš¥R)“É.{Éõ×_O±X,÷Ýwß¡C‡Ìf³Ýn?zôèâÅ‹KKK !7Üp–C@«B·~ ç¸åóùwÜq!D¯×/\¸ð‡~0F£ñÇ\¸p!ª˜8q"vô„΃:Á*•ª¢¢‚eÙôôtZ(çJë®Ó9 :"×ÕÕ5«öЖ›nº©¬¬ì³Ï>«¯¯â‰'x<ž÷_ #GŽ|ì±Ç®ì7Xª¸èˆpŽÛÑ£GŸ?~ûöíµµµ………ÍÎN˜0aáÂ…ú.€–C…””FÃ0Lrr²Ûíf¦ýã²gNB§Ói4šôôôvN߯ÅÅ=øàƒ™™™|ð^¯÷dÀ ÃŒ?þá‡ÆÖDàC¨âÖ Ѹ¸6âyNùh1%œã–ÏçÏŸ??//oÓ¦M—.]ògYöÿøÇܹs±Ÿ"t*ÝHöJ >ŸA:¢±±Q«Õfee¥¥¥1 C#Ê÷GßMöÌIh4š””ÿV§étº3gÎ˜Íæ„„„‚‚,Í„v mÜø'ü㶺ºº¸¸Øf³%&&^uÕU(íD£T.—ûq-’`%“ɤÕj“’’ÒÒÒâãㆡãr³éÝÿCßM¶X,ô©\JJ ÊKAð!n!!n!*! †f·Ûõz}CCCVV–J¥’H$ÍÆeïÙl6ëõzF£T*U*^bƒPAÜB$BÜBôA Ïh4666FúÞ±T*‰D´¥Íf³Ùl&“Éh4644Èd2…Bwê! n!!n!š †(a³ÙÌf³ÕjµZ­v»ÝétB† …,˲,+‘H°³„Ä-D"Ä-D‡Ž$Á¨aÄ3A·‰·˜Ê€˜ƒ$b’`ˆ9H‚ æ €˜ƒ$b’`ˆ9H‚ æ €˜ƒ$b’`ˆ9H‚ æ €˜Ã„ºÿ?³Ù\__o0 CSS“Íf#„ˆD"±X,—Ëårybb¢D" u7 â! †° ×ëkkkµZ­L&“J¥b±X(Bìv{SS“Åb©­­=þ|JJJjjªJ¥ u— ‚! †³X,åååUUUééé}úô‘H$ .....ŽÇãBÜn7ÇqÇ9³Ù¬ÓéNž<©V«»víêî@Dâéõz?.3 |>?.KŠ¡Cêêê.^¼È²¬Z­–J¥"‘H(2 C£Ë; v¹\N§Ón·Ûl6“ÉTUUeµZ»uë–””ê_Bƒfr¹Ük1 !S[[[ZZšžž®V«Y–eY–fÀ4ý¥0åv»i*Ló`±X,‘HªªªŠ‹‹srrRSSCø[@$B ¡A瀳²²Ôju||<˲tD³ô×›ÛífF(ŠD":g, /^¼È0 æƒàŠ †°X,&33³K—.‰„eY†aÚÊ}=h~Çç󆡫&8ŽÓh4,Ëb}0´õBTTTÈåò¬¬,©T/.›{ãñx >>^*•feeÉåòŠŠ ÿzb·Ûý»"f‚!ØêëëµZíàÁƒiÌçóý»Ã0tö·k×®GŽQ©T‰‰‰í¼öرc}ôÑùóçëëë EnnnAAÁí·ßŽéd€êlçΓJ¥={ö”J¥ ƒws8&“©¸¸Ød2ååå]¶½Ûí~ùå—wïÞÝòTVVÖsÏ=—™™ÙÁ.@pt¤:²X*³Ù|éÒ%Z‚að ‚aZaíÒ¥Kf³ù²í_ýušK$’™3g.[¶ì((( „h4š|Ðápt¼Wæ°‚Ê`0$'''$$\é:à¶ÐõÁ ÉÉɃÁ÷¦ÊåååŸ~ú)!D­VoܸÑSSbÊ”)ëÖ­Û½{wCCÃÆŒÓñŽ@8ÃL0•ÅbQ*•Ê€)š+•J‹Åâ»å{ï½Çq!äé§Ÿö®ªÆçóÿùÏ&&&J¥ÒŸþ9P€°…™`*«Õ*—Ë=»Á­›&—Ë+++}4ã8îðáÄ¡C‡æææ6;+—Ë?ÿüó@u Â’`*§Óɲ¬1ü@ïÆ²¬ÓéôÑìÂ… F£‘2dÈzD§Ó•••I$’¼¼<¿‹T@$B AÅqœX,`Lñx<±XL—:´E£Ñн{÷þý÷ß7mÚTVVFÄÇÇ_}õÕ3fÌèÛ·o`;á k‚!¨;|Ew6 ôéS§}ôQOL±X,¿üòËâÅ‹Ož<Ù}€pƒ$‚J Øl6·ÛØÛºÝn›Íæ»ê°' ~ýõ× !“&MZ¿~ýW_}µaÆɓ'Bššš–,YráÂ…Àö –C@P‰D"š»Ýî@M Ó»Ùl6‘H䣙§,±Ãá¸ë®»îºë.úcß¾}ûöí+—Ë·nÝjµZ÷íÛ×½{÷€t Âf‚!¨X–5™L4m Ô=éÝL&˲>𥥥щ‰‰ž Øãî»ïV*•„ãǪc¶CP±,k49Ž lÌqœÑhlg|õÕW·Ú wïÞ„³gÏÚl¶@õ Â’`*©TÚÐÐ`6›•Ó Øl6744H¥R-ÓÓÓéß•Ô\.—ï*CP‰D"™L¦×ëNg@rMŽãœN§^¯—Éd¾×'&&fffBNž<Ù2ÿv»Ý'Nœ „Èårß3ÊC°) Fc±X\.W'ƒÝn·Ëå²X,F¡PønÌãñî¸ãBHccã[o½ÕììÛo¿MËG >¼#]€ˆ€$‚M&“)•Êšš§Óét:ý΃Ýn7½CMMR©”Éd—½ä†nP«Õ„>ø`ýúõ%%%.—«¤¤dÆ Û¶m#„H¥Ò3fø×ˆ <½^ïÇeƒÏçÇÅ!‡ØíöŠŠŠÌÌÌôôt@Àçó¯´\v8ÕÕÕôVB¡°=–””,_¾¼¶¶¶å)™L¶víÚÜÜÜ+ê „ Çq.—K.—ûq-²X¡P˜’’¢Ñht:Ãá¸Òù`:ìp8t:F£IIIigLÉÍÍ}óÍ7‡ÚìŸp={ö\·n2`€™`™ÆÆF­V›•••––Æ0 (ßS´„Ë墫 h|ÙÕÀ­²ÙlÅÅÅ•••‰¤K—.ÙÙÙ~þ"™ F ¡d2™´ZmRRRZZZ||<Ã04¦<ÍÜÿCkAX,–šššººº””ßeÑ Šu$ ƶÉJR©T(êõúßÿ=++K¥RI$’fy°wl6›õz½F£Q*•í_ Ð f‚!,ÆÆÆF£ÑHëìr¹‚ó«©Tª/¿ürÓ¦Mb±88ß@! kçΛ5kÖÁƒ½þþûïwÞyçüAT©TóçÏ7™LfÕªUžf6›íñÇ7™L`Ñ¢E„‡Ãáàº\.—Ëåp8è555ƒ š:uê”)S:ý#d„ 'Nœ˜4iR¾  $ÁáK«ÕÞyçF£Q(._¾üÛo¿ýî»ï–/_.Ìfó]wÝU]]M[Î;wøðá„mÛ¶ýöÛoôà† .^¼HYµjUrr2!dÇŽ1b!¤{÷îÛίKMMýí·ßvîÜùÙgŸìwK(‘¦ÇÙ³g !r¹üÇlvV.—BN:å}pÊ”){÷îݳgφ !<ïå—_¦-ÛI*•0 £]{H‚ÃÔ™3gè+k»víÚµkW«môz½^¯W©Tž#«V­:räˆ^¯'„Ìž=ûoû[pz Y‡)ŽãèµZM_kk•ÛíöþQ$‰D"ú™¾å-! Sùùù Ã8ÎÛn»íÑGmçU+W®¬¬¬¤Ÿ?ÿüó &Œ7®Óú©ðb\˜‰D={ö$„xï‹áÛþýû?øàBÈã?Þ£Gú¡¾¾¾ÕÆv»=@=ˆ<~&ÁÍžÂCgèÓ§!äðáßþ¹÷q£Ñ8sæÌ¿ÿýïwß}·çà¥K—è„qŸ>}æÍ›·zõj§×ë—.]Úì¶€ráÂ…–;0Ÿ9sæ½÷Þ£KŠŸßI)f‚Ã×Ã?œœœìv»-Z´iÓ¦?ÿü³ªªjÏž=³gÏ>xðàùóço¼ñFOãeË–iµZ>Ÿ¿zõj>Ÿ?xðàéÓ§BöìÙ³cÇïÛfffB\.×O¿åÙ>}ú¼÷Þ{ƒöáóù=zôX·nÝÛo¿G1™LO<ñ!$##Ãûº„„„+VBéjÀ€›7o¾æšk< n¼ñƼ¼<7}úôÔÔÔ€ÿ¦¾Ñ_¿ÕÿÇóohcc#Ã04 ƒ hll¤[(ggg …Âfg›šš! Ã0LórôT\\\Ë«Ìf³Ýn—H$Þ§L&Ý<¹3üòË/cÇŽU(t¾ÆÆÆ½{÷6,ø_ÍqœÓéô/µ@‰´È P(|ü‹Åb?NI$‰DÒì`çeÀáS¹s@ÌA 1I0Ä$Ás@ÌA‰4¶ÆÆÆPwb’`ª½{÷†º H‚!ˆB²— @KX 1I0Ä$Ás@ÌA ÿ_{wUuÿüsf&‹$MHAVYd1<(ůˆÅQpùÕGE[±Dñá¯b]jEbmUZÀŸ,”E¨¢í"öWý²Ôl¡PdI!aÑ Jdfî=¿?îÌÍ0Y“e ÷õ|ÐÛ;gîÜ9sÇ?Þsò¹ç8!ŽC€ã‚à8„`8!ŽC€ã‚à8„`8!ŽC€ã‚à8„`8!ŽC€ã‚à8„`8!Žã‰w.ÌþýûãÝg¹úê«ëëT|w4aõ˜‡òù|1¼¬¸¸Øãñ¸\=œ™™ÙÈïèp………õu*¾;š°zÌ µgšf0LMMáµ”CÀq.±rˆ¸üÈ@½à»F‚à8„`8!ŽC€ã‚à8„`8!ŽC€ã‚à8„`8!ŽC€ã‚à8„`8!ŽC€ã‚à8„`8!ŽC€ã‚à8„`8!ŽC€ã‚à8„`8!ŽC€ã‚à8„`8Ž'Þh‚ Ãxûí·µÖC† éÖ­[Í———'%%Õã»/_¾<ôëׯOŸ>õxZ€¦ä’ Á³fÍ*((ˆjLJJêÕ«Wÿþý»víêrÅs„»¬¬ì™gž‘çž{®ÊœŸŸ¿xñâÍ›79r¤´´Ôëõfdd 2äþûïïÒ¥Kß}êÔ©ååå<òÈE‚92wîÜòòò+®¸â‰'žˆww€³\’!xݺu»wï®îÙÌÌÌ·ß~»S§NÙ¥Z2MsæÌ™óæÍÓZÛ¥¥¥ûöíÛ·oßÒ¥KúÓŸN›6Íã¹$¿—ÚËËË{òÉ'KJJD¤C‡„`ÐÈ.á°Õ¼yóÚ}>ßΜ9SXX8nܸeË–]sÍ5qì^eZë‡zhíÚµÖþ}û><--­¸¸øïÿû–-[DdéÒ¥‡^¼x±ÛíŽkgJiiéÔ©Sß}÷Ýxw8Ú%‚»wï¾dÉ’È–Ó§OϘ1cÙ²e>Ÿoƌ˗/Wߪ´bÅ +»\®×_ý–[n±Ÿzì±Ç6lØpÿý÷ 6,X°`Ò¤IñëiCÙµkWnnîþóéÞ½»ßï?xð`¼;œ¨IÍѼyó_|ÑþòË/@Ô†a9rdûöíÁ`°†Si­¿ùæ›;v÷}¿ýöÛ;v;v¬†cNŸ>=}útkÿ©§žŠLÀ–áÇ¿ð Öþ+¯¼âóùj8ÛÁƒ÷íÛWóG¸-_¾ÜJÀ&LÈËËk×®]¼{ªI…`QJ9RDΞ=»}ûv»= þþ÷¿0`À!Crrr²²²úôéó /TÊ%%%/½ôRïÞ½¯»îºìììþýû÷ïßÒ¤Ißÿ}å·[·n݈# =hР~ýú-Y²$²Þ×ö·¿ýíÔ©S"’“““››[eçï¹çž{î¹GDÊÊÊÖ­[g·?ûì³;v¼ýöÛKKK}ôÑþýû>ü†nèÒ¥KnnnÍq977·cÇŽ]ºt± p£deeuìØq̘1vËÎ;=Zà ë(--mÑ¢EÓ§O¯ß91.HS Á"’`픕•ÙO?ýôþð‡'NØ-§Nš?þ”)S"_kšfnnîܹs‹‹‹íÆ¢¢¢µk׎;¶°°0òàM›6åææîß¿ßnñù|Ï<óÌoûÛʽúàƒ¬ &ÔÐù{ï½×Ú‰ ÁÁ`Ð0Œ³gÏæææþù϶§ƒÁ`^^ÞØ±cý~u'¼ùæ› Ã(++[¿~}ÔSÛ¶m+((0 ãæ›o¶Z¦M›6zô謬¬?þ¸†NÆì†nøè£¬_)qÔCð_|aítèÐÁÚ™={öŸþô':tè¢E‹¾øâ‹E‹eee‰È_þò—W^yÅ~ík¯½¶qãF¹ñÆ—.]úÙgŸÍ›7/;;[D<¸páBûÈC‡=ôÐC†a¸\®ŸÿüçË—/_½zõ¯~õ«6mÚ¼õÖ[•{õõ×_[;={ö¬¡ó]»vµB¼}¼m×®]Ÿ|òINNŽÕ±%K–tíÚÕêÉ›o¾YÝ GÕ¼ys±oȳåå剈Ëåºí¶Û¬–5kÖˆˆa‘¼ÝxãW\qECœà‚\Â7ÆU¦µ^ºté‡~("½{÷nß¾½ˆýîw¿‘¬¬¬Å‹[…ÏÈÈ:tè]wݵ}ûö9sæLž<Ùj?yòä~ô£V­Z½üòËÉÉÉ"’™™yÓM7}ñÅEEEŸþ¹ý^¯¾úêÉ“'EäñÇä‘G¬Æ~ýú 2ä®»îª\­k ßfff¶hÑ¢†àñxºté²{÷î'Nh­•R‘ÏÞzë­³g϶333»uë6lØ0¿ßÿùçŸÿ⿨ò„ÉÉÉ999+V¬Ø¸qcIIIJJŠý”58=tèÐôôt«e̘1óçÏw»Ý£G>ϵ¸”]Â!8??ÿ7¿ùµ¯µþþûïwïÞ}àÀq¹\O=õ”õÔŽ;¬"Ý'Ÿ|2²Õëõ>üðÃ'N ƒ{öì¹öÚkEľ5-’Çã¹í¶ÛæÏŸ¿gÏÓ4­•8vîÜ)"}úô™ÆëõF¶'''wïÞ=ê`+­ž>}º†8°}ûö‡^»v­‚­ZˆfÍšýøÇ?Ž<ø¼ë<4—pöz½‘+oݺÕ0 ¯×»~ýúfÍšÙív¶ï9«lÏž=ÖŽÖ://ï7Þ°Æb«;~ïÞ½†aH5‘±G•Û´iSXX¸wïÞ`0Xó‚pÖbx©©©ö~––-[V~¡U³Q3¥Ô¸qã¬rg»"Â*=ztTÔp‚K8÷ìÙsåÊ•öÃ)S¦¼ûî»gΜY¹rå}÷Ýg·[µ.—«wïÞÕʾ[ë…^X°`µŸ˜˜˜‘‘‘ššš’’RXX˜ŸŸuN©< \ŒŒŒÂÂB¿ßŸŸŸß¥K—ê;zô¨Uj\¿sèŽ?~Ö¬YvEÄŽ;*×B8Ç%‚£<þøã«V­*//íµ×ÆgßÖ«W¯?þØív¿÷Þ{5›X 8==}ßMinfIDATöìÙ×]w½vñ¬Y³"'‘èÖ­›Ûí6 cïÞ½•Ïóïÿ»rãˆ#¬…‘7mÚTCÞ¼y³}|ÍŸ÷‚´oß~àÀ[¶lÉËË»ãŽ;¬Y 222®¿þúz|€KEÓ™"-==ýg?û™ˆ|÷Ýwüãív«d"lÛ¶­æ3Ø“?Lœ8qðàÁv+¿Ú.»ì²«®ºJDª<çÖ­[+7Ú¥·3gÎܵkW•Ø·oßsÏ=u|}?~¼ˆlÚ´©¸¸Øª…¸ýöÛ­›üœ¦Ie É“'·lÙRD-Zd/laWAL›6;Îòþûï1bĈ6l{*†3gÎDöå—_FNŽféÕ«—ˆlÛ¶í7Þˆ:8ªÅÒ¹sç±cÇŠHYYÙĉ+¯?wêÔ©xÀºÅmäÈ‘}ûö­õ箕ìììäää@ ðòË/WW qöìÙ•+Wnܸ±ÊE&‚SRR¬ Ëü~ÿÌ™3­ÆŒŒ «q×®]÷Þ{ïºuëŠŠŠ¶mÛ6{öì)S¦ìß¿? :TD²²²¬;Ï.\¸|ùò£GîÝ»wÁ‚wß}wåÕ•ùË_Zw˜½ôÒKÓ§Oÿì³ÏvîÜ9wîÜ|°º;êžþùÖ­[‹Haaavvö²eË ü~aaá;3mÍ8Ñ¢E‹3fÔûÅiѢŨQ£DdÉ’%"ríµ×^}õÕQÇL™2å±Ç»çž{"‹­šž¦Sl¹ï¾ûÞ|óÍ#GެY³æèׯŸˆ<ñÄ«V­Ú²eKTaCJJÊÌ™3­ìÛ¼yóûï¿Á‚'Ož|òÉ'ícÜnwNNŽUGkëÔ©Óœ9sî»ï>Ã0æÍ›7oÞ¼È>¼÷Þ{•§-kݺõûï¿?a„C‡>|øé§Ÿ®ÜÿvíÚ½õÖ[ 4MïøñãW­ZeïW>àŸÿü§½sçw6D.—äH°U­[e=kRRÒ”)SDDkmßʦ”zõÕW'Mš¹öDjjjvvöÇ 777))©mÛ¶?ùÉO*?[ïjè*@ƒR>Ÿ/†—{<žK`0xìØ±“'O¶mÛÖž­J>ŸïرcéééVj¬Öúøñã>Ÿ¯U«VíÚµ«å¤iååå{÷î-,,ôù|iii™™™Ý»w¯Í¤¿uqúôéž>}zÔ¨Q .¬®cn·»æ™Œ.¦iƒÁ¨vkÉY!Øáf̘aÝ´÷þûï4(Þݨ“º„`üš¾¢¢¢ýë_6l°V™òù|uéDqqqyy¹ÇãIHHˆ¹&8/Ã0@0LLLlÙ²¥R*æSÕ)[@ii©ßïgH D)eÕ?4kÖ,æ*ˆŠ³Õ=—VŒ€ã‚à8„`8!ŽC€ã‚à8„`8!ŽC€ã‚à8„`8!ŽC€ã‚à8„`8!ŽC€ã‚à8„`8!ŽC€ã‚à8„`8!ŽC€ã‚à8„`8!ŽC€ã‚à8„`8!ŽC€ã‚à8„`8!ŽC€ã‚à8„`8!ŽC€ã‚à8„`8!ŽC€ãxâÝ€¦À4MÃ0´ÖQí•[¥Tå·ÛírÅ2ªK¨“ã'Ÿ”=ß&9Õ¢4àŽww¤Y‚Ñ®ù™žW†tÒW¶L¸ ×*ŸÏ×@ÝhÚ´Ö[øçÙ¶Y¢\–(‰nqSjÚˆ Sü†œõKi¹~p`ѠΉ•G‹«ÃH0@Œ¶ð/üGÛV^íMTJ)­µ©ED”õ?«¢âÛ:nÏ©-Q".—$)IòHR‚Zøåå"Eƒ¯NªåwGˆÅ±ïoli›ÖL.KP¦eå3¥DkSD…°SkÑJ„mÝ·‘´„fˆ${$å2õ·´mßÚ—ÞªVu„`€X|zP%'Hr¢2µmý!Þ å²ðÿiQÊ~ȶNÛo1LNTÞ€þô 7 †£*‚.˜iš»Ž'&yÄ §^ÑÕöŸïE´0;DƒPJ‰ÖZ)k^‹Ö‰nÙu<ù6Ó_›ù"ÁÌ0ŒÃ'[´jaüF–®j­ÅªVJE”£®"M(%ÚÔVÿÞ[ŸL2Œ³„`€¡µ>ð¤)ejûÏôZÂsÙš¦Q*VáK¶uÚF}bý•¢„8å÷ÔrbfB0@,LS S½ỶB“7q]å´MbyU­¡w{8|@í—&!ÄÂÔbjѺ¢X©ÐCë¹ðMqNoqÞ&¸%`\=‰mk]Ïð6új[‡µ®=!ÄÂÔÖH°EÙ‘7rGTèOöé­Q·é-edOW¯vÒ¦¹JNò€œ8-»év›…ßUqü¸ªMsu¬X¯Þ®+?;¬‹ê™¡”’c'õêºñ?QÔð°=+­öw!‚ba˜b˜Ó@ˆˆèðC]ÑrÎN#n•ÈO»rúž³„Zr‚´k%íZ©‘=ÝÝ­ßü»iês^5°£êÐZ}ýü÷6uÎÁTî\JIi¹<¿C‡~4ú窨> Ý'V„õ1#~–œ! ¡š`U‘À,çÄâ8Q"Ý亾s¨#û¿ÕÛ äT™n–¤z·“éJDFöT—·p½¸¶b’7±Ó¦ŽN“=3Ô#7¸”’ò ÌXkæûj=âÚ0*n<”sfàÐÑKjT‹  S”¡íÁH» B…j OÑøFöTVÖZ~ÿ‘þô@ňô ‘~íå×£•Ç%×þ@ÝÒ×õßÛ"S°5­Œˆ4Ù±µ<õcW‚[ S~û¡Þs\â’ó#&‹°ÛThø=üÐ0k;Lˆ…5lÍ ,©·"þZq­öóÔo¢LÈ M”»øSsã×ÑØš¯çmPp‰Èÿ¨þßnóä™ÐSVA‡Ö:¾Å¬m y6ÛíM´ò´¹5?žcÀÖLhÖp޼yN›Œ4(S+Ãë–¸ˆ²"G+•6#q#mtf‰""¿Öï~Yõ1k¿Ò/×7÷R‰ÒI}°3<Îñé´Ö)—©ÿs«+­™ˆÈÜOô†½q*Øê– ÕA„o˜ ß§CÏ×òë#ÄÂ0uÐT"Z‰Ò“Ô"J‹(%fhT54;„5}D£l³®ÁÕ;´©«=rÕ}s/%"YÕêZ…Ò|¨"hêdz.Ç•ÙJDä­Oõš¯tc~ŠÊ[±&ÛТík®Ã™X‹õfmª Á±/–QÃÐc| ‚Û§…Þwß·¬¾D6¿H‚†xÜÒ>MÙÙѾ1ND~=ZõHyïzÙçq¾î\ªÒN#Á ËÐá)Ò"j‚%2—Uš8¢q´òŠˆ/–’³5f˜rè;é|¹´ôŠiJTÈýß7ªÁ”ˆ’×ÿ§ñ ›k9KZÔe7 hPZ« )J)mªV±fo’£KI‹d‘üº†a`K¾Ow¾\¹]’œ(§ÊDÂcÀ×dÈ5¡ô~y ¹{ ZzŒ«ðšÁWEߘh0 РŒP9Där•©FŽÂ†HyP’<’æUç-Mó†vJË«Xfâ‡ttåM”†©¯ŽÈ?Å=ëˆë©"Z*vj?ìj€þ4}†)AS ­‚¦Øÿ ­¬–ð޶6Úö»R‘«.-ç9òê¶JDN•ÉÙ@¨ÅŽÿ8¤}Gf| EÄ¥dÚÕÒÛ¨Ÿ¢Ê­¡CÖÐÞ—ðEÖF¥5>jÀH0@,L-†yÎ$µÖV)š´@˹³Ø6Òöx±¤§J¢[2[ªƒ¾j¼"E¥\&"r¬¸âƒX…Ç‹å—ïÊY¿|¸Kúý@Æ´f2c¬ëËô¹¹‘·:b©â°Z‚bžÂ…ãió~ݯ½‘eß·Õ6°£}|ôê7%7Õýn½îÝNu»Rúµ—‡G¨×þÇ™‰«Vû‘`Ê!baVT>صbh—õ0âïõ]6ðÑîPL|ô¿T×+ª>¦CkõĨÐaÝ]Q×a8Û-g걕ºÔ/"2ázÞ-nå‘—:¢þ$ôÏÚ¯ýl„`€X¦¦6L bje- 4tЫÑÚ1LmêFÝ(Òy_‰ˆ$%ÈkwIÊeÑÇ4K’?Ü-Í’DD>Ù+; +ž -Æ*öµçûä¹Õ¡àé·ªv-û…·çü³®¹u­¯À0#Á ËÔv̵R¯6Leheâp»¦jäíŒB·Çµk)ï<¨Æ÷—ôTåRreŠ{­¼3Qul-"rªLž_}NíÅ2¢Î¹z»üi«ˆH‹d™u—Jp7ö'²®­a†¯­5BlŠqÎÏMM0@Ã2µ2L­”²–JÖ¢ÄÔ¢”Hx¡äø-2üí)¹{¾,œ íÓä­dÚ­•ï3“£'eâ)+ó7IÎ\Ù}¼Š×Jx ä¨ö3~yh¹”–‹ˆŒ 7]ÓèŸËT[1Lm_dST¸@¢¶_Ÿòù|õ÷€#øýþ^/¦{½:b!3‘ðŠk‘ûq—ä‘nWJf+iÓ\¾+•ÂïåßÇ¥,ïnÕMxºèÆÒRÙõëc‰‰‰ç=屈˜'øJ‰6/¢|Æ/Û˶ÃñîG}°oh³Šv9ï"y6B0@,L-¦¯ÜaJ£Âú¢HÀM‰ýƒ#2‡âoøâ×¾&˜  »‚VD*æ×½XVÌh¢¢®³D_êÚÿð \0¥T‹Ä@¹™ #Áêâ¨hÂT8ô*¾æÖ »õ´–IA¥j5L¸`n·»kë3ÛŠR]n©TŒ7ŠŠßvŠˆiH×¶¥n·»6g \0—Ë5ôª3[§z"ç› RVú{½b[[©´ùƒCIЬŽg\®óO !„`€Øäô5^Ù$¢Äµî‚µò°®ˆÁ•¬l븕PñƒŠlÑ"Ú`@rúR;„`€Xt¾2qö˜üÉ«¯r¹Å*Šˆš¼–ºˆ†`]d±¯”˜†A™3ö?¯ôÖò<„`€X¸Ýî[ú%æGVwv™¢\¢ÂC‘i¸bj[¶uÞŠ] ,""¦)ÚmŠiÈì1n¹6¹–ÁŠq13M³¼¼|oá™5_%|v(åëïRŠËâÝ)IMòwm}êúö§rúø»ez“’’\ѵ)Õ"ÄÎ4Í@ à÷ûý~ 0 C3MZ£PJ¹Ýî„„„ÄÄÄÄÄÄ„„„Ú'`¡ .\.WRR’ÇãIJJÒZ[ 82“‰ëKäÀÖ¾Rʊµ¯‚°‚ê*¶†8º€Ac i ÀqÁpB0‡ Ç!ÀqÁpB0‡ Ç!ÀqÁpB0çÿ€Î…)ÿLJIEND®B`‚traitsui-7.2.1/docs/source/traitsui_user_manual/images/CompoundEditor_demo.png0000644000076500000240000007401414046644454030416 0ustar aayresstaff00000000000000‰PNG  IHDR2xðmž pHYs  šœ IDATxœìÝyxÕú8ðw²O’¶éFÓ´M˾´@YŠ€ |QÐë‚àW”‹ŠrÝ—+Wp¿*"ןˆˆŠ\Ñ ²(ˆàUDpC-;-ÐÒÒ6Ð6´MIÛ¬“ÌÌïSblK)m’™vÞÏÃÃ3Ìœ9å0yç,sUSS!ÔEùXÈ·ÊNÛ©p¼Ð¹‘QH3ð™FN)¿„) K¡®ÊÚ@í-‘9¡ó!m:ŒêΣÚúP knBH(ÖjgÆ$á9ØY ³6Pm<ÃB¨ ò±°·¿ßDdo‰ÌǶéH,6„P”oÅz’¸8È·¶)â`XBuA§ímm2BÓÆBÁ°„ꂆ%„„Œ;Vè,Hž={Ú}.†%„´ÄÄÄ….®®®®#§cßB!ÁÚ ˲Ç‘–}Š¢d2™\~)S” „º" K(¢xž÷z½‡a†aX–eYär¹\.W©T*•J£Ñ¨Õê;QŠò?DD†%!<Ï»Ý†ŠŠ ›ÍFÓt·nÝRSS ¦¦æÌ™3eeen·;>>Þd2EEEÑ4Á !©Á°„"a˜úúú¢¢"Ç“™™yõÕW79 55555•lŸ8q"??_£ÑôêÕ+::Z¥RE<¿!Á`XBaçr¹l6[aaဲ²².z|¿~ýúõë———wøðá>}úÄÇÇkµÚä!$–Px9Îâââúúú©S§^Ò‰YYYYYY[¶l9wî\Ïž=u:]˜rˆ ŽÂÈår»Ýî›nº©})ÜtÓMn·»¸¸Øår…6oHü¼^¯ÐY@ÀÚ’Ô9sæ­·Þb&))éÙgŸ aÊ ÃØl¶úúúvÇ$âºë®Û²e‹ÍfS(ØÏ$?ýôÓÒ¥K=ZUU?hРaÆ=üðÃz½>LW´X,¯½öš×ëMNN~õÕWÃtÔF¸:­¤mÙ²åÿøy%;##cß¾}¡J™çy›ÍvèСiÓ¦…$Áõë×gggÇÇÇãØ¼.Œçù'Ÿ|rÍš5Í?êÓ§ÏÇܳgÏ6&µv_ ïÀu÷þ0vìØ&³ 1顇úý÷ßÓÓÓC•2ê ¬-IT||üÛo¿}Í5ׄ#qÇc³Ù&L˜ÚdûõëwèÐ!Ç£ÑhB›2Çqß}÷\}õÕÍ+Ùqqqùùù!¿hBBÂÊ•+o¼ñƧŒ:kKR4a„={ö„)&Ã04M‡#e𦆠GÊHXyyyç΀ÀÓLEEÅ÷ß¿ÿ~R… ¹ë®»îðáÓDkKR4qâÄð%β¬Ûí6áH<11ñ÷ßïÖ­›L†OT¢P(âââÒÒÒÂÚ¥wòäI²‘““³gÏžgŸ}öĉd^¯5jÔc=6räÈ^ñ†naj(„ðÞF!Æqœßï7™LáH<--,‡ŽÄQ‹ü~UUUyyyX¯R[[K6~ûí·[n¹%“Àáp|ûí·S§Nýõ×_Ú$–Pˆñ<ïóùÑxbb¢ßïGʨuá~Á‘´àÀ‹/¾3gÎܺukIIɶmÛfÍš.—kÚ´iáèaBbƒx(ôÂú"¾ÞØ%)•J²Á0ÌSO=õÔSO‘GŽ9räȸ¸¸ÿ÷ÿþŸÓéܼysÈGx"±ÁÚ 1²Îluuu8¯®®Æ^%Ae±ÂÇl6“nݺbRÀܹsIöîÝÖl 1À;…˜L&S(aêŠ8}ú´\.ÇÈI …¢[·n)))a½Jàå¹Ñ£G·xÀe—]ôxøà‰`ýúõ!OS©T’‰Ô6mÚtË-·t0µM›6¥¥¥ÅÅÅ^ºD]U||üºuëÜn÷áÇKJJ¢¢¢z÷îÝ·oßp_wÇŽá¾j# K(,(ŠÒëõIIIçÎÛºuë¤I“ÚÔÖ­[e2YRR’^¯Ç%‚¦i2¿ƒÐAÀF<.¤‡©W¯^~¿ãÆíKdãÆ~¿¿W¯^Ø«„Dà}ŽÂH©TÆÇÇ@eeåêÕ«‡ Ööyyyû÷ïONNNNNŽÇæ;„$à #Š¢T*U||¼B¡ iúСCGýôÓ#GŽ9rÄjµšÍæìììaÆ͚5K£ùcþŠíÛ·¿ð PZZºaÃA²ºk×®—_~f̘‹!„P‰ñkô‡~¸÷Þ{kkk{,‹ÅbÙºuë† Ö¬Yc6›É~™ !B¨K]XÚ¶mÛ¬Y³X–€1cÆ\vÙe&“©¸¸øÛo¿-((ÈË˻ꪫ~ú駤¤$¸öÚk_yå‹Årß}÷ q„B! º°4þ|–ee2Ù¢E‹f̘ØÿÌ3ÏÌ;÷ã?>wîܦM›|ðAP(<ð€p™E!bâj«««+**€áÇÇ$P©T¯½öZll,\R7’ßïÏË˳Z­Mö{<ž¼¼¼òòò¶$ât:;vêÔ)ŸÏ×öK˲gΜ9pà@YY™ß¦sBH‚Ä–ìv;ÙèÛ·oóO5Íúõë׬Yóì³Ï’=Çh4&%%­X±"pؼyó’’’®¿þúsçÎÍœ9³wïÞãÆËÊÊ1bÄ/¿ü‹å®»î2›ÍãÆXQQØoµZßxã –eÑŽeY$<¸xñb·Û8Øáp¼óÎ;uuu‹/nýw™3gÎÚµkƒ÷Ô×׿÷Þ{UUUï¿ÿ~`geeåÈ‘#NgNNÎŽ;ZO!„ºüÉ'Ÿ\qŰqãÆÿûß#wîÜét: 7778X"„4‰nªV‹ÅrÝu×w¥¥¥;vüøñãÇ×ëõÁ»\.2Xü•W^ Œ}xòÉ'W¯^ ÷Ýwßk¯½Fvò<Ÿ““SZZ “'Oþàƒ¯¾>øàƒŸ}öìÞ½;++ ªªª @>ýûßÿþꫯ®xâĉ‰'º\.µZ]VV¦P(Þ~ûmòÞ’Õj%ï-UUUeffò<ÅW¬_¿^­Vr;yòä(в²2²ßjµŽ9ÒápŒ1bûöí!ý·D¡ÎG\µ%0›Í?þøãí·ßxmöôéÓk×®½çž{233Ÿ~úésçε1©ûï¿?°MQÔôéÓÉöôéÓƒ§c¸á†Èm¬gÏž/½ôRðž~ýúÍ›7¼^oaaa‹×=tèÏóðÜsÏbhµÚÇ{ ü~~~>Ùi4óòò¾þúëmÛ¶µñ÷B¡.Lta bcc—.]zâĉ÷Þ{ïÖ[o%¯(€ÓéüàƒÆŒc±X.šH\\\“®)£ÑH6úõ뼿ÿþdƒÄ’`999Í'nÈÉÉ!yyy-^úСCdÃn·ÿg¤½Ž98^¯×>_ F!Û‡`z½~êÔ©S§N€Ã‡oذaåÊ• ÃTVV>þøã›7onýôàjJm¦¼`¨–——G²×ÄÁƒÉÆ_ÿú× ¥|¡†B'Þ°lðàÁƒž>}úu×]çp8~øá»Ýn0ÉL °yí*x¿L&ÇŽk¾308pàÀ-ž5xðà;w*Š/¿ü2xbY„B%®þŒW_}µ_¿~}ûö=zôh‹Ô×ד ­Vüäææ65¾oß>²A†í5G*I Ãìß¿?¬ÙC¡®G\aéæ›o&¯¾úªÇãiòiYY®¦Ñh"³ºRqqq“‘xdJFÓ§OŸÏ ´Ý=÷Üs1ÄgŸ}6jÔ¨Q£FíÚµ+°3??åÊ•ÕÕÕ!Î=BuBâ KÇ'ñfçÎcǎݲeKII Ã0'NœX¹rå¸qãÈèð3fw`#`Ù²eO>ùä®]»òóó—/_>}úti^yå• ­®”’’òøãÀÑ£G§M›¶mÛ¶ªªªýû÷¿ùæ›<òÈÉ“'}>ß•W^I.((;vìSO=uÍ5×p™_ !„DK\}KðÉ'ŸÜu×]ÅÅųfÍj~ÀÌ™3›Ô`ÂgÊ”)[·n]½z5y?7`ÆŒwß}w+'>û쳋eóæÍ¿þú믿þüQLLÌ¢E‹”J%ù1ÐÐg±Xªªªp(BHâÄU[€Þ½{ûí·wÜqGLLLð~Š¢zôè±xñâE‹ÖP—Édd\œ\.I¶ƒ÷ï‡fÄ?68>f̘õë×gfföètº|0xö ’l 'ܾóÎ;?üpðpAƒÁpÓM7ýüóÏcÇŽ ì¼á†ú÷ïOQÔwÜ1 !„D7ùP0‹Å’——g³Ùúöí›™™©Óé"sÝÀäC‹/&ëkØl¶ŠŠ F“žžŠmá÷ûËËËív{RRR+QÇáp4™W !„¤ItxÁÌfs`}taÅÇÇ·8fý¢ Ezzzó©Ð›À˜„B„èñBI™¨kK(ò8ŽcY–LTq¡i,Ú'¸ï-(Š’Ëå8µ B†¥èõúÙ³g@ð`‡.Ïëõ:NÇÃ0 ‰LáKó ¡ U:%›¢w HòìÁ Ê¥‹Š,Qy@‘Áó|CCCCCƒZ­Ž5 —4¬£Ýù´é ÁrÀ°àfÀéågçTè© wý !X[BÐÐÐàt:»uëáê<@Ϩ—Qç÷ÿ§:|$EQÁ•9 @&5j¨•ÔŠ}‰Õ—õºà,ò!цx©óz½ ‘kŠãã€çã'€âxŠì!;YŽçÿüéHŽãùÀYüIñjåFEiUðË)lÄC¨óÁ°$iÇy<¡V®âHâxŽ'Á†b9¾qgc€¡·9:€:|àE©l‘TrȳjpšA„:ì[’4–eÝnwll¬ Wçø?T¤¨?ºÈ£NQdO㿃 RðO‘^©ó+ä`±«YÖCÆê\0,IÏó>Ÿ¯•æÃŠåxh¼gøÀp†ÆÎÇ­óѫ٠Uäà?"Yãé Œ"´cÜB€aIêX–êÒ$*AcL?jKç£ ©PEý5‡ºº¿ü»ãܧ¿q|Ó×Îé#û#…1 ¡Îà Ëà|cPáIT¡(ê|¬¢àîÑÔø~2˜˜)“Ëà£_xž??”œ¾± ¤FÎb1*!Ô aXB‚!}K@>…àQ<‡µ%„:!ì[B‚a9ð³Àñ”ŸåYŽò³¼ŸåIŸÐŒQÿ3ßýžÛv¤±)Ði´ý(¼û}cMèΑ²@OIÁ߸–ꌰ¶„ã'‘…ªñ£ÀLüÏEü彨÷¾ç¶ç¦ôñÔÖÃÀrÜãd¿ó,G>%ãÄIKç_×Eu.–`X‚& ®ÙP¯l・h¢ñÈ­‡aëa®ùþ¬-!ÔaXB‚i2€»q’†óÃðþ˜Þ.x™‚èÏgÁùÓ:8¬-!Ô aXB‚ñsÐ|Ž»ós7PyðøàQßA¯Üò EçO $Èbm ¡NÃLPm‰ ‡&“7üé£à è¥àæl`m ¡ÎÃŒŸ ž+ˆjqšðÀÄwñ§*Õd;8œå¡Îà ÇS¹ìÎÏИ}µ1ñPEæÍ jê ^™©IKݯ.ae ¡Îß[B‚ñ³àgó×Q,GùY /˜Býú459»ñݦóSÁO{çÉLùc¼æBÖ–`XηÝ5ÿûªþ”BÏ]OñÀ¶ì£‚‡ŒOÏ]O‘#ýÜ£ˆÀ‚ù=B¡„µ%$RûáxÊÏÇ“ÄI}ˆZümc¤yþzê¶aGêR· …ç¯o 9oíäI"$ò'B¨ÓÁÚŒŸ=?ºÌà´núŠŸ(­ðüõT½¶j›7)›zá†Æã–íÿü@º¤g‚hœóxÀ¾%„:' KH0,ÿ§Ñ Œbàù7¿…Œúû (xýà8jËaþ¦ÁÔë·€ŒXþ¼ñMð¢<Tàµ[œª¡N à ˵8ˆî_ÛÏ?0–’QðÆm0<ƒúkNcLZ¶þýuð)Á“B‘{Ö–êŒ0,!Á¾Ÿ?ü&ó;@ Æ,ØN)dpß• £`úˆÆcVü ¶ŸÒÂèŠ\n ¡Îà Çÿ) µˆ¢à__‚F 3F6îYó+¼¸50ÖÈ»MMN!Éâ âuF–`ü4.ÝÇæiý#Þ4âøçFpûàîÑðÑ/ðÂVàø Æ» ˜ÔxâùN*ì[B¨3°„ÓX™áþÜCØÃÿiÿ³_À³Ÿÿ¹û)xÚ¼à=Ÿ°²„P'„aIÒ(Š’ËåG£ÑDþêw~úÕ?Dz‡ŒÿcúÕó{þÁ{@ñT³€ŒËƒ(µ¿É z!ñð$ir¹\­VÛl¶”””È_å4ÂH“‘ TÓZPS¶ 1æ }º9åryèò‹Š K’&“Éhš®®®$,ýiDB“ÈÓâ,¬|³F¼à…,‚S ÀÏÂè —L¦ eŽBᇓIN§s¹\eee‘¿4ÇËGþðþÃÿ;øßìò#ÿ§Xü~ðûàÆÁlä)„PamIê´ZmTTÔ™3gxžÏÈȈä¥Imé" tT #ø?ÊmSp,°~xgriO£6´FE†%©“Ëåqqq~¿¿´´´¦¦&)))!!¦é\º±?¨q•¿fCÃ:/hUÀÆS8xx8–N*¾>[ƒKuF–¨TªÄÄDµZm·Û?îõzY–åyžéëæƒâ¼®)—žÈ‡}Ǩ™>ñ £Ì 7bú¦jU*ìUB¨S¢jjj„ÎÇq>Ÿ9ã¸ÐƤp##Ý•J¥J¥R©TJ¥R&Ã~S„:%¬-!™L¦V« …Z­Ô“¸N*¾WˆHÊE‘à„mwuj–Ðð;!$8lè@!$"–B‰†%„B"‚a !„ˆ`XB!$"–B‰†%„B"‚a !„ˆ`XB!$"–B‰†%„B"‚a !„ˆ`XB!$"–B‰†%„B"‚a !„ˆ`XB!$"–B‰†%„B"‚a !„ˆ`XB!$"–B‰†%„B"‚a !„ˆ`XB!$"–B‰†%„B"‚a !„ˆ`XB!$"–B‰†%„B"‚a !„ˆ`XB!$"жtôèÑpç8p`¨’²C‰D¿Ù¨ššš‹ßáü K`³ÙB•–BH$ÚøÍ†x!„D¤Mµ%„B(2°¶„BHD0,!„ K!„DÃB!Á°„BHD0,!„ K!„DÃB!Á°„BHD0,!„ K!„DÃB!Á°„BHD0,!„ K!„DÃB!Á°„BHD0,!„ K!„DÃB!Á°„BHD0,!„ K!„DÃB!Á°„BHD0,!„ K!„DÃB!Q$<Ë9ùÁ3òãgeµò*‡Ìî¦À@óÝô\zÛ?É?$•5DzBgSrGuuµÝn¯¯¯w¹\4V«ŽŽ6 ‰‰‰z½^èlJ–NøP555Bç fŸE±ë¤2×¢²»e 9È(Q@Q<~ 4—cfÆ÷ö 7û…β$TUUUTTTVVêõz½^¯Õj5J¥†a<Ëår8‡#99Ùd2uëÖMè,K–N¸aX’¨ò:ùæÃÊ]'ÕnŸL)ŠêGò<>h%7¾·÷æÁ¾”¬9…‹Óé™úNéª ì”É'i18É(pûd»N*/–Ün÷¢E‹¶mÛÖ¾œwmV«5###66V£Ñ´û[Ëå&666##Ãjµ^ô‹¯¬¬löìÙN§“¢¨¿üå/ƒ Òh4yyy[·neæ?ÿùV«ýë_ÿÚ‘,uv–Åýû÷ŽŽn~@Ÿ>}:’1ð$ –sò\‹JyÛ*0vHlN:ß×H@Qä–²,''Á©ÅȤ”C®Ee9Ç´2DAAÁ³Ï>{æÌèÙ³§Ïç³X,!ù¥º‡Ãa³ÙrrrÚÑ:Ô"…BAÓ´ÉdÊÍÍu8­Ï2°cÇ§Ó óçϿꪫÈÎk¯½vܸqO>ù¤×ëݹs§”Ã’°¥S]]M6æÍ›×·oߎ_½Á9ñ$áà¹Ý-k±AŽÄ$–eýëïW-½SûðÕôÃWÓoM§7< ÊNõ³,KŽi~.EÝ-;x¦µ§È-[¶˜të­·®ZµÊh4†èwê Î;—`0H÷CÇ$=ƒ!!!áܹs­¼k×.ÈÊÊ Ä$bøðáC‡€cÇŽ‘FWi¶to”¶¥¹¯‹ÁÚ’$?«P\xôÇqŒìò»h¥üO‡˜båïÎÐ>ô±ëЪŠ@!‡ãg7 dZ¹ºÁ`xî¹ç®¸âŠöÿ]”ÃሠշA¾ûbccëêêZ9Œã¸©S§ò<ßâ“x\\ð<ÂŒu:–œK2™Ì`0„êê†%I(«•·8›Cc5ˆg_¸IÕ$&r¼0I}Û2†ç[nÊ“QPVÛZméòË/¿çž{$øÄ×n·;---0G@HqÉÑÑÑV«µ•Ãd2Ù­·ÞÚâG>Ÿoß¾}‘‘!åÉF,8–bccÉaCCCIIIBB‚^ÈŰ$ UÙ…&â8.+™ížH_è\S¬|h—káZ¬0É(¨r´Ö|ùå—_bf%„aš¦[y+³Hj4M3LkUØ ©««{î¹çΞ= ‰'lé°ÿ믿¾þúëdJJʨQ£yäµZª\‰ †%I°»)Ýþó<ß=kù³óz&ò¿—µÐ·ÝKÒmçé –e5MÈÊ(ŠÒh4,ÛÖWÊJJJÞ}÷]žç+**ÊÊÊ8ŽÓëõ³gÏž0aBh3Ö¹[:dÈÁܳ[^^¾qãÆ²²²E‹uÕwŸ1,IÝ…†3ã8î¢Ç ví“x»S¶Ùl?ýôSðžÑ£G0 ùêL„-R[bY6&&fÖ¬Y£GV©T‡Z½zuqqqnnî‹/¾øÚk¯…#{‚ð$ šgØ–ožç +/òâщ ?Ï+[üˆçÁ@cÄj'•Jåõz5Mh“åyÞëõ¶ýQ:99ùöÛo€úúz‹Å’——÷Í7ßìܹó¾ûî»ûî»C›·NDØÒ±Ùl ×ë?øà³ÙLvNœ8qøðá÷ß¿Åbùá‡\.yK·‹Á°$ ÝôœÅÞr÷’L&;PÆY½½Œ-7ó±ù~;Åi´-w qŸÏ×ò¢Y™™™QQQ å)9„-3gΜ9s†LÃq!]u06âIÂTÖ@s =Èd2¥R©Õjó+¹ÿ{¥bTOE–YE+÷ýrÒGÉÕ:–¬.Óú(ÌŸ?ÿꫯnòi}}½Ëå€Nש X:‡cÚ´i,ËNš4é™gžiòi^^Ù<{öì¼¼<†axž/++{ë­·Þ}÷]rŒ”§jáJÆN§óî»ïþé§ŸœN'Ã0ûöíûÇ?þQ\\ &LÀ÷–Pç6ÜìßÛûe>}¡ee2™J¥R*•äö£Îk15À뇉™Þ6.¶„.$&&&!!Ájµ’ Ú²òi‹xž÷ûý~¿Ÿ,šsÑS}ôѳgÏîß¿ÿøñã÷Þ{/YGÕëõ’Oãââ.\˜ššÚŽÌt–ΤI“JJJÖ¯_o³ÙæÌ™CQTp\ü¿ÿû¿æ{]Ö–$äæÁ¾,£Ïw±˜'—ËåòVÓy YFß̓/¹ªDÚ[ì©’,£Ñh·Û­V«ßïoßS9y'ßzv»½Ó´ †·ß~ûŽ;î Ëù°,Kb’Z­1bÄÊ•+ t©9éz„*™LöÄOÌ™3'11‚–èT*•“'O~å•Wºp·˜>IÁoeŠöjËëäÊ O(Þ:“RbØûF¹.KǪRhÔÕÕY,–=z$&&*ŠKz*<‰WWWŸ:uÊl6·åa¼ «Õzâĉúúú¾}ûöêÕ« 嵃à¥SUU•ŸŸït:ccc333»üœâ–$gw‘rí>º}‘)“îî× {•B©¶¶¶¼¼Ül6F…BÑz…• #»Oâ‹%%%¥-ýèRaéDö-Iθ^>Zɯ? É³*Õ ¸ÐÌâÍqþ<2²Ëår‘Ö¡ö=‰£¶ÀÒ‰$¬-ITy|óa宓j·O¦”E]°æÄð<øX2îÎ{ó`_J ޝ×kµZkjjÌfsBB‚N§kòÝü­çt:kjj,KBB‚Ñhìª/WŠ–Nd`X’´}Å®“Ê\‹Êî–)ä £@Fyòãyàxàxð³` ¹33¾·ÇÝEF]]]mm­Ýn7 QQQz½^­V“ï5¯×ëõzGCC9 ..Ã# K'Ü0,!°œ“<#?~VQV+¯rÈÈúIšï¦çÒãØþIþ!©,¾3y§¾¾ÞétºÝnÇC^zU*•†¦iNòù­Qa鄆%„B"‚¯ „ K!„DÃB!Á°„BHD0,!„œåÃᨮ®¶Ûídñ7ÇF«ÕFGG †ÄÄD²6Š$,1ÃÒ  .iUUU•••z½^¯×kµZFCqaÆãñ¸\.‡Ãáp8’““M&S·n݄β$`¹ˆ–N¸aX’(§ÓyêÔ©Ó§OÆÄÄDNGVFL@I&Pá8Îçó9Îêêj«Õš––Ö£GN'tö»,,1ÃÒ‰ KRTUUUTT¤R©L&™:E¥R5™9xþc†aÈ”* ÃôêÕ ÃËḚt"û–$§¢¢¢  Àh4šL&š¦iš&wW`ÒÉÀ‘Á!3 £Ñht:]EEE~~¾ßï7™Lþ]–‹˜aéD†%i©ªª*,,4›Í&“I«ÕÒ4MZ!Z[ç …J¥"óQªT*•JUXX¨P(ðé/T°\Ä K'Â0,IiOIIIKKÓét4M·eMrï‘ÅÔÉÒœr¹œã¸S§Nétºv´˜³,KlïïÑÕˆ¤\P‹ÄS: Ã]†% )--Õétéééz½žÜ]—t:EQJ¥’Üoééé§´´433³§óÍ7GŽ9vì˜\.ÏÊÊ4hÐm·Ý†Óþ [.Á¼^ï[o½E&ÃNMM½ë®»Ú‘H#xéìß¿íÚµ………6›Í`0ôíÛ733óÎ;ïÔjµ—ø«t8äA*jjj:”“““˜˜¨Õjåry»“bYÖårUWWçææfgg'$$\ô”ÜÜܧžzÊív7ÙŸ‘‘±dÉ’¤¤¤vg¦³¶\šX¼xñúõëÉvÿþýW­ZÕîÌt –Ïóÿþ÷¿¿øâ‹æedd¼þúëf³¹Ýù3¬-I…ÕjÍÈȈÕh4¹»@.—k4𨨨ŒŒ «ÕzÑì÷ߟ3gÃ0jµú†n8p`mmíîÝ»9RZZzï½÷nذA²+ÓX.M>|xÆ É@×#lé,]º”Ä$½^óÍ7÷ìÙÓf³}ÿý÷G---½ÿþû¿øâ‹.Ù¬‡íû’àp8l6Dt©­-R(4M›L&›Íæp8Z?øóÏ?'C’/^üÏþóÚk¯>}ú²eËÆÕÕÕûöíëx–:#aË%Ã0 ,à8.!!aÀ€ÏI l锕•‘škjjêúõë|ðÁk®¹fúôéï¿ÿþäÉ“ ¶¶v×®]Ï•aX’„sçÎ%$$ ÒÌÝñI‹¹Á`HHH8wî\+GrG¢Î„ †Ø/—Ëï¿ÿ~²½wïÞŽg©3°\šøðÃËÊÊ`Þ¼y8e!lé¬\¹’eYX°`A|||`¿\.ࢢ¢~üñÇŽçJ„°OGlll¨î.‚Üc±±±uuu­V]];räÈ&¥§§+•JŸÏWQQª\u.–K°âââµk×Àĉ¯¸âŠÏ>û,T™éÔ,ŽãȳÚèÑ£ûôéÓäÓ˜˜˜mÛ¶…*K"„aIÜnwZZZà]ô ã_£££­Vk+‡%%%]èk®ººš úêÑ£G¨rÕ¹X.ǽöÚk,ËÆÄÄ<ñÄ¡ÊF `éœúèÙ³gà™gž¹ì²ËB•ŸÎHÀrñù|‹-€ÔÔÔ3f„êê]‰€¥“œœL6âãã1)à¾ûî‹‹‹€ƒ†*c¢‚aIhšv8á¸ÁGÛÃ’ÛíþÇ?þAÊzè!ḭ̀\Ö­[WZZ Ó§O·Ùl•AÈQçÌ™3gΜ!ËK€¥KC† iñ€AƒÀñãǽ^o¨ò&؈' :®¡¡ã¸ÐÞ`Ç544´q:dŸÏ7wîÜüü|¸÷Þ{ñ -—'N×_½ÅJJJH7ƼyóÈ´R#`é–eòûý­æ÷û9Ž UÞÄkK’c·ÛNg¨î1rw9N»ÝÞ–)À9Ž{ñÅÿýw˜1cFóv i¼\P+,¸¸8ÒçzèÐ¡æ—æyž4ßÅÄÄ\Rzgµ%IÐh4ƒ¡¦¦F§Ó‘5`:˜ Y|³¦¦Æ`0´¥Oøõ×_'ówM:õ¡‡êàÕ» Ëå‘G¹óÎ;[üháÂ…f³ù¥—^ÉŽ†°t(Šºûî»_zé%»Ý¾lÙ²|0øÓåË—“¡zW\qE³$N–¤"..®¨¨(11Q.—wðÅužçÉ,ý‹¥-Þ{ï=2²Éd0`Àÿþ÷¿&PuÕUWuùw×[$T¹F£ÑØâGQQQ@&hwfº'~øá‡gΜY³fËåºñÆ{õêUTT´mÛ62Ñ{TTTWm Çõ–$¤¬¬L­VwïÞ]©T¶e…Íñ<ï÷û}>_II‰×ëMOOoýx›Ívýõ×_4Ù]»vuáeÍZ'H¹´âá‡Þ·o®·DX:………O=õT‹ÓEGG/]º´oß¾íÈŒøaß’„F»ÝnµZý~?˲íh.'O|~¿ßjµÚíö =n_*‰¯¡.¶r!e!ÍÊks–NŸ>}>úè£Ñ£G7)‹~ýú½ûî»]5&Ö–¤¦®®Îb±ôèÑ#11Q¡P\ÒÓyâóûýÕÕÕ§N2›ÍØ©*X.b&xéx½Þ'Nœ9s†,ßÞ½{÷KM¡sÁ°$9µµµåååf³Ùh4*ж4š“D'>‹Å’’’B^èC¡‚å"fX:‘„C$'..N.—“·&F£V«U(äk2UAär¹H+>‡–‹˜aéDÖ–$ÊëõZ­Öšš³Ùœ@†ÀßcÁw—Ó鬩©±X, F£Q­V ý. ËḚt"Ã’¤ÕÕÕÕÖÖÚívƒÁ¥×ëÕj5¹¼^¯×ëu8 䀸¸8|Ü‹ ,1ÃÒ 7 K<O}}½Óét»Ý‡¬«T*5 MÓ:.:::äó(£‹Âr3,ðÁ°„BHD¤û²B!°„BHD0,!„áÃR—\Æ !„Pûó:­ÃáX»víæÍ›ËÊÊl6[BB°aÆ víµ×0@,!„FâýòË/3gÎkÖ¬S§N_Ëf³‘s¿ÿþûuëÖ]yå• 7nœÙlž7ožÛíæy~íÚµ™™™ƒ ?~|FFƵ×^[TTÔäwihhØ»w/˲—ø/ŠB]Mäñòòò, Œ=º•¥ìß{ï½Ó§OY˜„eYòeí÷û›I‹lòÑòåË_xᲟ¢(²”äîÝ»ùå—uëÖ‘†ÁÀ‰äÇàsæÌY»vmð1>ŸoË–-رcG`}É@ö¾ûî»>ø ‚ßï_±b…Ýnïׯßüùó‰0 ³o߾ɓ'oß¾Ýl6“•••#GŽt:999;vì¸Ø?$Bue‘«-˲={öܲeKyyù.\(“Ɇyæ™gÈa7ß|snnîÇL~|ýõ×ssssss¯»î:²gáÂ…$& 4è7ÞøùçŸ×®]KÆž>}zÚ´i M.ýþû罹¦._¾|Ïž=Ï?ÿ¼Éd€7¾úê«ñññï¼óÎÏ?ÿ¼xñâ¡C‡€ÕjݸqcàÜ;w:NÈÍÍ­¨¨¸Ôß!„º’ÈÕ–ª««ÉFøÞLúé§ŸHOÒ‚ .¿ür0›Í÷Þ{¯ßïÿúë¯Àápèõz­VÛ½{w—ËEÎ2™LÁ‹Ÿ={ö7Þ€ÔÔÔ 6ÄÇÇ@ß¾}¯½öZ…B±fÍšüüü>úè‘G ¾tllìÆI:™™™ÉÉÉ>ø ÈåòÍ›7gff’DÆŒ3lØ08xð`àÜ &èõz‡Ã1bÄÏBH²"W[²Ùld£wïÞaºD Ò4鈺ÿþû¿øâ‹/¾øB¯×_4‘C‡‘7ÞxƒÄ¤€… ’æ»À1&LŽm7Ýt¹Vvv6‰IDzz:ù±¸¸8°Óh4æåå}ýõ×Û¶m»ø/‰B]ZäÂ’N§#á{7''‡,p²dÉ’±cÇ®X±¢°°t/µ] ä >¼ÉG*•jàÀÐRX"­sjµÚ`0@¿~ýšIÚ09Ž Þ©×ë‡.“ ?B +r߃‰‰‰dãØ±caº„ÉdzçwºuëùùùóæÍ=zt¿~ý^~ùå@]í¢HÈ1$®4AÂLYY™ÝnÞ¡ž0²”2B¡6Š\XJNN&á K0yòäýû÷ÿë_ÿÊÊÊ"•›ÍööÛo:tÍš5mI¡õÚU Ì\j% !„P[D.,9’¼«”››ÛÊ[¥G]½zõêÕ«›ÔošŸr¡ MÓ?üðîÝ»Ož<¹víZò"”Óéœ;w.zÞº!C†€Õj­««kþéñãÇ ===66ö¢I!„ºT‘ KfüøñPVVö /´xŒßïŸ={ö“O>ùÒK/‘f±˜˜òy»6ØZ¿bLL̵×^»~ýú'Ÿ||>_‹§4 xÙÙÙdcß¾}Íúˆ\å®»î á?KAAÁرcŸzê©k®¹¦É=„’šH/lñòË/{<žÕ«W{½ÞeË–-[¶¬É={ö\¹re`|ÌŸ?Ê”).—kÕªU«V­ ìŸ6mZ“ ÓäÉ“?üðÃýû÷ÿøãW^y¥J¥òù|dlMÓ ,MÓôøñã¿ûªªþóŸ°|ùò[n¹ž~úi«ÕúÉ'Ÿ:t¨ÉXðÔÔÔõë×GEE…ì_`ÿþýdÃb±TUUf6B! Šô‹¾ì IDAT2r¹|Ñ¢Eï¿ÿ~VVV“âããï¼óÎ]»v¿ Æ [½zuvv¶BÑD£¢¢^xá…gŸ}6&ÙP©T_}õÕܹsSRR€ažç£££Ç·sçÎ)S¦4¹âÛo¿}ÿý÷‚æ^´hÑœ9s{ Å7Þ¸iӦసt`£ÉGÍ_E"ûƒ¿á†ú÷ïOQÔwÜ1 !$q¬NPXXXZZZUU•0hР‹Î»ãv»‹‹‹£¢¢ÒÒÒ.úæiCCCYYYTTTzzzëGúý~§ÓÉq\óÁu,ËVVVÚl6š¦SSSI/W˜‰‘—>Bu B†%„B¨ œí!„ˆ`XB!$"‘‰‡DÈápTWWÛíöúúz—ËEÊk4­Vm0±ß+ò°\Ä K'|°oIÒªªª****++õz=Y‰J£Ñ†ñx<.—Ëáp8Žääd“ÉD¦ÁEá†å"fX:á†aI¢œNç©S§NŸ>m4u:R©”Éd2™Œ ”çyžã8Žã|>ŸÓ鬮®¶Z­iii=zô¬Q‚BËḚt"Ã’UUU©T*“ɤ×ëÕjµJ¥R(r¹¼É Ʋ¬ßïgÆëõ:ŽŠŠ †azõê…€á€å"fX:ƒ}K’SQQQPP`4M&MÓ4M“»‹ÜZÁïóý… –‹˜aéD†% !-ã)))iii:ަi…BqÑõsɽ'“Éär¹B¡ ­Ç:uJ§Óa‹yljª\† L®@d¥#–$¤´´T§Ó¥§§ëõzrw]ÒéE)•Jr¿¥§§{<žÒÒÒ&¶Å_|‘——<ð@ðR#’%x¹¸\®­[·~ûí·åååv»=..nÀ€YYYW^yeÏž=/ñ·éj„*?ü°ù"sÁºuë6{öìKÊLgC¤¢¦¦æÐ¡C999‰‰‰Z­¶ùܲmDz¬Ë媮®ÎÍÍÍÎΞж-çÞpà ç΀GyäŽ;îhw6ºÁËåàÁƒsçέ¯¯oþ‘J¥zê©§n¸á†vg©³°tf̘AŸ»ŒŒŒuëÖµ;?b†µ%©°Z­±±±¦#wÈårF›‘‘aµZ/),íÝ»—Ä$ؾ};†%aËå—_~™;w®Ï瀄„„‰'&''WVV;vìСC ÃÌŸ?ÿĉsæÌéHÆ:/Á›/¶@táÑ–$ÁápØl¶œœœv´B´H¡PÐ4m2™rss/iîó¯¾ú d2ÇqÅÅÅ………}úôéx~:)aËÅáp,X°€Ä¤‰'>÷ÜsÁ½J»wïž?¾ÃáØ¸qãØ±csrr:ž½ÎE wM¯^½–.]ÚñKw.8'ž$œ;w.!!Á`0fîŽ'HZÌ CBBB ösQ ?ÿü3Ü~ûí4MÀöíÛ;ž™ÎKØrY³f iÃïѣdzÏ>Ûd¤Ã¸qã/^L¶7mÚÔñ¼u:"¹k$Ã’$8ŽØØØPÝ]¹ÇbccGOÙ¹s'Ã00iÒ¤qãÆÀ7ß|òl¨²Ôé[.ß~û-h4š×^{M­V7?`àÀ£F€ü±ºº:T9ì,Dr×H†%Ip»ÝÑÑÑwÑC‚ŒŽŽv»Ým<…´àõíÛ7==}âĉP[[û믿†*KŽ€åròäI2ÐkÈ!­,•ù /¬ZµjÅŠ111¡Êag!’»F‚0,IÃ04M·òö_;Ôhš& ‹²X,d\8 H#FŒ ËK¹OÀr)--%½zõjå°ØØØþýû÷ïß_‚/3‰á®‘&ò ,Ëj4šÞ]EQ¦­p;vì §L˜0ärùøñã7mÚôã?644DEE…6o‚€åèÛÀ7“.D wMIIÉܹs[üèöÛoÏÎÎiÖÄÃ’$„ö‰¯)óŸR©lñ°‚‚‚cÇŽÀ¸qãÈÈIéö®‘2 K’SQQát: —u0Arw9N»ÝžœœÜúÁ¤O­V/_¾¼ùCâªU«–/_^YYyèС!C†t0c‹€å¢V«Gµ{÷îòòò%K–´8ë˲/¾øbii©^¯î”aï)Ã÷–$A£Ñ †šš¿ßÏq\Ç$‹oÖÔÔ †Öû„«««÷íÛcÇŽm±á‚ŒI¾À$`¹ÀÌ™3e2lܸqçÎM>eYö½÷Þ#¯7Mž<90DB:„-)ÃÚ’TÄÅÅ%&&Êåò>úñyòäÇLšïÔjõ´iÓÚ«NMÀÒ!jkkÿ÷¿ÿµøQttô…éuv–¤"&&&!!Ájµ’×Û²Âf‹xž÷ûý~¿ŸLÎÑ9iH(::ú²Ë.»Ð1&LÈËËs¹\{öì¹Pôꪄ*âÑGeæóÏ?÷z½ÿýïÿûßÿ69Àl6/X° 0>Bj„-(//ñÅ[ü(##£«†%lÄ“£Ñh·Û­V«ßïgY¶¹ä‰Ü]v»Ýh4¶~|iiiII Œ?þBêpõÕW“ÅlvíÚu©Yê"_.r¹|îܹ/½ôRóåEbcc'Mš´zõê¶?ÚwIB•i_íÈ®N+-uuu‹¥G‰‰‰ …â’žþO|ÕÕÕ§N2›Íœ¾3LÄP.¥¥¥ååå6›-66¶oß¾É8JGR0,INmmmyy¹Ùl6 …¢-ædQà‰Ïb±¤¤¤ÞÇD!å"fX:‘„}K’'—Ë+++Ýn·ÑhÔjµñ¯M¦êâÏ##ˆ\.i…À'¾pÀr3,HÂÚ’Dy½^«ÕZSSc6›t:]“{,øîr:555‹%!!Áh4Jm°\$a¹ˆ–Nd`X’´ºººÚÚZ»Ýn0¢¢¢ôz½Z­&÷×ëõz½‡£¡¡‡{‘å"fX:á†a Ç㩯¯w:n·Ûãñø|>P*•†¦iNoÿE–‹˜a鄆%„B"ÒeG¾#„êŒ0,!„ K!„DÃB!Á°„BHDp–‡£ººÚn·×××»\.ÇF«ÕFGG †ÄÄD½^/t6%ËḚtˆKZUUUEEEee¥^¯×ëõZ­V£Ñ¨T*`Æãñ¸\.‡Ãáp8’““M&NßX.b†¥n–$Êétž:uêôéÓF£111Q§Ó)•J™L˜€’L ÂqœÏçs:ÕÕÕV«5--­G:NèìwYX.b†¥–¤¨ªªª¨¨H¥R™L&2uŠJ¥j2/rðüÇ Ã)U***†éÕ«>†–‹˜aéD ö-INEEEAAÑh4™L4MÓ4Mî®À¤“#ƒ'BfF£ÑètºŠŠŠüü|¿ßo2™ü-º,1ÃÒ‰$ KÒRUUUXXh6›M&“V«¥iš´B4¹µ‚ñ<¯P(T*™R¥R©TªÂÂB…BO¡‚å"fX:†aIBHËxJJJZZšN§£iº-ël’{O&“Éår²4§\.ç8îÔ©S:[Ì;ËḚt"Ã’„”––êtºôôt½^Oî®K:¢(¥RIî·ôôtÇSZZš™™yÑ?üðÃÊÊÊ&;•Je=úôéÓ¯_?‰/E#ªr!#›{öì9tèP™ ßkWé6lØ_þò—KÊLgaI*jjj*++srrÈV¹\Þ¾t …V«³Ùœ›››”””Ðú)»wï>yòä…>MJJzóÍ7{öìÙ¾üüÿöî<¾©*oøï$]Ò–î…–.P l,X*"Œ# ^ÑóÎ0¯€ãÂ&㋸0(ˆÂ€ˆà ŽÈ¢à Èú2*±(‹ V(‹Z@ºA×´Mš{ÏûÇioÓ´”@Óæ4y¾æÎÍÉÍíI®É“sî¹'-ÌÇeüøñ)))7m¸0iéõzÄ´lÙÙÙ±±±ÁÁÁƒá¶ß]‚^¯7 ÁÁÁ±±±ÙÙÙ7}ƒ ~~~}úô늢œ>}º°°ˆrrr¦L™²zõêÎ;7¦V-”Ó‹OÏž=źÙlÎËËËÉÉQ%''gùòåG?¾Oc*ÖrIutltìØ±1õ‘bÉ-”––^»v­oß¾·Ñ Q/ŸÈÈÈ#GŽ”––Ús5{ÇŽ—.]ªÝTUõÔ©SëÖ­Û·o_YYÙ×_톱$Ãq‰‹‹ûÇ?þa]rýúõ;v¼÷Þ{Š¢|÷ÝwK—.;wnãëÖâÈytÜúŽÝBAAAXXXPPèænüEyPPPXXXAAÁmìA§ÓõìÙsÁ‚â'¥9ÒøZµ8" ™8qâK/½$ª´k×®4¾n-ŽœGÇ –ÜBiiipp°£Þ]‚x—––ÞöN¼½½cbbˆÈh4:ªb-ˆ´Ç…ˆ’““Ÿ~úi±¾eËGT­…‘ùè¸6Ä’[(//ЮEw1þ5  ¼¼ü¶wRQQ‘™™IDwÜq‡£*Ö‚H{\„?þñ­[·&¢~øÁ ?F%?:. ±äÌf³OWÿݱ7³Ù|{{¸téÒóÏ?_RRb0&L˜à¨Šµ rkݺu#¢ÊÊÊ‹/6~o-‹üGÇUaȃ[PÅ`08|¤/cÌ`0(ŠbÏÆ3fÌëùùù¿ýöç<::ú¯ý« +j€ Ç¥aݺuûî»ïˆÈ 'Ï”áè>|¸n¹¯¯ïFè¹Ä’[pì7¾ÛÛsYYÙ?üP·<>>^UUG׫eá¸4,..N¬ˆÑünE†£“™™9}úôºåáááÛ¶mst½dXr ^^^&“É`08v·œs“É$~iæ¦BBB´«ÿ8çÅÅÅÙÙÙiii_}õÕW_}5qâħžzʱՓŸ Ç¥aׯ_+âjP·"ÿÑqUˆ%·àããc2™ÄÜÆŽú(öf2™ì¼Ö2**jÚ´i6…999/¿ürzzúÚµkããã 亵2—†ýòË/b%44´ñ{kYd8:Ý»wçwê–;ä:*iaȃ[ðññ)--o GíSì­´´´1ááá‹-ïùC‡9ªn-…´ÇE£ÅRÛ¶m¿·–E†£ãááá_מw±äüüüJJJTUuìLUÕ’’’FN‡*&b9uꔃªÖbÈ|\ˆèÂ… DÔ©S'7ü¡ ÉŽ C,¹…ÀÀÀÂÂB£Ñè¨÷˜xwÆÂÂB1MÃm3™LâFTTTã+Ö²È|\rrrf̘a±Xˆhذa¯[‹#óÑqmˆ%·`0‚‚‚òóó-‹C†½‰ßÌÏÏ jÌ9aUUßzë-1Xöî»ïn|ÅZiK^^ÞŒ3rss‰¨}ûö)))¯[‹#íÑqy®|Þ ¬…„„œ;w®uëÖz½¾‘®sÎE)++ËÊÊÒßTAAÁ·ß~«Ý4W¯^ݳg¸NÓÛÛ;))é¶«Ôr9ý¸\¿~ýË/¿ëbñ3gÎ|ÿý÷â»B«V­^yå·ýA,§÷„XraaaÙÙÙâÂu{~a³^œs‹Åb±XÄäüö÷E\¾|yΜ9õÞñ÷¿ÿ=<<ü6êÓÒ9ý¸\¹reÞ¼yõÞÕ¹sç7Þx#::ú6êãœ~tÜbÉDDD\¸p!;;»mÛ¶Œ1½^«ï1ñO¼» ;tè`Ï£êý‘S½^Ó¥K—¸¸¸‡~8((è–jâJ¤:.mÚ´éÔ©Srrò]wÝ…¨uîÑiä<µPÌ çqgEEEYYY;vlݺµ‡‡Ç-}ûÓ¾ñååå?¾]»vøÒç(8.2ÃÑifúÙ³g;»Ð| ƒ§§gVV–^¯×®Û¿éT(b‘Ö qñâŨ¨¨àààf©²[Àq‘ŽN3C'žÛ ÑëõW¯^-//ˆˆðõõõðð§smÞi¼šxw•••‰^|ãk 8.2ÃÑiNèÄsS&“);;;??¿]»vaaa~~~6ï1ëw—ÑhÌÏÏÏÊÊ ‹ˆˆpÛqYÍÇEf8:ͱäÖŠŠŠ®_¿^XXäïïߪU+oooñþ1™L&“©´´´¤¤Dl‚¯{ÍÇEf8:M ±TQQQ\\l4ËËË+***++‰ÈÓÓÓ`0øøøøùùàê¿æ‡ã"3¦ƒX‰¸ûE ÄH±A,€DK ÄH±A,€DK ÄH±A,€DK ÄH±A,€DK ÄH±A,€DK ÄH±A,€DK {6JOOoêz€µ^½z9jW8v ;?ÙX~~þM7 mt}à\»vÍQ»Â±IØùɆN<ˆ]­%€æÖH±A,€DK ÄH±A,€DK ÄH±A,€DK ÄH±A,€DK ÄH±A,€DK ÄH±A,€DK ÄHÄÃÙ€&·ÿþº…œóæ¯ ¸ ÆXÝÂØóXÄ’[4h³«n-55ÕÎ-Kî"00ÐÙU7UTTdÿÆ8·A,€DK ÄH±A,€DK ÄHÄ].§={vEE…=[>úè£lêúÈ ++ë7Þ0™LmÛ¶]¸p¡³«@ä>±´qãÆòòr{¶ìÑ£GSÄÒ–-[Nž<õøã;|ç·aóæÍO<ñDaa!uêÔ ±’p—X4hPYY™vÓl6:tˆˆ"##ãâ⬷l×®]ST`Û¶m»víêÕ«—Óc©´´túôékÖ¬qn5êå.±´aÃ뛥¥¥±±±D4vìØ¿ýíoΩ“3¤¥¥=öØcçÎ#¢^½z™L¦_ýÕÙ•¨! )))9uêÔ‰'Dg— xÿý÷E&=óÌ3‡nß¾½³kP b©~G}ä‘G:tèpß}÷ <8...99ùàÁƒÚùùù]»v½ë®»Š‹‹­ûý÷ßÇÆÆÆÆÆÎš5‹ˆÃÃÃwíÚEDéééáááááá÷Þ{¯¶}IIÉÁƒEiž§¶}ûö+V †æù‹öC,ÕãôéÓ>ú¨Í¯ƒ>|xܸqéééâfXXØÌ™3KKK/^¼8þ|m3“É4kÖ¬ÒÒR//¯9sæQee¥uä(Š¢(ŠÙl7¯^½Ú³gÏ‘#GŽ1¢ÉŸQrrò±cÇFŽÙ  à6 –låääŒ?¾¸¸ØËËëÕW_Ý·oßwß}÷ꫯzyyÆñãÇÿöÛobË'Ÿ|R4zÖ®]+PѲeËΟ?ODK—.mÓ¦ íÞ½ûÈ‘#÷ÝwÅÅÅ9räÈ‘#[·nÛïÙ³Çh4Ñ‘#G´=7#FDFF6õ_¸mî2äÁ~K–,¹|ù²‡‡ÇG}4tèPQؽ{÷èèèÉ“'gggôÑG/¾ø"1ÆV¬Xqß}÷?û쳩©©çÏŸçwˆhìØ±?ü°xlTTùûû‘O‡¬ÿÜ!CZµjUZZz÷Ýw#0ÐZ²•––FD÷ÝwŸ–I¨Q£âãã‰èøñãZattô¢E‹ˆèìÙ³o¾ùæ¬Y³*++###/^l矋ˆˆ8qâÄþóŸ;w:ì9´Xh-Õb6›OŸ>MD{÷îµ¹7 €ˆŽ;f]øØcíÞ½{ÇŽo¾ù&1ÆÞyç[ú…òV­ZÝu×]­:€K@,ÕrêÔ)1á‹/¾øâ‹/êÝ&/////¯uëÖZÉÒ¥K:”——GD'NYwƒóçÏÿë_ÿÚ·oߥK—ŒF£¯¯ottô=÷Ü3yòä®]»6ò¯GEE™L¦Y³f½øâ‹ÜU“º|ùòòåËÍfsxxøK/½äìêØº…ÖÒÎ;Ožûì³N:9¢V¦ªêüùóW®\É9× Fã™3gΜ9³fÍš?ÿùÏ‹-òðp¶c½¶mÛ6kÖ¬¢¢""ŠE,€„nùƒ¸U«Výû÷×næææž;w®¬¬ìÒ¥KÇÿì³ÏzöìéÐ6ç|òäÉÛ·o7ûôésÿý÷‡„„íÛ·ïСCDôÑGeeemܸQ¯×;µ²MÅh4¾ðÂ[Ó@mšIDAT Ÿ|ò‰³+p·Kñññ›6m².)))yå•WÖ®]›ŸŸ?oÞ¼Ï?ÿÜqÕs€ 6ˆLÒét|ðÁÃ?¬Ý5{öìo¾ùæ¿ÿû¿Ífó7ß|óî»ïN:Õy5m*ééé?þø… ˆ(>>Þd2edd8»RõsÀÙ ÿ¥K—öë׈>l6›m6PåòåË?ýôSff¦Åbi`Wœóììì´´´ÜÜÜ›þÝœœœ´´´ß~û­mJJJæÍ›'ÖçÎkIÂý÷ß¿hÑ"±¾hÑ¢¼¼¼ö–‘‘qæÌ™ÊÊÊ›ÖM*ëÖ­™4iÒ¤¯¿þ:&&ÆÙ5¸!Ç R`Œ=øàƒDT^^ž––¦•[,–E‹ÅÇÇ÷îÝ{èС‰‰‰]ºtùÛßþV7ºŠŠŠ,Xйsçž={2$>>>>>þñÇ¿~ýzÝ?·sçΤ¤¤=z 2äŽ;îèÞ½û‡~¨ªjÝ-¿þúëââb"3fÌ´iÓê­üŸþô§?ýéODTQQ±sçN­|Μ9áááÇ7O=õT|||¿~ý 3iÒ¤†‡ŠLš4)<<<::ZœÈ±‘˜˜>lØ0­äøñãW®\i`‡úñÇ/^¼Ø±ãÎacç<==ÅJyy¹VøÜsÏ-]ºôÚµkZIqqñªU«¦OŸnýXUU'OžüöÛoj…¹¹¹Û·o衇l†ÿ}ûí·“&M:{ö¬V’——7{öì… Ö­ÕŽ;ÄÊã?Þ@åµ{­c©²²RQ”²²²I“&mÞ¼YkÀY,–mÛ¶=øàƒuÃU3|øpEQ***vïÞms×Ñ£G333E>|¸(™;wîý÷ßçwîÙ³§JÞ¶!C†¤¦¦Z§ €´K+:t+Ë–-Û°a 8pÆ ÇŽûøãï½÷^"úì³Ï/^¬=vÉ’%{÷î%¢¡C‡~úé§iiikÖ¬5jeddüóŸÿÔ¶¼xñâ”)SEÑétùË_>ÿüó/¿üò…^ ûàƒêÖêÌ™3b¥G T¾k×®^^^ÖÛkÒÓÓ÷ìÙ3fÌQ±M›6uëÖMÔäý÷߿ѓ““ýýý‰hÛ¶m6w‰N7vìXQ²uëV"RÅ:hèСM±g‡sÀhÎùš5kvíÚED ââ¡ÜÜÜ7Þxƒˆî½÷ÞM›6‰¾£¨¨¨Ž=ú§Ÿ~zë­·fΜ)Ê ~ÿûß/_¾Ü`0QLL̃>xðàÁÜÜÜýû÷kkñâÅD4gΜY³f‰ÂÄÄÄŒ=ºî‰+ÑÄi×®]@@@OÁÓÓ³sçÎ'OžÌÏÏçœ3Ƭïý¯ÿú¯Õ«W‹Â˜˜˜îÝ»÷íÛ×l6ïß¿ÿ™gž©w‡ƒaôèÑëׯOMM-** Ôî ¸FFFŠ’1cƬZµJ¯×1â&¯5€«»åXÊÈÈxþùçÅ:ç¼   ==ýܹsD¤Óé^~ùeq×Ï?ÿ,.zùå—­ÏgøúúΘ1câĉ‹åäÉ“wÞy'iƒ¬yzzŽ;vÕªU§NRUU\«{üøq"êÝ»÷³Ï>k½qÿþýŸ~úéwÞyǺPQÑ+Ø¥K—›>¯®]»ž­( ÝàC<>>¾na›6m²²²~ùå‹ÅÒð$b‹   q’I\÷öŒgcŒ¥¤¤üýï·îÇ=x#GŽ´ ?n9–zöì©Í˜@DÓ§Oÿä“OÊÊÊ6nÜ8yòd­\ôàétº„„„íJ;?oÞ¼U«V‰u//¯¨¨¨   ÀÀÀ¬¬¬óçÏÛ쓈ê6•n$222++Ël6gdd40ñÝ•+WÄ)+Ñ r””””%K–hýxiiiYYYT»¬5vÈÜ9s>ÿüs“É´dÉ’Ç{LY°gÏ;vˆQ 7’™™)2)22rõêÕwß}·6Ð’%K¬ìuïÞ]¯×+Šrúôéºû©·ðÓ ¥¦¦6K©©©Úö ?ß[Ò¾}û~ýú:thëÖ­ãÆ#¢ àÀ¿àJ;@<22ò‰'ž ¢k×®-[¶L+$³Ù|ôèц÷pàÀ±òÔSO%%%YÏJ'Eããã#¦‚­wŸ6 Ú)œùóç§§§×[_ýU›öÛácáDÃhß¾}………¢ïÑGuîTë2sÀçãÌ™3ƒƒƒ‰è½÷ÞTTKDôòË/kc„ÿûßIIIIIIß|ó iÃÞl6;|ø°v-”¦W¯^DtôèÑ+VØl¼råʺu‹‹‹{ä‘Gˆ¨¢¢bâĉuçŒ(..þãÿ(/ 6¬OŸ>v?o»Œ5Ê`0˜Íæ×_ýF=xååå›6mÚ»w¯õçîɱ8sæL"2›Í ,…QQQ¢0===%%eçι¹¹G]¶lÙ´iÓΞ=[YY9pà@"º÷Þ{Ř‚Õ«W¯_¿þÊ•+§OŸ~÷ÝwÇŒSw…Ù³g‹± ,˜7oÞþýû?þöÛoÿùϾÑTu¯¿þzhh(eee 2díÚµ™™™f³9++ëã?2dˆ˜·4 `É’%5l$''ч~HDwÞygçÎm¶™6mÚÔ©S}ôÑ7:¼-‹c~ahòäÉï¿ÿþåË—·nÝúä“O&&&ÑK/½”••µeË–C‡Ùô°¾ùæ›b¾"ÿ)S¦¼ûî»ÖW#éõú1cÆ|ñÅÖìÔ©ÓêÕ«'L˜ (ÊÊ•+­[H“'OÞ´iSÝAÛ¡¡¡»ví7nÜÅ‹333ÿú׿֭ttô'Ÿ|ÒD— ¥¤¤lÙ²E[¯»Á?þ¨­L˜0¡)êÐRÜBkIœõ©÷¼ˆ··÷œ9sˆˆs® R`Œ­X±bêÔ©ÖW§5jÿþýƒ Ò ,X°`ÁëQpñññŸ~ú©˜ÆM§ÓY½{àV¯^­MqDD¡¡¡o¼ñÆÂ… E ëþfR\\ÜW_}5sæLÑl²4uêÔ={öÔ_~£½i/‚õ] l}úÒ¥Kyyy¡¡¡111ñññ l¼’’’;¤¤$99yݺu7ª˜N§Ó¦»p[ÍKnî•W^4vîÜiýþP—cÎ-A]¹¹¹ééé{÷’’I7…Xj*»wïÖ†W„„„ÔûsP`±ÔT|}}CCCCCC{ôè1gÎq!04 ç–@"˜$‚X‰ –@"ˆ%b $‚X‰ –@"ˆ%b $‚X‰ –@"ˆ%b $‚X‰ –@"ˆ%b $‚X‰ –@"ˆ%b $‚X‰ –@"ˆ%b $‚X‰ –@"ˆ%b $‚X‰ –@"ˆ%b $‚X‰ –@"ˆ%b $‚X‰ –@"ˆ%ˆ‡³+дTUU…snS^·nc¬n‰^¯×én§åƒX—•]Xyð<Îõ¾Râo¬Ô;»:nÄÏS‰jU^Ù¿#ò¼¥Ç²üüü&ª€³pÎg˜ßû±Ÿùx‘—žô8eÑŒ•Ì •›ÉhâOôÍ»»“WÝÕ µ.èp†ùƒ£m‚}¹¯cŒqÎUNDÄÄÿDï]Í ,¹¬Õ#ʈt:òfäíAÞžìƒ[åõ‹ó¶óØ!–ÀÕ\-¨üçá6!~äãÉTNL|b2Fœ«D¬*“©œgDX6~iSuð<(À‡½{¸M»Ðü¶Ávõæ!–ÀÕ8Ï ždðb*çDÄE÷‘ZõIYýœÓnbÙ¨eƒƒG ^Ì·’8ÏIl`«ˆ%p)ªªžÈöòö µ:‡ˆ×ôÙiNDœ0¯I0ƈsΘh¦râÜKO'² cT³=cóKàREÉ*ôö­#ëS œsç™cV§˜ ±¬ó1â*ÑTý €<ô”Uè­(åˆ%p;œóÒJÆT®u.qª¾¶FU9£ª“M¬úK=–ZÚ™_ÕZµA‰ÙÃÎ ÅKàjT••ªCÕç㫾¼[ž—â´ŒK,­_UÑ<ÕšJÕØñ2b \ÊIåÄyÍÉ$ƪnŠÑÕèúóÔÉKO=U*RÔäö–âõ¬^Ú¾Úb3ÅîSĸ•‹Ö’À´²^!VÕÑdõyڬ˶A4$^×3ŠÂZ1ƒ'™*éZ)ºÊ¿:¥^¾^Ïö$²°Vìjßþ3¯{ïÀÎ,>’1FW ùöc¼ùŸ‘MJ“¯±| b \¢’¢Ö ¹#"âÕ7yMI­•f\2¢ ýt#jM{`ð¤¨`Š fCâõ_Ÿâkö«*¯õ¨¾±¬}(û5‡¶¦q›}öëÈž¬cŒŒ&z寊äf^5}¦UãHô݉§iõEá&KàjªÎ-±šÏD¡VP9 #š5T—Ô©ª"çrùÏ—¨¤‚ûy³^QÔ½-#¢!ñ¬µ¿îõ]5CÜIûüç¶Ÿïñ‘lÚý:ÆÈd¡…»Ô ùv·JšFͪ5Ú‘Û^t{Cˆ%p5*1…k_ص¾;V}“SõÀ¼æ7$ž‰L✖~ÅdÔ´Ú6õiG/&3õŽaÃt[Ó¬sI4ö˜bõùJsÒyêIQiñøélrJòZ ÌÓÊXUµú¦¢ÚÛ\B,€«­%q•ÕäPM ‰Ðæÿa _/šxOÕ…;k¨û~µ­À‘ |u*{æw:"ß—í9¥–UÝ%º!9ç–êÁmüi—H8õÈg¶“Ä8pÿÕùd=,‚«h-€ÛR9STƒ¬Nµ[£gbêÖf¾Ä'±=ùyíû•ÿûÇú·ÙuœwjÍìɼ<¨GöéÕm«gÇ9ða¯ŽÒ…ø­ÜËSÏ8õÒ%Q-VÕ{W=¢zدºßÎÇXW£¨Ü¢2"ΈqªúÞÎÅ$­Œ‘ZÕò¨‰'†ê5Ëòž¸ªæíǸÊo¸å¶cüÁžŒˆîéĶã¬*_«:ñ,*7x°y#uÑÁDDà;Žóæ|u—$6râÚkΫSŠ“8Šjoc±®¦úrÚ¾ž;çÄR»ª¿{6—,7>Õr!, yè©]SjÏ0+2àÅdÖ½-ÑgGù†CNãP«³R­%p_ ¯ nun‰¬?)ë ÒkÁ¾DDÙET\ÞÐfŠJ™×©Sk ò%U%›Ø™ùëבQ^ ­úV®_~·#nó²«h-€ÛâœYTbŒUÍZÏÌ7Nø,×1ò7]¸Æh* òy§ÖL¯#ƒ•TU·“zDRȪÔfòŸÒÂÿãD¤c4ÿaä۬Ϣޥ«^X…Sõ:U¿È\©spÐZW£rRÔZ͈%c¬z"Qª}UM3-³‹¨m yé):ˆÏ¿á–á,À‡ˆèjQÍÝcÙEôì¿©ÜLÿ9A}bhl"…øÑÂѺ¿lൟr3/¹ÕÒZÍfv7–KàrªGâi¬ÃÉ™¾?Çû´cDÔ7–ÎæÞp³¾±Úö¶ŒœâšáK¾ä½¢X×êÓŽžù{ëk'>A딪Ÿý­%t‫Qkúë´ÁÆÞIm™ŽQDÝ›>ÂbC‰ˆJ*è•íµjh5ƒx­}nÿ™6!"ò7Ðòæ©oîg$^[E­~mE+J%¥ÖŽsKà¾Tεj®6&&¿Q­ Ði“ô0b¹%4î=ú`"µ ¡˜`š?ªîú­¦¬£Ë…µ«]yeQm÷9'%DS÷¶Ô-‚æ§9[šò!«!Õ³R0bÕ÷°[šª­%p5ŠÊ«F*‹“*)¼ªïK­êB§,ÏæÑ¨•´êÛªf“µ¢rzï;¹’Ne×óXª¾$˦¼ÌLOBFÑØDÚ£ÙŸ—ʬ–¤¨\{‘UbÕÝzö>–ŸŸï¸ÿœÌl6÷|½­¯/·š|€¨z–ëu§óö ®La­èº‘.Ð/ÙTQéìj5NÍ/ÓÖ.4éÄ‹W½¼¼nºt‫±ºn©ƈ«%S™™Ò²(-ËÙõpíWë)'Ì îLå¤òêk;«?™ö3µ\ŠLr%ÚWëLª ¤ê3ˆ€ûÒÎÄYMŒ'Ë5µ.Êæu&Û—Úþ¯ˆ%p)Œ1¯J“êIV­%&G¯ «™¨•W¿æ¬ê—Þ‰ˆ8ù{[Ä„â7…X—¢×뻄–¥åêôDTó½¹' wW5ß´¾S"U¡.mŒz½Þž= –À¥ètºÊŽdzX_ÿ¢ýä‚M/ÃÒKª³bý€‘E¡{bËtº›Ã#ĸž‘ Ê›ß1ÒÙ\™)æïáVSŠr,´¤ª.;f]Bĉ¸B–J™ }Kàj:Exýãá S·wÐéItåÙ\LƒÞ¼¦ ^dnµÎ© )Z1úb§ß›<¾b \^¯ÞÇKQ3¦mï¤S‰éˆU7›¬ó©æR,½$픩*q•¸JªBÿx8cxoƒ'–³<€KRUÕd2¹\¶ã¸çÁÌ€_¯™<])7èmîZ’Ô®däæ®Ñ¾ÞÞÞ:ÛÕB,€kRUµ²²Òl6›ÍæÊÊJEQ8‰7 Ƙ^¯÷ôôôòòòòòòôô´?“xàªt:···‡‡‡··7ç\d’u2!¥Åú‚$±Îádß±®ìö>Á‰ðà ÄH±A,€DK ÄH±A,€DK ÄH±A,€Dþ€éæ“¶".{IEND®B`‚traitsui-7.2.1/docs/source/traitsui_user_manual/images/TupleEditor_demo.png0000644000076500000240000013270114046644454027721 0ustar aayresstaff00000000000000‰PNG  IHDR<¨=mX pHYs  šœ IDATxœìÝy\Teÿÿñk6YAÀ5ÜIE˼-—ܵҴÌnÍV+5SKo¿Ý.¹¤¡f™šš¦&n_—rÉ¥0qT@AÅ‘@Ù—a†ùýq~÷|ç„g€#¯ç>×\sÏ È¼¹Î9×Q¤¤¤Toêª.V¼Q¯×W~%Ôp …¢xc×®]My.¡­F ªê@ BCCMìIh«)œ«ºð_ÒÓÓMהּ\0B€ Úd€Ð „6 ´È¡ @X§­FûóÏ?£££[´hѳgÏ;äççÛØØTrU¦£¼¥¤¤„„„(•ÊñãÇ«Õü€§¿Ðk®¿ÿþ{èСiii;wî4n×étëÖ­;~üxXXØíÛ·›7oÞ­[·¡C‡öïß¿ø Ó§OONN~Ü.ºví:nܸ'é_å•ÙßÑÑ1888...77wòäÉ¥ 7Œê………¿#ÂÛo¿½víÚž={=zÔИŸŸÿÚk¯íÞ½»ø8 ,˜6mZ‘F—RVs5jÔæÍ›Ÿ¤”gbÿ}ûö 4ÈÉÉ)66¶~ýú¥Ô ¨Bééé¡¡¡Ü{¥9{öìºuë„3fÌ0nïß¿¿”á:wî}ZÚèÞ½{Åú?å™^žá[Ì=ãà)@h«‰<==…áááz½¾ÈCQQQýû÷ÏÉÉ©W¯ÞÑ£G}}}7ˆ‹‹Ë?þñ!ÄöíÛïÝ»güPZZÚâÅ‹…666ÒRaè_"Ê+WyçÏŸ—6¤ï8@Ö8>^:l·víÚ±cÇÚß}÷ÝÕ«W—>ÚäÉ“—,Y"mNž}(¯bý<˜™™)„2dH™…ª?fÚž~ÅgÚ„‹/þì³ÏT*UBB‚Y.-¼wïÞ™3g222êÕ«×¹sç2o·PzÿóçÏK7³?~üx™çþS^‰ýGŒ±mÛ¶FÅÅÅ)•üyÕQ¹fÚ8§­†š0aÂÊ•+oÞ¼¹~ýúéÓ§?ù€^^^Òâûfé-„prrzþù矼¶2wWÞþÕ¼>~þüùùùùóæÍ³Ð^P¢jÚâãã·lÙrùòåË—/'%%ùøøøûûwèÐaܸq¶¶¶†nû÷ïŸ5k–âöíÛÛ·o¯’R;6{öl!ÄèÑ£Õêjú~JöìÙ3yòdiñåF™1´éõúŒŒŒØØØ#F<ùhƒ ±³³sss«þ9ªƒ¹sçnذAÚö÷÷·PhÛ¾}û;3––&„ðõõ%´U²ê2Ž?þöÛo?|øÐпwïÞíÛ·oܸÑÇÇGjW*9¼k’ìììÏ?ÿ|Ë–-?77÷Æ­Zµ2×€­ZµºqãF­Zµ¸(Êtúôé5kÖXtYYYüñúõë-º”®Ú…¶_ýuܸqÒ¬;wöôôŒ‹‹;|øplllTTÔ /¼pâÄ www!Dß¾}çÌ™?~üøª.¼úŠŒŒ;vì­[·„-[¶ÌÏÏ‹‹3ãøz½>333//Ï”kEMÔºuëØØØÌÌLo€Òi4š‰'Ö¯_ßÃÃ#""Â컈ˆˆ>|ø7„mÚ´ÉÏÏ¿víšÙ÷‚2U»™ª¹sçêt:¥R¼k×®iÓ¦=úË/¿üã?F-„xôèÑÎ;¥Îjµúý÷ߟ?~UÐ& 7n”Û¸qã>ìíímÞñóóóÌ8Í&iÕªUBBB~~¾y‡€§Ì×_-Å©%K–XèþîkÖ¬‘vñᇞ={¶aÆ–Ø ÊT½B[zzºôcѱcG)¢X[[ÏŸ?¿víÚBˆr¾¦Õj£¢¢’’’Š´çååEEE%$$˜2Hvvö•+WnÞ¼)ãi:NwïÞ½ððð;wîhµÚr=׌ÜÜÜ6oÞ¼páB³ž———ššêççgÞaýüüRSSóòòÌ;,øàƒÄÄDC{RRÒâÅ‹u:! îkœ››k蜕•µbÅŠôôôàààÒ_Ë”)S6mÚdÜ’‘‘ñý÷ß'''ÿðÆÆû÷ï?÷ÜsÙÙÙ(}ÌŠéÝ»·%†•ètºÜÜÜúõë[bðºuëž={¶^½z\q@ÖÔjµ¿¿¿Ù‡ý駟Ο?/„˜3gŽ›››ÙÇ70`€å‡éª×g¡Z­îÙ³§âáÇóæÍ»zõjÅ†ŠŒŒü믿ÆwèС-[¶ 4H¡Ñh†š˜˜øê«¯þú믿ýöÛ;ï¼#Í­\¹²øá˯¾ú*77wôèÑ[·nýóÏ?gÏž-åÈŸþyݺu¥ìý›o¾‘[÷îÝ7mÚtéҥ͛7wëÖM±cÇŽ… z9r$;;[qîÜ9ã()Rnöôô´ÄàÞÞÞ:®°°Ðƒ@¥±Äé1ÉÉÉsçÎBše¹%TÕk¦MñÕW_]¼x1)));;;88888ØÛÛ;((¨gÏž={ötpp0}¨ñãǦ‹{õêpûöm½^?dÈï¿ÿ^º&±sçÎiiiÛ¶mËËË‹‰‰)~ýã»ï¾kX‡¦uëÖ={öìÝ»wNNοþõ¯7ß|³Ä…Ù’““¥ývëÖmëÖ­Òid 4èÞ½û!CÂÃÃ'Nœ(µ÷êÕËÁÁ!++«S§NŠ>¥×ë êÖ­k‰ÁëÖ­[…'@u6sæÌŒŒ kkë%K–Tu-¨$Õk¦Máããó×_9ÒpªãÝ»w7mÚ4vìØV­Z}þùç=2q¨÷Þ{ϰ­P(F%m5Êx ì¯t „1__ßÿû߯-~~~Ó§OB”rÁóÅ‹õz½bæÌ™Æ'þתUë“O>BhµÚèèh©±~ýúQQQüõ×_M|]Õôbå88ÈÔñãÇwíÚ%„˜4iRãÆ«ºT’jÚ„µk×þöÛocbb¾ÿþûW^yEZ’M‘½fÍšÀÀÀøøø2quu-rJœá¼«"×9¶hÑBÚ(žŠÏ¥HQQQ%îúâÅ‹ÒFZZÚÿM:*„¸|ù²¡¿ƒƒCÇŽezÚ–B¡P*•ÿý·%ÿûï¿eú¶€åh4šiÓ¦ !7n,Í †¨v‡G †>|øp!Ä¥K—¶oß¾nÝ:Fsÿþý‰'Ja”¢”µ-LÏ-[¶,ÞhÈ|QQQRyE6|íµ×7òãŸì(•JµZ`öåß„wïÞU©Tä6rgÞ›®ZµêúõëBˆ>ø È‚VÒÔ@nn®´<§»»;÷•yšTßÐf¬]»víÚµ5jT¿~ý²²²Ž?ž––æââR%Å­>îÈÔ®T*Ûµk÷¸A,t¹eåS©TÖÖÖÒo³{ðàAûöí-@¾ Çs>ûì³;ÄÆÆJ…‚ƒƒ‹,z Y«^¡-;;;77W¡P”xérË–-ÇŒóÝwß !®_¿n8Li9W®\)Þh¸ µM›6%>«]»vGŽQ«Õûöí« ‹ÚØØdeeYb䬬,K¬ €U¯Ð6oÞ¼Õ«W !þøã#QFF†´Q9ó½çÎÓjµE¦µ¥Eq„»Õ¦4Á¦Ñh.\¸ÐµkWKYåìì윜œ®^½j8;Ð,®^½êääd¡e{@¾¾üòË>ú¨Ä‡&Mšéëë»jÕ*!D£F*µ2XXõ:[hذaÒÆ¼yóŠß¿èÎ;Ò%–¶¶¶•s³Ñ¸¸¸"WÆÆÆJ·O°µµmÞ¼y‰Ï29s¦áÊɶmÛžþùçŸþرc†ÆèèèuëÖYè\þJ`ggçááa|i…Y\¾|ÙÃÃÐEx{{û?†t⣣£ñ—xjT¯ÐÖ±cG)9r$((hÏž=·nÝÒh4111ëÖ­ëÑ£‡´ÞÇèÑ£+í³|åÊ•Ÿ~úé±cÇ¢££W­Z5jÔ()‡Í™3çq'–6hÐ`âĉBˆÈÈÈ#Füúë¯ÉÉÉ.\øæ›o>úè£ëׯtïÞ]ê4uêÔ>}úÈtYµZ-ý^0ãÕÒP...æ={ùªvŸˆ›7o~ë­·bccãââÆW¼Ã˜1cŠÌ~YÎСC÷îÝ»aÆ 6·=úŸÿüg)Oœ1cF||ü®]»NŸ>}úôi㇜—,Ybee%}yáÂi#>>>99¹.PP©T†ÍÅÑѱI“&;d\^~~~ŽŽŽf jKü†¯ª½ ¸ê5Ó&„hÖ¬ÙáÇ_ýugggãv…BѤI“ààà%K–X[[KJ¥Rº–ÓøGçq?L†–"KH¾,¾´D```HHH«V­ -ööö|ðñ}¨¤a •ª]±bÅ„ Œ§¦]\\dh0`@‹- Å믿^9—”†„„¤¤¤œ9sÆŒcZYY¹ººz{{ïܹóÉGÛ¹s§···«««!ÚL±cÇŽ”””C‡Yt/Ðëõ±±±Ý ŠS¤¤¤Tu •ššúÌ3Ï´jÕÊÞÞ¾rö›œœ,­Ðf¸X:55511ÑÖÖ¶aƆÈh ­V›––æîî^J&ËÊÊ*׺ª!­VûðáØ˜•J%ÝéµböîÝ«Óéüüü\]]96 UEšb(2³KOO 5ñ²Åjý¡èãããããSÕU!„››[‰«”I­V7lذȽŠ“{bÿ9³­iӦׯ_ß±cÇ+¯¼RAvìØ¡T*›5kÆÙlÁç"ÌÆÊÊJж÷ïßß°aC‡L?Å-**êÂ… nnn BÌF¡PX[[»¹¹©Õj;;»‹/FFF¶k׮Ļ\¹råÒ¥K:®I“&uêÔqvv¶¶¶6>AB[‰Þyç!„ñ%0…”Û\\\lmmÓÒÒ"##Ïœ9ãääÔ AOOÏzõê !’““222jÕªåáááâââììlkkkeeEb 8B[ jÕªõÕW_Uur%å6¥Rieeåèèèêêš———–––’’"­E'ÝfÞÕÕÕÓÓÓÞÞÞÞÞÞÆÆÆÊÊŠóØx>#ajµZ¥R©Õj[[['''NWPP Óé ¡M¥RYYYþU«ÕL°P B,E¡PXýGaa¡þ?¤‡$Rz«êJ%KOO¯êðm°8•JE2Ù -Ò"ýá'ñ$‡•ªõâºT»ÛX 8B€ Úd€Ð „6 ´È¡ @m2@hB€ Úd€Ð „6 ´È¡ @m2@hB€ Úd€Ð „6 ´È¡ @m2@hB€ Úd€Ð „6PWu°¸°°°âz½¾ò+ †S(Å»víjÊs m5BPPPU—JjbOB[Máìì\Õ%€ÿ’žžnzgÎiB€ Úd€Ð „6 ´È¡ @m2@hB€ Úd€Ð „6 ´È¡ @m2@hB€ Úd€Ð „6 ´È¡ @m2@hB€ Úd€Ð „6 ´È¡ @m2@hB€ Úd@]Õ ’¤§§Wu  âm5Bhhh‘½^_%•P“)ŠŠ?7%%ÅŒ¥À8§ @m2@hB€ Úd€Ð „6 ´È¡ @m2@hB€ Úd€Ð „6 ´È¡ @m2@hB€ Úd€Ð jS:EFFZºkÓ¦¹†â{@5gâç¾"%%¥ÌNnnnO\Ê!55Õ\Cñ½ š3ñsŸÃ£2`ÒLª3m2@hB€ Úd€Ð „6 ´È¡ @m2@hB€ Úd€Ð „6 ´È¡ @m2@hB€ Úd€Ð „6 ´È¡ @m2 ®ê`qaaaÅõz}åW@ §P(Š7víÚÕ”çÚj„   ª.” 44ÔÄž„¶šÂÙÙ¹ªKÿ%==ÝôΜÓ „6 ´È¡ @m2@hB€ °N[öçŸFGG·hÑ¢gÏž%vÈÏÏ·±±©äªLGy%JII Q*•ãÇW«ù?O ~¡×\ÿý÷СCÓÒÒvîÜiÜ®ÓéÖ­[wüøñ°°°Û·o7oÞ¼[·nC‡íß¿ñA¦OŸžœœü¸]tíÚuܸqOÒ¿8Ê+³¿££cppp\\\nnîäÉ“K/ Š”””ª®–TüŽo¿ýöÚµk{öìyôèQCc~~þk¯½¶{÷îâã,X°`Ú´iE]\\JYÍyÔ¨Q›7o~’þEPž‰ý÷íÛ7hÐ ''§ØØØúõë—R3  ¥§§‡††rïQ”æìÙ³ëÖ­B̘1ø½ÿþR†ëܹóСC½½½Ïœ9³nݺ¬¬¬éÓ§ÛØØLœ8ÑÐ9''GÊ;vtuu-¾ã/ËÛ¿8Ê3±ÿÀÛ¶m{ùòå©S§nܸ±ô²²ÀLÛӯę¶‘#GnݺµAƒñññJåÿ¿%**ªM›6Bˆ!C†lÛ¶ÍÊÊJj?~üøK/½”““Ó¾}û .‰‹‹kÚ´©"<<üÙgŸ-³’òö/‚òÊÕÑ¢EÓ¦MS*•‰‰‰îîîå}9ÚŠ› IDAT€JP®™6®­‰4Íþýû…#GŽ4$6!ÄáÇ¥åË—2‡"00pÀ€Bˆˆˆãsª¥ Sö[ÞþEP^¹ú5J¡PîÝ»×”þ€jŽÐV;v,##CÑ»woãö¤¤¤æÍ›z{{yJ»ví„z½þöíÛ†F)F(•ʺuëš²ßòö/‚òÊÕßËË«E‹BˆϱÈ¡­&Ú³gB¡P·/\¸066644´øSnݺ%=EÊ’û÷ï !êÕ«§R©„= “z–¨¼ý‹ ¼ò–שS'!ÄÑ£G³³³M|€j‹ÐV]½zUѼysSúß¹sgË–-BˆŽ;:::Ú¥¹Ÿúõë +ìqêÔ©aÆxzz;v¬aÆ%vKOO÷óókÚ´éäÉ“‹?zúôii£{÷îëÿ8”gzy†o1÷Œ€§¡­&òôôB„‡‡ëõú"EEEõïß?''§^½zGõõõ}Ü ...ÿøÇ?„Û·o¿wïžñCiii‹/BØØØHK…U ‰(¯\å?^Ú¾ãYãðhMô /ìÝ»7###&&Æxþ[·nõîÝûÑ£GBˆþóŸ.\0¾Á¹¤uëÖÒM™„¯¾úêáÇ322V¯^dmm}òäÉ™3gFFF !FŽi|À®\ýÇŽªR©¢££¥“ð(¯\ý…gΜB4mÚÔÇǧğ€Œ°äÇӯȒBˆøøxé°ÝÚµkÇŽkh÷ÝwW¯^]úh“'O^²d‰´]XX8yòäeË–I_* ã©»—_~yëÖ­jõÿýaP®þMš4¹uëV@@ÀÙ³g)¯ý ÜÜÜ233§L™òõ×_—^ J°äÊàããÓ¾}{!ÄöíÛÛ¥¥@J'ÝøR¢T*—.]ºbÅŠ ! ÂÚÚzüøñ¿üò‹q†(WÿììléÞê}úô¡¼Šõ?xð`ff¦bÈ!e¨þ˜i{úŸiB,^¼ø³Ï>S©T f¹´ðÞ½{gΜÉÈȨW¯^çÎ˼ÝBéýÏŸ?/ÝÌþøñãežûOy%ö1bĶmÛ5j§TòçTGåši㜶j„ +W®¼yóæúõë§OŸþäzyyI‹ï›¥tt´ÂÉÉéùçŸòÚÊÜ]yûWóò„<Ø·oŸbÉ’%$6x:ðÛ¼†²µµ]ºt©bþüùÕðnâW®\BôìÙ³È!¿j¢š—'„øâ‹/rss{õê5lذª®`„¶škàÀÇwppX³fMU×R”4•Õ»wïª.¤dÕ¼¼{÷îýþûï^^^Ë—/¯êZfSMç P9BBBªº„’µmÛÖÁÁ¡ÿþU]Hɪyy^^^wïÞ­ê*fFhCuôÕW_Uu ¥©æåžJB€ px´¦HOO¯ê@ÅÚj„ÐÐÐ"-Åo,Í”Ûç<ö¹Ü úãœ6 ´È¡ @m2@hB€ Úd€Ð „6 ´È¡ @m2@hB€ Úd€Ð „6 ´È¡ @m2@hB€ Úd€Ð „6 ´È¡ @ÔU]¨vŠ7êõúʯä)£P(Š7víÚÕ”çÚ@ ‚‚‚ªº„!44ÔÄž„6P2ggçª.á)—žžnzgÎifÚPIt:]aa¡t>„B¡P*•*•ªª‹@6m° ½^ŸŸŸŸ——§Ñh4N§ÓétB•J¥R©¬­­­­­mmmmllJ<1Ú`z½>77733311155ÕÎή^½z^^^uêÔB¤¤¤Ü»wïÎ;¹¹¹nnnžžžŽŽŽvvvD7‡ÐóÓh47nÜÈËËkÕªÕ‹/¾X¤ƒ——————´mkkÛ´iS'''kkëJ¯ ´ÁÌrrrRSS¯]»Ö²eËÖ­[—ÙßÏÏÏÏÏ/**êÒ¥KÍ›7wss«U«V%Ô €¼Ú`NÙÙÙqqqÇ/×[·nݺuë={öcÆ 3ެÑhRSS322*œØ$ýúõÛ³gOjjªZ­æü60QnnîÌ™3 „5šxð@Ñ¢E‹eË–¹þ ÿþ[·n•¶×­[÷„û*((ˆŽŽŽÍÍÍ­ð ………÷ï߈ˆˆ‹‹ËËË3å)ÉÉÉQQQR05–˜˜xùòåâí•ÃÍÍmóæÍ .´Ä5yyy©©©~~~æÖÏÏ/55ÕÄ·j¦+W®|ûí·BˆaÆõéÓÇr;ªS§ÎÞ½{W¬Xakkk¹½ t•ÚvïÞ-„¨U«ÖúõëíììŠwèÔ©Ó /¼ „8pàÀýû÷…îîîîîî'Ož,Ò922Rz¨È´ÜñãÇ{÷îݰaà  ®]»z{{¿òÊ+çÎ3tغu«»»{PPôåo¼!#•'Ñjµ‹-jݺu›6mzõêÕ¹sçÆ7îæÍ›ÆûJMM•žûÇlݺµ{÷î-[¶ìÑ£‡ÏôéÓsssõzý¦M›ZµjÕ¶mÛž={6jÔ¨oß¾Òß+Æ233O:%Ý—Óìzõêj¹ÿ̦Äïæ“³³³«ª˜ Õ_aaáäÉ“µZ­««ëüùó-·£~ýú]ºtiàÀ–ÛLQyç´EEEÅÇÇ !ºtéÒ´iÓÇuûþûïïÞ½+„puuBn1®Õj‹ôÔjµÅZµjÕ¬Y³¤v…B¡×ë…þùçÉ“'·nÝhüDéKãÆ)S¦lڴɸOAAÁž={ÂÃÃ8P¿~}Ã¥g=ztÍš5†´Zí?þ˜––æçç7wî\à æüùóC† Ù¿¿Ôxÿþýçž{.;;; àÀe½‘åÖ»wo³i Óérss oˆyÕ­[÷ìÙ³õêÕS*YP€Œ©Õj³ûÓO??^1gÎ777³o0`ÀË ÓUÞgáõë×¥-Z”ÒÍÍÍÍßßßßß¿òrssçΫÓé|}}÷ìÙ“¾`Á¥R©Ñh¾øâ ©Û°aÃÎ;÷óÏ?K_.Z´èܹsçÎëׯŸÔ²`Á)±µmÛvñâÅaaa›6m’®i½{÷îˆ#233‹ìú‡~ðòòZµjUhhè¿þõ/OOO!ÄŽ;æÍ›çææ¶bÅŠ°°°àààöíÛ !’’’vìØaxî‘#G²³³…çÎKLL,ï«®Z………Z­Vz½fçíí­Óé -18TšâóO.99Yš 4ËrK¨þ*o¦íï¿ÿ–6,·Û‰'¤3ؾúê«®]» !|||Þ~ûm­V{ðàA!DVV–ƒƒC­Zµ7nlXsßÓÓ³qãÆ†ABØÙÙ999]½zµôÅ\ÊëêÕ«NNNZ¶äëË/¿,²‚Á¤I“"##}}}W­Z%„hÔ¨Q¥V «Ô³…&Mš$Ÿôã?þïÿþo‘GµZíœ9s¤ãôo¾ù¦tõ¥¯¯o­Zµ„ûöí3îüàÁƒ"#üÏÿüO¯^½\dâÇpeñÕ ÖÖÖÒ†ñÍ„Q ›2eÊÇúâ‹/’’’„B[ttôºuë,t:¿¥ÙÙÙyxx\¾|Ù¼Ã^¾|ÙÃÃÐEx{{û?†t6¶£££ñ—xjTjhó÷÷?~¼´=a„ýë_W¯^•ΗܷoßK/½ôÝwß !lmmß}÷Ýÿ_ŸR)­‘qìØ±Ï>û,**êÚµk¿üòËСCïܹSdüV­ZEDD„……=úêÕ«………999¿þúëìÙ³…uëÖíÒ¥‹¡³———t‚ÚÎ;ׯ_ãÆ é6—îîîŸ~ú©âîݻÇÿù矯_¿~øðáI“&ýôÓOÒ^Þzë-3¾-±±±AAAS§NíÓ§’U«ÕÒï…¨¨(s) åââbÞ³w¯ÊþDœ={v^^Þ† òóóW®\¹råÊ"|}}×­[g¸jA1wîÜ¡C‡æää¬_¿~ýúõ†ö#F™l2dÈÚµk/\¸ð×_uïÞÝÚÚº  @ºbÀÎÎ¾2¾ÑÎήgÏžGMNN–Îå\µj•tLöóÏ?OJJÚ¼yóÅ‹‹¬îáååâèèh¶wDˆ .HñññÉÉɺ%”J¥2ük.ŽŽŽMš4‰ˆˆhݺµYŒˆˆðóó3ïû O=Kü†¯ª½ ¸Ê^LA¥R-Y²ä‡~(þéîææöÆo;vÌx5Z!D‡6lØàïïo˜tqttœ5kÖŒ3 cJÖÖÖ¿ýöÛ´iÓ4h „Ðh4z½ÞÉÉ©GGŽ:th‘=._¾ü½÷Þ3Ì/ϱdÉ’)S¦Ô©SÇТV«¸sçNãPeØuñŸ]©¥ørÅÖ ТE …Bñúë¯[:± !BBBRRRΜ9cÆ1­¬¬\]]½½½wîÜùä£íܹÓÛÛÛÕÕÕÊÊêÉG€šcÇŽ)))‡²è^8 ×ëccc-º§°ÜR·eºvíÚíÛ·“““ëÔ©Ó¶mÛ2ïà”››çèèèíí]æÚ]™™™wîÜqttlذaé=µZmvvvaaañ Bu:Ýýû÷SSSíìì¼¼¼¤³ë,DºÅ–寷4­VûðáØ˜•J5hР ³wï^NççççêêʱQ¨*aaaAAA†Ëa!ééé¡¡¡Ò½7ËT•¡ OF“’’rýúõÂÂÂW^y¥#ìØ±C©T6kÖ¬N:†+E•ÐV9ÊژɀÙXYYI×çÞ¿Æ :t0ý·¨¨¨ .xxxxxx¸¹¹q`€"m0…Bammíææ¦V«íìì.^¼Ù®]»–-[–ò¬+W®\ºtI§Ó5iÒ¤N:ÎÎÎÖÖÖOýí¿(/BÌIÊm...¶¶¶ŽŽŽiii‘‘‘gΜqrrjР§§§tgØäääÄÄÄ„„„ŒŒŒZµjyxx¸¸¸8;;ÛÚÚZYY‘Ø(ŽÐ3“r›R©´²²rtttuuÍÎÎÎËËKKKKII‘¢“n3ïêêêééiooooooccceeÅ•<Ÿ‘°µZ­R©Ôjµ­­­“““N§+((Ðét†Ð¦R©¬¬¬ ÿªÕj&Ø(¡ –¢P(¬þ£°°PÿÒC)½Uu¥€’¥§§Wu ø?„6XœJ¥"™€ì„††i‘þðÆ“x’ÃJ¬Ó •}+T¡ @m2@hB€ Úd€Ð „6 ´È¡ @m2@hB€ Úd€Ð „6 ´È¡ @m2@hB€ Úd€Ð „6 ´È¡ @m2@hB€ ¨«ºX\XXXñF½^_ù•PÃ)Šâ]»v5幄¶!((¨ªK% 5±'¡­¦pvv®êÀIOO7½3ç´È¡ @m2@hB€ Úd€Ð „6 ´È¡ @m2@hB€ Úd€Ð „6 ´È¡ @m2@hB€ Úd€Ð „6 ´È¡ @m2@hB€ Úd€Ð „6 ´È¡ @m2 ®êPIÒÓÓ«ºPq„¶!44´H‹^¯¯’J¨É EÅŸ›’’bÆR` œÓ „6 ´È¡ @m2@hB€ Úd€Ð „6 ´È¡ @m2@hB€ Úd€Ð „6 ´È¡ @m2@hµ)"##-]ŒµiÓÆ\Cñ½ š3ñs_‘’’Rf'77·'®åššj®¡øÞPÍ™ø¹ÏáQ0i¦ U‹™6 ´È¡ @m2@hB€ Úd€Ð „6 ´È¡ @m2@hB€ Úd€Ð „6 ´È¡ @m2@hB€ Úd€Ð „6PWu°¸°°°âz½¾ò+ †S(Å»víjÊs m5BPPPU—JjbOB[Máìì\Õ%€ÿ’žžnzgÎiB€ Úd€Ð „6 ´È¡ @X§í)÷×_)•²‰æ¹¹¹vvvU]ÅÑjµz½ÞÊÊÊì#çååÙÚÚše(­V»|ùò7nLš4©Y³få}z…ßöÂÂB­Vkmm]ç·fÍFÓ¹sçŽ;še@3ºtéÒ‰'”Jå{ï½WâjæÆ ¿ýöÛ˜˜˜O>ùÄÏϯr*¬†Ìø^^™™™{÷î½~ýz^^^ïÞ½{öì)*úVâP•C«Õ !Ôê*ø˜6åUkµZ¥Riúç‹F£±²²*ó¿ÏÓ!%%%$$D©TŽ?Þ¼ßÁšÚ¦Nš——gJÏW_}µ{÷î–®§Ò¤§§×®]»bÏ={öíÛ·‹4ÚÛÛwéÒ%((ÈÓÓóI‹B÷Ýwß9räÎ;ööö 6 š0aBË–-Ë;ÚéÓ§W¯^]J‡E‹Õ©S§ôA vîܹnݺ˜˜˜ÄÄD½^ïááѬY³1cÆŒ9ÒÆÆ¦¼UÄÅÅ}ûí·G½}ûvVVV£F:tèо}û—_~ù™gž©ð°»wïþôÓO¥ñ:db%~ÛÏœ9³|ùò³gÏÆÇǶiÓ¦sçÎÏ?ÿüÈ‘#Ÿ$Ý~üñÇyyy3f̨†¡íàÁƒÓ§OB˜ò+ø·ß~›8q¢âêÕ«þùg%”W­DGGÿûßÿ KLLtpphÑ¢ÅÇ}zrròãíÚµë¸qãŠ4FGG/[¶ìÀ‰‰‰VVVþþþ:uš2eŠO¹v- ݰaCé}”Jå?þhø²ôW¹uëÖ°°°³gϪÕêçž{®k×®&Lpss+qðìÚµëܹsÑÑÑ;v ˜0a‚¹>AÊ+>>~þüùùùùóæÍ«À§NZ³fM­ZµV¬Xah”¾Ñ#GŽìÕ«—ÂÑÑ1888...77wòäÉf«^‘R3˜>‘0oÞùdÑ¢E–¼t{öìIKKÓ—_»víJy£zôè‘‘‘Qa §M›VÊ^~ø¡4Ñe,99yúôéÓ§O->fpppéßßk×®•^Utt´¯¯ïãžÞ AƒóçÏVéUI/vÆŒûܲ··ß¼y³io[ vîÜ)Ó»wï2;Wìm—äåå9òqOìÖ­[RRR…_…4+3cÆŒ `9 ,^cAA°¤… IDATA™÷íÛ'uîÑ£G%Ô¶eË–éÓ§÷ÝwÕaä-[¶”øC>pà@SÞºâÊüK1kÖ,ã§tîÜYjwss9rä/¿ü"µWàìqC™®ô[ÑŒ5ªHÿ'N8::ïY§N#GŽ”wïz½Þ8X”¢°°Ð”W}äȇâO÷óó»sçNñ½Ïž=»Ä_5ûEjiÛ¶msqq‘jðõõ­Ø ëׯBØÛÛ76lØPñõ×_ZöîÝ+„prrºÿ~馥¥íÙ³ÇÄôš2Ó”““cøR£Ñœ>}ZáééÙ´iSãžûk¦L{öìùí·ßÚ´i3vìXKŒo9ŽŽŽÝºu“¶µZííÛ·oݺ¥ÕjÿüóÏ—^zéàÁƒ%þ6ÅÈ‘#CBB¤íŽ;öíÛ×ÓÓóÁƒG=qâ„â»ï¾»uëÖ¾}ûŒ?îß¿/}‚>ÿüóÍ›7/2æýû÷…µk×xÜË)¥¤Ó§O÷éÓ'##CaooÿÚk¯µlÙR©TÆÆÆþòË/ééé ûöí+òwéU !ÆŒóóÏ?KÛ]ºtéÕ«—››Ûµk×Ο?úôéììì×_ýÔ©Sß~ûm)å=ΠAƒ¾ùæ›[·n}ôÑGev®ØÛ.„Ðjµ/½ôÒü!„P(ýúõëÚµ«Z­Žˆˆøã?’’’Nœ8ѱcǽ{÷>ûì³xO~ýú-[¶ìÚµk¦|;žÜöíÛÿ÷ÿ÷ÙgŸýàƒªvä“'OŽ3¦°°P¥R½óÎ;=zô¸ÿþ7ß|¿oß¾‰'š Œ½øâ‹>,ñ¡äää‹/ !ŒP³³³Ïž=+„øÇ?þñûï¿?É‘©'*''Gš&ìØ±£««kñþþþÆ_?~¼ÿþYYYBˆ¾}ûöêÕËÖÖöèÑ£ûöíKIIéÓ§ÏÑ£GË{#éÆ÷îÝûqž:u*33ÓÄ7ðÈ‘# ÈÏϯU«Ö[o½õüóÏ'''ïÚµ+,,,&&¦K—.±±±ööö†þ ,˜5k–¢víÚ&LèСÃÇÿý÷­[·&$$tïÞýÚµk^^^åz9–••õñÇKy«r 8°mÛ¶—/_ž:uêÆÍ6®%§xª/ÃQ¿?þ¸röØ¿!D›6m*gwÆžp¦­K—.EÚoÞ¼Ù§Oé œ0aBFÖëõ†Ùx¥R¹uëÖ"þöÛo†mß|óñC—.]’Ú÷ìÙS|Ø7ÞxC1hР ””““c8!¬{÷î©©©Æ¦§§¿ôÒKÒ£^^^ééé¦Weø«R©vïÞ]äÑM›6þ?yòd*7]…ßv½^¿hÑ"é¡Zµj:uÊø¡‡4Hz´[·n«í©™i«dC‡B<ûì³U>²!O¬Y³ÆÐ˜––&ý£V«oܸaÆò>üðCé'ùÊ•+†Æèèh©†+Vé_Þ°R†2Ñ7¤ÂÃÃËì¬Õj4hPâÿ¾;wªT*é÷RÅ*)ÑÝ»w¥“=^{í5Cc)¯úå—_BØÛÛÿñdžƂ‚éçD±wï^ãþÒoîîî111Æí†ß$ßÿ½_N)ÂÃà ³3mÚ´‘~ -=Ó¦×ë.\(ýˆ–~¢\3m²9E½Jdff^¹r%***--­ªk©F7n¼cÇiJòرc!33sÊ”)Òö¼yóFŒQ¤C¿~ý–.]*mÏœ9óï¿ÿ6qdé<  Tµxñâëׯ !¼½½wìØQä/c''§-[¶H©îÞ½{sçÎ5qØìììI“&IÛ‹-))ÉÄñeddDFF^¼xñÑ£G¥÷4¼i¦ÿ0Qvvö•+W._¾¬ÑhÌ2`xxxhh¨¢]»vÆÇœøáñŸËe̲/!ÄÝ»w׬Y#„1bD‹- íÒÉûBooïÒGÐëõW®\¹zõêãNw6e¨¬¬¬èèèÈÈHCgc†ÓÂLùtäÈ‘„„!Ę1c ¿1$Æ “¦¬þúë¯åêtºøøøÿÇÞ™ÇÕ¸ü|Îé”R¤Bi‘¥¥=YÂW* 7\B×—¬!KHö5;Ù³eÉR–"Zµ§$:…6´h9ÎòûãóúÎëù>gé´¸÷vóþ«æ™3Ï<óÌ3ó™Ï|>Ÿ‰‹‹ƒmïlß¾½®®ŽÉdBဤ§pë©S§>§³X,löèÑ#œ^XX˜””„ruu¥ìz{{Ãþ̃d¬j39yò$Ћ-Š‹‹ë/`úôé C ÀVi‹@„6ñ$&&º¸¸ :tøðáFFFŽŽŽoÞ¼Á¾}ûÖ«W/}}}kkkØMüzõJ_____Ì­¬¬´´´ w¦¥¥iiiiiiá G„ÐÏŸ?ß¼yÃçóÿª‡‡Ã9qâDïÞ½eÉß¶m[Xueff~ûö !äææÆb±”••Å ¸†††`² ÿ>xð²¹¹¹}·( .„¡¿¦¦æÎ;¡óçϳX,li7iÒ$‹Åb±®_¿Ž£¤¶¶¶¬ONáÒ¥K¡6mÚܹsGSSS4ƒššZhh( 7—/_†©½ÁZ………}ÿþ!äîî.É"ÕÁÁ$ž[·ná~âĉ,K¬áóäÉ“Y,VlÔÖÖÊË˳X,éÛOMkvàÞ½{``àéé9sæLÑ2Œ-[¶ÀßÇŽ£^âñx›7oîÚµ«ŽŽŽM¯^½Ú·oïææ"rƒÄÇÇ;VUUÕÔÔÔÚÚZ[[ÛÈÈHtyÉ’%,kðàÁ?~œ0aB‡¬¬¬&L˜ÐRåcN:»]ýû÷ïܹ³©©ihh(5ƒ”×ëààо}{ ‹¾}ûvèÐÁÎÎ.**Jô.|>ëÖ­¸Ñ455õõõgΜ Ÿн{w‹uûöm„PRRt<333éÏ>lذ¶mÛšššZZZ¶k×®_¿~xï¾É%?}úþرcmc}Ĉ°ÚÁyJJJ455UUUŒŒh~ÏŸ?WUUUUU]°`”ÛmÛ¶ËåRŽˆýEßBQQ‘›››¦¦¦©©©‰‰IûöíçÍ›G¸d)*11ÑÑÑQUUÕÌÌÌÂÂBUUÕÎÎîòåËÔÁ·Ìd2;uê$åY€¬¬,ø¶ehàDÚ›âñx7nìܹ³žžž­­­¡¡¡††ÆÊ•+”ÅÙlö™3gBîîî õJê/_¾têÔ©gÏžcÇŽ¥Õ»wop!ÿôéN„M^„––-¿¼¼<¸Çá<¡k×®ÙØØ\¿~ýM…wïÞ=|øð_éѬ££mKK› ÚÄðîÝ»)S¦ÀªçîîŽîÞÞÞUUUyyyx®BÕÕÕ­X±¢ªªJAAæÅúúzj/äóù|>Q………fff'N”evù|ÿþ}ëÖ­zzz ,ÈÎΖýƒÁšüwïÞ!„&OžÌçókkkiB(66öÓ§O|>kѱá¼t[Øþ@ݺu !ÄãñhՃƤ®,Á¦ Öµ|>?;;;::ZÇጌŒììl„ÐÀûõë')›±±ñˆ#B_¾|Ëk%ãÆ„„|øð!++ Ë‹ÐsêëëE3s¹\j/‚Ð’2cšÖì~­óæÍ“ôC[[ÛäääøøøU«VQÓ½¼¼üüü¨J©úúú,¡J"--ÍÁÁáñãÇTí×Ç—.]êïïOÍ ÍõùóçQ£F=xð€:´HùÀ¡C‡æÍ›—˜˜( %33ÓÕÕ•ê%*éu¤§§3&""‚šøúõëñãǃN‚Ê¢E‹6nÜHm46›lcc“žž)Ð pÚØ"–/^8::RÅD.—›””4sæLêó6¡ä—/_ÂÔ)DÌÌL0PÓÔÔ\»víÏŸ?sss©ë‡³`Á‚Ÿ?*((øùùIº×§OŸ`‹jÚ´i8¨Š,ãB¨¤¤ÄÞÞ>$$‹¿\.÷Ô©Sîîîøç •™™éààððáCÜmjkk_¿~=cƌիWã¾Ѧ¦&ln–••EGGS%*Xjë…µ‰´Ÿ{yymݺ•ªˆ­¨¨Ø³gOƒÆÓ[·n¥I½ÒŸZWW7;;;;;{Ê”)´¢¾|ù}ÃÔÔ'€ÕGXX­Øäää‚‚ôß^ï?uêT##£Èøýʈ££cJJ ÕÅø/ÃÆÆ!ôôéÓêêê)mtŠ‹‹§M›VYY £FTTÔË—/ýüüª««§M›†§///žÎŸ?n ¡½{÷~üø!³ïÇãã㇊222ŠÇrwDD¼Ëøøø'°–åÇ‹-ÒÕÕݸq#8¥ɲ"`ì`2™!'''UUU„ÞéÃ@ “Éœ1c¤dffÂÒTMMMÁ ò»»»çääà¦;räHNNNNNŽ““¤`³_•Y³fµmÛ¶wïÞƒVWW=zôÇ¥Ü W‰f, ®³ŒµÂ‚¾ô‡UUUíÞ½;h8¤W É4­ÙÍ u\ÅÒÒÒÚÚÚÐЧlܸñôéÓ¡~ýú;v,###44ô÷ßG±ÙlGGGš¢šJ~~þ¸qã***äääV¬XñäÉ“äää½{÷¬¶~ýúsçÎÑ~Âf³?}ú4hРC‡EEEö´Ë_±b…¶¶¶¿¿\\\xxø²e˘L&Ç›2e ›Í–r¯ÂÂÂñãÇWTT´iÓf÷îÝ©©©iii»wïVPP¨ªªš0aÂçÏŸqæmÛ¶!„ÌÌÌ>œ––vùòe˜,?}úäîîÙ^¿~““cooêÕ«t<) ÅÅÅS§NåñxÊÊÊGMMMMNNÞ±c,À6lØ€Mþ¦auuu±¾>°!% !BÈÛÛÖ?AAAàƒÚ¾};è_?.E_¾eË–úúz999___œ8þ|±_"-¦ÆÉ“'333CBBRSS;ŸÃãDZø(½¨¯_¿Ž7®¬¬ŒÁ`,^¼øÉ“'qqq›6m‚g À«#¬øôè‘¡¡a‡lhhؽ{÷%K–P}ãB8‰ØíŽøøxøƒ†iûöíðq92444??ÿîݻЪ—.]Ú´i“¤ÌÍÍ…8 Ó¦MÃ{—26 (Øân °X¬õë×#„bbbœœœrssBçáǰ« ¤¤DÝ600\^^ž···®®îš5kZjNœ0aB FéÛ·ïºuëV¯^MM\ºtéºuë DË B[]]-À/3ÿG#ÅaöìÙ!‹uùòejúéÓ§ÁuyÅŠ8199$•=z|ýúõÕ«W`ÇíêêJ+V’#Bzz:l·ÙØØ´Üóý¢Ž¯_¿vvvÆ[ cܸqaaaT¯o¡dG¡PøåËpœ¶²²Â‰žžž!…²²2Q ÍQ£Fá0ÓÓÓ“b› €ˆÐ¦Mœ"Åäo·‰•{\Úµk¤ˆÚ‰ã<ÔßfeeÁw×¶m[>Ÿ‰x7ÍÙÙ™ËåÊR=ÙËÇÓ’‚‚BLL 53VÍ;Rľ///è™÷îÝ£þüúõë0°àõ B¨sçÎ&ƒã­DFFâDÙÝbbbÆŽ;vìØ›7oRÓñ^0ÍK¦QŽ`äÚ§O±W8· Ú°³ÙlPÆôîÝ›Ãᤧ§Ãø9cÆ )7ÊÎÎÅÕo¿ý&zUÊ—ˆ÷Åœœœ¨c]QQ¶9+((h°(ÜÓ6oÞLMOKKƒ]Â#F@ ,Såääý°··¯­­Å?///‡1yذa¢xÖ¬Yð+999ð†),,„bGŒA-§ªª ‹EM§âááE‰†(’îS%JDDTÛÁÁAôê­[·ðö¨’’ös211¡ö€Ãáœ;wŽºl–——Ÿ9sfJJŠ,5‘¥ÖdG„F—:ááá’òG„fûC‡¥¹IOš4 ‚ŽR¬utt`4ÏÉÉÙ³gÏŠ+êëë»té>#² ­­žžþèÑ£û÷ï·Ø3H@ ܾ}ÛÎÎnРA·nÝíÛ·÷öö~ÿþ}XXظqãd‰UÍår=zdooÊ|ê®.˜:q¹\êi\\h °!ŸÏ‡½,±sAz¨««“¢Á`Çã?þåË—¥¥¥ÑÑÑ>>> ƒË庸¸$$$ˆý-Þ_h°VXÕ$‹m8~Xª­4;G°ëÚâ4§Ùù|>˜Ì76¾?níãÇÓn:tÖ¾’Þ¾dkkKÛoíÕ«Ø>WUUaK ÌÖ­[eŒñÛ„ò×­[‡£X¾¾¾°¼Ý⤚{{{š!Ä”)SÌÍÍBoß¾¥æD;vŒfÀ~èСM›6mܸ±ijmmm>|øðáCgggjº‡‡ˆAÒA: äÆV4p:Õt¬[·n /feemÛ¶mþüùõõõ:::ÒM3ýüüø|>MÍ&;ªªª.\ ŽuZZZøŽ²´¼ ~ýúQí÷Bfff—/_Þ¸q#¶C…‰ÏçwèÐáÀ>|(((¸té¼ñ§OŸ‚·;о}{èZ‘‘‘îîîXÇår—-[†äââœ!„üýý©vZ*** 2äñxb]‚²²²ÀönúôébãÉNFF†‹‹‹@ hÛ¶­è[ …ÕÕÕØ¡¡¶¶  Ƙ1côõõiùÛ´i3kÖ,!4iÒ$&“Y__áÂKKËÑ£G?yò¤9Uý»À1‡›æ´$Êÿ—8m2Âåra¨}ûöŠ ,¾ñBpss{øðá½{÷öìÙƒb0”P‘‰nnÕâíÛ·°‘ÿššš.^¼ØÃÃVG,qqqx·«¾¾þëׯØbcÆŒÔq4ÿ?~ ÁëBÐKµmÛÏrrrŠŠŠ§¸¸¸Ájc÷:YÂ#ã¯ÂËË ÛÂkhh 4¨sçÎË—/çp8ׯ_ÛÚ¸¬®’²²rƒU’““SRRª­­-6;;[lР‘#GÂB¹eiN³ãßJ‰í.,ѼMB }ûöýúõ«$ß—ºº:ØY¦ I´©bh‡d}útëÖ­û÷ï[[[3™ÌÄÄÄÚÚZ…‚¥5Ì/øã*++£u*¬ë}ûö­è`ÒL©óåËGGÇŠŠ yyù›7oоޕ+WîÝ»!¤®®>lذ>}ú”••%$$DGGïÛ·ïøñã¯^½k@<|øðáÃ‡çææxðàãÇeee¢ÒÒÒ`].ÖiÑÄÄ„Á`…„„Øëd?û¤iåƒ' (¡®®îÝ»wb3àÈ×®]ÑikiiÁdÜ¥KIç5‡/_¾øùù…††6Vþnuuõ¢¢¢üü|±Wqºè‹†É¦´ ÀÖ•$6oÞ Á{›,p€–‹FçÎ;tèðãLjÖ+…ÔÔTè6bË¡ñèÑ£ÚÚÚöíÛÓìó´´´Ö®]ûûï¿óùüׯ_ã°—ºººÏŸ?···ÏÍÍår¹0 @þ£GBÏiÛ¶-lÂb¡ Œ%ÄBS1 „ÒÓÓ¡œ3f4áœbÌ÷ïßG ¯õÔ©S¢ñ{oܸ[ß¾}CCC©D®\¹2gΜÚÚZ''§ÌÌLIáÙ»wï~àÀ-[¶øûûCh·´´´¢¢¢Ö%´ác›³"¢B„¶ÿëºví*6è üß0NŠŠŠøÅ´”‡H‹Ó¾}{&“ øÇÀñˆT»QIèèèP»·mÛÖÎÎÎÜÜ\ìÌ=sæÌ-[¶Àé¬Y³âããÁ|$BGG'//¯®®.;;[Ša{UUXgËø•*++K9ÁsРAl6;11Qì9Ö80·è0Gt±²×JWW÷Ó§Oçýû÷ÔMÒ!C†PO¹=sæ ŒÑ Ðý4§Ù»víÊf³kjj>~üH;DD B©ϰ¢Bl6é¿m>-X¾,GÈúººRìë¡J OÿŠÀ?~0`ÞÖ×ÔÔÔÔÔTWWWWWo~)Øþþòå mq`¡MôX*êø)Ýg0%%¿ýö›ì†¤—%ãAæxµ#Ë ’2D`‹õW¯^a¡ !¤§§—“““––öüùó7oÞhjjš™™¹»»«ªª‚Õ Þ1‡ÞÂd2­¬¬$ÝEÔú~Ó¦MB¡Åb5GÍVUUåèèŽJ»víb1Œ°°0ZŸŸ6mZnn®¯¯oAAÁ›7o¤ˆé±±±‡ÂfÄŠŠŠM>€çï;÷HÑ7 "´ýà7Çãñ¦M›&)•(¾¾¾Øó+$$dâĉR–>ãÇÏÊÊÚ»wïùóçkkkïÞ½{÷î]KKKooo釠wëÖÍÇÇGÆ»<øå˗ׯ_Ÿ5k|·ººº4íãØ±cÁ_ìùóçXz …ëÖ­ãñxòòò¾¾¾JJJ` ‹5j”,wÿþý{yy¹œœœ¨µ†Åb‰UeÙÙÙµmÛ¶ªª*&&¦¶¶+lž>} #GŒáèèÈårÃÂÂBrrr²ˆ¼!aáÅ‹¢–m¼OèëêêD37-Ôjsš}̘1 SFFFJš/…Bá™3gx<žžžs²¶¶ ûúõ+Ö¼RÐbOø±°°——¯¯¯Ç!Ú©@|„”K:M+?55|*EDAAAÒûµ°°€eöìÙÔAb±¶¶¾wï^qq13“ý‰ÄÏÏzβeË6lØ€å'>Ÿ¯¤¤$=^LƒôïßÿåË—åÕÀÀ€v´õêêê¢Zð?ÿü‹t/^tqq¡j ©´ˆÀ!ÖÌ«¨¨‚)6èdÈ›7oÆÄÄlÛ¶ †»îÝ»Sã½å‹ÅÊÍÍmZb“!ƒààà‹"\ºt‰ÇãAf|)“Éܶm›Í …uuu xål``€kˆã`3™Lggçׯ_K©$œœlhhhhh¸oß¾3S§­É¥Iw###)y§mt¡íÛ·oOŸ>•ÍaܸqX´‚ãŠB^^^ø·9990)ª©©eddàôGQ÷ !z‚rzzú¯xX)B&!!ÁÝÝÅbµˆÐF={àðáÃ’²½{÷®Á5ˆ(†vøu|ONNÆrú_ãb•¨¨(œ›ŽÍŸ?' ‚×ñ#FŒ€à–²×J(¾ÿ^º¯–hHX>Ÿ/*²×û€Íiv¡P/Å2ƒÁ`¬]»ÚI'êtëÖíË—/8›¨Ð& SSS%ÐÙ¶m5g„6ÙË¡­S§Nb-ÒX,5R¨¤XÇ ’"ìLš4‰&ÐH:jL[[ûÍ›7ÔœoÞ¼¡öó=zHzج¬,±{4Æ á•Öø²— ðx¼I“&áüŠŠŠØ.B]]¯—ˆÜòööƉ߿‡5³ºº:5°0˜W²X¬?J¯CƒB›¨ÉBh̘1´W ¥¨¬¬,±†˜¡yóæá™ÏçSíÒh[Ã...´‘¤²²’ê”@cþüù´øç€ºB¦¢¦¦F抷õqèÆ6 Œ‡TVVâŸ\¼x‘*(c¿W OŸ>x# /]ºJúœœé5ÄàØuR¢¦‹E¬ÐÖäÒ¤Àåra¡»råJ)ÙHp݆a0ðýˆµI·´´¼ví5²”œœ\=Ž9 Ã^AêèèàåBH]]•——SÓ­­­Ïœ9ƒËÄ_ï„ Œ ÆŒ3ZjÏ» XYY]¹råãÇÔðÐ8Mˆ@áàà€µ•øÈQz÷î·víZQK|SÚAÀ™3g¼½½ñê“:ZZZÆÆÆÚÛÛÃè üïÎ`=|ø³gÏÀ·“ÉíÏb5£ÙBÖÖÖñññ^^^´U œ3æïï/Úa‚‚‚|}}©6õ,ËÅÅ%<<œºe ¶¿™››?~üØÁÁÚžúúú€Cr¤ÿ¼Ad,îëë{èÐ! œ¿wïÞ!!!²ú±²² £vB99¹Þ½{Ÿ?þÎ;4»ÏƒnÙ²…:&hkk»ºº&&&Ò‚Þ 0 $$u“âÙ«W¯ØØØ‘#Gâ©TAAaÙ²e¡¡¡8 _ÓJÆsõêÕ?ÿüÊçp8`õ5dÈçÏŸSÇ–ÊÊJJ»uë¶uëVœÞ¡CˆQVV†m+ß¾} röìÙbå-ZhÐ.FFF:99áOUAAaΜ9W®\¡½)EõêÕ+<<|ìØ±¸Mäååûõëwâĉ'Nà™Édîß¿ÿðáà ãáHAAaÞ¼yW®\¡EÞi×®]XXØÆi>’ÚÚÚû÷ï?~ü8í0Œ³gÏ®ZµŠHE]]}Ê”)TG"ÐÝÊËËÓ¾Q$=µ,Þµxf̘ñêÕ«þýûCƒTUUÁ¾|‡æÌ™ ‡å£G.((8räˆì`"ܦM›Æ†Ù;V4¹4)ŸÿåË—ÒÒReeånݺ5Õ™Fee%›ÍæñxZZZ;w–1@ï+ÿÇyyyZZZ]ºt¡e...akß¾}ÞÞÞ¢¿-++ËÏÏg±XFFFR·¥Ñ:wîÜ MLUUŒ-ÒËDÕ××CÔÆîÝ»7˜¹Q%¥¥¥IIIŸ?nÛ¶-tÑ<µµµ!‹%Ú?á“É”ñvMC äääÔ××Ê([,Ðm˜Lf=DG{*Ÿ?Ž­¬¬ÔÔÔ´µµ }B«[VVVZZŸÏïÞ½»¥¥¥ôï‹ÇãüøñC–~ò×CÍ»wïTTTúõë'Å»¿QL˜0áÁƒ#GŽ|úôé?­4`êԩׯ_×××ÏÍ͕޲¢¢"22ÒÎÎN–2‰Ðöïç¯Ú|||vïÞŠŠŠ¢êEzzºMmm­®®îû÷ï” þ<<<ÀüðáË-ú»«Óòü3›½uqíÚ5P0_»vMì7@h>yyy»ví’=(Õ_VB¨¸¸ØÀÀ ¶¶öæÍ›´ƒãh4Jh#qÚþåüeN©¡¢¢¢äääÇ=z!4tèÐ&Kl!33³ââbp:ûçˆgÏž3ÄN•Z–f³·’’’ ’Ÿô¨§¡9TWWéÖR¬ÿ®Ò€uëÖÕÖÖ:88H—Ø Úþå\¸pAôØÇ_Dhh(öÕïØ±ã¾}ûšY è;,Kì‰Lÿ&þÍÞZxùò%¶¯_¹res‰)¼{÷N(jii‰=8îï- !ôùóç'OžèèèP} ["´ýËùóÏ?qT‘_ŠŠŠ††F§N,,,¶lÙҴ㜠„Ö‹¡¡¡›››¾¾¾££ã°aÃþîêÿZ˜LæÔ©SqPÃTi!‚‚‚)бiû÷ó×Û´@…FÙ´ý? ùA к B@ B+€Ø´ý¡¢¢âï®@ „¦C„¶ÿDFFÒRpln@ Íqw Ž@ ­bÓF Ð B@ B+€m@ ­"´@ ´ˆÐF Ð B@ B+€m@ ­"´@ ´ˆÐF Ð B@ B+€m@ ­"´@ ´ˆÐF Ð B@ B+€m@ ­"´@ ´ˆÐF Ð B@ B+€m@ ­"´@ ´ˆÐF Ð B@ B+€%K¦´´´_]ssó–*м;@ þáÈ8ï3¾}ûÖ`¦Ž;6»>„Fðýû÷–*м;@ þáÈ8ï“íQ@ „V€Lš6@ Âß Ñ´@ ´ˆÐF Ð B@ B+€m@ ­"´@ ´ˆÐF Ð B@ B+€m@ ­"´@ ´ˆÐF Ð B@ B+€m@ ­"´@ ´ˆÐF Ð B@ B+€m@ ­"´@ ´ˆÐF Ð B@ B+€m@ ­"´@ ´ˆÐF Ð B@ B+€m@ ­"´@ ´ˆÐF Ð B@ B+€m@ ­"´@ ´ˆÐF Ð óññù»ëÐ2ðùüsçν}ûVII©S§NÒ3×ÕÕ±X¬¼{pppBB“ÉÔÖÖnÁbÑÑÑáááÕÕÕzzzw]d…Ãá´ìûj><ÏçËÉɵxÉ-Ø9y<Þñãǯ_¿ndd¤®®ÞØŸ7¹ÙA}}}K5Î?ùãJOO¿wï^JJJŸ>} †ôÌàĉW¯^500èØ±ã_Sà ->üÊNUUÕÝ»wïß¿ÿôéS&“ c`Ó:˜Ø¢þx<ž@ `2ÿ‹,OÍãñB ~.—Ëd2eÏߪùþýû•+WRRRÌÍÍ›öñåìÞ½»  €–¨  `iiieeÕ»wï¿¥a8 Û¶m366ÍðñãÇÓ§OGEETWW+++ëèè 4ÈÓÓ³W¯^ͼûš5kêêêV¬XѧOŸfõKùþýûÌ™3+**Î;×äBÄöeee›AƒµÔÌš——wúôéÈÈÈ‚‚‚Ÿ?*++ëêê6ù}%$$\¸pAJ†M›658Ö××ß¿ÿÒ¥K999EEEB¡PKKËÐÐÐÝÝÝÅÅEAA¡±µÂäåå!Ô®]»cÇŽåååÕÖÖ.\¸° wi„ÐvÿþýŒŒ IWuuuoܸѽ{÷&TâW#¶lÙräÈ¡Pˆ«««³³³³³³Ïž=;{öì;wþÓt9¿‚­[·VTT 2d„ M.DRO8uêBÈÎÎîÒ¥KmÛ¶mrùB¡pëÖ­‡¢¾¯ššü¾æÎëïïOSä|ÿþýèÑ£¡éÓ§‹öÄ„„Ë—/K¹©···t¡-;;{ÆŒyyyÔÄÂÂÂÂÂÂèèhÿ‹/ZZZÒ~%½Vð°;vìØ¿¿@ À‰ùùùùùù÷îÝÛ·oß¾}û\\\¤TL š›Öì—Ë]¼xñ­[·¨‰iiiiiiçÎ >{ölƒúï=X—ð×(nݺ•‘‘ѵk×9sæüí%ߺuËËË wòêêꤤ¤?þøãÎ;çÏŸoÂØòýûwéyºvíJÚV®\ G‡†Þ¿ÿÆÞ´‹:w³®®Ž&´ÅÆÆN:µªª þår¹‰‰‰‰‰‰·nÝ:yòäСCïÞI}ûöáî*å©£¢¢<<<ª««qÊ‹/^¼xqûöíQ±200p×®]x¨©¨¨ˆŒŒŒŒŒ¼víšØôWºbÅŠŠŠ „¾¾~Ó„¶>\¾|YYY™*´Ý¾}»   W¯^ ´)((lß¾}ÆŒ»wïvuuÕÔÔlì]ý©´mÛvÀ€øß’’’>ÔÔÔŒ?þÆfff-ó—" ===ñº¶oß¾#GŽìСCEEETTTLL BèܹsùùùW®\ù»]ÿÞ¾}{éÒ%„Њ+š_µ'ðx<3x<^ttôÔ©S¯_¿®¢¢Ò´’çÏŸûömø»OŸ>öööÚÚÚ¥¥¥ø}>}šÍf_¾|™*”8p!Ô¿Qñ¨¸¸!¤¦¦Ö·o_I#¥J S¦Lùùó'BHYYÙÙÙ¹gÏžL&óÇ·nݪ¬¬,,,œ0aÂåË—i néµB-Z´èúõëð·ÍðáÃÕÕÕsss“““jjj,X¿sçN)Õ“ÄØ±c·nÝšŸŸ?oÞ¼37­ÙB<ÏÍÍíÕ«W!ƒ1jÔ([[[‹•ššúêÕ«’’’˜˜{{ûK—.™››7á)þ5Œ5Êßß?77W–×Ñ|BCCþüøñãõë×S'9:thyy¹ØK¥¥¥éééè…ãššš·oß"„|ãÆæ,Ñ›_Tmm-Hl}úôk·@ûRÞ¼yãîî"‘½½ý°a㢢?~üýû÷)S¦Ü¾}{РAªƒžžÞˆ#$]¯ªª¢~éRž:22rÚ´i\.WIIiÚ´iýû÷/--}ðàAlllNNθqãbcc•••qþÀ€¦¦¦æééiiiYVVöüùóÛ·oŽ?>..®K—.zœ&S]]½víZYä×–b̘1¦¦¦›7o†%}£hto311¡éTþü¹yóæóçÏûömÓ¦M7oÞll™¿”‹/‚ÄÆd2O:õŸÿü_òññyöìÙo¿ýÆårŸ={vìØ±Å‹ÿ}5ýå;vL(vîÜÙÎήù¥‰ö6›½jÕªgÏžÅÆÆnݺµirÆÅ‹At`2™AAA“'OÆ—|||"""<<<êëë#""‚‚‚þøã‹…â€.^¼ØØ*q8œ… ‚Ä6`À€àà`ê8»iÓ¦yóæEDDÔÖÖ.Z´(::º]»v2–|ýúuØäääÎ;7nÜ8êÕ7nøøøTVVž:uÊÅÅ¥ «y‹%c5§Ù?›’’ÒíÛ·­­­ñ¥òòòÅ‹?zôèëׯk×®½ÿ~cáߓɜ?þß]‹¿mÛ¶Õ××#„=<< qÚ´i¹¹¹çÏŸÿã?ôõõUæÉ“'%]Z½zuzz:“Étrr‰ ×™8qb37Uš_¬!Bûöíkp%ÃçóçÏŸÛÖ­[ñ×7gΜû÷ïÏ;—Ïçûûû7öã5jÔ¨Q£Ä^úúõ+|Å“&M‚¯”§>wî—ËUVV¾rå ž\æÏŸ?wîܾ|ù’ªò¼sçB¨S§N÷îÝÃæÓ§O·´´Ü¼y3‡Ãyüøñï¿ÿÞ¨ÇiiiisæÌùôéBÈÄĤ®®.77÷/¸¯««kFFÆ7üüü»ÑVhíÚµ ´µµEÅÅÅq¹\Z>Ÿÿùóç·oß²Ùl0Q”„P(,**JJJ*))ið¾ÅÅÅIII_¿~•’ççÏŸ›6m‚¿}}}©0räH,[ìܹ³´´TJi¹¹¹ÙÙÙ0ú´:¸\nDDBÈÙÙùYêéé={4á/_¾lB UUUø}­_¿ž*:£FÚ¾};üíïïßàþ„6--­&ÔêðáÃ?~DuíÚõܹs´•q»ví‚‚‚ B_¿~ݳgŒÅÖÔÔlذþÞ´iMbC¹ººž9sþ jBÍe¤9ÍþãǬ& ¤Jl!55µàà`XÐÇÄĈÝU………III¹¹¹§±•;‡”””ÒÒRêÆ®$êëëSSS333Qù•••ÉÉɲŒ`¢üüù3333==]’ ƒMöO@F`C<##Ct$o©©©¯_¿F™ššÎ˜1§«ªªÂÇÂãñNœ8Ñ"÷B}ùò%88!äääÔ³gOœŽ§ž®]»J/A(fgg¿ÿ¾®®NlYŠª®®ÎÊÊÊÌÌ;åa³0YF¤ÈÈÈÂÂB„»»;m½4a„•+W"„bbbĹ²O¾TöîÝ Î«V­Â‰’žZ À­'OžLU°X,¼ÉøôéSœ^\\œ––†úÏþC3Ø]°`ìÏè§OŸ®¥¥EÕ"`fΜ©¥¥¯!Äáp´µµµ´´ÀÜPMkvàñãǵµµ!©S§ŠþÁ`¬Y³þ>{ö,õÇ 033377wpp°µµ500˜;w.ˆÈ ’””äææ¦¯¯ogggooolllmm-ª€Á2›Íž6mš‘‘ÑÈ‘#§OŸÞRåc‚ƒƒíí파Febbbgg÷ðáCj)¯#11ÑÅÅÅÀÀ`èСÇ722rtt|óæè]ø|~`` n´^½zõíÛwáÂ…Té >« „ÒÒÒ ã räHZQ=zô÷¬üü|œˆíÞD5LòòòjjjÔ<¡Û·o;88ܹs‡ÏçK¯yÓèØ±ã¥K—víÚÕ¦M›_Q¾Xºtém ŸR£h1 öƒX¹re`` u4©¬¬Ÿ_SS3wîܼtæñx¡¡¡cÇŽ•ÒûÇÏçó9mÔF%&&²Ùl>Ÿ?~üxHñõõ9rd¿~ý@ö‹€š0 IF]4~üøhii¹bÅŠ>ÈþÁtîÜþ€wÔ¨¦ñ}Í;þ€÷Ñ7¨øÿ§À~m|>ÿDZ±±’VÒT²²²>|ø€êß¿¿………¤l={ö„©«°°,?¬îløqÄræÌ™„„„˜˜,/BÉb×Í\.—Ïçce°@ €ÌÒÕÃMkv¿V¼í%Š••Õ‹/"""h §•+WP•Rõõõ¡¡¡...XB•Dff¦‹‹Ë³gϨÚ/6›½víÚ}ûöQs‡üõëWgggv#½äÆ–œùøøXXXìܹŠ +c“É411Al ßWïÞ½Á¨ò;;;ƒ¯5\ ˆwtt„lö«¬¬¼hÑ¢nݺ 0`üøñ†††®®®Òee\¥MOð@#c­ðô‡m×®(~wsÓš€~Å`0ໄ™™YŸ>}¨QvîÜ ãƒ……E```ttôÅ‹AVPP0uêTP ‹åóçÏS§N­¬¬”““[¸pá7^¼x±uëV°‹Ú¾};ÌÜT Øl¶ÍÎ;ïß¿OUZ¤|___MMÍ 6„‡‡ß¼ysÁ‚L&“ÇãÍ™3G4>•âââiÓ¦UVV*((øùùEEE½|ùÒÏÏOAA¡ººzÚ´iT ={öœ?!dll¼k×®—/_ž8q†J6›ý>|…FFFÐñ¨Šg¥¥¥sçÎåñxJJJ»wŠzñâ…¯¯/,ÀüýýA¢jBÉ!˜†ÕÔÔÄúú€5…P(Ä[ ^^^0Mœ?<`B{÷îýk`` ‡»ÀÀ@›†ÀÌ™3Å~‰4÷Ìàààììì &œ9s&***00>Õ¥Á¢ŠŠŠ¦NZ^^Î`0<==oܸîãã›n‡«#X“hjj>}úÔÊÊÊÈÈhüøñVVVVVVkÖ¬¡*>Bx™-v»omQ»™ì“/¼¼<°TvvvÆ{—26 (àƒÕÀ‰, t¥ à_WWnòŠŠŠ^^^8·nÝ@'—ŸŸ¿~ýz ‹-[¶4¸¨“‘Ñ£G·`„ssóåË—ÓÄâyóæ-_¾\Ô"„6.—K‹HÐ -0 …³gÏ‚–ÏÒÒÆå’’’;v „|õêUPŒTsTI€þ–Ç㉚^-Y²„*²tíÚôü`À( °ïár¹ÔmÁ·oßÂzˆjý³eË–—/_&%%I’Z˜hÅ*ÌÁƒÇwÿþ}@ ªªêååwõêÕQ£FÉ"±q¹Ü§OŸNž<ªp–±)ø|>Hä²Äν—Ë•¢Á`¡Çã988Ü¿?;;;,, Þ,—Ë5kVrr²Øßâý…k…UM²Ø†ã‡£—Šv][œæ4;þĤ/DÁ­Hë“;w¯¤7‚/YYYÑܽŒŒÀö¹ººšjA¬]»VÆ¿M(ßÛÛKlÀÊ•+aFQK ):t(–Ø€I“&®ÿëTiÖ™;wîôññYµjUÓ"ÀYYY]»víÚµk´u£››ì߉îÒÊ(¹±Õ œNxuttÀ?,''gÏž=+V¬¨¯¯ïÒ¥‹ôÈ pH UÍ&;íÚµ;zô(µ;uê„ï(K À ²°° J<!ccã   U«Va…ŒH|>_]]Ýßß?!!!555((ÞxTTUÕ¤ªª ]ëõë×óæÍÃz8.—»nÝ:ìÂÏçó¡ 5ùRÉÉÉÛ;—f†\ÍÊÊš={¶@ PQQ}kB¡°¦¦;4p8Ø ÆÈ‘#E½ÜÝÝ_¼x:nÜ8&“Y__íÚµaƹººÂ6]«;´5Öi©Ñš¶ïß¿Ÿ>}Z4]__çÎØÈ¸ååå´6Å{Ò©©© !ÄÔÖÖ~úô©²²²¢¢¢¢¢Ô†Žìàp8غHtl8p ¬Æ0rrrŠŠŠG–FÁyh EEEÑó ·á8‡b±µµÕÓÓc³Ù¡¡¡îîî‚***´ÁQì-—Ë…ïY4&Pjjª§§'6ýîÝ»·§§§››[ƒŠ“·oßâYª¾¾¾¨¨ËÖ®®®þù'Î)cSÈÉɵiÓ¦®®N–÷…Í©‚¾$°ƒýìÙ³AÁƒêر£––Ö† êêêîܹ#6:n‡×C¸JJJJ V wNÑb!B£èO† Bû^Z„æ4;þ­t¿Qðø@ó6E)((˜››IÚ¸\.oÑ„$Z)))T1T]]]ƃ4šV¾¨ÁƒÁ°²²ÊÈÈÈÊʪ¯¯+/â{µoß^tî]5ÞÃB¸êSéСCKHøùóçÒÒR+++a¤•ÝñPEEÅÊÊJI‹+ìm@Sü¸¹¹=|øðÞ½{àaÊ`0<(Eœ 1k\]]›&p˜ššŠnàâ]­ÔÔTé–Ouuuð*mmmE§§‰'b÷ ôßéFUUõáǸ¶...C‡0aBnnnXXXUU®«b³Ù÷ïßòäIŸ>}˜Lfrr2‡ÃQPP°¶¶ÿ\Ѐ6mòEÍ–z1………îîî•••òòòçÎ}›6m‚ødjjjƒ 233«¨¨HNNŽ=vìØÙ³gÃÂÂÄÛÙÙÙÙÙååå8qâòåËUUUÂ×ÄÄäòåËM;âïÑXM[£…6eeeêÜËçó•••###©ÁTñø‚'iQ þ!BH(Þ¹sçÈ‘#éééRF‡wïÞÝ¢XÖ(4455óóó³²²@o,å¹`塦¦F;ŒH]]]ô‡²¸™0Œ©S§P·aCpâĉÚKj><Á`…BQ'''Kl{÷îGZ˵œUSSsuuõ÷÷§îÉÞZZZ2¾/Ðs´oß^Ýɘ1cÀ8Fô¤l¬üÝ jjj%%%°o( 6e}Ñ1110¥Íš5 ÊK" ‚÷6Yàûºµ´´ÔÕÕËÊÊðl%‰ŒŒ è6bg"ׯ_çp8ªªª4û¼N:y{{/Y²„ÏçÇÅÅaÌ®]»Þ¹sgòäÉyyy\.È¿{÷n°)TQQÉ«Q“/æÝ»wPŽ««+¸ô6?~¸ººÂëÞ¿¿h°‚»wï‚Äfnn~ñâEj‘[·n-Y²„Ãáxxx¼~ýZRxv}}}ÿ5kÖìÛ·ïСC¡ÌÌÌ’’’Ö%´aI£±+¢F mfffÔSó–.]zùòåššš+W®xzzâtPÏ2™L)çQ`@,w#„ºvíª¦¦Ö¾}ûüü|ªó?Þû—}  K—.ùùù\.777WÊ:ûË—/°CÔ`ŸF1uêÔÝ»wö »»{RRx>‹ŒðKQVV–——çr¹Ø £ªª !02À†ÀÒéÒ¥ 5°»ŠŠŠ‰‰‰Ø™[ƦÀïëÇR Û«««Á:[ƯTIIIÊ žýû÷/((HII©««DZ½”3Ü0É—½V]ºta³ÙΑºƒ?`ÀªÚæÒ¥K0Fÿ:Ó·æ4{çÎ jkkÙl¶,–.€ô€gø›M–`i͡˗åyø£k×®Rìë¡J µÿŠÀl6{ôèÑx[_CC£S§NíÛ·WSSkB) bÒ'æD—:ŠŠŠø{”î3˜žž³Ò”)Sdï„4$½,§¼Ú‘åI"lllàØØXj ]]ÝøøøÌÌÌW¯^%$$hhhOž<¹]»v°Å„wÌ5ùbàP)‹Õ5[uuµ»»;8*mÚ´IìL{, ãÚµk´>ïììüéÓ§;v|ùò%>>^Š˜ž˜˜xòäI,Š´iÓ¦Éðü]à]‹]i4×aÍš57oÞ¬««Û½{·››¶÷·´´Œˆˆ`±X÷îÝ“¾Æe³Ù ±uéÒ%((ÈÆÆØ»wï¦n‡ËÉÉñù|ìÙNElâ¨Q£@ƒ)EhÃÎö-kU¦§§gkksçÎwwwXÇtíÚµE$h,:u²)‡˜˜˜£G^½z•ÃáÆËÐ 6Ð4Ûׯ_8pàÀŸ={†(¦ ´lqqq¢Á!VVbbâáÇi™9"Z7###ýÂápfÍš%z¾Bee¥‡‡|«cÆŒ‘1ð¬ìLš4IQQ‘ËåúûûKÚ­­­½zõêóçÏé¾èÃSSS%Ý¥cÇŽ«V­JIIÙ·oÈß¾} °´´\²d‰Ø£)…,MѳgOô_[[ëááÇèÕ«WÃŽáÅ‹@_F©ø·X)O+„¡P(zÔÅ‹aÕ‹‡HÑ×±|ùr˜toÞ¼ &!mmí#GŽ0Œšš'''œ¾zõjjùRje``FQ555¢nË¥¥¥“&M›å3fà‰¾‚¢¢"šÄsüøqYŽ}Àæ4»©©)œ†RYY9{ölQýß»wï Ì•¢¢"Þ‹%ž•+WÒºÖºuë`8“"uÁ¥„„Úq˹¹¹Û¶mC©¨¨4Ö¡µ™åïß¿Ÿz Bhß¾} K×ùÁ½Þ¼yBM¯¬¬tuu8p >¼¡oß¾ Ù¬^½š&²¯[·níÚµÿ×Þ‡7Uå}ÿ›­”­[–(›ha€¢(¢Œ EAeQÅgÜ)cEtÀgœR¤ãH]^Ð2<¸€ZT^"kGd+T†¶S^(ˆm-…6Hk(Ò´÷ž÷“ÜÞ&iš.$ù~¼&77·÷žÜ$¿œåwæÏŸ¯-Lqíåçç78)–øPSS£½~ª««ë›ÍÚû=ј1cÄ/Æ>øÀé`rr²èУfj.^¼(~ <8>>~Ù²eŒ1‹Åâ¶"MŒ3mNÀ!X­V§Á‹E};7˜¦‘™·òòòD]‘êÔ©SÓ§OŸ?¾ÈHÒ±cG`mܸÑiÆŠŠ ñEf4Õ×\sMzzúÊ•+Ÿþyµ†““#f‹ˆˆPzyÿå+üðÃbÚ¨æD½/½ô’h¬|úé§Õ9ñÜ}þ,‹ko³ÙD¤Nš.†O<ñDlllJJŠøhºé¦›>þøãC‡=ñÄÞ÷UmmÔÊÂÆ&Šk ­cÇŽ Dd³ÙÅÊÈÈH±2''gêÔ©›7o.--ÍÊÊZ¶lÙìÙ³óóó«««ÅøçÛn»MôHMM]³fMqqññãÇßÿýI“&¹~½òÊ+âó%11qáÂ…ûöíËÎÎ~çwfΜYßϾ%K–ˆ0¼°°0..îã?.((°Ùl………Ÿ~ú©˜±˜ˆ:tèðæ›o6¿4œtèÐATEˆI$‡ æú]2{öìøøøÉ“'»fìlA¢íÆjµº¦BÐ2™L¢ègŸ}&¾›m6ÛçŸÞØ€®¼) "Zºt©x½ŠŠŠÆŽûá‡(вdɱè¹Ü®];u%¾ÒÖ¯_ÿᇞ:uJÈrøðá¢kÚûï¿ÿâ‹/ž:uJ´P¬X±B|зmÛVÍÿäúr 8P\Ì䘰ùСCååå·ß~»8£óçϋ߅S§NujðõpTD´xñbñ}væÌ™»ï¾û³Ï>+**ºtéÒ¾}ûRRRÆ'šlÆŽ«Õï§žzjóæÍ{öìY°`6ƒ¼n¯·&;%''‹an¹¹¹ãÆKOO/--ýõ×_:”œœ|çwŠo¦3f¨=è»té"J¾¨¨hÊ”)kÖ¬ÉÏÏß¹sç‹/¾øÑG‰2Ÿ9sf}§0gΑ*âõ×__´hÑ÷ßÿßÿþwåʕӦM£—.]Úœúì&ìßf³Í˜1ã½÷ÞËÉÉùþûï_{í5L˜ÍfÏÓ.Í;7""‚sþ—¿üåí·ßIáÓÓÓ§L™²{÷îüü|õËØl6¿öÚkDd±X&Ož¼zõêüüü;v¼ôÒKb¸qïÞ½µ-J¢ã”,Ë/¿üò>^íÛêÁܹsÅ1¼ýöÛýë_¿ûî»ÜÜÜÔÔÔ3fˆw½: º8_«Õz×]wmß¾ÝjµVUUíÝ»wÚ´iâ-ÿÐC©Í£ƒAô¯ªªš9sæÚµkKKKKKK¿üòËI“&‰¸yΜ9ê uï¿|…æG½‰‰‰"õn¯^½bcc¿r±~ýzµæLmÛ}æ™g–-[&Z?l6Û±cÇ|ðAñjöêÕKü$¢#Gޤ§§‹Œú÷ÝwßÖ­[·lÙrï½÷zxƒçææŠLÅžsh{©e÷¦õ ½{÷nôø ‹×DÝïM7ÝäúPqq±øÃŒ±íÛ·‹•eee>ø Û?Ú±cÇõë׫OwšWÐétêÄÕçÎS7NKKsûj=ùä“â›cñâÅN‡wðàAÏ? ¢¢¢öìÙãô¬Çœˆºuëæz¾âëDûxƒÍ™3ÇuãuëÖ©(99Ùuõ5{ì±Ç\m)j\ÿÎ;ïxÿ,‘zM¯×ïØ±C]éáJð¬Á¢8Ðà¾ôôt×'ŠþRªÔÔTõ¡Ý»wk?vµm1¡¡¡›7oV·tûr”••5ø‰vÛm·i/ToŽÊb±dffz«uß}÷•””hŸRZZêvâQ³Ù,:eÞxãbKµæ;11Ñó 6§Ø-KFF†‡žŒ±„„„óçÏ;AÞë²7IDAT=K;}¸VTTTnn®º™Û7מ={ê˘ýꫯj·ôðFöÀËý‹(Êl6»í‘¦×ë7nܨnìöå°X,ÿþ÷¿ëN~Ï=÷”––j7®oª±ˆˆˆmÛ¶i·Ü¶m›ö:ïÓ§O}'{ðàA·m4#GŽÁ«Sá{¿gáüùó"7¯`2™ÔÏð°°°½{÷j7VgšyöÙgÕ•ùùù¢çFXX˜È‚.ˆî•z½>++Ëó1¨—×®]ëô¸ÀfÏží6ì»ãŽ;œ^»:xð ÛŽ˜D4cÆ õ\ZZªí—æÔ4øàm=uÜ«0hР£Gª§¦¦ŠJúÇ{>B•Úì–––æåSñ›'::ºEöæAII‰WfÍšÕØç6âǨèmæ6`2™Lâ3‹s®‰­ãããµc¹ÃÂÂxà}ûöiû2'&&&&&jûYÇÄĬ[·Nt‘$I{Mßu×]©©©ÚÎ’f³ù7ÞHJJGè:@©_¿~;vìHHHpmù ‹ÏÈÈp§]ßÞÔBÐ>äaãÑ£G‹ƒÁ †¡Z³gÏ6™L]ºtñ>ÝFDEE‰nÚÁ¿ 2dÈ¿þõ¯¬¬,íxxW‚g …пÿ;wº}½Ôvš¨Qx÷ÝwŸ}öYõzÓ^6ƒ Ú±cÇÿøGñé ¶ öéÓ'--M;ZÓíËÁ›?þºuë\;›3ÆDQ?~Üm#²‡£°}ûö„„×<bÆU«V9õˆ’$iÅŠ>ú¨6NºõÖ[¿þúkñ&RKI}ïh¯Ìú®·&; :4##cæÌ™N9êôzýÀÓÒÒþö·¿¹¾;Þzë­¹sçjûÔëõú &¬_¿^ÛdàöÍóå—_Ž=Z[ž={ö\²d‰SÍ–‡÷¦^î_Ýùܹs—.]:pà@uûþýû¯^½Ú›QGC† Y·nö"Ôétýû÷_¾|ùš5kœÞho¼ñƼyó´1VDDÄý÷ßÿí·ß:%½»ñÆW¯^­îÖÃ(Hñ 9jÔ(õ«Ôh4>óÌ3k×®Uò5mÏêé¬ZµêùçŸû¯ªª½¾FŒ±aÃíg‹ÕjÝ¡¢¢¢Ô>”DÔ©S'Ñ0]^^®®ÏÎÎä#<Ò`5›z ®W‚X½iÓ¦ñãÇ«oU£Ñ8}úô•+W:½vÕ¯_¿õë×k§1 ƒNIIIIIQßÈ’$%%%%''‹˜Xý823fÌX¹r¥SævíÚ¥¥¥½üòËNc$#""’’’Þzë-§—Àû/_1òÔ`08å«wUßY{3ºVý~øá-[¶ÄÆÆŠ©¬¬­j:uš>}úÖ­[µùuGýüÃû¢‹°Ñhlì˜?·ŸMÞ›ß~û­è”Uߨ˜¥¥³ò¸ª©©)...//ïÒ¥‹çæÛ²²²’’’nݺ58ž‚s^RRRVVÖ¹sgµªA"ÿaQQQYY™ÙlîÑ£GLLÌÕn·Z­ƒ¶Z­ãÇWì]L’$/Óµ7ÙòåË.\¨Óérss;b¥ExSZ6›-//¯¨¨¨¼¼¼k×®×]wÙlŽ‹‹;qâ„$I7nT;¢iÕÔÔTVV*Šâö'¯èç~âĉ޽{»íÅèùå(..>}útqq±Á`èÛ·ï€6mÚ$zÃŒ3æ‹/¾p{5z>*ñGóòò /\¸`6›###‡Úà|£•••=zôhTBÏ'Ø´b***Ä[LQ”k¯½6&&¦Á¤†²,—””\¸p¡M›6QQQMahµZ‹ŠŠdYïÒ¥KÓ¦hÁý_¼x±¨¨(<<¼k×®N—••‰eñâÅÚ”÷ªòòr1¥UŸ>}< Ü&M¡5ø¡JD•••UUUíÚµó¼O"ª®®Y–z÷îÝàÆÚ³páÂ…ììì³g϶mÛV\®Ûˆ–DNçz}Ї$IòòÏ5¢(?þøcuuutt´7‰²Ý—$I ¾”gÏžÍÊʲZ­áááÆ óܧ^Q”üü|1KPttô Aƒ<¿¿¼ÿòõ ñQsòäÉÐÐÐÁƒ{Ýß(<òÈÎ;GU_îC?îMxòÉ'7lØÐ³gÏ#GŽ4¶úÃA[[´h‘6±yóf×´é¾TUU5räÈ‚‚‚ hBúL‹ÅñãÇãââ®\¹™™™éM¢cxî¹çDGòäää?ÿùÏþ>œ–×:‹=°|ýõ×"µáªU«Ü6p@ó 6¬°°páÂ…Þ'¥òÙÞˆ¨¬¬,66öÊ•+}ôQV h»ZJKKsrrvíÚµzõj›ÍvË-·ˆ<þµ}ûöéÓ§·oß>33Óg•m-^—.]ƒÎÜæÓ÷‹ššQݸš¨i"™§m«²":…òP#cŒqÎNDÄÄ¢]´ö–Í\ÖikfD’D&F&=™ lÕ‘p¢²›û™¼|í´‹’‹ÕdFtnKm LáÄD<Áq®1{ÄÆHáœ8#²ùK-Nް˜(DOÚ°÷3#zš-Ý:yÕNŠ  Xìÿ‘…(ÄÈΉˆ‹†9ÅG8þlj1õ.–ÍZzÒbd¡Õ|ÿì¡ÀoÍ£Ú¢Ö´GÛÿ‰ÛÞÖEÐ,d…d…Ë ÕȤp&&H¨‘yLb¥¸!+\á>]ž.㛳‰ˆLJ™JÚ8oÓÖDïL£¶&"¢]'èØÏµÚ'°7þÚן±ÐÂMö ¶Å°È0_Ÿ‘cYçŸ(sQÎâ%†š6p¦p5,Q—&s¦pŽõ$+ÌÇˤ-öá‘a´îiöð0êÖ‘IŒºv`‡Òº§X´™ˆÈz…mªs„jr]§}nú¥&"jBoOe¯ÏH”­¬8ÊVÔÀ)$× —9ú´€3…3Y±Ï‰ÉÄ4JŠ}2sûÄUþ›ô©ÔJÓVҪǩggêщþþ€k¿~:[NO}B?—×y®ši®FqÞçß7Ó(º¾]וÜKóþ×÷ÓXi"8fp`İFMš6€`!+Üž{Bt®RHæöVEYÔT9Vúe™_F,§»íUnZ¿Ñʽ4a9åsó\r¤ sZÙFÏF•UDDß@cúü¼¦Y’¬pµbŽSo_>f±XZîb€VÊf³ ZÒ-4”kõ9fÐÞö;“žt¥¨NtM;ú¥’~¾HÿwŽ®Tûû°šÇ‘QÅyee%å¾Zb4ÜšG‚…&O[ŒWZQÜvÙFG éh¡¿£%¨ñ1Wܬ'¢'P!h '…;2½:‚FŽZ7Þ*"¶ß5@ÖFlöpÍQøÞ÷iCÐ,Ô`Dš H[K†Ýß)§r&ç¢ö>PFÐcíÕUŠ45m¬u´‡þŽÕNÏe.*5ÅÜڛjóª² A@PÐétך/-ë(鈨¶¾‡¡–Í'jãcµUšH‘éÚˆJNçÍ´I’ní}ùð¹Žzm¾/{-Kûò%–ärC 3ª‘idôeIjxè(!h†Èoí%b$9åi3AqÍÄæËZ’½1”i×q".SM5M"“w´‹¾]ïÝ&~SoIG¢‘Ô)yÚI¯QÈ\s›1Rd’kè&þÔ·k¨—ûAÐ,t:ݽ±FY9={S_I!&sT¹i£·ÚÔbX6{IjW6""Râ q…™Þ»ÿô½CC¼ìÐF˜ ¨(ŠRUUuâçËéÙ†NþÒ¡¢Êàïƒ "M¶kÍÖ[zZ' ¶ ˆ 5™L’s[u½´EQª««m6›Íf«®®–e™#í‡O0Æt:Á`0F£Ñ`0x±šG‚$I&“I¯×›L&ιˆØ´qb¸–¢MÀ&n3ÆDèæ}«¨ A@0jZÜ~ÔˆJ9ðmA@@дmA@@дmA@@ÐþÏ Ð$¬k~ôIEND®B`‚traitsui-7.2.1/docs/source/traitsui_user_manual/images/simple_enum_editor_closed.jpg0000644000076500000240000001056214046644454031665 0ustar aayresstaff00000000000000ÿØÿàJFIF``ÿÛC    $.' ",#(7),01444'9=82<.342ÿÛC  2!!22222222222222222222222222222222222222222222222222ÿÀ+("ÿÄ ÿĵ}!1AQa"q2‘¡#B±ÁRÑð$3br‚ %&'()*456789:CDEFGHIJSTUVWXYZcdefghijstuvwxyzƒ„…†‡ˆ‰Š’“”•–—˜™š¢£¤¥¦§¨©ª²³´µ¶·¸¹ºÂÃÄÅÆÇÈÉÊÒÓÔÕÖרÙÚáâãäåæçèéêñòóôõö÷øùúÿÄ ÿĵw!1AQaq"2B‘¡±Á #3RðbrÑ $4á%ñ&'()*56789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz‚ƒ„…†‡ˆ‰Š’“”•–—˜™š¢£¤¥¦§¨©ª²³´µ¶·¸¹ºÂÃÄÅÆÇÈÉÊÒÓÔÕÖרÙÚâãäåæçèéêòóôõö÷øùúÿÚ ?ô?ø/·^ðõÅdž´i§—L¶y$’Â&gc’I+’Iç5Å„£Õ/¬m~A|l¥Xeš Mæ4“Ì‘Xü²/jèü ÿ$óÃ_ö µÿÑKTt¬Ÿx¬ÿ18ÿôŽÚ¦NÈhÈþÏðïý_ü“ÓøõÙþÿ¢Kÿ’zoÿ®¼‚:‚>´ñQÎÇc‘þÏðïý_ü“ÓøõÙþÿ¢Kÿ’zoÿ®ºŠ9ØXä³ü;ÿD—ÿ$ôßþ=Gö‡è’ÿäž›ÿÇ«¬y8Ì’:¢(Éf8z“N£…ŽGû?ÿôIòOMÿãÔŸÙþÿ¢Kÿ’zoÿ®¿5ÙaìŒÒ"n^£,56Ý„ÑËýƒÃ¿ôIòOMÿãÔ¿Ùþÿ¢Kÿ’zoÿª—Þ:°±Ô.-=YÚ Z2D±àpHâ ?4à3äêÿ÷ú?ð®ÕĵuŸë4¶¹¥ýŸáßú$¿ù'¦ÿñê?³ü;ÿD—ÿ$ôßþ=Y§â.œ :¿ôÚ?ð |EÓOHusÿm£ÿ PÄÿ(}f—sKû?ÿôIòOMÿãÔgøwþ‰/þIé¿üz³¿ábißóÃXÿ¿Ñÿ…ð±4ïùá¬ßèÿ¨b”>³K¹£ýŸáßú$¿ù'¦ÿñê?³ü;ÿD—ÿ$ôßþ=Yßð±4ïùá¬ßèÿÂøXšwüðÖ?ïôáGÔ1?ÊY¥ÜÑþÏðïý_ü“ÓøõÙþÿ¢Kÿ’zoÿ¬ïøXšwüðÖ?ïôáGü,M;þxk÷ú?ð£êŸå¬Òîhÿgøwþ‰/þIé¿üzìÿÿÑ%ÿÉ=7ÿVwü,M;þxk÷ú?ð£þ&ÿ<5ûýøQõ Oò‡Öiw4³ü;ÿD—ÿ$ôßþ=Gö‡è’ÿäž›ÿÇ«;þ&ÿ<5ûýøQÿ NÿžÇýþü(ú†'ùCë4»š?Ùþÿ¢Kÿ’zoÿ£û?ÿôIòOMÿãÕÿ NÿžÇýþü(ÿ…‰§Ï cþÿGþ}Cü¡õš]ÍìÿÿÑ%ÿÉ=7ÿQýŸáßú$¿ù'¦ÿñêÎÿ…‰§Ï cþÿGþÂÄӿ熱ÿ£ÿ >¡‰þPúÍ.æö‡è’ÿäž›ÿǨþÏðïý_ü“ÓøõgÂÄӿ熱ÿ£ÿ ?ábißóÃXÿ¿Ñÿ…PÄÿ(}f—sGû?ÿôIòOMÿãÔgøwþ‰/þIé¿üz³¿ábißóÃXÿ¿Ñÿ…ð±4ïùá¬ßèÿ¨b”>³K¹£ýŸáßú$Ÿù'¦ÿñê?³ü:æ’ÿäž›ÿǪ 3ƶ:¦«kaj±½Ä‚0Í,xõÀ®ªx|©EÝÓm89”ñ5”ðõ¡.Y+2ãV2WG9ýŸáßú$Ÿù'¦ÿñêu½„¤Õ,ln¾Aboehbš{ MëɃåÈÌ>XÛµm#“2§Ÿsó8”wÿ€Õ)ݤÕ<ÎŘê2eSþ‡uÖ³œ' s¤žÅë; ?é~&ÔVÒ4Å•õí¬c ¶4¶‰XáC‰Î:Žy8*ÇŽÿäžx—þÁW_ú)¨¤0ð'ü“Ï Ø*×ÿE-rž Ýý•ñ &K¥dŒÿ¡Úñ‘]_?äžxkþÁV¿ú)jŽ•ÿ#Šÿì'þ‘ÛTËa£›¿‡†tù-´…»Ÿ|H—ÛZ„L0ó3óHygcÍR]WX×4$Ôîï¾ÅZ…™ýÄ }™ qÈòÙÊ‚Är1Ï9ã‘ÛðÆ=¨Éçó¬ù†sÚ´Úƒêze¥–§%¼RZ\\<±BŽe(#Û÷;‰ãÍËãm@h+#Ï ¾­4ë$VÞ^[ìím¿!O%wçŸnµè¾¾ôÍ@yˆ5M\xR¶»¾k˜ž#lÅíÑNÔ\yŸ(ƒòÓ‘žjíÿ‰uxÉŠÇY·ŸOó°ºÌÆ8•–fñGÙwQÜ ¯‘žr++ÃgG\¶Ì×JîžY–Ùv©9Ý‘»Ó?^3Šìîü¦^ÝÍs.x$šF‘öÞ¨''µCÿæ{O¶¯øW½eG'¯¡çº9®‘Íi×vÑiÉ3y‚Þ(eV9ævxb:ð@MQñ!¸“ìÒÜ5Ôlìø¶º`̃˜ÊsÇðšìÿáÒ?è}ÿ«þ¿ð€éô¾ÿÀÕÿ ¨ãpê\×ü¿Ì—B«)å´W©Â£ÿÐ>ûÿWü(ÿ„Gÿ }÷þ¯øVÿÚx~ÿ—ù™ýR¡å´W©Â£ÿÐ>ûÿWü(ÿ„Gÿ }÷þ¯øQý§‡ïù˜}R¡å´W©Â£ÿÐ>ûÿWü(ÿ„Gÿ }÷þ¯øQý§‡ïù˜}R¡å´W©Â£ÿÐ>ûÿWü(ÿ„Gÿ }÷þ¯øQý§‡ïù˜}R¡å´W©Â£ÿÐ>ûÿWü(ÿ„Gÿ }÷þ¯øQý§‡ïù˜}R¡å´W©Â£ÿÐ>ûÿWü(ÿ„Gÿ }÷þ¯øQý§‡ïù˜}R¡å´W©Â£ÿÐ>ûÿWü(ÿ„Gÿ }÷þ¯øQý§‡ïù˜}R¡å´W©Â£ÿÐ>ûÿWü(ÿ„Gÿ }÷þ¯øQý§‡ïù˜}R¡å´W©Â£ÿÐ>ûÿWü(ÿ„Gÿ }÷þ¯øQý§‡ïù˜}R¡ÃxKþG #þ¾W­zˆWQ‘¤“Lœ,ðLdò˜|³ r§Ò¨Øx7MÓu/`Óï<ØH¯ŒQŠÛš9å™äû$ƒ{n+桸qºUj)'¥Žš4eÙ˜šö”·?lÔXÅçȦ;@8ˆÜ÷cÞ­Éÿ!ÿØFOý$º«Ëo2ʲY›k99ÅS¸áÕ|ƒº”€€sÿ.wUň©Û•›Ò‹W¹«ã¿ù'ž%ÿ°U×þŠj(ñßü“ÏÿØ*ëÿE5‰¨xþI熿ìkÿ¢–²ˆÕôÏëΞÔ/`¼¼IážÚk`¥E´1D’«º6í_6Ø|_ñÞ™§[XYë¾]­¬I )öHÔPŒ”ÉÀ­Xÿ…Ûñþ†ü’·ÿãtš¸Hÿjëô'k_÷úËÿ’(þÕÖ?èNÖ¿ïõ—ÿ$WÍßð»~!ÿÐÃÿ’Vÿünø]¿ÿèaÿÉ+þ7Sȇséí]cþ„íkþÿYòEÚºÇý Ú×ýþ²ÿäŠù»þoÄ?úòJßÿÑÿ ·âý ?ù%oÿÆèäAséí]cþ„íkþÿYòEÚºÇý Ú×ýþ²ÿäŠù»þoÄ?úòJßÿÑÿ ·âý ?ù%oÿÆèäAséí]cþ„íkþÿYòEÚºÇý Ú×ýÿ²ÿäŠù»þoÄ?úòJßÿÑÿ ·âý ?ù%oÿÆéò ¹ôö¦¯ÿBvµÿì¿ù"íM_þ„íkþÿÙòE|Ýÿ ·âý ?ù%oÿÆèÿ…Ûñþ†ü’·ÿãtr ¹ôö¦¯ÿBvµÿì¿ù"íM_þ„íkþÿÙòE|Ýÿ ·âý ?ù%oÿÆèÿ…Ûñþ†ü’·ÿãtr ¹ôö¦¯ÿBvµÿì¿ù"íM_þ„íkþÿÙòE|Ýÿ ·âý ?ù%oÿÆèÿ…Ûñþ†ü’·ÿãtr ¹ôö¦¯ÿBvµÿì¿ù"íM_þ„íkþÿÙòE|Ýÿ ·âý ?ù%oÿÆèÿ…Ûñþ†ü’·ÿãtr ¹ôö¦¯ÿBvµÿì¿ù"íM_þ„íkþÿÙòE|Ýÿ ·âý ?ù%oÿÆèÿ…Ûñþ†ü’·ÿãtr ¹ôö¦¯ÿBvµÿì¿ù"íM_þ„íkþÿÙòE|Ýÿ ·âý ?ù%oÿÆèÿ…Ûñþ†ü’·ÿãtr ¹ôö¦¯ÿBvµÿì¿ù"íM_þ„íkþÿÙòE|Ýÿ ·âý ?ù%oÿÆèÿ…Ûñþ†ü’·ÿãtr ¹ôö¦¯ÿBvµÿì¿ù"íM_þ„íkþÿÙòE|Ýÿ ·âý ?ù%oÿÆèÿ…Ûñþ†ü’·ÿãtr ¹ôö¦¯ÿBvµÿì¿ù"íM_þ„íkþÿÙòE|Ýÿ ·âý ?ù%oÿÆèÿ…Ûñþ†ü’·ÿãtr ¹ôö¦¯ÿBvµÿì¿ù"íM_þ„íkþÿÙòE|Ýÿ ·âý ?ù%oÿÆèÿ…Ûñþ†ü’·ÿãtr ¹ôö¦¯ÿBvµÿì¿ù"íM_þ„íkþÿÙòE|Ýÿ ·âý ?ù%oÿÆèÿ…Ûñþ†ü’·ÿãtr ¹ôö¦¯ÿBvµÿì¿ù"íM_þ„íkþÿÙòE|Ýÿ ·âý ?ù%oÿÆèÿ…Ûñþ†ü’·ÿãtr ¹ôö¦±ÿBvµÿì¿ù" WÔüC É'‡5 (,ïy§¹šØ¨Sm4cˆåf$´‹ÛÖ¾uÿ…Ûñþ†ü’·ÿãtÂíø‡ÿCþI[ÿñº9P\úÄŸñ>ð§‰ô7÷÷Ëi=‘‹îþùà «–ÀäH‡9Ç=x4Wð3[Ô|GáM_VÕ®>Ñ}>ªÞd»7m‚(pàQT#ÿÙtraitsui-7.2.1/docs/source/traitsui_user_manual/images/value_editor.png0000644000076500000240000002332414046644454027137 0ustar aayresstaff00000000000000‰PNG  IHDRŸõ˜oK IDATxí]O¨%Õ™¯M÷£%Šm æu ú˜I‹Ù¹k²®Â,f/’M˜ˆ‹q—Õìz!b/iÝ,f'H®…¬"Q‚mÇt´ˆ4Š>i{¾Ûß»¿÷½ó¯N:§nÕ½¿âQï;ßÿó«[¿>·ª^õ©ž®ãFˆØ:ôòÕ‰çõŸ¼;YÅ>÷/“Õb!"@æƒÀŠÝjm§®$RÝyï?Všˆ u¨ÉnÒÙµ_{Ôß§wWgŸ|ºž{èÂo~x¤ç/"@ˆÀ$üS“*–Ú¤€r\ÕJ=ò¯Á|1}ЙJ"@¶wíö?ÿýÛØlÿíß3Ѓھüü„ÞX&úôãÿU»(!#ÂQ:CqƒFb!#œ ;ˆ€ËnAÅb¬ç\k»ð_²<þzíg¯­0=û@ Y( šXˆ¯—X_I  ;Ž@€Ý†"rç÷Ý­ºÏ>ë>~߯žºòä¯{Èêƒ2Ö\ 9p–òá†$êgÑû>p¦@ˆÀî PÝ\jûä“|çÎÝÝ÷óZkå,kR޳‘}7ÇC"@vð]…S'7 £ßOí¦#A¨íðËÕÏ_?pMmÆBpºpÓ}›"ÌJˆÀò¯ÝîܹœŠ^’³û•›|'Å&¼¦Ûƒ®€qí@ff"°PÂìV>™Óg¾“ÞMqü˜ÛÞÅtNÒSZ‰Š@ v{ðÁãå›^n[wÑû÷ ø:‰U˜†êÈŠ ²ì×EÜß$JމÀN"`·ØÃÕñ 2”´®3tšI[g‰Ø\v >ìÖ„,ßüÉñC!?Ü}ç±®[_ƒëæ!\[ Åôà Лå#à²Ûàí]<õËwÖQgºîɵüe×w­míYò;¶X‹éKj0†%#0–Ýî¼}©ëä‡ D`^Œe·àläÊ]ú.ß¹ÄJ"@*"ЄÝÒÔæwïü±ªãÐ{ãÕñç" 4a·Þµ›=_ çcB  cÿ%Ö˜Œ;tív\oORUäÅpø;1ñù8¼Ô.¿f¶s©Þ~¬ù˜¾zLH6ˆ@µµ[â)¹\²µõ½NðŠý­Ø¡Ì)-´ât®ÃÝXbý“ÒÕW<iùë¤%:f,ˆŠ¦»kH'L[Ó™i%»†ÀFÙmÄ‹áüã$g¾*u9¦ÔcÝÒ²þVöc­Ueë£Ù¬ÆñQ?IPãL >6¿ÈBA5ƒ%G+#!"°MÔd·ØÃÓà…3åš_ ’@€É'ß'Gƒ„"dúà ‚&q†ÈÓÃØ>ª±[ða·~¼J_ §ô4ô¤í%58 ó¡%˜)ø3{ݤsIì?¦ïÍI"° ª±›³,âúÉnÄ‹áü3Öר~ ÷ºõ: •ƒœm •«$± ­KÓÛXÊD`é4a·~jjà‹á–þÙaÿD`ÞT~ÞM'[|®8pÞ ³;"@6€ÀÆÖnÁ¹æ,úl óǪÖ$2_ çÂ!Ø)š°[Öu·Ì|1\Hêˆèš|3ºÃq(ìðö$Í•ýb¸v·,1)´Šìu³¦Z²d¦ŠéƒÎTmB`ók·Äµ¶\²µµy1œn2Zyèç@“$èÆšÒ6ìI4ƒì­uhÏô'ËE  »å²Ò¶ Œõœkm[öb8ŸÔ Y£•úm‰ÌʩڈÀ–"Ð„Ý .Ÿ ‚·â‹á¤®³ØIh”hÔßÊâ­[¡Òì#!ê7MèÔ‚›èaR{Çz D`»hÂnÁµXMo}tüÿÞK^y{’lçÎÝÝ?´ÚÙ@=›H0 |D Vß&C: øúyÐFÀÛt´RIv&wb_*€ÊÙk7xj*»‡éHhðb8·D›qšžÆÔ$Û%Óc‰À”Ìeí;uh÷+tZ¾nJô[Ô"µµ@•9—ˆ@vk}ÝíЛ~1܉f† Ò4”¶Æê”EŲQO@vk~ÝmªÃéŠRöÂr˜EÊjªò9ÐB~BÔµ!Ú2 )O‘á~×hÂnC×nzYm#Ѓlu_i51Y2Àä 6¿ÊðÉ×sÆÂ­3rR ;‹@v´vä||œ¦}1ÜqÝ’]UHZŒ-Ðbú@ªˆÀv!Є݆®Ý†AZõÅpÃJó.ÍÆ¥<ŽŽ%é#)-E  ».Çò æ‹áòp¢Øuæò¼ÛÈã°Á+w#;g8 hÂnM×nA ¦¯lƒJ"@æƒ@v›~%5}ÅùBvBˆ@å]w N#í¶zÅÈáõ`’îô~ìu¾¸Ý™¸;ιÖÎðÞ¥¶d§¶n–¿‰À6 ЄÝÚÞ3 Á> âáõ×ߺ|ãëU–7ožÈuõ™OŒOæyó …ö†Ò¨‚ãNNúh«­¢6hd8´t°•D MØ-%Ukƒ* µÝ¼Õ½ÿU­â›ÌcÉEûð5#û³œ¥²¯‘¢YˆáD .¼îÖ}xûè'YЇœÏºiàzt|’;gè—ƒƒ°BÔÀSÝÄÇÑøCh0d¶áPÝ`…é D 5»¸v³˜ µévþ«î—…#œóC5õ:k$’ÄÒjêÐV‡ h‚=•"zdúPIf…ÀV­ÝôÎilÄ]HM‚Ö´ROxøÈP7«\Q*³9©bü%zÙ´´ Îd<#pê…çŸ{éå«ïc²N]xñÕ?^^w“» w®]v"g²œÒ¾Éžíp°Î½6§¨$’“6'Ð÷‰•¶zG¶IÔd5Vv9$Ó#°Uk·éáõÄJ÷:ÄÓúFi¥¨0”SÚ×Àt((ÌݽîöÄÞêpàÎéjøÍýùGç¼ì¡Ñ$b"'ʦÕ<ŽƒÖ‚jA#PæÏÎzSi6³jdo•6e"01MØmÀÓg•¦; âéýgŸ¾â–ýâó•æ¾\}|ìŸÃŽ&1tL¶ˆor4±!ô¾ ù¡—¡•mõ˜É÷ÏÑ8™9$#°s×ÝÊ𠮘ÊR! 9¡Ág km!£éK·˜s Àën€"%È™¯[Êi mòÄï9*¸£|…\LAæ„@vô—UИ¾b•¶™„v4a7}â¬]Ó~æé+ú=PCˆÀ¬hrWaú•ÔЊ«7…Ä·Ø›Bâ´"0;š°Û€;˜•)¨øÊßjñ?u¶]¼zé);¤LˆÀBhòÍtèJjláµ›Ü[\;~ G¤lŒz&hÅ1åg¶U¬lÛCrM+{kµQ”‰À¢hÂn™ä2¸`¡ë9×Ú~uIÖ­ ²§~úÆkÒÏ™îlYWã ÈÖÕl-HÇæ´²­N™lMØ­à*Ø4hþὃw»¿H­tÿ ûŠþîàGûÝ ÓˆLØA=±üFô`(ø@©ìsXÆú¨ìײ UFèœE¥ÍoM”‰ÀrhÂnÁ%Õ0 R[YcA:w(õX+—Uô£l¹^Ù oÑS‚C"°YšÜUˆ}7l1U9Kí†ÚƒÝÄUÛîºþÀ4HºAÑ[®Ñö‚žª„sÂg €Ä¢l‡1ê‰ÀÒXüÚ-F º~´{çP ¯‰æÞîÌÃÝ95}¯{ÜñI µ®Ð„øØâ°¦D¶º¦tQ§Ãº¥™Ì&ì6Ûën÷ïwûvxü˜ÛÞE«OËÂ#Jpê– Ž2Sºz¯Õ/êkz“Ð,&ì6Ûën‰ƒ4ôï„&4›³P²zË}Ž[¢“ É¦‚ƒ­¥õÔ¢ªQYÜ%²*E+òP KG  »M¶vÓËjCÁ#ÝÁÇÝ{%òÐpõwè@‡ŽR<}_.æã衟òkùžÔ¥#ЄݦY»TÙïÎ_ï>|´ûî£Ý?ênéÁ“a×­ÿk¬øñÔ%O‚8⡮Ůž\[›±´[ ÅômaV"0MØm²µÛ0œö.þüà‚wow}×ÚªJWÉ64IÌ?¦G·ˆÀBhÂn«ª à»óö¥®“nD€ì‹ÞmäQ*»r7²(ɘ&ì6ϵ[͵ìŸJ"@b4a·-ˆÔjìROˆ@ºîœþÚmõŠ‘ÃÕŸ7¶Óû±Çåp{4xñ>m ¢Šlš°ÛL@Ðêáõ×ߺ|ãëU–7ožÈuõ™OŒO,¯9t¦&(OÆ­FŽÉñGf¸Aã§¢†ìMØ-A´q¸µ*ÔvóÖñ_?´yá °•yà/>Ja6Pe_“HHØxÝí·ÅûÃÛþgp•¿¥-…9–‡D`—hÂnƒD›E¿¸Uá5ÝÎß³ÙWO0à±%"°34a·݈ÔVÓûà‡AHM‚Ö2elfiK|d¨›­"šX¸u£LvS/<ÿÜK/_Ý ÏôÔ…_ýãåàu7¹«pçÚå`fK:9ro뀄¬•2Øq¸v+¿îVý£#$åçŒ1ôüXjˆÀ.#À{¦¿zøŸØ[E¼ÿÕQÜjøÍý9IôK¥zŽù©$h3¨f|æœYЇ,&ì6à!²Mã4 ÕÓûÏ>}Åí÷‹ÏWšûpõ‘±¥$ß%hõ•ŽÆúi©!»‰¯»µ=îXU9(mmÛ³mG€×ÝÚ^wRÓ-øAZSÿË}0J"@zhÂnÅ‘õ¶[ÝaA­VŸ;íF  »éãc‹nA­.O6Iæƒ@v[ЂhA­ÎçCÃNˆÀ"hÂn Z-¨ÕE|žØ$˜MžYЂ(¿U¾ßm>ŸZvBrhÂn² Êgœ.Ûù hµÆûÝd"òˆÜ*Õ©€çB‚Ó„Q9š`**‰ÀN!ЄݖBmr¤µ:òýnRÄ”ù!Kj"çh2“Ól7¼îVþ¼[ÁûÝ@UÁO•Ï}iÿ`*‰P¸vüw¦ Ü”ïwSÖ#Óñ¤%ƒàÚmµvÓ;§±}Ð)ßï&¼&›¿² 6F% ŠÿÎ4÷“0þýnGˆ›Ki1M°'½â¦{èk‚áT]C`××n³:ÞþêÌ×̪a6CæŒÀ®_w+86Åïw“ZÊVvµ•nÀ~!Yœs4霴A  » xˆlA0Ïõýn¡ß‚°d«D`š°Û ‡È&˜d•±ÿm¾7¹®×‚Ä/ž½èÑ#ÀënÅÐe ©éô^ù~· *Cƒ3Ùñ´Av€C:'Üb…®‚쥢`ííA< yÍïABà†pÕ`ô±VÊD`‰l’Ý\jûä“‚çÎÝÝ÷óZÜ8íÅÙÊ9±1ŸXÐSÌAÂ'–|ŒÞ¯Û´Ü˜VK&@ ò]9Áì† è÷S»‡éHj;ürõó×\SÆ‹©îœÒèǦQ7Ù[¥#§s:ÎC‡‰ä6•3k¢Lˆ@Êk·ØÙ¨—äì~Õ–|'Å&¼¦Ûƒ®Šk©8¹&Tf¬ž¼¸+"à P™Ýœì†§Ï}'½sü˜ÛÞÅÌ$B4º"‹ù«ÕºY9•pPS0*S™HŽ 93‚3"@,e·<^¾éå¶ukµþ>ÁrÈëô£~ëªMR8 czC3N 2…X!ä×Þ0AeÙk Í {«œÙ݈Ą̀Én±‡?&ƒÀžŸ!  «±2¬`T¶ñ *=B ˆƒ%[ÑÊÖ_õ¾FôPBH8[uãžl%ÕØ-ø°[?d²|{ð'Ç…<þp÷Ǻn} .¯«çdŽ»÷[4¡õ«˜Ü¦MË~iÿ|«L'Ƨ1}~rz"PÝìÜd×Ov{OýòuÔ™®{r-Ùõ]kkÁ;-r®gþ¬T†ã‡kcÉcúáAf„@vë§6ù2õö¥®“nD€&T~ÞM{,¾WØ&%D`É4a·œµ[´âÀ`6*‰Øeš°[ñ¬8p—!çNˆ@]w v“¿v[½bäðz0Iwz?ö¸îHÊuô²…eQ~Ÿµòø™§iENZõÉñœÕZýää©‹²)\¿[Õ„Ýd –ÏSös3 ððúk—m¬Ê‚owþ?}=4ˆç|J¿X¨[¥n¶Ä¤Ê •E%ÚhmÓ°Ä¢½ØÇoL~$Ï)g_°=¨l5¾L£s´Í8žŽ)†‰U0lÂneÔ&ÝêÌÔ àØšvŸ¢É 9u'Žœ&ÂËø"g²-2£íœò}4m‹†¶çºÛPjÑ“@Ýšõhõ`+ü!ˆdÍ {§“Cˆumrë,²5åMû8Éц-d}4›íÁZnlšÖjT¶$´Ül QÂÇq€Þœ±Bãd°zM“Ó­dCmà®ýh.*[Ín L¾ áªtòX=DÀ9eSÁÙ*Y}ì^+‚nN`z¸%k7™yzž1«â@Nh$cE”˜¬l+Z½ÈjròØÌ‰Xòcmd[W•N uÐÆ ü‘3G@”ÍæÂGôÕßFAv|œl2„'LNˆu°2ü{eåÞÀt+ÎµŠ­Ùñ‘¡˜´LyЛfÀzT•áPEHd¶&+÷ÖãÚMïœÆöþ”d¾2_#áºå‡Lì¹n0:MýDJW≴6)Ûmo*M¢n6pŒœhoLZ?Ö™lÐ!gj‰†ƒŠ!~QÑ Jœ50R ”´ºIÚX8:‰9õÁ(m>QKSIKÁœŽ2ílÀɾðüsG,ê—Ü:Ð~SZ›ü ‰³£LkÔj}|¹…Æ6iócÊp€UgÇ*ú ª@@þ`uó}|ç ï–Ðh-/™5¹îÕÁפõbuBœ!êZ½•á€TV¥†`¨>PBŸ£ÑX›!ôÔ:C”°z+ÃA$±J+[‡´l­6C¯<¯µ›LcÐÖûïÆ³ *í;§Tj¬i±ÊÞOTún¾å ø>Ф}í!C!s²Án­²·au¶nV–¹ØlþÔgß¡µ&Ø^oW½³öÛòÝ25ƒ²Íëº[æ Õ-:ÏoîÏÏ£‡SýEÂ'è«ÄªƒÕ s´ÛuIDi’µz•±Ž >1Á ´©4$­ñËùþÁÒN]ßyüâ «Ê~xP“_tPZ[«¬1›!&#s1 ˜~bv¨’ðñ;,‹òódjl9 ±‘3óˆ[vðØZ~§Žçéýî‰W]÷ÅÝÿõ¾aÿO ƒ—Bö)TjK0¡ChôSˆa,OÐÁOsS½µú±Ž§G:ʱbÁÎHKÈ^’[ëcõ!h;´2òÛ„‰'V‡PBÈÏàÔµ Cдº¯ˆ_Åj C°s´Ê l•6ЗUc÷~¬åø8Cñ÷5¶DLnÂn#[‹õjõ±¿F°>AÙ'— [ue‚;ª×”p¶¥g¶áVv œB-üCS+óÐ<˾î6t¶rè64p¼ÿºò€uõø¢9ª7& ýºA¥ï–¯AÛòcçàY9LJ{˜ÏiÂn¬Ýæs,Ù  óD  »é£jóœ0»"D`G˜Åu·Õ ?â[ñ%¶xJZˆØ~š°[Á=ÓWÞøVÁþS÷g‹ú«—ž²CÊD€Lš|3-¾îæP[lrSF7q!æ–©Ÿ!³P-7mX¨Þ|:aÌÓך2óª­Ý×Ú2ÉÔv³»ñUw¸žLxí–yËIκLÏu¹‰~kc¶=+ç4¡ó’¨˜³cƒíÉ5­ì­5ÖõD`Jª±›4d±ë9×Ú~uIV‘ ²§~úÆk’ðLwv$ãOé‘ ÄÂýÆ|M,6S¯ [ŽÍiåÌÆèF¦A &» íøï¼ÛýE¢þÑýýƒîoÿÝÁö» ¦çÆÉ¦öH”*@“ÎéDÉ"ûùƒm ±âãhÊOŽ„âƒ áÐø‚õQÙOŽ(˜´œ 6`§€$ˆÀØ$»©­8!qV[µg¯•3û±Ùœóܯhs"P•¶4dø@c3Œ”ƒÉm!+;µ&Ç“C"0=•ï*ÈÇÝn˜~?µ{˜°j»Ñ]ט† RZ™eh`¿bNI•(4Ò’™á8ŽÐ8‚"ã(9$óA òÚ-vŽé%9»w ^ͽݙ‡»sjú^÷¸ã³è¡"£CiVL7Ij›ÕÁb3A*³[°FŽòûݾu;~Ìmï¢ÕÇd9q¾Y9柣·y¬œóÑ<1ë=¦?&I0ÖÏìk‚TÍ"0vsPhý÷ >ËXÈN?½C9áÕGcýlŽœUŠ~`oé|›QéÆÄM{ÓX•E‰(8ˆV$§@6ˆ@Mv‹=ü‘žÞ#ÝÁÇÝ{ê#rÚ9aµ§d0”pÈ3­ñ­´i¡tücCè}ASA¬+ÓÛl~~[Â÷Œå„ž˜ÕØ-ø°[zªûÝùë݇vß}´ûñGÝ-u–a×ÝNŠÕYòôúWt°Ë–Ši‡¦š¾ á»Ø-¦:)úŠTc7Û“,âúÉnïâÏÞ1Qxp÷v×w­-±¬0 [‰›­ŽYUich’˜Ln)éhÂnýÔ&ßß¾ÔuòÃ"ÐÊÏ»ieà$¶8° 6LJˆÀ’hÂn9k· hÅÁlT"°Ë4a·â%Xqà.BÎ »îì&í¶zÅÈáêÏÛéýØãr¸Ï¼ ž¶ QEˆÀŒhÂn²Ëç) ΀ÀÃ믿uùÆ×«è7oÚÝÕg^<1>9°¼æÐ™š <w4‚y|M0J"@&F  »•Q›Ì|P PÛÍ[Ýû_"&¬d r"âká4"0%ÛsÝíÃÛþÔ‚‹²Z ™‡)XðÚÍÂ$¼¦Ûù{¬º²,ë;Pž®õ|Må’LGˆ@)s\»éÓØ>8S!5ý ZË”þwUý*zÙ”æ|MY-F"PS/<ÿÜK/_­ž·uÂS^|õ—ƒ×Ýä®Âk—ƒ (©)Gv’ø!¾Æ áM!0ǵۦ°pê s9‰X‹¿îöÄÞ mÜ9] ¿¹?çàÛ¥8‹\R$§}ˆ@vðØÚÉ <½ÿìÓWNFwÝŸ¯4÷=àê#ã4©­¾Ò×DªQMˆÀ¤,õº[Hø²¤¤´µ¬"£ˆØ»uÝMHM· ÜkcÖ·Ô`*‰˜MØmПX,ŠmÊD€A  »é£jøÔb Û@v+^‚n÷Aâìˆ(@  »/ÁŠ fÎ"@¶&O„/Áòù~·íþ\rvD`<MØM–`ùÐ~HPC^ˇ”žD ÛsÝ­àýniòiKŽâh$ÊÑ4:rLKˆ@¯ÝìĦy¿›­˜A‹¤¹J4ÖÌqí¦wNcû "Ó¼ß-XÚW ©éšó}¨!D 5Ký;ÓñïwSdý/’¾Æ9¾ƒÕÄd' ‡D€´F`^k·Ö³”_xj?‰˜MØmЭϑpÈ Ýôoš'ÿýnâ¯ü5ˆÅüG#ßIE£›È#gÇp"@ŠhrWaÀckÅÏøýn$µâ£Ê@"P&ì6ÁÚ-ö¿Í÷B#«*ñ šz3¿vr}IDATÐE Ð䛩Þîœáü…Ôt ö¶6òëd*‰ÀÂhÂn¬Ý3Û%D`rš°Ûl×n“ÃË‚D€l Y\w[½ð#¾_b‹§¤…íG  »Ü3}åoì?u¶¨¿zé);¤LˆÈD É7ÓâënµÅæpô8ÙÝ»ŸãotŽÏë3­×ºv.iÿAÖô¤bÖ˜~Pi:™ Pmí–¸Ö–Iv ¶›Ý¯ºÃ5@áµ›Üß\;¤~Ëéšé™Ê2Ð6¨¨¶— Ç4~:¶=$×´²·Öó¦;˜ÕØM¦d±ë9×Ú~uIV‘ ²§~úÆk’ðLwv$Zã¹  ºE5[ Ò±9­\0e†"P“݆Nïï¼ÛýE¢þÑýýƒîoÿÝÁö» ¦çäÇYªöHê”*@“ÎéDù±±¢N~tbj¬Õø²õ‰ÕB”SÔÆ¥õA D`ql’Ý‚ÔÖAœÉ «‘¢ö”¶rN?AÿŠùsz°åze'a°LJC"°8*ßUóÄn€C¿ŸÚ=LXµÝè®ëLC)-'¶ì‡&ü3sÆŠj¸æY·D9SÂgi]3Љ8T/:¨C:FT^»Åν$g÷Î|„×Dsowæá¾×=îøÌv¨³š-qXÓdsIu:œ¬+" P™ÝŠ;þ~·ocsÛ»hõ1YÎaœ¨VŽùçèm+ÇbÕVô „2ÂË¿¨¯)ËÌ("0OæÂn:­ÿ>Áa"©n5";ý¤‡BêàZý˜üNu› &[ J멽©FeqC”Ȫ ¬ÈC,šì{ø#Ë#ÝÁÇÝ{ê#rÚ9aµç$d0”pÈ3­ñ­±@õôý} 2@ˆù8zg(áŽC(!a‚"°\ª±[ða·4.ûÝùë݇vß}´ûñGÝ-u–a×ÝNŠU9?ízGûÓ†Ÿ­wî#¤ÛØ-¦Y‘áD`#Tc·ÁÝï]üùÁ;& îÞîú®µaS±P¬[½J¶¡Ibþ1}!R #E`cìvçíK]'?܈ M¨ü¼ÛÈË®Ü,Êp"@¶y±[ÁÅ»­<*œ 㘻qí6þˆ2 ŠÀÆ®»@þÚmõŠ‘ÃÕŸ7¶Óû±Çåpƒ2xùvß÷èT§‡õŸ ê+a«\Z]y‘y±ÍnÞø!†ÇàÖªxjÞ-ÃVÔ5 m¢¿3dKF–(Ì|+¹K@ ¬p ìqÝGB­(Ö[KE¦·ù_±Ç<XTtÞëÌ¡ý¥üùÛß¡Gö”_óçmÿ~…V^ ÚhÔ†ŸwöÏÚL #뽌uãëÅiê»·ºÓí¬c¸Ô&ºÓaÔ ·$Ʋ1’pG^:ŠÝÕ¤šMÿH…Fm]&UþÒ‹þ|í¿ïУûJ/ùó¶ÿ¿B¢·Ñu[ɧ†ÛL¼ž[vÛ2E3Fy`ƒ×ÐÕƒáÍ@x`xƒÊ?b7GÝmÝ>ÿLlÏËœýî)º”¢ìÚí÷ì%JOdÆiEÿ>vß÷èQý¥üùÛß¡Uì´­GSó>Áauwåã‘ I·9Æp8ÎåE¦•¨êû…ÕÎwcÉ…Ÿ;q» í¹sé¸zÕ7{µ •6û–?´¢ÿŸ;oûô(þÒ‹þ|í¿ïХд+Í{R†ÚÚ Ú&š8æž(L‹cÍŽƒ©äކŸ‡®o|Y/‡ìYe.å¶YäËf Ç®œr~¦¢UiFN-ê•ß¡JŒÚRKG¡ö”_óçmÿ~…ÚQÏ·ýúbmÎ}ïVÑõ/-l§X® öþCc¶9;•ŽFq•ÁªW.«g4Üé—KpÛaI`ei äò:zŠ!V”ö£ï³×mBT'©/ö”_óçmÿ~…ÚQÏ·ýúsQð–¡ag¢·‘t÷ú˜œý‹ìÌ$Ê`:u9 » â³“EÕd¾’Å4ËÆ»w=ºÀÆErW‘ùŠ!VŒÕâ×_ÁÛó Pœ]šd¿ÚQÏ·ýúiEÿ>vß÷èStÍûU×"Ñà‹eä’ÊMòl+’Û³ÈÀ#¯3Å-ͦ—"Ä4mFâþin…ì^'qµÓV<Å[§ËÍ¥5%¿õ÷|ÁQ“2Ø_í(¿çÎÛþý ?´¢ÿŸ;oûô*æ‹áKÍGÄöš%òO¦Ër¬Á§·!€ ͧi“m¦ê‘Ú=¾Ÿu ¼ möÂÇÍÛ÷¶à|ØïŽ”{Z\Ü·é–¿äÅìekÙ–¿´¢ÿŸ;oûô(þÓ‹þ|í¿ïШ£ÑuYaó£Ó/-È»Ö+—ÚTgNåÇ®áê)‡JÔVñìÚÂè]&Ýð˜[zî .W, zîµ|Ôû¡{7æXþÓ‹þ|í¿ïУûN/ùó¶ÿ¿B¢MU’úKÓ/î5ÜöëqÉ\dGæ*Ž)®W°œÜÓþÓ‹þ|í¿ïУûN/ùó¶ÿ¿B³1F)ò¡ršÚqÏ·ýúiÅÿ>vß÷èVf(Ũ9M?í8¿çÎÛþý ?´âÿŸ;oûô+3bŽT¦Ÿöœ_óçmÿ~…ÚqÏ·ýú™Š1G*SOûN/ùó¶ÿ¿Bí8¿çÎÛþý ÌÅ£•)§ý§üùÛß¡Göœ_óçmÿ~…fbŒQʃ”ÓþÓ‹þ|í¿ïУûN/ùó¶ÿ¿B³1F(åAÊiiÅÿ>–ß÷èQý¥üúZÿß¡Y˜ö£Ôr¡òšÚQÏ¥¯ýúiEÿ>–¿÷èVf=¨Çµ¨9M?í(¿çÒ×þý ?´¢ÿŸK_ûô+3ÔcÚŽT¦Ÿö”_óékÿ~…ÚQÏ¥¯ýú™j1íG*SOûJ/ùôµÿ¿Bí(¿çÒ×þý Ìǵö£•)§ý¥üúZÿß¡Gö”_óékÿ~…fcÚŒ{Qʃ”Ô]A‚­³18D2Mn TP7éú\gºÉsnŒ=ˆ.>Ʊ¼*?â¯Ñxÿ—ø?ôb×[=û=¬] +’½IÂj0Hé£B‹rlÉ:=øëk£û}¶ÿã•Nk{¸/ ´:e«Ë?úŸ%RU“·ÊÊH<ú*k‹é *@ÇÒ´´&Úš{Ž¢]PçÓý:™U©y%×ðM÷ò+êôÛ²o§æ‘Tèzšýë-!}å°ÿÙé‡G¿^¶Ú(ÿ·ë_þ9]Å¢èW:h»Öog¶f•£ŒD¹*©=ÿz³µ›O I¢ßM¤j—w7vè²yr&i‘P“”Þõ®Xcj9r¸õµù]¾û›<4¯Å‘Æýšõõ1§&•n×Dn ¨…Jã;·gnÜs»8÷«MáíeO:~‘øÞ[ñÊÖÐ$ò~Î㶈ßúq5Ñ›!«i’ϧÈdÔ!ËKj@Ë'bž¸î?úÙò³,ö¾·²§ô¾·îüü[.Èèb){Z’i^ß–úyœè°ÏúŽ?íú×ÿŽUmƺ‚õä,°ÛG6ÛÛ!¬§ˆB@߀0xè8È®ÃÄ:|:U”6÷;õgùæ‚0 B„p þ÷ùô'Ìüv?âoÓþ\- ÿÀXê²¼Ú®e:˜zðVQ¾Ÿð[ïò4Çäôp0§^ŒÛ»¶¿Öß™ž[Äñàº2¸ðpAÇé]æ™âôžá_aƒyÀ “– ¸<¸ï\§†ôgZµ'K²û@‰T¹óQ1œãïýÓùWB¾ ñjùÿäÌ_üUzy–^¯5ZŠ3JÛ¯Å|Ï”±4ÛtâÚ¸x¯PÑu¶aWœ9ÜâC#ÁûÌI=q€OsŽõoÃ:Æ™¢é³A©ß5Æv²ý³JkI™€Ê4L¹PÄàeŠcÀŠ¿ð…x³þ€Çÿbÿâ©‚ÇÝÎ@SÈù¸âÚx‹LqnâBÆ/©ÐÉŰ݇9^?‡ yö¬ïøB<[ÿ@sÿ1ñTÂâßúŸü ‹ÿŠ¢¢ÀT¨ê:Ë_ï „±p‚‚§·“4íõí"ã&âðÂø±µuimåo6 ¸B£0n‡ r9¬½#]·Ó~ ÏâŠIíN¡u*€ 3G#¸ s†Î=8¥ÿ„#Å¿ô?øÿGü!-ÿ 9ÿÀ˜¿øªtÖ_oß&š³÷—ªK4¿vÕö×R»O§èÞÔt>ôêrê@¦e·’†(8c½FYW rwzï/‰tÿø[òkßhžM)'ùc€7[G0FÁê£$ ¼gŠÉÿ„#Å¿ô?øÿGü!-ÿ 9ÿÀ˜¿øªÔ$Û•dÛM=WT—äsbÒJ4íkt}©§¥kš&áý3Fk¨®Z-Q³™ÍµÂÀ$™ãt ò+•;XƒwóªÇÄvŒúÀ–æ6…|2ÚU§Ù¬fŠ3&2¨ŠìÎ@Ýì§Næ¯ü!-ÿ 9ÿÀ˜¿øª?áñoýÏþÅÿÅV*Ž^›~Ýk~«®¦®¶1Ù{=¼™[ðÐüUm¬\¤·ew›ç˱pÁ›'©ù‰ç¯¨ëW¼/.‡á_i—#V–ý!–HÝᲑ"òÊbø9%¾ê†àO‹þÿÐÿàL_üUð„x·þ€çÿbÿâ«®­\ Fÿ|•ÕšÕkþocšœ1PZÓnÎë}Íø‡KÑï<kç¼ðhñ] »ˆ`‘cÝ1ÂíªÍŽIù{ñ“ÅKásFÓS w©ƈ·°Í‹YØËæck Ÿ—ýí§Ú²¿áñoýÏþÅÿÅQÿG‹èð&/þ*¹eK/’³¬µ¿U×›ÿ’fê®-;û?Áù’-¯ˆt嵓÷ò‡O&–¸‚L‹¢P|¿îäŽ=ø©¦ñ˜‚èGq àåÓ,2ÇÏÍò /Óæ{Öwü!-ÿ 9ÿÀ˜¿øªOøAü[ÿ@cÿ1ñTÕ,½+{eÿ!º¸ÆïìÿänEâ=(ÜÙÛI¨ùZ|:V› Ämk>Ó$3`® ‚¥ARzô®p·7SÏÚŒrÊî†í÷ÌT± Ès÷ˆÁ>õÐÂâßúü ‹ÿŠ£þÿÐÿàL_üUtaê`hIÊ5–¾h²ÅÕŠ‹¦ÿœò A®þÿÐÿàL_üUðƒø·þ€Çÿbÿ⫳ûCÿ?c÷£›ê¸ŸäqÎy ×Gÿ?‹è ð&/þ*øAü[ÿ@cÿ1ñTh`ÿçì~ôUÄÿ#ûŽsÈ4yº?øAü[ÿ@cÿ1ñTÂâßúü ‹ÿŠ£ûCÿ?c÷ ú®'ùÜsžA£È5ÑÿÂâßúü ‹ÿŠ£þÿÐÿàL_üUÚ?ùû½Õq?Èþãœò A®þÿÐÿàL_üUðƒø·þ€Çÿbÿâ¨þÐÁÿÏØýè>«‰þG÷çhò tðƒø·þ€Çÿbÿâ¨ÿ„Å¿ô?øÿGö†þ~ÇïAõ\Oò?¸ç<ƒGk£ÿ„Å¿ô?øÿGü þ-ÿ 1ÿÀ˜¿øª?´0óö?zªâ‘ýÇ7äš<“é]'ü þ-ÿ 7þLÅÿÅQÿ?‹è ÿ“1ñTh`ÿçì~ô?ªâ‘ýÇ7äŸJ<“é]'ü þ-ÿ 7þLÅÿÅQÿ?‹è ÿ“1ñTh`ÿçì~ôUÄÿ#ûŽoÉ>”y'ÒºOøAü[ÿ@oü™‹ÿŠ£þÿÐÿ&bÿâ¨þÐÁÿÏØýè>«‰þG÷ß’}(òO¥tŸðƒø·þ€ßù3ÿGü þ-ÿ 7þLÅÿÅQý¡ƒÿŸ±ûÐ}Wüî9¿$úQäŸJé?áñoý¿òf/þ*øAü[ÿ@oü™‹ÿŠ£ûCÿ?c÷ ú®'ùÜs~Iô£É>•ÒÂâßúäÌ_üUðƒø·þ€ßù3ÿGö†þ~ÇïAõ\Oò?¸£áxˆñnŒ}/ ÿÑ‹]'†Ã÷vÒrþkm¡|¯(»®ìá[Ûó¬È|ãyãš-$¤±°tauA ýê¾|5âbïà}9ŽY…ë¦O®pÐ=«‡‰ÃT¿-U­¶”n­êuá©V‚÷ þæVñ4z$ˆ4[¹nmÌ@³Ê0Cää}ÑÆ1Û½7B}Úe¼ŸÝ}[ÿH£«GÂÚëuð.Ÿÿƒ ù"xwÆQIµðü°Á¸¥¼w²|ãÎKn“À ¬Ö'à¡í—ÕÊ=šèüÊö5Tœ¹^¶Ñ'Ý2[{‹+íÞ 5{ic¸•Ê̲«,`µO÷MV—ìn©·U´žIíÖ(ã‰%É>lmüH0§½KÿƽÛÀºxújÿòE#xW]n¾ÓÏýÄ%ÿ䊘â0éÿZ÷ø¡ÞýË*²_àÆirmÒb›þ ÿ§#]­Xi:_Ú­›¬K¹U>[e鑞¬ÏûX+áï%ÒȺBÃä _>?+ÊÎv}üã?6sœóœóRx”Ì‘§à|¿ü‘_;›`^'í¨Õ†Ýd´woõ>‡*Ì)aðÎzsø¯¢ÝY-~âoêV¥k¥û>¦ìVêÝW÷lqþ±OlúúÛ€ñ²n¾Wÿ¨}™ÿÉXë¶ox‘‡>Óé?ù"¸ïizí‡úN»h¶ïrk£ h N@•Ñø aq5*U©å%vÞÿ ³œÆž&:Tc$¢ïï.Žÿà¿üxêîCüä¯R¯-ø/ÿ:‡û9+Ô«“;ÿ©òü‘˃þ ùþl(¢ŠòŽ ¢Š(¢Š(¢Š(¢Š(¢Š(¢Š(¢Š(¢Š(¢Š(¢Š(¢Š(¢Š(¢Š(¢Š(¢Š(¢Š(¢Š(¢Š(¢Š(¢Š(¢Š(¢Š(¢Š(¢Š(¢Š(¢Š(¢Š(¯#øçÿZOý·ÿÚuë•ä?ãÇIÿ¶ßûN½L›ýöö÷þ’ÎlWðŸËóEŸ‚ÿñã¨¹ó’» G—VÒc½›YÔãw’A¶9T( #(ÆTž€w®à¿üxjîCüå¯Mðwü‹ÿõÖýõ¦r¯˜Tù~Hœ'ðWÏóc?áÿ¨æ¯ÿSÿˆ£þ_úŽjÿ÷õ?øŠè(¯;•9ÿøEê9«ÿßÔÿâ(ÿ„Wþ£š¿ýýOþ"º (åAsŸÿ„Wþ£š¿ýýOþ"øEê9«ÿßÔÿâ+ ¢ŽT9ÿøEê9«ÿßÔÿâ(ÿ„Wþ£š¿ýýOþ"º (åAsŸÿ„Wþ£š¿ýýOþ"øEê9«ÿßÔÿâ+ ¢ŽT9ÿøEê9«ÿßÔÿâ(ÿ„Wþ£š¿ýýOþ"º (åAsŸÿ„Wþ£š¿ýýOþ"øEê9«ÿßÔÿâ+ ¢ŽT9ÿøEê9«ÿßÔÿâ(ÿ„Wþ£š¿ýýOþ"º (åAsŸÿ„Wþ£š¿ýýOþ"øEê9«ÿßÔÿâ+ ¢ŽT9ÿøEê9«ÿßÔÿâ(ÿ„Wþ£š¿ýýOþ"º (åAsŸÿ„Wþ£š¿ýýOþ"øEê9«ÿßÔÿâ+ ¢ŽT2~Î-bŠòI±p^C–nO$úÔ¶Â Ib9öë¯õƒè™¦ø÷_÷ò“Ü óO÷Sþøy§û©ÿ| ŽŠW`IæŸî§ýð(óO÷SþøEpT"îyîù|¡–'Ð ñžÇ×µ`YóO÷Sþøy§û©ÿ| ‚7” êý:ÄqùŸÃ¥>‹°$óO÷Sþøy§û©ÿ| ŽŠ.ÀÍ–êfñL6ûñؤ}Š0 oA“ëÇõõª4¼¹°ðû\ZÌñJ²( §µiÿäq‡þÁïÿ£³¼ÿ"´ŸõÕ­U5y¤ûŠNÑg.«âØ$‚9.¦VžÔÞF<Å;¢Ú[w^8V8ëÇJ¡ÿ v»ÿA¿:Ò‹Y°Ï÷V-< gØÇ2›AÇ€;§qày|}ìÕÁ¯iðY*ýwÀ®¶Lá§… ¼ÈùQ·òð¹è>‹êô–ô+ÚÍý³þíwþ‚3~tÂ]®ÿÐFoεáñ‘^æ8Çä|ÐäG!¶q+ä|ËûâŒÅ~bFá’¬Oß®¡¢H%uˆ#Ë—rNwJK±Á-Ž˜¤p´\¬éX™V¨•ÔÉ?á.×è#7çGü%ÚïýfüëŠ×ê8äFY«üÆ×ü%Úïýfüèÿ„»]ÿ ŒßbÑGÔpÿȃë5˜Úÿ„»]ÿ Œßð—k¿ô›ó¬Z(úŽù}f¯ó_ð—k¿ô›ó£þíwþ‚3~u‹EQÃÿ"¬Õþckþíwþ‚3~tÂ]®ÿÐFoαh£ê8äAõš¿ÌmÂ]®ÿÐFoÎøKµßúÍùÖ-}Güˆ>³Wù¯øKµßúÍùÑÿ v»ÿA¿:Å¢¨áÿ‘Öjÿ1µÿ v»ÿA¿:?á.×è#7çX´Qõ?ò úÍ_æ6¿á.×è#7çGü%ÚïýfüëŠ>£‡þDY«üÇoàïjº—‹,-.ïe–f,…¸8BGêQøéÿ:Oý¶ÿÚu€?äxÓ~²è¶©>:ÇŽ“ÿm¿ösÒ¥ Y•8ÁYYþR:”å<;rwÕ~h³ð_þ<5÷!þrצø;þE‹úë?þzó/‚ÿñᨹó–½7Áßò,[ÿ×Yÿôk×qÿ# Ÿ/ÉO௟æÍÚ(¢¼ã (¢Š(¢Š(¢Š(¢Š(¢Š(¢Š(¢Š(¢Š(¢Š(¢ŠÏºÿX>‡ùšÍ¾Ötí9cŠòò(dbX#qÇ8ôÿZW_ëÐÿ3PVrŒøJt?ú CúÑÿ N‡ÿA(Z×¢ÌøJt?ú CúУùׇ|tÿ'þÛí:÷û£ê?xwÇOøñÒí·þÓ®ü§ýö’ÿÒY†'øOÕ~h³ð_þ<5÷!þrצø;þE‹úë?þzó/‚ÿñᨹó–½7Áßò,[ÿ×YÿôkÕgò0©òü°ŸÁ_?Í›´QEyÇ@QEQEQEQEQEQEQEQEQEQEŸuþ°}ó4Ðì ¬GÌz}:ëý`úæi‡þ=×ýãü…b÷(<ùç£~tyòÿÏFüê:)]'Ÿ/üôoÎ>_ùèßGYºì:¬úk&p]ns0RW¸ Qžœ”~†Rì o>_ùèß|¿óÑ¿:ÅðüVðØHØ^ÙIæŸ9/œÉ3>¤,þgË´Ø.FÒ£Z‹°$óåÿžùÑçËÿ=ó¨è¢ì ©e‘ü_»³(°€O™?È~TºßüÃ?ì%oÿ¡ŠcÿÈãýƒßÿF%?[ÿ˜gý„­ÿô1BÜ÷Aš_ ø§U‹OÓlÒ'×[蛫ÕÝtžT£Ë@Ì­Ë·1'ËÝzMOVÔ´maô{ŸΖèÒÜj÷)n’Z¤‹uü^X‰T½¼* !æVÉ]¾EnIåÿðëÒØëz’ë3¬z6”om‘a„Ç|kÀ’HJVHíâlÆPÄ®ÐѵývïÇ2Z\ߨˆ~×s šožh Bâ9|•„<{‚ÆÛÞR„IÀÐ@¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ÿt}Gó¯øéÿ:Oý¶ÿÚuî/÷GÔ:ðñã¤ÿÛoý§^†SþûIé,Ãü'ê¿4Yø/ÿ‡ûÿ9kÓ|ÿ"Å¿ýuŸÿF½y—ÁøðÔ?܇ùË^›àïù-ÿë¬ÿú5éçò0©òü°ŸÁ_?Í›´QEyÇ@QEQEQEQEQEQEQEQEQEQEŸuþ°}ó5›}ªÇb±ÄÖד1Ë~âݜӒ;+Jëý`úæj ÁîQ‘ÿ ô Õð ÿÂøH#ÿ n«ÿ€Oþ¯E!™ðGÿ@ÝWÿŸü(ÿ„‚?úê¿øÿáZôPGü$ÿÐ7UÿÀ'ÿ ?á þº¯þ?øV½‘ÿ ô Õð ÿÂøH#ÿ n«ÿ€Oþ¯E`Ú\5÷‰Òåm.á‰,Þ2ÓÀÑüÛÔã‘õüªÖ·ÿ0Ïû [ÿèbµ+/[ÿ˜gý„­ÿô1Mn#«¢Š+rBŠ( Š( Š( Š( Š( Š( Š( Š( Š( Š( ¿ÝQüëþ:ÇŽ“ÿm¿ö{‹ýÑõμ;ã§üxé?öÛÿiס”ÿ¾ÃÒ_úK0Äÿ ú¯Í~ ÿdž¡þä?ÎZôßȱoÿ]gÿѯ^eð_þ<5÷!þrצø;þE‹úë?þzyÇüŒ*|¿$,'ðWÏófíQ^qÐQEQEQEQEQEQEQEQEQEQEgݬCüÍASݬCüÍAX=Ê (¢ÂŠ( Š( Š( ²õ¿ù†ØJßÿC©YzßüÃ?ì%oÿ¡Škq]Q[’QEQEQEQEQEQEQEQEQEQE5þèúç^ñÓþƒš4ÊJ²uaÕ] œzà€q×ò§ÒÊK3¼¢I$ ©µ@ÆO÷JZÿ#Œ?öý”ýoþaŸö·ÿÐÅ1ÿäq‡þÁïÿ£Ÿ­ÿÌ3þÂVÿú¡nWEVä…Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@ º>£ùׇ|tÿ'þÛí:÷û£ê?xwÇOøñÒí·þÓ®ü§ýö’ÿÒY†'øOÕ~h³ð_þ<5÷!þrצø;þE‹úë?þzó/‚ÿñᨹó–½7Áßò,[ÿ×YÿôkÕgò0©òü°ŸÁ_?Í›´QEyÇ@QEQEQEQEQEQEQEQEQEQEŸuþ°}ó5™}£9Ag´k’C[ù„Ÿ®áÇáëZw_ëÐÿ3Qª.ÍÌÄsŽk¹F/ØuÏú Ãÿ€Cÿ‹£ì:çýáÿÀ!ÿÅÖÞØ¿ç£ß?ýz6Åÿ=þùÿëÒì:çýáÿÀ!ÿÅÑösþƒpÿàÿâëol_óÑ¿ïŸþ½bÿžÿ|ÿõèì:çýáÿÀ!ÿÅÑösþƒpÿàÿâëol_óÑ¿ïŸþ½bÿžÿ|ÿõèì:çýáÿÀ!ÿÅÑösþƒpÿàÿâëol_óÑ¿ïŸþ½bÿžÿ|ÿõèÏK¼‹T×—érÂ…BÁåàûÇÓõ¥Öÿæÿa+ý U¹/c]^==™š˜¹àT~§ò÷⦷ÿ0Ïû [ÿèb…¸]Q[’QEQEQEQEQEQEQEQEQEQE5þèúç^ñÓþëý`úæi‡þ=×ýãü…>ëý`úæi‡þ=×ýãü…b÷(åüAâ ½^ÒaXá:l‘M5û²ñÆ­ aÔäªÓrÜV=¹¡£xÆþé®à¼ÒfšûíNm¬­Qc•m¼¨$_5ÕC¯Ú#VýãÀ ]-Þ‘i}ÝÊy»-f´0¸ Ç)Œ¸e#Ÿõj=0NsT'ð¼/¨Üj6º…í•ôò´<[­HÈ£.ÓäDzg#‚"–€x·MºßÎ“Í–Ý @˜yÒuVIQI Räœ y2ñòƒÃþ8ѼK%žŸ.éFxÏ›ù‘‚l#³'Þ_–@ótá±zßÚm¥ÞŸ=¼_ö}¯Ù`N  !$ä–UÞªsÀ–Oï4 4}‰ýìÖÐÄ ¶¶•×Ë·Œc ¡TÀUœ³:òÙ4*Ó^Õ–6Ô¯ZÊM5µ94õ‚&ý(ÛÆåËÿ0\«Ã˵§‹Æ–.¶îöw±Eyå5”ލEÔrKBEÉUh‰°ÜA{O ÃkrÍ&¡{skö©.ã²›Ëòc•ä2nP3a˜˜ƒŒª‘ø.ÄZ5³Þ^ÉZ›K Ì€ØÆJ‘å€îSEY˰1©9É Íã½1"‰ ‚êéågHãƒË%ÈšW’àaþÑ©'7ÚÒõDÔãŸýkiíåòg·ŸnøŸj¸©e9WFàŸ½Ž B_é2\™£‡ìøû6ÄQ?"E‘v¼nòâVõX£m¥i§Åesq9{ÙÄò#„i1úòMMÿäq‡þÁïÿ£Ÿ­ÿÌ3þÂVÿú¦?üŽ0ÿØ=ÿôbSõ¿ù†ØJßÿC-Àê袊ܢŠ(¢Š(¢Š(¢Š(¢Š(¢Š(¢Š(¢Š(¢Š(¢Š(¯÷GÔ:ðñã¤ÿÛoý§^âÿt}Gó¯øéÿ:Oý¶ÿÚuèe?ï°ô—þ’Ì1?Â~«óEŸ‚ÿñᨹó–½7Áßò,[ÿ×Yÿôk×™|ÿ CýÈœµé¾ÿ‘bßþºÏÿ£^žqÿ# Ÿ/É üóüÙ»EWœtQ@Q@Q@Q@Q@Q@Q@Q@Q@Q@÷_ëÐÿ3YwÖ^²Ôo-•GÜ•A>§*O§zÔºÿX>‡ùš‚°{”daIÿA½Wþþ§ÿGöŸôÕïêñ¯E!™ØRÐoUÿ¿©ÿÄQý…'ýõ_ûúŸüEkÑ@ØRÐoUÿ¿©ÿÄQý…'ýõ_ûúŸüEkÑ@ØRÐoUÿ¿©ÿÄQý…'ýõ_ûúŸüEkÑ@¶z2Ú_}±¯nîeòÌCÏe8RAì£ÐSu¿ù†ØJßÿC©YzßüÃ?ì%oÿ¡Škq]Q[’QEQEQEQEQEQEQEQEQEQE5þèúç^ñÓþëý`úæj žëý`úæj ÁîPQE†QEQEQE—­ÿÌ3þÂVÿú­JËÖÿæÿa+ý S[ˆê袊ܢŠ(¢Š(¢Š(¢Š(¢Š(¢Š(¢Š(¢Š(¢Š(¢Š(¯÷GÔ:ðñã¤ÿÛoý§^âÿt}Gó¯øéÿ:Oý¶ÿÚuèe?ï°ô—þ’Ì1?Â~«óEŸ‚ÿñᨹó–½7Áßò,[ÿ×Yÿôk×™|ÿ CýÈœµé¾ÿ‘bßþºÏÿ£^žqÿ# Ÿ/É üóüÙ»EWœtQ@Q@Q@Q@Q@Q@Q@Q@Q@Q@÷_ëÐÿ3PT÷_ëÐÿ3PVr‚Š(¤0¢Š(¢Š(¢Š(¬½oþaŸö·ÿÐÅjV^·ÿ0Ïû [ÿèbšÜGWEVä…Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@ º>£ùׇ|tÿ'þÛí:÷û£ê?xwÇOøñÒí·þÓ¯C)ÿ}‡¤¿ô–a‰þõ_š,üÿ CýÈœµé¾ÿ‘bßþºÏÿ£^¼Ëà¿üxjîCüå¯Mðwü‹ÿõÖýôóùTù~HXO௟æÍÚ(¢¼ã (¢Š(¢Š(¢Š(¢Š(¢Š(¢Š(¢Š(¢Š(¢Š(¢ŠÏºÿX>‡ùš‚§ºÿX>‡ùš‚°{”QE!…Q@Q@Q@eëó ÿ°•¿þ†+R²õ¿ù†ØJßÿCÖâ:º(¢·$(¢Š(¢Š(¢Š(¢Š(¢Š(¢Š(¢Š(¢Š(¢Š(¢ŠkýÑõμ;ã§üxé?öÛÿi׸¿ÝQüëþ:ÇŽ“ÿm¿özOûì=%ÿ¤³ OðŸªüÑgà¿üxjîCüå¯Mðwü‹ÿõÖýõæ_ÿãÃPÿrç-zoƒ¿äX·ÿ®³ÿè×§œȧËòBÂ|ÿ6nÑEçEPEPEPEPEPEPEPEPEPEP}×úÁô?ÌÔ=×úÁô?Ìԃܠ¢Š) (¢Š(¢Š(¢Š+/[ÿ˜gý„­ÿô1Z•—­ÿÌ3þÂVÿú¦·ÕÑE¹!EPEPEPEPEPEPEPEPEPEP_î¨þuáß?ãÇIÿ¶ßûN½Åþèúç^ñÓþ™Å5¸ê*§Û¿ýóÿ×£íƒßþùÿëÖ¼ÈV-ÑU>Ø=ÿïŸþ½lÿ÷Ïÿ^Žd-ÑU>Ø=ÿïŸþ½lÿ÷Ïÿ^Žd-ÑU>Ø=ÿïŸþ½lÿ÷Ïÿ^Žd-ÑU>Ø=ÿïŸþ½lÿ÷Ïÿ^Žd-ÑU>Ø=ÿïŸþ½lÿ÷Ïÿ^Žd-ÑU>Ø=ÿïŸþ½lÿ÷Ïÿ^Žd-ÑU>Ø=ÿïŸþ½lÿ÷Ïÿ^Žd-ÑU>Ø=ÿïŸþ½lÿ÷Ïÿ^Žd-ÑU>Ø=ÿïŸþ½lÿ÷Ïÿ^Žd-ÑU>Ø=ÿïŸþ½lÿ÷Ïÿ^Žd,¿ÝQüëþ:ÇŽ“ÿm¿ö{A»SŒçîÿõëÅþ:ÇŽ“ÿm¿öz9K¾6’ÿÒYωþõ_š'ø5Ia¨o pãlŒ½äþéêeƒû²ÿàD¿üUyÁøðÔ?܇ùË^§K;íõ>_’ ðWÏód_eƒû²ÿàD¿üUeƒû²ÿàD¿üUKEyW:ˆ¾Ë÷eÿÀ‰øª>Ë÷eÿÀ‰øª–Š._eƒû²ÿàD¿üUeƒû²ÿàD¿üUKE/²ÁýÙð"_þ*²ÁýÙð"_þ*¥¢‹Ù`þì¿ø/ÿGÙ`þì¿ø/ÿRÑEÀ‹ì°v_ü—ÿŠ£ì°v_ü—ÿŠ©h¢àEöX?»/þKÿÅQöX?»/þKÿÅT´Qp"û,Ý—ÿ%ÿâ¨û,Ý—ÿ%ÿâªZ(¸}–îËÿÿñT}–îËÿÿñU-K2ÂåI#§ãBWì°v_ü—ÿŠ£ì°v_ü—ÿŠ«>|¿óÑ¿:<ùç£~t\ ßeƒû²ÿàD¿üUeƒû²ÿàD¿üUX7R  ž¦pä%$©ÁÁèh¸þË÷eÿÀ‰øª>Ë÷eÿÀ‰øªî]-#rÁGÔœÔÓ¼ùç£~t[ì°v_ü—ÿŠ£ì°v_ü—ÿŠ«>|¿óÑ¿:<ùç£~t\ ßeƒû²ÿàD¿üUeƒû²ÿàD¿üUPñ ò›{ók_Û‚3ÔoŸÈVÌlË •$ŽŸUû,Ý—ÿ%ÿâ¨û,Ý—ÿ%ÿâªÏŸ/üôoÎ>_ùèß·Ù`þì¿ø/ÿGÙ`þì¿ø/ÿSKyä¨injN2ÍšrÜ;¨e”•# ƒÁ_ì°v_ü—ÿŠ£ì°v_ü—ÿŠ©ÞåÐÒ7,}IÀýM;Ï—þz7ç@¾Ë÷eÿÀ‰øª>Ë÷eÿÀ‰øª³çËÿ=ó£Ï—þz7çEÀ­öX?»/þKÿÅQöX?»/þKÿÅUÏ)·±_1¶µý¸#=Fðyü…lÆÌ°¹RAÈéøÐ_²ÁýÙð"_þ*²ÁýÙð"_þ*¬ùòÿÏFüèóåÿžùÑp+}–îËÿÿñT}–îËÿÿñUgÏ—þz7çU.õ»K ‹k{ÍJÞÞk¦ÙoÓª4Í0€œ±ÉQ@û,Ý—ÿ%ÿâ¨û,Ý—ÿ%ÿâ©[T…<Í×±.U†LÊ>InÔ>Œw¦S¸zбçËÿ=ó  ßeƒû²ÿàD¿üUeƒû²ÿàD¿üUYóåÿžùÑçËÿ=ó¢àVû,Ý—ÿ%ÿâ¨û,Ý—ÿ%ÿ⪇ˆg”ÛØ¯˜ÛZþÜž£x<þB¶cfX\© ätüh¯Ù`þì¿ø/ÿGÙ`þì¿ø/ÿV|ùç£~tyòÿÏFü踾Ë÷eÿÀ‰øª>Ë÷eÿÀ‰øª†çÄ:u•ü6z½¤“íò­å¸U’MÇj““’ïWüùç£~t[ì°v_ü—ÿŠ£ì°v_ü—ÿŠ«>|¿óÑ¿:¯{©¦as}w;GmmM+ਠ’p9<Ò€ì°v_ü—ÿŠ£ì°v_ü—ÿŠ«>|¿óÑ¿:<ùç£~t\ ßeƒû²ÿàD¿üUy?ÇHôí%P39åÙü³îÄפø†yM½Šùµ¯íÁê7ƒÏä+Íþ:ÇŽ“ÿm¿öz™7ûì=%ÿ¤³Ÿü'ê¿4Yø/ÿ‡ûÿ9kÔëË> ÿdž¡þä?ÎZõ:3¿÷úŸ/É üóüØQEåAEPEPEPEPEPEPEPR/ú‡úëQÕ{ÍF;è.¦iamàiÇRp8ê)¡(¬øH#ÿ n«ÿ€OþÂAýu_üð¤3Fl¬°IµŠ£±mªXòŒ£É䊊8[‡ie‰‹È^<ñ‚@ÁìÝjŸü$ÿÐ7UÿÀ'ÿ ?á þº¯þ?øSB,G²s4w9’WÚ«òH(ç^xúT¶‰&P‘0Ä?¾i7`É•éž?¿÷xý*—ü$ÿÐ7UÿÀ'ÿ ?á þº¯þ?øQp5è¬øH#ÿ n«ÿ€OþÂAýu_üð¤0ñú›û[ÿèb¶×ýCýGõ®_PÔ¤ÖPÃa¨+-ä2’ÕÕB‡$ãŠÜ¼Ôc°€n‚êf‘†ÞŒu'Ž¢˜‹VGü$ÿÐ7UÿÀ'ÿ ?á þº¯þ?øR£2ÊÓÛX+,ŒK,ymØüê³$¥!VóP æR±»nÜl ãælöæ«ÿÂAýu_üð£þÿèªÿàÿ…1¼© Ñ,‰s$ÂhH;[hPP’Bü ç^˜úSíL¡"aˆ|ÒnÁ“+Ó<îñúU/øH#ÿ n«ÿ€OþÂAýu_üð¢àkÑYðGÿ@ÝWÿŸü(ÿ„‚?úê¿øÿáHaâõ6ö·ÿÐÅm¯ú‡úë\¾¡¨I¬¡†ÃPV[Èd-%«ª…2Iǹy¨ÇaÝÔÍ# -¼ !êNE1(¬øH#ÿ n«ÿ€OþÂAýu_üð¤3^¹y™tíSY]GMº¿MQ[ˆmZu’!§çcüÆÄ…S÷Äîûûtá þº¯þ?øQÿ ô Õð ÿ˜¯…ô[HÖgŸZI¯•e¶eß˸û½ÀÈÌŠç(_ªm?ÂòôÈÿ„‚?úê¿øÿáGü$ÿÐ7UÿÀ'ÿ ¢5è¬øH#ÿ n«ÿ€OþÂAýu_üð¤0ñú›û[ÿèb¶×ýCýGõ®_PÔ¤ÖPÃa¨+-ä2’ÕÕB‡$ãŠÜ¼Ôc°€n‚êf‘†ÞŒu'Ž¢˜‹VGü$ÿÐ7UÿÀ'ÿ ?á þº¯þ?øRKJº5ÍÆŸoz×—WóL."³–håI$>YiUH]©²3¼¢?î'câ ­M¡WŠ+ƉïmâŠõ>Êßl· ‹;¹V7œnƒb•Rq»{ÏøH#ÿ n«ÿ€OþÂAýu_üð§qÄÐÝZê“Ùßu¼?o<© [=Ô“1[4yx‰™Ós]rIPx= ­bÏÄ7#ÄH÷„³K †Î;)Ú7€Ç(€2y‘äñy™àÿËC]çü$ÿÐ7UÿÀ'ÿ ?á þº¯þ?øQp5è¬øH#ÿ n«ÿ€OþÂAýu_üð¤0ñú›û[ÿèb¼ëã§üxé?öÛÿi×q¨jRk(a°Ô–ò Ijê¡CŒ’qÅpÿ?ãÇIÿ¶ßûN½L›ýöö÷þ’ÎlWðŸªüÑËx'â ¯„m'FµûSN¨ó6mÚXÿtç;¿Jê¿áyÚÐÿ&¿û (¯§¯‚ÃW¨êT…ÛóæqBS‚匴ùŸð¼íè ÿ“_ý…ð½-è ÿ“ý…V_Ù˜/ùö¾ù™^Ö¯ó~_äð½-è ÿ“ý…ð½-è ÿ“ý…Qý™‚ÿŸkï—ù‡µ«üß—ùü/K_úäßÿaGü/K_úäßÿaEf`¿çÚûåþaíjÿ7åþAÿ Ò×þ€ßù5ÿØQÿ Ò×þ€ßù5ÿØQEÙ˜/ùö¾ù˜{Z¿Ìÿòø^–¿ôÿɯþÂø^–¿ôÿÉ¿þŠ(þÌÁϵ÷ËüÃÚÕþoËüƒþ¥¯ý¿òoÿ°£þ¥¯ý¿òkÿ°¢Š?³0_óí}òÿ0öµ›òÿ ÿ…ékÿ@oü›ÿì(ÿ…ékÿ@oü›ÿì(¢ìÌüû_|¿Ì=­_æü¿È?ázZÿÐÿ&¿û ?ázZÿÐÿ&ÿû (£û3ÿ>×ß/ókWù¿/òø^–¿ôÿÉ¿þÂø^–¿ôÿÉ¿þŠ(þÌÁϵ÷ËüÃÚÕþoËüƒþ¥¯ý¿òkÿ°£þ¥¯ý¿òkÿ°¢Š?³0_óí}òÿ0öµ›òÿ ÿ…ékÿ@oü›ÿì(ÿ…ékÿ@oü›ÿì(¢ìÌüû_|¿Ì=­_æü¿È?ázZÿÐÿ&ÿû ?ázZÿÐÿ&ÿû (£û/ÿ>×ß/ókWù¿/òø^–¿ôÿɯþÂø^–¿ôÿɯþŠ(þËÁϵ÷ËüÃÚÕþoËüƒþ¥¯ý¿òkÿ°£þ¥¯ý¿òoÿ°¢Š?³0_óí}òÿ0öµ›òÿ ÿ…ékÿ@oü›ÿì(ÿ…ékÿ@oüšÿì(¢ìÌüû_|¿Ì=­_æü¿È?ázZÿÐÿ&ÿû ?ázZÿÐÿ&ÿû (£û/ÿ>×ß/ókWù¿/òø^–¿ôÿÉ¿þÂø^–¿ôÿÉ¿þŠ(þÌÁϵ÷ËüÃÚÕþoËüƒþ¥¯ý¿òoÿ°£þ¥¯ý¿òoÿ°¢Š?³0_óí}òÿ0öµ›òÿ ÿ…ékÿ@oü›ÿì(ÿ…ékÿ@oü›ÿì(¢ìÌüû_|¿Ì=­_æü¿È?ázZÿÐÿ&ÿû ?ázZÿÐÿ&ÿû (£û3ÿ>×ß/ókWù¿/òø^–¿ôÿÉ¿þÂø^–¿ôÿÉ¿þŠ(þÌÁϵ÷ËüÃÚÕþoËüƒþ¥¯ý¿òoÿ°£þ¥¯ý¿òoÿ°¢Š?³0_óí}òÿ0öµ›òÿ ÿ…ékÿ@oü›ÿì(ÿ…ékÿ@oü›ÿì(¢ìÌüû_|¿Ì=­_æü¿È?ázZÿÐÿ&ÿû ?ázZÿÐÿ&ÿû (£û3ÿ>×ß/ókWù¿/òø^–¿ôÿÉ¿þÂø^–¿ôÿɯþŠ(þÌÁϵ÷ËüÃÚÕþoËüƒþ¥¯ý¿òoÿ°£þ¥¯ý¿òoÿ°¢Š?³0_óí}òÿ0öµ›òÿ ÿ…ékÿ@oü›ÿì(ÿ…ékÿ@oü›ÿì(¢ì¼üû_|¿Ì=­_æü¿È?ázZÿÐÿ&ÿû ?ázZÿÐÿ&ÿû (£û/ÿ>×ß/ókWù¿/òø^–¿ôÿÉ¿þ¸ïøúZÚ$vf6ûÿå®ýÛ¶ÿ²1÷Z(­)`°Ôgí)ÂÍy¾ªÝY2œä­)]|¿ÈÿÙtraitsui-7.2.1/docs/source/traitsui_user_manual/images/text_editors_passwords.png0000644000076500000240000000532414046644454031277 0ustar aayresstaff00000000000000‰PNG  IHDRµ¹áóé… ›IDATxí]ÁªÇÕ3"hi°¢`òÊ'dPàý‚"ã—ÙeçUü!‹¬”6‘_Ð"h“uB¼ÞŒMò1A®—‚C½îéšš¹Ýwº{Žx\ª«ª««N×3w43ïæÁ/ÿþ€ÿˆ@‡~üèë?|_°R}jò¿N ‹_C€üXCèÜö‡ç.[õÿ}õ|Û„£½ôÙŸ.Lüˆ(äøøF½ûðûæÕó )²À·oÿÜGunoŸÙL®Ÿ‘úBФü¼øô×¶+Êo^¿D‡I ¼ûéo^ü¼X6uäÝW/o7M¸ï|ïüôÜÏçÞH˜ª{ÆQ‰!{iipg*œµ† ?B0uîtssÓ(Ãôü£Ñ2‡µ½yÿþýd•’ ZW WˆÛAˆu~à÷c±òcAn‚¤¤WJ¦¤o‡?h‰Æ‘Þ¢ Iju°níJÐÈëüppoœ0ùnbE“V=k9`Ť£?˜¹uƒœ S”µ2Oâ¬óÃN°yXÄG‡pH¬dÑG ÖO»Ö>Y…lXȈ餟¸ ‹ŠÿbX£9 f2=’D8[Á·ZÏ*ò6~È’ÈæqË« ôš:"@P}ðSÖ՘⠈2 «š¬BW·n«Ê<¬:è"'Cª7y3?ü"(ç>Š—yÑŠ‰¶%ð„šcÉÇÖŽ¡ š­•ÍVW¯Ì-Ò/,âãGèܪ=¶I‚Z{2´žV¶qrЬÕΪ+Wæ’[ü…†U…ˆO2¥ÃaÞ9I2QúÃÄß:[9qˇ¢©þoJöR/¥u²d)²~ªyç>0mläd9®´É¬:ŸÓaëEyQ 4aE;¡QŸdˆ‰«ÂâD(!H•s L" ½ÕuOå°Î áî¶=Ƭ8½óô*Vº/Ts~ôI €ÕyzÈó(ÿ{òc¬K~ŒÑ§£²¼yô«áù(½Yë¨T:_·ŸÛ.7%·HnògÜÓ)ÏG¥çƒ¢°‚óøoj¨’I¶ P„Ç—óPeO¥äÇÔÎ3'=¾ òÿ|÷%d s#ðÑ“§¥¹”¡þòƒ<ð ?êÜuÖmÅ<{e 6ÝQÄMy=4ˆ¦¡à ºg¨^åvš|õ™4­øö Xè«B$ÜlûKr¤–êßNÉgDŸVü,û½#옋ÈÐPh„@C~Ôʘl¨…äŽ8ý~¿Í‹ÁF!÷¡¦.­öÛÂà€)Ö_äE}]­„@+~ØëÚªÞ¬¿ÈðD ¹& uéøR·rF‹ Ð ?¸%Dºu}Ÿ^øqýʹbV瑵[øÈÍQ›îi‘ÃL1§âǦg gêb»Z¦âwŽêDáùGuH§ H~LÕÎêÅÕ!* ù1U;«C~T‡tª€äÇTí¬^LèûmŸÏµæ‘ö™gõž]0‡®3ÄQ®;’g©êCüåºÓ(yvȃRJ<ÿ(!Cýäyà!@~xèÐF~䇇mä9à!ú~ëèÉÆëcÁnT¾>\µ7¾Ÿnµ |?ßOç‘dÓUDžxPÒF~3óþsL1h§ñ0Ù6'?,Tn§¹ûë¹×ü~‹íeÙÈó’âq[/"ó÷úΠvšlñ©ÕøÑ®Ù;ðr(!®ð¹#½¦Ô9¾,’Ãn'EÐÅ(—=­›L„O hÝ3Ôªr;M)‡9ôÕöÒ×䀂¡5AV+†"k‰å„Ni§ ¦4œ[ý#^¶ô8î\ò«JÔ×BàªûöÉž=®Õ¦qêìÒìøÆp93âk5Åî Á«í Ed˜hMôU)‡ÄY­g@¿ÿ«ñCJÍûšh’a2%±bèýã;z†uŽ/££ÀüK%d¨¿C€ü <jžxë\ËÆ÷ÓÕEz*~ðùÛºähSñcÓsÕ¡œ2 Ï?¦lkµ¢ÈjPNˆü˜²­ÕŠ"?ªA9e òcʶV+Šü¨å”Bßoû|®5ˆ´Ï<;äM])É?F¹î4Jž¥ft¨ñc”ëN£äÙ!J)ñü£„ õwä‡ùá¡CùAx:´‘䀇@èû­ '¯»QùúXpÕÜø~ºÕ.ðýt|?G’MWyþáAIùAxÌÌûÎ1Å ÆÃxdÛœü°ùÚûGŽ 4Ç•e¨‚5Á'PÒXN¨O;M)‡ÑõÇóC$8‚"‰^‡;¸²‡ÊUºàû½Ú§£º8ÿ@ñØHp|É p³JÊ-8~ÿÐC‰Ö¦‰’C4j’Oø¨C scø‘´ÙÂAy³X •ÕèëøR½<¼òãB'ŸN~LÞà Ë;æüã¤é|?ÎÓTüàó·;àO™Š›îœóq¡Uàù™à!@~xèÐF~䇇mä9à!@~xèÐú~Ûçs­ùC¤}æÙ!ÉrèJI†ø1Êu§Qò,5£C}ˆ£\w%ÏyPJ‰ç%d¨¿C€ü <ÈÚÈrÀC€üðСü <ÈÚÈrÀCàzüØúÐÛVT™Ol§Á¢³ !~¾ø©DÝhHÉò@åv,:·º¾.àñ5Aò>hl+ï‹fgIbJ„m§±ëN,‡öRýÒýêÓ)¶ù\ñ¥ ®²UªÎÊ]¶‘Æ®;±Ý?rl§!k3Ð*èU“±šd®5eDÐsëjvn!ÊüÊÚ@ Œr LûYNI¦ŸÄæ‡Í­í4ùê“i¢üPˆ“ö'¸Û&ž“¡vžr¶!¿¨\1‰`)µè/Jb¹_®“ú ÑýáÐ-ÛimžÕ¨®½UêD§Ð!~$]ĪŠhÄÙwS+|ò=&¬K¡ÛŽ/’`Øn€Ü-dÏü8.M~䇇mä9à!@~xèÐF~䇇mä9à!@~xèÐF~䇇mä9à!@~xèÐF~䇇mä9à!P¼¿ð£'O½y´îçèóÞ*ɽÈc^z|yóúå9 g•!îí··ÏB“ètÒýƒ9MëC…ÞÛ?B3èt&È3u{{­wÇþYŒí¸Í?ãÿ ãwüàŸÅ˜¿Û{+üÅ„5êx$±IEND®B`‚traitsui-7.2.1/docs/source/traitsui_user_manual/images/delete_item_icon.png0000644000076500000240000000166714046644454027753 0ustar aayresstaff00000000000000‰PNG  IHDR&u2Á~IDAT8¥T_hEŸ™Ýì{Û¤½k¢¶UisBm,y0 }b„Z }4¾T_BðÝÇ<åµ/Jè‹©Šj´” ш…F*JÛ¤!צ^ïvwöfvçß\r­ÿ@ÄáÛáû}ß÷ûÍÌbc úF;??_¯×ÿk‘ñññééi°ÅÅÅååe¥İj­9çQQJƒ (ýÍ|ß_YYäÛþ466677G¤ã8í®ŒŒ”ËeHø‹µZ­™™™íMÛcL‡¸. k-ϵ‘ÚJ£ÿàÛ˜(a"ËŸ¶?˜B¸£q.u*5EšIpÅ”ÎêÀÔÁP³-r!•ßg;x|óg÷Âûn‡!Î qˆE!ðO—¢°´­‹ÍíNJ )¤ÂoÜ@ÃNíJßù†[r+!èH×N„ôGPZf…­MïzãOx|v—éñ)]~ ž¦iÇåJ9 KZ;†ý¢»µ!?9cøMËþ~úETyíÝEÇ$‰t[xpˆ tçßNF¸€Ð¨P„’VùÞ Ì@eG<5xôèîÊžöÒÅøô;ñù³¥Wßðv}Âhů~›ÔkÂjÖ5b U9É3ë™ ¹pdÁÊŠ±aIRûŒ¯®Ø\ŒŒÌÒúWéåEä8¶?üB¤ÌÛÍf’$Œ1x…qC¼±¾¦<_¯¯yA©ÿÄTñù—áykÞÁ¾_:ñ:¢4úà´ÅCêêêêììl–eyžÃùÁ \àáÂþêëÓ¾ð ª ‰kWÙ7 áÉSÀ¢0|„#cñ Á?š e‰³¯¿ û&ß]J/ üCO±–ô*þ÷ÿßoæ‡ïƵOݤ-€=ÜB%=`} ê?wìwWNê]~+IEND®B`‚traitsui-7.2.1/docs/source/traitsui_user_manual/images/key_binding_editor.jpg0000644000076500000240000004043414046644454030302 0ustar aayresstaff00000000000000ÿØÿàJFIF``ÿÛC    $.' ",#(7),01444'9=82<.342ÿÛC  2!!22222222222222222222222222222222222222222222222222ÿÀhà"ÿÄ ÿĵ}!1AQa"q2‘¡#B±ÁRÑð$3br‚ %&'()*456789:CDEFGHIJSTUVWXYZcdefghijstuvwxyzƒ„…†‡ˆ‰Š’“”•–—˜™š¢£¤¥¦§¨©ª²³´µ¶·¸¹ºÂÃÄÅÆÇÈÉÊÒÓÔÕÖרÙÚáâãäåæçèéêñòóôõö÷øùúÿÄ ÿĵw!1AQaq"2B‘¡±Á #3RðbrÑ $4á%ñ&'()*56789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz‚ƒ„…†‡ˆ‰Š’“”•–—˜™š¢£¤¥¦§¨©ª²³´µ¶·¸¹ºÂÃÄÅÆÇÈÉÊÒÓÔÕÖרÙÚâãäåæçèéêòóôõö÷øùúÿÚ ?çoüE}â]Uµ ²Ó<ŽL0‘¼FDUú`p9¦}½’CH@H1´J¬? f O†±eu-ɵXܺÊ6ÖNk¯¼ð–©èš†¨¶pÜj7l×+©KrUÃg#jN‘êkëqY›ÁâV4ÓŠKÊ×ý-ÿxTðpÄÂUí+œ‹j/U‡þý-7ûMÿ¹ýúZÕ´²‡ƒÜÛZù×ÚPçËt‚&ý9 [hôÎ+fûÃzf¥ªjW;¤Mw mm·É…a€IÓäåzŠôêc)S“Œ–×ü-þÇO )Å5ýoþG#ý¦ÿÜ‹þý-ÚoýÈ¿ïÊ×Ygá{y´Ck lÓܶŸ1¹— "Èî¨vœ` ¹8ãµ"ø[L[˜NòÜG§ËÒü­Ï!VÈÀÎ1Î@ã޵Ÿö µmŸùŸà_Ô*Y3”þÓîEÿ~Ví6þä_÷ékcQÐìtÝsN‚ &—̹d‘%RW 6Á†*¡· ŽFMnë²½Õ®£°x—M¶kÙfxcØÆâ2XÄÇiØ€mUÆAÚÄU,u%Êí£»¿ – n몷âq_ÚoýÈ¿ïÊÑý¦ßÜ‹þý-ohûõ2/o6iÃÍ”4{KDbÜ1;ÈLí?x ¿ákyt}Ij${Yá—ý$žZŽì2«’yÓž6”aÏ}ºwWàäåÊôßð9/í7þä_÷éhþÓîEÿ~–·ŸE³¸Ómn¤iqi‰q²E,ZäÄFí¹=r ÉÀ®ÚøjÏM¸Ô ¬·†?í+u,£d~LYF$·Œc½'¢¢Ýµ×O@X)¹$rŸÚoýÈ¿ïÒÑý¦ÿÜ‹þü­u-á{+íR5yfE’[T"&ß: ûŽ çûÙê*ám)Égº¼Y.¼ƒU d¬ÏˆÀ,¡v“œç#=(úý»úÔªt9ßí7þä_÷åhþÓîEÿ~VŸ«iƒNÕg´Û"ye~WefPܕ㿱õ¥SòG©®ØrÎ*QÙœ²ŠŒœ^è³ý¦ÿÜ‹þü­ÚoýÈ¿ïÊÕo$zš<‘êj¹|‰÷K?ÚoýÈ¿ïÊÑý¦ÿÜ‹þü­VòG©£É¦Ž_ ÷K?ÚoýÈ¿ïÊÑý¦ÿÜ‹þü­VòG©£É¦Ž_ ÷K?ÚoýÈ¿ïÊÑý¦ÿÜ‹þü­VòG©£É¦Ž_ ÷K?ÚoýÈ¿ïÊÑý¦ÿÜ‹þü­VòG©£É¦Ž_ ÷K?ÚoýÈ¿ïÊÑý¦ÿÜ‹þü­VòG©£É¦Ž_ ÷K?ÚoýÈ¿ïÊÑý¦ÿÜ‹þü­VòG©£É¦Ž_ ÷K?ÚoýÈ¿ïÊÑý¦ÿÜ‹þü­VòG©£É¦Ž_ ÷K?ÚoýÈ¿ïÊÑý¦ÿÜ‹þü­VòG©£É¦Ž_ ÷K?ÚoýÈ¿ïÊÑý¦ÿÜ‹þü­VòG©£É¦Ž_ ÷K?ÚoýÈ¿ïÊÑý¦ÿÜ‹þü­VòG©£É¦Ž_ ÷K?ÚoýÈ¿ïÊÑý¦ÿÜ‹þü­VòG©£É¦Ž_ ÷K?ÚoýÈ¿ïÊÑý¦ÿÜ‹þü­VòG©£É¦Ž_ ÷K?ÚoýÈ¿ïÊÑý¦ÿÜ‹þü­VòG©£É¦Ž_ ÷K?ÚoýÈ¿ïÊÑý¦ÿÜ‹þü­VòG©£É¦Ž_ ÷K?ÚoýÈ¿ïÊÑý¦ÿÜ‹þü­VòG©£É¦Ž_ ÷K?ÚoýÈ¿ïÊÑý¦ÿÜ‹þü­VòG©£É¦Ž_ ÷K?ÚoýÈ¿ïÊÑý¦ÿÜ‹þü­VòG©£É¦Ž_ ÷K?ÚoýÈ¿ïÊ×Go¢Ìú|7wPCç(eEµpFGýr+Ô¯!\\Oo ±ñƒ2Àà€çs*ãf1‘Ú¼‹Å§ÎÑìˆéþ?U¯'*ͱX¼_Õë´ã$ú.ˆöqÙV†öôSRMuïúv}EÑô=[VÓüÛ*æîÛKÆ ®zã“î+M|+⥅¡]'TX›9I ϶k§ø|eÿ…~‘Å<е[xZH_k…fXÛ ‘^ƒs¢éÖE׈58 ç`—Se-ޏɿ»±ÙÍXW•.HµÕ3Ç¡€§()ó4ßcÅÓž'ˆ+EÔcÈÛò ¼zpjfð÷ŠÎ’4KÕ±IZ_-cÆæe ƒÏ#¦+ر´ád/?·õ_²œboí&ÛÉÀçê@«?ð‹ÅÿAmkÿÞ¹åŸW—Åþ?æi¶œv“$ÿ ÷ýð?ƽÇþx¿è-­à{Ô6úâ³ZëڤꭵŒZ›0Ðàõ£ýbÄÿ,óìšÙâŸðˆø“þ€Wß÷Àÿ?áñ'ý¯¿ïþ5í“ø~ÒÖ5Æ·¬E }AÀ8©•|=h÷[®µ¬£UgA¨>T6pH÷Ú#GúʼnþXþ?æÙ4;³Ä¿áñ'ý¯¿ïþ4Â#âOú_ßükÛßÃVñÆÎúƲ¨ –c¨>êìm;ìBóþ Wì§›ûI¶òp9ú‘GúʼnþXþ?æÙ4;³Åÿáñ'ý¯¿ïþ4Â#âOú_ßükÜá‹þ‚Ú×þ½V—FÓຎÖ]{VIä‘QpHÎ3ùœQþ±b–?ù‡öMìñøD|Iÿ@+ïûàðˆø“þ€Wß÷ÀÿöÖðõ¢\GnÚÖ°&‘Y‘ ù`¸ÉÛpüÅ6 Æåá×ui÷m+¨¹Ý´àãèhÿX±?ËÇüÃû&‡vx§ü">$ÿ ÷ýð?ÆøD|Iÿ@+ïûà{ü"ñÐ[ZÿÀ÷¨ãðõ¤Í*Å­kÑ>Éêv6Á÷Áñ£ýbÄÿ,óìšÙâ_ðˆø“þ€Wß÷Àÿ?áñ'ý¯¿ïþ5î?ð‹ÅÿAmkÿÞ˜¾µwdMkWfO¼£QbWëéGúʼnþXþ?æÙ4;³ÄO„|Kÿ@ãÿãIÿ—‰èÿ|ñ¯rÿ„^ú k_øôÂ/ýµ¯üz?Ö,OòÇñÿ1ÿdÐîÏ ÿ„KÄ¿ô¿ÿ¾øÑÿ—‰èÿ|ñ¯rÿ„^ú k_øôÂ/ýµ¯üz?Ö,OòÇñÿ0þɡݞÿ—‰èÿ|ñ£þ/ÿÐÿþøã^åÿ¼?ôÖ¿ð=èÿ„^ú k_øô¬XŸåãþaý“C»<7þ/ÿÐÿþøãGü"^%ÿ ÿýð?ƽËþxè-­à{Ñÿ¼?ôÖ¿ð=èÿX±?ËÇüÃû&‡vxoü"^%ÿ ÿýð?ÆøD¼Kÿ@ ÿûà{—ü"ðÿÐ[ZÿÀ÷£þxè-­à{Ñþ±b–?ù‡öMìðßøD¼Kÿ@ ÿûàð‰x—þ€ÿ÷Àÿ÷/øEáÿ ¶µÿïGü"ðÿÐ[ZÿÀ÷£ýbÄÿ,óìšÙá¿ð‰x—þ€ÿ÷Àÿ?áñ/ý/ÿïþ5î_ð‹ÃÿAmkÿÞøEáÿ ¶µÿïGúʼnþXþ?æÙ4;³Ãáñ/ý/ÿïþ5¯¯íßD×`"X‰¶(¼ô5ëð‹ÃÿAmkÿÞøEáÿ ¶µÿïYÏ>ÄOxGñÿ2á–Òƒºlñû j—O¾ãDñÍŒæ,ŸlÕ†Ó|ErþmƬA*Èîi°`;n#æô'¨¯Xÿ„^ú k_øôÂ/ýµ¯üzíºÍYÁ~?æ_ÔiÞ÷ä³hºíÄf9´ïºªÏê)cÓ5à¾CøkUKtòü“Ï1v)Q’x9þ5ë?ð‹ÃÿAmkÿÞøEáÿ ¶µÿïYVÌåZ›¥Rœ\_MÌÖŽØÔUiÉ©.ºzv<¤é:Ábߨ~" NK9ú×3âí?S³Ò¢7:=åœ[Õ$¹Á,ïÉÎ8íúW¾Â/ýµ¯üzó‰f_øW/³Í9‡Wž’gÜåUäU÷ÀTåS£GN”SwW¼ŸO6Íñµñè¸U¨ÚÑÚËôDžq€mÜòYµ?øüUÜê 1Ô¯¦M<_-äj‘»º)µÂ‘»±'wËß›i mðù‹ K²¥ÜÝË» ICëŒU¯øG®è;¬äþ5Gü#×?ôÖ?òÿ®ttXƒD‹SÓ§ÜÏ$ÒIÇÚ “³£Je"Ÿ”ÝÂã®1Ò±môß¼—msqr C+Ú¨½ -ÉUÚ~Vå7€ÙÀê+¡ÿ„zçþƒºÇþAÿãTÂ=sÿAÝcÿ ÿñª9ÐX¡¯A­Þê‰qeysKl9•dÃn,'vT ŒvëY×6¬·Io%Ãl²’ Gûso†WDÜå‰ÉÐðsÉ è?á¹ÿ î±ÿøÕð\ÿÐwXÿÈ?üjŽtɧƒÄn‚âñ´ÛtY@•‰-+.Ìn'æPâ;1®yôMbX"´šx“÷­rÜüÎZRÀ!c…ãiàÁùè¿á¹ÿ î±ÿøÕð\ÿÐwXÿÈ?üjŽt9ÕÑõul] .PÝÃqæ ­» :4’:Œ *` W ÍojRÍ®Zh×a,rA?Ú$¶ó¶2ƒ ù²:nƒÔd`ô©?á¹ÿ î±ÿøÕð\ÿÐwXÿÈ?üjŽt9ÆÑuË{ ;»¸m¡·„IWyo8! À¹8PvñÓÑkcO‹R°Ë,÷<¶÷FbnMÒ™3 P~î#å¨ã¥[ÿ„zçþƒºÇþAÿãTÂ=sÿAÝcÿ ÿñª9ÐXÀÒìµé-à”Ü^Ù/؛ˊ[Ó#-É@wÉ9²v“Á9Å>ÚÃ^…-ÚoØ$ŒXMv¤F¸§%òh%—æù‡¦çü#×?ôÖ?òÿ£þëŸúëùÿQ΂Æp±¾›Ãö6÷p¼³Û_­ÁOµ7™" —Ü@~rv½†:Voö&·m§ÛZÙÜÜÅ–ê(n¾g“sýÂÇ 9CÁŽ•Ñ`OœoêÙúÃÿÆéá¹ÿ î±ÿøÕè,RÔmµinìî­g&h4ã³HË6T‚H¡º`ãsTlíu»h-­¥¿Ô ÜJÑJ^Pû"* °eû­•ùI$üǧJÛÿ„zçþƒºÇþAÿãTÂ=sÿAÝcÿ ÿñª9ÐX£ªÙÞK®^ßZE)K˜àVòîŒE‘ï¨Á`xnØ##4ÝR=~o ZYÛK!½MÌò$ádSÏ–79Î;Ö‡ü#×?ôÖ?òÿ£þëŸúëùÿQ΂Æ!´ñ I’wf.°³¿k F20k|Á«:H5ã=¾œMó]g{ÜEvéA·3‚v윎yúuŸð\ÿÐwXÿÈ?üjøG®¿è;¬äþ5G: tk›«6ÖáKe–V†V›{ªnùç“òääœö®fÓLÔ¡Ó¬l¾Êm`K{ˆ-îUõAêFÜcŒyn÷á¹ÿ î±ÿøÕð\ÿÐwXÿÈ?üjŽt9Ûë\éNŸÌ»Ý8žI~Ø2Âù]sÃ9éžsšdúGˆ¤žI¢¹¹‚7Ú8îÔʪ …³›½NsßÒÿÂ=sÿAÝcÿ ÿñª?á¹ÿ î±ÿøÕè,VÔ¡Ô¦xÃÏqIÆ%X<·;v±*Fõ7®î•‡®d=ŒûÙÊ"ÛH·#e¶$Ür„áÉ# ãâº_øG®è;¬äþ5Gü#×?ôÖ?òÿ£ŠZàÖ®|= ‡˜—Q³n•.pìÀŽˆà“’§‘ÀÅ.§gww%äÉvlí!IÅFô™žBTpF¾*çü#×?ôÖ?òÿ£þë‘ÿ1Ý_ÿ ÿñª9ÐXæíôÆmåžâêá£Ü&Y.Ô<€˜Ëª2ýÐÛqŒvÍ]I½KÑ8š+«!r8¸æ’Œ[?8^29Ï¡­_ìÿè?«~pÿñº?°gÿ þ­ùÃÿÆèçAb­¬z´zõ¹3¤’öbpêOA]¹t“ÅÓõý «¯Ý³Kàÿü‰ïÿ_?û"Ö­Ž£>”—wÖ—W—×W—(‘Å<›å+4œ¼`¬¯ƒÿò'¿ý|ÿì‹Z¶—véq[ÜKe¨Ú]ܼRÇa,›7K'ûXoÖžeþýWÔŒ7ðbK i'†xd´º‚E‰íî.¤WÞÈ(ÃNbz±“áS¥X_ÜÛµ²^ÆIw.rÊ^“ÍVŽãF[èî¦Ôu9™eûC)Òæ¦1‹ñR8÷¨š? ­¥Œòß[=¶Í×0és,ÒmP¹Þ#Ê’ A#¥qèntð†è?óç'þËÿÅQÿvƒÿ>ràL¿üU;þÝ#û÷¿ø.¸ÿâ(ÿ„·Hþýïþ ®?øŠ4¿ð‡h?óç'þËÿÅQÿvƒÿ>ràL¿üU;þÝ#û÷¿ø.¸ÿâ(ÿ„·Hþýïþ ®?øŠ4¿ð‡h?óç'þËÿÅQÿvƒÿ>ràL¿üU;þÝ#û÷¿ø.¸ÿâ(ÿ„·Hþýïþ ®?øŠ4¿ð‡h?óç'þËÿÅQÿvƒÿ>ràL¿üU;þÝ#û÷¿ø.¸ÿâ(ÿ„·Hþýïþ ®?øŠ4¿ð‡h?óç'þËÿÅQÿvƒÿ>ràL¿üU;þÝ#û÷¿ø.¸ÿâ(ÿ„·Hþýïþ ®?øŠ4¿ð‡h?óç'þËÿÅP< çþ<äÿÀ™øªwü%ºG÷ïð]qÿÄP<[¤gïÞÿà¾ãÿˆ£@9ß6_øUžo›'›ý—Ÿ3yÝwuÏ¿ZèƒtÿÇœŸø/ÿX?gŸþ‡Ùü‰|ÿì½¾Vÿ;:mëŸnµÐéû÷¿ø/¸ÿâ*!mFÆÿ ÿÏœŸø/ÿGü!ÚüùÉÿ2ÿñTïøKtïÞÿàºãÿˆ£þÝ#û÷¿ø.¸ÿâ*ôßøC´ùó“ÿeÿâ¨ÿ„;AÿŸ9?ð&_þ*ÿ n‘ýûßü\ñÂ[¤~÷ÿ×üEßøC´ùó“ÿeÿâ¨ÿ„;AÿŸ9?ð&_þ*ÿ n‘ýûßü\ñÂ[¤~÷ÿ×üEßøC´ùó“ÿeÿâ¨ÿ„;AÿŸ9?ð&_þ*ÿ n‘ýûßü\ñÂ[¤~÷ÿ×üEßøC´ùó“ÿeÿâ¨ÿ„;AÿŸ9?ð&_þ*ÿ n‘ýûßü\ñÂ[¤~÷ÿ×üEßøC´ùó“ÿeÿâ¨ÿ„;AÿŸ9?ð&_þ*ÿ n‘ýûßü\ñÂ[¤~÷ÿ×üEßøC´ùó“ÿeÿâ«3^ðæ—¦ikyg°ÜGumµÅ̇à¶9ŠÕÿ„·Hþýïþ ®?øŠÍ×µëOLvky$ò\Û•Sc:Œ ‘‰$  äö¡Ø ZÔÚŒôØDŽ÷‡`vTÁä)e ÎÞžzVBøÎÔOb n h„Ÿm‰H€ÙæÆÐù* <[÷¶zŒb+ÛX®b ¸$ªëúÔÙ:qº{¯°[}¡ã1<žPÜÈF “é€+ 2­l÷=±\\ˆÞ執jÿô-ßàM¿ÿ£íÚ¿ý wßøoÿÇ+£¢ŽD9Ï·jÿô-ßàM¿ÿ£íÚ¿ý wßøoÿÇ+£¢ŽD9Ï·jÿô-ßàM¿ÿ£íÚ¿ý wßøoÿÇ+£¢ŽD9Ï·jÿô-ßàM¿ÿ£íÚ¿ý wßøoÿÇ+£¢ŽD9Ï·jÿô-ßàM¿ÿ£íÚ¿ý wßøoÿÇ+£¢ŽD9Ï·jÿô-ßàM¿ÿ£íÚ¿ý wßøoÿÇ+£¥Eˆ.s_ÛPÂ9ý¹åKä}›í>^üc8ëŒþ8¥ûv¯ÿBÝ÷þÛÿñÊÃÿšQÿp¯ý’½õ51ŠclæþÝ«ÿз}ÿ6ÿür·jÿô-ßàM¿ÿ®ŽŠ®D+œçÛµúï¿ð&ßÿŽQöí_þ…»ïü ·ÿã•ÑÑG" œçÛµúï¿ð&ßÿŽQöí_þ…»ïü ·ÿã•ÑÑG" œçÛµúï¿ð&ßÿŽQöí_þ…»ïü ·ÿã•ÑÑG" œçÛµúï¿ð&ßÿŽQöí_þ…»ïü ·ÿã•ÑÑG" œçÛµúï¿ð&ßÿŽQöí_þ…»ïü ·ÿã•ÑÑG" œçÛµúï¿ð&ßÿŽTWÅõœk-æ…}D¤3@ÁK°@HW'aÐWQXž-ÿ‘}¿ëê×ÿJ#¡ÁÅ»¼´°ŒIyu¼e¶‡š@€Ÿ@OzœqŽsÓ‘¯éWZ«Ø‹[¡jÐM#´Ûʃ Â° òÃ>Ùæ°o¼?¯I`4û@ÀÍo[ÖR¤W–8É€Ù㯨¬¬3¶ÁÎ0séFÁÇ­sWš-ÿöå…«±ÿL2Z§ÚGcÉ]Ù%AЊ‚/ê y¹è— ,·^8¦Ç Îʤ Æy “š,SæG夞bùr÷ 6z`÷ÏoZuyÝŸ…õ«‹cÜDù7ÍæÞ?úhGBª¿ÜiÃ{ס¨Â(Æ0Î(h¢Š) (¢Š(¢Š(¢Š(¢Š(¢Š(¢Š(¢Š(¢Š(¢Š+ξ4ÿÈý}¯þ‚Õèµç_äGþ¾×ÿAjïË?Þáëúâ?†Éþqàçÿ¯“ÿ -töúN¥eÅg¯Í Y$XͤM·{—#$dòƹƒÿò'¿ý|ÿì‹[VVÖO£‹ýBóW’â{»„H­ï&Üûfp[²¯aÀ¦f›ÇU·r0¿Á‰§ö]sþ†Yð *O²kŸô2Kÿ€QU[x<;qç¯ö¦§ вÁ>©4r!*¥óÈ?ÏÒˆí4WM2FºÖcMBqI©Ì(Uo˜ïàü¸­.æú¾É­ÿÐÉ/þÅGÙ5¿ú%ÿÀª×ü"Ö?óõ«àÎþ*øE¬çëVÿÁœÿüU—pЫöMoþ†Ið*>É­ÿÐÉ/þÅV¿á±ÿŸ­[ÿsÿñTÂ-cÿ?Z·þ çÿ⨴»†…_²kô2Kÿ€1QöMoþ†Ið*µÿµüýjßø3ŸÿŠ£þkùúÕ¿ðg?ÿE¥Ü4*ý“[ÿ¡’_üвkô2Kÿ€1U¯øE¬çëVÿÁœÿüUð‹XÿÏÖ­ÿƒ9ÿøª-.á¡Wìšßý ’ÿà T}“[ÿ¡’_üŠ­Â-cÿ?Z·þ çÿâ¨ÿ„ZÇþ~µoüÏÿÅQiw ¿dÖÿèd—ÿb£ìšßý ’ÿà UkþkùúÕ¿ðg?ÿ@ð­ŽãëVÿÁœÿü]—pЩý‰ü#?Ø~|žWÙ~Íç`oÆ1»3ßÒ—ìšßý ’ÿà U—ö»ŸøVkûL¿jþÌßçï;÷lûÛºçÞ·…lsÿZ·þ çÿâêbŸA²¯Ù5¿ú%ÿÀ¨û&·ÿC$¿øZÿ„ZÇþ~µoüÏÿÅQÿµüýjßø3ŸÿŠª´»‹B¯Ù5¿ú%ÿÀ¨û&·ÿC$¿øZÿ„ZÇþ~µoüÏÿÅQÿµüýjßø3ŸÿŠ¢Òî~É­ÿÐÉ/þÅGÙ5¿ú%ÿÀª×ü"Ö?óõ«àÎþ*øE¬çëVÿÁœÿüU—pЫöMoþ†Ið*>É­ÿÐÉ/þÅV¿á±ÿŸ­[ÿsÿñTÂ-cÿ?Z·þ çÿ⨴»†…_²kô2Kÿ€1QöMoþ†Ið*µÿµüýjßø3ŸÿŠ£þkùúÕ¿ðg?ÿE¥Ü4*ý“[ÿ¡’_üвkô2Kÿ€1U¯øE¬çëVÿÁœÿüUð‹XÿÏÖ­ÿƒ9ÿøª-.á¡Wìšßý ’ÿà UÆ“©^ưÞkóM–91inØáÀȨ«ÿð‹XÿÏÖ­ÿƒ9ÿøªÎ×4Xt½0^ZÞjk2\Û¾þgRdR – ‚ Ò´»††ÉäÑY!Õ.ôÁd–6ë4·W,žM #>B¡ýÜ~5¬xÂ}6x–;@Ñ!š)¥aò<É´Q»p˜òGçYØg_E`Üëó[&…,Ö­öexÖ}Þ^PN9'§\TVþ5Òç21Žê+t}¿h’-±‘ó`çÜ¡ë’(³£¢°/ÿžWß÷ÂÿñTÂéð¿üò¾ÿ¾ÿŠ¢Š?±pŸÞÃë;‡ü.Ÿ ÿÏ+ïûáøª?átø_þy_ß ÿÅQEظNÏïaõŠÃþO…ÿç•÷ýð¿üUðº|/ÿ<¯¿ï…ÿ⨢ì\'g÷°úÅNáÿ §ÂÿóÊûþø_þ*ø]>ÿžWß÷ÂÿñTQGö.³ûØ}b§pÿ…Óáùå}ÿ|/ÿGü.Ÿ ÿÏ+ïûáøª(£û Ùýì>±S¸Âéð¿üò¾ÿ¾ÿŠ£þO…ÿç•÷ýð¿üUQý‹„ìþöX©Ü?átø_þy_ß ÿÅQÿ §ÂÿóÊûþø_þ*Š(þÅÂv{¬Tîðº|/ÿ<¯¿ï…ÿâ¨ÿ…Óáùå}ÿ|/ÿEbá;?½‡Ö*wø]>ÿžWß÷ÂÿñTÂéð¿üò¾ÿ¾ÿŠ¢Š?±pŸÞÃë;‡ü.Ÿ ÿÏ+ïûáøª?átø_þy_ß ÿÅQEظNÏïaõŠÃþO…ÿç•÷ýð¿üUðº|/ÿ<¯¿ï…ÿ⨢ì\'g÷°úÅNáÿ §ÂÿóÊûþø_þ*ø]>ÿžWß÷ÂÿñTQGö.³ûØ}b§pÿ…Óáùå}ÿ|/ÿGü.Ÿ ÿÏ+ïûáøª(£û Ùýì>±S¸Âéð¿üò¾ÿ¾ÿŠ£þO…ÿç•÷ýð¿üUQý‹„ìþöX©Ü?átø_þy_ß ÿÅQÿ §ÂÿóÊûþø_þ*Š(þÅÂv{¬Tîðº|/ÿ<¯¿ï…ÿâ¨ÿ…Óáùå}ÿ|/ÿEbá;?½‡Ö*wø]>ÿžWß÷ÂÿñTÂéð¿üò¾ÿ¾ÿŠ¢Š?±pŸÞÃë;‡ü.Ÿ ÿÏ+ïûáøª?átø_þy_ß ÿÅQEظNÏïaõŠÃþO…ÿç•÷ýð¿üUðº|/ÿ<¯¿ï…ÿ⨢ì\'g÷°úÅNáÿ §ÂÿóÊûþø_þ*ø]>ÿžWß÷ÂÿñTQGö.³ûØ}b§pÿ…Óáùå}ÿ|/ÿGü.Ÿ ÿÏ+ïûáøª(£û Ùýì>±S¸Âéð¿üò¾ÿ¾ÿŠ£þO…ÿç•÷ýð¿üUQý‹„ìþöX©Ü?átø_þy_ß ÿÅQÿ §ÂÿóÊûþø_þ*Š(þÅÂv{¬Tîðº|/ÿ<¯¿ï…ÿâ¨ÿ…Óáùå}ÿ|/ÿEbá;?½‡Ö*wø]>ÿžWß÷ÂÿñUÉüDø‰¢x«ÃKa`· 2Ì$ýê¨#±<óE¥,¯ Fj¤«ÌR­9+6ÿÙtraitsui-7.2.1/docs/source/traitsui_user_manual/images/DatetimeEditor_demo.png0000644000076500000240000007105514046644454030370 0ustar aayresstaff00000000000000‰PNG  IHDR´P= pHYs  šœ IDATxœìy\ËÿÀçœê´/„£}Ñ^ˆ ¡…”.R¶²eËš-®%®å ]"QnQÙsK‘ÜD¨hQºiU9í{Îòûcî÷ù=÷lÓfiÞ¯^½ž3Ï,ŸyfžùÌò™yÕÕÕ@ â·@ ߤb@ƒÔ@ h@ ˆ R1 Úµk— a²²²|PYY),,ÜÇö---°­ «ªªŠ‹‹ó“4FƒJJJ½%^ggçÇ……… ø‘¡°gŸÉd~ýúµ¢¢BII©w'ß«ªªÊÊÊÈdrO& ‚••ÕØ±c²²²ÚÛÛ7nÜøäÉvŸ­­­¥¥¥4M[[›D"u/9ªw7 P( EGG‡EÂòòòêêj===Þ’÷ðå´N666~þüYQQ±uƒQ Æ×¯_+++UUUá@°{ôV•ûVôtJñÔ©S“&MÒÓÓ³±±ÑÐИ>}zNN»·wïÞÍ›7OCCÃÒÒÒÚÚZKKkÆŒ)))|¦B£Ñ||| ŒíììLLLttt8@¥RÙ=?|øÐÜÜÜÐÐÐÖÖvÔ¨QúúúÁÁÁ ƒÝç‘#GÈd²®®.üibbB&“=zÈÌÌ$“Éd2yòäÉø éééÎÎÎêêê“&M²±±Ñ××755 b‰¹¦¦öìÙ¥K—&Nœhdddoo=$%%ÙÙÙ©©©YYYMš4IEEeþüùoÞ¼áñÉd²••ü¹téR˜ÄåË—ÏÓÓ“L&Ïœ9³¸¸xÑ¢EZZZS§N]¼x1Ô‚wö¼¼¼´µµŒŒlmm V­ZU[[‹DÐÒikkÛ¹s',q[[[###==½“'OòiþÀ iié[·nAû‚ôôt¸2‰‘˜˜èàà ªª:iÒ$+++uuõ)S¦Üºu óαÔîÞ½‹ùá§zóއåYÿAxx¸………µµµªªª§§g[[“ɼ~ýº¡¡á¨Q£¦Nª®®nooÿÏ?ÿ°?¾¼|ÖIŒ°°0--­iÓ¦Lš4éñãÇ,~Øó+¨¨t:Ý×××ÈÈhäÈ‘¶¶¶ºººcÆŒqww¯©©Áü|«*×ÿô¨Çqúôé'N`?™Læ»wï¦M›öâÅ üÄåÇ,XÐØØˆ›ššºpᇎ9²Ë„vìØÁ2sÕØØ@¡P.^¼ˆwOLLtss£Óé˜KUUÕ®]»>}úÄmgg'NÇ^6ø» ¯ñ¯bNNμyóX2R\\¼gÏžæææmÛ¶áÃÂàáááQQQ,é8pz p’'11ñåË—ááá,³ðìq²Hˆøæ´¼¼|îܹÅÅÅ“ë <²Ï`0V¯^ýìÙ3¼#…B¹ÿ~vvvdd¤ŠŠ ^H>K§²²ÒÙÙë‚À§ZSSsüøñwïÞ………‰ˆˆt;;Æ óðð€ðîÝ»£F‚îÉÉÉ .Äž?”'33ÓÝÝýË—/Ð?FãXjxG~ª7ïxXžÀABBBPP–F£]¾|¹¾¾^OOïÈ‘#xÉß¾}ëääƒ_ìáËË„í߿—·råʨ¨(¼E{~u×®]×®]û”–––––¾~ýúúõëúúúà›V¹~¦G£'NL˜0áÒ¥Koß¾}òä \@£R©ø‚üúõë¢E‹I$Ò¡C‡’’’^¼xqèÐ!‰ÔÒÒ²hÑ¢òòrÞ©œ>}¾$ׯ_ÿþý7 NŽŒŒ<~ü8注¨hÍš5t:H$®[·.***66vÏž=C† Áw™¹ñøñã7oÞÀVXKKëÍ›7oÞ¼Ázmeee...BBBîîî‘‘‘‰‰‰^^^påèÑ£þù'{œQQQ¢¢¢7n »wïžM[[Û‘#Gètúˆ#îÝ»÷åË—´´4"‘H¥R÷îÝËM¼eË–½yó&,, {øPÂ¥K—vO¼ÒÒÒâââqãÆùøø<|øE¡ö ìÙ?yò$Ôvvvééé!!!ŽŽŽ€‚‚2ð.ÐÐМœ°yóæœœœ²²²{÷î™››âããÙ»“‚bll /²²²àEUU•››F?yòdRRRbbâþýûÇŽ«««Ì;—c©Í˜1ºðY½»Œ‡/^TVV |þüùþýûáiddäÑ£GåååÏ;—œœìçç7vìX@eeedd$¶‡/o7êäþýû‡ ¶oß¾'OžDEE­[·ŽH$Òh´U«V•––òHK QO:u€¾¾þñãÇ_¼xqéÒ%X ‹‹‹×¬Y½}Û*ןôh4`ffvëÖ- €ººzXX˜¥¥ennîßÿù9yòdYY™°°ðÕ«Wíìì £¾¾¾²²òêÕ«+++¯^½Ê£í£P(ÞÞހɓ'‡‡‡ÃÕH%%% ''§´´4???è~üøqøîyzznß¾Æ`bb2iÒ$'''|¯#p¶]ZZ ..®¡¡¿{úôih³ÿþM›6AG8­akkÛÔÔäéééââÂbº'!!+äÉ“'Ð<÷رc°ƒ£ªªºzõjö×_š››9.±HIIIIIa6]ŠŠŠx »'Þ¬Y³‚‚‚ú®Ûžýºº:›Aƒ9sFLL  ¢¢booŸ’’B¡P’““¹EÅ»tâââcÇŽ=xð t™4iRppð¦M›:::¾~ýÚÃŒÀ©s*•ŠEURR÷j¹ººÎš5 :IJJzzz2™ÌW¯^ýòË/ÜJÿêÍ; 4(22z644TPPpww EGGtuu---MLLéééXؾ¼Ý¨“$),, J°²²’““;~üxMMÍ©S§Îœ9Ã--þEÅž9™LŽŒŒ$“ÉÐçܹsá3ÉÍÍMII177ÿ¶U®?éÑh`ãÆPü‘8oÞ<@kk+,~ð¿Zeii‰• ÄÑÑ.H²L¶²‘‘çLöíÛ‡·H‘غu+€F£eggCG•±±1Ë`s„ °ê÷„ŒŒ €‰‰ V¡!ZZZ¿ýö ¥¥%??Ÿ%”­­-¾`oòË—/ñîëׯ¿{÷îÝ»wy/³÷®x{öìéÓ¡+{ö}||""".^¼uDDDdþüù€œœŽ«8]5k~~~UUæ8tèЈˆˆ»wïbý»n#""¢­­ À¾Ïabb鈳³³ 33³ËhªÞÝÃÖÖß~9:: fll uDMM þ,((À{þò뤇‡¦ ;v쀂ñN‹Q1=çëë u†Ï®]»vîÜÉÏ2o_W¹þ¤G£–`»ÍÍÍ*•úñãG€¬¬,Ët0øŸùû÷ïy$k ¾¾ž%†––xñáDZcǶ··Ã.333öR477÷÷÷ç7cl`aÏ2ÀÔÔ^¼ÿžeÙj„ ,žÍÌÌÄÄÄÚÛÛÏž=ïêêjii©­­Ýƒî‰7hÐ öE¶Þ…=ûmmm……… EEEƒÁ`0º±ÊÂÂ"//¯±±q̘1 ,˜5kÖ¸qã`?®· P(IIIö[eeeUUU0#°(»}Aªw·Åf +***''×Üܬ§§ÇâS__?;;SÃ=|y»W'Ù+ @011ÉÎÎÎÍÍíììäØkHTL Œ?žÅçàÁƒù?\§ª\¿Ñ#5€΃ÁbBž““WTîܹsçÎŽ‘TUUUUU±GÁÊláÂ…ÜÄ€Óµ?~„k8py‡…šBæäätvvr‹\WW.edd8;;ãoáû¼EEÅsçÎíÝ»—B¡dgg{zzäåå—,Y²qãÆîY­uOéë*ןôíþ#¬gÁÛ6Ž‹yÜ"‰<ÎÌ>|8>’¾°Ûå!a7prrš>}ú•+W"##á4HMM¿¿ÿ•+W¼¼¼–-[ömÅëS<÷H$’’’’œœœ¬¬lIIÉçÏŸ»­ŒŒÌµk×222þøã¤¤¤ºº::ž’’’’’bffvãÆ¾óX_³¢)..¶³³Ãì ‡ 2tèPYYY999¸ÆÃüWïþ§‡/o/ÖÉ.ßhD…Sv,fWÝ ¯«\Ò·jÀÐÐPXX˜F£-Z´v{eôèÑñññÂÂÂ<àÝ{Õ××¢ÓépxÈGGþ144éìì„x±——kÿç;Š‹‹oÚ´iÓ¦M )))!!! ---»wïž2e 6·ö­Äë#Š‹‹¡PTT 7n|''OžÄ}uccã+W®0™ÌÜÜÜG]¾|¹ººúÍ›7GŽ9}útObÆìC~ùåxqâÄ ¨Ö­[·}ûvlG§Ó•••aG¸Kø¯ÞýO_ÞîÕÉììlvƒiøò’H$n[¸ÕØØ866¶ªªªººzÈ!üçˆ[l}Tåú“¾=‘JTTNü±,‡ò¬%T*õÝ»w¼}Š‹‹ÃÍ }ÂS’ø‡å5&‘HpdÊ1rÌ3+äYYY{{ûˆˆˆ_ý¦ ˆ¾¯wÁªÁ† ÌÍÍ1, Þ,@Ð××ß±cÇ«W¯àrèëׯ»%ï¿?~šQÊÈÈØÚÚBG˜yyùƒâ§òÞ¾}ËC<Swþ«7ïxú‚¾¼Ý«“ìÕîFèééq3gHTìljv³´æææ      ö5~®rýLŸL‹9%%åöíÛx÷ÆÆÆùóç›››óÞ¼ŠuöíÛ‡-šAnݺennnnnþôéSèwˆ¼{÷îܹsxŸ©©©çÏŸçS`¸¥>??¿¾¾ž=#o߾ſ4 pޤ¤$4&áÍÁƒmmmá*:fÎѽåÞ¯OÁvö³ejj*Ÿ»R9–NAA´AdÙ$''f·‡çL&óâÅ‹'Ož„?½¼¼°©vYYYF÷È,Ï/6€e£¸@Õ›G<}D_ÞnÔÉ3gÎà-V~~~pu„÷X–QÇŒg™vïÞ4BöîÝ»gÏž={öà7´÷¼Êµµµ…‡‡?{ö컼íó³ÉvìØñäÉ …²eË–/_¾L›6mРAiiiçÏŸûö-`óæÍ<‚+))yxxœ9s&33ÓÅÅeýúõãÆ+--}þüùñãÇétººº:vöõ®]»âããáYUUUvvvÒÒÒÏž= äsPVVÐéô;w®ZµJMM î¸Ù¾}û“'O***:D¡P`F’““ƒ‚‚šššp X—ñBäêêzìØ1]]Ýööö§OŸÂóÖ‡Ú½C{K¼>eòäÉpðƘ:ujcccbbâ‘#GøìÞr,MMÍúúúÂÂÂÜÜ\:îìì,))YRRâãã÷H;99ñù³gÏàb/l‹¹ŸŸKvÊËËñ&t$ KN\\<((ˆ÷Óxþü9ô|ýúu–[ü‹·|ùr€‚‚ï´x€íÃøòå û]Ùß°a»xBBBsæÌ×X¥¨t‚‚‚ð'£á¯-,, xä%44”ãCÃÞ¿?œMÆxõêÇÕȉ'ÂÄÛ·oÇû·±±Á{ „îUonñ°?+EÛ5WWWw¸uCKK ïØÃ——Ï: ›yyyŽ3ûÂÂÂ÷îÝÃG˱n$*·S£‡ ö×_á}ö¼ÊÁX¶lïÇõ­àÐb˜müÔ-èN$ÙWð± ø°£GŽˆˆÀ[ ikkŸ?>,,¬Ë.*@8wîܦM›ð‡ÊÉÉ9::&''c‡mA¦M›ˆß/#//ïíí}ôèQ(^0v€©©ipp0&->·oß¶¶¶Æ;ªªª;vŒ¥«Âñ9@H$Ò£GvïÞ ÷(R©T&“)##cmmµ†Üà³ âq+_~€¥†Uþ…ôòòòòòÂj``O"ÁW*JgΜ9ñññæææð V*•J$µ´´öîÝ'p¸Áñ9H$555ssóƒ~øðaëÖ­,9ÕÒÒŠ‹‹³°°À¦‰H$Òºuë®_¿»ç,Ñúûû¯_¿«Ãø§ð_½¹ÅínsÌöþrtgñß×—Ï:‰%½cÇCCCÌ¿¶¶vpp0?ŸHToooOOO¼"6lØìÙ³Ÿ>}Šíi€ô¼ÊmÞ¼YTT”L&wð Tw×ä¹Ô××à ߚššÝ8—F£Á/ÉdÞVtL&z<Ž£»!mKKKGG‡””»¨ð$[:>tèО-ÛÔÔT\\,--Ý»î-ñú”ªªªŠŠ n[Fxít FIIIss³¦¦&·¾aïÒÙÙ M]544º¬Õ4­¥¥…Á` 4ˆýŸÕ›w<}D_^Aëd]]]iiéСC‡ÎîyÇŽW¯^•‘‘áhdÌ¿¨ðpoxk—ϼ'U®££ƒH$~·‡Íõ«@ ˆžcnnžŸŸ¯££ÓmDžõ SñCsúôikkkxfú‰è!h4€@ ~´´´ á¦¼¼|||¼ -é§Ù"Dϱ±±‘ÐÑÑYºtézŽÛw Ä€­ Ä€©Ð 5€@ ¤b@ƒÔ@ h@ ˆ R1 Aj@ 4H Ä€©Ð 5€@ ¤b@ƒÔ@ h@ ˆ R1 Aj@ 4H Ä€©Ð 5€@ ¤b@ƒÔÀOBYY™ŸŸ_\\ƒÁøÖ² þT.ˆïáo’j|||BBBiii}}½””Ô¾}ûŒŒŒú.9 …âå寕••wïÞÝwi}***ÌÌÌ:;;îîî‡þÖ @MM͵k×þùçŸòòr€©©é¾}û¾µPsðàÁÚÚZx}ìØ1iiiðƒ— bà@¨®®üöÛoMMM,÷ˆDâ!CÆŽ;f̘ÞJrÅŠ>Ä»„‡‡O›6­·âg'77wòäÉðZ__ÿÅ‹}—Ö7áܹs¿ÿþ;¼–——ÏËËû¦âÀ«W¯.\ØÜÜŒ¹Œ;6..îŠÔ=FÕ 33SAAüÈå‚Pü;¸uëV]]ººº;vì˜3gNÓ»sç‹ø¶äææÂkMMÍo%IQQÑéÓ§áµ®®îÆù÷0aÂìÚÔÔ´%íM¶mÛ†×?<Êåû©x¿“ByyykÖ¬III9~ü8@èvzÉÉÉØµ¡¡á–-[tuu¿á;÷÷ßÃk—o(IEEÅÍ›7áõĉÙÕ¦¦¦>>>·oßÖÖÖþõ×_ûGàžSUU•ŸŸýܲe‹½½ýСC¿¡H½ rù~*ÁA ())IHHÐéôââb:Ž¿¬®®îîîÞíôJKK±ëÍ›7Ï›7¯ÛQ!ð¬^½zõêÕßZ Á())Á®5448ð …é#~ÄrA 48¨k×®ššš^¿~}÷îÝððpìî‘#Gf̘¡®®Î*555--­¼¼\XXXQQÑÂÂBWW¨ˆN§ãW DDD êêêBBBб¥¥®WTTÈËË(++³$÷òåËööv@°´´Ä‚Þ½{×ÐЯ'Nœ(&&Æ1çÅÅÅ4 ?#QRR2|øpy8B¡P²²²>~üXZZ:xðà#FLž<™L&sô\__[\\\__?tèÐ#FLŸ>]TTóÐÜÜüõëW|›ØÜÜ ŸŒ¬¬ì!CºôÐÐÐðîÝ;xkذap½½®®.==:ª©©1¢­­-%%%99YLLLOOÏÆÆFBB‚£Ì©©©ÙÙÙµµµššš&LPPP`­ÛÐØØXUUU\\Œ¹Éd˜#–Á‡^¿~]^^N§ÓŒÍÍÍY"d¯¹¹ùÙ³g?~ÔÐÐX°`7I ]–‹çgÏžKJJLœ8‘Ûø˜c¹ð_ñZZZâââ «««åääTUUmmmåååYRIKK«¯¯¸w!'''11±³³ÓÉÉIMM z´Œ‡—ˆµµµ±µøøx¨0¶mÛ†ýܵk×®]»°Ÿ¥¥¥K—.ÍÎÎf‰zÚ´iW¯^ÅZah2Á΋/ôõõi4Ú‰'®\¹‚5âsçÎõ÷÷Ç7è:::˜aF~~þ Aƒ°[–––999ø˜9.ã³ÌBJJж¶6Ç[T*õðáÃL&ïN"‘–-[vôèQýqæÌ___¨±0deeÿøã3fÀŸAAA{öìá˜Üœ9s‚‚‚ºô˜˜8þ|è2eʔ۷oâââ/^ W­Zegg·lÙ2*•Š…USS»té’‰‰ >šššE‹¥¥¥a.¢¢¢Û¶m9rä’%K ‹››ÛñãÇ»÷@ ~~~Gå˜#‡xM¡P–.]Š2bĈÐÐP|?ƒ%³:::€™ÕÔÔLMM嘄Ÿ2¸yóæÞ½{YÖ´/^¼èääľḎ\ø¬x—.]:zôhKK Þ‰DZ»v-¶ì ±±±yÿþ=¼~ýúõ²e˰µèÀÀÀyóæu¯Œ¾ö øúúŽ?ûyÿþ}캦¦fÁ‚ì:¿bÅ nM?;6l8}ú4»DGGÏš5«££ƒÏ¨ú‡‹/²¼N*•zùòå;w⃂‚Ž9ÂÒ¾V¯^ÝŸKpi¯ÅÅÅnnnø§J£ÑV¯^ÍÒìvttøøø\¾|™cÌ=¨­­7o»Ì›7?˜À“žžŽé€.¨Œ^½zõ믿²¬Õøûb IDATi§¥¥-_¾¼­­ŸäøäÚµk{÷îeÑ*•zîÜ9†§[·ne·Gê»2Bü𥄄„ðùùùp/L[[ÛÂ… ÿùçèN&“œœ Ñ4 >>~ûöíðZZZše BDDDBBBBBBDDäõë×wîÜÁn=zîܹ˜KFFÆ«W¯º“E.ðGX˜óÊyFF6ÆÛ¸qã‘#GðÖSaaa555ðúÎ;{÷î…×aòäÉË—/9r$t¡R©K—.ýøñ#Œ >|ZPqqq~ÌÒðaSÏž=ëáÁ#***!!A"‘Øs ¥µµÕÙÙ>ˆªª*~ˆVYY9gΜ¯_¿²GžžžÎ§࿌ eÕªUøn ‰D‚G?~ämh‡§ËŠwçÎ|ÓL"‘LLLðAüýýÏž=Ë1röw¤Ûe„8ðk)4jÔ(ìšN§×ÔÔ :4::›ÕÓÓ»wïl5²²²fÏžÝØØˆŠŠ:uê‰DúôéÀÅÅ%!!¹qãÆÔ©Sáõ‹/àô(`éÒ¥žžžðzíÚµÑÑÑð:11ÑÊʪ™ý°›éää„lDFFNš4‰G¼=ûþýû×­[¯•””þúë/xýéÓ'sss&“yøða¬ÿuâĉ•+W˜LææÍ›áZKKK˃ôõõ]]]]]]SRR ÿ‰'â‡\]zà‡éÓ§HHHÄÆÆþúë¯Ø›M 1™LüÔŸ¾¾þÕ«WGŒQQQ±}ûö'Ožôä°twwwww÷îÝôéÓ¡‹©©)‘‘ý ‚-WJJÊܹsa[\RRÌqºLJJÊËËËÂÂbÈ!Øä! • &&†B¡`ÁwïÞíîî.**¿jÕ*>èªâ1™ÌC‡a[ŽÇŒ---ÝÑѱzõêÇC÷“'Oº¹¹±(uˆ½½½»»»‘‘Qss³ŒŒL@@vK 2B ø=L‚e½¾Z<À\öìÙƒõŒŒ0 *•Š54#ÿdÊÊÊ\\\8Fˆïðö)FFFøé£)S¦üùçŸðëÆfeeatttð30²²²VVVX þˆ à  þÖ”)SNž< ¯‹ŠŠ˜L&‹¡Žªªª™™™@IðSFøÞÌìÙ³ñ~æÌ™Ó[Ö®Ð\ ¢®®ŽßO0xð`ccãÄÄDøóóçÏìÁœœXÖ{û®Œ? üª|Wˆ@ 2€#c½ Þay{ðàAüËù½1kÖ,{{{üÜEEEŃA…!“ɘéð?ÿüƒ?œ?ß(..Ž™¥ Š edhhˆå+//oâĉحÂÂBþ—ˆyƒßÏÅ>2Æçÿ_}TFˆŸ†®ûM¯^½rssÃ÷Ó±v?–|úô)>TUUÕËÿQYYÉ; †ï§œ>}ÚÚÚZRR’’Â1¾ï†_+ûûï¿Ù­­ù¤°°·‡âââOŸ>}úô)??_MMÍÙÙÙ××7##céÒ¥˜¨„ðS®))),ÇwïÞÁ'Ãm[7‹xþ=tCCC¬Ý¯©©ñööÆnEGGsÜåÀÿ¼eÚÍ›7ñÕ¿…÷&(‚–Þÿ¥K—ðK¯~~~Ýü·âásT^^ýÌÌÌÄÛ`†­¼é»2Bü4p ܼyóÅ‹t:=++ëåË—,SŽŽŽX×ÛÑÑ3ÕðòòÒÔÔ´µµ%‰ÅÅÅ ,À–°"##ñ=/v„„„dddà~fÀíÛ·W¯^M$ïß¿ïïïÏ1ÈØ±c±žQHHF›1cF~~¾ GºCe¹råŠŠŠŠ¶¶¶‚‚ÇãV¬X‘™™ ¯OŸ>½lÙ2@À{†‹“zzzºººp#…BY¹rå…  D¥R/^¼ˆ 9nܸ˜˜vI¾|ùâçççää4hÐ Ì8¤K=DLLÌÔÔôõë×ðçÙ³g?~ü8vìØ¼¼¶oß¾cÇŽ‰DG›ššbï^SSS@@Þ>š´´´bccáuff&´såv˜ÄÒ¥K±OÖlß¾=$$DYYùÓ§OxëŽY³fÁ ÿ¹sç¡I||¼ŽŽŽªªjEE~öÿœ#FlaãèÑ£G…gEðé¡ç\¼xqÚ´ip€ÉdÆÆÆbGBBßÿ…ô@ÂÎÎÎÕÕÛÇpíÚµk×®±ø™6mÚòåË»9†@e4{öìàà`lVbb"¶ZÛ xT¼?þøÃÑÑîG«ªªÂÉÀ ‘H—.]âóˆ¾+#ÄOƒ¡´³³‹ÇÏÆ‰Ä .à7×××ãuÀˆ#ðjƒ6lÀ¯$·¶¶B€ŸƳdÉŽ[É455-,,øI²|ùrnÇ«±³`Áü¡™™™?Æ^'aaც¨¨ÀŸ&&&aaaØ:“É,..ÆÚ"‘¸yóf|$%%]]]y¤Þ¥‡ž£¢¢²]0zôhŽGô@åÔ©SsçÎåvwâĉW¯^eU *#aaáàà`Ž3ò‚~—‰GÅ300ˆˆˆà¸5 ÃÒÒ’Ï„ú´Œ?ÿªŽD"‘L&»¹¹%$$ܼy“ÝæGDDäêÕ«kÖ¬a™š>|øÆŸ?nhhˆwÇEñÝ™±cÇ>|øpܸqØ;)''÷Ûo¿áµÞ?‰Dº~ýúœ9sð+„&LˆˆˆÀ¿]0> KN555cbb\]] ˆp;LBFFšÙÁƒÃ0$%%'L˜³yóf¼»¥¥åÍ›7LJw555}øð!~ÄÛÛÛ××wôèÑ$ ÊÉr<*7ø b×øœ²äšÇ™8qâëׯ7oÞXÙDèÅ8‘@ü$tÒAJ!ªÏˆAJ!±“Þk±¡µÄOBv%  -T]I4VbÀŸT*µ­­­½½½££ƒN§3 &“ D"QHHHTTTLLL\\œD"±Ç†Ôâ'¡´¾7‡ÉÄwNi=ÁX 0Œ¦¦¦ÆÆFaaa)))III|[O¥R[ZZš››edd¤¥¥‰ÄÿŒ›‘@ü$4µk ˆ~¤©Ðh´úúz*•:lØ0EEEŽÞH$‰D4h ¼¼¼¦¦¦³³SNNNXøÿ¤? mC5:’Øáxø>!8Œk E-Y\è f}}=FSWW—––æ'fEEEiié’’’úúúÁƒcc¤?9VVVßZ¢G<þœÝ±½½J¥ò¯ ÒÒÒªªªEEEMMM²²²Ð©ÄÏV݈ކ†vG:ÞÞÞ>xð`tDZZzðàÁUUUØŠ1RˆÁÃÜ¥×Ûr ½•J%JJJÝ ®¤¤T[[ÛÖÖÕ²³F ˆŒÎÎNQQÑžÄ !!ÑÞþ¯YRñ#Ád2;;;ÅÅÅ{‰œœ\[[NH ăÁ ÓébbbÜ<|þüÙÅÅÅÅÅåóçÏÜüHKKwvv"5€@ ?$t:oø'??ûöí …B¡lß¾ýÓ§O½‘H$¯¹ª*•ëÆ|°sçNª¦¯ÉÊʺråJHHHÿØ€¿}ûöÊ•+7nÜ致¾ ìÌÊÊÚ¶m[hhè7”껂Á`œ?¾¾¾ž£‡ŽŽ>£zýúõùóçŸ|àêêÊM+ö"÷ïß‘‘Y²dI_§õM`ÏàúõësssÃÂÂôõõÍÌ̾­x}GG{ëeŸí´N*@Ae„óú߸ù|ûöíÆI$Ò²eË0Çúúú³gϦ¦¦¾y󦦦FWW×ÌÌlæÌ™ÎÎÎ<=tèÐãÇ===mmm¡ NNJJJNN.**ÒÑÑ™|¸¨¨°cÇÞñߺu믿þÌš5kîܹ¼=ÿ(dffzzz¶¶¶6lØ@ Z[[wìØáíí=jÔ(nÿ¿MJJZ½zumm-æRRRRRRrÿþýÛ·o‡††ªªªBw–ó(]RSSX¼xñˆ#¾µ8|Á±”ÄŒð&Ôoï_ðZÛÈ”‡ˆ‰‰Lž<³ÔÎÏÏwppÈËËÃü|üøñãÇ¡¡¡IIIgΜáØAikkKLL̘1ºttt,\¸ðîÝ»˜Ÿ¼¼¼¼¼¼+W®øøøìÞ½›=’Û·o¯]»ŽKFŒÁ§HHHprrjnnÆ\ž|øÐÍÍ .XZZŽ?^QQ±  àÉ“'yyyYYY666ÿý7Tõööö^^^%%%kÖ¬é§,þàTVV®™™ÙÒz„„„ã‡?bFxóîï×ÿàÓóãÇ¿üò üÙÚÚ:aÂØmúå—_•””Þ¿ñâŲ²²óçÏ„?þàybbb[[›œœœ¹¹9t™9sfBB`üøñsæÌQQQyýúupppss³§§§¨¨¨‡‡¼¹¹yË–-<šHnÄÇÇÏš5«££CBBbÅŠæææ %:::99977wâĉyyy’’’ø t:]HˆõKW6l¸té@KKkÙ²eúúúŸ?ŽŠŠJMMýçŸ&MšTPP€7byòäÉòåË+**2vìXl„Q[[›ŸŸ_[[ÛÚÚºtéR!!¡ùóç³¹qãÆÉ“'edd¸Å uÀÏDZZZGG@ؾ}û¬Y³ ££££ˆˆˆ¯¯oGGÇÛ·o»PGŽ¡ÓéD"ñÔ©S®®®Øí½{÷îÞ½;,,¬®®.**ÊÝÝ ,,¼aÆ>ÎâcddtêÔ©o-EÒIíðß¿šÉ` ¦(OVÊÏ|ÃÃsUUÕÛ·oN ÄÇÇCàááqúôix̬Y³V®\immŸŸéïïÏ~> T'Ó¦Mƒc…¬¬,¨œœœnݺç:/^œ%HKKKXXØÆ¹ÅyáÂAÅøþ™={6•J500`™Â1cÆÐ¡C³²²àø€#D@CC¬X¦¦¦x ‘HÞÞÞðt:–h4ZVVVee%‹{{{{VVÖ—/_ø‰¤¥¥%''çóçÏü'  ÓéeeeiiiÅÅÅØj8ÿ´··Ã1P[[[—ž™Lfeeezz:…B4!<=”Y àePP FEEEzzzAA¶?…7•••oß¾å¶ôÚG„þR˜ØøûEIi9Þžccc †ššš¡¡!tyôè€@ ìÝ»ßÖ+**®\¹PYYùîÝ;ö¨àä6#„-ûûûãç»---aŸ_µ‚‚‚ૺqãÆÔÔT555>3Ë`0ž>} pqqÁt@XX›P‚s娨¨„„„ÖÖÖ'N|ýúsøð!,Ó}ûöa: **ºÿ~–ÕÔÔøúú2™L55µçÏŸïܹ“Oiy@$ÝÜÜŽ; Ñh/^¼àèGC_RR‹à'CRRrùòå—ñÌÌÌV®\)%%Å-,€½~‡ bbb¡¡¡¿ýöï´i{{ûðáÃÉdòåË—1ožžžd2yæÌ™uuuË—/×ÖÖ¶¶¶6227nÜË—/%%%+V¬PUUµ¶¶=z´‘‘‘>¡šš2™L&“Ÿ={–=gÎuuuKKËqãÆikkÿþûï<Œ—0h4š±±±‰‰‰ŽŽÎø ¨««Ûºu«¦¦æ¤I“¬­­UUU—.]ZPPÀÑsCCƒ———¶¶¶‘‘‘­­­ÁªU«ðë+ááád2;ÝléÒ¥0ønQe(8ÿ%%…B¡$''CoÐ’ ¨¨ˆ7§ë¡Ì4ƒ,ðÎÈׯ_}}}ÊÊÊ·o߆F躺ºööö¡¡¡ÙÙÙW¯^ݼy3KœXçcΜ9BBB˜ÁC/RW]ê·0z‚ÍTÇe]úÿk»-,,ð/‚¬¬lffææÍ›ÿüóÏ… ‰Dqqq¨ H$Òš5kØØ[[[áÁñ]ª50>>/^Äßl999ülÑì¡Ì4ƒ‘‘‘EβÉÇÇNa~0lmm9¾‡~ñâEzzz_Ì]öÙÞÒÔ BÝx¨ë 7Ë¢.FCCÃðáÃá“g0P´´´¬­­Ù;+Ïž=koo4hP—mІ  b^³fMïΪãÉÎΞ7oƒÁ’’:wÁ_¼xñàÁƒ„„¨†>wî\üBB_PQQ±mÛ6Øç‘‘aŸö())ÁyˆÀÀ@ükøñãG¸c Xøÿš:hР?þøÃÛÛ;&&æéÓ§/^¼€---AAAp2§Ë &ƒfYZÀf„õôþsv;6Ýɾ+ÚÌÌŒýÂVÀ³²²8nÄZ™úúz–){ìýüðáË:FVV¼`Ÿú”““ÓÓÓcoÅ mmm……… p5Á`0Œ.÷ÙõPf‚w;ƒü€…555e¹E"‘FŽYYYÉÿ„ ¸EˆUÞåý«„¤Gœ×íUPÕâ'…B?,]øÂÂÂqãÆÕÔÔÆŽ;aÂ…>$%%åää,X°ÀÅÅ%<<Ž*lmmÙññxyyAã‹iÓ¦u£uæ“/_¾Ì˜1£¡¡ADD$**JGGGÐ-ZdjjJ£ÑJJJ^¿~]YY¹uëÖ .(äîî]TTô×_aúNÕþÄgtÖÖVJJÊÙÙn…ÿþýíÛ·ƒƒƒ©TjEE…‡‡Gtt4ïèxÍÿÞcŽ­<¦E²²²8îÔOOO‡ .ä3Ö²“™™ “ÉÐ:–]$–VŒÉdÞ½{÷üùóYYYݰïì™ .h†>|8»Ù @OOïÉ“'ÅÅÅõõõx=‚ ­“zÑk@AUkÞj[s9Ëd2ÕÕÕñš‰Éd:::ÖÔÔ :u ޽ µµµóçÏöìœïÂßâgaàÂ… ð¤ccãèèhö#z…šš;;»’’ÀåË—íììº ~óP{{û¡C‡|||rss×®]ß[¢VUUUUUá]ÂÈ‘#/_¾Ì㌓©S§êêêæåå]¸pªÖÖV¸ãaÙ²e,»ä¼Nã=zôèÑ£/^>^XXøÁƒÝèfÅÇÇWVVrTu,"C ¨¨8nÜ8l˜òäÉ.Í{zKf‚ ”AA3f Œ¼¡¡}œËNMMã@¤ßø'ë-¼¸p˜óÔpiAÎÚéÚ€M‡/M_°@§Óãââ›xýú5¼`7ȉ‰YYY=zô(--F£ÁN83f ·Ã×bcc]]] †ªªêÓ§O1‹ÒÞší¥¦¦<¸k×.ŽÞª««¿|ù2{ölì, ð¿sI‰D"G3éÓ§Ãlæååõ–X´h~1ÿ,_¾|ïÞ½­­­—.]:zô(\¶¶¶îòÔ¹pôèQ===]]]ØÁa›“è™Þ¼yÃ>Í·òØÍŠ °GL¥R9nÝì,Z,!Œ†† Z¸!°aÃsssüTï«W¯x¤Â²¥«‡2 \  v KFŒ¹EN¥Ra½Âüü@¼~ýº¶¶VTTo* p»%ÊÊÊ8„îøjÌm’’’2wîÜÎÎNEEŧOŸò¿=X  Æ’%KàŒÍ®]»~ÿýwn>ïÝ»·ïÝ¿¿ÏÚÚZTT”[W ÛæÖGsY!''·hÑ"À•+W’““á;òZZZ®]»öæ ‡3QÞ¼y¾™ƒÀØ;zô(ûîÿââbh¾-&&Ö‹+?<(((`±ÊË˃ÖÍbbbÜÖ²°‰‘}ûöa ¤[·n™›››››ÃýôÁNaݱc\÷ƒ0™Ì 6°<¬7Í’Pjj*gΜo-T_qÿþý«W¯îÞ½›e·MLLÌîÝ»CCCñ£:„¦¦¦šššŸ?Ž·²²Ú»wï¨Q£”””>þüòåK///¸ñÇÕÕµ,‚!.\hmm9s&™Lþûï¿/]º›9///n_PRRòðð8sæLff¦‹‹ <Ó¼´´ôùóçǧÓéêêêÍË ššš+W® )++svv^±bÅøñãóòòà¹ê,ž'Ož,,,L£ÑÉdòÔ©S9ÂñeeeÀd2£¢¢455-,,”••ÅÄÄz(³@ÁÊ 7¸e„L&ÿú믧N*--uvv^¾|ù„ ŠŠŠbbbàŽ3CCCì€.Ù¼y3Üåïï÷œaŠjÃ9÷²¥d$¤d´þcéÄmQ¯ÿêÕ«·oßNœ8ñÂ… &&&bbb•••ÑÑÑp#;îÙ³gƒ?~w^^^^^^øñ²ADDÄôéÓÙøûû¯_¿ »ÛC™ .P¹(·ŒN:µcÇüÞ4aaa‡¨¨(¼Á'7óùÍ›7‹ŠŠ’ÉdnF,½‘(„ýÇHû;–Édjjjr|† ÷믿¬Ñh4¨à”ÈãDZ1ài*Ê·Å­Œº— @àǪ{éÒ¥ÉÉÉcÆŒé677C ¡¡qúôéàà`nG¶uYîÝöŒ÷ÉâßÅÅš988(++wéÿ‡fäÈ‘¾¾¾p÷Â… ˜ðõõåñé1¡ººšÅ©¤¤$++ ~QÏÐаßll) \Ä÷ó󃽕šššòòr111555ޤÑh_¾|©¯¯'“É]‰²ÓÚÚZTTD ÔÔÔº\¯ªªª¨¨PPP`?@†£`--- ƒÝf¦‡2 \  rKŽ[FètzEEEMM¸¸¸²²r÷âïèè ‰ ᯿åð>kt$YYYÉÊÊ>ÌX†Û¾xáîîÍäxP^^þîÝ;øÊŒ=š%˹¹¹úúú¡²²rذaËñ½ÒÚÚúáÇÌÌL…ñãÇóSÿÝ ¡¡áùóç…¢–˜ Nÿúõ«ŽŽŽÛ$3äùùù;w#–••=qâ·õÔ¤¤$mmm‰Ä!UUU>?G××ÈËË ú‰Tˆ°°°ššZ·Í-$$$ø·*:t(ÿ/€°°0·}=”Y àe[rÜ2"$$¤¬¬ÌÒóûûžž¸ÛöàQTTäqâœ211ù™t@BBb„ <¶‚#ú@£Ñ8nüÒÖÖ>}úôž={ÞÞÞÜìz଼îó¹#?"yï_57Ö‰‰‰±œ»Ù ø?Uà"‘($$ÔÞÞçÝBššš¼#innsbH øœ›1x˜â4ëÉ=Ü+Ãd2 ûâ´TÄÀ„@  ·´´Ðý3jjjDEE¿;5 %%—òÙ?Ö@ô33oœ¹xã,½®}ò†@ °Ÿ¡‹@ô‰ÔÃ/È644`Vaß‘€ŸE H$RSSSQQ‘ººz7‚Áo ßߑ@ úˆ††8/hóøî///—••ô¨®ºººòòr999Ì©ÄOüàþϨHäüù^¢ás“‡¤¤¤Pnn®žžÿš ®®.77WHHhРAØž ¤? D`°5ïxkkâgBDXhØÿµwîñPmí_3ø3è4r‰Š—ƒ¢"*§\*§ ÕÑJ×W7éª—ŠŽ®§«n”JJ¤òªx Õ‰ˆ‡ ¹E#¹Œ c.¿?ÖçÝŸý›cϸtα¾íY{íµŸýÌÞûYëyžµöСuuu………ºººD|+//¯©©‘‘‘:t(~&2ˆ*ò ¥W13â"YQQqذaŸ?~ÿþýÇÕÕÕétºŠŠ ~ÚMgg'“ÉüôéSSSÓׯ_ÕÕÕ‡ ¢¨¨ˆŸ>Ìâ‚ßÒÞ«ç #ôh|¸’•–––’’|×WVVr¹\.— =Ÿ$‰B¡P(yyy%%%]]]*•*°@'2ˆfZ¼ŠF KįÄ? %*ßL‹‘‘Æ 7«ºý>0ñG–ìFð¾µÄ@`7‚/Ûwkâ!3€øç ¥Âw2æ)I°!ñ7C‰ œŒyZ*}ùE&+Œ"kº¸ ¨ž\ÝLbvˆÈB þŽI@EèÑøfZ¼>@@ ˆA r !Ä ™Ô 3€@ ƒdbPƒÌ@ j@ ˆA 21¨Af@ 5È Ä ™Ô 3€@ ƒdbPƒÌ@ j@ ˆA 21¨Af@ 5È Ä ™Ô 3€@ ƒdbPƒÌ@ j(ßZ†ƒËåFEEåææ*((|÷Ýwâ+wvvÊÈÈôáÙ£££srrÈd²––V6ÛKDêäÍ›7¡¡¡ ÃÒÒòۊׇp8‰D"R™ÏçwuuQ(”þh¼éó»T $Õ€ÍfKTÿ/Ë_íB¤»HŸ?îC!ÂÃë«« ©Tª¥¥¥µµõ÷ßO&Ëñ‹ÅÒ××ìÛ·ÏÏÏO¸ByyùÅ‹322ª««Y,–¢¢¢®®îĉ}}}{yvÎÎÎM›6íØ±£—Mõ!"uâààPRRHNN7nÜ·”¯×'$$deeåææÊÈÈØØØŒ?Þ××WCCC¸2›Í¾råJtttYYYgg§ŽŽÎäÉ“·nݪ§§×ûÆ!ÑÑÑÙÙÙ€¥K—Ž;Vº‹*)) ÏÊʪ¯¯WRR=zôÊ•+çÌ™Cäùºwï^JJ Ü^½zµ‰‰‰t2Hª«–––ˆˆˆÜÜܼ¼¼¦¦&CCÃ1cÆ8;;»»»ã«ttt`Þ¼y“&M—×m{{û®]»ººº›6m"rFH}}ý•+Wòòòrss›šš¾ÿþ{kkk—3fˆ9Jêÿ½¦¦æØ±cl6›N§ïܹSdgÏž8q¢°°Á`hjjZXXX[[¯[·NYY™È)úØ L™2¥¨¨¨»½zzzqqq£FêÃ3J„3Àãñ‚ƒƒO:ÅçóE»téÒ°°°Þô¼þFf`òäÉÅÅÅàÿ›øøø¢¢"åË—+i%%##ÃÛÛ›Åb ”ݺuKWW_Èb±<<óæÍW®\>vôèÑÑÑÑDÞ·ý2œTVV¶µµÅ~2Œ÷ïßýúµººÚÍÍ-..ÎÜܼ?Î+5|>ß××÷îÝ»ðç˜1c¦Nª¡¡ÑÒÒ’‘‘‘™™ ˆŠŠªªªŠ‰‰ùKû‰Ó§OGFFZYYᇉ‰‰III?üðÃßÅ ¤§§/X°€Íf+((,X°`ܸq IIIYYYïÞ½›1cFVV–¢¢"Vß××¾× W­ZE£ÑRSSccc;;;-Z”––í¥t§¥¥­]»öÓ§O½¼¨—/_®]»–ÇãQ(”Å‹ÛÛÛúôéÌ™3555>ܹsçÁƒÅ¾qãFÌô‰tÕÞÞîêêÚÔÔprrš1cưaÃÞ¼yõñãÇ‹/’H¤°°0XyÊ”)_¿~ÅŽe³ÙðÔÖÖ644ÄË0|øp¸!©n333ÏŸ?ßc5.—+ð°¿ÿÞÍÍÉd’H¤ùóçÛÚÚÊËËçääDGG³Ùì°°0eeeþ%AÙ„ÏÅb±¶oß~ýúuñA ªªºtéRSSSƒqïÞ½ììì·oߺ¹¹P©Tñô‹055½q㾄ÉdîÝ»÷òåËŸ? º}ûvœWj®^½ m™L¾páÂÏ?ÿŒí xüøñ¯¿þÊf³?~|æÌ™uëÖ};IssóÇk)zKTT›ÍVTTŒ‰‰±··‡…+W®ôññIJJª««{úô©««+,þü9t•Œ1"==]NNàááacc³uëV&“yèС'NHÑ8—Ë >}ú4ŸÏ§P(®®®ÿùϤ¾¨}ûöAWÆ¡C‡¼½½aá‚ œËÊÊ._¾¼zõj‘ÇÆÄÄ}:ÖQb2™/^¼€7wo¨««ÓÔÔ5jÔÔ©SvÁarUU,ár¹ðõjmmýÓO? Ô_²d €Ãá<þ\ŠÆ!îîîiii°'$5pc÷îÝÑ`‡‘#Gâë°cÇŽ¦¦&YYÙãÇ÷&SCR]`ø„J¥ªªª ÔÇ’Ó„C,Ä!®Ûââb8Lùå—_Ä<\ßÿ=&FƒÛ<oåÊ•¡¡¡ÁÁÁ‡À áóùÙb=Ê&ò\MMÍk×®ÊÄápóóóÿøãîsnnn‰‰‰\.799ÙËË ¿ëÕ«W•••°Ž‘aí u¯ ³%ð'¶nã-Mqqñœ9s 5Ũ¬¬Ü¾}{[[ÛÆñÇÂÃoܸ!쬫«³µµe±XãÆë× ££“••%rW]]³sEEEp°/òqÅž±ÌÌL8X”¨q%%%©£Á¼xñnàcox9ËËËKKK›ššÔÕÕñ»RSSþþþ&&&/_¾”ZIuøá‡nß¾ÝÙÙ™––&‘~øð!@FF{J„Dºåñx›6mâp8¡¡¡bjZXXÄÅÅåä主»co-2™ìãã#²>›Í†ÖרØ3uey.ggçÍ›7‹Ï,óæ tµa*ýøñcii©ªªª•••D!ÌMßÄnâ#FÀ#GŽÀ·Ø¤I“®^½šŸŸíÚ5ØÍŒ‹‹Ã»ÂÃá pqq‰ÍËË‹ŒŒ„C³²²2ü+ïÇ+V¬àr¹d2yÕªU·oß~øðáöíÛ‡ ráÂa©JKKᆙ™™áá «QXX˜ššêáá»qã¼§?|ø &5sæLð¿‘&XB&“çÎ+F$âÚ“T'$''gggOž<`hh˜}çθ·¦¦ÆÓÓ³µµ•B¡¬Y³&...---$$ºt÷ïß#ÜæíÛ·åääÖ®]˜˜8mÚ4@jj*ìfgg÷“Û püøq¸¥ÖÖÖ áôÖè©©‘¢q…>±àrÒh4‘‰€Px>Ÿ]¤½½N222›äÞÈ$ÑÕâÅ‹¡ËÂ××7!!F€kkk7lJ3ò=»IDATØG¿þú«¦¦¦ÂH¤Û¨¨(˜iÒãé·lÙ"”É—/_¼¼¼ Zð‰§Äe>—‹‹K³‹Þ½{7Æ—žžîàà`aa1oÞŸ ½ –––0‹€Á`@›ìààpãÆ 8öÑÑÑ™4i’»»{nnîÑ£GýýýaySSÓ´iÓÔÕÕ;&//ÐÓÓ›>}ú‹/ ~zðàAh$±ÅÚÚÚÞÞÞÝÝ]Øuc DZ⑕•522***úüù³ðÐï—_~‰ˆˆ€…zzz&&&ãÆc³ÙÏŸ?ïÎ+//ïîîžžÞÒÒ‚wSÂʤI“´µµ»“G"íIªtttÐh)((`VräÈ‘ºº:ÀîÝ»1(tÜ9;;3™ÌÀÀ@OOOG„¢¢bll,t%c8;;+++·µµ?^̵÷†ŒŒŒÈÈH€£££““,„ʸ·%%%ÖÜÜÜcCdã}@äû_.àfüí·ßªªªH$ÒÑ£G{Lé)t¥ªªúôéÓÀÀÀøøø+VÉdyyyh ¨Tª··wHHH/¥êƒ±oß>ÀäÉ“==={ÙZIIIHHŸÏ¯ªªzûö-ÇSUU üå—_úBXB`Î𬬬íÛ·ãwµµµ¥¤¤<þüæÍ›"ŽôËh ¬¬lÛÿX±b…ìÉä]»vÁj¯_¿†QÄ]»váý_ŠŠŠÿú׿›…{öìYh ²²²°¿\\\Œù¸ VVV[[Û5kÖˆÊåráý:zôè¯ ó9ް7ýúõxࣣµã<ÝoG6›w€äææÂ)xâoV‰´'‘N$åõë×8]_nhhã¥, ë¹`8;; Ø€––Ö›7o|øèÑ£’’øæ™6mÚ˜1czß2q0{ 3\–,Yr÷îÝŠŠŠû÷ïCçÕׯ_===ÅLäÂè—Ñ@cc£È¸„AXXØ?þÂ× ¹¹YÀéÅ‹ fܵ··WTT´¶¶¶´´´´´|øðÀãñx<™Lîèè€iãÆžÙogg÷ûï¿ãK(м¼|GG‘¼#¬> ///<ö ÅçhO˜0A__¿²²211 @’’Ò¬Y³ÄK\{’êD"ØlöŸþ °¶¶Þkcc7òóó¦aw÷JRVVÆŽê[êêê¼¼¼Z[[eee£¢¢ðÓjà†@x–ã» Ä'ÈñãÇEŽâ•••1×¢¼¼|kk+tÍw'$ß-زeKWW—¦¦&–'†ššš­[·ŠÜµtéRS•BW•••ÎÎΰ÷jaaaccC§Ó‹‹‹ÿøãÒÒÒåË—{xxIä—šŒŒŒøøxÀÆƲÒ1|øðÕ«Wš››ËÊʲ³³·mÛ¶yóæÞ·O,Àf³°elmmmmm544ÂÃÃY,V||¼xw7è'3 ¨¨hee…ýÌÊÊâr¹ŠŠŠéééJJJX9–/$ ÅóæÍ¸ÁçóïܹsêÔ©7oÞˆqbüùçŸ0)rм©©©páСC«ªªJJJ8Žø˜Ð®Òh4‘µºººðÝÅ÷ñH$OOÏß~û ï‚¡Ÿ~úIÀØ@\{Rè„8ÅÅÅ0;VdãÆÆÆ$‰Ïç¿~ýzþüùø]b^©ýÁ—/_æÎ ÖÇŽÃú"Ì#'ÒûÏápêëëøDâ$77[ã> @£Ñ Fw! ÌkÉ MËž={‚Æ"iii)À…:$ÕŸÏ÷ööþòå …B Ææýššš–-[öìÙ³„„ü®>„ÍfoÛ¶ 0bÄ8Pî=úúúxGVAAÁ²eË*++CCCíííûdÔÕ#Øì¹¡C‡ / ·mÛ¶ÈÈÈÏŸ?cY1ô‹077Çfä6lØpýúõ¯_¿ÆÄÄøúúbåЧA&“Ŭ_†ÅI‚‚‚°le*•ª££C£ÑÔÔÔªªªÊËËÚ’,ò¥­­]UUÅf³ËÊÊÄ,T[[ Ga°›ßWxzz†‡‡C¿——W^^L4ìÑ}I\{Rè„8'|[X,–——Œí ë Š|µÕ××C;*r¥ 'ˆ­­­È^¾ç¨««žtŠ^N[[ÛÞ½{#FŒpppÀ'°bá÷ÚÚÚŠŠ ø@ÔÕÕ2â10¯©¤ºzûö-\˜ÄÛÛ[àE¯®®;zôh‹•˜˜ØOf ""ú$׬YM7C€N§c}/‡SUUsp{ÄÂÂâüùó...€èèhIÍ€DçÂÀb3ÂKw@&L˜”””——×ÑÑ!¾×5!âÀÀ@˜.>þ|,kii™šš*##sïÞ=ñRVVVB ­­1~üxìÇûaMLL( —Ë…ž D:99ÁSzzº3žžŽÕ½¡¯¯?a„ÌÌÌ;wîxyyÁôü¤$‘מ:!Ž™™™¬¬lWW\ŠN€ÒÒRh'¾áJ¥l6{ñâÅp僀€‘SC,,,Èd2ǃyº`/Pá« Ò8A “A88¸°°P¤oß¾ÅփﲗØÌÈÈhnn†¡yóæõ8Á‡¸ö¤Ð‰&HS©TèÙ8Vˆw$<ÏÏÏšðõë×w·¬ºšštŽ=xð@xyK,£W ÛE°ñ> ªcÙº Ne˜0aB¿®w-©®°wPwÀ°¼÷ûääd˜üöàÁ¸ÈÈÈÐÖÖÖÖÖ†30hjj‚@Ìeß›saèСð¹~ñâ…ð œÏçCw††~@)’š7àïï]“çÎî/ìÚµK`áÍ›7íììììì?~ p~Fj/_¾ö|ýðÀW¯^''óÚAÊÊÊ`Šž’’’‘‘Á³]ºtIüŠÄÙ¼y3ôO®\¹R|Œ†.ZZZæåååp,ccc¨F)ï+~üñG8[õìÙ³*:xð ìbsMFŽ™Ú ‡‚u‚ƒƒSSSoݺ%‘é >ÅÄÄOÎÌÌ„!7##£~úpÂÞ½{»ÓrÔ¨Qð'6)zÒ¤IP˜Ñ£Gc QvvvГqñâEáYúÑÑÑÐ’Iºn¦ÈsD"Áptcc#|Ðð„††ÂWY+€›7 ¦¦æïïÄf³CBB`V€ŽŽŽ¿¿ÿ±cÇ ===ýüüÆ_]]žž~ðàA.—k``S222'""‚N§O:µµµ5--mß¾}ÂÿG@@@jj*\y¢¡¡ÁÅÅEEEåÉ“'Ý-õsàÀ´´´ÆÆÆªª*ggç 68::6¬¾¾þéÓ§¿ÿþ;\×IUU5<<¼Ï•£ªª:sæÌøøøK—.ÆŽKä¥I\{@*ÓÒ¹\îÖ­[—/_®¯¯Sû7mÚ”’’RWW÷ïÿ›Á`899©««?þüüùó0§%,,Œàꥥ¥S¦Lœ–>ÞO€žž^wkòÀþ¥ŠŠŠ€ôõõ_½z•ŸŸïèèˆR©Ô3fÀ¨ûÌ™3CCC-,,¨TjYYYTTÌÊ¥R©’^ˆÈsdΜ9áááÇg±X .433+..¾~ý:|ÇÒh4"ŽÊ[LÂ××÷üùó555wîÜñóóƒÎÊ;wVUUÅÇÇgff x'ÔÔÔ> GX***+V¬8sæLSS>óB¡xxxŒÑF±páB.—{êÔ)|o×××÷ÆÂIœšššIII^^^>|¨¬¬™ò¥««{ýúõ~šÓäéé Ú±¡„ ö€T:ÆÍÍíäÉ“|>?!!!!!aäÈ‘pM]]ÝØØØY³fµ¶¶žaz+++»ó¼»ººÂT…ÈÈȹsçvtt„„„8p€B¡` ooo©ïCV­ZõâÅ‹äääÂÂBGGG99¹®®.˜ºN£Ñ.\¸0_v’HW€k×®ùøø<{ö¬¸¸ØÍÍMFFFAAK{¥P(AAA¿þúk‹-:::ÂÉ ÁÁÁµµµÏž=ƒ&B¡P©Tliœ!C†\¾|YŠ„T‘ç"…B‰ŒŒôöö®®®¾pá‚ÀŠêêêñññDfDõñû>"oD99¹ÀÀ@ŸÏÇ‚º$éäÉ“ë֭çâÑh´Ù³g?þv !!!!!!!xe™ššÆÆÆÂ!™LÆ÷Ôœœœ"""ðÿ‡¦¦fhhèþýû¡„Â}4CCÃGùûû Ï2§ÑhëÖ­KMMέì®5L ø]b*;::2 +++ð‰¸ö€„:)ªÍ¥K—°,¼ÂMMMoݺåèèˆ/>|ø¾ë„µ)R³fÍ211!‘H‹-êå§:‰øÇI$þ^µµµ‹‹ƒŽlI%•ÀÀ@9GR4Ž!^=B¡P.\¸°f͘‘ÜÙÙ m€­­í;w~J Lj›A\WMM͸¸¸5kÖ :Àáp   P(&&&±±±bæ0’H$¨m"ê’T·bI‘À Y»v-tqs¹\hSRRÄ,!×›ÿ]Œœæææ©©©NNN{---ܘÝÑÇ_“‡S[[ÛÜÜL§ÓÅ?ÿ uuuÆ ëñcÂ|>¿®®®¡¡ACCCWW—`ܬ³³óÏ?ÿ¬®®nhhÐÔÔÔÓÓ355íï$w&“iaaÁd2gΜ)òCBâ!®=ét"‹ÅêììTVVN™`2™ÕÕÕ\.÷»ï¾£ÓéÒµßÖÖÖçhâðùüÂÂÂ÷ïßÃ+ZZZv·ñ·¥±±±  àãÇð#”½œÿ!R誾¾>??ÿË—/†††æææØd´¿ÕÕÕMMM–––&&&ßü‹Ðíííùùù***FFF}4÷¯b9{÷î…¾”û÷ïÌÜ€|c 6Èa0………Ož<Áa;;;dăÌÀ·$99 Gkhhìß¿ÿÛʃ@ !È |K555555ÍÌÌ¥X @ z Š Ä æÿÙÜ$Âj³ÈjIEND®B`‚traitsui-7.2.1/docs/source/traitsui_user_manual/images/no_sort_icon.png0000644000076500000240000000114714046644454027147 0ustar aayresstaff00000000000000‰PNG  IHDR&u2Á.IDAT8¥”!’1E{Sò6ôà\ÃÐ4pŒl¸Ôpa®0Pƒr†bÙ#X0ï·Æ±Ã¶*]¶ª%õÿ¿»%ÍËíöÛþþƒ½^çZK­æn_Ýóñ8 _ à%ûPÍÜ X­Ü4ÚÎëí>ŽZ+eAlÃã™ ‡Ÿ—}J­6[‹Õ“ùn‹µA̘­úÅ?išeÒ×¶kkrÀÃèƒèæ0.Áb–¶5*žñ¯`b¢…º… ÄØ‰4–F§ë OðúŠ+ë(yô3Àâ,£Oú§Â:Ñ_¤8Ì0UÔeʺñv™Ð— 'ŽS„F±R2dY—Šþ±^ªÆÔ?Å»cZ[VU…„óHûÑBê>b ¥ Í[Ú:#‹'í`n)éÌÙŠ©9ãÕ›6úÔVnVƪòˆ¼!™µ—–2·ƒýþÕïkÀú±©HÀiL+‹•7Ö« £þ¡]¨½8wp¸H¡‚ÑH¤r¶÷_–ÏJî ?:µßÃ"ÖL§ ÛëÖ!‘ÒÎ}NžÒqôÃ9ÑjO6^à ý¨dÃS "%ߢsį̀ͪg2OàB_Ýè¯%4ûÉ·òhžŠ8µùÎÁ\j<Á8Ý=R=RÅópà§š•¶¼0‚óqŠ÷§øÝ4Aq7Ò£Ìmwðá)íXÑ(ásÎ<†íË¿ßö>jºøuVŸ)­,q{”™½|åû×ÇízÖ¾Ÿÿøu *™4IEND®B`‚traitsui-7.2.1/docs/source/traitsui_user_manual/images/TitleEditor_demo.png0000644000076500000240000014166114046644454027716 0ustar aayresstaff00000000000000‰PNG  IHDR@&n·¥ pHYs  šœ IDATxœìÝwX×Þð3»KÄ‚€ØE)PQ¬(öhb7W½‘KbIb/‰‰Æ5¹"¶DC4öØM•Ø ª £€ˆ(¨TewçýãÀÉd›Û×÷ûy||fgÏ”={f™ßœÆeggÍär¹T*•Éd<ÏkI†‰Db±ØÒÒR,kI&ÑôÏóÅÅÅ¥¥¥"‘H$UÀáy^&“•––J$ŽãÔ&SÀó<ÿêÕ+…B!‹9ŽÓ´1çyžçåryaa¡Ú0\}ÕzQQ‘B¡ uïˆÞ*Çq4çy¾¨¨Hm5¼L&“Édh9ð&ÑHœFåjÞU]%•JÑlàÍ£ñ¸T*U}KMOÏ#€xÃh/—ËUßRÀWü)€Ç©Ê½ÜÌx3€À €0àÌx3€À €0àÌx3€À €0àÌx3€À €0àÌx3€À €0àÌx3€À €0àÌx3€Þ(¹\~üøñµk×>yò¤²Ï”á x›qÙÙÙJ«òòòÄb±HTQ±}AAµµµD"1~WYYYK—.¥ËnnnÓ¦M3~ŸP¡æÍ›÷Ûo¿B¬¬¬®^½êììüÚM¶nÝzóæMºêããcÚSŠŽŽŽŽŽNOOÏÍ͵³³›={v³fÍL{ˆJ$̽Ï>û¬Aƒ•x2111;wî¤ËAAAƒ ªÄ“1Øwß}÷âÅ º¼páB{{ûÊ=Ãhúñ4à ­ 31•Šþ¨ …B.—W©REi½ ¢h]deeíÚµ+11111ñÑ£G^^^>>>íÚµ{ÿý÷ ÞíË—/÷ìÙC—›4i‚þ-Çóü¾}ûèrIIÉŸþ9zôè×nuáÂ…#GŽÐåîÝ»›öþ{ܸq‘‘‘Â5cÆŒy—xaî 8°rø¿ÿþ›]°‰ÄLøÃ‡³Úé™3gši¯öÇÓ°+´"ÎÄ„*ôà {|llì'Ÿ|’™™ÉÖH¥Òøøøøøø;vœ8qbåÊ•¶¶¶oàLLbãÆwîܡ˓&MªW¯^åžÏ[HSqpæÌú²eË–¯Ý¤BýñÇJÑ»™B™“Ðr…ê ‚Txâĉ‰'J¥RM þøã»wïîß¿ßÑѱ¢OÆ$Nžû7òóó鲿¿?ëÊ›‘‘‘œœL—ëÖ­ëééI—¥R)«²¶³³ P=èk³(>>þå˗ƒ™«Ä r’šš*—Ë…µ°°4'''..޾åááQ¿~ý‚‚‚³gÏÞ½{×ÓÓsàÀlÃÂÂÂS§N¥¦¦fggW­ZÕÝݽ[·nªC©~·nÝŠŽŽ.((ðòòêÑ£+ —/_ŽÍÊÊjÞ¼yëÖ­]]]µ|r///ÂÕÕµY³fþþþšvnäxãÆ¤¤¤—/_Ö­[·M›6µjÕR›L÷¬&„$$$\»víÉ“'r¹¼V­Z~~~mÛ¶}í‹‹‹/]ºôàÁ¹\îééÙ¥K-?B¹¹¹gÏžMMMµ³³óòò ä8Nû&¯-ÏŸ?OLL¤ËÎÎÎÂZîK—.ÑÇÇuêÔ‰­ONNÎÈÈ ËÞÞÞ...ªŸ±¨¨èêÕ«—.]²¶¶nܸq—.] ë—¤z… ßÍÊʺuëÖ;wÒÓÓëÕ«×¾}û5j°Æ_ÎTZZÚ… ^¼xQ§NÎ;«ßÂÿgâµ…ª"~* S±üãÇÙ²•••R¨ùñÇÇÇÇó999Âw¿üòKºݰaCMg÷í·ßÆÄÄ(­¯Zµê† ‚‚‚´|йsç&$$Ð嘘˜©S§²¶©„ŽãÆŒóÕW_)ê¯Ëg_¶l»ËܰaCß¾}éòÆ7mÚD— °fͺ?räHºìïïðàAÕ³}m-X°àÚµktÍÁƒýýý ÎUbD9éÒ¥‹L&®™8q"]8yòd“&M®]»6f̺fôèÑ5Z¸paii)!¤^½z,ªŒˆˆX¾|yaa¡pWüñ¼yó„+…ßã•+WÆËÞ­W¯^DD„‹‹ËÔ©SOŸ>-ÜpÉ’%£FÒôAôͽ+V¬Y³F¡P°5={ö\±b…“““0™‘`^^ÞG}$,ðÖÖÖŸþyµjÕTë˜ÕYYY¡¡¡ÂL£êׯ¿iÓ&a̦´ÃÞ½{Ϙ1Cø$ÑÅÅ%<<¼C‡Ú?Åï¿ÿ¾`Áa,Ú¢E‹Õ«WkÙD—òœœÌ®£ÆŸ:uŠ.çææ6ŒþBΜ9S¿~}º¼`Á‚sçÎÑåíÛ·wêÔIé3vëÖmìØ±4Ó¨:uê¬Y³Æ€NìªW(]–J¥K—.ýå—_ØR–––~øá7ß|Cƒsc.gêåË—#FŒHJJbkìíí-Z4xð`¥”Æÿ™Ð±PUÄO%€a*vxaTPRR²nÝ:á»ööö¿üòKDDDDDDxx8[ÿâÅ‹‘#GªÞ–B¢££Ç§z©õ믿~ÿý÷J,!$//ïÓO?½pá‚pezzú‡~¨½B®_¿þÞ{ïÝ¿ÿµGÔ$!!aèСªÑ;!$''gäÈ‘‡ÖqWóæÍFç#""ØÔ\”ŽŸ½cÇŽì-V›G¹råŠÚeaš×?o€Iʉ.âââXH)´mÛ¶ (Ek„ÒÒÒ 6°™±TÍŸ?_)fxøðáÌ™3gÍš¥½BæÍ›wôèQ#Nÿ¿ÿþûêÕ«…Ñ;!äøñãß|óp‘«P(¦L™¢Tà‹‹‹—-[ÆF8×DSVÓ N5Ð"„ùD½B²³³'Nœ¨´RILL̬Y³„Ñ;)³¨¨Hí&:–V7~ÿþ}–þêÕ«ÂØXxéÅÇÇÓKKË6mÚ(í?99ù³Ï>SÊ´´´´‰'–””hùŒz, Z,,,Z¶l)ÜçºuëÖ®]«öèQQQ„¥VÁ1114P···^5<Ïk©ÁÓ+÷8@(½uàÀÖØø pÕªU¬V™$-±—/_Ö²!ÑÕ¯^½9r$»` !îîîºܧOŸ6ìÙ³gª;³ªìæÍ›ÇÇÇ>|8>>¾Gl«U«V©ýf«V­™””tøðaaÿaŽã–/_~ëÖ­˜˜˜þýû³õׯ_×”úæÞüùó“’’®]»& oxžg5™Æ_€[·neËQQQ·oߎ‰‰ Ñ´‰RVÓSFDk×®½téRttôÞ½{Ùšžž¾e˵;¬^½ú‘#Gâããoܸ!œy>))IXS*tìØ±¬¬,örÚ´i wî܉ˆˆ°°°PM¯oyuì£)ðª×Ñ\’ðóÏ? ûÛ³¹ÜŒ$|"3{öìùóç;vݺu&LhРAƒ êׯOŸv9 Y[[oݺõÎ;ñññ¬c !$33ó¯¿þ¢ËÆ—R½ UEüT¦bxBÈìÙ³5ݸ߿?<<¼S§N+W®dwBÂÖÂ3fÌ`7£ÞÞÞlðÒÒRµ-'©øøxÖ8¶iÓ¦ì ÇqsçÎeÉØ=–ð6nìØ±lì¨ÀÀÀ?þ˜ÆÞU«VePú:wîܵk×®]»vúôi777º²aƬ{ªL&SÛz_Õĉ»víÊqœ‡‡ëYJÑç z}v±XÌî³óóóé9°{PÚퟔײ„¶mÛêR™V¡Œ/'zÙ¶mÛˆ#<==íííÝÝÝcccÙøb±8<<œVýYYY­\¹’MˆX\\¬Ú$ž2eÊÚ&¢eË– `ëÛµk7bÄŽãjÔ¨1vìX¶þÙ³g&i ݯ_¿ñãÇÛÚÚV«VmòäÉÂf&¬òÐÈŒÍÎÎÎÎΦËÇmذÁËË‹R³fͰ°0áš(e5!äÈ‘#ìÝÁƒ³GmÛ¶4i{KSGƒððp???BHµjÕ–-[&¬eÕß ?]HHÈçŸngg'‘HBBBæÌ™£š^ßò ŒÃi…ó«W¯hU¼½½=­cüø1½–…m¼ÕVçZYY­]»¶J•*‰¤wïÞݺucoiêY /Ö†ˆràÀöDiÞ¼y•SMÐ0 ,èÒ¥‹X,vpp˜={¶ðYû¾Œ¿üõ*TfýS ï˜ ¿·°··ˆˆ8tèÐÞ½{ÏŸ?¯Ú/Q.—‡……988Œ?žÂZEB6lذ}ûvöRØ=..ŽÞ”«îáñãÇšSÀ+ÝÏŸ?þüùZ?Ÿ®rsscccïܹóòå˼¼¼üü|2BT{–ª%ÍØÝݽ~ýúìN‘6Ö÷³wêÔ騱cleƒ Ø]é¤I“h×hzWÊêÈÛÑ(Ôør¢;www¥j4áOOOá4×NNN~~~lÈ1Ö¸C¨E‹l¹uëÖ7n¤ËÂQ[´haaa¡¥ Ñ—ÁÁÁ¿ýö]fýºÌXaÈäîî.Lãààйsg¥ñ”¨f5ùwn MB:wîÌú¤¤¤ð<¯Ô»ÄÙÙY8H¤µµupp0û šé ãõë×éoc```II MùòåÁƒ³¨*Uª¨ÍófÍš '³èܹóž={貦>újÕª[Ž‹‹{ÿý÷kÕªÕªU«–-[víÚµI“&&9 %|¤%‰úôéÃþ`ß‹ñ—¿¾…Ê|*àó†* 0`À€üüü7nܸqãÒ¥K111Â`~åÊ•}ô‘•••°åª––ÃZªV„{ÈËËc­.•ЪBÖ•"¼ó6•—/_~ÿý÷»wï6~L5¥A¼]\\”ªîõýìšÀøøø>}úÐp¢J•*#GŽ\¾|ù«W¯=zôäÉa;Þ·á®Ôør¢;ÕøDxt6T¸p ØÔvÌvcœÂI¶8ދŦ à«W¯.|©v^7#3VØ©Xu6¯×Îï¥6Ô’ÛÂþ2™ìåË—Jø©±qãÆjÏVHÀ+í¡V­ZöööJ=#ô-ÇuèÐm@»¸³ïíÛ·/..¦é¯\¹2pà@ö$ìÆÏ°`µ/M¢wïÞ!!!tì*33óèÑ£G]²dIÏž=§M›F›ZÉÕÕ•µ§„-&Ø÷eÚ?º*óý©€wÌmÝG«à:wîüÅ_dggÏœ9“Ýß¿ßÛÛ[x‡êêêªö†•ÂZ¥ªnbcc£:#·’*UªäååÑeaKQ“Éd#GŽVòB8޳··g ›¾Ÿ½^½znnn´õo\\Ü7hÄØ¶m[++«Ö­[Ÿ9s†råÊvWêââbÚ 7Ã_N ;%ì­:Ú¿p¥¥¥ñ'ð&™±Âù UGk×4~»Ú£3lC¥ÜVÚ¡jn«Qxkš)ÝÎÎŽ]žJ{ËåªÕÚ”‡Ž;²± ãããYun»víØþ¯\¹"¦¾r£ÁM›6mݺuÛ¶mJýxž?vìØ_ýuâÄ ã€ªæžðûb¥ËøË_ßBe¾?•ðŽ©ØþâÅ‹Ož<¡ËmÛ¶ö¹uqqYºtitt4«—ÎÌÌôöö®Y³&«ÝÚ¾}ûk«ìTÕ¬Y“-wëÖmýúõÚÓûúú²~ã<Ö#•””°ûxGGGµãWiwâÄ ½Ó.]ºtqss‹Åƒ ºzõª¾;ÔNßÏN騱ã®]»!III¬©*íðÙ¾}{Õ»Ò:(µR®Æ—cGž¶æU]#LiŒÌئM›²e6²=£©Æ[»5j°GlÿýwëÖ­Ù[¬¶±±Q†žƒB¡x÷îÝcËš*›6mš™™Éö ìz’’¢ÀP„5ºW¯^¥Ý›5k¦P(h%ÿÇ…•Þ•;!™H$úïÿûßÿþ7---&&æúõëQQQ,—Š‹‹wìØaüdr/_¾|öì™0?Õ~_Æ_þ*3ý©€wLÅb·cÇŽÏË-_¾\ùØ"‘pJjWWWòï[j¥àÙÙÙ—Ë=}úTÓA…{¸råŠRuÊÍ›7é®]»F×;IÒÆÙË &´,wéÒ%Õc û±«%lŸÿþûï=ºN:b±¸¨¨H©ZÞ$ôýìDP­WTTDý&åw¥¬óðñãÇÙ3}«_›E†mb|91›–òäÉ“èèhö211Q8꘰[û›a@† ™±7fÑrvvöîÝ»Ù[÷î݆£ºóõõeË»wïý-ìü,üR˜¢¢"6Ä!äÑ£G‡b/5ðÂõÂJà5kÖ¨¦7 <Ô®]›5ÕÞ¾};¤000P$I$6Ùû/¿üBÜÜÜ*¢ƒŽÒÒÒ’“““““ïß¿_§NAƒ-Y²äòåËÇgi=z¤v[} ¤pRÌÜÜÜmÛ¶±—ìññ—¿…ª¢*tQ±¼pè£L›6íÑ£G<ÏËd²›7oþç?ÿa|ÕªUéíl¿~ýØ&Ë–-‹ŠŠ¢iÒÒÒ8¤œ°ZFIãÆY… Ï™ÎÛ\ZZºnݺþýûÓ=,^¼˜¦iÞ¼9ÛöÌ™3 .LIIIKK ;yò$]ïääÄF!6Þ²e˹sçž~üøàààààà®]»²ø–ã8a ³pôAc äÖ­[.\xíÚµcÇŽ…††²x˜¾/ã/ UEüTè«b›Ð>|Íš5ìžæ÷ßÿý÷ßé´:J#º;ÖÊÊŠÒ§OŸ÷Þ{ï?þ „H¥ÒÐÐPGGGkkka]JëÖ­µWnüðÃ#FŒ }G£££ýüü<<<233…m_Ù4lAAAýû÷?|ø0}¹iÓ¦M›6)í°_¿~l6 áˆG‰‰‰~ø!=Šp°%Fx÷ðáÀ€—çÏŸ\éB¯ÏNqqqiÚ´é­[·ØšÀÀ@zŸ*‹…µ¦õë××e&0½²È°MLRNŒñã?2„>ÉÎÎ3fŒRKKËððpá¸tÇ€ ×ÄøŒýæ›o>úè#P÷Ýwúžƒ’îÝ»øá‡¬ÎsÛ¶mÂZYªk×®#GŽT»¹L&[±bÅŠ+”Ö<¸Y³fj7éÛ·ïo¿ýÆz¸œ;wŽB§‰å¡cÇŽJs׳¾]»vJ›WnuîðáÃÙ|³gÏÞ¶m[íÚµïß¿/D³wïÞlÙȹqãFa» ªcÇŽl†<ãK©…ª"~*ôU±5ð¶¶¶‡ÖMBd2™0z‹Å3gΜ2eJÙ ‰D«W¯îÚµ+K››+¼-«_¿¾°Y­–-[nÚ´‰Åó|ZZ‹`E"ÑĉÙ½H$ Ö´·ž={ '“ûÏþ£iì+U 4`óSÙÙÙ<Ï;::VÐøFz}vJ饰’P©YÇ:%½²È°MLRNŒáååµuëVÕN×”D"Ù°aë‚3 Ã51>c»víúÅ_¨Ýó„  ;«¥K— gSøóÏ?«p»]»vÂAÅooï¥K—jÚ!ýúÔŽ_$l³ÃPÚ·o/ŒçÙo‚···p6Žã„“á½yöOLL}ºðjjÖ¬ÙŽ;:wî¬zD]²Z$­ZµjòäÉJs¤988Œ5ê×_ÎÌ'doo¿sçÎc¿Þ½{oÚ´IÓ&TõêÕ·nÝ* 쬬Æ'|:¦tòz•zòÂgíÚµcŠD"a%|Ó¦M•>¸–LÓ%?‰æ‚¡v½ƒƒÃÞ½{çÏŸ¯4õ ]›6m80qâDáz½~$…G´²²Z¿~ýèÑ£…:uêôÛo¿)ý1þÏ„…Êä?•úâ²³³•Vååå‰Åb-!¥Áž={vçÎ{÷îU«V­iÓ¦ 6Ô÷B¤Rijjjff¦µµuãÆ ›,+++===''ÇÓÓÓÓÓS{“æÒÒRzD+++ooï×V"Éd2¹\nii©ËhÃOž<ÉËËsssÓTMgrz}ö ¢W¶‰Iʉ1^¼x‘žžž››kggçîî^¹#Óaò IDATÏáš™±2™ìÉ“'ùùùnnn¦úRd2YZZZff&Çq...žžžªSÇðoô0càÌx3€À €0àÌx3€À €0àÌx3€À €0àÌx3€À €0àÌx3€À €0àÌx3€À €0àÌx3€À €0àÌ€¤²Oà]¦(Gáy¾²O@oÇUèÎ9މD"j^|…())yõêUqq±T*•ËåˆÞà±2®=1]Po+‘Õ¶+ôª^P§´¦#nK´Á_Jãy¾   °°ÐÆÆÆÃÃÃÉÉÉÊʪ²O Àdö>–™por…E¾¼êÙtù7ÿQóÇþuÅZç`ÖÀ›XAAAQQQíÚµk×®]Ùç`z€ ¤ áº‚Wð4,çä ¾leY(Ε-+ˆ Wžžýãh`O+ðé,ÅäÖ3[: (A73“Q(EEEààݦàËú·ó<Ïqÿto§ œœœ\\\Ü£Gàà`îüÍ«¸ŒÒ×åË—¯_¿nccZ‰§aó=s¢®èu¡™üè¦òþŒË„B?%_~ó4þæ8®<ªç!cÚsÁ^"BHo‘XD6_äy¾|Â9ŽðeÍç9¶7º•Á;€\vv¶Òª¼¼<±X\)}Ï’’’¶lÙÒ¼yóÿüç?¯M|ëÖ­˜˜‘H4räÈʽY§¤Réýû÷{ôèaðRRR"""nÞ¼yãÆŒŒŒºuë´mÛö³Ï>³±±1lŸ666ÅÅÅóæÍûî»ï >109Ÿ¤¤$BÈŋ۵k§=ñ÷ß?{ölBHii©Db²‡n7oÞìׯ_FF}9eÊ”°°0Sí¼RTPF`úôé?üðƒ££cNNN%ž†Ì÷̉º ×…fò£›Ê[ø3þáF9!eA8ù§'ü?èÓì‘\_¿ÝKD&(¶^VŽÎibáÒ_𛇤YZZšþÔÌ„B¡ËåUªTQZ_±÷¸óæÍ+..Ö%åÀƒ‚‚¦L™rïÞ½;wzyyùûûkß䯿þZºt)!dĈ•{³n§N6lØóçÏÙš””””””½{÷nß¾ýÀuëÖ­¼³ÓÉÎ;ããã=<<>ýôÓÊ>—·EVVÖ?þH3fLãÆÙzµÈ4%® 'N¤Ñ{µjÕzôèQÑá ½áŒóeä“hü¦i"ç¹²nëemâ9Újžµ§çù°mYôÎóäämE÷¦"Ž#½}ER¹bÇžzWVOm9O÷ ÇôTlÜ»gÏž¢¢"]R6kÖ,((HíÍÖ¡C‡nß¾]»víÑ£G›úßû÷ï:t(íBß­[·   ww÷äää#GŽÜºu+66Ößß?11ÑÕÕµ²ÏT›={ö8p eË–¸Ùež}úÔËËKi€ÆôôôgÏžy{{›dàF¡ìììÔÔÔÆ;88hIfdÁ(**zøðaiii£FlmmuÜ*###--­I“&J—ž¾Ëó|JJJAAAíÚµ«U«V¡gÎ~=<< ›CG÷îÝ“Éd5²°°¨ˆý—––Þ¾}["‘Ô­[W÷/Nw¹¹¹ÉÉÉîîîµjÕÒ’ÌÈâgÀ•h<¹‚”ÇítGø²a\¶"ÃZ—5¦ÛpF}÷ŸòÑw9K‰â³®"BÈQ¡T±ÿ}—ǽ#„W @ƒJ©îÍ ·D±±±=b±ÊÛéÅ‹tÁÛÛ[õ]›ÈÈÈ( _$“ɾþúkWWWOO϶mÛÖ¯_ßÅÅeúôéR©T—ƒ^¹r%$$ÄÑÑÑÏϯeË–ÎÎÎAAAgÏžUM)—Ë-ZäæææîîÞ¦M›5jÔ­[wôèÑÂá4h ‘H8@¹yó¦D"‘H$>>>ÚÏ!**ªsçÎöööÞÞÞÍ›7wpphÕªÕÖ­[_{òYYYô'NœØ»wo`` ““SëÖ­kÔ¨áîî¾{÷nÕMtÉ®÷ß_"‘¨~ ]ºt‘H$îîîJ³ Ðô~~~jOrË–-‰¤yóæôå€è9ÿþûsçJ$ö¸A{bM +aaajµfͺfòäɉ¤C‡<èׯŸ³³³¿¿¿~ýØbbbzõêU¥Joo€Zµj5lØ0<<\é@¯iË–-¾¾¾®®®-Z´°··ŸþøãªU«z{{Ó6`À€{÷æÆêÕ«›5kæææÖ®]»ƒê›±ì ’J¥+V¬¨V­Zýúõýüü\\\ÚµkwþüyÓž9˨o¾ù†ý4iÒÄÑÑqèСÉÉÉ,‘Wû\£FruumÒ¤‰···­­íСCŸ={¦ËçR¢t¡1§NjÛ¶­ƒƒCóæÍ½½½íììzôèqéÒ%–À°ß4fÓ¦MÎÎέ[·vuuõöö>tèj2#‹ßk ;s¥_ÅÓ§OÓõ?ýô“pý7èú½{÷j?´\Adr¢à9™œ—+8™œ—Éy¹‚ÈdT»²ûŠµÑŠ?ã‰LA䊲ÿå r4¬.«](’—¯§{•-ðš¼]5ßÿýúõëãââ!AAA?¦=Ãé(n 48uê”–Èd²U«VmÛ¶ çàà0bĈٳg+Uã$%%ˆÅâ úDº¨S§Ž¥¥¥T*Ý¿ÿœ9sêÕ«§” M›6ª[M˜0á—_~®ÉÍÍýá‡233·mÛ¦ýˆ‰‰‰={öÌÍÍ®¼xñbß¾}Ïž=Û²eKáúÏ>ûLé&/55uëÖ­çÏŸ?|ø0½£•J¥ôk¢è²ö{пþú«OŸ>Âg+R©ôæÍ›£G~ôèÑܹsµl+—Ëé!Nž<&<ÐãLJžŸŸ¯Ô–A—ìêСáC‡nݺõôéÓš5k²d.\ ÏƒâââZ´hA×+гgÏÊåò:¨=I™L&Ì–-ô#—––ÊårvæÚkbXxí±è¹¥§§wïÞýáÇJ›'$$„„„(žL™2%??_øÅ±¯)222<<œT&“­Y³æåË—ÞÞÞÂôR©ôòåËÁÁÁ.\Ð4d£Žµxñâo¾ù†½äyþÊ•+­[·ŽWê3oÌu$“Ɇ rúôiá>|éÒ¥®]»*%f¹±eË–;v¨îM÷Œe…ç£>Ú¹s§0ýåË—ûöí{ùòeÚÖÉ$gN©fTiiéž={®^½zñâÅÚµk£¯ ú¹^½z5tèÐÈÈHáÙîÙ³çÆIIIú¶ÑPºÐ¨°°°iӦѯƒã8úX!**êìÙ³GŽéÖ­1è7 ÿòË/…knݺ5xðਨ¨.]º×Süt)0¾¾¾ööö¹¹¹gΜ6lKvìØ1vmŽ?ž­?sæŒ\.ç8NÓÏ#£18O8B3+ïÀÎ_¸Ï5äÖE+Ž&– qÇÿÓÏ'„;Gä ÅÄ.¢‹ór}—Î&GÛÑs„¹óȨ÷vÕÀ+ÝlÑ—ì]z\ZZª}'sæÌ 瞟ŸÿóÏ?+µ?ÏÌÌ k• ÝŠ+Ö¯_Ÿ”””˜˜8gÎú,fîܹ¯^½Ò7»è·@¶D8uê ?ÎÖÇÇÇ¿|ù’Ò³gOµç6|øðäädV¿ºvíZš-ï¿ÿ¾‘‰õúPªÆ§öXü±0YjjêÇÛ·o~öìÙíÛ·BÒÒÒz÷î››+‹¿üòË'NÄÆÆþøãtH‹yóæmÞ¼Yõˆ«V­ªS§ÎöíÛãââ–.]êîîNOrÞ¼yÕ«Wß¼ysRRÒÏ?ÿLTeddÐc“«ß|óM‡vìØqÿþý«W¯¾÷Þ{„’’¥c®#BÈ´iÓh!oÞ¼ùúõëãââvíÚÕ¿ÿ¬¬,-M'vìØamm=}úôƒFGGÓRg@ÆÆÄÄìܹ³Q£Fÿûßÿâãã:DG ÉËË0`€öIàô=ó¯¿þšfT«V­èåvèС1cÆBRSSûôé“——GLtݼy322rذa‘‘‘)))G¥Uúÿý·jc¼zõŠŽ9Ò¸qãèèèââ⇆‡‡‹D¢’’’©S§Òdúþ¦ }ùå—µjÕZ²dÉÕ«W£¢¢¦N*‰èC“ÔÔT–̘â§c‘H$Ý»w'„œ9sF¸ù±cÇèÂéÓ§…Ri²æÍ›koóO­6çÊ«Ö9A;·èO¾×*Åá8"“ÿ«îm"WÃq¤w˜bÑŸ<ÛJ&'2AbÔÀhòvÕÀ+9xð T*3gÎùóç4h@ïH´×À„‡‡ïÚµ‹ôñÇ{{{'%%mÚ´éâÅ‹ðôôdwðÑÑÑ………„ëׯ?yò¤rx »víZFFFAAÁ’%K–,YâééÙ½{÷^½zõìÙS©ûnffæW_}EéÚµë‘#G¬­­ !ÁÁÁÁÁÁW¯^]²dÉœ9sèzU .LKK£$Y»hOOÏaÆeddlذ6×gruu=qâÍ"Ÿ#F|øá‡;wîLJJ:{öl§Nh?j:K¡­­mÆ µÞ”””V­ZB>ùä“Ò•Í›7§«yž?wîÜ€^›ovvvÇgC.Y²$''gýúõYYY·oߦëuÏ.77·ÇŸ9s†>¤ å!‡­­í«W¯Ž;6kÖ,ºžÞéZXXk:·† ²çîîîZ²E¯Äz}(Õmt9ÖÀwíÚ%l·²xñâÇB–.]:cÆ º²yóæ}úôiÓ¦M^^ÞäÉ“G­4„³³ó‰'èQüüüÜÜÜh¨)‹Ož|˜’ŸŸïàà ïoš¥¥åÁƒÛ¶mK_vïÞÝÙÙyÁ‚ÙÙÙ‹-Ú´i1ºøé^`zöì¹oß¾[·neeeÑ® ÇYYYåçç_¼x±sç΄úÃKb´Pšæÿ÷„pl>¹­áþ™%ŽmEÊ7dÝ+hjà4x»jà•Ô®]»nݺööö„›ºuëÖ­[WK¤••µbÅ BHûöí·lÙR»ví_ý•¶Û\³fMII ML÷PéÓ³Õ­[7!!á£>bƒB¥¦¦þòË/C† ©]»ö”)S„5Ò×®]£÷:K–,ÞÞÙÙÙÍž=›"“Éâãã5‹FGݺuöj&„ 2„ŽRvãÆ aJBÈúõ땲(<<|Á‚_ýµaÓ,·mÛ622222’EïÔ¨Q£húÍ›7uÙO·nÝ„B>üðCºpÿþ}º WvÑÊ@am ?è­ö…  èzZǤ}t´ bdÐÑ¢E‹”z\»vÒ¶m[3PMš4Y¼x1)MPi?}ûöÆ?C† ¡™ A ~ýú´s»–žØ:š>}:Þ)‘HD Faa! {ˆÑyÈ.“õë×Ó˜kÇŽZFwëÓ§RôN ÍØU«V)õ¸a'ÃNÏø3§çFÙ°aÞ™ððpÚxž¥1É4cÆ áHl´E7»¨Ážþ(UJþùç§OŸ>}ú´ñWôܹsYôN}õÕW´l³_6#‹ŸîFµYýFz÷îMÍ"é]x™‚ÈyNÎs¬ÚüŸÿyN® eoÉùÞ’ó ž£[ÉY²׺+ØQ Á[]¯¯¸¸8zK4kÖ,aE½­­ígŸ}öÉ'ŸÈd²Û·oÓ`¾fÍš111÷îÝc}2+—³³ó¯¿þºzõêƒ?~üôéÓOž°¶¶nÑ¢mP­öèœ9{É΄±´´lÙ²eFFÆõë×é㯠¥ùHùu;;c´k×ÎÆÆ¦¨¨hÙ²eGýä“OºuëæååeÂÁÛU09ŽkÛ¶m\\\RRRii©………1ÅO¯ãááѬY³[·n9s†ö£{Ÿ>}ÜÝÝ8pìØ±%K–ò'íÛ·ígÔÀsl2¹ò:uö?§òÿ¿ç+[ ‚:û²ÔÀhòNð¬¾"77Wi@uÚZž’À"v{{{Úûíáàà0jÔ¨Q£FB®_¿¾mÛ¶uëÖI¥ÒÇ;öäÉ“Dp?ݧOMû¡£ªŠ§C ìÞ½[íhí„§OŸÒ1¨è ˜›J?þöÛo:dØàÒ”°þRmqªWvuïÞ],Ëåò³gÏ~ðÁ´9q—.]lmm{÷î½qãÆãÇ÷ïßÿÖ­[t~]ªª*‚1e@Gª5± ´»¬Ú±¸›5kF›È^»v`FS3`Úoè‚ ¦åŒÌC»ºº:;;«¾ëëë«)€7UÆV©REíP>>>'Nœxøða^^mnä™Óà¼víÚjgšôöö>räȃ^¾|éäädüäìì¬:š¦"dww÷Í›7O:5333>>~òäÉ„êÕ«‡††NŸ>]©‰aÔÎLA¿Ü’’’Û·oûùùSüô-0={ö¤³7̘2`äAßFæayˆ¢¾ÚV¯êÜŠÈXžç5íVß3×~z,=MfWÐСCûõë·víÚ;vÄÇÇ+Ь¬¬ï¿ÿ~íÚµ?üðøqã*â JkLñÓ·ÀôêÕëÿû_BB‹/’““_¼xáââÒºuk‘HÔ¼y󸸸'NŒ5Š>õÖñ¡¤‚§¿—„ë,Vç„ã8^Á:Âÿ“XP-/ôÏTð¨€Ðä àÙ-‘j LFµj®Ò¼zõŠã8ÕÉŠ !¾¾¾ãÇ_¹r%!äÎ;íÚµkÕªÕÑ£G%É™3g´tµUËÏÏO"‘Èd²>úháÂ…ÚüñÇOŸ>}öì™j]·1¾ýö[½O:uþüù¬ÖK.—ÛØØ¼v¢½è›]½zõ¢áGqq1 3høÑ½{wKKË$''Óõ=zô0a³[½S æççgaaQZZ𔔤úî­[·è¨% y«™‡-Z´ˆŒŒÌÈÈ Õ”ÞU;ç¼&†el^^^JJŠj%<â~ýúŽŽŽ&9ó€€€£GfddäääÐ^6ª‡«W¯«Ï7‹+ÈÖÖvÆŒ3fÌÈÉÉ9{öìúõë;VPP0iÒ¤ž={²†‰§Ã× ÑŒ²´´¤3üù3®WéÔ©í5pîÜ9Úþ¢W¯^´ýKŸ>}âââŽ;@CéØ-Hö¯çºœpáûA\°÷ý1~ïuiû“™=EÑwùYûÔï5ðš¼ÕƒØé‹¶'‹Å{÷îýS6KÐÛcÞ¼y5kÖ¬Q£†¦‘ÛØL¿t\.z[&•J¯\¹¢ï±¬­­iÇc¥.jХў!ùùùáááááá¬ï+£ËTÉt‡Õ«Wÿþûï…mV/_¾lÚèèŸ]´ŠÎËUTTÔ¨Q#:4º½½=í½|ìØ1zþzµŸ×qiS feeE©=([ÉŠÍ W®*12YOœË—/+½•““óÚ™ … ÎXÕ«¸¸¸˜FhZ†öÐ÷ÌÙqUÓK¥Rú«%<· º‚*HÕªUû÷ï9þ|BHiiéÕ«W•Òè[ÌΟ?¯´†çyú=úøøÐêÆ?} Œµµ5oÿÌ™3b¡< IDAT´M¾Ž”?[‰ŠŠ¢44nÜXiXDMä|Ù0ur¾|ú7¾ì_·¦œ…˜ÌïË òg+9ö®œ'ƒüÉü¾œ¥„tkZ6dpsºÌc; Ì&€×åŠö<,--Õq ó·Äˆ#è¼yóŠŠŠ”Þ}ðàÁ¾}û!666t(oV¯òå—_²áލ­[·6mÚ´iÓ¦Âù–•ÐÍÏž=»mÛ6áúÜÜÜ=z4mÚ”NšMiݺ5­›4i»›š:uê”)S¦L™òüùs¶ÒÒÒ’rçÎ:½³´Þ¯´´Tøµ–––þðÃÚ74€¾ÙP­Z5…BAÇÍöP¥ËáááOŸ>‰D!!!¯=:ÍBÈÅ‹M˜ØÈ2`0\¾|Y雺wïÞܹs !ööö^^^&?®½rU#ó°eË–ta„ ´;7Åóü¨Q£T/dí ËØ/¾ø"%%E¸æ³Ï>£õ¨ZF÷Ð÷ÌY8aÂáõN™:ujFFùwoÚ+Èäf̘ѦM›®]»* ‰Ç&J>RÔý7MhéÒ¥JS!.Y²„>Xaß‹‘ÅOßCëÕ:tõêU:·]ß®];''§¬¬¬U«V}©ÐÝ<'“OÇ;÷¿¨²æï_õ冸—Ï//›ì}P+òUß²à|ÕIþŸÁçå„þc»µÌ €§õÿý7«ˆÖ„µœ_¸p!µŽÚ·o_×®]»ví*¬L¾}ûöo¿ý&¼…­5"„DFF¶hÑbÏž=÷ïß—J¥IIIëÖ­kÙ²%ÚgìØ±¶¶¶„9sæBnÞ¼Ù§OŸýû÷gff^¹reñâÅcÆŒ¹sçNii©¦ÉÉ !_ýu­Zµxž ]ºtillì£GöíÛ׫W¯¨¨¨;wݪW¯¾lÙ2BȳgÏzöì¹nݺ;wîüùçŸ&Løõ×_ ! 6Þ‚Óv§r¹üÓO?={ölzzº¦sèÑ£!$''gìØ±gΜyöìYdddïÞ½8`‚ ý7}³‹ÅÉÉÉD]øA×ûûûë2ÞU:uèC;w®_¿þîÝ»ZB;ÝY 6oÞ<777BȬY³fΜ¿zõê¾}ûæååBÂÃÃ+nh:F¯\ÕÄÈùdÆ „??¿ &°ô¦½‚LÎÏÏ/&&毿þzÿý÷ Eaaáþýûéäm5kÖ¤“¢Sºÿ¦ •””¼ÿþûË—/¿yófttôôéÓ¿þúkBˆ‹‹ ÍIbtñÓ·ÀÐÈüÁƒr¹¼mÛ¶l\R±XLé—¢û´t~¸òéâ8™œ—Éy™œÈäü¦óÜÚ¿Ê’}Õ—ëã[>™œœïëÇ}ݯ,z_†ü|¶¼_Aä<§ài¨ÏËä<úÀhb}àéH¹r¹|îܹ£G®S§Ž¦iÛk×®=iÒ¤5kÖ$&&Ž=zìØ±éééçÏŸÿá‡är¹§§'›9)99™Þ¸¬_¿þÂ… o êÐâðáà ºuëÖ½{÷†ªš€uƒ§/^œ’’²sçÎsçÎ;wN˜²jÕª6lÐ2Œ°§§çŸþÙ¹sç¹sçÒêfÀ€ÿýïÙË™3g¦¦¦®[·.))é³Ï>¦¬U«ÖÖ­[…]X?øàƒ+Vð<¿k×®]»v5jÔHÓ„Þ¡¡¡¿ýö[ffæï¿ÿþû￳õ;w¾ÿ¾Rm¿ñôÍ®^½zíÚµ‹bkk+¼›÷òòªW¯ÞljÎUU¶¶¶={ö2ùAUé•QZ™‡aaaIIIgÏž½~ýú'Ÿ|ÂÖ;;;:”·:2 ckÖ¬éããsêÔ©)S¦×W©RåСCš:Àvæ‹-ÊÈȈˆˆ¸víšÒõôÌ•†»7ádrC‡]»ví•+WNŸ>íëëkiiYZZJ;ÛÚÚ®ZµJø·@÷ß4¦zõê“'Oþúë¯gÍš5kÖ,¶^"‘ìÙ³Gػޘâ§oiÒ¤Iݺui{ Ö~žêÓ§‘ÄÊÊŠ¶´×…œ'ÿ¯ñèþ—Žç== ‡^Y¼¼¼®^½ª4FÇq5Ú¸qㆠX³aºþ×_1c†p *''§!C†$%%uïÞ­‹ÅìÆßßÿèÑ£Âù¨Åb±——×–-[<¨ô,cõêÕ .Y_«V­Áƒ_¿~]i^èÀÀÀ={ö°9µ OÕ¤I“+W®³Ù¡,--§NzèÐ!:ž“Ò +aïª&c'/|K÷ì¢è“BHpp°•••ð-V¨{øñù石CÓlQû½hO,‰„Yªï‡R¢%5åëë{üøñáÉÔ­[7,,lÞ¼yzBõ©™öC éžQZNÆÈ<´°°Ø»wï¨Q£Ø¯ Çqýúõ»pám½,<––Ü tÏXJ"‘ìÛ·ï‹/¾Ñ6mÚ9räµ½ô:sê§Ÿ~úꫯ„ƒYJ$’AƒEEE©–nؤåÛ§EåµCµ¨îÓÊÊêüùóß~û-[^*•ò<ïèè3|øpáuÿM뫯¾ ÷óócé½¼¼öìÙ£ù3®oaµëJ×±¿°:u¢¼t!W”לÓìeíç «–_IÖŸá !"ެB àV)‹Þן!K#…›ðlo •7ª×ñDþßáTçåå‰Å⊨‘.,,lÚ´)Ïó“'Ož9s¦j‚¥K—®[·ÎÑÑQi ¥£GnÚ´‰ö*¬_¿>mÿÓO?}÷Ýw"‘èÁƒÂ;©TºbÅŠ;w²&÷ŽŽŽ;vüæ›o„CÐçççðÁ´Æ[X¹m0©Tzÿþ}vçj°”””ØØØ¬¬,ooo???{{{-‰e2Ù£G^¼xáêêjÀ´a/_¾LKK“H$ 6TºÏV"—Ë?~œ••¥Ë JJJìííµï“RZZJ›n6hÐ൉gdvyè‚‚…B¡vòm#WʇÊËËKMM•Éd5kÖtuu­”áÄõÊ(íû1& ê "Çkø­ŸwÌ; XÃó*›³Wè x“‰D‰¤¨¨ˆÃPBBB¬¬¬Œìö` …¢,úVnOOëØùÂs¶†âÿ¸žpü?U÷„gcÒ{ËÒ·°ÀۼɈD"KKËçÏŸÓyï* Aƒ TÙgÿ¯ÉyšÀ³ztÅ¿“qÊ5ëÊþy ˜‰N!'>.àÔBo2"‘ÈÆÆæéÓ§ààö¯iÞ”bt¥&ô, §î%¯åsD&'uÀ¨‡?¦dggGç%ªì¨( :m;ýÇÿûŸ¢üá?^eú’ÿ×ä<‘Ɉ¬”ôñ‘VöGxK¡Þ”lllìííSSSyž¯_¿~eŸ€éÑø×4W7Ç;ÿïwyÁ2Ç…œÈeäÇ>÷êÕ°2í ¼3Ôð<†5”X,vrr’Ëå÷ïßö왫«k50¦¼KÊú­óe“½«Ô])¾gQ:)ß–Q(¯ ¼‚(ää‡^·{ùZˆÅâ ;w³¡60G ¼‰YZZV«VÍÒÒ2777>>¾¤¤D.—㙼3J^ ×wµòTË’FÎymÝsûx5ªmmiiiìù¼»¸ììl¥U¹¹¹‰ãÇL¡P”––––––”””––* ðª8ދŖ––¸ý „( ™Læè訴5ð¦'‰¬¬¬$‰••‹ÞÃqGÿ‰D"‘-ç^ |E‹Å¸SAC53€À €0àÌx3€À €0àÌx3€À €0àÌx3€À €0àÌx3€À €0àÌx3€À €0ààÿػ󸨪ÿñãgf@P\Q×Ä7Tp)—45ÍriÓ-sɲO¦¥¦æn¹Tbæ–•¥å¾}Ò—Ê EE•˜í÷Çyt¿÷73ŒÃ6Ÿ^χܹ÷Ü˹gî¹Þ÷œsÏààpð¸x\<.€`#€7›ÍEŸ Ù Ìmð&“©ð3l³˜Ûàu:Éd¢€"f6›M&“N§³Þd#€÷ôôÌÉÉ!€ ˆ™Í朜OOOëM6xwww­V«×ëéK@‘1™Lz½^§Ó¹»»[oµ= }ùòåFcvv6}é(l²ç|vv¶Ñhôññ±™F“–––ÛΙ™™ÙÙÙnnnîîî6ûß'F½^o0J•*U¾|yFc3Y®¼¤×ëïÝ»—““CS<N£ÑÈ>ó^^^6{Îÿ_Jû<( l¿Jx\<.€@€ €ÀÀààpð¸x\<.€@€ €ÀÀààpð¸x\<.€@€ €ÀÀààpð¸x\<.€@€ €ÀÀààpð¸x\<.ÀÍþf£Ñ˜““c0ÌfsÑd€­V«ÓéJ•*¥Óéì$Ë5€7›Í>ÔëõZ­V«¥¡€Ba6› ƒ^¯wss+S¦ŒF£±™Ìvo6›ïß¿o2™t:F£Émgà<³Ùl6›Fã½{÷¼¼¼l†á¶›ÖÏRRR"""öìÙc2™Š;/(jF£q×®]_}õÕõë׋;/Àÿ¸"¾ÙR»@ɧIKK³XuçÎN§ÕÛÛššn0„o½õÖ¤I“Š;GùñÃ?œ8qB.¿ýöÛ=öXñæ§dŠŠŠŠŠŠJNNÎÌÌôòòúè£6l8qâÄU«V !<<<Ž=Z±bżV]øC† iܸñ#w™1cÆíÛ·åò´iÓ¼½½ ðàŽ»uëÖìÙ³år5ÆŒS€ÿß@ͲC}ýÔ¯_ĈöÓýÍ6µ›J ‰Éd2åÊ•³XïV¨õ£>Òëõ&ž8qb>¡"¶eËù@)„ظq£‹ðüñÇ/¿ü"—ûöíK˜aí­·ÞÚ¹s§zÍàÁƒƒƒƒ7nÜ(?fggÿ÷¿ÿ}õÕWózduá?ùä“ŽÄØÛ¶mSšÇg'€ÏÇÁ—žž¾~ýz¹D¬bše‡úúiÕªÕ#ø"¾ÙšÍæ|Ôn*(b…À¯]»Vy{¤Q£F•ü¾uëÖÊr‹-œ9ÔòåËãããåò¨Q£êÖ­ëTΊüøy’””´páB¹8lذ"ûÓù(‡íÛ·[Dï’F£ Ý¿¿üؼyóÌ'œQ¢®ö³¬éx³UËíR±S»‹ñö`¡pøÿ=-Z´˜>}ú¦M›Þ}÷]gµgÏž?ÿüS.÷ïß¿ÀCŽÂ>~ž¤¦¦®[·N.‡……åp>ÊáСCÊrppðÈ‘#ëׯ/wœ:uêÂ… “’’ú÷ïߤI“BÊ3òªD]íÿfXÓ ðf«fçRÉ­vãí ÀBáð999ÊÇ[·neffÊeOOÏêÕ««—.]ºP3SP^ýõ×_½¸sBtõêUeyĈÏ>û¬òñ±ÇûòË/‹#SÀ¿Nßl©Ý ä+Ü~×®]ê .œ;w®\îÚµë¢E‹,Òß¼yóìÙ³rY«ÕvèÐA½õöíÛ§N’Ëaaa'Ož”kjÖ¬Y¯^½‡:tèÒ¥KF£±víÚ;vôððÈ-{ÑÑÑ111×®]sww÷óók×®]ýúõíŸÑ;w”Aª*W®Ü¨Q#¹#›Ðh4íÚµÓét—.]úã?ëÖ­Û¢E %¥âêÕ«z½>++KY“œœ|éÒ%!DíÚµu:ú/ž:u*::úúõëF£±Zµj!!!mÚ´±ŸÉ<_9¯Ã‡ÇÄÄøùù5lذeË–¹<¯…–••uóæMuH|ïÞ=™™råÊU®\Y833322òêÕ«•+W®W¯Þ“O>©þccc•߀|||BBBÔg}ùòe¹ìééÙ²eË|”CRR’ÑhTïâîî®Þ%666==]njÙ²¥õëèù¸¨,JàÀIII^^^ 4 Óh4ŽïníáÇÑÑÑ'Nœ(_¾|ãÆítûdá?Ò½{÷~ûí·¤¤¤´´´òåËûûûwéÒEý^Ìßÿ'—+V¬¨näšõ.…WÓ%³ÙÿÇdeeÕ¯_?,,¬R¥Jꢳy³•ôzýùóçãããÏ;g0jÕªd¿¾<òR±®Ýù8) ÎW+µ’Õ…þܹsƒ R>îÛ·O= ÔÚµkgÍš%—7n¼sçÎèèèÁƒË5¯¾új=ÆŽ›œœ¬ìR¹r刈ˆöíÛ[ü¡äää!C†(?(:uê´lÙ2;}Nž<©äðñÇ_½zµ\ž0a‚òã±cÇF­ôÒBh4šÁƒOš4ÉÍÍMѳgÏŒŒ õaßÿ}¹ —oݺ5dȘ˜‹<Ô«WoÅŠv¦<¾bîܹ‹-ROÔôÔSOÍ;·B… êdù+´õë×Ožø@yóÂ`0(:¶lÙ¢ä­råÊÏÜEÀùò9vìØ‡~¨ŽÞ…111C‡}ðàA>²´mÛ¶I“&©£wñϯKJ¨,9XøvüøãS¦L±ˆÞ…z½~É’%Ê<[-[¶Tšˆ/\¸ ¤?zô¨:KGŽQ–cccåB©R¥Ô£šå‰óµiÞ¼y_}õ•õœz½~ܸqÊ ª9X³Þ}÷݈ˆëè]±uëÖ~ýúegg[oJHHxûí·-òsåÊ•#F¨Ó †‘#GZœxvvö¼yó¾ûî;['Zè5]ÊÊÊzýõ×ÕÑ»"##ãwÞ¹pá‚ý}###ûöíkó+KHHxíµ×œÏ¡óœ¯VÖJV¯ÓéÔ‘¹2 °BvU>Zð”ÁO… Ô“Øgdd¼ùæ›JóàÁƒW_}õâÅ‹ò£¯¯o¿~ýz÷î­´IFEE7Ι³Ø½{·¢lÙ²9¿øâ ¹àíímÑÓÕÍÍÍÓÓÓÓÓS6Ñß¿РAçÎSøûû«[Œoܸñ /ܼyÓfy|µÍ›7Ë›6oÞ¬<;ShÖWf¦L™2òãöíÛ§L™"—5MÛ¶m ¤L–““óÆoÈÒðòòš>}ºrœ­[·ž9sF¯×Ï›7OYùÉ'Ÿ”/_>¯å •-[6¯»8Y>Ò­[·† ¦ÜÝÝe?ÛsçÎY4:è—_~1™LÆ¢½}÷îÝ_}õ•òÑñÂÏͶmÛ”6v™óæÍ›«‹qñâÅò/º»»+]ÖM&“Ò^± !>,’’’”7&BCCm¶ývmB|ûí·êW£=<}½µR¥J­ZµêôéÓüñÇ€”õ7oÞ”/X:tèܹsmÛ¶U6­Y³æÜ¹sçΓÏîÛ¶mS…_}õÕ¡C‡¢¢¢6lØ ­~47›ÍJLâL¡½üòËçÎûù矕5aaa23óçÏ—hÖ¬YJìÌ™3×®];{öì;v(¥wïÞ½;vÈånÝ®>·t IDATº)½OÍfó§Ÿ~ºzõjå%ÕN:)—P^ËA{îܹŽ;*k¾ûî;¹‹9½¿¨~ýõ×[·n)ÇŒsêÔ©øøø•+WªżêÕ«×ñãÇÏž=»cÇŽªU«*ë•Î y-|kòJ;sÓ¦McccåÜ­[7%Ù_|!_Sl¡\ä¼òQ)U!„õ‹0Ra×&!„: |â‰'N:õË/¿œny=)Éùj›À·hÑÂßß_.ß¿ÿرcrYÝ^ôÌ3ÏØÜ7""BŽjV©R¥9sæ¨Ù”‡Zõ3ÓØ±c•ßF)ƒëõz›=H4bĈN:i4šš5k*ïXJö{ÿå—_”åþýû+çÛ¦M›Q£F)› äù¯W¯^Æ óôô¬T©Ò;ï¼£¾"))Éúx¡ÅÆÆ*ï8¿òÊ+rY£ÑL˜0AI¦Žå¦OŸîåå%—÷îÝ;gιìé驌’P”œ/õ¦®]»¾÷Þ{^^^nnn]»v?~|þrU§NùóçW©REѤI“ˆˆeÓÕ«We÷õ|¾…˜˜¥#´N§‹ˆˆ­µóæÍóññ‘›>|¸wï^ñÿÇá²k÷ýû÷eS¼···lMII‘¹R÷ý¶ÒÒqNÖ&eÐ2!„——×_|!›^Ë–-;yòä5jÈð[ýäHÍzå•W¢ÿñÁ( Ô?ü?Þ:W_}õU¹råÜÜÜzôè¡È•›ÌÕ«W•72ÜÜÜ–,Y"G¨V­ÚÂ… ýüü¬[·GŲeËdë´òn¿Ì¿Å+jƒAù%7##cÅŠòíƒÚµkïÙ³gß¾}ûöíûúë¯Ïž3œ¯V¹)YƒØ !4ͳÏ>« P¿ÿ~Ù`¢t§×h4ê†/EÅŠÛµk§|,]ºtçΕ×)•'N¥w¨bÉ’%ê‘Ôï^žP‡IEÆùòQ~`BôìÙS½©wïÞÓ¦MËG®ºvíªî0^±bÅÛ·o !Ìfóùóç›7ožÂ· ¾Vk×®­žU»B… !!!J²œ# Aƒ•+W–m¤ò°Ç—=¢Ã²³³eúÇ÷ïß_‰ŠË•+—ïúèdmŠ‹‹Sú©é¨^½ºÒÛßš#5K2™L 'OžLII¹{÷nff¦zØs›ÑlÆ Õ]¸Ÿxâ‰õë×Ëeå&sæÌ%A`` úÍråʵoß^ÙEQ·G©bÅŠêå/žòLõz½ÑhÌ­O»§§gPPR_¦OŸ>gÎ9½Bhhh·nÝJÂïÎW+€Ü”¸^ѧOu?~üø””åñ±E‹³+IÖãH*ËÊÛ†êŽÊÇÏ-Î41©gBBT®\YB8BI‹éÔ¹ Czzºº÷l>ÈZEµjÕìç§À M}ð;wîìÛ·Ïf²´´´´´4%|zýõ×ׯ_¯îm¨Œª]Äœ/uoq%W«VMNg•×\Y¬ P^¨>wî\óæÍóTø67Ù¹Vå%€—/™k4šöíÛoÙ²EüóŠ»·mÛöáÇ2ý‘#Gúöí«¼$ß®];õÀyâdmRò „Pÿ<ñHŽÔ,!DddäÌ™3Õ!Ÿ#,&0³9Ÿ™ºéÞú›ïÁíQ²(œÊ•+ët:‡Ç›5kÖÀ•Aôzý‰'Nœ8±råJ__ßQ£F 8°T©RNæÐù»§8¢$ð 4 ”OŸgΜIKK³?þ¼d=R÷ýû÷•e¥)Røùùå(]‹…»»»r:ƒ[œfÑ<§j¡©V¦L0EqíÚµ´´4õ›ÞEÆùòñòòº{÷®\¶8/£Ñè`Ç Ö5B½F¾ƒ¿ÂWS¿¢o=à¶zr­vèÐAðBˆØØXå÷ððpåL9¢¦>ßýç…Óµ©\¹rʲú–R öíÛ7tèP£Ñ¨^éîîîææ–¿©ÔÔߦ2½¹BöŰà·ÇV­ZíÚµkÁ‚»wï¶øFnÞ¼9yòä3gÎ(óS ç«@nJb/„xöÙg?ûì3!„Ùl>pà€ºÿ¼2K°…„„“ɤ~rR7@5hÐ@.T­ZUiÌ\½zµ#ó?=___eZ©‹/ª§5V·Ô•)SÆzBïÂP¨…¦¹»téâàû«ý²²²&Ož¼téÒÌ›ƒœ/ŸàààÔÔT¹œ î}}ùòåüðêV}!„ÉdR÷‚–5"O…o3äóõõU–­›‘Õk””ê×à=*_t÷ññiذ¡Éd’Ý ###•d¹`ç'k“z|5ë®4ééé2üvwwÏGX;wî\%zïÞ½û«¯¾Ú¢E //¯?þøãÅ_ÌëÑ,4jÔHY>{ö¬ÑhÔétÊšS§NYïâ·G!Dݺu#"">|xâĉèèèC‡ýñÇÊ›k×®:uªÅ€óE)÷4G”¸Aì$õ Ì{÷îU†nÕªUnM¬*¼² „°èÙ˜––vø7nÜpöòBÔJRÇ k×®U7ЩßJU&%Êëñóª` Íb$?õÁ9bÑðxâÄ yðèèheeBB‚2𝝝ÒFºcÇŽ={öØùÓN–Cnœ/õV®\©nWT^'É«­[·Ê×Î¥o¾ùF)ÛR¥JÉÞàù(| ê‹ðúõëQQQÊǸ¸8õ(tJN§n´ß´i“Á`0™LÛ·o/6ÛÒ¥K+wQ!ÄW_}5dÈ… Ž5J=â½Z¡ÖôqèСÎÿxþùçåå*„Ðh4Ê„åË—·ŽA‘B^OÊùj›Ú…^ѧOŸ¿þúK¡´˜iµZûOɃaîܹÖo?öïß¿aÆr¹gÏž½{÷–“6çää 2ÄÇǧtéÒê6¥V­Z9óέƒÔ˜qqq/¿ü²"*** àÉ'Ÿ|ùå—׬Y#·þøã?þø£Åî:u4hPþŽŸ×¬:_hõêÕSF™B|öÙgŸ}öYïÞ½/^,„˜?þK/½$_xŽŠŠ ©Y³fjjªºë¸2!ßêÕ«•VÐÆ÷ë×Ïh4®ZµJ¶6§¤¤Ì›7oòäÉ…Q¹q¾|ž~úéU«V)#Ìþøcåcž ߦ  0@†(iiiê)Á¤R¥JEDD¨ûowèÐÁbÞu%€·ØÝ‘ÊX¨µiÊ”)/¾ø¢,¢äädëÆvNgÿ×4›ä jÛ¶m“§N:wî\­V› s³páÂ^½zýý÷ßB³Ù©¼˜àééiýJa×tçuêÔ©J•*òÇsçεoß¾E‹ƒáرcÊÛ­[·Ü±ùº!ä㤜¯V6•Ðx!DïÞ½ÕOüBˆ°°0;ö†‡‡[´,„hÔ¨ÑìÙ³•Z­váÂ…:uRÖdffªOëÕ«W4 #´ó–æìÙ³ÕïX [¶l™‡ÔG?Oœ/4///ù lSóæÍW¬X¡ !f6›¯\¹¢<éjµÚ#FȘáæÍ›ê–äI“&iµZww÷‰'*+W®\©9¼Ë!7Ηœ¦[ý>¹¢]»vM›6ÍG®&Mš¤žiLñÑG©Ã/üÜ4hÐà‡~Èm8yj­èmÛ¶U×îŠ+*cæ7jÔHÝ.­ÑhÔÓCæ¦PkS³f;ùæ›ÜŒôööþöÛoó7zâСC-ɓѻò“üýý—,Yb}jMš4±þeG~Mwž››ÛĉK—.­d/**êàÁƒÊð„7=z´#ä㆓r¾ZØT¤¼z„9‹àÜZ•*U,&RÎmüyÉÛÛû§Ÿ~êÓ§òW´Zm=V¬X¡<íInnnË–-Üb/ ßÎeÓ¬Y³ü±C‡ó¨7oÞ|ùòå]»vµø‹eË–Uÿ*®ì¨ÕjÕðÁÁÁŽÌ³Uص©]»vß}÷zùä“ï¾û.Ñ;€ )‰ïÀgee™L¦²eËÞHcð¯"G÷LMM­^½zݺuJ  $s¥Aìø×Ê-€'JÀÀààpð¸x\<.€@€ €ÀÀààpð¸x\<.À­¸3à’ &Í™ºäLmV¶Æd.îÜJ­Fx{˜ý}L «Ý´.ÀçÙ,íÑ+î÷rŠ;€ÆdwjÎ<Ô%¥ëZ×ÒWõ6àÁéBŸ77²´QˆÞöÜËQÜoddÐMŸ“æè÷âÎÀ5½ân0i êhðyp憎¶w€ƒîåˆ37tu4ø!!Á~Æ{ì177·Í›7 !Nœ8!l=¼y|||Ïž=+V¬R¯^½råÊ͘1C´Ž9ÒµkWŸæÍ›W¬X±]»vp><òÍ›7}}}Ë•+™™©Þ7**ª\¹råÊ•6l˜ãg­¨T©’uz___¹ÕúË•ò}µH›6m ®^½zëÖ­eŒ·xñb“ÉäȾV¬XZ±bÅV­Zùùù5jÔÈ¢oKdøØ±cÝ»w/W®\£FBCC«U«¡$PŠN}y !öîÝ+×/]ºT½þ¯¿þ’ë7lØ`ó/:ò=æ»jHF£qúôéÊî¾¾¾uêÔyõÕW­+•f̘ѨQ#__ßÐÐPŸ°°°S§NY¤ÉÈÈ?~|¥J•jԨѺuk?????¿üý÷ßêdŽß"7oÞ|õÕWË—/ߨQ£fÍšyyyõéÓçܹsê+VQxµÕ‘ÒÈ­âÜ¿äÈ‘òšoݺu5|}}§M›fgüû7I‹?äÈÕ¦ü(áJV¯×ëF£òü-?*[F£Ñh´ŽÃ-Œ?þË/¿T?\Þ½{wÙ²ecÆŒQ'KMM íß¿¿~ý î ò qãÆF£ÑæsغuëŒFcÙ²eåÛËÆ;v,<<|ïÞ½ÊÐÁwïÞ;wî¨Q£¬2|øðéӧߺuKY“™™9þü!C†ØÏ›Éd2 êÒV2°gÏž9rD‰‡SRR^|ñÅ+VÈrGõÑäŽêøyøðáS§NMMMUÖèõúõë×wíÚõÚµkv2–““c}IXl×®]ëÞ½ûÎ;ïܹ#×deeMš4é­·Þ²8Z\\ÜSO=µgÏõÊ?ÿüóé§Ÿ>qâ„3ÙpäȾ¾¾ãÇ¿{÷îÅ‹Õ?â<|øpذawïÞ-UªÔÔ©S}út\\Üøñãu:b„ rþ_|1!!aË–-2ýW_}•ðì³ÏÊ5“'O–kÑ¢…<ÎÖ­[,„HJJêÙ³§x[ûóÏ?d/Œ   yde´6éÛo¿½víÚ´iÓ~ÿý÷‹/®X±¢|ùòBˆï¾ûN]Îׯ_úé§333=<<æÎ{êÔ©¹sç–*U*++«W¯^ò‰<ÙpüÈï½÷žüF–.]úûï¿Ë•3gΔͭK–,‘}•9kµ¸¸8ëô'OžÌ-½pîj¹xñâ‹/¾h4µZíèÑ£###><}úë«a IDATt___‹¶JG¼ÿþûÕªU›5kÖÑ£G###G­Õj ÀÔá¢3¾råJ=233u:Ýûï¿¿{÷˜ È‘5'NœøÝwß !ÜÜÜž|òI!„u/öîÝ«ŽÐd²¦M›æÖÃü‘ߣ3UC1cÆ Ù) qãÆ‹-:uêÔš5kä„d‰‰‰/¾ø¢EúO>ù¤}ûökÖ¬¹páÂÑ£G{÷î-„ÈÎÎVÿÖ9uêÔÝ»w !zõêµsçÎË—/+“œ?þóÏ?·ÎÆ#oÒ°aÃþüóO!DëÖ­—/_~æÌ™µk×>÷Üs]DaÖÖ<•†µåË—Ÿ:uJ£ÑŒ7îúõë÷ïߊŠzüñÇ…;wî´ÙsD8p“Ìwbç‹ ”tiV.]º”””tµœ={VþÑ‘#GÚL ; {{{«WvïÞ]Ѹqc‹ÄÊ0x‰‰‰rÍ_ý%@Ú¶m{áÂ%å¹sçš5k&„pssSÖGGG{{{ !BCCÌÿÜí7­ÿ­[·.##Ãl‹ò´ýá‡ÚL””$3|¸,‡íÛ·«¯[·NÝĉó—<9))ÉÇÇGÑ Aƒ‡ÆÅÅÉ èàŸËköl~¹Ž_-²Õ§0hÐ yÀ3f¨ÿД7Ò?ÿüsû¹UFy,UªÔáÇ՛d7!Äo¼Q V®4õõ`6›ããã娓²áÝl6/[¶L¦¼yó¦L“’’"„Ðh4ò°ûöí“ëM&SÅŠ…}ô‘ý3Íí{q²j(5ÔÏÏïÚµkêM/½ô’Ü´ÿ~³ª¨ÃÃó²²”dF£±Q£F²Ž++GÕ½{÷Þ¿_Y™““#¤hÖ¬™u¹Eœ9sF® HOOWRšL&Y>Be}áÕVÇKúâ˜ÍæÐÐP!D›6mÔÇLMMíÞ½{§N.\h'K¹Ý$mþ¡Ü›m]á—< €¼ÊÈÈX·nͰÑÁS‘””téÒ%ëh½D·ÀçÕÉ“'Íf³âÃ?ôððPÖ{zz¾ýöÛBƒÁ üˆPµjÕcÇŽmݺuãÆÅ’[!D­Zµd›¡ÅK³ëׯB<öØcíÚµ³Ø%00pÞ¼yê55š6mšâáÇÊÙÉe!ĬY³Ômø^^^²·¶Á`ˆÍGž»t颞äOñòË/Ë… .ø@þö'iµZY—ïÝ»'§ûîܹóÇT¤çîî>pà@!Dll¬õ0ŽÜ"Ž?.–.]*;ÈHfÕªUò§Uë³+ŒÚªp¤4¬É>ñññ7nÜPVV­ZuçÎ{÷î-®™‹ ¸@qùŸ›]ydÏÌÌ´ªG™žýÔ©S²5^áííÝ¢E‹¢Ì¡µ×^{mïÞ½²½lÌIOO—/.¾òÊ+ÖéÃÃíÇÙ— 111òùLyÐOOO—=`JóÎ_ý%›+óÄ"¸BÔ¬YS.ܽ{÷‘»+ ³ØTªT©æÍ›_»vMy¸Ïëj4šš5k^¸pAÉaNNŽžª|ùòå#WŠü>ãæãȯ¼òŠü!iÆŒ2·+W®TG5…Í™«åÁƒçÎB„‡‡[¼Ý¡C‡O?ý4O™±~\£Ñ´iÓæäÉ“§OŸÖëõîîîÎd8;;[~AÖ׉P]–ÇoذaÍš56lxæÌ™ýû÷Ë_…dÄÞ³gOÿÍ›7ÿúë¯òyÙ¾lÙ²ò…|p²j(¼uVªTé“O>±Þźj×®-¬ëòýû÷/^¼˜ñ‹/ !L&“Éd²ø]À‘[„¬Æú;òöö ‘½ë¥Â«­ö³m§4;w>sæLfffݺuد_¿¶mÛÊ~Å¥hŠ —ÿÍ^¾[n“ÒF]BôíÛwäÈ‘÷îÝ[·n à·nݪ×ë5ͳ ±^)»z !bbbdد={öÌíOÛ):7ÖCC;2ó“BF Õ«W·9¡Q£F~ùå—K—.¥§§ç{Æ£ªU«Z¯´Èdll¬ÅjíÚµ¹ªpãÆ7nØ<šù;ò’%K~ÿýwÙˆ7lذ®]»æé:É™«%..NްesXo›—«}6w‘ÏÎÎ>{ölHHˆ3>uê”|qÝf†6l¨ÑhÌfstt´¬JO=õ” à…&“)22RÑ£G9O^LLŒü*e‚Î;ÛŸÓÑ'«†,“êÕ«WªTÉÁ¿h}m[×e³Ù¼nݺyóæÅÄÄØ5MáÈ-B~;µk×¶nlB4iÒDÀ^mUs¤4¬Í˜1#%%eóæÍ)æ|°`Á¹ìááQ³fÍ *”/_þòåËÎlg“ü ÂböDEFF†úcáÕVçùøølÚ´)::ú³Ï>ûí·ßnß¾m48pàÀðððíÛ·;þ{JA)ÉÅœ÷?À7nÜxïÞ½:nÆ yj.^¯½öÚªU«;V¿~}ÙÄ—['›oö*D5oÞ\.´hÑbÇŽnnnû÷ïW¿¼ZìBCCwìØqíÚµŒŒ ë^âòDêÖ­+Ç+޼sçN9ÚùìÙ³e€:lذ´´4Gþ\pæjñôô BØÜW™ÏqÖ»˜ÍfyðÆËêÎdØÃÃCöб¹¯²R¹K—.ݱcG!Äþýûå ðrø:ñOþÈÈȨ¨(!D`` ã½f¬¿G'«†²ÉbÒ;!ÄÝ»w#"""""ò:º„r¨÷ßÿñÇW¢w!ÄÁƒót( Êà#«W¯¶ØtèÐ!‹¶ý«­K£Ñ4nÜxÒ¤IñññeË–_ÿyÊÕ#`q€ÈxùÈ~ñâÅÜú[*”žóÓ¦MSF­“6nÜØ©S§N:©ŸnÏž=»jÕªÜ"¥"£ÕjåÛ¶6lýçûôé#§³vþüùqãÆ©×œ9sfòäÉBˆ2eÊÈðO¨Úßÿ}‹.Ù?üðCppppp°2€va(Uª”\P¿Ë*TaÆðáÃÿþûoõ¦Ñ£GË™´À˃ÇÇǧ§§ç;‡²ˆ8ðã?ª×gffvëÖ-88XNläéÈ·oß~ã7„-Z´;vìÒ¥K5ÍÍ›7åDPŽü9ç9yµÈ~GŽ™;w®zýŸþi1c‚#fÏž­ŒÇ&Íš5K6É*QŸ“–ØáÇçÏŸ¯^þüy9¾··wƒ ”õ²]}ëÖ­GÕjµJ3{xxx… nݺõÅ_‡ûÏçö=:Y5Zµj%»Ù5ÊbÔôÑ£G¿ûî»ï¾û®ÅaIyÙÞ¢ÿüóO'ƒÃV­ZÉ÷ã?Þ·oŸ²>99¹oß¾Ö#Û^muÆùóç[·nݺuk‹fö *Èy,f°™%au“t>±óÅJ,àeK£Ñ8a„#GލgD·P½zõQ£F !âââ^}õÕ;wÞºuëĉcÆŒ¹pá‚^¯W&fKHHèÖ­Ûĉ{÷îmý¼XÄd‡ùÄÄÄ;v!^{í5;‰?ÿüóáÇïÚµ+66öË/¿ìÝ»·|¼ž?¾2@}Íš5Ç/„8qâDÏž=7mÚ”ššzäÈ‘™3g<8>>^¯×wîܹðΨV­Z2œøé§Ÿ¾þúësçÎ=xð@áçç÷ñÇ !’’’ºwï¾bÅŠøøø_~ùeèСK–,B„„„XÇ®äèÐF£qäÈ‘HNNÎG'Ož\­Z5³ÙûÙgŸ8q"**êƒ>¿OU®\Y^9Îgxâĉ5jÔB|øá‡ãÆ‹ŠŠŠ]¸páÓO?}çÎ!DDD„zdu™_ºtÉh4¶iÓFy«Y§ÓuëÖM![Œì?ŸÛ÷èdÕ¨R¥ŠœÒüæÍ›O=õÔâÅ‹ãããÿûßÿ>üÛo¿BäupÄN:É[Ê_|±|ùò«W¯ÆÅÅ}þùç]ºtq²)»R¥JkÖ¬Ñjµƒ¡K—.mÚ´5jT×®]RSS­Gé+¼ÚêŒúõë§§§;vìý÷ß_¼xñÝ»wÍfsbbâ+¯¼’˜˜(„xþùçíìžÛMÒùÄÎ(¹¬§†¿téRRRR^'šw„2üÈ‘#m&6l˜ÂÛÛ[½rëÖ­ê!¬êÖ­+×Ë'x!Dbb¢’øÊ•+}úô±y¦åÊ•[³f’RÝøíHþçn¿iýoݺuf[d0 „øðÃm&PS&1ªV­šÁ`°Øªülñ /¨;²*†j±‹Édz饗lEùòå###ídFip[°`E–/_n‘855Õæ&‹ÉÕ«W+›dŒj­V­Z))),«C‡©/‰úõëËõràƒ‰'Zï"‡á…Ô+£££Õ3?«õéÓÇh4æ/Žù矖+ß{ï=eß¿ÿþ[¾Ã\¡B…k×®9òçlzî¹ç„Í›7·XoýåšórµØ,ä;vXÌ%&5J6´~þùçös+ƒÏ*UªØ|k×ÍÍ-**JÞÉ ÇÆÆæÖÉeÆŒÖÙ«S§ŽÜ:mÚ4õúï¿ÿ^®÷ðð¸wïžýs”ìNV‘#GÚܽZµj‡’idQ !ôz½Åî6l›Îž=+×üç?ÿ±>šN§{á…,’[„¶ÓÂ!CÞÿ}!„:q!ÕVÇKÃfÅùù矕á'…êåÎ;§§§Ûϕ͛¤Í?”[bs.W¸#Å%?ÚÏ!È“ŒŒŒuëÖÙ ó;'%%]ºtÉ:Z/ÒxF#¡l† Êz‹­-Z´X²dI«V­”ƒ¨kµZõc™F£Y°`ÁðáÃÕOç>>>½zõÚ»wo‡”•=zô Òh4/¼ðB! MÿÈóU8p \xùå—í¤òÉ'wîÜÙ´iSe··÷˜1c-Zdý׿ýöÛ±cǪ›³*T¨0`À€Ó§O?ùä“v2£”ª’ëub››V®\ùÞ{ï)]ý5-]ºtÒ¤Iê¡¶ÜÜÜúõëéÈØøaaaëׯWæ»¶¸$l–žÍM-[¶Ü±c‡úªÐét 4øþûï·lÙb3"u$ùÎ;2ܪU«ÖôéÓ•”+V”#‡¥§§¿ûü9›r+ ë/Wäåj±yØ=z¬Y³& @YS¥J•… ~ñÅv¾›¹4iRDDDHHˆr‚ 4X¿~½|½ 2ܤI“]»vuíÚU]ŒuêÔùòË/'Nœh=¥uÝbâºîÝ»Ë#<þøãžžžöÏQ²ÿ=:Y5.\8mÚ4õØãÕªUëß¿ÿñãÇ•éåmÞ9Õ›Ô ,X°`2‘»¢I“&;wî”}°ÕÉÇ-bìØ±GŽ>|x—.]üñ¡C‡îÝ»÷›o¾±ymRmu¼4lVœ^xáØ±cÊ·Ÿ­Õjƒ‚‚f̘i=¡›7I›(·Ä¢pnn ÄÒX¿ž™™éææVÿƒ¿wï^NNŽ———ò6 ƒáúõë¾¾¾vâó¬¬,›ÛôsŒ‡õÊÚöuëÖ-·Ö<ÇM:õ“O>BÄÄĨãs)55ÕÏÏO±|ùò7ß|S‘––võêÕ2eÊÔ­[WÝìcÍ`0\½zõöíÛ~~~E?uœÁ`ÈÊÊ2™LÖ£gÆ”””[·nyzzÖªU+·ö";²²²²³³½½½í—À#¥§§_¹rÅÍÍ- ‡²“ ûG–`ÝÜܬ'—›´Z­õ^uÖ69sµ˜Íæ”””7nT®\Yéñ›o·oß¾|ùrÕªU«W¯nçPN^ÞwîÜIJJ2 U«Võóó+ÔÉð,Øù¬ÊîXåoܸ‘’’R£F"˜‰³_¿~›6m °9S]áÕVg˜L¦ÄÄĬ¬¬€€€¼~_vn’N&v‹K^ífæ“ àdffîÞ½;©LGëM/6ËÎÓ¡L&“Á`°3])€/v…À߸q£~ýúwïÞíܹóo¿ýfÀ:€•––&û2´iÓ&""B½)))©iÓ¦™™™#GŽüꫯŠ)ƒÿ ð¸"àÿ§æwE‡Š‹‹[ºtéÝ»w…Ê0]ð¿ªråÊ^^^ûöí;vì˜V«0`@‹-´a²zg0©LÇbÈ Àh5w¨;Ò¿€·Cþò Iø<ð÷1w®¤Iø;;Ûh4úøøØL£IKKËmçÌÌÌììl777www›ýŒF£^¯7 ¥J•*_¾¼F£±™,×^Òëõ÷îÝËÉÉ¡)€§ÑhdŸy///›=çÿ/¥ý”¶ß% <.€@€ €ÀÀààpð¸x\<.€@€ €ÀÀààpð¸x\<.€@€ €ÀÀààpð¸x\<.€@€ €ÀÀààpð¸x\<.€àÿµwç5^‰ÿÇÏ]BV 2±¥R[ÒÒ(»0ýJ·„¢AË ck}ÇP ­iÍXº¨­ÅXJ©*ZiíDKIP±ÄÒ%‚h‚ÜäF"wûþq~}~ÏÜ{s…&‘[ï×_Ï=ÏyÎ=Ï |žsžspz×§-KII‰Ùl¶Ùl•Ó!*Z­V§ÓU«VM§Ó¹¨Vj€·ÙlÅÅÅ&“I«Õjµ ÔP!l6›Ùl6™Lz½ÞËËK£Ñ8­æ<ÀÛl¶Û·o[­VN§ÑhJ»üv6›Íf³Y,–ÂÂB§1ÜùÐzQQ‘Õj•cï¤w*”F£‘Üf³9­ã$À›Íf³ÙÌÌy*“Lâ2•;9ëXTRR´y*ŸÌã%%%ާœx9yž@%“Þb±8žrà+¾KÀ Fãt+wÞrÀ àpxÜ7@€À àpxÜ7@€À àpxÜ7@€À àpxÜ7@€À àpxÜ7@€À àpxÜ7@€À àpxÀ]]¹reÁ‚»ví²Z­º/*œþAwà¿äääÌœ9S7kÖlÔ¨Q¶?xH$'''''gee ŸÉ“'7oÞ¼Œ×Z,–‚‚‚€€€ßÒ£ÑèááQ½zõ²_’Ý©S'³Ù,„1bÄ›o¾ù[:PšuwUl€ŸpàÀ¢E‹Ž?~óæMFÔ±cÇ1cÆ„††ÞõÚ/¿üR¦w!Ć Ê7À?ð»àH“››kW”ŸŸ¯Óé´Úr˜]ߨQ#%cÜÕwß}g2™zôè!?¶mÛvãÆ¿½p_—.]š?¾< 9rd¹ERRÒèÑ£í ?ùä“èèhW:ujРA7oÞt<¾fÍšÀÀ@×ßkµZ>ýôSÇSæ_ÿú×àÁƒ]·pôèÑgŸ}V÷ìÙsÙ²e®ë—]U¸;àafµZ-K5ìÊ«Öz@-;;ûóÏ?—ÇQQQà<¨‡‡‡=ºY³f5rqÉÅ‹û÷Ÿïôì™3gú÷ï¿uëV×3ƧM›æ4ß !l6[BB‚——W\\œ‹Z·n=}úô76mÚôÕW_uQóžT‘»à¨b|hhhII‰ò1''Ç`0Ècooïúõë«+{zz–}¾=P.._¾¬5ê¹çž»ë%ÿüç?•|«×ë{÷îݾ}û¯¿þ:%%Efdd,Y²dìØ±¥µžžþÉ'Ÿ(6l8`À€¼¼¼õë×ߺuKù–?ýéO¾¾¾.zòòË/¿üòËwíð=©:wÀNÅøíÛ·«?Ο?ÿ½÷Þ“Ç={ö\¸p¡]ý‚‚»›ÍvöìÙï¿ÿÞh46kÖ,**ªvíÚN¿Ë`0ìܹóòåËyyy7þãÿXöu³râÃ7k IDATrrNŸ>}öìÙ¬¬¬Zµj5jÔ¨C‡AAAN+§¥¥¥§§ÆàààvíÚÕ©SÇ`0;vLžmРAÓ¦M…ÙÙÙ?þø£,|ä‘G7n¬´póæÍ“'OÊã:uê<öØcv_‘žž~âĉ+W®…†††‡‡‡††zyy©ë;vL>Ñh4;vÔétgÏž•o"ÄÄÄ4lØP©yäÈ‘cÇŽ]½zÕÃã^½z;vlÖ¬Ù]“²·òäÉ#GŽ\»vÍb±Ô­[·eË–O=õ”‹–ïZßh4þòË/êt]XXxáÂ!D5î:…»°°p÷îÝ—.]ÊÍÍ îÑ£G­ZµÔu.]ºd±XŒF£Râáá!¿"$$D§Ó9mùôéÓêÕ'N”3ð‡:zô褤$YþÑG1¢´×ÅçÍ›§¬_»vííÛ·Ë(Û¿ÿ^½zÉS7nÜX±b…‹œœŸŸŸ––&[´h¡>k2™~úé§³gÏþøãf³¹aÆaaaQQQ¦´«ÔÝpT¥§ÐgeeÅÅÅ]¹rE) ˜9sfß¾}íj.\¸pÞ¼yÅÅÅêÂ5jÌ™3§wïÞ®¿¥¤¤dæÌ™ÿùÏl6›º¼Zµjƒ úÇ?þ¡Îr/¿üò¡C‡”OOÏñãÇ7oÞ|È!²dàÀï¾û®bÛ¶mÊÒb¯¼òÊ;ï¼£\•šš:bÄyüôÓOüñÇÊ©ãÇ¿ýöÛ‡¶ëg@@À¢E‹:v쨔$$$(O¾ýöÛ?ÿùÏòcƒ dÀÎÊÊ6lØ™3gìZ‹ŽŽ^¼x±§§§‹_¦,íçää 6Lyx¡hܸñÒ¥K”±þúõëßzë-u…“'OvíÚU“˜˜è¢ÛË–-{÷Ýw Õ…ÇŸ2eŠRÒ­[7»”EwíÚæ´ñ={ö(ÇuëÖ6l˜òqâĉ[·n•mÆÔÔÔÎ;;¶`2™öíÛ§||õÕW•è°°°ØØXeÇ={ö¸ˆ¸Ç—Ç]ºtQOYOKK;vlff¦Ý%Íš5›={vÛ¶mKk³êÜGUwx£ÑøòË/«Ó»"//oܸqçÎS._¾|öìÙvé]‘ŸŸ?zôèï¿ÿÞõÅÅÅ-]ºÔ.½ !JJJV¬X¡Ž|6›íµ×^S§w!Dqqñ¬Y³J{ã÷^&%%M›6Mk4š:ÄÇÇGDDÈ’’’’áÇ+óØ8qB™‡ìéé9räÈiÓ¦ÅÄÄ(Ö¬Y£,Ç=oÞ¼;wª/WfeÛ½,pßfΜyûömyгgÏ®]»*¿€Ùl^±b…Ó 3QQÑ!CΟ?/?ÅÆÆÆÄÄ(#¢ÉÉÉ“&M*cÇÛ¿}ûv||¼ú· –ïHׯ_ñÅùå—û¨_½zuooo½þ¿fˆx{{{{{Û½G ¶yófõÈÈHooo¥$11ñ£>’Ç~~~êSB½^/¿Âî{ÕÔ³ú4h`wV½¬ƒºfi-Ô¬YÓ®ê,˵k×JëIi>ýôSå¹L›6mÞzë­1cÆ„„„È’‚‚õ ê.úV5ïx˜Ué)ôM›6]²dI“&M<øÏþS™Î}êÔ)y`³Ùf̘¡ ž+ÛSÙl¶ &Èɺ………[¶l)mFôîÝ»•ãÉ“'>\7hÐ@ÉêrìQ|}ôÑeË–5kÖìÚµk“'OVÏ=þ-._¾\§N!D5V­Z%CÔ¹sçºwï.o3--Íh4:]ý«gÏž#FŒhÑ¢…ÑhôóóÛ¼yóñãÇå©ÐÐÐõë×ËÇ §NêׯŸ\nàË/¿œ={¶‡‡GYúæØþ‰'”³}ôÑ3Ï<#„HMM0`€ÌYYY+W®œ8q¢âžê4hРA©©©ÊZåQQQÊìk§ä?åíëV­Z}öÙg¾¾¾wîÜ=zôŽ;dùܹs‡êëë+;3xðà½{÷ÊS+V¬³ô]P–aÿGKœnÃv×êÖ­«Õj•»(­‘Ò”””ìß¿_lذAî9pàÀáÇËÙqçÈ2öíßð«º#ðBˆÅ‹7mÚTŽ«¿òÊ+Jyff¦L³'NœÈÊÊ’…áááÊæÒ&!!A©¯äXGÊp·bÓ¦M?üðƒ<ž2eÊÞ_Éô~ãÆœœyV«Õ&&&ʶëÕ«7þüºuë–Ç‹}ûö9räÈ‘#{öìQ†@›6m)Íf³\hÍNttô’%K¢¢¢üüüêÕ«çëë»eËåìĉ•É-Z´PÖZ7™LN'Ø—¥ýo¾ùF9'Ӹ⩧žR¿Û¬tã^ëß«cÇŽ)/\ètº ÈÇÕ«Wÿý÷ýýýå©âââû~Úb6›Õ³¾×8”_¤¼¼<§¨Ë[ÐëõêÅöJkÄE•}òòò–.]*—” Ùµk—ü÷üïÿ»´k«øÝ¹ª;_«V-õhÑÑÑFæv“Éd±Xôz½2?\qåÊ%ÀÛqà[·n­®öÜsÏÕ­[·uëÖ‘‘‘ÑÑÑêqûÓ§O+ÇÁÁÁ?þ¸òÑßß¿K—.ÊŽå¿\ÓþìÙ³·nÝÊÏÏ/((¸té’rÖñu}!DLLŒÝÂéêgÑ¢Eê·ôÕ‹?~¼eË–wí’cûêçݺuSŸêÚµëܹsåñÅ‹m6›F£¹×úwí’uû!!!ê½ÜkÖ¬Ù²eKåµí‹/Þkã’^¯¯V­š’7MPvIBØÍwZîtÛõì¥5Rooï°°°³gÏÊÓ§OŸ5kVDDDddd›6mzõêåb_†ªwÀC®êø?üáê:ÎnÑ5eH\‘ŸŸ¯Ì…¶“›››››ëtï±>}úôìÙSýf{vvö–-[¶lÙ2cƌ޽{O˜0Aîñ¦~yÛqqõÒ¦èß«[·nÍž={ݺue_^®´¨ef£2ŽÀ»n_½Cž¢I“&ʱÙl¾uëV­Zµîµ~YzUÆþÈ%À+¯å߇š5k^¿~]_½zÕ¤fÍš¥µà´¾tãÆ %B»hÄ…3f¼ôÒKEEEò£ÉdJKKKKK[¶lYPPÐØ±c_zé¥Òv€«úw<̪n€/ ù~¯äååu©O±téÒU«V­^½Z·”l6Û¶mÛöîÝ»cÇŽFùøø(§Ôï%Ç5ð]s:Šn6›ãããÕ/Š !4¯¯¯ã`¦Ç!kõS¯^=õG5enù½¶ïáᡤD»ÛWÊ%ïµþ½R¿ÉïøçP—Ü_ûRPP‹ˆ›­Û=rZ~ýúu‹Å¢žÚ`·®[i¸Ð¶mÛíÛ·Ï™3gÇŽvÿPùå—·ÞzëôéÓï½÷žÓk«þÝ3÷ðê—r{ôèQÚ˽®iµÚ¡C‡:433óðáÃ?üðÃÎ;•¬R\\¼fÍš)S¦ÈqxÉq#.»ðïÈn%|§»|íØ±CIï~~~“'OîÖ­[ƒ t:]ll¬ÝöuwU§N啿O?ýÔqÖÀo¤L‡>þ¼zwqõì}///ù.ú½Ö¿þ8mбÄñÝì²k×®²˜âþ÷ÿW9UTT¤ìh „(m»õ6mÚ( ¹Y,–C‡µoß^9{ðàAåø‘GQÿ /»F-X° ¸¸8--íÈ‘#üþûï•¥ãÖ­[÷öÛo;¾îw<´ªô"vw¥Õ©©©v¹iii))))))GŽ)­…ÌÌÌŒŒŒŒŒŒsçÎ5lØ066vÆŒ)))ê «åÎX¡¡¡Ê(tnnîºuë” gÏžµÛ^Nª]»¶r|èÐ!%N[­Võê÷Šôôtåø¹çž2dHÆ u:]QQ‘ݰ|Y¨»— rssS~¥Œ¸Þ+õ*ëÖ­³X,ÊGõûöÊ–~÷ZßÎ]·ˆW_xíÚµäädåczzºzóù-Z¸nÊ….]º(Ç)))ß}÷òñ?ÿùzw¥æ;wRSS•)5kÖTÿ³gÏVŽF£²Ëâ®Kâ;2¿º}ûvûöíÇ·fÍšääde†‚ÍfS–~t¯»rîàCCC•圜œ‘#GÊu­M&Sbbâ3Ï<Ó¯_¿~ýúýë_ÿ*­…‘#GvïÞ½{÷îÑÑÑJŒÔh4êãO>ù¤ÂÇÇGÙL[ñæ›o.Y²$--íóÏ?ÿóŸÿìt ýO<¡›Íæ!C†lܸqß¾}ãÆKIIq¬¯Ü¿¿ŒÖ7nÜ(­}×úöí«Ïš5kçÎr\433ó…^è÷«Ÿ~úé^[–”eä…GŽ™:uêÏ?ÿ|õêÕ÷ß_½à¼Rí^ë‹ÿ^äìêÕ« ,¸xñ¢z)5µF©£ãßþö·]»vÆýû÷7NYS 00°C‡÷wËBˆ.]º¨—Ç{óÍ7wíÚUXXøù矫'€ôîÝ[ŽóïÙ³§uëÖqqq‘‘‘[·n•g‡ªÔüᇦOŸž}öìÙ¿ýíoÊÎj楗^º×î»páB» ?ýôS=äqXXØ®]»Ôg5j¤Ä°ŸþY¯× !ÒÒÒXXX(Ë5Í#<’­^+kÍš5;wvÚ¥•+WN:UùQ¿~ýsçΩ—4?xð`pp°b×®]Æ súúºÚÀß}÷]yébÛméé§Ÿþøã…çÏŸ·[ž=00ðÆvßøõ×_·jÕJ^¨LxÞ²e‹:¾ !¬VëØ±c“’’”OOOõ{Û¶m7nÜè¢c.ÚB¼þúëkÖ¬qqkÑÑÑË–-“©û¨_XXnwû111‰‰‰N/?{öl¿~ý\lNV­Zµ•+WvêÔI)Qï¿zõê² oÛ¶í/ù‹‹ z½~÷îÝ2$0àûï¿—åmÚ´Ù´i“Âjµ>ýôÓ§NrÑH¿~ýæÌ™ã¢Â¾}û $»té"?™ÍævíÚ)ëùùûû·nÝÚl6>|XyÔ¿ÿ>ø Šßð0³Z­‹¥Fvåî=/„ˆŒŒ\ºt©²,™ÍfËÌÌTÒ»V«5jTié]ñ /¨ßæMOOß±c‡’Þõz}BB‚LïBˆ?þñãÆslÄÃÃC=å^mΜ9êÅÕñññŽ…Mš4Qvh—rssm6›¿¿ÿ}¬r¯ÕjçÏŸ­” uzoܸ±‹¹ e1sæÌgŸ}¶´³QQQ‹/VÒø}Ô÷ññQ2jY<öØc«V­*íz½^¿hÑ"uz¿?úÓŸþþ÷¿—vV¯×'&&*CÜê©Ê[èZ­véÒ¥ 6,­‘¨¨¨éÓ§ßGßôzý”)S<==åGƒÁœœ¼oß>%½GDD¼öÚk.Z¨Êw<ä*5À«Gõí6/K¥D«Õª“C§NV¬XѦMuåêÕ«·nÝzÆ .ºäçç÷Å_L:µnݺêrŸvíÚmÚ´iÔ¨Qêò &Œ?^ý äñÇÿì³Ï丣èèèÿûßÍš5S:ìååõÖ[o©s©úNçÏŸ?nÜ8ug:uê´nݺÐÐP¥Dù•Ô:1¡×ë/^üÊ+¯Ø-5_§N‘#Gnß¾=<<Üi·ËؾV«;wî¸qãì¶èóóóJÉðáÃåþ^^^ê‘íààà 6ÄÆÆªX!|||FõÉ'Ÿ¨w=pª´ÿ,±±±Û¶mëÔ©“ú‡Òh4 65jÔæÍ›]DëªswUêúŠ–“““•••——âô r0ƒÁФI“àà`ÇÓf³ùÊ•+ƒ!$$DfãÕ«W¿ñÆò¬z ½âÖ­['Ož lÒ¤IõêÕïÚ™k×®åçç7hÐàþ–d·SRRréÒ¥ììlOOÏÐÐÐ2nWvf³9333;;[£Ñ†„„¸Þªí^ëK%%%ÆéŒG7oÞÌÊÊ2 >>>ÁÁÁ¿eåùÒX,–´´´‹/È¿lóæÍ«Ý¾}ûĉNÿ”×®];uê”Ü_íÑGmÙ²eyýu¬VkVVÖÏ?ÿìççv¯™¹Šßð;VÚúßU€€îà(‹ßí;ð< ð¸ýÝ«  š5k+ÕËÚP.x€*„wàpcxÜ7@€À àpxÜ7@€À àpxÜ7@€À àpxÜ7@€À àpxÜ7@€À àpxÜ€þAwà!rðàÁÝ@jß¾}Å5N€¯T½zõzÐ]Tˆ;vThûøÊæïïÿ »(gƒ¡¢¿‚wàpxÜ7@€À àpxÜ7à–ûÀŸ>}úðáÃZ­6>>^£Ñ<èî”›ÍVRRR½zõû¸¶¸¸ØÓӳܻ¨:*pþòåË&L˜0aÂ×_í¢šÙlž4iÒ„ /^\Æ–÷îÝ;uêÔ„„‹ÅR=}JJJ.\øÄOøøøxyy…„„ 6ìÒ¥Ke¹öÔ©Sýû÷oР———ŸŸ_»víV¯^mµZ+ºÏ€ÊW#ðAAA[·n-((8yòdß¾}K«¶wïÞµk× !&L˜Pq©šŒFc=:¤”dff._¾|íÚµÛ¶mëÚµ«‹k×®]¯Äu£ÑxøðáÁƒþùç7nÔëÝrn 48_½zõ˜˜!Ä™3g~úé§Òª}ùå—BFWq©š  Ó{XXXbbâÚµk‡ "„(..~æ™g.\¸PÚ…:t¨ÕjÕét£FZ·nÝܹs6l(„HJJ?~|¥Ý rTì"vJ&—)ÝÑíÛ·wîÜ)„h×®]ppp…v¦ªÙ»wï7ß|#„hÚ´é±cÇF5`À€•+W&&& !òóó§OŸ^Úµ &“I±hÑ¢ÄÄÄþýû¿öÚk'Nœ B|üñÇçÏŸ¯¬ûT†Š ðmÛ¶ B|õÕWN+ìܹóöíÛBˆ~ýú©Ëoß¾‘‘qæÌS+ŽÅb¹råʱcÇ._¾l6›+ô»ìÌ™3GÌš5K½ݨQ£ºté"„X½zuNNŽã…GýöÛo…­Zµ6l˜Rîïï¿hÑ"!„Ùlž?~…vPÉ*|¹ØØX!DffæÑ£GÏÊ‘yOOÏÿùŸÿ‘%ûöí‹‹‹ ëÞ½{¯^½ÂÂÂúôé³aÃ×ßrüøñG}ôÑGMII±;•žž.Oíß¿_]n6›ßÿý'Ÿ|2***&&¦C‡-[¶œ>}ºã#£Ñ˜ššZ¾ æY,Ÿzê)ù©1BöPÖ±³{÷ny0sæL­ö¿þ‚ÑÑÑÍš5S×ü>TF€—;½9΢ÏËËÛ»w¯¢wïÞ¾¾¾Bˆƒ2$55U©c2™ÒÓÓÇ¿`Áßbù•ã(ºEE]þÆoÌ›7ïÆJIAAÁâÅ‹íÖÒËÎÎnÓ¦M\\œcÌþ-Ž?žŸŸ/„èØ±£ãÙ'žxBìÛ·Ïñ¬RØ©S'dz­ZµBœ>}úæÍ›åÕ[ÀWá¾aÆmÛ¶B$%%ÙEèo¾ùFæm9>77wôèÑf³ÙËËkÆŒ;wîܾ}ûäÉ“ëÖ­+„xï½÷òòòÊ«W ,øì³Ï„;v\¶lYjjê²eË:tè „Ø´iÓ| ÔLNN.,,BüðÃ×®]+¯\¾|YÈW ì(…™™™¥][³fM??¿Ò®µÙlÊW~*<À‹_—²ËÍÍ=pà€º\ŽÉÉ‘äË—/GDDtëÖmÞ¼yƒ~ì±Çš7o>f̘1cÆ!l6›z»µß"''ç½÷ÞBtèÐaåÊ•={ö¬_¿~Ïž=—/_.‡¾.\xçÎY¹{÷îrv@›6mêÕ«W.B(ÃãN¼¯¯oÍš5…·nÝ*íZ§ !äZô¥] pS•àûöí[½zu!ĦM›”Âk׮ɩòÏ?ÿ¼N§BDFF®ZµjÕªU}úôQ_++¤§§—KŽ?n³Ù„¯¿þºì˜äíí-˜Íæ3gÎÈÂ:uê>|ø«¯¾ºë{ø÷Ä`0ȃ 8­ ËN:׺¾°´knJ_ ßáçç×»wïÍ›7oÛ¶mÖ¬YÕªUBlÞ¼Y¦h»õç¥+W®äæææçç †‚‚ù}y­âÄ y`0¾ûî;õ)9[^qòäIåEt__ßÖ­[—ËW+¼¼¼”>8­ ËÕ«Ó«¯5 ®/,íZ€›ªŒ/„ˆ‹‹Û¼ysAAÁîÝ»å»ÜX.""",,L©–ýá‡îر#77·â:£ø!C†”VG¯ r†¼(å-w³Ù|õêUu5»k³³³^¨nÐéµ7UI¾K—.øÃrrr¾üòË>}úœ?þäÉ“â××ã¥ÌÌÌgžyFY>00°víÚþþþþþþ;wî,ÇÎÈ‘­Vûøã—V§N:åøŽåÓ~õêU¹àŸRÍñÚ+W®X,ùršÒ Óknª’¼N§{þùç/^¼{÷n£Ñ(—¯ÓëõÏ>û¬RçÃ?”é}øð᯾új­Zµd¹ÅbiÚ´içÏ—””Ø•¨7Š“"""öìÙ£Óé¾øâ‹5ϼuëÖZ­Öjµ^¸pÁñìÏ?ÿ,ž|òIdzmÛ¶Ý·oŸÅbÉÌÌlÔ¨‘ÓkkÖ¬Ù¸qãòî5ੌEì$9Ø~çέ[·ÊùóݺuS§¤¤!j×® ¤w!ÄÑ£GïšÞkÔ¨!²³³íN?~Ü®¤eË–B“É”––v÷òÛÈnlÞ¼¹¨¨ÈîìúõëåA—.]¯U ×­[gw*;;{ÿþýBˆN:É…¿•àÃÃÃ[´h!„øàƒä(±zþ¼Âßß_a2™Ô£èf³yñâÅwm¼qãÆÞÞÞBˆ-[¶¨Ëùå% +”™óï¼ó޲j´aÆèèèèèèo¿ýV)šT´Jy]»v•Çvóç…Mš4IJJêØ±cõêÕe‰‡‡Çðá×-[&—šSV\—Z­Výšwddä’%KZ¶l©do__ß7ÞxcÒ¤Iò£:Ój4š9sæüõ¯•óö%ÿ¾}ûîÙ³§sçÎJaŸ>}ÂÂÂ4Í‹/¾XîKÓwîÜyûöírž¼Åb‘é½Fïfl{SIDAT¼ó΢E‹d^x!""B£Ñ 6L¦wù |öÙg&L¿Lqq±Lï;wNNNŽˆˆ(ß~8ã«ÝƒA¯×?À!\³Ù,_’ ±¥/‹¢¢¢ .Ô¨Q£Aƒw½ ³Ù|íÚµ¼¼¼   ùÜh4úúúÞkOìèÈPÞê+Ùt-6êÊÚî+X¦½Ånï|gÇõÝNK~ñ«ùÓp¿¹ø’o_ï/çFõþòþuœºÇ†¥¹[x!†w7f̘í¾U”u‘Ž=³ZâËLg ¶ÖeˆÜrG­iìÈ!Þ¿Þ_Îëýåüén Ó-o°…™ÎR$Ô²i7wÓ’7d.¾eº€ÀVNtÔùµ4TæãÌ–„ÙÎF=sFõþòþuU!ˆë¯fcSjª\BGÊ·âx©çmÛR¶°šÖ¸¹ be%[’7mÚ8'ÚKegÝnžÕ¤"[›hçXcª1ï]OÚ£ôoʵGèß•W29¬„º[Y ˜¼°Ê Æ:Ò²eÑuK˜Ò BÜÛ‡F*–ø )ÏñšÚûT~ùRý©fü«ž­ UeÍ/Í£XVœ¢A«È2_ªÿèB²üKá×ñöJe0ÃÊDlI2áY8êµ® 7P<2 6·]¼‡ÉOùù¼ÿ¾ë~ddp·?/ÛQais½ us¿hUŒs’yîy«šOƒï­¼S©ui(`ëökÍ©na<°ž^Yr Æà9é‘Ï]ä§üüÞßty)ÿ?7Ÿ÷Ý h,3WŠå¤´šÞŸÊrY“Çš«e¡s®Ç{ubÖª–ífPÀ’F0ö«¾JÏÍçý÷G’Ÿóóyÿ}×+ÃÅÔöœÏtí¥®¾WüMÕf¡Ëo"¼ò5Kÿ\ÏòZÍñ^‹«x‚Dµ·X-í¡Wu¸i›s³FWnÐ87'=;V¨±·àKwæ‘‚Ûûqþ¥òSþ~o?ïºêæF C¼ð¥u‰M´Ví#Ÿì«k¿.8r¨7+ùdg(O >÷®}æÒS¡5¬@™D3î9»¿Zo’Ÿóóyÿ}Ñä§üüÞßu3åœÏAÅòÉIt2.£Õo­á³þÊ’$Ica#\)À»š½â¶õÓü*Ï’Ÿóóyÿ}ÔSX[\móe»m§+—èk*4£Jï™»÷·OD*TsIZÃõý>mOJ6Öå†hŸç8Yè r:ï‚õ-ORÔ³hw•ošB&(bÙör1÷3Îsl×aä§üüÞßty)ÿ?7Ÿ÷ÝoÌ¿¯ëÈÈÀÑ<t}}o ‚ÖD“äCÁòÙcظÇ@UŽ: ç¹­M/cÔa»µ´k±2íYá³ÆsÔTÞJÏÍçý÷G’Ÿóóyÿ}ÖU ªÁE»ZÛyN~ÎWJåm&ÆÕ¯/n­ÙeŽ5 Ò$Œçè9£JÿÆ£þ÷þÌÕgÉOùù¼ÿ¾ê(ìmâ•äŽ[µy>ñß×üæŠP(ò§}ÿB¤Üåvs—~Ö¯­/´·ŠÒ+I/e¼K‘9g|±e]»FÞq““Æxæ¨Éà}Nh™‚Î9~Ð’]%ÿH 1òcfp:›«¶òSþ~o?ïº<”ÿŸ›ÏûîµRD §ZO‡â´’ÚÚÚd„Çå[ŸÝƒŒqÀàõ¬k˜µi´gÓF“ Ìa†á~özžz{V×’Ÿóóyÿ}Ñä§üüÞßu͈¡îîMhÖ–Ùú¦mJ³¦¬•ú•¼@¥tˆÔõ þ:ÔÍCþ݃L…À0Ct³L<ÆBT# óœ‘ÜTóØÛÜÇåÍ-Û®s‚ÿçÖ¥ 7Ÿ÷Ýts#ƒÕ|ª8šÚÁmÍ¡žI­·\ð¹Û†.ÈÌßw #ëé³¥x&;K­.k«K) ¹¹’sÅä‘ÁFär@îzv®ÉOùù¼ÿ¾èòSþ~o?ïº|è¦7„4il'Ô.'W %6ÖbDÚËn¤>…™¿ Uû¿í ]V{‹k¹YB‘(P1× šµä§üüÞßty)ÿ?7Ÿ÷ÝcZšª’½­­×ü÷4§>Fݯr Úæ{-Ì žàȈ΀9#éLðïüzÜ×Aÿ Š³ä§üüÞßu6öÊVnÐ1Éûôª¥Ó‚‚bœœåÌÎNo ëÏisomokiføb·fXæùòÌ›ã>QÀôaÏAŒÕ]3À:…©Î b6‚ c)†GU"M¡~Q’7.8+»òSþ~o?ïº<”ÿŸ›Ïûî´æV±=nSð•Õž…º€?Ú7gíD®âý(ü*0u;9ncM2Iã–Wbë:”ôÆO´<”ÿŸ›Ïûî%?çæóþû¬+ÓUZwjÝ­ú¦]*žÍ5kÜ«mk5Ÿ„ …Û*Á&åÝœg'üj :][Á7z|%D—Kï$Xõ#‘Wä¶ŠXÚ7žð£oê $VÃŽ9ïFpúœÖ”Ôa²V&Rr““ês:ÿâ8£ÒÅÆÞjKu!2ñ››vAê9èj„¿·ò%³ÁRúuÕÙ‘$9“«y``oVn2?î<”ÿŸ›Ïûî%?çæóþû«æDØãü7àÝKIÖ¬.e¶±E†-³J²y‡î0TñžÍ‚;fºÍV;¡wisml×-ùEp§'ëÛŠ“ÉOùù¼ÿ¾èòSþ~o?ïºÎ´Uhr·oøåÓ›„¹ŠšlWók’_]Y5²›a (l¶sÀJŸñû}ÿ]‡þ€µ7’Ÿóóyÿ}ÔbÊîÂkÍÎrÇSŒ *iÓTáÊúëÿ*MÍÞÖE7ì°ÿÏ{Ïûî²Ãÿ=ï?ïºv$uß²Ãÿ=ï?ïº>Ëü÷¼ÿ¾è°¢›öXç½çý÷GÙaÿž÷Ÿ÷ÝÔS~Ëü÷¼ÿ¾èû,?óÞóþû¢À:ŠoÙaÿž÷Ÿ÷Ýe‡þ{ÞßtXQM–Ï»Éÿ¦•^Ùo/`23¤2(Bç'A<Ñ`,Cÿò׿þÌj;›Ëk?+í7ÃçH!ÌlosÑG¹Á©!ÿù?ëßÿf5‘â#ûj+ vMÐ¥×™)Î /–à0÷ ËM$íqÐÍÈÁ"È#sì9Úè>â¤*Àd©ÇÒ¼¾ïÃ^*xÙM¾ë…¹’xnmåŒåÆË€UAÂŒä‘V¡ð~± ŽxL±^-üÓvHY ¯½±œ}Ÿ—¬­qžµ‡U?•bøÕmìüÉ¥Šr<։жÀ¤žG=«œÐ|=¨ØÙ»µÔ¦™§·yK¸‘7+|Ò©ŒäúØÜ01]‰¡k«{;t <×>Z“Ó,Œ:i+‚ Ó£ðö¤²õ V,Œ·sKØÝÆTúÖ’øwKtÞºë.Ü/˜Œ‡¯zǼðο¨ÚBÓý‚`·KAs3,±îRùÇò“°c qÏ<ðiž»µ·Óáš[q³ ÄϽ†H”v“ŒœV¼¨WfÌ~Ó&y-BöFŒíp·ÌJŸCÏ'ü"–_ó÷¨ÿà[ÿfx;Âsøzêi.Q^S—ö•¼y<á»91•Oü ¾µØQÊ‚æü"–_ó÷¨ÿà[ÿðŠYÏÞ£ÿoþ5»EAs þK/ùûÔð-ÿÆøE,¿çïQÿÀ·ÿÝ¢‹ ¹…ÿ¥—üýê?øÿãGü"–_ó÷¨ÿà[ÿnÑE\Âÿ„RËþ~õü ñ£þK/ùûÔð-ÿÆ·h¢È.aÂ)eÿ?zþ¿øÑÿ¥—üýê?øÿã[´Qd0¿á²ÿŸ½Gÿßühÿ„RËþ~õü ñ­Ú(² ˜_ðŠYÏÞ£ÿoþ4Â)eÿ?zþ¿øÖíYÌ/øE,¿çïQÿÀ·ÿ?á²ÿŸ½GÿßükvŠ,‚æü"–_ó÷¨ÿà[ÿðŠYÏÞ£ÿoþ5»EAs þK/ùûÔð-ÿÆøE,¿çïQÿÀ·ÿÝ¢‹ ¹…ÿ¥—üýê?øÿãGü"–_ó÷¨ÿà[ÿnÑE\Âÿ„RËþ~õü ñ£þK/ùûÔð-ÿÆ·h¢È.aÂ)eÿ?zþ¿øÑÿ¥—üýê?øÿã[´Qd0¿á²ÿŸ½Gÿßühÿ„RËþ~õü ñ­Ú(² ˜_ðŠYÏÞ£ÿoþ4Â)eÿ?zþ¿øÖíYÌ/øE,¿çïQÿÀ·ÿ?á²ÿŸ½GÿßükvŠ,‚æü"–_ó÷¨ÿà[ÿðŠYÏÞ£ÿoþ5»EAs þK/ùûÔð-ÿÆøE,¿çïQÿÀ·ÿÝ¢‹ ¹…ÿ¥—üýê?øÿãGü"–_ó÷¨ÿà[ÿnÑE\Âÿ„RËþ~õü ñ£þK/ùûÔð-ÿÆ·h¢È.aÂ)eÿ?zþ¿øÑÿ¥—üýê?øÿã[´Qd0¿á²ÿŸ½Gÿßühÿ„RËþ~õü ñ­Ú(² ˜_ðŠYÏÞ£ÿoþ4Â)eÿ?zþ¿øÖíYÌ/øE,¿çïQÿÀ·ÿ?á²ÿŸ½GÿßükvŠ,‚ælqØG¼M#*¶wHåØôêMUƒþBº§ýuOýV”ßë“ýïð¬Ø?ä+ª×TÿÐg!–!ÿù?ëßÿf4êl?ñÿ'ý{ÿìÆRö@U_W²Ð´ç¿Ô$híÑ•IT,rNëSµíœsE ÝÛ¬Ób¥PÎM œŸÂÔrÇ´O:£Ÿ|{Î0Þ¿ZŽ;ë9•š+Ëi_Ëb“)¿ºpzûu¬ý~®™ щ"{Ô„d0Áâškí«ÿ=#ÿ¾ÿúô}µç¤÷ßÿ^¸áy¡›–³&øÈ+u0’ü3°mª@RJ±§×A§hÞÕ4ë{ë}*ßÊ®è°F{ëZr˸?m_ùéý÷ÿ×£í«ÿ=#ÿ¾ÿúõü"úý­ïŠ?áпèkÿ|QÊû?ÛWþzGÿ}ÿõèûjÿÏHÿï¿þ½Aÿ¾…ÿ@«_ûâøEô/úZÿßr¾àOöÕÿž‘ÿßýz>Ú¿óÒ?ûïÿ¯PÂ/¡Ð*×þø£þ} þV¿÷ů¸ýµç¤÷ßÿ^¶¯üôþûÿëÔð‹è_ô µÿ¾(ÿ„_Bÿ U¯ýñG+îÿm_ùéý÷ÿ×£í«ÿ=#ÿ¾ÿúõü"úý­ïŠ?áпèkÿ|QÊû?ÛWþzGÿ}ÿõèûjÿÏHÿï¿þ½Aÿ¾…ÿ@«_ûâøEô/úZÿßr¾àOöÕÿž‘ÿßýz>Ú¿óÒ?ûïÿ¯PÂ/¡Ð*×þø£þ} þV¿÷ů¸ýµç¤÷ßÿ^¶¯üôþûÿëÔð‹è_ô µÿ¾(ÿ„_Bÿ U¯ýñG+îÿm_ùéý÷ÿ×£í«ÿ=#ÿ¾ÿúõü"úý­ïŠ?áпèkÿ|QÊû?ÛWþzGÿ}ÿõèûjÿÏHÿï¿þ½Aÿ¾…ÿ@«_ûâøEô/úZÿßr¾àOöÕÿž‘ÿßýz>Ú¿óÒ?ûïÿ¯PÂ/¡Ð*×þø£þ} þV¿÷ů¸ýµç¤÷ßÿ^¶¯üôþûÿëÔð‹è_ô µÿ¾(ÿ„_Bÿ U¯ýñG+îÿm_ùéý÷ÿ×£í«ÿ=#ÿ¾ÿúõü"úý­ïŠ?áпèkÿ|QÊû?ÛWþzGÿ}ÿõèûjÿÏHÿï¿þ½Aÿ¾…ÿ@«_ûâøEô/úZÿßr¾àOöÕÿž‘ÿßýz>Ú¿óÒ?ûïÿ¯PÂ/¡Ð*×þø£þ} þV¿÷ů¸ýµç¤÷ßÿ^¶¯üôþûÿëÔð‹è_ô µÿ¾(ÿ„_Bÿ U¯ýñG+îÿm_ùéý÷ÿ×£í«ÿ=#ÿ¾ÿúõü"úý­ïŠ?áпèkÿ|QÊû?ÛWþzGÿ}ÿõèûjÿÏHÿï¿þ½Aÿ¾…ÿ@«_ûâøEô/úZÿßr¾àOöÕÿž‘ÿßýz>Ú¿óÒ?ûïÿ¯PÂ/¡Ð*×þø£þ} þV¿÷ů¸ýµç¤÷ßÿ^¶¯üôþûÿëÔð‹è_ô µÿ¾(ÿ„_Bÿ U¯ýñG+îÿm_ùéý÷ÿ×£í«ÿ=#ÿ¾ÿúõü"úý­ïŠ?áпèkÿ|QÊû?ÛWþzGÿ}ÿõèûjÿÏHÿï¿þ½Aÿ¾…ÿ@«_ûâøEô/úZÿßr¾àOöÕÿž‘ÿßýz>Ú¿óÒ?ûïÿ¯PÂ/¡Ð*×þø£þ} þV¿÷ů¸ýµç¤÷ßÿ^¶¯üôþûÿëÔð‹è_ô µÿ¾(ÿ„_Bÿ U¯ýñG+îÿm_ùéý÷ÿ×£í«ÿ=#ÿ¾ÿúõü"úý­ïŠ?áпèkÿ|QÊûaeºT€ÝAÍRƒþBº§ýuOýUÈímì–+{XRU¾TA€*œòÕ?ëªè¥ìˆãþOú÷ÿÙ:›üÉÿ^ÿû1§T½ž!ÐeךÊ/·=­¬,ï/–ŠÎä®Õp+Œ3gLW'…õx¯-ô·nüÖ·ó5/)"F×#tŒŽI¯M¢„Àâô_Üiv‚6¶Ó¤˜IoºIgšpë'pVcó‘Œóô®ƒYæ}$‚oÓÓƒZ•ÕÝ­’,÷rņ¼ö÷¢÷z‚ÐʹðmÅôwm}{cqqpw6ŸˆÔ)'vÍüÉó}ìöWE¥iÐiU®mŸ&Ú%‰7u sY_ð“iô´ÿ¾Åð“iô´ÿ¾ÅiζކŠç¿á&Ò?è)iÿ}Š?á&Ò?è)iÿ}Š9Ðìt4W=ÿ 6‘ÿAKOûìQÿ 6‘ÿAKOûìQ΂ÇCEsßð“iô´ÿ¾Åð“iô´ÿ¾Åè,t4W=ÿ 6‘ÿAKOûìQÿ 6‘ÿAKOûìQ΂ÇCEsßð“iô´ÿ¾Åð“iô´ÿ¾Åè,t4W=ÿ 6‘ÿAKOûìQÿ 6‘ÿAKOûìQ΂ÇCEsßð“iô´ÿ¾Åð“iô´ÿ¾Åè,t4W=ÿ 6‘ÿAKOûìQÿ 6‘ÿAKOûìQ΂ÇCEsßð“iô´ÿ¾Åð“iô´ÿ¾Åè,t4W=ÿ 6‘ÿAKOûìQÿ 6‘ÿAKOûìQ΂ÇCEsßð“iô´ÿ¾Åð“iô´ÿ¾Åè,t4W=ÿ 6‘ÿAKOûìQÿ 6‘ÿAKOûìQ΂ÇCEsßð“iô´ÿ¾Åð“iô´ÿ¾Åè,t4W=ÿ 6‘ÿAKOûìQÿ 6‘ÿAKOûìQ΂ÇCEsßð“iô´ÿ¾Åð“iô´ÿ¾Åè,t4W=ÿ 6‘ÿAKOûìQÿ 6‘ÿAKOûìQ΂ÇCEsßð“iô´ÿ¾Åð“iô´ÿ¾Åè,t4W=ÿ 6‘ÿAKOûìQÿ 6‘ÿAKOûìQ΂ÇCEsßð“iô´ÿ¾Åð“iô´ÿ¾Åè,t4W=ÿ 6‘ÿAKOûìQÿ 6‘ÿAKOûìQ΂ÇCEsßð“iô´ÿ¾Åð“iô´ÿ¾Åè,t4W=ÿ 6‘ÿAKOûìQÿ 6‘ÿAKOûìQ΂ÇCEsßð“iô´ÿ¾Åð“iô´ÿ¾Åè,t4W=ÿ 6‘ÿAKOûìQÿ 6‘ÿAKOûìQ΂ÇCEsßð“iô´ÿ¾Åð“iô´ÿ¾Åè,kÍþ¹?Þÿ ̓þBº§ýuOýU‹[¸¯R9à•eˆ¶ӡ皯ü…uOúêŸú©nè ÿÇüŸõïÿ³çõoe^ÜÂút¿”²\‰”òlûÇœGN½« ‡þ?äÿ¯ý˜ÖLÞ°ŸU½Ô¦†).î"XÒVˆ€+òž¼æ–œ¡Ô­cãMëJŽò[Øâcm$[•gFܸÎyô5e8ÝãC÷äîÈã8rGZÔÕѤ¸Ò‚«_!8ì0rhÒú QøÂñô‹‹£¦X‹˜æŽ3må;f ´‹åîÀÇUuæ®Åâg}gO´xt´µ¹·Ž_´þód¬Û²±¶Í¼m1ž•¦žîºÞ©ö©vµȨ¤ƒåÆß˜õóÖ–/ XDö*·—†ÖÏaŽÐÊ E×8sÆIç=pOjÙXL.õ«E—K6Z_ZÞÝ}™î!• ÆpOläñj¯©¥gq¤ÙHðÛ˜–Þlœn!UË( Är;pkGTÐíõ6²"òâÐZL'E¶(¡˜qóeO©ü굟†b±ûxYÔ˜^—gß$lU›øÙœÀÉ )=¾ñ”¦ÖïWNÒu(ô»kxo¤>iyùPmÁÀ9䎮§ìðÏÿï‘\ä>·‚M:Hõ½P5„>D9’"6{‚˜Î8ÈÁÇzé·¯÷‡çTíÐJã>Ïüñþù}žùãýò)û×ûÃó£zÿx~t€gÙàÿž1ÿß"³ÁÿÏüñþùýëýáùѽ¼?:gÙàÿž1ÿß"³ÁÿÏüñþùýëýáùѽ¼?:gÙàÿž1ÿß"³ÁÿÏüñþùýëýáùѽ¼?:gÙàÿž1ÿß"³ÁÿÏüñþùýëýáùѽ¼?:gÙàÿž1ÿß"³ÁÿÏüñþùýëýáùѽ¼?:gÙàÿž1ÿß"³Áÿ¦ŒŸSE×`*ÿkióñ/ýùoð£û[KÿŸ‰ïË…ZÉõ4dúš.»Wû[KÿŸ‰ïË…ÚÚ_üüKÿ~[ü*ÖO©£'ÔÑuØ ¿ÚÚ_üüKÿ~[ü(þÖÒÿçâ_ûòßáV²}M>¦‹®ÀUþÖÒÿçâ_ûòßáGö¶—ÿ?ÿß–ÿ µ“êhÉõ4]v¯ö¶—ÿ?ÿß–ÿ ?µ´¿ùø—þü·øU¬ŸSFO©¢ë°µ´¿ùø—þü·øQý­¥ÿÏÄ¿÷å¿Â­dúš2}M]€«ý­¥ÿÏÄ¿÷å¿Âím/þ~%ÿ¿-þk'ÔÑ“êhºì_ím/þ~%ÿ¿-þkióñ/ýùoð«Y>¦ŒŸSE×`*ÿkióñ/ýùoð£û[KÿŸ‰ïË…ZÉõ4dúš.»Wû[KÿŸ‰ïË…ÚÚ_üüKÿ~[ü*ÖO©£'ÔÑuØ ¿ÚÚ_üüKÿ~[ü(þÖÒÿçâ_ûòßáV²}M>¦‹®ÀUþÖÒÿçâ_ûòßáGö¶—ÿ?ÿß–ÿ µ“êhÉõ4]v¯ö¶—ÿ?ÿß–ÿ ?µ´¿ùø—þü·øU¬ŸSFO©¢ë°µ´¿ùø—þü·øQý­¥ÿÏÄ¿÷å¿Â­dúš2}M]€«ý­¥ÿÏÄ¿÷å¿Âím/þ~%ÿ¿-þk'ÔÑ“êhºì_ím/þ~%ÿ¿-þkióñ/ýùoð«Y>¦ŒŸSE×`*ÿkióñ/ýùoð£û[KÿŸ‰ïË…ZÉõ4dúš.»Wû[KÿŸ‰ïË…ÚÚ_üüKÿ~[ü*ÖO©£'ÔÑuØ ¿ÚÚ_üüKÿ~[ü(þÖÒÿçâ_ûòßáV²}M>¦‹®ÀUþÖÒÿçâ_ûòßáGö¶—ÿ?ÿß–ÿ µ“êhÉõ4]v¯ö¶—ÿ?ÿß–ÿ ?µ´¿ùø—þü·øU¬ŸSFO©¢ë°µ´¿ùø—þü·øQý­¥ÿÏÄ¿÷å¿Â­dúš2}M]€«ý­¥ÿÏÄ¿÷å¿Âím/þ~%ÿ¿-þk'ÔÑ“êhºì_ím/þ~%ÿ¿-þkióñ/ýùoð«Y>¦ŒŸSE×`*ÿkióñ/ýùoð£û[KÿŸ‰ïË…ZÉõ4dúš.»TjúX`~Ñ'?ê›ü*+ÒæûQž"Lo"m%HÏËŽõ'ÔÒdž¦•ÀÿÙtraitsui-7.2.1/docs/source/traitsui_user_manual/images/ui_for_ex13.jpg0000644000076500000240000002440214046644454026572 0ustar aayresstaff00000000000000ÿØÿàJFIF``ÿÛC    $.' ",#(7),01444'9=82<.342ÿÛC  2!!22222222222222222222222222222222222222222222222222ÿÀ "ÿÄ ÿĵ}!1AQa"q2‘¡#B±ÁRÑð$3br‚ %&'()*456789:CDEFGHIJSTUVWXYZcdefghijstuvwxyzƒ„…†‡ˆ‰Š’“”•–—˜™š¢£¤¥¦§¨©ª²³´µ¶·¸¹ºÂÃÄÅÆÇÈÉÊÒÓÔÕÖרÙÚáâãäåæçèéêñòóôõö÷øùúÿÄ ÿĵw!1AQaq"2B‘¡±Á #3RðbrÑ $4á%ñ&'()*56789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz‚ƒ„…†‡ˆ‰Š’“”•–—˜™š¢£¤¥¦§¨©ª²³´µ¶·¸¹ºÂÃÄÅÆÇÈÉÊÒÓÔÕÖרÙÚâãäåæçèéêòóôõö÷øùúÿÚ ?©«ø—Wñæµpm`»»´V/oelÂ8Á!Y‘r7a¹ny8Ø´ mü‹y÷°ð«dšÛUÔ&CJºc• p3¾:ô‰5ŸC¤NðÏe=ÑtØOD®sÖ¾œG-¬°±‚µ¯sÉ£–vß÷èQý¥üùÛß¡Z3xr%ƒÄO 3È4ýDY[Èn`DAç˜÷M¸†Œ`Œç<ŠÉàý~K™mÆ› š+…¶*ìªZB2r~o”n%rüÇšëŽ&„“wK×äÿTc,5HégýÃÿ´¢ÿŸ;oûô(þÒ‹þ|í¿ïЧ êÏuco ¨¸küý•íåIc—†Ã¡+Á<ñÔâ¬kšN… ]¤¢[AnZcñËòÝUv2džO#µ7^4bšn[~?ä%‡›³Ð«ý¥üùÛß¡Gö”_óçmÿ~…kj¾Óô¯Øß¼W÷ {d%ŠöÞHÚrXæŒàŒ( ¶üä)Á=KÁwÖw¶v’Ã{su§‹ï*9cߎw*¨r_ˆûÜã88˜â¨=Ý·ßËrž¢óÿ‚fÿiEÿ>vß÷èQý¥üùÛß¡Z_† ¶š…Ƥ²CåèÓêv¨² yx YNX!ÉÁ g±ª“ø[Z·™ìK:4K$1È’Kf0ñ©,…»n’Z¥ˆ äáÌ®„ðÕT¬ìEý¥üùÛß¡Göœ_óçmÿ~…3TÐõã[ûq“xFYE%X« ÊHʰ Œäw¬üV°pšæŽ¨ÊPqvz3OûN/ùó¶ÿ¿Bí8¿çÎÛþý ÌŪåBå4ÿ´âÿŸ;oûô(þÓ‹þ|í¿ïЬÌQŠ9PršÚqÏ·ýúiÅÿ>vß÷èVf(Ũ9M?í8¿çÎÛþý ?´âÿŸ;oûô+3bŽT¦—öœ_óémÿ~…ÚQÏ¥¯ýú›ŠLQÊ»)§ý¥üúZÿß¡Gö”_óékÿ~…fbŒQÊ»)§ý¥üúZÿß¡]7ü#—Äé´«Y?Š) •™¡ÙöÏÃb½C\½í=F0ßvîaÿµrbe8Ê1‡[þ‡N”$›‘ˆÚ4k÷¯ôQÿn×üj©ÜY¼f²Ç§ß eX¶‰²$oº¤:©ÉÁÇ8<ði.næÉùŽ*ÿ‡ë›cßûsMÏþG¨œ§Níßîÿ#OcNO•oÉ6çFUò&l~+ð$TM£Äƒ-¢ûv¸ÿãUÔè׺HÒ¦¹Ö-¦¹Š3Qˆ˜‚ ?ÞÝ¢}CÁú…½Ýµ–•}ßÙf’'‘ÎÕdŸ'÷‡û¾•ÉõªªN-7n©+}V•¯u÷³Š’Âw½µ¶´‚Âì\–K xBTeó¸»G' qÏJГÂÓÆp÷Z"û'ÿãTí°tÖô›U?ù'uv"ÏXŽK)e6÷òm¦fùãîÛ>¿þ£åæÙÆ' R4é[T÷^m~‡«•äølE9T«{'Ñí¢©ÅIáÒ –¿ÐÇý°ŸÿŒÕ[j>ñ¹iCiÎÂI¢·bÐÏ3¢œ ÿ)Á8 ®×kV–š.–-.ݧ֦*ì¨ÿ%ªuÁþóþznóO Úh¤ù‡Éÿ¥3Ö9^oˆÇ×–“\­ìuãò|6Œq¯Ím^_y½ðÉ-$½ºŽïP‚Æ),Љ'`Žô;y#9ÁãÚ»eðþ›hòOkâ­"iXåD·ã àœŠà¼/àmc^Ò~Õeqd‘£ùdLîv«vSýá[ëðÃÄŠ?ãïKÿ¿’ñêæKZ¤£Rµº5c¡íáïÓ…û;—|Q ÞK5Öl¯]¯’Q¼âBƒc‚2;b³æñ„0émgecv¯— N³ù+æÙ£–u OUœœõ%GIÿ ËÄŸóõ¥ÿßÙ?øŠCðÇćþ^´¿ûû'ÿSIå‘¢¨Ê­Òwì)}yÕu,Ù[Tñ~|S6WVöúÅݛŲò‹+Jì¡À$äs’O8Íh[xÞÃûKG¼¸ÒïQtIßOEdfkgcf—$ Û¸mÈçoûU_þ‡‰?çëKÿ¿²ñ°ñ'üýi÷öOþ"´sÊÚ³©øù%Û²°·'uê÷üÊÚ_ŠVÃÄÓ‹Û›].9T‰-í­Txo*(Aùœäÿw­ejw¶—:‡´›8ï éQ\#ÍsGæaVGþéêk{þ‡‰?çëKÿ¿²ñ°ñ'üýi÷öOþ"®òÈJ3U5_ð|¿¼Éœ1³M8oÿÏÉmµëM/ÃZ†›i¡;_Ù˜žÚq[ÇpNáÉÜ0;v@Žè^êþ%ðìÚ¼ßÚ–V1Zùlʱ·’\ðû!”œ©Ž2sSÿ°ñ'üýi÷öOþ"‘¾x‰”«\éEHÁI0ñÊo—]ÍUWwßmU¶ÒÿŸ™*–2Ê.yo½ÿ®žDW!Óÿá"×RÜLú+éo¡Y4;$1B©´2|ß¼ÃYÁ!ÈéN×|`º¥ÅÔöë©ÁöÙí%–£¶cò‚±Ìá^Y2 § Œú ¯Âï*…[((I&þ9Kÿ ÃÄŸóõ¥ÿßÙ?øŠÊ2Ê×+u5I~#Vñו££1|Ka«êËe`é" MÅôñE·%ä,¹H¾_”[‚Äò+È÷®Ïþ‡‰?çëKÿ¿²ñ°ñ'üýi÷öOþ"»hæ8 0PEc–®R\Î'ä{Ñä{×gÿ ÃÄŸóõ¥ÿßÙ?øŠ?áXx“þ~´¿ûû'ÿZÿkàçâ3ú†+ùN3È÷£È÷®Ïþ‡‰?çëKÿ¿²ñ°ñ'üýi÷öOþ"í|üüAõ Wòœg‘ïG‘ï]Ÿü+ÏÖ—ÿdÿâ(ÿ…aâOùúÒÿïìŸüEÚøùøƒê¯å8Ï#Þ#Þ»?øV$ÿŸ­/þþÉÿÄQÿ ÃÄŸóõ¥ÿßÙ?øŠ?µð?óñÔ1_Êq~EMvŸð«üIÿ?z_ýý“ÿˆ¤ÿ…_âOùûÒÿïäŸüEÚøùøƒê¯å8Ï&&»?øUþ$ÿŸ½/þþIÿÄQÿ ¿ÄŸó÷¥ÿßÉ?øŠ?µð?óñÔ1_ÊqžMwɪèÖÞ1ÖÆ··âêp©Á æð~ðãïÞª¯ñ'üýé÷òOþ"´‡‚üaµD“øvfU ¾âÑ%rL³BIôä×&+0ÁÕK–¢ëÕ®ÝlûXl5zwæ‹2üM©xnémÿ°í&¶+»Îó›;ºmÇÌÞþj¿„\Kq ëzo?÷þ·?á ñaÿ¡WÿÑñŠ‚ãÀ>-¹XÕ¯4X’6Þ©n¦ ýí©às׊Æ8Ì7²öN¢·{¶ÿ"凫Ïí]ûY/ÔÌÒum<èóÙßOèpA—|~Tõ¿Ð¬šiâ½½–Co4HjŠ xÙO˜p>lô5°Þ ñƒ±i$ðÌŽyg’Æ7f>¥Œ9'ÜóIÿW‹_øEð]ÿ¤ñ¸vÛöŠÏÏÿµ-ШÒ÷^ž_ðL?>ë 9{ u\àu·£x’ÓJ±–h¢Ýª7ËÏ‚‘)?½þ}A†OøÂK˜n¡¥Dð©–‰cç?*¬`}Xÿ„7Æ9Ï›áüÅÿÆ+ÄͰô±•cV•x¦“Zß«oM<Ïk*Æ}RŒéU¥&›OKtIk÷µoÚêš Šþ6“S·ÂÁv¤e“ºÉëŽÇÿ¯»„ñ€ß¥h®çÁÿô¦zô#à¿‘þ·Âÿø.‹ÿŒWãß kº>–uMbîÎu‘Öä¿) ÚP ü¨È°1ÂâÝYÖŒ›‹I+Ýýéæ™”q8eF•'¥}C¾øk{o§xúúîO.ÚÚWšWÁ;QaBN'€zWac®Zj²u;‚~ÿN¸„d†=]ÆóÓ8XÀø>ÎãQøK¯ØÚGæ\ÜÅ<1&@Üín  ž$u­oø>i´O³èÉ{u+ý£zÝjMÖw1.<ç8ËÊ£Œuð293K}r§©É…þ Nê ²¼·Ôl-¯­$ó-®bY¢|¹#‚:×'¨xlÇâ=)ôí/ÏŠßËËÞ¤S[Â<Æy$RÍç-Ëuó`Çn쟙YgáÙí>j¶ÒÖÿû:KFùJ·sù<ÐTôsÝö·\:ÚŠáuo Mš…ž•¤BšÄV¾m¥¤6ÿ;«N]£Ž_ÝoÏÙ²Î9U8;•q“§ø3Q’%ö•¾Tû,5Ñ¤ŽØ_ÎÒÇòª¿ftVE•; m¢Àz…å÷ž Õn'Q-½ëDžt:zÚÉj—úLìºUf…|¶€)„Q6åW¡XAäÞêö/³ù×Jþg›¿í¹wãø1·f?ØÏñQ`#›]±‡RúT·•ȳ–T›tR¨pAÀA<kJ¹}FÎêO¤ºn™¨[\yð´·âéVÖT|Íñ rîc fŒBò†£xKWºÔØÜi/åÝ4Oª+%šZÜH/-äbŠ˜’DسfËm8ûÌÀ–Ôè®CúÖ“¬Ã:Ù¥¼,·é9Œ¨Þ¿iO²òÁð/Ëòô®¾ÂŠ( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( ¼ßãgüˆðÿ×òè^‘^oñ³þDxëù?ô®ì·ýê¦5ÿ†Ëß ÿäS›þ¾¿ö”uÛAtZyKK‰ÝÝngU,RD_õko†¹Üœçýa>…aÿº§ü~ÿÇÒÿÇÇÜÿSúŸö=ÛßC@:Þ“e …Þ§eäû|«ynd“qÀÚ¤ää‚;Õêå/]í6Èý'þ€õÝ–ÿ½CÔÆ¿ðÙwá?üŠs××þÒŽ»ªá~ÿȧ7ý}í(뺧š¾Tõ' ü…Q\@QEQEQEW¾¼‹O²–î}ÞTC-´dâ€,QYÛõ ÕÿðÿÂí¿ú„êÿøÿáNÌF¥—ý·ÿP_ÿ_ü(þÛÿ¨N¯ÿ€/þY©EeÿmÿÔ'WÿÀÿ ?¶ÿê«ÿà ÿ…`jQYÛõ ÕÿðÿÂí¿ú„êÿøÿáE˜”V_ößýBuüð£ûoþ¡:¿þ¿øQf¥—ý·ÿP_ÿ_ü(þÛÿ¨N¯ÿ€/þY©EeÿmÿÔ'WÿÀÿ ?¶ÿê«ÿà ÿ…`jQYÛõ ÕÿðÿÂí¿ú„êÿøÿáE˜”V_ößýBuüð£ûoþ¡:¿þ¿øQf¥—ý·ÿP_ÿ_ü(þÛÿ¨N¯ÿ€/þY©EeÿmÿÔ'WÿÀÿ ?¶ÿê«ÿà ÿ…`jQYG\déZ¸ö/þßíôÿ f«ÿ€Oþ¬3^¼ããgüˆðÿ×òè]€ñ[‘ZÃRMî¨ –¬‹– Iàd9®Cãr•ðLJz‹äøã×v[þõSÿÃeÏ„ÿò)Íÿ__ûJ:èum[P¶Õì´Ý6ÂÖêk˜&šæí TXÚ%ÀÛ’I”v+žøOÿ"œßõõÿ´£®‡VÒu ^ËRÓoímf¶‚hnmuu‘¢l²!‡sÖ«4ÿ}©êFø1#_éLrK$Ñ1Ýç!ßìÛ]‘üæ@ˆGØ…;† SÚx“K¾¿k(%›ÍÉi-eŽ7’2C¢HÊØmn“…cнøycqr’§Ø¥g‹ÊžMBÁ.¤9’IH‰ÂÆìÓHNU—;p€. eá]Jê"Ô¯þËmýýŪZG²â33Ϊþvö䙘€‚W'å ðhtÍã(Õæ¹šyD+ ŤÑJÎÊÌ FÊîòÜ.ÌÊTe¸¨-ük§42µÌ7°È—óXªGe<Þk£Ê±üùXYŽÜíèO­ #ÀŸÙºäZŸ¦CåËŸgÓtß²ÆÛ"¸‘æ7Ì~Ñœú ç#J Ëõ³‹ä6–ºŒÚ„1yÌÝ*Î$V}Ø#täŒ(À\Äî£@,èÍnó%ÓÈ•U#·‘¤—p%Z4 ºD!\‡@T„b H¼c¢$Іæc˜„Îëi1H³.e`¸‹ †ÞWnÆÎ0kO‡‘Igc—6·/eggm]Ù av'MÏá¸;26²©ÉéVÓÁ)•«XÇu +¨é‚Àˆ-(á;§bÊŠ@Û›ƒ…ë…嘒hÐ ÚwŠlï-9­¾Ï~Ö,^63ý¡ M¯´ÜÀgnvîÁbvÃÓ“—¨èÚÝõô— áÛØ°qÙ²€¢¨8ÉÀ’x*áU·ï5oReOM.aQZðë¿ôÔðÿÂøFõßúê?ø ÿáZûHwDrK±™EiÿÂ7®ÿÐQÿÀWÿ ?á×è ¨ÿà+ÿ…ÒÐrK±™EiÿÂ7®ÿÐQÿÀWÿ ?á×è ¨ÿà+ÿ…ÒÐrK±™EiÿÂ7®ÿÐQÿÀWÿ ?á×è ¨ÿà+ÿ…ÒÐrK±™EiÿÂ7®ÿÐQÿÀWÿ ?á×è ¨ÿà+ÿ…ÒÐrK±™EiÿÂ7®ÿÐQÿÀWÿ ?á×è ¨ÿà+ÿ…ÒÐrK±™EiÿÂ7®ÿÐQÿÀWÿ ?á×è ¨ÿà+ÿ…ÒÐrK±™EiÿÂ7®ÿÐQÿÀWÿ ?á×è ¨ÿà+ÿ…ÒÐrK±Òü+ÿ‘žçþ¼ÏþŒŽºÿx÷Bð¥Ä0ëz”Ö:—ˆ›y\ƒ†U##ŒŒädzŠåüew¡ëwÚµ¥ÅªZf¹‰£\ù‘ñ’:ûWA«_øG]´K]VK+ÈU™c™wêrOÀú‚AÈ$WÎf’N½×cÖÁ¦©jM}ªÁ­hú>¡i,²ZÜ_[¼M$oeßÁÚà ãAæ¾9ÈšŸõþ¿ú •¿©ëzf Ú|—‘K/ÛàmªyÆñX¿äMOúÿ_ýJÏ-ÿz‡¯èk_øl·ðŸþE9¿ëëÿiG]Õy—‚u tŸ…ºÞ¥n¨ÓZ$ÓÆ²T²[£pAÆG­oiþ/fyai­uÂÍZÏ£¢ªO+ ¡åd‰rLƒ‡Q€q¹æ‹ý²§©OàÄëè®zÛÅöwº…¾Ÿgiu=ÜŠ^xU¢VµU•¢báœn èêL{þï£.ì­#Æ·Z…œ—Z8·ØGâÀ¡í lvó‹+ævç•QŽ\Œ7Žƒ¶¢¹vñÅšÛGqý›¨¹Xä±E›Ôy#Œ:~óåš.$Øpý88žûÄŒž×5+{W‚÷K‚f’Öè)1ʱyŠ­±ŠUü¬xld€X†ŠÂ—ÅÚC;_i÷¶“Åj.VÚ_,É6]G×!ßpA´³F:¶*øM,bóå¼³½³±Ž[˜VöUFŽGƒÌ2Tv~ÊFTd/©–¤£ã pFyí\Þã];[†v²†ie‚Xc’d†á•e}Šå¢wM£ OÍ’1ŒôlÊŠYˆ I'€) —Îöï‘Gœÿìÿß"¹õÕï®%¶0EcÝo6¶×W!..Õ9f‰z·¯¹àƒ[iæyQ´±˜¤e ÈH;IŒŽ:~õB%óŸýŸûäQç?û?÷Ȭ]#Äzv¹°Ø Öâ$²ØO n‡*îNrÁäsF«â MöÎÒâ9šK¬l1¨ fhaç$ o`M@ÚóŸýŸûäQç?û?÷Ȭ_]±ÐÒ¾ûPIX"46rÎ7å«`’Àq’p3Ví.㼌É̪6ñ4åCц}Aä °-ùÏþÏýò(óŸýŸûäTtQvžsÿ³ÿ|Š<çÿgþùŸ¨_4‰bîn&qP!œ÷ëØIíKzÜw—¶–­ç÷¶Ò’#ÀÏÌrp3ïF _óŸýŸûäQç?û?÷ȬÝSX³Ñãï ß¿—ɉ ·’gwÚÍ€±«ºŒzv©ìï-õ D¹¶“|Oœ AÁV•`AHAŠ.À·ç?û?÷È£Îöï‘U./-ífµ†i6Éu)†‚w8Fr8éò£}>•¯¬Yèv}~f[dÎ÷ŠÞI¶ ,Á –<Z.ÀÒóŸýŸûäQç?û?÷Ȫ:Œ‚o….mûûYa8%‡GPs•<Û‹‰ ǸÿÚ -Ðûwê2+°5|çÿgþùyÏþÏýò*µ·Û -öÛaªå0®_|ÃØóŒàñÒ©j펙p¶óýªIŠï1ÚÙËpʤ ÕŠ‚AÁ8ÎÖÆppj·œÿìÿß"9ÿÙÿ¾EGP\^[ÚÍk Òm’êS #îpŒäqÓåF<ú}(»ßœÿìÿß"9ÿÙÿ¾EGE`Iç?û?÷ȯ4øÜKx""z›ä'þøzô +Ë}FÂÚúÒO2Úæ%š'Á‘€ àò8#­yÿÆÏùáÿ¯Ôÿлrß÷¸z™WþðïO‹Vøy©i³³¬7m$4d ð¢’2Î¥vú¦–šœp¤Mm=¼¾tmßíd$ §*÷³Ô<×áç<;¢øqíõN8%i÷…(Ìq±x¸5ÖÂÍðwýãÿ¿2ñ5Õ™a1ÅÔ” Ú¿fc†«ÒŠm\¶|!fæÅf»ºšÞÒµ‹y"²\ù!˜¶ÍêåØœ#*öÛ´Yià»+Hm ¼½[XþÊÍ d"I-Ì[$c³;ŠÁ\À'5[þoƒ¿è7ýù“ÿ‰£þoƒ¿è7ýù“ÿ‰®/¨âÿçܾçþFþÚ—ó/¼³‚ìQmÑï/eŠÏÊ[(Ý Xã–9DjBÊL1\³ax ’N“hVRC¬C2¼°êÌZê6l ) PFPwÎIçÓþoƒ¿è7ýù“ÿ‰£þoƒ¿è7ýù“ÿ‰£ê8¯ù÷/¹ÿ{j_̾óB]Iïô‡»¹ûlV>l= šI Sˆ`åˆñBÝTš£ià´–˜µ›É¯-¤º½š; ʰÆ'yFC*,›¼¹˜±±ÇE!¿ð³|ÿA¸ÿïÌŸüMð³|ÿA¸ÿïÌŸüMQÅϹ}ÏüƒÛRþe÷šðè’$.³ë:Ì­,RyÏ"#Ä *<†ùrÁˆ'q§4K42DÄ…u*q×W+ÿ 7ÁßôþüÉÿÄÑÿ 7ÁßôþüÉÿÄÒúŽ+þ}KîäÚŸó/¼µ'ÃýQÕ|?­ê~dš–‹GŠR‘¸Cº=êy% ÎW9È#å<Ͻò: ã¿áfø;þƒqÿß™?øš?áfø;þƒqÿß™?øš§‚Å¿ùu/¹ÿ{j_̾ò•‡ƒæ°ðN—%ëjvñXÉ=´º„’&èdŠWDVs·îÊ®09!I5F}[Ô¼G&¨t‰­b’ý&òçšê‹&šI;‡KiýßRÛÿ…›àïú Çÿ~dÿâhÿ…›àïú Çÿ~dÿâi}Kÿ>¥÷0öÔ¿™}åÍKG¾m;U¾ºÔ¦œæK‘2¢\DìÅEÀTcÓ'ß\Þ¹á=JÿZ×/cÓÒWh/$Ó¥fMÉpÖöI ¡'(ûá— Æ6ç##;ð³|ÿA¸ÿïÌŸüMð³|ÿA¸ÿïÌŸüM ŠÿŸRû˜{j_̾óWðuÓÞËió6‡Ô†ÛO±KFQº|:Åp J¡Òã8ÃfBGÆ»Ý.Þ[M"ÊÚâG’h`Häy&2³0P .B–9þ, õÀé\ïü,ßÐn?ûó'ÿGü,ßÐn?ûó'ÿGÔq_óê_smKù—Þt“Zµ ´‘Qíe-óAVR¬0;àñéמ•±-Â…àŒõëŸå\ü,ßÐn?ûó'ÿGü,ßÐn?ûó'ÿM`±i[ÙKîäÚ—ó/¼Ðñ—y©ÜhŸc¸šÛì÷í4·y{âO³Ì™@ÀåW¡ûÙí‘Ëø·ÂºƒØ­¶™iutðÁ,–w-§œ—’3<’HócÊ00m ï鄯Çü,ßÐn?ûó'ÿGü,ßÐn?ûó'ÿKêX¯ùõ/¹‡¶¥üËï3¥ð€1Ou¢& ë­Ý^ÜÚ9ŽFžk‘Q#lyÊûIP2çïß\øgÄV°ß]_M}g…[Ü6› pªM.˨ܬlU72Kc! *hÿÂÍðwýãÿ¿2ñ4ÂÍðwýãÿ¿2ñ4}Kÿ>¥÷0öÔ¿™}å)¼3s‡o¡þÎó¤¾Ôî%¼@!ši-ÍIJD#æ!‚ѶÖà€ÔÐ/l籓XЦÔ#÷vb³;éÛnf`än ™àÿSœyXÀÚ¢µ?áfø;þƒqÿß™?øš?áfø;þƒqÿß™?øš>¥ŠÿŸRû˜{j_̾òç‚ô‘¡øfÛM:bXÍl«íÆæEEV˜l$Äu`Ž@®cãgüˆðÿ×òè[ð³|ÿA¸ÿïÌŸüMqèF´—Äì¬yõð.•YSOews/ûJ/ùó¶ÿ¿Bí(¿çÎÛþý ÓÒ¼(óiÚ•î¤ ‘6£mÏÉ&ߺÆ3—òÎÍ€<óoþ>âhcv´6Ú*ê.×7î'›î|,GoÇŽýFzeÃFN-ìgY$ÒÜÁþÒ‹þ|í¿ïУûJ/ùó¶ÿ¿B«ézeÞµ ŽŸžâl˜Ð:®ìÇ’@è ]‹ÂÚ½Åå•­½´s½ò»[<7¼r„Îí²+ÈÚr3‘øŠÞU)EÚM'¾ý;™*3jé2/í(¿çÎÛþý ?´¢ÿŸ;oûô*h¼+«Í!D†ßlP«µÜ*’I"DG-µØ©$àZKO j÷ù±ÛGý«ì@\\G ÿç˜À–ç¥O·¡kó/½õz—·+üH¿´¢ÿŸ;oûô(þÒ‹þ|í¿ïЩ`ð¶µq²X•wiV8d‘#–SÌ#bÊ÷Ú Ž´Äðæ¦ú\:Ÿ• YÍþ®I.bL1c' À€”Œ Ã=iûj?Ì»o×°½„û1¿ÚqÏ·ýúiÅÿ>vß÷èVÕ÷ƒ—KÕüAc#É~4Ër­m4°b¡ƒHŒä„6qó}Ó˜g* kVñ³=‰gF‰d†9Ib2 Æ5%·mÀr@ëYÇžÒ]?å…«Ó"þÓ‹þ|í¿ïУûN/ùó¶ÿ¿B™ªhzŽŠñ­ý¸ŒI¼#,‹"’¬U†å$eXFr;Ö~+x8MsGTc(8»=§ý§üùÛß¡Göœ_óçmÿ~…fbŒUr¡ršÚqÏ·ýúiÅÿ>vß÷èVf(Ũ9M/í8¿çÒÛþý ?´¢ÿŸK_ûô+7˜£•vSOûJ/ùôµÿ¿Bí(¿çÒ×þý ÌÅ£•vS¹ÿ„râ8ƒ]6•k'ñE$³!ô;##>Ùâ£m5û×ú(ÿ·kþ5[zåëÿiê1†û·sü}«—¹»›'æ8¯:ŒªÔWnßwù„èR€·o‡ì±é÷ÂYVm¢l‰î©ªrpqÆ<ÐoÉ6çFUò&l~+ð$S|8w\ÛÿÛšnò=tÚ5î’4©®u‹i®bŒÅb& ‚ÁÏ÷‡÷k:ØŠºZÛµ®ïøžœ¾g,Úô¢›¶‡Œáõj“£¤[Z›ß ’ÒKÛ¨îõ,b’Ȩ’vXïC·’3œ=«¶_é¶$ö¾*Ò&•ŽTKp€.: È® ÂþÖ5í'íVWI?–DÎàçj·e?Þ¾¿ ô¿ûù'ÿZæKZ¤£Rµº5cÏ¡íáïÓ…û;—|Q ÞK5Öl¯]¯’Q¼âBƒc‚2;b¹N÷M¿ðÞ‰a,wßjÒÒçnËxÞ9G ¿3H¥q´s´õöçkþ—‰?çëKÿ¿²ñ‡á‰ü½i÷öOþ"«[/£J4•o…Ý?÷™!ŒGS“ub ¼ObÖS±¶¿7’xlè‹qÆc 7bBæ@pr26ñêhYËtêÖ×ko'†WE’ET, —EÜ 0J÷ôæoøV$ÿŸ­/þþÉÿÄQÿ ÃÄŸóõ¥ÿßÙ?øŠ~Ó+»ýæþð<Çlu—»ýiþEo†±‘ãÍ-Š•8—ƒÔ~éétXi·~1[_Ka¢[\ƒ3ÇK;MÓlaÈ`r_œôævø]â&R­s¥#$ÁÿÇ(_…Þ"U ·:PP0’Lürª¾#/¯UÎuU­kàJÿt˜©RÅÒ§Ëk{þ_äføsX³Ó4 2ÆúÞì=–«§›XÒC!Xö;qÐ|ÀŸ¥mÙêvëáX5ÍF+˜sâæ¿öȳ6ãIå’̃'æöéÍWÿ…aâOùúÒÿïìŸüE4ü,ñ :¹¸ÒK.v“$™ôù+:µré¾hÕ³oþ§Ré¬dU¥ о7?e´¸ò/,ïm羸T´†Úf&y оtÀ˜ðX«FÈôÏêÝøsÃzJA(}.+¾ $ˆË´ç'NIºøV$ÿŸ­/þþÉÿÄQÿ ÃÄŸóõ¥ÿßÙ?øŠºU²ºRRMÿ?/6EH㦬ãýiþE{ÿÚ\k^(ÔÒÖïv±¤µªÅµ1Í&ÝÊ ™Ü@<ýÞ*M{Åé©Ý]Ëmý¥Ûgµ–XaŽÚAÖ$Î¥‘ƒ ÚH\gÐ`Éÿ ÃÄŸóõ¥ÿßÙ?øŠ?áXx“þ~´¿ûû'ÿSÏ•]?iµ¾åòò^e/¯¤×.æ'‰oì5}Bl¬]$A)¸¾ž(¢–ä¼…—)ËòƒËpXž@ÅcùõÙÿ°ñ'üýi÷öOþ"øV$ÿŸ­/þþÉÿÄWeÇF ª¬sUÂâêK™Ä㡊þS‹ò(òk´ÿ…_âOùûÒÿïìŸüE'ü*ÿÏÞ—ÿ$ÿâ(þ×ÀÿÏÄPÅ)Æy4y5Ùÿ¯ñ'üýé÷òOþ"øUþ$ÿŸ½/þþIÿÄQý¯ÿŸˆ>¡ŠþRÚjº5·Œu±­Á-Ÿºœ*DpCy¼¼8Æ{÷ª^&Ô¼7t¶ÿØv“[ÝçyÍÝ6ãæoNµ¨<ã ª$ŸÃ³2¨]÷‰+:ešO§&øB¼XèUÿÁt_üb¼¸b°ÑšŸµZyÛî±èΕYÅÇ‘ëä¿;˜~q-Ämü+­é¼ÿßúv“«içGžÎúyâ/,R+EÉ÷C‚,¸ûãò­;ø¶åcV¼ÑbHÛz¥º˜T7÷¶¤`gÏ^*Ãx3ÆŤ“Ã29åžKݘú–0äŸsÍ\ñ¸Y]ûHën¯K|µû‰… ±Ó•éýw1ÖÿB²i§ŠööY ¼Ñ"5ª(%ãd>aÀù³ÐÔ^}Öröê¸ÿÀ8ësþ¯¿ðŠÿàº/þ1PIàIs ÀÔ4¨žõ"Ñ,|çåUŒÏ ¬êâ°ÕiʪµM^÷Ý5Ùw*•*´ªFjF½}ßbmÄ–šUŒ³EíQ¾X¦|‰Häýïóê ·ˆíuMEI©Ûá`»R2ÉÝdõÇcÿ×Ýgþßç>o…ÿð_ÿ¦ŸøÄõ¾ÿÁt_üb¾>Y;qåúÄ-óÿäO¯ŽwEOÚ{ ^÷Ý}ÛíäyïŒý+Esÿ>ÿ¥3ÑZ>=𦻣égTÖ.ìçY`QnHÛò’] zÊŠûŒ"„0´©ÂJ\ª×^GÌÕ›«^¥F­ÌÛ·©èß ÿäS›þ¾¿ö”uÝW ðŸþE9¿ëëÿiG]Õ|žiþùSÔëÂ!EWÐWâ½ûoź-·•¦I¶ÂöLjV?k‰-‡ ½pÜõÏLŒsU4‰u(¼i&‰Õ­­¤-#L–¶IÈ"·ÓöªŽJŒÈÃ’Ä!ÚB²»隷,µÆ¦l./¼@è–šŠIsªYËk%¶ë{‘ˆe1ð2È…f†ôÁ›²Ö õω´Í6×UºÓá–ÎêyÙ"fvGT1‰ X†Šó1ã}Jâã@ºv¶Ït¶ 5„× Ú Á|Âc2:)„ªFÙiÝ&‘¯kbËM¹¸Õæ¹gµÒndIa„,†öc©Ú€…@»““¸¸À€ôŠ‚õ™,.I "b<ƒƒ^}¡øZ»°Ô®5-nÊßn™-ÅÇ”EÌš\À†‰a_/n_1ÈÎä¦;\Ÿ@¿ÿu×ýrähjÀyíνwh§#Z¸X­à–yã»UD2F¬3û£´e°2yÅCsâ‹›@†xu¤YY[ûB2W>N3µÔã¶Fjå̺LM§X\ßÉ_YÅö€‘#D»íÒ8üÒ\«+æ Ž7dc­Q–[ m`h^Áõn« ˜ÆWp‚Ða÷ü¸Nî2>j÷há¨J1n¯3ΩV¢nÒüˆ¿á5ÿ°¿þ ÿŒ×}¡i?Û~Ó5oí}^·ZEså}¡fô ·>XÎ3ŒàWŸùšzèR,–ÖO9I¾Ó ¸6ϹöìP…ÈÇ—,ˆýp7õÉ<ð×ý‚­ôR×>6…*vä·óìm†©9_™ß`ÿ„Wþ£š¿ýýOþ"øEê9«ÿßÔÿâ+ ¢¸9QÓsŸÿ„Wþ£š¿ýýOþ"øEê9«ÿßÔÿâ+ ¢ŽT9ÿøEê9«ÿßÔÿâ(ÿ„Wþ£š¿ýýOþ"º (åAsŸÿ„Wþ£š¿ýýOþ"øEê9«ÿßÔÿâ+ ¢ŽT9ÿøEê9«ÿßÔÿâ(ÿ„Wþ£š¿ýýOþ"º (åAsŸÿ„Wþ£š¿ýýOþ"øEê9«ÿßÔÿâ+ ¢ŽT9ÿøEê9«ÿßÔÿâ(ÿ„Wþ£š¿ýýOþ"º (åAsŸÿ„Wþ£š¿ýýOþ"øEê9«ÿßÔÿâ+ ¢ŽT<‡ãe¸µð¤!ä“eÚò³|²rO­7Çoùàÿ¯ÕÿÐd¢¾£)ÿu^¬â­üFOðŸþE9¿ëëÿiG]Õp¿ ÿäS›þ¾¿ö”uÝWÏæŸï•=NŒ'ðbQEpEPEPEPQ\Ägµš B žƒ#-Cví”ò!Ã,lÀú(–ú&¼W6SE DÓËn >Õ Ê“ÐzÔ¿ØÞÿ 6™ÿ€«ÿÄÖv§k—úe¥çöÜ1ý¢—gØAÛ¹AÆwóÖ¬ÿaëŸô‡ÿÿ[ª•RÑ™òG±cûÃÿôÓ?ðøš¿ÛZÛÅooPÁŽ8×j¢€Æ+m+V¶@óø’Ö$.¨ì‚‚ÌÁTrýKîH'ö¹ÿAøðñtœªKq¨Ålmý­=Wó?áGÚÓÕ3þ‰ý‡®Ð~üü]ØzçýáÿÀÿÅÒ÷‡¡·ö´õ_Ìÿ…kOUüÏøV'ö¹ÿAøðñtaëŸô‡ÿÿG¼kOUüÏøQö´õ_Ìÿ…baëŸô‡ÿÿGö¹ÿAøðñt{Á¡·ö´õ_Ìÿ…kOUüÏøV'ö¹ÿAøðñtaëŸô‡ÿÿG¼kOUüÏøQö´õ_Ìÿ…baëŸô‡ÿÿGö¹ÿAøðñt{Á¡·ö´õ_Ìÿ…kOUüÏøV'ö¹ÿAøðñtaëŸô‡ÿÿG¼kOUüÏøQö´õ_Ìÿ…baëŸô‡ÿÿGö¹ÿAøðñt{Á¡·ö´õ_Ìÿ…kOUüÏøV'ö¹ÿAøðñtaëŸô‡ÿÿG¼GÇ7à˜ œÿ¦§O÷d¢£ø× ÛøÒ9eóei¾M»w²sŽßOçE}VSþê½YÃ[øŒ»ðŸþE9¿ëëÿiG]Õp¿ ÿäS›þ¾¿ö”uÝWÏæŸï•=NŒ'ðbQEp6·<±jÞHåtIµIX€ëö[†ÁõU8õö¬Ý_Ä·öZôqÙÛ}§MŠêÞÊñ¼•T³2ûÃ(<,±6Lq¸díè5 /OÕ­ÖßR°µ½…[zÇs È¡°F@`FpO>õøwD’âÖáô}=¦´TKiÙ B¨r¡2 €t¦#}oÄúž—d÷0éš¡¿S%”–R‚7¶º`®ë6Ë…>_ …@)’GI«ÞjßÛÚ~—¥ÜY[ùö·Iuló«hTDÆ|Òs“ÐU¸ü;¢E¦Ë¦Ç£ééa3o’ÕmDíÇ%1‚~U燥^0D× pÑ!™‘d*7*±€=@%W#¾ÑéEÀâcñ½ýçöUýŽý6±Ex¾ZŸ³Ëqå¾i•IÚ³Dx…é¸dìKñv·-¶ŸsyýŸ"Ms*Cnñ’·²yJªLƒ‰ ï &7±ü;¢Iqkpú>žÓZ*%´l…¡T9P‡P@:Të¥é芉aj¨‹*ˆTXŽèÀã¢Tv<ŒQt!£ø¯_Ôl%»¹³²±ŠëL“P±–ñãŽ8ð¨}³;ȃÌR϶<ÊåÀ^ÊÿþA×_õÉÿ‘¨cÑ4˜~Ûåi–Iöüý¯mº´g9ó8ùó¹ºç©õ«q´Ösă.ñ²¨Î2H *Ù4x5=?CÕu6û:æšþß+î…÷nŽ4_ß•Øå£n²®Ñ¼C¯ .êçYžéžÓGº•%†²éŒ2)ØŠB ]É‚âwÐ4¤ûei+!’ xâb¬0J¨ÜU¿´'¨ÿ¾‡øÖ×Dž1¤.|4Â]^KK»Ûx¬¡ŽÀB4åûLqùyÀpÈ1˜ÁR6äW¨xvæíåÖ,.:uè·ŽâUE’Eh!—/°*äHQÀNI×ûBzûèhOQÿ}ñ¢è h¨¾Ðž£þúãGÚÔßCühºZ*/´'¨ÿ¾‡øÑö„õ÷Ðÿ.€–Š‹í ê?ï¡þ4}¡=Gýô?Æ‹ %¢¢ûBzûèhOQÿ}ñ¢è h¨¾Ðž£þúãGÚÔßCühºZ*/´'¨ÿ¾‡øÑö„õ÷Ðÿ.€–Š‹í ê?ï¡þ4}¡=Gýô?Æ‹ %¢¢ûBzûèhOQÿ}ñ¢è,øíÿ"\õú¿ú ”R|t!¼ôÔèsü2Q_Q•º¯VqVþ#,|'ÿ‘NoúúÿÚQ×u\/Âùæÿ¯¯ý¥wUóù§ûåOS£ ü…Q\@QEQEQ\/޵‹¨¯à±ÓΦnlí_R §ÛÍ'™2œ[Ã)Hò¤"mÊqƒ•ï<ž*¾½Ý¨éSY*;û]²Û;I:\y æ+o]Ÿ-À”<¯=p„vtW £ø¯_Ôl%»¹³²±ŠëL“P±–ñãŽ8ð¨}³;ȃÌR϶<ÊåÀ^ÎõÒ; —’ï쑬LZç*<‘ƒ—Ë£yqÍz+…Ô­ï¬üâkÛ;ÝNÆÜØI-’ÏpòÜ!Df2”³Ç¿å3• Ÿ‘Ù‚÷T†Vtš7+ÈuN2ìNÈ™¯=A4ÏìÿAÝcþûÿ‰§a÷iÖ^Nÿ»‰7•PKaïRVOŠ£ò¼+w˜òl¶UÞÿy°'Þý‚?è;¬ßqÿñ4X J+/ûÐwXÿ¾ãÿâhþÁôÖ?ï¸ÿøš,¥—ý‚?è;¬ßqÿñ4`úë÷ÜüMRІÎÍ, tWWNÌû–Žƒ¥qþ9}VÉ.õ xõ ’;04ÿ±]„7yp ˆ]|àÅ¡ ˜“%Xmù°Å€í«2êëR}f=?OŽÑ™­Ìå®”/`}Es‘¾«gã+'Pi®¯.L×jlö$hÂÿ(T›u/å¯ÍÆã¿çéíäwþÁ²èĦ– eñ?üòÒ?ïô¿üEeñ?üòÒ?ïô¿üEbË«ëcÇÆ-Mo´­5´ý@$¢ko"(ãxvÝ\’Ø$ë…óB$vè<1e=¿Ú®ï£Ó§Ømm¯ç–i†3ºViItÞ â2~P€¬ì«§"È~Ëâùå¤ßéøŠ>Ëâùå¤ßéøŠé¨£‘Îgì¾'ÿžZGýþ—ÿˆ£ì¾'ÿžZGýþ—ÿˆ®šŠ9\òQÍ€mÁÏ7ˆdòó´²tÏ8ÿÑœçÌãçÎæëž§Ö­OW6ò[ÜD’Ã*”’92º‘‚<Gj’¢¹•¡´šU²#0ÏL@Ñx_ÃðZ\ZC¡i‘Û\íóáKHÂK´åw(lFzV”Emo½¼I1(HãBª(Àv¬˜§×¤ÒThÐZ4ážk‡QmÝ–;p0:óŠÐÒ®ZÿF³¿i!‘n£FÐc`HÜäy®1Å6˜„’îTÕí¬ÖÕÚ`–V¸Û#FËb9þÁìZ]Ëss–¯ [N"Û8LhûÇ2ì½ùCÏanŠC0¥»žóEÑõYô»ƒ;fm<“˜WY˜mÉ1fä m'Ž£JK¹SW¶³[Whe‚YZàgllTÉ qoÆq¸Î2zúšm\ì,i}¡=Gýô?Æ´'¨ÿ¾‡øÖms°±¥ö„õ÷Ðÿ>О£þúãY´QÎÂÇžüt!¼ôÔèsü2QQ|lÿ‘úýOý诬Êu¯VpVþ#3ü¥Þj~Ò¾Çq5·Ùõ†š[ˆ<½ñ'Ø™2Ë:¯C÷³Û#KTð®¡qc§ZÝZ]]Áh×?hKU´“ísÈÉ ¹܃‚LÙ23•\§Ìx |U¶ðÆŽÖ-¥ÉpÍ/˜XL•Wtÿwõ­ßø_6ßô“ÿ‡ÿ^~?.ÅUÄÎpÓ}×ù•‡­RQ–þŒ»¨YGc«Øiº…šjÜ—šl¶—oq ÅÄFÐ \¬ÄnŠw,‘í!ÙŽ2ø ð^­.™öj-Óè‚Êk­Ia‘mÛì~PKiŒˆ7ŸYJŸœ©üô¿á|ÛÐOü ÿì(ÿ…ómÿ@ ?ð+ÿ°®Oìœgò~1ÿ3o¬Sïø?ò65o Ϩ\ÛIi£^ØZ‹Q¥¯Ø£ûÂI ÈYƒù[·FÛàËü¤‘•QSÞø>æMEû,Í$ÚÅÍÕä142Iqne¸1*¬ùˆ¨2G&ÆÀs®ü/›oúIÿ_ý…ð¾m¿è'þþ"ìœoò~1ÿ0úÅ>ÿƒÿ#CSð•ëx~æÒ]mY¦ÓßOIä¶‘ôùKÌrwHþY!ˆ¾Vш[³ñ›sökÝ_'R‡u¸“j¶Ø¦Â¹ÃŒ#—[ÉÚ1¼×žÂù¶ÿ ŸøÿØQÿ æÛþ€àPÿâ)dã?“ñù‡Ö)÷üù3x^KMUa³ÒÕ]Z5†¥½Øí"XCÛîfóFáÃj‚§ÎäüÏŒ“à¹ÓAÑl‰2AaÃwog“ý®ãl@\…Ÿ1²’ Ͷ_˜pjÏÿ…ómÿ@ ?ð+ÿ°£þÍ·ý$ÿÀ¯þŸöN7ù?ÿ˜}bŸÁÿ‘Õiþ–ÓLñ_iϨÝÜÀ %½,×(,á—Í8Ú]у>Õ-µI ޾õK„E,Í d“Šòoø_6ßô“ÿ¿û ?á|ÛÐOü üE/ìŒgò~1ÿ1ýfŸÁÿ‘Ò\|-¹Õ¯í~Ý­^Å ÝCo.­£© Kq iËÑQ»¾QpOÊcô †ÖÞ-áH`ˆlŽ4MªŠØ1Šñ¯ø_6ßô“ÿ¿û ?á|ÛÐOü ÿì*žUŒjÜŸŒÌ_X§ßðä{ãÿð¾m¿è'þöÂù¶ÿ Ÿø?øŠìŒgò~1ÿ1ýfŸÁÿ‘ìWÿÂù¶ÿ ŸøÿØQÿ æÛþ€àPÿâ(þÈÆ'ãó¬Óïø?ò=‚Šñÿø_6ßô“ÿ¿û ?á|ÛÐOü ÿì(þÈÆ'ãó¬Óïø?ò=‚Šñÿø_6ßô“ÿ¿û ?á|ÛÐOü ÿì(þÈÆ'ãó¬Óïø?ò=‚Šñÿø_6ßô“ÿ¿û ?á|ÛÐOü ÿì(þÈÆ'ãó¬Óïø?ò=‚Šñÿø_6ßô“ÿ¿û ?á|ÛÐOü ÿì(þÈÆ'ãó¬Óïø?ò=‚Šñÿø_6ßô“ÿ¿û ?á|ÛÐOü ÿì(þÈÆ'ãó¬Óïø?ò=‚Šñÿø_6ßô“ÿ¿û ?á|ÛÐOü ÿì(þÈÆ'ãó¬Óïø?ò=‚Šñÿø_6ßô“ÿ¿û ?á|ÛÐOü ÿì(þÈÆ'ãó¬Óïø?ò6>6Èý'þ€ôWãŸ‰ÐøÃAM54Ƶ+:ͼͿ8VÆÑýïÒŠú,¾…Ju ŠÏ^Ïò9jIJm£ÿÙtraitsui-7.2.1/docs/source/traitsui_user_manual/images/shell_editor.jpg0000644000076500000240000002750514046644454027133 0ustar aayresstaff00000000000000ÿØÿàJFIF``ÿÛC    $.' ",#(7),01444'9=82<.342ÿÛC  2!!22222222222222222222222222222222222222222222222222ÿÀÄà"ÿÄ ÿĵ}!1AQa"q2‘¡#B±ÁRÑð$3br‚ %&'()*456789:CDEFGHIJSTUVWXYZcdefghijstuvwxyzƒ„…†‡ˆ‰Š’“”•–—˜™š¢£¤¥¦§¨©ª²³´µ¶·¸¹ºÂÃÄÅÆÇÈÉÊÒÓÔÕÖרÙÚáâãäåæçèéêñòóôõö÷øùúÿÄ ÿĵw!1AQaq"2B‘¡±Á #3RðbrÑ $4á%ñ&'()*56789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz‚ƒ„…†‡ˆ‰Š’“”•–—˜™š¢£¤¥¦§¨©ª²³´µ¶·¸¹ºÂÃÄÅÆÇÈÉÊÒÓÔÕÖרÙÚâãäåæçèéêòóôõö÷øùúÿÚ ?º¿Ô Ô¯"XîZ5Hä>žôÿ³]Ð_Qÿ¿£ü(¶ÿíSþ¿_ù-Y©IXeo³]Ð_Qÿ¿£ü(û5×ýõûú?¬Ð:ÓåB¹QbËÖ¯˜©Ã™NÓèxâ­ÞI¡éMo§â«ûk™bˆÞàd©ï÷zf¹ý ¾±ª"h÷vpO"ȲȊÈPä19'&·µ›]^ãÄZA°Ð[›‚[¸ ŠUÙ8!Øc…$j9UÐû›qøn)cY#ÖõWG•–áH ÷û´¿ðŒ¦â¿ÛZ®à3´/ÿ\Þ»ke¤ê¶ZU¥ÔF}JÕt׉î¶ÉŽ’Èìd¸©ïü7k§x–+¨<=u¨fÚ ’;‚nŒy—à`¯8=âÔb+»yÿ_ðM[]ÊùçKojrµ¼†)BÜ/Èã±ùjÏü"ëÿA[þÿ¯ÿ\Ö£¦\¾³©ê©¤jÏx—p}™ãØ0ªï޹Èô©&Óo]’VÓ5FÕô<ŠÊ<ˆáÜ>R7ô FÓ“ß½(Å4¿®ÀÞ¬èá_ú êß÷ýøš?á_ú êß÷ýøšæ-ô¹­5ùu }WYÛWÈË•û9P…2ci;LóÒ½œzÑÊ­p¾¶9 ;mPÔ&°´ñEü×Pç̉.T‘ƒƒü<àúVü"ëÿA[þÿ¯ÿYz·úˆ>Ñ©hWZr[¤‰g†1JHËV$³`p{×Amy{yw¨Ú˧Íg$LêÂpW–P9Þ}‡#+þuÿ Î­ÿ×ÿ‰ª­–—¡ÁÚŸ‰u+XämˆÒ\ 3z—­néVzšH5 Tê ÄmcŰÀzÖGŽ!º¹Òmaµ¶ÔfoµÆîÚ{*詃 ±4šHhKÓ´ÝjÙ®tßêW0«˜Ù’áxa‚Aùx<ή ¢ã:Öª2p3p¼ÿãµÏ_YI©è]¬š³¶Þörò*M,j 4’mqG’N*¯|=l—z¡4zv¤Ï³ÉûÃÈù~zާ©CaÌÍsƒåŒ|‚FO\p{ÕO±]ÜiÚ_ö¾‹¬ÝÙÅÅöHåD7ÊωFÎÜhåAs¨ÿ„]è3«ßõÿâhÿ„]è3«ßõÿâk›¸Óõ;[( Æ“¨j2\é­m"E8\6PHK `¼2x5âGkm:7Ö­u<ºtQX¼Xž ”&~q–'o 6E++mýkþ_ˆúÛúéþÚC£ÙÜ^\ZCâ Mî-¶ùÑ‹…ÊddgåïV?áMŶµ]Àgh_þ&¹KýYd¸™4VImtèÉ¢—j™G$Œ¸%?Åèjö¡£ ñ­Ð¾ßúÝ­¦ªééw™-$º*R7ÙƒülF[Ûr ëó7?á_ú êß÷ýøš?á_ú êß÷ýøšæôÝ1ã2ù:&±nŸb•/…ÄÛ¾Öä »?x~lî9ùzþV|§Ï¤ÞÚº^§mºr}¦K™7©œrK±Ý×§ŠUíýuÿ!7§õälOáè- yç×uHâK;µÂ€ u$í¨¬tk=NÊ;Ë/jsÛÈ2’%ÂÝ¿»[×Ωc3=«Ý(\˜C3ûHñ¬O Ü]dÍúUõ¤‘I#ªÜª.ðÌÌícÛqÖ•ÆÞè–šu¤—wž Ôà·ˆny$¹Pß4ëmÞòÚ;›}wT–T2:Ü) C÷js¨\Ýø\^_h7IpàçO%‘NHžǭA ]ÞÁá[G½K»HH³lW™€È CÉã$ÓåZß »XŽÿH²ÒíîûÄ:œ&2ïp sÓøiÖz%¦¡iݦ¿©Ío(ÊH— A÷Í.¨×·:~ª¶—9šÞTžkÚò®T‚!IR}{U¯ Û\A§O%Ì/\ÝIp°>7D¬rãŒý=hQZßúþ¿@¾Ö"o FˆYµ­T*Œ’g^ýóTæÓ¬!±†ôëú³[Í-Ò`Á³ÈÆ´¼[ ÍÇ„uh­ÞÕÂêxè+ŸñUƒk:6‘&›[mFŒ“… cOOv-Åk¡dã¯ëcJïH²±µ7~ Ôáˆã ÷ :öÆÚ†{-.Ù-Þê1­ÀÌE®n¿wÞ—WÒnÑô©cûW‘kFñéä @ÁÏÝà÷ÏëF­k¨ËmlU/>ß5¯‘;Ál‡8ÈmÇåç¸ÍL¤ÕìŒÝI«éÓü‹Ãà FF³«ÿ]×ÿ‰£þuÿ Î­ÿ×ÿ‰©¡¾{Ý7E<ò}ÒÊb5PO®O±Z¥±¬es”¸ÓôÛ[Èìçñ&£ĘÛ\®Nzwþuÿ Î­ÿ×ÿ‰ª·V×qiØ1îü¥ã¸v@9'#n8À=ªtÙ VçOÔ.n„ÊbºŠãda0ÍÀÀ99ük5'Õº²Mèh !$ gVã¯ï×ÿ‰£þuÿ Î­ÿ×ÿ‰ª¶údv>$žXôyÞI§-È—ª•³–ëxÇzê*ãfµF‘“w¹ƒÿºÿÐgVÿ¿ëÿÄÕ+=?M¿¸– OêsKwªÎ8ÁÇ÷}kª=MsZ5½ì®ÔƒP‚Øo3%Ôªñäœ/õϧž’JœšjÅøE×þƒ:·ýÿ_þ&øE×þƒ:·ýÿ_þ&·¨«åE˜?ð‹¯ýuoûþ¿üM2_,H\ë¶Iýúú»] V¿8²”ú##ME67¡Ë˦ˆÎ?µu?lÝñʹ¥YªL%7·Ó6š`ËÀð­rÚ†‹©j7sßÉ©®a?è ƒý¡Ü·C]NŒe)Ÿ³ÍÛ&ýŸw;W8®š´!6–¦1¨Ü¬a[Çö©ÿ_¯ü–¬ÕkoøþÕ?ëõÿ’ÕšåŽÆÁESí]ëVZmµ²\´€˜U˜¤LṈ(÷5Îv­;õÖ.E½½Ÿ™¦ù(e1Ψòמ•m-›j7F•槦ZÝÆ'¥ 6ô„¾Å'³vsRÜë6V—Ko+¾ó´–XÙ•2p70\ûÖv§c~ÓÜ¥­ªÉô"'c _#Œgø=½)/ôëö’æÖK{ÔEyÌ|œ §Ž§€ O4ûuÿ?ø™Ês×OÀÓºÕ­m.’Ù¼Ù'qŸ.šB£¦[h8æ¯W)¨èWÍâ o­„’ü½’‹“·Û×)Ñò=kf ë¹µÛ›O³³·s9$ó€:`þôá&þ"”ß3MUN×T´¼»žÖf’¿” ~Œ®V$Úð‘Ë4šhKWŒEæý¡O“½yªnÒH©¶­cA5+I57Ó’]×1Çæ2€pצyu欇RX¯PJçltK?ÄÂhÓÙä,òÜ+ îAû¸Ïo_J¹§ØËoªjóÿgÛAö‡VI’BÍ>qü8éÅLe&µZê(ÊWÕuý Z~«o©6épyß,°ÿd°þ¶z­µô︙Âg÷¾KÛ¯ŒÀÖ6•¤]Ãq0û'ö|- FÁnše‘FP~èúuö£ÃZ=î•(ŠXÞ8£‡Ëwk“(¸`F)ûœgjQ”›WD)ÏK¯ëúüŽ‚k¨`¶–áÜyQ)g+ÎëÒ«G¬Z½„—®³Á xÏÆÀYú~™4õ¯ö]¥»Í,¬ I™’@Ç©n °ü©š]–¡cixðÙCò¬å»i2Fwç8ÈÀÚŸ4¿ëúÜ®i]hiE­YËi5Îe! J²ÄÈéŸU# UðCAÈ<ƒ\ŵ”ö.¬ÒÙ˜VáHŠÛÍ3>Jí府’8í[Úl[i–°JÛ¤Ž%V>àS„›ßÈp”žä×Çmo$ò’#K1<j¤šå“\Y@Í,r^©hXY7c¨äpqÎ4ý`£^ >SpOJÅ»´“[þË0Ã#Yù5ÊKå¼DãÎx?)JJV^_¯ù ¤¥‡úÕCÄzsAçFÓʦV…Dp;3²ýí  =Gæñž-`¸VšA8&4Žg pNÐ2÷†4Ûñb–Òx}$…g•ÕVûËtü¤0ÇbA«°ZjúpµºXìÞI†Xš`¬£vWæ<¯Z•)I§>߃6ì¯`Ô-RæÙ÷Âÿu°F:Y~ÊîÞIdäoÆWßž”¶rÖÈ×iNFYclížõ‹®x|_]‹‹x-üÉÐÛ\¼ˆ òqÇ$cõ­$ä–ˆÕɨÝjo«+¨e ƒÐƒUSµMM4âíö—]À$üž€ðx¨Þ;›°µÓlàû“eöyHF9æªêgR:½›Ûi¾|1c'Ús¹Hè}3C—n┚^z§Öìmï~Ë#É¿!Y„LQ è€À'ÜÔ‘ê–²êRièìn#]Ì6vãv1žGõ“«ØêúŒ*–I¶)¢ºûIA!£þ#ÇëSÌu#â8fM7uª#DfûBŽƒ»o^1Ò¥JW׿o/óœ“.Ÿypk6GPûy<ÍÛ7ym³v3·~1»³WëŸûù½[S‹D¼ûP¹óO;¶íë׌×AN µvT[mÜÏ·Ö¬®nÍ´o&ï›k´L¨ûz…b0Ä{zQg­Øß]5´/'˜eß p RFg¸¬Ølõ <@·ÒØ$&5pò‹’ë0Æ*»ØçŽóOÑcÕäÔ%ºÕìü¹YJ¡YÕ£s÷Tœú“SI´™ò¿Ï±³wu•¤·3nò¢R͵K°æ–;ˆfMñÊŒ dàôúúU}^®4kÈ-ãM,,ˆ¥¶ä‘޽ºÖ—¤ÜÚaƉml"¶1k8m[¤ó dg ““ódöç4§&“·bÛ³HسÔí¯lÒé ÇýÓ:Éï4—vЪ4·"Èp…œÇÛÖ¹Û6îûDÒí®ôhe{y£ó#’e`G,9Ï¥Dt9äÒV)4{W6×­,6ÎÈÊc9àazôö¡Éݤ¿­?Ïð2U'mºyKO Æ¥Œ#tbë^jVºp€L$ +VŽ&eôÉñ®sVÐo/í¬$6(« º›iQU2FYJ’Áã¿5ÅŽ¥‡¬´ûM6IJ2³y×jY6¶p[ñéÒ—<»©-tèt’]EÌVîØ’PJ pqן^j;‹ø-®­í圕F±\úñ¬ûñqy6ކ†q?Ÿ pUH#pãÀ~4ýZdþÑÒàùŒq¼¤ðÉ'{Õs?Å/ȹMÙ³[9ÀÏLÓZXÑÕEVnŠN §×/ªé7ßÝ0Ò¡»iöùWo( o€<ŒŸ—Öœ¤ÖÈs“ŠºGIçÅæy~joÎ6îüªJä/´K–Ô¯®áÑà’v’ǘŠçoÞlã*uÕ=Åm­E ¶ÚjÃ<ø¶îóSnqÃô¤K˜äžHP’ÈcŽãë\²ørô_¬>]·öRÝy‚ «€2_~1÷²vý[±·¿ƒÄ—W#EŠ {•ò$É’A?1sœz…9;]V´—To¬ð¹!%F d€ÀñT­u˹ڤp@,¬ñ2«Ô«†Çµaéz5Íí¬ñh–öÏö‰Úi#•s±³·8ŽG±Vm¬õ#­¾ úz@뫵vþ ýÁǵòÑØJ¤ŸN¾f¥Ž³e¨ÎðÀÒ w$L›—8ܹ#ÜV…`èQê­u=ίiåÜ:€L®Š3÷T@÷=kz®-¸¦Ë§&ÕßùAw´@ʼnIJž«_ÿÇœŸîŸäjÖè§±„ê€ñ#cýÈÿøŠ·§¼dó;ÀÈœ`QTäûß…M¦ÿ­þÚÿ%®ÊÑ^͘ÁûÇ=mÿÚ§ý~¿òZ³U­¿ãûTÿ¯×þKVk†;…QL zÍŽ¡q$Ó3HƒwÍ(aœeI0Èê3]׋?²d¶³þÃÕ®‹*"Ko{Šn–u$àÕÉèöZÄ7×W:´¶“4¼FÐHøE…@Üä’k­Õ4ýföMm9l 6Œ³?Údubv‘µHèhìÍXµí5ã&[¨­¥HÄÐ\:¤¡]sòÔ)â¿É,q¦»¦´’0TQt„±8à õä~u‹âh§¸ñ µ¥µèKö{飶-€ó‚ýÈÇÑf6›ª]ø§Ä––ZM´vw‰Fâö@U!ØÀø$àtÏzkP;i5½*-Ité5+D¾lm·i”HsþÎsW뀸ð¿ÚóL°[_ZÍp— n¯î"ua·ø(ØÚ'õßÒèñm‹k§H÷hûA·Ý°l,yç=1íW4íOÔ¤ò#™#»·ZÈëæ®TW>Çl&óÖÚ;qpûwcÏ®8Ï¥sÖÚ§ µÌzz»’yš7pJ¶FGË÷¹ïéZ.Gýu6µ6´Óúð Ë}[O»¹’ÚÚúÞiãÎø£”3.89ԺݼÉz÷Éd,ÛlÆäª€1Ù F+EðœÚV¡jíom*Z‡\ÉËà‚3圠$uÇáRMrÞ-f{»{9#»‰—hîònÙ´ Œæ›Œ/£$/dÍØ56ïΗÖ÷/ ît†Uvè QÐ|UeâZ;H.£+NLÈÚäíèO<Î𶟨=®—-í¥µ¬Vvæ$D’F$C+àœñ]‚ ieµ³Œ:Å€Æ` í^?AïJjºÜ™(+ÅnZªz®¥‘¥Üê #Cn†G€Xè _òjÓhVÓk‹ jòG•ää/$ò÷­bŽxš)£Y#q†GzQ³ÔÎ-]_c/MñŽ£myq‰-¢´“Ë•îp€ õÏNEX[Ò¥³’î=JÑí¢À’U™J§Ôç¡Õ´ue²Î;t•g[€²'É#¯÷ñëëì*ƒèúœÉö§‡JKŹYÖ$VòÜ…+ó¾2O9`UÚ]T`õ4Û^ÑÒÞ)ßT³Xe cΡ\/\óŠ•um9ÒÝÒúÙ–ä퀉F%>‹ëøW#«ØjvÓióÿgÃ=ÛêéÒžH"ýÞÁ“ŒƒœãùU½FÒóNÑ¥¸û3I©½É¹…laiÐðÈ'Þ«ÙÇMw)ÒŽ–{ÿÁ:®i#ÔìÆ]£æeûË÷—¯QÜSe×tØá¶•o •nœ$;&OÞãåÉǵdßh·—E…µ­½Œáeûrï|î<<’NsÒ§Ö4íZòÆÞH4Ômë,ÛÝÀ?.qÔâ—,nµêO,4³5o5K 9£[ÛÛ{fáÒÝôÏZ¤|O¥%І[¸¢Ñ^ä•s‘òòx¬_Ûêï¹K(.ç½´û,Ñ,RJ±‘“‘…èwwÇJ°Ú¢ÊÅaÓóýš¶ˆdfÜ­ß8åúzP¡]S…“oøÅLjt{M@X\êVÐÝ "’@§×ùU-OŶ:V©ýŸ5½ÓˈŽèÐýãì^sëM—LÕãžÖæÑ¬DâÕm¦ówLî\›¿ZÚk;y\I4É..ÑŒ’§#òŸ£_­Þ ×¶ºb%ã3[³AÛµz¨éÏ9ïYúwƒeµ>T°Ûa-žÞ;¥»žG®3å¿Ê3Üô§ËårS×Szé·ZØí®#Ÿ<4R+"í# r ôÅMµa>›6¢.bqÝ7˜¬˜NA<~µm¤kqêö×Ï¿g´{e3‚Àà®NÞW§lš³¤éº´Q_Ûê b‘]4’nîÅY¸ÆG8Ç¿õò FÑš6:Þ—©[=Å•ý¼ð¢îwI1ž}?¯qâm*-*óQ†î;Èm|¢ÕÖFéŸcTâÓ5¯ìIì&þÌ` XaUÀà—<‘Ø9¥Ð<<ÖøÞCm¶ïj´+#Τ(Ç- Üsœc ÇM°Ww-5vÙF×-õµ¹kx§ìòùN%P>lÆ õvîîÚÂÙînî"·9i%pª¿RiÑAü¨’=í¹¶(©õÓ$V ›‰–Yw¸<Ç÷ç<žÇÚ™ÿŒ±ë ?‘osnןj-äèÈwnûƒ(H=={С¬9)ÛsE|[bÚïö@·»óþÐm·ì7ÞyÎqjߨE¨ŸÎÐù»‹ïØ7n#Ï®8úTÕœšÒÆRq 9‹oéÞ"mÀµÜÊþ[É‘lSŒž †8p¦¶ ×4«©î!·Ô­%–Ü2$ÊÆ0:–ñXN‡®[ê:Ã^.š¶ºœ­#=¼¯æÅû°€ ¨îç¨ëPhþÔ­/4aw&ž¶Ú4OjŒ²\evùQŽHäÖò….§éþz~$kvt–~ ѵ …‚ËU²¹™ÔºÇ êÌ@ê@´k•ð†%Эîú×M2µÔ—1Ïn b\œ“¹Fv®ª²¨¢¥h‚ ­ÿrÿºßÈÕš­ÿrÿºßÈÔGtcúÔúgúÈÿí¯òZºÔúgúÈÿí¯òZî­ü6aˆç­¿ãûTÿ¯×þKVjµ·üjŸõúÿÉjÍyñØè (¢˜jÔ“Æz–ëa{|bºŠ$/‘!ê¹!psÛHÇZËíW%ðÕõõɽMNÞ8ä­fбO+'–Þ3ÍØcNAš3øÃA¶0y—ãF²©H¡èÎBƒÝ±KâíL¾ûåéŽçhuŒC#SÝp§pñœwÅd[x;T±²–Ò×Yµ\ÅäÜ™,KPx6§¾FyÇjÐ} TMrÞöÓR³ŽÖºÁ-“;ìà·ÏæN:ã󣨺eñV‹ ,¤½bÊ…¼§1†<€dÆÀNG÷µ³\eÇ€ mr{ø#Ò'œ\:ÞéÞ|Šügkï\2 vtt2Û[¶»×.´¸¿ÖÛF÷+©äã€T=Á5^ÃÅÚ&¥¨µ…­ã5Ê»FU ‘õû˹” Læ MZ_Yµk#O'ìâŃy{·c™÷½ñj‚ êq]C+ê¶Ì±ê^2‹2 ÛŸ3޽JKÿZÿ>¶eãeÔ¼O6“ga#A˜å¹”I]ÇÇŒs݆,éÙx§FÔ.^ÞÖðÉ"«0ýÓ€áz”$añþÉ5WNеkkýBK½RÒ{KéI!ŽÍ£pJo0öQÚ™cáÝJÞk?´j–ÓAa%š%™FS·j—;Îì@¹¡l†í}/<4ðÍ*êD¤*Í)òþïß/u*yÇ8ÅMaã-S•¢³¿ó$HÚR¾LŠB޽TsŽq×b¨Cáet-KL›X±qx$Û"iì¥ÉÜHóNî §ãP]x*þîY¤:ÔqK–1Z• ¼jƒ¿ºБïKúùˆ×.ÑŸI¼Ô£¸•à³Mó(·H£!PÜúã-¯‰tÛÝ*mF¹û<#/¾ÒUn™áJäþÖ.‹à‰4¶Õ BßÈxl¬~ÎàÃçlð{Ö¥®™¯[éÓDúÝ´·U!ceˆãQÔ•ß¹˜úî§­í /2x¼CcÿüZÍÌÉ ¬Š0%³“€À$ûc>Õž1СÓ?´d½u¶ˆ›y7+žŠÉ·p'Œds‘ëTm<-©Ã¡Aa6­m$Ö“,Ö“-™P¬ ?:™áÉèE:_ êsÛÊÒj¶¿nžêå”Y,¬X*¡<̺2I4ú‚ØÞÓu;MZÌ]YJdˆ±\²2AÁXÔUºÁƒFÕ`ÓõxcÕâŽêög– ˆí?ãܰeYˆ|`zVÍ´rÅksÍçL¨Ë´.öÇ'¦})-Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@V¿ÿ9ÝoäjÍV¿ÿ9ÝoäiÇt'±€Ýjm3ýlö×ù-Bx©´Ïõ©ÿm’×uá³üHçí¿ãûTÿ¯×þKVjµ·üjŸõúÿÉjÍyñØè (¢˜6Zà¼Õ¦ÓÞÍàtRÊZEb@8ù”r™êë]„úúhÂÑo­'K…Ó”oÑÀåGNz}+³ÐÖÓR7Ï{qq FFÕ'',/Ð`±8®Êm 5ah÷——/d‘&lT…‰Øw| °ÿdœ{QØ:±n¼OmcwÚ¢tÓ¦U0êHCÀIìÄ}ß©ãÜQsâ{[ õŠú'‚ÊP¦ßPÈh$ÈèX}ÃõàúÔ—~†úú).®&{(@òôñ…€0îÀ_· H”Oáèo5$¹¼¹ž{h°`±8X# u*Þ{ÙÇlPº²º†V ¬29RÒp¥ Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( «_ÿÇœŸîŸäjÍV¿ÿ9ÝoäiÇt'±ƒ'Þü*m7ýlö×ù-Bø³ ã8.©tÏõ‘ÿÛ_äµÝ[ølÂÏÛÇö©ÿ_¯ü–¬ÕkoøþÕ?ëõÿ’Õšóã±ÐQE0ÕÙYÿÇŒõÍ•q½«²³ÿ?ëšÿ*žŠ( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( «_ÿÇœ¿î·ò5f«_ÿÇœ¿îŸäiÇt'±ÏLìF9ùqÁÀÿЇò«_úÈÇ´Ÿú Ô,0qSiŸëcÿ¶¿Ékº¿ð™Ïïœý·üjŸõúÿÉjÍV¶ÿíSþ¿_ù-Y¯>;!ESí]•ŸüxÁÿ\×ùWÚ»+?øñƒþ¹¯ò  袊(¢Š(¢Š(¢Š(¢Š(¢Š(¢Š(¢Š(¢Š(¢Š(¢Š(¢Š(¢Š(¢Š(¢Š(¢Š(¢Š(¢Š(¢Š(¢Š(¢Š(¢Š(¢Š(¢Š(¢Š*µÿüyÉþéþF¬Õkÿøó—ýÖþFœwB{/Ë~6›þ¶?ûkü– nµ6™þ²?ûkü–»« ˜Gâ9ûoøþÕ?ëõÿ’Õš­mÿÚ§ý~¿òZ³^|v:Š(¦Ú»+?øñƒþ¹¯ò®7µvVñãýs_å@ÑEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEUkÿøó—ýÆþF¬Õkÿøó“ýÓü8î„ö9óSéŸëSþÚÿ%¨œa¸ô©´ßõ±ÿÛ_äµÝ_ølÂ?9ëoøþÕ?ëõÿ’Õš­mÿÚ§ý~¿òZ³^|v:Š(¦Ú»+?øñƒþ¹¯ò®7µvVñãýs_å@ÑEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEUkÿøó“ýÓüYª×Ã6’Ô©zœqÝ ì`¹ËTÚoúØÿí¯òZ…•‰û­ÿ|šŸNFY#ܤ­ê=–»« ˜Gâ9ÛoøþÕ?ëõÿ’Õš­mÿÚ§ý~¿òZ³^|v:Š(¦Ú»+?øñƒþ¹¯ò®7µvVñãýs_å@ÑEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQET71¬‘„uʓȩª9º/Ö“”zU›g17ýýñ©E¬6À“nAÎI'§½X‹¡¦ÏÕ~‡ùSrmjÄ’8;oøþÕ?ëõÿ’Õš­mÿÚ§ý~¿òZ³J; (¢Š`«²³ÿ?ëšÿ*ã{Wegÿ0×5þT=Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@G7EúÔ•ÝëIìCMŸªýò§EÐÓgê¿Cü©tƒ¶ÿíSþ¿_ù-YªÖßñýª×ëÿ%«4ã°QLµvVñãýs_å\ojì¬ÿãÆúæ¿Ê€'¢Š(¢Š(¢Š(¢Š(¢Š(¢Š(¢Š(¢Š(¢Š(¢Š(¢Š(¢Š(¢Š(¢Š(¢Š(¢Š(¢Š(¢Š(¢Š(¢Š(¢Š(¢Š(¢Š(¢Š(¢Š(¨n_Ë„¿÷A?¥MU¯Á6’助Å5ºØÅ“Y&’;ÅÙ +!p„ œñÅY°¾{¸Ð´‚E`å\c‘€{}k’Ô<#íÿÚna†b ݼjBÎG#>œõõ®›J€ÀbŒEå"¬Sn00 qøë«ªnÆ0“æ-%•œ{ŠÚÅ—bîHå˜õ&Ÿökoùõ‡þù¢Šó΀û5·üúÃÿ|Ñökoùõ‡þù¢Š>Ímÿ>°ÿß5:ÈUB¨@Àž(¢€ÎoòMs’h¢€9¿É4yÍþI¢Š<æÿ$Ñç7ù&Š(ó›ü“Gœßäš( ÎoòMs’h¢€9¿É4yÍþI¢Š<æÿ$Ñç7ù&Š(ó›ü“Gœßäš( ÎoòMs’h¢€9¿É4yÍþI¢Š<æÿ$Ñç7ù&Š(ó›ü“Gœßäš( ÎoòMs’h¢€9¿É4yÍþI¢Š<æÿ$Ñç7ù&Š(ó›ü“Gœßäš( ÎoòMs’h¢€9¿É4yÍþI¢Š<æÿ$Ñç7ù&Š(ó›ü“Gœßäš( ÎoòMs’h¢€9¿É4yÍþI¢Š<æÿ$Ñç7ù&Š(ó›ü“Gœßäš( ÎoòMs’h¢€9¿É4×1Jº†SØæŠ(¸…‘96pçéRÅVèVR0º(¢›“{±$ÿÙtraitsui-7.2.1/docs/source/traitsui_user_manual/images/TreeEditor_demo.png0000644000076500000240000014254614046644454027537 0ustar aayresstaff00000000000000‰PNG  IHDRðèö¸‚¯ pHYs  šœ IDATxœìÝy\Tõþ?ð÷™93þ ¢²…¢¨ ¨à¸•(®™ævÝ2³úêÍ%—ºæÏ¸iW¢Ì¨ÌÊÝÌRSÈDJÁ¥R1W\AÔDEP6AÙA†™9¿?>zÄaØ|=>x>ç3ŸyÏx¯½ç=Ÿ…ËÍÍ¥'ùñÇŸØà)ôÚk¯5võ‹7¤Sûöí•Je}‡P‡N:ÕØ!4AG­Ü(BÃGÐÄpW¹±wïÞ†<Ö „žqü%†whl>1c’;†&(((¨±Cx&>|ØÀž5HèˆÈÖÖ¶±Châ ï,©¿8 ¾!¡0aMjÊMow)=¥DÄ‘þµ %¢„Lžˆ'«ˆH iC‡P§P¡0aM¤BÏ‘–ˆzµ•ÑìÁ-ªì£Õj‰¨ °ˆˆÖˆhu\9i9YƒÅ P·P¡0aM¤BO‚@DRŽ#"™L¿âμ`?ííl‰hFŸB"²·± ¢Ovçêô`ššJBÿ¬šÖÇJ.åN¦”Ÿ¾©jìX eŠ1ÀÓcýúõ*•ª{÷î‹¡L1f0!M+¡ç8ªêà\ÖÂ*ôìZ&—ÑŒ`+"2“-ŽºKDZNaô“/nûœcuïçí<õâ]58#À_O´7“qï)4¡äØc€gJxxø­[·lll–,Y"•V½ÚáÇùå" ³±±iØŸ"¡¡¡7oÞ¬¦ƒ««khhhÝ>éœ9sîß¿ÿßÿþׄ’cSŒLHÓJèÕè®æþnòj:\ά0.¡w²–¼;Ȇˆ¾ÿ«øj¶ÚÈøLÖD¥…Ÿ›üÖ=õªƒÅ <vïÞ””DDvvvóçϯ²ORRÒO?ýDD .|–ú;w^¸p¡š:t0.¡ÏÉÉùòË/‰è7Þh×®‘ñ™¬mÛ¶%$$¸¹¹Íœ9³±cФzNÐß{þ‘»:•{VqagêmwŸˆ´Ã­‰è¿•PíæÓ— 'o”Wy+%×È\¼¥­tá‹6Dtüzù3˜Ð ´ÕÕâ\š =4°Ï?ÿ|À€;wnì@žvVVVÝ»w¯ò–§§§qcfff~úé§DÔ³gÏg0¡ÿù矣¢¢ºté‚„ Q÷ }Ô,§‘]Ìkô]çÊF­Ì©óHEÂmÕ€/î4vPÔjõôéÓ:dffÖØ±<Õüüü~ÿý÷ÆŽàÙU÷ÛV¾‘W¦ª®R®§T%¼‘WçaTÏÒÒÒÒÒÒÞÞÞÞÞÞÙÙÙÙÙybwˉÝ-û´3ëÓ®þÕ¶RpÏɬkû×!•P'W™§#_iÁ#$¹ØK»='oç̛˫íZCG­ì¤Ýž“»Øz ¯14Šk×®-^¼¸¦*--ýûï¿“’’T*ƒ ݹsçâÅ‹•;gdd$$$>>==ÝÀ‡3€ê>¡OÉU/)4¼ÿ§1…FÏE1QNÖõ:wõ:÷A>fÿ °8Ò"ï·øZÜYîz;Üe|7 ±ç”^–êuîþ×’ýý¶{à8>Lû²˜¹N÷V¸&ü¯åO[~ëöÁ0[¾Ò_//¡ÿ½l›þ¹Ëíp—S´øûãV߸FNwlë¬ÿ]ÍosœÔëÜÿœß¼rüQ³œÔëÜ/pÖkŸ ´ø;¬Uúç.§>hq;Ü%ó —Yý¬¥ÊýÊU½Î}V?ëšÆ|}i+õ:÷Q]-ˆ¨‹»œ½ö‹¡-«{sêH```‡ˆhãÆüñ‡:tèÐðáÃÝÝÝ{÷îôÜsÏõë×/22R·ÏÝ»wY-éàÁƒÛ·oá…:vìØ·o_ww÷… –•• ‚°eË??¿àààçž{nÈ!×®]«ütgΜ3fŒ§§gŸ>}úöíëåå5tèÐãÇWî™`xºYrrrxžçy~ÿþý;vìèÑ£‡½½}·nÝš7oîêê!öüá‡xž÷÷÷g¿Ž1‚=Pïm$¢+W® :ÔÁÁÁÏϯuëÖ666aaajµ~R¡V«ÿ÷¿ÿ¹¸¸¸ºº*•Jooo[[ÛqãÆ%''ëõ>|8ÏóÁÁÁ•ã5jÏóAAAzíÛ·o÷öövqqQ*•®®®-[¶\¹r¥F£qttäy~åÊ•5¹M›6<ÏGEEѹsçØk÷õõ­þí…g\½Ì¡ßWøZ/K¯æOüÚuø¾dÿµ§;“ž},–H$DdiiIDþ.…Dt(™}\®¯Š±TÂI%DD:˜Í`-çÿy"{éö·­Íîm8RLD¼ôAOÇñ’Gbke'ÝûŽ“G³Þp+÷ÑHÛÖNü›ßßÕí¹f²Ãÿ½`¥Û"“rc-”žò^K³3ò5ºíR ɤU¼ rž¤’?ú×ûrgó­Óuãja+ýv’}ÇV2Ö_öhCb–ó¼|v-¯*$€:§P(>ÿüóAƒ©Tª9sæ9rÄÁÁ¡ú‡=zt„ ºÉ™J¥JLLœ9sfzzú;ï¼Ã5F£!¢?þøcýúõ욈Ôjõ† òóóÛ·o¦;ÈéÓ§GŽãîî.¶_¾|yìØ±……ügôÔ©S&Lؽ{w§NÄÆE‹­^½Z*•nݺuÀ€F¾#µ#¾êßÿ}ÅŠº_;¤§§O˜0¡¨¨hêÔ©D¤V«Å÷D|,k×mÌÈÈ2dHjjªØR\\¼hÑ¢7nlܸQ·çôéÓ¿ûî;Ý–ŠŠŠŸþùÔ©SÇŽkÕª•n»F£©¨¨¨¿J¥Òh4zß–üú믓&MbGÑ3YYYo¿ýö¥K—X½¡ ‰™=PïµøU<³ê夨û¼íÍ¢™·=ï~ųûeÓ{ClŠî 3¶ÜóYœé»8siL¡FKDôÉh; 9GDÛO•´ Éù탯#gm½×6$£mHÆ®s¥ºã¼ÑÛ²•tñ®‚ç?Ínó~ÆÔîå—j‰èõ^–Ïý³ñNèH[–ÍŸMU±'ñmÎ÷GKˆÈ£3×ÉÆÜÈÿ=øºÈ¶Lm&á¨B#|¶·°_ønaYÿÊÏ.ÔÌìgemVۆÄÜkiVÛŒ?.ß'¢¿³*Økþ<Û¸ jÊ××7$$„ˆ²³³·Ý(''çÿþïÿÔjµ¹¹yxxx\\Ü¡C‡-ZÔ²eK"úä“Oòòôÿ˸fÍWW×µk×>|xÑ¢E,³Ü±cÇÇܬY³o¿ýöèѣ˗/ïÚµ+eeeíØ±C|lvvöĉ årù’%KâââŽ9²dɹ\^RR2qâÄŒŒ ±ó®]»ˆH£ÑìÞ½»nÞšZ·¶¶^½zuRRÒÅ‹ßÿ}¶SEHHHii)M˜0!99™ÅLD+W®LNNNNN9r¤î8ßÿ}FFFhhè_ýuýúõ 6ØÙÙѦM›NŸ>-v[¼x1Ëæ»víÊž4::ú7Þ ¢ÔÔÔ¡C‡ê}"2ÜÅ‹_}õU­V+“É,XpðàÁøøø?þØÙÙyÕªUEEE•bHÌÇŽKNNîß¿?y{{³×þçŸ$<#êk—›= e¿ž/{¹su«c£Ï—íI¨ËIl5Uyzs™@D D$U¡÷i%‹šåTå­/÷I~dœ’raðò;gR|ìÙ™og!™Ñ×ÊÉZÒ¡¥ìLªª¤\¸vGmñpšûí<͵;ULOÒ 4qÝÝ_Î<ÈòoäÝ×F¼åÈqÔ¯½Ûî½¥­tÑ0["J»§¼üNn±–ˆ.eTüz¾¬B#ü»•¿›|zÕg{ùwmÑ0[–µ¿³=åÁÿ„¾©úãòýà œ|ï¤!1ߺ§!¢Â2-•ª„*_;@½š9sæþýû;ö믿FDDŒ?þq=ÓÒÒØ,‘É“'6Œ5úúúZZZ.\¸P„'N¼øâ‹º±··ß±cÛÆÇǧeË–lK©TºsçN"òööîÓ§O@@;wN|lxxøíÛ·yžß´iÓ AƒXc‡\]]§Nš••µiÓ&öi„ˆFµjÕ*©T*V·’’’FUå­wß}÷…^Ðm±´´Ü·o{EDôÉ'Ÿäçç¯^½:''çòåË–––^^^,¹'"WWW//¯Ê#K$’mÛ¶3†ýÚºukkkëñãÇ ‚pðàA¶Ý{ffæG}DDîîîûöístt$¢Ž;¾üòË2™lݺu.\X³fÍ‚ ŒxÕ}ôËÚ—/_>kÖ,ÖØ¿ÿ   òò*¶¼3$f777"b{¡ZXXTùÚôÔK…ž©¾ú~¿Bxǰ*¾i±5—Œìb^åŸÊÇNýqù¾˜Í3?,a†LX%¥Wˆ™1óóéÒrµ@DíNŽËÞÓ7ç±l^4û§<6ÙF·œ_#ÏɉèHr¹˜Í3'o¨· Â˜D"YµjË®.\xëÖ­Çõ ˆˆˆˆˆˆÐKšÇÇ*Љ‰‰z8p î®Ž#FŒ°²²"¢Î;³lžñðð`¿^¿~]ldÉ}Ÿ>}Äl^¤cÇŽD” 6†††9räܹsõ4ߦ  `×cT>vªÿþb6ϼòÊ+ì¢Êuããã#fÆÌرc ]½z•µˆeï5kÖ°l^ôÍ7ß°¯DtËù5ræÌ"zá…ÄlžéÞ½ûûï¿otÌF¨ÇÌ)%WýÉžÂБ¶UÞýdÏÓ²VwVýƒìÙO£¦jç•jc«þÚ¡rùdŠþÇwV“&¢*§©>>{öì¹qãF^^^•ª‘À¦ìê~—"òóó3:f#ÔoB¿B˜³-o÷ýMæl{¦×Â6Šêÿë nƒkÄfðâÛªÖÔÚ[ ÜMAxxø‰'233—.]Ú¯_¿ÊRSS t÷îƒšŽ£££“““­­­ÝÞ½{ë6±TïââR9?aóêßñƒ“o”ø€:¯§òh€zUï“•÷$”ýv¡l¸ÿ?«c»ÐÈkaŸM§oª†v2oe'µ³äWªÁûºÈˆ(%W}¯ä‘[ Y ¾“õ#‡F]ά(S ærÎÏUV¹sg÷*LŽÝ·ß~û¯ýK¥R͘1côèÑz>ûì3–Í¿õÖ[ï¾ûn³fÍX»F£quu­r'D£ùøøð<¯V«'Nœ¸páÂ:¹‰ Œ‰‰ÉÈÈÈÏÏgûÉèºxñ"yzzêmHZåzV½°:tè`nn^VV¦»VAtþüùÚ†P Q=«S¿_!Ì݆­FªÍìlß"êÑZ¢¼œçº¸ËuûKú]ìô|•óœÿ£‰»Fû`^Í_sËGþÅq4¹§¥Ñ1ë=oŒ`´   ·Þz‹ˆ._¾\ùÀ cÇŽQ³fÍ>üðC1›'¢Ó§O×m6OD …ÂÛÛ[|Ò¦­6[°³}cˆèĉ•‡e ‹Å>DÄ’þÊ'p©T*½5 R©”ͫٻwï½{÷to ‚°yóf£cÖ{Þ:š¼†HèSrÕŸÆ>˜1ÿiìÓ²Ö„¨¾a½¼ªžmi1Y_3Ù¡™Õ#ï+&Ø·²“Ò£ ý¹4µ²“öhýÈ“¾3кrnͶŠw±—nû·£îQP¡#l‡vªnëRC¨4DDí[È0{Ý¢E‹ØŠÕüü|½[¶¶¶D¤V«u“°ŠŠŠU«VÕG$;w&¢ãÇÿüóϺ텅…ÿú׿zöì)nCDeeeÛ·o?xð  M‘Ë”Ÿjó¡ELÖ§OŸ.ΆbæÎ˶ê×Mè»téBDz–/_^9·f[ŧ§§Oœ8Q÷(¨Å‹ÇÄÄ3Ã^þ•+W0{ Ñ@û.‹-œÒË’]4Ì36–6ÒI=ª®Iß+yì8ÕK»§â8š¨´HήøóJyÚ=u™ªfÿ(ghÂv|0ÌÖ£¿w^󵇋ÿJ.oÓœÙÅ|ê VD”p»bÍáb±?Kè‰hû[ÍÞÈ?KåéÈ¿ägþÎ@ëʃ/ù­ O;Åómƒ|̲¾tÝŸTV®¦¾Þ OGþ^‰V¯l_S©wÕD$•ЪWV*º‘£¾§yâ£êƒB¡X³f ;>VïV¿~ý.^¼XPP0oÞ¼7ß|³]»vçÏŸ_µjU\\\}D2þüܹsgΜ9ééé °··?{öìÊ•+ÙÖ.º+wgÏžÍÎiúúë¯uýº’••õ¸E±Û§zîîîÇ ‚°mÛ¶¶mÛ»»»››×¬HÔ²eË>ø ,,,55uÈ!o½õÖóÏ?ýúõ]»vmذˆüüü¦OŸ.ög =M˜0áË/¿ìܹsJJÊž={–/_^yð?ü0..þÚ¿‹- ¤P(:”’’âàà W¶¯)"Òh43gΜ1cFëÖ­]]]k3 4m ”Ð߯fÿ”Ç=Û˜´vâ·LmVå­Ë™Æ%ô¥*a_Òý!¾f-l¥«^u ¢IëïŠ;ÖnÑ®‚VvÒ7Ÿ· |NøÜ#óÓî©_üê;‰ùýÒýÈøÒqÝ,<šñ¿ÌügïÞÜbí©”r½º»J-Œ^•sê¿-žsä­$¯t·;Y•sxA‹ú u¶ì½Á6G””ÉÙêvÿÍxòÃꇯ¯ïûï¿¿dɽöI“&EDDܹs‡í¿.¶÷êÕ+%%%33³nÃpssÛ¶mÛðáÃKKKÃÂÂÂÂÂtï¾øâ‹&Lwo<}út}$ô7nÜxõÕW«¼Õ¡Cãz ‹ÁƒïÝ»7++‹·µuëV#‚ÿè£2226nÜxúôi½-çÝÝÝcccÙ.ŸÌ€Æ™ššª»a¼£££R©Ô«»Ëåò;w*•Ê›7oæææþôÓObç_~ù%((¨¦¡ê5jTxx¸ Û·oß¾}{Û¶m±Q=T£áæ0ìI(Ûݤ×Âjž´Ù£ØA£ô.DZ¡ê[o~÷«Eâ~2Â?ݪGlÔ»õÖ÷>Ú]p§èŸ ·ZK¿œ)øÅv¶”N$4ù»»ß-É.ü§ýÐß÷ƒ?Ïf›åë½Þœ"m§3çmÏûåLé‰åQgKÿ•ïõ~ÆÙTý"VMc>q£|ìšÜ¿²ÛÄ?ÀS€Å~ViÖ¬YâFãb7//¯ýû÷¿ð âf”r¹ü­·ÞÚ²e Û—PìYùBï©+ïs_eHþþþºû K¥Ò¶mÛ®\¹róæÍºƒÌž=[¡P8;;¿öÚkO~ý5QÍ»¤×¡šW-†ªwkãÆóæÍ÷“7¥©æ/¨Ê[k×®]´h‘îv@<Ï3æÀìl)ÝH6oÞüÆoèî/Ù·oß?ÿü“m–¯7²““SbbâW_}5f̘=zŒ5êã?¾víšÞ FÄÜ£GŸþùùçŸ×{íUâ Ù+÷Ô©SJ¥ÒñÿÕ¸$Ü`8ACD òD4w˜›Ñã¬Ø}‹ˆ>= &"{Â?R —•™D‘Þ^45%•‹ïd-)U i÷Ô%åOH’[;ñ– .õ®F·„o N®²„ÿµ$¢W7ÜÝz¢Vÿ²Rp W|_`Ê>þÔ©S#GŽŒˆˆHIIQ©T—/_ž1cÆŠ+ˆ¨K—.U PçšJ…¾nç–a¦Z þ»|û©Ò J‹çùío9êݽœY1~­A§ ˜Š    &lß¾ýæÍ›ºK™:DDD4J`ð B…êÆÄu¹“Öß½’U¡~8'H+ÐßYë⊻œ}퀦fÛ¶m[·nmß¾=Ï?¨J$ooïÿûß'OžôòòjÜðàÙÑD*ôqDôž<"Zs›ˆ¨¦ggp©¥–D$Hn­OSòÓÉ’ŸN–Èy®ms^ÎsW³+ž¸ÜÀ¤½òÊ+¯¼òŠJ¥JNNV©TíÚµ{âr[€:×Dzxz¨ÔBRFrð4“Ëå>>><»šLBÏ‘Jj'þx4™„HAAAc‡ÿ@B5pøða½¡¦ëÖ ’ÚœŒ„ e๕ÐjÐ  =\ ài›ÔØ!Ô;ìC`ÂИ0$ô& =€ CB`ÂИ0$ô& KéV‰†ˆvÜRQ¹ª‚~6’Éy"í"%"kYãÏTèL*ôFºœ]HD2™=ñ2I9""ˆˆ¢2+ˆ¨sA  ‚`à˜2¹œˆžw–×(’ÐÐЛ7oê5:::º¸¸têÔ©oß¾ >¶4YHèMÞÎ;/\¸ð¸»îîîï¼óÎܹs9ŽkȨêDNNΗ_~IDo¼ñF»ví;C™hØ`¢ÐI£Õ‘DJD¤Õ)Á³¬Y&•Ñ%•ŒÖìY;+Ö³‚¹–#"â„®•–ˆTª"" v³®Q>>##ÃðU•5„ÞÖÖVœsb¥Rikk[ñ<%¦L™Â¦Ñš5kôîžù¤´´Tì\TTžŸŸ¿nÝ:ÝA:4tèPµZ-¶¨TªsçνöÚk·nÝ Ñù‡~øé§ŸtGP«Õì–ˆýÊÆûÍ7߈=Õjõ·ß~£$– IDAT›——çãã#> {ö'N=zô¹çžÛkúüþûï+V¬Ðý“žž>a„¢¢¢©S§>1l"ÊÈÈ2dHbb"û•ã8Arss?üðÃ'NDGGËd8»j¦éT艈çù~ýúÒ³_¿~5šŸcêˆH¥R]¾|™µdff¾ôÒK …"<<ûì?þ¸wïžF£‰‹‹‹‹‹ëÙ³ço¿ýÖ¬Y³º}FhòšfBOU­ŽmÓ¦Míך¢K—.]¼x‘ˆ:uêÄö¥ñóóãy^­V¿þúël¼!*7²‘‰HÜäqÉ’%,›Ÿ;wî|àèèÈÚ5¹¹ùÏ¢jƽu%00022R„¤¤¤¨¨¨o¿ýöÎ;Ç Y»vm¦®É&ôDÔ¯_¿ÔÔT6cÛð- d/ˆ(ÝÌŒˆ8å#"ÕéÙÎô‘L§ÔËfØkuFcµyVË·—êÞ©­[·n <˜¥Ñâ N333Ÿ .è T½ãÇ«Õj½¯8Nœ8Á.:wîÌ.>LDNNNË–-S(º=Îæ xð`¶Ÿº··÷ܹsÅ[l·–¸¸¸-[¶è>¤  `РA:t>|¸ÞhW¯^]°`nË¥K—/^LDæææ:t`öööDTQQ¡›ÎVTT|ñÅ5_.—³‹cÇŽÕô±OdÄ;` Ç…}õêU¥R©T*õÊðöööì{ ñÛ Ã5å =uëÖ-))‰]ÔíÈö-ÉefôÈÁ¯ÄUºÖèìi#è´ó:wy6ÿž¬-¥šËÊÊOM*//OOO?{öìîݻٶ¶¶[¶lÑ]{ºxñ☘˜¬¬¬7ß|óÖ­[/¾øb³fÍN:õù石¢»^îÎ,_¾¼´´tÔ¨Q-[¶>>¾OŸ>DT^^.‘H¼½½ÃÂÂ8Àö¿¨.77÷‰N:¥T*±¡ž®ß®æÑ•5=\«8ztÊ Ã=ض’ˆˆ%}ºSt$:SqØÏy o×pÓ©óòòÒÒÒxž÷òòÒ]ÆÊdee±Ýëׯ_?uêT"ÊÍͽuë–¹¹¹§§gåþ¢ŠŠŠääd"jÓ¦M5Ý ¡V«‹‹‹µZ­ƒƒCmÆyœêߣU¶V«MII)..öòò²´¬û£Ä€‰Õ; éiâQê«‚ˆ_É%"FKôH._ùDX­NÏqú}‰„#"·Ž ]¦e›ÄÞßÑÑÑå›2™¬cÇŽµˆë<Ï×kõº¦ï€ª ["‘´iӦΟžAMÊ @† ½‘:Úʉè=ožtŽ­%6!ÛÎFV'£À³ =<µµõœ9sˆÈÏϯ±c}HèÄ–N:;;7v õÎÒÒrÅŠT sèLz†„À„!¡0aHèLz†„À„!¡0aHèLz†„À„!¡0aHèLߨ@ÍÜ*ÑÑŽ[j"*WUÐÃÏd29OD£]¤Däa-k¼ A¡B&ìüùóÓ¦M[·n]cÐhP¡71—³ ‰H&³'"^¦ ")GD$QTfu.(!"A S&—ÑóÎòEzóæM½F¹\îããÓ¥K—®]»ZXXÔh@#¼úê«III6lèÔ©SÏž=ëûéžBHèÁH;wî¼páÂã»ïÞ½»S§NõƒD‚¯˜àY‡„ÞÄh´Z"’H‰ˆ´:%xŽˆˆdR]RÉèaÍžµ³b=K~µ'üs-¨´D¤RQ°›uâ±±± b×jµ:>>>77—ˆÒÒÒz÷î}äÈÿ¾ÄؼyóêÕ«Pž€gúÚŠŽŽ¾víZâåå5bĈzЧùúúþúë¯â¯Z­öäɓ˖-‹ŽŽ.**Šˆˆ¨×„ÞßßÍš5õ7>ÀÓ3j«oß¾<_ƒÏE2™¬oß¾F? ‚ @$''À‘À±†Gÿ¤7‹^Í‘úaOŽ#Ž{ÐUÂI$œäþýòû÷ËŒ‘H$={öܶm[³f͈èÀµˆ²³³ããã322 _ ëêÕ«—.]ª¨¨¨¾[aaabbâùóçóòòªïYQQ‘péÒ¥ÒÒÒê{Ö2rC ¡¯-[[ÛîÝ»Þ_©TÚÚÚÖ_{ölRR’B¡Û/^¼8xðà‚‚ÝxŽ;öÒK/ÅÅÅuéÒEl\±bÅþóF#ÆCDˆ‹‹Û³gOÿþýk9@]A…¾ð<߯_?CzöëׯFósLQrròèÑ£óóó---ß}÷]ãY¿~}bb"Çq ,ÈÌÌ,--=xð`Ÿ>}ˆ(666::ºú‡Ÿ;w.66vüøñ±±±7oÞŒ‰‰ñññ!¢ëׯóÍ7b·ÌÌÌ—^z©  @¡P„‡‡'$$$&&†‡‡ËåòâââaÆݾ}›õ,-- Ñh4íÚµ;xðàýû÷SRR¾ùæ‰DR^^>wîܺŠ ¦šxrÙ`Z·nݦM›ëׯWÓÇËË«uëÖµ|¢«y÷‰ÈL¡ "úg7Žˆ8N ‡UyŽí„£æÄkzÐÿŸ nXžý¼œËf„Û×(žÄÄÄÁƒ³ëÒÒÒŒŒŒ””AÚ´ióÍ7ßøúú÷2wïÞMDJ¥rÙ²e¬¥oß¾‘‘‘¯¿þzyyyffæG˜8qâÖ­[9Ž#"__ß¶mÛ–——>|xþüù¬OhhhZZÏó;vì6lkôõõõðð?~|FFÆš5kˆèàÁƒlÆüŠ+؈çž{îí·ßV«ÕlMpQQ‘µµuDP#HèëL¿~ýRSSÕju•wyž¯ÍZاVQQÑþýû+·+•J­Vkô°,{¾råJvv¶³óƒ¹@ÎÎκ³hª÷Þ{ï±lžqss{þùçÿøãÝ-‰âã㉨ÿþb6ÏŒ;6,,,!!áìÙ³ºñÑáLJ "öœ7oÞ¼yóê6r€AB_gØêØ£GVy·{÷îu²ÖÆÊŠˆJ5¥ô°².h"8Žž«K+'zt7úY.«åkXý^ "kkK#âqvvže½þú맯E‹âC,,,Þ{ï½sçÎݽ{7::šM¦/..~ûí·SSS,r]HèëžîÞ”†ïhi {©`/X ^n.—›ËÍÍäæfr¹\!—+x…‚W( 3…ÂŒW˜ñ 33…ÂL¡+Ìä¯-ÌÌ,ÌÌä …\ñ ¿™¹ÂÌ\a/%{iÅYVV–MDâ‡6+===]¯§J¥ºpáB5Cqçëë»hÑ¢+W®°dþúë¯ÚGhffÆö²¬ò ©êÙÙÙ½üò˱±±|ðUTTœ:uªr·zŠ@úºgkk«T*Ùõ³p.leZ­vÞ¼ylß²FvHSFFƉ't;/_¾\÷d("ºzõªR©T*•k×®Õm···g³Õuç¬×F@@ÅÅÅmÙ²E·½  `РA:t>|8kyï½÷”Je¿~ýÄ5µŒ——»`!5Xä",Š­ݺuKJJbu;²½FKDr™=rð+q•®5:{Ú:í¼Î]ž#zø©Î^[jDÿüsö©cÁ‚¬§ŸŸßçŸND#GŽ\±bEÇŽËÊÊöíÛ·páB"rvv jÈÈDHèëÏóÁÁÁ좱c©_×®]=zt•·<<88xÒ¤Iu¼‡‡ÇîÝ»ƒ‚‚JJJBBBô&¸1bÊ”)ìzܸq+W®!¤éqµSÑá+¹D¤Ñh‰Éå+Ÿ«ÕÉâY‹nF"áˆÈ­cà ÿîB"‘èmZOìííííí éiccãïïÿÄn 9<ã0åÀ„¡Bob:Úʉè=ožtÎ:­%6SÜÎFV'£@CB…À„¡BobØzMÝbàY† =€ CB`ÂИ0$ô& =€ CB`ÂИ0$ô& =€ ÃI±PcÙÙÙD¤R©ˆH½»2™Œˆìíí‰H"‘‘\.o螨И0Tè¡4 iµZ"rtt¬¦Ï;wˆÈÊÊŠˆ,,,ˆÈÌ̬Áâxv B`ÂP¡‡`3æ9Ž#"…BQå]öÓÉɉˆîÞ½KD–––DTVVFDæææ 1@S‡ =€ C…jŒUèÙ6•U®âK¥Rz8󾤤„ÖìëÐÒ¥K“““===-ZT·#<åP¡‡¦ ::úûᅧŠjì@*ôPc•÷ž×¥[¿çyžîxÃjóô°f}ojz† =Ô#;;;"²µµ¥‡ûÓÒ“jüu«¤¤$55U­V·oßþ‰gÖfgg§¥¥¹¸¸´lÙ’}ÕP%­V›™™™‘‘akkëææfÈÖ=ÅÅÅW®\ñðð`ûÿÔTè¡É:pà@PP•••¿¿¿µµu×®]7oÞ\¹giiéÌ™3ÝÜÜZ´h¡T*]\\š7oʶÚÔ¥V«ÿ÷¿ÿ¹¸¸¸ºº*•Jooo[[ÛqãÆ%''ëvËÉÉáyžçùýû÷ïØ±£GöööݺukÞ¼¹««kDDD=¾lxÆ Bõ¢ry›Í›g5ûüü|z¸ÎãvË©¥C‡ :T­V‹-*•êܹs¯½öÚ­[·BBBÄöŒŒŒ!C†$&&Š‘ ‚››ûᇞ8q"::Z&“‰§OŸþÝwßé>QEEÅÏ?ÿ|êÔ©cÇŽµjÕŠ5j4öÄï¿ÿ¾bÅ •J%öOOOŸ0aBQQÑÔ©SëáuÀ3zh‚²³³Ç¯V«-,,V­Z•pþüù¥K—º¸¸Ñ|pïÞ=±óúõë9Ž[°`AfffiiéÁƒûôéCD±±±ÑÑÑbÏÅ‹³l¾k×®«W¯NJJŠŽŽ~ã7ˆ(55uèСlB‘®ððpkkkÖùâÅ‹ï¿ÿ>û`RZZZÿï4}¨ÐC½Ó­Ö³kV8¯¿™ô7oÞìÚµ+M›6môèѬÑßßßÊÊjöìÙ‚ 9rdĈ¬}÷îÝD¤T*—-[ÆZúöíùú믗——gff²ÆÌÌÌ>úˆˆÜÝÝ÷íÛçèèHD;v|ùå—e2Ùºuë.\¸°fÍš èFbii¹oß¾€€öë'Ÿ|’ŸŸ¿zõꜜœË—/‹íFC…š îÝ»ÇÆÆÆÆÆŠÙ<3yòdV ?wîœØÈ*åW®\ÉÎÎcccÿüóÏÙ³g³–Ó§O³‹5kÖ°l^ôÍ7ß°É6bQÿþýõ²öW^y…]\»vÍøWð*ôÐ@tëô¬6ß0{ݤ¥¥eggççççççè~EÀ_ºt©  ÀÓÓsÒ¤IcÆŒéÕ«—Þ8b²Þ£G½[r¹¼K—.gΜѻս{w½777vQTTT»W@„ =4Uéééÿþ÷¿=<<”Jå AƒÆ7mÚ4ÝTž 5j•••mذáÅ_tpp Ú·oŸn7–¬·jÕÊÞÞ¾òÓùøøÑ7òòòtÛ›7o®×Çi@ÝBBMÐ7ºté²~ýzvHmóæÍ}}}_xá…—_~¹rg[[Û;wÆÇÇ;–d«Ñhââ↠Ò«W¯»wï²n†œûÄnu =4lH1«^²dINNÍ;7''';;;111..nçκ{Pê ŒŒŒÌÍÍMLL e•õãÇ‹\QFFÛsSÏÅ‹‰ÈÓÓ“}$h0HèÁdhµÚ9sæ¼ýöÛÛ¶mÓ»uûöm"rvvf¿>|˜ˆœœœ–-[¦»€õĉÕ<Çq¾¾¾‹-ºr劵µ5ýõ×_ìKèÙ zb;Üëöh0HèÁdH$’}ûö­\¹244”•ä™'Ndee‘··7kaÓÜ+**tOtª¨¨øâ‹/ôƼzõªR©T*•k×®Õm···gŸÄÏb²>}K€5u IDATútq3wîÜŒŒ BB =Ô˜ µœ)nô$¢+W®Œ=úÂ… ………ûöí7‚:t(»4håççO:õðáÃwî܉}ñÅ£¢¢ôlÛ¶m^^^||ü»ï¾»jÕª¢¢"ARRR&Ožœ’’BDãÆc=[¶lùÁQjjê!C6lØpåÊ•={öL›6mÍš5Däçç7}út#^@m`ÛJ0%sæÌùí·ßÒÒÒ~ýõ×_ýU÷Ö¿þõ/–îÑ›o¾ùã?feeEFFFFFŠ}‚‚‚®]»–žž.¶p6eÊ”ÒÒÒY³fÍš5K¡P”——³»ÁÁÁ“&M;ôÑG7n<}ú´Þ–óîîî±±±•7»¨o¨Ðƒ)i׮ݱcÇô6w—J¥óçÏÿñÇÅooï“'O‹{DÊåò¹sçFGG›››³‡ˆÇß§O "*//—H$ÞÞÞaaa°³³Ó}®µk×.Z´Hw3JžçÇŒsàÀv¶”’Þ…H"‘<ÜÜÜ'v:uê”R©lÖ¬YO3¶‰;Û@¦eË–F“™™IDNNNDÄóÆ|MtïÞ½“'O¦¥¥yyyuêÔ©òvïLEEErr2µiÓF¡PT?¦V«MII)..öòò²´´¬¦§F£IOOÏÉɱ°°pww¯¾34¢ØØX¥RÙØQÔ/L¹“äààðâ‹/>±›L&ëØ±£cJ$’6mÚÒS*•º»»»»»82@ýÁ”† =Ô;¹I<¿©ÑÇTèL*ôP¬¦ÎuºpáiµÚÀöxa§5¡BP{¨Ð˜0Tè¡X}ÝÅÅEü z†„À„!¡0aHèLz†„À„!¡0a؇j,;;›ˆT* ‚ wW&“‘½½==Ü·^.—7tˆÏ TèL*ôP†ˆ´Z-9::VÓçÎ;DdeeEDDdffÖ`q<;P¡0a¨ÐC °óÇ‘B¡¨ò.ûéääDDwïÞ%"KKK"*++#"ssó ©C…ž9çÏŸŸ6mÚºuëÄ– .¬\¹rõêÕ•×ø<åP¡‡cz¶ƒMe•«øR©”μ/))¡‡5{ㄆ†Þ¼y“ˆæÏŸß±cÇê;GFFîÝ»—ˆ† 6zôhÖøê«¯&%%mذ¡S§N={ö$¢½{÷.\¸ˆ¦M›Æóø?˜ä.`bvîÜyáÂ"’Édk×®­¦§V«]¸paJJ 9::Š ýã>Š˜"$ôPcÕÏKÑ­ß³j7Ûñ†Õæèa;–ûÞlݺ5<<ÜÆÆæqöíÛDzy=›7o^½zu@@+Ϙ4”*ÁT•””lÞ¼¹š«W¯®²ÝßßÍš5Ó¦M«Ÿ¸*ôPìììˆÈÖÖ–îO_XXHOªñnõêÕ³fͪòVZZZLLLçýY´hQÇŽyžŸ2eÊŠ+Ξ=›ŸŸ¿gÏž#F:tèòåËãÇoæ}Œ…€Ú¡ä¼D"yë­·š? ¹¹ù¾}ûˆhþüù?ÿü3¹»»8pÀÒÒR­VÏŸ?¿W¯^]ºtùç?ÿyòäI";vìäÉ“›k£  #‘H„OADD„½½==ºsçÎ ÷¯¯E,ëË÷ððøá‡$‰N§{õÕWKJJˆ((((>>þÿø‡þµ=zôøïÿûã?Tºh¢[·n=´Srrrpp0ËV“L£Ñ m]\\š((¨mRݱ±±ûöíëÕ«—~@?f̘5kÖdggGEEéw>zô(;8|øphh裚3€>ôÍwõêU£.ñòò;vl+ͧÍÌŸ?_«ÕŠÅâ7¾ùæ›BûG}ôî»ï~ûí·wîÜÙ±cÇ{ï½gÔ°úkZ ŽãfΜY»=''‡ˆœ¨ßþ8ÌžXX*Ð\ä8#¾I¥RƒpÐ(<Ïóruuíܹspp°³³³‡‡Gdd¤þ›ÙóçÏç8ÎÉÉÉ`LF³hÑ"ww÷OOOGGÇÙ³g«T*ýnQQQÇõïß¿¼¼|Ò¤I...ÞÞÞ¾¾¾ááá7oÞzvëÖã¸}ûöQZZÇqÇùùùQUU•T*å8¾bjwvvvnxÎy^€fÂ’›ЧOŸŒŒŒÒÒÒ‡ö´³³ëÓ§Osî•[EDô[Öe"‰ÿ*pS“Œç‰H$&"“ˆˆx/NþI$"Váó<I½:4~]ºt‘Éd*•jïÞ½óæÍëÚµ«A‡:ËJLŸ>}ãÆ{œÜÜmÛ¶8qbÿþý,˜V«ÕZ­Ö L'¢·ß~{óæÍú-eee«W¯.**Ú¾}»ÐÈ.¯¬¬ W*•B»F£‰MMMÍÈÈËåD¤R©Ø ;f÷Õét,/äõèÜÀœó¼Í„ } à8nРAé9hÐ £Öç<¶8Ž1bݾ}; `Á‚.\hø’?þ˜E·~~~_}õÕùóçwìØÁªCfgg¿üòË \»lÙ2͇††ÆÅÅåååíß¿ŸýÍcbb/^lÐ?--M©TFDD(•ÊœœœøøxöKµk×Ö®]Ëúüþûï™™™ƒ&"ooïÌÌÌÌÌLáµW.\¨Ýùܹs­ô¼×‚Ëǧ§g·nÝ®]»Ö@///OOÏfÞèÊÝDd&—O<ýUÍFDD"O5Yy«„£ Çôgÿ¿ ܰ<=û¼t«’ˆˆœÉ_|qæÌ™7n”——/_¾|ùòåîîîC† 1bÄðáí­ÿV-§¨¨èƒ> "—ÄÄDVúÆÏÏï•W^yõÕWwîÜ™‘‘qüøñ矾ö„k tðàAV)ÒÍÍ-44444499yùòåóæÍcí‚W^y%&&F$‘»»»ŸŸ_÷îÝ«««;6{öl6ÙØØ‘………——WëîîÞøÎÍ|^£ CßbξsלwaCçÏŸýõ×… ¤rss7oÞÖ©S§3fëì‰èôéÓì`ýúõ…,×®]»xñâE‹Õ÷¦é™3gØ&YË—/×Ú---çÎKD&==Ýàª9sæ°hžqssëß¿?[’¨išó¼FA†¾Å°·cûí·:φ„„´È»°6VVDT©­¤šÌ:¯ã‰ˆ‰¨f×X}:Ñß«Ñÿå²\¾–åïy"²¶¶4v2ööö[¶lùòË/üñÇ„„„£GQyyùÚµk÷îÝ{âÄ ¶·”ನZŸƒƒÃ‡~ØÀ]Μ9ÃîÞ½›˜˜¨ª¼¼œ¤¦¦ê¯Ú777÷÷÷7‡¥äïß¿oÔ36MsžÀ(è[RŸ>}Ο?ïÞ=ƒv›f¾ û8³¶¶ž4iÒ¤I“ˆ(%%eûöíëÖ­S©To¾ùæáÇ©&(ïÔ©“ƒƒƒ±ã ýÈ‘#ëëc°œÝÞÞ¾ö¯%krZUsžÀ(è[ÇqƒfÅ õ <¸¥Þ…µWpDT¦2#"/""­ˆˆˆ¼aÉwÏ -Z^DDbVýF$"" Ï'ú«B«uã hM™2å¹çž»ÿþ‘#GîÞ½«P(ØãëŠi<¶ÞF,Õ×§S§NMžskhÎó} «ývl·nÝšÿ.ì㦼¼¼²²R$Õ.¾NDþþþÿïÿý¿O?ý”ˆ._¾üÌ3ÏôéÓç§Ÿ~*..¾yó¦P¾½‘z÷îÏqܱcÇ„õú¹æ|ݺu—/_>pàÀÛo¿½eË"òòò:th÷rss›7o¥¥¥9rïÞ½EEE§NZ¶lÙo¼qùòeµZÚ´¿'+0¯Õj§M›vüøñëׯ7mÍy^£` }«à8Ž…˜íc_Ø:íß¿„ /^¼råJxxxíÂ2zæý÷ßÏÍÍ]·n]FFÆôéÓõ{vìØqÛ¶múeã ,[¶,''gçÎIIIIIIú§ììì6lØ •J›öãÆ[µjÏóßÿý÷ßß½{÷+W®4m(Íy^€ÆC†¾µxzz¶Ê»°5iÔé8ÒÉH+#-Çë þ‘ð: ¯“‹trQÍ1¯“ó:)¯“Öœ5éÌD:éd¤“NB:R«I­nüDzô葜œ|X¿åæÍ›ß~ûíâÅ‹5Íþýû£¢¢¶lÙò¨¦ÐfÐC+²³³#"[[[ª©OïÞ=zXŽ¿iœçÏŸïêêúÆoð<¿uëÖ°°°‘#Gt«¨¨ÈÍÍÕh4=zôh©-lµZmAAAQQ‘“““››û] màõAhW&Ož¼råJv¼aÃýS‡0`€•••¯¯o`` µµuïÞ½·mÛ¦ß',,Œã8++«òòrƒ‘µZm§N8Ž{þùç…FF³hÑ"ww÷OOOGGÇÙ³g«TªÖy>Cè¡Uˆj‘H$‰ÄÎÎÎÎή²²²²²R§Ó±Ò7-ëý÷ßwuu%¢„„„²²2Öøë¯¿Ž9òøñãB7•J•––¹|ùr¡qüøñZ­¶¢¢âÀÃ&%%jµÚñãÇ o¿ýöG}TRR"´”••­^½zÊ”)-þ\uB@íPPP©TªK—.QqqqDD„F£±°°X·n]zzúÙ³gW¬XÁâþ… Þ¹s‡]øÒK/ÙØØQll¬Á˜¬…ã¸W_}•µ,[¶lóæÍD———·ÿþAƒQLLÌâÅ‹Ûæaà ‡€Z~ž^,‹ÅbF£ÑhxžoÅôTÐQaa!åääôîÝ{ĈÛ¶m{çwüýýçÎ;wî\"ây>))‰õ777'"¥RÉÊò0:nÏž=D4bÄggg"***úàƒˆhРA3fŒ››ÛèÑ£úé§àà`"Z¾|ùƒZãéô! ‡v( €°Å0!!!J¥R©Tꯖ!¢I“&±šiiiBcdd$UUU鯺IJJ*..&¢É“'³–3gΰo#Ë—/ׯ¿iiiɾ'h4šôôôVy<=(ÇmD§' ·RzžˆŠŠŠØAíRôyyyÅÅÅ¥¥¥¥¥¥eeelVFèпOOϬ¬¬ØØØˆˆÖÈÖÛ(ŠÑ£G³–3gΰƒ»wï&&&êßBx¡655•eëZzh‡RRRØ‹‹ ;(((X²dI\\Ûåª"‘(22òÃ?d«n,--…õ6r¹œuúÚ•1 ìh ÐRÐC;$ôD”••Õ¯_?¡³³³³³³B¡P(û÷ï¯}yddä’%K*++<~âÄ –òÖÛPÍÏ b±XX¯_[§NZì‘ê€Ú›‹/^¸pˆüýý»víJDK–,aÑ|ttôÂ… YO­Vknn®V« FèÚµkÿþý“’’bccÃÃÃÙz›§žzª_¿~BŸÞ½{ÇÇÇswìØ1ssó¶y4€ÚðR,´+ùùùÇg1ºP_òرcDäääôÉ'ŸÑ<((hÔ¨QDÔ­[7ŽãöíÛGDiiiÇqçççGDUUUR©”㸯¾úªöPååå“&Mrqqñöööõõµ°°g«’š=´ Q-‰D"‘°œ}eeeee¥N§c¥oš`ìØ±:u¢z’ôjµzóæÍDV{G[N±råÊ»wï EEE»wï~öÙgsssõÇÑjµ×¯_2dÈÁƒËËË…S*•Ší‰ËhµZ­V«R©ØøF«ÕêgßÙP•••áááÛ·o~Ðh4±±±Ï>ûluuuÓþð„C@&I*•N:•ˆöìÙS;½½oß>1ë¿«*X²dIbb"5J©TæääìÞ½;,,Œˆ®\¹òÙgŸôÏÍÍÍÎÎ~öÙg×®]{üøñ˜˜"úý÷ß333LDÞÞÞ™™™™™™GmxÚiiiJ¥2""‚Ý7>>Þ××—ˆ®]»¶víÚ&ý%àI‡—b¡Õ±º7údžV-硦NºlÙ2•JõŸÿügîܹú§XÚ>00ð™gž©}á;wFŒáààðÍ7ß°kÝÝÝÇŒ“””TTTtìØ±Ú—Œ?þûï¿—J¥B‹››±;^^^œö+¯¼Ãþîîî~~~Ý»w¯®®>vìØìÙ³9€z0U®®®cÆŒ!¢7ê/ݹtéÒ¯¿þJõ¤ç‰híÚµJ¥rûöí,šg¤Rék¯½FDéééµ}ôÑGúÑ|sÌ™3GÿŽ››[ÿþý‰èêÕ«-2>ýôÓ³gϲÅ? ÓOä7“½½=ÛlK_37Ø€'–Ü€ ‰Dï¼óÅÇdzê4;wî,--%"Ö^§Ù³g¿üòËgΜÑh4r¹ÜËË«oß¾C‡íÞ½{›Í ¥  Ó6yòd N·iÓ&ªyvàÀõ-’ÉÎÎ^³f uîÜùرc™™™ÉÉɉ‰‰'NlË™´ô`Úììì^yå"Ú¼yóo¿ý–’’B ¦ç…"6³fÍzþùç%‰pª¾=ªŠ•Ÿx$ЃÉcá{qq1‹ì;vì8nܸú:+ v ¿KýþûïÇ7öÖlÚË—/ëïQЖЃÑxžofšæ /(((88˜ˆòóó‰hêÔ© ”˜4h{-õóÏ?ÿæ›oòóó/\¸ðÙgŸ <¸ ‰vwww"ÒjµÓ¦M;~üøõë×›þM‚€Ú¡ä¼D"yë­·èiccEDwîÜyë­·ºtéâïï?kÖ,µZaì}ÇÇÊq~ÿý÷  mÒôš=˜¶ê]í;EDDØÛÛÑèÑ£;wîÜpÿ5kÖ¬Y³†Ugüýý•JåèÑ£‰H, %óë¼—¾~ýúÅÆÆ²¡¨¦Ö¾0‚þ… ÅjÞ7p€ˆnݺõÐNÉÉÉÁÁÁm0!xœ±ªí%%%DäââÒäq ‰ÈÉɉˆj×eo3ÅÅÅ®®®:thæPåååÕÕÕVVVr¹¼Eæ-B©T²%yí6–‚'W‡šÊ3VVVVVV-2€Q°äÀ„!CF`KÃ…%æ|@†À„!CF`9u­VKDçÎ#"NgÔ¬¢‹££#!CС0aÈЃX~ÝÕÕUø€G z†€À„! 0aèLz†€À„! 0a¨CF+..&"•JED<Ïœ•J¥D¤P(¨¦n½L&kë)<1¡0aÈЃ´Z-ét:"rttl ÏÍ›7‰ÈÊÊŠˆ,,,ˆÈÌÌ¬Íæ ðä@†À„!CF`+æE"Éåò:ϲO'''"º}û6YZZQUU™››·éŒÚ;dèL2ô`4–¡glj«Å—H$T³ò¾¢¢‚jröM³téÒœœƒFGGGWWWÿÖ71€v =˜˜½{÷ž;w®¾³]ºt™9sftt4ûFÐî! £Õ®=¯O?ÏqÕT¼a¹y{{{ªÉÙ7§î••UHH;®®®.((ÈÏÏ×h4yyy3gÎüå—_bbbX€ö =˜¤€€€Ã‡ë·Ü¼yóÛo¿]¼x±F£Ù¿TTÔ–-[ÕôÚ VC+²³³³³³ëرcÇŽ=<<<<%%%Çq—˜˜¸{÷î~ýú)о}û:;;wîÜù‡~hÚÚ%ôÐ*DµH$‰DÂrö••••••:Ž•¾iYï¿ÿ¾««+%$$”••±FµZ­ÕjëL±«T*­V«Ÿ)g+++ÃÃ÷oß^TTÄÚ5Mllì³Ï>[]]­?ÂÅ‹‡ªT*…Ÿªªª~ÿý÷×^{íÿþïÿôŸñ×_9räñãÇõïž––¹|ùr¡Q[ãðáï½öÚ©S§„”AAÁË/¿üí·ß6ã/í zh‡‚‚‚ˆH¥R]ºt©Éƒ¤¥¥)•ʈˆ¥R™““ïëëKD×®][»v­ÐíÆ/¼ðÂÝ»wE"ѻロ˜˜˜œœ¼xñbwww"ú÷¿ÿ½gÏÖ³¸¸8""B£ÑXXX¬[·.==ýìÙ³+V¬`_?.\xç΃9¬ZµÊÚÚzýúõ.\˜7o{Ÿxþüù•••M~4hOðR,´:ý ’ì˜å›[|½ ((hÿþýDTXXØœq^y啘˜6gwww??¿îÝ»WWW;vlöìÙ¬ÏÒ¥KóòòˆhñâÅ‹/f}ûöýç?ÿ¤R©Ö¯_FD999½{÷&¢©S§Ž?žõ ´²²ŠŠŠây>))iìØ±ú°´´LHH`ßOˆhùò奥¥ëׯ/))¹té’ÐO2dè¡ `Í|‹tΜ9úßFÜÜÜú÷ïODW¯^OŸ>MD½{÷^´h‘þµ~~~;vìX´h‘°p?$$D©T*•J!šg&MšÄòîiii|8 Ž…÷G‰ÈÎÎŽˆ ú«TªsçÎ5ùvR©4 àôéÓ'NœÐétbñßÞ2?|øð¥K—8Ž{çwˆèرcDäääôÉ'ŸÈår¡ÛÉ“'Í@“¡Ê ´Ç¿~ý:y{{GGG §zõêED7nÜ8yò¤þ%Ÿ}ö™þ–RMLDçÏŸÿàƒôÛÿøã1cÆÌ˜1CØV¡P‘Z­6ØÄjõêÕÍ™<á¡£5¿:MóG(**Љ‰aÇÕÕÕ©©©`…blmm·oßnnn.ôg=½üòËkÖ¬yúé§³³³<øÙgŸ5s&|ðA|||vvöŠ+ÊÊÊ^zé%''§_ýuÆ UUUDÄÒóD4lذ³gÏ–––¾ùæ›Ó¦MóññIIIY½zõ‘#Gš9x’! “”••5qâÄ:OîÞ½ÛËËK¿qÈ!ááá»víÊÍÍÕ/%éèèßä™tèÐA©T>ûì³wîÜùú믿þúký³S§N}ùå—Ùñ”)S¾û¢¢]»víÚµKè3`À€«W¯Ö^ÐXr&†íÁdÀÁÁ!00pâĉ‰‰‰©©©Ñ<‰ÅâmÛ¶½ñÆ:txôèQVÙ]Xv\çØ*yƒSÞÞÞ‡1b„PŠ^*•öîÝ{Ó¦M›6m’J¥B·S§N…†† ¥'e2Yttt\\û1A¶öÁꛌèïÕèÿ¬éÂrùZ–¿ç‰ÈÚÚ² óQ(/¼ðB§ôcw†­¥˜™™)Šû÷ïûúúôôóó;wîœN§«=ìóÏ?oÐbfföôÓO³U4uΤººúüùóDTçëËýúõc)))={ö$¢É“'=z”­ºaIú»wï²êœ“&MbU*ÓÎÎ.11Ñ`L;;;Ò‹ÑêüÌ3Ϙ››WUU­\¹2>>~êÔ©ƒîÑ£G‹Tãh)í0 '¢>}úœ?þÞ½{í666Í|ö±åããS{¥{}ØÒóÚÄâÆþbccc#¼&«ÏÏÏ/111;;ûÞ½{666gÏŸ?ÏVËøùùÕ¾¶gÏžìÅÓ3gΰx}üøñÓ¦M«¨¨VÝÄÅÅ©Õj‘H$¬·IOOW©TDôÃ?üðÃuζ¸¸¸¸¸¸C‡FuîܹóÖ­[£££‹ŠŠÒÓÓ£¢¢ˆÈÉÉiÊ”)³gÏvttlÌ  µµÏ€žã¸ÁƒïÛ·Ï }ðàÁ-õ.¬½‚#¢2•‰xiED5uåY WÇóB‹–‘˜U¿‰ˆHÃóDĉþªÃjÝ8(Lþ? Ïó<Ï×ÙnÔ8VVV&Løî»ïvïÞýïÿ›jÖÛôïß_Xí#üzàææÖ±cǦdlg" 5jÔ×_½cÇŽôôtNWRRòÉ'Ÿ|ýõ׫W¯~ë­·Œz€Ö`ò±c}j¿Û­[·æ¿ ̽{÷rrrj'é/\¸@Džžžu®k J¥jµ:##£öÙ‹/²H:((Hhœ}РA¹¹¹{öìÙ²e =õÔSï¾ûn}W-X°ààÁƒÿ÷ÿW\\ü /888üúë¯k×®e/1³›ô/‰ŒŒ\¾|yvvvvv6Mž<Ù`ÌE‹ÅÇÇM™2%??Ÿ™œœüé§Ÿžûí·ßÞ¸q£««ëõë׉H­VgeeUVVººº²mbïÞ½{¹¹¹¦C‡... lØ´dÉ’?üˆÎž=Ë6¯­ÏÝ»wóòò8ŽóòòÒÿ²ÑÌÎ÷îÝËÎζ±±1ØsJ¥Ò`+=€ö§/Di=íäDtìò-"ÒjuD‹åkï«Ó‹âE"Ã>ŒX,""·žv­6ë–'•J½½½›v­ +zÓ°ââbömhhhÃÑ<) …BÑÈ 4¾³ÍCo ðH  ‡Ç×ÿþ÷¿ .lܸ‘Õ™aõ"@ú&êi+#¢9Þéí?ÚLlõ¶´EFkÆ_TTÄŽßxã–ÝI }@@Æ:t¨\.···oƒ{988H$’îÝ»5ê½÷Þkƒ;˜ôMÄÞ¡ìСãžH[›0a„ Úæ^.\h›˜®ö_¶ C@`ÂИ0ô& =€ C@`ÂИ0ô& =€ ÃN±&¬¸¸˜ˆT*ñ7oÞ$"+++"²°° "33³6›'´6dèL2ô&‰­˜‰DD$—Ëë<Ë>œœˆèöíÛDdiiIDUUUDdnnÞ¦3€Ö =€ C†Þ„± =«`S[í,¾D"¡š•÷T“³oš¥K—æää4:::ºººúûû8°¾‰@ B@M´wïÞsçÎÕw¶K—.3gÎŒŽŽfß( •  7aµkÏëÓÏßsG5oXnÞÞÞžjröÍ©{ceeÂŽ««« òóó5M^^ÞÌ™3ùå—˜˜VcZzh–€€€Ã‡ë·Ü¼yóÛo¿]¼x±F£Ù¿TTÔ–-[ÕôÚ=ôO;;;"²µµ¥šúô÷îÝ£‡åø›ÆÙÙyþüù®®®o¼ñÏó[·n 9r¤A·ŠŠŠÜÜ\FÓ£G–ÚÂV«Õ999¹¹¹±ß%Ú7¼¶­bòäÉ+W®dÇ6lÐ?uèСXYYùúúZ[[÷îÝ{Û¶mú}ÂÂÂ8޳²²*//7Y«ÕvêÔ‰ã¸çŸ^hÔh4‹-rqqqww ñôôtttœ={¶J¥jçx\  oçDµH$‰DbgggggWYYYYY©ÓéXé›–õþûﻺºQBBBYYküõ×_GŽyüøq¡›J¥JKK‹ŒŒ\¾|¹Ð8~üx­V[QQqàÀƒa“’’ µZíøñã…Æ·ß~û£>*))ZÊÊÊV¯^=eÊ”.€Ç zhEAAAD¤R©.]ºDDÅÅÅÆÂÂbݺuééégÏž]±b‹û.\xçÎváK/½dccCD±±±c²Žã^}õUÖ²lٲ͛7Qhhh\\\^^Þþýû DD111‹/n›‡x$Ð?Aôóôb±X,k4FÃó|k,¦§š€žˆ ‰(''§wïÞ#FŒØ¶mÛ;ï¼ãïï8wîܹsçÏóIII¬¿¹¹yxx8)•JV–‡Ñét{öì!¢#F8;;QQQÑ|@Dƒ :xðà˜1cÜÜÜFýÓO?ÑòåËœÅèB}ÉcÇŽ‘““Ó'Ÿ|"DóDtòäÉÚÑ<Ã’ññññ÷ïßgëmôÓó¤WóÔ©S­ò$7ôÐò †~ýúu"òööŽŽŽfí …‚ˆÔjµþ®jµzõêÕõ fnn^YY9þüÂÂB‘H4iÒ$ýÂJ›Y³fl+»mÛ6Ÿ„„„z2€Ç–ܘ°æW§iþEEE111츺ºº   55õÀ¬^­­íöíÛ…•0Æ ;{öliié›o¾9mÚ4Ÿ”””Õ«W9r¤¾ñmllÆ·cÇŽ¯¾úŠˆ äææ¦ßÁÍÍmÞ¼y+V¬HKK9rä¿þõ¯gŸ}677÷ðáË/ÖjµÝºu mæc<¶ÐC³deeMœ8±ÎS»wïöòòZ¦L™òÝwßíÚµk×®]Bû€®^½ZPPPç8‘‘‘;vì`Çëm˜eË–åääìܹ3))IØšŠ±³³Û°aƒT*5ö¹L–Ü@±­  888Nœ8111155U?š'"ooïS§N…†† ;@Éd²èè踸8–ůsÌ!C†°25–––&L¨ÝA$mÙ²eΜ9lI£P(ÂÂÂ222† ÒŒ§x܉nݺõÐNÉÉÉÁÁÁm0!h ¶ …UŒJ¼7Aaa!999ǵÝÏ5jµ:33“ˆºuë&T”o>F“ŸŸçΔª"R*•ØWÚ=,¹G@*•öìٳŇå8®k×®¬D&ÀKnL2ô&I$ ŸÃ8ð¨ C`¡7I,§®Õj‰èܹsD¤ÓéŒA,Û®zÓ… =€ C†Þ$±üº«««ð O&dèLz†€À„! 0aèLz†€À„¡½ +..&"•JED<Ïœ•J¥D¤P(¨¦n½L&kë)úhÑzذa{ï½÷Á¼Ûn»mµ3H@Ïæqúé§wîܹ\._yå•Ñ~9ìðv‹dæÌ™óãÿ8"vÚi§ûî»oåÊ•³gÏž6mÚÔ©S¿ð…/lÍ3Hš@ÏæÑ£G“N:)"®¹æš?ýéO=öX¬·<_ibsî¹ç~êSŸ*ºãÞîUï¨h?°]èÙlŠø¾xñâ"Ù0à˜cŽy»É={ö,¬X±¢züÁ¼ÿþûßíK·¡}æ™g^{íµwû\€¤ ô Ëó|Ôlúª3fìØ±ñâ‹/FÄøñã×Óbòïÿþï‹ËRò“Ÿ\uÕU/¾øâOIEM½T*EÄŒ3"¢\.¿«#]úôé*ô)S¡€„©Ð'©¨¯4¨²`û¤B è a=$L €„ ô0&Ð@Âô¡OØâÅ‹#¢¥¥%"ò<ï°·¾¾>"zöìí}ë¶ö)°…©Ð@ÂTè“T*•"¢\.GDŸ>}Ö3çå—_Žˆ®]»FDçÎ#b‡vØjç À–¦B S¡OR±b>˲ˆhll\çÞbÛ·o߈xå•W"¢K—.±jÕªˆèÔ©ÓV=c¶ zH˜ }Š }ÑÁfmkWñkkk£}åýÊ•+£½f¿q&NœøÂ /tìÓ§Ï AƒFuÀ¼Ý‰° ôl¤[o½uÆŒo·wÈ!_ÿú×Ï9çœâ[ˆ@Ÿ°µ{ÏW«®ß×ÕÕE{Ç›¢6ß«W¯h¯ÙoJß›®]»î³Ï>ÅãÕ«WÏŸ?ÿÅ_lkk›7oÞ׿þõ?üá7ÞxcÑc€-A g“ì±Ç÷ÜsOõÈË/¿|õÕW_pÁmmmwÜqÇÙgŸý³Ÿýl[ÀûžUÎÛ…=zôèÑcÀ€ ØyçwÞyçb<Ïóõ—ù7B¿~ý&L˜põÕW?üüç?Ÿ2eÊæ:ø_ÿú×§žzªµµuýÓV¬Xñä“OΚ5«­­mý3W®\ùÔSOÍœ9³¸áî;Z±bÅ£>ºdÉ’ =c€-L g‹8ýôÓÿíßþ­x|ùå—WÆ<òȺºº±bÅŠSO=uàÀÇ1bDçÎO8á„bQ=öØá‡Þ½{÷‘#Gî±ÇÝ»wÿøÇ?þË_þrí™wß}÷þûïßµk×#FŒ=º[·n{íµ×õ×__=gÉ’%uuuuuuS§N½å–[öÝwßž={î½÷ÞýúõÛi§nºé¦ûp6#þ}.[KmmmmmmQ³onnnnn.—ËEë›ÍëßøÆ Aƒ"â®»îZ¾|y1ØÚÚZ*•ÖYboii)•JÕ•òbrssó 'œpà 7,Z´¨okk»ùæ›÷Ûo¿Õ«WWá©§ž:øàƒ›šš*?;¬ZµêÁ<å”Sþïÿý¿ÕïñÞ{ï=üðÃï¿ÿþêWŸ>}úi§öƒü 2XjwÏ=÷œrÊ)?üp¥ä?þüO<ñꫯބO`3èÙ‚ÆŒ---O?ýôFdúôéMMMãÆkjjzá…¦L™2bĈˆxî¹ç.½ôÒÊ´ vØa¯½öZ–e_ýêW§N:mÚ´ .¸`èСñïÿþï¿ùÍoŠ™‹/7n\[[[çÎúӟΜ9óñÇ¿è¢‹Š¯ßþö·_}õÕçpñÅwëÖmÒ¤IO>ùäO<ñ­o}«¸žx„ ÍÍÍýÖ6‹b·#Õ$‹ÇE½y³/£¯3fÌwÜ .Ü”ãœtÒI7ÞxcqÎC‡9rän»í¶zõêûî»ï¼óÎ+æLœ8qÞ¼yqÁ\pÁÅàÞ{ïýùÏ~̘1---“&M:þøã#â…^Øk¯½"büøñÇ{l1sôèÑ]»v=ûì³ó<àŽ>úèêèÒ¥Ë]wÝU|?‰ˆüàË–-›4iÒ’%Kž~úéÊ8ÀÖ§BÏ´Ç{6ñ*Òù—©þ62xðàO|âñì³ÏVy䑈Øk¯½¾óïT?wäÈ‘¿üå/¿óïTîï³Ï>MMMMMM•4_8õÔS‹ºûôéÓ;œÀAÔ!µŸ|òÉŃêsØúTè·;Õɸ¨Ío¹ }eÕû¦´¢ïÔ©Ó¨Q£: <8"ÞxãâÏ¿ýío³fÍŠˆüãkßÊê¸ãŽ;î¸ãÖyðyóæ-^¼xÙ²eË–-[¾|yõÕ*½ö;œ@õ9l=[Ðc=V<8pàF¤W¯^űªu¸ÖÌ™3‹ m׎þë4þü /¼ðöÛo_g«œµõë×oý'°­ôlA•@_é|¿…T©TzÇÉÏ?ÿü¾ûî[YÔ¯_¿~ýúõìÙ³gϞŊ€„ôl)O=õÔO<£FÚe—]ªwuh7YØ”uö£Fjll\½zõÌ™3ßqò…^X¼Ö9çœóío»OŸ>Åx©TêÔ©Ó;Þµ à=E g‹xñÅ?ó™Ïá¸rýhDôèÑ#"æÏŸßa~KKËŒ36úåêëë÷ØcGyäüc¹\®©yËÕÞ÷ÜsÏÓO?]WW÷•¯|%"î»ï¾ˆèÛ·ïøÃÆÆÆÊ´‡zHš’£Ë ›ßüùó?ó™Ï¼ôÒK1|øðsÎ9§²kÏ=÷Œˆ <ôÐCÕO¹ä’Kªo)µÆŽ³fÍ:ÿüó«Çÿò—¿uÔQ_ûÚ×*wíÙ³gD´¶¶v¸‰Õ~ô£M9€mB…>a›ÞfÓ°hÑ¢o¼±x¼zõêùóçÿùÏþío[4ŠÙqÇo¸á†N:Uæ>"N<ñÄÿøÇýèGçÌ™ó»ßýî’K.ÙÄ39ÿüó§L™2gΜ‹.ºhùòåŸûÜçúöí{ï½÷^~ùå«V­Šˆ¢<‡rÈã?¾lÙ²/}éKgžyæG>ò‘Ç{ìG?úÑÿûÿoÏ`ëèÙ$Ï?ÿü¾ð…uî=zô-·Ü2lذêÁOúÓ'œpÂäÉ“çÎ[ÝJ²OŸ>cÇŽ2eÊFŸIÿþý›ššöÛo¿W_}õ²Ë.»ì²Ëª÷Ž?þÄO,ñ‹_¼îºë-Z4yòäÉ“'Wæì¿ÿþÏ>ûìÚËÞË,¹a#÷`ê wïÞ£Gþ¾0uêÔ?ÿùÏÒ|DÔÔÔ\ýõÿøÿØ¿ÿÊàðûßÿ¾èì^}Øâñ:_¨X%ßa×ðáÃï¾ûîC=´Òо¾¾~¯½öºòÊ+¯¼òÊúúúÊ´‡~øÀ¬´žlhh8çœsn¿ýöâÇ„Êa×~ÐáÞîô¶šléÒ¥ï8iÚ´icÇŽíÝ»÷V8!6D± ¥hÕ²)-Þ.\}ûöªÎ[ÍóÏ?¿råÊ¡C‡vïÞ}óùõ×_Ÿ;wnMMÍn»íÖÐÐðvÓZ[[gÏž»îºkõÕ±ÀûFSSSq Àû˜%7l3üà·Ð‘»wï¾!w˜ª¯¯ß}÷Ý·Ð9l–Ü@ÂTè“T¬¯¬ßæÇ`[Q¡€„©Ð'©¨©—J¥ˆ(n°Z.—ßÕŠ&-}úô z€”©Ð@ÂTè“TÔ× TÙ°}R¡€„ ô0&Ð@ÂzH˜@ è aúÐ'lñâÅÑÒÒyžwØ[__={öŒö¾õ [ûØÂTè a*ôI*•JQ.—#¢OŸ>ë™óòË/GD×®]#¢sçαÃ;lµó`KS¡€„©Ð'©X1ŸeYD466®so±íÛ·oD¼òÊ+Ñ¥K—ˆXµjUDtêÔi«ž1[† =$L…>aE…¾èmÞì IDAT`³¶µ«øµµµÑ¾ò~åÊ•Ñ^³ßŒ.ºè¢Ù³gï²Ë.çŸþæ=2ë¤BÏætûí·ÿìg?»í¶Û¶õ‰l/Tè¶vïùjÕõûºººhïxSÔæ{õêí5{}oÒ¥B S¡ß.ôèÑ#"vÜqÇhïOÿúë¯Ç;Õø7¯•+WÎ;·­­íÃþð;Þ³vñâÅóæÍ4hÐÀ‹ŸÖ©\./\¸pÁ‚;î¸ãàÁƒ7¤uÏŠ+žy晡C‡ýR§BÏw÷Ýwï¿ÿþ]»v1bÄèÑ£»uë¶×^{]ýõkÏlnn>óÌ3<`À€±cÇ4¨_¿~'N,ZmVkkkû×ý×Aƒí´ÓNcÇŽ>|øŽ;îx 'Ìž=»zÚ’%Kêêêêêê¦NzË-·ì»ï¾={öÜ{ï½ûõë·ÓN;ÝtÓM[ðml*ôïsk—·‹uóEÍ~Ù²eÑÞçíºål¢{ï½÷ðÃokk«Œ´´´LŸ>ý´ÓN{ñÅ'L˜P_°`Á¡‡:k֬ʙçy¾téÒ .¸à¡‡ºýöÛëëë+“¿üå/_sÍ5Õ/ÔÚÚzóÍ7O›6íÁüÀ>P –J¥â‰{î¹ç?ÿó?[ZZ*óçÏŸâ‰'¾ñÆ_úÒ—¶ÀûØJTèÙ‚/^ùäí·ßþÿø1wîÜÃ?¼XPTíâ‹/îÖ­[1ù‰'žøÖ·¾U|±™0aBssó–ÿ$¶úíHuµ¾x\ηÜJú^xa¯½öŠˆñãÇ{ì±ÅàèÑ£»vízöÙgçyþÀ}ôÑÅøoûÛˆ;vìøÃb䀘}úDÄî»ï~ÔQGÕ××_yå•3f̸üòË¿ñoTŸI—.]îºë®1cÆþà?X¶lÙ¤I“–,YòôÓOWÆ’£BÏ´Ï>û455555UÒ|áÔSO- äÓ§O¯ •ògžyfñâÅ•Áþýû755ýþ÷¿?û쳋‘G}´xpùå—i¾âÒK/-ÛTæTtÐARûÉ'Ÿ\ûtì°Ãzõêµÿþûßu×]ÕÓŠ°þ| gÏžk¿Üˆ#"âùçŸíµ×ªÇûõë×a¦Ûiï=[ÐóÏ?¿çž{^uÕUÅMjûõë7räÈO~ò“GuÔÚ“wÜqÇ[o½õ‘G9þøã‹Ù–J¥ûï¿ÿÐCÝo¿ý^yå•bÚ†Ü÷§¼oôlNEÈJª¾ð —,YçœsÎ’%K/^ÿùÏq?"¾øÅ/^wÝu‹-šô¡=øàƒš»×ÖÖžwÞy×]w]edøðá?üðXéÙÐÐpÎ9çÜ~ûí:u*žR™ô [¼xqD´´´DDžçöÖ××GDÏž=£½o}CCÃÖ>E¶0zH˜ }’J¥RD”ËåˆèÓ§Ïzæ¼üòËѵk׈èܹsDì°Ã[í<ØÒTè a*ôI*VÌgYëÜ[lûöí¯¼òJDtéÒ%"V­Z:uÚªg À–¡BÏ6óøã?þÊ+¯¬ŒÌ˜1ã²Ë.›4iÒÚ×ø°N*ô +*ôE›µ­]ů­­ö•÷+W®ŒöšýÆ™8qâ /¼çwÞî»ï¾þÉ“'O¾óÎ;#âˆ#Ž8öØc‹Á/|á O>ùäÕW_=jÔ¨}ìcqçw~ó›ßŒˆñãÇ×Õù?'À;“™ØH·ÞzëŒ3"¢¾¾þŠ+®XÏÌr¹üÍo~sΜ9ѧOŸJ »¯"l8>aë_—R]¿/ªÝEÇ›¢6ß«W¯h¯Ùobß›o¼ñâ‹/îÞ½ûÛM¸ë®»Š4ßÁõ×_?iÒ¤1cÆåy6‚)›jåÊ•×_ýz&Lš4iã£G¾üòËÇ¿eÎ `» B¿]èÑ£GDì¸ãŽÑÞŸþõ×_wªño¸I“&uÖYëÜ5oÞ¼)S¦l–WY§×_}îܹ¥RièСÅmq¶+*ôl’nݺEÄ“O>ùÀ¬s•W^Y*•:ìš0aB]]]ÑXs=ò<ÿ?ÿçÿÔÕÕÕÕÕ}ík_«Œ?üðÃ|ðŽ;î¸Ç{ì¹çž½zõúøÇ?~ÿý÷oÚHŒ@ÿ>—­¥¶¶¶¶¶¶G=zôhnnnnn.—ËEë›pôÑGàˆ·YWÓÚÚzÍ5×DÄñÇ¿öm[[[K¥RKKËzŽŸçùøñ㯽öÚR©tÒI'ýä'?)ÆŸxâ‰Ï|æ3÷ÜsOõä|ð³ŸýìôéÓ7H g“Ô×׋àó›ßÝV»í¶Û-ZgžyæF<Ïóú§*¾œzê©¿øÅ/Šk|.\øÙÏ~vùòå_|ñÌ™3gÍšuñÅ744¬X±âˆ#Žx饗6õ$B ßŽT×ékjjjjjÚÚÚÚÚÚò<ß”ÅôEÏø–––k¯½¶Ã®¢l?zôèèc“çù—¿üå«®º*"N;í´Ÿÿüç•6—'Nœ7o^]]Ý-·ÜrÞyç5jäÈ‘çwÞ 7ÜeÙ‚ .¿üò~;ièÙTƒ :ꨣ"âŠ+®¨^ºóôÓOß{ï½±Qåù<ÏÏ<óÌâ&²§Ÿ~úÏ~ö³ê¦õ<òHDtÐAGqDõ³Ž?þøQ£FEÄŸÿüç{/ÉÑåf»Sô§/…ùMïusæ™gÞzë­/¼ðÂwÞyøá‡ƒE™¼{÷î§œrÊ»=àYgUÔæO?ýôk¯½¶:Í·´´Ìš5+"zôè1uêÔO,úùôÀöC g38ðÀ‡þ—¿üeÒ¤IE onn¾îºë"â´ÓNëҥ˻=`‘æ#bĈn(;sæÌâ:Ú›nºé¦›nZçÓ/^¼xñâþýû¿Û×HŽ@ÏfeÙW¾ò•þçž2eÊܹs‡ú«_ýjÙ²eñ•¯|eãØÐаzõêo}ë[{î¹ç§?ýéʮʪžÁƒ0à펰¹Zì¼Ç ôl§Ÿ~ú„ 𛛝¼òÊïÿûÅå°pÀî»ï¾GûùÏ>hРÏ|æ3¥Riܸq>úè.»ìRìÚc=êêêÚÚÚþáþaâĉ›ó=$ÈE±l=zô8餓"âšk®ùÓŸþôØcÅÆ–ç#âä“O>è ƒþýßÿ="^}õÕÏ}îs+W®,ví°Ã#FŒˆ÷žÍ¨ˆï‹/.’ý€Ž9æ˜M9à¹çž{òÉ'GÄÌ™3¿øÅ/VÆÇŒ÷ßÿ 7ÜP=ùòå‡rÈG>ò‘#ýôÓ7ý¥’ г‘jkk+ÛŠqãÆõêÕ+"Ž<òÈvÚiýóßn¤¦¦¦ºYþÎ;ï|ÓM7ÕÖÖ–Ëå“O>yÉ’%1f̘)S¦|ò“Ÿ¬~î‡?üá_üâÿýßÿÝ¡Ó%ÀûX¶téÒwœ4mÚ´±cÇURÞ ÚÚÚ"¢ˆ¶Üèã,\¸0"úöíuuI¶ €mÆÊH˜ }’Š%æÕ Í·íqØVTè a*ôI*jê¥R)"f̘årù]¡èÓ§OŸP¡H™ =$L…>IE}}РA•-Û'zH˜@ è a=$L €„ ô0&Ð@ÂzH˜@ è a=$L €„ ô0&Ð@ÂzH˜@ è a=$L €„ ô0&Ð@ÂzH˜@ è a=$L €„ ô0&Ð@ÂzH˜@ è a=$L €„ ô0&Ð@ÂzH˜@ è a=$L €„ ô0&Ð@ÂzH˜@ è a=$L €„ ô0&Ð@ÂzH˜@ è a=$L €„ ô0&Ð@ÂzH˜@ è a=$L €„ ô0&Ð@ÂzH˜@ è a=$L €„ ô0&Ð@ÂzH˜@ è a=$L €„ ô0&Ð@ÂzH˜@ è a=$L €„ ô0&Ð@ÂzH˜@ è a=$L €„ ô0&Ð@ÂzH˜@ è a=$L €„ ô0&Ð@ÂzH˜@ è a=$L €„ ô0&Ð@ÂzH˜@ è a=$L €„ ô0&Ð@ÂzH˜@ è a=$L €„ ô0&Ð@ÂzH˜@ è a=$L €„ ô0&Ð@ÂzH˜@ è a=$L €„ ô0&Ð@ÂzH˜@ è a=$L €„ ô0&Ð@ÂzH˜@ è a=$L €„ ô0&Ð@ÂzH˜@ è a=$L €„ ô0&Ð@ÂzH˜@ è a=$L €„ ô0&Ð@ÂzH˜@ è a=$L €„ ô0&Ð@ÂzH˜@ è a=$L €„ ô0&Ð@ÂzH˜@ è a=$L €„ ô0&Ð@ÂzH˜@ è a=$L €„ ô0&Ð@ÂzH˜@ è a=$L €„ ô0&Ð@ÂzH˜@ è a=$L €„ ô0&Ð@ÂzH˜@ è a=$L €„ ô0&Ð@ÂzH˜@ è a=$L €„ ô0&Ð@ÂzH˜@ è a=$L €„ ô0&Ð@ÂzH˜@ è a=$L €„ ô0&Ð@ÂzH˜@ è a=$L €„ ô0&Ð@ÂzH˜@ è a=$L €„ ô0&Ð@ÂzH˜@ è a=$L €„ ô0&Ð@ÂzH˜@ è a=$L €„ ô0&Ð@ÂzH˜@ è a=$L €„ ô° ôÓ¦MÛ¢çl„º ŸÚÔÔ´åÎØÙÒ¥K·õ9ÉzH˜@ è a=$L €„ ô0&Ð@ÂzH˜@ è a=$L €„ ô0&Ð@ÂzH˜@ è a=$L €„ ô0&Ð@ÂzH˜@ è a=$L €„ ô0&Ð@ÂzH˜@ è a=$L €„ ô0&Ð@Âê¶õ ðÞR.—K¥RžçÆ×aãdY¶öHmmmMÍÆTÛzÖX´¬õŸ§_nœÿF·•­µÛút¶#]êKƒº6ïÞ¿ußæzÔ¿«çfK—.ÝB§@*ò<Ÿö\Ë•öëÒ¢¡6j-ÍÞŠJåh)Ū–X¹:?cï%cwmX»ŠÿvTèˆiϵ\ýX¿žóÎ Y–eyž—󈈬øo±ÖæÍ?l7qû–õKYDMM4fÑXõÙÕöX²Ï°Æ ü·è¶w _k½|Z¿^]¢S}VÎ#+²f–Ež—#²5i>‹ržGžEØnú¶Zí_™"v¨‹î²IÓú é½t`Ï Z{#Ðlï|>Û¡>vhÈÊyy±Ø£¼&c¶ÿOYVùÓv“¶ë½¼x‡†¬skþàóÙqcÖ3ëM=Àv­\.?±¨¡±.Êí >ò7WØT–ˆDä¡ËÍ‘eYäyžeÅO#yäyCm<±h‡cÊ-Ò÷F Ø®•J¥y˺õìVTä«—zçyÅzú,˪–Ò³©ª¿eYäå¼õíߢ®6æ-k,•V ô¼ƒ<ÏW´Öõʲr^Y ’G{¯ôr9ÈbÍ¢ú¬½l»IÛÿQ|[Z³ÜiÍ„7Zê6°ñ¿@°½+—£TŽö|û›k ÆUp¾'–Ÿ¿/¶ÕŸjñ“H¥<ß>aÃoã%ÐlïÊy”óÈó7ÍgÙš?‹ëcÛ/ˆö$º·õµÑZzOœÉÆm‹Ï³}ÛñÓ.¦•6x}“@°½+çE…¾Uâ{õƒÈÖ, ©J¢[u;°G¼{ÍÈAѧk¶C}¬nWVÄS ó©O•_zuó“õéš-\žßñx¾öÞOî–íþ,Ëbá²üŽùÖGÊö•N¡~²@°½+•£T~³MDDÞþgþæÈ[lÅmqò>5GŽ~Ë­Sw¨A=cPÏìàÝkï~*ÿÙŸÊåü-ÏÚ{çlhï쯋㿧ç޹ϳ¯P“e±ruüëŒ|Í—™­þ¾Þ\á´æŠØ(VÚo³ê+Ö;è¶wkÖÐgo¦ÉÂ["þ6’Eœ{HÍÇv]s"Ͼœ?þb¼ñ·¼Kc6jP|d`ïžõíVóƒß½Ùx3*É9wÿ@vö5Y«Ûâû¿+ÏYºÁ•ð-ãÍ‹Žã-„òŽ·Ÿz[=Àö®Y)¯‰++m²ö?óhoz³õ¼{V¤ù<ÿ˜š?øÜ›¿ü*bÏ!1áð¬®&>:8ûìèšÿž^苲RU2Þ¹w|ó°šúÚ(•ã‡wæO/Šmò¥ªéMe,[ó³HûŸ¥ò†–èz€í]Q¡/ºÎÇ› þÍ(_DÏ ï»²¹tnˆÓ÷[Óˆý–ïÿkÇxdN~Å}ÙY_'íÝóTyYóš]Å¢¡<ÏÛÚ//í×-Î?¢¶sCñÝ üÈœmY›/ºS_œÚ“}õ…³yY…€ TγR9ŠËa«.Ƭ®"gy¹:Üo¥í˜¡Ñ¥!"âþ¿æ“]÷œßÍÌwí›:2k¨‹}?˜M™Õ^ÿ®zwyžwï”]xtM¯.—ý!¿ï/Û´}qZÙšµ6í˶_›¯Ù¿ÿ|=Àö®TÎÛÊYDžE–ÇšZq‘åYå5Õî5]nŠ68[e»ß°5¡öŽy9Û™·ÏÈ™EÄ~»fwÌȳ5ßLÖ,¹i+ç;ÔeY³SψˆŸ?˜ÿÏÌ|k¾‹µ·Q4 Ê#¯|æy{¾Ï£ø'(•7ô`{×~c©õ”„·Íú!½Ö¼îì—£íí—”ÏYm¥¨«!½²J®\Ï>20"â–ÇòÚÆWÁ¾U¶Öƒ5TèØP¥¼½meÕú¨Î˜k5ÀÙ:zvŽˆX´<^_µ¾i¥rÌ}5ví=:G¹û?:ÛçƒYD,y#~zïÖ¿`}ª;WvøØË*ôl <ÏÚÊ‘eY^,ìŽl­Ø» RpMÝvˆˆ˜óJ¾žò|aÎÒ|×¾YmMìÐoü-¢½6?â1âk¾‰ôí'î]ÿ¨Ðgí÷—z3Äg/J.©Ð°Jk–ÜTßúhmÙVŽõ¥ˆÕmÑX½:g︠¼Wç5V®^Ç-™››d`Ö¹!¾ôÉlæüøóÜmžéóªÏ3«yóÁ†Wèk¶Àù’R9ÚÊQʳ¶rTþSʳb¤ýA^ùs«m_]±KßÈãfë—EÄ‹U­kF*qø±¹ù97Å÷§äQ“ÅÄ£²·ê»Xç¶”¯ù`Ky´?Žö9/­u?¬õP¡ØÞ•ó(•ßÒ½ØfY¶¦ùJoí’¾•¶‹–ÇÀ£¡6vê‘=¿ômgöïžuï±pù›o¤X̲hy|}r¬j‰;Ÿˆ=ÇçÇD¯.ñýÏÕüÓ ù[ßòVÞæUÛjoNÛà½@°ÝkïrSQë·¥?>›ï9$‹ˆ½wŽÙ/¿í´½w®ÌïXØ^üú›Ô^|W>jP6|@ì9$Îúûì’»·á¬Î÷ë¶ázKn¶wå7W×TÖÛD)¯)þ¬Z²µ—¦L}­ÜGÐIDATjMä=ç ìCý×=ghïìŸY3íî§Þ\;T¹  2ÒÜš{s¾²%"âôÅþ÷ْ›êºjÓšÿ7¼«@°½+•£TÎKåh+E9ÏŠǶ•ò¶RƒÅƒR9/ç[uûÜ’ü·3#"ëã’qѽSÇ9]ã?OŒ.øKÌxéͽknºfAÑšñ9Kã‚;Öæ¿wt6¨ÇÖ~GíÛ·ü§øÌ‹Ï¹ø'(•3z6T9¯Dö"Áç¥rVʳJ¸oR9ÛÊÛïOYsiì qÓÙç÷Š;f5Y èž}î£qÓølçÞoü-þõŽ·œaåÆRŽyÇãñëG""ºí?—Õ×níwT|¶¥rûg[TîËQzËW©Üz6T9ÏJå<˲<"Ë#,ÊydYDDžGYdÅÿnýíËoĉWÆÕ§Ç^1¸gLO¤ù÷“Ê—§ê4¿&Ê·ø¾†^ ØÞUVœGÄ›ýÛß+w—zŸêð9GÇzÿD ôÛµ,˺5´®.×GU…>{o¬±yËÚ|–·æÅ!Åî<º5¶eÙéz€íZmmí‡z7O_²cMmD¼Y'ÎTç·Š7¿;UV:E”Kñ¡~+kkk7ä=Àv­¦¦æã»4?²hǺê~ækªÇk­ Él7Ç6ÖzPýå)‹¶Rì·ssMÍ;·¸ €#G—~ô@D5îQ”G¬¹µÔ[Fl7Ã6Ö,°ÉªG"òˆ¼m­qäèRl`{·ë€†KšóÕ;v©©báM‡æèÖÞl ŇœW=β(—¢Ôÿõ¹vÐy#Ðlïjkk?»gC©üÜÙwìZSެ&²öR}u²³uºí&o£²t>""ÊåÈË‘—£\ŠKzî³ÝaЇ;ÅåryõêÕy©ùfÖÿïÜî}µûòÕõÛú¤¶#;6¶|¨÷òÆ‘{´ ß©scccMÇõOoK  "¢\.·¶¶¶´´´´´´¶¶–J¥\ëÊ­"˲ÚÚÚúúú††††††úúú OóaÉ …šššÆÆÆºººÆÆÆ<Ï‹4_éåûÍ¥ºÁ|ñ8˲"ÖoøJ› €7m\¦dzÅ|à½F €„ ô0&Ð@ÂzH˜@ è a=$L €„ ô0öÿøÅV%roIEND®B`‚traitsui-7.2.1/docs/source/traitsui_user_manual/images/ui_for_ex16.png0000644000076500000240000001344114046644454026602 0ustar aayresstaff00000000000000‰PNG  IHDRì⻼3èIDATxí] Åuž;-2Ö?BH¡“ä²EBJ जؔíÛÄäWY$Eì$T L©¢°«BÁE"#DZpŒÁ?ìĉ“"ÁE© KFJ¤!P,Npú9¤“tg£»½¼Ù·÷öm÷ÌlïÜìü~S§Ñëׯ_¿þú»·==;s}õzÝSGíç_P¥–8¹dúæ/œ<>LçV$ æRýàxßœò1yr^ÿÒIî?u@¼ÖgŸ/2éÇ¿»JŠ$ô ‰›ôXÉÕ—üÔ,mäíÿ5ꇱg„ÊMû ž¢¯oÔ8Àã)$ðö4é«Ù³y쓘Ì«,4D󌀿òW ÄãJeâ1U4‹XòæyË›p/lpLY©íkH}»ÿÉóVõõ_±‹+äÒ‹ÈÊ‚W™„½£ÿîõg,]8£«AýÎ?|äZÓtÂ|]Ù¢‘Üü—Ï>ø¶Mâq3Ó8w56 "ßzóÎÍõiúwô˜÷êÉ5ÃÆ2>¶só§.ò¼™Ìãi:Ù¼åuD ~èý»FþêÑ¡C¯s¿o¾º7,Ö ·ðì?¿sƒç ëƒÛè×±Ï[þ•þåkØN'㟺cÎv¾}ÖäFû¾¿ü©®sdžèpQÛ#&ž8Ÿrê;Wô³ÿ]¯D1xçf-‘˜ì¿õ™5Ë?ñ I99rïÍg,]É‘œ>¸…‰)Ns‘ÏÂoâ1i|íÅ~‘«ˆÄÞ±½µ£C“ºEC¾æÈUËV4Ç0whðíG®zÒû¦#Á` Î|)ΚãOø'yUéÛÎ]sÈô_…ÄÄŒÅçòX ö¼vøjk-ÔZNˆÝ¥ƒœ;ß5·>;põ£ëæ-zmáÞkŽîø^Ó†’÷{®{ÅB€é–†%G*¶ãúŒz KÃ’€£#¡ÚŸ|Ëê÷^ùÌà9¶¼÷Ê+ï¸ÿ;G_Ÿb05¼®þÄ]}W>cçf¤áŽˆgnHßèõñyóiåÚv“Lœ|ù¦3£G´ö·'<Ïv"ôwÕµ3/\3t˵äª>zjüXs¡LÅe_{îÍí_ºï $Óš¸~Ê^7xµÉ Ùb÷à/]ºfŒèËúÏ=ñÒÿ½~œä5kšÎ¼JÞ¶uǬWî»ø£--˜´fƯÐE’Ù€õZ6Ìr[,bÌL"ëÙ ´Â—£lZ7ìm'¶™»†LÆKî}ôµ>d0˜ô3/¹Îó|‡Í5¾®î[û‹×ÞöEÑ ïÿÁçοñ“×?ø¥¯þË·ûê6=zÏ'ˆÐ§^üg±1„3ßË?ýÏ|ݨâ¢Ö³Lä`~Úg¨ LÇŸal1º¶·#ºe0uj;‰‰¬hÌ9˜œ¼mÃ?Š+ÊÁ,ïÿè:Q ˉɭO¯¹ýâ?¹ÿË/xëš—'ß}ù[n»á®åç^êycÞÑ1òBò¿ýÑuçþ%¿rÔá·BjZjÊǨèÒ°å"-I³cN+„üöC;a¿ [?õ } G<¦LLƒ$îk5ƒysªxw¢EbÚ_£5nýߟü½ÛŸþÙU—{«.ìÏ6Ö'FÞõÙ»½‰ö½˜±]ßô×£+¾q}k,—Ç¿df*ïÞR»~tbªöô!¿hDi´­g¥­!WZIňæ†1YJ[lªèIcŸ*úñÚnEãWù¨½uõ«Ç÷ÑŒ9íjLâħYãv±ÝœÖœ‰5ƒ ³þ›YÚ®Ûk.'f/ÞÊ .»éÁ¿Yºá)*nü‡ïú¡‡½±]ô3öü–o?µçÄÅâÈhÊõ³Ì 1–9î{jƒÈdCE±Ñ‚4מɀôt¦VF/¶[²¾£1û4“bXwâ–š# oGhLúgÍÖ+‘ézN›iÙ¿Ù1sŽIâ3Ç›$Þs¬ya·ão·®þÀ_¬û•?üôæ-ôs×÷v½<ðž/o¸õ§Û‹`ÂÙtœüà :‚@9ÂFª ÏÂ-vf¨T’Ã'iÄÒ[ô:*jN hÑ*ⱉï-¶Jç’ÑeY,hH& É3k§å'p-Á÷éZË qôÆèþoo{ì¬YËhS…¼tÝo_ô¶—é;Ê}ò>²9{Áìýw“°þ7.»åö§ûB6ŒejÅmO…xÝÑ'FDT.> Ä]JÀ¬¬]ßù76¢÷žVîQØ=n÷7¥BDœhï¼&&ÍÐúŸY²ùyèL2 }#¯×Nžh›i—”-óïÇkkOŒwnmÑöçw›÷ý¹£{e¨~Ñ+FOíŸ5{3˜4Ô˜Öc^ïzð£MÌ“íxL ˜Tv:ÙMÒÍh{áìý[¼²­Í`Šˆph;k´[l^ÌDGÍ—k”Œgž÷cd©LEÍãCWŸçý¨môÐÏ}4Iìk}ŽùûÏ}}ë¯õoRŸ?2±c†·Ú;pø¤ç½BšKö}ņuñO”nyñ›pÚÔ«f&6»¤óLP4Öñb`'sƒÁ+gyûº£2õK<–Uç]Fx¼øï_=ô³Îš[{ã„ÿؚǭLܬX9|üÉçþõi*ÎÞð¼ƒG'd™t–YÛ˜5bF&ñi'?à 3£¹t'Æ´ÛH8±4½ö@K)SÙ€Í2?S~½dþt£0œ´ï£™ÛPaÕNySWloîÞæß±k¬´=ó˜îØ‘R3˜m„lj;)¼Òå¥Â¦Gn[væÈïûðœyçè6=òø©Ck M­¾šfzöc(¹(Mt_$kN0ÛŒædch4);6ó)n90Ý…–ÉÌö  ƒ¼²r°븖&Óq"ÀCwóg—ÿ]:èbŽ:Ûk ©¡ù¥xŸÔKÍv´y,[oÒÒgpÈUØ$"Hb‹Ç‰i6Od9qBPÐ/^ÇLl0˜ö hg× ¨±…Ÿ”“ß5w|ÎB&bmtðºNô_½ãxÿûGXO+ã¶/ÅÖºHdµ/àŒ¬í!çƒÃ«gî|~péÅç ‹ð¿/¥K|Ÿ¸GÔ˜Á«ßÉ;~£¤œƒiEAçÀ½3êÈ_oXG}Þ"K§v'캜hŒOín£šfón»Ë³ý›OÓ3ëïû_ú~pXœ}Þˆ74Bk':Ó‰b0µ¢{ËÜ$)'=ðØK7ý&}?8,ÚÕ]5·N©— X _õðã‰4tZNˆ5„¢#@î¬EŒ‹R/×xÆ.['üvŠ™—-ó+XänJĨPzÑT.Ò„²v§mkbëøTÃ&èËa7»m§Ðô°¯Îô´ÓLœûkˆ=͞î¾h7‚-Bw$tèÕÁNrÎð3oãhx`%]„ÞØõ½–œá•ÅçGöÃRu¹‡Ñ• ¸TÓYÍÁ€ÄÕœ÷RÚé®T#n æ?ÿã™ò ªô#úÕ_ÿÝáÃS{j´%1!ðìÿ;z8Š‚ÀŸÞñ©°P«KbBäþÏ?† ôyC 0s•&1ApÉ4_næœm߸.ÍîJß.ìJ?Åå HÜyŽ‘8;c”©EÕI¬ ªe{R¢km{hRC G$^´äBú‘‘kY”€€@ŽHl—‰Fg\-S0TdÖkèIà‚­‘*ÓD _»G†vS¦³•¤dÖë"Ëb¯«Øi¤Vû™v'ˆ^r} ½•Á~¨¡"kM g(§ƒ@¾H8a¡0Rج©%'ZôÙ ¥¦8±Öè<6I°˜;/ RÑqÀ¶¥ü8zHÊLš|r‘™mT%Õc•ýä}MÌ„&.ºÐ‘ÍeÖ‰U½K“:%ƒ¾‚y²Bî21 XhçÔ®†ÍÔ§&"¸7gNÛö¢'AdÛŒ4º–dÒ•¹Ø ÊØä‘Äz0î„Ö–$k'eƒ[aE­×2ùïªØ1t…@ŽH¬™&ÓØ¤*BÄF4ʇ@ŽHœ ¸òAŸIïè4ò~a—È á¤Ü€ÄåžßJŒ®ºË zR â{Ö•˜ü² ²¢$¦§µÊ2ƒGÞŠÙ‹YBîªYùÄš8+äÑob€Ä‰A GY!g…<úM 81(á(+@â¬G¿‰!'%e…@ð>qÉ^Uf¿Ã«dÌŠ=)÷kÏ#LâÒß (ýS¦W¶Ý“¸ô÷J?ÀlY•rïX§ 8ºK8yLá1e@â”GwÉ#')<¦ŒHœ2àè.y@âä1…Ç”ÞbK9ˆô»ÃÍŽô1Ÿ~ÝÝì˜~ù÷€?<“ÿ9ÒâÏh4Z2þðL ‹t¥no6}æ³÷EXÑåD"¨J…ç 8vôwߨm GãƒÚ"Ðm> »aÈ@_@âÂL CË ¯¿¿õ›\¯×Â>·€ÄþÔw‰Ð"çvΘHÜ1Xx,ši-zj ²aÓæ gß©îþZÞÖ'©sU1$îò!L5FÎT޶1š ˆ€ÍW[Ø• q(8ÄQ>Ø‚ÈJE’éLr¾¦ ` …ѱB³VË.Í~0JÌTβÁ -t4‹ð€*A€¹Û-ƒ©9H,ú‚βm‘5Ì€ô¶=4Ý"ƒÁÔ.ì|œ…‚DSÆùÊrØYÛHÃ0cè{‡HÜÚ_3P䥡4ІÓA‚éàŒ^zˆ2qÁ…ë:~7-¢­Q€ ˜Ñßî6‚ê’x¦[®$hñ˜FŒ^*Jb¼‹-WrÛ¤¢$NêëØ¹×J†Ý‰JMw9 —s^+5*¸RÓ]ÎÁ‚Äåœ×Jª¢vxPYŽ7µÍ¶ØÚà(x¡¢™[lçm[øX·ÁB‰‹8kˆ¹ ¸ ŠˆH\ÄYCÌm€Ämp PD@â"ÎbnC$nƒ…""qÖs½ÙцAÜ÷vD=ìV³nk4R•ñ—o:ÂíøHÜÉà/ßDƒëøí¬‰£aDm‰ 0I18Ô¬‰3ž$y—!Å7»Å› dânôÒ}ýÞ}-·Œz wùЄîA?¥u çhj‰ÊÂcøàøH–@EnZ¨*±©”€åDÛtÓKž)¯z–”Ìz]dYìuû%Ô¶õÔ©@„fbªÈº‘ÖkYÛTD‰;O´°P)lÖ‚Ô’G-wî È‚x©Õœ¤åÌU†¶¯” ›ÓM¼4(HEÓ(¤l[Ê/@H‹`µÎ¬L ÌÐÁK­‰;L¯&´ÍQ£q<ÊŠÍ]QŠ`¤aÑ“ÝP[–RnûÌ*åc Š“qŒ†ÒDè.‚TÙQɬÌWVÚö¬Ñ6Ò0̸ÜzdâóëNhméž’Ãø¨7”F±ÃHÊ[ ·æV3/L&k©Šĩ؈Bâ“ØøLv&´sGÏÔ$Â2º6qÈà0o“˜Ó rôÂg¿ó7âéÁ$ì‰øÇz!¡ÑE–Å’’ÒЈ^{?¤{íP ¸–ÝŠÒh%¸ œË‡€+‰™(<~‘…†FŠ"Dæ‡Z‰±!¥ÈRËþÃôѽgU‹¿|“ò®$¦þˆ1F¯¶Æ0p,vëÇÝ^híIjfx-g‚PwAbƒÄ$Ѹ³Ê½[?ÝÚÛ=æAãøàMBÍ qnvĦ,‘>vÛxP¦Ü]¼ Ñjš¸fbÍ?NÀZã„ÑŠŠ††] ù¨–4bfï,ˇ@_ÿ»¼•“LJoÍÉðˆÁÌݜă0ò‰ÀâŒ×·ÍгœÈçUep]N¤ PÒ0ÞäÈ(¼È¨lÌ𠎸ã @!ÊÞoŠžÇH¬‰£aDm‰ 0I18Ô<îN¶DC¤ÇØŸ<©akí°lÎ@b×囈‰oÿ_5wI¶5®!VÕˉŒg^œqEî™ØiöäN¸ÔŒs3·ç -IØÚ>¢'^?€ÐETÄàDUiv2w ð8ÊËTÓ—¼¢˜ªÁÿ‰;cänÁlÖö]QYJJæ -z€Ä°´)%ѲVgÜ6;õÜ”¡(êË8Ã,¢Ê°¬x$v"€N¨vºµ]ÑE°mX£F–bX[è8&ˆÖ›µF“¾c6YmMG'U6‰;ϾÁH)Š l8µ5R!)@âøHFp7¾S´ì¸{̦Z ËN!‘ñÿ¸c—ñ ûé#€L<} czÀ€bg5‰-HRQà @  'f®¼éÂc…M±&®ðä—eè qYf²Âã‰+<ùe:H\–™¬ð8pa—Íäã @ޏã @Ž@ec†7uÄoêQöxPô8nDbM #j €H\€IBˆÑ€ÄÑø ¶€Ä“$_¨KZEÒéƒÜë"É; ¶½8 û1Šl¦•E”±Åðúˆ”'Ò~ÉE£ƒ´,¨Šeí³@2HìO–|½r°ÈšE¢©æ¨0XÁÅFÛH‰ƒ'KVÂiC#EjfCU.¿Â?!Ÿ‹&8îv-ùŸí5­’‹MË:—H<-š—$k.Šìbì]i5ɘO.›åÊeSta§‹í9oØŸI«ÂËxó$~¤ù4ŠCÐD7ª¸èÂN›@çyS‚ÄþŒ$Eµ~l&¹h¢id{°í]lìVùÔ`‹­'ó")Y„°n(§Ÿøàüê¢1¼QsÒ𙫚ÿ‰¦£ [îŒLì4e”b…ŽaéÖÅ&°3{mà¢Ñ® {£È–†Ò(jo…“A‵„¦©È"ðë¢È"lTAH ,'’B~2C$Î ztœ qRHÂOf`MœôxPRЃÄI!Ù¼¨;¼"­AâHxzVéøàMÏú/•c¬‰K5Õ H\Íy/Õ¨AâRMg5WsÞK5j¸TÓYÍÁ€ÄÕœ÷R$.ÕtVs0­}b¼â®š (è¨w‹^àà[$Æ=¤‚N'Ân‘÷À†‚"€5qA'a·‰[X@*( qA'a·‰[X@*(­ »‚a  Ϲ|ÂÍ7~<쯀ĥšî²n1EßÄÀr¢T$®æ`@âjÎ{©F —j:«9¸šó^ªQƒÄ¥šÎj$®æ¼Ç5½R‘¤±¼d‘4Zƒtl±¥ƒsá{!ŽÊ˵̳5i™8M´‹Ú—ÁQb3id0F­èS@âÔ .gG™3˜`‰ËÉ­J $®Ôt'?Xci‘|Ab*ob0ÕXBµé£…݉ô1/dš©$càZ[o˜õ¨÷غµ9ª5ZNyðXN¤ 8ºK8yLá1e@â”GwÉ#')<¦ŒHœ2àè.y°;‘<¦zŒ~-ÃÀzÚ5HÜSxSuNϧÚ_n:‰s3Ó$ì‰öi;묉ó>Cˆ¯# qGˆ`w@â¼ÏâëˆHÜ"äZ}ïé~oŸ·dÞâÛÏŸ<>Ü7¡rýมAdŽ@ÿ©CmÆéïL .ñ½É†ŽÏR äº Ëßb›1:¤4@Áø<ù$ØK>ö­IEND®B`‚traitsui-7.2.1/docs/source/traitsui_user_manual/images/alter_title_after.png0000644000076500000240000000747514046644454030157 0ustar aayresstaff00000000000000‰PNG  IHDR°|Fÿ­ÆIDATxí] ŒTÕ¾3;,¸ì²¼\@»*¨Õ ¡lc­¤šâ£bšˆm¬šZµU©ÖFcšÔøÀØ‚V,¬ŠÅ¦-6µ±)­Æ(¯mAå± Ë.²ìÙÝÙ~wþÙΞ{îÝ;sï{gæL6×ÿüç?ÿó›óšKK¥R†ðI|ùC¡•%ûêj©«Ýw¼ÏlŸ¦¢‘ªKê`w¬ú<êk¯‰O‚&èxÇö15|Óà÷¼;ƒ› b ˆ ¦R÷EŸ¯å4]zhüO§ÔÎ=x0,2€0ÑÐŽ\c‚SQbD bT;÷&L@ ´"è…@LQùÐæZ“<Žx‰…60ŽLSoŠ\G» ¨üÜKS±í3Œ±øÜ­ÔÁÛFjêÙ‚óeGÜ2#þØÂ!GWØ (ùß_rrÕ‡Ù¼G%Tû…—ŽÍÓ{ýÞ³%: Ldfpi’»5íòîkO=¼"æ6¾åSã“öl™í¶5ZóÈ8è$LxT²rýQž¿j[Ûo_M9LvO}²ÛÎâ·µ¶Œ=æ—/5ŒcŒ‰TÓ&@;fÔ¿Ÿ| ɉ“Ä9ɇª?Û:µªoOglÓ™ksš0²œÝ-ŠÞÞ5“ð]?¿>NÞnÛ焆­2½ä×=3åÌ;LÂ/%GŸ¸wÈÄ)äI÷Á½Dôöペôd¬àŒ|eGýuÛ© €0ŽíNTt$ûÄizÁÑù“ë31Ô$÷O=:ÿ ãM—˜(4pÂFU›É;ÖN«0³ˆÝ{OJ«Œw%¨=‚mWŒŸ Ä ì<Ô|½e½Ë.,wÉþkjj÷.¸ÿ½† CÀ¼ÿæÙ#ƽ{AKãL*W,`ùr& vÓO Î)Ê[IÿÞ0{Ñd7=ðÄàì z€hzÁ•ó>Gh¨>°þÊyózúí–ÃýhÀ }·¦Ö<›÷ŽuÎ(«é™PBÁy?qFm›y±0¬dÅ=ÃD¾•žõãôU’aX•0FÌ¿©òÜ™ÉûnÂðTgGϧ™š“_yÿÔ–—’O>{ˆT‡um0}ç^-ÞÞtÅ%3»â?µæãÿ6©3g]„'í*6nh¬Ú÷x×…Kc©‰¥±âÆb8hJLQÀ=Mª¬òPî`Å¡‹U¹‘aa(ü˜‘"Ã¤Ñ KÛ(±Š¹ç ®{âÕC‹®•Ð~åÅ·† »OfO$vÇf~õ¦~Ü֦=Ó&ÔÞ}×mϾøòßÿºúåç–¿úøGÇ[åæ J+=¥îø;¯ƒ.e¯$l×Dᇌ$@4ž¤L+,#)]iILjZ¹¢ ­J$+nš¼"`Ó@sF¾ô/<sÑM7Ïf¦’P,}×Í\|áƒO/™3í´™»ú.Ÿ3ôEž9'‘.£¥ Z@ÿãG·Nzæc³aÿAöS_ù®]¿s¯Ý(âKj¹ ¬H%wi…gÒo ó­½óÎîyéÅÉÅUžrúuIÜ?˜!àpˆh 'ºè”au5 œ9ñýNýó;¯ûâô9Æô9«¾,ÕÛvÙ/3zž©º¶Ý¾üwõoÚí­‘Ðî#÷Á˜u“Ás·™+bÏ‹Ù8‰cÇ´zO²Ò¯ÇTÛÛ¯“­ðX÷Kš<¶ÈDô]³È.:I2§æˆq§ã”!Ö̸×ÃJÌ’¥¯œ­c±^Ð !¢A‹·™×üÁíCêØnyÉ>nI4Œ¼ôžg?qéZ4—ýyÓâç_0º¶á¯kóú·Ö6mí½‰„˜kÂ„Ø š ÐÄÖ.%yÐøC¯8MbBLR¢l²fÈ3MVDy‹ì†(qZ¼:]W W¦±—ÅDÚ¼˜ª¬–1¬'ˆŸf6•ÜpÁÕ¿šý.^¹~°mWÃ×V,½F÷냞)œk‰o!;Ä´4„KË’¹¬YÈ|²H†ÀÌÉ¢t°´î1%£ÊfÞJ0ÍðLÃÛ6Ás8 +Ýü§\/è~2»d°¢cMom\=ªj²1Ý&ÎþÞy§ïÂ^í¼»ž„̘‘Ûšw[ ¿}é}®‹ùq!¡œKØ®s¼J‹lˆ 7†”g ëÀ-æAÍöã‹Q;í!ÀI.üBÝÊÍ ð "Öv8Ñ~"-,O`fAX;™˜u¢çÝšÄØ-›Œ½]-_j¹e_2uÞ´úÎŽ¦ªá“ à`0Ö—.CqC¥LwÚõƒ–u_0\-â˜0fd\y…À×Îh@ˆ¤„býobXÌÈÜ7¸Œž¶Š˜$*Ï8 CD4 )bâÈõgŸ 8 à*ñ}ª LnÚx×°;ßmÃٳ̋î=G{+Œ ŒÍí¸§¾® PH7ÓÒ¼<°ÀŸË_JîR~ å|Z>Z”æü|¼1 R‚'¡¡oJUlon°€]`‚W šÈÆÄø?}räêQ£jÇNô°Ÿ"&²3D¦»ajëñ7Þ{šÃ·˜û‰¹†q°¥×0€ ##•ædhëÄ)+4š(3êMøPÒ¤ÄÜâe@aoaUî’#ZÁ±Ižx·ˆïýÅ™7M]:¥“” <[fÏ_Š‘+Ñž4úw‹§¶o4o*Ó«ƒ ’™'pS ¦ˆ’aLX‘>Ñ΀–ƒå«˜<¬mîׯ«ßm³Ÿå«^ïhž%®BHº¸%T6©ÞÔ%Ò¬—Ð å^‘°ÊHÑ r3qÛ"ÑO_ðÇ«ƒè!у®<Ä‹¾`H>F[uów(|°‘$OëzÁ]Ld^121£‚û˜ÀåG™i¢Á%+,.Ó 6è !¡ç2ܘoªõßÁø¢dÇe5=ÕuH Ã©²sÿGR†?:¿¾ñxüªÌv;‰/ÈHÒb…·nŹA.ú`kïY§mÞ?ôìÓ>³ yW×PlÕM¤_I$4œ5%û –_J€¬x*Ï“pÏ\S,ŸÔˆ±žpʰöiŽC^ÙwŸn|¤™n•’1㤑<Ž•O<@ …ûi’÷KÉóKV|Ïwð~ƒÒ43>½&…)4@Ãü^gOx bÁ}špÈ@ú¸Ê«Ìcžû¦€€ß©ôOÉù+ÞÚ5c0?ÎéOî<éï1²{úç>|óÅš(ö àoñ‘þ!—2¢{ój¢#-¦ú±ÄîÂ\©·˜v?)E3vsØ™qÍnç‡SI¸Z2Š+þhV%â^ñee S±n^–ó½XăÔî¹ÏÀøºé5|»)Ľ*-YRЀ(©rzFÂ{KJƒ«Me®ÿû_ï :ä›ßúAksÿÞwPi-P¨ 8ÿÞú !ü졟8ôê®3 ÒÓϼ`˜žì2:_ ˆ±uç²gG“™ øb“eÜñxœÿGŒÜÒ’Ë€0Ï…gˆ(ÉÏ? !¿zTÁ2C…"ìÜ  Ò¬AQË€í ÁŶ⠧h`4èõ"§ì^ØŒ^2¬Î±ŒµKäh4ˆÙˆ8Ã’‘G$â| Òy¨ÒC “O€àeÅÁWÂFƒCŠ"Õe»dp±y] ŽÃ b˜Fƒ]f"ÈW‚A zleZ9,»H}ûÄÙ("B àw ôð°2 ôÜV9½Ûõ´©ôn^kˆZ4 ¢V‘ýÑ€¹Q3¯µŠ„ìO ›JýÆTÈUõ`>@ÀýÆ”‡¢„94(@ &ýÆT˜…Í×¶|o µ|ÉLæäkT‹nÔ€pˆ?aˆtt#Óžå•·§ å¬ÀsF^¦õ (fÀv†àbKPÐÓCËèŸO¶€`ˆiøÀ2þù£5…œ·KܔвãÚ|0p %À Æ+­5´ Ø.\l^˜g™šãÚp0PÂZo+Çú©`ê¸V5 <šÕoLyL`ˆÃ„~c*ÄŠz4ívSéÑŒ^,Ѐ(–JÈO ˆ%ºXÌh@K¥ äg ›JýÆTª€™@?õS«*ƒ|×oL¢€~ÛPByKÍL孥ߎi}ád@ øÂU@Ó“|ép¼ÖVË€ÛSãCô„ç ‘©é¢Î€í ÁÅ¡@L‘SÔÁkç­°W]\ ˆÉ–±êÕœ"Í€Û%£HÃÓnçš·€àD4 dŠš.º Ø.\lZð”8EªvØMÔ€Pn¬L+‡Mê7¦8ÅE¨á1ýƔdž8<@è7¦B¬¨GÓn7•ÍèáÅ’ ˆb©TüÔ€(P¢‹ÅLváæ­–b‰Jû™SÒ‡€iHúhSKU8 }4(Õç—ÞCä”®ÒÖ€(ýç¡DNé*}a ˆÒ¯qNf7•ÎÃFkp(êÞ{ï¾]úŸ.·x¹|n¥z ±»€)·x zÉàï†&Ì h@h ȀĀt膄ÆÀ€ h@ HGôüfk@®æpÊÈRËqò{šà(é@ÝðW9µ‹¿&|× @8×^ìõ=þà©ÛáBJ¾I"G¤ƒ+žïšíÜŸlÑ„ÁM0y a¦$þ{+* ¢7m—VI¬ˆš\TMâ0Ÿ‚›"\È‘Dpa‡¥EÍÕtCr5!ÊGøöæk!f$8ZŒÅ}™y Î1QsøÇNª:û$f L©—Å"Ná¶{ yIN$f1} ¥x¨×Ê—Ä¢Öƒ‚ohJ¥Ã¢Œ4M噑åK LŒ_¤%±(7­nK±É4šsÓ÷ðÃ_2|I+ô’ /Ù+Á±%XT/!i@xÉ^ ŽÕ€(Á¢z )‡S†Ý»‡^ÌGyl¹ÅKµp ¼—åâùî[¹ÅË ŒÅçn5¦öom^ÖÉ\M”[ÆßÐjÚTÑ‘Ô{ˆr+ý ñj@ ’ rëÖ€(·Š¯Ä *·îDjwOÜØcÔÕŽÿé$l-cµ£9©ƒÝLk¢„3ï8ÀÑ%*ºßîmª3šŒ¾4žÜ­‰rÈ@JÒ¼‡ÀaCàh²¬3ðôA¸_YNHIEND®B`‚traitsui-7.2.1/docs/source/traitsui_user_manual/images/simple_enum_editor_open.jpg0000644000076500000240000001327714046644454031363 0ustar aayresstaff00000000000000ÿØÿàJFIF``ÿÛC    $.' ",#(7),01444'9=82<.342ÿÛC  2!!22222222222222222222222222222222222222222222222222ÿÀ_("ÿÄ ÿĵ}!1AQa"q2‘¡#B±ÁRÑð$3br‚ %&'()*456789:CDEFGHIJSTUVWXYZcdefghijstuvwxyzƒ„…†‡ˆ‰Š’“”•–—˜™š¢£¤¥¦§¨©ª²³´µ¶·¸¹ºÂÃÄÅÆÇÈÉÊÒÓÔÕÖרÙÚáâãäåæçèéêñòóôõö÷øùúÿÄ ÿĵw!1AQaq"2B‘¡±Á #3RðbrÑ $4á%ñ&'()*56789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz‚ƒ„…†‡ˆ‰Š’“”•–—˜™š¢£¤¥¦§¨©ª²³´µ¶·¸¹ºÂÃÄÅÆÇÈÉÊÒÓÔÕÖרÙÚâãäåæçèéêòóôõö÷øùúÿÚ ?ô?ø/·^ðõÅdž´i§—L¶y$’Â&gc’I+’Iç5Å„£Õ/¬m~A|l¥Xeš Mæ4“Ì‘Xü²/jèü ÿ$óÃ_ö µÿÑKT4²ˆ|VI N<’éÎÚ¦NÈ“ýŸáßú$¿ù'¦ÿñê?³ü;ÿD—ÿ$ôßþ=]j²²îV =AÍ.@î:⣕c‘þÏðïý_ü“ÓøõÙþÿ¢Kÿ’zoÿ®ºŠ9ØXä³ü;ÿD—ÿ$ôßþ=Gö‡è’ÿäž›ÿÇ««šh­áy§‘b‰fw8U¤öÿÂŽv9ìÿÿÑ%ÿÉ=7ÿRgøwþ‰/þIé¿üzºüÔe„ #²$jYz€XúSSmØOEs˜þÏðïýOü“Óøõ'ö‡è’ÿäž›ÿÇ«²þʈ¿l»Ïaçõ¨þËŒMåà®féúUÙ÷Æÿgøwþ‰/þIé¿üzìÿÿÑ%ÿÉ=7ÿWbtÈU¶›ë ØÎ<ñœzô¢=6såßܾ:íœ~”Y÷ œwö‡è’ÿäž›ÿǨþÏðïý_ü“ÓøõvŸØëÿ?wŸ÷÷ÿ­Gö:ÿÏÝçýýÿëQgÜ.qÙþÿ¢Kÿ’zoÿ£û?ÿôIòOMÿãÕÚc¯üýÞßßþµØëÿ?wŸ÷÷ÿ­EŸp¹Åÿgøwþ‰/þIé¿üzìÿÿÑ%ÿÉ=7ÿWiýŽ¿ó÷yÿúÔc¯üýÞßßþµ}ÂçýŸáßú$¿ù'¦ÿñê?³ü;ÿD—ÿ$ôßþ=]§ö:ÿÏÝçýýÿëQýŽ¿ó÷yÿúÔY÷ œ_ö‡è’ÿäž›ÿǨþÏðïý_ü“ÓøõvŸØëÿ?wŸ÷÷ÿ­Gö:ÿÏÝçýýÿëQgÜ.qÙþÿ¢Kÿ’zoÿ£û?ÿôIòOMÿãÕÚc¯üýÞßßþµØëÿ?wŸ÷÷ÿ­EŸp¹Åÿgøwþ‰/þIé¿üzìÿÿÑ%ÿÉ=7ÿWiýŽ¿ó÷yÿúÔc¯üýÞßßþµ}ÂçýŸáßú$¿ù'¦ÿñê?³ü;ÿD—ÿ$ôßþ=]§ö:ÿÏÝçýýÿëQýŽ¿ó÷yÿúÔY÷ œ_ö‡è’ÿäž›ÿǨþÏðïý_ü“ÓøõvŸØëÿ?wŸ÷÷ÿ­Gö:ÿÏÝçýýÿëQgÜ.qÙþÿ¢Kÿ’zoÿ¥þÏðéÿšIÿ’zoÿ®Ïûçîóþþÿõ«>xDR:­ÍÓm89˜ÿ…Ta)h„åcœþÏðïýOü“Óøõ:ÞÇÂRj–67_ ±7²´1M=…‹&õäÁòäf,mÚ¶‘³2§›q†`8˜úý*”îÒj~gbÌu>cÔÿ¡Ýu¢pœ-Ì Iì^³°³ð.—âmEm ƒLY_PŽÚÆ0»cKh•€^1hœã¡Èç“‚¬xïþIç‰ìuÿ¢šŠCÉ<ð×ý‚­ôR×+®Á-Îñ bid{µU@¥·gkÆ5ÕxþI熿ìkÿ¢–¨é_ò1x¨÷þÓŸûs¶©–ÃG;©Yjz Œ‚ÞHì…ÜâFm6'ö¡UY²ýI^OLÓOíÝcBú¬÷ÐùWö’ ƒc[Æ#¤‘ °Œzz(ã§©r}O×5Ÿ0ìsÚ´w×–›­ö¡ojmg–I-ð¥ÝD~XrTòrÜqŸÂ¹É¼A⡪H·‘kL³"GhÄM¾HÎÒ y€ü¤ç5è~´»›žHÞ•Àó=pkÇCÔ-ŒÚän†Ü¬‘o% ¯š[å\ïåì>\f¬ßêètýFÿû#ÎÂßÜÛÉçç`;HTßÙsu¯BÉãž”¹9ÎióÇØI­;WºÕ/?.8’ÞйŽ&fDçvX°Æxùºöê/¾âŽï£éþúÕŒ‘øV/еa¡øv}KÈ7D‘m»˜  öê)ÃY!Kfbëƒ\É­ÛèÒKo¦\Co¾n$òŽ ÛoÌzsŸà=*çôïj½O2Á•#•šÞÜJQ³’ï—¡ã° áÂâ¾ÿŠ`gÓí«þŸð¸¯ÀðÀ¿ãùzþUÝõ:ÿÊÌ=½>åíkÃÚ…Þ·-º$s¼å§»¸ŠEBÈbIådÎ0™ë×kwÀ–éj/ ¶¶‡ìª±bé4ï±4óFL Û@S»¾óé\§ü.;ìȰq›Õÿ _ø\wÀÿȯϽòçùQõJÿÊÃÛÓîzÝäŸð¹/ÿèWø¿áGü.KÿúÇþ/øQõJÿÊÇíé÷=nŠòOø\—ÿô+ü_ð£þ%ÿý ãÿ—ü(ú¥åaíé÷=nŠòOø\—ÿô+ü_ð£þ%ÿý ãÿ—ü(ú¥åaíé÷=nŠòOø\—ÿô+ü_ð£þ%ÿý ãÿ—ü(ú¥åaíé÷=nŠòOø\—ÿô+ü_ð£þ%ÿý ãÿ—ü(ú¥åaíé÷=nŠòOø\—ÿô+ü_ð£þ%ÿý ãÿ—ü(ú¥åaíé÷=nŠòOø\—ÿô+ü_ð£þ%ÿý ãÿ—ü(ú¥åaíé÷=nŠòOø\—ÿô+ü_ð£þ%ÿý ãÿ—ü(ú¥åaíé÷=nŠòOø\—ÿô+ü_ð£þ%ÿý ãÿ—ü(ú¥åaíé÷=n¸¯ÛÞ\¼av`¹‚c"÷$8û¬=+™ÿ…ÉÿB¸ÿÀåÿ £'Ä饕äo 8f;Ž5ÆïšÖ–¬]ÜY«´gQ¢A¨%ÏÚõ9OŸq"³)ýÜ õ>¦­Iÿ!ÿØFOý$º®1>%Ȳ+ ¹*AÔWü+¨Ó€¯Ö3¸¼i6¹³ºã5ž.2\·M‹NögEã¿ù'ž%ÿ°U×þŠj(ñßü“ÏÿØ*ëÿE5Ênÿ’yá¯ûZÿ襨4Kq.¿âÆÝøšF:Ó•µOàOù'žÿ°U¯þŠZ<=ÿ!ÏØV?ý"µ¤ÕÀÔûÿž‡ò£ìCþzÊ®QK•ÊbóÐþT}ˆÏCùUÊ(åArŸØ‡üô?•bóÐþUrŠ9P\§ö!ÿ=å\—ÄÛ_/áþ Á‰"K~1×÷É]Ís¾6Š9¼7åJŠñ½íšº°È`ncÈ5PJ2LÚ±åó%‡ööp¿¤‚Ý.ö,g‰ Ëý (Áqž£µA£K£Dnâë{ÛÌi#Lìòæù[9äg¤Mb륚ê–yžS/Ó Z“ò–xÃÀ±]´š§‡ã’PÞÒ˜8—ʉYLÈcm¤Ì›~Eç#Ž;gŠè<5§è:îŸ,í éŠc”Ǿ÷G'åK*¶9ÁȃÔ`— ”eÍf)a¦Õ›¥.èùïñ£ñ¯¡?áðÿý¬ïÊÑÿ§‡ÿè cÿ~VíZÊÃêRîžÿ?úþOÿÐÇþü­ðŠxþ€Ö?÷åhþÕ§ü¬>¥.èùïñ£ñ¯¡?áðÿý¬ïÊÑÿ§‡ÿè cÿ~VíZÊÃêRîžÿ?úþOÿÐÇþü­ðŠxþ€Ö?÷åhþÕ§ü¬>¥.èùïñ£ñ¯¡?áðÿý¬ïÊÑÿ§‡ÿè cÿ~VíZÊÃêRîžÿ?úþOÿÐÇþü­ðŠxþ€Ö?÷åhþÕ§ü¬>¥.èùïñ£ñ¯¡?áðÿý¬ïÊÑÿ§‡ÿè cÿ~VíZÊÃêRîžÿ?úþOÿÐÇþü­ðŠxþ€Ö?÷åhþÕ§ü¬>¥.èùðuêøjû³›ƒÛþœ®«³ÿ„WÃÿô±ÿ¿+\¦ˆ¡t‡A@^°vcº® n.8Ž[-®táè:W»Üèüwÿ$óÄ¿ö ºÿÑME;ÿ’yâ_û]覢¸Nð'ü“Ï Ø*×ÿE-ÿç‹?ì+þ‘ZÑàOù'žÿ°U¯þŠZ<=ÿ!ÏØV?ý"µ ‚Š( Š( Š( °\úÖ¾©ØÖ|+=üêòÙwÏem'•4.™#-´È2O©éšš÷ÃzF¥=ÝÒÉu´r¾Zµ¨XO(§/ž˜éWô›{M2Î{ÏítnæÏy+ ¶1÷p£…UãÓÖ¹",^îþùü7¨£¬‰’XH¿hË€ZI6áòy ayÁ«#YÜÝy×5Úíò¤¦xÚ=G뢴š ‹Xæ¶’9 u ÄAR½ˆ#µOEPEPEPEPEPEPEPEPEPEP^{¢ÿÈ áßý~¿þ‘ÝW¡Wžè¿òøwÿ_¯ÿ¤wTÑxïþIç‰ìuÿ¢šŠÉ9Úë† ƒ‚JŽçâÂ{«û›Öñ¥ ÷No²Ï¨À®Á+ÕÎÔQœvë”WÿÂwð£þ†½sÿ:¯ÿGü' ?èk×?ðcªÿñTìWÿÂwð£þ†½sÿ:¯ÿGü' ?èk×?ðcªÿñTìWÿÂwð£þ†½sÿ:¯ÿGü' ?èk×?ðcªÿñTìã/ù'ýÙéLUçßðü(ÿ¡¯\ÿÁŽ«ÿÅTž.ø;¨Ú=­÷ˆuk«i1¾ïuGFÁÈÈ-ƒÈ€;«Í%eÕÿÏGÿ¾µ <ïÙ÷þz?ýõ¨P¾dzÑ‘ë^ç~Ï¿óÑÿï­B;ö}ÿžÿ}jï™´dz×ùß³ïüôûëP£ÎýŸç£ÿßZ…{æG­µà~wìûÿ=þúÔ(ó¿gßùèÿ÷Ö¡@ù‘ëFG­xû>ÿÏGÿ¾µ <ïÙ÷þz?ýõ¨P¾dzÑ‘ë^ç~Ï¿óÑÿï­B;ö}ÿžÿ}jï™´dz×ùß³ïüôûëP£ÎýŸç£ÿßZ…{æG­µà~wìûÿ=þúÔ(ó¿gßùèÿ÷Ö¡@ù‘ëFG­xû>ÿÏGÿ¾µ <ïÙ÷þz?ýõ¨P¾dzמèÙÃÀAí¯×þ¼î«…ó¿gßùèÿ÷Ö¡[zoþé3ÙKi®^°’mc–]BXá%>Xß*>VaӌРøïþIç‰ìuÿ¢šŠÏðη§|@ÒüG²ãíú$×meÈÑfmõè­÷ÞNO<ðqŠ(ÿÙtraitsui-7.2.1/docs/source/traitsui_user_manual/images/DirectoryEditor_demo.png0000644000076500000240000013000214046644454030564 0ustar aayresstaff00000000000000‰PNG  IHDR °ŒÓ¹ò pHYs  šœ IDATxœìÝy|Lçþðï93Ù7$D$b‰%‹%i{BÔR½Zk¯[?K-·TQ.µ^ûMÑÚJQŠRŠØJ…*¢¤I(B!DD$‘u–s~ïW_:9s–gΜd>ól‡KOO'¨BRŸs§nñ¦.@‰º{ .v¢©KñjᓸJQké·D¼§P©ý–È«µ¦.Ä+†ã*åz*Ÿ«2u!J•«¢ë©U¥Ñh6lؘ˜øÿ÷žžž¯¹`L\\Ü¥K—xž9r¤É‡Øì¸¢0\ذ0288¸Ø‰F{÷î1cƌŋÑœ9s 6L©¬¤ç³Xùùù¿üò õîÝ›-Ù»wïÍ›7;wî\JÀúõ×_¿ùæ"Ú°aÛ°Ž=JD:t¨ÎéÊðíÞ¿ÿüQÒú 4˜2eʤI“*Õ»¼k×®˜˜77·qãÆ™¤z×Ò“'OV®\ID£FjÚ´©Œ*)ݾÎ3ðÚ6@•TAddä?þñŒŒ iIrrrrrò¡C‡öîÝûí·ß6hЀ-ÇïEüòË/ùùù5jÔ 2uY^­ˆˆ"êÕ«—© bJ%½Ý¶¶¶ìqaaaJJÊýû÷5Mrrò”)SΜ9³sçN[[[S¹{÷î=pà@ëÖ­M°ô®¥G-Y²„ˆ‚‚‚ä X}ûö]¹rebbâĉu—¿Î3°}ûöõë×·mÛ¶Êÿ‰€7—V‰(5·€ˆˆÕJÇêŸ8"JålˆŠ*­è¯ŠXV›%Ð_[‰ìù"å©òˆ¨}Íò—­Ò¬Ã‡øá‡Z­–ˆ:uêX¯^½»wïžxðàêի샼LÛ¾RñññwïÞå8.44T–þüóÏvvv~~~-[¶´±±éÙ³ço¿ý¦·šF£™3gNݺuÝÝÝ===kÕªõÉ'Ÿ¨T*ÝÕž}úÔ¬Y³mÛ¶}úô)ë)"¢¼¼¼qãÆ±ç€€WW×:uêÌŸ????_oÍr¼Ý#FŒ`_DdXqéÒ¥=z888øúú¶nݺfÍšo¿ývdd¤á~Œ/¤žk×®Õ®][©T:99ݽ{·Q£FJ¥òÀì)vyx{{ënjooß²eK—Ƈ‡‡ëíYz T*Õ²eËœœœ<==}}}kÕªtþüù’Ф{-mÛ¶M©Túùù±§úõëÇŠ´gÏzÙlÌE•ŸŸoff¦T*¿üòK¶ä¥gÀ˜SÅ6<{ö¬á gOýüóÏlÉÌ™3•JeíÚµK§ X•+`IŸO^^^†ÏZZZ~ÿý÷ß~ûí¬Y³Ø’‚‚ggçM›6I«Í˜1ÃÙÙ9,,ìÙ³g#FŒhÒ¤Içν½½.\¸@DÉÉÉ#GŽlРAçÎýüü¼½½¥æéÓ§ÎÎÎÎÎÎgΜ¹~ýú€<<<:uêФI“ÿû߆u†4Í’%KZ´hѪU«ž={¶mÛ¶iÓ¦sæÌ1Üöùóç¿ýök}mX}F«V­êÖ­[ñ½­Y³&$$äòåË………Ò7æ“'OvéÒEúcÍŒ;ö‹/¾xò䉴$++kÅŠ£GÖ]M[dÛ¶m“&MúóÏ?Ëw8AØ,Ý ˜_~ù¥wïÞºi@¥R]»vmøðá‹-ÒÛ|È!K–,yöì™´055uß¾}o½õÖ½{÷Ø’hµÚüüüƒê™K—.%&&jµÚ°%jµšÅîîÝ»9r$''Go#OÑÇÛ·o¿~ýú;ééésçÎ8p Þ7ò½ÝÓ§Owuu%¢ãÇgeeIËãââBBBô/\¸víÚµrRWttt÷îÝÓÓÓmmm#""5j¤R©tGØå¡ûÛÛ£GãÇëŽúIHHøøãõÞVö¨Tª‘#GNŸ>]÷ͽxñbXX˜ÞõÆè]KFïw–‰}*å6ò¢B:K¥Ÿ#OµT0Ãï{ìpºOI'ÊðlT‚( ¢Èq<Çñ<Ïñ<ÇÇ¿¸s&ÇsÏq žSðœ9Ï™óœ‚8½X¢ä8%Ç)8NÁq/¶e›Ï¯D­P¡1³•+`¹ºº²–š#GŽHhtµiÓ¦wïÞÝ»wg?þ ¢¢? yyy£G>räÈóçÏÙò„„„¿ýíoçÏŸïÓ§ÏáÇáE]`jjêòåË.\(íAútíÚµÐÐÐsçÎI²srr¾üòËO?ýô¥¯å“O>Y¾|¹îWÒìììuëÖ}üñǺ«=zôÈÛÛûwÞÑ­Ãx dì÷——7sæL­VÛ´iÓ3gÎ$&&†‡‡ó<_XX8iÒ$iÍ… nÞ¼™ˆºvízðàA6p¡K—.D´sçιsçîü»ï¾³´´üä“O~üñÇ3g΄††8"º|ùòÓ§OÍÍÍ»víÊ–<~üxÈ!ÆÚÚzݺu111ÑÑÑ‹/fIböìÙº£+æÍ›wâÄ "êÓ§ODDDRR’4xþöíÛ«V­b«õïßßÞÞžŠ«[eKxžÿý÷u—ß»w/11ñ­·Þ ŒŒÜ¹sgYOÑÆccc9Ž›>}ú£GòòòΜ9Ó©S'"ŠˆˆÐ‹zå~»Û¶mKD*•JŠ= ËÊʲ°°X¶lYLLLllì²eËÌÍÍsrrúôéÃ>àËQHÉüѽ{÷ŒŒŒ5jœœˆ²³³ûõëgX©w-½÷Þ{ñññR•êÚµkY‘ú÷ﯻ•áläEe¨ô3P¾S ¯NåꃥT*»vízìØ±ŒŒŒN:ýóŸÿ|÷Ýw›7o^Ž]ÅÆÆч~8xðà§OŸîÞ½ûСC*•jÀ€¢(4hĈÇ>>qqqëׯ?þü¾}û6l(E´S§NåææQTTÔÇëÕ«WŽ[Vyyy¬@–€uæÌ™¼¼<"Z³fMçΉÈÃÃc„ ¬‹4=þÜÎÎ.55õóÏ?'¢.]º9r„M·áææÖµk×®]»^¾|yÑ¢EŸ}ö™î4DdccsôèQö9Á9rĘñ•Y°èر£4.))©M›6D4f̘wß}—-ôóó³µµ8q¢(ŠçÎëׯ[ž‘‘êää´qãF+++"rwwïÛ·ï¹sçRSS¥F++«ÁƒoÚ´éäÉ“™™™ºóOîÛ·ˆºvíZ¿~}½óöî»ïîÞ½ÛÌì¯þ2¢Ã‡Q@@ÀÒ¥KÙæ;wÞ³gÏÈ‘# =z$í¶"owÛ¶mÙY•v8þüääd¥R¹oß>é[···»»û!C>|øÕW_IÓY_HILLL·nÝž>}ÊÒ•4õ¨››± kmmݸqcÝ­.\Èšû/^|¸Þ¸cGGÇãÇ7l؈|||úöíËóüÖ­[ããã×®]+Õ”3z×’MãÆÙ¥HDõë××+cxyQ*ý ”ãTT DdÆ¿øˆX­kÚxÑÂÁF²i"Y-°Aå«EQòmË‹ÿ½rÕ`Ñ¢E‹XÏÜÜÜU«VuìØ±uëÖ“'O>tèacJéÆŒ³téÒ¶mÛöìÙsóæÍD$Šbÿþý×­[×¾}ûÀÀÀE‹½óÎ;DTPPpóæMÃ|ôÑG«V­êÞ½»··÷¸qãvîÜÉ:Sþùç%õ©JKKc9vèÐa÷îÝ¡¡¡®®®!!!ß}÷ûh_µjUaá‹.y=zô`¯^Oº""Vñãèè(Ëèké3Fï³aòäɧOŸ>}ú4‹;W®\a‹-ÒMQ6663fÌ "F£·óÞ½{ë~88ưgw```DDDDD„”®˜aÆ) "Òmä ˆˆØ±cû dÌÌÌXuTLLŒTÊ*?T*•nUÁåË—YE,{VÏ_|¡›®ÊzŠØy¸yóæãÇ¥5#""NŸ>­;¶¿"o·¯¯/{ 5YFEEQ·nÝôê\ Äúé_½zUZh|!™ØØØbÓÕK±Á}Rºb¼¼¼XåtNNŽá/øêÕ«Yº’¬_¿¾N:z¯‚)ß Ã Øø‹ªLÊzªàU«\5XDÔ AƒsçÎÍ™3çÀDtÿþý;vìØ±ÃÆÆfèСӧOéx%fìØ±ÒcŽã†Êj¤†ª;²¦OŸ>¬_ê;wôúÌ6jÔhÞ¼yºKš5k6cÆŒ9sæÞ¾}»E‹†ÇŽŽf“³g϶°°–[[[Oš4iĈæúõë,l¹¸¸ÄÅÅݼy“ýøz°ïâ=zô`‘¢‚‚‚‚¬¬¬òóó—,YrôèÑ1cÆtëÖ­Y³fzרG ={öŒ5‘H¤è|õêUÖ$騱cùGDiii¿ÿþ;•\s“œœüøñãÌÌÌÌÌ̬¬,¶‡bss^^ÞÝ»w3‹Ü½{—ˆAUŠtèÐÁÓÓ3!!aïÞ½#FŒ`[±öA[[[½0GD5kÖ4¼xÊtŠºvízãÆ¬¬¬† ¾ÿþû|ë­·Xõ†žŠ¼ÝÒèö5@¥R±ºá5jè•-¤ÿ&Æ’ˆbcc7lØžžîààpêÔ)Ö:iŒÂÂBV*iB/]Òð‚ßÿ]ïœëE"²´´lÕªkaÔ]þÒk©$†°ä¥U™”éTTœ ÇsTTc¤;£Õ‹?yºIG¡³ŽÎúlcViŽRXѬJ°ˆÈÑÑ1<<|ñâÅG=}úô¹sçØw²ÜÜÜ7>|øÈ‘#Ò\£%©Y³¦»»»îi t³fÍt—KM†3â·k×Îpx|»víØƒ¸¸¸’{™™yæÌݧXk ÅÄÄH‰ÊÖÖö5ß‚MÞ‰7ëׯ¿uëÖI“&¥¦¦ÆÄİïʵk×=zô'Ÿ|R«V-¶š”J©0œX\÷[~™GD¬¿³‡‡‡^+sJJʼyó<˜––VúKEqÏž=Ë—/ŽŽ.}(ÇqÆ ›7ožn+!k8p ÍK_•ñ-X° %%åÀùùù›6mÚ´i“B¡xûí·gΜ¢»IEÞn–*ˆˆõމ‰a]ž¿ÿþûï¿ÿ¾ØM?~üøñc6Sñ…$"ÖIDvvv¬¾ÙH±±±¬¦Þ$¦E‹lj¢xåÊݱÉöööÅÅÛÛûĉ‰‰‰ÙÙÙR@)éZz)Ã7Úø‹ªLÊtªà5¨Œ‹±µµ|øüùóY+áˆ#¢¢¢ØþŠm,V™N‘ƒƒÃþýû¯\¹òŸÿüççŸÎÈÈÐjµ‘‘‘‘‘‘AAA?ýô›Ò©”·ÛRÀbYDj½*}ê&黊‘…”XZZ&¥9r É;¯`™°úŒÖ­[³:]uêÔ¹qãF\\œîww=¿þú+Õ®][/§Z[[O›6mÚ´i™™™‘‘‘ëׯ?vìXNN΄ BBBÜÝÝÛ´isôèQ6O±õ7eòÒÃiµZÖ†¥÷¡8oÞ<–®&Mš4{öl©ÆK«ÕZYYéGMLLd„õë×ß¹sçÛo¿-}ÞÏŸ?ßpÌ£§§g‡Î;·gÏž#F°vg777Ößå8Eþþþ{öìEñúõëøòË/ÓÒÒ~ûí·™3g~ýõ×TêÛýRìb "ÖWÉ××W©Tj4š‘#G²[pÊRH¦mÛ¶C‡=uêÔéÓ§§M›&‘Òùúúš™™©ÕjvgbÃWÁ~%õbkvvvRR’a%{ÉžžžÒýÑKº–Ê¡¬UYyª‰Hê*Ñ*®rurÏÍÍMOO×Ú@W‹-¤Þ-ùªg¼7n.”Æ«ëM½-a¹J©TþôÓO'KðÉ'Ÿ¼ºb—®”¾ºìfjZ­V¯eSrçÎV+Ó¤I“’ö_£F¾}ûFDDÌž=›ˆÔjõåË—IgÀÿ¥K—*þ*^z¸K—.eddXXXH40¬k|íÚµ—.]ªÛžxñâE½i™¤NôS§NíÔ©“nmʹsçŠ- «¬:uêÔ³gÏXûà|`|i¹OÇqÞÞÞŸþùÍ›7Yi¶ÌrÏ×ÿþývN†ÊZZZ²IÌ‹S´Ü…dBCCk×®½{÷nzV­ZņâÒ›™É‚ý2{Þ¤…† ñ†¯¢  €5ñ·jÕJwÅ^K¥©$帨Êq¸RNµô½ÔpŽe6|à # $ )¤àIÁ“9Oæ<ññOÄ“’#%GGGJž”ü‹5Í82ãÈBAEÛGÄ‘RIJå‹=W¤h•+`-\¸°Y³f^^^¬Ëª¡ììlö ”Û°È(**ʰ“„ÔQ¦ØT°T*•Ô¼Ryäææ²•b¿‹ðÁìÁèÑ£õfŒ$¢‡†……é­IDÓ¦M èÒ¥‹4å# #g9Fª?˜:uªÞ€ÐíÛ·7oÞ¼yóæl"ÇÒy8VsÓ©S'½þOl„„Z­ÖýˆR«Õ+V¬Ð;4–B¯´.\()^ 4ÈÊÊJ¥RÍž=»¬íƒT–Stûö퀀€€€½j GGGöòÙ¿¥¿Ý¥HII a3ZyyyéÎ.Æ ©—~²²²zöìÙ¼ys6,×øBêqrr:pàû3fŒÞ/›'ïæÍ›zMÕ,<]¼xQï}¼}ûöÌ™3‰ÈÖÖV¯ó%M™2…½M’ñãdzžyºƒNJº–¤ò›Äø¥ÊqQ{D½3`ü©nÚ´){?üðƒîš=Ú¶m›1#U®€% ¶Z¸p!B¨ëÞ½{l®KKKOOÏ×Pž»wïê"¼uë›öÝÒÒ’Õ÷’ZgÏž-õjgöìÙ$MHDׯ_ß²eË멟?sæLaaaÍš5‹oÕ±cÇQ£FQFFF÷îÝ,Xpúô錌Œ‹/®\¹288øöíÛD,U%‘¯¯oTTÔ/¿üÒ¿ÿ¸¸8Arss÷ïßÏfpvv&"77·Ï>ûŒˆ®]»Ö»wïýû÷§¦¦^ºtiáÂ…£Fºyó¦Z­.¥† ¬‡+©gwÏž=‰(33óÿøÇÙ³gÓÒÒ"""zõêÅî@¢«K—.lˆÃêÕ«7nÜxÿþý¸¸¸U«VuëÖ­¤ú6Ïäºuëˆ( ÀðC½ÆŸ¢&Mš<{ö,**jêÔ©ëÖ­{þü¹(Љ‰‰Ã† KLL$"Ö;°ô·›IMMÝYdË–-_|ñ»u«©uppЛP`Μ9...¢(Ž=zñâÅÑÑÑ÷ïßÿá‡BCCOž}:KW#FŒÐ«Uzu  P(¶mÛ6xðààààY³f±y#‡ ÆjzJ2kÖ,ö=þâÅ‹#GŽlÑ¢EHHÈ¢E48qâÄÕ«W‹¼mÛ¶GÕáI¡P4kÖlÛ¶m?þø£î—c YÒ9Yºt){½gÏžý÷¿ÿͶoß~ïÞ½:tN—´¾ÏñãÇ{ôè¡»ÐÃÃcÍš5zs²3J¥ò‡~˜2eŠîˆã€€€#GŽèÖ;–r-1[¶l™GGGWW×ÀÀ@½ûØÊÎÎNLL´··×› [F£¹ÿ~FFFݺu+2}I‡{ï½÷¾ÿþûqãÆ­]»¶¤mÕj5*ѨQ£R&õ`?~œ’’âêêúÒ±xÙÙÙnnnÙÙÙýû÷7lv4žñ§H„ÄÄÄœœœÆëv*ÓÛ]>Ïž=c·Íiܸqéç°¤B–[NNNaa¡­­­áq³³³ïÝ»§ÑhœëÖ­k‚ÇŽûõ×_»ºº²ö5µZ——çêêjx¢Œ¹–ˆH£Ñäää‚P³fM#_‚ñU±J:ÆŸê¼¼¼Û·o;88¸»»SwÎÎ䫘ª¶¬¬¬³gÏ&ZèÏëKDøk –ÉñÄL"Š·v£¢Éto•£‹ý%`ÇS°‰tže“8°%ì߯¹ÉDêiÔÄæÅªŒK’œœ÷ôéS//¯–-[ÊòwÙº‹å¹§OŸ>|øÐÒÒÒÝÝ]ŠVÆÐh4)))™™™ÎÎÎ¥LÍ““#Ý,¯"JX+W®ü׿þåïï_µ‡ iµÚÚµk?{öìðáÃR¯ü×fúôé¬}*22²”Y¼_ƒjòv—ƒ^À*…i¯¥Ê Ê畬;¹"úñ@Dµ@T4';q¢HE÷äÙLDDZA$"^Á//ŽÍ‰¥äˆh ›‚ˆ¥Réîî®7§¼!YÒÕKÉ;{¥uñâÅgÏžYZZvéÒåµ4555::úøñã¬{{§NL›®¨Ú¼Ý¯”I®%¨*uÀ±QEõêÕÓ»GoÕÍúí½ž¹<˜ƒJ÷¾trrZµjÕk;t±ªÏÛýJ™äZã50ˆhDÍ,Ò¹ÕD±s3‡ à8îÎ;¦.ÅëÀFQ½æƒÚØØÔªU«víÚ¾¾¾óçÏ/i צú¼ÝåУG c:K™äZ€ª«¶¶¶¬Ë<›´à¥>øàƒ’&;€ÊfàÀ4u)@¬WtíÚµM]b `ÃÚÚzÑ¢E¦.@%‚îíeRéæÁxÓ¡«ºÐT ^)¬jáìÙ³zKPÛ¯‚áì¾ÕV•Âs/&±ÕUìôn&ÄWõ†>XUŠÝKîdP)Tù,¬*Å­þà På?°°ª”–.‚Mî”`6æbKy&^¯´°ª35¬â—,¼é‚Šf SâCÀªj\ìÄî^¨Ç€ÊÈÆœº{ .vU¼}ˆ¸ôôtS—ä§ÖÒõTþ~&÷¼ ˜q…¯Ï‘%¹Õ[ºU¾îŠAÀšd†€ 3,™!`È  @fX2CÀ€Ì°d†€ 3,™!`È  @fX2CÀ€Ì°d†€ 3,™!`È  @fJcVŠ}Õå]>>>rí ŒüŒæÒÓÓ_º’““S…ËeðôéS¹v…÷@FF~F£‰@fFÕ`€ñPƒ 3,™!`È  @fX2CÀ€Ì°d†€ 3,™!`È  @fX2CÀ€Ì°d†€ 3,™!`È  @fX2CÀ€Ì°d¦4uàÕúöÛoM]€ªcøðáÆ¬†€UÅ5kÖ, ÀÔ¥xã]¾|Ùø•°ª'''SàÍÖ«W¯ˆˆ#WF,™!`È  @fX2CÀF‚É\ "¢}§‰ˆ8ˆD‰ÈŒã‰HE"š×­Y›ªˆå‚,™¡ Lfß©;DÔ¤ac"ÒÇ "‘9 D´ðR- ¬c¢2”@eñÇœ?žçù±cÇr,lÀ›  LF9"º›”@DâˆÈ\‰H|ÑpÍ/ŠDôÉéçDÄk‰ˆˆç‰ˆSh‰H­æ‰ˆçE""Ž'"…–ˆ¨{†DÔÃè’ÌŸ??))Ioa­Zµ\]]}||:wîÌó¯£1ýرc3fÌ ¢1cÆ(•øÝxƒá8íß¿ÿ?þ(éÙ L™2eÒ¤I•§VéÉ“'+W®$¢Q£F5mÚÔÔÅ}X`2Ï ÔDdîÒ€ˆ4¢‚ˆ y""@DdƉ"‘Z "R*ˆˆDˆH¡øk?‘¨¨ç–…¨%¢ïÜ$¢aÍÊT[[ÛÀÀ@ö¸°°0%%åþýû&99yÊ”)gΜٹs§­­my^ªÜ=z´dÉ" BÀ¨„°à/¼sçN™6iܸq¿~ý^Qy^3__ßS§Né.IKKÛ´iÓܹs5Í¡C‡&NœøÍ7ߘªxðAÀ‚¿tîÜ9))I£Ñ¹¾™™YçÎË}8…‚'"¥BAD¬B*òÊ}"ªïlKD)éωXG¬sbý϶ODNÖD”–‘GDÚº‰ "DyºLÕ©SgæÌ™®®®£FEqëÖ­ƒ êÝ»·ášÙÙÙ÷îÝÓjµîîîŽŽŽ¥ìS­VÿùçŸJ¥ÒÃÃÃÚúÕÎð•“““œœœŸŸ_¿~ý:uê¼´‰SŤ¤¤œœœzõê999½Ò²Tm˜ þâàà µ‘# ÀÁÁáÕ•§’1bk#¢¯¾úJïÙK—.õèÑÃÁÁÁ××·uëÖ5kÖ|ûí·### ÷óóÏ?ÚÙÙùùùµlÙÒÆÆ¦gÏž¿ýö[éGEñÃ?T*•J¥òã?Þ¶m›R©ôóócÏöë×=µgÏÝ­¢¢¢BCCííí[¶léïïïââÒ¸qãððp½Oœ8Q©TvèÐA¥R-[¶ÌÉÉÉÓÓÓ××·V­ZAAAçÏŸ7þ,€.,øþþþ5jÔ0fÍ5jøûûWäX ÑÓœ’8%qÖ–Ö–ö¶–ö¶–666666V6ÖV6Ö6¶66¶66v66vl±¥µµ¥µµƒ­¥ƒ­¥¥µ¥¥µ¥’ã”ÇÇ'’ ’P‘²é™>}º««+?~<++KZ¢×°xáÂ…°°°k×®é.\³fMHHÈåË— ¥š¤“'OvéÒåçŸ.鸢(Ž3fË–-Z­öïÿûêÕ«5V«Õ]G«ÕjµZÝzÇØØØ=z?~\·æ/!!áã?^´h‘î¶jµZ«ÕªTª‘#GNŸ>ýÙ³gÒS/^ ûóÏ?8=  þ‡R©ìÒ¥‹1kvéÒ¥ZM%жm["R©TRæxôèQXXXVV–……ŲeËbbbbcc—-[fnnž““Ó§OŸ°5óòòfΜ©Õj›6mzæÌ™‚‚‚ÄÄÄððpžç 'MšTìEQüè£6oÞLDÆ Û¶mÏóï½÷^||ü?þÈÖY»vm||||||ÿþýÙ’äää^½zeee)Š©S§ž8q"::zåÊ•5"¢Y³fmݺUï@QQQ»víjҤɪU«bbb<8|øp"ÊÎÎîׯ_ff¦¬' Z¨F`$OOÏFݽ{·”u7nìééYÁ©ˆ¬9"iT HDäîbCDžulˆÈ\ID¤‰ˆTQÑ,Yj-‘’'"JNË#"›þ¯ÝȬmÛ¶‡"¢G±%óçÏONNV*•ûöíëÓ§[èíííîî>dȇ~õÕW , ¢3gÎäååÑš5kX¯5 &°¾óDôüùs;;;ÝÉ¢8vìØ7Ñðáÿùæ6—MãÆÙÞˆ¨~ýú7ÖÝpáÂ…)))D´xñâiÓ¦±…~~~½{÷ÈÎΞ8qâðáÃõförtt<~üxÆ ‰ÈÇǧoß¾<Ïoݺ5>>~íÚµ³fÍ’ïDT ¨Á‚b”^;¥T*+Ò·ý åëëËm˜®Æ·aÃ"1b„”®ŒqåÊ" ”ÒãååµpáB"ÊÉɹyó¦ÞV«W¯féJ²~ýú:uêè¾ 0j° ¬·û¯¿þZì³²ômçx""OT4ëÃz©ÙìVj¢¢z)¶Ä\ "R‘–UU‰DDJÖ¯‰Í•¥‘¿+55•=`Sa©TªØØX"ªQ£Æ‰'ôVfýؤhdee•ŸŸ¿dÉ’£GŽ3¦[·nÍš5+iXßøñãYÝÕˆ#¶lÙb|º*,,d¥*v°BûöíÙƒßÿ½E‹ºOuêÔIoeKKËV­Z±F#Ô`Añüýýííí —ÛÛÛW°oûê÷ßgêÖ­KD111*•Šˆ¾ÿþûláãÇ?~LDõë×ߺu«‹‹ Ûpâĉ-Z´pvvž1cFzzºá±Xº"¢–-[–é.=±±±jµšˆ¼½½ ŸmÑ¢‹t¬–Kbooïááa¸>ÛIbbbvv¶ñeB ”D©TvëÖíÀzË»uë&[ßvÍ_õ7Jº(Q+=¤BŽˆˆÝlÍáþb#V›ÅqœHEõaì~…¯ 므Ųˆ ¼¥èææÆ’S±¤q|ƒîÓ§ÏÚµk¿û˜Až~ü˜•ê—_~ g}ÕÙ§zÊÈÈ ?~|—.]îÝ»÷Ã?°ÛZ7mÚt„ å8™ÕWì &¨2._¾PÁ÷&$$‘콯†üpˆê7mJD6<ѱ«ˆ(¤U]*šˆAÔ X¢N£‹Y¼‚ˆè̵T" iåBD…DD”t+žˆöüíf"(E«V­þøãRVðóóÛ·oŸÞ”žDôûï¿Û~ׯ_¿ýû÷³(SXX,µÐ™››«ÕjÖÊÚÚzóæÍï½÷-]º”E.µZ-µÌ&%%ùûû?}ú”çù#GŽ„††²å½zõ:vì˜t¸;wJÍ—±±±;vÔ½¥dÁ‚º³†Ž;ö믿vvvööö6¼c½½ý¥K— «»ª­ˆˆ©a§t¨Á‚—{EÛA¤¢š'Vƒ¥T(ˆèdÌc"b£ô81ƒ¤û.äØV¼Þš¢¢l%Q(ŠÙÀÉÉ©~ýú>>>ÇïÖ­[±Ó%´mÛöèÑ£³gÏ>w«&Mš|öÙgìn3Œ……Åùóç-Z´iÓ¦û÷ﳎS¬ùuõêÕÒ”T¬<ÏëÎåááÁf‚ÐjµC‡½uëVíÚµ‰hË–-ÿù϶mÛÆn ¨»‰ÏñãÇ?ÿüóS§NI=<<¦L™òñǾ ¥RùÃ?Ì›7oݺu……,£R@@ÀŠ+®Ê5XUœ,5X¯È ½qDäÑÔ‹ˆ¬•DD'ÿH#"A©,‹ç8"êî[‡ˆ D"¢Ä;ñD´w€±5X÷ìÙ3vÛœÆX”²fvvvbb¢½½½‘K§ÑhrrrA¨Y³f±ÇºwïžF£qvv®[·®á¼¦¬ËÕÕ•u2S«Õ yyy®®®lwÐ…,xÔs´$¢†v<ÍÃþÏ·\Hêe¥³¦GD¤!¢¢û¾h-Ô‰_…S—ocþ* ^ GGGGGGcÖ´··÷óó“ë¸J¥’Í_ұؠB#™™™yyyÉQ.€ê£d†,0™úž‰ètÔU¢´+”J"┬‰P "Q䈈Wrôâ6ƒ¤Ö TÔåˆÝÇP¥åˆˆ×ŠD$rZ"jå[†jÙ!`T_=zô°°°(¶ÿT˜Ìh‡§Dô~ÇoäWnææl†‚bfï]8p ©KP¡€ÌPƒ&S9'¨8Ô`È  @fX2C¬jáîÝ»¦.@95jÔÈÔE(3Ô`È  @fX2CÀ€Ì0Šª"Šø-ˆˆˆH$‘ˆÌ8žˆDQ$¢ÉmjQAF†éŠ o0Ô`È 5XPíDüöˆˆš4lLD""â8""A$"2'ˆÖÝN'¢ñnVD”ŸŸoš‚À 5XUV«Ý²eËܹs“’’LU†?ÿüsæÌ™»wï6UL5XPí"GDw“ˆHC™‹"‰/¾npDÄ‹"­¼)¯%""ž'"N¡%"µš'"ž‰ˆ8žˆZ"¢·Þv&"ïG^ã«)ÞÉ“'-ZDD÷îÝÛºu«IÊ0uêÔøøø={öxyyµnÝÚ$e0,“ÉÈÈØ²e  8°aÆ2î™c­ž~úé§[·nÕ­[÷ý÷ß—ñpÅâyT@õ…€ÕÎó5™»4 "¨ ¢BžˆH#™ñDD¢HD¤ˆˆ” ""Q "R(þÚF$*ê¹e!j‰è§3ÉDäÝÌÌÈ’¤¥¥}õÕWDÔºukyV÷îÝgÍšuÿþýáÇë.ˆˆ8qâD‹-^CÀZ¾|ùwß}çííê+¨†°ª …B1jÔ(Ó–¡yóæ_|ñ…iË`*XPí(<) "bݨxèE'+"‘ˆHÁ)9""Ö‹ÍÅ \Ñ*/~yŠzn)ˆH_U£XZZÚÇ6lèàà@EåyòäIjjjݺuk×®-ã±ÒÓÓ>|èââR»ví’š tè$`û÷ï÷òòêÓ§ûñ£>òòòòòò:zô(edd°ÏŸ?¿mÛ¶·ÞzëoûÛÉ“'‰(;;{ùòåþþþo½õÖ»ï¾4a„ÌÌLiÿlÛ·ogKºtéâååuâÄ "ºqã{¶W¯^Ò&ùùùsçÎíСCûöíß}÷Ý·Þz+ <<¼  @Z'&&†mxùòe½W$íóÂ… lÉòå˽¼¼Úµk'ûÙ¨üPƒÕŽF#‘BàˆÕ;©9"6z°¨KË–p-‰#"'"b}¬Tl}ñ¯mEˆ¤½–F«ÕjµZ½%D¤ÑhtŸÝ¿ÿ¡C‡tWáã?>þ¼îÂ'Ož;vìÖ­[[·nuuu%"QuwHDjµZ÷ˆì±Z­f?¦¥¥5êÖ­[ìGŽãDQ|öìÙš5k¢££¿þúk¥RÉŽ®·[‰F£aOIGaK¤CT+X&ЧOŸ€€€øøø±cÇѼyó:tè@DuêÔÑ]íСCÆ ó÷÷·³³kذaxx8KW]»výàƒ5j{äÈ‘ˆˆˆÄÄÄo¾ùföìÙÅqïÞ½*•êóÏ?¿pá‚§§çƉȂ=»{÷î[·nq7f̘Q£FÙÛÛGGG¯^½:**êìÙ³§N }¥' ŠAÀ‚jG-Dd­S;eÎ ätƲÚ)5«¬aÕRZ""QADdNDô¢ÎŠuË.ƒ•••»»»4G¼‹‹‹»»{±«mÙ²E·•-33³S§NŽŽŽ .´´´$"WW×îÝ»_¹råÉ“'—.]*éˆuëÖ%"[[["²´´Ô;Ü™3gˆÈ××wúôélI```xxøôéÓU*UZZšÑ¯ ˆ°*³Î;ëõaš;w®ájJ¥²oß¾›7o¾uë– 嘀ŠE½„„„ôôôZµj±…µjÕbÓt@Y!`AµÃñDEãQ„Wþ8¢¢q‚f¬W–’¨¨¦J!I=·Ø\Yãë°ŒRJñüüüäääìììçÏŸggg'''‘ l´cYݹsçùóç;wîÛ·ohhh›6mXu”@åÅu‰¢xôèÑM›6ݸqC¯›|EL:õñãÇ'Nœ(((سgÏž={ E›6mÆ×±cG¹ŽP} `Aõ£ùkn'¥HD¤buQ‘Rg¡‚U±ÞZDDdÆæÍb?(ˆˆX-Ö[Kî ¬b,^¼Xj¶377¯[·®ƒƒƒ½½ýƒ*r_g;;»uëÖÅÆÆnذá·ß~ËÌÌÔjµQQQ£FjݺõÆkÔ¨!Ï ¨0ÀãÁƒ,]¹¸¸ìÚµ+66öçŸÞ¿ÿÖ­[ûõëWñýûøø„‡‡GEE=ztòäÉNNNDtíÚµåË—ë­©R©ô–dddT¼Uj° ÚѰ>U ŽŠÆ òJ¢¢a‚E3ZÍäÎú`éÎÛþ¢~K÷Þ…‘À å+’‘“EIƒ?üðC½îYW®\‘ëpÇ5mÚ´iӦÆ ëÔ©Snn®´s;;;öàñãÇz[ÅÄÄ_€*5X&cföâ¶Ð¿ÿþ»1ëK÷ÉÉÍÍÕ]~õêUéÕK9bBBBVV–´011ñÝwß}÷ÝwwíÚ¥w8GGG"bÿQÆ ­¬¬ˆèرcºk¦¥¥í߿ߘT¨Á‚jG«ˆHd£ÙŒVºOìááT¯^=ÃŽí’öíÕiñ IDATÛ+ ­V»uëÖÚµkwêÔéùóç¿þúëòåˬcó¼kµÚ¹sç¾ÿþûnnn...YYY÷îÝ‹¡ÿþÖÖÖ)))«V­zðà………±ÍyžoÖ¬Ùµk×Î;7wîÜ÷Þ{ÏÜÜ<::zÆ lM`Pƒ`2VVVlŒÞ“'OæÎÛ³gOv¯À’ØÚÚ>œˆ233gÍšÕ±cÇÞ½{/\¸P£ÑH¨t={öd÷o>|øðßÿþ÷>ø€ˆ8Ž›:uª¹¹9»¡ŸŸ_Ë–-;wî|ðàA" êÛ·¯´‡Ù³g³J¬;w¾óÎ;!!!Ÿ~úéÝ»w PþPå `Aµ#¢ ˆ¼@¼@GÄ)ˆS¨ QA‚H‚H )ĉĉÄóÄó$p$pÄ+‰W’9Gæ‰"‰"qÜ‹á‡D/öP&K–,5j”ÔöÇÒBñb/†S†Îš5kÖ¬YlZvÆËËkóæÍ]»vÕ]Ÿã8¶+½=´jÕ*<<Üßß_÷pDvàÀvíÚ±ð¤R©xž÷ôôœ:uê¶mÛìíí¥=øùù­_¿ÞÇÇG*¤­­í´iÓþõ¯é•™­ ­P­pééé¦.¼B—/_ÈÌÌ4uA*‘Wó‰È£©MÊÀûX« ë®Î– Â_ϲ)XZx1)ƒ–ˆHÁ¶åˆˆïÄÑ_‹²I«Õæææ ‚`ülééé?vvv–&^/“¼¼<•Jemmmnn®»\„äææzxx°°U’üüü¤¤$;;»zõê•cîxã5jÔèÕí L"""ŒY}° Ú©çhID ít2@ôâ6ƒÿƒÝ£unbsb½a:3c±NY,`åÛ˜S¹( ÝZ"cÔªU«|ÑŠ±¶¶¶¶¶6\Îó|ƒ ŒÙƒ••UóæÍË]€ª M„2C T;µêÕ'¢ÓQ‘¨&"âØ­" ‚–ˆD#"ÞŒ§¢ù±Ô-qD&°"X‘ ,€È@d 2™ÀˆL`D&°"X‘ ,€È@d 2™ÀˆL`D&°"X‘ ,€È@d 2™ÀˆL`D&°"X‘ ,€È@d 2™ÀˆL`D&°"X‘ ,€È@d 2™ÀˆL`D&°"X‘ ,€È@d 2™ÀˆL`D&°"X‘ ,€È@d 2™ÀˆL`D&°"X‘ ,€È@d 2™ÀˆL`D&°"X‘ ,€È@d 2™ÀˆL`D&°"X‘ ,€È@d 2™ÀˆL`D&°"X‘ ,€È@d 2™ÀˆL`D&°"X‘ ,€È@d 2™ÀˆL`D&°"X‘ ,€È@d 2™ÀˆL`D&°"X‘ ,€È@d 2™ÀˆL`D&°"X‘ ,€È@d 2™ÀˆL`D&°"X‘ ,€È@d 2™ÀˆL`D&°"X‘ ,€È@d 2™ÀˆL`D&°"X‘ ,€È@d 2™ÀˆL`D&°"X‘ ,€È@d 2™ÀˆL`D&°"X‘ ,€È@d 2™ÀˆL`DVñµqãÆŠž€˜²+dªkÖ¬yæ™g†:wîÜeË–5hРk×®]»víÓ§O»ví*d–b©€ÀúøãÏ?ÿüï¿ÿ>5déÒ¥#FŒ1bÄ]wÝu×]wuÖYå0Ë–-{øá‡CguVË–-ËaŠÀ/DyÖÈ‘#Ï;ï¼¼¼¼B£FN>ùäf͚͟?âĉcÇŽÍËËûãÿøßÿþ÷Ž;îØÞs’››{ß}÷…öÛo?DT®µjÕª+®¸"©«_ÿú×<ð@ÕªUSÏ>üòË/_µjÕ?ÿùÏcŽ9æàƒ.Ïyˆ¥\Or¿÷Þ{-ZBhÛ¶í}÷Ý—^W!„cŽ9æùçŸO?ùä“?pZùùùÓ§OŸ9sæúõë·ùMŠŠŠ.\8iÒ¤¯¿þzÆ eyÉâÅ‹§M›–Ddºï¾ûnÊ”)%‡??åX¯½öZ¡FO=õTõêÕKŽÐ­[·Ã;,„““³pá¤I“5jÔ¨Q£?þ8cä©S§&O3&}ø˜1cŽ8âˆæÍ›÷ìÙ³GÍš5;å”SÆŸáùçŸoÔ¨QÏž=“ÿ=çœs’÷If/QPPð÷¿ÿ½C‡;vìÝ»w÷îÝwß}÷ßþö·³gÏNŸÖ²e˒׎=úùçŸÿÕ¯~Õ®]»C9d·Ýv»æškÖ¯__\\üÌ3Ï´oß¾S§N½zõjÑ¢EŸ>}¾ú꫌ŸeõêÕŸ|òIaaáV.QàǨüN›6mÞ¼y!„<°U«V›íᇞ?~a§v !&ÙQPP1fAAAɧ{ì±o¼1ž••U\\Bxï½÷>þøãçŸ>9ì˜zaJò¿é¯ºêªgžy&}œüüüaÆMœ81''g—]vI½0yÕ»ï¾ûøã§Þ¡  à‰'žX±bE›6m z“¼¼¼ &œxâ‰o¾ùæn»í– \¸páþûï¿víÚýöÛ/''gK ø±+¿=X³fÍJ´mÛ¶”ÑêׯߥK—.]ºd@,‹õë×0 °°°e˖Æ [°`ÁĉX©R¥¼¼¼k¯½6í׿þõøñãŸ~úéäÿþ÷¿?~üøñG}t2dàÀI]uêÔé®»îú裞yæ™äÚÆùóçŸ~úé«W¯Î˜ô£>Ú´iÓÇ{ìý÷ß¿á†vÝu×ÂË/¿|ë­·Ö¯_ÿÁüè£î¹çž}öÙ'„››ûòË/§^;räȵk׆ÆÿÝwßmíO üؔ߬%K–$¶ß®>üðÃ䌫Ûn»­G!„ÝvÛí¢‹.*((xë­·BkÖ¬©U«V5vß}÷uëÖ%¯Úu×]wß}÷Ô›,Z´è®»î !4mÚô¥—^ª_¿~¡uëÖ}úôÉÎÎþ׿þ5}úôÁƒ_~ùåé“®W¯ÞË/¿œ¼Oûöí7n|饗†*W®ûÅ_„š7o^¯^½-¾ðËT~U­Zµ^½z…æÎ{ã7nrœ‚‚‚ÿùŸÿùóŸÿ|óÍ7'ÝêÖ­›<•Üw4ÝĉKŸbݺuûôéó /üùÏ!äççoò%éÖ¥K—äÁ„ JŽ9uêÔôqJ*׳ªûöí›¶{â‰'^}õÕŒg n¹å–ävYçw^r^Ë–-kÔ¨Bxýõ×ÓG^´hÑ /¼ñ7ÝtSïÞ½O8á„5kÖ¤O]ß—~U`•*U’é7yiñtÕUW-_¾<ý©k¯½6777l‡Àš>}ú“O>™º“ð“V®Õ¥K—‹/¾8y|Ùe—Ýpà _|ñÅúõëçÌ™óúë¯uÔQ=ôP¡Zµj¿ûÝïþÿüUª”Ü×`Ô¨QW_}õ´iÓ¾üòËçž{Nš;wnÆû·oß~Ò¤I}ôѹçžûÅ_­[·î7Þèß¿¡aÆx`jä¦M›&'T½òÊ+O=õÔW_}•|Û`£F’=^óçÏ?í´Óž~úéY³f½óÎ;}ûöøàW¿úU•*Uòóó“³Ñ«W¯~Ûm·¥ß¡zõê½zõz÷Ýw/^|õÕW‡{챓O>9„ð׿þ577÷ÙgŸKÌ›7oñâÅ©ïá~¢ÊûÆK•+W¾ûî»}ôÑ:dî¸ã^yå•ôJM:õ ã©’·¶J†§ì±Ç¶mÛ6++ëì³ÏVWð3µýnû¹E_~ùå7ß|³xñâ têÔi‹ß³~ýú¯¿þºvíÚÍš5Ûâ=9W¯^=wîÜÚµk7oÞ¼ô1 Ö®][TTTòÂÀÂÂÂ… .[¶¬zõêM›6MÎÛN’¯ñ‰þ¶ãÆëÖ­[Æ-é€m““Ó­[·²ŒY‘E9XKÙËw³D&°"X‘ ,€È@d 2™ÀˆL`D&°"X‘ ,€È@d 2™ÀˆL`D&°"X‘ ,€È@d 2™ÀˆL`D&°"X‘ ,€È@d 2™ÀˆL`D&°"X‘ ,€È@d 2™ÀˆL`D&°"X‘ ,€È@d 2™ÀˆL`D&°"X‘ ,€È@d 2™ÀˆL`D&°"X‘ ,€È@d 2™ÀˆL`D&°"X‘ ,€È@d 2™ÀˆL`D&°"X‘ ,€È@d 2™ÀˆL`D&°"X‘ ,€È@d 2™ÀˆL`D&°"X‘ ,€È@d 2™ÀˆL`D&°"X‘ ,€È@d 2™ÀˆL`D&°"X‘ ,€È@d 2™ÀˆL`D&°"X‘ ,€È@d 2™ÀˆL`D&°"X‘ ,€È@d 2™ÀˆL`D&°"X‘ ,€È@d 2™ÀˆL`D&°"X‘ ,€È@d 2™ÀˆL`D&°"X‘ ,€È@d 2™ÀˆL`D&°"X‘ ,€È@d 2™ÀˆL`D&°"X‘ ,€È@d 2™ÀˆL`D&°"X‘ ,€È@d 2™ÀˆL`D&°"X‘ ,€È@d 2™ÀˆL`D&°"X‘ ,€È@d 2™ÀˆL`D&°"X‘ ,€È@d 2™ÀˆL`D&°"X‘ ,€È@d 2™ÀˆL`D&°"X‘ ,€È@d 2™ÀˆL`D&°"X‘ ,€È@d 2™ÀˆL`D&°"X‘ ,€È@d 2™ÀˆL`D&°"X‘ ,€È@d 2™ÀˆL`D&°"X‘ ,€È@d 2™ÀˆL`D&°"X‘ ,€È@d 2™ÀˆL`D&°"X‘ ,€È@d 2™ÀˆL`D&°"X‘ ,€È@d 2™ÀˆL`D&°"X‘ ,€È@d 2™ÀˆL`D&°"X‘ ,€È@d 2™ÀˆL`D&°"X‘ ,€È@d 2™ÀˆL`D&°"X‘ ,€È@d 2™ÀˆL`D&°"X‘ ,€È@d 2™ÀˆL`D&°"X‘ ,€È@d 2™ÀˆL`D&°"X‘ ,€È@d 2™ÀˆL`D&°"X‘ ,€È@d 2™ÀˆL`D&°"X‘ ,€È@d 2™ÀˆL`D&°"X‘ ,€È@d 2™ÀˆL`D&°"X‘ ,€È@d 2™ÀˆL`D&°"X‘ ,€È@d 2™ÀˆL`D&°"X‘ ,€È@d 2™ÀˆL`D&°"X‘ ,€È@d 2™ÀˆL`D&°"X‘ ,€È@d 2™ÀˆL`D&°"X‘ ,€È@d 2™Àúù7n\EÏü²dWô Prrr*zà$kéÒ¥=?+D&°"X‘ ,€È@d 2™ÀˆL`D&°"X‘ ,€È@d 2™ÀˆL`D&°"X‘ ,€È@d ²ì²Œ4uêÔí=¤ëرc¬·²î ¢2~Fg-]ºt‹#Õ¯_ÿÏ[aÙ²e±Þʺ€ˆÊøí!@deÚƒ@ÙÙƒ™ÀˆL`D&°"X‘ ,€È@d 2™ÀˆL`D&°"X‘ ,€È@d 2™ÀˆL`D&°"X‘ ,€È@d 2YvEÏÛÝG}Tr`qqqùÏ ü„dee•Ø£G²¼V`ý"ôìÙ³¢g~òÞÿý2Ž)°~)êÖ­[ѳ?a+W®,ûÈÎÁˆL`D&°"X‘ ,€È@d 2÷ÁúEûôÓO'L˜°×^{õîÝ»¢çe;***zôÑG‹‹‹Ï>ûìwܱ¢g§ÂühW÷ã?ž——×½{÷}÷Ý·¢çe Êm[*((¸ÿþû¿ú꫾}ûî¹çžÛoB¥˜ú蜜œk®¹æöÛo!Üxãß~ûmûöíÿüç?oîÝžþù·ß~»R¥J?þø&¿CàGhܸqÝ»w¯R¥ÊÒ¥Kk×®]ѳSa2Vwÿþý¿ù曌q4hФI“Ž;rÈ!•*•ÓîêÕ«íF¦± IDAToذáºë®0`@ùLq›•Û¶ôòË/Ÿzê©!„#Ž8bĈÛoB¥èСÃôéÓCüñP!ó?*+W®|ÿý÷}UÎÿñÜsÏ­_¿¾,c¶oß~{ÖСC§OŸÞ¤I“ /¼0ú›o›õë׿÷Þ{!„£>:òÒK/͘1ãC)%°>ú裧žz*„ðüã§Xo¾ùfá ƒú%×UÉÕ=tèÐÿþ÷¿›·ÝvëÛ·ïW\ñ£ZËÏ=÷Ü”)Sš5kv饗VÈ dlKK–,4hPá7¿ùÍ^{íqB›«Ûò\åVØð³ôK ¬ž={®[·.õ¿yyycÇŽ !ìºë®­ZµJs·ÝvÛ30lذáÇwìØñÇXï½÷ÞúõëwÜqÇŸýߦ999!„£Ž:ª¢g¤"mnuתU«{÷îÉã7.X°`þüùóæÍëÛ·ïèÑ£Ÿ}öÙZµjUÄ,oÂK/½ôꫯî½÷ÞXÛÒÂ… B8à€âÖñÇ?hР9sæ\~ùåéÃËs <ýôÓ<òH×®]öÿDÀöðK ¬gžy&ý׬YÓ¢E‹Â)§œrã7VÌdñâÅO<ñÄM7ÝTPPðŸÿüçòË/OöYRžÛRvvvß¾}·÷TJ×¹sçG}´bç~º~Ο¬?ÜêÕ«çÏŸ_TTÔ´iÓŸßÉÑÉÁŽÔ£(òóó¿øâ‹ììì-ZÔ¨Qcs£.X° 77·aÆ͚5+Ká}÷ÝwóæÍkݺu½zõ¶jr#FŒ(**jÞ¼yûöí3žZ»víܹs Ú´iS¥J•R¦^\\¼pá 4kÖl—]vÙâÜ–]~~þÔ©SwØa‡Ž;¦ߪE´hÑ¢yóæ5iÒ¤qãÆ›;¢WöÕ½óÎ;_{íµMš4ùÍo~S\\ûìä“OÞ}÷Ý>øàC9¤U«VG}ô'Ÿ|’aéÒ¥­[·nѢžûî»jÕªô×~øá‡-Z´hѢŕW^BèÚµk£F†B˜:uj£F5jtÐA¥Æ_½zõ'Ÿ|RXXX^?\!Ìš5ë믿ÎÊÊêÓ§O”7|÷Ýw»wï^»víÎ;·oß¾fÍšGqDúKÜxã7nÞ¼y÷îÝ÷Øc \uÕUyyyé£-Y²$;;;;;ûí·ß¾ÿþûÛµkפI“8àµ×^۪ɅÿÝs“ñc¾óÎ;={ö¬U«Vûöí;wî\»ví}öÙçé§Ÿ.ùò+Vüõ¯­_¿~“&MºuëÖ¸qãÆŸzê©Ë–-KsÚi§eggרQcÅŠ%ßa=öÈÎÎÞÿý“ÿ½üò˳³³:è Ù³g{ì±;í´S×®]=öØ­]D!„uëÖ]zé¥ÉÇs·nÝš4i²óÎ;÷ïß¿äé†Û°ºÏ?ÿüäàW¡änŒO?ý´wïÞuëÖíÔ©ÓÞ{ï½ÓN;õèÑc̘1%ß§ì3™aÒ¤I 6ÌÎή_¿þ×_ݲeËìììW_}5y*Ù<:tèþ’ñãÇ÷éÓ§N:íÛ·ßwß}wÙe—V­Z=ðÀïœZyyywÞygýúõ÷ØcN:5hÐà€øðÃ77KéÛÒ!C²³³;wîœùäüüüô‘·mu÷ëׯI“&!„#F¬\¹25|Ú´iGydÆÅ?þø˜cŽ™4iÒ6ÏdºÉ“'~øáK—.­U«VNNNË–-óòòJù= !L:µwïÞ#FŒ(..N œ={öÿøÇŒÕ𬂼¼¼ .¸ _¿~é+wìØ±ÇsLÆö–ÈØ– 2þ(Jf©   ”º—q£***J&‘ZJ¥/2.êÔŒ%ó™.™\úS©Uri[$°2-Z´èÌ3Ï\µjU•*Un¾ùæ1cÆ|ðÁ7ß|s•*UÖ®]{æ™g~÷Ýwɘ—\rI²#jÈ!É)ó!„AƒÍž=;„p×]wí¼óÎ!„œœœñãÇ|ðÁ!„V­Z?~üøñ©=1#GŽ\»vmaüøñ©w.Ïû^·nݵ×^[XX¸×^{=zÆ sæÌyà*Uª´qãÆ+®¸"5æ­·ÞúÏþ3„ЫW¯aÆ͛7ï?ÿùÏ¡‡BxöÙgoºé¦’oþïÿ»ZµjW]uÕk¯½6zôè>}ú”}r!„qãÆ-[¶¬J•*½zõJ†,Z´èôÓO/((¨Q£ÆÃ?wîÜ9sæxà<ðÀ˜1cž}öÙ­]D?þøÔ©S³²²úõë·páÂuëÖ=:ÙÌrrr2Ro›Ww×®]Cyyy©DX¸pá1dzråʪU«ÞyçS¦L™:uêwÞY¥J•5kÖ{ì±Éü6ÌdÊÿûßÃ?|ùòå;î¸ã;ï¼Ó­[·ÂÇâˆ#’mÛ¶mÚ´éE]”››;xðàk¯½6„••õàƒ|ðÁ«V­êÛ·ïûï¿?{öìûï¿?„pÊ)§üñÉk“Oîä¢îêÕ«ï¾ûîé“ëÝ»w­ZµÖ¬YÓ­[·]wݵ|~ÆuëÖ%ûç¢ÖèÑ£“+4ï»ï¾C9$„ТE‹Ë.»,9E:„°zõêÚµkçææÞpà !„C=tøðáÕªU !4kÖ¬W¯^½zõ7nÜm·Ýö׿þ5žR³fÍ7ß|3ùœH >¼,“KFNÂâW¿úUê:¸o¾ùfŸ}ö !\|ñÅ¿þõ¯“;w®U«Öå—_^\\üÁœp ÉðåË—÷éÓ§~ýú?þxõêÕCÍ›7?þøã?øàƒÜÜÜÔ>ÎêÕ«ŸvÚiO<ñÄ;ï¼³bÅŠôÓõ^~ùåB¯^½š6mš±Ü~ýë_?ÿüó;ì°CjÈV-¢7Þx#„Э[·;î¸#yù!‡òâ‹/^pÁ7n\¸paêmÈêîÚµk²TSoØ¿ÿyóæegg¿üò˩ݮ:thÞ¼ùé§ŸþÝwß=ú裩ÛY•}&S¦L™rØa‡-[¶,©«Ô­G›5kBHB¶FÿÞzë­ ,!Ü~ûíW_}u2°sçÎG}t·nÝV­Zuùå—ŸwÞy÷¨W¯Þˆ#’_ÉŽ;üñ•*U;ì°C²;jÊ”)EEEÉÀdçG^^^ú®‚qãÆ%G|’g3ÜrË-éuµµ‹(Y3fÌX´hQjÌFåääŒ5*ýÚþ²º;uê”ùä<0ÙD3üÕ›››“!„©S§þãÿXºtiݺuGŽ™,‹7&s•º¡WºÔåŸ}öYÆ2ÏHŸBµjÕºté’aL¾ÅmisJ¹kñ7ª­²U‹(ëÿøüóÏ“3:_}õÕäj’–,Y²dÉ’ô+kîºë®±cÇ&âŸþùÉq«³¸7ÞlÚ´éàÁƒ¯¸âŠÜÜÜ)S¦$+7lØð /¼êª«4hŒ–ª‡Rö”¼±xú_ù[5¹Br¾s‹-Ú¶m›þ ,¸ù曇 ¶xñâÒ´âââ_|ñ®»îšùäš5knñç [¹ˆ °`Á‚W_}uýúõO<ñÄOï¼óú÷ïŸ%<ÿüóÇŸ|Óß&nÒV-¢ºuë:t„ ÿûßß}÷ÝåË—Ž3f̘1pÀ믿žÜÒ©”Õ]©ÀJZ$õ Rú­›R¿ eœÉ”jÕªmذáÛo¿=í´ÓÞ~ûí2îrËø}Œ¢¸¸8ým7¹-m›­Ú¨Ênk5°½ ¬ÿ£}ûöÙÙÙgžyfrÖKYÜpà ©+§^zé¥ãŽ;.îÝ;ãJögì½÷ÞÉ>†t;ï¼óçŸ>mÚ´ô¿Ý3|ôÑG!„† fŨQ£ÆÕW_}õÕW¯X±b̘1<òÈ[o½µfÍšË.»ìÈ#lÞ¼ù>ûìóæ›o&7àÙäþ›­²ÅÉ&ǰ2>o¾ù椮®¸âŠë¯¿>µÇ«°°°zõêé7˜3gNòAØ´iÓgŸ}¶G©Ïûþýû—¼æq=ö8è ƒ>øàƒ_|ñüóÏOî‡Ô¬Y³²ïÑ܆E´ï¾û¾øâ‹ÅÅÅÓ§OõÕW|ðÁÅ‹òÉ'×^{íc=J]Ý[”l !„Ž;&ç*uêÔ)ù¹à‚ ÒïNòg2ѵkלœœ³Î:käÈ‘£Fºúê«S!RºN:í°ÃùùùÉ7—ü)’TÊÈÖU«V}óÍ7%wb%?ò{ì‘:п¹milíFµµÊ¸¨C7nÌxmúA€ÎIîÿGÕªU[·nBøøãËø’‘#Gþë_ÿ !Üpà ɗ‘]yå•é7 LWÊÊM)çê&ó_XXXòü³ÄW_}•ì•ÙsÏ=7÷þ;î¸ãñÇŸ““sýõׇòóóÇÒ.øÿôÓOøO±ÅÉ}úé§Ë—/¯Zµjê ‰äÔø† ÞqÇéÇÇŽ›±vR'Ñ_yå•|púÞ”>ø`“3“ì¬9rä÷ߟ<çœsÊ~>Í6/¢¬¬¬:Üpà 3fÌHÎñOÝ-s›ï×?þü#<2Y&guV2°ZµjÉMÌ7yOÑmžÉDŸ>}6løüóÏ'ÑsÏ=÷d|ÃUJÆ™ªV­šœ_¿Éå–XòLÇ’?ņ ’³¯ºté’þ›Ü–J™¥ÍÙ†j&WÊ¢N]âš\t™.¹|ˆE`eJþaýä“O2îi´jÕªSN9å€H}Ø„¾ÿþûäÆK:uºì²Ë ”••µtéÒ«®º*ãm“ob™5kVÉûëLŸ>ýÉ'Ÿ,Ÿ?×®]›|¨lòoñsÎ9'ypá…fÜ12„ðÝwßsÌ1c†®¾úênݺzè¡«W¯N?uyÒ1©ýÉXÓÇ|úé§Û¶mÛ¶mÛäFŽ¥+ãä’=7|pÆùOÉ•äçç§Dåçç'×(”3¤`žøøã7—§žzjõêÕóòò®¿þú­=>¶f}ùå—ݺuëÖ­[Æn‰zõê%?~òßÒWw),Xpä‘G&ûe[·n~w±d&ÇŒ“Q?+W®<âˆ#Ú¶m{ÜqÇ%CÊ8“êׯÿꫯ&_|tñŧŽQ&’ߣ3fdªNâiìØ±ëñË/¿LnªR«V­6mÚdL«oß¾ÉjJùÃþœ™—ÜË#±¹m)5?¡Ì’mÃFµÉ)f,²/ê½öÚ+ù)^yå•ô1.\8dȲÌPF+ÓUW]µóÎ;ÿñ¼÷Þ{§M›¶`Á‚×_ý´ÓN{ï½÷fÍš•~uz¿~ý-ZT¹rå{î¹§råÊûï¿r­õ믿žñïWr¤Â«¯¾ú“O>IÝStæÌ™={öìׯߑG¹m—go•Ñ£Goܸq§vÚäõV¿úÕ¯~ó›ß„–/_~øá‡0`Ô¨QË—/;vì Aƒzöìùå—_†zö왺P.„ЩS§ñãÇ¿÷Þ{'žxâ´iÓŠŠŠÖ®];tèÐäk£FzöìBhÖ¬Ù_ÿúפI“Ž>úè¡C‡æææ~úé§·Þzëo~ó›3fäçç—²‡`k'·¹3»“»o¬X±â¢‹.zÿý÷/^œ““sÔQG•¼¦áÐCM¾ðÞ{ï}üñÇçÏŸ?mÚ´{î¹ç°ÃÛÜþƒºuë&÷™|øá‡Cݺu+ù¡^в/¢=÷Üóûï¿?~ü•W^ùðï^½º¸¸xΜ9çž{îœ9sB§vZØÒêNäææ>û¿ž|òÉ[n¹å¤“NjÑ¢EêrÚŒ Üxã»ì²Kqqñ…^xûí·Ož}Þyç3f¤.™,ãL–Ô¥K—'žx"„°aÆ“N:)ýoæÍ›‡ /½ôÒ1cƤÍ_wÝuÉ çþò—¿ôë×oôèÑS¦L¹ÿþû9æ˜ä›¬’[ÑfL(¹%Õ<0mÚ´áÇ_xá…O>ùda¯½öºì²ËR£•r•Àn»í–\|úÜsÏ=òÈ#3gÎ,ý+€¶a£Ê°É%PöE]©R¥äÖ#FŒ¸ôÒK'OžüÅ_ <ø°ÃKÆ¢Yú‹”ú³õücÉgß}÷ÝÍ}sðQGµxñâd´Ç<xÉ%—¤^;kÖ¬äÅwÜqúôé©áo½õVú}öØcdxrcÒÄ´iÓ¶Ç;lذ+V$'íþþ÷¿!œqÆÅ›QTT”þÑRRr/õô—lذ!ýó»J•*©Ÿ´FÏ=÷\ú›Ÿyæ™›|Ûä¾G©1S÷E|üñÇ3æ°,“[¸pa2pÆŒ/Ÿ1cÆ&ÏÎîÙ³gò }Ýu×¥FîÛ·oÉ1+W®|úé§'óóó3Þ?ù0N<øàƒ%—ðï~÷»B“&M6·ü˸ˆžþùÔ¥!„ôǽzõúþûï‹·´ºSߣ·9;wž5kVÉN˜0¡ä¾œÄ 'œPXX¸U3Y\\œÜô+}ÉÿùÏNÆìÙ³gj9òÉ'é¿G{î¹gjü)S¦lîö( (¹ 5j”Ü=C:u¾øâ‹ÔÈ¥lK‰Œ¯w|öÙg‹K݀˸Q¥vq 4(ýå›[e\ÔÅÅÅcÇŽÝäêKím}ë­·’1“=ñuêÔÙä¿@+V¬6lX?|¡{°²²²’¤6y™RçÎ_xá…Ôís’ÑöÜsχzèé§ŸNþ^½zu¿~ýBM›6Mö:$êÕ«—ÜÆ:ù>×Ôð}÷Ý÷É'ŸL½gêŸÈc=¶mÛ¶YYYgŸ}v)—eŲÅ+ö³²²xà–üÒº:uê\vÙeÆ Ë8ÿºjÕª~øáÍ7ßœÜi://¯¸¸¸nݺ½{÷?~ügœ‘þæO=õÔÕW_:PB¨W¯Þ©§ž:}úôÃ?<50µ^J® ²L.¹¨~=öHΨK׺uëO?ý´W¯^©;yV©RåŠ+®Hý\éS4hРAƒ’ %:v옓““«T©RÉ›oõîÝ;¹þt‡vHÿÙ3~´Í]WöEtúé§'_Á”ü1°qãÆJ•*µnÝzÀ€ï¼óNrªMé«{“óP¿~ýÎ;ŸsÎ9o¿ýöĉ7ywò®]»¾ùæ›éwxª\¹r›6m† òÚk¯¥ï(*ËLnn™ÜqÇÉÏûþûïÿíoKî¿ÿþ/½ôRê»ÒÓ—ÇŽGŒÑ»wïô-Z´¸ï¾û2îÉžÈÎÎ~å•Wúöí›Þ"ݺu>|xú~ÇR¶¥Ä“O>ù§?ý)µ¾2þa)¹Ë¸Q¥d¼Ãæ–@u¡{÷îC‡Ýwß}“}i!„:uê 80¹#kÉ™r·<øÊZºtiEÏÃ׊+’¯ÍÙc=R'[¤lذ!„P¹råŒûq§žªT©RÉW­]»vãÆµjÕJjÍš5©ïr‰î£>êÙ³gݺug̘‘Ä\nnn)7¡HN˜0aÞ¼y‹/®W¯^“&Mºwïžñ=6%­ZµjΜ9uêÔɸAv†‚‚‚ùóç/_¾¼qãÆ?ä ‚67¹3Î8ã…^¸ôÒKzè¡Í½6???¹*¾eË–é±›´hÑ¢ 4iÒd‹×â­ZµªY³f«V­:ñÄ7w+µ²(û"***š3gΚ5kZµj•¾gb«V÷¶ùþûÍiÕªUéËps3¹ÍÖ¬Y“ü•œîªU«æÎ[PPШQ£Æ—ŒàK.¹ä±ÇkÒ¤Ir|-??öìÙëÖ­ÛäÍYʲ-… Ö¬YSTT´ÓN;•ñG(ûFµI›[e_ÔëÖ­ûòË/ëÖ­Û¼yóm¸µ)ü­\¹òý÷ßïÑ£GYFv›†Òì¸ãŽéùe(¥6JyªfÍš%ÿÕÛ~u•.¹ ¬k×®eù¸­\¹r÷îÝK9wg“êÔ©³ÅO!„ìììÝwß½ô󾃴.ª/ýÒ¹vØ¡ä½Ô7§Q£Feü0`@rÒÏ•W^YÆ7ߤ²/¢J•*%_iœa«V÷¶IîV–177“Û¬V­Z›û­©S§NrQaí°Ã›Û;UÆm)„]Ê¿›Töj“6·ʾ¨kÔ¨‘~±$—Àú‰{÷­±cÇ~ÿý÷ÕªU;ôÐCËm¢¹¹¹“'O1bDrzûÁ\Êw¤”_ÈêÞ®*d[~Ö/Eqqñœ9svÝu׌ïèýù™ËÉÉYµjU‹-*z^¶£¢¢¢§žzjâĉ-[¶¬V­ZEÏN…ùÑ®îŸÐ¯L¹mK>úè‹/¾ØªU«zõêm¿ •bÚ´i·ß~ûâÅ‹;wî\!3?YK—.-ã¨wÞyçüùó3V©R¥sçÎ]»vmÓ¦M¥J¹?líڵ͛7! 0à’K.)9ÂìÙ³ÿùÏŽ3fþüùk×®­Q£FÓ¦M<ðÀ‹.º¨uëÖ?pêMš4Ù¸qã•W^yíµ×þÀ·ÚÞÎ8㌑#G^qÅ7ÜpCaàÀß}÷]›6m.½ôÒͽäÕW_=zt¥J•î¹çž¬¬¬rœÙm7qâÄ#Ž8¢J•*_~ùe­Zµ*zv*LÆêÞäoñN;íÔ¸qãvíÚõèÑ£Ü~‹B¿2å¶-ýç?ÿ¹ð C‡zèK/½´ý&TŠƒ:hÆŒ!„œœœýöÛ¯Bæ~¶b/Îo¼1}úôÍ=Û¬Y³—_~¹eË–1æ*²¢¢¢þýû?ôÐCÅÅÅ©k×®9sæÌ™3Ÿzê© .¸`àÀq÷iý8mذáÃ? !ôîÝ;2lذY³fõèÑ£”ÀúôÓOÿýï‡ ôS ¬‘#G†ºwïþK®«’«»ôßâ¦M›^rÉ%¿ûÝï~TkyèСӧOoÒ¤Iå/c[Z¶lÙÃ?B8묳âþ‹·¹º-Ï%P±'ÃÏÉV'E­ZµößÿÔÿ.^¼ø«¯¾Z·nÝüùó9昗_~¹C‡Qçð‡*..¾è¢‹þóŸÿ$ÿ»÷Þ{÷êÕk§vZ¹rå˜1cÆŽBsæÌõë×—2ZÙ7ƒ”ÜÜÜ &¬X±bk'7jÔ¨¢¢¢fÍšµiÓ&ã©uëÖÍœ9súôé%7Ô [µ5n•üüü)S¦|þùç÷j-Y²dÒ¤I¹¹¹é¾3”}u7hРoß¾÷Þ{orpð¹çžKvÛ”´zõêÏ?ÿ|Ú´iëe›g2Šäˆÿÿûß%K–”eZÅÅÅsçÎýüóÏ—/_^ú˜¥lK[TrÞ~U¹-j ŒânÏÊÊêÓ§Oaýúõ“&MJ /((8p`»víºtérÄGtíÚu¯½öºñÆK~¶­\¹ò–[nÙsÏ=;tèлwïvíÚµk×î /Üä?o¼ñÆо}ûÞ½{wêÔ©mÛ¶O>ùdQQQÉ1ßyçU«V…N:é¤Ë/¿|“3ÞyçwÞy!„ 6¼ñÆ©á×\sM£FŽ9昵k×þþ÷¿o×®]÷îÝ{ôèѬY³ßþö·¥_ðÛßþ¶Q£FM›6]¹reÉg»víÚ¨Q£#<25dÊ”) ,(å £˜={ö7ß|“••ëoñ1cÆqÄÍ›7ïÙ³g²dN9å”ñãÇgŒVÆÍ`Ù²e5jÔ¨ÑèÑ£ÿñxà:tèÓ§Ï›o¾¹U“ ÿ{L§W¯^éß{ï½ãŽ;n·ÝvëÑ£GÏž=[´hq衇¾øâ‹%_^–­q«Vqj[š;wî™gžÙªU«ÿ×Þ½ÇEQîÿ>»°ËEî"âó–ÒDÅc™ešG±¬¬sŽš–—cM=–å-“²ìheÞ24%/©åñwÒò~IE¼Bj¤†‚Ü–™ß;Œ³°Ì TŸ÷«3g™Ý™}æqç»Ïå;=ôÐSO=eoQIIÉ”)Sxµï߿ǎÿò—¿$$$”––ª¶¬ÅéŽã7øãÕ«W«žMNN~â‰'Ú´iÓ§OŸ¾}û†††8ðÈ‘#Öï£ý UΞ=Û¡C‡€€€öíÛ_¹r…ãŽ;øS¼zôîÝ[ù’”””áÇ·nݺW¯^ýúõ »ÿþû—/_®zgù˜L¦%K–´oß>22²OŸ>÷ÜsÏ€øP*)ëÒ† þú׿ò§žyæ~H[·n¥š*°–JUZZÚ¼yó€€€+Vð55–€–¢NIIá/<|ø°uó§öïßÏ×Ì;7  îó~Àaãùe»Â«¯¾úî»ïÞ¼yS^SPPðÑGMš4IùZQG½xñbåO½ìììíÛ·?öØcªIO{÷î5jÔ¥K—ä5999S§N7ožõQ}ýõ×üí± ò³Ê«¼¼\„âââQ£FmܸQþÅi6›·mÛ6`ÀM ƒ ¡´´tçΪ§’““322A4h_óúë¯?ôÐC]»v­®ÍÀQx{FÇŽêþnË–-‹=yò¤Éd’ÇDïÝ»wÈ!ò—5§±6l˜1cÆÅ‹k·;Q÷ìÙCŠ‘ÝDtèСøøxe4`2™Îž=ûâ‹/¾ÿþûª—k©vb^—~ýõ×aÆíÚµ«¨¨HõEtýúõG}tõêռᖗÃÍ›7ßyç¿ÿý襁ÕÚî‰'Ñž={ø.---66vß¾}Ê;öìÙZ¤Ò¹sç† vóæMww÷¤¤¤Ö­[ór“7àÕCùï.55õ‰'žøþûï•Í6Ó§OWVþV&“i„ o¾ù¦òäž8qbĈªúÆ©ê’ÙlV)*-Ù¬À+•(Š|r)Ù.E-˜u³(ßò)¹ ¬Kìâ°K¾tµiÓ†?X´hÑÚµk‰(::zíÚµ§OŸ^·nÿíµiÓ¦wÞyG~mBBÿ{ä‘G’’’RRRV¯^=dÈ"JOOÿä“Oä-¯\¹2fÌAt:ÝØ±c7oÞü¿ÿýoúôéM›6•ó)]¸p?ˆˆˆ°qð:t0 ÊíegϞݽ{wLL ?° 6ðž‚+W®XÿJ– 8ÐÃȶmÛ¦zНÑétO>ù$_Ãþ ‚  ïî>"Ç!ýƒ%%%sçΡ]»vÛ¶m»víÚÉ“',X ÓéL&“râ½öj Û¼y³Ñh?~|bbâ¶mÛúõë§}wDtòäÉß~ûÍ`0DGGó5999£F2›Í®®® û÷ïß»wï믿Î#‰ùóççååÉ/×Xí:ÅÜ/¿ü’‘‘ѽ{÷ |óÍ7ò[i/¢Ï?ÿ<55•16qâÄÔÔÔ«W¯nÛ¶-**ŠˆvïÞ­ õj}ºy$“É$‡7nÜ1bDAAÁ`xë­·öïßàÀ·ÞzË`01BÙSo×AÊxt•——çååµyóæ®]»ÑÎ;?Þ§O" =~üøñãÇù¿"ºzõj\\\AA^¯ñÅ7mÚ´wïÞ9sæðŒ_óæÍ[¿~½j/)))[¶liÛ¶íܹs÷ïß¿víÚ¸¸8"*,,|æ™g¬#UuiذaÇOLLäÏ.\¸ÒÀ•¯²®ÀÚ¿âTl—@íŠê‡F:K’´zõjވݩS'žŒ*;;ûí·ß&¢Þ½{oذÁh4QpppttôСCOž<ùþûïOž<™¯ÏËËëׯŸÏ|Àóø…„„ 0àÈ‘#ÙÙÙ‡’÷õÎ;ïðká´iÓ^~ùe¾222²W¯^C‡µþ}Æ›Z¶léééiã#8;;·oßþüùó¹¹¹’$©æ¨6lÙ²e|eHHHXXX·nÝL&Ó¡C‡Æ_庸¸ :411qß¾}·nÝòòò’ŸâjÑÑÑAAA|MLLÌG}¤×ëüñʺJJJxI:¤ðàÁƒ¼©rþüù½zõ"¢–-[Ž=š‘&¢Û·o7iÒÄ®j sssKJJâ× n×®]ZvÇ7æE=äyp™™™ûLsµ¤ìüùóÆ ûí·ßxtÕ¹sg¾>88˜ˆx ëêê*ÿxã-Z”••ED¯¿þº<=…wÀõïß¿°°pÚ´iqqqª¼ÞÞÞ7nä_Sááá ÐétëׯçyòäoNU—ÜÜÜÚ´iS\\ÌŸ Rg]µÅ©Ø.Z5Ô»[°ÒÓÓ_³˜:uê˜1c¢¢¢x:xN7sæL¾Ù©S§x£ýÌ™3•—O77·ýë_Dd6›å|< ,HJJúä“O”Y’y@jjª<¾êÌ™3DÔ¹sç—^zIyT=zô°Nã$o¿çž{jü\|ÌÙl¶þ;qâDeÈÌU\¾|ÙÆò_Æ&“Iù;òäÉ“¼;€?ËÍž=ûÀ)))w5§ÀÁƒËÊʼ½½2ûZ¾Æ¨FuŒ7nëÖ­[·nåáŽ]Õ@Ö¿åÅIûî8ë‘Ý‘‘‘IIIIIIªvøðá<1‡²“K{mÔ~ŠeÓ§OWFWö2/]º¤œáï”´uëVåÜþºœn¹¹Wî²ä+ûôé#GWÜ!CÂÃÃÉòÓÞƒäRSS«Œ®jÄ'÷EFFª&ÿ†††þûßÿ&¢¢¢"åXnÞ¼y<º’½ûî»M›6U} ®v“B¬+°öJe{‹ê“Ý-X7oÞ\¹r¥õúÖ­[/X°àÁäòï>"ÊÏÏçmã2yÊ™3gxG€¬¤¤äòåË·nݺuëÖ•+WˆHEQu:]iiéO?ýDDݺu³N„õá‡*×èõz—ÒÒR-vämÜÜÜ”ë]\\ÂÂÂTóŸ•·oß¶ñ†<ð@«V­222¶mÛÏWòÎ#wwwÕ•ÞzÇxõíÛ×!¹¾ºuëÆËvñâÅ»wï9rdŸ>}Ú·o¯:/µ«ÊDkv펈rssOŸ>MÕ_¯^½š““Ã+XAA‡*§ìÙ®dç)&"ë±ÃvQttô…  ºtéûøãwïÞ7o¨ÔåtËÿx³ÉdJKK#"///ÕoæeÎi?H"JMM]³fÍÍ›7===·lÙ¢ýö,òQÉ ½”ä¼_§OŸV•¹*ô!"£Ñxï½÷îÙ³G5˜¬ÆºTë ,«±RÙÅ®¢€zfw€åææ¦ü‰ùÃ?‚àææ¶oß>efBy.¡|á±vîÜ9þ@’¤­[·.]ºôܹs6f§§¥¥ññžU†#ü—´J³fÍ233üñG³Ùl;óo$ðöö惱d>>>Ö/TuiU‰1·páBeï<ˆ»Êoƒ:0Æ$I:uêÔðáÃåõ-[¶´Þ>,,lÏž=™™™………r€R]]ª‘õ‰Ö^©ìbWQ@=³;ÀêØ±£œˆ&MšôÅ_¯_¿~ôèÑòzÞë¡Óélü$•oò:kÖ,~ë "2 ÁÁÁÞÞÞ^^^™™™?ÿü³ê=É2YF‹   ÌÌL“É”žžncâñµk×øÐ.Þ4å(qqq ¼ )>>>%%%33“ªé<º«~úé§ŒŒ Ƙõoqþ»ÙvN£*Ÿ:tè£>ºråÊM›6ñ>Ž›7o~øá‡+W®œ3gÏ|aW5°MËîÈÒ§£ ,222yä¹Ã«iÓ¦þþþ^^^ÞÞÞò^¦±6ru?Åv‘§§çš5kN:õŸÿügÿþýyyy‚ 9räÈ‘#ݺu[·n¯¯/Ù<ÝZÈj<â‘{¯‚ƒƒ›5kfûƒh?H™Ñh,++ûõ×_GµiÓ&Mnw#Û“$IÊ·­².ÕŽ]•J;{‹êS]¹O›6móæÍeee Ç—Ç’wêÔi÷îÝNNN_ýµíûÏgdd𯞠  eË–uïÞ]þ†MHHPN¡ Óëõ‚ ð®•*W>üðÃ<Ã;}ûlXòäsÇŽ‚jÕªÕø`HHˆöj E»aïÞ½du.\È£«±cǾüòËr‹— -Z´P&Ð^¹ºŸâZQçÎW®\)IÒ?þ¸cÇŽ+Väææ?~|îܹ‹-"›§»F¼2Qxx8«áääd6›GŒÁÛròÇÿòË/Ÿþù}ûö8pàÍ7ßœ3gŽ–÷ˆˆpvv.//çGký)x¨¤ [ 333­±ø·G«V­äo°êêR-Ø[©ì¥±¨‰È:ù‚238V]Ó4=ÿüóDtóæMÕ÷&™L¦äädÛï [~á…¢¢¢”¿_UÙÿ\]]ù¿ª|Ï*SÊã`fÏž­`!»xñ¢<ÊáóøxKÆþýûóóóyçQlllýßN•_q•y¡d¼HAàw¶vùòeÞ*cã¶k^^^ HJJzå•Wˆ¨¼¼üäÉ“dO5°Ku»KNNÎËËS&hàxóóó›5k–²?ñĉª´LÚk£¬Ž§¸ÖEÄ {õÕW=ÊÇøÿðÃü)§Û¶k׮ůÆò2yâ‰'øJ£ÑÈœX§©¬ËArýúõóóó[¾|9z>þøã7VùVª3e0xç`•å&¯´2oµ¬¬Œ9Ü{ï½Êw¨².)iLU‹JU%Û÷°QÔòW>éR‰ÿÀ»ÁWúÉ“'ûøøѧŸ~ʯĤøá8sæLUZÅ/¿ü2*****êûï¿'"ooo¾^µÙ±cǬ¿ ù7`rrò’%KT/]ºÔúØBCCùu¢´´ô¹çž³Î _PP0räH>\ýÑGíÒ¥‹æÏ­É!C\\\L&Óüùó«ë<*))Ù°aÞ={îÒ=.Š‹‹ùW|•ò•I“&YǠׯ_—ÇÅÆÆÊëgÍšÕ¿ÿ!C†¨FúËÓÈy£½ئqw|R}Ïž=UãŸøÆl6+¯ˆååår¯Ì®ÚÈi9Å6h/¢ôôtž€`Íš5ªcæŸ÷Ù>Ý6deeÅÆÆòŒV¡¡¡cÇŽ•ŸâaÊ‘#GTÑOAAÁ“O>%g¥×x*¾¾¾Ÿþ¹««+Mž2ï¾ûî“WVW—äã!¢*ï"`­•ªÊ=ªJ@{Q·k׎ 9ñ2wãÆ¤¤$-µà€ËËËkòäÉDd2™äæýàà`¾òìÙ³qqqß|óMvvvrrò¢E‹&NœxéÒ¥òòrþÓ°wïÞ|ù²e˯]»–––öñÇÇÄÄXÿ@œ:u*¿XΙ3gÖ¬Y‡:sæÌâÅ‹mdˆž?>ÿºÉÌÌä_F&“)33sݺuýû÷OOO'"OOÏ„„„º—†Š§§'OB¸jÕ*"êÚµ«õ7þĉ'L˜kÑ!|877w÷îÝqqqûì3UBËõë×<¸¸¸xîܹ¼}HöØcÉÁ·Æƒ¬Ò°aÃN:õÑG]»víÿøÇ–-[x\2hР%K–H’ħ1¶mÛ– lÑ¢ÏmVPP°dÉU«öŒ3FŒ¡Ú…¿¿XXØþýû§OŸ®\ïáá±víZy–ºDD®®®=ôÐwß}—=eÊ"Z¶l™Ü£j­v•J©Ê°«¨çÎS\\¼zõjå]&ãââЈp—ØÑ‚Å¿¯«\b4ùèWI’ä1›Œ±%K–L˜0An!'"ooï!C†:tH¾a*Í™3gΜ9Ê|áááIIIü^¹:N9mðá‡^¶l™òàçç÷öÛoÏ›7¡õu%44ôÛo¿"Äúf>2-™Kk‡wuêÔIËåV¯×GFFÚ»S%Ž;Ö¸™öjP‹Ý ‚À“ŒÛž:çììl#[‡ŠöÚ¨åk¡½ˆt:¿¥±Š]§»v¼½½•-m6Twµæîî®Ìf¬äááQeªáê8;;W×:¥±.‘“““²•H 핪JÕ•€ö¢vuuÕò¯ê®>¬?§ììì³gÏîÙ³‡}ŽŠŠ²q»§ÆþÁ?†'NäççÆÞ½{×ÛNÉ)Vú“œî»ªAêüñ Àº[vîÜ)¨÷õõ7o^ƒFFFFóæÍU÷èýã9wî\óæÍ{ôèÁ£ÔFrŠe|ÙŸátßU R—àÖÝâæææççççç1mÚ4Y:ï*yŠâÛ¨Q£FUÏ;m$§XÆû“œîZèÛ·¯ÑhÔÒ¹Ù u þxêc;ÀŸ f‘8,C€à`° €ƒ!Àp0X† ÀÁ`8,C€à`° €ƒ!Àp0X† ÀÁ`8,C€à`° €ƒ!Àp0X† ÀÁ`8,C€à`° €ƒ!Àp0X† ÀÁ`8,C€à`° €ƒ!Àp0X† ÀÁœú f¢( ‚ I’j½õ¨Ƙõ½^¯ÓÕ¦5 @£v=¿üÈÏ”–m¼VèQT®oèÃùqw‚›‡”÷h+5÷v¶ëµ,77÷.Ô…$IÇÒMŸžhæn Wô¤ÇОz$ˆd¨ÄDEeÒóÝrº·3X·rU-XÔ±tÓŠäf>n’›1Æ$I%""ÆÿÇû+ÿÀ²ŽË;ú[‘NGFFF'2:³'ü‰r5j¼ÅJ9TH’$âã±cŠ¡XPWÊH•1’D‰Y–X–œô”™o„X¿K’$Ý.wòeL”ä®+‰,¹šDQ"bT1(‹YZ°¬ÓRuˆG¯ݳšœ4&C€Ð‰" "Y¨,#°+T²Åð¥?ÄRYª¼ÉPn¾²l =­+,€ÆH”H”H’*]1Vñ'ïnàN–È —Îz*Å‘ÔnÉËÓ²T—6ßLÐÜ‹  1%Þ‚Å19œR> VÑ¥ˆ êuèMýÃuƒ©iæâLeåtó6¥fIߦŠW«bû'"YÓ&,ë–´ý”dýlt{Ä£¬|iûi©þ?‘ªYKÎŒ!Ó>£@c$ˆ$ˆ•Ó‰ˆ$ËŸRåš;Ôã’=õ€np§;R›»8S°û°þáú]©ÒêC¢(Ýñªn­Y+?vñmM‘Tïù@[öB_cTTFož–*‚Ëzÿ\•=²#܉÷ ò©yk€  1ªƒÅ*¯îÜ!WaD/?¢‹jWq ?eK§~¡ÂRÉÝÈî ¦°@FDýÙ¿‡nþŽÊD$G2’:R bÒ1Fefš·C¼œ«¹¥èD@wÌÔ”ÔéH«…  1‰ ’܈"÷ 2ËŸY&Ö¿þáŒGW’Dï~+N¯lI[OÔ¥%ÍÈœtÔ9„ ê¤Ûš¢Œ°x‘Jk?šö˜ÎYO‚HïüŸ”v$†TL*”×±ŠfCËŸ‚¨µ @cÄ[°xÖ+ªŒ¨*C+ hŸ×æ(nz®gE"¨5‡ÅýÕpü²´lÿ ŽˆFtc»SÅü⊧x'§$IfËpñfôúãz7ÕÄã—²íŠgcà¬%ÒR„—D´`ü®‰DâÃÛƒ«•­,Œßü¹žSFE¶"wÑþ‹Ò—'ªÞfÇ©¿4 #38Q¶ì¿g-íCŠO'I’§+{kˆÎ׈héiß…M…Å‹Uô Z¿[ºKÏk<}°#A”Ì"#’1‰*ÚR$~›gÆH¬h ª˜EȧÖ˲ghE±ý´$JÕn¹í´4 ##¢žíØöÓ«ˆ+ºÍ¢äâÄf Öµð!"úì°ôõ©>?…õ’ø¤L‰$¹Ì%K¼%?‚¨µ @cdI4j£É¤a`µô­Øï¥l2W?$ér™rÒSK_&ÜyjÍÌȉˆ6%Kk6ð¨ö;1«Ђðû&H–4 Š1X¤¼æ[M0¬>nDD×oQA‰­Í‘2~£vþäíF¢HªjòÃì¶Œˆr 飽õ?Ìe¦U±‹hÁø]“$f‰1Vq×á*îÓÒQ‰Ž‘‡ Ñå›’æ+îr®ÔΟéuäb ÂR"KÛUDEUD†þß%6‚,fÉ7ZT1õ$-X¿kÂ÷"¬.þ`õf Def2:‘¯«q@’¯[Ń¢²*Rt&gHaÌÍ@££Ù™kt2£Ác,IQžL±¦òö,Ý]8>¨+A$³H‚ÄÌ"Éÿ ãk,$ùÏz[þVDDÔÆŸ$ªaËÐfŒˆ K©¤¼bž$gHÿJ¢yÿ•ˆHÇhöߘ·[½~Š*—‚TQ°‚D–Çd)dI°ÊjZ°#Q"A¼# _2Æ,·"¦;³4ÕÓòú- ô"ƒžZx³Ÿs«Ý2À“yºeݪü ¼óíú-zéK*1Ñÿ£.!ôd$ùºÓ¼¡º±k¥;?r=/%ÅR©r3Í X°%Ë,B™2ÌjH’º´dDÔ­5]Ê®v³n­åíÕ ?7 *È'üOº7˜uhN]ZÒøÙû»ð*ã­ªioÁB!@c$VöÊýƒ$H:þ§¢«¾»Ò¾M­AþÕÝPõ6­üØÔG+6Û•ZÙ×)(“×—³—7JE&"¢ç¢è¯¬‹PYÔŠ>ÙŠÿøcí³6`4F‚H‚( "™%Æ»›É,_É¢$JõºLÏ‘¾9CDdt¦÷ãÈÓU½»‘Ç“»‘ˆhÏ:}µòÙŠ$é ë/çÒ¬í Ws‡°`ïúþD–åÿñ2çåÌO 2´`ü¾‰’BñˆJD&HL¶,ëIY=/çý·b¨{°7%=ÏžìJ^LǨ¹'Ú™’ưÖ~DD…¥ôæö;ŽPN4ªzÏí§hÃq""ú Ž9ëëûñ²DKÙò–-‘„;B[ c°~ßD‰ bÅ=ò¿U‹Xq#⊛ã4Üe² )þSZñµô¥š=ÄzÌ8ýšOc>§«ùw¼VÎäeÕï9ûêÔ‚Âé/ÍéõA4mKýß*G1ÈÝ’yž³<ÃìºÙ3Z°#A”*òðÁ@" REÏšÀ[€,+dy)‡†,¥öV4e)Ý*¡OÐ॔z½Š×’%Å—j}±‰^ü‚ŠÊˆˆžŒ¤G"êýs‰L±$A”äB‰Y: µž>–››ë¸Ê`2™:Îts“ Ɖ,™Ð•œÑ‰:4§>Ô´ ýVDWóèÇëTZÞЇU7–,ê•EEtnF–Á`¨ñÐEÐ)ò`Ý1’ÄFc›(%“R2ú8AŽe%±ŠõDTcòz,€ÆH”H”,Y/-xF–Ö,©QDW$r0«Œ®*B+Kákƒ…  1’G,)nHØX²þA©Ê™ÔE­=¨E€Ðè0Æ< åe¢3)Z°Xãèü«¼Õ³d)sÞXÈŸ–ÈÃhfLS#,€FG¯×ßãWœ’ã¥ÓQe; CëU½¨ŒeåžY"Q {šéõz-ï€  ÑÑét½Ú¿îå¤Ì§TѺbՇŰtÄ’¬(ƒYFfz¶.ÖéjžBH°§Á„÷1Ò©rVò»ÍHŠ›KX:hI‚L¹†H"’2—ÓàNiƒ  1j×ÜðŸ¿]ž°½NO¼£P•œ }…w/dIñ˜1Ì´dè•vÍÝ4¾,€ÆH¯×êbÄô‰ÛÛéDb:b–¦,e¤U™º Ë:/IzEDD¢H’H’H¢@ÿù[ú Î.`2¹4Z¢(–••]¸Züõç#žó¼UæÜÐõ'âe4ÝãWÕ²pð}¦-ÜŒF£NÝ_[-X—(Šååå&“Éd2•—— ‚ !UC½`ŒéõzgggƒÁ`0œµGW„.B€ÆL§ÓF'''£Ñ(I®”1â-GQ&¸âc<ÌÒÞ3(C€ÐØÕî ÈŽÆ.Ѐƒ!Àp0X† ÀÁ`8,C€à`° €ƒ!Àp0Xöÿ;GíÔ£†%¢IEND®B`‚traitsui-7.2.1/docs/source/traitsui_user_manual/images/led_editor.png0000644000076500000240000000103014046644454026555 0ustar aayresstaff00000000000000‰PNG  IHDRz*óµØDßIDAThí›ÁMÃ@EmDHt@#¤t@  ‡ˆ;µ„â@ PZ€‰Á7bFãÉú “ïC2ÙÝ?ü2²´+¹{yêt±šÑÝjŲÛ_Ÿ³ó‹÷×ç5n»î7>§ p}u¹I»Åm?–7·S8)§ø7‰Ë‡ïÓ;S‰“).¸Œ—D4Ÿ êó¼ /U0^p)HºîûaÓlÊëßÀ  ²yS—‚¤ë(Ým0¶’\†±‡ÕÆqƤ0åd¦à.”ûO%ÂMýc…[¸©¨fêná¦ š©»…›J€j¦î¦â¦lâq¿kÛ-ïÂe{ëm—a\pIJ°˜ñnwõámì\8’QÐc›'å éˆ*yÏÖb_]†q O.à ;J rpç>LÀx?Cá¦þïÂ-ÜTT3u·pS PÍÔÝÂM%@5SwSqSލðŽlWæ]¸“Æ8)ñÒþÇÌ8•tAyR.ÜîꃚaA2Ðç~\ ’Qa7åÐUV\ ’¿uDUá43 ÷a238íËîöLƒŒÂÀi?%Üí™…;€Ó~ª·ýìͳÓÅ¢}neGÇ'öæÙ·E0®p*Ûýìk*åøxS¦ø¶IEND®B`‚traitsui-7.2.1/docs/source/traitsui_user_manual/images/CodeEditor_demo.png0000644000076500000240000020430714046644454027504 0ustar aayresstaff00000000000000‰PNG  IHDR°°dC$˜ pHYs  šœ IDATxœìÝy\ÔÕþÇñÏÌ«,*(("‹¸+j¥–{e–Ý—ÔÔR[nW»-–u+Ëʽýn©YZ¦–¦–©™Z™æ¾‹; *ä¾/ÃÀÌüþøê4"«C~_χ_Μï™Ƚy{Î÷MZZšàæõÕW_Ù»7ÚèÑ£+ÓÍ¡®ë€}…‡‡GGGÛ» 7ÈÞ½{+ß™@¨ YYYö.¡Ö„„„Ø»àŠøøøjßëêêªÑh<==5ˆ(ÿ½.Ûn‹¥Ô«¹¹¹ÝºuÛ³gO%kÐV²à&C •"€J@¥„ Rì2 õTAAAjjjVV–Á`½^ïåååëëëââR+ã Þ±X, III¶………ƒáòåË~~~ÁÁÁ•<©¢BÜ$4š‰"b±t¶w!P•¾u1¨Åb9yòdNNε:¤¤¤ †ðððfBž!€úåüùó¤AENNNBBB ߈@õHAAArrrez&%%Ô佄P¤¦¦ÖQ粄¸iå‹’ò®3ÏÔ7™™™uÔ¹,!ê ‹Åb±Xjk´­ §ð|À¬æîßZ[c7€rÂD]t.‹@ûKOOŸ2eJhhhhhèøñãkeÌ5±1ùÅEf‹eÞþßkeÀúÉl±˜,fsíi¨ v¶råÊ®]»VùÒd2Õʰ÷GtÒj4"Ò¿eD­ X?µøèe‡éOôþò{€¿%Î!„Ýœ?þ•W^Ù½{w] ~k³Ä)ïfæ·õ ¨‹ñë enBT3„°›©S§*iP¯×ÿç?ÿqss«ÝñÜ=oî4Ôöäàà0xðà5kÖŒ=Z£ÑØ»@]X2 »yüñÇÛ¶mëççW[6làή¯ß~O‡ÆÍDädÚåïN‘áQÑ-½™JÇì^qâÀ¹Ì´Hß&¶é<²m·r«Z}êðï g%%^ÎÍŽò èÔ¤ù‘Zûø—íùþÎMFSI¤o“¡áEdó¹S_Þy25)Ïhñöò ˜Ùïþý€ªèÜ9÷O>iëyá‚kAC«VÙaaÙaaYÑÑ©;¦]©ùýöF£V§³<÷Üs¹ãÌšÕ®°P×´iÁر±Uu@»éÛ·oíèçêþÊæJ56Ð9”çø}ËùÓv¸%ßh|pŧJãØÕ‹î ëðîö ¯þveœœýãÙwè\JToçXl6 ]6÷dÚe¥Ï™Œ”bc~Ž?ùŽclç9sŠ ¯]üíñýÖ–ØôäU'¾½í§9wݾ{©’¦ýººØlº/¼Ã€È±«­8qÀöÆßÎÅ*01;#&ù‚Òžg,‘Ôüܵ§Ø¥Ô*ÊA[ý%ï¿ßþå—»–”ü9ÂéÓ ×¯8ð† W‚÷Žþ?ü,"M›Œ}ºì8;v4þ÷¿»‹ÈäÉG«:8ê7übct@°rSd8•–tÝ[² Ö.½ƒ£¡¤8×hXxhÇk[ÖhDãìèXPlL-ÈIº`VDâ3RÇ|ÿE¦¡@DÂ5.,.NÈN‘E1»µj3,ª«Ò­Ølºmá{GS.ŠH·†÷„µ p÷ú³w®{ËêS‡Edþ= nÝ®ùì©%fóÄuK´Ú†?ÕÈÅ­ÛçïˆHJ~Ží-S6~+"îž ï3 $Òd1]½hñ‘Ý"2mójk œ³o‹’£‚× ÊßÕÃúŽ#V}^XRüÚokG´¶¶[)s}Zíx:úFûØš¯Úaíà¤sÐ;8*׆’båÂÚb¥ÓTzpÕªÊÆ¥3gîyþùÛ—ŒFmR’‹õË®]S ¸°iSàéÓ —/><ζsZš~åÊ"ү߅֭³«:8êj×;¨õãzŠˆŸ«Ç¥Ü,™Ô¥÷]¡QÊ ˆäKÝââè´~ä?ÛùŠˆN£ýè·¿;y(¿¸èlfZ¦¡ÀKï’g,zcË:åÕ%÷·M}÷…wøW÷¾ïnßk4Lßúã'w /[’V£Yrÿø‡Ût)·àI]zMêÒK¹n6{ê…œÌ[š…ì÷B ¶ uÊ…Á +õ’““¹yó<Û–iÓmÚ("o½Õqذ8Û½. +*Ò‰ÈSO¨Þà¨Sì2 µ{µ÷ÝÊ…›SqÐj§õ¼KDœ¯Î¹•ÝütÁÑJTxé]zµR®Ïe¦‰È±”‹JžÖ>Ô»ô®9Sº÷Ój4"ò{B9݉Èó· °Mƒî ôžz—Z>–£÷Ü“¨\̘Ññ¥—¢/]ªhÖ®W¯Ë·Ý–$"'Nx­ZÕÒÚn6k>ý4BDš7Ï<8¡zƒ N¡jÝZôm®\+ÁopëvÝJ/ã´õtôÖu¡VMÝ=•‹¤¼±>¾Ø±I³²#ø¹º+ýã2RËž)êí÷ÆCl[f|(óÅÙLy·2ßQ­¸ãŽKmÚdŠHQ‘îÝw;4o>òž{­XÑÒh,ÿÿ1¦M;¤\¼ùf'ë7´iSàÙ³"2qâIîÏo³ªƒ îð ªá[z“ÞA­+¾e@HdÙÆÌÂ+ëK}\\E$.#Uù2ÐëÜA”vCIñ…œÌR/µñkÚ@gçµÜæ]»VO™rÔÕµDDL&ͺuÍz¨_`à#Ÿ~Q&ÃÊ Atîœ&"GŽx¯Y¬4*ÛÉ89™{ìTM@Ý!¡)»B´â2R” eêÏSï¬|© QVžÑ \xêëé‚Iw÷âY³v%&.}ë­}AAWžëKMÕOšÔ³_¿Á……¥#ë´i•‹7ßì$"‰‰n?þØ\D|ð¬Ÿ_a @!5u17+6=YD‚úº{ŠHx£ÆÊKç³Ê?c=!+CD»yx4Ð×ä­•ôZb6Õd x{M›vèìÙoÖ¯ÿ©ÿ+‡nÞÜôý÷Û•êyß}ç•… 4Z¿¾ùüù&“FDžzêxÍ@!5õêæŒ¦y8ª‹r0½5~òp‰Ù\ªÿ†¸ã¹FƒˆD4ªé±{ õÎ"’quÁjÑj-wÞùǦMë?ûìw¥eË–¦¥úh4òÒKWž$|õÕ. „‰HÇŽi=z$×|pÔ!P#Ÿܶ(f—ˆ¸;éŸéÖGilåí§wÊ"–‹?Zþà„v~F³ißÅóïýí¶æ­žŽ¾£cšLÚ§Ÿ¾õ…º}ú‘GâZ·Îòõ5ˆÈ™3 Ÿyæ¥Ïw\*{£NgyñÅÃ&\9#ÑÓÓ8bD\©>Õu@»™>}úþýûK5žö¹nXöÕ‰{í÷Bß+OÄ)9ÍIç0¶Ã-û&¼TöÀúRT†—Þå×1Sîèè¨Õ‰H‰Ù¬¼KÇÆÍniRùql98˜?ýtÛ]w%êõWöªÉÍuT›Ngyä‘3[¶¬mÒ¤ü§œÌÝ»'‹ˆ££yò䣵;8j&-­ü]qsØ»wotttVV–½ ©5!!åçf¢ˆX,ëè}—Ù3êû…"²ôþñ·6É7›yx;T"Öf漜˜Q˜ßÚÇ¿_S%¼Õ.CIñá¤?N¥%y9»Fù5 ñò­ù˜ññ/º&%9{xæ·l™Ó¨‘¡‚[ââ<"#*.ÖŽ»`ÁÖÚ Šï[í{]]]5§§§²1¡æê\ÅîÝ»+¸Kc3¥a±XD¤{÷îÖ–ÜÜ\Ù³gOtttej`É(P5î ôA }ªt‹·³k¿–uTBïàØ=°e÷À–µ8¦‹KIÛ¶mÛfT²¿Å"/¼Ð½¸X«ÓY¬;ŽÖÖਠ,P ÌfÍcõþþû`?þT«V9ö®×Ç !€jŠ÷˜5«]hhöÅ‹®¿ýÖôÀF"Ò®]Æÿ»ËÞ¥ R„ªéâE×9s"m[""²¾ûn“³sù›‹ ¾!•Ò¡q³W{Ý-"jt.âÍÄÓ³¨}ûôädg//cXXVÿþ&L8åà`¶w]¨,!P)Q~M£ü†Ø»Šú¥]»ŒÃ‡WÙ» T7‰º;p¸Y±Ë(¨3„ê­ ö.àºâí]@qÓ <UÃ’QP)!¨TŠ@*Ŧ2°³¼¼¼={ö\¼x1))Él6·nÝ:,,,<<\§ÓÙ»4à&G „ݬ[·nÍš5Û·o7¥^ŠŽŽþøã½½½íR ,…Ý|øá‡›7o6ŽŽŽÑÑÑ...ÊK{÷î:th^^ž}+nnÌÂnt:]¿~ý†Þ­[7½^/"F£qûöí/¼ðBVVÖÅ‹wîÜ9`À{— Ü´˜!„ݬ]»vÞ¼y½{÷VÒ ˆ899õéÓçùçŸW¾Ü±c‡ýªn~Bس³s¹íîîî7¸@„¨w¶nݪ\´mÛÖ¾•77!ê—}ûö}ÿý÷"âíí=xð`{—ÜÌ„¨G.\¸ðÔSO™Ífyçw¬Ï¨ BÔ™™™ãÆËÈÈ‘I“&õíÛ×Þ79!ê…‚‚‚Ç{ììÙ³"2lذçž{ÎÞ7?!쯰°püøñ111"rï½÷NŸ>ÝÞª@ „Oš4iß¾}"2tèÐ÷ß_«å׸øä {²X,S§NU ðÁgΜIn>|ÞþûßÿþðÃ"Ò§OŸ3f€‰Ïß°›“'OΛ7ODBCCgÏžMn0>‚Ãn¦OŸn2™DdæÌ™®®®ö.P!ì#''GÙHÆßß¿]»vö.P#{•:sæŒrÑ AeáhY 4;vì , P!ìÃh4*‰‰‰|ðA¹}ôz=¨;,…}ètºëöa› N1CûˆŽŽŽ‹‹³w€ª1*E •"€J@¥„ RBP)!¨TŠ@*E •"€J@¥„ RB@uÎfž5YLö®¢|YYYÉÉÉö®(‡ÉdJJJ²wÔ2{UKIIÙµk×Å‹ÓÒÒœ½½½[µjÕ£G'''{—vs²X,C– Ywz]K¯–ÇŸ<®wÐÛ»¢+víÚµaÆíÛ·_¼x±K—.K–,±¾dHJŠ™4I¹Ž|ç÷ˆˆ„Ï?OZ·ND<Ú¶xóMÛqμ÷^ÆÎZ'§®ß~[»gf;¶T£{XXäÌ™åö?7wnÊÆ¥Ã_½a‡µ[ØßKUŒ;=cFæ¾}:gç.ß|S~‹åÊ…Fs­A*ÿ –p×]w5lØ0""¢[·n<òˆ»»{5Ê ^!ÂnFŒ±wïÞ²í 6œ>}úÝwß}ãKºéås×^'"g3Ïþ÷ÓÐð¡µ8¸Ùb¶ˆE#­¦ KâââÞyç;v\«ƒN¯Ï9rD¹Öhµ"R’›«´è›4)Õ¹àܹœ#G4µÿÿl&ƒÁZ†•æÚ1£ðüù²ý‹³²j½°¿—ªþ+–ŸsäˆV×°X~iÝÚb2‰HäÛo Vn¯*ý‚‰HvvöîÝ»wïÞýÅ_Œ7nìØ± 4¨^ýÔBØM\\œˆètº&MšæååÅÅÅ †ììì)S¦4mÚ´cÇŽö®ñfãÑÀc`ÈÀñ=õž]šv©ÝÁ[|Ô"1;ñ¶æ·m»­’·ìß¿âĉùùù"âèèx÷ÝwwíÚµk×®¶}==u..¦‚iàçgý¯ˆ4hܸ6¿ 96l2eŠõË„ùóKòó+èïwçúÀ@å:çèÑÔ_~©Ûúþ&ªúc¬Fãà  þ ò¿`AAA‹/>xð௿þzäÈ‘œœœÿþ÷¿»wïž;w®³³s]}Ô1!ì¦C‡=zô¸ï¾û¼¼¼”–ÔÔÔ©S§nݺÕl6¿õÖ[«V­²o…7¥Gþ¸÷âÞ¶~mÝœÜjwd³ÅlýoeìܹóÉ'Ÿ4 "Ò»wï—_~9((¨Üžú&MòããµNNŽ^^"ÒÀßÿJûÕ‹@çâÒòŸÿ´~yiÅŠŠ“L£ÛootûíW:¯ZE TTõÇXÓ·sv6)t«ä/˜N§SþÁbâĉëÖ­{ï½÷RRRvïÞ=nܸÏ>ûÌÍ­–ÿÀÁ¦2°›ùóç;ÖšEÄ××wöìÙ..."rìØ±¢¢"ûUwÓÒit={Ôz¬ªôôôÉ“'+ipذaŸ~úéµÒ \]¹gý˜þçÅ œ!Äß‘5ê\\*èV_°Áƒ/_¾< @D:ôöÛo×JÁÜxBÔ/Êg,³Ù\XXhïrPWÞ}÷Ýœœ2dÈk¯½Vqç+Ÿ×­ ù®^è „¨ÐŸðz3„Rõ_°&Mš,Z´ÈÇÇGD¾ûî»}ûöÕ¼`n<–Œ¢~ÉÉÉIHH‘6mÚxzzVo .,]ºôܹsÉÉÉ………AAA-Z´hÑ¢EÛ¶m###•> ,(..ÖjµãÇ×étåŽóÅ_ùùùÝÿýU¼ªN¦üîäw"2fLI~~Å8)7yúiËÕ¿¬ÜãÇ-ê´h‘Wtt©ž§ßy'á³Ï¬_œ;—²iÓåU«ÚÍ™ãÖºõuË«-%yy'^z)ùÇ­-ùgϦlØpnΜˆéÓ›Øü«D•\Z¹2;&Æ+:Ú¿ü2iíZq õ0@i°””ø àÓ³çñ^H^¿ÞöƌݻkS6l85}zQ´n@ª­p†°z¿`Š{ï½wùò凊߷o_t™ß.ê9!ìÉd2%''+Ç=Ÿ;wnÁ‚ñññ"Ò¥K—qãÆUcÀ#GŽ|ðÁ‹E£ÑDDDtìØ1000===..®Ô“&MRá¼yó† ¢Õ–^>ýÍ7߈ˆF£>|xU¯¶øŒø1ßQ¢]x£ðÂâ„ìY³hP«AâÊÙ7ÿ—³¿¼øó‹&‹ÉIçtK³[ÜÜKå1iíÓ::àÊçÔ©'”äv]†Ã}ËîSÒ`D£ˆ&îM~Oø½Ä\²âÄŠžûzþ3úŸ"²úÔêmø—í]g2Î ùfH©¡RžOñuñU® ”Ÿ¼»»û!¥{–Ë«[7¯nÝþò½òJÅ·¤oÝzô™g,&“ÎÅųS§ü³g —.™‹Šb&Nìµw¯ÖÑÑÚóÅ‹•4èàæÖäþû||Ò·mËÚ¿?ÿìÙ˜‰oùåÍ5&k—¥¤d߃æÅÆŠH??ß¾}øûç;–¶y³© àØsϳ²‚ªõ? ×ÐÐ옘üøø«ïdQ¦E$mófk Ì?{Vé\“b,&ÓáÇÏØµKDœ=Ú¶Í9z´ðÂ…j”mëÒÊ•'¦Nµ˜Í"¢sqñˆŠrôò*LLÌ‹3WpãŸ3„Âjü‚Yi4š‘#G:tHDÖ¬YC üíaO´Æ-«I“&=ûì³eZelÚ´Éb±ˆÈsÏ=7~üxÛ—Š‹‹ÓÒÒ¬_¶mÛöÖ[oݱcÇùóçúé§RÇfffnܸQDzôè\ÕÁ«mÊÆ)"à°ðÞ…B˜,¦±«Ç.>²XD¦mžVn |nÓs"Ò=°û—÷}æv!çBÙ@øZï×^ë}å9½»¿¾{ý™õ¥G)Ï›¿¿)"žzÏ9wÏ5\D¾?õýýËÎü¤B'“õt{C‰A¹({Þ½Nóg¦úí·ß”½dúôéãhÌj‘¥¤äðO˜‹‹}û÷|ë-'__‹É´wèМcÇŠ³³³öíó¾å¥gÚo¿ÅNŸ."ÎÍ›wùúk}Ó¦"Òâ©§NLziåÊ‚„„Ë«W7ýÇ?ê¢ÈRþX¼X ` Û·ïðÙgN)í)›6<Ùl0œ=»É!ÖöÊsmÕJDŒéé%99y§OÓÓ•—Ò¶l‹E4𢔔’Ü\kçj“úë¯"¢ÑéZ¿ür³Ñ£5:݉©S/~ûmµ~$WäÇÇŸœ6MIƒÃ‡‡½öšÖÉIyéиqi[¶Tpo%7•©¡;AƒEEE7n|ã7®µ€ú‰MePï|ýõ×sçÎ-((¨Æ½JÒ‘²;”:::6ùë1Ó“&MR.æÎ«$=«U«V)+WGŽüóá½* ^m.Ž.ëG®2@DtÝGw~äêè*"g3ÏÚ. µÕ=°ûÏ£~ó «•lé4ºoüVIƒ"24|hK¯–J1Jˤ.“ §*=Eä–f·X[¬¼½­cÆ_ªºõÖ[k½`+³ÁàÝ£Gû9sœ|}EY8v¬òRáÅ‹Ön§gÌPÖ”F}ø¡’ED£Õ†NªÌ"^Z±¢îŠ´2œý¿ÿSꌚ=Û6hù ÐüÑGE¤$?_éSUJÆe’0cǹz._QJJÎñãÖ—ô;¸ºÖ°V5{vó±ckkf5ö7”iÀàI“"f̰¦Áʨä¦25äêêÚ¾}{ÉÍÍMMM­»7 .aO:tøùçŸ×¬YóÙgŸ½õÖ[wÜq‡F£ÉÉÉ™={ö„ lÕ«¤>}ú(óæÍ›5kVJJJ»víÚ¹sg‰‹‹Û´i“µÝl6/_¾\Dš4ibû(c•¯¶C¯³ IDAT´óÿsW/½WÏ +žËûì³5kÖ('îÞ½{îܹU°[·n­”rFãüùóï¸ãŽI“&mذ¡øY' çÌ™c$ܱcÇü!"Æ ³]ýUÕÁ«áéè§Ë® U2˜ˆ$啳£Æ‡?lâög²òwõÏ|13óÅ̧£«üé¹”!aC^¸õ…RÊrЂâêÌß*’®î Ò¨ê«+K£i?ož£Í—"¢mÐ@¹°””(Ö=* ÎÛ÷àƒ¥þ’’D¤(%ÅRõ˜¨*ë~îåmTëä㣄P ¬œ¬}` ²·JþÙ³“)sÏirï½JØKýí7kÊ„5)Æ%88dòdÛ–°W^¹ãðážWŸZ¬ªÔM›Äb‘Àaê±ìSÉ:½^êxóOë/sR·½À_""">øàåzÆ U½]§Ó-_¾üÑGuvv“É´eË–É“'÷îÝ{ùòå¥Ö…ŠHÏž=Û´i#"±±±›7oV•ídxàš ^ ÊJÑR2 ¯¬õqñ)ûj§&jþ¾åêЭl£V£“¹úÉùê⽺;gR£Ó•=^âÏ=Z¯þM%'+¦Â¬Jý1ˆˆÅd2ÖÆÓ¡+HHP.ôט5mФ‰ˆ˜‹ŠªºÍ¦ˆh´Z×–-E$?>>'&¦$?ßÁÝݽMß¾}E$çèQcjjCBjXŒ[ëÖUZÒy]Öb”ÚªJÉuº^Ta]OîR—+P„¨wzõê¥EpæÌ™²Oë]—««ëÔ©S•¨ÖôêSa¯½öÚØ±c­ŸÛ¬l' EäòåËÊ1ƒ RŽœ®Éàµ".#N¹°Nþ­Ynu´æ¶ò¬9ÁoРŸ^ 8z{WZ¹r¥ˆDFFvèСæƒ×Ü«›_5šŒ"òpÔÚ:~ª†êŠHFaFÅݬµÙnäc^ÑÑÊV¢Yû÷›F;Vb]™²iSÙGÓ·n-ÉÏ›íaª<~«V"b1™”•S74>½zÉÕ³"œ¼½•§.뺘*Q¶ö‘ü3glÛóbcO¼ôÒuowkÝ:ࡇü ª“â®:sæÌ¹sçD$22RYÝÀßöQRRr­½XÞ{ï=³Ù,"½{÷®Ò˜‹eéÒ¥999e_R›G}lÝu×]Í›7‘'N(Ç –=±Úƒ‹HVVÖ²eËfΜ¹mÛ¶Ê~3""òÙÁÏÅ,w'÷gº=S¥{o={ŠHá\\¶Ìö%sqqüÕy¤zã»Ú„7'·Ö­•kÛyQkŸº.¦Jœ¯®ýcÉën@ÆÔÔÃ'š*s2Å’±kWabbÝU("ë×_9Øóž{î©Ó7 .a[¶l¹í¶ÛÞÿý?l¶õÏËË{ã7–.]*"Ö‰»J2›Ío¾ùf¯^½^ýõƒfd\™ªJHH˜1c†rÝ­[9¥ètºÇ{Ìú¥‡‡GÙvÕ\DV¯^ýÛo¿={vÉ’%çÏŸ¯à[Ør~˶Äm±é±ßünØÊaÖN0[Ì"òþ€÷Ü®÷¨£ÉøËÙ_”?;þØQ+c*TXÄ2pñÀ˜ä‹ÅRd*Úž¸}ØÊaïýضç!C”‹Ù³g×Ê[W[èK/9¸ºŠHòO?î¹Ì}û,%%梢¼S§Î~üñ¶ž=>SQ/ÎÊÊØ±Ãúçº%çèQk缫{œ*Z¿òŠrHÆ©×^;7w®1#Ãb6ç>}`äÈìC‡DÄ+:ÚÿÎ;«÷mº+в^ôêTs£ÛoWο†Æ:-¦¬ ~Œ~*Aùqq‡<}ëÖ„ vX˜˜èàáqÝfŒ}`äÈ}ú$­][[Õ–’––¶xñbÑjµƒmÎÛàï‚ga7éééŸ~úé§Ÿ~êííݲeKƒÁ§L²9::Κ5+((¨Ã †eË–-[¶LD\]]-‹õŒûƺzüZ)C‡3g޲eüСCõ×8µ¬zƒŸ>}Úö:¸ÌÙnV³vÍšµkV©Æ™ýfNì\µl|]Åæâþ‹¯0ØÄ­É¥×Âái»L\}jõž‹{bÓc;Ìëà u0[ÌJ m߸½mÏ#F,Y²$==}ݺu?üp×®]kþîÕã5kÖ‘ýËl0\^½úòêÕ¢Ñh4ël¡S…‹– Øü¥G¯ZÕ°cÇ úÇÛ`Ÿ^½:}ù¥õK·ÐÐð7ÞPa{ÿý¸÷ß×hµÖ2\[µŠ|÷ݪWht:×-òΜ¯=¬íŽ^^ ;vÌ:p@þë´˜²*ø1:ùø?ñD܈HúÖ­é[·*íîîí?ù$aÁë!e.]ÊØ±CD,fó¥U«×ÍôÝ{ï½———'"?ü°¯¯o]¼uŠB؇¿¿¿u÷…ŒŒŒýû÷;vLIƒýû÷߸qc5¶ÑétÓ§OïÝ»·ušüü|%°étº!C†|õÕW×úÄæèèØ¾}{qpp3fLín}jN£ÑtéÒ¥’ߎƒÖa`ÈÀßÇþ^ö0@Ñi¯¨ÓèʾZ²ý­C)”ƒ%l/ÊÞ^ê…—Þë×1¿Þq¿£ÖQDJÌ%JìØ¸ã-Ín±íÙ°aÃ_|Q¹žûl]¼uM“V÷GlÁŽöîÝ••eïBÊwòäÉ]»v¥§§F//¯–-[††††T¸ ¬âWƒ!111999--ÍÍÍÍßß¿Y³f^=¦¼”ÄÄĻ¤¤äÿø‡u hm n6›>|ñâÅ®]»6nܸl‡%G–Œú~”ˆ,½é­ÍoÍ7æ;;:7óhæ ý[ÎáJ ‡“ŸJ;ååìåâUþ_Ùĉ•>üüüæÏŸ~cË,­àüùü¸¸’Ü\'oo}³f.Í›[—YÞ`ÅYY¹Çge¹´háÖºµ½Ê¨WÅgff:d*(ðˆŠª|66\ºtùûïõMšøßs²Pm1›ÍŸþù¬Y³DD£Ñüßÿý_ÿþýkq|ÀßHüµ—«\—«««F£ñôôTö´î ¸{÷î î²ÝhP9 »»Í?}æææŠÈž={¬sûB£Ñèt“ŽKJJæÏŸîܹ'žx¢eË–7¸0űcÇöìÙ£Õj}ôÑz¸ d=„ÕP™@XU‹å™gžùùçŸu:ÝO?ý¤l0s#Yášákîi­–}) ÃÓO?½}ûvÑétÆ {òÉ'k¸¯,P×,Ëþýûßyç'NˆˆN§›1cÆ}÷Ýgïºvów„õtþ!11ñ믿>räÈ‘#G’’’š7oÞ¡C‡Î;?Þöá®õë×ÿç?ÿ‘óçϯX±Â.¥nÞ¼yúôé"2jÔ(»þC>ªÇl6¿úê«?ÿü³ˆüãÿ¸ñiPµôzýœ9s¦Nº~ýz“É´téÒ¥K—¶lÙrÈ!“&M²wu@iéééÓ¦M;tèPvv¶ÒâììüöÛoßY{ûëpãÕÇóûï¿?öØcÖ]E$11111qÍš5+V¬øê«¯¬ÙµU}^‘ÄÄÄ/¿ü2(((99yÏž=Ç‘°°°—_~ÙÞ¥©‹““Ó¬Y³FŽùÑG)§8ž={vûöíBÔCÙÙÙ[¶lQ®†úÌ3ϰ‘ àï®ÞÂuëÖ?Þd2‰H¯^½ºuëÖ´iÓøøøŸþ966öرc}ûöݾ}»¿¿¿ˆ 4èÍ7ßLLL|üñÇí]8þN’““¿þúkÛ–ÿýï×Ú\uªsçÎ_}õU||ü‰'Nž<éììlrxxxôïß?000:::::ÚÕÕÕÞP ê] |ë­·L&“V«ýðÃm7ñùå—_|ñÅÅ‹gff®ZµêÉ'Ÿ‡'žxÂ~ÅâïÊÃÃ#<<<--­aÆ-Z´¸å–[~øaÝ5¶ˆ¼:4îðj¯WE$¢Q„½j°»ŽöF½Õ¨Q£ÿýïö®€ZV¿avvv\\œˆtéÒ¥Ô‘nNNNï¼óκuë233W¬X¡ÂÊ())9uêT£FJízçååpýó¾óóóôz}³fÍ«²UÉdº|ùrJJŠO@@Öaaa«W¯¶wŠò‹Šò‹²wPúõ žu3̰°°²¯êõúåË—õÕWÓ¦MSZ CãÆýýý?ÿüsk·©S§úûûß}÷Ý™™™cÆŒ ½ýöÛ£¢¢¢££wîÜ)"‰‰‰>úhóæÍo¿ýööíÛGEE½û×C–ÓÓÓýýýýýýûí·ãÇ:488¸W¯^ÑÑÑ¡¡¡¯¿þºÑh¼î÷RRRòî»ïFFFvèÐaÀ€;wnݺõþóŸ²÷æææîÚµKY% 7Lýš° prr2?þøãäÉ“ƒ®ž)lÕ©S'Û/ÍfsII‰ˆ[‹‹‹M&SAAÁ¸qã¶mÛfm?{öì<ðí·ß>ùä“—.]²¶'%%}ðÁ&“Éš3M&“Ï:4{öìÂÂBkç¼¼¼?þ8;;{öìÙ/Ï=÷Ü’%Kl[rrræÌ™“’’2oÞ}úˆHFFF¯^½f̘qòäÉê uôèÑmÛ¶?~ãÆ_ýõ!CDÄh4:ôÒ¥K>øàºuë~üñÇ &(;XÌ;WÉ–¶Þ~ûíÂÂÂQ£F-[¶lË–-Ó§OW2êâÅ‹.\XÁ»Ïš5KIƒ={ö\²dILLÌÒ¥Ko»í6Y¹råÌ™3­=ùå—üü|Ù·oŸmL€ºV¿fEäí·ß>|øpRRR~~þìÙ³gϞݬY³Þ½{÷éÓ§OŸ>nnn•êñÇçw”ëþýûwíÚõüùó‹å¾ûî›3gŽržc·nݲ²²¾ýö[ƒÁpêÔ©¨¨ÒÏqMœ8qÆŒÊuTTTŸ>} PPPðꫯŽ=ºÜgSRR”÷½í¶Û–-[Ö A èÙ³ç}÷ÝwðàÁÙ³gOžÜzÀü±dÉ’qãÆµiÓæ¥—^ÊÌ̬äP¶G™i4š#F(×#FŒPÒ bðàÁÊ…²Ÿ­7Þxö%<<|êÔ©"RTTtúôérß÷ðáËED^yå%õ)\\\þõ¯‰HII‰rðˆ4nÜøØ±c6lX·n]%¿/¨õ.Šˆ——×ÿþ÷¿S§NÍ™3çPŽ‘üüüÏ>û¬W¯^‰‰‰×ÄÛÛ»Ô#ˆÖ]FÃÃÃmÛ#"®lô¯¤8[]»v-;صkWåâØ±cå¾õáÇ•‹¬¬¬ßþJY*"GޱöwssëÒ¥‹V[ÿ.ÜÄêÝ’Q+77·‡z衇‘˜˜˜+V,\¸Ðh4^¾|yòäÉß}÷]Å·ÛNÍ•RùèY¶Ñš';¦”WÊ¡C‡”‹aÆ]käk…I¸aêo ´Õ¾}ûöíÛ1â®»îÊËËûý÷ß³²²<==íRŒu¹iÙEÛv­VÛ¾}ûk RêPD¸ñêW ÌÏÏ/,,Ôh4>>>e_ŒŒ3fÌ'Ÿ|""gΜ±.ݬ;'Nœ(ÛhÝø´mÛ¶åÞÕ¾}û_~ùÅÁÁaíÚµÖ'! ¾©_ϭ͘1#<<<,,ìèÑ£åvÈÉÉQ.\\\n@=ûöí+{Åþýû•‹²[’*”‰A£ÑxàÀ:-j¢~Âûï¿_¹˜1c†Á`(õjBB‚²§^¯oÙ²å ¨'>>¾Ô.£±±±ï¾û®RCë֭˽˺Rô•W^±î"£øöÛo{ôèÑ£GÍ›7[?¾páÂÔÔÔZ®*T¿a—.]”¤÷Ë/¿ôîÝû‡~8wîœÑh¡J¥¦¦Ú»@-êíÇo¡JeffÚ»@-êíÇo¡J {—¨E½ýøM €ºUoOž¨§e¡®éõz{—¨Eƒ ì]Bù8‡PÊ{âíí}ùòe»¨——Wý<ŠB•òõõµw €ZÔÛßB•rqqñ÷÷·wÀÍÏßßßÅÅÅÞU”@¨^ÁÁÁö®¸™yxxÛ»ŠkâBU°X,嶇‡‡'$$$%%Ýàz5ðóóSÒàµ>ÛPÕ4Mpp°ŸŸ_jjjfff½=ø»Ðh4z½ÞÓÓÓ××·Þ®µ"B\\\‚‚‚‚‚‚ì]€Šg@¥„ RBP)ž!T…ÜÜ\{— Þ!ÞüöîÝÛ­[7{Wà/âãããããí[PöìÙcïÔ;š´´4{×°6••"€J@¥„ RBP)!¨TŠ@*E •"€J@¥„ RBP)!¨TŠ@*E •"€J@¥„ RBP)!¨”Ce:=z´®ë€­¶mÛÖÖPüÝ*TÉL¡IKK»n'Ÿ׃*HOO¯­¡ø»T¨’™‚%£ R•š!Ü|˜!•"€J@¥„ RBP)!¨TŠ@*E •"€J@¥„ RBP)!¨TŠ@*E •"€J@¥„ RBP)!¨TŠ@*å`ïP·¾úê+{—àF=zteºoráááÑÑÑö®À ²wïÞÊw&ªBVV–½K¨5!!!ö.¸">>¾Ú÷ºººj4OOOF#"ʯ˶›Åb)õjnnn·nÝöìÙSÉx†TŠ@*E •"€J@¥Øeê©‚‚‚ÔÔÔ¬¬,ƒÁ "z½ÞËËË×××ÅÅ¥VÆ'@½c±X’’’l ÃåË—ýüü‚ƒƒ+yRE„¸iÌ·wP¡¾u1¨Åb9yòdNNε:¤¤¤ †ðððfBž!€úåüùó¤AENNNBBB ߈@ñ¾ˆ÷ IDATõHAAArrrez&%%Ô佄P¤¦¦ÖQ粄¸iå‹’ò®3ÏÔ7™™™uÔ¹,!ê ‹Åb±Xjk´­ §ð|À¬æîßZ[c7€rÂD]t.‹@ûKOOŸ2eJhhhhhèøñãkeÌ5±1ùÅEf‹eÞþßkeÀúÉl±˜,fsíi¨ v¶råÊ®]»VùÒd2Õʰ÷GtÒj4"Ò¿eD­ X?µøèe‡éOôþò{€¿%Î!„Ýœ?þ•W^Ù½{w] ~k³Ä)ïfæ·õ ¨‹ñë enBT3„°›©S§*iP¯×ÿç?ÿqss«ÝñÜ=oî4Ôöäàà0xðà5kÖŒ=Z£ÑØ»@]X2 »yüñÇÛ¶mëççW[f~¼÷·RB"»6 .Ûù›cûÎf¦vjÒüÎVQ[N¿·ccr^îK=ý#¢“ˆ|~pû¢˜]>ή¯ß~O‡ÆÍDädÚåïN‘áQÑ-½™JÇì^qâÀ¹Ì´Hß&¶é<²m·r«Z}êðï g%%^ÎÍŽò èÔ¤ù‘Zûø—íùþÎMFSI¤o“¡áEdó¹S_Þy25)Ïhñöò ˜Ùïþý€ªèÜ9÷O>iëyá‚kAC«VÙaaÙaaYÑÑ©;¦]©ùýöF£V§³<÷Üs¹ãÌšÕ®°P×´iÁر±Uu@»éÛ·o혒ŸûÊæJ56Ð9”çø}ËùÓv¸%ßh|pŧJãØÕ‹î ëðîö ¯þveœœýãÙwè\JToçXl6 ]6÷dÚe¥Ï™Œ”bc~Ž?ùŽclç9sŠ ¯]üíñýÖ–ØôäU'¾½í§9wݾ{©’¦ýººØlº/¼Ã€È±«­8qÀöÆßÎÅ*01;#&ù‚Òžg,‘Ôüܵ§Ø¥Ô*ÊA[ý%ï¿ßþå—»–”ü9ÂéÓ ×¯8ð† ë•Æ;üø!XDš6-=útÙqvìhüïw‘É“VupÔ5!n®ŽNÑÁÊuN‘áTZÒuoÉ2LX»XDôކ’â\£aᡯmY£³£cA±1µ 7&é‚uX‰ÏHóý™† oÔ¸°¸8!;]DÅìԪͰ¨®J·b³é¶…ïM¹("MÜÞÖ.ÀÝóÀåÄu§äYýEzaÞ”îýÊ–d2›‡|3gó¹S"ìéÓ¥iÐþK ç³Ò­VŸ:ü¯ Ëmo9“‘2ä›OJ“òü¾.î×ý ”kï^¿_ìf±ˆF#:¤ÝrKr‹¹))Î'NxmÙÒĶç´i‡”@8cFÇG9£Õ–ÞÞæÿٻ󸨫ý㟙VY\TAqW4MÍÝÌLmQ³ôš•´ÞìgeY·2--ÓÛ½ånfjéMËÔÜ*ÓrÇ}_7v™ùýñÕiDö!¿¯çÃGïœïùžï™‘jÞœó=gÞ¼"¢ÑÈsÏ.kã¨jBÜ=껺ïúMå8âÚ¥°EÝñ’ugŠÈŸÔÚÎä“iÂÆvZí£^¨ãäÒyñG"’•n}ÉÄ­ÿ‘®î_>4¶` £Ù4nݲåÇ÷‰È”íë,pnÄ% †5h´~Ô ¾În–;>¾vqNAþ»¿mx¼U˜¥ÜBë³ÓjgõäŰ^:öéõ_/9²ÛRÁAg§·³WŽs ò•K‰…NSþáÁµk+ —Μ¹ÿµ×ŽYŸ2´qqN–—:%öïeÛ6¿óçk¯^8jT¤uå¤$ýš5E¤oß+AA7ÊÚ8ªj×3 è™öÝEÄÇÙíZFšˆ„wì9¨Y¨2("Yù†B—8Ù;lýRk_?Ñi´ŸÝ?âû3G²òó¢S“Rs³=ôN™†¼÷wlTή>Þ:õ nûÏ.}fìÚ’aȺó§/*Ú%­F³bøø-;ÛáðŽ=Â;öPŽΙ|%=µkÃÀÝO½^ÁÏÁZNŽN9ÈÍÕ:åà`ò÷Ï´.™2åȶm~"2mZ»‘##­×úòËæyy:yá…ÓåkUŠUF¡vïô|@9pq¨%"vZí”îƒDÄñÖ˜[ÑÅO— £¤A…‡Þ©{@Såøbj’ˆœL¸ªäÉ!ÍÛ4ó,¼jÎÄ.}µˆüSÌCw"òZ×þÖiе–Þ]ïäåTÉÛr”àÁc•ƒéÓÛ½ùfصk%ÚõèqýÞ{ãDäôiµk›XÊM&Í‚!"âïŸ9xpLù@•"BÕ:7hܧq°r¬¿ÁA­ëºžÆiíŰ^–y¡õ]Ý•ƒ¸Ìt±<¾Ø®^â-ø8»*õ#S‹î)ßÌÓçý^C¬Kæ x,õ9—'Î(Í;ª½z]kÙ2UDòòt3f´õ÷ýàƒ¿û®‰ÁPü1¦L9¢|ðA{ËÚ¶Í/:ÚMD&L8£Óýù6ËÚ8ªßÀ j!Þ…W1éTò%ý[-L͹9¿ÔËÉYD"S•—~nÅ6¢”çä_IO-tª¥OýZ:Ïå¶³3íÝ»nâÄÎÎ"b4j6nôì±¾~~O,XR$ÃÊÀ—;tH‘ãÇ=ׯo¤*ËÉ88˜ž~úlE@Õ!¡):C´"S”eèÏ]屮T¶…(*Ó«¸ëkè„IW×üÙ³÷ÆÆ®œ6-" àæs}‰‰úððî}ûÎÉ)Y§L9¬|ðA{‰uùé'yôÑhŸœ 6€*B *êjFÚ¹äx ¨íåçê."Áuê*§.¥¿ÇzLZŠˆÔuqs«¥¯È­•ôZ`2V¤‘xzæM™r$:úÛM›6÷ëwsóÃíÛëòIëB5‡½¤L=t¨Î¦Mþ †yá…SoU„@TÔ;Û4 DdDhGeczK üáÌÑ“©Pý-‘§2 ¹"R§¢ÛîÕÖ;ŠHÊ­ «UD«5ßÿåmÛ6-Zô»R²cGýBu4yóÍ›O¾óNÇ%Kš‹H»vI÷Ü_ñÆPE„@…,:üDzc{EÄÕAÿrçÞJaSOåQËiI‹ï²®o0¼¿s£rü|§û*xwg7‰JIŒ¹‘|ÇÊ¥d6Ë_´LM­Uô”ò  ˆdg3«säȨÀÀt9|¸Ž²àóÏŸ.T§Ü *ðÅ 6súôéÔÔ?—T1 "’œœ¼{÷Ÿ›°Ö­[·"w9›÷Kôå8Ô§AÉ+ˆ–ÆŽKçÜõŽ>În§®ýïÔÁÕ§*åŸô¸Á­µFEdö€GÛÌûÀh6½°é›Ôܬ§Ûßëåèr:ñús?­Üw%ZDz4{¤Eû v¦_“íÏšÅ<`ùg«}¶µOƒÉqõÒç~»×¿é‹a½ÊѦѨ}ñÅn¯¿Þy̘óO<”æí+".Ô~ùå®J^½®½P§3¿ñÆÑgŸ½¹G¢»»áñÇ# Õ)w㨠BØÌÔ©S§ä4ݸ¶]#ž}³è†õ…:Pz§_ÇNÒÎ^«‘“I¹K»º »6 ,};ÖììL ü1hP¬^s­šŒ {%°étæ'ž¸°cdžzõŠjÑÁÁÔ¥K¼ˆØÛ›^yåDå6€J§IJ*~DÜ8–––fëŽTšÀÀÛ圅UzßÇ÷?ù×"²røønþYƒ£½}C7O»RÄÚ”œ¬Ã×cSr²‚¼|[úÔWÂ[åÊ-È?wùlRœ‡£s¨Oý@™måvõªs\œ£›[¾Ÿ_V“&éuêä–pId¤[‹åçkŸzêÜ’%;+·q€(*ªO¹¯uvvÖh4îîîÊ„š[cûöí+á*Õ†Ùl‘.]ºXJ222Ddÿþýaaa¥éSF²q­¥¨íU¦K<û6 ©¢þ(ôvö]üštñkR‰m:9´j•ÒªUJ)ë›Íòúë]òóµ:Ù²âhe5€ªÀ”Q•ÀdÒ<ýtÏ~h$"ãÇŸmÚ4ÝÖ=À1B œ¢¢ÜfÏnݬ٫Wû­þ¡CuD¤uë”ÿ{¯­»€R!(§«WçÎma]’öý÷Û‹_\5 (•¶u¾Óã ©S¡}ï&îîymÚ$ÇÇ;zxš7Oë×ïʳϞµ³3Ùº_(-!P*¡>õC}†Øº5KëÖ)G®µu/P~,**E •bÊ(€ëY[wàŽ¢lÝ !â®Axʆ)£ RBP)!¨TŠEe`c™™™û÷ï¿zõj\\œÉd jÞ¼ypp°N§³u×€»6³qãÆõë×ïÚµË`0:öùçŸ{zzÚ¤c€J0e6óé§Ÿnß¾Ý`0ØÛÛ‡„„„……999)§80lذÌÌLÛö¸»1B›Ñét}ûö5jTçÎõz½ˆ †]»v½þúëiiiW¯^ݳgOÿþýmÝMà®Å!lfÆ óçÏïÙ³§’EÄÁÁ¡wïÞ¯½öšòr÷îݶëp÷#Âf‹-wuu­æžêD D³sçNå U«V¶í pw#¢f‰ˆˆøá‡DÄÓÓsðàÁ¶îp7#¢¹råÊ /¼`2™Dä£>²<[ *QS¤¦¦>õÔS)))"Þ§O[÷¸ËQ#dgg?ýôÓÑÑÑ"2räÈI“&ÙºGÀÝ@ÛËÉÉ?~ü±cÇD䡇š:uª­{¨6–ŸŸ!"Æ ûä“O´Z~,€êÀ7oØ’Ùlž:sæLÒ Pmøò [ú÷¿ÿýã?ŠHïÞ½§OŸNªß¿a3gΜ™?¾ˆ4kÖlΜ9¤A šñ63uêT£Ñ("3gÎtvv¶uwÕ!Â6ÒÓÓ•…d|}}[·nmëîjdgë@¥.\¸ ÔªUK™8ZT­ZµÆWÔ…@Û0 ÊAllì¬Y³Š­£×ë „@ÕaÊ(lC§ÓݱËÌUŠBØFXXXdd¤­{¨#0 RBP)!¨TŠ@*E •"€J@¥„ RBP)!¨TŠ@*E T':5Úh6ÚºÅKKK‹·u/€bƸ¸8[÷€Jfgë@ÕöîÝ{õêÕ¤¤$GGGOOϦM›ÞsÏ=¶îÚÝÉl6Y5dãùM<šœzþ”ÞNoëÝ´wïÞ-[¶ìÚµëêÕ«;v\±b…åTn\ܱðpå¸ÅG¹†„Ä,^·q£ˆ¸µjòÁÖí\øøã”={´þ÷¿Êía~jêáqã º6oÞbæÌbë_œ7/aëÖB…Áï½W»mÛÊíØßKY?Æ’Ÿ>=5"BçèØñÛo‹¯a6ß<Ðhn×HéÀbbb T»víÎ;?ñÄ®®®åè65 6óøã8p hyíÚµ§NúÀT—îz†Œç7ŠHtjôæÈ͇Ubã&³É,fh´š2L=ˆŒŒüè£vïÞ}» :½>ýøqåX£ÕŠHAF†R¢¯W¯Påì‹ÓרUþÙŒ¹¹–nXhn3r.]*Z??-­Ò;ö÷RÖ±dYQQéÇkõ·ù½†ÙüKPÙh‘~Ø`äÈbk•éLDnܸ±oß¾}ûö-]ºô©§ž7n\­ZµÊ×j!l&22RDt:]½zõüüü233###sssoܸ1qâÄúõë·k×ÎÖ}¼Û¸Õr8`kÔVw½{Çú+·ñÆŸ5޽{¯ÿ½Œû£”—77WDzöìùÖ[o[S_¯^VT”ÖÁÁÞÃCDjùúÞ,¿uP tNNM^zÉòòÚwß•œdêÜw_ûî»YyíZ¡¢¬cEoçèhÊËSJ¨VÊ0N§üÂb„ 7nüøãöíÛ÷ÔSO-Z´ÈÅ¥’ÿ… z°¨ lfáÂ…ãÆ³¤Añööž3gŽ“““ˆœ>>Ç/Sãeu&éÌ÷g¾‘Q¡£šx4É3æ-?¶ü»Óß]L½ØÂ»Å£-Ýjt¡Kö]Ù÷ëÅ_EdB‡ uœê$ç$/<´pûÅí1i1žŽžÍë4ºýÓÝý»+•7žßx,þ˜õåŽvޝÞój±IÎIžp¾ˆôiܧ‹_—SÁÊ+WŸ\•ÕÚ·õ fƒF†Žt´«ÐS6l//¯wÞyçŽkŠÔª__¬ÆmêÔÑètf£ñŽ#„Ù11±K–Ü8vÌl2yuëæ;x°[hh±5Ó¿òÍ7™‘‘ù©©.Íš¹µiÓpÌ;gç2¿· Kض-íÀôÓ§ ÎAAn¡¡¾÷ßïÔ¸q¹¼²re~ZšKóæÞ}û*%7ŽIÙ³GDüdz %lÝšéÕ½»[ëÖåèÌ¥… ÍùùÎM›ú  "){÷^ûÈHcv¶£¿¿KóæÍÞx£ÜoAaÊÏß´)óܹÜ+WD«µ¯];ãìÙ’/±¼»’GËýæçç÷Úk¯Mž|xæÌ™"2vìØ²6^V‡®z{ûÛ"ÒÚ·u¾)تag’Î(§.¤\øñÜ?Gý¼ô¡¥Öß5·_Ü®\28hðáë‡G®™š›j9»ÿêþ–Þ--ðÛ“ß~sâë;:Û;ß.^M¿ª´¬é­iíÛzàŠÄÞ\$æ|òù5§×l¾°yõ#«•ÎÄÞˆµDÍLC¦ˆ$f%n8¿ÁºAh6h§ýó¿6«V­R^}õÕÒ,ÜïÙ¥K^\œç=÷ÜlP§ó;¶ +«äœ„­[¿ø¢ùÖ_VÆ©S±Ë–µ_¶Ì#,¬PÍó}³h‘åeöÅ‹ Û¶]_»¶õܹ.AAwì^e)ÈÌ<ýæ›ñ?ýd)ÉŠŽNزåâܹ!S§Ö³ú­D™\[³æÆ±caa–@ûÕWq6ˆˆs³f>ýû+…—æÏ¿qìX-__%–µ3‘³f™ |ú÷÷êÞýÔë¯ÇoÚd}aʾ} „ [¶œ:5¯ŒÛZ Õ–8BX¾0ÅC=´zõê#GŽDEEEDD„ùé †#–ŒFc||¼²ÝóÅ‹—,Y%";v|ê©§ÊÑàñãÇgÍše6›5MHHH»víüüü’““### mq®Âùóç2D«-<}úÛo¿F3jÔ¨²6^nQ)Qc«D»à:Á9ù917bDdÙ±e›Z̺ù¿DÿòÆÏoÍFC׆]]\ å1 ò kpó{êéÄÓJr»£Ü‚Ü¡«†*i0¤NH=×z¿Çü^`*øîôwÝ#º¿ö’ˆ¬;»îŸ[þi}Õ…” C¾R¨©„×¼¼•ãììlå“wuu2¤pÍbytîìѹó_ÞÑÛo—|IòÎ'^~Ùl4ꜜÜÛ·ÏŠŽÎ½vÍ”—wl„híí-5//_®¤A;—zÇ;xy%ÿñGÚÁƒYÑÑÇ&LèúË/šÛ W.sAAÄ£fž;'"µ||¼ûô©åë›~òdÒöíÆìì““&ÒÒÊõ/…s³f7ŽËŠŠºu'³2<("IÛ·[aVt´R¹"1GŸy&eï^qôóskÕ*ýĉœ+WÊÑmk×Ö¬9=y²Ùd““[h¨½‡GNllVd¤)?¿„ ÿ!,1–ãÌB£ÑŒ=úÈ‘#"²~ýz!ào‡@[:|ø°%nY„‡‡¿úê«EZilÛ¶Íl6‹È¤I“Æo}*???))Éò²U«VݺuÛ½{÷¥K—6oÞ\hÛÃÔÔÔ­[·ŠÈ=÷ÜÓ¨Q£²6^n·N‘® ¾|èËþýfã¸uã–_."S¶O)6NÚ6IDºøuùjèWͽš_I¿R4¾ÛóÝw{Þ|NïoØtaSáVŠóÁ»Þ}îsG…Ž‘Îþ0|õpÙ|a³t–Ýís r•ƒ¢ûÝë4fªß~ûMYK¦wïÞöVÁ¬™ Ž>÷œ)?ß»_¿Ó¦9x{›ÆÆ¥Ÿ<™ãFZD„g×®Jͤß~;7uªˆ8úûwüæ}ýú"Òø…NOž|m͚옘ëëÖÕøáªèd!——/WXí6mÚ.ZäP§ŽRž°mÛ‰W^1åæFÏ™SoÈKyé97m*"†ää‚ôt;7·Ìóç ÉÉÊ©¤;Äl&/!¡ #ÃR¹ÜIüõWÑètAo½ÕpÌNwzòä«ÿû_¹>’›²¢¢ÎL™¢¤A¿Q£š¿û®ÖÁA9uä©§’vì(áÚR.*SA½zõªU«V^^ÞÖ­[ßÿýÛMA fbQÔ8ß|óͼyó²³³Ëq­’4D¤è ¥öööõþºÍtxx¸r0oÞ<%éY¬]»V™¹:zôŸï•©ñrs²wÚ4zSÿÀþ"¢Óè>»ÿ3g{g‰N¶žj­‹_—ŸŸü¹¹WóJé€5F÷¿Gÿ§¤A<¬‰G¥3JIxÇðœ)9Ê?7?éÚ°«¥ÄòÇÓÑÓÒfÔ­¡ªnݺUz‡-L¹¹ž÷ÜÓfî\ooQ&ާœÊ¹zÕRíüôéÊœÒÐO?UÒ ˆh´Úf“'+£ˆ×¾û®ê:iaÌÎŽþÏ”~†Î™c´|ú÷÷ÿÇ?D¤ +K©SVJÆe0e÷n¹µ/_^BBú©S–Súºuíœ+ØV:gŽÿ¸q•5²zîý÷•aÀFáá!Ó§[Ò`i”rQ™ rvvnÓ¦ˆddd$&&Vݨ BØRÛ¶mþùçõë×/Z´hÚ´i½zõÒh4ééésæÌyöÙg­Õ+¥Þ½{+óçÏŸ={vBBB •;uêÔ¡C‰ŒŒÜ¶m›¥Üd2­^½ZDêÕ«gý(c™/·%C–´öýsU½G÷€›^L½X´¾‡Þãûß[¶‘°×Ù»ëÝÝõîNö•0$òaŸû5ég]Rßµ¾ˆdå—ï¸k×®)•¡‹¥¯_¿õçŸ[gË’!¦[Á>ãÔ)ež¤k‹î:X_îàé騰¡ˆä\¾\u´Èù¤R˜ô믖SJt¬`gž}¶îàÁ–—:;77‡ò.•—¼{·ˆ8x{7yñŲ^~s`P£Ñé ZW.˳åÇ€¿ !lÉÞÞ¾qãÆ-Z´èÕ«×È‘#-Z´~ýzegÂ}ûöÍ›7¯¬ vîܹ©2AÎ`X¸pa¯^½ÂÃ÷lÙ’›,ƒ„sçε îÞ½ûòåË"2räHëÙ_em¼^ {±è¼-Žmd IDATP%ƒ‰H\f1+j|:àÓz.&+_gßÔ7RSßH}1¬Ìßž Ò|ÈëÝ^/T¨LÍÎ/Ïø­"îÖº uÊ>û±´4š6óçÛ[mq)"ÚZµ”sAr`Y£2ûâňG-ô'7.NDòÌeÿÅDYYðs-n¡Z//e#„ì˜eæd™èýü”µU²¢£ÍFcêþý"R”°—øÛo–(V¤3N¾òŠuIó·ßîuôh÷[O-–Uâ¶mb6‹ˆßÈ‘å˜ö©ä@^/U¼ø§å‡9®ŒËÞ`sBÔ,!!!³fÍRŽ·lÙRÖËu:ÝêÕ«ÿñ8::ŠˆÑhܱcÇ+¯¼Ò³gÏÕ«Wš*"Ý»woÙ²¥ˆœ;wnûöíJ¡²œŒ½½ý#ø@))ºa F£™0a‚rüÙgŸ­Y³FDZ´hѶmÛŠ7^qïlÇ`4ˆÈˆÐš*~ª‚jëk‹HJNJÉÕ,µY/äcaaÊR¢iš öÄ22aÛ¶¢,&ïÜY•%VËÔ¹ý¦MEÄl4*;*»nhìì¼zô[{E8xz*O]VugÊDYÚGD².\°.Ïùä²Õ²þ™™™ï¿ÿþÊ•+EÄÍÍÍ2pWJ&“éƒ>èÑ£Ç{ï½wøðá””›CU111Ó§OWŽ;w.f¡N÷ôÓO[^º¹¹ýbWîÆEdݺu¿ýö[ttôŠ+.]ºTÂ[ØqiDZœK>÷ý™ïG®ùì†gMf“ˆ|Òÿ“® îô”Áhø%úåÏîË»+¥Meƒ ³˜,p,þ˜ÙlÎ3æíŠÝ5rÍÈÏ|n]sÈ!ÊÁœ9s*åÖåÖìÍ7íœE$~óæS“&¥FD˜ Lyy™gÏFþùÝ»Ÿx¹¤žŸ––²{·åÏ#Jú‰–Ê™·Ö8U½ý¶²IÆÙwß½8ož!%Ål2ež?hôèGŽˆˆGX˜ïý÷—ïm:5j¤l<(Ê|Ñ[CÍuî»OÙCBþ«´3E•ð1ú  üeEFyæ™ä;c–,Ù3`@Nl¬›ÛWš94f̡ѣw÷î·aCeõ¶¤¤¤åË—‹ˆV«lµßþøãÌÌL1b„··wUÜ€*Å!lÃ××ײúBJJÊÁƒOž<©¤Á~ýúmݺµËètº©S§öìÙÓ²MVV–Øt:Ý!C¾þúëÛ}c³··oÓ¦ˆØÙÙ;¶r·<5§Ñh:vìXÊ·c§µ8à÷q¿Ý PDtÚ›$ê4º¢gKP´¾¥)…²±„õAÑË ]¢ðÐ{ü:ö×á!Ãíµö"R`*PÒ`»ºíº6ìj]³víÚo¼ñ†rüÊ+¯(Ï_UFD,£^íúÍ>[ïV/"ÞýúuZµÊÃ2ºk6+ÉÇÞãá“O¶[²¤øw‹B-ÿY^lå"…~?ÞiÍeeQº¡µ·¯ÿÈ#×­+ºG|™Xòžò¡…²ù„ü5–£37ß{±Ÿ| Jñ16~î¹f“'[zõèÑyÝ:Ïnݔϰø¿n}½zN·~©äÙ¥KÙ:V:K–,Y¿~½ˆÔ©SçÕW_­Š[PÕ4IU¿ÅlèÀaaaiii¶îHñΜ9³wïÞäädƒÁàááѤI“fÍš–8 ¬ä³ŠÜÜÜØØØøøø¤¤$__߆ züu›òBbcc TPPððÃ[¦€VVã&“éèÑ£W¯^íÔ©Sݺu‹VXq|Å“?<)"+‡¯ìæß-ËåhïØÐ­¡öo9†Ÿ[{4îèÙ¤³Ž¡>¡Åÿ•M˜0AÙáÃÇÇgáÂ…ÁÁÁÕÛͲ/]ÊŠŒ,ÈÈpðôÔ7lèäïo™fYÍòÓÒ2NÊOKsjÜØ%(ÈVݨQÉOMM;rĘíZúlœ{íÚõ~Ð׫çûàƒÊB•Åd2-^¼xöìÙ"¢ÑhþóŸÿôëׯÛüDÝ~ºÊ9;;k4wwweí@Ë ‚ûöí+á*ë…•­°»Xýê3##CDöïßo“(™ía^^^ùö@iÔð@X¥ „ee6›_~ùåŸþY§ÓmÞ¼YY`¦:YáúQë R˺¹¹¹/¾øâ®]»DD§Ó9òù矯າ@U3›Íüè£NŸ>-":núôéC‡µu¿6ów„¶™2š™™9þüþýû7oÞ¼AƒÁÁÁ£Gž={¶òÿW :™L¦·ß~û矑‡~¸úÓ jéõú¹sç4HDŒFãÊ•+»uë6hРùóçÛºk@1’““ÃÃûtéòä“O*ÿ·rttœ5kið·fƒÉ?{öì;vljjª¥$))iëÖ­[·n5kÖ¬Y³üñjèFrròܹsEäñǯŠA'Ôd±±±_}õU@@@||üþýûO:%"Í›7ë­·lÝ5uqpp˜={öèÑ£?ûì3eÇèèè]»v…‡‡Ûºk@a7nÜØ±c‡rlgg7lذ—_~™…dwÕùå—1cÆ ñõõ}øá‡6lxùòåÇïÛ·Ï`0¼üòËÇŽ›9sfU÷$..î³Ï>‘N:Õ&>>þ›o¾±. üïÿ{»ÅEQ¥:tèðõ×_GEE>}úÌ™3ŽŽŽ¶îP 77·~ýúùùù………………9;;ÛºGT‚j „éééÿüç?•48|øðÿþ÷¿ÖOþôÓO/½ôRzzú’%Kxà=zTgß *nnnÁÁÁIIIµk×nܸq×®]GŒ¡»Í‘Õ mݶïôxGDBê„Øª6ÈÖÞ¨±êÔ©óßÿþ×Ö½ ’Uk ü÷¿ÿ/"!!!Ÿ}öY¡µdxàoooå¢/¿ü²‚0??ÿüùóvvvþþþåp0™Lñññqqqnnn 4(ÍðQBBBBBBPPƒƒƒuùµk×’’’‚ƒƒ •Ã&š7o¾nÝ:[÷âO¡>¡¡>¡¶îT§Z•Q¾‚;99-]º´ØÖ§OÙ¼yóõë×EäÈ‘#¾¾¾¾¾¾{öì)TùĉÊ©ßÿݺü÷ßïß¿@@@Ïž=»uëÖ°aÃGy$""ÂRaÕªU¾¾¾={öT^>ñÄJ;Ö ¡  àã? mÕªU¿~ý:wîܸqãñãÇGGG[ß+99Y¹ö·ß~[µjU÷îÝ[´hqß}÷ùûûOž<9''Çl6¯X±¢eË–­[·îÝ»w£FYè½dddìÝ»×h4–ñ€ò«¾“'OÆÆÆŠH×®]›þudksçν|ù²ˆxzzŠˆÑhTbRAAA¡šEO-X°à_ÿú—R®Ñh”eXwìØ±gÏžU«V)£Ž– -”—Ö…“&MZ±b…uüüüüñðáÛ7o¶l%géÞ¯¿þºhÑ"K ‹/NKK ž6mš¥ƒÁpðàÁ¡C‡nڴɲšåõë×»té’••Õ©S§Í›7ß郀ÊQ}#„.\PBBJzJÊËË«mÛ¶mÛ¶-Çæ„999Ó¦M3?þøãÕ«W><""bùòåÊË?þ8"""""B™­*"3fÌPÒ`ëÖ­gÍšµ{÷î+V(kŸ^¾|yĈÊæÖæÏŸïçç·`Á‚;w¾óÎ;õëב5kÖLŸ>ÝËËëóÏ?ß½{÷œ9sÚ·o/"qqqkÖ¬±\ûË/¿dee‰HDDĵk×Êú® |ªo„011Q9hÑ¢EÝb×®]999"òá‡vëÖMDüýýŸ~úé‚‚‚-[¶ˆHff¦‹‹‹““SãÆ³³³•«êׯ߸qcK#ñññ³fÍ??¿ï¾ûNÙ&»yóæ´³³ûúë¯O:õÕW_½ôÒKÖ·öððX³fÒNË–-ëÕ«÷üóÏ‹ˆN§ûþûï[¶l©4Ò£G:ˆÈ‘#G,×öë×ÏÅÅ%333,,LI’P ªo„099Y9hÖ¬YÝÂ’ñ =p¾nݺuëÖ¹¸¸Ü±‘£G*³fÍRÒ ÅŒ3”É¢–:ýúõ³N•=ôr¯¶mÛ*iP ¼ŒŠŠ²Ö­[÷äÉ“[¶lÙ¸qãß$T’ê „–-›’’’ªè:uRýì³Ïzöì¹xñâóçÏ+–ž%ìuìØ±Ð)‡V­ZIqP™ jQ«V-www .TS™1k2™¬ ]\\:vì¨ÕVë?T®úˆ···rpúôé*ºEýúõ?ÿüs9uêÔäÉ“»víûÿ÷ï¿ÿ¾2 ³víÚÊ)eŸzk‡.ù޵k×8pàêÕ«ÿïÿþODòó󋽤PÔlÛ¶­rpðàÁ¢5Oœ8a]þ¾ªu“‰'*Ó8/^üÃ?:[PPðÁ(ÛŽ3FY¥300ÐÉÉID6lØ`]9>>~õêÕ…Zx÷Ýwûõë÷ÐCeffZ—[Öÿ´^5ÔÁÁA9ˆˆˆ°®l {“&MJII±>õÖ[oÅÅÅIÂS§N}ùå—–9 Tk lÛ¶í3Ï<£¿øâ‹ï¼óΙ3grrr.^¼¸aÆûï¿ÿ‹/¾½^?a„›ýÓj•}¶oßþÚk¯ U§ú6¦WL:577wÙ²eyyyóæÍ›7o^¡ _~ù¥e™6mÚ°aò³³—.]ºtéRKùˆ# :tÉ’%‡úã?ºwïîààŸŸ¯¬þâèèøá‡ZïëàèèØ»wï_ý5!!áµ×^‘ <üðÃ"òæ›oÆÅÅ­\¹òèÑ£…v˜ðóó[½zµ««k¥}""‡Rbcc”­ ªU÷Æw:îÓO??~hhh¡S^^^O<ñÄöíÛ­wr‘:,[¶¬mÛ¶vv7ã«««ë¿þõ¯)S¦XÚT~úé§7Þx£Aƒ"b0Ìf³››Û}÷Ý÷Ë/¿ 6¬ÐÿóŸÿ„‡‡[¶—°Þ"âÓO?4iR:u,%vvv>øàÚµk­›åÖ–ƒB§Šn-¨”[×j³Ùg]˜“““››{ýúuŸF•r§Šq×Xhë@…úTE£f³ùÌ™3ééé·«››\ÁLÈ3„P³\ºt©„4¨HOO‰‰©à„PƒdggÇÇÇ—¦f\\\vvvEîE €$11±Š*E Ä]+Ó—y‡qv ¦IMM­¢ÊEQS˜Íf³Ù\Y­íŒ9_wÖk f¿>ïàÎÊj¨ÊUQ¹(!l/99yâĉ͚5kÖ¬Ùøñã+¥ÍõçŽeåç™Ìæù¯”k&“Ùl4›L•¤0ò8ã IDAT *BØØš5k °aÃå¥Ñh¬”f‡‡´×j4"Ò¯IH¥4X35þì-»©Ïõüj–­;€¿%ö!„Í\ºtéí·ßÞ·o_U4Þ­a`ìÄ)9Y­|TEû5„26È!ʇBØÌäÉ“•4¨×ëÿõ¯¹¸¸Tnû \Ýïî4T¶dgg7xðàõë×3F£Ñغ;€º0e6óÌ3Ï´jÕÊÇǧ²¼‘—óùß ölÑ©~£¢•¿=šØ¾žÿýMCwÆœÿx÷ÖøÌŒ7»|8¤½ˆ,>¼kÙ±½^ŽÎïÝ÷`Ûº EäLÒõïÏ‘Q¡aM<êä –Û÷ÝéCS“Zx×{´e‡Ñ­:Û«ugþsáH\ìõŒ¡> Ú×ó¤Eû /ߢ5?Ù³Í`,há]oXp;Ù~ñìÒ£{Î$Æer=½C}Ìì;¼BP]¼èúÅ-Ïs¿rÅ9;Û®iÓÍ›ßhÞ<-,,±]»¤›}þ¤Á ÕéÌ“&·³3ÛÎìÙ­srtõëgw®L ªa3}úô©Ü²2ÞÞþc¡ÂZ:»báÂC¿ï¸tþm»f ~·@)·nÙCÍÛÎØµåßn¶³çrôåWgÔÒÙº«4ÞÚ×/ßd¶jÞ™¤ëJ ) ?ž;ösÔ™¥µçLÏË}fÃòÿ:h)9—¿öÌáÿØ<÷ÇÇ´éR¨KS~]—o2 nÛ?°Å¸u˾;}ÈúÂß.žSaì”cñW”òLCžˆ$fel8ܺ)ÈÀ¦¡vÚòOøä“6o½Õ© àÏΟ¯½i“ˆÈ€W¶lÙ¤îÞíûãD¤~ýì1cÎmg÷îºÿ÷]Dä•WN”µqT5!îÎöa )Çéy¹g“âîxIZnö³–‹ˆÞÎ>· ?Ãûå‘ÝïîX¯£½}v¾!1;ãXÜK³"•’8ö‡¥©¹Ù"\§nN~~ÌdYvlïÀ¦-G†vRªå›Œ÷~ùñ‰„«"RÏ¥öƒÍ[7pu?t=vãùãYùyc×-MÎɜإoÑ.M¦!ßÎÝ~ñ¬ˆ4r÷êX?à൘KiÉ– ëÎýç–ÕÖ—\HIòí…ÚIxm–·“ë?b8àóÆÍfÑh¤mÛ¤®]ã7ÎHHp<}ÚcÇŽzÖ5§L9¢ÂéÓÛ=ñÄ­¶ðò6óæµFž{îtY@U#âîQßÕ}ÿÓo*Ç×.…-ú莗¬;{TD>øÄà Öþs&˜L6®°ÓjõB'—΋?‘„¬tëK&nýŸˆ4puÿò¡±ý[ͦqë–-?¾OD¦l_g „s#v(i0¬A£õ£^ðuv³Üññµ‹s òßýmÃã­Â,åÊXŸV;«ÿ#/†õÒi´O¯ÿzɑݖ :;½½rœ[¯XJ,tšò®]ÛXY¸tæÌý¯½vÌú”Á ‹s²¼ìÔ)±ÿ+Û¶ù?_{õêÀQ£"­+'%é׬i,"}û^ ºQÖÆPÕ„P»žAÏ´ï.">În×2ÒD$¼cÏAÍB•1@ÉÊ7ºÄÉÞaÓè—Zûú‰ˆN£ýìþߟ9’•Ÿš”š›í¡wÊ4使c£rvÅðñÖ©ohpÛvé3c×– CîÔ?}1hTÑ.i5šÃÇhٱ؇wìÞ±‡rÜpÎä+é©]î~êõ ~ÖrrtÊAn®®Ð)“¿¦uÉ”)G¶mó‘iÓÚi½6З_6ÏËÓ‰È /œ._ã¨R¬2 µ{§çÊ‹C-±Ój§t$"Ž·ÆÜŠ.~ºdÈ% *<ôNÝš*ÇS“DädÂU%OiÞ¦™gáUs&vé«ÕhDä÷˜bº‘׺ö·Nƒ®µôîz'/§JÞ–£>«LŸÞîÍ7î]+iÔ®Gë÷Þ'"§O{¬]ÛÄRn2i,ÿÌÁƒcÊ×8ªªÖ¹Aã>ƒ•c%ø j]×¥ð4Nk/†õ²Ì µ¨ïê®Äe¦‹ˆåñÅvõmÁÇÙU©™’XtOùfž>ï÷b]2gÀc©o̹ J^A´4v\úöî<.ÊrÿÿøçžaVQPÄÝTÜRs/3ËÊÒ¬<.)çÔ×£ýLm;,O™¦Õ)µÅ6³ò”ijiV.åŽû†   (;ÈÎÀÌüþ¸uš‘Õ!ï×óá£Ç=÷\÷5ŸÁÉǼ¹®ûºN{\üܳfõxüñ3>šåë[("gÏ6˜6­·ÚfÀ€Ke/Ôë-³gž2åê‰^^ÆG‰)Õ¦Ú .a7sçÎÝ¿©“ÑÑÑãÇ·>œ={öO‘•÷OêÓ<$ÏhtqtlæéãP‰X›QwðrBFA^hCÿv~jx«]…%Ň“.œJKòvqkïâí[ó>óóbc=Ý’’\<=‹óZ¶ÌnÔ¨°‚Kbb<Û¶}¨¸X7qâéåË·×nçõPlì j_ëææ¦(Š———º0¡rm¬bÏž=\¥Ø iX,éÙ³§õLNNŽˆìÝ»7""¢250e¨gCPƒ†UºÄÇÅmpËð:ªGeppìزg`ËZìÓÕµ¤C‡Œ2*ÙÞb‘Y³zëôz‹uÅÑÚêu)£jÙ¬LžÜÍš`™4éT«VÙö®7Æ!€jŠõ\´¨cëÖWݶn 8p ‘ˆtì˜ñÖ[»í]*…@ šÝ–,ik{&<<ë»ï6»¸”¿¸(ê!P)7{±ßÝ"Þ¨Fû"ÞJ¼¼Š:uJONvñö6†…e rqÊ”Sf{×€Ê"•ÒÞ/ ½ßH{WQ¿tì˜qøðj{W€êcQÐ(!hSFÔ[Sì]À ÅÚ»€!â–Axª†)£ QBÐ(!h4ŠEe`g¹¹¹{÷îMLLLJJ2›Í¡¡¡aaamÚ´Ñëõö. ¸Åa76lX·nÝŽ;ŒFc©§"""Þ}÷]»hSFa7o¾ùæ–-[ŒF£££cxxxDD„«««úÔ¾}ûF•››kß €[#„°½^?xðà±cÇöèÑÃ`0ˆˆÑhܱcǬY³²²²wíÚ5tèP{— ܲ!„ݬ_¿~Ù²eýû÷WÓ ˆ899 8ð™gžQîܹÓ~Õ·>!ìÆÅÅ¥Üó7¹@›„¨w¶oß®tèÐÁ¾•·6!ê—¨¨¨5kÖˆˆÏˆ#ì]p+#¢¹xñâ“O>i6›Eäµ×^³Þ[ .Q_dffNœ81##CD"## d[õB~~þäÉ“ãââDd̘13gδwEÀ­@û+((˜4iÒ‘#GDäÞ{ï;w®½+4@;+..ŽŒŒŒŠŠ‘Q£F-X°@§ãc Ü |ó†=Y,–9sæ¨Ð=zþüù¤Aà¦áË7ìé­·ÞúþûïEdàÀóæÍ# 7ß¿a7ÑÑÑË–-‘Ö­[/^¼˜4Üd|‡ÝÌ;×d2‰ÈüùóÝÜÜì] 9BØGvv¶ºŒ¿¿ÇŽí] Eö.uöìYõÀÙÙY8Z–³³ó„ nbQ€¶aF£Q=HHHX¸pa¹m ¨;L…}èõú¶a™ N1Bûˆˆˆˆ‰‰±w€¦1E "€F@£„ QBÐ(!h4Š@E "€F@£„ QB@sâ2ãL“½«(_VVVrr²½«Êa2™’’’ì]µÌÁÞ@ÓRRRvïÞ˜˜˜––æâââããÓªU«^½z999Ù»´[“ÅbùõÈ g6´ônyâ' {WtÕîÝ»7mÚ´cÇŽÄÄÄnݺ}ñÅÖ§ “’ŽDFªÇm_{Í#<<þ£’6lÏÂ_yŶŸ³o¼‘±k—ÎÉ©ûÿþW»gfœ0¡ÔI°°¶óç—ÛþÜÒ¥)?ýTêd›ÿ»Açε[Ø_KUŒ;3o^fT”ÞÅ¥ÛW_•ßÂb¹z (×ë¤ò°øøøáÇ7hÐ <<¼G>ú¨‡‡G5Ê ^!Ânyä‘}ûö•=ß Aƒ¹sçÞ}÷Ý7¿¤[^Ž1gÙ "—·1fã¨6£j±s³Ål‹"ŠN©ÂÔƒ˜˜˜×^{mçÎ×k 7²UNDJrrÔ3†&MJ5Î?w.ûèQÅ¡öÿe3Z˰R®3 Ο/Û¾8+«Ö ûk©ê±by±±ÙGê ×ù½†ÅòKh¨Åd‘¶ÿùOÓ1cÊmU¥˜ˆ\¹reÏž={öìùä“O&Nœ8aÂggçêÕ@}@ „ÝÄÄĈˆ^¯oÒ¤I```nnnLLLaaá•+Wf̘Ð¥K{×x«ñtö2ì§ØŸ¼ ^ݺÕnç-Þn‘p%áöæ·ÿ>á÷J^²ÿþ©S§æå剈££ãÝwßݽ{÷îݻ۶qôòÒ»ºšòóEÄÙÏÏú_qnܸ6ß@…4™1Ãú0þƒJòò*hïw×]†À@õ8ûرÔ_~©Ûúþ"ªúc¬EQÔ@XÁï*ÿ Z±bÅÁƒýõ×£Gfgg¿õÖ[{öìYºt©‹‹K]½ êvÓ¹sç^½zÝwß}ÞÞÞê™ÔÔÔ9sælß¾Ýl6¿úê««W¯¶o…·¤Æý°/q_¿îNîµÛ³Ùb¶þ·2víÚõü£°°PDú÷ïÿÜsÏ•ÛÒФI^l¬ÎÉÉÑÛ[Dœýý¯ž¿vpè]][þßÿY^ú曊“L£;îhtÇW¯^M TUõÇXÓ—sq1©4«äL¯×«¿°˜:uê† Þxã”””={öLœ8ñÃ?tw¯åÿ¡¸9XTvóÁL˜0ÁšEÄ××wñâÅ®®®"rüøñ¢¢"ûUwËÒ+ú^½j= VUzzúôéÓÕ48f̘÷ßÿziP®Íܳ~Mÿãà&Žâ¯Èšõ®®4«ÆlĈ«V­jÚ´©ˆ:tè?ÿùO­ ÀÍG Dýâéé©~Ç2›Íö.uåõ×_ÏÎΑ‘#G¾ôÒK7¾ú}Ý:‘ïÚ@ˆ ýo4B(Uÿ€5iÒä³Ï>kذ¡ˆ|÷ÝwQQQ5/€›)£¨_²³³ãããE¤]»v^^^ÕëäâÅ‹+W®)**òóó»ÿþû«ÔyUE§EýˆŒm?¶¥wË"SÑŠ#+¾9ù͹Ìsm}ÛŽn7z\‡q¥.Ùsqϯç~‘©]§6rm”^þÁ¶œÛŸïãâÖ(lòm“û6ï«6ÞpfÑä#¶—»8¸<Ýëér‹I/H_¶™ˆ j1¨g`ÏsÉÊc+W_›ÛÑ¿ãðÖÃÇ´ãâP£;¦¢¢¢Ö¯_/" 6|ñÅo¸¦ˆs@€ØŒÛ85j¤èõ“é†#„ùññ Ë—_9rÄb67ìÓÇÄÏöíËm™}ôèÅ/¿Ì‰)ÎÌtoÝÚ³S§f?îàæVå÷Vc)›7gíÛ—}ò¤1%Å-4Ô³}{ÿ»îrmÑ¢Ú^\¹²8+Ë=,Ìwð`õÌ•C‡2ví‘æ&X‡ÎR~ú)/&¦aß¾ž;V£˜ó|`).vkÕÊoØ0ÉØ½ûÒ7ßäÅĘòó]š7w k={vµß‚Ê\\œüã¹§O^¼(:cƒ9§NU|‰õÝUúH=©® !"~~~÷Ýw_Ù~<8þ|?~|U;¯ª—¼°åéèß±Ø\<êëQÑiÑêSg3Î~úûŸcþäÞOl¿kn9·E½dD舃—ŽùvLfa¦õÙ½‰{Ûù¶³¯Žõå±/m_ÑÍÑíz01;QíY¨tôïxçwþžpu‘˜3ég¾=ùíÆ³W=¸J-&áJ‚5jæsE$5/uý™õ¶*¢ÜÙêNÝÿÚ|ýõ×êÁÓO?]™…û}zö,JJòéÕëj‡z}óñãKòò*ÀIùé§£O=e¹ö—•sâDÂgŸÝöÙgÞ¥Zžyíµø?´>Ì?w.eóæË«Ww\²Ä=4ô†åÕ–’ÜÜ“Ï>›üÃÖ3yqq)›6[²$|îÜ&6¿•¨’Kß~{åÈïˆk LøôÓ¤õëEÄ­uk¿¡CÕ“ç—-»r䈳¿¿«ZLÌÂ…–’¿¡Cöí{b֬䴽0cÏž”M›NÍ[TÅm­ ê*!¬ÞLuï½÷®ZµêСC±±±QQQe>]ÔsBØ“ÉdJNNV·{>wîÜòåËcccE¤[·n'N¬F‡G]¸p¡ÅbQ%<<¼K—.ééé111¥¶¸ˆŒŒTá²eËFީӕž>ýÕW_‰ˆ¢(cÇŽ­jçÕ›;~Íx5ÚµiÔ¦ ¸ þJ¼ˆ|vä³;[Ý9¦}9ëæÿ÷ËìŸg›,&'½Sïf½=œÝ\X·xq“‘#­ç+Ï­U+1¦§—dg;xzæž9cLOWŸJÛ¶M,Q”¢””’œkãj“úë¯"¢èõ¡Ï=×ìñǽþäœ9‰ÿû_µ~$WåÅÆF?ÿ¼šÇŽ {é%““úÔ¡‰Ó¶m«àÚJ.*SC pvv.**úé§Ÿ^~ùåëMA ~bQÔ;_~ùåÒ¥Kóóó«q­š4D¤ì ¥ŽŽŽMþ¼Ítdd¤z°téR5éY­^½Z¹:nÜ7ïU©ójsutýqÜCC†Šˆ^Ñ¿}×ÛnŽn"—g;)ÔVÏÀž??ösXðZ)À–^ÑÿoôÿÔ4("£ÚŒjéÝR-F=Ù-²àùõO g ˆônÖÛzÆúÇÇÅÇÚg쵡ª>}úÔzÁVæÂBŸ^½:-Yâäë+ê$À Ô§ ­ÍÎÌ›§Î)mÿæ›jE§k=gŽ:Šxé›oê®H+S~~Ü;ï¨u¶_¼Ø6hù Úüo‘’¼<µMU©ODÔAÂŒ;åÚ¾|E))Ù'NXŸ24nìàæVÃb®ýâÅÍ'L¨­‘ÕÓ/¿¬GF†Ï›gMƒ•QÉEejÈÍÍ­S§N"’“““ššZw/@] ž:wîüóÏ?¯[·îÃ?|õÕW  (JvvöâÅ‹§L™b{«^% 8P=X¶lÙ¢E‹RRR*hܽ{÷®]»ŠHLLÌæÍ›­çÍfóªU«D¤I“&¶·2V©ój[>ryGÿ?Võð6x÷ ºz+à¹ÌseÛ{¼¿{ø;ë6ŽzG/ƒ——ÁËÕ±†Dþ3è?CZ±=à "yÅÕß;îÒ¥KêAmEèr:¾û®m&±.b¾ìsNœPçIz´mëÕµ«íåN>>.Íš‰HÁ… uW¤UîéÓÅW®ˆˆïàÁ®×F¤­‚&MRt:ɬÖÌd÷Rp×.iöØcêÉ´_µ>¥FÇ4eJã#¬õîîžžNÕ] ª0))}çNqòõmùÔSU½üêÀ ¢è ¥G­k—õÃlýxðWA „=9::¶hÑ¢mÛ¶ 3ḟ~¸nÝ:ugÂ={ö,]º´ªöèÑ£•:AÎhüàƒ ¹iÓ¦âëÜhd$\²d‰upçÎ.\‘1cÆØÎþªjçÕðTÄSeç…ªLD’rËYQãÍao6qÿ#Yù»ùgÎÎÌœùTD•¿=—22lä¬>³JT§ƒæWgüV•tm]FUŸýXYŠÒiÙ2G›-.EDçì¬XJJÔë•ùçÎE]êOaR’ˆ¥¤Xªþ‹‰ª²ÞàçQÞBµN ª!äÇÇ«3'«Ä¨®­’g1™2÷î‘&÷b«q IDATÞ«†½Ô­[­¨7Ö¤×ààéÓmÏ„½ðۂû^»k±ªR7o‹EDÇŒ©Æ´O5ê ©ãÅ?­æ¤*.{€ÝQ¿„‡‡/\¸P=Þ´iSU/×ëõ«V­úÛßþæââ""&“iÛ¶mÓ§Oïß¿ÿªU«JÍ ‘¾}û¶k×NDNŸ>½eËõ¤ºœŒ££ãƒ>X“ΫA)ZJfÁÕ™¢ ]–}ö¶&·ÕüuËÕ£i²'uŠNDLæêg$—k“÷ênŸIE¯/»½Äk´^û›*JNVLY”úcÊÏ‹Éd¬»C+–¯®3jêܤ‰ˆ˜‹ŠªºÌ¦ˆ(:[Ë–"’›}äHI^žƒ‡‡G»v¾ƒ‰Hö±cÆÔÔ|5†„Ô°÷ÐÐ*Mé¼!k1jmU¥fÈ:/ª²Î'w­Ë›¨ BÔ;ýúõS·"8{ölÙ»õnÈÍÍmΜ9jT ¸vWXFFÆK/½4aÂë÷6+ÛAB¹|ù²ºÄwÞ©n9]“ÎkELFŒz`*üK³þÜêhÎmåYs‚ßwvþè£rÿtY¾ÜÑǧâ~jÎÑÓS=0å•?×zÞáZË*Qç‚æÇÆ¦ïÚ%"Þ=z(z}#u ´Å’ºm›í”Ѻ.¦JŠ®}H Tr=ênuº¢ŒÊúa¶~¼ø«`•QÔ;Š¢øøøäää˜L¦ÜÜ\çk3ýª¤Aƒ‘‘‘S¦LÙ±cǧŸ~ºk×.Ù³gÏòåËŸ|òIÛ–ƒnÕªULL̉'¶oß~èÐ!õÞEÛådªÝyÍ%æ$žN?-"A ‚=ÊùN\(¢ˆH‰¹¤âfM›6Ubcc«½Ûd­°®"#f³ïµDíÂõÚð×õvh(LL'__w÷jôïÞºµˆäÇÇgîÞ-"ê†{ÞÝ»;xx”ää¤nÞ\xù²µY]S=æ2¿JZ¿>3*ªâ«| rjØÐ±îƒkLÌÕßÚÔé±ÔFQïäåå©·ðùûû—£«Nׯ_¿?þø•W^QÏ”Ý0PQ”©S§ªÇo¿ýö·ß~+"mÛ¶íܹsÍ;¯¹·¼h4Eäáö+u|T 504‘Œ‚ŒŠ›Y7j³]ÈÇ.¼#"Ô¥D³öï7v¬Ä:2eóæ²·,¦oß^’—'6ËÃT¹ÿV­DÄb2©;ª»n( ûõ“k{E8ùø¨w]Öu1U¢.í#"ygÏÚžÏ=}úä³ÏÞðr÷ÐЦ=äwçuRÜ5gÏž=w´mÛVÝÀ_öQRRr½µXÞxã ³Ù,"ýû÷¯RŸ‹eåÊ•ÙÙÙeŸRo›[}l >¼yóæ"ròäIu;Á²»#V»sÉÊÊúúë¯çÏŸÿûï¿Wö͈ˆÈ‡?üìÈg"âáä1­Ç´*]{óù¹ù‰HlFlü•ø šµoß¾E‹"räÈ‘D› n>GooßÁƒEĘ‘q|ÆŒ²K¤XJJÔU×\ƒ‚öí+".$~ýµíSæââØk<>úhõúw³ oN º‡†ªÇ¶ã¢Ö6u]L•¸\›)zá‹/¬«SSOjªÌÎ4KÆîÝ uW¡ˆüøãÕ=ï¹çž:}!êö±mÛ¶Ûo¿}Á‚l–õÏÍÍ}ùå—W®\)"žžžÖ»J2›Í¯¼òJ¿~ýþýïüýý­«/dddìß¿ÿøñãj2dÈO?ýTåFôzýܹsû÷ïo]‡&//O lz½~äÈ‘Ÿþùõ¾±9::vêÔIDÆ_»[ïšS¥[·n•|;:‡a!Ã~›ð[ÙÍED¯»ºA¢^Ñ—}¶eÛ[»R©KØ”½¼Ô%*oƒ÷¯ã½?ü~G£ˆ”˜KÔ4Ø¥q—ÞÍzÛ¶lРÁìÙ³ÕãéÓ§«÷_ÕEë¨×ŸK¿Z³ínõ"â;dH÷¯¿ö¶ŽîZ,jòqôönöØc]–//ÿ…Ê{‰R=ÿq¾ÜÆeN>òH÷o¿UWvµ £cÀƒöX»¶ìñUbÍ{ê „Vêæòç@Xb®¾÷rò¨Ä±ÅßÿÞzÎÛ“ ûõë±v­OŸ>êϰü¿nC“&®×~©äÓ³gÕ «œåË—¯[·ND5jôôÓO×ÅKP×”´ºßb v´oß¾ˆˆˆ¬¬,{R¾èèèÝ»w§§§Fooï–-[¶nÝ:¤Âi`?«*,,LHHHNNNKKsww÷÷÷oÖ¬™÷Ÿ·)/%!!aøðá%%%<ð€u hmun6›>œ˜˜Ø½{÷Æ—mðÅÑ/[󘈬¼eŸæ}òŒy.Ž.Í<›9èþ’cø…%…‡“ŸJ;åíâÝÞ¯}ˆwùeS§NUwøðóóûàƒÚ´issË,-ÿüù¼˜˜’œ'C³f®Í›[§YÞdÅYY9'Nge¹¶háj¯2êU1Å™™Y‡™òó=Û·¯|6.¼téòš5†&Müï¹G]@¨¶˜Íæ>úhÑ¢E"¢(Ê;ï¼3dÈZìð{ýé*7äææ¦(Š———ºv uÁ={öTp•íBƒêVØ=m~õ™““#"{÷ITŒ@x‹«ç°*«Êb±L›6íçŸÖëõ7nT˜¹™¬pÝØu÷„je]ŠÂ§žzjÇŽ"¢×ëÇŒóü£†ëÊuÍb±ìß¿ÿµ×^;yò¤ˆèõúyóæÝwß}ö® `7õ@È”QhÙl~á…~þùgyàn~Ô,ƒÁ°dÉ’áÇ‹ˆÉdZ¹reŸ>}†¾lÙ2{—”#===22²gÏž=ö˜š]\\.\Hü¥ý%'¤UìY³®·%@)£GîÛ·o]×ûJHHøôÓOƒ‚‚’““÷îÝ{âÄ  {î¹çì]š¶899-Z´hܸqo¿ý¶º‹c\\ÜŽ;"##í]PÚ•+W¶mÛ¦;88Œ5jÚ´i,$ø«ÓJ üꫯ *Ó²]»vu¿ûî»'N4mÚtâĉµÞ9ª*99ùË/¿´=òßÿþ÷z‹‹¢NuíÚõóÏ?=yòdtt´‹‹‹½+Êáéé9dÈÀÀÀˆˆˆˆˆ777{W@-ÐJ ìß¿¾ÍÞVF£Q˜ÐêÏkëÕÑŒÁï¿ÿþ‡~èС°>ðôôlÓ¦MZZZƒ Z´hÑ»wï‡~X%"o‚Î;¿ØïE on¯ì.$$$$$„­½Qo5jÔè¿ÿý¯½« –i%~ñŶsssÕ½à|ðÁýë_ö© ö¶víZ{Wñ‡ö~íÛûµ·wЭÂêÉÉɹpá‚Ùl ôòò²w9P›Xe´|xàZ´hѯ_¿;U«VÇß½{·µAZZZXXXppp·nݲ³³m¯Ý±cGppppp°ºOq×®]ýýýøá9v옿¿¿¿¿ÿí·ßnmŸ““³{÷n“Ét³ÞˆË=zôhuËl«}ûö3æØ±cêÃFMŸ>=77÷üùósçε6+**zúé§sssœœæÌ™#"ÅÅŶaÏd2™L&£Ñ¨>¼|ùrûöíï¹çž#FÔùÂÒ’““ÇŽ›íääôòË/ÿöÛo¿ÿþûË/¿ìää”——7vìØK—.©-###Õ¾Ï>û̺wä¢E‹âââDdáÂ…~~~"²qãÆ¨¨¨~ýú‰H«V­¢¢¢¢¢¢¬7°ýòË/yyy"eínî!,mÁ‚/^tppøôÓO‡ªž  œ~üø¦M›6lØPkï*Â?1ÑÑÑ"Ò Aƒ­[·–zÖÓÓSDŽ9b{ò¡‡Ú¸qãúõëß|óMQåwÞiРAå_ÔÝݽ[·n5-ªˆ@ø''OžT—{Y³fÍš5kÊm“šššššêëëk=³páÂ={ö¤¦¦ŠÈøñãï¸ãŽ›R,ÔðOÌf³zдiSuI˜rY,Û‡ƒÁÙÙY=VWˆ€ú@ø'íÚµspp());v¬ºiDe¼øâ‹/^T¿ùæ›{î¹gøðáuV#Ô•ùggç°°0ÙµkW%/ùå—_>ÿüsyñÅCCCEäé§ŸNOO/·qqqq-U 5E ,­sçÎ"²{÷îo¾ùÆö|vvöƒ>Ø«W¯GyÄz233óŸÿü§ˆtìØñ©§žZ´h‘¢(iii3gÎ,Õ­“““ˆœ={6++«ÔS'NœøøãÕ[à¦!–6sæL???‹Å2mÚ´·Þzëøñ㉉‰ëׯ衇¶mÛvöìÙ#FXÏš5+99Y¯×/^¼X¯×÷ìÙsܸq"²~ýúÕ«WÛv("&“é™gžÙ½{·uúÓ§O÷ïßÖ¬YÆ ³ÞÁ7°´fÍš}õÕW®®®ÅÅů¾úêwÜÑ©S§ &ìß¿_Dîºë®1cƨ-­+‘>ñÄ:uRO¾ôÒK5‘Ù³g'''[»½ûî»EQ¯ºçž{î»ï>õüÔƒ„„„”””›ô&@³PQ5žéõú²ÏvêÔiÕªU={ö´žÑëõ­[·~ï½÷V¬X¡ÓéD$''gÖ¬Y"øì³ÏZ[z{{¿úê«"’••e{¾[·nü±µOõÕEdĈááኢŒ7®qãÆµþNàz”´´4{×Peee]¼xÑÁÁ¡eË–êM€¶ ED¯×;::–û”N§+{U^^^QQ‘»»»íS¹¹¹îîîµÿDöíÛQöÆÅ¿®{—\[íkÝÜÜEñòòR‡‹¬ƒF{öì©à*k3¹¶žíPVNNŽˆìÝ»7""¢25°íDE¼¼¼¼¼¼®÷¬Á`¨ÆSnnnnnn¥NÖQ€ htÊ(€@E "€F@£„ QBÐ(!h4Š@E "€F@£„ QBÐ(!h4Š@E "€F@£„ QBÐ(!h4Š@E "€F@£„ QBÐ(!h4Š@E "€F@£„ QBÐ(!h4Š@E "€F@£„ QBÐ(!h4Š@E "€F@£„ QBÐ(!h4Š@E "€F@£„ QBø«Òéj”é„P †Ê7vvv®Ék ñöö®|c//¯š¼ê__ß:j\êWWWÿÊ´ô÷÷wuu­Ék ~ öôô¬¸§§gppp _ˆ@õ‹¢(ááá7¾^??¿6mÚ(ŠRÃr¨áõ€Z§(Jpp°ŸŸ_jjjfffaa¡¢(ƒÁÛÛÛ××W)j±Xjø*B¨§\]]ƒ‚‚‚‚‚¬gj>*h‹)£ QBÐ(!h4Š@Å*£šàææfïjMRR’½K®ªÉ7íììl¹råJí•#"[ùÆBM¨Ý¥iÔŠÐÐÐZï“@ˆÒ¼¼¼ì]€?©õ±Áj j#„ÊbQÐ(F5Be1BE bÊ($???55533³¨¨Èb±Ø»à/LQƒÁàåååëëëêêjïrn€@¨i‹%>>ž­Þ€Úb±X ._¾ìçç¬ÓÕ߉™Bí²X,ÑÑÑÙÙÙö.¸5¥¤¤†‡‡×ÛUëoTE];þ>>))é&×hŸŸŸš¯÷…Ü¦(Jpp°ŸŸ_jjjfff½Ýø«PÅ`0xyyùúúÖÛ™¢VBˆ««kPPPPP½ pSq!h4Š@Å=„š““cïÔ;Â[ß¾}ûzôèaï*üIlllll¬}k jÂÞ½{í]€zGIKK³w ;`QÐ(!h4Š@E "€F@£„ QBÐ(!h4Š@E "€F@£„ QBÐ(!h4Š@E "€F9T¦Ñ±cÇêºØêСCmuÅß A•ÌJZZÚ 5lذÆõ  ÒÓÓk«+þî ªd¦`Ê(hT¥F·F@£„ QBÐ(!h4Š@E "€F@£„ QBÐ(!h4Š@E "€F@£„ QBÐ(!h4Š@E "€F9ػԭÏ?ÿÜÞ%¸ÙüñÊ4#ÞâÚ´iaï*Ü$ûöí«|c¡&deeÙ»„Zbbcc«}­›››¢(^^^Š¢ˆˆúß²mf±XJ=›““Ó£G½{÷V²î!"€F@£„ QBÐ(V€z*???555++«°°PD ƒ···¯¯¯««k­ôO €zÇb±ÄÇÇ'%%Ùž,(((,,¼|ù²ŸŸ_ppp%wª¨·Œì]4hP]tj±X¢££³³³¯× %%¥°°°M›65Ì„ÜCõËùóç+Hƒªìììøøø¾ê‘üüüäääÊ´LJJÊÏϯÉk IMM­£ÆeqËÊ5%åÞ`œ¨o233ë¨qYBÔ‹Åb±ÔVoÛãÏ4^øLÓE³–îß^[}7ºÃD]4.‹@ûKOOŸ1cFëÖ­[·n=iÒ¤ZésÝé#yÅEf‹eÙþßj¥ÃúÉl±˜,fsíih vöí·ß6lýúõêC“ÉT+ÝÞ~›NQDdHËðZé°~jñössÿÞÿÓ…ö.IìC»9þü /¼°gÏžºè¼O³„¯gäuðkZý×êØ #„¨Fa7sæÌQÓ Á`ø×¿þåîî^»ý7õðºµÓ PCBØ“ƒƒÃˆ#Ö­[÷øã+ŠbïrmaÊ(ìæ‰'žèСƒŸŸ_mux¥¨àÝ}[KÒ¶{@pÙÆ_ŠËL½­Ió»Zµßæ?%çæ<Û÷ÎÂo‘îøìÈî†.nÿ¾ãžÎ›‰HtÚåï¢‰ÈØö-½™JVÙóÍÉç2ÓÚú6Ý®ë¸=Ê­jí©Ã¿ÅŸ=””p9çJ{¿¦·5iþ`ÛÛBú—m¹`×f£©¤­o“QmºˆÈ–s§>9¼+:5)×XâãÛÞ¯éüÁ÷×èTEçÎy¼÷^»Ó§½.^tËÏwhÕêJXØ•°°¬ˆˆÔ.]Ò®Ö¼ “ѨÓë-3gup0—ÛÏ¢E ôù&œ®Rç¨kBØÍ Aƒj·Ã”¼œ¶|_ꤳޡÜ@øÁß¶?ó·Î½óŒÆÑß¼¯žœ°ö³{Ã:¿¾cÓ‹[¯ö³ëBÜ…§_wÖ;¸” vÞÑ?°ØlõõÒè´Ëj›³)ߟ>òslô'÷Ž·çÌ.*|býŠÿØo=s:=yuôÁÿü¾qÉÝ<Þ©g©’žÿum±Ùt_›ÎCCÚNXûÙ7'Ø^¸õÜi5&\É8’|Q=Ÿk,‘Ô¼œõgŽÚv¥ˆÜÙª½ƒ®úS,èôÜsÝKJþèáÌ™?þ("2lØÅM›~TOîÜéÿý÷Á"ÿøãgÊö³sgãÿ÷ÿzŠÈôéǪÚ9ê·7G§ˆ¦ÁêqvQá©´¤^’U˜?eý 188–ç ?>´ó¥mëQ\ó‹©ù9G’.Z»‘ØŒÔñk>É,Ì‘6Ç_I‘ÏŽì¾³U»1í»«ÍŠÍ¦Û?~ãXJ¢ˆ4qopOXǦ^.'l8s4¯¸hüÚOÒ rgô\¶$“Ù<ò«%[Α`¯†Ý‚ö_Š?Ÿ•nm°öÔánZe{ÉÙŒ”‘_½WªŸ”gúºzÜð'P®}ûüfÏîa±ˆ¢HçÎi½{'·h‘“’ârò¤÷¶mMl[>ÿü!5Λ×åÑGÏêt¥—·Yº´­ˆ(Šüýï'«Ú9ê·Ž¯½“ŸU£.øðµ^²öÔaùàžGG„vl¾xN‰Ù1@¯è&¯û|ù¡ÖNzƒƒ£z\XR¬XÏXé•ê®^ÝB]¸Vªi÷ IDATtþü½Ïþ8¬¨H/"O>y²z N±Ê(´îÅþw«îNÎ"â Ó=ßw¸ˆ¸\s+»øéò‘«iPåmpíÔJ=>—™&"ÇSÕ<92¬SkŸÒ«æÌè9X§("ò[|97݉È3½‡Ú¦Agƒ—Áµ¡k-oËQ{îIPæÍëòì³—.U4jׯßåÛoO‘“'½W¯ni=o6+ï¿."Í›çŽ_½ÎP§„дM[ jÑF=VƒßˆÐŽÝKOã´õTÄë¼P«/õ )7[D¬·/viÒ¬l~njû˜ŒÔ²{Ê·öñ{yÀHÛ3‹‡=”9{ñ…¯WæÕŠ.µk—)"EEú×_ïܼù¸{î¹ó›oZåÿ‹ñüó‡ÔƒW^¹Íú†6oŒ‹ó‘©S£õú?ÞfU;@Ýá4-Ü·ô*&ýƒB+¾dhHÛ²'3 ®Î/mèê&"1©êÃ@Oïr;QÏ–_ÌÎ,õT;¿g½çr;8˜wï^;cÆ17·1™” š?ôÐàÀÀGß?¼L†•;ï¼Ðµkšˆ=ê³n]°zR]NÆÉÉT·…(+×X¨xêé„IâE‹v'$¬|õÕ¨  «÷õ¥¦"#û<¢  td}þùƒêÁ+¯Ü&" î?üÐ\DFŽóó+¨aç¨#B ¦s²N§'‹HPƒ†^"Ò¦Qcõ©óYåﱟ•!"Ý== 5yi5½–˜M5é¤>>EÏ?(.î«Ü8dÈÕÍ·l X° c©–÷Ýw^zà@£lþÁá&“""O>y¢æ ŽšzqË÷FS‰ˆ<ܾ›º1½5®‰>\b6—j¿)æDޱPDÂÕtÛ½ɸ6aµŽèt–»îº°yó~ø›zfÛ¶€RmEž}öê„/¾Ømùò0éÒ%­W¯äšw€:B jäÿvd·ˆx8¦õ¨žlåã§Þjx.+í£ƒ;lÛM%/oß ÿ£û5|u?7O‰ÍH¿’~ÃÆ•d±È{ïµËÌt.û”z£ ˆäç—3«s̘Øl9x°‘ºà?þq²T›jw€ºÀ/ØÍÉ“'33ÿXRÅh4ŠHzzúÎlÂÒ¸q㚼ʩ´¤_â¢Õãö~M+^A´2¶?íepñsó<‘ré'ö¯:±_=¿`èM¯­5*"‹†î´ô“Åüä_fæM¾íö†.î'S/ÿý‡•{.ƉH¿ Ö¶½­†Å i¾åÜ)‹X†­x{Õè)ýšͦ¨ÄóïîÛz{óVOE ¨FŸ&“î©§úÌšÕãñÇÏ<úhLhh–¯o¡ˆœ=Û`Ú´Þj›.•½P¯·Ìž}xÊ”«{$zyy$¦T›jw€º@ „ÝÌ;wÿþý¥NFGG?ÞúpöìÙO<ñDM^eù¡Ë]M˜ïxtJ×¾5éMDíþeÑî_Jœ?øþ©]ûÙžiçðÞÝc§m\e4•<÷ëÚç~]«Së&áš|4òñV""S»õ[{êðÞÄs§Ó“;/{ÅA§3[,ê«tjxÃË+Ÿï°lYÛeËÚŠˆ‡G±Å"¹¹W7f Ì›6íx¹WfîÜ®/º‰ÈßþvÚÕµ¤;@­cÊ(ìF§»ñÇO¯×W¯s½RNç:›%DuŠNDô6gô:í…Š¢(¢X[–ËA§Òî· 3gõVöÙ©]ûíœ8«ïÕ;âÔœæ¤w˜Ð¹wÔ”gËnX_ª€Êð6¸þ:~Æýá]uz)1›ÕWéÒ¸Yïf!•ïÇ–ƒƒùý÷><Á`¸ºVMNŽ£ØôzË£žÝ¶m}“&åßµèädîÙ3YDÍÓ§«ÝÎPë”´´òWAÄ­aß¾}YYYö.¤Ö„„\/ç|P§¯ûÅѽ­ùXDVÞ?©Oó<£ÑÅѱ™§C%bmFAÞÁË y¡ ýÛù¨á­v–Nºp*-ÉÛÅ­½_@ˆ·oÍûÌÏwˆõLLtKJrñô, ÌkÙ2»Q£Â .‰‰ñlÛö¡âbÝĉ§—/ß^»ÔC±±ƒª}­›››¢(^^^ê„ʵ±Š={öTp•b3¤a±XD¤gÏžÖ3999"²wïÞˆˆˆÊÔÀ”Q j<œ A Vé·Á-Ã먕ÁÁ±g`Ëž-k±OW×’2:tȨd{‹EfÍêY\¬Óë-ÖGk«sÔ¦Œ¨f³2yrÿ5k‚EdÒ¤S­ZeÛ»"Ü#„ª)6ÖsÑ¢Ž­[_ILtÛº5àÀF"Ò±cÆ[oí¶wi¨!€jJLt[²¤­í™ðð¬ï¾ÛìâRþ⢨o„@¥tnÜìÅ~w‹Hx£í‹x+ñò*êÔ)=9ÙÅÛÛ–5dÈÅ)SN98˜í]*‹@TJ{¿€ö~#í]EýÒ±cÆáëí]ªEe@£„ QLPoM±w7kïj„@ˆ[ᨦŒ€F@£„ QBÐ(•åææîÝ»7111))Él6‡†††……µiÓF¯×Û»4àG „Ýlذaݺu;vì0¥žŠˆˆx÷Ýw}||ìR L…ݼùæ›[¶l1ŽŽŽááá®®®êSûöí5jTnn®}+nmŒÂnôzýàÁƒÇŽÛ£GƒÁ "F£qÇŽ³fÍÊÊÊJLLܵk×СCí]&pËb„v³~ýúeË–õïß_Mƒ"âää4pàÀgžyF}¸sçNûUÜú„°—rÏ{xxÜäJm"¢ÞÙ¾}»zСCûVÜÚ„¨_¢¢¢Ö¬Y#">>>#FŒ°w9À­Œ@ˆzäâÅ‹O>ù¤Ùl‘×^{Ízo!€º@ D}‘™™9qâÄŒŒ ‰ŒŒ4h½+nqBÔ ùùù“'OŽ‹‹‘1cÆÌœ9ÓÞ·>!쯠 `Ò¤IGŽ‘{ï½wîܹö®Ð!쬸¸8222**JDFµ`ÁŽ%p3ðÍöd±XæÌ™£n@?zôèùóç“€›†/ß°§·Þzëûï¿‘Λ74ÜL|ÿ†ÝDGG/[¶LDZ·n½xñbÒ p“ñv3wî\“É$"óçÏwss³w9€æaÙÙÙêB2þþþ;v´w9€9Ø»hÔÙ³gÕggguâhYÎÎÎ&L¸‰EÚB „}Fõ !!aáÂ…å¶1 B î0eö¡×ëo؆ef€:Å!ì#"""&&ÆÞUšÆ h4Š@E "€F@£„ QBÐ(!h4Š@E "€F͉ˌ3YLö®¢|YYYÉÉÉö®(Çÿoï¾ã£(÷¾ÿf7uC:I $tP@¤‹APË ê± (èz{kŽåAAEáxŽ‚€¨((xP¤HQéMº@$ôÒHÛìÎ<L2,i¤ot?ïW'×^;{ídõ•o®f·ÛÏŸ?ïìVPËܜݸ´äää-[¶œ9s&55ÕÛÛ;((¨uëÖ½zõòððpvÓþš4M¼pðŠ£+Z¶<øìA/7/g·¨È–-[~úé§ß~ûíÌ™3×_ýüùó‡òÏŸß;z´~ûÎ;¾11‰Ÿ~z~Å ñ»æš˜‰¯sì½÷.nÞlòðèöÍ7µÛÂÂôôÝ#F”(ôm×.öÝwˬbÆŒäU«J¶ã ÿÎk·a.U½;:iRúŽfoïë¿þºìšVt¢(å]¤ò°ÄÄÄúûûÇÄÄôèÑãoû›¯¯o5š @ƒB „Ó<ôÐCÛ·o/]îïï?a„AƒÕ“þò²­Ù+Ž®‘ãéÇWƯÚ~h-^\ÕTM4E“R…¡ñññï¼óΦM›Ê«`öòÊÚ·O?WL&±egë%^áá%*çž8‘µoŸâVûÿg³ççÍ0(åÇŒ¼“'K×/ÌȨõ†ý¹Tõ6V,'!!kß>“W9×дµmÛjv»ˆÄ¾ývÄðáeÖªÒLD233·nݺuëÖÏ?ÿü‰'ž1b„§§gõÚ@C@ „ÓÄÇÇ‹ˆÙlŒŒ¼téR|||~~~ffæóÏ?ß´iÓ.]º8»5~ž~ý[õ_•°*À+àú¦××îÅ[|Ø")3醿7ü:â×J>eçΣFÊÉÉww÷AƒuëÖ­[·nŽuÜÌ‹=7WDwîÜàà`ùî»ïvìØQóPÿ2І%+++11QD:tèP½‹œ>}zÁ‚'Nœ¸páB^^^TTT‹-Z´hqÍ5×ÄÆÆêuæÌ™SXXh2™ž|òI³Ù\æu>ÿüó‚‚‚ÐÐÐ{ï½·J¯ªÃ©‡¿;üˆ<ØñÁ–- ìóöÎûöз'ÒOĆÄ>Ðᇯy¸ÄS¶žÞúó‰ŸEdT×Q-ÓòÒfíšµîÄºÄŒÄ ï vÛ¼ndßæ}õÊ+Ž®Ø{a¯ãӽݼ_èõB™IËKûdç'"r[‹ÛzFö´©¶û,:°(!=áÚ°k¶8¼ãpo·͘ڱcÇòåËE$88øõ×_¿êš"žM›ŠC¿GãÆŠÙ¬ÙíWí!ÌMLLš3'sï^MUƒûô »ë.¿Žˬ™µoß鯾º_˜žÞ¨M¿Nš=ú¨›O•ß[%¯^±}{Ö¡CÖädŸ¶mý:v »óNK‹Õ¾àé 32µkrûízIæž=7o‘æ#F]gÉ«VåÄÇ÷íëwíµÕhÌÉY³´ÂBŸÖ­Cû÷‘‹[¶œýöÛœøx{n®wóæÚµkóòËÕ~ :µ°ðÂ?^:r$ÿôi1™Üýý³ÿø£â§ï®âÂjÀ"##ÿïÿþ/..NDÞxã+VT{œ…@ˆÄn·¿úê«V«UDn.žUUsæÌ™:uªÝ~yŸ½“'OnܸQDn¸á†O?ýT/ÔW†‘ÐÐÐ!C†”¾ÎîÝ»ß}÷]yì±ÇªzñªÚuv×kë^‘kî-T ‡.z8õ°þб‹Ç¾?òýš„5Ÿßó¹ãïšëN¬ÓŸrWÛ»vŸÛ=|ñðôütãÑmg¶ué`¯|ýÕþ¯_ÑÇݧ¼@x&ëŒ~eåVåÚ°kÌðkRÑ"1GÓŽ.>´x展‹î_¤7&)3Éˆš—¬—D$%'eùÑåŽTDÐz€›éòÿm.\¨Ÿ¼ð •Y¸?¨gÏ‚óçƒzõ*º ÙÜü±Çl99wà$¯ZµoÌ­ø‡•}ð`Òܹ×Íؽ{‰šGßy'qölãÛÜ'’W¯>·dɵӧ7jÛöªÍ«-¶K—ýóŸ~øÁ(É9~<ù§ŸNLŸ3aB¸Ã_%ªäìâÅ™{÷vïn¤/¾8¿|¹ˆø´izÇzáÉO>ÉÜ»×3,L„UmLüûïk6[èw÷í{ð¥—.üø£ã/nÝZÃ@˜üÓOL˜PPÅmHMöV僚çž{-Z´gÏž„„„;vt/õé #™ìvû… ôížOœ81gΜ„„¹þúëŸxâ‰j\pß¾}ï¿ÿ¾¦iŠ¢ÄÄÄtéÒ%222--->>¾Ä£GÖá'Ÿ|2xð`“©äð鯿þZDEyðÁ«zñjK¸˜ðØÓ£]ûÆíó ó3EdîÞ¹ZÞ±Œuó×_ûòš—íšÝÃìÑ»Yo_ßyLDÚ·íQô{ê¡”Czr»ª|[þ…Cô4Ó8&Ü7ü—Ä_lªíÛCßöÝÑwl÷±"²ô¥ÿøéŽÏ:vñØà¯—¸Tòÿ%‡XBôóÜÜ\ýÎûúú\²f™{ôìÑãŠwôÚk?%mãÆýÏ=§Ùíf‹%àºërŽÏ?{V-(Ø;jÔÛ·›ÜÝš§æÍÓÓ [£Fá÷Þëœöë¯;wæ?¾wÔ¨Þk×*åt ×.ÍfÛñÀ—ŽÏÐÐÛnó Ë:p uÝ:{nî_´fdDUë? Ÿ6m2÷îÍIH(~%Mï‘ÔuëŒ@˜sü¸^¹&Ñìöߟzêâ–-"âéwÍ5Yû÷ç>]f;:»xñ¡¸8MUEÄl±øuì蘗””¯VðÄË=„Âj|À Š¢<üðÃ{öì‘eË–:B8ÓîÝ»¸e=zô /¼P:¡UÆêÕ«5M‘_|ñÉ'Ÿt|¨°°055Õøöšk®éӧϦM›Nž<¹råÊÛ¦§§¯ZµJDzõê]Õ‹WÛó«ž‘߈ÏîùìŽVwØ5ûˆ¥#æí›'"¯®{µÌ@øâêE¤gdÏ/†|Ñ.¸Ýé¬Ó¥áø›Æ¿©hžÞ ¯ýxìÇ’W)ËÄ_&ŠH€WÀôAÓìø ˆü÷ÿÞ»è^Yyl¥=ÌÆîöù¶|ý¤ô~÷får¦Z¿~½¾–Ì­·ÞêîÌj‘f³ýþÌ3jaaH¿~±o½å¢ÙíÛ‡Í:p 033cÇŽ Þ½õš©ë×™0AD¼›7¿þ«¯¼š6‘ÿû¡¸¸³‹ç&&ž[º´é}÷ÕE#K85ožÀü;uê<{¶GãÆzyòêÕûÇSóóO›>x°Q^y>­[‹ˆ5-Í–•åæçwéèQkZšþPê† ¢i¢(Éɶìl£rµ“òóÏ"¢˜Ím_y¥Ù£*f󡸸3ß|S­[R$'!áð«¯êi0òÁÛoòðÐÚóÄ©6TðÜJ.*SC·Ür‹§§gAAÁªU«Þ|óÍò† Ð0±¨ œ¯¾újÆŒ¹¹¹Õx®ž4D¤ô ¥îîîáWn3=zôhýdÆŒzÒ3,Y²D¹úð×'ïUéâÕfq·üøðw´ºCDÌŠùÃ;?ôq÷‘ãéÇ…:êÙsÍ#kÚ·«•82+æoøFOƒ"2´ýЖ-õÆè%£¯÷jžþé)"½›õ6JŒ¯ ï ãš Å]U}úô©õÔüü ^½:MŸî"ú À#ô‡òΜ1ª4ISÚñƒô4("ŠÉÔ&.NïE<ûí·u×Hƒ=7÷ø¿ÿ­·³ã´iŽA+ôŽ;š?þ¸ˆØrrô:U¥g<Ñ; /nÚ$Åûò$'gbDmõ¬yóM½0zôè˜I“Œ4X•\T¦†|||:uê$"ÙÙÙ)))u÷BÔ!œ©sçÎkÖ¬Y¶lÙìÙ³ßzë­[n¹EQ”¬¬¬iÓ¦=ýôÓŽSõ*éÖ[oÕO>ùä“©S§&''WP¹[·n]»v‘øøøÕ«W媪.Z´HDÂÃç2VéâÕ6gðœkÃ.¯êèØ7ªh*à‰ô¥ëz~7ì;c w³{€W@€W€Å½ºDÞ¾íí~-û9–4õm*"9…Õß;îìÙ³úImEè2y5mzíG9fcɵ8Øg<¨“ô èÚÕñéAAÞÍš‰HÞ©Su×HÃ¥#G 33E$äöÛ-Å=Ò†¨'ŸTL&I¯ÖÈäF%áæÍ"Òì‘GôÂÔŸ6Ò£c õôÓMîºËøÖܨ‘›ŸŸGuˆÊ?>mÓ&ñ i9fLUŸ^Ô1¨(f¯’½ÖµËø0oþ,„p&ww÷-ZÄÆÆÞrË-ÇŸ={ö²eËô ·nÝ:cÆŒª^°G­õrVë¬Y³n¹å–Ñ£GÿôÓO…åL42: §OŸntnÚ´éÔ©S"2|øpÇÑ_U½x5Œé>¦ô¸P=ƒ‰ÈùKe¬¨ñAÿÂ]NVa>aé/§§¿œ>¦{•{.ap»Á/õy©D¡>4·°:ý·ºóÅë‚4®úèÇÊR”NŸ|âî°Å¥ˆ˜<=õÍfÓOŒ5*sOœØñÀ%¾òÏŸ‘‚äd­ê˜¨*c‚ŸoY Õzë!ä&&ê#'«Ä+2R_[%çøqÍnOß¶MDÂï¹G{)ë× Ð'Ö¤1–èèVãÆ9–´{íµ[~ÿ½oñ¬ÅªJY½Z4MD"‡¯Æ°O=𽼤Žÿ4>Ì竸ì NG DÃóþûïëç?ýôSUŸn6›-Zôøã{{{‹ˆÝnß°aøqãnºé¦E‹•*"}ûöíСƒˆ9rdݺuz¡¾œŒ»»ûý÷ß_“‹Wƒ>R´„ô¼¢‘¢Á–àÒ^~]Í_·L="z”.4)&±«ÕÏHÞŃ÷ênŸIÅl.½½Äå5Z‹R.è'ö¼¼Œ]»J|ÙssED³Û­µ1;´b¹‰‰ú‰W9½¦žáá"¢Tu™MQL&Ÿ–-E$'!!kï^[NŽ›¯¯o‡!·Ý&"Yû÷[SRrõ@تU Ó¨mÛ* é¼*£1zÛªJÏu:^TgŒ'·ÔådEê Î7Þ¨oEpìØ±Ò³õ®ÊÇÇ'..NjM‹g…]¼xqüøñ#FŒ0~o38vŠÈ¹sçôm$  o9]“‹×Šø‹ñú‰ÑUø§fÜ·:s[yFN0 ó§Ÿ–ùÕeÎ÷  Š¯Ssî~~ú‰=§ì±¸F¹[qÍ*ÑÇ‚æ&$¤mÞ,"=z(fsc}´¦¥lØà8d´®S%ůÈÈ ZR}·‰:]QFg|˜7¬2ŠGQ”   ììl»Ý~éÒ%Ïâ‘~Uâïï?zôè§Ÿ~ú·ß~ûâ‹/6oÞ,"[·n3gÎßÿþwÇš·ß~{ëÖ­ããã<¸qãÆ={öès—“©öÅkîLö™#iGD$Ê?*Ò·Œß‰E±©¶Š«EDDè' ÕÞm²V«Èˆª†Ou Kq÷Wy;4äŸ9#"!!nUãúÚ´‘ÜÄÄô-[DDßp/°[77__[vvÊêÕùçÎÕêº1Õ£–úÛÐùåËÓwì¨øY!·Ýæì^÷Á5>¾è¯6u:3€º@!œœœ} _XXXé>º*1™L7ÞxãgŸ}6qâD½¤ô†Š¢Œ5J?ÿðÃ/^,"±±±;w®ùÅkîõu¯[íVÖq˜RÇó jÈßË_D.æ]¬¸š±Q›ãB>Nؽ»¾”hÆÎªÕêÄ–ã!“W¯.=e1mãF[NŽ8,Såë·n-"šÝ®ï¨ïº¡¸¹ßx£ïá¤Ïº¬ëÆT‰¾´ˆä;æX~éÈ‘CÿüçUŸÞ¨mÛˆÿùŸÐê¤qÅŽ;vâÄ ‰ÕG7ð'B „sØl¶òÖbyï½÷TU‘›nº©J×Ô4mÁ‚YYY¥Ò' ŠÃTGlÞ¼¹ˆ:tHßN°ôîˆÕ¾¸ˆddd,\¸ðÝwßýõ×_+ûfDDdöîÙs÷Î_ßçznÜ8}þUíP1z½®lzQ›w«‘~ýº-\hôîjšž|Ü›=òH—9sÊ~¡²^¢Ä•/——Y¹TaäCu[¼X_ÙEDôf˜ÜݛޥKKï_%FÞÓ'ôÍ'äÊ@Xƽ÷2ï|*q[<óL›¸8ÇÂàoì±tiPŸ>ú=,ûÇ-ân)þ£RPÏžUkXåÌ™3gÙ²e"Ò¸qã^x¡.^€º¦¤Öý[p¢íÛ·wïÞ=##ÃÙ )ÛáÇ·lÙ’––fµZ[¶lÙ¦M›V«øQ]~~~RRÒ… RSS5jÖ¬Y³À+·)/!))iàÀ6›í¾ûî3†€ÖÖÅUUýý÷ßÏœ9Ó­[·&Mš”®0ßüGþûˆˆ,¸wAŸæ}r¬9ÞîÞÍüš¹™þ”}øù¶üßÏÿþGêÞC;¶ ,ûG6jÔ(}‡ÐÐÐY³fµoß¾~›YRîÉ“9ññ¶ìl  ¯fÍ,Í›Ã,ëYaFFöÁƒ…–-µmë¬f4¨Æ¦§gìÙcÏÍõëØ±òÙ8ÿìÙsÿý¯WxxØÝwë ÕUU?ýôÓ©S§Šˆ¢(ÿþ÷¿ûõëW‹×ü‰$”?\åª|||E Ð×4VܺukÏr\hPß »§ÃŸ>³³³EdÛ¶mFŸDÅþ:Ðn·Ï;WÓ´Þ½{ÇÄÄT\¹   z›”gÞ¼yV«µk×®W]š²ž5ð@X • „U¥iÚsÏ=·fͳټråJ}™údÂe.»»­«¬K‘ŸŸ?f̘ß~ûMDÌfóðáß}öÙ®+ Ô5MÓvîÜùÎ;ï:tHDÌfó¤I“† âìvœæÏ«ð·Þëè<<<:uêÔµk×öíÛ›ª:X¨Våçç¿ôÒK"òÖ[o•?>gΜ_~ùåÔ©S999‹%22²wïÞ#GŽl×®] _=..®  à…^hhW¥ªê믿¾f͹ï¾ûê? º,//¯éÓ§ÇÅÅýøãv»}Á‚ ,hÙ²åàÁƒGíìÖ%¥¥¥½úê«{öìÉÌÌÔK¼½½ß~ûí;ko}ê_áŠ+ÿüóÇ|òäÉnN—…ú”””ôÅ_DEE]¸paÛ¶mú»]»v¯¼òг›æZ<<<¦NúðÃøá‡ú.ŽÇÿí·ß„h€2337lØ Ÿ»¹¹ :ô¹çžc!ÀŸ]•#P£F{$“““ãããsssO:5hРŋwìØ±V[XSš¦9RŸ÷/"]ºt¹õÖ[ƒ‚‚233ùå½7ö‹/¾HJJúúë¯Íå¬ ¿˜ .|õÕWŽ%­ZµúÏþSÞ⢨S]»výòË/:tøðaooog·(ƒŸŸ_¿~ý"##»wïÞ½{wg·€ZPå@»ðÊ­Š³³³ßxã¹s禦¦Ž?~É’%µ×¼Z0þ|= šL¦O?ýÔØMD^zé¥uëÖýío³Z­ëÖ­›1cƘ1cœ×RÔ??¿öíÛ§¦¦úûû·hÑ¢wïÞÆ sâŸ:7éüú¯‹HLã«Lý kÕªU«V­ØÚ VãÆÿóŸÿ8»Ô²Z$éëëûþûïÿñÇÛ¶mÛ¾}»Õjõððp¬`·ÛÏ;—œœQÁÈLMÓ.\¸pîܹˆˆˆÐÐЊ_÷Â… gÏž kÚ´iyu²³³Ç¯Ÿ¿þúëŽiPwë­·Nžúè£"’ŸŸ¿bÅ £<...,,lРA999Ï<óLlll=úôéÓ¬Y³'Ÿ|²âÕYŸ|òɰ°°ÈÈHcíG]»v ëß¿¿Q²oß¾3gÎTpA¨uµ¶.¨Ñi–——g¾øâ‹ï¿ÿ~ZZšQ’••5}úôçž{Îñ¹ªªŽ9òÃ?tÜ!99yÙ²ewÞyg‰¥M7lØðä“O;vÌ(IIIy饗ÊÜ;nùòåúÉO1jž:túôéf³ù®»îºÊ½€ÚSå@˜ðòË/ë皦¥§§ïß¿?>>^DL&Ók¯½¦?ôûï¿ë›þ½öÚkzêÓY,–üã=ö˜Íf;xðàu×]'"“'O.ýBîîî÷ßÿôéÓ:¤ªª¾ëý¾}ûD¤sçÎÏ?ÿ¼cåž={>ûì³ÿþ÷¿ ív»>µmÛ¶W}_íÚµ;xð ÍfËÌÌ p|hìØ±Ž1""¢gÏž¿üòˉ'*¸à°aÃæÍ›gµZW®\9|øp½p÷îÝúØaÆ5'L˜ðàƒúûûW°:Ôº*´´´9sæ”.ŽŽž=òòòNœ8‘•••™™™™™yòäIQUU„ùùùzòìÖ­[‰N<éÕ«W‰@h6›½¼¼òóóé0êX,Çr//¯˜˜’;DDDˆÈ¥K—*¸`=¢¢¢¿ÿþ{#êãE}||Jt–~ ¨kU„‹¥sçÎÆ·Û¶m³Ûí‹eãÆŽ»ôkY¨´è'š¦-]ºôã?>pà@éaŸ†Ã‡Ûív)'>ÅÆÆ–. MJJúã?l6[Û]ˆÈÁƒE$  Äž¥ŸèØçYEQ† öÞ{ï9ŽÕÇ‹Þ}÷Ý%b'Ô¿*ÂŽ;êû¼ëž{¾ú*77÷믿9r¤Q®5™L:u*ïRMš4ÑOÆ?}útýÜÃÃ#""" Àßß?))éøñã%®)"¥»ËÓ´iÓ¤¤$«ÕšÐ®]»òª9sFŸš¨wýÕ–aÆM™2Å5ºgÏž¤¤$¹r¼(8KM•‰‹‹[²dIAAÁ”)SþçþÇX»¥S§Nk×®uss[¾|¹¾NLyõ4Ø´iÓ™3gvïÞÝl6ëM™2Åq1Ò˜˜³Ùl·Û>\ú:eÞ~ûí[·n‘7V7nÜhÔ¯øýVITTT=¶nݺtéÒáÇ뫉FDDôéÓ§_ª§¦ÛN4mÚôé§Ÿ‘´´´©S§åzÇ ÕjݵkWÅWؼy³~òÌ3ÏôêÕËHƒ"¢g9ƒ··w«V­D¤Ìk–¨¬3¦êM˜0aÿþýe6àèÑ£¯¼òJ‰úµEï üå—_222ôñ¢<ð€¾@8W-$“qãÆŠÈ¬Y³ô!‘REäµ×^3V‘Ñ}óÍ7½zõêի׺uëDÄXÒ³DµíÛ·{®¹æÙµk×G}T¢òÇ\ºm­[·¾ï¾ûD$??ÿ±Ç»xñb‰ YYY<òˆ¾õÔS3fÌHOOwÜ]Ðl6:ô¿ÿý¯ã[µj5sæÌ‡zÈn·üñÇŽ½‚#GŽ\¸paé­ ‚ƒƒøá‡áÇŸTAå›o¾¹qãÆ"âîî>tèÐÒÆŽëééö裖~ꈒššZׯa³ÙΜ9“‘‘fl5Q¦”””sçÎ…‡‡‡„„T|MMÓÎ;—’’YÉ( >|êÔ©”””àààfÍšÅÆÆV¼jÍegg_{íµÙÙÙüòË/Ëk˜ÉdÒ»Lk×öíÛ»wïž‘‘QëWv}a! !Ð' U¢(zœ1BM™ëe³¾ IÏž=’ììlÙ¶m[÷îÝ+Ó†Ú2z•×ps‹ŠŠŠŠŠºjÍ«FA¢(M›6­ê OOOÏÎ;wîܹJϪ¡>ø@ÿ©<ûì³åÕ©ÌN÷P»ê#º¦äääýû÷¯_¿^_N¦W¯^ŽÁœŽ@XWV®\i,`4iÒ$ç¶J Ö‹ÅÜ¡C‡¸¸8f¾hh„uåxàœÝ (W-lLø3"€‹"€‹"€‹"€‹"€‹"€‹"€‹"€‹"€‹"€‹"€‹"€‹"€‹"€‹"€‹"€‹"€‹"€‹"€‹"€‹"€‹"€‹"€‹"€‹"€‹"€‹"€‹"€‹"€‹"€‹"€‹"€‹"€‹"€‹"€‹"€‹"€‹"€‹"€‹"€‹"€‹"€‹"€‹"€‹"€‹"€‹"€‹"€‹"€‹"€‹"€‹"€‹"€‹"€‹"€‹"€‹"ÀŸ•ÉT£LG €ÄËË«ò•===kòZBh@+_9  &¯E €$$$¤Ž*—F €Äb±„……U¦fXX˜Åb©Ék a‰ŽŽöó󫸎ŸŸ_ttt _ˆ@ ‹¢(111Mš4)¯BhhhûöíE©á ¹Õðù€Z§(JttthhhJJJzzz~~¾¢(^^^!!!úHQMÓjø*Bh ,KTTTTT”QRó^AG E E E E Å*£.ÁÇÇÇÙM¨5çÏŸwv€"5ùM;++KD233k¯9"" •¯L t µ»4-€ZѶmÛZ¿&%8» ®Pë}ƒÕ@ t ô(EeÀEÑCèè!P=„ࢄà¢2 ÉÍÍMIIIOO/((Ð4ÍÙÍþÄEñòò  ±X,ÎnÎU]š¦i‰‰‰lõÔMÓòòòòòòÎ;m25Ü™B×¥iÚádz²²œÝà¯)999???&&¦Á®òØp£*êÚÉ“'Iƒ@ÊÊÊJLLtv+ÊE tQ¹¹¹.\pv+€¿¾óçÏçææ:»e#º¨””g7p ö×o¡‹JOOwvWÑ`ý&º¨üü|g7p ö×o!Ô­»óDmêš———³›¸ OOOg7¡lìCèJo{tîÜ9§4p5 s+Bz]THHˆ³›¸Šûë7ÐEY,–°°0g·øë ³X,ÎnEÙ„®+::ÚÏÏÏÙ­þÊüüü¢££ÝŠr1‡Ð%hšVfyûöíÏŸ?_Ïí\Ahh¨žËû…Üé„.MQ”èèèÐÐД””ôôô»; ðg¡(Š——W@@@HHHƒ)j B,KTTTTT”³ ^1‡\\\s]Bvv¶³› Á!þõmß¾½GÎn€+$$$$$$8· B—°mÛ6g7@ƒ£¤¦¦:» '`QpQBpQBpQBpQBpQBpQBpQBpQBpQBpQBpQBpQBpQBpQBpQBpQBpQBpQBpQBpQBpQBpQBpQBpQBpQBpQBpQBpQBpQBpQBpQBpQBpQBpQBpQBpQBpQBpQBpQBpQnÎn€¿UUív»¦i%ÊK— zE)]b6›M¦êôöÔ‚ó…[ŽËádÏ3Ù¾9…fg7Ç…ø¸Û#密öl©5 p¯Òs•ÔÔÔ:jW iÚö묡>âí!f135­ÙU±Ú%Ï*9ÚÓÝRº·ò(Ý‹XzÔÈöë§»B-šÅCQEÓ4UQôô±¢—¿áXÃãão“I<ñtOwåÓ!")=Z{VògG P}çÒ ?Ùä#Þ‰¢gEMSE”¢4¨ˆªi¢)"k~t¤Iqäñr?oeÆöÐæÁ©á•;J P}›+^îâ塨š&"š>XQ-Ê(ÅÿÒDQŒo9ÖèXáò<^Š¥PÛ|\¹¯kµ.#¨&UUœ÷ðtµ8Švy„¨1ÄQDV­Š¢ˆ¦iŠ¢wÍj¢if9pÞk¨j­Ìº£BÕd·Û“2|}õAÇ©nš¦‰>ŸPQ‡©„¨)Çd­(¢©š ‹³·¸™%)ÃÓnÏ#¨Cš¦]*t RU3†2jR¼Wžªj"ŠM*TŠ;²8ÖèXâ zÚ.®[T!ÛêVÉ „ªOUÅ®Jq`ñŠ'EV  4ˆéw‰£ã]Õ»dîÁâ •LƒB Pª&ª&švyÒ ¢}«¯/S¼ Œ''ÝÍRho-©ÞQ¿ŸÅÇ’w[¯f¯ôø\!€êS5½‡P§ñÏñD”¢aI¦^áÒ/ÖÔ1B7R¼Ü¥ PÒ.É¡sÚêCêé‹eÔ¿¯«Ò¸‘r.S[ö»VúѾm”Ø¦Š¢È¹ mÙ^­þßQ‰nCc§CåWð!¨>»*võòr¢""Zñ·Úå’+Nêñ¨ˆ<ÔÃtw'Ǹ$^î(J¿XóšCÚç›TU»âYÝ¢•¨`åèYºG+qÍ-•gn6)ŠäÈ{µ¢0\ïïëòÝ¢eD)ª¿M‡ˆ~BÕW4‡P¹œFtWDD'QD^¸ÃÔ«UQC⓵ßOIv¾æã©\!1ኈô‹UB|Moÿpyã 1’—V2YÅ6UÆÞjR)°É¤Ô©•—í‘+VrÕJn__.!€êSE±kF'•1RT)þV“âEGë_¿XEOƒš&ï¯Ö6'\î©üZ¤Ksye âf’ÎÍ”ALK÷8&B½ƒS±;$«è`‰»Óän»*ïþ¤>/Nɼ‹ŽeJQ·lñ·vµ²]„BÕ§÷ê»Êåx9 êÑ¥òë^Ö‹‡<Ö»h#¾¹›Õ_Ž–lÀŽÚÌÊßo1‰ÈƒÝ”µ‡ÔŒÜ¢‡ôA¯š¦ÙŠ—g õ•×ï2[<ôl©îÌϘhIDAT8á̾A}w =x'CÇ…g4•Bõ@Õ»*úr2‹™8öb)šêëéØ5J|S²ò*ªfW%ñ¢´ ‘‹¨ª”|ãnWz´TD$%[¦o¨ÿ‰qÜy¢ÄmWé!P4M±©¢(ЦOl¥TlrBŠ2)âë%"r"M« {Pw"Uk¢˜Mâå!Ùù"Å}ƒšJ‡¦EI6ÄW†wSæ5€B¥xúË!P)¹¨BõÀ^4dÔqëôÒ”zŽ…v‘›xºIE¹ê„º KÑINA[ºïJÔb‹‡Œì«ì;#»ž 5‡û©8”\>©|¡©ÚÀUØU±©b×›*Æ—]Sô’âÍø¶ÞŽsDDZ„ˆ&W©Ù:T‘ì|É+,*1âÔ®Dí‹dÒšˆ˜™0X °Ôë»(óh׊n¬]“âs)¾Éš>ˆ·’è!P}ª&võŠMðô£¢(E‹_jrå.yõt<Ÿ)áþâa–Èåxj¹5Ãü?o‘s™—߈>ó|¦<ÿäYå§Ò¥™ÜßU‚|dÒÓ¨ùÚ•o¹žšÃÑÑåj•î $¨âUF Ž±Ð™~‹×º4WD¤[´K.·Z·h£~ÉŽµ Y—¤™²J»&Bi×Dº4—¿ß¢L[ãÄ7è˜ËVùB†Œ¨>õòèPc¼¨Ø5“þ­Ã˜ÆúZ¹úPQdúÇmJÛ°²ëD+/õ/ª¶æÐ屯ƄH£$·Pyá[-Ç*"òX/¹©Ó†Œ:Þj‡1ºE_úyåWu%¨>»*vU³«b³‹ª)ª¦ØU±Ù5›]ôBýÄ®jªV¯Ç„mÅ>Ow™6Lü¼KÖññ”‡‹§ˆÈú#²÷ôåGõD¨ ˆ-*?‘*ã—u ¾uPßï¨øxÅ—~Ïõû¬ÿìªB!€ú jFäÓ fW»¦á°¸\ìªRÏÇI?-- ‹žVî¿NÂý“"Mü”!eÑSJt°ˆHv¾¼±ìŠÓ—¸æ²ßeá_/ù×0ÅÝ\ßïH¿·vµøÞê=‡ªØ¯ˆâsÔUS쪦(Š&¢h¢‰"ª&Š""¢i¢ˆ"Šþïú?&gËðYòécÒ%55µö> \ˆÕjíøv¸Å¢‰í0at Š\qîtžnÒ®‰DJãFr1GN§Ëç%¿ÐÙͪ™â]=JæäÈWÎyxx\õ P}û^AQDSP&̵ʞ$Ù“äìvÔ#{kjå"b¯t!@õ©š¨Zñ.éÅD‘âÞB­A¤Á¿#|;¦Á¢(X|ó+?‡@ úŒw"ryÿ¾†²;ý_T‰û,%ouåC8@5)ŠâëQX º‹C¡Ò0ƈþ…)ÅPÑŠï¹Þ«?¬‰¯§MQ*ÕIH PMf³¹mpîž“YD.÷S)ôÖ‹ËÙÛ©+¢Ú¥mhŽÙl®Ì„ªÉd2õi‘»ã¼¿›ã~vE½W¥Æ4*kã(¥N÷"6»ôŽÎ5™®¾Ä¨ÔÄÝìü*¢ˆ©ÄçšHÑÖôW”p¬…£ UKD4Í.¶B¹»“]*‡@ úZ5ñøÏàc–µ0™E8Zbs<ÆŽÖý&kçŠ"ª]ì6ùhÈÉVM,•¼@õ™ÍæA]<ìjÂØe­Lª(&QŠ» “áå­ó8Öø(ÆÔAQUÑTÑTQíòŸÁ ƒ:{Ur¡ˆ(©©©µöYàzTU-((8r:wù>÷-‰~G/úe¸;»Q.ÄßÓÚ68»Wó컯µ¶‹´xzzšJŽß-@M©ªZXXhµZ­Vkaa¡Ýnרz¢^(Šb6›ÝÝÝ=<<<<<ÜÝÝ+Ÿ…!£jÎd2yzzº¹¹yzzjš¦§AÇLH>¬-Ž ê犢豰ò#E Bµ£z™NT…ÎDÀ_ \\\\\\\\\\\Ôÿ—R"Å$„vIEND®B`‚traitsui-7.2.1/docs/source/traitsui_user_manual/images/font_dialog_windows.jpg0000644000076500000240000006766014046644454030523 0ustar aayresstaff00000000000000ÿØÿàJFIF``ÿÛC    $.' ",#(7),01444'9=82<.342ÿÛC  2!!22222222222222222222222222222222222222222222222222ÿÀ_µ"ÿÄ ÿĵ}!1AQa"q2‘¡#B±ÁRÑð$3br‚ %&'()*456789:CDEFGHIJSTUVWXYZcdefghijstuvwxyzƒ„…†‡ˆ‰Š’“”•–—˜™š¢£¤¥¦§¨©ª²³´µ¶·¸¹ºÂÃÄÅÆÇÈÉÊÒÓÔÕÖרÙÚáâãäåæçèéêñòóôõö÷øùúÿÄ ÿĵw!1AQaq"2B‘¡±Á #3RðbrÑ $4á%ñ&'()*56789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz‚ƒ„…†‡ˆ‰Š’“”•–—˜™š¢£¤¥¦§¨©ª²³´µ¶·¸¹ºÂÃÄÅÆÇÈÉÊÒÓÔÕÖרÙÚâãäåæçèéêòóôõö÷øùúÿÚ ?ÊñŒ®¼S©Í<’;X ?Ñ­›„EÚJäø''ž¤Œ ¥ÄH?ãÒßñŒV&š¸8ì+ºñW‡F‰ª\XÙhú¤‘,±Å ìÓü’³*± ¢˜òË€ýAúWè ÒÃ(QK}¾Vÿ3æ*Âue)ßcßÄüz[ß¡L:”Cþ\í¿ïЫwžÖìg¶†âÍ•î&E‰QãH$)äpqR¯‚u…Ô,m®áŽÝ.®E°˜Ï*?ppßx ü¼Ðrjþ±‡JüËïìd¨T½¬Ìïí(¿çÎÛþýŠ?´¢ÿŸ;oûö* VÃû/X½Ó¼ä˜ÚÎЗFR^ ÁÇQœŽ‡‘Tñí[C–qRŽÌ™AÅÙîiÿiEÿ>vß÷ìQý¥üùÛß±Y˜ö£Õ\ˆ\¦Ÿö”_óçmÿ~ÅÚQÏ·ýû™j1íG"SOûJ/ùó¶ÿ¿bí(¿çÎÛþýŠÌǵö£‘)§ý¥üùÛß±Gö”_óçmÿ~ÅfcÚŒ{Qȃ”ÓþÒ‹þ|í¿ïØ£ûJ/ùó¶ÿ¿b³1íF=¨äAÊiÿiEÿ>vß÷ìQý¥üùÛß±Y˜ö£Ôr å4ÿ´¢ÿŸ;oûö(þÓ‹þ|í¿ïЬÌ{QŠ9ršÚqÏ·ýúiÅÿ>vß÷èVf(ň9M?í8¿çÎÛþý ?´âÿŸ;oûô+3bŽD¦Ÿöœ_óçmÿ~…ÚqÏ·ýú™Š1G"SOûN/ùó¶ÿ¿Bí8¿çÎÛþý ÌÅ£‘)§ý§üùÛß¡Göœ_óçmÿ~…fbŒQȃ”ÓþÓ‹þ|í¿ïУûN/ùó¶ÿ¿B³1F(äAÊiÿiÅÿ>vß÷èQý§üùÛß¡Y˜£r å4ΧüùÛß¡Iý¥üúZÿß¡Y¸¤Åˆ,iÿiEÿ>–¿÷èQý¥üúZÿß¡Y˜£r ±§ý¥üúZÿß¡Gö”_óékÿ~…fbŒQȂƟö”_óékÿ~…ÚQÏ¥¯ýú™Š1G" ÚQÏ¥¯ýúiEÿ>–¿÷èVf(ň,iÿiEÿ>–¿÷èQý¥üúZÿß¡Y˜£r ±§ý¥üúZÿß¡Gö”_óékÿ~…fbŒQÈ‚ÇK¤Zͬ´¢ÞÚÆ8¡Ç™,± œà| ’N‡Ò´›Bp׺(#þ®?øÕAá ¶‘¨¸8?k¶ùâº[}ac‚ [ *+ÝJY˜n!;ôêk̯V¬j5—§kësº• r‚osš}.ãíÚ.㩆eÉôËDú’3NÑ/µ#sþ‹cj¶ò˜\ÜDÖ¼ *±ÈÈÏdzÕßEmk«I ‘fÝ^hQ²±ÈGÌ£ô­¸î ¼ú¶7kš€ÿÑ5ÃÌ*aðžÞ´·õ]­ÜìÀåô±•F^{?#Ÿo ȼ5æ†?íÞãÿUKK°¤:Dó„‚(åGú)hÔgÐgžƒšïdÒ!ÖR+½.åm¡^/#™ù¶ÀÉl÷Sƒøús·Iì%ñ~–šjH-£½¶@ò¶ZF._³éüºÿYqÑ’¿-¯ÛMO `gËÍtŸ]½t(xOã"h–³ÙëæúõC¶‘K ;ƒ³¸$tÇSÉW_)Ž=h¯§ÄeØyUmÇþSò=¨ò=«²ÿ…aâOùúÒÿïäŸüE𬣉þSŒò(ò+³ÿ…_âOùûÒÿïäŸüEð«üIÿ?z_ýü“ÿˆ£û_ÿ?}Gü§äQäWgÿ ¿ÄŸó÷¥ÿßÉ?øŠ?áWø“þ~ô¿ûù'ÿGö¾ þ~ úŽ'ùN3ȣȮÏþ‰?çïKÿ¿’ñ¯ñ'üýé÷òOþ"í|üüAõOò˜úký—×ÌN3}kÿ¢î+_EÖá²–òQx–îÖ’"1FrÌ@®ÊO÷­Z|=ñ]“9†óG+"ít—tˆãÝZ2>¢¬ÿÂâßú•ð_ÿ¯>¾7 QÉ)ÆÏÍö_Ý}ŽÊT+B)8»¯ë¹ÁjW*c“knfêk´Õ'ÓÞä€\Ô?öY ñj°d“Ã1ºœ«Åe:ŸPƒî* oø¾ÑdXï´fIs¥Â™”·÷¶¼dg“ÏZâÍ*PÇa%V1z[wÕ>ÚlveŽx,Dj¸6•ûuMwó4$ñšÙ}šEµ­¹Êø-3‘óÇQÛ¯dI§^x×H—L¶{hå½¶/ …1wmÇðÿž: ßð†xÇþzø_ÿññŠcø#ÆEX%߇á, ï·´HÜ0pÉaÇ¡¯™þÈæ’æÄB×]ÿ ¢YÅ(EòQ•Úk}ï߹⺜af_ÆŠ¿âýëE×dÓ.ž'ž7´Dí;”0Æ@=¥÷õkÂR掩ÙýèùziÆ)Ksܾÿȧ7ý}í(뺮á?üŠ“××þÒŽº_ÞO§xOY¾µ“ʸ¶²žhŸíuŠœ u¯‹Í?ßjzž†ø15h®bÇV6~q¼×uingöö×–QÛJÎ‚Ž˜–8ù0x#xçOS0Zƒ X>ÑxËíµE’Xä.Û°J4.]ź p fçOEchÅÖ«æ{ŒEywÌ¥|¶X§1©ÆâÙ zQú¹Ù¤EP0¢Š(¢Š(¢Š(¢Š(¢Š(¢Š(¢Šâ´}iŒÚ¦¡©kz²Ãa=óÍX*Ú¬1M" J!Ë¡NBă×S°ŽÖŠç$ñ„6óGks¥jPßÉ*F–{#’FÞ’²6QÙ±‚EÉa´Œ¶Õù©úGˆÛV×îlâ¶uµŠÎ9K°PÑMçO‘?ÌrA„€Tù[æ ®K0: +˜Õ|ZÖÑ] :êim¯-í¾xÔ,¥çŠ7Uù†ÇÄ ¯™°6C.äɨµ_§“góßw2)"¾†Ú`y?{Ì8ö烊,YEs/Žô^=®˜yv‰c ,,d‹z©“ !(z’²|…$:zMXŠ( aEPEPEPEqVzÝÕ¶‘¨]jÚ¦¡Ü:t—7vmb±´‹—û+2*ȈI&Ps[çÒ¿ñ®“u{£§ÞÛGk›çÈÐÜqò$;7³|¦Mƒ Ä‘µ°ìÄttV6ƒâK?Û™ìcvã™–H¤XB…‘ÙX•pÀ¡`0A!†+fQ@Š( Š( Š( Š( Š( Š( ›>.ÉEÔ?Ý‹ÿE%Ÿä¢êîÅÿ¢’Šû¬7ð)ÿ†?’<É|OÕþg­|'ÿ‘NoúúÿÚQ×[¬YÛj-õä¦+k¨ d ªº•$À<ñšä¾ȧ7ý|ÿí(ë³¼ÿWý|Áÿ£V¾[2WÇT^gVÚ„} ÝPiº”pÄÕ-§·—΂â cßíd$ §*ûÙêË¡h e©Zÿiäj6fÒåÍÄ{›sLï ãÙ®$'£Œ(ªø“ÄðK¬\[ê[-íod‰#ò"?»WÚÇ$gå/õ;óØÖwü&3XPµÍÒ¼¦?%~Ã$»ioS·åóéΑË&ÕÔ—ßÿ‡‹IÚÏúù݈Ótù$ò5TXYfû9–2ä`ìAÆï½½¾÷ü´aÐ([ÿÚvóýmÿWük Àº§ˆu=CPMfæAöTAöym–6 ù!Ž#zwÝ]õrU¡ì§ÈÝý?á©Ôs29ïí;ùþ¶ÿ¿«þ4iØÏõ·ýý_ñ®†ŠÏ’%Ýœ÷ö‡üÿ[ßÕÿ?´ì?çúÛþþ¯ø×CE‘ ³žþÓ°ÿŸëoûú¿ãGö‡üÿ[ßÕÿèh£’!vsßÚvóýmÿWühþÓ°ÿŸëoûú¿ã] rD.Î{ûNÃþ­¿ïêÿÚvóýmÿWük¡¢ŽH…ÙÏiØÏõ·ýý_ñ£ûNÃþ­¿ïêÿt4QÉ»9ïí;ùþ¶ÿ¿«þ4iØÏõ·ýý_ñ®†Š9"f:2ºF ¬29V*[hk£Ýir]Á5¥Û\4Êó¨,'ww\®‘€Ç cœóZ:oü‚¬ÿë‚è"ªljV£BÒôÍ:Öêk­=E‹É\ ±¹$™‡aÐÔÆ P»Ð̓JÒ£ÔmõvKËè%WYçš%V9QP„U]£Ï”ôÝ–ä©ôÛ-I½šîÛRO2o3Í :ûæ’aŸM­,€c?Í»‹iË¢&¥ªÜÚé‰ö‰mÜ\*§ª»cpÝp Q’ [º×t‹F >ïU²·¾Ÿo“m5Â$’n;Wj““’êj¹P]œ´úN‹ssw4šÄŒóì1æéÉ'š¥xËm“æQ&õ^U@Ve5,ô}:cuu©ÝÙÅu=äwIµß™°I#“bbI"ó„RŹÉPÕÖê^"´²²³¹‚X.~Ù-ºÀ©0ýärÍFU#;•|å9‘içÄš%ã¶µ§*X8KÆ7H»*N~BXƒŽF(åAvsšm†Ÿ¥¤q[øŠ³Â©´ <; ‰YO–_˜¡w>ç8`I'kûNÃþ­¿ïêÿt4QÈ‚ìç¿´ì?çúÛþþ¯øÑý§aÿ?Öß÷õƺ(äˆ]œ÷ö‡üÿ[ßÕÿ?´ì?çúÛþþ¯ø×CE‘ ³žþÓ°ÿŸëoûú¿ãGö‡üÿ[ßÕÿèh£’!vsë¨Y;„KËvf8J¤“ùÕš—Xÿý·‡ÿF­EQ8¥°ÓlåeÑt{›kÈnõÙ®’{9¬b3\ÄZÞ@¨ÁrÄíOšBíòyl ÑôÀ×ÁüG<‘]Ïö¯-å·ýÔÂEt‘X&âP¢Yv¨RVÌÚÓ蚈ɦÏt“µ­»Ëˆ©˜ñƲwõœV郴Ó®|M5¶©r‹céö·¶ö3›‚²‰¦ò¶li Ÿ¿‹$º‘óáNí9Q)¶ŠÖ ie‚úü—LwâxŽö;ppªí €*òÄ‚Ç5ûNÃþ­¿ïêÿt4RäC»9ïí;ùþ¶ÿ¿«þ4iØÏõ·ýý_ñ®†Š9"fwÖ“H#Šê ôU ±ÒŸ«ÿ­Óÿëäÿè©+#Ä—ÚxcU¹ÊK¤²#á`„ƒùÔ¸{É.£æ²mš[×ûÃó£zÿx~u‘eàÿ\ZG$šM›9,öñ»d³)$ñÔ’jÏü!ÿ 5‡þCÿÄÖŽŒ³—áÿ…9¾ŸüöõþðüèÞ¿ÞQÿ„#Ã?ô°ÿÀHøšÇþÎð/ö‡Ø¿³-÷y¾Gý“û3;vyþW—»wÉÙßòýî(öTÿ›ðÿ‚ÓíøÿÀ:o1?¾¿b}:Á‡CðTòC:uƒI4³Bˆ,S%¡b’’6pªË´±ùrTg,¹Ðÿ„#Ã?ô°ÿÀHøš=•?æü?à‡4û~?ð Þb}:§f_ΨÿÂáŸúXà$?üMU¾ðw‡mìå‘4‹%`0-£F8ÈePAç¨9¡QƒvRü?àƒœÖ¶üà_J+7ÃÓËuá&æf/,¶pÈì{±@IüÍiVVm'usæ¿‹¿òQu÷bÿÑIEä¢êîÅÿ¢’Šûœ7ð)ÿ†?’<Ù|OÕþg­|(ÿ‘NoúùÿÚQ×gyþ®/úùƒÿF­qŸ ?äS›þ¾ö”u×ê>oÙWÈÙçyÑlß»¼ÅÆqÛ5òùûüÿÄuaÿC‡Õ…èñ-§†ï&³4iò™|¹Ì…0Û/&ÒGB¹ª"Þø†Y|=ª°o²}ë&`¦("ÛO ‡`ÁO 3]0ø€¤€5M$“Ûì÷?üMF>"BpF¯¤~éò.0ßC·œwÇNõÙíjÅ(¸yu0T”¯$ô_Á²Ì—²Û˧ßBª(š{µF+,¬@U;AÄ£§\1®Þ¼÷þ ÿÐWIÿÀ{Ÿþ&øX+ÿA]'ÿîøšå©‡­9sr5÷ÿ‘¤*ÓŠµÏB¢¼÷þ ÿÐWIÿÀ{Ÿþ&øX+ÿA]'ÿîøšÏê•ÿ•ýÌ¿oO¹èTWžÿÂÁ_ú é?øsÿÄÑÿ è+¤ÿà=ÏÿGÕ+ÿ+û˜{z}ÏB¢¼÷þ ÿÐWIÿÀ{Ÿþ&øX+ÿA]'ÿîøš>©_ù_ÜÃÛÓîzç¿ð°Wþ‚ºOþÜÿñ4ÂÁ_ú é?øsÿÄÑõJÿÊþæÞŸsШ¯=ÿ…‚¿ôÒðçÿ‰£þ ÿÐWIÿÀ{Ÿþ&ªWþW÷0öôûž…Eyïü,ÿ ®“ÿ€÷?üMXÓüe>©}••þ“-ę؞MÂç“ÉP:I᪥wÌj´²guEsís¯!ÃM¡ƒîò D¹ñ™ .ŠØÆv´‡¬ù|Á¦ÿÈ*Ïþ¸'þ‚*‡ü#zäÞ»Ô¬lol­tÙc0ÝD%ý䆬Üבêjþ›ÿ «?úàŸú®txÅ´¨a³šÿLㆩ_ù_ÜÃÛÓîzç¿ð°Wþ‚ºOþÜÿñ4ÂÁ_ú é?øsÿÄÑõJÿÊþæÞŸsШ¯=ÿ…‚¿ôÒðçÿ‰£þ ÿÐWIÿÀ{Ÿþ&ªWþW÷0öôûž…Eyïü,ÿ ®“ÿ€÷?üMð°Wþ‚ºOþÜÿñ4}R¿ò¿¹‡·§Üô*+Ïá`¯ýtŸü¹ÿâhÿ…‚¿ôÒðçÿ‰£ê•ÿ•ýÌ=½>ça¬È?þÛÃÿ£V¢®bÛÅ/­¸¶ŠóO™Uâ’E†)•‰Pdu"ºzæ¯ AÚJÌÒœ”µE)ôéõO ép@Ñ«$–7¹ mŠhåaÀ<•B¾:uª·žÔæÕ/#ˆÚÿgßjVºŒ³´¬%‰ ò?v±í!Ã}~bë0ü§oÍ”å&v“,‹žsÓÊ8üÍIåøëþ{èß÷þOþ3]§ Iµ5¯¯ùÆm$¬ÎËupx›û;ûìw¿oþÞûgüzKäù?ÚiÝçmòÿÕsÙÏËÜU¯/Ç_óßFÿ¿òñš<¿Ï}þÿÉÿÆj}Œž?ùŸÉð½¥Þ‡=ýÔÖÓÉ¥ª]oc3[æê_+©ƒnû­#?*ìÉÚn®7ËñÏü÷ÑïüŸüf/Ç?óßEÿ¿òñš=Œž?ù?“;-ÕCZ“f“;zmÿÐ…sž_Ž羋ÿäÿã5ö^4ºˆÁ<ú7–ýHšC|yC?˜ª…8ÆI¹­=ÈNm«YšÞÿ‘CDÿ°}¿þ‹ZÖªÚu’iºe¥„ndKXb0X*…ÏéVkŠnòmEZ)5ü]ÿ’‹¨»þŠJ(ø»ÿ%Pÿv/ý”WÜa¿Oü1ü‘çKâ~¯ó=káGüŠs×ÏþÒŽ»;Ïõq×Ìú5kŒøQÿ"œßõóÿ´£®Îóý\_õóþZù|Çýú~§Vøô>x¿m‘VBæX˜Îÿ*sÆÆúÙXÕËmP‚0=¹ Œx5éž(ð_„ü-áûcR¼Ô|‹p6ª¼{ÝÏ «ò}âO^ÝxÆk>/[Ù]éjâêÜj¼y"é]íäÚ×r˜s’Œtã$’Öd²Óíšöø ’H“þYÆ99>¤p¸öCAÕ Ôâ[»i7#Á‚§ÌL‚;jQmå¹*¾—³dœ „÷?™©l,¶Ë„FP][CÆήNYGR;s“\”yŽ¥~bÆ›ÿ «?úàŸú¯9šo²ëzÄßk¸µÛ¥ZþúØe×þ=ÇrõéÔpMz6›ÿ «?úàŸú®jçºEÔº\×w:’O«¬VÛmäP™H Ÿ0#;q¿ÍÃXSœœöÿ‚:Д¢¹­NK;]Nâ«ÛÉÝ, íq1)$ÿ¿hÁr…H,ûÿ*/Lü­‡BÒ…ýœ.÷sÁ}v¶ð´oå˜ÁX›qß\~ô`ár?ÅÇm¥xEº´±ÔôícVò¤„Ik2LˆÜ~@Täã¼jdž´=5…ìö/¬+µÄª÷’Ýd–9¤‰¾Ul62ß:CŽ¿2BXè/…¿ëú¿ácaäÞ¨á´8üGª&1Û-À~ÂI^”œtù߯ËߢÓ|9gx–ÐÍ3EvL/4j削YAËÚ§lªÙÞÞ…y;}>YGQŬk*‘«U¸Pæ ÀÛÇÌ ý@=©ñøÒ e¶‹ZÖã2Ä·@"ÛnÝÏך:Ú@°òìx¼†3+˜•’2Çj³n vàdûàS+ØáTèó÷¨ÿßÄÿâ(ÿ…S¡ÿÏÞ£ÿÿˆ®ŸíÙÕ*ž=E{ü*þ~õûøŸüEðªt?ùûÔïâñÿ´¨wªU©Tñê+ØáTèó÷¨ÿßÄÿâ(ÿ…S¡ÿÏÞ£ÿÿˆ£ûJ‡pú¥S‰ðü…îëŒúQ zÕ`[ø+Nðàk»IÚ(ˆ™ÔŒ£=”sòŠß¯0­Õ9¡±ß†ƒ„m#Êîn?^Dª›dÒŽâȬÃD¬FWßg½V³w[K EfÓiwsK?$’/ŸµÙzò6¯ ®›UдHÆ™¨ßO¬­Î¢-­‡Øã&5.#‡æm…QNñÌ27“ÅHžÐÓW Gâg…îR݂à íûÄû»±Žpp¢±TTR{Ùtìš9½…K¶-¢½‡þN‡ÿ?zýüOþ"øU:üýê?÷ñ?øŠêþÒ¡ÜÇê•LÏN¶þ¹•ÝQù‹3<¡’M5|^²Þ‡’ÝâÒ¥cŽ0Ç\ú)ì}Ž{íé-|9káí-¬¬¤¸d3yå¤ÎvíÇȹè=*3f†…b"8ñµ¤ÛWÆÎ1¥yî¤'75ÕjŒTIÕŽëìOþ;?øTšÍëiš%ýò(f¶·y‚žûTœ~”Á ìX–Í ó)Rp“‡69ªÈ­ÿ׌ßú¯:­¥U]MãuYOÞ”S7‰u1!0…-Âì"qõ&ŸÿÝÇý úÇýókÿÆk_u©sy/¸|¦Gü#wô3ë÷ͯÿ£þ»úõûæ×ÿŒ×=á¨|?¤x?Eñ%ôV¶—Òi©sq|«¶{†6æIK•ù¦$rì•ÝŒ¨"¼,ñGö¬-Å…¬„×(–戤†é·ŽirU­³÷Æì•Âpôsy/¹/õs¨ÿ„jãþ†}gò¶ÿã4Â5qÿC>³ù[ñšÃµñF­~÷iº]¯ö\O%ä—Hâ9öÏq ÃnýÂÿ£3d‰0$Ÿ6/‰#ŠM68ô‰mõ+(¥cÐÇ8Ü­ç“ |‚À$î!2Ç7’ûrÿW;oøF®?ègÖ+oþ3L“בÆÍ‰µ2àeD©nS>àD>„VÞêlû¶úQÍä¾ä>_êæN‘xÚŽ‹a|Ê®m㘨þÊ­]¬Ÿ È¡¢Ø>ßÿE­kV3V“H¨»Å3æ¿‹¿òQu÷bÿÑIEä¢êîÅÿ¢’ŠûŒ7ð)ÿ†?’<é|OÕþg­|(ÿ‘NoúùÿÚQ×gyþ®/úùƒÿF­qŸ ?äS›þ¾ö”uÙÞ«‹þ¾`ÿÑ«_/˜ÿ¿OÔêÃÿ>†Ä÷\‡ÃòZÛ›˜,5‹{«¸üÍ ’…þ"âÆ[.ÚÏKÕm¬ndh^àBÑ,Q³ ¨iaQ»…¨ vÞ"½¸µ°ŽÖÆMšŽ¡(´´} ùnÀ–“ƒåƯ&ÓÛ6ç,+&ëÆÐG¡¤ÓZßAq&Ÿ{srm R&µÂ̹€ì²6Å!YXŒýÞjMN_ÄÞ×õ-WRžÛLœ]ÝÅ{³Â-#·š¶™!Bü\3n0nJ•PŽŸÅzeÅψ4›ÕÓu[ëX-n¢q¦_ YQÝà+–ó¢%HøÉä:Uoxò×KMoI‚_³êöú}ĶÒy°>eXaû í"àrèíêr»®x^¾Ñ¼Q¢ª´Ùmos.¤ üÈŠð"Êð„iw1'hÌ'$ Å»ðƶ,þÍ5Œp6•¦ÙÞ-¬VäÈЛ‚âæ!‡xOΡvÚ7}/ÃZ”ÐWÃÓêx‰á°IçN"âvW.Œ9íÆëpÅ|¬€x¼i}OV>vuKË5>|aRâeA™^58HÀà–8Î&¦µñÅ…ýÔÙYß\Ãqw¬±ªHd·ûNàÃX°[* Ç8ƒÃz&£¤ês\][ùëswy±™×}’=IJ®Ñœä ÇÎhmÊ‹²®V/Xº[<–wÐÃ{å5ŒŽ±‘w’Å‘@rUAž"C…l? H [ÒüU§j÷°ÚÚ¦[‡VÊ•Û Æ»¸'‡Y£‘ñ#ã# ôQEQEÌ©f ( ’N©j)¿ÕÃùÐ?Ÿ©ŽD8è"~”Cs|%Û2±RÈrmþ5Î8² ²šVœNM…©ú¿áSÅcimóÁkLHŽ0§•«©¬—àG,¯¹—¦ÿÈ*Ïþ¸'þ‚*equ„f‚-ÑÚN%œîbIzüΣ_LÔÚoü‚¬ÿë‚è"²5ÍBãOм0__YÇu:C<–6¢âm‚ÚWSË“?2.p§€z šÁuõÿ2—Oë±Íj~Ö¢ð†•¦Zé}§MÓL6o§¥˜hïCÊÒMó";,n­Y9rÛ[hšªjwWšGÛ´ö»if±ß}²3s¨º®×`‡âÞ\9Ž>eÅtzg‰§]*É^ÖïSÔ'{¯*+aJðC1Ì;"#á¢ÞŸ+r6.Ö ™ãAyy~¶]j¢[…’Âdìße¶¹2² o¸»÷ƒŒŠÑh–ÿeÑà„Xý…WqK_7ÌòT±*™è0T•_º¤¨´ë—³ê^Ñ/®äó.nl šWÀ£RÇ’OJÚ Š( Š( Š( Š(  ÝcþAÿöÞýµK¬È?þÛÃÿ£V¢¬êl‚&}Ý•Åÿ„´¨m¢ß"ϧLF@ÂGeˆÏ×ù\VsÕ\“It.>òfBø¢0“LÕã~ëý›pØ?UBàiá)ƒþú¿þ ®øÝkQKž=¿ø´»ÿ_yÍZÞèvZ„Ú…§†î­ïgÝæÜE¡Î’I¸îmÌ"ÉÉœõ5ŒÞÒß~Ÿáyí0}Öú ÑÁYAâ!ÎÆ}‡s]MsÇ·ãÿ-.ÿ×ÞsrÞhSËo$Þº’KiZhô9ÉŠFmìêL_+ù‰“ÏZG¼Ð¤»º»“ÃwMsw†âfÐç/4dQÛÊË.Åw=¿—‘ãv"PAù°N~€eüaŠ[Ý#AÒ·H¶޵mo|Ê<¢Ýö°~ V®£ö׌4„²ÁµÒ·Mq,gY€Ø€ŽüdCÏ¡ç‰U[I[º6uÍHÔDWšâA5•œR3Ãx­×;I•ÕÆ7(Bq€ïëY—ž Р²ÔKNö{Ù]Û´q¼qAk É” Û„Éßé¹ä'9áþ0¸šC§éYÍ}ö¹L×v–åI-bÁp Œ¨TÈУ«™$pR9[k–Z<–«{uiw¤i£ÍÂ)ei XM³Lä8gò§I£`»sÀ+RhtzÇ‚´Û‹[“{¬_[iKö©Þܼ+ -4R¬ÒohËŽ&•¾g* é€ÓÕîô-'Y±Ôõ}^×Omç‚us+"»DÎ@lA:7õçÞ5ñEë>¹§­ôf¸´¿µ}:{˜þÑŽÖfóD" ê¬ÑVi\£pÛØë‘êSxçE]6îÒÚq¦ß{›fJù¶¼YƒœsžÇŽx]/Áú]¦‹¦ÅáýFîÎ e˜ÙÝZɧÈĬ€Èެ„„!°[>n[3é> Óôx¬RÞ{¶WÜGæ2œ²Z @qåŒöù¹éÅs¶Ú£XéöV×:ßö”·Z£\ê9…]%ÙÌ¬Š®Zgrà ŽÖ,[xÇT]=#Ôæû³s¨iž]—‘µã‚aj&ù$Gæ<齺7Ë»p€7—ÀöÑ­^öúHcµ6v!š0l"%òX ;”ÇWrì jAÎs¡§èÚE¦­sy§$Ì‘GfðÂ%¾Õ@ùY“ÉÕc‡Œ(®"×Ä^!¶Ðt;›­[Ï}_KŠòâo³F‹f¾mª<¨ÀÛÄŽÅ÷.ä …L¥f.»yiw©.—â‹I4ûJG“Z¹½·dtµ³ ”A$Y!¤ùDa”Nï•·zìóÅoy¥Ž$.¨Ø(,ÌG=ËîH,ñ5ËÛ‰PÏ+¼a†åV$)#¨«{í>•æZ–µw|ÖpkÌvWë©i>N•$Kv¦KiP“'ž@‘¥Ç•‚2¯=dkßoõ ÷· ¥ÙÛi7´MæËt©#*òvH#,ßÛ8 ®÷Äzo}­éÖ©#ȈÓ]GvFÚàdòU¸#±àÕ‰u]:ÛK]R}BÒ-<¢¸»y•b*ØÚÛÉÆFyÈ®Â×ì?mm óÜP.¡ÇR·ÝïçQGR·ÝïçR›ÿ «?úàŸúª:¤zoü#šÞ£¯ÿaý•£–ÞïΆ?Þ]6þùYNQߌgŒö«Úoü‚¬ÿë‚è"°¼Iyö #Á—?ÚV:vËÕÿJ¾]ÐÇ›+ó é×80䎽·~¢]?®Æ¼³–ÆÆãKÕ®àtY^=BÕ¡‘¦YÜK+ÈÑ‘#…|ªŒ`Ú¹½¯ƒ´»Y¦þÄÔ®ì.-ØC¾ÚHähÈ<’$G‚ùn„1ÓTk=/LŽã[.w.£s&¨ H“KöœÇ±¦VA«$²¢òÛUpì‹gé:õã\ÜI¬jŸðÇ{*Ï{s¶8|»‘caˆ3:²®wÌv‘¿÷\+f†zŒšv— éw±Ëj-â·²‘¥RgU+´Œ%·=+^¼ÿEÿ‘gáwý°ÿÓmÅsSx–ûÃ^У¶Õ#·¹Óô…šDÔ.an%@A¶U0³Hñ4e5hÝw ,Y·(­[ßYÜÍ,V÷pÍ$_ë9ù™9§ÌŽ¿TaÔ·^M§ë×¶w—–-©ÿféfþf¸¼Ûû {ÍL—ß"•]Ï üà›`kÑ´KµiL/¾Ü§pK¯+Ëó”1 øèr;”o¼ )€4袊(¢Š(¢ŠÍÖ?äÿmáÿÑ«QTºÇüƒÿí¼?ú5j*ΦÈ"VkkK¿ i‘^Î`…ZÊE}Ás"Iƹ?ÞuUÇSœH¦Ë¢eÚA»o3°H£Ýƒ·s²®ãÀÎOÕy¼I¥*Úö-FÉ~Ûj×VBîãÈ Ì-ó ÁBXí;G$S5ÝëX¾Ó+ù,¡³y.öá ÂbžZ€ ’mÙÎÌw®nëÀú›ZêQÞÁ4RXjv¶ó\6%w»0ɺ]ˆ~õfû aJ`š“S£Öñ‡´8]¼«ƒFo&­¦ÃªE¦K¨Z%üɾ+F™D²/?2¦rGÊÜØúV[x¿Ho¾•ý”¾E­ÍÍä«t‡ìžKÄ¥dÃþ±ŽIØ Ä𮣠cöpÓç¼³¾–hwDaku€yQÁ†ìË‚dCžoÍ—7‚5««3N™¬R×GÓÖÒÞho%Y.ŒsZÈ¥°€Á¸Zà•g(_#vÞ@:ûïÙÛøNÿÄè[ZÚÍrÁ’_-X•2:©çž-ÓþÝá«kfóÿ·÷Éjß2þå`2™0WýÁ´àüùìEgGák¦ðOˆ4°A{ªÇ8Ã^ÏtÞ—š\»ð«ÈUÀÀãsJž [_ÛêvÒG…ÔÚíÕ·‘nEë¸ù÷2É“Ž$#¢¨  ú³}­[Ã}&˜é÷¶ësi2\ùŒQ€*%B«±Ê°8RëÃà »~¹MA¼²ñºŒöz]Žè¤ŽvÓAÚ3£ ¥R£k.ÖÀ-!süÜÝ]ßêáüêZŠoõGðþt˜ÇR·ÝïçQGR·ÝïçH -7þAVõÁ?ôZz?ü,?ëÚ?ýVf›ÿ «?úàŸú­=þ@–õíþ‚([¿Q.…ê(¢¨aEPEPEPEPEPn±ÿ ÿûoþZŠ¥Ö?äÿmáÿÑ«QVu6A6miôMDdÓgºIÚÖÝåŽDTƒÌxã Ù;úΫtÁÚjÔzÕõƵuki¦G-Â[]JnvL®È’e#+µ,¨I.­ÃáI4SéÓêžÒà£VI,n r@ÛÑÊÀy*„|tëY·~™üUq©Ám§+ÜÞÁvu2JÝÛ¬k´|ÈëR|ÅâgN>m^â[µQHei¿Ö§øÓÓ¥2oõ£éþ4ôéRv«ÿ_õßÿiËE¯ü|Y×ý§-è5Ô(¢Š‚‚Š( Š( Š( Š( šþ.ÿÉEÔ?Ý‹ÿE%|]ÿ’‹¨»þŠJ+î°ßÀ§þþHó%ñ?WùžµðŸþE9¿ëëÿiG]çú¸¿ëæýµÆ|(ÿ‘NoúùÿÚQ×gyþ®/úùƒÿF­|¾cþý?S«üú÷Ęl ðö©td‰u+‹x €HÊ•% BÉå²{p¾•‘áöÖ%ñ±o¥ëâîKÛ§0ÁnèJ NÙ òœ)<ü¤rÇ5èºÎ¯e é:¦£8‚ÒÙ7É!íι$€rEq: ûˆíõ‡Ö""0[³d)Ê%#2‡ zýêˆM(4mK’›”¥mvÓ[ß¿ß÷›6’lèÅ£ –ç{nRÛ>+þÅû-‡öÏÛ¿ãïýì?hó¼ï*O»öŸý_™žØÎi¶Ú.…«ifÕgXaÞ"–Þâky”–ý⻫,›‹Œº¹ÉuË ÃŒÀÑ<]yss¨j‹mæèwWöIËrDöÿh·µ«Ò»wÊ¥± ûÎ@$|݇DŽrÊZqo– T)¸ôÙÛ<\›Âú<úM¾˜öè–Öe,®¤@Ñùm`w*A'•VûÊ©¬i^]J íRÕÄÏq‘¸óL^zËDä/È%ÜÑ cóÊä `9O ø“XŠ=:óP_´¬šV™#¶¹Ä××L&ݘ9[oHöìO•‰®ûGÔέg%Ç“ålº¹¶Û»v|™Þ-ÙÀë³8íœsְχ´Ý[ÂÑG¡K¶Ÿ¨é°Y4­’3Ø}ˆ›˜l}²±Á±Ÿ™[¶¥Ö±¥h>Fž"œyq.Ëk gò£û«•…b¤.pÖÇÝ8Û¢³íµk+냥ÂM ·Šç1üÊb”¸Ã>[ô=½ÆkÜxƒM·Ò¥ÔÞy ¤wÙŒpI#DÞNÀŠ¥˜ùŸ/ç·ÐÅŸ§êpjví<ÝÆŠû¹´–ݳ€xYIõÆ:úР¢›ýQü?KLº?ÞΓêVû£ýáüë˜mb)nÞÕ/ ¹Ž1#IJœ€{ã?ç#ÔRé²_’Þïψ:¡!ËÞbƒüÿA­Ý£{‘ív,é¿ò ³ÿ® ÿ ŠÓÑÿä aÿ^Ñÿè"³4ßùYÿ×ÿÐEièÿò°ÿ¯hÿô\ëwêRè^¢Š*†QEQEQEQEQEfëòÿ¶ðÿèÕ¨ª]cþAÿöÞýµgSd0õw†4›mFîØGu§¤‘BP,ê÷¡W%Kcð¬¹É#Š£©^Þ'Š.æY¯±oªÙÛGt—mmãqè$‡pß#ù¯‡òÜ:?v/f{Í*i6ú¢O.ô‚x ¶‚Y¥-G² [j¸LœmÉP~ð.<)uâ. ²K4Ï ù´Ídò¦#!_ÜHòŠùÿÔíþ Õî(ìuÔQE!•¦ÿZ>ŸãON•OR¹±A nbÛ@bI=ºW;7ˆ-Æ+ßí ¶ÒC+I8Ç_ÏÓ8Á­)ÑsÕ)¤nê¿ññeÿ]ÿöœ´U™¥6!Ø’$$äýÙ‡ô«Õ…Xò¾Ràï¨QE‘aEPEPEPEPÍä¢êîÅÿ¢’Š>.ÿÉEÔ?Ý‹ÿE%÷XoàSÿ $y’øŸ«üÏZøQÿ"œßõóÿ´£®Îóý\_õóþZã>ȧ7ý|ÿí(ë¶ž:=›ÙepËŒ‚¤ÔÔWËfNØêÌêÃ>‡+ñ_L¸Õ4ý“i«¬Û¾¢d2CÝç·sÒ´ç¶ÿ„“Äúeô#v™¦îJÊq4­ŒÏP¥AÏ®G^šø¼ÿ ÏýñÿF/?è'sÿ|EÿÄW2š]M'effxÚ9³ MšŒÁ©’ãO´7ĦÚuݳ˓‚̪IS÷»u¬K¨uü-§Ú˜ï­!–îîáï"‚îI‰i£2ClñÈ­*ÈÒ6pˆÀ©E%Bõؼÿ ÏýñÿF/?è'sÿ|EÿÄRæ]ʳ8áâ K×"î nmBëÃn&‡ÉdO1­N娖wJÄmgW\a¢o“_\Mxi_dijMFîg™$£“a… e‘WzĦ8Ø:à—.¬d“§ÅçýîøŠ1yÿA;Ÿûâ/þ"ŽeÜ,ÎSKÒüAt.÷_êBæ-6ݬ%¹ó­áyÌò*¼{Üà¢[«î&_,áˆfaPj6úíõÆ‘y$Z“E}p—²Z•}–ª/l<¤dþXQÙÎÎAÆk²ÅçýîøŠ1yÿA;Ÿûâ/þ"ŽeÜ,Ï=ðå—‰-äÐ#¸¹Ô­ 0X$«apËä,0ùÊì%[t;¼ðD¨eùr|±]ÕØÑ|c}}wm|Ö×Z}¬0½­”·9x䜸"%b¸¦7c98Î/âóþ‚w?÷Ä_üE¼ÿ ÏýñÿG2îg g¥jºRép^[êQYäivº™±ó ˜Ž;ÀÈÎJÌ`Ï–IÁçä&´ Ó.gøs¬Z” Úà’&’'7 Õ7‰H•Kd'Ï—Ž[<×U‹Ïú Üÿßñbóþ‚w?÷Ä_üE˸Y˜ž*ƒQƒK°±ûn£,[ÝåÔ–ä›xû‘´vF&Á ß7ÝXe5Ÿáéµ[‰lf××_¼‹hð#‘!˜"3y«Ÿ7í„€HÜçË®¯Ÿô¹ÿ¾"ÿâ(ÅçýîøŠ9—p³9Ÿ裂_V½¾–fµÿN†[9ã.r¿vIedl4³¨ŒŽN–+½”…L± '·5‘‹Ïú Üÿßñ…nÈÁÔ®Hÿr/þ"ŽeÜ,ÎoWðÈÕÒ#$7ÜF6yÑ!ÜPðÈ}Aþ~ä=.ÀØ,VðÛ4¡QJ‘ÿ-ž½N'ñ51Òbc–pO©¶ƒÿÔiÿfmÐ\4LxÊAŸÑ+¢X˜µcMÞã´ßùYÿ×ÿÐEièÿò°ÿ¯hÿôT …míã… +õÀ¨¡‚âÞá‹Q¹XãPŠ6ÄpÀþ åRZ›YètV&/?è'sÿ|EÿÄQ‹Ïú Üÿßñ\˸Y›tV&/?è'sÿ|EÿÄQ‹Ïú Üÿßñs.áfmÑX˜¼ÿ ÏýñÿF/?è'sÿ|EÿÄQÌ»…™·Ebbóþ‚w?÷Ä_üE¼ÿ ÏýñÿG2îf݉‹Ïú Üÿßñbóþ‚w?÷Ä_üE˸Y›tV&/?è'sÿ|EÿÄQ‹Ïú Üÿßñs.áfYÖ?äÿmáÿÑ«QUy š`«5ýÄŠ_aXÀ%H#¢ƒÔ ±Q6žÃŠf=î±>›¢höEzŸk¶ï-leºû:ª®p±£~ñ·|»†Ñ†c»nÇćOû4sèÚ~Ÿ|Üêºe債¬Á¬+h|Œ1(‚A²BåËžª.-àŽµ•Ž5£lG à©qyÿA;Ÿûâ/þ"­Ê-îJNÆÝ‰‹Ïú Üÿßñbóþ‚w?÷Ä_üE˸ìɵew5.ÁƒmQ“Œ0Î?\t^‚ßU7±Ú\lS¾+,ùqH~óïÇl}1ÓMm5ÂíšöYÑâ…‡ê•_ûï/þÁÿÆëzXˆÁY™ÎLEGŽ[1"•!Ô}vÎqõÁñ­*«‘C74q1ddh àáQýãV«š´Ôåtie`¢Š+"Š( Š( Š( Š( šþ.ÿÉEÔ?Ý‹ÿE%|]ÿ’‹¨»þŠJ+î°ßÀ§þþHó%ñ?Wùžµð£þE9¿ëçÿiG]Õp¿ ?äS›þ¾ö”uÝWÊæ¿ï•=N¼/ðbQYšò\éçQ–ÂòÖÄ[}§íyeJcwDvlãž½kŠ4å%tlä–æ½VÎùnäš5†Tx6,¡öüŽÊgä€ÊI|Ãó‹U2‹‹³iìTV÷0ÝDd÷¢»ÆNù‘аçЩ- 4ìÁ;…QHaEPEPEPEPEPEPEg¶ª¿o{T´¹‘#uŠYãU)°)Üxe9 @ÝÉ8Ъ”\mq&žÁE^æò;ií!pÅ®¥1&ÑÀ!ùöÂÇ’o`nÅŠ(¢ÂŠ( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( šþ.ÿÉEÔ?Ý‹ÿE%|]ÿ’‹¨»þŠJ+î°ßÀ§þþHó%ñ?Wùžµð£þE9¿ëçÿiG]¼„ª|§3铊â>ȧ7ý|ÿí(ë·—î÷—ùŠù\×ýò§©×…þ EXÂt,N;±5ÇØi—±ø>ïJf¡ Üša„µÅÚÉH#ÛµšÛ$öQÎ0+²¢¹iV•4ÒîŸ^Ÿ3YAIêrþvûo‘g¶¾ÌVëé KeE@² „,œ…~ÒG8É‹<%ŸL–ù<€–ÂY¢ fþd’Ão—ÃÆ3;|¼ íRzú+o®ÔåQ¯§r=Œos“›C ò×MYdþО}Ë"ª±‘÷+žA)ÛæÞ# ÚIªhÕŽIoÁˆ§QXÕ­*–æóüK„vå/«ÿßgühò—Õÿï³þ4ú+ÆyKêÿ÷Ùÿ<¥õûìÿ>Šg”¾¯ÿ}Ÿñ£Ê_Wÿ¾ÏøÓè yKêÿ÷Ùÿ<¥õûìÿ>Šg”¾¯ÿ}Ÿñ£Ê_Wÿ¾ÏøÓè yKêÿ÷ÙÿCÇÊΧ±ÜMIE5´jÇ©Ó"]Ȳ31fù¸$íŠt?ê#ÿt*!ÿQû£ùP#òÒäêë%¥œñHÒÆÍuÎ!dwù‘îr”ü0ǡ­hš­Ýõì°YËçΗ¼‘‹t†HÌ2,k»‰XçÊÈo—p$pŽæŠë¥‹6šKkkó3•-ÙÃkº#Ùiº´ö¶qA yáLAWm±³l¨ø|ó»o÷¾lw©n4+éܶ—§ÿdÄr#‡tqùRy(fÄd“,C#æùz` í(ªúýNT¬»èF÷9ÿ i'NX·º¶†M›b˜ÀŸ0ÎX$(Î@Ý’Ç Ýò—Õÿï³þ4ú+š­GRno©¬"¢¬†yKêÿ÷Ùÿ<¥õûìÿ>ŠÌ¡žRú¿ýöÆ)}_þû?ãO¢€å/«ÿßgühò—Õÿï³þ4ú(žRú¿ýöÆ)}_þû?ãO¢€å/«ÿßgühò—Õÿï³þ4ú(žRú¿ýöÆ)}_þû?ãO¢€å/«ÿßgühò—Õÿï³þ4ú(-¦9k1Áç±5-1þü_ïCO AEP0¢Š(¢Š(¢Š(¢Š(æ¿‹¿òQu÷bÿÑIEä¢êîÅÿ¢’Šû¬7ð)ÿ†?’<É|OÕþg­|(ÿ‘NoúùÿÚQ×o/Üï/óÄ|(ÿ‘NoúùÿÚQ×o/Üï/óò¹¯ûåOS¯ ü”Ë%ÂG“·kmPÌ:ò lͯi°[É1™Ý#œÛ /+I(eT!lí8ÚØÃÕ<.­e{úš$×s¼òkø»ÿ%Pÿv/ý”QñwþJ.¡þì_ú)(¯ºÃŸøcù#Ì—Äý_æz×Âùæÿ¯Ÿý¥vòýÁþòÿ1\GÂùæÿ¯Ÿý¥vòýÁþòÿ1_+šÿ¾Tõ:ð¿ÁˆÛ›˜¬í&º¸}Â$‚v¨'ž‚³Çˆl{E¨ÿà¶çÿˆ¥ñ/üŠºÇýyMÿ ×··Æ8®8F.7f­»Ù,õK[ùeŠ=d‰U&·’d‡Qv·OJ¹Tvìñuðÿ§ _ýq\žÿ"çÃ_ûcÿ¦ùéN)=ÚÔ ×ÅúÐÓ4yï!ÓüífέÄ*ûmÙå¶‹/–Ì€›ûFÌm+¹³¼U‹Uñ®jºeœPßj7ÒO,ÐZ#¶³Ip˜Ïš¼ù‡îýÞ~UÊÆz=åÚïˆïoôÏí+›m9¡´Ú+Cûôbt‰§ew ¶T&]¿(Ô狯êÚmŒú­Õµœ¶ku¨[Eoõ‘¾Î.]œä ‹r…BžNíßÀP;š+žðÖ§¬ÝÏyi­Y¤B±È„ãfW.9&”€ pņìÊIèj@(¢ŠQEQEQE2õÿº?•ÿ¨ýÑü¨‡ýDîåD?ê#ÿt*ËÔÿä=¢×YôSV½djòÑ?묿ú)«^€ (¢€ (¢€<Þò÷Q»Õ'ñ-Ÿ‡u;¸í®¡6rÁä絉eGp†MîÌ'¹)´a‡’}sUñDÐkVÓØ_Í=œ—Ö–J"âÔùÞY –o6GòäóGò`¦AÚùí`‚+kxííâH¡BGjQ@ÀµT.”$ŠQ¦Ù !‰!‰…ºf8у")Ç ¬¡€*®„póŪÿ âIMå—öP—U2Û G4by÷ªÍæmV<áŒd Œ†Ç7š{ë o]¿‚÷d ®Y[›_)JËæÅi—c“¸*nÛÀèÿáðÿÛþßý…¦}³Íó¾ÑöHüÏ39߻ݞs×5?ö&“ý«ý«ý™eý£ÿ?gO;îíûøÏÝã¯N(¸wÚnïÛÙ‰6ÙßcT¸‡oß–ØÆ€îÎFKÛ7ìøÁó¤¼ÔµH|N4hÝö]ÏÄ7!ˆ  Æhñ˜fRùÊ›´é… Ñ´5ÂNÑ!™‘d*7*±€=@%W#¾ÑéTF™+ø„j“Ü#$0<ÐÇR‹!¤.ÅŽó˜— wu àT¶ÿ‰¿‰f¼?5ž›ºÚÛº½Á½uhÄa†cp¦¡ðêj2êw×­Þ_éqæÚ¹Ž&dvY›÷q©Ú „ÆHàŒmÃá [\Gqoáí")£`ñÉ”JÈÀäBä{ÔÖÑt›†¸Ó´>Îf]%µ²DÅr P2€4¨¢ŠC (¢€ ’oõŸ€þB£©&ÿYøä(ýø¿Þþ†ŸL¿ûßÐÓèQEQEQEQEQEó_Åßù(º‡û±褢‹¿òQu÷bÿÑIE}ÖøÿÃÉd¾'êÿ3Ö¾ȧ7ý|ÿí(ë·—î÷—ùŠâ>ȧ7ý|ÿí(ë·—î÷—ùŠù\×ýò§©×…þ H¯­#Ô4û›)K,w4NPà€Àƒ~j²Øj ÷|E©ûemÿÆ«F°´mgQÕ£³½þʆ=.ö!4Gw¾TF]ÈdŒ¢…ÈÀ;YðÄFXp©I- œS4-4ç¶¼žîk뛹æ"-8ŒmT,@GWn´ÛmI²¿šþ×L²‚òmÞmÄVè’I¸å·09 žõTx—O¸—NmÍ®¡ åãZ4Ö× ë$—’¹â01ÇÞë<> Ñnmãž cO–'ÑÉÊ2¼ÄdF8.Gðõ¡¶õcI-‰Î™`ÖénlmL1ÀÖË…v¬,hÀÆ«•èvJ©ÿLJþÁöì-3ì~oö²Gåù˜Æý¸Æìqž¸­('ŠæÞ9íåIa‘CÇ$l]HÈ Ž#½ISp*O¦i÷"Aqak0‘‹È$…[{ü²NG$Çògû¼t©ÊÑ<½–°¯—+M#d»sF;ß'©ÜÞ¦§¢•,4Í?I·k}:ÆÖÎmí´+–À!@Àû ·EQEQEQEQEÈÔGþèþTCþ¢?÷Gò¢õÿº?•$Pª0G¡ .,>Õ¨ØÜ™•Õ°A%‹)\{u&¯íOùè¿‘ÿ ŽŠIµ?ç¢þGü(ÚŸóÑ#þ&Ôÿž‹ùð£jÏEüøTtP›Sþz/ä©ÿ=ò?áQÑ@mOùè¿‘ÿ 6§üô_Èÿ…GEIµ?ç¢þGü(ÚŸóÑ#þ&Ôÿž‹ùð£jÏEüøTtP›Sþz/ä©ÿ=ò?áQÑ@mOùè¿‘ÿ 6§üô_Èÿ…GEIµ?ç¢þGü)% ÉòœŒŸÂ™E1þü_ïCO¨Ü65rN=°jJQEQEQEQEQE|×ñwþJ.¡þì_ú)(£âïü”]CýØ¿ôRQ_u†þ?ðÇòG™/‰ú¿Ìõ¯…ò)Íÿ_?ûJ:íåûƒýåþb¸…ò)Íÿ_?ûJ:íåûƒýåþb¾W5ÿ|©êuáƒõÈC krxXøZc§Á`šsiâõ$ye•|£·”UBŒ~vÆ ó羑áÓîeCµÒ&e8è@8¬/x·Ã>Ô#°×¤lc™ÌÛš5c ˆ×;‘%#c¸ÃeU‰[#å8C/ù1Ï4ÿ¾EL_óÍ?ï‘O¨â•fRêÌŸ:2«x dpz‚24¾L_óÍ?ï‘G“üóOûäRCŠg“üóOûäQäÅÿ<Óþùú(žL_óÍ?ï‘G“üóOûäSè y1Ï4ÿ¾EL_óÍ?ï‘O¢€äÅÿ<Óþùy1Ï4ÿ¾E>Šj¢§ÜP¿AŠuPEPEPEPEPEPÍä¢êîÅÿ¢’Š>.ÿÉEÔ?Ý‹ÿE%÷XoàSÿ $y’øŸ«üÏZøQÿ"œßõóÿ´£®Þ_¸?Þ_æ+ˆøQÿ"œßõóÿ´£®Þ_¸?Þ_æ+ås_÷Êž§^ø1 Ô¿äyÿ\ÿA5à?´wü”+ûGÿ£f¯ /£y´û˜nw‰•Fq’AÅax‹Â^ñf¡þ¹á«Ë»¨â«ý§f@ÂJV?rÁ«½Ï(¯«?áUxþ„Ë¿üþ?Gü*¯ЙwÿÏÿÇê´îðÎSoðOPœ\Akåø’Ñüû˜¢ÄÖ‡{Œ¯Ê:žG¨ë]¼z‡—qo¬gûS:ü·~›èï¶i2ôtÜßÜòñ½²èÜŒí^“Ún•á->K B¼µµ’S3'œ¯— ròÑGå[Úïÿ@ÛÏÎ/þ.;…Ï:Óü_©=ÄÖ7>%±6+-¹¸Ö-o ¹û"H—_"8“/*FÖžIeÛ¡oªÜÅâ©o¥çiŸ`²7zªÂŒK=æÆ*Fß-°7Ì£nÓ½UQ·ÅÚÿk¿ýo?8¿øº?µßþ·Ÿœ_ü]wRŠËþ×úÞ~qñtk¿ýo?8¿øº4ý®ÿô ¼üâÿâèþ×úÞ~qñtiÜ J+/û]ÿèyùÅÿÅÑý®ÿô ¼üâÿâèÓ¸׈#Ôfm2ã˸·ÜBØÙ0É[úsÐŒý$jsI6¡¨;B&Ef:D½‰ã;Žǰ^‚D‘å’Amx»Ø¶6Äq“ŸùéQ›yóæ=’/þ9]ð­M/ˆç”e}~Ïý\¿õó?þjž ´!s$e Ë#íb ˆÎ  O^Tþ&tÇaÿ¨ýÑü«—²7~$[Mµ|’'™~´/u ÑÞ¥Û__͇2˜vI>õ#þYòîdÇ>ettÏ#RÿŸ{Oüoþ"#RÿŸ{Oüoþ"—³ùú)žF¥ÿ>öŸøßüEF¥ÿ>öŸøßüE/g æCè¦y—üûÚàCñy—üûÚàCñ{92E3ÈÔ¿çÞÓÿÿˆ£ÈÔ¿çÞÓÿÿˆ£ÙÈ9ú)žF¥ÿ>öŸøßüEF¥ÿ>öŸøßüEÎȦÑLò5/ù÷´ÿÀ†ÿâ(ò5/ù÷´ÿÀ†ÿâ(örd>Šg‘©Ͻ§þ7ÿG‘©Ͻ§þ7ÿG³s!ôSb~t¾t_óÑ?ï¡^yÐ>ŠgüôOûèQçEÿ=þúú)žt_óÑ?ï¡GüôOûèPè¦yÑÏDÿ¾…t_óÑ?ï¡@¢™çEÿ=þúyÑÏDÿ¾…>ŠgüôOûèQçEÿ=þúú)žt_óÑ?ï¡GüôOûèPè¦yÑÏDÿ¾…t_óÑ?ï¡@¢™çEÿ=þú†xÀáÕ¢œ“@ úˆÿÝʳ$š[|3|&Za,î“qòÂ̪#}£«ùË ÎWÈÁ,5#bE< « ú=÷†#Óoîíš ìÄÄ×IVM¬§Á#Öµ¦´dIÙ™>&“ÄÇL´µŸk˨I<¦Ü20²‹DàŸï¬¶A×’VwRbé^>ºÕí'º·ðåëBÖŸk´aàH™\- Øp؄ͯ·q  ŽëEQ–ù/-ÌÑG öó"*1œpdÏØVdzO„¢Y£Y­ÊHžZ+ß3 u ,¿îeB{pQÆÅÆ–bº3eñ­õÝíÜÖ‘Ëdºm”‘CÞvgžâXQ£hÑŒ‘>·¸(\FYŠ‚Oˆ7±YI4š‘<W×s¬ï4 ­ºDÃÊB®áŒÊ¹eL|nÀÝ­ö y>H’Ð)‹Êf[²†ÿ0;0l´‚L¸’êÌÌ,ÄÇý“á&·–š ÖóÛÊòß³É,svrÌHŠ0’@@b‹0º4tbæ÷Q»°½°ûÔErL$ýÔ¦@›ˆ ‰÷(Ü£Œ;gºÆŽëEQ–ù/-ÌÑG öó"*1œpdÏØU¿í3þ‚6Ÿ÷ýÆ‹0º/QT¶4ÏúÚßõÿ?¶4ÏúÚßõÿ,Âè½EQþØÓ?è#iÿ×ühþØÓ?è#iÿ×üh³ ¢õGûcLÿ §ýÿ_ñ£ûcLÿ §ýÿ_ñ¢Ì.‹ÔUí3þ‚6Ÿ÷ýÆí3þ‚6Ÿ÷ýÆ‹0º/QT¶4ÏúÚßõÿ?¶4ÏúÚßõÿ,Âè½EQþØÓ?è#iÿ×ühþØÓ?è#iÿ×üh³ ¡º«l·ŒÿÓOèkÏ®|O{ ͧɧ0ÕŒ›mâBZ9绎ôéÛ½¦©¨XÜ[¢ÃfÌ®´ ãzûÖCÉnÌ$3Ù—PT7Ú#ÈÝì?!]t,£©Mô%µ.M±=w9ùRô8ü«b±­¤ˆÏl‹qnì×…Žec™<ê+f¹1m:šÑøBŠ(®cP¢Š(¢Š(¢Š(¢Š(æ¿‹¿òQu÷bÿÑIEä¢êîÅÿ¢’Šû¬7ð)ÿ†?’<É|OÕþg­|(ÿ‘NoúùÿÚQ×u\/Âùæÿ¯¯ý¥wUò¹¯ûåOS¯ ü…Q^yÐQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQE|×ñwþJ.¡þì_ú)(£âïü”]CýØ¿ôRQ_u†þ?ðÇòG™/‰ú¿Ìõ¯„ÿò)Íÿ__ûJ:î«…øQÿ"œßõóÿ´£®ê¾W5ÿ|©êuტŠ+Ï:Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( šþ.ÿÉEÔ?Ý‹ÿE%|]ÿ’‹¨»þŠJ+î°ßÀ§þþHó%ñ?Wùžµð£þE9¿ëçÿiG]Õx„¾)Ûø_HkÒ¥¸v—Ì,&Ê«Ž‡û¿­nÿÂ÷µÿ  Ÿø?øŠðó ·W:Ó}×ù›P­SQ–þŒõú+Çÿá|ÚÿÐÿð+ÿ°£þͯý_ÿ¿û ãþÈÆ/þMó6úÅ>ÿƒÿ#Ø(¯ÿ…ókÿ@ÿÀ¯þÂø_6¿ôü ÿì(þÈÆ/þMó¬Sïø?ò=‚Šñÿø_6¿ôü ÿì(ÿ…ókÿ@ÿÀ¯þÂìŒgòÿäÑÿ0úÅ>ÿƒÿ#Ø(¯ ÿ…ñmÿ@ ?ð(ñÂø¶ÿ Ÿø?øŠ?²1ŸËÿ“GüÃëûþ õú+Çÿá|ÚÿÐÿð+ÿ°£þͯý_ÿ¿û ?²1ŸËÿ“GüÃëûþü`¢¼ƒþÅ·ý$ÿÀ¡ÿÄRÂùµÿ  ÿàWÿaGöF3ùòhÿ˜}bŸÁžÁEyü/‹oúIÿCÿˆ£þÅ·ý$ÿÀ¡ÿÄQý‘Œþ_üš?æX§ßðäzýãÿð¾mèÿøÿØQÿ æ×þ€/ÿ_ý…ÙÏåÿÉ£þaõŠ}ÿþG°Q^?ÿ æ×þ€/ÿ_ý…/ü/‹oúIÿCÿˆ£û#ü¿ù4Ì>±O¿àÿÈõú+Çÿá|ÚÿÐÿð+ÿ°£þͯý_ÿ¿û ?²1ŸËÿ“GüÃëûþü`¢¼þͯý_ÿ¿û ?á|ÚÿÐÿð+ÿ°£û#ü¿ù4Ì>±O¿àÿÈö +È?á|[ÐOü üEð¾-¿è'þþ"ìŒgòÿäÑÿ0úÅ>ÿƒ=~Šñÿø_6¿ôü ÿì(ÿ…ókÿ@ÿÀ¯þÂìŒgòÿäÑÿ0úÅ>ÿƒÿ#Ø(¯ ÿ…ñmÿ@ ?ð(ñŸð¾mèÿøÿØQý‘Œþ_üš?æX§ßðg°Q^?ÿ æ×þ€/ÿ_ý…ð¾mèÿøÿØQý‘Œþ_üš?æX§ßðä{ãÿð¾mèÿøÿØQÿ æ×þ€/ÿ_ý…ÙÏåÿÉ£þaõŠ}ÿþG°Q^?ÿ æ×þ€/ÿ_ý…ð¾mèÿøÿØQý‘Œþ_üš?æX§ßðä{ãÿð¾mèÿøÿØQÿ æ×þ€/ÿ_ý…ÙÏåÿÉ£þaõŠ}ÿþG°Q^?ÿ æ×þ€/ÿ_ý…ð¾mèÿøÿØQý‘Œþ_üš?æX§ßðä{ãÿð¾mèÿøÿØQÿ æ×þ€/ÿ_ý…ÙÏåÿÉ£þaõŠ}ÿþG°Q^?ÿ æ×þ€/ÿ_ý…ð¾mèÿøÿØQý‘Œþ_üš?æX§ßðä{ãÿð¾mèÿøÿØQÿ æ×þ€/ÿ_ý…ÙÏåÿÉ£þaõŠ}ÿþG°Q^Aÿ âÛþ€àPÿâ)?á|ÚÿÐÿð+ÿ°£û#ü¿ù4Ì>±O¿àÏ`¢¼þͯý_ÿ¿û ?á|ÚÿÐÿð+ÿ°£û#ü¿ù4Ì>±O¿àÿÈö +Çÿá|ÚÿÐÿð+ÿ°£þͯý_ÿ¿û ?²1ŸËÿ“GüÃëûþü`¢¼þͯý_ÿ¿û ?á|ÚÿÐÿð+ÿ°£û#ü¿ù4Ì>±O¿àÿÈâþ.ÿÉEÔ?Ý‹ÿE%ãÇâ_\jɶVýÛv¨^¸”WÔÐJ¡;4’û’8›»lÿÙtraitsui-7.2.1/docs/source/traitsui_user_manual/images/Auto_update_TabularEditor_demo.png0000644000076500000240000007607014046644454032562 0ustar aayresstaff00000000000000‰PNG  IHDRðî·~p› pHYs  šœ IDATxœìÝy\TÕÿ?ð73È¢ì(ˆŠ .¨ ¨€ æšY¹¥–f¨©Pj¥’išK‹ˆJÆG\rÅ¥Å,q%\ÀT% !ŒE†a–ßçó¹¿ûhG_Ï?ú\Î}¿Ï=3|òž3çžkI ‡f̘aؽ{wŸ– h %%…Zv nR=€CA Ç [zÏŒŒ "êÕ«WKžs¬òd0C ÇPÐè1ôz =€CA ÇPÐè1ô ÒÒR©Tª]nqqñ¡C‡NŸ>ݸCx15É>ô;wîLIIquuý裔Ï|ùå—­ZµÚ´iSS\šÎ‘#Gþøã?ÿü³¼¼ÜØØØÕÕuÀ€3gÎ …êw’››éìì<|øð¦*À ¢I úÜÜÜôôôôôtww÷Q£F)œ}úôizzº¡!ži OÄbñºuëâããÙ&&&"‘(#####ãÚµk«W¯¶¶¶nÙ¼˜švÉÍ·ß~[\\ܤ—€æqìØ±øøxƒ3füþûïgÏž=}úô¢E‹ŒÓÒÒbcc[z€/¨¦-諪ª¾øâ ¹\®~ŠL&“Édÿ&•J•»Ug5§Ö+>^pIIIDôÊ+¯|ðÁmÛ¶%"ssó‰'Ο?Ÿˆ$‰r–ÊÆ†©ÿ‡@‹Îž?M¸î¥ÿþiiiiiiqqqÓ¦Mk8øéÓ§qqq'Ož|ôè‘P(tqqñòò iÕª 8wî\LLÌ!Cüýýøá‡´´4"êׯßÂ… âãã÷îÝûàÁ ‹=z„……uîÜ™ßmmí‘#GRRRÒÒÒLMM½½½°v@}·oß&"GGG…ö±cDzƒÚÚZn9ezzúîÝ»³²²***ìííÝÜܦM›Ö§OŸúWÿ——W\\[½yúôé´´´o¾ùÆÈÈ(66ÖÈȈ밶¶öý÷ß—H$Ë–-óððh¬÷àYÓ„}=<==·mÛãëëëìì\_¤L&ûì³Ï.]ºDD­Zµ’H$™™™™™™YYY‘‘‘ì_犊ŠÜÜ\KKË#GŽ”—— …B©Tš””tÿþý‘#Gnß¾ˆ„BaYYYRRRvvö?ü`kkËõ¿lÙ²óçÏ‘¡¡¡X,>uêÔ©S§***&NœØtïÀóÄÁÁ¡´´ô—_~yã7,,,¸v…K¯_¿>oÞ<ö¨‰‰Iqqqqqñå˗׬Yãïﯲsõÿl\¸pë¿¶¶öÂ… Ü)€çX“?XÊÑÑ1<<œˆØzG•1/½ô’ŸŸ÷•¨T*­¬¬dKtÊËËù‘ݺu³±±á~ôòò"¢ž={òg_ú÷ïODUUUìǼ¼<‘HdmmÍÚ9ìkÙììl]_!À‹A „‡‡xðà  …~~~~~~ÆÆÆ¬¥¶¶¶cÇŽDTWWÇýã¬@ý?®®®:uRH÷òò²··¯ªªJIIa-—.]ª©©éÚµ+VÏÀs¯9¾…|ã7’’’’““¿øâ‹}ûö©Œùûï¿Ožþøã°°°?ÿüSá”H$b‹jºwïND©©©DÔ£GÀÀ@nýÕ«Wè¼±þ¼òÊ+DtæÌ¶ÞfôèÑ¥è©f]j®|'S›6m:tè@D§OŸf›K$’uëÖåää4ÊEŒŒüüüˆhéÒ¥ÜLÏãÇgÏžýÁ9r¤Q®ð|ssssrr"¢Ï>ûìÖ­[\û£G"""äry»ví\\\ˆ¨[·nDtçÎî6Ù¬¬¬o¾ù¦ÎëÁË/¿lddtáÂ… .˜˜˜iö"ôS³nÍkjjºbÅŠY³f±¯9#GŽÜ¹sç±cÇΟ?ß©S§ÜÜ\‘HÔ¹sçFYrCD+V¬ ½wïÞäÉ“;wî,û,///$$ÄÁÁ¡C‡¥¥¥ŒŠŠº~ýúÓ§Ommmßxã–@óÁè½òòòäää§OŸ¾ôÒKßÿ=·]&À‹3ô ÷ÜÜÜ8`cccaaÑÒchn(è@ïi±^àù€%7z =€CA ÇPÐè1ÜÛhðŒXh¬òLII!ÌÐè5ôz =€CA Çþ{S¬­­mËŽCß={–ˆ†ÚÂã€çBå‰z=†‚@¡ Ðc(èô z=†‚@¡ Ðc(èô˜aK@KR©ô?ÿù\.2dHÏž=[z8Ï4‘Hdbb¢~¼\.‹ÅÆÆÆMßX¹@ô+W®¼ÿ~Ó§O×uDê©©©™;w.mذá9(è«««,X ‹‰ÈÙÙ9""B!`ñâÅÿýw}é~~~ï½÷žBcffæ_|‘œœ\XXhffæîî6mÚ4@õ×2b±xëÖ­Û¶mûóÏ?E"‘££ã°aÖ/_Þ¥K—F‰o¬\ø?âãã?~,Wƒ§§gÃ]½ÿþûêôÓ(*++ÙE7lØÐlm@bbbbb¢ÖéáááÜÛèíí­`iiÙÀ;?mÚ4…øýû÷«,Ü_}õÕºº:åþ+++}||”ãMLLΞ=«{|cåWy²J^ã%7fff¾¾¾*O=3å-"))ióæÍ TWWWTT‘···r@Ÿ>}ø?^¼xñwÞ‘ÉdB¡044tèС=ŠŒŒÌËËûí·ß>üðÃèèh…¦L™’’’BDnnnáááÖÖÖÇß½{·H$7n\zzº“““.ñ• Š4¡4hPÓ~âPÏs3C/‰ÜÜ܈¨C‡ýû÷'U3ô÷îÝc/6--M>‡ Ââccc¹ÆòòrWWW"244¼wïžÂàY¼‹‹KMM ×¾eËÖ>sæL]â+äJ3ôͱËM]]]ZZZFF†B»T*ÍËËKIIÉÍÍ•H$ wòèÑ£«W¯æçç7Ù0[ÆÊ•+³³³‰(&&ÆÊÊJeLaa!;pppø×ÓÒÒÎ;GDžžžÁÁÁ\»¥¥eLL I$’M›6ñS"##ÙÁºuëø·ÏΙ3gðàÁD´wïÞ’’­ãu¹4¬I úùóçúûûçääŒ;ÖÆÆÆËËkìØ±\€D"ùüóϺtéâëëëääÔ¶mÛE‹±»BüüóÏîîî:tðññqttlß¾ý–-[d2YSŒ¼™edd|ýõ×D4uêÔW_}µ¾0VÐ ‚víÚýkŸ ì`íÚµ Ëè»uëÆ!"©TÊ>øúúN˜0A¡·ÐÐP"’H$,F‹x>]r@¥&)èëêê¤Ri~~þË/¿|ìØ±ªª*…€Ù³g¯ZµŠ?[QQ±~ýzþŒ2súôéÉ“'ß¹s‡k)..ž;w®ò>0zG&“…††J$[[Û76ùèÑ#"²³³ …DTVV–œœœ››«2øÂ… ìÀßß_ù,[7•••UZZÊZnܸñäÉ"òóóSŽçVçsÝjϧK.¨Ô„Kn;;{¸*o¾ù¦rðªU«øÕ<¥¦¦²’tÍš5ü{"Û´i³xñb"’H$7oÞdiiiDäííÍj_N@@ÀÂ… 5ù3eÁ‚ÆÆÆìFÕ†±‚^*•ÚØØlܸñÞ½{>Ü·o_¯^½ˆ(!!áí·ßæ‚Ù—;vTÙ×^^^Îÿ×­ãùtÉ•4ž¡¯B‹‡‡‡Bcjj*;(++;uêÿ·Ô>--ÍÇǧ¦¦†mÿ2pà@åξúê«Æ|3KHHˆ‹‹#¢¥K—º¸¸ük|QQYZZ^¼x‘m=IDÓ¦M6lØàÁƒÿüóÏ#GŽTVV²56¦¦¦\鬀kç>M™šš*œR™¢u<Ÿ.¹ ’ƽ··÷éÓ§Utd¨ØW½ñqý˜1cê»Ä7ˆèÖ­[R©”êy^UïÞ½Õò³E,Ï›7ˆ\\\>ýôSuRNœ8QSSciiÙ¾}{~»½½ý’%KÞ}÷]©TzñâÅ‘#G‘µµuQQQ}Ëйvkkk…•)‰„}? u<Ÿ.¹ ’ƽ‘‘Q}Û¥«ƒ­·^^^õÅtèЋ$Usÿz-**ŠmÚ³`Á¶} ‡}GQ]]Íž$åààЦMâ-|W6hÐ v””Ä ú¶mÛQAAT*e»âðq•4 ã¨,² ÙÇ*­ãùtÉ•mÉšúõëohhxîÜ9•Søœž={ …B©TzëÖ-å³Ê©ÒÜw|ðÊ€¬¬,¶[üÖ­[CBBäryNNµk×΢¾n¹e*ýû÷¿pá{h×K/½¤Æ6»´¶¶vrrb-ýúõ2™Œ]Ee<qÀ4çÓ%TjŽ'Åò±ZM,_¹r¥áÈÖ­[³õâ*#“’’šbxÏ ŠŠŠîÝ»»¸¸,X°@ù,Ûø’ˆØ{Þ*¬Ð­¦ñ|ºä€J-SÐÑ‚ 8µgÏwwwww÷“'O²–¾}ûÑ•+W¾ùæ~äÅ‹¿ýöÛfoãûæ›o®Öƒ½^WWWöãĉ‰ÈÊÊŠmÒøðáüü|~Wåååì}066öñña#FŒ°··'¢¨¨¨ââb~üŠ+Ø^Ÿo½õ¿}úôé¬7öØZÎÝ»wwíÚEDllšÆWWWïÚµëÔ©SÜ*M¯ÿ">>þñãÇr5°‡Œ4è_#gÍšED;vTyvÉ’%ìÒ?ýôÓ£G._¾üå—_²ßÎÎÎb±˜Efgg³õúB¡pÑ¢E‰‰‰×®][»v-ÿÞÐ 6¨3ø¦–˜˜˜˜˜¨c'AAADäíí­Ð¾uëVöbÛ·oôèÑŠŠŠššš„„nãÿ™3gòã¹O;}ûöMOO—Ëå•••Ÿ|ò kôððJ¥üø§OŸ²Ï`íÚµ555r¹<99™ÛQ'..N»øÉ“'³–;vhw-PÀUž¬’o‚^&“M:Uå§ ++«Ó§Oóƒããã_#Ì›7íÒø"ôR©4<<œ{í w O˜0¡®®Ž/‘H^{í5.ÀÄÄ„{­­­322”/}þüyî–¡PhddÄ¥³uüÚÅs·ó†††j}-àS(è5XrÃfЕ7NÑ4ÒÀÀ`çÎü1wBkkëI“&eff¾üòËüàÑ£Gïß¿Ÿ¿Y{»ví6mÚ¥þxôE}¯H DEEEGG³ç.Éÿ·|ÅÈÈ($$$..NaÏP¡PxàÀ… ²;eE"‘L&#¢€€€ÄÄD•Û€œ,--upp`[UÖG.—·mÛ¶sçÎÏàF–gÏž%¢¡C‡6õ…òóó¯\¹òäÉ;;;__߆wx,))IOOÏÏÏ733swwgO–m€\.OOOÏÎή­­uttôòòjx‹RuâE"‘P(Tx`°×†«<?îããÓ’ýó¤Ù zxÁ)ôÍ½Ë 4"ôz =€CA ÇPÐè1ôz =€CA Ç Ùÿ°ÝéAGx ™a†@ýw†~èС-: ½Ç=€·…ÇÏ;…U!˜¡Ðc(èô z=†‚@¡ Ðc(èô z=†‚@¡ Ðc†º$×ÖÖë8‚7n$%% ‚Ù³g°ÆØØX±Xìëëëíí­cÿÏÞs¹\.‹›.žˆD"‘‰‰‰úñ• ŒÆýýû÷wìØ‘žžž––VXXصkWooo__ß¹sçšššj1‚'N,^¼˜ˆBBB ÿ;ž°°0‘Hñ¼ô‹/þûï¿ë;ëçç÷Þ{ïq?J¥Ò;vœ?>99ùþýû®®®þþþo¼ñÆ+¯¼¢2],oݺuÛ¶mþù§H$rtt6lØòåË»téÒ(ñD”™™ùÅ_$''š™™¹»»‡……M›6M ø÷ï|tÉEñññ?–«çÌ™3¶¶¶*ûéÓ§Onn®šýð­[·ŽõPWWÇ5²‰Ûˆˆ-:l‰‰‰‰‰‰êÇ[ZZ6ðK™6m)‰^ýu•aëÖ­Sî¹²²ÒÇÇG9ØÄÄäìÙ³ºÇËåòýû÷«,¾_}õUþ/±Ñs@Ϋd*·›äóòò´‹çR¬­­¹‹*§Èår®g>]r >ìü½qãÆ:QUUÕš5kzõêÕµk×÷ßÿǬ¬¬T¾ÿ~¿~ýFµgÏž9sæôêÕËÓÓsñâÅlÙŒ\.çÏûþ«·ß~›=sJa’þÈ‘#uuuô¿Š__°‚>##c̘1ü‰ùœœœèèèqãÆ‰D¢Ò%É{ï½W]]m``°aîûŒ¤²@733³¶¶&¢²²2íâ¹”úö§ïܹ3;à§4J.ÔGƒ‚¾k×®3gÎä õàÁƒíÛ·Oš4©C‡aaaüIw__ßãÇ?~|üøñüN¦OŸÎÖ™¤§§«éÎ;³\ª IDATÑ?þÈo?|ø09;;«\4òÌb½T*µ±±Ù¸qã½{÷>|¸oß¾^½zQBBÂÛo¿Ý@úœ9sØ÷!!!üζÂ$"ö5ˆ2Ö^^^®]<—Òp¼BJ£ä@}4{6§ÍÎ;‹‹‹wïÞýÖ[oq›´TUUmÞ¼¹wïÞÜ š|yyyW¯^=}úôáÇ>ÌæÚ%‰F—~çwèÿ®º)++;sæ MŸ>]£®Z\QQYZZ^¼x1,,ÌÙÙ¹S§NÓ¦M;}ú4ÛÀñÈ‘#Ê_z0«V­Ú¶m½üòË »¶s´¸J]kçÖ&iÏ¥4¯Ò(¹PÍ zÆÜÜ|úôé{÷î-,,LMMýðÃÙý²ü- BCCííí»téâãã3bĈɓ'‡„„hZÊ3ãÇoÓ¦ ñVÝüúë¯uuuúµÞ†ˆNœ8qçÎ;wî°òcoo¿dÉ"’J¥/^TNüþûï?ÿüs"êÓ§ÏÏ?ÿÌßÈ’ˆØ ú¿«Þ9‰„}3À…iÏ«Œç·óS%ê£MAÏçååµaÆÔÔTv§cBB[““Ó·oߨØX¶Kº]Ïž=Ƨ݅ÌÌÌØÖŠÜª¶ÞÆßßÿ¥—^ÒñU4³Î;»¹¹µoß^ùÔ AƒØARR’©ƒΛ7ˆœœœâãã•o-mÛ¶-;PY4²§ürašÆsÇì”®~J£ä@}Ô-諪ªþþûoþ3†øzõê5kÖ,v|çÎ"úâ‹/XpxxxIIIqqqFFÆùóç•ç•ÕÇ­º¹zõjyy9{è’ÞMÏËåò¿þú믿þb[FÖGaåÉÉ“'§OŸ.“É:wîüǨ|"U¿~ýØþî999Êg¹»o½¼¼´‹'¢þýû‘T*Uù€¥X[[;99)ŸÕ%ê£nAaoooggWßͬÜh¶0†mÞ®]»¯¾úŠ?çzùòe¶/†Êž¯tøða¶¿‰‰É¤I“´ë­¥TTTtïÞÝÅÅeÁ‚Êg/_¾Ì¸ÆK—.?¾®®®C‡üñG}ÅXYYõîÝ›ˆŽ=ZSS£p–}¡ADì°ZÄó<¨_TTľUð÷÷g·I(Ð%ê£nA?uêTv¡\üåääüôÓODdjjêââBÿ[ ]WW'‹¹°ºººõë×k?V€Ýÿúã?²róµ×^³´´ÔºÃaeeÅvì9|øp~~>ÿTyyù·ß~KDÆÆÆ>>>¬ñÖ­[¯¼òJuuµ]BB‚³³s³÷§¼¼ü믿æ·ß½{w×®]DäááÑ·o_­ãGŒaooODQQQÅÅÅü”+V°»#Þzë-ÖróæÍ-[¶pa债âãã?~,WC·nÝXŠ««ë¡C‡îÞ½[[[{ëÖ­ï¾û΂š?> þä“OXËäɓϞ=[\\?lØ0îº,rݺu¬¥®®Ž»[pÂÅpØzþàÕy3HLLLLLT3xëÖ­lüíÛ·?zôhEEEMMMBBÂÀYûÌ™3YdNN·ºæÓO?Ý«Êõë×¹žŸ>}ÊŠf@°víÚšš¹\žœœÌÝ}lj¦ñr¹œ}ä ¢¾}û¦§§ËåòÊÊJî×íáá!•Jåryff&kéÚµ+kQ?ÀUž¬’×  ¿}û¶‡‡GŸ fÍšU[[Ë‚ïܹ£ò¦Ï!C†°ǵ+èår¹¯¯/W K$ߎƢQA/•JÃÃù÷Da‘É„ ¸·"44´7œY°`¿óóçÏsûQ …B¶¢<Mã%Ék¯½ÆÅ˜˜˜°…øDdmm‘‘ÁÂvìØÁÅh” P(è5Øå¦{÷î)))ÁÁÁVVVüvƒnÝºÅÆÆÆÄÄpå ››Û•+W‚‚‚¸›;ŒŒÂÃÃýõWV>²ÇKq€_ײF.†[•1mÚ4•Ï>@Í>ÛÈårÖnddghhÈZÔYP®ð&œmÚ´155íÒ¥KppðƒRffæäÉ“;vìhjjjnnîãã³wï^™LÖXñ• ÿ_||üãÇåÚòõõ%¢¾}ûr-½zõb=_¼xQënõNbbbbb¢úñ7oÞìÔ©“ÊßÈÊ•+•ã“’’ÌÍÍ•ƒÛ¶m{æÌåøÊÊJåx“³gϪÒþýûð^}õÕºº:Ýã+àÇUž¬’oü%7{öì™5kÖÖ­[Øè?²³³ýýýóóó f̘±uëÖ={öÌ;×ØØ˜ˆ>ÿüó¨¨(~üùóçGUYYID£FZ¿~ýwß}7~üøV­Z=~üxäÈ‘çÎS¸Ä”)SRRRˆÈÍÍmË–-qqq3fÌ "‘H4nܸœœ…ø‹/¾óÎ;2™L(Ι3çàÁƒQQQ;w&¢ß~ûíÃ?Ô1¾±r@Q£Ïп˜4š¡ˆˆ`oþ¡C‡øí &&&DäëëË5J$’Ž;²øÈÈH~üO?ý$ ‰( @a0,ÞÅÅ¥¦¦†kß²e kŸ9s¦Â† ÂNÅÆÆrååå®®®DdhhxïÞ=]â+š|†^EEE7nÜP¾S3???--MÓ;8õÎáljÈ××wÒ¤Iüö   ÀÀ@"ºzõjyy9k}ú˜™™ÍŸ?¿ººZ.—oß¾½C‡ŽŽŽ^^^ÌÎÎnô±= d2YXXئM›Ö¯_¯|ÖÞÞžˆär¹k¹sç;xå•W”ã¹Æ={ö°©TÊ*f__ß &(憆‘D"á¯ÒIHH`k×®UXÚØ­[7~Œñ|ºä€2ÃFï±®®N*•ŠÅb®E*•J¥R":~üøæÍ›Ù1I$’èèè²²²=z,]º”‹‹Å—/_ JNNîÚµk£°e ‚¹sçª<%‹Y-ëááaiiɹ©zgggåwwwv››ËnܸñäÉ"òóóSŽïÓ§;¸páÂĉ¹cvàïﯜâééy÷îݬ¬¬ÒÒR-âùtÉeͺä†Ýû¸oß¾7n¬]»–mó²oß¾ˆˆˆvíÚýðÙ™™[·neÛ³îÛ·¯9‡×²þùçŸ1cÆ<|øˆ¸EöDäííÍ®]»¦œuõêUvpÿþ}vÀz ¢.]º(Çsüý.YеµµÊtXŠ\.çzÖ4žO—\PÖø3ô °±±9uꔋ‹ õîÝ»cÇŽlë¡PxæÌ™Þ½{‘‡‡Ç°aÃØl4W­>¯233—,Y"—Ësssoß¾-“É,--W®\9uêT.Æßß_ Èd²}ûöÍœ9³U«VüvîÜÉòóó%‰¡¡aii)kQYЛ™™Y[[—•••••q,Ee<±ýgˆˆKÑ4žO—\PÖ¬3ô¯¼ò «æ™I“&±iZoooVÍ3NNNžžžDôçŸ6çðš_qqño¿ýöûï¿gff²g*=ºÿþüKKK¶•йsç¦L™R]]ÍÚÅbqxxø®]»ØR©”Á¬…ÛGkçVòp) ÇóS4çÓ%”5kA¯ð¨#kkk"êÑ£‡BdÏž=‰è¹nh×®]?úè£>úhæÌ™ƒ 2008pà€¿¿ÿ—_~É;xðàK/½DD?ÿü³µµµŸŸ_@@€••Õ¦M›ŒŒŒ¸] Ù²{SSSö#WÙ+`íüÝoXJÃñüMãùtÉeÍZÐ×W¥©|hè‹ÀÉÉ)22222rçÎÉÉÉ©©©NNN2™lÙ²eÜÍ£Däè蘘˜È–!‰Åâ‹/&%%ÕÔÔØÛÛÇÅűqÌÌÌŒŒŒˆˆ}F¢ÿ»Jž#‘H ùaܱÊx~;—¢i<Ÿ.¹ ¬Y×ÐCÃúõëÇØlÛ¶- €;Õ¥K—»wïfdd$&&^ºtÉÎήgÏžS¦L±°°øê«¯ˆÈÁÁE¶mÛ–¨,š Ù.C\w\PP •JÙ“ªø¸~¸MãùtÉeºN³êÛ4þ•\.‹Åüm=ù|||¬¬¬ˆHy~ƒÞ½{‡‡‡8p`Ó¦M¡¡¡ùùùl÷®úïׯûÆ#''G¹nwK///®‘­Ú—J¥*?°kkk'''íâùtÉejôìYHóæÍ‹‹‹S8•ŸŸOÿ{¨#!!ÁØØØØØøàÁƒÊgKKK+++‰ˆÛͦ   <<<<<œ=_VÁöíÛÙg*öˆY"²²²bw=z´¦¦F!žë„=2VáXyHEEEIIIDäïïÏ}lÓ4žO—\P¦VA/Nž<ùÝwß­\¹’{,]¾|¹¨¨ˆˆÜÜÜšj€ÏÁƒ³»W£££•çécccÙ;Ì=ÊÎÎî§Ÿ~Ú´iÓŒ3nß¾ÍNOO߸q#µoß~üøñ\ûôéÓ‰¨¼¼ü믿æÇß½{—íŠãááÑ·o_®}Ĉì#YTTTqq1?eÅŠ‰„ˆÞzë-íâoÞ¼¹eË.LÓk@ÃÔ]r3|øp"ºsçÎøñãÙ³HOž<9mÚ4vv̘1M5À玑‘Ñk¯½FDIII~~~—.]‰Dr¹<;;û£>Z¼x1‹ gñ­Zµš7o‰D¢ &lß¾½¨¨¨¨¨hï޽Æ c[UFDD´nÝš»ÄìÙ³YѼråÊuëÖ‰D""ºxñâØ±c«ªªˆhÙ²eü)pSSÓ?þ˜ˆŠ‹‹G}ýúu"ªªªúôÓOÿóŸÿ‘‡‡Ç¤I“´ˆÏÊÊòôôœ;wî€ØžEš^ þE||üãÇåÿ&;;›{肉'ò#-ZDD\Ë£GXdll¬B·¬Ï…v6Gëææö¯{F$&&&&&ª\RR­!"¡PÈ/Çíìì’’’øñOž<9rd}¿ÁÐÐP™L¦p‰óçÏsûW …B¶£ünËår‰DÂ>f0&&&ÜÖCÖÖÖÚÅïØ±ƒ‹)((ÐîZÀÇUž¬’Ww†ÞÕÕõâÅ‹l~%ºhѢݻw+4rÿå·(4ò[”·­TîäyÒ¶mÛS§N-Z´ÈÆÆ†ˆ¤R){\TëÖ­‡ž’’âççÇ777ÿüóÏÍÌÌøííÛ·ŠŠŠ‰‰Q^qpòäI¶®F*•²µ=+W®Œ‰‰Q’P(|øP>˜˜˜QDD„¹-+11111Qëôððpî7âíí­2æÐ¡CVVV,ÆÙÙY9 ²²ÒÇÇGùWlbbröìÙæo¬\àã*OVÉc }ËKJJÚ¼ysUUUÁÁÁ“'O.//o lÊ”))))Däææ¶eË–¸¸¸3f‘H$7n\NNN3Ç7V.4àÙZCÿª­­}ÿý÷e2Y‡:vìxõêU…€ôôôÉ“'ß»wˆzõêU[[ûçŸ*÷söìÙcÇŽ‘‹‹Ëõë×ÙwS¦L0`À|ðäÉ“U«Víܹ³Ùâu¨¯Ygè¥Ri^^^JJJnn®D"iêܪªªÔÔÔ’’­ÛLV®\™MD111ÜŠ¾ØØXVÍÏ;7%%¥K—.*û‰ŒŒdëÖ­c33gΜÁƒÑÞ½{ùoESÇë26P_3ô‰äóÏ?wppèÒ¥‹¯¯¯““SÛ¶m-Z$‹+·¤¤ÄÐÐÐÐÐðÔ©S?þøã€¬­­û÷ïoggשS§ƒ6Ù‹Ó^FFÆ×_MDS§N}õÕWë kÛ¶íÑ£G£££ùÕ0ŸT*=wîùúúN˜0Aálhh(I$Ó ñºŒ 4ÒLýìÙ³W­ZÅŸ…­¨¨X¿~}pppcåJÿçÌ™3o½õÖ•+W¸‰ü‚‚‚)S¦lÛ¶­‘^MãÉd¡¡¡‰ÄÖÖvãÆõ…3æÆ ”ûDtãÆ'Ož‘ŸŸŸòÙ>}ú°ƒ .4O¼.c4GA¿zõêíÛ·QPPЯ¿þš——wôèÑÀÀ@"Ú·oßòåË7÷›o¾177ÿþûï333oݺµdÉ¡PHDK—.­®®nЍ˜˜˜Ë—/Qddd»víê ;vl‡îêáÇì@å‚®1//¯yâuhDã›boݺ5nܸúÎÞ¹sG¡¥¨¨hÙ²eDxìØ1¶hÄÑÑ1((((((%%eÍš5K–,Q¹˜D»Ü6mÚœûõë'd2YNNŽòÙÜÜ\vÀ}.jêx]Æiòm+Y¡&‹¯\¹Òœ¹/++«Þ½{ÑÑ£GkjjÎ>|˜°Ç²6C¼.c4SAOD ,àîdeöìÙãîîîîî~òäÉFÏ}f}óÍ7WëÑ·o_"ruue?Nœ8Qýn§OŸNDåååìѳœ»wïîÚµ‹ˆ<<111qppàßÑ«éµ@Mñññ>>>¶¶¶Íp1‰DòðáÃÒÒRM·›Ô%·œ={–ˆ†ÚÂã ’ËåéééÙÙÙµµµŽŽŽ^^^VVVÍ/‰„Ba«V­t¼(ã*ÏãÇûøø4kAÿ{v zx¾)ôM¾Ë 4ôz =€CA ÇPÐè1ôz =€CA Ç Ùÿ°ÝéAGx ™a†@ýw†~èС-: ½Ç=€·…ÇÏ;…U!˜¡Ðc(èô z=†‚@¡ Ðc(èô z=†‚@¡ Ðcºôuuu2™¬Q†ê‰DM/—Ëkkk›.¾±r@›‚^"‘8pàå—_îÔ©“‰‰‰¹¹¹ŸŸßüùó÷íÛ‡â^;ÕÕÕ³gÏ^½zµÊ©T3pà@sssSSÓÎ;O˜0açÎ t›™™9yòäŽ;šššš››ûøøìÝ»·ß‘X,ŽŽŽîÓ§O›6mLMM»téüàÁƒÆŠo¬\øÿâãã?~,WÛíÛ·»uëV_oÇ/))Q¿·çFbbbbb¢ÖéáááÜ{èíí­PWW7yòd•ïù´iÓž>}ªœ²ÿ~@ŶW_}µ®®N9¾²²ÒÇÇG9ÞÄÄäìÙ³ºÇ7V.À Ž«‹<Ë´ž¡‰DnnnDÔ¡C‡þýû“ªú˜˜öƺ¹¹=zôˆp‡‡ IDATk¯ªªò÷÷g§ø)C† aí±±±\cyy9û `hhxïÞ=…ñ³x—šš®}Ë–-¬}æÌ™ºÄ7V.(ÌÐkPЯ[·ŽÕ[]»v­/ÅÏÏÅdff*Ÿ•H$<¸råJNNŽÊU|•••™™™©©©EEE2™L\ºt©´´”ß(“É RRRòóóÕéD£Ar´.è—.]ÊÞ±£G>\eA?`À“““£pª¢¢ÂÒÒ’ˆ¸Æk×®±xOOO©TÊÿã?Ø©°°0~û«¯¾ÊÚüñG…K <˜}øû￵Ž×åZÀ§}AïááAD&&&éééõÅ$''³ZmΜ9üöºººeË–µk׎ûfÀÒÒráÂ…µµµÊ¤¤¤Œ9ÒÀÀ€ vrrÚ´i“BØßÿ- …BáÉ“'7nÜÈ}{°cÇ.&..Ž¿â¿}ûöÑÑщÄÖÖV(FGGk=HÚô7oÞ444$¢©S§Êåòú z+++"òððPÙÉØ±cÙhïß¿ÏZ¾þúkÖ¯ÏÞ=zp-‰Ä‚ˆ|}}•ã÷îÝËz;|ø°vñ|ºä€\© 7$õܹs'++‹ˆ Ô§OŸú ”››+•JÍÍÍùí³gÏÞ¾};¿¥¢¢býúõEEE\ Çddd >¼¢¢‚ߘ““VYYÉÍg‘T*•J¥D´k×®ýû÷+æèÑ£o½õS—¢¢¢yóæeee‰Åb©TZWW§Ý …L& eŸ.6nÜX_˜T*­¬¬$"ggg•Ý»wÿý÷߉(77·K—.DtáÂvŠ[Ãçééy÷îݬ¬¬ÒÒR"ºqãÆ“'Oˆˆû‚…ûu_¸paâĉZÄóé’ ÊÔ½)6##ƒ4PÍ3]»vuvv¶³³ãZV¯^Í å   _ý5//ïèÑ£D´oß¾åË—s‘yyy£G®¨¨ … ,8uêÔõë×###Y-ñÃ?(_qÿþý&&&‹-:räHbbâ¨Q£ˆèÖ­[o¿ý¶L&kÕªÕ'Ÿ|’˜˜xõêÕÕ«WÛÛÛoÙ²…•È|ê²±ÄÄÄ\¾|™ˆ"##ù_ ( …}ûö%"n!‚ÔÔTvpÿþ}vððáC"²¶¶VøXŰ¢_.—³0.ž;¥2žˆòòò´‹çÓ%”©;C_TTÄ<==5º@QQѲeˈ(00ðرc&&&Däèè”’’²fÍš%K–°öÕ«WÑÚµk?þøcîŠcÆŒñññyòäÉüùóg̘¡°c›6mâããÙòkΪU«XÕ¾aƹsç²FooïaÆ 2DáIF ²Q±o† Æ6xiÀ!CRSS O:5bÄþ©Û·o³OÄ+èKKK©žŠ™ˆØ^7DTVVƯ/ÅÌÌÌÚÚº¬¬Lëx>]r@™º3ô%%%ì€[ªÎYºti°’ˆˆv655U.—Ñš5køq›6m/^LD‰äæÍ›\0ùúúrÕ<ãææÆ·TUUuçÎ…Œ3F¡š§ÿÍgpÕ<ãëë»dÉ…`Ù(,XPQQallÌí`Ó®ˆ?~|BB×~ãÆÀÀ@î)°Üïˆ-XêØ±£ÊÞ¸öòòr~ü¿¦hϧK.(Sw†ÞÌÌŒ+œ:pà@nn®B£³³3+Á¹!eee§NâÇTUU±ƒ´´4ŸÚÚZ¶°Ç××WyÜN/×®]c·çr‚+**Ø^æ\ß AƒZÔ¤roZHHHˆ‹‹#¢¥K—º¸¸üküˆ#V­ZµlÙ²§OŸ²ôöèÑãîÝ»ì5Ž1‚™mwCD¦¦¦ ÷!p¸v©©©Â)•)ZÇóé’ ÊÔ-èÛ·oÏnܸÁm«ÂŒ=º°°ûñÂ… ÿüóP(d?rµ2·K½2ö ªŒŒ v—jÏž=•c<<< äryjjêôéÓù§¸‘sóæM6ãÞ£Gå®z÷î­Ð¢þ u'‹çÍ›GD...Ÿ~ú©šYŸ}ö™T*]¹r¥L&ËÏÏÏÏÏgí&LøøãYAÏžíEDÖÖÖEEEõ-CçÚ­­­T¦H$öûÕ:žO—\P¦nAïèèÈ”Wž|÷Ýwü;wîüÏ?ÿ°­ ‰ˆÖÀËË«¾Î;tèÀE6 ®T9 ¬¼>[ýAê.**Š­Z°`Á£Gø§Ø·ÕÕÕ÷îÝ#"‡6mÚpg—/_~îܹÄÄÄ¿ÿþÛÝÝ=((ÈÏÏïøñã,ÀÁÁ´mÛ–ˆ ¤R)÷ÉŠÃUÒ,Œ ²È.,,d» iϧK.(S· ÷óó³°°xòäÉåË—E"Q}+"þúë/¶ wçe¿~ýâãã Ï;§<•Î×»wïV­ZÕÕÕeff*ŸÍÊÊbew57ÇÝÝÝÔÔ´¦¦FåÂ÷ëׯ+´¨?HÝqß|ðÁ*²²²ØVñ[·n ៲²²zíµ×^{í5~ã‘#GØ·ô¨ÿþ.\J¥yyy/½ô’Bÿl}”µµµ““kéׯŸ@ Édl Êxâ½óšÆóé’ ÊÔ½)ÖÈȈ=à3//oΜ9õ…:tˆ 2„°ÊL,_¹r¥áK÷êÕ‹ˆTFrÞÞÞÿ:Z¡PÈÖÕœ8q‚ÛV…‘Ëå{öìQˆW-bÛ¶mááá}ôÛÁ¯ªªŠíÁïììÌ}‹ÂÝ"|ðàA…ø¢¢¢¤¤$"ò÷÷çÝeeeÅÞ®£GÖÔÔ(¤>|X¡[MãùtÉÔRlVV–±±1ËRxÆ*ÍjÄÖ­[—––²FneEß¾}+++ùñ»wïîÞ½{÷îÝOœ8ÁZBCCYð·ß~ËÌÎÎfkxÌÌ̤R)käÖ«ÄÆÆ*†{Õˆ#$ ×þÙgŸq¯}Æ Z R%õŸ{ÿþý«õ`ûÍ»ºº²¹÷[ÔôÎ;ïð»’J¥ÁÁÁìÔúõë¹öêêj{{{"²··/**â§ÌúíÝy@UÕÞÿñuà@ÁpAÅ5穜óÑ&MË4Òë-³,½VjÖ}2¯¥öxµÁGë–Ùc)©O6Y**š*  *ˆ "(ãÃᜳ¬Ú¿sÏAdÜù~ýÓqíïÚ{Ÿ³ÎÚk?þ¸¬ß°aƒkûÿ÷Ëöùóç»¶§¦¦Êû¡;wîìt:kQo±X>úè£~øAí^ÓkÀ•Û“bkèEY¸p¡ŒbF£qÚ´i¿þúkaaáÉ“'?þøcõFU³Ùüã?ºöR·‰|¥ÄÇÇËe?ª€€€ ¸MçרþwÞ1™L-Z´Ø¿]®É-Ðë¶lÙÒ¯_?u óê;sæLjjê™3gôz}«V­ºté^u»Ý~öìÙË—/·hÑ⪻@9sÆn·‡……µhÑÂ5ß×QRR’¼/sݺu“'O®Ë UÛ·oB 6¬¾y%ùùùéÔ©“Ñøûû½^ß±cÇéÓ§ÿúë¯êV˜€výigè¥I“&Mš4Éf³¥¥¥Ùl¶:øùù5ö €zó'ô’··w—.]{@ýû3/¹þôô€†è û} ½ÜuÄ· Œz@Ã~Ÿ¡6lX£CóÔð6ò8ðgç¶*„z@Ãô€†è #ÐF 4Œ@hÐ0= az@Ãôšät:m6[õë­Vkί(Jyyùµ«¯¯¾0V¿tÁ‚nÞÞÞ]ºtéÙ³g¯^½|}}ësh7’ÒÒÒY³fɌޮ]»—_~¹Ò²‚‚‚eË–mÞ¼ùÔ©S‡#&&¦wïÞ“&M9rd¥õ)))¯½öÚîÝ»³²²üýýcbbž}öÙI“&éõ•¿‘³Ùlï½÷Þ¿þõ¯ÔÔT«Õ1bĈW_}522²^êë«/þ¿-[¶äåå)Õн{÷*ÎÓºuë£GVçÿ5Uëz«ÕÚ±cG!DË–-ûöí+®0C?yòdùX²d‰k{rrr@@€"::Úu’~èС²þý÷ßW :tè „0'Ožt¿¬ŽŽ.++SÛW®\)Û~øáºÔ×W_Ôu†Þ^¯¿å–[Ö¯_"„øé§Ÿ*-+**JJJ:|øp~~~¯ø'³`Á‚'N!V­ZTiMjjê§Ÿ~*„7nÜ‹/¾èz¨K—.Ï=÷\PPP^^Þ¡C‡dã¡C‡vìØ!„èÞ½û#<¢®ZµJa·Ûßzë-×ó,[¶L¾X¼x±ÉdRÛg̘1dÈ!ĺuërssk]_—k  õ³ËÙlnß¾½¢¨¨ÈíЯ¿þ:räÈÀÀÀnݺõìÙ³iÓ¦Œw­i×®Ñhüâ‹/„‰‰‰F£Ñh4víÚU±víZ£Ñ¨.ß;v¬<úÙgŸ%''Ë×sçÎõÒš5käÑ-[¶ÔË×x-$%%-Y²DñàƒŽ3æJeß}÷¢(Bˆyóæy]°`A~~~~~~ïÞ½eËÏ?ÿ,_,Z´ÈmýðáÃåß”Z#„p8ò @ÿþýÇïvþéÓ§ !ìv»¬©E½«ºô€§ú ô‹E®n8p k{rròí·ß¾uëVׯ„„„»ï¾;11Qm±Ùl‡Cý£Ãáp8rË»ÝîzH=j·Û»vííp8>ûì3Ï!}öÙg‡£I“&·Ýv[}|‰õÏétNŸ>Ýn·‡„„¬X±¢ŠJ¾›5k&×䔕•:tèÛo¿ÍÉÉ©´~çÎòÅ Aƒ<ÊwGÇŽ»|ù²l9räˆ|'æö×'õèÑÃí´5­wU—¾ðT>--í¾ûî+((ðóó›5k–Úž}÷Ýwúøø,]ºôèÑ£IIIK—.õöö.))=zô¹sçdeBBBZZÚˆ#„;vLKKKKKûå—_„±±±iii_~ù¥¬|÷ÝwåÑqãÆ !ä”ééépR~~¾ Á'Nt]Ôq]YµjÕÞ½{…Ë–-kÖ¬Y•òÍÒ€ g͚ػwïÑ£G7oÞ¼K—.³gÏ®¨¨p­?{ö¬"88¸I“&žg“ûB*Š"ËÔzõP¥õBˆÌÌÌÚÕ{Ž­v}à©ûÐKIII·ß~»|]ZZš•••žž®(J»víÞ~ûm¹NFZ°`Aff¦ÑhÜ´iÓèÑ£ec×®]###xବ¬U«V-\¸P!„7wúúúFGG«'ñóó‹ŽŽ.--• w=ú—¿üå•W^Qå³Ï>ëÓ§Úþå—_ÊŒ+ÿuèÂ… rý̈#®:ÈK—. !š6m:bĈƒº:vìØ±cÇN:g4þþ·)§Þ¯´¡»ÜëF¡ÞÏ NÕWÚÅßß?88X®ê©]½«ºô€§ÏÐÿø‡]»v>}Z.ïîׯŸÓét­Ü¿¿bĈjš—&L˜póÍ7 !Ô›8k­uëÖÇBlڴɵ}ãÆBˆvíÚUº®ãz0kÖ,ùÙ…¼Kµ N§³  @±víÚƒFFF~ôÑG™™™üqÛ¶m…Ÿþù´iÓÔ.………BˆV­ZUzBµ]žV­¿j—Z×»ªK_xªñ }XXØ”)SäkEQ._¾|æÌ™øøøõëׯ_¿~Þ¼y¯¿þºÂf³%%% !‚‚‚~üñG·“Èí\êè…=ôÐ/¿ü"WÝÈIúüü|¹j_çõæçŸ^¿~½bÞ¼y®8TJ§ÓFyGATTÔ¶mÛ¢¢¢ä¡)S¦ 2dÈ!™™™Ÿ~úéÊ•+ýüü„f³¹°°PÎnÔvu1’Ùlv;Ti—Z×»ªK_xªq o×®ÝÒ¥KÝÏž=›ðÆoôíÛwܸqG•4.....®ÒSåäääää„……Õbܪûî»ïÉ'Ÿ´X,ꪛ¯¾úª¢¢B§Ó]Ÿëml6ÛÓO?-„ˆŽŽž3gÎUëu:]dddZZšbîܹjš—"##çÌ™óÔSOÙíö„„„‘#G !‚ƒƒ/\¸p¥eèj{pp°Û‹J»Øíö¬¬¬ºÔ»ªK_xªq ¯TDDĦM›Zµj¥(Ê÷ß?nÜ8uùMDDDóæÍ¯ÔQ.ש ÿñãÇüñÇ›6m’[@Êõ6ƒ jÓ¦MO~-,_¾\Þä:kÖ¬ììl×C%%%BˆÒÒÒ“'O !Z´h!gÜ£¢¢d —Û´»Q·²‰—^>¾÷üùó‡Ã`0¸Õ«IZ}ʯëã~=ÏŸ••%7ªu½«ºô€§ú ôBˆ-Z´lÙòüùóré|·nÝŒF£Ýnøá‡,XP_W©ÔC=ôñǧ§§ïß¿¿}ûöòáV×çô¼BÝçÉ'Ÿ¬´àرcr«ø÷Þ{ï±ÇB¨ïLìv{g¶Z­òEß¾}wîÜép8233=ßÕ¤§§ !‚ƒƒåú{!D¯^½ôz½Óé<}ú´çie½BÝ羦õ®êÒžêgz!DYY™Ü]ÆD“ÉÔ¥K!„Û3¤®J.Ô©ÑÑaÆÉ}r6nÜ(÷·1™L&L¨Ñu¯gêÄüöíÛ=ªÏ`R÷Që=;]¸pa×®]BˆAƒét:ÙÔ­[7!Ä×_]VVæÖE~âázÚšÖ»ªK_xªŸ@ït:gΜ)çåªñÇ$k||üºuë\‹ GãölTooo!Äo¿ýæ¹e¡<$„HHH¨äkÐëåý¯›6m’‰pìØ±õñ•Õ¿¥K—î¿‚ž={ !:tè ÿxÿý÷Ë.±±±rÎþ¿þë¿Ü&¶ÓÓÓåB#½^÷ÝwËÆQ£FÉ;–/_îöð©ùóçË¿¦É“'»¶Ëo`AA<›*--míÚµBˆÎ;ËáÕ´¾´´tíÚµ?þø£º¼ª¦×@U¶lÙ’——§Tƒ|Âhttôçؼyóš5kæÏŸß©S'y6__ß3gÎÈúŒŒ ¹zÞËËë7ÞHLLÌÌÌÜ´iÓ€dñ‡~èzþÙ³gËöØØØ;vœ={V=d±XätróæÍW®\ùÛo¿•––ºö•«Ò]¿¨ê|EõhÛ¶mÛ¶m«ãIäCmûôéãyH&]!DddäÆ/]ºtéÒ¥M›6©÷È>þøã®õo¾ù¦lïÙ³gbb¢¢(ÅÅÅêw¸sç·õÞb±È÷z½~Ñ¢EeeeŠ¢ìÞ½»C‡²ËúõëkW?qâD·¿îš^ ®Ôä)“|}"##evT8p@ÞÖéiìØ±n™rÏž=ê"!Dûöí]ÞqÇ®Ý?ùä·áõïß_jÞ¼¹Ýn¯Å·¦.®u ·ÛíûÛß®ôŸ6mšÛ7Ón·;V-0™LzýïŸÆ'%%y^">>^ÝSÒ`0¨ŸŠ!{ì±Z׫ϱš>}z­¯•[ ¯Á’ÏýRdc§Nbcc-ZtàÀ=z¸íÝ»÷–-[ìV¿víÚ/¿üR˜Ò€6nܨîÙâî…~øáÌ™3ÕÝ ÝŽ —5$“&Mªt¨×?9ì+}Ÿ—-[öÉ'Ÿ4kÖ̵Ýßßîܹï¿ÿ¾Û7Ó`0lذáù矗º[­V¹ïÐàÁƒ·mÛæú@_ÕàÁƒøá¹ÖÅápÈÛ,XPéÓ¯ªY?{öl“ÉÔ¢E yƒoí®€+ÑmÙ²¥_¿~!!!×ô2ùùù™™™F£1::ÚÇǧêâ’’’òòrÏJ»Ý^RRât:›6mêvèµ×^›?¾âðáÃWý0¡ÞÉÛU‡ Ö×JOO?xð`YYY‹- àïï_Eqnnnbbâ¹sçüýýcbbä3z« (Jbbâ‰'ÊËË#""z÷î-ŸV—z«Õj0¼¼¼êx-—äùÝwßõëׯýµ–““Ó¾}ûâââÛn»íçŸnø4d ÀÌ-Ð×Û>ôeÏž=ÉÉÉ«W¯...B¼òÊ+=" áh>Ðßwß}.\¯§N:|øðÆÐ4èCBB CûöíGýüóÏ7öp€¥ù@ŸœœÜØCMý<)@£ ÐF 4Œ@hØï7ÅÊÝéQG|ÐÀ˜¡4ì÷úaÆ5ê0Ô3ô€†è #ÐF 4Œ@hÐ0= az@Ãô€†è #ÐF 4Œ@hÐ0= az@Ãô€†è #ÐF 4Œ@hÐ0= az@Ãô€†è #ÐF 4Œ@hÐ0= az@Ãô€†è #ÐF 4Œ@hÐ0= az@Ãô€†è #ÐF 4Œ@hÐ0= az@Ãô€†è #ÐF 4Œ@hÐ0= az@Ãô€†è #ÐF 4Œ@hÐ0= az@Ãô€†è #ÐF 4Œ@hÐ0= az@Ãô€†è #ÐF 4Œ@hÐ0= az@Ãô€†è #ÐF 4Œ@hÐ0= az@Ãô€†è #ÐF 4Œ@hÐ0= az@Ãô€†è #Ðí/¿âÆIDATF 4Œ@h˜^±o߾ƀÚ0Êÿ|÷Ýw;µ ËËËkì1¨%ÖÐF 4Œ@hÐ0= az@Ãô€†è #ÐF 4Œ@hÐ0= az@Ãô€†è #ÐF 4Œ@hÐ0= az@Ãô€†è #ÐF 4Œ@hÐ0= az@Ãô€†è #ÐF 4Œ@hÐ0cc•SÅét*ŠÒØÁ5§Óéôz½N§«E_= ¡íÞ½Û³‘Èíª4„ 8°.ç´Ûív»Ýn·+ŠÂÿ n:N§ÓF£Ñèååe4Ö,¢è`èС=àÚ±cG­û*Šb³ÙÊËË ƒ¿¿¿Éd2 ž5u ™ç›@‡ÃaµZKKKKKK}||¼½½«?[O 4ŽÀÀÀÆpMÖ¥»Íf³Ùl~~~Mš4©¯!áúg0üüüüüüŠ‹‹KKK…>>>ÕìK ¸^ØíöòòrÒüLþÕ[,ƒÁP͵7ìrp½¨¨¨0 ¤ù\“&M CEEE5ë ô×EQìv»Ùlnì ñ™Ífy?tuŠ ô×§ÓYQQa2™{ h|&“©¢¢ÂétV§˜@p]»Î×tËBü)Æê?‚€@p½`?J¨ªÿ@p½h”@Õu%%%iii.\h˜ñÔ/í¾úÿøL =V«µFëŒå“zª¿©sMëë«/Ð`ÊÊʲ²² ­V«Ãá0™LMš4ñóó ñõõu+NMMµX,.\Ðâ~šš|51CàµtéÒgŸ}ö­·ÞjìàÿËÌÌœ1cÆ#<òòË/WZ’’2qâÄV­Z™Íæ&Mšôë×oݺuUL.Úl¶wÞy§G~~~f³922ò‘G9sæL}Õ×W_ edd8p ++Ëb±8!„ÕjÍÍÍÍÈÈ8|øpnnnc5£ËËËkì1@#:thJJJ¿~ý¶lÙÒØc¹áìÞ½{èСnOŠÝ¸qãôéÓ „íÚµ;yò¤[¯õë×ÿå/ñŒïcÆŒùüóÏ=ï#,))1bľ}ûÜÚM&Ó÷ß?tèÐ:Ö×W_üùîØ±càÀ5íh·Û/_¾uÕʺ¬ÌIMMÍÉÉ‘¯‚‚‚¼¼¼ÊÊÊJJJŠŠŠd{Ë–-Ûµk§v)))ÉÎÎnÒ¤IóæÍk}ÝÆr}^§Ó]µ&##£iÓ¦Õ¹Išz@#+))yä‘G&Nœ(Ó|¥zè!§Ói0f̘·|ùòÖ­[ !¾ùæ›™3gzv‰• »cÇŽ+W®\¿~ý_ÿúW!„Õj½çž{NŸ>]Çúúê 4¤‹/Ê4¯Óé:wîܽ{÷ÈÈHß»wïÞ©S'³²²Š‹‹Õ^þþþíÛ·¿®qõizðÕÄz@cJLLœ8q¢œ¿ùæ›ËËËSSS=ËæÍ›'š¸jÕªG}T6>üðÃýúõKMM]½zõßþö7× ÅíÛ·ûí·BˆèèèÇË÷±±± xòÉ'‹ŠŠþñ¬Y³¦Öõ®êÒhH‡C}{Ù¦M›·‚fÍšyyy%%% !Ο?ß©S§z€ÕjUÅd2ÕnwNEQ,‹N§óóós=myy¹¢(¾¾¾Õ™ùv;aii©N§3™Lz}U3Ýuüµs}®+§N²ÛímÛ¶õòòª¢Ìb±œ={ÖétvèС:?å/\¸pîܹèèè   ×öââbyžððp·CnJKKÏž=k·ÛÛ·oïíí]EeEEEjjªÑhlݺuÕŸ¬þÕë×ûï¿/ÓüSO=õæ›oÞsÏ=žþСC;vìBtïÞý‘GQÛW­ZuÛm·Ùíö·ÞzkÅŠê¡eË–É‹/v½}vÆŒ6lˆ_·nÝ’%Kš5kV»zWué 4¤üü|ùÆø¦›njÕªU¥5AAAÁÁÁùùùyyy6›Mþ„ÉÈÈ8wîœÑh0`€Âb±$&& !""""##ÝÎ}êÔ)!D×®]Õ&ÅÅÅgΜÉÏÏWËÚ´iPõ˜O:•СC‡Ó§O8Ÿ~ýú ! 233 e± ú­Zµºé¦›Ô3¸ ^UPP‘‘a±XÔ…|ÁÁÁ‘‘‘ž7ÎÖzð †%7ð»¹s熅…Ý}÷Ý‹eÆŒ;wîß¿ÿÀ#""¦M›VéGGŽ‰ŠŠ4hÐ!C¢¢¢îºë®Í›7»Ö\ºt),,,,,lÛ¶mï½÷Þ­·ÞÚµk×;î¸ÃuíþÁƒÇߦM›!C† 6,::ú®»îÚ³gç·oß>f̘֭[8pèСQQQÇÿì³Ï<+ãããG9tèPùUÜÿýû÷ï÷¬¬þÕ‹‹‹÷ìÙ#o¡«G¡¡¡_ýõ;ï¼s¥k~þùgùbÑ¢EnShÇoß¾½kÂápÈ7ýû÷?~¼ÛÙ¦OŸ.„°Ûí²¦õ®êÒh`êϱ-ZTQÓ§OŸÞ½{«sŠ¢È‡^É?Ê;¿E©ôc^^ž¢(F£Q½OÆb±$''»b!DQQQrrrIIIÕc–W*//OJJºté’ëÏŸÂÂÂääd5ÍËq–””œ8qâìÙ³®®ƒ—²²²’““‹‹‹]Ûóóó=ê¶ö¯.ƒo0zø]EE…Ãá(--6mÚÆ/^¼(ÛívûW_}uÇwØl6×ú'NŒ?~ëÖ­êÝiV«uß¾}?þøk¯½¦þ’püaÆ óæÍóœ~>~üø„ Üß¾}ûbccåߪݻwÇÆÆºFm›Í–””ôä“OþóŸÿt­\½zõ„ :d³ÙÔ ·oß>vìØøøøÚ]=;;»k×®cÆŒ=zô•¾‡µp×]w9rd̘1UÔìܹS¾4hçÑîÝ» !Ž;vùòeÙräÈyo_¥w%öèÑÃí´5­wU—¾@³X,ò…ëzOƒÁl6›Íæ*–¯È)ðÒÒRõœ’Íf“¸Y³f²»ÍfKII±Ûíz½¾M›6½zõêÕ«W›6mt:ÃáHII)//¿êÈ­V«Õj P×úÛl¶ãÇ+Š¢×룣£{õêÕ³gϨ¨(¹clFF†Ýn¿ÒÙœNgzzº¢(f³¹[·nƒ êÛ·¯\³çt:]oz©—Á7=ü›¤¤¤­[·Þ{ï½qqq‰‰‰6l«H322Þÿ}µìÂ… <ð@AAN§{ôÑG7mÚôÓO?Íž=;""BñöÛoóÍ7ngÞ¼y³ÏSO=õ¿ÿû¿_}õÕˆ#„999>ø`QQ‘··÷k¯½¿sçÎ×^{ÍÛÛÛb±<øàƒYYY²{nnî´iÓìv»Ùl^ºti||üöíÛÿþ÷¿Ë™¶7ÞxC@*++[¸p¡Ãáh×®ÝW_}uþüùC‡-^¼X¯×Ûl¶yóæ©CªþÕ…[·n•¿¹÷ïßïÚ^G£GnÙ²eÕ5r²-88¸Ò=¤å'þŠ¢¨srê ÏÅ®™™™µ«÷[íú LÎJ˜L&ƒÁPÇS©kZÜ&é/]º$_„……É™™™ååå:.&&&<<ÜÏÏÏÏÏ/<<\þhµÙlÙÙÙÕ¹bhhh·nÝZ¶lP^^Þ¤I“¦M›vêÔ©E‹~~~þþþááá²ÞuæÞMAAœsi×®]`` \@ß²e˶mÛÊ=ÔÏêkð×kèÀÝ}÷Ý·zõj9·Ó·o_›Í¶{÷î§žzJÖ,]ºôܹsBˆ_|qöìÙ²±gÏžcÆŒ1b„Íf[³fÍØ±c]OëëëwË-·¸6ÊóÆ>úhÔ¨Q²QþæxôÑG/\¸ðÑGÉž™™)§¢§L™¢Î‘wíÚÕÏÏoîܹТìÝ»÷Î;ïBìÚµ«¬¬LñÆoÈiãÖ­[?úè£v»ýûï¿B”””øûû×èêBˆ‘#Gúûû—””ôë×謁~É©÷J³Bîu#„PßÒ¨Sõ•vñ÷÷—K„k]ï9¶Úõ’¢(rÒÚó¹QÅÅÅ•>HµE‹òg…'Ÿ   ‚‚‚¼¼<×ü2ßËx-[五ààà¦M›ºž!44ÔÏÏÏb±¸Íñ_Idd¤ë'Mš4éÒ¥‹gÙM7Ýtúôi¹öÆó®_Iýµ°°088XmoÕª•Û­õ5øk@îžyæ×_­Zµ0`@|||zzºÚ(oëÖ­Û‹/¾èÚ7&&fõêÕÇŽó¼;väÈ‘ni^=Ï!CÔ<-;vÙ²e)))G•-½{÷Ž‹‹óíĉ_~ùe‡Ã‘””$}ii©<” ?žxâ‰'žx¢vWB4oÞ<99ù·ß~ëÕ«—ç0®)9Óv¥{øÔvuå«:3WE—üüüZ×{Ž­v}†¤Óéôz½Óé”÷ź*++«4Ð^)Ð ! äª¹†G]o£ÎßË`-„0 žÿÈŸ“ÕY‰n4=߇¨ÊËË+**ìP/}¥ú&MšÈoÅÙ³g/_¾Ü¼yó   Ïó××àþÉdЉ‰qk”YMýÁ]^^~üøq!Dÿþý=טŽ3¦Òán,!äP!D``à¶mÛÜŽÊýŽ9âyªsçÎåææÉ1¨¿Æúöík2™¬VëŠ+¶nÝ:eÊ”!C†´oßÞm¨µ¸º¿¿Ÿ>}<Çs­™ÍfùÅVzTmWï©U÷ó©ºK­ëÝÆVë¾@óöö¶Z­‹EQ×&“)44Tý£Íf“w†T½dHHˆÁ`p8yyy2ÐËõ6:N ôòZBˆÜÜÜ+=€Öf³©Ûé\I¥k„ÊËË333/]ºäù¥j>>>;vØ´iÓ±cÇœNç¥K—Þzë­>øàÿø‡|ˆi®Þ¸äÜáùóç‡gÂP“´:Ũ¾¨4dgeeÉ¿¸Z×{Ž­v}Ö´iSù‘Qaaa+XÔ›Üæ2<………åääÈU7^^^²£ëÏù¤'EQ®tLídffÊ4ß²eËÖ­[»î°¹{÷îêüàÒëõááááááv»½¨¨(;;ûòåˇãäÉ“AAA&“éÚ ¾Þè Æbbb¼½½åvfu9O—.]ŒF£ÝnðÁåkÖ,u¢Ýáp„‡‡{~âl6›Ÿ~úé§Ÿ~º°°pÏž=kÖ¬ùùçŸ-Ëœ9s†Q£«7®¾}ûîܹÓápdff¶iÓÆí¨¼·!88¸mÛ¶²¥W¯^r¬ëösnõBˆÞ½{×®ÞU]ú ,$$Dþ›LOO¨tóJ»Ý.ïáöòòª"ôK>>>åååyyyÞÞÞŠ¢ ×[Qõz½ŸŸ_II‰œò¯Gò̓——W›6m\OQ\\\Ói£ÑØ´iÓ¦M›ž9s&33S.—޽Fƒ¯wl[ 5æåå%wWøõ×_ÝV"„رcÇûï¿¿fÍš«žG®ãB$$$\µXÖ„„„¼úê«®¿/8PõúÑÀÀÀ;î¸#..îùçŸBTTT:t¨¦Wo\C† ‘/4JmTåüùóW훞ž~øðᤤ$·OYÕ[bÔùþk4øzG €Ú;½;vlÑ¢E®í'Ožœãö ¾Þè 6^xṤrùòåsæÌÙ±cGrròêÕ«§L™bµZ…S§N­æynºé&EQž}öÙåË—'''Ÿ?þ›o¾™8qâöíÛÓÒÒÔ-ç‡.„(,,œ9sfBBB^^ÞÖ­[xào¿ýÖíœ]ºtILLܽ{÷”)SŽ?ît:KKKÿïÿþoÁ‚BˆfÍšÝzë­5½ºâĉC‡={öí·ßîù¹Ä5e6›åö 999wÞyçáÇ…%%%sæÌY½zµ¢sçÎ&LpíòÄOÈ`±`Á‚ŋ˿”„„„Ñ£GË÷9ÿûß]g«_?uêÔ‡~øöÛoÿè£jw- yyyuëÖMNE—––¦¦¦îß¿?!!áèÑ£ò_ohhhLLŒÛDû•˜Ífõ†Z“Éäzs­ÚØ¥KƒÁ (JFFFbbâ¾}ûŽ?.×±„††z¾¨Ž°°0µsss=ºwïÞäääüüü   «.ý •ã,((8tèЮ]»ä>z½^]¼wí_ïôPÍš5‹‹‹ Våƒ>?~ü°aÃ^~ùå´´4!Ä”)Sî½÷Þêœ'""býúõ¾¾¾ .6lX÷îݧNzàÀ!ÄwÞ++'Ož,?ÚþòË/ï¹çžN:ÅÆÆÆÇÇßzë­òa±ªqãÆÉÛ;wî=J=¿··÷·ß~ûÏþsݺuçÏŸ—Ktzõêõúë¯Ëuó5½ºbôèÑÿó?ÿóÛo¿Mš4ÉmO·zt¥¿ƒÁ°aÆW^yåÝwßµZ­rQ1xðà·ß~»k×®ž§¡ 7 ²²2ƒÁPÍ»o ô×Nçåå%u„œÅbñòòb†@c¼½½+**äSWqÃ*((¨¨¨¨þ¶iz€ë…Ñhôöö.**"Óß° ŠŠŠ¼½½«³¿Äƒ¥£°°°±‡\wôz½Édr:ùùù‹Åßßß×××ó¡øó©¨¨(---))±Ùl&“I}NVuè`ÇŽn-ì« íªæBçj2¾¾¾ƒ¡¼¼<77×n·{þßÁÿ/ZçùoF§ÓF???ŸêOÏ ,p½QÅáp8N»Ýîp8ˆï7Ng0ŒF£Üì¨F¸¾ÈÉZ§Ói0E!Ðßt¨þJàzT‹`‡ÿP #ÐF 4Œ@hÐ0= az@Ãô€†è #ÐF 4Œ@hÐ0= aÿ ôÂ.BH<IEND®B`‚traitsui-7.2.1/docs/source/traitsui_user_manual/images/text_editor.jpg0000644000076500000240000000525514046644454027006 0ustar aayresstaff00000000000000ÿØÿàJFIF``ÿÛC    $.' ",#(7),01444'9=82<.342ÿÛC  2!!22222222222222222222222222222222222222222222222222ÿÀ!&"ÿÄ ÿĵ}!1AQa"q2‘¡#B±ÁRÑð$3br‚ %&'()*456789:CDEFGHIJSTUVWXYZcdefghijstuvwxyzƒ„…†‡ˆ‰Š’“”•–—˜™š¢£¤¥¦§¨©ª²³´µ¶·¸¹ºÂÃÄÅÆÇÈÉÊÒÓÔÕÖרÙÚáâãäåæçèéêñòóôõö÷øùúÿÄ ÿĵw!1AQaq"2B‘¡±Á #3RðbrÑ $4á%ñ&'()*56789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz‚ƒ„…†‡ˆ‰Š’“”•–—˜™š¢£¤¥¦§¨©ª²³´µ¶·¸¹ºÂÃÄÅÆÇÈÉÊÒÓÔÕÖרÙÚâãäåæçèéêòóôõö÷øùúÿÚ ?öŠ+˜ñ7ˆ%Ò5}:ÌjÚN• ̵ƥe-D÷‘Œ‘#§îô xÚÎ ÓR¶{½J$ò¤š-Ñ<§hŒÆXJNÿ—"<§60³(éè®RËÆjwÚ)±Ò¯^ÃRµ–pÒ"G"*˜1&ÇÈ<æ±* ‚¸-Sñ<:]ýż–’Åij—wwQy~]¼Ld˜3‡89!UŽ“Š,ÀÜ¢¹ûïéú~’u"ºhD÷pmERÛ­Övs÷±‚-ß÷\ãœfë~46ú&­åYÞé÷ÐZÜ,m:Äâ;¥·i–3µØòÀ“8)Ž ÝòÑfeEr÷¾8°Ò­ä:¥¥Õ…Ò4j¶·2@ŒáÕa'™å|©~óƒòŒ•ÝcHñ~Ÿ®ÝÃm§Åu/™¥USj^T ¸b¤‡…—å'vA]Ê”³ ¬¶Õ„QB÷évÆh–TK‹ý´ô8)þqWl®~ÛamwäMÉäΛ$pk/fÁµÈjÚÔî´é$±–æ94û[4tWÄ,æLÊHê*x;ÆHïÓ…§ ’j{Uœ¢—)ÐÿnZÿÐOBÿÁ˜ÿâhþܵÿ ž…ÿƒ1ÿÄב[hÓI‡£nZÿÐOBÿÁ˜ÿâjìòêÞ+‹u±– PöŸøßüEF¥ÿ>öŸøßüEmQG,{½Ì_#RÿŸ{Oüoþ"#RÿŸ{Oüoþ"¶¨£–=ƒ^æ/‘©Ͻ§þ7ÿG‘©Ͻ§þ7ÿ[TQËÁ¯sÈÔ¿çÞÓÿÿˆ£ÈÔ¿çÞÓÿÿˆ­ª(å`×¹‹äj_óïiÿ ÿÄQäj_óïiÿ ÿÄVÕrǰkÜÅò5/ù÷´ÿÀ†ÿâ(ò5/ù÷´ÿÀ†ÿâ+jŠ9cØ5îbù—üûÚàCñy—üûÚàCñµE±ì÷1|Kþ}í?ð!¿øŠŸ¤ÈÚŸÙ¢‚Íbû8˜¹³¸uF=½ë¥ª¿Ù–óãmÿ~—ü+j¥J\ÑÜŠ”ÔÕ™ÊÜ|+’îæk‰õíÓLí#°³,NIÀSS'Ã{¸î>Ò¾ _´–%s`¤¢ª…R¹o•€Q†n:×Iý™aÿ>6ß÷éÂìËùñ¶ÿ¿KþÒó ­Zÿ‚1ú´7·âÎn?†÷‘ZT×ÔG‚¡Š—U9Ê«îܪrrîoSžËAÓ‹áý7Jó¼ï±ZÅmæíÛ¿bÝŒœgÆMQþ̰ÿŸoûô¿áGöe‡üøÛߥÿ Ʀ&U~7ø/ÐÒ”>ù ÏfXÏ·ýú_ð£û2Ãþ|m¿ïÒÿ…gÏìΆŠç¿³,?çÆÛþý/øQý™aÿ>6ß÷éÂŽx…™ÐÑ\÷öe‡üøÛߥÿ ?³,?çÆÛþý/øQϳ:+žþ̰ÿŸoûô¿áGöe‡üøÛߥÿ 9âgCEsßÙ–óãmÿ~—ü(þ̰ÿŸoûô¿áG6ß÷éÂìËùñ¶ÿ¿KþsÄ,ΆŠç¿³,?çÆÛþý/øQý™aÿ>6ß÷éÂŽx…™ÐÑ\÷öe‡üøÛߥÿ ?³,?çÆÛþý/øQϳgþ®_úùŸÿFµ$qG b8‘QE_”ŠÂkšM”´C袊c (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€?ÿÙtraitsui-7.2.1/docs/source/traitsui_user_manual/images/read_only_editor.jpg0000644000076500000240000000605414046644454027774 0ustar aayresstaff00000000000000ÿØÿàJFIF``ÿÛC    $.' ",#(7),01444'9=82<.342ÿÛC  2!!22222222222222222222222222222222222222222222222222ÿÀ1("ÿÄ ÿĵ}!1AQa"q2‘¡#B±ÁRÑð$3br‚ %&'()*456789:CDEFGHIJSTUVWXYZcdefghijstuvwxyzƒ„…†‡ˆ‰Š’“”•–—˜™š¢£¤¥¦§¨©ª²³´µ¶·¸¹ºÂÃÄÅÆÇÈÉÊÒÓÔÕÖרÙÚáâãäåæçèéêñòóôõö÷øùúÿÄ ÿĵw!1AQaq"2B‘¡±Á #3RðbrÑ $4á%ñ&'()*56789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz‚ƒ„…†‡ˆ‰Š’“”•–—˜™š¢£¤¥¦§¨©ª²³´µ¶·¸¹ºÂÃÄÅÆÇÈÉÊÒÓÔÕÖרÙÚâãäåæçèéêòóôõö÷øùúÿÚ ?ô?ø/·^ðõÅdž´i§—L¶y$’Â&gc’I+’Iç5Í„£Õ/¬m~A|l¥Xeš Mæ4“Ì‘[îȼâº?É<ð×ý‚­ôRÖDWÖúf£ã;û¶+oo¨$’RÇoØíºÉ¥'d4QþÏðïý_ü“ÓøõÙþÿ¢Iÿ’zoÿ®‡MÕ­uX^Ks*m¯Äf)‘‘•l‘Èõ©o/-ì–q A4Ég.ç{d÷íY󱨿?³ü;ÿD—ÿ$ôßþ=KýŸáßú$¿ù'¦ÿñê뉩êhÈõì,r`ðïý_ü“Óøõ/ö‡è’ÿäž›ÿÇ«£Õ5´­&ïQ•L‘ÛDe+ˆµ[%F~eÀ9ØXä³ü;ÿD—ÿ$ôßþ=IýŸáßú$Ÿù'¦ÿñêëÿùÐHPI8dš9ØXä?³ü;ÿD—ÿ$ôßþ=KýŸáßú$Ÿù'¦ÿñêè4}^Ç^Ò`Õ4éK9òcr…3‚Tðy‚*+L´žò nTÏgI5’êéE²ç8Q#gãœ(bß…lÑJàrZ6Ÿâ(¯õ8nníìA»ŽìKgo¾9•+F<ΘòÆHçæ¬èü)saªêÆ}Fò{U³†x¦K5/ç¤Ï"ž9‘ÔààýíÃ=«¾¢Ž`±çÙ7ö6òjfMfñ¦’ÖæÓ(7¶Ó\Fœ•ç€ kÑbÞ!ŒK&Ѽ/@ØçìÑCw¢Š) (¢Š(¢Š(¢Š(¢Š(¢Š(¢Š(¢Š(¢Š(¢Š+#Uÿ‘‹ÂŸö“ÿHîk^²5_ù¼)ÿa9?ôŽæœw/xïþIç‰ìuÿ¢šŠF;š4Vwö7Šÿè=¢ÿàž_þI£ûÅôÑðO/ÿ$ÑÈÂæýâ¿úh¿ø'—ÿ’hþÆñ_ý´_üËÿÉ4r0¹£Egcx¯þƒÚ/þ åÿäš?±¼WÿAíÿòÿòMŒ.hÑYߨÞ+ÿ ö‹ÿ‚yù&ìoÿÐ{EÿÁ<¿ü“G# š4Vwö7Šÿè=¢ÿàž_þI£ûÅôÑðO/ÿ$ÑÈÂæýâ¿úh¿ø'—ÿ’hþÆñ_ý´_üËÿÉ4r0¹£Egcx¯þƒÚ/þ åÿäš?±¼WÿAíÿòÿòMŒ.hÑYߨÞ+ÿ ö‹ÿ‚yù&ìoÿÐ{EÿÁ<¿ü“G# š4Vwö7Šÿè=¢ÿàž_þI£ûÅôÑðO/ÿ$ÑÈÂæýâ¿úh¿ø'—ÿ’hþÆñ_ý´_üËÿÉ4r0¹£Egcx¯þƒÚ/þ åÿäš?±¼WÿAíÿòÿòMŒ.hÑYߨÞ+ÿ ö‹ÿ‚yù&ìoÿÐ{EÿÁ<¿ü“G# š4Vwö7Šÿè=¢ÿàž_þI£ûÅôÑðO/ÿ$ÑÈÂæýâ¿úh¿ø'—ÿ’hþÆñ_ý´_üËÿÉ4r0¹£Egcx¯þƒÚ/þ åÿäš?±¼WÿAíÿòÿòMŒ.hÖF«ÿ#…?ì''þ‘ÜÔߨÞ+ÿ ö‹ÿ‚yù&’krë]楬éóCa;N±[iÏ ;d‹šwbBzv¦¢ÓË>;ÿ’yâ_û]覢‹ßøª´¿èñë·~›çýüù–Ѿý¼tó±Œó·¯<¨ˆ(¢Š(¢Š(¢Š(¢Š(¢Š(¢Š(¢Š(¢Š(¢Š(¢Š(¢Š(¢Š(¢Š(¢Š(¢Š(¢Š(¢Š(¢Šúöqÿ’y¨ØVOýQ@ÿÙtraitsui-7.2.1/docs/source/traitsui_user_manual/images/tabular_editor.jpg0000644000076500000240000007732514046644454027463 0ustar aayresstaff00000000000000ÿØÿàJFIF``ÿÛC    $.' ",#(7),01444'9=82<.342ÿÛC  2!!22222222222222222222222222222222222222222222222222ÿÀÚà"ÿÄ ÿĵ}!1AQa"q2‘¡#B±ÁRÑð$3br‚ %&'()*456789:CDEFGHIJSTUVWXYZcdefghijstuvwxyzƒ„…†‡ˆ‰Š’“”•–—˜™š¢£¤¥¦§¨©ª²³´µ¶·¸¹ºÂÃÄÅÆÇÈÉÊÒÓÔÕÖרÙÚáâãäåæçèéêñòóôõö÷øùúÿÄ ÿĵw!1AQaq"2B‘¡±Á #3RðbrÑ $4á%ñ&'()*56789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz‚ƒ„…†‡ˆ‰Š’“”•–—˜™š¢£¤¥¦§¨©ª²³´µ¶·¸¹ºÂÃÄÅÆÇÈÉÊÒÓÔÕÖרÙÚâãäåæçèéêòóôõö÷øùúÿÚ ?õ?xŠm íh’©Þ ew ˜BÙù˜ôÇJÊÿ…mowp—ò¬qFˆ©å,ò’ۀ߷€=¿¥l]Cª\ßÛÝ÷ÛHï ûb nR§#èMdÍá‰æ½žôh—1]M!Í •ŽìíÈ d3¡¬¬Ê/^x­m¯ôtŒ¬µÚSv$À‰~@‡ä1‘FxÅWOiÉml×rO ÄÖ‰t!Q¼À«ŽKsè:T—ZEåäkÚ•[W´Qöåâ7ÛžOñeƒÔšÍ_•Ž—D¼ò` ²/í%ÚX(]猖 œþY¥?Ž´›hZIî.b`ÛDrGµÜåÚ ÁÁGžªkrÖýom!º¶œÉÈ$Á8e# ×5/†n$•f%ÄS©b’Ǩ d,î팂92¸éÐâµá¼G z …\Þ)8ç­+04üÙ?ç£~ty²ÏFüë?ÌÖ¿è ÿ“iG™­Ðÿ&Ò‹H44<Ù?ç£~ty²ÏFüë?ÌÖ¿è ÿ“iG™­Ðÿ&Ò‹H44<Ù?ç£~ty²ÏFüë?ÌÖ¿è ÿ“iG™­Ðÿ&Ò‹H44<Ù?ç£~ty²ÏFüë?ÌÖ¿è ÿ“iG™­Ðÿ&Ò‹H44<Ù?ç£~ty²ÏFüë?ÌÖ¿è ÿ“iG™­Ðÿ&Ò‹H44<Ù?ç£~ty²ÏFüë?ÌÖ¿è ÿ“iG™­Ðÿ&Ò‹H44<Ù?ç£~ty²ÏFüë?ÌÖ¿è ÿ“iG™­Ðÿ&Ò‹H4^šQáûüHã÷-Þ´ŒŽ°zÖ&£·{¦ÜÚ!–2»ÒU¶—Y,v至t”YÍ“þz7çG›'üôoγüÍkþ€Ÿù6”yš×ý?òm(´ƒCCÍ“þz7çG›'üôoγüÍkþ€Ÿù6”yš×ý?òm(´ƒA5­bçJ²Y≦- BX¶ÈÆÌÛU›c…<‘ÐsTbñŒÜ™pfòLö¡¥…[b¹Ëàa³œtõÄ÷kwˆÆŸum†Ý¾Öý¶px¬˜|'%´Êöú%ÌH£@šŠùn¬ª¬¥HèB€qƒNÌ +ĶzýÌÚuÓ¸„aóÁ‚x"§Ñdq iØvæÙ_jϰӵ=6ÚH Ò'pà Ó_#À€§²Z´Ó­m¿±÷ù0¬e¾Ôƒ$ V`Iâ ¤þøýãs°uÿhV¬’È%p±¸÷¬=F júÂKìp›ŠÆé0Aþ•rIu–‘˜hœHÍÒQfï6OùèßlŸóÑ¿:Ïó5¯úäÚQæk_ôÿÉ´¢Ò 6OùèßlŸóÑ¿:Ïó5¯úäÚQæk_ôÿÉ´¢Ò 6OùèßlŸóÑ¿:Ïó5¯úäÚQæk_ôÿÉ´¢Ò 6OùèßlŸóÑ¿:Ïó5¯úäÚQæk_ôÿÉ´¢Ò 6OùèßlŸóÑ¿:Ïó5¯úäÚQæk_ôÿÉ´¢Ò k•Þ£Ýß[¢Ï%¼M)ŽIJUž@<àqÅeÿÂg¬ÆßQY#¹XÖG[Pòªä±ûè>¦®]E«^ÙÏi6†LSÆÑ8ˆÖÜ͟ÓÜÝKq&)’X–'"ý@Ú»1ÿ¢×õõ¦“Ü~5ÒeÔmôñy ºœ…²à£’FÆÈl©ç‘Ö®Á,‡ÄWÄ»ZÃŽz|ÏY0hv·ßkƒD¸G2] »drÌÀ°ï‚Çã§Z½ZÒj77GGÉ–(ã ö¤ãicœþ4Y±æÉÿ=ó£Í“þz7çYþfµÿ@Oü›J<Íkþ€Ÿù6”­ ÐÐódÿžùÑæÉÿ=ó¬ÿ3Zÿ 'þM¥fµÿ@Oü›J- ÐÐódÿžùÑæÉÿ=ó¬ÿ3Zÿ 'þM¥fµÿ@Oü›J- ÐÐódÿžùÑæÉÿ=ó¬ÿ3Zÿ 'þM¥fµÿ@Oü›J- ÐÐódÿžùÑæÉÿ=ó¬ÿ3Zÿ 'þM¥fµÿ@Oü›J- ÐÑY$fÌnN:×;eâÉä‚+›ûqoop³µ»E1°‹vàÀ´áI‘Û5¢%ÖÁhœúzJÃÃ¥»ÀÚ-ÔÑÞZ˨£ymäÇÇÊw`÷èN(³h|{§L׫Ïö-Ögº*Œ]ÐÆÝƒe@œæ§½Ö Ö<{cpï E"NaÁ¨GáYãŽdþÇ»?&v}E ”–Þ¸ê­Êã'½\ŸMÕÎ…s§E¥H|Ô`ešõ‹çÿ­Šv`vÔSwîÌSd—ËBî¤(äÖ¤œì¾8Ó-õ{‹ ÒeX’F £ùh]ÀÆy[ñëU£ñMä:ž¥%ýœ¶öqYC<HÑovguùYXƒ£ƒÎjáÒôpfkGbY›cHæ0[;°™Ú3“œrsÔÔ1è^ŽI$×äEŒ³ÜÊÄ;—i,vy`Œœu§Êû ™wi7n1äxÏJÒk- íí`kLÇjKD2Ùœœœå²y ç$rhå}ƒ™w)§ŽìåÖO†Æö\NÖâUå2)*G¨UÀvbåò÷¬vÐrIÈÏ=y©t¨4!°Žhã‘ÌŒW“æ$’~bq’I>¤ÑÊû2îO¬jòiOeZuÅì—r˜Qat\0F~w°ì­ùVMÇŽ"·V?ÙW®VrªÑäºKåàúVF“¤£¥”/‚Å‹;tbNaÐv«ƒQÓ»#ÚŽWØ9—rÛýÃô§U#¨ÀãhÝ“íKý§oþ×åG+ì˹rЧý§oþ×åGö¿û_•¯°s.åÊ*Ÿö¿û_•Úvÿí~Tr¾ÁÌ»˜:Ö¡‰Œi* D¿ŠÀÁå›|"MûºäŒtÀ§x{Å ®xŸZ´I­ZÎÕ"û2ÆàÈß4‹#7=7(Ƕ3Ö¯<<ššêOnMÒà†Ëc `1\í,±œqšXbÒ-õiõH d¼ž5ŽYo™G c8î{w4r¾ÁÌ»×5 Ø,¬’ßý{ËĶÞá\Æï˜ àž?Zç/|W«&eïÓ\¦—yeö;ˆäxCovÜ­œä6wÏPj ´í{k{w³>U¸+©eùO%[æòCdù£•öeÜÛIš1å’¬›Œ€ŒÇ¼äþUÇÚøŸP…no®™'­/®’ÝT'—öi Ôî'=Jé¾Ûi欟¼ ªPc8ÁÇn…Q†ÏC·žâXíë…d‘[,»Xå€RHPÇ’ïš9_`æ]É<7ª6¥e'Ÿ4¯wæhå·òZ-Ã!vžqŽ„ä‘Yž(Ô5;MoO·³»»Š íæwKK¸}ÈÑ€yè0çò©§&•¥DñÙÄèîvfgf=Y‰'ÏÛˆ´«­NÛRš9ݲ•‰ÖGP HÚ8GaéG+ì˹ÊÏâŸC­E¥ËnˆÓOb²LŠ Ûy€y©þ×Í´OñŸîסËCô®zãJÐ.o%»šÚfžY£ØM ËÇ÷`bµ¿´`Îï›:QÊû2î]¢©ÿiÛÿµùQý§oþ×åG+ì˹rЧý§oþ×åGö¿û_•¯°s.åÊç|M©_ZOikc:ÀÒÅ<í!Œ9ýÒ‚Œòk[ûNßý¯Ê©j1é:²"ÞÂòÉ*T²0ÏQ• à÷z9_`æ]Ì|Q©>£§dHd†ÎI#X÷!3¶ÖÞýSÁýãÅt£Q–ëR6¶‹›‡ÎÕlp‹Ž­œØ:ž*Ii¢ËwÓZbH„Û•\/Ýʃµ¶žFAÇlUØ®ìaƒÈ†?. 4ÚzôúÑÊû2îgè÷z¶£¡Þù÷0%üwsÀ&а¨! äàq’y¨tŸJt1-Þn/ Ä–ð¨YŠ’eè­–ì´û]/A²³¹³‚ÞqËo•^i–ÎwÌH9ç#<Õ»1¤ééÛ[„(+Yþc–Ë“’2ry£•öeÜ©¨Ýk6÷rÇsnn¤*Ê(·,ƒwï¹åUTðxÉúT ñ¤uÒXÚÖK««UƒËg’¤†ÝÔ“ŽGNkNæ×HºÕR–9ÅÚ*¨xæ‘2–…`dž õ¥ŽÛE‹Q’ý-H¸|䜕Éà¹Ú î@ÉïG+ì.eÜÌÑõgS´–ÔbŠy¬-oã¸6àùRû.pÀàžyç8­O \_^h"æúq?šÎðKå„/~B@ã$sÇb*;{ ÚÖêÚ+VÝ!ŽU,Í”Á'* …'V¿·Ø#@ÀcjŒqC‹ì>eÜ»P^ÿÇœ¿îÔ¸oï~”Ù"ócdfùX`àRNÌÐó(µÝN_µžäKIH¼·‹÷¶ä)ØçåÁ€ÆXðÃð‡DñÝý„sK«¤¨ö>}Äëc´YÉòàcøó–õûµé¤Á,M…Ú6R¬¤äx" ]+NÒ´ü!¶vÈX¤j9?AÖ¶öˆË‘œÏ‡õ(®¼/cy#"bY‚ÄP#à6ãŽOJÍ×µ‹Í?\’Ú=M Qb. ·6‚C4»™vnêÀüëÐO‚EYW`Ã!³ÔT+áû¾kåˆ ¶ÊiÀÊw>žÔ:ˆ=›8›{Íqü@–N¨»þÓ"ý™p-Š &ìçw™•Ï =륭(ô+(fšhã ,Ä]@È=ø©²áþóþtÕD/fÌŠ+_û.ï?çGö\?ÞÎjƒÙÈÈ¢µÿ²áþóþteÃýçüèö¨=œŒŠ+_û.ï?çGö\?ÞÎjƒÙÈÈ¢µÿ²áþóþteÃýçüèö¨=œŒŠ+_û.ï?çGö\?ÞÎjƒÙÈÈ¢µÿ²áþóþteÃýçüèö¨=œŒ¤ÿX¿QM=k\é Üò9ëGö\?ÞÎj®Í™V¿ö\?ÞÎ츼ÿÕ³‘‘\Ç‹­á2ØÞM­ÂÀ“*Û][¼©+0Rû®vàÇ'Ò»ï츼ÿTÔŽ›¢Ù5åõËAeBÝrÌÁT`äC¨˜*rG%w¥Ú^ø‹N—ì Ê,wsÎËó"§Ä·ÍÔÊr9«YY\Úx¶â[o.æ4ŽáçeFIG*ÑÇ#Ÿ•±óÀùF3]]Ýþ—e©¦Ÿ7ÛDŒñ§˜¶îb ç ´xëE½ö›u%ÒFºŽ×Íß1¶q1±V ØÃƒÀëƒKÚD|’9OËrðë)z— t5yLÄ™‘2 ‚1]dŸëëOÒ®´íi¦K¶#À¼w0ô*ˆ=›2£ÿX¿Zmk6ùƒ>G½Ùpÿyÿ:~Õ\^Í™V¿ö\?ÞÎ츼ÿÕ³‘‘EkÿeÃýçüèþˇûÏùÑíP{9{2ã |·7ŸÚ MùÈõíKákx¬µ;›D··’EY[¸íÞ)A2d$¥¾ñ9È#Œ/Òºù.ô¨µA¦4ó‰‹'aòѸ!l`1^q×< ¦]jwzd7M%Ý’ÆÓÄú°ù+Ÿ¨RqKž7¸ù$súƒÚI¢—½t¸ƒw/$,cÎN ¢òPô¬Ò Ôü3¤Z]Yy·s‡‚9&B|ˆ‹wû¿"™äe}9ô DXévâââI¾g‹—wcÑU@É5BmWD†Ö –¹£ZL¤lÅNÜòªžž†iäÐÁ.âŒK°‘\îŽw{t÷ϵrz,VÚmî¥ ÛÃ(Xî%¸º‚ÚHç@d-±ÏV$·o÷=Åz8Ó e;yÖe­î“ys-¼W3 »‘J£8rŒF)À$t&hƒÙÈç|-ö7µºžÄ¤pÍ"‘k¶øP1È1êØã?Pñ-¬ž*Ò!0ØI3ÛN¿éÖï*²m.0~þ2}k¼²Š×R·µÇ–I eB›‡¨ÈäǽSÔ¯,4«È¬åQ–i£iU-­ž\ª ùAèY1G´¬’¹æWv­iâ/²›ùd²†óN[¨Þ&&áÕq¼¼÷,sü ï^šsåó×q¨?·tUo¥cæC*«'œŒ ÇÌ=GC[Ù°çfçÇ^´¹ÒIV¿ö\?ÞÎ츼ÿWµBör2(­ì¸¼ÿÙpÿyÿ:=ªg#"¹ïKk”·HŽ—Ð<{ ò¨\½@\žk¸þˇûÏùÕ N};FXÍÄ·¥ÎÔ… ± Ë6g¹íšD œŽSPº±Æš,†wÉ ÊGï m`»8û “žzúÖ”kqypnn<Û{X·yPd«9ÁߺáÎÔ“QÒ"º†ÛíS7ž¨ÁãRѨâ=Ìqàg©«Ó[XÛ•oK{ VÕî­MÀHѺM•ר*ÀG—l-mâ†ÏÌSaop9ÛµË4l á¯9:Ç„¯#³·²û8¾šXÑ&†I¾Ìò©0P`÷qÓV´¾2Òá·Žg½œ,‡©‰Ã8À;‚‘’¸#žœŠÓ±Õ#Ôlã»´¹2Á ;XØà¨ ƒô£Ù¾áí<Šrxbðê,ë§X™ÛNu9ÉrÞI]¼ „E÷ˆÀéÚ µð|Qø_U¶Ô´Ô·’S1_²M%ÇÈÒBí'ÊØã5f ÎÖu 4GxÉÚO-Š8eÎÆ3íß·JŠßÅv7PO4W[ W2o‚E ¡Ã¯#ï)ê:ò(öo¸{O#cÃzdún“=ÓÚDš•ôŸižv(b ß~9=ëĺ<ÚŸŒÈƒDK¢úiAw9dŽÞpU¶Xg8àûÓŸÅV£>§ou#¯å³yNÞ[¶•Ž}Ç­Y½× –³c¦º]»Þ É3*lÛ÷ˆ}öo¸{O" cÅ#̃}½³Çy-ÃÄTÉuåùXŸ™qóœg ß5Û×¾%´}Iì{–š7»,NQðl`sÇ=êÖ¡ª.™a5íÔ³!]ÎQYȸÑìßpö‹±ÕQ\@ñE©–(‹_$Ò̰¬/m"¸f®TŒ€B¶ ãå>•sNÕ“T°ŠöÖYŒça‘Y ÁÇCÏPhöo¸{O#«¢¹ß:_ùèÿt¿óÑÿ:~ɋڣ¢¢¹ß:_ùèÿt¿óÑÿ:=“jŽŠŠç|éç£þtyÒÿÏGüèöL=ª:ûô¥®}&ºƒ#uõ¤3KŸõùÒöNãöˆèh®wΗþz?çG/üôΟ²bö¨è«–ñχµiQ¦™uw±eŠe[± dœ±Áëô":_ùèÿfëšµö™`×p4%#¤3» ú*üLxð){&?hŽ‚k ›½fÊâá“ì¶‘—T–œ»ˆÇ@¤ãÝ £¥è×¶:üó¢¥½ƒ]Ñ.¤NîÛƒln##æÎÓÉjǺյˆu-¾Ëw$hÝÌø#t‡”¿_ÄU};Ä—·“ê;äµ"ÐΤLâàìb;¾_˜ ñýáG³aíØh¶ÙZË%ÙF½º•§¸d$®ãÀQìªGÓ=I­ûƒé\?‡õûb+†‘£>VÂ$›aܹÛós¹zÜŒVÓË vF>´*m‡´FóýÃô§W>’È]A‘ˆÏ­7Ηþz?çG²whŽŠŠç|éç£þtyÒÿÏGüéû&/jŽŠŠç|éç£þtyÒÿÏGüèöL=ª"¸Ðo¥ñ|Ÿ±½ôWÍ!s½JD#Ù·çÝžøÅ3ÃþÔôj·sÝGqcw•r¡e2vù€|{t¬Ù§°ëŽzQìØ{O"Æ‹k­ÙišŠÏgf—2ÝIq -Ó2°w,T¶ÀT€qœy¦é¾»]6;+Ù‘-^ifžÞ6._seci,ñËwã9ΰÕõ;í*æo&(o"¸–)§-ØûrX ž9àJ,<@ÓèÇPº“j¬­0–a1 €c“»°ëG³aí±ªYêW:½œiio6‘ÇhÍÁŒùº²í;‚€¤ ŽzôJ_®¶]Úh—77)(rYÌÊFÒ¸ã드tNóWÕmEœ¦•%tài‹LÌÍ‚|«ó¼é“ ^#»mY t_²™î-ã*çÌÝ îb{`àãŽ(öl=¡­¢hú¶›o;²Ú‹˜´èlm”HYd0‡Úìv¡‹Ž9Æ:šÚÓtôÒ´˜¬Ñ‹˜ÐÈç–cîI'ñ®3O×µ}FÞEŠ;Qtö°]Ûî‘Äa%' ý÷§$pxéZ:¥{¨Ù-ÅÑŒ3¢4%¶H°äg­/fÃÚ#®Þ=ò5Î^ÚEEbÄqÅOEBÐÑêqcÂLH|ûï±I¿u‘DG~K »±8ÝÞ¢—Á²Ï‘Ï©H^¶WgŒ4q¶7*á1ÈP ž8Å&›âƒ§j÷Ö÷—1Ë`Ú•ÌQ»\%B‘y¤çå`däŒqE§õ­ïÒ[Eº†8å€ý¡r+±\gyäc¡#¨éWíÍ]xI¯-ìãš[¦–ÑY#¸a9VÆA ……yÛž>¹DÑüCd‚ÚÁ4æµO¸n|Ï0÷%¶ázç ¶|3­M­ZL×fóa}Œ -€qœ}=A õ°|gâÈVþÒÚæÚÉ-<‡yd£–MÌîñ€F89àÑí{4_ÿ„~_í¾SqÒFEÀF`V#¹œvõÕX| ÑéSiÒ\_O“yá¥d,¼¾FópAØ«_ðêí¯É¥ˆ,YÜ噸¶îYIÆ3¸…Æ}ûV~ŸãË‹0Ís Š\ËeÕºC?˜¹wòÀn˜ù»ð<ž3G´böhVðH:MÖœ·ÑÅu ’fŒÆ¬Ç‰ þï›×>–ëì,·~}¶@\+¸ln @ÇÍœxã™/¯¡Òa¹{;5o^Öxšo¼^`dÚXŽ:õ­1â‘?ü#—Löq[j2uk’®Ž#sÆr¤{‘ÜQíýš  5„ÔšK¿1$2*@#nÛ¿Û±Û§ýoAÔu-P±·p’Ý¡Ey†V<àÏb{ò}*Ì!¼¸ÕY7éqÚ­Û[yÎVäír›€éÉ€î­næöËE»ºÓ Š{¸c/R’ñÉôÍы٣“ºð…åÅ„ñyòKwtÑy×W@™#fÀ£ “ŒŽrsšÚ‡L’Þà†Ü¤Q¨DQØY—ž(¾>ÕuqýŸö8\‹y ÒEçÆ-ƒÁVÝ•î“éN×ü_}eª].ÎÚâ$·IÚigEW [Iué´äóÔQí{4jýŠçþy>ÅsÿRsV¼?â›ÍOWûÜv1‡FxÖK¶ÑÐîVúdøÅ?k öh¿ö+ŸùähûÏüò4ž#Ö®´Ë[lÄ‹›¡Iu!T@Cä{®+oj©’;[ܳCr³\£ª¤ºàðOLÑídÍŸb¹ÿžF±\ÿÏ#[QyžJyÛ<Ý£~Ï»»¾3ÚŸGµ{4a­Â°&#€ri>ÅsŸõF·î7Ò—µ/i+‡³Fخ瑣ìW?óÈÖíý¬ƒÙ£ ìW?óÈÕ=GAŸQ‡Êy.¡B¬Ž!p<Äa†V‚;õˆ«þ-• ðž©2_Éc$vÎé2:gІuË­GƺýµÜ—1„Š‚ÎhŠP<Š[2[ Ùç¶½£f‹7Z×–±Ã#\ŠQ4s©PèàœÆ8ÉŽ•N_Ç%¤6Ê.£Hâ’(ã2Ç!Ý"6Aá'>„Vˆ®æ]3Ov!Ž{äŠâ[yJ-œ?Uè2AË_ë:ˆÐtù>Ý>ámw"¿žc$Ç Xß#ýi ÿ,ÏßÎhöŒ=š:ѧܬˆÊ®WhA§¦®F?SY‘xB(Ú}ÑÜI±K…Üm%;¤ €ÌyäœvÅu‰#™aRñ•h‹xrxäNN á,õ›èVòî+¹n.¾Ã¨O,29uI"”FÌüŸ)< nëÎ)ûFÍ~.Ÿç07Í1S$Ó2–m«µG(›A¸›VµÔD×qInŽ6PެA`À‚yÚ½éV|%©}¶Êx\Jn qæ»]}¡X°Ý•~ü@+;Åm3x£Iµ·’wy­g-mªöaŠ´[[åûÇæaÓ¿µ/hÃÙ¢;Ÿ›B[Æžõd’xg!Y0­Ý+œzŒó[FÒà¦<£œçÄÝêݧˆ†.´n·ztw®'*ÁÊ€êŸ0*àà a[ûÕêòÐý(öŒ~ÍŸb¹ÿžF±\ÿÏ#[´Sö²³Fخ瑣ìW?óÈÖí{Y³FØ®瑪:—‡_SûD2FVHYAÚ㼂0@³ÇWW\§Œ.ä†âÆy-­»Ãs#4s³"((7R~\óèqG´aìÑ žî"‘RxãE…Zq²A Ì[² ùO#g¾jõ¾ö°´P@È™Øç,XõbOSõ®~m_Q}WK/w2»C`̆<4‰?t8—pàçîu®² »N÷Í·s› `d+ó\7#ŒôAëÜŽ8ê½£fŒK? Oegun·š„Ÿh”Ìdy:9;‹)UO8 ŽØÅMiá±hcq²Ì$žl­’]Î]ð07P n…{ ׇ5$¹×$™b¾ž&»ûJ‡ æ ²Œ.G`tÇZ4-bí´e·‹}Õü—G‘Ì‹+ã-/ñªñóun1G´aìÐ\xrâ}Z-En/!’4ùq²l+œ‘†RFz¥$~Xõ¼Ù;eäBXyhò ;3’=Ið?TvSÓ¬#Öf:ªùnŧFÌÍÀbø(£ÈÆ 9öÚÙñ+búf•îï!’!*±"òú/ |ØçÔæhÃÙ¢Õ¯„þÇmq ov|èØHd¢‰A ¨@Û¸àœžy&´íôé-c†(àòá‰UUGTpüahw"óNº[½^ð[.Öòæuº;¢”—ipùÌ|"åFÍt>·ºƒ@ w%Ã<ìó,w241Ê¡fä1œô9{Gaû4lüÿìÓ%‘¢‰¤ £8-A{ÿrÿ»P–¥7¡‹m¤Ü3Okgi#G3’5RVQ÷¹Ç ëÞ¥GÓâ‰âK¶HÜ걨 œg#çò®"Þ-f×Y¹¹·²¾+=ýÃå‘3ò؀ČÈæÁ`3ÛŠ‚Î×ÄIk}’j¦9cC`¢Tpß>ÜÊÄ‚¤c ¹ÁéßnHö2ç—s³¸´°˜"ÇÕ¢ Gevöéõ*„}êPšo• 3Ù%ÑŒvÞt˜ÎOÌù'­rÚF©‘hÑk·i+6bÓåÝ@ÆìÄdöÜG¥KyÛõZ°ó¯-ãŽX¶¸Ú„³&¹Á_•³× =Ÿ$EÏ#¨¬â¼¸»¬ÓN‚7/!`tP ½N&œ­§ !4»` dÔeUéÓÚ¹k}Dø‹R ] LIf'œ}žGïSˬqŽ#«è°ë0½èÔF©-¤¶ùNÙVPy·šÇ•éÐRä`ç—s³†ëK0E$6¾V?tÊŠ§óúÓ´éÒí›ËÉMѩۓ“Ž8çšãÇQÔü§Ã{ —Ö³A$êf 4ž[‚Ä2·$Œã$r;Q®C¬Íqm-¬ZD3ásή¤Ç%\aš9#Ø9åÜì§67I3X¢Ü:•7ü’€F8qóŽ2 Cc¾ŸqçG&£#m+¶âþYWþùbF}ê%o»ÁÂùyyr0;F9êx®Gûn§áÔž-CU¶‰­&ûMýÕÙÚ\‘£;‰\sÀã®i¸EœL–æÒxXC$*r#uAúQÈÚt©I¥Û:Â1´jBöxãð®Ës%”—×Mp­xþlpK+80wLà·ü ¶)û8‡´‘ uŒ¢Sj¾`Æ:Š ìíeymôøb’O¾ñ¢©o©š©EÎ"ö’¨Á¦ê±[Ewe¾+i„ñÆ®U7Œã*8aÉàäsRIö%´sghKA¹XÔúì;q“ІŠ=œCÚHÓþÖóÄþtkùâ:Ì¢gö’4ÿµü¾Qã­ÚÃþxŸÎ³“ýbýE4õ¥ìãqûIÚÃþxŸÎêê “ä’Ø³i²`Få£2.Ó”Ã0x9éOÙÄ^ÒEëXêv{ŒP]Z±<’®‡iÁöàƒùUwÕôdÓ-¤xl…†åksòù{Ý+Æ2sÆ+“´±Ô&ðmÎ “XÍçKû«…Íà*‘· ÆÁœ)êyÍ^ñV‘¨Ý%¶¡§!¸xáòšØ ƒ¹I gÔzVžjpæ‚»:°qZª%eÜè Ô`¾Ó…嬋,ÐŒƒ× ò±¨ÿµ‡üñ?`xOB½Ò4«Û›ó²{×G6ùÏ”q“ßÕr«œà¥5f,Z*®åtºšÚÃþxŸÎíaÿÛO“íÛÇf>ø—9=Æ1Ö¡¹×ôT¶³{‘f fSj]—nïá)éõ+*úk«m)d²±žâàH$›]ãÉ?¼ÁnqÔ ÷+#QÐLJᶰŽþÚæKymAcUe9;9K Ço=†)ºhÙÝM ͸޳ȨÏà?*§m¯iMyx-~Ëö”ÁºòÙC t.}¹ëÒª…Ûb½Àõ« «&0ñ3}«¾YOŠt‹¨ô«‡TŽUšå>@àV;²pA$ ã¶jìvrË;^ß"É*öêr±/N§‚ì:·làwÊöqy­5­XÝÉg€´PV墨tlCW¬µ›Ilâkâkb1’FÜ{b¸ƒk{¨i7³É¦ÜÛj5¹òÜ"„Hßr¬Xb Q¸‚؈㠚u†¢tóo!{xî.&žyY€•› ¼+°êG·'…ȃ Ö±¢¶¡l·qY5ëÿÇ¿˜T¹Áþ}ÿZ’-sLmZh¢[c¨„hR¾fÞ:÷ÇJæïào¶Zé±é3f<–Ș%_(‡, ªàsÇz¯›zu¢­lËww·>y#c,ɵ@ç;²yãŽzÑÈ»;:X¼I¡Geyùæžþs¦]ié«‘o$ÆX“`Âîs#+à‚à–#‚¼`uÉ.â².>©áèmáõ $†`Æ7iÀ·ïcžqU5íwEЭ–IÞYÜ¡ŽÜLªò+0\žzçßJËÁÆÅ­ :• [{×¾ØmIS#Fcã2Îz“žõü!wQèí§Á¯[ –Þ'w³Ý»Êá 0mà õϵ #£ûN‹öÉlþÑmö˜T¼‘yƒr€3’>† ‹VðÜðÉ4Z„‘Æžc²Î¤*䌞}Aÿ© M_ûJš)žhÙáf|²²•cæ`¨ @A/'+mávK’Ú}FÒKŸ¶›èn#´ ¶C/šw çpÝÔ3Þ‹…‘{BÔ4í~+Ém¡ŒÅotÖâD:È«z†v9©/5/i׋i{}eorÊE,ÁX‚p éLÒtëÍ=5›T¶žâò<:ÛlT;q·yÈÂâ³µ}/TÔ¦ªÚé70ëz¥ôÚ¥¼_ O%m‚˜ö‚æ,AàœåyöéEÂÈvƒ8Ö,EÔÚtvÈÀöÜ,»ä¯Cí[ƒbòzzÖ>ƒ¢Ç¢›§70;ÜÊÁ‚5  $n9ä÷ãŠÙG]ƒæ=i64» $jc äBj?±[Ï%©×aù‡OZw›÷×ó¦˜4Cö+oùä´}ŠÛþy-MæÇýõüèócþúþt\VD?b¶ÿžKGØ­¿ç’ÔÞlß_Î6?ï¯çEÂÈçfÕ¬á×?³ÎžÆ:ZµÀaÄÌž`]½HÚG>¼TöŽ›¨ëºž—³—ÓÖ/2R>FgÝò©ï·n¡8¦M $ÚçÛþÞ¢r—oÁ¸Ê‘ùcžhc9ïÚ£Ñü5‹â íFßQ‘­î¢T²;0FÎ[qcœ—n1Æh¸Yu+Û++(g·¶[·¸˜A#€Îx-Ð5•qâ{tû[¤Ó]üØå–T.ËX›l˜?ÄÙè£ïVΧ§¾¥gn†ú(î­ç[ˆ¥å7.q•ÝÈÁõ‘uàè'Ó­-POÜÇ,nÒD>kngA‘±Áû­ÎÐOZ.GD!²gHö ‘к¡<•ÉÇâ?:õ×ô饜ÏdÖö‰óÇpÍ»zBÁ%%G+‚F:äWB­µÓ§”¨ASËÆsõíßÚ¹è|+0Ϩy–²[ÜÛDŠZ4ƒÉ–ÉÜr8´\,M,Á©Y “f°«1ؾ`rW±%xÛµfëz˜Òµ;[(t¨® Ä2J$’íaQ°¨#æïó¯ëéV¼?¢Å¡Çp>Ó´ì¬V„1.jpN2Ny4Ý[C‹VÖì/fšÊKkXä­®-D»÷•$†-òŸÁê}h¸Y‡ÆÚ9»ŽÑl$ûMÄ–‹muܬ{.|ƒýßq]‡Øí÷mò†1œW7{áF»×%Ô×S¶Fk˜&ŒmÆ5MÛÇÞ*¼ãŒWSæ'˜NõÆ=h¸YýŠÛþy-b¶ÿžKSy±ÿ}:<Øÿ¾¿ "±[Ï%£ìVßóÉjo6?ï¯çG›÷×ó¢ádCö+où䵑­ßÛé qéææi–I ÎOpã½nù±ÿ}:Æ×4«<Á|–ÓB’G¹“ÌR’c#žxô4\,Šx‡N[ÛH¢°w†tÚRÁJ‰Ž#Âõn~ö>èæµç{/a³òL—‚Â8ÆJ¨þ&ôãܚʓ–ÆþÊxï”EmáÐ4€Br»#fîÁÜ8ⶬìíì–vI¼Ë‰Ø¼“ÊAg=³Œp:0¢ádfØjêZ=ÅôDâX¦’k#*¹d}¼œyêp*M:ÿO½Ò$Ô'mRt›{åT©ÁÃzÖ¢Òô‹í?O¾·}fÞI®'yÒTµ ‹0*\îRN1qß<Ó´ïZÙÁm÷^zÁ+Î"P1› „ç„dõÁ¢ádGw©Åh¶“±ÌQ^W!2íµFÌäœHãý@Ž-nÆM]¬ÛOuƒÌ–î7¾H†\mêÁïW/´Û›­vÖþ=JÝ`@Ó[ù˜l̤8à dƒŽqÔÕh¼7z»]6 ÜK4ñÂY%|¶yœ zš.D6ZÊê“Éo¡È÷n`ƒÎPf†RB6㟕‰¦;Õýæ-[N’éì>ÊñË$[|Àà”8ʰàŒÐÕ}7@}:ÖáUS;YÇeo*Ä•a¶ ;˜$žã[–öÖtVvÅV(cƒvNî{Ÿ~ô6Eº‚÷þ<¥ÿv¥ÜßÜýj;„y xÂà°ÆI¦ž ö8»]Jöã[ÕlŠù6žX†A2ƒ#2ÚGlóÏ`9ªÐø‘äÓe½—I¹´q‡‘O›"¹B‹·'$Ž8çÒº)<3 ·mvðBn3“$¤`ËŒõǨ ðm…µŒ–0ÚB–²6ö{»9È$äó‘ŠÛw0ä}Œ&ñ!ŸÃòêPÙ]'“?‘p™UxNT‡7Þ^1ßÚ®ßjv¾#°Óã´Y-çŠg–S Sƒ8=@ÝøäzUÉ|¦IbÖ’ÙÂm™Ã²4†aÀ$ç$ý}½Z—ÃO´rÛÃ"ÛaIÛs× ëœàQλ‡#ìa/ˆKk_ÙͧMù†5™äUßîª~ðõÚI’;UÝ_P:N“qög¸€Æ$p¥ pOêàð˜¿ûpµ‡í;÷ïÜØ ýí¹ÛŸ|uç­7Vð©Õ4›Ë¸6ñÝÿ­’2 vÎ7@Ÿ:/ˆ¥¶¹×Z\L³$Sn¹M‡Vdbý0v°úãÖ´´»ÖÔ´»k×µ’ÔΛÄ20, ôÉr9üieðe«émg$6Òº¼åNã0‹6Hú‚íŠ×þʘŒÀ€%5Õ‡#ìR¢¯eÏýä£û.ï%W´qrK±Fнý—?÷’ì¹ÿ¼”{H÷Iv(ÑW¿²çþòQý—?÷’iáÉ.Å*÷ö\ÿÞJ?²çþòQí#Ü9%Ø£E^þËŸûÉGö\ÿÞJ=¤{‡$»ÓýbýE4õ«ÃM™HbÉÍÙsÿy?:\ñ¾ãä—b{û.ï%Ùsÿy)ûH÷$»ö¼÷ñéªtï;Î3Ä­ä"<žYoŸh~ ÅdÝê¿d°žÞ÷Q6KÁ¼¹ŠÚ*20:‘€´zì.ô5ºµxnÖ'€òÁ‰cœç±¢ªÍám>[;x%·¶6ñÜ©bÏlç'=ÁÎ{æ¥ÍwƒìalŸ‹VyÖÎ5VXâVŽg˜Øò½°äžN8¨´ÿGÅÚžŸ··¶ýÒóÊ»79Æp1ÇCê tÒørÖMB™!·7h–ÙÁÀéÇCŽÜqÛƒÃö²joxݯL>C¾âI?tŽ˜Ïµë¸ùcF¹»{ÍJÎêy&6ÍÇ–5G;ÉÂñ°ãå=zæ§ñž½u¦CkiIoÑo7ä6àGÈAëëZv·±‰ÒÁ ²Û¶Hã©ÉãÓµ_ÔàÓ®4Ÿ+WŽÝ¬ÆÝÆvAÏžœÕÒ«ÔŒ¤¹—b*Òœ©Ê1|­õ9Ïk·ÚÖ‡v—¡¤²,qܶs(ëÏbG¯½hÖ¥¬‰¤Eš­˜Qåy$ÛœðGZ‡û.ï%« T”¢¹Sè¥8ÓŒdùš[”h«ßÙsÿy(þËŸûÉKÚG¸ù%Ø£E^þËŸûÉGö\ÿÞJ=¤{‡$»Œš•âø€¯Ÿ‹TÔa±0lY^0±8ݸÎ1ÚÝßItðê·kvÊî°M kA&7FÈ2À äÿtMáËfÔÖñ¢·ûh^'vÇLöÎ3ïE§‡-­n§šÒ+xçsû„“×8ÇðóÎ3Sί¸ùbй–Äùm%¬ÄäˆÕd“< ?)bÏZ禽Õn¼7e{o©µ½Ü» Hâ‚6ó¦.U7nB’Àcø°x×ÜxzlMµÂDmݵ˜Œç9ê{æ…Ð`…-6¥º-¾E·8ØX`í÷ Ÿ®hç]Ñö!Ĩ¥2›~ià8Ç^y?…sú=Þ ÷Wj7WQݺÌÐÅ<ˆv,˜Œ¼°¦rGÞüºÓ£ÈeYr›ÕJƒ“À8ÏòI<-cæÝì·¶/p¥.$îVê1ØøÆióǸr>Æv‹%ܱ\4ó½Í¶ñö[‰#TiW1€6îÎÓŽG¯Z¡¯]jë6ZO¨,3[Ìï¼R¶ädÁ;Çç9ü+¤Ó¼;oa%‚Æ‘1É #8Èã©&™uáû95 {ë¡Úà†F©PNH8ëü©s«nŽûLšßˆáÖ"ÓfG›qd³O©ûÔy¨8 ä•Á<òØûµÜŸõð*¯?„4Ùîe¹šÚݦyc–G20̉÷ ç¨ÏªtéˆÛ¹3œÑλ‘ö(QW¿²çþòQý—?÷’«ÚG¹<’ìQ¢¯eÏýä£û.ï%Ò=Ã’]Š5™®O{kmk5œ¨ƒípG(h·—G‘T€sòžO85ÐÿeÏýäªZ…íõX’=B§2†vP±àŽzRsqòK±—u=ì^%ÓmÖTûÄSï‹Êù· ÙéÏL~5*ÞIwzb³`„‘<ì2 cî'©©è:uévo ZO}my-¼munÁ!‘Á@=9Çø÷«‹£ºEå ‰c€ª0ü(ç]Ñö9í}FÓÃw·Wno!¿{E1C´ß×jg’7t'œu«Ðjñ.C=ÕÙva‘U&yTáƒò®;‘À¡má6ÖÎêÞÞÞÝm¦$ξc0cÔ’I8=óÁïW-4­am#T…+ÉÁ9?7S“Ï^i)®áÈûªG5’EvvÛwÚÅòÝw~ñÙŽYT/C‘“޹À©«{ý°KLÞK«Ëe€  ¢ܬ\œs“@+£¹ðµÆ£åÄP›ÀI<ÆV!I `œO9ëOÖɩIv‘[‹Ç;sÏSŽƒ=Î9£wGØåô«ÍJþÞHeÔŒRM§Úß-Á… ‡Ì,Y@Æ €œg'ž¦µ|9-ÕÆ› ÅÜï1šF’tUs ?&à  ‘ϸ«Ðø^ [¨b‚Õ`œ¸]ĆÁS“ÀÁW}š)»[ûçò¨îá·y²Tg‘X#sš¯m<[­‹‹Ëÿ³Ï½º pñÄ¢1—iäFÞ¤ž‡­gXë:äž»¾ûmÍÄË#À´ó D<ÂR e†Ìž£`ç}5ß2yàI"i`Ûæ ê™ü9©?µeÆsÎjýœˆö‘9iu½aü4×!¼†ñV?.Á¥QðFTÆ>÷!WG㵪Ïsÿ ‡©Au|º{Ã*´PÛî;Êr¹¹8ÆÓÈÏ7dÖeŽ/3hqØ Éo§<Ó_\òy"ʬѡêÁq’>›‡çG³{H˜é«ë ãµ–æv´3•-ž¬J1Èa!õ#øk¬¸»´KYžWY"T&EQæ½þQ’~˜¬»‹æžÚX§·Šx™Hh™7˜=~•›¢Ï¤ýšOIÓl-„ñGl±8CÎŽ=¨öri2;é-~Ù_´ÅqoCä=œ»Ìf6Bv㸺տkš¤W¶Òé×7)g$JëVL^BÞB=2 B=É­ïíiBî&-¾½¨:´£1 ôÉëô£ÙÈ=¤L¨äÕm|W¨LÒ^Ê·Qµ­±€y;ÕX¶Oðó´`·;ûãŽv/x´i—óÉxZhíL‚4°‘Ú)²»T ä•<±ÇB:×qý©8쟕4jòá¢8ëÏJ=œƒÚDåõÄ)–Ö—ˆnÊI}%“©(cF\(²7—\…< ÉÏ%cÕõù.ôkiµI¡k´‘fxôÆtqòŸs ÚÍÀ9c?(È5Ô VcÓË?J_íIýò£ÙÈ=¤M%—mäߘ÷T!} Èž™¯=ÑõŸjÖ,µ™®.¤†q$²Y*GnèNÂ`VŒOSÓ­uçR™PƒÁUxž,MŒ6V‘Ú*mÒ# õz`äæg ö‘á[ËíNÚçP¸¸•íf Hå‘U@bJŽrû¿+~±cÔ$Š5Ž8âD@UWÐNþÔŸÑ?*=œƒÚDØ¢±ÿµ'ôOÊíIýò£ÙÈ=¤Mwûô¥íYRˆRŽ”ŸÚsú'åG³•ÃÚDØ¢±ÿµ'ôOÊíIýò£ÙÈ=¤IµÑjt™~Ùng€Jù&PbÈ9e’+‹¿Ò'¸ðU–ÕÅØûLVÐIfÒ#Š2¦A‹ABOÈ­ƒ].¡â1¥ØM{vvÁ –r‘³œ}MAwâ³hö±‹[›™.ci#ŽÚ íµväžF>òþtrH9ÑOSµ_ím5´‘µä·2Ì ffE#vÙ¾êÎà~ðã½X¶ðõ¥ÇˆµK˜l…‚$R[ âË’Y%ÃË&ìdõ\FsVÿá!o¶¥šÆÏ)]ï²2V GÏðç½@<[º–Þ@ðùi$‚I¡*Ž©åOp¹ý3G#tEà­>k)u'_؜Ėí³[‡(v1±'$ã-ÆìtÆ*Ÿ-uF†ÞîÖ'¹´D)$‚Ì®O´uãlÖ¦Ÿâ© <”tx–ŽhÊ6ÖVÆz>•xê3£p=«\<¥F¢¨•ìcˆ„kStÛµÌ/‡ºv©c¢ÜÉ~(gpööïÑŒrH?w'œWiYQØ) ƒíIý©?¢~TVs­RUÕŽŠ…jœ^ˆØ¢±ÿµ'ôOÊíIýò¬½œ}¤MŠ+ûRDü¨þÔŸÑ?*=œƒÚDçï-doî²›£¨Ã,s‰Å¨€+3 ¿?.zóŽsVôha1¹–ÎÍà·βÿ£´GÌ.§÷ŒÖ“†*Ãõi|J¯«6–­›µ‹Î+å°P¹ï,:Sm¼P.¯^Ñc‘% ]|ØJ T¥“=@$ÝE’tI®ÜÚÇáÑ-Ý´ššBªInÄÜ@.ª¹Ú;ü§§zçµ KáKÓîâãÈš UžÉØ“æ «a*FÏÝ\õ­ýGÄ©¤éòß^0[x†Y’6sù Ôz‡‹LÙç«¶èÚR"ˆ¶ÈפoE>ôrH9Ѿ„­Ä1´®É9nAÁ^Kc¨ôÏ9>œrÖ[^½µ„«n,æ[•Kg‰ÙË)ù˜ÿ­, ü£#ø…lRvÆ6ò=ë:ßÅðÝO$QïÝ]¢;eTm®PÿÓÁã©ïG$ƒÚD_D‰>­%½¿“e$êmÂÛµ¼{B€vÆÜ‚:üGž*ŸŠ¬c¾ñ~ÙìÞCk:/4ÖºŒe¢Ú  xr >¾µ§§øŒj–1ÞZÐHX)d*NÖ*x<ŽAª÷Þ+{Øm •åÄÓFÒ µ·ó>U 6NGMÃórH9ÑÇÞé2ÚøœB“^Écoy§$ñ›WarÈ yŒBÜd±ÏTOÇÕÿå¡úW<§³mI·»Iq¢§Í)˜f2ƒ9 ŒóÛҶΣ8°™Î:RäaÎz+ûRDü¨þÔŸÑ?*~ÎAí"lQXÿÚ“ú'åGö¤þ‰ùQìäÒ&Ås56©e§Ë ¹$}ÍŒVXšBæ2Jü¸Qòœc€2k·µ×c¹Öµ]7û6åNžªÞo••—* ïϽCoâÍ&æÊâí`ºH­ÕÙ̶̜£mu°2§‚3Z{O#/gæqgÂ÷éáyô¤ŠÆYèOŸ30·å;:‚§ïÇcPÒ§½ÕtÍP[Øý®Ù]J ˆ÷•%‘±’T©ÇO¼NGC²|Y¥Ï VгAçÄO)³üaO‘Î{й{¬Ggâ $ØO)¼ŠI<èãÊÇ´ ù½¾n½¸õ£Úy³ó0#ÖL“ˆ“JÕQ‰Â¼Ö¥c¶æÏßÎYøKP‡MŠÜC¦Z¼vÆ ±'í™+ä Ûœ67+Õ'x-­äžm‰J]ØŽ@É5Æ_øÊå?´ä³ÓöÃkeÔ_j¶di3!VŸ˜èF0O9£Ú_ ýŸ™Ï]#ìM¬¨·-å•¢TÔI D‰$³‘Á=r=NpÚG…ÚGþŒ+i4Rà y¸¸$ü¥ÓeJ†ž½«Ñ#ñN™5ÒA½Ó.…¢¸¶;K”óÏ÷v|ÙéŠÝòÓû‹ùPê_ •?3…ðîšö6R\\ÃWׯç\ˆÐ(Up8àø“ZõÑùiýÅü¨òÓû‹ùSö¾Aì¼ÎrŠèü´þâþTyiýÅü©û_ ö^g9Et~Zq*<´þâþT{_ ö^g9Et~Zq*<´þâþT{_ ö^g<Ÿëê)§­tL‰±¾UééKå§÷ò¥íuØ=—™ÎQ]–ŸÜ_Ê-?¸¿•?käËÌãõˆ.®´kË[1žx^óœªÊT’@'ŒúVf¡£^_é¶*ÐZ-ô4BAq*ù$€£(¾è;X`ñÈÇ=ΡçGe#Úý–9g̹ϖƒ»uÀí‘õ‡>±©/†aÔã†Ê9>rË*7ïðÄ r2pFIÆ@Á¤êy³ó0¥Ðnÿá"MJ;…ËylÞc«â0C.Áò¶ðy'îçŒÔÑØjSß_Éz-q,rCm:HÎСá@Œ¨ìrrF:cW>%¹‡ÄVúy´Ì Ñ:’íæ}â|«³ÐŒ¶8©†£¬Ã®ÝZ<qEm-ÀŠÚ6YæýÊ—$‚Ìg‚=){O ö~f?‡´‰ô˜î<ï)|Ñ  ·0æþïAŽ:ÖäŸëëMð¶½&·%ìÁæÚùeš8^07‚v•~r¸ëÐÕø‰´ ¶È®eŒÊ&u ‚îMkEJ¬Ô µ3¬ãJsz"ÔëëM¨<â6ñr·(º´*’HªÉ‘@ìxäWUå§÷ò¢¯5*ŽZ ¥ËV pz3œ¢º?-?¸¿•Zq*käiì¼ÎrŠèü´þâþTyiýÅü¨ö¾Aì¼ÎíuñD¢;Sb–ÍnI•¼ß™•‰ ·W{çÚ2×QMFæëRKV‘ò±Í ¬ÅS?**Œry$ŸÃwíÌ^!6«ollÒò;O˜]âo8gǾ{Tú>½ý¯âZÉ-¢[;5‹Éœ™‰2+œv¦¯&—µògæcj¶Ww^»°³†Ö9î"’¬åc@Ùä.{ç럭SÕ4GQ‚6_²¤ÒXÍc:™ª,›rêvåˆÛМõÕêú”¶¶Vin‹=ÝÒÛ!¹Œá ÏÌTHùzdu¬Ï]C¥Y]%­ªI$s»†Fa#Dû6.É»’²¾höžAìüËëÉâo.6 _0ýñÓÇCŒž{ ÅÓ4{Û Ô•šÝÒÖ+„·Ã02™e|ü|˜ 7g9ö®ñY Ɔ ¡}Ár£àŸ^C\½·Š&h¹¼¶€Ùýšîæ4…O˜‹o F IÃÎFÆ1ÏZ=¯{/2¯‡í/¬tϳ_­¸‘e‘ÔÁ#8!ÝŸœ¨Á±øU}_E“TÖôùä†, ŠD‰"+Êìë€ }«©ðþ¥±§›ƒ-´²nù–Ù|°y CóœwÀÏ\ Íñ6·u¤jÖ6ÐÍc0Jåç³–vÜ…ŒŽ~þžô{N–gær×~¸—ÄÚP[X*ÃqjÖÙ‘”¤Q 0ÀLgŽ9àõ5ØŸõð*Á“ÆÚŒZ´:\šLq\ÜKfr°¬ª ù²œ1˯½w›Ì#jôô¥í<‡ìüÎzŠèü´þâþTyiýÅüª½¯½—™ÎQ]–ŸÜ_Ê-?¸¿•×È=—™ÎV^½k{e 6 lÌ."™üùYÕð0§9Ûjíü´þâþU…âRçN–ÚÞÊ+o6X昼èYBÆ ‘€G'=sÆ:^×È=—™‡ym©Í®éwqEiökeKºf™ ´m ãdŒûUˆôß–êIåón®chÚm¸‡8U”uëÉäÓ¥ñ\ßÚ:|qÚÛ¤W1[Iå:–wóŽaS`çæ7AÍo½ú¶¨,-m–gAºáó…„c* Ç,xãÓ“Û'´ògæq–ÄV—I{¬ÌÖZG‘¶¸„6ÖfÆT’Ùà¸È&¤°ðð¶Óã²–mÖÆY'žÜDŽí»if$”‡–ãf~ñHl m<žØ¯‡tº±•ä‡ì«qspŒ .Í2í*WryÉÏ ®‹PÔu;6Óßì¶JgtF³Éy]™¾m¬0Eù‰ÁÎã‚jÃâ+–ÖŒ/mmö7¸¸¶T"´*IbÙÁŒ g©£Úy³ó1ô­'RÓ¡™÷Ú‹”±ŠÊÛk1SåÚíÀ#%¹Qœc©­}.É4ûKkHÉeˆYº³–cîI'ñ¥Òõ[Tµ•#‹NK¹,íï gF¢J[åqœ±P‡@9 ÑðýåÖ¥£µÕìvûšIRAE’0p®F~¾ýèöšlÏÌØßþË~T*¢–l…Iú‚÷þ<¥ÿv³JìÑìf=žšÚœ×éu½)ºiu¨ÙßØØØXÇs²þêK‹¾e̲fBîŒã=»ÕSGUñ¾“V’ ?²f‚Üi2Ù;›WÀ>õÍ\ø’þÛD±Ô^} ¹¢TvÚUÊ‚gªryÏ¢Ô·šõõ¤³Ã-Æ‘o%´ /ï™±wÄy_0Ç >nX~+’=ÇíÓÚi–6þ mO͈$p-½¼HŒ6(e‰''°Æ8õë[Ÿn¶ÿž£ò¯=±ñíö³sh¥”‚(§h¼ÖpIB~dÇ'Ø¥ÐT’FïÛ­¿ç¨ü¨ûu·üõ•aQG²]ÇíY»öëoùê?*>Ýmÿ=GåXTQì—pö¬žM7I—X“M/˜e1>[JhïÀú”Û CÓ5Û­^Í‹¨Är*(T ä:’I'¾k7qGã¸íN¥––ÁÏØÞu¸xñµ:䌟Ι¢Ïkw­ÝËa¨ Ud–6¹óY7òásò*ò£œôà>ÍwhβöÚÃP±KYîç&9±Ì¯‰Á8 ã¶HéÒ©M hsÙÛÚù³"CÄÅ$ ˜ȎqÈb2z~‡â[žÔ.QΰHÉqo(Œ¶¨'=qŒuÈâ¢×5X¿°nÆ®Ç%ìC r«ÈAÜO÷€ã¾y¡ÓH=£;¡sj%GYØ*!@ƒîžœýF?SYPèº$2\’ÒKÄrEäÈä¤i!ÌŠ£°c‚~ªçíãÁBv¼yŽzsÏÔW-3‰5MNÞÃPoÞé÷äûKÈRP@×þYmÉÚ|Ã'·-ÓAíÜévº~&1ÜÍ4Ó°i&·;à`qÐ(¹µ²»Öm5?·]G-²4j‘¾•ˆ,cœ•_ÈW-áy¡{Kˆ¢Aº'PòGx÷QÈJƒ•vçê;£â@&ñ6•j†9$–Úôy5)-CÑí#g,ylqëéKÙ«\~ÑÜê®´*ïPšõïïVI®!¸*’áCE÷p1Àõñ[Ÿm·Ý»ÌÆ:W\Üjž!ëQ½ª^iézZm®Òù€ù²¡Ï$>CŸ½^’Õó×uÍ0öŒÚûu·üõ•n¶ÿž£ò¬**½’î/jÍß·[ÏQùQöëoùê?*¢d»‡µfïÛ­¿ç¨ü«7V²Óu‘q4rE¸,1VÚà ½:~•R¹ßL±Éf“\4Í˳ L@ʨ cp#œ“ž} 'M UÓI£h¯w¼‘¬+˜QˆŽAÌ[‡}§‘úæ´m›O³·h-ˆ‰³¹ÉcÉ$ž§Ü×ÞLϢܬþeÌéhFvŽHù{y@aÁRr[qÇ5¿ÓßÜ™‘ÞÞÂ"ÁN0ÓžA<ýÔ»’3Ðr½šhÍ+ #OÓìníSÔ$[™ ¥äœïG'qe N}?*Å…†‘§ùM2MvJK9g9v=·\W¦^ÛÍá`n;ˆ.nWí‚í Š»ÎÌ¿AžƒŽ*ö›©½Ç‡ô‘bÉwwqióKoEÜîÃО™É“ekumÅÉ‹}Í)Ý@¨„t ¹±ßžµ«öpÛ¥¼%Q"*à¼ÓF–ÞçO»[«ëƒgý›msw"\¶ä›çi~låʹQŒÃ5ÐxnÖ[]27š¯,†o*YÌ!ŽDybOIç4{5`öŒí~Uü©’ÄÓDÑ–0Æ@©h¬L¡¥Á$Ž¢egQµÆ p}½©WDQ‘v*·ÞQýGz˃GžËÅZÍ賞huÔù‰vT¨¨RÜ9 `Œ?ˆt¬Ë'\O]©óÈñ˜î/„‡È2¾Ycr¦Ë.NrO«ž]Éäc£ŸH³‚ܼ¦1ã(;?öT ñÅæ aóF›Gî¶Gç\¿öw‰"ðŒÖ¦-Jâý/K6i‹ç"L0Û;‡á±ªi·7ZÇc;ÉRFðý«Ë11[ µ€ÚÀãvN8#s˸rG°/„4Û9~Ø'¼ ó2×s0çî— ý1V¬ôÍ>öÊ;«G†[k„YÒ5Û"žA÷¥Åš,ó‹{{Á-é£Íè ~f¹M'Hñ-†‘öµ½E}9_6ílÁðÂ<8ÁýÜ^Nrhær#°:¹P¤FTtSÀú ƒP²Óì- Þ¡%Ôtþ¨\ݽ”qÆ‘ß",R©;Ì€H÷|§ø¿ 9åÜ9"u©g§ÿj=š\F/–13 @a8ÝŸ¨« ¢Ã&2¨[©XÀ'ëŠÌ¹V—Å’\A§M-§5º]4‘íI Þ ‹`:}¹®zËBñ6·_imjâFµ*ñ›´ŒK/da)#'ªqëÒŽywHö:ËÏ Xß›oµ0[J&‰rT+Žø©àäriïáÛY. É/oŸ(r3ÆBçÁ ddã­sÒèºÃxfÉGöȼ;Zê?¶£H\. ÎõIç ã|¹Ítš_ZèÖ‘Þ[Ê',C©ŸÌ1ŽHËI2Çž§­Òî‘%þÉ_ùê*?²WþzŸÊ¹(ÖêóÅš¼vêO,„$\5ã x£Û‘6ç8”p¤zŒd\ð–r5ç’òîk[ ö°<—2¸¸Ë–.ÁŽ PBg×pèòî‘ìt?Ù+ÿ=OåGöJÿÏSùVs˸rG±ý’¿óÔþTd¯üõ?•hÑG<»‡${ßÙjŸ7šN9éGöJÿÏSùVƒýÆúRö£ž]Ã’=Œïì•ÿž§ò¦¾™hÎ÷QA,Í€õ5§L”â>Y—å?»ù½¹ãŸz9åÜ9#ØÂ2é+¥6¨ukq§®ìÜ™Ëà~lã¨"’ÿû*Æ^úú$Šr~bä7|ãÓß ¬ØlµàOM“B™nd7+ ±’»Íwe ‡Ú3“Øã5kQ¤ú…šè×%&ˆÅz±Ë›A— óú‚pLã<»‡${$:LZ”r_Â/$_Ý.8=0{g°ïPÛ^hw:”ö–úœ&î=æP÷gke»í<x§j–—7Úeµµ‹¥­¼ÐÊ_ÍO(ªpë÷‹.ß—Æx«IetÚ¾¡©OnÊŒÁcñ†R73g ,ØEæŽywHö#ÓLÔáwÓ¯#’4l7–¸Áú{ú÷§j"ÓN·ûMÔîªÇQ 1>Àrhðä7Xº¼Ôl&µÔ. ù¦FŒ©ª›¾UÉòrMgø¯DÔ/|›ý0 §Ž/$Û– ¹I ž2=jʵZ‘ƒpÕ›á¨Ò©UF£²f–ž–šš^ÙÜ™">«‚pAäjµý’¿óÔþU‹àßÝè¶7wìêõ•Þ ˆ¶‚Èêy溺tªT”S–ŒXŠ4¡VQ¦ï³3¿²WþzŸÊì•ÿž§ò­+Nyw1äc;û%ç©ü¨þÉ_ùê*Ñ¢ŽywHö0…¦šú£Y­Ý»jžkF™x=Àä~uŠi7——Ù^@÷­ ¯¯~}3ÍCxþûĺ[ÛBhàš9n¬å‰JhÈ>I!Î¥òî‘ì&…‰¤kûfòåŽ7m€üïƒ=ó¸cëZ¿Ùƒîy§×8®óÂIâ˜ïm4›ƒoesb¶ÛgŒ)Š% ¶ çåÀdïïGÿ–‡éG<»‡$JÙ+ÿ=OåGöJÿÏSùVs˸rG±ý’¿óÔþTd¯üõ?•hÑG<»‡${ßÙ+ÿ=OåUom´ûA ß^C"ÇÍ·çr@AêrGJÛ¬Cu=ªÙé’^Ê—pMò4jQRTv9v¤ QÏ.áÉÃÞ=58ìžú}"HIaAÔã®*y4ècÇ›rqÀÝ“Œãòò¬ýF+Ù<[£^C¤LðË=Àx†Íà[qÆ 8¯«M¤Ox.n¯Ìovñ¼vñ‚LvêAqËíaÇSž]Ã’=ŠP>ƒ5ÕÌ7¶ÆÚ‰ˆŒ=21Ï·¯j»aie{f“ØÜ£Û·*cP{ñØÖ6™¡]¶Ÿvº…ŒÑì±´·Š8åO1¤·ÞÁÐçhùŠ•ÜG#YÒt N )lg¹d†âyn.œÉ™ÈvÜ#Ü  ó‚ÃÓÖŽywH“ÜcGym ÷Öæâoõ9PÄ󎽹àz‘Å>3¥IªKeüFõçPìÙïLñQêv—j6ZtZD£F"vkv‰Ae|ª°f*`7Êxˆ4`е!®a­‚ÛÅwwt. ®×)  gvFyÈ® £ž]Ã’=‹Kw ý†îíu8µ»bw € 8úäð9«šwØ5;_¶X^‰áV+¹F0ËÔô5 éÚ¦Ÿo4ÒéøšßK·²Š&•?}$>aÈ —'®@­Í+NþÌÒV6r “Ëõ’7,ߟOAÚ‡9wH—öÌÔWYŽÖGBCÁÍK½}j²ÖE^XŽ©V¸ÞÇ1Š ›R¿ÓÖñ…ÅŠ†˜ÀR¡²=qžhƒÅvQK-¾¯©or«œŒgƒÁô h÷qê—°\MW|^Pe.«µ['œü=Ï~ÕB \¦‰&5ãÌZv™eû*§,åÙYAùÔ“ÈÈÈÀí[û¾F—çñ<iézºŒFG»•Vrq´œp~£ùÓî¼Iž¯i¥Ïtësv®Ñ pv0}ÎxúÇ ¹‹BºÒ­¯ZºŸÎ‘’Íqž2s€ Uü­j\è÷—7w?jš+˜‘åŽûÅm¥ÆÓÂ’QyçÑîù¦‹_NˆÎÓ°U“ègÁâ« ›Yn Ö ’Þ% ò#äz|ûwã­Gëí8WÑ¡‚2qç-æòŸímØ3Lþ5—oà›‹tµQ¨J~Ëo0‘h«†Ž_5\óÏ=Gz/K¼i\xÓO·ÓÖøê[íÌén];]ŽF2 «“k¾M奩¼Q5Ñ&4fÁeœ¯ž:qÆOjÏ>»•.d¹¼–[éä‚_´,˜Ncù3È9çŸj}ö‡¨Ý¾œÑêÆläóI{es+íeÉäc†<j=ß ÷‰bñ1ŸÄsè±K™­âY%%°An@ñÔäc#¯i!ñ$S[]] øþÍo!ä¤H#zsÛÖ™‘y¹w¨}¢F†å#ClanÀvùÏñ7nþÕŸ/„®® Ô¡½½{„¾.6›EQ‰³o™v¹¯4{¾Aï‹ôÑÌÚÌ+Iå‡rTn=Èã¯ztž-ÓâŽ'}^ ²ÈA'#8çŽs×+#þ›…±’Þ ¤¥š)ehôä þ[@W>½rO\qVõ_ \êsÇ:\µ¼Ê›ZD¶óÝ•IÉÏ'ùä÷|‡¯™º/§)¼NJ‘AÈ#Ö²cñ®“4Ï·CowÉ.pONF}+F;[˜Z2ªì‘ P…,F0r:téŒs\Ö—á}U4¸W röÑÜ$6HAæädÆNTãîñïCåéa.c¡µ×£¾’híoÄÏQ*¯T$dgŽãšµöËùìÕ™¢ézvœäÉ5܇̞V%‹6ž¸PáZg›þy?åMry¼?í—óÙ¨ûeÇüöjgÙæÿžOùQöy¿ç“þTí!{Ä‹wpX+O4Ÿl¸Ïúæ¤H%¤ÆøÏ¥7È›?êŸò¥h_ ýáÿl¸ÿžÍGÛ.?ç³S>Ï7üòʳÍÿ<Ÿò§hy Þs¨_Çkek‰²Æd{–#€>„ûV5Ç‹u$ÑS·²Ä«)ŸÌº„(Ûp§i߸çiÀŽ™«ú®•u¨éòZÅ4¶¥ÈÌ‹ì®yR8àŽ"˜Ú-ÄÖÖPÜ»H-¥Y$5“nv £î€vœîúRj#¼|G4šÂiªÁg,“¬“x÷) *õsÁÎ0éPÍâ‹Ëk˘'”Eo-ÄefVfXÆNõäÝŸ—“žzcÛŸ iuÒ)/’'” fîaú¨õêUÐnª÷Ó\M&#xâQ ©E|g,>þ06äqïJÑò I4mzûU°[·ò#G§‘t'#8$(ÁU½ÄK£[Å*¯y$~b‰  $wöª:^…6š×234ÒÜÜV€ …^3ÉÉïøVŽ¿á«/X²ÈÖ÷1€teÔƒÔª~ÅTµøzØšžÙÓ—²øº\‹ÃÞ%Ä:LÒ*®íÙRt•ô*OPjÇÛ.?ç³Rhþ²ðöŽÖ¶™’W!¦™‡Í+zŸè;S~Ï7üòʉûRNŸÃÒáj©ÅT~õµ°ÿ¶\Ïf£í—óÙ©Ÿg›þy?åGÙæÿžOùQhyÞöËùìÔ}²ãþ{53ìóÏ'ü¨û<ßóÉÿ*- ÷ŒÉÒíab&ŠI™d˜&6ÚÁ>w'î¨ÆáÏRÒ/µ0Ú}ªH˜”@uÏÜ+ž„`{{ÕMCÃêP[¤÷ $Ž·‘ÖÙpÈØÎÕΆц(|½, ˜ÚþÑ—ÌHüöê\)ëŒÿ1Y𖓨jÖª.i–âi];É J(îFÜsŠÒ×*é´8W d“Æ}¹üë#Oð¨Òõë­NÙîB\Eå›f,ʧyrÀ–=K1ž)û¾Aï4oÍ«­È‹%»*¿“8™>eÜ0ÀqÔcƒPë(½Ó5 [D[fI –æõmÔl* ò§'æ­YÓ4FÓ–vØdžáÃÍ"Â# @ÀÂŽçQ^è^ëwÎÃ˶ã6òZ¬Ã$äô?(éïëJÑ·@¼®eˆy»ŠÌA:Ý\Ij¶ñ»czι ÇnnG=½Eu†î}™¶sŒ×9wá;‹­^]CílŽ×LƒìŠÆ1>@ÙÎ Ÿ ®€Ã.ÌyOÙÆ(´zØz‹öËùìÔ}²ãþ{53ìóÏ'ü¨û<ßóÉÿ*«CÈŸxÛ.?ç³QöËùìÔϳÍÿ<Ÿò£ìóÏ'ü¨´<ƒÞöËùìÕGT×®´ÈíßÊšu–â8‘”÷¸PÇ<ã-Ø·öy¿ç“þU¬è·º¥¬PÃrö›&I‹}œI¸£QÉåE'Éä?xmïŠ.lõ#l#y"ŒÀ³ËæPÌÅjãæäsÈÀõ«—:ã[N i%’O-¥uŒåÆ;›Ðqêzt5BëÃ’Ý_‹–šP¯äˆÄC÷¦,„àù g=*ä:@† ˆ¼©œÜ3HÜ»’1ÉöÀQhù¼S±ñEýõ¼åmXNEqBpCÇ(% bÓòœŒvÍX²ñ\éO<ßgŽ't‘·ïL©Á*À|Ê{9ôª¶^º±·™Ròs;ÃÍä(òã;^Cu9D70Cö‰"”¤¶ß”¬HÁéÁ9«Ú6·wªZùÓ'’DïÕ—ÌW Ûw+`džÝQ±ðÕŽÄkw;Jö©i ¢¦Ð0N:3 ÄäõãŠÕ³°ûöðÀÉ *¨£€8¢Ñ°ï+%QXœýž±¨Ïâ-fÆKK³Úì[góðÒ9Œ6Ò1ß“žÀt5ZÝ6•5õÆŽÐ*»Ã›€þlË!Œ  ä—‚O<3¥{ejú¬³½´-1²u2ÁlgÏ¥eiº^Ÿ‡u xì-R;š%…B–ÆsŒc9 üY5φfÔ£Ó®!’ ‘ou-âäd®õçï/¦´5ZúÓÄÚmŒVð5”ðM,ò¼» lhÆGãNùíŽrn45ü?»éö HŒÑ˜T© 7$c­‰,m&°ÑÒ[XbxüµhÁ òžžlHYcbŠÀ%TœdúgµrøêI4‡¾—F–±Ý¬M:’Ñ3m' `r@î1Ó8eʆµ™X 0 ÷â¹/HÓ"œôëDbh~X~ïq;z}Üöé@ Ôp>U`OÊz‘Ú¤·Ñ4•hUt» YéË€-Ó®8Ï¥Ey£é…4ôþδگ"ä.ó ÇOR:Ò³ñ õæ±-’è®"ŒE#Mö…â97m;}~^GaГÅ"kóÃi©Ëqfââ ä´H<àÊÏ ˆ&h“"ç ‘Ï^3KÓ¬­üOuq¼S¾ðÒ$J¬Ã#‚@ɪ¶Vœ‰«…°µ_:2âaÉå¸ç ëé@›wysæ¥ýŠZL˜!RàJNps€GCÔ} çú¶¿}c¬}‚×JK¥tҵР­‚1´äò*-ÆÒ]¤6°F²Þ©¸qÖ²|Skowã9.`Še2$@À~ñ=hý¿Œ¦»¿·¶‡JÏÚfˆEºàh?3ÎÛºF3ÔšêëŸhÑ|{kµcK“1"üÍtQEQE÷éKHÿq¾”½¨¢Š(+IJÞAá­FãO¹×0Û¼©)ŒIªOCÇjÁñŠ'Ðü7e$7 ÝÈF3H™ ƒi~ØÉ{ç±­ÿÛAw£KÌ1Í ²†ŽE §‘Ô öoàÔ³kH×äÁLoÏÝéÖ€)jÅúxŠ_&í–ÞÞæÊUÙ"ÎØbÜg#<`¡¢kNËVÕå‡Užê +9§–9’?)$l´H»T7ʪs’rïZÓYZ>½§Ü5¬-2ÄÛd1‚ÃŒµ£oo 5ÖÈc_6RÒa@Þv“êpü(Â÷דÜÞZÝÝ=ÈŽ yÕäU ŠÅ‡ÊÀ#Ž3îk£O¸>••áëKkK)VÚÞ(CLĈÐ.*ÕO¸>”?Ü?Ju5þáúS¨¢Š(¢Š(íÉãTµ{ Ö2ØÉ*@"c«Æ3»©ûÇÒ£Òd½“[¹Û%å€F³nX°9wÉ<ãž E5…›xÆ;Æ´€Ý 9ŒooMÝi4 ;=nù­­ €¶ì˜£ œ¶OAëÍZñ%Æ¥„õ»I’Êò y%VØ%h'¾8OzÏñF§jÅmnÞßÈÒîu‘Tïx¶mVÈ?!ÜrNE\Õ,ín|8-§¶†XNbxÃ)ùcÅDúuŒšFÙ[²G:V‰HQ“ÐcŠÞŽI\Äv)Fs>îÆ?ϵrº§©^ê‰/™…ì7¬ªÑ©HZÖ4ØlIÉÇJêûB&Ú7œŽ@Êñú ÊŠÂÎ;Ýmã´^HÀvXÀ, œç×4/…î®îô徟ϹOɰ&í²º”tà Ìñ,ÚŠkúu½œÚ¯“5´ï$:‘»(Ñ€ÄÊ:|äp}8«¾²µ±²ž;KhmÐɸ¬Q„2p)u;;Y|G§ÜÉm ÜE¬€²N@=Er³ë~)ƒ\M•Ç–÷ s<`~à¸j'ËŒ3mÆrp_žz/ü´?J寴­:]Væi,-^W¸†Fv…K3(;Xœujêå¡úP¨¢Š(¢Š+ÄsßZÛYÏet!öÞ9—ÊdG™ŒŸ»Ãy­šçüUei}on—v°Ü*¹eÆQžô%íÍü/Ò K¡ö˜fß”3½@!·uïÒ–}Zâáî$Ó„fÎÑËpã"Gü‰ëƒÕºqÎqF÷N²—^Ón$³·yáH„r4JY{dWN±¢Gåª(Lch~TÅé·úÝÖ›w7r\\½•â³*_4·˜©À^ÍÝú’*Þ‹â+‡Ñ¶Î“O¨5ÔÖöÐI°K G*Êe@ï0ãÓœ ·gag«G ¤Ç#ÊR0 w­lZ[Á´ 1Æ0Š@Ú¾ƒÐPûj©u§Ã¢Ï¨…íá‰D%w~ñäÎX ¼.ù‡~qŸµ¨ÿnîk¢ÐËwwmä]ˆ°¡*GÝ‘ÎIxZ°³—ÄV2Z@ó€JÑ‚À$sׂOæjí½¢ø–êám`´C2Æãž¼õ  MóQÔ,å†}bhŒÚe¦ nvGº!rê¿.6á02 <šØðÓ^Ë  ïn%œÌÏ,-2¨D~àm  ã ëƒÈ¦éúuŒv´)en±K4«",J×Áärkm¿Õ÷hÿÙtraitsui-7.2.1/docs/source/traitsui_user_manual/images/color_picker_windows.jpg0000644000076500000240000007724514046644454030711 0ustar aayresstaff00000000000000ÿØÿàJFIF``ÿÛC    $.' ",#(7),01444'9=82<.342ÿÛC  2!!22222222222222222222222222222222222222222222222222ÿÀKÅ"ÿÄ ÿĵ}!1AQa"q2‘¡#B±ÁRÑð$3br‚ %&'()*456789:CDEFGHIJSTUVWXYZcdefghijstuvwxyzƒ„…†‡ˆ‰Š’“”•–—˜™š¢£¤¥¦§¨©ª²³´µ¶·¸¹ºÂÃÄÅÆÇÈÉÊÒÓÔÕÖרÙÚáâãäåæçèéêñòóôõö÷øùúÿÄ ÿĵw!1AQaq"2B‘¡±Á #3RðbrÑ $4á%ñ&'()*56789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz‚ƒ„…†‡ˆ‰Š’“”•–—˜™š¢£¤¥¦§¨©ª²³´µ¶·¸¹ºÂÃÄÅÆÇÈÉÊÒÓÔÕÖרÙÚâãäåæçèéêòóôõö÷øùúÿÚ ?ÊñŒ®¼S©Í<’;X ?Ñ­›„EÚJäø''ž¤Œ ¥ÄH?ãÒßñŒV&š¸8ì+ITâ¿F¥B4 ¡d“ÄIÊ£m—ü@Ç¥·ýúéD?åÎÛþý ¢ÀÔDsZ¨#4/í(¿çÎÛþýŠ?´¢ÿŸ;oûö+3ÔcÚŽD>SOûJ/ùó¶ÿ¿bí(¿çÎÛþýŠÌǵö£‘)§ý¥üùÛß±Gö”_óçmÿ~ÅfcÚŒ{Qȃ”ÓþÒ‹þ|í¿ïØ£ûJ/ùó¶ÿ¿b³1íF=¨äAÊiÿiEÿ>vß÷ìQý¥üùÛß±Y˜ö£Ôr å4ÿ´¢ÿŸ;oûö(þÒ‹þ|í¿ïجÌ{Qj9ršÚQÏ·ýûiEÿ>vß÷ìVf=¨Çµˆ9M?í(¿çÎÛþýŠ?´¢ÿŸ;oûö+3ÔbŽD¦Ÿöœ_óçmÿ~…ÚqÏ·ýú™Š1G"SOûN/ùó¶ÿ¿Bí8¿çÎÛþý ÌÅ£‘)§ý§üùÛß¡Göœ_óçmÿ~…fbŒQȃ”ÓþÓ‹þ|í¿ïУûN/ùó¶ÿ¿B³1F(äAÊiÿiÅÿ>vß÷èQý§üùÛß¡Y˜£r å4ÿ´âÿŸ;oûô(þÓ‹þ|í¿ïЬÌQŠ9ršÚqÏ·ýúiÅÿ>vß÷èVf(ň9M?í8¿çÎÛþý ?´âÿŸ;oûô+3bŽD¦—ö”_óékÿ~…ÚQÏ¥¯ýú™Š1G" ÚQÏ¥¯ýúiEÿ>–¿÷èVf(ň,iÿiEÿ>–¿÷èQý¥üúZÿß¡Y˜£r ±§ý¥üúZÿß¡Gö”_óékÿ~…fbŒQȂƟö”_óékÿ~…ÚQÏ¥¯ýú™Š1G" ÚQÏ¥¯ýúiEÿ>–¿÷èVf(ň,iÿiEÿ>–¿÷èQý¥üúZÿß¡Y˜£r ±Òé³k-(·¶±Ž(qæK,Gh'8($“ƒÀ¡ô­&Ђ5îŠÿ§kþ5PxBcm¤j.Úí‡þC¸®–ßXXà‚ÖÃJŠ÷R–CæˆD€ŽÁF}:šó+Õ«GeéÚúÜî¥Bœ ›ÜæŸK8ûv‹¸ðªa™r}2Ñ>¤LÓ´KíHÜÿ¢ØÚ­¼¦7õƒï( ¬r23ǵwÇÑ[ZêÒC$Y·Wšl¬ró(ý+n;ƒo>­ƒÚæ ?ôMpãó ˜|'·†í-ýWkw;09},F%Q—žÏÈçÛÃ2/ y¡ûw¸ÿãURãÃÒì)Α<Äa Š9Qä>ŠZ5ôç æ»Ù4ˆu”ŠïK¹[hW‹Èæ~m°2[=Ôàþ>œíÁ’{ |_¥¦š’ hïm<­–‘„‹—Çlú.ƒçÖ\td¯ËkößÓSè#ÃØÅòó]'×o] øÈš%¬özù¾½PÁ­¤EÈÎàìî 1ÔòG@ã×ÊD£Z+éñvU[qû•I(%s¥Ó”t>µ>*÷…ü ¬kºOÚ¬§²Hã,‰ÁÎÕnʼ+}~x‘Gü}é÷òOþ"½*¹žœÜ'4š<™`ëT|ÑZ3’hjµvŸð¬¼Iÿ?Z_ýý“ÿˆ¤? £‰þSŒò=¨ò=«²ÿ…aâOùúÒÿïäŸüE𬣉þSò=¨ò=«²ÿ…aâOùúÒÿïäŸüE𬣉þSŒò=èò=ë³ÿ…_âOùúÒÿïìŸüEð«üIÿ?Z_ýý“ÿˆ£û_ÿ?}Gü§ä{Ñä{×gÿ ¿ÄŸóõ¥ÿßÙ?øŠ?áWø“þ~´¿ûû'ÿGö¾ þ~ úŽ'ùN3È÷£È÷®Ïþ‰?çëKÿ¿²ñ¯ñ'üýi÷öOþ"í|üüAõOòœ_‘G‘]Ÿü*ÿÏÞ—ÿ$ÿâ(ÿ…_âOùûÒÿïäŸüEÚø/ùøƒê8Ÿå8Ï""»?øUþ$ÿŸ½/þþIÿÄQÿ ¿ÄŸó÷¥ÿßÉ?øŠ?µð_óñÔq?ÊqžEEvð«üIÿ?z_ýü“ÿˆ£þ‰?çïKÿ¿’ñkà¿çâ¨â”ã<Š<ŠìÿáWø“þ~ô¿ûù'ÿGü*ÿÏÞ—ÿ$ÿâ(þ×ÁÏÄQÄÿ)ÆyyÙÿ¯ñ'üýé÷òOþ"øUþ$ÿŸ½/þþIÿÄQý¯‚ÿŸˆ>£‰þSŒò(ò+³ÿ…_âOùûÒÿïäŸüEð«üIÿ?z_ýü“ÿˆ£û_ÿ?}Gü§äQäWgÿ ¿ÄŸó÷¥ÿßÉ?øŠ?áWø“þ~ô¿ûù'ÿGö¾ þ~ úŽ'ùL}5þËáËæ'¾µÿÑw¯¢ëpÙKy(¼KwkI£9f aWå'ûÇV­>ø®ÉœÃy£•‘vºKºDqî­ŸQVá ñoýJ¿ø/‹ÿŒWŸ_„¨ä”ãgæû/î¾Çe*¡œ]×õÜàµ+•1ɵ·3õ5Új“‹iïr@ ®jûF¬xµX2Iá˜ÝNUâ²O¨aA÷·€|_h²,wÚ3$¹ÒáLÊ[ûÛ^23Éç­qf•(c°Î’«½-»êŸm6;2Ç<"5\Jýº¦»ùšxÍl¾ÍŠ¢ÚÖ܇e|™Èù‹ã¨íÇ׌2$¿Ó¯P;ú+Ãĵ”FTÔàÀ…’íä}©¹öÌ'倔®Ï0­š (¢…Q@Q@Q@Q@Q@Q@Q@Q@ÜKä[Ë.7yh[Æp3\®µÚ_ÿÈ:çþ¹?ò5óíˆÂ¡þuÅŒ¯:I8A‘åÔ1Š£­vÖ×½ÿÈõØ|s Ç c úÈ?¯Ãâ366Zœu—×ð¯;±á‡Ôÿ*éôó¿ðùêùÎ* _q¾'*ÃSøo÷dW×–Ú!õ˜ÿñ4q[h¿ ÿQX·Ê>‡ùÓnñ^_úÇŽæµ×Ü|î. ’÷DmnDëj¿„¿ýWy}lÿ)úÕNàñøV]Áëø×]<÷-Úû—ÅæXŠ_¾ãhø½ÇØ›þþõ©ÃÅŠzYŸûùÿÖ®M¿Ö•+ÖÂf5ê¿zßqáOˆ±éè×Üt‡>Áa-ÐÒ®n|¼~æØïvÉ…Ç=sô™£øàêöp4[Û-²òï”ç€rõö5–¦³†š¿m´S6™sôWØì.{ØŽõƒi-̺-„·ªÂéà‰¦»[Ì(7dqƒœñX—ßtýó¯ ÂåzšW³:igø¹.IZéêûlÿtërCé·GŒµFOÚîr>¬µ/ü,»03ýŸ?ýö+Ê-‡#éWÏÜJóëd('dþóéð¹&¤o$þóÑÄû!ÿ0ëûíi‡â€ÿ˜uÏýôµæÎ*»ŠùÌf•/„îàG÷ž¯§üK±¿ÔílRÂáZæd„1e–`3ú×q_?ødÅ[¢ÿ×üú1kè ñ£&Û>s=Ëè`ªB4vk©ľE¼²ãw–…±œg5/ÙuùãkÿÛÿˆª×ÿò¹ÿ®Oümnÿkõ­¡cçå.S<Ç$AD¡C‘’²>¸Ê›S]È?Ýþ¦¡©’³±KUsæÏ‹ŸòQu÷bÿÑIE'Åßù(º‡û±褢¾ç ü áä6_õ™ë_ ?äS›þ¾ö”uÛK<0cÍ–8óÓ{šâ~ȧ7ý|ÿí(ëCÆH’>˜ŽªÊe|†p×Êf®ØÊÌîÁCž‚ëdt_o³ÿŸ¸?ïà¥KËWuD¹…™Ž‡“é^{ö+_ùö‡þýŠÕðÕ­¼~!´hà‰XÁT”טª&ì{2ÉÂn[+Œ“E î–DIÆY€¨¾ßgÿ?pßÁYþ#%·±ŽDWG¿YXd0.2«ÿØ:?ýlð?°Äã#‡i5{žjWíöó÷ýü4ް©iF«Ô±À hºTr,‘é–HêC+, ‘ÐƒŠ§âïùµ?÷óªÃbV"-¥kV.}¾Ïþ~àÿ¿‚·ÙÿÏÜ÷ðW=ý•§Ï…¯ýù_ð£û+NÿŸ _ûò¿áYýv='ûVÊtåÔGæ6îÝž1×9ô¨~ßgÿ?pßÁRj¿ñåuÿ\þƒ^giilÖp3[ÄII%ß±^d(¹+Üú:8 U‚š{ôW0LÅbš9!^(’æÞÛ,ñÆÄg àV/… †ïü¨£Lˆó±@Ï&¨x’§ñ ²Ë:‹V8ugx¢4\ª*wÜÂXwÞÆúÿÀ:o·ÙÿÏÜ÷ðS£º·•ÂGq¹èªàŸÊ¸ìë/ùó·ÿ¿kþµá‹[x5)š(cF00Ê zWUL¾TàäÞÆÕp2§6ö::(¢¼ó„¯ÿ ëŸúäÿÈ×ÏÖCô?ξ¿ÿuÏýräkÀ,‡Ê>‡ùט¯uWÃ.Ñ­ÿnÿíÇKc÷‡Ôÿ*élÝÿ€×3c÷‡Ôÿ*èìOÝÿ€×Éb¢tã$tö'Ïcüé·§4Û&Cüé·q^/'¾|–?c>sÇ^Õ™pzþ5¡9ãð¬Ûƒ×ñ®úQ>#·)7ß5*T-÷ÍJ•îà#©ó5#«,©«}ꪚM}ÖK²Zûï¨þUÌ^ô?Aü를<Ÿ¨þUÍÞýÓôξ» #ÐÁDåµó?ç5ÍÝÞŽ?ˆ×M¨™ÿÏzçnTù£ýã_M…–‡×`•¬:ÜqÓµj@9éÞ³à^? Ò€søÓ­3ìp°äqÚ¯Ÿ¸>•JÜr>•týÑô¯'-ö˜){¤.*»j²â q_!˜u=8È»á¡ÿnÇü¿Áÿ£½ú¼ÃCþ*Ýþ¿¡ÿÑ‹^ù_; ÙòÕÙA^çÅâçË`œåÿ³ýMERHrÿ³ýMGXÏâgE7x&|×ñwþJ.¡þì_ú)(£âïü”]CýØ¿ôRQ_q†þ?ðÇòG¾'êÿ3Ö¾ȧ7ý|ÿí(ësÄZmÞ¡5€µ…¤òÙð@ 㿹¬?…ò)Íÿ_?ûJ:éõvËBŠ9o™Ñ$$Qž}ëå3[}r­ûØ(Â*íXÄÿ„sVÿŸ6ÿ¾×üjî¢êšÄÏlV5''p8àŽÆªÿÂÄð÷üü¿ýóÿ׫zoŒ´}[P†ÆÊW{‰NpA’zöšó#_F{Uqx¹AÆP²k³ÿ2þ¯m=ÒØ¤³´w°ÈÀvUl“ù ÛØßÜoʲµ B6Ýf™degîbOAŠ¥ÿ ?ôÕ?ð ë›F…F½¬­óKó<¸¶¶:ýÆü«Ä–ÓÞè÷ÖÖñ™&DÎjõøå•#]?R ä(ÝjÊ2}Ià}M_Ô.£Ómf¹Ÿ>\\¶Ñ“×xJT©ÅªRºõ¸6ÞåOìËÏùàߘ£û2óþx7æ*§ü%V_óë¨à+Qÿ U—üúêø Õ²Ã?â'û? üÏï_ämjHÏmpˆ¥¡ ($íéŠãm¼5«Çi 5™ ¨ ëÁÇÖ»)¤ò i]H›Êñ‘Æqõ¬ñž–Ê ÇxAäæ»çgñ3ÀañŒkÉÅ/4¿4Ê?ðêÿóæß÷Úÿu–ñ<6V±H¸tU—ЊÁÿ„ËMÿžWŸøiÞ"Õ¦²ðÉÕm…Â"Á5ÆÔ±U‚V&7 Ê©°3Œçî2‚Ùf9fY…ÁÎR¡7&Öº§ù"}L¼·Ò£ŽX|´õÁv#ô"¯ýŠãþy5p-⯻I²Ð(%€1Þ rãƒö3œnëþ­sœ¶äx•·í±)»v6ÝŸ—;ñŒÙöÞ¸ÎÕ¦s–ÝßµI!ÔÁá%7)TÕ·Õ‘é ´hˆ¸ü«ÌõßkÚ†¹ywk§´É!*ÅÑr>„ƒZ–Zþ´Ú…’ß"ZÅuºX¿ÒRPÊ·ÆÈÊñDF~СNâߺ^’$×¼ñ¦‘§ÞKkpò¬±1V3O Š«‡¯ía³²®•J ”¥î«k¡ÂÂâoú·ýþÿŠ®óÁZMö Oo¨@a•®‹ª– •Øx'ÐÕøOôùë7ýû­#X´Öíd¹²ÞbI<²Ì1–Æqùcó®¬ni‰ÄÒöu`’ô«0Âà0ô*sӕߪ1ï´mBë^»¸†Ùš&HÕ_ d€sŒŸqIÿþ©ÿ>ÿ}/øÕíGÄú~—zÖ—5'd{†J­ÿ ¾“éuÿ~MyðœÒ²GÐQÇÔ¥ÛOë¹£¡Ø]XÇtn"ò÷Û’p}ªŽ­¦^ÞkÍoxÒØ£6@‹?CWôj×Y3}‘f ™häð?ŸåPêþ#°Ñ&Ž+Ã"´‹¹J®GZQœÕU$µìeíç:ÞÑ+²—ö§ÿ>­ÿ}ñ­ N»³»’Iá(†È<Ögü'ºüôŸþýÕý'ÄúvµxÖ¶fS Bí¹pŽÿ¨üë²®'(58Yz3¦®#(5(Yz3bŠ(¯0óÊ÷ÿò¹ÿ®Oüx ˜à}ó¯~¿ÿuÏýräkÀìÇèpcÕâ§á×hÕÿ·S¡³á‡Ôÿ*è¬Ýÿ€×;gÁSü« ³?wð¯–ÄÄèų£³8QÇcüé·§–dà}ó¦ÎOãò{çËc¶(Nxü+:s×ñ«Ó? ÏŸ¿ã]Ô¢|v5Ûïš‘MDß|Ô©^Ö :Ÿ78êXSS)¨¦Jû\CšP+^OÔ*ç/: þuÑ^u?Qü«¼è~ƒù×Õa™ßƒ‰Í_™ÿÏzçîW÷£Ÿâ5Ñ_¹¿ÏzÁ¸ÍS_G†–‡Õ`ÖÂÀ¼~£çñª0´a?:²>·пn9JºGÊ>•RÈúUÒ>Qô¯3-õø9{¤*eÅ@àWÉãžç£|6?â­Ñ¿ëúýµïuàÞñVhÿõýþŒZ÷šð#»>W‰êÓôýJ÷ÿò¹ÿ®OüM“êjÿù\ÿ×'þF“põ®ì*½Ï†ÌåËÉóý m÷#ÿwúšm(?¹‹Ý?ÌÒW=OôéEù/Èù¯âïü”]CýØ¿ôRQGÅßù(º‡û±褢¾ß ü áäŽ)|OÕþg­|(ÿ‘NoúùÿÚQÔäkÿ]Oô©>ȧ7ý|ÿí(ësÅ>ÿ„¢Ò+cz¶ªŒ[yŒ¹'Ž1‘ïÞ¾K8M⪥ÝþG«”T*”jMÙ&›ôLðêþÉ@Ò¾²è§®ŸþúÐÄ¿øøºÔðçÃtðþ¿kªdOä>WÙŠnÊ•ë¸úúWO V3M¯Å¡c³ì¾®¥8T»qii-Úô7¼EÿÖõÿþ†+J¡Ô, –Éæ¬B+„˜’ ÎÓœ~5wÈOùì¿÷ɯˆ²ÌV2¤%B7I;ê—æÑð4¦¢µ _¾¿Z£âïùµ?÷ó­Eç/ÐÕ]bËûRÂêÍe‰þ]ä´g®+«‡pŒ)ƼlÛ]Sü›&¬”š±ÎÑ[_Ø+ÿ?«ÿ~ÍØ+ÿ?«ÿ~ÍxØXÿäücþgÏ}N¿òþ(½ªÿÇ•×ýp?ú y•§üyÁÿ\×ùW§ÞÇöˆf‰$e9Æv⹸¼‘B‘ÿi©Ø¡säp>µö˜Ú3« Œóü|](FŒnÓî—æÎj¶üj›¾“³vÍ2àçfvÿ¢L3ޏÎS®7íkßð‡'ý×þüŸñ¨çÖ¨xÂð‘ÜÃ)¾[amÊ.['ê1SGN8èÕoÝM~G~[Vq0©QÙ&yv_ ?äcºÿ¯)?ô%­øUëÿAÅÿÀSÿÅVφ¼žÔ¥¼¸ß E°BS©9Éô¯ Çæ¸J¸i»k³ÿ#ê³ ß[ :pÛZhÿÈè袊øÃâÊ÷ÿò¹ÿ®Oüx% à}ó¯{¿ÿuÏýräkÁ­èqcVˆú,…Ú5~_©½gÔ}Oò­ë3Óð¬ N£ê•nÙŸ»øWÍâÑŠfý¡Cüé'#Šm¡Cüé&#Šòy}ãæ±›f#Bc×ñ«³*„ǯã]´â|ž1Oß5"TGïšzW±ƒZŸ?8êXJ™M@¦¥S__‚èsÊ$}OÔ*À»è~ƒùÖíÙäý¥a]ô?Oë_K‡gn'=|>fÿ=ë à0}Mo^™¿ÏzĸS橯-¦Â+XXAÅhB*”+Å_„S©#ê0EëqÈ«‡î¥T€r*Ùû£é^uyhϪÂËÝ"z…ÅN¡a_1;ã"÷†ÇüUz?ýCÿ£½Þ¼'Ãþ*­þ¿¡ÿÑ‹^í^wgÍq½Hz~¥{ÿù\ÿ×'þF ßíSßÿÈ:çþ¹?ò5Gqõ¯C¯Íò>;Ÿ/³ùþ†¤g6ðŸöOþ„iÔÈOú,?îŸýÓë–¯ÆÏ_ò_‘ó_Åßù(º‡û±褢‹¿òQu÷bÿÑIE}¶øÿÃÉ’øŸ«üÏZøQÿ"œßõóÿ´£­ŸøŽ_ ÚAq (‘ŠÙéXß ?äS›þ¾ö”tÏŠ_ò´ÿ®§úWÊæŸï•=NÜNœ3ákOÿ@èÿï£þ5«áÏM¯köšgÙ#ˆNÇ.2p–=ý«É+©øsÿ#ö—õ“ÿE½yéêz“ÃÁE´zÆ¿©Í¤éëqi#™V=®HñÚ°?á+ÕçÎËþþ?øVŸŒä ý|Åüë–® f"t¤”Mòì%*ðn} Ë_ê—7@ÖÖj$‘P°f8ÉÆqÞºnñ´½2îê%ÐŒ…n‡šã4ßù Yÿ×tÿÐ…u~.ÿ‘{Sÿpÿ:ÓZUbÜŒs4(N*Nwþ Oþ|ìÿï¶ÿ ?á0ÔÿçÎÏþûoð¬:+ç¶q^_qù‡úÅŽî¾ãÓ®­íepC/ûèÖï„üa7‰5i,ÞÚ8V8bFI8 c¯¿é^C]Ç¿ùî¿ëÆOý +¦¦œ`Ú>‹0Ȱ”0³«î—sÕh¢ŠóÏŠ+ßÿÈ:çþ¹?ò5àö£}?­{Åÿüƒ®ë“ÿ#^mÓð®LZºG½’;*Ÿ/ÔÚµà¯ô­»CÓð¬Kn¿lZžœúWÏâ"o‰‘½jpÓúÓf=)¶ÇÏjlǧ5ær{ÇÏbö*JxªR÷üjÔ‡ŽµNSןZë§æ1H¬~ñ©¡?xÔŠkÕÂDðçK R©ªêjU>õõXN† ×Sõþ•‡uÐý?­m\žŹéøWÐáäva¢a^™¿ÏzŸQæ©­ËÁËqþsXóÞ;š÷(OCèp«`‰F*ôJ3UbÕv!íEIŸG„-À9o(úUh5køGÒ¸+KF}.^é ……NÕ ùÜ[¹Ý|8?âªÑÿëöý kÝ+Ã|8?âªÒ?ëöý W¹WŠ·gÏg®õ!èW¿ÿuÏýräk/wû_­j_ÿÈ:çþ¹?ò5‰¼{ש—«ó|¿Só¾$Ÿ/²ùþ†ý±Í”îŸýÔ• ™Í…¹ÿdÿèMSWoâKÔ÷°.øZoû«òGÍä¢êîÅÿ¢’Š>.ÿÉEÔ?Ý‹ÿE%ö¸oàSÿ $sKâ~¯ó=ká?üŠs××þÒŽº½SEÓµ¨Ò=FݧŽ<•A!Až9ãžÕÊ|'ÿ‘NoúúÿÚQÓ¾&ëwú‡ÞŸ;E/™ƒƒÁkåsWleGævà¢åNŽìÖÿ„Ÿôoü —üjÖ›á/i:„WÖ:kEq%íØÈ ðI ¯ÿ…ŸâŸùý‘ÿé¾øã]×MÿÚøG´oùòoûþÕãðø‹þ‚Gü'~"ÿ ƒÖ6Áÿϵÿ€£æo–ÿϨÿà+üx¸U¸GFQ×aÁçÅ`øX’N”réâOñ­½@y6Sùd®ÈÓ“‘òõϯ½xŒž5ñJê5 0¤Žµé)¸½èâªQ„S¬®½.zŸü žÿ KàTŸã[°Ã µ´ÖñùpÁvp£ É¯ ÿ„ßÄô“ó¯gÑdy¼=¥Ï#’[Häv'$³ “ùšnr’ÕÜŒ-\4äÕgéc‡žº§¹ÒšYŸ—ss ,}p¦´ð_ýÿæÿâ«Éuÿˆ¾%Ó5ëË8/u˜]Ù'Ï­fÿÂÕñOüþ/äƾf•iF¥7î´š÷º=$èßUøFiÚmž¦A§iöæ hKBåñ¸äòyêMUiË$ÓY»Ë#v30É>ÊÏð§s¬øNÔodßu9˜ÈÙ<í¨ëÓ€+Ë|ãïøÅ·V67{`0VÉÆIàsÓŠòiaq?Z•?}]={o©µâ¢ŸCØ¿áÐÿçÁ¿ïûÿ]´³´ÓíšÞÎlûÈ.[œc½|Óÿ kÅŸóøŸ“{Â~ÿÄž¼¿Ô¤\-ñ„œ« õc[ã0xÚT¹«Êñõ¸£(7¡»«x7ÃÚõйÕlæaÀo=Ó€J¡ÿ ÇÁ_ôoü ›ÿŠ®Oâ/еÄ …ÛGF \œÒ¸ÿøXþ&ÿŸãúÿrÒÂל£±éÑ£‰”ƒÓÔ÷MÃZ'†’åt{mö¢\ÌònÛœ}âqÔôõ¥Ô¼=¤ë2,š«\2 ©ûÖ@¿÷Î+øYâKÄ#XmJs)·XD|œ ųÆÙŸuíKC¸³:}ËÄ$\0ƒÉ¥ 5ibñ3ZЯkÚ}ïåÜèÿáð·ý›ÿdÿ»¥øsDÑn^çO°0Ìñ˜ËyÎß)Ç$ú ñOøOüGÿ?íú×aðÛÄÚ¦·â+‹{û¦–(ìä•T“À¨Ï䯽NK¡JU*5e¾§Miã\´¨Úëï6zuQ^çïÿäsÿ\Ÿùð«aÇá^ëÿ ëŸúäÿÈ׆[Ž? æÄ­íeʧËõ5íºþ5¯lz~o×ñ­ksÓð¯´M±6mˆÇáI)SmÛŽ©²ž•çò{Ç…Š+HF*œ§¯ãVd`úšÙº·ùïYS/Î9îk×£-w ‚0qW#Z5÷«‘­9È÷𬵫?Â>•^!VqòŠâ«- ÃËB&¨˜TÌ*6àâ™Ù|8?â©Ò?ëöý W¸×ˆxtÅS¤×ì?ú¯o¯!u<,åÞ¤} ÷ÿò¹ÿ®OüsÛϵt7ÿò¹ÿ®Oüs­zÙb¿7Ëõ?6âÉrûû{ÿm:<çM·?ì·þ„Õ=Q´ž+m+‹‰R(cÞI$`ªŠ‰$ž½Oeyo¨Ø[_ZÉ¾Úæ%š'Á‘€*pyÖ¼úÿÅ—«>“.wÁÒÿ #ç/‹¿òQu÷bÿÑIEä¢êîÅÿ¢’Šû\7ð)ÿ†?’1—Äý_æz×Âùæÿ¯Ÿý¥QøËÿ"´?õ×ú­^øOÿ"œßõõÿ´£®ÞKˆm™ZI!ˆ!L˜gü?JùLÕ_QyØòBíf|]§Âoù)º?Ö_ýõôWö¥·üýÛßIJš”ê©snÎÄ T’}«Ì+;Üöªæœð”97Vßþƒã?ùGÿ_1ÿ:ãëÓ¤š(6É+Æ€•¤Ç³ß¤þÔ¶ÿŸ»oûé+‡–ýnJ\Ö·•ÿTe‚ÇýV.<·¿¿CÏt¿ù Ù×tÿÐ…v^.ÿ‘{Sÿpÿ:ÐþÔ¶ÿŸ»oûé)óH‘ƒ$å)É2cçßÞµÀ`¾©kÝö·êÌñ¸¿­IK–Öó¹óôÏö¥·üýÛßIGö¥·üýÛßIKê?Þü?àŸ5ý“ýÿÃþj¿ñåuÿ\þƒ_8Ïþ¾O÷ó¯¤]Ñ£29FŒ®I8ÚW–1LþÔ¶ÿŸ»oûé+½êvâð¿XŠícæÚúAÿ‘[Eÿ¯ôVÿµ-¿çîÛþúJJ&E‘]]HùYqƒÏ·¾h#‚ú¼›æ½ü”ùPHç{uýjic½ž28ž]º_õ9çˆæ­ímýXùz½ à÷ü·Ÿö“ÿCJõÿíKoùû¶ÿ¾’•/á™ü¸î!v ü¨Tžœôö¯kÄ¿Y¡*>Ê×[ßþµLg<ywóEWÊœE{ÿù\ÿ×'þF¼6Ÿ…{•ÿüƒ®ë“ÿ#^ãð¬+«£ÖË”þ_©§oÁükRÜôü+.¿i[žŸ…y5¢iZF´øRHM21øRHEpòjxøˆœUI Xr*«×D"xXˆ“óSÔÔgïS–»ðñ<¹DM=I¨V¤S^þÅÀŽ~¿eOÓð­9Ï?fOÓð¯fŒŽš2nG-þ{Öd oZÖ¸ŸóÞ³exúשJzÍ$`U¸À¨²‚‰Ìö°åˆ…Xì*ÅOØW%Yh{t%¡TmRµ1…x؆uFEßøª4Ÿúý‡ÿCíµâžñSé?õûþ†+ÚëË<|ÕÞqô+ßÿÈ:çþ¹?ò5Çù©ýïÒ» ÿù\ÿ×'þF¸?ýŸÖ½l­ÛŸåúŸ›ñ|9½ý½ÿ¶“xçÂÚŸ‹¾Ai¤ßVÿÐÚ¯×!þö^¬úlµ[Gü1ü‘ó_Åßù(º‡û±褢‹¿òQu÷bÿÑIE}žøÿÃÉKâ~¯ó=káGüŠs×ÏþÒŽ³þ4Ë$ŠH¤xÝed$Ê÷¡ð£þE9¿ëçÿiGKñGÃÚ¯‰<=–‘f×7÷ ªÊ÷bë_+š¾Tõ;°Vöp¹óö®£ÿ?÷_÷ù¿Æ»o„—÷³üOÑ£–îâD&l«ÈÄÜ¿lÕoøSÞ=ÿ àTü]u þx»@ñþ•ªjzCAg “̓ω¶æ'Q±=Hí\ ;ž­ISåv±èÿ œƒ‚pGã^#ö‰¿ç´Ÿ÷ѯxñ–›y«xzK;k†aµ±îxywü+oпïü_üUqb£QµËs<+‚O™¯™™á¹æ>)Ò•È7°ä?ßî.ÿ‘{Sÿpÿ:ó À(³ñ›uq¥²C ÔRHÞtgj‡œÏA^©âKiït{ëkxÌ“H ¢ç5xU5ÌF)ÁÉrŸ*ÿhßÏåÇýýoñ£ûFûþ.?ïëuð©¼oÿ@6ÿÀ˜øº?áSxßþ€mÿ0ÿñtí?3Áå©ÙŸEj¿ñåuÿ\þƒ_,^ÞÝ¥ý‹©•VV d×Õ’3Û\")ghH I;zb¾¼ø[ã9og‘4V*ò3)ûD\‚Þ¯B®îub”œW)Çý¾óþ~§ÿ¿†¾ ðË3ø;Af%˜éÐIÉ'`¯ ÿ…Qãoú·þÃÿÅ×½èv³ØxkG³¹Ë¸·±†)S íePÈ㨧ZÖÐŒ*𓿹òïŒ5Ø<]©G åÄq‰xT•€ÀÖö¶¥ÿA ¿ûüßã^‰â_…¾3ÔüE{{g¢<–ó8dcq’0;~"²?áNxûþ€ ÿPñuôØj˜UF N7²íØÕ§sÛþË$ß ti%‘ÞBn2ÎÄ“ûçîkÅ>,_ÝÚøöé ºž$* Xä*3¹¹â½ßáöáÿ‡úV™©Û›{ÈLÞde•±ºVaÊ’:Þ¼«â/Ãox‹Åóê:^ŽóÚ²á\Íg Ý™ý+Á‹‡Öæôµß¡®¼¨ò_í}Oþ‚7÷ý¿Æ¾‡øs=×€¯Þy¤•ƦÀ4ŽXåGÇ5äßð¦|ÿBûàTü]{_Â? êþðmÝŽµdmndÔeC">PÆ€©#ªšÓ*nŸ»aF÷8Œ÷WÞ'·ò'–-Ñs±Êç…ô¯5þÓ¿ÿŸëŸûúßã^ÍñCÀþ#ñ.½ Α¦µÌ1¡V5œ/MÌ3øW ÿ ‡Çôoü ‡ÿ‹¬è8*jö= NŠö;Ÿ€÷7)â?>yeÚ-±½Ëc™=hø×<¶ãNhexØðJ1S›ÒµþøC]ð¬ZáÖ¬M§ÚDVeGÝ´¾~é8ûï­'Å/ k~&ûèö rbåþt@>÷v#?…M7­E½Œd×µò<+ûJûþnïëz_Á+»™ügz“\K"6R¹#;ãõ¬øT¾9ÿ àL?ü]w? ¼ â? øžê÷WÓ µ»ØÉ¿å‹! ÄôS^¾.xwF\­_äi7WcÖ(¢Šù“˜¯ÿ ëŸúäÿÈ׈@0? öûÿù\ÿ×'þF¼JÅeUhzY{²ŸËõ/Á×ñ­1øVt=jü'§á^mH—Yšp‘ȦBǎƹ95<ºäNj³š™ÍWs[F'Y´ñQ“Í8í >Q%õ54àkÙ dà2~¿gMý+BcÍgÍÒ½ZLÞŒLÛɬéïükNqɪ(Ýø×¡NG©EŠqVPT**Ê r™ëPdÑŠ› ‰MÚ¹jKCÖ£-ȦRšaå×gJ‘wÃÃþ*}'þ¿!ÿÐÅ{Ux¿‡ÇüTÚWý~Cÿ¡ŠöŠó™æf.ò‰^ÿþA×?õÉÿ‘¯1ó_ûߥzuÿüƒ®ë“ÿ#^EæÿÓOüz½,¹Û›åúŸÄñæö_ö÷èz—‡I>²'®×ÿÑZu“ás»Âö9ù_Ÿûhõ­\5ÿ‹/Sè0 ØJKû«ò>kø»ÿ%Pÿv/ý”QñwþJ.¡þì_ú)(¯µÃŸøcù#ž_õ™ë_ ?äS›þ¾ö”uÒëž!Ó¼9l—”¦(\ãyÆ÷'ë\×Âùæÿ¯Ÿý¥d|uÿ‘×UÿЖ¾[3WÆÔõ:ðßÁ‰»ÿ [Áÿô‹þû_ñ«ºGü;®jiºuòMw9!#V\œIëØ øú»ï‚¿òW4/¬ÿú"JãäF×>Ôõ;}"ÏíW;Ä[‚åH&±¿á<Ñ?½qÿ~¨ñçü‹Mÿ]’¼º¼¼f2Xy$•îisÕ`ñ®“sq¼>{K#„Eòñ’NäÖÞ¡u›k5Ìùòâå¶Œž¸¯пäaÓëê/ý W©ø»þEíOýÃüëL%׋mZÂ’±ÿ Öëqÿ~ðhÞ·÷èךÑGÖ_`±í“Iä@Òº7•ã#Œãë\èñÎŽFGÚïÉ®‡Uÿ+¯úàôñ˜ÿÕ'ÐWtb™7=þþžïÉ®‚Úu¹´‚å•&A"àí=+Æë×ô¿ùiŸõéò¢QIføëFŠFÚpÈH#Ëèi¿ðžèŸßŸþý×™_ÇýÏýuoæj Ú4W¹Ã<\£&¬{–}§§Ç{nA!`…† ÁÁ8úÿ*ΛÄÖpÜÍ‚ñÞ'(æ8 ~¢“ÁŸò%éßYôa¬¨?ä#ªÿ×ãè+XòûÖ;#.h©w5?á)³ÿŸMCÿZ´´ëôÔmÞx¡ž4WÙûäØIÆxšÁ­Ý#þA²×oéMÁ%qÜÊÖ|i¢è¿dÔn 2à»íÍgÂÐð§ýWó_ñ¯2øÝÿ#=¯ýr?ÉkË뢖N W:¡AJ7¹õ¶â}/Ħçû.q0¶ e Œ.âp:÷ÁüªÅæ­ÚZ›{¹¦xÌmá2 àœ|~uåŸ?Õø—émüä¯T¶ÿ‘Þ?ûIÿ£°©MF|¦5#É&ˆ¿¶ÿê«ÿà ŸáSÙjò)l/á–/qnѯ翵t• ÿêÿü'gs:Š(¬Ê+ßÿÈ:çþ¹?ò5âq öËÿù\ÿ×'þF¼R1ÅDÕÑÛƒvRùbàÕØN}*”}jÜ}¿ â©ê2üGŽ´Ž}鱑HäW7.§ŸTϽ@æ¥b*­cͪˆÏZp¦´á]T‘ÂâH 8ŒS…z”ˆå-Q–®ÉÖ©I^…6mN%‡'Фãæw«ò޵QÁÝø×m9ô•† ö©Ð{S™¢R=Dˆ*^ÔÄ&8¬'-Jœ´i„T„SH¯>©º‘{Ããþ*m+þ¿!ÿÐÅ{5xÞ€?â¥Ò¿ëò/ý W²W Ž k¼‘^ÿþA×?õÉÿ‘¯ó×Ð×¶ßÿÈ:çþ¹?ò5à~{z îÀ»s|Ï¡Íìþ¡í>`ÞÓˆþìŸú5ën°|ż¦ýÙ?ôkÖõqÖþ$½Og­‡¦¼—ä|×ñwþJ.¡þì_ú)(£âïü”]CýØ¿ôRQ_m†þ?ðÇòG,¾'êÿ3Ö¾ȧ7ý|ÿí(ëKÇ> ÿ„ÛF]0ê b¡·y¦#)ÎAÆÜCÞ³~ȧ7ý|ÿí(뺯•ͱµ=N¼/ðbxü3ŠÿÐÞ¿ø-?ür·üðYÇáòYj×_Û þL«&ß³‘»iÝí]6±eý©auf²ˆÄÿ.ò Ú3×jŠt¨Ó¤­`wgÿ á?è2¿ø øª?á\'ýWÿÿ]¥ý>ߘ ½íÍ0HÊsŒíÅr ðíBÿl¯ñìøªìh­”¬+ü+Ôÿ Âÿà9ÿâ«­·m,mmVO3È…cÞ3Ž3Š}968y>‰åy_XTgbÅE¹ Î3‘šoü+ÿ âÿà)ÿ⫺¢©U’V1xjmÝ¢–¦®¢[iâãÏòKŸ0!\îlôüj´> 5ÔÏv€ÜLÒí“· g¿JÖ¢§™Þæª)+#;û?çñïÙ«Ö¶ËghÑ,ÁË>ì…#¶)ôPäØìp^5ødÒHé¶_ý%tÕÏWãg¥†V£ä¿#æ¿‹¿òQu÷bÿÑIEä¢êîÅÿ¢’Šûl7ð)ÿ†?’8åñ?Wùžµð£þE9¿ëçÿiG]Õp¿ ?äS›þ¾ö”u´ou»íORM“OŠ:u¡¹…Ù§o*9r$W0D¡~ãã¹ÎÑò¹§ûåOS¯ üšÚþ•¼sÉx‘BóÍn$Pñ €’0ˆdäà|½y£ÿ ~šu kp]!– ™ešhÞ#laò‰£(1‚²îÜûF6õÞµÁfntVx»HHÕ™ïG”F¶æÂq1b®Àˆ¶oÚDoómÛò7<»§k6·›öüß/åw)Î×]ÀnFÁÚë•lƒJÀ_¢±¢ñ^"Jëtá#]êÍo"‰Ô°PaÊþøÈvK ysQü]gý©l‰&Ë6µ¸’a,$é*=º¤~YÃ7ŸÂíÜÛ“oQ—fIEc'ŠôvxÝMNy¨Í)"šMR‰Ï$'zQMÍ­bŒ\GŠQLÍ.k¦"娦cQ5oTbW~õ ž•eÅDWšÚ27Šô©P8 ŽˆŠ´ê§T9•†R}&+žL¾böƒÿ#—ÿ_qèb½~¼‹AñQéõ÷þ†+×kžf5]Ú+ßÿÈ:çþ¹?ò5ò¯ŸþÏë_U_ÿÈ:çþ¹?ò5ò?žÞ‚¶Ã»\ò±Ñæåùþ‡Òß [wý ã,ßú>Jê«’ø`žèÄÿvoý%uµO‰”•©Åy5ü]ÿ’‹¨»þŠJ(ø»ÿ%Pÿv/ý”WÛá¿Oü1ü‘Á/‰ú¿Ìõ¯…ò)Íÿ_?ûJ:Þ—FÔbÔofÓuHm`¾•f¸Zy²«ˆÒ2c}áWåq¹ ’rуð£þE9¿ëçÿiG]mþ§žð#Ãq+ÌHD‚2ìH<z*ù\Óýö§©×…þ LSáK¯·[¼ZÃAioyqyQÛ¯˜u˜9gl‚U§%>Pნ0þ¿:Ámnµ ©µº²t·‡ËŽ;yÂå!RÌSi îgnPí ¯ý·ÿP­_ÿdÿ ’ßT77 Óu(ËošÕ‘ܱàW¦æd^»“[µÖ5 Bo!• ö¦Ú4Šáv—b7Kg*ŒI›ÃþþÂòÒüï/L´ÓÿÕíÏ‘æ|ýOÞó:vÇSšÓ¿¿‹N%•%pò,j±&æ,z;óU¶ÿê«ÿà ŸáKVd>¼F‹JmY ¥šÀ¶ ¶»J˜]&˜–&B JÏ,_€J•‚_KsxڅΤ†ùÙ¦vŽØ¬^p{fŒ„.HAöHÃ.â[sa—Œm¦²d‘PiZ¨,@¬Ý@ú“Àæ®jQé¶³\ÏŸ..[hÉëŠw`aÚxbx5IuYµ?ôéâ¸YžÞÜF¡ä[tWX¾Ý«l¼6ì±'òÕíKºÒmÚKȤ…wŸ*+sG’» ]Š"€ß)-÷€Rª¡)¶ÿê«ÿà ŸáGößýBµü“ü(Ô J)“Iä@Òº7•ã#ŒãëYqø‚)¢IbÓµY#e ®¶NCЃŽE+05謿í¿ú…jÿø'øV”Ld‚9LoõÜAµ‡Ôv>ÔY€ê+"?E2o‡OÔåL;Ge$ÁäößýBµü“ü(³RŠŠÖssl³ùBt(üw*yg¶»Ÿ4QØêd1»AjÒ(aÛ#ØÎ•€Õ¢²ÿ¶ÿê«ÿà ŸáWl®Ü//Ùn`U`¸¸ˆÆÇè8÷§fôVmƳ²Ú-¥ìòÆ¿ÙíÚ@¡ºg:Ê›ý·ÿP­_ÿdÿ ,ÀÔ¢ªÙ^›Ó&,ï &æ9=zÔ7š´Vwijmîæ™ã2·„Èvƒ‚p=ñùÒ°V_ößýBµü“ü*{-@ÞOå-…ü8RÅî-Ú5ãÜ÷ö§fÚ(¢Ê÷ÿò¹ÿ®Oüxàìwÿò¹ÿ®Oüx諊v´ðqLáCˆ›$ A4ÀhÍ.RX¤ÒIIO”Í ¥¦ÒÕ$O(ìÑšmh\¢“L4ãHjÓ‰ iQRLJµ"ÒS€¥À¥s„E74R˜§QRØù‹ÚÿŠ‹Lÿ¯¸¿ô1^¹^K ÿÈŦ×Ü_ú¯Z¬&Kw+ßÿÈ:çþ¹?ò5ñ¿›ÿM?ñêû"ÿþA×?õÉÿ‘¯‰|ÿöZºN×0«kXü);¾h‡9ùgçþÞ$®Æ¸Ÿ„M»áN„q–ý(–»jÎ4вHù¯âïü”]CýØ¿ôRQGÅßù(º‡û±褢¾ã ü áä:_õ™ë_ ?äS›þ¾ö”uÔ\ÿÈÍ ÿ×Y¿ôKW/ð£þE9¿ëçÿiG]‹Ùùºµ…Ù•QmYÛi,Y ãÛ©?…|¶gþûSÔëÃ'AL~ŸˆþuÚÓÕ_𦛔8”rð®K£[ö·ÿ0ÏûÛÿèbººç¯lëZ5cÜÇ9$‡8üzVÏÚÓÕ_ð©ƒIj6K'ú¶úåü]ÿ"ö§þáþuеÊ2‘•ïþ‘¬YjX]Y¬¢1?˼‚vŒõÅ);‚:*¿ÚÓÕ_ð£íi꿯øVœÈV35_øòºÿ®ÿA«ÿ‘kJÿ¯8ôPÞÇöˆf‰$e9Ævâ¦Ó‚Xi––{ÕþÏ E»nÚ gã¥D^¬fg\ÿ¬CüÍYûZz¯ëþVwWpTçŽßSDš°"Ÿƒ¿äXƒþºÏÿ£ž·«D€i:LVo"»#;–rØéÛv? ÑûZz¯ëþI«†ïï©þB³<-ÿ1û¿þh\:¾ ‘Ôž3ÇOðªÚE°Ó…áyÍËO€Û£9û¹üjS\ÃèmUKÏ»øëOûZz¯ëþò,‹ò‘œŽ}ÿÆœš°#+Cÿ‘Ÿ[ÿ®VßÊJé+Â×욥íëJ¤],Jåœûîý=øÔûZz¯ëþE¤…ßú³ôþ¢°m¿äwþÁÒèÄ­™¦GŒ€Fq€}G·µgAi³]‘•@[c',9ÿ€þ¾Ü¦×0t7ªÿÕþùoÚÓÕ_ð¨ä¸GB7ÁéŸCíTä¬J(¢±(Bâ0]˜(^KŒ{ÔÚ–ÿóÿýþãL¿ÿuÏýräk’®Ì&ëÖÖ<<ç9þÍä÷9¹¯ÖÖµ¼Ÿs°þÔ·ÿŸø¿ïðÿ?µ-ÿçþ/ûü?Ƹú+³û/ûÿ‡üÃÿ\éÇþMÿÚ‡ö¥¿üÿÅÿ‡øÑý©oÿ?ñßáþ5ÇÑGö_÷ÿø!þ¸ÿÓü›ÿµ;íKùÿ‹þÿñ£ûRßþâÿ¿Ãük¢ì¿ïþðCýqÿ§ù7ÿjvÉpÒ t˜²7FVÈ4ï6Oùèÿ÷ѪZ_ü‚m¿Ýoý ª-[QþʳŽãÊówÝ[ÛíÝ·lÉz›óŽøÇkË©I¸_f}†··¡ Ö·2Nު旛'üôûèÑæÉÿ=þú5•ý¯kwZtÛ"H ¶”Lò¦’XÕ0{æ0<—¯¼Öô:7’ûS²µŽ9D.ÓÜ"®à„“Ãm!±×5›š-pÈ…Þbª£$–À«kÙÿÐBûþ?Æ ¿ž)tÝE#•âÒEV£l݃èpÊp{{Õ«ýn{{JÓN›3Ã+EöÏ1q°ŠY6ã;Ëb/î…Ã}쌌n®ÉmÜgö½Ÿý!ÿ¿ãühþ׳ÿ „?÷üRÕüY>‚Ò]jš_—¦~ýa’+$îbŠI‰1à*«$.Tù„ò™ –Û¡¥j—wzÞ›©ÙCk{mW[\£hä2*ü̈wf'ÈÛŒmää\¨.É#º3F$Š}èz2¾AüiþlŸóÑÿï£UlÿÕËÿ_3ÿèÖ©ë9hÚ)j‡ù²ÏGÿ¾lŸóÑÿï£L¬ÝwS—IÒþÕ²\LÓÁqI)‰KK*F `¬@óÐô¥¨¾lŸóÑÿï£G›'üôûèÖ%–µ(žúÛX‚ÖÆk8#º•ãº2Â!s ]‘ Äù` œ&èé±jRk|v¶ÈîšåNÜð8'ånì}(Ô F¸dBï1UQ’K`Tÿ´ì?çúÛþþ¯øÖm¦±¹àÿíö#Ïb²É ÈÂÏ“a>¸u.ÿÉEÔ?Ý‹ÿE%÷8oàSÿ $y²øŸ«üÏZøQÿ"œßõóÿ´£®§Q¼½†öÆÒÆ;w–éGžÌª6©n£=í\·Âùæÿ¯Ÿý¥u?ò3h?õÖoýÕò¹š¾6§©×†þ G}›ÄÿóËHÿ¿Òÿñ-½¶¿ö˜þÔšj[îùÌ2HÏ`T×󮊘ý?üë“•\æõ{Û‹+x ²DóMq %$.\àG½fñ?üòÒ?ïô¿üEG­ÿÌ3þÂ6ÿú®®¦1M ³šKobiK~b²ÈÄøFOâ)ÚÝãizeÝÔJ¡ Ý5ÐIþ­¾†¹Ƚ©ÿ¸I äŸfñ?üòÒ?ïô¿üEfñ?üòÒ?ïô¿üEtôUò ¹‰tíok+‚ã‹wLvç§¥fÙ·ˆï¬mîâ‡JXç‰ePÓI3òõæ´µ_øòºÿ®ÿA«ÿ‘kJÿ¯8ôQ›Ì¿³xŸþyi÷ú_þ"¯¤sG Bà§œW/åçh9< óóÅlVuÏúÁô?ÌÓ”RBG?§Ïâ RÍn­áÓNΫæK o•Šœ€§¸õ«_fñ?üòÒ?ïô¿üEYðwü‹×YÿôsÖõ5`¹‰oävËöáœ±Ü $¨cò!Yv×Þ¡qx¶1iþUµÃA™äub@8öa] ßÞSü…fx[þcöý:”•ì?fñ?üòÒ?ïô¿üE[µ‹PHXê l²nVÝ™—<’Àsøõ·*¥çÝüGõ§(¤‚ç=öZëV»³Óâ²+l±³5ú“¼˜û¦¥û7‰ÿç–‘ÿ¥ÿâ)úüŒúßýr¶þRWIDbš ˜6pj‰æ6¢¶h‚Ù™²sÎwóøÒººÔ›YOÓã´fks9k†e Žþð®ŽïýYúQX6ßò;Çÿ`é?ôbR²æ° öoÿÏ-#þÿKÿÄTö¶úÈ›7ë`°'ýݘœp9]C?ú¿Àÿ#Tâ¬3¨¢ŠÈ¢½ÿüƒ®ë“ÿ#\•u·ÿò¹ÿ®OürUëå_oåúŸÆ_òãþÞÿÛBŠ(¯\øp¢Š(¢Š(«ÒÿämþëèmU­pm¥ºšy\Am¨ÜYª¤‘[¯3F 1SoŒmÃî ò‘¶»Ê++³´ÆŠÍôß I§˜áH­,ĘKa‘b8l•ç ÍÀ±$ãgTÓ§¿Ô4;ˆ™,oâPÄ‚TÛÍŽ»¤SÎ8èkßyÙ÷>nï/Êmû:ã8÷¤ÿ‰ÇýD¿òVµ§ª"NÌɽеÝ]µ«}F8E¨[ÜÙE|—R<–¶î¬$ 2~Bÿ¼Ë0ë…E]}"ÃRþÙ½Õõ8­-縷‚Ùmí§iÔ,M+o.ȇ$ÌFݼm'8 ÿú‰ä­ñ8ÿ¨—þJÕØ\ìÿÕËÿ_3ÿè֩굆>ÊÖnó$ßæíÝ»{nÎÞ:ç¥Y¬'ñ2ã°VWˆ´Ÿí½$X”†HÚêÚIRq”xãš9HÁÎUHÁàçšÕ¢¤g#}àÅ1jVºlVÖ6-œ°ÚÛ·_>ÚG'Ëap"O1rÃh8;@1ØøsTÒ®âÕlí¬žðùë-´úÄ€‰y¸‘]Ý€·QŠ0Øþ¿eE;°9ý6ÆïJðDzmà‡Ì³ÓÒÜ<2²ò£0`<xΟø{RÔ§ÕRÈÚ55tÛ‡šVF¶U3~ñ+ '?))÷Íó|·ï¼¿ìûŸ7w—å6ýqƒœ{ÒÄãþ¢_ù+ZÓÕ'ftW?ÿú‰ä­ñ8ÿ¨—þJÕØ\ìÿÕËÿ_3ÿè֩굆>ÊÖnó$ßæíÝ»{nÎÞ:ç¥Y¬'ñ2ã±ó_Åßù(º‡û±褢‹¿òQu÷bÿÑIE}ÆøÿÃÉt¾'êÿ3Ö¾ȧ7ý|ÿí(ëµ6нå½Ó«4¶ûŒXl,0O¿q_ ?äS›þ¾ö”uÝWÊæŸïµ=N¼/ðbYûaôoÌ…'Úucƒž£ü*½ÃÌÍìE5´&:³¥Y”Ç̼ƒøj÷Û£~cü*µ“h,Y7d‚lqþFöÚ B `¸BÐÈ~u ŒŒç©h¢ì,YûaôoÌ…l>ùðªÔSæaa.nÑTuØpyÆ1RÛ²ZÚÅm Š$¢îÎ ’=*:)]…‹?l>ùð¨e“Ì`qŒ_ze6ØX,:Í-mÑ–%ɶNI$žÉ&¬ý°ú7æ?«QO™…‰%—ÌÇ`ç“þ}*+á°ù(ÀÏ)šB[;˜àg§? Z)]…‹?l>ùð¨å›ÌÁ#’~¾Þõ96k 6—W(çO´HÛº…hu?[ûaôoÌ…V¢…&‚ÄòO½ zc’8ý=ª¤pBš‡Û¶8‹É »)9#î@üªJ(» ~Ø}óáH÷;”‚CÜz}*½ù˜X(¢Š‘•ïÿäsÿ\Ÿùä«­¿ÿuÏýräk’¯_*û/ÔøŽ2ÿ—ö÷þÚQEzçÃ…Q@Q@^—ÿ ›o÷[ÿCjµUt¿ùÛºßúUªù|Gñ§êÏØrÏ÷*?áäŽqµ»¶ñTšbÝé–þ\ª‘ØÜåg»ŒÆ®ÓDÛ¾êîqŒ ‰†åÉ+>µâ‹MÛQ-Ísgk-ÂG$2EÅ#2lIJìfÚ Â’@ qòœ?PÑïuÄY5`ž–·6ù8Q¾Ùs†*’”;Fvl*¢FfÀÊ%Ê]¦‹z/&†Y<†ÃC Œ«à³umÄsÀ sŒ›:‡d½Õ×SƒZÔl'[qnÝ`u ¸± K•,vîÚF퉜í¤>^ç;­øÃT´Öõg°òMÓôkù¢&D×vþIc¸c_3Ëàƒ½eîŠÞÑ¥½¶ñ££Üê3ßÇ­µÒOr‘¬€Êó+/îÑhòT—9fÉ#Guà? ^j¨K¤Z,òÛÜ[Îb…c2‰ö‰™@mø $ZÐÓ4a¦ÜOw5ýÝýäꑽÍÐŒ7–…Š ¢.‘ÎqŸ˜äêåÿ¯™ÿôkTõŸú¹ëæýÕ=c?‰Ž;:ÝýÝ£iÖ¶&¹¿º6é4ñ™,E$¤” ¥²"+óÎ0již%µ{;v¹Õ4ýAç¼ûéJÒ$®S~ ©,€9b]ÄŒà_ÕôÉug-µÂ[ÝÙOçÀòÄeqã!2’6ÈÝsƒÈë? \C|—·Z˜¸ŸûLê.E¸@I´û?– g œœ c–+K µŠôiW[§ ïVkyN¥‚ƒW÷À–@ {²]ûË–?‹ôXü•k™„òïòí¾É7žJlܾNÝû€‘nÜí;±´XVÿ ¬môù¬vé‚!qBcÓ#W”G"H¿il“6LI¸/–/ÆJ•ÕÑ|(š=ý½â=”f8®à±±[hI”Áʨ$Œw$±ä=Ó¹»·¼Ñoe¶“Ì‹Èm²(;$0Á‘º:Ãæ\Ž£9—ÅRjvÖæëOÕ$Žà.Ë>8Q¾Ùs†*’”;Fvl*¢FfÀÊS´Ó%Ѽ tÉ.Rt´±X#uˆÆJ¤!rFã’HcÆ0ã'SQðì—ººêpkZ„ën-ÂÛ¬¡w$ br¥ŽÝÛHݱ3¢´†Ä½ÎFëVñ-µ¾¯,³ëðÞ3ê1éqkF·žD´Ѝg'ËŒ8-€ÅzÀ7Má{›“syi}u¬5ÜI†ÛS[PÑÆÅº›a´†(ã’6t‚lËᨮ5>ãPÔ¦ZI µi¬:23¤Š í’@rwÊÕÛ>™£ 6â{¹¯îïï'Tîn„a¼´,Qp ŽsŒüÇ$€  ³ÿW/ý|Ïÿ£Z§¨,ÿÕËÿ_3ÿèÖ©ëüLqØù¯âïü”]CýØ¿ôRQGÅßù(º‡û±褢¾ã ü áä:_õ™ë_ ?äS›þ¾ö”uÜÇLÒ~ñ‘Pí@ç€{zá¾ȧ7ý|ÿí(ë½´ë?ýtÿÙV¾[3ÿ}©êuῃû'ý7—ÿÿ >ÉÿMåÿǬQ\66+ý“þ›ËÿŽÿ…dÿ¦òÿã¿áV(¢ÀWû'ý7—ÿÿ >ÉÿMåÿǬVDQGBx‘Våïw¨ùœyÄ0>£nO¶3Ú€/ý“þ›ËÿŽÿ…dÿ¦òÿã¿áY·Z…Ù‚èˆü¸vÌˆà… ¨nAÝ’r½6Œzṉ̃Mp·g[G·9qåH¹Ú?{ÏLsÇ ~ÉÿMåÿDzÓyñßðª0ê—7 ‰ncVÉ^ ªŸ¼XtÞ8Ús~,<Üês%ÄQÊ© eDŠ),ùÆzgò7Ù?鼿øïøQöOúo/þ;þ[íÂ8Ø#FÊ·C,[z°Cœç“†'>Õº¸’{Uó"Rg„É 9õùÆCw=Pï²Óyñßð£ìŸôÞ_üwü*‰Ôn¼˜y9¹ExþCû°]Ÿ›‡ëÇO~,Z]Í%ÀŽO,†`ª‘ƒ…=ÎrN}ºsÖ€&û'ý7—ÿÿ >ÉÿMåÿÇ«ZÁnÊ×2¤baq ž‰Q»¯ Ç§^[¹¥†ÔÉåí¸1LT‚ƒÍ‚rs÷ºñÓ§<hý“þ›ËÿŽÿ…dÿ¦òÿã¿áTN£uäÀãÉÍÊ+ÇòÝ‚è¸<üÜ?^:{ñn‰îHÜŰg`^¸ž‡ž½ ž9È4ÿ²Óyñßð£ìŸôÞ_üwü)±É#O=¾òÀ ‰ ÆOðžÙî=±žÅ¤µ™§€;××î¸þðö?þ¬ŒXý“þ›ËÿŽÿ…dÿ¦òÿã¿áV(¢ÀWû'ý7—ÿÿ >ÉÿMåÿǬQE€¯öCÿ?þKþ d•ùº†*OÐâ¯Uú?ýtýÒc #‚*–¯ª¾•§› ­,,PD†B¡¤’E2yÂîq’ d€zµ›®éòêZ_‘nÈ&I์HHWh¥IB’*¦Üàã9ÁÆ [€‘k7––· K]2(6Ÿ´ íðÇuB8à®>eÁ$#ÿ„ªÍ/.D×¶ñXAgmv/žäÝfyUyEãǙ×ü%­ø‹í73 >ÖêX ²Â—*÷q«o1©É{¡‘·€„ä“¥…«Aªéñì²m6ÓSºÔ>Ñ縙üå¸ù<­˜kŒg!sœ@:Æfc–$ŸsIEcøžymô¨^7:…ŠF*JµÔJÃŽÄî  lQT%Ô¼­zÓKò³ö‹Yî<ÍßwËh—Ç9ózç¾üs:oïõXí^ÛFµQvÐÙ~Ë™žÕ.ˆlDv ˜n%”  C°}ä‹”òÕŠ<3,ZÚ[ÍxðKf›R£\>æùw“•^ màdfµ†Ä=XïìI?è¥ßgÿÑý‰'ýt¯ûìÿñºÁñL—šjjúއ©_=õ­ÕÍô²Î^—ìò4Q,g÷b@ÆSvÄË·ï™·¢ÄÚwŠuM&î䳎ÎÖåêêIÙd‘îÈy›DŸ.p0H“šþºŠÅ‹,m« pìwB‘ýÐUˆ8àwéV* ?õrÿ×Ìÿú5ªzÆJÒf‹`¢ŠæÕ³¾¾Mfh™tÈ`¸hâŽQÖiH–BÞfåÀUU,û_XlCÕ“bIÿ@+þû?ünìI?è¥ßgÿ×#}a¯ZG¨¬Ñ_hêRê0iSE¯NÇÌe¸’Ð"|´ùHbT„8%z #Yê7úuͼÐßG7­=üf72ªmi°U³äy=¿®¢±nËÛjÃ;Фtb8ÆzUŠ‚Ïý\¿õó?þjž±’´™¢Øù¯âïü”]CýØ¿ôRQGÅßù(º‡û±褢¾ã ü áä6_õ™ë_ ?äS›þ¾ö”uÜÃ*Àò‡ 6àB“ØßJá¾ÿȧ7ý}í(ë —UÔ&Ô.m4Ë'6¬VžvŒn**98 ¤“¼:ó_/˜ÆRÆÔQîtáä£F77¾×ý4ÿ¿mþ}®úiÿ~Ûü+í'ÿ 6Ÿÿ³ñŠ>Ñâúiÿø7ÿ®_cS·â¿Ì×ÚÇúLÞû\?ôÓþý·øQö¸é§ýûoð¬´xŸþ€ÚþÍÿÆ(ûGŠ?è§àdßübcS·â¿Ì=¬¤ÍïµÃÿM?ïÛ…De­,p‘ó¹Öç““ŠÆûGŠ?è§àdßüb´x£þ€úwþMÿÆ(ö5;~+üÃÚÇúLÙ-ddy ¼‹µØÀrÃМr)ÂkUȇ=XBÙíßÃò‡ö¯(%ô8(䟶ÍÀÿ¿K¿–ŸÐŒÆÌY2A(êÅYr88e#>Õ„â®ÑQš“²-†²YAíF¨ô 'k+¾|]½7À[˜¬³{©Ý^Ý[éVV³-«ˆæ’æå¡ʆÚ6£ò²žÝj_/Åô Ñÿðc/ÿ¡BÓAÎ’Ѥó-ÎŒ8#œzó@’ÑC‹¾öËg9Ñä;þzywLuÆzP­dŒì°.Á˜ˆÜAÈ'ŽNy¬ýž)ÿ ~ÿƒøÅ&Ï“§hçé¨ËÿÆ(䟗ރ*ÖHÎËR숀ĂxäçšrÍj’<ˆ…]ñ¹„, c¦N9ªzeèÔ,RãË1¶çÐõGF*Ãðe#ð«u µ£)j/kå´{ÆÎåò[=r1ß&Ÿö¸é§ýûoð¨è¥ÌŸk‡þšß¶ÿ >×ý4ÿ¿mþs'Úáÿ¦Ÿ÷í¿ÂµÃÿM?ïÛ…GEÀIö¸é§ýûoð¨#ÎÒHÆæfÁ÷$Óè¡° )áIô¬‹KÍwR´ŠöÃNÓþÇ2‡…®o^7t<†*±0õ§9l'$·6(¬ÿ/Åô Ñÿðc/ÿ£ËñGýtüËÿÆ*½”¿¦…Î +?ËñGýtüËÿÆ(òüQÿ@Ýÿ2ÿñŠ=”¿¦ƒV—âúèÿø1—ÿŒQåø£þº?þ eÿã{)M:4*¦¥¦ÚêÖ-gxŽÐ³#þîV‰ƒ#RH`C(9µEåø£þº?þ eÿãy~(ÿ nÿƒøÅÊ_ÓAΊÍám%íÒ£º™³q{<¬Á€ 39-m\ÆICiö^Ò4ä¶K[O-m¥Y¢c®° u<žtóõëÍMåø£þº?þ eÿãy~(ÿ nÿƒøÅÎÓBçDM¦Úé>¸´²GKx­Š$m+8EXÂ(‰ÀÂŽ|ž¤“©su¢ÜÏi,×¶%¤¦hÚØå2x<ü²0ç××CËñGýtüËÿÆ(òüQÿ@Ýÿ2ÿñЏÆIZߊ’¿üE•áX®&•ow$ï+Ëm&©+ÛÈe,dÌ !Œ†.Çq“𷦮¤ ­üm$¥CËq¨5Ĭv®ù›h˹À,Ä “˜6x§þÚ7þ eÿãlñOýôüËÿÆ)ÙöüPs/é2Å‹¬HèÁ‘®&*Êró‘Vk;gŠè£ÿàÆ_þ1FÏÿÐ?GÿÁŒ¿üb¢TäÝÿTR’Kþ£T5="ÏW޼~â_:'‚âH]k.CFÊ~ë°ëÞ›³Å?ôÑÿðc/ÿ£gŠè£ÿàÆ_þ1KÙËúh9ÑøoI’bkL¬1.ÿÉEÔ?Ý‹ÿE%|]ÿ’‹¨»þŠJ+í°ßÀ§þþHóåñ?WùžµðŸþE9¿ëëÿiG[¾}¾*ñ ÿÓÊŸüa|(ÿ‘NoúùÿÚQÕÍ;QµÓ#šivDf*#yŠv+ºªñו̗ZDÞÜÜ[ë:…”wnêÞÙ£U‚ªX¡‘ DUÊ2ãh# ’hêÓ5!,2jÚ‚X»ÜÈ,ã1yi$ñÊ’8c|Ÿ>FÁbn˜R¸ìiÂcnÛ;Pûsº {&YÕÖFG]ÌXe8£,‚ •¦«ñFÑ%†-Agµ•âó¦ŠvŠ'72’UÜ9GÿR$ÎÜŒ†BÖ5 ÂÿSmMo®m¯‚ıO Bb1ùÀ2†VRJÜJ§p#`3Q>‡jdYSYÔ¢•âÝÊ“.û¤ ì1RS™$Ç”cÆü P¥ÂÆŸ‡/îo´É¦¹“Ì‘/¯ahHî%Dz*¨ü9æµ™þSÍdéÑYév¯oÌÈóÍpKNéeipœãÛzÕ§½€!&@\,døsþArÿ×ýïþ•KZÕᆢ™”’îîD?ÞV¹”‚=ˆ ÖÅEOúŽ (¢  ¢Š(¢Š(¢Š(î7ÒªøI±àÍ þÁöÿú-jÓ}ÆúVO…/ ÑãótVPÆã?u• û‚+X|/åú‘/‰|ÿC¤ßïFÿz§öÈç £íÿÏANábæÿz7ûÕ?¶Cÿ=l‡þz ..o÷£½Sûd?óÐTÍ í…ͯÚå·óâh¼ëwÙ${‘»0ÎAìh¸XÅÓ<]ÿ·º›ù:lö¯ªXKßè‘áXáFï»åMó|ßé1û³QÇã ¸üE{ku¥j1oj¶zs}œË,®nYÙYd(Èsó8ÿVp2FçËá/ 8ÛkdŽ’E:ØÄ°}¢'‘¢r€Ÿ6ìd|ʧµ7þ«v»’úmR›QýדxâöþX” ª±9[‰AÜ­÷¸Á‚áa!ñF§ƒ®ö²Kxuvµû3ˆÃ„7æ xC´ØÈ’2N½¿Š-î5D´[[¤‚[‰m`¼`žTÓG¿|joyRòÊì8'+šèÖhI{ë™A¸k¯´¹A(˜Îgp¡2$;€Û·€# ¤-…¾¦—k}rðÅq-ÔlSʆi7ï»É>l¼3ÎÂà¸Xµ][WÖ¶³=ˆÓ®’Þ#‚'†OÜE.éC)s–”‚Óå9cpøªÉmíç1]lžòæÉBG½ƒÀ&.v®Iì“•ãž)ÝiK{sqo¬êQݸ{«{fVv ¨Ib†D%W(Ë Œ6Iü5¥É{Ã_ê W\CmÇ—O2ȲTËY²X•?p¨È% º²–[)íôÙ,nï.e‘UŒ)…–@Èì²FR^±ïÉ*8Ãb_,Ge&‰ª®¥,©Xæ!VI]_w›åí" GßÝ•éÈ&ðÎmÌWW7&D¹Žáäu_:;€<Ô*Šª¡Š£eËœåŸsàЬãÔ­õ­Ròöú VEž)IUŽdT"4UÚ>Ñ)ànËrHQp±§¢ø’Ó]ßöxçGqš y°I»Ê™pN¶6aÆ9Q‘œþôxnÏÅZž»9´šÀ_^ZÉoŠh¼Æò¶ m=73åAC š>•¦è†?³\Lþ]µ€óÝÁ¿aà˜ùžÜ U"ðå‚Y:mRþãIímœò"EE lÜŠ²0Jî݉ËÀ¸XQñ¯Øï,Vê­(CpÒ_Ãr±Èßfû5ÌŠàÆÎ1ºÜðïñ‚3|xÂ1m§Ï¤ê6ú„÷Â-dòK*ºÊÂRË!]˜‚^ù>ï#4'ð®•|ÅõKû½FVÊÉ$í#ò¦ˆFDH€(2œ€-÷°Á¡YÇ©[ê7Z¥åíô¬‹<þR’«ȨDh«´}¢SÀÝ–ä¢ác[G×bÖRg†ÚêÈVž0¢@—#àîV¤a•r3©¿Þ°´›=%î^;Û™ÞwRÍq b®Õ¸…omÎÀ(fm«¶Cÿ= 7ûѿީý²ùè(ûd?óÐQp±s½ýêŸÛ!ÿž‚¶Cÿ= 7ŸZçt“SÄö_ý&‚µ¾Ùüô‹¡H³^k³FCFú‡Êáż*PGáGÙ×T.¨ðO‹¿òQu÷bÿÑIEä¢êîÅÿ¢’ŠûL7ð)ÿ†?’8%ñ?Wùžµð£þE9¿ëçÿiG]}ê,­}§YÝ”SqHWé¸ùí—(6,òãÅmºÿŸ‰?ï£\œ¥W¯*Ê¥®ûÁ.W(5{]¬?áð÷ý4Ÿü‹ÿ‰£þÐIÿÀ¿øšù7í·?óÝÿ:>Ûsÿ=ßó®ìú|þïþدmýÅý|¬¿áð÷ý4Ÿü‹ÿ‰£þп¤ÿà _üM|›öÛŸùîÿm¹ÿžïùÑý‘ÿOŸÝÿÛ¶þâþ¾GÖ_ðŒx{þ…ý'ÿbÿâhÿ„cÃßô/é?øÿ_&ý¶çþ{¿çIöÛŸùîÿÙôùýßý°{oî/ëä}gÿLJÈÐ4‘úq‹ÿ‰­EQQPUQ€ tv¯Ž¾×qÿ=äÿ¾¨û]Çü÷“þú¤òd÷ªÿðþØkm£øÿÀ>»½Ò´ÝE•¯´ë;²ƒ n I ý7Uáð÷ý4Ÿü‹ÿ‰¯“¾×qÿ=äÿ¾©>Ûsÿ=ßó¦²t´U_ÝÿÛ Ûßì¯ëä}eÿ¿‡¿è¤ÿà _üMð‹ø{þ€OþÅÿÄ×Éßk¸ÿžòßTß¶ÜÿÏwüèþÈÿ§ÏîÿíƒÛ/ä_×ÈúÏþп¤ÿà _üMðŒx{þ…ý'ÿbÿâkäß¶ÜÿÏwüé~×qÿ=äÿ¾¨þÈÿ§ÏîÿíƒÛ/ä_×ÈúÇþп¤ÿà _üMðŒxxIÿ§¿øšù7í·?óÝÿ:>Ûsÿ=ßó£û#þŸ?»ÿ¶mýÅý|±”EDUE@UFÐÚ–¾8ûmÏü÷ΗíwóÞOûê§ûóõÿà?ý±_YËøÿÀ>Æ¢¾7ûmÏü÷Ηí·?óÝÿ:_ØÿŸÿÿíƒë2þ_Çþö=ñÇÛnç»þt}¶çþ{¿çGö$?çãÿÀû`úÌ¿—ñÿ€}E|qöÛŸùîÿ/Úî?缟÷ÕØÿŸÿÿíƒëRþ_Çþö5ñÏÚî?缟÷Õ7í·?óÝÿ:?±!ÿ?þÿÛÖeü¿üìŠÎ¸Ð4[©Ú{NšW9i%´™¾¤Œ×É?m¹ÿžïùÒý®ãþ{Éÿ}SY,Vª«ÿÀûa²ÿ„cÃßô/é?øÿGü#ÿ¡IÿÀ¿øšù7í·?óÝÿ:O¶ÜÿÏwüèþÈÿ§ÏîÿíƒÛq_#ë?øF<=ÿBþ“ÿ€1ñ4Â1áïúôŸü‹ÿ‰¯“¾×qÿ=äÿ¾©>Ûsÿ=ßó£û#þŸ?»ÿ¶l¿‘_#ë/øF<=ÿBþ“ÿ€1ñ4Â1áïúôŸü‹ÿ‰¯“~Ûsÿ=ßó£í·?óÝÿ:?²?éóû¿û`ößÜ_×ÈúËþп¤ÿà _üMðŒx{þ…ý'ÿbÿâkäß¶ÜÿÏwüèûmÏü÷Îìú|þïþØ=·÷õò>²ÿ„cÃßô/é?øÿZPô ¼Qà c hT{À¯ŽþÛsÿ=ßó£í·?óÝÿ:O'Oz¯ÿÿ톱Ú+ïÿ€vä¢êîÅÿ¢’Šâ^G娓ïE{´éû8FÙ%÷+^í³ÿÙtraitsui-7.2.1/docs/source/traitsui_user_manual/images/list_with_context_menu.png0000644000076500000240000002011314046644454031244 0ustar aayresstaff00000000000000‰PNG  IHDRŒP#§ÞI IDATxíÏ«eW•Ç_Š”’B[ËJºb‡¢!Rh‚#!¡ Ø‚=jp Ý6´8Qœ7¶í@ÿ¡“ΠGÉÌQGÈÀ ’€†H2 ZI‘ÐEi'b*¥mQ"š²ª{½¬Ê÷­ÚûœsÏ=?î=gïÏ£x¬½öZkïýÙ÷|³ï}'÷Üqð™óü@X*;O|äÄÿy}©Óc^€@ÕN}ñƱª°x@`ñ©Åo„@Ý©º÷ŸÕC`ñî\ü w1ÁgŸynÃ0*#ð…/~í·o¿ö¡|¬ÿº-> F¤nyþ…—44!1¾ý­oÄôÿüØLì__ýó§î?~öôñ7uùÞ3§c/"uDã±ÇŸ“j$†˜ž@›Bu„Hu󡘆@T¨ÿGí_cÝó¿9“øñvïÔÝ箼u!™Ù˜æ7¿_’þÏÿ2ñôl;vìæÍ›=ƒ' ›{D«oóÜñ¢&!C‘õ°œì Ï_òdÆ¿þË×­+¬ë}Á¾eN#R¦2*mr3¹è¨x#W(Ë2gò X£l{%'×ÒTÙ9 «Ïlâ3ÚÝóìÙ]‡ÞÚ˜0iÉ·+”Ü·¼ÝsI2mòV~ÚcÑmóÝÔp…ºÿžãy`£x%avû¥.#  )JM tÐ1*‰‰þhǰiNR±¢Ù.[:^ùÙÊü.^òË£tuIæ¼”º ÉÐÃgoüÛߟ°?(|÷§·½SëyžJF±#ƒ{tYæ¥XŒ1ôÛ»’õzͼ·{DÅ[X2+5Ç5§ç&akˆd†# OllÆšØu°+ñ‘ÞǽGã¨ë¿ž¹øwÆw‡!ˆ”4ÈÊI\|x©Rb(,jP›í¥¶úmgÈK—ï0.øa~ìKGpž.]iÝv P¤¹_ßÑŒ]²eäéê’Ñ1¥Æ˜¼¦y’ÈØt[uâd°k& …ÒÍœF#Þ3åpìŽó{ÏÜö¾®€×Twlúgä&OöÏlû×S¡Ö¸jæ …ˆ7mJ˜Ü°.ýk\Å'©ÆºέGuÚºtžrò0‰W[~@`g¤SQ¼ÚF߃HµMeB?’4!LJA`<¶»ÉÍ/j‹)S¤Æ3¥ 0ýßq>ÕJ¨I`äçwœø‡ÿæ¹{E¾2X Às÷ ØD– ”v BáÛÅò PDª¾=gÅXDjUÛÅd!PDª¾=gÅXDjUÛÅd!PôfÎe>pÜÖwg™óŒ3ĆÈ/öT¤,b@Ýݧ¬ež»'È(Œ@*Rù /sÁk™ç2é1+¬ˆŸI­h³˜*j$€HÕ¸ë¬+"€H­h³˜*j$€HÕ¸ë¬+"€H­h³˜*j$€HÕ¸ë¬+"Þ‚°¢©O8Un &¥ 0†Àæ›9ÇT_uîó/¼´êù3y@àÛßúF¾ NRGL{üÉ£ °s7ió™ÔÎ÷!m RÛÐ"Ø92ßîùÃÖ#ÌÁOâ;vìXòñXv{î­¾M{Ç‹š5+!PàI*W(ÛËFg¾ÇvÇŸ< Û㹊IšòÏaØX}ÊZ˜ÉS¢P17ÚÝûGvסÝz½²»K,ª×Åèþ{Žç³ê£Sº€eäuð8DéÀ™%R’¡‡ÏÞxò«'¾üPº:lEÓŽ þ£¬÷i} °K×zͰßñ2NRã5ó^÷´¨x¯‹(%:7†%YÖÔI•І'‘yM<@ ÌϤìéò—.ßaÏM}äƒK—¯¿ôúõ½Ú (=yIkìRt J<ëx¢‡ÉÎ ÕÉëoåQ aÙ*¥0óx¯bd4&6özµŽ. ‡­”)R&I?xñâ+Ÿ»Ï¤êìéã7þtñ‡/ß<~ò£[Ñi ¶K±­ËüºæcLž’‹EŒOì<= ˜¼9xÄÁ‰“/‚e(S¤loLìíž)”ïÓ›WÞùýï®Þ5Ѧm¥/>æ€MÖ.{¥ïL4¢¦ÑӜس>aµ(S¤¢<=ú½ /œ¿úÇ?\;uæìä»å#ï¸PÛRbúîm›pÛÄÚü'98qceª"P¦HÙþøçï¼øÊE—§iwÔ¯g¯Ù!FqÐî”î^«bÙh+Æ ùåô"òo4ú'&‘Isã@@`#¢DÊîØô¿ß}÷§7¯_{ãààpu'Þò®~ØA<ö¥£ ¸]iêm´£S‘fä~ydx|G3vÉ–‘§«KFÇ”còšæI"cÓmyd4Ö‰“Á†À](·÷ÝY›<Ù?³í_O…Úû˜  ”&R¶¶¨S.OÑ ,Ÿ@Qo÷„[:% °Rž¤VºLh$€H5bÁ ,…@™o÷еï-müVÀ¥H&$€H´ï~Ÿ)¥ R‡0Ÿ~ê‰ ™R L ?1 R·`ò´˜Á¯*!0ž³$O‹ÙˆnÌL ñsaþº73uÊCã Rãø‘ ÌL ÌϤò¯ ÞÍ=è|9ÉÌ/WÊ×H À“T®P¶±Î|ÃMe¢3iÆ®­ì©êl5(Á(ƒÀm×dKr1ü´˜°F (‘ÒqiÚ§ÅØ–ÛQÈ|ûßkÒ‹~½8b@LQ Г@™ŸIyZŒéKÎNßëf½ñ+ßÔ”a¹¶*äÅñ@Ê©1O‹‰jbrãìdt Œ]ÛÆÇ\l@ (S¤l…öuwñq cž“œŒ"¾6;*][ ~@ 2E*ÊÓ¬O‹Ùˆ8 ÜÆ` œ@™"eëœði1v,Úêí[Œ÷#•<ÞÌ· ÐF (‘²;6ý|ƒŸ“ˆˆš2œ£š‰‘4#tuE'6 °‘@Ã_²6æ,9@w–ÛgR6Ož³äÍbnèC 4‘²5Gâi1}^Ä@`ɾÝ;u÷9­êÊ[d·ß'¬-}[¿tjÛDâ!¥"R;Vœ¥!c>€À. lýv¯Q¡âÁJ¶þÏדۑ1̳K(Œ,‡À“TŸÙ›¸$ïïÔŒ]²½WM}Æš$†§ÅL‚‘"˜œÀ\"eDh$m“¯<Ì¿û=öbC{$0—HéddkÛÐŒÈÓbÆÐ#ÈO [‹”)Nÿ#’Y@ÿ±ÆŒb¹<-f$@Ò!0žÀdO‹I¤Çš‰Çæjââ3¶.3{ïøµMR§ÅL‚‘"L ñi1[Ÿ¤|ø\\OÒ´¬è‰vì’?7/›D@`Õ¶¾aÕ«eò€Àê -ƪùÀøZ‰W4°¼™Èã±6 ÐF (‘²;6ý|S=-ƨIPdeôD»1À “‡P" G—kÕ†î,çi1«ÞG&(M¤laQ§xZŒv+%PÔÛ=ítJ @`¥ ’!¹ Rs¦> 0Š"5 É€ÀÜ©¹ SE‘…d@`nˆÔÜ„©Œ"€HÂG2 07DjnÂÔ‡F@¤Fá#˜›"57aêC£ R£ð‘ ÌM‘š›0õ!Q©QøH†æ&€HÍM˜ú€À(ˆÔ(|$Cs@¤æ&L}@`Dj>’!¹ Rs¦> 0Š"5 É€ÀÜ©¹ SE‘…d@`nˆÔÜ„©Œ"€HÂG2 07DjnÂÔ‡FHŸ`üì3Ϫ7O²==yÈð2ç9Ïê© Šä{*R± k™ç*`2I,™@*RÉe±S_Ë< ‰A`-øLj-;Åe-Ìä)Q¨˜íî‚ý#»ëÐ n½^ÙÝ%Õëbtÿ=ÇóYõÑ)]À2ò:xœ@¢t`ÀLŠ)ÉÐÃgo<ùÕ_~(]¶¢iGÿQÖ{Ž´¾Ø¥k½fØïx')Šñšy¯{ÚFT¼×‰E”Ã’,kjˆ¤ŽJEÓȼ& PægR¿¾úçK—ïxä÷=òÀÁ¥Ë×_zýú^m”ž¼¤5v)º%žu<ÑÃdç†êäõ·ò¨Ž†0l•R˜y¼W12{½ZG—†Ã€ÀVÊ)“¤¼ø ñ•ÏÝgRuöôñºøÃ—o?ùÑ­è´Û¥ØÖe~]ó1&OÉÅ"Æ'vžžLÞ<âàÄÉ—@Á2”)R¶7¦GövÏÊ÷éÍ+ïüþwWïšhÓ¶Òs@Š&k—½Òw&QÓèi NìYŸ°Ú”)RQžýÞ…Î_ýã®:svòÝò‹w\¨m)1}÷¶M¸mbmþ“œ¸±2U(S¤l üów^|å¢ËÓ´;ê׳×ì£8hwJw¯Õ‰±l´c†ürzù7ý“Ȥ¹q  °‘@Q"ewlúßï¾ûӛׯ½qpp¸ºï?y×?ì ûÒÑÜÆ®4õ6ÚÑ©H3r¿<2<¾£»dËÈÓÕ%£cJ1yMó$‘±é¶<2ëÄÉ`C`®€”Û{Šî,÷ÏÈMžìŸÙö¯§Bí} LˆJ)[[Ô)—§èŒ‹Ç†–O ¨·{Â-’X)OR+Ý ¦ 4@¤±à„–B Ì·{èÚ÷–6~+à€R¤@@¤aÚw¿OÈ”R€À„Ö-RÓ=åå¹ ™R L ?1¬[¤ D¾¤ÁtHl$ðôSOð(F28''ÀÓb&GZKAž£SËNï{Ÿ ó×½}o ãC©NO>,ßÍ+ìoþ” ô±sð“ŸÞ͈ŒHE*9°(niÆZæ¹4nÃæãg(ËýÙË?¹÷ÌéaEÈ‚À0|p>ŒY€ÀŽ R;Í0€À0ˆÔ0ndA;"P¯HÙ×뛂 vÒŒ?Öô²ƒK‘zEŠí‡VA j‘²/&÷ƒýŽ_Rî§*‰dØŽÊNbº7[ÁJôuTk˜ŽH°¢D´cLbo¬™ÄÓ„œ@í"å‡))HãËB1QÌn Æ LK v‘L³[×—%H¬õ8pêîsö/Y̰f¹Ña*‚#UÎ&$°V‘ºòÖû7!•r=2鱟6ýꈉ]±Â»õºjj€@$PïÛ½\€ä‘I%ΤÙé]ñ1H¬õ$•,ƒ& P*Dj;Ë1j”£PˆT¡˲ P Dª”d(”"UèÆ²,”B‘*e'Y %€Hº±, ¥@¤JÙIÖB Ô{3§Ýým{ª›’æàíö:ž®âƒ«‘Ô+Róí½´ÉKö|ÃQeXëÛ½IþïbS?ø$jbMÿñ½7[/Ù·"B—bd¨¾y’øXÇãÝ£0¨ê$ÀI*ÝwS¢ã¢?Ú1&Ú1&Ú1FöÆÑ‰jXm¾F?ìHòóxŒQ_ÌöŸÆ”žN« â=Sƒ@mV,R“¼ã¼ß&.ú\„D@`#‹ÔTß'eZ³“Åø©'4îtO[ŠõÆ‚Ñn+…Õà3©të]2ÜkvÚýn»;F²¥ôîøÆ!pBN ^‘’‚è¥ u™‘8“¦"ûûc¤lùˆUh}«R ,–ÀZEjª¤»1L pk)ö¨„"UÉF³L¬•"µÖcÞ¨„"UÉF³L¬•ÀZEjÂ'¯uë˜7ê °V‘ªcwX% p°b‘y‚Ý®[Ãí…4¿4bÍŽ">œ~wDÒÊ Ô{Çù~7Þï,7‘Š·˜ïwJŒe¨Z¤L \&ôÛ7ÉšnäR"YIbâîz—rc©–ÛIM5--Ëqá©„@Õ"Õ¸Ç& R„hÇàè¶Ç4¦ça± Ù1@vc©$‘&Ê&P»H™ HÚvZ11Òì¶xü€À„j©Á(uÆ\D@ µFþi/¢é#7:LÅD·9RåLð@`B³ˆÔ¶_ì»mü„ëÏK¹™ôØO›~uĨË*Ëî(¥ 4¿;‹®™(¥HßîE½˜ä´¢‚“T›pL’jòȈ‰3i¶Ev„YJÒ›4ó€8 6*!Š”-[jbú"{ŽX!Úê‘TH A¤)ä¢WHTÉôÎ=J´°(‚1^¶ŒÆY•íÌVe¯—ÕA ‘@/‘ŠJ![úâùm³“3É•€@B A¤$1’Ë‘Sù¹G]à Îjê·‰sV–,@`ÕDÊu!Ñ D,\M|åIäªq0y@`iZoAðM>Ýþ’”Tˆº–—u§DAì?\[Mü€Àª 4œ¤´IF”WèñøÜcþèôDÇ€ Ї@*R‰”¨)CEûx,¸;Ì{“Ÿ¶Ô¥q1 ª´¾Ý+ž‚ßÌ­e&Mù·5¬NŸ®{ÐX*Ú}êb¤'©ý.¬ªs“nƒ2’½_þŒX–HíIƒ „~ûtlqíˆ"";‰‰3÷.åzWÊkæ¥ËÆÄ˜g… •¨Z¤÷Ì.r J´cpôGÛcÓó0óÄø [¥,R¶zÍ)Û{Õ”áCðë%P»HÙµ½ñzVLŒ4{ä®7ŠÎÈš¤C <µ‹Ôà•Ä ®@" ЇÀØã@Ÿ1ÓGnt˜Ê×2þH•×Ĉ')¡¸e¸y£M¿:bÔe†l«fv2’ÔÍ»ò`yÌh´Ë&£Ð„ÀÚ Ô+RvÙ'›'Œ8“f[d[X£?wFO›mC«+7âİ!°F¼Ý[ã®1gTD‘ªh³Y*ÖH‘Zã®1gTD‘ªh³Y*ÖH‘Zã®1gTD‘ªh³Y*ÖH`õ· <ýÔkäΜ!žÖ-RûÙÏÄu¾ù«ËÖ|íÂ+öûÂë—böçî?;&\Œ!°n‘j\ùÉüŵ«ÿËuÕg°Ó¨Î%c%R§?ò¡Ëoÿö/ßý…Ü6F¸­ ?f"PÔçÇßÉU4Ó ÅÊ[#<_}*C ‘@i¯9»Šî=sºq©8!5(ê$µÆ `΀@7Dª›½€Àž R{Þ†‡º RÝ|è…öL‘Úó0< ÐM‘êæC/ °gˆÔž7€á!nˆT7z!=@¤ö¼ t@¤ºùÐ ì™"µç `x@ ›"Õ͇^@`Ï©=oÃCÝ©n>ôB{&€Híyè&€Huó¡Ø3DjÏÀð€@7Dª›½€Àž R{Þ†‡º RÝ|è…öL‘Úó0< ÐM‘êæC/ °g‡´zö™çö< †‡ øÂ¿vpðê¡H½keý8 ,€À7I|FIDATÿ€oºÉÁÒÎÜIEND®B`‚traitsui-7.2.1/docs/source/traitsui_user_manual/images/ui_for_ex1.jpg0000644000076500000240000002404714046644454026514 0ustar aayresstaff00000000000000ÿØÿàJFIF``ÿÛC    #%$""!&+7/&)4)!"0A149;>>>%.DIC;ÿÛC  ;("(;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ÿÀÄÌ"ÿÄ ÿĵ}!1AQa"q2‘¡#B±ÁRÑð$3br‚ %&'()*456789:CDEFGHIJSTUVWXYZcdefghijstuvwxyzƒ„…†‡ˆ‰Š’“”•–—˜™š¢£¤¥¦§¨©ª²³´µ¶·¸¹ºÂÃÄÅÆÇÈÉÊÒÓÔÕÖרÙÚáâãäåæçèéêñòóôõö÷øùúÿÄ ÿĵw!1AQaq"2B‘¡±Á #3RðbrÑ $4á%ñ&'()*56789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz‚ƒ„…†‡ˆ‰Š’“”•–—˜™š¢£¤¥¦§¨©ª²³´µ¶·¸¹ºÂÃÄÅÆÇÈÉÊÒÓÔÕÖרÙÚâãäåæçèéêòóôõö÷øùúÿÚ ?­ªkú§ŒõY¼77VÊÅ ´Ž6`ˆ¾nO<œg‘躺ùn&ÿ ›á[Ëo¨ÞË ƒ"éîTw¥wRjÚô:dÏ Ö“\M¤ô@zçÖ¾ƒš,U‡Œ4µÏ.–^ñQu9îyåݽõ„B[Í­ã-´<¶¥>™#¯©øÿçÖûö+²ñ]Þ«{à8$Ö¸]KhhOÊêðÞÝÿ*ç.ôX-|)aª¥íÔ—k7›*Lr¯µ7~íºç¡#88öô°¸ØÖ£²_²±Ã[éÕpOes?íñϬ÷ìQöø¿çÖûö+CMðÓËc}w¨ Å¥Ë}o™’mû¤¡Ël8<àÇ5gþ:ybFk_³é+|æyàa3ó÷ ¾gxž;õ¼±T#&›ØÍaj4šF7ÛâÿŸX?ïØ£íñϬ÷ìT:vŸu«^Egcšy²QC»“É8è ZÚ¤÷V¶ð[¤Íz¬Öíñ¼r…Îì8m¹9þu¼§N.Òi=÷3T¤ÕÒdo‹þ}`ÿ¿b—ûB/ùõƒþýŠ’? ê’¹TŠy‘Ä®nb #º‡EF-‡%H8Rx#Ö’ÛÚ¥Ô^b[¢/Ú~ˉçŽ"fÿž`;[Ú§ÛQµù—Þ?cSk1ŸÚÏ­¿ýûhEÿ>¶ÿ÷ìSáðÞ­:+-™Vv‘cŠGT’CùÂ#ÌG|ÏÕÐuÓ¢Ô<¨’Úo¸ïqdo“‚Àà3(' È§íi2í¸{öbhEÿ>¶ÿ÷ìQý¡üúÛÿß±Z·ž];SÖlÝä½u‘ZÞXQÚ3£6BsŽzr3›7†õh™¬Ë24k$Qº¼‘™È–R{dx¨†"„ö’ÿ‡*Xz‘Ý1ŸÚÏ­¿ýûŸÚÿÏ­¿ýûÝGG¿ÒYö™¸++«©*ÅXnRFA#¨ïT±[G–JñÕ88»3{J¶—Vy<›{Hã‹å’3µIÎ’Nv>•y´`‡ w¥ûwŸÿÔ>”ÛéwÎÚ­Çþ95Mws!$†5Ç9MÕqZ%þG\)C‘6Dút)ÇÛ´Ç€ 2®O¦L`© Slt»«ß8µ½²Ã!‰šhßTäqž8Èõ¬û¹žHdIà×U,æ oðq»W¾ú*•IÔ…¢º„hÓ–¦YÑÕzÞiCþÝçÿãui«Ÿ.2y›îB±H¬çÐ@3ížk®¿Ô<%iw5¼Ú]ã<.ÈÅàpqóÖ%áÓ¤ñ>>—o$ÓË„‘‰mÂr¤õ?Ýõ®xbg%{5§T­ÜÖXjiÚÿ‹2týçR²b; x[; Ñ1.Á *ž2Éô5+x}ÀæïHöÂoþ5ZZ-ȃBÒÂÈ`bÊ2<ùxÏjÚ—Fµºj0_ˆtŒ™˜ü𑌦;“ž:þ6A£´Žrdq´sƒ×Úµá^øƒþ~tÿûù'ÿH~kçþ^tÿûøÿüE:p4©ÆŸµÙÜŠ‘ÅN£Ÿ&êÄRø†ÈÚLÆÞðÜÉ $Fˆ†0ß6¹ppr26ñêiIJ\ºµ½ÊÂþS¸U, –UÜ7 ‘Ô¯z—þÞ¿ÿ?:ýüþ"øWzÿüüéÿ÷ñÿøŠ|ùv¿¼þ¾áÛeîÿZ‘€##ÆZ{Úq'·îÚÄ–V>1ÛÝËg£ÛÜ+¢$“4¾ˆ€%»ôâ§?µæR­q§F.üÿ㔇Zò¨U¸Ó€~?ñʪµð5ª9N¦–·çú1S§‰§XÃ[ßòÿ"†ƒªÚiÚ-…ä!ìõ(¯ónˆæB±í*w2ã ç'éZ¶º„ áÈu‹øç‹>(kÁº¬­¸£>̳(èOÍíÓš‡þÞ¿ÿ?:ýüþ"ü8×Y•Œúieû¤»äã•*`$îª[úÔ¨,RVp¸/Œ?Ñí§ò®­níæ¼˜%´Vò’frê¾l£1à’§jœÀV-õÔWZ…¦$RÓbœJ키»«.Þç{[ð®õÿùùÓÿïãÿñ»×ÿççOÿ¿ÿÄUÓ«—S’qŸ[þ~^l™¬dÕœ¯éÞø†Ö}[Ä‚ÛÜçVÓÝcÚŸ$­&3»•3œÏJ~µâ•Ô..e·ût_lšÚI"Š;xU<½¤Ÿ8+Hí¹FÓ…Æ} ÿá]ëÿóó§ÿßÇÿâ(ÿ…w¯ÿÏΟÿÿˆ©çËnŸ>Öü>E/®Ù®]Ì­~öËT½ŠKK7WA!žòhãŽK‚Ò\¬/òÜ'‘Åeù5Ôÿ»×ÿççOÿ¿ÿÄQÿ ïÄóó§ßÇÿâkª–;J‘¨¬sÔÃbjK™ÄÌÓßìÚ ãŒÞ[ÿèWKm¬x0Y·ZmÔ“ˆÔHÊÇ Øäœwª–¾ñ5›1ŠïL!Æ×I7HŒ=ÕƒøŠŸþ/ÿÔ»ÿ€1ñšä¯‰ÃT“j¢ûÚé䎚TªÂ)8þ þ§:yLä‘]&·0·š|œÖ/¿ö•]ñJ°d}7«Çg²ŸPDYÜTVþ ñE°u[­*EîdLªO®23ïÖ®XÜ<š“œtóäLpõc¢‹þ¾d…î‡}{qronÓΑ¤ÛöT8É'ó*¬wÖ“øÃÐY<²%¼ðÆZDX™Ëôñózö­oøD¼OÿRïþÅÿÆiÂ)ÁÙ6‡ Fø-’7ðpË#zÉbhròûE÷ù[ùKtª9sr¿ëægÚÏ::Î[Ëû1ß´€qçËœ{â¶¥ñ€ŠéÒ×NLbѱ‰õÝî}yürsFÛÁž*µ‡ÉŽïHxÁÜxüà§¾7ÆqŸj—þOÿÏOÿà _üf¾w‚UkÎ¥:ñJM¾·ü¢Ãf…S«E·n–õ2¥šÎmfëû=$Kf´»(’²³ÉýkÎ/”-ÁÕêóø7ÅsÂð›½$aüˆ"ÃДŒ=«Ëµ»g²Õî-%*d·‘¢r¼‚Tqí^ÎOBl<é©©6ï§C‡0Åȵ'ý|í4®¾¹†Ÿò-Kÿ_ûM+¯® Çýî§©xoáD(¢Šá7 †êÒ È–+„Þ‹"JHù‘ƒ©ãÑ”¦¢€ (¢€ (¢€ (¢€"†Ûf°5"€¶æ˜99`sŸÃõ­´§ªþ¿áXSýºçZKK´¶SlÒ–hD™!€ÇQëúUì}cþƒqàÿâêÕí _´§ªþ¿áGÚSÕ_ð¬¯ì}cþƒqàÿâèþÇÖ?è7þþ.Ÿ¼¿iOUý´§ªþ¿áY_ØúÇýâÿÀ!ÿÅÑý¬Ðn/üü]ðhjý¥=Wõÿ >Òž«úÿ…ecëô‹ÿ‡ÿGö>±ÿA¸¿ðñt{Á¡«ö”õ_×ü(ûJz¯ëþ•ý¬Ðn/üü]ØúÇýâÿÀ!ÿÅÑÚSÕ_ð£í)꿯øVWö>±ÿA¸¿ðñtcëô‹ÿ‡ÿG¼rNޤdt>¾ŸJù«Åÿò7êßõù/þ†kè{}:þÞ_2ïR[ˆöœ"ÛˆùÇ\ä×Ï/ÿ‘¿Vÿ¯Éô3^ÎS~ißÈç¯Ðïtº—Ãzmµ¡rÓêå5¼’ÔH¢Ñ›HÁ`2 ð9 WGq¨êšMÀ°¶6éÚYÚ[§ónfx³æ³‚U‚2Àc+Æ)ø N±Ôü(ðjV÷q-Öð“IJ(o-pG\ù×Y‘¦ZÄ"·Ó­!ŒmÂG¨Xºðf%‡¡$õ®ÁÿµOÔ¬7ð¢s'ÄúÃG©\'Ø–-"Õæ¸ŒÀå®Y%¸¶¶ÿ݆ùßÅŽa´Öï¬l5ch-ÄZS^_N²ÆÌ× n®~E!†ÃˆOÌC}áÇôgÃZ;jçT’ÂÞK€¨#/ +¼›ÓŒ†-!$ç’ëVdÒ4ɤ†ItëIÞF–h˜Ý›s2œpKrHäžk†èÜžñ-õ€½F³I%Ó–ææã†T{uBÑmnpÌY$`˜çÇÝMüIâ8²›LC4Ѥ8Hƒmd•É1 ƒ$d\î8&©·±ŠÞòêè3¼·L¥‹vª¨ÑAÜØõv=êдx¬$ÓãÒ¬’ÎVß%ºÛ ÛŽJãð?!@²k:—ü"ñ^­à¿{¨íX>%Df¸–!® ;C§å$àš4Ýnú_¶v-Ý Y„³E ‘•mHRÇhÅÁrTŒâ¶…°¶ŽØ[D ‹g—Áµ6W ÁL ŠïHÓ/ãxï4ëK”y¬³@®Âí A  õÇËi^&×5Xí]_O‡í’Cn€Û;ynÖkrÎx7¼¡x# î8 ³EÖï¤û^··K;Ûû!%£FÍ iàµ\‰w…óÆÎvžFxëáÓ¬mÂ,­â°t ®Ö å‚08!>_§*t-Þñ/ Ò¬¢¹B$ÉnŠê¡v€ €§\ZßÅþ –Ê ¶Ó-ÑoÖ mgHÆÙ&‰6ådvq¶o¿±62§vÑÖ[Ksö×·¸žÒO.Þ&" U÷’ᘩ'j£o$ä7'G¤iÉ4‘iÖ‘½Ä‹,̰(2:¶åf8ä†äÈ<Õ K3N#A+¨Fp£s($€O ,ØúŸZ­mÿ#r׃ÿèÄ­úÆ·¶kÂø•-«EË –,OLÖµ|äöÿ¾‡øÕÅè&IEGç'·ýô?Æ9=¿ï¡þ5WB$¢£ó“ÛþúãGœžß÷Ðÿ.€’ŠÎOoûèr{ßCühºJ*?9=¿ï¡þ4yÉíÿ}ñ¢è (¨üäöÿ¾‡øÑç'·ýô?Æ‹  ¾ççü|Ëâÿùõoúü—ÿC5ô¼’+!އ¸ô5óG‹ÿäoÕ¿ëò_ý ׯ•|sùõú»ðÓþE©ëãÿi¥uÕÈü4ÿ‘j_úøÿÚi]upf?ïu=Kà !EW ¸QEq.­¬ÃR¿“Xµ- /7Ø–ie‰IO-Kãx`>\ò·¢¹qâû“£iúŒš\V‹œ¯wtR“j‘æJ¨Á ùAàÉV;+G÷º…ôoz±Òòâ($Y2Ì©<ˆ.Ð@-ž§‹¯EsV~,¸’ «ë {S{`o-.šPã÷`#þìÅ¥Œ¡É$ãœXxæc±Òv›Xî&½W’HÊ$KŸ-^5f%f\28Ãf]Er÷~0¸µ—ì?Ù^f¢’:KM4±(U‰É Lç‰ãê€gpÏvíì÷›dkmà’Þ)PÌB¾æÝº6NªTÏ»c±¥`#¸¸ÔUK홚)3³(0õÿ³x‹þyéŸ÷öOþ&‹où“þ¼ÿF%oÖ‘ŠhM˜fñüóÓ?ïìŸüMfñüóÓ?ïìŸüMoÑO•̳x‹þyéŸ÷öOþ&³x‹þyéŸ÷öOþ&·è£•̳x‹þyéŸ÷öOþ&³x‹þyéŸ÷öOþ&·è£•̳x‹þyéŸ÷öOþ&³x‹þyéŸ÷öOþ&·è£•̳x‹þyéŸ÷öOþ&³x‹þyéŸ÷öOþ&·è£•Ìkk}YeÍòÙ¬AOú‡vbqÇP8¯ž¼_ÿ#~­ÿ_’ÿèf¾š›î~È×̾/ÿ‘¿Vÿ¯Éô3^ÆR­)üŽjý]øiÿ"Ô¿õñÿ´Òºêä~ȵ/ý|í4®º¸3÷ºž¥á¿…¢Š+„Ü*¢éVK¦Ûé ZÚù^L{›åòвsœœ^½qÎjÝ&§IeidÑJ-m#GÜH¨È]CbA€#õ5fÚÂÚÎiå·WCpÛÝ<Æ)»$’¨NÕ$’NÐ2NNMX¢€3‡ô¶¶¶·6¿»´·û4ÌlÇPŒäcBï ‚ BžÑÒ;„6òÉö˜åŠfšæYÖEEpY˜žDH:ñ·ŒsZôPuΧ]K$ϱÍ,žcËÄ‘9;UÜŒF™\à•ŒŒÕ›}>ÒÒc5½ºDÆàÂp¢4,QBôonƒ¿°«P{h%ÿ„n¼¶òVÍ£/Ž7Rä lïÿ|šÀ¹¿¸Žý,íl^êFˆË…‘W½QGÚ5úËÿ1ñUi»ßÞ=þù4oÿ|šÀûF±ÿ@ð&/þ*´kô—ÿbÿâ©ó>ÁcxôoûäѼz7ýòkíÇýeÿÀ˜¿øª>ѬÐ_ü ‹ÿŠ£™ö ûÇ£ß&ãÑ¿ï“XhÖ?è/þÅÿÅQöcþ€2ÿàL_üUϰXßÞ=þù4oÿ|šÀûF±ÿ@ð&/þ*´kô—ÿbÿâ¨æ}‚Æþñèß÷É£xôoûäÖÚ5úËÿ1ñT}£Xÿ  ¿øÿG3ì7%;à‡±ô5ó7‹ÿäoÕ¿ëò_ý ×Ðv¯¨Ë.Û1­c Nö™ŸL)5óç‹ÿäoÕ¿ëò_ý ׳”¿z#ž¿C×~ȵ/ý|í4®º¹†Ÿò-Kÿ_ûM+®® Çýî§©XoáD(¢Šá7 ˲ÕÚMïQ¹DÚk¥! )² åˆíA’Hô©X«á˜Ö;ˆN§zÖóL× ò¶Á)—Τ&âCòˆ"€+[øßM½Ž²†[»©ä’5µ†X eY°þg–ØWC…r~nŸ+m¿¡j—:¤wFâÍá]O Kòì•RWA´-gpž8ªrøB«[‹[ÍNöêɼ۴• ÅÇÊŠÄch5ÁM¤œçjØéɧÉqäÏ)†iQm+3r§¾fbNIÇl)èm—Šíîì…Ô–7v‰%›^À.ó¢P¥ˆ!È\oO¾Wï{W‹Çš\ЬÐÁq**Ì÷ E"Û$B2ìÌ®C²¡Â<‘Œ‚*ÛxVŬì-¼Û€4ëQmná—rá¢esÆ …ãr8¨áµ^››ûÛ™o¡ž¥Æ¬©6 ……1Ç®sF€2÷ÆúnŸ­Ü2ÁtdhÞÖi`ª£»H#?,‘œ'æéÃcbÇSƒQÚöÉ+A%¼WNc*’,›°<äÉp}jœÞ…樂·¾»³»šBæh|²@duaƒäÆzg#‚"¯ÛÙ-´ÆDžá—ÉŽ’—U[æç$±ÝÉ$“µ}(Ðí¿änOúðý•¿X6êÃÅK&ÁbÊ[]p3øÈÖæôþúþu¤vE7z}:7§÷×óªê)»Óûëùѽ?¾¿:ŠnôþúþtoOï¯ç@¢›½?¾¿ÓûëùШ¦ïOï¯çFôþúþtÙ¾ççü|Ëâÿùõoúü—ÿC5ô̬¥8`x=±¯™¼_ÿ#~­ÿ_’ÿèF½|«ãŸÈç¯Ðõ߆Ÿò-Kÿ_ûM+®®Gá§ü‹Rÿ×ÇþÓJë«ÏÌÞêz—†þBŠ(®p¢Š(¢ŠÈ×µßìo m´_;q󯮾Íã)“k|ç9 ŽB¹ÏËȽEµhm¦·¶¾W‚âe\•ŠF]ŽùÛBä·‘ÆHOJñ7:f“-ðx®5 Xf,¶òyäQ…ó0UIc€ däIÚ¢³´ïiz·‘ö ¯8\FÒÄÂ6Õvn ‘Ž Š¡Èê¬Ö:­–¥·ì“ù›íâ¹+ Ç&íÈﱸê1Í:²ÙÜ­°ŠêY<À¶ñ—ã8ÎáùÓ?·$ÿŸ Wÿ¨êwòéºÚM¡–Kt·Œ¸%U¥¸Š0Ä dùÆFqŒŒämè·×WMkza{‹ ‘Ë Ò\Å€„,Åp$ ÇîçŒàZЮRþÜ“þ|5_üz?·$ÿŸ Wÿº)ò…Î{ûrOùðÕðèþÜ“þ|5_üzèh£”.sßÛ’φ«ÿ€GöäŸóáªÿà#×CE¡sžþÜ“þ|5_üz?·$ÿŸ Wÿº(å œ÷öäŸóáªÿà#Ñý¹'üøj¿øõÐÑG(\ĵԤ¼”Ä-o¢I-<,‹î•|ùâÿùõoúü—ÿC5ôÔßsóþF¾eñüú·ý~Kÿ¡šör•iOäs×èzïÃOù¥ÿ¯ý¦•×WðÚMžyr·úGT‰˜«NàW[çùãqÿ€ïþÁ˜¯ö©ú•†þI(¨üáÿï®I¬· " ²zŸ³>ôwÚÛþxÍÿ€­ÿÄÕ'd#RŠËû[Ï¿ð¿øš>ÖßóÆoüoþ&Ÿ0XÔ¢²þÖßóÆoüoþ&µ·üñ›ÿ[ÿ‰£˜,jQYkoùã7þ·ÿGÚÛþxÍÿ€­ÿÄÑÌ5(¬¿µ·üñ›ÿ[ÿ‰£ímÿ–ÿ_×,£û0Ùù¹ mÚÍnòÇüôO×ü(òÇüôO×ü)”PKsÞMj¹áUg qógôýjÇ—ŒeÔdg5•gÿ#§ÿ\àþOZ²ýáþèþTÀ<±ÿ=õÿ <±ÿ=õÿ eW¿¾‹N³k™UÜTT@7;³EÀÉf$Ï$ioËóÑ?_ð£ËóÑ?_ð¬¸ï¯íí¦¸Õ¬¢…#Û´XÉ-Û6NÊ"SéÐý1P·Š´u‘PÜJs•Ø[JV,Ë™.#ÁGyvœã˜^Xÿž‰úÿ…Xÿž‰úÿ…e¾¿§$“©–\[ä<‚ÞCmÁv+…Úï¸íؤ¶ìŒdPÛë±Þë6¶–§0Ëo<’‰bxåãh@R­‚¹çd‚¤pyÚòÇüôO×ü(òÇüôO×ü)”R%¹‰ï&µFÜðª³8ù³ú~µóÏ‹ÿäoÕ¿ëò_ý×¼ÙÿÈÁ©ÿ×8?“׃x¿þFý[þ¿%ÿÐÍ{yGÅ?‘Í_¡ë¿ ?äZ—þ¾?öšW]\ÃOù¥ÿ¯ý¦•×Wcþ÷SÔ¬7ð¢QEp›…>_¼?ÝÊ™Tn-õYfgS†$þû.p;s»š½EfýXÿ ¼_ø?øª>ǬÐ^/üüU\¼´‚þÊ{;”ó ¸¢•2Fåa‚29Õ‹¨xnïW±žÓRÕuòeŽÕÒÛc#¿¥-ž«,ÌñêpğŸeÎnws@ª½ýŒZ›[J΀²ºº¹X20ÎFC(8 Ž9qU~ǬÐ^/üüUcÖ?è/þþ*€*^躞©d`ÔoôùöȲ$Ùíä¾²Æe>`ä2¸eSÎ1U,¼öM#S°ûdCûBÍísmå¤;¤ò©¸ð<üÏDëÏßcÖ?è/þþ*±ëô‹ÿÇÿNàQ¸ðÌ·6Wzl—vï§Í3\Ç–¥˜Jfó°ç~=ùv©*q»<—éM*ö¥{D1Ç246–ko2¹U‘ÎKXò[û±ÿAx¿ð ñT}Xÿ ¼_ø?øª.•›ö=cþ‚ñàÿâ¨û±ÿAx¿ð ñT€,ÿä`ÔÿëœÉëÁ¼_ÿ#~­ÿ_’ÿèf½òÂÂ{[«‹››¥¸’u@Jųsî}Jð?ÿÈß«×ä¿ú¯o(ø§ò9«ô"µñ.µa‘i©ÜÁs¶9 ‚zg ©¿á1ñ'ýï¿ïûWÐ8Å»´rX?á1ñ'ýï¿ïûð˜ø“þƒwß÷ý¿ÆŠ)rG°ü&>$ÿ Ý÷ýÿoñ£þÐnûþÿ·øÑE‘ìÿ ‰?è7}ÿÛühÿ„ÇÄŸô¾ÿ¿íþ4QG${ÂcâOú ßßöÿ?á1ñ'ýï¿ïûQÉÀð˜ø“þƒwß÷ý¿ÆøL|IÿA»ïûþßãEù#ØþÐnûþÿ·øÑÿ ‰?è7}ÿÛüh¢ŽHöÿ„ÇÄŸô¾ÿ¿íþ4ÂcâOú ßßöÿ(¥ÉÀð˜ø“þƒwß÷ý¿ÆøL|IÿA»ïûþßãErG°ü&>$ÿ Ý÷ýÿoñ£þÐnûþÿ·øÑE‘ìÿ ‰?è7}ÿÛühÿ„ÇÄŸô¾ÿ¿íþ4QG${ÂcâOú ßßöÿ?á1ñ'ýï¿ïûSä`øL|IÿA»ïûþßãY7ÝNóÏ#I,„³»–'©'ÖŠ(åKd4ÿÙtraitsui-7.2.1/docs/source/traitsui_user_manual/images/default_text_editor.png0000644000076500000240000000117014046644454030506 0ustar aayresstaff00000000000000‰PNG  IHDR…aJȆ?IDAThíYËMÃP$ˆè€8Bè€ p€— !à@À * $J&šlÖï­Ÿ-pÖzßìÌì¾|àyöp»5½F0ã“ÓÏ÷8y|~Ÿmáòâœý/÷¯«ë;Óu à“AÝÕ~àæàìi+Rôíæh±X´hm»EÍTÒßê÷ãu~ØŸ|ŽyÑœäéç\ÕïGàr£z3|SÎV8é?ÏIEND®B`‚traitsui-7.2.1/docs/source/traitsui_user_manual/images/alter_title_before.png0000644000076500000240000000735714046644454030317 0ustar aayresstaff00000000000000‰PNG  IHDR°|Fÿ­Æ¶IDATxí] ŒÕž{÷²à²Ëò^ž. ]ÄjÐ ¶±VRMQ©Ø&Bª&¤h*µ‘&5>0¶ K«b¡i‹MilJ‹!$Èk[ÀBy,—eXöìîÝ~sÿ»ÿ=;¯Ù™Ù™¹÷ÜlÆÿüç?ÿùß=ç?ç1–J¥á“øò¡•%ÛÊJ©+íßv©ÏlŸ¤ÂÊKêts¬ø2,j«/‰ï&èxÃ)¶1Õ{Óà·|4ž› b ˆ *FS÷mŸ/å${¨üO£êÔácx0,2€PÑÐö\b‚C‘cD ¢W‡&T@ ´#È@ QþÐê^“¼‰¹60ŽLS–Q†çÑÌ J?÷ÆÒTìàße|,>mupÙHM¹Zp¼ÌˆGÇÇ—Ïé1¼™€!ÿû+®¬;-ä]*¡ÜϹc`,Yôëm¯þ¡Ÿh$0‘Y!À¥EBì–´EÈ\{v-DÔ2¾æ¢òY}6ÍfëªÏlxn¢&\*Y»ý<&^¿wÝoßMž;Kó^û쨙į«­éÓÀ/Ÿ]©(©ªÝ€vL)+>r"ɉ‹ÄMÉ¥ÅW÷.j;ÖÛ}ý&G F§K–µ¹‘èmÝ0ßõ[ÊãdíþVhØw*Ó @@~Ë+£®\%¼Rrþ…E=†"KšO'¢µÔ¤'c˜§ï;‡ÊÍÄ«îž8© P þK>ýßYõ:iòmxRU±kgeщç›n}^3–šØ >%vƒ¦†) اI•^Ê-f±èÒ«²ÉAâôÕÊZ£A+®FõJôbö9@„Ë^x÷Ìü4h¿ðö¹Š¢Âì“©‰ÄîØ¤¯Î^üæÔV3¤tÁ“ó^}óí¿ÿuýÛ¯­~÷ùÇކC8¶j?X3(ô†i‹o}ÐeØ«ÕeÒFâ{ ~ÔO4ž¤L‹YXÆD·3¶þXá ˜O¯Ä™iiÞP4ÐÚöЕaUXˆ®zd 3 ƒ-£m×–IKn}æåSÇ\7éHÛ]S{.ž¿ìú!8‰4)5MÐú?š;â•OÕ†ùÑO}å»fýÖ½f£ˆ¯QËM`E“r7³XÛàS/N.f¨Úù’Õ¯KbýL`…€…À ¢œè¢S†Þ‹, pæÄ÷;õÏO,ÙòÅqS•qS×ÿ|UªµîÎ_,WZ;ž©šö?¶úwå˜ÕÖø¾6Ÿ{ “é‹ ^ ˜§îˆ-ofý$ŽSo=qh–v=ªÚÖv< …p»¤ÊãYÀW¢Ï ¡8e` }dìÏËJÔ”¥¯œõc±_Ð !¢A#¯S¯1øƒÛ‡Ô…£Ú-£÷ $QÑ÷Ž…¯þ~øÊMh®úóî%¯¿¡4íÇ_Óží›7Uík½•‰„kÂ„Ø šÐÄ6­$yZöÑ+G|Ž2SEƒ%+Œeët…Рç2ܨoªµßÁx¢äÐ%-Åe Å©²ñä'šr9>³òRüÞL¹‹J¢Ã 2i±‰Äë‹Gqm…ó„>]Ûzõ3{Nö¼ñº«f.iê‰R]Aú•DBà £²¿`y¥hÀ®§áyæ©{Šî“ê3PÇNú>ɱˆÀ³k›ñîÓÃÏUÓÍ£¡dL¹¢$/agÄ@Fá~šä½RòúŠõŸ.üÞo04#ÍŒ+IaIMÐ0ã÷ÙhPCpŸ$,"~®ðÐ:õ˜gÿƒ% àw*½SrËšÍGÆwfÇMí `É‚%í=J¶† îÃ7_,!‰¨Gÿx‹ Dú‡\†u¨!Ô«‰†´˜Ñ%fæ†zóiö“R8}W÷‰ÃÓÌ*?œ*HÂÖ–-ÿÙ•[Å—•i@TŒF\½Êñ½XÈ”æÙÀà‡šé5|³%ľ*)™S€È©tºwFÂ} sJƒ­¢Ò©Çÿþ×ÖN‡|ó[?¨­n¯};•–Ý_ã·mßiáÂÏ–þÄ¢Wv¿—^~å 3ÇäÚ`™ÀùÆ€X6–-;ŸÌücPpÀ›,#‰œ‰€1 à'žA ¢$gü—Žh"àà”Áa"Šœ!LWN¶9ã¼tDS@0xËÐf}—äD4¶Œˆz(ÍvW€àmÅÑ”R8Ì0Ý28Ù¼/Çb ³ŸÒ6›0ƒ@Ô¢gê9,»HyûÄшa —àw —äð "à äÚT:ÝÏ모t?½Ô¶H@„-#Û#pÂ6½DØ2°=¾•ò©€³êbz_{äS.’äP¿ŸäSA&¶«s‚ï­¡–¯#™Éœ®N*Ç…7Æ€ÐàÂéðz&-ëRìž2 W^3º4µÆ˜®œl äòÆ4zg“) "D6°ŒwöHMGÀî–35hØp9½?° C4€éURk`0Ý28Ù¼/0Æ230ÃåÄþDÀú|ë9Ö°oLù“/ßµÂå´ò)— p¸/€oL˜Q—SÛ-*]N#‡G%QÉT7Ù)ÑMŽÊ4QÉT7ÙéKQ)ߘê¦ìù0/€€ò)’Õ*ýl—oLuG½žÃ†·ÔÌ4¼µôÚ0©/˜¶pÖÐô$E:«å¬¾EÀî)ƒñ!ZÂk†È”t¤#`ºBp²E(SäDÚyi¼>¦€à¬‹1™Ã2z½’ÑØÝ2"êž4Ûiì‚wqC¦( éÈEÀtËàdÓ¾€§†9W¥Áv"` Ãâ@ÏÔsxJùƇ"Z„1 \ú ߘrÀ‡ûùÆT€u9µÝ¢Òå4rxT" •Lu“Ýè¨L“­!ì¼Õ¯¤Ž"> !Y@È££ æªpòh«9vä—¬!…+÷…% r?ÇŽ<”€p®Ü–€Èý;ò0[TZë?¨ÂZ Ò½‹<¦ù¿O盿œ>»€À€\=†˜]À䛿„ ¹eðwCj$ $:D@¢C8dCBb C$ :„#ü ~³Õ'Sœ2|²€Ô²Ÿüž&8†´¯fx«œ‚ZöÅÛ)<× @Xç^ìõÜÿFÔìà¡ ¾I"G¤ýKžçšÍ̟梃›`òÂL xn­¨0x@ˆÖhh³°jÄ"Ô䤲kóÉ)±)Òþ¹j@øçvPš‘T§SwaˆÓ)DùPßžîùZˆñ}±Ÿf^Bü3LÔü±“²Î6‰QSÓËb!'ü0Û>†Ü'+„>ШWÏ׈…­):ÛÐÔp e4CÐ4â-3€ xiýiX˜›z³5±É4äšuÓs÷ƒß2>>%.DIC;ÿÛC  ;("(;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ÿÀ…º"ÿÄ ÿĵ}!1AQa"q2‘¡#B±ÁRÑð$3br‚ %&'()*456789:CDEFGHIJSTUVWXYZcdefghijstuvwxyzƒ„…†‡ˆ‰Š’“”•–—˜™š¢£¤¥¦§¨©ª²³´µ¶·¸¹ºÂÃÄÅÆÇÈÉÊÒÓÔÕÖרÙÚáâãäåæçèéêñòóôõö÷øùúÿÄ ÿĵw!1AQaq"2B‘¡±Á #3RðbrÑ $4á%ñ&'()*56789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz‚ƒ„…†‡ˆ‰Š’“”•–—˜™š¢£¤¥¦§¨©ª²³´µ¶·¸¹ºÂÃÄÅÆÇÈÉÊÒÓÔÕÖרÙÚâãäåæçèéêòóôõö÷øùúÿÚ ?­ªkú§ŒõY¼77VÊÅ ´Ž6`ˆ¾nO<œg‘躺ùn&ÿ ›á[Ëo¨ÞË ƒ"éîTw¥wRjÚô:dÏ Ö“\M¤ô@zçÖ¾ƒš,U‡Œ4µÏ.–^ñQu9îyåݽõ„B[Í­ã-´<¶¥>™#¯©øÿçÖûö+²ñ]Þ«{à8$Ö¸]KhhOÊêðÞÝÿ*ç.ôX-|)aª¥íÔ—k7›*Lr¯µ7~íºç¡#88öô°¸ØÖ£²_²±Ã[éÕpOes?íñϬ÷ìQöø¿çÖûö+CMðÓËc}w¨ Å¥Ë}o™’mû¤¡Ël8<àÇ5gþ:ybFk_³é+|æyàa3ó÷ ¾gxž;õ¼±T#&›ØÍaj4šF7ÛâÿŸX?ïØ£íñϬ÷ìT:vŸu«^Egcšy²QC»“É8è ZÚ¤÷V¶ð[¤Íz¬Öíñ¼r…Îì8m¹9þu¼§N.Òi=÷3T¤ÕÒc?´"ÿŸX?ïØ£ûB/ùõ·ÿ¿b¤Ãz¤®U"‡dq+›¨‚Hî¡ÑQ‹aÉRžõ¤¶ðæ©u˜–è‹öŸ²ây㈙¿ç˜À–ö©öÔm~e÷ØÔÚÌgö„_óëoÿ~ÅÚÏ­¿ýûø|7«NŠËfU¤Xâ‘Õ$Æ>pˆÄ3ßóÅFÚ%úi+ª´H¶Ž¥•ÌÈ€p„…Îìe;Z~Ò–Ü˶ýEì§Ù‹ý¡üúÛÿß±Gö„óëoÿ~ÅgâŒV¼¨‹6Ÿ¥Íf.ÊXÛÄùØe‰‰p U¸È#'ÐúT§HEëy¥ûwŸÿÕ› –‡BÓPnµoý-Pº¹—' kJ¤¦Õí«;}•5ÆÏd±Äí ºmËÆ¥Ú(â‘[h$oE“ƒœsSÛhÓÏiÌ£O¶(eYbrÅO ü¨ØÈçžÕVÁÌ—®[“öK¯ý'’º}.h ͬ7hÒ[¥ŒRHŠpH[Un9•jÎ×m|Ç “¹„t”^·ºPÿ·yÿøÕU¼¶[kgš&Óî–,y‚˜àWŒ23ÔzŠëeÖ<¿I¾?G?ür¹N(àºñ$.ÔŠ&DÎ]D¥J¼äÕÓ[onétõðôÒÑýÍ’ÿÂ7x#Vœé–ÎG1É…”ú¨F}³Q¾€Ã­æ?íŒßüjº¹.í³wøsžU,‡˜Écó{ãÓùô¨î4«m9o5[qZE àÜdd6{‘øúñ»å¥Ÿc5q左߉ôðÈðjÊ\×~{úhq¨xq“Q°»€Á öE×k}à®Tvçqß×Û|lÐ…¬BòÎÿí!䯛7ãæÛ—Î3œf¹ oæðÍéê~Ùmÿ O^ >cqÜ×±BK0µe®»hyõðñÁâ'F›vVßÐô‡©l÷wÝ_Ce–…D“0 Nô;y#=?Jê×D°¶wšÛĺd²1ʉgPS‘\w‡<ªë:oÚm'´DFØD¬Àçh=”ÿz¶Wáçˆþ^tÿûøÿüMtã–­IFumѣͥí¡ïBó-xŽ(mü,¶‹«Z^9¼YpL¨ØàŸÌŠÁÔ.ôûÝJ²’;Ï´i©>6A£´Žrdq´sƒ×Úµá^øƒþ~tÿûù'ÿH~kçþ^tÿûøÿüE:p4©ÆŸµÙÜŠ‘ÅN£Ÿ&êÄRø†ÈÚLÆÞðÜÉ $Fˆ†0ß6¹ppr26ñêiIJ\ºµ½ÊÂþS¸U, –UÜ7 ‘Ô¯z—þÞ¿ÿ?:ýüþ"øWzÿüüéÿ÷ñÿøŠ|ùv¿¼þ¾áÛeîÿZ‘€##ÆZ{Úq'·îÚÄ–V>1ÛÝËg£ÛÜ+¢$“4¾ˆ€%»ôâ§?µæR­q§F.üÿã”È~ë2ǘ/4·Eb™I\€T•#…ê ŽÄUU¯­QÊu4µ¿?ÑŠ?6-³±ó™~^G̼Ž>aëS»×ÿççOÿ¿ÿÄUÓ«—S’qŸ[þ~^l™¬dÕœ¯ér®.¯Ú(ul±f¬Ñù& ö Ý9Æ*ã³û5ªÛ¥ÇÚ6¹¹y ùyÈØôÎsøWEÿ ï_ÿŸ?þþ?ÿGü+½þ~tÿûøÿüEt,~[÷¿×Übð؇ö ðÝ[Ú®ˆ.Ô´ß2*žY~Ñ.@éÎ+OVÕ<%>*iö]ynìp9þ3Û=© ðoŠ-á‹XÁ,«<^pRzã|gö©?áñ?ýK¿øÿ®)âpòŸ2¨·î×[ê¬uF•UWÁ™Íi’ 5fE9dºÿÒy+^=FÞËWArα>(É@Öª¹‘žO­[“ÁÞ(’'ŒM¢Â®0æÞ aèJF Ô±ø?Å1‘ôY–1„óà•€¼díW<^m·5ª¶ïó·èL(Õ…—+þ¾fd¯¡°çP¼ÿÀDÿãµZ{Èõ+ßÜÂG4 "†ê\ÄF}ë{þ/ÿÔ»ÿ€1ñšŠãÁ^'¸„Ân4x£$KxÄ!ˆé‘ŒãÞˆâð÷\ÕN¾iÿ*ì¡S[Eÿ_2í+ _j_ÄgHîf) mçÏoóÏJ{x®;Ñs²ŸiµŸ,¢<…Àà¦zz ¾ñhUV¹Ñ%Ú†šÙdbL³DIüM)ðŸŠÏü´ðÿþÅÿÆk䥖î£^ùþ:V³JNÎTe{.«OMN^ü‰|7Ü Ëoýzá$ǘßS^¥­x;ćMšâîïLû=¬o1ŠÝ<¡ÀÉ!UÎS^Y!F>¤×Ôe´áGQš“MÞÞgŒ®ñ©ÕååNÚÝðÔÊúÂ$ˆŠ“)æ2Ä’‹î?»VüG`×Þ$Òam3NÕJÙÝ·—|vF>{˜|’sÎ:w<öª¿ ?äwÿ]cÿÐ+³¯1ÿ{Ÿ©xoáDâ!¿×,5Ûm&MVÝÅ«[Û¬sˉoSby“y^[;œ™>a PSæáX–6µªÁáöóYÝ%õ¸žD¶ò#º•Š&Ô‚9¬IaÃ#n#®êŠá¹¹ÂêÞ"Ôm`Ô%·ÔÿÓ£ûh’Ãdgì‘F“¦Û·xÜR—%O›Àù—.î5XòíÒkÙ4ÿ\\G{ö/øœËÜüŸºGÔ]¾pT|¬y#ºê†êÒ È–+„Þ‹"JHù‘ƒ©ãÑ”‹Ëéšž£¯ÛÙ[ëhÓ×Ïu»ÆæñìÄa”áå‘ QŒ>ðÜ2î5KÝNÂÎÕ^inZÒ[ÔE‹v™qö«p#/Êrò|²î?»ölú\=ÔooìRL“I°«H¡ÊˆݽÝ£n°¥PÔí¯ìm-.rîÚ=øÂ–é‘éëÞ«é•íêÚ¥´Þ9ÄЉ¤/Š€¨V`ÞÜ71Rʹ<“fãþF þºKÿ¢š„µ_ì}cþƒqàÿâèþÇÖ?è7þþ.·(­9P®aÿcëô‹ÿ‡ÿGö>±ÿA¸¿ðñu¹E¨.aÿcëô‹ÿ‡ÿGö>±ÿA¸¿ðñu¹E¨.aÿcëô‹ÿ‡ÿGö>±ÿA¸¿ðñu¹E¨.aÿcëô‹ÿ‡ÿGö>±ÿA¸¿ðñu¹E¨.aÿcëô‹ÿ‡ÿOƒKÔ¢ãUI¢ 7F¶¡ ~;Ž?*Ù¦¿ÝüGó£•ÎgÄ¿ò¼ÿ¯ký%|âßxýkèïÿÈ óþ½®?ôD•ó‹}ãõ¯{(þ½C–¿Æ{‡Ãù]ÿ×Xÿô ìëŒøaÿ K¿úëþ]yYûÔýM0߉ ³¶6Ò[hŒïó"Ø6¾âKdt9$“ë“Q\éeå°¶ºÓ­'€HeK²ï$’Ø#%˜ç¯'Ö­Ñ\&ä?c¶ûoÛ~ÍÚ¼¿+ÏØ7ìÎvîëŒóŽ™¡lí—fÛh‡—#J˜Aò»nÜÃÐÍ“Ôî>¦¦¢€(ÙèZ>žûì´«+VÜ0Û¢À®‡Ñ­>M#L–ØÛI§Z< Dbh©D9EÆ1…$: ñVè b³¶‡Éò­¢ÈÊ‹jå§*ú•x|£Òšö²K«X\®Ñ³HÏ–Áå €?úUŠ£swÝ¥­šBÒ\³(ó‰ 0»ºŒúÔÖànùÉíÿ}ñ£ÎOoûèb}›Ä_óÏLÿ¿²ñ4}›Ä_óÏLÿ¿²ñ5w´6üäöÿ¾‡øÑç'·ýô?Ʊ>Íâ/ùç¦ßÙ?øš>Íâ/ùç¦ßÙ?øš/ ÐÛó“ÛþúãGœžß÷ÐÿÄû7ˆ¿çž™ÿdÿâhû7ˆ¿çž™ÿdÿâh¼ƒCoÎOoûèr{ßCükìÞ"ÿžzgýý“ÿ‰£ìÞ"ÿžzgýý“ÿ‰¢ò ¿9=¿ï¡þ4yÉíÿ}ñ¬O³x‹þyéŸ÷öOþ&³x‹þyéŸ÷öOþ&‹È46üäöÿ¾‡øÒU€‘üCükìÞ"ÿžzgýý“ÿ‰© ¶ÖüôûRØ,9ùÌNìØöEä¼Kÿ +Ïúö¸ÿÑWÎ-÷Ö¾Žñ/ü€¯?ëÚãÿDI_8·Þ?Z÷òáK×ô9küg¸|0ÿ%ßýuÿ@®Î¸Ï†ò»ÿ®±ÿèÙו˜ÿ½OÔÓ ü(™v:ƒ}§\kË„K{ ªÏ…Xãû3q!†\ Œî‹vÆù@¯aP¯…ôÔóJ¾ ]›äþÒ¹ÞBîÚ7y™ÀÞÜg9ô®- Èt SPÔµ GÍ’YG$b)a¸ß‚ÐBûWä“.Ä999éŠd&—Î_Z[ÚØIuqkÇÚ‹0hL¹gRŠvÂç;Ž8÷#VÛJ²³¹3ÚÁäŒÇ2Ç€Ën@U±œ3Šcèšl¤Z$‘$ÒÎÉe/ pä‚yJü>nœ 4 ߯7·7ØÇ£¢ßÉ2 I¥šö4s8mÒB¯ŸÜ8ÀLr>n  ã‚-buÓ¦»Xe´Yä «#¡}ˆÌ­¶ʪ¸o$W^×Ãze¥âÞ$w\#+,³ÝË3ªê9v<,œtù³×Â5¤ˆc‰mž11AÇ<ˆñ¤a‚pÁ”€î2Hb Ñ Ó5;F+Y›M–Þ9cÊeÊÝX(X!¾f€p£ €ûù4úé/þŠj}¾•ei$C×·ŽHãmÌN•œ’OÌY”Ç$œœòr²[Í.µ¦Ì‘³GHÒ0è ¡õ"…¸´SwFÿ¾MÇ£ß&¶$uÝãÑ¿ï“Fñèß÷É QMÞ=þù4oÿ|šuÝãÑ¿ï“Fñèß÷É QMÞ=þù4oÿ|šu5þïâ?Ç£ß&‘˜¨ì}iÍx—þ@WŸõíqÿ¢$¯œ[ï­}â_ù^×µÇþˆ’¾qo¼~µîå—¯èsWøÏpøaÿ K¿úëþ]qŸ ?ä wÿ]cÿÐ+BçYÔí§Ö¯KZ6¤I‰ ò[ΑÊÄI¿ÎÜ dgpòó÷©úša¿…£¢¹«h¶÷—–ÌÎíh³±â,í³:„ß¼ùeU8àò¹·/‰¡¶³»šòÊâÒ[Eä·žX¶;Vßæyx%X`°?/NFx,nmQ\½ÇŽ-¦Òo.4¨%žX4é/” móFƒ`áá+ò“œ‚¤®X[›Å+o?‘>¨G Ž7u&°ÈíHq'WdÀÆ@Ü7Á`7h®jóÇÚ-‰nYãb¬Ó+¼HÐvFÈgÈdqˆ÷Ÿ—Œårj>0ÚeýÄVVé-§œ!Šy¡Y \+—÷NrBð½rF]€éjõô¶³ÛÁ£\ËpÌÂô<ž:Ko$ÒAº}ݳÍ’ B#ÚÊ6³#0ËnÈœ€zcËù4úé/þŠjÔíÇýeÿÀ˜¿øª>ѬÐ_ü ‹ÿŠ®†Š¾D+œ÷Ú5úËÿ1ñT}£Xÿ  ¿øÿ] r ¹Ï}£Xÿ  ¿øÿGÚ5úËÿ1ñUÐÑG" œ÷Ú5úËÿ1ñT}£Xÿ  ¿øÿ] r ¹Ï}£Xÿ  ¿øÿGÚ5úËÿ1ñUÐÑG" œ÷Ú5úËÿ1ñU%¼š¤³¢M¤=¼lpÒ4ñ°_ÀMnÓ_îþ#ùÑÊ‚ç3â_ù^×µÇþˆ’¾qo¼~µôw‰äyÿ^×ú"Jùžñú׿” ^¿¡Ë_ã=Ãá‡ü€îÿë¬únIáØe¾»žKë¶¶½Iqeû¿&RSåß‚r»°yH8 ?ä wÿ]cÿÐ+³¯+1ÿzŸ©¦øQ9ýOà q¦jv¶—÷·pÜ­]À%•[syްàp¸˜øf7sq.§{%ød1Þ·”$Œ(pPIJŽTŸœóÂãjŠá¹¹‹gá[[{Ø%–âíoáhnLÌ È­$²7Ü ‚LïÓcÅ<øv¤¹¾»¹™þͺY<°[È™¥N@êØ8ïÍkÑEÀÅ_ [Å+Ém{lfg7S¨3+Jòm$®T–L*Øn¹‡Ïá>æÉ,çódn.'(_ÌÂPêHã>1ƒÀç×^Š.K{ !’ %Ô.î^䌙 &æS¹•FWn`×9¦Î¬uí%‚’¨ò– p£Ë#'ñ ~5v”3/Ýb>†šz¡½?¾¿ÓûëùÕ6Oï·çG›'÷Ûóªç‹ÛÓûëùѽ?¾¿Qódþû~ty²}¿:9ÂÅíéýõüèÞŸß_Ψù²}¿:<Ù?¾ßáböôþúþtoOï¯çT|Ù?¾ßlŸßoÎŽp±{z}:7§÷×óª>lŸßoÎ6Oï·çG8X½½?¾¿#:`NGz¥æÉýöüèódþû~ts…ŒÿÈ óþ½®?ôD•ó‹}ãõ¯£¼Kÿ +Ïúö¸ÿÑWÎ-÷Ö¾ƒ(þ½C–¿ÆoéÞ5Ö4«_³Z5¸MÛŽûtrNêÀö­ÂÇñüô´ÿÀ(øš(¯RT©ÊNRŠoÑ-“üCþ?ˆ¿ç¥§þCÿÄÑÿ Ä_óÒÓÿ¡ÿâh¢§ØÑþE÷/òßw÷°ÿ…â/ùéiÿ€Pÿñ4ÂÇñüô´ÿÀ(øš(£ØÑþE÷/ò ¾ïïaÿ Ä_óÒÓÿ¡ÿâhÿ…â/ùéiÿ€Pÿñ4QG±£ü‹î_ä}ßÞÃþ?ˆ¿ç¥§þCÿÄÑÿ Ä_óÒÓÿ¡ÿâh¢cGùÜ¿È.û¿½‡ü,ÏKOü‡ÿ‰£þ?ˆ¿ç¥§þCÿÄÑEÆò/¹]÷{øXþ"ÿž–ŸøÿGü,ÏKOü‡ÿ‰¢Š=ä_rÿ »îþöð±üEÿ=-?ð þ&øXþ"ÿž–ŸøÿE{?ȾåþAwÝýì?ácø‹þzZà?üMð±üEÿ=-?ð þ&Š(ö4‘}Ëü‚ï»ûØÂÇñüô´ÿÀ(øš?ácø‹þzZà?üMQìhÿ"û—ùßw÷°ÿ…â/ùéiÿ€Pÿñ4ÂÇñüô´ÿÀ(øš(£ØÑþE÷/ò ¾ïïc&ø…â íåæ¶ 4mì´‰IV¹\É99¢Š¸Æ1VŠKÑXÿÙtraitsui-7.2.1/docs/source/traitsui_user_manual/images/HTMLEditor_demo.png0000644000076500000240000054606214046644454027405 0ustar aayresstaff00000000000000‰PNG  IHDR@°,cÀ pHYs  šœ IDATxœìÝy\Tõøÿ3€¬*¸áŠ‰Š â†¢€û’á–š&Z¦¢^óºä’•™kiÙ-#·´4ÓÊ 5×Ür71p Q@DÙaÎïóûÎw¾³fF|=ÿðq8Ÿå|æÌ™3sÞ~EZZšPœ5j›Urr²B¡pqqQ(‚ HÿK=›(Š©™™™:÷k³2¢¥@™#€‹F ,,X4›òn*‚ìììGeddäææ ‚`oo_­ZµZµj9::–°fX(Q’““Õwæäääææ>|øÐÕÕµQ£F …Âäú `Àt¢(^¿~ýÙ³gú2¤¦¦æææ¶hÑÂäs`Àtñññ2Ñ+ɳgÏL>,˜(;;;%%ÅœÉÉÉÙÙÙ¦…LôèÑ#3eVG &zò䉙2«#€åææš)³:X°h°`Ñ`À¢À€E#€‹fcîeffêKutt´µµ5¶Î¬¬¬‚‚I …ÂÙÙY}ÏóçÏ =„ÉìììÔ÷dddXÖÙÙY¡P~¬‚‚‚¬¬,ÓZ¥’››+³@ÕªU­¬J?Ê©T*Ÿ={VêÕj¨T©’“““¹b ´´´cÇŽéLrqq (ãö0Ì=ÓÁÁÁÎήŒÛ¼$ÌÀЉ‰iß¾½¾Ôßÿ}Ô¨QÆÖ9qâÄIµk×NNNVß3hР°°0ca²™3g~ûí·ê{êÔ©“——gHÙk×®µlÙÒðcmܸqÚ´i¦µJeÅŠK—.ÕWðîÝ»52¼Iºwïž»»{©W«!00ð?þ0GÍ+V¬øøãu&é;Õ·nÝ=z´Î"mÛ¶%€¼(dî™ëׯŸ2eJ·xI0„ЂDDD˜5?À‹Èì=°`¸ðððI“&žÿÌ™3æk ,DZZZll¬Î¤F™£–†–1ªGÕƒâããÍÖXŠðððaÆéLZ¼xñ’%Kʶ9”†Z[·n¥¤¤˜™ñƒà%A˲>*xIÀ²,†‡¥˜ ¼$˜«ÜØÚÚ*•JõááᆔÍÎξ|ù²ÆNGGÇìììRkJ•Ý+¯¼¢3©^½zeÜ^,?€µk×®üü|Cr¶nÝ:--MgRûöí|ø°°°°aÆ 6ìÞ½ûðáÃK8 ±°°ðùóç:“¬­­«T©R’ÊM˜˜xèСƒÆÄÄ­¢(ž?þï¿ÿNLLLLLLOO¯U«–››[Ÿ>}^{íµªU«rtQŸ>}ª3ÉÞÞ^ã{ïÞ½C‡9s&))ééÓ§...uëÖmԨр:uêdeU>ÿ—£T*£¢¢«S§Î»ï¾ûÁ899ɱeff¯[·Nãþ/BVVÖ“'ONœ8±jÕªš5k6lòäÉ;v,³æˆ!„åF©T* í FFFÆõë×e êì¢åïï¯óñ òRRRÞzë­~ýúÉw|{òäÉ×_Ý©S'€‹9†©‘9bBBBØÿKþˆ}íµ×(½ÒvëÖ­qãÆuîÜÙÀ%2 ñÝwßõêÕ« Næõë×ûõë×§OŸððpíè•¥R:eÊOOÏ#GŽÈäœ0aB¿~ýd2|þùç<ЗºqãF™èUõêÕøá}Ñ«ìììY³f5mÚôûï¿—‰^©ËÍÍ=|øðÈ‘#ÝÝÝÿøãCŠÈÛ¼ysÇŽuF¯Tîß¿?nܸ ¨ï¼}û¶ŸŸß¢E‹tF¯$ùùù+W®lÖ¬Ù… JÞÔàààöíÛïÝ»W棑œœ¼téÒæÍ›ïܹ³äG,–(ŠëׯoÒ¤ÉâÅ‹µ£WÚÒÒÒ6nÜèãã3fÌßq B"€Un¤*Fj´²²êÔ©,cÅÇÇwîÜù÷ß70ÿÕ«W;wîcÖV™ÉÑ£G;uêtôèQÓŠ_¼x±G¿üòKÉ[òÛo¿M›6­ØpRÉ9r¤sçÎ&¼ä;wîôïßÙ²eú2(Š7Ê üÌÊÊÒ×ëéÓ§‹-’9úºuëô-bðôéÓ×^{mÕªU®¬ªáþýû£G;vl^^ž Å%[·n4i’ý=?ÿüóàà`iûüùó:tÐX¶BŸÔÔÔW_}õüùó&·SÅ Ì™3ÇÀs•””ôæ›o~úé§f½2óòòÆ7uêÔG[vÛ¶m:tˆ5GÃËG«œùûûkï”`i§zyy8k Tzöì™`T©¬¬¬¡C‡¾pý 80xðàœœœ’T¢T*Ç·iÓ¦’TT’ ôã?8P}n/£ˆ¢¸páµk×êËаaÕ+WÊÔ°uëV}ˆ>ÿüs™a¡Ã‡ Ô™ôüùs©+™ÌA ñË/¿|üñǦ•ýçŸ&OžlTˆgÞ¼y iii#FŒÐ7e•NÏž=0`€ É?ü°|ùrcK-^¼ø¿ÿý¯™bXRü±$Qàøøøþýû?|ø°[¼(`•³Ž;jÏJ#ÀJII¹uë–ÆNQ0ÈÈÏÏ8p ±Ñ+É;w¾ýöÛRo’ùœ?~ذa%ét£"ŠâþóŸ]»v™V¼  `ìØ±¦õ2JhhèäÉ“K>+ÜÌ™3:¤/uÒ¤I}ûö•/® ‘¿xjÕªµ~ýz}ƒ?ùä“K—.×dƒŸ8qÂØR¹¹¹o¿ý¶±o_~~þ'Ÿ|2vìØû÷ï{Äôôôyóæ[J„+W®Ìœ9Ó„‚‚ |ÿý÷7n4­¬ Q'NœVÂzîß¿ÿú믳Z(^Bå<‰ûÎ;oܸal©Š4†ÂÁÁ¡]»v/^TßyûöíäädÈ´Ç .€•’’_’œœœjÕª%“aÅŠ%™€©  Àä²e,77wüøñ¥Ûà)S¦tëÖMþ ëôÅ_5ý–iRRRF]*#j•Je``à… Z´h¡ªP(6mÚäåå¥oÕÅsçÎýöÛoo¿ý¶jϼyód@ëׯ×wVoݺµfÍ#›/ç‡~èÝ»·QEtÎìnˆmÛ¶™VP„Í›7/]º´AƒF•Ú³gÉGaæÌ™þþþ^^^%©DúuëþüóÏR©êâÅ‹AAA!!!¥Rð¢(çÖŸþYZ¿é_\þþþ,A"""†®ùe`?¾„5ÊLV}ýúuÇÙÙÙ)ŠÜÜܶÇ(¶¶¶ï¾û®êÏ»wïþý÷ß:svèÐAca2kkk<‹-’+ ÿîݻ׫WO„ää䈈ˆS§NÉ€=z4}útžŸOžóþýûÿûßÿšÜNäææÎœ9óøñã¥Ua\\Üûï¿/“ÁÙÙyÈ!íÚµsqqÉÈÈˆŽŽþóÏ?³²²ôåß¾}ûôéÓ»uëVZ-,_9° ‚ŸŸßêÕ«5vê `i.¬U«VãÆÍÕ¸Šè«¯¾’Õ¾}û™3göïß¿V­ZJ¥2>>þܹsK—.‹‹+ƒæ9::nذAõçž={ô° ´dÉ™ªâããåçiêի׆ š5k¦]púôéÐWpûöíï½÷^—.]d*/7oÞ”áøÊ+¯lÛ¶M£ÙË—/ß°aüyóôM˜µk×®èèèvíÚéLýñãÇúŠ:t¨$,ww÷>ø G¯¼òŠ­­mrrrXXØ?üpúôi™R'Nœˆ‰‰iݺµÉÇU÷í·ßÊÜs&L˜¬1á²e˦M›¶ÿ~}¥/^lÂ8PàÅÅXåÏð…sssµ'Áñ÷÷×7i´={öL¾ëÐ{ï½wþüùqãÆ¹ºº* kkë&Mš¼ýöÛ111‹/.³v–еk×Êt¤zçwŽ;¦½¡Q£FÅv{)áD`¶¶¶ƒ Z¿~ýÁƒ/^¼söìÙ’Ïï.Ӫʕ+‡††jݬ¬¬¦Nãææ¦¯ìÒ¥Kõ%)ŠüQêc¥ÓW_}•ðÇèœÓ]òÃ?Ô¨QC_j\\\RR’Î$WWן~úIgG*++«Ï>û¬S§Núª•罹ϧŸ~ºcÇ)z%‚]```xx¸³³³|Ù±cÇîß¿_}<¦Í¨Q£Ž9¢= Ê;wLh§dÊ”)ÿþûïÿû_OOO''§J•*¹¹¹3&,,lõêÕòwÎU«V™|\uééé?ýô“¾Ô1cÆlÚ´I{77·½{÷~óÍ7ú žÕ—ºnÝ:™>/++«uëÖéKU*•¿ýö› Ú¿ݺuM(+ïܹsú"3fÌ/Þ£G}“ )•Êððp™²ï¾ûn¯^½ô¥îÙ³GßtTõë×/¶/Ûýû÷íôxíµ×äËÚÙÙéK2a9È¡C‡Ê|@^}õU™²o½õ–v?#•èK’™ JFõêÕ¿üòKù>V ,ðððЗúìÙ3ÖÑ&3ÐoÉ’%ò‹!(Š… êK¥^*°,‚£µgp·±±Ñ˜Æ2DQÔž/_%((H»+œ+++ù^–#,,L_RÇŽeF–©óòòêÑ£‡ ‡Ð§iÓ¦k×®5Ó W^ÉàÁƒuv¬Ó0lØ0}IòÁ+++ù„úlÚ´ÉÅÅE>Ï{ï½—«GçÎe ^½zõçŸ6¶I2䣷mÛ¶•I•µÉ’ Lè õÁ{bmlläûTž;wÎØãjP*•:WÞÈô®Riß¾}Æ u&ݾ}[fž~ ‚!€etÔxEQûAÈÛÛÛÁÁÁŒ-«XâããeæŠ=z´!• <ØÕÕµôe.2Ñ¥‘#G^L戈ˆÂÂB£ZõÎ;ï8::UÄp2¬ž={RƒL8øÔ©SòeÝÝÝ¿üòKCŽ¢òŸÿü' À¨"†E1..nùòå;vLII)Åšå» Ét°ÁÝÝ]&ÕÞÞ^&ÕØUA•©2bÄ™Nj2ñnݸqãÉ“':“7n¬/2¥N¡PÈ\–òSÑI9¯BøÎ; ÖÖ­[£££ÍÑžòâíímkk«1¢çìÙ³J¥R5`çßÿMKKÓ(X!'Àruu-aTNßc¶öø*NNNžL…BѵkW™¥î,Á“'OnÞ¼©/ÕÀîW}IÏŸ?Õ·<ŸNC† 1<³±dæŠŠŠŠº}ûv±5¤¦¦êKŠ/¶øÿûß;vØ1­aÆ_ýµ!9åeffFGG_¿~=>>>>>þÖ­[7nÜз¢b É÷iªT©’£££¾9æäþ¥Û)ÏÕÕÕÓÓÓœU«VíÖ­Û±cÇt¦Ê\’¹&«T©bàJ2³•rYC9° 0jÔ(cK;w®‚°ììì¼½½5†«ddd\»vÍËËKúóå™këÖ­æè–"ÂÇõ%µnÝZçôÒ:ùúúZxK~~nù¡^TW  ÒàààЦMÃó+==]_Ò’%KJXyZZZQQ‘üE" $lÓ¦ÌB*›7o–ï²$#55õ·ß~;{öìåË—ãââL«ÄÅ~FdÆiÚÚÚš|\cÃ[>>>†ñööÖÀÒ×yÊp2×ä•+WfÏž]ÂúKb^ !´ÅŽ"Ô9‘J…ìe>2“šË¬O§Í—.™‘’ÖÖÖ2ëÖisppô's m5kÖ4ÓìW‚ ääääå噩rADQ” F¨4iÒdÅŠÅf›:ujŸ>}LhFhhh```ƒ fÏž½}ûö²Œ^½@ä‡:jhܸ±¾¤’°J^ƒ¼G™µ~ÀrÀ²:ûR©/|¦ÝËÍÍ­AƒæmVÅ’‘‘¡/ɨ¾0Õ«W/昑L\©J•*ÆF‘ªT©b´ըQèãÅèR 8á×´iÓä';···ÿâ‹/Œ=z^^ÞÔ©S{õêµ}ûvæ„z¡{ÅV«VÍðÌ2ñÜgÏžu\mæ¾,„xqÀ²ò >~üX{Awº_K¦–Ãie:BE}I&ô’)"s mf üåä䘯rIQQ‘!Ùnß¾}íÚ5™ ¹¹¹7n4êЙ™™Ýºu[¿~½Q¥j×®-¿Lá‹ÂØ‹¶Øõ d²’Ì}YxM,KQ¿~}í©îÞ½+MÛ¤sü`…œË¬dfáÉÊÊ2¼£2— ™¾N™™™FE¤"&H›ÌI%gT§Ó(•Êbó?¾Ø°Å‚ dfÙ×6}úôÈÈH3»¹¹;vëÖ­wîÜ1ÓtreÌØVnn®á™eºY5ØV's_–†\“@ÅPΓ¸CŸŸß½{÷4vFDDŒ1‚ °J…L £†Â•Áhµ’‰+fff>d277W&`gÖQF‘étS«V­ùóç›õ*ß~û­ÎO«†ÜÜÜ   Ó§O²tÀîÝ»þùg™ •*UêÞ½{×®]ýüüÚ·o/¿ÞßËÀ¨³ÌB%`ÉÜsFŒÑ¥K—ÖߤI“Ö¼(`Y??¿RK{,‡víÚ•UÓ*™Þòc¾J’¹\ÈObcø“³ü‹5j¶l³²¶¶vqqÑ9ÍYaaá¬Y³Ê  ׯ_ÿä“O Ì|öìÙààà¹sç›síÚµú’ìíí,XðŸÿüG_ÐÊØÞv–ÉØX2ëj‹Õ—Tò¡ˆ2¬Ö­[—Íe T !´ :{T…‡‡çççkòññ1뀬 ©N:ú’îܹcx¯‹/–R‹Ì¥V­Z2ë*>M„K—.éK²³³kݺµQ 3+}Ñ´'Ož<þÜÜG/,,?~¼Q+!.X°@{n; ÷îÝ;yò¤Î$…B±ÿþO>ùD¦Ë•¹WÁ+ưΜ9càØ:QÏŸ?¯/ÕÓÓÓ¨ãj“‰ðj÷· ƒ–iÛ¶­½½½ÆÎË—/‡‡‡kOéÂX&ðõõ•IÝ·oŸ!•>>ú’ôÅ€JÑW_}uᣊäååÉÏá¯ÕðáÃûöí+™ñq/cX?¾råŠ!9/\¸ H’¹¢ Ô±cG}I'Ož¬ý〲AË‚ØÚÚj?íkgf,¸»»×­[W_êÆ yžÜ°aà ±t½L+"""&&ÆJnݺuìØ1}©Ýºu3¥efÓ³gO}IFÅìL³xñb}©2«œ;wî›o¾‘©ùÁƒú’úôé#ß*QÏ;'Ÿ§¢úöÛo ɶjÕ*™T™ð“\]]õuãºsçNttt ë^°,‹Î°Ô_ý¥½“X&P(2a³gÏÛ ëþýû_~ùei·ËDòá¶×_]»CŸÊŒ3ŠÖ‰¢8sæL™¡X£F*¶‘eI&€õÛo¿2sÙ!CzLš4I_©‚‚‚qãÆèLµ··?zô¨LWµ… ^¿~]_ªL«ØAÄQQQ‰‰‰òy*ª_~ù%**J>Ï™3g~ÿýw}©­Zµ*ùX‚ìe¹`Á‚b?†7oÞ¬T©’¾ËRf/ ‚awËb`XÊÃãl&Ï +vŽy666ÅŽrÒPŠ3L9;;kœÒ‰'jÏ”¯tîܹfÍšéLÍÌÌ|ýõ×e–ä+cÚKÕÕªUk̘1›6mÒ™6gΜo¾ùFfpÖâÅ‹<¨/õÕW_mÕª•á­-M›6õððˆ‹‹ÓN*,,œ0aÂßÿ-³üâîÝ»e"˜½{÷Ö—ôÅ_\¾|Y_ê‡~ؽ{÷¹sç._¾\gi aDD„!+ªû÷ßeREQœ7ož|£W^Œ?(EqÀ€§NÒ÷qŽã7dj˜0a‚ ÇÕ6`À€ï¾ûNgÒÁƒ7mÚôŸÿüG_Ù©S§êëòY»ví–-[–J#ËG˲À*³îWãÇ/a ÎÎÎ:†“±páÂT¥sçÎC¨úöíëé驯3Γ'Oüýý¿ûî»#FXYýßþ‰¢(ž>}zòäÉ7oÞ,­¶•\±]ŠfΜ©/€%·ß~ûðáÃU«VÕ®][#)==ýƒ>ؼy³L帀šB¡˜?~PPÎÔóçÏ÷ìÙsÛ¶mÚÏüEEE?þø£Ì+ªV­Ú°aÃt&]¾|ù³Ï>ÓW°Aƒ~ø¡ óæÍÛ¼y³¾ÕñΟ?¿råJ)§™Põ>ýôS}»ŠŠŠ¦OŸ.3üSÊ#“j9L ` ‚’’âöâÑ IDATçç÷ñÇO›6ÍÁÁAµ¿°°pÇŽ3fÌY·ÁÖÖvܸq¦WÀÚµk§o´àäÉ““’’>úè#õJ§M›vâÄ }5O˜0ÁØ 'ðâ"€eYj׮ݸqã;wîÈgc,“)Š÷ßâĉú2<~ü800ÐÍÍmðàÁ 6´²²zðàÁ‘#Gdy•—LŸ>½}ûöÎÎÎŽŽŽyyy¯¿þºú­——ר±cþùg}5„„„ìÛ·¯ÿþ=zô¨[·®B¡HNN?pà€ü²}={ö (ÍSJÆŒ³lÙ²Û·oëL½|ùr«V­† 6|øpww÷ÚµkÇÇÇ߸qcóæÍ2‹- ‚°téRíø‚ ùùùãÆ“™íÿûŸ“““ •+W^±b…LLdÑ¢EƒÖ®5mÚT_‘«W¯N:uõêÕÒ!$EEE!!!Ÿ~úi±ÁÖb*·’B±_~ùeûöí›6mZ­Zµ¤¤¤Ã‡§¤¤È=zt5J¥ …bÉ’%C‡Õ—aéÒ¥ëׯŸ6mš···»»» 7n܈ŒŒ\³fMvv¶¾Rµkמ={v©´x!À²8~~~°Ìjüøñ¿þú«ü²t‰‰‰úFý”1GGG}I¢(®[·N}ONNŽFŒU«V?~<))I_%999»víÚµk—áMª\¹òO?ý¤ÞCÍrØØØ¬X±âÍ7ßÔ—AEc_OŸ®3éÓO?•™¿K—.êÓ„3fݺuúV*ÌËË?~|DD„Íÿs[îÓ§•••¾™È6oÞ|èСwÞy§aƹ¹¹qqqÿý÷Ý»w‹U/NËäX*iiiG=zô¨ùkÖ¬ù¿ÿý¯„U÷úë¯wëÖíôéÓú2¤¦¦Ê, ÓÖ­[Ëf 9`!,ñô%WìðÀªU«ê[Ö †°²²Ú²e‹Ì\HÅòöö.ÅöÈkܸqIŠ»¸¸ÈŒ"4Í7ß|Ó¨Q£Ò­³1bÙ²e¥U›««ëæÍ›uÆP"##W¬X¡¯ B¡Xµj•zA+++ù5ï.\¸°råJÕªU8p L©‡þïÿ›>}úܹs¿ÿþ{£W‚ ää䘳|™À’ ûâ»ï¾suu-I  ÅîÝ»›7o^ZΚ5ëµ×^+­Ú€,‹SlïªÎ;3ïI 5lØpÛ¶mÅ.⦓››ÛÖ­[K½Iú4iÒä•W^)I ¥Øaê³Ï>“YÏBÌŸ?êÔ©%¯§zõê{÷îÕž#L„ÜÜÜqãÆÉL#Ô¡C¾¾¾o¿ý¶Ì-Z¤=µÙŠ+L{ûlmmƒƒƒõ¥&$$˜PgÙ3!€Õºuëwß}×´ÃÍž=[¦ŸÉjÔ¨qøðáºuë–¼ªaÆÉDN€ŠŠ–ÅiݺµúŒ6Ú?X* ´gÏ`˰µµÝ±cGÍš5ÍÔ*m …âã?.a%ãÇÿí·ß4Ʀ™à›o¾Y°`Aɇt™›B¡X»víêÕ«}Õ¹¹¹…‡‡ûúúêL]¼x±Ì´hUªTÑ·æàŠ+dúåçç?^cpŸ§§çš5k kõÿU¹råƒN›6M_ðëСCiiiÆVû¢îÔ©“±¥.\¨Ý ®´4jÔ(22ÒØUY5¼ûî»;vì(É… ¼ `Y™ °JË€Ž9bøh¸ „……uîÜÙœÒaòäÉ .,aØ(00044´cÇŽ¦÷ððØ¿ÿ 4i´B¡˜1cÆÅ‹µ»AbĈgÏžÕžR]röìÙ¯¿þZ¦øÂ… ëÔ©£3©Aƒ}ô‘LÙÈÈHíʧNºråJû^vëÖíÊ•+}úô©T©RëÖ­uæyðàA‡ôMxo9L»òŽ=Ú½{wóW«VmÓ¦MŸ~ú©Yã³õë×?räÈÊ•+åÿ—B§5j¬[·nýúõôÀÀˉ–%’ Q)в T`=zôˆ;w®­­­L6++«7Þx#**J_³R(Ÿ~úiXXØÈ‘#KÒó¢K—.çÏŸÿõ×_šWËÕÕuÕªU±±±ƒ 2ùÐåÅËË+22òÀ]»v5°H×®]Ïœ9³cÇŽúõëëÌ=nÜ8}³ª ‚ФI“÷Þ{OæsçÎmذ¡L†Å‹_½zUcçœ9s"""Š A¶lÙrýúõ'OžT½Ë ЗùÞ½{2“Ð[“#JU«V=vìØ—_~Y¥J™l¶¶¶&L¸yó¦Ì⤥ÈÊÊjΜ9 K–,©^½º!EçÍ›wûöí©S§Z~ÿGÀL† !)­ÕÄ‹•‘‘±gÏž;wÞ¼y3)))''ÇÁÁ¡~ýúõë×ïß¿ÿ;ï¼S¯^½òn£ BvvöÍ›7¯]»öøñã‚‚[[[GGG‡7ÞxÃÞ¢(^»víðáǺzõjZZšú˜5++«š5kzxxx{{[悃ƺvíÚ±cÇŽ?~éÒ¥GåççKûkÕªÕ¶mÛ€€€×^{ÍÍÍ­|Û)OÅS§NíÞ½ûÔ©S·oß~öì™ ÖÖÖ5ò÷÷Ÿ8qb÷îÝ_’Gnn®ƒƒƒÎ¤Î;Ÿ;wNõçóçÏCBBBCC£¢¢ÒÒÒ²³³]]]ëÖ­ëîî>xðàþýûËG¸Ì';;ûôéÓÇŽ;qâD|||zzº´ßÆÆ¦fÍšõêÕëÕ«W@@@×®]íííË¥…€ºääd…Báââ"=t¨=Ô~kSBEQõ®!™™™ªýò`šDQÌÍ͵··I¢(>}ú4--­¨¨¨V­Z...#b%CÅgÏžeeeÕ¨Qã…žN(???77·råÊþ-ÓfxëEQPPðøñc[[Û—á3€Qù°J:©3Pñ( }Æ’trqq)…Báììììì\Þ ))[[[ùѯxTªTIßÔiø?^X4X°h°`Ñ`À¢À€E#€‹F ,,X4X°h6åÝŒfcc³~ýzI®®®eÜæF ðâ±±±™2eJy·@a!,,X4X°h°`Ñ`À¢À€E#€‹F ,,X4X°h°`Ñ`À¢À€E#€‹F ,,X4X°h°`Ñ`À¢À€E#€‹F ,,X4X°h°`Ñ`À¢À€E#€‹F ,,X4X°h°`Ñ`À¢À€E#€‹F ,šùª¾téR||¼ Õ«WïÕ«—|æØØØ›7o ‚àää ^ÜXݺusuuMMM=}ú´j§‡‡G›6mŠ-{òäÉôôtiÛÚÚzÈ! …BúóìÙ³<¡~ýú¾¾¾&4¬ œ8q"..N„¾}û6iÒDÚyåÊ•[·n Ÿ‹bÆÖŠ+vîÜ)B‹-®_¿.Ÿyݺu6l¡fÍš=R/n¬;w>üôéÓ#FŒPíôõõ={ö¬|ÁçÏŸ80''G}“““´=þüÐÐPAúöí{ôèQVÖ¬Y³gÏA6mÚ¤ `}ûí·[¶laÒ¤I7n,Çæ˜àeBxþüù„„ù<û÷ïW^Ul999]ºtñóóó÷÷—z–X&3öÀ*!OOO#õÎ;'mT¯^½Y³fÚj×®­½SÅíÛ·ðÁ2Gܾ}»I-}!åççŸ9sFÚÎÌÌ,ßÆÈ°ÜÖÒ¥K—.]ª½¿Zµj‚ Œ9rýúõ†W"ÀzöìÙáÇMh§å[´hѤI“A¨_¿~y·Àh–À*u—.]º}û¶jf( ûöíËÍÍ-ã&• wwwww÷òn€‰*~ËÉÉ©yóæQQQ‚ „„„ÌŸ?_g6ÕøÁ®]»†‡‡—]ûA„{÷îEEEÝ»wÏÉÉ©E‹~~~VVÅLOVPP}ãÆÊ•+7kÖ¬U«Vúr ‚`cccmm]PPššúôéSU†T®\ÙÁÁ¡zõêê ¯]»vùòåëׯ;88´iÓ¦M›6ú"€ÉÉÉEEE666ÒΤ¤¤S§N%$$ôë×ÏÛÛÛðS ¡â° åXGŽ‘¶ß|óͲ `ýòË/sçÎMMMUßéææöÅ_¼ýöÛ:‹Ü¿üøñê]Æ|||~úé'ùß}÷ÝüQÚØ°aÃþýû‡®ž¡wïÞ‚ ´nÝúŸþQíÜ·o_PPPzzºFmýû÷ÿþûïÝÜÜÔwfgg×­[W…B¡T*W¯^ýñÇgggK{`€’¨ø«J,iûŸþ¹qã†vž½{÷æçç ‚Ð¬Y3//¯²iXvvö„ ÆŽ«½!11q̘1 .EQ#)&&ÆÏÏïøñã###{öìyùòeí©oh×)Qí/,,œ3gÎ!C´£W‚ :t¨U«V;vìÐYVÅÏ?ÿ|æÌ™Rô  ä*~,QÝÜÜ|}}¥å CBB/^¬‘G5~000PmW¦L™òË/¿HÛM›62dH½zõ¢££OžúHÕÙJ†§§§T*€µhÑ¢æÍ›«Ž¾|ùri»mÛ¶ÇŽ«Y³¦ôçܹsCBBÞzë-¥R™™™9cÆŒ]»viׯT*]\\Ö­[7xðà*Uªw^´”EK©Tê¸W–Þ|óÍ9s戢xí򵯯Xõq‚»wï.((ÁÓÓÓËË«lX³gÏ–†Ýy{{oܸÑÚÚZ•äâârôèÑ&Mš<~ü¸¨¨è矞7ož ß}÷”gܸqŸþ¹z…ï¿ÿ~\\Ü÷ß_†}ñÅÒÈA;;»#Gލ¢W’ÀÀÀ„„„>úH„Ý»w_½zU{òx[[ÛˆˆOO϶@RñçÀ’Ô¯_¿k×®ÒvHHˆz’jüàÈ‘#˦1>Œˆˆ¶—/_®½’8;;÷éÓGÚþý÷ߥ={ö<{öLkkëO>ùD»ÚùóçWªT©„m;tè´1|øpi=A “'O¶µµ•¶¯]»¦aÚ´iD¯@)*‹XuëÖUMö¤Ï×_}øða³6#00ðôéÓ‚ „„„|öÙgÒÎÇ?~\•Á¬ Pù÷ßUÛ?ÖÎÓ¡C)²öï¿ÿŠ¢¨P(ââ⤤6mÚxxxhiذaóæÍcccMn˜(Š·oß–¶G­3‹‹‹···4óæÍ›Ú^}õU“ ­,Xêý‰ôÙ¹s§¹›1bĈ™3gÅÅÅ]¾|¹}ûö‚ ìÚµKšµ½M›6-Z´0w$êqŸ¦M›ÊgÎÍÍÍÎÎvrrR…–^yå}™6lX’ÖÇU«6iÒD_¶:uêH:X2Lð² !¡víÚ={ö”¶U£Ë~ü  ªP”òòòA¸{÷®ô§Ìº~SVëÎ;ªmÕÌñÚT¥†iÐ PeÑËrJ·oß¾bÅŠG>>FÍ唕••T¡‡ HÛ»víR…„$yyy3fÌP Ó3fŒ´Ñ£GÞ½{KÛË–-û믿ÔKíØ±cýúõ†¿ ›ÿ;zôÒ¥KªíE‹I)))cƌјokãÆªØÙܹsUa8óy¹æÀÁÙÙ9 `ß¾}ª=Æv¿:{ölƒ äólÛ¶í­·Þ’ÉðþûïÿôÓOqqqJ¥2((èðáýzõrqqIHHøõ×_cbb¤l'NTïå´råÊ:(•ÊœœœaƽóÎ;;wvpp ݲe‹3““S«V­®^½*5&44´eË–³gÏöóó9r¤4¸rÇŽwïÞ}óÍ7›4i’––±mÛ6©xÍš5§NjøáLöÒ°A T° …9ÆK²µµÝ¶mÛðáÃ¥i×CBBBBB4òtèÐaÍš5ê{Úµk>ÞÃãmÛ¶mÚ´ÑŽ€ /99Y¡P¸¸¸Hý]T½^Î;'SJ½sŒ4^Í××Wµ'33S0`›@ Å*ßÖK· !^,°`Ñ`À¢À€E#€‹F ,,X4X°h°`Ñ`À¢À€E#€‹F ,,X4X°h°`Ñ`À¢À€E#€‹F ,,X4X°h°`Ñ`À¢À€E#€‹F ,,X4X°h°`Ñ`À¢À€E#€‹F ÍÆ•^ºt)>>Þ„‚ݺusuuˆˆˆÁÛÛÛÇǧ”g˜œœœC‡‰¢(B—.]êÔ©#“¹°°pÿþýJ¥RŸ†  %> ©©©§OŸVíôððhÓ¦M±eOž<™žž.m[[[2D¡PHž={öÁƒ‚ Ô¯_ß××ׄ†•'NÄÅÅ ‚зoß&Mš‚ŸŸÿ×_‰¢¨P(\©R¥òn£Ñ´_” W®\¹uë–`ð;[ZDQÜ»woQQ‘B¡8p ]™ºYòUtãÆ«W¯ ‚ФI“víÚ™õX111aaa7oÞLOO:tè›o¾iÖÃAEçM@†êë£zõê½zõ’Ï{óæMAœœœ„û‚úøñcÕþ!C†ØØók!999""Bõg«V­Z´h!mgdd?~\ÚîÛ·¯³³³ m{Ñ•×=ßd%¿ŠJ]9ÞÉEQÜ·o_aa¡ mÚ´ñððÉ\PP°ÿ~é¤ê7¡ªé+X„öíÛ7nܸԛúÂ]i'Í¢‘FŒaZcvîÜ)Šâøñã¥?gÍšeì¡K‹A“üñÇò™“““U™×®]+í,áIعs§úN__ßbÛœ™™éàà ^êùóçªÔž={J;ûöí[‚c^C‡•¹iÓ&iúèû÷ï—oóL£ý¢Dµ‹|Ò¤IeÙ˜çÏŸ«Îç­[·ÊòÐåÈ’¯¢¹sçJ 3fŒY´zõjõç½¹sçšõpP§ó& CõõÑ¢E‹b3O™2EÊ\³fMâÆ’¾}DQôòòRßøðáb›±`Áõ"êXhh¨jxx¸!g â)¯{¾ÉJ~•ºr¼“çææª½dÉùÌ÷ïßWeVý&”¨¯X±ÂM}á®4À çáÇÉÉɹ¹¹yyyyyyùÿÇ)Y§ÕH{òÕ<~üøñãdžĦBøb8þ|BB‚|žýû÷çää”M{Ê]NNN—.]üüüüýý¥žeô¹ÿþìÙ³ Ê»!ejݺu~~~~~~Ÿ}ö™áIÐRlžíÛ·—AK$åûöñíciø8ðò0ËBOOOƒÔÎ;'mT¯^½Y³fÚj×®mŽö”‹Ò= ¢(nß¾ýƒ>9bY>?”»üüü3gÎHÛ™™™åÛÀÂEFFJƒVA˜6mZ=^†¡%·nÝ’î·52<©(õ¯à={ölذÁÖÖV߯\¹òï¿ÿšÔXS”ïÛ÷’|û¼@?ä*öǨ3KkéÒ¥K—.ÕÞ_­ZµŒŒ AF޹~ýzsÚr”úI ‘ `={öìðáÃ&´ÓÂ5hÐ <<\Ú®[·nù6¦-Z´hÒ¤I‚ Ô¯_¿¼ÛRñUÔ«ÈpªaÎÕ«W_»vmù6æVêß>Ož<ùûï¿ ¤/ƒ!]´^r/Ü=ßÈq'7Ä w¥`³°`—.]º}û¶¾ €÷íÛ§>GC…ammÝ¥K—ònEéswwwww/ïV¼,*êUd8i‰ A4hP¾-Á *$$D&€õRõÿ5 ÷ü’ãNn®4@Åö°DQ<}úôµk×RRRš6mÚ©S§¦M›ª×Ó)''çŸþ¹råJAAA:uºvíúâNtrrjÞ¼yTT” !!!óçÏ×™MõüеkWÕQ–™{÷îEEEÝ»wÏÉÉ©E‹~~~VVÅL¯VPP}ãÆÊ•+7kÖ¬U«Vúræçç‹¢¨P(¤,©©©OŸ>UexðàAåÊ•ªW¯®^°°°ðÚµk—/_¾~ýºƒƒC›6mÚ´i£/˜œœ\TTdcc#]*III§NJHHèׯŸ···çÁðUTT$­gdcccmm­‘}ëÖ­'Ož4kÖÌËË«eË–ŽŽŽÙ ¥qaÒb‚ùùùÇŽ‹‹‹ËÊÊjÛ¶­iKAݸq#666>>>77·nݺҲ•...êyÒÓÓ¥ ×ìííkÔ¨¡³UGGÇjÕª©öœ;w...îîÝ»U«Võòòòòòrss3¡©†W¥qI>>ÅþÚÑÇÀOŠùdeeIoSõêÕ”JåéÓ§£££ Å{ï½grS5îä^¥ø¥S–rrrTëJשSGû§‚ EEEª¶µk×¶±±‘ÿu!)öΖŸŸÿèÑ#i»^½zaJJŠtW¾ôŪ³ ¥À«ê£zž2eŠL6õU###UKq«Ô¬YóÌ™3:˦¤¤ 8PcÁo›aÆõBJ¾ ¡>žÕ*„¶¶¶_~ù¥´Ý¦M™ŸB>>>±±±Úku%&&ªò<|øPÅ?ÿüSç•ܺukõ£ìÝ»WçEÿþýïÝ»§Ñ¤¬¬,)U¡Pˆ¢¸jÕ*U´ÈÀu‚ŒzQ¢(Nœ8QÚùî»ïª×óàÁƒ‰'jÿè´µµ]³fÆAUÏÆ'Ož ©W¯žF©Q£F={öL½ˆü*„ÿýw=´OšƒƒÃ¸qãÔÏ[ïÞ½¥¤úõë+•JçD¤xýõ×U;·oß®3&âëë›`È©6¡*í«HEõUrss?ûì³Ê•+«×ãááqþüyQcbb4¦zQ(o¾ùfAAA ß±¸UMø|ièÓ§ö)á£>RÏVºŸ—   éÏ?þøúõë;wV¯ÓÆÆfúôéJ¥R©T¾ÿþûŸšjÕª………i¿ŒŒŒ?üP=ªâååµyófõÌ­[·ÖùªÿüóO™¤žyco2J¸ ¡>~ûˆj«.Y²DUj×®]:3øá‡R†¡C‡ª¾hÌ´ ¡oŸ¿ÒÒÒT‘hkkëÈÈHÃ…††ªžÀ½½½ üöÑIç=_õIY·n]lll÷îÝ5âÕ«W?~ü¸Q§È¨OŠ ¼ŠT3,]ºôîÝ»]»v•þ´··7¹©ÚwrC®‡RùÒ)—Uøá¯HÝîÝ»UyΞ=+êÿu!1ðζwï^UjTT”Æ©PÝåZ¶l©Q\\œª`RR’ü ¼ X…P¯ .¼úê«7nÜÐØŸ––pþüyý'Ožl׮ݤÿR),,ܽ{wçÎoÞ¼iÞ›AAAA`` ´ýÏ?ÿhŸ AöîÝ+õªzë”Mò³³'L˜0vìØÔÔT¤ÄÄÄ1cÆ,\¸PE¤˜˜??¿ãÇk xŒŒŒìÙ³çåË—5ò«fžVmk×)Qí/,,œ3gÎ!CTÿu©îСC­ZµÚ±c‡Î²¢(~þùç3gÎÌÎÎÖyŒ}Qê¯Ký¦§§wíÚõÇTß)ÉÏÏŸ1cF`` ö aÆ £GÖ^ë?þðöö6ð²ß²eK@@@XX˜vRNNÎÖ­[{÷î­ŠÕª°“’’Ξ=«]äÒ¥KwïÞ•¶ß|óMU;GŽ)uÖÐpîܹöíÛ«?èÊ3ª*'MýBš5kÖÂ… Õ-Aˆ‹‹>|øîÝ»»uë¦1Aµ(Š;vì3fŒjhžPÚo‡iŸ/mÚ×’Æ~s|^T®]»Ö«W/{uaaáÚµk—-[ööÛo¯\¹RãSóäÉ“jyúôiÏž=ÿ÷¿ÿ=yòD»‘±±±&Løú믵 AúÒÕ—$m”ÍíE¡P(† &më›èJuyŒ9RßõVZŠ}ûc~ Ô¨QcõêÕÒvQQÑ„ ÔWêÌÎΞ8q¢T³ÝÖ­[ 9º>:ïùª‚¡¡¡:u:uê”ú-E„ôôôÁƒë¼-ëdì'Å|T/íþýû½zõÒînBSMø=PŠ_:eoذaª~dªÿÔÔðÇHîîîÒè¼Ò#ïlÝ»wWÅ5.¿ .¨îrׯ_OIIQO=qâ„´Ñ¢E íÿÅ ä,z¡j¡Ÿ~ýúùûûœ¼cÇŽçÎ S*•·oßöõõ ±Ætˆ¢èæææëë+-²²xñb<ªñƒ?ÙÍgÊ”)¿üò‹´Ý´iÓ!C†Ô«W/::úäÉ“Ò?.[¶,%%Eý¿SSS»uë¦áééÙ½{w‡ðððÈÈH)¤Zìq[¶l9kÖ¬ììlUÍo½õ–«««j8ÀêÕ«ƒƒƒ¥mww÷7ÞxÃÛÛûÁƒááá,((ÈÌÌœ8q¢¿¿¿Î)N.\(m(ŠÚµkk ÓV*/J2sæÌ;wî‚`ooЫW¯úõëÇÇÇÿøãׯ_aûöíýúõSýÿªŠô`igg׫W¯=zܸqãÈ‘#R°éÖ­[S¦L9yò¤ü¡333gÏž-=;ÙÙÙMŸ>ÝÛÛ»jÕª ¿ýö›ô¡»uëÖòåË׬Y#ÂÈ‘#gΜ)=ìíØ±Ãßß_£BÕ3­“““ô|óæÍY³fI;[´hÑ¿??¿ÌÌÌ .lÚ´©¨¨(==}âĉ7nÜÐ ¤¡«’lذAww÷ØÛÛ8p@Šß¿ÿ7ÞòtëÖ­C‡±±±aaaÒ  zíµ×4j+ùÛ!˜ôùÒiÔ¨QíÚµ»xñ¢ôY·n]) Þ«W/)ƒY?/Òã[YY 4¨uëÖwîÜÙ¾}»ôXµhÑ")O5 dggwøðá{÷î ‚ðüùóY³f©F׬Y-mwîÜù­·ÞjܸqVVÖ™3g¶nÝ*}ú>øàƒñãÇ׬YS„   ÄÄÄcÇŽI}i7nüúë¯ ‚вeK™$“Ï|)Þ,Maaa``àO?ý$Â_ý•­1–922R U;88 º¶Zµj‰‰‰ª¤¢¢"Õ(?AöìÙ£ýJÕ?>ªëÍÊÊêÒ¥KêGW*•£F’R;tè Ú/='‚àææ¦=аqãÆRêÛo¿-íQ nmÕªÕÿÇÞ™†Eql¿fY‚ n ‚¨²ƒ"hÁ]£bAƒ1€IÐ#ÑÄ%ÿ,FMn|¢ÑhLP‰Ñ(†ˆ[Ü  €Š¸£ ²©€¢ˆ²Ãôû¡žÔÛ·g¦§§§gAÏïSOuMuu-§ªNWÓØØHLŸ?~\i™«š”ÜVDDEGG×××ã[µµµô“)ÉÉÉäwïÞíܹ3¾KÂyT¥à!¿þÅñ<Èèþê/t)Ý£GsçΑ[XB3f ý¡±±±8\$ч²±4$$„qr3//,ê>L¿E]áááŒQtKk’²ÃQ,³>ŽŽŽäè«&Ž®X±¢¥¥…höíÛLjIpHHEQ¾¾¾ø§†ŽbXj–ÇL ªªŠª244¼víEQ$rPP]Ä)}Ø‘•ùÔÿöccãuëÖ‘ÆÓÒÒ2aÂU᧍ÇVDfêÔ©wîÜ¡#¬*š(j::9BHQÔþýûIüƒ2îîٳ߉D÷ïßÇr[ɶfÍؽ{wzÅ1Ž¥Ï›7Ü’J¥DV¨zôhGÀB6V¯^=zôhòS,¯ZµŠü$_GO:õ÷ßãë­[·2ìøÌž=›xƒÞ»w¯ªÞúªªª X!G¥4Ghh(ž|ܼy“®\C¥¤¤àý ÎÎÎZ;?¸hÑ"Š¢Bžžž¿þú+ý›¼¹¹ù©S§°aï¶¶¶;wâ𚚚͛7ãë9sæ¬^½šnìcñâÅØñ³š¬Y³Ÿ„222:qâãËmXX™“¥¤¤Ðwð 333gÍšEÔI,øRwîÜyñâ¾fÔ£¡¡áÂ… ñµ¢ÆöóÏ?Ó̉ÅâÝ»w‹Åß}÷ûÓÉç}†Ñz‘HD&Äôƒø¢¬¬,;;›þ—ÜÜ\¼•Œ ;"@ÙÛÛ3>#1‚˜IâÒ›L 3`À€Í›7›˜˜àŸ:u"ÙF-\¸0$$„ü´µµ% KúB…ŽšÕÁ£ñC ýeÍš5Äü BhöìÙ$f§N~ûí7úCçÏŸ/(ŠÂƘñuQQ¾þ裆 4xð`|-÷ Jè›d“J¥ì£OAACŸ(8d"ã!EQôý¿ÍøÍzôè±uëV|ÝÜÜýòå˨¨(¼#ÕÜÜ<11Q ¶¨¿ÿþû?þ˜4ƒ¯¿þšÜå"Í´ÙST"""âÀööö¤µ“UÁG í3iÒ$òAö!é#GŽìׯK:<$ÙBõäÉ“›7oâë––†ÑºzúêÕ«x·i§NüýýUxOàŒ^+°,--‰yZ‚••Ùþ@œ¤qÝÇLJ˜Ë¥CÖŸ555ÇŽÓHv5‰••Y2–dý@ßÅ­Q=z”™™‰¯¿ùæY‹ãfffäùBxàÀìnI"‘,_¾\6ÙeË–©¿ŸTnHHˆ\ד|ð1xOædtþóŸÿ8;;s|œ€/E÷åOÿÈ7nV9Ë5‚öæ›oÊÖ~Ïž=‰:Ÿ@daòäÉ;vìØ±cÙëG‡nïœþÒkrÆÒÒr̘1øš¨‡Ž;&k ùÌ™3ø£¢¢Ø³*lR˜øøxºwB„ýL¬ÂÆÆ_TWW˦¦fuðë_üÐtéÝ»71S‘H$½zõÂ×'N$×R°ˆV¶"‘hÛ¶m;vìHLL1bãuuuBÐÓgɦ[ˆrêèÑ£t}ÙÅ‹ñ©OSSS²õI‡ðž Ï™3_ggg;;;³w›7oÖ‚»:›>ø€èââB¡\QÃ@k=E%LLLd­ni'«‚ÚÇÐÐì€>|ø0¶vŠyþü9iÃô­|²ð“lîîîä¼'vEŠºté¶xjjjŠþ× 9?8zôèö.ô½E¯m`ÙÙÙÉõYnnnŽ ä *™k:;;ËçYXXtëÖ ßRÕ”ûÒ¥KÉ"\.?ž9s¦Jiò ,, Û#HJJ"f«««ÉŒAkÀé­íííåø!C°fíÎ;E‰D"²ÇÇÝÝÝÞÞ^ö/666Œýe*AQùZ«¨FÌÍÍ===±A1¹-½®øR={ötttÄú©Ó§O÷êÕ+88xÊ”)#FŒ°²²‰Dt úñ4:d'׳gÏž={&×ÙÆÅÅ…n®±±±¤¤¤¸¸¸¸¸8##c÷îݲ166ž>}úöíÛBÉÉÉÿýïÉ-²Œ #så‘#GbSSMMMÓ§Owtt|çw‚‚‚¼¼¼ MMMñl˜ &…qpp`„Ô"‘ˆ~FC^Šaq£fuðë_r“bG ýE® 'e+댾²¢—í¬Y³èÑ*++qã¼wïÞÖ­[å*Xy ‡’­W¯^Äl"¾ÿþ{úÉqM`iiYYYÙÐÐpèÐ!RäóÉ[o½Å°¥Ô™ lذ!55ë㈷»ððp- î!777Ù¿±±q¿~ýp'å¸s\;=E%ÜÜÜä*ǵUÁG 0gμdz¦¦æôéÓdcÔšššB:u"‡ŽåÂ{L™8q"6a–žž>oÞ}áÂ…mmm………yyyxƒýþýû±µZwwwº BŸ÷ÛÙÙ±Gnll¬¯¯755%Kå¾}û*Šlcc£ŽëÑ£GÄš\·Ù˜ž={â ¹ r–?Ê"ìKmß¾}ܸqø accãÞ½{±ƒ!‡±cÇΘ1ƒ~‹1`Ì€®“***"v.qãÆµk×fdd`çâJ3XÅÅÅ999^^^¡üü|r6„~oúôéáááÄeRAAÁÊ•+W®\ijj:bĈɓ'‡††r´+,`R–êëÚµ+ãì‰RÔ¬~ýK¥b´Ð_X !ÄØ~ÅNKKËÖ­[÷ìÙ“ŸŸ¯’“Pîè¡d£ïŒP„"÷d"‘HBCC±%µ¤¤$¬z (ŠìµÔ‡óƒH½™€™™ÙŽ;°‘8bmm½eËMäS–=zÈ ç±E =E%XD„¦³*àHahhh``ÀÃIŽú:²¡C‡:88à¶œœLtCä½f̘Á®>æ=¦L˜0+°È,b;,00lcLKK›1cFkk+‰ ,@sèõBŽ‹†††GqO³jwXZZCìä¡öÏ"ÕmRà'f&Xüú©é‰Ø]B±øo&K¹-Avw= ¾vúóÖ[o16Ôܾ}{ãÆþþþÞÞÞ>”ý£¢§ÓO¾ÔÕÕ±<º±±1::ÚÃÃc×®]ÅÅÅ í±ÁÁ €Xz"«h²¦8p ]G#‘HvíÚõí·ß2ÔuuuÇŽ›?¾ ±¹ËŽ€IaXv·ñØÜ¤fuðë_<ÐBa)X¤JÙžzô¨°°°µµE´±±±µµ%jñ¶¬ììlüùmРA, ¨‰^ïÀ∑‘‘‘‘q‡ ¦Ôr$ñßî Ã÷íÛ·víÚǧ¦¦â[ÚT`ѧÚK—.e,‘H°Ífb¹™e½]UU¥NÆèŸ:_¾|©hI@t@жøqGð—òðð8|øpyyùÑ£GOŸ>žžNÿ{NNÎĉÏŸ?OL{`ͧ+**d³*—¥K—â½TGGÇQ£FÙÛÛ;88xzzÞºu‹(OéˆÅâ™3gâÃÉÉÉk×®E4}ûF"‘,Y²dÑ¢EÇOMMÍÍÍmkkÃwâââºwïþÎ;ï°dUð¤GÍêà׿x ýþÂÛ·o‡„„ÓK¦¦¦^^^¶¶¶nnn...cÇŽ¥æÞJ6}`øðáÖÖÖåååMMM˜3gù|2eÊcccÝf 1ˆ‹‹Ãº9LJJÊ¡C‡ˆ»U"ˆ‘x­õõÑZV)ºwïŽ;²ÜÏHtèý]åuDDÄÊ•+¥RéÓ§OSSSÇŒó×_aM–¢­ÙÞc ¶ÅŽž={¶ººzÁ}ÇÝݽG?Æf°ˆ9 Ø~h”WA%‹íìì°‡¬€€€Õ«Wë:Gšâí·ßž?~kkëýû÷³³³É½gÏbawË–-ܵN&% jV¿þÅí÷~üøãx¡+‰Ö¯_ð¸OÜwª‰ÞJ6}@$…††b'III³gÏ&›.µùù„5g‡’=uøþûïûùù):ß§oh­§¨–³*ÈHaaaY\¾|™=f~~>ý_üóý/666#GŽÄФäää1cÆóƒJ·_!õÆ”‰'â禧§Ëú¸$E"Q`` Vd§¥¥–>øs^aôú!wÈðL¼&3hkk‹ŒŒŒŒŒ¼víš³&$ݺu#š‹¤¤$]ù/'¥-•Jé5:'NœÀ¥½jÕ*Æ¿rrrˆûH:¥¥¥ªÚ×gбcGb¯çÔ©Srãœ?ž3QA.àKýþûï¸ÄöïßO÷ððX¾|ùåË—É!ÙÙ³¢&ML;»¹¹±|¾zõ*93˜””$[,İ…,îîînnnø:99™l¿6l=ÚÚÚ¨¨¨ÈÈȹsç¶´´p33³äädÒNòòòäZF×DRBÍêà׿x ýþÂÒüf̘±`ÁÆB·¶¶VQ)©ŠÞJ6= 4§OŸ>xð Þ‡bff6nÜ8æëÿÃ{&ðøñcâÐÊÊê»ï¾Ã×UUU²®õ­õõÑBV)È–½{÷îa:Š Ú%•¬j²@¼d¦¤¤”——c[Tb±˜œ.dA1…l§:{ö,ÙG•éÑ£GÏŸ?êÚµ« /*òŠ(° „/Nž<)wûCbbâ¦M›wîÜ)ˆI]A*oܸ‘L&´üÜÞÞžX ]·nl„æææùóç'&&&&&>xðzzz⋦¦&l”Á?üÀÃB*Ò¶lÙBw8MHLLÄÇWóq¾ÔÝ»wq‰}ûí·²w{ôèA<å‘ã„´´4º›!LMM v]„ûÅÃ`C6Ù­| GŽaù;9*˜œœL6eÙ6ÆØØx÷î݉‰‰Û¶m#–;èCR©”Ý~¼€Ii5«ƒ_ÿ⇖û ?jjjð݈!%%E¶GðCŸ%›>àããÓ¯_?„PKK ‰¦Nªª—ÍÁ{&Cœ±lÞ¼9>>žØÎß¿¿RGz‚ÖzŠúh!«‚ÁÁÁäzÞ¼yrµÕ¡¸¸8ì¶!4uêTU³­ˆ·ß~ú~üøqll,Ö¸5Jn2PgLqrr½¾¤¤ƒ0`y(é&;wîÄ#ȸqãT2$ ªòŠ(°,X€÷iSõþûï3 Ž\¼xqùòåø:((¨][— Æß*[ZZð”ËÛÛ[%Û4uuu”!w)K011Y±b¾Þ¿?Yâbšššbccɱ#¢Ý ëöU«V1t"þù§Jþž þÿéWúޤÏ?ÿ_TVVFDD0¬Òüúë¯d…¯¾ßw_ŠØ;ÏÎÎÎÈÈ`ܽqãÆ¥K—𵯯/ãî‹/‚ƒƒég.jkkÃÃÉ)Yö-ýäó,BˆœªÀTVVÞºu ÿ”û™zÖ¬YØ1è;wðNccc†RÕÐÐÐÝÝ_oÞ¼™Q/EýöÛoøÚÛÛ›}ú+`RBÍêà׿ø¡åþ¢º=sæ #‡ sçÎ%?í“H‰üü|.·ôA²é9d#TÝÿ[QQÁ>úpq¬¨fùÍ~ÿýw²ï544tÊ”)"‘(!!¡cÇŽ8066–~TÑè£sx÷í#lVå¶ÁG www|}ãÆ   †1¬—/_ÆÆÆ«ð"‘HMùL§cÇŽo¿ý6¾>pྈŒŒäò_5dž‹ºñ8[[[¬Þ"ÈÝÆïçççççG²¼yl`!„ÌÍÍ¿ýö[<–_¸pÁËË+::ÚÎήµµõÂ… ø¸©©)±õÓN133?~ü¡C‡HˆªÛ¯ÎŸ?O<Ç)b÷îÝØQº"/^¼cÇŽÂÂB©TyüøñÀÀ@ssó’’’]»v‘£ÑÑÑô]ëÖ­2dˆT*mhh˜6mÚìÙ³}||LLLÒÒÒUÚ,cjjêââ‚Í,^¼8--ÍÉÉiÑ¢E~~~3fÌÀ‡+ÿüóÏû÷†0àÉ“'™™™»wïÆïÞ½ûüùó¹?Ž¡^*((ÈÖÖO".\8bĈ>}ú\»v-===%%OíÛ·¯ŸŸŸìßoݺåââ2nܸAƒUUUíÝ»—lš;w.ÃfƒAƒuêÔ +\Þ}÷Ýäää)S¦<}úôܹsÿüóÏÓ§OIÌÚÚÚ~øÁÓÓ3 €Z[[¡©S§Êzïzÿý÷srrBGŽñöö^´h‘ƒƒCss¸¾WÈ IDATó¹sçŽ?ž••…£Íœ9SiY ˜”†P§:ßþÅí÷øûûcë*yyyáááÎÎÎÙÙÙgÏž%Z]LrrrïÞ½G7ד,'Ntpp˜7ož££#Ë-K6=',,Œ¾E´K—.cÆŒQ)…éÓ§³G°··—ÝÀÈ@Qõñ˜ ”••ÅÆÆ’×!áýúõ[»víG}„zþüyTTÔÉ“'±©uE£Jå  x÷”öžUEíAð‘bçÎÞÞÞX{{ýúukkk©Tš““sûömºº->>~èС*Š2æÌ™Cß hff6mÚ4ŽÿUgL™8q"] Ïð~0zôè„„|-‹å(ÎÌÌÄ&ÏÈ¡uàÏPAÖ´111,шMʸ¸8¹ÈŸ„„(•JçÍ›Çò¦b±ø?þà˜Uú都{÷²G¦;Û´i{dŽ…@Žb!„Z[[é·Èª!$‰JJJèw‰„ÐË—/I¸\/rŠØµkû[P•;w}È!õõõŒmذAѧN###²°'5[\\L"”——Ó“Š‹‹£ÿÝÕÕ‡?xð€ìf’KÿþýóòòèI_H¡¢¢"¥ï®æKQ´F>wî\xòäI–l#„ ²²²H|¼G±l4hPCCƒÒ7¥» ”}…„„âååÅ(mÛ¶ÑÿròäIÙR’J¥J%Mš4‰K«š”ÜVD¬©©a<‚|âîÞ½»l>ýôS|÷Í7ßT§:(ŠŠÇ·"""èáüú—"6mÚ„ÿ5zôhÆ-MôvNÎyÉJËÆÆF’òéÓ§q`}}=)[Yüýýæº9‚ÿX]]÷’““•ÞÒŽdc‡hy•F&Fšä¶U:GŠ¢\]]qÌ+V0nÑOGEE1î’ý¡ñññ$P%wrvvvJ_™¥úTš H¥Rº6yÛ¶mô§H¥Rº¦~ãÆä–¢Ñ‡¹2_él‡´|.-‡wOQ Ž­H‘dS'«ŠæŠÚƒ€ƒaß¾}dk ï¼óNSS“ìßéÂsíÚµ*=º­­þõñÃ?”MnK£ÔSêêêèÇ„>|H¿»gÏrË××Wn–H‰«ôÊ€~òèÑ£ŠŠŠÆÆÆ¦¦¦¦¦¦æ9ËÊ98¤™Fuuuuu5Ý”V’mÞôø<¢É ‰6oÞ|ðàA¹ƒÆŽ›ššÊý;=eöÜ"„$ ñ­4²ª…@O3eÊ|íëëK×,Ðÿ(‹éS:¥“› ÞÞÞW¯^•{~ÄÂÂâóÏ?OOO'ù$,X°àÔ©S²udgg—ššJæšrK‰‘«˜˜ÆÞuLïÞ½333ãããå:&Ÿ0aBNNYBcèe¥RAaT})¤àÇŒsôèQb¬Á°aÃ233ån¿JHHX¸p!cý,‘HbbbN:Ew9¤èM###úé§Î;3RvvvÎÈÈˆŽŽ^±b‹£÷ò”~ýúÉÝa$‰þþûo†m,‚©©éW_}ElÀ³£jRì%Ïè)Š¢q¿Ë½:X’â׿Á’aMôÞ¥'‰H¹‘»&&&G•ÝécllüñÇŸ9sfÞ¼yDáB§k×®+W®”û^,·´#ÙØá8L¨Y˜ô’‘-%.¢›ã£Y`©>•fûöí#Ö‘FÅHjÛ¶mD½dÉ’gÏžákE£ ì%£ÒlG¼{ŠJ2‘ã—UEJQ{pÐ!„††æää¼õÖ[:tÁÉÉiÇŽ»víbX¦Ç¨3Ù‹Åôó}ŠÎ >¦¼ñÆä ¨ƒƒcŠDJ^Ñéx•š1°#"nqYh_VÏ®^½zùòåââb###++«€€''']çë•¥´´477777·©©©[·nvvv“&Mb7ëÛØØ˜“““••USSãììÌðXÇ©TzíÚµêêjSSÓvéÒ…~·ªª*///??¿¸¸ØÞÞÞÃÃÃÝÝ]sÑ…z©¦¦¦‹/¦§§c[ª]ºt±µµuttô÷÷gÄtrr*((@íÝ»7,,¬´´ôرc¥¥¥‰ÄÙÙyèСªf ªª*==ýæÍ›VVV>>>ô½9EEEyyy‰dРA²)÷ïßÿúë¯Ùí\”––¦¥¥åææÖ××b?MÇçq¸@À¤ÔGðêÀðè_üÐráAffæ•+Wîß¿;Å„ ÌÌÌð­úúú .TVVöìÙÓÏÏ®%¬©©¹sçNCCƒ¥¥åÀéÊJ–[H§’ à{õiz&À>úè~=¥½g•¥=hb¤¨®®>qâDyyù£G---{õêåããÃP÷ë!ZS€W•ŠŠ ‘HdnnŽ¿a/ĉ\蟚(ŠBÿkÙ[³¡8XÞxXðšÀИè0'X¿Ö¡C‡ÒÒÒ×ÓÎ…þT€&ЭëñB€!&–BBB^Oí Qà8:|¨©©)++³¶¶Þ¿?ñ9@ ÷€€€ >œ8q"<<œ2a„!C†è*?À+ !@¬­­7lØ ë\¯&° Ú+“&MÂŽÆû÷ï¯ý§[[[{zz¾|ù²oß¾îîîK—.Õ+uÚG·Õðj^%€BP(°½X€^ ,@¯ ×€ Ðk@è5 ÀôP`z (°½X€^ ,@¯ ×€ Ðk@è5 ÀôP`z (°½X€^ ,@¯ ×€ Ðk@è5 ÀôP`z (°½X€^ ,@¯ ×€ Ðk@è5 ÀôÍ%MQÔÁƒÛÚÚBƒ¶µµ¥ßmnnÞ¿AAÁ½{÷Äbñ/¿übhhÈïA™™™×¯_Gyzzz{{«Ÿó×„æææ#GŽP%‰&OžÜ¡CaÓollܹs'EQb±8**J"‘›>‚‚‚7n „ 0hÐ ŽÿúçŸ B£G0`€ÒøW®\)**BÙÛÛ»»»«‘_}§¡¡áرcE!„†Þ³gO–È­­­‡–J¥!oooúßU¢[·n#GŽD¥¥¥UWW“ð©S§(V™™™ä§‹‹‹££#ùyþüù‡"„¬¬¬|}}U͘nÑtWUÊ+)cõä¥._¾\\\ŒêÚµk`` {äëׯ߾}!djj:~üxúßUÅßßߢªªêܹs$£dKMM}úô)¾–H$S§N‰Dø'¿ŽvÿþýÜÜ\•òokk;xð`Ž‘eE½Îû”Rt8ÜèI×`GÕá[)NJyÀo£ÎƒŒ'MšÄ¸+T!hsú÷Š¡iѤÍÞ­…™¹þKr¥444üþûï7nÜ(,,,**’J¥ýû÷ïß¿¿‹‹Ë»ï¾Û¥K]gPSèvI2ªÝó„/^¾|Iž²víZú­²²2///z6^¾|Éï)E½÷Þ{8‘¸¸8Þ‰¼†Ð—=åååM¿¦¦FðôéÄÇÇãEDDpÿWpp0þWBB—ø¤¥Í;—oNÛx~ƒÙ»w/{䊊 yÓ¦MŒ¿«„««+NÓÕÕ•~üøq¥y^±bý/ñññô»X/†=z4ßRÑšîªJy%e¬ž¼ÔôéÓq6•Fމ‰Á‘»wïÎø»ª$''S•œœLôõõUš‡/^˜˜˜ÐÿE¾ùu´ï¿ÿ^Õü‡‡‡sO_VÔë¼O)E‡Ãžt vT¾ÙvRÊ~sudll̸%`!hsú÷Š¡iѤÍÞ­…™¹þKrvöîÝkcc£h˜ëرãâÅ‹+**tM Û%È(õyôèQEEEcccSSSSSSó¿œeå ÒL£ºººººš‹nJ7GW­Z•““£Ò_†îçç7lØ0üW¯ÐyötžÐIIIJãìÛ·O 9ÁèIwûé§Ÿüüüüüü¾þúkõSÓ“—–Wò¥4ÇÅ‹KJJØã>|¸¡¡A;ùÑ>Âö)}º“Rí ÍÉ£ô¼¿è¼‘ëyùºeéÒ¥ááᥥ¥Š"¼|ùrݺu£Fª­­eÜÒDÓÒ‡æ*xŸÕ‡—4²pþüy|akk»lÙ2 Æ]Yš››³²²ðõ‹/4›?ÕÑyötž tîÜYî顲²²àkÙ^ïàà 7ÁüüóÏ,g®\¹rçξùU=énEEE.\@õë×OýÔô䥄å•|):ÎÎÎrûn¡®]»8P6‚¥¥¥l EQûöíûä“OXž¨iM±—hÖÖÖšxº°}JŸy廆Jð˜”jm6H… çýEç\ÏËÐ!'Nœøïÿ‹¯;tèíïïoccS__ûöíüüüß~û á¹qãÆÌ™3>,ÿÿM'šhZúÐ\ï³úðR€&Ћœ9Š‹‹‹ŽŽÖIkk댌 |Ý«W/Ýf¦]ðùçŸÏ;!dee¥ë¼è5}úô!Sa:6lˆ‹‹Ã×'Nœ»„–˳gÏNž<ùÖ[o)ŠÀe‹Vûº* ˆ/¿üòË/¿” ïÒ¥KMM BhÆŒ[¶láž`RR‹«¶¶öøñã<òÉ‘Ž;bë'šFÿû 7Ú&¥ A?ÐѤW´ßâZ¼x1EQ¡îÝ»gddÐ?ߎ;!ôþûïGDDܽ{!tôèÑ£G²ÌÛ#0Æê ¶÷Œ4öà‚D">|¸®sÑžÀ†u‹×”¤¤$–Á[›çµtU@k\¾|ùîÝ»ŠLç:t¨±±QËYÒúß§`¸Ñ&0)EPúþ‹&½¢ד'OnÞ¼‰¯7nÜ(÷ð¯¯ïáÇÝÜÜð>¬ÜÜÜWLc ÚV`555!Ú0)‰š››B,‡ƒZZZªªªž?NB>|رcG“®]»ÊƧ(êܹs7oÞ¬¬¬´³³:t¨ñ‘$—†††«W¯^¹r¥¥¥¥gÏžo¾ù&÷½!ªf¯´´477·´´ÔÔÔÔÑÑÑÏϾ)矜ûíСƒ………l"•••b±ØÐÐÐÐÐÐÀÀ@¥ Ðinn¦(J$É–KKË…  ï߿߹sgWWWWW×>}ú°'ÈNeeejjjII‰Á!C† Ò©S'ö¿¨S5tZZZòóó :vì8pà@‰´µµµ¶¶"„ ˆÇŠ/^àÓéÝ»w722Â!—.]ÊËËëÕ«—···Ò槈úúú¬¬¬ââ☙™YYYÙÛÛ+òäòðáCŠ¢ {ôè¢(ª°°ðÂ… ÕÕÕžžžžžžJ‹Z?1bÄÙ³gÑ¿+gcccÙ8¹¹¹ø#•‘‘‘»»û¥K—4—¥ý½®®ï|éÚµ«‰‰‰T*=wî\~~¾H$Z°`=)•ê—ÑUŸ>}ÚÐЀ„zñâ>›iaaÁà ^ÉX¡Z²^ qçíSSSì 0))iÙ²er£Mñ›o¾I¾{ëÜE=ï>ÕÚÚzóæÍ¼¼¼[·n™˜˜¸»»»»»+RùUTT´µµàÿàÁƒ³gÏ–””Œ;ÖÓÓ“åEä7„âââüüü¢¢¢gÏž 8ÐÕÕÕÉÉé7ÞPZ>HÏú;Ç ó¾¹tOŽ“RîâšLáÄb±Ü-!õõõÏž=CuêÔ©sçΊ2/¬g‡ÇÌ\Õìñ˜þ©#]Ujä\šëóçωgªnݺÉNEêëëkkkñ´ÜÄÄäùó缫O›3sÝ|‚ÌÌå—æ¦Ä*ÍÜqþüyê_?ÝØ¡°\œœœ‚‚‚N:…ÊËËÃì]û”ŽÒîÌ} +((¸~ýzqqqccc¯^½°?bsssÙ‡2Æ8U&¥hAFqé4·N|­Ñ¦Bº»n:"‘¨¾¾^Q:ýõ—ܹ¹¹átŸ—.]rttdÄìÞ½{VV–ÜÄ+++'Mšd`ð?Š<ƒiÓ¦q|q¥Ù#ìܹSVÕ§OŸ]»vÑ£=yòÄÌÌ ß•H$—.]b¤“––Fº§§'÷ 0(++#‘=zD¿µoß>¹Óq__ß’’.ÅBý¯‹‡êê길8Æ`,‹#""Z[[åþ]¥ªañuRVV6jÔ(ÆlÃÛÛûúõ몺1"›ê?üðC‰úé§ëׯ1‚1wíÚõÌ™3 SSS³dɹÞs]]]·oßΈOì.÷èÑ£¥¥eÍš5 q/‹CBBššš8f@M/„ŠX¿~=‰ÉîW…x!üâ‹/ÈÈ·ÿ~¹‘—,Y‚#'hòB¨´»‘ãW_~ùåýû÷ß|óMü“îòIÕú•íªnnnr³ñ×_i⥴&clÉ})гMÏ̵9ðiaf.·¸ŸcT,üñÇä¿7oÞd‰¹eËŸÈÈHÂÞ´¸LAeaO“ã@vòäÉ€€ÙDLLLæÌ™#;>2Æ8Þ‹Y~/¥Í%ª&Ö‰úÀkä…oƒ”…¢(òåGî]ŽáÙÙÙcÆŒ)((`„?yòdüøñ/^d„§¦¦4èï¿ÿÆ:`BkkkJJŠÏíÛ·åJ¥ìÕ××GEE½ûî»UUUŒheee+W®$ñ»uëöã?âë¶¶¶¨¨¨––zRÑÑÑ8²‘‘Ño¿ýƽ|Ыƒ~ýóÏ?Ϙ1oiapáÂ…Áƒ§¥¥±§,Kddäúõëñ7=‚T*ݵk×»ï¾+[û‚T BèÚµk~~~gΜa{¹téÒÈ‘#É ŽR¢)ç´´´¡C‡ž={–ñ:OŸ>mÚ´¾}ûŠÅb¼§N.NNNqqqõõõ¿üò ™5k–………ì¦Yâ¹`ìØ±Ã† kiiIMMŵµµQQQ7nÜ ‘oß¾=vìXœ ¬Œ÷òòª©©¹páBzzºT*½{÷®¯¯oFFû¦V.Ù‹‰‰ùý÷ßñµÝÔ©S{÷ŸššZ^^ŽZµjUee%IáÝwßMII9pàBèÚµkkÖ¬ùüóÏñ­eË–‘lõêÕ®®®b±˜cùpáöíÛÄ̶££ã„ üüü^¼x‘ÐÖÖöôéÓèèè‚‚•6±:t!diiÒ·oß;wî$''ã¢üñGppphh(=‚TMUU•¿¿?Ùêìì¾öññ™5k–­­m]]]VVÖo¿ý†_ç“O>yï½÷ºwïÎøïóçÏq³111‰ˆˆ°²²ºuëÖ‘#Gð÷“ìÛ·ïwÞèµAkkkXXØŽ;BGŽ©¯¯g“¹téÒýû÷B&&&“'OÞ¸q£FóÃ]ýúë¯äÚÔÔ”X©T§~ ‘‘‘eee§OŸÆ{ålmm§L™‚³§Ñ—ÒšŒU¿%kè¥êò¼]@QTŸ>}|}}±¿ž¤¤¤ÿû¿ÿcÄ!çÃÂÂó6Ý"ˆ¨WÚ§~üñÇ~ø_÷ïßÿí·ßöôô|øðaFFÆÑ£G[ZZ^¼x=lØ0¹&iW®\‰/D"‘¥¥¥Ü#JY¸pá½{÷BÆÆÆãÇ ´²²*..Þ¶mÛ­[·Bûöí;v,»n=ìï²ð®S•º§ÒI© âš yøÍ̹gO¥éŸPÒUi#Wµ¹ïܹÓÏÏÿ%66vÔ¨Q¸ÒKKKɶ—>}úüôÓO*•413×ÕÀ§Í™¹€SbaE£££¹¹9>Ýö÷ß»¹¹EFFNž<ÙÅÅEéQ2ŽMKÑT4‘‚ìÅ‹‹-ÂJ##£>úÈÓÓ³sçÎ%%%üñnTEEEß|ó ËûÀÄ É(uF:¡Ö‰BÚ=BH Ý;##ƒcjä+B¨  €~‹lˆE™™™:uŠÜjkk£ß-**"·&Mš„-,,ÒÒÒè îܹ“ìîc?Á%{ÙÙÙDEFFÖÕÕ‘[Ïž=óööÆ·$ɃÈ­ªª*²M×ÐÐðÚµkEeddŒI¥R.P}ÿdyy9$C\\\éñéºáãÇ«”>BhÖ¬Y555ännn.9)ÉØ]Ì£jänTþôÓOÉÓ?ûì³¶¶6rëûï¿§Áàx„´¥¹sçÊ"„Œ×­[GÔÒÒ2aÂUë…lm iii¡ßÊËË#ÊÇ“pFQûùùݾ}›ÜýçŸÈÎØððp.y !´°°pd…n…Qð#„+V¬hii!cß¾}Œ˜¤êCBB(ŠòõõÅ?5t„ÃÒÝH~0S§N½s罫ªY¿¤«REf´«•÷KiMÆ Þ’)~òœr„P,³w4GGÇŽ;âÈ‚!Dµ¶¶³³3#æÓ§OÉÒèÚµkt_„!‰Dñ`Ãá!êUíSÏž=#‡P<<<?~L¿»wï^Òž§M›FÂé³ „¹¹ùîÝ»kkk¹”‰ìpÓÜÜLLr0ì455C*¾¾¾\Òׇþοá›w÷T4)å!®É*!DŸóȾ½):l%¬§ä!$ð˜™+Ê¿éŸàÒ•¥‘ók®_|ñý¥pà¸qãpˆH$ú矸” šž™ksàÓÂÌ\nq >‘ x‰v~þùg$ƒ……ÅŒ36lØpéÒ%ÆS(jZJ§ <ÒT:‘‰„X,¾|ù2ý¿R©4<<ß2dý–Ü%Å,¿—ÒæUðu¢ž Û#„¯šë§Ÿ~büÀœ8qžî믿&µ¡¡Aìžžž²‡ikjjºuë†#¬Y³†~+%%…¤9tèÐ/^ 8äŠqœX(Öœ9spHpp°ì_|||ðÝ-[¶¨”~ß¾}éûOEùùù‘@~U#;L>{öŒ˜G3gŽl:~ø!yP ,YõMNN¹{ìØ1¥J¥Ä(@jjªl¢ Y¿~= ¤uŸ>}d[,ñ]âããÃåMé ,•Є‹¢¨>øÿÄZ*‚T*µ±±Á·°nK¯X²vÔ¯_+°4*coɾ¥†#þ±cÇð-KKK.éëCWïá›w÷”;)å'®AEñþ .]5rÞ͵¥¥ÅËË‹ü÷ðáÃD0"„/^̱|XÐôÌ\›Ÿf!€— IDATæJX‚L$ø‰¥¬^½še¿Õo¼1eʺ†‘–ì”. ,¹Ùš5kðÝ€€ÙdÉlÁÜÜœ®? ,M/Q…]'ꯑ ,MciiIlܬ¬¬ˆ¸|üø1¾ ³vb/NHH¾¨©©!óB”^¼x±´´!djjJ¾Šè &&&²ËrõëW·hSÆj­%s)uäy»ÀÊÊŠØ|ey!çg̘¡íl±¢QOšhHHˆ\7C|ðùªOü£ÓùÏþC†<~%"B(>>ž>ÑG7Îrí—ñCWs*~u*x÷lïâZOà8ýÓ¦tåÝ\ vîÜI¦Ù³g/\¸_»¹¹}óÍ7êäŠMÌÌu2ðif.ÈDBC¢à³Ï>»qãÆ¼yóä.èêëë:4fÌWWWºÞ„#r§ ê#w ›‹C¬­­·lÙÂ;?J™>}zxxøÞ½{ñÏ‚‚‚•+W®\¹ÒÔÔtĈ“'O åa¬TnÕÈ;…ª²ÞèÛ·¯¢8666“=zôÎãkRKKËÖ­[÷ìÙ“ŸŸÏÝkK6Ôù¢5xð`ºhY*++y'ΉDºiÓ&„PRRžIPE "jtQ͹î®1êÔ¯nѦŒ¼%+‚ÇK!^òœúGlEÐOüiˆéÓ§/\¸°­­­°°0//oðàÁ¡ýû÷c“¥îîî²n×ä7ÞûYž-ˆúG‘~ÊÒ¯{öì‰/ä*hXþÈíÛ·7îÅ‹¡ÆÆÆ½{÷âÁÚÁÁaìØ±3fÌ èAWs*~uª¡îÙ~ŵžÀqú§QéªèYüšk\\Ü¡C‡è^ÿV­ZåîîÎ/3\ÐÄÌ\'ŸžÌÌùM$4* œcccB%%%ÇŽÛ¿ÿ©S§ðݺºº)S¦Ü»wÏÀ€ë²]G¥doܸ±víÚŒŒŒ’’Jhg©EkKT׉À+u„£ønhhxôè÷dYü›*E®Ë[•žåååE6ô"„¼½½ùy/âˆD"Ùµk×·ß~Û«W/zx]]ݱcÇæÏŸoccCÌIrGûUƒ=Ó!šw®8B þ©ÉÉ“'œœbcc³²²c$±"¬…lèDEuâÄ ì$++ ÛkèÔ©Ý¢ž »Í£fýêmvd­µdîr@}y®ÿXZZ;Vä¡ÞžDZõØñ¦wïÞŠ¢‘9¨ÜzW$TÂÏÏïܹso½õcƒÃíÛ·7nÜèïïïííýðáCõ„ÑÕœŠ_j¢{jB\·G± [‘Ö¤«úÍU$ÒC4mÁ@3s |¯íÌ\%úöísòäÉÜÜ\b浬¬Œá’AFŽÉ666FGG{xxìÚµ«¸¸˜¡½‚™-áU] é„WjGŒŒŒŒŒŒpÃ6l˜¿¿?{|Æ@¥ôƺtéRöȉ„ø"ÄÅÅw³¡”””C‡aW B"‘,Y²dÑ¢EÇOMMÍÍÍmkkÃwâââºwïÎÑõ¬JX5¤$Y†Òªª*^Ù”ïÝìtnß¾BÌ<™ššzyyÙÚÚº¹¹¹¸¸Œ;–þÝOCÙÐC†nmm]^^ÞÔÔtàÀ9sæEõ”)Sdmè'ê×o»@ެ‡-Y}yÞ. Ã÷íÛ·víÚǧ¦¦â[z¨ÀÒ‚¨§ï&xùò¥¢9(Ñ)ÚÚ ‡.//?zôèéÓ§ÓÓÓéo—““3qâÄóçÏ£9Z@ð9¿:¼{jH\3Œ—­IWõ›ëíÛ·×®]K™3gNVV÷Ý1<ÐáÌ\Àªymgætž?>a¬åùñljGYüÇ}µ—/_&Ö»ôŠ¥K—nß¾üttt5j”½½½ƒƒƒ§§ç­[·ÈW±vú¢C§µí—×Q%‹íìì°&; `õêÕš{9X+‹¿øâ U—Ù‡’Ý£øþûïûùù)Úˆ(:t ÄÝïùóç§OŸÞ³g1¹eËM “V½½=^ƒ1“Ó!fÅô‡ü‘"‘hýúõ111Ä00y ‰D¡¡¡ØBdRRÒìÙ³Éq*=\T+â5©_mÊXm¢¦xð Þï`ff6nÜ8æK^ŸúÕšŒÕ&êÈóvD·n݈ú#))‰luÔCKsH+¢¾cǎľ1JÂàüùóäp†X¿ÿþ;nZû÷劉{xx,_¾üòåËäxÑåË—5‘„íïüêTðîÉO\Ó¿±Ëž7innÎÊÊRúè×mJWušëš5k.]º„¯¿úê+bè믿V”ššè|f.`ÕÀÌ!$‘Hˆ)É£G²G.))!•®!³VjrõêUrf0))Ivø#¥÷ ðJÎlÛ)¯©‹¸r8yò¤\c‰‰‰›6mJLLܹs§:ž}ìíí‰s´uëÖÉFhnnž?~bbbbbâƒè·bbbˆyìÍ›7ÇÇÇ¿û÷ïWꯊÆÆÆ»wïNLLܶmÛéÓ§e#¬R©TC&ú„ªOOO|ÑÔÔô믿ÊFøá‡°Yb½‚.ëU7%%…ì ñññéׯB¨¥¥%<<N:Us®çõ©_­ÉXm¢ŽN.wïÞÅMëÛo¿•½Û£G|­}1"lçW§‚wO~âšþvyyyŒ»_}õX‚—‹6¥+ïæš››K|³zyy-[¶lÛ¶mXe‰wfi‰˜ÎgæV ÌÌ1nnnøâÊ•+ìž…÷ìÙC®éžþôl‹#»G»¡¡áÈ‘#ÚÍ‘y%g¶í”v£À¢Ÿ-Wÿëâ‚ ,,,BE½ÿþûŒ×/^$Ž‚‚‚XŒ¶*Íž‰‰ÉŠ+ðõþýûÉÓÔÔKÎDDD[¿ÿþ;ùÊ:eÊ‘H”бcGKßg+HùG*›7ofœQ§(ê·ß~Ã×ÞÞÞ2(TÕáëU«V1èŸþ©Qg޼!+3gÎ0Ê?!!aîܹ䧆vÀé9dYCªº+¤®®î2ä.PéðînÂÖ/ÉF~~>#þ¯¿þê÷/·ë¹Œå‡°/Å[ž·;‚ƒƒñGæ––¼"òööVÉ´¿ŽÖÒÒ¢ô_˜'Ožà¿+êõ)r8¨²²2""‚ÑyýõW²‹'‹=a!'M²³³322woܸA6†øúú*MMŸû;¿:¼{ò×ä›ÊºuëjkkÉ­C‡©zê„EÈ?KxòÖÚ‡%{ª¢ 骨‘ók®³gÏÆÛa $I@@Àüùóq„›7o2œ¨ R>:Ÿ™ X503Ç,^¼˜lãš4i’Üo/_¾\°`z,--]]]É]»žši’MI!ršSYYxëÖ-üS¥i-’˜Z[[ýýýUz”žÌlÔŽl`™ššº¸¸à£§‹/NKKsrrZ´h¿ÔÌÍÍ¿ýöÛÈÈH„Ð… ¼¼¼¢££íììZ[[/\¸€¿˜šš’“½¼³·xñâ;vJ¥ÒÈÈÈãÇš››—””ìÚµ‹ì0ŒŽŽ&ŸmËÊʰ/U„P—.]Húõë·víÚ>ú!ôüù󨨨“'Oâ?B•Ïû￟““ƒ:r䈷·÷¢E‹š››Ï;wüøq²õ}æÌ™ª¦Ì«fݺuC† ‘J¥ Ó¦M›={¶‰‰IZZZbb¢~:yõ÷÷Çòòò<<<ÂÃó³³Ïž=K'˜äääÞ½{=úµÒñ‡……ÑGú.]ºŒ3F¥Ο?ommÍg÷îݳfÍb‰À»» [¿>>>ø¢  `âĉóæÍÃ[ÓïÝ»wáÂ|—îB/%Áe,?„})ÄKž·GÌÌÌÆèÐ!¢êö+~­©©Ié¿0}úô!VTõŠú”ŸŸßŒ3ðiÊ?ÿüóþýû¡¡¡ xòäIffæîÝ»ñ¿ºwïNV³‚dkk‹Š .1bDŸ>}®]»–žžž’’RWW‡êÛ·¯ŸŸŸÒÔô¼¿ó«Sa»'?qÝ¡C‡‰'¦¤¤ „._¾ìåå5nÜ¸æææÌÌL•œˆaX„|ff&¶ËCηj–ìñ@p骨‘ók®Ë—/¿yó&¾þä“Oˆ9íµk×þý÷ßøCÑ?ü0eÊ”€€aËGç3s«fæ¡Aƒ­ZµjÉ’%!©Túé§Ÿ&$$xxx¸ººöêÕëþýû·nÝÊÎή¨¨ ùî»ïèÖÇ„ízê¤9hРN:a+`ï¾ûnrrò”)Sž>}zîܹþùçéÓ§$fmmí?üàééI:ˆ,,S[[ùrÃ]è [Pz2³Bè (^ ¡µk×Òo•ÜŒ‹‹£çÜÕÕ‡¿÷Þ{8$..Nîñ±#„PBB ”J¥óæÍc)±XüǨŸ=Š¢²³³åî;% 2¤¾¾ždŒn~uÛ¶mô§H¥RzÏ߸q#— È…¾/£¼¼œ¤Ov#+bÒ¤I\ „ž~MMlòÇÚÚšñŽªVM||<¾Aß°aƒ¢ïQFFF¤œé ƒÒÒæÎ+¨¨ùAÉå)õõõ,‚ÕßߟñýöÈ‘#‡¢Þ»w¯Ü¢V}gìÞ½{Ù#Ó‡ØM›6±Ä\¿~=‰YQQÁ“|hZ±bã}‹rTTã.ÙzOWÉÊ®]»Ø_™RÜÝ5EŒúõKº*EQÕÕÕbñÿì¢MNNÆ·>ýôS˜ŸŸ¯ôuØ_Jk2Vð–,øKQ*Ês¥LŸ>ÿËÑÑQidbý°{÷îì1‰“ò˜˜–hÄB¨µµ•~‹(eB"‘¨¤¤„~—~êáåË—$œ_Gûþûï¹ÿ ÃhªŠz}êÁƒìÖvû÷—GÏ}TTTÄ^e ä7'Ožd/ƒ¬¬,ŽÐyg‡ßðͯ{Ê”ò×E*ʃ¡¡á‡~ˆ¯ÃÃÃɳ , ’ìÇæ^ªäAÆÆÆ\ EÙã=ýVºRйªÍ5--¼éÀèO9sæ ±}Ö¯_¿ÚÚZöòaAÓ3sm|Z˜™Ë-.Á'¼E mmmÑÑÑ\ÜÒlÞ¼™ñwEM‹} ÊŽ¢4•dt„ ŒŒŒlllHˆ——þ—Ü1ŽRÜgéçs¹ =Áe‘NØu¢þðèÑ£ŠŠŠÆÆÆ¦¦¦¦¦¦æ9ËÊ98¤™Fuuuuu5Ý”ŠÅbÒhÎeÉO•œÎÆÄÄÁªRjr#ˆD¢Í›7EŠkŠ_Gãá~^MQÏ£OõîÝ;333>>^îÝ &äää–YRäfu̘1G%ÆÚ 6,33“Ëö+ŒÎû;;ü†o~ÝSîñ×8‡çÎ#fn>>>©©©ä—‰!/T§ã‘ ¢ìñ–äÂJW¤¸‘«Ú\cbbðù#‘HôË/¿0<ñŸKÅÅÅDÁR}ŠÐÚÌ\ ŸfæìH¨‰oQÀ‚X,NHH¸xñ"Ëžµnݺ-^¼øÖ­[²¥]Ǩª(M¥YddäO?ýÔ¹sgF¸³³sFFFttôŠ+¸g•¥Ï’…÷i­à2JÀ%*÷€,"bH‚ý9£$•J¯]»V]]mjj:pàÀ.]º¨ŸfCCÃÕ«W/_¾\\\ldddeeàä䤉앖–æææbÿ©Ýºu³³³›4i’€&¨,ŸÒÒÒ´´´ÜÜÜúúzCCC› >\››Õ…ªšÆÆÆœœœ¬¬¬ššggçaÆiÁ͹šdff^¹råþýû]ºt±µµ0a‚™™¾U__áÂ…ÊÊÊž={úùùiÎÛ4ÀŽ:ÝMÀú­©©¹sçNCCƒ¥¥åÀé#±­­myyùóçÏ¹Ïøõ\ÆòC/…4/ÏUJÔ³ô)„PUUU^^^~~~qq±½½½‡‡‡»»»Ü¹¬†hjjºxñbzz:¶—Œeˆ£££¿¿¿ªIéç]§vOÞâúÉ“'¹¹¹ÅÅÅæææŽŽŽÄ’‘ª°7H£‰ì X}ì\ Ó€å£3s¡ªfæ„ëׯ߹s§°°°¨¨¨¡¡¡OŸ>666ýû÷9r${:šèz¼Ó¬ªªJOO¿yófcc£•••}ÏrQQQ^^žD"4hÒŠfé³;wîœ3gΊ+ˆ;¾ :ŸÙêœŠŠ ‘HdnnŽõƒDKH ˜È…®L¤( ý¯ÕN|•âp”¸)°.”––öë×oèСìc è9sçÎݶmÛ±cÇÆ¯ë¼¼îèV¥_Ÿqõ)..ž3gEQíÚ”8lß¾=11Q,s?)¼ª€ àUcëÖ­iiiƒ Ânn =ÒÔÔMQÔ¦M›ÈÉMàµX¯®®®‹/NOO·´´Ôu^€'‰$,,ìðáÃìN×°(l`€B@è5ºÎ(§¹¹ùÈ‘#E‰D¢É“'wèÐ~÷Úµkééé·oß~úôippphh¨vrÕØØ¸sçNŠ¢ÄbqTT”D"ÑÎs\¾|¹¸¸!Ôµk×ÀÀ@öÈׯ_¿}û6BÈÔÔû mhh8vì—íš ºuë6räH„PZZZuu5 Ÿ:uªÁRQQ‘™™I~º¸¸8::âëššš3gÎàëÑ£Gs·Ôxôèц†ÎÙG"‘hâÄ‰ÆÆÆ\"ÿóÏ?………8K ÀW®\)**BÙÛÛ»»»s4PPPpãÆ „Ѐ „)OU‘›aÉOssóþýû îÝ»'‹ùåCCCÁ3ð À.ÿ9¢'âZÔÖÖîÙ³!dnn†)4~hºOñãU×júäïªâïïoaaQUUuîÜ9ȱ}Н%ÉÔ©SÉA’óçÏ?|ø!deeE?Kòy t }²U^^N¿õã?Ò§æñññ:ÉUMMÖžË`úôé8ŽŽŽJ#ÇÄÄàÈÝ»wÇ!ׯ_ç':\]]q ®®®ôðãÇ+ÍÆŠ+è¡×ZZZ ÏÈÈà^;vTõ 8&Œÿ’@ß{ï=8wî\îù(ŠŠÇEA)OU‘›Q”Ÿ²²2///zk|ùò¥&2ð À"ÿù%¢Cq­ òóóñ{Y[[“@A šîSüx•ĵšƒ>ù»ª$''S•œœLôõõUš‡/^˜˜˜(wøKBhôèÑ|‹Ð*=ª¨¨hllljjjjjjþ—³¬œ£CšiTWWWWWsÑMÁB S^^¾hÑ¢––>å§Ÿ~òóóóóóûúë¯5ú Wƒ¤¤$¥qöíÛ§…œè„†††áÇûùù 6 UtŽVʪU«rrrt €?zبUJTŸ‹/–””°Ç9|ø°Jû£€8B´c.]ºÔÖÖ†¯ÿóŸÿhâh@QQv©Ð¯_?Á×9;w–»i¿¬¬ìÁƒøÚÃÃñù!äàà 7ÁüüóÏ,‡¡®\¹rçξùUŽ™™Y=¸Ä|ã7zsssVV¾ÆÞ4£‡•rþüy|akk»lÙ2 Ù.è3zبUy=+ÑÙÙYî O\GuíÚuàÀ²,--e)ŠÚ·oß'Ÿ|ÂòÄWø“ }@´¬­­322ðu¯^½HxEE¾èÚµë¦M›t³öOŸ>}ÈZšÎ† âââðõ‰'äÎ\åòìÙ³“'O¾õÖ[Š"pÙ¢¥+W®\¼x±FùüóÏç΋²²²ÒÂã^y)O}«Eù!²+...::Z9k?(’ÿ Ph ôM2è/¿üòË/¿” ïÒ¥KMM BhÆŒ[¶láž`RR‹«¶¶öøñã<ò rÐH$Ç— —J¥øÂÚÚZ»9ØHJJbQ`½2cû÷ïß¿]çâÕAòÔ·JQ”]ÜQ$ÿ Ðè›dx•¸|ùòÝ»w‰{‡jllÔr–€W(°ž>}Š»wëÖ=Îo¼Ñ¥Kú­ÖÖÖ›7oæååݺuËÄÄÄÝÝÝÝÝ]îÐX[[‹w}››››ššÊF¨¨¨hkk‰D½{÷æ’ó‡R%‘Hzöì‰3™žž~ïÞ½7ÞxÃÞÞ~äÈ‘t÷j<ÈÊÊ*--õðððööfw—V__Ÿ••U\\üàÁ333+++{{{†ƒž–––ªª*|maa!×m=Ž¥¥¥Rwo˜âââüüü¢¢¢gÏž 8ÐÕÕÕÉÉIöüTkk+>‘gdd„jnn>}útaaa]]~G ¥Ï*--ÍÍÍ---555uttôóó‹ÙL­566^¹r%''çîݻݺu³µµõõõ•h677S%‰ðÙ4œUbýªC‡ÍÍÍ!ƒššušŸl4üM!ôâÅ |ªNQíTVV¦¦¦–”” 2dÈ!:ubyw¤zqé3#FŒ8{ö,úwÂ*×Á_nnîÝ»wBFFFîîî—.]Òv.•ÑÒÒ’ŸŸ_PPбcǺ¸¸(ŠÙÖÖÖÚÚŠ200H$¸o>þœDxøðaÇŽMLLºvíÊøïãÇóòòrssŸ00!Õ©¤!,ûRMMMˆ¦À‰DXv±œºÕÚJÚ€X,–»m§¾¾þÙ³g¡N:uîÜ™åÅ›››?~Œ¯{÷îM<Ža*++q±È­<ÓÿÈÿtZZZ.\¸PXXxÿþýÎ;»ºººººöéÓ‡%o$ªŠkòDMôtŽ|ØÅÅåáÇœë%%%Ó¦MûüóÏa;xþüù¤I“–,YÂ)‚òòò3f|þùç°Dg'#44täÈ‘ ‚ä'’ÿEpWZõ“‹¢jÿøÛo¿ÑÍj ¦¦æÀŸþ9§VHÈ®™L2eE†®  O˜0AQ!Ö wîÜqwwŽŽæ(;ܸq£ÿþ°Ddé§1µ%11±[·nr×NAAAŸ~ú)»E°»¸Õ«WÏ›7¯¤¤DüG)UÓš7o¾iÓ&ø¢iÓ¦±ý{–””LŸ>F600Ø·oûÛ‰òN~qqqݺu‹ŠŠâ?’––öÙgŸ>|XÑKÄ7aŠÚ;aNzÕy†a8½›ºR‰‚,?æöë×NÄÄÆÆ²o%$$@+{ðàANNûîßÿMvvvT*w"„lß¾}„ ôD'‡k×®uëÖ- g£TwÍG-]˜šššùó燄„dff²¯ýôÓO3gÎä?¢–Lƒsrr Áùö·oߎ1bÉ’%b¾¢~§C*ö BCC‡ʩؔÒÒÒ}ûö 0ìÜQ$WW­¥²²ÒÏφoß¾ššÊsâÄ ÚÐèÙÿ:M‚ ò‘¢ &Ì›7.~Ž=Ú»woN˜4ÊwÓ¦M6l á:Œ7ÎÅÅåÕ«Wqqq‘‘‘•••EEEÓ§OïÝ»wØàܾ};MÆðáà ÿóŸÿбùÅ‹ãÆ£q<<<ºwï~÷îÝØØXú±aaaC† ÷lÞ¼9%%…†ÝÜܬ­­‹‹‹¯\¹²oß>z|ýÛo¿:uª™™™®®îĉýõWBHLLLnn.G[äÝ»wçÏŸ§áÏ>û¬Ö¯˜7oÞÓ§O !†††C‡õòò²´´|öìÙîÝ»}º¤¤„£¦zãÆ ºÌ6225jÔæÍ›ë'¡<^¿~íááê$öööýúõ322Š‹‹»qãö×ú’Î;‡„„”””@Á˜››ƒzHqqñèÑ£³²²è¿>>>}ûö533KHH8{ö,=xµtéÒõë×óß«D™LÖ²eK-@ÙšöùçŸGDD?~œrçÎ5kÖ,]º”Þúá‡`éµzõjþRDÙNC$………ãÆ£Êh2™¬gϞÆ ³°°¸yóæž={èZtÆŒîîîVVVüÇk-jï„9´oßžúFزe Uh;v¬•••ŽŽÕÁ”ˇ8¤šššº»»Óg—.]„'ÏŠ0aüMÇxÿÇávvvÆ sww/**JHHصkWuuu^^ÞôéÓSSSùÚgJu×|4ÝÒù,^¼ŽÄ6lØpàÀ]ºtIOO?{ölAAxElÉ™² kkë‘#G6mÚ4**êÚµkÕÕÕ Ã¬\¹rРAr#±©ßée{6EEEóçϧ‚Nƒ¯¾úÊÅÅ¥qãÆýõuk˜––¶jÕ*ãT©®Z Ã0mÛ¶íÕ«u_öã?râ€þ ŸŸíñADU4¡BÈ0 ]çBÚ¶mËWy°¶¶¦w?ûì3z%??ÔœœœÞ¼yÃŽøða0×2vìX¸z=!!!ü4°OR¤¦¦Öšf¶Š!dúôé ÓQXXÈÖ&kРAxx8<øäɰ2gÎö;a™çããÃQ0LNN†Ë©S§èEjM€Â×2Ø¿?Ü}üø±ðçTTT€u Ž®PyyùСCé­^½zÁu;;;xÓ¦MŸ?·ª««A…rüøq¸•jÅÅÅp+??ßÕÕ•ÞÒÕÕ¥ú Ì++µmÛöõë×ðHYYY¿~ýè­fÍšÑÊÃ.¶j!xäœÛHþ»£f&::j‘‹‹ ±"Âzœ1Ê÷ ÀÉ/N ÖÔÔøûûӻݻw‡ëÊæ¼0ô•U!$„TUU”ÜÞÞž3//äqwîÜaû"DBAšP…2iÒ$xþüyBBûVRR=ÄŽ¶fͪæ```pîÜ9˜ÂRüüü`*qïÞ= %èØ±ãÖ­[©•bBH£F ©„yóæ±m[X[[6Œ†é¹ Ã0iii4üÕW_q,Œ:;;áw8ÚЭ[7{{{曇mv777áOxôèµpOá—Ð×ן7o ƒâ ‡íÛ·³Ýcéèè[k@Bv‰¤¦¦&µ68µÓ A8¢ÈÑ"d†½«¹4ÄÇǯ«_~ùôª ¶nÝJÃS¦LY½z5Ûºù7ß|C¯«Èëׯùåž;wî_|Á¾kbbræÌÚ⪫«¡»c£¯¯ ÒÔ´´šÖ¢E‹;vÐpEEÅôéÓß¿?mÚ4zÜÀÔÔ444”cßiˆ$;;VGÞÞÞl9#!dذa P£ö;a5ò!©p„êíÛ·ô\-!¤²²’£É.»Û·oÓÓŽ5òððx9H7lmm9‡×úõëçææFÃr8ñݵToé6nÜH• uuuÏž=ËÍ;tèpâÄ óÿTÉ4ggçU«V±¯ 0Ž…&%%ÉUòêw:¤^ÀL›‡‡Ç“†L&I»"©’óhàïëëKG„û÷ïÓ³ê@DD=7jooúƒ‚ ˆºÐ”kÔ¨Qp(‰3ó€iGË–-?ýôS>sæ øøøÀ‚‡ÍÌ™3a–Saͱ`ÁΤ}°œ¿ Óª¹¹¹pQ&“íÞ½{ïÞ½¡¡¡pª(..–«—+èèh¶©ˆÂÂB80/FòÂ>o¿`ÁöN#!dÈ!T„)×lAß¾}Ù: ‹Ù³gÓ0Õ@$„deeÅÇÇÓðªU«øÖâ›4iû퇢 .Ð@¯^½` :´OŸ>––––––ÒÖÊV?ÕY¸p!ß«#L¾Á—´ìú°áTdd${ê|ýúujÀÅØØxĈõ“8y?~¼°°¢««Ë>ïüðê«uÄÅÅAn@;bÓ¬Y³‰'Ò°Ü.îË/¿„U+ªÔ4ooï)S¦ÐpBB‚½½=˜üÛºu«"ñ†x®\¹6¿æÎ˰páBÚQ@S êê„Õȇ8¤:::‚r"Øä¾qã-S___z°ˆm ô $Üè`{éÌ™3|SSÑÑÑt€›6mÿY‘ݵ4Toé@¾À—Ô´k×.00PdÚTÉ´uëÖñ%e‹-‚‹Â ¼~§CêeÔ¨Q{÷îÝ»w/ˆ×ٰݪ伖ciiÙ·o_æìZÁ–h@AÉhÄ!ÄÐÐpüøñ{öì!„„‡‡Ã†$aM¾ýüü貊aSÀÄŽƒ©©©‹‹ Õ´cXE:uêĹó]™LþžXrì¿°ÿÍÉÉyöìÙ³gÏž>}ºcǹ€€€E‹1 SYYyâÄ ØÍ;yò$õ¿Þ A1X,,,ììì¨|***ªU«VÞÞÞ£GîׯŸ¥¥¥L&SäŽÂVüa{hùùùùùùM›6e³·µµeËï€îÝ»ÓyÌ£G†‘ÉdPÜŽŽŽüø2™LE_ËJU?µÀñJIù Í*-»D¦¡U«V`ðHëÖ­cãמžž-[¶ÌÉÉ)--=yò$4˜ËŽ9’¿zT#ƒ •àL l§;::ÚÚÚòc¶k×®S§Nœ½eeÓÝ»w—[[!¤u5--­ººšS?•’·ªXÓ6nÜCŽàÎÌßß_QÿL”é4Ä[~-·¯ðññ‘ëèMEÔÕ «‘tH>|øÎ; !±±±³fÍ"¬óVC† yÿþ=´,°à.l‹Ò¿jª²¼¼|üøñvvvŸ}öÙ€zô衯¯ollÌ÷o ˆì®¥¡zKgS^^ Ç8|úé§pjRÉ™f``ЧOþu==½N:уҵî6ÕãtH½888€÷UBHYYYFFý–¸¸¸ƒòQ¥º  %ƒ¾ŸŸµvöÓO?Ñ‹¹¹¹ ®û2BA>b4%À"„Lš4‰Î¶Ÿ={–˜˜Ø£GBHJJ Lï`ß,++ ¶Ùåú¦XXXÐ@°äÚ¦4kÖLÀÚ.ŸÊÊÊ;v:t(%%EŒ1+++º_36X¥ <˜­s'Àž={† B ËÊÊ>LMZtêÔiðàÁ&L€}3|#åö¤---ÍÕÕ•]µã/+++)))**‚|»(U ⫟ZàË4 !lM4Š„ì?¯eŸ©Q„"wNjDWW×××—š' £‹†å‘]ÓsÙ¡C‡~óÍ7âãúK Õ·k×N],1]\EEųgÏ81ä£bMkÒ¤ÉÞ½{©Ez¥M›6Û¶mx‰øN£ÖÄP4­[·¸«5vÂjäCR‡ FXp ,þxyyPÖÅ‹'L˜PUUÑj`?Þßߌ4¥¦¦.Y²dÉ’%ÆÆÆýúõ5j”¯¯/GqÙ]KCõ–Î&==vÅuPp¼V$gZûöí å¾ÓÁÁ °àèÇéÚ¹wïÞÏ?ÿ—‘‘ÁÔæ»P•ê*€– úãÇŸ7o^uuõãÇ“““©6è±cǨÕvGGG¶©DAQM©B<==Á Œ °ˆýä“O`%ö;!Ôm¶\@¡€î¼ÕŠÈhrX,‰?C9þ|çÎçÌ™ÃÖ…¡€…]>àRçÂ… ÔVTQQ졉—¼P'P#GŽä¤ùáÇ›7oöððpuu廽'¬½hlí!j•CY¿òòrvqkÎ,‚øê§DN=%d—¤äÔ3 ¢:wî­ÀW®\¡æá5jã´0;"à×OÂÒ‚T{1]‘WôJT½¦õèÑtÖ!®®®Â~ÅwâL«{û)êê„ÕH½©JŤ€&`VVÖãÇ«ªª¨fk»ví¬­­ D£ÑcY t»ÅÙÙY Ù]]ݬ]»¶U«VìëÅÅÅgΜ™={v»víÀr6Õ›³ª·t6l£HrUA‰2Ÿ#9ÓÚ>ÔÉZ[wýN‡ÔHYYÙôéÓœœ8ðìÙ3ŽôJî·¨R]µŸ–-[©gÐ"DýAADChð–ŽŽÎĉé9ùðððŸþ™°fÛìi{çÿýû÷lÓªl@Ô"wû”ÇêSÝóðáC0‡allìååÕ£Gkkë®]»:88 üêÕ«` Â66Á&;;ÂÔ’4»°¾ûî;áÄèêê6jÔˆ}~MѦ®êˆ¯~u‰„ìÒpŠ4BŸ>}Ú´ióâÅ‹òòòãÇO™2æ²£GÖ\¡K2Y`%Én5Ò€^NÀ¤.[šÜ¾}{U~NõšB—‹”ˆˆˆ“'O‚/<>â; ñ@_Q÷uF°º¨÷!•(?ªR[ìT1ðÒ¥K¹¹¹TÌáååEqttlѢś7o¨,P8ªõøEWWwáÂ…óçÏ‹‹;{ölLLLRRRuu5½[ZZbffºA½-Ýd áè¥z'i™¦¨uBÀ~™pëÖ†éºøî»ïèYHŠÝÀmmm;uêäââòàÁ¹:ìÚY]Õ…ŸŸm¿GŽùùçŸß¼yCo¡ AQ/`B&MšDgÛOž½cÇš?·nÝŠ‡pŠ"m)ÈR™LFÕÀÆ‡ŽŽÎ²eËĬ3ÙÅýüùsð=ÄæúõëÔ¤k÷îÝåNÙÅ ²úÕ%²ëCD&“ùúúR·aaa“'O†#Z8—µµµ¥3ojòI.ªw&Píåšz¡€Ž………ŠfÂT¬i'OžÜ»w/çâŒ3ÜÝÝ)ìˆï4Ä™¦(ÿóòò¨K»Æ ;­SµwÂj¡~‡T"©! >œ °bccÁP7`Éd2///*ݾxñ"°”rò §§çååE_øîÝ»¨¨¨C‡ìmÛ¶Õqo¯Þ–Î.ÊÌÌL¹Fµ$в™öäÉ“²²2¹Ýüº°$N{¦C*’½yófvttŒˆˆà4Ž“PÚV]ÕŸqãfÏž]UU•žžž²¹nݺɵ,‰ ‚ ’Ñ  !!ÄÑѱk×®4ÓŽÞ½{³‡|R€:W¯^ÍÊÊ¢ax4ãàØÿ©/ÀœÇ„ æÎË™®¦¤¤(z¶ÓÏŸ?ÿêÕ+ æÿüóÏÀÀÀÀÀÀcÇŽ±¯;99-Z´èæÍ›p”ýæÍ›œg©I >Œ®]»Rµ˜O×ÔÔ(úœsçÎÑ”¬\¹’Ò¸qcP…{(lrrr¼¼¼FŽ9räHjcX"«_]"!»>P@‹0**êĉôÄA“&M† R¯é’Jbb¢\d™™™ª ‚Iüõë×-Õ ©ª^?U©ioÞ¼¡ÂnBˆ¥¥å¿ÿýo~ýúupp°¢_ßiˆ¾âþýûr”­ZµŠvsæÌQêÍbP½V;u6¤y£jEEÅ•+W”M3§ºt鱓ÿ°wIe‘Íš5sss~gaaá´iÓƒ‚‚*++áz“&M|||ÂÃáJ'''s<«hõ¶ô–-[‚&odd¤Ü8ŠŠ˜ƒ*™V]]-×abnnî7hX‘JýN‡ÔÈíÛ·Ag0,,Œ_‚ð¥€6WWuѼyshËaaapæÍ·#‚ jG³,ša„‡‡Ã) ðÑ8;;ÓÀ¶mÛ***øï ¥sssð†–ª’““9ñ_¾| »dõh[Èu<§ÇùŒ1‚Z(++ ¦~‘,--k5Ø gëÖ­4 SU[[[Ø]¿~=ÿ‡***fÏžMSòòåKzÑÝÝöîÝ[ZZÊyä×_¥õôôį\DV¿:CZv}ˆ¸¹¹Ñ ùÊÊJzq̘1J9@¨\\\h ¼¼œœæ°aÃjŒV ‹+,,d«Ÿ™™™à‚mܸq*þœ*5-88Ô‚¶nݺ`Áh†ÇŽSäôJ|§!ž^½zÑ@yyùîÝ»9wß¾} Î×4aXMõNXÔÍJäª+V¬cx›CçÎiW‘‘AE;v„12sÿþý4C† ©ÕÜ›¡¡áÁƒCCCwïÞÅþIjjjj5°­^ÔÞÒ¡ƒÚ»w/?ÿsrröíÛ'&a*fš\G‡›6m¢:¡:::¾_ëw:¤F¨1G ÿlQiiééÓ§9µ¹ºªè7oÞ ¢j-DªkàííMÖUVVR1œ«««xûz„ââb‘£6!äèÑ£îÿdzgÏ4ðA‚ ˆ–¢YX„6mÚxzz²çpcÆŒá{´qwwŸ0a=u|ôèÑôôt__ߎ;¾}û6>>þàÁƒ4š™™Ùìٳٯ¢Ót†a¦NÑ¡C‡GÅÆÆ²gÞõ…‡‡5ꑜœìäääïïoooŸpéÒ%QÂÃÃ[·n=hÐ öø¤I“8çA”::4`ÀkkkºFõòòš7o^¿~ýÚ¶m{çÎØØØˆˆ:¶²²‚óPl|ŽW±mf}óÍ7{÷î}üøqMMM``àÙ³g½¼¼LMM3228ŠEÓ§O‡}~GGÇI“&íß¿Ÿrüøqww÷#FtèÐáÁƒÛ¶m£ ÓÓÓ“¼^DV?a@Ÿ%55uøðá:uš5k–d·Ð²ëÅÏÏ}ú¯iÓ¦Ÿ~ú©Ro?~¼p[[[þ©ŸÕ«W‹¬9»wïž6m!dýúõÝ»w¯©©)--;vìäÉ“ÝÜÜŒŒŒ.^¼ªÔ–¸±±±ƒƒÃ½{÷!ß|óÍÅ‹;wî<þ|BȺu뢢¢ª««ß½{7tèЙ3göìÙS__ÿÎ;ÇŽƒe[   jÚóçÏA¯iÓ¦pˆµ}ûö?ÿüóW_}Ey÷îÝ´iÓΟ?Ï÷Ç*¾ÓÏš5kNœ8QUUõþýûáÇOœ8ÑÕÕµ¢¢âرc—/_¦qF%lK P„Q±ÖRõôôÀÞÐÍ›7{ôè1dÈŠŠŠøøxš{Ò>|8[ Ì`B ´k×.ÖÑÑ©e~üXQÑ××ÿâ‹/hØßß_|‚‹‹‹ÙºÃ¯^½bß=tèÜêÕ«ÿq¹ýMM (^)bĈr_¢Tw-€[º0/^¼ÍD>£Fâ§\-™vøða¸.pÀêСCìÔÊmSõ>’Ð]+B®f(ÅÀÀ`×®] @éÑ£‡„œFCƒ>ÈÁƒƒƒ¢æ2!„S‡A2N‘Édì»`¼Œòþý{¸.¬|ÊáÀô)8ýGIII©5A5’•••]VVV^^N=S. r™½RÁ"77777WŒlª.T!|||ÀyMûöíí÷nÝ:>>~Á‚ü}BȰaÃùs¸Õ«W¯\¹ÒÈȈ}±aÆK–, ƒßeWÄÑÑÑáM‡»r_%÷®‘‘Qdd$ÿÔ‰¡¡á×_=kÖ,Xüó‘Édt£‰Â>c/’O?ý422ŒµsèÝ»w||¼ÜãW»víš7og=¯««|á¾+"WW×Û·oËU377_ºtill,§Œš6múŸÿügÉ’%|£HÝ»wŠŠš;w.\açªÜ°@ùЬ~4kÖlÉ’%üj)\a’'!»“ "C™L&¬Ô ðNö7ò¿Wîƒb¾Bnd¥ä?2wîÜ .ð]ìÙØØÄÄÄÀÚCLõ VäëË/¿¼råŠ ÿV£FÂÂÂ~ùåvn³«–„Tª¦9rì³ 8žMd2ÙîÝ»AJµpáÂüü|v¥: á¢ç|éøñã¯_¿Îï* .\xóæMöù#e E¸E¨Þ +z¿RÍ–ƒF‡T›Ë—/ƒ©xÀÍÍ-&&”m•JvÆ aÚ©S'Î4`ÀH¡\ýA¹•D&“ýç?ÿQt ÇØØxÅŠ`äžý ²ÝµjléÂXZZ^¹reòäÉü4Ï;÷ðáÃôUµ”Êf`ggÃW³µµ=qâ?âüœVM‡$t׊ üý÷ßÁ¸>`oo7}úôÅ‹s䜗‹¦}á˜pWWW—ó™£G†¥W¯^lAQÜ¥ ú*Žþ‚ ȇ‹L®k'ìƒÜÒèСÝüé§ŸÀ2‹"^¿~œœœ’’òìÙ3[[['''GGGE¾Û)ÔENrrruuu»víœUO³‰¿uëVzzzÓ¦M­­­‡ Ö¤Iz«¤¤äÚµk999îîîœeÞ¾}ûè¶aãÆ_½zell,á×ËË˯_¿KM5Ó4ØÙÙñ•n:wîLõ>ìçç—™™yæÌ™ÌÌL]]]{{ûž={Öê2)333)))))©¼¼¼yóæ666#FŒ¶Û]YYy÷îÝÄÄÄ¢¢¢Ž;ÚÚÚvîÜYîŠK2JU?EÃ0ä¿-qSõ|F„å–º`ÅÅÅQY‰žž^ff&ŽÓâ4h51gΜM›6iúç8kQMÿ\Ý€ÕA4ÇGÙi°©ãNX ا!uG€U¿‰Ñ–ˆ ‚ ÿLêW€U*„`¨ÈÇǧÚâyðà®Éd2¶]D)°ú!" í성OCþihgKDA¤îÑ”ÆJAAÁóçÏÛ´isìØ1°ø¦=nݺeii™›› VFŒ!ÙçÝ?¬~‚HF ;aìÓ ZØA©_4%À:wîÇ®ç°aúwﮡŸû˜ð÷÷g;Æ–Éd’Í6ýcÁê‡ ˆd´°Æ> ù¢…-AAú¥.T !mÚ´Ù¸qcÝüÖGÆ·ß~ëææVß©ø°Áê‡ ˆd´°Æ> ù¢…-AA:FS'°Ú´iãââòþý{+++GGÇï¾û®VŸG¥wïÞ„CCC{{{ooo__ß:ûé#FP?Ö|oÙXý¤nøh: 6õØ +û4¤îéÐ¡Ãøñã !VVVõ’-l‰‚ ‚Ô/uá…AAAAù ùø½"‚ ‚ ‚ ‚ ˆdP€… ‚ ‚ ‚ ‚h5(ÀBAAAA´`!‚ ‚ ‚ ‚ Z °AAAA­X‚ ‚ ‚ ‚ ˆVƒ,AAAAD«A‚ ‚ ‚ ‚ ¢Õ  AAAAÑjP€… ‚ ‚ ‚ ‚h5(ÀBAAAA´`!‚ ‚ ‚ ‚ Z °AAAA­X‚ ‚ ‚ ‚ ˆVƒ,AAAAD«A‚ ‚ ‚ ‚ ¢Õ  AAAAÑjP€… ‚ ‚ ‚ ‚h5(ÀBAAAA´`!‚ ‚ ‚ ‚ Z °AAAA­X‚ ‚ ‚ ‚ ˆVƒ,AAAAD«A‚ ‚ ‚ ‚ ¢Õ  AAAAÑjP€… ‚ ‚ ‚ ‚h5(ÀBAAAA´`!‚ ‚ ‚ ‚ Z °AAAA­X‚ ‚ ‚ ‚ ˆVƒ,AAAAD«A‚ ‚ ‚ ‚ ¢Õ4ÐÄKoÞ¼ùìÙ3 zxx˜››ÇÇÇß½{—ââââêêªæÄ!,………‡"„˜ššúùùÕwrþ—cÇŽ½yó†2vìXssóúNN}RQQqìØ±ÔÔÔ§OŸêèèüñÇúúúñKKKÏœ9Ã0 !¤OŸ>‘«ªªN:USSCquum×®ûq¥hÞ¼yÿþý !/^ÌÍÍ…ëcÆŒiР–.1;;;>>þupp°³³£á‚‚‚èèh4hP“&M”MRgüý÷ß?&„ 4¨cÇŽ"ŸºsçNllìÇóòò¼½½}}}5™F¤¤âLJvŽŒuFYYÙþýû†ÑÑÑ™6mš®®n½$ƒa˜“'OVUUBmmm"WVVž:uŠ^t8ƒ[©©©÷îÝ#„Ž1BéV Ü8q¢ººZ&“1ÂÀÀ€R\\|öìYBHãÆ?ýôÓZ_RQQqúôi†ad2Ù¨Q£ôôôÔ˜¼™3gfgg=:((èøñãt.aiiÙ«W/¹¼yóæÒ¥K4lccãää$7Zffæ7hØÍÍ­¢¢"99™þkbb2dÈT±«L&óööÖÑÑêSïÞ½;~üøéÓ§333³²² ›7onnnÞ¾}ûaÆ >ÜÌÌŒÿ”*KÂ3g΄‡‡[ZZnÛ¶M&“©ú*§GòõÖ­[iii„[[[GGG ¿^÷ÈY4×Hë†øpùQñVŒ’Œ?^ZbÂÃÆ™:u*ý7$$DÙŸF>bRRRhÅhÓ¦M}§åÿò‹¨¨¨úNK}òüùó=z°›óû÷ï…¡“ÊáÇ…#gggCä-[¶pWŠ.]ºÐwvéÒ…}ýìÙ³µ~æâÅ‹Ù,X°n]¼x®ÇÅÅÕú*¤ñöö¦%µk×.‘lÚ´‰=Wc=R/H(Äíë öZ´   ¾’QVVÉX¶l™pä/^p†3`Á‚ôº¡¡¡&Ó«fÞ¿_”––F/*[3ÙEùâÅ 5&ï?þ ¯½xñbyyyÆ é¿ŠY¿~=$ÆÃÃCQ´E‹A´£G^»v-B¥ò)E,[¶ böèÑ£²²R¥Ô$eee?üðƒð–dƒ æÎËoƒª, hX|½,Qá©   u}ˆ¦‘Û~5×Hë†øp©^²²²²³³ËÊÊÊËËËËË+þK‚\fA¯T°ÈÍÍÍÍÍ#›Òja?¢å”––öéÓÇÝݽwïÞ¯^½ªïä \~ÿýwwwwww÷Ÿ~úIÓ¿µråÊÄÄDMÿŠF «5Α#Gê %l_ÚË/æÏŸ_YYYiÀú€ü“Áú¯ˆ>gTœÉäææ~ÿý÷„OOO}}ý¾}ûÒ[÷ïßÏÏÏ—ûÔ¹sç |õêÕÂÂB¹Ñâââh@&“yyy¹¹¹Ñߢ̜9SÑûoß¾½jÕ*622úóÏ?k=^_dffº¸¸¬^½º¢¢B ZUUÕ¦M›:uêtëÖ-uý´««ëðáà ! .|ûö­º^‹¨º\n Ñ ¡½½½ÜC¹×®]£fÍš}òÉ'ü-[¶ÔDz QQQqåÊ.**ªßÄ |ÒÒÒh£kß¾½¦ëêÕ«4`mmýÃ?˜››iô7n,·ŸyþüùË—/iØÉɉŸŒN:É}áñãÇ·oß.°ÇxëÖ­GIM¯Ò`ûÒnܸQ]]MÃ_~ù¥§§gÝk`}@þÉ`ýWÄGŸ3*Îd¾ÿþ{j+`É’%ôÊ€Ο?OaæÊ•+|UÍÒÒRÐ$„TUUýý÷ßp䨬¬„#BÎÎÎÍ›7'„,]º4222))‰’••²oß>΃UUU°#²fÍ8˯mäåå :ôÁƒp¥Gnnn]»víСCzzzJJÊÕ«WAh•““3hÐ ØØX{{{zEÅ%á²eË"##óòò¾ýöÛ½{÷ªþE¸DÕu¹Ü@¢!ÖòåË—/_ο޴iÓ‚‚BÈ„ ¶mÛ¦‰ŸF¤^¿éÓ§×Á/¶mÛ¤fl6nÜBÃçÎ?çÈÏÏ?þüÈ‘#EsD ù(êݬY³-[¶ÔobA>>Ú´išZµj¥–w¦¤¤ìÚµ‹âææv¸âããù¬K—.±uB !çÎã °’““KKK9ïÔÓÓÛ¿=èöïßïëëË™W¬]»–J¸! ˜;w® Ÿ¨Y¦L™Ò+“ 6qâ0 ³aÆýë_T$÷öíÛ)S¦€i0—„®®®C† 9wîܾ}û‚‚‚úôé£âÕËuéÒ¥4ß,--Õûæ:FA$€*„‚¨j•Ò¦M›úM‰*‹¨êRÑ*>Žê ¢µèêêöù?ÔeÎ|ÅŠ ÃBæÍ›]\\š6mJÃl¯,[PÑγƒ ‚°ƒƒ¨ž"á½{÷V¬XAÃMš4 U—yrµ“””túôi¶±±¹uë_zE‘Éd_ýu|||‹-è•ÄÄÄÈÈHu%㫯¾"„0 óÃ?¨ëuL‡hÅþÐ(i¢‘"ˆ´Tãš Ã0—/_¾ÿ~NNŽMÏž=mll„»ûÒÒÒÛ·oߺu«²²Ò¢oß¾’O~>{ö,%%%---??ÿ“O>éÒ¥KçÎÁ$PXXHOn›ššóß“Mý³´nÝ.VUUQµê±¥¢¢"**êñãÇÅÅÅNNN®®®r½ÚI{Šýøýû÷“““ùÄÁÁA©¤Òþt=ôôôhõnР¿“0ôˆÉ áú ¹ãRÔ½<ØÅÅ…óeûpi=›"¤¢Èâ`†–©®®.5Cóøñã«W¯fddXXX¸ººvéÒ¥Vó4"óGõú¬ìȨޖ+~þ ú—²?A|HÉÉɉ‰‰ÉÈÈhРA÷îÝ»wï^k.©qÒX—(•3oÞ¼INNNJJzûö­ -;÷+5]T–²²2ð ]SEEÃ02™ŒÎTœÉܺuëøñã„33³qãÆÁuþýûGDDB***8Óê<‘òÃ?¬Y³†a˜ôôôÇsœKÂQ}}}ö­“'OÆÆÆB²²²æÍ›·ÿ~BHuuu`` “Ú´i“´Æ(¾hŠ‹‹i6kÖÌÈȨ¦¦æòåË)))2™¬Ö“_kÖ¬ð/¿übmm-ÙÕÕuÕªU3gΤÿ®X±‚š¯RáÇ[YYedd\ºtéæÍ›Ý»wWËkÕ‚È%juu5uQÚ A¾§Tõ—DÃk.É´n*­´’Hõ;Gú'¢ /„Š€Iypp°@4¶‹‡7nð5ÃÍÌÌ®\¹"÷Ùœœœ#Fpæš 4;v¬²òêÕ«éÓ§ó;}}ýÍ›7s";–Þ?>ÿUì£È>„ë0 ‰‰ c˶(þþþ………œ·I{ŠrâÄ ¹¾aÆeffr"Ó»2™Œa˜7BÓš4iÿ%„®]»r^²ÿ~¾@­mÛ¶P”ó¿ýöÛ«4!¤Q£FK–,çÄJ98räˆÜ®§W¯^ì˜lÓï޽㿠lsNœ8.²½þþûï|AÀÈ‘#ß¼yÛR ™Ÿ]»v•[@ÿó?ÿ#2ßDV•Ë—/Ëý!™LVRR"ü*z!TÄo¿ý1³³³b‚ÂeË–AïtìØ1¹‘.\H#x{{÷ïߟ†5ä…ðþçäæ*§}?ÞÓÓ“ÍÈÈhÊ”)üM9xð GÌaaa±qãÆ§OŸ6jÔÈÄÄÄÓÓ“óˆøFT+ʦ900Føý÷ßïÞ½Û¯_?Μ Y³fÑÑÑrëùóçäˆ#]]]ïÞ½+Þ[Ù„Íwß}ÇŽ&aèŸÂõAZÇ%нÿüóÏìÇ•íÃ¥õlŠVˆJÇÑ£GiOOÏüüü±cÇr–fff‘‘‘ŠR¨Tþ¨RŸ%ŒŒjl¹Œ’óU¾”ƒpýg{ÅÊÍÍ á#ttt&MšTUU%÷åêš4Ö‹B‘#EAA?š©©©@¨Tq+ë…077·[·nðȶmÛ†yþü9\ÉÊÊbTžÉ̘1ƒÆÿúë¯9·ØšàW¯^eßÊÌÌ„[=rvv¦áM›6q^RÎ~ýúñ===½`>yò$Ã0?ÿü3\7nœ˜¯à£TÑ|ûí·ôîòåËÓÓÓÁ€}­,55ÚlïÞ½Å$¬ªªŠ½»píÚ5È"—„p=eÊ1)‘€F—¨`Xã‹/¾`_WïpÉh~Í%¹‘ÖM¥•öQÒ)9ÏÕ^èõEýz!ÔjVïÞ½#hܸ1¿güûï¿4r;v옚š*2©¹¹¹Â[ &L`χ`&-ׯ*{fÃNt|~~~Š$µ666œdK{ª²²rþüù_Ô¨Q£#GްaÏHØÇ¡‰bV—.]àñââb˜ÂÊeñâÅ555ì_¬®®ëE|\]]i@¼KX½Y³f111&[D7îýë_ô®¿¿?¿8™'„´jÕêÆìW)[Á”ÍOÍp n€…Qªª°¥6Þ¿/üCÚ#ÀZ¾|9ä­ŸŸŸÜÈ:t þúë/ØkÕ+<<\n–²Û×Þ½{…·wlllèô¨¨¨˜3gŽ¢ø£F¢gggöSJ5"a$¤†___E{S 6¼xñ"ç·nß¾­HÝÏÌÌÌÊÊŠ†k`°’»è% =Je…p}Öq tï À’ЇKèÙVˆÊÇáÇé-;;;ö¢šL&[¼x1'yòGZ}–62ª±åJ˜?Hn¹|„ë?[€5zôhE) ¨®®æ¼Y“Æz`‰)nܸƒ—\ ĬUœ.Ö*Àzóæ““Äß°a½Î.Ê/^0ªÍd†ÃMgΜáÜb[%_·nûÖÎ;éukkk†ÕŽ1‚--- Þ°|ùr¹ سgÄiÕªU||<ìq¶lÙRîÖ¦0ŠjÔŒ3ØúkµV°7BäóçÏ‹L!ÛÒž={b*%ÀŠŠŠ¢‘ÍÌÌ8ªºÐèž ‚‹ê.ëfÍ%¡‘Öe¥•öQÒ)-ÏÕ[èõKý °´Z…üª <¸wïÞ•••111ôbaaá´iÓîÝ»‘>|8xð`zDSGGÇÇǧG×®]‹­©©yòäI¯^½âââÄhÌ›7ïéÓ§„CCáC‡zyyYZZ>{öl÷îÝtØ;räÈàÁƒÕe¬šZÞ100ðòòòôôLMM=wî]±§¥¥ÇÄĨøÔ¦M^hÙ IDAT›6lØ@Ã:t7nœ‹‹Ë«W¯âââ"##+++‹ŠŠ¦OŸÞ»wo¹&Á{‹L&kÙ²eÇŽCBBJJJþøãz= ÀÜÜœ}:88øÏ?ÿ¤a›1cÆ´nÝ:%%%&&†ÎÞV®\™““o „,^¼¤ 68p`—.]ÒÓÓÏž=[PP ¬ÒÖÇ¡³³³6l˜»»{QQQBB®]»ª««óòò¦OŸžšš*^«Nøç!FFF&LèÚµëË—/Ïž=KkKVVÖ_|‘˜˜û*˜Rùøüùó¨¨(*$²¶¶¦3ûÎ;×ú!JU•öíÛÓLÞ²e m}cÇŽµ²²ÒÑÑ©U+M{¨ªªòóó£nNŸ>]RRÂYqݸq#==bdd4jԨ͛7k4=;wn_EEEóçϧj›_}õ•‹‹KãÆ322þúë/ÚI¦¥¥­ZµŠÔuëÖÁ¿ººº®®®={ö|úôitttiié©S§ø)Qc#’–fŽÉôìÙsÀ€ÑÑÑôðQIIIPPÐãÇ!òëׯ=<<@³ÆÞÞ¾_¿~FFFqqq7nÜøßÝqøûû;;;'&&Rm‘V­ZùùùB¼¼¼ ‹”z”ÍŠZ냊pºwö<^Ù>\C§´BTe&ššJÖÖÖ#GŽlÚ´iTTÔµkרàcåÊ•ƒ bš“?€RõYÂȨÞáO•ùƒR_*ñõÿäÉ“„–-[úøøXYY=zô(<<œV¡¿þúËÛÛÛ××—Ejœ4Ö µæLqqñèÑ£³²²è¿>>>}ûö533KHH8{ö,Íù¨¨¨¥K—®_¿^«âtQ˜7oÞ 8ðÎ;„™L¶yóæ/¿üRQdUf2÷îÝ£§Ed2ßëœ]ëÖ­©òu\\Ü7ß|·ÀÜÕ!Cè_zlêâÅ‹leCÐ$ÿm‹“þãÇÓj™••Å6@¾sçN33³Z¿‚ƒ*E‚9Bˆ±±q­eG{r _©\lý>öTÄÝÝ]OO¯²²òíÛ·7oÞìÑ£‡ºÞ,¥–¨rQïJ³¾Ö\µ6Òº¬´’?JZ"ëwŽôOG›O`Bš4irá¸U]]; û< ÀsssΞÞþýûa¯[Œ¤¿¢¢ÎýrN–——:”ÞêÕ«\Wñ!¤iӦϟ?gé€àîñãÇUy*??NE:99q¶}> ù3vìX¸ÎÞR#„˜ššÛGeeeì[Ô0åìÙ³ô¢Š'°!ÎÎÎì|())a»žº$¡‚IÈO†a`ÃN°0Òª Ã00øˆ}ËÜÜÜNö²ÚO`-^¼¸²²>¿ÍÛA>>> ÃÀlXC'°(í 6Þuttn޼ɾUSSãïïOïvïÞ®¿yóìÙÚÚ¾~ýnݹs‡í4š}KÙF$€„43ÿ=®_¿ŽQTVV6LnAS%„|ÿý÷ì“ëÖ­cŸÜ®õôM Ĺ%aè‘–Šêƒê'°ˆ¼î]BŸ#¡g@Z!J(8Ea7j†a¢££á)ØM•Ö'K¨ÏÒFF5¶\iƒ‚´–+€¢úÏ>@ `·‚¤¤¤&MšÐ[“&Mb¿P“F¦žN`QF ð¶&“ɶoßξUTTÔ³gO¨¥Ð©>]8•mooIÚ±cûåüà 3†aÖ­[GŸ²··—aòäÉPàbUUØw?qâÃ0`)Œ­ô ú‰5ª¬¬T”Œœœ0mL›6Mü‡ÒŠje̘1=sˆ e›˜˜ˆOdUUÈÄb*u‹a777åÊ•âÓ#.Qù'°Ô;\ÖÙšKÙFZÇ•VÚGIKd½Ï‘êT!äÂnÿ¿ÿþ;ç.{à?wî½xþüy¸ÁçO?ýDïššš––– §“½®NIIáÜ=sæ ½Õ²eK¸¨º+,,ŒóTVV(سõÏ%<æ{ ä.é×®] ï¼{÷.½Èž‘èëëß»wó”À´ 6š\\\ø‡! š7oN#P™ ÃÀ)]]ÝÇsÉÈÈ€/‘¬)S¦ÐøÞÞÞü»0Rã ŒÊ,===¶3JYYG=èE LB~2’¦}Òª £²K)4!ÀbŒR)PSSºôT¶Uï,0­Ê·WÅ0  555…‹p:ÚÀÀ 99™óÈÝ»wa„f °”mDHH3óßÿÜá.(‰äç烨N®½Œ/¾øžRQ€%mè‘–š`ÉíÞ%ô9z6EH+DiÅÁ`9;;———sžúñÇ!¨ÒHë“%Ôgi#£[®´AA— #F€eeeÅ^EPÀoš»»;\T螺ÑJVNNH^æÍ›Ç077TtÇO/ª>]T$ÀzõêÌ—tttøúeê`}öÙgô)Žà g®)=¢áXžž^QQ½¢œ… Âã ‰ã¨ò9vìaÑ®];Efj…‘V4lY€¢¬ | [#U °&l9KYÖìÙ³iü!C†(•‘hn‰ÊÈ`©q¸dêpÍ¥l#­ãJ+í£¤%²~çHÚ@ý °´ÚfË–-ƒƒƒ9---a^ûæÍ€ m777%±–PEu޲`Áöä€2dÈšw n :}ûö0a碅…ô×lu} OÁ'ûøøÈõ­3sæLhÕ÷ïßçGøòË/a0«•¬¬,ð.¼jÕ*¾¥º&Mš€iäC‡ÑuÑB °±±á<Ò®];aMc>FFF4pæÌ¾­ÓèèhZŽÓ¦MS굊˜9s&û ÅÀÀ`Ö¬Y4 ŠÊV0iù) իʇ U #„DFF²§ãׯ_§V]aÓ¾~5jÔÞ½{÷îÝ gžÙdddð/FGGÓÀ—_~ÉÞ†¢888°•k56" ifÓ®];0²“ ÍZ?~œº?ÓÕÕ]´hÿU?üðƒZ´†‰Ô¡GŬP;üî]ZŸ£Æ¡SZ!ª>X·nß}ê¢E‹à"h…«Ø'‹¯ÏÒFF5¶\ñ_ª: .äÛÛ‚º 3F¢îI£vL Ù4kÖlâĉ4 §¡9ÀË—/û÷ïOÛ¾®®î¾}û”Ñ) ·"M=¶ƒÐýÁ>}ú€øNFÀݼ¼<˜`+rôpœVIóѬbÑÁ©41äääЀ²Š¢°V«ç;¥€r¤ŠŸõŽø%ª\Ô8\jÉšK.u\i¥}”„DÖû Ñj–ÜîÄä°åõèÑ#°··Ï•‡¹¹9Ôj«H ¶k¹V­ZMœ8ñСCÔ3¨L&kÞ¼yóæÍkuT/¶Þ8!’ŸŸOý KxŠa˜'OžÐ+0Yá`jj *îróçÓO?ú€ÿŠƒbkk+·D@Ožn|•——ƒo‹ñãÇË}­Ri „€õåòòòñãÇwîÜyåÊ•W®\¡Œi9J›Iðqww—{t%Þ½{———G”¯`òSÚ'¨¥ªHã»ï¾‹DEÁœ<==éÐUZZJVPÀ(éÈ‘#µÄÇ­ƒƒÃÔ©S§NJmN—••=|øðܹs;vì˜G]C§´BTq&о}{CCC¹‘¨Ùi*P½OYŸÓÓÓ¥Œêj¹ª â[®êÈ…å.2Õ>iÔ××oР5 ¯Òk1€KLÁUTT<{öÌÈÈHCs¶Ï¾'Nܾ}ÛÑÑQä³Ò1‡"!dàÀTVNXyyy`ãN]B:vìØ±cÇ'Ož0 sþüùÏ?ÿ^æææŠ¼°QfÍšÅV+£üú믣GwÆbP½%*5'„ØÚÚRg 첓NܨW€VŠÞ¾}[SS£Þã]¿DU„º†K-Ysñ©ãJ+m¸”–ÈzŸ#!Z}K亨´´|¬ˆ¡¼¼¼Ö8îîî—/_9r$Xh£<|øpóæÍ®®®âO±Öú‹Š¤­l';°þTö)¶Ö­[+JÌ&妖}º““Óž={ÆÀ<`k¥)ê7äÎºÔØˆ”M3v;:],µH®%=*f…²ÔÚNùÝ»ä>G]C§„BT}& ð[pĪ÷É"ë³ä‘Q]-WõAA|ËUzœ4Êd2h¹üóò¨z,…­T¢^ ìÄ!¤¼¼\£sèg*++§OŸ^]]-þY @)€:-Ø6KMMÍÍÍŽŽ¦©²°°prrbÇ„CXôˆ¨0€Ó×±9tè‘]\\@™·¦¦fÊ”)O¨^4JMã kYþîÝ;ñ‡°ØNEÕ+ÀÎêêêÊÊJ5¾YªÏ"Ô5\jÉš‹OWZi%-‘õ>GB´ú–H håèÝ»w­{àþ\''§S§N½xñ"222***66–}l511qøðáW¯^Žš+EÓzV™ž ”}н.}ÿþ½¢Ù$4Õ‡öO|÷Ýw‘uuu5jÄþºÂÂBu³‘plXWWwáÂ…óçÏ‹‹;{ölLLLRRL›JKKCBBÌÌÌÀا0ÂåÈž’²a(Me*˜„üŽ£öVpÝTm£OŸ>mÚ´yñâEyyùñãǧL™úƒ£GVt:£îùî»ïöìÙÿÚÙÙ 8ÐÖÖ¶S§N...<" {e^RR"wɤÈ㵺‘²iæ °Hàõ_`q¥ÉCŠY¡,µ@|TésÔ2tJ(DÕgr8J¦zŸ,²>«22ª¥åª>(ˆo¹u††&fff´,j]~°‹LÇÀ9@Ù JØImß¾=»¹©w`bbrìØ± .üòË/„ÄÄÄ 6p|©—† Òƒt/J.^^^2™Œn!ÄÇǃþààÁƒ9õvèС[·n%„\¸p¡¬¬ ¼œþü9˜Ó××ß·o_—.]¨Æ!$==ý믿þã?D~NÝOÏØçJΟ?OϤó¡¹Ù'Ö !]»vU1 l ¨ñÍõˆZ†KíYsq¨ãJ+í£¤%²ÞçHÈÇ ÀÒÑѱ±±¹wï!ÄÓÓsõêÕj|y›6mfΜIMÞºuëôéÓ;vì J¶·nÝŠÖ~§€R®")³Àƒ2™ŒRäSìUwFF†\sŒ ÃÀòÕÚÚZ8µµ:J:::Ë–-³ìg[9ÉÌÌ”«åTk6*BOOÏËË‹ÎAß½{G *ÁVضmÛD °„žžÞ£Gþujÿ›bhhÈ—î‹©`òSìR¨›ª¢mÈd2___jZ;,,lòäÉ`ë—ï0¡¾ÈÎÎÞ¼y3 ;::FDDp "!!óHûöíuttèáêÌÌLö!M 99YàGUlDÒ,[[[j±šÉ iCO]fEÂǪÞç¨8tJ(DÕgOž<)++“û±ð[t¢^údi#£Š-÷£44i477§ö}oÞ¼)“í9ÔÜÜ\-¿ÎÊNÀ/h‡YXX4lØPCÅmddô÷ß»ººöîÝ;,,Œ6ê¥K—Ž;VY½6ñ4mÚ”žÐmÞ¼¹³³3ûâââ@€ÅÖ¤xyyéééUVV¾yófçΠ%§¨cfêÔ©°y°|ùrªi¸iÓ¦¨¨(jŸkçÎÞÞÞÇó9ußÝÝÝAº·dÉ’ñãÇË5™ôèÑ£#GŽ´jÕêÝ»wýõ½Þ¥K°¤`ƒAsM¦¾Pq¸Ô¶5—Ü_©ƒJ+í£¤%²ÞçHˆV«ŠjRRR’ÜÕÕÕsæÌ ¤–,øóÏ?iLŽï[''§E‹ݼyÎäÃ46äžK‰‰þEEIê]»våoÓ‰|ÊÄÄäÐ.\ûÈÕ«W!åj`ÕÔÔ°'jlÎ;G3yåÊ•„–-[‚çŽÈÈH¹(J¼\ §M›Ä>lܤIŸððpú»„äädº°go¸ñ˱¢¢ü+˼¼qˆˆˆ öíÛÓŸP¶‚IÈOiÔ}UÑB@‹0**êĉt×¥I“&l“®õËíÛ·Aé,,,Œ_ —.]â\Ñ×ׇQùúõër_ËvlO‘ЈԘfÉ@{ILL”ë(33S]æÛ$ =jÏ ;.¹Hës$ µ&@©BTq&P]]-׫Znn.XÆ¡¾ê¬O–62ª±å~¬ƒ‚z'8¨õôéÓË—/ ĵ²víÚiN‚ ³ëׯS“+| ©Ò‚ÓPq7oÞœšp566ñ}iiéŒ3Ä<. Ø/¤ÎsG¨vîÜIÍèèèð-=›˜˜€‡‡¥K—Ò€µµ5ûX=› 6üý÷ß4ìææöí·ßÒ°™™µ³I caÔGK´··‡}»§OŸnß¾gË–-{ö쉋‹ëÖ­[llìܹsA̤b8€4P‘Y½ M —õ¸æ’KWZi%-‘õ>GB>x…?þ¼ÜsI¡¡¡[¶l Ý¿­ž}šÿTª 6ðKvëÖ­üñRB#Roš¥=IyyùÎ;ù6lØ ÁÖ²\$ =jÏ ;.¹Hës$ ŠVˆªÏvìØÁ¿¸iÓ&júJGG‡jwÖeŸ,adTcË%é  ÞI#ÅÛÛ³fÍ’+x%„„„„\»v†ÇŒ£\º•¾±°°­³ dff‚eܸqœ§4TÜ£G†¯Ž‰‰Ùµk—²o Tra00OùH÷îÝåêuÂ&ÄT¤?x÷îÝ~ø† CCCÙ¦|&L˜0vìXÎÊÊ5ÃZ©û–¸|ùrHù÷ßÏ/,!''§ÿþ0ݵ²²âø^T(G¥|)j-j.µaÍ¥ˆ:®´Ò>JB"ë}Ž„|$¬¹sçÒ3¥ Ã̘1ƒ£ãzýúõE‹Ñð€Œ´QÀÙ_BBXjîÝ»›±½zõ¢ðkðøñã@䊊 __ßZ‰‹ŠŠ¼½½Ù[d………þþþ`ViĈª<ûE999“&MâXÙ¹s'¬,Xm²V4øÿ*¨ìÕ¯‘‘8 >vì´|Jyyùœ9sà4&xS^±b Œ7Žm´þÝ»w'NTÊ\¨¾¾>ø¸Ùºu+çY†a suu¥°¹¹9)Ö¯_϶iuòäÉZµ ÊÊÊÆ϶¶P\\,àŒdÊúÌÎÎ~)ˆ˜MWEí‹}.T(999^^^< ÿ² æÓ/^¼`ígΜ™7o?‘"¤¥Yžžž°&Y¹r%GtôèÑmÛ¶©ø€„¡GrV(ª*v\r‘ÖçH:!­UŸ üñÇ»wïf_‰ˆˆX·n »»»Sf’ûd HÕØr‰Ö Šê¿4Ô;i¤8::‚åï{÷î 0€c ëýû÷sæÌÛù2™LźAQ”3nnn sùñÇ9ªùùù#GŽ¤Ë¤-ZÌš5‹^¯ƒâÞ¼y3ØùöÛok5¨/a&Cñôô¤E‡Ž)‡˜|ýAE×å °***>ûì3È·•+WÚÙÙqâlݺ|#9r„ZŪ•ºo‰:uš2e —””̘1cüøñlàìÙ³/\¸À1¤§§wøðaµ{oåzþð1tèPwwwwwwè–µ5—Ú°æRÔHë¸ÒJû( ‰¬÷9BÞŠ€Q`H888X ˆíCBBäF€#»»ví‚‹lGÈmÛ¶]¶lÙBCCƒƒƒ¡]?xð Öt–””À9Æ |óÍ7'NœHJJÚ·oß´iÓ`Ô±²²*))¡P_³]]ÝqãÆ}óÍ7£F‚ÓŒ@jj*ügTkÛ¶mPPЖ-[–.]Ê^䱓'í)¶Ÿ=z¬]»6<<|ûöí“'O+ïfffïß¿‡G؆?ÓÒÒäæ•ƒƒ`aa1cÆŒ_ý•^///g.ðóóÛ¾}ûáÇ׮]Ë6ë8}útöÛ`WŠÒµk×¥K—†……­ZµŠóÉmÚ´©µ†aï¥wíÚuÏž=ñññ111+V¬èÝ»7ÜÚºu«ÜØÚÚ~õÕW3g΄oüýýGãÆÇŒóÓO?ÍŸ?Dé„… ªRÁ¤å'Ûšæ!CæÎ+¦þK¨* ÃÀŽe\\œ˜Òa†½ï}øðaáÈl[ø[¶lˆùÛo¿AÌììl˜àýzñâÅì륒¦M›VTT°#Àв`Á¸xñâE"[[[áï¥Èm_EEE`ÒÀÀÀ××÷Ï?ÿ{çÅñ>þ9Ž* ¨ˆ(Š‚ "ˆ"‚bÁ¬AòÁ® ±}Pˆ‰]cšØcØKЈXPŠ€  Š"G»ýý1¿ïóÚÏîݲ7wuÞíÍÎìÍÌ>óÌ̳3ÏÛºuëØ±cùØýøã×®]ÃOƒe!++«‰'N˜0ŽW\\\ H!Äy®±;€Èîâââ@Vµµµ§L™²{÷î#GŽL™2…ãš—JØô1pà@Î-U»âªP& ‘âªQ½èÍ&ÙK$ À~.ø/ooï5kÖlÙ²%00þËÈȈÝ}“éd2y&è5Õr1YI…Q(ÿ·ÂÂB~*˜ZpF4 l?A‰ÄÞÞ~Ò¤I&LèÔ©ç¤×o¾ù†ÿðk®¯¯/þ•i†ÄÄD0PêêêΞ=ûèÑ£aaa‹/îÔ©ädÆ ì§ij¸kÒùc60 #„FÙ¯òÅ‹™l$óþý{°L¥¥¥ Ääœ[¯l #—ËÙk$I^^?ìDõêÕ«ººZáÓØ3Þ&Mš¼|ù²Æ1D¯$*00PÌ_pÈËËãȈ_èСC¿þúëyóæ1‚s·yóæÂŽ9%Ä”––ÂÛŒåÜ… A–¨Õ)*¤‚©™f»Ë:›s4Ò:Z²‰$A&ë}ŒTïdggçääÈd²òòòòòòŠÿã_An°À!,òóóóóóÅØ¦>–\.‡/H ÑÒÒúõ×_EfõÒ¥KÂ’ÍN²páBe‘‡g+(4` X]\\ÊÊÊØD–êåË—`úUˆµµu\\;‰¬*ÂtîÜnݽ{W¡¯h [·nœ&úâÅ XÉɺI‘,¹\Ηðññña'IKKS–g]]ݯ¾ú _+4`Áç>>“&MâX@Œ >óóó9#æ“'OÖXo¢Â|\,†aØÝÒÔ©S9wÕ7`ÙÚÚ —£¬})Ü‚ÑÓÓÛ¿?¬ EuïÞ§ÊÍÍõ>Fª_ê×€U§[á£{Á3A4…$É®]»Îœ9£Ð½ßàÁƒ###Ç/2«ƒ :þwîܰ°0\Xaù$Éßÿ ëŸ9~ÿý÷ì![[Û7nðþuwwŒŒ„--ì Àõ‘#G¾úê+ÎëÐÓÓ[µjÕáÇ9kÔ Œ >›6mºtéRUO1'$ºu+L"&•T*…üˆT ‰DxwŒ@žÙõ̯s… Å\|deíkÊ”);wîä/ðtppˆŠŠš6mÚ’%Kø¯ÏÜÜ<""âÀÎÎÎ –––#G޼|ù2x`Ïá ‘2ÈòLÖ „æÎ{ùòe~w`kk s{‘/B ]YU åò@ ¸Ä¨wC Ù x‰êŒìíí###ù'yÛÙÙ9s†½€CP?dòLÐ3j°å"¢N¸å  Pþ!9[¤Åü‘fÀ¸qãîÝ»7|øpN§têÔéСCÇWhW"¨$8›5kVtt´­­-ÿ–±±qxxøÆ9¥¦†‹eÑÖÖÞ½{7<Û”õ§d#Är£¡ìŒ {'àÀ† ì³\îœ1cìŸZ¿~½ÂjöîÝ «q#""8;ÊR-±FLLL._¾üÇÀ7?>Í›7_°`Á?ü€§ïÞ½3fÌÎ;«RÆ`ùgŸ}F0NC­NQj¶»¬›9A#­c¡%›H’M|ê}Œô)#yóæM‘D:°l ”••=xðàþýûzzz–––}ûöe/–Oyyù;w®_¿Ž°5iÒÄÆÆÆÞÞÞËËKY|ŒQ\\\uuµ•••‹‹‹@íuêÔ)55!æçç—••uáÂ…¬¬,©TêààУG…'2¥òòòââââãã322ìì윻té¢Î¡r¹<111??ßÐаC‡ü/ØYYY±±±±±±åååÍš5³µµõññv‰‘‘qëÖ­¤¤$ccc777u¶Fgee]»v-66¶´´TWWŸûÓ«W/8x‚Ï›7obcc322LMMíííÁŸH<{öìÚµkfff={ötvvøøI `Hõú,,,|üøqYYY‹-:tè pˆ¯‹ …ö•——wýúõ‡Êd2KKKwwwö¤ôôô¸¸8©TêââÂ× ÏŸ?722‚=?þøcHHBÈÏϳ© 5"…¨“gd2Ù½{÷¢££ <==kï”4U»²ªÖ·ÄŠKUu™fSÙKÿ:ÂÃñqÊÞÞ>%%¥ººúâÅ‹III¯_¿nÛ¶­ƒƒCŸ>}”#0}=£¦Z.¦Þ;…ÇhpÐÈ&???""âÅ‹ÙÙÙ2™¬E‹-[¶twwX Â5SYYùðáÃøøø„„ì®ËÞÞ^x~Xﯛ ÁHæõë×VVV2™ÌÀÀàåË—‘–B}½š§OŸFDDdffæåå•••µiÓÆÚÚÚÖÖ¶oß¾x¬7nܸ'Ož4jÔèÆàT[***Z·nýúõk‰DòàÁ;Ú‡ˆf»KT¯s.áFZÇBKV(²LÖ奄ÈÉÉ‘H$¦¦¦Øê¶?8¥D!l!Ã0è~a¿ÞLMgË Ò€õÁ1EÕj* …ò)“˜˜˜••…j×®ß;BhìØ±ø phhèÆë:J=Á1`Õwv(ŠÆøòË/±æüqÞ¼yõO‚wïÞÍœ9sôèÑãÆÓÈAEþùçbÖ©Q(”: ~ XÉ)„ …B`çÎÇ>|øˆ#øôÞ¾}ûÂ… øZá™§ …B¡|X,^¼oáÙ¹s'=™¾n011ùå—_4e½BmÞ¼!¤¥¥ÅöVF¡P>e¨‹B¡P>~ÀydzgÏ–,YRQQÊåò[·nùøø”––"„Zµjõa­a¦P( E!mÛ¶]ºt)BèÉ“'ǯïìPT&"""&&!¤©Mñ åC‡°( åãgРApì×úõëÛ¶m;hÐ &Mšxzz¾}û!$‘H8 ìùžB¡P(”…ÐÐPì5iõêÕtÖǪU«BææækÖ¬©ï¼P(”†5`Q(ÊÇ‘‘Ñå˗ᄵœœœ+W®Ü¾}»¨¨‡,"##oÞ¼‰úá‡LMMë;; ¥¡@~à(E}|||ðw!þ¹ÝOE¡P>qZ·n’’râĉƒ>~ü8//a˜Fµk×n̘1S§N­½ú(”‹µµõرcBmÛ¶­ï¼P(Íãáá±wïÞôôtCCÃúÎ Eärùwß}gllRSS“““BíÛ·wqq©ïì „L&;zô(Ã0ZZZS§N¥Þ…ø0 sæÌ왢k×®µ½¨¨¨èĉ!SSS??¿Zý¯޾¾¾¾¾~}ç‚¢)))>Ä׃ jܸ±Âhׯ_‡¯S#FŒÐÕÕU-""âýû÷!ccãöíÛÇÇÇãp;;;1îr¯^½ZXXˆ¯hbb¾[VVvìØ±äää´´´ôôt¹\nmmmmmíèè8qâÄ&Mš(|&_!0 súôi¹\޲´´duؼ~ýúßÿÅ×¶¶¶ÎÎÎ £eeea—À!ww÷òòrÍ–!TQQqõêÕsçÎ=xð 77W&“5mÚ´U«VÖÖÖ¾¾¾ýû÷×Òj(Þþù矴´4„ÐÀÛ·oÒÓÓ‘è Q5þ‡Bbbâõë×=zôöíÛÑ£GŸªvóæÍ¤¤$„«««›››FóHáòQºê²PŸ¦¸VTTüù矩©©OŸ>ÕÒÒÚ»w¯²N“¢Y蘜BÈ0ʇ@hh(–êÀÀÀúÎËÿ'##ÚZaaa}g§!‚çϘõë××ößÁdµuëÖµý_ŠÆÁm1¿ÿþ»Â8UUUlw!W¯^U­¤¤DGGÇqtt¼~ý:|³°°x÷îpNnß¾ ñ›5k†w¤aaaVVVÊFFF!!!999üÇòByyy£F ŸÊòƒZÇxyy)‹¶xñbvj¶Ô Ü]ÌCTÿA°mÛ6h¡ÐÐPâGAýk0‡…|”ƒ®º,Ô'(®ÏŸ?ïÞ½;[K¿ÿ¾¾3õ©@Çä.ÙÙÙ9992™¬¼¼¼¼¼¼âÿøW,pH‹üüüüü|1¶©†òPÊÊÊzõêåáááééùêÕ«úÎÎGÅÎ;=<<<<<س&ÍB__ýÒë¿Ä"††,$:ª ù€à{·ås÷î]X"„ŠˆˆP­²²Û§OŸ©S§âŸ999+V¬Ȇ\.Ÿ5kó˼7mÚÔ¼ys¸ûí·ßúûûgee)KþþýûÍ›70Î@WW·wïÞøúáÇ £±‹yëÖ-eOŽŠŠÂ‰¤ÿþ,µ\.Ÿ;wîØ±cŸûöí»ÿ>¾ööö†öøï6n܈¯utt¦M›æååeeeUZZúèÑ£øøø#GŽà‚ÉÉÉãÇ?wî\[ê¼½½/]º„b&::ÚÇLJ¡¬¬ ö"„ªªªþùçX^TVVÞ½{_»¸¸`ÿž)5BhΜ9»v킟;vôööîÞ½{»vírrrÒÒÒ>ŒWR0 ƒ ýðÃÂo8|RJ &&‹(BhÖ¬Y}ûö­qkdïŸúíO5^?tx &´[·ná ›E‹™››Ôo–jöØÀUY½g6œÂÇ`À¢P( åS@[[»OŸ>ÿý7B(>>¾¤¤„®Ç€õàÁƒœœ N40`I¥Ò~ýú!„š4i²eË–ñãÇ#„ªªªfÏž}íÚ5~òóó-Z„¯õõõ÷ìÙþ‚×(™™™EEEuìØn <!4cÆŒÀÀ@¼LéüùóçÏŸ>|¸p©9ëÎø¬ÿýW&“±C"""ø¬¸¸¸²²2Î35Rê{÷îýüóÏøZ"‘„„„¬]»–½ !´téÒcǎ͘1/íÙ¸qãÔ©Sííí…Ë^÷,[¶lúôé!KKËÚˆßðÉÉÉÁM›6ݱcGýf†B¡Ô*ÐÞƒƒƒ§M›V¿™¡P(bø¶R( …ò‰–—ªª*XO¼}û–È0 ^¾ÄF.—Ãgg777pïïïÿÙgŸáëëׯcïª-Zôöí[|½téR[[[¸õæÍð1¿}ûv¶õ èÙ³ç¹sçÀqll¬@a1®®®àô]áÆIþ6I…'Ùi×j–ša˜9sæ`³¶¶ö¹sç6nÜȱ^!„´´´&MštâÄ XqväÈþÕ;ÖÖÖ½zõêÕ«—È/̪ÆoøàB­[·®ßœP(”Ú†¶w 僣W`½zõŠa]]]ì$‚a˜´´´Û·oçç绺ºººº ßþúõ븸¸ØØØ7oÞØÚÚvéÒ¥K—.FFFì8•••yyyïÞ½cÿ©‘‘‘AÓ¦MÅd²²²òöíÛiiiÏž=kܸqçÎ;wîܦMN4†aðV[--­–-[òŸSZZŠsÃL€a˜ŠŠ „T*ÕÖÖF¥¥¥Ýºu+33ÓÂÂÂÍÍ­sçÎ8œMUU^»®§§‡ª¨¨¸råJZZZII‰³³³›››¹¹¹p¡ÄT&''§ººZ[[»E‹¡—/_þûï¿™™™ƒn×®]YY8R)..~ùò%BÈÜÜœ?.WHFFF|||zzzAAA‡:wîÜ©S'ðÅ‹_Ÿ±±q^^Tö89¾nÑ¢¿&’••›••ehhhooïááAv ”HÉá“››™™™©­­Ý­[·nݺ 7„PYYÙƒ*++-,,z÷îß—š©Ä7Ÿ_¥Æyûö­šâ‡ÉÎξ{÷nqqq«V­ðÞ«“ˆo>T-bùa£¦Ž­ªªzøða\\\JJŠ.)Çÿ´ú:‰–Ÿ¢¢"¼ ÜÔÔ”¿ªýŸ¾’H$­ZµÂ!d:–,ñBRRR‚ŸiÓ¦r¹üÆñññ‰$00LÈÙË‘¢¢¢ú÷ïϾ{åÊ<733óõõÅ …"""&NœÈŽ–œœ Í~ Bh×®]ŽŽŽ%%%¡ÐÐÐádz)&&fÿþýøÚÉÉé›o¾a§½u븈:t¨²"têÔÉÛÛûòåË¡¸¸8Âb´´´úõëwêÔ)„ÐÝ»w+**8GD]¼x_,Z´hݺu Ã<{ö,--ÍÎÎŽ 6]êêêzyyiªÔG…s£§OŸÎ_ ÆÆ××wРAؾvìØ±5kÖôABeee|||jjª‘‘Q‡•Ŭ®®®ªªBikkK¥Ò•'>ŽS\\ŒÝ™™™áÁLqqqLLL\\\Ë–-ÝÜÜlmmÙÇió‘Éd÷ïßò䉙™™££cÛ¶mEVŽBĨ;ô0ð~¥££ƒu…¶¶¶²×¤ª’dæÆ>ÌÍ͵µµíÑ£GUA6TêOkìÈ`<ŒÒÑÑQ8"ÍÍÍÕÒÒÒÕÕÕÕÕÕÖÖV¿!.R}Ð%RTQŸÅXÈ F’€JH ®Hí‘6Ùœ ©>(*//G,–D"Áí¡F:ý¹sçB&¥R)^ýöíÛëׯ?}ú´Q£Fvvvýúõc?^¾|••…'€üCoÙ¤¦¦&%%eddÈd²–-[âC{Ù'º 3/‘M•L)ŒÉÅä\¡&©Qß½{‡Æ4kÖŒ*wiiiQQÖcïÞ½Sb"“ÉîÝ»÷äÉ“fÍšÙØØôìÙÓÚÚZYüÒÒÒèè茌Œ—/_š˜˜XZZÚÙÙ¹¸¸(Œ¬æ¤à£–N!ÌÌÌÄÏoÞ¼yeeåºuë8⥥¥åëë[^^ÎO[XXèëëËϪ©©)û †aþøã……rrr“Éß~ûMaŸÔ³gÏÌÌLvÌ„„¸«ð”¢… â»ãLJÀßÿöíÛ·  `̘1¥offvþüyΣ`XÎïöüýý‹ŠŠ–H|Õ1 ƒGê!‰DÂ0ÌÖ­[aJ¹~ýz'''…uûÇÔX±¯^½š6mÿ _]]ÝíÛ·C4×Çöf²gÏ…ÿrøðaˆËÔt áÑ£Gù#­6mÚ?~¼Æq/9ì³còó󃃃9ý¢––V```UU•Â?ÊÍÍõññáÌ¥µµµÇŒ#Ð0E¦Ó|D¾JuPx ¡:â‡Ù²e ç4ccã¥K—Âl™â‰J͇ª¢%^~PGÇ2 sæÌ…]þ°aò²² šš:V%ù3f ¾;oÞ<þ£ØÄ=z„Ét,Y*ŒªB–Ž•+W>{ö œ‘ëëë ¹\.ßáC† áÜ—ä§OŸÆ×Í›7—Ëåìh°ß !ôÏ?ÿpÂ>Ñ}þZuuu=p¸––6W±ùõ×_!áÇJñóÏ?»»»»»»O™2…®ìXRöN.Îÿ²½Å?~üÆvÛ¶mãü)Œ°ûôéÃÏq©¡9)}úp&M›6Uv>æëׯGŒÁžH$Ÿôôô3f]¼xQ|¥‰Tw ÃpŒ¹À·ß~«ìá5ÖûX·˜˜þ¦Q33³èèh…'p©jDvdoÞ¼Y´T*‰‰áüݵk×@£ºººªÙ‰¨Z5]âE…!곕„\ÍB©Têˆ+£¡‘6ÙœKÕAÑ7ÖƒD")--…Çj°Ógg!$“ÉV­Zű‚ÙÙÙݹs‡a˜ÄÄÄ:p26nܸÊÊJþŸ^ºt©oß¾üLLš4Iä NdS%SJcrâ5‰H!\²d Ü5jç!r¹œÝœ={Vý‰ÉÑ£Gù–n©T:yòä/^p".X°Öž³éܹóÁƒ9ñÕœP¿§Ö– ´­‰‰ ß0zô芊 v˜˜K$BhàÀp¾éÉ“'Æéܹs9dßù4mÚ422"Ã1ŸHɶß}÷¾ëïïaaa8ÐÞÞ¾k×® ÿH"‘,Y²„ý(è-üüü”}²°µµMMMåäA¥ªcþwž°fÍvÌõë×+ób{òäIáŠÍÏÏ·±±ÈÆ_|{Y×WUU_] ¤ðÀmŠ­­-QfÀ*))Á´B–,YÂ™Ý  ’ä°‡#GŽT–*  ººšóGÿüóÂOO˜öíÛóe@¥T56ñ¯RÎW‰Åa˜êêêàà`eyvssÜÎRÕæƒ!-•äGb[YY9oÞ<<ÿöÛo8²::VUùR(<½›=&Ó±d©"!¥4cÆ ö+}}}u„ÜÏÏGnܸ1GuÀ&ˆ#GŽÁ‰3Ï Äá2™Œóüªªªnݺá:::`ŠÚ·oäŸÇÇö"„|||øO®e¬””ß´i; äÊÆÆ†auÇ>>>ìhéééð„•+Wòÿš¬Ô%%%0]_°`ªåU ‚NáÁƒÊöŘ™™ÁŠöL f°Ó§OgD(N|Nà¸qã”-×mԨѵk×8¾{÷.gžXZZºººâëÓ§O‹©1•ÔÃ0ضA“ƒøúñôô䬆7nÌ7e’øÔ¨jTíÈØ[_œœØ]LII ØsõôôÕéDŠC<èRUT¢> £ª«3’Tµ‰ÅUƒ#m²9—ªƒ"…¾1Ðk¶Óç¼Ê   …ÏlݺõŸþ©¬òýüü8oùСC Ülmm³³³qdö(¦©(%²191ÙSIËÊÊ:uê·ÂÂÂØ·{÷n¸õŸÿü‡Qob"“ɰ§He¸¸¸”••AüÂÂBeˬ€7²ÿ‚xR@ÌGnÀ f̘±bÅ ???¶’m}ÿþ=»aøúúþôÓOÇŽ›3g{#Àüùóqüäääààà/¿ünoÞ¼Y8{©©©xM;BÈÞÞ~Þ¼y¿ýöÛ¾úê+X,`ccïXM`cc3wîÜåË—÷êÕ‹½*=†ã|îÐÓÓ:tèºuë&MšÄöÂÛ¯_?vT­:æç  û$‰……ÅîÝ»7oÞ ÍÕÆÆ&88888899Y¸na^¤¯¯?zôè­[·ž>“’’p D"ÁKà«ìêÕ«ÙO€µ²/±±±PÞÞÞ Ãäçç›™™áKKK… år9»¡ÙÙÙ­]»611Qüe,†a`=òèÑ£ÙácÇŽÅá_ý5Ã0‘‘‘PÏììE»7oÞÔT©ÙÃÎX³t ¹¹¹ì^ÆÁÁ!((hÞ¼y0g X5*aУGï¾ûnþüùÎÎÎߟ0ïÞ½ƒÚF™››ÿç?ÿ™1c[i`D°TRw ÃìÞ½;88M´lÙ·Ê¿ÿþ[Ù_ˆ¯`ðàÁ+V¬X¼x±§§'ûí¨ùº*AXÕŒ‘Ø$¶9ø¿ÿý/„ãP§!(ñ KUQaH XBN\(‚ $WF£#m5 X€ð (##Ú˜1c‚ƒƒçÏŸW9i¼ÓW˜IkkëY³f…„„(<ÐÃËË+88xàÀìÅzìõ§EEEÐçêééa¹=wîÜŽ;ØïköìÙ8¾@{¬±©’)%‚1¹BÄhU…0&&JÔ¼yóׯ_ãðÌÌLØmצM,„êŒÙÖ­[033 ܳgÏÚµk {ÒĬZµ ÂÝÝÝ·nÝzîܹ°°°¹sç²Û;dX¡h‰œóI°<<<Ø hÿùç°>°µÏÊ•+q D"Ù½{7ûÅÅۆ_*•Þ¿nÁ~TÄûÊ¡Œ­[·âøŽŽŽœOÄׯ_‡§ŽÐˆ‹óïêÕ«Ðà]]]a|ÏVaMš4yþü9$©®®ööö†»ìAÕ±ç !SSÓ_~ù…3:«9»\TTT@›ç´òòrp‰Ò³gOWöúØž}ùV’£GÂÝ´´4¨Ð€u÷î]ø<>eÊ”’’¸UPPãx©TúòåË ¨ªäpB@@[~bccAqŒnàEÅÜÜœóúèÑ£ 9AAAj¦RVÿ¯’ ùªªâÇ0Ì›7o@M·oß>11n=}ú”ýAƒÝY’iÑRU~ Ó±°¨ØÙÙ™Ýù1 B2fÌ'бò£¾K¤Ž%KE&$œ±ì¨Q£?~̶æ9Ã0ø?ÌÎ;!æ`]»vÅ!k×®Å!^^^ ;nÀp›ˆþõ×_ÃÏS§N)KÅþn ˜››ñÅ[·n‰‰Q¸P06577‡Àªª*XcæÌ†a***`S{“ÚŒ3p ±±±@T-uxx8D¸{÷®@ÑÔ„@½ÃÈ!´páBöwûM›6±mµ,Œ€¨Ñ€¥¯¯¿yófø÷ÊÊÊaÆ)|œóˆÚºu+´”êêêÅ‹³·úŠÄ! IDAT1`‘©;†µ_uàÀ5þ‹øúA™˜˜\¾|nUWW³ï¦§§Ã-²1€ÊT Ù)//6éèêêâ®6** 2æííÍVtYqÈ]d¢BfÀ"râ‘$A’‰«fGÚ1`‰1 öĨ¨(vxmtúœLN›6 ¶+±7©ikk³—ö~V›6mØëâ0°ÿËÝÝ‡äææÂ ó¿ÿý/ÿ™ùùù`C;v,„ô‹“&MÂñ9r1îîîøîÏ?ÿŒCÔ7`¹¸¸ð÷._¾"\ºt ² Xáááœ$ÙÙÙàÅÃÓÓ’U{ž «««Ð„¬jC…ïÿè×`.\¸€oµhÑ^X¦‡ÊyÔˆ#8òÃ(1`õêÕ ºººò÷»6kÖ GÀ®…QUrØ ¡mÛ¶l}Š5¥È>2Lá” l󦦦иÈR)«‚WI†f XK—.ÅI¤R)X6ÌÌLÐàÐYkÑRU~ б Ã,X°êéé)tÖ³aÃx,|F#бò£¦K¼Ž%HE,$챬©™‹a-¡‚!Ã0ƒÆß}÷¹ÿ>ÑÑÑg"¿ýöäŠïÂ())ÑÓÓƒ¡!g¶ÏgíÚµ^~5j4räHö¼ˆ€B8tèÜzüø1ŒŽŽ†ã@è Ø{ú Cál-T³Ôì/¥ ÇKëÖ­óWÎO?ý$€@½À„gÒ¤Iü$_}õ<³V X;vìàüõ½{÷àî… p`vv¶ôóóãgvÎ"q,2uÇÔ¦‹mnƼxñîFDDà@²Þ\eª†xŒ„UÀôèÑ£¸¸\ö˜ššr;“íÛ·ç ?ØbÂI ²ÁîŒ`iOß¾}ù™„ãMLMMÙá,2¥D0&F çdBXYYÙ½{wxæ¹sç8 ðÆl°£HWW;8csþüyø»„„†aär9ø¬TèT¤gÏžøî–-[ Xþ‰©_Éùkª²xñb¾oXCžŸŸ/¢¢¢`ä:sæLþsš6m:~üx|Ív´Aô.\à»…»zõ*®ð†«>›6mâŸj±xñbd;øÀôîÝû‹/¾àZXX@å@õ«nÖ¬YìuŒÄ€v@…††² BhÈ!¸bSSSÅ< ¶ ]½z8‚)**M q’ 禯Y³†ïLÚÄļô)<:ƒ:’³`Á¾+¨öׯ_C |QqwwW¸“çceeÅßOÖ|ÈD«–4H‹ÿ_øúú*<2æË/¿¥¤Žš­{ù!бâS©¯c 6mÚ$²,b€Õ¸p²^YYÙ¿ÿwü¬qëÚµ+^(QYYùÏ?ÿp’4iÒü­ðiÔ¨¸lÃãl„PãÆÙþÔ²páÂää䯿þZáÁ𥥥gÏž4hPçÎÙcâῈ/ðq~¡^½zÁ|Šwß¾}  ÌQ7FÕR?}ú_èèè°ÅˆˆˆSÎÕ«W…K!Pï§OŸÆçJ¥ÒÅ‹ó“,Z´H¥C]ɰ²²boúÀ8::‚ÎuëÖ­²²2„T*Uè+pÙ²e5ƦÎÔHZ´hÁ÷zcii vFh¶7@1ÒèÑ£á“ÌÝ»w?~ŒîÚµKÕCukñƒ®:õ…\|¡ÔD¼¸j|¤­>âEʨƒN?44”3ü`·¾Ë$ð›ÆÎÿˆ#:tèСŸ~ú‰ÿlŸñjB¦”Æäd ¡¶¶öÑ£GAZ&L˜û œœ8¢ÉÀ.#„zöì ÷€¡C‡öêÕËÒÒÒÒÒ/®—H$8tèÐáÇa}PRRòæÍáT_þ>uaÀ¯¨l`|£«Ýºu㜼€ð¥§§WWWg üt–——;¶S§N«W¯ŽŽŽÆç§6kÖ¬Y³fü‰ zzz`f£££Ó±cG|ÍÞ‚aïd °YGýª4hP¥ƒ……¼Ù+W®´lÙrüøñ'NœÀ;V$ ®Xe¾ 9àŽ¼²²òÌ™3~öìY|ö­¶¶6ûkN!„ìììòò‰?é gIÉQøj *Øë Û ólnn3¥G©“Jš}•uCyyùóçÏñ5¸ÅáÀu²æC&Zµ¤yDêX†µõ ^LMMÁ¢Q£PÇòC¦cŧR_Ç:99‰9dZ<ðwYYYø«ø¿ÿþ‹ßµ±±18¿H$°, ¬90Îc»®PÈСC9¢²nÝ:eG³éÔ©Ó®]»²²²’““·mÛæïïÏwZœœœüù石?¶ Ó¦Mð<E€BÁšöõƒrrrBøØ,8pà@á?R©Ô°˜¿²²’}·f!Pïiiiøg—.]Ø[+++óÚÃÉɉo&Ó×ׇen   …vëÖMáÑKlO ÂÔ¥º‰­­­ÂæÆh¶7@Í1ÒÖ­[¡]CçëïﯬÂ둃®ºõ…\üHRMÄih¤­>"EÔA§ÏW¿`š”H$|çñ`”‘Ëåèèè8yòäÉ“'ãid2Ù£G"""öìÙ3aÂe~â PJdcr5³‡TÂN:³…ÂÂBl¸ÔÓÓ;~ü8ôïê­¾K—.ü»‰$**êÅ‹/^¼€ƒM&OžÚ5GQ8ð› @ïCáóPë1…;v¬¿¿?l$IMM]ºtéÒ¥K ûôé3bĈqãÆ±,ªI»víø¦PŒ££cbb"bà;t„$pžžîææ¦~Õ×$Ÿƒ2¤¸¸!$“ÉðGf„PÇŽüÅ_€{ÔiÛ¶­——^SpòäIXØ ß¬Pºö8ƒoûç “ÉJKKùGœ²QGre¢p|ÙÆßU„³ÿ¦t²ThðUÖ Ïž=ƒ~N×âÀŸE“52Ѫ%Í#RÇfgg—––âk1…UsFW—òC¦cŧjP:ÃþÂqóæM???0åx{{³ßþ!CŽ?ŽÂËÞ¿‡” ¯EÂlٲ寿þÂï±{÷îlŸPbpppppp˜3gB(33óÂ… þù'|,))9räÓ§O9gr+cÀ€Ø.ƒ Xoß¾‰‰Á·`ÕB¨}ûöíÛ·òä Ã0—.]š8q"¼ÌÍÍ•%ÄF|©Ù'UgffòG¨7nÌÍÍå.^¼˜}T|¨w4+S†!+++önßÚ@YÍWPaeÓE„PÛ¶m³³³Åüo«;1(;ÎŒ? Ðxo® 5ÇH&&&‡Â-qHëÖ­…OÚ­KDºêRTÔrñ#I5!W¤¡‘¶úˆ P¾€fnÚ´©J¦“äääõë×GEEeffÖ’}@)‘ÉÕÌ"Âààà³gϲ¦\½zµB{“ªäää€zQé•••{öì9qâD||<|8gô£G¶oßîåååææöêÕ+‘OûÏþƒ/._¾Œ?nænáýƒHÑš aj*u$G¤a¢¬¬LäƒóL–J;Ê:àÙ³gp­ìÃÿ-52ÑÒ¸æÁ¨ªc‘¸Âª£c‘¦å§.u,?UƒÒ± ø˜÷Ó‹mÊA <¿‚§OŸ¦¥¥Ý¹s§ªª ßcÀ277‡ÖÔ¹sg•öpqhÛ¶mPPÐ¥K—bccÙ 7’““E>2œšššŸŸõêUüÝÛ‚}¶b-ÂÂÕ[½½½ÅA|©Á•5R²_£{÷î>u±Kd;S(çt<6ìÙ¬?'C*•.X°`Þ¼yQQQ/^ŒŒŒŒ…% eeeÁÁÁfff`@†ãá…Ûø0 'vÕ˜ oˆ`§ªãª«ggçsçνxñâüùóW®\¹~ýz^^ܽwïÞgŸ}vëÖ-ð$À¸qãæÎ‹Ã;w.00ðܹsXï5J89» ûí·Â‘¥R)ÿ-(Œ¦AÉᣧ§§§§‡Ëèéééåå%ë\²T5¢ÁWY°__QQ‘ÂuøìücÈš±hÕ†ü¨ªcBïß¿WÖÃAa•}€å§.u,?UCÓ±˜`ÓÏÍ›7Ÿ?n8Ø›éBæææ]»vÅçºFDD¼}û‡·nÝZ³;ÈÞ½{7lØ0<€Þ¶múçk×®¿þú+,Á»ÿ>Çü¤ŒþýûK$ü7oÞ›逡C‡îÚµ !tùòe™L^ÃÅØìTÎ^@]ºt üÇ À0ŒJ‹8ÈÔ;¼Àd¯5Žø™Lé¾6³'ÂÔ½ºÓµÔ›+Dý1Rpp0{çì©S§Îž=;räHâ,Õ=µ$* û,Í y¡6FÚÂ*jG ³Óçóí·ßuaÀ øhð9K:-,,ø^ ÐÑÑéß¿?niïÞ½»råʉ'À¹òÏ?ÿ,r »|òäÉ™L¦Pp!!_÷)[ØI$ ^“Y/UW#­[·þòË/±÷Ö„„„¿þúkÏž=8ó 7oÞ¬Ñ B¨I“&Ÿ}ö>ìæ÷ß üý÷ßñ­Ï?ÿ¼Æ‚À"m--­+VˆÔbДäðÑÒÒ²µµÅóÒ¾}ûÂÆìÚH%¼Ê:€íç%++Ká}~S%k>jŠVíÉìúÉÌÌ´´´äÇaFÏ666ù_ÈOmèXñ©¦Ž0`À¶mÛB<áéС~5dÈ0`a‡k¨L9FFF±±±xŒ{êÔ)B¨gÏž:::•••!ÎñÏ4kÖÌÅÅ%..!¥lÑB¨ÿþøù¯_¿Þ·o8}и²êÞ½»¡¡!^©wðàÁ+V|WÇÜ»wO¥dêÝÎÎ{ˆÏÊÊRG¸YÕ1 p”e8''‡ýO˜úRwêS«½95;²³gÏò7͘1ÃÃÃCؽCƒ¢–DEaãÒ¬7jo¤­Œ:P\ ³Óç““³}ûv|Ý¥K—S§Nq„óîÝ»ù#â>®ÅÉÉPG«ªª&L˜€OWbbbÖ®]»lÙ253Æ®„çÏŸcWeîܹƒý²wëÖÍÂÂbÛ¶mØz%‘H¶lÙÄqŒ‹|âÔÅB‘À;¾s玲wóçŸâ u†EEES§N2eÊôéÓñècbbâëë{òäÉÕ«W㸸8¼}—mË䯢¬¨¨€“¼R]]­ðˆŠüü|ðßÁwÙŽ=°ð tNNNxíeU];vlÊ”)S¦L¿Ã8;;/^¼øþýû°s w¯Ø'xéÒ¥W¯^‰ß?ˆXM.—+só ï]’CdÏ9ùTWWÏ™3gä„,•2jãUÖ6-Z´€½ ìƒiÙ€ó€¬ùˆVÉ2ŒŒŒà ¿0·nÝ§Ž® P³ WªGFF ü™ŽŸªáèX6}ûöÅ›ª««W®\‰ù¦ÄZ“…×Áák°¤R)x UÖÌÌLh*9ƒlïÛ·{¯×ÒÒâ;‚522ý0µ±±Ñøwrmmm8/¸´´/û ªªê«¯¾Rõ_Ô;$¹wïžÂ³É²²²êÀñ“x á$$$(ô2 ËèÄP—êNãh¶7óGc¤×¯_Ãù’–––?üð¾ÎËËÓ ëè:€XTú,Í yA³#m¤öœK#4ÌNŸÃƒ`Ï`xx8?p0±ú(%²1¹šÙ#ÂuëÖÁïûᅦɪU«”V<7†í“0úb“››Û¿ÿáÇ>üöíÛˆõÖ¾øâ‹¹sçr¬WEEEâ¾ùˆi@,|QTTÄ^ deeÁ)àŸþ9ñéëëÿòË/‡>pàÀ•+Wø`_ƒ\.ǪýAûeóý÷ß×ø5uÏž=üÀmÛ¶á϶ZZZüEž×®]cŸª€),,„ñ1ÌÇê¬êjäÉ“'‡>|øð† øw›7o;VÄ"éããƒ]Ëd²   Üå[ZZŠ™}ÙÙÙÁW‘Í›7ó#TTTÌœ9çŸ&ä/ôÒ¥K â>|xÇŽ‡>zô('Y*eÔÆ«¬àœ C‡ñ[ennî‘#G8d͇@´êL~€Âþüóϰ‡ÍáÇñ…¹¹¹ÂúDB ? “|ûòåKøÌ¨ +>UÃѱlLLLà¬ØRÁÙ?ˆñôôÄ æe2l(Ó¸ !äää„/àcƒBØçX³O&©èø ÈݺuSèGªbÖF‘B ,·5k×®=vì˜@äU«Vñ%¼FÔ;(Ãòòò}ûöñ“üôÓOà ­!:áõë×üu=………!!!*=°ÎÔÆÑlo.€:c¤   Øj½k×®ÐÐPh_þù§p+hh‰ AŸ¥q!ohv¤41çRŸ†ÙésÀŸp0ü£fËÊÊþúë/Mý™R"““A,„±±±«V­Â×Ý»w_´hѰ ¯ÌRÿÌ>|qèÐ!Î:/„Ð?þˆutt° … Ûç5pêÔ©5íª/ËÝ݆›Ë—/ç|»(((>|8~gÍ›7g ÄÞ¡*f1ˆ®®.°k×.Ž{†a 9¹¹¹áïÛæææ°‹uóæÍEEEÿìÙ³bÖRîÝ»÷ÀìS§NmÚ´ _{xxðÏÓ-..=z4Ûð_TTäïïÿ戫®F nãããÅ, =#wïÞ§¹@rr2¹{öìÉù ¤äõééé7_Ÿ;w_L˜0AŒ3Wƒ%K–àë?ÿü† ˜òòò9sæÀ²ð—tHsçÎÅŽ†™1cg‹ø;w/^Œ¯½½½ÁÁ$Y*eõOð*BC‡õððððð€jWUÅ!ôý÷ßã‹ÂÂÂÏ?ÿœí·ûÝ»wãÇ练!k>¢Ugò#,EÉÍÍ ääaß¾}0Ñ …Ñ€ª:ÉxõNKKçæa***ÆW££+>UÃѱ8===…v:Î4{{{ß´Ä„„„À×B…æË÷ïßÏ;D±E‹â=›"„¼¼¼8‡é(\t¦0¼– Xööö³gÏÆ×2™lâĉ¡¡¡üiprròÀAG©zïÛ·/¼ôÕ«Wsf2¿ÿþ»J§Å(UéÕ«Wß¾}ñõÂ… a(B¨¤¤ÄÏÏÿIO2uG†f뇬7™C¶ª!#;v –ŸŒ7näÈ‘‰dÿþýFFF8pΜ9ìÍAõSUUååå¥êÈAMÍÉLTú, 91¬@ÍŽ´‘&æ\êS{¾aoÊ7¼®'%%ÿä¼bö¨ì™R"“ £,{dB(“É&L˜€ƒkkkïß¿_*•öíÛwæÌ™8ÂÇ¡\œ ˆo8+W®Ä3Ö‚‚‚€€v‘Ÿ}:ü¬½ oDÀ¨Û¥Eaa!?$ߺukLLL„i›®®îìÙ³=¶xñâN:Á7lØÀy|¿µ°°˜1cÆ?þ(œ=öWw''§ƒÞ¼y322òûï¿÷ôô„[»ví‚$cÆŒp;;»Ù³gùå—üïÆþþþü2b´µµ½½½×¬Y³eË–ÀÀ@X"kdd”šš ©` ¦M›6Ó§Oß±cDzeËØªjúôéìTÛ1azzºÂЇS¡!C†Ì;7%%E bKKKa «¶¶vHHÈ™3gbcc92uêT˜@¶mÛ¶´´Tüë㯺T˜ÐÐP|700ËËËÙß%üüüvïÞ¶aÃX,€š6mš@¹U%§Æ†J–݆aškӦ͊+Ž?~øðá   О†††œz K¥°þÉ^% ^G-¦>™ÿ•Ãõë׳o©*~vSurrZ¶lYxxøš5k8-K}ÍC ZšGd:–aØî„êÞ½û† Nž<¹{÷n¶QØÌÌìýû÷ìTªêXùIHH€ŒI¥ÒÏ?ÿ<$$dĈì#®0 0Ét,Y*2!Q¨”Ø 9ÀYʇϳWgkÛìÙ³Åÿ J=yòä#ÃN"Œ­­­¯¯ïòåËwïÞýí·ßŽ9’ãÉõÈ‘#ìä €µŠ˜¨¨(…Ñär9ûä#‰D’——WK¥®¨¨€¯¬ggç‰'.Y²$00°[·nì‘7Øm‡.2?ê=..µ¶¶ö”)SvïÞ}äÈ‘)S¦pœ¼îß¿RMž<r†Ê”€Âø¬°8 Ù˜˜e‘J¥œ={6ßd‰:}ú´˜J#Sw;vìÀ·ŸëGYUÀ¶VvUõæ(S5YVV¸LnÒ¤INN¿êpíáÕÄÂõÃ^à ~ä ¬8ă.Q!è³"!'.A’‰«fGÚ Ñœ‹xP x9]Imtú™<}ú4¾effÆOûÝwßỽ{÷Æ!ÅÅÅàŒì?vìØÖ­[ÇŽË?«îǼvíg¡ÓÉ“'…ëöÒ¥Ky@ikkGGG³“Ôøúär9vWñôôTø×ʺ»wï*{w˜nݺ±­0¨*9Äù\.üIGKKë×_åg •²ú'x•š5`ˆÃ0/^¼€¥Î|àŒ0hUE‹@ó(ƒXǾ|ùRØ»¶µµu\\çiªêX†H~.\¨,òðáÃÁ7¹B–xK–Š!’ XdB”••±•nÚ´IYLÎ!Ó§Nÿ/*™rª««§M›&æmmm¾­VŒkùòåÇÔÔ”ß0 &@LgggñEVµÔ8ç¡¡¡5Z¤­­½iÓ¦‚‚üÞŰÈÔûÖ­[•-çÔÓÓ—öb XÊ”€ X Ã9r„?ÿÇŒ9R9sFL¥‘©;2Võ£’E€ìu  jTêÈär9û$„°ÿE.—à #„ÐöíÛk¬2–²âºÈDEÕ> £ª×†KY’‰+£Ñ‘6C4çÒ¸‹©…N_³,†anoÄèééíᨙ "„ºwï uÊn‘)%²1¹9WI¯]»M C‡œiõÕ«WaÓ®]»¢¢"N6f{ûö­²¥â˜­[·BäÒÒRŽu——gâ_ýÅ|z¬ÚÚBc8---…[½ g´7kÖ¬èèh8²166߸q#4¤’gV‰Dò÷ßOš4Iá]CCÃï¿ÿžmdEÙÚÚÞ¸qƒmÄŸ»»GFFÂB}…ƒW{{ûÈÈHþÉPvvvgΜñ÷÷W˜ýû÷ÿ÷¿ÿåV*•]¾|™‚ªUÇ~5ÊÆÜM›6]ºt©Jçq4èüùóà¡™ƒ§§çÍ›79_ªk|}‰$ ~²×O²Q&Tnnn<ðóóã'177_¶lÙõë× 2ÀΉJ’CÜ$É®]»Îœ9£ð(ŸÁƒGFFŽ?žŸ=‚TÊêŸàU*+ŽrH ~!KKËèèhöÄ>wîܰ°0Ü 4¢yT-Í£ bÑjÕªÕÍ›7CCCVì°aÃîÝ»Çm¨ªc‘ü¬]»võêÕœÆØ¨Q£¥K—†‡‡ƒÒãK™ŽU5ÔØ"È„Ð××g¯Ý!ÙØØ@Î¥R©JGk«Ô®£Y›% IDATµ´´öïßçΧBÍš5 IIIá†ÅtLì€ØoËö¦êþAUµ™¡¡áÆccc•©µµµGŒbjjŠO#¯*ÉÔûܹs/_¾ÌObkk YegCYÁ•)…ñk¬=e&Nœ˜œœìïï«çôôôÜÜܾûî»?þøvL˜žÙ©;‚Ž ©X?5F {ݨ•:²ß~û ~0`êÔ©ìø‰äÀðýuÁ‚øZYýH$hÂb\C§Ž{F²>KU!'.”5V ª-Wƒ#mD4ç"®%"k¼ÓΤȴì»S¦LÙ¹s'ßêàà5mÚ´%K–(iA@S%PJdcrr®’ÁAm{÷îåL«½½½áŠŒŒ °‘Ùš4iò÷ß/]ºöÆݺu»råÊܹs!ÄÀÀàüùóü£iôõõçÏŸõêÕ¯¿þšïx¡6´DCFòæÍ›#©ã!’ŒÊÊʇÆÇÇ'$$èèètéÒÅÙÙÙÞÞ^ Òårybbb~~¾¡¡a‡Dn²²²®]»Zª««keeÕ¾}û^½zqö8°yóæMlllFF†©©©½½=8µáާ@ööö)))ÕÕÕ/^LJJzýúuÛ¶múôéÃ_3Ü©S§ÔÔT„PXX˜ŸŸ_VVÖ… ²²²¤R©ƒƒC=„O» ¨º),,|üøqYYY‹-:tè f„Q^^~çÎëׯcWyMš4±±±±··÷òòR¿Æ×wäÈü]¨qãÆ¯^½‚U—*‘••‹zoÖ¬™­­­_›ˆ|”ª’CFYYÙƒîß¿Ÿ‘‘¡§§giiÙ·o_öêe¤¨U_¥Æ!?LFFÆ­[·’’’Œ=<<ÜÜÜjôrBÜ|T­:“òòòââââãã322ìì윻té"pö9™Ž%|8`\\\uuµ•••‹‹‹²>ˆLÇ’¥ˆŽý HJJzüøqZZZzzzYYY›6m¬¬¬¬­­ûõëWG­×#oß¾MLLLJJJIIÑÓÓkÙ²%>xûQ‚NA&“Ý»w/::º°°ÐÁÁÁÓÓ“ìØ,2%@LNNNiii›6mp{d¦I“&ïÞ½C¥¤¤|£æ£ªº#£6ê‡l   aU£Á1’BêçèÑ£“&MZ²d 8TV¿8dˆŠø>‹…œ€Ú¨@ÍJ‘ø9WíQ¾fÉËË»~ýúÇe2™¥¥¥»»;{9azzz\\œT*uqqak~ö(¬ÊÈ”Á˜\5jÚÚVeÄ §²²2))éÞ½{ÅÅÅíÛ··³³ëÔ©“2sØÍ›7ž={†GÎÆ ƒ½Û¥¥¥·oßÎÍ͵°°ððð¨—UNNŽD"155Åù‡RೕÁ.,Ã0è=)cÇߌˆc¬¨ëã€3M™ŠcÀªÅü}P 8ðêÕ«¡9sælÛ¶­¾³C¡Pê2K–ŠB¡Ô*ååå°´gРAü;IIIxE†––VAA²MX”‘éÓ§8pàÂ… Âm>t¨S(”ƒú5`5ã1…"@JJ ¶^I$8‚B¡P(ÊÇÁÛ·o‡ޝ8ÀÙ›&—ËW®\‰¯½¼¼èÄþcâàÁƒ‡ÖÒÒâl*ÿø BN¡P(êó‘ìS |”$$$¼yóæÑ£GàôÊÇǧ¶TS( …B©cZ¶l ûƒV¯^Í>â­°°pæÌ™'OžÄ?•yµ£|ˆ”——ãsÁvìØd>V¨S(ŠúÐX”†‹¿¿?ÞM‰‘H$K–,©ÇüP( …B©%æÎ‹¿W={öÌÕÕµk×®Mš4yþüùãÇaOAïÞ½g̘Q¯Ù¤h©Têçç7qâÄÏ>û¬¾óRP!§P(5¡,ÊÃ7ß|ãîî^ß¹ P( …¢y¦M›–½lÙ2†aärùýû÷9¼½½ýõWs')ÚÚÚp¾û§r …BQjÀªE¬­­ÇŽ‹jÛ¶­øT>>>øtLþáîŸøxx}}}‡Ñ£G7®¾sD¡Pd:–,…B©–,Yâëë»uëÖÈÈȬ¬,™L¦¥¥effÖ³gÏ€€€qãÆ}4gtR>Y¨S(Š:ÐS) …B¡P( †aÞ½{gddÔpŽ«§P4 r …ò!òqžB˜••uá„P›6m>²míEEE'Nœ@™ššúùùáÀŠŠŠ¿þú‹a‰D2bÄzÉÛ?ÿü“––†8p`ûöí…#7<× ©©©ÉÉÉ¡öíÛ»¸¸?瓪´†@Cnn …B©=ð฾sA¡Ô"TÈ) EUjkVxx8>A£wïÞ7nÜ ÉZC%!![@Z·nýüùs˜™™Ù®];|ýâÅ KKËzÉÛ˜1cNŸ>Ú¿ÿ´iÓ„#7<× ß|óͦM›BÇŽ#~Î'Ui †ÜÜ( …B¡P( å“¢~W`Ñ]ÖµËÎ;=<<<<}úpìM›6½zõjÏgSXX¸`Á‚&Mšð+¤sçÎÿ(0ÕEFF†‡‡·jÕŠó@ÿ¢¢"NªÐÐP|700sëÒ¥K}ûöågÌÀÀ`Ò¤IYYYu\i"%G¤T¿yóÆÄÄß•J¥111œ¿»víXÖ\]]ÿøã…ÿîää$&ó©®›ævæÌ…f¸aÆq^4Ã0ß|ó ¾»råÊgÏžõîÝÿÔ××_ …B¡P( …òÑ““#“ÉÊËËËËË+þ¹Á‡T°ÈÏÏÏÏÏc›ªõSccc{ôèÁ?RñÝ»wþþþ_~ù%'¼´´têÔ©'NÌËËãÜzþüy``àÒ¥KÇ+‘‘‘...ÿýwUU;¼ªªêÔ©Sîîî=â$‘ËåóæÍ ÎÊÊb‡¯ZµŠŸg„^ľV–I'+ibb¢‡‡ÇÕ«We2;<&&¦_¿~0Û?Ïœ^»v­Gÿþû¯\.g'|ûöíˆ#®_¿.òÞ½{ׯ_¿~ø¡  €7))iêÔ©›6mR5Û»wï?~<ÿŒ¼°°0WWWþkUÈáLJª°,eeeGŽñööÎÉÉáÿ;ªµJ«Qr*RݬY³mÛ¶A†§NZYY ñKKK§M›†Ÿ¬§§wäÈ1ÿ.T×Ms«ªªš?þ¨Q£Þ¾}ËváÂGGÇßÿ]aÚ/^ôïß¼nQ( …B¡P( ¥î©õ-„¥¥¥¥¥¥!WW×!C†˜ššÆÄÄœ9sÏ¢÷íÛçãã3jÔ(ˆtìØ1|mkk;jÔ¨V­ZÅÇÇGFF¾xñ!´zõêÜÜܽ{÷Šù÷G <Oòµ´´|}}»wï^XXxûöíëׯËåò'OžôìÙ3**нoÉ’%[¶lÁ×50`@çΟ={vñâŘ˜1=eÊ”çÏŸ_¹r%)) !dcc3räH„P§NˆKš——çååÛ»úôéc``ƒM’bò&˜Ï÷èÑÃÛÛ»¢¢âêÕ« ¡ÒÒÒéÓ§§¥¥‰yÎöíÛãããñµ»»{@@€MIIIttô‘#Gpq¾ùæ›É“'›™™‰Ï^xx8BHOO¯ÿþ}ûöMMMˆˆÀƦôôô   ÈÈHá'Ï›7[šôôôfÏžíêêÚ¸qãÌÌÌ_ýמž¾fÍšíÛ·‹Ì•ú•V£ä¨*Õ'NT×MsÛ¶mÛO?ý„¯­­­?ÿüsWW×W¯^EEE?¾²²²¸¸xÚ´ižžž–––œ‡ïÛ·® ù( …B¡P( …RëÔöB„D"Ù°aCuu5ܽxñb£Fð]{{ûÊÊJ~÷î]ØÍ4eÊ”’’HRPPàææ†oI¥Ò—/_ŠÉ†Nbnn~íÚ5ö­£GÂ&¯   óæ¡¡!oß¾}bb"Üzúô)Ûa{OSFF„¿xñƒƒƒq ¿¿?ûßÉJúÝwßÁ¿,\¸]¥›6m’J¥pWÌBeyž ·n!û_är¹¿¿?¾Û­[·º¯4e’ÃIu^^ìéÓÕÕÅR‘½½½år9ÄgRâ3ÌIuÝ4·‚‚Ø9èììüúõköݰ°0¨‡1cÆ@8È fÔ¨Q?f×…B¡P( …B¡|R|ä[B&LX°`Û%Ð!CÖ®]‹¯ñÂ|=oÞ<†aB®®®ûöí#BÈÔÔôòåËÍš5CUWW=z´Æÿ½|ùòßÿ¯÷ìÙÃñs4a„•+Wâë°°0Ø‘·uëÖ’’„T*½xñ"_BÖÖÖgΜa»î&† ¤………»víÂד&MZ»v-»JCBB¦OŸ®~Æ8lÚ´iþüùðGÚÚÚ«V­‚»Ïž=«ñ ä§§ãëÙ³gs|6¹¸¸tíÚ_ÃR ñìÞ½»uëÖðSKKë—_~/æ?üðƒprX ååååêêʾ%‘HÀ&¥jÆÔ¯4Ȥºyóæ{öìÁ×Ó¦M{ÿþýÔ©Sñê3SSÓÇ“9ægC ÕuÓÜÖ­[‡wêééEDDpúùùù­[·_Ÿ:u*99™ÿ„ÀÀÀÓ§OÛÙÙ©_K …B¡P( …B! Ö X:::ëׯç‡O:µqãÆøÛ²³³oÞ¼‰CÖ¬YÃ^O„1110`¾>qâD ëkÜÝÝÁ»9___|QXXxáÂ| S뀀[[[N+++p×M YIOŸ>Ϲ“J¥‹/æ?vÑ¢EüSêÔÁÊÊŠïÈÑÑ2œŸŸ_ãC$É:tøðá>}úpî–””o{ìÝ»÷_|Á ´°°˜9s&¾NII~ˆ#:tèÐ!Ø\Æ&33“ W©4Ȥ!4zôèI“&áë»wï:88<~üÿܵk—È‚Iu47„Ôƒ¯¯¯Â³G¿üòK°”=|øs×ÀÀ@¼6 …B¡P( …B¡Ôµî«mÛ¶-[¶ä‡÷êÕ O,Ÿ>}Š‚é4BÈÎÎNá<¿[·n¿ýöŽÌ0Œðjx ƒƒƒÂ§™››7kÖ ßÂN¯ËËËဳ±cÇ*|ì Aƒ`1 d%…åB]ºt±³³ã'±²²êر#ö¤œœœø1}}ývíÚáEIGòÊ`ÿÌÍÍÍÈÈÈÈÈxúôéž={ÈìD!önA6°Š§     @áчGGG¶ï3™L–™™‰óõË/¿äJS•¦ ©¶n݉}¥ƒœûûû?^,q2†DKuEEE47†a` ²’šššºººâ³&øîÿœœš½( …B¡P( …RgÔºËÚÚZÙ-+++| Xìy#-™LVZZ ÞsÄ«l„ˆçÛÏž=ƒÃãÚ¶m+œmbÈJ “peÃyÓ «yóæ à ÖyUVVîÙ³çĉñññØ©¿ú€nl›Tzz:¸^RFrròúõ룢¢233U¸Tˆ+M!R ˜˜˜:thàÀPÌÖ­[ÿüóÏšÍ-ÕÏŸ?¯ƒæ– "×¾}{eÑ,,,ð߀%ŠB¡P( …B¡P(uC­°Εƒ-„åååHuOCåå嬲²²ììl•ž†þ×?‘²5*”§²’BÞLMM•ÅT?olLLL4òœK—.Íœ9Sa©›6mŠ ¬Ø»á°%eÈd²Y³f9r¤ººZSyÓT¥)„LªÙtïÞ½qãÆp¥›››€8©T×MsÃöqL«V­”E #¿ÒøÛ!) …B¡P( …RÇÔº »mRHnn.¾h×®úß™ÿ·ß~+üX©Tjll,AOOOOOÏE===½¼¼„Ø¿„û™EEE°(ƒM^^žð£j„¬¤7þ[ƒyc£Õ=òõõ}ÿþ=þihhØ¿ÿîÝ»ÛØØ8999::<øÚµkO.((Pž““×ÂBòí·ßÕTWל®åTõéSUOžà‹Ó(Ð[¨Ý€ÅræÞ‹!dccƒ3f þ©££óõ×_ëëë+ó¿:::¶¶¶ø@1___rè!;ô½¥ÊÊʈHtÈ®=¼á÷¤vvvW¯^E´rS‡l*ççŸÆÖ+@ðÓO?…††2Εkiiá—³¬Å’¤Ër˪ªª={öà°‹‹ËÉ“'q;$¤§§óL}ðkÕ„3gÎH®:\½zµ———¬•ÜáѪ5ÓÝèÿRZZjee%™†¢(â¨Åh€6 öSïÞ½+uÑSMMMJJ 3 Xb±8''Gjn/^ Þ¶m›Ü¿&feeIMÐÓÓ³víZœa^^BÈ‚,l<þ¼Ô»._¾,÷¯9 ¦Ð“’»nݺU[[+yKYY™äö=½Î7p`É’%ëÖ­cX¯š››e•€\p•I‡ÎÎÎ, ÐrssÉVPÑÑÑ’f "¹VÁ£UcjkkÉñˆVVVÿïÿý?®©© U¡`Ü[µfº›‘‘ñí’•[jj*QS`ÀÐBÔnÀB}üñÇ’‘‰D!ccãéÓ§#„ìììúõ뇯îܹSò‘Hôá‡FFFFFFVTTÈý_WWW¸té’ToÈÈȽ{÷FFF>|xРA8ÒÍÍ :$¹ÝxuuõŸþ)÷¯Ùá÷¤D°ÎÎÎHÞµk×®îîn%eS98@ßšŠpòäI©ûOqáúõëô“ïÈßýòË/8,ë˜BLyy9 KžêØÞÞ~îÜ9~‚©~­!JíþòË/áááS¦LÁ?Oœ8qäÈ%S²U«¯»!Z¡ýúë¯Xí0ˆŒŒÄssóW_}UùT‹& XQQQûöí£Çœ9sfëÖ­8¼fÍSSS„ÁæÍ›qä‰'È+%¦³³síÚµd™ÏŠ+äþïºuëÌÍÍBE­^½š±™ÎÍ›77mÚ„Ão¼ñÙÝù›o¾ÁÆÆÆ… ÒwojjZ¶lËT’èêþï"Íœœrà¿'õõõ%™mÛ¶1Ì+ÇWÕqrªeìØ±8põêUFÑEDD¬ZµŠü$åÑ––– ÐW 677/]º”l»æïïÏr;}ÁÚ?ÿüC¿T]]íççWPPÀO0• µå ¾­úÈ‘#'NœÀáŋϛ7O DDDáȵk×Òë‘Geffr˜_«Ö@wCmÙ²ª««W¬XÁÈóÀÄ"NÌp\˜9s¦—————yv@¨},Ìš5köïß?mÚ´äææž>}û nذ$Û¸qã¡C‡ŠŠŠÄbqppp\\œŸŸŸ‰‰Iiié_ýEÖC…„„pñ’011ùᇂƒƒBiii&L ±µµíîîNKK‹ˆˆ 2½B>>>'OžD]¼xÑËË+ ÀÑѱ¸¸øÈ‘#……… =¸§§'Ξ={ìØ±|ð½½=¿'ݹs§»»»X,nooxë­·<== ®_¿IÄi>>>xë®ìììñãÇ/]ºÔÁÁ!==ýÆô”±±±C‡:u*Ýoˆ‚‚GGÇ3f¸ººÖÔÔDEEŸ¬U«VM:•å^WWWccclÿzûí·cccçÍ›W__Ÿ˜˜xíÚ5úùƒÍÍÍ»vírssóõõUèÙ•AVËáѪ?~¼víZ655%ñ#GŽÜ¾}ûš5kBMMM+W®¼téÞ„ÞÐÐÐÑÑo¶µqãÆëׯ7ŽÞU¥Â£Uk¦»yyy-Y²$&&!tüøñG-^¼xôèÑOŸ>MNN>zô(¾ËÌÌìÃ?Tè“““ñoRw TÆSPŠ…ówvv–uì—™™Yrr2ãÆôôt©kÍîîîmmmÅ‹Å|ðKn:::ÇŽcÜU^^NÖI2wî\°¶¶&·”””ååå$¾®®NGç¿ÜÜbcc•yÒÝ»w …B©éõôôˆÉ&""BnáÈ’ùÝwßÅ‘aaaRo´··çþ/mmm$½$>>>ŒÈÏ;Çž!ÉÅSÆÕÕµ½½~Wxx8¾´bÅ I?‚P²0#""†Nb&L˜ ±B£X[ŽB­Z,Ó y¤ÿ‹X,¦[åöìÙC.………Ñótrrâ"6V­™îVQQáááÁ"بQ£²³³é‚Im3 ˆ Û‚ ¸”ÀóKeeeUUUGGGggggg§èÿ¸ÁJ" #¢QWWWWWÇÅ6¥®%„d-§§ç… $÷EvvvNKK›â‡¤¤¤Í›73êN3…†X[ŽB­:&&æÊ•+8}úô¶Œ€Ê¸}ûvqq1âܼµŠ¢NŸ>ÝÓÓ#üýýõôôdEª²²² . „† 6{ölÕfþ"‘———pïÞ½úúú ,^¼øåT ÍÍÍÿý7BÈÄÄ$((¨·ÅQí”\k5•º5Éþ¥Ö¿{ÑÚ¦¢ "‘èĉ………>ÔÑÑùý÷ßûöíË’¾°°ðÎ;¡Ñ£G»ººâȲdÔvêC@Úðöª$ŠN™:::>LQ”ŽŽÎÊ•+…B¡fäô””‚,Z´ˆŸ0±±±E½ûî»øgXX˜¢­*°ÂDEE±'®ªª"‰÷îÝ‹#•,„ØØXzä¤I“äÊÜÒÒb``@¿ëÙ³gäê믿Ž#§NªDÁ¨— `!#""p ÝX^^޻⪅ôôU«Võ¶,\yöìiÅÅÅ,‘*$** gîíí­òÌ_~þùgúd+<<œzYHNN~dkkëÞ–E1´Sr­ÕTêÖ ÒÄÄD2eKKKss3BÈÌÌ 5ÕÒÒ’‘‘‘=dȹBÜK©»»¯"ÁˆD¢+W®µ¶¶Ž?ÞÃÃÃÜÜœž^nMõôôtww#„tuu¥ž]R[[›••õôéS[[[,›‘‘‘Ê˧­­-%%¥¤¤¤¢¢bÀ€VVVvvväø$Ô××ã éôõõ Äž¦_¿~¦¦¦ åÿøñã”””ÜÜÜ#F¸ºº:;;Ë]ÖÁ£“²  PSç^•Ož<¡(ªoß¾ƒFQUTT”––VWWçæææææfllLO›eWWþÙ§O‘H„ÒÕÕÅÈP ’”––feeµµµÙØØ¸¹¹É:Ê­¹¹ûŸ›˜˜J&À:D Ð7YhmmÅ.·400‹Å‰‰‰999`ݺuŒø\•••ééé---C‡õðð`”;ÜÕ)R¤9ÂCr…´º\JJJrrrŠ‹‹ÆŒãää4nܸ~ýú1’IÕTD瘚šâ[ÒÓÓsssëëë‡îééI]‰DYYYéééýû÷÷ôô´··g¨#Š¢p» …¸¥¦¦–––ZZZzxx899±ô/”œÉí_îÍCn§ÀJ@(â ëëë>|د_?;;»×_^)))eeex0`ËãpsY:…±±1AMùᛣŽâÇNÔÙÙ‰h,@€«žýBY°÷r{"wMűSs„û$MÑ‘Ke49FÑIš2ÏË}ÎÌ=O:ø³½™™™££#ËÀÜYî3=åK)þöªLÓ}úô)î°FFF ØÞÞNާ777g,H´“±±qÿþý‘ï\˜êêêøøøÒÒR]]]wwwwwwö–Ì}L§(êÉ“'!©Þammm äY•xÎPÇ)„² +44”%ý‡ŒŒ {{{†Ìfff)))Rï­®®ö÷÷gÌótuuzåO!”ÇB §öíÛ÷‡~Àa©‰È”b÷îÝD œBxøðaI=>lذ¿þúKÖ-?ž2eо¾>ýüü|ÉS?~LÒTVVRõÏ?ÿHmÉÎÎÎô9}ú´T 5kÖ¬²²2†H­­­øª@  (j÷îÝdÌØ¾};—r¨®®ž:uªäßÙÚÚ=zT2ý¥K—|}}%Ó¼óÎ;’ãûöíËÏÏíµ×/¼zõ*Qy—12ÆÇÇGGGKn…¸téÒææf’^nM‘õï¿ÿ>ã¿%ï511!mC%åÓØØøé§ŸJµ999ýñÇŒôO!|ã7ðO+++±X,µðÉûí¼yódU†~ aEE…äæz `QS<:) Š6u…ª²´´_Èôë×ïúõë«G)‘Á8((H–ü¶¶¶¤—É­)Yçjgdd°¯5˜:u*ã$o~åÓØØ(×ÍêǤßÂÑ€õË/¿˜äädÉò§ŸëtäÈöÊ"¬~ýú±l ‚çtøuRmêŠV%éï ælI,X€?R4ÍÆ <<œ’}&´H$Z»v­¬üç΋®®®ä"Ô²é,ú@CÞåV¯^=räH’†>·æ1rõôô„……ɺÅÃÃä¾öÈí¤<*‘~’óÐW,ÔÕÕÙØØ°ä¶dÉú„[ª¦"‘óçÏÇŽB’|óÍ7Ë–-“zÉÈȈ>‡!}ÜÞÞž¼Š0›7o¦?‹KUÓ!öþEñjì‚ÞgCCC¥æimm}âÄ Yóà  žžú?*4æ²t ~ƒ¿á‰‡ŽbG¡NtýúuYÉävv©,©%ý'Ê-yE;5;ŠNÒxŒ\UirŒ¢“4ÞÏËeÎÌc¢KQTzz:ÖG°²²"¾]§N"·ÈdyÌôø•$¿·W•4Ý7âĦ¦¦ŒIùžŠúàƒ7’a¿ê*úÎEO?oÞ>G677¯\¹òÎ;$ñ½{÷¦OŸŽ]”ñ·Ž &466¦¥¥%$$ˆÅâLš4)))‰eµšBQÔ°aÃ&Mš„/ŒŽŽþ׿þÅHCÖáС¡¡GŽÁa[[Ûùóç:4'''>>¾¼¼!´mÛ¶êêêßÿÜRSSãããCü9^{í5ƒ¤¤¤ŒŒŒÿ5©Êcܸqaaammm$çåË—›››6 ÿüùçŸwíڅãFZ¸p¡››Û“'O’’’Ο?ßÕÕÕÒÒ2yòd©¶€¯¾ú ………\?çæææ… ÖÖÖâ[&Nœ8kÖ,KKËÌÌÌ?þø;!¯^½ÚËË ›çZZZ6lØ€ÝòõôôÖ¬YãææÖ¿ÿÒÒÒcÇŽáæ]\\üÝwßíÙ³Gòïȇú‰'¾ñÆ"‘èêÕ«ø»D[[ÛªU«ŠŠŠä–¡’¥…÷óóóõõ-,,¼xñ"6㇆†ÆÇÇ#5%•ÖÖÖyóæUVVâŸÞÞÞffféééqqqøé®\¹²eË–;w*Y>{öì!#¢§§çòåËmllZ[[SRRþüóOÜP?ùä“wß}×ÌÌŒK©–,Y²~ýz¼îæøñã“'O–%§¡¡!qí‘K[[[[[BÈÍÍmÆŒ&&&§OŸÆtàÀÿùóç“ô<:) Š6ueª²©©éÔ©S!ƒ+VXYYœ;wø=uêTLL þr¸téRWW×[·ná¥ÓC† Bùùù±<ËŽ;Hÿ …'N|øðáÕ«WÛÛÛÏž=Ë¥@âÀ$lhhHº¿‘kóæÍ?ýô÷ë×oÊ”)NNN=Š‹‹kllÌÈÈà(•ÜNªd”„ŸäJjuëׯøð!BH__æÌ™~~~VVV%%%,((@ÅÄÄLŸ>ã–Õ§OŸFéèèÌ™3ÇÙÙùáÇ111¸;lÙ²§4hМ9sôôôâââÊÊÊBÏž= #G¼ qÀÆÆfΜ9¦¦¦W®\IKKóÿmÛ¶M:UªSN‡Øû—’ÍCV§ üöÛo¡Q£FÍž=[__ÿþçpù”——/\¸§ñññqwwÏÏÏOHHÀš0:::88xÆŒ8¢c.K§à7¨žT®£êD#GŽÄ†•½{÷â†0bÄ%0ÒáÞå–¼ ;µ2“4î#FUšœÇIšòÏ‹dÌ™ùåÙÜÜ<{ölò"`nn>mÚ´~ýú%%%TTTTTT°<µ,}¢ÌLO¡’$(ôöª’¦;{öl¬còòòÈ)±"‘ˆ>Ê0 ÓX{ …ÂéÓ§KÍ™»Ò;sæ BÈÂÂ"00pĈ÷ïßÅÅ{ìØ± ,^¼˜$V혮¤äÀs‰6{`!„ pùòer©§§‡~•þÉÑßßGš››3>d>|˜XÐÙÿš@÷À277·g…þùQåX¡îînÒÏ)ëë뉫m^^ý,Bõy`¥§§“ÁÁÁ­­­äRCCùj$ +**È%bG}ñÅt{üŽ;èÞ³,X¼âCÿÒÐÐ@üQÇ_[[K;**Š´„€€Oÿš„2119zô¨,Gk›6m"7~ÿý÷ôKçÏŸ'—vïÞ#IÍêèèdffÒÓ‹Åâ¥K—â«îîîôKôf¯¯¯¿sçNRz]]]³fÍ’Z²àWJtwhSSÓÇ“K===ô<ôc²jŠ’ñI–x; ‚ß~ûž¾¥¥eâĉ¤iÑK_ù899áÈÀÀ@ƪ“ììl2M?{ö,‰çèEQù5lØ0I/'òÁíÍ7ßdVÄ;Ë?ü@ï;qqq䫾½½=y~”E›:ª¤÷w„——}9Þµk׈w:þÂF '£1ô›TR[[‹÷z@ÙÙÙÕÔÔôŒEI*ôÀÂÌŸ?ÿþýûôöÀcäzúô)Ù„kôèÑyyyäÒÇ韚9~·gé¤üú£,øIÎO_ÉB$‘-9«h;;;gΜ‰/Mš4‰Ä³»Õ „œ˜˜H.:tˆ^éÓ¦M£ËLÜj™_Ñû8¢ù7a®^½JžÑÍÍ´YXªQ²û¿æÁÞ)J $$„¬Yknnvvv&—tuucccI¶< ýzíÚµ$žß˜ËÒ)Ôx Oüt ¼;y¥OJJâòGg,=QVÉóÈŠ †ßÈ¥rMÎo’ÆãyåΙùu:ú&¿»wï&:¡§§gÓ¦MôUÕR=°0’ƒ,™¿’äñöªª¦ÛÙÙIò¡¯:”\ \UUE®ë¡ŽQô‹Ñò—/_N÷ÊÊÊ"rѵ?u¤¨»ä€òÀB&ôN¾oß>ÆUì8€¹xñ"޼té‰ÈQuðàAm[š1`‘S*ÜÜÜ$][ÉÆÕäE·¡¡LÈÞyçÉ<ßÿ}"9oÖ§Ÿ~Š#õôôèjš@6CåççãHú`Ü·oß;wîp,‡ÊÊJb;X°`d2ƒ'Zøûï¿Ç1R·® ÕgbbB§w É6F_vá¹bó+%úˆ.¹¾²²’ì b±˜lL/ù_d«©Ÿ~ú‰Dr7`¿H„Ãc<33S¡ú¢¿Ü¾ýöÛ’ È'\„йsçp$NÊ‚¢M_UÒûû°aÃ$uõœ9sðUOOOz¼B,⸮§§—Íø‹üü|2yR­‹>Ãð¹Èo¡PXTTĸ¥´´”¼,)iÀâÝeÁOr~úJôÁ=''‡qõÂ… ø’……‰”k•`ìôÔÝÝMÞ%ŒñîÎüQsûömIïã®®®’{åÐ=¯/]º„#¥j•O‡(ý‹wó`ïô>;zôhFQÐëzãÆŒ{±wúï×~c®š X‡'~:ŠÞH},=QVÉóÈŠ †ßÈ¥rMÎo’ÆãyåΙyäYYYI΢ ’¼‹ôn$Û€%©OøÍôø•$·W6]âËOW¶Û¶mCÿ ýqȬ†L•1`1‚þ¡³jÕ*|ÕËË‹DòSG`ÀÒ6z×€Åÿ* `aa!¹‚••±ƒàÅ,!bîñôô”ºþœì0ÚØØH4Âs„••Ù˜{´È{ò’%K4#Leeerr2÷Ýw’û0€ìüú÷ßãÀ©S§ðQB¡îÊAøòË/§cð€Tn`` Ô³–Þ{ï=2'¸{÷®d‚>úÈÁÁãߥ¤¤à%]!É3ÅBŸ~ú©•••••i«sçÎ=tèСC‡ˆWúþµR>|ø{ï½Çˆttt$µPWW'Wl%KÉÛÛ[²±YZZ~øá‡8LCSˆ¤¤$21"¹Ñ8p ÙSFjõq/@pðàÁC‡EFF¾öÚkŒ[Z[[ŸrXÐÊÂܹs‰¦b,Å' I,,,¦M›Æ=Ï>}úlß¾]2~åÊ•ä¿ð"~”E›ºòU¹iÓ&ÆÖסñãÇã—v. ²QàG}$¹5†££#ÝÑ]UìØ±ƒÉoä:|ø0,_¾ÜÖÖ–qËðáÃÙ7>ãŽò•È€ŸäÊku:ôSAÃÃÃé³[„ÐŒ3ð܈,å“ËСCb …B²±ÈìÙ³{QÑwx‘ÚŒwìØ!yÐÛ¦M›H$»‚ÕØtHùæ!µSÐ g}õy5"²¥¬’c® á><©\G©¶©öDÕvj% ÷‘K}š\¡Iš’Ï+uÎÌ#ÏÔÔT|.³P(üõ×_%lÙ²…ý°N©úDÉ™¿é.÷·W6ÝÙ³gãÝë*!!H["«Åb1 “{•áÓO?•Üã´ òÈH+ÕðÜ¡Õ{`ÙÚÚJÝ<ÏÄÄ›BÈGïû÷ï〃ƒƒÔ¡¹¹ù Aƒð¥{÷î)$ÆgŸ}Æþ’Y[[+k£V„µRtt4ù‚ZWWG&:ô¯j…”6BÈÎÎNj»»»cËÚýû÷)Šds;;;É[†>vìXÞ¾o!Š¢|¸ÿ~%_lôõõ-ZôÇ „bcc±Ìò†$iZbaĈR7f666~õÕWñœo¦À¯“²üµ¢M]ùªtww—¼…|•ÛÎY Ï"õ8E„Ðo¼ÁøN <ÎÎÎ’5#Wgg'9'hÑ¢ERÿkÚ´iû÷ïW^få+‘?ÉU¢ÕéXZZÚÛÛã÷+W® 2dÁ‚óæÍ{íµ×¬¬¬ý‚ R'*d/y8½ˆð1tôôôˆï$>}úŒ;6//ýwg”D­Ó!:*Q×Rß^cÇŽeÄ‚’›Ç“üé«ä˜«B¸OªÕQ*ïD*A…=QµZÉÃqäR«&Wh’¦äóJ3óÈ“4Qwww©³GKKK²ãž$²ô‰23=~Ó]îo¯*lºd½auuuaa!ÞPo¼emmŠ×¶£UVV¶—Y[[KÔ)ŠÔQ€¬:"¬êxîÐj–¬£m$õiߨäÏž­¢Ÿî_yåY'Icª««Ê‹-Z¿~}OOOQQQvv6>¨èĉxMÉ[Õ]›H~5bÐÑÑÑÖÖfhhH9jP’áÇ+cÀª¬¬$N"’¯ rb”TµÈr£$䡆ªÐ éÎ;Û·oOJJ*--¥(Šûƒ–ÏÝyMùR7nœÔ[èó•ââb²ËwÈÁD"QII #¥¢åÓÕÕµÿþ¿ÿþ;''‡‹ªX±b6`•””ܺuk„ ¡œœò˜+V¬P(C–Ó¾ˆë6`ñë¤,i0I: IDATmêjªJå4«««Éà²ÞºYto¤–‘ëÑ£Gäå\–œ²NqRå+‘?ÉU¢ÕüñÇ3fÌhiiAuttDEEá|cÇŽ>}ú’%Kˆ¿3Ø[ ËQ€R9r¤¤ûÆÑѰH½HE­Ó!:Ê7¹£-KÙ8P¡ÝÄy¹*„ãð¤r¥ŽN¤TØUÛ©‘ª'i’#—Z59IïçeiQ åIæ²Ú–B\Óq™ðë¤,(ÚÔ5\•Ü¡n•Õ’Ùÿ–ŠÜ”T,üF.¢HB²¼W”T¤å+‘?ÉU¢Õxyy%&&Ι3‡áuxïÞ½={öøøøxxxv{.»c£$,ã#Q&,ÚU“Ó!囇ÜÑ–¥l¹¬’c® á¨ÓT®£ÔщT‚ {¢ ³ÒÌ$M­š\¡Iš’Ï+µóÈ“4{ÈÞìeéefzü¦» Uœ ›.1EᕃÄÙÊÏÏO(’WH|Uå,ŽO­>uôœ¾ÝüÐj,Žèéééééá†;yòdöôìÇ«k3AAAXãÄÄÄlß¾½¶¶–àªI}xþì³ÏØ …B¼-ÙÔ–EÅÔÔÔ(#Ý…äÙ³g²¦d$`ñgáù,뛹$Ÿ}ööÊÁØÛÛO™2ÅÎÎnìØ±nnndŒ‘Š¢¯C’(_J RoÁG cHuó“qÆTÁB#GŽd\å^>÷îÝ $dhhèçç7aÂgggGGÇéÓ§3ŽVeË–á4±±±xû*bÀRÔý !„Ï¥Bü@q™ðë¤,(ÚÔ5Y• AŸ¶µµI}C¦O°8ÂØº‚ üF.zM577“¯”t”T¤å+‘?ÉÕ¤ÕÇöìÙòòòóçÏ_¹r%!!þ×·nÝš={vjj*ÙTXcÈÒ®ˆÖÇYz«&§CªmêCÉ1W…pÔi*×QšŸqG…=QUYif’¦VM®Ð$M„Gž¤Ù³xHñš•œé©oºKGUMwöìÙxžyãÆ DÛ ëù)S¦œ:u !týúõùóç'%%!„úöí+k²šPŸ:â1 ž_^–ŽŽŽ­­í;wB¾¾¾ÿþ÷¿{["u±páÂ?ü°»»ûÑ£GéééYYY===¡W^yEê®Rj‚ø÷êèè|ýõ×_híìì°õ­¬¬LV²#?è…PZZjee%™†¢(2ÚØØ(ówô”%y}}}jj*B¨ÿþ>>>UUUäØZ—“'O2dHOOWR$¹(_J²–y’BüaÙXv% ëV,--%7ŒäÎÏ?ÿŒç4à§Ÿ~ eìŒ=º•dÅŠØ€õàÁƒììl²Ü›o¾©hnôo¶ H·Âõů“² hS×dU*ÄÈ‘#uttðÚ²²2úwTBvv¶¢ÙòÐ]üF.zÿ-++“ºÚBIE*ù_*©D~’«U«[[[¿÷Þ{x_íÛ·oŸ;wnÿþýX†Û·o'''kxfzðàAGG‡ÔK ‡Å¤ÉéÖöq:Ú0æ*ŠÊu”æ§FŠ¢Âž¨dVk0jÕäÜ'iêx^~y’4²Þªªªèf#Ž(9ÓSßtWå{——^'X^^~ÿþ}|’ÏÈ‘#ñA6É'[æûúú²o¡rÔ§ŽT5óž ´z !wˆêÏÊÊ’š §§gíÚµÁÁÁÁÁÁx‰ç‘AƒýMÖjlûv )m±XL?Ö”ÎÅ‹qi“3\É]·nÝ¢ŸFA(++Sr©³‘‘ùŠuùòe©iRSSÉ ågiä¡îÞ½+õ(“ï¾ûnΜ9sæÌY»v-B(77—¸RGGGK €?›¨åKIV"G#;;;ós}'ÛÍ›7eÍ*Nœ8!K0… E½dÉ’uëÖ1æ4ÍÍͲڶB¸¸¸8;;ãpll,q¿š‡wíÚ…-wd¼7n^²WXXxìØ1©ªõƒÜá­Žè¾’Ó0‘HD¦ÁÀËÀ bÀ"Ç _ºtIª½<22rïÞ½‘‘‘‡VôŒ!­béÒ¥8°gÏâõªÉõƒ!;;;ò)uçÎ’ D"ч~YQQ#ÝÜÜp ³³óÀ’wíÚµ oH¯ ¤%üúë¯"‘H2Add$˜››K=ìI!&Mš„d\}úô)9AfÖ¬Y¡òòrrUÒi®½½ýܹsJŠÄ%KéúõëôCî0¿üò ³¿_q¬¹¹™îN(++»ví/\¸ß¿`ˆ³±ÔïÛ'OžÄîÊC– ÆÆÆ’°Þyç~¹}üñÇ’‘ÄõhllŒ§/ü:) Š6uMV¥¢£ÍvíÚ%Ùþùå©3E2pHú>TTTÎ Áoä"ºôСC’«-ª««ÿüóO°ˆ§ªJä'¹jµúƒp³ÿá‡$¯<˜4UiE‘zîØÏ?ÿŒwZÑÑÑa_Ñ£±é6÷q‚–Œ¹ŠÂOG± á©TØU˜•&Œú49÷Iš:ž—_ž¤Žjkk%OŸhllܸq£¢’ ¥gzê›îbT>á Bè·ß~Ãú:qâ„EÞÂ4oÀB|Õ}´’œ†}óÍ7*?ˆ Ðf^ÖºuëÌÍÍBE­^½š±nüæÍ››6mÂá7ÞxƒeÓ8ígÁ‚øBWWþÄááá¡Ð†­­­òªP›7oÆá'NEƒéìì\»v-qþ$oï¾¾¾DÑoÛ¶1€?~ü×_åþººÿÿêWúLnË–-8P]]½bÅ Æ~[ Z;<<\ù ®®®8¼mÛ62YGQõõ×_“Íñ B÷ÿçŸèYUWWûùùàŸ’Ç««%K©¥¥eÁ‚ôOîÍÍÍK—.%;4ùûû“K²jJ*žžž3fÌÀáýë_ ¯–†††9sæàQ|ðàÁ|ðœçd…L ®^½Ê(ˆˆˆU«V‘ŸJÖÅòåËñΣ÷ïßÇ>†úúú¼ÎQQQûöí£Çœ9sfëÖ­8¼fÍ|œ3¿NÊ‚¢M]“U©(_~ù%”——/_¾œ>é¹páÂúõë¥ÞE„***ú믿H¼H$Z¼x1¿ÍJø\ß|ó 466.\¸¾ƒlSSÓ²eËÝÊTV'Uy%ò“\µZœœžžŽ7¡sçÎâèDŒ¶æ÷ßg؈Ož<¹cÇöòò’zÆ>žþé˜Áüùóñ¬‹¢¨wß}÷äÉ“£Fºÿ~BBËæúìð¹|||Nž<‰ºxñ¢——W@@€££cqqñ‘#G ƒ¥“ª¶ùI®Z­þÆoØØØ`ë­ŸŸßúõë_{íµaÆååå%$$œ³gÏÆý%33s„ 3f̉DÉÉÉX0 HhO9@©òÎÊ’ìÝwßÅɤ& ;˜FDDH±XÌþ‰OGGçØ±cE¥;ÞGEE±'¦o+¸wï^öÄ ,5BuwwÓ/‘¾¥¥¥ô«da6BèÙ³g$^¡cDþúë/ö§ (*==]ªG.ÁÝݽ­­q×îÝ»et«§§GFR³%%%$Ayy9=«°°0úíNNN8¾¢¢‚|ÓʨQ£²³³éYÑQ*..–ûì Ž?ndd$ëïlllHb©K-H DDDG„Є ð]r;…½½=£èØáQJä/X^E\]]ÛÛÛÿ%«¦ÈC­ZµŠž~ïÞ½Œ} „‡‡3:òikk#‘’øøø0¾çœ;wŽ’ÑTä¶Æ;ç¥K—¸Ô¿Æ „œeØbff–œœÌ¸‘_'eA¡¦N)^•ôþÞØØÈRÖÖÖŒ?ÂñS§N¥ÇËR ÕÕÕd«†††}ô¿òÊ+ôܾøâ Y2gÎâ [XXHn Ç‘+V¬Z¤üF®òòrâ„/Éܹs¥– ²:)Å«?²ÀOrúŠ…K—.±d…ÒÕÕMII!é¥j*vCžQrJ@ßÞåÊ•+8’4l„‹ƒÕßÿMÏJ–æQítˆ’Ý¿(^̓½S°+|ŠBÈÌÌLòÞÏ?ÿ_õöö&‘üÆ\еS(4¨ñ¾ùé(øu"²¿ORRÇ?’Z¿RKFÑžHÉ.yYÉ‚Gƒá=r©V“ó›¤ñx^¹sÞîÏ?ÿ$[ƒ1˜7oyÀÓ§O“[Øõ ¿™¿’ä÷öªÂ¦‹ùꫯȽï½÷ã*qICÅÅÅ1®*úÎ%·å÷•ŒéEEE²æ´}ûö}ÿý÷qxéÒ¥r%”§²²²ªªª£££³³³³³SôÜ`%‘ŽѨ«««««ãb›ÒèBâÈG÷èã‘Lj@ðË/¿œ>}zðàÁ’·LŸ>=>>~Ù²eŠŠ*WZ„P($›r+ZôÌ1óæÍ#g©Nš4‰> ÐoÔÑÑÁ —8 &5<<}ú¸¸¸Œ?ÞÞÞž‡…‘äääÛ·o?zôÈÔÔÔÆÆfÖ¬YÄË©­­---­ººÚÒÒÒËËKêÙö5jþTõí·ß’Ý©øÑÓÓsñâŦ¦&WWWOOO¹Ùðè¤ìpoêHƒUÉ‘Hôøñc###2cþÏþƒ÷‹ ¢»Æ`ð9qÙÙÙ===ÇwuuUÉÉoä*))IMMÍÏÏ766öòòòððà½V‹½“ª¼ùI®B­ÞÙÙyóæÍ„„|ˆîþöööd ¬&‰ŽŽÆÆ){{û‚‚‚žžž¸¸¸üüüÚÚÚ#F888¼öÚkÄŠÁM‡´¼#¾c.K§à1¨ñFQÅŽæ§Fì(ÚYJ^…ZÓ4•hre&iêx^%󬪪jkk6lV}E™šš655!„ Xüª¤¢ÐLO™’ä‡VG²P‡Òã§Žž>}š••URRbbbbooïââ¢yɪª*@`bb‚­Ä™––ÆrÝdIQúïýÝðÒcŠÃžB/  uÀÑ{[œç‰¤¤$< éÓ§OYY9BèòòòÊÊÊB#GŽttt”L°hÑ"¼õlxxø?þ¨iù€—†«·ÅzÐQžëIZggç•+WpxÚ´i’ “óóó±ëŽŽNCCƒ¬•†*á¹.IÐ ½kÀÒ–c/*d™ÀÀ@°^õ:ûöíÛ¿?BhÔ¨QEEEŒÕiii.\Àa%àè(àe£¾¾~Μ98|ðàÁ•+WÒ¯ŠÅbrÚ²Z­Wh?Ý à%¡±±1//¯¡¡áàÁƒäL²Û(Ћ̘1=z´yóf‘H„ŠÅâÔÔT|hýСCµÊ{€—ÐQÀËÆ!CÈB°m۶ݾ}›\jllüðÃÉ<б /!à z.^¼È˜fÍš5ËÝݽ·äÓ¦M³··Ç ¶oßéääôìÙ³»wï677ã4ààÁƒÜ÷&P £€—uëÖ­Zµ !ôèÑ#77·W^yÅÔÔôñãÇ÷ïß'Kм½½W¯^Ý«bÐû€ @íX[[ïÞ½»·¥BÈÈÈèòå˯½öÚ£GBUUUUUUô†††{÷î9sf/ ÀK è(à%$$$¤²²rË–-E‰ÅâÌÌLF‚7ÞxãØ±c`´ XpÂßß6,yÄ; ‰µµµ››Û³gÏFŒáââòÙgŸõâ1Okkë‚‚‚¿ÿþû?þ¸ÿ~MM EQýúõ9rd@@ÀÊ•+Õ}ú'Ð5jÔ¢E‹B#FŒèmY­t (/À$móæÍ»wïŽ/++ëèèÐÑÑ133›4iÒòåË/^¬££‰­o^€’€8…x©éèèèêê266îmA¤: xÙ (ª©©ÉÈÈHWœ-@ëxaO!ÌÌÌ,))A 8ÐÏÏ=q~~þ½{÷B†††Ø)šÜ®(>>>æææ555‰‰‰$ÒÎÎŽìÈB|||}}= …Âùóç“‚NMM}òä BÈÊÊŠ^Ö;eeeø¸œaÆ͞=»·ÅÑ"D"ѹsç(ŠsçÎíÓ§OoKĉäääüü|„›››‡‡Go‹£J®]»VTT„š:uêèÑ£qäíÛ·‹‹‹g¢&222ð©êÇ×Læyyy ÷îÝ«¯¯_°`ÁâÅ‹Uû¿Úƒ¾¾¾¾¾~oK¡9ÔÚœí¤½½ýÂ… \æ…  ôú믫A"@^6øÝ¸·¥@Q£kûöíøÌ{{û‚‚öÄûöíûí·ßBfffµµµôÛ%66600011;äc&Mš”ššÊ~ã³gÏüýýÛÛÛé1†††8üå—_^¿~!4uêÔË—/óìå$55544!äíí ,:•••8\^^neeÕ»òp$"""22!ö‚°öìÙsêÔ)„PDD1`ýôÓOøyW­ZuàÀÞ’í«¯¾ºxñ"Bh×®]aaaÈ|Ïž=7nìêêÂ?‡ú°^6ÔÚœíäáÇdÄQ''§¼¼<•ËÀM¬%ÖnÞ¼YZZÊžæìÙ³të•ZiooõÕW½¼¼&OžŒ»€ç– Ý·oŸ—————×·ß~Û[â) ´Ov4_>ýû÷gÔšyyyù† ˆõêe@åuÚëˆEó¨µ9’ôzcx1ÐÞuÅRWê‘¥•3fŒd ÉHŠ¢bbb>ùä–Œ‰‰á%)D"QJJ ãŸÀs K…ãF;räHÍ ÆhŸìh¾|4lÀÊÈÈèééÁá>úÈ××·—Oj•×i¯w"Í, Óë!Ô¿©sªÇWTTàðøñã  ÆŽ«vḡ½¬­[·nݺU2ÞÔÔ´±±!´dÉ’_ý•{†ÑÑÑ,¬æææ¸¸8r?¬­­“’’pxÈ!½+ ‹-[¶¬Zµ !Ô»k< À¨5srdûÀ÷îÝ«òzµ6'@;6l˜ÔvïÞM–‘^¼xQê'@-A{ X*'33óÁƒdkgΜéèèаHÀËŒP(|õÕW{[ @£FÒ†s”5ì%‹qÀÚÚZåô:à<¼ø,CCñcÇfee!„¢££¿üòK©ÉÈúAooo⣺ººjjjšššHÌ“'OŒŒŒ ÈH\XX˜ŸŸ_RRÒÑÑ1dÈ|¢ÜS9:::°µÎÌÌÌÑÑqĈrEJKK+**zôèQÿþýœœœœœ† Æïåòøñã”””ÜÜÜ#F¸ºº:;;Ó×,àòÁasss©góÑÓXXXp"‘?>£Žº»»ïÞ½›]PP```€ŸNê‚ÖÖVÜ h`` ‹srrÁºuëB---ÍÍÍ!SSSÜ%ÓÓÓsssëëë‡îééI·!ŠD¢¬¬¬ôôôþýû{zzÚÛÛ³´·¶¶¶”””’’’ŠŠŠXYYÙÙÙ¹ºº2ÊP¡6/…2äÒz›ššž={Q´ IDAT†Ãƒ ’<Œ¬­­­¹¹¹oß¾}ûö500hjjb×<Ü XEá  ±¦-**JMM---µ´´ôððprrb×ÀÜG1¹í„þ¼r«•€5ªP(´´´DÕ××'$$<|ø°_¿~vvv¯¿þ:]þŠŠŠ”””²²²ñãÇ{xxÈõPSf€à×0r5†:`ÿÓææf¼:ÒÄÄ„œ~#y»@ :t¨¬¿PíÐÀ ÈSP¼ ‡ÚÛÛËMŒªC™™™±§$ßÐÐP–däþ}ûþðÃ8ìââ"5qCC± ìÞ½›γgÏHrŒôÔ©Så> ÿüóÔŠpvv¦'»té’¯¯¯d2ƒwÞy§¬¬LjæµµµsçÎ¥}¿¿qqñêÕ«ŒŒŒŒŒâââè·ÄÄÄH}çœ4iRii©2OŠ‰ŠŠÂz{{WTTHîÁ1`À€¨¨(’þÆäÒþýû¥æ‰O…ÃdeeÉ•áÉ“'!!!B¡ñ×}ûöݳg¬»>lnnθeذaýõ=K…:;;K½ôÏ?ÿPõøñcSYY‰s#G <¸««ëûï¿g¼äèèèvvvJ•ùèÑ£ŒÕˆ–––»wï~øð¡±±±‘‘‘¯¯/{YÉmŸï¾û.Ž ËÈȰ··g¤433KIIQ²T9R]]íïïÏxÖÕÕ ¥¸?~}ZªqgÖ¬Y’Ú‰¬ÝÞºuë£G¼½½ñO}}}œ 88Ç|ñÅžžžônÜ8r•nñ§(ê·ß~#—Þ|óMŠ¢Ø5%­9É‚(p{{ûW^yEj¶`óæÍŒyŒbrÛ‰BÕŠ¡«Y2Í``mm}âÄ YÚ,((¨§§‡ž§ª~â¦1¸ÃÑ€%÷OÉ€&y;Ý€Åx• ¨•Þ5`½øK)Š6lؤI“ðyLÑÑÑÿú׿iÈúÁ   ¼\H}Œ7.,,¬­­í÷ßÇ1Ë—/777'«~ZZZ6lØ€÷ ÑÓÓ[³f››[ÿþýKKK;†O2*..þî»ïöìÙC²mnnž={öÓ§OñOssóiÓ¦õë×/))©   ¢¢‚3D¸wïÙºÕÞÞ~Ö¬Y^^^---ééé===õõõ!!!………R×ñ)J[[[[[BÈÍÍmÆŒ&&&§OŸÆ‹•8àïï?þ|¡P¸lÙ²ÿüç?¡øøøºººAƒÑóijjºté¿ùæ›rÿwýúõ>DéëëÏœ9ÓÏÏÏÊʪ¤¤äàÁƒ¡˜˜˜éÓ§G„Phhè‘#GpØÖÖvþüùC‡ÍÉɉ///GmÛ¶­ºº× {…>~üøÊ•+ùùù!›yóæá[äŠÝÔÔtêÔ)„ÁŠ+¬¬¬ Î;‡?ƒŸ:u*&&†þø;vì íA(zxxLœ8ñáÇW¯^moo?{ö¬ÜÄÈmŸr¨ÖôéÓ'OžÜÕÕ#›››W®\yçÎzz…JU.÷îÝ›>}:î­Ø+m„ iii b±øÁƒ“&MJJJ"Ëkjj|||ÈZ‡×^{ÍÀÀ )))##ã-úJ—Okkë¼yó*++ñÏÀÀ@ooo33³ôôô¸¸¸¢¢"„Е+W¶lÙ²sçNÉü¿úê+ä¥/õÒÑÑÁksTÛyé™/]ºÔÕÕõÖ­[x%õ!C‚‚‚B~~~8ñÏ?ÿ¼k×.5jÔÂ… ÝÜÜž%™3g޳³óÇcbbðyˆ[¶lÁi 4gÎ==½¸¸¸²²2„гgÏÂÂÂèTïÙ³'''‡===—/_nccÓÚÚš’’òçŸâ6ðÉ'Ÿ¼ûî»fffÜÛWöôôlÚ´‰¾èƒx`‘Å’ŽŽŽôÜHzÆ’CE!ðBà‡~ ÍŽ‹‹#Ëìííñb ¼aFr½ÕáÇÉÕ¢¢"ö‰DdÇ(ÆJ„ÎÎΙ3gâK“&M"ñéé餸‚ƒƒ[[[É¥††|I(ÒWß°T(14,]º”Ïî…ñòò¢¯¶¸víYëJÏ­¶¶–ìecggWSSC.1ÖÅÈõÀ’û8ÄY!4`À€Ë—/“K===ô«ÅÅÅJ–* þþþøssóëׯÓ/>|˜¸~еÄçŸNdûâ‹/èípÇŽô¦,Xrˇœ*~ûí7ú¥–––‰'’'%½›îÚ€2119zôhss3ýÞ¦¦¦ÄÄD²6Sµ—‘9EQääA†ºkhh +Ç_[[K¿EJ> €ÄÏÌüùóïß¿Ow© 7›Áƒ'&&’K‡¢ß;mÚ4úŸ¯C@@ªˆ R`` c Xvv6ÙîìÙ³$ž¥NùÁ’!ÖKQÔ×_M2\¾|9Ž$†@píÚ5zzYš‡’Vã² +pDsÄÃ\½z•Hëææ&év¤Ð(&·ð¨V†F ikkך››ék-uuu‰‡EQ< JuíÚµ$^åÆÀEcp‡‡–Ô?åç¥ò¡uóâ/!T5°ÊËËÉ$)//ž’ì‚m[½nÀúþûïq¼Ô튈x&&&$²²²’ìƒ$yö¡ÀÖ;#c,X y Ù†æ×_UæIéï?o¿ý¶dúìùܹs8ÒÁÁÇÌœ9“‘ž¬†óôô”ûïØ“““øzáÂ|É‚D’“ÝÜÜK )Šjll$aßÿ==^V…ò6` 6¬½½!Y>I|²¤KOO/;;[²È[j Xûöíc܈?˜c.^¼Hâù•ª,ˆ BèäÉ“’ ¾ýöÛÿ½;¨)ÿÿþ¾••B–‘]i£ˆ&IÈ6ÈžhÈ’0Æ 2š1Æò™ÆŒ>–1ƒÁÂȾF–$I‹H²´Ñ¢½îýýñþ}Þßó9wévîívçã¯sÏyŸsÞ÷,ïsÏ뾺ÔÜÜœ÷oß²×ÑiÓ¦I¯òÙgŸ±m `åää°Xü‚ ¤÷’——ÇÚ0Ž?žÎä¾êëëß¿¿Æ#P×7¯¼Ö7ß|î4™ïº¬ÃABȽ{÷èLn`ÂÏÏOz-îEÅ‹YWUU±´©©)훡•(©ÄÄD:S,³~²d¶£d=ñmܸ‘ÍÔXKÀÕKUVVöìÙ“­{òäIöð"„,Z´ˆ·,åq ðnݺI÷¾Ç­Ñ|áÂ:SÀSLRÓu"ì´rKÔN:ñòϽ\¥ {nr£±ê}@»” `ÉÜ©°–z  õÀúP†w±´´d=†††r±öƒ&LÐt¶d9räîÝ»wïÞÍjqq»¤enÞ¼YZZJÑÕÕ•Ù3Ί+¤êb1¯³gÏJw4{éÒ%z‰Ì˜1CÀ·Ö Aƒ_~ùEzþŒ3Xd6°"„øùù±l¼}û–%.,,d¿øY¸Íƒ‚‚¸o„O>ù„~GÖ:æåË—7nÜ Ó?ýô“t¿ïfff¬¿äÔ˜U,]ºTz¸1''':‘——Çf²ŽÛ¾øâ é>b|||Ôž½-ZH÷)ciiÉÎæ«W¯è„Ú* O»ººÊì)Œu žŸŸOÔǎ£ãÜéêê.]ºTz•ï¾ûNõ¦²‘‘‘ì5oîÜ¹Ò š4iÂ:rJNN–NðÅ_°è­¾yóõöö–9>ÚìÙ³Y%Aé/hdd´nÝ:ÛoÕª¯7]]]Ö=ÐðáÃy]q{ýcw„H$Úµk×îÝ»ƒƒƒûöíËÛEqqñk%ÚŠÖW/¥§§·wï^V&L™2eÁ‚tºk×®¼n‰êºuë¸ã¥RK—.e3YbȳnÝ:nÕ§º0qâÄëׯBBCCÙ¿šyyyìåŸ[M©988p»º(++ËÈÈHOOOOOŒŒÜ¿¿ô*Ož<¡=zô9<“½½}Ë–-Y¿>>2»ÂFÁ¸lìnÀj×®‡‡Çµk×!GŽa,v 2¤Y³fÊì÷Ï?ÿüä“OŠŠŠ!eee¤_ÙÆÆfÈ!&L`UóÈÿ¾!XYY)ÞrYYYIII]D (™_Pº–PNNà\ÞÀÆ×S#y'T:¡ö£Ê6Hky(Þ })b÷ˆ‚CѶm[u°¤C- e¯¢¢"==—RÁŠ\¾y©—/_Òqç“}Aé÷í¿â UÁHmÒ*++·oß~àÀ„„–mm àêå üæÍ›FFFܘÑâÅ‹oVWW—u/]”|§â¾X–””È|I“yö5F½GÕÀÀÀÀÀ€^ ½{÷öððP¼Aú¶Ï¶©àˆ{UÃjðFìâbÑRò¿|miò楸uÞ½{'/Àʾ ‚J—uêáÇÞÞÞì{zzöìÙ³cÇŽ]»vupp2d·“& »z¹>|ÈëLpÚ´iQQQzzuû4çöEÈà pv— xŠÕHN«6eï)^””V=pà½ða°Æ7wîܪªª´´´˜˜ö¾×½{w™Ýâh^vvö¯¿þJ§ÃÂÂ:vìÈM#½K“™™)o³ÙÙÙòvÚ AOOOú㸠  <<üÀ¬gè­[·ªå˜U‘ƲÍý²7>|xXX!äðáÃ~~~‡¦‹ÆÇú.Q^ëÖ­gÏž={ölBHbbâ©S§¶oßþìÙ3úñƃ bMðttt¾ÿþ{yMf´Jûöíutth/-™™™Ün‰™øøxçëÿ¨÷¨êèèXYYÝ¿ŸÒ¯_¿Õ«W+³–µµ5 ^Ë»G!ôbP+FtÇÚYµlÙRÀeÌ£™›—â’–––Òi$ ‹–òÊ.Ù¼y3 sˆD¢7Ι3‡×u7mP\/„]½LUUÕ”)SèÌíÛ·W¯^½bÅ ufTÊ“'OÊÊÊdÞ¼ìÆ¡YaO±iÃiÕ†¢ì=%³t}¸P¿> &„„¦M›²^®CCCYûA-é¾r÷î]ÖÚ"44Tú v ÅÃ’%&&rûöfbccys g̘áïï?sæÌÊÊJ6ßÌÌÌÛÛûÈ‘#«V­¢sâãã¹½# –œœ,³¹DnnnTTï‹P¬à… ^¼x! ýà¾}ûüýýýýý=Êïää´téÒ;wî°XwîÜ!œßÓb±8!!Aæ6ÏŸ?O·ÉQýÒ××g¡„[·nÉL#}h’Ú*Û`\\œÌÕÕÕóæÍ£¤½ó°UbccÙðˆ\™™™2ûH®â¹uë–¼×iv) Žïhþæ¥LLLXÿV/^”™ææÍ›ì6¯¯+$'L˜0þ|^˜£°°PÞE¨®^æçŸ¾}û6þñÇYWD+W®”·5u©®®–9nf^^ËÒ€ˆÐ§X´á´jCQ¦µX•a™zVÛë}|à@ýú°X„___:ñ믿²æÚÓ~0++‹MKW +--=uê”ôZlp¥W¯^Iw›ŸŸ¿hÑ"ÞLCCÃýû÷ïÚµ+<<\z›¬ks±X\«þw ƒgñìÚµ«¢¢‚bjj:dÈî"///Ú>®¬¬lΜ946giiYã˜Ì“'O‚ƒƒƒƒƒ×¬Y#½´Y³fìÐѺxÖÖÖ¬RÌúõë¥W©¨¨˜;w.ÝæóçÏ•ÌF]cßbÆ ô`rýþûï4oÞ<ÖBŠ[LÞ å.JHHPcu®ï¾ûŽNdeeMš4‰ÛÚÙ³g,XPÛ *ø:>ªòÌŸ?¿y󿄉D2kÖ,^ßU·nÝZºt)0`ín¼_¿~´z!dÕªU¼WèÇoݺUùo$ïø¸ºº~òÉ'tú_ÿú¯ÒÁÛ·oGŒA_³›5köùçŸ+¿G.a7¯Z°vj999~~~¼]ïØ±ƒƒ‚‚To ) ‹ç^ºt‰—Ã;wΜ9“}äÞê½ælPÀÕK)++›2e ­p§§§·sçN]]Ý~ýúÍ;—&HNNf+ò2 ®’ç?þصkwNXXغuëè´››-À…=Åj$ì´ª—ÚÂ.íÄF~ôèQHH›_QQáãã#³‡AÁÇóðáêü€÷ׇÕ!ÄÌÌlèС'Nœ`sj[ýêæÍ›lÐ%yöïß?iÒ$ Œhç‹-ºråŠÝÂ… »uëfjjJM:õÈ‘#£FzóæÍõë×/_¾üæÍ¶… 68;;ÓÐÕ–-[ºwï^UUUPPàåååééikk›˜˜ÍmdÄ5kÖ,Ú²ìÔ©S... .´±±©¨¨¸~ýú¹sçX³¾O?ý”­òôéÓèèh:MG¬­/¿ürûöíƒ633»{÷îñãÇiµccã… J§÷óóãÕ—™6mšò»0`@ÇŽé/`OOÏ ôíÛ·M›6IIIW¯^ £uÚµkçææFWY´hÑîÝ»=z$‹ýýýÏ;çééinnž‘‘Âqp+˜È;¡„WWWš&%%eøðá666Ÿþ¹­­­òߢFžžž¾¾¾$„üý÷ß·oßîß¿¿D"‰ˆˆàÖ†Pž‚¯#Œ°£*¹¹ùš5küýý !ÑÑÑ={ö °²²ªªªŠŽŽÞ¹s'»¨¸û¯_¿¾Gb±¸´´tìØ±S¦Lquu522ºråJppp­j*)8>ëÖ­ ¯®®.((:tèìÙ³?þøc}}ý¤¤¤£G²Wwã;n^µpss›0am|}øðá´´4ŸN:½~ýúÆû÷ï§É,,,X`Eó<<~üXɯ_Û›·V¶lÙB72hÐ Þ¢çÏŸ³Š2uèÐ!>>ž»JPP]äçç'swŠ/*ÖÌjË–-¼EÜFsááátfII‰‚0‡‡¯·ìS§NÑœSaäm°¶Wï•+WXÒ¹sçÒÒRî^.]ºÄºjß¾}aa!/¯ä©VàBx5d¹8À]KØSLñu"ì´*.Q;FÉüáÁžw}úôáÎWïB@Q& ÄP`ãÆlkÙÙÙò’)³Ó%K–Èû#FŒ`UÝSRR¸k 8ž¬ÞQú§¨ËË—/³³³ËÊÊÊËËËËË+þëšB×9èœ Ž¼¼¼¼¼ ˆF.Í VÆÇÇWWW·mÛ¶[·nJþ†Tï£êHvv¶H$277§ÿG²%Y™¸^J$òßN¨)Úû„D‰N]Àú'(//gƒ‘ rtt¤Ó«V­JLLd‹òóóçÎ˺´çõTR[Û·o¿råJ·nݾùæU¶S£ÄÄÄׯ_?|øuzååå¥Þ‘ûþI>ùä:‘––¶lÙ²ŠŠ úQ,ß¼yÓËË«¤¤„ÒªU+ÅM&€«´´ô]í•——×wÆþЄðb×®],Ö£££Ó½{÷Æ?{ö,55•ÕÄëÓ§Ï•+WôÒZ£ýû÷ÇÇǯX±B•j\ʰ³³KIIaE"ÑÍ›7Ù¨ðÀóîÝ;vÄZ¶lÙ¥K—wïÞ%''³ñËE"Ñ™3g†ZÙ€÷ šš‚¼|ùrÅŠ‰D,ß¹s‡—`À€ýõ—*Ñ+BÈäÉ“'Ož¬Ê„ùú믽RÀÄÄäâÅ‹}ûöMKK#„dgggggsoÙ²Ñ+xO!€õϱlÙ2ooïM›6EDDdff–••éèèXXXôêÕkÒ¤I>>>u:òzõîÝ›bhhhoo?fÌŸúΑ¶kݺõƒ8ð矦¦¦æææJ$’† ¶oß~ìØ±3fÌ6Ð|È:tè0~üxBH»víê;/ð¡CÂ&‰DRPP`bb¢§‡凨¬¬¬²²ÒÔÔ´¾3ÿhBêG/©úÎÔCCCCCÃú΀z¼7mÊàÄh5°@«!€Z ,Ðj`€VC ´X ÕÀ­†h5°@«!€Z ,Ðj`€VC ´X ÕÀ­†h5°@«!€Z ,Ðj`€VC ´X ÕÀ­†h5°@«!€Z ,Ðj`€VC ´š^Ým:---..NA“Î;·k×NG‡G“H$ǯ®®‰D^^^u—ÏPRRÒÕ«W>|øæÍ›1cÆøøøÔwŽêÇ7îÝ»GqvvvqqÑ|BBB~úé':={öì… J§)--={ö¬D"!„¸»»·lÙRÁ«ªªNž<)‹ !...mÛ¶å®^+M›6íß¿?!äÊ•+yyylþèÑ£õôj(7²³³oܸÁ>:88ØÚÚ²7oÞ|ñâ!ÄÒÒ²W¯^JæçÌ™3¥¥¥JgŸˆD¢áÇ*“¸°°ðÀ„ssó‰'Ò™‰‰‰?&„X[[;::*¿ëzT\\|îÜ9:mll>Þ××7--’‘‘±jÕª5kÖh&K&ÖĬI“&[¶l©ßÌebbröìÙ¾}û&''/Z´È××WõNR˜6mÚ°®M›6ÒéóçÏ·hÑBÉ ¾}ûöÂ… #FŒ—@™*ZªX¾|ù¢E‹êtÔŠ+fΜI±´´ÔÀîT·gÏÞœää丸8ggç×eXò4oÞ|ÕªU•••ÿþ÷¿ !%%% ´éß¹ÚS€kON´Ÿ®®®»»»º¶†#Ïõ~•Ò ºú `Q­Zµrww?uê!„h¥¤ÒÒÒ»wï&&&VVV¶lÙ²OŸ>5Ö")))‰ŠŠJOOþü¹™™™¥¥¥µµu·nݬRYYýèÑ£´´´FuéÒ¥K—.mÚ´Q{ÞxŠ‹‹óóó !Mš4122‹Åׯ_OHH‰Dóçϰ»ªªªêêjÖf³Aƒ„===éQ 333ãââ233mmmÝÜܤÓÔ6“Ì›7oJKK銄¢¢"Ú–­yóæ¼7Àªªªäääøøø9:::::*?0YeeennnAA›óâÅ ##£&MšH§—H$ׯ_ONNÎÉɱ²²úøã­¬¬D"‘‚]¨~¢™ hyèªoß¾×®]#„œ8q¢¬¬LæqqqOžyò¤iÓ¦;vìÕ«—¼÷ÞÚ–ùš¹sËËË 'x!‰hÎkÌ[«ã“]]]­§§GK­çÏŸ_»v-##cÈ! ‚žŠsRXXHy™››ËÛ©H$jÕª•29iß¾½’7T†“:~ÞQ‰D$qÏ׋/$‰¾¾>m-‘H=z——çìììììÌ+š”¼ˆZËšI]]]:î›7o®^½úôéÓ† Z[[÷ïߟÛ;ÄóçÏ£¢¢233œœ\\\ÌÌÌ“”””{÷§—••}ôÑGtPZsssnšâÒ¥´àCQÛÓõC3£–••)Hùå—_²”t<Å£æääxyyq6BôôôÆŽ+/·ùùùß|óMãÆ¥@—.]þüóO™k:tHæOÿ^½zeddÈ\E@Þdúúë¯éº?üðCZZZŸ>}èGÞh_ÊïNÞ;çâÅ‹¹ÉöîÝÛ¼ys^š6mÚ„„„Î$O×®]eæäï¿ÿæ&;~ü¸Ì0Ó°aÃj[úûï¿eî¨k×®4w«Û·oÛÚÚòRZXXDEEÉܸºNtT…Pž7²”ÙÙÙ R²Q¿ÿþ{övqôèQ™‰¿ùæš`̘1l´AõŽB¸nÝ:å×âÙ¸qcÛ¶m¹§ÌÔÔtùòåñññô#wBÖ<ç³Ï>£s”¹tóóó½½½¥Ó˜››ËVOØM$mÒ¤ItÅîÝ»K$’mÛ¶±]Ÿ9sFÞZì¨~ûí· 6^RR¶Æ=›‚G!|öìÙÀy1P—{÷î)…PX™°wï^éHŠ®®îôéÓ¥‡„Pæk€¼ND"QII KV«ãS\\Ì6"‘H6mÚÄúŒûå—_ç„ Î¸páBéÕËÊÊØ*>T&'Šo:UÊp‰Fžw‰„E– !/_¾¤3322èœfÍšUVVþüóϼs§££ãíí]^^®ä‘§Ô[þ°LBÊÊÊV®\É ýX[[ߺuK"‘$%%uîÜ™—1ŸÊÊJé^¸p¡_¿~Ò™422š6m÷Z­ñ!.]J ;µ=²}BBHnn.hÖ¬™Ìÿl¹"""ºuëvúôiú·SUUæêêúðáCÞ*ýû÷ÿ÷¿ÿM*òÜ»woÆŒÜpµmÛ¶ &Ðê$<ÑÑÑÝ»w§TÌ›<’ÿŽö•••åééÉë›YÀîXßí2dÐ?Äzö왟Ÿ}õêU±XüäÉ“^½zEFFr7õ믿&$$ÐiWW×I“&uìØ±¸¸8**jÏž=´vú×_=}út ¶#Öŵ­­í°aÃÜÜÜŠŠŠbbbvîÜY]]ýæÍ›€€€””ÖŠAXÞj´cÇ6mllÌz*­íî|}}»uëK¡~ôÑG'N$„xzzÒ Î™3‡½èZYY=ºU«V YYY„U«VåääüñÇÊgR&zÒiÝ¢Ž;Ž5ŠbggGlÞ¼yÆ tºC‡ãÆsvv~ñâEddä™3g*++‹ŠŠz÷î­xGvvv%%%,Ï“&MjÞ¼¹tk ÖùÚ!Cz÷î]YYAgΘ1ƒÛ¸µŽN´ö«ªªš8qâîÝ» !§N*))á ówûöm: ƒ‘‘ÑÈ‘#ýõ×úɨ,Ë–-c•Î6l8pàÀ.]º¤¥¥;w.??_É¦ŽŠ/ÝâââQ£F½|ù’&öööîÓ§……ELL̹sç=zD _±bÅúõë¥7^«›ˆ'44´´´”¢««K«bYXX 4èܹs„ãÇ©Òþ…žtJÅ«:77×Ãõ ²··ïÛ·¯‘‘QddäíÛ·éÿ*Òk +6lذsçN:maa1tèP¼¼¼äädBHBBÂ7ß|³yóf"¨ÌטöíÛÓ¼mÙ²…–ÜÐÐðôéÓ4\˜••5nÜ8šÆÃãG÷îÝ»zõ* ô„††úûûòÉ'4AQQÑÂ… iHËÀÀàË/¿tvvnÔ¨QFFÆ_ýEÏ×ãÇúé'úøPþ!ΥʡPòt(Ø;Ô­úmBxéÒ%GGG–lÓ¦Mt¾¼&„^^^tfóæÍ¯\¹ÂÝÔÞ½{Y¿sæÌá.bm ¼½½yÚãããÙÏî“'O²ù›6m¢3x™çþsxîÜ9ó&k›C=:55U,«¸;6ò ¯õVLL ë(Äßß¿¸¸˜-zûö­‹‹ ]¤««ûüùså3©{WôõõåÎûö-«ºïääôêÕ+îÒƒ²¯6vìXevÄ:O!„¤¤¤p±æ'„33³‹/²EÕÕÕÜ¥ª_„‚q›6oÞÜV!níµ7!\¶lYee% ò:tˆ—’]ÞÞÞ‰¤W¯^ô£z›º»»Õä믿.,,dë¾~ýšUíìÔ©SRR[ôôéSn/xÜ&„ì˜9s&7'ò.Ý~øÎ‰DÛ¶mã.***úøãÙMtçÎéƒ&à&bÜÜÜèêÆ c3ƒƒƒÙfwïÞ­ø¨ÊkBøúõkS „XZZrÛ+ hBøí·ß²­-Y²¤ººš-âõÕÅšù+^¿~ͺàiÓ¦Mnn.[TVVÖ·o_º¨I“&ôh (ó5Ý}‘‘‘l¦°ãëJcnn¾ÿ~î]# '‰„µ ”^‹[ß•ÆÊäDÞM'¬ ×ðóŽ[‘µZåÎ$„¸¹¹±6•‰äòåˬg+ÞW–wäë¢üáe2 €Ýþ………ÜÖzzzGŽa›}òäI£Fè¢yóæ±ùGŽ¡3utt¸ÙH$b±Ø××—.íÑ£w‘2qn)-àP> úmB¨¡Ö°aÃFü/777Ú'(cggÇ¢K2X.\`3ä÷¸råJºÔÜܼ´´”΋Ŭ§•ˆˆ鵨köÆÙÌiӦљcÆŒ‘^ÅÕÕ•.ݺu«*yS€û³ÒÏÏ·Tðîä°ØIÎÎÎUUU¼­åçç7mÚ”&øù矕̤bò^HX'J2+kÖ¬a;½wï^;R2€õÛo¿ñV¤ÿÃSçÏŸ§3Õ~¢kÄ `ÕJ]°$ kmG£TŒX,fÝKÑØV°””žžÎÖe!]]ÝGñ¶œ‘‘Á^N°rrrX,X ÿ¼¼<6jØøñãÙ|Un"ŠÛlêÀl~~~>‹Î8Pæº,ÏíÚµãÑC† ±··çU«Ù¿?wõÚ°Þ¾}Ë^k§M›&à³Ï>cûb,aeÂW_}EçèëëÓnz¸Îœ9ÃVILL”Ծ̯2ƒÂŽ÷!«¯¯ÿþ}Õs"Q9€%/'ʰ”,Ã%ÞÕÀjÓ¦ôÂôêêêÊ/óÈ×QùÃÍd§Nx=@q¯«E‹ñÖ¥U¼Éÿ†Mþùg:³_¿~Ò™¤5F !æææÜùµ ` ;‚OÀèƒèëìÙ³§þ×Í›7¹N·oß>$$„×%6ûïÎÕÕ•ýJæbvæççŸ={–N‹D¢]»víÞ½;88˜ýëο–ÕbÅÈȈå\º…K—.ÑÃ7cÆ Uò¦ ###éþ¹Ô»»—/_Þ¸qƒNÿôÓOÒCù˜™™±>à8 d&…a¹õöö–9¢ßìÙ³Y¸¶R]‹-æÌ™Ã›iiiÉ^¶_½zE'êîD¿/ØkÉ™3g¸ož·nÝ¢ÝK³JjZbïÞ½tbÒ¤IVVV¼¥mÛ¶õ÷÷Wq‘‘‘ìhÌ;W:A“&M>ýôS:ñv IDAT-óº|±šV5=z4›off6lØ0:ÍFÉ“‘‘Á+¢/\¸œœL>£æÍ›ÇºŠæØ±c………„]]Ý¥K—J'øî»ï¤è +.^¼H'zõêÅê\0C‡uww·´´´´´¤^Õ¶Ìת—™_|ñ…½½}ÝåPy‚s¢|®UÏ;jéÒ¥Òƒº:99щ¼¼¼· ò'((ˆ7Ü!·ßÌ™3yéÙÿÜü9r÷îÝ»wïf-^¹¸}Æ ¦ú¡Pýt@Ý©ÿ>°š6m:zôè 6°šò°.Bíííeþ†hÞ¼yÓ¦Mé"n/Ú¼—®œœœôôôôôô§OŸnß¾]æo¦þýûÓÊËËÇokk;yòäôìÙS__ßØØ˜×Ù¼à¼Õ¨k×®Òï$êÝ·ïUkkk™ìѣǡC‡hb‰D˜\f&H$¬eö“ÇÜÜÜÙÙ9::šÔòH*`ee%sÜtsssú¾Í*Ô݉VÆâÅ‹¬ Á«W¯ä7uéׯ_‹-rrrJKKOœ8Án.zyBFŒÁëK½ Äêp)Àê)”——³QÀÆ/3ñàÁƒ·oß®J®?~L'zôèÁ‹8pàÚµkiâêêjÞ›³°›¨ººšuå3~üx…¡|}}i.b±ø¯¿þbUujEOOÏÆÆfíÚµ,&í}†âèèhmm- mÛ¶666ÜZ‡‚˶·•:#‰xýU×¶Ì×j)3—*š$8'ÊpRßÏ;îî¤g²ycȤòÇÆÆ†7‡•ó"‘Hzl¶}n'îÜNôÊÊÊ222èï±ÈÈÈýû÷+È€’T?ªŸ¨; `ýý÷ßÒ=¼ÛÙÙ)ÿCýò¦ÿà)NÌûUZYY¹}ûö$$$(3ÖÒøñã}}}±±±lT8®ÌÌL^'MÂÊ„F±æ¢W¯^•^%''ÇÓÓsĈ#FŒˆŽŽPæk m+3Yí™­­#""êtïÊОçÕKùS[wïÞe=^…††JgƒýZSÅ{q(@°÷)€Å¿\¸pÛË/¼eË–ààà½{÷²þX›îÏLXX˜t_ †††û÷ïÞµk—Ì÷½>}úÐ ±XL Ë›`êݵµ5ûrýúõÒ ***æÎÌzŒ®#ì«mݺµ¢¢B:{ioÞ¼¹»»{fFš†O´Öruu¥-/*++}}}éÌÑ£G«ØÕ]qvv¦»wï–Ã!''gÏž=*î‚]………Ü62LffæåË—éô¸qãTÜ!$99ùÖ­[tzÊ”) Rr»Õ Q}ׂ±Q^^¾cÇé6l¨ªªâÍV&¸¹¹Ñ‰Ý»w—––òVùÏþCg6hÐ`àÀÊ|í¡Ue&+ôâããy‹ž?Î*àÔ#­zÞ©‹æËh?‰”tuÑÒÒÒS§N©¾—÷âP€`ïSkþüùÍ›7'„H$’Y³fñºJ¹uëÖÒ¥Kéô€XÿlìçK—.ñ:^Ù¹s'wà-ö¿º¾¾>¸ê÷ßç­%‘HØë®‹‹ m#,o‚©wwFFFË–-£ÓGåv M)//Ÿ7okâçç§bæ)=½ÿß|5!![£aÅŠt"''ÇÏÏwðwìØÁÞ{ƒ‚‚”©üÏvD¹s玊ÙÖð‰Öf,,ÂÞ™k;þ`qqñóšH¿¿y󦯵xëþøãt"??ܸqܱù >ýôÓZu·/óÒuuueµÏþõ¯ñjš¼}ûvĈ4VÞ¬Y³Ï?ÿ\ùÝÉÃJ!‘HDÇ‚”ÇÎήk×®t:,,Œûõ5¬_¿~  Ó«V­â½¯>|xëÖ­Òk +~øá:ÝÛ·o'MšÄ]ëÉ“'lG}úô155Pækµ—™ª`z>zôˆ-­¨¨ðññÜÙœ¼ç…õò¼«kš/à6ßfmr)Z#òÁƒô#ï×ê!®áCqøða·ÿJOOWqkP£÷¦,Bˆ¹¹ùš5küýý !ÑÑÑ={ö °²²ªªªŠŽŽÞ¹s'ýëÞØØ˜û7¯‡‡íu%>>ÞÉÉÉ×××ÞÞ>&&æÚµk·oßænÿÈ‘#­Zµ4hPÓ¦MgÍšK9uꔋ‹ËÂ… mll***®_¿~îܹ¨¨(ºÊ§Ÿ~ªJÞ4|(X´hÑîÝ»=z$‹ýýýÏ;çééinnž‘‘šÂ¨ë|WWW:‘’’2|øp›Ï?ÿÜÖÖÖÍÍm„ ´Sðǧ¥¥ùøøtêÔéõë×7nÜØ¿?]ËÂÂbîܹÊìÈØØØÁÁv\µhÑ¢+W®ØÙÙ-\¸PX¶5|¢µÙĉ׬YÃ>6nÜxðàÁµÚÂÍ›7[·n­8ÍþýûyљիW+ÙûØ®]»f̘Añðð;vlXX!äüùónnncÇŽuppxüøñ¾}ûhÿPÊ“wé®[·.<<¼ººº  `èС³gÏþøãõõõ“’’Ž=ÊÞÍÔD¨®®Þ·oîß¿¿Ìê¥\&L wqqqñÑ£GרªSëׯïÑ£‡X,.--;vì”)S\]]ŒŒ®\¹,³r“°2ÁÑÑÑÏÏoïÞ½„cÇŽ¹¹¹yyyuèÐáÁƒ[·n¥Q¼ °k©¶e¾öP{™©ŠÑ£GÓ€šD"™>}zXXX‡RSS¯^½ZXX(x³òn:a[ÓüóN4YþÓ­[7SSSÚ¬oêÔ©GŽ5jÔ›7o®_¿~ùòeîøƒ………6lpvvîׯ©ýC\“‡"333::šN¨¸5¨Ùk%HY·nÛKYYY­Öåóøñc6_,+þÇLGG篿þânª¤¤DÁÏ\ÞËð©S§èŽX›y¼¼¼¸;7‚‚‚èZ~~~2ÛÝ–-[èÒAƒñÅÄÄ(~ îÑ£GIII­2©@^^­Á9r„.zþü¹‹‹‹‚œtèÐ!>>^ù}rWïÒ¥ ?}út:'00PæŠl|¢;w²™ê=Ñ5â6TͶ¹k×®Ó§¦¦²ôƒfóÙQýöÛo•ß»tæ •_kÓ¦Mò*1 4Húô +Þ¼y3tèPkmÚ´‰%Pækž……ÍIdd$w¾€ã#ï!«bN$É’%KäecĈlÄ””ås"ï¦V†K4û¼ãVÌÉÊÊ’ž™ŸŸ/½ÖÁƒéRn¡$QxäÕ^þ(Î$ÕÂÂBzÝo¿ý–.íÓ§›)³Me``°sçNVƒÒ³gO¶bq^)]ÛC!øtpè&$$H¯ðÏóòåËììì²²²òòòòòòŠÿº¦Ðu:§‚#/////O™ØT6!dµ¾uuuk;,±ŽŽûµÊ­=.‰~ÿý÷ãÇ7kÖLz­!C†DDDðþ!722:sæŒtÝCCï¾úêÒ¥KŸþ9{EçîèôéÓÓ¦M“™=ccãüñðáüUj›7Ø·æ~}Õw§`³...wïÞ•Ù ¬yóæ+V¬¸zõª‘‘Q­2©@“&M–/_.óÂhÕªÕ7‚‚‚d.6lXll¬‚`„´9sæÈ5¼ÆüËL Þ]#î®k<ÎÜ{Mqb¶T$)n¥à(q¯é+GÞŠµºZT¹Æ¸«XZZFEEI×<ÒÓÓ›?þÁƒéAy´y»Vpé~ñÅQQQVVVÒ‹LMMCCC×®]Ë;Ú¾ ­MF144?~|é­­­ÙH|—/_f­U9¼‚WŸ?þÅ‹¥o++«ˆˆEânSX™Ð¸qãÓ§O/_¾\ºk¶=z„‡‡ÏŸ?ŸÍPækž¼.àøÈ{Ȫ˜BÈêÕ«W­ZÅ{X4lØpùòå¡¡¡lÔ?¶¢29‘wÓ +ÉfŸwŠKî×Wfw ²¡öòGq&•\—»Ôßßÿ·ß~c£j0ööö‘‘‘Ë–-“y ×ö!^ÛC¡úé^uADÇWL û¢.--½{÷î;wÒÓÓ ,--ûõëggg§`•7n$&&¦¥¥5nܸcǎÆ 333£‹JJJ¢££srrZ¶léææÆW;33óÊ•+qqq%%%úúúmÛ¶íÔ©“»»;wØuÕó¦ µï.333.....®¼¼¼iÓ¦VVV^^^uÔ9w~~~jjjiii‹-:wîÌûᘛ›Ÿžžnmmíäääèè(3lT#±Xœ”””——gllܹsçÆ«žy ŸhP‹ôôô›7oÞ»wÏÔÔÔÍÍÍÅÅEX+—neeerrrBBBbbbƒ œœlmmñzÃUVV•ŸŸoooß»woeFV&TVVÞ»w/66¶¨¨¨S§NÖÖÖvvvòþVPæk5–™*ª®®NNNޝ®®nÛ¶m·nÝTÿ!¡øy!Œ&Ÿwš¡ýåOnnîÕ«W“““ËÊÊ,--]]]¹õ?~¯««Û­[7n™ à!®ý‡à}”-‰ÌÍÍéÏiö£š5«—‰ûÛ["‘BX{Bíd@¢ÄXIïk 4¦~Xø @m¦NÊÚx*oåÊ•¼Ž~€ ,µ)--åvL®¤òòòºÈ À?XjSï}½ü#Õá(„ªC ´X ÕÀ­†h5°@«!€Z ,Ðj`€VC ´X ÕÀ­†h5°@«!€Z ,Ðj`€VC ´X ÕÀ­†h5°@«!€Z ,Ðj`€VC ´X ÕÀ­†h5°@«!€Z ,Ðj`€VC ´X Õôê;uëÎ;ééé„&Mšxzz*N|ïÞ½‡BŒ‡J)--={ö¬D"©í~›6mÚ¿BÈ•+WòòòØüÑ£GëéÕp̳³³oܸÁ>:88ØÚÚÒéüüüK—.ÑéAƒ™™™)“™´´´¸¸¸ÚdŸtìØ±{÷îJ&¾|ùò£Gh–:uêDg&&&>~ü˜bmmíèèX«½×—Û·ogffÒi—¶mÛ*H\ãQ511éܹs»víttd‡‰SRRîß¿O144ôòòšëÿSXXxàÀBˆ¹¹ùĉUß €–ø‡°~ùå—#GŽBlmmõöö°ß.]º$%%BæÍ›wïÞ=6ÿܹsŸ|òIÙXµjû´víZ:˜˜8~üx:éîî®LfŽ=T«üûúúÒPˆ2~ýõ×cÇŽBvîÜÉX7n &„Ìœ9sÇŽµÚ{½‹ÅãÇg¬€€€;w*H¯äQ522òóóûù矛6mÊ[´k×®uëÖB KKK…füÿ¤¥¥Í™3‡Òºuk°àŸM5*44´Æ4‡Ò@NêEii©»»»››[ïÞ½_¼xQßÙù,zE9räHYY™ê›---ݱcGçί_¿®úÖ>LÿðX*jÔ¨Q¯^½¤ç?{öìùóçtÚÉÉÉÈȈ—ÀÆÆFæ;¶mÛ6}}}y{LLLLMMšßšYYY)“¬uëÖu±÷ŠŠŠ¨¨(:]TTT»l÷îÝÜ'OžôññQfÝAƒq[†J$’¬¬¬ÔÔÔÊÊJ:çÍ›7S¦LIJJ255Ucž>`)Ò¦M››7oJÏß´iS`` >þ|‹-”ÜàÛ·o/\¸0bÄy ”©¢%˜‰‰ í¬JV¬X1sæLBˆ¥¥¥fö¨ŠÂ£GòfîÛ·OÉÖ©S§ x3+++ããã}}}ÓÒÒ!«V­Z³fZ2 ðAABMS¢úÇ´ìСƒ»»»»»{ûöíë;/5;tèí…ÊÀÀ€õuîܹׯ_ Þfƒ >þøãÈÈÈÆÓ9¬öÔ j`iHß¾}¯]»F9qâDYY™¡¡¡tš¸¸¸'OžB oß¾­é\Ö¤²²2!!!%%…±çàà /euuuUU!DOOOWW·²²277·  €%xñâ…‰‰‰‘‘Q“&Mxë¾zõ*>>>..îõë×VVVŽŽŽŽŽŽ&&&Ò{ÉÎή®®ÖÓÓ£•àž?~íÚµŒŒŒ!C†8;;+ÿ½XûÁ#F|þùç4ÈXYYyðàÁ/¿üRùíHkÕª•»»û©S§!tÌAuyùòeLLLQQQ«V­\\\”iœXUU•œœÿàÁ###z`Y¿ûò<{ö,666!!¡¤¤¤C‡ÖÖÖžžžòÓLOOOHHxüøñÛ·o;wîÜ¥K;;»†  ù†ÿ…–† 0àîÝ»ùùù………gÏž;v¬tV9kذaùùùšÍ` ²²²¦OŸ~ãÆ n׿...¼®£˜Ï>ûl×®]tbÛ¶m'Ožäç8`ÀBH×®]ïÞ½Ëfüý÷ß¼­™››¯[·. €;³¤¤ä£>"„ˆD"±X¼yóæ%K–”””Ð9ʰRSSYݨ©S§zxx´jÕŠö1¿oß>X„VííÛ·ÅÅÅÆÆÆ*npÓ¦Mÿùϸ]ΛššŽ7NÁZ'Nœð÷÷óæ oþ°aöoßÞ¦MéUrss'OžΛoeeõÃ?Lš4‰;óåË—Ë—/®®®æÎ×××_¿~½ôa|þü¹›››D"!„,^¼Xõã ÿ`hB¨!"‘ˆ­äµ"<|ø0˜0a/ P¿’’’ÜÜÜ.]ºÄ˜ïöíÛýû÷—^…åŸNÐ8…4îüØØØîÝ»KG¯!ùùù3gÎ%„Ž3fÓ¦MGŽY·nMpèСàà`¿>|°>”&„©©©ì]Z£© ‰dàÀ¯_¿...>}ú4o„;Ö}ûðáÃMLLäUYREqqñ×_]c2777nc´ 6°¾«–,Y²jÕ*ÿ÷\¿~ýâÅ‹•©,fooO·óÇÐ9+V¬°±±a Ö¯_ÿòåKBˆH$ÚºuëgŸ}Fçûùù½{÷nàÀ111„M›6Mž}úµk×ð&z'P}}}¼,=@×U*°$IvvvÇÆA[[{æ¯C½Ù IDATÌ™¸'<<œ^EQ©À" µÔŽ¢¨;w* ¶dÉRU]]½oß>¼¼xñ⯿þšrãÆ¹¹¹¿üò‹Š+//ÿî»ïðòÚµkIífddtõêUWW×gÏžµ¶¶nß¾]º¿›®®n\\ÜàÁƒ•ýjÒ,ÈÉÉiĈd}HHÈŽ;Bùùùqqq£Fb9ÈŒ3H»$¬²²2??¿´´”¬4hЪU«”Ýž={pJ¡PxíÚ5²ÉÎÎîüùóŽŽŽÍÍÍŒ½¶oߎkÐôôô®_¿Nj¯°ÂÂÂýë_¡³gÏ>xð`È!¥¥¥¤ÅVpp0½ö !4iÒ¤#FàúÄÛ·o¯]»öÑ£Guuux+©SÃtuu×­[‡+°Hó:ÌÚÚúéÓ§¼S@—]Û©œºråJ}}=YŸ˜˜ˆG5244œ2eJÇDN–sçÎÕÖÖ"„„Bá'Ÿ|"àã?ÆÝÐTKRCf-O¯^½æÏŸ—>|(`õêÕ}‚ƒƒ§M›6zôhkkk@@¯áxè*X=zô?~<{˜Ó§O·u4„Báœ9s~üñG„~!DQé×výBݺu“ÙŠŠ©ËèׯŸ¼0¶¶¶êªÀ0`€¼0–––x¡¹¹¹  €’eG¤ÿ EQô&W9÷êêêK—.Ñ«lþüóOéê-CCÃAƒÉlôÄC~~¾D"ÁËò®…­­-cMII iKÅ%mXVVVëž>ˆ;655˜»®R¥9BBBpÖõë×kjjzôèÇ766ž4iRGGðq‹Xæõc «ÄžÀ!dee%/ ½£¢H$ble4Èâ";;7;ÂèËÒ~ûí7– ¬)S¦ðkŸÅ})y•bÒ‚$,â–¶8aÉ^Œ­XøúúÆÄÄ|úé§—/_¦Ï?“““““³wï^OOÏóçϳÄ`c`µ·‘#GâÉ×D"ѹsç­ÿà´iÓôõõ;2rRÈŒ~ÒuFDyy¹Šßbhhˆèã‚1<þœ,÷ïß_ÅoD´æW\\¹r¥²²Rõ/å>µ"•Lšô… ‹¸¥­BˆTÆ)•]]]/^¼XTTôË/¿Ì™3ÇÜÜœ¾599yòäÉÜPÕÞ™0<<\"‘®‹sçÎí¸xÉFƽÂcÌˤú\rä[ å…!Ý ---U&¬µµ•Œ‰6yòä|9~þùgF,‡‡‡«ø¥ª @&ïZH_ú^òÒ–¢(ÒäÊÞÞž¾—¼+ûòåËË—/_¾|9&&†±ÉÆÆfùòåeeeiii_}õUß¾}ñ¦ôôô¸¸8™ØAV ]EFFž?·éÑ£G```‡ÆK2¤zrr2žrŽ¡¨¨œ¤ Rc’˜˜ˆÇQ’væÌ¼€+YTtãÆ Òì(44´¿ .$•e 'hSdø+W®È sãÆ Æ###2¾•ôVìÎ;%%%x§-¹è>¬¨¨ÞeÛ¶mAAAAAAkÖ¬AýöÛo¡¡¡¡¡¡äa®®®Ÿ|òɽ{÷úôéƒ×Ü»wOÁy²@VðööÆàÄb1;|úôém=ŽîîîxA$8p@:ÀîÝ»[ZZTü777¼P[[{øðaéEEE·nÝÂË3gÎTñëBGŽÁ =zô˜:uª¼`†††AAAx9!!´ëäZ9r„ ÍN”••ýúë¯Ò{‘´Ý¿ss³tÒ•ÒÜÜ|äÈ‘!¼F$:tˆ¾¢¢‚Ìuˆ‡l{üøñÑ£G=úÍ7ßHßÌÌÌÉÉ /·¶¶²ž" [V`:uÊ÷ôM'NÄë?ýôÓ¶‹€&#°H‚²ó–––³’³I,³ïBv7cÆŒ7n^þꫯ.]ºD?à©S§öïßÏ=ÎÚÚÿ7i½1Ž··7i}öùçŸGEEÑ÷ªªª Âufff+W®äþ2UUU?/Ï™3‡½Þ~]Ž?®âW«bëÖ­x¡ººzæÌ™¯^½"›jjjæÏŸ/sœ²Ï>û /”••-\¸æÀ¤^2,, 77sss##ÖõÕW¤ê!DQÔ_|A¾W`yyyáIII±±±ŒøàƒææææææüQzß°°°7ò>)‚Ä¿_¿~¸ †…Á´iÓþøã„ÐãÇãããýüüT?{÷îÍÏÏOKKCedddddзN:õâÅ‹Ò{íÞ½;??7ƒJNNNNNf°³³;sæ }ÊBGGÇ'N„††Ö×׋D"ÜC¾‹½½ý±cÇBÈÀÀàçŸ@µ´´ìÚµk×®]Œ¯ÐÖÖ>qâ„ßSÐ¥µaBz1ú2ý#c}ÛÅËqL¡PÈï˜ô¾iÒýeî¨Tr©’ÈŒ]Ö®]{ãÆ 333F0‡¨¨¨Q£F±D•q¨+Vàñ¿¤­^½:>>ÞÁÁAz“±±qxxøwß}GOm------™ß¢¸¸˜ôh{ë­·p ;úÕ¹páã…B!—ƒHãq¬­­ããã¥[ikk¯]»öäÉ“8}´²²Š‹‹ “ÏI“&%''“¡²ˆÙ³g'&&:”±^__Ó¦M÷îÝ311!+'L˜påÊ2X;ƒŸŸ_\\½ùR!cè‚2gcèÝ»w;Dh¸¦¦¦äääøøøêêêÁƒûùùñ›P"‘dddTVV8°gÏžô­b±øáÇiiiééé:::...®®®ÎÎÎPÇAWPPpçÎÌÌLccc___///.=+ËËËSSSÓÒÒ ]]]]\\¤ë%ÊÊÊ’““dPèØ ¬NЪåí·ßÆW+åË/¿\¿~}[Ä´§NPÕØØˆç€S ™ftj ëÔ©SÐaÚpBTX@£AÐhm5VSSÓ±cÇ(ŠÒÒÒzçw„Ba}‘:þ|KK‹¹¹¹¿¿?÷M ·nÝÊÍÍE½ùæ› h«¸vqqq™™™!www//¯ŽŽŽz¼–'Õvrssïß¿zã7z÷îÝž_ÝÜÜ|éÒ%Š¢ÁÔ©SuttÚóÛåIOOÏËËC9::º¸¸È Ó!‰Æ1¹¸¤jÇ%éÚ™†ä±ÚÚÚ'N „LLLBBBðJ L.Uhþ‹MvvöƒB pssëèè0uÆLòÚ\ô›7oVWWwïÞ}„ xÍÙ³g%‰»»{;Åõiæ¥×„XɼS4¤¨W—׿Îê(4“Ü»w¯  !Ô«W¯±cDzÎÌÌÌÉÉANœ8‘¾»²üýýÍÍÍËËËcbbÈJŽ÷xTTÔË—/ñ²P(œ>}º@ À«««oÞ¼‰—ß|óÍ=zp‰L~~~JJŠRñ···>|8ÇÀ2ë4¡dS§ (åѳWuu5#tR¸°CM:•û&iÁÁÁ8ðÁƒÛ&¦]Å’%KpJ®_¿¾£ã¢6¯åIµ9sæàäºwï^;5½$|öìY;»<$ÿ,[¶L^˜I4.É¥TAªv\’®iHKKKÃq°±±!+50¹T¡ù/6aaa8z .ìè¸ÈÐ3ÉëqÑE"Q·nÝBnnnx þ!´bÅŠöŠ)“f^zMˆ•Ì;ECŠzuy=î¬ÔI3ÉìÙ³qôœ^±bljjÊØ]Y§OŸ¦(êôéÓô•>>> ãPWWg``@ß«¾¾žl½}û6YË1vîÜ©lüçÍ›Çñà”œ:µ—l%%%¥¥¥MMM"‘H$5ÿãoV14xM3Meeeee%—º)ÍêBØØØ8räH___??¿çÏŸsܤQΞ=‹f̘Á}PQgÉ«k¦RSSÓÕ«WBýúõsww×Døé§Ÿ|}}}}}¿üòËŽŠ F¢uttþ£ Õ„”ÔLÕ‰hÂUkO]í|Õ¢³'šFÅÿÎ; !Òü꯿þ d ÒŒ8Cqª,M¸jí©«¯Z@¢É”˜˜XXXÈæâÅ‹íŸö×yËÛ¶êBÈOsss||<^®««ã¸I£œ9s!$ §M›Æ}PQgÉ«k¦Ò7êëëBø I„¼¼¼„„„Pÿþý;*,‰¦Q©&¤¤†dªND®Z{êjç«=Ñ4*þ‘‘‘xTW]¿~!$ ÇG‚iBœ¡8U–&\µöÔÕÎW-^›DüðC–oŒˆˆàS®¸³±±i‹oï¼å­fU`uv………¸SëèÑ££Æ°l´Ò`gæÌ™íÿí666±±±x¹OŸ>í™>ûì³eË–!„¬­­eè¨DS˜\^*Lºö§™y ÓÀäš2I;ÀXúúúxÜÀÆÆF<Œ§§§‰‰IGÅJ3/½fÆ ivQ4ÄkŸI¶lÙ²eËéõ={ö¬®®FÍ;wÿþýÜÎRU[[{íÚ5ñäÈÈÈVÕ4¶dã*°ÔéܹsxAº“ Ë&@imm½xñ"BÈÌÌläÈ‘í¡PØ!ßËÎÎÎÎÎÎNÞÖL4…ÉÕá){ÒuÍÌc˜&Ð4IÚZMMÍÝ»wB£FÒ××GÅÄÄ455¡ÿí?Øþ4óÒkf¬fõ@C@&QÖ½{÷?~,o¶´ .à¢ò5 ±%?íWUVVUXX¨­­íáááááallL¶ŠÅâòòòšš²æùóçFFFÆÆÆò6õêÕ !ÔÒÒÒÚÚŠÒÓÓC577GFFæææ¾zõÊÕÕÕËËËÜÜ\^¬ÄbqBBBnnn~~~÷î݇:tèо}ûò;GÒlAºß Ë&±Xœ–––mdd4pàÀ!C†pù®/^¤¦¦¦¤¤TTT888¸¸¸¸¸¸±ïõôéÓäää´´´††;;;GGDZcÇjkËÎiiiyyyUUU:tè Aƒð8 <466Þ¿?==],[ZZŽ5Jf{N„ÐóçÏ)ŠÒÕÕ533CQ•›››PYYéîîîîîÎ1çàìÁ@QTLLÌÇËÊÊFŒáàà@¦“‰cRS…ûkiiÉüߣ¡¡¡ªª !dllܽ{w™ß…˜444ØÛÛ»»»ã,­Â“R6•djjjJOOONN~üøqïÞ½ííí}||XJÖ––‡¦¦¦feeàt“÷À](ZZZ"„^¾|ýäÉ“nݺ9::¾ñÆô\Z\\_TT„op–Y?bbb***BÓ¦M“H$¥¥¥,‰ðêÕ+üN¯^½ $ILLLZZš@ X»v-ý° ñññÅÅÅ=zô°¶¶vtt”7IMss3EQ@WWŸZcc#þ"„P]]]qq1BÈÜÜœ>_ Ç¢‰_®kmmmiiAikkKOýCO4é­ÙÙÙ™™™MMM}úô±¶¶öññ‘ù>¿’™‘\ ô‚TaJ–––¶¶¶jkk㢦¸¸øï¿ÿ.,, ` ìÅý¤IÇýÎâXœÖÖÖâVÜ&&&†††ÒÀ'%¬¬¬8&;î%3]IIIRRR]]•••——½L¦“Îió?RæÇñÎUïãc±Qx¾uuuµµµ¡ž={âÌ””tÿþý—/_ÚÚÚz{{Ó Øæææ”””¤¤¤îÝ»{{{;;;³?¹Ô¨ëd.:ÝE¿}û6.ŠYÀ‚âT^¬ØRVJ›Þ)ˆïëRæ} ŠÓvPTT”’’RTTdhhèìììëë«¥¥`LêΘI4™¡¡¡““nÑþñÇË FúŽ5Š4mÓ(Üëx—·HΣ¶Îˆ«v˜…°²²rýúõŒk--­… ¶´´àðþù§Ìè 6ŒeÞ—\­¨¨¨ððpús›7o^mm­t$#""dÞ™>>>………Òá7nÜhccccccgg'½µ¼¼?ê<==9nzúôéøñãñb„——Wff&Ë,„ÕÕÕ³fÍ’Ž¶‰‰ Ë”…eeeo¾ù¦ô^¿ÿþ;#ðóçÏ—.]*ýäÖÕÕÝ»w¯¼¯`ùê)S¦0ªÉ´µµg̘!»Èpzfffb±xûöíŒIKKkÖ¬Y"‘‡W˜=èöݽ{×ÙÙ™ÒÔÔ4>>^fÌ•Jêôôt ¦¦Fúh}ôÞ:þ|é­¿ÿþ;£ÂÒÒrÏž=Ož<1666223f ¬ìI)L%…Ž;&ýþ' —,Y"s¢“óçÏˬ›4iRQQ#0} Ŧ¦¦/¿ü’ñ ÄÑÑ111‘¢¨ŒŒ Fçv@0gαX,3ÚäQzéÒ%…‰@ZoÙ²%??Ô¨Qø£¾¾>9`uuõ¦M›zöì)}œ¡C‡>|˜§OŸ’%%%E 6Lf4þüóO²÷¢‰_®[ºt)^ùÞ{ï±'}ý_ý5fÌéX,^¼Xú²ò(™¥“‹ŽQ²§ä«W¯ðG@@QÔž={ÈÏ›;vð>)FÒq¹³”*NI˲ 6H_ú?999\…R%3ñý÷ßÛÚÚÒw166Þ¼ysjj*þHŸI:§qÉÿÊ>ã¸Ü¹Ê>îeRöÅFáù†††â}ôQVV–··7ãZ¼ÿþû‰D"‘lܸ‘ñªÐ³gÏèèhF Õ>mV—Ê$2uÒ‹^RRrúä}ò“O>ÁkÈcôĉxô[=Î]§8•ŽGíp§ð{ ”|ƒâ”h‹Y;&ý×]ß¾}?.o—NšIäQqByH9û´ªdB]]Ýo¾ù/»¸¸È \UUEòäž={Hš¨qB###Ž»HS¶GyK±>j;vÂö¨Àb³|Á‚­­­”ÔÄ–ÄСCY6áï"ÏÝyuØÙÙÙô²w‘íÕ«WTTã¤.\HHŸòÁƒñ¦mÛ¶qÙtÿþ}yC²™ššöë×/3^ÅîÞ½ËÞðÍ7ߤßZXLLŒô¯Gº'NÀ•••ööö,çÎK¢°»uëK7ì0® É9=zô`@:88ÿÉ 0{º???yc=tïÞ=!!se“šÌh‹äL üïÿoeL†ÚÜܼfÍyß2uêT¼@f¿æqR S‰ESSî5-››[cc# /‹7lØÀÞØØ8""BæEG‘ǃ͙3gälHH.IðÿÆÆÆMMM ¼¬¼ûî»ôq.É#¹ººZ^3+â»ï¾“wj¸¦oèС2wÄSüRJMürûdºôD#+9Âþ¡ƒƒ£ö„GÉÌ>4£ eOI<= O@~qñ8)FÒ)ÌTʧ¤Ð[¿~½ô¥¡ÿâ"éÆoÚleKfŠ¢Z[[ׯ_/o///¼@™–Îi ó?gœÂ;—Çã^&e_lž/IŸéÓ§ãÆ§Ò¶nÝ:þ|™›ŒŒŒO.õþâêR™DžNzÑwìØ!/ª21~!3âÜuŠS™R¡ö¹Sx¼NðxƒâT:)ÔRœ¾zõŠT±Éôé§ŸJ$ú.7“°Ð ,@@O«¬¬,éÀGÅ[xóæMX*°xÔ!([ÞRе[Õ]/\¸€²°°˜5kV¿~ý=ztúôiÜhí?þž3gΠAƒÖ¯_ßÐÐðßÿþïµ`Ássó¾}û²lb|Qxx8BHOOoìØ±cÆŒÉÎξ~ýzii)B(//oÅŠQQQ8dNN)œ'Mšäëë[WW—””tðàÁÖÖÖ—/_.]º4;;›ÑÀ’˰ÇÒ›ÊËËýýýI˽Áƒ=ÚÀÀ 66öîÝ»ÿ¿rQÊ«W¯¦M›VRR‚?Κ5kÔ¨Q¦¦¦III×®]ÃãÀEFF~öÙg»ví"{ÕÖÖΜ9óÅ‹!@0bĈI“&YZZÞ»wïðáøaù»ï¾ëëë‹süºuëž>þ×_Å·ó‡~¸dÉSSSyéúôéÓÈÈÈÌÌL„½½=~u4hj›¢I)ŒDÃ+ëêê6lØ ‘HBzzzï¿ÿ¾»»{÷îÝ ÿøãœßòòò¶mÛFr2÷’™£ eOIºÍ›7ã@`aa_tT<)La¦RcqªFüJæO?ýôûï¿ÇËݺu?~üСCóóó¯]»V]]ÙQˆýª©XðʼsÛèžâòb£ð|‰óçÏ#„´´´‚‚‚† öäÉ“ˆˆütþì³Ïp˜Þ½{ééé]»v­¨¨!T__¿~ýú;wîp6w]*“pÔ‰.zII n#SQQchbb‚'¾(,,Ä—ÕÒÒ7¬‹/®¬¬„┽SjïcPœª×Š+~ûí7¼ìàà0}út++«´´´¨¨¨gÏž!„¾úꫲ²2’ùQ§Í$EQ}ûöõññÁÓ†‡‡þùçŒ0¤ÿ`HH¾Á5¿:…å-—GmGj‡X¡ Ð[¤¤¤akèÛ¤.úßÿCØ7Ñ[>÷ìÙóéÓ§dSkk+}†àsçÎáõ¤)à!Cè­ (ŠŠŽŽ&á¯]»FßôÁà.„ýû÷gœomm-þ±']£,siúè£èGvîÜIoM¯=%3/‚Ÿþ™þ-uuu#FŒÀ[´f² IDAT…Bá½{÷ȦO>ù„mûöíô½®\¹B6íÙ³‡¢¨ææfÒ³šÑ¢U$Mœ8oòññ¡8˜2e onn~ûömú¦cÇŽ‘?ëèõ匜ãëëKoÚ}ëÖ-Òž“Þ¢„%{*g„P=nܸA6µ¶¶Ò·æåå©’ÔüÚ¼xñ‚ŒLäèèX^^N61ºËÉl¥ÔI±¤’<äVíÛ·/=zMMM£GÆ›zõê…ÿ8ªªª"]]]_¼xA?ÚÉ“'ÉEŸ1cYϸèK—.mhhÀ›jkkéퟵµµÉ¿FE=~ü˜¤Þš5k‘'}ÚOž<É%ÈJØôéÓ=zDÿCŒü‘5kÖ,F§ÅÔÔTRÝsñâE™§FoC^Íñ”-šÔÞKf¢‘?j´´´èe EQ‰dÞ¼yx«‡‡}’™¥1‘¼2V^JÒ› „LLL~ÿýwzE~'%3éäe*Åiû´ÀâQ2WTTNÄ ÈÈÈ ›žÅ©º”””ÄÅÅáåmÛ¶IOAУGñãÇãå'Nà…ΛI:kkk2=ù—#ý¥__;¿:eqyÔªø*j1°³†a¤®”þˆŠè}RèHÇŸªªªªªªž={¾ñÆx¨‘H4{ölggç·Þzkܸqžžžººº†††2'Ü•G$]¾|!dccãéé©pé8êâââèè(}@[[['''úßM¡¼¼<¼àáá!3IBãÇÿî»ïpàÖÖV¡Pˆ«È×Iï2kÖ,úü–––ÎÎÎø 22²OŸ>ÁÁÁÓ¦M=z´µµµ@  ¿C°{ôè^­,EQ$¼¼a2MLLÜÝÝqŸs™ÝÉɉ±†¼ÖéÑIÊãÑ7Uê;† &óA¾`ÁúDz²²‚‚‚‚‚‚'OžüòË/jyGWoѤ,y‰6dÈúàMMM………øÜcccÿýwöÃr/™å¥Œå‚LO§âIq¡ÆâTx”Ì"‘ˆÌm$ïïÓ &üòË/ªDLõ‚WæÛF÷”z_ld–ä¤è“žð‹~⌢O-ºZ&á¨Ó]ô””|È Æõë×ñB@@€R±% 8¥ÓØ;Eõ÷1(NÕ…d„£££Ì|âáákL=zDQTsssçÍ$õéÓ‡ &ÏÎ;éMŸÚBHHHLL B(<<œ´—¬¬¬$Í H#Ö¶ ¥¥µuëV…Áè?‡ùÕ!(‹Ë£¶cµG–ÌìÙ'+áGz°IŒþXÍËËóòòš={ö¼yóNž<‰WfggoÞ¼yóæÍ†††£Gž:uêœ9sX†af¸yóf]]B(88˜´EdÙDÊ 2M€4[[[yX2'¯ÅȼÍÍÍ ßeeeÅñé~øðáÀÀ@í¦¦¦“'Oâ„rrr ˜;w.©®fGJ:ü¿{`™º™™™ôJÞõÊòfRΊü’šG”ÊÊÊÈìÔò –L‚”9)JKKIó=™X %%%$<—¤“YÅr¾½zõ"ãL)„ëb´´´¦OŸÎq‚%òb±ø—_~9qâDZZ9Y5RoѤ,öD{ðàÁŽ;bccñ<ÙÜ˽d–w–2– – Êû¤8RWqªFä—Ô I£·Ù‘—Øámzs‘t@Üò=<—¤“™n,Õ¬Ük.ž={–œœŒ5j”ÌjPvòÚÓýõ×_ƒ Z³f ½g.¦®Æ´ê-šç̉X­©©iéÒ¥®®®Çǩз*üðC¼·5@1¯Q¶y§D§¸Sß÷1(NÕ…Þ† ‘HÔ©3IçbaañÆoàeÒßEcû"¾uÊâò¨íXíÑ«ÝTUUÉ\çkÇÈÀ.B¡pÓ¦M6lˆ½víZTTTJJ žf!ÔØØ¸~ýzSSÓ·Þz‹ýK% žÿµwïÞŒ‘qäm"q`y|–——3Öv¹Œé`èèOîþýû#„H‹éÁ¤X¸ºº^¼xñÙ³gW®\‰ŒŒŒŽŽ¦Ç'99yòäÉwîÜ!á¥ééééééáôóóó÷÷gÿƱcÇJ¯lÿÇ Æ/©b Ù€þ·ôihhùÐ¥?`Ú½¹—üCo:^__/¯þ‘$¼æcªÃ³Ú!^ýåÉÉÉ™5kɆ††cÇŽõôô´··6lØ!Cè£9ò¦®¢ “Îuò°$Ú¿þõ¯Ã‡“ÎÎÎãÇwtttrrrwwÏÊÊ"™”*™¥±”±ªPñ¤¸S½8%¸_Myø•Ìô«S[[Kþ¥“~f)« ^¤î{êµ×53Ékwöán̘1ª)§{§ u¿Aqª,zâÿë_ÿb, ;{&é\BBBp‡Áˆˆˆ;v¼xñ"** oÒÀ ,~uÊâò¨íX¯U–¼ör¤#±@ `´¸ÓÑÑ;v,~¨ÔÔÔDFFž8q‚ L¸ÿ~…Ep\\Î(S§NeTEËÛäèèˆo•¢¢"y‡%q¦ï…X†Ú!Mþ,--qo²—ô±—/_Þ¹s!Ô½{wÆÓׯÆfùòåË—/G¥§§_ºté—_~ÁÇIOO‹‹“7lBHKKËÁÁáÁƒ¡1cÆ|ýõ×òBj ~I­ô%èß¿¿––n'\TTDoB¤¦¦r9x[ w®~úô)nX˘˜ˆ/÷ðð ‡/,,´¶¶–OQ©’³··WsŒÿ¡ÊXòüðøßÿýŠ+ƒÍã~ ê¢zфɻñ¥ÉK´ÒÒÒ½{÷âe—³gÏ2.\RRû‘y”Ìt,e,oªŸ”²T)N îWS~%3ýÖ.**’ÙßYõ¸µQÁK¨ëžzíuåLòØ»wï®]»BW¯^Å¿¾>ûì³?ü!´eË<âòŸþIÆÀRªÿ LPœ" ¾SPÛ¼AqʹÄZZZ_|ñ—ÿƒ_LÒYÌœ9sÕªU---ùùùIII¤Bvøðá2™êXüêx| ^PËð¾m¡=º¶›ŒŒ ™ëÉpÆ 355­­­}çwBCC—-[&‹I°=zÌš5ëôéÓ_}õ^“ššªp”9KÚ¶mÛ‚‚‚‚‚‚Ö¬Yƒúí·ßBCCCCCÉ¡0WW×O>ùäÞ½{¤Ùð½{÷dÆAú4SRRdhmm]³f þ:y×®CðKjz{1éVåÍÍÍñññŒ•ºººä‘˜˜(ó‹p¯®ѽ{wÒt9::Z:@YYÙØ±cqþIHH022"‘é îܹC§ž…•••ÿý7BhøðáìC!(!4wîܵk×2j¯jkkÓÒÒTü E\'K¢Ý¿Ÿô —¾j$eäáX2ËÛ½-ª#U?).x§ä‚Êì™BþT’Ù‚LlzåÊ™{É»å¹ãWð²Sïã¾ëèR™ä5£««kddddd„ÿ›DMš4 ¯ÁS¡éêêýCõo„âiÞÒïcPœòC2‰D"‘÷¢xýúuœIpvÞLÒõîÝ›Ty‡‡‡“þƒm:|;oüê”ÅåQÛ±^« ¬Û·oÓçzÀª««÷íÛ‡—ñdXúúú¿ÿþûÑ£G:„'f Ã@J$…ãPâW†††ÒSºÈÛäîîŽD"Ѥ¹{÷n>>ä»:ÄØ¥¢¢‚Ìa1iÒ$„ÐãÇ=zôèQ2t™™™$Ž4–‡Dø¯¿þ’ÙãèÑ£?þøãÑ£G;Ö!ÓÇÈÃ/©é§ ÝljëÖ­2Çü&é¹{÷îææfÆÖ}ûö)¬(lS¾¾¾xáÈ‘#Œ­ÿùÏðJ<#Iºýû÷KŸBèèÑ£xÁÜÜ|äÈ‘mç‹/âÛGõˆÖÝ@fC¹³gÏ*¼#âQ4ñËuÒXíÙ³gdYúÏ¨ÆÆÆK—.±œcÉ,KË›ê'Åâ”\Pé«Y\\Lš9¨‚_ÉL[GŽ‘ÎTeee¿þú«º"¦TÁËN½û®£Ke’×Õ_ý…êÑ£ž£ºº·„5j”zg³…âiÞ‚Úà} ŠS~ISPÜ:’¡¹¹yÕªU8{“:i&é¤æÍ›‡öîÝKÑÀþƒˆo‚²¸Ð ‰‰É7ß|ŠJHHðôô\ºt©ƒƒCKKKBBÂÁƒq ±¡¡¡êÿƒqÌÜñHjÉ“'ãë~ïÞ=OOÏÀÀÀæææ¸¸81™ÆŽKæ$þóÏ?ïÞ½ûÆoPEÿWS-ØSIæEtqqY¸pá±cÇBçÎóõõ2eŠ]VVÖþýûqfÐÑÑ!%¾¾¾sçÎÅíoO:•ŸŸ?gΜTTTÄÅőَLMMW­Z¥Þ³Ã^½z…ÿvvtt2dˆ²‰ÀÂßßw;OMMuuu7oÞàÁƒ“’’þþûoòÞŒ>}ÚÊÊêÍ7ßdiWèíí²³³'Ožìää´råJggge‹&~¹Ž=ÑÜÜÜŒqõÓÛo¿}úôéiÓ¦½|ù2&&æÖ­[/_¾$!kkkwïÞíîî.=*0Ç’YšÂþƒòR’ý”ÕrR„¼LÅ£8>}:~¡¤(jÉ’%gÏžµ³³{ôèQtt4½v’#5–Ìþþþ3fÌÀ—ãúõë¾¾¾3fÌ2dH^^Þo¿ý–­TÄä]5~Ï8v<÷EEEäY_SS£Ô©)u¾ª¹tµL‚^»‹N:M˜0/àB!D~–Hƒâ”E§+NÛâ} ŠS~6nÜxäÈ‘ÜÜ\‰DzíÚµ±cÇš˜˜?~œ ³°téRÒÊ©ófÔ½­õèÑcâĉx¾ ŒGó«Ù³g³pttdtG‰D666\Þ·o_Òè‰_‚L,¿‰8>j;L”òè®ÕÕÕÒH ´ }ýúõëéÑ:t¨ÂM¤ØbyYqsskll$‡’H$¤¥«)–ûKÞE|ùòåĉYÒaÏž=ôðÅÅÅäŸR™ìììRSSé»°_ôsçÎáM¦¦¦Ògúïÿo5jEQ§OŸÆ7mÚ$3eX!,, ¯Y¸p¡ô^ ,oHþþþŒæN—.]bœÚ³gÏÈÑ*++qÓ6âôéÓ¯¢‰G®#ùgÙ²e\MfûaLOOïàÁƒän„§§'Þ‹GÉ,\ Ry)IŸ9%//O]'ÅH:…™ŠGqúÑGÉ DþÌÎΖ—h„KfŠ¢ž={FZ•K›:u*^ —Ìò’KÞU£x¼ìw.{ t¥¥¥‘õ¼_lä/{INRûÇdljjj"‡ŠŒŒä˜JéR™„zí.:B;''¯0`BÈÂÂwï’ ŠS–XuxqªìëÅë} ŠSŽI¡¬¤¤$y¯j˜‡‡GCC}—NšI(ù¢(RËãìì¬0ÑV¬XË|ÿ§#³º¯X±‚%yÝE1ž¤¶!$ é[ɘ­¡úúz²^©ÉǤӇ#Æ]À£AÙò–Rô¨-)))--mjj‰D"‘¨ù³Š¡Ákši*+++++¹ÔMµUBÒ&MKK‹qÏ0Ð[¯!„V¬X!oÚc–MØÁƒ×­[Ǹ¢B¡pÅŠ7nÜ w?—/_^¼x±ÌãnݺõÔ©Sìq.//Ç=ÞÇǘ|”e±víÚ7n˜™™1Ö;88DEE‘'#}V¯^ïàà }@ccãðððï¾ûN:OÏž=;11ÿ¤Ó××ß´iÓ½{÷Èš0a•+WÈp˜ ~~~qqqôæWHþÕûöí;þ¼ôi"„¢¢¢ÍÜÔžsä…W€GR;88ÄÄÄ 6ŒÞÛÛ;**Š´ùd|‘¹¹ùõë×:äêꪣ£ƒWZ[[O›6íÆäߘž={ª~R,7‘¼]zöìyùòåÍ›7“®j„‡‡GddäÚµké+­¬¬âââÂÂÂèã‹“&MJNNf<’Ù/:ûÉ2¶âFRˆu,~YÅÀÀàÊ•+äßlB__ÿƒ>¸yóæÊ•+¥o1ú¡è˽zõÚ¼y³tñ(šxä:e-44ô§Ÿ~"CŠƒŽ]ºté§Ÿ~*órcÜKfF$¹¤òR’ž—d^P~'¥ìÅ£8ýú믿úê+Æ4ðݺuÛ¼ysxx8I.™1aÄJ%3BÈÚÚ:>>~Ñ¢EŒõÚÚÚk×®=yò$¾Ä,9wÕ¯‚—ýÎåqOÉKRÞ'yç«TáÆ8)’\œ‡.•IäE uÚ‹Ž›?ØÚÚâþ}/^¼xüø1B( €¥¬†â”%VšSœ2–YîUÞÇ 8UcqŠòòòºÿ¾ÌqÁÍÍÍ?ûì³èèhFFí¤™„%\öå˜cH²U(2ÎwÚ´i$ý}||èuîH~vU*o¨’£»ð¨CàñÃýQ«Ü ¨›@æÌt í<À¶D"ÉÈȨ¬¬4448p ýw»ÌMƒ Âm)Ož<RTTtõêÕ¢¢"¡P8xðà#F°Ì›PTTtûöí”””††]]][[ÛŒ9’ÞB¸M555%''ÇÇÇWWW<ØÏÏË,b±øáÇiiiééé:::...®®®ÎÎÎ o‰²²²ää䘙™áîBô䥉D‰‰‰ÑÑÑx@Áž={ÚÛÛ;;;㞆Êjll¼ÿþ½{÷ ôôô¬­­ÇŒ3hÐ ‡bÁ’sxã—Ô)))&&&ÎÎÎdÔ…š››Ÿ>}jddD¦ÿûÏþ³qãF„PHHi}¦ Þ©$‹333“““ëêê àèè8hÐ –WáòòòÔÔÔ´´´‚‚GGGWWW™oxíO•¬—žžžŸŸoŠI“&‘º•†††„„„²²2KKK___…“%WWW?zô¨±±ÑÂÂbàÀô‡"¢‰w®ã¨¼¼<::úáÇMMMÖÖÖÞÞÞôíòòòRSS…B¡››.ÄT)™•Å’’ê=),™ŠGqÚÚÚúðáÃÔÔÔÖÖV[[[77·¶xó+™ îܹ“™™illìëëëåïmÐx IDATåÅo<;–«ÆûÇ¢Ã÷¼siÇêR™Dí:ãE‡â”½SP¼AqÊ[QQQJJJJJŠH$êÝ»·ƒƒÃ”)S¤ÿ!¦ë¤™´5~uÒØÉ{ÔVTTüKüdŒ¶Ä@ÿÙHQúß1µqWtŠC/HM¬ÀRãgRGG%dddà^Íýû÷—9fÓìÙ³ñ¨¨aaaß}÷]{Ǿ dà5SZZÚXô?]ÐO?ýôË/¿ „ìììrss½®^½Š—YfjÞ~ûm2 w_~ù%cP èâ 8@s@)00W`åççúé§[¶lÁæI$’ÄÄÄ   ††„••¿Î›º¦ÆÆFúðÛ)5;;tPœ 9  €Ž4aÂgggÜÓjÇŽG:th}}ýÇÉ4ÏàСCò曤IÏE€(NÐP@G222ºqãÆèÑ£óóóB¥¥¥¥¥¥ô†††?þøãĉ;(‚@Ç{*°¦L™‚g¯·³³ë踠4›¬¬¬'N>|øÑ£GåååEuëÖ­ÿþ3fÌxçwÔ8YíJf€½³ð:ijj‹ÅÆÆÆàÿÀ,„€ÿ£¯¯¯¯¯ßѱ4ˆVGG6P4T`X@£AÐhP4T`X@£AÐhP4T`X@£AÐhP4T`X@£AÐhP4T`X@£AÐhP4T`X@£AÐhP4T`X@£AÐhP4T`¦ÝnßtãÆÚÚZ„»»;{à¿ÿþûÅ‹!+++__ßöˆèbªªªnݺ…Ò×ן2e ^YVV‹244œ8qbGƳ¸¸¸¤¤¤ÜÜÜššš·ß~;00°£cÔUDDDTUU!„fÍšejjʸóֹsçÊÊÊBãÆsttä¸WTTÔË—/BžžžýúõkÃø«vªÀjii nhh@…††>|˜=ü‚ Š‹‹BS§N½páB{Dt1×®][°`BÈÜÜÿ°GEDD¬]»!Ô·oߢ¢¢ŽŒ555+W®}ú´Ñ×iˆ¤¤¤„„„ŽŽNïÞ½é›Ú!Í1Á žžžZZŠÿ PWÖR+™éCbkaaÁ½' ‰s÷îÝ ¤Ö˜€rÚ»ËÀÀ`ذa //¯¶è’ÄbqJJ ^¦W`…‡‡×××#„Tù¹.‰ÒÒÒ¤®^W®\‹Å!Ó§O›™™µÑiÒŽÉÕÕUOO¬oŸ4§“YÊB-YK!yéCÖ+•8111!CCC.•tÐvÚ©‹ü|>|¸¶¶‚/%hbbÒ¶1]RFFîÿ%è?éÝÜÜT?xZZZss3^n»æ6¸¡ BÈßß¿‹Ô^!ùñÚ'͹ÄDµd-…äÅŠT·)•8½zõ5j”ºâªh ¬úúú‡âe…?Ÿ$Irr2^fi,P\\œššš••Õ£GŽ=ZfçÏŸS¥­­maa*--}üø±Ï˜1cE"Qfffjjjuuµ­­íÈ‘#­­­¹Ÿ&C^^^FFFaaaUU•±±ñàÁƒ=<MOOÏËË+))122òóó5j½Õ†´ÊÊÊôôôôôôüü|77777·îÝ»K‡¬©©ÁíMLLL B)))÷ïßùò¥……ň#èÃH‹Åâôôô¤¤¤W¯^ùûû1‚½¹‡ê‰@~Ï;88ôìÙ/·´´´¶¶"„´µµ…B!c—–––¤¤¤¼¼¼'OžˆD";;»€€€þýûÓüxñ¢¹¹ùæÍ›ø£¹¹¹H$*..677×ÑÑ!Áx¤>>"‘H èêê2s¿^ì™P"‘””” „„B¡¥¥%B¨¦¦&::úÉ“'B¡ÐÑÑqüøñô,--MHHÈÎζ²²š½{÷‹Å©©©ôØVVVÞºu«¨¨¨®®®ÿþS§NeôÇ$‡EÉÌZ\n/_¾lllD2þ¥hjj"o™™™1¾º¾¾¾¦¦!dddÔ£GÆŽ OŸ>¥(ÊÖÖvèСîîîŒÂ¤ªª Ȩ§§'/g’0½zõâxR€¶UÁ¥šèèhòu'Nœ`üàÁxïÞ½Œ­­­­ßÿ½¹¹9ã,lmm?ΜŸŸ·ˆD¢/¾ø¢[·nxÍ7ß|CùèÑ£7ß|“Ñ4L(Ξ=»¼¼\Ùóˆˆð÷÷—Nj%K–ÔÔÔtx$³³³.\(]Gc``ðý÷ßËÜåéÓ§AAAÒ'ebbröìYéðS¦LÁ>ÿüó¸¸8FWP¡PøùçŸSÕÐа|ùrüë°°°HHH u%Bhh(Þ÷­·Þ’ŽóºuëèÅbñìíí¥OßÃ㤤„„”YA‰ºxñ"ï”g8uê”̯ÐÖÖ‹Å$˜R×Ka&$c!ikk××ׇ……Ñëää”››KQÔíÛ·3Üiii-Z´Hæ¹p¿Söïß/ó¬åU #ZšcpàYÙÜÜ<}út–swrrÂ?ï å…ÁMBx¤¼´?üPæ¾C† á}½fŸ~ú ´´´9r¤ÌcΘ1cÛ¶mÒusØÿû_ú7*{§ Gé0òvÇiÎ;ç<{ölôèÑ2à www¼//¯ùóç0@$%&&üÃ?à}ˆª««ëêêŒé_QVV¶sçN¼¼råJ2â~^^ÞË—/¥Ð~Ú¡½޳"x¼$„Ј#Ȫ««ñÏ„аaÃ’““éÇß²e 9þ¯¿þJÖÓ‡«W¯~òä‰D"!~üñG²õóÏ?ojj¢W+’õíì츜fee%“åÃ?lmm¥o½xñ"‰ ½ËR;GrÞ¼y8¼““£‰Ó¡C‡HL^¾|‰WÆÅÅ‘^WS§Neôüúë¯É.;vì ëOž 'K®1dȼIOOþ[š¢(Ü>#c©ýJ‘vžžžÒq=z4Y¹nÝ:¼%Ä@j‘è=ò¶nÝŠWº»»“•ʦ¼B¤²àСCd%¿ë¥0VWW“j SSSz= õ¿cr3¾”Ô/ÐÇBQTss3éȈ¤Ì4§øæœÝ»w“\½z•±KKK õ_KK«¶¶Vú° 2³ýaŒ¹FQnƒ†1zöÉ#/}jjjÈÐZ½zõ"U?Ä®]»ðÖ>}ú•ô‹þÿØ»óøœŽþñÿse±o‘ AÄš’ZCi)UK©½‰µÜ”j«ªÕMënUÕNQ±¥ö%Z-*Y„Ø…D„A‰,¿?æ÷™ï¹¯ëÊ%B’«éëùGsÍ™sΜ¹ÎÕö¼3ó>*HW€ŸC^¦L™¢wæj–:*‹/V[ýýýe¥ŸŸŸ¬ÉÎÎV3¹ŒŽÒ€ GXå³BìÙ³GÛþÒ¥Kêw:oÞ¼'^ðoS¼,Sïz{.Ô:”§¥ÖvíØ±C–7nÜh˜Á]§Ó©W‰]¾|YΞ=«–ŸLŸ>½Gz{M›6íñãÇBˆW_}U=Mi©X@®&Ä`BûöíW®\¹råÊß~ûM/Gr®f–Í /¼ ÞºUļ{÷®ŠmÞ¼YY©]»¶¼'nß¾-3­X±"..NQªT©… ¾ÍÂÂB}MÚ¬ÞêK÷ôôÔÎúBäää\½zU–ýüüô’š]ºtI•]]] c´ÝÓ¾Óè‚©„„Y¸xñ¢Ê¿£,Y²DŽ˜¶Wjµö8O;ò¦Ý¿_ÝçÚK(Ø÷õÄ›PNx”å Ô¬YS»5**JÜð¤*¥¾MQ _ŠâÔ©Sj¹™Þ.£c. tç$''üñDzò?ÿùÏ«¯¾ª·‹¥¥eçÎe¹~ýúz ÐŒ2zk©ÊÆk³JÚ…uO\v-å5>¡¡¡r§bþüùuêÔÑÛQÞ3z'R_º………ZË\€ŸC^ —fggËPšµµõ Aƒd¥º3ãââÖ¬Y#„°²²úä“Od¥N§›3gÎÊ•+W­Z¥¦t)7nÜPSó´«Ñµ/ˆÕîòñÇËßiýúõŸ¸˜@+ôXÚÖŽ;ìííM4^±b…ZY£žÁäs‹¢Aƒnnnê ëZjž…:¾z¦uppÐNvâââ<(ËC† 1zLíl ÓÝ–¼¼¼´)ÉïܹsíÚµk×®ýúë¯Fƒ&EÜImväÕ«WïÛ·oذa]»võññ‘q„ *hÛ¯[·N&NœøÂ /=¦zþT±†¬¬,•!hàÀz™ .¤§§Ë²ZU§Ë‚œdTß”a@AÛgíÿ±x{{wîÜù­·ÞêØ±£R¥J&e7úE?íÈ›¦‚ ŽŽŽ*G(è÷eú&Ô6ptt4LƤƭ]»v†¹´ÕªÍ^€_ŠÐ ì /¼ ÷æA£»ìÎÙ¶m›¼?mllf̘a¸‹B%ÈÏO.$£·–¶Òßßßð-*¨$„Юß4!¯ñQõ¥K—îÕ«—áŽgΜ‘…zõêîåáá¡‚tø9äEÝðê†Üºu«Œ!}úõë§r9sæôéÓ²¬VâŠŽŽ–µ®êÌ™3ê¹ñÍ7ßÔk¯.¹|ùòÚíz[›6m*ƒ’Ï}nܸ!Ÿ]…æ»ÐöYû?~Æ 2¢‘››ûûï¿ÿþûïBˆºuë¾öÚkC‡ÕÎìÿ›™[{œ§ù'R£Ô¼ysµ:¬Àß—é›PÛàõ×_×›0¥ÝjÛºuë– èÅzžö—"òžf•טìÎY¿~½¬éܹ³JÔ¥GMDÊOËè­¥­ìÞ½»á^jT«T©¢7å-/yªïÑ£‡ax7777$$D–½½½Míi&ÎÀ’ÓÐt:݇~(+„çº{÷î²eËÄÿN¿R×­[wìØ±«W¯ª©‚ZeÊ”Ñ º»»°>üðCYxõÕWUî6æ£p—æææ†††Ê²Þ| £Ôc›···\‹´ÿþ¤¤¤üŸQÍìP‡RI´Ô_Úó£víÚO .äææ~ùå—îîîÓ§Oß¿¿Þ3¹ «‰<XEÓI!ÄŠ+Ƨ7ã#--m÷îÝþþþµk×V]RqCOOO£GËÊÊRO¿*˾:‚›››ªTÔƒ±··· ¾(†s£žû ¨S899©)'ÚxvîRÓ¦MwîÜÙ¨Q#½ƒ\ºtiΜ9M›6õóó3zð2eÊhçF‰§ù'2\xöïËèM¨m`øTëÖ­k׮ɲá\í¨ÓéTp¤`¿‘Ç4+‘÷˜àÎINNþóÏ?eMÿþý¶ÌÍÍUS–žêßiÚ[KUÖ®]Ûè Á¼.6?'Êk|ä{ õ\¾|Yý ÖèŠZmåÓþLЛuðàAygöìÙS;çK†ùæÍ›'ßÉ8lØ0íZÔ3gδmÛ¶k×®k×®½råŠ6z¥Ò !Z´h¡·²U¥S¬;wþý÷ßB++«~ø!ŸW (î ¬K—.©§£'ÎVHLLTÙ‘Tc•ÞÎÎN¥6¡}ûöBˆ‡ž;wÎÄyÕa_~ùåæÍ››>¦veM^&Ož¬Íý\¯^½:Ô­[×ÍÍ­qãÆ±±±íÚµBXZZªÓ}'… ,˜1cÆ®]»öìÙóçŸÞ¾}[m½}ûöСCÏœ9cee¥¦)½ôÒKyíï¿ÿV¯–WIŒfüQLlMOOWsˆ o€ç5ªÚÇZ½êÔ©Ó©S§BCCwìØñÇ„††fgg«­;vT髵á9½gæü|þ/A\(Ø÷õÄ›0..N}† TO¬­­›6mª·U†›››šðU€_Š"99Y¥ÓÒ Ðä5æ¸sîܹ£ªÄOzBBBbbb„ööö†¡C¦`åŸÊk:U^òŸ7nܼyÓġԉ´—câKªŸƒ j–œc5kÖ,ùñ£>BhX<˜?¾ÂÚÚzÚ´iê—/_îÔ©“ú988´k×®E‹µjÕjذ¡——W÷îÝåûF Y¥Á’¬ììì©S§Êš1cÆè…ž˜‰Â `©§#‘'1í Õøþýû²P·nÝÿþ÷¿ù<¯z¬²¶¶6ºªEvìØ±FóÂ<•Ý»w«gò®]».]ºToÕO@@€,xzzª41EÜI-''§Áƒ<8777<<|óæÍ‹-JIIB\¼xñáÇeË–Ug×Ë7¤õË/¿ÈB«V­jÕª%Ë&ž½=z™×Ö“'Oªðzæ|îƒ`´{¦ƒnr‘··÷W_}uÿþý½{÷.Y²äðáÃrkxx¸zb7}‘¿‘7ÝÿØØØ[·nž¥`ß×oB5\jU¯–º^///« Õ·Y°_Š"$$Dί±´´lÖ¬™Ñ³èyîÝBT«VÍh›ß~ûMš6múTÑFm÷LǧRSS/\¸`¢¡¼ÆÇô×§ížörT¥a.ÿ?´3°Îœ9³wï^!Dûöíå­¢ `-Y²D~•zÓ¯(£W¥K—þé§Ÿúöí«2! !¼M›6⟫µkI¤Ç«4yöàÁƒ«V­BT¨Páûï¿7ÝóŸ~úIš4i²k×.½•qiii .Ô»®"îdvvöرc333… .T¡N×¼yóæÍ›{{{÷éÓGVÊ´ëêù?99Ùè1ÏŸ?/Ï.4I—OŒ¨š~¹„JEW€ŸƒiåÊ•³°°ÈÉÉyôèѬY³dôMN¿šÖýû÷å‚>½‘àœy IDATéW'OžT?äÕ«W(—,Y’ššš×µ«Öãǯ^½úÙgŸÉŸ}öÙS½N@Q*¢V^ÇFkߢ•‘‘! §OŸNIIQïÿR¦OŸ._¾îè訦h™~l{ôè‘N§“LAAA†©åoܸѯ_?™úƒ>0ÝíÇïÙ³G–ÇŒc˜×é»ï¾SI¦f™)‚N¦¥¥©ØÁ”)S ßk¦R);;;Ë`sB;vÌð€ÙÙÙ“&M’¦ÜÝ݇.ëÃÂÂä³·Ñ=ê’kÕªU¹re½­Úµ`ªWÏq„.\0|¬U}ÖétªòСCr6PzzºaNt Që###Õ Õq 0ò¦Ž’T°ï+ÿÃFCTŠáòáÿRLtÃ蘋‚Þ9*º*Ϩޅ§Œ=Z¹ò37Êè­¥ýèÍ&ӻغuëÑŒÊk|L¿™™™§N2l`Õ*ÀÏÁ4 ‹òåË'&&¦§§ËÄù7~õÕWåVÀÚ½{·,¼ýöÛjާ"00PªW¯Þ³gO½ƒÇÇÇËÿ(!œ _ìP»vmKKK9÷ð½÷Þ“Ëoëׯ?nܸüt@±(Ä$îFŸŽòbôYëõ×_—…¬¬,½%„YYYß}÷ÝÌ™3åÇiÓ¦©°—éÇ6GGÇ:ÈòÚµkÕ{Ù¤sçÎõèÑC>ÙV©REûg£îÞ½«¾©Ço)99yÀ€_|ñ…ªÉÿ²µçÛImzã   ½­×¯_ÿòË/eyÔ¨Q2² 2vGDD¬]»VÛ>--­wïÞûöíBXYY­[·N¥N7²|ÚôXÏw´§¨Y³fÕªUõ*ÝÝÝU¼@XDD„ákòfÍš%S•)SfàÀª?²`aaax‘ï‘Ïç%è…xžñû2úh'¬6ˆŠŠRӾϳ±±‘¡ÌÿR„flË—/o´^;梠wޝ¯¯Š!~ñÅr^§”žž>räÈ;väÕC£ŒÞZª²Q£F˜õf”Ññ1ýõ !N:¥þB Ý«?‡'RsdÜpÊ”)jSéÒ¥µ-õ¦_ Í6ÒÓÓõú³{÷n///ÓoŠ´±±Q õwîÜ) sçÎ5:YoÅŠ>ÿçúõëù¼:Ï]!ÎÀŠˆˆP³Bž¸ÜæÊ•+êqQÛ¸]»vnnnQQQBˆ™3g^½zõå—_vppˆ‰‰Ù°aƒÊù=tèPõô„„õn©¼žýýý8 „¸yóf»víFåææ–žž~üøñ•+Wʪ²eËîÙ³ç‰9‰*Uªdkk+¨¾úê«3gÎtéÒ%))éèÑ£‡JLLÔ6>xð`vvv“&MЏ“¥K—®]»¶Ì‘?zô訨¨víÚU­ZõäÉ“AAA;wïîî®æ ôïß_¾±>77×ÏÏ/$$ÄÇÇÇÆÆ&$$dÇŽêù³Ï>ÓN2ÜÇÄV£)üŸï h;ðÄ©p7–…‹/¶nÝzòäÉõêÕKII ú믿T(jÆŒ*¤¾ëœœœ^½zÕ«WoÊ”)U«V}Ú‘7!;;;,,̰·¢@ß×oÂsçΩè€a5˜eÊ”1œYf˜«`¿ùQm]¹råýû÷½½½å$2£c.gÜàÎ)]ºt÷îÝýõW!Äŋ۷oÿæ›oººº^»vmýúõçÏŸWÝ«T©’Ñ·æ5ùO€%òŽQš`t|Ο?oböD+VT—sþüyÃ/½?‡'ªX±¢J<ïêêÚ¯_?µIÍÀ’üüü´ïB¨„kòb‡ âìì|êÔ©£Gê½ÍóöíÛ¿ýö[=ô^Z·n]õ/!DÏž=;wîl´Ÿ;wî BXZZ²À(N‰ù[ óæÍSg9wîœéÆëÖ­Sÿþûoí¦-[¶æ‡Ö:thVV–j¿}ûvYïèè˜môtiiiò}…y©T©ÒÑ£Góy¥Ã† Ëë8ÎÎÎrŒ2bĈbé¤zÏW^jÔ¨£ÝeìØ±&Ú;88,Z´(''G»‹ÊɽråJ½h#z_qnn®Z\&„¸}ûv! ‚Z±õÝwßöyÞ¼yª2==ý‰«Ÿ|ò‰öàË–-Ókpùòå‚|^TÄV§Ó%%%ém}Úïë‰7áŠ+dƒ^xÁpëøñãåÖŽ;nU±qãÆ©ÊüR¤5jh7 4Èô˜çôΉˆˆÐ›ä¥åãã# ݺuËû[úŒÞZªòçŸ6ÜE½MRqâĉüœ%¯ñùùçŸåG£__nn®Ê¶®½õ¥W¨PAUàçðDjv­báÂ…ÚMj]­ÂÆÆæÚµkzûÞ¼yÓÄüýýß~ûmmM\\œÞÔÝ+„°··ŽŽÎ«Ÿ*ãÆŸê€’'>>>!!áÑ£G™ÿço“kÈšL»wïÞ½{7?±©B\B¨&}”-[Öp‚†5»ÁÒÒRï÷½zõ:xð Ñw«5lØpûöí«V­ÒfVçmÑ¢E^k²ìííÿøã#Fn*UªÔÈ‘#ÏŸ?¯VŸhΜ9Ú‡1ÉÎÎnĈgΜyë­·´3)ZµjU,œ8q¢ÑCÉ£½ÿþûzÓ.\8sæLNg¸K‡"##ßyçíÖÔÔÔ¸¸8Y6œñaâ+šquu­T©’ªŽƒ››kør7mŸµ_“Ý®]»Ô2C=-Z´Ø³gÏW_}¥­ìÕ«—vGùòåÝÜÜDF>/j”êÕ«g8ãìi¿¯'Þ„¦s›È֟׾ø¥Hß~û­vVŽ:f^c. zç4nÜøÐ¡C†ß»««ëöíÛÕ,¡ü,î3zkåu¿)êgbkk«æ==‘Ññ1ýõiϥ퉪ÔîU€ŸÃU¬XQ*Uªäçç§Ýdkk«^)èçççâ⢷oµjÕÖ­[g˜ ¬^½z»wï^±bEß¾}Õ-íìì¬àš<îBˆiÓ¦ili%%%ÅÇÇËrþWt( :½•;F™Ãº‰ôôô“'O†„„ÄÅÅ988Ô¨QÃÇÇÇÓÓó"SAW­ZµN:;wÎÿ*­C‡:u*66¶R¥JuêÔyå•WÔ#åÇ=z÷îÝêÕ«·lÙÒô„²BídLLÌŽ;âââÉÕäÎó8ÿ”ÏîܹsMš4‘yÐ|8Ñ+àŸ‚ „ ½uëÖÕ«W‡~äÈ!DÍš5gÏž]Üý_VÅÝ WïÞ½¯_¿®>ZZZ®ZµÊðMÌ3°%Y||¼6zegg·téR__ßb쀧Š,@IvïÞ½-Z$''׬Y³aÃ†ãÆ«W¯^qw ÀÓ!€(É6lRܽðLXB³F fÌ,˜5X0k°`Ö`À¬À€Y#€³F fÌ,˜5X0k°`Ö`À¬À€Y#€³F fÌ,˜5X0k°`Ö`À¬À€Y#€³F fÌ,˜5X0k°`Ö`À¬À€Y³*¼C;vìæÍ›²Ü¬Y3WWW¯\¹!„(_¾¼¯¯oáõª¶lÙrçÎ!D¯^½*W®\ÜÝyþþúë¯Ë—/ !^~ùå:uê˜nœ››»}ûöììlN÷Úk¯ÙÚÚ !233wíÚ•››«Óézôèamm]ýÿ…Àúøã<(ËÍ›7?~ü¸¥¥e^7lØðÉ'Ÿ!<<<Ο?_x½*€iÓ¦]¸pAáææÖ©S§âîÎó7þümÛ¶ !–/_þÄVZZZ¯^½d9**J¶ïÓ§¬Œ‹‹«Q£Faöü»Ñ°°° ͹ðϵpáBŸ¯¾úª¸ûÌEÑåÀúôÓOoܸQd§Ã?QTTTpppppð¹s犻/À\âB=©©©ãÇß²eK‘EÆÙÙ9((H–«U«V¼%LѰ„[·nݹsg=Šò¤(–––­[·.î^€’©(X;w JOOBüç?ÿ騱£ƒƒC~vÌÍÍ•ï1´°°0:¯'--íþýûBGGÇ2eÊÈÊÔÔÔ””!D¹råJ•*%„8qâÄéÓ§ïÝ»çââÒ²eKíû333ÃÃÃOœ8Q¦L™–-[zxxèt:Ó½ÊÈÈ ;zôhzzzãÆ›6mZ³fMÓ»¤§§Ÿ>}úÔ©S?®Zµj›6mªT©b´eBBBvv¶•••lpãÆ¿ÿþûÚµk]ºtiÖ¬™^ãØØØðððØØX ‹'¬ }üøqDDÄ… J—.]·n݆ šnŸ™™™ò-„666†' ¾|ùrttt™2e<=====õíÞ½{éééIIIòcjjª\pZ¹reÞiÀ¿\Q°êÔ©óòË/O™2EûÙgŸ}ÿý÷ùÙ122²qãÆ²œœœ¬BTÊŒ3fΜ)„0`À/¿ü"+ß}÷Ý•+W !¦N:tèзß~ûøñãj++«1cÆÌ›7OñÁ,\¸ðÑ£Gjk¹rå¶mÛÖ®]»¼º´hÑ¢÷Þ{/##C[Ù½{÷•+WV¬XѰýíÛ·ýýý÷íÛ—••¥íC=–-[V¡Bmã´´4§Óét999óæÍ›:ujZZš¬Ñ°Ö¬Yóþûïß¾}[»{Íš5gΜ9hÐ £=‹‹{ûí·9¢½^ooo9VÏ(..N¤âãã«V­ª6mÚ´iêÔ©W®\ÑÛ¥U«V7ntqq‘;tè©¶îÞ½ÛÙÙYñÛo¿õîÝ[V¾ÿþû7nBX[[_½zõÙ» þŠ(‰û{ï½§BQ?þøcDDD~öÊÍÍ5Z6¬4Úòܹs¾¾¾Úè•"++kÁ‚3fÌ4hÐìÙ³µÑ!Äýû÷_{í5½]”qãÆ7N/z%„صk———Whh¨^ýš4i²{÷nmôJöaëÖ­-[¶¼xñb^—óÍ7ß¼ûî»2z¥•––æïï?tèP½è•âúõëƒþôÓO Ç*22ÒÇÇçÏ?ÿÔ»Þ:œ}ºlS¡B…îÝ»ÛÚÚÆÆÆ !}ú´hÑ")))88øÐ¡C999W®\iÕªUPPÑu|Ÿ~ú©,ètº*Uª899ÉcÆŒY³f,»¹¹õìÙ³zõꈋ‹B̘1ãÖ­[?ýô“:ÔíÛ·Û¶m›œœ,?6hР]»vöööAAA!!!‰‰‰‰‰‰Ï2Îy¹xñâĉeÙÃãk×®>>>©©©'NœX¾|yvvö½{÷†~áÂkkk??¿ëׯïß¿ÿÌ™3BˆÚµk¿þúëBˆúõëFßÀ?HÑ%q÷öö?~üܹs…'NœX¼xñ¸qã û¤•*UÚ²eK›6mäÇ.]ºøùù©­;wþå—_ÔÒ¿ &ÌŸ?_qüøñ»wïê­ï“š4i²aÆzõêÉ_ýu¿~ývíÚ%„ÿå—_Ô ¾É“'ËèUåÊ•ýõ×öíÛ«ƒ¬Y³æí·ßÎÉÉIJJZ°`ÁâÅ‹ O”““ãää´páÂ=z8::Êʵk×ʲŸŸß‚ d’/!DRRR—.]BBB„?ÿüóçŸ^½zu¹iΜ9*z5uêÔ3f¨ÐáìÙ³§L™¢3õíÛ·OÎVkذaXX˜­­­¬÷÷÷8p «W¯þõ×_¯¼òÊ{ï½'„˜4i’ `½øâ‹sæÌÑ;`åÊ•åºB+«"}ù(^E´„Pš1c†ÊyôñÇÇÇÇögΜ©¢WBˆ!C†¨`££ãªU«´‰«ÆŽ+ ¹¹¹2ƒ¸kkë7ªè•ÂÞÞ~óæÍ*#û?þ( üñÇîÝ»eyéÒ¥Úè•ìÆ_|!Ë6lÐ[Ö'ÙØØ9rdàÀªÃBˆI“&É%uÍš5[¶l™Š^ !œœœþøãtËÎÎ^½zµ¬OJJZ´h‘,6ì›o¾ÑN|›>>FOÔµkWYHNN¾wïžâÒ¥K²¦Aƒw©\¹²Z¢¨—Ê]êܹ³^:¦ÂÝÝÝèa›7o®˹Z*¦æåååîînx"휲ç¨C‡²‘‘Ñ·oßúõëϘ1ãèÑ£™™™B‡ *T¨PÁÆÆ¦0ÎJŒ¢` !æÎ«R’7ÎðE{ÏË /¼`b«Þô«üpuu5Z¯ºuõêU¡‰I­\¹²bÔ$/£³½ ãkÚ8—›››ÑcN™2E6xôè‘Xõ@£¡íÿsÔ·oß·ÞzK}¼pá§Ÿ~ÚºuëòåËwëÖmñâÅ…”<”0ÅÀªZµêwß}'Ë111*TÈáy1š…]Q¯ Ì?mÂ,­²eËj»”žžþT齌^…á AŠzªÃªtQ*hh(¯ëzF–––k×®ýöÛoõb…>Ü»wïØ±c]\\dRŠçmn#FŒX³fÍáÇ…?üðÃàÁƒ vœ¤¤¤çÚ¯'ɤ %$$¨r­Zµlmmmmmeü襗^jÛ¶­éÃúúúæçìÚ0™ši•KKK™ý]å€7ì»}ûv~:P–––~øá¤I“‚‚‚8®^z˜žž>qâÄŠ+ªW7*ž–N§ûé§Ÿš4i’‘‘‘••5zôh•Fê©\¿~ý¹÷Í„èèè-ZÖÇÆÆÊ‚]õêÕu:››ÛÙ³g…íÛ·ÿæ›ožËÙUþx ‹Ï?ÿÜÎÎ.?{¹»»ÿùçŸÚN*ìa´¶¶öõõ•qºäääýû÷¯_¿^¥u_¼x1,`B1,!”<<<¦N*ËÇŽûé§Ÿ ÛhWù.ÊËÌÌmÚ4YîØ±cõêÕósv{{ûO>ùD–·lÙ Ýš‘‘1~üxùD!„J+Ö¾}ûŽ;ÊòŒ3víÚ¥ÝkÓ¦M‹/ÎÏÙŸ–———,/Z´H/WnnîªU«dÙÛÛ[e¬·²úÿ×´FDDNËúæ›o||||||ÚµkW}æ©xr`)mÚ´5jÔÒ¥Knµ¶¶îÖ­›\ Ö¢E‹W^y%33óÈ‘#2ÃTÑ»r劋‹‹¯¯o‹-îÝ»·gϵþnìØ±j.•““Ó·ß~ëçç'„nÑ¢ÅðáÃÝÜܲ²²‚ƒƒ—/_.'=988ÌŸ??ÿgŸ}ä€lܸqãÆzmš7o®kҤɜ9sÞ{ï½ìì쬬¬•+W®\¹RmµµµmÛ¶­ÑU~ÏhäÈ‘kÖ¬ BDFFúûû¶yíµ×Þyçõ±cÇŽrîÕ¾}ûöíÛ×®]»§"PòâBµLŒ*[¶ì¼yó ÷’ÜÜÜ>ܨQ#½½Z¶lyàÀµ8N»—éóšØªÓé ײiË«V­=z´j#ÙÚÚ~õÕWÖÖÖzG[´hÑöíÛ+UªdØ.]º8p@;ùHaaaaaaa¢óBooïÓ§O÷ïßßpSåÊ•§OŸ~èÐ!{{{½M&Løã? {âæævàÀ•ŽÊô7e¢“F‡K§ÓíÞ½{ذaFãààðå—_nÚ´I[Y¾|ùO?ý4¯U¥ù¼£@ £KLL|b£|f/T‰‰‰ááá111NNN*¿RÑ‹ŽŽ>xð`LLLÅŠ[µjÕ¸qcíÓÓÓOŸ>ckk[£FöíÛ«ìõž‘‘Q¡B77·×^{M¥ 3êÑ£G¡¡¡GMJJjРÁK/½T»vígìF>»zðàÁððð´´4—:uê´nݺjÕªFÛ'%%]ºt)==½J•*uëÖUñ2P\t:“““œw¢fŸ˜Îö£¤"³µjÕJÕ¤¦¦ªzÓþ1,—â `1·fÌ,˜5X0k°`Ö`À¬À€Y#€³F fÌ,˜5X0k°`Ö`À¬À€Y#€³F fÌ,˜5X0k°`Ö`À¬À€Y#€³F fÌ,˜5X0k°`Ö`À¬À€Y#€³F fÌ,˜5X0k°`Ö`À¬YwJšÈÈÈC‡]¼xñÞ½{o¼ñÆ›o¾yêÔ©¨¨(!„»»»——WqwZy IDATà¦Ä°®]»öÑG !úõë׫W¯¢9éüùó'Ožüøñcù±zõêo¾ùæ?þ „1bIJeËŠ¦'%F‰ `­]»vÆ B77·¢ `ÅÅÅMš4);;»Îe(==ýå—_ÎÉÉÑét›7o®^½z±tà¹+™¬ÔÔÔ•+WñICBBTôjܸqíÛ·/ʃ™™™G•åÔÔÔ";/@a+¬¨¨¨1cÆ\¹r¥ˆÏ› åË—_°`ªŸ>}úˆ#„5jÔ(â.”%$€õàÁƒ… ^¼xñÔ©SáááÅÒ‡œœYpvvÖÖ»ºººººGJ‚Àº{÷®LÙ^,²²²²³³UîvkkëÌÌL!„•••……EvvvVV–ühii)Û<|ø0))IQ¾|y{{ûœœœÃ‡GDDètº &huÿþýºuëzzzÖ¯_¿T©RªÁãÇoß¾œœ¬jnÞ¼Yºti{{ûòåËò¥:‹âî@IðꫯÚÙÙMš4I~ ³µµµµµýøã…£G¶³³³³³7nœÚå‹/¾pvvvvvž5kVLLLûöí;tè0qâÄ)S¦¨6ñññ#FŒIè?øàƒo¾ùæí·ßnÑ¢E¹rå´KwîÜéììܰaCUÓ±cGggç:ö…2ËÅÅåÂ… ¹¹¹ª¦S§N7oÞ,š³çõæAY¯¶j›©®ÆÅÅùúúÆÄÄèí{ïÞ½6mÚ\½zÕð°™™™ãÇ?|øð/¿übii©½j­¼êþYJHK§ÓÕ«WO[£]dWØÞzë­&Mš„†† !ªU«Ö¿!„¯¯ï÷]¶l™*;88¨Dïï¾û®Œ^ÙÙÙ½ú꫾¾¾5jÔˆ‰‰Y±bÅùóç…¿þúk—.]†^¿~ý‰'¦¥¥ýôÓOrßV®\¹fÍšÏûBŠA `¯Ñ£G !.\(X 6œ3gÎS¡gÏž³fÍrssÓétBˆÇoß¾]nZ¾|ù AƒTËñãÇ÷ìÙ300Pn>|xƒ æÌ™“œœ¬XÓ§O× çüs‘«ø ܽ{w•KºxñâüùóÛ¶mëíí}óæÍ"é#@q"€e¾7n¼sçÎØØØ¥K—¾ù曕+WÖn íÖ­[zzzqu hÀ2wÎÎΣFúõ×_oݺ1cÆŒš5kÊM§N:räHñv °À2GkÖ¬ñóóóóóÛ²e‹¶¾qãÆÓ¦M «V­š¬ +Ž«âråJ@@€âܹs½{÷ÖÛZ©R¥zõêÅÇÇ !²³³‹¾{Eé_:kÓ¦M>ÿ'&&¦¸»£ÏÛÛ[Nœ8aøÂÁ³gφ„„Èr«V­dÁÊêÿÅ"™–J’é ¬ØØØàà`YNNN.ÞÎêØ±cíÚµ¯^½*„ðõõ}÷ÝwÛµkW³fÍÈÈÈC‡mݺõáÇBˆ^xÁÇÇGîâààаaógÏ !&Ož|ðàÁúõëOš4©¯à¹ø—°Ìœ½½ý’%Kºté"„ÈÊÊš={öìÙ³õÚXYY­_¿ÞÞÞ^ÕtîÜY°–-[æééI ”%v ¡ZR§][g¸5¯ÏñŒFëMwOѹsç={ö¨díz^zé¥#GލéWÒ˜1cjÕªU®˜1]bbâU¨P¡ºCÇ?tèÐ7„åÊ•«]»¶‡‡GÛ¶m¶ÏÉɉŒŒ¼{÷®ƒƒCݺuË•+W´ý%SBB‚N§srrÒétBùO!„ÊÑd”j&„ÈÍÍštÞBˆÔÔTUoKÍš­­m»víÚµk—Ïö7.Ô.±»„%,˜5X0k°`Ö`À¬À€Y³*îà_!%%eýúõB''§þýûwwÀ?II `ø øú€‚( K322V®\)ËÎηªU«–üغuëÁƒ·iÓæÌ™3Bˆ5kÖ¼ÿþû^^^ÅÕU<­’Àúý÷ßïß¿/Ë›7oVÑ+©lÙ²K–,iÓ¦üxìØ±B `=~ü888øòåËÑÑÑeÊ”ñôôôôô¬Y³¦é½ÒÓÓOŸ>}êÔ©ÇW­ZµM›6UªT1½Ëõë×CCC#""ÒÒÒ\]]ÝÝÝ}}}­¬òüBïܹsòäÉðððÄÄD777/////¯Ò¥K¶LMMMIIBT¬XÑÖÖVÖ„„„œ>>öööéééBˆÓ§O^O6mÚ4uêÔ+W®èÕ·jÕjãÆ...†»Ü¾}Ûßßß¾}YYYªÒÊʪGË–-«P¡‚Ñ] ´ÿ~½z77·/¾øbàÀzõÉÉÉÇÿí·ßôꜜ¾ÿþûáÇëÕ¿ûî»rFÛÂ… Û·o?vìØ   œœÕ |ùò›6mêØ±£aßæÎûÃ?ÄÆÆªGGlj'öîÝÛ°1@~”„Xׯ_—…úõëm`aa!g !´q¢çkÉ’%ýúõ3Œ^ !‚ƒƒ›6mzðàA½ú4iÒd÷îÝz½ÊÊÊÚºukË–-/^¼¨·KPPPÓ¦M £WBˆ¨¨¨AƒmذA[Ú´iSÃè•"))iĈ;w~øð¡¶>77W<øâ‹/þý÷ßÚè•âÞ½{=zô8tè¶2''gÒ¤I'NÔF¯„©©©_}õÕ¨Q£ ;%aV»vídÁèô+!Ä™3g’’’d¹qãÆ…Ñ‡‹/Nœ8Q–=<<ºvíêã㓚šzâĉåË—gggß»woøðá.\°¶¶V»téÒE†®,,,úôéÓ¢E‹¤¤¤àààC‡åää\¹r¥U«VAAA 6”»¤¤¤ôîÝûÎ;BN÷â‹/víÚµjÕªaaa?ÿüsvv¶bäÈ‘>>>/¼ð‚âáǯ¿þz||¼Ü½OŸ>mÚ´©X±â‰'/_¾,„Ø¿ÿôéÓgÏžmxQ›6m’…_|±cÇŽ™™™þù§L–Ÿ––6bÄyé“O>ùñÇe¹T©R:uòôôŒŽŽ LJJ y®ã þEJB«wïÞ&V¨egg3F}lÑ¢Eaôaß¾}Bˆ† †……© _þþþlß¾½âêÕ«ýõ×+¯¼"7Mžúè#µK¯^½ºuë&„xðàÁöíÛ'L˜ „˜={¶Œ^étºÅ‹=Z6}úÈBRR’œñtôèÑ´´4Y)'XéùðÃkÔ¨Q£F 9K+((èÁƒrÓØ±c Û—/_~À€²|îÜ9Ã...†¹«6lhii)ËwïÞ•…Õ«WËÂÀÝÜÜ ãççgx|€ü(™¬Ë—/÷èÑãõ×_Wùݽ¼¼‚‚‚*UªTHgìСƒ,dddôíÛ·~ýú3fÌ8zôhff¦ÂÁÁ¡B… *TP‘Ô›4hpטʕ+«WÊTîÚôð^^^†}èÓ§O\\\\\ÜáÇ…QQQ²¾yóæuëÖ5ÚíN:ÉBTT”L¡¥Õ¨Q#•±K±³³«U«–,Ë©ajœûöíkôD;w6ZðD%-€õðáÃ>øÀÓÓs×®]²ÆÚÚú£> 6œôõíÛ÷­·ÞR/\¸ðé§Ÿ¶nݺ|ùòݺu[¼xqbb¢¶½z½àÊ•++æAÍo’Àª^½ºŠm™ XuêÔÉ«MÕªUe!333&&Fok^ñ>½¨Vtt´zM¡LoÈÅÅå‰0ªD°Âš5köý÷ßËyOBˆW^yåôéÓ3gÎTKü ‰¥¥åÚµk¿ýöÛjÕªië>|¸wïÞ±cǺ¸¸Ì;WV¦§§«7æ‡LõêUùQ›aÊÕ¾zõêyµÑ†¢äY´Ê–-›Ÿ©LXBˆ*UªmS±bÅü ÀPIx ¡ôË/¿¼ýöÛ?–4h0gΜ.]ºY,--?üðÃI“&8p <<\­ËKOOŸ8qbÅŠ dkkkkk+F/½ôRÛ¶mMÙ××W¡rÃÛÙÙå§?² 2aºyó¦*«…ŠN§ËωU9%%EÍêÒº}ûv~`¨„°‚‚‚üýýeôÊÒÒrÊ”)Ÿ}öY±¼ùÎÚÚÚ××W†œ’““÷ïß¿~ýz•Ö}ñâŃ ²°°pss;{ö¬¢}ûöß|óM~Žìîî. *ᔞ{÷î;vLQ¦L™¶mÛªö×®]Ëë˜j™aÕªUK•*•Ÿn˜è˜"66Öh¾­¼ú ðD%a afffÿþýå„&GGÇÇýõ×E½JIIñ÷÷÷óó1b„š&„([¶lŸ>}6oÞ>>EÜ;;»uëÖ¬X±bÿþý† Ú´i# 999¹¹¹Bˆ&MšÈšßÿýÌ™3†»,X° `õêÕ2e{«V­ä¦ŒŒŒ+VèµOLL\ºt©,wíÚU{Š”””ŸþÙð±±±ýõ—,÷îÝ;ß—kD³fÍdaåÊ•iiiz[oݺµjÕªg9>ø7+ ¬_~ùEºtéÒ¾}û “ä¨M›6ùü÷ï=-///Y^´h‘^6ôÜÜ\¾ñöö¶´´BL˜0¡råÊrëÈ‘#õRD?~|Ú´i²Ü±cG™…½I“&}úô‘•3fÌP±'yÏ?ÿüáÇò£ `µlÙò•W^‘5Ÿ}öÙ´§¸ÿ~÷îÝeŠ®J•*½óÎ;Ï2_~ù¥,$%%õîÝ[õD‘œœ<`Àà ñùTr`9rDöíÛ÷ÄçS¦Lùïÿ,k’““Ÿ½#GŽ BìÚµËÛÛ{Ò¤IõêÕËÌÌ<|øp``àÑ£Ge³È‚““Ó·ß~ëçç'„nÑ¢ÅðáÃÝÜܲ²²‚ƒƒ—/_ž••%„ppp˜?¾:ËÌ™3·oßž••õàÁƒnݺ 0ÀÛÛ;33sË–-‡–mzô衲Âÿý÷û÷ïÏÎÎNNN~õÕWGõâ‹/ÚØØDFFnÙ²åüùó²Ùûï¿_àXRÛ¶m{õêµuëV!ľ}û|||zõêÕ°a訨5kÖ\¸páYþåþñ¬Gݸq#ÿíÕkŸ¯‘#G®Y³&((HéïïoØæµ×^ÓNt6l؉'/^,„¸~ýú矮×ÞÂÂbÙ²eªÆÝÝ}ýúõ~~~<ÈÈÈÐîR»víÕ«W«·zzzÎ;÷½÷ÞËÌÌÌÌÌ\°`a¯ÞÿýÉ“'è¢ÿÇüùó£££#""„‘‘‘2o—Ò£G;w>ûYÀ¿Ð?~ á­[·dV©|²²²RÿÔÖ<#N·{÷îaÆÝêààðå—_nÚ´Io—E‹mß¾½R¥J†»téÒåÀjÆ–Ò·oßãÇ{zzêÕÛÙÙ}øá‡aaaNNNÚúqãÆ=zÔÍÍÍðŽŽŽ7nœ5k–\Õ¨¨ÉkdŒ6¨Q£ÆÑ£G‡ bØx„ 6lgy.£ þUtFßg§G&G~ÄÆÆ}:,,,&&ÆÖÖ¶FíÛ·¯_¿¾éݺu+44ôìÙ³•*Urwwoذa¹råòjüøñãsçÎEDDœ:uÊÚÚÚËË«qãÆ…NЉ‰9vìØ™3g}||¼½½Ÿq}"(v :ÎÉÉI.üRË¿TŽ&£T3!„œ¤^R'„HMMUõ¦ÀÀoë¿„%,˜5X0k°`Ö`À¬À€Y³*î”|GŽ9s挢Y³fÞÞÞùÜëÔ©SQQQBwww//¯çÒ“”””õë× !œœœú÷ïÿ\Ž PØJT+33óôéÓÇ?qâÄ•+WªW¯îêêZ¿~ý~ýú•*Uª¸zµ|ùò€€!ÄĉóÀúñÇå^#FŒX¶lÙséIttô˜1c„ÎÎΰÀ?EÉ `ÅÆÆvèÐ!::ÚpÓÔ©S?þøãñãÇj.\¸víZ!D·nÝ>ýôÓB=À¿G `ÅÄÄøúúÆÄÄÝš0aÂ!D¡Æ°¢¢¢‚ƒƒ…µjÕ*¼³üÛ”„VVVÖË/¿¬¢WÝ»wå•W5j”””´nݺ͛7çææ !Þÿý—_~¹~ýúÅÙ×|›>}úˆ#„5jÔ(î¾§’ÀÚ»wï•+WdùÃ?üöÛoÕ¦ž={.[¶lÔ¨QBˆÌÌÌýû÷ÿSX®®®®®®ÅÝ €âWX[·n•…-Zh£WÒÈ‘#—.]&„8uêTatàÞ½{éééIIIòcjjê7„•+W¶¶¶Ökœ››{øðásçÎݺuËÍÍíÅ_tssÓétzͲ³³³²²„VVV–––²òáÇò,åË—···ÏÉÉ9|øpDD„N§“k$µâããOœ8‘ššZ½zuoooGGÇç}ÝE¡$°®]»& ={ö4Ú víÚ2€uóæÍÂè@‡"##ÕÇÝ»w;;; !~ûí·Þ½{k[†††2äÂ… ÚÊŠ+îØ±ÃÇÇG[9zôè+VÈÂ’%Kdå_|1kÖ,Y:tè!C‚‚‚„vvvÚÖܹsøá‡ØØXUãèè8qâD½Îü#”„Vzzº­­­ÂÝÝÝh5ñªÒ«Ë[O¬?qâD@@€š¨¥$&&¾úê«¿ÿþ{Ë–-Uevv¶^A{À¸¸8£Iësrr&Ožüã?êÕ§¦¦~õÕWù¼"óQXG5±5 àÒ¥K²¬7Ëéyñóó»~ýúþýûÏœ9#„¨]»ö믿.„ÐË·¥úÙ¥K——^zéñãÇ•)))þþþgÏžÍç—-[¦Ê*Ñû'Ÿ|¢¢W¥J•êÔ©“§§gttt```RRRHHÈ3]'@q( ,=™™™×®]{ðàADDDPPÐÏ?ÿ,ë7núöÛoåÇlÛ¶­¸:S±bÅçu(Ãd^ÑÑѪ¬79«0:Pdþñ¬{÷î:tèСCÇŽË«ÍèÑ£å{ú„QQQEÕµ"åèè¨Ê)))FÛܾ}»¨ºðÜüãßB¸wïÞÁƒ !¬¬¬ÒÒÒ¬­­ Û”.]ºjÕªñññâiòLý³¸»»«rlllݺu Û¨$Yÿ_{w_EuÿüsnBn˜ˆ@€…]–† ‹¤ŠþPÁoýjËC#ŠZA‹ú­Uª_‹hk¥ô÷´•(ÖUPÑ"²¶È¦ìšD$!Dr³Ý9¿?&.7!\“››!¼žÏ=sfæÌĿ޳\F.ûXVRSQQ±oß¾Û¸\.kðQÏž=Ô³ÀŠŽŽ¶v3üðÃkl³víÚöÀ?.û+!!Á*¿õÖ[5¶Y¸p¡Ûí6Ë}ûö D·CÿþýÍ¢E‹Š‹‹½Î?~ü7Þx§êë²°Zµjuë­·šåÙ³g¿öÚk^ –/_þ?ÿó?f¹k×®½{÷‘ÿûß)U²²²üÒ“ààÊù˜;wî´6 ¤3f˜…ÂÂÂñãÇŸ;wÎ:uæÌ™»îº«´´4𽨧Ë~ ,ùóŸÿüÑG¹ÝŠ|pÙ²e èÖ­Û?ü°nݺ 6˜ÍGzzºÓ鑜œœŒŒ ³þÌ™3~éFrr²YØ¿ÿèÑ£~øáÄÄD¿ÜÜÆ »ýöÛW¬X!"kÖ¬III¹ýöÛ{öìyøðáÅ‹ïß¿?`=ð£¦`%%%½ôÒKÏ<óŒ9Oð³Ï>ûì³Ï¼Ú½ð Æ k¸n¤¦¦:sìÕš5kÖ¬Y3|øð@X"2gΜï¾ûnçÎ"²gÏž={öxž3f̪U«Ù€ú»ì§š~ûÛß®_¿¾K—.5ž:tèöíÛŸ~úi«ÆšîçU®6mÚ<ûì³J)¯zëþ{P |¯ô³yóæ‰'VÄ£>ºdÉ’   Z.°!UPPpÉFmÛ¶ @W꯴´t_•ÂÂÂk®¹&>>¾{÷îÜy°°°ðàÁƒ.—+:::>>Þáhœˆ0++ëË/¿Ü»woË–-SRR Þ(=M@^^žR*""»cà±Öhª‘ç@­µˆ <ت)**²êkפ,4„Æ °šÈB4UX°5,Øl ¶F€€@p8ê˜D`1ÿ=` IDAT ŽBCC}oìt:ëö,ÔQëÖ­}oQ·§` Ž"##¨±',ÔQxxxtt´/-£££ÃÃÃëö,Ô]lll«V­joÓªU«ØØØ:?‚ u§”JJJj×®ÝÅDEE%&&*¥êüˆà:_ ˆˆR*666**êĉ§OŸ.))QJ…††¶nÝ:22Òœ9¨µ®óý °àááá;wîܹ³USŸQWž˜B[#À€­`ÀÖ°`kX°5,Øl ¶F€[#À€­`ÀÖ°`kX°5,Øl ¶F€[#À€­`ÀÖ°`kX°5,Øl ¶Üp·þüóÏOž}ºÏþ¥ .Ù¨mÛ¶u¸uïÞ½÷îÝ[{›-ZôêÕë/ùËu×]W‡Gx9wî\‹-ÌòáÇÍħÆÊËÅí·ßþÞ{ï‰ÈÂ… 'MšT{㋽iZZZzzºˆÜÿý ,hÀî€&*//O)aEòq@’g3­µ×Ù¢¢¢ë«kä)„?þøcFFÆÈ‘#çÎÛ¸=ñѼyóRRRRRR^xá…ÆîK@¹\®ë®».%%eÈ!ÇŽkìî€+HN!´téÒÅs€•Öúܹs'NœÈÌÌt¹\"R^^>uêÔÈÈÈ;ï¼3ý©Ã‡gddˆHlllc÷% ÊÊÊ6oÞl–Í| 0`ÝtÓM¯¾újõz—Ë5yòä·ÞzËüùòË/Û?Àº=÷Üs÷ß¿ˆÄÄÄ4v_~²@X¶xñ✜œ/¾øBDvíÚUVVÒˆ]j’ºtéÒ¥K—Æî@5f€eJMM5,Ã0rss;wî,"Zks¡%‡ÃѾ}ûêWŸ>}ZDZ¶lÙªU«zöÁåríÞ½{×®]åååíÚµ:thtt´W›S§N¹\®ÂÂBógQQÑ?ü "QQQÍš5ójœ“““™™™““Ó¼yóÄÄÄ””‡ãË•——ïܹsÿþý-Z´ˆïÙ³g=_Êâv»+**D$888((ÈëlVVÖÎ;>|úôéøøø^½z%%%…‡‡{v,??ÿÌ™3VͱcÇZ´hÖ¦Muàb?À*//7 ‡£]»vfyÏž=}ûö5ËgΜ©QÍœ9óü£ˆÜu×]o¿ývŸžŸŸß}÷­Y³ÆŒxLÁÁÁcÆŒY°`çö‹×_ýž={¬Ÿ«W¯¾æškDäÝwß?~¼U¿xñâ'Ÿ|2??ßó);vüãÿøË_þ²Æ>=zôÞ{ïÝ´iSII‰U9hРE‹Õù½<=øàƒÿøÇ?ÌÂßÿþw«>77÷ÙgŸMOOw»ÝžíCBBfÍš5eÊóçªU«&L˜àÙ 55UDz÷î½{÷n³æÉ'Ÿ\ºt©ˆ4kÖìÛo¿õK·L`¹ÝîµkךåîÝ»;N³ì¹b›)Z•¾lµx1ëÖ­ûå/™››ëU_QQ±bÅŠÝ»w¯^½:!!¡öYõÅÅÅS¦L©1uúþûïõ«_í߿ƌ^ÛLîÙ³gôèÑGõºdÛ¶m×_}óæÍëð^^¬|Ê3¨:uêÔСCk ›ÊÊʦNºaÆ·ß~;((è’/."ǯþ ~јÖÙ³gÓÒÒ¶nÝjþ|æ™gùôŒ5Êxåp8&L˜0pàÀÂÂÂŒŒŒõë׆qäÈ‘Áƒoܸќ͗––öý÷ßúé§{÷î‘®]»Ž;VD’’’Ì>ôÐC‹/6Ëqqq·Ýv[‡vîܹnÝ:3Ü™9sæñãÇ_{í5«ùùùÆ ³fçõèÑcøðáaaa7nܶm[AAAAAA½þc=f¦W¡¡¡7ß|óÈ‘#cbb²²²þñìÛ·OD–-[6jÔ¨I“&%%%ýæ7¿)..¶z~÷ÝwGEEuìØ±úà)ÖÚµkÓÒÒ+"K–,™={vhhhí7œ6mš9¥®ÿþ ,ð\+=""bíڵݺu;yò¤Ûí~óÍ7÷»ß‰Haaá+¯¼b¶¹çž{^zé%Ï>ñćš?~}_µ&,**2˽zõò<òØc™Öwß}çã gÍš5kÖ,ÿvÀt‰­ñcÇŽIIIÖ˜ xçwÌBrrò¸qãª7°–-/,,üè£j¿[nnî¦M›Ìò‹/¾X}§¿«®ºêç?ÿ¹Yþ׿þeÞ{ï½³gÏŠHPPÐôéÓ«ßö™gž©¾¿¡_x.Nÿä“OZ[+šnºé&söâþýûâé?I F`Ý|óÍO>ù¤gMIIÉáÇ÷ïß¿uëÖÌÌLÉÉÉù¯ÿú¯mÛ¶Y›6¨ƒš…=zœw×®]›6mºá†ºµ°Å.„«V­²Ê‰‰‰"â9¯­út¿²²²Í›7×ç‰Väd.!_Ûíž:ujZZZZZÚž={|¼›a;w͚5k̻͜9ÓëªíÛ·Ÿ8q¢ú%999—\?¾n/^lvfùòåžõ}ûö>}úŽ;Ú·ooÖìØ±£!:à»Æ°V®\i-ÜÞ§Osbç.x_}õ•×%3fÌ(..®ÏCûõëg>ùä“WIOOOŸ;wnzzú›o¾yÉ-ùºwïn–gÍšU½AYYÙ¯ýëôôôôôô~øÁ¬ìß¿¿Y(--]°`Aõ«fÏž]QQáÛ ý4GŽ1;óòË/W?™`–ÝnwCtÀw°***J«ÉÎÎ^½zõ”)SÆgÅ4Ö褨¨(§Ói–gÍšuöìYën+W®¬ÿ¤¿G}4**JD´Ö<ð€×RS[¶l™>}ºYNMMíСƒu*8¸rÒåÎ; Ã0Ëaaa¿ÿýïÍòòåËÓÓÓ=ïVZZ:uêÔo¿ýÖüù«_ýÊ,Œ1"55Õ,Ïœ9óƒ>ð¼êßÿþ÷«¯¾ZÏ×¼˜Aƒ™…­[·nܸÑëì×_½mÛ6³|xƒô\Á±ÖÂ… .\xÉf>úè˜1cÌr³fÍF½bÅ Ù±cÇÀoºé¦²²²M›6™kWÕSDDÄË/¿œ––&"œ4iR\\\EEEFFÆÂ… ÍL­yóæsæÌñ¼099Ù,ìß¿ôèÑ ?üpbbâO<±hÑ¢C‡†‘––öñÇ92""";;û­·Þ²&!Nš4éºë®³î6kÖ¬†ár¹n¿ýö‰'&''‡……}þùçéééZëú¿iRSS»víjfj#GŽ|ì±Ç†Þ±cÇ={ö¬_¿~ÅŠçΑÎ;§¤¤˜—4oÞ¼gÏžæÇâ‰'>ÿü󤤤iÓ¦™g÷íÛ—‘‘Ñ@½W8[,â~ÕUW-\¸ðŽ;îð¬üóŸÿ¼}ûvs5ñC‡:tÈ:’––6þüú<ôž{îÙºu«9Êéûï¿þùç½8Ž ˜krYRSS‡9öjÍš5kÖ¬>|xbbbHHÈ?ÿùÏ &˜^ºtéÒ¥K½n8`À¯8¬_¿~³gÏ~üñÇÝnwEEÅ¢E‹-Zdu:Æ ûôÓOëóš5 ûûßÿ>jÔ(©¨¨˜5kVõ™ÁÁÁÿú׿<· ¼ñÆÍ+//oÁ‚½zõ²,€†Ó€S='U×¢E‹Ÿýìg÷Ýwß_ÿúׯ¾úÊ+½‘¸¸¸ 6ôîÝÛ«>99yݺuÖä;ϧ8‡ÃáU_c¥ˆ(¥^yå•÷ß?22²z÷Fµnݺ»îºË«¾M›6Ï>û¬çó–AƒíÞ½ûÎ;ï¬~***ê¹çž[¿~½gdzôÑG×®][½qqqëÖ­:thõž_ÌÅÞÔ*{VÞxã~ø¡µX»—!C†lÚ´É~ez衇bcckl_ã#üB\²Ñ%W1oP™™™YYY‰‰‰}úôñïý].×îÝ»wìØ‘••åt:cbbFŒ‘””TË%………t¹\ÑÑÑñññVldÊÉÉÉÌÌÌÌÌ,--mÛ¶m\\Ü-·Üb-éU£’’’íÛ·oÞ¼¹°°°GC† éÚµ«^¯V¥¥¥[¶lY¿~½¹´|ëÖ­»v횘˜8lذÛ†±gÏž“'O6oÞ<>>¾uëÖè$htyyyJ©ˆˆsXOƒ{ªólV}­¤¢¢¢ëk¸ý,4®Æ °± !PgX°5,Øl ¶F€[#À€­`ÀÖ°`kX°5,Øl ¶F€[#À€­`ÀÖ°`kX°5,Øl ¶F€[#À€­`ÀÖ°`kX°5,Øl ¶F€[#À€­`ÀÖ°`kX°5,Øl ¶F€[#À€­`ÀÖ‚»øÉ\.× 7Ü`†RêwÞéСCc÷ `]~ÊÊÊ6oÞl–‹ŠŠ·3 )„°5,ØS„ËåÚ½{÷®]»ÊËËÛµk7tèÐèèèÚ/Ù¿ÿÞ½{³²²JJJÚ·o3xðàˆˆÏ6åååùùùgΜ±jŽ;Ö¢E‹°°°6mÚ4È›46,?ËÏÏ¿ï¾ûÖ¬YSQQaU3fÁ‚mÛ¶­~ÉÚµk_|ñÅõë×{Õ‡……ýâ¿xá…:vìhÖ¬Zµj„ žmRSSE¤wïÞ»wïöó›ØSýiݺuýúõ[½zµgz%"+V¬HNN>pà€×%ééé7ß|sõôJD\.×o¼‘ššš——gÖh­k|îÅêšUPPpÉF5Ž‚—ôêÕËŒ®Ç„ XXX˜‘‘±~ýzÃ0D$""bãÆ={ö4/)**êÔ©Saa¡ˆ8Î)S¦ôïß¿U«VÙÙÙo¿ý¶µÕà”)SæÌ™#"ß|óÍ‚ Š‹‹_{í5óÔÝwßÕ±cÇÇ<博yyyJ©ˆˆ¥”ˆ˜ÇKòlV}üMQQQõ5܇Ë_n½õÖÕ«W‹HTTÔ²eËFŒaZ¼xñ½÷ÞkfX=ôЫ¯¾jÖ¿ûî»wÜq‡ˆ8ŽmÛ¶õïßߺDk}÷Ýw/Y²DD °}ûvëÔ™3g¬µ±öïߟÐàï®l`]YS333'L˜3a„ÌÌLÝyíÚµfz%"óçÏ÷L¯DdâĉøÃÌò’%KJJJÌò¡C‡Ì°aÃ<Ó+QJÝ{ï½fùÈ‘#þê'Àeç °æÏŸŸœœ¼|ùòcÇŽ;vlùòåÉÉÉÖ\¼zzçwÌBrrò¸qãª7°_/,,üè£Ìò˜1c-Z´hÑ¢Ù³gW¿$;;Û/}¸¬])»fffN™2Åív{VºÝîGydРA×^{m=ïðàA³Ð£G“'OVoÕ¶m[ó”µ”{Ïž=­õ°D¤¤¤$;;;+++++kãÆÿüç?ëÙ+€&àJ °^|ñE¯EDk]QQ1sæÌwß}·ž÷·2)sDUí½®¯¿þúOúÓÆ³³³ÙOÀË•`edd\ìÔ–-[êys—Ë•››ë{ûÒÒR³PRRòÈ#¼ñÆ^CÃLmÚ´9uêT=ûp¹»R¬åt:N§K 2dذaµ·9r¤Yxê©§^ýu«>11ñç?ÿy÷îÝú÷ï¿o߾믿¾Áz py¸R¬Áƒ/_¾¼ÆSÉÉÉõ¼¹Ãላ‹ûúë¯EdĈ/½ô’/WåååÍ™3Ç,÷éÓgÅŠ]»võl°uëÖzv   ¸Rv!œ>}zpp°RʳR)üûßÿ¾þ÷7 ™™™56p»ÝS§NMKKKKKÛ³gˆìÞ½ÛZñjéÒ¥^镈|ñÅõïÀåîJ °ú÷ï?oÞ¼   ÏÊ   yóæÕ BéׯŸYøä“OöîÝ[½AzzúܹsÓÓÓß|óͶmÛŠÈÑ£G­³Ý»w÷jïr¹>øàƒúw àrw¥X"2yòä-[¶Œ?>&&&&&füøñ[·n|øpÏÊ´´4—ËõôÓOŸ={Ö³¾Go¼ñÆÀ ÃxðÁ«ÿ!zè¡÷Þ{/++«Þà4 gΜñﯾúj_šù4«¼¼¼ÞýÀeÉkäÅÇÇŸ}º¤¤Ä_Ý€ï”R¡¡¡‘‘‘Mfæ ¥^–)<<¼sçÎ;w®ÿ­/u_ ,Ølͧ5°ŠŠŠº@ü°ˆ;𰫝¾ºM›6ØUPPЈjÇX°5,Øl ¶F€[#À€­`ÀÖ°`kX°5,Øl ¶F€[#À€­`ÀÖ°`kX°5,Øl ¶F€[#À€­`ÀÖ°`kX°5,Øl ¶F€[#À€­`ÀÖ°`kX°5,Øl ¶F€[#À€­`ÀÖ‚»f†ÛíÖZ{ÕW¯AÝ(¥ª×9uME€® y…å_~+ûò?µÏ×$ÀMŸ¡ÍX&eÅUžQ•ÓÜ<’—€ÛGÈ=½bäê*´™”–ËÉå›\ýÉ7ÆÑS5´Ÿ0@]ÝBåžÑ+wêêg‡uW=:(¥$·P¯Ü¥ÿF^òtå$ÍóßWÌ'ÀMŸÛ·q~»A]õSŸ¯¹ À£¹;Ù1¦¯g¼#¡Í$¦µÄ´V7öZû^´É0ôW ŠUÛªƒÇ彯´×=“»ª‡¯w(%çJåù]º2¼ ø{Ÿ±Y¹‚»˜3Í×ôˆ/ 4}•k`©óé‰é‚H«‘(‘ÇG9RºUväp¾Þù½•èæNÕ;F’Ú+¹±‡ŠléxiµaxŒZªLŠ´wÔ£ƒššêPJJ+äÅÕÆw>tjçÉ— vz¼ðOQ,Ðô¢ÜÚdÍTU?µTmJx7öPfz¥µüå½ùÈù‘`ÿ¹¶“<3Z;¤_GuK_Ç{_y&Xæ2åöH‚bÛÊïþ£Y¸ yùc½/O%£óؔЪS•ÃÞª~º _‡``€¦Ï¥ueJU•X®Ì¨Å÷}ñü%÷P¾T\|I¨ïNH…[‚ƒ¤Seå>Ö"î"òÌh•Ô^Däú­ŒF^µýBªZ¡#°Îskqæ «ók`‰g¦RmƒÂÀh."’wFκjkæ6$û”t‹”ˆp1 ñ ¨~sƒJîªDäD‘¼òyàòªÙ%UkbY?E F`X´V†(¥´¹0“¨j1O#¤>%-CED¾;©k~eú®@w‹TA ‘¢‘ª±W=;HÏ•É[dKùïAj± F`)s¡+ÏÐJy/¢ïf€Å]9…°rÖÝEZ©ÇXn‘Ò qK›puɡڄWΕšïrÙ:©½ ‘û‡©Ý?Hfv£gXÚã{*šóßG`9 öâ6¤Â·V†Xÿ¸µ2kª Úú°ã©s""]"EË%ZÆE))*WyeÿìÈÖ-•?Ô"âP2c¬Šè[ÔxtëÊëÖRU–ª¬ÍI>bhú -nÃþc ­”ªÜO[§zÌ;#í¯’ ¹&B}[pÑ–Ñ­T«0‘Ü3ç_Äœœ—wF¦-W™|¼W®í(w 6ÍåÅqŽßÒ¾r€Úãèé|3Ÿ``€+@Õ.„Ï«1m<¬¯í¤DdP¬Ê¿h³A±V{ïKÇÏž_þÿ®Ñ½cTB;¹¶“<2RÍ^Ûˆ/è™gÕÌ÷XL!MŸq~¶ 5PÜÚaþô˜ãè©vŸ|Sñ<ös]s›ÎmÕooªl¶ö›ós!­½¬šârõø¿õ¹2‘{RdDB£M!ôüÔs6+ÿ1˾ïúH€š>·!nC» ©p‹¡•¡•Û ·®p‹Yi܆6t@GNèv‹ˆ8›Éì;¥U˜w›æNùÿ-Í""ëÈ®£çÏš –®œ YYÿ]üïÊÊW3oS1~£ªãÿ˜ßÜüÎæŸÀm(F`œgh+¢2+í6”[++̪ª·¡||ñÃÊ¥Üc"déduGi•r(i×Jë'KP±mEDŠJäù•ô°r–ö¾çʲd›ˆHËPùÛªYP ßÈü¶n£êÛš#³ q_jÖÀ8ÏÐÊmh¥”QZ´(1´(%"¢µ(Q¢Ìÿþ˜_$ÿýš,¼G:µ‘Ž­eÆmÕ×D—c…òÀ›r´ð‚kuUTaxßsÆÒ÷Ij/‰íäÙ[äwËý^,â^ÙO­DUQ"Ú` !€Åmh·Vn-ns1&CܺræÛÁTUÙ(ÇC'ä¶yòÊç•C±C‹Û¨ašR¢ eXÅeòUŽ|•ÓØýð++ÔF õ"âöyhú -†®\–Iª%U£±´-Ò«¦Ä =Ó«Êèªêãû¾hú¬£D*”ª4«ê'üÎë;‹÷§ö=4$ÀMœRªeHy©ÑL>>%.DIC;ÿÛC  ;("(;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ÿÀo°"ÿÄ ÿĵ}!1AQa"q2‘¡#B±ÁRÑð$3br‚ %&'()*456789:CDEFGHIJSTUVWXYZcdefghijstuvwxyzƒ„…†‡ˆ‰Š’“”•–—˜™š¢£¤¥¦§¨©ª²³´µ¶·¸¹ºÂÃÄÅÆÇÈÉÊÒÓÔÕÖרÙÚáâãäåæçèéêñòóôõö÷øùúÿÄ ÿĵw!1AQaq"2B‘¡±Á #3RðbrÑ $4á%ñ&'()*56789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz‚ƒ„…†‡ˆ‰Š’“”•–—˜™š¢£¤¥¦§¨©ª²³´µ¶·¸¹ºÂÃÄÅÆÇÈÉÊÒÓÔÕÖרÙÚâãäåæçèéêòóôõö÷øùúÿÚ ?­ªkú§ŒõY¼77VÊÅ ´Ž6`ˆ¾nO<œg‘躺ùn&ÿ ›á[Ëo¨ÞË ƒ"éîTw¥wRjÚô:dÏ Ö“\M¤ô@zçÖ¾ƒš,U‡Œ4µÏ.–^ñQu9îyåݽõ„B[Í­ã-´<¶¥>™#¯©øÿçÖûö+²ñ]Þ«{à8$Ö¸]KhhOÊêðÞÝÿ*ç.ôX-|)aª¥íÔ—k7›*Lr¯µ7~íºç¡#88öô°¸ØÖ£²_²±Ã[éÕpOes?íñϬ÷ìQöø¿çÖûö+CMðÓËc}w¨ Å¥Ë}o™’mû¤¡Ël8<àÇ5gþ:ybFk_³é+|æyàa3ó÷ ¾gxž;õ¼±T#&›ØÍaj4šF7ÛâÿŸX?ïØ£íñϬ÷ìT:vŸu«^Egcšy²QC»“É8è ZÚ¤÷V¶ð[¤Íz¬Öíñ¼r…Îì8m¹9þu¼§N.Òi=÷3T¤ÕÒc?´"ÿŸ[ûö(þЋþ}mÿïØ©#ðÞ©+•H¡Ç™Jæê ’;¨tTbØrTƒ…'‚=i-¼9ª]Eæ%º"ý§ì¸žxâ&oùæ°%½ª}µ_™}ãö56³ý¡üúÛÿß±Gö„_óëoÿ~ÅR’)!•â–6ŽDb¬Œ0TŽ ŽÆ™ŠÚÈÎÆ‡ö„óëoÿ~Ånÿ`Α†¸m:ÙÿŠ9!²ŸCµ϶k’ÅwúÅÛh^ÆîÝKÿ¡šåÄJQqQëÐè£N2MÈÊm*5ë{¥ûwŸÿÕYí3Ù£²½Ê!›‡=†U9<ãŒCEÅ̹?1Å[ÐNëˆí‹ý­Q)NœyÛ¹§²„öО0<Û- ê<™[ŠÆAü DÚ\K÷¯t¡ÿnóÿñªèt›½0iÒÜj¶òÜGŽ4±úîÑ5ï…o`¹·´Ónã¹û<¯Èçj•Flýóéé\¿X¨¤ÓON©+ýZ¯Åœ«ÙL÷vöö°ÙÝ ’Â9"L!Ú2ÙÜœÇ=*ãørhÏÍs¤¬3ñºvŠØ6 é.¢òV:èìþ˪FörJ`¼r ¼¬~F?Ü#¶}ýGÍ̳LF¤iÓ¶©ïê×èzy~WB½9T©{'Ñù'úœ£èEA&÷HöÆoþ5Uì¼Iàjd dä<±ÀKE4d಩ÇÍòðNWŒŠéuk[m'O×NfÕf!Š£ü¶Ëè}Iÿ?íp^1¶ÒÈòäÿúQ5e—fuñµ¥‡®“Voc«•áð´c^‹{ÛW¹³ðõ-žîâ;«èl£’Ш’fIÞ‡o$g§é]Zè–Îó[x—L–F9Q,êã êr+Žð烵]gMûM¤öˆˆÛ•˜í²ŸïVÊü<ñÿËΟÿÿ‰¯O°µjJ3«n-/mz¿™kÄqCoáe´]ZÒñÍâÈ#‚`åFÇþdV¡w§Þè:U”‘Þ}£MIñ²Ý¤pÓ +£œ¾Õ«ÿ ÷Äóó§ÿßÉ?øšCðó_?òó§ÿßÇÿâ)Ы¥N4ý®ÎäTŽ*uù7V"—Ä6FÒf6÷†æMé"4D1†ù°å˃ƒ‘‘·SHÞ µ’åÕ­îVðøÒ©`øl²®á¸dŽ¥{Ô¿ð®õÿùùÓÿïãÿñ»×ÿççOÿ¿ÿÄSç˵ýçõ÷ØË/wúÓüˆ<2ÓØ®Ó‰8=¿vÔh¾$²°¹ðéŽÞî[=Þà]$™¥ô@ä09-ß§9øu¯2•k8‚0Awçÿ |:וB­Æœ;ñÿŽUU¯­QÊu4µ¿?ÑŠÕ7ü"ž+Î|Ïÿà üf¼|Ê…¡ö9ï5ÇEµ¿W¸Ômd·’ÎßtŒE!NJ)‚FôÁ›ŠÆç¡QXº©½¸ñ†Ÿo©\XÅ%­ÄÒ&fdxBÿ¬Fã7Jç‹ïæ›F¹Vöír¶K-”³¢yæb›ž(ŠuB 6È;NâÀw´W ¥ë:Àµ°¸ŸT–äµ¾›<‹$QæêS©Ú€€¡r¸ äņ4}{W¹²¾žÿW´ƒn$óùgí§J81¬K³n_÷r3±)€NÖ$°­Û³”DlA¸¬Ú¾³o;I©ê1½»ÆŒVd!ËA¤³õ¸Ç=:óZ÷¿ñãqÿ\›ùUǶ¥ÿ_ÿúEmUq2÷ü#õÔÿïêñÂ7ÿQOþþ§ÿ[TUÙÅÿ„oþ£:ŸýýOþ"øFÿê3©ÿßÔÿâ+jŠ,€Åÿ„oþ£:ŸýýOþ"øFÿê3©ÿßÔÿâ+jŠ,€Åÿ„oþ£:ŸýýOþ"øFÿê3©ÿßÔÿâ+jŠ,€Åÿ„oþ£:ŸýýOþ"øFÿê3©ÿßÔÿâ+jŠ,€Åÿ„oþ£:ŸýýOþ"¸ï‹° [BßeÒîrÍò¿$úץל|eÿ‘Rúû_å%u`’úÄ êü ›á§ü‹Rÿ×ÇþÓJë«‘øiÿ"Ô¿õñÿ´ÒºêœÇý°ßˆQEÂnQEQEG_J€W$6Ž™´-æ·ô«&–ÕU-ÜÛ¡hUNT)ÇÊ鎔&…£Åa&Ÿ•d–r¶ù-ÖÝnÜrW'ù â¹¹[TºÔÿ¶l´í:{H<ûyçy.-Úo¸Ñ(L¬<óÒ²#ñ}í×öuí¥–û¾ÉÚìSäI>˜dàMâ&¦FNÞ¬ÃL³˜ÐÊŠQ\¨ÜªH$èJ®~ƒÒª6…£¼Öó¾•dÒÚª¥»›t- ©Ê…8ù@=1Ò€9Í7ÄúĶöWbu–åX t%n¤òÕA.pP‚Äw/Ò¼K­ßÙIuqiieΜ÷¶r]2F‘à)¶ÊÌéó϶<Ó,é—N±DT[+uUXÑ@‰@ Ì`qÑO#Ðô¦G¤i‘}¯ËÓ­í¹ûVØyùÎwñó}ã×ÔúÑp%½ÿúäßÊ­h_ò/éßõëþ€*½Ê4¶²Æƒ,èÊqÉkM_±év–²2—†аÁ!@8üª &]¢£ó“ÛþúãGœžß÷Ðÿ»¡QQùÉíÿ}ñ£ÎOoûè@IEGç'·ýô?Æ9=¿ï¡þ4]%œžß÷Ðÿ<äöÿ¾‡øÑt”T~r{ßCühó“ÛþúãEÐWœ|eÿ‘Rúû_å%zœžß÷ÐÿóÏŒ„ ÂAý-zö^ºðOý¢u~MðÓþE©ëãÿi¥uÕç>’ïûNµµ½–Ïíz«E$°ª3m¬øÕ‡T^Õ·qâ»­6âM/쯨^A3Æ%Ù&$EŽÜÂ܆ýú)!˵‚ÿjŸ¨°ß‰ÕÑ\ä(¹šW™´¯&Æ;‹{gif+p¯2ÄT¶``Ì üùcÏדÇ+‰"]1î2Fœ-£‹piŸÞ¡Y”ó–ñY›]ËÿokVÒê­-•¤Éåµ´Iö¢»$•mÆÌù\ iY·ž{m‰|föÐ<—:n·¤ ­.ù#-Ü0 <ÉiPÄ®NÐp¤°EÍ[xŸT¾šÞÖÛDD¹‘fwsKn›c1r…¡ÞÀùÀr‹Ê·^ 4mRÕSU½´³K›ET’Ê7˜G)f¶†Eˆ»@%ÏÌXàœc4X†âC´²(¢öJÓû~òΨâÓ‚MÈ¡¥“ ‘Ÿ—Þ­ÞÿÇÇýroåV´/ùôïúõ‹ÿ@â“gý›Ä_óÏLÿ¿²ñ4}›Ä_óÏLÿ¿²ñ5¿E_*̳x‹þyéŸ÷öOþ&³x‹þyéŸ÷öOþ&·è£•̳x‹þyéŸ÷öOþ&³x‹þyéŸ÷öOþ&·è£•̳x‹þyéŸ÷öOþ&³x‹þyéŸ÷öOþ&·è£•̳x‹þyéŸ÷öOþ&³x‹þyéŸ÷öOþ&·è£•̳x‹þyéŸ÷öOþ&¹‹i*x.ØNSÍ7I¿fvƒµúgµzmyÇÆ_ù!ÿ¯µþRW^ %‰•_øK´Õ|.èKû‹Ï66†w…‘¼•\†BFa×½u2ht–ÐÁåKƒvÉ!¸’)>c–ÌŠÁŽãËdÄrFkË<1ñ&ßú[Y9î¤ÞXK·*®:îÖ¿ü.{ú?þÿö5׌Àb*â'8GFû¯ó2£V1¦¢÷ôggiák mFâì‡e’häŠÝdt‚ ‘ÆŠ< Û 0À•ÈãtzxWGIÖao)1íò‘®edˆID-µhÐá@P:q\Oü.{ú?þÿö4Âè·ÿ #ÿàOÿc\¿Ù˜¿åüWùšûzÒg6‹aqt×2BûÝ£w +ª3£++i`Q>b3…8â˜þÒä\5®qæàùŒ ™d¹9z«9R1\ü.‹ú?þÿö4Âç·ÿ #ÿàOÿcGöf/ùþaíéÿIýž‹ac2O/ç"ºù²Jò;)»s1%îÐd䀠 *ðÖ“¬–±Û:[ËköI"Yäñí ÈÝ‚Û@]ÿ{ â¸oø]ÿôü ÿìhÿ…Ñoÿ@GÿÀŸþÆìÌ_òþ+üÃÛÓþ“="íYìæDRÌѰ ’qVô˜ÞÛG²·™dŠÞ4uÆpB€GåŸð¹íÿèÿøÿØÑÿ žßþ€ÿ?ý5–â×ÙüWù‡·§ßðg¯oÿ|š7Fÿ¾Myü.‹ú?þÿö4Âè·ÿ #ÿàOÿcUýŸ‹þ_Ř½µ>ÿƒ={xôoûäѼz7ýòkÈásÛÿÐÿð'ÿ±£þ=¿ýÿû?³ñËø¯ómO¿àÏ^Þ=þù4oÿ|šòø\öÿôü ÿìhÿ…Ïoÿ@GÿÀŸþÆìü_òþ+üÃÛSïø3×·Fÿ¾MÇ£ß&¼‡þ=¿ýÿû?ásÛÿÐÿð'ÿ±£û?ü¿Šÿ0öÔûþ õíãÑ¿ï“Fñèß÷ɯ!ÿ…Ñoÿ@GÿÀŸþÆø\öÿôü ÿìhþÏÅÿ/â¿Ì=µ>ÿƒ={xôoûä×|eÿ‘Núû_ýJÆÿ…Ïoÿ@GÿÀŸþư|cñ/è˧¦œÖÅfï2îÎÆ­tapXˆVŒç%æ¿ÌŠ•a(´¿&ÿÙtraitsui-7.2.1/docs/source/traitsui_user_manual/images/search_table_icon.png0000644000076500000240000000153014046644454030074 0ustar aayresstaff00000000000000‰PNG  IHDR´ЭIDAT(-“]OG†ggf?¼¬±±×^“8`bWÙ ¦Á4 ­¡JéEÿA/¹H~Rò7PÓ6J@Á(‡X"6YXÛ»fwg6cµçêèÌ;:gžwÀCÇÉ-ææî§}>ÉcU@[íîûÍ­££O<ÏB8ŽcU×u™žùò…ª†_¿yN§ïÞͰS›Œ qšª-ä––~©Uk™LF×õ••ÌnÇÆcµÚùïOŸ:|d³B@Ù¶äéãå?ªåýbqûÑÃ¥l6[©T˜QJ´˜:ŸïÂèÖ9 üÙT89îjm÷¢'4•s:»{$Q*—Ë«««xfæN(¶qh¿FSñðÃi5€ç%‰ÇïOs‹¿™˜®éßçišÆúÀÅŹÜÏ{_QÒ“ÁQ Y×®yízž'@¸p¿J®ˆšL$vvŠ‘H!ÃjÈ»Fò-U1èX¶eÛõz–ÝìÙ‚ x÷pxr2Á;88 ”bÇq!eŸèQ0°YŽðú65:¶C¹è˜Ô°ˆC<Æ×'ûX°Ù†Ü\ÇF„Óîˆ /bhˆMÂ|§n™=SåiݨÇoÄS©Ôð=§§å»ÅT›¨\™z›è]Rë¾Ã!^4†7¤.›*c¬™¹xã]A–å?'&o…“_äâss*ªˆKmŽÿˆ˜ó˧ϕŠ(ËŠâgl˜wöòoË'GGÆ&nmºmÓí»è[ÃM(±u(bò‡$D¥Þ«¿^!QŸ?{vvv¶·»=Õü¨gšf¿'cJ2ôãÍR©”’üë#É'íw¯.¯%0wn~þ'ýòòàãžQ=óYU¾ub”¶÷·0Ï«áÈÉéq@ ÎÎþx3ï›Ý!·Ì½ ûKŒ£ ò–eýûÏ߆aÏ~;³L’|Ѩ¼3=“Ißk·ÛõzƒI‰K×××6 …ÂFa¸Ì/Ö²‡ð¿„¡äÿœc‡ÁÄ,¾&!ŽÙXApIEND®B`‚traitsui-7.2.1/docs/source/traitsui_user_manual/images/CheckListEditor_demo.png0000644000076500000240000007373614046644454030515 0ustar aayresstaff00000000000000‰PNG  IHDRºŒ‹¼Œþ pHYs  šœ IDATxœìÝw\çÿðÏs a#K‹qáwÕW­îjëªþj[[«ÖZmÝÖ=ê×ÖXµµÎZµÖ]·UATP‘ *›äîžßO8Ž `dÄÏûeÓðä¹'Oî’Ü'Ï:’šš ÈØDQRª“®Ÿ‚ªBˆN 5S…ÇÚ4p§P(8Ž«ìŠ˜8eeWÀÔ$>Õ\zÉæ3m³5ŠÊ®2‚™m®WvÐK!… ìW“³³3† Õ!D¡P˜››[XXXYYYXXTvL† FC)½z_½á?kXªÀÑjb°kÚ·o_ÙU@/W||<¸»»WvEPyäçç?}úôÉ“'iii¶¶¶¶¶¶úíFèÅa¸`4Wï«7]wq°¢V*B¡”Š€°ÿØ–Â?ð¶ÊÞi‘Æo„ª8sssWWWWWׄ„ÖPdggWÙ•2A.GÂÍÏW]­ÁÒŒˆ;ß”ŠD+)Jð¶*ßÊaÛ4BÕ…››¤¤¤¨T*ì•0: Œãâba*"R ”5…‰ÚsMÁÿ("ý‰·Uô{¯ª¶ÜÜÜž>}š““ƒá‚Ña¸`¢(ÞNT™+A,ˆ@{Êa¿Tiá<U3ØŠP5ãàà’’"Š"Ε0. Œ@„ا¶¶¬5AÞN)6Ž"€ª.yDGPBÕ‰½½ýÇAÀpÁ¸0\0Ji–FéHˆH¥¦l ¿LE‘ÐfІx[eoumE¿™B/ÆÂ‚çyQ+»"¦ÃãED(h<(h¿¦¬™AÖœ]%:çñ¶ÄÛ"“!(Î@¨Ú¡²«`‚0\0‘‚HÒÂÁ „hÿdßáàôƒ·Uô–©‚[»€Põƒ–_ ŒC¤¬u!Rp ¿@ѳQõ»íîCÌ™ Ñ©´*ÔçeÜ×äð©Õj•JõÒŸ¦ŒîܹsýúuŽã† ‚A“éÁã‹Ê ÃãDÄ¢-×´àOZ˜RäN‰·æ ÙS*’2è¾´J4ÔSø¨g¦€}7hT2­ õyI·ìnaë± ‚°wïÞÿþûïÆ?öòòòóóëÙ³g·nÝ^ÆÓ•ÿÿþ»|ùr4hBË™¿„„„_~ùE­V׬YóË/¿¬ìêàñEe‡á‚qhÇ.°s²ôrw}nÃõl¢Ýô~ ìù¯jµ­Ñ"­)&‹JƒTJ­VõÕW'NœR¢£££££ÿøã)S¦Œ7Îèψ*ѱcÇfÏž‘‘uêÔ©"áBe…á‚qˆ@J¤ô}¤àO e™Âߨ úøÊÚ)(t¬d ªUÉXd%^ÖS|òÉ'—.]€-ZôìÙÓÍÍ-$$dïÞ½999Ë—/W©T£FzYÏ*PNNÎüùó÷íÛWÙAÈ0\0ÖºÀVY€Âø 0P`§ŸÒ À1SÀ§Ý„@z6¤eQoWBòBUi]`õE¨:U2:6¡’|F3Éb…ž={®ZµJ©T@¿~ýÞ|óÍqãÆåååyò䨨Xhذ¡Z­Ž‰‰©ìJ!T~¸Š…qˆ”"ˆ”ð"ðeCx²tíCewJ¾܆ópøéÍÊjx«’oU ðt$žŽ„9E Ö¤~MâVƒ(¸bò€¶Fð"õ‘n !¯9{+Ýt¥‚¼æDœlJUN­PÛ0B}DJJxý©=vÆuáÂvgæÌ™,V`Ú´iÓ½{wˆˆˆHKK+_á¢(&%%…††¦§§Ìœ““–––V#ÉSSSïܹ£V«uÒÃÃÃõÓõåääܾ}»4/­*سg‹†¾gÏ£\îÒ´/ÄÄÄDEEñ<ÿ*ˆ^¶.‡ R^$”¡ í‡ ìâR„€¨ø¨Á¦Nwëåïû8s—^¸Oûµ`c% /Ò¶*á¶¡ Ù‘ø{q¬e=Ÿ‡û)p(„ž¹£[%G†¶%}}9kí‹âE¸xŸ^€¸§…9Yó‚HA¤„Rðq%«†p0}¯WäÙëׄµCðí>zó‘¶þŸvçú5' ðý!ñ«ž\Ë:ÄJðø)¬:!†Æ[ø¤ ×±¾¶ë&-ŽÝ¦A— k+•0s¿øù\+OÂ*,ˆpá>ýßix’Sæ½$¿оL*;šF”ššêååU³fMv9¹F=z”Rúøñc''§2+Â/¿ü²sçNvE>pwwoÓ¦Í7ß|ãàà “944tõêÕ.\Î"žžž£F1bD O1a„ÿý×ßß?00Pç¡I“&>}ºuëÖAAA,%==½sçΰaÆ”””Í›7GFF€B¡2dÈÔ©SÍÍÍ÷îÝ»zõê””033kÒ¤ÉâÅ‹ëÖ­«_BVVÖ–-[nß¾ÍæÓ»ººNŸ>½OŸ>eÚEÏÁÁaáÂ…, |Ap|CCC‡ Û¶mkÓ¦ü¡ððð>ø6mÚÔ¡C0Æñ€yóæíÞ½»E‹›6múá‡.^¼È^B¡èի׬Y³Êú)@/† ÆQ°LS §ÃgBà‹78y°öe½Lù~ã¾æ ßåleWZ1WB7hâFê:Á¦óE~rLîIz7+RI%]¼‰+ù|·˜–U¤d‘/P®`= ^o½d®`E©þŽ€¹fö!­ê>‡=,ÈÍØG§š¶…%8YÃðv„l¹@uJø¶i[·°]¼IƒšdL ¨1Î-/eðÂ×_ýõ×_ûP\\Bêׯ_ÖbçÎûÛo¿ÉSâãã}ú 8°~ýúQQQK–,‰ŠŠŠÝ±cÇèÑ£X[ô"Œ.°_<Ï¿² i©ÕjJ]y!TÔ^MJooØ9ŽÖ0®3€ëé‘ÐÂlK¾ìá‡퉋ÀÖ tkÁOóÛñôÔºig¦€þ-àD€“ Œì@ )¾ü]|– p?…ž‹o· õkB¿dç•— µ.Hãª[Éb’ öÞ «Nháó‘°k<ñ°pêwX»ï‚Qksx«)1WBGˆL.R‰:÷OmÎÇOid2Ý=ž3S@óÚðë•2ï. )X­©"ßÏ‚ Ìœ93//2cÆŒ2m›ššºzõj¨Y³æ–-[jÖ¬ ÞÞÞ}ûö2eÊ_ýuíÚ5Ö¼¼~ýú¤¤$øê«¯ÆŒÃJhÔ¨Q×®]?øàƒ¬¬¬yóæ 0Àˆ×æ©Q£Æ–-[êÔ©>>>¬8ŽÛºu«4hРC‡½zõ€ÐÐP,--7oÞÜ´iSöçW_}•™™¹k×®ôôôû÷ïKé¦Êä/ôíÛwÙ²eì·–»»»··÷[o½¥V«¯^½Z¾p!;;;##ÃÜÜüE^šià8N¡P¨Tª_]ã…ÂJi^^žF£á8îU¾ö—B¡Š\3ây§RBÐ0©;±6?£ò…L9ZÕ"p76ÿ[ä¼™ ߢ \€´Å6tÑþ„^rLÛª!Y~œv¬OœmÀǵH¤U,Q7E"ÛºPð讫Tžÿ¯[t|† ;Nß…·šxØ“;‰T^ÂŽËTž3á„<¢þ^ÄÞ/tI*;RÔ¸ðÃ?°é|ðAëÖ­Ë´­ôýûÃ?°s‰dÖ¬YuëÖ¥”JÏÛ·o@‹-¤s S·nÝ/¿ürÞ¼y999\0ùã cÆŒ‘Ï3wssóóó»té+Zì‰ËO¥”çyF£T*---_dÏò‡ ”ÒœœQ !äU^F”ã8Amë‚ìÔ,uLÈï{Û¶.éÕ„ÀÖ ôaºìꈔmXX8»ý¨#iQ¤ñ”ÒmކÌÜ/BÌ´¾ @HhŠnK9AOÞ)Lñ©¥=vÁqT Eròz7œ€O-‹…WP XN±à„*ˆ ³­tΡ°þ¬CæY.Ħ©URAOkdr‘:°(XéA*!Ÿ‡»Il¸eá3&fX©tkRÖ[vô^Â;¥xÿûßÿöìÙ;vœ={¶ü¡„„„9sæ»ÕàÁƒÙ:étâçç§“ÇÞÞ~Ò¤IÒŸjµúÞ½{мysý[´hÁî„……ñt¢ó\ææævvvÙÙÙòîvÆÛÛûÎ;ú”*&‘F‰fggCu†Ç,,,äS«V-xãË(ßæ&†RJ)!;;ÛÚÚºÜ'ëò‡ ¹¹¹¢(â!aD ‚(?Íh›!ìÄÖ_e(¼5S¯ß$ð(¶^^(|TêŒ(Z8iìF:i?ïEÒsÔÚœ>®DÉÜK¢:ÛêßúÔHÉ„§9Å<•€‡=X«HFžôz /P"]øM¤EjÎò°‡±°þ,„Èçu_‘ô‹D^޼õ‚¥³žå‚š×­mžF»è¶NMÊx+À^º]»v­Y³7n¼víZùÔJÈÈÈ8sæL±¶k׎Ýa?(]\\ìííK~®{÷î±Qlú_åРA0ݾ}{À€e~%Ïñ¼¡j¥ÿÞpttÔI1™Ff<¾P£F ýf“9ÄUô{^ÅÜÜ\++«ò•SÎpçyžç Æ ŒÞ@?yÐ`À‡íÁË è2u(:ÄÍR`¡w{€ÔLÈÕ\Hy¡˜“YŽZ[ ij)MGF‰ó/Ä¢Ý :£/¥Vý¡ŽÅwF<ç¹DYºü!ýBJ˜-ò"}72׺päÈ‘y󿀧§ç† ôG8Ö¨Q#  Øm¥Ùì«¶4Wì}eGUYx|Q…a'kvîÖùYRJå Ôjõ+Þ¡ƒ-ïS°t#€öÊDûË/]­ßôݸ`úý·}ŠßŸõjŸ“üð'Ý{ƒPJ/•М„ˆDª@¥€®ÚN„šßoÇÃëÞPÓ,U•¯û(ëÔxüÒ² ×± :#¤¥ œn@ Ë‚ÎZXéûL§{¥HS-.½àŸW{íô…:#@»ç ¼JçüùóÓ¦MEÑÍÍ-00P§[š©U«ÖªU«J.§Y³f§OŸNKKKKK+yžºR©äy>**JÿѨ¨(öòK Pìz;Õe餪¦ _(îãñ5 쬭V«Ë.”³m€uC`¸ DD*ˆÀdKòeà yA;®P©HuoKÿ,ToÛçݪy¸—ÐÊ“U¯È£íêÂ6t¿6%ô±¶¾º94ªpû1ÈkK Ê|–£M©i«»mÓ‚UìDZ˜®í^¡ Sg‘J±EñûGzÆç• ˆTÖwSª½ôœÛ"ÿÄ—siŒàààI“&ñ<ïââø"Kþ5k֌ݹvíšÎCÙÙÙ;vìØ±cGXX¨Tª† @HHˆ~9R¢T ;;;`ïå4Í;wÊ]T² ;¾¶¶ÚOôq±ÓPµÃÂ…Ò´T«üáBù64U¬g]:ÇðD"P"…é ˆDçvñ1xw=}ïçbnÃbR¥¹­»m ·!q ]aR÷"éž°n™Ù‡ôo¡M ~¤}?ô'6æEÊù¦7q±¸Gí¨ùë%QÉ«èդȳ8XÁ€–EÆ.°tY§C‘üÒJ']Öa ^éMYú½¤+P"ˆG’rLa5(22rüøñyyyNNNÛ¶m“,/___¸Ï›7Oç‹~Á‚óçÏŸ?þÓ§OY ;U„„„lݺUž3&&fåÊ•`eeU¯^½bŸ¨qãÆœœ¬s6Ú¶m›| %d\v|½¼¼,--àøñãòô”””íõ J¥3¿Lp™&ã)X{;¡@€XÐ ¡]<ù¹ ǦãtBèÞ²%2ó!ø‘,½t‹¯=]‚§|ÒlÌÉñpx’CÚÖ…am‰…À¯W´ 9'eu§áÓîàn›G‘]WáúCâéo6!ƒüî$¯W/Âζ-r'ZÕ×À÷ýÉîk æI Oø¤ ©íP¸sض”6òK)Út(ìtJ¦ä,ýy%HK8³g|E eC_B—D\\ÜèÑ£ÙåŒß}÷ݰ°0öÓPÎÛÛ»Q£F¥,ÐÑÑqÊ”)Ë–-KKK3f̰aÃÚ·o{úôiv-Ä:uêtìØ‘ež8qâÙ³g“’’–-[–ššÚ¥K{{û«W¯eeeÀ¬Y³ž7 ©I“&ìΗ_~9cÆŒFÅÅÅ={vÛ¶meÞ ¨Ô*ìørçãã|þüù9sæ 4H¥RݺukÓ¦Ml½QôŠÃpÁ8‘ T{I ‘œó V*í­|X_Y·MÊ„Q[aßD°·„íaDû"Þ} ƒ@µù—‡š¶0È|=À·èšoñOaÔVx–']•@;‘R›2ç0ì V*Þ†·+Üpï x¯5@ÁIí+b›ë½¢"CiaºPhÓŸW‚4à€B‘Êz«7ÔÑÈS$ØûìþÆ‹ÍóñÇ—>\€±cÇÆÇÇïܹ3**jîܹò‡œ—.]*õº¹¹mܸqøðá™™™›7oÞ¼y³<óäÉ“KXò¯C‡½{÷>zôh||ügŸ}&¥;884oÞüìÙ³¥¯0*“Š9¾0cÆŒ>ú(77w×®]le æwÞÁ„óŒƒR"ˆ”´§Föã» ñœH=âÒP†RÞ²¦ø²n%ÝF&Á°pæ®ì¹¡aú^˜úäkŠäŸ¾VŸ„TÙµ!xŽ„ÂÐÿ´HNVŽ”rý!Œ ‚[q…Ë+eåÁ¢£ðã1ퟚ¢µ(fohøÂÌòt5_Xó’KêV¾}%ßç² P0áÓhJ3â§ŽfΜùùçŸ;;;K)ÎÎÎo½õÖ¾}ûtÖ-hذá¦M›:vì(¯‰‡‡ÇÌ™3å«ó²ùòšp·dÉ’wß}W>à®mÛ¶l–¼|:œ´¡þ9–¢¿Xº”¿„¤m«Ñ:<úû³L*àø@‹-~úé§fÍšI;ÖÆÆfÊ”)“'OfJù_üø>¯òòqæ]•B¤ë›•IFF΢”¨Õj¿õ,-‹yHúÙ E*˜­ÔvQ„©Pòå—Ô²'ÈUÃã§Sª«ÎjYšA½š™qO [ ª#æŠø¥•]¡R!999==½fÍš/n”••Ïó¼³³sÍš5Ë4rùÑ£G¹¹¹îîî666/Vå*!>>Œr闪Žo^^^tt´­­­»»{uüž?~üxýúõqñ}ìÚ`lØrYa¸`jµºÕòz––ÍÖÒ\J(¸ju¥Æ ¨Lˆö¿ÂC–´¬òjƒ*Du P)a¸ð{öÌÎÎÎÞÞ.¼ .J¥êÓ‚z× =fqå‘}ä“jUeW ÁîÝ»+» ¡âB8޳°°°¶¶vvv¶³³Ãå^\¦É˜DQÔh4F­Vk4AÊ}í/TE¼ÈÜB/»(³J¥R©Tfff*• OL%Àešª ŽãÌÍÍ1¶E!db0 C!„. „BÈ B!d† !„2ÄB€áB!„ Àp!„B`¸€B!0\@!„. „BÈ B!d† !„2ÄB€áB!„ Àp!„B`¸€B!0\@!„. „BÈ B!d† !„2ÄB€áB!„ Àp!„B`¸€B!0\@!„. „BÈ B!d† !„2ÄB€áB!„ Àp!„B`¸€B!0\@!„. „BÈ B!d† !„2ÄB€áB!„ PVv ¥´²«ƒ2Y„—Z8!„ã8Ž3µ_ã. J–ŸŸŸ“““——§V«AÀX!TÁ–…tã…VJÞÝ:»QÍ|ÿ:צs’5W‚ªJiVVVvv¶¥¥¥§§§ƒƒƒ¹¹yeW !ôÊùã1oÄÒÑ,S°?GïÓZ<öóR¼ÔöŒ ƒáª4YYY¹¹¹îîîîîî•]„Ы‹R”š7IA Ð"]Tž“"o%æÌ•`nF¶ßòxì_×Nµ¦Ö¹‚ª‹üüüìììZµja¬€ª\"QJA¤@Ù? "%,…% "µÿŠäEJ¥­haQ”‚…ì,ÉæàÚ‰OÙzQY0\@•#''ÇÂÂc„P¥)ˆ@D ¢,>EZ$…Ý/H¡²‡Jøg¡"V*¸kVÙ/Ñ0\@•@ż¼îHz4âàͦœ‚ƒm)¥S. PmG‘Jc[ Õ>TÀp¡LÔjµJ¥*ö!žç·nÝ=nܸºuëVpŘðððk×®q7bÄÓX¤d<Ïÿý÷ß{÷NNN¦”Ö¬Yóµ×^8p`Ÿ>}pÅ'„P)±± TdçøÂ¾m ûu3¢½6V`ÞhÌ©y1è2•d ÚÌòïàêß²€á‚Aqqq»wï MJJª]»v‹-Zµj5jÔ(y×ûßÿ=wî\xøð᯿þZ)U=sæÌ¢E‹`èС&ÿ;;22râĉqqqòĤ¤¤¤¤¤«W¯®\¹rݺu¾¾¾•U=„P5"P¢n í] ¬ÿ¡p&€aíHßæËs"BìÙ˜#zûrjAÜy…Jc#µM Ú°ƒ•_ígE`¸P²óçÏÿßÿýß“'O¤”¸¸¸¸¸¸¿þúkÿþý›6mª]»6K¯îC^«—›7oŽ;6;;¬¬¬úôéS¯^=ˆ=räHFFFrrò‡~ø¿ÿý¯cÇŽ•]Y„PU'<¯· àÜ?¢=ÐR+¬9%ž»GÃã…ÏßPZr”Š;.Œn–…”­Y6To.<×Ñ£G'NœÈFä½þúëþÙ>á´ IDATþþnnnÑÑÑ'OžŒŒŒ ëÝ»÷É“']\\ W¯^³gÏ~ôèÑÇ\Ù7qyyyÓ§Og±B›6mÖ­[ggg'=:uêÔ)S¦œ9s&//ï›o¾ù믿lmm+¯²¡j@ òv6A;€ iï´ÒÆ «Nˆç"ÎÜ#"&÷Tï´â4‚¸ójáúÑ£#µ ÕÑÀp¡?þø£ Ç-^¼xèСRúÔ©S¿ûî»]»v=}úôÀãÇ¥R9nܸʫì+dóæÍ±±±àîî¾zõjy¬ÖÖÖË–-4hЃ’““×­[÷Í7ß<¯¨˜˜žç½¼¼Jî»ÉÊÊŠÁÃÃCçéB&@¡ J` ¨v8ö»­apmãñÏgÅÓw¥µàô]¢RŠŸvçà.[-î»ÁùèH*šDë6¡/##ãþýûкuky¬*•jîܹööö°ÿþÒ—Éó|XXXRR’Nz^^^XXX|||i ÉÎξsçNtt4Ï—mrA?~üèÑ£²n[¥üùçŸ`nnþÓO?»Ð“ͺu묭­àðáÃÒbjóæÍkÚ´é°aÃrrr¦M›öúë¯ôëׯE‹“'ONKKÓ/*$$dôèÑþþþo¿ýöÀÛ¶m;tèÐk×®½Ìׇªh‚¼"%¼@‘ðå*ˆ ˆðaíYrÝiñð-àEDí­ Â‘PXwZû 3¢='¤³xíÀpÁ”=}ú”Ýiذ¡þ£AAA›6mš:u*KÉËË«[·®——×¶mÛ¤l³fÍòòòz÷ÝwŸ>}:nÜ8__߀€ÿ.]º\¾|âââÆïããЮ];ÿeË–ÉŸ(--ÍËËËËËëܹsC† iܸq¯^½ºtéâëë»`ÁFcðµð<¿lÙ2??¿öíÛ÷ïß¿cÇŽÍ›7Ÿ7ožþ¶YYYW®\©Ê+"DFFÆÄÄ@Ë–-›4iò¼luëÖíС¤¦¦³DžçAÈËË›ù$<<ܨ/ !T™x ¼"%¼HJDJJ ¢(/š“⟷€AA „E ¼Hy…Àš“¢F€ QTA „×^l‚h3S–ªî°3¢xîîîfffæèÑ£“&MòôôÔÉвeKùŸl™BŸƒÙù)77w„ .\Ò£££‡4yòä„„)=))iõêÕ¢(N›6M*–¼CBBÖ®]›››+eÎÊÊúùçŸ322~üñÇ’_ËŒ3vïÞ-OÉÌÌܰaCJJÊš5k¤ÄÄÄÄnݺeggûùù8p ä2+KTT»Ó¸qã’s6jÔèĉl“Ö­[KéìLß§OŸÖ¯_?**jÉ’%QQQ±±±;vì=z4Ë–’’2~üøÌÌL•J5yòä×_òï¿ÿ®\¹2''g„ ¿ÿþ{­Zµ^Ê‹DU,AÙÏò–2ï0•]ÔZ‡6ç¡8"ê§K°uÁ”)•ÊnݺÀ“'OzõêµdÉ’»wï–¯¨Û·o_¸paÔ¨Q‡Úºukß¾}@­V2$!!áÝwßÝ»wï¾}ûFmii 7nÔï,X²dInnîСCÿþûïÙ³g³fçÎÛ·o/áÙ×®]Ëb…N:mÙ²åÊ•+[¶laóöïß¿|ùr)çéÓ§ÙøÁëׯ˃˜*EjhÔ¨QÉ9¥ Ò&’¾}û._¾¼sçÎîîî]ºtÙ¸q#[NãêÕ«RžuëÖ%$$(Š5kÖŒ=ºaÆÞÞÞ£G^ºt)!$99Y'CU_R'‚ ïk D(ÚõP$…^o+iC^þ§"¶.˜¶¹sçÞºu+)));;{íÚµk×®­]»ö믿ޭ[·®]»ÚØØ”¾¨?þ˜­Êo¼ñFçÎ>|H)íß¿ÿªU«Ø¨™6mÚ<{ölïÞ½yyywïÞmÚ´©N!cÆŒùá‡Øý&MštíÚµÿþ999sçÎ6lX±ƒõRRR–.] ;v d+¹»»wêÔiðàÁÁÁÁ?ýôÓ¤I“Xz=lll²²²Ø²î®Š‘žžÎîÔ¯_¿äœ 4`wäó`™1cÆÈ—±rssóóó»téAÉ„††@‡XÔ( X¿~ýÝ»w±?!“Á‹  ˆ‚µ‰t*Ÿ)[ʉBÁå!äJ غ`Új×®}âĉ>ø@Zމ-Ù4aÂÿÙ³gKã ;v¬tŸ2xð`vðàÁòóVïÞ½Ùè”P¯^½ï¾ûNžÒ°aï¿þòóó¥&z!!!ìÍ:}útù*‡VVVŸ~ú)ð<Á]]]¯]»vðàÁ½{÷–òuU<6€Šk3Б’’ÂîXYYÉÓ-,,|||t2³nÖ¸æÞ½{`ggwA›ö¢/!T5°¡Ž¼‚ÈÚ®Xô– Y(’¡`H#)IQ/)mELb%¶.”ÈÞÞ~ÅŠsçÎýûï¿Ïž={áÂ…äädÈÎÎÞºuëÑ£G÷ïß/­Ôô<uêÔ‘§¸ºº²;:ã(¥Ó˜þõüüüôÛ¤.ù°°°bçoݺÅî<{öìܹsò‡¤Schh¨4ÃÆÆFÞÍ_9;;³;wîÜéÞ½{ 9¥Î#i¦F …B'³ÎŠÑwïÞecPŽ9räÈ‘bËOKKKKKsrr*KõBU/Ê×l&Å^vRº0Ë ³Ô>ѹ//Wu|UØØØ¼÷Þ{ï½÷„††îÛ·/00P£Ñ$&&N:u×®]%o^ÂÅ J¿d±#û¤ð",,ŒUO‡.Œ9òy%K­ Õ‚4ºÐàPéu•£cEš{éææ¦mÈ™À%æBÀ†"RéÊE‚)2 "BØu%d}iõgª7±p铺€áBùúúúúú>> …B„~þùç/Zi„PÕÆ™<^dŠÄï‘ÈÇèן›ç}?˜öwú.þœŽ\l]0eÙÙÙ¹¹¹„b[›5j4|øð_~ù¢¢¢üüü^v}Šm~aë‹dš5kvêÔ)…BñÇ<ïÌZ½¨Tªnݺýõ×_‰‰‰3gΔÏì›;wîÇ cÇŽe”ʘ››{{{ß¹sWdBèU P(èƒÐ½žä‰’ƒïú ô÷ÿX‘O­äßõ%,'/Žvd¤ [WÈëx¹p¨cñ–,YÒªU«–-[Þ¾}»Ø ™™™ìŽÎHº—äúõëú³+oܸÁî&L(_É¡ª† ])á)ˆ”HcWþ£fõ%øIƒ f|¯5Ìê« V ¬Vû'e0\(Þ€Ø%K–äååé<Ê®|^^^PŸ,\¸PžÉ~[[XXH“uH}sçΕÆ62{÷îíÞ½{÷îÝÏž=+%FDDlß¾ÝःÊÕ AéT½lÙ²éÓ§ß¼y3###333$$dæÌ™óæÍcŽ5ªÜ×°þôÓO)¥ß~ûí† """Ž?ÎÖy|ðàÁ›o¾iœ×ƒªlÒ’Ï%|Á"ÐljæódÝm¶Y}Iß¹}›“Ùý´±Âú³°áœl1¶.dÁì »`ÊZ·n]·nÝèèèÓ§O¿õÖ[S§NmÖ¬™‡‡GttôåË—-Z”••C‡ek+U€7æææ¸¸¸\¼xqË–-,˜={öó®äîî>iÒ¤Ÿ~úéöíÛ#GŽ;v¬¿¿\\Üùóç—/_.Âk¯½Ö©S'–922’ׯ_áÂ…ª|IîO?ýT„õë× ‚pðàÁƒêçùøã¥%ºËÁÝÝý—_~1bDnnîŠ+V¬X!ô7ÞxçwÊ]8B¨J(ZdÔbáèEJW%G>é„À’÷@ÉÁ: Yòpà—s°ì¸üâÕ”)¸ 51™KLa¸ð\[¶l?~|ddäƒ&Nœ¨ŸaĈ³fͪ˜ÊôïßÿÈ‘#;vìØ±c‡<}ذa~øa N›6íÑ£G¼zõª|ÕB°³³[´h‘jHqqq)))Uy$!ä‹/¾hݺõæÍ›ÙÕ7äÚ´ióñÇ÷èÑC'ÍŸ,6 b‰:5mÚtÆ «W¯f£&Y ¯½öÚøñã1V@È”b±“ ÿ\tDJ'v%e€¿ÒF+¬? ?“oR8E¢`&ÁÖ× AƒÃ‡Ïž=ûèÑ£R:!ÄËËkâĉò+UrǦØÊçô³Óþ,é´¤s~’rêŸÒ:wî\~ufét(ŸLY±b…››Û®]»ž={ÆkԨѹsç~øAôîÝ{Æ ÷îÝ4hPUŽ$;wîܹsBBBLLL||¼(Н½öš‡‡G±ùgÏž={öì2=Ô¦M›;vdddÄÇÇ+•Ê:uê°å¢B¦„-(:C’­çÒ¹á¢ä`\gà k«Í³é<,<"ߤ˜Q„€i,ÓDÊ×Q‘‘¡P(ªr{µqÅÅÅ………¥¥¥5lذqãÆÒÚ‚/[JJ [7iÉ’%,:IOO·°°(ë©‹çù„„„§OŸº¸¸” dee•c*AY©Õꨨ(ìþGUÓÀà**ìWØâwá©ÙÛ/ÃŒ}ÒÜÝhdñGN½1%º*üØ`—-dKÓ–¶.”JíÚµ ®ÞX1˱¡R©ôôôÔ¿´¦Ž ˆB¨JáE  ® íKÐ(€©@®>îÛ.ÂìC RY'„¬ A»aÁ »€BU{Ú±bÑR -’>óÌÜ_tx-¸ÕÙ\ú Ç. T>Ç)•ÊÜÜÜ ›W‚BÏ#ŠÚs½no[g d­²†Ê–m"´°Y¨4OlTè»Çp¡J³¶¶=z4<çšÕÇq*•*--­Štñ „^e u&Hm:#‰n«®Â€C6S ™s† èå²²²š3gNe×Âø8޳´´LJJÂp!TéŠLtÔ‰нzÕëŒ ²;òð´¯c áBµ¨š²¶¶ÎÈÈˆŽŽ®ìŠ „^u¢‚"ûG‹þ nåÿ¨Þ&ìOZ¤Ï¯>ÍÔ•ý[På°´´´±±yøð!¥´^½z•]„Ы‹µ.èhЛ')ß„=Je÷ Q‡}îÕu17n…+† ¨r( A¢¢¢’““ÝÜÜ\\\pä#B¨âiÇPíâ Å.¢ MH1l+E "PD–Døšé/ÖWa¸€*J¥rrrR©TÏž=»uëV~~¾ Ô4¦!„ªüœ!eÝ¤ØÆÆN•ïí˜Ñ®ö³>Ms½Ý-ªÂêLF«:¢Ê$Š¢F£Ñh4ùùùFE BÕ!D¡P˜™™©T*33333³*u¢ÄUQuÅqœ¹¹¹R©477—bŒBÕ»^!„ã8ŽãL£B‚áª| …ÂÄ>W!dbªP# B!„ª& B!d† !„2ÄB€áB!„ Àp!„B`¸€B!0\@!„. „BÈ B!d† !„2ÄB€áB!„ Àp!„B`¸€B!0\@!„. „BÈ B!d† !„2ÄB€áB!„ Àp!„B`¸€B!0\@!„. „BÈeeW l¢¢¢*» ¯– «(}ú4??ßÓÓÓÎÎî%Õ³êÀ=V>¸ß*îí*NEAÊ·c1\@• //ïÁƒŽŽŽîîî …B©TBÊT¥”çyAâããÓÓÓëÕ«gÚ¿Ep•î·Š„{»ê{‘p;#P%HKK³¶¶öôô´°°033ã8ŽRúoJ)¥TEFãé陟ŸŸ––æááñRë\¹p•î·Š„{Û´a¸P(??ßÜܼ²kñJxöì™———•••………B¡€rü ö•T³f͘˜˜r|­‚@)U*«Á§ Šì±j§Šï·¨¨¨ÐÐPŽãÞ~ûí²V¬ ªâ{½ jðEùReeeíÞ½ûàÁƒ±±±éééÎÎέZµjÕªU¯^½5jTÙµ3YyyyŽŽŽæææåh®dØV„sssGGÇ;wî”rCžçÏž={äÈ‘G¥¦¦RJœœj×®УG•JUŽÊT€ Þc«V­ÊÏÏ/M±½zõjݺu9êS1ªø~»zõê†  _¿~ìüZ­Uüç:00011±„ ­ZµzóÍ7ËQ¤ï•._¾wîÜýû÷KÈÀq† Æòê† §N;v¬F£—xzzÆÅÅ_½zU­VO™2åÖ­[óçÏÙ5INN^·nøùù½"á‚qÇÉrWš_f·oßž6mZNNXZZvïÞýµ×^€ÇŸ:u*+++--í‹/¾X°`¿¿¿±êf,¼Çüüüòòò¤?yž¿uëÔ¬YÓÓÓSž³V­ZƪÕË€û­"UÊç,--7n\ìCuëÖ5V}Ð+.dffN:•Å  X¾|¹|Ô±cǾúê«ÌÌÌÀÀÀ€€€×_½òjjšØ(c•F1ø%•ŸŸ¿páB+´hÑbÁ‚666Ò£&L˜7oÞ¥K—òóó-Z(´*¨à=¶páBùŸ999}úô€^½z?ÞXÕ¨¸ß*RÅ®™zõê­X±ÂXÏ‹žç ùÓO?%''€ÏÒ¥KuF8l߾ݗî”Ïó‘‘‘¹¹¹å.DÅÄÄÄȾ” %%%<<\­Vë¤'$$„††ê§›¶Ý»wÇÇÇ€««ëœ9st¢++«ï¾û®N:––XBQqqq111ןÉÎÎ~ðàAdddVVÖ Wÿ• Šbjjê;wâââJÙ¤ozž={vïÞ=×–ŒçùÈÈÈè¤ ‚œœ‘ BÉ…”)³ÉÈÍ͉‰¹wïÞ“'OØàJ#zÞq1¯hë¡C‡ÀÊÊê—_~±´´ÔÏàïïß­[·3gÎ?~<11±V­Z!!! €Ý»w·oß^žùöíÛýúõ€;vÈ›"Ο?ÿã?ÊÏÙ;wž2eŠŸŸûsÏž=S§N•>¥£Gfok×®íß¿?Käy~Íš5;vìHIIa)J¥2 `Ú´iòv¶´´4VìöíÛ“’’~ùå—»wï²Ì#FŒøöÛo-,,~ûí·¥K—²8ÉÌÌÌ××wÅŠõë×—¿–¬¬¬°°0x%÷Ï?ÿ€J¥š?¾½½½~kkë |òÉ'999'Ožœ8q"ûe³zõêƒ6iÒdéÒ¥+V¬¸~ýzzz:p×¥K—/¾øÂÁÁA§¨ðððÍ›7_¿~]JiÚ´éøñã[´hñ_aå™9sæ¥K—êÔ©³mÛ6yú_|êèè¸gÏùN–ßËËkË–-,E„   C‡±} …¢sçÎcÇŽ­]»vE½ŽJtòäɇRJ !7þúë¯å½“Ò[ñÛo¿]»vmpppnn®‹‹Ëï¿ÿÎ2‚xèÐ!i<–µµuß¾}ǯ?ý§L™MÆ;w6oÞüßÿIQ‚»»ûûï¿ÿî»ïʳ͘1ãÊ•+-Z´X¹r¥N ß}÷ÝÅ‹}}}W¯^ÍR “a²o‹„‡‡ÇÅÅ@»vítN–r«V­züø1°ó ì¼®ÿ³RzHžoÞ¼yÞ¼y,…ÂÞÿþûï•+WYT!m(/J§œ3fìÞ½[ž‡çùÇ8pÀÕÕ•%²Å7àôéÓ[·n•Jày~Û¶mÏž=kذá?þ(¢Ñhnܸ1xðàHßȉ‰‰ÝºuËÎÎöóó;pà€¡YmDGG³#Þ´iSooïçeóôôlݺõùóçÓÓÓÃÂÂ|}}€çyQóóóøá‡+W®H™EQÙºu«ôñdoÅ”””)S¦è ×eôwcvvöï¿ÿžžžþÝwß½HfÓðàÁƒ)S¦è|6ããã׬Y“““3bÄ)‘íêb[ÙC¬#[žRÂq1¯b¸Åî”<ÞÉÉÉÉÉ©|O‘››ûã? ‚P¯^½Å‹ûûû'%%8qâûï¿W«ÕßÿýÉ“'àí·ßnß¾ý½{÷ÆŒ ,èÒ¥ HAÀ²eËX¬àëë;tèÐöíÛÇÄÄ;vì÷ß‹‹9räÞ½{uÚÕ7mÚäéé9mÚ4ŸS§N&$$ìß¿Ÿâää4sæÌ–-[^»vm×®]ÁÁÁIIIû÷ïÿì³Ïض§OŸfŸ¥ëׯ'$$¸¹¹•ïåW5111ìNƒ JÎÙ AƒóçϳMäç³ÈÈHèÑ£G@@Àk¯½³~ýú˜˜˜øøø}ûö <˜eKKK›>}zvv¶™™ÙرcÛ´iC¹zõêÆsss¿ù曟þ¹fÍš/ã5V¢¶mÛ®_¿BBBºuëÆoÞ¼)Š"»íÚ5)\¸ÿ>ëiÓ¦ KÙ²e ;oy{{÷ïß¿yóæ?>þüÑ£G“’’¦OŸ¾fÍkkëŠ}MmÛ¶m¾¾¾ï¼óN£F233·oß~ñâEF³nݺE‹És&%%@Ó¦M{öìY¿~}©Ù&((ˆíÆÖ­[¿÷Þ{ÞÞÞQQQ{öì¹yóæ‰'<<<>þøc©2e6 ÉÉÉÓ¦MËÎÎæ8îý÷ßoÛ¶­½½ýÍ›7÷ïß¿iÓ&gg瀀€r—ÿ¼ãbJ^ÅpAZ÷úåM™»xñ"©0gΜ:@íÚµ?úè#žçY«xVV–•••———4¦ÁÍÍÍËËK*$99™µwyxxìØ±ÃÑѼ½½{õêeffö믿†‡‡Mœ8QþÔööö;wîdå4nܸV­Z“'O…B±k×.6~ØÛÛûõ×_ïÔ©KÛöèÑÃÆÆ&++Ëßßßdbš¸ † RkÓ“'OtêѣǬY³Ø·€««kݺu‡®Ñh‚ƒƒ¥p!00099™ã¸¹sç²ãuëÖe&ÒÒÒ<8vìXc½®*¢nݺÎÎΩ©©òpµÄ˜››ççç_½zuذa,=$$ ›F˜––Ɔ¹¸¸,[¶¬FàååÕ©S'…Bqøðáû÷ï:thèС•ñÊ*ëí’<ž?þèÑ£cbbnÞ¼©Ÿ¹sçÎßÿ½¼Ë ==õì´jÕjñâÅlù—Ö­[ùå—AAAÇgéeÊ\-dddü÷ßúé–––M›6e÷·oßξùÇ?dÈ–Ø AƒöíÛ³.ÈÕ«W¿ùæ›/2³Cÿ¸˜˜Wq¨cZZ»cð»àÝe IDATäQnRpùòeyúرcûí·ß~û­4ïÙ+,Z´ˆÅ ’yóæ±6MKî7ÞÇýúõcÏÕ¼ysù\£:uê4iÒäCr\]]¯]»vðàÁ½{÷¬^5"õβ™“%†ƒ<{öLç¡¡C‡Ê1¸¸¸°æÖcŰUeüüü¤XéÖ­+™µR˜ž¶mÛBÑÐóÚµk0räH •>ì]íëëkeel„ L™2…Å ’É“'³æ=) :t¨üâÇõìÙ ®î¨“y̘1:礻wï²îÎqãÆÉOó,PEQZŸ L™«…G}]œ9sæHyØ»¨I“&R¬ÀxzzŽ7rssccc_¤úÇÅĘòk{©a³|—×* ??? ‹¼¼¼uëÖ:ujذa:ujРA™Z¨¤P@933³fÍš%%%é‡ -[¶”ÿinn^£F¬¬¬† êäôññ ×lcccz«Ç°3ÈšžG %u.lcnn®¿$†‹‹ HƒØyžg±—­­-;YÊÙÚÚÀ½{÷ÊQÿª¯mÛ¶Gމ‰‰ÉÈȰ³³‹MJJR©Tï¿ÿþRRRnܸѩS'J){ÇJ=R( ý ”(•ʆ ^ºtÉTwšœþ²R¤Î, [[[ùïFÚ™™™:ï=)P‹ŒŒdÏR¦Ì¦A£Ñ°Ïf±/Šýp€{÷îéïÛR*ö¸˜˜W1\:ïܹӣG—ñnnn+V¬øþûïSRR"""fÍšNNNƒþä“Otš ž'44\]]u~u1 6|øÚµk:uzøð!k¶a­P?999ÛÞæååuéÒ¥øøxÖyW/¨¢é¿%ž÷A.6]ЦOŸþ¼§Æl•)sµàãã³|ùrýté3ûàÁ6ú»Ø3º——~÷îÝr/ù*\oèU ¤õÔJ¡rè߿Ϟ=8!ŠbZZÚÿþ÷¿ÀÀÀY³f >Ü` %O–*Œ>oØôH¢Á&Vé[’µ”‰4²ÏÅÅ¥„ˆÐ$—M£FÂÃÃ;wîÌ~³²ùÆ,\¸zõ*ôV8::Jý€ø&7 ¶!>>>ÏË#M0)SæjA©T–MâûÇ(^Åp¡M›6–––¹¹¹×¯_×h4òYpr·oßfßn½{÷–O‘Ð_àHjÁÖaii9a„ &ddd\¹reûöígΜÉÎÎþî»ïºvíjpByóæÍO:•””Äxue?<==‹]Eɱžòœœœ°°°®;Êó<ëYW*•åè‘©_¿>û…0zôè­tuÓ®]»ðððµZÍvc»víÀßß_©TÆÇÇÇÅűt6a„måããsùòå´´´bÛ¢££ÀÍÍuå çñöö¾|ù²B¡X½zµÁŸ¹eÊlêׯ¯P(A&IÉÅÄİxB§ÇV>[R"¿ÆÐ«æUl ¶°°èÚµ+ÄÆÆÎ;·Ø<<ÏöÙg3fÌX¸p!ûDI'lý  IcŸÇÎήW¯^AAAŸþ9+\>(L¢ˆ4oޜݹqã†NNFsûöm0Õ•ŒËÌÌŒýÒMII‘/>¡cåÊ•lÜ¢¿¿9fî©T*6žÑàûÁ$±þ…û÷ïŸ?>??ßÃÃ]zØÒÒ’½“¯^½ÊÞöROH?pÃÃÃu äyžuU”ð#1ì<Ç5nfÓ`ffÆÆû’¥÷žôNcá©´2ž„çùêÕMc\¯b¸Ÿ}öëËß¶mÛŸþ©ó(Ïó‹/fo‹ádz=õêÕc#ætÖ6INNÞ³gN óçÏïׯߠAƒt–zÎäÕRó†|@…3fÌЙ×÷ý÷ß³i¾RHa,ÒŒ#S2räHÖ‘yêÔ©bW[;tèÐ_ý„>ú¨|ϾnnݺŦËJ²²²¦L™2räÈ3f”¯äªÏÇÇÇÎÎŽRºyóf(è‰`Øý½{÷>yò„"¿‚—ô½|ùòŒŒ ykÖ¬aív.$í¢uëÖé,6üøñ‘#GŽ9RÕX¦Ì&ƒ½êððp\\» °¥¥%[ &Í¥¥¥éD±¿ÿþ»ÁÕßMØ+.4oÞ\Z‡äË/¿œ;wîÝ»wÙBâGŽyçw~ùå°°°` (ÇqlTíÙ³g¿ýöÛ°°°ÈÈÈ={ö <øÑ£G:å7nÜ8$$äÒ¥KcÇŽ½{÷®(Š999Ge+®8;;Ë¿L=<ø Ü rŒ5ÊÑÑ‘Rºxñâ_ý522299ùܹsÓ¦M»~ýzll,[†Ë$qÇâÖB£.°tùÈ\'''v\’’’¦NzøðáØØØK—.-]º”­Ô^¯^½·ß~»b_Jõãââ†CEFFNŸ>ýßÿMOOgë²,^¼866–çùV­Z•#³É9r$ñóÏ?ÿüóÏ7oÞ¼ÿþÞ½{¥«Ô~ñÅÒxpiU±9sæüûï¿ñññׯ__·n݆ *«þUÁ«8v™5kV~~þŽ;òóó7nÜÈL¹zõêýüóÏòëÌ~ÿý÷C† ÉÉÉ b'læý÷ßÿã?äÛöïß?00ðæÍ›.\èÙ³§™™Ïó¬{ÌÒÒrΜ9òy –––]»v=sæLJJÊ·ß~ k×®}çw`êÔ©III¿ýöÛ­[·¦M›&    ã—Ö„‰‹‹KII‘¦rR©T«ÕÏ5RVjµº4ÓGÅ®M ŠâñãÇ?®ŸgРA&L(wM\]]/^üùçŸçååé¿©:uêôÖ[o•¯äJÙceÕ®];6%ÄÜÜ\>¡·N:nnnl}\yO3f̘´´´#GŽÜ½{Wg‰—%K–¼È’ŽÕb¿ÅرcN:uëÖ-ùÕ666_}õ•¼æeÊ\zUyo³÷ÒgŸ}–½{÷n•õÇŒ#_ÒÑÏϯ{÷î§OŸNJJbóÚ˜5j4nÜXg5WÇ+Úº …bÑ¢Ek֬џðíää4dÈ#GŽèLÒmÕªÕÆ›7o.½‰mllf̘!È¥ @¥RíÛ·oÊ”)îîî Ñh(¥¶¶¶;wþ믿ô--_¾|ìØ±Ò¯.ùò ‹/þâ‹/ä••JeŸ>}vîÜ)?KO­?ß=¤?‘’å”§÷îÝÛÇLJ2xðà—+€……Eff¦(Š/8b™R*Šbff¦Î2 Å"„Œ3fÉ’%ÅcdWµþ¿ÿû?¥¿—$ÅîXvmy'ÇquêÔ™1cÆ‚ Ê=µRö˜„ÂÞ“%/"õ2´nÝZçœ!56è‡ Àzjä“ Ù¼V¬Xñ‚Cô«ø~cï®b•u>ÚÏ{ Bf̘1dÈùO›nݺmÛ¶MÞTÖÌ¥Wñ{›íR^¯^½zK—.õóó“ïðZµj}öÙg:Í´ÇÍœ9³wïÞò÷dË–-W®\ɦYÉBÉÇÅ”òõRgdd( “ÙA‘‘‘>LMMurrjÖ¬™Áõsss>ÞÍÍÍXM Uî±òÁýV‘poW}/.TÑ~8dÚÌÌÌœÙj}¶¶¶e½žZ­ÎÌÌ|òäIFF†³³³É§à+Üo ÷¶iÃÖTi4MFFFfff~~~Y§')•Jsss[[[;;»Wç;÷Xùà~«H¸·«2ìŒ@!„/.àù!„B`¸€B!0\@!„. „BÈ B!d† !„2ÄB€áB!„ Àp!„B`¸€B!0\@!„. „BÈ B!d† !„2ÄB€áB!„ Àp!„B`¸€B!0\@!„. „BÈ B!d† !„2ÄB€áB!„ Àp!„B`¸ðÿíÝy|TE¾ÿÿOuw’° &D̲  ì È(.ˆ ‚âæŠÜ«.qÄ;¢¸ è0:£¨¨?¯Ê¢Ž ^YDQ/DE@Ad€°¦E²AÒÝçÔ÷“šR1$Ýx=Ì™ÓÕÕ'ÕÝ>rÞ©ªS€/Ú øu¶mÛí&œYZ·n]S‡â»W þv å÷û«ñ²üü|¯×ëñDºs"333Â?ñ —““SS‡â»W þv­:Û¶-ËJMM­ÆkŒul0"*q 5‚ïê.z€q€q€q€q€q€q€q€q€qø¢ÝœæB¶ÚtÀ›“ç),Q¶Žvk 6x”¤$èÌ4»C3Ëç©¿‰ ¨E =«wŢ݈1¶–übµ©Ø»óoÏÁf)v´[dÀ`jËBÏgÛÈ P™¢€|¶-î@a¬ŸŽc½}¨£B¶Z½+.Ú­€ºaõ®¸­¢ÝŠÊP+6ðÒ¯UTM¼ÑnEeˆ ¨9yü§¿BŒÿÚŒéÆ¡î*,‰é^5ˆ51þk“+#P+NxÍä¹Gÿév@LÚYïâr%1~©9q5`À€h7¢ìã?Žv~5â"----ÚM€¨ÉËË‹vªƒ¹ À€¸ ˆ ¨c”RJÅôüa8ý€q€q°î¢iÑ¢E»vír*¥Æ—½iÓ¦ðj£GnРAÄ[(E\ˆ´É“'W¥æµ×^Û·oßÚnOt=õÔSÿú׿ÂKFõꫯÎ;7¼ð÷¿ÿ=q¢ˆ¸iï¼óÎÑ£G«R³C‡µ,X°yóæŒŒŒo¼±Æ^=™™™¥T½zõ.½ôÒ„„Ù½{÷Ò¥K£Ý:q!â.¼ðÂð¸V¯^-"ééé­Zµ ¯yÎ9çÔF/^üÑGuìØ1vâB÷îÝgÍšå>3f̘1cDdÙ²eĈąH{å•W¶oß^D† vß}÷E©QT†¸P7æääX–•™™É-𯅔±níÚµ£Fjß¾ýå—_>pàÀŽ;6lÕªUn¿ßÁ´oßþ /,((í—_~Ù¾}ûöíÛOš4IDúö훕•õÑG‰ÈƳ²²²²².½ôR·~aaáªU«,ËŠÔ›Ô Ä…˜¶eË–Ñ£Gggg‡~ýõ×cƌٸq£ó°I“&·ß~{aaáÎ;§M›æV+))™4iRaaa\\ÜĉE$ †G˲,Ë ƒÎÃýû÷wïÞ}Ĉǯõ7¨Sˆ ±ëàÁƒcÆŒ)((ˆà>ùä“O?ýôˆ‹‹+**ºé¦›öíÛçÔ¼ùæ›ûôé#"óæÍ[³fSøì³ÏîØ±CD¦M›vÖYg‰Èû￟}á…ŠH«V­²³³³³³ßzë-§þgŸ}VTT$"ß|ó{d„¸Ëž~úé={öø|¾™3gÞzë­íÚµkÛ¶í­·Þúì³Ï*¥8à.N ”zê©§êׯ¯µþóŸÿ~üñÇ^xAD† vÕUW9Õ222²²²RRRD¤^½zÎ`Dzzºóì%—\â<Õ½{w·!.IJuëÖ‰Hß¾}/»ì²ðòÁƒ·k×NDÜñiÞ¼ùÔ©SEdÛ¶mÏ<ó̽÷Þ …ÒÓÓ}ôÑ*þ¸fÍš­Y³fÁ‚óçϯ±÷8-peDŒ ƒ?üðƒˆ¤¦¦®X±¢Ü³©©©"²aÆðÂáÇüñÇK–,yöÙgED)õä“O:5«(%%¥k×®§ÚtÀi‡¸£6oÞìLB\´hÑ¢E‹NXÇï÷ûýþ&Mš¸%Ó¦M[½zµßï‘?üáýúõ‹Lk§7âBŒ²mÛÙÉÈÈp&*žÖ:üaBB‚³|²ˆ8ó8uÄ…Õ¾}{ŸÏ …®»îº{î¹§Š¯š:uêž={œý÷Þ{oРAW\qE­µp¦`ªcŒJHHhÓ¦ˆ„¯ÈT¹Ï>ûìõ×_‘I“&µnÝÚÙ9tèÐ +j)àôG\ˆ]:u‘U«V½÷Þ{áå£Fêß¿ÿرcÝÂÇ;:u?~üã?®”òûýïC'"Û·oÏËË+÷ÔæÍ›çÌ™ãL}ÀE\ˆ]wÝu×Yg¥µž8qâsÏ=÷ý÷ßïÝ»wÉ’%øÃ²³³·mÛvå•Wº•'Ož|ðàA¯×ûøã{½Þž={Ž9RD–,Yòþûï‡633SD,˺ÿþûW­Zå®È´uëÖLžŸï¸/tذa΀…,\ƒ 4hPQQQ HNNv ëׯÿé§Ÿ:KAà".Ô iiiiii'{611±O%''»YÁ•¬ŸŸïÜ K)•••uèÐ!g¦{Q( ºˆ ˆ¾eË–µlÙÒÙÿå—_îºë.÷îY€X@\@45mÚ4##Ã}¨”òù|7/”JûH@\@4½õÖ[ §OŸ>}úôÈ7p2\ è]@Sî®Z€ wл€H«x¯ @Œ#. ¢>þøãh7ð«P+ùdïÞ½îC¥Ô¨Q£V¯^½uëÖðjÆ KMMxë'P'ãÂÓO?½{÷îr… ;vìÚµk›6m<žhöšOž|ø¼yó~ûÛßF±yi­o»í¶>øÀyxþùç_tÑE5ÊËËûâ‹/V¯^-"sçÎݵk×ìÙ³½^oT[ë:wîüÄO¸¯»îºë®»ND¾øâ âÄš:Úµk7gΜð’ÂÂÂÇ{lÞ¼y~¿ÿ±Ç{ã7¢Õ¶zóÍ7¬àñx^xá…«®ºÊ}êî»ï^¾|ùرcƒÁàòåËgÍš5~üøèµ€ãœVWF¤¤¤üõ¯uº¾þúë`0X®‚eY{öìY·nÝîÝ»C¡P%‡ÒZ8p`ýúõ¹¹¹ÆŸ{ðàÁõë×ïÛ·¯’:………>ú¨³?iÒ¤ð¬à¸è¢‹¦Nêì?ùä“~¿¿’£ýôÓO[·n­ü-PSN«¸ "J©Ë/¿\DŽ=ºnÝ:·< ýãÿèÖ­[ïÞ½‡ Ò§OŸÎ;O:µb¤ÈÏÏÿÛßþÖ©S§îÝ»<¸k×®]»v?~ü/¿üRñÇ}øá‡ýû÷ïÖ­ÛàÁƒ{öìÙ¥K—9sæ„ÏKpýßÿý_AAˆ 2d„ 'lüèÑ£G-"ÅÅÅ~ø¡[þàƒfee]{íµEEEüã»vízÑE]rÉ%çwÞ„ *&LÈÊÊ:ï¼óòóó+>Û§OŸ¬¬¬«¯¾Ú-Ù°aCøe ÈéD$..ÎÙ)..v ï»ï¾gžyæçŸvK ^z饉'†¿Ö¶í &<ÿüóyyynannî|0tèМœœðÊÙÙÙ&Lضm›[â÷û'OžüøãWlÕ’%Kœ1cÆTÒøo¼ÑÙ ¡PȲ¬£GN˜0á½÷Þs;}úÌž=ÛY)##£oß¾#GŽ\·nÝsÏ=wÇw8凾øâ‹6løÄO$&&ŠHffæ€V­Z•››ûÕW_¹?ë©§ž:|ø°ˆÜsÏ=wÞy§SØ¥K—Þ½{9²â¬§K 33³~ýú•¼ŸÏwÞyçmÚ´éçŸÖZ+¥ÂŸ½æškf̘áfff¶mÛ¶_¿~@૯¾ºõÖ[OxÀÄÄÄ!C†¼ùæ›+V¬ÈÏÏ_ÉÀéðèÛ·ozzºSrõÕW¿ôÒK^¯wРA†Ïp&©ÃqaÇŽ<ð€³¯µþå—_6mÚ´}ûvñx<“&MržZ¿~½3™àÞ{ï _?1))éöÛo¿å–[B¡ÐæÍ›/¸àq'†óù|Æ {饗6oÞlÛ¶³Ô† D¤sçÎwÜqGxåž={Ž7î…^/´,ËÝpú*çÄ…P(”ŸŸŸ––þÔøñãÃDFFFÏž=?ÿüóÿûß•pĈo¾ùf0\ºt©s±¢ˆ¬[·Î[>|¸[óÁ¼þúëSSSÝ€Ôé¸ðóÏ?Ïž=»bù¹çž;eÊ”ßÿþ÷ÎÃï¾ûÎÙÉËËs\EEEÎΆ œ¸à:zôèÎ;óóóóòòòóówîÜ)મlIDAT"¶m;q¡¸¸ø§Ÿ~‘nݺ•둞={–‹ ^¯711±¸¸¸*×Y¸u’’’ÂËÛµkW®²s^/,,¬ä€=zôhѢŮ]»>øà7.8#ÉÉÉW^yexeãªÕ€3PŽ IIIáë¯Y³Æ²¬¤¤¤¥K—&''»ån\pgV´yófgGk½xñâ_|Ñùûþdõ·lÙbY–œääÚ¾}ûŠ…Mš4ÉÉÉÙ²eK(ª|ÑFgÁÊ´´4wΦ£Aƒ_茘TN)5|øpgZ†;áLe4hP¹P@Eu8.tèÐáwÞqNœ8ñí·ß>räÈ;ï¼sÓM7¹åÎH„ÇãéÔ©ÓÉÕ¬Y3ggêÔ©³fÍröããã322ÒÒÒRSSsrrvìØQî˜"R±kád222rrrÀŽ;*¹1ÄÞ½{)Í›7¯â‘«bĈO?ý´;±~ýúŠ#œLŽ åÜsÏ= ,())™>}úðáÃÝ…;v\¶l™×ë}÷Ýw+ÿ[|÷îÝNVHOOŸ1cF÷îÝÝ•˜Ÿ~úéð (Ú¶mëõz-ËÚ²eKÅãüðà û÷ïï,óœ]I\øüóÏÝú•¿ß_¥E‹=zôX½zõâÅ‹¯»î:ç ˆŒŒŒßýîw5øS§«ÓçBÊôôôÿüÏÿ‘C‡=ûì³n¹3` ×®][ùÜ n¹å–^½z…ßµÁ9Ó»êÕ«÷›ßüFDNxÌ5kÖT,t§L›6mãÆ'lÀÖ­[~øárõkʈ#D$;;;//ω¸öÚk£{ëN@]qZ-î¸ãŽ ˆÈ+¯¼â.©äŽAL™2ÅÛè˜?~ÿþýû÷ïïÜÓȽ áÈ‘#áÕ¾þúëðK(;v‘µk×¾øâ‹å*—+q´jÕjèС"R\\|Ë-·T\#²  àæ›ov&-^~ùåçŸ~•ßw• <8111 >ñÄ'‰8zôè;ï¼³bÅŠ.L 8cVq!55Õ¹¬1L›6Í)ÌÈÈp 7nÜxã7~øá‡¹¹¹k×®1cÆÄ‰·mÛ ûöí+"}úôqæ¾üòËo¼ñÆÞ½{·lÙ2kÖ¬n¸¡âZÑúÓŸœ9ƒûÛß}ôÑ•+WnذáùçŸ7nÜÉæH>òÈ#7‘œœœÁƒÏ›7o÷îÝ@ ''ç­·ÞûÁѪU«E‹ÝqÇ5*÷TZZÚøñã/^\qq…“MÊ.ÍÊÙ?aå~ýú5iÒDD|>_øm¥\&LHHHhÚ´é¨Q£*> 8c©Êïgx2ùùù^¯·ÎM” …Bûöí;|øpÓ¦MÝ‹'OÈï÷ïÛ·/==Ý9¿VBk½ÿ~¿ßß°aÃæÍ›WñÒÊ’’’-[¶äääøýþFeff¶k×®*‹(œŠÂÂÂ=z^qÅá÷¿(×0¯×[ùʧèúë¯_¹råÉÚðÅ_Üpà "òÉ'ŸTLN€j³mÛ²¬ð»TÝé6Q9ŸÏwÎ9çœsÎ9ÆšMš41‡R*==ý×$$$tîÜ9|™©xæ™gœ!’qãÆ¬Nø:Ùµª°°p÷îÝ"¢”ÊÌÌ<|ø°sƒïýû÷G¦€ª;³â™)77÷ûï¿_¾|¹³fv¯^½zöìíFÉ_|áÜTD¾ÿþûGydþüùÑmàdˆ §¿¥K—ºÓ*6lè.í-Mš4  RJy½Þ† –ŠX?ÀèÌš»pfzï½÷þò—¿4jÔ¨}ûö÷ÜsOË–-£Ý"@œÊÜâg„S‰ œï€q€q€q€q€q€q€q€q€q€q€q€q€q€q€q€q€q€q€qT3.h­k¶ ¶UûôMï0 .â0 .â0 .â0 .â0 .â0 .â0 .â0 .â0 .â0 .â0 .â0 .â0 .â0 .â0 .â0 .â0 .â0 .â0 .â0 .â0 .â0 .â0 .â0 .â0 .â0 .â0 .â0 .â0 .â0 .â0 .â0 .â0 .â0 .â0 .â0 .â0 .â0 .â0 .â0 .â0 .â0 .â0 .â0 .â0 .â0 .â0 .â0 .â0 .â0 .â0 .â0 .â0 .â0 .â0 .â0¨f\ÐZ×l;@m«ö黚qÁ¶íê½DKµOßÕŒ ^¯×¶mú¨´Ö¶m{½Þê½¼šq!)))¨´Ö@ ))©z/¯f\ˆ‹‹óx<Á`Q bœmÛÁ`ÐëõÆÅÅUïÕ¿2¢Aƒ–e•””0*@lrÆ JJJ,ËJKK«öq”ßï?•Fäåå•””ø|¾¸¸¸jˆ€gYV0 …Bñññ 4PJUûP§Á`°¨¨(ÐÍ@ŒPJ9£ÉÉÉÕƒ8v´S àôƪŽÀ€¸ ˆ À€¸ ˆ À€¸ ˆ À€¸ ˆ À€¸ ˆ À€¸ ˆ À€¸ ˆ À€¸ ˆ À€¸ ˆ À€¸ ˆ À€¸ ˆ À€¸ ˆ À€¸ ˆ À€¸ ˆ À€¸ ˆ À€¸ ˆ À€¸ ˆ À€¸ ˆ À€¸ ˆ À€¸ ˆ À€¸ ˆ À€¸ ˆ ÀÀíÎD¶m[–¥µ.W^±Õ£”ªXâõz=žêôµÿppåO²ù`ž‚úEAo´›sI޳š§éÐ,Ø»¥>»Aܯz­òûýµÔ,Âi­Wo¼ôuÓäx©/ñ^ñ2$A–-Kޤ¨Dë‘Û³U|ň“¡w!«·^þ¦iÃ$¯”RZk[‹ˆ(çÎ(ılOq{ÜÈŽñx$AI‚OâÔË_Ÿ%’Û«uB¿;â öý|quÓFÉR/NÙZ”s&SJ´¶ETiVPbk-Z‰°=õm8-eL$Ñ'©õÔÿ¿ºi‹Æþô†U• ."áËŸTbœ$Æ+[kÑN7¸]z+û?-J¹ÙžÒ¶ÒI£‰ñ*)¨¿üI ïVI­cˆ €ZgÛöÆýñ >±Ëòèccn繈®Œ¨J)ÑZ+åtëhÑ:Þ+÷'³U¹V‚¸¨u–eí:\¿a}§7!|ˆ]k-Î<¥TØœªðÜ¥”h[;‘¡,™‰Ï+»'XÖQâ &h­ ƒ¾FJÙÚí$×R¶6€mk%¥“TÙÁlOi[î '‹••V(øª¸Ðq ¶-–-eeóðJÿØ ›–Ãþ§Å6üSuºsÜ®…² U_‹¸ˆ[‹­Eëc“”*}èÌz,›æ(eç¹(oã¼´b¢%ÕÛ:ŸgÙ¶ü§íT³ª<òC\D‚­Þ‡rÃAøŽ¨Òó°ó\D·é äòžŽÍ¥IŠJŒ“’ ü\(›öé7Ù9‡NPx7Õ$EíËÓ ×éŠÏö;OuÈPJɾÃzázùwT®ËÁ½vÕUõy¥Ä@$X¶Xö±K DDtÙC}¬ä¸n•Ȩ^ž!ç·Ìabœ4o(ͪË;x?Ù¤_ý¶õq¯ê‘¥Îm¬~< ï¯ÕåŽÙ«¥šp±G))*‘GÖëÒ¨ñ÷ulì§tž£8cÎÛ pÄ@$”Î]PÇÎUŽãD”(‘»x~ת´!Ûêu»¥ X''¨NÍ¥}º‘Ë;¨³ê{þúÁ±KAÅ=/ëòçÝêÎK­ÔÂõZ•æžÒÁˆ­}êá!žÌ†""¯}©}§#ù.*nŹÐD‹v?s]–´8_eWµóƒ¸ˆ„²eš*ùs6:Z4*ý¹[JèäCù;r%d‰Ï+-)ëø;c9çæû©öé""ï~£ç}å¹ÇSvJÑ»ˆ-–.»2lî‚„ŸÁ*\4 “DDöçIþÑʪY¶ì<$­Î’IbÛR.Üu™êÕR‰Hn¼ð¯ÈOÀ¨Løµ”å>v›Þ@LÑZ…lQJ•Þëè+GáëQR?QDdÇϺ’®Ç¿nu–òz$1^ ŠEÊú~›!¿Í(Í9gÕ—z¨¹1л ÊVk:Tù©¦½ €˜bwψ“M#}GJK¤$$ >i”¤Œù’JwŠJN°ÀÑ7;uût•/7÷Sßí‘owF=1è°ÏS…•Û©zï‚ùž•œ:Ë–-–V![Ü–VNIÙŽvFl{¨HDä7g‰CÍÖM•ˆËÑ`i‰{²ýf§þã[òØ-"%S®V ’"ú.N¸µtéki)Û—²Y[V—ª½ €H°µXöqý;[¥TÙ äøU"´ÝŸ'éiï•Ìê'ÿIk6KU©õDDöå{#N7ÿþ<ùÓÛr4 m”.çȈnÒ(Yê¹už>þ-Gx«Ã¶áŽU«rçqeWF¸ÂCC4}¾Mwi¡D¤G–l=xÒj=²Üúåÿ(?lšäß—êNÍUÛ³¥K ¹½¿šþIß`xz8±ª÷.0ˆûظƒ;!–ö8ÃzË#Ýiÿñ¦Òê/Umš¸Î¹ÕŸ¯(­öɦc£*îD ·äHPÝýŽ. ˆˆŒù\Ô6jƒáuØèOé?g¿êW¢‘`ÙbÙÚ²%d‰­•³ÈcÈÒ!KœBgDzµ­#ºÝž«'"’'ÓGJj½òu’ä™$9ADä³-²>çØ³î]ÃëïðËà K;½F5oéwT¶=îŸó™;Ÿ³óX¶¢w[lí'hËV–Vnt(+ËVÞ>¶¤tÂcóòÖ85¢«¤§)’³SÕÐ ä­[TVc‘‚bydáq- »#åqÇ\¸Nþ¹FD¤~¢<=RÅy#ýŽœÏÖ²Ë>[§×Á븠¦™»ˆ-¶V–]z/å,Bl—Þþ¨tÙçè-™|°@nxI^#-É9 eÊ5gÊÞÃrËÉ9|ÜkÝ•#BvùcNY,çgJûtiw¶|îH ˆ-îH¿HØ#be­¦ÓT¹ÏYÊÔUhÄ@­SJÕ–ØqÖ» bcôá4vìSºì3w:rœ§µÔO97¨4".j×ëmÓøÈÚÜ4WDŽýéPž©Ž%3w HͤMÓ"¯×[•#µÎãñôýÍ‘5ûÓ|á×ï»·V.×[®ØÖÄV*ì„G3%!KúdñxÌ—EqCηžÌQâ)·â³Ž²»’f[C[)zPá%"ZD[ Êó-©â Z?ãêw,üÇ+ÎD¹Å•¨ ·¬Ãö•Û+$Ï ýw«³“ªxâ ¼^ïU]â-{û [ylQQeÝ á¹áØRlOy+î”±mѶh[lKf\½ýª «8qAXÕ1¶m—””lÉ9²è»¸•;S<”šWíFAÒmü®EÁζ™I žò#C'E\DŽmÛÁ`0`0hY–æbʈPJy½Þ¸¸¸øøøøøø¸¸¸ªga0I'!!Áçó%$$h­¬žH5%|Ag_)儆ªA¸ˆ €H«Þ QÄ ¬€q€q€q€q€q€qü? +/Ù âIEND®B`‚traitsui-7.2.1/docs/source/traitsui_user_manual/images/wizard_dialog_2.png0000644000076500000240000004713314046644454027521 0ustar aayresstaff00000000000000‰PNG  IHDR$leòÄí ¿iCCPICC ProfileH‰•—TSYÇï{éEJèM"]z ½‹JH „B *6DGp,ˆˆ 2 # ŽJTÄ‚…AÀ^dPÆÁ‚¨¨Ì–°³{v÷ìÿœ{Þ/ß»ï{ßwß½çüy„Éç§Â2¤ñD‚o7zTt 7 PZL–ïäÍ_ÿ®÷Ùˆn›Ìäú÷ûÿU²ì! (áx¶•†ðYdt³ø¨\$®½FÄŸáj„åH·Í0gŽ{f8~ŽŸâŽðGðd&SÀ€ŒFâôLÉCÖAØŒÇæòC؉•Äd#\„ðâ´´ônGØ þŸòpþ–3^’“ÉäHx®—Yá=¸B~*sÝÿ¹ÿ[i©âùwh!ƒœ$ð A®zÈšU§¤ûI˜8Ï\öìüYNû„Ï3Kè3Ïl¦‡ß<‹SÂ]ç™)Xx–+b„ͳ =D’Ÿ—à/ÉŸÀp‚Ð3tž¹^ŒyÎJ ‹œçLnDÀ< SBýæ¸Kâqˆ¤æD—¤Ç4áBm,æÂ»DIa> 5DIêa'xxJâ¼pÉ|¾ÈM’“Ÿ´Pª·$.Ì •<+B6Ø<'3}ƒòIÖ„$ <À @âA:H"@€ „€übd{ˆÖŠfšpOç¯p9I"º+rŠè Ët1ÝÂÌÜ€™39÷ÉßÑfÏD»±ËhÀ. rbLmZ^@ý°Ó~‹l—Ýœëa‰™s±™m 0€¤P ÊÁP N‚Ó  ´‹à*¸ zÀ]ðôƒ!𠌃` ‚ D¨2¤éBÆd 9Až?ECqâAbh´*€ ¡R¨ª~†Z ‹Ðu¨z @£Ð[è3Œ‚ɰ<¬ëÁK`[ØöƒÃà•0΀³à\x'\WÂ'àFø"|¾ ÷ïà @‘P4”&Êe‹rG¢bP‰(j*UŒªDÕ¡ZQ¨Û¨~Ôꋦ¢éh´ÚŽf¡3ЛÐ;Ð¥èjt#ú2ú6z=Žþ†¡`T1Æ{ …á`Ö`ò0Řc˜ÌÌ]Ìæ‹¥aõ±6Xl46»»{[mÇöb±8NgŒsÄâ˜8.wwwׇÂ}Ä“ðx ¼>ÏÃçà‹ñÇñçñ}øaüA† K°'Ø„u„]„£„VÂ-ÂaŠ(KÔ':ÈÉÄ-Äbñ ñ ñ‰DÒ"Ù‘‚I\R6©„tŠt4@úD–#‘Ýɱd1y'¹ŠÜN~H~G¡Pô(.”Šˆ²“RC¹DyFù(E•2•bH±¥6K•I5JõI½–&HëJ»J¯’Î’.–>#}KzL† £'ã.ÔÙ$S&Ó"s_fB–*k.(›&»Cö¸ìuÙ9œœžœ§[.WîˆÜ%¹A*ŠªMu§²¨[©G©W¨CòXy}y†|²|üIùnùq9…¥  kÊÎ)ôÓP4=ƒ–JÛE;M»Gû¬¨¦èª˜ ¸]±N±OqRi‘’‹R‚R¾R½Ò]¥ÏÊteOåå=ÊMÊOUÐ*F*Á*kT«\Q[$¿ÈakQþ¢Ó‹©ÂªFª!ªëU¨v©N¨©«y«ñÕ¨]RS§©»¨'«©ŸWÕ j8ip5Š4.h¼¤+Ð]é©ôúeú¸¦ª¦¦X³B³[sJK_+\+G«^ë©6QÛV;Q»H»C{\GCg¹ÎZGº][Ý$Ýýºº“zúz‘zÛôšôFô•ôúYúµúO (Εw ±†¶†)†‡ {Œ`#+£$£2£[ư±µ1×øqïbÌb»Å¼Å•‹ï›M\M2MjMLi¦þ¦9¦M¦¯—è,‰Y²gIç’ofVf©fG͛˙ûšç˜·š¿µ0²`Y”Yܱ¤XzYn¶l¶|³ÔxiÂÒÃKXQ­–[m³ê°újmc-°®³µÑ±‰³9hsßVÞ6Èv‡í5;Œ›Ýf»6»OöÖö"ûÓö:˜8¤8wY¦¿,aÙÑeƒŽZŽLÇ Ç~'ºSœÓNýΚÎLçJçç.Ú.l—c.ɮ'\_»™¹ ÜÜ&ÝíÝ7º·{ <¼=ò=º=å<Ã=K=Ÿyiyq¼j½Æ½­¼×{·û`|ü|öøÜg¨1XŒƸ¯ïFßË~d¿P¿R¿çþFþÿÖåðrßå{—? Ð à4‚@FàÞÀ§AúAA¿cƒƒ‚Ë‚_„˜‡lé ¥†®=ú!Ì-lWØãpƒpqxG„tDlDMÄd¤GdadÔ’¨Q7£U¢¹ÑÍ1¸˜ˆ˜c1+ 292 364 ,5jr@IDATxí œÕþÿ?cö˜aÆmrwa—!—pŠ“9„B(CÇ­:JŽ84©H¤B¹”CŽh~'S)Tp8S£pPŒ¨…“ëÄŒaÆl3ÿïzöÞ3{î{–Y†ú¬yíy.k}¿k=ïý<Ÿý]k?ûY^Íš5Ë”„Þ½{£[·n¸í¶ÛPµjU0‘ €IgϞŷß~‹/¾ø6l€——¼‚ƒƒ3GQ£FáêÕ«ÖK  ˜$ ÈÛÛÛzEDD`éÒ¥°©Èè‘GAZZšÉºé›H€rPÝn·^JƒŽ;[×®]qåÊ•¹A$@ד€Ò ¥E^±±±™•*Uºžu³. ÈCàÂ… ð:yò¤5¨'7׎̳g±c;®~ó-2Žüdå–ix+¼ÛÞ†2:ëjµ\…o*E<þ¾ð¹©Z]¼Æ¦Ëƒ¯oñŒXú†&` j'$$9‚ûÒ?YƒÊ"DþåËÃËÏÏ:°ÌÔT¤\º„ó"L>ýÊy38%%"„P}H?ñå%*©âS5¬fÍšð÷÷/Uj´P:~‡2¬gs«ÇŽ hѺ1Ê—qÛé\Mˆ^ŠÕö{0¡[uD/˜ˆÊ Çë£;ã·xÉf$~‹'¦¾…ÐÇ_Æ!yapÏMKÀ–‘‘QhãUdtUĨfB·Ã›b;-aÂgý$Ç>AêØËVÃÝ!P·Z99ÞÂÏß›âÙÈ,6—díɵ¢ºi*2Ê-FV1¥#^™°U¬h•¹ eËÜÛ7—‡œ›ª›¦êTÑOî“É%N*ï×_µºtÕ,ÌéÃ}«¤ý¹û.½õL¤§dâ¾§ç {Qîj™ 2(#SµÏwšüyšX›²S2-®Î¥ËòfZzÉÁefž‡Ý:>iy¹ZèûèëŠ:o¦ãd[¥GPÔš¹wŸÕMËŠŒ².7|"Jª+w^ÊfÞÓÇ-#ïjrr²¹êu-]%UwMíSÑ’*[ÔMš%íÏÕŽÒ]:D'3Ó!&ùµåÔþ-ø×²O‘ ™Mº ÁËg¢¼MÙ]ÁÞ5ó4#Ú+Ÿœ)3+… Á¼GïÈÑKKØ¥ÿNEÛ’ñÏÈÿXU…ÜûW íÕ*žräŸAHÍ“øø?1¸/üUtoìß²Ë>ýÊ*»Ö *Iø’ž€•ó¶¢õƒ-°mþ2«n4‘üGîEƒG_31î+¼·h%`üuò@´ ȲmУ*VD~ ÝGú`Úì•V=¯N|†<·{ËqE¢ñÔ'Ѿ†/2.Å¿Wχ4ÏJ݆†£§Pµ¥'þ„/Èλi+þ¿ÙeSØ^µjduÓ¬F‹`XIÄñ-’ˆ5Ø]D­°ÕÀµ»¹Ö•©¤¶Õ¸Rbbbž(Ê*àö¯¤ý¹¹.ÅÕ x ƒ³gNâ¬ta³ú”GÕJåqéøÿÃKK?A‡ûÁð–·à—ÿ}‚åŸBÈý*b²#ùø ÄWIG†wMüiì@l{ãcÜ5ò ÜQ§¼U7ÎíÈ22Ò·ï#Äé¿OyÞgöáµe8“öžíÛTü©üMˆ+{žÿgV-‹CŸÏÁÒÏûÇ<…W°}õ?0ï¹DLš;uˤ#éÄ6,žwØÊ¿¯ÒEl}g æ=›†i ¢Âɯ0má*Ü1x WBüöÏ1ëY<öÒ´,ï°}oy†Ž JUQéoŒ ;†7VÆÈ¿÷GÃÕ¥M'q*ój¤Ê1Ú/`Ísóðe‡ûð÷gZÂ;ñ;iÿ<${OÃðv°û£×± ÷ã¹Evbæ’…¨Òp.þT÷·8ºæöÆÞ¤«EFHÅ=.—¸×® ò7º¿‚Ú}mû3á} ðå¿æâKwGMÂ0ç‰;p`»DaÚÚú¤¯ÕçQ$xûEÄ/õqáo­ÛPýÖÆh%Û5ë¡zu¹ù.·¾A˜8¡¨k´z(ž ;ŒWW' ¥OÆtÙÙSþŠVÈ‘€µŸ'à®G_@×fU,7}ˆ£O¿ŽŸN DšŽúï;]›JÔ#iÀãâËioáè¹>¨-mˆžš¢üU jèÝøfs âϤ E=‡m¿§†áv§`¨cipkmùÕêÖA Â2Óˆªí©¿ü`1z´×¡IkÝGÿø)Þ:pƒÛþ—ÏŠé-™(c³!°Y(þñ»D Ž<¥4S)(2Bòªß™I‰PØ®Álù,g“eS}ã)›{\(gAÀW¾ªUѪKæWdä*«¶ÕãªìõöçjCé.3~6}'ÌBhý\ÑqüÛhÜ©®cÐÚj¨굫…ír¡*^–(ÉÅj±K·;¶íMdÈÕœ+eˆàdf¶C Š®™U4“}ßâÔå.¨©¬V]T”ËØÊ—;k/˾jU$"vxû¢ª*—©Ê¨e&Òʨu§C¿*h)û’/Çå¸È<ñ1žŸðqŽ–\>žˆu`ùV"èÞV»Ýá3S Ú{‹™³«>«ÞL,{qRhri~¸íÁ‡ðóûoãÅgõµïþÜÛóvKØrpëF Pt„Ò )ÿÙ`}›¦°ó$K›¼¬¯ÿ3ïü“u2æ)ã¶C X«¯öÕ·iêÄÍ-Fª¨Ú§Ê¨².Ñrs‘cµ¤ýåp^j2¨-ugæ;]NÄ'kbNàJ—ÚÎ{Ò0å[9/\y›\¢„«™Pwyy—±åË23S]á1øõJ7ø;õê×cê>³ T°Æ¤Ä™ TYþd/$ÒP?½N<™5˪=€ýŠÄ/*qÖ/ëåÊ8ÆU6R“±_3ýÔ,Hœý sÆÞžuŸ”º§Hn*BæÕxë3/«í–±£nùL9ÿ¤ µÃ­œ"„q3'¡‘K»¥›™vÕ¾ªpméþMz¦]Â…3‡ðþüåXQ¡Ævõcºá”q½ù-3ÚwÀ¹z `OJ’Æ‹ú¸GN1RyªŒ*[×þ€€ë“S}µ_F.8wARëjŸÊSŸ®ª¬Ë® eIû+¨žë½ß[©ÏžŠÇ©„Ƚbò:Žã gpE.²Jµþ€ÌCïcÓΟ¬¨#X}H¾Pªu±Ê…èZ/ B‰ocb‘xéJ<aÞÚ¯xg~ÚƒÞßZ½š£²%NŸ.^Uдs&6¿ùö?ƒäó øjí<Êl‰&U2JÖ½þ¾“¨'9ñ8þûÉb©·3‚kɯ®¶ï9ŠKò¡“ðÝ&LzæüïdªÕ6G»"äbîUÆ[vÂÏÇNÉñ:ŽÁU®l•†}ÀÂϾ©äT$Ÿ‰Ã{ONÂ3›~;…÷&LÀœÏö"ÅËW"îr£jEü\ÇÃå Å¢È.ª"³×=ˆßðoT=þs¾7Fž­[R&SÊŠ’ªºê×½êNlõµ¾«ëæº1RuÓTd¤ž:P¥JëWÀYa^KÚ_Õ\çÝ2¨-ã9_¿»_稹%&¾ò0ê4펱\ÄâaËR e/ôïZ ßY]¦ ”µ†Š\]&4y +6|÷öÇËOuA97Ÿjеº¢¹ï1çÅ­œZÀc¡·Z ª †ZêmV®7Z ˜Ž2–aùü™NOmñÈ3å!)“žé¼£V[DÌ1+ÿÑÉ}$²M{bâÐL¼þîlqæv2·×ð±lÕ0–·|й¿ïÞ·¢OKàÃE³±­ÏxAxð™Gùê¿0ûkWûûcrwi¿”éõhüß[Ëñ¼³²Æ]‡à¾f9ü;›ÁÅ @Àë‡~3΃tî,¼÷ìF™ýßÁëØQË SEE­Zâj»ö¯ïJéééV$tIîôV¤’¦òrû€ê†©'‹“JÚ_qê.µ²"&é20ì-¬Ôx³NJû%SÞ·á•ðÎð–Ÿœ¤Ë}M¾¾ž±Ï÷PªÏYz<–<û:Ú<ó :W÷–±Àtë'yÚ§ºU"^eÔO\òdê‰|Å/he|à›Ç¡ŒÉI;¤29¯J¨2½&ÒªE!¹Þ{ž€zå—$ô-N²ÉX„úú¿ öªº8©¤ý§îR+ëeSC:Yc*:íÈ´ËS‚ éÂÛf+ 5*ä){/©Üúi‹êö¸*—è6EÖ/_Vƒå6Çöîù®rÒvÇÏU—еóÚ–6‡Ã|Úï…‚ó®­NZ—,¯ƒ–ÐéP² £·ëD ý"Î]„t‘´£¬œ-MǯâÐOºÜåŒäDí" x!éŠnJ6V––çÅh •K,òÑjnJ¤›òmc£Ià·IÀvôèÑGæéøA#n €÷Û~”¹—<ùŸcH iB$Pò8ìXòLé‘H@“IÍH€Jž©ä™Ò# €& ’&8š‘ ”< RÉ3¥G M$Mp4#(y¤’gJ$@š(HšàhF$Pò(H%Ï”I€4 ¸OŒªé‚fÇ.xáÀ9o¤\¡¾ól wþe3Ðâ–«¨Wɳ„PÜéi¬+1Ú!Ïr$Ï kTC¸) $§¹®»G¢Äôk|›UdÄD$P8O¯×G{áÞ˜[ G7Í©i½™H€² ¨çç«äép)›]‰¬MîS¯DüÐ Üìfv¬Ø‡À.[±‘Ñ€HÀkRO"jÕ{øwÌ/2;`-´—©‘û††À1‰²©fÓ/ Ào‘ÀµEHçc^§%ÂÂ_‘™Ke¶¯ï^Á¸°P4ó8šò[<]xL$`–À5R*6¾ŠH4ÇÛÛâÝù/cþ'g±ýí 2£ß8DDŸ4Ûrz'øÍФÔ8¬ˆ-ú?ôm’ÝAkÒ÷ Ì¿ØwXÍö.Ó¾ŸÜƒ—‡WEÕªŽ×˜y³¢§‹?@ÿáó9o¸38¢Åcã¼þYåm<„zá]õg#†;}Uíÿ2öœµ;òÅëÆEáYvUûOEt¼ÌÓvýÆHtuÚv³ G$ûàcPuxdV›¤0ÖO•™\í°LìØˆèƒW ÿ‘€aÚ‚tñð·Ø Ô­a®&VÆH‰”Þ"jt/´ì‰É°vë.D­¯ Cã©á‘+ضá¬Mí­Û7aú  ëÜ³ÎÆÖ][±t˜1lbÔÜÌbqú`$ÂzÎB—ÕQصu5O\€žÍ^Àq¿q†ÍˆÄ¬µ[ñÝÞ(L¯ð&üå}8$Éaû𰘵[?[„À§`âû1¨×¾+°!;âÂv~/æ¾yþcc©ò ¦õ†]?t¬\‡[èf*öoüïô>r{½ÿQ4~uéh¡ö93“÷/‡—×p|“œsÿõØÚ¿´?B~s=ªb¿cÚ‚ä`Ö5+<.~1n3Þ”.Ýg˧¢Kó†é2«WK—îÍÍ8b‰Lš¸‰×§ÞæMÚáÑ'çËöxcêƒhÞ°9îõWÙNFºÛÅûìÚ52ï|6Å˫ߓü7ñÍñTÔéõ2NÆŸÄ#¡rÕ¦ðسþDã°3H’‚˜5½Bš y§ñüôæØ}hÒÓ•—ÿTE¿ãCÄãèÓº*`kŽ×wE!j×p8ŠãŸ_Ï„¡ƒaÛkè epé_aÎö/ Eë9î" x€L }ÝSzZÎYïYþUçmkþ帗 # -H65éòËê2åW¯ì¬ònšU¹n]Ù÷’\"Ó<Õœ¦vוæÊ«\_ä)gJuŸv¾r=ô–ìsÉ©¸x$ ãš5ë N:h3àËÐåR¾Î¸Le”«Xø9YöTEŸ·a[ø$ JEô›2*6+ m®Ú0! õäHÕ“vxuO¢5½³šbÊñz­üT®Nªˆòòýìv·£Ññ£cã€o—º™HÀmAòkØ^b`ÖÊݹÚu„÷ÇÔ%â°«Ot‰pÜJ¤ž;ã¶%«ŽÀ$ç¾B¶*ù¸©ÛÅsV·QîÅúiaø°ÃR|'Q’Lí„>“Iêvׯœn¥¼5”È­9^Á§QÿÆ’mÀ”~Ís½æ-·6»ùR]°Ðþ/aùœáÒó²^—F‹,¦âýÑ­ò÷/óL;kÿò\ý´#ø`öhxùøÀGl†ÏÙˆ_³|þŠus$ÏéË«ÿìLp†5©û1‡diGü¡(<¯êAy–”`JªÜSÂÃFã`ïE¸³¦K@”¸Ê÷¼(¹ìô’Š9|?ÿü~úÉùJpIH¾øt^ÿåψùñ{lxs<Þ+HGï)«°b‚ŒÃMX=1ßãÞ®c‰Áì=·bÇ?bëŠÉxï™Þxc§Ã_ôKwá¾gvàöàÇï·brÒltªý¨sÌ)]:{9»{éI'pä‚ú¸°cã´ÚxxÁ9¼©lc6 ñÕÞøû{_ ÍÕ_ö­€˜Ùã@Û øñÇ=x{Â9<ÞõoâÛ¯¶ê1£Õï—€ëÊÓ"ÐüÁEØ„Úè9ndŒØ™îÄüµ»0²¹’,Ùµ“:„¡«³@ó‘ó±wf_¨‹5¼“'q]x.ÙKU¾ù  mãÜ9«wÍ@[ê¾¾ŸK=7¨†4dzÏJüöŠã›>UXyõµ¹®ì tÕeÃa³d i &<ÜÍí¦Î‹8±ë ¶µp ˆòT¼ä+cþ µÃw³no")j´sÏ0¬šûšIÓZÝú†=¾§/ÙQ¥Y3´jx BR›¡m«fVYG¬Ò {V>¶ à­ÓðfÄlüsç<ß:ó§Å`§G1¾—tG%ÍútvTì„m‡¢mÎVǿԼ9[´ïÓ Ý+ÈÚ÷ú—[(þYépß ,Ý Šâ­S^›cE¿Uêçmk–WH ܯÐb˜¹ŠÚÐîÁ©8;`Î_L•ÏY› (W¶NXW‰€†¡X"]¨×Sù~ÙU4 g·ºJJÔ|¤t·TGЙüBðÉÙO¢¨ ò¯O¾Ž‘Ká¢ÔçU—ŸÔóîÙ“H•z ¥ªyê)—£É;ëÚ°–ÍG¾ ÷ª~9+ûaàkº•«ƒ§¶žE–·OWÓŽÈÒŽD<ݱJ“dH„Òµ³TÇ]p–tïêæ0VJœá[¬Õt$ɲYÃ@µåHå*¡‰kݹ”ÞVVÊZ[—@;ŠÄd•”šTSC›eñF…êèæžï¶ÎUÐ% ßes¯Ñ/@„HÝg”SŒrñ󃻹çy´.#Þ‰R0)Iužlp£l{ü¤-nš—UÐZê!LíZGG¢÷¢qhn]è.þ~«Sè>î•Û…ûU/yVyg%1i)¹-òß.WÞŸŸO8â(«ýÉŠ"æH_àð©ìé#¾p›Wk)ðMlvD á-Ú˜3e;ʹ_¶ŠÕÖ<ÖÜAYŸÍ7<€x×^ÔÕÿÆ+ßc´UÁ€V£gÕ†è’ûžª|-еÓW—?ìÅ>•ñLº,+¡y«[‹ôcEHÓÞCô_nE‡úŽ®”2²öç¶¶5@Ç$Æëý7´Ý3ªy kf´Ã¸óš¨è,^ Kã½w>G‡Ç;#iϸo™ôÂþ!;mõÑsrzjŒ:+þ‹{ë&âÅ®ƒ ´Ry’r·µX žTÀ2¿ 7 I¥NÃ:%ÿ¦Øª¢]hhÉûuzôX6´+äÚwK÷aÏåOÝ©\aˆW Òäî¿I·hº6^fÝ:0Æêc5A%õµžä‡Ÿ»²zcP»ÆÎÜaøô{?²zb­ðÒ‡/"dÐ}qtéMÀ«…`£UÒ†^³ö`kÓi˜>ôϘ&"öö§+tßЬˆÍª:OÙ;r·õé¶y»¨Ù¥¹Fùð’¯È3óÏâ^O|ôCYdÈýE*©´ÝÏC²[ãuøH79Ï'Ž=É—ÓQ®B·<;¾ùèŸØU¶F÷kå8ì3QðªþgK).$ü_<êyH®´•‘[Qhv¥H%3†Td5,p= (!òËOŒT#l~¨CŒ¬Ò‰<‚Çï ×ð‰xi¢Ü%b„W1,„‘Îõ|ï~ïuåùý½ù½ÿ­ÌÅÑ=}ñÅ®ï”Ö+6LDï^mA9ú½ž¥sܤÒá~ÖjCý¶¡xH^L$PZ(H%L^ç9Â%ܺ#›–éß:5žš{J%×Þ5º¤9 üæ¨ëÄ“ÄAmO(RFÍÊÉD$P8O¯FH…s,2×1E°ÝšJûÄiõ & ÚÕ+r*mŒëµT¢T¯’GËœF»ví®Wµ¬‡nh{öìAƒå‹ÕÆ›¶Ë–zÑzV@[T~†Ì (5†)£Öããõë±ÞùÚ½…>dÒöøõ¨Ó ¦nŒÏ·tQùùq' @©0<†dÇ®…#|[î㜀]'§f=&6wnQÛ¶€[1¡÷ ´¾ÕñCÛ‹òðÿ]w`küë×ú¹ó‹òÇ| ƒ€áI§‘¨®ÿ£õXYõhÙï6-’#_€9ªch¦ÊÍ1õÝ%YÓ/Ù¬_~þ’ýŒé\ùšµÐŒHà:0.H¹§f»X$Oî?|ÙÊ:‰þ®yÖªöDz(y¢™3¥ÆïÈ1§ÛÔeÑŽ§LªyÖªvÅLJ.BEGu:‡‹Å6„Ö©Š1‘òÐ ·|åÊ“¹á>X$ó³9Û15rGÖ/î9/›óÍà‚®Ã]6çÈ:³“üÚ\¢&yX3.ÆD¢Ã€p šþ6¶h†ŸÖ¾†aa´ö;<Õ%k'÷‘Xj¶7PÍèˆÎaP¯ÓQ<ÖÔ.ó–Dðe;šÞ‹µóc0 ü',ýìEtlÜTœÇe廿†{óN57ÜPT:·O ¹á/÷’²Ž¹áë/’¹àžÄÉ­2÷[x´øãQ<Øð˜5/Û™(édz㴧B:¶û¿XÿŸ¯p*ÕõšwÂÝ}CQÏ?›HakI‡£0oþ¬ÚÒk¾y-<´+ÌgIç%ˆÆ×G.ÉÃÿž}|Ê£FãÖhQOž½b2¥ÅaRH_´[ÿ †4½Á˜<öߨoã‚ä|»ëKìI’”¥ŸÇ®Ofa†Ì42ÿÏ·â»Ï'Ê4lóñú8Ç3¶›Œ{‹þ÷!–ì<*‚Ô É? õúŽÇhÔ 'ݾ1Öcr³Âõ¦øUE‡?†ÈÊOhÒ&u”ö¹($«îsÃu²†œÊÜpÇÑ2Læ†›Ú µ¤Œztíÿ½ð <›[žÆÝð¯þ&Ίعæe›„zšb$3ø¾ów„ÍÜtŒÑÍ~ÅÜécä5ëE\о†Rðù c° £±$òϨ%KJ‰[‰¶}÷`}Ì\4õôéiÖ1šû÷Ëž·>sgž ú=·³G´w{ÌIž"׸#§ÄÕtÞœz osó]6y8؇áÃ0ñé§ÑgÀ,ü÷tW¼õƒL g]wwÞs›ãñÐ?´¿§·Ìd#s¤UÆÀ7ÞÆ Ÿ§ Cã¨)Ý©1/ˆ“nb㢘g>7W†µTWmasÃÉCc›ß†ZYÒ\ ܈Mó²¥À2£îraƾó"žœ21æK{Vá½mj ¡"’ýöÈuþÜÔ±íÔÒFÇ<§òjdîLe[Sô?‡]±±ˆ•×o¾ÀüѱnæP,´¦J2U3ýþÖ¤4‰r¦GÅÖ­[%ÂÙŠOÞ}}Cª ÇÊh7Hfýü€[@cGÌV™ {¤L¡$%ªJ8¾D²òèØõ6~Y0O¼#cD¥,Qq+ 17œûs­Ý<U‚¬d±º­µêF:’o£^X±ýš¨#”ñ­ÓûðÚØ`;^“GY܇ꎴèuRffß]‰3…ôž.{vb`H0&­<€¸5“<+ÊùdG;v,àiŸÉLuŽ´/b,F,Þ-IˆŠ˜–UOðˆYØ‘à(•·#ƾ†w^kåGìK²Œv¬Äg»‚ƒ'aSœêk”ÊÂÛ™eóBŸ'ßÀŒîÀÒ·¶8ŽGò ògƒŸ£Vå$›¦õÃØwöY ²³2süËuŒrLûN;ßMá9­ß4Dï‹ÂX×1üDy“œ©Àzœ¶k>‹pðë÷Ž[[]Ö\–ã‚ähdö›îÞèÚmî–±èq˜÷Áœ”Cö|¼£?ž$a¾ýÆHTÔõåõ8/³ˆT¨lMetk- ¹r%Ç,ºÛðíÞC8{>gumsÃ]ã¼lþÕÐ1˜+ãb³ÞÙ„}qÇäYC64íÒíÉøŠýæt ÃÒäш\¿k"g vát±ûÖ–úÖ‘Žœ‰ ᡨRÿnDÎ,û:bþŠ5˜xwcT­×ˆÜ€ ±LöøùB ©VmÀQKkNã¿s· Á‚õÆÌ]…ç"×#ú‹5˜T!#ÿØ)\W°sËRÌüå6D®X»–·º†ÝFNGƒذy½D<—0¾ogDÎÿ½´šã_EÜóð$ÑÎ-8"mQ]Í‚üÕnÓØ2»]¾“öcñªXtlݰP»ÕÉÆîÅÃä÷⹈5ؼaF'/EX—©8`±HǹØU¶UþúŒ·z–Ü!ð0šÕ©‰Æ ùñE˜Ø£¡uÔJ–\ó¬ù5ì‚é½e¢Ç>1ðÝ9ósà ’yẶl†6]‡á€ÛÜpVa·.šÚÎn³s^¶Ÿtçe«Ž±lÆìñƒ±cæx„õíÙŒ]¼ÉšA%åð—ˆD0V¼ñ$:5­‡† "b´Ì—8–æFíÛB‚ ÔiÚ U‡Í7·ÝîhlÃV-è‹À?Ü%ò´{U0a·tƒe{ ¾üQ®Â¤X,•Ý=Ú!(t ÄÀ_Ú×G¥[ãžáãØNáRí‡ ³G¡SûÖ¨Wцï7¿H7ì‰:£vFè5êoV[¾?–LjQ¡É7ЪÀµ0þîÂ$)óqÔaËß±íŸ#V&íÞºb¡vVa×?‰bÞ^(VKÞĈ.-P¯Q{<¹dµÅfÏÑì6\îÈoÚS"–ˆu$bÒ<ªgÒš9Ø¥=Z4­îª•Ë& Îƒ)#¥ËUp²¡y_™×íä³HUóÅË·qî³UÔ } [Ï>‚T™ƒÍÊËÊÌ5Ïš­ƽ{ãÜ*rŸ‡­8séùq³Û\ùšçeƒ= û¢¼¦!%ñ4¾ùÏrŒš>É·¬Ç’¶e¥ÅuQÎÕב­Jµƒäÿ^$[HºÕåƒÛ ­Âd%µTÊéßý;Û¿?Œ–¿~"ò¦.Cßmßc@ú.)0 ­%8ž…u±–µó_÷ì{·‚[¡FÖÙ„wJÁØ™èÒb¦»’þ‚±íÅ¡)EfvLÑY”¿¸{a?Ì¿ICêãëÅ«ÐqÆzIÇhkaíhåÖHTÝãFu*eï”ÙvdoYk f§Ju,‘ML>ƒ‹EÔ£|—ϳá™Ys{ÌÔà‰W©õË1«¬»‘äÉl%‘Ôs¦¯gJKˆÆâ•'ðÀØ!¨çkƒ`º y³?Äò+2qPºŠL’³EA¶ÒÕEìAÊzç|Ñ~è`L^±åÎïÄóš¡i€ ߯Ê~[Ðñ¹5Ò½HÁšWEŒÚÌGô‡½P]Ú’¸{1:Ý™ý X¡ªˆ?t –F<„˜wfEŒi)uùüõzV“Tó¥;º|äB ¼æ£±EØ‹ðW¯ó0‰í°%º&Þ—¶L mjA(´WѰUзœ%> §¤®¯/¯^ÆQɬgpü«è>G^J¢Ä’ª\Äñº×ãæ‹«%OÀx—­ä›|óxô–+téÒéxbæJHH”I.Ocߦå˜,Ã<Áåàß |BïDØ ï ît"â¢ðÒP¹ˆE3uÝ»¢!·C¶ÙTTµû÷FbRš•Sï¶²+«bãÎú6µ•¶`é: ÿÖê#þ\".^HBÂáhÌVõX£rŽìÜÿkß%>'cñgû$Bµ!mÛbía¹àó¤ MÆ·q‡‡ÝÑk0¶Eé.cɸ– é¯b L LŽX±Û½¢"í\m±ÕÆ2¼¶tÔ l:p ‰§ã°ræ@!ÕÈx¤òòš6Q˜p³¥B³àŠð¸åˆÉjÆjù:¶Uï‚èÕ³ñ”\WMÏ¢0ø¹<Ó§‘µ=gs^è1 }×9ºFÁƒgà‹çz:¢ùML,+ÇŠo½N˜Ô]¾¹ÚïOZu£dÎÙê-0Iš¹zH$¦Ê¡ë¤ŽX:· Ú[;|qïËø¯ÔÓ{‹ª'ãe\ Ý¢1±wOÕ»ŒÇšùÀÀptwfŒœ½¸¢÷ÂÖ¥.ƒä}#³övùÖ<>-dœK¥¢ýÙÐñ¾2¤3“ÿ1+*+Ô.ÍÇ’Ô²>ªÏ닞Ӣ1£0~ ´•úaɆç7“Šv_’}ÁýÊcÌÀnYù›ŸA#uv¼b+’ G=NS.Œà¼l%ˆõèÑ£<ÉŽ¤Ä$'“!ŸJðw\£9jNKK“€È[òL~Fء귿|!£ú‚7䶉”4» ¨æ`oõiú+†]ŽQöxûúfwIåž°!qφ iä””4é}úgç»Ú\Œz\&\æOÀñ<¤ùg°×ÓÓ²sîöŒ€  ýªØW.ž|tÊ3÷—²Á×c%r:µùÂ_^%–týÃÎæ.D®†Ë·çeýb²²¼þþœúŨÇåšË’#PÀ»RrÐ Üü›áÍÍ_ È1žtC´‰ÈC€‚” wü6 ø"¨žº¥‚éF&@A*áwGõ›™H€ôpP[­H€ à}H Ò% € ’7Z‘  @A2•.I€ôPô¸ÑŠHÀ ’¨tI$ G€‚¤ÇV$@P @¥K =$=n´"0@€‚d*]’ è  éq£ €$Pé’H@I­H€   €J—$@z(HzÜhE$`€ÉTº$Ð#@AÒãF+ (H Ò% € ’7Z‘  @A2•.I€ôPô¸ÑŠHÀ ’¨tI$ G€‚¤ÇV$@P @¥K =$=n´"0@€‚d*]’ è  éq£ €$Pé’H@I­H€   €J—$@z(HzÜhE$`€ÉTº$Ð#@AÒãF+ (H Ò% € ’7Z‘  @A2•.I€ôPô¸ÑŠHÀ ’¨tI$ G€‚¤ÇV$@P @¥K =$=n´"0@€‚d*]’ è  éq£ €$Pé’H@I­H€   €J—$@z(HzÜhE$`€ÉTº$Ð#@AÒãF+ (H Ò% € ’7Z‘  @A2•.I€ôPô¸ÑŠHÀ ’¨tI$ G€‚¤ÇV$@P @¥K =$=n´"0@€‚d*]’ è  éq£ €$Pé’H@I­H€   €J—$@z(HzÜhE$`€ÉTº$Ð#@AÒãF+ (H Ò% € ’7Z‘  @A2•.I€ôPô¸ÑŠHÀ ’¨tI$ G€‚¤ÇV$@P @¥K =$=n´"0@€‚d*]’ è  éq£ €$Pé’H@I­H€   €J—$@z(HzÜhE$`€ÉTº$Ð#@AÒãF+ (H Ò% € ’7Z‘  @A2•.I€ôPô¸ÑŠHÀ ’¨tI$ G€‚¤ÇV$@P @¥K =$=n´"0@€‚d*]’ è  éq£ €$Pé’H@I­H€   €J—$@z(HzÜhE$`€ÉTº$Ð#@AÒãF+ (H Ò% € ’7Z‘  @A2•.I€ôPô¸ÑŠHÀ ’¨tI$ G€‚¤ÇV$@P @¥K =$=n´"0@€‚d*]’ è  éq£ €$Pé’H@I­H€   €J—$@z(HzÜhE$`€ÉTº$Ð#@AÒãF+ (H Ò% € ’7Z‘  @A2•.I€ôPô¸ÑŠHÀ ’¨tI$ G€‚¤ÇV$@P @¥K =$=n´"0@€‚d*]’ è  éq£ €$Pé’H@I­H€   €J—$@z(HzÜhE$`€ÉTº$Ð#@AÒãF+ (H Ò% € ’7Z‘  @A2•.I€ôPô¸ÑŠHÀ ’¨tI$ G€‚¤ÇV$@P @¥K =$=n´"0@€‚d*]’ è  éq£ €$Pé’H@I­H€   €J—$@z(HzÜhE$`€ÉTº$Ð#@AÒãF+ (H Ò% € ’7Z‘  @A2•.I€ôPô¸ÑŠHÀ ’¨tI$ G€‚¤ÇV$@P @¥K =$=n´"0@€‚d*]’ è  éq£ €$Pé’H@I­H€   €J—$@z(HzÜhE$`€ÉTº$Ð#@AÒãF+ (H Ò% € ’7Z‘  @A2•.I€ôPô¸ÑŠHÀ ’¨tI$ G€‚¤ÇV$@P @¥K =$=n´"0@€‚d*]’ è  éq£ €$Pé’H@I­H€   €J—$@z(HzÜhE$`€ÉTº$Ð#@AÒãF+ (H Ò% € ’7Z‘  @A2•.I€ôPô¸ÑŠHÀ ’¨tI$ G€‚¤ÇV$@P @¥K =$=n´"0@€‚d*]’ è  éq£ €$Pé’H@I­H€   €J—$@z(HzÜhE$`€ÉTº$Ð#@AÒãF+ (H Ò% € ’7Z‘  @A2•.I€ôPô¸ÑŠHÀ ’¨tI$ G€‚¤ÇV$@P @¥K =$=n´"0@€‚d*]’ è  éq£ €$Pé’H@I­H€   €J—$@z(HzÜhE$`€ÉTº$Ð#@AÒãF+ (H Ò% € ’7Z‘  @A2•.I€ôPô¸ÑŠHÀ ’¨tI$ G€‚¤ÇV$@P @¥K =$=n´"0@€‚d*]’ è  éq£ €$Pé’H@I­H€   €J—$@z(HzÜhE$`€ÉTº$Ð#@AÒãF+ (H Ò% € ’7Z‘  @A2•.I€ôPô¸ÑŠHÀ ’¨tI$ G€‚¤ÇV$@P @¥K =$=n´"0@€‚d*]’ è  éq£ €$Pé’H@€ÍS³õë×{Z”åH€H ¾}ûæØ.hÃëìÙ³™eºï¿å–[Ü7¹N$@8wîœGe=ŽP¸‹H tPJ‡;k%ȇ)(ÜE$P:(H¥Ãµ’ äC€‚”î"(¤ÒáÎZI€ò!@AÊ w‘ ” Répg­$@ù  å…»H€J‡©t¸³V |PòÂ]$@¥C€‚T:ÜY+ @>(Hù@á. Ò!@A*H ?~$33ééé¸xñ".]º„+W® ###—Ü•›@™2eP¶lY”/_ðññ——Wîbnÿp® v$xãàoœKågH òɸÅ/Í«]E§ «hv‹çç+Ï÷|`z¸ëZÎwЦèÌ™3Ö…T§NT©RÅÃæ±˜"ð믿">>êD¯V­š%Pžùál|pÐ)W½áçãõÈlV¥ùö /\NÏ„™«x°ù4«ê™(ñ|÷s¾uÏw#$)åkÙ²e¾ àΠ(W¯ï¾ûΊ2 7pæ~oC’݆_µÃ WÕó=EÔ˜< àŒBËùIiÞø*ÞÛcAâùîßBŠèžï RJJ êÖ­[H˜å ZµjáøñãðTö”ȨpÕú`§yÂØUFE£ŽŽ±|¼}¿È¿6é®ìB—<ß ÅãqfqÏwéòåËàsµ=~ ,¨ÆÅŘŸ;ãôÅ2¨[Î éY= ¹ÈŠ1þ”ÛßïiÛH*\™òw:EÉÃÄóÝCPE+îùî± ]½zµˆª¯Gv⢿DÜ%@¢p+ù”¿ÍÚ¶GÿµÕŸ·mûnÇšoæ¢Å5ú*ª%Åa™!Ø•eg¯U§ùå½à'…}Ý®×´+™HHzvðAçÔ«xa–"àÖ ÏÜmáÿ¥cÍùŠ8wlmÃñìØ%þM&%H–YK/dXý]Ïj,Î{ä™G·Ri§½öCl>x ð«6]îBÏ.-`ø´sk@ÞÕ¸•cñò•¿á-òf^ãžâ°ôXTø[úÉŽsÇcflî–tÇŠíÿ@û@'·Ù¾"/9A®C*K»’zYøK^‹äh½0ªGY´…Osöf¼eý±tŒÝžo]È[¥¨Ï#›cÀÝ[t«ð²^hÕÄÞ"H_å³„ß ûUÏç=*V3“`Z‡X%FÝÄ-?,ÄäHyõ›]s¢b±œ•\áô+É8¯.©8,¯å 6ÐtåÒ.QÐvøÝÞõ¬Ü¼ÕLZó F9ØÄkÐyàdlKDûNÕó¾É÷¨‹(=ëBR ê¢*Ù›DF?nOóGòÂúh[:>Ê»;ïäzn]QQ”Ã,]¾õÊ”¢JhÍ&+‡ÙížµÏ\›Ò5O‰Q0nø=©˜h ÚôzŸŒwï¿cƒçpqxÞP_"'Û×$dì;jNÛ=;ŒÀwb´ý)ÁÑO°ŸÞ‡Å“ú!88Øz}í3$f¹JBTÄ´¬¼~c_ÃnÕ/qK®j÷­™%åF *W¾[Ñë²zÕž)‡ëåeEWD JòeE_ò j~>ïíRÓouäÕjàƒ7îðF¶>øè/¾Ö륖.»2˜Ò·,ø9ÛæWÓï-‹•ƒ}ñÞ _,èäå_É©­¢7È~åge_Ü&}«üê¿¶}Š›#bSËRuHûKhÔoö§9N¡F=GaFGààÑ3ÖŽ‚Ïá4lš5Ó"VÊuâ8¿ƒƒÇâ³Ùg¸=QÎÿ±®¼`LZ¼)ëüW~_sË›µfŸ|üßXéÆˆRðÙÒ™_ºè8KÖBû:Ôe+Cîçù ª ÕžŒCQ˱Òe»«©Mú§Â°pçH¬ØÀ_ÿ‡ÂÂñ|PS,һ؅ÀsKÖ {c;V>†¡Ý|;ÖÙ¯€ ¾vì{ç³×lGhPaÚuz¯æˆÌTªzjêþ¦ô|"›tß*8óT V³¾ mv¥£÷r;jy#ân :xï§åd ª¼!ÊÏcwù î);ú®•"NoÝï‡2°ì‚äK”×õ^˜½ê ¾±{áéþ>ïZ6—t£"#W”¤É)™¡X´×”Ÿ÷CÎpDÜY/WáŠòN,†X{ ;‡k#åÄN¬ŠÜ‰Ñ Wcó Àæ‡!|`sÜ.çpuû1Ìé†Èà‘ˆÜðªŸÞŠÞ#ÇãT…5xç/0§‹äõ›„ëCá…°1aøµìfÌí“»=¹šw7K]Nï^‰.C§;„hõmTèá—­Dް9JD9Kë}1ð_p¯äyËÇáÕDX?`Ù¹äÒâðöÂX ^øF„:êxò½ h³û´ê%:Ó,ŸówyÃKHýMŽO1W‰ë½”›ãqEµ/{tV6TŒQrIÕ"ƒ×:dûŒù:¿WßMIm¢*°[œ2°(F"ÙüøU”6[×ðÂòÃŽVeJ9UV œMª®hÀO)ùŽ8q&•÷íÞ«Øa§™ø?0ïÖÖ ¾b—ì*TK “üsêPzÖû\Îu}tGJ…]v…œÃR¥ õ£#ñdÏÖV Ÿ¹[>Ç/)ò¡zâK¹.‚±â½)h¯£ Aôšˆ½\)‡¿¶®™%ãD›RÓ±dð\Œù1x™‚d±´þÿñsk9ú¡е1R/&­Ù%cHЏ\$i X7µ>Ô߬{'þ»}ÇKä–º·RÓ­“½KÃJÙ9!4´‘µâÜ»*r‹¬ÆmVÿ>»hi­©n†¹X•üS™§L* ŠÛaÇ(+©ëźx½ƒé™jËu/”|§¢6gýÊ¢œÜA2åÎhµ>w½µîñƲ‘6AŸ‰½û¯âÉÝVãŒLÄÿšmã«´Ê_noq¨}N¿%¶pV©ü©îoi&›­¬T¿ñçìhT(ÉjAç°³ñ«Ê§²3¥9EÖáMù¯‹rnß–VoÑ jd5%îkËbL¶NKç¢ãEéWÜ8I>«J75òÖGÌÀ—cú¢…ŒÙ¬ŒŽóP6q›oZÊxbpáB,^1<=ÄÆ"66ó»Ë'¹:Dßrh ‹Ãñ.é‘ ùúõÀÃr'´¬[©#–¬Ž@?év™öÜJº \÷¥Ô¶ÆQ¤*R²ÆD\ë%´´Nf y,ÿʧt¿\뢎Iö;nÎTvv¾e«"(Ù§Æ¢2\yÉ™xb•þ™ŽQÿÎ@í¶6,i–]Îæ*'K×MŸÉnû\õ_óÒÙ6åÇü zᧇo½6,E¬Ý›«`ÖLYŸÅ‰rrç²Ê»iÅ­Ù¿H9}q‡¥`Å´=íR×…óu ß¼õ@©}³—·ý@© ’(šv‚uv!rvLÕ!Á³p¸ÙVcH§|c‡è8ìŽZ‰Ì•‘Â¨îø˜Àå‹IHJ±Ùð-ê3C’­î’³!rÌSøl_R’Žaå“]0pàœu#S£E¼¼a>°*c"v»å”Ϊê&©ûL¾Ô‘)1ɯ+¦pæ¹nãQâ*ënë¾>í~^k&Q”ÝŸ#"r*ºSÛîåÔv~~]þ¯m©¢0ÕG;®ÊxU©&[# ›Ý± ‡bÒ;QHHJBbBÖ¼ö&¯Ú‰FMkg5/ßs8+7ÿÿúíd45aOG ît GáÁ.½Ñwe,ük;ò†Î[‰Ã‰’'_ Mj‚¶‹Kÿw?ç%쾫”ÖmÑià“ˆíùV.]Ër!ŠVåIÖRøÐcHýFÏÆæ±=a“égæÆ@É_7]L;ŽÆs#ƒ­DQ$„N‹Æl¿§ÖÍé·®„‚#j€rÒÝðmÔ_DüŒn£†bqËèRý*VEޝý•4¨ J-K6©ÏU› 9öÜÉ*gžõp)cݬé,ènkµLò•ŸOögâŸÝmø·gÂ&wš_>yOH` ºzîå”›üü:Ý_ÓÂA˪Íò£"»ÒNMÎÆjÔBØä1X7ÓÕšŽ˜¹Cšªor‚ 9‡uþ»'›_€l:wú¶ÀkòeÎÔ£ÐwË\«XÇÁÏasxëZš³a žî=½WM·ò‚UÞØNÖºôÚoˆäñ¯ý<ˆ.]äÀn†dOCš\Þ¾¾"Cy“=Mòåäô÷ÏGñò/ñ=ÑÑÑhÞ¼¹G~Ûͬ€òud,Gþ¼äO]^¥ü9ïQ»]…ZËÝE¹³þ'× “+ã:.]Ì.ÈÄž)ž ›?ßÓR”’&Ý+*VÌ{žq…/MüÛåÝß7ï&¿KµÛòÏ+ʯN~qÎ÷¼­- Æ›ê÷S;Ÿ÷!ëÈlJ¨JG‹¬6‡e† ([c®ììü¬ã¹‘Wödß"sý›™¥Ü²"¡^†tÝåÕ’‚ä¢RøR½AJ€l6 r Nn’'—Üó )r¹‰ÈHkáîq—ÍÕruA©Y3˜®/r¿¾¼]µ‘»‹ÄõYzÃ^Ÿö° ß1 ÒïøÍç¡“ÀF€‚t£½#l üŽ ”IN>ÿ;>|: ÀB 55eþõ¯È¥=l Àï˜À/¿ü‚2·µï`Móü;æÀC'(ejêí .ÀV)ÀGµDIÍ2©nàc" ëA@Ý` Ï/K‚ºéÿsü؈{!ÂËIEND®B`‚traitsui-7.2.1/docs/source/traitsui_user_manual/images/ui_for_ex7.jpg0000644000076500000240000003424414046644454026522 0ustar aayresstaff00000000000000ÿØÿàJFIF``ÿÛC    #%$""!&+7/&)4)!"0A149;>>>%.DIC;ÿÛC  ;("(;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ÿÀ’b"ÿÄ ÿĵ}!1AQa"q2‘¡#B±ÁRÑð$3br‚ %&'()*456789:CDEFGHIJSTUVWXYZcdefghijstuvwxyzƒ„…†‡ˆ‰Š’“”•–—˜™š¢£¤¥¦§¨©ª²³´µ¶·¸¹ºÂÃÄÅÆÇÈÉÊÒÓÔÕÖרÙÚáâãäåæçèéêñòóôõö÷øùúÿÄ ÿĵw!1AQaq"2B‘¡±Á #3RðbrÑ $4á%ñ&'()*56789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz‚ƒ„…†‡ˆ‰Š’“”•–—˜™š¢£¤¥¦§¨©ª²³´µ¶·¸¹ºÂÃÄÅÆÇÈÉÊÒÓÔÕÖרÙÚâãäåæçèéêòóôõö÷øùúÿÚ ?­ªkú§ŒõY¼77VÊÅ ´Ž6`ˆ¾nO<œg‘躺ùn&ÿ ›á[Ëo¨ÞË ƒ"éîTw¥wRjÚô:dÏ Ö“\M¤ô@zçÖ¾ƒš,U‡Œ4µÏ.–^ñQu9îyåݽõ„B[Í­ã-´<¶¥>™#¯©øÿçÖûö+²ñ]Þ«{à8$Ö¸]KhhOÊêðÞÝÿ*ÇÊúž‰µ¥ü¶wÖÖÒÜÜ*XË“¼ ƒÎqžkÑÂã¡VŠ«=/Àâ­ƒ•:Ž [Ÿo‹þ}`ÿ¿b·Åÿ>°ß±Vî<1~o®c²·/ Ý\Cl$•“ˆ˜†(¤‚äÎÐyªöÞÕ/ ˆ‚Ô9Ô<Ãl<Åg—÷úž1ïŠìj.<ÜËïù˜:NÍ1Ÿo‹þ}`ÿ¿b·Åÿ>°ß±Nÿ„U61^-“¼R„)°†r‡`;€b¤Fjmö‰§De¹‰<±3@ÏÉ(Iª1Rv·±ÁªU)7dÕýIt¦•Úaöø¿çÖûö(û|_óëýûm4í:ÃJÓ¯õEºœjR¿––²*yQFB»1e;›$aF« ¯o j±,övìÑLÒ}exÒYÂrÅ#ÜK:…ÝéR«RÖú%¥Þ×+ØOAŸo‹þ}`ÿ¿b·Åÿ>°ß±R§†õWŒ8¶@ K>dVò›n$Álìù†[ ç$`áڣܽ¸·MÉmö¢æxÄf?x¶Ò¼õ×ÐÕ{Z?̾ñ{ödo‹þ}`ÿ¿b·Åÿ>°ß±I.yÈ‚qo h–eynbHÝ0Êå‚°9ìOCV!ð¾³=ÍͲم–ÒDŽe–Tk9 ±î=1œäzŠZ)]É}âö3Ú̃íñϬ÷ìRÿhEÿ>°ß±VŸÃóK§é’Ú[JÏu×Î÷ù˜ß(üÅñƒQ¯†5ƒ<½ …ãmÏŸ*DV¥ˆ HäÏâ¥W¢ïï/¿ÎÅ:FCý¡üúÛÿß±Gö„_óëoÿ~Å:ÛÃú¥Ð;`™œÛþúE‹÷£»ùˆù¾a…êyÇCŠE$2¼RÆÑÈŒU‘† ‘ÔØÖ‘p“²d84®Ë¿ÚÏ­¿ýûhEÿ>¶ÿ÷ìV~(Å_*&Ƈö„_óëoÿ~ÅÚÏ­¿ýûŸŠ1G* ÚÏ­¿ýûhEÿ>¶ÿ÷ìV~(Ũ,hhEÿ>¶ÿ÷ìQý¡üúÛÿß±Yø£r ±¡ý¡üúÛÿß±Gö„óëoÿ~ÅgâŒQÊ‚ÅÿíÿçÖßþýŠ?´#ÿŸ[ûö*†(Ũ,_þÐþ}mÿïØ£ûB?ùõ·ÿ¿b¨bŒQÊ‚ÅÿíÿçÖßþýŠ?´#ÿŸ[ûö*†(Ũ,_þÐþ}mÿïØ­}?KšþÌ]”±·‰ó°Ëà«qFO¡ô®gÚX\´:š€ãu«èùkŸå®^¬Þ8ÊO˜¬t„^·šPÿ·yÿøÝWžÉc‰ÚtÛ—K´QÅ"¶Ð2HÞŠ'8æus.NÔVd½rÜŸ²]é<••æ¢å}½?ÈÕÒ§{­´iç´ŽæQ§Û 2¬±9b§~TldsÏj’‹Ö÷Jöï?ÿ­Ý.h ͬ7hÒ[¥ŒRHŠpH[Un9•4ºÇƒWïé7ÇèçÿŽW+ÄTæµ›ë¢_©ªÃSµï÷¶rW–ËmlóDÚ}ÒÅ0C€œCªñ’FzQW?ἫNtËg#˜äŠBÊ}Ô#>Ù¨µ8£‚ëÄD»R(™g8QuºÉ.í³wøsžU,‡˜Écó{ãÓùô®,Ç2­†Œ=µoDÿS¿/Ëib%.{èº?7þG(ú·š@ÿ¶3ñªÏ¼}CÃŒš…܆g².»[ïpʤƒ·8 ƒŽø®ÞãJ¶Ñã–óU¸E¤P¾ ÆFCg°¯¸oæðÍéê~Ùmÿ O\8,ã_ R´·V=NQ…¥†•zNWVÖúoèuöß4!k¼³¿ûHAçy1¦Íøù¶åóŒç¢¼B@|Æã¹¢½€¡}¿…T•Gøz–ÏwqÕô6QÉhTI3¤ïC·’3Óô®­tK gy­¼K¦K#¨–uqÐu9ÇxsÁÚ®³¦ý¦Ò{DDm„JÌvƒÙO÷«e~xåçOÿ¿ÿÄÖØå…«RQ[thà¥í¡ïBó-xŽ(mü,¶‹«Z^9¼YpL¨ØàŸÌŠÆ¹Õ-nnà»itd¸M¶è޲‰qÎY×n9ã>Õ'ü+½þ~tÿûøÿüEð®õÿùùÓÿïãÿñ¹²Þ^_iýkåæþò¯Œ½ù­?Éíµ»Km3JI4ùïo¬©G¹òÀ·;3‘Fö`Bç œTzþ°º h-ÚìÂ÷òÝ”’ÞÞÓ …â0YÛ rÌÃ8äÓCþÞ¿ÿ?:ýüþ"øWzÿüüéÿ÷ñÿøŠ¸ÕË£55SU¯õ¡-c\yw3ÅöŸw¤éöZ¤wƒû:G5š£#†pÁØa²£ ë÷{ÕÝ7ÄÖ¶è÷ awçéìEnŒŽ² yPÒ»HèHVõö§ÿ»×ÿççOÿ¿ÿÄQÿ ï_ÿŸ?þþ?ÿUR¾i§SGw÷Þý:Ýþ‚„1p³QÔ«ý½Á*}šáü#+¤Œù¦ÁË›îsÔóíZV7öÚ£ê,Vx`µð›ZJå‰)ÅWw# ÆHϵWÿ…w¯ÿÏΟÿÿˆ¤‡ìŠUçÓYOP]ÈÿÐ+K/q´jYšÇë|×”?­?Èkøš Râ(⿲Ɵkeoy_´–~¡·cÿ„uÎz¿ˆ­õ%ñ!ŠÒé¯5™„8OE³ql1ÇÝ8ÆjøWzÿüüéÿ÷ñÿøŠ?á]ëÿóó§ÿßÇÿâ*”òäïí?«§ÛÉþ¸Õ¹­»•à×-¡°Ò¬¶ÞD,í/!•áH™[Íe*»"EÀå[§ôy>õÔÿ»×ÿççOÿ¿ÿÄQÿ ï_ÿŸ?þþ?ÿGöžþ~ úž#ùN[É÷£É÷®§þÞ¿ÿ?:ýüþ"øWzÿüüéÿ÷ñÿøŠ?´ðóñÔñÊrÞO½Mu?ð®õÿùùÓÿïãÿñ»×ÿççOÿ¿ÿÄQý§ƒÿŸˆ>§ˆþS–òhòk©ÿ…wâùùÓ¿ïãÿñ4»ñüüéß÷ñÿøš?´ðóñÔñÊrÞMMu?ð®üAÿ?:wýüþ&øW~ ÿŸ;þþ?ÿGöžþ~ úž#ùN[ɣɮ§þ߈?ççNÿ¿ÿÄÑÿ ïÄóó§ßÇÿâhþÓÁÿÏÄSÄ)Ëy5ÐÃuojº »RÐ |ȪyeûD¹§8«ð®üAÿ?:wýüþ&­Aàß[Â!<±‚YVx¼à¤õÆøÎ3íXWÇájE%Q~=½ ¨á«ÂWqVÕ<%>*iö]ynìp9þ3Û=«Ó$jÌŠr>Éuÿ¤òWKÿ—‰ÿê]ÿÀ¿øÍ2Ox¢Hž16‹ ¸Ã›x%‡¡)${W-ñYÿ–žÿÀ¿øÍgk^ñ!Óf¸»»Ó>ÏkÌb·O(p2HU@3Ô×_d+T¯n׿äwc3TÂÎ:M^Ý­¡å²cÌo©¢’B Œ}I¢¾©îx«cÜ>HSÃllì÷DRü²CÜŽÀ×]¾oùõ“þþGÿÅW!ðßþ@Qÿ×Ûé8®Î¾K1ÿzŸ©Ù†þH÷Íÿ>²ßÈÿøª7Íÿ>²ßÈÿøª’Šá7#ß7üúÉÿ#ÿâ¨ß7üúÉÿ#ÿâªJ(=óϬŸ÷ò?þ*óϬŸ÷ò?þ*¤¢€#ß7üúÉÿ#ÿâ¨ß7üúÉÿ#ÿ⪮¥©5ƒB«oç4»¿å¢ P«¸’[€0~ÕCþqÿ<-¿ðeoÿÅÕÆ–ÈNInÍóϬŸ÷ò?þ*óϬŸ÷ò?þ*±¿á'óÂÛÿVÿü]ð“ùámÿƒ+þ.Ÿ²Ÿò±sǹ³¾oùõ“þþGÿÅQ¾oùõ“þþGÿÅV7ü$ãþx[àÊßÿ‹£þqÿ<-¿ðeoÿÅÑì§ü¬9ãÜÙß7üúÉÿ#ÿâ¨ß7üúÉÿ#ÿâ«þqÿ<-¿ðeoÿÅÑÿ 8ÿžßø2·ÿâèöSþVñîlï›þ}dÿ¿‘ÿñTo›þ}dÿ¿‘ÿñUÿ 8ÿžßø2·ÿâèÿ„œÏ oü[ÿñt{)ÿ+x÷6wÍÿ>²ßÈÿøª7Íÿ>²ßÈÿøªÆÿ„œÏ oü[ÿñu-¶·q{!ŽÓOŽáÀÜV+èë€Þâ‡NktÚ=ÍMóϬŸ÷ò?þ*+ùˆ¦ò@%Œ€Ob{PÛɪK:$ÚCÛÆÇ #Oü$ÔÏÿÿï·þ‹z‹ +y¦4…ä* ’ €3œu#ÐѾoùõ“þþGÿÅPŸñó?û‘ÿ7©)ù¿çÖOûùÿFù¿çÖOûùÿRQ@ï›þ}dÿ¿‘ÿñTo›þ}dÿ¿‘ÿñU%ù¿çÖOûùÿFù¿çÖOûùÿRQ@ï›þ}dÿ¿‘ÿñTo›þ}dÿ¿‘ÿñUQõ ¶¿žÒÓM{£©vYQq»8ûÄz_´kô—ÿbÿâ©Ø [æÿŸY?ïäüUæÿŸY?ïäüUUûF±ÿ@ð&/þ*´kô—ÿbÿ⨷·Íÿ>²ßÈÿøª7Íÿ>²ßÈÿøª«öcþ€2ÿàL_üUhÖ?è/þÅÿÅQo -o›þ}dÿ¿‘ÿñTo›þ}dÿ¿‘ÿñUWíÇýeÿÀ˜¿øª>ѬÐ_ü ‹ÿŠ¢Þ@Zß7üúÉÿ#ÿâ¨ß7üúÉÿ#ÿ⪯Ú5úËÿ1ñT}£Xÿ  ¿øÿE¼€µ¾oùõ“þþGÿÅQ¾oùõ“þþGÿÅU_´kô—ÿbÿâ¨ûF±ÿ@ð&/þ*‹yk|ßóë'ýüÿЬýzBþÕÕ£hÙ,¤$1SQ±ÐŸCW­Zú]æîÁ­FWtªå¹ÿdŸÖ¨kßòÖÿëÀÿè2Ö´WïcꉟÂÏœ[ï­7Þ?Z+íO<÷†ÿòþ¾ÛÿIÅvuÆ|7ÿõößúN+³¯’ÌÞ§êuá¿…/_¾¾´µ‚ )mΡy7“lnƒy!‚´¿o8ØŒwÇlÖ^±âÓÿÍÅæ“kw$í¥}¹]DcìªèÆ7pìå[…Ý÷OŒëê:™«ÞÛÜê6‘]ýš9#H§dOœ¡-‚#`úëY²x&ÀXÏegwwaÌrC:[€xÝä}˜d!B™dn$àc‹Cr-cŦÊ{yâµ»þφâán.Œ¬Â&gE·‚>¤vpFeÔ|q¤éRD—«, $~s,ÍMEˆW(î³´ªÆ0T}÷ƒíoÄ‘Iz–ŽÓ¸µCÄy’Ev¡|Ÿ5Î  é€_½Ñ’îôÝG{whòF±N-ÙWÎKRJ’¸Þü¡Vùºð0h9|]aW÷-¿c°Ã%Öø‚ƒòù}Êw0p«Žs´‚t­ïäšH#—O»¶y£’B$D{YFÖdfmÙLb©¿‡•µ õí+µ½–3 W!Ýopå÷xa>þâ9Á’fÓ4;m"+Xlä–8m£‘@€Ž]ƒ³• ä`0 hm~/´Ok™^dw+¾F®`q’{ ã®ôØl®´Øíl ¼7pì -Èmòy¬¡¿và.@Qב’A5ÛjÖm{el E•'F.B‰—'ñ"³—À'—·Ä <¨^ÿE#nÜ>÷}íù×¥‚­ q|Ò·ßÛÈäÄS”š²9ë]/NÔnï%·0y!%H""?™"$JC¶í¥°@çäá~lôŽÎãG¸t‚4šÝ²®æSó(,Ùù6eˆFàvõ'­ƒáË[È^-yUŠ2ö`~VR¤}ïBjgðÄ–¢ÙµôÙ€¤‹5Ê:)}Ûˆà`z ïúÕ$þ>ÝÎoc;|?‘Ê[ÚÙ̺M‰´ŒI¨&ä3ïF3:í¸FF9çND0h/sz֑λüˆ%RË€L¦ ôǛמ9®ÌxålÖÐkÑÑ + ÞªI$Ý»qÈÏr:rx*ò;%WÚ¤A zs´ÅLqpÛüÿÈn„ŸÙþ¾ó†‹NŠ-^{)ša·˜¸äm•af#ƒÎ×ÏCCF‘£W*fòÜG }]Ïl³ƒÆW;CztÏ_kðñì®ðk¨_šÑXAXƒH«Pø6òÞo6-vÙ[xuÙ±FåW8SÀÉÎzUËOìÏóÿ"V]cùbh q$vÖ×l×F8$u’-¨¢]€aƒpd_ágèz_é°Øx‰ÚÈîKI£,¤<}B;€xç<=l/.RF‘l‡ïð[ŒzSþ«ˆ5é­¯4½B%’;xí­vDîdo´1l£’Ødíj•¼w¡Ç©\YKq³ìþhi7£sfyjÆA€É@Þ ÊæÍ¿†cTS¹Ôïoncd*ÓyJT™@Â"ñ‰ÜúçñŠš=A4¯o©^ô’$ɲ)$$³Œ®Xîfm®YA?w…Á ¿á*ŒÇf›vn/÷5­°–ܴѪ†.­æì# 8ݸòq€MkÁqçKq“,~D‚=Ò.Ÿ*¶å=ÇÍŒú©«OYKa-Œ·WÔÍ5òáñÛo/ˆþS…ǰçæÎîkj &[‰<édóäm‘²#ùUv¨ì>\ãÕ‰ïH ]NêöÂÏÅwº|éÕµ‚Mð¥RFé‘ÎȃÐîj÷W¶ÚÆ…¢[]]É Äf<´ƒìòºá³À2xÉãŒze¾©y­ÙßÇ#Z]E nFxÃew)¡èpx5§>§]>žó4ìÚk¶o¶JlmËa¾sŒŒ¶r xçXì&sW^.¾¶ƒVÔ䆿á[Ø,#u‰­¦–!É*|ÝÇÉó±@y 3Z¹Ö5-úïM3^j„Enñ\Iiç4S8bén€²À ’Í‚À®ÁðþŒ×RÜIn²y»÷C$¬ð‚à‡""J+0fÉ ÞÙ?1ÌÚv™c¥ù†ØÈÏ.7ËqróÈ@Îù¶Ñ’@Îbqɪeâ³ü4ƒÄ×ÍæJšjÏ'œ<:]@Æçà0r1EVðߊ„Æ.MVÛ\¹]@Ù½üŠ$Sn÷ &ÄÈå1ã<”'9È®…t½5t»m1bQiiäù1ù‡åò™Z>s“‚‹ÔóŽsL½Ñ´»ùÞââ3çºÆ¾ts¼n¡ íÚÊASûÉT‚Cr8 xø¿R[Ínî;(d°Ó,d•â{®)®ãÊâ3»¹É{nç:z¯‰.¬õØ´k->‹‰¼5ɉ>u¸c’Øöçwlsb h–艨YÖK‰N®Y˜K¹š3#v c4ZxoG³½[ÔÉrŒ¬²Ü^Í;«"Ž]ÏM'>lõÅeCãK«Æ²†ÏJ…®5&[ešì¢yÅ4ˆÎÂ2Uñ€0cÎ&ÕµéßÂP·y¬fÑÚÊÐ ™Ð‹¥‚_,;ú>ß—'”+JßÃú5¬Ö“Cn¨öQGÍc±cI'œ,Òzîç ÄßÙzoØþÉå/“öŸµmóúß7ÎÝœçýgÍŽºq@ÚxªM;K[û™ï/,RútŽv‰"šh¢µ’GÞ… %ŽDŸ‘I$gs×\Ö­¼Qsiuemö«˜-c´¶Kçhµ;;9Œ%b#„9*ƒÝw®t]"ò姸¶ŽVvÞêÌJ;ym,™ÚIÙI#‘´º¸Ï¹ðžžmn>Å4‘ÞMåíºº»¸ãØ[[ͼI ù]~ùÎA €[Ó5)u]$ÜÏn–ò¬ÓÁ$i)‘CG3FHb«Jg ëYÚ÷ü€õ¿úð?ú µ£¥iqèº,v ;NPÉ#ÈÌIgy ±ù‰8ÜÇ$ã$äœí{þ@zßýxýZ)ÿ>¨Røó‹}ãõ¢†ûÇëE}¡À{‡ÃùGÿ_mÿ¤â»:ã>ÿÈ ?úûoý'­âb^ÙÛĽ>Õ²y·÷ßfA° ÚÆÉ;óŽ8S_'˜½OÔëà &í—ˆ¬%{xÜ\A,Ë)-» ¸c‘À(’|Ê6–ÎYq÷†hMã=:-Riü½<ÛÉ$—SA"!>d)G +!óNXdciÈx,nttVp×ôãs¹–Uy6 µ¼Š¨ÌTv+„s•Â1 ó/ŒÂÞ*ÑÖ'”ÜK±ví"ÚSçe@bùz 2 ¦áó/¨È½–ž%ÒdI\ºùk»Š_¥P˰bªä†!H qVmõKK© ©%ÄrKs@ñ1TeV%X9uëŒç#"€w©.žÑ!Iäy‰°!f$ ôô¨¿·$ÿŸ Wÿ™|e]gK0"<¡¦1£¹Ufò›{àý ZÐõ+Û›ëëç†g´Ø|èížÛvâà-Ù˜¨Ù‘ ;[q¡2íÉ?çÃUÿÀG£ûrOùðÕðë¡¢Ÿ(\ç¿·$ÿŸ WÿíÉ?çÃUÿÀG®†Š9Bç=ý¹'üøj¿øônIÿ>¯þ=t4QÊ9ïíÉ?çÃUÿÀG£ûrOùðÕðë¡¢ŽP¹ÏnIÿ>¯þ=Û’φ«ÿ€] r…Ì+}V[›„…lõËœn–Ý‘GÔžLÿññoþûè·­Wû¿ˆþu”ÿññoþûè·¤Õ˜Ð'ü|ÏþäÍêJ?ãæ÷#þoXâÍž$›IòmÉ¸Ž ‹y›§ÞˆÛÖ¼¢ïäîà#Ø©£¢²ÓĺL‰#‹— ‹½KA"‰— W÷ –P6nÉuÇÞ§§ø¶ÊëQ¸´Þk£ œOm,rÊ¢8Y²¬3Òç ùFV ¢²ÓĺL‰#‹— ‹½KA"‰— W÷ –P6nÉuÇÞcx«GO+̸• ›ò¯m*˜‚mÜdsÐåöŒ0=h°ôVYñ&˜!Y— ÌÅ|„´•§R'tAw¨”ä¨:ÿxfôp\KqO¹í¤J0FÖ*¯•Ôñë@K¬¬RZ¤³<@BÎ=:tïùRnIÿ>¯þ=WY/bÔõ‰,ZuŽy%…æØ¡d$¬i†‘Ž ëžq´ìèWòêzDWSª :6À@m®Ë»iÉBvä£|ÈISÈ5¢Ð®gnIÿ>¯þ=Û’φ«ÿ€] r…Î{ûrOùðÕðèþÜ“þ|5_üzèh£”.sßÛ’φ«ÿ€GöäŸóáªÿà#×CE¡sžþÜ“þ|5_üz?·$ÿŸ Wÿº(å œ÷öäŸóáªÿà#Ñý¹'üøj¿øõÐÑG(\Ƶ¾’÷ÌÞò@ 7žÙëT5ïùëõàôk¡¹û‡éýEsÚ÷ü€õ¿úð?ú µt•ªÇÕ?…Ÿ8·Þ?Z(o¼~´WÚ÷†ÿòþ¾ÛÿIÅoêZmõƧi¨i÷¶öÒÛÃ,$OlÓ++´g³¦1^µðßþ@Qÿ×Ûé8®Î¾K1ÿzŸ©×†þN^ÓÀÖv7ÖòÁöGŽ ù—I-È1""„”ð ˆ×#i9,A¢øBçu„Rj‘5®™pÚ¢Úûh$Ûy q\…Q–'«¨¢¸®ÍÌ[Y¯æu¼E³¹º†òxL$Èe‹ËÛµ÷aW÷ITŸ½ÈÈÅHü#/—e ºŠ4ZjŘKr¬"Ia‰㽈à ±ÁÈ¥¢•Àç&😀yÖ“cí»»³ó¢o>á&ù“pÎݘõÁã­-3L¹Ó¢µ…µ)n#Š9¢\¹‘Ùƒ¹‰`æP ' 2I:4Qp3¯¢Yõ..F™IG(À˜pÊAÜEjiºH°ž{™ono®§Tç¸b*¸EUÀ.ç8ÏÍÉ8©u¨ÚiÛ$ºš8·d+:çê?•Bž%Ó$uŽ;ØØ€ª«’O â®2²GCEP28$¹ìŠO5ÿÙÿ¾E>p±¡Egù¯þÏýò(ó_ýŸûäQ΂ƅŸæ¿û?÷È£Íöï‘G: Všÿìÿß"5ÿÙÿ¾Eè,hQYþkÿ³ÿ|Š<×ÿgþùs ±yþïâ?e?ü|[ÿ¾ßú-ê5ǧýò*ÿ‹÷ÛÿE½Kwcÿ™ÿÜù½cKáû™u+©þ!cuy ãÂ-Ïš!Ð$ߌf'äÎ ²Ÿñó?û‘ÿ7©)ÊYxÞÆßÉì¡0¬bÞXl$c‰"Ÿ9îs´ 9n2T­í3Ã÷6šÜšµåüWËæîXmÌK󭺌ìxã¿;»cÚ(¸ÒxF_³ÛA&¢Œºt)žV܂ВE"ù¿1ó`;vdné‘´ŸÂ2Ý‹én577ö·0LñÛ•@Ò¤(T± *À¼rI9+¥¢‹Îj>{ë«™’ò(MÍÁ›Î0¸€¢ŒˆeW N9‚vçIn[5$4I°/”»TmÏñ|Á›'ûØíSQH Ëk&½ÖuDŽòæÎD[vI­ØS‰FX`žÜršu„Ze’ÚÂÎà3Èîän‘Ý‹»`d³1À ðÀ¬©õ½:Âf‚{˜¡“‚Á—“Ç^œÓí5»;ù¼›K˜æ“ibª½ïÒ­JÈV7(¬ÿ5ÿÙÿ¾Ekÿ³ÿ|Š|è,hQYþkÿ³ÿ|Š<×ÿgþùs ±¡Egù¯þÏýò(ó_ýŸûäQ΂ƅŸæ¿û?÷È£Íöï‘G: Všÿìÿß"5ÿÙÿ¾Eè,Y¹û‡éýEsÚ÷ü€õ¿úð?ú µ°db8Áô±õïùëõàôjé;Õª& >qo¼~´Pßxýh¯´8pøoÿ (ÿëí¿ôœWg\gÃùGÿ_mÿ¤â»:ù,Çýê~§^øQ (¢¸MÌ¿M-¿„õ‰à‘â–; Ý«+Ø‚èA¬‹yu[ ˆà¶†âÊ-Bd‚Ý5IÍÛÅ"Ç4’Hq+¬¨ŠÌ œ{¨š®!x'%ŠE(èêYHÁ Šeݵý³Û^[EsãtS ulŒƒÁäL]¼Q©µ­üñ­¢ÿcÛÉ=Ò´l~Õ²Yã!>aågìääïÆñ×oÍ{ÃsJ«ä -ÄOu©;#1óY…ÛTtmÞå=kVM#L—ìžfhÿbÇÙw@§ÈÆ1³—ƒÒ¥ŽÎÚ)‘ÛDŽ»ðÊ€½·??í0ú‘“@î?ä`Ñÿ뤿ú)«}ÿÕ·ÐÖTm ÑÍ?”$Lùm#`®x8çÓüóOþÕ·?òñýýÿëÕ'd+KþµÿÞ4ʉ¯­Y‹˜y9ÿX)>Ûiÿ?PÿßÁP2j*¶ÚÏÔ?÷ðQöÛOùú‡þþ šŠ‡í¶Ÿóõýü}¶Óþ~¡ÿ¿‚€&¢¡ûm§üýCÿm´ÿŸ¨ïà  ¨¨~Ûiÿ?PÿßÁGÛm?çêûø(jÿãâßýöÿÑoH·vÎÁâ&f88$šWÿ‹÷ÛÿE½?ãæ÷#þoRTiÿ3ÿ¹óz’€ (¢€9ÿ<¿ñ(Š8ïfY¯ÊI •É‚IA3cvôàï»ß¥Qm[ZÒìnÕü¡ý•fo¥Žäd–&yŒqo º¤AKŸ3$çœeº·†)^7’4v‰·ÆYA(Ø##Ðà‘ô&¢¹Ó¬of‚{»+{‰m›|,JÍd©#ƒ:z wñ&·}/‡5'[ýŽñoìc…ca$msüå÷aòË´cxäí篵šYn/I-Ýb˜$b&%‘|´8“ѲIÿt­1ô1îg¹}:ѧ¹ŒÅ<¦-*V8Ë 0xàU„†(žGŽ4F•·ÈU@.Ø'Ôàô€9Í[]½ðÝæ£ªÛiÏm ÛäïÇo¶]Σ<•;OÓ9Àù…ï ÂIz—ºßˆÑ~ß·ìš`ÏúJ¿ÛmÙn3ÀÎ>êé­Í¥¤Ò6ø#šLy„¾àqžÎ}éçT¶ ƒqýüÿëÕ)ia¢¡ûm§üýCÿm´ÿŸ¨ïà¨5Ûm?çêûø(ûm§üýCÿMECöÛOùú‡þþ >Ûiÿ?PÿßÁ@QPý¶Óþ~¡ÿ¿‚¶ÚÏÔ?÷ðPÔT?m´ÿŸ¨ïà£í¶Ÿóõýü5ekßòÖÿëÀÿè2ÖŒsÃ3ŠdrHV³µïùëõàôkZŪ& >qo¼~´Pßxýh¯¶<óÜ>ÿÈ ?úûoý'Ù×ðßþ@Qÿ×Ûé8®Î¾K1ÿzŸ©×†þBŠ(®rŽ¡¬Ùi“CÇÚYÕž4‚ÖYت• qœYzúÕw[GsùÐ˳c ƒ¹ãsÐOÖ^«¥Þßx‚ÂâÞòâÊ(mnIàò‹ng„ªâEnF9øzóÎZøWì¿mû%–1¨Øý—2îÛmÙwc'õMží±sœ-0:ê+…\É¡[Ù¶,WÉÔ¥…mYµB±º–a+'ïß{š·tM2KÓ’K9I†ÞáDóN… V‘b*€/ mO/h$`’À[¾‚oI†â$–6’]É"†Sû¶= AöïɧYÞZxhÝÛ¹m!lâŽRñù›‰Ú1 žH=8nãþF þºKÿ¢š«C êx}­5'E½”jÝ k‡iae’G¾ÑüŒ¦B3±²nÊÜvs{¡Ù£5Ï…LF>Óx¦ÞÜ›8rÀ;áÎàDnqó…ä@$Ú†-žW¹Ñ#†Ê6š1|Ö±˜¤xC™*’ùQœ•ì8'+˜Âzªi÷–p½›&«bl¦ +(±Bó2ˆ†Ãæ*,ûŸ,b%é» ûÿꤺL“[CeçÞÜGt¬Ï+5ÂλLXûAçyÎÁÀÝò؉ m¥ð©‹P,‹ƒ[Û™e  Æ"”òàü‡ŽW:šu–…©Ù-Ô:EªÏ£Û&èÝ£©ÆFC+ ‚Anj͛DÖ®utפ†Æ;Ø!šÝ;Dê‰p™2ù`©?i'ú±ÏÍòíhvéºo“;!–Iæ¸!%U¥•¤* Æ@/ŒàgÀÎÿahÿô ²ÿÀtÿ ?°´úYà:…_¢€(ahÿô ²ÿÀtÿ ?°´úYà:…_¢€(ahÿô ²ÿÀtÿ ?°´úYà:…_¢€)G¤é¶Ò,Öú}¬R)^8UXvêUøø·ÿ}¿ô[Ö«ýßÄ:Êøø·ÿ}¿ô[ÖrÝ ÇÌÿîGüÞ¤¨Óþ>gÿr?æõ%@Š(  æ×ôåÔŸOieG"Äìmäò•Ø)U2íØ ¸É,R^2¨™a!÷2–!+€@9l`F9<ã¡ÆÓëZÍåÍÂÚKÄVªcòå);\»ÁGÓp`à‚s‹…om´l¾h4à·ñ™T™ŸÌµgˆ’pÛ’và$.)ÙÝQ\.§á©¯§‚Km&îÆÜ[ˆím­þÆŸb—{–rH+vä;¡Ë|¹#!EuöPùWZƒý“Èónùžfï?÷Q®üÝÛö3Þ ÚÿlêO>Ú¤›`X¡HQÛ$9<¹ £ ÕˆÉ ¾«á¥…æ_,‰oK|VÖô%Wtbù#v)Gî÷ýÃŒårM«q©êPé^Nçû8œIpÐ1‹l™ "«bvŒœÁVÃ^x{Uºµ»‚]:Ñ5=5tÙ¢Žá¶Y¢™B´»gË7Ý!ÚNr5ŽÂbͨøbÙå{8l£i£ÍkŠG„9‘B©/•IÉPÂr¹ m¥ð©‹P,‹ƒ[Û™e  Æ"”òàü‡ŽW1ßøGPÔm%ÒdšÚ/>öâ;¥fyY®uÚbÀ/Ú;Îvï–i´MjçWMzHlc½¢Ù­Ó´N¨— “/– “ö’q°ÿ«üß-‰õ_ ,/2øydKxš[â¶°ÿ¡*»£É°ÑJ?w¿îg+žƒû Gÿ U—þ§øW6þÕVÏQ·ìÛûjÚH.Ù¥eû&ùg”ù›´°ÁòóåƒÆï—³  ØZ?ý¬¿ð?Âì-þV_øŸáWè  ØZ?ý¬¿ð?Âì-þV_øŸáWè  ØZ?ý¬¿ð?Âì-þV_øŸáWè  ?a³²Gû%¤ûÇÍåFvÆqõ5‹¯È[ÿ¯ÿ Ë] ÏÜ?Oê+ž×¿ä­ÿ×ÿÐe§OøÑõB—ÀÏœ[ï­7Þ?Z+ìÎÜ>ÿÈ ?úûoý'Ù×à BÂÛÃøŸSµµ‘nK¨™×bUèXzŸÊºíÍ3þ† 7ó_þ9_-¥RX©µ¹Ó‡œU(¦ÍJ+/ûwKÿ¡ƒLÿ¾—ÿŽQý»¥ÿÐÁ¦ßKÿÇ+ØUþW÷ûHw5(¬¿íÝ/þ† 3þú_þ9Göî—ÿC™ÿ}/ÿ£ØUþW÷´‡sRŠËþÝÒÿè`Ó?ï¥ÿã”néô0iŸ÷ÒÿñÊ=…_åp{Hw4|ˆZê—V2A¸Ç†ÀŒïÆ:·ö£èߘÿ ÃþÝÒÿè`Ó?ï¥ÿã”néô0iŸ÷ÒÿñÊjeö_Ü.xw7>Ô}óáGÚ£~cü+ûwKÿ¡ƒLÿ¾—ÿŽQý»¥ÿÐÁ¦ßKÿÇ(öU¿•ýÁÏæçÚ£~cü(ûQôoÌ…aÿnéô0iŸ÷ÒÿñÊ?·t¿ú4ÏûéøåÊ·ò¿¸9áÜÜûQôoÌ…j>ùð¬?íÝ/þ† 3þú_þ9Göî—ÿC™ÿ}/ÿ£ÙVþW÷<;›Ÿj>ùð£íGÑ¿1þ‡ý»¥ÿÐÁ¦ßKÿÇ(þÝÒÿè`Ó?ï¥ÿã”{*ßÊþàç‡ssíGÑ¿1þ}¨ú7æ?°ÿ·t¿ú4ÏûéøåÛº_ý gýô¿üre[ù_Üðîmý¤ž ŸÄ…Tøø·ÿ}¿ô[Ööî—ÿC™ÿ}/ÿ¡u½#ÍG“_Ó˜!$‘$©wŸZ=n±psù Ÿñó?û‘ÿ7©+,ëzGšÎšöœ›ÕA *7Lÿ¶?½Göî—ÿC™ÿ}/ÿ¥ì*ÿ+ûƒž=ÍJ+/ûwKÿ¡ƒLÿ¾—ÿŽQý»¥ÿÐÁ¦ßKÿÇ(ö•ýÃöîjQYÛº_ý gýô¿üríÝ/þ† 3þú_þ9G°«ü¯îi楗ý»¥ÿÐÁ¦ßKÿÇ(þÝÒÿè`Ó?ï¥ÿã”{ ¿ÊþàöîiÛǵÄ×­æÏ´;nê8ǹüêÏÚ£~cü+ûwKÿ¡ƒLÿ¾—ÿŽQý»¥ÿÐÁ¦ßKÿÇ)ûßÊþásù¹ö£èߘÿ >Ô}óáXÛº_ý gýô¿üríÝ/þ† 3þú_þ9G²­ü¯îxw7>Ô}óáGÚ£~cü+ûwKÿ¡ƒLÿ¾—ÿŽQý»¥ÿÐÁ¦ßKÿÇ(öU¿•ýÁÏæçÚ£~cü(ûQôoÌ…aÿnéô0iŸ÷ÒÿñÊ?·t¿ú4ÏûéøåÊ·ò¿¸9áÜÜûQôoÌ…j>ùð¬?íÝ/þ† 3þú_þ9Göî—ÿC™ÿ}/ÿ£ÙVþW÷<;›Ÿj>ùð£íGÑ¿1þ‡ý»¥ÿÐÁ¦ßKÿÇ(þÝÒÿè`Ó?ï¥ÿã”{*ßÊþàç‡siçÞ¤yõ?ýjÄ׿ä­ÿ×ÿÐe¥þÝÒÿè`Ó?ï¥ÿã•GZÖ4–Ð5`5«¥šÍÑU%Aœ+à¸ä’Õ¥5}¤[‹Ýt&s+Ôùù¾ñúÑC}ãõ¢¾Àâ ÇÔѸúŸÎŠ*™!¸úŸÎÇÔþtQ@ãê:7SùÑE©£qõ4Q@ãêhÜ}MP¸úš7SEn>¦ÇÔþtQ@ãê:7SEn>§ó£qõ?P¸úŸÎÇÔÑE©£qõ4Q@ãêhÜ}MP¸úŸÎÇÔþtQ@ãê:7SùÑE©üèÜ}OçEn>§ó£qõ?P¸úŸÎÇÔþtQ@ãê:7SùÑE©üèÜ}MP¸úŸÎÇÔþtQ@ãê:7SùÑE©üèÜ}OçE”QEAgÿÙtraitsui-7.2.1/docs/source/traitsui_user_manual/images/wizard_dialog_1.png0000644000076500000240000004324514046644454027520 0ustar aayresstaff00000000000000‰PNG  IHDR$leòÄí ¿iCCPICC ProfileH‰•—TSYÇï{éEJèM"]z ½‹JH „B *6DGp,ˆˆ 2 # ŽJTÄ‚…AÀ^dPÆÁ‚¨¨Ì–°³{v÷ìÿœ{Þ/ß»ï{ßwß½çüy„Éç§Â2¤ñD‚o7zTt 7 PZL–ïäÍ_ÿ®÷Ùˆn›Ìäú÷ûÿU²ì! (áx¶•†ðYdt³ø¨\$®½FÄŸáj„åH·Í0gŽ{f8~ŽŸâŽðGðd&SÀ€ŒFâôLÉCÖAØŒÇæòC؉•Äd#\„ðâ´´ônGØ þŸòpþ–3^’“ÉäHx®—Yá=¸B~*sÝÿ¹ÿ[i©âùwh!ƒœ$ð A®zÈšU§¤ûI˜8Ï\öìüYNû„Ï3Kè3Ïl¦‡ß<‹SÂ]ç™)Xx–+b„ͳ =D’Ÿ—à/ÉŸÀp‚Ð3tž¹^ŒyÎJ ‹œçLnDÀ< SBýæ¸Kâqˆ¤æD—¤Ç4áBm,æÂ»DIa> 5DIêa'xxJâ¼pÉ|¾ÈM’“Ÿ´Pª·$.Ì •<+B6Ø<'3}ƒòIÖ„$ <À @âA:H"@€ „€übd{ˆÖŠfšpOç¯p9I"º+rŠè Ët1ÝÂÌÜ€™39÷ÉßÑfÏD»±ËhÀ. rbLmZ^@ý°Ó~‹l—Ýœëa‰™s±™m 0€¤P ÊÁP N‚Ó  ´‹à*¸ zÀ]ðôƒ!𠌃` ‚ D¨2¤éBÆd 9Až?ECqâAbh´*€ ¡R¨ª~†Z ‹Ðu¨z @£Ð[è3Œ‚ɰ<¬ëÁK`[ØöƒÃà•0΀³à\x'\WÂ'àFø"|¾ ÷ïà @‘P4”&Êe‹rG¢bP‰(j*UŒªDÕ¡ZQ¨Û¨~Ôꋦ¢éh´ÚŽf¡3ЛÐ;Ð¥èjt#ú2ú6z=Žþ†¡`T1Æ{ …á`Ö`ò0Řc˜ÌÌ]Ìæ‹¥aõ±6Xl46»»{[mÇöb±8NgŒsÄâ˜8.wwwׇÂ}Ä“ðx ¼>ÏÃçà‹ñÇñçñ}øaüA† K°'Ø„u„]„£„VÂ-ÂaŠ(KÔ':ÈÉÄ-Äbñ ñ ñ‰DÒ"Ù‘‚I\R6©„tŠt4@úD–#‘Ýɱd1y'¹ŠÜN~H~G¡Pô(.”Šˆ²“RC¹DyFù(E•2•bH±¥6K•I5JõI½–&HëJ»J¯’Î’.–>#}KzL† £'ã.ÔÙ$S&Ó"s_fB–*k.(›&»Cö¸ìuÙ9œœžœ§[.WîˆÜ%¹A*ŠªMu§²¨[©G©W¨CòXy}y†|²|üIùnùq9…¥  kÊÎ)ôÓP4=ƒ–JÛE;M»Gû¬¨¦èª˜ ¸]±N±OqRi‘’‹R‚R¾R½Ò]¥ÏÊteOåå=ÊMÊOUÐ*F*Á*kT«\Q[$¿ÈakQþ¢Ó‹©ÂªFª!ªëU¨v©N¨©«y«ñÕ¨]RS§©»¨'«©ŸWÕ j8ip5Š4.h¼¤+Ð]é©ôúeú¸¦ª¦¦X³B³[sJK_+\+G«^ë©6QÛV;Q»H»C{\GCg¹ÎZGº][Ý$Ýýºº“zúz‘zÛôšôFô•ôúYúµúO (Εw ±†¶†)†‡ {Œ`#+£$£2£[ư±µ1×øqïbÌb»Å¼Å•‹ï›M\M2MjMLi¦þ¦9¦M¦¯—è,‰Y²gIç’ofVf©fG͛˙ûšç˜·š¿µ0²`Y”Yܱ¤XzYn¶l¶|³ÔxiÂÒÃKXQ­–[m³ê°újmc-°®³µÑ±‰³9hsßVÞ6Èv‡í5;Œ›Ýf»6»OöÖö"ûÓö:˜8¤8wY¦¿,aÙÑeƒŽZŽLÇ Ç~'ºSœÓNýΚÎLçJçç.Ú.l—c.ɮ'\_»™¹ ÜÜ&ÝíÝ7º·{ <¼=ò=º=å<Ã=K=Ÿyiyq¼j½Æ½­¼×{·û`|ü|öøÜg¨1XŒƸ¯ïFßË~d¿P¿R¿çþFþÿÖåðrßå{—? Ð à4‚@FàÞÀ§AúAA¿cƒƒ‚Ë‚_„˜‡lé ¥†®=ú!Ì-lWØãpƒpqxG„tDlDMÄd¤GdadÔ’¨Q7£U¢¹ÑÍ1¸˜ˆ˜c1+ 292 364 ,5jr9øIDATxí `SEÚþŸ6)-´ÜËý" P-ˆÈE@¡*‹‚+ ¢¢ÈmUùPVEQAüT@YXÿŠËîZ¼!(°"+_ÝPQD¨k©J)´…^ÒæÿÎIÒ&m éÊ Ï@šœ3sfÞ÷÷æ<™™œœ ºòÊ+’pÛm·áæ›oƵ×^‹ÈÈH0‘ Àù$’’‚Ÿ~ú _ý5V¯^   EEE9GQ£F!//Ïz(b" óI@ Íf³ ,ÀüùóaW=£|ÙÙÙç³mÖM$@>TÇÇápX¥A„=&&999>¹A$@’€Ò ¥EA Κ5k^ȶÙ #pòäI%''[“ÚÅr‹ìp¦Cþ¦Èûñ'äïûÍÊ ny9l¯Ep·îЬW䈳o*ELKKƒ2âÌ™3VáªU«B‰c­ZµP¥J•³WP$·¢ë+R½V›ù¹ÙÈ EˆVV—ÎØ\™b -ÝA,}Q°&µ“’’Î9ƒíL؉ÜÏ–¡–Qxµj ³sfe!óôi¤‰0… $3äWäpff&D¡ÆaR—G|”¨dIʰ† "<<¼Rê ¨ÑóZ(IñÛqX¦õì^í8Pm¯¹Õ‚½vº_&­ŸÅŽ?≛ëcýœ'ñqÕáxstw˜xÊæ§þ„Ç^øz=: w·¯S÷hKÀžŸŸVãUÏ(OĨaR"ìõT/HôË-aAáÕ!¢&yÉRÆöÀCçì))ÑQbb Ž%õPI‰“ê%y«I“&beðó§¢ëóÓD%ìr`Ïš¿aÑî¢MwÁ¤7[!ÌO×'7÷42ùPá¬Ý7„5@ˆläç»O¾†6Ï¾Ž›šU+Z¡ÛÙI0~úoâûH4V¾W©‡[ÛwA³zUÅß³¿µpF°{Ä `O‘j˜¦zFEÅÈ*¦t$È {V™“R6øöþEjðÝTÃ4Õ¦êý}3yÄIå8qÂÒÕ³Dзï­Š®Ï»îÊ{íDn¦w<ó:z%àË”#XzLÁjŸ%îv´þô¶6e§dZ\ÝÏž#uzçœÎ48,ÿÄòªÐÿá– çzÿêä'm•Á¹êÜú³5L+èœ ^øD”ÔP.MÊ:ÿØÏ+£øËôôt«äi×óì)©†kjŸê-©²çºH³¢ëóØQ¹Ï.Ñq:]bâÏ–#¿¬Å?ÞýI’Ùúæûp}5'ªÙÕq9غl¶5‰€EOÍÀ6)³múx|Úþ>ÌzøŸa\vÒ&ÌÿWn¹6ÿ/ößVSíoCûv€êO¹ò¡}Ãd,ý÷6Ü1þ5ônü²vÞýü«<Úߊñƒû¢EMé¾ä&aѬu¸fH[l˜ý®Õ6ZKþƒ·£E„k¬™ºë|0o\À.xè¹AèÐ8¢àØ·DâÃØÏÆwáå‘!˜†.÷=ƒ×ÙįX\ñÂSèÜ ù'÷ã_‹gC̳ÒÍCÇc`·P­å¦þ†/—Î)Ì»ëqÜ~S®£ø÷b pÎ!›šÀjÔ `˜f-‚a%×¶t”D@¬Éîst¡Õ¶š¸ö"Ïk%F*©m5¯”ššZ¬eðúSÑõyU]‰/óa)Ç’‘"Cؤ!ÕY³Nú/þwþgèrǃÞ®.~ÿî3¼·j7ÚߥzL¤:ŒÄڹȷ5ÄcaÃ_—⦑ᆦ `SÃ8/Ïòós±ëçO±ëØ-øó¤a;ö3ÞxwŽe?†‰ýÛH}* vU¹ûêDVÁî/^Çü/€»Æ<¶ur°qñ_0ëùTL˜9Í‚sqêð¼5k¯•GÍ ¬[ø6fMÌÆä9ƒP=ùLžû n¸w ‰Ä_`Áô‰xäç ]5×±¼×CÇŒCãš‘¨Y׆±ƒ⯟ÅÈ?DËõŦdqFƒ,ñÑqËžŸ…ÿt¹~¶l©ÛÅþYH·MÆðNÕñçob îÂó/‹:'mÆ+oÏEí–3qc3g×¼«éËsöJë—G\J{\Iå/öúJ²»|û°Õþó™øwE­ãõÇn@ÒŽÒ{Œ{z]c}Ò7ê÷0Òw<ƒ_DÄ/õqn½¶£þåWàjÙ®Ó°9ê×—“Ðï©ÖÅ·1ž|¢Z¨s´~/<;x/^[œ„Ì~­EseggLº¿X]Ž$,ÿ" 7=üb®¬mUÓïá'±ÿ™7ñÛ‘AhÚÐÕþÇŽELéõHºóчñŸÉÃþãýPkÛz±}útkƒjy@d¯[ñãWÛx,m›»Žðô0\ç åK‹Ë›Èߣ¨×¬)jK'Ì™ëú@T¶gý¾Óbôpߤ‡&6º_ÿ9þ¶c?îíxΤȡu¶ÛQçÊ^øË_nA.¹ç)¥™*‘À9{HA—µ„óT*Ô¶g2[¾ó5Y6Õ7n²Eç…| ¡òU­šˆVC2ØxzFž²j[]9®Ê^èú<6Tîs>rSœèÿÄtôº¬ÈDt~ýtWtkæš´¶ AóN°QNTÅË%9Y-v¹×¶Czùr6Iù"8Ng'Ô Q½+WfíWʾŸpäLO4TÖ¨jÈilåË•µgd_½ÚÒ#ö` E¤*çTeÔ³ÙÁ굻°Úh'ûÒO§áÌ®Ãp^ŠŸXêcÉ™C©¸¥)¬º•zÛêp¸êtªI{›ænÃjÏj׉w_žàSZŸAv~®ò'øèŸxy¢«½Î½ïÇí}®³„Í÷n] ÎÝCj52ÿ½Úú6MM`K–6Y_ÿ;{Üh½‹•ñÚ¡&¬ÕWûêÛ4õÆ-*Fª¨Ú§Ê¨²ÑòªÂçeE×çSy¥mȤ¶´íô;]Uħ1–m;ŒœžMÜ×å"1> Õ®vŸ¸&(!Ï u•—-Øî—¥Ó©Îðm8‘s3ÂÝzu⠺ά1ª[sRR™LTYõÉ^HOCýô:5í œ «¨=€#Gú/ª#ân_^W vͪld¥ãyºÂ†ÆW6–ÊnÄëc¯+¸NJ]S$Á™—h}æØnìj[þÂ)ï?iBíð*§H5Æã¯L@+vË03;φPU¸‰ ÿ&¼‰!Ù§qòØn|4û=|X½ÆÆˆú1]t‚=Á/é9¿soÞŽS§ÄxQïΑ[ŒTž*£Ê–TgDD„õÉ©¾Ú–Î[ÔkµOå©OWUÖs\IÏ]_Ií\èý6™¤N9’ˆ#IIkÅäq‡’Ž!GN²š®‚s÷GX³ù7«×±ë›åX¼[¾P'ªu²Ê‰èy]%B„À‰Ÿ¶% õtN ]‚vîÜ)ï¸Òñضü€à_¶#èà~ë§ê]Ýy:K½t÷PÊÍ͵zB§åJo%L*)aª&—¨a˜ºp²4©¢ë+MÛ•VVÄ$W&†mÂJÍ7—%eÿ¾“>²ãÕñÝa“ŸœäÊuM¡¡±Ï—Jó¾íç&âí‰o¢Ã³¯¢{}›ÌæZ?ñ(fŸV‰x«Ÿ¸Ë,‹'ò¿| å‡ ´X…2''vHcò¾ª ÆÊf":sÏ!y*¨SŽ[úêá/I×·4É.sêëÿ’~Ø«ºÔ¥I]_iÚ®´²Av5¥S0§R;œ™aJ²#WxÛíU f…e$[?mQÃOãһ͔×gΨÉr»ëJ{ï|O9±ÝõsE5$ôì,ß³ÝU¡ûƒPr^ùÚäÑK (>>¾‚Þkk»@r3p<2DŽ(s/Ë×Ò\œ ÃdÈ]•_4Ü:'À{H笊´$`GZb¹¿^L™²£–«Â ëù”É ¤% ’–a£Ñ$`&ûþýû}< tþÀç n @x_ö£’;ÿs© y @Åà´cÅ3e$@e$@A*#8F$Pñ(HÏ”5’ ”‘©Œàx @Å  UQj‹x À%K =¤,ÄÇ}…_åŽîî墬޷ôj…OîkñÕçaÿûCàZPù’eLÇI€$PAràû¹`ü†"-õ˜ý½Ú ÕîÁÈmJ/FYÛ0¼i/ôŒÛƒGÚ«›=3‘ \*Ê!H@v*0E„ãq?ÂÑóñ·Ñ³,­u}ä@ÏsYêà1$@Z¨€9$š–…•/Ä`ÌÇñE½ˆ1³æa|L$"#c°E–ÝÙ÷.FªmyÄ ÇÇ[’¥h<Æ7”UVå¨I1-9<RÔ7©21ã±òËXĸó.ö¹ :’·`Ö˜W½’?|ÚR¤¸kȈÿ‡ÏBì¬áîüáˆÛˆ/g ,(?ïË}í%®-´1r VÆ{jömúëãÅf& #P.ARËgŸÎ€Ã‘e-‘‘‡eš©Ûã±#]m9q`–¼:x謉û;¢[ðÐàIh7vîÙŠÞz÷™ŠÝh…G—O·jxtþrlœÜaÖ–÷ŽÆÇâa›0)n#Ö­š‡:K&áɶI¡,,y´^]ƒUßoÇÆ5ó‘>g4žŒU¨R6¬~˳bÝÆ5˜rÏj îÞÓÓîźï×aþ=0uØdl“µ 3¤wŽÇå³c£•—b®Ä—Éâ“#“û Ã1K檸”³±ký¬Z³kܸM?#Õ¯”u±8 ˜CÀ_÷&`ïª\¼*‹®¿êuDôô8¬{¤•µ§Ž{Nº¼˜¸ ³GvsíIŽƒ’ˆTƒ=¬!ú¿°ÉålT+¡vïÛ$¯ùU×¢u뒧çÄÍDßö*¿5^œò6ú¬ßŒGÚcȧɸSöÚ8݈á÷ÉöœéÙ’3o¾pZÊ«VOÍÆÔ%Ëñ׆ Z”/zÔC=çïÈ•âÛ¿ø»ì˜Ž CcPK¶[>6ŸÍYíûÓзa4Þü>Ðe›åràǿÔÍb„O¯v<…æåˆÊ®…#ðtγX1ª­OÍÜ ”«‡”sxbñFìÙ³;wîÄöíÛ±bD´_¿{Ô¨V¸¿áõX3ï ¼3º®hÚP†Kñöjw/F„ÄJžç£ ^)} u÷ÅÔΪ5D¤ËâWÏAÓ† ѰiS4mz%F/$·0EG¡ž{Ë!˽[É£Wµ.CkG6ˆ=ñÒ‹“ºšŠ ¯èe %7lK²JD¶lö-Ë&Gª‚éZMXö=¬ÇúÅ3dï|Ì[±×ªŸHàR$P.ARýš‘P«–k.¨¡œ¼µÂùxC§!/@–`Âþ=Û±jÞå˜ú@/¬Meÿ–àØ‹ÖJK¢ìñ˜ôÀ«9_z\RwJJ"æKwKt³0yFo…{ü¼ª…vaí1‰V=ª®$Êv‹lï§|ùwÕ¿ævÌè $dœ±*;¸iFDE!ÊzŒÀÂõ ÉNúoŒõäEaúÂMÈD6VM€þ¯lFÂÌAÖqËöf"s×2Œû½5Ö]×X¬ß›„¸·F¸·£° ®°nÕîØ‚vHž[ ³waò€É2ä^„îüâ \öÁDE \‚ä2ÂÓ½Ü$5?£&³çÅíCXD-Ôˆ¨-G#\‰YD}«—²ü‹ÿ 1M&sNJ]étÆ)¤¥%cÛÊ¿b´Ìûô<…Îñܤí­À†Ç1ké¤ed þËYhÚ¢>Ù¥fÏÓðñø œW¾‹?CÔ,œ'e#CzMÈq sÇ"Ü2r L˜‹Õ_¯ÆÛà•Q·à­MG¥@&þõÊPéK=Õë7bõ‚ ˆ}e$–îp æÑ92,Ž’Qél,[¹75 WbóÚ¹ø"û6¬\½¬Å¨ÛnÆœ“±ò«•˜=º+fŽy ;¾ÌŸñ˜´›>îm|½þkÄNí&y·!q.Ž'|‚qc¶à‰e«±òèµâ¼°t‡ä1‘@Ť;SbKêt*”ßbÕ ·«x½V{#¢ïÀ?ŸX‹wÁTw±‰óãÐ=RmDâæÙâÕñÃÐaÅtìY÷H±yU]¨Ïe²§Ž<"¢ñòü'Ðkt?,/…z<éFã U­'Q1Î]®a¯‰ˆ›©«æ¸÷=:o †F«y«Dþ>ÚžðÔZêç*µ€_~ü?Ÿª!sV§°õ‹9˜™Li‰_¿zè:ÓFõ‘¡©Ìuš†?­À{[bl·6È8$;›ÉI½…âQÎêÏ“9ÒË™°ìGŒ²z¾6^3 ¯¬M@¶ô<”f¨‰µøk¥£s—|/)BÛ¶ôr0#óŽî߈‰ƒÆabdJùÉOÈvÍC©#­$‚H:úÝ{"FÕûõ÷èÖ¸†5„ÑqðYuI”í,%˜E¥!PsH¥iŽe} ö6¼÷7jw°ù9¼µìM=ŠŸWÍÇøÀ¸är†½˜ ½ªo¬Á){5DT¯ 5èlÑÀ5ô´zHsWà‡ƒGQpµƒwåç|Ž“2gvêè^,ûË‹ðí+ù;X ™H bTn©b|в–*buI§rýnã°r.Мš¼v¥Ñ³—atgueW<¹ày<:jº»3»ŽœçoR3D"L=†Êl†Þò‰uYÁÕeв²¼þøŸ7«ß}¦Þ; ãúßl•í=ò^94UB\} u”絫2ÙSë|tq½LåËKŠ@|í¼¤<®gÕ ÚÊt?$™ðÉ–ÉeØBe¿¨á’—™-ã7É+žY´p©¶ÙÙ2/d«ðzKe kO@݉7hÓ>Œ^È7‰¾ß&zåÉt}hx1•ò.Pæ×öÐP¯/Ê\ $RàR©‘ñ óE€‚t¾È²^ R8?}þR›aþe¹¿°ùTè! øश/n‘ T"Ù*>›&ð%À!›/ó²ÅuÙÎ VVª~í‘©L×!]¤¾Ð,„@YæM9d „,Ë \å¤,lûr)¶$—æ¾EÄ/6B$ !r ’ÿ6_®XAŠw bæmÓ'M&(rOj‡ªž©p2‘ @9 ”³‡töÖ÷ɺfÃÝk§©õØæ}¹»à€¬ÄM˜6ܽ.›”yáÝõ²[–Ê­ac&m@üÔ^Ömn?Þí^pÍsä9ÖeS·—ýrÞø‚uÖ"¾€õ‰®:J».›ZãÍÇÆ·¨[~[)+q‹¬ ·¥øºq;ùL$Pjåî!•ØbÆŒ”uÍêLü[‡µÃ¾5ïàÎaÝÑz{²,#”…åÏõ“[ÃNÇÆíƒduÑ}ðhÞm??ùw̯*Ëáψ»¿=7+z{ Ϻl÷àY—­ùé0©ßãxòÚnøL–AJ”{_›‹éË×a@K–<× wÞßûåV¸ê†j]6DÍ—uÙžÀÿ½ÑGÖe[èGçɺlÓñ뇓0ZÖe»1ñ}´·ïÃKíúà{¦`Õº¾9ø%ú ëƒãU¾ÇÛwµÄ®å}ð€ÜwÕþt+jb‰P<j]¶ÿ`×éÂÎeH͆èÐùÔ9ñ4Îg¸h œ¿·D'Ä%'[Ž;ä6‘}ú¡Çøw°ûh†’¬,r@².sÝf¶Y¯ÇåV²cÜ÷…n«š×Atvk´n]"¸’ÖekÚw’_’ŠeQ$éÎÜùÈDL½s=öf<"w–Ûu¸.[ÆÞuxGJðÌèÜH0E?€FN۵?âM¤6÷"îÆ3hSj1’JÅÓò¬ËƵ×C& œ¿![V"–¼t7ÔÒHMÕiíúaƒtÝ’µýõŸ¸çÀ$t¹¢ÊmÌ´%ð|Yç•\Ý8Õÿºl²âì¾8<~«¬£ÖP­ËÖTVŸ•‘¤‚{M´.›uˆõgX±OêiÙÃbe×ïj`)·ß®ÕíÛ·ö³²ná±g{ÅuÙÎF‡y—* ¤â­äoßÁãïTÇò­{¬5ÍRö¯q/ÂèBÙ¾?Þ–å'ï߃­qÿÄïsÇc ]߬©Úâ³e<prI”]ftVNŒ%]æc{b²ÕîÎU¥–ôÂy÷ø@+U½©h¬ÚãZ“M­Ë–’œˆý‹†[%ÐÏVÎw]¶Sˆ[0¹`Ý´¨Ó±)I-€æíµ³ÕË<Љ@¹)T÷vìŽG¼õ؆m»“Ý“¿éH;•´äÝøøÕ'­’DZc¤W3m%Òìr_èZÖ}¡/o亵ªÕCzu 6íK¶V ¨IJ›ŽGzZwÇáÅ~ª‡äÿ–­ªxI)¢y7YÒ;ýþ7»S2²o=ÆH¯«Å¬Ö!‰_NCdÌ4ìVÝ¥²¦ÖeKŠû+ÆÌüÏÇ®Äú¯—aBõXŒ|t©¬ÈZÂÚke5€Ç‘ÀÅE xצ”ö©5×bG÷ƒÍ¤hYO-î1Y´p0ˆé`í¾íÑ‘Ò߈wÝÑÞÏ/žŽû?€+縎ê!Ë3niim´ºù!éM=€~]b1%no_« jõBÉ‹ïeZ— ¸óÍÅø¢Ë`t_=I¶£1q¢,sôêQyíNê2Ÿ¤Žó“"Úãí`L÷aè;Þ*=r:¾º§õúÔ‰ÃÒЬïá§"ÿ»Î¶.[ã6“°cÛ3rëÚ<¨;Øþqø8̹û3G mãâk¯ùo{I@?çýö#ެ,k²:ÌïºDdeHC-[ä7¿¬@¥^iÒûªˆj³d‡Z©Œ•¿§v&íˆ)kå ?¯uÙ†þÏ£èÓ¶2®ÇK‚¬tä•zcñoáY‘qÇÂx.çY¬ÕÖ+Ÿ/Iàâ"pQÞSÛµXcI ìÖ"‘%å–}¿Ô+ ;VTR YVt*y]¶L¬yMĨÃl¬_Òõåþ©?¼…îC7Üç:DŒ)¶öZEÈúH ”{©l6¨Iÿë²Yó`ÇS‘qò’ö®ÇŒ¡sÅç¡eù×^3!]1Š©’©ÖeóŸÂqû´è½öÜÖ³;n¾m&ZŒ»×§¨kíµOdíµžx?á”O7H@gç}Ig8e{ñ9¤@j–u×d}4ØÂý¬ÉÈñ,C•K࢜Cª\$:·.ë®Uð:Ó í—Ù.8ÓKЂI‹0ÑH¸4”ûÂÈKSù½,Ëý…Ëß*k ½pR[¯xÑZ0š‡lF‡—Α€^(Hzŋ֒€Ñ(HF‡—Α€^(Hzŋ֒€Ñ(HF‡—Α€^(Hzŋ֒€Ñ(HF‡—Α€^(Hzŋ֒€Ñ(HF‡—Α€^(Hzŋ֒€Ñ(HF‡—Α€^(Hzŋ֒€Ñ(HF‡—Α€^(Hzŋ֒€Ñ(HF‡—Α€^(Hzŋ֒€Ñ(HF‡—Α€^(Hzŋ֒€Ñ(HF‡—Α€^(Hzŋ֒€Ñ(HF‡—Α€^(Hzŋ֒€Ñ(HF‡—Α€^(Hzŋ֒€Ñ(HF‡—Α€^(Hzŋ֒€Ñ(HF‡—Α€^(Hzŋ֒€Ñ(HF‡—Α€^(Hzŋ֒€Ñ(HF‡—Α€^(Hzŋ֒€Ñ(HF‡—Α€^(Hzŋ֒€Ñ(HF‡—Α€^(Hzŋ֒€Ñ(HF‡—Α€^(Hzŋ֒€Ñ(HF‡—Α€^(Hzŋ֒€Ñ(HF‡—Α€^(Hzŋ֒€Ñ(HF‡—Α€^(Hzŋ֒€Ñ(HF‡—Α€^(Hzŋ֒€Ñ(HF‡—Α€^(Hzŋ֒€Ñ(HF‡—Α€^(Hzŋ֒€Ñ(HF‡—Α€^(Hzŋ֒€Ñ(HF‡—Α€^(Hzŋ֒€Ñ(HF‡—Α€^(Hzŋ֒€Ñ(HF‡—Α€^(Hzŋ֒€Ñ(HF‡—Α€^(Hzŋ֒€Ñ(HF‡—Α€^(Hzŋ֒€Ñ(HF‡—Α€^(Hzŋ֒€Ñ(HF‡—Α€^(Hzŋ֒€Ñ(HF‡—Α€^(Hzŋ֒€Ñ(HF‡—Α€^(Hzŋ֒€Ñ(HF‡—Α€^(Hzŋ֒€Ñ(HF‡—Α€^(Hzŋ֒€Ñ(HF‡—Α€^(Hzŋ֒€Ñ(HF‡—Α€^(Hzŋ֒€Ñ(HF‡—Α€^(Hzŋ֒€Ñ(HF‡—Α€^(Hzŋ֒€Ñ(HF‡—Α€^(Hzŋ֒€Ñ(HF‡—Α€^(Hzŋ֒€Ñ(HF‡—Α€^(Hzŋ֒€Ñ(HF‡—Α€^(Hzŋ֒€Ñ(HF‡—Α€^(Hzŋ֒€Ñ(HF‡—Α€^(Hzŋ֒€Ñ(HF‡—Α€^(Hzŋ֒€Ñ(HF‡—Α€^(Hzŋ֒€Ñ(HF‡—Α€^(Hzŋ֒€Ñ(HF‡—Α€^(Hzŋ֒€Ñ(HF‡—Α€^(Hzŋ֒€Ñ(HF‡—Α€^(Hzŋ֒€Ñ(HF‡—Α€^(Hzŋ֒€Ñ(HF‡—Α€^(Hzŋ֒€Ñ(HF‡—Α€^(Hzŋ֒€Ñ(HF‡—Α€^(Hzŋ֒€Ñ(HF‡—Α€^(Hzŋ֒€Ñ(HF‡—Α€^(Hzŋ֒€Ñ(HF‡—Α€^(Hzŋ֒€Ñ(HF‡—Α€^(Hzŋ֒€Ñ(HF‡—Α€^(Hzŋ֒€Ñ(HF‡—Α€^(Hzŋ֒€Ñ(HF‡—Α€^(Hzŋ֒€Ñ(HF‡—Α€^(Hzŋ֒€Ñ(HF‡—Α€^(Hzŋ֒€Ñ(HF‡—Α€^(Hzŋ֒€Ñ(HF‡—Α€^(Hzŋ֒€Ñ(HF‡—Α€^(Hzŋ֒€Ñ(HF‡—Α€^(Hzŋ֒€Ñ(HF‡—Α€^(Hzŋ֒€Ñ(HF‡—Α€^(Hzŋ֒€Ñ(HF‡—Α€^(Hzŋ֒€Ñ(HF‡—Α€^(Hzŋ֒€Ñ(HF‡—Α€^(Hzŋ֒€Ñ(HF‡—Α€^(Hzŋ֒€Ñ(HF‡—Α€^(Hzŋ֒€Ñ(HF‡—Α€^(Hzŋ֒€Ñ(HF‡—Α€^(Hzŋ֒€Ñ(HF‡—Α€^(Hzŋ֒€Ñ(HF‡—Α€^(Hzŋ֒€Ñ(HF‡—Α€^(Hzŋ֒€Ñ(HF‡—Α€^(Hzŋ֒€Ñ(HF‡—Α€^(Hzŋ֒€Ñ(HF‡—Α€^(Hzŋ֒€Ñ(HF‡—Α€^(Hzŋ֒€Ñ(HF‡—Α€^(Hzŋ֒€Ñ(HF‡—Α€^(Hzŋ֒€Ñ(HF‡—Α€^(Hzŋ֒€Ñ(HF‡—Α€^(Hzŋ֒€Ñ(HF‡—Α€^(Hzŋ֒€Ñ(HF‡—Α€^(Hzŋ֒€Ñ(HF‡—Α€^(Hzŋ֒€Ñ(HF‡—Α€^(Hzŋ֒€Ñ(HF‡—Α€^(Hzŋ֒€Ñ(HF‡—Α€^(Hzŋ֒€Ñ(HF‡—Α€^(Hzŋ֒€Ñ(HF‡—Α€^(Hzŋ֒€Ñ(HF‡—Α€^(Hzŋ֒€Ñ(HF‡—Α€^(Hzŋ֒€Ñ(HF‡—Α€^(Hzŋ֒€Ñ(HF‡—Α€^(Hzŋ֒€Ñ(HF‡—Α€^(Hzŋ֒€Ñ(HF‡—Α€^(Hzŋ֒€Ñ(HF‡—Α€^(Hzŋ֒€Ñ(HF‡—Α€^(Hzŋ֒€Ñ(HF‡—Α€^(Hzŋ֒€Ñ(HF‡—Α€^(Hzŋ֒€Ñ(HF‡—Α€^(Hzŋ֒€Ñ(HF‡—Α€^(Hzŋ֒€Ñ(HF‡—Α€^(Hzŋ֒€Ñ(HF‡—Α€^(Hzŋ֒€Ñ(HF‡—Α€^(Hzŋ֒€Ñ(HF‡—Α€^(Hzŋ֒€Ñ(HF‡—Α€^(Hzŋ֒€Ñ(HF‡—Α€^(Hzŋ֒€Ñ(HF‡—Α€^(Hzŋ֒€Ñ(HF‡—Α€^ìš»råÊ@‹² øèß¿¿ÏvIA)))Î’2½÷×­[×{“¯I€H `ǨlÀ=¤@+ ¨U" ?8‡ä w‘ T Råpg«$@~Pü@á. Ê!@Aªîl•HÀ ’(ÜE$P9(H•í’ ø!@Aò…»H€*‡©r¸³U ?(H~ p @å  Uw¶J$à‡Éî"¨¤ÊáÎVI€ü  ùÂ]$@•C€‚T9ÜÙ* €ß~Äét"//¹¹¹ÖÃápø©Ž»J"`·Ûb=l6‚‚‚J*ZlÿÎãÁØ”dCü1Žgñ3¤ ³ì¨–èzyèÖ8WÖÍ?KIß,õ~WïõŒŒ œ>}999ÈÏüxßÚ.­­àà`T©RÕªUCDD„õžôýð Ú”effB5V½zu«14¦sPÁPoêôôtëM%P¤)Áø8>™y6„…ÁN= ›UFi¾#?grÎÃè\˜¨(:vì˜õÁÑ´iSÔ®];àvY8qâ¡4¢^½z–@Â%°³BjRŸJŒ4hH½,S„€ú´P#GŽX,¤oí8å°#"TU„<õÀ‚"tKØt÷B«†§²mø&Ѱ ©ž‘z¿·k×®„ʹûl”€«ÇöíÛ­^f:uÎV¼ /`ARŸ5jÔ(8/ÊF@uaO:…ªU«TÁÏÉÒ3’¢yÖ;{¤AsRŸÎ®qBlÀϿ˟¹U¡FÍš5 ¨, •L Q£F8tè*\ÔM 5˜ÊG@1LMM ¸’£ÁhV5¹# 9ÉJ1ÿpCôt$.§ü;š)‚`:sæ xùa¥˜b¸k×®³”ðÍ ¸‡tqÌå#óDªÌ§ž©” ["jÔDhàï5_î­¼Ì#øöÇ4\{}"ÊY—ß¼v–†e¾øªÄ¨p ¼ð•W•ezÙ¸tºø¡uªÉ¼Ëi'ÎÏÒj$KŒ¬ç ä[ãÝÀ\P_àœ·”}ë—/ÁWñG€°èÐó&ôéÙ•ùq¿kÑXLËù,ѶÂÝ. KÍɉ´}¿bofQfuѾÛU¨)“¾eOª ’]öÃKqdiÉ!ç…zXŸöåq¯¨}Õl˜öG;ü”ƒçwyƒðø« ~e6>ô#VE«)q;4î„6ç!°õ&J¬©Â2y,MŒJe੘Üe>‘ƒzß;uwÎÅs±ò0ßτʚÉÍIGZN©< ¸piX,H·^î‚Né¥!¸fmTõtƒŠÔÙòÚëÑÔÝÉÍ8‚M?í‰Ì\Ô¬U¥HIý7ÕI”[p")áP'•·€”ÑÇá,‡^~mî8˜ƒ¥^"Ÿ+ßJ9EŸ•–9‰Í[cñ·yð{ˆ=­mNì>¯ŸV.!r8 ƽev«|f#n–£(Ì]ý1ú´R}¢IøÓš7pÛ¸çðþ]=0¶[ýò5¡ùÑ%œò•ã•ãLöoÛ€ef^Η€RHDm4“’§³]“•NQúƒ ?býúõÖ#~ÿQNc:p¸ËŽPXϼ׷Œ§lNP0^¸+³:ÚPÅ«­‚ü Ù§¸)^®Çù…òì=X*]£3æ¸ÅÈuT«>£0µ+¿ÿ˜µÃqôg¼5a¢¢¢¬ÇØ7VÁ5ë˜5ÓG`ò‚Exc„+/*j,Ví(œ“t¤Ê±c=yQ˜ðÖ÷±ò#õ¾á•7}ÙÏþ?,ræüº8zHyÙ8zè7$’Î}Í&ˆîØ5K˜Ç ‹ÏdF¶Í._çátêa‚ Ùê¨O›|ݹN6AûÎíâHÞ­ ØŽèFá8ypâ­¢¯Ed5'~ÿu+¶}Œ®=›ÃÕœ¶`'ÒÿŠ­{£ÍµÝPW†•™òäÄ,ì!U %¢ÃNù:ü«ïsqÙåUðj×| ÿÖ#Ç’'ù¹r"w9ñü9øQº:ô­‚7û:Ñÿ_ùxyC–ÜjGç]¹8Ù>7çãž_È@†§ÿ„ï;ð£?³3óq÷¢\<ÿ;>nÃ×x}Oaûþ)ý>Õ3òô’ä›JaY™)óÀ/X+,èѼˆ5pßÂÜgíÍÆŠ§cîæ‘øð«¨sâ;¼4x<^lÜoÝ×™‡7ã“ØÍ=w1¾z ø÷ìÁ?(×%ŒE}ÇA¼Þ}0b£F"võŸPÿè:Ü6rŽT_†…÷WÇë=%oÀ|¸²Bã0xÌ`œ¨òfö+jOó.àf¥ RÎÉß±yÛ—u¸u«[Ü”ˆ@ Òa’Ã>%šˆ ¨7³\'uuÔ“WA2éâ ­†ÒNÌ—¼üL>‰†W]‡&u]m´hß ÕOÊÀ¹à<8ŽÃ2G•|8 Wuº^D«UôiûünÈå_ÈQcžÂÙYÙ(0¸ì‹Ø¨TSž§,uàó¡!xâ×¼.B¢j­·z>w_„M_åb“{hõ×ÿ:Ðÿ^n ÊÇ¿åá­}ÁxJ梲äºÁå!Õ]oªÕÅ B†ªÇjÉÏŸL'¦¬ÈEõÈ`¼|£KÚ9ñîþ•á§lYvY˜ä[‡rÇJO½Ñ æÙN»P úÇÜ.vÚ¤K—×àz ¼›ãêçË‹§ú\cyò§ñS1síø=s,Âÿ±2üðƒIè\C²[݇õËZ áLudîýVò€·‚ ¤ý6Cðö½31æ¿Û0‚d±´þäžvuS›5i€:ç#u€# hymw™CrÕ™/½«Ýßá§_ªâúŽ ‘uü~üõ@aòªn„üRïÇÚU½Þ öjòÕ®|Õ$É}‰©)Øf¨qˆ‘e—¦z*®“JÎ,u’)q*o’+˜URC³\†ç691ï;¿+?’ýNÉWí*AìpS>·J»ÿÈþºU$_Dꓯò0à;ªns`a¶—]Þõ{ëçuê'þòóo FLd>;é§PYwY¼\«áoe&»]Íq®EâqÚ4özúåÀ®ÿ›þãæúìí}uáf×ÈêÙn‘uÕ¦êo†ª^Ÿ£õÛvƒš•ÊÜõ­u̘[:k½èšq¾Êñm¶¤­’¨”T¾Â÷‡7j‡ŽaG°ýGzÕÄí.GƒÚáÒ×9[*|ã‡"B]u4G&~1jÕWÔ—sX†pñß QU%WÝÊõ…2Ü“³)ܱüdœv ,¼šûC´&¢;4CÊÖíØ¼»®o]ß=”;›-ç7OMj«y• Oî7rž<«Ì÷2û<*¹Õ‰‚(_íwÈ<“ ë6¯tàÙ$ÿô¾Þ†Ú§äDokCÿÍ,u}Ë'‡”—zÒÝõû?ZNŸÆÁx­¯ Ísòñæû¹Xªz™:·•k’¾l mÞ÷J=s–oE¯±½j<…e“ÃÎë^À¤›s1MÄèÞÙ+1¹_ØE.Vmw½J—üREòϼPæÑ½8œ&V”¥÷ôý WïIUâȶ~’¤&;.–töóþ‚XŒðÚбGw\ݦöˆ0}³~/Nˆ¿¤†l9§3ä:™ÓÈ<‰“ÇÇ}òQýȇ¶•òå,s8DlR‘ ž0µ7¨*ê4”á^üNMÏFžã ~ß¹?ýtÈgH*“ä­;EÉ Ø‘X‘Õ.ÛJûWý†Y]‡Táë$ÉöªûåHoaC[–.ù¹2Ô]»ß‰o Fcw¹"<_¶¹¶kã¥À x#˜pgp¡r|˜ä*Ñ~ÿ¶áµÁ!X20;×9Ðua nÿe˺ß5ÿ–«z{bžl¥&{+ ›1 s‡bÂÂ8$Éû©I»°ìÇðÜ'›ÑªM“óÎdœ’+úbÇš¿Võ{ÎÂ/ë„ÞHÀàg`×ÑL¤îÞ·¡ÿ¢„7qå µ{S%ïà&LhÛßúáÜ_À•ÞC*ð5H¾éiÐ=#à÷CÇ ¦}ü%k)a›ÏRýfmйy$‚dBºUT3ü$ùG÷ÈÑ5›¡U“p÷u0A¨{EW´±íDÂÖïÜU×ÇU/‡\è²U…Tàjõq]»,|·}FtEóJ¼œ@õT\“Ú ˆ×ǽ?8¥Ù'½õÃ8ëÂË‚ãœxôË||Þ7ÈšCRC¶¿¯r ú^;–=fC†\)QʼnÅËØ£òî´á7™ŒþTÕ%C·AÙ+ó@÷ÿ,¶žÈǹ;Á³£CÐkm.’oó|’ÌqØäáæóÏÛuJ.Z…o$Õ¬ìÔfÐ ,F# ~n V¼â±¦+¦Æ~…ûÚ¨¾Jž=ƒÆÅŠ)²Ùu4žeM†«ÒU Gkjö05áÞÚoÈDø ·ŒBÿµ3­ü®÷>¯Æ÷„|å‰×W¿gnƒÛ>QKK*ol7ëµt„/Šð¯ýÕ/Ÿ/»ì2£KsÁ“Ïç{C¾"R‚$Ã4Ÿ‰Né¨|›íÂt‹þÔãÀÖ/ ÁÐé¹³BSù$ÿÄl¿>RWyÊDÊT[y×þ\ùÆR»áavú°[&6&ŒGÏžr"Ÿ¯”‰S™2Í ƒ²ujÈß"I†SÙ"ô¶ÐÐâyEŠúÛÌ–ú¢Bá¡ÅjF¶üNÏa÷Ÿç¯®òîS—àDGGTMqkK8¬èIUB±‹c·\ãìO‰ÜÖ)¡òš÷»à6—†e¾3Èu¢g"[]•’åLe' FVŠe )`ARw€KKK£ J¶„rŠ¡bhêÖ2Ÿï³Á¡>å >ò=üÒ.g]»åBà8Å2Ф>xK3´´ÞK­œbXšNLÀ‚*cYu×Cu¸ZµjY·¦¼Ôà–Ç_uÃ/%Fê—Ïꎛ¦Û¯qàçýYØ{²*lê’© 3í¨y9õíšLÆ·²bhªY³&Ž?ŽM›6¡U«V¨_ÿÒþY Ü<åŽ=н{÷Ê·Ý4nÜØ³ûœÏOj«î¯çÃê^1ª!Þcøœ|­ê΃ê‘ê¦l¥½Ç°ªà›ùækK06î“aDÆ…ýæßÅ\ª^õtoqwtÊÇ Q«¹z¿«áµºÃ§º•zÏóýX¤Õû]½×ÕMÙÔfU)Ðy¤€ÉcŠ ” Œzf œ€ ˆ T )Z³â­><ü‹æs»8oõa@îÅùœ¯=åáðÍc¼ li&e=Çñ¹|wµj Ó…%@î–wà}Ø k[#¸ P.Á Óe¸X P.ÖÈÐ.¸ §§§]‚nÓe ‹@VV‚ÿñØ‹Í.ÚC$p øý÷ß|mç.Ö²·— ÿt™Hà"! –Þ>yò$ì5#±ÿ~K”Ô*“®¨z‘øA3H€4& .8MJJ²VsV×/ý† ÐȈºIEND®B`‚traitsui-7.2.1/docs/source/traitsui_user_manual/images/ui_for_ex4.jpg0000644000076500000240000001623214046644454026514 0ustar aayresstaff00000000000000ÿØÿàJFIF``ÿÛC    #%$""!&+7/&)4)!"0A149;>>>%.DIC;ÿÛC  ;("(;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ÿÀ’°"ÿÄ ÿĵ}!1AQa"q2‘¡#B±ÁRÑð$3br‚ %&'()*456789:CDEFGHIJSTUVWXYZcdefghijstuvwxyzƒ„…†‡ˆ‰Š’“”•–—˜™š¢£¤¥¦§¨©ª²³´µ¶·¸¹ºÂÃÄÅÆÇÈÉÊÒÓÔÕÖרÙÚáâãäåæçèéêñòóôõö÷øùúÿÄ ÿĵw!1AQaq"2B‘¡±Á #3RðbrÑ $4á%ñ&'()*56789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz‚ƒ„…†‡ˆ‰Š’“”•–—˜™š¢£¤¥¦§¨©ª²³´µ¶·¸¹ºÂÃÄÅÆÇÈÉÊÒÓÔÕÖרÙÚâãäåæçèéêòóôõö÷øùúÿÚ ?­ªkú§ŒõY¼77VÊÅ ´Ž6`ˆ¾nO<œg‘躺ùn&ÿ ›á[Ëo¨ÞË ƒ"éîTw¥wRjÚô:dÏ Ö“\M¤ô@zçÖ¾ƒš,U‡Œ4µÏ.–^ñQu9îyåݽõ„B[Í­ã-´<¶¥>™#¯©øÿçÖûö+²ñ]Þ«{à8$Ö¸]KhhOÊêðÞÝÿ*ç.ôX-|)aª¥íÔ—k7›*Lr¯µ7~íºç¡#88öô°¸ØÖ£²_²±Ã[éÕpOes?íñϬ÷ìQöø¿çÖûö+CMðÓËc}w¨ Å¥Ë}o™’mû¤¡Ël8<àÇ5gþ:ybFk_³é+|æyàa3ó÷ ¾gxž;õ¼±T#&›ØÍaj4šF7ÛâÿŸX?ïØ£íñϬ÷ìT:vŸu«^Egcšy²QC»“É8è ZÚ¤÷V¶ð[¤Íz¬Öíñ¼r…Îì8m¹9þu¼§N.Òi=÷3T¤ÕÒc?´"ÿŸ[ûö(þЋþ}mÿïØ©#ðÞ©+•H¡Ç™Jæê ’;¨tTbØrTƒ…'‚=i-¼9ª]Eæ%º"ý§ì¸žxâ&oùæ°%½ª}µ_™}ãö56³ý¡üúÛÿß±Gö„_óëoÿ~ÅR’)!•â–6ŽDb¬Œ0TŽ ŽÆ™ŠÚÈÎÆ‡ö„óëoÿ~Ånÿ`Α†¸m:ÙÿŠ9!²ŸCµ϶k’ÅwúÅÛh^ÆîÝKÿ¡šåÄJQqQëÐè£N2MÈÊm*5ë{¥ûwŸÿÕYí3Ù£²½Ê!›‡=†U9<ãŒCEÅ̹?1Å[ÐNëˆí‹ý­Q)NœyÛ¹§²„öО0<Û- ê<™[ŠÆAü DÚ\K÷¯t¡ÿnóÿñªèt›½0iÒÜj¶òÜGŽ4±úîÑ5ï…o`¹·´Ónã¹û<¯Èçj•Flýóéé\¿X¨¤ÓON©+ýZ¯Åœ«ÙL÷vöö°ÙÝ ’Â9"L!Ú2ÙÜœÇ=*ãørhÏÍs¤¬3ñºvŠØ6 é.¢òV:èìþ˪FörJ`¼r ¼¬~F?Ü#¶}ýGÍ̳LF¤iÓ¶©ïê×èzy~WB½9T©{'Ñù'úœ£èEA&÷HöÆoþ5Uì¼Iàjd dä<±ÀKE4d಩ÇÍòðNWŒŠéuk[m'O×NfÕf!Š£ü¶Ëè}Iÿ?íp^1¶ÒÈòäÿúQ5e—fuñµ¥‡®“Voc«•áð´c^‹{ÛW¹³ðõ-žîâ;«èl£’Ш’fIÞ‡o$g§é]Zè–Îó[x—L–F9Q,êã êr+Žð烵]gMûM¤öˆˆÛ•˜í²ŸïVÊü<ñÿËΟÿÿ‰¯O°µjJ3«n-/mz¿™kÄqCoáe´]ZÒñÍâÈ#‚`åFÇþdV¡w§Þè:U”‘Þ}£MIñ²Ý¤pÓ +£œ¾Õ«ÿ ÷Äóó§ÿßÉ?øšCðó_?òó§ÿßÇÿâ)Ы¥N4ý®ÎäTŽ*uù7V"—Ä6FÒf6÷†æMé"4D1†ù°å˃ƒ‘‘·SHÞ µ’åÕ­îVðøÒ©`øl²®á¸dŽ¥{Ô¿ð®õÿùùÓÿïãÿñ»×ÿççOÿ¿ÿÄSç˵ýçõ÷ØË/wúÓüˆ<2ÓØ®Ó‰8=¿vÔh¾$²°¹ðéŽÞî[=Þà]$™¥ô@ä09-ß§9øu¯2•k8‚0Awçÿ |:וB­Æœ;ñÿŽUU¯­QÊu4µ¿?ÑŠÕ7ü"ž+Î|Ïÿà üf¼|Ê…¡ö9ï5ÇEµ¿W¸Ômd·’ÎßtŒE!NJ)‚FôÁ›ŠÆç¡QXº©½¸ñ†Ÿo©\XÅ%­ÄÒ&fdxBÿ¬Fã7Jç‹ïæ›F¹Vöír¶K-”³¢yæb›ž(ŠuB 6È;NâÀw´W ¥ë:Àµ°¸ŸT–äµ¾›<‹$QæêS©Ú€€¡r¸ äņ4}{W¹²¾žÿW´ƒn$óùgí§J81¬K³n_÷r3±)€NÖ$°­Û³”DlA¸ªšnˆ÷š]¥ÔšÆ¢hRF "` œ|¾õj÷þ2ÿÈ©ý}¯ò’º°I,D êü —á§ü‹R×ÇþÓJëë‘øiÿ"Ô¿õñÿ´ÒºêœÇý°ßˆQEÂnQEQEGÚÓÌWò"X÷`Øgöª·NÑÚLèpÊŒAô8ªv6ÅîŸmwý±yñ,›~ÆÜ€qÞõQ¿@fïÚSÕ_ð£í)꿯øVWö>±ÿA¸¿ðñtcëô‹ÿ‡ÿUï CWí)꿯øQö”õ_×ü++ûXÿ Ü_ø?øº?±õú Åÿ€Cÿ‹£Þ _´§ªþ¿áGÚSÕ_ð¬¯ì}cþƒqàÿâèþÇÖ?è7þþ.x45~Òž«úÿ…iOUý²¿±õú Åÿ€Cÿ‹£ûXÿ Ü_ø?øº=àÐÕûJz¯ëþ}¥=Wõÿ ÊþÇÖ?è7þþ.ì}cþƒqàÿâè÷ƒCWí)꿯øWŸ|c`þ„ƒŸôµÿÐ^ºÏì}cþƒqàÿâëø¹ÃàËhä“Í]&÷Û·qÚüãµuà¯õ˜\ίÀË ?äZ—þ¾?öšVÖ¯4±jZG#¢Ë~É V :ýšcƒê2úX¿ ?äZ—þ¾?öšWM}§Xêpˆ5 +{¸•·„ž%‘C`Œàޏ'󥘽Ôõ' ü(˜šŸˆ/m5”ŽÒßí1\AkvÞR.IY@ùÌ€ð%°#`sÃ'nsjúåî¡§Ú=ÄZv o½£Ú9£ApÀ; vΗÁR É£¦m Gy­ç}*É¥µUKw6èZS• qò€zc¥ ¡hñXI§Ç¥Y%œ­¾Ku·A·•Æ à~B¸®nVÕ.µ?í›-;NžÒ>ÞyÞK‹v›î4JÓë<ô¬ˆü_{uý{ie¾Æo²Gv»ùO°æ8Fx‰é‘“·«0ÄÓ,æ42¢”W*7*’ ú«Ÿ ôª¡hï5¼ï¥Y4¶ª©næÝ Bªr¡N>PLt sMñ>±-½•Åߨe†ÆyV( [©<µPKœ ±$À…ÆKô¯ëwöR]\ZZYGs§=휗L‘¤x Fí²³:|ãsítË:eÓ¬QÊÝUV4P"PÆstSÈô=)‘éd_kòôëDûn~Õ¶~sü|ßxõõ>´\ oãÆãþ¹7ò«Zü‹úwýzÅÿ  ¯r-¬± Ë:2œrEZÓWìz]¥¬Œ¥á…#b¬0HP?*¨ —h¨üäöÿ¾‡øÑç'·ýô?Æ®èD”T~r{ßCühó“ÛþúãEÐQQùÉíÿ}ñ£ÎOoûè@IEGç'·ýô?Æ9=¿ï¡þ4]%œžß÷Ðÿ<äöÿ¾‡øÑt•çäT‡þ¾×ùI^‡ç'·ýô?Ƽóã!ÂpAÿK^‡ý—®¬ÿh_“|4ÿ‘j_úøÿÚi]uyÏ„¤»þÁÓ­moe³û^ªÑI,*ŒÛE«>õaÕµmÜx®ëM¸“Kû+êLñ‰vI‰c…÷0†7!¿~ƒ… Hcòä-N`¿Ú§ê,7ð¢utW9Š.f•æm+ɱŽâÞÙÚYŠÜ+̱-˜3(?>FóÀ5äñÁŠâH—L{€Ì†Ñ g p†hâÜDD'÷¨FÖe<å€ÁW(VmçžÛGb_½´%Λ†méÃ+K¾HçKw d2EÚT1+“´),QEsVÞ'Õ/¦·µ¶Ñ.dYÅÜÒÛ¦ØÌ\¡hw°>p¢ò­×‚M_ÔµTÕom,ÒæÑU$²æÊY­¡‘b#nÐ só8'ÀÍ¡¸Åm,Š(…†}…R´þß¼³†ê8´à“F²(idÈdgå÷«w¿ñãqÿ\›ùU­ þEý;þ½bÿÐ8¤Á™ÿfñüóÓ?ïìŸüMfñüóÓ?ïìŸüMoÑWÊ…sìÞ"ÿžzgýý“ÿ‰£ìÞ"ÿžzgýý“ÿ‰­ú(åAsìÞ"ÿžzgýý“ÿ‰£ìÞ"ÿžzgýý“ÿ‰­ú(åAsìÞ"ÿžzgýý“ÿ‰£ìÞ"ÿžzgýý“ÿ‰­ú(åAsìÞ"ÿžzgýý“ÿ‰£ìÞ"ÿžzgýý“ÿ‰­ú(åAsìÞ"ÿžzgýý“ÿ‰®GâÚJž ¶”óMÒoÙ í~™í^›^qñ—þEHë픕ׂIb`eWàd>Òí5_ „ºþâóÍ¡ádo%W!ƒÑ˜uï]Lš%´0yRÄ Ý²Hn$ŠO˜å³"°c¸òÙ'qœ‘šçþyßðŽIå¬D}£øÜƒþ­=×[þ“ýÛûúßüENaþõ?Qa¿…&ÓÂÖÚÅÙË$ÑɺÈéA#yA¶ a+‘Æ>è4ô𮎓¬ÂÞRcÛå#\ÊÉ’ˆ[jѡ€0 tâ´ÿÒ»oÿ[ÿˆ£ý'û¶ÿ÷õ¿øŠâÔÜ«6‹aqt×2BûÝ£w +ª3£++i`Q>b3…8â˜þÒä\5®qæàùŒ ™d¹9z«9R1WÒ»oÿ[ÿˆ£ý'û¶ÿ÷õ¿øŠ«g¢ØXÌ“Á ùÈ®¾l’¼ŽÁÊnÜÌIcû´9 (Š…<5¤Åk%¬vΖòÚý’H–y<{Br7`¶ÐÞÀ8­ôŸîÛÿßÖÿâ(ÿIþí¿ýýoþ"@Kµg³™K3FÀ2IÅ[Òc{mÊÞde’+xÑ×Á U_ôŸîÛÿßÖÿâ(ÿIþí¿ýýoþ"švWxôoûäѼz7ýòk+ý'û¶ÿ÷õ¿øŠ?Ò»oÿ[ÿˆªæb±«¼z7ýòhÞ=þù5•þ“ýÛûúßüEé?Ý·ÿ¿­ÿÄQÌÂÆ®ñèß÷É£xôoûäÖWúO÷mÿïëñ¤ÿvßþþ·ÿG3 »Ç£ß&ãÑ¿ï“Y_é?Ý·ÿ¿­ÿÄQþ“ýÛûúßüEÌ,jïÿ|š7Fÿ¾Me¤ÿvßþþ·ÿGúO÷mÿïëñs0±«¼z7ýòkξ2ÿȧý}¯þ‚õؤÿvßþþ·ÿ\Gů3þøÌžX?lLbßÀþ W^ß:¿.ü4ÿ‘j_úøÿÚi]Š*ų€3Åq¿ ?äZ—þ¾?öšWeÝ÷¨¥˜½ÏÔœ7ð¢‹û¯ùð£1uÿ1þÊ+†æãó÷_óáFbþëþcü)•‘u%Ýþ³.—o{-‚[[Å;Ë£<†F‘BüêÀå’x$–ŒÌ ¬Åý×üÇøQ˜¿ºÿ˜ÿ âì¼G©j:óéj[´ìû@A±9î# 9ÌŽ" ¨Ä… ÄîØCv4üÅý×üÇøQ˜¿ºÿ˜ÿ e®}Vñl4»‹¨ã,ñ!*ñžÙ«hªwÎÏ•â?ùïëŸõ­Xþëÿ»ýE0 Åý×üÇøQ˜¿ºÿ˜ÿ e®ó÷_óáFbþëþcü+›Ý_Q¿†JãNŠÂe€ d‰šV1¤…˜ÈÆ$BI9hê¾5]ÕÒ}‡íEÆ)£2aäŽ&‘±ËêÝ~Wbå~öÖW˜¿ºÿ˜ÿ 3÷_óá\ãø†úÁ¦M¦ÛNFŒE]³@UÖV¤1†IÀCü<òv°ø¦áu±¦&Y<©"†æHir:«|¬"ØQC©%™½7Óf/î¿æ?ÂŒÅý×üÇøVG…æ–ãÂz<óÈòË%„îìY™ŒjI$õ$Ö¥WÕoÃK¸ºŽ2Ï¡íšã¾.ÿÈ¡ý~'þ€õÓøþEûßúçýk˜ø»ÿ"„_õøŸú ×fýæU¾[øiÿ"Ô¿õñÿ´Ò»þëÿ»ýEp5M:Óî—7öÐ3O$™T‘±y>ƺ;­[Ã÷ù3êöe É z?\0­qôª<%ÿA+_üþ.ŒxKþ‚V¿ø2?ü]¯ò¿¸9ãÜÕ}Mt‘>Ȉ²CŒ” ‘–1…ÁJ–$Á< ^®sÿ •¯þ ÿF<%ÿA+_üþ.aWù_ÜñîttW9 ÐJ×ÿGÿ‹£ÿ •¯þ ÿG°«ü¯îx÷4|Gÿ"ýïýsþµ«Ý÷¨®d§„YJ¶£jA ê'Ÿü~®ÝjÞ¼‡É›W³(NHKЙúá†iû¿ÊþàçsZŠç1á/ú ZÿàÈÿñtcÂ_ôµÿÁ‘ÿâé{ ¿ÊþàçsVûF²Ô&Íöˆå °½µÔ°3($€Æ6]Àqœã'MVºð®y,’Oo+ <ÌÄ.eX³"²9†Ú ù g,OSš§ ÐJ×ÿGÿ‹£ÿ •¯þ ÿOØÕþW÷0ç‡sVóE°¾™çžóQ|ØåxÝBÛµ”‚§÷Ž20HbGÁ iÂæ;ƒ¬ñì8k‰]”®ê[ã ‡`[å^xÍÇ„¿è%kÿƒ#ÿÅÑ ÐJ×ÿGÿ‹£ØÕþW÷<;›¶–XYAglž\ñ¬Q&IÚª0O'Þ¦®sÿ •¯þ ÿF<%ÿA+_üþ.—°«ü¯îx÷4|Gÿ"ýïýsþµÌ|]ÿ‘B/úüOýëX§„YJ¶£jA ê'Ÿü~¹ÿŠz®{áXâ´¿¶¸]+Šec­Î÷Ù¥Qb Ü_ÜeVqpvgî>¦ÇÔþtQ_Xqãê:7SEn>¦ÇÔÑE©£qõ4Q@ãê:7SEn>¦ÇÔÑE©üèÜ}OçEn>§ó£qõ?P¸úŸÎÇÔþtQ@ãêhÜ}OçEn>§ó£qõ4Q@ÿÙtraitsui-7.2.1/docs/source/traitsui_user_manual/images/table_prefs.png0000644000076500000240000000053114046644454026736 0ustar aayresstaff00000000000000‰PNG  IHDRfäE IDAT(c|óò€ m@-,›>|ø@Œ•·oß655ªdÂT½k×.dA4.D jƒ,ÌF–:sî<ÔDˆß€Ž„ƒU«VÁÙ@2÷ôéÓ@m@-X ”p KspóŒ‚:è×û÷ïC´õL² Ë]ÞS w*œw$#ÐFq„â1Ö¯¡ÁA«×®û&bpj×Z#媊r A@=nnn!!‰pdv„;PuqëÔ7žUܽt hD)VêHUUÕSÕÝfnÁ‚|<;×,”•SºîlLG‚‚h0Ä€¡dæf“Ð$,!ƒzÈlxH"‚¨蟮Ž: CQQè ˆó€ÁäBØb‚O ¨’D¨DW¡¾†ws«ÖIEND®B`‚traitsui-7.2.1/docs/source/traitsui_user_manual/images/html_code_editor.png0000644000076500000240000004774414046644454027775 0ustar aayresstaff00000000000000‰PNG  IHDR¿ÈÏ å IDATxí °mWQçï}/Á$ó’‘b0XŠ…ƒ¦ÔÂÒr´€aD)¤jÄÂÁTð«`@)gtuD§`Q,?j¤,§@Í€Œ‰(J_0ù"BÞËô½ý^ß>k­½ö:ûsí}~·^ôîÕÝ«×oŸýÏÚçí{ÞþÉ“'÷ÜÏÙ_õ>wtdÞ{ÑýôàØy矺íVy= ÐF@uãäGOîŸ{›ÄÞ{ûyÇz\Å>vÇ–}êþ™-þϾí íPŒ},•ªý+.ÖáG?ú´Bùhl@Ó¸öÚ;e¢{¯ûˆ¼šl,Q+“*ëÍ2€ÀdTªüt"[ªY‚%j¥w|ÜèyFØ€@ ä^rÿƃݖhÖYÚ‹fÉ€¢\5œ'z€À* ˜Î4­NåÉF÷­{ßûû{{/Ø?ö¸¿ÓûX]Ñ,ã…t#ФM$Í:½Ã’ÝdfTK@dâ;¯ºàÇžyŸKNÛªÉû3w¿öê[t³Ò³ˆÍÛ­“ý굯xí}­ˆ§nx‡lµÎ’ÿ»ä+ü@»IVûW¦ ÐJ@4âÙ_ö½î3yË'÷ÿñŽS­Y·}âÆWÿÐìí] š%ÁCyÕ7ýݯyÝM7}LøÌ?~ ßÉmÿtËyŸÁxé/îíÝhÖ½·Ü±¿Á+öùÍZ"¸+¼âã/~б]¸wûM{ç¾í¯/¼ID­òçƒQŒMàžßx¨ì•¾øÒã:Ñß|hãYË`ö¿þȽêÁã~úa—>ïÀªÈ-¯|ÁÙ}˜NñÙ~X“gôKõÕ´L4K<çþÏë.{Êû-@¶V{ÿðÁÆãÓ>ñ¯žtñ{õ»øã?ûÝrˆ; ÔOàÒ‹NÉŸ­úüÀ‡î î"ûѪ’ÚtüÂç{ߟ:Ñø£Ï°,_vRÿÀ7ž{ö‡¾ýyÿû‘—Ÿÿ}ÇWœwâ?ÿýÿú–kßq:ì_¼æø×=ÕRÌ@Ô æ%ð¡¶#MÛ+ÛX囤ˆNÑ´½²U¾M– |üÔ¥ÏüºËU­îÿ‘?¿êëžú“?ó¦[>vF­$âž}ò7_¶ÿä?)¼O,i…@`@I©ÊžõÏûèÞÞÆ¯ÂX‘_ý¾sò½=ö…ŸÖ€¸ˆIÕý¾å™ç\þe7ýÐwHä©»î¼ç“§?ؒË_÷?{ík?þJùèjO>Ã:uçéU­i¯gÙXæã½ÿ¤G?æ˜H•:_÷æë?ø±O‰ýÕ_ýyÕOµþäOþô¾þOwÉOiŒ¾Ê}¯gýYöéó¨qÆ}ô_ –!Ÿ"cæ±ô£„È *¥´š¼ª¿¤`4CÚÌkAq6„iˆ0]ðyá5ŸW«¸±d‘8¬Ü#j%Á¾âõûÞo ÔJüg?ú;÷ö+ó“þ kÿ±OzáO¼ÚÒn¸îÝ—=øß÷ï¿ëå/ÿÉ7½ñÕ¯ùï¿òÊ?GÄëÎëþÀb6Œ·¾aãPÞú¹ŒÏºð§å©}pxì/þÓ¶/âí°ôéã `"Ê93©Ÿ7‘’uåW”M==(³÷i d bv“@üׂ۪•p‹‹t€iw|òa–ȃþw¬”ì­ÔþÈ3¿ÒœMFú–ðÞw¾å‹~ôÒx嫾öÇ¿üý÷>ñqŸóÜç¾òÊK®<¨rëò"öï<ç©ÿÌõw7NúŸømîàPD$ðlD¤l¼rIÕ>ó3‡-„ôi p  Л€üÍc“ê½ó•Ÿ”÷†úÏÝE³d‡%Á¢S¢P^­ôÒ¿% êá‘`É3 úÔÉÿó¦çþè[¾òÊÇí]ù¸7¼äOüÔ^þ÷N?ÒqºÈñ;ßýݯ~Í]û½ôM¾/"úþ™ŸâíäJÄÄ|æÕžIÀ™íÌ îóœ»lôž›eÔõ%AE;”+P®XýcÎVC²$Æ_ê­)>@'5ÖÑûDsš úÝ_4[bä0ˆÚ8¸u• ·å['J–2§Ä¨4`Mb@`2ªwì¾÷ówfËgí™…<é~Áý;¤sîy—¦½ÿä{Ô¸öMñ„gü·/û†çÿÈkÿ\þ¼ìóþG~ó¯üäw?ê3¿‘|ŽÁ>NÒë<ÓD0T¨A–ê¤q…cßò=Éxïô1f¥L_|bÞN–’:ÒjPÜ"ó…@9àÁ…ø3ø’R}Š˜fÙÇX6£í­Ä#ö}Îú¬ýiºÔ_È9º%´ZbÜz× o~×οï%{Wî‰Z=ôª÷ “ù óö¾à»~AFö ý\ðˆÃw>ãkð‡ß²—z «ü ´­‡î°¤¬\ÏbËŸm5¢|R™¥ÃÏVõm9:‘¬EVªÎûìµkh‡öH@@ ð¯ù®ýTø÷‰¾Î E|Aý K<7=û1¾æÿ‰!¯b‹±ÛÇκãöÃàƒ½”|û¨ÿ2Rñ –ÉáÝg}ùí÷¼íܳN\ó—׊r}øÓ·<ñöïùÀmø‚‹¯8ë¶wÞsÞcU­Ä#_P#÷wï=õp‚^‚‹ü`òê PwŽñîR4KV$kåÚV‹çXs.ž€ü5ߟ·Ÿ|„ʛʫ• Ð"Êâ¯Ï–×>ð-ÿÑÒe“uŸ‡<\²¼Zɡ׬O<å¡{ÿ|úa.«hÖé[Bÿ=Êw=ì‡ßñ¿îûá÷ü:Ïí÷Ü|ÎûD˜önúÔgÿþ#׉H‰fÉëÕ7ÜW%½‡ùï`?zÓoLd¿ójÚ›XŒh5s&»´1ÌÖÈdÉ"±3YJnU³$ÞŠ[¤q<èL@öM~€~ó]ç{A÷삨lµŠ~κãã{g>M¿ûúkžt?¼ûóɺϒ'ÝÅyëíSüØ>+!Xzp{xøÉ”ÞîýÜ/ÿÈ%Ÿ{ûãŸü-'.|˜/ôs¿ü?î¼é_žþ•ðùð‚½C«Çèu+Ûsšáçµ}Š:ã ˆý8íÐOªe3E|3qÍØ—R4OPœCô$`wqÖûAKéSݺùeúéíÙZV>h·úÉûA5ãô7ŽŠ€É?¹cÞØ‡³ìq=P«Ô'î€LO@?$mÝaj%ã/O{Ê÷¦Ëÿť硊¼ï«Î»çþ’‚™§îú‡¿ (ýííǾõšOÿFýþ`P>}ßøÆÑ !8aŠ?\Ï)\Ï! 0n>uÙg>ö—7|Î#Îùç¦9ß÷çÈ”ˆ”þm›ªÕÃ/=ºåªˆ¨•ÜÊkÓó ÷ŒÑÏ©ó¾'ÆþáB?êÏ\€À¢ ÈwÊw‡>ç¯O®'ײ¿wϽ7Þ)ŸrÉ«ˆ!j%Yòû7?T‘Wýì?øü§Ë÷[%Û8t»òÜS²¥[ Q«oü•ß´N|"‚åi`C` ~í=ò½}Ÿ}ïk/Ûj1²¥‘:Ì=È®Èýê\ø{ȹvìKmÄNžw؉þ»Ð>íè3,ý÷£uè#°!ŒG@TÉ>@ÊæÝø ëàqÒƒoa8½?´ 52¿ÇDrEðß%°ˆ†WÜ¤Ü Þ{Ýéõ~.4Z­=ŠUtKÈÙ…#`¿ sÖ©Þ}ì²sö¯¸Xþšà¯âñÅéÎ3A%N<ëÁ"Xúï6mÁJê@`RÖ¤¸™ èCÁêC\@`RºŸâòIa2@gÜzóõgÌÿ²ÃÚÀÁ P3«æ³Co€Àk€@ͬšÏ½AZëxêG ˆ{£ÌáAÒ‡5¥'#Grölµ<Ýúïb¹€€hü[B>yò¤r½™ÝÄ®5ÀË#-€@Ë @€ê!вÃÊ7ª·9¶]ò»0»²Q_ª@'õž šu…$ t¿%,¼Ø ä¹ddÒ™\IS…8x«šåeã‰â\¯VÉxœ€@†@÷V¦¨(‚\™W‡’H+•™±ÏÐØõ­·É&²1 °2£–02’«Ôì$;MFzçH¼5lo@§NäW4`qJA`t¿%ÌÐ)W–a#Ë«%›ï™>YÍäD8!° FÙaÉVÂ.þüþ¥5ÒÌΊ÷‹­£­N+’Œ´Q52kI¦'VSGåUç¥ÄìµøI÷Q—§j"Wš:šÜØÕ{$%ˆ‚“)Ö•¬cN)ÌkëòC¾Û=”¤XKÖMªéæ×Ȧ>Kæ"= ,I°ôR‘ËF/!3¿'b‘Sr-Ý ­£)>¾ƒm5%×l3´ fúï0õV)ÖCå}nµ(‚WL`I‚¥§¡IPšüM'oÛø­ê$‹‹Sb«:œ,•ñ7ÕOú“Å»õ™¬ÃXž` »þ)«ùíŒÌ›¯)»ŠçZJŸqçxVO`'>tïvûJknk€õ,‘åÁ’µU|kåÖëXÞË.!»QOì|æTCS,Þî}Ä£Cæ‘\õl{l"5| ¸È9ÅÖ¹ºÍëû,© ÓÙì³ôé{Ɔ@ å V|5Æ[yrÈ;½­Y±Çª•–n†ÏòN³Íð‘fçG-L S½ÀZY3|Œwšm†Ä†À”–tK¨Wcù59%ÇzæBVê9t28%í°¸[O?ˆZ°hKÚa-4ÍCý XýR˜ˆ‚5h¦ú@°ú3¤ 0k"ÐLô'€`õgH@`"ÖD ™èOÁêÏ €ÀD¬‰@3  П‚ÕŸ! ‰ Xf@ ?«?C*@@°&Í4€@V†T€&"€`Mši þ¬þ ©LDÁš4Ó@ý XýR˜ˆ‚5h¦ú@°ú3¤ 0k"ÐLô'€`õgH@`"ÖD ™èOÁêÏ €ÀD¬‰@3  П@‹`É¿ ÿȬâŒçN:ã°¦ôddUÎò¶¶,eN3Zë"ÐòOÕÛ?}.—ÙM€Z,±<ÒRvÊÈó)9;…‹Åî–Öî€`¥€@ýz –ü¯^~l‘}8x4jab”GjpPJÓg¦¾5ei "íÐz§÷«m1ôGã}–÷$mI4ÿ™2§=:dfX<VL å–0³r¹TôÎÅ öo[€~ÔÛ­l†¥d Ž É2§·Í)†U6§ôv2Àœ¾”ÕL–bÅ…¹wæo“5qB`¹ºï° /•Â0!˜ŒL:›‚[OCSµ81ŽŒ=%YqŒxJJʼnݲâ:x °\ÝwX™5Ë¥e›ˆüeVi¥23N?ÔÚUk@IÏ%|JêuE°é”\·f'‘Ùh2Ò;‘€dœÖvSnk@Sbà·:EÃ!v„@÷[  re#2ÓØC­Kh ÈtÕ'7S–!,”À(;,ÙØ•f„$ ÖH 0#Y'p–ûH±ƒ:rèlÔ;[³,ÀgY©¼áS¬Ž¤^=4#_‡Q¬ƒ@©`ù«EVîÍ6#ˆI•GúR–e† fñ1:ä=MvÙ4…¯Ð'Ksƒ ¾¸·ƒ09ŒG}Al¬ŒÀ(·„+cÄr J X•œÚ€Ú X팈€*!€`Ur"hh'€`µ3"¨„‚Uɉ  @ ‚ÕΈ@ V%'‚6 v• –=(ß¾" !P£`鯛 Y;ó&d¡(%P£`•öN °c#Xºá’W5vì4±\@à€Àt‚U¨5¦¿Ð+¯6éPìçLB;B`"Á2é1£_¾™ 4R °&¥_/3ÍšU쨉NMŸY P?‰ËîãZÕ'ðâU?M:„F%0Ñ-¡¬A”(£`aÉÍ”¤ Y(!°³¦¬EÌÂ!¡T$XMû/õûQo‚:€@ý*¬úaÑ! 0/k^þÌlAÁÚ¡€À¼¬yù3; °k X„Bó@°æåÏì€À¬-` ÌKÁš—?³C[@°¶€E( 0/k^þÌlA`'kÀ_Ÿ°Ôg‰P@àÀNçXkç‘U@`'Ô%Xþ†Ël5äU ;-êñNµÍ£¯†:-Fœj›'Ð  rLF`¢o•õèßí›a$WcC+[Ù8@çU 6Úšå,Ë—Ò‚¼BS˜h‡e—º[-Òô¨5+ŽŒ=q‘’É* ‹ëã!0ÝkvûiUÌÖ€þ=PèF`"Á’½‰ Áì›”ÖZº& èO`¢[BiT„ *-hÝIµô§O@`+í° {E+” ™ÔA`³{gk–ø,+…LO .Á’õ›L ïi²5Ø&K%ݲ¬= @`2ÓÝN¶$&‚ÖJÁZë™e]X!k…'•%A`­¬µžYÖ@°VxRYÖJÁZë™e]X!k…'•%A`­¬µžYÖ@°VxRYÖJÁZë™e]X!ºË~‘ÐŒ"gI€@Wu –­"øý>ó«œ@8„ÀލT°v„>Ë„¶"P©`ù=”Øú£ [ }Ýj©CK'0`yÑ)§&Yr{¨?*RbKº¾–×!X‰Ë6Dft`‡Hu€F ÖD º/ð àŠH™Æ!X!°k&Úa™Ö˜QZRôÇ”«<—H@`M&,A¦¢³-;Dj[bÄC`Å–zK(B& ¸âÃÒ ˜@]‚ed†tìm]@쉆Xén ×ÇŽA@°&Ît€@wVwvdB@°&Ît€@wVwvdB@°&Ît€@wVwvdB@°&Ît€@wVwvdB@°&Ît€@wVwvdB@°&Ît€@wVwvdB@°&Ît€@wVwvdB@°&Ît€@wVwvdB@°&Ît€@wVwvdB@°&Ît€@wVwvdB@°&Ît€@wVwvdBh,ù÷JãiQœq£IgÖ”žŒœÀYÞvk3ÉRæ4£µ€@’@Ë?¤jÿd©\lf' ‰³5ÀË#-eF~Õ%„W%@ –VŸÒäB–@/Á’MüXC}8x4jab”GjpPJÓ§¯ŸÏÒÈdº:µ¾…i5;Œc¯AYŸ¥C`FPCì8–[ ¹¨ôÇ öo[€~ÔÛ­l†¥ˆáIÛœbX¢9›*$ÌéKYͤa)6‘ôÎüÍc²&Nìî;¬Â‹ª0LX'#“ΦàÖW‹=q‘’˜[ŠÀ(î;¬ A¹Âm»‘¿ÚK"­TfÆ¡†Zçj (é¤dÕ%uˆÀ®E°¢é”\áf'áÚh2Ò;‹dæ´fÌ­A|Ó¡Õñ l Æ(î·„‚åÊ2Fd¦±ò¡ÖÆZ2sõÉÍ”e«'0ÊK¶vMÚV"‰²5ÒÌHÖ œ>Xì`T}€zgk–ø,+•7|ŠÕ‘¦‡fäë0 ]#P*XþºFþÐl3‚€˜iy¤/eYføÑ`£C'8LÆÄõ ³|3–bF\6ðøH_ ;N`”[ÂgÊò!‘ X#¥, 0<kx¦T„F"€`–²€Àð¬á™R‰‚5XÊBÃ@°†gJE@`$ÖH`)  O ôÁÑž3oõè¶=%/“òeOò¤C`M¦,/@­ìi [Ó €VL`ô[­'––8W|X PN`tÁðžN•K^Õ°Eª'pÚ( °SÜKTI06ds8#¥ zŒ¾Ãv©î׆mŒj€À¶ÃJáf0‰'ÖG` ‚Ŷk}ïKV$ºn Ez‚íÒVK¹Éã„–K`žVF†ÍjÝ=ùøÖàåž':‡„ÀD‚HIpœ‰¦Qïo²ƒRBk"P×-ášÈ²@`pÖàH)ŒEÁ‹,u!Á Xƒ#¥  0k,²Ô…'€` Ž”‚€ÀX¬±ÈRœ‚58R BcýÁQÿë2þiÏxA>ÒFó)†ìq+øœà0àkÚ” ²8„v‡À¸·„¦A»”•BãW°ú÷íï“¶8õ§ÿ\T€*'0î-áØ‹©²Mœ·Çž—ú€À,¦ÛauÑ#I4šîíYx1) 0#‰«›ZÍÈ…©! L!X¨U…'ž– °D£ VµÒ»Bý¬ÊÛKÄMÏ€@ã~èn9Y‹ª;ýUL ª~™m³`@«$0®`©<Åàšüz·%>8Œç¬†Àè·„«!ÅB Ù X³Ÿ€J X¥¤ˆƒf'€`Í~ h(%€`•’"˜‚5û) @ ”‚UJŠ8@`vÖì§€ Rã>8*]èÃîÚNþ!OiíKÊPÅ[M @`¡Æ¬@k‚ÙÉY>,ÈâØãÞšíPV ŒG`\Á°oÙvÉTÛ<c‡? ÆßQ–ņG`Ü[BÅ!¡Fç —TÐ\3¤ Ùf´:µ ^!…˜B°L§¼²lÅË*ø¬¤Ó`C+#0…`M€L¤0ž%éŒÃð@K!°ÁJî¶’Î¥œú„bã~è>ý'9cÒ³ÀTN`Ü–ìq¼XØ–Gœf÷äg±²Igÿ¹¨ÌH`\Á’…™‚øE&ŒúC³ÍЬà0ã´Y0 Å÷–pq8h¨™‚UóÙ¡7@`ƒ‚µƒ@ fVÍg‡Þ Ö š X5Ÿzƒ6 X88€j&€`Õ|vè Ø €`màਙ‚UóÙ¡7@`ƒ‚µƒ@ fVÍg‡Þ Ö š X5Ÿzƒ64~½Ì­7_¿È ¹ °Ãšû 0? PLÁ*FE  07kî3Àü€@1«€Àܬ¹jà IDATÏóCŬbTBsh|¬¡Oc矸¼O:¹€”Ào¿ñÕ{{ßf4Zëso½ã×çý˜¯¹ôK«9z÷;?|ó]–ï‹.ùâG^~B=<ÆåÉ`CƒÈ Ö{¯¿ù·Þøškþêú×½ùúï}î]O|Ò×È”W^råëÿ—®ù«ë‚é_ùâç\zF­‚!! B Q°d'õ¢ŸÍØéŸŸÿ¥×ÿÙÕïzÚÓŸ-{¨¿è…o}Ë‹GǾìK¯?juÿ…Æ",¯G6óá®ê5ªY²Û’À_Õó/ü¯ÿÁg<íÓçßßÂ0 ŒD -X¢Gz˜™U¶Zßþ¼Ÿ•×OGA‡Ÿ“E^€úH VaMûˆ=ˆo» žC@^s4ÂsXG,° Ê X•Ÿ ÚƒŽ XG,° Ê X•Ÿ ÚƒŽl|è~âA<Á‚ P'ÒºØ,ñž9W£`IôŸ]ý®dN@#xñ‹^˜©œ,I{ÚÓŸIžlèÃ{Üds1 0'›®ËÌÎgX8 Au@°ê:td X8 Au@°ê:t3#gîïËŸ`êV-º·æ0ö¿Å|G¾îÞ{Õ/FÓŠ$ 3Ú”øŸ¹ÿRñ¼îÞ—þ:[™4µÝšØÐTÙüý+X)Œ¨h‡%R%?%ìäͪï×Lp&FtG¥Ç ©Ó*F­™flH¤j)jUÂÄÖ­¬Z‚‚ñaŸ É÷†¾£ZË&sãöðŒD ¢–þ+ ­š%ïÿ®²÷™JJc‚`ò¹>Òøuįž8×üÉ:VP Ý[‰ÜØaù! hU4?o¼œ`^9´x ÛRÌ8éÑÖÒü©5ÍÄëhòÕR‚Rùà ¾/"vPÊF}–:ƒH4®iF*¥´fa‘deœ}T$X­ËÞ:¯o){™áGÅN¾wã-Ý Ë÷âF}¤Ú*C6&Ý$Æ£qxÞüÒ|¼oÒûÛ8-Þ_whž TyŸ%ýØ,úÈ×`]N22Ò²¶3´”ŽŠ¬f½a N`‚¿Ÿ™÷µVЂ™:ñŒZsÛÄ ŽªTµî­$X:ôó&«59ËW§‚¹¶wÛéšÚ6\°é´‘MaV¹Éêø0ê\Ù—Â.'° Áêóæï-åßÍ2‹?,?~çU"[ÁDººòéúDv[`Ÿ[s¥¥Ú¹FµŠa«µ®”%PчDÞj…oP+%ï*Í2ÏPFÉuR2—ˆ”üÙ*Ù^;ô°UÊVÁAorØ3=.˜¬™|KÈÔñìMï”ÑäŒI§¤Œô¾JN‡ÓT´Ã²ÛÕhú—í êßaöî4gþ]¨£ú¶SÞãmÕC3‚)4Ýœz¿êîIýñNÊF[eK&²~Ô–ÃÌì>^f·È¿Æhý Þ—J-öàó>Ÿ"¶…YÿjèöÅ›üVDËúR6QÒ°‚:o2Æœ6‹—OdE0$°¿wÑ5Ç.;gÿŠ‹OÝvë'^u—•–¯—‘okXÄ/?Ë{ÈÞOÖ?Jdˆ÷U ÀÁc¾á¦ëÎ?q¹ÿz™Ïzð±;n^câI%†@`bµ–-;³½R¡‰UÆ<¦DR-;4Ccl^ïÓe ¿Íe‰€Àdê¬&µ*‹mÕÄdHqë,Mèµxa'MEðC}T$XMj%Ë›F,òz‡TõyŸ‘ AÔòXƒW+±“kA‘Ÿü>(?”-–H=¨À! 0%ºvX%+7ÍCâíPsÕYè×\£@¿´”:­lI‡Ä@#¨E°Êÿ–P@ò©¿ñvk À€&#PË-ád f"@`¹¬åž;:‡ÀÎ@°v`,—‚µÜsGçØ9ÖÎr å@°–{îè;GÁÚ¹S΂!°\ÖrÏC`çÔò਀·ßÈÙê!ÒÁÏØñã/Óš'O¾´µ¸KdQüÿ¸Õ<ù’—˜= ¡îç Nóø~I'ù>…@@ Á ~—pFÍÝñ2ðò‡V¢SšuüP­FÒ©ÓS~Žo2iË3ýªYÉÑhÖ€0)%j¬ÊÞMäõKåÉ{ÌÎ(—J•Nd¶)—y$Àœb7ù­á¤‘ü£däÁgÎg™S̯N¯t6ÔTÜ1V-ðs£G÷PÖ€í°Ìƒ±hÜNzúìnìY{Nd;©žÂ$éVªpÉ"1…*ÓÖPØaõ¨e‡eDìÞÐï¹lté†Üñ©”Ø­Ÿ)K“_–lCì9ˆÓn'Ŷ`Sn«¾ÈË Ë5§z$À{L˜’»3+Rb´Þ¸©ù»?K œ)?æ[°ø’~ˆ©‡@Eß8š2Í7Žfè?ÔSGú7°ˆ *(¨É"NÖHMæ¿q”[‘°o”Uµ—í€6†9pP+3$PÝ-aØà*Žíp«q¨ÕˆpWQšÖ*N#‹€Àn@°vã<³J¬‚‚µŠÓÈ" °¬Ý8Ϭ« €`­â4²ìU ÖÁ3‚gž ÜÓÇ*!°[*z¬Á~óYÏÀŒOº«êñWì»u)°Ú%¨H°W¡H%%éìv DªZwjN×­I² °ƒê¬’ JQ¸÷1ÑQ²,óËtæÛüÞéý>^cÊ›‘\~ žê,»+LnµTP5ÑõÇC^JtÔ"} 3CÂJⵚ”Ò`_S‡x…'P‘`y‘ ¾«§(l«&&CŠÛëW|´xÏã²x ˜@E‚7gžyE!¯wH•& ŒM –Çìf0³`ù‰÷;%’ge&*–Hí*S!@`(µì°ä~Ðk–¿= –jš%F0ä-L\â×£@¿´”:­¬Ÿ‰@-‚%ËˈT°x/áða¾B‰ßÇxÛê$6ŠŒA –[Â1ÖFM@`e*Úau#ËN§7² °Dì°–xÖè;JÁÚÑϲ!°DÖÏ=C`G X;zâY6–HÁZâY£gì(kGO<ˆÀ T÷Xƒ=ï^þé¹Ó3 Ð@]‚|IC‡õ¬˜@E·„¨ÕŠßg, ƒ¨n‡¥«â~p³K¬Œ@]‚e:Ånkeï3–ATtK8Èz(¬˜‚µâ“ËÒ °6ÝÊý Ï4¬íýÅz 0(ŠKÖeŸa ºFŠA+!À-áJN$Ë€À.@°vá,³F¬„‚µ’É2 ° ¬]8ˬ+!€`­äD² ìkÎ2k„ÀJ X+9‘,»@ÁÚ…³Ì«& ÿ°þ{ÀUwYGsµ<8jϸ–‘"M¾3ä7Tæ_9”€Ì¨µ7Ž™œ<ùÒ|ØÊF[Ùö\oyýLä ç·çBHo%P‹`I£^¡býò+ɼí,,£ºcoP‹TÃ*Fµ’‚»&UÊPÐåÙ¨·=,¯Ÿ‰,?¿öÎÙ¶O{§ùĤÓ¨]'®ÌS‹`yµÊ#Þ.v"ÍÐt}ÿÁ2¿/OPGRÔçšßϨvüª{«3‘;,?$­¢æçµæ­m3â¼Ç‡%mïÔDõ¨Ý4¯ŒCÞÓ³NPÊú±µþ¶¯Mu̯uuÚP0µú§¦ËPÒtkÌf/)Ô\Óa-‚å™6}Vp íDŠ_~ôDšáGÅ.<Í–n†åŠGkê«O0ê#ÕV ´é0ñè&1ëÄóêÒäU†lÔŒ¸Â™~Žv=šëý–fþ`^›ÎÄ#vÒ¯CÉþ[ã›ê[b¹¡ ø&}cZÇFu½šR8…æ&Sâ!­/~7CçÒQ±“Õ ûYtX‚Ïk“9vâ%%¦[l^‰Ô®¶M´ ÞP©jÝ[IJ0¯/¢£§Ûa9­ŸzöÜ‚ö’u2ñ6{kL0QëaÐs²±¸H¦]Î8+ödRt¨såx®eyª¬äöªÏIïÔúw•ÌâËß~çU"[ÁDººòéjˆÜÔ¶ñC­ÑÏ`/œB+è9òÕ Ó“aÃVKNQ³³:ÁÊÀ²Ó_~Ï2=ØÐP•½H•ÜZbè{×{ºÙCÕiš}‰õ Ïo¦+ ÞŸMïÛdpCõÓåƒW9º$ÁÒ §?>Óê‘{¯Ä1þü騼ñê FõPÒÕR¬+_?¶½y‘ÒHm½+´åK¢ÚqÏAÿq3ê±R%u,ØrÕ°¹¿÷õ½ß§”Ôññ¾Ž¯¯1ÉWB†Ô, kõK˜«m)Þ¯Õš^µÉ TSp\?è¹)qõþê«ä¯ ãwI‰ÇŸË||0j¤ÓOØMJÔäÒý¡ŸÚl3$ÒÛ>1¶-26â:ãë$à‡šl+åÌ×ñC>ÅÛ>ÆÛM1IÒiÕšF›üšèGóä#ã\kcÅ?é®'Þþ´ƒ§%¯‰ïçüÙ¬n‡•o7ÿ_Çà@mšÞ·MþÚúŸ«ŸÅï°æǼ€Àô¬é™3# Б‚Õi€Àô¬é™3# Б‚Õi€Àô¬é™3# Б@E5øïÀ*y|´dÅùÇóJ*ÔC Á ~ç98 x•Ë<ÕÃR@"4ÁæÈ{dH~TŒÄÐ5¼SíYˆ3) Й@-‚% (ö*–ó˜!½m€’NÅ€j&À“î5Ÿzƒ6 X88€j&€`Õ|vè Ø €`màਙ‚UóÙ¡7@`ƒ‚µƒ@ fVÍg‡Þ ÖŽaža=óðê°•©Ý$Pу£­ßÖ9Cª ɇBe(éOVËÔIÆoëÌÔߪÏmç%ë P‹`_ϬãË^$IA¤jçú”LØÉšIg¦þV} p!P‹`•ã!®í¦\• õñj7Q¿Õ"’eF0† µòV}V& +#°$Áj’Œ¦SbÚd(ÖHS%3$,ÓOf(¨/‡ƒô—Åõ¨E°‚ok@ouý¹M‡^&ÔnŠ0F?M³oÕgSüXZKhúokðÀËÐm“è¨?vÇè§iƦ>›âñC`Å*,£Üô‰»É„ßÁˆ‹x§·›ê7õ3 Ä”´ÑÔ~¬@-‚å·T~«™A%²ÄÄX}õË«ÕÏÛ–hñª_æ BüjX|ÒÄÄÕð@` Ô"Xy‘ NŒ]êê-8éO:%ÅûKl›%ÈÍ/Û”nþ¦` À€ÀàI÷<é,K%PËk©ü¢¾ÙEHp@`0ì°CI!@`lÖØ„© FÁ %… ± Xc¦> 0k0”‚Æ&€`MxõåÙ1}|l½Òân˜í±†ø÷oÊvO™^oÉG d(é‹LæÉt;Hýëg*TÈshYË “1 ô+8´05âËI$IA¤jçÆ)c{2Ý2uSýäړΦ uòEA`ÁÒßÂIÊV 2¹À jÊÒKQF}¼ÚqÝ&mïÔÕ£¶Maa6 ýÈ¡Eú¡’:>Þ×±Åi?R0é·€VÃúôuÔî_¼uv f¬ÎÜí.¬`×R/CA5óHplÛZÜüšk‡6µ÷ˆô‹ÓÂJêøxKT§Õ·C)èjk'É¡8XÃ|ó£ÝÊaa)KÄ€ÀV–!X[]W…ë÷—_ëeÖLš—QÙ{»¤N&^Ó­þÜ‚íP—<åŒ65ÆîX†`q1ÔsiéêÊßsåñcpk곞Mâ_e–‚¶Ë¯üŠm:CrueŠèµ×”Ûß?qý&nJLžgbT€€˜A°ìãv5ô3xy5¿t–ùz,¹ü‚+Í®ÿãß¾²„ÉybÛ†´‚ª!‘bè«æ÷ñjkMï÷¥Jêøx_Ç××íDkʨ9“†5Ä'ýAL² N E`Áj£&¼Ôà’ ->éO:ã 3Cb¼j‘ Æ*ñ>ÌÛŸtæ§ð)ÞNÖÌM27è?YÓœ‰Oº–²€ÀðfØa ¿*nO iµ}%2 0vXÓ±f&@ '«'@Ò!é XÓ±f&@ '«'@Ò!é XÓ±f&@ '«'À!ÓåÙ(}LJʾ~yŸØ2E0i ž &ÙXy?Éô`^!°t3–þ N,OMþq«X¼^Ãrè¥Aíò"’ž¬ãý:£UöC~j ÛjjM ^“ýØìñŒA:‡X.«3,½PË/H»†ãe¨¼Z²N ;^D‚!›=3cfÈÒÍHö££[­Ë b@`)–!X[]Ï…èýe¯va¢†™4Øa&}Œþ›¦ë¹®¦²ø!PeÖañ2'ÕüapjÇè?˜Âû¯ËJa@ 6³ý-arÙË^Ò}Šê‹TóέìÂ6|Øaû‰þ5¦O3ÖyÿuY) TH`†–}Ü®†} V“? fšeW¸‰Bpå'ýAŒ/žŒ—€V¿ÄX3j[Š÷ë\qÿê_­ˆV*ébâjx °3–)T€¯É„É¡]º:Z|ÒŸt['îÐZŠ'ÊMS«IÒÌË!–N`I·„KgMÿ€@O3ì°zv¼²tvF+;¡,gTì°FÅKq@`HÖ4©ŒJÁ/Å!! XCÒ¤ 0*kT¼‡†$°*Á’gšô±¦! Q ¨†Àl‚eϵ ñèyÆ3¶ñØRã˜á9,Q¥x=â´'ݽGŠG·QÁLIg2]œ’ìŶJo*‹•À ‚¥ÂÈ–©UëjEY©J¦xòv2XœZ³°xSü€À¨f»%lZUf{%jÒ$(â—‚^Èšì¦yÕ/Y‡“Tã¨À ;¬ ‚&µŠõ(S¤çmµ¤ŽW½žeI‡ú¨H°šÔJ9¥ˆL)ŽýÏ °Sj¹%ôj%vòˆlÉ Šh•˜8ŧ{["uïĆ*!0ÃËôH û¸Ýüy4¦Yb”GŠ©IŠš¨†Öñv¾,£€À\f,S(¿æ¤ÓxÛKU^h,Ò ©ãm+›tÚ( PZn k`A€@åfØa K„Ѱ<©š °ÃªùìÐ °AÁÚÀÁ P3«æ³Co€Àk€@ͬšÏ½A¬ @5˜M°âçÚÅ£?5ó¢7@`F3<‡%ª/Xœö°»·ãH<€ÀΘa‡%ÂdÚdÜc a@P3ì°2èuó…xe1]&0Ã+ƒû`ëõö·'ï3Y A;B .ÁÚè,èF ÁbWÕíü‘"0ÃgX¦Mþ+'(öN ˜A°šô¨É_¸ Õ¨å–põ Y  П‚ÕŸ! ‰ Xf@ ?«?C*@@°&Í4€@V†T€&"€`Mši þ¬þ © òûê¿ï»áå`³ –=ï¬BüMCAd·C}3¯RJ=™šƒ¼™üÉ̲ˆ¡VV=WQ^?9Èùê¹Ò'0Óî=’!ÿ;:M«Õ÷bþŸPÍÄh¢˜!‰‹ç§kj5ðŸ<ùÒÀ³ÄÃVV=U^?Y~¾ì°mÛÉ÷XÒW. ‹wÜ3ƒ`é¯àIJ¥jÕz>‚·—x3´‚¾_ƒ`ŠßÇ'¨#)ê‰sÍ@Æ“IDATïgT;~õ«@¶üÐá,-¢æçµæ­m3âOIÃ~Nj¢ÅÛ¤?–È8Ë<>^lóõu–òצ:æ×R:‹:m(˜ZýSÓe(éú´ f³— jîòá ‚ÕwpÊíÄ‹_~ôÄ›áGÅ.|[Xº–+­©¯>@<Á¨T[E*ЦÃă;ĦѸN<¯.M^eÈF͈+¨'°Ã Ž¥[€xÄNúu(ÙOk|S}K,7´ߤoLëØ¨®WS §ÐÜdJ<¤õůñfè\:*v²Za?;V‹`é†Ë¶]Án+~')s¾íRò¶ÈÔ‰gÔ®Ô_žÔÑC²`界”‰ü¼ALÏ6¬Z¾NÐöýdâµ ¾uÕÇjæhaÚyà´àŒ‘IѡΕ3“®r¨Áò_Õ¨•pïsRÇ{+øw¡ÌâËß+~oU"[ÁDººòéÆˆÜváÛÆÕ³Ÿ7ÀX8…VPæ¾Zaz2lØjÉ)Öä¬E°J˜ÚÛ¥ü½Òí}YÒÌP•½HÅ7ŒùNô½žctìyǨ_x¾‚0í$x¿5½“ÁyþÁtù`F…À ‚åïû¤¿·’C7Yv¶äí¿3Ô#1öÞŠc¬‚:*¯A¼z‚Q=´¬ EËšÓÏâm/F^¤4ÆF[ï e"ëGí¸ç ߆پŽ8­ËÕHóûxµu^ï÷)%u|¼¯ãëkLòU§!5$KÃZýfÁj[Š÷kµ¦Wm2(Õ×znJĘA°… Êjpü®*ñø‰òñÁhpØÔƒ¯ÛMJÔä+˜Ç÷c¶æmËŠdXÒ©¹~¨É¶Y|€9ã:~ȧxÛÇx»)&éO:­ZÓh“_ýh^€|dœkm`´˜íÁÑÖÎ ôbÿ+Ì" Óàý9,çvXÃ. þ×°õ©MïÃ&IMbb‹ßaÅK¬•‚µÖ3˺ °BÖ O*K‚ÀZ Xk=³¬ +$€`­ð¤²$¬•‚µÖ3˺ °B³=Ö?ËnOÀ+æ’'H[OHþq¾Öt ªÌ X0y…"U.CòLðLiy®o ¨À ‚¥ª”‘­<QœàakŒ>}}ooÕ¿OĆÀr Ô%XMǸ8û‹K¬bcôÙĤÿM•ñC ZË,Ågr+Ŷ|åjŠÈ¡wz{ÛâM}(1}ÚÛv9ÄC 3–}P¥†ÝŠaCæŒI©²ˆßG…@<"$ýAŒ¯o•ãâ’e£jÛ¡U°~ÔcßâÍHö)£I¿:[kZq ¬‰À ‚•£Ì‡\®Á¡E&ýIg&ÅÇ{[R‚C+b†È³Ü¦úMÁ>k%0Ûƒ£kʺ ñ̰Ão15WfgTóÙ¡·¥`‡µ”3EŸ€À‚Å›X k1§ŠF!‹÷ °ÖbNBÖ ïy&KËšan¦„À’ ÌöXCðëÍöŒ»Á,|ˆTãõúO>: CI¿Mä+Î’Ä ¥Ûaÿþ»ÍK–E`ÁеI‘y…jŠÑÈøòeQgL?8×R4R̰¡nFr®¤sþ»5ID`ÁRa $É«UŸ J>LFUÄðšebäAŒV¶H; Úa2½¼O­¿Z}ߪuåq.¬’À ‚ÕÊQ´,©_z—_¨vmÇ3ÊPa5ÔRÞôÈf*g†’MŠSS‚ÑòþƒD!°h5 V t«ë›Þ=côß4~TB :ÁÊp19P#Ù:T²]j-ÒÐÔç€3jÿMëÂÙ Ì Xöq»É«2\D‚+_%¥ÄÄ騼zMÔíUS¬ ; JY€ÁPp¨“Š3è-éb‚RB`Ýf¬¼BåGõdÚ Kú“Î|ŠŒjVZ3|@Fh|˜åÚ¤ÞÓä b8„ÀZ ð¤ûZÏ,ë‚À ̰ÃZ!Å‚%5m£ R N`‡Å[X k1§ŠF!‹÷ °ÖbNBï@`1¬œ*y†KãZ@¯´1 ÌöXCü;ƒö¼¬·äñQE¯çä£2”ôût±“Š ‰™ÊA…)3]®wÊn™ C˜A°¼0Ù2ý -Lør5e "å0P«8×R4Ò.x‹TÃÂÆ3lF?EÒ9Èzý,ØXKwOIÙ*A&p AMY&4>>P%Ëõ1ê «RC?®*ù K#—wp%롌–øƒ˜ŽÊ«É™÷$mëÊ ³ÊZÊÚüþPmj «Ä'ýALPŠC,‹À ‚•ü@]¨5ùc Á%Z|ÒŸtfR||“méjø0?Ôä·f¹b$ýI§Ï†À‚ð¤û‚N­B`× Ì°ÃÚuäeëggTƉ¨Ý"Àk·Î7«…À¢ X‹>}4Ý"€`íÖùfµX4kѧæ!°[¬Ý:߬‹&°*Á’g—ôñ¥EŸš‡šÌöXCðëÍÒŸ=/vùC¤M ËûU×xt O‰QÔF`ÁòÂd8ý -L¤Ü$A¢ŠT{±­Ò­ 0%KwOIÙ*Y¹(KáÎÈKRkŠ”/i•@`X3Vçd6AñP =ÁaS¶ój¸¦ ø!ñÔ"X²íÊì¹b=ˆmµd dk<ÎT†@µ–´î?hÄkJ™R;œ0R °Ë*,; MŸ¸›lŸ%¦ðÎÑZÅ€¦$0ƒ`ÙîIø3x¿ÕŠYˆZ•(”…i¯qš.~_ÇÛñ¤x Ì XI=J:›Åêã=–•tÊhÒŸtZ) @ «zÒ½ ôŒG`†Ö°‹ag4,OªA fì°j>;ôl@°6ppÔLÁªùìÐ °AÁÚÀÁ P3«æ³Co€Àk€@ͬšÏ½A¬ @5@°j>;ôl@°6ppÔLÁªùìÐ °AÁÚÀÁ P3«æ³Co€Àk€@ÍZ¾^æ‘—Ÿ¨¡û[o¾¾†6蘗@‹`âò­úeÙ6e«ú¿îÿö™O¾rÀ‚”‚zhÝš´–Nÿ§ï9™ïã–;ïyÌeg_râØ{¯¿ùªCkMÉœ`TÔ꿼ñ¯~àé_:Á\L]&Ъ^@òwuíŸaÉd{оüÉ¿à~g}øã÷Z€¦Ø! °³:H†U»`i²×#ñüôýÏ™¢Kºåö#‘]JÏô %ðÒG=ŠËO&°t¾ä¬¸íJ3H醸 :.‰ñk·jdA³ðjQéͤ©Ï"ÁòɦS/øþôþ‘ìw½ÿ”TŽ_GšŽ²€À¨L7LI¶šn;Á²9lÖ­&#€€©‡éI9“-˪Û|åÓ @À˜†˜ªØPÞØB°:Ï‘ï€Q@`טN™ªh,yDÂjYuO†ìÅ`@0^@Ôijõìïþþm¤]°lb5¼fÉãWòGýq[Ab‡C}Þ,~íPŠ@ ¦V¢$dkÁ’5«féë:å±~ù#:Œ_}L{ì¶;´D v€WYï¶WbÁ’iòjµms§ ÎÍ=¾?WWÌ uPõ5vŠvÁ²›¾¢ò¶ü^a\•Çw[Uc4•È\k~ÈÛ-¿ü,ŸéƒæÍ%F×ùþƒozÌTÉoA_RÅ×Òœé,õ_é–ß|NÁÁtÌô-‚%j%öMŸú¬–húå;½·’ë_¾B¿ B¾¶¡õ)ûL[c=ü¼O}ÓcN´~—ÅØmPë&ð„G]¾­€ääëÅ/z¡\Ò‡›¦¢[<ýËwD<2?óÌ£ÕïgæÃô€@giš»Q°žòôç4åà‡ 0 FÁòÛ¥Y:cR@ö¿% 8„ 0k.òÌ lMÁÚ €À\N†uê¶[wþŸ·'¯™VN~´å_£Èä2@ cwÜhY§kÿÆ;å›=åõÞï´±Ø`?3ÁLFà¬ýÏüÑ©.<˜ï†=þI†É¸3 ÐÀÁkÿΛ:d’@`bÿ|¾g&düIEND®B`‚traitsui-7.2.1/docs/source/traitsui_user_manual/images/HTML_editor.png0000644000076500000240000000116614046644454026567 0ustar aayresstaff00000000000000‰PNG  IHDRŠ)em&s=IDATxí[ANÃ@ ¤ˆ ñþÿxÞPÜŽ4µœ“VÝz†CåµgíÙ™lŠ„8ü|}<égTžG%&^'dÏÐÏÁ Ù½¾½3VP«Àï÷'èöÔ±0]ö,T[–=µú/L—= Õ–Ëì9œ:¾kóNœ›mËìi²¹6i6\»e[øË/ÖÛâmloŽÇãæŽÓ$ܰÇ›çL’†a•qØ8Í6ì`yîõ˜àÒ6žKô2$LJ~ta_ndìÏ ,ã“$*œcП{¹Ë‚sûÓS?Š㘂]hâ;0À$Ùœ=™!xœ Úf¤ðiIä{*ey{Ø\ÞccL·V7tK¶$¥EJ½Ñr={qùâ¥4ý…‰~Ð+ÙeÜøîðÃ>mùoL\zÐzʪ ÛY2Þ>¹Xתƒ×ì"fò¾¬0b=7Oé1q´‡)Hc’70³¾aèúcé1M“¹>æöé¸õMz#g_napó >9³X2_rƒ€GžI!oK_òq(aãhŸñöŒÆ¯Ÿ‘ßiljãåàæàô¿ÿpЦŒaÓÜ¿š#ïB);Kƒ»ý“ú®©mjÈnN–yv\"¢’ŽaS©#Ër|||||¼µµµ«««“““••UátåÑ#“†6mÚJGоj7õyx4ƒÑ"ÎPöè‘?lÕª¦U~ç·ˆˆJ†M¥N|||bbbÅŠÝÜÜ ­Ë–'O étJ³¾{w†Í›X—+—£C>zô@¹Þ«¸e@‚,C”¬ ”Þ@~&G%«÷”$IJ”33XK°¶€µ¥ôý¹ @TëZÖö\ˆˆŠ/n(]RRRâãã]\\ 3f¢œ3Ê0!Ë0ÊÅŒ²$ZD£Á(Óþ{fO£Q–•{ÉO%˰±@Ù2Òª3|@çÎ4jÔH¹5$$Ï&ÛŠWÎÉ(KdcÚ&å–1Ù¢!mÒb&¡s=3޸鴜–UJÿ© •~ †MDDѰ)<<|ëÖ­W®\¹råJDDD•*Uš6mêíí=|øpe·C‡Íœ9À;wvîÜY(]=zôèìÙ³ :T}-‰(ä´²éõ-%q]îi­K`pk©gc3±ÿ5c—zf’„îÌtãÖ¿de ¹ªf$‹¼Sz6‹ˆˆ²W?æFŒñ¯jy²ððððððŸþyçÎ?þøc•*UD;×"-v·oàqÿþªïÚerëU;;?6oÀÙÙ€H"zyy!}¬RjêÓÂŒê–úõë0`€ääd“#{xx }lS™2eòá™å/CVWÑÒc !m¤ÞMÓb¦onÈWï>él.IèÝÔL–›O§~RæÙ©*ާ‡ODD”"6!@”Ÿ»:uÜ«Y@“† øøø¨Y³&Ò+0 ¢Vx|||¦-±±±DªRŒy&1Rª82¡Tv‘N–¼ÙƒZ¦=ÓÕÇÇB”ÚN8"YYÿ¯£€-ÌuÆ=Ä­P"d#³MDD­‹\qqqÿý7€-Z¨c&VVV_}õ•X¨5GØôz}PPPDD„I{rrrPPн{÷´$11ñêÕ«·nÝR_!ÒÂ`0üóÏ?.\ Ëjæ<ÑsŒÐ`”%½A6%½AÖdƒ#†ú¤ý¯8f}ºÉ}ããヂ‚Zµjennžã—¬¸ó×ÄÏÇnnÄœº–ŽŽ**T¨ aÆHÏNe\.û16_¼žâ‚¯½½}ž?—‚¤‘ )­Æ’R)\þóoùåZÒÊcÆCAiÆå§ã—d@úù2 FãÇÌNÞ” Fq«¨C ®ÔIH/§IDDÙ+Za“»»»•••N§óõõ?~|ÕªUMvhÞ¼¹úW£Ñ(R8ê$PjjªÁ`xòäÉ|pâÄ ¥ýÖ­[ýû÷ÿé§ŸF}ÿþ}¥=""bÑ¢EƒáóÏ?-ƒA|Ö^¼xqéÒ¥IIIÊÎ Ë—/‹‹[ºtiöÏeâĉ›7oV·<~üxåÊ•‘‘‘«W¯VVg†¤9e“ÕTÔ·Šÿý|?_6flW0ÛDD¤EѺHgaaÑ©S'ÿþûo»víæÍ›wíÚµÜ*00ðĉÇ?|øðÖ­[ßxã :®oß¾÷ïß0`ÀÁƒ}}}?üðC1¯jÕªU/¢ÍŸ??))ièС۷oÿý÷ßgÏž-"¹M›6­_¿>›G_²d‰ˆ™Ú¶m»yóæË—/oÙ²å•W^°k×®¯¿þZÙÓßß?11ÀÙ³gÕÁ\iààà ¤ˆ*¸¸Tpq©U»v­Úµ]]]]]]œœœœœ*V¬˜£K☕*UªT©’¸¯ØV?Vq¤\\3¨¯ÁÉ’áÙKrÏ´È’>ý”;êÕ¿ad¶‰ˆHƒ¢•m0þüK—.EDD$&&.]ºtéÒ¥žžžíÛ·ïÔ©S§Nrt©eäÈ‘_}õ•ØîÚµkË–-ïܹ#ËrŸ>}V®\)ÆÌ¶nÝ:66ö§Ÿ~JNN¾~ýº¸0¤öÑGÍ›7Ol7lذS§N¯¾úê“'Of̘ñî»ïfZ¨)22R<î+¯¼²}ûv±œ»»{Û¶mûôésáÂ…¥K—Ž?^´wíÚÕÞÞ>!!¡U«VZŠ:Ré¤7"ãs鵿%e:@VWP•Ä”!=]AE¹£r@³MDD­l€*Uªœ8qâí·ßVÊZÞ½{wóæÍ|ðAƒ ¦NúèÑ#‡5j”²-IÒàÁƒÅöàÁƒÕå¼{õê%6Ähtµš5k~ùå—ê–ºuëŠQP)))7nÜÈôq/]º$>ЦOŸ®^7×ÖÖvܸqôz}pp°htss úå—_<¨ñy•"Ÿ$¶]ÝÜ\ÝÜ<<<<<<<=====Ë•+'fÒ‡„ë 0E>IúŸý)ŒÐ?»CúÐo)}¹d0*ãÊ•{I¬?@D¤E‘Ë6(W®Üÿþ÷¿¯¾úêСCG=qâÄÇ$&&®]»V\\S*^f¥|ùò&C£ÜÜÜÄFݺuÕíõêÕW3mÙ²eÆ|RË–-ÅFPP9nâÒ¥Kb#66öرcê›Äõ8W®\QÆiÙÛÛ·hÑ"û§C¥œÞ¨^ åizI1Ržƒ2lü™’d²­>«„iQÃ&ÁÞÞ~àÀpùòå;w®_¿^§Ó=xð`üøñ{öìÉþîê4 íµÅ3Š”¨+((HtÏÄŋů[o½•Õ‘ƒ‚‚4ö¡Táê4Y1Ê’²–\ú ¾Êê¼i’l„$IbÝ:ÕWeU9ÃHð§¥›8´‰ˆH‹âñ)Õ¤I“&Mš <¸G ±±±Êõ¦|…ϘR·›™™5iÒ$«ƒ(©/"-ôõoÏL©ûºŸÔ©®ôõ/ò®óYîÓß“^3;"OÞùñ™m""Ò¢h…M‰‰‰III’$‰õÈLÔ¯_ÿ½÷Þ[±b€ÐÐPåbYþ¹zõjÆFer_£F2½W“&Müýý-,,8 ^x˜(× 2үͥe’” pëIf˜ÞS’!ÿtN´Iê’[`zOIì©7>.¤§¬8$œˆèùŠÖðyóæÕ­[×ËË+000Ó?~,6lmm  ?gÏžÍX•àܹ´¦ŒÓî‘dÒétçÏŸÏt¢œC¼²¤7À(Ã(KÊØð¥GÒ"¡=¥ÞÊ`pˆAßýšcFÏ´èYDGü§Šˆˆž«h…Mo¾ù¦Ø˜7o^ÆEìÃÂÂÄt3›5j@nÞ¼i2“.$$dÁ‚¢uêÔÉô^ʵ¹éÓ§+cÀ…Ÿ~úÉÇÇÇÇÇçèÑ£Jcppðúõ룢¢ò¸÷T‚(K©dIŸ¾¸Š˜ ÷ýÒŠßÓv›ÑSêÑèéܺž¥™½Òb¦UÇñ]€ª˜“,å§³í8¶‰ˆH‹¢6µhÑBÄCþþþíÛ·ß¿ÿíÛ·u:Ýõë×ׯ_ß¡CQ}`èС¢FeXµjÕgŸ}vôèÑààà5kÖ ­¾ÉÑÑqñâÅ–––âWåB^xxxdd$‡ŠS¦ ÆL'Á=ýõ+?eùãö’™„EТšôVË´˜iÕq|ý‹ú.O§Ô¥Ï¼“˜m""Ò¢he›Ô®]ûÈ‘#ï¼óŽ£££º]’¤5j,]ºtñâÅÊR¸fffb^›z\±qY\¥Å¤òkÆÂíÚµÛ±cGƒ ”;;»Ñ£G«WG‡Uz¢ôvùòåcÆŒQO÷srrêÝ»÷ŸþÙ¾}{¥±W¯^õêÕ“$éwÞaÌDYI[E~f±£ü´²¥Áˆù‡¤µ'ÀLÂàVi1Ó÷`þ!õ]žîŸ>*-ƒEDDÏ%EGGv²ãååÕ A;;»‚yÜÈÈHQ±iéÒ¥C‡sÿþ}›ªU«*A›z½þÞ½{±±±®®®ÙDE 9Z7&wt:]hhh»víòûžKbŠø8..Ni дiSÅz!¹<ä> YÔ»xJ¼¨ ÞÄÐ6i-?žÆÔ=Ê\9“zNiw-OžÈצGäè½MDT ¹‹tjUªTyn5ð‚áììœiM„ç²°°¨ZµªI½òŒ f¢bMo„„´Âiר2FB2$à?»”Š÷_Â'1ógeÕÅ9UJ)펢–8¶‰ˆH“"6QIµiÓ&"“§Î3 4@jj*€Œ¥J³´±GÆgG()-ò3íŸïÃç{Ÿþ$§ÿ4¹»òÇ6iÀ°©‘$ÉÜÜ<99™E8‹£1-æ1½Ê&êUB•…Rµ²ªü¥$?MS‰»ˆ=¬õ&+ØQF ›2aooÿá‡P/ÌÍÍ­­­cbbÜÝÝ ·'C† 0kÖ,·nÝP¹re7Fú‚DZ±±ÊþåÊ•+”~ \dS“‘Ü’iÉÔÓÀK~º¿Ñ€:3΢ "" ›2akk;þüÂîEÞ333+S¦LTTT¡‡M”SÏ0‰Œ2]¥WÎp‘NRm¨ AoÀKÕž˜™q<8Ñs0l*]ìììîß¿öÜQê`̘1&L˜ W¯^ ÒG;‰9ž¢¦(³MÊEºL¨²G&íÏÜEùUVïÙ}*^obÈp""2Ű©t±µµuppøçŸdY®V­Zaw‡´Ù¦ç\€ËP_@}q«¬Ú–$ 0豼Ϛn±È#Qqǰ©t177/_¾¼^¯¿sçNtt´«««‹‹K­TcbذaöîÝ‹ôlÓõë׈Z¢Ì•º^hi––Q’ÓŠ3eZ„É$ªRb#¤ßWa4B6B6ÂhÀÿÞ¸Ù³© 6iÁ°©Ô±²²ªP¡‚µµullìµk×RRR ƒ,ËrÏAïØ±£Æ=÷ìÙ“¯=)j2NjKyÒ7çɲ¬€£µ®Žs¼O•ø×ë¼F¹°{CDDT”˜Ip°§“ÜÀÍhižƒ;JÑÑÑùÖ+*ñÒ©Ûf‰ºÂîQÑfgŸêF7­ ^¤+i"â%ÿÆLDDDÏ—¨ƒˆYD¼¤q†M%Jª§nóœåÀ©Ûf©M{ò#¶D Ž`ž‰ˆˆ(guŽÐ1l*QîÆjM3‘Bã(æ%>¹°{@DDT iüe‚%ÓZÕS26Ê2ËQÉ'I™¤‘n[·3iÑX¬‡aS©Ð¾}ûÂîQ‘püøñ\ß—aSiáèèXØ] ""*dqqq/rwŽm""""Ò„a‘& ›¨‘$)Ó±DDDZ0l""""Ò„a‘& ›ˆˆˆˆ4aØDDDD¤ ë6Q¡Y»v­N§kݺu‹-r}øøøŸþ944499ùÕW_íÔ©SöˆˆH­´„M“&MJNÖ´ÞÌ€Ú¶m›ßý!Ÿ|òIrrò矞ë°éâÅ‹½zõºÿ¾ø5))‰aåŸÒ6mÛ¶-))IËž 4ȰiÏž=ÁÁÁîîî|ðAž  råʵjÕRïY¥J•üèÀþýû}}}5jTèaÓƒ,XÀÇǧX‡M‰‰‰gΜбcÇ_ýÕÂâ™7óÎ;÷îÝÛ¬Y3†MDD”WJKØ´yófõ¯ ÕªUпÿ™3gNŸèÅ„……ɲ  _¿~&1Q~à‡MvâããïÞ½k4=<<œœœ »;Çh4>xðàþýûŽŽŽžžžeÊ”yî]nß¾mccS­Z5KKËì€Á`¸wï^DDD… <==3Šôz½Øðôô|Á‡#""Ò‚2wþüù~ýúU¯^½]»v:t¨U«V=N:¥ìíååU­Zµ-Z<~üX}ß?þø£ZµjÕªU›0aoooWWW___®®®®®®¯¼òв||ü©S§ C~?©7ZXX4iÒDüÚ»wo ‹Ÿ~úIÙG¯×ñÅîîî­Zµòòòrtt8p`hh¨úPQQQ⾿þúë•+W:wî\¶lÙÆשSÇÙÙyÒ¤I:.wÔëõ3gάT©RÕªU[·n]£F —‰'ª¸lÙ²LŸÈòåËÔ¬YÓÂÂbïÞ½.^¼(njذaîúCDD¤`Ø”‰k×® 0àøñãêÆ3gμõÖ[âW—ñãÇ'$$ܹsgöìÙÊn)))&LHHH°²²š2e €ÔÔTuHd0 ƒ>>G×ËÄÇÇ/\¸p̘1¹ëä¨Q£æÌ™¥´ÄÅÅ-^¼X=&,û'¢Óé²yÁ‰ˆˆra“©‡¾ýöÛ?¶²²úòË/Nœ8ñå—_ZYY%&&¾ýöÛJô0jÔ(‘4Ú¸q£``É’%·nݰhÑ¢Š+ðóó;{öl»víÔªUëìÙ³gϞݷoŸØßßß?11ÀÙ³gÕqI~xë­·BCC•‡^±bEhhhhhhŸ>}DËÌ™3×­[ yóæ«V­ Þ¿ÿûï¿ ,,¬G&y5Ó§OòäɈ#|}}/]º´xñâêÕ«X»víÊ•+sÚÃyóæ‰têÔiÿþýááá?ÿüsÇŽlÙ²eÖ¬Yb·?ü0Ó'2|øp'Ož íܹ3///qÓÑ£GsÚ"""ÛdjáÂ…ÿüó……Å?üðê«¯ŠÆzõêyxxŒ1"""â‡~˜6mI’–/_Þ®]»Çúé§Ç¿uëÖ·ß~  ÿþo¼ñ†¸¯»»;eÊ”Q…¢k×®ööö ­Zµª\¹r¾>5;;»Zµj)3 =<<Ô³Õ5x"""|ªË–æšödØTÒ¸9È]¼˜s"""z>;+tñ2º9hâ"EGGçk‡¨P¤av7VŠOÎdnQif&ÁÁžNr7£Æ<“À°‰ˆˆˆH^¤#"""Ò„a‘& ›ˆˆˆˆ4aØDDDD¤ Ã&""""M6i°‰ˆˆˆH†MDDDDš0l""""Ò„a‘& ›ˆˆˆˆ4aØDDDD¤ Ã&""""M6i°‰ˆˆˆH -;æw?H­Q£Fyu(ž;"""¹þœ•¢££Ÿ»“³³sîŽN¹“W‡â¹#""2‘ëÏY^¤#"""ÒDS¶‰ˆˆˆˆ˜m""""Ò„a‘& ›ˆˆˆˆ4aØDDDD¤ Ã&""""M6i°‰ˆˆˆH†MDDDDš0l""""Ò„a‘& ›ˆˆˆˆ4aØDDDD¤ Ã&""""M6i°‰ˆˆˆH†MDDDDš0l""""Ò„a‘& ›ˆˆˆˆ4aØDDDD¤ Ã&""""M6i°‰ˆˆˆH†MDDDDšXv¨$s63€À@psãì\¨="""Ê=f›ˆˆˆˆ4a¶‰ò…óæÍäÉ“H:ÒîØ½;ÃæÍŒÆÓÌÌ €1‡÷"""Ê+Ì6i"EGGv¨Dq€²Ù'~ÈúeËXX) Ï{cYlmmèõz<;ÂI´d”qä“¥¥%‘1}øð!æææ¹ë<Q6˜m""""Ò„Ù&Êc‰]º°Ùº5›}λ»èÛ¡€J•*¨\¹òsàðáÃ:wî  Q£FÊ­!!! WWW0çDDDyÙ&""""MJÎL:ƒÁ°qãFY–_zé¥zõêe¿sJJеµu>ú¦M›t:··wÓ¦Móð°ÅÑãÇ`òdÕwí2¹õª€…;([½:€ºuëðòòBúX¥ÔÔTeu‹ø)ª„'''›ÙÃÃCùiooçU"""Ê©\¤[¸páÝ»wM­¬¬š4iâíí]·n]±öEaINNž4i€¹sçf6ݺukݺuwïÞMLL´µµõððx饗FŒ!>³_Ä”)SRRR&L˜À°‰ˆˆ¨¤ÊAØtðàÁ`Q:3žžž»víªY³f^ô*ÆÙ³g¯X±B–e¥1111$$$$$dÆ Æ [°`z2嚀è/¾0>!@”Ÿ»:uÜ«Y@“† øøøïQIY"++«L[bccüûï¿H_¥NsèÄ>Ì3Q~Èq `ooߦMå×ÈÈÈ¿ÿþûÉ“'wïÞíÙ³ç®]»6l˜§=|Q²,1â矿6kÖ¬S§NåË—‹‹ 8}ú4€~ø!<<|Û¶mDLDDDYÉqØT¿~ýíÛ·«[âãã¿øâ‹7FGGÏš5k÷îÝy×½<°yóf3™™™}ÿý÷o¼ñ†rÓ¤I“Ž=:dÈNwôèÑU«V3¦ðzZBˆÐSÌe{ìæ@Ì©kéè  B… D„-²SóCYµ899!½Î“x,1{Žã™ˆˆ(¿åÁh$‡E‹µnÝÀ™3g2~n †þùçÂ… aaaYU2dYŽˆˆ¸xñbddäs÷áÇ/^¼ÿ~6ûÄÇÇÏš5KlϘ1C3 :uZ°`Ø^°`ATTT6G»yófHHˆzÀ2•y3ˆ[’¤nݺHJJºxñ¢Ò®×ë,XP¿~ý¦M›¾úê«ÞÞÞuêÔ™9sfÆÐ*..nΜ9µk×nذa×®]ëׯ_¿~ý>ø@ a1qðàAŸ tíÚµqãÆõêÕ[¿~½˜`eâÈ‘#bbWß¾}ÇŽ›içß}÷Ýwß}@rròÁƒ•ö)S¦¸ººöìÙ311ñã?®_¿~ëÖ­_~ùeOOÏáÇg?qøðá®®®qqqoõöövuu}íµ×”–+W®Ü»w/›Sb»‚‹K—Zµkת]ÛÕÕÕÕÕÕÉÉÉÉÉÉÜÜ|çÎJL¯×ïß¿¿[·nÙ|H÷ìÙÓ`0$''ûùù™Ütþüù°°0ƒÁгgOÑ2cÆŒN:5oÞÜßß?›NQáʳ°éÔ©Sb£zõêbcÉ’%›7oжmÛÍ›7_¾|yË–-¯¼ò €]»v}ýõ×Ê}.\xìØ1¯¾úêŽ;.^¼¸aÆ޽{¸yóæêÕ«•=ïܹ3räHƒÁ`fföÑGíÞ½ûðáÃS§Nuqqùþûï3öJTŽРAƒl:ïåå%f`)û+ýýýûöí+:¶}ûvQgèÎ;k×®Íê€=zôY–ýû÷›Ü$ZÌÌÌú÷ï/ZöíÛÀ`0¨ƒ¶’Aä“Ķ«››«››‡‡‡‡‡‡§§§§§§ÑhÌ4GHDDT4åÁ”{Y–7lØàëë  I“&U«VùÕW_xå•W¶oß.jKº»»·mÛ¶OŸ>.\XºtéøñãEû£G:wî\®\¹o¾ùÆÆÆ€§§g·nÝN:ùçŸ*õõ×_?zôÀ”)S&L˜ ½½½_~ùå>}úd8%RDUªT)[¶l6OÁÒÒ²víÚÁÁÁÑÑѲ,K’¤¾õÍ7ß\³fhôôô¬W¯^Ë–-u:ÝŸþùÿ÷™ÐÆÆ¦OŸ>›6m:~üx\\œ£££r“H€µmÛVYN¤oß¾+W®477ïÕ«×s^k"""*<9›nÞ¼9yòd±-Ëò£GÿþûofffÓ§O7]ºtIIš>}ºº·­­í¸qãÞ{ï=½^ܼysÊ l5KKËþýû¯\¹òêÕ«F£QTè¹rå €¦M›~úé§êÛ´i3zôèo¿ýVÝh0ÄU¿:uê<÷yyyyëõú¸¸8%A"Œ;VH¹»»·iÓ& àöíÛÙpРA¢t¸ŸŸß[o½%/\¸ ®94HÙsöìÙo¿ý¶£££–uÙŠ;Ç""¢â+ÇŸa111ëÖ­ËØ^­Zµ tìØQüzéÒ%±+.À)ÅÆ•+WDؤHJJº}ûöãÇãâââââîܹ@\Ê133KNNñYË–-MB|||LÂ&sss›ääd-óò”}lmmÕí666kŽ»»»HHHÈæ€­[·®ZµjXXØþýû•°I\¡³³³3I,=w5"""*t9›lmmÕë‡üõ×_ƒÁÖÖöøñ㢠̧S"†Œ‚‚‚Ć,Ëûöí[±bEPPP6 ®]»&*ôddÔ¯_?ccÅŠÃÃï_¿®×ë³ÏsˆèNNNêâÔÊ•+—ñŽZÖ³“$iРAÿýïÕ×éĺ×_Ý$8#""¢¢/ÇaSÆ •ŠÛ>ùä“­[·>yòdÛ¶m#FŒPÚÅ:33³&Mšdu(777±1kÖ¬•+WŠm+++www'''GGÇððð[·n™@ÆTSV*W®®ÓénÞ¼™ÍÂs÷îÝC¦D)¯ 4háÂ…Êuº‹/†‡‡ãÙ+tDDDT\¼è@“)S¦ìÞ½;%%eáÂ…TF^7iÒÄßßßÂÂâÀb”wVÂÂÂDÌT¹rå5kÖ´jÕJ©â³páBõ„»zõê™›› †k×®e½oß¾·ÞzK̘swwùå—óðQˆˆˆ¨`¼h‚Ê•+øá‡bbb–,Y¢´‹$“N§;þ|öG8yò¤Øøøã}||Ô•EÄ£(S¦ŒXö5Ócšì,(CˆfÏž˜inܸ1mÚ4“ýóŠH,ÄÆÆŠ+t P/@KDDDÅE|~?¾\¹r¾ûî;q éa€éÓ§+cÀ…Ÿ~úÉÇÇÇÇÇçèÑ£H_b ª¡â™3g”ZPŠF8þüòåËMv^±bEƾժU«_¿~’““ß{l5Ç?~ÿüóððð={öœ>}Úä š££ãâÅ‹Åz,#GŽ\µjÕ£GÔÕ˜ÌÍÍûöí»wï^õkÖ¬¹fÍšÁƒ †+V¨3L#FŒØ¾}{Æ¢ÎÎξ¾¾o½õÖ;wÂÂÂ>û쳌ý÷ððغuk>•M4hО={”íŒ;œ;wNÙI½xŽz›ˆˆ¨¸`¶‰ˆˆˆH“‚X“Žˆˆˆ¨`¶‰ˆˆˆH†MDDDDš0l""""Ò„a‘& ›ˆˆˆˆ4aØDDDD¤ Ã&""""M6i°‰ˆˆˆH†MDDDDš0l""""Ò„a‘& ›ˆˆˆˆ4aØDDDD¤ Ã&""""M6i°‰ˆˆˆH†MDDDDš0l""""Ò„a‘& ›ˆˆˆˆ4±Ð²S```~÷ƒÔ5j”W‡â¹#""2‘ëÏY)::ú¹;9;;çîè”;111yu(ž;"""¹þœåE:""""M4e›ˆˆˆˆˆÙ&""""M6i°‰ˆˆˆH†MDDDDš0l""""Ò„a‘& ›ˆˆˆˆ4aØDDDD¤ Ã&""""M6i°‰ˆˆˆH†MDDDDš0l""""Ò„a‘& ›ˆˆˆˆ4aØDDDD¤ Ã&""""M6i°‰ˆˆˆH†MDDDDš0l""""Ò„a‘& ›ˆˆˆˆ4aØDDDD¤‰Eaw€ò׉' » ômÛ¶ÍÑþ<§EÏiÉÃsZòäôœ Ì6iÂlS©P¡B…Âîe"***×÷mÑ¢Eö„òʹsçr}_žÓ¢‰ç´äy‘sʰ‰¨X’$©°»@yŒç´äá9-y6• üÓ-yxNKžÓ’‡ç´äáØ&""""M˜m*ø§äá9-yxNKžÓ’‡aQ±ÄŽKžÓ’‡ç´äaØT*ðO·äá9-yxNKžÓ’‡c›ˆˆˆˆ4a¶‰ M// 77§ÿý·P{Tœ”¶o±--gÞ-‘NN…Ú£¼W”Ïi`` €FvGŠ™¢|NóJbb"€† ¸té©©©…Û±|°©T(.ºÅ¥ŸDDT:1l*dY.ì.<£Í_Û· étJ»w÷î ›7¸’£czyyÉὨ` æææ¹¸oÅmÛÈ“'@JŠÒ^¾G¤¿[âJè÷Ú¢@äÞxã .\P¹reIII…Û1*"æÎ %%Àœ9sÌ›7€½½=JbΉaS©P³8¹ësq|¦DDT\0l*ŠN0Ñ*9>ý@Æ>YøùH7@eËXX<}‹^»v-›#ûúú˜ªIÍÝÝ]ãÑÖ >Èvé§Ÿ$L›†ôïµ±¸(jç4>>ÏævìØô\ÂK/½ÀÙÙ¹zW<µsš·víÚ \¹r¢££8::ؽ{7€š5k*·–$Ì6iÂlS©Pt¾ñè“’ð¼·%ÀÖÖéc_Ô#œ² £SÍÈK;Ž¥%Ò¿‰9b4FXXXî:_¤sª&F,5oÞéY¥ððp“}²šO—»,‘1%Àßÿ  V­ZÊ–-›‹ãE휪s >Dúß‘:— þ¦(+Eíœæ­>øé›Ž9 B… Hÿ[ÌÁ3.E&8ã¿ÒųMDDDDš0ÛT*o<‰]º°Ùº5›}λ»èÛ¡€J•*!½NLöDãÇèܹ3ž­h,ê9‰|FÕªU‘Y„òJïÞ½ôíÛÀ×_ `õêÕ>ûì3eñ}ÔÆÆ™å›¿þ€;²y¬ËU«"=§(Þ-Å7ÛTÔdÌ%ˆWX¹1î$å(§Ä{ãÛo¿Я_?-Z´@ú{CümŠ¿n‘.î˜m""""Ò¤ð³M)))ÖÖÖ…Ý‹®èd›·oàqÿþªïÚerëU;;?6oŽô:5jÔ@zp1VI]sVÝR¿~} @fµd<<<>£L™2(J¯Iîýþ‹Úô}ô€×^{ éß;Å(WWW¤ŸñMTsÛnnÎDDhuü¸Éñ¯ÙÛØäí À+&éßn‹þ+“•¢Ùs‘KXºt)€"=— þÊÔ¹þKžQÑ<§yKäŒñïnnn(Yà 'lJHHؼyóž={ÂÂÂbbb\\\¼½½½½½»uë&>üˆˆˆˆŠšB›Nž<ùÞ{ï=zôHi‰ŽŽ>|øðáÇ-Z´hÑ¢Áƒ@7bbbV®\ `ðàÁbJ;;;Ñ_|`|B€(??vuê¸W³&€& ðññAúlQI¸qã€:uêdÚ àßÿ`föô´ÈjÜ¿?_Ÿ]A*.ßbŨ‘ŸP×yg¶víÚ&û«sN"“ñÈË ÀØ)S<:r@™ZµDxyð®]@ƒ >‹§¸¼2Íž—É"— r ê\Bö5ßK§¢yNó–Èú«·ÅO‘mR_,¯FA‡Mþþþï¾û®9èêêÚ¯_?OOÏ»wï^¸páôéÓ:î“O>¹|ù²Fš¯"""–-[ eË– ›ˆˆˆè¹ 4lzüøñ¸qãDÌôæ›oþïÿS_ ÷õõ;vìãÇ×­[׳gÏvíÚdßJ¶¢ãÿóÏ?Êöc77bN]KGG¤ç Äü‘ Uî%žKV-"{!¾ ‹ú@böœø6\t^‡ÒF|×YCQ‘KŒ]Ë*?!ÚE¦JüŒ¯T ÀssÍË•P@ú™›ÄžÌyä-‹,r âÕV爄’1†)+:“î›o¾£AëÕ«·lÙ2“ñƒ={öܾ}»Ø ¾ˆÔÔÔàààQk+wŒFãƒ.^¼xóæM+VFFFeœˆ{ÿþý+W®p‚.QñU Ù¦}ûö°µµÝ°aƒ˜Íd¢U«V;wþí·ßüüüÿüs1·K]ŘBIDATˆ‰‰cØ·oßþðáÃ+VˆÑÆ ›5k–Í–-[¾úê+/ZYY5nÜxùòåâ˱">>>((¨U«VYP~AE3Ë"®| \\Ôª]és¬ÄwÙ;wî 'ýÕ¢³R4_‡Ü)ŽÏEüÕ‹Y9¥^ÙªbÅŠªU«¦ü9'ñG]_¡8ö¼8ö¹ •æ×GäœJÞ+PpaSPP(0øÒK/™ j+W®¼{÷.€òåË0 âŸÂŒI`½^Ÿñ¦5kÖÌœ9Sù×SLþý÷ßOž<¹}ûv])wTˆ_Õ'NT/` 55uÿþý.\ðóó£ ÕÝûí·ßÖ®]«A¯×ÿý÷±±±uëÖ;w®rNwîܹ>}ú:t¨J•*¢ñÁƒmÚ´ILLlÙ²¥ŸŸßó^H" $þcôâŠûkRû_û\øú”¼W àÂ&e0J½zõ²ÙÍÙÙ9×Kj'%%Í;×`0Ô¬YsÉ’%-[¶Œˆˆøõ×_§M›¦Óé¦M›öÇxóÍ7_~ùåëׯ:Àÿû_± · -X°@ÄL7~÷Ýw}||nß¾}èС­[·Þ½{wРATgJ¬^½ºjÕªÓ¦M«[·®¿¿ÿºuëîß¿¿k×.I’œ¿üòËfÍš9sfÓ¦M.\ˆˆˆØµkׄ Ä}ýýýE½Ý³gÏÞ¿_KEìœ*šo\‘O\ÝÜž‡#`ÄÊqE³çEøJPzˆ•ÕñO„¨ö.þlÅû¤¸¿&Å¥ÿbäƒÈ%—>–ÒöúdÕTò^‚ ›¢¢¢ÄFþUfúã?Äßóüùó_~ùeUªT1b„^¯ÿå—_$$$ØÛÛÛÚÚV¯^]TÆP¹råêÕ«+yøðá¢E‹xxxìܹSüíååÕ­[7 ‹ü188ø‡~;v¬ú¡Ë•+·k×.qœ TªTiôèÑÌÍÍ÷ìÙ#fG{yyµk×ÎÛÛÀÅ‹•ûvíÚÕÞÞ>!!¡U«Vù3Q‰Ä€R­d¼ÅñYÇ>$¾>%ï(¸!á111b#c¥–¼¢DB'OžT·5jß¾}ûöí ²wéÒ%±±hÑ"“¼×‚ ÄW[eE×®]Õ±WïÞ½Åc5mÚTÄLBÕªUů7oÞTÝÜÜ‚‚‚~ùå—ƒ>ÿI–hannnnnÎwKaá+OY±´´T—q*‘ .l3É‘^Â.?´lÙR̆]¶lYûöí¿ÿþû7nä4C¨„D¢@Ÿš•••X6cØÔ¼ysõ¯ÖÖÖâ TݺuMö×(F£ºÑÞÞ¾E‹êòŒyK*’ŠcŸóV>n""Ê'÷AãpõêU1.ÏU®\yùòåÓ¦M‹ŒŒ ž2e ggçwÞyçÿþïÿ4™!‘›››zä¢nݺGŽ ‹UïÕbLE䣱8^].Ž}.HEä­U(L¦t ¤¼ÅñYÇ>¤Òöúd\3´ä½—mªT©’ظzõjþ=JŸ>}Ο?ÿÅ_4lØP$obbb¾ýöÛæÍ›ÿøãZŽý§µò(^ê…—OÉNqìsÞ*˜³ODDy¥à²MmÚ´)S¦LRRÒÙ³gu:••U¦»^¸p@¯^½Ôù¡Œ…"•ÁR&Ê”)3f̘1cÆÄÅÅ:ujÆ ¿ýö[bbâäÉ“;vì¨^Ý,SÍš5ó÷÷ˆˆˆ‹‹SOÞDY¦ªU«ª«È}Åñº8ö™ F>•7£LÙ$%•ñ*ÆÆng¨ï— J{I­^pÙ&›N: ›9sf¦ûèõú?üð³Ï>ûòË/Åe/%pyðàÉÎ"ºÊ†££c·nÝvìØñÙgŸHMMÍô.&YÓ¦MÅÆ¹sç2î¨Þ‡ˆˆˆJ ñé§ŸúùùÆï¿ÿ¾uëÖ}ûöUߪ×ëçÌ™#Ê;½ûî»b&ZÍš5mmmŸú(­ffbÆþÑ£GÿóŸÿݸqcÛ¶m}ûöåÕ4hpñâÅ?ÿüsèС׮]3Ož<9xðàìÙ³T¨PA½<‹‡‡‡8»wïÞ°aÃßÿ-VsuuÙ©»wï8pÓ¦M¡¡¡GŽùôÓOøáñ(Æ Ë×%$$¤}ûö“&Mzíµ×LfØQÑQÐ!ÿìÙ³“““7nܘ’’²jÕªU«V™ìP³fÍõë×+ãÇÌ;·oß¾Ož<Ù°aÆ ”öAƒ™$œúôé³nݺóçÏŸ8q¢mÛ¶VVV©©©bìv™2eæÏŸ¯žá_¦L™N:ýöÛo‘‘‘ÿùϬY³¦_¿~¦N±eË–K—.™Ôðððرc‡I‰ðtþüy±©+ÏCE-ÞuqV}f¾ÖXÆà˜Jõ8BñÍxË–-ÊÏcÇŽVÇJ0‡óçÈŸ~ŠÌ>$j‡„0ÿö[I-Z }Δ–’¯¯/€É“'˜>}:€!C†äaÏ){±±±¾þúkk×®EzîV\H£µœG»³gÈãÇ#ÓwÈõëlÄç{Û¶yÖû¢¡@³MÌÍÍ/^¼zõê† šÜäìì×7îܹéââÒ¸qãç®+’””tóæMOOÏçV†Œ spp WeC¯×'&&ÆŒ“ã ÃbbbÊ”)ãááakkûÜ'•kbá—üðCÍš5pïÞ½ï]Áùûï¿´Íá·1qN;wîœ/}*zvî܉ôw…Zÿþý >éÅi‹Âˆ™ß~û Åÿœ–™0€ùºuÙìó¯,pÉfmÄìæ©S§¢¨fžŠû9MIIðÅ_àÙ Ó‹Xn0ø(ûǵ³pûìY¤n̪ÀaÁËÝ9 ó_™:uêÔ©SGûþeʔɘ£ÊŠƒƒƒÆ-,þ¿½ûŽ£¼ï8þùÞIw²„…`ÙÆF66ÅØ8Ø”qè$! îí?üÓ¤Ó&”?:f2¡ d¦ÓvÒNJÚ2̤m2¤¤LHàq¡m Òò£`j 6±Í ¬82Šl$Ý>OÿxvïVw–¼ kï,½_cööÖòÞîÙ÷¹ïóì³m ÅbqéÒ¥áþ²Sm*28‰šÿå 9hµ±M¡’´bÅ I{÷î•j\p¤¡¡!%}ð¡¿õwÞiÞζ¨V;§S禛n’tÏ=÷H:pà€’o®ëÖ­“îÞÞ-¡ÃýÔ½%VëœÓʱc’&ž+åPƒo¼>.¬iÔ8_8_¡ßãÍ7ß”FGLiu?7­pNÃ=ÇÂ]ä·nݪäïQÚxs¡W—ÊôwltTÒo¼¡ä½‘µ|êÊ{lÀ)ŠjӌРßxÝzë­’î¸ãI×^{­’o6GŽQòí3|GiÍýGžn»í6Iá¢×«¯¾ZI=#Ô&ß}÷]%ߪOÝjSëºâ Iåœ`›ÿY¸PÒæË/—´páB%£”ÆÎ×k¯½&iÛ¶mJÆý¤¯«Ýµk—’ÂÏœ5§Vpã7JÚ¼y³Æ^Iwûí·W· ÿÞ¦Û ]M Ëáð†ÙÓvŸwž’Jp_5=PmÈ„jӌК՚0kè#<¢¤Ú¾‰†ÉÜÃ\ a´J˜Íi­yN§Núݾ1‡ÊDx‡„1pẊS÷ȴΞ¿饒޿áIË~¸îÙÝÝÝ’~ø©O)g¶jÕ*I«W¯®nîG*éåp¥N¸ 2Ì0œ®¿ c›ººº¦à•å­uÎin&”¾êª«”ÔõC½6TøÂñ£Bå¯qùí¥K%=Û×'éãO>Y÷§ìïé‘ôŸ×]'©<0 ä\·ÚÑøh¨6dBµ Mæ¥ ³¿òÊ+Jæh… u&á[rx·¼úê«J® ï–ô½#1y¡ÒÓ×]’þã²Ë${ê)I‡gÍ’´{Ñ"Ië—-“ÔÛÛ+)L—Û¦Ö w‹J/a¼KzübêÝÝÝSùâ žž%•Úp¥[±føKÏó×xî‚p®Î;OÒÖ'ž4üôÓ’»»%8ûl%wƒ ïPÇš¨6dBµiFhåå0x›„åp…ÆÓÊçtê„qaö—0oSx·L£Ñ:¯"Œ mÿÚµ’^sNÉ(¥9•Š’*B«¶ïSˡΑž3:Œ›9ÕG§5jå׎E®B çeâó„êQØ~`ýzI»SÏvT*JjZkÖ¬©þY­|4²#6ͧâ›õTÜgÀôFlš¼÷ÍÞ…µ¥ðÝ…:&®µ -¦Z¸ß_hO–P½àŽR­ Ü[l¼;ŒM,Ô6nÜXmgbÓŒ@å€ÉcH8@&T›fªMÓçtúáœN?œÓé‡j@&T›f¾ñ0yÄ&à”Dž~8§Óçtú!6ÍüÕ`òˆM3ÂŽ;š½ 8ɶmÛÖì]ÀIÆ9~8§ÓCÂ2±pjLŒj@&Ä&€LˆM™›2!6dBlÈ„Ø ± b@&Ä&€LˆM™›2!6dBlÈ„Ø ± b@&Ä&€LˆM™›2!6dBlÈ„Ø ± b@&Ä&€LˆM™›2!6dBlÈ„Ø ± b@&Ä&€LˆM™›2!6dBlÈ„ØI[³w€™Ë9E‘÷¾n}ã|4fÖ¸¦X, ¥rDl  úF¾W¯¾W~{pöÐh±Ù»3ƒtµGKN;ºfáè'VøEsÚ?Ôïµþþþ)Ú-ÐÈ{ÿìž‘ûŸïé*iVI¥¢Š ™ÉQä4éØˆ††ý—6úøÊRcEjZŽgÒÖí°Y”¹G”Ø@~œÕ¦Àª!)½ ‹;’RŸ÷¹¶‹çèÊ5…µKtÆiÖÑ®áQýò×ÚyÐ?¶Ó½uø8Ûþ";ã4;xÄoyÉ7>ûÉß°5gš™ø-Û}þ¯¨®Uó¡*ûø{bù‰œ"W»dN’|òÐ×ÖŒYȱ5é÷66­3mvG»–ÌÕ’¹våšâã;ýwžvÎù]–Û²ù¶û]ýèE_÷37®°?¼¬`¦¡aݵÝÇ‘1÷×Uëǃ+ôÍ…—™ ²'@l ?ñØ&«}fc‚T“˜tÇg ¯Œwäïù—ÞÔྫl[¢Õ‹MÒ•klÁìÂ7­M¡ j>ñõùcÍ™vÛoÌ4\ѽº}ý™«:S£6ä^c®Vôõ“bŽ‹Ø@~œ,òÕ‚GµoÎ’‡^É…uù»r…Ìä½þâ1ÿÌžZÕëûÒ…½ºósÖVÐú³ìšu…½˜ÎM¡XfQ*,Ÿ¯¯^]h/*rú³mþÕ>5%¦.¬«®³¸Ä—<Œ\Ör± €ü„jS˜¥IµœT Lá>ûµ]'KgI·\O\ôϸŸí®ßçöù¿Ò¾ü邤ßÝ`ÿ¾Ó Ÿ ÝŒÞûJ2¸ºg¶¾vm±³˜{n_3ëLažO“ü”6îÕ&Zó9…Áà©¡È銈…[ûæ<ÅÑEËÔU’¤Ÿíö?xþøÛ<ú²_¹Àv­•Úô‰¶õÿ’ZNêÕyï»gÙŸ^_˜×%I÷ýÔ?¹«©S7…ݲ¸w.*ž ÷ñóO± €üDÎWœIÞd^qÝÇ›øšÉÅ•›øJºp©].í%çÄÑaËvïü¸[þëvÿÙµ&é’•¶e»·8ÿÅtç;Úìë› KçJÒ?<ãü²ÏóU4¶ &zùê1÷IŠò § rY‹aÄ&ò“Lw9Ay£9›zçÅîëï©2þPŸ}‡T‰ÔVTï<‹ÆÞ8d”;?g«KÒÃ/øïýw“Ç€e 1ªM´¢È'¤Æ6)ýIÞp‘]>ævJRß½l¢Í"§ý‡µrætÊ9ÕÅ¢Û¯°+LÒ¡A}û‰ühM$=AÝawT›hAÞ[ÅÉÌâ{ÊçÎMÈÓìIÚ÷K?A©)Ø×ïW.°bA% ~ %u¦óÏÔùgÆyoÁlݼÁ¾ÛÕ&Kf½¬E%«’Qm EcîI7^ª°œÃS$ WTnÓ¼N;á@ŸyñÂÐðq&Š|a¿_½Ø:KúýOÚËoë÷7=9ùÔñ´ÔšÚBöjSa ö_äTqмUœª¿"oaM²à«skIÒÙ äu‚-Ïé1IƒèØh¼¦:^Øï¿òîÝê%Lw_gs:s}Çm#ØÈ+YVr}Ô0Kç¨6ç¹1“…ÖÌ’Íjì¬B9µ}G´øt•ŠZ:Çöö»åÂnëž%IÔ^Hèþê;¢?þŽhÛ]x–n¸HóºtïæÂ|Ï}É9·>Õ¦Õ6Ë\l"6£äJºªtxj¦ÿú…¿°×$mX®×ßw³ Ë«Û×iÞ}¿6œüÏÿÍl‰­Z¤ {õåOÛ7oâ L§¨ãË^m¢“€ü¸Z\µ‡N‘/„‡©^¤¼;³Û‹¯\nç.<þ6ËæÛŸ\oöøÎZocu VuÍÑQ»ã_üЈ$Ýr±.]Õ´Nºô¡NõŠÆ¿Ârö+‰Mä'rŠœœ*‘œ·0ix%ò•HaeXˆœw>×vÏ!ÿ“—%©Ü®o~Aݳê·é*ë¯oVWY’~ºKÛߪ=OÀwAÆë÷õëë[â"Ó=×Û’9y¿¢¤ó+ópœÃ)ˆœQm 9_ F!'ùÈYä­¡’õŠœåÜÞ»5¾dŽú’Ýð›Z|ºL‹ºmóz=ôE[>_’?Ð][ÆìauºËºŸ¹å%ýós’4»Cõk/æýŠÂ±\rlCÊ)X=c›hEÎ[äâ{¥Y¸¹‡‹o3ßN¥y·"yoP7߯nQï<5Ww_ß8ÂZï è‹ÿ¤·ÆüÞêÌSWÿ3ïþ‰Ö-ÕêÅ:o‘¾v¾úÃüo®’žÌjn²äûP·ò¥Ú@~"çã+áà §ÈÇ}[Q¨Ö$+›Ò¾~H×ß§o?—ÒŽÓýOiÓ}ÚÙwœß«dJªºõGGôGjhX’n¸HŸ9?÷×å,Õ*r¾z,é¶Ëzú¬¿¿ÿä½À¸FFFÖ~cqg§OM^-%³l§—›®Ü¦U‹´t®Î8M‡‡ôÖ¯ôZŸ>mönMN2¿CýÊ¡!í¸ó`©T:áO “€ü¤æmÃLÞµPr::¢èÅÍÞ“¡šP½;ÎzI'œ½ŠØ@~œ—óÉÜ‹ÉǶ)©<ù–ÈLÓI5¢¦3S˜’ƒŸ}l± €üTGI©ӵʜ—ÓTÝqVý¡ÎU‰MäÄÌf—F‡]»RÕ&k^¹i¬v#_ŸóPØ O{Í.WÌ2œˆMä¤X,ž;ÿ苇N/%ÕjF¥)µ„Zí•\¤s{†ŠÅb–Ÿ@l '…Bá·Î>ú\ßéméùâJHC/’ÑžŒV éˆjªDºdùÑBáėщØ@ž6­‹þò)ÉT¨›91ܟħn9ëiOR«¸KÎÒk$/ùH•QmZ)bùY¹¨ô­ëöݺåìBQ¡«®n2!zë¦B8È>µl&)ªèo6¿±rQgÆŸCl ?Åbñš K‘ÛsÛ–•'+È’²S:?Õ¦¢t«ê&I’sòNÞÉEúÖu{®Yß‘q`“˜%€œ9熇‡w½uôÇ/·ÿ|÷îÃÝG†Û›½S3Èéå‘sç^Ü;¸é‚‘UK;Ëår¡¾Çt\Ä&ò朢È3 A.̬X,¶··—J¥R©ÔÞÞž=3‰N:òW(Êår[[[¹\öއ̔NN¤¨“%=!SX6³ž²÷ÍU›hŽöÉ&ú…)€™ŒØ ± b@&Ä&€LˆM™›2!6dBlÈ„Ø ± b@&ÿ·JºÇ®ßXIEND®B`‚traitsui-7.2.1/docs/source/traitsui_user_manual/images/ColorEditor_demo.png0000644000076500000240000005715314046644454027715 0ustar aayresstaff00000000000000‰PNG  IHDR–îf$N pHYs  šœ IDATxœìÝy@TÕÿÿñ3€€ŠKn˜,**îK*îBašŠš˜QRf‰|²Ò2s![>¥™Xj”~*)sI@ûh.i Šæ†%B‚(¦¨ì› üþ8?ïw>âŒâ WŸΜ¹ç=w4^ž9÷\Mff¦ÔÃÊÜàž‹­ÜXQQaúJ¦rãàÁƒ y-öàááaîn#::ÚÀžDØE£FÌ]À-åääÞÙâÞÕÜ DX¨ *C„€Êa 2DX¨ *£‚}aKKK­­­«|ª¬¬ì«¯¾:wîÜ+¯¼âââb⤄„„#GŽXXX¼øâ‹UÞd¢6‹ŠŠJLLìܹ³§§g•JJJlllL\•á(¯J™™™¡¡¡þþþVV*ø;€±j鯷 .lÚ´éÔ©S§NÊÈÈpvvîÕ«WŸ>}üüülmm•n»wï~ÿý÷…iiiáááf)522ráÂ…BˆÉ“'«+.\»vÍÛÛ;;;{ëÖ­ºíZ­6$$$&&&666--ÍÕÕuÈ!ÞÞÞ^^^•põêÕ[ 1xð`??¿»é_åݶƒ ‚‚‚RRRŠŠŠfÏž]}Á¨‘&33ÓÜ5苉‰™6mÚ?ÿüSù©nݺ}ÿý÷ÎÎÎòÇ;w¾øâ‹BˆÇ{Ì\vÕªU2ÂfddÔÎëááQùî\Ó¦M[»v­§§gDD„ÒXRRòì³ÏnÛ¶­òqçÏŸ¯×ظqãjî¥áëë»qãÆ»é¯‡ò ì¿cÇŽqãÆ5lØ0))©eË–ÕÔ @-‘““=xð`C:׺ȵsçN???­V+„pwwïß¿«V­RRRöíÛ—”””0lذƒÚÛÛ !F޹hÑ¢ .øûû›»p•9zôhHHˆâwÞÑm÷òò’‰¶ÿþÞÞÞNNNGŽ ÉÏϰ±±™5k–Ò¹°°P&ª¾}û6iÒ¤ò(½zõÒýÑØþ•QžýÇŽÛ£GS§NÍ›7ïû￯¾lT§ÖÍÂ0àìٳ˗/ŸÚ­[·~ýú:tHqáÂ…_|ÑÙÙùÑGíÙ³g·nÝuÊÊʲ·····ÿõ×_½½½Û´iãîîÞ¯_¿:|ðÁ¥¥¥·}/eee]ºtéի׈#úôéãêêúþûïW~m^^ÞáÇåÚ ÓˆŒŒÌÍÍBŒ1B·=##ÃÕÕÕÝÝÝÉÉIï%={öBTTT¤¥¥)2TYXX4oÞÜqí¯‡òŒêïèèØ¹sg!D•ksPµÚaäþY»ví:þ|å½{÷=zôã?.,///++Ójµº“£7nÜÐjµ………S§NݵkW^^žlOMM8qâÁƒÇŒ³sçÎòòrÙž‘‘±lٲŋ+GÐÞtòäÉ‘#G8p ¢¢B>•ŸŸ\ùºœÊæÌ™³lÙ²¬¬,¥%77÷Ë/¿|ýõ×u»]¾|¹[·ncÇŽ•u¦±}ûv!„F£qssÓm_ºtiRRRtttå—œ;wN¾D¦"éòåËBˆ-ZXZZ !®_¿+{VÉØþz(ÏØòúõë'„ˆˆˆ(((0ð]  µ+ÂZYYÉ Jÿùçww÷Å‹Ÿ>}úÎàÀ??¿½{÷nÚ´iܸqBˆÒÒRooïK—.=ýôÓ;wîܵk׿þõ¯ºuë !V¯^]ù‹þ?þ¸¨¨hòäÉ›7oŽŠŠZ¸paëÖ­…ëׯ—×BÝÊgŸ}¶aÃ!ÄСC7lØðÇlܸqÈ!Bˆ-[¶,]ºTé¹ÿ~/Ž;¦|S|¯É³êêêÚ¸qcCúŸ?~Ó¦MBˆ¾}û6hÐ@i—·lÙrÏž=...Mš42dˆ‹‹K»vífΜYXX¨wcûˆònUžŒ°%%%©©©wV<µS­»üèã?þý÷ß322 ‚‚‚‚‚‚œœœ<<<<=====íìì ?”¿¿ÿ’%KäãáÇ»¹¹¥¥¥UTTŒ?þË/¿”·!èß¿vvvXXXqqñ™3gºuë¦w—_~Y™ íÖ­›§§çˆ# ß{ï½^x¡Êë·®^½*Ç2dÈæÍ›åæöC‡?~|\\\PPЬY³dûðáÃíììòóóûõëתU+£Ï×¹r劢S§N†t.++óóó+,,Ôh4AAAºOÉP?zôhe¢Z‘šš|úôé;wêîãklÊ»Ëò”øÊ•+òR3îµkVáìì|àÀI“&)¿ŒÓÓÓ7lØ0uêÔ®]»¾ýöÛׯ_7ðPÓ§OWk4___ùX^æ¢<¥|ƒ/¯$ÓÕ®]»?üP·¥S§NBˆ’’’äää*Çýý÷ßeÂx÷ÝwuoÎT¯^½7ÞxCQVV–˜˜([¶l™°gÏž;wø¾îž¼¸­Y³f†t~å•WäFQþþþz ÊP¥Õj›4i²råʳgϦ§§oܸQ¦¥ˆˆˆçŸþnúSÞ]–×´iSù ò匨Z­›…B<ôÐCŸþù’%KvïÞyàÀ9kXPPðõ×_ËÊÝ n¥I“&òK…²Á»Þ죲½_¿~éééÑÑÑK—.ÕjµmÚ´QfË’’’<<<„ÁÁÁÇ7üR³»1lذŸ~ú)77÷Ì™3º÷‹:wî܈#ä¶e/½ôÒ‰'*O$wëÖMÉèO?ýô¾}ûrssÝÜܾúê+kkëC‡½ûî»r]ws4cûO:5::ÚÒÒ211Q^ EyFõB9rDѾ}ûÛîà€ÊdÖ2‡îرc5O™2åÒ¥K²ó… dã¢E‹”#L™2EñðÃëyÕªU²sBB‚nû±cÇdû×_-[”%°ÞÞÞòfžz&Ož¬¼\^u.„ÈÈÈP¯]»¦Ì(ëiÔ¨ÑÖ­[+WU¹°š²}ûöììì ÊÍ{×®]«Ûþ¯ýë¶`fÏž­ô×jµr§[Iw·]!ÄSO=uãÆ ÝãÕ¿mÛ¶B777Ê»³þ¥¥¥ò2²9sæTPëeggoß¾ÝÀxS»!:tè°oß¾çž{®Q£FºíÆÅÅ%((hùòårw-!„………üE®4åãÊÑSiÑ›éT~¬<êîîÚµkW¥¥~ýú¯¾úªîbåa•J”jƒƒƒg̘¡{%xãÆŸ|òÉØØX9í*3¦sçÎæ¹çž3Ù‚Eggg¹+mxx¸n»^*ª’°°X±bEpp°ƒƒƒÐÙ¢ÁÚÚÚßßÿ‡~Л¨6¼AAAZZšB÷úzÊ3ªÿž={ä·ãÇ¿ma¨‹&33ÓÜ5ÜÒ… ²²²:vìØµk×úõë›fÜ«W¯Êaƒ‚‚&Ož,„ÈÊʺté’­­mëÖ­•mˆ²²²¿ÿþ;;;ÛÞÞ¾š„šŸŸoÔ½s"C³Þ? –-[6wî\KKË¿ÿþ»F.W¿xñâ‘#Grss[´hÑ¿ÿÛÞú«úþÇ—;NÄÄÄÜö *Ê«²ÿ3Ï<Ö¦M›””Ó,PànäääDGGëÝÌòVj×ZX=ÎÎεd _Ó¦M ¹—UeVVV­[·¾ÕeéŠ{—_oeÆŒ«W¯NMMýöÛoå-sï’£££££cMõ—7àmذáÀï¾¶ÛglÿZ^žâÊ•+;vìB,_¾œü ¸ÿð»íekk»bÅ !Ä’%KjáÝGårdOOÏ[]3g^µ¼‹ß 3Çyöñ1¤Àƒ+Ë´Ã)ßf™väÄ›#g%›rX‘xó ×,Óžheù@–iN¼9p²‰ÏóÍu Yé¦7JÜ×´çù溅dÿ¹º¹n!K˜ôV–¥$›zÜ›çÙ”£ ‘hðº.ç€Êa 2DX¨ *C„€Êa 2DX¨ *C„€Êa 2DX¨ *C„€Êa 2DX¨ *C„€ÊX™»Üs±±±•+**L_ P#4MåÆÁƒ›¾€¹aæ.¸‡¢££Í]À¤ˆ°ŠF™»àžÈÉÉ1w Sc-,T† •!Â@eˆ°P",T† •!Â@eØö•˜˜Ø¹sgOOÏ*;”””ØØØ˜¸*ÃQ^•233CCC-,,üýý­¬ø;¸™ÿ×[-O!÷±k×®y{{gggoݺU·]«Õ†„„ÄÄÄÄÆÆ¦¥¥¹ºº2ÄÛÛÛËË«òA®^½z«!ìççw7ý+£¼ÛöoРAPPPJJJQQÑìÙ³«/52O„ÍÏÏß°aÃ?þxþüù¬¬¬fÍšõéÓ§OŸ>#GŽìÒ¥‹YJz½ýöÛÙÙÙžžž&LPKJJž}öÙmÛ¶)-IIIIIIk×® œ?¾ÞAÖ¬YSͽ‘JJJôB˜±ý+w ¼Ûö·±± 7n܇~èëëÛ²eËjj@Ìa:4eÊ”ëׯ+-™™™{÷îÝ»wï²eË–-[æëëk‚2²²²¾üòK!„¯¯o»víL0b­rôèÑ!Ä;ï¼£Ûîåå!„èß¿¿···““Ó‘#GBBBòóólllfÍš¥t.,,”‰ªoß¾Mš4©ù¤[·nÝ»w>|xÿþýÛ¶mëçç—ššª;VVV–|í¯¿þºyóæ¡C‡véÒåÑGuvv(**ª¨¨Ø°aC×®]{ôèáééÙ¦M›‘#Gž={Vï½äåå>|X«ÕyFïÐöíÛ…ÆÍÍM·}éÒ¥IIIÑÑÑ•_rîÜ9ù™Š$ùµhÑÂÒÒRqýúõØØXÙ³JÆö×CyƖׯ_?!DDDDAAïU0]„MHH¸pá‚bРAíÛ·¿U·/¿ürÿþý{÷ho*++ÓëYVVVù©ÿüç?O?ýt\\\ii©F£‘QQQO>ù¤’tå u¥Œ¢´Ì™3ç“O>ÑýÚ÷ÆÛ·oê©§222*¿0""â7Þ8}ú´2Ä7ß|óæ›o®\¹rÖ¬YrîYQZZzüøññãÇËS!]¾|¹[·ncÇŽ•_7›€¬ÓÕÕµqãÆ†ô?þü¦M›„}ûömРÒ.ç[¶l¹gÏ—&Mš 2ÄÅÅ¥]»v3gÎ,,,Ô;ޱý Dy·*OFØ’’½z v¦»œë¯¿þ’t'¢*kÚ´iÓ¦Mïlˆ¢¢¢>úH«Õ¶k×î³Ï>sssËÈÈøå—_,XPZZº`Á‚ƒ !&L˜0xðà3gÎLž...##cË–-ʆû÷ï—“dÇŽ»téR«V­îìíNFêN:Ò¹¬¬ÌÏϯ°°P£Ñé>%CU||üèÑ£+**”öÔÔÔàààÓ§OïܹÓÖÖöŽûSÞ]–§|ÄW®\éÞ½»Q•? Í6®yFNáæ×L':ÑL'&šé¸w;¿>>""âùçŸß²eË÷§¼»,Où× îWP¬1Û¸æyM²yÆ5Ó‰^c¦/6Óy¾Í}Wîݸf:Ï3Ítž}’Í2îbŸÅf×<çÙ¦‹°YYYòA‡îÑJ*=tè\S+MŸ>}úôéä÷ß—–-[¦7øË/¿ddd(}Ç×ÍÁO>ùä¼yóòóó{õê%ó«Ôºuë®]»&&&¦¤¤(-[¶LHH8sæLïÞ½ ,òn”””dgg |SE‹}óÍ7BˆÇ<88XïYŒ5jtèÐ!WWWÙèëë;lØ0ww÷ääämÛ¶ååå)3ÖÆö§¼»,Oùˆ•¥,Ðe–ü„X+ ýßQŽ»f©k˜éÇŸì³Ö oWø­k þß~Ž»æówÌpžg.öY»Öôà ??±Ö°ŸßšM›Ìpž}}}–†¹š~Üù>ÉŸ‡½sû~5m¦ÏâMaæ8φåfÓEØúõëË™™™÷h777[[Ûâââ•+Wîß¿òäÉîîî:tPÅB‰§}ûöÕ{ÊÚÚº{÷îUFX½ôiccÓÏÖk‹ IDAT¸qãüüüÊ_ÖwîÜ911±¼¼\·ÑÎήòp÷HYY™F£©¨¨¸íwâ«W¯~ÿý÷…½zõúñÇu7Š’öìÙSTTÔ¨Q#½û?ÙÛÛ¿ýöÛ/½ô’V«=tèÐO¬{§‰ÀÀ@e¶{éÒ¥U¾vöìÙË—/—ýüüW®\™‘‘1nÜ8y>•žO=õÔ×_­ûZ£úGEE;wÎÍÍM¹–ŸòŒêãÆ 9 ;~üø*‹@½L: +„X¸pá”)S„%%%«W¯:t¨“““››ÛK/½$ók»víöîÝ«{ÌG}$'b¿ýöÛG}tРA3gÎLNN~æ™gô>~üxyã€ÈHÚºuë_|ñêÕ«uëÖýøãuÓaݺu冫W¯Î;wÀ€»ví’O½ýöÛÏ=÷œâ÷ßóÍ78iÒ$™_CCC ßÔ'Nœ.\¸ {KÛ{ÇÙÙYîþ¿[W²‚¥¥¥òØÂÂbÅŠÁÁÁBç7kkkÿ~øÁÊêþdxÿ‚‚‚´´4!„îQ”gTÿ={öäåå ",à~dÒYX!„¥¥åòåËœ ûTÓ¦MGµxñbeY©OŸ>ëÖ­[¼xqBB‚ÜÞ²Aƒo¾ùæÄ‰åZ%X[[ïÚµ+((hÆ ÿý·\äÚ°aÃÞ½{/^¼¸cÇŽzŬZµêóÏ?ß¼y³Ü!K7‚,_¾üá‡þî»ï”]l­¬¬Fõî»ïê^£ ­Mt[*O©ÊvÝþcÆŒY½zõ™3g|}}MvÙͤI“âââöíÛwåÊårõ5kÖÜÁýl^{íµ×^{íâÅ‹GŽÉÍÍmÑ¢Eÿþý«¹õ—!ýOŸ>-#Úˆ#”FÊ3ª¿¼Ir›6mhlUÔr¦Ž°Òĉ'Nœ˜œœœ––võêÕfÍšõèÑ£š+N{ì±Ç{¬¨¨(%%¥AƒNNN2V¾K‚••ÕܹsçΛ——wþüù Üê’p!„½½ýG}ôÁ”——ën2`ee0wîÜË—/geeÕ­[×ÑÑQNëjÚ´é­îÔ Ì­êùâ‹/äjEÆ 8 o~{«RkÜŒ3V¯^ššúí·ßÜýkª¿¼³yÆ k*~=På !®\¹"—/_¾ÜKS01óDXÉÕÕU¹O¦!êÖ­Û­[7;7hÐÀÀÎVVVʾz,--ÍwÌ”ùUakk»bÅŠqãÆ-Y²ä¥—^ªmû†Ê̓===õ¾¯%jyyBˆ  >|„ 殀šÇỗkìØ±>>>vvvz—ÕršS÷kúZ¥–—wñâÅ_~ùÅÑÑqÕªU殀{¢–Î!Á4*oLVKôèÑÃÎÎÎËËËÜ…T­–—çèèhÈ]<P/",j£?þØÜ%T§–—À}…P",T†…Šœœs—P3ˆ°„èèh½Ý{“êbÈÐ÷7"ìýoðàÁæ. &±*C„€Êa 2DX¨ *C„€Êa 2DX¨ *C„€Êa 2DX¨ *C„€Êa 2DX¨ *C„€ÊX™»0›(³›h¦qÃÍ3®yÞ®ˆJ4ÓyN4ÓyŽ2˰"ÊLpT”™Î³y†Qáf:Ïáfz÷£ÉÌÌ4w `›53ÓÈ]Í4nó ÛÕ\¿ÿ°óÜœólœg“زzõmû0 àõ«««éõINsnŽqׄ¹†™c\Ÿ°éæ8Ïk’ÃÞyÇ ã.^öŽ9ÎóbŸ°¥æ8Ïó“Ã>7Çyž¹8l“9γ¯OX˜9γOrX˜9γÏâ°0sœgCºa<À’“M9ÚÿÍÞ$g™vÜ›ß?šôíŠpåg™ö<+_·šøóM4ÓyVÖ-™öýFÝ|dâÏ7ÊLçùÿ˜öýêüôãšgÝB¸Á븜 *C„€Êa 2DX¨ *C„€Êa 2DX¨ *C„€Êa 2DX¨ *C„€Êa 2DX¨ *C„€Êa 2DX¨ *C„€Êa 2DX¨ *C„€Êa 2DX¨ *C„€Êa 2DX¨ *C„€Êa 2DX¨Œ•¹ ³ 7Û¸‰f×<ï8Ü»mÛ¶ÊÇ œ?¾^cãÆ«¹—†¯¯ïÆ樂Ê3°ÿŽ;Æ×°a䤤–-[VS3µDNNNttôàÁƒ éü ÌÂzxx*?–––þöÛoBˆV­Zµoß^·§³³ó½(`ûöí»víêÞ½»é#l•Ž="„xçwtÛ½¼¼d¢íß¿¿···““Ó‘#GBBBòóólllfÍš¥t.,,”‰ªoß¾Mš4©,,¬N:²=&&fÔ¨Q………½{÷>qâ„r””ù€¸¸¸Gyä¶•Û_åÕÿ“O>™?¾……Å¥K—ìíí};˜˜Q³°ìHP¼¼¼?ÿü3!!!;;ÛܵԤÒÒÒÝ»w !&Mš¤äW!ľ}ûäƒU«V) Láîî>fÌ!ÄÉ“'u×b^ºtI>xøá‡ רþz(Ϩþ¾¾¾¦¼¼ü§Ÿ~2¤?*B„­Ú‰'žzê©¶mÛº»»?úè£íÛ·=zôáÇ•™™™;vlÓ¦Mß¾}sssu_{ðàÁ6mÚ´iÓF^IÓ§O{{û]»v !âããíííííí‡ ¢ôÏËË;|ø°V«5Õ›‘‘‘²æ#Fè¶gdd¸ººº»»;99齤gÏžBˆŠŠŠ´´4¥Q†* ‹æÍ›2®±ýõPžQý;wî,„¨rm.ªF„­ÂéÓ§Ÿ~úéèèhÝÆ£G>ûì³ñññòÇf͚͚5+???--máÂ…J·’’’Ù³gççç[[[!nܸ¡OµZ­V«---•?^¾|¹[·ncÇŽ•u¦±}ûv!„F£qssÓm_ºtiRR’Þ—Î;'_"S‘tùòe!D‹-,--…ׯ_•=«dl=”glyýúõBDDDø.P"¬¾+W®Lš4)77×ÚÚúÃ?Œ‰‰9pàÀ‡~hmm]PP0iÒ$åûÜéÓ§ËÉÔuëÖɋÄŸ}öYjjªbÙ²e-Z´BüüóÏÇŽswwB´oßþرcÇŽS&Æöïß/ãűcÇ”#ßk§OŸB¸ºº6nÜØþçÏŸß´i“¢oß¾ 4PÚeÁ-[¶Ü³g‹‹K“&M† âââÒ®]»™3gê^?wgý Dy·*OFØ’’ùg€ûVß§Ÿ~zñâE++«ï¾ûîµ×^ëÒ¥KçÎ_{íµÕ«Wk4šŒŒŒï¾ûNöÔh4ÁÁÁ 6¬¨¨xóÍ7KKKÏœ9³jÕ*!ÄĉÇ'»988´mÛVf—ºuë¶mÛ¶mÛ¶­Zµ’Ï>ÜÎÎNѯ_?¥ñ^»r劢S§N†t.++óóó+,,Ôh4AAAºOÉP?zôhÝéÀÔÔÔàààqãÆéíÅklÊ»Ëò”X~âÜ7ˆ°úNž<)„pww×['úä“OvéÒEqêÔ)¥ÑÑÑ100Pñ×_-_¾|öìÙ7nÜhÕªÕÒ¥K ®eË– {öìÙ¹sg½‡ÛÉÈÈB4kÖÌί¼òŠÜ(Êßß_ï"Aª´Zm“&MV®\yöìÙôôô7Ê ó#""žþù»éOywY^Ó¦Måù‰pßxPö…5Pii©ü’½Q£F•w¿jذ¡â?þÐmôññùùçŸwìØ±|ùr!„F£YµjUåûTÃÎήoß¾w[ºÁJJJä J¾©Æ¢E‹¾ùæ!Äã?¬÷¬ F5:tè«««lôõõ6l˜»»{rrò¶mÛòòò”oÏíOywYžò3 ¸Ï0 û?þüóOy¡Õÿûß§+‘;\»víÚµkº¯Z¶l™r‘ø”)S}ôQ“n„²²2F#„°µµ­¾çêի妹½zõúñÇu7Š’öìÙsæÌ™3gÎ(‰J²··ûí·…Z­öСCwÜŸòî²<ù ¬¬ÌÀ²PfaÿGyy¹|ààà /ƪREE…î¶¶¶JV¨ý—~ׯ_¿N:¥¥¥ÿüóO5ÝBCCg̘!„pqqÙ½{w•SÕÜÉlРAòÁÁƒŸxâ‰;ëOywYžòxÝjA„ý]»vµ²²*++›4i’ÜËï½÷ÞÅ‹åãððð±cÇŽ=úžÕXìííÓÓÓ«‰°{÷î; "¦ @e š…jfa 2DX¨ *C„€Êa 2DX¨ *C„€Êa 2DX¨ *C„€Êa 2DX¨ *C„€Êa 2DX¨ *C„€Êa 2DX¨ *C„€Êa 2Væ.÷\lllåÆŠŠ ÓW Ðh4•lÈk‰°s—pÑÑÑö$Â>(5jdîn)''Çðά…€Êa 2DX¨ *C„€Êa 2DX¨Ìý³/¬V«]·n]EEÅ Aƒ:wî\}ç’’›}ýúõ¥¥¥}úôéÕ«W ö^‹ŠŠJLLìܹ³§§g•jüDÕ,Ê«Rfffhh¨………¿¿¿•Õýów…¿Þ>ýôÓôôt½Fkkëž={öéÓ§S§NæœÓ-..ž7ožâ£>ª2¦¦¦®]»6&&&==½   ^½zŽŽŽƒ š6mZÇŽïrô€€€’’’Ù³g«(Â^»vÍÛÛ;;;{ëÖ­ºíZ­6$$$&&&666--ÍÕÕuÈ!ÞÞÞ^^^•põêÕ[ 1xð`??¿»é_åݶƒ ‚‚‚RRRŠŠŠfÏž]}Á¨‘&33ÓÀ®‰‰‰·zÖÉÉiË–-íÚµ«¡ÂŒVPPкuk!ÄG}4}útݧÊËË.\øÅ_TTTTùÚ_|100ðnæ«d„]°`Áä‰õðð¨|w®iÓ¦­]»ÖÓÓ3""Bi,))yöÙg·mÛVù8óçÏ×klܸq5÷ÒðõõݸqãÝô×Cyöß±cǸqã6l˜””Ô²eËjj –ÈÉÉ‰ŽŽòÈ#žžžMš4ÉÉɉ‰‰ùí·ß„ß}÷Ý… ~øáKKK³k:G B¼óÎ;ºí^^^2ÑöïßßÛÛÛÉÉéÈ‘#!!!ùùù666³fÍR:ÊDÕ·oß&MšTEoNÚØþ•QžýÇŽÛ£GS§NÍ›7ïû￯¾lTÇèYØ~ýúíÞ½[·=//ïƒ>X·nì£÷­´ÉÜjvýúõo¾ù¦ÂÂÂâ›o¾7nœî«"Ÿ`M¢IDAT##ŸþùÒÒR!Ä|0cÆŒ;]u³°“&MÚ¼y³ƒƒÃ… ” Ý»wBŒ?>,,¬N:²=&&fÔ¨Q………½{÷>qâ„r”””öíÛ !âââyä‘ÛVbl=”gTÿO>ùdþüù—.]²··7öí`bFÍÂÖÀêÕ ,[¶¬ÿþBˆ£GÊ8¨K«Õ^¼x1..îüùóeeeÕª¢¢"##ãäÉ“Õ,øS\¹råäÉ“—.]ª¦O^^Þ¿ÿýoùø½÷ÞÓ˯BOOÏÀÀ@ù800ðÚµkÕ-%%%))鯷­­–+--•ÿ™4i’î æ}ûöÉ«V­R˜ÂÝÝ}̘1B½F9ù?ü°!ãÛ_åÕß××W£Ñ”——+_Apߨ™ °4ÍÈ‘#…EEE'OžTÚËÊÊ»téÒ«W¯#FôéÓÇÕÕõý÷߯ssrr-ZÔ¡C‡nݺ >¼K—.]ºt™:uê?ÿüSy¸;w8°k׮ÇïÑ£GçÎCBBÊËË+÷Ü·o_nn®ÂÛÛ{æÌ™Uÿ /¼ð Bˆâââ;w*íööö^^^¯¼òJ—.]ú÷ï?xð`'''??¿êg¯ýüüìíí«\¹Ø§O{{û'žxBi9uêÔßÿ]ÍkVdd¤<-#FŒÐmÏÈÈpuuuwwwrrÒ{IÏž=…iiiJ£ UÍ›77d\cûë¡<£ú;::Êë«\› €ªÕØÊ´SQQ‘Ò8gΜeË–eee)-¹¹¹_~ùå믿®ûÚòòòiÓ¦­\¹2;;[i¼zõêO?ý4jÔ(½m¢¢¢üüüþúë/¥åÚµkóæÍ[¼xqåªvìØ!L:µšâ•gu#ì7´Zmaa¡ŸŸ_xx¸2VVV¶}ûö‘#GVâ ///­V[\\üóÏ?ë=uâĉóçÏkµZåõ÷Þ{ÏÓÓ³wïÞû÷ﯦÈ´}ûv!„F£qssÓm_ºtiRRRtttå—œ;wN¾Dw·‡Ë—/ !Z´h!×_¿~=66Vö¬’±ýõPž±åõë×OQPP`à»@j,Â>|X>hÛ¶­|ðÙgŸmذA1tèÐ 6üñÇ7n2dˆbË–-K—.U^ûé§Ÿþúë¯Bˆ#F„††žèÚµk5ÅwìØÑÚÚZ·¿">>~ÿþýÞÞÞ²°Í›7wêÔIVòõ×_ßꀣGnР¸uÉ ‹‰'Ê9I¦Õjuô=uúôi!„««kãÆ éþüùM›6 !úöí+ß—$ç[¶l¹gÏ—&Mš 2ÄÅÅ¥]»v3gÎ,,,Ô;ޱý Dy·*OFØ’’’ÔÔÔ;+€Ú©"lEEEHHÈ®]»„={ö”×T]½zuÉ’%Bˆ!C†lÞ¼yäÈ‘O<ñĦM›z÷î-„ *))‘G¸~ýú°aÃ&Nœ2lØ0''§±cÇ®Y³¦E‹BˆØØXe¬¥K—^¿~]°xñb>}ú¼õÖ[ß}÷]•[bÉ©Sggç† VóêÔ©Ó¡C!Dfffå·&L˜ðÕW_ÉÂüñÐÐP™wu Óckk;~üx!Dtt´ÞZ91þøã·­³Fddd!š5kfHçW^yEnåïï¯w‘  UZ­¶I“&+W®<{ölzzúÆå…ùÏ?ÿüÝô§¼»,¯iÓ¦òüĸo½/lVVÖÚµk+··iÓ&00ð±Ç“?þþûïòAvv¶\$ P–å:uJÎÈ*ŠŠŠÎ;—›››“““““#¯})/////·°°(..>{ö¬ÂÍÍM7SJ\µj•n‹¥¥¥­­mqq±!û(}êÕ«§Ûnkk[ù^_BˆüüüjØ¿ÿÖ­[Ÿ?~ûöíÏ>û¬l”«êׯ¯7ázÛ;âÖ ’’™ì•|SE‹É?þxpp°Þ³25jÔèСCÊ¿|}}‡ æîîžœœ¼mÛ¶¼¼<åÛscûSÞ]–§|ÄÌÂî3FGØzõêéî ~äÈ­V[¯^½èèèúõë+íʾJz«,!!A>¨¨¨Ø¶mÛ_|‘PÍ®[§OŸÖjµâ¯K—.•[´hqáÂ…3gΔ••Uó-9%ܸqc¹H@ñÐCU~¡!7¾×h4Ï<óÌ'Ÿ|"×ÈmYå*‚±cÇêeS*++Óh4ºsÞUZ½zõûï¿/Äÿkïþƒ£¬î=ŽÏn²$!)Äü0"ÉU+þ˜Hã­£UÀ^¸”*EðÎ(ØAïx -—iêØÁ+ãàµhñôǽh•^ùQ ±PEEXmäÈI° ) ÙÍóœûÇÙ}òdw6Ù<ìû5ø¸yöìæì³ÌðÙ³ßsŽ\{íµ¯¿þº{¡(cãÆ---¹¹¹1û?þô§?½ÿþû-ËÚ±c‡³öBwÛÓ½sìžóµëÅìðœnGØ«¯¾Ú½ÌäøÃW_}µ¹¹yÅŠÓ§OwΛ*ŸÏg–JÈù—xîܹÏ?ÿ¼¹JJJòòòrsskjjÜÓPœ*Õø!ØÎ×ÔÔ„B¡êêjS*Pmm­)±5ëçËäÉ“-Zdj ¦L™²gÏžššéXEÐóúöí›™™ ….XæXµj•ÙèaÈ!o¾ùf¡Dz²²Î~ÓM7™ï¼óŽªºÛžîc÷œ·8Éy{xE·#lŒ9sæ¬Y³¦µµuÑ¢Ewß}·3kjĈ[¶lÉÈÈX¿~}×£}‡6ùµ¸¸xéÒ¥7Þx£³Ëë¢E‹Ü  :Ôï÷[–e&ÔÇHxrÔ¨Qf ÙmÛ¶ua…Îo5êe—]6räÈ÷ßÿ7Þ˜2eŠYy ¤¤$Ém'.œÂÂÂ#GŽta7mÚtï½÷Ú¶]VV¶uëÖ„kék­ÍŒv1[Îy÷»Û¾ t/Éî9ëÙ±;à"s®+?øàƒ"ròäɧŸ~Ú9o_C¡{GÍ„vìØan<ôÐCUUUN~“>}úô)//‘„ÏÓØpJNüñýû÷'ìÀ§Ÿ~êì {Þ×0®Û·oohh0U“&Mroˆ•&Ðt¶±Ù{ï½w×]w…Ãáâââ­[·š%&â566^uÕU³gÏŽ¿×y;n¾ùæ¯Ö¾3t/ùî9oqLí^w²Ô¬Y³  "Ë–-3_”K4Šȣ>³¬úêÕ««ªªªªª¶nÝ*®¯8cšíܹÓYkÖa&_ïÞ½;frÌÎ;Ÿ{î¹ø¾UTTLœ8QDΜ93uêÔøqÇS§NÝ{ï½fbÖwÜ‘ÌÖóÝ2a„¬¬¬P(´`Á‚ΪZZZV®\ùöÛoǯçu˜õ¼>úè£øßøñÇ7®¹¹yРAo½õ–ùÌP^^ž™½÷Úk¯=zÔ}WCCÃSO=%"Á`Ð,MúÚ'D÷ºÕ½]»v™Î n\ÎC„ÍÍÍ5k–ˆ„B¡y󿙓%%%æäþýû'Ož¼aÆ'NìÞ½ûé§Ÿž9sægŸ}‡ÍˆÑ7¿ùM3_jéÒ¥/¿ürmmíÁƒ_xá…;ï¼3~û«‡~ØÌ‹š7oÞܹsß}÷Ý}ûö=óÌ3Ó¦M ‡Ã »·`Á3/»¦¦fôèÑË—/?|øp(ª©©yå•WF]]]-"999‹-:÷«#''gìØ±"ò›ßüFD®¿þz³­ÛÌ™3g̘1iÒ¤+Vœ÷$tûí·‹È©S§>ùä÷ùC‡3Æ”ßÿý»wï~%ÎÞ½{ö“&M2ÏSYY¹~ýúS§N9sfëÖ­cÇŽ5cÞ÷Üsû«ínµÿþ÷¿_^^~ÅW8ï,ÝëV{ùàƒD¤¢¢¢‹:Z<©>ifƒ«o¼1þ®ÚÚÚÒÒRQJmÚ´Éœ¬««»ë®»þÒÜÜÜ5kÖ8衇âÛøý~³æ¿ˆ?~Üi¼råÊ„_ÄOŸ>½_¿~"òÄOÄtïý÷ßojBº6{öl§½eYf•_#fšÝĉÃá°ûù»ÕÞlóVYYI÷¾ZûP(d¦‘ýøÇ?Öôz k×®M2ÞtcÖT©&ŒÁ`pΜ9"¢µv&`)¥–,Y2cÆ ÷lè¼¼¼ &¼ûî»·Ür‹srÞ¼yóæÍs¯0lذU«V™¹Õ>ŸÏý¯õ¨Q£–.]êlc+" .œ?¾é¡»šÖ¨¨¨Ø¼yó¬Y³âWBÍËË›1cÆ–-[â×äêìÙœ‹à¾«‹Æ·Þz«ÙD 33Ó ån3gÎ ƒ………÷Ýw_ü½BYY™Y‘÷µ×^sŸOf©÷kôù|‹/^²d‰yït´,!<ðÀ+V¬ˆY,ùö§OŸ6«»ç×Ó½nµß¸qcSS“ˆ˜â¸˜¨úúú ý;ÚÚÚjkk »žVRWWwìØ±¢¢¢výœZëcÇŽÕÕÕåçç—––&¹ÌVkkëÁƒ9RWWWPPp饗6,™9æç¢©©éšk®ijj;vìK/½ÔYÇ|>_üÒ¡ç…ùÀ` 0O=õÔO~ò¿ß_[[{^¦«=zôƒ>8uêÔ AƒFŽyÖ­¿ºn¿k×®ÊÊJÙ¾}ûYgPѽ„í'Ož¼zõêÁƒWWW§|!gÕØØ¸mÛ¶$nꉛæ{ì13ùlÆ fgÚ–0ž9sføðáŸþùÂ… Íz¯²|ùòiÓ¦åääœzàÀ¹í¶Ûzg@ìåÝ‘Gy¤¥¥eôèÑäWÀE‰{¡üþ÷¿Ÿþ ¾¥Tü¿ßïó}•U",HkÇÂï}.Ok›úŸûSÝ4Ò7Ó*é×<¬0ü!ú’¼Ìn=VÕ××_ nôfZëÕ¡e»õ HŸ€üâ§Ä²Y¶„,i ÉéVý`eÝåø‘ÚÎ0 ÒÔÎêЯv­³J)¥µ¶µˆˆ2ÿ™ ‚ö8žã±CU†ñù$¨$˜!ÁLõ«]EêFV“| û[øÅƒòûJŸLekQ&])%ZÛ"*’_•ØZ‹V"Ïýè¦%ú!A$+Crú¨v*+¨/TE¤£Ÿ«¬LÉ ([kÑæ+l;’ª¢ÿÓ¢”ó#Çs:v91.+ ²ÃzÇçjâ ]´jG„iǶí‚bG3«èöºç‹o-¬HpA(¥Dk­”þÖ¢uÀ/ϺÓ%³F¤˲júèoF]Ý%›Zk1u±J)WI,Εû³€R¢mmblôÓ‚dø¥¦!hY-DX€´Ögä+ekç n-ѵKm[‹(‰Ǫè`!Çs:Ƽb>DŠ8" šBI.ÄK„éȶŲ%:ÈktM=êe¤ÅÑ}UͰ·3müFDXŽl-¶­Û‹_•ŠühfvE§rI4{¥ø˜é—°Õ+zòÕŽæzF±WÛ4³’®Ú €tdk3 k('°ºoˆŠ|ÙíÊ^=z,Ê“ÑÃ|W—È×ú©¬Li ËÉ¿Ëczóûè— ÚO¼A}­Ÿ:Ö¨×ýYÇß{ó?¨aÅJ)9Ö ×íÕ=ÿŠb†fuÌÉÏ#€tdÙbÙíKˆˆèèºýL‡=xT"ÿ2Ò7~D‡íª²2¥d€” P£‡ùÿp@ÿ×»¶­;<ªr°º¬@}ú…¼±GÇ<çÈ!ê¡[}JÉéVyl¯ŽÄ÷]íu‘¹\bêÌËt}¨8 ",HG‘ZXÕžŸŒ¡6E”Èì1¾ªòHGþzBÿùˆ4Ñ}ƒêë%2´H‰Èèaj`߂ߵ/ &NVÔ±YpX±šy›O)im“ù¿³Õ'=Úya´O—“«>èØ :E„éÈeig ЩPѵD(èy£‡)“_µ–§6ëÕí£Á+D®+“Gƪ Ÿ\{©7Â÷Æw†5ƒÈÊreÁÁ2çŸ|™~±lyr£>x\R’Ò] 8çTdè;ú£e'; K„éȌšU`¥=³¶‡W¶’Ÿ#¾ddêM‘…Q—ï°·Ûé¥ÛÔ¾å‘{*Õ–vCsä.S ¡µn‹NŒÔ_~öÏþì€IÃö‡‡R9þjÖÎ2¢YÖ=åKÛŒÂtÁÖʲÅLärM#r*m»ãlo¸LúDD¶ªWïJÜæwûtù@ýí«U C¾1D½¹?:ÆézuZëœ>ê?&øòûŠˆ<÷¶Þö—”. kº¥"Ñi^Ñ)]:r’o¤#ËÖm¶ÑJ”–Èx QZD)±##š‘ Ì’=r¼©"ãÖíÕ¶î´åÚ½úÛW+¹©\­Û«U$‹G Úl•¡æŽ÷•ùïzý>Ý“¯"þ(f-Ú¹æ:šhµ˜·À²“$&€tÝÚ ‹a¿Ô–åG~ïg'¤­óÒÐCuÒfI†_Êò•“üœé\"òÈX5´HDävëß¾Ÿâù[©¸ŒÂtÅÒÑEµ\µ°âNUq‹ôŒÙ""ÇåTKWÍ,[)å%/[l[b"ê¬Qjä%"uMòü{¾ ·+îuµb.»Í(,@´Vm¶(¥´)ÐL°»i rŸOIÿ,‘C'uC°Æ¡z]>Pù}’¦3"Ññ×áÅ2¼8’½ö—)•êå^0 «¢;´ÇV;Îb  V¤À½ø~<ÕÃAÖim“`†äg«³†ægGnœnM°)ÀîÃzh‘ÊÈô›Õ¾ZùèpÊS¬v]Oå:Ó~#ùQXßè@ogÙÒf‹¥U›-ÎK+s&zC;?öØñËÓ""—-giY1H‰HÓi GÎ8p÷aý£U2ÿM-">%Gåe÷è«Hx´täÂZZ¢·%z‘µ·#C…éÈÖbÙ%5G¥Td¢¼–Ž«–öÐñx£åJÀ/¥yêóúN[樜>""ÇÛ_ˆùŠþx£üûji ÉÆåºKå{7H~_™ÿ]ß¿þVw|É=|Ô®£[{³¤a‰° -EW$p¸ƒl*½óW}]™‘ÊÁòÙ‰N›UvÚÇ^~qª}*Ø¢Múë%êÊKäº2ùÁ·ÔÏÿÂèN´‰%? K!HGv{Í€SE –ö™]ßt÷ôî›DBÞnWW&nsYzøŽH³?h¯ˆp {3Ía5û5}:$"2µJn¹2e…îKíªÜˆü1·“_‚ Ò‘e‹ekË–6Kl­Ìf]m–n³Äœ47,[ÛºGÕuzÃ>‘`¦ü|²äô‰mÓ7(ÏL‘¾A‘·ÿ"{¶ßÙø*R&9¨^残 ¾>1A•äõô+Š;ü1×Ü\góX¶b +¶vBªÉ¬Ú²•¥•g£çŲUç¿™ÔU’'«Tß»^Šr•OÉ%9ê»×ʪÔà‘¦3òغ=t¶6ˆyÎu–•ŠˆôÏ’Å“U¦¿§_‘¹¶–½¶ft֫ÇM-,@Wl­,[+¥Ì¦²Z”ØZ”‰n)›ºíXO4É”eò«©R–/—Ç'ÄÏŽ’ÿk^’£ ë¬lÛfÇ>çãdD© -’«.‘Ÿ“9¯÷ü³®é\ÑÝÄ”¨è=JD'¿;£° Y¶Ž¬îdŠ2m±täûwËŒbFO¦äøYLxNžÿcd8Ö­±E–ýIÆ?'Ž'x¬D—¼9ß’{UN·Šˆ|ï3¼Ç_—­\G±lí\d[T´´ Ù·OÕ×ן¿¿  …®^P”­]›F‰Dw·rßN¹`†\y‰”¯õ“/OËÑ¿É'ÇåL8ÕÝ:7Ñ5ËbOž>-?r,œõ($éȵ.lJ‰¶{QŠmÉžÙS“ê~œΧm'8/"gÝÌA„éÈÖbëè:ûÑ¥$:"«{E~½˜8Üù5^£?ùZX",HGN娈´¯§Ú[ö7¸HÅ\g‰½ÔÉl €´£”ê·Ú™â…U½£rà"¦¢‘Uéè57Þæn-ýƒmJ%5K„iÇï÷_Qм§.×ç‘ö±@Ålhÿ´àÔoˆØ–\1è´ßïO戰 íø|¾¼¼ùÃã¹îõE##„qßt+Žçã(q7Ü”´YrÓàfŸïìˤ§ñ#¬ÿü“ˆ_Ì*ùfVÝbÛ+89žãQ"eÊ}FD‹hKÚÂ2~„%É!€tT~Iàß94cÝå>¿˜r‚˜ÅJ©(¸ÌEÖ®ÛJ‰m‰Õ&K¾û¿å—d'ùý2§±53ÕJ#¹ÁÐMUeM㯠]Yš }±U"€ôeÛv8…B¡P([–¥YX«G(¥ü~fff ™™™ÉçW¡¤3ŸÏ 322‚Á ÖÚäWwŠ%Ñž/î_Ím¥” ²É×8ˆ° Ý}µ…êÆ€-Ðaà1DXx C„€Çaà1DXx C„€Çaà1DXx óÿLQ3ŠtðÓIIEND®B`‚traitsui-7.2.1/docs/source/traitsui_user_manual/images/array_editors.png0000644000076500000240000001734514046644454027332 0ustar aayresstaff00000000000000‰PNG  IHDRyÒ†º,G¬IDATxíݽ®ÉqÀñ{­•áLÌÅî#,:´¿ƒ(ÛPÀ©"é&Ò|’Í€€R‰Ò%µK€ÌˆU@7Ô`Ýb÷tÝžžêžé™¿!P=ýQSóë9¥óásîí;º)ÿß/ÿå˃Œ p ¿½ýù@ÙJ"ðO_‘ô$‡ì_Â!´|xýÅ—ÿúå»7ïøžÿMhd Ü+ðàÛ¯o>¼þ‡{ç1Ø.@­ÙnH¸_€Zs¿3@`»µf»!@à~jÍýFÌ@íÔší†D@û¨5÷1¶ Pk¶î ÖÜoÄ Ø.pÏw¶Ÿà"ž>yv‘+ —ùëßüöí_ÿ¼x½8DòÛƒZ“›4ö<ñ²qåTËþðûßÙùâ}pHîjM²éðá£Ç›Öϰ¸ôŒFçŽCÔÀAßÔ­áÐþ·ÿþŸ$Êÿýé?>~ü˜trˆÀÕxoøj;Îõ"°µfwΊÀÕx å¿ãÿûÇAó×Sþ';pÄÛÛÛ˜ÝÅ_Bâojóƒ5)1ºí|šÃ‡ 0)1º}øÄÔ×®ÛΧ™!¯¡fØ%rD`~jÍü{È 0ƒµf†]"Gæ ÖÌ¿‡\3PkfØ%rD`~>‡rÞÃð!ŸyÓð!TøØ%âÊRÎÖ3„ÃAv‰Z#n ùÌÛ-✮\bôŽá5x ¥ï Ú ÐK€ç5βòê.îùâå­Ë ð¼æ²[Ï…#0T€Z3”›“!pY^C¹m}øÁºšß‘r;ßQáw‡ä¥Ö$ ‡á'xWžkq?qÈïkjMnÒÒÃ3š¨†¥Çï×”dèGOj§&±@ $@­)ÉОÔOMb!€@I€ZS’¡<¨5žšÄB’µ¦$C?x Pk<5‰…%jMI†~ð Öxj JÔš’ ý à)À÷¡|4Ÿ>yæh†(á‹…¥ï=á7‡üF¦Öä&=Ï_¼l\9Õ²ðS v¾8D’û„Z“€l:|øèñ¦õ3,.=£Ñ¹ã5pÐwï×h Ú ÐK€ZÓK–¸  ¨5Zƒ6ôàýYþÞc4ÅýèÚ¡Ö<øê›˜ÁOo^éTt»4§Ô׆Q#¦Žß¯`òwu»ßY_»n3Û~Yék×í~gr>Ç áp{€û!RPkü¸W.1Z)7šå²m^C]vë¹p† Pk†rs2.+@­¹ìÖsá  Ö åæd\V€÷†Ý¶>ü`]ÍïH¹ï¨pˆ;ƒCr‡RkÆÃð¼+ϵ ‡¸Ÿ8ä÷5µ&7iéáMTÇÒã‡÷kJ2ô#€€§µÆS“X P Ö”dèGOj§&±@ $@­)ÉОÔOMb!€@I€ZS’¡<¨5žšÄB’µ¦$C?x Pk<5‰…%jMI†~ð Öxj J ß½|úäYiö5ûÃwv“¯BtÍ;«®È2aáB­áëð÷‚Bt/HjMò¿áɃDܬàýšµbÌGjM‹k@`­µf­ó@ E€ZÓ¢ÆX+@­Y+Æ|h Ö´¨±Ö PkÖŠ1Z¨5-j¬AµÔšµbÌGjM‹k@`­µf­ó@ E€ZÓ¢ÆX+@­Y+Æ|h Ö´¨±Ö PkÖŠ1Z~¿¦% knn|õMdøéÍ«+{àw‡äQ@­I@Ã%%F·ÃM»L_»nO{A‰ëk×íÆp§XÆk¨Sl#Àá¨5‡ß"DàÔšSl#Àá¨5‡ß"DàÔšSl#ÀáøÊg‹Â‡Páã†K>ò =Uäà~Hî\jMÒ~xå£Õpˆ8è»"´y •€pˆ]¨5]X Љµ&áºPkº°jMÂ!t Öta%($Ôš„Cè"@­éÂJPH¨5 ‡ ÐE€ZÓ…•  Pk@ ‹µ¦ +A@  Ö$ "€@jMV‚"€@"@­I@8D.§ª5òëD«¨ÚV­:“@`ᷲ䱷øc?at±#¥œ4Äécz5Ëå&Í¿ækæà•pHî–…Z*iüFθËÙ—µ‡:gÝ^göùúÚu{öëZ›¿¾vÝ^çLój¾¼À$‡º„Îx(’ѸjqN¤¯Ü#þâ%[i$äP.!ÎÔùH[´ ÜSkBPýŽí¼'L‹Kýà méÉɨ4bé_=MÚÉÙ¥?ž+ •Œù' 9D_ûk}¾ð`¶'„Ñ|ŽÔ ½V¦éQé”™y ņLÐq’9ùa˜Ê¿qªyLz@@¶ÖššGcÍœPœ&•"¦˜¬å %3å’’%ÒOvpûÌ»ôÈ××V3'TŠÅi‹:øöv<µ.UNº=m" 0…ÀÂóšø ÿêG\ŒÔ‚Ðv“uO\¢{â UjÄ%áß|­îÉãçõüÐÎ'xõ ;‘WÂâàaqÈo°Û/¿{ûîÍû¾ÿ9ÛØSªVÃö[>]Âý(ˆŒ€£Àƒo¿¾ùðzáyÍÆsħE!H×ç“d9 ð¯5ó–˜y3|Óp:ÜÞn87K@à:Ôšëì5WŠÀžÔš=õ97× Ö\g¯¹Rö Öì©Ï¹¸Žµæ:{Í•"°§µfO}ÎÀu¨5×Ùk®=¨5{êsn®#@­¹Î^s¥ì)@­ÙSŸs#pjÍuöš+E`OjÍžúœëPk®³×\){ øÿ¦ÄžW³ë¹ùážÈ‹DjÍ"ËêNý›~º½:Ðä ôµëöä—µ:}}íº½:ЉðêD›É¥ p`jÍ7‡Ô8‘µæD›É¥ p`jÍ7‡Ô8‘µæD›É¥ p`>‡òÙþöXtćÒ#ŠZS’YÝÏŸ|‘‡Ùj»3.à~Hv•×P ‡ ÐE€ZÓ…•  Pk@ ‹µ¦ +A@  Ö$ "€@jMV‚"€@"@­I@8D.Ôš.¬ED€Z“€pˆ]¨5]X Љµ&áºPkº°jMÂ!t Öta%($ ¿)ñôɳdÒÅý›ß¾ýëŸ5DZƒ6‰@þ jM˜—¬ä0€(á{jMò¿á÷†¸àˆ.¸é\òFÞ¯ÙÈr¨ ÖT11 6 Pk6²ª¨5ULLBÔš€,G*jM“@`£µf# Ë@ J€ZSÅÄ$Ø(@­ÙÈr¨ ÖT11 6 Pk6²ª¨5ULLB ß½ÜñšËø+‹ßë»C¶ïÒÓØntXµœZ³ŠËšüüÅKkxìØ~ÿ;û„dkû£'³5®ÔwˆZãéùðÑcÏpbÕüêÙ¶ŸÏ¶Íaí*Þ¯Y+Æ|h Ö´¨±Ö PkÖŠ1Zx¿¦EÍ^s{{'|üø1Ÿiæó{÷ØùØ£½sËãÛùØ£y´Þ=v>öhïÜÆÇ§Ö8›‡HJŒnÇÓèÝvN¢:œÎA·É¶š°8Q{êö1m‹—á7Àk(?K"!€@Y€ZS¶aü¨5~–DB²µ¦lÃø Pkü,Ë‘Â[ƒåÁÃm¿-™ËÖ×Ï¡|=o‡Pr?ÉRr{T¦ kØùأÒ”ÙùØ£dXÃÎÇ–äÈQküµÃm”Õ=ºLÛå0ÏG÷èö.é%'ÍóÑ=º,Üå0ÏG÷èö.é >)¯¡ƒs:.*@­¹èÆsÙ  Ö çt\T€ZsÑç²,À{ÃnàáçÚj~EÉí|Û‘í6?kõ\¶Ö•¸ŽQk|8ÃÐú…lû1ÏeÛÏ!L­ÉMZz&zF.l[ö¸nÍ\¶u×ä3‹÷k|‰‚¶µÆöa|¨5>ŽDA[€Zcû0Š>ÔG¢ €€-@­±}Ej#Q@À ÖØ>Œ"€€µÆÇ‘( ` PklF@ÀG€ZããH°ø>”íS;úôɳک£æ…/–¾›C¶7á4¶V-§Ö¬â²&?ñÒ;~ÖÀ>!ÙÚ>ÆèÉl+õ¢Öxz>|ôØ3܆X¥g4:$Ùjúöùlë¯}ËLÞ¯Ù¢ÇZ¨ ÖÔJ1¶Pk¶è±jx¿¦Vª~žñw/C{´þ,^3í|ìQ¯êãØùØ£õgñšiçczåpœ8Ôç½7ü=CÝŽ§Ñ=ºíœDu8ƒn“m5aq¢öÔícÚ/Ão€×P~–DB²µ¦lÃø Pkü,‰„ejMÙ†ð ÖøY–#…·˃‡!Û~[2—­¯ŸCùzÞ„¡ä~’¤äö¨LÖ°ó±G‡%)'²ó±G%Ȱ†=:,É‘'¢Öøk‡Û( ª{t;™¶ËažîÑí]ÒKNšç£{t;Y¸ËažîÑí]Ò|R^C çt\T€ZsÑç²,@­ Î鸨µæ¢Ïe#0X€÷†ÝÀÃϵÕüŠ’Ûù¶"Ûm~Öê¹l­+q£Öøp† õ 4$ ÙöcžË¶ŸC™Z“›´ôLôŒ&\Ù¶ìqÝš¹lë®ÉgÖ%Þ¯yðÕ7>ZDAVCךš‘Ï =ú?«dòh«–3JÇ} Uó°/ÍùéÍ«ÒÓ»ôyM("º^èš"ídN _Xÿ#“K=qB•™4@`‹ÀŸ×„G¸.4áòÂaì”!i,^|•~ ¥—H;•‰@¶ ±Ö„«’b¡‹‚´ãeçs„£¾^HY«õqô*Ú ±ÖÈ#<).:ûš9zþb[Ç·‹Îâr:@ ^à ï×äëÂàŠ0øtùUÓƒÀiŽø¼&Ç…&ô‡§3ÒΧÙ=qmœŸééõ%N°2Šõ·_~÷öÝ›÷?|ÿsýf"€õ¾ýúæÃëi^CÕ_3@à€s¼†: \’ÒÓ'Ï’žÝ×KßÍ!Û»sÛ«–SkVqY“Ÿ¿xi  ?k`Ÿlmcôd¶Æ•úQk<=>zìnC¬Ò3’lµF}û|¶õ×¾e&ï×lÑc-Ô Pkj¥˜‡[¨5[ôX‹µ¼_S+U?Ïø»—!ˆ=Z¯™v>ö¨Wõqì|ìÑú³xÍ´ó±G½r8Njó^„Hþž¡nÇÓèÝvN¢:œÎA·É¶š°8Q{êö1m‹—á7Àk(?K"!€@Y€ZS¶aü¨5~–DB²µ¦lÃø Pkü,Ë‘Â[ƒåÁÃm¿-™ËÖ×Ï¡|=o‡Pr?ÉRr{T¦ kØùأÒ”ÙùØ£dXÃÎÇ–äÈQküµÃm”Õ=ºLÛå0ÏG÷èö.é%'ÍóÑ=º,Üå0ÏG÷èö.é >)¯¡ƒs:.*@­¹èÆsÙ  Ö çt\T€ZsÑç²,À{ÃnàáçÚj~EÉí|Û‘í6?kõ\¶Ö•¸ŽQk|8ÃÐú…lû1ÏeÛÏ!L­ÉMZz&zF.l[ö¸nÍ\¶u×ä3‹÷k|‰‚¶µÆöa|¨5>ŽDA[€Zcû0Š>ÔG¢ €€-@­±}Ej#Q@À ÖØ>Œ"€€µÆÇ‘( ` PklF@ÀG€ZããH°ø>”íS;úôɳک£æ…/–¾›C¶7á4¶V-§Ö¬â²&?ñÒ;~ÖÀ>!ÙÚ>ÆèÉl+õ¢Öxz>|ôØ3܆X¥g4:$Ùjúöùlë¯}ËLÞ¯Ù¢ÇZ¨ ÖÔJ1¶Pk¶è±jx¿¦Vª~žñw/C{´þ,^3í|ìQ¯êãØùØ£õgñšiçczåpœ8Ôç½7ü=CÝŽ§Ñ=ºíœDu8ƒn“m5aq¢öÔícÚ/Ão€×P~–DB²µ¦lÃø Pkü,‰„ejMÙ†ð ÖøY–#…·˃‡!Û~[2—­¯ŸCùzÞ„¡ä~’¤äö¨LÖ°ó±G‡%)'²ó±G%Ȱ†=:,É‘'¢Öøk‡Û( ª{t;™¶ËažîÑí]ÒKNšç£{t;Y¸ËažîÑí]Ò|R^C çt\T€ZsÑç²,@­ Î鸨µæ¢Ïe#0X€÷†ÝÀÃϵÕüŠ’Ûù¶"Ûm~Öê¹l­+q£Öøp† õ 4$ ÙöcžË¶ŸC™Z“›´ôLôŒ&\Ù¶ìqÝš¹lë®Égï×ø8ljíÃ(øPk|‰‚¶µÆöa|¨5>ŽDA[€Zcû0Š>ÔG¢ €€-@­±}Ej#Q@À ÖØ>Œ"€€µÆÇ‘( ` PklF@ÀG`á»—OŸ<ó‰}–(á›»Éê :ËÞr]ò‡L8ÍB­áKñ÷òCt/HjMò¿áɃDܬàýšµbÌGjM‹k@`­µf­ó@ E€ZÓ¢ÆX+@­Y+Æ|h Ö´¨±Ö PkÖŠ1Z¨5-j¬AµÔšµbÌGjM‹k@`­µf­ó@ E€ZÓ¢ÆX+@­Y+Æ|h Ö´¨±Ö PkÖŠ1Z~¿¦% knn|õMdøéÍ«ÜÃÍç÷î±ó±G{ç–Ç·ó±Góh½{ì|ìÑÞ¹íŸZãƒn )1º£ëÝö9÷ú(:Ý&Ûõ–é í©ÛÇ´M³ïyÌk¨žºÄFOÔšOü7ô ÖôÔ%6| Ö|’à¿@ §µ¦£nxk°ctïÐdë-zo.Û»¼][|åÃ>„’ûI>’Ðö¨LÖ°ó±G‡%)'²ó±G%Ȱ†=:,É]Ntûåwoß½yÿÃ÷?ïrzNЧxðí×7^óêôÍ"pjÍ!¶$8½µæô[Ì"pjÍ!¶$8½µæô[Ì"pjÍ!¶$8½µæô[Ì"pjÍ!¶$8½µæô[Ì"pjÍ!¶$8½µæô[Ì"pjÍ!¶$8½µæô[Ì"pjÍ!¶$8½µæô[Ì"pjÍ!¶$8½¿Ëç¶ÅÆïò…sØ£nIT²ó±G«Oâ6ÑÎÇuK¢:=Z}’ù&Rk|ö,Ü@áçc,ÝÎ{òQŸ ÖDÑ9è6Ù®Q\ž«=uû˜¶Ë×Ч—×P}\‰ŠŸ Pk>÷àúPkú¸> Ö|îÁô Öôqý{ÔðÖ`ÇèÞ¡ÉÖ[ô.Þ\¶wy»¶øʇÓþcö¨Ok¢ØùØ£kÎã3×ÎÇõÉ`M;{tÍyæ›Ëߢ›oÏȹø[tsíÙ"0·ï×̽dÀ,nµæï~µåжj– &O"ÐøÞpòø ïxÕ_OX›Ï×óÑúàÌDc 4Öšp1îA.£cò‘T ´×šÒ 䊮qrÒ#‡¥P¡¿>Z)HAÃ|@è—CiK£œ~¨h¯5‹Zýà”vþ–;K‰¦I[ÖÆés’€Éh\›DH–pˆ=ÚkŠÎA·Év½eºB{êö1mÓì{óª§.±@à“µæ“ÿ=¨5=u‰Ÿ¨5Ÿ$øoè)@­é¨ÞìÝ;4Ùz‹ÞÅ›Ëö.oןCùp†¡ä~’¤$´=*Ó†5ì|ìÑaIʉì|ìQ 2¬açcKr—ñÝË]Ø9)à»—Úl.Ýx¿f÷- .!@­¹Ä6s‘ì.@­Ù} HKPk.±Í\$» Pkvß@àÔšKl3‰ÀîԚݷ€¸„µæÛÌE"°»µf÷- .!@­¹Ä6s‘ì.@­Ù} HKPk.±Í\$» Pkvß@àÔšKl3‰ÀîԚݷ€¸„¿Ëç¶ÍÆïò…sØ£nIT²ó±G«Oâ6ÑÎÇuK¢:=Z}’ù&Rk|ö,Ü@áçc,ÝÎ{òQŸ ÖDÑ9è6Ù®Q\ž«=uû˜¶Ë×Ч—×P}\‰ŠŸ Pk>÷àúPkú¸> Ö|îÁô Öôqý{ÔðÖ`ÇèÞ¡ÉÖ[ô.Þ\¶wy»¶øʇÓþcö¨Ok¢ØùØ£kÎã3×ÎÇõÉ`M;{tÍyæ›Ëߢ›oÏȹø[tsíÙ"0·ï×̽dÀ,ÔšYvŠ<˜[€Z3÷þ‘=³PkfÙ)òD`njÍÜûGöÌ"@­™e§È¹¨5sïÙ#0‹µf–"Oæ Ö̽dÀ,ÔšYvŠ<˜[àö—ÿõ—þêWïÞ¼ÿ—òã_~aŒ2„>¼C_üííÏïnÞ‡|ûcq* €À6ÿ[Þ0÷@ËÐIEND®B`‚traitsui-7.2.1/docs/source/traitsui_user_manual/images/ButtonEditor_demo.png0000644000076500000240000006127514046644454030112 0ustar aayresstaff00000000000000‰PNG  IHDRôšvJ&÷ pHYs  šœ IDATxœìÝy\Çÿ0ðI‚Ü—¢F.Q¹•¯x¡žH/­­ÕâIëQ´ÖŠ'Þ¨Õ*Þ E«ˆZA(mÅ /,ʼ@¤@¸BÎçyuû$$ ÛÏû¯ÍìîÌ$»ùdvvvB«ªªB¨…ÞÙÐþ ¸Ap ‚àÁ(‚;Pw  µÎ®h;±X,‰$‰Tºl  #Ñh4ÙƒA§w\{‚{—ÔÜÜÜÐÐÀãñø|¾l|‡à@ç’ î8²«««kjjêèèhhht@ ¸w1‰¤®®®®®NCCƒÉdt̉øÍÍ͵µµÕÕÕUUUzzzzzz²­ûöEƒéº.—ÛÐÐгgÏ>}útv]J+//¯ªªÒÑÑÑ××WiAÐrïJš››ëêêz÷î ‘€. yÙl¶†††J/»a´LWÒÐР®®‘€.­OŸ>êêê *-‚{—!‹y<žAgWð± x<žX,V]Ü» ‘HÔÔÔÔ£GήàcõèÑ£©©I$©®î]†D"06 ÐÐÐ*µ Á½+Qéï< #©úë¬òÑ2|>_]]½ÅUB¡ðĉ¯_¿^ºté€T]“åææ>~ü˜N§ÏŸ?_ÕÃNAWýíÖ­›œm.]º$† âàà€SòóóýõWGGGeK”Í €¤’à^RRò믿fggggg———÷íÛ×ÉÉÉÙÙyáÂ…šššÄf¿ÿþûÆBoÞ¼‰‹‹SEM>èÖ­[[·nEÍ›7OM †þ§={ö,&&&;;»¬¬L,[[[<ØÉÉÉÇÇGöÜØ¾}{ssó’%Kˆp¼fÍš/^ÄÅÅ 4ÈÉÉI©¢esSÜóçÏùå„……ÅâÅ‹åoÌãñÂÃÃÅb1FÛ²e œóÖþ‡655õ믿þ矈”’’’’’’„„„¸¸¸_~ù¥oß¾8½#§Y@>ŸÿÃ?$%%‘Y,‹Åºxñb\\Ü¡C‡ŒŒŒägÒYçsiiéÕ«WB cÚ´iÆÆÆr6NNN¾|ù2^ ƒàNaí|h.\ˆû’ÜÝÝGŽibbòòåË7näææN˜0áþýûL&!äååµmÛ¶’’’àààö­Š‰DÁÁÁ?FÑh4¡C‡2 ‹õøñ㪪ªŒŒŒ™3gFFFÚÙÙÉÉgÏž=.\°··W¶ÙÞ^D"Q\\Ü·ß~+g› .tX}@çjçà.‰ètú¾}ûæÍ›G¤¯_¿þû￉‰©®®¾råʲeËBjjjK—.mß  ¬3gÎàÈ®©©yöìÙ!C†«¸\îºuënݺU^^¾}ûöóçÏËÉÇÆÆfË–-*¯®\qqqË—/g0-®e±XÙÙÙ\%ÐYÚóB²¶¶öÅ‹¡aÆ‘#;BH]]}çÎÝ»wG)Õ½. sssËËË¥Òy<^nnî»wïɤ¡¡Åb½zõJ (^4BH$•––fff …B¥ö]BMMÍÏ?ÿŒ—7oÞLŽì!}}ý#GŽŒ3!”‘‘QPPÐæ‚_¼xQXX¨Ò1•••)))­­U¤Ù.‰ÊÊʲ³³KKKatV—ÖžÁ½¦¦/X[[Ë®ÕÔÔŒýå—_~üñGœÂãñúôéÃd2O:El¶nÝ:&“9eÊ”êêê/¿üÒÊÊjìØ±#FŒxøð!B¨¤¤dþüù}ûö;v,]°k×.rA‡Éd2™ÌÛ·oçååMŸ>½_¿~îîî#FŒ°²²Ú¼y3ŸÏÿà{ …»ví²³³srròôôtvv4hÐÆe÷­««{ôè| º¨Û·oóx<„ÐìÙ³ýüüd7 ÑhDG‡üà¸ÿ~{{{©ô¼¼¼E‹9;;ûøøL›6ÍÙÙ9(((11ñƒuc±X...ööö#GŽ,))ùàö:::r*YWW‡ śɉD‡rss7nœ¿¿ÿĉGµ{÷ne›DàÑžÝ2¦¦¦êêê|>?))iåÊ•R :”üR,ãæ0ùì"‘¨±±qÁ‚÷îÝ#Ò_½z5kÖ¬K—.-[¶ìýû÷DzyyyDD„H$"~3D"µYYYhjj"6®¯¯?|øpmmíä¿—ÐÐÐsçΑS¸\ndd$›Í>vì‘XVV6jÔ¨†††áÇ'''ËÏ|‚nÞ¼‰fÏžÝÚ6C† ¹víšP(”?÷ƒP(‰DR¡ðÅ‹_}õ—Ë%Rx<^VVVVVÖóçÏW¯^ÝÚmØüüü¯¾úª¶¶VOOïäÉ“Ä09æÌ™sòäÉ´´´×¯_÷ïß_jm|||SSF <}ú´ìî›6m"îµbuuuÑÑÑUUU{÷îý`éàSÓž-w55µñãÇ#„þùçww÷íÛ·ççç·-«œœœ{÷î-\¸ðÏ?ÿüõ×_§M›†âóùÓ§OÿþýìÙ³“’’-Z¤¥¥…:zô¨l·ÉŽ;šššæÍ›wñâÅ;wîlݺÿÞÄÄÄDEEÉ)}ÿþý8²»¹¹;wîÙ³gçÏŸwuuE]¾|y÷îÝÄ–)))xöŸôôtòOè*^¾|‰¢ÑhVVVr6³±±qpp077W*s6›Ìåri4Úܹs£¢¢âââBBBLLLB§Nú믿ZÜñùóç8²ëëëGEE ¹¹¹üñ‡"]¨àS#‰p‡‰ŠÎÉÉAÙÙÙ-_¾œœneeµoß¾åË—5Jj—ÂÂBrdWö™&»¹\îï¿ÿNNÇ¿"8dËî•››‹ÏùÕ«W“Ïy---\öáÇã…ÜÜ܇-?}ú/ÔÔÔܾ}›¼Š˜9;;›¸ ««;lØ0ùo|𠆆†Fss3n¿·/¢1tèPÙ™-<=====¥ /]ºT]]­§§moo¯l¡ƒ rvvÎÈȸpáÂŒ3p"‡ÃÁý?þþþ-Ž’ÌÍÍÅ µµµ< ¯jllÄ ,KÁÞ!ð‰PÕóiºººþþþx’gÏžÅÅÅEEEñùü²²²•+Wâêä3÷¡â϶»‰ß†ÜÜÜçÉÊÊ ­åL|@Wgddôþýû¢¢"±Xܾ˜ிAƒ)¸Ë­[·ð‚ŽŽŽ©©iÛÊ3gNFFFNNN^^þy¸|ù²P(TSSkí¦1q>/Z´¨µl[ìöŸ²ŽxøxÈ!C† ™3gŽ··w}}}jjjMM¡¡a-‹hCµ6Ù&N§ÓéRCžÉà¿(ƒÉd¾ÿžÇã•––*2"EqÄU£RÈ€¯$ÊËËW®\yúôéÖG’ÃÓÓÓÈȈÃá\¸pO#‹š4iRÏž=[Ü…8çå\+ôîÝ[Ùš€ÎÕžÁ½¡¡µjq;;»/¿üòÈ‘#¡¢¢"¢{DuX,–l"1€§µûTC† IIIQSS»~ý:yš3@I®®®øZíï¿ÿn-¸K$’+W®ˆD"777s4h¬xoµ½½ýÉ“'CCC>|˜––¶wï^|‹H)ݺu›9sæ‰'×®]›™™‰Çqw­dÙÙÙݽ{—Á`ÄÄÄÀ9Oíyº}ûvkkk|I1ÚYQµôôtÙ!1Ož<Á ­ÝªÂ v>ŸŸ‘‘¡ÒêOÁĉñÂîÝ»[{P(11qÆ ›6mjíÄn‘šš~š/##C¶ñþðáÃsçÎI–qssëÑ£ÇþýûqŸÌ™3g/‘H§Óy<^||<.bàÀršS¸Á.`r*iÏàNÜÀÙ¾}»ÔH,„Pqq1R¢©©Ù1³·¿|ùRj´LAA~œUSS³µžP¢7fÆ Rÿ`{éÒ%¢o!”——UYYÙεÂÚÚ?œQWW·bÅ ÙEEEûöíCijjÊiü¶ß,,,Ä ¯_¿^¶lYxxx||¼ì^†††‡Æ-è°°0bh–âLLL<<<B§NÂO¶8’@ôÆìÚµ‹¸ƒŠÅÇÇ{{{{{{ß¿_Ùj€ÎÕžÁ}ذa8j§¤¤xxxÄÇÇ¿~ýšÏç?þ<**jìØ±xä¼yóT1¦¸EGýî»ïnݺ•——wüøñ9sæàx½mÛ¶Ö&;555]¹r%B(''' 11‘Ífgddìß¿ÿ›o¾)**ĵyAA‡‡ÇÚµk'Ož¬Òÿºª†ŸýÉÏÏ ú믿ªªªêêê233þùç™3gâ©fÍš¥ì¢eË–™™™!„Nœ8±mÛ¶‡â¹×—/_Ž[?­Å\[[ÛíÛ·#„š››CBBÈh+ç\QQ!‹µ´´|}}ållllŒo¥²X¬E‹ݸq£ªªêÙ³gÇŽ[¿~ý«W¯„B¡ì¨Mð‰kçªçÏŸŸ?~AAÁË—/.\(»Á—_~Ùa3çMŸ>=!!áìÙ³gÏž%§Ï›7﫯¾’³ã?þXRRrõêÕ´´´´´4ò*ƒ}ûöÿÑCtÝ”””°Ùl¸ÑÚŸ={vñâŇÅbÉN™K£Ñ‚ƒƒñSJ122:yòd```mmíùóç¥&•ô÷÷Ÿ2eJkûN™2%777::º¬¬lÅŠgΜQêæª«««¹¹ùÛ·oBS§NÅÚɱjÕªwïÞ%%%=yò„èºÄôõõ7oÞ 3¿w9íü“••Õ7æÎ+5 F0`ÀöíÛGüëNÇcWÈg-^–=‰©ñjÄKÙqlîîî±±±ä:::Ë–-#Ï€³%jBÔöðáÃ!!!ä–š¡¡¡¯¯ïƒð/æããckk‹.‡ÈÞu988\¾|900Pêv"ƒÁ°±±9qâÄêÕ«¥ÎI|¾ÉžºRçaÿþý£££ÝÜ܈LMMÍÎÎnëÖ­[·n%"¦ln¡ÐÐÐÑ£G#„ÒÓÓåLÐâWƒN§cy¥z“ðö4Mêœß¹sçÂ… õõõ‰D}}}//¯ÄÄD\ еЪªªT”uIIInn.‡Ã±¶¶¶··om.ºvÇf³ñ÷à™‡9Îû÷ï555-,,ZûC× …ÂwïÞÕÔÔ0™L9±»¾¾þƒ-£Ççó‹ŠŠÜÝÝU]ЗË-**z÷îX,¶´´4hœG.”R__ÿþý{:naa!ÿßY;žò·¶¶¶W¯^0üQ¥RSS­¬¬”ŠHJQá¥Vß¾}Ûwàp›}ð?ÒZ¤¦¦faaÑâDKdÙAÇÐ××wvvvvvn÷œuuuš©1 333|«tið/¦@AÜ€‚(x\WWëjüKŸ2Æ`0ššš:l )@Eššš †ìŒríH…7TAû‹ÅÅÅÅÆÆÆmžR ð‰x÷î]YY™……EûNWGÝ2]N×ÒÒ‚Ga €ÊÊJ---ÕEvÁ½kÑÑÑill,..îìŠÚ®¸¸¸±±QÕ£Ã!¸w%ÚÚÚzzz¥¥¥oÞ¼éìºÚâÍ›7¥¥¥zzzªž?‘‚7T)ŒÁ`ôèÑC(¾y󦪪ŠÉduÌ›€ÑØØÈáp***êëë zôèцÉú•7T»±XÜÜÜÌårkjjêëë›››E"‘Ô´ö?$€Ž!5 uÓÐÐÐÕÕ544Ô×××ÐÐPi‡;‚àÞ‰Åb@Àÿ—X,†hÀ§ŒF£ÑétõuëÖMÕ‘A·LWD§Ó544ÔÔÔ444$ Žìäø±€Î%5)úw¦6ƒ¡êÞ÷®ª#Ï@—£e€‚ ¸Ap ‚àÁ(‚;Pw  î@AÜ€‚ ¸Ap ‚àÁ(‚;Pw  î@AÜ€‚ ¸Ap ‚àÁ(‚;Pš"åä䨺Tâè訊lá(@1*Š­ªªêƒ©®ÔÃápT‘-(FE±ƒn  …Zîºh¹Ap ‚àÁ(‚;Pw  î@AÜ€‚ ¸Ap ‚àÁ(‚;Pw  î@AÜ€‚ ¸Ap ‚àÁ(‚;Pw  î@AÜ€‚ ¸Ap ‚àÁ(H­³+ÚN,‹D"‰D"•.›èH4M6…Á`Ðéמ†àÞ%577744ðx<>Ÿ/ß!¸餂;Žìêêêššš:::Pî]ŒD"©«««««ÓÐÐ`2™s¢>FsssmmmuuuUU•žžžžžžlë¾}ѪªªTZh_\.·¡¡¡gÏž}úôé캔V^^^UU¥£££¯¯¯Ò‚ åÞ•477×ÕÕõîÝ";]þò²Ùl •^vÃh™®¤¡¡A]]";]ZŸ>}ÔÕÕTZ ÷.C,óx<ƒÎ®àcðx<±X¬º" ¸w"‘¨©©©G]ÀÇêÑ£GSS“H$R]Ü» ‰D"`l  ¡¡!T:j‚{W¢Òßy@GRõ×ùcGË477C[P ~ô·[·nr¶¹té’@ 2dˆƒƒNÉÏÏÿõ×_ýýý•-Q67>R[‚{}}ý¹sç®^½Z\\Ìápzöìéììììììååegg×îU c<{ö,&&&;;»¬¬L,[[[<ØÉÉÉÇÇGMMú›²}ûöæææ%K–áxÍš5/^¼ˆ‹‹4h“““REËæ¦¸çÏŸÿòË/! ‹Å‹ËߘÇã…‡‡‹Åb¶eËÙ÷(CéCûðáÃ/¿ü²ººšH©ªªúóÏ?ÿüóψˆˆˆˆˆ9sæ´k [Æáp"##BsæÌ±´´ì€…ñùü~ø!))‰œÈb±X,ÖÅ‹ãââ:ddd$?“Žœ6„¬´´ôêÕ«!ƒ1mÚ4ccc9'''_¾|/‡……Ap§0åmJJÊ_|ÁçóBL&sæÌ™æææoß¾ÍÌÌLKKãóùß~ûí³gÏvïÞ­šÚþŸòòòƒ"„†Á| ‘Hüøñc„Fóðð:t(ƒÁ`±X?®ªªÊÈȘ9sfdd¤ü Ó={ö\¸pÁÞÞ^Ùf{{‰Dqqqß~û­œm.\¸ÐaõK‰àÎårW¬X#ûŒ3~þùgro{RRÒ7ß|ÃårOŸ>=eÊww÷ö¯,*pæÌÙ555Ïž=;dÈb—Ë]·nÝ­[·ÊËË·oß~þüy9ùØØØlÙ²EåÕ•+..nùòå £Åµ,+;;»ƒ«:‹’?ýôSEEBÈÖÖöàÁƒR÷Q§L™rñâE¼õ‘ÕyyyMMMmÎD,—••eee½|ù’Çã)² ›ÍÎÍÍÅ?`dïß¿ÏÎΖM]]MMÍÏ?ÿŒ—7oÞLŽì!}}ý#GŽŒ3!”‘‘QPPÐæ‚_¼xQXX¨Ò1•••)))­­U¤Ù.‰ÊÊʲ³³KKKatV—¦Dp¿víBH[[;::ZKKKvƒ#FL˜0!”œœ\VV†ÊÊÊb2™L&óáÇRçääàU©©©äôÔÔTOOO 1cƘ››Ïš5+==ØàâÅ‹L&ÓÃÿüüóÏq>¸z˜P(ܳgƒƒƒ££ã¤I“FŽÙ¿ÿ… ¾zõŠ\‡ÃÁûÞ¾}ûâÅ‹nnnvvvcÇŽíÛ·ïºuëššš$ɹsçìíí<~üø~ýúyyy½xñBê½ÔÕÕ=zô¾ ]ÑíÛ·ñÿìÙ³ýüüd7 ÑhDG‡üà¸ÿ~{{{©ô¼¼¼E‹9;;ûøøL›6ÍÙÙ9(((11ñƒuc±X...ööö#GŽ,))ùàö:::r*YWW‡ śɉD‡rss7nœ¿¿ÿĉGµ{÷n@ðÁ¢Á'HÑn™ÜÜ\|z=zàÀ­mùöí[„~R$á' ¥¶ …²«Ž?¾qãFœN£Ñðÿ;wî<|øðâÅ‹¸«‡Ø‘€_’CCCÏ;GÞF ÄÇÇgff&''s³Õ»yóæÉ“'‰„Bá©S§jjjlllÂÃÉLø|þ“'Oüüü~ÿý÷¾}ûâIJ²²Q£F544 ><99ùC$ø´Ü¼y/Ìž=»µm† ríÚ5¡P(î|fJ…Â/^|õÕW\.—HáñxYYYYYYÏŸ?_½zuk·aóóó¿úê«ÚÚZ==½“'Oç›sæÌ9yòdZZÚëׯû÷ï/µ6>>¾©©‰F£ž>}Zv÷M›6÷Z±ºººèè說ª½{÷~°tð©Q´å^TT„lmmålfddääääääÔ†ÁïMMMááá"‘ÈÒÒ2>>þÝ»w™™™»ví¢Óé|>ýúõx³3f¤§§ÇÄÄà—{öìIOOOOO÷ööÆ)»ví‘}ðàÁ<8wîÃóöíÛ€€€ºº:©¢;fffvüøñ»w…™˜˜ „._¾¼}ûv##£Ã‡?xðàÀC‡E•——“¿)))x ôôô÷ïß+û®Açzùò%BˆF£YYYÉÙÌÆÆÆÁÁÁÜÜ\©ÌÙlvpp0—Ë¥ÑhsçÎŠŠŠ‹‹ Á'Ø©S§þúë¯w|þü9ŽìúúúQQQƒV¤¸iÓ¦áV9ÑAJ†Gmaa!»öرcø¬5jTddäíÛ·=:räH„Ðõë׉ž+Ð…(Úr¯¬¬Ä ªÉ~ÿþ}ÜþcÇÜËÙ·o߯¿þZ(þñÇ¡úúz]]]mmíþýû766â½LLLÈ”ŠŠŠˆˆ„™™Y\\¾fmmíå奦¦öË/¿äåå9sæ›o¾!ݽ{÷Ë—/ã|ìíí—-[†b0W¯^µ··Ç™¸»»;;;#„²²²ˆ}'M𤫫[__?bÄü¥]‡ÃA™››·ØÓø‘Ž9‚û'—/_‚'Ož}Š"""¤&ïÚµ wÈÛ&MšDþ…ðõõÅe999áÈŽYXXà—¸¹‡õéÓ'77÷?þP¤|RD"î00`€*òÏÉÉAÙÙÙ-_¾œœneeµoß¾åË—5Jj—¶Ev,((!Äårÿýwr:îˆ7667nœì^¹¹¹¸ tõêÕ䮥¥Œ‰Ds3t E[îÄMÕýsÓðáÃ555y<ÞÁƒSRRæÍ›çîînee¥ÔŸQ{ذaR«ÔÕÕËËËeƒ;îo!hhhÖ××ÛØØHmikk›——'5Q§®®®lqàÓÇ`0444𛛉¶K;jnn.,,D :Tööôôôôô”J,,,¼téRuuµžž^tt4¹a¡ Aƒ9;;gdd\¸paÆŒ8‘ÃáàþÿGIæææâ…ÚÚÚWM.‹¥`ïøD(Ü{õê…X,ÖĉUQ“ǯí«óf IDAT_¿žÍfçåå­[·!ddd4wîÜåË—ðù@ î>}úÊ®µ±±¹qãFqqqMM yƒÖ®7Uý'‡ Ó½ÿ¾¨¨H,·ï#¦x°À AƒÜåÖ­[xAGGÇÔÔ´måΙ3'###'''//ÿ<\¾|Y(ª©©µvÓ˜î‹-j-ÛçÏŸ·­> ³(z6Ï4³X,•UùùùeddlÞ¼ÙÁÁÓ8ΡC‡†ŠgÏø ùShÁZ¥3m‚.„Éd"„x<^iiiûæL<Ù¯Ô2àvFyyùÊ•+Û6¸ÖÓÓ·„pWŒX,ŽEMš4©gÏž-î‚¿t:ݱu½{÷nCe@'R´å>jÔ(--­¦¦¦ôôt>Ÿ¯®®Þâf999™™™!r[[öñŸÖ.„µ´´BBBBBBjkk=z}óæÍ†††ï¿ÿ~ܸq®ð¿ÿý/%%¥¼¼¼¶¶VvàZ~~>BÈ¢{÷îòóÿ®®®øöøßÿÝÚpC‰DråÊ‘Hdbbâææ¦`΃ RWWçóùŠ÷VÛÛÛŸ™3gÎ$$$(^"!00N§óx¼øøx\ÄÀ‡ÞÚö¸÷F ÀäT¢D'ãªU«pWÉ©S§~ûí7©µB¡pÛ¶mx8ü_|G›XZZjkk#„®_¿NÞ¸¢¢_*’mÚ´iÒ¤I¾¾¾õõõätb ùR€¸t ?¼ŠH;44TjÈ×úõëËËË‘ ‚{^^^TT1Zt!ÖÖÖ¸ÕRWW·bÅŠææf© ŠŠŠöíÛ‡ÒÔÔTvÆS|²°°4$¼~ýzÙ²eáááñññ²{>|· ÃÂÂòòò”*!dbb‚á>uêÔ½{÷п£hZCܹݵkq‹÷ööööö¾ÿ¾²ÕK‰àîää„ÇE!„BBBÂÂÂòó󛚚^¿~}ýúõÏ>ûìÈ‘#!MMMbRi:ŽÏ›[·n­Y³&77·°°ðÂ… Ó§O/..–ÊßÞÞ>++ëÁƒóæÍËÏϋʼn‰‰[·nEõêÕkôèÑÄÆfff¸ýÊ•+ÑÑÑ/^¼À‘3™LÜÒûö­¿¿LLLQQÑ7V­ZuæÌ\ÊüùóÛôYµ¬  ÀÃÃcíÚµ“'OVéßÝ ÃÁòó󃂂þú믪ªªºººÌÌÌŸþyæÌ™¸M0kÖ¬ïÒ˱lÙ2333„Љ'¶mÛöðáC<÷úòåËñéÚZ̵µµÝ¾};B¨¹¹9$$Dvdúáœ+**Äb±–––¯¯¯œñ­T‹µhÑ¢7nTUU={öìØ±cëׯõê•P(”µ >qÊMù»uëVwöìÙæææ£G=zTjKK˨¨(òŒÒáááÓ§OollŒŽŽŽŽŽ&Ò¤ï~~~§OŸÎÈȸwïž›››ºº:ñƒZZZ;vì fÐÒÒ?~üÍ›7Ùlöš5kBÇŸ9s&Bè‡~(//?þüÓ§O¥F=š™™ÅÆÆêéé)õ®åËÈÈÀ %%%l6›˜ÛtÆÆÆgÏž]¼x1‡Ãa±X²SæÒh´ààà+V(›³‘‘ÑÉ“'kkkÏŸ?/5©¤¿¿ÿ”)SZÛwÊ”)¹¹¹ÑÑÑeee+V¬8sæLks=¶ÈÕÕOÇš:uêŸYµjÕ»wï’’’ž]ªÄC‡-Y²„hL‘‡-îÛ·/44”<6@MMmêÔ©W®\!_¢hÙ¯ N‘‡ÓÉÛûøøØÚÚâçË!²wQ—/_ ”ºÈ`0lllNœ8±zõj©“ŸäÄÏ™þýûGGG»¹¹ç§šššÝÖ­[·nÝJ|)dsC…††â«Õôôt9{‘‹¦ÓéxYª7 oO£ÑÈ_¶sçÎ… êëë‰úúú^^^‰‰‰ä‹fÐUÐÚüPRaaá›7oØlvÏž=üÁ'š^¾|©§§gnnþÁÅuuuÅÅÅzzz-΃A& Äb±ìŸ_TTå«—Ë-**z÷îX,¶´´4hP{=s___ÿþý{:naa!ÿßY;þÖÔÖÖöêÕ †?ªTjjª••Uk#?^Ûƒ;è`Ü U÷Îù×G*Á(‚{—A£Ñ ÆÇüï àÑÔÔÄ`0T:{÷.Oa؆!Ï€OÍ?ÿü£¡¡¡ÔðVeApï2ètº––< TVVjiiµïD¤R ¸w%:::²÷ºâââÆÆÆÖþ©¼½@pïJ´µµõôôJKKß¼yÓÙu´Å›7oJKKõôôTúä Rvúй F=„Bá›7oªªª˜L¦‘‘‘ªOÀÇklläp8õõõ=zôPi‡;‚‡˜º±XÜÜÜÌårkjjêëë›››E"‘ÔÀ_‘餆Áà¡nººº†††úúú*ípGÜ»"±X,øÿ‹ÅÍø”Ñh4:®þ¯nݺ©:²#è–éŠètº†††ššš†††D"Á‘ß!Öй¤&eCÿÎÔÆ`0TÝC€àÞUuäYèr`´ Pw  î@AÜ€‚ ¸Ap ‚àÁ(‚;Pw  î@AÜ€‚ ¸Ap ‚àÁ(‚;Pw  î@AÜ€‚ ¸Ap RSd£œœU׃JU‘-(FE±£UUU}p####ÕÕ€z8Ž*²…£Å¨(V`Ð-¤PË@×-w  î@AÜ€‚ ¸Ap ‚àÁ(‚;Pw  î@AÜ€‚ ¸Ap ‚àÁ(‚;Pw  î@AÜ€‚ ¸Ap ‚àÁ(‚;Pw  î@AÜ€‚ ¸Ap ‚à¤ÖÙJûóÏ?KKK‰—4í‹/¾PSƒCùrss?~L§ÓçÏŸO£Ñ:»:Ÿ®ÜÜÜÓ§Oÿïÿûâ‹/ˆÄ˜˜>Ÿïìììää¤l†ŠïÛæcÔØØxáÂrŠ¥¥åرc•­*åѪªª:»@9¾¾¾< §¼|ùÒÀÀ ³êó :tèÐÖ­[Båååð³'‡««ëóçÏBÉÉÉÇlj¦¦¦ÍÍÍ«W¯^¿~½²*¾o›Qqq±³³39ÅÇÇçÌ™3ÊV•òà¼ïªLLL&L˜€—µ´´ðÂÕ«WóòòLMM,XÐuPQq'22!4gÎKKËvÌH¡Ó»^Ǭ¾¾þ¼yóðòï¿ÿÎáp:·>Ÿ,î]•““Ó¤ããã“’’;&¸«¨¸òòòƒ"„†Á]¥"##£££œœˆfû§¯{÷îÄ™_TTÁ½5ÜøïrppØ·o_gר÷ÿœººº·oߊÅb333CCÃN©Ceeeii©±±1“Éìøž"‘¨¬¬ŒÍf™ššv@§|CCCQQ‘¹¹¹‘‘‘œÍß¾}+ ­¬¬ÔÕÕÛ¥èöÍS"‘TTT”••™ššöîÝ[‘í i4š………†††âuü1¢ž®×ãZäììÌd2“’’B999L&“Édººº’·ÉÈȘ9sfÿþýÝÝÝÇŽ;pà@ooïGTUUY[[÷ë×oذa\.—¼ïýû÷ûõëׯ_¿Õ«W+Xœ¬¦¦¦5kÖ <ØÖÖvÒ¤I666{÷îåñxxƒ‹/2™LüòóÏ?Ç9_»v !´páB&“iffV[[ÛÚ'0yòd9 …»ví²³³srròôôtvv4hÐÆù|¾üšgeeáš<|øPjñöSSSq ‡ÃÁ)·oßNHH˜?''gÙ²eäÛ*>>>"‘¨±±ñ¯¿þ’ªCZZZEE…H$"‚»‚yâãøÁ¸)‹¿þúëƒÖÔÔ‰l6;!!á³Ï>{ûö­Ôö•••Ó§O'>j>Ÿ,u|eµù)Ü)"999==ÝÝÝ!4pàÀôôôôôtÜàEUTTq¹\uuõ-[¶¤¦¦Þ»woË–-êêê AAA8à"„–,Y‚àgÏžMKKÉû÷ïõêB(""_ŒË/®E¿üò ‹Å¢Ñhß|ó ‹Å*--wqqA¥¤¤àx=cÆŒôôt"öíÙ³çìííòööÖÓÓCÅÇÇKeŽSètú¬Y³Z«ÀþýûÏ;‡rss;wîܳgÏΟ?ßìåË—wïÞ­ø§­ Ã‡ëêêFDDŸÜ3“™™‰{ðÚ=}úT"‘ „6lØ@ŽÚÚÚ+V¬@ …¼¼BèÙ³gäDÿäääëׯãqr4íСCù¬››[AA—Ëýßÿþ7{ölŸ#Fà¶¿âFŽiaaQ\\OÄ2Ü)¡££#ËÈž>}Šjjj¤>âþdvvöСC•ª|RR¢¯xBõõõ²Û—––VVVÖÖÖÖÖÖr¹\ɽüÄÛOHH˜>}:NÄoßÐÐÐËË« y*¥©©éõë×\.gøæÍ„X,‹Åäç¡ìííuuu¥ö%†Òggg·xß»SŽ…Ap§>‹…ï˜ýöÛo-Õ@UVVVVVöêÕ‹H‰ˆˆ š„_~ùåÇÏݱ~ýú²²²¤¤$Ã`0FŒ±jÕªñãÇ+˜ F سg¹gwJL:•è©…¯]©y++77W‰÷£ÜIBFnùÊÊÊöìÙ“œœüÁ¹@ˆ·OôÌ}2~~~䑎Šç©‰DríÚµ#GŽäææ*òÃ`kk+›Èd2»wï^]]ÝÚçÜ)Lj ¸SqÉ,l2¾"&hjj—ƲcïÚ@__ÿìÙ³OŸ>ýùçŸSSS«««E"Ñ£G=z4|øðóçÏ÷èÑC‘|öîÝ‹{f³²²JJJÜ>ôﻣÓéRý$d}úôQò=µƒââbOOObpHÏž={õêe```hhøÇÈnß~SSÓ_ýåçç÷øñc6›þÿ€¨lž´iÓ&+HvÔàG>þ¾gÏœÃâÅ‹W¯^M<å$‰ÌÌÌðQ2âí'$$øùùá>KKËaƵ9OùŠ‹‹qd7119~üøˆ#pÇ=BhïÞ½-Þ‰a±X²‰l6Šwpph± ö:Fƒª$õíÕÐÐÀO©È>€Óš”””_~ù!6hÐ „ÐêÕ«[‹bÊ „F³µµ MKKó?–ݬµñ׸‘žššZSSƒ;%fÏž-,ÜäóùÊÖ!DÜo(++“Z•™™Ù† ø mÚ´‰üüê“'OZû`q#ýÆõõõøíKõc´!ÏÖ!´téR"²#„ˆÁ²Ròòòdo*ò)Ü)÷º‘6Aáɵ=zGNçr¹³fÍrqq™3g‘X]]' <8$$dÿþý4­ªª*44TÁâd½|ùrÒ¤I“&M:{ö,9ÝÐÐGrŸ ÑwœžžÞbn¾¾¾ššš|>ÇŽŠôÉ BhÆ R½L—.]rqqqqq¹uëVk»[ZZâ}L ±±±ò‹–ÿl…Bò/™@ ºAdá·ßÔÔ^QQA£Ñüýý?2O9ˆ9*¤>·¿ÿþ›üY]]]HH9¥ªªêûï¿ÇËŽŽŽ-îõ‘ÇHàN)fff!‘H´fÍšG&…††öîÝ["‘|ûí·?ýôSnnî»wï®_¿îïïç΢¢"ò8“µk×VTT0Œ0ŒQ£FÍ;!týúõ+W®(Rœ¬ÔÔÔdeemذ!**ª¾¾^"‘/]º´¸¸!äççGÎwÎ^¹r%::úÅ‹Äü˜¾¾>î#ŠŠŠB :ÔÊÊJþ'cjjºråJ„PNNN@@@bb"›ÍÎÈÈØ¿ÿ7ß|STT$ÜÜÜZÛN§á¬Y³&77·°°ðÂ… Ó§OÇõo³qãÆ!„jkkW®\ùðáꪪ”””€€<µC‹ôôôðƒ¸§NB¹ººƒpÚœ§®®®xj—ãÇÇÄļ{÷.??ÿèÑ£Ó§O—óhkbbâÂ… “’’ cbbfÏž/zBBBZ{á#}î”2eʔÇK$<0fÀ€ÿý7BÈÜÜüÂ… S§Nmll 'ïõÙgŸ×õĈšàà`¢%µiÓ¦?þø7¾\]]™L¦üâdÑh´õë×/_¾¼©©iíÚµk×®UWW'Bƒ››ùÉR--­ñãÇß¼y“Íf¯Y³!tüøqb„8põêUbY‘çÇ,))¹zõjZZšT‚Á¾}ûºuë&g÷ðððéÓ§766FGGGGG“kò1÷¹sçÆÆÆ²Ùìk×®‘ñ=zôëׯe{ˆB‰ZÙ±%m˳5zzzÁÁÁG­®®^µj‘Î`0¦OŸÞâø«o¾ù&!!!>>^êaÚñãÇoܸQNYyŒ´Ü)eذaQQQ£FÂ/Ƀ† K¬B1 ++«#GŽÄÄÄà뺺ºµk×"„ÌÌÌ~øábËîÝ»ã߃ššrºœâdMŸ>=%%ÅÅÅÿµŸÏ§Óé\¿~ý•+W¤Ñ:thÉ’%D‡€lÎcÇŽÅ »uëFŒø&¿5„N' !Ï…ihhˆÿÙŠ˜­¬5ÎÎÎgÏžurr"f(ÔÓÓÛ¸qã?þH.´Åqc€X5pàÀ¿þúËÍÍ›¤®®¾xñâsçÎᛊ²™ „<<<ð¸mmí©S§J­U°³³‹ÅÃÕÉŸ3Þ«_¿~ ÞÞÞÄG­®®>wîÜ'NH}í{ŒüÍ^׃Otooo|ϳE ÍÍͺºº²³¼ÖÔÔà©  »w€0 Ù&^E§Óe÷’Sœ,±X\RRR__?`À9#ÓBB¡°¡¡A,wïÞ]jU]]ÝàÁƒëêêä­eûîÝ»šš&“Ù†¡uMMM/_¾ÔÓÓ377oÇ2xXaÿþýÛk¾ßvϳ²²²¬¬ÌØØ˜üH„b±øÕ«W _¿~Äÿ…)BÁcäãã“––³×"è–éªêêêpo/FëÛ·¯ÔZw444”3»œ!hrVÉ)NNïׯŸ"[ª©©µöXì¾}ûêêêBË–-S°\r¶Êîˆiiiµ6˜ïctëÖM‘©w;7Ï^½z)Ö1|qÖ†‚ä#‰D‚ï¢#„ˆiˆ€,î]Õ½{÷ˆ§Ûÿ;Íf³srrnß¾o¥º¸¸;šÀAII‰ì¼@÷®§W¯^ä UößùŸšäääï¾û/÷èÑcûöí[Ðñºuë&ÕQ#ÿÿ­þ³þ+AJð¸ÿ&mmm######{{ûuëÖÁßgÿ™˜˜À 3Š€ª@A0(‚;Pw  î@AÜ€‚ ¸Ap ‚àÁ(‚;Pw  î@AÜ€‚ ¸Ap ‚àÁ(‚;Pw  î@AÜ€‚ ¸©)²QNNŽªëA%ŽŽŽªÈŽ£¢XѪªª>¸‘‘‘‘êj@=GÙÂQ€bT+0è– R¨å k–;Pw  î@AÜ€‚ ¸Ap ‚àÁ(‚;Pw  î@AÜ€‚ ¸Ap ‚àÁ(‚;Pw  î@AÜ€‚ ¸Ap ‚àÁ(‚;Pw  î@AÜ€‚ ¸Ap Rëì ¥ýù知¥¥ÄKöÅ_¨©}r‡òÉ“'Ïž=ÓÔÔœ;w®ªËÊÍÍ}üø1NŸ?>FSuqí«KW¾Ã…Â'N¼~ýzéÒ¥ À‰óÑ)µoLL ŸÏwvvvrrRª”û÷ïSfÍše`` T&mC«ªªê€b@;òõõ}ðà9ååË—sº(eãÆ‘‘‘úúú¯^½RuY‡Úºu+B¨¼¼üü“¯KW¾Ã$$$,X°!4nܸ¸¸8œø1Rûššš677¯^½zýúõJ•²lÙ²K—.‘SRSSíìì”ʤmàLêªLLL&L˜€—µ´´:·2ÿeW¯^ÍËË355Å¡¨Þ%ûÝÝÝ544BïÞ½»uëVG Á½«rrr:pà@g× øøø¤Ïmj IDAT¤$GGGî*åååµmÛ¶’’’àààή‹B÷î݃àÒÔÔÔ–.]ÚÙµèJ ¸S–@ ÈÏÏWSS“êà‰Deeel6ÛÈÈÈÔÔTNo£D"©¨¨(++355íÝ»·üâx<^qq±@ °´´T¤›¨¡¡¡´´”Ç㙘˜ôìÙS‘»a EEEæææFFFܸ½‚ÂÂB55µ¾}ûvJ÷W]]ÝÛ·oÅb±™™™¡¡a”¨àçÜØØøöí[¡Phee¥®®þñå*u¾)BÙr¹ÜW¯^™˜˜([zÇ#EtÉn,ТuëÖ1™Ì)S¦ 8püøñsæÌ!6 …»ví²³³srròôôtvv4hÐÆù|¾TVµµµÛ¶m³²²rpp˜4i’Ý‚ þùçÙr«««W¬X1`À€1cÆŒ;¶oß¾ŸþùË—/[«gVV–¿¿¿~ýÆŒ3aÂ[[ÛaÆ}ú0™ÌS§N}ðø` ¥ÄÄÄL˜0aàÀ'N´³³3fLrròKAqŒ:wê"‘èýû÷3f̸qãFCCƒÔ¡¡¡‡Hár¹‘‘‘ß~û-y3±Xüõ×_qUqçÎ___"$á\ªÂøs°µµíß¿¿H$Š—Í<>>^$éê꺹¹µVüüüÙ³gß½{—œø÷ßæääÈ©9BH(ŠD"âã"ãóù"‘H HU[ñÏùÁƒäøÅçósrr–-[FAâí_»v­µ·ohhèââ‚>ßÄb1~_äÊ·H‘’1.999==ÝÝÝ!4pàÀôôôôôtâ] „Š‹‹Ÿ>}J즦ÿ<øúúâq²***‚‚‚¸\®ººú–-[RSSïÝ»·eËuuõ†††   8?’"ŸseeåÂ… …B¡––ÖÞ½{SSSïܹfllŒÚ±cGuu5ùí¿xñ‚Åb‘Ka³Ùiii¡3ftëÖ )y¾}â5$„……õîÝ{Æ 7nܸråÊâÅ‹ét:nµH5eÈ:å)úÜ)ÈÇÇçäÉ“ø›ƒ±Ùì;w"„\]]/^¼ˆcŠ©©©›››ŸŸ_ffæV®\‰Ó«««'L˜Ð½{÷Ÿ~úISS!dnnîååõèÑ#6›MnμyóæÄ‰!ccã+W®ôìÙ!dooïëëtóæM©Šíß¿¿¬¬ !‚ñ•ø¤I“êêêÖ­[ 5èM[[;..nÈ!øå† jkk£££9Naa!‘N¦©©éççs÷îÝÚÚZòCׯ_G¹¹¹™˜˜´öÞ¿‡³;vŒ3!Ô·o߯¿þZ(þñÇ¡úúz]]]SSS„þÑÒÒêß¿?9“Ù³gïØ±C"‘\»vüäËï¿ÿŽÛž8üµhïÞ½¥¥¥jjjgΜñôôĉ¶¶¶fff_ýuyyù™3g”pýAŠ|Î%%%xaÞ¼y>>>xKuëÖI$’´´´Ï>û !äïï¿sçN±Xœ@¾ë“˜˜ˆÈx Ræ|S„â5$¨««ÇÄÄ8;;ã—†††»wïæp8ûöíûé§ŸZ,¨SŽ‘R åNA?üð9²#„ž>}Š»A6lØ@n-jkk¯X±!$ óòòpâ®]»bcc;†¿iX·nÝpS—ÅbW¯Ïž=à 8²ct:ýøñãä݉j „œ‰ÈŽ 8ðÇDÿÞÊ“ÚËÝÝ]*‚Ïœ9/Èy< ‡N>ŸOî™ÉÌÌÄm19!ÔØØˆ>|HN_²dɵk×®]»¦««+gwÌÌÌ _áŸBBBB¨_¿~#GŽlm߬¬,„»»;50___(³³³?Xe)ò9;;;ÇÆÆÆÆÆqó÷÷ÇÍ|¢;ÂÔÔÿ.J]<á—666DYŠŸoŠP¼†„•+W‘ µ··Gr?çN9FJ–;ÕtïÞÝÚÚZ*‘訩©Á—À¢k>;;{èСäUMMM¯_¿ær¹µµµµµµoÞ¼A‰Åb±XŒ×¹¹¹xË#FH•hhhhccCî‘àóùùùù!©/6lØ0¼ðìÙ3©úËn›Ì¡úúzÙ¬°‘#GZXXÇÇÇDYttt¤¾ùR†®©©Éãñ<˜’’2oÞ}*øÈ×X‹ïQ F سg¹g7¢§Nª­­-g_“ǯ_¿žÍfçåå­[·!ddd4wîÜåË—+>ÓÇÇgÍš5DÏLrr²@ Àukm/‹…ïÊþöÛo­ ª¬¬¬¬¬ìÕ«—‚5Q„‚ŸsYYÙž={’““?8sÉÔ©S×®]ÛÐЀ:î“a0䊟o R¼†n¤KÁæóù………²tÖ1R ÷ÿÜ'C§Ó[ì¡Æúôéƒ6mÚ‰—ÕÕÕMMM JJJZìi­=+•NÓ1öîÝ‹{f³²²JJJЇúd0??¿É“'Ÿ>}úòå˸g€Ãá:tèôéÓÛ¶mûâ‹/©€ŽŽÎÔ©Sccc¯_¿¾yófô量ªhm/¢BþpïŽÿ<BÅÅÅžžžÄ€«ž={öêÕËÀÀÀÐÐß ÓÖÖž:uêÅ‹ããã¿ÿþ{ôïÛ÷ðð N6¤üùÖŽ5”CþUÚ§|ŒÜÿ† ’’’¢¦¦výúuùÍÞââbüM3119~üøˆ#pO%BhïÞ½äA5!‡”””òòòššÙg7¤†IØÛÛwëÖM <þ\¶Ü‚‚üMóó£, ‹‘#G¦¥¥]»v-00c!ú‚?HKK+$$$$$¤¶¶öÑ£GÑÑÑ7oÞlhhøþûïÇgnn®H&±±±ÅÅÅYYY À}2ò]ìííÕÔÔ„BaPP¾hh›ææfÙDò@Ø6سgÎañâÅ«W¯&.bD"‘™™™ì Å€€€‹/>þÜÈÈH¶OF©óM5Dåååá!Od¸×E]]}РA²»´×1R)¸¡úŸ€#&ŸÏÏÈÈ¿%q qéÒ¥...Ä7 !„G°‘988à…'OžH­ª­­Å_‚ºº:¾Ôm±D¢²SªÊ‡ÃhjjjMM î“™={¶²¸^^^±±±ß}÷BH dffJmÓÚàë1cÆàžëøøxŸOÜ6o\%##£M›6‘»§ž!mlld;ÜQ{£Áý?<¾Mêá¦K—.¹¸¸¸¸¸àYˆ¸Ôfÿý·ìswƒÆ ¡¡¡ä&¡D"Yºt)Ç“Úî'Ož—áØË—/ÃÃÃB:::VVVmy‡­ðõõÕÔÔäÿ¿öî>¸ªòÎø÷9÷…¼›7C‚&P*”R¦ •‚Ý¢×f¢8ŽufYgmm‘±[Gë UXë®J§¨ÕÙ²¬¸u);Tµ‹ÌHÅÑRD,¯ec€,1 ’—&!¹÷<¿ýã¹÷Üs_’ÜÄË÷3™ã½çž{=çÜË÷<çyžóœîî5kÖô½NæÑG?þÂ… ãÎŽîÔ0×µŸ8qÂ} ŽÃ²,Ó„°mÛ6S)±`ÁÓàÖ ³£öíÛçŒmk´¶¶.Y²dÖ¬Yî M™2@}}}ÜA÷—¿üeâÕÈýb¡PÈý9Á`0î u(¥Ìæ¿þúëfóÍ7â,ЯßÛP¬!€µk×:RƳÏ>kš z9àw” ÷ËBYYÙŠ+:t¨ººzûöí û÷ïæ™gî½÷Þ'NƒAsµäu×]gF›yñÅ7nÜXWWwäÈ‘^xañâʼn¹PYYy×]w8sæÌÒ¥K7nÜxüøñmÛ¶Ýu×];vìH\•+WškIV­ZõØcíÝ»÷OúÓK/½të­·¶µµ0 â†SN\¿~=€k¯½¶/É“'8pàÝwß½ãŽ;Ž9¢µîèèØ¾}»K ¨¨höìÙΦdjÛö~ô£}ûö%^ºâ\ÍdèËÑåþûï/..‘üàk×®ýä“Oêêê¶mÛ¶téÒ]»v8q¢÷Þ>&Ü,_¾|ûöíµµµ»wï~øá‡“Ž…Ð/×_=€–––+V¼÷Þ{MMM;w®6c0$e¶÷رcæb·¸&ý~ýÞ†h »»»ï¸ãŽ_üâ‡Ú»wï#xÛm· ÒæFUWWoÙ²ÅyÜ—·,Z´èW¿úÕþýû÷ìÙ3gÎ¿ß M“@ffæš5kÜG ›o¾yݺu"b:NTVV~ðÁîO?~üôéÓÍi~qq±IŸÞ•——¿úê«·ÜrKGGÇOùäªU«V­ZåÌ÷z½ëׯï¥ee€ßQ °äž>L}¥»ÖÒM)µnݺïÿûî–ϼ¼ýôS¥Ô¸qãzïEn˜QRmÛ.**3fÌÐÝ;´­­í«_ýj[[Û¥í±¶¶¶ÚÚÚœœœ^:/ííí]]]£GN]ö©§žzê©§ìÚµËi…î£ææfs™{eeå%Œ¬[[[ÛÞÞ^^^n†I,Á`ÐôS¼úê«e¼_ôó÷vQ—°†çÏŸ?}útQQQIII¿~}ùŽöìÙcмÍ]„ J©ŠŠŠ¾¿ÑëõŽ7î¢Q ¨¨¨ïÿ̲²²úõ“ÍÉÉIÍOüé§Ÿ6ú÷ÜsÏ%¼=''§qœ8¿±±Ñ´æÍ™3§¿É //o C„÷勾>Ÿ/ñBèê×ïí¢.a óóó“^ŽwQ½|GçÏŸommE²ÎKCáþEµgÏçzñ‘yƒìáÕÐÐpèСwÞyÇ4¥Îš5+ñ*ó¡öá‡=ztÆ ¦×éII—•‡z¨—qä‡Ãý‹Çœ6:O•Rý½ïûåà­·Þr´  `õêÕ©_‡;ï¼³¡¡Á<^¶l™GŒ.+q•Ÿ}UÓE)•¤ªÅ²¬¤óë[ÕþÓÖÌŠ¸îDv®]%­goí´O6âl«ïü…Œ.›§û©3Ê£ó3ºKvU‘2ãkaŽ5¨ÊBÕSû*T‰(lçñ$25 ¡ß×Fyà÷Âcá¢íx4ˆ´ÀÖè¡+$s¯j»º8¾8^À·¿d'}/KîD-Hšì{jÙ~ñ{T~¶•—‰Q^(@P€)2FŸp:Ài|W—ÏÛ¥¹C¼µ§6ˆÏ÷úV´t"iÿw†;Àéæø2yK‡½«&= ™>\™«²ýf¶ ¨p²+hˆ8ø4ŽßBIŽ ŒB]‹QïÔ F·åfÅÔÏœiQ¹™IjfîDõ­ñÙr²Qù<ðyQ°2}JC@¤‹Fä?¥œ§œhÚCÓt†O•¬SÍ2ÊÆÉFuí¸˜W϶¨É% w"êA{wÌS©kñz=ÈÍP>¥h-ŒSØ[fH(¥ "J)dø›® Ôµø¦IÈݦ#˜¼„áNDЛZësÙd(-îªaRÊ䎫êÊ}”T ¢Å¼9Ž2Ô¹v9×éÕºÛã‰ÖÌt2܉¨‰#‚uÙžlÀëQ¶ŽV˜2£Ö(“êNÐs:ÀiÌÞ9r QJy,p!ß!2h'?¸2܉(9Ñ19ŽH% "IWiqDTW§ÅÔ½WÍ©R¤ØnéÇiÈ’“p?ëh%»RQ€iCuSI¥ažú<Ú#bM.mjögd¿·¥}q™áNDÉi ÿp¢®L7ÅJĦRJ§¥y˜?ÉúJ®­2|è âÜ_pø¬ì8¬Ï|ždù¿›®®­Î¶ÈÖ$ñÕ9Ô¤+•R8Û,[Jê·(®8/ኯè7Ò÷Ök†;%g¢$¤]•é%#Ñ91R8UÀ²¯[·Lx%Dz|”å«ù“óë•êçYJ¡½ [ÏvEkÁ­©0טƒh¹1܉(9 —ÜÃÉ[7<,°òkVUxEþÜ FÛÉ¥¦”ášR`þ$U”c­yC»1œ¢;¶‚cÒ•êÞoYJ¡+„Õo蚦>‡èЧÁÑIÑU0܉(9´8]eœÚy*ˆtžI½ù“”Ivüëyïdô âU`Z\ ¼¾V®nžj½vÀîæÄCÙ®ÖU…xà&Ëç­ñ³ßÉ‘z ËñËÕyÆ™§Â§K-J÷¹^†áNDÉ™’{È'x$Í£±nb(õCþfùqçìðà”ÿñžÞ}<~>¬‘¯¾w½à¶™jçaÝÜ~ÉT,‰H(Òƒ°8ÿ'ËoŽúÚá,³›.‘æ Iùh£«îϾf¸Qr"*R-WCž»t©D»ƒ>EÓéã`ºÙ}\~ó‡ä˼ñ±TÉw¾¢ü^üU¥zóP¤\Ù SÝÈT«ZÙðÜ;òûcÃÚÕݬ–RNÇÇè±S)ˆh I2Mr w"JN‹h­BZ” \†3d˜RÐáRp¸·ŒéN“’éìñá€ÛzP̱'é’¯”ï|E˜]¥¶3ß©– iÉðªGo±ÆæÀ†÷dÛÇ’Ê­HœÂt>"û\"Y/(VËÑ íîçžÔðT¸W„ÿ¿'’\Xë¨iDȆ׃ŠWË™ <¸@]S ÿ½_^y˜[Pc©„@¸ÿKîD40Ц+¤«Îî¼QñiR#? ê[ÐÚÙÛb¶Fíç¨*B^´Žïf²âÛêë• @cžß5²îèî éÞíZÀ’; T´Î]‡ÇKˆÀaHDK!'jÎI/Åv£¦IªŠ”ÇB†m€H™}ò•˜|eø¨T”ƒ[gª# ä®"×2E=<#|p5_G?áNDÉépo™˜ÑO¤zTHè a”YÑÊ–žd…´wÅwl°¿V®)UY~üýõqþX;ìù.®ý©\sÂúu…*ïuKDÉ™xÚ¢BΟ-Ể<çiʦŸ·ÀÕE\dÉñÅ @ÛtÃsœlÜ_+?Ü„Õo Ká§«ò²RºI§¶„w¬-ˆÁ´r,™Ž‚l¬^dÝýŠ8KÇT\S·ðZsl"0s“«6ÃñÃiïŸeZ…0ó*œhèq±™W9ËÇ×É|ÖmŒý—ÿ‘)ejb ¦Uà{׫g߯ tg}ý*¹³Z†ˆ’W8u2°Å2O]õ©®¾Øq8?ükõ¥1É—W¨þéÆðbo†3ßi@pætÕÊÍbî2xç,Ì8lÕ2î]íª ÿ…tÿÆ–a¸Qr¦ã­²Í¨&ÊÖÙ²afš¶-)žl”íÀ(ž­F 3~™ìQøù­ÈïÃÁ3ÑW‘ÝË×4áÑ­áÔ|b¡*ËKõE¦1fŸ›ýì|,¹Ñ@  ]Y²ÅÖÊGŒr͇­UЧ«ß 7«–åaÓ?¨%×¢4WY %µèkØ´\]UmðØÖ˜5t ó™[?Â}9X[­|žTo‘Ù·¶Žì[S¢×°]‡UÝ÷^î¬s'¢ž˜‹Ýµ(3ä€@A»oØ1l—é+¨†6ÜúþíNT <?]˜Ø>‰ÿkÆò—q¦9æ½N:†tügþt;¦ŽÅ5¥ør ¾lIýð®Õȵ *òŠÒèG?w–܉(9ѦOž©üÕ°ÃM¬b›’odæ°LO4básx~W¸ïÖÒ‰—öà–çp¸>É{ÈéHìüŽnÜók´wÀ’é¸arÊ·K+×¶g'k([CD±·  ”ˆÒ"!Ûu8(ÑpFqöKö›þ‚~ ϼ‰%›+Fãóvœ9£õ¸Lþ–›~ÞÛþ¹_~d(Ö´ßœ¨ºñ6{D4Lo™Ä ;•‚hŒ|ÐѧpàÔp¯Ç`ˆÞRU'™okŽ-CDfFq·#£ýFƤÞÊy$${:q êîd_,á£BÑ@i  ¸îàÕ–‚öX–SbLõ —«èqªø0KIDAT4RÒZk”º,+¦—c¦/ùÂp'"Èö£­+úT)5þŠîO[2CJ*Ò?Ƽ–Po 8Œ)Dr[DB¢µFUa·R÷—Åp'¢^”¤¾-æj¹ÞqPŠíQžp¾#Ú¸]Z8¤)•0Ê5GDl±E`Û˜Z®˜p/Íe¸QÏÊó䣺˜9ŹÞe_kúÏ®PDÙJY–«~¬Ÿ¦{Lxß*h­Z4´ÆíÓšŠsGÅ-?–áND½ÈÍDIõ­Ñ9J©)åžÛt㯉‚²´é£ç®yöÊŒtšÆÑÁ²©SʽÑó'@I¹™É¿P†;…M+ÓoµÆ4Öy½Þ©ã0&ðÙÁ3ž“ç2>kÏì zzz; ºL_hLö…ªÂ SÇÚ%ù~¯7>±§•Ù=½W555 ñêÑÆµÖñƘ²¡ˆØ¶ …lÛ¶m[kp›lJ)˲<Çãñz½'®Ø>±XfVôxp–܉(jF…níòÄUΘd1±ž˜ìÌúÁ—ÝfމøÄ—J2½¼ÇdKîD§ÛÆî“1ùN#MI@¾Y¥ý½ÖqÈ_"Šá÷à[ì‰Å,P‹å[.’ì`Ɉzr®]¨³X„9J˜Vff÷ia†;õ¦¥gZÔÙÕTA´Y¢OŸGeú$Ë'¥¹26Wzêõ˜È( ±Îˆ( 1܉ˆÒÈ( 1܉ˆÒÈ( 1܉ˆÒÈ( 1܉ˆÒÐÿ2¹EÞ+Ãü—IEND®B`‚traitsui-7.2.1/docs/source/traitsui_user_manual/images/insert_item_icon.png0000644000076500000240000000046614046644454030011 0ustar aayresstaff00000000000000‰PNG  IHDRbØxýIDAT(c|óòM#Ðô>cÇíÛ·MMM™Ð”îÚµ Y ”‚Ú€)¬ Â>sî|WG;º“€:ÝÜÜઑ¹ØTê–æàæ׃Æ`òZïß¿‘hë™d–»¼§îH8è$ “Š[ÄX¿†­^»î›ˆÁ©]kŒ”«*ÊRØ”áTWÜ:õÄç@Ew/j2°“TUUOUw›¹ òñì\³PVNèB¸#Ñœ2q§OŸ6s ³Ih–YµjPÙ@5@ÅPOY@wwuÔŠŠŠÀ`2€èQ Â&“d$5µ@…Š,ò0ËIEND®B`‚traitsui-7.2.1/docs/source/traitsui_user_manual/images/EnumEditor_demo.png0000644000076500000240000020730114046644454027533 0ustar aayresstaff00000000000000‰PNG  IHDR{²Z pHYs  šœ IDATxœìÝwXS×ÿðÏMB˜ÊPA£*úuW­­Ö‰¥Z±¶Új­µ­­ãç¶ÃÙºj[ÛZµ¢Ö½ZVÜØ:­TD†‚ì{ïï“\®Iˆ" ¾_O¸¹¹9˜ûæœs?‡KII!°EY7 â@´°D+«A´°D+«A´°D+«A´°UY7àù&Ïó¢(û æq÷¬¯T* üÝeÑ  ˜òòò²²²rss5 KWˆV–0ŽVsϼDÖ‹[Ž6¼·Sv#ü¶µDO«À2º(*Q322222lmm]]]]\\ÔjuY7ê96~£ÖŠGãÒ𔣡¬Ñ×%Ê÷ä8NÞYÈ)dË‘­Šlm¸ÏU#JnSǶÔ^ ¦#M^^^FFFÕªU‘«¬EIHIIdÿˆDŽmayAtÿžØSDQz”Xp(Q$;U¶çVu¿ÿ(¿¬_"¼@­Š&++K­V#WY‘ ’@œ@œ ËR‚ >±…ÝÖoew™ùg§æÔtò& ô Z ¹¹¹...eÝ E`AJ‘&ŽDÝF]Hât·’íÀé÷—þq,r±N/vµ’¢íA(ëW / ̵(žçsrr\]]˺!Š êz•DQ丂iTì«kÁql‹nGé«ü¢LŽ#Q96KK¿³JIñi¶<Ÿƒr P:­Š@Åüü|[[L‹¶&^I7!]ž•DiŠºî.}öÒ'0£Bblç‚4¦{x†F…ºPj­Š†çù²nBEÃ’érôZé“ëŸ"â8ŽÈuk¨<|EØxF Ëaé/5dÛuiŠC®€Ò„hðBcIQ©T–e""V]AÔ#‘%#Žãôy‹#¢·_æº4PQÆ ¥‚~9)Š¢¾LG¢n0“ŽÆÅ#Y@)B´z!h4šÂjZjµÚ5kÖܺukìØ±µjÕ*å†1ÑÑÑgΜQ(#GŽ|qª;nÞ¼ùÂ… D4iÒ¤ªU«Zë°¹¹¹ ,ÈÏÏ'"Ÿ÷Þ{Ïän7nÜX·nݱcÇ’’’T*UÆ ›4iZ½zuã-Z”ššZØ3¾ôÒK,I›Ù\+Q`y¨`¼H×óÄzÞl«ËUL׆ Vøí´(›yE$êv–¿Ði¥ ѪŠ߸qã¥K—.]º”˜˜èããÓ¼yó–-[†††ÚÙÙI»íÛ·oÆŒDtûöí-[¶”IS92{öl" Q©^ˆ÷$ÏóK—.}øð!Õ©SgÔ¨QÖ:òâÅ‹ÃÂÂØí€€“Ñêßÿ}çw²²²Ø·æâÅ‹/^Ü»wïâŋ۵kg°ÿ¦M›222 {FFSÂhÅ‹œnz”n„cc€õB‰‚Ûp}š*Ø>‡®Ý*8Ž^i¢ÐðÂÆ3¢4ï]×…E¤‹hìø¸:JÑ q{;vlôèÑìÌÍÄÇÇÇÇÇïÚµkË–-ëÖ­óññaÛqÙT™8vì˜ôÛÙ±c‡µ¢Õ?ÿü³~ýzóûDFF¾ûî»ÙÙÙDÔ±cÇ—_~ÙÖÖöÔ©Sááá==zô/¿ü(ퟛ›ËrU@@€³³³ñ6lXÂfó…ØésÒ›m¹×šërÕ·G„c×ÄË ü„®JŽ£×š+DQXZ?K*ç.«ì®X¥ѪÚ³gOhh(›CÔ¦M//¯ØØØƒ^½z5::ºk×®Ç÷ðð ¢^½zÍ™3'>>þwÞ)놿@¶oßND …B„k×®]¹r¥äE£ÑL›6Mwww¨¨(ã}xžŸKJJb7fϞݨQ£6Ò$^”÷O±éSº‰WDÜÐ@z½….W-=$»NDtô'ˆüÄnJŽ£×[(òyaãÙ‚5rô3ßußò(j¥=ÐܹsyžW(K–,Ù¶mÛgŸ}2sæÌððð"zôèÑüÁvV©TcÇŽ]°`AYM´z=~üøèÑ£D4räH"Ú±cGÉ»bÅŠ[·nѬY³*UªdrŸS§N=xð€ˆ^ýu)W1Ý»w7n;wîôéÓÒv)Z¹»»—¼‘&ññ‚¨åÙ V”´¼¨å©_3¨û˜Zý·~•´¼È /PøUnåQ]fÔJñZsŽ8ýA8ýW]qÑgÔrcˆVMzzú7ˆ¨U«V,HIÔjõ‚ X¹Ë"M«ÒjµÑÑщ‰‰Ûsss£££ïÝ»gÉA²²²._¾|óæM6ÃÚr<Ïß½{÷ßÿ‹‹ÓjµEzlù´oß>FCDƒ êÞ½;íÙ³§„5®]»öã?QŸ>}þ÷¿ÿ¶ÛÍ›7ÙÎ;ß+mܹs§´‘E+…Bñì ¥òiyDŽÅ&-/jy‘ŬvºÏ¨ážK¤ˆt_yöEÑŠp]ºz³­‚×ogGÐêó¢”&D«Š&--ݨ_¿¾ñ½vvvaaaëÖ­›:u*Û’››ëéééááÁNÌÌ”)S<<<úôéóèÑ£#FÔ­[·sçέ[·>yò$ÅÇÇ9ÒÇǧsçÎÍš5 øòË/åO”ššêáááááÓ¿??¿   Ö­[×­[wæÌ™,[˜§Õj¿üòËF5oÞ¼G-[¶¬W¯ÞŒ3Œ›‘‘qêÔ©ç¥â lÔ¨‘¿¿Ÿ>}ˆ(555""¢Øaúôé<Ï»¸¸H¿Y“?~ÌnH“íäj×®Ínܽ{WÚ˜œœLDnnn¬@ÃãÇÿý÷_ù%§ˆI+ rZAäEN9^äx‘Nܵ}{XØ}‰´ ñ¬OK ­ jÚu‘¾=,äótâ†È Ä‹œV·ø §ÛYäXIR€Ò¹V···Z­Öh4{÷î8q¢¯¯¯Á/½ô’ü[AXW¼3)??ŸçùìììQ£FÉOù7oÞ8pàæÍ›Ç— mOLL\¸p!ÏóÒyçytΟ?¿dÉ’œœiçÌÌÌåË—§§§/Y²Äük™üðÃ#FhµÚ˜˜³<==£££ÿûï?ƒ±ÎrHêWca”iÑ¢…——WBBÂŽ;† Â6Þ¿¿°¨4dÈi¢ú©S§öîÝKDï¾û®ÉéSÆ–,Yr÷î݃(Š˜˜˜ÜÜ\›æÍ›GFF‘taJJ ûvÓ¦M,[Qß¾}Ûµk7|øðÛ·o>|8++ËÑѱÈ?=YION*Á@EÖŸ¸K¾ÉjXÉ‹8Ü@¯”&D«ŠÉÕÕõ»ï¾[°`Á¾}ûŽ9Á.¹ÏÊÊúá‡Ø@ÞSÏÄnnnSµ¤Ž– È·K5™Œ×Á 4.°.U¤49ã‡ˆØ 0D”––.¿Kª!~éÒ%)K999µjÕÊüË)Øv"Š]µj•´MW:þ|||<û½HŒµiÓ†ÝÈÏÏŸ3gùøøX^–¬zõêëÖ­9rd|||~~þùóçÙö*UªÌœ9sß¾}Däàà`ccöÿøã¹¹¹•*U2X§J•*ï¾ûîçŸÎóüùóçÙXmñhùº4º…n¤ånØ›JZ(P¿Ü²Á’HœÁmùAPJ¢UEæää4xðàÁƒÑÅ‹·lÙ²víZFsÿþý‰'nÛ¶ÍüÃåÝE,¯án29IÉ,::š5Ï€t¾:thaGŽŽŽ¶° åDnnî_ýÅnÿúë¯&÷Ù±cÇ„ ˆÈÙÙ™ÍÁ2&]Ç÷믿²b o¿ý6»ŽOŠ‚æææÆÇÇQµjÕØ|8ÆËËëÏ?ÿ¼víÚ™3g.\¸àææV¯^½Þ½{;99ýðÃlig“« 2-Z´`7þù矒D+A䤵ÿô«2K+.ëR”(ÇqlAY€—:«D£Ùë‹:£Ó J¢Õ‹¢Y³fÍš5 îÝ»wffæ±cÇÒÒÒ\\\ʤ1R‡ƒq/—|»B¡hÖ¬Ya‘ºÐžd]n 6d“Ãä®]»–žž¾sçÎñãÇsçéé¹téRó”ÂeaC‡7nÜèѣ͞=Û ÂrW¿~ýúõë¿õÖ[ÒÆÄÄĘ˜"’ºEQ¼sç¹¹¹·Yb&…[BûDÑŒ'.üê ®Kî«âÖ Ýg`Kú´§"üªøÙ¦^+(MˆVMVVVNNÇqUªT1¾·Q£F#FŒX±b]¿~]¾TÜ3rùòeãÒE‹Mš41ù¨fÍš:tH¥RíÞ½»ä×ö—l4ÐÎÎNšÈ/·jÕªeË–Ý»wïܹsÏî÷òàÁVÀ¬e˖ƽb[·neJcޝ¼ò Ïóœ;w®ÁþÒ¸mË–-KÒ*^$ý8 ®GJìëÚS)hZN$qó9¶“—cÜŠ¦õáØžZ}÷”ôp}צ±@éA´ªhæÍ›·fÍ" 7\¤+üÏîÏBdd¤V«5˜nuîœî$i0ç]Â:«4Í?ÿüÓ¾}ûgÝÈRðàÁ¶zL×®]Mþäûôé³lÙ2"Ú±c‡…ÑêÓO?=z´É»f̘qùòe??¿… ’¬@h•*Uþúë¯lÞ¼¹nÝºÒØ"]¾|yݺuDTµjUÖ×ED•+WnÓ¦ÍÉ“'8ðÁÈ{ ?~ÌÊg¨ÕjvÕa±ñ‚nðND6›Šô«-/9(~Ò“#¢é}8Q7E²yTÄæQ ¤é}t±ié!‘t¢bAÆâH$” €Ò„â Í€ØyóæI—ÖKâââöìÙCDvvv¥³h`ll¬ÁpÕÕ«WYév;;;v¿1ipÚ´iÒ¼ufóæÍíÚµk׮ݑ#G¤111k×®5˜oT®ìÞ½[Ò—Z0æããÃ^õŒq&yyy¢råÊDäää$ÿ–ˆT*ÕðáÉ(//o„ [·nMIIIIIÙµk×È‘#Yì;v¬¼§uneff80<<<333//ïôéÓcÆŒ¹víõéÓ§Ä‚"_P’J·Ð–'-/þxœ[qT·Ûô>\ï&ú ¼Ø§)7£¯.W­ú›Ö“»bõÜõ+Þ Y@iB¯UEÓªU«ZµjݼyóСC:uúâ‹/š6mêíí}óæÍ“'OΙ3'##ƒˆBBBä󚟩U«Vegg÷éÓÇÃÃãøñãkÖ¬aiiΜ9Æ2ÞÞÞ'N\ºtiTTÔ!CÞ{ï½Ö­[ß¹sçï¿ÿþꫯxž÷óóëØ±#ÛùêÕ«:u"¢åË—Ÿ;wÎò)ö¥‰•Œrvv63Ý»OŸ>/^ÌÊÊ:tèPa ¬ä†~öìÙãÇÇÆÆN›6ÍàÞÁƒË· 8ðÆëÖ­KII;v,ë.’îíÑ£‡ñ@aQñ"qâ3Ò f¦‹ââ¿H¥àÞ "Ž£¯ß Aàv^_kÆ}ý)8"¢ïÑ¿D}_‰qún/ŽË3@©B´ª€6lØ0räÈ«W¯ÆÆÆ†††ï0bÄKÊKZEÿþýwíÚõ믿\òöÛo›yàÔ©Sããã·mÛvúôi6”&qvv^´h‘TàŸt3œããã“’’ÊáôöØØX¶fvÏž=¥fëÝ»7 Žþùg £Ë—lÕ?ŽŽŽkÖ¬Y±bÅÏ?ÿÌ.$dªV­:f̘ƒª …â‹/¾ðõõ]³f̓¤\eccÓ¿ÿ3f˜|–"ÑJ ¿]°ŸQÛ‰Sp´pµòã†êrÕª¿é«ò‡\*¨¿¢C¯”&D« ¨nݺüüóÏ÷ìÙ#ÕÔ&"ŽãüýýÇ"mT(¬B~‚d·O™Òƒž!é[㣠  áÇÿßÿý»ôŒˆGŒ!ï/a‡e-‘·vùòå^^^ëׯ—ÖœvqqéÔ©Ó¼yóäù©oß¾«V­úï¿ÿ‚ƒƒËa®"¢Úµk›¬So jÕªÒO©„Ì/"¤P(Æÿþûïß¼yóÚµk‚ Ô¬Y³AƒfÆõ†>|øðÄÄÄK—.effº¹¹5kÖ̳OÅ®à{²ª›MERNš¿S)莤à(¸µnŸÓü}ò‡˜˜±Îq$à A(E+µ U|||tttjjjýúõ7n\’’ÙE’””Ä*Z±ÚßD”ššš`ggçëë«V«-?”V«½wï^ZZš‡‡‡™ä”™™i¦:€µh4šëׯ=ë'z¡xJ…Tá(ÀR÷—(¤­n˺Óôù6é@ÃdF²¬–-^™–X¤w@±¡×ª‚óññ±pý“g­J•*&ëA<•J¥òõõ5¨ o¬r<#ZØu$êÇóŒÓ’HÑ'[)'ŸÞ~™~9I3v‘ Êe]Sºê'ma®”&D+(cº¹P“3¦¤-âÛ§î ©ÛŸœŽ%_fP¾Eús­ !ZÇqJ¥277·Â2-A¿ä²Áˆ+aE²Þ,ÙFZ«™ˆ8± »‹DézAªd«5˜›ðì ZÁ3áää4fÌ"jܸqY·Åš”J¥­­mjjª··wY·¥âàE∤=)Ì>ç {£ „3Yý§zîY%¿ŒÀBˆVðL888ÌŸ?¿¬[a} …ÂÞÞ>99ÑÊŠž(Ž`žL®¼, r²ò#p¤åée¿l…sØ ””ÇâŠå™££cvvv\\\Y7¤ââØ?ñÉ‚þ«üŸhôö­øÄx‘´ZÒæÓ«Íø§7ÀJÐkP4•*Uº{÷®(Š~~~eÝœŠ€õZ=e°Ï¨¶‚ü!ì^Qv›ãHà‰×Òò×o×ö,å2D+€¢Q*•nnnZ­ööíÛ)))U«V-µUƒ*$Ýü(QW¼Êd‘*ƒä%å'Ò?V"$ $ $ðô]¿Ø>Íí0Ñ J¢@‘©ÕêjÕªÙÚÚ¦¥¥]¹r%//çyQE\åoã‹õò²ûý …–Tp¶ÕÔ«’ÑÎ'ãÕ¦šú5P)Jª±‡ ùùù=A«ÊVÃÆÆF­V«Õj›ò¹\7T`èµ(…Bakk«R©lmm¥þ*‹ÕYàÙ•˜bGæ8Ž,Œ@™@´(>œ¿ÀºÊ¬Ñ Àj­¬Ñ Àj­¬Ñ Àj­¬Ñ Àj­¬Ñ Àj­¬Ñ Àj­¬Ñ Àj­¬Ñ Àj­¬Ñ Àj­¬Ñ Àj­¬Ñ Àj­¬Ñ Àj­¬FeÉNQQQϺÖÕ¤Ik ï€P±Ï#\JJÊSwªR¥JñŽPVRSS­u(¼ÿ^@Å>`@Àj,êµK × Àj­¬Ñ Àj­¬Ñ Àj­¬Ñ Àj­¬Ñ Àj­¬Ñ Àj­¬Ñ Àj­¬Ñ Àj­¬Ñ Àj­¬Ñ Àj­¬Ñ Àj­¬FUÖ (¿òyŠITÜIã2rI˺5P*8ŽìTä &w'±¦«XÍQ串nÑÙÕñ±³ƒ‰‘Áœ|Œ€9ˆVðt¬û§œL)DQ`×°N)}«8]ß'm!Ö;¥ßbÐYU;5çáD÷ÓÉÙÁĽåãgå¢)ég§s ¶È‰OŒ>1zPdˆV–V«%"•ª¢ý7gÑJ|b"»¨ ÔõWéó§ŸÅ.uYé¢+ÓÀ‘¨ 䤣±ÇòHVP,%úÌÕh4jµÚä]Z­vÍš5·nÝ;vl­ZµJò,Å}æÌ…B1räÈg1õĉÿý÷_½zõ:vìhõƒƒ$55uÇŽ …"$$äyI ?üðéS§ˆhþüùžžžÖ:lvvö¤I“4 Õ®]{êÔ©&w‹‰‰Y¶lÙþýûlllš7oÞºuëÉ“'ûøøïñUÔt÷#Z@±ùD¿qãÆK—.]ºt)11ÑÇǧyóæ-[¶ µ³³“vÛ·oߌ3ˆèöíÛ[¶l±f“-väȑٳgѳ8%§¦¦¾õÖ[ééé¿üò‹u *Uª´jÕªÛ·oçääŒ7®¬›ótZ­vêÔ©ÉÉÉDÔ¨Q£É“'[ëÈ_|ñÅ÷ßÏn·jÕÊd´:qâÄ+¯¼’‘‘Á¾ÍËË;sæÌ™3g~ÿý÷M›6uíÚÕ`ÿÕ«W§§§öŒyyyå1Zñ"/TRA_#”cc€õB ¡¿‹{b˜Oš÷.«×À‰úRX¼P /* ¢ŽcÇŽ=úáÇҖøøøøøø]»vmÙ²eݺuÒŸÅ …šÍ,æÌ™“žžÞ±cǾ}ûJ·mÛTõa, IDATãíí=jÔ¨RhCjjêÊ•+‰(88¸víÚ¥ðŒ…y¦/\­VÏ›7oøðáß|óÍÀÝÝÝ­þÖµÿ~–«ˆhݺuÖŠVÇÿî»ïÌïsìØ±>}údffQ¯^½ºwïnggwøðáÝ»w§¤¤ôìÙóðáÃòµz²³³Y®jÕª•›››ñ›7on•Æ[— ’VÐÍœ2Á(?±ð$Š"‘hÜ}-’ìP²Ê}ž®ÑjÏž=¡¡¡lÍù   6mÚxyyÅÆÆ88˜åªÅ‹ôÑGlû¸qã¶mÛ6xð`žç§OŸ~ìXÁ"Ó÷ïßg7Ö¬YÓ¢E‹6²ÔhRÒ"6¢¬V¨TA”Jà &§“t¯Ñ>º™ïºoyÝVPEè[š;w.Ïó …bÉ’%Û¶mûì³ÏBBBfΜBD=úã?ØÎ*•jìØ± ,(«‰VÏÔªU«DQ¬^½zûöí˺-/ŠÑÖ­[¥¡òéÑ£G{öì!¢I“&999‘>i•ÐìÙ³¯^½JD«W¯vqq1¹Ï¡C‡îÝ»GD#FŒr3`À6@qäÈi{BB»Q½zõ’7²Ô"'ˆÄ Ä ¢–g7H9^ -¯Û"ˆœ–'öm玈8-/²Ç²ò§?§ÿÊñ‚( × ŠÅÒh•žž~ãÆ "jÕª RµZ½`ÁWWW"*Ò´*­V˜˜h°=777::š$ž*++ëòåË7oÞÌÏÏ·ü©‰ˆçù»wïþûï¿qqqìB* i4šC‡Ñ€Š1‘qùòåèèè´´´¢>ÖZŠÑ†ØØØ«W¯õ‡l ??ÿÒ¥K—/_.Æcßxã ŽãA8pà@IÚ𬅅…åååÑèÑ£û÷ïOD7n,ÒÌXTTÔ×_MDÆ {õÕW Ûí¿ÿþc7úôéc|¯´ñ·ß~“6²h¥P(ªU«V’–2)iy¡D˜ô™IöOä‘Ó Ä ¤d!LäØcõqŠô±LÔêó¢¥É@:ׯ_ßø^;;»°°°uëÖIójsss====<<~üñGi·)S¦xxxôéÓçÑ£G#FŒ¨[·nçÎZ·n}òäI"Š9r¤OçΛ5kðå—_ÊŸ(55ÕÃÃÃÃÃ#<<<&&¦ÿþ~~~AAA­[·®[·îÌ™3ÙÅSæiµÚ/¿ü²Q£FÍ›7ïÑ£GË–-ëÕ«7cÆ KKDlŽðÿþ÷?icË–-=<<öîÝKDQQQ¬‘:t?ðŸþyã7üýýƒ‚‚:wî\§NÞ½{³ëÈ$³gÏöóóóóó3öEqРA~~~µk×¾}ûö¦M›<<<¤I3o¾ù&{Æ;v˜o¼%m Ùo*++kìØ±5jÓ¦MûöíkÖ¬š’’bá —Ž7lذ:uêtéÒ%88˜ˆ®\¹Âvf—ظq#»—¥X"òòòªW¯±ç2‘‘qêÔ)6Z]¶XU‹-êׯ?lØ0"JJJ*Ia̘1Z­¶J•*lü·0ÒR“£Ã 6d7nݺ%md‚îîî¬æø£GNœ8!ß¡|b9I+/’–uP "KQ¼È}öŠb犞Y®"­@‚ »¨P+VµõjL;?P~Ú‹Ó²¾+‘Ó ¢@œ rºEŽp‰ ‡¥ÑÊÛÛ›ÕYØ»wo\\œñ/½ôRïÞ½»uëÆ¾A«Õò;;{Ô¨Q{÷î•.bºyóæÀ?Þ·oß={öú)‰‰‰ .œ7ožt^ïüùó½zõŠˆˆ +gff._¾ü³Ï>{êk™|4oÞ¼+W®ï)£¢¢"""BCCÿüóÏ7öë׈4Mÿþý ´gÏž½{÷Ž3ÆÞÞžˆV­Ze<ž2þüœœœM›6=ztöìÙ¾¾¾DôÛo¿­]»Ö̳/^¼xýúõDÔ±cÇõë×_¼xqÆ ¬—eëÖ­_}õÕSÛíÚ5"ª]»¶³³³´qÿþý‘‘‘AAADT§NÈÈÈÈÈH©éÁƒÆ {üø±Z­ž5kÖ±cÇ"""fÍš¥V«³²²† &My©\¹òwß}Çq\NNÎÇÌ6¦¤¤Ìœ9“ˆš4iòÉ'ŸÑ€"##¥‘¯¿þš=cïÞ½ k¶åmDEE:t¨ÿþaaaçÏŸß´iSƒ ˆèöíÛ?üðƒ%/œ¹sçN\\\ëÖ­¿üòË={ö¬^½šm2dÅÅÅ]¸pA¾ZZ›jýÚk¯ÙÚÚJÛY´Òh4òp@D‡b¡-22ÒøU”&öá8nèСD¤R© DD»ví*Þøobbâ_|AD]»v}ë­·ÌïÜ¡C6B½aÃã¡ÛŸþ™Ý¸{÷®ôŠý¸¢¢¢z÷î-ךּyóæòåËûõë—››[Œf?k¬Ê`ìO«ü1B÷·Ù‡]}›’´§V ^äz7¡»ê>÷~Š´²j…'£z­ XŠ0UH*~˜••µdÉ’Ž;¶hÑbâĉ»víb%YîwÞùꫯZ¶lÙ£GŸ~úÉÏψDQ|ýõ×W®\Ù¶mÛ6mÚÌŸ?ŸM+ÉÍÍ•&‘Ƚûî»K–,éÖ­[@@À¸qã6lØààà@DÓ§O/ljKRRÒ‚ ˆ¨C‡›6mêÕ«—··wÏž=7nÜÈNÛK–,aeÌ`Ó¨ëÖ­+ßèíííïï_©R%"²··÷÷÷÷÷÷÷òòb÷~óÍ7wïÞU©T¿üòËûï¿ß¨Q£† ¾ÿþû«V­â8.11Q^«cÇŽï¾û.=z4,,Œˆ¦NúèÑ#µZ½råJ"rppð÷÷—J]xyy±gdaÔ¤"µA2`À€5kÖtíÚµf͚ݺu c—'Nœ°ä…Kúöí»sçÎÑ£G·mÛ¶mÛ¶lã AƒØ%]Qlß¾},°ì%‘~æ3Ù»wïÎ&Œ·nÝÚø©K(Š,ZÕ¨QƒmdÝWyyyìWYT“&MJOO·µµ•ò¨ÎÎÎmÚ´!¢¿ÿþ{èСRŸ“F£ùðÃ¥Ùô<Ï?zôˆÝfÑŠçy77·e˖ݸqãÎ;6lhÒ¤ >|øÍ7ß,F³Ÿ5-OlR¹“òûºá ýrR—Š>ìªèR_”îêR_œØM÷¡·î”¸á,÷D,ØyýÑkÅR„håãã1lØ0©4è;wÖ¯_?jÔ¨ÆþùçÒçõS½÷Þ{ÒmŽãØé‡ˆ‚ƒƒåeÓ¥ñ6ƒ^®víÚ³fÍ’oiРÁ”)Sˆ(//u,»pá@œ6mš¼;ÄÁÁáÃ?$"­Vc¾ñlt¬J•*æw“;þ<õèÑC¾ýµ×^kÔ¨]ºtI¾}úôélNÛôéÓ·lÙ®»œ:uª4]¦ŠÚfüøñò߈··7 FEŽóù石P(W£F Ö_¸{÷nùö]»v‘ŸŸ v©éOOÏèèè°KóÊÊßÿÍÆp¥÷3½üòˬ?U>&ß·òÅáÇÿýw"úâ‹/êÔ©cIÂÂÂüýý‰hÛ¶m®®®íÛ·ïØ±£‹‹Ë·ß~«V«¥ÉyR‡+»ˆÄÙÙùäÉ“&L¨]»v5‚ƒƒ<Èf¶íرC¸/?¤éçú ¹‚ÁA^äZsL\š­xCSû(º6äxº5ä¦öQ(8"¢õ§ÅÕ“~Ú;§¿l]TÈ®%äP{Чh%C]]]¿ûî» ìÛ·ïÈ‘#< ¢¬¬¬~ø ä™\LCÎÍÍl$ÒJ l¼I"% Õê‰ ¬²ÑÑÑ,.žÒÒÒÂÃÃåwIÓ€.]ºÄz°LÒh4¬Ä¢tš*FÃO ž”ˆ*W®LD/^”o´µµ]µjUÏž=>|8vìX"jÛ¶-»Q<ÅhÙÙÙ‡9ooo"*R?¥«««É«ˆhèСlLJKKc³Ál°³TÓÒ¸þ‚“““4Ó¨¬HÝBW®\™;w®´u%žæ]¾|™MëÞ¾}ûöíÛMœœœœ,Ÿ¤Ü´iÓÉ“'³áK;;»+V”¤À}ñÚàêêjœ_Íüú cægÕ·oßO>ù$;;{ÇŽ,Zíß¿???Ÿã8ƒÑ@"’A k< ÙÙÙRQ·¥K—šÜgݺuìrH7776˘”e—.]ÊÆÁ'Mš$ödX®ÍÎÎf½¹Õ«Wwtt”îõõõ½~ýzTTTxxø©S§ÜÝ݆Z¹re6•P^ÂÊÌB/¿ü2»qüøñò­‘x㸂µÿô«2K+.‹DÜ·GHÁ‰o¶åõo¡KQÏŠËK+Ü<¹Žn£î+¦Z@ñ”te½fÍš5kÖ,88¸wïÞ™™™ÇŽKKK+¬¤á³& ]÷rÉ·+ŠfÍšvó‹é:88ØØØh4ËG?¥ ½½½Í,ÒbÜf6‰¡„³‰‹Ý†gÍÑÑñÕW_ Û½{7›ªÏ.lÓ¦A×&ÉŠ È/ ('¶oßÎΚ7oÎz墣£>|øÛo¿Íš5‹ã¸5jlÞ¼ÙüÏ;Çn¶lâåË—Ùä³5kÖ¬yÀq\Ó¦M›6mʆ¹™»wï²+¥‹.EQ¼yó&U«V͸ÍËÿŠ(5¼@dØ¥Ä=yC÷í¢ƒdk#j©ûvË?â7ÊW°17› ½VP<–F«¬¬¬œœŽãLÎ1jԨш#V¬XADׯ_—æž“e'¥‹Ù$\cÍš5;tèJ¥Ú½{w±OÕªU»wïžåѪqãÆ*•J«Õ6ŒÍ³Ä­[·æÌ™Ãnk4š÷ßÿÀÅ^dºxm(C‡ ‹‹‹;þ|­ZµØh q—I‹W–Ãú–l4ÐÁÁ!""‚Í©—›;wîôéÓoß¾}ìØ1ù~ÖuïÞ=VY´C‡ƽb?ýô+“!ÕcKOOoРV« •ןcXÅ’E±òC+°Å ´a®ZC$ 4gåæ‹ÃZs›ÎŠ_ÿ©[ÉFß¹õÄa¥‡ëïÅ4v(KǘæÍ›× Aƒúõë@’<~ü˜Ý`—é=k‘‘‘Æ£BÒú&Å:«4ÉÂ?bçuã"òƒëÞmmmÙL#iâËSñO ösMgѼ}¤-XÓæ‰º õ ãH‡(K£•ôqùäÔ©SRùÊÉ“'»»»‹¢8a„¥K—²wïÞ=xðà£G^¿~]^F<&&†M7~å•Wغo‹-²µµÍÏÏ7nœ¼ƒªFlzÙüñóÏ?߸qÃÌ”¬"µ¡¨ {á’j‡²emLŽ’¾È¸¿¿¿T5йzõj§N>ýôÓž={ eqÅ< tss33Ý›u\eddvU¼ÿþû¬ W®\=ztõêÕ«W¯Âþ{Ž3æý÷ß—ïÊæc%&&öë×ÏÅÅÅÞÞ¾k×®lí£7ÞxCª [®èUAI*}+rì«VЯ'È–¬ÑE(’Ãá‘-z#+(* ²ò¡¼ˆjìPLE¸èlÆ lP)66644400ÐËË«C‡Ÿ~ú)›À;b㞤g§ÿþJ¥ò×_!ZÕ­[÷àÁƒÃ‡7¸>‹ã¸Zµj-Y²dÑ¢EÒ©E¡P°qù  °S‚´Å ¾€ô­qÝ   °°°ÆK[Ç'_©†Vj‰ÔÚåË—ðÁòË]\\^{íµ'NX2ŸFM›6%}eK¹V­Z­]»Vª6.ÞfÍš………Iw±æÕ­[wÅŠ¿ýö›ô—/_Îj–~ñÅòÂâ|ð˵+V¬5ýöÛoß{ï=鵜8 XØ2{òf»ÜUØ 7sÒ„¡šÜÿÈ‘#¬è€q´êÛ·oÆ 9Ž>|¸ù <Ÿ…† Š¢(Šâš5kÌìæéé©ÕjEQ|ju’§ú믿DQ”¦™P(³fÍJOO‰‰Ù´iÓ† NŸ>}ëÖ­?ü°°·Çûï¿÷îÝ;wîlݺuíÚµ{öì¹wïÞš5kžúgFY‘§"A4œ5õdf’ø  4šhõD,“v@ÉP(.%%¥‹ŽŽNMM­_¿~ãÆåeuž©¤¤$VÑjÉ’%!!!D”ššš`ggçëëk¦ÏÀ˜V«½wï^ZZš‡‡GQÏÇ+V¬ø¿ÿû?¥Rmòjµ¬¬¬¼¼pàÍž=»°Ò©ÖÊUPþñ¼¨I‰#]™]éOã´$G¥¤{¥¿ZDY×”îlgÂ\+(¦âø~‘ÙÚÚΟ?Ÿˆ–.]ZVW¥U ‘‘‘¿ýöÛСCÙ`›Rflîܹ¹¹¹;w.É\{¨0x‘´l O$ž'^ÔßfY-6ÅJ$^›mç…‚Ù¨ÛMºKzTùè¡€çOyœ£ú\èÙ³ç믿~úôéuëÖà©FŒ!M<f«5HHH÷òòbËþ±^+ÖYe8¢Gú~)±`!i #JEE‰8± »‹=„íád[œ:mÏY´rrr3f É'°—ãÖPTnnnJ¥²V­Z={ö,lE//¯K—.•rà<ˆ¥a;ýF®àÞ'pÊ´‚p&ì/ðTÇ-»$ wÀ ë9‹Vl$*†ãÇ—uÀ"åd;#Ä4Çà[“+/l)èÑ2Ê_iyªéšÏqÏÙ'$”øà€çŒ Šœ@d*>éÈz¡ ¶?ñé[Q¾ ‰<åk…úÕM§I³N­ày#ˆ½VOì3U A|ò^Qv›ãHàIË‹Ã_Jrw¶5yL{d+0Ñ  hÒÓÓ˺ /:QääÕªä7 ƒT!µ¬ôÇ)¸KHHH„à‰5l «°joSŽÆF B´(‚¿ÿþÛäör5©Â(,ÜhÄ~dÑ"ׯ,´¤BeÛ<_—¬š®y ª ž®j3+ü¸;áw æ ZXê–mPY7ˆˆfô¸eÝr§P(”J¥R©T©l•J¥™5£jº"Z€9ˆV†aiÞòìYTÞç8Ž,ó qº9ˆÕñæs­ U²£ôb7Aé(Ãu£[Ôq… ˜‡‚x†jº [Lhà!V¯Œ÷<¢€¡Æž‚£º¬åL ñ¥|Y·žˆV†l”ÔÎ_xú~ðÂhà.Õæ  p)))eÝ€ò(1ƒ;uK‘¥)ëv@™rs[ÔÀ8 ¢@¡òyŠITÜIã2rqÍà‹‚ãÈÞ†³·ÝÄš®b5GÌ[€¢A´°̵°D+«A´°D+«A´°D+«A´°D+«A´°D+«A´°D+«A´°D+«A´°D+«A´°D+«A´°•%;EEE=ëvXW“&M¬u(¼ÿ^@Å>p)))OÝ©J•*Å;:@YIMMµÖ¡ðþxû<‚A«±¨× ,^+«A´°D+«A´°D+«A´°D+«A´°D+«A´°D+«A´°D+«A´°D+«A´°D+«A´°D+«A´°D+«A´°D+«A´°D+«A´°D+«A´°UY7 "ˆ¤<Wyå*î¡2)S‘–Ñ‹½èî$øºñ =´-jð>®|Y7JUfffrrrZZÚãdz³³sss‰ÈÎÎÎÁÁ¡råÊ...ÕªUsrr*ëfB)ÁûáÅÁ¥¤¤”užcçâUG®ÛDÆ«Ór*%)8RpÄqDD¢H‚H‚HZž\ì…ŒÉDY IDAT@M—ºù­|´eÝdxæ’’’îß¿ïääääääàà`gg§V«‰H£ÑäææfgggfffffV¯^ÝËËËÝݽ¬› ÏÞ/D+€bº—®ÜvÑæÈuÛœ|…’8ޏBö‰D‘òy²·ºÔÍÐ,ßÛ=XSVVÖÍ›7ïܹãééY­Z5GGG…B¡P(8Ž#"QA!???+++99911±fÍšµjÕrtt,ëæƒ•áýðbB´(Ž3qª°í¢mlU¤(,RDÊÓR€gþ—rÛø¢ûª¢IJJºqã†Z­öòòrrr²µµU«Õ*•J©TœJyž×jµ&///333!!A£ÑÔ©SÝ Þ/,̵(²£7lÖŸ³¿—®´³)´§Ê$Gv6t%Éæ‡SŠœüœÎuòŸU¡Ô%$$\½zÕÓÓÓËËËÞÞÞÞÞžGÙI”GQÙ •Míììbbb´Z­——W¾ °¼^dˆVEs&NÅr•²h¹Šáˆl”t/]¹þœ½½ˆ¾«Š!))éÚµk>>>^^^ööölÜÇà$*'Š¢J¥R«Õ¶¶¶¬?C­V_»vM¥R¡¯ây‡÷à Ñ  î¥+Ãþµ+v®b¤tö¯] —œçwÞÏóD¤T*˺!eŒÍ§ñöö®Y³¦£££½½½J¥*ì *agY…B¡T*U*'áæÍ›ŽŽŽ˜góüz^Þ<ϳg´ü!†Í¾ó­Š`ÛE›èD›¢Žcé*:ÑfÛEíø "G«;vDGGÑØ±c«T©R²¶ÈËË[ºti~~>Õ¨QcäÈ‘&w»uëVXXØÉ“'SRRT*U½zõ6løæ›ozxxï¼råʇöŒM›6íׯŸ•š_fnß¾íèèèëëëääÄΣEz8Çq666ìÌêëë›››{ûöíÆ›Ô7ß|“——gÉñ{õêÕªU«"5ÉÒ›°ÿþRkÏŸ?¿wï^óT(_|ñ…ÕÛS~”ÉûAîÁƒ¿þú«F£©R¥Êرc îý믿.]ºtùòe¥RдiÓAƒ9;;›JJJ’o‰Ý±cǘ1cFe¦%<˜3gŽôYñ¿ÿýÏ8ZUÔÏD+K¹n““¯°-ä? Ul:ª´Qêl7y"Qp”“¯8rݦHÑêÔ©S,WѾ}û¬­.^¼¸eËóûœ?~Ò¤Iìs¹]»v¶¶¶‘‘‘ÇOKK›8qâòåË[´h!íÏ.w"¢† V®\Ùø€õêÕ³JãËPbb¢ŸŸŸ«««] ÇF•J¥«««ŸŸ_bb¢ùSiëÖ­YÍI&??ÿÂ… Däîîîëë+ß³zõê%i•³gÏΞ=»°K˽¼¼Ú´iSØc£¢¢²³³‹4õÜ)«÷åää,Z´ÈL´={öìäÉ“5­­mß¾}›4iòðáãG^ºtéöíÛ£GÞ²e‹´\\ܘ1c²²²8Ž{å•Wš6mjgg½k×.F³f͇¡C‡ötóçÏ—r•IøóÑ À"ñ”‘ñj›B>*¥k|ÄúŠõ=9"º‘D‘·y^P²s‰Éte£¤Èxuü#åµÚÙ€‹B¡!66öÚµk%ÿÒh4óçÏ¡jÕªîîî—/_6Þ‡çù3f°\õá‡6Œmã7Ž=:uêTÖ¶zõjé!ÉÉÉìÆ”)Sêׯ_ÂF–C™™™©©©Å÷1I¥RÙÛÛ{yyEFFfffš©ÍýÍ7ßÈ¿ÍÎÎîÒ¥ õêÕkܸq%o‰1žçW®\¹qãFQ•Je‡þþûoƒ}^~ùå—_~ÙäÓ’’HDݺu«¨]Veø~¸zõêÔ©SïÞ½KDµk×ÎÏÏ7Øgûöíì ÄÅ‹¿ôÒKlã!C¦NzôèÑäääsçÎuèÐAÚÿþýYYYD4wîÜ®]»²½zõêܹóÇœ——wèС¢ÕÞ½{Ïœ9CDAAAR§ üùP‘ÿz°¢ów•i9 “g–«xžoä© {OýÝ›t³ÿ ›ýÒ`û-cÕÍkhyžgû?–ã(-Gqþ®¥Ýfdd°¹ Æ ³··'¢}ûöÿUéýôÓOqqqD4eÊ”Â>¾###ÙGaïÞ½¥\ÅtîÜ™ \¸páܹsÒv©oñŒçΣGªV­êââÂ&Ç”ü€lž‹‹KÕªU¥¾IkÑjµ7nܸuë–…#‰ÒÓÓ7lØ Š¢§§çªU«Þ|óÍ"=ü—_~Ñh4 …Âü(Òs­ ß;wîd¹jàÀ?ÿü³§§§Á‚ °ÿ›Ý»w—r)•Ê÷Þ{Ý>uê”ü!GŽ!¢€€)W1­ZµbG¸|ù2y4ððáÃeË–QãÆƒƒƒ ksþ|@´°È•*UáW ‚ÐÈ“ÿ~¤}Í*O„$/W劇5yù(¡G¤RÒ•–þ{èÐ!FCDýúõëܹ3ýõ×_ìJ½b‹]¿~=õèÑCþ7«–½ˆ¨}ûöÆ÷J÷ïß/md …ÂÅÅ¥$-,·233]]]­ueØÙÔÕÕÕÌ”¢ŠŒŒ íҥ˛o¾9lذN:M˜0MB/ªnݺýöÛoM›6-Ò£wïÞÍîççWŒç}.”íûÁÅÅeáÂ…“'O6y_rr²«««OÛ¶m îòõõµ±±!¢„„i£ ƒþøã'L˜`|4777"EÑä+]²dÉãÇU*ÕÔ©SÍŒŠVàÏ X$î¡ÒdÕu]w”ÈÏxMm£4±‡RA3úÙZ¥EÓ ŽâZÚkÅFëׯïëëÛ£Gýû÷?|øðôéÓ&ãŽ%AX°`ÏóÎÎÎ}ô‘™=¥?OkÔ¨a|¯¿¿?»!ÿtf®®®ìã5##ãÖ­[U«V­0UsrrjÖ¬)UÖ¶ v=|åÊ•­rÀ°°°o¿ý–åoŽãXïéÙ³g/\¸°hÑ"ã+ ãèè8sæÌ^½z£ k×®ÍÏÏW(¡¡¡Åxøó¢ ßíÛ·5j”™îÍ›7›¼+99™],Ÿf®P(Ø®±üü|ÖæççgÜÉ}òäɃш#jÕªUX“*ð碀E’2…-h#B@uÞ¿š}aõrU¾TSˆŒLþ§à()Ó¢þãøøxÖÓУG"jݺµ««ë£GöíÛWìhµ}ûvvÌ?üÐÕÕÕÌž 6d7®\¹b<1Bšžuÿþ}i#ûè¬R¥ÊéÓ§¿þúk)uy{{·k×nüøñ¶¶¶Åkv9¡ÑhìííÍÔ,v4{{{Ö=YByyy+W®äyÞÇÇgÊ”)Mš4III9qâÄâÅ‹5ÍâÅ‹ÿýw ekk[¼\u÷î]ö'A÷îÝ ¦ØW0eø~(ö'­[·ŽÝhÙ²åSwNOOŸ6mÚƒˆÈxl7//Íôóó1b„ùCUàÏD+‹¤åpŽ…ü7EÑ¿ªéñ>IíjâÙ8s­H7ÝÊ¢b6ÖÆq\÷î݉H©TvéÒå?þˆˆˆÈÈȨT©’%‘KMM]µjöîÝÛüÎÍš5csçÿüóϾ}ûÌÒeÃ=D”œœÌó< ‘ln»~[>ÕìÞ½{[·n‹‹[´hÑs]çy;;;«OÊæ8ÎÎή„ã¼Ì¹sçØÌªI“&±ù1Õ«W8p V«ˆˆ ¢ììlv‘ÿ³óÓO?±·DÅî²¢çáý`,22rÛ¶mDÔºuëÂ.A¸uëÖŠ+DQLHHˆ‹‹ÁÉÉi̘1ìƒHîǼÿ>ÇqS¦Lyêí üù€¹V%UØu9AžºÏSŸ…E«æÍ›K _ôìÙ“ˆ4Í¡C‡ŠqÌeË–effªÕêÏ>ûì©;;99±òEçÏŸŸ6mš4:??ñâÅÒlzžç?~Ìn³¿Jyž¯\¹ò¤I“¶nݺk×®Ù³g×®ýÿìÝw@SW0þ2H#@D†2EAqQkÅ Š>ζÎj­³Z'–ªµµZµ¾jU@\ø ¶Rܶ¨ˆ«¨ ²eË#Ì@È~ÿ8ïsù%\$À÷óW¸9¹9Iç~¡¸¸¸íÛ··"ÛºƒÜö‰ö83±@Ãëׯ•Ï;700000°½ãª¼¼¼¨¨(„Є ìììÚõ½:œî—999ßÿ½\.g±X%ãóùOž<‰‰‰ÉÉÉÁÃFGŒѯ_?õ³áFЩS§zzz6ûî]¸~€V+´Âa)Ä2Í•›B¡È(nfaª´"©BA×ø”B8¬æ£®øøx<؇S˜‡‡‡••Ç‹ŒŒœ9s&>XRR²ÿ~'™9s&1P=.._ó-Z¤qø”ºÝ»w¯Zµª¨¨èÑ£G>>>}ûöÕÓÓKKK‰Dt:ÝÝÝ=>>!D ¿àóùøÏS§N—Õ & :tåÊ•ùùùÿüóÏh5i? C$)/D …B!‰H¹_÷ððÐ×׉DaaaOŸ>1cÆÐ¡CíííÕ‹rXXØ›7oÔÏ```°k×®Vg€h²ê º_”•••mذA Ðh´½{÷6øöìÙO ®©©Á⢢¢££—/_¾xñb"Ù¾}û¤R)‡ÃY³f6èÂõ„Vh¥‡¡<¿Jóp+==½×yòLžÈÉJs—a_ò"[Î4ÐÜH,W †Íô'¢ÿ `Gåææ†††Çq=þöíÛ‚‚! 4¨#ÆRH$’ƒ"„lll.\Øì»c–––AAAkÖ¬)((H$ÄU33³M›6á–3¼->~ôèц†CCC•ÝxÌÌÌ-Z´k×.™L–˜˜¨>e©³`±X"‘7[’Õ¨€Ï&‰ðâmÔ£GmÛ¶>|˜Ïçgff8p!djj:uêÔùóç+ÏÌJIIÑXlÚraËÎÎÆ#š'NœhkkÛêótº_ÕÕÕëÖ­ÃC¦¶nÝÚÄB¯¡^½z­_¿žø3==}ëÖ­………!!!ƒ  T‘‘‘xÑÚÕ«Wk\ÿS]® ´@+öf²ÜJ ÿ/ÿoGUã» åá¬4ÕúT&WlºX® °›7$W {³fFQˆD¢‡âÇ—.]Ò˜&22rÅŠ!ccc•uhÄ<¾K—.åææ"„æÏŸï xQІ†¼L—ËU¾ ·²²ŠˆˆÈÊÊzõêURR‡Ãqttôõõe³ÙçÏŸGÿÿ%j4î*ˆyxxàoÞ¼éŒU'Æb±—Ë%ýR*Ⱥ”úøøx{{GDDDEEeffÊåòÊÊʰ°°ˆˆˆõë×Ϙ1'8p ÆimÉÆÉ“'ñú¢Ý¡É u’ò€ …7nÌÉÉA­^½ºÙq–*\]]wî܉GÎݼyÓÓÓ³¾¾þøñã!›Áƒ+ÏeÁÑB¨´´´  €N§ÕB® ´@+n–ÒûútMK[á…gRx´Ù‡ Ž~eioñÿµÛ¿/oºXö*ŸjlÌÐXÕ*’Ê›e3ý‰=Â[F¸¸¸°Ùl•g³²²jjjnß¾½|ùr …Ò£G_~ù¥é¦¥¥áuæääà©×[¶l!®¾Äçurrrrrš3gq°´´Ÿ“c¡P( B¦¦¦êy&tÞI@!6›][[ÛötÊð²þµµµM|i-¥¯¯¿`Á‚ ÔÖÖ&$$\½zõÙ³gB¡ðÀÇÇËKª,Ûvéééx¹v???-{œ;»NQ$ÉæÍ›“““BË–-k¬ÑZ¡PH¥R„Ñ­¬ÿþFFFµµµxÍ÷’’¼ËrAAÁgŸ}¦ñ„ûöíCq¹\¼O×® ´@+ƒld–¼AªaAv===:n``\,»«ècGš»ƒ‚PJ¡äé; …ªÏfÐét[§)ˆÃ’²i¦Õ ÷êë뇄„¨ß¼††††„„'$$(oáG®²²2Ü.5pà@õV±›7oâLDŸ£@ ˜3gŽL&›6mÚÖ­[UÒëU8°2ü˜˜˜ÕÕÕÑh4RV3Â×Ѻººªª*r÷þÃŒŒŒ¼½½½½½CBBBCC¥Rirr²úÊݤ 𬔇ãtmº_ärùöíÛcccB .\¶lYc)ãââðb¡»wïöññQy¶¦¦ßìµzŸÄ®]?@h€VìLeÃìÄÞ15nÏL¥RñÝUCíyŽøY¶!D¡Púl&“©¯¯ßX$‘!o‡f6Ä{{!„F­±SÀ××7$$!©ehµvíÚÆ6*Ù»wozzºÝÏ?ÿŒ”555}øðaYYÙ7•×ÔNOOG™››;4222dHllìýû÷—-[FÌjDÕÖÖ^¼x!Ä`0ð¬ÃNŠÉdr8œòòr6›­§§×ÆíxBr¹\*•–——s8RFC;v,>>žÉd8p@yÔ1ò©ÂNNNÆ#·&MšÔMš¬Pg(û÷ïÇÛ×Ìž={õêÕM¤4h¡¡¡@ ˆˆˆ=z´JÛÕ7ð­”³³3BÈÖÖVy¨²´´4Ü^µnݺAƒ­P]»~€Ð ms–<ËeHåš³ãûT&•JñüdügcíU!¹±èòqÎ’¦ß÷Î;ø„x¥Pu666îîîIII÷ïßЦ ÝÊʪ±¶ ¼>›Í&ÖÅh4Ú¬Y³‚‚‚D"Ñ–-[æÏŸW)Œ‹‹;xð ^«}ñâÅÊï>nÜ¸ØØØºººÅ‹ÿý÷ƒ ¢Ó鉉‰!!!YYY!__ßNºn ÁÌÌ,33Ó‚J¥¶±¡ïDY__ŸŸŸïääDJöœœœðUjÓ¦M7nìÝ»·X,~þüy`` Î|;5sž:u !Ô­š¬0].AAAׯ_GY[[÷ë×ïîÝ»* (ÊøñãqDH§ÓGùæÍ›+V|ûí·...t:=??ÿÚµkxÄ'NÇÛ3Óh4•ê‚@¬Òboo¯’¦ ×Z ­¡vÒq΢[É,&]óf‚zzz ƒN§ã‘”ÿÑx6B")šÐ_4Ô®™VxÉ(ccã&fñøúú&%%Õ××?~ü¸±¬í>ÿüóׯ_?þ<77wÏž=*ÏΘ1Ce˜Å´iÓrrrÂÃÃù|~@@±Ë 6vìXõŽ€NÇÄÄ„Ëåòx<¼ 7FkÝÕm‘J¥<Ë嚘˜’½ñãÇ_¹r%))éåË—óçϧÓéR©ÿ úúúþþþÅým‘˜˜øüùs„ÐþóŸ^½z‘~~]¦³åÏç«®íØ±Cc²‘#G­›x á«W¯RSS—-[F¥Ri4*™™™íÝ»·-M’]¸~€%ChOJÜ­$jlêÿ›0H¥6}Ϫ@H"CîV’O6Ód•››‹'òŒ7NãxRÌÇÇßkâÖþ¶À×Z}‡Zºt©J¿¤¹¹¹¿¿ÿæÍ›U>¯žžž¿¿@@€……Bˆ¨7étúŒ3víÚÕö]`eeUUUÅãñ¤R©L&kÅfÜ>¯£UUU­üDñ*?ƒÁ Y¾|9ž%‘H …¡¡¡——×¹sçÔWÓnÑ;âê?"¾„Óh´¯¾úªÕçï¼t¡<॥q3®¾ˆ?9Îo¿ýöÅ_àÅd2Ž«ôõõ½¼¼Îž=«Í.ÝDñP/']¸~ àåPZz‘G;õÌ °šªq¶ 6p\ÕËD¶üãúì›i²ÒMr¹QVV–mggGV“•Šººº¢¢"6›Ý¶¿Õq¢<´ÇKKK«©©quuurr"=èébõ„V´Ø£Lú…—¬ÖEWD\µ`¨pŒS3MV ©¨¨(,,´³³³²²¢ÑhÚ µÁó¿ˆö‰üüü^½z™™™}°<ƒöå¡;ƒ±V´Ø' ‹®ÍLâÑõiHã¨vä $’"w+ÉœÁ ´½ 4ÆÌÌŒJ¥ …B+++b¾Ê;Åÿàù_õõõ¸ßGGÚ') íÁ;z\>£J¨G£"= Ò£ |GªP ¹ÉH*C–|˜xœ³¤Ùù€  ¨®®®¨¨¨ªªâp8FFF†††úúúøJ)‰D"‘@ ¨­­Å ÌÌÌ q¢kƒòÐÝ@h ò+©ñÔÔZ^µT W%¤ „8,EC¹½™ÌÍR:ÈFÖôº  ëihh¨©©©«« … ‰!D§Ó™L&‹Åb³ÙÆÆÆ¤¬ :(Ý„V¤u­H¡i ´ „V¤Ð €4°;$eeeUUU555õõõ !&“i```llÌáp,,, ;:›àƒ‚R”Ayè>`ñÚ¤´´´¨¨¨¸¸ØÐÐÐÐÐÐÀÀ€Éd⽊ÅbqCCC}}½@ ={ö´¶¶îÑ£GGg´;(@”‡îB+Z©®®.;;ûýû÷VVVl6›N§ëéé›°âÍ+är¹D"©««+++ãñx¶¶¶l6»£³Ú”   ÊC÷¡­QZZš™™É`0¬­­ñ¶ Ce{å}ìÅb1Þ΢¨¨H,;99Ái×¥(ƒòÐmÁX+Z¬¨¨(==ÝÊÊÊÚÚšÅb±X,\c¯)•7´‹ÅL&“Íf%''K¥Rkkëü€\P*€2(Ý„V´LiiiFF†µµµ‹ÅÂ-ü*Õ¥2…BA£Ñ Þ“•Á`0ŒŒŒ w¥]”   ÊC7×ÝC+‘H„·ÒË—/ß¼yÃd2¿øâ |$))éÌ™3ƒ úòË/;6oMÃ#'zõêekkËf³Y,Fk¬®$àúTOOJ¥Òh4Ü# —˳³³ÙlvçQ!“ÉBT*Uû—ˆÅbŸËå2dÈ!~~~ýúõëèÜu 7oÞ 266&B«•+W¦¥¥?ÞÍÍmذa›½&äææ²Ùl{{{CCC\c¶èå …N§ã:ÔÞÞ¾¡¡!77·ÿþ-ÍÆõëד’’B«V­277oéË#‰Ž9"‘HB666_}õ•Æd999áááOŸ>-//§Ñh...nnn ,°´´Ô˜¾¶¶6<<<%%%55µººÚÎή_¿~#FŒðññ!+ç«CJů¿þ*‰´9¿ŸŸ_{\_‰B8sæL¹}öìÙ£GRRR²³³ ÜÜÜúöí;{öl.—KzftJ‡×•••›7o®­­Ý»w¯ú³ÍþpZ¦i‘#GAÓiÆŒ3räHƒK—.444ÌŸ?¿¥o¤³º]hõôéÓE‹UVVGÊËËïÞ½{÷îÝ8pàÃüº|>?((!4þ|GGÇðŽ:NO¯¬^[^^^\\DxÚvAAA×®]ÃÝÜÜ4†V‰‰‰6l¨¯¯ÇŠÅ⤤¤¤¤¤{÷îíÚµK=,~ÿþ}@@@^^q$777777222!!Áßß¿³ßªvT©øë¯¿´ ­œÉ ­ªªªöìÙóÏ?ÿà?‡ª~õ={öì©S§ þ³¶¶666666ööíÛ¿þúkß¾}IÌNÑ…Z"88¸¶¶vèСcÆŒQ>®Í§Mšfݹs§ªªªé4–––#GŽd06l8sæÌĉI¼QìXÝ+´ŠŽŽþòË/Åb1BÈÒÒò³Ï>³µµ}ÿþýëׯŸ?.‹×­[÷æÍ›}ûöµwNx<ÞÑ£GBÆ ƒÐ !êéé©ËMV<¯wïÞ¦¦¦L&³•Je2™¦¦¦½{÷æñx- ­ž={FÜDFF’Z. IDAT½yó&""¢é4ñññ7n …¡?þxذaúúúqqqOž<©ªªÚ°aÃñãÇ D¤‰DK—.­©©ÁéGÕ£GwïÞ]½zµ´´ôòåË¡€€RòßQ:ªTxyyá5'1‰D’€êÑ£‡½½½rÊž={¶%W*bccwîÜÙôÔò°°°“'O"„ŒŒŒfÍšÕ·oßšššØØØ¨¨¨²²²¯¿þ:""¢«ŽêðZ"99ùÖ­[!•[#m~8mÒhÃËË«ººZãS•••!¢‡täÈ‘NNN™™™Çß¾}{ßZGt£Ðª¦¦fýúõ8®úôÓO;¦<Êêï¿ÿ^»vmMMÍ™3gþóŸÿŒ5ªãrÚ¹»»þÙgŸ=zôè‡~ÀÍi'Nœ ^‹ãª¹sç®_¿W¦Ÿ|òÉ”)SV­Zõþýû‡~ûí·wN–Š_ýUùÏúúúqãÆ!„üüü¾ùæ›¶çDL& úý÷ß •J9räãÇ5¦¼ÿ>BÈÌÌ,88˜ˆó¦L™ââârüøq‘HôäÉ“O?ý´=2Ù±t¡–W(ƒÆG´ùá´ÿqµ±sçÎÆž:pà@FF†žžžòx€‰'fffÞ½{wíÚµfff­~_ÝÑ zaÈräÈ‘’’„››ÛÑ£GUF¯ÿç?ÿ¹té~|öìÙ6¾—D"INNNOOÇס֑ËåÅÅÅñññYYYÊ·§M(--MJJÂᣲ¢¢¢ÄÄDõãZâñx/_¾TnàU(</>>¾´´´Ù—744¤§§'%%µúÛhÅWAºÊÊJ.—Ëápð0ˆ¶Ÿ¨àp8\.W¹‡ºiµµµ111¡yóæ±X,„PdddÛ3sæÌÜg·e˖ƪ︸¸²²2„ÐäÉ“‰¸ 3fÌ’%KB /_¾$Žã¬R(”E‹)i\.wêÔ©!>ŸŸ––Ööüw)Z’J¥™™™999Zö$ª¨®®¾xñ¢B¡°²² ^°`Æd|>?==!4nÜ8•ö³¹sçâB‹ F×ÓáåA"‘àïv„ Ä( m~8-Ü6*))¹qãBÈÇǧwïÞÄñ‰'R(¹\NtDvvÝ(´º~ý:BÈÀÀ 44ÿ{«ðòò?~Q–8xûömâ ’Å`0ŒŒŒTÒ›ššâm¹ýèp:R*š·téÒqãÆ-X°`Þ¼y£G^·n§ÜR>>>çÏŸ0`@c ˆqxêÍ4ÍØØX9MÓáåáÕ«Wuuu¡>úHå©f8-Ó´Ehh¨D"ÑÓÓ[ºt©òñ=zàH B«N&)))??!4bÄ''§Æ’EGGß½{W ²ÿ‘J¥*)¥R©úS!!!³fÍzýúµX,&þµ=z4}út¢Äà*ŸŠxâH@@Àþýû•„$É7>ûì3§þÂû÷ï¯_¿>55•x‹Ó§Oûûû=ztÆ ¸­!$‹_¾|9cÆ üU4†8í¥K—¶nÝŠûÅ1¹\¾lÙ²£G*·`•––Þ¼ysÒ¤Iïß¿WùŠ–,YrñâE¢µL¡PܹsgòäÉEEE*o*‘Hd2™z»š–_BhÛ¶mãÆ}:B(++Ky Bè§Ÿ~ú÷ßBýû÷?pàÀãÇO:åççÇçó•›èšÐ¢¯ŸS&“áÿ^Ò‰Åb‹ÕÄŠ­€ÏÆb±´ì«ÍÏÏÇ- 8¨òòòÂm?mé¼ví>çúõ뉖$ˆÿ"ˆWF ÏÂ-¾ØŒ3ðØÛü1::Wš%%%»wïÆ#9¦OŸÞô›ê8](M‰DAAA2™ÌÎÎ.((èŸþ¹víZ@@®—:¤ý©ôõõýüüšMF¥Rñꤤ¤M›6 „Äbñ³gÏÖ¯_Ï£Ò¡ÜetxyÈÉÉAÙÙÙ)GHÚüpZþ¸mqæÌ©TJ¥Rñàx¢X,n¿ž‡©» cÇcDÐÿBãöðäÉ|W±gÏÜ9bgg·lÙ2©Tzç΄„h``ЧO¢=ÜÚÚZù®½¤¤äÀ!›ˆˆ<ÕÕÕÕÏÏF£………%''Ÿ;wníÚµÊomjjzùòe|žþýû÷ìÙc¥R©W¯^ÅEÖÕÕuÔ¨QC† AÅÇÇkó‰ ÂÃÃ?þøcâHeeåøñãMMM9Âd2B¶¶¶~~~Ïž=+--U?‘››‹§õìÙóÊ•+øúÚ¿ÿéÓ§Ï›7rmZK¿Š™3gQ©Ô)S¦hóéZJ&“1™LÒ\S(&“©eîk£P(¾¾¾!*•:nܸ+W®üû￵µµ­¸ÝäóùÁÁÁ¡aÆÁ}cˆÇÎß½{wÊ”)*£tñ¤$„PYY™L&Ãs£ /^¼xðàÁ¨¨¨üQOOÁ`à‹N§OŸ>}ݺu-ͳNÑ…RÑ´—/_â‘U7nÄ7W={öüüóÏ¥R)¾ó©¯¯Ç“üI´`Á›ýû÷ÇÄÄÄÄÄèëë ü}úôùî»ïÈ´¨;:¼<àñXêmB.??_56Y!¥<óùü.0k¾»´Zñù|ü ý¢‰hIe`ÖÊ•+¯_¿~ýúum&wàéÓ¡¨¬ð±wï^+++å4___åølúôéø½<==•—$±··Çjí¤Î××W9®Ây?q⎫0:þùçŸ#„RRRär9>øæÍâƒ(ÏÖÓÓ Q~ycZúUìܹóßÿo§…(ɽmÅ™ ­<==‰‰ë'ND‰ÅâÖuƒ=zT 0ŒÍ›77›ØÐЗŸøøøü‘ -‘H:D´œÉd2<+æææxv¹\N´öÛØØ <¸³/jÕᥢYÄþúõkåãsçÎ $=®B)І†b Y‘H„ã* …2|øð®W!(øJÇápÚ#mqúôi|Ç¥±É !dbb‚h¶Ûét—V+b—€¶¯ØÑ˜aÆ1™Ì†††£GFGG/\¸pÔ¨QÎÎÎ-úO#bõ%þ †‡‡ÇS­ˆI¶˜¾¾>‡Ãêëò¹¹¹%''PÓ†ÞØSB¡0''§¦¦¦ººººº:77!$—Ëår9ž–BŒõòòRy-‡ÃéÛ·¯ú§PÑŠ¯¢éÞÞ6b0"‘H› °E …H$Òfï—øøx<¼ ‡S˜‡‡‡••Ç‹ŒŒœ9s&>XRR²ÿ~'™9s&1P=...** !´hÑ"çÔíÞ½{ÕªUEEE=òññéÛ·¯žž^ZZšH$¢Óéîîî¸A”¸‹(**Z²d ^áÆÕÕÕÝÝËåfffÆÇÇçäälݺÕ××w×®]Ú¼µnêðRÑ,}}}‘HöôéÓ3f :ÔÞÞ^½^ #´ô7:vìØï¿ÿŽ222 NéØò —Ë)ŠB¡Ðµm:OŸ>-—Ë›h²BáJýogÒή»„VD´ÆµÉ2cÆŒ‰'ž9sæòå˸wŒÏçÿöÛogΜٵk—6ûBhDü¯6¬ýlß¾ïσb0½zõâp8&&&ùùùWCh¬rѲÿ«‰g?üWÁb±—Ë%½ÒÍVš"‘O @ °©ˆŒŒ\±bBÈØØ/#¢Žè8¾ténkœ?>Ñ]Žá!ƒ x2—ËU²­¬¬"""²²²^½z•””Äáp}}}Ùl6žœAôÿæææâ®çéÓ§«OÆÆÆ‡ž8q¢P(ŒŽŽîÔ¡U– -ùøøx{{GDDDEEeffÊåòÊÊʰ°°ˆˆˆõë×Ϙ1'8p ÆþÙ–f¤¤P(‡R¹¥ôõõ-(( )))yûö­z“vg×±åÉdÒh4‰DÒØJèâÝ»w<@Mœ8±‰Öqbö‹'ë²îZ >œÅb …¸¸8±XÜXPÿöí[<"aÊ”)Ê•‚úÔ •«Åb­Y³fÍš5ÕÕÕÏž= ½ÿ~]]ÝæÍ›ÇŽkkkÛt> Íãñª««ÕuñÌ,{{û™T•——‡ã*kkë///¢"þõ×_UvrwwÇDc«’6®®}l6»¶¶V.—“Ì) ¹\^[[Ûì¶ö=ƒù\\\ÔgeeÕÔÔܾ}{ùòå ¥G¿üòKÓ'$êl¬ë0''¡Û²e qõÅ(Š““““““rHTZZŠÏééé‰$''ã{– ÆàÁƒcbb222ˆaïNÇ– íéëë/X°`Á‚µµµ W¯^}öì™P("VPÍ·uëV<й£B+¢ñ ¯öKˆ}öì™Jbb=߀€å>…B±jÕ*m…kéW! /]ºôðáÃvê"d2™§¼¼\*•j9 ir¹\*•–——s8œ¦Ç½–••áørôèÑ;ðZ ¨% \­]»6´x|±þ“è[455}øðáŸþ¹sçNÜ™HHOOÇÿæææcǎʼnÔÿý·új‡ øßÍÞÞ¾“6Y¡-Z:vìØ’%K¾ùæ•ЉtÒ‡*â5™+**ÔCp‰DB¬i×&Ø«ëðò€»ãÓÓÓ;jЈŠS§N!„¨T*å›@Üo£;µnZyzz._¾?^³fͶmÛRSSñL·[·nMš4)00!Äd2¿þúkœLOOÏ6ðàÁwß}—”””‘‘ñÇÌœ9“ØôƒÐ¿ÿøøø˜˜˜… ¦¦¦Êåòúúú¿þú oTiaa1bÄ"± råJhhhff&Ž6,--q+×û÷ïgÏž}þüùwïÞÝ»wÏßßÿܹsø]Tö3ÿ`Fމ—2 9þ|aaajjjppðÌ™3Õ;LðÿRAAþ ·nÝZ¼x1ž•Ö¬–~k×®]³fͬY³þøãr>°33³üüüúúz™LÖÆšK¡PÈd²úúúüüüfÀïܹƒ«i¼R¨:ÜLxÿþ}-·‡³²²rk^‹Íf+ÿ‰¢Ñh³fÍB‰D¢-[¶Ü¼y“Ïçóùü;wî¬Y³OMZ¼x11©ÂÝÝç*55uÙ²eÄ.–|>ÿÊ•+ÄŠVsçÎÕ&Ã:«£J…–œœœRRR^¿~½iÓ¦ììl¼þÅ£Gpugff6hÐ RÞˆ@tÿôÓOçÎÃ˯K$’´´´µk×âÛ0kkkooorßWGtly6lB¨®®Ný EŠÝ»wöÙg³fÍÒ¦±9)) ÷uLž<¹W¯^M'Æ­§666Êó:¯î2Ö Û¹sgCCÃÿû_‘H„{RT8::ž={VyÙ•Ý»wÏœ9³¾¾ßÁÇçÌ™£Òp5cÆŒ3gμzõêßÿõööf0‰ÿk±X¬={ö›eâ#ãÆ»ÿ~iiéwß}‡ ùì³ÏBßÿ=Ç»xñbBB‚JÿŽMxxxûmDÐ4##£åË—WVV*ïˆB¥RgΜ©Þ¸gÏž´´´gÏž½yóF9½©©éôéÓqxÔ´}D¿áË—/ñŠí¤311ár¹</¸L£ÑZ7RU¡PH¥R©TÊãñ¸\n³íü¸-ÊØØX}_0‚¯¯oRRR}}ýãÇ‹ÀÚîóÏ?ýúõóçÏsss÷ìÙ£òìŒ3p&8pà‡~xõêUVVÖŠ+¨T*“É$Z=©TêêÕ«§M›ÖN¹ý0:ªThiüøñW®\IJJÂÿt:]*•âzI__ŸhË'ÑðáÃþùç={öˆD¢'Nœ8q‚ÅbI¥R‰D‚¸¸¸ìß¿_eÉÙ.£cËÃèÑ£ñ ûoß¾UÞÿ˜,¯_¿.**êׯŸ6?^5Z›&+©TŠ[­ˆÝu;»nÔj…¢R©ÜNAðöáK…:bII•Ÿ€Á`„„„,_¾7àû=CCC//¯sçÎ]É­@¼‘zQ™8qbHHq …8®266ž:uê©S§Zñ;‘,Ä&÷MÔMüpM§ihhÀÃŽ›¸Ç#¤§§ÇÆÆ"„¦L™‚÷^kÂóçÏq‡u— ­(º3ÞíËÈÈÈÍÍ---år¹ hö· …YYYFFF¶¶¶ÍÞçÕÖÖæåå5»á€T*ÅcÕgºÉd²ââb>ŸÏb±lllÚcÑäV++++..îÙ³§6ýâõõõ¹¹¹ ÅÞÞ¾uŸB˯B$ééé5¢ºº:??ßÁÁÁ‚F£µè®”¸-++ËÎζ³³ÓµÅý´$—Ëóòò²²²är¹µµµ‹‹K³Ké”——§¥¥UWWÛÛÛ;;;·b›N]Ö)JE]]]QQ›Ín¶º#‹X,ÎÊÊÊÍÍe±X®®®]xvX.^¼xìØ1*•zëÖ-rgÛ¥¦¦âö§'N;äï1ŠwE#½µCtßÐ €V«¨¨(,,´³³³²²¢ÑhT*µÙ½îñLâN4??¿W¯^]cš1À TeUÄbñ¼yó ¿ùær›ð###wîÜÉf³£¢¢HœzRQQ1sæL‘H´wïÞ1cÆuÚŽÕ5{»hWfffT*µ¸¸X(ZYYÐh4\oªlõ¥ø<Ó§¾¾·ðwÞö*Ð(@YG•ƒáïïðßÿþwÊ”)$FêxdÂСCÉÒ,‰¼¼¼ºL\…¢nÚ´©£ó@çÃd2ŒŒª««ñ‚ãT*•J¥âÊ/iƒï>1©TZ[[[\\œ––¦¯¯okkKâj@w@©Ê:ª<ØÙÙåææòù|===g€†‡‡¿ÿ~Μ9$îÖZZZÌf³wíÚ¥ƒ»J·tÐ&ÕÕÕxÑy###CCC}}}Ng2™,‹Íf“²$èD TePº­HÓf9è­H¡i ´ „V¤ÕØ @ (++«ªªª©©©¯¯ohh@1™Lccc‡caaahhØÑÙ”   ÊC÷‹/Ð&¥¥¥EEEÅÅņ†††††L&ïU,‹êëë@ èÙ³§µµu=::Ë ÝA©Ê ÕÓÓ£R©4 ÷Èåòììl6›Ý‰FTÈd2üA´L/‹ñXÝvJ¯#ºy©* <­hÜÜ\6›mooohhˆk̽œB¡Ðét\‡ÚÛÛ744äææöï߿ٞ9s¦¸¸Xå ƒÁpqqñððèÓ§öáŽFׯ_OJJBÍœ9S=?YYYQQQ‰‰‰)))T*ÕÝÝ}À€³fÍ211Q?•L&»uëVBBBbbbqq±ÝÀGýÉ'Ÿ4öî¯^½ºpáBFFŸÏçp8®®®ýû÷_°`A[>Ô£S¥BÙ!C&MšÔ¢Ì€¶ëØò`hh¸víZ*•ª1MlllTTBhÆ °ÐCûÐ m•——6 OŸn¬òjFÃAƒ]\\œ¥¥%—Ëmú%=z÷î]cÏZYYýöÛovvv­ÈLUUÕž={þùçüçСCU*ñ¸¸¸M›6 …BâHllllllttôÑ£G---•‹ÅâmÛ¶=~ü˜Ú;F¹ IDAT8’—————wóæÍÕ«W/\¸PåÝ ž}û®_¿®œŸ/^¼xñâÁƒû÷ïo݇út¶T „¨T*„V˜.”ccã%K–hL“™™ù×_!„V¬X¡UûÐ mñx¼Þ½{›šš2™ÌVט•Je2™¦¦¦½{÷æñxÍVš˜ÁÀ‰?+**òòòx<ÞÊ•+9âââÒ¢lÄÆÆîܹ³‰i±±±b±X__Ê”)=JLLÌÍÍ]¶lYDD“É$Òûí·qqq!ww÷Ñ£G[ZZ&%%ݺuK(Òéô¹sç*Ÿÿرc8®244üôÓOù|þÇß¾}›››»råÊëׯëxa‡— ‹åîî®ñ)‡¶ä´B‡—„Й3g>þøc77·¶¼;h ­ÐŠ@ àóùÆ kE ¿F4ÅbY[[ÇÅÅ mî >¬|¤®®îøñã×®]«¨¨8~üøo¿ý¦å»Ëd²   ßÿ]¡PP©Ô‘#G*75®]»†§,:thðàÁøàœ9s~øá‡G•••½|ùräÈ‘øxvv6Ž«FýË/¿àoi„ cǎݰaƒH$º}û¶rh•——޲±± 177'Îÿ믿^¿~½¢¢âÁƒ~~~Z~¨OJ…““Ó±cÇÚþÖ ít¡< „d2ÙŽ;ÂÂÂôõõ۞Р°‡ Z©¬¬är¹ƒhû ñˆ ‡Ãår+++[w6›½iÓ¦ „Þ¼y#‘H´|auuõÅ‹ …••Uppð‚ ÔÓÈåò—/_"„|}}‰¸ !D¥RW®\‰?{öŒ8þâÅ ü`ãÆÊוAƒy{{#„222***ˆãgÏž•Éd¡={öq>ÿªU«¸\®‘‘Ñ¿ÿþ«å'êºY*š& srrÒÒÒ*** ‰‰î”‡¼¼<ío´r¹¼¬¬,%%%??_$ió¡P˜ššÚlÞd2YIIIrrrQQþ¯ïÚ Õ ­SSS²jL ×›¦¦¦ÕÕÕm9‰··wbb¢H$JMMÅa––|||6oÞlddôöí[õgËÊÊLMMMMM‡®ò”½½=N—H$EEEÄÁŠŠ ;;;sss•X!ggçèèh…BQ\\lff†’Ëå8,1b„z?¦‰‰ ¢ãt¶Th”’’ròäÉ/^AR¯^½æÎ;kÖ¬6&˜.”ww÷úúúììì+W®x{{«ÿój$“ÉBCC¯]»Æçóñ6zôè•+WÚÚÚÉ*++§L™‚:tèP]]Ýï¿ÿžššŠC% ‹õë×ûøø¨ŸùÌ™3×®]#Â/CCÃiÓ¦­ZµŠN§k“·ÎB+´" mmm‰5”IçZóx¼¶œ‡¨¡ð†¯Ú`³Ù;vìhº¯ÍÒÒòÏ?ÿÔøTYYn!SͳzõêÕ«WkL#0 …Ò§O|äÝ»w555¡#Fà#¥¥¥999l6ÛÍÍ­ƒT>].*²²²Ö­['”M ó Ç#„âââÂÃÕ›ÉËÊÊ~üñǺººéÓ§7}f@ðûï¿óùüŸþY›OÔAh€VÄb1‹ÅjbÅ¿VÀgc±Xb±¸-çIHHÀzõê¥åKôõõÛ2†),, ?2dH³‰y<Þ;wBnnnÄz yyyø‡‡GllìáÇsrrðƒAƒ-\¸ÐÓÓ³Õ9ü0t¹T(+))Ù°aƒ@  R©sæÌ>|¸©©éË—/¯\¹RPPÌårÿóŸÿ´"1P¦#åÁÙÙù믿>~üxyyù¾}ûöìÙÓtú“'OâèÇÕÕuÆŒžžž?þ믿x<ž¿¿ÿ‰'TÖºpႉ‰ÉÊ•+ñ?éíÛ·/^¼(“ÉNœ8áççGŒñ:wî>óСCçÌ™ãââòîÝ»?þøãÕ«WwïÞµ±±Y¾|yK¿NB+´"“ɘL&‰5&F¡P˜Lf«(Š«W¯>zô!Ô·o_íC«¶ˆ‹‹»zõ*BÈËË‹hsjŒL&ûå—_D"…BÙ°aqœèÝHLL>þâÅ‹êÛ! „pØ„×:QÖÁÁ!&&¦°°°¶¶V9JûBH=ò#B+ÿÆrØôv„Vh…Åb .—Kz¥)´¬4ƒƒƒ‰?wïÞý×_544üý÷ߟþ¹rÊjœd׊Ú …7nÄ#ÍW¯^ÝÄÐ ,::÷]öêÕëðáÃê!Z 4Hã ðèÑ£ÔÔT‘H¤³+êB© Ñh/ŠÊ'lÑ»kŸ¨Ð…ò bÓ¦M eee'OžÔ¸CÓ¿8ñ)ZQ0ðKôôôTº•i¿Ä|ç¡Za³Ùµµµr¹œÄkB¡Ëåµµµ­ÛÖ~ÅŠ÷î݉D§OŸöóóS^©yÞ¼yde!$‘H6oÞœœœŒZ¶l™Æ{_eÏŸ?ß±c‡\.·´´ T^”`mmà6’ÆH¥R¹\ÞÚŒ·;,ꜜœh4šT*%æ`*ËÎÎÆ™Ç׿%*t°<mÛ¶mýúõ‰dûöí'NTIàææöôéÓòòr•v) ÷[[[·ô­]]]Ÿ>}J¥Rƒƒƒuöî¨À´bbbRUUUWWGV½‰k̺ººªª*mžQ×£GÙ³g#„ªªªÎ;×ö,i$—Ë·oߎç -\¸P½óNERRÒæÍ›¥R)—Ë ll𬙙ª• þ}* ÜhbbÒê–¶@K…:ƒáèèˆÂÁ± â îknQb B7˃——ל9sBÙÙÙ.\Py–ø)Õq‰D’žžŽZûsãø["‘h,K]„Vh…Édr8œòòr²ÚQär¹T*-//çp8­÷úå—_â»É?ÿü³¸¸¸í¹R·ÿþ „fÏžÝØŠ „ììl‘HdffhccÓXJ …²xñb„PUU•r/'‚§ê&Ý,êð¥1))é÷ßW>žŸŸ¿|‹eooߊÄ@™Î–‡o¾ùO;¨­­UyŠ›öîÝ«²àûáÇñÞí­k¤$^uôèQbÜ:†·;wîóçÏ[qfÝ‚hËÌÌ,33Ó‚J¥¶qÁe…B!“ÉêëëóóóÛ2ÎÈÈhÑ¢EÇŽ‹ÅÁÁÁ;wîlõ©4 º~ý:BÈÚÚº_¿~wïÞUI@¡PÆÇu­[·×ÝS¦LIKKSŸXäàààììŒO˜0áÌ™3aaaõõõS§NurrÊÌÌü믿"""ð§k¶ó±Ãé`©P·xñ☘˜²²²ÀÀÀŠŠŠ?þØÄÄäõë×þù'žÏ@LkQb B7˃Áعs'^¢]å)ssóÅ‹‡††òx¼ 6K†þóÏ?xz¯““Ó§Ÿ~ÚŠ7µ´´üòË/ÃÂÂÒÓÓýýýçÎëááQ\\üòåËS§NÉd2›¡C‡¶åsé,­Ð–‰‰ —ËåñxxÁeÖºzS¡PH¥R©TÊãñ¸\nû}fÍšõ矖””Ü»woöìÙê“¢[Ïç«®íØ±Cc²‘#GâQêaaaø)-×®bþüùDhE¥R÷ìÙ³iÓ&wùòe•u%Œ;Ö»wo>I{ÒÍR¡ÂÒÒòÈ‘#_ýµ@ ¸pá‚J¯ÐÊ•+•WWoQb Bg˃³³óŠ+ÕŸúúë¯ËËËoݺ•ššJLëÃpahõ°¿U«Vñx¼¨¨¨„„bÓÌÈÈhÓ¦M*‡» ¸ó ¬¬¬ªªªx<žT*•Éd­›5#“ÉpYUUÕØP$¸‘@ã¤?ƒñõ×_ã3Ÿ>}º¥ùÁˆÚ¿¥›÷á ÎTNÒ•Ö—sçÎ1Bå}ûöíèêêÚ¢Ìt,ê9âåå¥ü3õìÙsãÆ_}õU[:[¾øâ bB®J²-[¶,Y²oN$;vì±cÇ”'ñÿ¿ê¡P(?þøã‚ ”È?þ?þðòòÒæsuFâ. êêêüü| Ö¢»RâN´¬¬,;;ÛÎÎŽÜÆ‰ÎK$¥¥¥°Ùl{{ûN·e'*uuuøªonnnnnÞt>[”:QyP&“ÉÊËË+++™L¦••‰£ýd2YIIIMM —Ëíª .(ƒÐ €«¨¨(,,´³³³²²¢ÑhÚ ªÀ3}ˆ;Ñüüü^½z)ß#‚ÎJPå¡;ëšÝœ´+333*•Z\\, ­¬¬ h4®7U¶úRüžéS__[ø¡½ªëR”AyèÎ Õ €V‰D<¯¼¼ÜÎÎŽËå²Ùl•zS¹Æ¬««+//ÏÏÏçr¹VVVÝm½îJPå¡{‚Ð €6©®®®¨¨¨ªªâp8FFF†††úúú¸N‰D"‘H ÔÖÖâfffpÚ@©Ê —ŒŒŒV¿ÆZB+Ò@h@­H¡i ´ ,¾@»H$™™™![[[CCCRÎ)“ɈùÀööö“åääÄÅŽ{÷ÎÙÙÙÃÃÃÕÕUOOõ&JùTêÌÍÍ{ôèAJž »Ð €vqç΄ЪU«¾ýö[RÎrèÐ!üøÄ‰>>>* ’““W®\Y\\¬|ð“O>9zô(‡ÃQ>XXX8uêÔÆÞhÞ¼y»ví"%ÏÐÝ@‡ íâêÕ«øÁõë× EÛO˜‘‘qìØ±&¼}ûöË/¿Äq•““Ó”)SìììB111Ó§OW‰·JJJðš&t:½í€î Z­ _iiéÓ§OñãâââçÏŸüñÇm9¡L&Û²e‹D"quuMOOWO —Ë—.]Z]]Íb±N:5|øp|üöíÛ6l(,,<~üø/¿üB¤/++C¹¹¹Ýºu«- Z­ ßÍ›7e2YÏž=GމºvíZO–˜˜H£ÑöíÛ§1AJJJEEBhß¾}D\…š4iÒæÍ›BW®\)(( ŽãV+ ‹6f € ­ î œ2eÊôéÓBwîÜ …­>[AAbµråJ777i^¼x¢ÓéãÆSyÊÏÏ!$•JoܸA,--EÁXu „V,%%O¾›6mÚ„ ôõõëëëïÞ½Ûênß¾](:::~óÍ7¥ÉÎÎFYXX0™L•§zö쩯¯zÿþ=q‡V\.!T]]÷ìÙ3‘HÔêLÀ ´€d¸ûÏÑÑÑÍÍÍf;µ¡Oðï¿ÿ~üø1…Bùå—_ FcÉ €***âóù*O¥§§ã˜I=´¢R©Ë–-2dȼyó.\8xð௾úª°°°uY€ ´€\2™ìæÍ›!biƒiÓ¦!„ž={ÆãñZz6@€ÇžÏ™3gèСM¤6l~pâÄ åãr¹üäÉ“ø±rÌ„C«ÀÀÀG±X,&‰žsæÌÙ³gãƒK—.­¬¬}:""âÖ­[?üðFc±X}úôiâTDˆööíÛ·oߪ'xóæÍ›7o„B!­ª««sssBnnn ƒÃáÝqqqø)b)Ñôôt¼EàÞ½{mll”OûîÝ;Ü¢æîîÞ²!¡dÉÍÍGÍœ9ÓÑÑQåÙ9sæDDDTUU=|øÐ××·Ù³õîÝ[¹±Š •JB“'Ovvv&Ⳃ‚‚Ï>û !´téR<“Éd8½¡¡¡··7>hooò˗/oذAùüxÌ»¾¾¾‡‡‡¶Ÿ€­ žH§Óñêç*<==mmmß¿íÚ5mB«^½z­]»Vý¸X,ơҴiÓ|||ˆãýû÷ÿè£^¼xÚ»wïÉ“'›˜˜”••mß¾ýÉ“'¡¥K—c­˜LæØ±c###ƒƒƒ9ÎÂ… ©TªP(¼xñâ©S§BÞÞÞ°C3´ c€ …‡V£Gnl6^éêáÇUUU푇M›6™ššÊåòmÛ¶yyy5êã?ŽŠŠBy{{+ɉe2ÙîÝ»8yòäÁƒïÝ»!4hÐ b–"€–‚Ð $&&â͉å¬Ôá§$‰ÆìZ¢P(xdºžžê?ïÀoÞ¼9lØ0 …"“ÉŠŠŠB,kùòåÁÁÁ*+¹ÛØØDDDøøø0Œ†††ŒŒ ‰DbllŸoiiéââÒôšX‰$555//ÏÉÉÉÕÕU=b€n(##ÃËË«u¯…±Vt5†††ÄdÀfÑéôà%!´Ü¡B+Ò@h@­ðÙ»Ïø*ª5ÞãÏNOè z@J)”Ai¡H“fŽŠˆPDP‘Þ{?€ ÒK%•.Á ˜Ð;„’ºÛ}1÷î»ÏN)‘ß÷ÅùLÖ<³fM>ù3³f TC´P Ñ @5D+Õ°®+Y¿¸ ø§:wî\¾å®€jˆVª!Z¨†h ¢€jˆVªañ Pdffþõ×_"R³fÍ’%KªÒ§N§;}ú´²]«V­âÅ‹g[vîܹ£Gþõ×_õë×÷öönذ¡•UöÿˆzøðaTTTddä£G<==½½½kÔ¨¡ÊPà•E´ ÅŽ;Ddܸq3gÎT¥Ï¹sçN˜0AÙîÞ½»EALLL=®_¿nÞØ®]»üÑÙÙÙ¢xõêÕ#FŒÐétæ½{÷Þ°aƒ“““*€WB±aÃecÓ¦MF£±àž>}zÚ´i9DEEµk×NÉUõë×ïß¿¿²Ìéþýû===-òÖäÉ“?ùäNçââÒ·oß!C†4jÔHD~þùçV­Z¥§§|Àðj"Zê»}ûöþýû•íëׯ:t¨€êõú?ü033³aÆÙ †Î;?|øÐÉÉéàÁƒgΜ ¼páÂöíÛ­­­¯^½:}útS±N§[ºt©ˆ´jÕ*!!aÛ¶mß}÷Ý©S§¦N*"111‡.à€à•E´Ô·e˽^_¥J•öíÛ‹ÈÆ Øá²eË"##mmm×­[—mAllì½{÷Ddݺuo¾ù¦©½OŸ>óæÍ‘õë×_¹rEiûlöìÙgΜ¹~ýzPPPóæÍµZmÅŠÛµk—¿ÑˆV€št:ÝÖ­[EäÝwßUZ”%>>ÊšR"booÿÎ;ïÈ? vÊÎ|`ª‰]¹r¥ˆ,\¸°téÒÏ=õ¾}û7n,"+W®ôôôtttôõõݾ}»««ë¿þõ/)[¶¬RyéÒ¥Î;;v¬téÒK–, OHHزeKÓ¦MüÃ?¨õ €W Ñ PÍÇCBBD$""ÂÅŒª"##•Êg-"jj7Æ Óëõ~~~ ÈÍÙË”)óûï¿5ê7ÞÐh4"R¬X±?ü0:::--MÌ¢ÕèÑ£Üü ÷øÐ  šíÛ·›–-È:\D6nܨÌ7÷÷÷WÞé³`º;uìØ±ððpIIIéß¿¿©À`0(³gÏÞ¼y³——××_mÚëìì¼hÑ"INN~úôiÕªU•Œ+" 4PÊÂÂÂDäwÞ©]»¶ùÙíííGµ{÷îÌĮ̀¨(Óü-@î­Õ(O[µjµzõj‹] ,X»vm``à¢E‹lmmœœ^ýõº2E´¨¨(eA 'Nœ8qâDJJŠ­>|xîÜ9ñðð°··wvv6}4ðèÑ£çÏŸe)Ñ´´´ˆH… ²vkj¼yófî/`B´Ôqþüù?ÿüSD T¯^=‹½C† Y»vmrròž={r³jTíÚµ•ÏÎXÐjµ3fÌ‘¾}ûº»»›òÙåË—›5k&"£G^°`©^§Ó)‡.Y²dÇŽED™ƒuôèÑ &XYý׬€]»v‰ˆF£1_Ò{D+@›6m;;;eõs Íš5«Y³æ¥K—6nܘ›hU­ZµI“&emÏÈÈP¢U@@@÷îÝMíMš4iÓ¦ÍáÇ/^\»ví¾}û–)S&))iذa¿ýö›ˆŒ=ÚôM›nݺ=z4**ª[·n7nTæ`étºÿüç?'NŸlïiž‹iì€ ŒF£­:uêô¬·ù”•®öìÙ“œœ\c˜;wn¹rå Ã'Ÿ|òÚk¯U«V­bÅŠÊzë;v4Ÿ’õÉ'ŸôéÓGL¹råêÖ­Û¸qã%J|ñÅz½¾fÍšßÿ}aŒ^D+@Ê‚œ¦å¬²RveffçûDF™™nñ OD|||bbbZ·n­Ñhôzýµk×D¤X±b_~ùåÎ;ÍW-V¬ØöíÛgÍšU©R%£ÑxöìÙ“'O¦§§+V¬gÏž‘‘‘ 6Ì÷à§¹ÿ~Qx©EDDøøø˜f…¿ü?~}÷î]WW× ä¼&VRR’²:ƒ»»{:u²&6x…††*ë0çs­€š’%Kæ~z… ºtéR¨ã€W ÿBP Ñ @5D+Õ­TC´P Ñ @5D+Õ­TC´P Ñ @5D+Õ­TC´P Ñ @56E=àŸ#>>^¯×›·XYYÕªUËÉÉ©€='&&¦§§—-[¶jÕªY÷Þ»wïøñãááá¥K—öõõõöö¶··Ï¶½^êÔ©°°°«W¯zzzúúúfÛ¡âöíÛ{÷î=þ¼­­mãÆ½¼¼r((ˆV€jš4i¢Óé,mll5jÔ±cÇiÓ¦ÙØäùO\JJÊçŸþÃ?ˆH¯^½vìØa¾W¯×:tÍš5æeË– iÑ¢…EW‘‘‘]ºt¹wïžyã{ï½·víZ[[[óF£Ñ8qâÄ… ¦§§›·ùå—³g϶¶¶ÎëUÀ«ƒh¨ÌÊÊÊtÓ(##C§ÓÅÄÄÄÄÄœ>}zûöí¹ï*::: àܹsÙîÍÌÌìß¿ÿÎ;E¤N:ÞÞÞ×®] ðàA»vívíÚÕ¾}{Sñ¡C‡ºuëöôéÓbÅŠµhÑ¢\¹raaa×®]Û¼yó½{÷öìÙc˜FŒ±råJeÛÓÓ³Zµjááá·nÝš?þ… ‚‚‚òú;€Ws­•­\¹2õÿIKK;uêT=D$$$dòäɹìÄh4Ο?¿yóæçÎ+Y²d¥J•²Öüúë¯J®š­^½úéÓ§ûí·­[·^¼x±OŸ>J?¦Êƒ*¹ª}ûöW®\‰ŠŠÚ±cÇùóçß}÷]Ù¹sg|||>5ð Z…ÈÎήQ£F;vìhÞ¼¹ˆìß¿?—ÆÆÆ~õÕWZ­¶iÓ¦'OžôððÈZ£ôæíí=eÊS£¯¯ï§Ÿ~*"GMKKS“““cccEdÅŠÕ«WWmllÖ­[§<£Ü·oŸ©‡‰'ŠH©R¥Ö­[W­Z5¥ÑÉÉiåÊ•%K–‘uëÖåþ7¯¢P謬¬úõë'"'Ož|ôèQî7nܱcÇjÔ¨‘mARR’››[÷îÝ-Ú7n,"éééW¯^UZkÖ¬Y«V­–-[šW+Vìõ×_‘³gÏ*-wïÞýóÏ?EdΜ9®®®æÅ¥K—~ðàV«µ¸0Ç\+àE°³³ƒÁžž^ªT©çÖ»ºº8p M›69ÔlÛ¶-Ûö+W®(gtssSZ|}}/\¸µR§ÓݸqCDêÕ«§´~üøþýûýõ×ûï¿o0 û*àÑ PÙĉ/^¬l§¥¥Ý¸qÃ`0ˆˆ¿¿¿ù‚™™™ë‹*ó}êqãÆýøã"2sæÌºuëæPyõêÕ®]»¦¦¦V¯^Ý|îÔÇEäÊ•+W®\éܹó÷ß_©R%£ÑݳgÏ7n <¸~ýú>>>ù$ü³­•Ý»wÏbYNY¼xñÈ‘#5©ÅÛÛ;...ëá.\0͑ʓåË—Ï™3GD†þå—_æPyÿþ}ÿ¤¤¤²eËîÛ·¯|ùò¦]ÎÎÎÊF‹-vîÜ©LÓh4^^^ðððHKKÛ·oÑ ž…h¨ìã?îÒ¥‹²½~ýú;wj4šÖ­[›ç*Qf‹gõ¬öœmݺõ³Ï>‘ž={.[¶,‡Ê'OžtêÔ)11ÑÑÑ1$$¤N:æ{MK3¼ûî»J®2yýõ×›6mzøðá#GŽäc„ðŠ Z*kÒ¤I·nÝ”mOOÏ}ûö¥¥¥=úСCæe{öì1­;eîYK-ä`ïÞ½ï¿ÿ¾Ñhlß¾}`` •Õ3UÉÈÈèÑ£GTT”]PPPÖá˜ÎnzgМ»»ûáÇó:Bxu­€Bäêê:räÈ9sæ>|ø—_~1E.©R¥Š*§ ëÝ»·V«õóó ~Ö‡™ED¯×¿ûî»´±±Ù¾}»é­@s¦Z111mÛ¶µØ«¬;êåå¥ÊÈà‰%CÂ5vìXeÓW_}•õãÍ×µk×´´´æÍ›ïÞ½ÛÉÉ)‡â?þxçÎÖÖÖ[¶lɺШ¢V­Z]»v‘M›6)ë2˜DGGGFFŠHΫmÀ+Žh®R¥J7NDΞ=»zõj{¾xñbÇŽÿþûo—yóæ]¾|9þ¿)+)(¾úꫵk׊È_|Q¯^=‹Ê„„S¥²"C|||—.].^¼("z½þÀ:tÐjµ;wVñ*àFsÿþý¢ðR‹ˆˆðññ1½:—[[[N·jÕª¡C‡š·gddÔ©SçêÕ«åÊ•»páBnVc·Ð¥K—½{÷öêÕkÇŽ¦Fe%Òg™={öرcE$<<\ùˆá³ØÛÛ§§§›~œ2eÊ´iÓ” õ*THKKS¾ÏãèèøË/¿( µÀ?Xhhh¾_…æ® eþxÖYäöööÓ§O‘û÷ï/]ºT­ž333ssTž*S¦L R–ƒOJJzôè‘­­móæÍ÷îÝK®€œq× xŽÜßµúç¹|ùò©S§J”(Ѽyóœ'rÀ?IAîZñ† €gªQ£F>ƒ€WTC´P Ñ @5D+Õ­TC´P Ñ @5D+Õ­TC´P Ñ @5D+Õ­TC´PMQø‡ˆ‹‹3 Ï-«S§Ž£££éG½^öìÙ˜˜˜¸¸¸2eÊxyyyzz–-[¶ #ILLLOO/[¶lÕªU•–{÷îݼy3‡Clll4hP“D+@iiio¼ñFn*>ìçç§lÇÅÅõèÑãòåËæfâĉS¦LÑh4yFJJÊçŸþÃ?ˆH¯^½vìØ¡´¯X±bêÔ©9èàà–––×Ó²"Z*Ðh4666F£ÑÔ¢×ë• kkkóJÓ»wïîׯ_jjªF£©]»výúõ“““O:õøñãiÓ¦EGGïÚµËâØœEGGœ;w.ë.[[[;;»lÊÌÌÌý)ÏÅ\+@Z­Vgæßÿþ·ˆxzzêþ[Ë–-•C¦OŸžššêììzöìÙ;w=zôÊ•+½zõ‘={öÈßy„YVPˆV@ÑkРÁÈ‘#÷îÝ{ûöí¡C‡ŠˆÁ`øâ‹/”½Ïz>˜¿ç†:NIT:ujÚ´i~‡ Èo/ggçU«VÝ»w/((èÔ©S:ÎÆÆÆßßÿìÙ³Y‹K—.SlÚ´éüùóÂ,+(D+ L™2%&&¦N:óçÏϺ·I“&AAAF£Q«ÕÚØØ899½þú몜W«ÕNŸ>]D:wîìãã£JŸs<Š@ñâÅCBB,XpòäI‹]ƒa×®]"Ò²eKGGGuÏ»víZåkÐܲ€BB´Š@@@€•••ˆ´iÓfÍš5Ož<£Ñ˜˜˜Ø®];å8;wV÷¤3gΑ®]»z{{«Û9@A´Š@¥J•V¯^mooÿèÑ£>ú¨dÉ’UªT)UªT½zõ:$"ýû÷6l˜º'ýþûï¯_¿.ܲ€ÂD´ …rSJùßl}ôÑGaaa7¶¶¶‘7n(÷®*W®>>ÎÎÎ…ÔZZZ|||bb¢«««‡‡GáK¡¡¡ù~ׇ7"æèèèããÃûzðÏÀAÕ­TC´P Ñ @5D+Õ­TC´P Ñ @5D+Õ­TC´P Ñ @5D+Õ­TcSÔþ!âââ ÃsËêÔ©ãèèhúQ¯×Ÿ={6&&&..®L™2^^^žžžeË–-ÈHÓÓÓË–-[µjÕ¬{>|ùèÑ#OOOooï5jätsD+@iiio¼ñFn*>ìçç§lÇÅÅõèÑãòåËæfâĉS¦LÑh4yFJJÊçŸþÃ?ˆH¯^½vìØaQ°zõê#Fèt:óÆÞ½{oذÁÉÉ)¯§dE´T ÑhlllŒF£©E¯×+ÖÖÖæ•¦wïÞݯ_¿ÔÔTFS»víúõë'''Ÿ:uêñãÇÓ¦M‹ŽŽÞµk—ű9‹ŽŽ8wîܳ &OžÈý¹.]ºÔ¹sçcÇŽ•.]zÉ’%ááá [¶liÚ´ibbâàÁƒ•…FD´Š^ƒ F޹wïÞÛ·o:TD Ã_|¡ì}ÖóÁ<=7=zôƒÊ—/1räȦM›Ö­[7 àÈ‘#]»v‘áǧ¦¦øRàUÇâ ÀKÄÙÙyÕªU÷îÝ :uê”N§³±±ñ÷÷?{ölÖâÒ¥Kç¾ç°°0yçwj×®mÞnoo?jԨݻwgffFEEµnݺ€—¯8¢P¦L™S§NùóçgÝÛ¤I“   £Ñ¨Õjmllœœœ^ýõ‚œ.--íÁƒ"R¡B…¬{M7oÞ,ÈYÂA H/^<$$dÁ‚'Ož´Øe0víÚ%"-[¶tttTåtŽŽŽ¾¾¾"b0,ö*§Óh4o¾ù¦*§€WÑ (VVV"Ò¦M›5kÖú¨dÉ’UªT)UªT½zõ:$"ýû÷6l˜Šgüä“Oúôé#"{öì)W®\ݺu7n\¢D‰/¾øB¯×׬Yóûï¿WñtðÊ"Z…B¹)¥üo¶>ú裰°°Æ[[[‹È7”{W•+Wž7o^`` “““Ч.V¬ØöíÛgÍšU©R%£ÑxöìÙ“'O¦§§+V¬gÏž‘‘‘ 6Ìßéæ4÷ïß/ê1/µˆˆggçBê?--->>>11ÑÕÕÕÃãðNd’””––æîî^§Nò¼šBCC}||òw,oEÌÑÑÑÇÇ'߆ó¡B… ]ºtya§€W ÿZP Ñ @5D+Õ­TC´P Ñ @5D+Õ­TC´P Ñ @5D+Õ­TC´P Ñ @56E=àŸ#>>^¯×?ko… *T¨ð"ÇxñˆV€jš4i¢Óéžµ÷óÏ?_¼xñ‹àÅ#Zê³¶¶ÎÚhcÃ7øçã¿õêÈÈȰ··/êQ¼t6mÚ”™™ééééáá¡´œ>}zÍš574hPÑŽ­ð¬ZµjèСE= @Ñ ZåßÓ§O7oÞtõêÕäääråÊyzzzzzúûûׯ_¿¨G÷R;vlFFÆ_|aŠVŸ|òIbbâ¦M›êÕ«çíí]´Ã{Iܾ}ÛÅÅÅÊêùï”ä¾PTøot>?~¼qãÆ&Lˆ‰‰INN‘û÷ïÿú믳fÍj×®ÝÖ­[_Ì0’““§OŸ>}úô‹/¾˜3PcAPPÐôéÓ×®]«ÖxŠÐO?ý4pàÀÊ•+WªT©\¹r={ö\¾|y¶³às_ (rܵÊýû÷4(33SD\\\Þyç*Uª\¿~=&&&<<<33ó³Ï>;uêÔܹs {$IIIK—.ooo77·Â>]Á­\¹rݺuù»eµk×®={ö4lØðÃ?T}l/Ò·ß~;lØ0Ó> >sæÌ·ß~›¿JÀË€»Vyöøñã‘#G*¹ªW¯^111Ó¦M2dÈ´iÓvïÞ½aÆ’%KŠÈš5kŽ=ZÔƒ}é4hÐ`áÂ…,ê¥ààà#FˆˆŸŸ_HHHrròáÇDdÕªU3gÎÌG%à%Á]«<[²dÉ;wD¤^½zK—.µ˜½Þ¥K—×^{­sçÎ"²víÚÖ­[ä\Z­öܹs666U«VuttÌ_'ƒáÎ;III%K–tuuuppxî!wïÞ½{÷î믿ngggÞ~ëÖ­û÷ï×­[×¢]-ª\o‘Û³gòŒØ\éÒ¥M7ŸfÏžm0ÜÜÜ‚ƒƒK—.-"~~~-[¶¼{÷îþýûgÏžýÍ7ß(ONs_ xIðå< ''§uëÖeû׿OÛ¶mE$44ôöíÛ"ëââââârüøq‹âøøxe—Å-®£GvèСZµj~~~¾¾¾UªTéÝ»wdd¤©àÇtqqñóóS~|ï½÷”~”á)t:ݼyó4hаaÃöíÛ7mÚ´Fƒ¾té’ù¹’““•c:ôã?¶jÕª~ýúmÚ´©ZµêرcÓÒÒŒFãæÍ›ÝÝÝ5jôÖ[oU¯^ÝßßÿÂ… ùøí͘1ÃÅÅ¥N:íϽ^OOO—={ö˜ÿÒZ¶li*xòäÉŸþù2Ì@ ŸÅ¬Y³”½Z­6..ND&Nœ¨¤%…µµõ¼yóD$%%%111O•€—w­òæôéÓ×®]‘-ZÔªUëYe+W®¼~ýºˆ”-[VDôz½òW~Öõ$u:]Ö]«W¯ž4i’Ò®ÑhŒF£ˆ>|øøñã?þø£r'Ìt ‰ò£yã˜1c6oÞl^£ÕjwíÚjZÜ4¼|ÿý÷¦t:Ý?üð÷ß×­[wÆŒ¦N233£¢¢zôè±wïÞªU«ææ÷f>½^¯}êããS´¹ê¹L/r^»v­aÆ滴Z­òY©É}%àåÁ\«¼1MOÎúÄG-¦´d11ë“O>QÞº/^¼øs;9yò¤²±`Á‹ûgsæÌQîl™jLÚ·ooYºwﮜËÃÃCÉUŠjÕª)?ª²˜–*×[¡B…Ó§OïÛ·o÷îÝR¡jÔ¨‘­­­ˆÄÇÇ[ì:{ö¬V«//¯äœûJÀK‚h•7+VT6 /Z‰H=¢££§L™Ò Aå6Lrrò²eËš4i²qãÆÜôó]STÊÇÍ¡ÂPðëýß2hÐ åË]»vùøøØØØÔ¯_Ù²e"Ò¯_?ea…¼V^D«¼iÖ¬™²–Udd¤Å æâãã7lذaËû.YyÖGGÇ#F>|øüùó›7oVÊJIIùú믕erÖ¸qcIJJzôèQÖ½ "R­Zµ2eÊ<·«£€×û’PranJŽ?~ÅŠ:t(V¬˜Ñh´µµmѢŤI“6nÜhq0÷•€—Ñ*oÞzë-¹zõê¤I“²­ÑétüñèÑ£§Nª|6uêÔl—¹Ï}% È­òlÔ¨QÊm‰~øaçÎ{u:ÝôéÓ•å¯ ¤¼Ýææææää$"!!!æÅwîÜÙ¶m›E“'Onß¾}÷îÝŸ>}jÞnzwÏü?Óß¯æ —‹Yl3f̃Ìw7.))I^šh•ë=þ¼Å,19sæÌÚµkM«cü¯°µµuww7½¡J% ­òÌÃÃÃt[bĈ'NLHHHKK»|ùrHHH§NV¬X!"¦u#­¬¬”7¹<øå—_ž>}úܹs={ö¼zõªEÿîîî±±±aaaLHH0 ©©©»wïž6mšˆ¼öÚk-Z´0W®\Yy*´cÇŽuëÖ]¸pAY¿ÛÅÅE¹ësýúõ¾}ûnÚ´éüùó¿ÿþû¨Q£Ö¯_¯œåý÷ß/Ô_T.åõzED¯×ùå—þùç­[·”ö³gÏúùù}õÕW;vTå½Eò‡×‹òcÚ´iééé6lÈÈÈøöÛo¿ýö[‹77·µkך漋Ȍ3zö왚šºnݺuëÖ™ÚûõëgqãªGkÖ¬‰ŽŽþã?Zµjegg§Õj•ùæŽŽŽ³fÍ2ŸÊãèèøÖ[o8pàîÝ»_~ù¥ˆ¬^½úwÞ‘o¾ù&))iË–-'Ož´Xg¡råÊÛ¶m³Xн¨äéz»té²|ùr£Ñ¸sçÎ;wÖ¬Y3""BD¢££•‚k׮ݽ{×´$=/w­òÃÚÚzáÂ…«V­jРÅ.ggç÷Þ{ïàÁƒ yzznذÁÃÃÃô¶|‰%&Mš4~üxSŸÊ†Ýž={¾þúkeýñÌÌL£ÑX²dÉ6mÚìß¿¿gÏžg\¶lÙ'Ÿ|bZdÁ|jóÂ… ÇŒcúzˆØØØ¼ýöÛ;vì0¦S›6,ve—­´g­nYÖ–<]¯——×Úµk›5kfq±]»v­W¯žF£0`¹ P„4…·ôå+âܹsW®\¹{÷n¹rå5jôܯ¬¤¥¥]¼x±D‰UªTyî«dOž<¹zõj‰%ªU«–s¥N§KII1 Y_úÓëõ·oßNNNvtt¬\¹²2ëëå”ûëMIIÉÈÈ(^¼¸ùlnå“8ª*""ÂÇÇ'ß…üÏ õññÉß±D+à9ˆVðª)H´â €jˆVª!Z¨†h ¢€jˆVª!Z¨†h ¢€jø<3 ¾G]¾|YDêׯoþ)Ž{÷Ž?^ºti___ooo{{ûlû1 gÏžˆˆˆ‹‹«ZµjóæÍ=<<²vhA§Ó>}ZÙ®U«–ÅÇôz}||ü³Ž-_¾üs?ÖÈÑ PÙ¡C‡xóæM‰‹‹kذ¡i—^¯:tèš5kÌëË–-Ò¢E ‹~._¾Ü¥K—„„‹â={ö˜>P­¹sçN˜0AÙîÞ½»ùÞ+W®4nÜøYÇ:tÕªU9] G<T£ÕjÇŽÛ®];%WYÈÌÌìÓ§’«êÔ©óÞ{ïµnÝÚÎÎîÁƒíÚµûý÷ßÍ‹ãââš5k–`ggççç÷á‡6kÖÌÆÆæÁƒmÛ¶=zôè³ÆpúôéiÓ¦å0È[·n)¶Ùyî-1@θk¨ãüùóï¾ûntt´ˆÔ­[711Ñ¢à×_ݹs§ˆLžë)–-[ikk»nݺgS¹kU¡B…ü\$ày¸k¨¦nݺ‘‘‘Y÷&%%¹¹¹YÌ|eæSzzúÕ«WëÖ­+")))ß|óˆ¼÷Þ{ÅUªT‘ÌÌL£Ñh±ëÊ•+Ê«±cǾñÆÏ¤­*V¬˜Ç‹ä Ñ PÇ!CÚ¶mëääô¬‚mÛ¶eÛ~åʱ³³sssSZÊ–-«D+ ƒaß¾}"âååeccù‡wذa©©©õêÕ?~|ã4¿kõðáÃÓ§OkµÚ-Z888äp —x ¨ãí·ßÎ!W=ËãÇ—,Y""mÛ¶µµµÍ¡òÂ… }ûö ·µµ>}ºÅÞmÛ¶…††j4šï¾ûîYK9(”¹VÖÖÖ]ºt)[¶lëÖ­Û¶m[¦L™:\½z5¯ãXà®PdŒFãСCoݺekk»hÑ¢lk>þøãß~ûíÉ“'<‘ Ì›7ÏÏÏϼæñãÇ£F‘!C†´lÙ2ç“*w­f̘!"NNNUªT¹téRzzúï¿ÿþÖ[o=zÔÕÕU•«€Ww­€"3nܸüQDfΜ©Ì²ÊêöíÛW¯^Ur•ˆüý÷ßüñGFF†yÍ„ nß¾íââ2wîÜçžT‰V666‹-úûï¿|hccãããÖ³gÏœ»Òh4Ê$­¬säkÔ¨ñçŸvïÞÝÞÞ>--íôéÓ™™™¥K—îӧϾ}ûJ”(‘ûËd¥¹ÿ~Qx©EDDøøø8;;ÉÙÓÓÓ•›LnnnMš4qttT«çÌÌÌS§N]¸p¡^½z5ÊÓ‹ŠðÏêãã“¿cy ¼Ô|||òý'<vvvÞÞÞÞÞÞª÷ ¯2þ  ¢€jˆVª!Z¨†h ¢€jˆVª!Z¨†h ¢€jˆVª!Z¨†h ¢€jlŠzÀ?PXXX·nÝjÔ¨e±ëÑ£G—/_‘úõëÛÙÙe=ö¹9ˆ×ëõ9T®\¹\¹rqqqo¾ùfåÊ•#""ìííót @ΈV€Êôzýˆ# ›¢ð4wî\e­ó‚ËýÓÀ\ºpá›o¾9pàÀÎ;«Õ'@¡)òµ —\DD„O~ðêÕ«ñññ7vuu-ª1À+%44ÔÇÇ'Çr× xÙU«V­ZµjE= @®0× @5D+Õ­TC´P Ñ @5D+Õ­TC´P Ñ @5D+Õð¡@5ñññz½¾J•*ÏúààíÛ·ïܹS¢D 77·<6À‹Á]+@5Mš4iܸq‡´Zm¶sæÌiܸqÿþý_ðÀ/ Ñ PYLLÌäÉ“‹z€¢A´Ô7oÞ¼°°°¢ ­õéõúAƒ=yò$¯Þ¾}Û`0ä¦R§ÓݼyÓh4æ\–––vóæÍ¼oD+@e}úô‘K—.}þùç¹<ä§Ÿ~8p`åÊ•+UªT®\¹ž={._¾\¯×›×ôíÛ×ÅÅeÕªU‡êرc™2e*W®\¼xñîÝ»_¿~=kŸ6lhР““SåÊ•]]]¸wïÞ‚_ gD+@e:u>|¸ˆ¬]»688ø¹õß~ûmß¾}7oÞ¬Ü^zøðappð§Ÿ~:bÄó²äää»wï;v¬{÷î¿ýöÛÓ§OE$55õ—_~ñññyüø±yñªU«Þÿý3gÎ(?ÞºukóæÍݺuÛ³gZ— ÈÑ PßüùóëÖ­+"üñ;wr¨ V"”ŸŸ_HHHrròáÇDdÕªU3gδ¨ß²eK©R¥~ùå—‡Þ¼yóÓO?‘¤¤¤E‹™jöîÝ«ôÙ£GÈÈÈ´´´#GŽxyyéõúþýûÇÅÅ©}¹€ÿh¨ÏÑÑqóæÍ¶¶¶÷îÝݰaCá\4@„hOOOe †={ö¬^½:Û­V«ÜCš8qbéÒ¥MíÖÖÖóæÍ‘”””ÄÄD‹nëÔ©cÞòÖ[o‰ÈåË—•u:Ý©S§Ddøðá¶¶¶¦²×^{­[·n"£ÂåžÕØÂ2vìØÐÐа°°Ñ£G¿õÖ[µk×¶(8sæLzzºˆ4jÔÈbWýúõ­­­õz}TTTýúõMí•*TÓ"¥§OŸVú\·n]PPy¥ãbccF£F£)ø²"Z…ÅÚÚzãÆOž<8p`Ö•®Lw¤jÖ¬i±ËÞÞÞÕÕõÚµkw­,*­¬þëÞ³©>$$$ÛQ=zô(99¹\¹ry¹@n­€BT³fÍ¥K—~øá‡'NœÈ:'Ýô%Ák×®5lØÐ|—V«½}û¶yMîϨl¬_¿¾R¥JY 4M™2eòÔ' ÷ˆV@áúàƒBBBvîÜ9}út///ó]5²µµÕjµñññÑêìÙ³Ê3>‹Cž«Q£F666:ÎÁÁ¡}ûö? O˜Æºï¾û®B… :.<<ܼÝÞÞ^ITsçÎMMM5ߥLwtttwwÏÓ¹”CV¯^mñ•èÀÀÀ1cÆÌ;7WÈ ¢PèÊ•+·víÚlw9RDâââ"## CBBÂÈ‘#•èÇ·±Éó­eeøC‡ýë_ÿºpႈܻwoñâÅ X¸p¡2ÉPHx ¼:u6lØÊ•+-Ú týúõ &ìÚµk×®]ÆôYÀ~ýú)K0äÕûï¿ñâÅ3f–.]úï¿ÿVv5lØp̘1¹@θk¨FyYÏâ•=“ùóç+KRYŒ?~ÅŠ:t(V¬˜Ñh´µµmѢŤI“6nÜh¾D³:϶}úôé‹-zóÍ7ííí•\U±bÅñãÇGEE+V¬àW xÍýû÷‹z ÀK-""ÂÇÇÇÙÙ¹°O¤ÕjÏ;W½zuÓOZZZBBB5x+r/44ÔÇÇ'Çò@xYØÚÚæuÒús9::6iÒDÝ>9à €jˆVª!Z¨†h ¢€jˆVª!Z¨†h ¢€jˆVª!Z¨†h ¢€jˆVª!Z¨†h ¢€jˆVª!Z¨†h ¢€jˆVª!Z¨†h ¢€jˆVª!Z¨†h ¢€jˆVª!Z¨†h ¢€jˆVª!Z¨†h ¢€jˆVª!Z¨†h ¢€jˆVª!Z¨†h ¢€jˆVª!Z¨†h ¢€jˆVª!Z¨†h ¢€jˆVª!Z¨†h ¢€jˆVª!Z¨†h ¢€jˆVª!Z¨†h ¢€jˆVª!Z¨†h ¢€jˆVª!Z¨†h ¢€jˆVª!Z¨†h ¢€jˆVª!Z¨†h ¢ð|E=Àÿ›¢ð¿!44´¨‡ø ¹ÿ~Qà‚‚ª!Z¨†h ¢€jˆVª!Z¨†h ¢€jˆVª!Z¨†h ¢€jˆVª!Z¨†h ¢€jˆVª!Z¨†h ¢€jˆVª!Z¨Æ&7Eñññ…=@] 6T«+þÿ¯ |ÿ=¢¹ÿþs‹œó×;PT’““ÕêŠÿÿÀ+(ßð@@5¹ºk€Ü஀jˆVª!Z¨†h ¢€jˆVª!Z¨†h ¢€jˆVª!Z¨†h ¢€jˆVª!Z¨†h ¢€jˆVª!Z¨†h ¢€jˆVª!Z¨†h ¢€jlŠzÀÿ€°°°¬F£ñÅ :F“µÑ××7½­€\ñóó+ê!^#GŽäûX¢[¥J•*ê! Ý£G r8s­TC´P Ñ @5D+Õ­TC´P Ñ @5D+àB§Óétº¢¼êX2¹õÕW_¥§§ç¦²OŸ>­Zµ*ìñ¼<¾ÿþû?ÿüSDfÍšU¡BµºMMMýâ‹/233EÄÍÍmüøñÙ–9sféÒ¥¡¡¡·nݲµµõðððññ3fLÕªU³;öîÝ»Ï:£¯¯ïàÁƒÕ?¼šˆVÈ­ÀÀÀ´´´ÜTº»»F´ :s挫«ë‡~¨zçù¦ÓéÆïÞ=©_¿þ˜1cÔêyܸq«W¯V¶½¼¼²Vaaa:uzòä‰òcFFƉ'Nœ8øã?¶mÛÖ¢~ÕªU9¬2œ‘‘A´€"Z!·üüüRSSM?fff†‡‡‹H¥J•jÕªe^™íý’‚Ûµkמ={6løRE«ÐÐP%W‰ÈÆÕŠVÇŽûÏþ“sÍÑ£G»téòôéSñ÷÷oß¾½ƒƒÃ‘ÿÑU IDATBBBî߿߱cǘú055UÉU^^^eË–ÍÚ¡‡‡‡*ƒ€WÑ ¹µyófóŸ>}Z½zuéÝ»÷¤I“ŠfL/ 6ˆˆ•••Á`ˆ?yòdÁJFFÆG}dø?íÝy\Tåþðï3¢ì ²%i₊fjî©h¸$jj7—Ê%[f^½–ÛÕ‹[ý´ÔÊ4WÜL+—ÀÜ%R¼à† ¢ `²ˆÀÀ9ç÷ÇÃ30’aªÏûÕ=÷Ì3‡3Ϻ/>÷yžó=¢èéééååuöìYÓcA6lÏUK–,yÿý÷yûøñãwîÜùúë¯ ‚0sæÌ˜˜ùGÒÒÒøÎêÕ«[´hQÉN@™°Œž­¼¼¼„„„‹/fggWw_Ôwÿþý¨¨(" ¯U«’V%Íž=ûòåËD´råJ''§29tèÐíÛ·‰hÔ¨Qr®â ÀÃî±cÇŽ9"·ß¹s‡ïxxxT¾“P&D+xVbccX¿~ýŽ;vîÜÙßß¿wïÞ|¹7—••Õ°aC__ßV­Zåææ*ö—_~ñõõõõõ '¢   ww÷ýû÷Q||¼»»»»»{‡äãóòòNž<)BU}¹R‘‘‘EEED4f̘ÐÐP"Ú´iS%oÓ‹ÿïÿKDC‡ )ï°K—.ñ>}ú˜¾+7®_¿^näÑJ£ÑÔ©S§2=3­à™HLL¬¨¨(<<üÁƒ:nÚ´iDT\\¬ŒM‚ ‚Ào#¢´´´&Mš„„„ôíÛ÷™±Çñ1ª-Z4lØpèСD”‘‘qðàÁ§>¡(ŠãÆ+))quuýì³ÏÌ)úùù™¾Û¨Q#¾sãÆ ¹‘Oº¹¹iµZ"ºÿþñãÇ•@å!ZúîÞ½;tèÐÜÜ\N÷é§ŸÆÄÄ;vìÓO?ÕétùùùC‡•g¦Þyç>ø´nÝ:¾(žˆ–,Yrýúu"Z´h‘››8pàìÙ³;v$"ÿ³gÏž={v÷îÝüøC‡åççÑÙ³gå3W+W®ð>6ŒˆºwïÎGƒ¾ûî»§>çÊ•+ù9—,Yb~l©U«V|'66Öô]yyÖÍ›7åF~qêÖ­{ðàÁçŸÞÅÅ¥C‡Ï?ÿ¼ŸŸß¤I“”÷(ÀSC´õEDD¤¦¦ZYY­]»v„ 5š0a—_~ÉKOO_»v-?’1¶|ùrI’Þÿ}½^éÒ¥Ï?ÿœˆ Ô¯_?~˜——Wýúõíí퉨Fõëׯ_¿¾§§'·{÷î|S›6mäÆ*ÀçÚcaaaDdee5xð`"Ú»wïÓ-,KOOŸ>}:uíÚuäÈ‘æîСƒF£!¢7½ûí·ßòÔÔTy‚’G«øøøÞ½{+«®_¿¾|ùò~ýúU°n˜hê‹‹‹#¢Ž;öèÑCÙÞ¿ÿ€€"ºpá‚Üèíí½`Á"ºzõêâÅ‹ÃÃË‹‹===.\XÁ«[·îÅ‹<ÈW”W I’x´êر£··7oäÃWEEE‘‘‘OqÎðð𜜛•+W>ñ`GGǶmÛQtttXX˜<æ¤×ë'Ož,¯¦áþýû|ŸG+A\\\>ûì³k׮ݺukãÆM›6%¢Ã‡¿ñÆOÑmPBñP™^¯OLL$"GGÇ£G½ëàà@DçÏŸW6¾þúëØ·oßâÅ‹‰ˆ1öùçŸ;::VüCkÕª%OUèèèääd2Ä)®}ûöõêÕKNNþî»ïÞ~ûmÞ˜’’2~üø2OòöÛoË Õ>¼yóf"š>}ºQ°òDFFvêÔéÆ;wŠjÕª•F£‰-((ÐétÁÁÁ|­›|%ÓÓÓùË'N4hЀ76¬k×®;v¼råÊîÝ»óòòøè <D+PYBB_`¾k×®]»v•yLfffff¦r-Ñ¢E‹N:ÅkoŽ5ªsçÎUÒÙ§' %&&Î;Wn¯Q£8qâÚµkøøø=z´k×®IIIz½þĉ¼ÝÝÝý‹/¾à#gµjÕÒét¼ýàÁƒŽŽŽFOãqwwÿøãÿñ‚pâĉž={V°` Ñ T&Š"ßñòòâ‹ÐË$I’ò¥­­­ ßçkÒ-ÙÇwìØÁ÷—-[Væ1ß}÷¿íÑÅÅ…¯Á2%ßÇ·lÙ2^L!<<\.ìÉñ¢ >¼víyxxÔ¬YS~·^½zW¯^?zôèÉ“'ÝÜÜš4iæààÀgT•%¬ÌTÉoß¾=ßùå—_­*Ñ TÖ¸qc++«’’’¡C‡òÒ 1sæÌÔÔT¾¿mÛ¶Þ½{?³>VÖ®]»øcûš7oΧ8•.^¼øû￯_¿þÓO?eŒy{{oݺÕü Ï;ÇwÊ›:LHHxá…ˆhõêÕcÇŽU¾ÅkÖ¬Y³fÍ&Ož,7¦¦¦ò;å‡9J’ÄﻬS§ŽiŸe¶¶¶æ» æa;¨ÌÆÆ¦aÆD$ÏO=Ñ¡C‡xÁ‚™3gò5@ááá÷îÝ+ó`ӻ᪟ ´³³;vìX´ ^ýæÍ›Ê‡Ì¨îöíÛ“'OžÜÒ¬Y³‰'.Y²„1–••eúœc¾fèêÕ«¦¥ þ÷¿ÿ­Y³F~Lò3uûöíÇQ¿~ýxÑ#¼v(ý‘WgËÁö× AþrРAüGÜÜÜvìØñùçŸ9’ß7 ‹‹‹ãåFëÖ­;`ÀÞèääÄcÖ¶mÛäB.;;{Ñ¢EDdccÓ¦M›Š^( ¢¨ïƒ>pss“$é½÷Þ[¶lÙÅ‹oß¾½oß¾×_ý矾zõª²lúÔ©SïÞ½«Õj—.]ªÕjÛµk7|øp"Ú·oŸ¼ž‰ã5AøðÃOž<)W½|ùr§N¦NÚ³gOy¥×³³qãFþ)Ê€¨äççÇË"lÛ¶­   "ç¬W¯^«r8;;‘ƒƒƒò%Y[[ó•ï………üæ›oÒÓÓÓÓÓ7lØÐµkW^pá_ÿú—ü)|ÉWnnnëÖ­÷íÛ—››[XXxäȑ޽{óùC‡Å„ @%!Zú|||6oÞlggW\\mŸ>}cü§BBB^{í5Þ.—#OIIÉÈÈxÖߎϺ¸¸˜YîÍ®òòòÊ»GR&Là}HLL3fŒ‡‡‡‡‡Çˆ#x®7nÜ„ ”Ç=𦧧÷ë×ÏÉÉ©F]»våv8pàW_}õìz ð7hO‰1ƃ ‘ÀÀÀÈÈÈvíÚÉ-Z­ö…^X±bÅúõëyñ¼¼¼©S§‘··÷Ç,éììÌËdgg+Û[µjµfÍùœüÓ‰¨oß¾5bŒ >ܨ¬€êˆhàÀrQSC† á—eûöí•üD~ž2/²½½ý÷ßÿïÿÛh^²nݺ˖-[¹r¥|‰8F³lÙ²åË—{yy‘â&MN7vìØÍ›7[Yá¾€ÊbYYYÕÝø+ËÎÎæ½yþùçM³²ŠV«µ¶¶.ó-FcúSùùùEEEÊŠMDôàÁƒ2W>©âøñã:uúCUL«’(Š—.]ŠÁÏÏ/00ð‰óz©©©§OŸÎÍÍusskÛ¶-&"ÊÉÉ‰ŽŽ~饗žîÇñRáÙrrrrrr*ï]3 ÀÌ[5kÖTÖvâž]®²|& €?D¨‚¼½½åçó€Š0! D+Õ Z¨Ñ @5ˆVªA´P Š/TTNNNuw,¢@…DGGµÈÕÌàOÍèÙ•=ª±¨k­Tƒh D+Õ Z¨Ñ @5ˆVªA´P ¢€j­Tƒh D+Õ Z¨Ñ @5ˆVªA´P ¢€j­Tƒh D+Õ Z¨Ñ @5ˆVª±ªÈAñññϺêjÚ´©Z§Â¿ÿCOýw„eee=ñ WW×§;;@u¹wïžZ§Â¿ÿCOýw‚ª©Ð¨TF­Tƒh D+Õ Z¨Ñ @5ˆVªA´P ¢€j­Tƒh D+Õ Z¨Ñ @5ˆVªA´P ¢€j­Tƒh D+Õ Z¨Ñ @5ˆVªA´P ¢€j­Tƒh D+Õ Z¨Ñ @5ˆVª±ªî€aݺu’$µoß¾Q£Fæ.**²±±QñÓׯ_¯×냂‚š7o®âiÿÚJJJˆÈÊ ÿC°,++«ºûð7qëÖ-£FNôâ‹/j4Õ9Ž˜ŸŸ_¯^="š;wî;ï¼czÀõë׿ù曘˜˜[·nåççÛÙÙy{{·oß~̘1 6¬ä§{yy…‡‡OŸ>½’§ªëׯ?{ö,͘1ÃÍÍM­Ó̘1£¸¸˜ˆ|}}ÃÃÃË<ìÒ¥K«V­:|øpzzº••UÓ¦M[¶l9aÂoooÓƒgÏžmææmÚ´yã7Ôê?àÿìV©¨¨¨ÿýïå½ëãã³}ûv??¿ªìR‰¢8{öì+VH’$7æçç_¾|ùòåËß~ûí›o¾¹`Á‚¿ÉðIIIÉܹsïÝ»GD 6œ0a‚Zgž;wîºuëø~óæÍËŒV§OŸ2dȃøK½^»sçί¾úªcÇŽFǯ]»677·¼O,**B´PÑßâ¡¥©U«V»víä—×®]{øðá­[·úôé³}ûö&MšTc÷LI’4f̘½{÷ò—-Z´èÒ¥‹‹‹KNNNLLÌ©S§ˆhíÚµ)))›7oÖjµÕÚÙªpøðaž«ˆ(22R­huêÔ©¯¾úÊü1'Ož ËÏÏ'¢®]»vêÔÉÖÖ6&&æ‡~¸wïÞàÁƒwíÚÕ¾}{ùø‚‚ž«š7oîììlz¦M›ªÒyà­ªA@@À–-[”-yyyŸ|òɺuë²²²fÍšµcÇŽêê[™6lØÀs•F£ùúë¯ûõë'¿5uêÔ#G޼ñÆz½þÈ‘#_~ùåĉ«¯§U„ÿú4(Š /^¬|ÖëõS¦LE±nݺqqq¦Ç‚0nÜ8ž«æÌ™óî»ïòö·Þz+**jôèÑ‚ ÌŸ??**Jþ‘»wïò¥K—"ETÜ!hìíí-ZÔ¶m[":sæŒ^¯7:@„ÔÔÔ_ý599™¯\.$IéééqqqOüÜ»wïÆÅÅݹsÇÌ1yyy³fÍâû3gÎTæ*®K—. ,àû ,ÈÌÌ4s¶¤¤¤Ë—/óµDRÙÙÙ?üð½ûî»5kÖ$CÒª¤ˆˆˆk×®ÑâÅ‹Ë<&:::--ˆÂÂÂä\ÅõíÛ÷ƒ> ¢S§N;vLnOOOç;îîî•ï$<¢•¥`ŒõêÕ‹ˆ ”#%%% ,hÞ¼y=‚‚‚4hðïÿÛ4~åääÌ™3ç…^hÒ¤I÷îÝÞzë­ßÿÝô㢢¢‚ƒƒ7nܽ{÷fÍš5jÔhÍš5¢(šùÓO?ñ¥ÐÐÐI“&•Ùù‘#GŽ9’ˆ •C&Ó¦MswwïÓ§O~~þ»ï¾жmÛ—^zÉÇÇgôèÑæo¡=z´»»»··wNNŽé»AAAîîî={ö”[.\¸pûöm3'TËîÝ»ùÅ1bDŸ>}ˆhûöíæóî%$$üßÿý 0@ù¥Œ\½z•ïtïÞÝôÝ=zð­[·Ê<Ši4WW×Êô*ÑÊ‚X[[ó‚‚¹ñƒ>X´h‘¼²‡ˆrss¿øâ‹÷Þ{Où³¢(Ž3æ³Ï>ËÎΖ322öîÝûꫯÝ–øóÏ?=Zþ;MD™™™S§N7oži¯öíÛÇwÞzë-3—ßUF«ââbA>|8zôèmÛ¶Éi%%%{öìéÕ«—i@”õéÓG„½›œœ,O6D4sæÌ.]º´lÙòСCf:© >FÕ´iSÿQVVÖ‘#Gžú„¢(†‡‡—””¸¸¸üç?ÿ1s¤œ2ëׯoúnƒ øNrr²ÜÈ'k×®Í×ÀeggŸ>}Zy¨ ÑÊ‚œçÚµkù9çÌ™c~l©E‹|çüùó¦ïʃÊ$Í'ÝÜÜ>äïïß§OŸ      iÓ¦)C<¨ÑÊ"H’´fÍšýû÷Q`` /.•‘‘ÁÇ0:tè°eË–^½zyyyõìÙsÓ¦M-[¶$¢¥K—ñ3Ü¿¿k×®ƒ Z³fM×®]}||BBBV®\ÉK.?~\þ¬… Þ¿Ÿˆ¦M›6oÞ¼N:ýóŸÿ\»vm™¥øPÓsÏ=çàà`æ+X[[¿ð D”••¥,ÐÀ 0`õêÕ¼cݺu‹ŒŒä9LÙ1#¶¶¶¯½öEGGÍ ò´—_~ÙÓÓ“·„††‘V«íÛ·¯™NVŸkcŒñO´²²âùõÀeN\>QFFÆÜ¹s‰¨cÇŽC† 1pÛ¶myå³mÛ¶™®WÛ´iß¹sçŽ|¸ü¯¨Ѫ$%%}d0uêÔ±cÇO:•ˆ4ÍŒ3øa¿ýöÏ(3fÌPÖ=·³³›¸’ ¯£ºpá5oÞüý÷ßWöª]»vãÇ7êª |†Qžl2ƒW -))1 “&MbŒÉ/½¼¼xù‰7n˜9!z½^9'øë¯¿òQe™={ö±cÇâââºuëöÄ~>5I’x´ –SÝÀy'ùÈÙ5cÆŒÜÜ\N·xñâ'ìààDD'Nœ;v¬<æ¤×ë§OŸ.¯¦Aþðh%‚³³óüùóÏ;wáÂ…U«VQLLL™µaà©¡øB5¸wïÞ7ß|cÚîëë»`Á‚W^y…¿üí·ßøNvv6Ÿì“ñÛï‰èÂ… |KVPPpãÆÜÜÜœœœœœœ›7o‘(Š¢(j4šÂÂB~ZëÖ­•Y‡ þüóÏ•-Z­ÖÖÖ¶°°°"÷ÊÇØÙÙ)ÛmmmM›ãååEDrÝË2µmÛ¶^½zÉÉÉ{öì ã|6°fÍšFTO|2Oå8q‚§:y"’ˆÚ´iãããsëÖ­ÈÈÈQ£FñÆÔÔÔ?ü°Ì“¼ùæ›òBõ˜˜˜;wÑûï¿_æò)S¼øErrrTTÔ?þؼysFóÛo¿êtºV­Z8q‚ˆø\*~)«Ñ8°cÇŽ}ûöMJJúþûï’aÄÍÍ-%%åÒ¥K%%%æ‹­ó!4'''>Ù'svv6ýÁŠ<16dÈÿþ÷¿|N—$à³!!!F® ÈÃBW®\Q2ñ‘Â3gÎܸqƒ'¤œœœŸ~ú©Ì“¼üòË|G¯×ôÑGDT¿~}> Y^^^»wï ½yó¦^¯?sæ o¯S§NDD9«Y³¦ü+غukaa¡ƒƒƒÑÓxêÔ©3eÊ”I“& ‚pæÌ™.]ºT°`¢U5hÒ¤‰\ÙœˆÞ{ï½M›6=|øpóæÍcÆŒ‘Ûùl F£ ,ïTuëÖå;³fÍúâ‹/ø¾N§óòòrrrrttLII¹~ýºÑ9‰ÈtȪ<žžž)))z½>))É̃o߾͗pñá(µ 2$""‚Ï †……ÅÅÅ¥¤¤Ðã³U£  @¾YRy[€Rddä´iÓˆÈÙÙ™¯Á2%O­®ZµŠß¤9~üx¹úÇG%ù$¹»»+s¤ÏÙ³g~ùå—sçÎÕ®]»Q£F¡¡¡ööö|ÐQYª̧ rmÚ´á;§OŸF´P ¢Uõ›6mÚŽ;ŠŠŠ"""^ýuyµx``à¡C‡¬¬¬öíÛ§\Ae*99™ç*OOÏU«VµiÓF~ÚLDD„òFÂFiµZAMÏSfc·nÝø£l¢££ÍD«èèhùxóß÷©W¯^Û¶mO:µ{÷î°°0>*ãååõÒK/©ø)±ÿ~>}Ù¤IyºMvéÒ¥û÷ïoݺõ£>bŒyzz–9ç«$Oø–7uxùòåÖ­[ÑÒ¥KGŒ¡|‹1Ö¸qãÆ¿ýöÛrã;wøƒÁÁÁ¼E’$¾tÝÕÕÕ´Ï²ŠŒ @a{õóôô7nÝ»woÉ’%r;¬âß5¾¼†ˆÞ}÷Ýàà`åSüx*’Õ¨Qƒ/¸)óœFsò’¦Ù³gÇÇÇ—Ù+W®LŸ>Ýèxµðª˜˜˜ììl>n4xð`~£\Uâ³5jÔØ¿ÿ>|1xJJŠ\AãYHKK›>}úôéÓM Rц øl//ÏAD¹¹¹íÚµkÕªÕÌ™3MçHÅ ò­,”)Sø£sW¯^Í'¼È­ˆhÆŒòºunëÖ­ÁÁÁÁÁÁ¼R¥““o7:ìÌ™3¦éùƒäbcc—/_ntðŠ+LûæïïÏo‚+,,5j”im÷ÜÜÜ#Fðž={ʵ—ÔÒ¿[[[½^?þüòf ¶lÙrôèQÓºªHKK‹‰‰!¢^½z)×ÃÉø%¢?Ràê“O>9Tþ;òóóã/CBBøÔ®]{ß¾}«W¯?~ü•+W”g‹_½z5¹¹¹ÉéÖÑёǬ={ö=Î(''‡ÿºu:ÑPˆVÁÑÑqÊ”)D¤×ëç̙ý¼¼xc||ü!C¢¢¢222bcc—,Y2iÒ¤«W¯ó5Ñ:tàëÄW­Zµ~ýúÛ·o'&&~ùå—¡¡¡¦åΧNÊ׃ϙ3gÖ¬YÇ¿páÂgŸ}öæ›o–÷h¿ùóçóR–)))Ý»w_·n]rr²^¯OIIÙ¸qc÷îÝ“’’ˆÈÁÁ!""Bõ‹ãààлwo"Z³f µlÙ’ÐRš4iÒĉ¼yófÕ;@DÛ·oçÕ+”÷*ùúúò²{öì),,¬È9}||š—ƒge{{{åK"²¶¶æ«ñŠŠŠÞ|óÍ 6ddddddlÛ¶-44”—ɯQ£†ü)|ÉW^^^·nÝ~øá‡¼¼¼¢¢¢cÇŽ………%$$ÑÀ1! "¬µ²cÆŒùꫯRSSwïÞýÎ;ïð¿Óÿú׿RRRvîÜyêÔ)£Ù:GGÇÅ‹ógãØÛÛ;öË/¿¼ÿ¾²Z•V« ݵk—òýüüV­Z5lØ0AV¬X¡©3fÌ–-[L "¸ººîß¿?,,ìæÍ›ÉÉÉÿüç?Mûïíí½iÓ&¹Ú“º† ‹P9 Øå¹­sçÎ 6LõðÙ@ggg¹4†©ÄÆÆ>xð`ÿþýò –êF}üøñ#GŽ\¹r…'o¥‘#GŽ=ZÙ2|øðK—.­Zµ*##cøðáŒ1åÀ^HHÈÒ¥KŸQWþž0jU¥ø*¨2× ÙØØð›Ë$I’ž3Æ–/_>qâDyÜ‚ˆœœœú÷ïüøñN:ÉsæÌ™3gŽòî¼€€€ÈÈH^BI£Ñ(o ìÖ­ÛªU«”…”\]]ÿóŸÿÌ›7÷P¹Z‹ó÷÷ÿñǧL™bú$''§‰':tÈ´vCyg“/‚ò-3wîܹvíÚDdmmÍË ™4i’»»;J´º®\¹ÂŸÞÓ·o_£ºJ¡¡¡¼óÊÛ?ŸŽ™KQ«V­-[¶|øá‡Fó’nnnóæÍ[¼x±Ñ½ŸfÞ¼y .ôðð Å-¢:kÈ-KIDATnĈ«W¯6_Pþ(–••UÝ}€'+))¹}ûvvv¶»»»\p¡L™™™iiiuêÔ1NI’ÒÒÒ233]\\¼½½+XŽ¡¨¨(11ñÖ­[™™™®®®>>>æo`¬¼¼¼¼fÍšåååõîÝû»ï¾+¯cF~Äõ_ž(ŠW¯^åuö}}}›4iòÄy½;wîÄÆÆæååÕ©S§eË–æŸWOÑ þ>ùä¾è>**Š?!À2a.,WFFF||üÑ£Gùöàà`ä*°pˆV`¹8 /™wqq™7o^õöà‰­ÀrÙÙÙ¹ººººº6nÜxÚ´iòÓ…,ÖZ¨ÅTƒh D+Õ Z¨Ñ @5ˆVªA´P ¢€j­Tƒh D+Õ Z¨Ñ @5ˆVªA´P ¢€j­Tƒh D+Õ Z¨Ñ @5ˆVªA´P ¢€j­Tƒh D+Õ Z¨Ñ @5ˆVªA´P ¢€j­Tƒh D+Õ Z¨Ñ @5ˆVªA´P ¢€j¬ª»`Ž(Š‚ H’dÔnÚO‡1fÚ¢Õj5š§B´°PéÙÅ'¯Sb†Íí<ûübmuwço¤¦µàUëa€{q»ç¥ºNÖègYVVÖ3ê<I’Î$éWŸs«©£:ÒiI‹%Œ1’$‰1>\(‘$é´t1Ý6TÔWäžAD+ "BJ¶½³=¥R. ’$‰øº+ƘbÉT–2£2F’(ñxeH±d¥¥”lA(@´ø“‘$éA±• c¢$OTId¨½$Š£ÒÅWÌ0¸‚m¥¶F¿â¹µt2¶ô€<½U ‰!ZXQ$A$à”aué ŠbɵE,SúKl•W•ÊCV†*^ Ñ À²ˆ‰IÒ£ÅUŒ•¾ä+Ú KØÉ ªyk­¥bÁ"zòt[~= [ã«Í*<ûŠh`YD‰ZqLRÊb¥“VŠLP¥['ê iâEµk1[k**¦{(!Mú1ALý½Œã±ÚµXZŽ´÷7ÉôÝ—_`žŒ1JË–öž—ªþ eÉõ.d¿gÑ À²" â£[‰ˆ$ÃKéQËc;U¸eDÃÚjB+OnkM^Îäå̺hJ¾=.ŠÒc?ÕÚ—ÕseWîÒî8ÉèœmŸgïvÖ0FùEôÉy©4VVù÷z4ÿZº†ø< ÿšŠ°ûˆV–¥t­{ôw{,lUFÞCìWÚ‘kÒo·(¯PªiÚzQ#FDÝX{ÍüýÊGœa$ãŒàÉ&uÑ0FE%4o¿x#«Â£CÏÆ£Ûè±»0%ã¢åB´°,"1A’Näy@fx)‘á†Áª×=€ñ\%I´èGéDңѳÍD-ž£é½™•†šû°>šÝqÊlÅݘ È(¾®4íUµ–‘”Ó©ZÒ£â†A¹•^ bE‡­­, µâU¬èQ–zªx¨ø=kj±ÓѨö¥…Öc®wàì iU4›ðІˆ†¶f‡Ä쇥oñ)MI’J ÂÝìif_­Ž§4ñìê¯â5x„5d,åRwIĨÀŸ”(1A$¾€]±|Z9²Âøãš«¸TP=ª©#"й"m=Wö1û/H~u¤^M˜ÎŠÚ=Ͼ7Œ )¾$I5اý5.5‰ˆV•¢/Wki+Þ-V:hXÞnXÊ.•¾_Á_¢€eD©DdD#&Qéø‰ÄÌ̉¥#@¥wò[«dÛÞ¿4^ì=/‰R¹Gî9/õjˆ¨½Û{^b¥±tB°D”l­Ø¬·3ÑÚÒ¾ RU~ Ó-ñ.%’äk.’–DüW ˆTC´°,†’¡f†Iªg¡Õs.¥Ÿ{5ƒJÊ_zt#“J²ÒÒs.Lxü©Ò<ÇLïÍym•6œªæuëc&;¥0jðg%H†â еV¤ükoró`Õp¶#"JÏ¡Üs‡ "%ÿN~uÈÉŽD‘Œ¢Ó”n¬íóŒˆ2ó苟«~Á˜9Êú F—]ĨÀŸ”$±‘c¥Ï .ã)+ÕG4Œìm‰ˆnÜ“Ì Yq7²$¿:L«![寫{RcÏÒLXÇžÂZ³õ0jÅ •CÅ)f|€Q+€?)á±g–—ÖC¹d¨Ñ9÷þF[ÎÙÛÒ²!ÌZ[Õ߈_[A4\[>š%’ðX¨•°Ö àÏJ”˜ –>ÛŽñ­ˆ¥.}´Mõ=&#ÂVÓ×£è9òq¦ÙýMW…Ólû¥f?ö³re®Ñøœ³£(ЛyЋuifš¶³êt£XÆn¨ψÞaèñ̵°,‚(•Và‹~D¤Òy4ú«e{5“ú¯ /~.¾RÊ) ÕÇ(d%¤—ñ³d(ÙeÔþPOã7Q~Ñ  êѸʿ—È[DI¾È"1ÃaE},++K½ Rôz}“ùvv’¢H8‘¡š¹r¿ÚÙXQúäíLµkÑïù”zŸ.¥Saquw«r µ-Œóóéâô4N÷Ä3`BÀ²(êZ=†1’D JWõ—Bq)ÕÝ5È)VËh'¢' —!ZXQ"Q2Ô¯4üigdÁ’,"Wý•È1V™«JC•áâW|­¢€e‘W&)$h)uCÿ¢Œ®3_êŠÇYD+ ³׉֤µb–1øöèáÌ’ášóBþ¶Dö6%ŒUhà Ñ À‚hµÚ®ã25Z"z4vÂ0bU%¥Xy–H¨[¾V«­È­,ˆF£y©þóéŽVÊúH¥#*&3V [5¶d²£Œ±ŒJjïûP£yòí„h`iB…ÅLjiŒªOògÅHŠÇKت´¥Òé?¦l!’ˆ$JŠ)$P ŠA´°,~uuÿ×ïÆÄ½õ5ZâÓ‚FÅ–03ø,ð‹,)ö#Q ¡„–¿vÓ¯®]σh`Y´ZmŸ:ALš´×O#Ó3 _)3Ö£RLØVzKò+""E’D’Dú¿~I}šÛVp¡¡;€E±¨¨èrêÃ}¬O&;\ùÝ!§Èºº;õ7âh£oàšü\^H3}Co;ñìl¹­,‘(ŠÅÅÅz½^¯× ‚ ¡C•`ŒiµZkkkN§Ó鬭­+ž«‚–I£ÑØØØXYYÙØØH’Äs•2]!i©EY°Šï3ÆxÀªø<  Ñ Àr=Ý_w¨F`€ ÌC´P ¢€j­Tƒh D+Õ Z¨Ñ @5ˆVªA´P ¢€j­Tóÿ({}ÜIEND®B`‚traitsui-7.2.1/docs/source/traitsui_user_manual/images/custom_enum_editor.jpg0000644000076500000240000001244714046644454030361 0ustar aayresstaff00000000000000ÿØÿàJFIF``ÿÛC    $.' ",#(7),01444'9=82<.342ÿÛC  2!!22222222222222222222222222222222222222222222222222ÿÀF)"ÿÄ ÿĵ}!1AQa"q2‘¡#B±ÁRÑð$3br‚ %&'()*456789:CDEFGHIJSTUVWXYZcdefghijstuvwxyzƒ„…†‡ˆ‰Š’“”•–—˜™š¢£¤¥¦§¨©ª²³´µ¶·¸¹ºÂÃÄÅÆÇÈÉÊÒÓÔÕÖרÙÚáâãäåæçèéêñòóôõö÷øùúÿÄ ÿĵw!1AQaq"2B‘¡±Á #3RðbrÑ $4á%ñ&'()*56789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz‚ƒ„…†‡ˆ‰Š’“”•–—˜™š¢£¤¥¦§¨©ª²³´µ¶·¸¹ºÂÃÄÅÆÇÈÉÊÒÓÔÕÖרÙÚâãäåæçèéêòóôõö÷øùúÿÚ ?ô½A¶Ölîïoou–µ;ôýÞ±w…K©Q@T(T :TZ•·…ô­DØ\Ýø¥î„K3%­ö«qµ°RLlÀd£uô5³àßùÜÿØWRÿÒÙª£ÉCÕìcÿ£né7ep1üß ÿÏOßZÕo„ÿç§¿ï­jºÊ+>r¬r~o„ÿç§¿ï­j7ÂóÓÆß÷Öµ]es…ŽOÍðŸüôñ·ýõ­QæøOþzxÛþúÖ«¬¢Žp±Éù¾ÿžž6ÿ¾µª<ß ÿÏOßZÕu”QÎ9?7ÂóÓÆß÷ÖµG›á?ùéãoûëZ®²Š= ¬r~o„ÿç§¿ï­j7ÂóÓÆß÷Öµ]esŽÇ'æøOþzxÛþúÖ¨ó|'ÿ=¤ÚÝ6ŸOÖªjVÍy¥ÝÛ!;¥…•qÔ’)­^ ö2bmcPT¹MB+7˜µ´tûëŽ7÷ÏÒ´í5›L{¹ÔÂЇóÓp¦wcò'ñŠÚ|zÕΛ¬®¢––ÖŠ¿k‰›kFÉü'Ó¸>Õ[^×ÞÔ³íÔÍ«ß$p‰ ŠÌª±ÐasøÖŽî÷V³Ðœ¥ÌÓþ¼Î—JÔ­µ*×Q²,Ö×($ŒºààúŽÇŠ©?‰t¸$¾Îyf²hÒX¡Bî^@J"âb8¬]×ÄFmBÚ{›}9¢ÔZyù©:JªûU›vò2;ÖM§‡.´‹dßk2ì’Òâ Űù£ÌùÊ®|ÆŽáܶ{TY\ÜéOŒ´Ó4pÃkª\Êщ`²g0å™vɺC+LWDFÒG§ט¥Þ“]É6ªž$¼ß-³B Átí3ºÇ*.T¿H7^+ÓŽ2výÜñI Š(¤3;U¼¸„Áibªo.IÚ\|¨£–fþ•[v¥¤K ——fòÒg³²x¸SÇ{T·Î–zíäü[ÉÛ´Œp±’AR}3Ó5?ˆf‰ìWM‰ƒÜ]²ªª‘•L‚_è9­áe¡“z½JÓø›O¶ÖΕ*] •‘^a0ÆÎ2ŠÒt¸R*æ§©Úhö-y}'— ºÇ“–f ª=I&¹-VÏPk7FG:4w6r]Ú,4ʈz?_••I¨½[ñ`¼²ð¦­5ýó_G4±dŠÏ ùŠvár[×¶=ë+#Cjç_°³ÕF1˜>B¼Â"bˆùUß 'ŒqëP[ø§KžÞæ|ÜÆ–éæbhJPœ+F:¸c€êH¬ÝG^°¸ñRØ^ …·¶1Í bÕÊÝLÀ21`0ä`÷ºýÚçî®ì¼Eg¥$ºŒsÇw ·^DDöV 8TO—$†+»ny>‚…="Þqskâ9c(`“!G\ŒàŽÇÔzÔ•“á©.%Р{—–OšA “gÌx7Ÿ)›<î)´œó’sZÕ †}½k K¨ë73}Šïìv‘9T•äàÿë[ƒŽIÅfømã†ÕôùeÅ›²²¹™rpÿB9ÏÖ´§Õ“-ÒÒþá!»‹P‰šîÉw8IóWR£¹ÀÆ=k>i—6Mu¶©)…#k&Jã;‚/VÛµ·zb´­'Kízæú ²D–é"œ¬¤X¦q\ÑþÍ·ðÔGZ—P³?Úwm ö‰'œ…¦“¡PH §¯ph’\Á¡ÖhÛ®”u9üË[eˆÌÿhŒ£Æ dî^Ä`ñT.|Q¦ZÚY\±¹xîá[”ò`,c„àù’áA‘’zsT채ufø˜³ØÉf-Au`°å²ÝÇzåÚ#°¼…_C°yº´×@äJÏ–qÈlÏ5)"L2†R ‘AÈ"–£€2ÛB®ŠŽ#Pʽàdj’¤aY¯üŒ^ÿ°œŸúGsZõ‘ªÿÈÅáOû Éÿ¤w4㸙{ÇòOU'ý¥}(¸I³ZipÜ@×K)¶´“-#¶ZáåI‰ÿ¢lqŠ‚3ðý¤:è‹E{{A©Ë1•áŠm¯¼9ÈeäF0¤G½{AÀÿ?­&dmOQÍÀyï‡í N}GQ¼¸‚ÛJ@d_-„ã|jNI\žFZïm  o,»Gä¦Ö¾FÑŒûôÏãSp8ÇÓ4Ù"‰äs„EÉ>€RnàRŸEÓ®nÍÌö¨òäîä€ßïÃ~5}x}+ uÝJ1}k,B~h-ž<ù‹Ø±þ}«JÓQŽãNkɈDÏ}™Ýù`ÕÎ2KVLZ¾…ÎØíéý>”»ˆäpj¦¨ÚêÚm¶¡c/™kr‚H\©]Ëô=:UkŸiv†õd¹ËÙÄñÆ¥ÙYòU@– 5Š5O'ž¸=i+¼W£ ´&æL] ©·îÆq™xýß96:JÙ Š( c&†;ˆ£WÆ °Îjµ–“c§±{[`ŒÙË’XÜdòEª_Íj`·³öá¶Ä;TY˜ú ®“jzlÐBhîígqš#Úѹ8ÆÜ÷­#8èCjæÎH iT•9 G¸ëXמ'Òôýf"å®–òlyam]çï=»Ôºv¿§ê×SÛÙ´ìЂÌï$l3Œ«‘†NÜÖv(Ôøqǧj7·;w&³åÖl!žö1yìaYî" º#go’NÓÇZf‘¯Xk‚ãì->ër«*OD˸dpÀ@4j‘É9'žôQEÆ©ÞiV:ƒ«Ý[«ºã ¤©Ç¦GQìjåÓka4žã!†;x–(£DF¨À•J”ä1ÏÖ›E ù}M.æççnF4”PEP0¬WþF/ ØNOý#¹­zÈÕäbð§ý„äÿÒ;šqÜL½ã¿ù'ž%ÿ°U×þŠjø‚¾ßñßü“ÏÿØ*ëÿE5|A[’}¿àßùÜÿØWRÿÒÙª£ÉCÕìcÿ£nê߃äsÿa]KÿKf¬]S[Òtˆzö¦§ecæéV^_Ú®-ø–ë8ÜFq‘ùŠ™l4ttVü&Þÿ¡ŸEÿÀø¿øª?á6ð§ý ú/þÅÿÅV6(Ý¢°¿á6ð§ý ú/þÅÿÅQÿ ·…?ègÑð>/þ*‹»EaÂmáOúô_ü‹ÿŠ£þo ÐÏ¢ÿà|_üUvªj–ïw¤ÝÛÆHy!e\uÎ+7þo ÐÏ¢ÿà|_üUð›xSþ†}ÿâÿâ©«§q=Q³¤]ÛÜéqÝ,ˆˆy™ yd }1\–½%ÕÏ…µ#§Û——V¾HmÑœ  Ì«¸Û“õ§O«ø æáæ“_Ñ·9ùÕu(Õýå݆úÖŠøÓÂH¡SÄÚ*¨_ÅÀé½ZÊJÖD¨¾¦g‡£ñýBÏšcA¨´³Dί¡]V&ùBíÉ1šÆ´Ð¯t«Íiõ fÕE‚ÙÝÇyö6 Ò3à_ï6q݇@1]oü&Þÿ¡ŸEÿÀø¿øª?á6ð§ý ú/þÅÿÅVwe$¶w–Ðκ”’%ö£MoQ]IÞyÊ•yÀÔíÈǘy5ë-˸÷ƒÿ ·…?ègÑð>/þ*øM¼)ÿC>‹ÿññT;°7h¬/øM¼)ÿC>‹ÿññTÂmáOúô_ü‹ÿŠ©°ËŒ–Þ!±¸œí‚Xžßy?*1;†~¸ÅXñˆtѧ£¸»uHÕO*7_è:ÖUÇ‹|w Aqâ=XŸ‚}þ=U¬õïØJÒÁâ=Ë‚¾dº”nÁO8·Oa[Fi%uª3qwÐÒÔ2|_¢¤Æ-ïCuÂñüóX:5Ä·\XøO\il#€–ò$Vn‰…;Jg~è­¯øM¼)ùô_ü‹ÿŠ øÛ‡þf}ÿâÿâ«;²ÊÖ·¶ü@Õ"gá4«w—ˌ̭!cœ`¬¸î*÷†£‘´‘8?hÔdkÉ?(¸0y@¼v9¨¿á6ð¦1ÿ >‹ÿññTÂmáOúô_ü‹ÿŠ¥¨´Vü&Þÿ¡ŸEÿÀø¿øª?á6ð§ý ú/þÅÿÅR°ÍÚ+ þo ÐÏ¢ÿà|_üUð›xSþ†}ÿâÿ⨰´Vü&Þÿ¡ŸEÿÀø¿øª?á6ð§ý ú/þÅÿÅQ`7h¬/øM¼)ÿC>‹ÿññTÂmáOúô_ü‹ÿŠ¢ÀnÑX_ð›xSþ†}ÿâÿâ¨ÿ„ÛŸô3è¿øÿE€Ý¬WþF/ ØNOý#¹¨á6ð§ý ú/þÅÿÅU9»Õõ½{áÏ…µMJ}M¾Óཞà2jN’²Ü]3(Ø` æ€~cÐ×ÿ 5ÿRþT¿ûUPÿ 5ÿRþT¿ûUðÓ_õ(ÿåKÿµQEðÓ_õ(ÿåKÿµQÿ 5ÿRþT¿ûUPÿ 5ÿRþT¿ûUðÓ_õ(ÿåKÿµQEðÓ_õ(ÿåKÿµQÿ 5ÿRþT¿ûUPÿ 5ÿRþT¿ûUðÓ_õ(ÿåKÿµQEðÓ_õ(ÿåKÿµQÿ 5ÿRþT¿ûUPÿ 5ÿRþT¿ûUðÓ_õ(ÿåKÿµQEðÓ_õ(ÿåKÿµQÿ 5ÿRþT¿ûUPÿ 5ÿRþT¿ûUðÓ_õ(ÿåKÿµQEðÓ_õ(ÿåKÿµQÿ 5ÿRþT¿ûUPÿ 5ÿRþT¿ûUðÓ_õ(ÿåKÿµQEðÓ_õ(ÿåKÿµQÿ 5ÿRþT¿ûUPÿ 5ÿRþT¿ûUðÓ_õ(ÿåKÿµQEðÓ_õ(ÿåKÿµQÿ 5ÿRþT¿ûUPÿ 5ÿRþT¿ûUðÓ_õ(ÿåKÿµQEðÓ_õ(ÿåKÿµQÿ 5ÿRþT¿ûUPÿ 5ÿRþT¿ûUðÓ_õ(ÿåKÿµQEtüOÿ ‹üo¯ýìjûî<ß3nØäO½œíÏNõìQ@ÿÙtraitsui-7.2.1/docs/source/traitsui_user_manual/images/FileEditor_demo.png0000644000076500000240000006433114046644454027512 0ustar aayresstaff00000000000000‰PNG  IHDR °ŒÓ¹ò pHYs  šœ IDATxœìÝyxU¢†ñ¯º›B hÂV ;ÈÄ‘EAaÔQDÇå:î+ŠÊˆ‚è€È à‚ŠŠ¨Œ «"("*a“‘-„° !twÝ?´=IÀÉû{æñ6ÕÕÕ•xçòÞS§N9;w´}μ5ž¢> Žèâ„`\9·¨Ïâäâoâb%7 o7ðïpZûvƒ'7PÔ'q’ñ—q±²:Í“•SÔ'ÀQeåhuZ1/bþã•4›3œ¢>þ\±ÿ ‹À*Vö(ê3 Šý_X¾¢>Ø,hÊ`íƒ óotÝb>»P$§€¡© ¥;äÙRà_XÅ U"tìØ±¨OPB}õÕWE} E€À*)bbbŠú%Ξ={ŠúŠs°,#°,#°JÇq œ{ì"°,#°,#°,c™pFÚžë•4oO¤¤ìœ€$¹®¤2¥½’º”? )."X$çÆ€egÀVNNNDDDoùýþW_}uÆ ÿ÷ÿW§NS|bFJJÊ÷ßïñxn¸áîÑà”ùe×~IžÈ ’¢|’äu$É<†g~¦OR=í‘ä$yý5mÞw$™ °çöDG–’Ô¼œ«{¬ÜiX©©©ï¼óΪU«V­Z•––ߢE‹V­ZÝtÓM‘‘‘¡ÝfÍšõÄOHÚ¸qãûï¿_$§:þü¡C‡JêׯŸÏwšþ>À©t:ÁÂ… ÿñìÞ½;´%55555õ“O>yÿý÷ß|óÍøøx³Ýãá'%TÀu%¥e JfTJ’cÆŸIiNYéð •—2£YAýñ)×ülWÒþœý’Î?ëøÏí´ ¬3fÜtÓM@@R‡Ú¶m[µjÕuëÖ}þùçkÖ¬IIIéҥˢE‹bcc%uïÞý©§žJMM½ù曋úÄ9íëé§ŸgÔ¨Qýúõ môÑG~øá·Þzë÷ßÿðÃo¿ývI>ŸïÿþïÿŠîd@‘ÙôJÚuÐüÉ ýà Fž?õÇôh'ìÝð±+s9,¶ûî¹’¤RÇ}n§×%¶={öüú믒Z·n^W’"""žy晊+J:¦éV~¿?%%%---Ïö¤¤¤lÙ²¥0ÉÊÊúñÇׯ_Ÿ››[ø¯–~ûí·åË—oÚ´Éï÷ÓgÀêô ¬ŒŒ ó"!!!ÿ»‘‘‘ï½÷Þ›o¾9xð`³åÀqqq±±±&Lí6hÐ ØØØ=züþûï 8÷Üs;uêÔ¤I“ÄÄÄÅ‹KJMM½á†âãã;uêÔ¼yó&MšŒ1"ü‹víÚ»`Á‚Õ«W÷éÓ§V­Z:tHLL<÷Üsÿõ¯åääüéÏâ÷ûGŒѨQ£-Z\rÉ%­Zµª_¿þO<‘ÿ³ûöíûöÛoÍUQPHA× º®ãxÇãñ8ã‘ã9ôè]Çã8Çñz¯Ç‰ð8Ç+Ç«C[|Žãs¯ãxçÐgÍGäñȺàñßB¨ÓíaµjÕ"""rrrfΜyÏ=÷Ô¬Y3Ï-[¶ ÿc04ÃBáK¹¹¹@`ÿþý7Þxã×_Ú¾~ýú«®ºjÚ´i·ß~ûÖ­[CÛÓÒÒFŽBÝLî¬X±bôèÑÙÙÙ¡333_|ñÅ={öŒ=úè?Ë<0eÊ”ð-{÷î7n\zzúË/¿Ú¸mÛ¶óÏ??++«M›6³gÏ>ú1ÀáôÁòù|;w–´{÷î: 6ì§Ÿ~:¾C%''ýõ×7ÝtÓܹsßyçË/¿\RNNNŸ>}¶nÝú·¿ýmÆŒ3gμå–[Ê”)#iüøñù/á ><;;»_¿~S§NýòË/‡jšï­·Þš8qâQ¾ýùçŸ7uÕ¾}û)S¦üðÃo¿ýö…^(éƒ>xöÙgC{Λ7/++KRRRRxö€£st,åQ)|ùÌèÓá×¥¼*å•OòI¯<^yyœCûx½üÇqä8òyåóú”Ç zÜZþôÁ’4|øð•+W¦¥¥eee=zôèÑ5jÔèØ±cçÎ;wî]øCÝ|óÍÏ<óŒyݵk×6mÚlܸÑuÝÞ½{7Î, Ú¶mÛŒŒŒiÓ¦8pàçŸnÒ¤IžƒÜzë­Ã† 3¯›4iÒ¹sçK.¹dÿþý?þxÿþý \ø*==Ý|ï…^8uêÔÒ¥KKªV­Zûöí{÷î½|ùòÑ£GßsÏ=f{×®]£££333«V­zÌ¿/pú9½F°$ÅÇÇýõ×ÿûßC ŠnÞ¼yÊ”)7ÞxcãÆyä‘ßÿ½‡ºí¶ÛB¯ÇéÛ·¯yÝ·oßð%×{öìi^˜ùõáêÖ­ûä“O†oiРÁ Aƒ$ï¡ù[f>–Ü Nlë´ ,I+V;vìÏ?ÿ}úÑ?>t”GáS¦Q£Fù7†ú,%%Åœ^+V¬0/®½öÚ#ùHq )è%ù<ŽþXÃ]:üDB³ÅôÐCݺu Ot@œN¯9X’Þ~ûín¸aÍš5ëÖ­»é¦›òï0`À€<£J'OŸ>}>ùä“É“'Ož<9|{¿~ýx”<855uúôéß}÷Ýwß}þVLL̨Q£J•:ô€îÐeÄÔÔÔôôt&¿PH>Ç•áuø®@sóŸ“oÏ$™‡þzÍ}‚aï–vþØbþéUñšƒ%éÜsÏýüóϯ»îº˜˜˜ðíŽãÔ©SgôèÑ£FŠˆˆ0=¹§Ïkf¸I¡×á[·+ß2 ¡?æ_¾¡C‡ï½÷^ãÆC[Ê–-{ûí·‡?ëÆ6t&¡³}ñÅï¸ãŽð[+T¨Ð«W¯o¾ù¦cÇŽ¡={ölذ¡ã8×]wu@ñàìܹ³¨ÏáˆRSSSRRvíڕиqã²eËžšïMOO7+`=º_¿~’víÚµuëÖÈÈÈš5k†ò®0ü~ÿ–-[222bccÒO™™™Çô #™²4oVJª}paÇŽcbbLiu ¬Û³gÏW_}µ¡t‡üo]ß:p‚ÿ5Ë/é£ß‚’ü¹AéÐÀ‘ù{Îq]Iî¡u°œÐö@Еäñ:’<®txdË܇èó9’®¬á•T§ìñ_è;í.†‹/곤J•*¸rÄŸòù|5kÖ̳¦|~Vê œ&NëÀ8’øRAIÎÚ#ÉÖbf¾PL©˜?ÝóOŽcãdðF° }Ë-·H ŸÞN+fVôÙgŸ]Ô'R«QQQÇ/ê³°éíœ\"°Œ¬’bÏž=E} ”V‰ðÕW_åÙÂåBÀɾìvIF`+çÐS¸¼EÈSÜ3Œ9XÅJ¹È¢> ¡Øÿ…E`+5*páp(öaXÅJã¸`ÙcxR"E l„Û8ÎÎÂë§-«X)åU»ÚÅüegºvµÝRÞ¢>‰“ŒÀ*nâʹ'0Ž8•ÐÅ Á¸rÅüú $gçÎE}°/7 ÕižÍξÜWÀ©äqT.R5*¸ã‚Å~ìÊ °,ã!€e€e€e€e€e€e€e€e€e€e€e€e€e€e€e€e€e€e€e€e€e¾Â씜œ|²Ïáš6mjëPü»À¢BþíìܹóOwªT©Ò ŸŽÁ®]»lŠwXTÈ¿£¹D`Y¡F°PxŒ`XF`XF`XF`XF`XF`XF`XF`XF`XF`XF`XF`XF`XF`XF`XF`XF`XF`XF`XF`XF`XF`XF`XF`Xæ+êÀÉõæ›oõ)P|ôïß¿0»XÅ\ƒ ‹ú,8ã-Y²¤ð;X%B¥J•Šú8³]z饳gÏ.äÎÌÁ°ŒÀ°ŒÀ°ŒÀ°ŒÀ°Œ»QdK’>˜·A’œ $W®¤RŽG’뺒žìRWRTQ"Ç…,ËÁB‘ù`Þ¯’έ]O’_’ä8’t%)BAIþO—4¬í9EtŽ 8]üðË-òx<·Ýv›cbpf"°Pd‚®#iÝÆõ’ür$E¸®$÷Ð…kG’Çu%=0Ÿ$O@’äñHr¼I¹¹I+IŽG’7 Iw­-©k¡ÏdèС7n̳±råÊÕªUkÚ´i§N<žSq1}Μ9ƒ ’tóÍ7û|üwÎ`üq@Ó§Oÿᇎôn||ü½÷Þ{÷ÝwŸ>£J;vìxþùç% 8°~ýúE}:€¼,™}r%EÄÅKò»^I=’äJR)$¹®$å%Éç•$7(I^ïÇñ»Òá™[¥Ý€¤÷fþ,©kÇt>ÑÑÑmÛ¶5¯<¸eË–Í›7ûýþÔÔÔ{ï½wÁ‚o¿ývttôñü¨¶mÛ¶mĈ’ÚµkG`ÀiˆÀÂ>þøã_ýõ˜>R¯^½^½z¤ó9Åš5k6oÞ¼ð-ééé&L2dˆßïÿä“Oî¼óÎ7Þx£¨Np!°ð‡N:mܸÑï÷rÿR¥JuêÔ鸿ÎëõHòy½’Ì€ÔÂ¥›%U–´eç>ÉLÄ:´&Öÿ|ÖñHª%)}÷~I¶ª!I®WRе3eêœsÎyôÑG«U«6pà@×u'Mšô·¿ýí²Ë.Ë¿çÞ½{7mÚjÖ¬Y±bÅ£377÷§Ÿ~òù|µjÕŠŠ:¹+|eff¦¦¦fggW¯^ýœsÎùÓKœ®ënܸ133³jÕª•*U:©çÅë`á111¡kd…‘˜˜sòÎç41`Às=NÒË/¿œçÝï¿ÿ¾k×®111Íš5;ï¼óÎ:묿üå/ .Ìœ/¾ø¢mÛ¶åÊ•kÞ¼yãÆË–-{É%—|ûí·Gÿv×uoºé&ŸÏçóùîºë®É“'û|¾æÍ››w{õêeÞš6mZø§’’’ºwï^¾|ùÆ·nÝ:..®^½zcÇŽÍsð;ï¼Óçó]xá…999ÿþ÷¿+UªT§NfÍšU®\¹]»v‹-*üo ŽÀÂÿhݺu…  ³g… Z·n}"ßå÷ýþ ?èøƒŽOŽONé¨ÈÒQ‘å£#ËGG–-[¶lÙ²eÊF•)U6ºlÙè²eË•-[Îl.ésŸã8r9®‚®‚'rny<ôÐCÕªU“4wîÜ={ö„¶§¤¤tëÖ-Ï…ÅÅ‹÷èÑcÅŠánjӭ[·%K–@ „;&''wíÚuîܹá#ëׯ¿ë®»†þÙÜÜÜ@ ““sà 7<ôÐC¿ÿþ{è­ï¾û®G?ýôS!~=€¼,üŸÏwÑEfÏ‹.º¨D-%ЪU+I999¡æØ¶m[=öìÙSºtéÿûß«V­JNNþ÷¿ÿ‘™™Ù³gÏß~ûÍì¹ÿþG}4Ô¯_Á‚ذaÃØ±c=ÏÁƒï¾ûî¿ÑuÝ[o½õõ×_—Ô¯_¿É“'{<žk¯½víÚµ}ô‘Ù祗^Z»víÚµk{÷îm¶¤¦¦^zé¥{öìñz½÷ÝwßgŸ}¶råÊ矾nݺ’Iòº’””¯’•$ŸG’RÓ÷KòšUàÿ8Œe­Zµúä“O$mÛ¶Íl:thjjªÏçûàƒzöìi66iÒ¤fÍš×\sÍÖ­[_~ùå§Ÿ~ZÒ‚ öïß/i̘1fÖZ­Zµî¸ã3w^Ò¾}ûÊ•+þu®ëÞvÛm¯½öš¤þýû¿ñÆf-®²eËÖ«WÏMRõêÕëÕ«þÁaÆmÙ²EÒ3Ï<óàƒšÍ›7¿ì²Ë÷îÝ{çwöïß?ÏÊ^+Vœ;wníÚµ%5mÚôòË/÷x<“&MZ»víK/½4xð`{¿H(ÁBŽ>:åóùNdnûªY³fæÅŽ;Ì‹¤¤$I]ºt Õ•ñ·¿ý­iÓ¦’–/_n¶„z諯¾ ßóž{î™?þüùóó×Õí·ßþꫯJ0`@¨® céÒ¥’Ú¶mª+#!!aذa’233þùç<Ÿzá…L]…Œ?þœsÎ ÿ)…Ç `f»óÍ7¾Û¶m[+sÛ$y=ÒáU¯ 3s(׬n•+—2["‚’”+I ˜¡*W’|f^“Y+Ëo +--ͼ0Kaåää$''KªP¡ÂgŸ}–gg3-”&íÚµ+S¦Lvvöˆ#fÍšuóÍ7wéÒ¥AƒGº­ïŸÿü§»0`Àĉ _W4gUàÍ çŸ¾y±lÙ²F…¿Õ¡C‡<;GFF¶hÑÂ\a,ä·BÁBÁZ·n]¾|ùüÛË—/‚sÛÏPË–-3/ªT©"iÕªU999’Þ{ï½nù˜»·oß¾}ûvIÕ«WŸ4iR\\œùàwÞÙ¨Q£ØØØAƒíܹ3ÿw™º’Ô¸qãczJOrrrnn®¤&Mšä·Q£F&éÌ(WHùòåkÕª•s 6ìÝ»·ðç#X8ŸÏ×¥K—ÿþ÷¿y¶wéÒÅÚÜvÿã7¾°±(7z©ƒŽ$™‡ š5Ü}ÈŒf9’ä8®‡™çž„¬?Ë´H0xè.Å5j˜r*Pè>¾«¯¾ºgÏž/½ôÒ;ï¼³jÕª`0¸cÇŽgŸ}ö¥—^5jÔ-·Üþ)Çq"""<øÈ#œwÞy_|q!O2ÿ‚a'ÎuÝ“qX(Þ,QþÙîuëÖ=ñ¹íg¢ü1%%ERÓ¦MÍ\¥fÍšù|>¿ßà 7 :´0‰ŠŠzðÁ|ðÁŒŒŒ… Ž?~Μ9™™™wÜqG·nÝjÖ¬ÚsÒ¤IÕªUëÖ­[ ¸æšk–.]šg‚Ô‘4kÖ¬T©R¹¹¹«W¯.ð§0©dîˆ Ù»wïÆób™¹N:%aµ3°‹K„8šðÙî…_Á¡üù=*åuJy¯_å]7áu"¼ŽÇq<Žã‘ã‘cÖ¸òxçÐkŸ×ñy×ã¸'tƒA·”Ç)åqŒ  :ÖÖÁÚ¼ys·nÝÌ¥·¾}ûš‘‘‘7–Tàš¢GW¡B…Ë/¿|öìÙ=ö˜¤ÜÜÜ%K–„ïзoß.]º<÷Üs’vïÞÝ»wשּׁ¬e.S†”.]Ú̯ÿþûïóïÚ˜ÿ"oþŸâÀföU‹- ý“!°p4111‰‰‰æu Y·=-[¶tëÖͬh•¾f•Z¸pá”)SÂ?²gÏžK.¹¤aÆýë_Í–|011ñ¢‹.Ú·o_øž¡*W®œÿ«ï»ï>Ós«V­ºñÆÃߊˆˆ0//^œçS&ž¾ûî»Q£F…oÿå—_}ôQIÑÑÑ ä} ö½÷Þ»qãÆð-ÿüç?ÓÓÓ%µlÙ2ÿ¹ŽŽK„ømÚ´1×›Ú´ic÷È@P’kæQ™T柮$yÌv3å‘ÏÓ:4YËÜchöô8’<Á?ŽðÿÉC÷ ”––ööÛo›×ܲeËòåËg̘aI‰‰™2eJ™2eBû?ñijfÍJKK»ñÆ7oÞ|饗VªTiÉ’%#GŽüî»ï$=ôÐCfÏfÍš9RRï޽njÓ¨Q£ììì¹sç4HRlllÇŽ <¥ &üøã+W®œ6mZË–-~øa³=>>Þq×uÍ¡;wŽ7ç6xðà™3gnÙ²åá‡Þ¾}»9«/¿ürìØ±f®ºYà4ÏíÞ½»{÷îÿüç?/ºè¢M›6}øá‡æ±Öõë׿ãŽ;Žã— %œSàML(6–,Y’˜˜x‚î]¿~½$볯®ùpµ¤êõëK*둤9Ë·IêÖ¢Š/Äà†–vÑÏd–Ç+I V¤IêÖ"NÒAIÒÆ5k%M»êV"8Š-ZüðÃGÙ¡yóæ|ðAž%=%-[¶¬cÇŽ^¿ëÕ«×ôéÓMÊP©R¥êÕ«7mÚ´ÿþ]ºt)p¹„V­ZÍš5ë±Çûúë¯C‡:÷Üsyäó´£téÒ‹->|ø„ 6oÞl&N™Ë¯/¼ðBhI*s'|}¬Zµj™• @ß¾}׬YsöÙgKš8qâsÏ=7yòdóÁð4mÚtîܹ?þø¼yóB7ÖªUëÞ{ï½ë®»òÿ>ŸïÃ?|òÉ'Çwð iT%&&Ž5Šº€ãÃV1geë$ùÛû)’jÕO哤ÏH—t]K`yGÒÅÍΑtÀ•¤ ¿®•ô~ŸÂŽ`¸ßÿÝ<6§^½z¥K—>Êž{÷îݰaCùòå ycàÑùýþÌÌÌ`0xÖYgø]›6mòûý±±±UªTÉ¿®©ÁªV­š™d–››»~ýúýû÷W«VÍ,ãÇÎU+FJª]ΣÃë°ßrAœB³¬Âö,åH’_ÒáçºZ–_ƒ’dî©Ë.q2O¼+V¬X±baö,_¾|óæÍm}¯Ïç3«Æé»ÌM……TªT©„„ç%wXÆŠLõ:õ$ÍOZ.Z ÝëóIr|æaP’ë:’<>G‡3¨Ü@P‡§™çæIž€+Éu’Z4;†a¬#°€’«k×®¥K—.pþàDX(27Æì’t]û#>Èï¸ED˜ X½ᮼòÊ+¯¼²¨ÏŠ!æ`XÆŠÌé¹x'Ž,Ë,Ë,˘ƒU"¬[·®¨O8NuëÖ-êS€cÆ€e€e€e€e€eÜEˆg}\œ¤ÙߦK’”äÊ•TÊñHr]WÒ=-Ï’t`÷î¢;MÀŒ,ËÁB‰3ûÛm’έ]O’_’ä8’t%)BAIã~Ù)éŸ5ÊHÊÎÎ.šœ±ÁéÏþÊ IDATŠ¡@ 0qâÄ!C†lܸ±¨Îá§Ÿ~zôÑG§NZT'Eˆ,”8Aב´nãzI~9’"\W’{èÿÝp$y\WÒó?»’<I’Ç#Éñ$åæz$y<®$9IÞ€$]ð—XIM¶m;…?MÁ>ÿüóáÇKÚ´iÓ¤I“Šäî»ï¾µk×N›6-!!á¼óÎ+’s€¢B`Ef÷îÝ'N”tå•WÖ®]Ûâ‘sÕ3ŸO?ýtÍš5UªT¹îºë,~]<È”\Jœ}r%EÄÅKò»^I=’äJR)$¹®$å%Éç•$7(I^ïÇñ»Òá™[¥Ý€¤O¤JjÒ T!Ï$==ýå—_–tÞyçÙ ¬‹/¾xðàÁ›7oîß¿øöÙ³göÙg5:5räÈwÞy§I“& _(, òz½,ÚshذáSO=U´çE…ÀB‰ãõz$ù¼^If•'(šd%¹’äõH’Ï‘$3ˬåûú/Ïá™[^IA÷d]KOOߺukíÚµcbbtø|vìØ‘––V¥J•³Ï>ÛâwíܹsëÖ­qqqgŸ}ö‘.5ŽŽI@˜>}zBBBÏž=Ío½õÖ„„„„„„Y³fIÚ½{·ùã¢E‹&OžÜ­[· .¸àª«®úüóÏ%íÝ»wäÈ‘­[·¾à‚ ®¸âŠvíÚµk×îŽ;îÈÈÈÿÀæo½õ–ÙrÑE%$$|öÙg’~üñGó^úHvvö!C.¼ðÂóÏ?ÿŠ+®¸à‚ ÇŽ{àÀÐ>«V­2\²dIžŸ(tÌÅ‹›-#GŽLHHhÓ¦õßœþÁB‰ã÷%yƒŽÌ¸“”ëHæîÁÃãX³Åùc‹+GRÐ#IfŽUŽÙßýã³®‚Rè¨G@ž-’ü~ø»Ó§Oÿä“OÂw ƒwÝu×¢E‹Â7îØ±cΜ9kÖ¬™4iRµjÕ$¹®~@I¹¹¹áßh^çææš?¦§§8pÍš5æŽã¸®ûûï¿3fåÊ•¯¼òŠÏç3ßžç°!~¿ß¼ú³%ôP¢X@èÙ³gbbâÚµko»í6IO>ùä…^(éœsÎ ßí“O>)]ºt¿~ýZ·n]®\¹Úµk;ÖÔUçί¿þúºuë&''Ïœ9söìÙ6lxã7{챿ñý÷ßÏÉÉyüñÇ/^\§N×^{MRéҥͻS§N]³fã87ß|óÀË—/¿råÊ^x!))髯¾š7o^÷îÝOê/Š %Nn0()*lt*‘ßè„ÝKhF§rÍ`– H’땤I:4fe¦e¹…>‡2eÊÔ¬Y3´F|\\\Íš5 ÜmâĉáWÙ222:tèP±bÅaÆEFFJªV­ÚÅ_¼téÒ;v|ÿý÷GúÆ*UªHŠŽŽ–™çë,X ©Y³f=ôÙÒ¶mÛ±cÇ>ôÐC999ééé…þÉœÎ:uê”gÓ!Còïæóù.¿üò×_}Íš5Á`ð8 2©·~ýú;wV®\Ùl¬\¹²Y¦ p¬,”8ŽG:|Ÿ 7_Šx¼Òá»?‚Žtø>ÁRfV–O:}ŽÿÅ…'tƒA×”'(Gr$Ç+Ç+×+׫ « +¯W^¯WŽ+G‚Ž‚Ž<>y|ŠpáÈuåºrœC·J‡ŽpLFŒ1pàÀе?S?^ï¡£ä_2tðàÁƒ6˲ ¯¿þzçÎÃ÷wÇ*ÏZ´h1vìØÖ­[‡¤=zü÷¿ÿmÓ¦‰§œœÇS§Nûî»oòäÉåË—¡yóæãÇoÚ´iè$£££|ðÁûï¿?Ï9›B»@‰âìܹ³¨Ï'Ñ’%K322ŠúDN#ƒ–gKªU?A‡e0ûÌUA3]Ýlÿx×,Á`jáТ IòšÏ:’´á×µ’F4+}¬§²²²‚Á`áWCعsçöíÛcccC ¯“ýû÷çääDEEEDD„oƒ¿ýö[VVV­ZµLlIvvöÆË•+WµjÕãX;¾ðêÖ­{òÇdöìÙ‰‰‰…Ù“9X(qªVŒ”T»\X¥Cüæ…fr“YëP„…­Œe&e™ÀÊ.¡ãâõzÃG‰ £råÊÇ—VFTTTTTTþí'>>¾0G(S¦LÆ û xã!€eŒ`¡Ä©\µº¤ùI?Hrs%É1ôº’‚Á€$7èHò”òèðúX¹þ€$ÇãÑá'æ¾ÇÐÜLØ0¡¾$)ïQ€’†,ËÁB‰sYöjIÇç}ØË‰+åÿY’TÑú‘gF°,c %Ná—Bàø0‚```s°J6À©Ä€e€e€e€e€e€e€e€e€e€e€e€e€e€e€e€e€e€e€e€e€e€e€e€e€e€e€e€e€e€e€e€e€e€e€e€e€e€e€e€e€e€e€e€e€e€e€e€e€e€e€e€e€e€e€e€e€e€e€e€e€e€e€e€e€e€e€e€e€e€e€e€e€e€e€e€e€e€e€e€e€e€e€e€e€e€e€e€e€e€e€e€e€e€e€e€e€e€e€e€e€e€e€e€e€e€e€e€e€e€e€e€e€e€e€e€e€e€e€e€e€e€e€e€e€e€e€e€e€e€e€e€e€e€e€e€e€e€e€e€e€e€e€e€e€e€e€e€e€e€e€e€e€e€e€e€e€e€e€e€e€e€e€e€e€e€e€e€e€e€e€e€e€e€e€e€e€e€e€e€e€e€e€e€e€e€e€e€e€e€e€e€e€e€e€e€e€e€e€e€e€e€e€e€e€e€e€e€e€e€e€e€e€e€e€e€e€e€e€e€e€e€e€e€e€e€e€e€e€e€e€e€e€e€e€e€e€e€e€e€e€e€e€e€e€e€e€e€e€e€e€e€e€e€e€e€e€e€e€e€e€e€e€e€e€e€e€e€e€e€e€e€e€e€e€e€e€e€e€e€e€e€e€e€e€e€e€e€e€e€e€e€e€e€e€e€e€e€e€e€e€e€e€e€e€e€e€e€e€e€e€e€e€e€e€e€e€e€e€e€e€eEX,êS°ÉW$ßš™™9eÊ”éÓ§oÚ´i×®]•+WnÕªU«V­ºwïÞ¨Q£"9%[Š °/^<`À€ßÿ=´eçÎsçÎ;wîÈ‘#GŽÙ·oßSp»ví7nœ¤¾}ûÖ­[÷|#(!Nu`Í›7¯ÿþ999’bcc¯¼òÊ5jlÞ¼yùòåß}÷]NNÎ]wÝõÃ?<ûì³'ûLÒÒÒÆŒ#©M›6°è”ÖÞ½{ï¾ûnSWW\qÅØ±cK—.zwæÌ™wÞyçÞ½{_ýõ=ztèÐáTž€-§t’û /¼°}ûvI 63fLx]IêÑ£ÇÔ©SÍë‰'žàwåææ®^½zÍš5ÙÙÙÇ}`0¸mÛ¶+V¬[·îÀ…ùHzzzJJЉÈp[·n]µjUþí ø9¥õÑGIŠŠŠzã7Ê”)“‡ÄÄÄ.]ºHš={ö¶mÛ$­X±"66666vñâÅyvNNN6o-\¸0|ûÂ… /¹ä’š5kvìØñ/ùK5®ºêª¤¤¤ÐS§NíØ±£ùãõ×_oŽcNÏðûýÏ=÷\“&Mš6mÚµk×¶mÛÖ®]û¦›nZ¿~}øwíÚµË|vÁ‚S§Nmß¾}£F:uê?hРììl×u§L™Ò¸qãfÍšuîܹV­ZÝ»wÿõ×_óü,ûöíûöÛoÀ1þFÀéèÔ]"LIIIMM•tÁÔ«WïH»7nóæÍ’Î:ë,I@Àd‡ßïϳ§ßïÏÿÖ+¯¼òÄO˜íŽã¸®+éË/¿\¼xñÔ©SÍeÇÐCÌÃ7>ðÀS¦L ß'77÷ã?^¾|ùìÙ³ãââB4Ÿúâ‹/^{íµÐü~ÿ„ 2224hðôÓO‡’““³téÒÞ½{Ïš5+>>ÞlܶmÛù矟••Õ¦M›Ù³gÿÙ/œîNÝÖÚµkÍ‹† e·J•*µhÑ¢E‹y. FvvöÓO?êÖ­ûñÇoÙ²eùòå#FŒðx<999>ú¨ÙíŠ+®HJJzë­·ÌŸ{¤¤¤¤¤Ë.»Ìl1b„©«fÍš9ò›o¾™2eй·qóæÍ×\s;}ûò|õË/¿\½zõW^y嫯¾züñÇ«V­*éƒ>6lX¥J•^|ñÅo¾ùfôèÑ-[¶””––öÁ„>;oÞ¼¬¬,IIII[·n=ÖŸœnNÝÖŽ;Ì‹“·ÒÕ¢E‹ÌŒ«áÇÿå/‘ÿüÃï÷Ï™3GRffftttTTTíÚµ÷ïßo>UµjÕÚµk‡²}ûö‘#GJª^½úûï¿_©R%I Ý»w÷ù|o¾ùæêÕ«'Mštçw†uÅŠ?øàsœÆW©RåöÛo—äõz§OŸÞ¸qcs:´jÕJÒŠ+BŸíÚµktttfffbb¢)3pF;u#X»ví2/Î=÷Ü“ô¡fÊ3aë¶Ûnûè£>úè£èèè?=ÈÊ•+Í‹‘#Gšº 1b„¹8Ú'¤k×®á•Ö«W/ó]-Z´0ueÔ¬YÓüqݺu¡qqq)))sæÌ™1cÆŸÿà´wê«lÙ²æÅÎ;OÒW´iÓ&22RÒ˜1c:vì8a„_~ùÅLÃ*¼P<µnÝ:Ï[M›6UAe®ý…”.]ºB… ’4hgOs…4 †oŒŽŽnݺµÇSôO.'îÔý~öÙg›?þøãIúŠªU«¾øâ‹çœsޤիW4è‚ .hРÁСCCãgÊÄS\\œ)¤~¿ÿ–[n¹ÿþûŸ|òIsÑ-&&ƼeÖ ·|ùò£cLLL÷îÝß{ï½ûï¿_RnnnÉ“n-Z´0/–.]šÏäääð}ò;¥³ªï½÷^sÙn„ ÿýïó¼ë÷ûŸzê)³\VÿþýÍ]xuëÖŠŠ’ôé§Ÿ†ï¼}ûö÷Þ{/φ Òµk×^½zeff†oÝß~W`DD„y¾È»Ââéؽ{wø[>úhZZšNB`­^½zâĉ¡•,Àí”V‹-n¾ùfóúŽ;îxüñÇúé§ììì 6|úé§—^zéK/½$)22òÖ[o=t~Y×`þüù>ø`JJÊ/¿üòî»ïöéÓgÓ¦MyŽß¸qã+V|óÍ7ýúõûé§Ÿ‚Áàþýûg̘1tèPIgŸ}ö\Ú¹zõêfBÕ‡~øÆoüúë¯æiƒ±±±fÄkóæÍW_}õ[o½µvíÚÏ?ÿüÞ{ï4i’ù–n¸Áâ¯eÍš5;v|衇ºuë–çîBp&:u C‡=pàÀäÉ“<8~üøñãÇçÙ¡nݺ'N ͈—ôôÓO÷éÓgÿþýo¼ñÆo¼Ú~Í5×äÄêÝ»÷믿¾lÙ²¯¿þº}ûö¹¹¹f6z™2e†¾B™2e:wîüÅ_¤§§?øàƒ’^yå•+¯¼RÒ#<’––ööÛo¯\¹2ÏŠ Õ«Wï½÷Ê•+gí7"-[¶Ì¼HMMMOO=‡œ¡NõÂK^¯wÔ¨Q/¿ür“&Mò¼U©R¥ë¯¿~þüùá+sJjÕªÕäÉ“[´háóÊÁråÊ=ñăӼˆˆˆ˜9sæÃ?\­Z5I999®ë–/_¾S§NóæÍëÓ§OžoüÏþsÛm·…–c_RaÔ¨Q<ð@åÊ•C[|>ß_ÿú×?ü0<€B_z‘ç­üK[™íáû÷ìÙ³aÆŽã\wÝuÔÅ€sò–ýüS¿üòËÆÓÓÓ+W®Ü¬Y³?}JLvvöºuëÊ•+W£F?]“sß¾}›6m*W®\Íš5¾§ßïÏÊÊ ƒùo Û¶mÛµkW™2eªW¯nfƒ$æ1>Ö»dÉ’ÄÄÄûìsì±Çüñýúõ;å”SfÍšUØ¡²²²ÿþ}ûö=ì°ÃV®\Yü½ÿó?ÿÓ·oß¾}ûŽ?>„0dÈž={>õÔS!„yóæõìÙ³gÏžG}taÿU«VÍš5+—Ë5׋¶/µ ,8óÌ3g̘Q¼ñ…^;vì¼yó²/wÝu×K/½tõêÕo¿ýöUW]UØmÆ ãÇ_½zuYYÙĉC555Åñ”Ëår¹\uuuöåûï¿ÀŒ9òÔSOÝî/ h«¡?üðì³Ï^¹reYYÙ~ðƒgŸ}öüã~ðƒ²²²5kÖœ}öÙùË_²=/¼ðÂl êî»ïΦ̇n¼ñÆ7ß|3„pýõ×ï¾ûî!„iÓ¦½øâ‹Ç{l¡_¿~/¾øâ‹/¾øØceûOŸ>}Íš5!„_|±ðÌÀͬ†&Ožüî»ï¶iÓæ®»î:ñij èÝ»÷¸qã>øàƒ»îºëòË/!$IróÍ7{ì±+W®üÖ·¾5cÆŒ7ß|ó¦›n !Œ=ú´ÓN˾·¢¢"„ЩS§Â.»ì²Ï>ûÿ¸áÇwìØqõêÕŸûÜçzõêÕœ¯ØNŒ`54gΜ±Ç[¨«Ìé§Ÿ>pàÀÂܹs {÷î=iÒ¤ÂÂ… o¸á†ñãÇ×ÔÔôêÕëºë®kâÛc=^{íµßþö·S§Nö€ekÕÕÕ ,!téÒå™gžiðhçÎC¯¾újñƳÎ:kÚ´iO>ùä 7ÜBH’䦛nêÒ¥KÓhÇŽ;ì°m=t ÕX›xýõ׳éç>úè£>ºÙ}–-[¶lÙ²ÝvÛ­°åúë¯þùç—-[B8÷Üs?þøf9X •X›ÈçóÙŠŠŠlŠúf¥iZüe»víÊË˳ûÙŒu`g&°61hР6mÚÔÖÖž}öÙÙ" MqÅW¼ûî»Ùý|päÈ‘§œrÊv;F µ3É}åååýû÷!<÷ÜsMü–éÓ§ÿò—¿ !\qÅûï¿aüøñË—/ßìÎ555‘Žh½VC|paÖ¬Y>ø`ñö•+WŽ=zذaçœsNaãG}ôÍo~3„pÐA]tÑE7Þxc’$•••—]vYƒ§-++ !,\¸pÅŠ š?þwÜ‘Má>VC—]vÙî»ïž¦é%—\ò“Ÿüäµ×^{ï½÷ž|òɳÎ:ëøÃÂ… ‹—\Ÿ0a‡~XZZúãÿ¸´´tèС_þò—CO>ùäÃ?\ü´½{÷!är¹û·›5kVaMÑ7Þxã¸ãŽ›0aÂI'T˜ìÐVC}úô¹ï¾ûÚ·o_SSsÍ5×üñƒþ§ú§—^z)„ðÅ/~qìØ±Ùž…O^pÁƒÎ6^yå•»îºkáÛßþö‡~XxÚ#F$I’}×È‘#Ï8ãŒlûìÙ³³;K–,Yºti3½H`{ÚI+I’,wJKK?:xðàx`èС…-¥¥¥ûí·ß”)Sî¹çž’’’ªU«&L˜BèÝ»÷w¾óžݺu»æškB+V¬(Þ~Øa‡ÝqÇ…çÌ~záÔSO0`@’$_þò—÷Øcè¯h~IeeeKCëµbÅŠì²9ŸùÌg²ITÅÖ¯_B(--mÛ¶íf*))iü]kÖ¬Ù°aCÇŽ‹Z½zuÇŽã¿€B3gÎ<î¸ã>ÑÚ§@UUU3fÌ8ꨣš²³e¶¦k×®]»vÝÒ£íÚµûêСC‡lÜ~u4¿ô!Àö#°"X‘ ,€È@d 2Ë4ì,ªªªZú`g!°v 3fÌh°%MÓ9ØQ.»ò·|¯•Üâ2 2™ÀˆL`D&°"X‘ ,€È@d 2™ÀˆL`D&°"X‘ ,€È@d 2™ÀˆL`D&°"X‘µiÊNóæÍÛÞÇA±<0ÖSùÝ@DMüTVV~ìN=zôØæãáX¾|y¬§ò»€ˆšø7Ú)B€Èš4‚@ÓÁˆL`D&°"X‘ ,€È@d 2™ÀˆL`D&°"X‘ ,€È@d 2™ÀˆL`D&°"X‘ ,€È@d 2™ÀˆL`D&°"X‘ ,€È@dmZú¢Éårwß}wš¦Gy䀶¾ó† ÊËË#þô{î¹§ººzÈ!|pħvDIeeew˜3gÎÒ¥K?öç~øá‡sæÌùË_þ²•}V­Zuå•Wf÷¯¸âŠâºÊœp “&MÊîOš4iÙ²e[y¶E‹½ñÆ555{lÀÎ,δô$IN>ùäºuëæÌ™SØ^[[;iÒ¤|ðÁ'žxâ!Cößÿï}ï{#¬ªªêꫯÞo¿ý8à€áÇ8pàÀçwÞ_ÿúׯ?nêԩÆ 4hÐðáÃ:è ÜqÇù|¾ñž¿ÿýïW®\B5jÔÅ_¼ÙƒÿÊW¾ò•¯|%„°~ýú©S§¶Oœ8±gÏž#FŒX³fÍ׿þõqÄGuTŸ>}Î?ÿü­8àüóÏïÙ³gïÞ½«ªª?:dÈž={žtÒI…-sçÎ}ï½÷¶ò„À$ÚçþÚ¶m›ÝY·n]aãe—]výõ×/_¾¼°eåÊ•·ÜrË%—\Rü½ù|~ܸq?ýéOW¬XQظtéÒ'žxâ‹_übƒ.þá8ÿüó.\XزlÙ² &\{íµêÉ'ŸÌîœwÞy[9øÂ£ÅUSS“ËåÖ®]{þùç?øàƒ…AµÚÚÚÇüä“Onœ‰#FŒÈårëׯŸ6mZƒ‡fÏž½xñâ\.7bĈlËW\q 'zè¡Ó§OßÊA;Šh5kÖ¬ìÎ>ûì“ݹñÆï½÷ÞÂ1Çsï½÷¾úê«¿úÕ¯Ž>úèÂC=tÝu×¾wòäÉÏ<óLáÄO|àæÌ™sçwž~úé!„E‹ýçþgaÏ·ß~û‚ .Èår%%%ÿüÏÿüðÃÿ÷ÿ÷w¾ó]wÝõöÛoo|To¼ñFvgРA[9øþýû—••ï_0oÞ¼éÓ§5*;°ûï¿ÿ³Ÿýlv$?ÿùÏ·ô„§œrJ§NB?þxƒ‡²-%%%£Gζ<öØc!„\.WœwÀŽ+ÂÂišÞyçO=õTaðàÁÙbTK—.ýÑ~B8úè£ï¿ÿþlUÏŠŠŠcŽ9æŒ3Îxùå—üã_zé¥Ùö>úèïþîïºuëö“Ÿü¤]»v!„>}úœ|òɳfÍZºtéÌ™3 ?ëºë®ûè£B'N?~|¶qÈ!GuÔgœÑx‚W6ì´×^{uîÜy+/¡mÛ¶ûí·ßüùó+++Ó4M’¤øÑ¿ÿû¿¿í¶Û²}úô0`Àá‡^]]=sæÌo|ã›}ÂvíÚqÆ÷ÜsÏŒ3ªªªºtéRx(T;æ˜czõê•m5jÔ-·ÜRZZzê©§~Ì{ ì>q`-Z´èÛßþvv?MÓ>úhÞ¼yþóŸC%%%ßýîw³‡^yå•lÑ©ï~÷»Åk¦·oßþ›ßüæ¹çž[[[;þüC=4„P˜f^¬mÛ¶£G¾å–[^ýõ|>Ÿ­b:wîÜÂÁü­o}«xç¡C‡þË¿üËM7ÝT¼1—Ëeç÷ßÿ}]ýû÷Ÿ?~mmmUUU×®]‹ºøâ‹‹“«¢¢bèСÏ>ûì[o½µ•'3fL¶¼û´iÓÆŽ›m|ùå—³3žcÆŒ)ìyÕUW}öÙ]ºt)$°Cûĵ|ùò_üâ·÷íÛwÒ¤IŸÿüç³/_yå•ìΊ+²ÓkÖ¬ÉîÌ;7 ¬‚uëÖ½õÖ[+W®¬ªªªªªzûí·Cù|> ¬õë×g%wøá‡7d ! 6¬A`•––¶k×nýúõMùLbaŸöíÛoo×®]ã ïTTT„V¯^½•'<âˆ#öÞ{ïÅ‹?þøã…ÀÊÎvèСÁ`ÕÇ^ÛØ|âÀjß¾}ñåöþ÷ÿ7—˵oß~ÆŒ:t(l/|–°Ð½öÚkÙ4M{ì±)S¦¼öÚk[YÇaÁ‚¹\.l!GØxãî»ï¾dÉ’ÿû¿ÿ«­­ÝúBíÙ"õ]»vÍ&ctëÖ­ñ76å:†I’Œ3æ?þã?ŠÏfçGŽÙ ã€O“OXp@aUôÂ%—\òë_ÿzíÚµ÷Ýw߸qã Û³óƒ%%%ƒÞÒSí±ÇÙ+¯¼ò–[nÉî—••UTTtíÚµK—.K–,yóÍ7Û:É}âĉ?üð† &Ož|ÖYgæ’âˆ#žþùÇ{lìØ±Ù§+**Ž:ꨈ?hm¶u™†^½z}ík_ !,_¾üÆo,lÏ®ª««gÏž½õgxî¹ç²;_ÿúׇ V|5À¬ vÙe—ìbÒ›}Î;g S®ºêªyóæmöþô§?]~ùå ö%¬zöÙgW¬X‘<óÌ3³ ûÀ§U„¿ô—^zi·nÝB?ûÙϲS`¡>°Bßýîw ³Ú3¿ùÍo† 6lذ§Ÿ~:„PøÈ^ƒÝ^xá…ÂÚZx`aöìÙ7ß|sƒ§L™ÒøØúõë÷¥/})„°~ýúsÏ=·ñºð+W®üÇüÇlºúI'tÈ!‡4ùu7Éé§ŸÞ®]»êêêþð‡[:?¸nݺûï¿ÿ™gž)œvh«K—.—^zi¡ººúꫯÎ6VTTdçÍ›7f̘©S§.]ºtöìÙ7ÞxãÅ_¼pášššcŽ9&„pôÑGg³Èo»í¶{î¹ç½÷Þ[°`Á­·Þ:jÔ¨ÆK¥O˜0!›-~õÕW_yå•3gΜ;wîOúÓ¯~õ«[ºDàøÃ=z„–,Y2|øð»ï¾{ñâÅÕÕÕK–,ùÕ¯~5|øðE‹…:wîú¨xu«ÒÒÒQ£F=úè£Å߸ï¾ûÞvÛmçœsN.—›2eJñ¨Õ¸qãî¿ÿþÆK'ôèÑã©§ž;vìÛo¿½xñâý×m|ü½{÷þõ¯½–¡3fÌ#sæÌãŽ;®°ñꫯ¾úê«‹?Á7pàÀx »rIIIñÇ¿ð…/ÜvÛm… ò„zôèñ£ýèÚk¯ÍްxW¦_¿~¿ûÝï.½ôÒl(«X×®]/ºè¢éÓ§7^åaKÏVxŠÚÊÎÇü®»îBhÛ¶í¨Q£ïpñÅ———÷ìÙ3»æ4°£K*++·÷Ϩ­­}ï½÷V¬XѳgÏÂÒ ›µlÙ²÷ßÏ=÷Üm·Ý¶þœiš¾ÿþûË–-ëÞ½{ïÞ½›¸pÆ ,XðÎ;ï,[¶¬G}úô8pàÖ?ä¸íV­ZuÐA­Zµê”SNùå/¹¥+)))\0Ø¡5G`íä¾ÿýïgSò§N:tèЖ>`»‹3‹Æ–.]:oÞ¼gžy&›Þ>lØ0u; µ½L›6­0¡¾{÷î×^{mËÐlÖöÒ¾}û=zôèÑcРA'NÌ–Hvæ`Dæš-‘ ,€È@d 2™ÀˆL`D&°"X‘ ,€È@d 2™ÀˆL`D&°"X‘ ,€È@d 2™ÀˆL`D&°"X‘ ,€È@d 2™ÀˆL`D&°"X‘ ,€È@d 2™ÀˆL`D&°"kÓÒ|¼|>ŸËåÒ4m°½ñþ6I’4ÞRZZZRò·ŒF ,hÕ>XQ3ëͰ`iù{«:­©)méÃÙ‰th›«è¸v`Ïš¡ŸI÷èÚö}oRYY¹ Øiš¾°¨úg/íÞ¡,ìRÊJC©©=Í(—Õ¹°®:¬Ù~íðeŸÛ·¬ñ(×–Á€Vê…EÕ·ÏÞ½[û´}Y’$Iš¦ù4„’ìÙ¹Á_¸ÝÆÛMη&!””„ò$”· åm“Û_Ú-„eGô+oâïN`@kôþG5ÿùÂîÝ;„]Ú&ù4$Ùßþ$ iš!©««$äÓ4¤In·ý¶Xê6„vmBç]’[_Ø}¯•{vkÒ¹B­Ñso&íÚ†veI>MCivr*_÷7¿þÿÒ$…/ÝnÓíV?.Ю,i_“>÷fò¥![Ùk#­N>Ÿ탲ò6!__T!ÝxF°pJ+„4øáv‘$IHÓ4I²¡Ã4¤iYixíƒv£òÕMù\¡À€V'—Ë-YÑ©[§lĪxªPš¦!›•$IÑT,¶Uq©&IHóiYõ-Ú”†%+Ês¹u vHiš®®iÓ=IòiáÔUê×jÊçÓ’P7)+©hq»M· ~!«×ºÓ³u;¬ªnÓÄ…Ç´Fù|ÈåCýUý 캕¢ Ù­búÒ§â¶ø]͆ ÃWõ;4}YW­Q> ù4¤éÆIWIR÷e6ß½~‚{¨/ƒ¾m[jr­âHþ¶Ûìý¬¿møng»åš|>V`@k”O³¬LRÈ©â;!©;UTÍz»g×0|`Éa׎I»¶aCMX¾:¼þ~ú»×óïþu3ûiH²kÇäýªô‰WÒÆ³_2°W’$áý鯦ÍÿŠ kVÆ(hú' ´F¹|Èå7~\0„Òú/Ó[6¹ÓŒ·IçQ2rð&K›·k*º…ŠnÉð¥¿=½sf>Ÿnò]‡÷Möî‘üéÃðØœ´Ásñ™äëÇ—$IX³!|ÿÕ´..›ýum<#[7Ã=dg³—Y”¼C`@kT7+Ùø×=³Irµ$„ñ'– Û·î@þ¼4}å°j}Ú¡<9°" Ø3 ! ˜ìÖ©ä‡Om\h"J&mX*{%ŸP’$aCm¸ö©ü[•M)Ú>6~ˆ lòIÍ´ár¤[$° 5ʇ$—Q g“ú/ÓPÿ¡Âæ7|`’ÕUš†ë—>·hãHÚ}!²W¸ü”¤MI8¸O2bpÉcsŠ +€KrE¥Ò·G˜øÅ’¶¥!—×ý6]ðAh‘†,úPaa[R7lXÿe´sƒ~gIDAT.ßÔ!,­Q6‚•­z6ÕÆ´ÊR éŸk‹¥}Y8÷Ⱥ… î~.ÿìŸÀ‹o¥·ÍH¾ñù’ÂÙ‡'Ó_ϯX[÷Pv’3MÓÚúéâ»w WœZÚ¾,kµü‹oµäØU¶C²õ¥U<>ÍÁ€Z>MrùMo/š\]<Ê’dnæ%£†ì:”…³JóÒæ÷yjnºïnéÉ$emÂÐÏ$ÿ5¯~|¨èÕ¥iÚy—ä§—tïBSžIg¼Ñ¢Kae‡•Ô¬Ÿü^?Ñ=­{¼‰¿>­Q.ŸÖæ“Ò$$i¨KI³Ë<'IÈ×Õ}Š0û˜a³ÜÙ¯.2žx5ͧ[ÜóñWÓ“HBGî›<ñjšÔ•bÝ)ÂÚ|Ú®MråÈ’ÞÝBá®çÒ'ç¦Íù*߆ìC™iH ïyZß[iÈ~¹|SØ´Fõ neȤe&`íÕ½îç.\j·<%é­e¡6Ú”†½º'¹M¯QÕÌå§$ö !„‡f§÷>ß³Ú7•4ºSÇìØriý2 Es°BñßüF0lÝÚ‡ÂUa庭í–ˇÅ ûù|hP—~!9â3IaÙªpËš"ÙÖ¯ÔÐàmÏÁ€Zš&µù$IÝU‡7s–¨’’$tjBo-O·2|•y«2Ýw·¤´$´+ «Ö‡P?v5¨WÔ«® wëÆžÜÓ F°’úõF7FUÒðC9#X°CËmr-Â-õGÒÌ™• aCm(oº·O>vBR÷öuwÖlØÌ³§öLÚ—…qÇ$sß //nñÆJ‹ÞϤhËÆ;MÁ*ÙÇl«\>ÔæC.Mjó¡ð/—&Ù–ú;iáËf»ýëšBØg·†Ù³ßîIaÕú°®¦nK!Of/N¿ù@¸ö¿ÒBI®:-éÚ¾Y_ÅfosiÝ›KCýýPÿ&§¹Fë£n…,hòiÈå7Y„)»M’¤þRÄaÓUššéöƒª°g—PVzwMÞ¬Üâž=;'w !„÷«6¾ìäÛUá[¿ ëªÃo_ ‡ô £‡„îµg”üó½é¦/¹™oÓ¢Ûbwkò–À€V©þS„řՒþçÏé!{%!„Ãû†…K·¸Ûá} û7øùpåÆ ò“ÿ;=°"é¿G8d¯ðÏ'?þ} ¾ÀâÞÚ¼¦`9E­Q~ãÙÀÂùÁKK²/‹Îa5÷©´ß½^— ßü»dÿž›ßgïÉ„“êvûýëÏu&”¶¬­IÆ?˜®©!„s‡…ãú·Ø)Ââ·ºèœlÝ¿ì~Ó?µ)° 5ÊåC.Ÿæò¡6òi’-ì^›Kks!Û˜ÝÉåÓ|Ú¬·‹–¥Sç†ByÛðã1¡ó. ÷éP~:6t(!„gÞ¯¾»ñѺEÒëN€Öm«2\ùDÝÀÕ5§']›ûÕßnò/{ϳ÷9ûäò‰,رåÓBBeE•æòI.M ±U¿=äòI3ß^û_uSÝ+º†¾–Œ>4ìÙ%)I“3\ôíB«Ö‡ï?±ÉmðœO¼î1„:µ ?“´-mîW”½·¹|ý{›låCn“´MÍÁ€[>Mrùºkä%Ù¥Zòu"®»8NË]Xféª0ögáösÃ^ÝCŸnáªÓÏY.øexwÅ&ß[XÉ«6ßð9¯š÷ö ŸÝ#\1"L|¤ù/•S4ɽ~åù$$õ$ŸèbÏF° 5ÊåÓºõ²É@ùKëάå² ú-r»pY8}J¸åuCYŪօŸý1Œœ^ÿ`3ßê—øj°}muø—_‡5Baôpâ f]ù¤è6äòiáM·¤þ¤aS}Ieee¼ÿ€ª««øážíÛ§E Œ‡P¿zñýWÞ&ôß#ôîvíþº&¼ûQø¿Âúš–>¬mS¿ FÃkÖ„×.¿¬¬ìcŸÁ)BhŠÖÁÚD’„4ߊkmu˜³$ÌYÒÒÇC¡eÓüf¶‡>vñú­Q> ù´~ÕËú?ðI¨ÍJ[E]}šb¶¸®êÒªþÍoú,­QaÆRE$l-«~J5xŸC÷ºéQ+° ÕI’¤SY͆|ÛP4‚•´Žs‚Ÿb/õœÖ¿çÙ`aöp:•×&I“±´:¥¥¥û÷X;gY—’ÒÂÆq”ÄèU³ØØ²…3³!äsaÿÝ×”––6å´:%%%Gí³öź´)^O©nt¥Ñ9¬ÄmŒÛÐèNqÌ&¡6Žì»¶¤äã?B´N#çnøcI(i°fevµ™´è¢Ä©ÛH·¡î„`R¼%„4„4jkÂÈÁ¹Ð4 Z£}÷(û§½uÑû””†ìDaƒÅ™œ+ܲ79-ºŸ$!Ÿ ¹Úpóoï»Gû&>À€Ö¨´´tÄ!e¹ü¢‹ŸØ·$’’Ôe—ÖÆ¥›Ünóm(L½ !„χ4Ò|ÈçÂÿ;mшƒÛ5qV°’;´Zù|~Æ o¼»öɹmg-îü§¿v®Úж¥j'Ò¥¼zÿ«†íµjäAÕý{·////ix¾v‹´^ù|¾¦¦¦ºººººº¦¦&—Ë¥–jhI’”––¶mÛ¶¬¬¬¬¬¬mÛ¶M¯«à!´f%%%åååmÚ´)//OÓ4««âÆÒ[±/p•ÝO’$ˬ¦Ÿ,XÐÚýmãiAŸ`° €¦X‘ ,€È@d 2™ÀˆL`D&°"X‘ ,€È@dÿ€d>(½îTIEND®B`‚traitsui-7.2.1/docs/source/traitsui_user_manual/images/DataFrameEditor_demo.png0000644000076500000240000011653414046644454030462 0ustar aayresstaff00000000000000‰PNG  IHDR`€5|: pHYs  šœ IDATxœìÝy\Ù8ðs·JJ+•J*eÉÒ: cë0¶Á˜cfÈ`_[–le™¯1˜¨/Y‡hD¥´H…6mSi¿å¶()êV÷Þßççù=¿[Ý{nê¶}Þxåé¹Ï=Ïéœç,ÏY€iùòålssskkëŽ rõìÙ3ü»cÀd C]]Á` „ð¿RÑO‰Db¿­®®¶±±‰E1Û.¨t=ÐAz´è KNNNNN–ÿ÷ÐH“@> ¥Ð]Aî »‚Ü º7HáÐÁ2УAèÑ`KÐå}øð¡¬¬ìíÛ·uuu!%%% ¾}û*++Ký,t€.L$åççóx<úÁÚÚÚººº×¯_÷ë×oàÀ C ƒ tU"‘(==ýÝ»w-PZZZWWgnn.¡ Ö ]U^^ž„Þ1ìÝ»wùùùN`-]ºT__¿M&Eii)BHGGGž_Ú^¿~}îܹÚÚZ“ŽK{é ÷ˆºHš|ôèÑ‹/´µµUTT::,íËßßÿáÇfffx–xIII@@@qq±©©)>¡é±tZ]"¥ª®®®¯¯WTT”|Z~~~PPPxxø›7o $áxWù#Y5-GBCCŸ?®¡¡¡ªªŠšËÑ]±èéN¹ë9…Nûéüq(ÿ/äîÔùdç÷úõëðx¼¶JÀ!Gt›:JEE…‚‚“)§¡WB¡Á`())áQ`ÔX°>äää´ô)ú±ššMMM‡C©¯¯Géëëw¥)–eee»ví;Ø·o_KK˱cÇÊÿ±ráÂ…û÷ïûùùÙØØÈ§¤¹xñâ³gϦM›6gΜV|Ãá;vLAA¡¥ÓŽ9’››«­­íææ†Èÿ»–fÓ¤¦¦æ!CÆŽ;lذ6ü.ŸÌÌL}}}9`rNu¯_¿>pàBˆÍfÿôÓO¡ÜÜ\SSÓ)S¦àˆiú‘î G,ý›Í8p ¹¹ùäÉ“•””ÚõÛÃÃÃoݺ•œœŒ×¼ìի׈#,XðÙgŸ5=988xÏž=!deeåèèØÒñöþ#64‡3xð`KKK[[ÛöŽ´N¥3”#¾¾¾)))ýúõëß¿?j.CуJJJ:{ö,BÈÍÍM[[[þè¨B‡Ð¸\®ÍÊ•+;:,-‹CªÎ°qãÆÁƒ7=ÿÏ?ÿLLLœ;wîÔ©Så¼)={rî†L-Y‡Ç‰¬¬,¡C‡Nž<!äëë9|øðuëÖÑOûðáæM›Bß}÷µµ5ýWááá×®]ÓÐÐ8xð êú9¢Ô¯Þ¾}»}ûv©§8qBê[ážÆÏÏ/44433óíÛ·ŠŠŠƒ¶µµ]¹r%‹Åê𔕕Ét²‘‘Q³¿êJdµµµ M±X¬;v899µÓWWTTüôÓOl6ûÿûupèСr{í–›››`iiÙº"„BBB¦OŸÞì9\.÷Î;"‘ˆ^j¶÷=6±]HKi2$$„Åb¹¸¸,X°@þ¡j .„„„|óÍ7bÍf9§:---²²²fÍjÅGº4*béž?ŽºqãÆ±cÇúöíÛß[__¿ÿþ   úÁÚÚÚØØØØØX''§íÛ·Ó_Å „NŸ>-†:{ölúð±¦ÇÛûØl¤á*………§§gŸ>}Úã{;¡.QŽÈ¿xí„üüüp„?|øpÙ²eœÎ…Ëåúûû#„^½zµdÉ =¶ Ugؽ{···wÓ`ggg'$$ØÚÚÊ'<íýàí$•çÎ2µd]1~TTTòòò~üñGúø”¸¸8|/FFFM;È&NœˆÿÛÕsD›×¯Zj¶_›‘Ïç7ÛšÓÐÐÐ:ÈZj¯ÉY}}½»»{@@þ¯’’R]]]rrrrrr\\Ü444äªÊÊJ™Nîd”3gÎàZŸÏŠŠ åñxnnnjjjíñ ¹¹¹bã¿þúëI“&©««Ëm<á§»}ûvK ›Û·o‹D"±ƒí}ÍFlWtöìYüЬ©©yöìYXXXaaáñãÇGeffÖÑ¡#RRR’››[QQÑæW–)Õ)((ܼy|%¼~+>Ò L›6mÑ¢E!‘H”••õôéÓ§OŸfdd;vìðáÃíñ‡ƽcvvvS¦L±±±‰D111AAAÏž= PPPضmu~uu5´¿uëVsssÉÇåóGœ:uêÂ… ñÏyyy!!!ÏŸ?OMMݰaÃÅ‹Ûï{»9”#]±xm[µµµ?Æ?t•¶¢Ü<|øÿP]]5iÒ¤Ž ¬rssÿøã 6tl0ÚûÁÛm*Ïm2µd]4~lllB•••yyyÆÆÆÔñ˜˜üCll¬ØGâãã©¢î’#Ú°~ÕRÛ°ýÚŒZZZxè"V^^¾sçN„ÐñãÇ{÷î2ŒNÒƒÙ~í5™Ü¿? €Á`|ûí· .ÔÖÖ®®® <}út||üùóçûí7ù‡ Ïnùô“»dV´°°°´´´´´3fÌúõëÿþûo ‘Hú‰WÆS~ÈiiiICØìÕH¾BÖ`0999++«éñúúúû÷ï7û‘VÜcÛj×k+C?7nÜO?ýäííPˆ:–á}‰D"¡P؆”I›§:Y+ë’?B~×RÏìð”FéׯNrÆ ›={öáÇñ™¸¸¸–ù)ñâþcÙÚÚ?~ÜÉÉIKKK[[{æÌ™žžžcÇŽEݽ{7))‰úȇBL&“Þ;&á¸ä?¢P(lÚó"Fê êèèX~„CîîîŽJOOÛ šð‚„Ú0¶Ç—ÊúÁ6/GdýˆP(lÃ'^cc£L“Ç×ÕÕ 2DUU5'''##CÂÉ$¹ƒ0ÒÚ<­¶º"$H$Âo­ñ¸Œ–R]«‘'0¼d‰»»víÚ‹/Ú)` i’h6`R \©·C*JÏÌÝ2ejÔv7Ø™š0uÉDÖø‘abh6SK¨fëèè 8!$6‰ê{ýúuaa!u¼¤¤×7èÃÊ>½©ÕáI]ÖúU+ž$Z—ÚÙlö(jˆýˆ#¨ƒ#Gޤ÷Í}⓪=ž«2]Ÿü´–Îyòä BhÆŒë֭âUUU¿þúë_~ù!Òlš$©®¬]uÉdbX,ÖÌ™3SSSq—<¶téR¡PxæÌú¿¨¨¨ßÿ}ĈÔLãõë×—••:uÊßß?**êßÿUQQ±´´Ü°aÀð9ß~ûmmm-BH(.^¼!äääôí·ßÆÄÄœÿܹs/^¼ÈÎÎf±XFFFóæÍ›={¶„}[åCYYÙ‚*1Â4‰ª¨¨ðóó{úôiZZš††Æøñã›ý¢°°°ÐÐÐgÏž}øðÁÔÔtÙ²eܹs§™™Ù¾}û¨Óø|¾ŸŸß³gÏâãã{õê5vìØñãÇSËýøùù]¿~ê¹~ýzpp0BÈËË«W¯^Í~i{§ºÍ›7ýç?ÿ!_Ä­Ù¤¤¤ÇÅÅåææ3fÊ”)ô™eááágÏžýüóÏ'Mšäãã“PUUe``0wîÜ… Ò ÂN›ÒèðÛÈššš÷ïßÓ´KއÜÜÜ={ö „Ö¬YcooO}êÀ™™™ø%BèîÝ»!777±×w,ëÀ+V¬àñxwïÞ9rdCCÃòåË-w?~õêÕÍÇ+w4ûG¬¯¯¿{÷îóçÏããã…B¡¹¹¹­­íÒ¥KéUIÉÉ[²Ï>ûLSS³¢¢">>žš¤/ù‚ñññGURRºpá=>|X½zµP(Ü»w/ž¯$5`„)ðÎ;7nܘŸçθ¸¸ÄÄD„ШQ£ÆŒ3wî\ú”ò{‰‹‹»råÊ¿ÿþ[YY©©©imm½jÕ*CCC¶7Ü4sæÌììl??¿€€€!C†ˆC’;Þ¿õêÕÀÀÀׯ_³X¬Aƒ3fõêÕb³¡É © ¬u!œ­Ο?OŸxÈçóøá‡ÆÆFú“!))©¸¸XSSsûöíóæÍ‹ŽŽ®¬¬¤¬[·n-((pqq¡Æhà¹9¡ãÇã•ïðuÜÝÝuuu=== ã ßÝÑ£Goݺ“——·qãÆo¾ùF¦8DÙÙÙEGG»¹¹]¾|oU!Iʧ&Ÿ}öÙ¥K—p}xôèÑ›6mÒÓÓ ¸|ùr~~~Ÿ>},,,Ö¯_Oe±/y±(5ºÈ+Ï„÷ØÕs7I¦F¥¤¤àÑ7999úúúC‡]¶l™ØØ„„Ÿ´´´ªª*!C†,Y²dÔ¨QôsÈ$yQ%Sê’)SKŸÖej’¸’©BQQQ=Љ‰yÿþ½±±ñŠ+Ølñ¶ó¸qãòòòçÍ›‡q¹\EEÅ#F<þ<66–J~8ö ¨-òZÝÔB5©c-Õ¯$çô–ž’ÛŒ$õ@™ª:-!Rµ®7@òsUj{MjÇ<º¤6|ÒÓÓBMÛÌ™3©+P™…¤ºB~½>>>$¯Vëd!üàóùÔ‘œœ‘H$ÖyYUU…¦Žäåå•––ž:u*88˜Á`0Œªªª¨¨¨¤¤¤7nà·jÅÅÅÔ•‹‹‹ñuBÕÕÕ¹¹¹jjjbWóðð c±XB¡Ëå9räÝ»wwîÜ)))a±X 33333³±±qÕªUÔg_¾|ùË/¿à/RPPHIIIII ½pá‚„ÉÛ$á§Ìš5ëÖ­[>üå—_Ć‰Þ¾}!4{öì›7oÒ·tR¿‘$þ[ŠXÂØ¨®®^·n]VV“ÉÔÕÕ}óæMff¦»»{NNί¿þÚRŒÉG}}ý«W¯B#FŒ ¦Éúúú-[¶¤¦¦âÿ¾yóÆÏÏ/11±iO|``àîÝ»ñÏl6;==}ÇŽ“'OÎÍÍ¥/Š) ÿóŸÿDDDàÓêë냂‚‚‚‚ªªª¾þúk„PMMMqq1nÓVWWã§:ïÛ;ÕæççãqF„š~$))iýúõ8 ±ÙìW¯^½zõÊÏÏïÔ©S#GŽÄçàÈWWW÷÷÷óæ Ξùùù'Nœ¨¨¨ Ö[íÌ)§™ПRãÁØØØÔÔ4 àðáÃ×®]Ã¥lHHˆ¿¿¿¢¢"îfmllÄoŠ›mË©©©M:ÕÇÇ'22¿*..¦’ÎÝoß¾mé8þoÓ?¢P(ܵkWXXBˆÉdŠD¢ø:„ƒ*5yK…«Ô@k©6lÇ«­­}þü9}© 'Oždggkiiá­IF˜+**rss›®<šŸŸ_\\Œ«ŒXW)G¤jú@°sçÎÈÈH„n¥GFFFFFÆÅŹ»»Su,Â{¹{÷î‘#GŠŠJß¾}KKK”H¢‹¼òÜr7I¦F¥¤¤üôÓO8ÞX,Vaaaaaaxxø¾}û>ÿüs|NbbâÏ?ÿŒKR%%¥’’’’’’˜˜˜ƒRy‡>>>>>|>óæÍb1™Ð»woooˆ?þøW}®^½Z]]OèT)R[[‹“.·|||Ž;Æd2é}v„ñ°iÓ&’’’3gÎ „ª««=<<B?ÿü3~¨¾yó÷ÂHXP×t«««ß¾}«  .–»]]][:ÞÒ5O:Æf³]]]qJÛºu+‡Ã‰‰‰Á}1ˆ yK–žžŽ Z|(‰ÆŽ«©©9jÔ¨¾}ûVVVâJ3…$wܺu+::ZQQÑÓÓ344GƒÁxñân¤a„…ŽL LÖŠ•­ÄŠ0œË¦L™B½ˆæóùø¼+.NoÔ:Á·W©õ€¨ÐÇ)Q8x„q…åææÎŸ?ÿÿûßãÇqËœ0)šššøÑ„G´D¦”Ÿ˜˜Ø¿ÿ[·n…„„ìÞ½›Åbq¹Ü¿þúkâĉ÷ïßÞµk“É,++£ÇCSRJ$ÑE^yî ¹›$SmÚ´‰Ïç[[[_ºt)""âÏ?ÿ´±±áóùĭↆ†;v‚I“&ýóÏ?aaa>>>ÖÖÖõõõô!ä ’¼¨’5u‘gj’øiE¦&Œ+¬i¦ÎËËÛ»w¯H$²³³óööŽŠŠºpáÂðá㢢Ä>;zôh6›]^^NM¥Äó+ðÀü¸¸8ªk߂زýÍê¢IÒ´~E’Ó[znHxžÈTü”¬LOªVôH}®Jh¯‘7|H¢‹¤áƒGòx¼¯¿þÚÃÃ#..®ÙéɈ¬º"SÃMºdYiiiYYYYYYQQÑ;wÖ­[‡ŸVóçÏoÝœœV®\Ù§O  àŽÏf×X!±`Á<ØÒÔÔtíÚµø ³³ógŸ}Æf³‡ ‚G„òxòðã( NNNNä{ñ¶mŒ‰!Œ´´4„Ј#ðÈX‡³lÙ²ãÇØ áóù&&&ûöí355e±X–––îîîbs©Á;wB°µµe³Ùªªªßÿ½£££@ hÚ›FNþ©ŽÜãÇ«««ŒŒÜÜÜÌd2ìææfddT]]Ýt±Â'N 2„ÅbYYYíÝ»WQQ±¡¡!??ÿ¶S¥4Ê­[·p’›1cÆòåËñÖ%ô1M„ñлwo\ÿý÷ß)))gΜyóæÍ¸qã¨W@Tq(a§3ªï¬­Ö ~~~¡ 6Ìš5 ç…¹sçþðÃŠŠŠ¸I)kò®©©)û(!!áØ±c7n‰DÆÆÆVVVäœ1cB(<<œzq÷áÃ\GÇ5Y&9êrå9@€·,üõ×_§OŸ®ªªªªª:}útÜüÏ?ÿˆx•|/xòûŒ3ðK`==½“'Oº»»ã>—‡»{¦NŠb2™x⽈$w „ÆwüøñóçÏÛÙÙq8•éÓ§=}Å€d,tÈX+*B8ïDFFR•l>ŸßÕÓ÷(ˆˆxÿþ½žžžvñÅ_°Ù쌌 jôBhìØ±l6;++«¦¦!$‰ž={¦©©©­­ýâÅ ÜR­¯¯OMMe2™ãÆ#Œ+Š““Ó–-[ÌÌÌzõꥠ @‡tãÇÇ{9r¤¥÷Ღ|‹uìØ1%%¥éÓ§ãÆ¹ššÚþýûµ´´”••œœðÀv<;FÉ%™¢K²’»¥fjô1‹éëë8pÀÜÜœÅb9rß¾}:::uuu¸·ˆÉdººº?~|Ïž=xòÁàÁƒ¿ûî;„Pzz:Õ‰F˜ e*ªZ‘º35Iü´"S“ÄE,S#„=zT[[‹W–ÀyW³ñÐKº^½z >}ìžxyA]]]ccãÚÚÚääd„Л7o Y,^¹U²®•ÔIêW2åtB²V·ZÝ€•5ü­(?å¹JXá'Œ.’†Ïܹsñ\×wïÞݸqã§Ÿ~š2eʯ¿þ*ÖƒLX]‘µáÖÞºdÙ‚ ¾úꫯ¾újþüù‡Žg2™‹/þòË/[wA±µñÒÑMç³´âjC† Á=»øé€YYYá×&ø)>–%_~ù%½?ÅÐÐߺP%yø'Nœ¨¥¥•““C­¥ýþýûÀÀ@$c÷bÛÆ˜ÂØÀýñ¡¡¡gΜÁ£mB'N”uGáOg```dddddd``€'¢9;;—””ÈtÜÜÜÆÆF6›={ölúqjkJff&BÈÑÑ‘>ï]CCClÌZAAA]]††®.PðØòOYUþ©ŽNBS§N¥OSVVÆU®ÿý—~²¡¡!µzBHEE/ AÝK§JiUUU£´´´˜Læ»wï¶nÝêííMC£G^¼x±P(tuuõóóSQQÙ¹s'µÐUêKØßšêi«•5óòòêêêØl¶Ø>Ö+V¬¿té’=yß¹sç«~üñÇ[·n½}ûÖÀÀ`ïÞ½øf /8zôhªª*jí¨¨(>Ÿ?xðàAƒÉ0©)P—+GÈåççóù|‡óÕW_ÑÏœ9“ÃáÔÕÕÐK¾MMM¼´ óÅÓ×ן8q"}R|GIIIÉÏÏWTTœ8q">‚Ož<¡Æï䄱±±ƒƒÕ¯-ðº'ˆ6µ™¼Ð‘)µ¢"4f̼4>][[;pàÀ¦ Q«¥ôéÓ¿‡§/Õß»wïáÇ …BœD322*++mmmííí?|ø€[ª©©©õõõæææêêê„qEÛ4“<Ÿ¸¸TWWïß¿¿Ùu‹eMùfffô‰BcÆŒAYZZÒ‡êà‡íÍ’úP’)º$ë ¹›$S£RÜö¦ª©©Ý½{7<<O±d±XTqÌçóñ_§¡¡ÿYɤLEU+Ra¦&‰ŸVdj’¸¢4Ý —ªfÓgThii5;5?…pYjjjMM±±1~c#÷o↠&u–êjI]jýJÖœNHÖz`«°Ÿò¤",?å¹JXá'Œ.’†“ÉܰaÃõë×—,Y‚ òùü§OŸnÚ´iݺuÔÛÂêŠL 79è’kéêêâúÙ»wïð£óÌ™3b‹SÊ„^@á-]I6Yh–ØJ+ø¹@©Îb±X,}!œ,Ž;vìØ±¦ÌÊÊÂ)µ%äág³Ù³fͺxñâßÿ'ô>xð ¶¶v̘1FFFxÙ,mcbcÃÞÞ~øðáÉÉÉ>>>>>>ýû÷·¶¶^¼xq«gÚ~Š+W®ÐûRSS?ž––¶aÆ+W®#Ãåñ€ÄUSSÓÖÖ.//§Žà§~nÒ‰M‚ÑYYYÙlzõê•P(lÝ–ÉòOuäð]7|Dì͹Øib÷Ò©ReΜ9xyZìÇ·oß>sæÌü¡««‹§Ék×®ŽŽÆ£0ð¤KêWÔêׯ^½ji^õw”uÒ–ààI¦g” IDAT'kòVVV¦î¥¨¨!dccƒW–é‚ cúôé—.] ÅÕbüÚz%.SÀ¤¦@B]®!‡omÀ€bÏR6›mhh˜“““žžnllL~/Ë—/wssKKKÛ¶m›¢¢¢……ŒÙtõeùÃC?ttt¨yC"‘HQQ‘Ïç?zôhîܹˆ,w`¥¥¥AAAEEEÍ.ìH^èÈ”ÀZQ¢²UHH®¬ã—Æô‘&oÞ¼Á-m‡C½ëÆõõ‡®[·ŽÊVvvv 8&íííÙlö½{÷¢££­¬¬pK•Þ†‘Wú†H–8£¤¤´gÏž5kÖ<{öìÆôeÔ0YS¾XÀšF;Bˆ¾\zKHJäÑ%YOÈÝ$™}Œ ü–E@ðìÙ³¼xñâÝ»wM—“5SU­H]$™ÇO+2µÔ¸¢ˆÝj¹šÝôBÈÚÚúìÙ³88lÔgöööÿûßÿž={¶nÝ:<¿’ZFM²®•Ô ëWä9¬õÀV7`e + Aô ÏU ?at‘7|ŒŒŒÖ¯_¿~ýú7oÞDEEÝ¿?)))>>~ëÖ­>>> „Õ™,rÐñuÁV¸~ý:îŒ(//Ÿ?>ŸÏý”²‡W¤366nú€FMòØ'š3gŽÏãÇñ®Ox^L;½öoÂØ`±XçÏŸˆˆ¸}û6ÞÓÊÏÏÏßßöìÙ¿ýö›\CÜ„……ÅÑ£GgΜ™——÷êÕ«f7*j~ÔlýUì þ/}c LlÐ8>AII©Ù! F«;Èd"çT‡£±é³Gþ-¹ÎœÒ(ÊÊÊË–-+..¾}ûvpp0î “)tuuq™Ø»Í¾}ûâ%E%táê§ÙlÛ ¸Ò ¹sYÖä=þ|ªWñĉ×®]KKK«­­¥2ùœœ.]ºöÛo¿Õ××GGG³X,üÒ»kݸÁµfkWøo×ÒÊ-™]Û<å·•O‰.1Ý>wfjôqüµÔ¢aÓ¦M¸ FQQqРA}úôéÝ»÷ãÇé߈dÉÔíZTIÍÔäñ#k¦Fq%AKÑØlÄš››÷éÓ‡Çãñx<܉Om >bÄUUÕŒŒŒ·oßâvIÕ©’ºÔúU;=ÍäVÝ’ÃÓøÓ‹!©~ÂèjEÃGKKkÖ¬Y³fÍúý÷ß/_¾œ———ššjeeEX]iÛ†Û§ë’dmmíE‹y{{ûúúÎ;·_¿~b'ˆuHx×±† wÑnïïÒÑÑqppˆˆˆøçŸ†ž““£­­MmŽÓ¶Zÿ2ÅÆ„ &L˜ ’““¯]»vûöíñãÇK+!ZZZêêê•••ÙÙÙô2Éq‚ÇåææŠ=Ðkkk_¿~M?ÓÜÜœÇãegg‹ öÆo)x¤®¢¢âÿû_jÆœüÉ3Õ!„ÌÍÍ£¢¢rrrÄ6ÊÉÉA‘÷WÒuÚ”F‡ß´àÛD2ƃ¿¿tt´’’R]]Ý¡C‡FŒAµxGýüùóÈÈÈE‹5­jà ­BÖÖÖmõêïB•——'Z*Y?%y¯\¹Òßß¿ººúÂ… ›6m’õ‚ À¯×ââ⪪ªð¢Ôè¹öÈwÔ>P˜@ [õ©»–#èã$ˆ¦F¡Pˆ»t[‘©555ñkÏŠŠŠÀÀÀË—/?~¼iÏ‹ä RUD©™š<~dÊÔˆ,®$033‹mZƒÊÎÎnz2^ø,$$$,,,--MUU•šçˆ;ò=z”——§¢¢Ò†½W*©Sš­_µÓÓLnÍœö~âs•°Â/StIhø”——§§§+**6}¯óí·ß^¿~½¡¡¡¨¨ÈÊÊŠ¤ºB~¹é’kÑ-_¾\]]ÏçŸ={–~w–‰%)jÁ”Ö …²n+Fç:ܤKMM—uA©ð{þ;wîàU–çÌ™#ëZòRÉÿbKYYYiiix*‹Å5j”»»;ž@_¬·£TVV"Z®&‰“Aƒ1™L>Ÿ/¶·Qpp°Ø`üŒóóó£o¤˜——‡W¢˜™™±X¬ªª*¼@¥²²2>>/xAGíšÜæäê(øqA_K „‡‡S¿%×ÉSNNÔúäñÀãñNœ8:räÈÈ‘#+**Ž9B¿2• ö¤ÅNž<™’’‚>î+×&LMMêëëÅÖæ [·nÝîÝ»‘ìÉ›N]]}ùòå¡;wîP;OÉtA1ÜSpéÒ%¡PhccC/ñh2///‘H4f̘6)+;aR§4[¿’5§·ôÜ;.Ÿ4ÜŠðËJÖçªX{°ÂO]R>oÞ¼Ù²eËúõëņe „êêêð¨1\g ©®‡_nº|YïÞ½W®\‰zðà})>ü\óòòÂÁ•+WšnÍKˆIñèÑ£O p³ð–Ïž=;sæ N"‘È××÷ûï¿ß°aÃû÷ïÛö묭­ Š‹‹ƒƒƒY,–Ø*žm‚0þ›XÂØ8räȪU«¨­¯BÙÙÙxÅŽ]h¹ºº:22róæÍ!---jB5Iœ())áu÷îÝ‹—$‰DÏŸ??~ü¸Ø·Ì˜1CSSóÍ›7¿þúk```VV–ŸŸß¦M›ÄR‹‚‚®C¸ººR}såååk×®]·nÞXÃ˸ÄÄÄ´S/°RÅÁÁÃá$''{zzÖÖÖ"„jkk===SRR8ŽØÛ ©:mJ£.—{âĉ   D½O"‘ÈÍÍíýû÷NNNÖÖÖÛ¶mc³Ù!!!Ôæ2¡3fà=ã|||¼½½©5;¹\îùóçoܸ²²²jõN)M±Ùl¼^ïÁƒ©~äÌÌÌÄÇÇ÷íÛÉ’¼›µhÑ"mmíÆÆÆßÿ‘é‚_~ù¥‚‚Bhhhtt´ªª*µàȧL ~t¤¥¥Ýºu ×WJJJvíÚ%vZ÷+G(TrÝ»w/UÐÿûï¿{÷îEÓ9ùÕ233W­ZµlÙ2Ü«‹xwóŽ]«áíÛ·OŸ>EÑçQðÁˆD"’ÜÑ»wo¼ØJpp0Nîîîbm'òBG> g«ÈÈÈÈÈH%%%úiÜN>|¸Ø"2!›>}úðù|úžexxïÝ»w©ŸÑÇ–*>H=* ãª%äqØCCC—¦ÇÛ6å·òè"©}šÇã%$$Œ=š$wL›6íâÅ‹÷ï߈ˆ000ÈÍÍ­««0`€Ø@fÂBG> ÷5S#MèÛãâÔJtç‹/¾ðóó  &j7ŽÉd …Bmmmjûccc]]]‡h lò¸j aJ0wîÜ'Ož4}؆)¿ Faå¹çn™2õ AƒöîÝëêêh``PTT„Çb¬\¹÷ØÚÚª©©UUU-Z´hàÀ \.WWWÑ ®Lž Û°¨jIK™ZÖøA2fj¸jÉÈ‘#×­[÷ûï¿ÿý÷ß÷îÝëß¿?—˸8nz¾®®.Î Cl«DMMÍ¡C‡âá9--ä*«Î–ÔÅ4[¿"Ìé-=7Z:.‡4Œµ÷Ó˜ð¹Úl{¼áC]$ Ÿõë×ïܹ³  `õêÕzzz¸a›ŸŸ/é¯|Hª+mÛpût]ižñË`0ÄÚ`gÍš5¡/^PÇ¿mÛ6Ü[\\ÜØØ¸páÂuëÖ¡I`øg±%uš=¸wï^&“YRRRZZJÖº«ÑïsrrÚ¹sç˜1cÓÓÓkjj ÷ïßÿã?Š]ªߨôƒ3gÎÄãéË*ãHþ á7Æ?j.b ccÒ¤I§OŸ611)// KHHÀcz©NR9 n¹¾¾žÏçóùüúúzUUU++«… ^¼x‘^äƉ†††‡‡Ç”)STUUËËË+**FŽyúôiÜü G²¥¥¥¯¯¯‹‹‹ÝðáÃçÍ›çëë‹7•£SVVöðð˜5k–žž^AAA^^^¯^½¦NzõêUü|Ç&Mš´fÍš¾}û644deeQûªtTª£Ž4=AêGBS¦LÙ³gåž——Çb±¬­­÷ìÙƒ7 ¦_§iŸŽØõ;CJ£Ã …üBFFFS¦LÁÍWú†ªRãáõë×gΜAmذZµj•Á»wïèÛÕééé?þ›o¾Á›þàÞ1UUÕ¥K—ž;wN¬‹Drô6=Þô¨¨¨xôèÑùóç0 ¢¢¢¼¼\MMmÊ”)—.]¢V0!LÞMS#öÕW_áÝ©ÿøã™.ˆQ}‘b{r^‡0²X¬ãÇÛÚÚâ]½ŠŠŠŒ;¦««‹ºr9B!ùH¯^½<<<æÌ™chhX^^^^^nhh8gÎzW>ɽ0ŒóçÏÏ›7OYY9!!!,,¬¼¼|øðá.\{í/gxÌæ_|Ñìœ~ýúáqøå9IîX³f³³³ššZuuuzz:‡ÃY¿~=^A¬u…yk]E£fjÓ³U\\\EE‹Åš¶¶¶—.]9r$“É,..~ñâìfnn~þüyzIMR]!¿|Ôf´Ug6!Üï>|øpù|Ý›7ojjjú÷ïß&Ñqˆ²²rû-¶‚Û?úúúôVn×Eÿ-E,IlÔ××s¹\MMMªy/«Î™&ñ¼9MMM¼ )¡ëׯ{zz:884;¹£¸¸˜ÅbÑŸGb„Bamm-“ÉlÛác¨¡¡¡¸¸X__ÿÓïr)®¥x‰DÍnÕ$ƒÁhšJù|~nn.~[«§§7pà@9<¬JKK…B!îj‰Ôä-«¶º`[]§±±±  @]]½iå[L7+GÄà<¶ñ•——ã^žO/Ó;0wKÍ%%% zzz’o“¼Ði׿ïïàÀ;wîÈa“e1„qÕ’ÖÜ„Ú0å·Âè"¯=©Ë?…“ät mÖž'헆ŴëÓ˜ä¹*¡½FÞð‘]$ Ÿúúúœœ.—k```bb"yïf’ÊØˆµ¶¶îþdHÕÓdhhè®]»zõêuîÜ9j?¯ÊÊÊÕ«Ws¹Ü_ýU;ÙYuÅ” ¹»M|øðá›o¾)++sqqY´hQG„ wÈÔ¤pе´wYwXƒ €hüøñêêêååå?þøãرcõõõ_¾|ùòåK@ ­­ýùçŸwtR………'NœHLL|ÿþ½––Öܹs;:D€O™ÐA]‡ÃùóÏ?÷ïߟ@ßÏÅÒÒÒÝݽébI@§õöí[¼D½±±ñáÇ»åì`zÈÔ€®:ÈèªôõõÏœ9ÃåróòòÊËËõôô,uq" ³2dȵk×455ñö€®25 +‚2º0ƒahhhhhØÑZOAAoyè Sº"yï$@§d Gƒ2УAèÑ:`‘þáÇËÿKÒ$HitW»è® wƒî R8t0‚ ôhÐAz4è =t€íÿ.Ò¯¥¥%Ÿï CMœ8Q>_€T&|@J »‚Ü @w¹toÂA—ÃãñÚõú0‚ ôhÐAz4è =t€ :È@d Gƒ2УAèÑ ƒ ôhÐAz4è =›ä¤šššC‡)((lÛ¶M ¸»»#„¶oߎ:tèBhÛ¶mÊÊÊíPÐ¥566º»»?|øÁ`8::nݺ•ÍþÿÒÞ?ÿüóøñc‘HDQQQÙºukïÞ½e:!”‘‘qèС—/_"„¬¬¬¶oß>hРöº1ÐýóÏ?ׯ_ùòeïÞ½'Nœèêꪢ¢"vI*zûöíãǃƒƒýýýµ´´ätôH$97!!ÁÝÝ=%%eàÀ3gÎüñÇ›^GjÎ=qâDAAØA}}ýM›6µáíÚÜãÇ}ºH$:räÈØ±cåHÉˆŠ„Ë—/ßÓÓ3;;;;;ÛÓÓ³¥Òô@×®]Ó××ñâEjjjaa¡]zzº§§'ý4’Tdaa±yóf__ß3fÈ÷&èqs®‹‹K}}ýÞ½{KJJ’““GŒáíí-VÖH͹ÊÊÊžžžY%''³X¬ &´ã>™²²òêÕ«¹\.—˵µµÍËËóòò¢ŸCX# ‚ò t~$51¬¸¸xÿþý†††ò¤TD#È322Øl¶‰‰ B(++‹Á`˜ššâŸE"La\¸p!täÈ%%%üÃçŸ~þüyGGGúi £G–|)©ç$&&²X¬5kÖà®Ûµk×nÛ¶-))éSït l6ûðáà .422Bõë×ÏÙÙ9:::&&†~I*255Å̃ƒƒåxôD$9÷ýû÷‰‰‰½zõÚ¼y³‚‚‚………³³óÏ?ÿ|âĉ©S§R§I͹***ïÞ½c±XÔ‘ëׯ ‚¯¿þº½nМñÏÚÚÚß}÷]LLLNNýÂ)”_ “#¬‰a[¶la2™{÷î]µjU‡„VÒY÷ƒ¦~¦w‡án2$xúô©ªªª½½=þ¯½½}Ÿ>}ž>}ÚôÌ¢¢¢ääd…Q£Fijj6{5É瘛›ÇÆÆ¦¦¦âšÉÉÉ|>æWÊ–-[èÿÅÕˆþýûÓB* ³‘šsËËËE"‘¶¶65éÒÒÒ!”––&ëwÑ[!oooeee''§VÐQâããBôƒä5Rº"(¿@"¯‰=yòÄ×××Ýݽoß¾ò%˜rÚ—@ (--500 Ö@e³Ù¥¥¥€~fYY™ÁôéÓ'Ož¬££³ÿ~úzü„ç8;;3Œ%K–xxx?~|É’%¡eË–µç-‚®êÇûöíC‰­ ©€Î¬Ùœkhh¨¬¬\XXˆ÷Ö@"„¸\®XY#äää;ÐUœ;wn„ þù§½½ýÌ™3©ãä5Rº(¿€œÖÄÁ/¿übddäââÒ1•ömí«¬¬L(jhhÐjhh…²²2]]]|D]]½_¿~óçÏwppÈÏÏwwwÿÏþ£­­½víZêS$ç¬Zµ*%%ÅÓÓ“ZrÓ¦M¶Ï=–H$Z¹rå«W¯,X0jÔ(ú¯ Ðiµ”s™LæêÕ«Ož<9{öl—ììl<—JQQñS–ßöõõ…ù)t!iiik×®ÅoOW¬XAßë–°F @÷å3šعsç}}};.°’@h_¸jRWWG?X[[Ký »xñ"‡Ã¡ò‰‰‰ÉâÅ‹ÝÜÜè_$çøúúþþûï***óæÍ‰D·oß>uꔕ•ÕÒ¥KÛíA×#‰~þùç›7oÚÙÙy{{‹ýR“䜻ÿþœœüNR[[»¶¶ÖÔÔ/&Ø:>>>½zõ¢BtfÆ ãñx¡¡¡;vƒÙyè IDATìX³fMYYÙŽ;ð¯k¤tP~ù“Z«ªªÚ¹s§Í¢E‹èlll¤Æöv8˜b Ú—ŠŠŠªªjyy9ý`yy¹ªª*½:¢¢¢BïEž;w®††Fqq1ýƒ$ç:t¨¡¡!44ÔÛÛÛÇÇ'44´¡¡áðáÃíro kÂmì3gΘ™™Ý»w¯W¯^b'@* ’šsUTTîÝ»÷ôéÓ³gϯ^½!dffÖêoLJJJJJrttìÝ»÷' Gýúõ[´hÑÝ»wB7nÜ ŽÖHè üBjMìáÇ<oêÔ©S¦LquuEíÞ½ÛØØ¸ÃÝDgé¨ݘ‰‰IRR—Ë500@q¹Ü‚‚‚‘#GJøˆ¢¢¢––ÖÛ·oÈÏ©ªªJIIÑÕÕ7n>bmmm``œœ\YY)6¨ôL"‘è‡~ðòò4hУG´µµÅN€T@'$5çRììììììD"Ñš5kB‹/nõ—úøø „,XÐê+:б±1‡ÃyùòeCC‡ÃÁ[Q# +‚ò t 51‡STTTTT„Âk“6»•piiéÕ«WB‹-ÒÑÑ‘Sèa¼Æ¹——þïÅ‹Bb³ÕÞ¿OÿïÝ»w_½z5xðà>}úŸ£¦¦¦¡¡ÁãñÒÓÓñ‘ÌÌL.—Û§O55µ6¾+Ð5ýôÓO^^^Æ ‹ˆˆ0`BèÊ•+TâDŠè”¤æ\1{÷îÍÉɱ³³kõò+À××WII æ§Ðù½ÿþÊ•+¥¥¥ÔŸ†††aÆQ½cˆ¬F @Wåè š­‰Í˜1£¾¾¾á£{÷î!„¼¼¼š^aΜ9...... .”_¸aƒ+V¸»»»¹¹566"„:¤©©¹råJê„ëׯ/^¼ØÞÞÞÞÞ^[[ûîÝ»xËícÇŽÉtBhÕªUÇwrrZ¹r%ƒÁÀ‹Ô¬X±âSiÝÆíÛ·ÿøã„P}}ýüùóñÁ—/_š™™­ZµŠ:$=yò䯵µµ‘‘‘¡;vhjjîÚµK®·@@˜sß¼y“žžž••åããfddtîÜ9±K‘çÜ   7{ölUUÕv¼7@[ˆ]¶l™¢¢âgŸ}6nܸ§OŸâräH;ß"èjkkÙlvccã«W¯^½zE·´´¤ŸF’ŠbccOŸ>Mý÷öíÛ!==½mÛ¶I˜ hœkaaQRR‚RRRZ¸páÙ³g›Î‰&ϹwîÜA0?€.bÒ¤I¿ýöÛåË—CBBBBBBû÷ï§÷¡#‚)”_ ó#©‰aUUUgϞݦDFFjkk‹u1™Ì­[·âgõŽ;乄?# ÀÚÚZKKK>߆š8q¢|¾tñññ¡1cưX¬¦'ÔÔÔ$%%•——›˜˜ 2¤Ù^’sB%%%©©©! ©3–!M‚fÉ”ŠH@J ]%%%åç盘˜˜››zEª´´´´´”ðR»è$ “““uuuÍÍÍ•••›=Gj”r7èr ü¥mkbèãFÃbû2ñx<ƒ¡®®Ž7Ǥ¶ÈŒ‰‰‘p)úžæ"‘!dkkK©®®FÅÆÆZ[[Ã2 'l6ÛÚÚZ ***’/BrBHGGGž+ùn R]ËÈ‘#Ûp±í~ýúõëׯ­®CCCCCCÉçH­‘Ð¥Aù:JÛÖÄP“®1ù€…™@d Gƒ2УAèÑ ƒ ôhD»XÖÔÔ:tHAAaÛ¶mÀÝÝ!´}ûv„СC‡BÛ¶mki+e:3¢²Ë—/ÿ Ë©å "ɹPvƒÂÓÓ344!”’’d@nHÚP¿–E4ÅràÀ!ƒallŒë ÃÄÄdÀ€ !„ЬÀÀÀ›7oÚØØ”––òx<›ëׯÑϱ°°Ø¼y³¯¯ïŒ3š½Hcc£²²²§§gÖGÉÉÉ,k„ ôÓ¶lÙÂçó===³³³³³³===[jЗúúú½{÷–””$''1ÂÛÛ[,Å*++¯^½:11‘Ëår¹\[[Û¼¼}ªªªjooÿkooß§OŸ§OŸÊzz«!äíí­¬¬ìääD?hnn.RSSñ“““ù|¾¥¥ekÃzœòòr‘H¤­­M­«ˆÓOZZš„OÅÇÇ#„äB@³Hžÿ$å ‡€²t?Ož<ñõõuuuíÛ·oG‡ô,­kCuB°‹%h_ ´´ÔÀÀ€Z•ŸÍf”–– ‚V_–Çã999‰íáììÌ`0–,Yâááqüøñ%K– „–-[ö)·zCCCeeåÂÂB¼Î7B(00!Äår›M±çΛ0aŸþioo?sæL¹†@#ëó¿¥rÐíAÙ º%@ðË/¿¹¸¸ttX@#kªÓ"šb @«••• …B úA ¡PXVV¦««ÛºËúúú6ƒZµjUJJЧ§'µâò¦M›šÝ>€f1™ÌÕ«WŸ:::vtÐ@Ï"SJ‚ÒÒÒ«W¯"„-Z¤££Ó–A”Fv‡WJöòòÂÿ½xñ"BhéÒ¥­»š@ ðõõURRj:/FMMMCCƒÇ㥧§ã#™™™\.·OŸ>jjj­ =èÙöîÝ›““cggG_¨èýû÷W®\)--¥Žøøø444 6 jØt™žÿÊ@we7èÞf̘Q__ßðѽ{÷B^^^4Ð5Û†’Éœ9s\\\\\\.\ضa“ Fv·bÅ www777<þСCššš+W®¤ŸóäÉ“7nÔÖÖFFF"„vìØ¡©©ihh¸k×.±«ñx¼Ùÿ‡½»ŠêJ?þ\h^m¤Å¨ ЈºâªbŒ™TR$š2³&®·t4¾dcRÑ€:qÖ`hâdVÝì&†¤ˆRc¬q"¦Ø¨‰2j”¢¼EÆ-#è¶ f㈱›þýqgzû‡ ¤¡¿Ÿ?¬{OÎ=·ê¼Üóx_fÏ ºýX‹/þýïÿÌ3Ï,Z´HQ”;wªè[¯DïºzõjuuuMMMNNNaaadddVV–s†’’’ øùùM›6íá‡.**RÛ­ãÕàÜOûøßñ<¢}>pÿè´ç2wÃCܼy3--­ªªJD²³³u:]tzP§k(Ñ|•ÕÖÖæø/Ï'NX­VÎM‘+dp¹¡C‡ú×ýWñòòZ¶lÙæÍ›{ø”ЯÅÅÅ]¹rEDüýýçλ}ûövÏg=þøão¼ñFnnî7ß|óÍ7߈HHHȦM›/^Ü;5Еñ¿ãyDû|àþÑiÏe¸víÚöíÛÕ/¤;vÌ`0 ƒ{tº†ÍWY^^^©©©jô`ýúõn‹Ž‰ˆRPPêžãŠÈŒ3Üs8Ü?¬Vë©S§DdòäÉÞÞÞÝ.Çb±X,–±cÇvÐO®\¹òý÷ß‹H\\\§O,Ó&ÑNyyù?ü`4;nf"RWWWYYùÀŒ;600°ãbii€hÿµÌ#]BïúænÀޤ} ¥Qss³ˆ8'šÍfEQ‚ƒƒÕc:>‘Y\\ÜAQÎ_Ò´Ûí"2uêTGÊõë×E¤¤¤$>>ž;Èà&:.>>þÞË ë8ÏСCÝù&?ô3'NÔø‰ˆˆˆˆˆW×€vZÆ-ó€þй\AûJ£v¡1÷àÅLðhÈàÑÀ£ €G#@¦é+–MMM&“É××7--Íf³effŠÈÚµkEÄd2‰HZZZ§ŸIîCšd¹¹¹"ÛÒÒ’žž."F£ÑÇÇGÝŽŒŒ\²d‰K+ ¸‚¦YTT”ˆ(ŠÝÒÒ¢nFEQE±ÛíÑÑÑ.­%à"šdIIIgÏžÕétF£QDjjjE‰‰‰Q·ívû¨Q£\[MÀ54ÈDdôèÑŽmçp˜&ú(¾b F€ M)((ˆ¯¬¬ìíšw0vìXEQ‚ƒƒEõ_)..îà¯ÙDÄn·‹ÈÔ©S)ׯ_‘’’’øøxî €GûëKúg̘ážãºóp@§h“pZÐ_Ñ»þŠÞþŽ>Çl6»´|î €G#@F€ <2x4dðhÈàÑÀ£ €G#@F€ <šNK¦¦¦&“Éäëë›––f³Ù233EdíÚµ"b2™D$---00Ð¥EŸfµZ333¿úê+EQ’’’RSSuºömï§Ÿ~:räÈ¡C‡ÊÊÊöïßÚ.ÃÖ­[/^¼Ø.qĈ¯¿þºsÊéÓ§333«ªª¢¢¢fÍšõòË/÷øé ßÓÞŠZ[[Ÿ~úi»Ý¾yóæ‡zȕЎ–žûå—_îÞ½»¢¢bÀ€3fÌX·n^¯¿ci‡.(((--½|ùòôéÓ?úè#W€›Ð»Ñ_iŸãWо†ºoÇaM²ÜÜÜŒŒ ‰miiIOO£Ñèãã£nGFF.Y²Ä¥EßÕÖÖ6þü={öyyy?~¼²²2//ÏËëÿn`ÌÏÏŸ3gŽÕjUwÚÈZZZ^{íµÛ 6l˜s€ìèÑ£O>ùdkkkpppuuuAAAIIÉŽ;\rb觺Ԋ¶lÙrøða©ªª"@ô"-=wþüù»víòöö3fLiiéwß}÷Å_œkzÄ2**JDE‰ŽŽŽŽŽV·FãÈ‘#E5¸£ìÙ³gÊ”)‹Ål6O™2e÷îÝtηzõê¼¼¼™3gÞ±«Õ¸eË–š¿©¬¬ôööž>}ºs¶”””ÖÖÖ7^¹r¥²²r„ ;wîlw, cÚ[ÑåË—7mÚáþJh§ÓžkµZ?ûì³#Fœ}ZD®]»6nÜ8½^ÿØc•””¸¶öÜ‚Þ Ïq·9pWb÷ÿ8L€ ®ÕÐÐÐÖÖâœÒÖÖÖÐÐÐíbóòòÚ=_)"^^^K—.‘Ù³goÛ¶mÕªUê-~~~Î: ±eee•••™L&??¿^«+€¿éêøo·Û-ZT[[û /¨O£8ÒÏ;'"999f³yРAG6mÚývõ «èÝðw›ã×Ñr%Ö'Æa¢p-õÓÂ---ΉÍÍÍŽŸº'''' `Ö¬YíÒ7mÚôì³Ï^¸p!%%å½÷Þ0`€ˆÄÄĨ_“´è´]»ví7¿ùÍ”)SæÍ›çü‡ŽÏ°p?íã¿Ýn_¹råž={vîÜéü“ÅbQ'¬9sæ\¼xñÂ… ©©©V«uõêÕn;®@è`Ž\ªÓ+±>1 ƒkéõú   ÆÆFçÄÆÆÆ   nÈÊËËËËË“’’Ô^×îpùùùEEEÛ·o?tèÆŽíÞà™:mE_}õÕ?þh6›Ÿzê©'Ÿ|rݺu"òÛßþ–ïù½Hãø¯®ÞÿýØØØüüü€€ç_CBBÔÿç\¹r¥^¯÷ññyíµ×¼¼¼Nœ8Á£ú@ŸFï†'èxŽ\ªÓ+±>1k}I?ÐmF£±¼¼¼¾¾><<\Dêëë/^¼8qâÄn˜““#"/¼ðÂÝ2$$$$$$ØíöåË—‹Hrrr·ÕA+RôK—.]ºtIDÔ½®®.))©·j @Õñøo·Û_zé¥ìììQ£F}ýõ׃¡ÝŸûúú>¼¾¾~РAjJhh耚ššZ[[Yi}½ý^§sà\‰ui¶X,»ví‘yóæ :Ômõç2¸ÜüùóE$;;[Ýýä“ODäÅ_ì^i6›-//Ïßßÿöç+ÛÙ¸qãùóçÚ½ª ÐhæÌ™­­­·þ&??_D²³³ z¯¦þÏÝÆÿW^y%;;{ܸqG9r¤ˆ|úé§ŽéIõì³ÏŠÈÞ½{ÕÝ?ýéOׯ_ŒŒdý ôuônôoZæ8À=îv%¦}~î¹çRRRRRRæÎëž:«¸ƒ .·páÂÌÌÌôôtõ M&“iðàÁ‹-rÎsüøñÏ?ÿ¼¹¹ùرc"²~ýúÁƒGDDlذ¡]i4›Í³gÏ ºýXW¯^­®®®©©ÉÉÉ),,ŒŒŒÌÊÊrÕ‰¡ŸÒÞŠnÞ¼™––VUU%"ÙÙÙ:nÁ‚î­,€¿ê´çîÝ»÷ƒ>‘ÖÖÖ9s樉±±±‹/vdKMMݱcGFFÆ™3gŒFãÇ,"«V­rã©p z7ú1sà:ZÖPÇá¶¶¶êêjuûĉV«U§sSäŠ\nèСLJJJOOƒÁpàÀ!C†8ç)))yï½÷»jPyذaiii¾¾¾Î9ÿøÇ?ÊÝŸ¯Œ‹‹»r劈øûûÏ;wûöíí>  tJ{+ºvíÚöíÛÕ—M;vÌ`0 zK§=·¹¹Y§ÓY­ÖÚÚÚÚÚZGúøñã³EFF9rä¹çžSg"EQ~ýë_¿úê«n9 .DïF?¦qŽ\GËJã8ìå啚šªFÖ¯_ï¶è˜ˆ(ñññ¡¡¡î9^aa¡ˆÌ˜1Ã=‡ÃýÃjµž:uJD&OžìííÝír,‹Åb;vìûIyyù?ü`4ï–áv´I´ÓV¤- p©ží¹6›­ªªÊl6O˜0aذag¦w}½p …£i¿Ó8777‹H»§/Íf³¢(ÁÁÁêÇ1ŸÈ,..îàˆÎß4·Ûí"2uêTGÊõë×E¤¤¤$>>ž;Èà&:.>>þÞË »Û¯'N¼—×ÿB+ú¦ží¹ÞÞÞ @¿DïWÐ>´j‡{呼¤<2x4dðhÈ ¨ŒÏ IDATàÑ4}Ų©©Éd2ùúú¦¥¥Ùl¶ÌÌLY»v­ˆ˜L&IKK tiEWÐ ËÍÍÍÈÈ‘ØØØ–––ôôt1>>>êvddä’%K\ZQÀ4È¢¢¢DDQ”èèè––uÛh4*Š¢(ŠÝnŽŽvi-Ñ KJJ:{ö¬N§3"RSS£(JLLŒºm·ÛGåÚj®¡)@&"£Gvl;‡ÃÔ0ÐGñKx4dðhJAAA|||eeeo׸ƒ±cÇ*Ь(Šˆ¨ÿŠHqqqåÈ&"v»]D¦NêH¹~ýºˆ”””ÄÇÇs<Ú__Ò?cÆ ÷¯°°Ð‡:E›„{ÐÒ€þŠÞ ôWônôo´pô9f³Ù¥ås<2x4dðhÈàÑÀ£ €G#@F€ <2x4dðhÈàÑtZ2555™L&__ß´´4›Í–™™)"k×®“É$"iii.­(ú4«Õš™™ùÕW_)Š’”””ššªÓµo{_~ùåîÝ»+** 0cÆŒuëÖéõún”óÓO?9räСCeeeû÷ï uቡŸ:}útfffUUUTTÔ¬Y³^~ùå»ålmm}úé§ívûæÍ›zè!wVð(ZÆv-yzj®p¿é©Q¸?ÑÂqÿët õå—_9rÄn·;Rôz}jjê€Ü[Ó»ÒtÁ—›››‘‘!"±±±---ééé"b4}||ÔíÈÈÈ%K–¸´¢è»ÚÚÚæÏŸ¿gÏž   //¯ãÇWVVæååyyýß ŒóçÏßµk—··÷˜1cJKK¿ûî»/¾øâäÉ“ÎW-åäççÏ™3Çjµª» L 誣G>ùä“­­­ÁÁÁÕÕÕ%%%;vì¸cæ-[¶>|XDªªª.¢el×’§§æ÷›ž%€û-÷?-k¨mÛ¶}ýõ×íþpÖ¬Yñññî«h‡4]íEEE‰ˆ¢(ÑÑÑÑÑÑê¶Ñh9r¤¢("¢&wtàÀ={öL™2Åb±˜Íæ)S¦ìÞ½ûàÁƒŽ V«õ³Ï>1bÄÉ“'¿ÿþûººº„„„êêê-[¶t©‰‹‹[½zu^^ÞÌ™3ÝtzèwRRRZ[[7nÜxåÊ•ÊÊÊ &ìܹ³]KS]¾|yÓ¦Mî¯$àQ´ŒíæéÁ¹Àý¦GF à¾E ÇýOãjРA¥NÎ;wÿDÇDc€,))éìÙ³µµµ ?þxMMMMMÍôéÓ}ôQuû¿ø…«+оëã?‘Í›7ûûûûûûoÞ¼YD>úè#GN÷Î;ï|ûí·“&M‘°°°eË–‰Hqqq—Ê‘˜˜“É”œœæòCtãÆ²²²€€€Õ«WûúúÆÅÅ©­qëÖ­·g^³f——ׯÝ^MÀ³hÛ;ÍÓƒs €ûMŒÀ}‹Žûœö5”¯¯ïƒNŒFcoÔ÷®´¾ScôèÑŽíQ£F9¶cbbz¸FèwŠŠŠ‚‚‚ÕÝÄÄÄ9çY³fó®···ˆ >¼«å÷¨±±Ñn· Ç#WãÇ‘3gδËyüøñ¼¼¼ÌÌÌ!C†¸»–º…¹ Çi_C‰È¥K—*++}}}'Mš4xð`·V´3¼P®e³Ù,Kxx¸ã Ç:.<<Üb±Øl¶;þÉÏ?ÿüÖ[o‰ˆó[ýºQÐ uuujÊD¤¾¾Þ¹¥Ùl¶W_}5222%%¥w* àÞ0×ôk(ihhúé§Ÿx≡C‡nÚ´Éùý½Ž\«¡¡¡­­-$$Ä91$$¤­­­¡¡áöüv»}Ñ¢Eµµµ/¼ð‚úL÷ʺÇËËkéÒ¥"2{öìmÛ¶­ZµJ½1ØÏÏÏùÝYYYeee&“ÉÏϯ×ê  »˜kzŠÆ5TpppXXØË/¿œ››ûöÛo¼ùæ›~øa¯Õû6|¶®¥×ëE¤¥¥Å9±¹¹Ùñ“3»Ý¾råÊ={ö$$$ìܹ³Ûå÷bÓ¦MçÏŸß¿¿zw˜Á`hnnމ‰Q¿I""×®]ûÍo~3eÊ”yóæ9ÿ¡ÕjuÜuà¾Å\г:]C‰È'Ÿ|âããã¸ÃÀh4&''§§§¯X±¢w*}Örp-½^ÔØØèœØØØÔn±¡®XÞÿýØØØüüü€€€î•Ü#½^ŸŸŸÿÝwßUTTÄÄÄ>|Ød2ÅÆÆ:2|õÕW?þø£Ùl~ê©§DäÊ•+"òÛßþöÍ7߬««ëµzЀ¹ Çuº†’Ûþ»ñ—¿üeHHÈåË— ƒ{ë{gÈàrF£±¼¼¼¾¾><<\Dêëë/^¼8qâDç!!áùçŸw$Μ9³µµõÖßäçç‹HvvvAAAïÕ@ç˜k\íŽk(¹qã†óî¾}ûjkkG=pàÀv%<÷Üs))))))sçÎuyup\náÂ…™™™éééV«UDL&ÓàÁƒ-ZäȰwïÞ>ø@DZ[[çÌ™£&VTTÄÆÆ.^¼X{9"rüøñÏ?ÿ¼¹¹ùرc"²~ýúÁƒGDDlذÁÕ§‰~ãêÕ«ÕÕÕ555999………‘‘‘YYYwÌyóæÍ´´´ªª*ÉÎÎÖét ,poe elï4OÎ5î7=2J÷-Z8vïÞœœœ˜˜˜˜˜h0öíÛWTT$"ï¾ûn»¢ÚÚÚª««Õí'N¸óEÏÈàrC‡=xð`RRRzzºˆ † 2Ä‘¡¹¹Y§ÓY­ÖÚÚÚÚÚZGúøñã»TŽˆ”””¼÷Þ{ŽÝ½{÷ŠÈ°aÃÒÒÒn¿o¸£¸¸8õµbþþþsçÎݾ}{»OÚ9\»vmûöíêû¼;f0® elï4OÎ5î7=2J÷-Z8{ì±Gy¤¨¨èÛo¿US¶mÛ6kÖ¬vEyyy¥¦¦ªWbëׯwçgД‚‚‚øøøÐÐP÷¯°°PDf̘ážÃáþaµZO:%"“'Oöööîõrh“h§¼¼ü‡~0cÇŽíÁᘖô!]škèÝ@EïFÿF GÒ¸†jjj*//oll4cÆŒé z«~F¼Ý÷”Ìf³¢(ÁÁÁêÇ1ŸÈ,..î nÎ_Ò´Ûí"2uêTGÊõë×E¤¤¤$>>ž;Èà&:.>>þþ)¸›‰'òBnÀÃ1×h§q ¥×ëyä-¶ ¹/é€G#@F€ <2x4M_±ljj2™L¾¾¾iii6›-33SDÖ®]+"&“IDÒÒÒ]ZQÀ4Èrss322D$66¶¥¥%==]DŒF£º¹dÉ—VpM²¨¨(Q%::º¥¥EÝ6Š¢(Šb·Û£££]ZKÀE4È’’’Ξ=«ÓéŒF£ˆÔÔÔ(Š£nÛíöQ£F¹¶š€kh ‰ÈèÑ£ÛÎá05LôQ|Å<šRPP_YYÙÛ5î`ìØ±Š¢+Š""ê¿"R\\ÜÁ_9²‰ˆÝn‘©S§:R®_¿."%%%ñññÜAö×—ôϘ1Ã=Ç+,,tçá€NÑ&á´4 ¿¢wý½ý-}ŽÙlviùÜAF€ <2x4dðhÈàÑÀ£ €G#@F€ <2x4–LMMM&“É××7--Íf³effŠÈÚµkEÄd2‰HZZZ`` K+Š>Íjµfff~õÕWŠ¢$%%¥¦¦êtwn{­­­O?ý´Ýnß¼yóC=tÇ<‡.(((--½|ùòôéÓ?úè#ç_¿üòËÝ»wWTT 0`ÆŒëÖ­Óëõ=Jèã:hE[·n½xñb»ü#FŒxýõ×»_~ùå‘#Gìv»#E¯×§¦¦0ÀÕ5<“–±ýôéÓ™™™UUUQQQ³fÍzùå—o/çÈ‘#ÿõ_ÿuôèQ«Õš˜˜¸aÃÁÐcès´Ìï@ŸöÓO?9räСCeeeû÷ï ííÁu¼Zמ§Wh åææfddˆHlllKKKzzºˆFu;22rÉ’%.­(ú®¶¶¶ùóçïÙ³'((ÈËËëøñã•••yyy^^w¸qË–-‡‘ªªªÛdV«uݺuï¾û®ÝnðÁÇ?yòdç óçÏßµk—··÷˜1cJKK¿ûî»/¾øâäÉ“páÐq+jiiyíµ×nÿ«aÆ9_@oÛ¶í믿n—gÖ¬Yñññ.ª6àÉ´ŒíG}òÉ'[[[ƒƒƒ««« JJJvìØá\ÎÖ­[Õ>bÄˆÆÆÆÒÒÒýû÷Ÿ>}:88¸KÇÐçhœß¾+??Μ9V«UÝmhh @7ëtµ®1O/ÒôˆeTT”ˆ(Š­nÆ‘#G*Š""j"pGسgÏ”)S,‹Ùlž2eÊîÝ»üžNýˆ–Vä|õ,";wî |æ™gnÏyéÒ¥ÊÊJ__ßI“& <¸ç« @D4Œív»Ý`08„?~¼ˆœ9s¦ƒbO:%"<òH—Ž Ò>¿ºJË:KKžÞÅW,áZ6›Íb±„‡‡;ÞʯÓéÂÃÃ-‹ÍfsÎöꫯFFF¦¤¤Ü­¨Ó§O‹Èµkׯ§×ë{ì±’’’ýóÏ?¿õÖ["rÇ÷4Ã3uµ™Íæƒ>óÌ3·¿~¨¡¡!<<üé§Ÿ~â‰'†ºiÓ&çwöp‘;ŽíuuujÊD¤¾¾Þy®qÈÊÊš>}ú‡~˜˜˜8kÖ¬. @?ÐÁüè-묮®ÅÜ\«¡¡¡­­-$$Ä91$$¤­­­¡¡Á‘’••UVVf2™üüüîXŽÝn?wäää˜ÍæAƒ=ztÚ´iwëQv»}Ñ¢Eµµµ/¼ð¤I“zî„Їuµ‰H^^ÞŸ¿ {ùå—sssß~û퀀€7ß|óÃ?tí ïnc»——×Ò¥KEdöìÙÛ¶m[µjÕÖ­[EÄÏÏïöœ9sfÅŠÇŽ‘… Þí •Ì#@?v·ùÐ ZÖYÝX‹¹2¸–ºðhiiqNlnnvü$"×®]ûÍo~3eÊ”yóæ9gs|„ED,‹ZÈœ9s.^¼xáÂ…ÔÔT«ÕºzõêÛj·ÛW®\¹gÏž„„„;wöô9¡¯êR+RåääÜ~ƒÉ'Ÿ|rñâÅ÷ßÿÅ_\·n]VV–ˆ¨_õà"í›6mzöÙg/\¸’’òÞ{ï 0@DbbbÔ¯ 97nœÙlÞµk—Ñh\¾|¹úî. @_w·ùÐ ZÖYÝX‹¹2¸–^¯ jlltNlll rȾúê«üÑl6?õÔSO>ùäºuëDä·¿ý­ó×QCBBÔ»V®\©×ë}||^{í5//¯'N´{|F]Õ¼ÿþû±±±ùùù.?IôÚ[‘ª¼¼¼¼¼<))I]i;ÓëõÎw;þò—¿ ¹|ùr»¦ §t:¶ëõúüüü¢¢¢íÛ·:tH½¡,66öŽ¥………Í›7oß¾}"òùçŸwõXú´æw@7hYguu-Ö+´¾¤è6£ÑX^^^__."õõõ/^œ8q¢#ƒÚ=.]ºtéÒ%Q»G]]óg.}}}‡^__?hÐ 5%44tÀ€MMM­­­ŽÕ‹Ýn饗²³³Gõõ×_ ·&î[‘CNNŽˆ¼ð –ìççúÓO?ùúúöxµhÛìvûòåËE$99¹ƒb£££}||***nݺåããÓÕc裴Ïï-´¬³º´³X,»ví‘yóæ :Ôm'Âdp¹ùóç‹Hvv¶ºûÉ'ŸˆÈ‹/¾èÈ0sæÌÖÖÖ[“ŸŸ¯æ/((p.çÙgŸ‘½{÷ª»úÓŸ®_¿éÜ—^yå•ìììqãÆ=ztäÈ‘"òé§Ÿ: hiE*›Í–——çïïÇç/nܸἻoß¾ÚÚÚÑ£Gß·dú´®Ží7n<þ|BB‚ó †nܸñé§ŸZ,GJNNέ[·Æ爎uãXú–Žçw@÷hYgi_‹=÷Üs))))))sçÎuGíÿ†;Èàr .ÌÌÌLOOWß)f2™¼hÑ¢ÛsÞ¼y3--­ªªJD²³³u:Ý‚ ¿¦¦¦îر###ãÌ™3F£ñã?‘U«V92ìÝ»÷ƒ>‘ÖÖÖ9s樉±±±‹/vá¢ïè´9~üx×ú–N[‘ÃÿøG¹Ëó=öØ#>¾²²²·kÜÁرcE VEDÔE¤¸¸¸ƒ¿rd»Ý."S§Nu¤\¿~]DJJJâã㹃 í¯/éŸ1c†{ŽWXXèÎâMÂ=hi@Eïú+z7ú7Z8ú³ÙìÒò¹ƒ <2x4dðhÈàÑÀ£ €G#@F€ <2x4dðhšdMMMëׯ߸qãÍ›7þùç 6lذ¡¹¹¹¹¹YÝþùçŸ]]QôiV«uÓ¦MÓ¦M{ôÑGß~ûm«Õz{žŸ~úéüã¿üË¿$&&^½zµƒÒ>¼zõêÇ|̘1K—.m÷ëéÓ§ÿéŸþ)..næÌ™|ðAOžú…/¿üòŸÿùŸ'Nœ˜˜˜¸nݺ¦¦¦Ûóhi±Zòè)Zæ-½RË }>з9rä7Þ˜:uêC=´jÕªÆÆÆÞ®Г˜¿p?èxµ®jmm}â‰'~ñ‹_œøàøñã'OžìœáèÑ£O>ùdkkkpppuuuAAAIIÉŽ;\y~èKæÏŸ¿k×.ooï1cÆ”––~÷Ýw_|ñÅÉ“'y´´X-yô-s„–^©eÐ8ès¶nÝúÚk¯‰Èˆ#KKK÷ïßúôéàààޮИ¿Ðë:]­;lÙ²åðáÃ"RUUõÐC¹·šÑ´–‹ŠŠEQ¢£££££Õm£Ñ8räHEQDDMîèÀ{öì™2eŠÅb1›ÍS¦LÙ½{÷ÁƒóÄÅÅ­^½://oæÌ™µjÕªßýîw“&MúóŸÿ\ZZú‡?üaÅŠÎRRRZ[[7nÜxåÊ•ÊÊÊ &ìܹ³Ý±à±¬VëgŸ}6bĈ“'O~ÿý÷uuu ÕÕÕ[¶lqΦ¥ÅjÉ §h™#:í•Gó€>'00péÒ¥eeeõõõõõõS§N½páBvvvo× èÌ_èu®ÖU—/_Þ´iSDD„ûkØ)M²¤¤¤³gÏÖÖÖ&$$<þøã555555Ó§OôÑGÕí_üâ®®(ú®?þXD6oÞìïïïïï¿yófù補óÄÄĘL¦äää°°°»•S]]••e0 ÇŒs{†7n”••¬^½Ú××7..nÙ²e"²uëÖ>%ôM:îwÞùöÛo'Mš$"aaaj )..vΦ¥ÅjÉ §h™#:í•G-ÇÐ-[¶,++kâĉ"b0~õ«_‰Èùóç{»^@Ï`þBïêtµî°fÍ//¯7º­nÚizÄRDFíØ5j”c;&&¦‡k„~§¨¨((((11QÝMLL8p`QQQWËÉÈȰÙlÉÉɼc†ÆÆF»Ýn0ËŒ?^DΜ9Óݺ£¿Y³fó®···ˆ >Ü9QK‹í©V  §hé•ZFâÔ©S"òÈ#ôvE ?ètµ®:~üx^^^ffæ!CÜÍû_­ÞIDATV7íx]\Ëf³Y,–ððpî¯ÑXNn±Xl6[—Š:}ú´ˆ\»vmܸqz½þ±Ç+))qÎXWWWQQ¡¦8p@Dêëë»z,x‚Ÿþù­·Þ‘—_~Ù‘¨¥Åö`«Ð#ºÑ+ï8ðYYYÓ§OÿðÃgÍšÕÛÕ€þ ÓÕºˆØl¶W_}5222%%¥7êØ9dp­†††¶¶¶çͶ¶††íåØíösçΉHNNŽÙl4hÐÑ£G§M›æÜë¼¼¼ÔÏdÌž={Û¶m«V­R®ôóóãÕéhÇn·/Z´¨¶¶ö…^PŸ·Rii±=Õªô”®öÊ»ú½3gάX±âرc"²páB½^ßÛ5€>OËj]D²²²ÊÊÊL&“ŸŸ_/Õ´D àZêeGKK‹sbss³ã',‹ZÈœ9s.^¼xáÂ…ÔÔT«Õºzõjçl›6mzöÙg/\¸’’òÞ{ï 0@DbbbÔ¯I*»Ý¾råÊ={ö$$$ìܹÓù'--¶§Z5€žÒ¥^ÙÁ ß7nœÙlÞµk—Ñh\¾|yFFFo×ú<-«õk×®ýæ7¿™2eʼyóœÿÖñéÕû2¸–^¯ jlltNlll êR(!$$D½ låÊ•z½ÞÇÇçµ×^óòò:qâ„óã3z½>??¿¨¨hûöí‡Ro(‹í¡³A ®ßÿýØØØüüü€€ç_µ´ØžjÕzŠö^ÙñÀ„……Í›7oß¾}"òùçŸ÷vu ÏÓ²Zÿꫯ~üñG³ÙüÔSO=ùä“ëÖ­‘ßþö·ÑÑѽYõÿ2¸œÑh¼xñb}}½º[__ñâE£ÑØ¥B|}}Õ÷(4HM 0`@kkkkkk»Ì Ë—/â‰'vïÞ-"ÉÉÉ÷zè/ìvûK/½ôþûï5ê믿6 ·çÑÒb{¤UèAZz¥–€‡ˆŽŽöññ©¨¨¸uëVo×ú6-«u5pvéҥªª*©««ûû¿ÿûÛ ´X,Û¶mÛ¶mÛ•+WÜu"ÈàóçÏ‘ììlu÷“O>‘_|±«å<ûì³"²wï^u÷OúÓõë×###ïöÿÿ7n<þ|BBÂóÏ?ß½š£ÿyå•W²³³ÇwôèÑ‘#GŠÈ§Ÿ~êhœ*--¶§Z5€ž¢¥WjôK7nÜøôÓO-‹#%''çÖ­[ãÆóññéÅŠ@ÿÐéj}æÌ™­­­·þ&??_D²³³ n/í¹çžKIIIII™;w®»Î@DDç΃Á3-\¸0333==]}ºØd2 >>44Ô=Ç+,,‘3f¸çp¸X­ÖS§N‰ÈäÉ“½½½»]ŽÍf«ªª2›Í&L6lX»_ËËËøá£Ñ8vìX‰6‰;ÒÒb»Ôªii€ôÔ\Ó%ôn ©«««¬¬|àÆŽØqfz7ú7Z8z\Ç«õ.Q?GÞî}Jf³YQ”àà`EQDDýWDŠ‹‹;(Ê‘MDìv»ˆL:Õ‘rýúu)))‰ç2¸‰N§‹¿÷r¼½½'Nœ8qâÄ;þÚÁO@—hi±=Õªôz%€ŽEDDDDDôv- êxµÞ%½ò©q^ÒF€ <2x4dðhš¾bÙÔÔd2™|}}ÓÒÒl6[ff¦ˆ¬]»VDL&“ˆ¤¥¥uú™dà>¤)@–›››‘‘!"±±±---ééé"b4}||ÔíÈÈÈ%K–¸´¢€+h EEE‰ˆ¢(ÑÑÑ---ê¶ÑhTEQ»ÝíÒZ.¢)@–””töìYNg4E¤¦¦FQ”˜˜uÛn·5ʵÕ\CS€LDFíØv‡©a2 â+–ðhÈàÑ”‚‚‚øøøÊÊÊÞ® pcÇŽU%88XQQÿ‘âââþÊ‘MDìv»ˆL:Õ‘rýúu)))‰ç2x´¿¾¤ÆŒî9^aa¡;tŠ6 ÷ ¥ý½è¯èÝèßháèsÌf³KËç2x4dðhÈàÑÀ£ €G#@F€ <2x4dðhÈàÑÀ£é´djjj2™L¾¾¾iii6›-33SDÖ®]+"&“IDÒÒÒ]ZQôiV«533󫯾R%)))55U§kßö~úé§#GŽ:t¨¬¬lÿþý¡¡¡w+íðáÃ¥¥¥—/_ž>}úG}Ô½rà™¾üòËÝ»wWTT 0`ÆŒëÖ­ÓëõíòtÚŠ¶nÝzñâÅv‰#FŒxýõ×]Xu:}útfffUUUTTÔ¬Y³^~ùåv¾üòË#GŽØívGŠ^¯OMM0`€s¶³gÏšL¦ŠŠ ù‡ø‡µk׎5Ê õàjGŽù¯ÿú¯£GZ­ÖÄÄÄ 6 †Þ®Ðc´¬¹Ѳ>Òx%Ö‹4u˜ÜÜÜŒŒ ‰miiIOO£Ñèãã£nGFF.Y²Ä¥EßÕÖÖ6þü={öyyy?~¼²²2//ÏËëÿn`ÌÏÏŸ3gŽÕjUwîزZ­ëÖ­{÷Ýwívûƒ>8~üøÉ“';gÐX<ÖüùówíÚåíí=f̘ÒÒÒï¾ûî‹/¾8yò¤sˆ¿ÓVÔÒÒòÚk¯Ý^ø°aýåèÑ£O>ùdkkkpppuuuAAAIIÉŽ;œólÛ¶í믿n÷‡³fÍŠwìž8qâÑG½yóftt´ˆdggçåå?~¼Ýt ÏÙºu«:}1¢±±±´´tÿþý§OŸîíª=@Ëš pë#-WbnÐA§ÐÔ[¢¢¢DDQ”èèhõzQQ£Ñ8räHEQDDMîèÀ{öì™2eŠÅb1›ÍS¦LÙ½{÷ÁƒóÄÅÅ­^½://oæÌ™µjÕªßýîw“&MúóŸÿ\ZZú‡?üaÅŠÝ(žÉjµ~öÙg#FŒ8yòä÷ß_WW—P]]½eËçl¶"«Õ¸eË–š¿©¬¬ôööž>}º[ÎÀ¤¤¤´¶¶nܸñÊ•+•••&Lعsg»¹FD Têäܹsí®ÉÖ¬YsóæÍ-[¶œ;wîܹs[¶l¹Û5€¾%00péÒ¥eeeõõõõõõS§N½páBvvvo× èZÖ\€‹h_uz%Ö=þþþÚ3ûùùÝí'Mw%%%={V§ÓF©©©Q%&&FݶÛíóÌ3÷X=ÝÓØØh·Û ƒãqéñãNjș3gnÏ|éÒ¥ÊÊJ__ßI“& <¸Ý¯cÇŽ-))ùþûïzè!©¬¬¼yó&ÏWýÏ©S§Dä‘GéíŠ=£§Ö\@÷h_u|%Ö=C† Ñ 2dÈÝ~âd¸–Íf³X,áááŽ7Dêtºððp‹Åb³ÙºTÔéÓ§EäÚµkãÆÓëõ=öXIIIÏ×ãçŸ~ë­·Däö7yw‰Ùl>xðà3Ï<÷J€ÞXWW§¾Y_D8 "õõõíæš†††ððð§Ÿ~ú‰'ž:tè¦M›œß+"Ë–-Seþüùÿöoÿöûßÿ~þüù"²`Áw —ËÊÊš>}ú‡~˜˜˜8kÖ¬Þ®ÐzpÍÜ»ÖG^‰uO``àСCµä:th«6¾j×jhhhkk qN ikkkhhxà4–c·ÛÏ;'"999!!!ƒ :zôè´iÓŽ?>eÊ”ž¯7ú;»Ý¾hÑ¢ÚÚÚ^xaÒ¤I÷RT^^ÏW½ËËËkéÒ¥Û¶m›={vJJʹsçÔ'MüüüœßÃ6gΜGyä‡~ÈÌÌ|óÍ7 ƒóë,/^\UUµeËÇ;e_ýõ{ £¸œ9sfÅŠêzláÂ…·Éè‹zjÍôˆ»­´\‰u[TTTssó_þò—ò 8P}ÃþÝ ƒk©—---ΉÍÍÍŽŸ4²X,j!sæÌÙ±c‡ŸŸß›o¾ùÎ;ï¬^½úرc=Zeôv»}åÊ•{öìIHHعsç=––““ÀA½kÓ¦MçÏŸß¿JJŠˆ †æææ˜˜õUbªO>ùÄÇÇÇñfV£Ñ˜œœœžžî|Y–——÷ÿñz½þÿñívûÞ½{ÿýßÿýþá^|ñE7ŸW7nœÙl>|øðúõë—/_ÞÐа~ýúÞ®p¯zjÍôˆ»­´\‰u›¢(÷w÷Ã?˜Íæ;f ‹ŠŠr¾2¼Xµôz}PPPcc£sbcccPPP—ëõ.€•+WêõzŸ×^{ÍËËëĉÜ6Œ.Q£cï¿ÿ~lll~~~@@À½”V^^^^^ž””4`À€žª!€nÐëõùùùEEEÛ·o?tèÐÒ¥KE$66¶]çïýò—¿ ¹|ù²ó$e2™nݺuøðá;wæää>|øÖ­[ï¼óŽÛN€«………Í›7oß¾}"òùçŸ÷vu€ÐSk.àÞu°>Òr%v/E‰ŠŠš0a°aÃÔ¯U(Š0lذ &Fç îˆ;ÈàrF£±¼¼¼¾¾><<\Dêëë/^¼8qâÄ.âëë;|øðúúúAƒ©)¡¡¡ hjjjmm½Ç<‡Ýn饗²³³Gõõ×_ †{,0''GD^xá…ž¨€{•`·Û—/_."ÉÉÉdöóó ýé§Ÿ|}}Õ”k×®UUU=ðÀ?ü°š^YYù¿ÿû¿í]ЧEGGûøøTTTܺuËÇǧ·«Ü«Ys÷Nûúèö+1‹Å²k×.™7ožÆ—‹9FFFFFF:R:¾kÌwÁåÔ7ggg«»Ÿ|ò‰ˆtãY•gŸ}VDöîÝ«îþéOº~ýzdd$Ñ1h÷Ê+¯dgg7îèÑ£#GŽ‘O?ýÔÑ8»Êf³åååùûûó|%p_Ù¸qãùóçÚ½üâÆλûöí«­­=z´ããȃ 1›ÍÕÕÕjÊÿ÷×××8Ðñß3ú¢7n|úé§‹Å‘’““sëÖ­qãÆCÿÐSk.à^t¼>êôJÌá¹çžKIIIII™;w® «{î ƒË-\¸0333==ÝjµŠˆÉdÒx%¦2™Lo¿ýv»BÌfsKKËÍ›7oÞ¼ÙªÍ-'·ÿzõêÕ«W¯ª‘1¥   >>ÞÑ‘\­°°PDf̘ážÃáþaµZO:%"“'Oöööîv96›­ªªÊl6«ïÞ»÷ŠÑ&ÿ_{wðÅÙÀødÕ°FY-Ùô"Y×F# *ëA/ Þzóê©Ñ«`‚¥ç^<ˆRz)*APTJA"Jkc‘@C¡®‰MBÜjâô°~~!šdÛ:»›ç9ĉû:ó ¼Cfξÿ6>>>>>Þ××WËÿi˜i¨{÷î‹ÅåOÉ™™™{÷î=}ú´X,îØ±ãÝ5/ªž|˜ÉdŠÅbáÑ£GQmÛ¶­ºÇñ'Ÿ|’lLHFMYaûöío·ÖaÕš V)O± Õd¤Z444T*•FFFÞ£¯¯/Š¢\.EQ¡úuE ‡Åq¼èÕéééÂððp©Tr©öf‘þƒÖçx7oÞ¬çá`Eæ$õa¦A«rvC«rvÓÚÌpVr¹œèþÝA@ª)ÈH5©¦  Õd¤š‚ €TSj 2RMA@ª)ÈH5©¦  Õ2µ š™™X»vmÿüüüàà`áøñã!„B6›M4(«ÚÜÜÜààà•+W¢(:tèбcÇ2™ÅsïÙ³g7nܸzõê/¿üréÒ¥>úh©½½|ùò‹/¾ˆãøôéÓ{÷îý×cH§Ë—/÷Ýw¿þúëúõë|ø«¯¾Z4 Æ³»êúõëCCCwïÞýóÏ?8ðí·ß&›H^íW›°¹:¥,Õä³´¦(çÎ;uêT¡···R©œø1à¿{þüy¢ûw©Ö,k¡@C¸ƒ €Ts©¦  Õ2µ š˜˜˜œœü믿â8N: EQGGG.—ëêêÊf³Ž“¸ ²8ŽÇÆÆÊår}ÒÐpq¿xñâÅ‹?Îçó…B¡­­•?†¸\AÇñƒ¦¦¦ê–€¦2>>^©TvîÜÙÂÏx\®üûý÷ßµc)755566Öè Z² ›}òäI=£ÐœÊåòììl£S$eÉ‚lbb¢ž9hf-\-YMNNÖ3ͬ…Ë¢% ²J¥RÏ4³.‹Zù |(mm-Û#-ùƒuttÔ3ÍlݺuŽ”Lõ(н°yóæÇ×=ÍhÓ¦Mï6H­aÉ;Ⱥººê™€fÖÂeÑ’Y6›íîî®gšSwww6›mtФ,·¸Z¡PظqcݢЄ6nÜX("AoÖ ‹ãø½/÷õõ•Ëå:F Yäóùj;¶T}Ô2Ë¿EQ¡PÈçó“““•J¥>±h”(Š:::r¹\WWW ²ò­ ²ªl6ÛÓÓÓÓÓ“t¨³åÖ €–§  Õd¤Ú›5Ȧ§§›"B¸}ûö¾}ûÞcttttt4¹ý¿¹ƒlxx8¹c@ÓŠž>}Úè Ð0ŒC6Î!©mIEND®B`‚traitsui-7.2.1/docs/source/traitsui_user_manual/images/InstanceEditor_demo.png0000644000076500000240000015554214046644454030404 0ustar aayresstaff00000000000000‰PNG  IHDR6pÔ[cÓ pHYs  šœ IDATxœìÝg\SIÃ6ð Eª"†*(UQ,¨KYwqä¶£kY]u-¬ºvQo{W×Þ+*(¶{ÅŠJPé@i¡„„¼æyÏ“'ADMàè^ÿû;L&s&g5^ÌÌ™Ã)(( À&J݆ˆÀ:ˆh¬ƒˆÀ:ˆh¬ƒˆÀ:ˆh¬£ÒØ6ª©©‰Db±Xª\¶à߀ÃáÈ–(+++))j´  þªª*>Ÿ_YY)dS"ü;IE4šÏTUUÕÕÕ555ÕÔÔä~FD4øb±¸´´´´´TMMËåêêê*âÀ÷¡ªªª¸¸øÃ‡ÚÚÚÚÚÚ²#m_ƒƒ@URRÂçó[´hahhØØ}øfäååhjjêèèȱYŒ¢!„TUU•––¶lÙù à³Ð:y<žššš' pG'BŸÏWUUE>ø†††ªªª|>_Žm"¢©©©©¬¬ÔÕÕmìŽ|«tuu+++kjjäÕ "‘HTQQѼyóÆîÀ·ªyóæ"‘H^ "¢‹ÅÕÕÕ¸à‹©©©UWWËqw*D4 „9¦~€'ùþcŠ;:€¥è—²²rcwä³:uªºººC‡ri011ñĉŽŽŽ¾¾¾riØ ØåâÅ‹Ož|˜5kVc÷´lذáäÉ“öööŠBËÏÏß»w/!ÄÉÉ   q}M ¨ªªÖú’P(Ü»wï›7o¦L™Òºuëî÷øñc%%¥±cÇÊ÷á\ÿ*×®]£ù¬C‡Û¶mkÙ²%óÒÈ‘#ÿüóÏÂÂÂiÓ¦5iÒ¤ñºÙ8lll–/_ÞØ½€ÅÒˆ–‘‘qâĉ—/_¾|ù2//ÏÜÜÜÉÉÉÙÙyüøñêêêLµË—//Y²„òöíÛÓ§O7JWoß¾½bÅ BÈèÑ£UTXz=Øïùóçô௿þ’Ìg„''§ßÿ=  ¸¸øÞ½{½zõ’|U,ççç¿{÷ÎÈȨE‹õ9WAAAAAAëÖ­¥~ýËËË{ÿþ½••ÕÇ~-d”——gee©©©™˜˜|Ö_|‘HÄãñòóó›7ondd$Ç›!Þ¾}+ ---ëîOaaaNN—Ë500ø‚ß*¿àj———¿~ýÚØØ¸îÍkjjòóóy<ž‰‰É'·i,++ËÉɉD&&&ò}*"{°1RDDDL˜0áýû÷LIFFFFFÆ?ÿüsúôé£Gš››Óò[ŸŠV\\L¬­­e_>|8wkÛ¶-SXRR²ÿþààà’’ZÒ¢E ggçåË—ëéé1ÕÞ¿ïêêJÙ»wo~~þRRR!ÊÊÊÇŸ;w®ššÚ™3gþþûïüü|BH“&MìììÖ­[תU+ÙZ´h±víÚÇÓÝ455‡>cÆŒOŽí‰D¢;v3_nÚÚÚC† ™5kÖ'ß»yóæèèè<|ø–¬\¹288¸C‡û÷ï_¶lÙƒ è‡òôô\¼x±¾¾¾d •••ëׯ¿sçN^^-iÖ¬Ù¨Q£˜ß{ÏŸ?¿hÑ"fË???úöíûeW»¬¬ìàÁƒqqq´Y.—;þ|///Ù+³gÏž'NÐ@166îÒ¥‹¿¿³fͤ*¿xñâï¿ÿ~ðàSÒ±cÇY³fuéÒ¥îkðÍa]D ?~<ýûìææÖ­[7ccã´´´7n$''ÇÅÅýôÓO÷ïßçr¹„>}ú¬\¹2##ã?þhìŽÀW±°° œ?¾Ô«ZZZ?ÿü³dIMMÍÌ™3###% ®]»–œœ|ðàAccc¦&ýJ‰ˆˆ bRˆH$:~üxII‰µµõæÍ›™Fª««_¼x1f̘“'Oš˜˜H¶»{÷îÊÊJ¦2ŸÏ?pà@ii)M¯ÃÒ¥KCCC%KJKK:TPP°qãÆºß+ E"QuuµTIeeåŒ3"""˜r‘HtõêÕ„„„°°0f,ÇãM˜0áÕ«WôG‡#‹?|ø°mÛ¶/^ìܹSEE…6(yRú#ýï\í=zT²ÏïÞ½›5kŸÏ:t¨d;+V¬ ‘,ÉÉɹpáÂÓ§OwíÚ%ÙSRR&L˜PZZ*Y9&&fÒ¤IAAAvvvu_F€o ëF¡V­Z%‰”””Ïž=;þüÑ£G/[¶ìÎ;£G&„|øðáÌ™3´²ŠŠÊ”)SÖ®]ÛX Ñ@^ÜÜÜè¸ø¡C‡FŽyåÊ•ŠŠŠ:êïØ±ƒ&}ûöݾ}{ëÖ­}úô!„¼}û–Þ–(åÈ‘#FFF.\˜5k–¡¡!!äâŋ͛7_·n]XXØŠ+Ú·oOáñx/^”jaË–-•••C‡ݳgÏùóççÏŸojjJ9uêÔ‰'êèíîÝ»i>sqqÙ¹sç;wvíÚÕ­[7ÚmÛ¶ÕÿBIJHHˆˆˆðòò¢W`ïÞ½VVV„ŒŒŒ   ¦Ú©S§^½zÅáp&L˜pÿþýçÏŸ=z”;EDDܺu‹âíí}ýúõ;vз,Y²äúõëׯ_§Éø ®ö455—-[6qâD:,(™qwíÚEó™µµõâÅ‹/^¼¸iÓ&ÚrVVÖÌ™3™šùùù'N,--UUU7oÞ?ÿüsñâÅyóæ5iÒ¤¼¼|òäÉÌ!À÷]£hÅÅÅ©©©„Î;Ó@ÆPUU]»vmXX؇NŸ>íççWÏ6…BaRRR‹-è×1£²²255µY³fô·äºñùüôôtuuu33³ÏZª,‰rssy<ž¾¾þç®YøWqpp˜0a½ðéÓ§OŸ>UUUíØ±cÏž=ÝÝÝÛµk'U¿¨¨ÈÕÕUOOoåÊ•tªÎØØ¸W¯^ÑÑÑQQQ²§ÐÕÕ=xð ])Ñ®];:ïFQRR:tè=…••U÷îÝ=== !±±±²üöÛo .¤Ç666®®®C‡­¨¨X¿~ý°aÃj][VPPð÷ßBºuë¶gÏú°5###—1cƼ|ùr÷îÝ'Nü²‡°y{{ÐUeÆÆÆÖÖÖ¿üò‹@ xòäɸqãh»wïBÚ·o?gÎZÒµk×-[¶øûû :½«¡¡annÎÄbCCCfI ù¢«­¡¡qàÀ{{{úã¬Y³JKKOž<ùþýû´´4ZÎ\ƒƒB¬­­½½½gÏž}éÒ¥ÔÔÔ¨¨(š&wìØ‘››«¬¬¼uëVÚ¬µµµ±±ñÌ™3y<^ppðŒ3¾à°»FÑŠŠŠèì×1!D]]=$$äèÑ£‹-¢%•••†††\.wÿþýL5.—ëííýáÇ1cÆX[[{xx888tíÚ•._ÈÈÈ;v¬¹¹¹‡‡Ýþ{ݺu’'*,,är¹\.÷Î;ñññ´´´tssëÚµ«µµõ²eËÁ'?‹P(\·n““SïÞ½Û¶m»dÉÙ÷–––>|ø`˜5kÖ¦M›è8!D <~üxóæÍýû÷2dÈíÛ·%+/^¼xß¾}7n”¼…HEEÅÇLJ’œœ\SS#Õ¾‡‡‡dìèÓ§¦¦&!ÄÁÁAò;ÇÌÌÌÆÆ†òöí[©,--¥&a­¬¬¦OŸN©ªªJKK«õsÅÅÅÑ…k³fÍ’Ìat‘†H$JNNþø…©Ëøñã%Wý9;;B222˜B:jõúõëÂÂB¦P__ß¾}GŽ5jÔ'ÏòW»{÷îL>£úõëGÒÓÓé‚—-[Fó™ä§NúçŸ2kŽiåîÝ»3ùŒêÓ§]¡˜ðÉð aנމ‰‰ªªª@ ¸téÒŒ3˜µ) ©íÅkjj„B!!Dr¹CuuµH$*//7nܽ{÷˜òׯ_2äÔ©S~~~999Ly^^^@@€H$b’ŸH$¢)&&&00Pr¶¥¬¬lûöíÅÅÅu–9sæHN4BJJJvîÜÉãñvïÞÍæææº¸¸ðùü.]º\¹r¥î6¾{ÞÞÞÞÞÞ111÷îÝ{øðáË—/é_Ƹ¸8??¿I“&IÎ|Q•••%%%¥¥¥%%%™™™„ššÙ‡ÓL†šššŽŽŸÏ—½AÁÚÚ:))I6v899ÉŽ“uìØ‘$&&JÞÍÀ ›‰BŠ‹‹¥–s•——Óƒ„„©îÕ‡ºººì/´tÆ€Ïç3%ݺuKMM---ýé§Ÿ|||z÷îݱcG--­Ï=ùœ«Ý¡C©###zÀô‰h4VJÒÓÓ›:u*ócuu5]K§££#u i!!$>>þ >k±+¢©¨¨ôêÕëêÕ«ïß¿wss›8qâ Aƒlmm¿ )ú7üøñ¾¾¾………ÁÁÁÿüó@ 8p X,:tè˜1c8Î… Ž;VQQ±k×®ùóçKMD®Y³†2zôhoooCCȈˆ¤§§;vÌÑÑ‘™DµyófšÏ\]]'Mšäèè·k×®û÷†¶jÕŠùEüæÍ›ôÛ****''‡Yr ðoÖ±cÇŽ;NŸ>½´´ôÖ­[G¥${÷îuuuíܹ3!D,_¹råàÁƒ‰‰‰õ„þØVõ¿7¼Ö~fØ/))©ÿþ²˜ˆ6qâĵœ””TÏ>HÒÕÕ•Œ²¦3fÌàñx7nܨ¬¬<}úôéÓ§•••;uê4iÒ¤~ø¡>'ú‚«-»q†lÇè•iÙ²¥ä=¡µJNN¦¿Š_¾|ùòå˵Ö),,,,,”º•àÛÅ®ˆFY³fÍóçÏóòòø|~````` ™™™»»{¯^½zõêõY¿öýñÇk×®¥Çžžž]ºtyûö­X,0`ÀÎ;éÔ@·nÝŠŠŠN:UYY™””$û@½I“&­^½š;88ôêÕ«wïÞååå‹/þí·ßj][Æãñèyøá‡àà`ú­dbbâêê:`À€gÏžΘ1ƒ–{zzjii•••uíÚù @ж¶ö€|||èíb±øÚµk4¢mذáСC´šªªª¡¡¡®®®¶¶vvv63Ö0˜yFÙ‘$Ér%%%©‰?IR[ÁÉ—¶¶ö¶mÛâââöïßÿðáÃââb‘Håää´{÷îO&$]mš/ë“ù˜ͺ÷cûØÿ€oë"š¹¹ù½{÷–,YrîÜ9º~"333(((((HSSsĈóæÍ“Ý)§V“'OfŽ9Έ#è¨Øˆ#$—nôë×ïÔ©S„ÔÔT©ˆÖ¦M©½mllüýý—,YRUUõêÕ«Zïñ~þü9ýšøïÿ+ù[cÓ¦Mÿúë¯1cÆ…Âøøx:ikhh—””ô ="@îÄb1Ý-LSSSrµ¥¬¬¼`Á‚³gÏÖÔÔ¼~ýš’••Eƒ¡¡áÆ;uêÄ &íØ±ã‹oü¤ZWŒÑ]Ö!ò·³³ WVV>vì˜ì§k0[¶l‹Å©©©7nÜ8~üxaaáóçÏ7oÞ\÷Ž!Š»ÚwîÜ©ÏèW»v픕•E"ÑÀéâ?€ï»n š5k¶mÛ¶¤¤¤;w2„nFáóùûöísss“\û1Í›7—ZÊÆÜÑI3˜oUÙ_¿ºté";NÆlÈL^Ha6I/**ºó1+0^¾|ÉÔ×ÒÒêܹ3¶á…³¢¢"77·ž={~ìœeeet¥iÓ¦„æ±cÇvéÒEr²ïéÓ§ŠëçóçÏe‡|˜¿ò‹ht𬺺Zò/~cáp8ÖÖÖ~~~W®\¡wK<{öL¶šä_Å]mæ·bÙ{Bù|>ý圮0SSS£Kk½{à»ÄÞX ¥¥åëë»{÷îøøø[·nMž<™®#ÉÍÍ­ÏmÕuܾ^ÿ0Të “ð>ÑbbbèÁðáÇþ_Ì^!{/À¿S³fͺwïN¹sçÎãÇ¥^‹ÅÌ,]Ï<ó‡YnOÅÄÄ(ôŸð·oßJm3›ššºuëVBˆººz›6mj}3¿¹nÝ:©_¸pÁËËËËËëþýûŠé2yûö-ýþ‘ÚVGG‡ÎHHÎK0› 1ßcD‘WÛÑÑ‘Îi¬\¹òÝ»w’/­^½zÕªU«V­bîô§—1::úŸþ‘¬YZZ:nÜ8///É™€ïë&:kÕ¡C‡:Œ1ÂËË«¬¬,""¢¨¨è“‹'¤þëNdohbHmÒýû÷¿ÿ¾X,þý÷ßGÝ·oß6mÚˆD¢¤¤¤Ã‡Ó½ÔÔÔ† FéÖ­ö:räH‹-\]]ËÊÊ"##%‡áðáÞžž?>vì .óçÏÿØ7ŒŒ&Nœ¸wïÞ„„„‰'Ž3¦cÇŽÙÙÙ>ܶm›H$277wqqQP‡-,,Š‹‹322RRRD"Qÿþý›6mš½uëÖ¬¬,BÝ'–266¦Ï ³°°pqq122RÜÕnÞ¼ùìÙ³ Ç?bÄ—ŒŒŒ;wîœ={–bnnÞ£GZùÏ?ÿ /((X¸pa^^ݧ-66öÀ/^¼ „L˜0ák:À6ìŠh|>¿¢¢‚ÃáÔº(ÁÎÎn̘1tóë”””x"[­»ì$&&ÒGGÇZßÕ¡C‡›7oª¨¨\¼x±×|[úõë—™™¹}ûöššš#GŽ9rDªBË–-·nÝJ—Õkii=úðáÃÅÅÅK–,aê(++{yy}쎿¯çååuíÚµ©)__ß_ýµŽ7Μ93;;ûÒ¥KÑÑÑÑÑÑ’/éèè,[¶LqûZs8œ3føûûWVV®X±bÅŠto#úª‹‹ ÝÛŒRWWÿá‡îÝ»WPP@Wâôë×OqW{„ 999'NœHMM•Z×¢E‹72¿ïÙ³gÔ¨Q›7o–|f!ä§Ÿ~0`À×ô€mØ5ѹzõj›víÚÕº©7!„y|/]¢hQQQtß5IÌ׫ìíŸ< ]ðáp8~~~û÷ï·²²’Z ¥¥õã?ž={ÖÉɉ)ô÷÷÷÷÷g¶Ú"„´mÛvß¾}?þø#ù¿ë˜cÙQ.Z"yÿd¹lýîÝ»ïÛ·Or=kÓ¦Mÿý÷Å‹KV£g”|;‡ÃY»víøñã™ICBˆŽŽNŸ>}˜¢¡MI~(Ù©³K¾äååÚ¥KúK£@ PRRjÕªÕŒ3<(Ù%BÈš5kÆŒÃÒ‹#—«Í\g©—-Z4}útÉû4[´hñË/¿œ={Vj.ÂÞÞ~ïÞ½ô–^¦©Ö­[¯[·nÇŽXÑ ßNAAAc÷áEGGÓ!÷ŸþùðáÃRCPééé?ÿüó‡ÔÕÕSRR444ÊËËé^á+W®œ2e ­6{ölú$>©œwâÄ zP\\œä<ã›7oè€Ü¾}ûHáñxÌ*´)S¦¬\¹’©œœœÜ»wo>Ÿ¯®®þöí[•­[·ÒßüòòòèïÁÙÙÙôkÅÑÑ1,,Œ.È¥N:E÷¼]½zu¯^½ha||üãÇ}||¤6×n0 %%ÅÍÍ­QÎ «¢¢âÕ«WÉÉÉÍš5³±±155•MQŒÂÂÂwïÞq¹\ÅmˆUPP@÷[¹r%}ø‡rssÕÕÕMMM?¶ÝZ­èCኋ‹ ºÑF­jjj²²²ÊËË-,,444ê¨)‰ø|¾X,ÖÕÕ•,WÜÕ‰D<ïýû÷õ¹2%%%999***æææŸuý*""ÂÚÚZ^&Ù5ÑÙ¹sçÖ­[¿~ýúæÍ›îîî .lß¾½‰‰ÉëׯÖ¢ÁÿRRRRSSSQQQSS‹Å4ŸI¦4$6øw’Ú žþ—Ž¥Éq£ Iˆh MqÚ ž°éë ¢°"ë ¢°"ë ¢°"ë ¢°"ë ¢°"ë ¢°"ë ¢°"ë ¢°"ë ¢°"ë ¢°"ë ¢°"ë ¢°"ë ¢°"ë ¢°"ë ¢°"ë ¢°"ë ¢°ŽJ}*ÅÆÆ*º ÉÑÑQ^Máÿ«Ôó_yNAAÁ'+éëëuà3Ê«)ü¿`•zþ+‰NÖ©×(4$Œ¢°"ë ¢°"ë ¢°"ë ¢°"ë ¢°"ë ¢°"ë ¢°"ë ¢°"ë ¢°"ë¨4và_¤ZDâó”2‹8¥•¤FÜØ½ø:J¢­NÌôÄö†5M”åÜ8§  @ÎMÔ&¯”óð_ÐØý7MUÒ½U¡¶<õÄD'4„¼RÎÍdä3ø>ñäf²R^)GŽm"¢€ÂU‹ÈÃ7ø¶€ïÜÃ7JÕ"¹µ†/MP¸ø<ŒŸÀ÷/ ñyrKVˆh p™Eòü`-9~Ý!¢€Â•V6v„¿î°é(\­ûk´ªŠ-‹±°‡SËðØ57©9n'„ˆÆÝݽ±»ð…ÂÃÃÚ>"4&]]ÝÆîÀg+..Vô)° €uÑX ‡Ã©u.À¿"ë ¢°"ë ¢°"ë`ëZÚ¸qcff¦ŽŽÎòåË•••k­~æÌBȪU«ttt¶ƒÀRˆh OÑÓÓ›3gN­uâããOœ8Añ÷÷GD  ! àùóçÝ øf ¢4¡P8yòäÊÊÊÆî|ÑHjjê’%K>÷]åååÉÉÉñññ >õy<^\\œl圜œ—/_~²‘ÒÒÒ„„„¸¸¸¢¢¢Ïí*È"€ÂuîÜÙÖÖ–rðàÁ[·nÕó]wïÞõññ177ïÙ³§»»»¥¥å?þxêÔ)É:……Æ¿Ž IDAT…\.—ËåÞ¹s'88ØÕÕÕÎÎÎÃÃÃÜÜÜßß¿¢¢B,ÙÛÛ·oß¾W¯^–––}úôIMM•=ÝÓ§OܪU+777+++//¯‡ÊÖ|ùòevvöç_ø ˆh §¦¦¶k×.UUUBÈôéÓß¿ÿÉ·DFF>\2! ‚ØØX??¿ÀÀ@¦Pôÿݺu믿þJLL¤åB¡pÿþý3gÎüûï¿g̘ñîÝ;¦‘èèèdddHž.11qèСááá’…Ož<>|xll¬dáâÅ‹{õêÕ©S§›7o~ÞU€ÏˆÐ.\Hy÷îÝÇnídäçç?^(jhhlܸ1""âîÝ»‹/622"„¬Y³æÃ‡RoÙ½{·©©éž={ÂÃÃ/^lllL ]½zµ¾¾þöíÛ###;uêDÉËË eÞûîÝ»_ýµ¤¤DUUuùòå÷îÝ[¾|¹ªª*ŸÏÿõ×_srr˜ÊçÏŸ'„ˆD¢°°0ù\¨ 6Ýh ~~~ׯ_ðàÁ?ÿü2lذÕÌÈÈèС!dôèÑýúõ£…šššþþþb±øÑ£G}ûö•|K³fÍBCC[µjE±··722òóó#„(++Ÿ={ÖÞÞžÒ®];777gggBHLL óÞ7fee©¨¨>|¸wïÞ´ÐÖÖÖÔÔt„ yyy‡¦ù’2pàÀ;w*++3EÀ(@QRRÚ¹s'ÝùÌßß?33óc5CBBBBB¤b¯¯/ÝÿVjò‘âééIóÕ¿---Bˆ““Íg”……ý1--)¤qÍÍÍÉgL#vvv„—/_2…+V¬¸wï^LLÌÏ?ÿ\ïŸ £h ÇÔÔtýúõS¦L)--õóó»pá‚’Ò'~MÊÊÊÊÏÏ/......))áp8„¡P(UÎ`2ÔÔÔôôôÊÊÊlll¤jÚÚÚÆÇÇ×ÔÔÐ]Á¦««{çΩÊ4P¾xñBª…ú|Xøˆh jèСׯ_?wîÜÇwìØ1mÚ´Z«åæænذáÊ•+õiVMM­Öréê@wâ8wîܹsçj­“ŸŸŸŸŸo``PŸž€\ ¢4´7>zô(77wíÚµ?þø£l…ôôôÞ½{Ò[´ha`` «««§§wõêUùv†N311iÙ²åǪ‰ÅbùžꆈÐÐôôô¶oß>dÈ@0eÊ”AƒIUذaÍg“&Mš5k–¾¾>-‰D¦¦¦ÕÕÕr쌽½½ŠŠŠP(üõ×_ýýýåØ2| Ü.ÐÜÝÝ'MšDILLܱc‡Ô«< „èëë/]º”Ég„èèhùæ3BˆššZ»v혓K ¢4ŽÅ‹Óµü²ZÒÕÕ%„…BÉç5UWWïܹS=qrr"„<|øðôéÓ’å%%%C† éÞ½ûˆ#˜ÂŠŠŠààà;wî`ê@¡Ñ‡ššÚîÝ»é#¤ÐjÅÅÅ3fÌxðàAAAÁÍ›7‡ véÒ%EôdΜ9-[¶‹ÅÓ§Oß²eK\\\vvöÅ‹}}}ïÞ½›’’"¹÷Ç´iÓ¦N:tèГ'O*¢3@!¢4‡ È–9’®Ü?þüþó›áÇGDDôèу>`@¾ÌÌÌNž<Ù´iÓêêêU«VyxxtèÐá÷ߎŽ&„ôíÛwøðáLeZ(yŠ€ˆ @t§YúßZýùçŸ=zô¬L±²²º~ýº««+³•†ªªê¤I“‚‚‚ÔÕÕ%kÊHZvßµZ»Ô¡C‡ÉjÖÖÖ;vì8vì˜d#Ó¦MSSSãr¹¿ýöÛ§??|)N=w]€†W]]ýúõkBH«V­j•»¢¢"ú0¨Ö­[ìŒUUUJJJMš4©³Aѵ„ÔVUîîºtó6,n€oHqqqxxø57Ù—FuÉåØt€½š4iBo·l0zzzzzzu×ùØ6¹ G˜è`D4ÖAD`D4ÖÁíÐÈp/'€,Œ¢°FÑ 17vØ Mxx¸T &=€è&Û  N‰Cjd¢W­»r|Ó”ää° N[½±{Ð äøu‡ˆ g¦‡éKøWã×"(œ½afC< 1iªŠí käÕ"(\eÒ½•ܾ¶Ø©{+qe¹µ†ˆ ÁP[üs;Œ¥À÷IS•üÜ®ÆP[ž‹:8rl Õ"Ÿ§”YÄ)­¬åO€o‹‡h«3=±½aÇÏ(D4ÖÁD'ë ¢°"ë ¢°"ë ¢°"ë ¢°"ë ¢°"ë ¢°"ë ¢°ŽJcwþ¥"##e ÅbqÃ÷à“8ŽlaÏž=wFD4h4îîîÝ€/®ÐöÑ 1éêê6v>[qq±¢Oµh¬ƒˆÀ:ˆh¬ƒˆÀ:ˆh¬ƒˆÀ:ˆh¬ƒˆß‘HT]]ÝØ½`#¡P¸sçιsç¾~ýº±ûrƒ­k½ª««/^¼xüøñÔÔÔ¼¼<±XÌår[·n=|øðAƒ©©©5vYáòåËK–,!„¼}ûöôéÓÝD4`©ÄÄÄQ£F¥§§KææææææFFF®^½úرc;vl¬î5гgÏÆÇÇ›˜˜Œ7Ž)TRÂX8Àw ØèÉ“'¾¾¾eee„MMÍZ[[BÞ¼ysîܹâââ¼¼<Ÿ   FîkºpáÂ¥K—%#ZŸ>}V®\™‘‘ñÇ4bß@¾Ñ€u*++ÿüóOšÏzôèqôèQ===æÕeË–Mœ8ñúõë•••S§N}ðàŽŽNãu¶ñ©¨¨L™2¥±{r†)`mÛ¶½yó†bffvèÐ!É|FÑÒÒÚ³gTËËËÛ¸qc­ðùü¤¤¤„„¡PX÷éjjjrsscbb åô þ—X,NOOOHHxÿþ}Ý5ËËË“““ããã|ûÀçó“““_¼x‘ŸŸ/‹ëó–´´´äädÜŸЈÑ€uBCC !jjjGÕ××—­ ­­}ìØ1---BÈ™3gjjj$_}ñâÅðáÃ---øá777KKK//¯3gÎȶ#‰===Ûµk×±cG???©¬6bÄ.—;`ÀÙ~ûí7.—ëããÔøûûs¹\ooo@°}ûvkkkggg77·¶mÛöéÓçÑ£G²Ü½{×ÇÇÇÜܼgÏžîîî–––?þøã©S§$ë8;;s¹ÜK—.Bbcc¹\.—Ëýá‡!•••†††\.wÿþýR-ÇÄÄøúúZZZöìÙó§Ÿ~²µµíܹó¾}û¤ª1}æóùS¦L±³³ëÖ­[Ïž=ÍÌÌÆ_PP U¿´´ôáÇ"‘Hö³€¼`¢Ø%111--Ò¥KGGÇU³²²rss»|ù2Ç‹ŠŠêÖ­-ONNКW®\‰ŠŠrss#„XYYEEEEEE?þcÈÊÊ6lXII‰²²²ŸŸ_hhèÝ»wW®\iiiIY½zõÉ“'¥Þ{óæÍ†„„ÄÄÄÛØØBÞ¾}+9ðvóæM>ŸO‰ŠŠÊÉÉùš«uÀ(° Ç£öööu×d"Ú»wïèÁƳ²²!sçÎ7o-ìØ±£ÏO?ý$:DCÇ[»v-!„Ë円†r¹\Bˆ­­í Aƒ”••Ïž=›””ôðáÃîÝ»ñÑÓÓ;}ú´……!ÄÎήOŸ>JJJ'Ož|ýúõfÍšEÉÈÈèС!dôèÑýúõc>—¦¦¦¿¿¿X,~ôèQß¾} !&&&„mmmBˆ††F«V­ê>ûæÍ›sss !‹/ž:u*Ó²§§§§§gii©¿¿ÿ°aä6ì4hО={8!ÄÌÌÌÖÖ¶K—. 22òÏ?ÿ¤u<==µ´´ÊÊʺvíjllüÅ×ꆈì¬k×®]Ý5™ ÌJü˜˜BHûöíçÎ+YÓÖÖvÏž= ***’5 !4Ÿ1Ö­[gee%‹iRùb«W¯¦ùŒpãÆ‚‚‚—/_ÒggçÙ÷úúú.Z´H$ÅÆÆÒˆö¹ž?NÛgòeeeµhÑ">ŸŸ’’"u‘§M›&ù©MLL\\\"""èÝ”¡¡a\\\RRR§N¾ cPOˆhÀ.ô&"1œö1LMMMBHUUUbb"!¤[·n²éÊÇÇGrQ?јElŒæÍ›3#p_CvNMMÍÑÑñÎ;±±±²õ³²²òóó‹‹‹‹‹‹KJJèGøäí¨µôR8;;˾ڹsgzðâŠɈ¦®®Î,¿cÐÑ;º CKK‹i ØÅÀÀ€ÄÅÅýòË/uÔŒ‹‹“|K||<]/ogg÷ɳÐA&CCÃæÍ›e‡k¥­­mnn.[nkk{çÎŒŒŒÒÒR:k™››»aÆ+W®ÈÞ8ùÅè¥\„víÚq8±Xüüùs___¦¼Y³fÌ(#OÙh,ˆhÀ.t؆’PwM&¢™ššB˜xQŸÍ ”••ëYSÄb1ÝŸ,==½wïÞÌÜn‹- tuuõôô®^½ú5í˧£ÐxpG'°K·nÝè\gTTTEEÅǪ ‚‡BTUU]]] !¶¶¶tcˆøøøOžÅÉɉ’ŸŸ_ÿ±«ªª*ÙÂív[ZZš‘‘![Nç-,,è6lØ@[˜4iRrrrRRÒ½{÷ÂÂÂŽ9Ò¤I“zvL–½½=}{RR’ì«ÉÉÉ4ÃÑ;€Ñ€]TUU=== !999Ó§OÿXµùóç¿~ýšâææFg ›4iBo}üø±Ôf¶„ððð}ûö:tˆþÈ<=22RªfYYÙ¾}ûöíÛ÷âÅ Z¢««K¡7HJuÄAš %UUUÑUhÌ~"< „èëë/]ºTr“Þèèè:vöÿä¦ÿªªªtŠóéÓ§²¯2…4§;!¢ëÌž=›;wnçβ>|ìØ1Bˆ’’Òüùó™rzaBBÝPƒ‘šš:räÈ 0[öwìØ‘®ÇŸ?¾TöZ¸pá‚ ,XÀÜ(JU^^^tt´dÍÝ»w×ñ°¦ÿþ÷¿RióæÍ£ƒvíÛ·§%4ü …BÉvª««kýÔ„:L˜’’"¹7o­hüŠŽŽ–j*--mÕªU„MMMú­/ðàÁüüü/{;ÔÖ¢ëØØØÌœ9sÆ „åË—ÇÅÅ;¶mÛ¶JJJ)))Ge6ª˜|8pàÀ$_=zôÀ™§M›–™™yðàÁ¤¤$©]6Z¶l¹k×.fçww÷œ?>33sìØ±L5}}ýŽ;J>1I²'¶¶¶ ,,×ÖÖ ¢ Ñ!#GŽ áñxçÏŸ—|T@=Þ¼y#;µêíí½}ûv±X|îܹsçεnÝúÉ“'²g'„˜šš†„„ôëׯ¤¤dûöíÛ·o—|uáÂ…¿þúk­oü$fž4##ƒÇã~Y;P7ü lÄáp,XBoÒ½{÷   +VÈáXYY9sæ§Ÿ~bV“&MÚ·o(µíÚµþþþ-[¶dJZ¶lùŸÿüçöíÛ’û~)))íܹsĈ̆ „ž={ž;wŽÞJ¢¢røðá)S¦0¶$„têÔéäÉ“’Ó‹VVVׯ_wuueö¶PUU4iRPPºººlË;w>xð ‹‹ s•h÷èTe;;»Ó§O{xxHîgnn¾fÍúl}£ì§ K½Ô¯_?[[[‡3räHä3ÅáÈq7&EÈÊÊzýúufffMM™™YëÖ­kÝrLJiiiff¦’’RëÖ­%s’,‘H”››[XXÈår?™9ÒÓÓù|¾™™½GAÖìÙ³9bddDï ¨®®NOO¯¨¨022jÑ¢ÅÇš­®®¦w?´jÕªîÞR|>¿ªªJKK«>•饉D\.÷+Ÿš@•••1› ±ÈÈHwwwº àÛR\\Þ³gOÅÀv¦¦¦t ÖgÑÖ֮϶„eeåúŸBê™NŸÔ¤I++«úTûä¯$ijjÒg*ÔGý/Eý}}>€ºa¢€uÑXòäáᡦ¦¦§§×Ø€o"€<ùøøøøø4v/à›‡‰NÖAD`Lt@c*..nì.°"4šððp©±XÜ(=¨›\öýþ¼3âélƒµh¬ƒˆÀ:ˆh¬ƒˆÀ:ˆh¬ƒˆÀ:Ѫªª» ìÒ8[×–••={6==½°°°E‹ÎÎÎÎÎÎ}úô±³³k”.°G#l]ûàÁƒ1cÆ|øðAö%UUÕ€€€#F4@7 wîÜI1bD›6màŒõÔУh7oÞüí·ß!„Ëå<ØÌÌ,33óÙ³g=Ó§OñâÅúõëÝ“¼¼¼¿ÿþ›Ò¥KD4`•h%%%ýõÍgƒ Ú¶m›ššóê¥K—¦M›VRRràÀooo77·†ì{4èí[¶ly÷î!ÄÖÖöï¿ÿ–Ìg„ooïàà`z|ðàÁ¯‰DŸyEàûÔpqqq„=zXYY}¬ÚÎ;333 !Í›7'„ˆD"\„B¡TM¡P(ûÒž={–,YBË9ŽX,&„ܽ{÷ÁƒÁÁÁtò”y#ƒþ(Y8gΜ   É:ÕÕÕ.\xöìÙ•+W ™7Òwݺukß¾}L B¡pÿþýEEE666«V­bÑÑÑ ¸|ù²¹¹9-ÌÍÍuqqáóù]ºt¹råʧ.$|ÿn-%%…ØÚÚÖQM__ßÉÉÉÉÉIj´>***V­Z%‰Ú´isáÂ…ìììgÏž­[·NIII ,\¸V4hPTTÔ±cÇè6lˆŠŠŠŠŠòòò¢%ëÖ­£ù¬}ûö‘‘‘AAAô>ÓÌÌÌaÆ•––Jz÷îݦ¦¦{öì _¼x±±±1!$44tõêÕúúúÛ·oŒŒ ìÔ©!$///44”yïÍ›7ù|>!$***''çs?5|n-??Ÿ(nç³û÷ïÓ•gkÖ¬éÙ³'!ÄÜÜ|„ B¡ðêÕ«„²²2--­¦M›¶jÕª¼¼œ¾ËØØ¸U«VL#ïÞ½  „˜ššž>}Z__ŸÒ®]»>}ú¨¨¨=z4>>þðáÃÓ¦M“ë#†ŒhFFFô@q2`À€§OŸ.[¶ÌÁÁJnݺµS§NG­O uº1‘ësçê¯á"š‹‹ Ý -**ªŽ\ccc9räÈ©q/Ù·|l`LCCcêÔ©wïÞMII ¢­ñùüùóçÓí<êÖ±cGBH^^^qq±ì«‰‰‰„ ‹fÍš}²)€/ÓpM]]½W¯^„ôôô%K–ÔZG(Nœ8qöìÙË—/§S‡ºººô%º“­¤gÏžÕ}F]]Ý>}ú„„„Ìž=›R]]]ë[¤ÂŸ““=ˆŽŽ–­+Y@t}úÌ™3éäãþýûÏ;'õªP(\¹r%Ý>í·ß~£wD¶iÓ¦iÓ¦„‹/JV~÷î]HHˆT K—.õôôìß¿YY™d9s¯¥äšªªªô@òÁD"~Í™3çýû÷’/-\¸0//( ¢ÅÇÇoÞ¼_~ùEêNOøwj¸­k©+VTVV9r¤ªªj×®]»v풪ЦM›ƒ2÷BV­Z5pàÀòòòC‡:tˆ)6l˜Ô@Ú€8ðôéÓ{÷ºªªªVWWÓuýkÖ¬‘ÜÕBCC£W¯^·nÝâñxsçÎ%„ìÙ³gðàÁ„ äåå?~üùóçRûk˜šš†„„hkkËíŠòôéSz‘‘Áãñ˜§KÀ¿VCoÄ¥¬¬¼iӦݻw;88H½¤¯¯?jÔ¨Û·oKîõJqvv>r䈓““ŠÊÿJmmí%K–,Z´ˆi“¨ªª^ºtiþüù&&&„@ ‹utt<<"À÷†ÙU¤Öýíå Ïí`Œ¢|‘HTSSCWöp8%%%Ùº¾"À'ˆÅ⪪ªÊÊJ@ D"‘H$"„(+++++«ªªªªªª«««©©Õº à ¢|”X,®¨¨(--ÍÉÉ¡ûï´lÙÒÔÔ”nšXPP•••žž^QQ¡¯¯oll¬­­­¡¡ _  v ¤¤„>ÎÞÞþ矖ª`jjjjjJ“’’âããÕÕÕ­¬¬ttt˜§|D4€Z”——¾zõÊÎÎNöi(²llllllâââ^¼xѶm[}}}…nv ß=D4i|>?--­¤¤Ä××÷³ÞèàààààpáÂ…>´iÓFSSSA=€ï6ÝÝR^^ž––VQQÑ¿ÿ/k¡ÿþôuåååòí°_UUUcw¡.B¡°¦¦¦±{õ‚Q4hd"‘èĉ£¼¼¼.\¸PXX¨¢¢‚uiÿ÷ïßß¶m[ll,ÇÓ××oß¾½³³óÔ©Se¾¼bÅŠ:½Øµk×Q£Fɽ{±±±ÁÁÁ‘‘‘Ožþ|ذari0$$ÄÉÉI__÷x~ÇÄbñìÙ³=*ûRÛ¶m;Ö¦MÉÂÖ­[—””|¬µÁƒïÙ³çkúéîî.ùt[·n 0 ¬¬Lª¦Íµk×ÌÍÍ¥Ê &L˜páÂúã±cÇ‘¿uÅÅÅáááxF'ü/¡P¸jÕªÂÂBBH»víþüóÏÆîÑW>|xDD!ÄÙÙÙÛÛÛÄÄäéÓ§Ççóù+V¬PUUóòò:pà@“&M!ƒöñññõõ­¨¨8uêÑbccÇ÷æÍBˆ]UUUZZš;#‹KKK+++ësÿf=988$''—––b³´ïUJJ ô²´´¼té—Ë¥å“&Mš3gαcÇ .\¸0tèPZþîÝ;z(÷4V«Ý»wWUUijj†……yxxÐÂéÓ§ûúúž;w.;;ûöíÛ>>>„‘Häïï¿iÓ&±X¬¬¬ìããsþüùè!| nøÆB”””! qqqÝ£/w÷î]z°víZšÏ¨îÝ»ÿòË/„ØØXf1ÆÑ£Gi>?~ü7ÌÌÌäÛ™ªªªììl9¡QöööÙÙÙ,_B_lÓ¦MôQ‡fò!DYYyñâÅ\.WWW÷êÕ«Ly^^=¬¬8555·oß&„ 6ŒÉg„•Õ«WÓc¦{………b±ØÂÂ"<<|îܹ ÐC¨"À·¤¨¨èÚµk„)S¦Ð¹ šØ>F,çååÅÄÄÔsÚB$eee={ö,==](Ê¥ÏuàñxmÚ´éÞ½»‰‰‰ÔK4*‰Å⌌ ¦P__ÿøñãëׯWSS“{g*++ mlläÛ¬Maaaee¥|›6¨©©¹uë!ä矖|mÞ¼y|||ZZÚ˜Bú7QII©Žuúr”m``жmÛ>}úH½dccC§_éo> __ßçÏŸ+t‰Ô"À·äüùót[ŠÑ£G{{{BBCC?–¥Î;×­[7OOOGGG;;»ˆD¢¶mÛr¹\É6!B¡pݺuvvvNNN½{÷vvvnÛ¶í’%KjÝãåË—ÙÙÙ_ÿq–.]úøñã‹/ʾD“‡ÃiÛ¶--ñôô §£kŠ 444Ѳ††6¹‹‹‹ûðá!„¹û8''çÎ;OŸ>¥Ck²èDg‹-”•• !EEE?NOOWPÍÌÌ’“““““™™VFvv6ýcÉŒkii;v,$$DOOOAýÏ‚µhß:fæèèhee5hРS§Nܾ}»wïÞR5¯^½:iÒ$É x<Þüùó“““éƒÀ«««%ëÏ™3'((H²¤¤¤dçÎ<o÷îÝ’å‹/Þµk—²²òñãÇeŸ‰$™™™¡¡¡„'''fÏÙÏ(G"‘¨¢¢ÂÐÐPŸŸ••UÏÊÊÂ,´Q·nÝjÝ>ËËoff6gιGçÎK@o£DŸ/ SRRª<Ý!$))I  Jû”èrÅd.U‹-íÛ·WZÁÃÃ#(((""¢¤¤„~TmllÊÛ»|ºÿ~·nݪº±¤   OŸ>ñññ„Õ«W3¦Ê_ªB4€Ï@qq1ËL!·¾’9qâį¿þJa÷æSzÀœœ¹Ïñù|WW×òPMK™k×®M:U*•ÚØØœ={öÓdõäÚÚÚr ¢ªJFFFëÖ­«#øƒšÕ°aCú‡ê¹†eee4‡L&£=ܦ¦¦å՝޴"‘hÀ€´nñâÅŠ}~ ¢|‚‚‚èôgggÅoöÇ¿ÿþäÉ“sçÎ¥‰ÄtuuKJJèå²Åþ0WW×+W®…ÂóçÏÓ ýO,,,ìûï¿/++³°°8{ölM…2:::Õ4¨   :~t¡Æ™™™5nÜøùóç!!!2™L.Á‡L&£CœuêÔ¡‰¦óòòÚµk'‹GµqãF¹­ÑõÚ„OOϪm§T*9rä•+W!sæÌùý÷ß«vûPMÐñ𠣜zzzAAAçÐ%`oÞ¼¡¿€Žf^½z•­8£d2™b†Úy&‰ÂÃÃ?Íîp%$$ >¼¸¸¸nݺ5úôm ôôô ªv³ †††Ÿ,Ù|J<ï—_~!„dgg+&ˆY¹r%ÍÊÁò-Ñ\6©©©Üʹ¹¹Û¶m#„hkkÓ•ÔUhòäÉ4ÑàŒ3>ñ*øèEÐtiii4 Eï޽鵸oooš5ãĉtNLçÎÃÃÃÓÒÒ&NœxüøqšÇœ²jÕ*z%ÍÅÆ7,XpáÂîKœæøØ¼yóˆ#>f×6mÚDï‡C·¦´ÎÔ©S?Mˆ& é}obcc«êé°²±±±Pˆ/Ûÿ&@pàÀÑ£G'%%íÝ»wïÞ½ÜGMLLΜ9ÃMl1räÈÇïÚµ+33säÈ‘<›¥_¿~ô¢¨ª¤¥¥±»¼|ùrôèÑJ«õë×OÅÜ8¨)èÐtt”ÓÄĄݧEÑÀ !AAA„mmm???š ;;ÛßßÿèÑ£¯_¿655ý믿Ÿ>þ|º…ÐÐбcÇ:::~õÕW+V¬H$FFFëÖ­ãæ¿`3fØ•¦N'\y !éEÕ^úØÙÙ±%®/""ÂÎÎ?~ÿmÎÎÎW®\éÑ£‡ÜÙèêêàââÂ-äóùüñÇêÕ«--- 'až¶¶öèÑ£wïÞ]µÑ¼:1šqF±œí:Øj ¯º“/ÀÇxúô)»=z´ŠËëÌÌL‰DÒ·o_???ZXXXxøðáÐÐд´4ssó–-[Ž?^ ÐehË—/çæ1‰D+V¬8|ø0[òillìååõÇÈ-çÜ·oߢE‹Œ9Ò²eË*ßå$“Érss“’’²³³iZàáïïojjZ¿~}##£j½S$hˆââ⨨¨—/_4mÚ´yóæªë§¦¦†‡‡ççç׫W¯uëÖô~nïîÝ»^^^le7T“ÜÜÜ›7ovèСú^!À—%>>¾sç΄;w*ŽœŠÅâ”””œœsss‰6JKKù|þ§L-ûɈÅâwïÞ=~üX |ûí·•Þιsç$‰½½}:u0Ê ŸB´Oã„hèøÚ¸qcÏž={õ꥘bƒNæñx^^^ŠO … 6tuuUMGGç?Ÿ‘g¤5iÒD,ÓEp•púôi±XܤIÌB€JCˆðäîîñèÑ£1cƼ~ýZ$=}útöìÙ»ví"„¸¸¸TÓ-Ãÿ´´´LMM›6mjhhèççW¡;+ÄÆÆúùù6mÚÔÔÔô¿ÈÀ'€Ë;€ÿ öíÛ0 àÍ›7&L{´Y³fûöí«‘†}x<ž¶¶¶©©©P(ÔÓÓ‹ŒŒŒ‰‰quuuttTñ¬øøø¨¨(‰DbggW·n]###mmmLA€JCˆðß´gÏžÞ½{¯]»öåË—ôî4|>ßÎή}ûöK—.ýÄwÀüìÐ(ÍØØXWW×ÀÀ '''&&æþýû†††ÖÖÖVVVfff„ÌÌÌÔÔÔ”””¼¼<}}}KKKccc###]]]---Ägð1¢ügy{{{{{‹D¢/^”••5nÜX__¿¦õÙ Q]a``P§NÂÂÂ’’’œœœ·oßÒLuôæëuêÔ±²²ªU«V­Zµè,=Ì?€‡ï€ÿ8mmm{{ûšnÅçJ( ¡P¨««khh(‘Hè-±Yˆ&´´´Ø¿B¡gP%¢¨Âãñ´þ%•Jeÿ¢Q4V«é–ü¹¹¹5ÝøXÑÔ"‡ÁgáæÍ›r%ÜÛLAå|úr¤®Ð8È‹ q¢h„h!€ÆAˆ q¢h„h!€ÆAˆ q¢h„h!€ÆAˆ q¢h„h!€ÆAˆ q¢h„h!€ÆAˆ q¢h„h!€ÆAˆ q¢h„h!€ÆAˆ q¢haM7¾\ÅÅÅÙÙÙ¹¹¹eeez®–––‘‘‘©©©¹¹¹žž^5µ ¦ðÞ¾}[Óm€/QNN΋/´´´Œ ´´´*ôô²²²üüüœœœ²²2;;;ccãjj'@@ˆ5 ¸¸øñãÇÆÆÆVVV@(òx¼ mA&“‰Åb‰D’ššš““coo¾4ø/Á@'Ô€ÌÌL==½úõëëêêjiiñù|§~”&“Éd2™T*-++«_¿~iiifffÆ «µÍŸB4øDÄbñîÝ»_¾|9eÊ;;»šnN5zøðaTT”®®îÈ‘#kº-šëýû÷õë×××××ÕÕ„Jô¢BhxW¯^½¤¤$„hð_‚í‹°fÍš¤¤$¹BmmmWWW777{{{>¿Ú×ö^¼xqÑ¢E„W¯^:uªº_®;wnûö톆†ÑT(**ªS§ŽŽŽN%†8)ú,§££S§N'OžTujB´/Â… âââÊ{´~ýú§OŸnܸqµ¶á#£ÀìììíÛ·BFŒQÝMýÜ9s&..ÎÚÚzܸq5ÝUôôôAåâ3†Çã ÌB€ÿ„h_Úµk·k׎ý733óÙ³gEEEIII}ûö=}ú´³³sõ½zïÞ½—-[öæÍ› &Tâéééé›6m"„´mÛ!šjAAA...𢠂*ì»åóùt´à?!ÚÄÑÑñøñãÜ’üüüßÿÝÏÏïíÛ·‹/ö÷÷¯¾W …S¦L©¾íÃç…®¨ª­ñx¼O0Xð)!Dû¢¬]»öñãÇ÷ïßðàH$ÒÖÖæVH$iii™™™¦¦¦ÖÖÖBa¹'ŒL&ËÈÈHKK³°°°´´¬Dc²²²’““---ÍÍÍ+÷ã­~k™ôôôäää&Mšp³jUh;%%%¯_¿.++kܸqu·I¥ÒŒŒŒôôtCCCkkk]]ÝJo*???))I*•򯯬“QLé€êƒëÎ/ÇëÝ»7!¤¸¸8""‚•‹ÅâU«V9::¶lÙ²W¯^nnnÍš5[´h‘H$RÜH@@€‡‡‡³³sÏž=]\\÷íÛ'‘Hš5kfnn¾oß>BHII‰………¹¹ùÞ½{¹Ï-..öõõmÑ¢…ƒƒCÏž=ííí׬YSRRB+?~ÜÜÜÜËË‹þwÔ¨QæææææægÏž­hk³³³és¯_¿¾{÷îöíÛ;;;÷îÝûâÅ‹•Øë÷ïßûøøØÙÙuèСK—. 45jÔóçÏÕ9ì ´%«V­R|tß¾}ôÑ[·n±†ýùçŸÎÎÎ...={öôðð°µµ?~ü‹/¸Otss377 "„ÄÄÄÐtìØ‘['<<ÜÛÛÛÖÖ¶sçÎ]ºtiÒ¤IŸ>}BBB*t !ÑÑÑ)))êì,TzÑ€°¬îÅÅŬpöìÙ‡æVËËËÛ¾}{ffæÎ;¹å—.]š4i’T*e%™™™sçÎ}òä‰H$’H$ôÆ>R©T,B¸÷ùIOO2dH||<ý/Ç“ÉdÙÙÙ«W¯?tè––MOÊ}Eú_n¡š­•H$ôYÇW:ª«þ^‹ÅâqãÆÝ¾}›•Èd²K—.………uêÔIqËrlmmŸ={vöìÙ_ýUîÑÀÀ@‰DbjjêééY^ÃÊÊÊ=zlaaÁ ¹‡…þÍ/œ——ÇÝÔƒ† váÂöDÕjáÂ…;vìGŽéÑ£Ç÷* ½h@XŠ­­-ýcýúõ4 èÔ©ÓáÇ£¢¢Ž9B;cNŸ>½zõjöÜ„„„É“'K¥R--­éÓ§^¹reþüùõêÕÛ¿AAê—þ믿âããy<ÞôéÓããã“““i\råÊ•àà`BÈÀÃÂÂ:DŸò矆……………õéÓ§¢­eüýýutt~úé§C‡vïÞ½¢ÛY´hÏœœœÖ®]{óæÍ={öôîÝ;;;›Û½§ÂСC !Ïž=c*•™™JwœFÏ«V­¢ kÑ¢ÅÚµkïÞ½{øðá#FB’’’†šŸŸOŸÖ¹sgBH“&MèbíÉÈÈ>|x^^ž¶¶ö’%Knݺuûöí%K–hkk><55UE¡Û”H$.\Pgg ¢Ð‹öE“Éd ãb®®®4ógffæÊ•+ !;v<~ü¸ŽŽ!ÄÚÚºS§Nß}÷Ý£G6lØ0sæLZ¾nÝ:‡-_¾|üøñt³-[¶ìܹs¿~ý”ŽrýóÏ?„Ö­[/^¼˜–tèÐaÿþýÓ¦M+--ÍÈÈ „èëëÛÚÚÑ VVV,”¬hk}}ý'N°>ªŠnçÕ«W»wï&„XZZúûû×­[—âääÔ¿ÿáÇ_½zUƒ?dÈ•+WJ¥ÒsçÎ9::²ò .Ð.ÉaÆB222Ö®]K±±±9uꔩ©)!¤yóæ½{÷ …ýõW\\ÜÁƒ§OŸNL100 „èééq!dÍš5ÉÉÉB¡ðàÁƒ½zõ¢…666?þøczzúÁƒçÍ›§ú@Q ؾ}»@ øæ›oÔÙY¨(ô¢}Až?>÷_sæÌ™0a‚§§çœ9s!|>Á‚´Zdd$ÍÛ¾`Ánd£¯¯ïããC‹Å,ËZdd$!¤]»v,>£ÜÜÜfΜùÁ&Ñ¡ÕÄÄĬ¬,VX¯^½'Nœ={Vôj-Ó³gO¹°£BÛ‰ŠŠ¢¬]»–ÆgŸÏßµk—š³ø­­­;tè@ ä–ÓÿÚÛÛ»ºº’0}-Ÿ1«V­¢Cœ¬Žjt®açÎY|FõïߟƈÑÑÑrOQB´/ˆ³³ó¹sçØg̘qôèÑ¢¢¢cÇŽýøã¬œF]|>Ÿ´)EÇ׌ŒŒèåVR999l’'ÅR IDAT¡¡¡ŸŸ_ddä–-[nݺõþý{‰DÒ¶mÛ#GŽÔ©SGõÔom•o§¼ämê'uÓ××ïׯßñãÇçÎKþåôòòb¯EVöZª«BØ’[kkk33³òª}p;ði Dûrýúë¯þþþ¥¥¥kÖ¬2dê"„¸ºº^¹rE(ž?^u'J³fÍtuuKJJäÖ$RŠ}WåiÙ²å¾}ûd2Ùãǃ‚‚öîÝûöíÛ°°°åË—¯_¿^õsÕomnÇÙÙùÊ•+éééJû®”ò :ôøñãOŸ>}üø±©©©Ü('!¤U«VôµrssYLÌбˆ *íÏãrrr …b±xøðáŠi>@Ó`¹À—ËÊÊjâĉ„ììln$D»‘D"Qxx¸ê-:šyõêÕ÷ïßs’Éd'Nœ¨P{x<žƒƒÃìÙ³CCCk×®M¹ÿ¾b5¹U¢ê·Vµ m‡ÝÌôáÇråææÒ°IM;v´±±!„œ;w.((H"‘°|"„66­øZ"‘ˆ¹rǯnþ9BˆŽŽNóæÍ !÷îÝS¿yPS¢}ÑfΜI{_vïÞýæÍZÈFú,XÀfÊS'Ožôôôôôô¼ví-¡)¸ÒÒÒ&NœÈMšºjÕª+W®¨~õçÏŸ÷ìÙ³gÏž~~~Ürcccºt‘;ÊÉîLÆ­\¡ÖªP¡í´hÑ‚þ1{öìììlVS&“M™2…ÝA<oÈ!„ÀÀ@:ÊÙ¿n7 ¿fÏžýîÝ;îsçÍ›—žžNB4z¬åÆšiµS§NqËóòò äééIs­©£¸¸øøñãׯ_ÇÀ(@5AˆöE322¢©1D"ѲeËh¡µµ5-Œ‰‰:tè… 233ÃÃÃׯ_?}úôÄÄIJ²2–@ß××—.ú»~ýº££ã¤I“fÌ˜áææ¶nݺ½ÙÙÙåääDDD,X°€æ¹•Éd¯_¿ž2e ](úÝwß±Ê666tÞ•¿¿ÿž={F#¡ µV… mÇÎÎî‡~ „$''2äСCOŸ>=þü?ü@3½UÍaûäÉš Wn½‚¹¹ù/¿üBIJJ¢¯•˜˜xùòåY³f}ú´iÓ|ìØ±Šî/¨ƒ÷öíÛšnT;//¯¸¸8wwwî=©ÒÒRäädwéÒ%777BˆL&›4iÒ™3g7edd´ÿ~vÇLBHvvvÏž=Y'ejjzðàÁ~ýúB–/_>yò䢢¢ B–-[6eÊZ- à§Ÿ~bc—ÚÚÚìïN:T\pàããsäÈÅ'ÚØØ\ºtInÃÇ¿þúkÖ¿egg÷àÁúwTTT¿~ýX`®¯¿þÚÏÏÏç“(BHË–-“““ !cÆŒùà|A¥"##Û¶m[«V-@P‰§sI$’°°0¥¾Ÿ)ô¢}è¯ ýõ•£££C'Ëd2v#·uëÖiÓ¦qçÂ÷ïßÿîÝ»ÜH…bjjzûöí?þø£_¿~mÚ´éÛ·ïüùóÃÂÂØh ÅçóiäÁýI0`À•+W<==õôô!"‘ˆÏç7iÒdÞ¼yþþþr³ã7oÞ}ºŽŽŽ¹¹ù˜1cÔßM.}}ýüü|©Tú‘C¥2™L*•æççëëëÌv4 zÑ@±Xœ’’’““cnn®Nê ®øøx:SmçÎ,ËWy¤Ré›7o ìììTÿÖŠÅâÂÂB©Tª8ú1­­ôvŠŠŠ^½zÅãñ6lXÝQ‚D"IKKËÎÎÖÓÓ³±±ùàË–––Ö®]›ÍäcrrrèÍ ìììUGii)ŸÏ§w­„ŒŒ ©TÚ´iS¡PÈÂ÷Š¢ñ™X,NLLäóùæææ•k €BˆeãÆAAA<oýúõl#5þü]»vñx¼øøxn6TBˆH$zýúµ………¥¥%ŸÏWÚÅûAR©T*•¦¥¥¥§§7lذr±&€fBˆåÞ½{ß~û-!¤Aƒ .lݺµ¥¥%½Ë8ÌÞ¢E uT¨   --­víÚ&&& °D"Q~~þû÷ï ,--i¢€ÿ „hð±&L˜PÞ …š5kväÈ[[ÛOÜ$ø\ˆD¢÷ïßçææË%rû ---===###ôŸÀB4¨þþþk×®}ùò¥X,&„ðù|;;»öíÛ/]º}•€ ªŒH$zñâEYYYãÆ±¼àc DÐ8È‹ q¢h„h!€ÆAˆ q¢h„h!€ÆAˆ q¢h„h!€ÆAˆ q¢h„h!€ÆAˆ q¢h„h!€ÆAˆ q¢h„h!€ÆAˆ q¢h„h!€ÆAˆ q„êTЉ‰©îv—‹‹KUm ï€FQóWž÷öíÛV255ýèö@dggWÕ¦ðÞh5å1Ð  qÔêE€O ½h!€ÆAˆ q¢h„h!€ÆAˆ q¢h„h!€ÆAˆ q¢h„h!€ÆAˆ q¢h„h!€ÆAˆ q¢h„h!€ÆAˆ q¢h„hGXÓ €jw÷î]ÅB™Löé[ðEáñxŠ…:tPç¹Ѿ^^^5Ý 7oÞT³&B´/…‘‘QM7à‹–››«~eÌEÐ8Ñ4B4ƒ @ã DÐ8Ñ4B4ƒ¼hð_¹mÛ¶¶mÛNœ8±¦Ûòa¥¥¥:::5ÝŠ Û³gH$òððhÓ¦MUm³¤¤DWWWE…¨¨¨;wîðùüÉ“'+MØý©Ð”J¥[¶lyüø±½½ý'hž’Éd"‘¨¦>,< MNN600˜3gŽŽŽN¥ÏFÅM©¨®§§7nÜ¸Þ Bªÿ 烟b ¯¯ixoß¾­é6| sæÌ)))Q§æàÁƒ;uêTÝíù”îÞ½ëååõ央uvvŽ‹‹#„Ü»wÏÓÓ³¦›£Ä«W¯öïßñèÑ£ÔÔÔFµiÓÆÃÃã§Ÿ~ÒÓÓ«éÖ©EOO¯¤¤dþüùË—/ÿ˜íäççïÛ·ïØ±c/^¼xûö­™™™‡‡‡‡‡Ç·ß~ëââ"WyõêÕ¿þú+!¤¬¬L(ü¼//+tÏŸ?ÿí·ßB¼¼¼nܸQíÓ$"‘h÷îÝ{÷î}úôiIIIýúõ»wï¾xñ↠Vnƒ³fÍú`îÐôë×ýwÊ”);wîdÿ}÷IåÎF¥›RQöìÙëÖ­322ÊÉÉQó%I$’ýû÷ߺuëîÝ»¯^½jÖ¬YÇŽ зo_ÅÊ¿þúkfffy›êÐ¡Ãøñã˯_¿þçŸFFF¦§§×­[·uëÖ¾¾¾JÛ³gÏ??¿ØØØ‚‚‚úõë·mÛö›o¾ùá‡Êk…êBâââ–,Yr÷îÝÔÔÔÚµk;88̘1cĈ|~ÍæææÞ¼y7€úÇŽ+..V§¦““Su„hgΜ‰‹‹³¶¶®ª‹!(&|U¸zõêСC³³³YÉ«W¯^½zuúôé#GŽ4jÔ¨æZ÷IݼysàÀïÞ½c%™™™çÏŸ?þü²eËvìØ¡â+ø‹Â:i>AßaVVÖúõë !?üðC³fÍjvËÝ»wðà+yóæÍŽ;véÒ¥ÊÝ×îðáÃ온_¿> Ñ.]ºDƒ*×®];‡J÷ÊTá¦ÔWZZ:lذ³gϲ’'Ož§¶~ //¯¢¢"ö_‘HJ±²²jÒ¤ ·fƒ ª£AAA...ѪۡC‡vìØáææ¦]hgΜ2dˆD"!„tïÞ½C‡666‰‰‰AAAñññ‘‘‘nnn±±±–––5ÝÒjwñâňD"Bˆ¥¥åðáÃ5jôúõëܾ}»´´tܸqááá[·n­é–Ö¼>}úlÚ´ééÓ§Ó§O¯î×JKK[µj!ÄÓÓ³jC´Jlyذa4>kÞ¼¹‰‰Ippð_ýURRòí·ßFDDØÙÙU´=zôà^peffFFF’ÿ½Ì»víýãÊ•+ݺu«èËqUá¦Ô×·oß«W¯B<<< P¿~ýû÷ïïß¿¿  à×_ÕÑÑ™9s&«\TTDã³6mÚÔ©SGqk-[¶”+ñõõ¥ñ™‘‘ÑäÉ“]\\ÒÓÓýýýCBB:uêôæÍ6´ZVV6lذ3gÎB¬­­¿ûî;ww÷ØØØÀÀÀ§OŸ=z4##ãÊ•+lã­O¹wïÞ÷ß/•JÁĉ»té’––¶~ýú7oÞœ?~æÌ™Ÿ×WÊ—¢>|˜ûß‚‚ÚW1hРE‹ÕL› z¸ººr‡4ʼyó$ ŸÏßµk×?þÈÊ—-[6mÚ´½{÷¾{÷îèÑ£¿üòK 6òÈÍÍýñÇi|6|øðýû÷s»~øá‡ÜÜÜmÛ¶ 0 {÷î5×RÀçóg̘QÓ­øÔnܸDiÒ¤Idd$=C† Ö®]»©S§æåå-[¶ìÀÝì±cÇÊ{hÚ´i‘‘‘|>È!¬ðÕ«W„33³.]ºT|'þGnJM±±±4>ûî»ïNž<©¥¥E1b„··÷×_]TTtèÐ!nˆ–––Fÿؽ{w«V­>¸ýÇoܸ‘Ò¸qãÛ·o³kË™3gN™2eÏž=™™™§N5j-ß¿?·š7o~ãÆ Z¾xñâÞ½{ß¹sçêÕ«×®]cñkEëBæÍ›WVVFÙ¹s'ûŽ;v¬»»ûÓ§OwíÚ5kÖ¬ÆWâ`Öªqùùùñññ±±±3‰ÅâÈÈÈÔÔT¹òâââÈÈȤ¤$ÕO/,,ŒŽŽ¦¿ñ•PPPððá쬬Ê=½rrrrž#„èèèlÞ¼™^¶9rDñ¹Ýåôôô¨¨¨ÒÒR¹òäääG)–+’Éd/_¾Œ‰‰áŽÉª)///&&&22òýû÷J+¬\¹’þ8;;ïÝ»Wn¸gÀ€/^¤oß¾]ÍUÿ•••EGGÇÇÇs{Ö•ÊÈÈ KMM•Édj6ƒ’J¥)))aaaOŸ>UgŠ…L&‹OHHPsÊ,—D"yóæÍƒ^¾|)‹ÕlX•Ÿüÿ©”CGE !«V­âž!S¦Léܹ3!äðáÃU¸III{öì!„ :ÔÁÁ•ÓCjmmýÁ¹¹¹>LOO/¯Â7U\\õÁ3“úà[ùòeúÇæÍ›i|FuîÜù›o¾!„DDDpgž±ïd5;ò—/_NÇNŸ>Í}Š@ X¹r¥¥¥¥±±ñ¹sçXùÁƒéÁÁÁ,Þ"„ÔªU+((ˆN˜þý÷ß+]ÿÑ£G7oÞ$„¸ººr¬ŒŒŒèu»X,Þ¼y³:»¦!¢)îíímkkÛ¹sç.]º4iÒ¤OŸ>!!!¬ÂÛ·o›7oN'zçååqŸ{çÎF5jÔèçŸ&„¸¹¹™››ÓËÁ˜˜sssssóŽ;²úùùù!!!ôD¯q±±±cÇŽõöö®ÚÍNŸ>](vìØñÝ»w455mÕª•µµu³fÍè'êÕ«WÞÞÞµk×nÕªUƒ ¬­­•ön^¾|ÙËË«víÚNNN®®®­[·>tè·Î¼yó„Ba½zõXIVV–P( …tzD»víLLLÚ¶mkfffccsâĉªÝÙò°á'''ÅGõôô‚ƒƒä櫳ËÜôóósqq±´´lÙ²eíÚµ§OŸ^TT$“ÉöíÛgeeU¿~}777CCCOOO/2ì=‰DkÖ¬155µ³³kÑ¢Eݺu===ïܹ£Î>Þ¿¿gÏžFFF-Z´hÕªU:u:tèpëÖ-¹jô˜×ªUëôéÓŠSI!íÛ·ïÝ»7!$000%%Eõ‹ªsˆ¨«W¯zxx¸ºº:99ÕªU«W¯^ÜÏ5UTT4uêÔúõë[XX¸»»[[[›™™-]ºT`K,ÿþûïÖÖÖ666îîîÍ›77222dHbb¢ÒúéééC† 133srrrtt422š0a‚Ü5aqq±–––P(”£‹Å‹-²´´lذ¡‡‡‡]ݺugÏž­4H’H$Ë–-c 333kԨј1cØÄ,???¡PèêêJÿÛ¿zRq§)õÁã_‰-K$úÍàáá¡øuDk‹ÅbZ‡ò믿²ÀŽ’Éd_}õ•¡¡¡‰‰ÉóçÏUìÅòåËE"ŸÏgß<¦¦¦B¡0 €AÛlff¦øÜ½{÷Ò‘Á¶mÛZZZ:99r+|pSïÞ½?~¼±±±““ýäöïßÿéÓ§åµVÍ·>==½Y³f;w®_¿¾ÜèÛ!“ÉhßEC4>ŸÏýþ,T* &„ôéÓGqÔÔÔ455õýû÷ÜwùñãÇ„GGG[[[¹ú†††tøíÛ·_¿~]¹ú´Ë²råJ¹8¸k×®M›6åÖ!„œ8qÂÝÝýäÉ“òû«ÄÛ/;)g̘¡øèíÛ· U­Zµ®_¿Îª-[¶Œ–;–¦¤¤ÐéuêÔ‰ûö­•••â¦ìììhý˜˜˜ZµjBÚ¶m[M;˜““#û+W®ÐEBÈ×_ýÁú2iÒ$BH«V­g`èèè\»vÍÆÆFñ(Í›7»‘ëׯ—7Óó?þ`ÕfÏžM144d%¬÷Þ××W[[[ñé{öì©ÚýUª¬¬Œ¾º©©é‹/ÔyŠš»ÌvpæÌ™@®æÈ‘#W¬X¡¸++«—/_²Ð÷¨m۶ÇW¬lhhÏ*Ó^ùóçs[£tápíÚµ=zĪÑé>äC§YfffXXXXXXqq1-¡3™!eee=D2™lãÆìàpçÝëèè\¹r…UKIIá.&åÖüúë¯E"‘ê·Léz7BHÆ SRRäà„ +õÕWb±˜U.(( åëׯWçµFŽ©Ø0úþ*²µµ‰‰‘Éd{÷îUZáÈ‘#*öWã_‰-‡‡‡Ó:?ÿü³â£±±±ôÑ3fÐ’œœ:X__ÿùóç¬æ¾}ûhM¹sU΋/h'÷ÐÕ®][±ÍFFFôQv6Ê…”P(¼~ýºš›*++S:5­^½ztÈ•Õd*ôÖ+E;òy<^^^+ܰa!Ä‚þ÷Ý»wwîÜ)ïËŠ½G[·n¥%IIIÿýwhh(÷ìeÄb1ýöë×OééW7!„ºŠÖ—Édl‘w§˜AƒÑ]ÎÎΦ%lÈ¢Q£F7nÌÏÏWúBU+'''00PÍŸo„hò!Z\\ ´µµ—,YrëÖ­Û·o/Y²„þ¸ZXXDGGÓšYYY´3ŒÇã]¸p²YDû÷ï§%QQQaaa´g¾I“&ôW‡m„~$(VXµT‡heee‡æ^iii-\¸°jOJîÏÃO?ýzþüyú!ÿþ Ž5êÖ­[wîÜ™1cíYÑÓÓc?Æéééô¢S__ûöíÑÑÑ‘‘‘+W®´¶¶–ûÔ©Ñ!¦¦¦;v숋‹‹ýí·ßèW@½zõ «v—•¢©!µkמ7oýi,ú»ÌÝA[[Û#GŽDEE­\¹’¾<¯^½zŒ‹‹Û½{·»»;-_¾|9{9î{Ô´iÓ 6DGGŽ3†¾ÿžVV ÑRSSéo¤ŽŽÎš5k¢££cbbÖ¬YC?8VVVIII´&› 4gΜ =ÅMýCTXXHOªfÍš]¿~½´´ôåË—[¶l¡—ÚNNNìUè¸ Ç›3gNZZZqqñõë×éç—rêÔ)-\¸p!­Öºukzš²u©®®®¹¹¹ÜH 8ðÔ©SÑÑÑ;vì`]M³gÏf›U¢±ÞÖnݺ¾yóæÜ¹s]»v¥…‹-â6Œ]O:;;oݺ5&&æèÑ£ƒ¦…t÷ ÙÒ¿mÛ¶%&&&&&ªøh¨yü+±eVyÓ¦MŠæççÓG¿ûî;VxõêUúMÒ³gOZ’‘‘A'´jÕJul=vìXBˆ@ xüø1+|õêUbb" Ù¼ysÚæW¯^ÑGÙÙH±°°X±bŃ._¾ìããCOªºuë²Êª7Å&ºººîر#**êøñã컂(„hzë•zõêý8´mÛ–[îëëKiÙ²epp0·ãÊÎÎnÚ´irï‹oÂÃÃ/_¾Ì000èÛ·ï­[·ä^—f´²²RÚ*6EïÀ•«OÈLLL”Ög¿Î‘‘‘´äÞ½{æææ¬ÙÆÆÆsçÎå^JU„h¦"D£ŸU¡PxôèQnù¾}ûèçÿçŸf…‘‘‘´¿­iÓ¦©©©wîÜ¡—bƒ ’Û,Í@ãââ"WK/°ÜÝÝ«nÿþGy!ZnnîÚµk¹à‹/¦3oªûùŸ>}:+”J¥lÚæ!C¤R){hôèÑ´<""‚–„††öîÝ»wïÞþþþÜ-oÙ²…Ö<{ö,-Q¢ÕªUëáÇܧO™2…>$W^M^¾|)׫ڰaÃñãÇŸ:uJñ²Oý]f;X§NÄÄDVó¯¿þ¢åB¡0**Š•³Ÿþýû³Bö™˜˜È]7Óá„tŠ!ÚäÉ“é ?žûÜ“'OÒ«¼iÓ&ºµC‡Uèè)†hê¢ .Ð’àà`nÍ 6tíÚµk×®ìøÓ_nµôôôÞ½{wíÚuóæÍå5ÍãiРAVV÷!–EyõêÕ´„…hß}÷÷ÌOOOgszXP«¢¥¥¥Ñ£ÚµkWÖËHkÒø[(²rvzXZZÊ}ºYéÍ›7iITT- ,oOõE·¼ÿ~Å-pÑtb^^^ÜB6óÝÏÏO&“1‚¢£££úZèÉ“'ôRmÔ¨QŠ0€ÒªU+¹rv6jkk‡††rZ²d }hüøñÜÔ³gÏhekk댌 V.‘Hذ7D«Ð[¯TYY y<Þ;w¸9’"”¦wéÞ½;wËlRWy³»jÕª%¥± éï¿ÿ–kU||<ûP,^¼¸rõéUbË–-•î8ûæávp–””ääd__ßúõëÏž=›ÎÍoß¾ýÑ£Gß¼yóûï¿WkÆîê!Ç:ÆÇýR8p ýƒÍÆðððfQ£G¦_¯ôS­{÷înnnÜú%Na_”ÕªQ£F111cÇŽe)j_¿~½oß¾Áƒ[YY͘1ƒ› »Ü·o_n™ÁƒÓÔ‘mÚ´iÑ¢+·³³£½5J'»lܸQnæÇŽ;hgÉ£GÊÛµ°°0BH÷îÝé4dnè¸!{.›âýñ‰òÕ?Dlþ5›½DÍœ9óÚµk×®]c96iÍÇgdd°jæææÁÁÁ×®]S‘öâáÇô;wÖ­[—ûЖ-[hhÎêP†††ýõ÷Ì777gÎTœÒôŠ‚²bÅ n‡\­Zµh>U±X̾©è[CÙ±c‡Ü§{Ë–-‹/^´hQå² VɧR)–š‹vÈ)¢år“öV®\I¿¥þùçÇ=z”²|ùrggg¯µdɉD"X'h…Ì›7ÏÃÃ[²páBúùRg÷Ùç‚}Ê(>ŸôèQÅ\ÖzH†V IDAT땚2e 5a¹ªô2C"‘Ô©SgÓ¦MÏž=KJJ:räý_½z•­Í$œÉµ´ïmÒ¤I7nÜÈÍͽuëÖO?ýD),,ìÓ§·1ìWuàÀÜ9aQQQ]»vekeØWDEëÓÓFõ9Cþ÷´ÑÑÑùþûï#""®_¿Þ¿>Ÿ_VVö×_¹ººöêÕëŸþQq$?/%醚D"QBB!ÄÈÈèúõërÒ3v-H 2$88øüùóëÖ­#„ðx¼Í›7W(•íÚµ«ð.:4cÆŒ;wÒeɺººÃ† ›>}zëÖ­?ÁKÓèÜÖ¥$7ƒž}¥²ôƒ\oÞ¼ÉÈÈÈÉÉÉÉÉÉÍÍ¥¿p\ËF‘û&%„°ND6tRÝêÔ©sàÀÍ›7Ÿ={öï¿ÿ¾vííä(((زeË™3gèr¹g©¹Ël“ÒÕÕ511ÉÏÏW\ àìì¥ôð²A=îvZ¶lùÏ?ÿ°idrD"QLL !ÄØØXñKÍØØ˜p~ŠØ¼IÌ+Aõ!òôôÔÓÓ+..^µjÕÅ‹'L˜Ð½{w{{{ÅÞ‚nݺÅÇÇçææÚÚÚŽ9ÒÛÛ»}ûöJ'§ÊaáW»víäÒÖÖnÕªUjj*›¾CµhÑB1ý:ËçÁÍq¯ôµÞ¿/wÀY—Û£GèùÀB4î*%ÊÔÔ”» îcTúS© MÊK£JËåÖëêê:t¨]»vÙÙÙ´'¾S§NtÙVyâãã?N9rdåòÀ)UçááWVVÆ]J©ˆ}¦ÓÍ›˜˜899É…õzë-[¶ŒN ìÑ£‡b†0ºÕÈÈèÞ½{ìhŒ1¢{÷î;w~úôéÙ³góóóéIËö«´´tñâÅìDêÔ©S§NLMM—.]ZPPpìØ1v}Ø«W¯eË–-\¸°°°°G666NNN‰‰‰/^¼ Ò=b? ­¯§§—››«úœ! § Õ¥K—.]º<þ|óæÍÈÏÏ¿|ùòåË—]\\.\¸PM S?!Úÿˆ§+bèêEYYYYYYÜ/k×® ¥ü÷ßÿÉrÞTÎ¥K—h|ÖªU«   O™%UE*mu.âSRR–,YXéŸvÅÕX5uû6ƒÑ£GÓ_‘ðððÇoß¾]$¥¤¤üøã,cEw¹¼ÝQ¿ÄÐÐPéí œÿù矗/_æåå)Æ+,Õ‰'Ê[!›‘‘‘‘‘AW4Ó’˜˜˜>}ú¨Ù°ò¨yˆlll<èã㓞žM;ÃêÕ«7nܸٳgs;½–/_ž’’P\\¼wïÞ½{÷ ‚:Ì›7﫯¾Rñ4ü²²²RzK''§   /^¼ÿžUP¼É!ÄÒÒ²N:ïÞ½+/ &œßi]LÒÊVVV¦¦¦*Ú_9ÿ©TŠ¢7oÞ(>*‹iâ¡nݺõ¢E‹h˜žžžŸŸŸê“ÿ÷ß§iN+×…FáöO3ô"³´´4!!Ai†¾ËôMW|ÔÅÅ¥¼M·^ÎŽ;èzÕ–-[ž9sF1v¼téRqq±‘‘7Ã!ÄÜÜü·ß~ûá‡$ɽ{÷è}QXXX(úK–,Ù¹sgff¦Ü‚î H$’¥K—J¥ÒääääädZîíííëëKC.î‰Z¡ú&&&éééJÏÂ9—TÜt«qãÆ›6mZºtéŠ+þüóOBHLLLzz:B4À:è2ûòªÉþ7I’®®.Ëž\XXX}Í«ì쌈ˆhÛ¶íO?ý4iÒ$¥ßåÅ‹íÚµcÚffffff&&&&&&ܼ;Ÿ#77777·qãÆuèÐ!??ÿêÕ«ôW\w™Î¥P,gš¨BÅÓ g¸v¼}Œ ¢!C†|óÍ7Û¶m;zôhtt´T*ÍÊÊZ½zõ¶mÛÖ­[Ǧ‹9sæáÇþùçÕ«Wß½{'‘HnݺuëÖ-OOÏóçÏ—è(=2 ë®ãV+ï†N¼ÑÝŸÏ—¸çb]ÔtÅeu¤¨¾S”ÍJnSSSéîÈ (SìB"‘¨Î“uúôiBȨQ£än3ó‘Ô¿U}+Õ?*ôÖs8qbÚ´i„;;»‹/*½{¦Š@¤}ûöô;wîÈ…hŠýîT‡è¢lîˆíâÅ‹}||nÞ¼yýúõÌÌL‡nݺuèЦð YÙÔ¯Oχ””:r-×v.)=m˜û÷ïoÙ²åÔ©Sô¿ºººJä~Ñþ‡“““P(‹ÅǧãúêX¸p! íO:Õ¯_¿ï¨>wîÜ9~üøºu뢢¢RRRæÍ›·lÙ²1cÆøøøp6jš%K–Ð_Ÿ °Ï˜D"¡ ?k´uj)(((**¢‹+uqq™4iÒÚµk !?öôô¬‘]ÎËË{õê•bGMs`gg§t¿E‹ôƒ3vìØ¥K—ª~‰Ž;êëë…„„ˆD"¥iP!ôæ?,/KSE‘¾¾¾¯¯¯¯¯oNNέ[·vìØqéÒ¥‚‚‚iÓ¦}õÕWÜ;s·iÓæäÉ“2™,... `ëÖ­™™™!!!óæÍÛµk—ÒÆ´iÓæâÅ‹©©©999tl—‹@[[[îåÒ9Cééé4]°b®)¦uëÖ/^ …7oÞTœ®¤Ø°óçÏgdddffª¸ò¬„ê;E[·nÍçó¥R)Ò’óòåKú‡b˜òìÙ³ß~ûþ-‰¾ÿþûòÒ‚ÐiæB¡°Ò]h„èèhÅ`з[[[ûƒ_ªtù$M!¦Ø»£xS¡·žùûï¿G-•J4hpíÚ5¥ƒ'2™Œízõê©Ùg]õlƪêáì²²2ÅËccãþýû÷ïߟ[È–ñ*Þ&[ÍúmÛ¶½}û6Í諘Jž6&&&JïVZZzâĉ-[¶°~ʺuëN:uÚ´iêd‰«&X.ð?tttš7oN¹wïžšO¹rå ]7·páB:xÿóÏ?——]" --­Ñ£GGFF^¾|™®*..Þµk—““Sï޽陚n£t–w½zõV¯^ͽ Õ„£ªŽùóç››››™™•7‰˜M• ©òjj—3Í–””Ðá˜ò‚]]]:ÝMñ¹ŠôôôèUø‹/ʻՕX,1bÄäÉ“çΫb0ºÒ‡ÈØØøÛo¿ ^°`!¤¬¬Œ{¯n†Çã9;;/\¸ðñãÇ´×AE _6£”Þÿ—K$Ñ7]nÖitt´â$Hötwà¡¡‰H$ºÿ~yu&·T‚’ŸŸ¿eË–-[¶ÈM’£ÿà–+wüÕÙ²±±1#ÑÑLHHû òòò äééÉÖBÞ¿ïããCiѢŴiÓÖ¯_ÏãñÞ¾}ËRê1´« 11Qñ^Rqqqû÷ïÿÄ7#"„ôèÑ#88˜.0ÔÖÖ–ÉdÿýwïÞ½œœäö]Ðë˲²2î÷{YY]¥¡iŠŠŠüüüþùçî7Kp0þ|Å_/^øûûBôôôè˜KMíò¬Y³¸ Ç !?ýôi¤bY ýå¸uë–Üýpsss{õêåààÀù>oÞ<:ChëÖ­Š_¦b±ø·ß~£‰Å'Nœ¨tD†Rÿùúúº»»wíÚU.$bÃ[4Âxúô©»»»»»»\W™‰‰ ­ bˆ„EB“'O–»Hóññ¡s§äB´¼¼<–ЄÊÌ̤£QDòóÏ?³IâÔ¡C‡þþûoZÒ¶m[ú›4mÚ4¹[5øøøÌ˜1cÆŒ¬Á¬SSËÔ ¢Ú2!„ÎÔÌÉÉ¡S‚˜ÄÄD???Bˆ£££Ü!Z³f ½WÄ–-[¦NJ;·–/_®ô¢hñâÅ„¡PHÃôJ[¹r%[A­X±‚^Ò¨³ ‹íÂäÉ“ßþ{§BˆL&=z´âE…ÞzBHlllß¾}‹ŠŠÌÌÌ®^½ª"566¦ÉÕN:ÅÆ…¨œœÚÁ¯££Ã"ðxšX„zñâÅ Aƒ5j´bÅ úܾ}û3gÎ}ºmÛ¶ô!==½äädöżhê"–"®[·n111‰¤  Àßߟ¶ÙÜÜ\"‘Èd2©TJƒ6}}ýmÛ¶åååѱ6ö¹f‰Ô•b?ömÚ´Ù³gOBBÂ… ØýX[´h¡4uíàÁƒÏœ9Ͻwµ¯¯/Û¬ÒÔµl8¯S§Nþþþiii¡¡¡Ë—/§Sp7nÌMÖÊÒ999mÛ¶-!!áüùóìoÒ¤ ËÍVXXHã9 ‹íÛ·?~ü˜Þ@L)õE·LëÓŸ[>Ÿ¿råJš‘ëîÝ»l¥!ûr ¢¢¢hȲý%&&Òãììì\ZZÊ­ÌÂÄqãÆ©hƒL¼h„šhéÑ£G×®]ûå—_SתÞËÎèææ¶gÏžøøøÓ§Osó˜È¥®Uÿ­ñâÓœ;wîaeXW™L¶{÷nZÙÂÂâܹs¹¹¹ÅÅÅW¯^e«ŒÇŽËm‰X,f9Ó¦M ‹Å=b¿w&&&Ü»’²þéÓ§ß¾}»¤¤$44tذa´ÐÆÆ†›z­¢õe2 %éq¦i5óóóÙ‰êèèH?é˾ËçóxïÞ=Õ'C•@êÚS}¨«W¯*½o !ä믿f½ç.ù÷ê‡JLL¤×ÙÆÆÆqqq¬üÒ¥KÜÎUv(nÒ¿ØØØêØY5o%“É 6oÞlgg§!ÚãÇ•ÎC÷òò¢ÓÏ5*Dc³n'NœÈ-OHHPzÃfÒ¤Iì·Dý]®ÂÍÜÜ\qb =ž ¬²Ò@=|øÑ*êß¿?÷›Q&“‰ÅâònID5kÖL.{¤bˆ¦þ!*))á¦\ÑÖÖfŸG}}}îýñãÇÙêB÷ïnݺ±û+”‡{óf® (ÞjΜ9Š3f!_}õ÷p) ѤR©Ò[uBŒ/_¾,×0ng—……EHH·&˘J©¸M“úÇ¿¢[¦nݺÅz2wÚ¢Ü)]ZZJS‘°”¿2N"þ¹sçrë÷èу" ?x+6Õ!Z½zõ”N¾”»”êM‰D"¥3îëÔ©C3BË…hê¿õlŒ Ü[lI$víD+x{{sï½FEDD”7rZ§Nîߨ3gΔ7ûÞÔÔT1alEë‹Åbî”5]]]¶¤×ÄÄD.‰ñ‘#Gôôô¦NÊÍø]ݺöÃx<=ù}B\]]Oœ8ÁMn$š6mºmÛ¶C‡Ñ÷›æ666욆bbbB¿rrr¸åmÚ´Ù¿?Û&;õ¿ùæ7räHKá>ZµjMŸ>ýéÓ§, sU¡ÇYñh³¹…ñ¬œýѼyóû÷ïwëÖu?hkkûøøÒ/q¹§p_Kqk {]¥gB¥Í™3GWW×ÒÒr„ Ür{{ûŒ7Nn:9ÇkÚ´éž={vîÜÉ~‡*ºËJ÷‚–(æ(ï …þþþ³fÍâ†&îîîAAAÜL³JŸîæævñâEîT_@`ooïççwöìYÅ·xçÎr7£êÕ«7~üøððp¹ll_ØÇGýC¤££sçÎ%K–Ði+´›ÁÈȨgÏžaaa좜2tèPzÇ6zVZZÊçó›7o¾|ùòË—/+®³k×®… rgå …BooïË—/s×ÙцÙÙÙݼyó»ï¾cØÚÚÚãÆ;vìØó¤ðx¼øúúr瘛˜˜ <8..ކ \›7o^ºt)÷KÆÂÂbРAááár‰Üöïß?sæL¶Y‹Õ?þÝ2Õ©S§¿ÿþ›ö,J$:œjhh¸téÒ;wrk®Y³†fšX¾|9÷†¿¾¾¾ô¢híÚµlqÆ£Gh^›±cÇ* ‘¹TwÑl[¶liÑ¢Û{{ûS§N)f_*oSZZZ§OŸ=z4[ÖÀãñ¾ùæ›»wïÒÜSÔëÕYXÊÝ8ŸÏ߸qãÖ­[i„-ûwž†¶¶ö„ Ž;¦¸ð¢eË–>ìÓ§â·Áµk×ë pÿþ}Å!ào¿ýööíÛŠ J*Z_ ?~ü—_~¡çdII ]oÞ©S§ëׯË%1îÕ«WRRÒ¶mÛªv=oâ½å ~ƒœœœœääd¡Phgg§¸îŒ¦6ŠBéC|>_ñY………¥¥¥µk׿>TPPP}ËzïÞ½ëååU¡lºš¬¬¬Œö±5nܘFhš’’¥çóêÕ«ÈÈȬ¬,''§-Z¨8>Í.Ož¸¿‰D*•ªÞßJßñ@QDDÄŸþyñâEò¡l¥ð߃ ÊuãÆšnÂ'õ¥í/h¾Û·oÓ;HBfÏžý1é»à³ƒ !¤gÏž:::š+°/ŠÝ!C5jÔ§O//¯šn|R˜‹öß÷[.ð™ªÐ\´/4é€&Cˆ q0íKÁnÑ š!ÚáæÍ›r%2Îí½ :T.ñÿ{.– hÌEÐ8Ñ4B4ƒ @ã DÐ8Ñ4B4ƒ @ã DÐ8Ñ4B4ƒ @ã DÐ8Ñ4B4ƒ @ã DÐ8Ñ4B4ƒ @ã DÐ8Ñ4ŽPJ111ÕÝàrqq©ªMá½Ð(jþÊóÞ¾}ûÁJ¦¦¦Ý¨€ìììªÚÞ;¢æ¯<:4ŽZ½hð)¡ @ã DÐ8Ñ4B4ƒ @ã DÐ8Ñ4B4ƒíÿÚ»ó¸ó?àŸg¦¦D‡¢PÈ­"ц´ˆ•+~΢ݵîmËn›c»Î(‹uæ&‹¢ÖZ¡rŸé’ •Ž¥’jšyžßßúzÌLÓLR³íçý²³Ó3ßyæ9¿Ïçù^B!„ÆÁ !„BHã`ˆ†B!¤q0DC!„Ò8¢!„Bi ÑB!„4†h!„BC4„B!ƒ!B!„ÆÁ !„BHã`ˆ†B!¤q0DC!„Ò8¢!„Bi ÑB!„4†h!„BC4„B!ƒ!B!„ÆÁ !„BHã`ˆ†B!¤q0DC!„Ò8¢!„Bi ÑB!„4ŽVM/@•‘J¥ûöíã8®GVVVÊëèèTᯊÅb{{{;;»*œ-RQ||ü®]»:wîüÍ7ßÔô²TL,‹D¢š^ µ}Šƒ¼Â31>>þÆ`„ ÃTÕïÖµ6 ˲;vìxôè‘§§g›6mªañ4Çq%%%5u²Ü½{÷öíÛiiiõêÕ›5k–H$ªôÑ(?+%‰oß¾£««ûÕW_}ôJ|ú GÝ멦¥×dLvv¶ŠIýüüž?.3Q$uêÔÉÞÞ¾}ûöAM–É4oÞ–/_þÝwßÉ'xòäÉ®]»¢¢¢ž?^PP §§gaaÑ£G)S¦´k×î#ÝÜܼ¸¸ø‡~X°`ÁGÎ UÂçŸþàÁ8s挃ƒCM/Ž©©©ŒÍÈÈhÖ¬™½½ýäÉ“uuukzéTRUùÛ·o8püøñ”””œœœ ØÛÛÛÛÛ8ÐÚÚZ&ñï¿ÿ¾téRÈÈÈÐÒúwßRªµÏž=K®Ð=zô8uêÔ§_: "‹÷ïߘœœ\\\lnnÞ«W¯Ÿ~ú©iÓ¦•›áÂ… óòò”§quu0`ýÓÛÛ{ïÞ½ôÏÇUîhT8+%é/^¼e˃'Ož¨øò¤RéÁƒ¯^½zóæÍÔÔÔV­ZuïÞÝÕÕÕÅÅE>ñÒ¥K•D]»výúë¯å§_¾|yãÆqqq™™™&&&¶¶¶ööö^^^õêÕS¸<‡NLL,((077ïܹsÿþý¿üòËò–_­ôðàÁ??¿7ndddÔ­[·mÛ¶ß~ûí¨Q£j62ùHjdy¡¡¡ å}Ú´iÓcÇŽµjÕª*–ªŠ±,»téÒÍ›7sG'$%%%%%íÙ³g„ ¾¾¾ÿö À™†Ÿ„QQQS¦LùçŸè”ÔÔÔÔÔÔS§N=ztÿþýÍš5«ÁÅ«NW¯^?~üëׯé”ììì³gÏž={Ößßßßß_IüŸB iª¡ì0''gË–-ðå—_Vm^‰9Œ1âîÝ»tÊ‹/<|ôèÑ=zTb1Ž=š““£<¹¹9 ÑΟ?O‚*†a>ûì³¶mÛVú>ª g¥:±X³³³«_¿¾üÜ:vì(3eÉ’%$>300˜0a‚µµuffæéÓ§oݺõðáCWWרØXZµZRR2uêÔÐÐPhܸñàÁƒ»té’˜˜xæÌ™äääààବ¬ãÇÓ™«›nÞ¼9cÆ –e…Bá7ß|ãääôêÕ«­[·¾xñâìÙ³?ÿüó¿7KQ;D³¶¶>|ø0J~~þ/¿ü²oß¾ììì%K–WÝâUøL ìܹóÿûýÈÇÇçÂ… _ýµX,¾páÂÖ­[½¼¼jnIQåuèÐaíÚµ5½Š-_¾\*• ‚µk׎7ŽœD÷ IDATN_°`Áܹs_¿~<}úô\Èj——÷ý÷ß“øläÈ‘7nä· ›9sf^^Þ®]»\]]{õêUsKªÁ·ß~[ÓKQÝ®\¹rîÜ9hÑ¢Edd$9BFŒñÙgŸýôÓOùùùþþþ7nTw¶;vì(sçÆÇÇ ‚áÇӉ¤IOƒ œœœ*³uꔩ©)™îãããîî~ýúõ¨¨¨K—.ÑøUÝô°|ùò’’ð÷÷§y¬‡‡‡‹‹Krrò¾}û¦M›fii©þ¶¬yUP=¤¯¯ïïïß­[7¸yó&É‚ù¤Ré‹/îÞ½›’’"‘H”̊㸌ŒŒèèèÌÌÌ ÷Õ«WÑÑÑiiiJÒäçç/Y²„¼_´h?>#úöíëëëKÞûúúfee)™[rrrRR9º$I|||FF†Ìô¢¢¢øøø—/_*ÿú»wï’’’ä0Ü»w¯ÂúŽª•››ûøñcøì³ÏøñˆD¢U«V‘ÛÖ£GÊWÝUÎÌÌŒ—Oœ––«ÊL8ŽKII¹ÿ>¿NVEùùù÷ïß/¯¸býúõäb`eeµaÙö¼®®®ôÞo÷îÝ*þ¨ê›¨¤¤$!!!))©°°Pyʬ¬¬èè茌 ~»U°,›žžœœ\TTTazŽã’’’>|X\\¬Ö:™*Áªüàÿø³R©€Å‹ó‰':::‚jU–ª{ùòe`` >¼mÛ¶t:Ù¤7®°E^^Þ½{÷”\°*œUQQ)M¯ðÈ$*ÜõäͪU«H|F8::’šÜ¸¸8~Ë3š'«X¿víZR'°wï^þW„Bá¢E‹ÌÌÌ ÿúë/:ýСCäMPP·@OOïСCÀ/åR7}llìÕ«WÀÆÆ†ßÁÂÀÀ€Ü·K$’íÛ·«²j¨jZð0 3pà@(,,ŒŽŽ¦Ó%‰¯¯¯µµµ]ÿþýíííÛ¶m»xñbùó977wÙ²emÚ´éСƒ‹‹‹µµµµµõ¤I“^*BCCmll\\\lmm­¬¬vïÞM+¡ùÎ;GŠpGŒ1sæL… ÿÍ7ßn€EEE$x'æÍ›gffæêêZPP0mÚ4kkënݺ9995mÚtòäÉÊ»YLž<ÙÌÌÌÂÂ"77WþS{{{333~ÓÔØØØ c”O'11ÑËËk„ U;[º_¿~=~üø6mÚ8;;wèСk×®äŒJMM0aB³fÍœ;uêÔ¡C.óEDD :´Y³fNNN½{÷¶´´ìÓ§Ï‘#Gøi–/_nffÆïö‘““cfffffFšG 0 U«Výúõk×®]ÇŽOœ8Qµ+[¯(ì’¢««´ÿþŸþ™?]•Uæ¯àáÇ{öìimmíììܬY³yóærwàÀ[[Û¾}ûZZZ8Ä‹ÝGb±xÓ¦MmÚ´±··ïÕ«WÛ¶mHšTèÎ;£FjÑ¢E¯^½œ[·n=xðàk×®É$#-KôôôöìÙ#ß”ºvíúÅ_À™3gÒÓÓ•ÿ¨*›ˆˆŠŠêß¿óæÍ{÷îMÎßÑ£GߺuK&YaaáO?ýDò—:´oßÞÏÏO•`K"‘¬Y³¦C‡;vtqqéÖ­[‹-&Ož\^sïÌÌÌÉ“'·oßÞÉÉ©G-Z´˜3gŽL^QTTÔ¨Q#33³;wÊü–Š™*H¥Rº`íÚµëܹóôéÓi”søða33³Þ½{“?¿þúkrPñ›)Táö¯Äœ¥R)Éìíí‡*óéøñãÉê_¹r…LYºt©¥¥¥¥¥% ìŽãÜÜÜ,--[µjõìÙ3%k±víZ±X,~úé'2¥M›6fffaaaG–YáÉøÅ_´nݺ_¿~ÖÖÖNNNgΜá'¨pV¯_¿þþûï[¶léääDÎܯ¿þ:99¹¼¥Uq×gff¶jÕÊÑÑÑÜÜ\f666dû¤¦¦Ò‰ä\&&&J¶Á²ìùóç _¿~òšŒ’““wíÚE'>zôÚµk'_C­¯¯OÚM]¿~vFT7=)2€E‹ÉÄÁŸþyË–-ùiàĉ...'Ož$¦†«²FÖ4Zçß x{{ûûûóozòòò¶lÙ"Ó\‘eÙ)S¦lذÿ™™yêÔ©AƒÉt#ˆˆ˜I"‘„„„ 8PÉ£«««T*-**’9iàÎ;)))R©ÔÕÕ•LY´hQß¾}»té®d!?…¨¨¨1cÆôìÙóðáê\ŠÔB7à¤I“ÂÂÂòóóÉô'OžŒ=úòåËC† ¥±uFF†¿¿¿Ì~¼råÊØ±cù×{±X7}úôuëÖÉüHËDFF~÷ÝwwîÜ¡wœéééS§N%wÏŸš¹¹9i“–’’"Ÿ K—.ƒîׯ¢â*Ó<þü÷ߟ˜˜H¦K$’;wΙ3gÆ ³gϦµb±øöíÛÇççÎt»yyyýòË/üðöíÛ>T¾‚‰‰‰nnn‘‘‘ü‰7oÞ;vl\\O~·G­[·.on[¶l ?{ö¬±±±’Uq@@@€››ÛÝ»wÅb1ml1lØ0~®‘‘1`À€={öRy’2''gõêÕ&L¨°àÜÛÛ{Íš5ü¢”’’’Q£FÉgee1"$$„fŒb±800pêÔ©ük˲‰D*•ÊüºŠ™*áãããëëË_°çÏŸ9r¤ÿþä€!?Áÿ =®”¬¯*Û¿sNHH ¹©“‘Azç0{öl##£·oß®ZµŠr|ø–-[ȆíÖ­Û›7oŽ9RTTôàÁr듚šÚ©S'7nÝ8:t¨[·î¼yó8Ž»~ýú Aƒ”ÿºžžÞÑ£GÉ|`áÂ…¹¹¹{öìÉÉÉyøð!þé¬\¹òÞ½{ëÖ­[·n]Ó¦M{÷îÝ·oß¾}ûÊd+•Xåúõë;vŒÜÙØØ4nܘô< …Ç'—ÿvíÚõêÕËÞÞøM(##££G’“×ÚÚzàÀàСCd4Az®Éðóó{ñâ…––ÖÞ½{û÷ïO&ZYYYXXL™2%##cïÞ½$¢­<åG>S—ê›èòåËä³råJÒX»Y³fS¦L‘H$¤­ÌÛ·oÉöÿûï¿ K—.´éª““ÓîÝ»½¼¼Š‹‹iI¤¼W¯^ùûû€……ÅÑ£GIUQ»ví¨¥¥µÿþ„„„½{÷Ê´²|xèÐ!:gÚôèÆóçÏçÏçíÛ·çλråÊ‘#GøZ=zô àÅ‹ûôéÃÿÊÇoß¾MÞÓÐVÝôäxPÖó§Ó[M‡˜˜˜ãÇoÛ¶->>>77÷÷ßߺuëÈ‘#§OŸ®¼4§ú©]Š–œœ<·ŒÏÔ©S}||@ ,\¸$»wïÙÙ .ä7zzzßÿ=H$:Êš¯¯oPPжmÛøÆhkk“r¦û÷ïÓÂ䨨X°³³›3g©ºwï.ß!N*•’Ç/Ô-i" ‘HäË fΜÉÚÌÍÍÉñ÷ôéS%3$åb±˜ ~÷î]r`‘O‰¥K—^ºt)::š_ÛUåÒÒÒ–,Ybkk»xñbŸuíÚuûöí111>>>ŸtÄ~ï!†aèÀW_~ù%ÃÒìž¶—²·· ’ ^ÝÝÝII¿*­<½zõ’‰ÃFEÞ|ÌȪkÖ¬Ù¥K—<<<èáýüùóLš4ÉÆÆfþüùü‚±J¬²‹‹ ?÷6l ;ìììøÙMóæÍÉŸ »¬X±B¦å‡¿¿?¹r“N!íõêÕ‹ÆgtH(F¿Kkg>~ |Õ7H 'Š ¹tòäI“HîÑ£GüC 6 :yò¤’a/è=½¿¿¿LS__ßFñÓúúúô΄þ-QrH«•©Ò@Üßß_æìöõõõññùé§Ÿ*7âZ•œ• Ñ¡¹Hœ<2]&‹^´hɽ-ZtôèQ2¤ÀÏ?ÿ¬¼¼vÍš5R©T¦Mu³gϦñáííMÎ/%ç E‹ˆèYF‚€€ùÓÔÚõ ýôÓO¤fܸq2õÈ$D“J¥õë×_¹råíÛ·cccÈ)ÅÏÀifEnfÆêÔ©§OŸ’¡…àÝ»wcÆŒá/ ³ÆÏo]?lØ0ÚW†6ïV7=9l”3ðáa#‰ÆŽ2hÐ @PRRÔ»wïÑ£G“:= ¡v)ZNN¿% eiiéëëK7.͕޼y#³Â´ê766–T¾P………OŸ>ÍËËËÍÍÍÍÍ%-=Y–eYV ‘‹·ƒƒƒ|æâèèøûï¿ó§…B]]Ý¢¢"Uú‡Ò4zzzü麺ºò§:i†IªÌËÓ­[·æÍ›§¤¤„„„Œ;–L$µœuëÖ•ÉÝ*|bÕGš?þÞ½{I3‘#GN:ÕÖÖö“þ(all,sí'×- UÆÝ {Ò½xñ"++‹yyy䨰/Èä¤P¶û ¢=X…êׯ¿qãÆU«VýùçŸ.\¸té)˜)((رc©ê•½VÅU–9‰tttH™Í VVV ;ÖJ=™ùtìØñâÅ‹å]qÅb1©´544”ÏÔH¹5½Õ­[—¼Qýq&ªP¾‰H°aÆðððqãÆõêÕ«M›6ò¹GÏž=“’’òòò:wîìææ6dÈ®]»’òåhF÷ÙgŸÉ|$‰:v옑‘!¢ÙØØÈ×ÈÐñübccù‰þ–*™* ÑäÛu“›êWé³R!Ú‰¤¼aTÉt™FGGgëÖ­ øçŸ¦M›Ý»w'oÊ“””D: =ºrãÀÉ7{bÆÞÞ>!!áÁƒ%%%J ð€ŒÄ]»v•ùÈÈȨ}ûö2ÇLå®§”¿¿?©qîÝ»·|•(¹öœ9s†nQ£FõêÕkÈ!ÉÉÉþù'-o¦ë%‹}||èÔ½{÷îÝ»ûùùÐò{èÓ§ÏüùóW­ZõîÝ»‘#G6iÒ¤}ûöÉÉɤ¹[Ÿ>}ÈÑš.uÓëêêæååÉ4' è±¤°ˆÑÉÉÉÉɉj>^É阘H$* hV ˜šš¦¦¦>xð@"‘(_˜DýFFF2Ï2«_¿¾üUyþÃ0cÆŒY³f ¿®“Ôr:T&üÔΟ?OⳎ;’žVÕöÓJ¶•*HOO_³fÍ™3g*}içߤ5õÀ¥zõê¹»»»»»@LLÌÑ£GwïÞ-‹ÓÓÓgÏžMcTw•ËÛª—‘èëë+|¼••ÕÅ‹SSSóóóåã•û÷ï“–Î'Nœ(¯‡lVVVVVVÆ Iãò­/-Vq5iÒdÓ¦M ,ÈÌÌLHH˜7o˜˜˜|õÕW3fÌàz-X° ===,,¬¨¨(00000P(víÚuΜ9¤)ayȵ³Q£F éÓ¾}ûsçÎ¥¤¤¼yó†&P˜}™™™Õ¯_ÿõë×4W”§V¦JLyÇ‹Êùø³R!Ú „¶6ã“H$¤¼G~SÛÚÚz{{“ª@]]ÝÍ›7+Ï[Ö¬YC†9­\”Ó¸™ìY±XüðáCåõe䶇ìtùO­­­eB4µv½Œ={öžò:tØ·oŸ|ìHš—ðG¸€† Ξ={æÌ™R©ôæÍ›äD …©©©| ?wîÜ={ödggËtèþñÇIçb–eÓÒÒhÕ¡C‡zyy‘‹ ª•ÞÈÈ(33Sá1¼ŽJºeii¹råÊyóæ­[·ŽŒºwÿþýÌÌÌeˆÖ¡CþãfÍšuðàÁwïÞ:thÊ”)t:)JÚúÐÒ”%K–Ð^Ó"‘ÈÜÜÜÈÈÈÐÐ055•_E WT¿ö4iÒ$55U,'''+yçË—/Iù­|/å1fÌ???R×9vìØèèhÒ‘_ËY=èÑׯ_¿É“'?^aî QRRRú÷ïOëÈ4hаaCCCC###þ¸;ÿF:uêÔ©Ó—_~9xðà·oßFEE‘«¸®2Çq Ë5iiœ¹¹¹Læ.óuàU7Ü¿ÿ#—G­M4|øðìÚµëØ±c¤ÉDNNÎï¿ÿ¾k×®eË–‘ÑvÀÀÀ`ß¾}÷îÝÛ¸qcTTÔëׯ¥Réµk×®]»æààðÇ”è(;æTüdåe_fkjeª¤ÎñS +ðéQ4+¼ÜfddÕQ¸/è-˲Ê;§ÇÇÇ“K˜››[…ÍãÔ¢nűêG‚Z»žïĉsç΀æÍ›)iP¯-ä»qã Ñh3ÁòžÄÕ­[·°°°èè袢"þͰ§§çÕ«W/_¾œ••Õ¶mÛž={vëÖŽc Sp zzr<¤§§“šk™å¡Ç’ò!Eîܹ³cÇÛèèèð‹œjÐÇv˜7o^pppqq±ŸŸŸ»»;-{ìÔ©Sxx¸––ÖéÓ§•Z¤¤¤ø¬I“&]»v¥[ÙÏÏ_*kee% ¥R©Â>q 'öë×t0‰ŒŒT¢Ñ^6UÛ¬yóæÝºu»~ýúÉ“'ÇŽKú阛›WÛ0ÓTXX؉'6oÞœžž¾|ùrÿ1cÆxzzªÒP¯¦¬Y³†\ <==øázŽI¥R ‹Å¤‰®Â ÂÚÚzüøñ›7o€G988ÔÈ*çç秦¦Ê¤‘sªyóæ {ÛØØØhiiI$R@¥D÷îÝëÔ©SXXxëÖ-±X,SVMÅÅÅ‘‡ÿ 2¤¼,UÝMT§N/////¯ÜÜÜk×®íÙ³çüùósçÎíÓ§¿eºÝ®]»8Ž{ðàAXXØÎ;³³³oݺµ|ùòß~ûMáÂtîÜ9<<<##C¦WA7 ÿvHaš™™Ib+y€žê™*Y—³gÏfeeeggË$ŒOwˆÚÚÚ –eŽø@{ðɇ)OŸ>]¶ly/‹g̘ñ×_•Wm²zõjŽã´´´*]„ òÀ »[$U˜©vèÐ6üâUJþQk×S.\˜>}:˲'OžTXyBF«%5û´¨ž¶ZQ^MFó‘™hhh8hÐ ™ÞNôA¢òuÇ*¦ïÒ¥Ëõë×Ɉ¾òC©‘µ322RøÜ0±X|âĉ;vÐbK“I“&M™2E•QâªÁǺѤIò”’œœ~.FÎ"±X|çÎås -y§M›æèèÈ‚eºïÖ©S‡Ô”+œ§Âa6i“¯¥K—–פæáÇ´û}•÷©$f¤Œ„Ôrº¹¹Uÿ3¿µµµÝÝÝ###ƒƒƒÉè EEEûöísrrrww¿pႺ©Wrl˜˜˜,Y²„Âܾ}û_ŸÀŠ+Ú·oß®]»ò?ÚT‚Ô}×Ô*Ë4[\\L–¹¼gÂèèè󪮿 éê꒻𔔔ŋ+L#‘H¾ýöÛüñ×_UR?^éMdhh8pàÀ   2@CII ÿYÝÃ0VVVÞÞÞׯ_'¥7nÜ(ož´ÕíhF‘¡Âøiˆ„„ùFôëJZˆªž©@çÎÉ~xâíÛ·;vìØ±c‡ü¸ª<$ rÛ_•9’ö*ýõ—|IÀH¦üF*•NŸ>½°°°qãÆkÖ¬€{÷îÉ GÝ»wôßrwwÿ˜'É_n8Ž#û¥}ûöÊ¢/—?lrsså‹ÔÚõÄ­[·Æ_RRÒ¨Q£“'O*ì$ yyyÝ»wÿì³Ï-Z$ÿ)]<ÚVÕÔÔ”\…¯]»&Õà8Žä$ÆÆÆ´*00pÁ‚ .”o.VPP@ºwXZZÒ*,uÓÓe“¬$33“œ¼Ýºu“)›LKK[±bEÇŽg̘Aâ³-ZøùùÅÄÄÌ;WCâ3¨’qÑfÏžMî·oß.£³páB™¡áŽ9âèèèèèxáÂàÕÁÉ$»yó¦üeƒ\-îܹ³iÓ&™Ä¤(BFëÖ­I÷½¢¢¢ñãÇË?« //oܸq$Ç0`ÍתʰaÃtuuÅbñÊ•+Ë«å,,,<|øðÅ‹«!NêÝ»wPPé`(‰8Ž»pá‚»»»“““ün5ŽKܼ”ÃÌIDATH$~þ^RR"3˜¸†P¸GŽIÞ¬X±Bþª“’’BÃÓÕÕ%£`×Ô*/\¸?¤-øøø–FJ‚|\»vMæVyyy£Gvtt¤½w`Μ9äædçÎòm×$ɲeËȨKß|óÂBõM´dÉ—aÆɄD´z‹dÄÉÉÉ......d1ÊÈȈ$PÒœ‹†_ÞÞÞ2ÙË‚ HÛ)™-??_æYÀÙÙÙ¤6 ʈAL:wîL®IsçΕyT æÏŸ?þ|ºÀ´PSþ¡ òÔ:DÕš3–šdþô'Ožçƒ‘§ƒð?Ú´i™¹¯¯ï¤I“HáÖo¿ý¦ð¦ˆ´ÊÒÒÒ¢ã¨UÎúõëe¯Y·ni ¦Ê8>ôœòööæEËqÜ´iÓä3 µv=$&&zxx6hÐàĉJ‚QCCC2¸ZHHˆÌ¹¹¹¹äª*‰hG†aȦËÉÉ‘¼V­ZE*~——’’’íÛ·oÛ¶Mf–e,X@V‡?¶¼ºéûôéCšºnÛ¶M掫W¯&¥}tRHII™8qbçÎ×­[G6~×®]÷íÛwãÆ‰'ÖTKåòTAˆfhh8{öl‹Å´´ÙÜÜœLŒ‹‹3fLhhhffæ;w~ûí·™3g>zô¨¤¤„<õóÏ?'%Ò/_¾LLLܺuëˆ#äo¼|||H±lÙ²%K–\¹r%66vÆ JF_¹r%ÉgSSSI.œ’’"‹SSSÿøãò˜U000ðóóûø­!ÃÀÀ€ ÕH;Ø¥KùAfΜéåååææFŸMö©YYYmܸ1::š Ï dð›êùuÕ‘¹¹¹³gϾzõjvvvxxø˜1cÈ |šFá~üì³ÏHìÞ»wï§OŸŠÅâìÞ½ÛÙÙ™4‚7néÎVS«üúõkww÷;v$&&ž;wnÖ¬Yüñ´jÕŠßÆT†···©©)Çq³fÍZ¿~=yÖêéÓ§ÝÝÝ#""=zÄ/–¶³³££Wxyy-Z´(11‘tâ>}úô AƒÈõ@WW×ÓÓSÉ¢ª¾‰lll¢££¯\¹2nܸÄÄD–eß½{JFˆmذ!)iÙ²å›7o¢££.\¸{÷î·oß’ÚŸiÓ¦‘Zþ¶e˜™™‘+ÖóçÏÝÝÝ=ztîܹ9sæìÝ»—,ƒü£ÕÈaaa> tss#Q”——Wyƒ¢:™*˜˜˜ÒÊììl77·Ý»w?zôèï¿ÿþñÇ<-Z´pvv&‰-,,H<¼gÏžÇ+iÎ¥Ö!ªÖœ`âĉärëïï¿aÃ2ÂÂÍ›7=<<ȵÙÛÛ›_’@à 4ˆ<¯eíÚµ:::%%%Ó§O—¹‚ܺu‹´d3fŒÂj/Õ‰ÅâqãÆmܸ1..îòåË‹/&ÁŸ‰‰IyƒòµlÙrâĉðâÅ rØ<|øðôéÓ'N$CôÉPk×§¤¤Œ=š 8õå—_ÆÄÄ“Ãï[@F3ÎÏÏïׯßÙ³góóó‹‹‹/]º4vìXRå:jÔ(~©6yÚlذaÞ¼y±±±R©4..nþüù¤&ÍÈȈ? ‡‡)Ä9|øðüùó¯_¿NŠ===I&Ó¤I2`GåÒëêê’ŸËÊÊrww'«VPPð믿’›®víÚ‘u$nß¾}úôi2þ!CΜ9ó矺ººVí–J²UFº¨tíÚUþ£—/_’&‡ Ü={–LÌÊÊ¢E2 ƒƒƒé×v …#FŒ ï322hâÇ+Ü”S¦L!wÞË—/—Y¼ëׯ+/Ó¶°°ˆŠŠ’ùy$\ãÆå×—ä¹üÈüÃ?È' ¢?´zõjù´µæ7ß|#ÿé§–ššºjÕªæÍ›÷ëׯjç\Þ¤÷Çñññüéô>{ÇŽdÊõë×¶CïÑ£i~N78CX__ŸÎ¶çX·nÌÐzù>FyûñÚµkJÚAÀøñãÓÒÒÔ]e%+H–dܸq2ÓÉ­dëÖ­é²6l(ß°†lÏk×®ÑÄ òóçÏ—×=yРA™™™üį^½"¿XžV­ZEFFò¿BkEi& ú&JKKã¹"‰èÕ½N:ô0ËÎÎÞ±c¿yÿ}Ïž=“““•ì÷ììlþÛù,,,ø9Ù€3gÎTôíÛ—¿¹h¡æ²eËèDÕ3U¢¼ß™ššþõ×_ü”¤ýPÞʪ¾ýÕ3JK2„B!_ÈÒiiiäªT¯^½ØØX:6\™5k?=y`¨––Ö;w”/‰ö:vì(3&&& _jii…„„¨8«ôôtù‘n ~ýúäúb``ÀO¯ú®§`”˜>}:MŸ™™É¿)’©:t(ÿúKDDD”WsZ¿~ý‹/ʤ߷o_y­ïeNùJ¤õê¿ÉšŽŽ ŒŒŒ.]ºÄOLFž›4iÒ­[·²5ža#i%¦0<ÒÑÑ!‡,Çq´?Ã0›6mòòòâ7‡4226lØ•+Wèãu`Ù²eË–-ã÷¦´¶¶ "…¥€Ðôë×/ €ßÇÄÄdÕªU+V¬ K(ß§£uëÖÿý÷ìÙ³å+˜ŒŒ¼¼¼ÂÃÃåÇì(ont#ð?R’ØÙÙ™4×ÕÖÖ¦A'ßÌ™3uttÌÌÌT9µªœžžÞÔ©SoÞ¼¹råʪsyÛ„N‘9–èŸô Ùq={ö¤÷p"‘ÈÓÓóÀ$§³’ÿ-™þÂýUiåíÇ6mÚœ;w¾’iNÎ0LË–-×­[·víZzRw•®Ey§jy{„<`Ú´iüËa—.]:Ä/ôUøõN:ñ›ú …Â6mÚlÞ¼900Pf„BáÚµk·mÛ&ß(ÞÄÄä믿¾pá‚Ìht]h& ú&‰DaaasçÎ%y‹X,æ8ÎÀÀÀÙÙ™<Õþʈ#ÂÃÃIY&y´vëÖ­,X,ß@ÆÚµk½½½ù­òµ´´†ÌïgGÌÒÒòÔ©Sƒ¦£H$úꫯ¶oß^á}¼ê™*±jÕªyóæñ#*SSÓÿýï.\Èí÷ßÿî»ïèl•tNT}û«;g¢{÷îÇŽ#µ™ôÁ»úúúóæÍ[»v-?å¦M›È`I ,à—>zyy‘›"ÒAŠLŒ%ÝÂ<<<*,BSžw‘Ñ:|}}mllèê´iÓf÷îÝò]ÁÊ›•¶¶öÞ½{ÝÝÝi·†aú÷ïÿ矒“Næ+ªïzU:–ò4@°bÅŠÕ«W“›¶Ó‰DãÆÛ¾}»|Ç ÒÝ¡_¿~ò¹Á‰'ä+ë]]]ÿþûoù& • DÝôB¡pçÎÓ§O'Çdqq1éoÞ½{÷“'OÊ sãìì»fÍšªíÏû‰0ÙU:°B‰äåË—oÞ¼133SØ1˜ÊÊÊJOOoܸ1E©<Ç¥§§geeÓ²ô '&&>þ<++ËÄĤiÓ¦ÖÖÖŸºî9??ßÖÖ6??ðàÁû÷ï/oÁA…Lÿ³JJJÈð+-Z´(¯3 &¨p?¦¦¦ÆÇÇçää´k×ÎÆÆFI¿îêYåüqß¾}7& wJJJRRRHËku»¾yó†< ªeË–ª,ðÇŸ={–™™Ù A[[[%|åQkåç秤¤èëë+¿<³,›ššúöíÛ–-[ª;x¡T*MOOÏÉÉ©S§Ž……E…_gYöÉ“'%%%–––tÔV*++‹\Z–/_ÎÞP=Så/X…‰%IAA˲ªŒÈ£ÖöWkÎÀq\\\ÜãÇ‹‹‹ÍÍÍ;uê$(Ónƒ:::2—ú‘H$ú¤X¯_¿~þüyÆ 5jT¹§5¼{÷îÙ³g Ã4oÞ\•CN­]¯®´´´;wîäçç7lذK—.¶š/,,Œ‰‰yúô©¾¾~›6m”WÀ›7obbbÒÒÒ6lØ®]»òŠâ*>'''666--­nݺmÛ¶ýøÇÍÕ¸êÑþã~ùåÒ¹!44T¾_±¦qss“ïdÄ'•JY–UMš™™)ì`«*\ßÂÂB---åë»jÕ*%CJj2™ iŽ'N¦{;wîTÒ!T‹UÁcÔ‘B™™™qqq/^$5?>€ââbò¼ÂòL•Š£¼E°F©p}IHª|}+ýÄ„äÅÅÅýþûï¤a»@ éŠúïÀíS9sæ í×mll¼bÅŠš]ññ_ð_[_¤ù®]»F%™1cÆÇ ß…úWÃíSÑÓÓ311111±±±™7o^åÖ‹Ð'åììL»^Ó ‚Þ³´´>|xÓ¦M]\\Ê{ÌBè¿Û¢!„Bi« !„Bè¿ C4„B!ƒ!B!„ÆÁ !„BHã`ˆ†B!¤q0DC!„Ò8¢!„Bi ÑB!„4†h!„BC4„B!ƒ!B!„ÆÁ !„BHã`ˆ†B!¤q0DC!„Ò8¢!„Bi ÑB!„4†h!„BC4„B!ƒ!B!„ÆÁ !„BHã`ˆ†B!¤q0DC!„Ò8¢!„Bi ÑB!„4†h!„BC4„B!ƒ!B!„ÆÁ !„BHã`ˆ†B!¤q0DC!„Ò8¢!„Bi ÑB!„4†h!„BC4„B!ƒ!B!„ÆÁ !„BHã`ˆ†B!¤q0DC!„Ò8¢!„Bi ÑB!„4ŽVM/B!„ª˲R©”ã8™éòSPå0 #?E( •)à !„ªå2Þ”\{‰™:/óõ J„5½8ÿ!uµ¥æõÞY›•toÉ52ÒVë»Lvvö'Z,„BÕ,Žãn&‹·ß6­+‚:" AˆMœª‘”± ÅPPÌ}ëÕµ•H¾¤­C¤£lYLÜûzMZ1Àöèü$†Žã†_rÀq"!ÄgèŽ`ŪôñÄ !„ª…¤Riêýúú¤ÔŒßdŠã8 íÒ†á5IC‹ë2 p,G´²h´„úFG*-Ä !„úâ8îm‰–1ð­€ã lì.–å(mœÆ”öàëG½Êì ñoi%si‚|±–ŠÑaˆ†BÕN, RÊ ÉÊÚ²—êðš¶kD3®ZñÊߪ¤Ø’¡•%P} ` ÑB¡Ú‰å€å€ãÞ7>c˜Ò?Iϲ®P[Ôð«¶J¤±$•{%Û³ìUvk“dR•k•1DC!„j'–#¥hC2þ`J+ãx±Eµ¾66kAshPÑÕ†âÈy ÷Ó¹¿ï³/þQ~”=Ó “žËºÇÉÚ³ cÝ„aHÊáªdŠÖè8'”ê}30DC!„j') Rö}×M®ìOîý”ÞTã+ðe7ÁÐN ·¯« æõÁ¼>ãb-> >ÚjðCc«ÒyœÉÝ{ùE\]¦£9X5fÀÅši¨/Xö~Ø ±'ëX7afö0 K`Eû4[åÒªOã}w ø ×,';Àm¹0DC!„j')G rhý&Sö'e<«Ÿ‹5Câ3Žÿ¿¹«ÉïKótn 3Z°kʸvœŒæÇh¤‘òbK˜7H -) «ÿâ3 F¢P^O:)-º,ûSʪZŒ†!B!T;‘R42 ¼ÉÞg$˜P½aUÑÁø¥ƒí»ÊF=”]€[O¹€HfFx80á÷Ù7ïJ?"UµÇIÊÞ›êâ!B=‰öØ[Ok²üŒŒ­ABá²Xߥ€c± !„úc9FÊé(Àk¦Î/éaÈcÕ«y1ûæPWõ;r[qš°X®UCn`F¤Ý[2Æ••QñÖŽã8ƒ:̯ÃÆu6_ä"“jth4²XLi gY7‚².\éç*î> ÑB¡ÚIÊr–à`8(-ÏáÈÔØÒ©Ò¤Ëgµ¼öh]¦œŠáX®Ü”!1ÜÀ ôhÅœŠá˜ÒX³´¢SÂrºZÌ’¡‹ú{¯r§c¹ê\ ùW d9àè6çÊ"6È.²ªòaˆ†BÕNeC×*)¶©™†hÍŒK÷Q&HÊošõ4 $RÐB3cFúáÓßI<´`0cÕàØîÀõîð!FîM),EC!„þë¤\Ù ¼¶hÀä:{Vúz¹W¨,™”…” UC0Ò–™lv?¦[K²òaKDõ7¨S†?î†Ìfg± !„úã8FÂÃ0¥ÏóVðô¡ˆk èë<ÍᔡO³¹V ¡tE_PV~fÓl𔯖 õa¬¨¥hLÙ¶ïÃ2F¶»†KÑB¡ÿ8éÏè,/‚aª9P“K@G Œõ˜ f땾)(V0èëΪ1£'‚)=™Ø—p7¥Æ£4Ž·=Þ”÷oT/E|‚åC!„PÍ“² aAÊ1è?)Ç)eo8úgµ½þSТ!pPAÊÖ¦ äAaIéàÜIᾂr ``éÿ#½j] …¯R®tÃJ9({e™“ʸ«–¢!„BµË”ý`P.òÊ0LÙC¾áÃQ»ªé5#‚HFÌ“ìrSš0uÒs߯©BÌÈ…9G P ÅCç¦0ÚŒëŠáÏ܇«\ͯï•ï}2• Ñ0DC!„j©²?P«I—s›1à` 2ËMæ`IÓË>½Ê{ßÕÀï,×Ñœi×:7ƒ}˜uçjpù›bª—¢aE'B!T;±ïë4i-'H9ù“WWÝ‚ß/ b¾ÿ‚ik¦8MsÆg@i²s÷ß×ØÒ†utÊ»懣\`¼#ônWcüMÍ«Y.ýGÞ«ÞƒC4„B¨v’² e9) )°C6 ‘r)‰ä”åX®Z_“³¸ÐXmX7 êȦ©«ÆB]€‹Ióâý§¥÷—Vã–Nš KN•ž-ƘU÷•½~ðls²É.² –¢!„Bÿu,Gƒ0“qR–‘r ×ʦƒ”eªùuÅŸ¥Ì è[fthlÈhdÀ ·ƒ ©Œ¥ @~ürêƒ%¤C×ÊÌóÔ=8| @_Öa´…Õ½FdÛJÙ²mKJ×X~sØ !„ú¯c9FÊ–>;’! bKñ]úȧš{\Rf>ŒÝ;ÇC3chZ–“o}io`ê~xñæƒïÒ‘Ý$¬ì<—†B' °j íÁ"W˜w¼úÅë.Pö4˜²Oµ£Ž¥h!„Pí$e¹ÒÑH£(¤\iý ””B•M¬‘×GY0l3l‰(-NãË-„í—`èf¸Ÿ¡à»P6ä›Ìôwb˜~ ŠFÛC›j_/–ὂ”åèFf)«úTu÷1ÙÙÙUw0 „BH#ˆÅâ+ëéq¼AïÊFç翯q:ZЮXÔ‡õàŸxñd@QIM/ÖÇ)ÓDvbAÄ/H‰DÎ+:B¡Ú‰7.Ú8Vƒ¢´wbˆN…èÔš^Žª@£aŽU0*| …!B!T;±°\Ù8ªe!e%jœFÄgµ ‡ùñYipV¶ñUo‹†!B!T;Ñ–[¼ujÊøµµ”ÌvÙM­zXŒ!B!T 1 £/*)fµWŠÆhFÍf-öþ!ê\Ù6'–äcôu$ £RA†h!„P-$ Ûš¼‹Î2à}Yƒ%hÕâ}4Lë—X)´5- …ªÌC4„B¨N-ÞÝÊ0Ôâ¯UZÂ#WÇàkU¼‚Ü~8Ì€D =,ß wç ÑB¡Újh'éÚK dFA%ÏPâxûæðµŠ^¡´Z“áOà8)HJ`h')¨C4„B¨vjÕH´ñO½NµTwÊ Ö…5žŸÙÈï=Ã+©6 Öª‘žŠóÁ !„ª„B¡kg‘”Mžyª•€FLYq?V{?”¾~ô+Ð&hÀ²À±À±ÀJaãÿ’]ítUlˆøt„B¨cY¶¸¸8éŻӱÚ×R þc[¬]Ó õb¨#nk’ïØ,¨­¸…žŽŽŽ@¶Ö¹\¢!„Bµ˲%%%b±X,—””H¥RÞ¨ Ã…Bmmm‘H$‰´µµUÏ+:B¡ÚM èèèhiiéèèpGâ3~”†[UáxFÞ3 C5Õë7) ÑB¡Ú¯rQªAj¸!„B¡ê!B!„ÆÁ !„BHã`ˆ†B!¤q0DC!„Ò8¢!„Bi ÑB!„4†h!„BC4„B!ƒ!B!„ÆÁ !„BHã`ˆ†B!¤qþ*†ÝÃ4ø•oIEND®B`‚traitsui-7.2.1/docs/source/traitsui_user_manual/images/SetEditor_demo.png0000644000076500000240000007441014046644454027365 0ustar aayresstaff00000000000000‰PNG  IHDRޤ(`>^%Ëf³Y­VUUíʳ— ðE±+á<;2þ^…Ç9, “Éd6›M&Siw*4§ÒîT,®düyRŽÆ¹œ»êu-Ã\ÚÝ© ÆµÛ]Ú]@®ôÛlí×n³oç°ÀE1›Í...®®®îîî®®®¥Ý#¨ U@ QUuç‰ô¹Uóp7g©â)UùÑ®”tìØ±´»€[‹‰‰‘   ÒîHÆ9,€´´´+W®\¾|9!!ÁËËËËË+û(@q#T%dç‰ôy»«UvWÝEQTUµ©""Šö_í'Ï;<áãM£ß¹ç—€€€€€€óçÏkÃR¼½½K»SP᪀’pþrƜժxˆ[%ŦТÝ9+ЍªMDÉŒS(bSUQ‹öшqðò#00PD.^¼èììÌL(a„* $l;©¸VWgŦª"¢jÉm™wÍYÿ£Š¢è»<Ù#³ôH``à•+W®_¿N¨J¡ (v6›íÐg'±eÅ&D½1ßCŸ¤ ¢ 7ÕÅŽYçnCåÊ•/^¼h³ÙXJ¡ (vV«5êŠWe/m…1‚ªª¢å­PŲEÉÿQQmœdùåëë{æÌ«ÕJ¨J¡ (vªª&g8UQ›ªOFP%ë÷}›MQ$3yEfØ‚Ç"|´ûc”ôŸ@Yæêêj±Xl6[iw*BPl6±Ú$kÐDÖ U^a˜à©ÊÝãM‹~¨¬à¶X­ÖÒîT8„* $ØT±©¢ª7’S(Jæ®–:!+¥¦dÝHóXdÚ¹Íz$W€ÛCj^(y„* $ØTmT…FÑÆ QD¹ù¾º>6PêúK†U~=¦–Øëæ4Ô9Ø¿ÿ¡C‡\]]zè¡ÒîK‰²Z­ªª:9Ëu‘ÕjýþûïUUmß¾}ƒ Šã%A±žÃ ûÉ€ ‹P”«M¬¶›ç¨Y»ê’›6 õü•žMY¾×v!1ç:.fyª³IDvVÿ:­æXÇÛ×Uú´P®§ËÏG­y×|¸RÕK‰¹¢®Ø§þuo̽)êaŸ~úé… 4h0|øðÜêDDDlݺÕd2Mš4É‘Çu¬[·nÁ‚^^^yß;vì›o¾‘#FÔ«W/BGf±XÖ¯_¿téÒS§NÅÅÅ©ªZµjÕÚµk0 W¯^...EõBiii'N‘7ß|3ïPç07ùüdŠÈìÙ³Ï;W·nÝgžy&ïB€##T%!3W…–ëÑPžÏÄ Õ¼¤[#ED~9¦œ»œó¨³)³N|²ì8é¸#ôõ7¬·ÊR×®®RÇOùû‚,ÛSdoçF Ó¢³nݺ“'O¶oß>PÅž={–-[&"'NtäPE>={V{;}úôÑï¨s,tX‘‘‘ÿþ÷¿Ïž=k,ŒÝ¹sçÌ™3gϞݼyóîç°ð6nÜxìØ±Ö­[£9¡ ( 6Q¬ª¢/?‘5ïCÉÚU%kAœÏŠoØT±ª9W³ªrË:Ž@Ÿô}ëNªÚ ¥oǰ HašAù±wïÞ#F\»vMDÜÝÝ{õê¥Å¢¢¢Ö¬Y“””7tèÐÏ>û¬S§N¥ÝYÅ9+BP´QªšÈŠMÜRh7Ò¹%o³ÚD‹kXmb±æ\Ç’•¢Þ¦æZÇØ2·î¤6EFUÕ¿mÑR-1Þc‹ˆ‡‡Ç´iÓ´qqq³gÏΣ©¸¸¸ýû÷'%%Ù•_¼xñàÁƒ.\(ê¾;Šâ>‡ó“ 0bT”«MµØUE•̹ªˆ¢Š(ŠØ2Gd®¢-bxÔ\XÕÌ»ýìuŒ“Dô:ÏwSú´0=/o/·½xÒ¦¦©²‡ÖÙvBõ«šxݾFʰNJXm“>[â|¢,ß«®ÜwSß¼]%üY³ˆŒÿI ®,½[˜jU™¾QÝxXTU¼]•]”{›œÌ""ªÈŽ“ê—ÜÓ`±åð.Œú‹MÍ»æ-ÚÑWQE5œÿRwéÒ¥.]ºˆÈܹs“““¿úê«C‡Y­V xã7zõêewˆÕjýüóÏÃÃÃãããµ''§{ï½wôèѵk×6Öœ4iRxxxË–-?øàƒÉ“'ïܹóúõë¿þú«V!11ñÃ?\¹reFF†ˆ(Šr÷Ýw¿þúëÅý®ÁªU«DÄÅÅeÖ¬YUªTÉ^ÁÓÓsöìÙ?üðµk×V¯^ýú믛L&¹ùOvòäÉððð'NˆÈ”)S¨»qãÆ™3gžl÷”~¯¨;zô¨¶a7 _D¼½½CBBr y”ÚFößùí\¼xQÛpww·{J›ªc”ššzêÔ)iÕªUö+¢°°°òª(¦sèÈŸLS–Òê”!ªªªªjµZ¯]»æááQà@AÁÿÍMII±ÙlÚ?ÜÄ) o6U¬6Åb«íÆ’™Y«–*V›hOåöh˜Ü‘k=;¦j¨£¥¿HL‘´ ûú©"™c‹Uêú+N&‘ÈX5{ËÿÄe.Ú¸º’Yž¹žnßrƒj""ñÉrùZýŒŒËìgïW{Ìœ’š·zT-VÉz‹ƒÄϾ€BöqæZ¢Zµjv«Bj´xDtt´ÝŠzž £cÇŽ‰HÕªU}||²?Û°aÃÛèzäïï¯mhç!ÿý·Ý!ºì ÈÈHmŠGŽ'°Q£FèªÃ*¦sXÁ?™Pn(Š¢E TUMII)p;Ua±X,‹Ùl&À ù‘µˆN»ÏÏoê}K®³!ôe;¬ÙÒjJNs(ô×ÖžÊ{މ1Ff}ý%ìßÚ-Vî°åÞ¥œÁ Å;ªBû*´ ØÉûÙ[Ê;ˆþƒA~’qhurû¡ÜÿöP½zumC¿‹Îþ#¿>È%Ž™¥˜ë9¬°ŸL(g´«#-n`75¿-ì…ÓÓÓ™ôùgS«ªXlbUÅbmêš´]«ªýG¯cÿŸœùïmËà\ë´ Î¬sñªª—Û²’cd¯¯ß[i%G/dDêUÍ¡ýÚ~™7ú‡cD/Ï|kb_ÿØ‘ª^âî’Ãë†T»éuóxÔ{ܲfÞÆÓnÉ=/iiÃ""##“““s«³gÏ­fÁBüÍš5‘¸¸¸C‘‘‘"œãÏÑv´L‡¹5uüøñt¯ iÓ¦6aß¾}yä>ÈÈÈøë¯¿D¤R¥J;v¼e³ 6Ôh ;åì¬Ó9¬àŸL(´ˆAzzzÁ/`¨B›úA¨òÉj«MÕ&zØTŦj“>T‹U› ¢M«Mµ©9<žŠÏüÕ¶C]±©9×éX/óµN'Ü(×JTÉ¡¾¾¾†V’š!ÇcEDš×ìí7¯‘Ùø³7Ê5Ùûsä|æsÍkØ·ãá"!UozÝ<%kÈ-kÞêñ¦ÿØr]¶€êÔ©#"V«uÇŽ9VˆŠŠ:wԮ]»`/¡…*DdÿþývOeddè óÓ”¾Àä¾}ûìžJJJÊñN»5yò丸8Éw¨"44Toʸ.ƒªª¯¿þzù^þCóïÿ[‰±`Á‚ìÂÃ×,Y""&“éÅ_Ìg³ÚöþýûçÏŸo,ß»wïW_}UØN;˜â8‡|2 üQ ±T|¡+ä“MU¬Ú"Š*ª(bSE›¦ª¢ˆ"Šö¿¹=N^+ Ÿ_7y8LªxȺÃÊî3’š¡´©%w5Pi+"’a• +%ÍrÓ±zìÚÔ¿7,¶Ì’Ù›¥[# ð–ÿô*Êæã’x]i_Wž¼Cñtyw•XlŠ*¢ˆbÍ:^U½íñd¼òíÒA‚|dþ“Êw;e÷%¤š<ØR¹Û^Ðî¨ìÆ)*·|ø¿þõ¯Ö­[7iÒäôéÓ{öìY¼xqTT”ˆ´k×nÀ€{‰ªU«þûßÿþüóÏcbbFŒñ裆……EEEýüóÏÚ a£F{ì±ü4U»víÁƒ/^¼øüùó#FŒxì±ÇÚ´isâĉU«VmÞ¼¹`Ý+[BBBFŽ9kÖ,™6mÚ±cÇ{ì±úõë+ŠròäÉ~øá§Ÿ~Òj>ùä“Í›7Ïg³/¾øâï¿ÿž””4cÆŒ„„„nݺyzznÙ²å›o¾±X,ÅõfJIqœC>™#BP¬6Õª*Š!Ï¥hwÏ™Ó02G((ЍjÎÏÊc_Ê¢§ÄßSº7–îí_"Í"Ï-’ߎÛ+Úվܰ¾FfIôeyr,yN¼\å™.òL—›ÚŸ¾Q~øëF 7mZÐ'¬’Õ¤}]iVC¦nϯ\—ˆƒ2¤ƒvNòz¿ú‰RóQóVíØ¥ÕT‹<ÅæäÉ“ÝÜܾýöÛÄÄÄO>ù${….]ºüïÿËqIŽ|zùå—ãââ–.]zèÐ!»U¿üòËüŒ±×Œ7îŸþÙµk×áÇǯ—ûøø<ðÀáááîdYñ /X­ÖÏ?ÿÜjµ®X±bÅŠÙë >üµ×^Ë›uêÔ™6mÚÈ‘#­VëW_}eI1dÈŸ~úI_z¶|(ŽsÈ' cý( ªªXmª6#Ãj›zcÙQ›ªèùôÔ9>>'}.DÞ˜Ö¡;pVž˜/?µ?J›ìckÖ¬§Œå‡cdÈ|ù#ò¦ÊÙË2a¥|¼é¦šY¿gXrh?-Cž](K÷ÜÈa©ª²é¨ øL´ÅJóó~3;Ÿw|<Þœ¨âÆÔ•"¤(Êøñã_}õÕªU«Ú=åéé9dÈÏ>ûÌ.N¡ç×ÔÒ1Úµ–ãS'N|þùçýüüô³ÙÜ£G T«VÍXS;0·žNNNŸ|òI¿~ýôöEéÖ­ÛâÅ‹ëÕ«—ÇvíÛÕ̱Ð1)ŠòòË/ùå—9¦{l×®ÝgŸ}öÆoؽ‘<þdš»îºkÚ´iµjÕÒKªT©òöÛo¿õÖ[Ú!¹¨«àç°ðŸL½Ž]û9™_€Ã’’’X©ò)===lF=7·žÒü—›\ä-À[B%À[œÌ›$‘qrº ÿ–çÅËU‚+‹Ù$¯JÜÕÛè›wg©í'ª*Q—äz3@»Á1× Y­ÖC‡?>!!ÁÇÇ'  E‹...·>òv^"..îÒ¥K®®®AAAn9~°ò'%%%::ZQ”ààà´SLbbbD$((¨X_åüùó§OŸŽ‰‰±Ùl5jÔ¨]»v5nyTTUMHH¨\¹r```éæ /£çÐÑ>™6l¨_¿~Ñþ*›ÍfµZ½½½ p,¡ (vééé­§×ssËšxuÜ™>á6ã¸]JæoœäØi¥×ä[ÉÜf—oœÃ"A¨ ¦0¡ rU@I°ÚDÏC™™ÙQO˜@¢Øs80BPìL&“g¥ôt›³FU(Œ¤(AJV°B!Zàv¤¤¤0”J¡ (v&“©A•kûœMZN·¬…ˆŠG„Àm‰wvv&%'”0BPìL&Óµ“wÇUv2þ,—ù+ÿͳTC Eõ(9m@>ÄÆÆº¹¹1ªJ¡ ( ½š¥ò§ˆ"ö—»ªˆdÎ1–ðXÄ"¢f…)U N:uõêÕêÕ«—vG Â!T%¡n5§é÷ÿ=f]#“Y´i ú™nŸ‹›vÂ9ÏòéäÉ“gΜñôôtww/í¾@…C¨J‚Ùl¾¿…Ùj;úêº&&›(&Q²†WcÚ6Eþ(¤¨?ׯ_‹‹»páBbb¢···¯¯/‰* äª€âììÜ«¥Ú êÁ5‡]wDûF^öIJw.íNUPááá¥ÝŽHQ“ÉäêêêáááïïïíííââRÚ€ŠH‰/ÀaIII¬Û·Ëf³eddddd¤§§gddX­V•ßúKœ¢(œv9REQgggggçJ•*9;;s¹ f³Ù¬V«··wŽeT”“ÉäââÂot@ˆB¨8BÀª„Pp „*€!T¡ à@UB¨8BÀª„Pp „*€!T¡ à@UB¨8BÀª„Pp „*€!T¡ à@UB¨8BÀª„Pp „*€!T¡ à@UB¨8BÀª„Pp „*€!TQ”RRR®_¿^Ú½¨XJ» ”1åþŠ…Ë(ëU™iÓ¦………µiÓæ¿ÿý¯±üìÙ³QY222 Öxrr²ÞH|||1R¶üý÷ßýúõkÕªU¯^½44TDÒÓÓëׯ¯WûöÛoïºë®´?uêÔÙ³gkÛaaa?ýôSq’iiiù »¸ºº:99áë=ÿüó«V­Ò¶{öì9oÞ¼bz!r“Ï/D—J•*•@n)·+–ÂSUõÚµk·¬VÜ×iE{yÇß·X/r ¦X¯ý l6›Õjõöö.À±Žõ/lÁ̘1ãÿûŸ¾[©R¥½{÷úøø”d"##õo}9|øpQ}ñ;¦ÁƒïÚµë–ÕÆŽû /SŽ?®o>|¸˜^€<äó qРAÓ§O/þÜRñ]±lݺuðàÁ·¬æìì|âĉ"yÅíåAßJ•*5hРI“&]ºty衇 ùB;1,¢V¬XaÜÍÈÈX»vm ÷á¾ûîó÷÷×¶½¼¼zõêUÂ(aÆ«œÂW+˜Ç{Lß¶»6š>}z½,ù¹l `á 1»<¾‹ïŠÅANEÑ^äÑÛŒŒŒ#GŽ,]ºô•W^3fLzzzû Ȯ̪ػwoTT”]áŠ+Œ_T% R¥Jëׯ‘GyÄÃã$_½bzê©§êׯÿË/¿Üu×]Ý»w7>•žž®×4N "Èã{°Ü_±”ÊåÁ’%Kœœœ>üðÃ"l*¸2ªX¹reöÂmÛ¶]¼x±jÕª%Ù“jÕª5ª$_ÑAøûû·oß>ǧ5jT|¯k2™î¾ûî»ï¾»ø^€üËã ±uëÖ%Ü™<”ÌËwÜQ¹råìåÎÎÎÅúºÅwyмyóçŸ^DTU=pàÀ¦M›þùçýÙ7ªªª(J‘¿.TLe;Ta³ÙôP…¢(ÕªU‹ÕÊW­ZõÔSOé5Ož<¹{÷n}÷¾ûîóõõ56õóÏ?_ºtIÛ®^½z—.]ô§Îœ9³aÆsçÎÅÄÄxyy5iÒ¤I“&-Z´ðòòÒ뤤¤¬^½ZßíÕ«W>¦°X,6l8zôè¹sç®^½Z¿~}­ý† æ} ªªÇŽÛºukdddõêÕ[µjÕ­[·Ûú‚ŒŒŒ\·n]ttt|||•*B6 IDATU‚ƒƒï¿ÿþÆç¿MXXØ_|‘G…k×®­Y³FÛ6™L=ôÍfÛ½{÷/¿üréÒ¥Ž;0 ..î·ß~3Ö1¶pìØ1=‰·ŸŸŸö#É_ýuêÔ)­°N:íÚµ‘ƒ¦¤¤DGGëÇ^¹reçÎ"âêêÚ¢E‹Û}wäÓ-¿6oÞ¬ïvêÔIß׿ E¤E‹ 4Ðw-˦M›öìÙsþüùÔÔÔ€€€zõê=øàƒúlÍ-¿oyÅ’’’²nݺC‡]¸pADš5kÖ¼yó-ZÜnR´wß}7ï,eîò ((¨OŸ>Úvß¾}Ç7qâÄ/¿üR+‰?räHÓ¦MíŽŠŽŽ^½zutttll¬———öGïܹ³ñší×_Õó܇„„[üñ‡ö‡‘ÐÐPcû¿üò‹¾&k³fÍš4i’ŸweEÙUlß¾=..NÛnÕªÕwÞ9kÖ,mwÅŠÆPŹsçÆŒ£ïNŸ>}РAú®Åbyá…ô´ÕO<ñ„ªˆ‹‹{ë­·6nÜh³Ùì^ÚßßÞ¼yaaaÚn\\œ±ýV­Z//r>cÆŒóçÏgjðàÁ“'OÎ-[ø•+W~øá¿ÿþÛXبQ£yóæÕ©Sç–¯{ùòåÑ£GÿüóÏvåÓ§Oïѣǜ9sŠ6KyLLŒñätíÚµoß¾gÏžÕvããã °ÿ~c»k‘5kÖÌœ9SÛnÞ¼¹v-²páÂeË–i…}úôÑ®EFŒc<öŸþÑZ«Zµêž={Šð}p[œ'Ož|ñâEm×ÕÕuË–-ÚîG}ôÝwßiÛf³Y_ÆBDÖ­[÷æ›of_µmÒ¤Iƒ~÷Ýwõ¡ ·üÌûŠå믿ž:ujrr²^¢ý&äìì{œBDâãã ¤¯Àܹs_{íµã"²xñâG}4ÇMׯ_òÉ'íâ"ò÷ß0@W’‡øøøÞ½{gSh6lØ0jÔ¨ßrQ=z´ñO@áååõÞ{ï黩©©ü±¶}âĉ~øAêé§ŸnÞ¼¹¶ýå—_>óÌ39®.o±X.\øðÃINlj'¾ýöÛÆ8….==}Ô¨Qz\ 8”ÅËc‡ÝÜÜš5k¦ï^ºt©wïÞ9&挊Š4hPDD„¶k\ÉþÀÆöõ8…ˆìرCߎ‰‰1~$ŒÃ |(á ‹Å¢‘ûï¿¿U«VúOrs Ãl6ëcöDdË–-Æ»ñßÿ]ßèСƒˆÌž=Û8PÐÛÛ;,,Ì8é#==ÝJ¿-ñññÓ¦MÓwM&Sƒ ì2;ìÚµ+Çõ±Ž=š[ø?>>~òäÉy¿ôرcï+((¨{÷îÁÁÁzÉêÕ«ß~ûíü¼‹‚±‹­<¦À0}PêúöíkL£®ÍVøè£,‹VX³fÍÿüç?Úö¦L™blÁÉÉÉn.ÆÞ½{§Nªmø{ð·ß~³»ª©T©’ÝÜ3fè.Š\Ùº<8{öì÷ß?nÜ8½ä™gžqrº1Zùõ×_?}ú´ñÊ•+›L7.¼-‹>b¢sçÎzyBB‚1Æ&D$>>^ÏŽaŒhÔ¬Y³V­ZxàÈÊðÍ›7_¹rEÛ ©_¿¾ˆôèÑcáÂ…ZáŠ+^xá½~¿~ýþïÿþOÛ¾|ùòÁƒ[¶l©íC}ûöÕ¾H~ùå½ðÑGýè£E±X,S¦LÑ¿Ë÷ìÙsíÚµdÏþóÏ?SRR´m//¯eË–iI"Ξ={ï½÷êC<¶lÙrçwæØÂ˜1c~øaEQ–/_nÌ8½jÕªiӦ喳êСCëׯ×wŸ}öÙñãÇkÛ“&Mš;w®¶½páÂçŸÞ¿ÈÃÙ³g—/_ž½¼F¹e«S§Î°aÃZ¶l©(ŠÙlÎÏ«äÓš5kÒÓÓ?ýôSýcЬY³ ˆHÑÎjÀÎÏ?ÿ¬é7R%""BÏö=yòä{î¹G» °X,}ôÑÈ‘#¿¾¼ÿþûnnnÚöǬ‡0DdÔ¨Q#GŽôððؾ}ûÓO?­€X°`Á‹/¾X¥J•Ξ=Û¸;a„Áƒ;;;ÿñÇ£GÖóy­ZµJî‘·7f*"÷Þ{¯ñ‡#¿<ؼys×®]E$%%ÅnTì#<¢G—$ÛåVppðܹs›7oÿþûïëÃg®^½úå—_¾ûî»uëÖ Ö#ЮÁìBZIHHˆˆìß¿_/dH€r© ‡*Œƒ&î¿ÿ~m£gÏžú—ÐÑ£G###õ˜aaaƯßÿ] Uha ½©~ýúiK–,IKKÓ¶«W¯®ÝœœFŽ9oÞ|øð‘#GGgüôÓOú¶ÉdúôÓOµøŽ¿¿ÿ”)Söï߯qV­ZõÎ;ï˜L¦Î;k+ÈŠÈþýû{õê%†PE¥J•´DÛ·o2dˆÜª0Ê€r£¬NIIIÙ¸q£¾«‡*:uêäéé©—¿*EÑ’Phô„ÒÆÉ µjÕjÕª•¶íïï_#KjjêÉ“'÷íÛ÷ÇìÚµËømd—B)Ÿ\\\ôÆ}||Ο?ôèÑ;wnܸ111ñ–SL‰ÈK/½dÜ=vìXn¯k.èìì~3ãXŒ'NÜî›Ê§aÆÓ…e³Ï>«/¹¥ªª>ª¿råÊ&LЫýý÷߯+!C†¯@ `×yèС÷'22Ò81vðàÁÆg‡º&‹6¡8”Ý˃ tèÐAÏì.7ÿ-5jdkãââòÈ#è»qqqZšUãÈ- qñâE=22tèPmC ^h«¥j%Š¢ä6Ê´²:ªbÓ¦Mú, gggEQô‘!!!ûöíÓ¶W®\ùÚk¯éGõë×ï³Ï>Ó¶wïÞœœìééiœý¡©ÐÄÅÅ}þùç¿ýöÛ‰'Š#ÓäÚµk-Z´oß¾¤¤¤üåïïo÷]îïï_¥J}pf¡ cÒͽ{÷îÝ»7·šz~ò"—ãàXʺÀÀ@c #»ìNNNS§N0`€]ÎÅ &h¿ÿkìReks]êÕ«§_ÿÜ2¯vì¾ôëÕ«g×Û|Nú( Ç¿_EO¥qKmÛ¶Íq,hn_œúü[Ê“-Z|ðÁù¬Ö°aC»lv#ùË“IN_¬Æ»Ê·åúõëÆ]Ÿ7¥û裲ÇVDÄ.‰¸Îñ/*W®l\ããÎ;ï|ôÑG~øa}ºî¼yó´P…ñoQ¹re»vìþŽZe??¿ÐÐÐÇ‹ÈÕ«WO:¥‡*:uêÔ´iS-<±}ûvýpf(¯Êd¨âêÕ«¿þúk>+¯X±Â8%²ÿþúäÉÍ›7׫WO_ªaÆúhÌäää‘#Gã 6lß¾}åÊ•}||þûßÿò-Ìš5˧ððð¸óÎ;k×®íëë»mÛ¶­[·æqì©S§l6›1‰´ÕjŠŠÒw³ÇïuUªTѧÑvïÞýÞ{ïÍ­f>sjŠˆŸŸ_‘ÿrýúuwwwãnѶ@éZ½zuö¬“&L˜3g޾k7ˆ2**Ê®äÌ™3ú¶qQöÛ•ý…ìV@‹-BCC ÙˆG»<¨T©’1TqòäImˆ„¿¿¿žwÓx…¦1þÕÄð‡ëܹ³ª‘ýû÷C&“©cÇŽZªÎíÛ·cIÆ…N <)“¡Šµk׿ýðU«V½ýöÛúýƒ>¨‡*~ÿýwã]}ÿþýõí 6×_²dIÇŽµí„„„‡*6lØ owíÚuÁ‚z길¸¼C)))‡6Å<|ø°ñ„è—ìô‘ŠúÔÇRgŒ¼ˆÈÖ­[ï»ï>}Wïs§à’’’ôD•F›6mÒH°ËûxôèÑÖ­[ë»ÉÉÉÆÕÇëµåç{ÐîØ£GCñññ‹/Ö¶]\\ò™u»H8þåÝ(Ô .T¯^]Ÿ˜süøq»_˜ìº­Ÿü.]º|ñÅÚöï¿ÿ®G²î¸ãéÔ©“ªØ±c‡~ˆ³³³ãOœ€‚)“i5É2;vì¸2›'Ÿ|R¯páÂ…;wê»uëÖmÑ¢…¶}úôi}­ ¹yö‡qÒ¦‡‡G›6mr|õ3&­ìСƒ§HNNÞ´iÓ-3fŒ>â#--͸>–ˆ4iÒ$·‰—~ÿýw»Hÿwß}7>‹1˜RìÆˆ_}çÎÙëÊ¿#GŽ£N”º)S¦èWM›6íÔ©“þÔøñãõÁ¡¡¡Æ±3f̸|ù²¾;a«ժïêë†ØÉÏ÷`hh¨qžÂûï¿oœÂðÁ|˜eíÚµ·|wEÈÁ/ŒK°ijÔ¨!7tˆ‰‰Ñ¥‰È?ÿüóõ×_ë»­ZµÒó˜´oß^OpþÓO?iYÒBBB´™¿ú%Ü™3gôqíÚµsuu-ä»ÇTöFUÄÇÇoÛ¶Mßíß¿¿ñ‹‹‹ñk`ÅŠú˜í=mòñãǵ–-[Ö®][¯c\ìóÚµkï¾ûî!Cœ×¬Y3cƌ¿‹&MšìÚµKÛþæ›oêիתU«þùgÊ”)ú„”<;v¬W¯^={öTeÆ Æ¤Õ«W ÊíÀ¾}ûN:Uû%!11qðàÁ&L »páBDDÄÿþ÷?½¦1pSêÔ©S¹reý ,<<<--­U«VÇ_¹reþÑhŒvéééÇðÁzôèQ”À`ÇŽ?þxŽOÝ}÷ÝÏ<󌶽sçÎï¾ûNêwÞñõõ}à´[Ó³gÏNŸ>][MÜl6÷ïßÞ¼yZÍØØØ!C† <ØÛÛû·ß~[²d‰Þˆ¿¿¿q ‰ÛýtrrêÝ»·þûÍ™3güñ‡~Ø××÷×_]ºt©^Ó.yqs¨Ëƒ3gÎ|ûí·Úvrrò©S§V¬XaŒw´lÙR{‰>}úLš4IïÞôéÓ/^¼Ø¡C‡èèèE‹b<ôÐCú¶››[Û¶mµ«\}Ї6¤BD6lèïï¯å#ÓŸ%Q€r¬ì…*V¯^­ÿ†`2™zö왽NhhhppðÙ³gµÝˆˆˆI“&99e¾Ù¾}ûþ÷¿ÿµ[ÑÃî«·]»v...iiiÚîÂ… .\X„ï¢sçÎz¨âÂ… #GŽÌÿ±NNN‹%222222ûSƵ²² z饗fΜ©íFEE=ýôÓÙ«uéÒ¥äǶk×ÎøkÉòåË—/_®m›L¦ÛZÅ.e×öíÛ·oß^µjUB€âsåÊc®n#}*GFFÆo¼¡/üqß}÷iC* ®Ο?À€ZÇ1cƬY³&&&F{êàÁƒúÌ£>ø@¿Î‘}¾úê«k×®MHHÐv÷ìÙ£ÿt¯swwïÓ§On-ǹ<8vìØØ±cs{ÖÓÓóí·ßÖ¶ýýýÇŽ;qâDm×b±|õÕWvã/D¤E‹O<ñ„±¤sçÎÆäDDq£(ÊwܱjÕ*ã³Æø”3eoˆqí°°°Ü’HC—/_6®HZ½zõöíÛ++ŠÒ·o_c‰‹‹Ë„ ìfHjºuëVøÌØÃ† 3ÜÐi?kä}l¯^½rûÑæ­·ÞêСCÞ‡5jàÀyTh×®]þ˜¡>ø Ç$^.../¼ðÂm5Õ¹sgýWǬY³´•ÈDÄÉÉiܸqÚö믿îáá¡m[­Ö±cÇj7á^^^óçÏÏc¼¤Ùl7nœÝÍv¾ýýýçÎk—_Ó(((hùòå…IÞY0eâò V­ZvcxGŒ1|øð<iܸñ_|a 0I¶™ZxBß5NŸXDJK U\¾|y÷îÝúî<[M»Ñv˂ڡhß¾½]æ*:tèçŸj6›µ—^zé‹/¾ÐgŠˆö¬^ÇX("Š¢ãz¹¿¿ÿ?þد_?ãÔа°°ððpãX>½¾±''§÷ßÿ¥—^jÔ¨‘¢(Za@@À»ï¾«.µ;ÄØ=''§O>ùdæÌ™v_o&“©nݺ&LøñÇkÖ¬)y²k0ïÊv»s¥ó÷÷ïÒ¥‹q¹²Å‹§ªê­Û±kÓd2}õÕW“&MjÚ´©žD¿ ¨äö¥–cµ .çZ:Tÿ‚«ZµªñÆ{ÿþý?þø£¶Ý¬Y³µk׎1ÂnÙK³Ù|Ï=÷|ÿý÷ÙÇfæñ=˜Û‹ˆ´oß~Íš5?þ¸§§§±NPPPß¾}#""ò^ÑîåòqyÇß×ÅÅ¥E‹?þøäÉ“W¯^ݰaC㳊¢Lœ8qÞ¼yÙC |å•WV®\™}µµfÍškذ¡1xdªÐV±{ƒùé9” Š6çív%%%™Íæ”?×®];uê”——Wpppqü»úôé”””5jèy•òïòåËgÏž­R¥J```þçÏŸ?wîÜ¥K—4hà ™™,Ë¡C‡._¾¬‡c ,%%EQyw€Š,##Cß¶»”RUÕ¸,Eö ­ŒŒŒÓ§O_¸pÁf³U©R¥fÍš¾¾¾ùyÑÛýLKK;s挶ÜfÓ¦MK~$EŽÊîåA|||ttô•+W\\\k×®]A.¡Àf³Y­ÖÜç ¡ Pä ª Ö¡ à@UB¨8BÀª„Pp „*€!T¡ à@UB¨8BÀª„Pp „*€!T¡ à@UB¨8BÀª„Pp „*€!T¡ à@UB¨8BÀª„Pp „*€q*íÜž%K–”vȯGy¤´»€âÂ5   )s×$e,TѸqãæÍ›—v/¸…ƒ–vP¼¸&” eôš¤Œ…*45ßµ•vÈ[Ó5.í> Ø—vÈKppðÚµkK»·\Àª„Pp „*€!TH…Uø¸™<\Çi”ÏPE¯9á“à„O‚äºëÝ]ÏO¯q~z–5 óZEÕòª¨dVªx˜ªx˜*™sìг©«›³âåjº»±Ka^«¨Ú"’ë ƒroÁÖkw5tI·È»®;B;@*r¨âï Þuœv€”×  Œª@¡ 7Óæ×bgÖøçý ZUœBƒ*Åά;³FU/“ˆtnà;³Æ…5ü=oœE‘cÿ ŒYãí>>ƦÆôðŠYcë›"b×(ŒŠrwíífZ?ºZ×F.n•”aó¢.Y\œ”j^æj^f'“""û¢Ò}ÝLÞæ»ºêGµ©åܨz¥j^æþ­ÝŒ­õlêVÍË|4&CDìÚ…Q!BÞn¦õ£«v¨ç|5ÕvÿÌ‹ÛN¤e¯“œ¦ný'MDº6º±ÇýÍ2Ãmj9ëƒ&œLÒ)ÄEDÖJ-ö®PÁ”ÿP…—«ií+U;ÖsIJ±õÌ%N¡ÑB]ÞUôlæ&"1W¬Š"=šf¬«ãìé¢Xm²é(¡ ŠX9UhqŠNõ3ãæ§‘õ‡SE¤y°sew“ˆx»™î¨ï’˜b›‘(†]ºŠÈŽSiW®ÛŠý PÁ”óPÅ÷#ýî q‘‡>ß~2¯8…ˆìN?Ÿh5)Ò¥¡‹ˆÜÓÄÕÉ$›Ž¤®Ü—""=šº*ŠHÖ ‘uR@Ñ+硊ZUœ´‘]=óS}æWÉF±æ`êÙËÖg3ªy™[×r6›¤sf¢Š”âê4X9U:—±hû5y(Ì}\oï[Ö_8E²ÆMôlê*"k¦ˆÈšƒ)"r3×V5½ÝLñɶÝgÒ‹µçTLåã×0À)ú ɶ]§ÒÍ&™ÔßWDÖÈLHñ牴+×mB\ú¶tfPlÊy¨BsñªmàìøÔ ÕÇÍôÓ‹U½\óz×ÚûBµD™! ‹M6Nu2I·F®ª*“S€bQ!B"²ûLús /‰H“ÀJ GøikyähÝ¡Ì0Äåë6ã¢!zØbÿÙô ‰Öbì+Xù UØT5kãFá7Û®}úóUé×ÊmÌ}ÞúSvY'vžJ»|Ý&"§Zm7Ê×JÕZÕcv‡“½€ÂË+qCÙ}ɪŒˆÊ^þòâË//¾¬ïæXÇj“*£Îf/M²šžÉ¡þþèôÛP>GU€2ŠPp „*€!T¡ à@UB¨8BÀ8•v BW«´»À-¬]{¸´»P&1ª8BÀª„Pp „*€!THù UÄÄÄøùùùùù?~¼´ûnƒSiw Xddd\ºtIÛ(í¾8„¿ÿþ;--­víÚ>>>¥ÝòR>GUÀN÷îÝ[¶lùÃ?”vG¸BÀª( ˜˜«ÕjW˜˜˜¨M<ÉÃ¥K—‹¼? ñññ><==ýìÙ³‹¥»@T PEbbb·nÝBBB¢¢¢DdùòåMš4±«™––ðçŸj%»ví ¨_¿~JJÊ3Ï<\£F OOÏÇ<>>^UÕ Ô«WÏ×××ÏϯaÆ“&M²kÓf³Mœ81 ÀÏÏÏ××7((èÃ?LOO¿óÎ;–-[¦×ÔJæÏŸo×”)Sh,ŒŒŒü׿þåíííïï_µjÕààà~ýúEFFêš4i#"£G8pà€^aÖ¬YmÛ¶õòòªY³¦««kÇŽW¬XQ°3 @á•Ï´šÙ%%%õìÙsÇŽ^^^Ë—/¯U«–ˆ\¿~=...==Ý®²Íf»pႈ¤¦¦j%©©©qqqW¯^}úé§/^¬.^¼8::ú7nœ~xddä;ï¼c±XÞ{ï=½pìØ±}ô‘¾{þüù7Þx㯿þŠ‹‹»víšþT\\\\\\rr²]¯ãââŒ5ï¾ûîsçÎé%çÎ;wîܶmÛÖ®]Û¶m[‰½|ù²öìµk×´Òßòã?®½³Ùìé陜œ¼cÇŽþýûÏ™3ç¹çžË÷Ù ÈTˆQÆ8źuë:uêT°vRRR/^ûý÷ßµ1›Í"âîîîíí­¾aÃñññ™8q¢¢("Ò¢E‹%K–Ì;WDµw@I*ç£*´8ŶmÛ¼½½×¯__È8…ˆ<öØcú¶¯¯ï}÷Ý'":u2ÞÕ÷ë×OÛÐ2D¤¥¥=zTDƯÅ)4žžžS§N-LgÞ|ó͉'êq Í€D$66öêÕ«y®E1§M›–’’¢Ö«WoêÔ©S§N%N(å|TÅ£>ªeÐ\ºtiÇŽ ß`ãÆ»nnn"h,¬V­šq÷СCÚÊ-Z´°kM›mQH§OŸ^²dÉ™3g¯\¹Ï8~üøË—/¿þúëS§NÕzôîÝ;((¨ð½ `Êy¨B‹SˆÈœ9sî½÷ÞÂ7¨M”¸-Ç×6´É F5jÔpuuÕ“wÞ®;v¼öÚk[¶lQUµ‡nٲ套^úõ×_/]º´hÑ¢E‹)Šrÿý÷Ïž=[˸@ +ç@š5köÄOˆÈÒ¥K'Ožœcì÷ùEØýž_›èbccs‹SܲW‹å©§žúã?<==øù矯^½zëÖ­_~ùeþûúóÏ?GEEÍ›7oذa~~~ªª®]»¶[·nIIIùo€¢RÎCß|óÍ‚ ºuë&"ï¼óNDD„ñÙJ•*‰HRR’Ýj,Â>´hÑÂd2‰È¡C‡ìž:pà@öúZ¯âããíÊízõí·ßj)9¿ÿþû¥K—Ž9²wïÞ:uÒ^ë¶?ýôÓ_ýuTTÔ믿."QQQ7n¼Ýv(¼rªpvvvrrúá‡jÕªe³Ù† ¢OÇ‘ÐÐPQUuçÎÆ£–-[V„}pwwoРˆL:UÏ^)"éééï¼óNöúZ¯¶oßn,vìØÝwßm¬Ö¦M›öíÛ‹ÈÿýßÿÕ¨QÃËË«nݺ?þøcçγw@K)zêÔ©;ï¼ÓÙÙyïÞ½"òÒK/ùùù¥¤¤ôíÛ7((¨Y³fUªTÑR]Œ=šÅJ¥¢|†*ô| ÆÄ Æ 5j”ˆ¬X±B71~üøqãÆ‹HZZš¢(ƒ Z¶l™‹‹KŽíØ­¢•Û¥‡PE«f,ÿâ‹/FŽ©5+"f³yøðá+V¬ÐKt5jÔX¿~}§Nœm6›Åb Z´hQ¿~ýìzò믿:ÔËËKD’““=<<Þ~ûm=­¦±«ãÆ;v¬¶ŠªÅbÑOmРÁÁƒû÷ïïååuþüùÇ[,–æÍ›ÿðÃ}ôQ>O5EKÉž¾1?’’’Ìfs28ÒÁƒ›7o®EŠVTTTbbbýúõÝÝÝ‹¼q]JJÊ©S§l6[ýúõµ^^^ÉÉÉß|óÍСCí*§¥¥9r¤ZµjAAAy,’j³ÙNž{úôé•íÓ§O_°`Á 7Ü0pÿÿøÇ§Ÿ~zåáòåËgΜ9sæÌgŸ}öÇ?þqeû›o¾¹dÉ’ûî»ï–[n©ôŽyóæ}ò“Ÿ¼þúëÏ=÷ÜW_}5ݸzõêßþö·‡~øC=´ÓN;U^áÊ+¯<í´Ó*.\xýõ×Ϙ1ãæ›o>ꨣ*ÛçÌ™ó‘|dùòåéÃÞÞÞxàÐC=餓–,YÒÒÒ2hH?ýéOüñ$I*Û—,YrØa‡ œ¹°`Á‚ <øàƒ·ß~û?øÁoÔªU«N=õÔk¯½¶²ó+¯¼rê©§.[¶ìþá*O>ùäûtww?öØc=öØóÏ?õÕW‡:;;Ö„ô~å(†~ø=ôÐ_ýÕ_¥3VZ[[;;;—/_þ¯ÿú¯wÝu×<ÐÞÞ¨]µ9«"ÕÕÕ5}úô8ছnZºtéo~ó›ãŽ;.„ðóŸÿü¢‹.ªì6sæÌ¯~õ«!„C9äÖ[o}óÍ7ï½÷ÞN8!„på•W^xá…ƒ^ög?ûÙ{ßûÞ{ï½wáÂ…W\qŨQ£BŸûÜç^{íµ‹/¾øµ×^{ä‘GN=õÔ‚ fΜYyâm·Ý–~£c=öÑG]³fÍ}÷Ý÷Á~°\.æ3Ÿyê©§ÒÝV®\yôÑG/_¾¼¾¾~úôé/¾øâœ9s~øÃ644\uÕU<ÒÇ{lĈ?øÁüñgŸ}v×]wýüç?¿`Á‚ÆÆÆ3f,^¼xþüùW^ye[[ÛÒ¥KÿùŸÿyÐÓ׬Ysíµ×žyæ™O?ýtggç]wÝõž÷¼'„ð½ï}oÕªUé>=ôPÚ)Ž;î¸Ç¼««ë·¿ýmú~^sÍ5³gÏ!œ~úé—_~ya̘1¿øÅ/6êðC—^zé²eËvÛm·Ç{låÊ•K—.ýÁ~B˜={öús=¨1µ9«¢b„ ·Ür˘1cB‡~ø”)S>øà?üá—^zé¹çžEQáâ‹/ŽãxÒ¤I3gÎ1bDáC™2eÊ’%Kî¾ûî‹/¾øÜsÏÍåÖ5ÖÖÖÿýßÿ0aBá´ÓN›?þ%—\B8ûì³Ï9çœô›î³Ï>¿üå/—-[öÈ#TžxÁ”Ëå©S§þüç?¯«« !|ðÁ·ÝvÛ~ûí÷ꫯ^{íµ—]vYáöÛoþùçCÿöoÿvÊ)§¤ÏýêW¿:nܸO}êS§NTÔ××ßwß}{íµWeË!‡rÀL™2åÈ#L·üíßþíSO=uÅWüîw¿[ÿN:é¤4„>ò‘\qÅGuÔªU«ž{î¹8 „ËåÎ;Zºº³Ï>»±±1„pØa‡í¾ûî·Þzkooï}÷Ý·Ç{ …¶¶¶¦¦¦B>Ÿokkø-†xøI’Ü}÷Ý!„¯|å+ûî»o¡½½ýÌ3Ϭ¯¯Ÿ;wîŽ;î8Ä?z¶Qµ<«"„ðío;í©b±˜f…•+WÎ;7„P*•ÒßçŸwÞyi§HåóùtöAggg*¦L™’vŠÔ§?ýéôδiÓ* …ÂÇ?þñÂÂ… Ó-½½½³fÍ !œqÆéõÔèÑ£9æ˜Âã?žnIïì¶Ûn•N‘úÄ'>1eÊ” æ”)Svйçž{ÁT:E*±xñâÊ\‰ŠtIÅa‡–Þ™7o^zçÀ¼à‚ Î;ï¼´S¤Æwà†æÌ™³ÁU ýð£(J¿Å5×\óÌ3ÏTöüò—¿|É%—üÍßüÍÛ#¶u5>«bŸ}ö´eï½÷Nï<ùä““&MzöÙg×®];p{Å{ì‘ÏçËåòÿøÇ=öØ£²}÷Ýw¸[å£û¸qãnßa‡>|æ™gÒotõÕWßtÓM¿”¶’'žx"I’(ŠÒíë'=œûï¿ýíÜ9„ðòË/ßx㯼òJGGÇŠ+*Ki¬oòäɃj»í¶ëèètñ‘yóæ=ðÀ³gÏ~ã7Ò×XÞÆÐ?„pÊ)§\rÉ%O=õÔ^{íuÐAM:õÐC:ujúUj[§Š]wÝuЖ‘#GŽ1bÅŠéå9*3&vÙe—A{Ö××O˜0aþüùƒfU ïsåEn½õÖ î^Nuûí·OƒÂøñã×ßgàlŽ·Òþð‡¿ÿû¿à6xÂÈúmxÎK¡··÷ôÓOÿÏÿüÏw¼ë ýðC^xá{ìqþùçÏ;÷á‡~øá‡/¼ðÂ=÷Üó;ßùÎ'?ùIÁ ¶Õxªxùå—]0båÊ•+V¬ýmbÒ¤Iéöùóç:‡¢T*½þúë÷Ù•rÍ5×l0CDQ”uÏ=÷|á…^xá…õ÷yî¹ç†ò½z{{O>ùäÙ³g·¶¶qÄGqÄN;íÔÞÞ>{öìt½Ïaøö·¿ý“Ÿü$„°×^{}ìcÛÿýÛÛÛÛÛÛO=õÔʹocè‡BÈår'žxâg>ó™ßýîw÷Ýwßo~ó›|ðÙgŸýô§?=}úô³Î:kx‡À6¡ÆSÅ“O>9èÊ éö½÷Þ»®®®T*=ýôÓƒRÅ /¼žþP¹´ç¦Ø{ï½ …BoooCCÃGñ6{î»ï¾7ÝtÓO<±víÚ“ÊåòC=4”ïõßÿýßé%9n¸á†}ìc•탦‡l”o¼1„pÀüá¸}éÒ¥Cyúп¢®®nêÔ©S§N½à‚ žxâ‰iÓ¦½úê«W]u•TPÛj|YÍ‹.º¨£££ò0Žãï|ç;!„–––ôÜúúú´P\zé¥]]]Ÿ›îÙØØ¸çž{núHÒ×ù÷ÿ÷A @̘1ãì³Ï¾ôÒKÓ‡ûï¿aÉ’%§Ÿ~úÀÝÎ>ûì NµX_%¤WÐHÅq|à 7 {ü‹/ô‚!„ßÿþ÷óçÏ´gz‚ÆâÅ‹—/_^Ù8ôÃþùçÏ?ÿüóÏ?àÓ÷ÙgŸ£>:„°þ‚ Ô˜OsæÌùÔ§>õàƒ–ËågžyæË_þrz!Ì3Î8£²Ã×¾öµÂSO=u '<úè£q?÷Üs_ûÚ×ÒÕÏ8ãŒBaóÌ=I§ÜsÏ=_øÂÒKf¼ñÆÓ§Oÿìg?{Ùe—¥«N†Ž<òÈô:W_}õ‘G9}úôË/¿ü¨£ŽºüòËóùüP¾Ñ¡‡šÞ9çœsÒK¼üòËÇüwÞ9ìÁrÈ!!„ÿú¯ÿºçž{z{{׬Yó«_ýꨣŽZÏôüŽr¹üýïÙ²e{ø#FŒ¸è¢‹¾ûÝï~ñ‹_¬<ýøå/Þz™jRŸrðÁßu×]wÝu×ÀýèG/ºè¢ÊÃÏþó¯¾úê·¾õ­›o¾ùæ›oŽ¢¨²åñÇŸ^²t³8餓þô§?}ï{ß›1cÆŒ3ÒÕ=Ó/íµ×^gŸ}veÏ«®ºjΜ9>úèÀÁï¾ûîÇüw¿ûÝwüFûî»ïðÈ#\sÍ5×\sMKKËêÕ«CS¦Lyà†7øSN9åŽ;îèìì<üðÃëëëã8.•Jmmm{ï½wz Šý÷ß¿­­måÊ•_|ñ¥—^zÌ1ÇüêW¿úá;ö+_ùÊøÃ›o¾yüøñ“&MêèèX°`Aa§v:í´Ó†7~¶5>«âþçÎ<óÌb±˜>, ŸûÜçf̘1èòßüæ7ô£yä‘ÍÍÍI’ÔÕÕ}øÃþö·¿}Ýu× ¼ÞDú¬AÏ­<ÜàöAÿéŸþé_þå_;ì°úúúôƒú¸qã¾ùÍoþñlnn®ìÖØØxÿý÷ßyçßøÆ7:è iÓ¦MŸ>ýÉ'Ÿ9rä Üàw‰¢èž{î9ñÄ[[[C«W¯nnnþÖ·¾•®‹\1¤òÄõ/«1è•§M›öë_ÿz·Ýv‹¢¨»»»T*tÐAwß}wzÔ=zô7Þ¸×^{åóù8Ž{zz6öððƒ\}õÕ»ì²KOOÏìÙ³,X0zôèN8á‰'žt¥XjO4ÄeY¹re>Ÿô y+H¿ÜqÇß~·ûï¿ÿàƒ!¬\¹²µµµ§§gîܹ¥Ri—]vø‘x}¥RéÅ_Üyçß~·M·fÍšçž{î½ï}ï  ”¼½o|ãÓ§O?ðÀ~øá¡ìÇñܹsËåò.»ìRWW7ÜÁ¾ÅŠ+æÏŸ?~üøô¢o£··wùòå#FŒXÿ[ñð;;;_zé¥vØaƒ ȸÛo¿}ЂÍÔ’!þLUW­ŸIâ8.—ËmmmÃxnŸ’*‹Cüm|]]ÝfYDó566Z¢²"½ÚE!]¯¡²}É’%?ûÙÏBGyä¿K.—KWÝŒFŒ1bĈ¡ìY(F½Á/½ÍáÔÜÜ9½HuÇlë¤ `£Íš5ëÎ;ï !är¹©S§~éK_šé¤“&NœXí±5Eª6Ú_þå_Þ{ï½#FŒ¨ö@€$U­½½½ÚCj–…¯€ ‘*€ ‘*€ ‘* år¹B¡ÐÕÕUíl)]]]…B!—ó“ Ô Á@ ÊårÅbqÙ²eÕÈ–²lÙ²b±(U@Mò<Ô \.×ØØ¸xñâjdKY¼xqcc£T5É_ðP›š››W®\9oÞ¼jdó›7oÞÊ•+›››«=`‹* 6566¶´´¼òÊ+sçέöX6§¹sç¾òÊ+---Õ °Eª=`‹ÈçóíííåryΜ9K–,7nÜèÑ£›ššª=®aêêêzã7^ýõ•+W¶µµµ··çóùj Ø"¤ ¨YÅbqÔ¨QÅb±££ã©§žêîî.—ËI’T{\-Š¢|>___ßÒÒ²ýöÛ·¶¶‹Åj ØR¤ ¨Y¹\®¾¾>—Ë555uww—J¥8Ž·ÑT‘Ëåêêêêëëëêêêêê,¨ 5Lª€Z–ÖŠB¡P___éÛV­ˆ¢(ô׊\.缨yRÔ¾|>ï>°­0yȩȩȩȩȩȩȩȩȩȩȩȩȩȩȩȩȩȩȩȩȩȩȩÈBµl I’Äqœ$Iµ2LQår¹(Šª=`‹“* Æõöö–J¥r¹ÜÛÛ›$ɶX+¢(Š¢¨P(äóùºººBÁ0PËüMjE&–IDAT5+I’žžžžžžººº¶¶¶ÆÆÆ|>_íA S¹\^³fMWWך5kŠÅb±X4Ãj•T5«§§§···­­­µµµÚcÙTù|¾¥¥¥¥¥eÕªU«W¯!Ô××W{PÀaYM¨M½½½===---5Ð)jmmmiiI+LµÇlRÔ¦R©TWWWc"ÕÚÚZWWW*•ª=`‹* %IR.—«=-¥±±±\.o‹K„ïHª€Çq©TªíTQ*•â8®ö@€ÍOª€”Ϊ¨á‹z ³* VI@†HP›j~ÆAÍ ¼kI@†H@†H@†H@†H@†HÀfÇñ¢E‹üñÕ«WW{,À¶§Píµ£T*-Z´háÂ…¥R©Úc¶UR°¬Y³fáÂ…‹/Žã8ÝÒØØX(øIØh~€6ɪU«^{íµ7ß|³²¥½½}üøñíííU°í’*€azóÍ7,X°råÊôa¡P3fÌØ±c«;0`›&U­³³óùçŸ_³fMú°¹¹yìØ±;ì°C>Ÿ¯îÀ€ U­«««Ò)vÝu×±cÇVw<@-q±R`£ œ=1gΜٳgwttTq<@-1«Øh#GŽÜo¿ý*—üX¶lÙ²eËZZZÆ7zôè\ÎïB€á“*€áhllœ4iÒĉ-Z´páÂR©´zõê—^zéå—_7nÜØ±c‹ÅbµÇl“¤ `øêêêvÚi§ &,Y²dáÂ…]]]¥Riþüù¯½öÚèÑ£wÞy纺ºjØÆHÀ¦ÊårcÇŽ;vì²eË.\¸bÅŠ8Ž/^gÃ#U[D}}}µ‡l“\K ȩȩȩjPEQõööV{ [JooozŒÕ°ùIPƒr¹\¡Pèêêªö@¶”®®®B¡ËùIj¿à EQT(V¯^]íl)«W¯. fU@M’* 6‹ÅžžžåË—W{ ›ßòåË{zzŠÅbµlRÔ¦B¡P,;::j¬V,_¾¼£££X, …jØ"üµ)—Ë544Äqüæ›ovvv¶¶¶655ÕÕÕU{\ÃT*•ºººV­ZµvíÚ††††† U@­’* fåóù¦¦¦\.×ÝݽhÑ¢r¹œ$I’$÷ô0#-B‘^ì#ŸÏ‹Å¦¦¦†††|>_­±[šT5+ýxßÐÐP,{{{ã8^?Ll©"Ý’^Ö$—Ëåóy j@ “* –¥—‰ã8ŸÏo°Jl+©"ôÏ­pÞÔ<©jŸ÷À6Ä.@†H@†H@†H@†H@†H@†H@†H@†H@†H@†H@†H@†H@†H@†H@†H@†H@†H@†H@†H@†H@†H@†H@†H@†H@†H@†H@†H@†H@†H@†H@†H@†H@†H@†H@†H@†H@†H@†H@†H@†H@†H@†H@†H@†H@†H@†H@†H@†H@†H@†H@†H@†H@†H@†H@†H@†H@†H@† 3U$I²yÇÔ’a§³*€ ‘*€ ‘*€ ‘*€ ‘*€ ‘*€ ‘*€ ‘*€ ‘*€ ‘*€ ‘*€ ‘*€ ‘*€ ‘*€ ‘*€ ‘*€ ‘*€ ‘*€ ‘*€ ‘*€ ‘*€ ‘*€ ‘*€ ‘*€ ‘*€ ‘*€ ‘*€ ‘*€ ‘*€ ‘*€ ‘*€ ‘*€ ‘*€ ‘*€ ‘*€ ‘*€ ‘*€ ‘*€ ‘*€ ‘*€ ‘*€ ‘*€ ‘*€ ‘*€ ‘*€ ‘*€ ‘*€ ‘*€ ‘*€ ‘*€ ‘*€ ‘*€ ‘*€ ‘*€ ‘*€ ‘*€ ‘*€ ‘*€ ‘*€ ‘*€ ‘*€ ‘*€ ‘*€ ‘*€ ‘*€ ‘*€ ‘*€ ‘*€ ‘*€ ‘*€ ‘*€ ‘*€ ‘*€ ‘*€ ‘*€ ‘*€ ‘*€ ‘*€ ‘*€ ‘*€ ‘*€ ‘*€ ÙöRÅÓO?]í!ø™¶”Bµ0·ß~{µ‡àgØ"¢¥K—ãi…B!—Ûö&e[Zǽ½½Ûm·Ý0ž«5"U"U"U"U"U"U"U"U"U"U"U"U"U"U"U"U"U"U"U"U"U"U"U"U"U"U"U"U"U"U"U2ÌT‘$ÉæPK††™*â8Þ€wƒa§ƒa¦Š|>DZ¹À I’ÄqœÏç‡÷ôa¦Š¦¦¦žž©$I’žžž¦¦¦á=}˜©¢®®.—Ë•J%g‚q—J¥|>_WW7¼Wþ@FŒQ.—»»» ¤ç}tww—Ëåí¶Ûnد-]ºtSÑÑÑÑÝÝ](êêê†} °M+—Ë¥R©···X,Ž1"Š¢a¿Ô&¥ŠT©Têìììéé1½Þ…¢(JÏøhnnöyë^mÓSÀæ2üµ*6;©È©È©È©È©È©È©È©È©È©È©È©È©È©È©È©È©È©È©È©È©È©È©È©È©È©È©È©È©È©È©È©È©È©È©È©È©È©È©È©È©È©È©È©ÈBµ[VÇår9I’AÛ×ßÂðDQ´þ–|>ŸË g†„T@ÍZ´¢ôÐÜðÜ’ú«Z;Kùjç]¤¹®<¡¥k1¥ƒvIÆŽ¨Û¨çFK—.ÝBÀjI’ä‘?õüÇwh.†Æb(æCÞ[Q9=å°¦'tv'_Þÿ&ןyñç˜U@ zäO=?}l‡ö¦¤©EQ”$Iœ„B”þ›žù±îÛM¼}ËÙ4Q¹\¨B}!Ô×E?ýãèÞ8p×ú!þÙIÔš×——®|d‡‘Í¡±.Š“¥Ÿ¢£($IBÔ×)¢'IH¢Ünúí@IèA!4B[côãGv˜8jé¸ö! "UPkœ5Ô…†b'I!IO=ˆû>=÷ÿ' QTyèv“nßvÒ†bÔTJœ}b¿·Ùk©€šÇñ3‹Šõ…÷·‰¬;ߣrÂBIp-"Š¢$I¥ÓY’$Å|xfQÃqqÏP® "UPSÊåòü­í­é,ŠK*$IÒu+¢(°d›j`ó‰¢ÄIš+ú«P(äÃüõåò©€w$IV— #£(N*'&$!ý]H§ZD¡oñЍÿ—ÿn7évÐ@H;PßÉ7};¬ê)¼ýy"Rµ&ŽC9ý“&ú×|ìû%ÿ€% 3±ÌCMÜ|WÓi,•)ý; ±S©€Ú'!NB’¬[œ"Šú¦+lö/©ú?cWù¶.JåLŒdx·éûÙ;øÝNw+ùl©€Z'鬊TT ï$…Ÿ±·êí¸áˆ=r1!lß5Ô…îRxsu˜ýzrçìøµeØÿûEÛ·D¯w$·<™¬ÿÕÿóÿD{Œ¢(¼¾"¹eV²õhÐT‹Êõa+†¾†©T@­)Ç¡¯»ÔG!$ý“u[Þrg+ÞF!œp`îè ü ê„ö0¡=:bü]³“«ÇÉ[žµÿÎÑ{FE/.3ŸH½æ»D§š‹¢ÐÙΟ•ôeš­~\ëηé[S3¤ç}¤‡9 ½©€ZÓ·VE´îsrê-ñ¢J¢¾qdîC“ú2gIòä«aÕÚ¤¹>ÚkBxÿ¸(„pÄÑèÖÜE¿^w¹ÕPiÉàÏü{ŒÎ<<E¡»7\øëxÞÒ!Ï^Ø2Ö-[Þr••·þQ¼©€Z‡¨œT~±_9ï#ꘄþ ‚l}Gì¥"IÂÿwgòàŸÖÍî˜Â>Ã?~<*äÂ䢣>›ùÄÀV‘N ‰Ê>óï<*œó±\]>”ãpéÉs‹BUjÌ€ ‚T¶E}SYú–ã¡N«*¨5鬊$éëýmb]¤H?Týš›KS1|áùôþµÆ¿{qð—üû}чåB³t÷ìxEWß—ÒSX’$éí_ r‡ÖpÞ_囊iõˆWÍùé5IÓ$Ôß,.½™ÄfUð®'Q9邚–sø›ÿ(‰f‹­t»ß{Bs1„~÷bòó?nxŸ_?•L|ô/¢b!´KtÛÓýs]’$mÑw§åF6‡ÂîIî{aëÅnÓaE}g~ô/·Ù¿´fÒ÷õ!þñIÔšrœôÆQI¢$ôý~? !JBˆ¢÷ÍPè»Hz‰­rûá]û>®ß2+‰“?»çͳ’þEBøð¤è–YIÔ×\úN铆Bô£s;¶‡Â5&·>•lÍ£Xÿ6¤TIBRyÏ“þr‘„ô uÒ‡T@­é[VóíVm¨ÎBGö}ß—–„Þ?¿tü7Bo9òaâȨò ¿²¬fá?½\!üâ±äú‡«¼Žæ[EëÝécVï^å¤ÿb¥Öª?=¯wq­£½)„u„•kÞn·r^Y&#šB‡A)â¬Dî…ÞX®¸wë/¸ñv^¯tÐÛ›UÀ»V’D½qˆ¢(IPÑzè«ðù>…Ö†B˜÷fò6S*Ró–&“FGù\h(†UkCèŸO±çø°çø¾Æ2º5|fÿè¿20«"J¤˜'¢ÁËš–ͪà]«ÜwHß9f¯h+‹rݽ¡¾F6Eï¸pÃȦ¾;Ýé±¼Åc¯$ï5Ã)ÿ'zjAxü•ª×ŠdÀû زîÎÐgUä¶Àø šÊqèC9‰zãPù§œDé–þ;IåáV»]ÖBï’ð{îºCBXµ6¬)õm©|Ðì•äk7„ oKB¹(\pL4¢i«ÅoËIßBÿýÐÿ&'é)9CdVµ&NB9N¥_ùÅ~è¿XiÔõÌ;l¥ÛEaÜv¡˜;Žˆæ.ý³{Ži‹ÚCáõŽu’žZ±¨#|ýçaMO¸ã™°ÏNá“û…‘ÍáÂcs{}òÖCÞÊ·É€ÛÖí6äIR5§ÿ ƒE5=0'ÙgbBØçðÒ’?»Ûþ;Wö<añÊuKr~ÿ“½&Dïö™Î8,š~Wp`¹Ø°¡Ïªpµ&^w®GåìPNréÃg(lí%îœÝ÷aþkS£ÝÆlxŸ÷ŒŠþáÿíÛí®ÙëÎd©,¼QÙÒUоqcÒÙB_øP8ä}U;dà[=àŒ›¾ÒûC¿âŠT@­)Ç¡'å8ô–CœDq•ãÐ[NzË!ݘÞ)ÇIœlÕÛ?½‘üß§B¡¾.L?>´5Þ§¹>üëgBs}!ÜóB˜õÚº¯¦­"é;½¥oû¼¥á;·ôM¦øÞ´hˆ­}Dý·où'}ÏÓ÷9ý#(Ç‘Y¼{ÅI%F¤m")ÇQ9‰*Ù¢{(ÇÑV¾½ð¶¾Å5'Œ7|9úä¾aÜvQ. cÛ¢c'‡NvB«Ö†óoyËûfU$ƒ_ó–'ÃÏ !„Ö†pùñQ]~kQúÞ–ãþ÷6m‡ò["Qb­ Þ½â$*ÇIEIQ’…8 QBI¢…(ýïÖ¿]²*|æ?ÂO¿&Ž ;µ‡ ¦­¿JeX¸"œz]xmÅ[ž›ôÔï¿æÿ7|`Çðþqa÷±á¼£Â97míãz˲š}ãL¢õ% !‰À»V9Nú®š™.š‡rÒwÞD9•п±*·/½¦ý(\qoßôŠ:Ö„ÿ¸?ý£0{ÑžBÿT‘·nïê §ÿOèì!„OîŽÜs«W ¸ å8©¼ÉqˆúO ê_´téÒÍ÷?TYOOÏ_\4®©) ¡ïº¤•é!¼å~ÕÕÂûƆÛÃö-aYgxmyx~QX[ªö°6Mÿµ`oìì ÏüãëÅbñ_Á Ôš8 åx§DQHâ ÕŠ®žðÄüðÄüjcs¨T¡$ÞÀöByÈÓ*¤ jMœ„8é[>!ôTŽBÿ ‹$¢–T²ÐÀNÑ)úßü¡¯U!UPk*+;„Ð÷Q¹¿[ô?d³ô>‡ÁoõÐóT@M‰¢¨µXêŽë€YQ6Îø¨aQšˆ’þ÷<À’~9 ­õ½Q4¤‰R5%ŸÏï6ªë‰7¶ËåCë~·™Q±U¬«B•ónBˆËa·:óùüP^Aª ¦är¹¿|o×£‹¶+älíûÿzg(Dn7ÇmXïÎÀ,…ÞrøðÎ]¹Ü;_þ#HÔž£?P¾ìþ¢Ë½õ I¡ï|[Ün†ÛÐwºG4pKII9ô–ÂÑ(‡¡‘*¨5“Æx̼¯ÞòÞ\>¤§T.™™r&È–¾ÉÉ€ûQâr(÷†;öåIc›†ø:Rµ&ŸÏµO±ÿéÌ[&åâåBÔ?½b`³¨|œv»é·¡²DE!„8I’8ÄåðÃcþtÔä†!.TBˆ–.]ºÙþ_€lˆã¸»»û…׺n}ªî¡WÚ^\ÖÖÑ]WíA½‹lWß³Û¨Uš¸êè½{Þ·cS}}}nðÙ8–T@mŠã¸T*õôôôôô”J¥r¹œ¸`éVEQ>Ÿ¯««+‹Åb±®®nè"8€Z•Ëåêëë …B}}}’$i§X+”‹Í%Š¢A÷£(JƒÅÐÏû¨*¨eÃû´LmÄ €-Mª2Dª2Dª2Dª2Dª2Dª2Dª2Dª2Dª2Dª2Dª2äÿXlà3(¦ÎgIEND®B`‚traitsui-7.2.1/docs/source/traitsui_user_manual/images/array_view_editor.jpg0000644000076500000240000006757314046644454030205 0ustar aayresstaff00000000000000ÿØÿàJFIF``ÿÛC    $.' ",#(7),01444'9=82<.342ÿÛC  2!!22222222222222222222222222222222222222222222222222ÿÀüS"ÿÄ ÿĵ}!1AQa"q2‘¡#B±ÁRÑð$3br‚ %&'()*456789:CDEFGHIJSTUVWXYZcdefghijstuvwxyzƒ„…†‡ˆ‰Š’“”•–—˜™š¢£¤¥¦§¨©ª²³´µ¶·¸¹ºÂÃÄÅÆÇÈÉÊÒÓÔÕÖרÙÚáâãäåæçèéêñòóôõö÷øùúÿÄ ÿĵw!1AQaq"2B‘¡±Á #3RðbrÑ $4á%ñ&'()*56789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz‚ƒ„…†‡ˆ‰Š’“”•–—˜™š¢£¤¥¦§¨©ª²³´µ¶·¸¹ºÂÃÄÅÆÇÈÉÊÒÓÔÕÖרÙÚâãäåæçèéêòóôõö÷øùúÿÚ ?öß‘cBc HÉ$ŸZ§§êúf­n×mÍì*ÛKiÄŠà•$gqïVßý\_CüÍyÖ‹g.±wi ÑëVÖ"]Zi769w»G„¶6˜äb3þ×pq‰G{w¨ZXB³\ª¤m,pƒóžGƒVe5czÏ%üÏø×•ªjškëpëO«½Ö•4)W Œf˜È±%XH. óaЫ ZâCpú¥îµ-ÁµjŠÞÒxÙ/7¦ß-å‘£l6ñû¥’øM¢€=3zÏ%üÏøÑ½?ç’þgükÃÿkûŸÚ>wöš~Õ¿>_™þ§·•ŒmÇ8ûß¼ßZÔ®›Óþy/æÆéÿ<—ó?ãQÑEÀ¥¯_=Ž…{snˆ³G(Ç'iéœVœ…FQðqÔÿax§þECþ¹Q[sÿ¯­7§üò_ÌÿÓþy/æÆ£¢‹&ôÿžKùŸñ£zÏ%üÏøÔtQp$ÞŸóÉ3þ4oOùä¿™ÿŽŠ.›Óþy/æƨ}±ÏˆÒÓbˆ“ÌWž[zϰ'óúV5§Úÿá%o3ûOû/Í“ìÛó·ÏÁó7ÿ•×ËÝòço³Ö‚ÿÈÞ?ìÿú5)±½?ç’þgühÞŸóÉ3þ5®›Óþy/æÆéÿ<—ó?ãQÑEÀ“zÏ%üÏøÑ½?ç’þgüj:(¸oOùä¿™ÿ7§üò_ÌÿGEMéÿ<—ó?ãYÚõóØèW·6è‹4q’Œrvž™Åeøž}BÅìo4ÉQ®žÍ-ff1ÊÒ•¶/,QÑXŸá‹Î8'írÛì^ žÓÏš"Õcó§}ÒI·s7v8É>´ÒÈQ$e/OøÓw§üò_Ìÿÿ¯­GC`I½?ç’þgühÞŸóÉ3þ5\ 7§üò_ÌÿÓþy/æÆ£¢‹&ôÿžKùŸñ£zÏ%üÏøÔtQp$ÞŸóÉ3þ4oOùä¿™ÿŽŠ.›Óþy/æƳµëç±Ð¯nmÑhã%äí=3ŠËñŒ›4ˆC¨;É8E’ÈÜþäíc½Å¹2Ê8,T¹Ü©ªÆ±xãI®¦D³EYnà œ>i7wž§ ç@ ó,LUQ2Îìž _z­m¨­ÄÐmX^)Já“<ƒÜÖO‰¬®u9MœWŸg·fQs´|î› {g¡úþ®ƒ¥É¤jÂnwiÍ*40°%¢bÜ€»þ?R}8Q‡%Úès9¾k\ê#q$Hã£h¨¬ÿãÆßþ¹¯ò¢¼Æ¬Î•°é´6ÔNu]FŒàtU_ÍIüÍgÙéšn¡quoeâËÛ™íeÌpÞBí dŒ8 •9R0}¥tÖ¿ñìŸó®ÁSÃqqá+x%ŽYô¿Ik0f´˜›@#”Qóƒk`üèkT•„tŸðŠÿÔsWÿ¿©ÿÄQÿ¯ýG5ûúŸüEtSåB¹ÏÿÂ+ÿQÍ_þþ§ÿGü"¿õÕÿïêñÐQG* œÿü"¿õÕÿïêñÂ+ÿQÍ_þþ§ÿ]r ¹Í\øB9íeŠmgU’6RZXÈ#þø©ßà $Œí®êû˜äâHÀü‚VäŸêßèiÔr¡Üçÿáÿ¨æ¯ÿSÿˆªqéšlÚ¤Ú\^,½}Bß-¢ÞBeEã–M¹æ^Hî=k¬¯;Ó'…õMKYcmBÓÄz•ÕÍ `e†ûnÉ:ª7›Œ11÷†NT+'ü"¿õÕÿïêñ_ûÏûGû;þ}CíÞWŸöoµEæyyÛ¿nÌíÏéšéðµÃÛ¬±™ÑÞ0Ãr«‘ÔU€=öŸJàü5«^Zø†}6[«™®õ[Óqf±¼µŒ<¦)æmçte\¢²D`Ç* ›‡Ã°­Â[·ˆµA;£:Fgs*³$Ê í¸zÐ<; \=ºø‹T3¢+¼bx÷*±!I2*ÀûO¥rö—ÒGñº/í+9 ¾»²»··ÝqeGˆÄUD›È&9ß” ™JüËeÔÑ/ü7oñ;^³Ó®ô¨î®­-¼ÈmäŒ<· %Ñ—*¼´€`·qÆhåArHbÐnuC¥Áãy¥Ô²DÔ iC.w s‘ƒ‘Ž0kDxMçÍΩæ´F=æH÷mܧÙêehš‹é~!þ÷Õ,uçÔ.Þ[$¶h®ìC¼³ù’eÎcÜB±Cy±°b Ûõ‹ô?Ò•î`ÿÂ+ÿQÍ_þþ§ÿGü"¿õÕÿïêñÐQO• ç?ÿ¯ýG5ûúŸüESÔ´Í7F·[SÅ—¶03„Y.¯!‰K`œÊp DZ®²¹}rþÏHñ–¨êWpYX>öss Ž1#IlÊ››qä¤+z9P\±ÿ¯ýG5ûúŸüEG7‡a¶@óø‹T‰ ªyãPY˜*ŽS©bɤð—üK<áØ¯ÿÑ$O´ÒÝ•¢ BF,Bã®N:Ö_ÄYô[=*ãU—M†ò-NÍí$ºdYEÔSn@ ËÛ¯r ¹&§g£èžWö·Œ®l<ìùk¾†-øÆq¹Fq‘ÓÔU¢Yµœ7ƒÄúµ›g•0º‹d›È µ¶`î, c®F:ÕzùN³ŸI’Ôµ/ôM6ñdØ%ÚE'!•R3.Ò@( äŠÃñ´>д- “¦Ú½…íŠiÆêEó"‰.`ylçv¸ƒÐsG* š‡tëaªxŠöÞ V..®"E‰ˆ(æL)!Šçý¬w©î|!ö²Å6³ªÉ) ­,dÿ|VgŠu//\ðö¥·¥Xé¦ÒæD¾Ô͵iÉòö‘"0¡—knÎß3‚kªÓo&Ôt+;Û‹I,縶Id¶“;¡fPJ€r ÇAÓ ¥Ê‡s=ü0ÒHÎÚŽN$ŒÈ%7þ_úŽjÿ÷õ?øŠè(§Ê…sŸÿ„Wþ£š¿ýýOþ"øEê9«ÿßÔÿâ+ ¢ŽT9ÿøEê9«ÿßÔÿâ*ž¥¦iº5ºÜjž,½±œ"Éuy J[àP3€N=u•Ëë—özGŒ´}GR»‚ÊÄi÷°›™q‰KfTÜØˆG u![ÐÑÊ‚åøEê9«ÿßÔÿâ*ž¥¦iº5ºÜjž,½±œ"Éuy J[àP3€N=\ð—üK<áØ¯ÿÑ$O´ÒÝ•¢ BF,Bã®N:Ôž"Ô¬t¤Šyõ7K¼dhí¯µwD€²MÛe‚‚x'npB¨.W›Ã°Û yüEªD…Õ<ñ¨,ÌG)Ô±äUõ-3MÑ­ÖãTñeíŒ áK«ÈbRØ'²œqìkŸÖƒ¦øÁ­ªÇiaylúa´MIÐ\[ªÍoæ€ÌåT|äÀä]f·¬év¶v×ãVÒ¬f¸ˆ‹-Nö?2 ŒQ™C†@w€¤(q»nà!ÁÊ‚æ~§g£èžWö·Œ®l<ìùk¾†-øÆq¹Fq‘ÓÔTíá{]KMÞºö¥uiquež7IŒ‚LF"±]Fð}ùÕ­<:öÚ9´ëví"€ë1³ïˆ WÊùÈ_”ã¶Óo&Ôt+;Û‹I,縶Id¶“;¡fPJ€r ÇAÓ ¥Ê‡s6ð§žWt™P3òÆz€z²ßÖ ·eû\JZQ¹‚ä玢0"+@Ø™\°¹•ç#oÕ”ŸÖ¤JÃ5ÔÍŽqåÄ?P€À×TjÁFÆ.2¹.²C¢íFPTc Åð¡FÕ(àÐQ\sth[û:àŒsÔ{Õ ^·×…ëZ%ÌbÒãìò «W‹yi&B> H:ß¶ еÿdüs¾}Kûk^’÷B¾°†úín¡’ymØ`A[HŽV!³˜Ç|ñ[-‰:l?÷—þùÿëчþòÿß?ýzuÀnûËÿ|ÿõèÃÿyïŸþ½:ŠnûËÿ|ÿõèÃÿyïŸþ½:ŠÃùm–^‡·ÿ^‡þòÿß?ýz$ÿVÿCN¤pÿÞ_ûçÿ¯Xvþ'†çTKAmrMq-¤¬‰åM<{üÈÔ.ò¥å”)ØpNWvõqvF§©§ZIa"Aa¬^êMzdŒÅ*Mö¨€6ýãí+Ê£ä|òî`vXï/ýóÿ׬;Ãsª% ¶¹H&¸–Ò ÖDò¦ž=þdj—yRòÊì8'+»hHÆáâ0ÈQXJJíbIÊŽs‘€N@0Á<ã—o ¬Þ3µ¾·³»³‚ÆáîžG»cËÉ¡@ªÊÌÎUNáÀmìÀö™â)õ[׊ P[D¸žÜß?"ݲ1À”ÉÈ@ù=:h·ñ<7:¢Z k”‚k‰m ½dO*iãßæF 9pG•/,¡NÂr»³l4‹Ë/+Xé×Ö6ÿkž{É_Q3Z\G ‘±L䤆GÏîÐ ²Äž; #STÓ­$°‘ °Ö/u&½2Fb•&ûNÔ@~ñö•ÎåQò> ùwtVº¯Ûµí­ –H!ܯz|Ÿ5N wnfÈR †RÛ”¨¼Cùƒæ^‡·ÓÞ¸½CÕ4Ïâ8/¢Œêw7w/{¾Òx%y]#Ž!Ù i"$ùi÷$ùˆ??lÖ/ÐÿJ@ï/ýóÿ×£ýåÿ¾úôê)€Ü?÷—þùÿëÖ^«¬¶›qoi •Ρyp"[ZˆÃyhT;“#¢àAŒçæFµsúÌW¶Þ!Óu›]:}B8-.m^ gdW…ƒ~ñÑv%ù³–\2@µ…ìZžmg2ÉkuM ì#r0N# ޵OUÖ[M¸·´†ÊçP¼¸G‘-­Da¼´*É‘Ñp  Æsó !ºƃá-M–?´\YÚ[ÚÉä0ÆUUm¿(å½p8àT~%ÓÖöÞM6îîí\ÇÚ_5›Dr^UuqUwÜxS±ŠŒC?Šãÿ‰Wöm…æ«ý§h÷¶ÿdXÓ÷+åüÇΑ1Ÿ58ëÉàb¬^ëW¶ŸbX´ Nîk˜šVއýnܬŒòªnËðŽv±5‹wá•ÓôoÚ;RÕ_K²ûŸLÔÊp6Æ Ç›(ÞX$$¸$ Ý7W¿ð®›£_´wÝ$VúÅÌd1ì&r‘!SË‚¾nḠ^øÃNÓü ¾.ºicÓZÒ; ¾Vd"@»ãq,£®<œs[ÎËl²ô=¿úõÇüHðþ¯®è.4—ŽYb·¸D³hCd–3es,a £Ê9Ü0äíb«]U£ÜI¥@÷‰²é S2í µöüØsÀfúž´€±‡þòÿß?ýz0ÿÞ_ûçÿ¯N¢˜ ÃÿyïŸþ½ï/ýóÿ×§Q@ ÃÿyïŸþ½eêºËi·öÙ\ê—ò%µ¨Œ7–…C¹2:.tÎ~a€@$kW?¬Å{mâ7YµÓ§Ô#‚ÒæÕà¶xÖ@exX7ïhòX›9eÀ#$kX^Å©éÖ×ös,–·Q$оÂ7#Tàò2ëUõ=JãOò–ßM¼Ôf“'Ë´DTc$´Žˆ9#ÛŽI€ÄC XÜh>Ñ´ÙcûEÅ¥½¬žC eUQ˜ÛòŽ[×€N!k†³G¥ß_ÛËÄ£O½Ó¡!‹ÇòðrCƒÐa8l¾ ß§XÞé–7š¬wÑ á‘*þè€C•ÑWï/ÊNã“€B¶ |A¿N±½Ó,o5Xï¢Â-"Uýц-+¢¯Þ_”Ç'…lQ{]FÇÂZ^—q¦O¨2ZE×ö=ÒÚ:HмÇóDd«}ÖR>Q´‚v×¹‹^Ó¼=¡i §Ot«h±j3i ,¥ȃ¼AÎï™yU\(RÊÈzÇÿ¯ìÛ ÍWûNÑïmþȱ§îWËù"c>jqדÀÅmG$³Y¤²DÐ3Æ¢ ÈHåIV##§Bk›Öt˜f·Ò.#ðæ¤ÂÚÝ¡ŽßLÔEœöªÁ—„–4dýØpUv†‘½¦Ç}…g©4sê l‹u,c ò…Øp8-“Ð} AVV«EÐU•¤†ÌÃÔÑAêh¬J/Û 6êr{÷>µ‰§ÞêÉâ¦êMg7›h×DY¬ƒìxuUGfcæoÜû[lyò_åênÙÔ[¨,ç©÷¬O éZ®æ&¡«é÷Ë.d–X¬Z¦˜àyŽæg¡@(]ª¡kekt«ßFƒÕ¿ï£G˜Ÿß_Î1?¾¿=«ßFƒÕ¿ï£G˜Ÿß_Î1?¾¿l­ÿ}6Vÿ¾b}:<Äþúþth]¹n‡ø;`õoûèÓ]ÐÆÀ:ô=éÞb}:4Ø=[þú5ÉÙëúŒÚ¥œ’ý›û>ûSºÓbQı4ïMä8o³·Êqæ˜íùºÏ1?¾¿sv¾{}RÞFÔ¢}>ÒöãP¶€A‰DÓy»÷ɼ†OßË€Hù2Çq &Áêß÷Ñ®.×ÅÒ¿‹-ôÉîôð÷7·cK–îÝcYYgr_æGXƒå¯!ÜqóvŸíÍ4FŠáƒdî%³‚ÛŒNxÏ“N{­nÛËȤ·´2ÊÞ8öä(QßqÞv³…(ÎC¥MÏÑÒöãP¶€A‰DÓy»÷ɼ†OßË€Hù2Çv„šsÝkpÞÞ^E%½£ù–VñǰÇ!BŒîûŽóµœ(@r…*h~‰â85ÍzúÚ KO jó@tñ&ë°ÑIå´¯‡ù° .ÓQ· ÛDPyƒ–èˆûW;ká··Õ-ämJ'Óí/n5 h”M7›¿|›Èdýü¸“,pwtEÓÌzô=þ”h¶Vÿ¾«ßF1?¾¿b}:4Ø=[þú5‡¬^j?Û6:F—5µ¼÷6óÝ5ÅÔO:…‰¢]Ðä™Ý»¤`ç#sÌOï¯çXú¶›su¨ÚjZn¡mk}m¶àÜÀg£ÆÍò«¡Ý˜“v1»ƒA 4-@k~Ó5o)¡ûu¤W>W˜[fô ·íСÈÜnÎâr+ê¹oi:‘«[ZÚéßfÃÝÚ›‡“ìïÇÊÉÆ7psž6Ñ šÙÔa·ól¯tû"G–æêý^EEQýÐèÆIbümèwefÓ.eÔ4+;ë‹Il縶I¤¶‘ŽèY”‡ r Ç téYºÆ•ªê_Ùo¯§£Z~òx§±iaža´¤ÊFÒª–` ÷‘XmFÎ,Ñn&ŠIÄ`Hñ®ÅfÇ$)$žÙ8õ4hÛ«ßFƒÕ¿ï£G˜Ÿß_Î1?¾¿l­ÿ}6Vÿ¾b}:<Äþúþth°z·ýôkX¼Ô¶lt.kkyîmçºk‹¨žu D»+¡É3»wHÁÎF瘟ß_αõm6æëQ´Ô´ÝBÚÖúÚ)mÁ¹€ÏG!›åWC»1&ìcw ƒ@,hZ€Öü=¦jÞSCöëH®|¯0¶ÍènxÎ3ŒàV_Š5©t‹‹(PÓô¨'I]õL3@¬¥Å21½Ã³›¤Mòž«©§Ø&‘¡ØiV*#²ŠtyÆòѦÕ9Á_˜¨#=9ÁMI.îmÖ+ B+7.’´"V ƒ™`úÌ r­F€sóø—Q“Ã×,¬-„“Ø›‘5Ó–n$‰p€.âB2JãáºUxŽ âÊÁµ-?Mžõ%‘/591,e »Ô»“"€»—ÍŸ—k¿‡¦ŸDÓt}þËN³±{vTžÙî xÞ%ÍR1€s’Aê5bÿK¿¸¸Óõ]NÊRÖÞKw’[F’ C9‰”î‰1óœ ƒœ‚ ÇOµ·š{Ù®í¥¸`)Q$N6‰ äžrq{L7²èVrꬋÛ#]EeRR£zŽO²:Ÿ©ª#ÃÖÑèÚ&Û}ƒKx I0Í:¿º†0D‹äuÙŒam;¡€uè{Ñ âè*ÊÕhº ²´Ù˜zš(=M‰F…¯ü{'ãüë™Ób›MñªØ I¢–Êie{ë“0¼‘ZÞD»ˆˆ'˜á”,@™j°_—¥¶b-×ä'¯”íÇûú \ssý©¥j&òí§¾×oì'F¸vˆÁÚüµX‰Ø„y|Ê¡ŽIÜÙî·î7éþ5ÏÚÛxm|Q:[Mjðîì…ño ¸ù¥ûÊÆÍ¿— ó'ç9`tUÁé×7?ÚšV¢o.Ú{ívþÂtk‡hŒ}¯ËUˆˆG‘̪àäÍžØFáç .÷EB „®’0¹À?1É'Œçv¶Þ_N–ÓDÚ¼;§{!|[È.>iE¾ò±³oå‚|ÆÉùÎ@0tËÛÆñE¤Í5÷úF«yk%ÓÜ–´¹ÆØ#‡qÙ"yi—òÐ&O·3B=$Cã›hí5VI óu ó>¡3DzS"E„·–’åJ¯Ê-À<¸5zÖÛÃkâ‰ÒÚh›W‡tïd/‹yÇÍ(·ÞV6mü¸PO˜Ù?9ÍË+½-oQ±´¹¶:¤®.¯-–áZPvFÙ7eFÕŒt¡ïÈ+aâ´Ôþ-(õ¨>ǥݤzzλšxžÒ2çpc™P+» :’®k¾?ëè¥a•Ðo|b’‹µ“^°·dû4zÝO‚w@9C–^È{.6‹0|Ðú{RJ)»÷ôÿ7î7éþ4ÀuszÜGQñV•¤Íqwœ¶Ww.¶·2[³IÛªñ²¶•þ\àä ãýÆý?ưüJº ÛÁu¯]®žˆæ8®Ž l›,2PH®§h%sƒ°|£xNúãSðn‡y'™uu§ÛÍ3ís´jXàp2IéY~+y¤Öt»%‹R»‚K{‰^ËL»6Ó»+BO3ÌŒlPì ïäȧkmÊôBÒ³†Ò( xvã¼ *£i^ÛÐŽ ‘Y~%]màº×®×ODsWGP6M–($WSƒ´¹ÁØ>Q€vdÕ5m;—òGªë¯¥3]¾ö/6w”ƒ$$©\Û¾è­ i4Û¯ ØkV×z­ÅªZ*Ø[Á©\[}±æ1¬G9bÛ3ž<Æ-ê/kÖ޳Ӭέ4ZM­¿î-¦Kãc°þ©]Ò€àì(Æ„öše¼Zq–­á°•˜ #H”Š 9 þÐÀÎ(M:s¨øsÃwÚõÄ1éSÉ<ðÜËo%ÄЛd3£‡äI!+¸‚['$5¼/}q©ø'E¿¼“̺ºÓ šgÚçhÔ±Ààd“Ò£ñ*è+oÖ½vºz#˜âº:²l°ÉA"ºœ •ÎÀqòŒkGV¶imon°Áb8ãBª(ÐØRÅÝÇûú÷ôÿ`:ŠnãýÆý?ÆÇûú:¹½n#¨ø«JÒf¸»ŽÎ[+»—[[™-Ù¤íÕ xÙ[Jÿ.pr Ž‹qþã~ŸãX~%]màº×®×ODsWGP6M–($WSƒ´¹ÁØ>Q€ ¼'}q©ø7C¿¼“̺ºÓíæ™ö¹Ú5,p8$ô®oâ·‰Eð¬övš¤zn¡yo;ÃpÒª2¤I¹¶nÆçf1ÆÃÍÞ3°×d- K8m" ·‡`Ž8Ê‚ª6‘…à ½à‚ _\µÓõ ö×W škÄßi&àÂc–ÜêÀ…À9çd3@>$ŠãSÔt{Û;mWSÒÒrãGÔŶçs ‰Ë £Þ»D¸Á=zsV/ÛI½ðö•t—º¬Ö3DŸa‚ÎòX¦¼f@cù÷,ŒÛC™Â€YŸîîYµëÚéÖo­^5„6ÿ¸‚î]Mí¤äržp‘]·‚Çq@NHIªh:,Éb÷1Ëd–iö[Vµ½’Ì"ÈÈ¢1å:ðYc}@€3u«áð½…îµy}s©ÚZ-»Aa¨Kgåä†4\´[HÝ&I¨’=:-6Îm;B³²¸»’ò{{dŠK™3ºfU¹É'$Œõ=zš¯~šVegw©J°[én+›»¬Ø£D ;·ÌJÈË–'%³×´–ß#t>”€¯AVV«EÐU•¤†ÌÃÔÑAêh¬J4-ãÙ?ç^sàKéÄoèYÉk¬]Ù[]^F÷9FY& ˜ŽF$,O Ú23.»½Ø7Ù×cž£Þ²<=â)üCoÚhº…źÜCsuäm‘X •˜y¡ÎºØƒzŠnûËÿ|ÿõèÃÿyïŸþ½0E7ýåÿ¾úôaÿ¼¿÷Ïÿ^€E7ýåÿ¾úôaÿ¼¿÷Ïÿ^€ ?Õ¿ÐÓª7å¶YzßýzvûËÿ|ÿõéêó½2x_TÑ´µ–6Ô-ܸùS`b§#pFjî°ÿÞ_ûçÿ¯Yg_´*O ê d×ÅDgjÄ $ç©bp~éÎ8È ®­ ë>,·±µÔ4Ûì«Û‡ŠÍ&E¸¸ºÛ*J|¬ä ó%$‘¹Û-¨2gé“Âú¦¥¬±¶¡iâ=JêæÐ02à ý·dŽUÍ‹ F˜˜ûÃ=5¿‰á¹ÕÐ[\¤\Kië"ySOÿ25Ë‚<©ye v•Ýr×Uûv£=µ´É;•ïB¯“æ©ÃDíÌù TÊ[r•N•6ïiúÚ`³kw÷Ùª?Òíw ¯ßÌsÌ/æ|£b®‹çl|þŒÖ/ÐÿJÃÓ«zñA¢ê h—Û›çò[¢vF8™1¹'§AÍmþ`ù—¡íô÷¤”SpÿÞ_ûçÿ¯FûËÿ|ÿõé€êåõËû=#ÆZ>£©]Áeb4ûØ ÍÌ‚8Ä%³*nl Ä#:­èk¦ÃÿyïŸþ½eêºËi·öÙ\ê—ò%µ¨Œ7–…C¹2:.tÎ~a€@$Uð—üK<áØ¯ÿÑ$O´ÒÝ•¢ BF,Bã®N:Ôž"Ô¬t¤Šyõ7K¼dhí¯µwD€²MÛe‚‚x'npBiX^Å©éÖ×ös,–·Q$оÂ7#Tàò2ëTõ]e´Û‹{Hl®u Ë„yÚÔFËB¡Ü™º g?0À 9]>æÏ@ÿ„.ëRo웼?-©:Œ¡<™Ù ÄîÁG™ˆßŒv1ÀÁÆ~£ý¥ü8ðOöïØlõ;_ì¯#íÛ#š³[yÛwá— >|tšì¦ñ<&ßM—M¶¹ÕQ·7vÑZ¢#4&d>k y‘Œ»æppMâxM¾›.›msª>£nní¢µDFhLÈ|×@ó#'wÌ8àைf·OìßZk–6’žÞÚYá71ܤÛlhŽ­$ä¡P¤änXEï ØÜiž Ñl/#òî­tè!™7µÖ5 288 ô¨æñ<&ßM—M¶¹ÕQ·7vÑZ¢#4&d>k y‘Œ»æpq¥i{§¥Ai2ËkuÍ ì+¹r§‘GQH ”SpÿÞ_ûçÿ¯FûËÿ|ÿõé€ê)¸ï/ýóÿ×£ýåÿ¾úôêåõËû=#ÆZ>£©]Áeb4ûØ ÍÌ‚8Ä%³*nl Ä#:­èk¦ÃÿyïŸþ½eêºËi·öÙ\ê—ò%µ¨Œ7–…C¹2:.tÎ~a€@$Uð—üK<áØ¯ÿÑ$O´ÒÝ•¢ BF,Bã®N:×7ñ§o]@ö’K¥›y¤»•e‰º¯î·ºœY)’LA6¶úî¬/bÔôëkû9–K[¨’h_a‘€*pyuªz®²Úmޤ6W:…åÂ<‰mj# å¡PîLŽ‹€]3Ÿ˜` ·ºÕ„!ðö»{uŽ›>•tÅÌñ¬aä{WDó,UŒ1ÈF 3\þ£ý¥ü8ðOöïØlõ;_ì¯#íÛ#š³[yÛwá— >|tšë§ñ\ñ*þͰ¼Õ´íößì‹~å|¿˜ùÒ&3æ§y< U‹Ýz[?±BšeåÍýÜM0±‡Ê".Ð噤XþS")Öã 0|S©yz燵(5½*ÇM6—2%ö žm«HÞO—´‰y… »[vvù˜]V›y6£¡YÞÜZIg=ŲK%´™Ý 2‚PäN:gêž,ÒôŸ7Šf¸gÒź\#Ç ‘_Sƒ–,£œc<ãšÚpþ[e—¡íÿפxº ²µZ.‚¬­$6f¦ŠSEbQ¡kÿÉøÿ:å|-¤^izŒpA§_iºd°]j&î9$Fܳ³,j«(äFHtÊœaz›dÝNO~çÖ°<#â8ҹܪ>GÁ?.îË`õoûè×'g¯ê3j–rKöoìûíNëMŠGÄÐyÿ¼i7á¾Îß(Eǘ>c·æ`uBF7†@ŠŠÂRWkNTsœŒrù† ç=¦…¯éÿb¿>]Þ›p—o=ÒÛ*2˜„q¶gÉ*¶ñ.åQK3/u°z·ýôk›mSQ¶ñe®<ú|Évï‹+}æâÚ®VáÜ·(Z0˜òÔ” Í·æ…¼6³xÎÖúÞÎîÎ ‡ºyíŒ/$N„Er¨s+39U;‡·³ z&‡ªiž!Äp_EÔ.înî^÷}¤ðJòºG&C²@ÒDIòÓîIó~}­7QÔn¡—6¯³Æ²+ÂÁ¿xè»G’ÀüÙË."ö…¨ oÃÚf­å4?n´ŠçÊó lÞ¶çŒã8ÎSñÚ¥¹¾³Ô4û>ÖÞiïf»¶–á€P¤mD‘8Ú$'’xPÉÀ ¾¾°Ñ¼/m5ÝúišgØ®I»û4þnØ@e”¼GÊýÛåw “*v‚ºÉá]ÖãN’óTµ·ŽØ¾™vlV6ØèQ–ʹTSÑHŒíC©xž}+NÑ-ukÍ3FÕõ C4ó_Ëþ ÌE`ÞÛ¤T8à3n;BµÏkRéP.¡§éPN’»ê:˜fYJ‹dc{‡f7H›å=T ­…t]1,îõ+½>Þ;(§´»k RÏ"¸uˆ”RÊ»Ï v±Q­LþÄðΟ¤ùÞwØlã¶óvíß±îÆN3Œã&¹½sƲØ|4¶ñ5’½ýí’ÜZÚI3 a30-ÆBF²7ðîق»'@#n[¡þ#H (¦ì­ÿ}6Vÿ¾0E7`õoûèѰz·ýôhÕÏë1^Ûx‡MÖmtéõà´¹µx-ž5^ ûÇEÚ<–æÎYpÉÛ«ßF°õ‹ÍGûfÇHÒæ¶·žæÞ{¦¸º‰çP±4K°"º“0;·q´ŒäM XÜh>Ñ´ÙcûEÅ¥½¬žC eUQ˜ÛòŽ[×€NWÖb½¶ñ›¬ÚéÓêÁisjð[L±ÁÝÓW§\ÜÿjiZ‰¼»iïµÛû Ñ®¢0Eö¿-V"v!D_2¨cƒ’w6X°gûC³M€¢„@¸`Ù;‰là‚6à`c“ž1ÛI»¸Öín¯5h§³²¸{›XE¸IUÙ<<¶²•Àð™bA-½\ÔSiÞ3ÒŒw—úuÄ‚iî.KÛʾTÌ-Ò ØG]ˆÛ„k•ŒåË1 jÓJÕ`ñmÖ±.¯§Éks[µ²X²¸Ž6•£Äžq³1ÉÛƒŽÔ¤ÝÜkv·Wš´SÙÙ\=ͬ"Ü$ªì@ÛYÊàŠxL± –ÅÑ"{ãY¶×"¼¹Ô.Å¥ÌÚ›Ii8/+Æ‹ ÌÁqÈݳ®ìgAmŸþøÛO¾¾žH¥vÕk–h&Œp,yòÖL˜˜mPÁ.Ùy€›I»¸Öín¯5h§³²¸{›XE¸IUÙ<<¶²•Àð™bA-´]<Àw¯Cßé\:¾¯§xÏLK¨µ-÷ÚÄR]›°ö’ÛùSËi™ò:ªD Ô“üÇq-Ýõ‹ô?Ò˜Ÿß_Î1?¾¿:Š`7ÌOï¯çXú¶›su¨ÚjZn¡mk}m¶àÜÀg£ÆÍò«¡Ý˜“v1»ƒFÕszÜGQñV•¤Íqwœ¶Ww.¶·2[³IÛªñ²¶•þ\àä Z}‚i†•ar¢;(¡·Gœo-mSœùŠ‚3М0MVÁ5O±F÷*¶ð]Çs,XÏåå‘sWß#®Í§†5„ï®5?èw÷’y—WZ}¼Ó>Ð7;F¥Ž$ž•ÍüVñ#h¾žÎÓTMÔ/-çxnUFT‰76ÍØÜìÆ8ÀS¸y»Ævèµm6æëQ´Ô´ÝBÚÖúÚ)mÁ¹€ÏG!›åWC»1&ìcw ‚=*]?ÃÚ~¤jkk¤QÛyóD&ĉ·åä(“€Cer„qT|U4³iZV¥¦êóÇnu - wQËu òÛKÚOÝ`cœƒŠ¹âX­Þ¼¸Ô±¼¤6z}ËÁ%ÌÄe@deb@ Á`€gáw(oˆ¼ ¦k^‹I³¬Úɬ-&Y¦"(X"²²¬‹æ¨¼9#  ôV‘›]* i'Y¤Š¤ÜÇy ‚~vfçý¦cêIæ°ïí<=¥'ˆ/¯§¿H’'‡K¹kv½»(3´ÆQÝsŒª,Ì]˵¦Ç}…g©4sê l‹u,c ò…Øp8-“Ð} .y‰ýõüèóûëùÓ¨¦|Äþúþty‰ýõüéÔP|Äþúþu«i·7Z¦¥¦êÖ·ÖÑKn ÌxÚ9 lß*ºÙ‰0wc¸9mW7­ÄuiZL×qÙËewrëks%»4‘½º¡/+` _åÎA 0¥§Ø&‘¡ØiV*#²ŠtyÆòѦÕ9Á_˜¨#=9ÁÕlTûor«oÜw2ÅŒùÞ^Y9q ò:ìÚxcPøNúãSðn‡y'™uu§ÛÍ3ís´jXàp2Ié\ßÅo6‹áYìí5HôÝBòÞw†á¥TeH“slÝÎÌcŒ;‡›¼ga «U°MSìQ½Ê­¼qÜË3çyyd\äÄ‚7Èë³iáWÕ´Û›­FÓRÓu k[ëh¥·æh„Ò‘6ü¼…pb¬ ŽPŽ*õ¥­¦›¥A§ÙªÇmmÁ {ËmE]ª2I'€:×øÇÅ·_ 4åM~5}OJ3EXC¼$Ý¢ æv(Š +;p!Ò’xn¬–âÞXæ‚XÃÇ$l]HÈ Ž#œÒº ²µZ.‚¬­$6f¦ŠSEbQ~Ùˆ·_ž¼ñëT4{½7–EÍ´Ïmq#ÝC ÂÈÐË$Žï¼n%Irüw¦+B×þ=“ñþuç¾›ÏÔtH>ÓÇö~‰%¿‘ÄšnM¸ò.ŽNéŽÌˆ¹ŠO“œ&ëbFܸߧøÑ¸ÿq¿Oñ§QLî?ÜoÓühܸߧøÓ¨ î?ÜoÓühܸߧøÓ¨ Ý–ß#t>”íÇûú«¡§R»÷ôÿçím¼6¾(-¦‰µxwNöBø·\|Ò‹}åcfßË…ù“óœôUçzd𾩣ik,m¨ZxRº¹´ °ÂÿmÙ#§UFóbÃæ&>ð˾…¸yÂ˽ÑPƒ!+…$Œ.pÌr@Éã9ÀÆ­·†×Å¥´Ñ6¯éÞÈ_ò šQo¼¬lÛùp Ÿ1²~sá<-pöë,ftEwŒ0ܪą$u•`}§Ò¸û][AÖ|Yock¨i¶ÿÙW·šL‹qqu¶T”ùYÈAæJI#s¶[…PdÒµ¶ðÚø¢t¶š&ÕáÝ;Ù âÞAqóJ-÷•›.æ6OÎs%¦…¤iºÈ–Ýïb»™æºÇS˜ÆÅ›2¸€É³¤Éùp ÁÅdÜ^XÜøÏF±°¸´qi{<³iðEåÜ[Êb¸ q(Î|¦2cî.æ•9 cÚ_IÆè¿´¬ä‚úîÊîÞßuÄ}•#Uo ˜ç~P6e+ó,e”²·“D>(»Xn¢—[6ݯ<É ÷b,|¥oÝ“´(c´œœV±c摺Ojãî/,n|g£XØ\Z8´½žY´ø"òî-å1\¸”g>S1÷sJކ»#þ±~‡úRܸߧøÑ¸ÿq¿Oñ§QLî?ÜoÓükÄ« ­¼ZõÚéèŽcŠèêɲÃ%Šêpv‚W8;ÇÊ1½\¾¹g¤xËGÔu+¸,¬FŸ{¹¹G‘¤¶eM͸„rR½ o HÎH h-áØ#Žò‚ ª¤axoB8 ‚EgøžM´9­|Gu¦›wû‰ ןfg›Ã)ä# ñš‡Â_ñ,ð‡b¿ÿD’=>ÒIÿvVBˆ=± ޹8ëUõËû=#ÆZ>£©]Áeb4ûØ ÍÌ‚8Ä%³*nl Ä#:­èhoi:š<\¸¹·°±ØDÒj²ÀªC.ƑăsT!œ“»rj¿ˆ`ðµ§öi×u6Óä‚'†Òiu™-dt;7âUi>ìdî' ä×2y£é>k­BÇEŽ×Dd–]baŽãË·U\#Û6Ó09ÛæŒ`œljº‹ÿÅ;â;RÇÃwRiò£Ã«Û4‘©—ÈvŒ¾ø‚Ȧ<NX!~S€ ÚÄm;KÔµ=M­­b‹É³¾þÙ’ßÌI¶<å•L›„jÜ“¹÷®Š8Žš@‹)Hã¦I ¶Ç,Ä–>ä’{×?y¯[ǡ隭ü¶>ÔîíE.« d¶/å´³ÍÀùw);3ƒ°{ÂðýŸÁ:,fž×ËÓ O"àæH±®p¿0èxŽƒ¥ 67î7éþ4n?ÜoÓüiÔS»÷ôÿ7î7éþ4ê(»÷ôÿÃñ*è+oÖ½vºz#˜âº:²l°ÉA"ºœ •ÎÀqòŒoW/®_Ùé2ÑõJî +§ÞÀnndÆ$i-™Ss`n!Ô…oC@ÂÒ³†Ò( xvã¼ *£i^ÛÐŽ ‘UõË]?PÐïmupɦ¼Mö’n F9mά\žpFAã5GÂ_ñ,ð‡b¿ÿD’=>ÒIÿvVBˆ=± ޹8ë\߯6¼uÚI.–mæ’îU–$ 꿸VÞêped|¦I1ÚÛèªÖí´qáy쵩š#ÊXg’âù¢Êd()pÇ<–ù³ƒœœ××­ü?k§Y¾µxÖÛþâ ¹u7¶“‘ÊyÂEvÜ Å9 ‹â-Y›TðÎ®š¦›¥XIeq2Üjг[¬¯äy`•SÍ(Ómes•ó1I«kpìøg^Öü½ ô{‘/Ûd¬HÖ®!fm£~ø8'cqÁÀö«¦éSxjãM¿…môu·Ù*$ßgD…G#r2í@£d d3W£Œ[Ù¤²”Ž0Šd»` rÌIcîI'½y?Œ"½·ø¤X]éÓ‹ôD7åž8ÌR¤ !ÖGF¾*ß.[1ÚÛëÕ­/PÒ ½ˆb;ˆUÕðr>d%O^ªH=‰€l]YZ­AVV’3SE©¢±(¿lìë‚1ÏQïY?‰áÖ.!Š;k˜êÜÝÙK2&Û¸\È›\•¼ŒáÂ7Î8á±±kÿÉøÿ:æto ­¯Š›S‚ÎîÂÒÖÞk(`ží¦Y¼mº(÷²C(U]¤îÁT»·[uXï/ýóÿ×£ýåÿ¾úôê)€Ü?÷—þùÿëчþòÿß?ýzuÜ?÷—þùÿëчþòÿß?ýzu‡òÛ,½oþ½;ýåÿ¾úôIþ­þ†Háÿ¼¿÷Ïÿ^°íüO Ψ–‚Úå šâ[H/YÊšx÷ù‘¨\åKË(S°àœ®íêâì4N=SN´’ÂD‚ÃX½ÔšôÉŠT›í;QmûÇÚW;•GÈø'åÜÀì°ÿÞ_ûçÿ¯XëâøœGa5å¼sÊð[ÝͬsʪÌÊ£˜8If@¤&A ®ía#‡ˆÃ EEa)+µ‰'*9ÎF9|ÃóŽnk]FûÅö-¦On¶RÈd¹{¥’ÚX|¹|¸÷ef̈Kyj@.ö\o¼¾ ÿ‰ÄvXÞ[Ç<¯½ÜÑ*Ç<ª¬Ìª7ùƒ„†d Bd îÄñ8ŽÂkËxç•à·»š%Xç•U™•Fÿ0p’ÌHL‚A]ÔfµÔo¼_arÚdöëe,†K—ºY-¥‡Ë‘WËvVlÈ„·–¤"ïeÆòÍõ+Ï4º®…|‘Á,‰e7›nÖР ¸ù†I)òØÙÀ4¬5ë}GYÔ4¸Råg°HÚVšÕâVÞÒ(Ù»Æbo˜§#ó"Ì2ô=¾žõÍØ¾¥ÿ ö£s.…}Ť©vòÛ”Ì/pň—ÚÂTÇËŸPµÓõ‹ô?ÒûËÿ|ÿõèÃÿyïŸþ½:Š`7ýåÿ¾úõ—ªë-¦Ü[ÚCes¨^\#È–Ö¢0ÞZäÈè¸Ðc9ù†‘­\þ³í·ˆtÝf×NŸPŽ K›W‚ÙãY•á`ß¼t]£É`~lå—Œ­a{§§[_Ù̲ZÝD“BûÜŒSƒÈÈ#­WÔõ+?Ê[}6óQšLŸ.ÑmQŒ’Ò: äŽ7n9$cq øKFÓeív–ö²y 1•UF`[oÊ9o\8x…®ÌA—}o/>ô[N„T†/ËÁÉA†à¼O ·ÓeÓm®uGÔmÍÝ´V¨ˆÍ ™šèdcîù‡^+Óí¬4«å73Ûê¯ÚÉ œŒ¤Jè¨ÎØÄc÷Š~r äO‹y¡j0éÞ[›)ï¾Ã§›[¨ô[…³“Î",20xqîß(LgaÚ ÉªÙk¾ д¨ô™5Ëw°{–°0EyawÚ£´*ã€Ñ@Ú®²Úmޤ6W:…åÂ<‰mj# å¡PîLŽ‹€]3Ÿ˜` ­/aÔô¨/í&Ymn Y¡}…w#.Tàò2ê+R‚k:N»‘wr#²¸·–Î)!ÆÒ´ Ý BÉ`pç’1‘’/x{M›FðŽ•¥Ü4m=•„6ò4d•,‘…$dŒAH L?÷—þùÿëчþòÿß?ýzuÀnûËÿ|ÿõèÃÿyïŸþ½:ŠnûËÿ|ÿõë/UÖ[M¸·´†ÊçP¼¸G‘-­Da¼´*É‘Ñp  Æsó #Z¹ýf+ÛoéºÍ®>¡—6¯³Æ²+ÂÁ¿xè»G’ÀüÙË. ZÂö-ON¶¿³™dµº‰&…ö¹§‘GZ§ªê×zużú6¡©<ÈîM¢Ä0¥GÌÒH€¿’NÐÓt ÂZ6›,h¸³´·µ“ÈaŒªª3Û~QËzàp À£Ä–7®—yµ½”C|û‡Ém‚dàá|¯”‚¾ná÷h¨ñ\séÚMÍ…åìÚ¥ ½‚Òdá f/" Á–0FârÜ"K¯éöÖUò›™íõWmd†ÎFR%tTglb1ûÅ?9ò'Šn³í·ˆtÝf×NŸPŽ K›W‚ÙãY•á`ß¼t]£É`~lå—Œ‘}¦jÚg<;¡ÛéSêWVÙþ{ÚK¢ýšX]ù•ÐÁn×mtÚž«ý›åDKyy6L6–ʾdq¹¾fUU\Œ³2Tgs(7œ?–Ùeè{õë“ñ&—q©j:>¬Úf«4pÚO––âÚæ7”ÂÃs,È¥G”Á€sÉ\9›ô:œZ¤ÑϨ%²-Ô±Œ+ÊoaÀà¶OAô€t]YZ­AVV’3SE©¢±(¿l€Û©ÉïÜúÖG‡uGR—X‡T¶¶·žÆô[ªZÎò®Ó2d»,s!þØsŒ{gQn °ž§Þ±4+UÓ5=NêÿWÓîã¿”\c·æë<ÄþúþuÍÚømíõKyR‰ôûKÛBÚ%Mæïß&ò?.E#äËÆ€t›«ßF¹½Äpkšõõ´–žÕæ€éâM×a¢“Ëi_ò!`@]§ £n¶€3ý¡Ù¦ˆÀQB \0lĶpAp01ƒÉÏý¯†ÞßT·‘µ(ŸO´½¸Ô- bQ4Þnýòo!“÷òàR>L±ÁÜh¢xŽ s^¾¶ƒRÓÂZ¼Ð¿7Îò¾ìg÷˜è¢¯O0ëÐ÷úQ Ø=[þú4l­ÿ}<Äþúþty‰ýõüèÐ`õoûèÖ±y¨ÿlØé\ÖÖóÜÛÏt×Q<ê&‰vWC’fvî6‘ƒœÏ1?¾¿cêÚmÍÖ£i©iº…µ­õ´RÛƒsž6ŽC7Ê®‡vbLØÆîA€Xе­ø{LÕ¼¦‡íÖ‘\ù^am›Ð6ÜñœgÀª~%Ôu&+¬­­¥‚[Ûk{—šwVež8òˆáÏV\`›¥\ÓìHÐì4« •ÙE º<ãyhÓjœà¯ÌTž€œàƒOÄÚ]þµkooa©ÙY¤w\9žÑ§,ÑJ’ ‘07&\ƒÆ:Ñ üQâ84K‹+Ô´ý6{Ô–D¼Ôäı” 6ïRîLŠî^76~]­_Å~ —FÖt»%Öt" «{‰^çTVe-B÷±Œ‘#§îô­ ý.þâãOÔmu;(uK[y-ÞImH$Y läF$VSº$ÇÎp2rI»Ó4m3Nеh­ÒÂÝm‡ÛmÅÂÈŠª °VŒïG!€ù›*x*h­O¨éú\3¶­¤X$H åýò?”åP?5v†by2` 6ì‹Úe̺†…g}qi-œ÷É4–Ò1Ý 2‚PäA8ä*Ši7zf¦iÚ­ºX[­°ûm¸¸YUT Ñãhä03eOoi–6Ú>…g¥ÛJÏ ²[ÆÒ0,U('Àô£@/l­ÿ}6Vÿ¾b}:<Äþúþth°z·ýôhØ=[þú4y‰ýõüèóûëùÑ Áêß÷Ѭ=bóQþÙ±Ò4¹­­ç¹·žé®.¢yÔ,M쮇$ÌíÜm#9žb}:ÇÕ´Û›­FÓRÓu k[ëh¥·æÛn.DUU‚´gxÚ9 ÌÙSÁZÿð½…¾Œº&¥éVGO‰ï`ûB¼$GʯߘSq÷¾^F µ}[Pþµ³†-.ûQÓÞþa}“ù<ДÝ™ÇÌHÆÂ6󯶋¨ kÃZv­å4?m³ŽçÊó lÞ¶çŒã8ÎfÿÂ6öú2èš”PO¥Y>'½ƒí ð‘w*¼g~aNAÇÞùyÖÓ,m´} ÏK¶•ž;d·¤`Xª(PN03éF€IAVV«EÐU•¤†ÌÃÔÑAêh¬J4-ãÙ?çX>q^xŽÖïR»Ô ¾¦©×E76¶ï€U@ËޤòI'vÙˆ·_ž¼ñëY.…¤iW÷³é¯z÷ û.„ºœ×>Ä#zÉ#ûx$gn;ÝlA…ÜWž#µ»Ô®õo©ªG5ÑMÁM­»àUP2Ç€£©<’Ié+™ðí‡-uME´[énoö_FuynŠ? ûÄyX+â0¹#8\t®“qþã~ŸãLQMܸߧøÑ¸ÿq¿Oñ QMܸߧøÑ¸ÿq¿Oñ Oõoô4êØùmò7CéNܸߧøÒÕÁé×7?ÚšV¢o.Ú{ívþÂtk‡hŒ}¯ËUˆˆG‘̪àäÍžëqþã~Ÿã\ý­·†×Å¥´Ñ6¯éÞÈ_ò šQo¼¬lÛùp Ÿ1²~s–E\>‰Øx‡Ͷ¹åΡv-.fÔÚKIÁy^4XVf ˆFèÔ wc=Œ-ÃÎ] \)$as€~c’OÎ0ím¼6¾(-¦‰µxwNöBø·\|Ò‹}åcfßË…ù“óœ€QIøæÚ;MGU’H<ÝBüϨLñì”È‘B!-å…$¹R«ò‹p. IuÚwŒô£Æ¥þq š{‹’öò¯•3 tˆ6×b6áåc9rÌCkY]èÑkz¥Í±Õ%quyl· Òƒ²4É»*6¬c ~c·ÑôxuÉ.a‰¾ÜŸ¿0}¥™!2nU„¶Äf"Oœ(-™99l€Q[gÿ„¾6Óﯧ’)]µFšåš‰£c |µ“&&T0D˶dgLÖ/ÐÿJçìô Oñ %­ÅÌz“y—¦ËûVR¤Hí¾O³™6í.ÍÎÜFè}=©%ÝÇûú÷ôÿ`:¹½n#¨ø«JÒf¸»ŽÎ[+»—[[™-Ù¤íÕ xÙ[Jÿ.pr Ž‹qþã~ŸãX~%]màº×®×ODsWGP6M–($WSƒ´¹ÁØ>Q€ ¼'}q©ø7C¿¼“̺ºÓíæ™ö¹Ú5,p8$ô®oâ·‰Eð¬övš¤zn¡yo;ÃpÒª2¤I¹¶nÆçf1ÆÃÍÞ3°×d- K8m" ·‡`Ž8Ê‚ª6‘…à ½à‚ —â‹Ïe¾›âKûk;Käd)=ð¶3(Æà:’9€z s¿¼VšƒZ=3Z‚ÎëR´šk[ÅFbŽ=äÄIÃ3“k´înõÎÃ[!KKû6îÎ;íKHxž-"ü[É#¶Ã¢A${£ %产Yµ‰¼6þKm_PŠ=ò$…g›R1‰Ð®@ó·†}Ê~c¸g9Ôšâè6š5´õÚÛièë›Í@Ƴ¤l‘™Çš ç*åƒ`äÁÓnn|Ioàè5+˽—ÚßÜ›[‡¶i'Qjˆ©÷Ò| íäqÀÇEá{ëOÁ:-ýäžeÕÖÓ>Ð7;F¥Ž$ž•‰WA[x.µëµÓÑÇÑÔ “e†J Ôàí®pv”cZ8¢µ³Kk{u†£ÇjQ@À€Â(¦î?ÜoÓühܸߧøÓÔSwî7éþ4n?ÜoÓühÕÍëqGÅZV“5ÅÜvrÙ]ܺÚÜÉnÍ$on¨KÆÊØWùsƒH$ t[÷ôÿÃñ*è+oÖ½vºz#˜âº:²l°ÉA"ºœ •ÎÀqòŒMá;ëOÁºýäžeÕÖŸo4Ï´ ÎÑ©cÀÉ'¥s¼HÚ/…g³´Õ#Óu ËyÞ†•Q•"Mͳv7;1Ž0înñ†»!iYÃi ¼;qÀÞP@„Q´Œ/mèGH¬¿^x{û-ôß_ÛYÚ_#!Iï…±™F7ÁÔ‘ÈÐàðh¯ŠRÊëG‡Z[»ëˆÒ-¶vö”–ÑÞK3F°‚ñœ¶ÕV'hxägê¶×–ðŽè³ÍªêþVŸ/Ÿ…Ùµ¹¹’?!í!•>Q¹·)’eSµ¶–]éäÑ ÒtíNêê!aa²{kÙï2ƒtf%s+7Ϲd#,Nwg“ƒQø•t·‚ë^»]=Ìq]@Ù6Xd ‘]NÐJç`8ùF3|ȵè7š¦¥}w4ö‘M.w¶kû‡Œ0+³Ë~Î T Yœ™^‹MŽú Î-RhçÔÙêXÆå 7°àp[' ú Ç×ì<3koaq«NºLˆmmdQkE`¤Æ r #)ÛþÇ+z8Žš@‹)Hã¦I ¶Ç,Ä–>ä’{Ò8º ²µZ.‚¬­$6f¦ŠSEbQ¡kÿÉøÿ:ã|á¿í_éÚÞ•äÿh,ðÛXIß/ì¶ÊΪŸÃ¿p$q»=ë±¶ öuÁç¨÷ª.½o¯ Ö´K˜Å¥ÇÙäV¯òÒL„|0u¿lºØƒÂú¶ƒâ-f Ý+PÓDvVR[Xiö³!‘mÙ¢Ý$‘©Ê ÇTÀ*>÷ÌÛ#í+OñÛµe%å”’ÄÓÛ¸•~Ñ• ÁC–Ly‘ü²oœqØØÃÿyïŸþ½0E7ýåÿ¾úôaÿ¼¿÷Ïÿ^€E7ýåÿ¾úôaÿ¼¿÷Ïÿ^€ ?Õ¿ÐÓª7å¶YzßýzvûËÿ|ÿõéêó½2x_TÑ´µ–6Ô-×VÐuŸ[ØÚêm¿öUíÃÅf“"Ü\]m•%>Vry’’HÜí–áT;,?÷—þùÿëÖ¿‰á¹ÕÐ[\¤\Kië"ySOÿ25Ë‚<©ye v•Ü‚¶Eã=3N°Ô­.í,u;FæÕ!>}§ç2Èn Ü|©°1S‘¸#5I¢_ønßâv½g§]éQÝ]Z[yÛÉynK£.UyiÁnãŒÖÕ¿‰á¹ÕÐ[\¤\Kië"ySOÿ25Ë‚<©ye v•Ýr×Uûv£=µ´É;•ïB¯“æ©ÃDíÌù TÊ[r•†µkË_ϦËucs5Þ«zn,Ö"·–±‡”Å<ͼB‹”Q¶H€l¾?ëè¥aÛøžQ-µÊA5Ķ^²'•4ñïó#P¸#Ê—–P§aÁ9]ÛD?˜>eè{}=é%Ü?÷—þùÿëчþòÿß?ýz`:¹}rþÏHñ–¨êWpYX>öss Ž1#IlÊ››qä¤+zé°ÿÞ_ûçÿ¯Yz®²Úmޤ6W:…åÂ<‰mj# å¡PîLŽ‹€]3Ÿ˜` |%ÿÏøv+ÿôI#Óí tŸ÷ed(ˆƒÑ‹¸ë“޵'‰fh-à[!k®l,n jÍ nw†DŒÊTÊ ÔŠÒ°½‹SÓ­¯ìæY-n¢I¡}„nF©Áäd֩꺵Þqo¾¨jO2;“h±Œ)Qó4’ ïàd“†ô4ÎëËoá­GÃëg}c¢ÚÚi÷pÝêY’Ù6ûa9t&F ’ý#•³•¯§ÜÙèð…ÝjMý“c‡åµ'Q”'“!û!XØ(ó1ñ€NÆ88Þ+Ž};I¹±°¼½›T´°ZB±¬‚!,ÅäT2ÆÜN[€@$I7‰á6úlºmµÎ¨ú¹»¶ŠÕ 3!ó]ÌŒ`ß0ダvÎÙôøGQ—QƒIÔ­4¨ìwö­7˜dŽ&h–%tv›t µA'†I#7…ìn4Ïè¶‘ùwVºtÌ›Úë†zQ/ˆ7éÖ7ºeæ«ôBxE¤J¿º Å¥tUûËò“¸äà­‹Ö—°êzTö“,¶·P,о»‘—*pyu€¹E7ýåÿ¾úôaÿ¼¿÷Ïÿ^˜¢›‡þòÿß?ýz0ÿÞ_ûçÿ¯@®_\¿³ÒŠÿýHôûH'ýÙY " ôbÄ.:äã­Sñ\«§ë:^ªuý7Gxíî-„š³< #™WýÐÀ-–ˆ)#¢°½‹SÓ­¯ìæY-n¢I¡}„nF©ÁädÖ©ëõ¾†lÖé.\ÝÜGo†ÕÝUžDŒqò Ë¼FyÆOÊëZµãÞxWWºº±ðürióÍ/öÄFHmîA¶>^,L¦“¢QŒ‹“kpìøg^Öü½ ô{‘/Ûd¬HÖ®!fm£~ø8'cqÁÆÖ­¯K¦j6–i—šÕÔRÌ©iå ©Œ1&Yu•zg½Iy«]ÚÛÚ´z6¡uq:o6Ь[¢ ïvF,’y+ Ž<>·ð5Æ·,zdxrKYd½a Ç1„FŰ‘§Ÿ‘½ tÞ‚k_h6÷I ñivé$r)VF( ƒÈ ñŠ&ñ<&ßM—M¶¹ÕQ·7vÑZ¢#4&d>k y‘Œ»æpq¥i{§¥Ai2ËkuÍ ì+¹r§‘GQH.‚¬­V‹ «+I ™‡©¢ƒÔÑX”hZÿDz~?Î¹ß >¥ýµ¯I{¡_XC}v·PÉ<¶ì0 ‚-¤G+ÙLc¾x®†Ù·S“ß¹õ¬ê:Ž¥.±©mmo=è·Tµå]¦dÉv XæCü#°ç;­ˆ*閺NjN©s¦Ob«i$}ÒÎ’HZ-¦ß JGˆßwË|¡e$|½Es:ˆ¥Ö|U®é륅‚B-çŧbóG)#øBÉ çalºMƒÕ¿ï£LQMØ=[þú4l­ÿ}u݃տï£FÁêß÷Ñ Oõoô4êÐÛ–èˆÓ¶Vÿ¾ \]†‘©ÇªiÖ’XHXkº“^™#1J“}§j ¿xûJçr¨ùü»»-ƒÕ¿ï£\ž¿¨ÍªYÉ/Ù¿³ïµ;­6(KAçþñ¤ÞC†û;|¡`ùŽß™Õ Üáò[`™8'x_+å ¯›¸}Ú›BÔ·áí3Vòš·ZEsåy…¶o@ÛsÆqœg©øŽmRÆÜßYê}ŽŸko4÷³]ÛKpÀ(R6¢HœmÉ<(äொtÛ‹­GO»[ëÛXbš9"Ón…µÈw1•a'™òðŽwòJ§h+Ƈ2xWEµ¸Ó¤¼Õ-mã¶/¦]›¶çze€²®UôR#;@¥—_ÿ„zÆêyôÍ*émú”·aåŽ ¨U‘FÐwæNŽvV;½SQo iú³O§è -ºOxú¶÷ÌÁq]Ñó¹ˆ,X`¨N¦ÜhÞÒô8ìoµ[{{H­e“Oº“æ5P¬3"aNÓœI‘ÀÃHÖÑlî4ÿ éöW†uogSt u@b€\ƒ€Àì+>[ÝZïÃÖ:”Mg¢ï´W§SY%û/È¡]ÑôËe‹ lû§vWKL¹—PЬï®-%³žâÙ&’ÚF;¡fPJÈ'Ó¥ 4(¦ì­ÿ}6Vÿ¾0E7`õoûèѰz·ýôhÕÏë1^Ûx‡MÖmtéõà´¹µx-ž5^ ûÇEÚ<–æÎYpÉÛ«ßF°õ‹ÍGûfÇHÒæ¶·žæÞ{¦¸º‰çP±4K°"º“0;·q´ŒäM XÜh>Ñ´ÙcûEÅ¥½¬žC eUQ˜ÛòŽ[×€NSñÔ&Ó­-ôý"ïP¶ÚÜ9‚HT"Ãq¤2E䪰Ï#œu­- P߇´Í[Êh~ÝiÏ•æÙ½mÏÆqœ ¯â‹»1q§¦i–±óqy©ntN@UÚ$ýâü` §vTˆl´?³u 4-Vâd‰Ð¥†§ö[˜7ìb­¶TG\ Ýóœ\‘ Þ$ƒFÑì%´»Ô%{pº­Ö™,1È]UATó=¡Ø·Î¼¨RRÁ’KÄ×piÚ$óËgáïí Cq<ú¸fŽÞ@#"Ü‚ñ~ðïb2AÄ-òžJ𗉮àÓ´Iç–ÏÃßÚ†âyõpͼ€FE¹âýáÞÄdƒˆ[å<•v·¥K7ö,ðh·ßa·´’a¦Ü¥¥Ì ÞQE² ¨GVE©;h+½¢ÙÜiþÓì¯ êÞÎ8¦6è2ê€6ŹØVþ%ÔdðLJµË+ a¤ö&äMtå [‰"\ ‡8Œ’¸À8n•Õ:rÝñ@W‹ «+U¢è*ÊÒCfaêh õ4V%íEº‚ÀzŸzÄÐt­WLÔõ;«ý_O»ŽþQpñÁbÐGc f—lCŒg'9ǹkÿÉøÿ:Á𠻊óÄv·z•Þ mõ5Hæº)¸)µ·|ŠªXðu'’I;­ˆ*øÁxsÄ·:…•ûg½”VpY<³ÈaXÉ+óÉ3>flAq–ßÖy‰ýõüë‰ðÒöãP¶€A‰DÓy»÷ɼ†OßË€Hù2ÇwM\ssý©¥j&òí§¾×oì'F¸vˆÁÚüµX‰Ø„y|Ê¡ŽIÜÙ`vÁŸíÍ4FŠáƒdî%³‚ÛŒNx§i`–úÆ£©Ir²ÍwåFœmò¡~Xúüß;Êû±ŸÞc¢ŠÒ®>=$Cã›hí5VI óu ó>¡3DzS"E„·–’åJ¯Ê-À<¸4¤ÚMÝÆ·kuy«E=•ÃÜÚÂ-ÂJ®Èñáä µ,®§„Ë a´›»nÖêóVŠ{;+‡¹µ„[„•]‘ãÃÈk Y\O –$Ôn¢›Nñž”c¸Ô¿Ó®$Oqr^ÞUò¦an‘Â:ìFÜ#\¬g.Yˆjz$Oaâk6ÚäW—:…Ø´¹›Si-'åxÑaY˜. £P6uÝŒ€iZømíõKyR‰ôûKÛBÚ%Mæïß&ò?.E#äËÝtóÞ½¥pêú¾ã=1.¢Ô·ßjwIvnÃÚKoåO,Q¤>gÈê©,#RLoóÄ·tÖ/ÐÿJ@b}:<Äþúþtê)€ß1?¾¿cêÚmÍÖ£i©iº…µ­õ´RÛƒsž6ŽC7Ê®‡vbLØÆîAUÍëqGÅZV“5ÅÜvrÙ]ܺÚÜÉnÍ$on¨KÆÊØWùsƒH$ iiö ¤hvU…ʈ좆Ýq¼´iµNpWæ*Ï@Np@Á5[Õ>ÅܪÛÁw̱c>w—–EÎA\H#|Ž»6žÔ>¾¸Ôü¡ßÞIæ]]iöóLû@Üí–8 ’zU?Zß\\Y4vڕ枉(žÛL½û,æRSË}þdy@¢PW%Ôí8Ê€M¯éwú¥Å„–Z”Ú¹‘íîíxå“*crD9B ’2Ccr©/!Õä·µ6z½”h›g2Ù™ ”2ÁŠêA|äÄÇs2Hu?‡Úˆu+­JkæBVÚÒþK%»ºœD1ˆ® …ü«æ1#Ký:+/iVš¦§ªÞMo[*Ùܼ_Ü6QÖ!\à¾À 3ð»”·>¹‹Nдý'V¶ŠÓI‰cßÚ›…™ ‰Ûd‘üÉ´‘ÕwØ ªGE8³E¸š)'#Æ»›¤’{dãÔ×/%µýÞ£áÍZ¾äm*yï^ÆæKo6æ3l›ƒÆQ¶þöO—€r Þ¾¸Ôü¢ßÞIæ]]iÐM3ís´jXàp2IéH 1?¾¿b}:uÀo˜Ÿß_Î1?¾¿:Šo˜Ÿß_αõm6æëQ´Ô´ÝBÚÖúÚ)mÁ¹€ÏG!›åWC»1&ìcw ªæõ¸Ž£â­+Išâî;9l®î]mnd·f’7·T%ãel+ü¹ÁÈ$4´ûÒ4; *ÂåDvQCn8ÞZ4Ú§8+óg '8 `šœZŒÞSéZ¥µ¤‹ësmçÆàãœF 1Á ŒÈ'aðõƧàÝþòO2êëO·šgÚçhÔ±Ààd“Ò²üW}wý³¥éÙêWv×V÷Ǧ\$Ÿ)¡UcIT̤¬£îîoøFÞÂßF]RŠ ô«#§Ä÷°}¡^#ÎåWŒïÌ)È8ûß/##Ò¥Óü=§èÚF¦¶±ÚE·Ÿ4Bi H›~^B‰81VPG(G‹®µË TÓíuGEšÊi éwæÍ™¤0´.Ù–"FÑ'œg¥GªÄúŸü#·ºe¶¹©èM§Ê@Óõ6¶‘‹ùvy£gùŸx““ÈÉ  -_ÃÓO¢iº>‹e§Yؽ»*Ol÷}ˆFõ’FöðHÎÜv5mg•*¶öGIÓ,t§‹I³‚Êåó¤ŠÂ&ýª¹ 8^zëÔ“V¦¬+Ò4íÇT»‹MÚזȱÉÚ̦ÍæTHÙÈ*ª‹Æcsqþã~ŸãY1®g­¨òáLÌI$–fc’ÌI$±$’I$“V>Õ7÷ÿAO‹û÷ôÿ7î7éþ5CíSô}ªoïþ‚Žt/î?ÜoÓühܸߧøÕµMýÿÐQö©¿¿ú 9ÐXºì|¶ù¡ô§n?ÜoÓük<ÜÌAø>—íSô¹ÐX¿¸ÿq¿Oñ®~ÖÛÃkâ‰ÒÚh›W‡tïd/‹yÇÍ(·ÞV6mü¸PO˜Ù?9ÎÚ¦þÿè+>=:Ò/³l‹f»–ö/˜ü³Kæon¼çΓƒÀÝÀ|è,mˆÂÜ<áeÞè¨A•Â’F8æ9 dñœàcÃYðÒëw–6:žžÚ¥ÕÁ{‹d¼F•¥DT?&âA 1´“Þ®ýªoïþ‚«Ùƺ| ¨òãid˜Ž¹y¤sÏ«3lñÅè,$Z>k®-ÊDË}'™ÒÌ™7*Â[b3'ÎÌœœ¶`þδÿ„‡ûÊÿ‰ŸÙ>Åçî?êwïÛ·;~÷9Æ}è²Ó,tÝFöþÆÎ k«í¦éáŒ/œT± Àp[.Ùn§<“ƒ‰íäÑŠ.Ö¨¥ÖÄCÍ·kÏ2H#ÂýØ‹)[÷dí í''¬Xùƒän‡ÓÚ°£Ó­"û6ȱök¹obùË4¾föëÎ|é8< Ü‹ÿi›9ßÏÐRçAcCqþã~ŸãFãýÆý?ƨ}ªoïþ‚µMýÿÐSçAbþãýÆý?ưüJº ÛÁu¯]®žˆæ8®Ž l›,2PH®§h%sƒ°|£~Õ7÷ÿAUÞ5“Q†ý†n¡ŠHc,1Ó“~^æŽt/‹HÎH h-áØ#Žò‚ ª¤axoB8 ‚Eeø–óÃÑÛÁoâ;ûkH%rÉÍð·YöŒ2°Þ‰†Ã#eNFA©l#]3N¶°³]­¬I )×j(FO'µ!m× pË‘$(7*±€8Ȫ’;í”s °—÷z3YYëW×6ËgjâêÞñîbRèчݸ)e g îçOÄöþÿEÔuûÆÓüðCsý¦ö_ ɹ$MÙòÔàçîÒÛiÖ–‘i±C#Ó"òlбaíòÁFÐÇ,0γaãY5oØf꤆7þê9BÃ91§åîhçAb¶½oáû]:Íõ«Æ°†ß÷]Ë©½´œŽSÎ+¶à€Xî( ɨâŠÖÍ-­íÖ"ŒGq¨UE:; ʲ´·Ó­ì µ‚4K+qklJîhâÂŽN>DÏ<íéO±‰4Ý6ÛO´]­´+Qç;Q@P2y<Éæ—: ÷ôÿ7î7éþ5CíSô}ªoïþ‚Ÿ: ÷î7éþ4n?ÜoÓüj‡Ú¦þÿè(ûTßßýè,_ܸߧøÖ‰WA[x.µëµÓÑÇÑÔ “e†J Ôàí®pv”bïÚ¦þÿè*»Æ²j0ß°ÍÔ1I oýÔr…†:rcOËÜÑ΂ÅñiYÃi ¼;qÀÞP@„Q´Œ/mèGH¬Íá¸þÊuýB-:Oœ[ÌÚ‘²‘‡Õ]]X¯Ü%sŒ…$d ³aéšuµ…˜òímbHaN»Q@ 2y8u¡ãY5oØf꤆7þê9BÃ91§åîhçAb+Í;A½Ñ­n›m¾Ÿio¾ÞêÊìÚ¬Pmå’'\EµTã;~U?Â1&§£èï§Dn¢k]>"kk–³û<@ ®øÙJÇ…RW;~E$|£kzu§ˆôyôZ/´XÏ·Ì‹qMÛX0åH#oN´ñ>“«Eö‹öù‘n)»k©ràÑ΂Äúž£¾º‰¬mtøˆI­®ZÏìñ2»ãe+I\íù‘òŒiGV¶imon°Áb8ãBª(ÐØV6·§ZxGŸIÕ¢ûEŒû|È·ݵƒT‚9ðjù¹˜‚ ð}….t9¿épj²`_ for an introduction. This guide discusses many but not all features of TraitsUI. For complete details of the TraitsUI API, refer to the :doc:`TraitsUI API Reference <../api/index>`. .. index:: MVC design pattern, Model-View-Controller, model, view (in MVC), controller .. _the-model-view-controller-mvc-design-pattern: The Model-View-Controller (MVC) Design Pattern ---------------------------------------------- A common and well-tested approach to building end-user applications is the :term:`MVC` ("Model-View-Controller") design pattern. In essence, the MVC pattern the idea that an application should consist of three separate entities: a :term:`model`, which manages the data, state, and internal ("business") logic of the application; one or more :term:`view`\ s, which format the model data into a graphical display with which the end user can interact; and a :term:`controller`, which manages the transfer of information between model and view so that neither needs to be directly linked to the other. In practice, particularly in simple applications, the view and controller are often so closely linked as to be almost indistinguishable, but it remains useful to think of them as distinct entities. The three parts of the MVC pattern correspond roughly to three classes in the Traits and TraitsUI packages. * Model: :term:`HasTraits` class (Traits package) * View: View class (TraitsUI package) * Controller: :term:`Handler` class (TraitsUI package) The remainder of this section gives an overview of these relationships. .. index:: HasTraits class; as MVC model .. _the-model-hastraits-subclasses-and-objects: The Model: HasTraits Subclasses and Objects ``````````````````````````````````````````` In the context of Traits, a model consists primarily of one or more subclasses or :term:`instance`\ s of the HasTraits class, whose :term:`trait attribute`\ s (typed attributes as defined in Traits) represent the model data. The specifics of building such a model are outside the scope of this manual; please see the `Traits User Manual `_ for further information. .. index:: View; as MVC view .. _the-view-view-objects: The View: View Objects `````````````````````` A view for a Traits-based application is an instance of a class called, conveniently enough, View. A View object is essentially a display specification for a GUI window or :term:`panel`. Its contents are defined in terms of instances of two other classes: :term:`Item` and :term:`Group`. [1]_ These three classes are described in detail in :ref:`the-view-and-its-building-blocks`; for the moment, it is important to note that they are all defined independently of the model they are used to display. Note that the terms :term:`view` and :term:`View` are distinct for the purposes of this document. The former refers to the component of the MVC design pattern; the latter is a TraitsUI construct. .. index:: Handler class; as MVC controller .. _the-controller-handler-subclasses-and-objects: The Controller: Handler Subclasses and Objects `````````````````````````````````````````````` The controller for a Traits-based application is defined in terms of the :term:`Handler` class. [2]_ Specifically, the relationship between any given View instance and the underlying model is managed by an instance of the Handler class. For simple interfaces, the Handler can be implicit. For example, none of the examples in the first four chapters includes or requires any specific Handler code; they are managed by a default Handler that performs the basic operations of window initialization, transfer of data between GUI and model, and window closing. Thus, a programmer new to TraitsUI need not be concerned with Handlers at all. Nonetheless, custom handlers can be a powerful tool for building sophisticated application interfaces, as discussed in :ref:`controlling-the-interface-the-handler`. .. index:: toolkit; selection .. _toolkit-selection: Toolkit Selection ----------------- The TraitsUI package is designed to be toolkit-independent. Programs that use TraitsUI do not need to explicitly import or call any particular GUI toolkit code unless they need some capability of the toolkit that is not provided by TraitsUI. However, *some* particular toolkit must be installed on the system in order to actually display GUI windows. TraitsUI uses a separate package, traits.etsconfig, to determine which GUI toolkit to use. This package is also used by other Enthought packages that need GUI capabilities, so that all such packages "agree" on a single GUI toolkit per application. The etsconfig package contains a singleton object, **ETSConfig** (importable from `traits.etsconfig.api`), which has a string attribute, **toolkit**, that signifies the GUI toolkit. .. index:: ETSConfig.toolkit The values of **ETSConfig.toolkit** that are supported by TraitsUI version |version| are: .. index:: wxPython toolkit, Qt toolkit, null toolkit * 'qt4' or 'qt': `PyQt `_ or `Qt for Python/PySide2 `_, which provides Python bindings for the `Qt `_ framework version 4 or 5. * 'wx': `wxPython `_, which provides Python bindings for the `wxWidgets `_ toolkit. * 'null': A do-nothing toolkit, for situations where neither of the other toolkits is installed, but Traits is needed for non-UI purposes. The default behavior of TraitsUI is to search for available toolkit-specific packages in the order listed, and uses the first one it finds. The programmer or the user can override this behavior in any of several ways, in the following order of precedence: .. index:: ETS_TOOLKIT, environment variable; ETS_TOOLKIT, toolkit; flag .. index:: toolkit; environment variable #. The program can explicitly set **ETSConfig.toolkit**. It must do this before importing from any other Enthought Tool Suite component, including traits. For example, at the beginning of a program:: from traits.etsconfig.api import ETSConfig ETSConfig.toolkit = 'wx' #. The user can define a value for the ETS_TOOLKIT environment variable. .. _structure-of-this-guide: Structure of this Manual ------------------------ The intent of this guide is to present the capabilities of the TraitsUI package in usable increments, so that you can create and display gradually more sophisticated interfaces from one chapter to the next. * :ref:`the-view-and-its-building-blocks`, :ref:`customizing-a-view`, and :ref:`advanced-view-concepts` show how to construct and display views from the simple to the elaborate, while leaving such details as GUI logic and widget selection to system defaults. * :ref:`controlling-the-interface-the-handler` explains how to use the Handler class to implement custom GUI behaviors, as well as menus and toolbars. * :ref:`introduction-to-trait-editor-factories` and :ref:`the-predefined-trait-editor-factories` show how to control GUI widget selection by means of trait :term:`editor`\ s. * :ref:`tips-tricks-and-gotchas` covers miscellaneous additional topics. * Further reference materials, including a :ref:`glossary-of-terms` and an API summary for the TraitsUI classes covered in this Manual, are located in the Appendices. .. rubric:: Footnotes .. [1] A third type of content object, Include, is discussed briefly in :ref:`include-objects`, but presently is not commonly used. .. [2] Not to be confused with the TraitHandler class of the Traits package, which enforces type validation. traitsui-7.2.1/docs/source/traitsui_user_manual/custom_view.rst0000644000076500000240000003655714046644454025614 0ustar aayresstaff00000000000000.. index:: View; customizing .. _customizing-a-view: ================== Customizing a View ================== As shown in the preceding two chapters, it is possible to specify a window in TraitsUI simply by creating a View object with the appropriate contents. In designing real-life applications, however, you usually need to be able to control the appearance and behavior of the windows themselves, not merely their content. This chapter covers a variety of options for tailoring the appearance of a window that is created using a View, including the type of window that a View appears in, the :term:`command button`\ s that appear in the window, and the physical properties of the window. .. index:: kind attribute .. _specifying-window-type-the-kind-attribute: Specifying Window Type: the **kind** Attribute ---------------------------------------------- Many types of windows can be used to display the same data content. A form can appear in a window, a wizard, or an embedded panel; windows can be *modal* (i.e., stop all other program processing until the box is dismissed) or not, and can interact with live data or with a buffered copy. In TraitsUI, a single View can be used to implement any of these options simply by modifying its **kind** attribute. There are seven possible values of **kind**: .. index:: modal; window kind, live; window kind, livemodal window kind .. index:: nonmodal window kind, wizard; window kind, panel; window kind .. index:: subpanel; window kind * 'modal' * 'live' * 'livemodal' * 'nonmodal' * 'wizard' (wx backend only) * 'panel' * 'subpanel' These alternatives are described below. If the **kind** attribute of a View object is not specified, the default value is 'modal'. .. index:: windows; stand-alone, modal; definition, live; definition .. _stand-alone-windows: Stand-alone Windows ``````````````````` The behavior of a stand-alone TraitsUI window can vary over two significant degrees of freedom. First, it can be :term:`modal`, meaning that when the window appears, all other GUI interaction is suspended until the window is closed; if it is not modal, then both the window and the rest of the GUI remain active and responsive. Second, it can be :term:`live`, meaning that any changes that the user makes to data in the window is applied directly and immediately to the underlying model object or objects; otherwise the changes are made to a copy of the model data, and are only copied to the model when the user commits them (usually by clicking an :guilabel:`OK` or :guilabel:`Apply` button; see :ref:`command-buttons-the-buttons-attribute`). The four possible combinations of these behaviors correspond to four of the possible values of the 'kind ' attribute of the View object, as shown in the following table. .. _matrix-of-traits-ui-windows-table: .. rubric:: Matrix of TraitsUI windows +-------------+----------------+-----------------+ | |not modal |modal | +=============+================+=================+ |**not live** |:term:`nonmodal`|:term:`modal` | +-------------+----------------+-----------------+ |**live** |:term:`live` |:term:`livemodal`| +-------------+----------------+-----------------+ All of these window types are identical in appearance. Also, all types support the **buttons** attribute, which is described in :ref:`command-buttons-the-buttons-attribute`. Usually, a window with command buttons is called a :term:`dialog box`. .. TODO: Add diagrams and/or examples to clarify. .. index:: wizard, windows; wizard .. _wizards: Wizards ``````` .. note:: Wizard views are only supported with the WX backend! Unlike a standalone window, whose contents appear as a single page or a tabbed display, a :term:`wizard` window presents the view's Groups as a series of pages that a user must navigate sequentially. (For more information about breaking up a view into groups, see :ref:`the-group-object`.) .. _example-3.1-displaying-a-view-the-wizard-style: .. rubric:: Example 3.1: Displaying a view the "wizard" style .. literalinclude:: examples/wizard.py :start-at: wizard.py leads to the following 2 modal dialogs: .. figure:: images/wizard_dialog_1.png :alt: First dialog from wizard view. .. figure:: images/wizard_dialog_2.png :alt: Second dialog from wizard view. TraitsUI Wizards are always modal and live. They always display a standard wizard button set; i.e., they ignore the **buttons** View attribute. In short, wizards are considerably less flexible than windows, and are primarily suitable for highly controlled user interactions such as software installation. .. index:: panel, subpanel, windows; panel, windows; subpanel .. _panels-and-subpanels: Panels and Subpanels ```````````````````` Both dialog boxes and wizards are secondary windows that appear separately from the main program display, if any. Often, however, you might need to create a window element that is embedded in a larger display. For such cases, the **kind** of the corresponding View object should be 'panel' or 'subpanel '. A :term:`panel` is very similar to a window, except that it is embedded in a larger window, which need not be a TraitsUI window. Like windows, panels support the **buttons** View attribute, as well as any menus and toolbars that are specified for the View (see :ref:`menus-and-menu-bars`). Panels are always live and nonmodal. A :term:`subpanel` is almost identical to a panel. The only difference is that subpanels do not display :term:`command button`\ s even if the View specifies them. .. Do subpanels support menus and toolbars? If not, add this to the documentation. (If so, why do they?) .. index:: buttons; attribute .. _command-buttons-the-buttons-attribute: Command Buttons: the **buttons** Attribute ------------------------------------------ A common feature of many windows is a row of command buttons along the bottom of the frame. These buttons have a fixed position outside any scrolled panels in the window, and are thus always visible while the window is displayed. They are usually used for window-level commands such as committing or cancelling the changes made to the form data, or displaying a help window. In TraitsUI, these command buttons are specified by means of the View object's **buttons** attribute, whose value is a list of buttons to display. [6]_ Consider the following variation on Example 3: .. index:: pair: examples; buttons .. _example-4-using-a-view-object-with-buttons: .. rubric:: Example 4: Using a View object with buttons .. literalinclude:: examples/configure_traits_view_buttons.py :start-at: configure_traits_view_buttons.py The resulting window has the same content as before, but now two buttons are displayed at the bottom: :guilabel:`OK` and :guilabel:`Cancel`: .. figure:: images/ui_for_ex4.jpg :alt: Dialog box with three fields and OK and Cancel buttons. Figure 4: User interface for Example 4 There are six standard buttons defined by TraitsUI. Each of the standard buttons has matching a string alias. You can either import and use the button names, or simply use their aliases: .. index:: buttons; standard, UndoButton, ApplyButton, RevertButton, OKButton .. index:: CancelButton .. _command-button-aliases-table: .. rubric:: Command button aliases +--------------+---------------------------+ |Button Name |Button Alias | +==============+===========================+ |UndoButton |'Undo' | +--------------+---------------------------+ |ApplyButton |'Apply' | +--------------+---------------------------+ |RevertButton |'Revert' | +--------------+---------------------------+ |OKButton |'OK' (case sensitive!) | +--------------+---------------------------+ |CancelButton |'Cancel' | +--------------+---------------------------+ Alternatively, there are several pre-defined button lists that can be imported from traitsui.menu and assigned to the buttons attribute: .. index:: OKCancelsButtons, ModalButtons, LiveButtons * OKCancelButtons = ``[OKButton, CancelButton]`` * ModalButtons = ``[ApplyButton, RevertButton, OKButton, CancelButton, HelpButton]`` * LiveButtons = ``[UndoButton, RevertButton, OKButton, CancelButton, HelpButton]`` Thus, one could rewrite the lines in Example 4 as follows, and the effect would be exactly the same:: from traitsui.menu import OKCancelButtons ... buttons=OKCancelButtons, ) .. index:: NoButtons The special constant NoButtons can be used to create a window or panel without command buttons. While this is the default behavior, NoButtons can be useful for overriding an explicit value for **buttons**. You can also specify ``buttons = []`` to achieve the same effect. Setting the **buttons** attribute to an empty list has the same effect as not defining it at all. It is also possible to define custom buttons and add them to the **buttons** list; see :ref:`custom-command-buttons` for details. .. index:: View; attributes, attributes; View .. _other-view-attributes: Other View Attributes --------------------- .. index:: dock attribute; View, height attribute; View, icon attribute .. index:: image attribute; View, resizable attribute; View .. index:: scrollable attribute, statusbar attribute, style attribute; View .. index:: title attribute, width attribute; View, x attribute, y attribute .. _attributes-of-view-by-category-table: .. rubric:: Attributes of View, by category Window display These attributes control the visual properties of the window itself, regardless of its content. dock: {'fixed', 'horizontal', 'vertical', 'tabbed'} The default docking style to use for sub-groups of the view. The following values are possible: * 'fixed': No rearrangement of sub-groups is allowed. * 'horizontal': Moveable elements have a visual "handle" to the left by which the element can be dragged. * 'vertical': Moveable elements have a visual "handle" above them by which the element can be dragged. * 'tabbed': Moveable elements appear as tabbed pages, which can be arranged within the window or "stacked" so that only one appears at at a time. height: int or float Requested height for the view window, as an (integer) number of pixels, or as a (floating point) fraction of the screen height. icon: str The name of the icon to display in the dialog window title bar. image: Image The image to display on notebook tabs. resizable: bool Can the user resize the window? scrollable: bool Can the user scroll the view? If set to True, window-level scroll bars appear whenever the window is too small to show all of its contents at one time. If set to False, the window does not scroll, but individual widgets might still contain scroll bars. statusbar: Status bar items to add to the view's status bar. The value can be: - **None**: No status bar for the view (the default). - string: Same as ``[StatusItem(name=string)]``. - StatusItem: Same as ``[StatusItem]``. - ``[[StatusItem|string], ... ]``: Create a status bar with one field for each StatusItem in the list (or tuple). The status bar fields are defined from left to right in the order specified. A string value is converted to: ``StatusItem(name=string)``: style: The default editor style of elements in the view. title: str Title for the view, displayed in the title bar when the view appears as a secondary window (i.e., dialog or wizard). If not specified, "Edit properties" is used as the title. width: int or float Requested width for the view window, as an (integer) number of pixels, or as a (floating point) fraction of the screen width. x, y: int or float The requested x and y coordinates for the window (positive for top/left, negative for bottom/right, either pixels or proportions) .. index:: close_result attribute .. index:: handler attribute .. index:: key_bindings attribute .. index:: menubar attribute .. index:: model_view attribute .. index:: on_apply attribute .. index:: toolbar attribute .. index:: updated attribute .. index:: content attribute; View .. index:: drop_class attribute Command TraitsUI menus and toolbars are generally implemented in conjunction with custom :term:`Handler`\ s; see :ref:`menus-and-menu-bars` for details. buttons: List of button actions to add to the view. The **traitsui.menu** module defines standard buttons, such as **OKButton**, and standard sets of buttons, such as **ModalButtons**, which can be used to define a value for this attribute. This value can also be a list of button name strings, such as ``['OK', 'Cancel', 'Help']``. If set to the empty list, the view contains a default set of buttons (equivalent to **LiveButtons**: Undo/Redo, Revert, OK, Cancel, Help). To suppress buttons in the view, use the **NoButtons** variable, defined in **traitsui.menu**. close_result: What result should be returned if the user clicks the window or dialog close button or icon? handler: The Handler object that provides GUI logic for handling events in the window. Set this attribute only if you are using a custom Handler. If not set, the default Traits UI Handler is used. key_bindings: The set of global key bindings for the view. Each time a key is pressed while the view has keyboard focus, the key is checked to see if it is one of the keys recognized by the KeyBindings object. menubar: The menu bar for the view. Usually requires a custom **handler**. model_view: The factory function for converting a model into a model/view object. on_apply: Called when modal changes are applied or reverted. toolbar: The toolbar for the view. Usually requires a custom **handler**. updated: Event Event when the view has been updated. .. index:: export attribute; View .. index:: imports attribute .. index:: object attribute; View Content The **imports** and **drop_class** attributes control what objects can be dragged and dropped on the view. content: The top-level Group object for the view. drop_class: Class of dropped objects that can be added. export: The category of exported elements. imports: The valid categories of imported elements. object: The default object being edited. .. index:: help attribute; View .. index:: help_id attribute; View User help help: (deprecated) The **help** attribute is a deprecated way to specify that the View has a Help button. Use the buttons attribute instead (see :ref:`command-buttons-the-buttons-attribute` for details). help_id: The **help_id** attribute is not used by Traits, but can be used by a custom help handler. .. index:: id attribute; View Unique id: The **id** attribute is used as a key to save user preferences about a view, such as customized size and position, so that they are restored the next time the view is opened. The value of **id** must be unique across all Traits-based applications on a system. If no value is specified, no user preferences are saved for the view. .. rubric:: Footnotes .. [6] Actually, the value of the **buttons** attribute is really a list of Action objects, from which GUI buttons are generated by TraitsUI. The Action class is described in :ref:`actions`. traitsui-7.2.1/docs/source/traitsui_user_manual/factories_basic.rst0000644000076500000240000013661714046644454026366 0ustar aayresstaff00000000000000 .. _the-predefined-trait-editor-factories: ===================================== The Predefined Trait Editor Factories ===================================== This chapter contains individual descriptions of the predefined trait editor factories provided by TraitsUI. Most of these editor factories are straightforward and can be used easily with little or no expertise on the part of the programmer or end user; these are described in :ref:`basic-trait-editor-factories`. The section :ref:`advanced-trait-editors` covers a smaller set of specialized editors that have more complex interfaces or that are designed to be used along with complex editors. .. NOTE:: Examples are toolkit-specific. The exact appearance of the editors depends on the underlying GUI toolkit. The screenshots and descriptions in this chapter are based on wxWindows. Another supported GUI toolkit is Qt, from TrollTech. Rather than trying to memorize all the information in this chapter, you might skim it to get a general idea of the available trait editors and their capabilities, and use it as a reference thereafter. .. _basic-trait-editor-factories: Basic Trait Editor Factories ---------------------------- The editor factories described in the following sections are straightforward to use. You can pass the editor object returned by the editor factory as the value of the *editor* keyword parameter when defining a trait. .. _arrayeditor: ArrayEditor() ````````````` :Suitable for: 2-D Array, 2-D CArray :Default for: Array, CArray (if 2-D) :Optional parameter: *width* The editors generated by ArrayEditor() provide text fields (or static text for the read-only style) for each cell of a two-dimensional NumPy array. Only the simple and read-only styles are supported by the wxWidgets implementation. You can specify the width of the text fields with the *width* parameter. This editor is only suitable for small arrays. For editing large two-dimensional arrays use the ArrayViewEditor instead .. figure:: images/array_editors.png :alt: 3x3 integer; integer read-only; 4x4 float; float read-only Figure 21: Array editors The following code generates the editors shown in Figure 21. .. _example-14-demonstration-of-array-editors: .. rubric:: Example 14: Demonstration of array editors .. literalinclude:: examples/array_editor.py :start-at: array_editor.py BooleanEditor() ``````````````` :Suitable for: Bool, CBool :Default for: Bool, CBool :Optional parameters: *mapping* BooleanEditor is one of the simplest of the built-in editor factories in the TraitsUI package. It is used exclusively to edit and display Boolean (i.e, True/False) traits. In the simple and custom styles, it generates a checkbox. In the text style, the editor displays the trait value (as one would expect) as the strings True or False. However, several variations are accepted as input: - :samp:`'True'` - ``T`` - ``Yes`` - ``y`` - :samp:`'False'` - ``F`` - ``No`` - ``n`` The set of acceptable text inputs can be changed by setting the BooleanEditor() parameter *mapping* to a dictionary whose entries are of the form *str*: *val*, where *val* is either True or False and *str* is a string that is acceptable as text input in place of that value. For example, to create a Boolean editor that accepts only yes and no as appropriate text values, you might use the following expression:: editor=BooleanEditor(mapping={"yes": True, "no": False}) Note that in this case, the strings True and False would *not* be acceptable as text input. Figure 22 shows the four styles generated by BooleanEditor(). .. figure:: images/BooleanEditor_demo.png :alt: simple: checkbox; custom: checkbox; text: text field; read-only: read-only Figure 22: Boolean editor styles ButtonEditor() `````````````` :Suitable for: Button, Event, ToolbarButton :Default for: Button, ToolbarButton :Optional parameters: *height_padding*, *image*, *label*, *label_value*, *orientation*, *style*, *value*, *values_trait*, *view*, *width_padding* The ButtonEditor() factory is designed to be used with an Event or Button [16]_ trait. When a user clicks a button editor, the associated event is fired. Because events are not printable objects, the text and read-only styles are not implemented for this editor. The simple and custom styles of this editor are identical. .. figure:: images/ButtonEditor_demo.png :alt: simple: button; custom: button; text style unavailable; read-only style unavailable Figure 23: Button editor styles By default, the label of the button is the name of the Button or Event trait to which it is linked. [17]_ However, this label can be set to any string by specifying the *label* parameter of ButtonEditor() as that string. Alternatively, use *label_value* to specify the name of the trait to use as the button label. You can specify a value for the trait to be set to, using the *value* parameter. If the trait is an Event, then the value is not stored, but might be useful to an event listener. Use *values_trait* to specify the name of the trait on the object that contains the list of possible values. If this is set, then the *value*, *label*, and *label_value* traits are ignored; instead, they will be set from this list. When this button is clicked, the value set will be the one selected from the drop-down. .. _checklisteditor: CheckListEditor() ````````````````` :Suitable for: List :Default for: (none) :Optional parameters: *cols*, *name*, *values* The editors generated by the CheckListEditor() factory are designed to enable the user to edit a List trait by selecting elements from a "master list", i.e., a list of possible values. The list of values can be supplied by the trait being edited, or by the *values* parameter. The *values* parameter can take either of two forms: - A list of strings - A list of tuples of the form (*element*, *label*), where *element* can be of any type and *label* is a string. In the latter case, the user selects from the labels, but the underlying trait is a List of the corresponding *element* values. Alternatively, you can use the *name* parameter to specify a trait attribute containing the label strings for the values. The custom style of editor from this factory is displayed as a set of checkboxes. By default, these checkboxes are displayed in a single column; however, you can initialize the *cols* parameter of the editor factory to any value between 1 and 20, in which case the corresponding number of columns is used. The simple style generated by CheckListEditor() appears as a drop-down list; in this style, only one list element can be selected, so it returns a list with a single item. The text and read-only styles represent the current contents of the attribute in Python-style text format; in these cases the user cannot see the master list values that have not been selected. The four styles generated by CheckListEditor() are shown in Figure 24. Note that in this case the *cols* parameter has been set to 4. .. figure:: images/CheckListEditor_demo.png :alt: simple: drop-list; custom: checkboxes; text and read-only: str() of the list Figure 24: Checklist editor styles .. TODO: Change the demo and update the figure accordingly. The (value, label) option should also be demonstrated. CodeEditor() ```````````` :Suitable for: Code, Str, String :Default for: Code :Optional parameters: *auto_set* The purpose of a code editor is to display and edit Code traits, though it can be used with the Str and String trait types as well. In the simple, text, and custom styles (which are identical for this editor), the text is displayed in numbered, non-wrapping lines with a horizontal scrollbar. The read-only style is similar to the other styles except that the text is not editable. .. figure:: images/CodeEditor_demo.png :alt: simple, custom, and read-only: multi-line, numbered, text field; text: single line text field Figure 25: Code editor styles The *auto_set* keyword parameter is a Boolean value indicating whether the trait being edited should be updated with every keystroke (True) or only when the editor loses focus, i.e., when the user tabs away from it or closes the window (False). The default value of this parameter is True. .. _coloreditor: ColorEditor() ````````````` :Suitable for: Color :Default for: Color :Optional parameters: *mapped* The editors generated by ColorEditor() are designed to enable the user to display a Color trait or edit it by selecting a color from the palette available in the underlying GUI toolkit. The four styles of color editor are shown in Figure 26. .. figure:: images/ColorEditor_demo.png :alt: simple and text: colored text field; custom: color picker; read-only: colored field Figure 26: Color editor styles In the simple style, the editor appears as a text box. The text in the box is either a color name or a tuple of the form (*r*, *g*, *b*) where *r*, *g*, and *b* are the numeric values of the red, green and blue color components respectively. (Which representation is used depends on how the value was entered.) The text value is not directly editable in this style of editor; instead, clicking on the text box displays a pop-up panel similar in appearance and function to the custom style. The custom style includes a labeled color swatch on the left, representing the current value of the Color trait, and a palette of common color choices on the right. Clicking on any tile of the palette changes the color selection, causing the swatch to update accordingly. Clicking on the swatch itself causes a more detailed, platform-specific interface to appear in a dialog box, such as is shown in Figure 27. .. figure:: images/color_picker_windows.jpg :alt: MS Windows color selection dialog box Figure 27: Custom color selection dialog box for Microsoft Windows XP The text style of editor looks exactly like the simple style, but the text box is editable (and clicking on it does not open a pop-up panel). The user must enter a recognized color name or a properly formatted (*r*, *g*, *b*) tuple. The read-only style displays the text representation of the currently selected Color value (name or tuple) on a minimally-sized background of the corresponding color. **For advanced users:** The *mapped* keyword parameter of ColorEditor() is a Boolean value indicating whether the trait being edited has a built-in mapping of user-oriented representations (e.g., strings) to internal representations. Since ColorEditor() is generally used only for Color traits, which are mapped (e.g., 'cyan' to wx.Colour(0,255,255) ), this parameter defaults to True and is not of interest to most programmers. However, it is possible to define a custom color trait that uses ColorEditor() but is not mapped (i.e., uses only one representation), which is why the attribute is available. CompoundEditor() ```````````````` :Suitable for: special :Default for: "compound" traits :Optional parameters: *auto_set* An editor generated by CompoundEditor() consists of a combination of the editors for trait types that compose the compound trait. The widgets for the compound editor are of the style specified for the compound editor (simple, custom, etc.). The editors shown in Figure 28 are for the following trait, whose value can be an integer between 1 and 6, or any of the letters 'a' through 'f':: compound_trait = Trait(1, Range(1, 6), 'a', 'b', 'c', 'd', 'e', 'f') .. figure:: images/CompoundEditor_demo.png :alt: simple: slider for numbers, drop-list for letters; custom: radio buttons for both Figure 28: Example compound editor styles The *auto_set* keyword parameter is a Boolean value indicating whether the trait being edited should be updated with every keystroke (True) or only when the editor loses focus, i.e., when the user tabs away from it or closes the window (False). The default value of this parameter is True. CSVListEditor() ```````````````` :Suitable for: lists of simple data types :Default for: none :Optional parameters: *auto_set*, *enter_set*, *ignore_trailing_sep*, *sep* This editor provides a line of text for editing a list of certain simple data types. The following List traits can be edited by a CSVListEditor: * List(Int) * List(Float) * List(Str) * List(Enum('string1', 'string2', `etc`)) * List(Range(low= `low value or trait name`, high= `high value or trait name`)) The 'text', 'simple' and 'custom' styles are all the same. They provide a single line of text in which the user can enter the list. The 'readonly' style provides a line of text that can not be edited by the user. The default separator of items in the list is a comma. This can be overridden with the *sep* keyword parameter. .. figure:: images/CSVListEditor_demo.png Figure 29: Example CSV list editor styles Parameters :::::::::: *auto_set* : bool If *auto_set* is True, each key pressed by the user triggers validation of the input, and if it is valid, the value of the object being edited is updated. `Default:` True *enter_set* : bool If *enter_set* is True, the input is updated when the user presses the `Enter` key. `Default:` False *sep* : str or None The separator of the list item in the text field. If `sep` is None, each contiguous span of whitespace is a separator. (Note: After the text field is split at the occurrences of `sep`, leading and trailing whitespace is removed from each item before converting to the underlying data type.) `Default:` ',' (a comma) *ignore_trailing_sep* : bool If *ignore_trailing_sep* is True, the user may enter a trailing separator (e.g. '1, 2, 3,') and it will be ignored. If this is False, a trailing separator is an error. `Default:` True See Also :::::::: ListEditor, TextEditor DateEditor() ```````````` :Suitable for: Date, List(Date) (custom style only) :Default for: Date :Optional parameters: *allow_future*, *message*, *months*, *multi_select*, *on_mixed_select*, *padding*, *shift_to_select*, *selected_style*, *strftime*, *view* The DateEditor() displays a Python datetime.date object, usually supplied via a Date trait. The simple style shows a date spin control, while the custom style shows one (or potentially more in the wx backend) months in a calendar view. Dates can be restricted to past-only by setting *allow_future* to False. The custom style can also be used for the selection of multiple dates as an ordered list of dates by setting *multi_select* to True. The styling of the selected dates can be controlled via setting the *selected_style* to a CellFormat() instance. For readonly style, the user can set the message to display if the date value is None, and a date format string for use with strftime. DatetimeEditor() ```````````````` :Suitable for: Datetime :Default for: Datetime :Optional parameters: *maximum_datetime*, *message*, *minimum_datetime*, *strftime* The DatetimeEditor() displays a Python datetime.datetime object, usually supplied via a Datetime trait. The simple style shows a datetime spin control, and maximum and minimum selectable datetimes can be supplied to restrict the range of values. For readonly style, the user can set the message to display if the datetime value is None, and a datetime format string for use with strftime. The DatetimeEditor is not yet available for the wxPython backend. .. figure:: images/DatetimeEditor_demo.png Figure 30: Example Datetime editor styles DirectoryEditor() ````````````````` :Suitable for: Directory :Default for: Directory :Optional parameters: *entries*, *filter*, *filter_name*, *reload_name*, *truncate_ext*, *dclick_name* A directory editor enables the user to display a Directory trait or set it to some directory in the local system hierarchy. The four styles of this editor are shown in Figure 29. .. figure:: images/DirectoryEditor_demo.png :alt: simple: combo box with '...' button; custom: folder tree Figure 31: Directory editor styles In the simple style, the current value of the trait is displayed in a combo box to the left of a button labeled '...'. The user can type a new path directly into the text box, select a previous value from the droplist of the combo box, or use the button to bring up a directory browser panel similar to the custom style of editor. When the user selects a directory in this browser, the panel collapses, and control is returned to the original editor widget, which is automatically populated with the new path string. The user can also drag and drop a directory object onto the simple style editor. The custom style displays a directory browser panel, in which the user can expand or collapse directory structures, and click a folder icon to select a directory. The text style of editor is simply a text box into which the user can type a directory path. The 'readonly' style is identical to the text style, except that the text box is not editable. The optional parameters are the same as the FileEditor. No validation is performed on Directory traits; the user must ensure that a typed-in value is in fact an actual directory on the system. .. _enumeditor: EnumEditor() ```````````` :Suitable for: Enum, Any :Default for: Enum :Required parameters: for non-Enum traits: *values* or *name* :Optional parameters: *cols*, *evaluate*, *mode*, *completion_mode* (Qt only) The editors generated by EnumEditor() enable the user to pick a single value from a closed set of values. .. figure:: images/EnumEditor_demo.png :alt: simple: drop-list; custom: radio buttons; text: text; read-only: read-only Figure 32: Enumeration editor styles The simple style of editor is a drop-down list box. If *evaluate* is True then the user can also enter text. The *completion_mode* parameter controls how to display partially matching values, either as inline text when there is only one matching enumeration, or as a popup menu of all possible matches. The custom style is a set of radio buttons. Use the *cols* parameter to specify the number of columns of radio buttons. The text style is an editable text field; if the user enters a value that is not in enumerated set, the background of the field turns red, to indicate an error. You can specify a function to evaluate text input, using the *evaluate* parameter. The read-only style is the value of the trait as static text. If the trait attribute that is being edited is not an enumeration, you must specify either the trait attribute (with the *name* parameter), or the set of values to display (with the *values* parameter). The *name* parameter can be an extended trait name. The *values* parameter can be a list, tuple, or dictionary, or a "mapped" trait. By default, an enumeration editor sorts its values alphabetically. To specify a different order for the items, give it a mapping from the normal values to ones with a numeric tag. The enumeration editor sorts the values based on the numeric tags, and then strips out the tags. .. _example-15-enumeration-editor-with-mapped-values: .. rubric:: Example 15: Enumeration editor with mapped values .. literalinclude:: examples/enum_editor.py :start-at: enum_editor.py The enumeration editor strips the characters up to and including the colon. It assumes that all the items have the colon in the same position; therefore, if some of your tags have multiple digits, you should use zeros to pad the items that have fewer digits. .. _fileeditor: FileEditor() ```````````` :Suitable for: File :Default for: File :Optional parameters: *entries*, *filter*, *filter_name*, *reload_name*, *truncate_ext*, *dclick_name*, *dialog_style* A file editor enables the user to display a File trait or set it to some file in the local system hierarchy. The styles of this editor are shown in the following Figure. .. figure:: images/FileEditor_demo.png :alt: simple: text box with 'Browse' or '...' button; custom: file tree; text: text box; read-only: read-only Figure 33: File editor styles The default version of the simply style displays a text box and a :guilabel:`Browse` button. Clicking :guilabel:`Browse` opens a platform-specific file selection dialog box. On the wx backend, if you specify the *entries* keyword parameter with an integer value to the factory function, the simple style is a combo box and a button labeled :guilabel:`...`. The user can type a file path in the combo box, or select one of *entries* previous values. Support for the *entries* parameter is yet to be implemented on the qt backend. Clicking the :guilabel:`...` button opens a browser panel similar to the custom style of editor. When the user selects a file in this browser, the panel collapses, and control is returned to the original editor widget, which is automatically populated with the new path string. For either version of the simple style, the user can drag and drop a file object onto the control. The custom style displays a file system browser panel, in which the user can expand or collapse directory structures, and click an icon to select a file. You can specify a list of filters to apply to the file names displayed, using the *filter* keyword parameter of the factory function. For example, you could use a *filter* value of ``['*.py']`` to display only Python source files. You can also specify this parameter for the simple style, and it will be used in the file selection dialog box or pop-up file system browser panel. Alternatively, you can specify *filter_name*, whose value is an extended trait name of a trait attribute that contains the list of filters. The *reload_name* parameter is an extended trait name of a trait attribute that is used to notify the editor when the view of the file system needs to be reloaded. The *truncate_ext* parameter is a Boolean that indicates whether the file extension is removed from the returned filename. It is False by default, meaning that the filename is not modified before it is returned. The *dclick_name* parameter is an extended trait name of a trait event which is fired when the user double-clicks on a file name when using the custom style. When using the simple style, the *dialog_style* parameter controls the type of file dialog that will open when the user clicks on the folder icon. Setting the value of ``open`` makes the control pop up an "Open File" dialog; setting the value of `save` will result in a "Save As" dialog. FontEditor() ```````````` :Suitable for: Font :Default for: Font A font editor enables the user to display a Font trait or edit it by selecting one of the fonts provided by the underlying GUI toolkit. The four styles of this editor are shown in Figure 32. .. figure:: images/FontEditor_demo.png :alt: simple: text box; custom: text box with drop-lists for typeface and size Figure 34: Font editor styles In the simple style, the currently selected font appears in a display similar to a text box, except that when the user clicks on it, a platform-specific dialog box appears with a detailed interface, such as is shown in Figure 33. When the user clicks :guilabel:`OK`, control returns to the editor, which then displays the newly selected font. .. figure:: images/font_dialog_windows.jpg :alt: MS Windows font selection dialog box Figure 33: Example font dialog box for Microsoft Windows In the custom style, an abbreviated version of the font dialog box is displayed in-line. The user can either type the name of the font in the text box or use the two drop-down lists to select a typeface and size. In the text style, the user *must* type the name of a font in the text box provided. No validation is performed; the user must enter the correct name of an available font. The read-only style is identical except that the text is not editable. HistoryEditor() ``````````````` :Suitable for: string traits :Default for: (none) :Optional parameters: *entries* HistoryEditor() generates a combo box, which allows the user to either enter a text string or select a value from a list of previously-entered values. The same control is used for all editor styles. The *entries* parameter determines how many entries are preserved in the history list. This type of control is used as part of the simple style of file editor; see :ref:`fileeditor`. HTMLEditor() ```````````` :Suitable for: HTML, string traits :Default for: HTML :Optional parameters: *format_text* The "editor" generated by HTMLEditor() interprets and displays text as HTML. It does not support the user editing the text that it displays. It generates the same type of editor, regardless of the style specified. Figure 34 shows an HTML editor in the upper pane, with a code editor in the lower pane, displaying the uninterpreted text. .. figure:: images/html_code_editor.png :alt: formatted and unformatted HTML text Figure 34: Example HTML editor, with code editor showing original text .. NOTE:: HTML support is limited in the wxWidgets toolkit. The set of tags supported by the wxWidgets implementation of the HTML editor is a subset of the HTML standard. It does not support style sheets or complex formatting. Refer to the `wxWidgets documentation `_ for details. If the *format_text* argument is True, then the HTML editor supports basic implicit formatting, which it converts to HTML before passing the text to the HTML interpreter. The implicit formatting follows these rules: - Indented lines that start with a dash ('-') are converted to unordered lists. - Indented lines that start with an asterisk ('*') are converted to ordered lists. - Indented lines that start with any other character are converted to code blocks. - Blank lines are converted to paragraph separators. The following text produces the same displayed HTML as in Figure 34, when *format_text* is True:: This is a code block: def foo ( bar ): print 'bar:', bar This is an unordered list: - An - unordered - list This is an ordered list: * One * Two * Three ImageEditor() ````````````` :Suitable for: (any) :Default for: (none) :Optional parameters: *image*, *scale*, *preserve_aspect_ratio*, *allow_upscaling*, *allow_clipping* ImageEditor() generates a read-only display of an image. The image to be displayed is determined by the *image* parameter, or by the value of the trait attribute being edited, if *image* is not specified. In either case, the value must be a Pyface ImageResource (pyface.api.ImageResource), or a string that can be converted to one. If *image* is specified, then the type and value of the trait attribute being edited are irrelevant and are ignored. For the Qt backend *scale*, *preserve_aspect_ratio*, *allow_upscaling*, and *allow_clipping* control whether the image should be scaled or not, and how to perform that scaling. ImageEnumEditor() ````````````````` :Suitable for: Enum, Any :Default for: (none) :Required parameters: for non-Enum traits: *values* or *name* :Optional parameters: *path*, *klass* or *module*, *cols*, *evaluate*, *suffix* The editors generated by ImageEnumEditor() enable the user to select an item in an enumeration by selecting an image that represents the item. .. figure:: images/ImageEnumEditor_demo.png :alt: simple: single image button; custom: multiple images: text: "top right"; read-only: image Figure 35: Editor styles for image enumeration The custom style of editor displays a set of images; the user selects one by clicking it, and it becomes highlighted to indicate that it is selected. The simple style displays a button with an image for the currently selected item. When the user clicks the button, a pop-up panel displays a set of images, similar to the custom style. The user clicks an image, which becomes the new image on the button. The text style does not display images; it displays the text representation of the currently selected item. The user must type the text representation of another item to select it. The read-only style displays the image for the currently selected item, which the user cannot change. The ImageEnumEditor() function accepts the same parameters as the EnumEditor() function (see :ref:`enumeditor`), as well as some additional parameters. .. NOTE:: Image enumeration editors do not use ImageResource. Unlike most other images in the Traits and TraitsUI packages, images in the wxWindows implementation of image enumeration editors do not use the Pyface ImageResource class. In the wxWidgets implementation, image enumeration editors use the following rules to locate images to use: #. Only GIF (.gif) images are currently supported. #. The base file name of the image is the string representation of the value, with spaces replaced by underscores and the suffix argument, if any, appended. Note that suffix is not a file extension, but rather a string appended to the base file name. For example, if *suffix* is ``_origin`` and the *value* is 'top left', the image file name is :file:`top_left_origin.gif`. #. If the *path* parameter is defined, it is used to locate the file. It can be absolute or relative to the file where the image enumeration editor is defined. #. If *path* is not defined and the *klass* parameter is defined, it is used to locate the file. The *klass* parameter must be a reference to a class. The editor searches for an images subdirectory in the following locations: #. The directory that contains the module that defines the class. #. If the class was executed directly, the current working directory. #. If *path* and *klass* are not defined, and the *module* parameter is defined, it is used to locate the file. The *module* parameter must be a reference to a module. The editor searches for an images subdirectory of the directory that contains the module. #. If *path*, *klass*, and *module* are not defined, the editor searches for an images subdirectory of the traitsui.wx package. #. If none of the above paths are defined, the editor searches for an :file:`images` directory that is a sibling of the directory from which the application was run. InstanceEditor() ```````````````` :Suitable for: Instance, Property, self, This :Default for: Instance, self, This :Optional parameters: *cachable*, *editable*, *id*, *kind*, *label*, *name*, *object*, *orientation*, *values*, *view* The editors generated by InstanceEditor() enable the user to select an instance, or edit an instance, or both. Editing a Single Instance ::::::::::::::::::::::::: In the simplest case, the user can modify the trait attributes of an instance assigned to a trait attribute, but cannot modify which instance is assigned. .. figure:: images/InstanceEditor_demo.png :alt: simple: button; custom: editors for instance traits; text and custom: str() of instance Figure 36: Editor styles for instances The custom style displays a user interface panel for editing the trait attributes of the instance. The simple style displays a button, which when clicked, opens a window containing a user interface for the instance. The *kind* parameter specifies the kind of window to open (see :ref:`stand-alone-windows`). The *label* parameter specifies a label for the button in the simple interface. The *view* parameter specifies a view to use for the referenced instance's user interface; if this is not specified, the default view for the instance is used (see :ref:`defining-a-default-view`). The text and read-only styles display the string representation of the instance. They therefore cannot be used to modify the attributes of the instance. A user could modify the assigned instance if they happened to know the memory address of another instance of the same type, which is unlikely. These styles can useful for prototyping and debugging, but not for real applications. Selecting Instances ::::::::::::::::::: You can add an option to select a different instance to edit. Use the *name* parameter to specify the extended name of a trait attribute in the context that contains a list of instances that can be selected or edited. (See :ref:`the-view-context` for an explanation of contexts.) Using these parameters results in a drop-drown list box containing a list of text representations of the available instances. If the instances have a **name** trait attribute, it is used for the string in the list; otherwise, a user-friendly version of the class name is used. For example, the following code defines a Team class and a Person class. A Team has a roster of Persons, and a captain. In the view for a team, the user can pick a captain and edit that person's information. .. _example-16-instance-editor-with-instance-selection: Example 16: Instance editor with instance selection .. literalinclude:: examples/instance_editor_selection.py :start-at: instance_editor_selection.py .. figure:: images/ui_for_ex16.png :alt: Dialog box for a "team", with drop-list selection for "Team Captain" Figure 37: User interface for Example 16 If you want the user to be able to select instances, but not modify their contents, set the *editable* parameter to False. In that case, only the selection list for the instances appears, without the user interface for modifying instances. Allowing Instances :::::::::::::::::: You can specify what types of instances can be edited in an instance editor, using the *values* parameter. This parameter is a list of items describing the type of selectable or editable instances. These items must be instances of subclasses of traitsui.api.InstanceChoiceItem. If you want to generate new instances, put an InstanceFactoryChoice instance in the *values* list that describes the instance to create. If you want certain types of instances to be dropped on the editor, use an InstanceDropChoice instance in the values list. .. TODO: Need an example here. ListEditor() ```````````` :Suitable for: List :Default for: List [18]_ :Optional parameters: *editor*, *rows*, *style*, *scrollable*, *trait_handler*, *use_notebook* The following parameters are used only if *use_notebook* is True: *deletable*, *dock_style*, *export*, *page_name*, *select*, *view* The editors generated by ListEditor() enable the user to modify the contents of a list, both by editing the individual items and by adding, deleting, and reordering items within the list. .. figure:: images/ListEditor_demo.png :alt: simple: single text box; custom and text: multiple text boxes; read-only: read-only list Figure 38: List editor styles The simple style displays a single item at a time, with small arrows on the right side to scroll the display. The custom style shows multiple items. The number of items displayed is controlled by the *rows* parameter; if the number of items in the list exceeds this value, then the list display scrolls. If the *scrollable* parameter is False, the editor displays all objects in the list and does not render the vertical scrollbar. The editor used for each item in the list is determined by the *editor* and *style* parameters. The text style of list editor is identical to the custom style, except that the editors for the items are text editors. The read-only style displays the contents of the list as static text. By default, the items use the trait handler appropriate to the type of items in the list. You can specify a different handler to use for the items using the *trait_handler* parameter. .. TODO: Add an example of a trait handler. For the simple, custom, and text list editors, a button appears to the left of each item editor; clicking this button opens a context menu for modifying the list, as shown in Figure 39. .. figure:: images/list_with_context_menu.png :alt: list editor with context menu Figure 39: List editor showing context menu In addition to the four standard styles for list editors, a fifth list editor user interface option is available. If *use_notebook* is True, then the list editor displays the list as a "notebook" of tabbed pages, one for each item in the list, as shown in Figure 40. This style can be useful in cases where the list items are instances with their own views. If the *deletable* parameter is True, a close box appears on each tab, allowing the user to delete the item; the user cannot add items interactively through this style of editor. .. figure:: images/notebook_list_editor.jpg :alt: tabbed instance editors Figure 40: Notebook list editor LEDEditor() ``````````` :Suitable for: numeric traits :Default for: (none) :Optional parameters: *alignment, format_str* LEDEditor() generates a display that resembles a "digital" display using light-emitting diodes. All styles of this editor are the same, and are read-only. The *alignment* parameter can be 'left', 'center', or 'right' to indicate how the value should be aligned within the display. The default is right-alignment. .. figure:: images/led_editor.png :alt: LED-like display of 90452 Figure 56: LED Editor with right alignment ListStrEditor() ``````````````` :Suitable for: ListStr or List of values mapped to strings :Default for: (none) :Optional parameters: *activated, activated_index, adapter, adapter_name, auto_add, drag_move*, *editable, horizontal_lines, images, multi_select, operations*, *right_clicked, right_clicked_index, selected, selected_index, title*, *title_name* ListStrEditor() generates a list of selectable items corresponding to items in the underlying trait attribute. All styles of the editor are the same. The parameters to ListStrEditor() control aspects of the behavior of the editor, such as what operations it allows on list items, whether items are editable, and whether more than one can be selected at a time. You can also specify extended references for trait attributes to synchronize with user actions, such as the item that is currently selected, activated for editing, or right-clicked. .. figure:: images/ListStrEditor_demo.png :alt: list box displaying strings Figure 41: List string editor NullEditor() ```````````` :Suitable for: controlling layout :Default for: (none) The NullEditor() factory generates a completely empty panel. It is used by the Spring subclass of Item, to generate a blank space that uses all available extra space along its layout orientation. You can also use it to create a blank area of a fixed height and width. RangeEditor() ````````````` :Suitable for: Range :Default for: Range :Optional parameters: *auto_set*, *cols*, *enter_set*, *format*, *high_label*, *high_name*, *label_width*, *low_label*, *low_name*, *mode* The editors generated by RangeEditor() enable the user to specify numeric values within a range. The widgets used to display the range vary depending on both the numeric type and the size of the range, as described in Table 8 and shown in Figure 42. If one limit of the range is unspecified, then a text editor is used. .. _range-editor-widgets-table: .. rubric:: Table 8: Range editor widgets +-----------------------------+-----------+-------------+----------+-----------+ |Data type/range size |Simple |Custom |Text |Read-only | +=============================+===========+=============+==========+===========+ |Integer: Small Range (Size |Slider with|Radio buttons|Text field|Static text| |0-16) |text box | | | | +-----------------------------+-----------+-------------+----------+-----------+ |Integer: Medium Range (Size |Slider with|Slider with |Text field|Static text| |17-101) |text box |text box | | | +-----------------------------+-----------+-------------+----------+-----------+ |Integer: Large Range (Size > |Spin box |Spin box |Text field|Static text| |101) | | | | | +-----------------------------+-----------+-------------+----------+-----------+ |Floating Point: Small Range |Slider with|Slider with |Text field|Static text| |(Size <= 100.0) |text box |text box | | | +-----------------------------+-----------+-------------+----------+-----------+ |Floating Point: Large Range |Large-range|Large-range |Text field|Static text| |(Size > 100.0) |slider |slider | | | +-----------------------------+-----------+-------------+----------+-----------+ .. figure:: images/RangeEditor_demo.png :alt: slider with text box; radio buttons; text box; static text; spin box; large-range slider Figure 42: Range editor widgets In the large-range slider, the arrows on either side of the slider move the editable range, so that the user can move the slider more precisely to the desired value. You can override the default widget for each type of editor using the *mode* parameter, which can have the following values: - 'auto': The default widget, as described in Table 8 - 'slider': Simple slider with text field - 'xslider': Large-range slider with text field - 'spinner': Spin box with increment/decrement buttons - 'enum': Radio buttons - 'text': Text field You can set the limits of the range dynamically, using the *low_name* and *high_name* parameters to specify trait attributes that contain the low and high limit values; use *low_label*, *high_label* and *label_width* to specify labels for the limits. RGBColorEditor() ```````````````` :Suitable for: RGBColor :Default for: RGBColor :Optional parameters: *mapped* Editors generated by RGBColorEditor() are identical in appearance to those generated by ColorEditor(), but they are used for RGBColor traits. See :ref:`coloreditor` for details. .. _seteditor: SetEditor() ``````````` :Suitable for: List :Default for: (none) :Required parameters: Either *values* or *name* :Optional parameters: *can_move_all*, *left_column_title*, *object*, *ordered*, *right_column_title* In the editors generated by SetEditor(), the user can select a subset of items from a larger set. The two lists are displayed in list boxes, with the candidate set on the left and the selected set on the right. The user moves an item from one set to the other by selecting the item and clicking a direction button (:guilabel:`>` for left-to-right and :guilabel:`<` for right-to-left). Additional buttons can be displayed, depending on two Boolean parameters: - If *can_move_all* is True, additional buttons appear, whose function is to move all items from one side to the other (:guilabel:`>>` for left-to-right and :guilabel:`<<` for right-to-left). - If *ordered* is True, additional buttons appear, labeled :guilabel:`Move up` and :guilabel:`Move down`, which affect the position of the selected item within the set in the right list box. .. figure:: images/SetEditor_demo.png :alt: set editor list boxes with buttons Figure 43: Set editor showing all possible buttons You can specify the set of candidate items in either of two ways: - Set the *values* parameter to a list, tuple, dictionary, or mapped trait. - Set the *name* parameter to the extended name of a trait attribute that contains the list. ShellEditor() ````````````` :Suitable for: special :Default for: PythonValue The editor generated by ShellEditor() displays an interactive Python shell. .. figure:: images/shell_editor.jpg :alt: interactive shell pane Figure 44: Python shell editor TextEditor() ```````````` :Suitable for: all :Default for: Str, String, Password, Unicode, Int, Float, Dict, CStr, CUnicode, and any trait that does not have a specialized TraitHandler :Optional parameters: *auto_set*, *enter_set*, *evaluate*, *evaluate_name*, *mapping*, *multi_line*, *password* The editor generated by TextEditor() displays a text box. For the custom style, it is a multi-line field; for the read-only style, it is static text. If *password* is True, the text that the user types in the text box is obscured. .. figure:: images/text_editor_integers.png :alt: simple: text box; custom: multi-line text box; text: text box; read-only: static text Figure 45: Text editor styles for integers .. figure:: images/text_editor_strings.png :alt: simple: text box; custom: multi-line text box; text: text box; read-only: static text Figure 46: Text editor styles for strings .. figure:: images/text_editors_passwords.png :alt: same as above, but with value obscured by asterisks Figure 47: Text editor styles for passwords You can specify whether the trait being edited is updated on every keystroke (``auto_set=True``) or when the user presses the Enter key (``enter_set=True``). If *auto_set* and *enter_set* are False, the trait is updated when the user shifts the input focus to another widget. You can specify a mapping from user input values to other values with the *mapping* parameter. You can specify a function to evaluate user input, either by passing a reference to it in the *evaluate* parameter, or by passing the extended name of a trait that references it in the *evaluate_name* parameter. TimeEditor() ```````````` :Suitable for: Time :Default for: Time :Optional parameters: *minimum_datetime*, *strftime* The TimeEditor() displays a Python datetime.time object, usually supplied via a Time trait. The simple style shows a time spin control. For readonly style, the user can set the message to display if the time value is None, and a time format string for use with strftime. TitleEditor() ````````````` :Suitable for: string traits :Default for: (none) TitleEditor() generates a read-only display of a string value, formatted as a heading. All styles of the editor are identical. Visually, it is similar to a Heading item, but because it is an editor, you can change the text of the heading by modifying the underlying attribute. TupleEditor() ````````````` :Suitable for: Tuple :Default for: Tuple :Optional parameters: *cols*, *editors*, *labels*, *traits* The simple and custom editors generated by TupleEditor() provide a widget for each slot of the tuple being edited, based on the type of data in the slot. The text and read-only editors edit or display the text representation of the tuple. .. figure:: images/TupleEditor_demo.png :alt: simple and custom: color editor, range editor, text box Figure 48: Tuple editor styles You can specify the number of columns to use to lay out the widgets with the *cols* parameter. You can specify labels for the widgets with the *labels* parameter. You can also specify trait definitions for the slots of the tuple; however, this is usually implicit in the tuple being edited. You can supply a list of editors to be used for each corresponding tuple slot. If the *editors* list is missing, or is shorter than the length of the tuple, default editors are used for any tuple slots not defined in the list. This feature allows you to substitute editors, or to supply non-default parameters for editors. ValueEditor() ````````````` :Suitable for: (any) :Default for: (none) :Optional parameters: *auto_open* ValueEditor() generates a tree editor that displays Python values and objects, including all the objects' members. For example, Figure 49 shows a value editor that is displayed by the "pickle viewer" utility in enthought.debug. .. figure:: images/value_editor.png :alt: tree of Python values, including dictionaries, lists, and tuples Figure 49: Value editor from Pickle Viewer .. rubric:: Footnotes .. [16] In Traits, a Button and an Event are essentially the same thing, except that Buttons are automatically associated with button editors. .. [17] TraitsUI makes minor modifications to the name, capitalizing the first letter and replacing underscores with spaces, as in the case of a default Item label (see :ref:`the-view-object`). .. [18] If a List is made up of HasTraits objects, a table editor is used instead; see :ref:`tableeditor`. traitsui-7.2.1/docs/source/traitsui_user_manual/adapters.rst0000644000076500000240000011650614046644454025044 0ustar aayresstaff00000000000000 .. _advanced-editor-adapters: ======================== Advanced Editor Adapters ======================== A number of trait editors provide a way for code to adapt objects to the expected API for the editor, and this can be used by Traits UI code to provide strongly customized views of the data. The editors which provide this facility are the ListStrEditor, the TabularEditor and the TreeEditor. In this section we will look more closely at each of these and discuss how they can be customized as needed. .. _advanced-tree-node: The TreeEditor and TreeNodes ============================ .. _tree-nodes: .. module:: traitsui.tree_node :noindex: The :py:class:`~traitsui.editors.tree_editor.TreeEditor` internally associates with each node in the tree a pair consisting of the object that is associated with the node and something that to adheres to the :py:class:`TreeNode` interface. The :py:class:`TreeNode` interface is not explicitly laid out, but it corresponds to the "overridable" public methods of the :py:class:`TreeNode` class, such as :py:meth:`~TreeNode.get_label` and :py:meth:`~TreeNode.get_children`. This means that the tree editor expects one of the following three things to be offered as values associated with a node, such as the value of the root node trait or values that might be returned by the :py:meth:`~TreeNode.get_children` method: - an explicit pair of the object and a :py:class:`TreeNode` instance for that object - an object that has :py:meth:`~TreeNode.is_node_for` return ``True`` for at least one of the factory's :py:attr:`~traitsui.editors.tree_editor.TreeEditor.nodes` items. - an object that provides or can be adapted to the :py:class:`ITreeNode` interface using Traits adaptation. There is a crucial distinction between the way that :py:class:`TreeNode` and :py:class:`ITreeNode` work. :py:class:`TreeNode` is generic---it is designed to work with certain types of objects, but doesn't hold references to those objects---instead they rely on the :py:class:`TreeEditor` to keep track of the association between the objects and the :py:class:`TreeNode` to use with that object. :py:class:`ITreeNode`, on the other hand, is an interface and uses adapters associated with individual objects rather than types of objects. This means that :py:class:`ITreeNode`-based approaches are generally more heavyweight: you end up with at least one additional class instance for each displayed node (and most likely two additional instances) vs. a tuple. On the other hand, because :py:class:`ITreeNode` uses Traits adaptation, you can extend the set of classes that are supported by adding more :py:class:`ITreeNode` adapters, for example via Envisage extension points. Specializing TreeNode Behaviour ------------------------------- In general using :py:class:`TreeNode` s works well when you have a hierarchy of :py:class:`~traits.api.HasTraits` objects, which is probably the most common situation. And while the :py:class:`TreeNode` is fairly generic, there are times when you want to override the default behaviour of one or more aspects of the object. In this case it may be that the best way to do this is to simply subclass :py:class:`TreeNode` and adjust it to behave the way that you want. For example, the default behaviour of the :py:class:`TreeNode` is to show one of 3 different icons depending on whether the node has children or not and whether it has been expanded. But you might want to display a different icon based on some attribute of the object being viewed, and that would require a new :py:class:`TreeNode` subclass to override that behaviour. Concretely, if we had different document types, identified by file extension:: class DocumentTreeNode(TreeNode): icons = Dict({ '.npy': ImageResource('document-table'), '.txt': ImageResource('document-text'), '.rst': ImageResource('document-text'), '.png': ImageResource('document-image'), '.jpg': ImageResource('document-image'), }) def get_icon(self, object, is_expanded): icon = self.icons.get(object.extension, self.icon_item) return icon This :py:class:`TreeNode` subclass can now be used with any compatible class to give a richer set of icons. Common use cases for this approach would include: - more customized icon display, as above. - having the label built from multiple traits, which requires overriding :py:meth:`~TreeNode.get_label`, :py:meth:`~TreeNode.when_label_changed` and possibly :py:meth:`~TreeNode.set_label`. - having the children come from multiple traits, which requires overriding :py:meth:`~TreeNode.allows_children`, :py:meth:`~TreeNode.get_children`, :py:meth:`~TreeNode.when_children_replaced`, :py:meth:`~TreeNode.when_children_changed` and possibly :py:meth:`~TreeNode.append_child`, :py:meth:`~TreeNode.insert_child` and :py:meth:`~TreeNode.delete_child` (although there may be better ways to handle this situation by using multiple :py:class:`TreeNodes` for the class). - being more selective about what objects to use for the node. For example, requiring not only that an object be of a certain class, but that it also have an attribute with a cetain value. This requires overriding :py:meth:`~TreeNode.is_node_for`. - customization of menus on a per-object basis, or other UI behaviour like drag and drop, selection and clicking. This has the advantage that most of the time the behaviour that you want is built into the :py:class:`TreeNode` class, and you only need to change the things which are not to your requirements. Where :py:class:`TreeNode` classes are generally weak is when the object you are trying to view is not a :py:class:`~traits.api.HasTraits` instance, or where you don't know the full set of classes that you need to display in the tree when writing the UI. You can overcome these obstacles by careful subclassing, taking particular care to avoid things like trying to set traits listeners on non-:py:class:`~traits.api.HasTraits` objects or adapting the object to a desired interface before using it. But in these cases it may be better to use a different approach. ITreeNodes and ITreeNodeAdapters -------------------------------- These are most useful for situations where you don't know the full set of classes that may be displayed in a tree. This is a common situation when writing complex applications using libraries like Envisage that allow new functionality to be added to the application via plug-ins (potentially during run-time!). It is also useful in situations where the model object that is being viewed isn't a :py:class:`~traits.api.HasTraits` object, or where you may need some UI state in the node that doesn't belong on the underlying model object (for example, caching quantities which are expensive to compute). Before using this approach, you should make sure that you understand the way that traits adaptation works. To make writing code which satisfies the :py:class:`ITreeNode` interface easier, there is an :py:class:`ITreeNodeAdapter` class which provides basic functionality and which can be subclassed to provide an adapter class for your own nodes. This adapter is minimalistic and not complete. You will at a minimum need to override the :py:meth:`~ITreeNodeAdapter.get_label` method, and probably many others to get the desired behaviour. Since the :py:class:`ITreeNodeAdapter` is an :py:class:`Adapter` subclass, the object being adapted is available as the :py:attr:`adaptee` attribute. This means that the methods might look similar to the ones for :py:class:`TreeNode`, but they don't expect to be passed the object as a parameter. Once you have written the :py:class:`ITreeNodeAdapter` subclass, you have to register the adapter with traits using the Traits :py:func:`regsiter_factory` function. You are not required to use :py:class:`ITreeNodeAdapter` if you don't wish to. You can instead write a class which ``@provides`` the :py:class:`ITreeNode` interface directly, or create an alternative adapter class. Note that currently the tree editor infrastructure uses the deprecated Traits :py:func:`adapts` class advisor and the default traits adapter registry which means that you can't have mulitple different :py:class:`ITreeNode` adapters for a given object to use in different editors within a given application. This is likely to be fixed in a future release of TraitsUI. In the mean-time you can work around this somewhat by having the trait being edited and/or the :py:meth:`~ITreeNodeAdapter.get_children` method return pre-adapted objects, rather than relying on traits adaptation machinery to find and adapt the object. ObjectTreeNodes and TreeNodeObjects ----------------------------------- Another approach to adapting objects, particularly non-:py:class:`HasTraits` objects is used by the :py:class:`ValueEditor`, but is available for general tree editors to use as well. In this approach you write one or more :py:class:`TreeNodeObject` classes that wrap the model objects that you want to display, and then use instances of the :py:class:`TreeNodeObject` classes within the tree editor, both as the root node being edited, and the objects returned by the :py:meth:`tno_get_children` methods. To fit these with the expected :py:class:`TreeNode` classes used by the :py:class:`TreeEditor`, there is the :py:class:`ObjectTreeNode` class which knows how to call the appropriate :py:class:`TreeNodeObjects` and which can be given a list of :py:class:`TreeNodeObject` classes that it understands. For example, it is possible to represent a tree structure in Python using nested dictionaries with strings as keys. A :py:class:`TreeNodeObject` for such a structure might look like this:: class DictNode(TreeNodeObject): #: The parent of the node parent = Instance('DictNode') #: The label for the node label = Str() #: The value for this node value = Any() def tno_get_label(self, node): return self.label def tno_allows_children(self, node): return isinstance(self.value, dict) def tno_has_children(self, node): return bool(self.value) def tno_get_children(self, node): return [ DictNode(parent=self, label=key, value=value) for key, value in sorted(self.value.items()) ] and so forth. There is additional work if you want to be able to modify the structure of the tree, for example. In addition to defining the :py:class:`TreeNodeObject` subclass, you also need provide the nodes for the editor something like this:: dict_tree_editor = TreeEditor( editable=False, nodes=[ ObjectTreeNode( node_for=[DictNode], rename=False, rename_me=False, copy=False, delete=False, delete_me=False, ) ] ) The :py:class:`ObjectTreeNode` is a :py:class:`TreeNode` subclass that delegates operations to the :py:class:`TreeNodeObject`, but the default :py:class:`TreeNodeObject` methods try to behave in the same way as the base :py:class:`TreeNode`, so you can specify global behaviour on the :py:class:`ObjectTreeNode` in the same way that you can for a :py:class:`TreeNode`. The last piece to make this approach work is that the root node when editing has to be a :py:class:`DictNode` instance, so you may need to provide a property that wraps the raw tree structure in a :py:class:`DictNode` to get started: unlike the :py:class:`ITreeNodeAdapter` approaches this wrapping not automatically provided for you. Custom Renderers ---------------- The Qt backend allows users to completely override the rendering of cells in a TreeEditor. To do this, the TreeNode should override the :py:meth:`TreeNode.get_renderer` method to return an instance of a subclass of :py:class:`~traitsui.tree_node_renderer.AbstractTreeNodeRenderer`. A :py:class:`~traitsui.qt4.tree_node_renderers.WordWrapRenderer` is available to provide basic word-wrapped layout in a cell, but user-defined subclasses can do any rendering that they want by implementing their own :py:class:`~traitsui.tree_node_renderer.AbstractTreeNodeRenderer` subclass. :py:class:`~traitsui.tree_node_renderer.AbstractTreeNodeRenderer` is an abstract base class, and subclasses must implement two methods: :py:meth:`~traitsui.tree_node_renderer.AbstractTreeNodeRenderer.size` A method which should return a (height, width) tuple giving the preferred size for the cell. Depending on other constraints and user interactions, this may not be the actual size that the cell will have available. The toolkit will provide a ``size_context`` object that provides useful parameters to help with sizing operations. In the Qt backend, this is a tuple containing the arguments passed to the Qt :py:meth:`sizeHint` method of a :py:class:`QStyledItemDelegate`. :py:meth:`~traitsui.tree_node_renderer.AbstractTreeNodeRenderer.paint` Toolkit-dependent code that renders the cell The toolkit will provide a ```paint_context``` object that provides useful parameters to help with painting operations. In the Qt backend, this is a tuple containing the arguments passed to the Qt :py:meth:`paint` method of a :py:class:`QStyledItemDelegate`. In particular, the first argument is always a :py:class:`QPainter` instance and the second a :py:class:`QStyleOptionViewItem` from which you can get the rectangle of the cell being rendered as well as style and font information. The renderer can choose to not handle all of the rendering, and instead let the tree editor handle rendering the icon or the text of the cell, by setting the :py:meth:`~traitsui.tree_node_renderer.AbstractTreeNodeRenderer.handles_icon`, :py:meth:`~traitsui.tree_node_renderer.AbstractTreeNodeRenderer.handles_text`, and :py:meth:`~traitsui.tree_node_renderer.AbstractTreeNodeRenderer.handles_all` traits appropriately. Lastly there is a convenience method :py:meth:`~traitsui.tree_node_renderer.AbstractTreeNodeRenderer.get_label` that gets the label text given the tree node, the underlying object, and the column, smoothing over the TreeNode columns label API. Examples -------- There are a number of examples of use of the :py:class:`~traitsui.editors.tree_editor.TreeEditor` in the TraitsUI demos: - :github-demo:`TreeEditor ` - :github-demo:`Adapted TreeEditor ` - :github-demo:`HDF5 Tree ` - :github-demo:`Tree Editor with Renderer ` .. _advanced-tabular-adapter: The TabularAdapter Class ======================== .. module:: traitsui.tabular_adapter :noindex: The power and flexibility of the tabular editor is mostly a result of the :py:class:`TabularAdapter` class, which is the base class from which all tabular editor adapters must be derived. The :py:class:`~traitsui.editors.tabular_editor.TabularEditor` object interfaces between the underlying toolkit widget and your program, while the :py:class:`TabularAdapter` object associated with the editor interfaces between the editor and your data. The design of the :py:class:`TabularAdapter` base class is such that it tries to make simple cases simple and complex cases possible. How it accomplishes this is what we'll be discussing in the following sections. The TabularAdapter *columns* Trait ---------------------------------- First up is the :py:class:`TabularAdapter` :py:attr:`columns` trait, which is a list of values which define, in presentation order, the set of columns to be displayed by the associated :py:class:`~traitsui.editors.tabular_editor.TabularEditor`. Each entry in the :py:attr:`~TabularAdapter.columns` list can have one of two forms: - ``string`` - ``(string, id)`` where ``string`` is the user interface name of the column (which will appear in the table column header) and ``id`` is any value that you want to use to identify that column to your adapter. Normally this value is either a trait name or an integer index value, but it can be any value you want. If only ``string`` is specified, then ``id`` is the index of the ``string`` within ``columns``. For example, say you want to display a table containing a list of tuples, each of which has three values: a name, an age, and a weight. You could then use the following value for the :py:attr:`~TabularAdapter.columns` trait:: columns = ['Name', 'Age', 'Weight'] By default, the ``id`` values (also referred to in later sections as the *column ids*) for the columns will be the corresponding tuple index values. Say instead that you have a list of :py:class:`Person` objects, with :py:attr:`name`, :py:attr:`age` and :py:attr:`weight` traits that you want to display in the table. Then you could use the following :py:attr:`~TabularAdapter.columns` value instead:: columns = [ ('Name', 'name'), ('Age', 'age'), ('Weight', 'weight'), ] In this case, the *column ids* are the names of the traits you want to display in each column. Note that it is possible to dynamically modify the contents of the :py:attr:`~TabularAdapter.columns` trait while the :py:class:`~traitsui.editors.tabular_editor.TabularEditor` is active. The :py:class:`~traitsui.editors.tabular_editor.TabularEditor` will automatically modify the table to show the new set of defined columns. The Core TabularAdapter Interface --------------------------------- In this section, we'll describe the core interface to the :py:class:`TabularAdapter` class. This is the actual interface used by the :py:class:`~traitsui.editors.tabular_editor.TabularEditor` to access your data and display attributes. In the most complex data representation cases, these are the methods that you must override in order to have the greatest control over what the editor sees and does. However, the base :py:class:`TabularAdapter` class provides default implementations for all of these methods. In subsequent sections, we'll look at how these default implementations provide simple means of customizing the adapter to your needs. But for now, let's start by covering the details of the core interface itself. To reduce the amount of repetition, we'll use the following definitions in all of the method argument lists that follow in this section: object The object whose trait is being edited by the :py:class:`~traitsui.editors.tabular_editor.TabularEditor`. trait The name of the trait the :py:class:`~traitsui.editors.tabular_editor.TabularEditor` is editing. row The row index (starting with 0) of a table item. column The column index (starting with 0) of a table column. The adapter interface consists of a number of methods which can be divided into two main categories: those which are sensitive to the type of a particular table item, and those which are not. We'll begin with the methods that are sensitive to an item's type: :py:meth:`~TabularAdapter.get_alignment` Returns the alignment style to use for a specified column. The possible values that can be returned are: ``'left'``, ``'center'`` or ``'right'``. All table items share the same alignment for a specified column. :py:meth:`~TabularAdapter.get_width` Returns the width to use for a specified column. If the value is <= 0, the column will have a *default* width, which is the same as specifying a width of 0.1. If the value is > 1.0, it is converted to an integer and the result is the width of the column in pixels. This is referred to as a *fixed width* column. If the value is a float such that 0.0 < value <= 1.0, it is treated as the *unnormalized fraction of the available space* that is to be assigned to the column. What this means requires a little explanation. To arrive at the size in pixels of the column at any given time, the editor adds together all of the *unnormalized fraction* values returned for all columns in the table to arrive at a total value. Each *unnormalized fraction* is then divided by the total to create a *normalized fraction*. Each column is then assigned an amount of space in pixels equal to the maximum of 30 or its *normalized fraction* multiplied by the *available space*. The *available space* is defined as the actual width of the table minus the width of all *fixed width* columns. Note that this calculation is performed each time the table is resized in the user interface, thus allowing columns of this type to increase or decrease their width dynamically, while leaving *fixed width* columns unchanged. :py:meth:`~TabularAdapter.get_can_edit` Returns whether the user can edit a specified row. A ``True`` result indicates that the value can be edited, while a ``False`` result indicates that it cannot. :py:meth:`~TabularAdapter.get_drag` Returns the value to be *dragged* for a specified row. A result of ``None`` means that the item cannot be dragged. Note that the value returned does not have to be the actual row item. It can be any value that you want to drag in its place. In particular, if you want the drag target to receive a copy of the row item, you should return a copy or clone of the item in its place. Also note that if multiple items are being dragged, and this method returns ``None`` for any item in the set, no drag operation is performed. :py:meth:`~TabularAdapter.get_can_drop` Returns whether the specified ``value`` can be dropped on the specified row. A value of ``True`` means the ``value`` can be dropped; and a value of ``False`` indicates that it cannot be dropped. The result is used to provide the user positive or negative drag feedback while dragging items over the table. ``value`` will always be a single value, even if multiple items are being dragged. The editor handles multiple drag items by making a separate call to :py:meth:`get_can_drop` for each item being dragged. :py:meth:`~TabularAdapter.get_dropped` Returns how to handle a specified ``value`` being dropped on a specified row. The possible return values are: - ``'before'``: Insert the specified ``value`` before the dropped on item. - ``'after'``: Insert the specified ``value`` after the dropped on item. Note there is no result indicating *do not drop* since you will have already indicated that the ``object`` can be dropped by the result returned from a previous call to :py:meth:`get_can_drop`. :py:meth:`~TabularAdapter.get_font` Returns the font to use for displaying a specified row or cell. A result of ``None`` means use the default font; otherwise a toolkit font object should be returned. Note that all columns for the specified table row will use the font value returned. :py:meth:`~TabularAdapter.get_text_color` Returns the text color to use for a specified row or cell. A result of ``None`` means use the default text color; otherwise a toolkit-compatible color should be returned. Note that all columns for the specified table row will use the text color value returned. :py:meth:`~TabularAdapter.get_bg_color` Returns the background color to use for a specified row or cell. A result of ``None`` means use the default background color; otherwise a toolkit-compatible color should be returned. Note that all columns for the specified table row will use the background color value returned. :py:meth:`~TabularAdapter.get_image` Returns the image to display for a specified cell. A result of ``None`` means no image will be displayed in the specified table cell. Otherwise the result should either be the name of the image, or an :py:class:`~pyface.image_resource.ImageResource` object specifying the image to display. A name is allowed in the case where the image is specified in the :py:class:`~traitsui.editors.tabular_editor.TabularEditor` :py:attr:`~traitsui.editors.tabular_editor.TabularEditor.images` trait. In that case, the name should be the same as the string specified in the :py:class:`~pyface.image_resource.ImageResource` constructor. :py:meth:`~TabularAdapter.get_format` Returns the Python formatting string to apply to the specified cell. The resulting of formatting with this string will be used as the text to display it in the table. The return can be any Python string containing exactly one old-style Python formatting sequence, such as ``'%.4f'`` or ``'(%5.2f)'``. :py:meth:`~TabularAdapter.get_text` Returns a string containing the text to display for a specified cell. If the underlying data representation for a specified item is not a string, then it is your responsibility to convert it to one before returning it as the result. :py:meth:`~TabularAdapter.set_text` Sets the value for the specified cell. This method is called when the user completes an editing operation on a table cell. The string specified by ``text`` is the value that the user has entered in the table cell. If the underlying data does not store the value as text, it is your responsibility to convert ``text`` to the correct representation used. :py:meth:`~TabularAdapter.get_tooltip` Returns a string containing the tooltip to display for a specified cell. You should return the empty string if you do not wish to display a tooltip. The following are the remaining adapter methods, which are not sensitive to the type of item or column data: :py:meth:`~TabularAdapter.get_item` Returns the specified row item. The value returned should be the value that exists (or *logically* exists) at the specified ``row`` in your data. If your data is not really a list or array, then you can just use ``row`` as an integer *key* or *token* that can be used to retrieve a corresponding item. The value of ``row`` will always be in the range: 0 <= row < ``len(object, trait)`` (i.e. the result returned by the adapter :py:meth:`len` method). :py:meth:`~TabularAdapter.len` Returns the number of row items in the specified ``object.trait``. The result should be an integer greater than or equal to 0. :py:meth:`~TabularAdapter.delete` Deletes the specified row item. This method is only called if the *delete* operation is specified in the :py:class:`~traitsui.editors.tabular_editor.TabularEditor` :py:attr:`~traitsui.editors.tabular_editor.TabularEditor.operation` trait, and the user requests that the item be deleted from the table. The adapter can still choose not to delete the specified item if desired, although that may prove confusing to the user. :py:meth:`~TabularAdapter.insert` Inserts ``value`` at the specified ``object.trait[row]`` index. The specified ``value`` can be: - An item being moved from one location in the data to another. - A new item created by a previous call to :py:meth:`~TabularAdapter.get_default_value`. - An item the adapter previously approved via a call to :py:meth:`~TabularAdapter.get_can_drop`. The adapter can still choose not to insert the item into the data, although that may prove confusing to the user. :py:meth:`~TabularAdapter.get_default_value` Returns a new default value for the specified ``object.trait`` list. This method is called when *insert* or *append* operations are allowed and the user requests that a new item be added to the table. The result should be a new instance of whatever underlying representation is being used for table items. Creating a Custom TabularAdapter -------------------------------- Having just taken a look at the core :py:class:`TabularAdapter` interface, you might now be thinking that there are an awful lot of methods that need to be specified to get an adapter up and running. But as we mentioned earlier :py:class:`TabularAdapter` is not an abstract base class. It is a concrete base class with implementations for each of the methods in its interface. And the implementations are written in such a way that you will hopefully hardly ever need to override them. In this section, we'll explain the general implementation style used by these methods, and how you can take advantage of them in creating your own adapters. One of the things you probably noticed as you read through the core adapter interface section is that most of the methods have names of the form: ``get_xxx`` or ``set_xxx``, which is similar to the familiar *getter/setter* pattern used when defining trait properties. The adapter interface is purposely defined this way so that it can expose and leverage a simple set of design rules. The design rules are followed consistently in the implementations of all of the adapter methods described in the first section of the core adapter interface, so that once you understand how they work, you can easily apply the design pattern to all items in that section. Then, only in the case where the design rules will not work for your application will you ever have to override any of those :py:class:`TabularAdapter` base class method implementations. So the first thing to understand is that if an adapter method name has the form: ``get_xxx`` or ``set_xxx`` it really is dealing with some kind of trait called ``xxx``, or which contains ``xxx`` in its name. For example, the :py:meth`~TabularAdapter.get_alignment` method retrieves the value of some :py:attr:`~TabularAdapter.alignment` trait defined on the adapter. In the following discussion we'll simply refer to an attribute name generically as *attribute*, but you will need to replace it by an actual attribute name (e.g. :py:attr:`~TabularAdapter.alignment`) in your adapter. The next thing to keep in mind is that the adapter interface is designed to easily deal with items that are not all of the same type. As we just said, the design rules apply to all adapter methods in the first group, which were defined as methods which are sensitive to an item's type. Item type sensitivity plays an important part in the design rules, as we will see shortly. With this in mind, we now describe the simple design rules used by the first group of methods in the :py:class:`TabularAdapter` class: - When getting or setting an adapter attribute, the method first retrieves the underlying item for the specified data row. The item, and type (i.e. class) of the item, are then used in the next rule. - The method gets or sets the first trait it finds on the adapter that matches one of the following names: - *classname_columnid_attribute* - *classsname_attribute* - *columnid_attribute* - *attribute* where: - *classname* is the name of the class of the item found in the first step, or one of its base class names, searched in the order defined by the *mro* (**method resolution order**) for the item's class. - *columnid* is the column id specified by the developer in the adapter's *column* trait for the specified table column. - *attribute* is the attribute name as described previously (e.g. *alignment*). Note that this last rule always finds a matching trait, since the :py:class:`TabularAdapter` base class provides traits that match the simple *attribute* form for all attributes these rules apply to. Some of these are simple traits, while others are properties. We'll describe the behavior of all these *default* traits shortly. The basic idea is that rather than override the first group of core adapter methods, you simply define one or more simple traits or trait properties on your :py:class:`TabularAdapter` subclass that provide or accept the specified information. All of the adapter methods in the first group provide a number of arguments, such as ``object``, ``trait``, ``row`` and ``column``. In order to define a trait property, which cannot be passed this information directly, the adapter always stores the arguments and values it computes in the following adapter traits, where they can be easily accessed by a trait getter or setter method: - ``row``: The table row being accessed. - ``column``: The column id of the table column being accessed (not its index). - ``item``: The data item for the specified table row (i.e. the item determined in the first step described above). - ``value``: In the case of a *set_xxx* method, the value to be set; otherwise it is ``None``. As mentioned previously, the :py:class:`TabularAdapter` class provides trait definitions for all of the attributes these rules apply to. You can either use the default values as they are, override the default, set a new value, or completely replace the trait definition in a subclass. A description of the default trait implementation for each attribute is as follows: :py:attr:`~TabularAdapter.default_value` = ``Any('')`` The default value for a new row. The default value is the empty string, but you will normally need to assign a different (default) value. :py:attr:`~TabularAdapter.format` = ``Str('%s')`` The default Python formatting string for a column item. The default value is ``'%s'`` which will simply convert the column item to a displayable string value. :py:attr:`~TabularAdapter.text` = ``Property`` The text to display for the column item. The implementation of the property checks the type of the column's *column id*: - If it is an integer, it returns ``format % item[column_id]``. - Otherwise, it returns ``format % item.column_id``. Note that ``format`` refers to the value returned by a call to :py:meth:`~TabularAdapter.get_format` for the current column item. :py:attr:`~TabularAdapter.text_color` = ``Property`` The text color for a row item. The property implementation checks to see if the current table row is even or odd, and based on the result returns the value of the :py:attr:`~TabularAdapter.even_text_color` or :py:attr:`~TabularAdapter.odd_text_color` trait if the value is not ``None``, and the value of the :py:attr:`~TabularAdapter.default_text_color` trait if it is. The definition of these additional traits are as follows: - :py:attr:`~TabularAdapter.odd_text_color` = ``Color(None)`` - :py:attr:`~TabularAdapter.even_text_color` = ``Color(None)`` - :py:attr:`~TabularAdapter.default_text_color` = ``Color(None)`` Remember that a ``None`` value means use the default text color. :py:attr:`~TabularAdapter.bg_color` = ``Property`` The background color for a row item. The property implementation checks to see if the current table row is even or odd, and based on the result returns the value of the :py:attr:`~TabularAdapter.even_bg_color` or :py:attr:`~TabularAdapter.odd_bg_color` trait if the value is not ``None``, and the value of the :py:attr:`~TabularAdapter.default_bg_color` trait if it is. The definition of these additional traits are as follows: - :py:attr:`~TabularAdapter.odd_bg_color` = ``Color(None)`` - :py:attr:`~TabularAdapter.even_bg_color` = ``Color(None)`` - :py:attr:`~TabularAdapter.default_bg_color` = ``Color(None)`` Remember that a ``None`` value means use the default background color. :py:attr:`~TabularAdapter.alignment` = ``Enum('left', 'center', 'right')`` The alignment to use for a specified column. The default value is ``'left'``. :py:attr:`~TabularAdapter.width` = ``Float(-1)`` The width of a specified column. The default value is -1, which means a dynamically sized column with an *unnormalized fractional* value of 0.1. :py:attr:`~TabularAdapter.can_edit` = ``Bool(True)`` Specifies whether the text value of the current item can be edited. The default value is ``True``, which means that the user can edit the value. :py:attr:`~TabularAdapter.drag` = ``Property`` A property which returns the value to be dragged for a specified row item. The property implementation simply returns the current row item. :py:attr:`~TabularAdapter.can_drop` = ``Bool(False)`` Specifies whether the specified value be dropped on the current item. The default value is ``False``, meaning that the value cannot be dropped. :py:attr:`~TabularAdapter.dropped` = ``Enum('after', 'before')`` Specifies where a dropped item should be placed in the table relative to the item it is dropped on. The default value is ``'after'``. :py:attr:`~TabularAdapter.font` = ``Font`` The font to use for the current item. The default value is the standard default Traits font value. :py:attr:`~TabularAdapter.image` = ``Str(None)`` The name of the default image to use for a column. The default value is ``None``, which means that no image will be displayed for the column. :py:attr:`~TabularAdapter.tooltip` = ``Str`` The tooltip information for a column item. The default value is the empty string, which means no tooltip information will be displayed for the column. The preceding discussion applies to all of the methods defined in the first group of :py:attr:`TabularAdapter` interface methods. However, the design rules do not apply to the remaining five adapter methods, although they all provide a useful default implementation: :py:meth:`~TabularAdapter.get_item` The default implementation assumes the trait defined by ``object.trait`` is a *sequence* and attempts to return the value at index ``row``. If an error occurs, it returns ``None`` instead. This definition should work correctly for lists, tuples and arrays, or any other object that is indexable, but will have to be overridden for all other cases. Note that this method is the one called in the first design rule described previously to retrieve the item at the current table row. :py:meth:`~TabularAdapter.len` Again, the default implementation assumes the trait defined by ``object.trait`` is a *sequence* and attempts to return the result of calling ``len(object.trait)``. It will need to be overridden for any type of data which for which :py:func:`len` will not work. :py:meth:`~TabularAdapter.delete` The default implementation assumes the trait defined by ``object.trait`` is a mutable sequence and attempts to perform a ``del object.trait[row]`` operation. :py:meth:`~TabularAdapter.insert` The default implementation assumes the trait defined by ``object.trait`` is a mutable sequence and attempts to perform an ``object.trait[row:row] = [value]`` operation. :py:meth:`~TabularAdapter.get_default_value` The default implementation simply returns the value of the adapter's :py:attr:`~TabularAdapter.default_value` trait. Examples -------- There are a number of examples of use of the :py:class:`TabularAdapter` in the TraitsUI demos: - :github-demo:`TabularEditor ` - :github-demo:`TabularEditor (auto-update) ` - :github-demo:`NumPy array TabularEditor ` The ListStrAdapter Class ======================== .. module:: traitsui.list_str_adapter :noindex: Although the :py:class:`~traitsui.editors.list_str_editor.ListStrEditor` editor is frequently used, as might be expected, with lists of strings, it also provides facilities to edit lists of other object types that can be adapted to produce strings for display and editing via :py:class:`ListStrAdapter` subclasses The design of the :py:class:`ListStrAdapter` base class follows the same design as the :py:class:`~traitsui.tabular_adapter.TabularAdapter`, simplified by the fact that there are only rows, no columns. However, the names and intents of the various methods and traits are the same as the :py:class:`~traitsui.tabular_adapter.TabularAdapter`, and so the approaches discussed in the previous section work for the :py:class:`ListStrAdapter` as well. traitsui-7.2.1/docs/source/traitsui_user_manual/advanced_view.rst0000644000076500000240000004121514046644454026032 0ustar aayresstaff00000000000000.. index:: View; internal, View; external, View; ways of displaying pair: View; context .. _advanced-view-concepts: ====================== Advanced View Concepts ====================== The preceding chapters of this Manual give an overview of how to use the View class to quickly construct a simple window for a single HasTraits object. This chapter explores a number of more complex techniques that significantly increase the power and versatility of the View object. * *Internal Views:* Views can be defined as attributes of a HasTraits class; one class can have multiple views. View attributes can be inherited by subclasses. * *External Views:* A view can be defined as a module variable, inline as a function or method argument, or as an attribute of a :term:`Handler`. * *Ways of displaying Views:* You can display a View by calling configure_traits() or edit_traits() on a HasTraits object, or by calling the ui() method on the View object. * *View context:* You can pass a context to any of the methods for displaying views, which is a dictionary of labels and objects. In the default case, this dictionary contains only one object, referenced as 'object', but you can define contexts that contain multiple objects. * *Include objects:* You can use an Include object as a placeholder for view items defined elsewhere. .. index: View; internal .. _internal-views: Internal Views -------------- In the examples thus far, the View objects have been external. That is to say, they have been defined outside the model (HasTraits object or objects) that they are used to display. This approach is in keeping with the separation of the two concepts prescribed by the :term:`MVC` design pattern. There are cases in which it is useful to define a View within a HasTraits class. In particular, it can be useful to associate one or more Views with a particular type of object so that they can be incorporated into other parts of the application with little or no additional programming. Further, a View that is defined within a model class is inherited by any subclasses of that class, a phenomenon called *visual inheritance*. .. _defining-a-default-view: Defining a Default View ``````````````````````` .. index:: default view, View; default It is easy to define a default view for a HasTraits class: simply create a View attribute called **traits_view** for that class. Consider the following variation on Example 3: .. index:: configure_traits(); default view example, default view; example .. index:: examples; default view .. _example-5-using-configure-traits-with-a-default-view-object: .. rubric:: Example 5: Using configure_traits() with a default View object .. literalinclude:: examples/default_traits_view.py :start-at: default_traits_view.py In this example, configure_traits() no longer requires a *view* keyword argument; the **traits_view** attribute is used by default, resulting in the same display as in Figure 3: .. figure:: images/ui_for_ex3.jpg :alt: User interface showing three fields enclosed in a border Figure 5: User interface for Example 5 It is not strictly necessary to call this View attribute **traits_view**. If exactly one View attribute is defined for a HasTraits class, that View is always treated as the default display template for the class. However, if there are multiple View attributes for the class (as discussed in the next section), if one is named 'traits_view', it is always used as the default. .. index:: default_traits_view(); default view method, default view Sometimes, it is necessary to build a view based on the state of the object when it is being built. In such cases, defining the view statically is limiting, so one can override the default_traits_view() method of a HasTraits object. The example above would be implemented as follows: .. _example-5b-using-default-traits-view: .. rubric:: Example 5b: Building a default View object with default_traits_view() .. literalinclude:: examples/default_traits_view2.py :start-at: default_traits_view2.py This pattern can be useful for situations where the layout of GUI elements depends on the state of the object. For instance, to populate the values of a :ref:`checklisteditor` with items read in from a file, it would be useful to build the default view this way. .. index:: View; multiple, multiple Views .. _defining-multiple-views-within-the-model: Defining Multiple Views Within the Model ```````````````````````````````````````` Sometimes it is useful to have more than one pre-defined view for a model class. In the case of the SimpleEmployee class, one might want to have both a "public information" view like the one above and an "all information" view. One can do this by simply adding a second View attribute: .. index:: pair: examples; multiple Views .. _example-6-defining-multiple-view-objects-in-a-hastraits-class: .. rubric:: Example 6: Defining multiple View objects in a HasTraits class .. literalinclude:: examples/multiple_views.py :start-at: multiple_views.py .. index:: traits_view attribute, configure_traits(); view parameter As before, a simple call to configure_traits() for an object of this class produces a window based on the default View (**traits_view**). In order to use the alternate View, use the same syntax as for an external view, except that the View name is specified in single quotes to indicate that it is associated with the object rather than being a module-level variable:: configure_traits(view='all_view'). Note that if more than one View is defined for a model class, you must indicate which one is to be used as the default by naming it ``traits_view``. Otherwise, TraitsUI gives preference to none of them, and instead tries to construct a default View, resulting in a simple alphabetized display as described in :ref:`the-view-and-its-building-blocks`. For this reason, it is usually preferable to name a model's default View traits_view even if there are no other Views; otherwise, simply defining additional Views, even if they are never used, can unexpectedly change the behavior of the GUI. .. index:: View; external .. _separating-model-and-view-external-views: Separating Model and View: External Views ----------------------------------------- In all the preceding examples in this guide, the concepts of model and view have remained closely coupled. In some cases the view has been defined in the model class, as in :ref:`internal-views`; in other cases the configure_traits() method that produces a window from a View has been called from a HasTraits object. However, these strategies are simply conveniences; they are not an intrinsic part of the relationship between model and view in TraitsUI. This section begins to explore how the TraitsUI package truly supports the separation of model and view prescribed by the :term:`MVC` design pattern. An *external* view is one that is defined outside the model classes. In Traits UI, you can define a named View wherever you can define a variable or class attribute. [7]_ A View can even be defined in-line as a function or method argument, for example:: object.configure_traits( view=View( Group( Item(name='a'), Item(name='b'), Item(name='c'), ), ), ) However, this approach is apt to obfuscate the code unless the View is very simple. :ref:`Example 2 ` through :ref:`Example 4 ` demonstrate external Views defined as variables. One advantage of this convention is that the variable name provides an easily accessible "handle" for re-using the View. This technique does not, however, support visual inheritance. A powerful alternative is to define a View within the :term:`controller` (Handler) class that controls the window for that View. [8]_ This technique is described in :ref:`controlling-the-interface-the-handler`. .. index:: View; methods for displaying .. _displaying-a-view: Displaying a View ----------------- TraitsUI provides three methods for creating a window or panel from a View object. The first two, configure_traits() and edit_traits(), are defined on the HasTraits class, which is a superclass of all Traits-based model classes, as well as of Handler and its subclasses. The third method, ui(), is defined on the View class itself. .. index:: configure_traits(); method .. _configure-traits: configure_traits() `````````````````` The configure_traits() method creates a standalone window for a given View object, i.e., it does not require an existing GUI to run in. It is therefore suitable for building command-line functions, as well as providing an accessible tool for the beginning TraitsUI programmer. The configure_traits() method also provides options for saving :term:`trait attribute` values to and restoring them from a file. Refer to the *Traits API Reference* for details. .. index:: edit_traits() .. _edit-traits: edit_traits() ````````````` The edit_traits() method is very similar to configure_traits(), with two major exceptions. First, it is designed to run from within a larger application whose GUI is already defined. Second, it does not provide options for saving data to and restoring data from a file, as it is assumed that these operations are handled elsewhere in the application. .. index:: ui() .. _ui: ui() ```` The View object includes a method called ui(), which performs the actual generation of the window or panel from the View for both edit_traits() and configure_traits(). The ui() method is also available directly through the TraitsUI API; however, using one of the other two methods is usually preferable. [9]_ The ui() method has five keyword parameters: * *kind* * *context* * *handler* * *parent* * *view_elements* The first four are identical in form and function to the corresponding arguments of edit_traits(), except that *context* is not optional; the following section explains why. The fifth argument, *view_elements*, is used only in the context of a call to ui() from a model object method, i.e., from configure_traits() or edit_traits(), Therefore it is irrelevant in the rare cases when ui() is used directly by client code. It contains a dictionary of the named :term:`ViewElement` objects defined for the object whose configure_traits() (or edit_traits()) method was called.. .. index:: context .. _the-view-context: The View Context ---------------- All three of the methods described in :ref:`displaying-a-view` have a *context* parameter. This parameter can be a single object or a dictionary of string/object pairs; the object or objects are the model objects whose traits attributes are to be edited. In general a "context" is a Python dictionary whose keys are strings; the key strings are used to look up the values. In the case of the *context* parameter to the ui() method, the dictionary values are objects. In the special case where only one object is relevant, it can be passed directly instead of wrapping it in a dictionary. When the ui() method is called from configure_traits() or edit_traits() on a HasTraits object, the relevant object is the HasTraits object whose method was called. .. NOTE:: There are some situations in which you may want to override the default context used for a particular HasTraits class. To do this, simpy override the :py:meth:`~.traits.has_traits.HasTraits.trait_context` method on the object. For this reason, you do not need to specify the *context* argument in most calls to configure_traits() or edit_traits(). However, when you call the ui() method on a View object, you *must* specify the *context* parameter, so that the ui() method receives references to the objects whose trait attributes you want to modify. So, if configure_traits() figures out the relevant context for you, why call ui() at all? One answer lies in *multi-object Views*. .. index:: multi-object Views, View; multi-object .. _multi-object-views: Multi-Object Views `````````````````` A multi-object view is any view whose contents depend on multiple "independent" model objects, i.e., objects that are not attributes of one another. For example, suppose you are building a real estate listing application, and want to display a window that shows two properties side by side for a comparison of price and features. This is straightforward in TraitsUI, as the following example shows: .. index:: examples; context, context; examples, examples; multi-object Views .. index:: multi-object Views; examples .. _example-7-using-a-multi-object-view-with-a-context: .. rubric:: Example 7: Using a multi-object view with a context .. literalinclude:: examples/multi_object_view.py :start-at: multi_object_view.py .. FIXME: This is a bit assymmetrical. Can we clean it up without complicating the example overly? The resulting window has the desired appearance: [10]_ .. figure:: images/ui_for_ex7.jpg :alt: UI showing side-by-side groups. Figure 6: User interface for Example 7 For the purposes of this particular example, it makes sense to create a separate Group for each model object, and to use two model objects of the same class. Note, however, that neither is a requirement. .. index:: extended trait names; Item name attribute Notice that the Item definitions in Example 7 use the same type of extended trait attribute syntax as is supported for the on_trait_change() dynamic trait change notification method. In fact, Item **name** attributes can reference any trait attribute that is reachable from an object in the context. This is true regardless of whether the context contains a single object or multiple objects. For example:: Item('object.axle.chassis.serial_number') where `"object"` is the literal name which refers to the top-level object being viewed. (Note that `"object"` is **not** some user-defined attribute name like `"axle"` in this example.) More precisely, `"object"` is the default name, in the view's `context` dictionary, of this top-level viewed object (see :ref:`advanced-view-concepts`). Because an Item can refer only to a single trait, do not use extended trait references that refer to multiple traits, since the behavior of such references is not defined. Also, avoid extended trait references where one of the intermediate objects could be None, because there is no way to obtain a valid reference from None. Refer to the `Traits User Manual `_, in the chapter on trait notification, for details of the extended trait name syntax. .. index:: object: Include .. _include-objects: Include Objects --------------- In addition to the Item and Group class, a third building block class for Views exists in TraitsUI: the Include class. For the sake of completeness, this section gives a brief description of Include objects and their purpose and usage. However, they are not commonly used as of this writing, and should be considered unsupported pending redesign. In essence, an Include object is a placeholder for a named Group or Item object that is specified outside the Group or View in which it appears. For example, the following two definitions, taken together, are equivalent to the third: .. index:: pair: examples; Include .. _example-8-using-an-include-object: .. rubric:: Example 8: Using an Include object :: # This fragment... my_view = View( Group(Item('a'), Item('b')), Include('my_group'), ) # ...plus this fragment... my_group = Group( Item('c'), Item('d'), Item('e'), ) #...are equivalent to this: my_view = View( Group(Item('a'), Item('b')), Group(Item('c'), Item('d'), Item('e')), ) This opens an interesting possibility when a View is part of a model class: any Include objects belonging to that View can be defined differently for different instances or subclasses of that class. This technique is called *view parameterization*. .. rubric:: Footnotes .. [7] Note that although the definition of a View within a HasTraits class has the syntax of a trait attribute definition, the resulting View is not stored as an attribute of the class. .. [8] Assuming there is one; not all GUIs require an explicitly defined Handler. .. [9] One possible exception is the case where a View object is defined as a variable (i.e., outside any class) or within a custom Handler, and is associated more or less equally with multiple model objects; see :ref:`multi-object-views`. .. [10] If the script were designed to run within an existing GUI, it would make sense to replace the last line with ``comp_view.ui(context={'h1': house1, 'h2': house2})``, since neither object particularly dominates the view. However, the examples in this Manual are designed to be fully executable from the Python command line, which is why configure_traits() was used instead. traitsui-7.2.1/docs/source/traitsui_user_manual/view.rst0000644000076500000240000005676514046644454024225 0ustar aayresstaff00000000000000.. _the-view-and-its-building-blocks: ================================ The View and Its Building Blocks ================================ A simple way to edit (or simply observe) the attribute values of a :term:`HasTraits` object in a GUI window is to call the object's configure_traits() [3]_ method. This method constructs and displays a window containing editable fields for each of the object's :term:`trait attribute`\ s. For example, the following sample code [4]_ defines the SimpleEmployee class, creates an object of that class, and constructs and displays a GUI for the object: .. index:: pair: examples; configure_traits() .. _example-1-using-configure-traits: .. rubric:: Example 1: Using configure_traits() :: # configure_traits.py -- Sample code to demonstrate configure_traits() from traits.api import HasTraits, Int, Str class SimpleEmployee(HasTraits): first_name = Str() last_name = Str() department = Str() employee_number = Str() salary = Int() sam = SimpleEmployee() sam.configure_traits() Unfortunately, the resulting form simply displays the attributes of the object **sam** in alphabetical order with little formatting, which is seldom what is wanted: .. figure:: images/ui_for_ex1.jpg :alt: Dialog box showing all attributes of SimpleEmployee in alphabetical order Figure 1: User interface for Example 1 .. index:: object: View .. _the-view-object: The View Object --------------- In order to control the layout of the interface, it is necessary to define a View object. A View object is a template for a GUI window or panel. In other words, a View specifies the content and appearance of a TraitsUI window or panel display. For example, suppose you want to construct a GUI window that shows only the first three attributes of a SimpleEmployee (e.g., because salary is confidential and the employee number should not be edited). Furthermore, you would like to specify the order in which those fields appear. You can do this by defining a View object and passing it to the configure_traits() method: .. index:: configure_traits(); view parameter, examples; View object .. _example-2-using-configure-traits-with-a-view-object: .. rubric:: Example 2: Using configure_traits() with a View object .. literalinclude:: examples/configure_traits_view.py :start-at: configure_traits_view.py The resulting window has the desired appearance: .. figure:: images/ui_for_ex2.jpg :alt: User interface showing only First name, Last name, and Department Figure 2: User interface for Example 2 A View object can have a variety of attributes, which are set in the View definition, following any Group or Item objects. The sections on :ref:`contents-of-a-view` through :ref:`advanced-view-concepts` explore the contents and capabilities of Views. Refer to the *Traits API Reference* for details of the View class. Except as noted, all example code uses the configure_traits() method; a detailed description of this and other techniques for creating GUI displays from Views can be found in :ref:`displaying-a-view`. .. index:: View; contents object: View .. _contents-of-a-view: Contents of a View ------------------ The contents of a View are specified primarily in terms of two basic building blocks: Item objects (which, as suggested by Example 2, correspond roughly to individual trait attributes), and Group objects. A given View definition can contain one or more objects of either of these types, which are specified as arguments to the View constructor, as in the case of the three Items in Example 2. The remainder of this chapter describes the Item and Group classes. .. index:: widget, control object: Item .. _the-item-object: The Item Object ``````````````` The simplest building block of a View is the :term:`Item` object. An Item specifies a single interface :term:`widget`, usually the display for a single trait attribute of a HasTraits object. The content, appearance, and behavior of the widget are controlled by means of the Item object's attributes, which are usually specified as keyword arguments to the Item constructor, as in the case of *name* in Example 2. The remainder of this section describes the attributes of the Item object, grouped by categories of functionality. It is not necessary to understand all of these attributes in order to create useful Items; many of them can usually be left unspecified, as their default values are adequate for most purposes. Indeed, as demonstrated by earlier examples, simply specifying the name of the trait attribute to be displayed is often enough to produce a usable result. The following table lists the attributes of the Item class, organized by functional categories. Refer to the *Traits API Reference* for details on the Item class. .. index:: attributes; Item, Item; attributes .. index:: name attribute, dock attribute; Item, emphasized attribute .. index:: export attribute; Item, height attribute; Item, image attribute; .. index:: Item, label attribute; Item, padding attribute; Item .. index:: resizable attribute, show_label attribute, springy attribute; Item .. index:: width attribute; Item, format_str attribute, format_func attribute .. index:: editor attribute, style attribute; Item, enabled_when attribute; Item .. index:: visible_when attribute; Item, defined_when attribute; Item .. index:: has_focus attribute, tooltip attribute, help attribute; Item .. index:: help_id attribute; Item, id attribute; Item .. _attributes-of-item-by-category-table: .. rubric:: Attributes of Item, by category Content These attributes specify the actual data to be displayed by an item. Because an Item is essentially a template for displaying a single trait, its **name** attribute is nearly always specified. name: str The name of the trait being edited. Display format In addition to specifying which trait attributes are to be displayed, you might need to adjust the format of one or more of the resulting widgets. If an Item's **label** attribute is specified but not its name, the value of **label** is displayed as a simple, non-editable string. (This feature can be useful for displaying comments or instructions in a TraitsUI window.) dock: Docking style for the item. emphasized: bool Should label text be emphasized? export: Category of elements dragged from view. height: Requested height as pixels (height > 1) or proportion of screen (0 < height < 1) image: Image to show on tabs. label: str The label to display on the item. padding: int Amount of extra space, in pixels, to add around the item. Values must be integers between -15 and 15. Use negative values to subtract from the default spacing. resizable: bool Can the item be resized to use extra space. The default is False. show_label: bool Whether to show the label or not (defaults to True). springy: bool Use extra space in the parent layout? The default is False. width: float Requested width as pixels (width > 1) or proportion of screen (0 < width < 1). Content format In some cases it can be desirable to apply special formatting to a widget's contents rather than to the widget itself. Examples of such formatting might include rounding a floating-point value to two decimal places, or capitalizing all letter characters in a license plate number. format_str: str '% format' string for text. format_func: func Format function for text. Widget override These attributes override the widget that is automatically selected by TraitsUI. These options are discussed in :ref:`introduction-to-trait-editor-factories` and :ref:`the-predefined-trait-editor-factories`. editor: ItemEditor Editor to use. style: {'simple', 'custom', 'text', 'readonly'} The editor style (see :ref:`specifying-an-editor-style`). Visibility and status Use these attributes to create a simple form of a dynamic GUI, which alters the display in response to changes in the data it contains. More sophisticated dynamic behavior can be implemented using a custom :term:`Handler` (see :ref:`controlling-the-interface-the-handler`). enabled_when: str Python expression that determines whether the group can be edited. The expression will be evaluated any time a trait on an object in the UI's context is changed. As a result, changes to nested traits that don't also change a trait on some object in the context may not trigger the expression to be evaluated. visible_when: str Python expression that determines visibility of group. The expression will be evaluated any time a trait on an object in the UI's context is changed. As a result, changes to nested traits that don't also change a trait on some object in the context may not trigger the expression to be evaluated. defined_when: str Expression that determines inclusion of group in parent. has_focus: bool Should this item get initial focus? User help These attributes provide guidance to the user in using the user interface. tooltip: str Tooltip to display on mouse-over. help: If the **help** attribute is not defined for an Item, a system-generated message is used instead. help_id: It is ignored by the default help handler, but can be used by a custom help handler. .. TODO: Add sample help screen Unique identifier id: Used as a key for saving user preferences about the widget. If **id** is not specified, the value of the **name** attribute is used. .. index:: Custom class, Label class, Heading class, Readonly class, Spring class, UCustom class, UItem class, UReadonly class pair: Item; subclasses .. _subclasses-of-item: Subclasses of Item `````````````````` The TraitsUI package defines the following subclasses of Item, which are helpful shorthands for defining certain types of items. Label, Heading and Spring are intended to help with the layout of a TraitsUI View, and need not have a trait attribute associated with them. For example, ``Spring()`` and ``Label("This is a label")`` are valid code. +-----------+------------------------------+-----------------------------------------+ | Subclass | Description | Equivalent To | +===========+==============================+=========================================+ | Label | An item that is just a label | | | | and doesn't require a trait | | | | name associated with it | | +-----------+------------------------------+-----------------------------------------+ | Heading | A fancy label | | +-----------+------------------------------+-----------------------------------------+ | Spring | A item that expands to take | :samp:`Item(name='spring', | | | as much space as necessary | springy=True, show_label=False)` | +-----------+------------------------------+-----------------------------------------+ | Custom | An item with a custom editor | :samp:`Item(style='custom')` | | | style | | +-----------+------------------------------+-----------------------------------------+ | Readonly | An item with a readonly | :samp:`Item(style='readonly')` | | | editor style | | +-----------+------------------------------+-----------------------------------------+ | UItem | An item with no label | :samp:`Item(show_label=False)` | +-----------+------------------------------+-----------------------------------------+ | UCustom | A Custom item with no label | :samp:`Item(style='custom', | | | | show_label=False)` | +-----------+------------------------------+-----------------------------------------+ | UReadonly | A Readonly item with no | :samp:`Item(style='readonly', | | | label | show_label=False)` | +-----------+------------------------------+-----------------------------------------+ .. index: object: Group .. _the-group-object: The Group Object ```````````````` The preceding sections have shown how to construct windows that display a simple vertical sequence of widgets using instances of the View and Item classes. For more sophisticated interfaces, though, it is often desirable to treat a group of data elements as a unit for reasons that might be visual (e.g., placing the widgets within a labeled border) or logical (activating or deactivating the widgets in response to a single condition, defining group-level help text). In TraitsUI, such grouping is accomplished by means of the :term:`Group` object. Consider the following enhancement to Example 2: .. index:: pair: configure_traits(); examples triple: View; Group; examples .. _example-3-using-configure-traits-with-a-view-and-a-group-object: .. rubric:: Example 3: Using configure_traits() with a View and a Group object .. literalinclude:: examples/configure_traits_view_group.py :start-at: configure_traits_view_group.py The resulting window shows the same widgets as before, but they are now enclosed in a visible border with a text label: .. figure:: images/ui_for_ex3.jpg :alt: User interface showing three fields enclosed in a border Figure 3: User interface for Example 3 .. indexx: pair: contents; Group .. _content-of-a-group: Content of a Group :::::::::::::::::: The content of a Group object is specified exactly like that of a View object. In other words, one or more Item or Group objects are given as arguments to the Group constructor, e.g., the three Items in Example 3. [5]_ The objects contained in a Group are called the *elements* of that Group. Groups can be nested to any level. .. index:: pair: attributes; Group .. _group-attributes: Group Attributes :::::::::::::::: The following table lists the attributes of the Group class, organized by functional categories. As with Item attributes, many of these attributes can be left unspecified for any given Group, as the default values usually lead to acceptable displays and behavior. See the *Traits API Reference* for details of the Group class. .. index:: object attribute; Group, content attribute; Group .. index:: label attribute; Group, show_border attribute, show_labels attribute .. index:: show_left attribute, padding attribute; Group, layout attribute .. index:: selected attribute, orientation attribute, style attribute; Group .. index:: columns attribute, dock attribute; Group, dock_theme attribute; .. index:: Group, image attribute; Group export attribute; Group, .. index:: springy attribute; Group .. _attributes-of-group-by-category-table: .. rubric:: Attributes of Group, by category Content object: References the object whose traits are being edited by members of the group; by default this is 'object', but could be another object in the current context. content: list List of elements in the group. Display format These attributes define display options for the group as a whole. columns: The number of columns in the group. dock: Dock style of sub-groups. dock_theme: The theme to use for the dock. export: Category of elements dragged from view. image: Image to show on tabs. label: The label to display on the group. layout: {'normal', 'flow', 'split', 'tabbed'} Layout style of the group, which can be one of the following: * 'normal' (default): Sub-groups are displayed sequentially in a single panel. * 'flow': Sub-groups are displayed sequentially, and then "wrap" when they exceed the available space in the **orientation** direction. * 'split': Sub-groups are displayed in a single panel, separated by "splitter bars", which the user can drag to adjust the amount of space for each sub-group. * 'tabbed': Each sub-group appears on a separate tab, labeled with the sub-group's *label* text, if any. This attribute is ignored for groups that contain only items, or contain only one sub-group. orientation: {'vertical', 'horizontal'} The orientation of the subgroups. padding: int Amount of extra space, in pixels, to add around the item. Values must be integers between -15 and 15. Use negative values to subtract from the default spacing. selected: In a tabbed layout, should this be the visible tab? show_border: bool Should a border be shown or not show_labels: Show the labels of items? show_left: bool Show labels on the left or the right. springy: bool Use extra space in the parent layout? The default is False. style: {'simple', 'custom', 'text', 'readonly'} Default editor style of items in the group. .. index:: enabled_when attribute; Group .. index:: visible_when attribute; Group .. index:: defined_when attribute; Group .. index:: help attribute; Group .. index:: help_id attribute; Group .. index:: id attribute; Group Visibility and status These attributes work similarly to the attributes of the same names on the Item class. enabled_when: str Python expression that determines whether the group can be edited. The expression will be evaluated any time a trait on an object in the UI's context is changed. As a result, changes to nested traits that don't also change a trait on some object in the context may not trigger the expression to be evaluated. visible_when: str Python expression that determines visibility of group. The expression will be evaluated any time a trait on an object in the UI's context is changed. As a result, changes to nested traits that don't also change a trait on some object in the context may not trigger the expression to be evaluated. defined_when: str Expression that determines inclusion of group in parent. .. TODO: Does Item-level or Group-level take precedence? Find out and document. User help The help text is used by the default help handler only if the group is the only top-level group for the current View. For example, suppose help text is defined for a Group called **group1**. The following View shows this text in its help window:: View(group1) The following two do not:: View(group1, group2) View(Group(group1)) help: str Help message. If the **help** attribute is not defined, a system-generated message is used instead. help_id: The **help_id** attribute is ignored by the default help handler, but can be used by a custom help handler. .. TODO: The document needs to include material on organizing Views via Groups, including the implied top-level group of every View. If we do thiss earlier in the document, it will probably simplify this. Unique identifier id: str The **id** attribute is used as a key for saving user preferences about the widget. If **id** is not specified, the **id** values of the elements of the group are concatenated and used as the group identifier. .. index:: pair: subclasses; Group .. _subclasses-of-group: Subclasses of Group ``````````````````` The TraitsUI package defines the following subclasses of Group, which are helpful shorthands for defining certain types of groups. Refer to the *Traits API Reference* for details. .. index:: HGroup, HFlow, HSplit, Tabbed, VGroup, VFlow, VGrid, VFold, VSplit .. _subclasses-of-group_table: .. rubric:: Subclasses of Group +-----------+------------------------------+-----------------------------------------+ |Subclass |Description |Equivalent To | +===========+==============================+=========================================+ |HGroup |A group whose items are laid |:samp:`Group(orientation='horizontal')` | | |out horizontally. | | +-----------+------------------------------+-----------------------------------------+ |HFlow |A horizontal group whose items|:samp:`Group(orientation='horizontal', | | |"wrap" when they exceed the |layout='flow', show_labels=False)` | | |available horizontal space. | | +-----------+------------------------------+-----------------------------------------+ |HSplit |A horizontal group with |:samp:`Group(orientation='horizontal', | | |splitter bars to separate it |layout='split')` | | |from other groups. | | +-----------+------------------------------+-----------------------------------------+ |Tabbed |A group that is shown as a tab|:samp:`Group(orientation='horizontal' | | |in a notebook. |layout='tabbed', springy=True)` | +-----------+------------------------------+-----------------------------------------+ |VGroup |A group whose items are laid |:samp:`Group(orientation='vertical')` | | |out vertically. | | +-----------+------------------------------+-----------------------------------------+ |VFlow |A vertical group whose items |:samp:`Group(orientation='vertical', | | |"wrap" when they exceed the |layout='flow', show_labels=False)` | | |available vertical space. | | +-----------+------------------------------+-----------------------------------------+ |VFold |A vertical group in which |:samp:`Group(orientation='vertical', | | |items can be collapsed (i.e., |layout='fold', show_labels=False)` | | |folded) by clicking their | | | |titles. | | +-----------+------------------------------+-----------------------------------------+ |VGrid |A vertical group whose items |:samp:`Group(orientation='vertical', | | |are laid out in two columns. |columns=2)` | +-----------+------------------------------+-----------------------------------------+ |VSplit |A vertical group with splitter|:samp:`Group(orientation='vertical', | | |bars to separate it from other|layout='split')` | | |groups. | | +-----------+------------------------------+-----------------------------------------+ .. rubric:: Footnotes .. [3] If the code is being run from a program that already has a GUI defined, then use edit_traits() instead of configure_traits(). These methods are discussed in more detail in :ref:`displaying-a-view`. .. [4] All code examples in this guide that include a file name are also available as examples in the :file:`tutorials/doc_examples/examples` subdirectory of the Traits docs directory. You can run them individually, or view them in a tutorial program by running: :program:`python` :file:`{Traits_dir}/tutorials/tutor.py` :file:`{Traits_dir}/docs/tutorials/doc_examples` .. [5] As with Views, it is possible for a Group to contain objects of more than one type, but it is not recommended. traitsui-7.2.1/docs/source/traitsui_user_manual/testing/0000755000076500000240000000000014046644526024153 5ustar aayresstaff00000000000000traitsui-7.2.1/docs/source/traitsui_user_manual/testing/discussions/0000755000076500000240000000000014046644526026521 5ustar aayresstaff00000000000000traitsui-7.2.1/docs/source/traitsui_user_manual/testing/discussions/target_interaction_location.rst0000644000076500000240000000452314046644454035034 0ustar aayresstaff00000000000000.. _testing-target-interaction-location: Understanding Target, Interaction and Location ============================================== When one writes a test using |UITester|, three categories of objects are involved. * Target is an object on which we can perform an action (e.g. a mouse click) to modify an application state, or retrieve a GUI application state, or search for other contained targets (e.g. a table widget that contains buttons and text). An instance of |UIWrapper| wraps a target under the protected attribute |UIWrapper._target|. * Interaction is an object that wraps the information for performing an action or retrieving GUI state(s), but it does not necessarily contain information to a Target. For example, both |MouseClick| and |DisplayedText| are interactions that can be used against different targets. An interaction can also be specialized for a specific target if needed. |UIWrapper.perform| and |UIWrapper.inspect| handle an interaction. * Location is an object that wraps the information for searching a target from a container target, but it does not necessarily contain information specific to a Target. For example, both |TargetById| and |TargetByName| are locations for identifying a contained target via an id or a name, which can be used against different targets. A location can also be specialized for a specific target if needed. |UIWrapper.locate| resolves a location. .. _testing-target-is-protected: Why is Target protected? ------------------------ The |UIWrapper._target| attribute is protected because it often exposes implementation details of the GUI component being tested (e.g. it may refer to the Qt specific implementation of a ButtonEditor). Since it is best for tests to avoid dependencies on implementation details, its usage in test code is discouraged. However, this attribute is expected to be used while extending the testing API, which inevitably requires knowledge of the implementation details on the tested components. If the implementation details and the testing support code are not maintained together, tests may be subject to breakages caused by changes to implementation details that do not affect the overall behavior. Developers should evaluate based on context whether they should proceed. .. include:: ../substitutions.rst traitsui-7.2.1/docs/source/traitsui_user_manual/testing/discussions/event_loop_and_exceptions.rst0000644000076500000240000000306114046644454034510 0ustar aayresstaff00000000000000GUI event processing and exception handling =========================================== The testing API is designed such that GUI event processing is requested automatically wherever there may be pending GUI events. While events are being processed, the global exception handling is overridden temporarily in order to capture any unhandled exceptions. If any exceptions are caught, a test error is raised after all pending events are processed. For example, |UIWrapper.locate|, |UIWrapper.perform| and |UIWrapper.inspect| all request pending events to be processed before and/or after interacting with GUI states. This automatic behavior is enabled by default, but it can be disabled via the |UITester.auto_process_events| flag (see :ref:`testing-with-modal-dialogs` for example). Motivation ---------- In production environments, the GUI event loop typically blocks as it waits and processes new GUI events continuously, until the last window is closed. In tests, the GUI event loop needs to be run programmatically for a limited scope of commands and yield to test instructions every now and then while the GUI is still open. In production environments, some unhandled exceptions are tolerated and suppressed by the GUI event loop, but some exceptions could cause the entire runtime to abort abnormally. Neither of these conditions are desirable in tests. Unhandled exceptions typically indicate bugs and should cause a test to error. Abortion of the Python runtime prevents running and collecting results from multiple tests in a test suite. .. include:: ../substitutions.rst traitsui-7.2.1/docs/source/traitsui_user_manual/testing/discussions/compatibility_pyface_testing.rst0000644000076500000240000000503614046644454035214 0ustar aayresstaff00000000000000Compatibility with Pyface test utilities ======================================== |UITester| is intended to be compatible with Pyface's |ModalDialogTester|, (for testing with modal dialogs) and |GuiTestAssistant| (for general GUI event loop handling in tests). .. _testing-with-modal-dialogs: Testing with modal dialogs -------------------------- When a test involves a modal dialog, |ModalDialogTester| will be needed. |UITester| can be used together, for example, to launch the modal dialog which then gets closed by |ModalDialogTester|:: from pyface.constant import OK from pyface.toolkit import toolkit_object from traitsui.testing.api import MouseClick, UITester ModalDialogTester = toolkit_object( "util.modal_dialog_tester:ModalDialogTester" ) tester = UITester() with tester.create_ui(demo) as ui: simple_button = tester.find_by_id(ui, "simple") def click_simple_button(): simple_button.perform(MouseClick()) modal_tester = ModalDialogTester(click_simple_button) modal_tester.open_and_run(lambda x: x.click_button(OK)) assert modal_tester.dialog_was_opened But if you try to modify or inspect GUI states using |UITester| while the dialog is opened, you should set the |UITester.auto_process_events| attribute to false for those operations. Otherwise the ModalDialogTester and UITester will enter a deadlock that blocks forever. Example:: def when_opened(modal_dialog_tester): ui_tester = UITester(auto_process_events=False) ui_tester.find_by_id(ui, "button").perform(MouseClick()) modal_dialog_tester = ModalDialogTester(callable_to_open_dialog) modal_dialog_tester.open_and_run(when_opened) In the above example, ``ui`` is an instance of |UI| that has been obtained elsewhere in the test. Note that you can instantiate as many |UITester| objects as you need. Using UITester and GuiTestAssistant ----------------------------------- |GuiTestAssistant| is a more general tool dealing with GUI processing in tests. |UITester|, on the other hand, is a more specific tool for testing GUI components managed by TraitsUI. The two can be used together in tests. |GuiTestAssistant| has been around before |UITester| is introduced. Since various methods on |UIWrapper| (such as |UIWrapper.perform| and |UIWrapper.inspect|) automatically request GUI events to be processed, where they are used entirely for modifying and inspecting GUI states, some previous usage of |GuiTestAssistant| features may no longer be necessary. .. include:: ../substitutions.rst traitsui-7.2.1/docs/source/traitsui_user_manual/testing/discussions/working_of_extensions.rst0000644000076500000240000000342714046644454033704 0ustar aayresstaff00000000000000.. _testing-how-extension-works: How extension works =================== |UITester| supports testing TraitsUI editors with various user interaction logic. However it is possible that projects' test code may require additional logic that is not supported by |UITester| by default. Furthermore, some projects may implement and maintain their own custom UI editors. Those custom UI editors are also by default not supported by |UITester|. The API allows extension such that * projects can test TraitsUI editors with user interactions that do not come supported by default. * projects can reuse the testing API for testing custom editors. As described in :ref:`testing-add-new-interaction` and :ref:`testing-add-new-location`, the testing API can be extended by providing one or many registry objects. Internally, |UITester| maintains a list of registries ordered in decreasing priority. For example, if you provide multiple registries:: tester = UITester(registries=[custom_registry, another_registry]) Interaction and location support registered in the first registry will supersede that of the second (if such implementation exists). This list of registries is passed on to all |UIWrapper| created from the |UITester|. When |UIWrapper.perform| or |UIWrapper.inspect| is called, the first registry that can support the given target and interaction will be used. Likewise, |UIWrapper.locate| follows the same rule for the given target and location. See :ref:`testing-target-interaction-location` for an explanation on these three types of objects. This is how |UITester| supports testing on TraitsUI editor: It extends the given list of registries with more built-in registries that know how to interact with TraitsUI editors, and let |UIWrapper| do most of the work. .. include:: ../substitutions.rst traitsui-7.2.1/docs/source/traitsui_user_manual/testing/discussions/automated_vs_manual_test.rst0000644000076500000240000000170114046644454034341 0ustar aayresstaff00000000000000Limitations on automated GUI testing ==================================== The testing library allows more manual GUI tests to be rewritten as automated tests. However, automated tests cannot replace manual testing entirely, and there exists toolkit-dependent and platform-dependent limitations as to what can be achieved for programmatically imitating user interactions, e.g. the animation of a button being depressed when clicked may not be replicated in automated tests. The |UITester.delay| parameter allows playing back a test for visual confirmation, but it may not look identical to how the GUI looks when it is tested manually. If the GUI / trait states being asserted in tests are not consistent compared to manually testing, then that is likely a bug. Please report it. If the GUI / trait states being asserted in tests are consistent with manual testing, then such visual discrepancies may have to be tolerated. .. include:: ../substitutions.rst ././@LongLink0000000000000000000000000000014700000000000011217 Lustar 00000000000000traitsui-7.2.1/docs/source/traitsui_user_manual/testing/discussions/debugging-gui-tests-at-runtime.rsttraitsui-7.2.1/docs/source/traitsui_user_manual/testing/discussions/debugging-gui-tests-at-runtime.r0000644000076500000240000000130414046644454034642 0ustar aayresstaff00000000000000Debugging GUI tests at runtime ============================== To debug an issue with a GUI test, one can use the |UITester.delay| parameter to slow down the test, or they may use a Python debugger to inspect internal states while the test is being run. In both cases, developers should be aware that the GUI can react to any additional events that may be caused by these debugging activities, and this may cause the test to behave differently compared to running it in normal conditions. For example, if a test relies on a GUI widget having the keyboard input focus, a Python debugger may interfere with the test by stealing focus from the GUI when a break point occurs. .. include:: ../substitutions.rst traitsui-7.2.1/docs/source/traitsui_user_manual/testing/references/0000755000076500000240000000000014046644526026274 5ustar aayresstaff00000000000000traitsui-7.2.1/docs/source/traitsui_user_manual/testing/references/examples.rst0000644000076500000240000000205214046644454030643 0ustar aayresstaff00000000000000 Examples ======== Several test examples can be found for testing :ref:`TraitsUI\'s own demos`. Editors ------- - :github-demo:`BooleanEditor ` - :github-demo:`ButtonEditor ` - :github-demo:`CheckListEditor ` - :github-demo:`EnumEditor ` - :github-demo:`FileEditor ` - :github-demo:`InstanceEditor ` - :github-demo:`ListEditor ` - :github-demo:`ListEditor (notebook) ` - :github-demo:`RangeEditor ` - :github-demo:`TextEditor ` Applications ------------ - :github-demo:`Converter ` traitsui-7.2.1/docs/source/traitsui_user_manual/testing/substitutions.rst0000644000076500000240000000503714046644454027651 0ustar aayresstaff00000000000000 .. # substitutions .. |testing.api| replace:: :mod:`traitsui.testing.api` .. |Group| replace:: :class:`~traitsui.group.Group` .. |Item| replace:: :class:`~traitsui.item.Item` .. |UI| replace:: :class:`~traitsui.ui.UI` .. |MouseClick| replace:: :class:`~traitsui.testing.tester.command.MouseClick` .. |KeySequence| replace:: :class:`~traitsui.testing.tester.command.KeySequence` .. |DisplayedText| replace:: :class:`~traitsui.testing.tester.query.DisplayedText` .. |Index| replace:: :class:`~traitsui.testing.tester.locator.Index` .. |TargetById| replace:: :class:`~traitsui.testing.tester.locator.TargetById` .. |TargetByName| replace:: :class:`~traitsui.testing.tester.locator.TargetByName` .. |TargetRegistry| replace:: :class:`~traitsui.testing.tester.target_registry.TargetRegistry` .. |TargetRegistry.register_interaction| replace:: :func:`~traitsui.testing.tester.target_registry.TargetRegistry.register_interaction` .. |TargetRegistry.register_location| replace:: :class:`~traitsui.testing.tester.target_registry.TargetRegistry.register_location` .. |UITester| replace:: :class:`~traitsui.testing.tester.ui_tester.UITester` .. |UITester.auto_process_events| replace:: :attr:`~traitsui.testing.tester.ui_tester.UITester.auto_process_events` .. |UITester.create_ui| replace:: :func:`~traitsui.testing.tester.ui_tester.UITester.create_ui` .. |UITester.delay| replace:: :attr:`~traitsui.testing.tester.ui_tester.UITester.delay` .. |UITester.find_by_id| replace:: :func:`~traitsui.testing.tester.ui_tester.UITester.find_by_id` .. |UITester.find_by_name| replace:: :func:`~traitsui.testing.tester.ui_tester.UITester.find_by_name` .. |UIWrapper| replace:: :class:`~traitsui.testing.tester.ui_wrapper.UIWrapper` .. |UIWrapper.find_by_id| replace:: :func:`~traitsui.testing.tester.ui_wrapper.UIWrapper.find_by_id` .. |UIWrapper.find_by_name| replace:: :func:`~traitsui.testing.tester.ui_wrapper.UIWrapper.find_by_name` .. |UIWrapper.help| replace:: :func:`~traitsui.testing.tester.ui_wrapper.UIWrapper.help` .. |UIWrapper.inspect| replace:: :func:`~traitsui.testing.tester.ui_wrapper.UIWrapper.inspect` .. |UIWrapper.locate| replace:: :func:`~traitsui.testing.tester.ui_wrapper.UIWrapper.locate` .. |UIWrapper.perform| replace:: :func:`~traitsui.testing.tester.ui_wrapper.UIWrapper.perform` .. |UIWrapper._target| replace:: :attr:`~traitsui.testing.tester.ui_wrapper.UIWrapper._target` .. |ModalDialogTester| replace:: :class:`~pyface.ui.qt4.util.modal_dialog_tester.ModalDialogTester` .. |GuiTestAssistant| replace:: :class:`~pyface.ui.qt4.util.gui_test_assistant.GuiTestAssistant` traitsui-7.2.1/docs/source/traitsui_user_manual/testing/tutorials/0000755000076500000240000000000014046644526026201 5ustar aayresstaff00000000000000traitsui-7.2.1/docs/source/traitsui_user_manual/testing/tutorials/test_with_nested_object.rst0000644000076500000240000001753714046644454033652 0ustar aayresstaff00000000000000 Testing with nested objects =========================== Suppose we have a GUI application like this:: from traits.api import Enum, HasStrictTraits, Instance, Float, observe, Str from traitsui.api import Item, InstanceEditor, View class PayCheck(HasStrictTraits): name = Str() pay = Float() class App(HasStrictTraits): min_hourly_wage = Float(10.0) n_hours = Enum([25, 40, 45]) pay_check = Instance(PayCheck) def _pay_check_default(self): return PayCheck(pay=self.min_hourly_wage*self.n_hours) @observe("min_hourly_wage") @observe("n_hours") def _pay_updated(self, event): self.pay_check.pay = self.min_hourly_wage * self.n_hours view = View( Item("min_hourly_wage", label="Hourly wage"), Item("n_hours", label="Number of work hours"), Item("pay_check", editor=InstanceEditor(), style="custom"), ) app = App() app.configure_traits() .. figure:: images/test_with_nested_object/init-app.png When the user selects a different number of work hours in the combo box, the pay is updated accordingly. This behavior is simple enough to be tested without GUI, but we will to write a GUI test for demonstration purposes. The test will need to: #. Find the combo box for the number of work hours field #. Locate a different item in the combo box #. Click that item to modify the number of work hours #. Find the nested 'pay' field inside 'PayCheck' #. Check the pay is updated to the expected value Step 1: Find the combo box for the number of work hours field ------------------------------------------------------------- First of all, find the combo box using the name defined in |Item|:: from traitsui.testing.api import UITester app = App() tester = UITester() with tester.create_ui(app) as ui: n_hours_combobox = tester.find_by_name(ui, "n_hours") Step 2: Locate a different item in the combo box ------------------------------------------------ Let's take a look at the functionality supported with this ``n_hours_combobox``. .. code-block:: n_hours_combobox.help() prints something like this (abbreviated for the purpose of this section):: Interactions ------------ An object representing the user clicking a key on the keyboard. ... An object representing the user typing a sequence of keys. ... An object representing an interaction to obtain the displayed (echoed) plain text. ... An object representing an interaction to obtain the displayed (echoed) plain text which is currently selected. E.g. For a Enum List, with one entry currently selected, the displayed selected text would be the label of that entry. ... Locations --------- A locator for locating a target that is uniquely specified by a single 0-based index. The |Index| object allows us to locate an indexed item on the combo box. Objects listed in the "Locations" section can be used with |UIWrapper.locate|. So we add this line:: second_item = n_hours_combobox.locate(Index(1)) Now our test looks like this:: from traitsui.testing.api import Index, UITester app = App() tester = UITester(delay=500) with tester.create_ui(app) as ui: n_hours_combobox = tester.find_by_name(ui, "n_hours") second_item = n_hours_combobox.locate(Index(1)) Step 3: Modify the number of work hours --------------------------------------- The returned value of |UIWrapper.locate| is another instance of |UIWrapper|. We can find what are supported on ``second_item`` using the |UIWrapper.help| method again. .. code-block:: second_item.help() prints something like this (abbreviated, again):: Interactions ------------ An object representing the user clicking a mouse button. Currently the left mouse button is assumed. ... Locations --------- No locations are supported. This help message indicates that we can click this second item. In our application context, this will select the second item in the combo box:: second_item.perform(MouseClick()) Now this is how the test looks like so far:: from traitsui.testing.api import Index, MouseClick, UITester app = App() tester = UITester() with tester.create_ui(app) as ui: n_hours_combobox = tester.find_by_name(ui, "n_hours") second_item = n_hours_combobox.locate(Index(1)) second_item.perform(MouseClick()) Step 4: Find the nested 'pay' field inside 'PayCheck' ----------------------------------------------------- This step is trickier. The ``pay`` field is nested inside the ``pay_check`` item, how do we get to it? Let's get the ``pay_check`` object via the tester and see what we have:: pay_check_pane = tester.find_by_name(ui, "pay_check") pay_check_pane.help() The last line prints something like this (abbreviated, again):: Interactions ------------ No interactions are supported. Locations --------- A locator for locating the next UI target using an id. ... A locator for locating the next UI target using a name. ... We can see that |TargetById| and |TargetByName| are available for locating the next GUI element. We can locate the text box for ``pay_check.pay`` using |TargetByName|:: pay_field = pay_check_pane.locate(TargetByName("pay")) In fact, |UIWrapper.find_by_id| and |UIWrapper.find_by_name| are simply aliases for |TargetById| and |TargetByName| respectively, so you can also write:: pay_field = pay_check_pane.find_by_name("pay") Now this is how the test looks like so far:: from traitsui.testing.api import Index, MouseClick, UITester app = App() tester = UITester() with tester.create_ui(app) as ui: n_hours_combobox = tester.find_by_name(ui, "n_hours") n_hours_combobox.locate(Index(1)).perform(MouseClick()) pay_field = tester.find_by_name(ui, "pay_check").find_by_name("pay") Step 5: Check the pay is updated to the expected value ------------------------------------------------------ ``pay_field`` wraps a text box. We have seen in :ref:`testing-tutorial-first-test` how to obtain the displayed text:: from traitsui.testing.api import DisplayedText displayed_pay = pay_field.inspect(DisplayedText()) assert displayed_pay == "400.0" Our final test -------------- .. code-block:: from traitsui.testing.api import Index, DisplayedText, MouseClick, UITester app = App() tester = UITester() with tester.create_ui(app) as ui: n_hours_combobox = tester.find_by_name(ui, "n_hours") n_hours_combobox.locate(Index(1)).perform(MouseClick()) pay_field = tester.find_by_name(ui, "pay_check").find_by_name("pay") displayed_pay = pay_field.inspect(DisplayedText()) assert displayed_pay == "400.0" What did we learn? ------------------ - From the output of |UIWrapper.help|, objects listed in the "Locations" can be used with |UIWrapper.locate| for locating nested GUI components. - |UIWrapper.find_by_name| and |UIWrapper.find_by_id| are aliases making use of the |UIWrapper.locate| method. - |UIWrapper.locate| returns an instance of |UIWrapper| on which |UIWrapper.locate| can be called again; |UIWrapper.perform| and |UIWrapper.inspect| can be used on the nested object located. .. include:: ../substitutions.rst traitsui-7.2.1/docs/source/traitsui_user_manual/testing/tutorials/images/0000755000076500000240000000000014046644526027446 5ustar aayresstaff00000000000000traitsui-7.2.1/docs/source/traitsui_user_manual/testing/tutorials/images/test_with_nested_object/0000755000076500000240000000000014046644526034350 5ustar aayresstaff00000000000000././@LongLink0000000000000000000000000000015600000000000011217 Lustar 00000000000000traitsui-7.2.1/docs/source/traitsui_user_manual/testing/tutorials/images/test_with_nested_object/init-app.pngtraitsui-7.2.1/docs/source/traitsui_user_manual/testing/tutorials/images/test_with_nested_object/ini0000644000076500000240000007065114046644454035063 0ustar aayresstaff00000000000000‰PNG  IHDR|¾6°´ÁGiCCPICC Profile(‘c``I,(Èaa``ÈÍ+) rwRˆˆŒR`ÊÀÈ ÄÀÅ Å`˜\\ààT£QÁ·k@Õ@pYdÖ¼°Èîx>ÃuA×÷ haˆÀT¸RR‹“ô NK.(*a``L²•ËK @ì [¤è( {ˆao±“ ì#`5!AÎ@ö [ 9#hã [' I<‰ µx\\}|BÌ -]8—tP’ZQ¢ó *‹2Ó3J¡”ªà™—¬§£`d`dÈÀ sˆêÏAà°dÛ‡Ë_ÂÀ`ñy"B,i Ãö6‰[1•y ü- Û$%ÂÀø¥8ÍØÂæ±g``½ûÿÿg ö‰ 'þÿÿ{ñÿÿÍ¿ÍÀp }×_àü<=VeXIfMM*‡i’†D | ¾ASCIIScreenshotÈæŒÖiTXtXML:com.adobe.xmp 380 Screenshot 190  †’@IDATxìÝœeE™6ðšÉI²`P¢ˆ feUÃêš1¯Y1+®ñÓÕu͸¸ŠkÆœˆb0€¢ Š "Tf¾û¯îçNÍåvOÏLÏÓõþúܪzë uÞ[õTÝ:§Ï™·h@e’.\˜lMçÍ›7,Ë«—R‘_c5jùŸÿügYsÍ5ËÕW_=¬Ÿ?~•#ëˆ~ø±£Œ"' ‘ ‘kíËó?SÿlOçºóõŸóŸMÿí¹;ïéοûŸè=þ³×ÿW×þ—±´´ñ¿,çOv&øÃ7ÙïFË©[šc>²ÿÊÁ¶>8Ǧ|h˜£¤ÂÁˆ#DI}D&`ì9S½È²1j“.’ëØ§»±CŽíüãCdìŽóÏ^ÚC?þåÕ)'mýãóO6rl8ßéüÇ4çÔ¶.’j?ÒÞî¿Ç¿÷¿‰Ed;þWtüµc/ã>iƵqÈ'ÙQç?6ég“K»åC‘Mytü“ÿé¾ÿ`{‘Ógcœÿ´'¾ç „QRáhó10šÆ1#×08iG Ôiy©“Ò8iü¤¾õ»­ßVniþÉNå?íˆíÖîtçßÊñwþÓùÏùwÿƒ£kÿÔã¯Sï³7þŒÇ`Ѳô¿Œû¤-düKó½I[ü Æ¥žÖ?~0BÚÊ¥½±ßm92lÆN­êTD`2[A9åÌ1~Võøxä´('à$QN@>hùä¦òÏ~ˆŒcÔ?›ñßÒÖlŒóŸó"Ó‚òèùOå¿=ÿÙðŸötÿ«—|w=þãûï‹ñÇøÿ£ã-4]ÿ3V³Ð Ô…Ô±ƒ´ÅŸ¶£Çn(z䨑Æöèùßà7¨u±9e6c‹íöüÓ)™œýètÿ=þ½ÿ-ûøËXË8R6––wüË¡ŒÕŒÿvl“mÇ¿rüË#e2vFÇ?uÓ}ÿd´‡>{Ò­<4o€Šš‚“F$P”ä‘`¡~N’>Ý8·ç.Ÿ“Q‡È…' _ݨe>¥ôâ_€åñø—:Fýk'(~"'mý+óÏþTþñgâ?>µ#ùî¿Ç¿÷¿Åãÿº0þàœð½Ûߣã­µÖâÒèøhÿàs µãŸ¯—ø oœ¾Ð(þ¶±£‡Èæ|â¿îáÇ FÂK#ÔáQnO²5†O>‹ iÀ?6è9=|ÑM£Sõt[ÿ£z)k[|'õÏVüE/¼qþÓö™ø'¿I»ÿ%¿ÿÄZ¬züoi¥ïè/é;/bÖûßbüI¿³¶%†müf:þĘ޸ø‡<âúÇ‹ï¤íÄO?Ô¶OYý8ÿꃻҩÎÞ rÇ£ xi¬q–F¦se¥†¶ç4rø±aöC±ÿ­ìTþ£G–ýÖÿh{ã_Úú§C¶õ/?꟯ؔ=ÿQÿ£òÓù'Ûý/þùÙãßûߪ£coºþg¬¢qã_›éÿ‚•äÛñ>9øƒZ{lÀ(<©r¨Õ¯qøG>²ò±% Þ@qÍ'…U"qš|”žÒ¶dr¢ÕФ­ÖlktlŽó™†¶ºäÆùO»ÕÅÛ~6bo:ÿ±ù¶]ikÒöü[½™ú×ÖØŠŸÖN›w.‘MÚýOLäâØÆªÇb¡µ´þ?WûŸþ!639ÿŒ»¤§ÒlÙ´ý¿íÑ3fõQé¨2(2Ñiûtt#'ç?öµ©µ;´=¨ä¯vÓx¼EàŒ8&ƒb4†+sò#2áEV9u9‰Ô DVìÑKÿdÈk_ô˜ÈJãC^û"«œs×wÈÇÿ¨=u£þÙ‰Íqò3ñŸóïþ{ü{ÿ[uãÏØEK¾4nüãŽÿV>uÑWNàM‹?þE®µ”ƒìÆfäñ¹øH9íYƒBi€/ Ê á9èh`äÔi”²ºÈG?H†ç$ØÉ6Û9©Ö|ÒIžRŽÿø‹üPÚÆ†vÄ?;ù™[då[{ÑYšÿœ#ßSùoÏ¿ûïñïýob›cUŒ?±†9Kÿ0`ÜøŽ´øcÌç;”eüK£çÛñ ×žø”¦}Ñ•Ò þÐCdÕ‘GÁ)>Jº&á8©5ƒ”Óp)'øÉK`xÒ•¶ #GžŒF9Ù4ZY©G)ÇÝØŒåqþéªc+>’ŽúÍø›Î¿:ÇÒüdž4~“†—óïþ÷ß{b—ïC|Pb®>yuã¾ÿØH¬É÷øO,ГÞÿ/6õô·ô”õ=ý,}N}úSÛÿÚx’Q»ÑMª>ò±•Å.ˆnü*“§Ûxta'ž|x‘‘Žbm­0¯qÑV…# KðÒÈ4ˆQy ÄÌ\µrðÁ›êQ#Ÿ±¯œY¸õOGÝtþµ‰NôÙGmûèÇ¿4õü§-ÑW­oýÓ‰-çÇ?èWåÁǨÿœk÷ßã?Ú¿ÚþÓûß쎿`ÖtãÏ÷‘ñ›øã2þá ^¨ÿnç eŒ§žNüG?ø uD*ÿ­­øÍØÒ¾øÆ«m[¡J5v\c0NÈ9ô6€»Àá£4ÿª«®*—^ziÌrêN„ 2òH9m‰ÿøMšó`ƒO|²­ÿj¬±§ž:äñŸºøO[⿵%ÿl,Íäã£ûïñïýoÕ¿ötã/Xd¬äñ¢Ê¡ŒåŒ²ùǬµ×^»¬»îºe½õÖ«õ‘þÐký¤m|…/ßâOêè²—>ÿ0”|ToËÔ( “Ç‹“ɉ*s¤œÆ¦9 6âD~ìž{î¹å’K.)믿~ÙtÓMkFý³^ÚLÿi[N:þG娡£½i—´õ%Ï^Ëëþ'câ™´ÇñBbÒûßè;ÆÌh?Á›‹ãïÊ+¯,ýë_ËW\Q6ÞxãrÃÞ°ÆA,§€´ØÏR߯S¾+ýÈë¡ØMÌky|uK'C”ZüMݨaåq@ÊŽýýï/]tQ¹ì²ËÊMozÓºŠ§ÿU¨ôôô¬f°ÒÈgŸ}vÙ`ƒ êBÈã[ƒ¿Y8Œ¦êQÒ„ˆbÖ¶“~°|~€œ‚<ð•ÆÑPpPŸ<ˆñ¨³}C.õɧAÿ /,Ûn»m1ëe+§*ôÕ4°Î±Í6ÛÔE¯Õ>‚¹ÁG,†ðUÙ!›© ¾JÙôH9uÊ~)Ð[ÓGˆÑVP@]ªœ Näå³ßžFáÅ6›øt­ìíeþ¶Aä;õôô¬Î€ø·¿ý­l¸á†CÌ…—ÁÜ€¼XD'ø«%¥GF=LUv$ü…ÁkúpSJ>«õ&×´<ää£'ï`‹Ç­ @oÿJ}§¹¸ èݰ ¾ªC~ äb+lM½:ø WñéÕ‘CáËGV~x>倳ÔÁJÚòñ€7^€_ž£4ÐÏ —š4Æ¡ž®tZúëyeá¿_®>ñø²ðôÓªèü›ïPÖ¸ãÊü=ïVÊæ[L«~Ê+þ\®þã×ËÕçS]xr­žwÃÛ–5¶¾GYcÛû•²î®¡2ãOWž[¾zî·ËwÎÿa9é’Sªèí6ºU¹×f{–ûoµWÙf­¦Sïu==s0Ù ¡è}ÂÑâ/™{ÉKƒ¿±#e‹íஉ.£úxdÀ«à8‹£€8~ò”GÜÛiótÏ:묲Å[ uÙG‹~}J¹ú³Ÿ*›žzJÙppÓ¼ÁO ´È­œƒŸBìx«²ÆC^æít«qê×à-ºàÄrõoÞWnxÕ‰eà Ö-ó×°·ðŠ½Ë®(®}DzÆ-ŸVæmzÇkèŽcœpñIå=¿;¼œ°ð§eõ×-kOÚ»j`ïÊ˯(»Î¿CyÆv+»n|»qê«ï”SN©“{{b:Ú­n5þûùîw¿[ûÒ^{íU>ùÉOÖ_}ûì³O«¾Úä­ä;ì°rÀ” ¬6çÕOdù#”ݵs“›Ü¤3,…¿ö`pRuŽÈ%ŸzöàköðÛ–E§N*(Å %¤O93F&)ÃdqJ<x­n|Q¬ì`¿íYg”ÔUüà—ÆÄ2oþ­·~YwP÷ÇÌüƒž¶ô•þ`e¿pöÛÌ?¹¬µõfƒL4`þzë–7X¯¬{ñÉåO™ù;¿z©+}+{`ÒZ¿*›n²ùÀÞÀФÉõÖ_³¬·áú夋~Ue^³ã æÄJÿðï‹Ï ¹åö¥/}iŠK¤îTÐôý$ý†ÐûÞ÷¾rßûÞ·Üâ·XBçúRøÃþP>÷¹Ï•g?ûÙµÉãÎñúr.½+'ð0¸™|ðVüMªÆK€=ºm½¼¾že¼V®*>ÒΔPk#õ©»FzìêÊ~I°ŸDÔE›óÿ…¶áFUæÂlÙÿA×0Ñ2ýéue?{¦&ÍMLkm¼a¹á9'– ²ó¶\«~ü×þrt]ÙÁÞÒÚÝ`“ Ë çü´}âMq «#à v=öXâÔÒ–`NÔ9ñˆ‰øDöÌ3Ï,—_~y­§w]ç¹ûâ·¿ýí°ýnÁ{ÞóžW›s¼®ŸCoßÊ@»È þJÓ?à%ÊböÂTGÊ‘Ï"\]ìD6¼ ø>(qÀ¸JdO±w²¶mÈ¥‘qHÓèãË“§‡èD&zµbäcÑOO¨Û8EéÀÖb’Ÿ}[=çdç=à‹«Çäžû½ºSWöÔ›y|Í€¶­žó²ó·{ì+‹Yß½àØºSí ôM|7ûƒ¯cŸWeÈ>áÆ_¬¼šæ|Ÿ9ÆâñÇ_Ž:ê¨rÞyçÕm}"¥>ñ‰OÔ{’ïsŸû”×½îuõî¼cŽ9¦<ó™Ï\ÂÜÏ~ö³rì±Ç–í¶Û®Ö³±ë®»–>p¢üô§?-?øÁêÑÏþó:™¨ÿÒ—¾T”M$7¿ùÍËX6Ùd“z-é oxC¹ßýîWŽ>úèzËð;ìPö°‡ÕzÎO>ùärä‘G–?þñõGøºÙÍn6ÔÝsÏ=k›n|ã—ÝvÛ­nQ7¯~õ«Ë=ïyÏz¼öµ¯-OzÒ“ ™‹/¾¸|úÓŸ.§vZý'úäŸùŸúÔ§Êï~÷»²ùæ›× 4uU ¬Ðÿá£Ã¸Ñ_`nÊzx‰‚ÍÊòäQäÙƒ¯±™ºÈ+Ó^5Š*µ†Ä…(§Œ§^ž®:y”I!eõ¶ù˜ò\ ­{öp3Kg ï¨$?8ÙÁ¾¾‹¹SÚ™ôámö쫹˜aK~²L†ìÒì¹@[÷ìÝÚ¶´o’O†ìÒì­õBùç?ÿ¹üæ7¿Ò¹~úéå#ùHzhs:º=n@¬Ÿ<ùÉO.¶…léÝÑØX=ÿú׿®6èð€âzÀ·¾õ­*ë;N=õÔš?è ƒê¶Ð—¿üåòýï¿Êâ±ñîw¿»öC}ô‚ .¨Â~ûíWÔûÇÀÿùŸÿ©6\súà?Xn{ÛÛÖ-š-·Ü²zè¡õ¿Ä£ûãÿ¸îÏï¿ÿþÕŸÔ¹<å)O©“¹óÏ?¿NÆÇ{ßûÞ:6žþô§“Ü¿øÅrâ‰'VÀÞ˜:øàƒË¾ûî[¾þõ¯[D£qèåiðc:l¹ÕÁAý$8«Ÿ(ûnƒ‘ÁW2êá§T9x*¥—:yÄŽ|{ÔÛ2# Õ!³?Ÿ2C”9AøxÊî¶A‘ O½³ýØHJnEi6miËuÝÞŠÆkeè‹ÙqÇW<öwÚi§ºÂ¶B¶²ÎÈX[ÝÒ=¶Új«Úgܺ»Ùf›]㻈ücûØú8Ž Ô‰ÆêÝ`õ묳Nù×ý×ÚOù3¹ÏwÞY±üÛ¿ý[yÕ«^UW윰¿Ýí&.°ÛbzË[ÞRAú¿øE½°vç;ß¹êú%à­Àý û =¨ÜúÖ·®õ>´9”JÖ¤h"|üã_ÛOö6·¹M9餓ÊíoûÚf“–C{Ò&ºV¯ÀF}Cêû…€Þ¯Ö€5ìL=yžzxœrð/6Óÿðê¿e©ÈÉiŒŸ1¤Å`t¤Ž¼<]D—ž:z±Q+G>ÖØþeÑyçÔ ´Åž}]ÎOÌZ¢ƒüàÏ;ó²WO¶gÄ̰8“Û”…Wœ^/ÐÒ«GÆOʶ;v ٥ػí†;•Ó¯8³¸@;´58×!MÚ¼êoW²K³7Ô»g|§¶:Œ9ç~Î9çTðkã°õÖ[ûAú^êÓ?RŽ-©º6Ú¨‚z꫼²z§ŠMýï/ùËw†ÙS÷+àëŽ1ÄFì…çyOdÎ8ãŒbK&¤/ÛzÉEeö¢K&¾ÃKŠÿ§?ý©šyë[ßs5õŸçäü:øüç?_'½ïz×»Ö_;èK(õÂõ6pééÊÁÒw‹ÃêÒ·ZL.«Î’KžÝôŸúŸ¶1D 3F€ZJiÅJZ+ÑÁw¤ÜêÇWxÑmÓE;ïR.ýÒgëÝ8.Ð.FUR4­Ø:¯ÞžIv:[4m¾g¹ôÜ“ëÝ8uß¼5 øóö·g.ÚjÏ¥Ú»ÛÆw.¿lÕ¸Gc_Ã’ö¶l–¹=“ìÒÚ§«9ÏqçêáxVµmÀ´G¤â ¯¯µò‰ž‡îyÒjî²]ÂǨ :ú¡U4™ØóŽŽü‚ÀwmÁ¾<Ò6<6VòO}êSk]ûá×m|ƶúäÛ4r|¯xÅ+ê¤ÓÚ#câáË ÿ—¿üeÝϧ;Þqf· ·özþº}  /‚™RuIÕgRÀSÖWäÃOÿ’Ú¡Aò‘M¹>K' N1ÂXŒÄ€: ‰er/³ˆ|l¦Ž^ >¶Ç¥Wï¶{9ïæ;–\zÉ@}1À·yudÈŽ³ÑònyŸò×5o_þ~ñ¥ƒOÚÓl‡XxêÈmuÇå÷Þôîe—E;—Ë.boB¿Ú­@?08à©#CvœÕ7ˆB½ài5ŸÃÊÚyÞò–·¬{îVá.X~ç;ß)îÄAê“&&þ Ñ>½½öðÚTÿqï¾½w[Cì¹ß¿•ióê¾ùÍoVŸtŽ8âˆz±Ô3MÈ¡¯~õ«å÷¿ÿ}~·TZågºî¸±c’°uôÿñõXÑm}ÉgÅo++“BÎñF7ºQý…òÙÏ~¶N\bõßÿýßµ}tÿë¿þ«|ãߨ?ëÝ£í_ðýÌõÑË‹w%®¯±ÐÃJ}Ú”aiÎK>²ãð·•‹~06€O ­Ð:igù8I# / Øs®Ÿ®/ùÈçäj+F?n8X­=àAå¬/¾lyÆicÿñê/ÛïP®È,È"5jaÉòZƒ}ÚO(¿ÿÝÿ–-ÎùÅØ¼:oËÕÛ=¡,È.ÍÞV7ؼ@¶ÿž÷¼§þr°½òøÁ;Ûo¿}ݪ2!|ü㯫r”wtÛ¶óg²`ïø@my2ãÀÅf¶ÄFÙþ]îr—êo¯½ö*&”:+{{ûíùðÑéúß',tèÃR¸‰¯_*#yX«ïä.žðȦ_µ‹òÖNú¾„æ VõñÈ+cÒi@;Tb¼ >ZõFÏ¡.&Ï¡ŸáVQ~b“]Í¿àü2ÿÇÇ•ù'ý¼Ì;óŒ*¾hÁöeáíàÎ{”…›þ‰jhþUç–yçYæŸl™?Ø’A BX¸Ù][9÷- מ¸È6S“çüý¼òÍó)?¸ä'åW—ŸZÕn½þŽå®íVöÙìeëµ–ñÑ3u|=•Ó'¬’íM/tTGÛ‘éüä'?©·w¾ä%/©ýI¿2`fBìéwÙ ¢´_þò——ç>÷¹ÅueûûãÈD3i{t­Ì3HÃkSÛ6Ún_Ú‘:ZßË×ïøÞýÚ´˜>7ó}Kƒ¯êõ]õ¨•“×2^è¥?ÑW}¿nö¨ˆq) ŽÊ”2ã­N€]ÃäSÇFÊ™ Zýjpš««÷«÷½)Žq4hë²ÐÕVï7yÔÄ1NqíY½?fë‡Ôc¼¹ekß8«/T—v^é¤é—‘OYà/2S¥lh­¼|}Ó>m}kk¦mNòTöl× qõ|MUW+úÇõ:¾sýQ OQ‹Á[)ì 'MŸI=]};xËÙØÆ'3|<29! ¥ åÅ#òŒkо|œªÇCip-ôFÀÔ\l¡Ê´b@ÙËlÚœÖa¯ìDþ àf°¶¢à¯úèÐ×wÕá“…¯RexÙÔK×ÄÌL E*ZRÎd€9Î2û°Ñ•"H^™^[ÆëÔ#0“¸%Ó1›ýgÇw¬®gÓæLÎ¥ËÌÝÀJ8Ú‚4o±2ýQJnÒ!o•¥)“ ¶FW™M)k2@ ÅP¤Q¢€4’Á¥Ó:cÓþ%¢›‘‰|è===s,°4`ôáÁÍà¥ÐÀÔà-l ®Ò ¾ÆF&€·åQÝÒ!¨‘Je‡:$Ïaø1^Œ·@¯NY‡|ø×w·Üuêè蘋p­(ÿ‰Ýâ­t÷e5Ñå{®•ú™•+'=[¿ÃCÀäÊpN:à&ü “ Óƒ¿Á]e:dñÉÅ®ÍÞEÊ™EÔQ §.ÿpB^9 %ƒ§Ái r{Rɳ٩G G G`®FFåàg°1x¬ _ƒ«äÔñ3¨ƒµÁ_zòd؉ù)Å1!y³E»’Ï ÃyfºÊ Îè+Ç9~›WîÔ#p]@Ëu½½}ן,š\kƒð2@ílà+™Èá⯺à¬úà6›ˆ|p¹¾ñŠ$%D!ù(¥¾m|ŒK•t4TeRP–úí T¡þÑ#Ð#Ð#0G"0þâ[àƒN½Å_@­.|ø —ÑI¬%›E59ÔNõái˜mïÄÇŒ8äñ“'ë¨sÂ¥ᥜ†DnuO¿ýíoׇmž§ryHØÊ w½ë]åÿ÷W†én³G G`#Ðb`p1øËt‹¿ðsiøŒmÓØÍ$RíúÈ’?Fñ›ö8ÎêÐg2 CΑ%Õ!e6Fùµ«ï§·Ázb˜;ìd)GŽqºˆN;“¤i¸ròÚ©G`6#à;¼|ÅKX€~ÈKL¶Ûn»ò¾°¼ãï¨OÊôf®QúØÇ>VŸêùá¸<þñ/»ì²K}8Û¨\/÷ÌJ&±4˜È&ŒDxòÁß`°:ùÔÁÞÜ9^À]9vÈ *ã#BDò€eÖÀsoëɤ!íŒã'JìKê3IÐë4±yÝàÞ@Ë›”ó˜ÇÔ—†¨õ\yä%"!ö dEzÀ”g=ëYeÁ‚õÄ‘“AïQ yÁÇîp‡âÅâ-y}ŸgÁ#Or¼ÓîTã«ì;Ûc=ê •ßüæ7—{Üãõu…?ìQÆ!/ Wçyî^Eèu‚ä<µÝ‹Å='ß{]=2Ä¿çÛ/ y= ¶:w-néyÏ{^ñÜ{例}öÈG>²>Yÿ ]xá…å9ÏyN}j¦×!ú…à…)o|ã#ÒÓ•à"ãp68ŠŸ<~ŽQü vK‘Åtú6üEÁôj³eÈ3#~"j¥ø‘å “âviȶz¼4o®—{sÌ1K²½ãeÙ@ÜöÃe—]V_âmvÓ³Ï>»¦‘§ ”ÀüÞ÷¾Wck¥êÛZò¬uÏ_Y³ ô[2Ѹހ¼¬äÌ3Ï,^޼øhšx€òá‡^^ö²—Õg·«Á ^ ©ïµž÷¿ÿýë˹°­“ 2Q˜¤VÓÞêôìg?»Öù8dðŒø·¿ýíÃòL2âà¥$&¾ÑGk¿‚çÉšÚìÅ$Î-ô£ý¨¾˜åÅ/~qeyÞ¾m¸ö—Bd{Ú#0Û¦²•wûeKÀ†Â^G°Uê@Ƶ<ü•¶xK·>Z“B­A qĘƴD'õmðZ°§‡™è´¶V÷<Ïê9ç ¨î~÷»×¢:ÛVãÈË:¼Ã>|Þ±Z+¦øð–¨w¾óõ;±ªõUÛæ©øÃ¯!{ŸûÜgøîÖ£Ž:ªÊ|å+_©ï?øAÙ}÷ÝëóàýšpøŽ/ºè¢úÖ·½ímÕ­…ì¶ÛnÅóê‘I…nÈ PžñŒg '“ƒƒ-ý߬L¢³´ô^÷ºWqŒ’ýúK/½´Æ1u~Uðcör$.^¬.†!/0}ïlêzÚ#°¢@gùÇ?'¶Zô}”E œD°8‡29Ø þWñõmÌgå_7Óòt£èP¥N9  +;"[lË;æ"Y>úÑ^âÔò‡Ô²™Ü6BžÚˆé9o¼q¦™¾ÇûæË^ÂÉ `Ûv  ÜãWŽ=öØú’ìQ¹{ßûÞåiO{ZùÃþPŽ<òÈ:鏸kÏh{sòÛ2ÀÙw  Ó­œ¤±Ÿ—}ç<ýš ˜ê:º—{ÛòþÖÙ¢\ mã§ã‹kêø’õ«ìW– £SÀlGÀx fƶÕyÆpÒ·~üÌX£l&sGåÉàgÑ]oË$Ĉ ¸m 'm¹rziÃŒrŒ‡â\9'ÀV&–*Ô?*àyí Y9{ÿ+°öe£l‹ŒækåR>¬òýŠøâ¿X·eÚÉ%ª¶2ì­ÿßÿý_}ߪÕù>ûìS_Môý@À^[Ýyd›ç5¯yMLÔ ŸíÝAú@Ê€ÝëíÛów˜è¤À~¶iÁ`; µàn›Òž}^X®ž\+ofkWýøzf#ÁN¶äáj‹¿òøŽ`3‡¿iìVà‡å3! ïÃÇdXE럡€¹| Ä5"õm£Ò¸Ø ëhùê:• ¬V½.¤SÛ;.@z÷ë–[nYW¥‡vX­³m’½ö™ÆîÁ~p½`ÛøOE@Ý^©þðM&/ôF¾kß3?å”S–¸ lK ÀÛÓ÷2n’½h<Äž[í£›À¼^pß}÷ö©ìíG~EÒM7Ý´¾ØÄkC'œpBõÕNxò.ˆ· ï{he¢ßÓÙˆ VOñŒ9ø‹þ¶uÚ LÇaL¦>íK2›ìÌÏ "¥DɇÒ€4,üÈVC“2ò䤎4>Î¥™(bguO§qç™:«fûù}èCë*ÛÊ÷ˆ#Ž(y žU±—€{©õ!ƒ ›9ºÒäãc´ì…âûï¿Ùl%E¶MmÛxtµ—‚#ûñÚ°×àåÚ!`îúƒk lÚ. yá¶‹±.2»íe%­?w"9/5ßi§ÊÑG]ïNJ{]3XÖÉ,¾Ç¥OyÊSª}[S¶ª¼ÝÝH.îºÊÅè=÷ܳNf&'“_.®¡xÑy§• <…‘ú~ð7¾lïsƒ¿êZ Ÿ yÄ öÕ;æ n¿ØX¼gOX¹1”#ÓŠq &OF=J#ìÛr¤ÞaeÛ ºU¸ # F¶ƽ,[ÌlGد_r¡ÖJýýïÿò¨_CÇB½ýyúé§×=¾ìík³‹½Vþ¯|å+‡6ô ‡‰¨%òúS&€¶Nþ#ÇO\”’_ç²ß\ãi™®¸ ¼xÄ#Š‰Ä rÛ«­-–v}à(ÿú¯ÿZ~ö³ŸÕk,~˜ \ëÈ­¬Ú¢owêX‘Ô§enpËjb½µJÙîêãë¯xã'«ù¤ú[n^¨@=èƒä‚ÃŒè—êðyõYPãÃáÔ“¯›Ãä(0F)àAÈXò1ªpÏEr‘%ÄB±™rO—Œ€/Ç1Ž|?Ëö¶]lx”÷¾õ­q¦—‹gËd”¼Ø/w%YÉ»@lbðË¥%ÛAŽQrŽ+Bþ[¶%>¼‰Ò/÷ä#© ²éÇn7u‹¨_V.˜ç%â­­žï˜­Ì›7Îìâ˜õI^R˜\5F‚Õ­.y“"ýŒ«úŸ¶1@€·†£Äƒq YyDÀg"ˆ-zi$^§UàeÃ7Ù‡_YÞ]”u¿-!ÿ¼e;ÇÛ¯Mr6`Ÿv £ä"yûѨôòìG`a!\„Ž`(üÄ—ê§øY8Ãa„ç jq—¼zü­OËŒÂ8 ¸'¯.jåäãùéP“Ña¬Æã¥!­lϯœ¸#Å^öª"wù×Õ…z_]]¾ÉëÎyèSÁQØpLJ‘êàdVöZŽOŽŒC>dw%·G“ƒ½dbo ³x³Ÿ@ fV P§NãäÃg(ÆÂK#ØÒœ\dzÚ#Ð#Ð#0×"s8w؉‚Çðá;";Š¿™8èE–^&„ÈÓ‡Óõ?mUr@"!•(ŽÉ¨Wˆ“e( "C—Œ4|2ˆ|üTFÿèXÆ 28|§­w„ºÒÿ:õ\—"ìÓ¦úNÛÉ{ bÀX\¬€kÍ ¡¯\^C]¯G`G`ý憴®?¸=ýªÅ‹l¸ü `kŒò(Ø ƒMʰ•^HŸŒ”òꪤ‚£ìÌ,Òðc8²1çiÔêÒogµ4²§=3ÀÎÛLüòœ©|—ë¸.Fà–[,¾s1 á`epU»ذu:ü%üegÙ©€Cæ E!i@^Ŷqxˆ¬ƒqb7”iy©ëiÀL"°íƋʽwXX6¬–lït긾D@Õoõßm6^¼Oƒ¿ÿà®2jñ—¬rÒœ€öúU Þ¢3|Zf*¤)ÅåäêŒ øWc“rô¡”Óȶ.2=í˜i€þ¶Oü‚œ©N—ë¸nE`1áið×7ÁKø+2d’ Ÿ:rÁÚØŠ=|˜>|´B ÅIÁ°}"õòŽüüv›¦Õ3 •G±[ ý£G G G`ŽF:ZœlñSÞÂ×¥áoÂØK;d†Ocå§€2ŽÌ QÖÀ| e01 ðîtÙÀw(wêè蘫&mñWLð0´ÅßÑ6½à¯Çˆ„èŒÃß%.Úcg•3Hˆ мɵº­Œ ^î===s,0+¥ºÅ_!!cüäÁß:”m ØŒœº`x]á3Ú:—±4,õøi^\Êhäbƒ>~tbW#:õôôÌÕÀB8j:89øËVpx~f‡8Ïχ4BJØ,#EVò™iðs± #Y'Ùœ\;óíÔ#Ð#Ð#0×"[ü…‹x(X)üÍ$Ðâ/ýQü%ü¥ßâï|†Âi@JŒ’‘òtÈ*GG=Gdã0[iȸ2y ˆ­j ôôôÌÁÀËà/¼Ì"Z>8Úâ/¾£Å_akñ72R¶Û_dë}ø£ŽÊ„9ä@>³cHš…œCC#ý8§ÃV§¹`(ì ®ÂOüÁ_˜;ÙFkšF—ýÒä•9Ê– ^fyG§9¡ö«‘þÑ#0KÐÇôÉË.»¬üío«¯5ÔW¥³ýšcïPûuÓLüm¾Á¢rÛ­ÿ^öÜîŸe§­ú Ï$f«« Œ„¿¡àiV÷p¾ê_|‡¾.ÅËZ¿ G/c e~Ö søQQCéìœótøLq®>Îb;2ÕQÿ蘅^>®¿-X° l¼ñƳ`ué&nvj€•_¼î¨˜^ïŸ ç•_üyò»óÿYu§+Ë­:èO°Õ´.性p18 oahðS¾wòdÔ‡åÙ@ÁßÈIéã×7^)ähâ´å‘ÓÐPœ*ÇF@= '/äÕ·6jEÿèXÎXÙë«·¹Ím–ÓÂò©]½hô~ïË¢A4c1ÿˆLòÕ¯·v)]¹fùþ7耿8Zs*„õY˜lL¦â+ç˜ñQdñCúÕ±1| ~^X-ÉÇAy|FåÓÀÑU{«'ŸFD' ˆ>ÛzV4—_~yñÇUMÿ¬k˜ÁÀ[8X0 œObúõõã`0jÓÉÁ…¶Ábìgg{‰{¢ÿªþÞ® þ,xkߘlŒ<ü FÂÌPðSà'ŸÕ=žrzò!zÁâzÕŒÐ9K'•j”4#dÒ¨üTðGž#:(Ž“j\êª@ÿèXÁ\qÅÅKÊgB§vZ9î¸ãêÂåîw¿{¹éMo:T;á„ÊE]4,ËÜâ·˜r2ùÇ`Ggb\M ®‰~xŸý‰á°ä˜8ç’%\õŠ@@Ü)·+ò`£´àgð—N]­7¿È—Õ£è{ñæ `G(N5*³J;³TÅAE—Ù–ðZûÉ;ÁoûÛåw¿û]+^ó?ùÉOʯýëkðW”ñèG?ºüò—¿\Q3Ë­ÿÕ¯~µ<ö±-ï|ç;—ÛÆ²*üñåÉO~òŒÔ®íøÌ¨‘Sé‡3¡/~ñ‹åÁ~pùÆ7¾Q>ñ‰O”>ðåG?ZüŠÄC9¤¼ìe/+¯yÍk†Çw¾ó)M[áÿ}àú“‡ýyyüÝ·ŸW>ø„5kžúÈà]]!Li¾W¬Æ^JÛþ œñò£øŒ•ÂÞQü È ]ðKÈÄ0A1ˆ× u9"«>¢—Uô¥©Óˆ4ô™Ï|f9ðÀ‹Ÿã-½ùÍo.ýèG[Ö¬ä:ê¨rÁÌŠ­e5âΑ§<å)eÛm·-÷¾÷½—U}¹åÏ=÷Ü2`µ†¯Íø´íXž¼>6zÛÛÞVžñŒg”|ä#å _øB¹ýío_>øÁUÿò—¿”w½ë]å˜cŽ{Üã†õ£™\=øÁ*xÿ}:€ý”òŒ{­Qþ|ñ¢š*««òtG•èuš›ÐgÛ~ Gá¬4uË‚¿ôPðW>wÙ­Kò0Å)yÜfk¬•5D'zf|m'ÎØÁ‹³Î:«¼üå/¯6VçŸÿüç媫®ª«ÆÛÞö¶«ó©^gÏMü­èúЇÖ6êƒw¼ãËÿøÇZÖ×/¾øâ²Å[Ô—¾=Ý ÕÕý`Õ>æ@äo“RžsŸ5Ê7~¹¨üûÇÒ…µ|‡›’[T«¤Vø.úvš“€…ÁUiÀ?8Š×â¯z˜ì4}”\‹³£øË^tÈÖ§eb2hvȬ¢LÐAÐAnt ¤ž¼ºè¤Ê­ÓØÕà}öÙ§®¶¾þõ¯+^ƒl~øáC¾½×;ßùεlßv—]v)ïyÏ{Ê®»îZ¶ß~ûº]â§úínw»Z~þóŸ_}ÇÀI'T}Ú·}øÃ^Î8ãŒTmØo¿ýêžîƒô b?ÅÕáîp‡º-3Tj2ôïÿû—›Üä&ÕŽ-ô¹Ï}®<á O¨ñÕö·¾õ­V)ÚxÜi‚¾öµ¯U?çŸ~-Ûúºë]ïZõÿüç?+NûÊ»í¶[@ò}X±pÀåYÏzVY°`AùÌg>SõÛ×½îuå>÷¹O±òGÎÙ/±|îsŸ[¬x‘öóý˜ÇùÉOÖÐáÛ€¶?è ƒÊð€¨wØa‡ò¨G=ªÝøùÔ§>UÞøÆ7–W¿úÕ17LúÓŸ–'>ñ‰˜¿ô¥/•{ÜãÕž=ô½öÚ«¼ò•¯¬)¿£[·ºÕ­ê…B“âÿøC½Æ¡ ü¶Ûn»¿‡=ìaUÖ–„vüßÿý_yýë_O¬n}ï{ß«rûØÇ*ÖŠÉW½êUu«ìÝï~wÙj«­Úªaž=vM¢G}tµ¯òMozSÝúâ¶ÛLNÚ"vúŒïA²u– Ë–Ýh»>øà²ÖZkUþ‹_üâb2=ùä“«º}ô·¿ýí1µRR}ñyÏ{^ýÉkkersñ÷³Ÿýlùÿïÿ•o}ë[å?ÿó?§lÀüÉmšAßï¿–×Øg"˜_ÞðµEåþïXXWõVö‘·ýÓinF cg/VþÖ>Pã4ÀœÆüÛ2™9½À $³T¨­3!Г¶àð†7¼¡l¸á†ô£·,éK^ò’ºò|Ñ‹^TÖYgºGk%ú¤'=©®¶ÛU¼Anµy—»Ü¥‚š;6~ó›ßÔ•žU*ßf›mÊK_úÒ:!¸€²Â½ßýîWn~ó›‡5LôÎ;ï\'vè[µ[Aú' Ü2xË[Þ²l¾ùæC=ñ²Êýþ÷¿_ci/ýxD9òÈ#«þ}ï{ßz!ÛÅl“›Õçþûï_§ /$ŽV¨{î¹ç~L8Vü.Zî´ÓN¿F*†÷º×½êy>ä!©7 Yu¿ð…/¬["»ï¾{]‘Ÿzê©åW¿úÕ5lŒcŒ¶K?¸ôÒKëáW[Ùêrþí¯ºqöV„§OÚF<å”SÊa‡V6Ø`ðVé™x¼IÍ÷å—ŽIÜ„;ÙÊÉàíÍ_9øAžÔöÍbëçïƒU¿£Êê;ÍÍÀNd,´ø›<ÌÕW3Å_¸º4ü¾âs†r¤5‚1eyõ(õ 죫Üdé‘‘ª ­¿þúuUà¬\—• NÔªq£6š4i+¦A²`‚øío[Á¸û)ï°]ÂÞ™gžñ²å–[ó£“0oɯü™m–üàõ."ZžóœçT ¹ð ëÊW=[beB ñi{Äþ4Úl³Íêwz)& Œ3ñ´õmžLH|ò˜wSí¸ãŽ©ª¿Ld3=¿Ñv2XÅÛbñëÇäB}ö+}Ÿ+ó?eMÜ?üáë¤r£ÝhxN§Ÿ~z<Ûþâ»hËCáÉL]áAbUÿÏÉ|ýÁ@¸[ÍWùZ/·xŒÚîåÕ;ÁÀ¤Î¶vý.ø:›ø;|‰9@= hWá2JäÃ× 6O6à®ådØw"-Y [­ZyÙÎÝv«§ÍGfYÒö6P?ám-X° ¶aüÈAöiO{ÚŒÌÛr¼-ýþ÷¿ûk •I ÛË·’Þ{ï½+¸Zyj{æ® ØW·=’­º|-à9­·Þzu{Hû¬à—•L¢7¾ñ«¯èºWÝV›óΊ¢ýnÚ|tÚÈúÓŸ®“­ýþw¼ãÅVØÊ&[EüúÅc;Êdï@›l²I±Ýõ¡}hXg‹Ë½úSQ êÿï¾h~yñ¾«}õîâ9xPþî ³Â_ü ÀäÐiîF†;—É¢sÛ¼º©ð·Þ‡Ï) Ž’|€Ÿ2á…gÐH³²—-zÀ] H>“™U­‹­€øVɶKì‘[M®è=ì.˜Ú+~¶(¬–o}ë[Wµuòñ¼™­·ìᙋÏÇ{lÝç6‘Ø’°om+f&´­ ßÿþ÷׋Êt?À7 °×n@â‰'×$öÝw€&ÓÉÀv s‚e%ç'v®Ið­ ÚÌ®_>Vä¶GÔù¾\hžŠôçdUo2rÁÝ/—üJÁwíe¶É¯‡ùqaÛ–XýX_àÛm™¾{×—ü"œn’¬€?ôa:XÍ?ÿˆR¸Ë¼òâûM¬ê_¼ß¼ò A(Gg Û÷ðgû[¾þ؃ÁÍ`æªÀߺáÎQV÷$Ò Ò yõ@?«tuä”ý,òx䤸±M?63à!rÎ~v&s)ð[wÝuë»}w™¤áMWv/¼}Y l•igkçZ‚Ø 2ÐM@€"¶kḟ»h\ÜŠô3ðp.3% Œ³¢tÎ@4€¯GqD½FaÛI<\SÐfä¼Ûsßt"×-Ⱥæa¿Ü>ÿ(ê§l~É%—Ô[ÅÐkK~Y¸˜íâ+ž_"Ú]iòüÉ¿à/¨“†˜é/.»f€\÷ðËÁZ³I&—¥ýCwáÞ‚Àí™úÁtä6ÌÉá2)¶hpæ`Eÿéyå?6¯Þ¿Ýà’Í‹>]*ŸóN_áOÝջθ ÖÊÃÅ,9< ~&ŧC^}°8ºR8‘ñ¦ž~üÍ àE”³•“Æ„Ï)Eêðã8û°êñ¢›d &·ÂÅ~5¸”ÛöæóK_jµíˆ©ö‰ùÚtÓM‡A[ª±{æ3ý7ÿÕÝ%ãúƒïmU’ïÑ ÙŠ|”|·ÎÝ~ýLI¬}íy°£Ã¦ÓÎÄ–‹Ç™(g"?[27{É`q¤­ƒI¼K€~)/¬ì?ÿ³ ©S²¬²–øõ«&n¿èŸs%ص¤lÉê| Pv|D°+ä" w#‹7jÓ˜ªOË 3@ˆ0Ìák@+‡€gêb/WЧŽ=åèUå¥|, ˆ,ÅT­ž ìU®¨¯• öÚ˜;KäW%ù~Ó¡Fýê3Ë»qòì,+éO×¹è:Ùý‡Ô¢Á?SiÎ'”ò©ãë|PeðR§­ôþyõÄØ¹6ÚÞ}^»€…ÁQØ€†‹ú³:<ã-X™‰ zêÉ:à¯1žz”:y<åAýÄkê‡;@=)\ ÇhKñZY6ð4$ŽÉåäÔwê˜øµÓ^Ìž ›3±áNU¨wà¸@;YN:äÆ_xöñå¥[m810gâ«Ë¬^ž¶øë SΪÅÔà©–.þœ•|Œ2†ð‘Y†se ŽÈjxˆŒm2iPÀ>'?ÑéiÀŠFÀ“»ªÆýbXQÛÓéîÁ Vî¨Í·åÊ ­…пëöSÿo5Ò?Vëd1ì$ƒ™Vér¼?ø«†¿d.—:·iþ}€ó7ßäªrÀ.ÿ?1›mê¶®€£Àn†VþÖ«~âÌÊjif" Bêsh8™èÊ»Í À£–¯[ñ‰×©G`E"`Eã<#È­£žÔ¤±=î—O<ˆ­®ÚǬe&×Iƒ±²ØÊ6úG¹ûöW”wýG¹Ëö‹ù=7·"ÐöÏ`)^Ìp[¥íÂ;¸ü%›|l³¹`wÝÒ!ÈiÀZ9€4RG_¾%ÆcGpoIÝQ½V¦ç{–5ú“ Ù¶vü‡°~–N¿¬¶–&ßöݳîò§¥‰/QO×ae×ÚYB¨æDZ &ܾ*KÕëÓ¡”¥-éóäÓ¿è´ýL¹~;8(sÀξã Fž,§ÊÕØ #[Ý+·2êè¡È×Bÿè˜Åè³uëî,6«›êX¼• a§~œ2ü•GÁQøLÇÔGŽ~ê¤Êôø>Z!')üC…A9ƒ*†²MS=>â$)>;(vk¡ôôôÌÑÀBx ƒ‹+‡O çç€r;³‰F9Z€'— Àê>D''Á޲“É E®§===s-0±¥U…¿uÙ –i«yy¤!YݸӸȨGþØò¡Øð‡ßÓ¹Ùâh0seão]árGœÊguŽ×Öã§QøÆõ؉ uä¥êcw®}Áý|{zzÚÀÂ`kp3xœL9õøŽ`í²âï|ŠˆÊVàiDÇ©m)²íCŽ<}eúi™È²YyD¯S@@À\Ž\\Õø;ŸÓ€½à§ç€?PÔʲÊôQ€œl¯”#_•úG@@À‹ „Ÿ«v@YÎÔsòR2J¥Ž6rQ7“ƒzG&rzzzæj` +wõòRõÑ0Oƒì©ã‹N Ü©G`E"`_ÔûlGé'?ùIùõ¯=ÊîåëD‚‘ ]üeµøk‹µø[—ë-¸§îÀA­±V¶ÿèóLÒö$ØiËÕxÿèX<ó™Ï,x`¹üòË—°òæ7¿¹|ô£]‚× =וcµ§ÅÔà¨úeÁ_¸JgÙ‹}õõ¢-¦ÇìU½2AGGŽá–RO>`Ž'Ÿrë4v[=ß#°"8묳ÊË_þò1Ñu{Vià p†­+áy‹¿K¬ð5 À­!(À2^›WnžL䤜"ö;õÌföÙgŸò‘|¤|ýë_köœsÎ)O{ÚÓÊ­nu«z¼ð…/®ž¾ð…/”‡?üáåÅ/~qÙ~ûíËî»ï^Ž;î¸ò¬g=«¾÷w¸CùÜç>7´ËÇ~ûíWëô •N8aXGî;ßùΰÜ3=SEV:PÒU¿u…Ÿ•x€9ÎŽ¶Ü9½ÀzöíH[gB +ubzf+|àË£ýèòÜç>·üõ¯½†ÙW¾ò•å¼óÎ+ÿøÇËýוO}êS5OÐVÐÑG]Ö^{íò‰O|¢ÜèF7*€|Ýu×­@Ç;Þ±˜ ôeÿ(uÐA•<àå«_ýjÙa‡Ê£õ¨rþùçWŸ‡rHyûÛß~ ÿÑ#0,”ab‹¿ÉÃ\}Î1›ø;¼_ƒÈqÖ ­,¯¥>Et3)$%KÏ„ ÅïÔ#0›xÃÞP6Üpà ú£vÿçþ§|æ3Ÿ);í´S±bßm·ÝÊ/ùË¡ØFmT€õï|çòÔ§>µòÿã?þ£ìºë®Å5‚‹/¾¸\pÁå+_ùJÙe—]*Èo³Í6å¥/}iùÛßþV\ FGuT9üðÃk¾ôL``R²-°ÃØàëlâq@–ç,Ÿ†dK¦= ²ñ豃ÂÏä ÞáH_å·‘ìùÀúë¯_=ôÐrÿûß¿nï´ö¬ÆßúÖ·–“N:©w ½ÝvÛ EnxÃÖ¾‰±Î:ëÔþ)Eä‘~ì®à~§;Ý©ò|øE{æ™gÖòæ›o^ÓþÑ#0“èSð2wÖÀÄÜY#¿ÖZkU3ÁÖQ›áÃÕ·øù`¯òðÑ €X’og OªìðÏZÒ¸<‡Ñu"®4³Yù4ª:ë=³Û/|p½€kkÆŠÞ–Í¿ÿû¿—'>ñ‰Å~ýlPñˆG,—Ç ”{Üãåˆ#ŽX.ý®Ô#ÀÀìˆÈÃÊàfÒÈÂU¼–üeƒ.x<„oá s³`^´ ƒ¢`NНžcõ ÉÓ<'øŽ8WŸÆÆ[zf;ÏyÎsÊínw»òÛßþ¶šÖ/¯ºêªÚ?õ=V9æ˜år»÷Þ{—ïÿûuÿß6Ï¿øÅâaX~9 ·‚~øÃ^.Û]inE øè¬åƒ‹+‡€ß‚4§Ž4Ê A~fà•#0Ç39h¼ºœ>™ØQשG`6" _µýO{ï{ß[·bðmÍ2ØŸÏ{ÞSn~ó›×‹ª÷¼ç=kßæT´MÆ@äî~÷»× l™\ìù›`=þöY•Ù?z¦ˆ@úm°7x\M9¸9ø;oð“wQ ¤•c\[w»ÊW‡"/Å£G.Û7ôœ”ºØøÓŸþTöÜsÏ%ìUcý£G`%F@´*ßl³ÍfÅ‹;s6ÝtÓ%&}iHëÜ]?{õ§e¶!Y­óy<²ýáX\ü·o;;,ÍCÔì–8Bê•õ3iúZp7vÔã!rl"òþDE:kÊq ž^Øé0­,lhi92ñA¦SÀªˆ€þ<[`¯½lé×-é×£¼¶¾ç{ài°6¢”WþoË4{¸¥€˜ã§ÀZYšÆ¥žŒ£tvö9ÁV¿é===s0Y ;u¸¸*ð·¾Ó6±ØÁy€€Ë#@ødy2›GN}ž ~§¹8j3C«ë~ vp®!òtiø„"+%ÙäÉx]29!rzzzæjàbŽSW6þ®ÉAëÄWåvÒ4Jà§ÑRà‘|dšb»2é/ùËJyòco°2ÛÞm÷\" á-Œ•—¶økŒÃÍ,¼sÛeà-–Ž®êÕáE&Ø=¼K'Œ(*¸5$y4 €CNCI ”“P&›“É E®§ÓGÀC¼~ñ‹_”ÓN;­þÓ':úÏN==×ß?s« —¸h Œº•¸<Ò¬àÜi\d²Šðã;€|(6üá÷tfðøÞû·«ÿáù£ý¨*ùW~Ïv¹éMoZþå_þ¥œqÆ•ïqÁþÛ4ä‘ÁžyüñLJ5L=+þñ|¹Å-nQŸyÈà¿R³¢ ô®w½«ì¼óÎõaò!ßïk_ûÚúDÉ[Þò–åéOúoúæ7¿Y#|ã߸Üë^÷*_ûÚ×¢:L/¼ðÂú(âç=ïy•wÊ)§,Ñî¡`Ïô¬f0~Z f®lü­+|@îˆSùüÀkëñÓ(ü€z&†Ø‰Øô}ýØ];¿Ur:W\qE}®»úñLâ}ÙË^V>ûÙÏVÿ/xÁ jz—»Üeø¼wŒ/}éKõ×Ðo °{ù‡ Á D^ýêW×gÁØ2B¶‘ü7è‡>ô¡ò¸Ç=®˜ òŒ“_y~ŒÇ ?ûÙÏ®z?ûÙÏê$âqÃ~ÜûÞ÷.}ìc‡º„eòôÈ‹•É…¿&œÆX€8RGÇhÀ]#ÕIQlhx^À‹Gž\d"_ýcÚx:ão~ó›Ú¬Ð0°ÿýï_·T¼tÃw&æ‰ÿvƒg½X@oe~ì±Ç–·¼å-×ðÃ.0ذ}ƒ€öÆo\ë+cðAÎdà»ýÝï~W¬ÌM,HóünÏJb×£‰[Úwß}‡Å\ƒxðƒ<{•ômOuêXÝ#[ø+ ÏXöÅD>xJœ?ã?Xž±©NZoËTàˆb*SVGQŠŒ’u¤Ž¬ ·xtPîæ‘øÃë4}žÿüç××÷JÙ?úßýîwËMnr“òÑ~´¼æ5¯ŠYå¿ûÝï.^îá-MVú£dâð¼xwäl¹å–µÚž~n•WöÝf·‡zõŸë £äWBÞ•:“À[lQ‹Àß5[@ž4yßûÞ7b=혮¶  sÇ©©euáõžrpÕLlU{„#@iX1 ôê4DšºÌ âY]JÓ¨È)›â?¶ÒØž._ò+ øŽ»Øiõ|öÙg×[8ÿ8òRï›Ýìfõµ€guV9ñÄ+øÚfYyq¸÷Þ|òÉõÀË_þòÈõ)ÀwáøÜsÏ­×îz×»>—“h“G ?ùÉO®w ágðpÛBέSÀêc%Œœ ü ö[üÏú,Àà'0É*^Cä³ê'ƒ¤x‘×x lôÉ©ClušYçqÒ.ÐÚg÷ÏXöïmá´äÍNø.Ⱥ8:ŽL^èMÆ{^É»ÐÊ6߾˩èu¯{]Ý›ßo¿ýêöãÑÓ×üã–öù5¢Î–T{N‡rHµáä~i˜p\`¾ì²Ë¦rÛù=«E2‚½³…¿0w:ü7ØrY°[‡À9 1è“—¢ÜoONÃ3à+³¾:GøøÃÊÝîv·jsµøæ®å“pÔ{WÇM¤îÀÙd“M*ð.­™@ÖàX²Ÿï0ÁŒ#“Ò²\„ÕWtع@î€j)‹¢–×ó×ïÀ½–òßÕú¸çáÛŽEä²Ê—f±•U¿rdôå€;}eøŒ§~R^3`LP£;ê•ÛÎH™,ƒ]YüØ££Ê‘g›Nì+wZ±x Ç(Ùâ±ÅâŸo}ë[£ÕcËSöXᆹ´IbYÀžYýc.Ñ^ý(sæën߆sÀGý> îÉÄñƒ¡ð58,ˆ;dè±›4=_“sùT$eÔcødCꢗ4²illÓ‘O}lôtv#°Þzë•ûÝï~åÈ#,öé;õô\·"Œs03©¾t¶ð£z—Nœ¸øšm™9!ù¬þ壌G€ÇFôÚF§>¶¢¯Üiö#àBìSžò”Ù7Ü-öôÌJ<¬„“Hþâèã(˜+uk³º‡¯trЋ]ùèÈ×+¨f@ˆ‹ƒÌ:ã$2Uyò'C&òêã,)Ù4¦üN===s-ÁX¸˜­—,„ƒ›-þŠ~ð—, ˜«ËdÙ¤±§¼& `GµÆâ aÎLq¢!êZÊ Ä~|ilx­|Ï÷¬ª\›ž^UçØý\w# ƒ¯ÁP­…³ê¤Y¹'UO'XKO^}ìņT;°62u…‰¢$E„3Œ'ß:"ùµ€—-¢4/6å;õ\[¸6==Õ9ûŸ‘ñ⌌ ùëÑg ÝúÖ·.;ì°C1¿÷½ï•ãŽ;®þ/Å®»îÕ%Ò™Ê-¡Ô ³`l Sá'R+}_ðWŸˆLÒ€¸²Ñmø+Ÿ:õuIÎX(³ !wà (0ÖÊjŒ:iò&ù46yr‘mmÄoO{Vu®Kžöð:ÿ§ðéOºzè¡Åí{þ·!äi¤^ãùE9<þ"ôЇ>´øg8Õó¿|pª–Hg*·„R/Ìz‚‡ ÃJe4Ûø›É‚m>êÓ21Í}t†ÉÌB8r”C©WfCÙè•Lœæ¤Ôw긮D`¶=íi¦ïxÇ;êó„–õÜ^úÒ—–W¾ò•å˜cŽ©O(Ý}÷݇ÃcË3Š€ùÿøÇáñÜç>·ºÁ÷|"«{‡IÃ?¾Þç?S¹em{—_öÀÆàb°ÒмÅ_8 ?¥Á_²-¥Ž½,®ñb³Å_zK¬ð­Î£p-SJ4 HÃâ( ‰¼“Cìu긮E`6=íÉ£~5xÀ²Ð•W^YŸI”×>;Eqæ™gV3žmäì¶ÞzëáølíùË_®ïÈã¯=‰Ô; FßA0S¹ÖvϯœøŽ(xü…‘©ƒ§ŽÈHÛ|‹¿0¸•oå‚¿u…Oˆ0Ì:rì˜Ë·éá…蚥Bm™‹.[N¬SÀµÿ˜öÉO~²¾äÅKcôOž˜žï¿÷Þ{—íOõÈ `Ž<HÞ£§Qûèiûæž!äÙÿËB묳Nyãß8|j©'’z×@ž0êvÈ»<ÁÔ?³tÐAÃ-W¦ó‹–üÿEÚþLå"ßÓ•µ>'á­|‹¿¼§.xLÆZün~!¨þª ¾×ûðU"FUDPžÑVÎLA>eݱ]åö`¯µ£.>ØéÔ#pmD`eFy^ïxØa‡Õ÷¸Ú5„\7ð€<ƒÝy“:ïÎÿžð„ú‹Àã¨/¹ä’ú"¯½|ØÃVž÷¤'=©®§“mO/¯ÜÐõCù`d0ž&ÌL™ÎTø o[ü%Ÿ‡þw',"dUÀÅ8a|N“'Ã4¡cÅÈ¡Ö&øÞÒä>áØ¯‚ý£Gà:åyô´>nlÌ„Ü6¹×ài™Mm?~¹CÇjÞ}úî¿÷ÞäB² »ë®»n-»Ô¤àW†·‘yæX^ÿú×××[z%¥·ŸM%Wô•¿Üòxd|üñÇ×;¯\´‡£Y‘ë?u JfFÆÂZ™[dÚ¾‡×ÊÇÆ¼Á‹RI Jkñì¤ÏAeùØÂSŽ « {:*[z®O}ôôŠ<4€?Óó7†N;í´úÆ0w댒qvÆgÔñÕŽ­ŒéÈO%—úž®œ´€o’÷]nµÕVußN‡æ@À‡”°5®.¸›Ý[™ ÈMNM2Ô ÐàDg‰ƒÔÅŽ¥1él‘Ý4ô¼óÎÊTgý£GàzkóÑÓÆ“—Ã{á3¸½»8ã/!¥×ÒTr­Lϯ¼ø>¼GÚÊ^Þ÷üÍwå;ÂÏB9:Š¿Z\e#vðá4yºñ1àM>G­"Á”#“•‚ÑÉAF>2ƒêXY½mø©¬Ì~§ëSòèiÀÛ©G`Y#'aäÅ_<\Ù³‘•¸z¸HFŠ/ñ”¥(˜+Í¡NÑ—§ü­ï´­µƒ•€0GˆyÔ ƒÔ;Ô™]ð壯¬^ʬæNG‘­…þÑ#Ð#Ð#°E Øð…}¶_,~ƒ•NW=¬ þ¦, +#“'guO¶µü FÏü[÷ ~b¥-m… qŸù¹À ~œhLòøê•c7yeuìåÉNÚ¿Œ»hùœ”r{ÒÊê´+AˆL«±£}òdÔÑ•¶³eê#›r÷?Ñ Å¡ÇvûŸÿ|ÍÓßôɶÿµ}U}êÒÿÛ>Ÿï&vÚròô[›À õÙÚ‹Œ•îùâŸqóìÛzá]@w3ßM\œ³ª÷}á“I}¾³”##¥›ze¾É«Ÿ7¸ `‰}€LH§B:D%OI]ò™ ð¢CF½2ÝØHÏíeþ…ÜsDäùÅv[ÿòôÓ¶ø/þÈå$Õ¥-øì‡Ò®„A{Cü&h­®<ÔÉóï´µG¥ê¢Ÿ|øÊáú'“:ùî¤Ä¢Ç¿÷¿Ññ§OŒŽ¿vüÈg¼†oü9ð?€»‘‰ŽºŒI~äñPúd;e¶¼È»D&>ÙaßÁoìå<È%Ÿ ºü…'å+þb;e²lÔt¶‹Œò('O‰A|‡r+£ZÁÉŒCBçD¢§§ŽÓöÈJ=A‹íȲ¼†òAŸJ;ðØPnƒÀ~(udå¥ìµH0éðA&礎|Ú¨9[ÿÉ·þÛsa¯û_ríñŸÛýϘ1FŒ«Œ¿Œ£Œ¿Œ!cÇxŒ|Æ’4ºòô0ÍXÆ\òêÉ’aWYJ{ZdtÔˣ𓓠Ûdã³ÍÇVü+“£yþ+>f?'D(ÀC©Kª^¾­qFå(²-oèc+2l8!º±¡á­¿è¨ŸLtØŠNÚB/öã¿•a/AT§¬=d’F—½è¦ÍxH9mSÆwhcòÑ•F¯õ7ÿäºÿÅ“hÿêÕÿ2§éÿÆJÆQÆ_ÊRGÆ“|Æ”<’(2ü£¤µÐ”éªËØ¥ÇFì*«Oû#ÏNüª'‡èÊG>íiý§ž<9G{ndùGd«|2R•ù6p‘Q‡Ÿ4N”Å~{Ðmíª‹ i( /2©§Ç>YíkƒK”Ò–Ø\ìç»-“°Uoß®’£ÆÆ yù¬–¥ôbËIG'yõiLô³ ”2Yyr9èÅÖTþÉ8œƒÑo ?úòÚÊtrþ|µÄNxt"/Ÿêê¤ü„’Ÿž¼Ô¹Æž”¬º–¼î¿Ç?ý¥÷¿Åã/cttüOíø3y©ñàã,žÔµz‹xì“3Fã+¹äã':i>=4ªOW="/=©c:ÿÚÿ‘oÓz^À»Æ]:„P€'à$(HPêr¤LVƒÒñª£A@¤áÓ‘×Hùx|¦,=uSùgÇÁ_¨-Ë£ødåüÒ¼öÜ0|Dß‘/-öÙÊ@Sv°‹Ô…ðÙ@ñŸsÄã3å™úg§ûïñ_]ûŸ1ƒ¦£ý_¹ÆQ(¶”3¾bW]x©—â·z.¤ÒÁ“ÒqïÒ´Ç8–|Ú&Rl %ðÇù'ÿ4ò-6UûîÃOËAj;Q Œ+½è°‡ðPì(ÓK`ÂOJÖ„¡±xÑÇK0ðå[ÿ9QuñÍýØ¢›ëœwR2t´l|Å[‘ÅK›â£õ­ŽzzüËÇ–¶ÆVü«›Ê?›ÝúÌ\íÎ[ ÆxÒvœeüsá·qlë¿Ø `Ó >¨s(Ç–úðñF›M`Íg+;N'õtøp ©ü×ÊÁGbÂ?»(þê£*gð¡’q'-O(`OF>'n7zd݂ɒÒE|ÈãÉ;òñ9êŸÏéü«Ë ’M`ØV爤ñó%“óHûS—sõ%ʧž-]>åùÏÄ’ºœcÛùðÙSÖ&ùØ—²ÿ:L÷ßãŸþ¡o¤Í¥þç\Õ©Îß81–ãLÌ2þ¤É“a/ç'»±“rÒøkËôÚ£õOÅ_ü‡×ý÷ø÷þ·ä3®2.RNšqÓŽ£Œ=2Ñ#‡È!|c°-‡\¢ßÖãǰm©-GOê —6ÑOž>Gx(òÑmýëñO/Ø#Myž-KGÒÐQ–œ4àj&Axär×(rêjòtâ£*>È·²øx­=º¡Ö?¾#òR‡“''å‘à E7üTÅ–T]äÜ´Y]+/¿Òœob¢>¶’²9•òÝÛWÒ¿ñæzÿ ”ñ*ŸñìÚñ×bAÆ”4cšlâÉJŒñdØÍ˜å‹LH>~¥/mŠ6 fµX½èFžÿÖVüÓ^ä†üìáʉªÍsˆ—:)çNØ¡>uøU:9b#²ôb“î¨È‘IûâCšŽ^dðã?<òÚÅ–”mzø¡Ô)G>ùqi:ª—vñ½ØKªŽ^ë?uÑÑÎä‹”¥Ýÿâk-m¬züou¤¿¤o%]ÝúŸï<ç:úý‡¯8õ9ÿªÔ|°’OÌð2¥€\]k“L€>údQÚ(uÐCê#C7ù´“ [(uÒÖ|‘¡×bÞ°ƒÕv½K‡JY±Fˆ :|y2€%U¯.GêZ@‹,|½äé°_ ÊêB£þÙa“ø'‹è&Ÿräðü%¯.ç/mI]&³µ9N¾m;}e)J»Fý³ÍÏ8{‰_÷¿ø×Rb:.^=þ‹ÇÎ\è[ÆWÎWéé+ÊÆ™ô›”¨ñgŒ!29¢¯.òR6ð"G/cT]üDVE¯&ËüçýØ$ÿyz±ÿxñy¼èKëoœ(1B! C)üÈ0ç‘“ªW—T>ú±Áv|ª·¿èÕ£4P9¼ðS&“àçäÊl¶]eºüòÕ~)ò­.ÛdÙ ÑÇɳ…â?qh}·y²ôÒ©è)wÿ=þ½ÿMl³fœ-ëø3ަêØmÇŸ±›q ÆÅ_Ñ—†äÃ'Ã~쥜s!^pGÛÚìŒ}u­½´O}z­_u£”6æüë>¡8çX¥rø)§“3A ¼#evÚ|Öúa?neã765Z}dØ­è!¯ñ+x‚…—6%ŒrKá§íÚÜ~IêC‘ÑŽ6OFåKßèÆÏ8ÿtc¯ûïñïýo1H73#£ã/›ñG.ã/c³—±'Õ5þL|Ä^äSf¿Í³øòÝ¥I[Ùœ›ñ_•ìÀ.6ZÿêÓ†œÛ9§œÃð¢­J%)cŒ:¹Ôá1GdœÑQO‡ 'ãôvHEŸMº­¾|ê§òÏ9õlʧýêPkS9¶rÎ|àIôÙJ¹­§_Ò´;_H«ÏÂKL¢¯Mò©ŸÊÿh}ôµ¯ûïñŸëýÏÈøÎ˜Íø5vħä£#Íø 0*Óg“^Æhd¥ëRåŒy:(“Ýè§Mѧ#Ÿz¶BÑWN=Y}çJG}üã¡´_>õð)hdNŽ1ÊÀZ¼ºäñc uR¼Ø‰ÍüÈ—@.y¶øS]eùÔi°rÛ®ÖìÅŽrÛÖ™uÑ<Ù¶}ÑÅ“Gü'ÏFˆM”v+ó)%Û>:‘öÉ;ÆùŸ^÷ßãßûß’ãO<¦ÆÏÿoïwãÈu Œ"@Þÿ™wNO>»Ò;vìþ³´%‘Å*JÓTo®ïZøú¯ÞƒÙ>×»¿<½jì/—5ƒ5ç‡aê4Ç'Þ]q_ÒKSŒ_Þ]?îøÂÝ¡þݾöãq!?ðïý°nŒ$Ÿ¤ð0âÍÃ*èŽïr•c®sø°qµ6ö!V s¶ñôÃoÌ/‡ýòw#¬XúÕkdñŠóYÃ3cxáÃ~¦kùŽþ9ïÍyÿžßÖõ_½·½Xÿ9KqV?Ãfbñõàkñòâ_îj‡¯—ÃtgùÖÂVG9êåK¯œðÕùãqñ];”µé%†Y¿¹GÜèâMÜXÜÈĉ‡]¿ù꬗:ØrË3Êñ´AXÆ÷’Ør›/ß®ãs78#¿=†‹S¼ÑœÉÝyØ}0éÄÛ˜æèŸóÿnï_ÝGïÿö™þ{Õsa^øëG¹õ[óôaX=¾\qøŽ_^|üõv<¯Fxþ»6ð0žî¸°o¹Kôú_ÚJàôoÅšG&Ñg"V  8B8x›¹ÿZ¼pÆ4.â__ðàʼnÃËÊèÉëI?ž»¾µÚápl<}¼4â4vØxÍåò‡S›'}a—‡žý§/¼|9¬ºÊ…+Þ>ÒïlŽþó³ê çü¿ßû§oz>ûüõͽÿÊ­çë)wHýã‘ßÝ$ë‰ÃˆGÿÃuán\ïË­ßÅÊ«¯ãàïž»ëãŠgx?¾qÿÐ/+Î~<œo¿¹bld7%ñÿ*Ö¾æ«'¿u\Æôño|õwOaŽþó]íÌÏù¿÷¯ú¬ÿê-c½c^®±þ7Ïê1¾æåZó{ÿ\²q¨¥žôÅË5ÂõîÞùÅ×âä#ôùÝ3‹­æëþy\”ׯV°h¬ˆÀÖm¬"ZóĬåy21¬9œ9K³MwÇñ'ýxÒmÄ-†·ºv¾yâ½þ”†IkîâãYÝõ§©žæ7ÿL_¬¼j>úïÿ±ýœÿ÷~ÿôÆŸúOÝûoóôX=¿óúN¿Õ‡xú./Œ'jÉß½"oçp0LîêûÛ‹ëOúᮤ__ø<å^ÿÑVŒ¨Í².\>Ö¦º´ùÛœÜõãè`â1†õ4ç/Çh]Þê„_<ê䃿¿ÞT_û„s¸tuXW3–Û:|úÕ?~:éóÑN?98Ø]Ÿïè?ßQgáìÏù?ûæ¼ÏžúJÿuI×FVÿ™þëò­'Ã\€__Äêïâqðë7XŸUï.?ü(Í=Õ×;.V®9£Õ"/Ÿ8úÝ3×…/‰£‚K¬ÈbHòÁDÂ'yEµ)£x¹×äñ…?.¹é‡Y~˜4ÌW¿M¦/?ý4òåfÕ¾{,¾uÓö„ƒ)N«Ãõ!³ögŸ/þ8–¾xyÆ£Îß“ÞïËyÿÞû¯ïŠë5çSåsެ3´®Çø‹ç3êïÎß\.¾Æ½Üó=ñàfxøÓÅ&?þÅì®ýÀâp7uÿð±ôÃÿL r—f–y" ÀÊão ÇÚ„9.Oüðù¸â).§ƒ /nCm WšÆ]ò;7ŽLǸy¹öà%²6¯¦j–§ÇGø0«ŸžØ+ýüGÿœÿyÿ¾ÞzÏ£?ë¿íWý·w‹ÞÓŸüõŸÏDŒ¹ êçô­Å··ivÿˆ÷ÈGN÷Gw ¶5¦‡‘U“uúüÖWy¼ýzä*ÌX¢ds>—²±ÍÉ«¾6e—9‹¦¹‘•«°4Ä`Ë_}9ÕßÁ˜ËKÆœ¯zøÌq±Ö4ÅÃÜóùY~øôÛ›XZ¸øÒi¼È_¬åýsþçýûoý§§>ë¿bõ2|=«ÿÄëW1÷ÇöæÞ1ð.a¾z—;Áèéóܵ9Îø[w/ˆ-¾zŒéái¥odòÅp\9â®›¸ ü ü é"ægðYóFþ6_‡V¡ðâmæ•>Ÿxÿäo&_|u‹í¾ª¹CHvq¸<ð8=°û/? cúÆÌ|yññ•¿úbüíîèŸó?ïßÿÓzòUÿ9ßbõŸ¾¬ÿÄêñú¿<8&'œ5{éóµ.^îúáÒ0Ò†ï>i/«õJ?<Ü•óøòÀý¾i  Y38…´ÞƒisDá0ðø6ßœ¯X¼Ö8ÄÙêÃÓ‡ï kó'múq¤ß¡ñ§/¯úÓËW}ð|«ßþÃÓOO±ò;?ëb£/þèÿþ]Î9ÿïõþé}àsoüJÿéM¶ý§—ºêOœõüáŠY#ýýUb]äæ›O¿XþîΰÝÖ N}Æžö/Þþù< »pÀõ#6„lE*ƈ!í Ìå–Þ_²<9ülWŽ5L~¾¸·6ùá­›ã^ýxV/Îꯞö˜nÜí¿Ó—¦¹¾½¬¾|øÏô««ýþóý;çÿì‘óþ½ÿøøÞzëOý'§>ƒ¯g»ÿòÅí¼‹­»Ë`2=ÏÄÍÕaÓÚÜÓ]P~=n\}|K£ûך+Ÿž¾·_­`ÁYaÖ‰V”µÂAžosÅ­Y¼p:Öæé•cîæðwÈ«©Ö!V;üZœrÆêó1ÕŸQܘ>l¾Í]Îô_éã_Ž£ÿ|ÿÎù¿_ ½kçý{ÿ†±3ÙÞù¨ÿôÔGýWëEsOw›œ.Ô}a_V^uÑÜg¹úãx´øâ¨k1Ÿ¿‘å32þݵác×ÿ‰ùÛâáìgä]˜Æ x+€€¼pÖa‰îºbñOûy|éeŽëž³ÚdzQ|Fk1þ¸ª;5;ÌÝWµÁã3ïÃ5Z—“~ëtŒ¬ZòE¿œ£Îÿ¼ÿî?}U¿}¥ÿà?ê?q\‹1/f^/v©–³üæõ¸y÷E~±žýasšÓ¤í‰§‘¾ù|9ׯV¨PNó6Cœµ11>>äåðUŸqaÚ„uó»>Žþ$|¥/îS ;.5TSú­aÂÅkÝWuö!£ cÎÄʉ—?=8óÖ0áä¶N#.GÿýŸ;sþçýÓ/ÓÞ›ÏúO ç½ÿøê¿z½÷}ê©—éÉÅË'^ÿ§—fëòãÂÓ?Á,öJ_L={—¦Ï'‡ÆOÀŠè­ùY1kq†ØßøzÄ09}§ÜÄ]±pæ1EÉcÆpé‡wôùèáÚ ùêó«™ÅË×|õã‚ÅãÙ=æÇ›~û¯ûiÏùä¦ù‘~üáè÷á+~ôÏùŸ÷ï½ÿô·^q&õLýg­ßX}µý×E ÇvŒ‹û¯žÔÿÅpzÊI?Ü]ß_wTµÅ[¯¿{ G19òÅàªÏœý¸ñRßö,ÜIEND®B`‚traitsui-7.2.1/docs/source/traitsui_user_manual/testing/tutorials/images/first_test/0000755000076500000240000000000014046644526031634 5ustar aayresstaff00000000000000traitsui-7.2.1/docs/source/traitsui_user_manual/testing/tutorials/images/first_test/init-app.png0000644000076500000240000005020414046644454034064 0ustar aayresstaff00000000000000‰PNG  IHDRŒ¾GÂGiCCPICC Profile(‘c``I,(Èaa``ÈÍ+) rwRˆˆŒR`ÊÀÈÀÇ ÀÀÉ ˜\\ààT£QÁ·k@Õ@pYdÖâ—JÜsþ(Ÿá£ím_„©p¥¤'é?@œ–\PTÂÀÀ˜d+——€Ø@¶HÐQ@ö;ÂÞb'AØGÀjB‚œì@¶@rF"Ð Æ@¶N’x:j/ð¸¸úø(„™Zºp.é $µ¢D;çTe¦g”(8C)UÁ3/YOGÁÈÀÈæÕŸƒÀaÉ(¶!–¿„ÁâóD„XÒ†ím ·b*óø[¶*H,J„;€ñKqš±„ÍcÏÀÀz÷ÿÿÏ ìþNüÿÿ÷âÿÿÿ.š›á@%{ü_äA~nVeXIfMM*‡i’†D  ŒASCIIScreenshotáMÐÖiTXtXML:com.adobe.xmp 270 Screenshot 140 ýËž @IDATxíÝ ¸mYUÞýu/XT•t… (H+" ¡ï" Æ&¨EÑ(Q°yˆÛhò(&±E#~öDA$‚H§(”Ò¨š€@Ñ)½¦ê~û7ÏýŸšw×>·)J­‚5ž;÷œsŒw¼c¬¹Ö˜gíuÎÝûБ,;„Z;tèÐhÍAg={¶Ã‡/^xá1v6:6ã .¸`9í´Óö1Ùèq‘+\á Wºb4.¯9æ<Î^|œ»â‹›ßAñéO_^ñÀžlüŽ_¿Æß}þ/ ëßuWßùíœtþéÛƒ®¿lüÇ;~¼|?šøC×_ý =àåð¶^ŠÉŰ‚Ù>°Š–­àÆ-R>%¢o,.{’ï?üÃ?ÃI|‹Åçÿý¿ÿw ¶øz¹8‰ñÌɾŸ½ã0Ž+}ùŸ?ŒÖZäs¼øå¤/§¿ÿû¿¿Ø1ŵÆß;/—Öúwî/­óßõ×¹t^·Ï?)ns:×ÿ|ž»–Ãöƒ×uæúƒíš;(>~þq¯y=®®5˜ƒäÐxQEE¥ÒK‘"ÚzÃ\߉…ÁA²çÃ6ãÃã×BZ¬tc°yá?ëâ£Üõ¸²—Ûvü9—xÅwrŠó ãŸãã[ãïÝQ|,­×Ö|~w]tÛ×">²ëúÛæéúÃCvŧÏ~¼õ‡‹¯8t۲Ǭ ‰±6;š NO`ÚTÒÑK´fο2ÏOa’9>‰Óœ]ß.Ë6Çg Ÿ]3¯™ÃÊ®øñ²iŇ›>=‰‡-¾ØÅ‹·y~kü½óߺ¶N—Õõï:'ÿ8ç¿k_ß1é×ÇöõßuÀ6_Gâð—¾u¢Ç ;]¶r ÏÞu—^>lmíxGÁ ˆØ82²Å‘]2ZÁK°DÂðÉŸ¾ƒË·Þ"Å-OBŸˆ¡•3Îrh›ó1ƃS_<öæÆÄÝοö¬{|ŧ3.ÞAñů¾xSóø×ø—õw¾vIç;{çÞu²ëü;¿lóù7Ö\ÿ®Éùú/~6sx­kÔX]ÛaÌùe®\fÎr _ܹ?´ t$€àÏÂVP=™ñt|è4®‡•hE “/?­$[ âϱŒùͺxá‹_þŇgÛŽOǦÁj(Û,ÅÕ'C¼Ň?ÙøÛÇ?Ç’çÿŸgý]'»þÞÎ:ß]óù7v5œ¤ë¯óŸ~7/÷ú|ºþዹ}ý«ëÔ<]qħ‹×,l°p³Œ#gÀmÖ´„Jœ?‰O_¢°8Ò™oãÙ‹_Âñ±]ñŠWÜß1é?œüŠ7Ço‘ÊwWüò(>xRŒüçãÉ6?ûñâ³oÿïÂýçXçød׿ë‹s<Ÿÿæóù¯–füöùg›ã_éJW:fÓÁ[S³ùOŸù¥+¿âÏþÇ«x2ž8"#‚ä4QÁæ¾D¿$ÿ"ÞpÒü°8qãÁk_>Ř{8sNÆx´âãÐN&¾¼ÊiŽ_ ñ‰ùv|1vŇ_ã_>׿kéDç¿kf×ùßuýÑÍ×?¿™¯?sú®?óùúˇ7[×:ñl4éõùŸo:øæ®düV…h› [Žìaá#Ë×Á•xAàHIÁÏ‹gn±¶1ù–ß'=¿œæøt-8îæÆågùࣃ)~ø°Å­Ÿ¹¶ãÏÅÇ¿ÆßûarYZ¹ãçt×ù§×æó§ëŸk…½óoNè²™çGÓœ“8ó뚟ãã3[Îüéçy9é³ç7æ›ÉÆvQ‘4¤×wPævN,]úÚ¼ÀØøÏ¾ìltÙŒ[¤¸éŒ[¬æõâ%ÆÅÏ_¯(‹‘~öÉÆ·øzóâÀæÅÑ“xÓ›§?(~>kü½kÃÚ]×_NÇ;ÿÎcç²óÏg>ÿ½= 7ûàæ×ñÏ}|Åo>cÄéz;¿Å/7ølqºÆãëzoøm€G'¤ÌÙÚØÂÁÐÍ>3®€õùã…ÑŠU|:¢ÏgWüìÛ˜|ùhr#‹q'rŽÛ"°åS|úâÉÛ¸yñòm^Œ¸Ø·ã·–kü½"j [³êõïDç_ŽÛçß¼Ü;ÿÎ-q,] ÿl]Kô] úŽ?Þxª?öùú 'ŽøæÅœããφ7¼1aËŸ-9Mp ²9©l矜ô‘œ¯–-þ9vÉà¢î#ùÈòw÷w‹¿œt‡’,»Xñá`/¾xÍ‹ŸßÜÃÞ¸,'œ³möŸãóã7¯Ÿóå‡ç øôkü½kâ²´þŠøDç¿k ó®']×sOÏŽS¯±ãè:ü„Oø„¥vå+_y`øבœô3ybŒ¯¼ÃÎ×uâ¸ìõÙ²óùn{G9\/ºÝ6°1bBW2HlIÉš‡Ùó×òåÿÎw¾syßûÞ·œqÆËÕ¯~õÑ¿xæ-v¹lÇ£_|}c¹Ä!¾c›.YãïÿÖs]ÿüëïCúÐò®w½kùð‡?¼|â'~ârk\c\»®Uëïút>ŒÉ| ³57î|kDÏ_ ´ ÃÑ—m,\õ_Ìq=l dŸ8Ré9(ϗž®1_2‚å2v`éàÏ?ÿüåƒüàò©Ÿú©ãNC¬üÏÚ­+ð1¿jGS_þôàÍo~óræ™g.ŸôIŸ´¯·ÕñìSýñŸë§šTkóÛ ê6ãy5[̱mfÜްMŒ1¼žÝ˜¤/Y}8v¾$¼ÕÛ“ë_ÿúcóðÇ*ë |¼­@µ£ž¼]WøÀ–÷¿ÿýc)ÔLõg\SSÕ 1\5ˆW˦yã™+ß0Åm®Ï88Û$ˆ^ðneÛ‘ð‘ÑÁ°ë|·MzÂ_3·iØ]=ß _e]u.ú;'5hó8묳F}ÌõW§«þÔ›úãËfžÍÚV³z8£U×êß¼Zåßþ´Œ&íZíXsB¼IÄÁLŽÐñãcŒ×¼€q±…ásµ«]í˜E¡_e]÷P'6 wŠÖF ÐÕ”:¢Ó½Zª¸çúc?È®zäOôsVãú°§ D(JΘ ÖŽ© d– ÂfÌgû`ÌÙônÉ®zÕ«îoH3çÅÆï<¹ð¥/^.xÕ-þåŸóáO»ñr…ÛÝ~9|çÏ]–³¯u1—ã*>ô7ËoyÎrÁÛ^´yϹzèꟹ\á:w[®p½û.ËéŸ|\÷mã[?üöåÙoÿÝå…ïzéòÚ¿{Ý0ßòo¾|þ5ï¼ÜÿÚw_®û ×ÞvYçë ¸jÊݸ^ýU7Ìg©þÚHØÔý,æxÂeW§¤»c6 ì\ûæ‡6ŠñŸÜJ*dz!GI*|8v"èŒ5.Aöv·’µùüŸÿó–k_ûÚ[¼³yýë– žþ«Ë5Þøºå¬«\e9´ù59²y‹ó¾ÍƒÕwßäæËüÅË¡›Ý|v;p|äݯZ.xÓ–«äUËYgž¾>}ïÂmøÞÿ¡å=W¾Ýr…›~Írè·;c6¼òo_»üø›žº¼òÂW/ŸpÆéË•ò}dÃ÷á|hù¬Ã·]}÷|ÖUo9»wüº×½îb´ éæ7ß}Œ¿÷{¿7NðÝï~÷åW~åWÆo§î}ï{7ÆåÕè7pOyÊS–ý¯ÿõrÎ9ç\^ã„y«¿<ø”Où”Q?Õ$½ú2'êÖµAGª;vã6öê’žj9îê\_>qÜîe\Pº6 Npr‡0ïJlZ›Æ ؼH*)…ÅÄ©Ñã8PÜil6ëýÕyËÇ]Å{~h³‰|âUÎXNßØÞ²Á~äלøÎcs§qáfÓ¸îás—+]çš›­õ¢Ø‡¯rúrÕ3¯²œþ·ç.oÝ`ßê;OxçáNæñÚ+ýÙr«½áÛÉQÊ«œqÚr•³ÎX^ûÞ?˜ïºÉ7ŸôÇSŸúÔqnüç¦Ä¯«¿ýÛ¿½é1ýÿý¿ÿwà7믵I?éIOZîyÏ{.ŸþéŸ~ŒÏåeâ̯ÿú¯/ßð ß0RÞuŒ——c9•<+Þ¹nº ¡«F«ÉtÕ“^5?>æÕ81];Õ-_8B7ÞªP!ÐGZp`BÏI¯•”ÞœðÇ׿ÃNŸoÁ³sìzyÙKÆÆ±›ÆÑÊ<²ywèÈrų6¿óÞܼgƒ]ø ],ûº#o}î¸ÓØß4P¥[¼eÜl$WºêYËÕßöªå=ì¡ý»}ß]ƒß~Ç ÆÆþ¦a#šù6¤g^í¬å•o{õûð|É.š:?QïxÇ;cë¼£<:aÓ¾äKöb„õ«=Ùšïò½,ëü}Ã_üÅ_ìçï×”ÿá?ü‡‘òåõ˜Nv½Õ–šÑ«¡êQýô›NÝY ˜jÊœ_5.&l~³Íp~|²‡÷°¸y›‡À0%¯O/1>Hù$|é Ÿ„®ÆG;H޼ú•ãíɨF°c°{›‡·0ïÚ`=à ¢ú ßþûãíɸÓà>Ý!ŒÃæº)~oaÞµÁ¾áCË÷{ï~Ùx{2x6~G.:Ì‘òæTlü ìW^ÿ‹Ë—±u9hmþèþhùßÿû[Yo_œƒnWù—yüñÐ=îqå{¿÷{ǯºé^ô¢-_÷u_WˆÑÿñÿñò²—½l¹á o8ì8>ë³>kù‚/Ø[ÇW¿úÕËK^ò’ñÖçOþäOƦÄþÌg>s1·!}Ú§}ÚòoþÍ¿ºÝ•~ÿ÷ÿrßûÞwyÁ ^°¼ç=ïYn|ã/_ôE_4삞{î¹ËóŸÿüå-oy˸ Ëßñä{ç;ßyääW’ŸýÙŸ=Þz¹~¾ó;¿sù¼Ïû¼Ñ¾ç{¾gyÄ#1~mù·û·Ë¯ýÚ¯-þç>ž™ñ‡#þ¸ðWõW—7½éMËÙgŸ=6âlp~qîÛÔUE?×!= ›1›¹±ú£'³¾š¤[=›³Ç‹ƒÌ܇SJP€.RÎÆµEP‚Èéóå#8¡×fLz ”TqÂïì7BÇ3 õ×r›‡6Äxs`›çšîä8š›¡=ÓtÑà2>:‡=Ÿ¡ã™Æä;r+¿£zØñe—ÎßüÍß,oxÃö›BcÿË¿üËåçþçÇóßL)pç‚Ý3m¿ê«¾jñvÇ[ŽŸæ¯ýë§B|À°x^ò;¿ó;ëomÞøÆ7Žñ#ùÈñvçYÏzÖòâ¿x`épüØýØxÛéúx÷»ß=6–ûÝï~ û{ßûÞå§~ê§Ç_ýÕ_-ÿóþÏå3?ó3Ç[àôä'?yüj>ß?üÃ?Ï/øÀŽxzÇòÕ_ýÕcSƒó–6רOüÄOŒëòk¿ök›åoþæo.¯zÕ«F<›†ëü[¾å[–ûÜç>Ësžóœñl­ã¿,÷ŽS~ΫZ!tõÆsý9NëÔ1Y›®‰ôz\úíúÇ[,} _ñéN£  ù0n^rjyAÏŸž¯f®÷¬Û <%ÃÆ¿ƒû£íñ_šòÏÅ'îË_þò±!t<7»ÙÍÆO|?±ý4VäÄÃ3?m[Û¹÷ðÙùõ§ü×¼æ5&>}؇>ô¡ËU6wmçœsÎØ°ÜMÜ}ó •Ýÿø·ÿöߎóÉÇ&¥ou«[™._þå_¾ü§ÿôŸÆ„€Mã–·Ü{ì­Óý¯ÿuûk^óšå7¸Ár‡;Üaøº3±Q¸#pgÂ÷AzÐòŸñÃîEîı®X›« õa{ØÈö·¸ÅòÚ×¾v¹õ­o=r¶ùiò)'¾—Q+s¾ÆÛ5©Þ´60æÖ GõמÌ\êßœ_Oê÷Ÿq @ÎÁ]ƒ t€ˆr¢§›[ ÚJO>; âð©ÁÒ$W¸Ñ§/GÎÛâAèâ™Æ¸½Ø;=ŸÍxóÏoXm°‡ þðÕn±\ø¡¿\<oMŽR.cm#~òÀž€ï3ϺÙò—zóâAèðu=]èAt”ó#üÈ{"¾á³y±>ná+°ôüßö¶·"š¹®së쟷Ö6»¹qó¸ôlþ_„Í!»uGaÎnC‰ÓuòŽw¼c¹Öµ®µ÷ÌáôÓOELOpÄ—îíoûÀœwÞy‹·‰ëÎ[ŠÞâ˦ØéêéßúÖ·šú¡Šnô×»Þõ‡»•g<ãcãòpù.w¹Ë¸ûš ãÇËÐÄqZïjPjÖJK¬cQs|Ô§11 Ñ·v8ò¥Óðð ËW|RÌÁ ÈÙ$# ’ˆëK€NRÙJš Ž›Þts,ºüé’#·ºÍò¾g>}üöăЋª“Ç&ï‘ú¡ñkYØãqñ8rö—÷½ýÜñÛ“ñœÃ9(üÑ"_oø6¿–=rí;Ÿïs¯z‡åO7oAüöD2ã™ÆÌ·áZ61üZöDùÉ1Ý…÷ŸŸü”m Ï{ø|êq;'3~Žá/xýõn¿Áñ6@Œm>ΙŸê0ñù¿FZw4ô~蹑NÍÅ£õ¨a›_¼õ(fÜìç>œ˜®¥ÿøÿãØ¼f>˜Xî8þôOÿt<ï°N·»ÝÉýª}æû§Ëß±%æ²ñ\?méºËŸ}ÙIµoLWÍã;[yèÎK­âFb<'\Ž=€+AäìóFGâÔïÝðÛl$Y¢t»ÚŸý9ËùŸv“åÞ÷w÷7ŠyÌ»‹cÖ]øI÷XÞyÚ­—¿ÿÛ÷mVì(ŸµÔœ£Ž vöÝ5¾×5îºÜæÈ­–÷¿ßžÿàƆp£cƒÝűK·aÝ]Ôü¤‡½éMo:žI¸+ð`ð…/|áâ7'„½>^è9†géæÞ5ào?<›ð–Ÿ®3f³=ïyÏ1ùü¯ÿõ¿ÆCÉë^÷ºûñŸýìg/ý×=6¿JuסÈùú ‰·'6o‰¾û»¿{ñëd1¶s§ëÄ[´6—pŸüÉŸ<þô§ç$Öê¿ý·ÿ6òãûÄ'>qyîsŸ;®[o‘üWõ®Õù˜.‹ãŽQ}9Gr´AèçúT‹S>ìšúªVùõ‡“]V¬|õd®ãqOR"H$%* ‚v°6|ô%7H6/æôü²³ùɆ‡´b(Wßüä{Àƒ–¿zÖ3–O:ïÏwþØ;ntãå‚ æÂ vsR Õ6ïÁÏùÊå¯ßô3˵Þöšvþnµ\pï\.Ü`OÄwí+ž½<âº_º<å-¿´üɇ_{ì€mÞž¸Ó¸õ…·\q½/]`{¬[™{§% è OxÂø‰íÛÓžö´ñÌÀóÜñ[ÛÆnÏýÄ[„Ç=îqÑ®?û÷öÁyõà^÷º×ðg'qÿËù/Ç&äïC²ç-Â:¯¶g?þã?>η· Û<ƒÀq£Ýh¼³±üÒ/ýÒ¸KðàÖx6|?ýÓ?=ò‚‡Ñ\gØ<ÔÅemÌ=ã¸Óî4âÝýîw_l*6:6wž}ÌÇ#ÆeQÔ±)È]­ª%¹÷¼‚gŸÅ¼cäSÍYcðÆáögÜd¹Ë'~örïkÞm¹Î•NñOâO"°5õSÛ{÷‰s¤uòÿ⯿Öý¶oû¶Qä΋òdŸóØ[>.ÌÇ?þñËcó˜ÅssÏ?v‰ßüœLîù* .ôtsïíˆÜ+’Ù&–<ßåE‡ßHsÎ9#ouåœw Öœ;$;|˜jRßúäKGôtqáÃ¥……;-‡Ù‰®à`®™G®¯à#-€y¸vMþqóËWìü’ 6wÜçþˢ풣 ¸Ë´Kw»‰].OÄaí;Ÿ3¶µ×·¤›q»Æ8ûÉ—oÍõà¡ëA|'›{Ü.hrŸ·!ÙÅ:È6 —Áë«©ÇìøÍIzk¬¶Ø«?öô꯱žÀ“?óf¯ÞãïúGç„È\Òí@æZXDððÓ`ÎoæØNšMkQéúòO¾TöPóÒîZñÖáÒä¼4òº%ãÏ™=à[e]uŽ]χüÊüÃWý™×«±îÔ•Amij”^ßX:²­«þã„Å¥wÜq˜d`L$Ç‘>‘9{AÛ ÍÙñÓ‡áŸÑÃùGé†a}9f~ñ•›çH{çxùÀùç-×<ý¢Q²~«|l­€zIÞyäŒåì Þ3ê-}õ§¶*æÆ0Õ_µ¦V«G:öm;Ö5¥&m¸õÕ1ûØ8(õ)P$‚iá `ÎyX:¢¯µ1ÄkG¶kí]6 Z›Æ£¾ðsެ³Ùøùgÿñ¨+5¢vÔ QWÕ]›Eõ¶eÏ/¼º%j·în%žؼÌþÆûÿW¥D ÈH×nCO§T¡dœ––ÀhaØÝɤg8¬/ë ¬+0Và ÷~˜«™êi^šê¦øý†U»s-6æÞX-j|4c_ý›‹þ°—5z:ÎÆpDßû c6 ÃÎ GBo^Â3'Û*ë ¬+pñP_jH54×»zšk¯šªnçúË'N¶üé´ê;>ß']‘›ëh"†/c®ÍÀ¦’Ä Ã¯»ŒøçÍ%Ÿµ_W`]½8´©=µSaW/t‰UOÛõ˦®«?úê{¸|Ø«ýlz¢Ž÷Ž–‡ ˆ>2údN4œ¾`óæAg7>@ŒµßýÝßî<”G_ü)ºOrò+ü_¼ʺO+pdó€k.üêTM©!ójNUðj•ž„íù_XkŒ+ÿ&/Œ1þöƒ±q€‰žȼä3'é2n#h÷ S^X½äˆ±O±òÿ ú³`zÿQÉÆS»$âÃg|À­ÿð´Êº—¿Ø{N¨Fª5WÑ«-?˜ç_Ϫáê™]«®õÕ­™ñtlt¤˜Æ¸ÆÃQF XÏÐÆ(Iº‚t‘æiöøô G6›?qâñÙ˜_öe_†æùáþácæ§2yå+_9þ«ø©ø¬Øu.K+ fÔ‹ÿGTMÉOÝT;ô¤37ÖŒqèÕ[s6óÄûÌFý“&ˆ+â‚ÑÙÉô쑤 ¤àØ´™ß'¸‰O³nóøú¯ÿúñõ>¶Îÿ¼´!ù|IÿmÜg-øÀ\Ÿó@ÛÛÞvüÏÂoú¦oZüà_,ÌoüÆoŒáûŽïøŽÅŸHþçþò ¿ð û8Ÿëð5_ó5ãó#|†ÄcûØý»$y|ß÷}ßrÿûß¼úÒ/ýÒýÓó™>ÏgQ$þû»ÿï#þ|,ž -ñY>ÿb•u.¶›øÕŸzÒª1õ´=Ϧ®ØÍÓ™«9s2×_µZ|uJ`Å'ü5r˜æ=a¤·Ëm6}IÁòCN_Bù³ÓÏ6c6üš1ñVÅ×ÝÕ?ñéQþkqãŸýÙŸÌ…õéN{ØÃÆGÝùÌJ‹Ó§zû/ÛóÆ3H޾øoÖž­øpØ»ÝínãyŠú%6Ÿbås|Œ½5&rò»6–Ÿù™ŸYþàþ`ùWÿê_Ϥ€ñ;|ˆªñ½>ÔgPøOeyÈCÆ'h±?á OX~äG~Äp•uŽ]ÍPí¨»êOOªÏꌮú O‡£ºm¬öð¨íDõŸ¿~üÉyAõ”QÀÞfÐÛ¥J:œyÉð1×§ËRÂæé¿õ[¿uÑ*ãS«·Å]E;ç£÷ÅòY–6 Ÿ$•ø”,‹áNäœsÎI}LïOzà~`ìª6›€Oøö9•>•›ØÐ|ÈŒé÷Ñs‰»˜¾BÀMLnÄÝø@_ò[¿õ[Ëmns›±Y˜ûB%Ÿ¶ås0Ü™øŠƒNû*ë Ì+àY ZÒÔ¥ÚQ‡¤zTÝAÌuoލ9wúêOOôùªÿüõÃ7c}DH¸¨íN%Ï9Û¼t‡€‹>¼/]‰ëáaÓ)zߟø¸»]âS´Ÿ}écâ~ðpüÔöÉU6y2âÿt+fñY”î@ˆ»€ëÓ²ýïQÿŸæ†7¼á>­ÿ6žl@Ìü¿M}dŸMâö·¿}ð³ús•uv¯ÀEÕYa«?5EÔ¥¹:bWKÕr˜êO_­U£qéI>pÕ¶úÇ ö˜;†À3q_b‘èIö1™æ /™ÆÙø4öë×> ;®“ém6šOûÑýÑñvÁâ%ñŸ Woc<ÇxøÃ¾xâ#ûúv´0'ÛŸ³¹Ûñ6Èçr®²®À©¬À¡C{oéùtWwmôŠÙܘ½`ö«þÚXÌÓÅ©÷ƒ¦Çí ¸Ûw'!3nßÊ””^À’5&ælz¼D"ø´Yà4wúK*ý$÷ŒÁ[Ÿ%)v áîÄ[Ÿâ}*âúlT ç¦oA»$â³;}¨°g>XØÃ\yº“!ÿå¿ü—åç~îç. õêó1¾jõ¬Æª½yuUýUcz×,É·Z¥‹‡m®¿ƒê>i|X`-’9(‡‚;¤Âð£S¸5‡ãc¬o^"8ñÓ$dzù*B\ë;Vý–Ås}ø.ñÍ_>Ì×3ˆmÁ{··-OØ<´ôa»¾Þ§ÿÅÛZœ ×]ïz×ñ•ˆ¾×7~ã7Žg4}1g Ò®²®ÀÅW`ï§¼ÚQSꋸn«ÅêŠMi®Só®×nºÞ»öçúÛUÿ¸ã8¦þ7àmï§¿@Œ¹yÎ2'‡ƒç×Aèé$À¯Ãé#ñ=tdÿh§ß¼ÌÏ⟧™þdz¾îvñžŒÿ6¦ï+é²·^³nöûù?Ú{ÿI÷ ïÃú¿cçÅùÿ¿õªå“¯üîñCѳ5dQo®—¹ðéIãpa«S~„¾ëŽMŒ0ú¸ÔqøÃŒMÚ4"DÂ6_ØÍ%‰(Q¸Ÿf7^~¤à8gÌ0~/ò9¨¸Å¿$›†tøÄ{IÒÅÕZäßš4_ûu.Z½ú«Öª?ó®›¹Þø©-FmðÓvùd;•ú_:­€Û*v:w% ¸F¯§'‚ÎÆñ“~òKžc¸UÖXW`× \ôŒC½ô“¿º«¶ªÉæÚ«VùVwz5'¼ $1Ÿ,½~Üq(^­·#‘Ò!3— {…nޏ`€Àˆ»­ÊŽ/¼1{ãa\_ÖXW`¶ëOm©5­b¯Æršë®ÚTg°ê†TæÛõ/öAñÇoUÃæÅD@¾®B‡¸àlüÚ­•{¾ÃÀ¯²®Àº­ÀE—ÑfaÜ]¾±:c«®ô¤Z5®žÕ¥º«±‘ãÕÿâ¢ú?­ÂVÐ Xp6 V08ÁÙó1foÓ‰/_=ÑóÕ`ù¬rüð´}|à»>tÅåÉOûƒ}‡Öu_±.÷+ 6’,WYÎ>ã¢ÎÎwõ§«#c…ßF®z›{˜bÌx5<ëÅá—¨U:í4/Ac·,s,ý¬Ë‡^à,ÜÞ¶ø³Y:m—Ü*»Wàê›/ {×ölg\ëFˇwÃVíÇà œqåÍÛû¿e¿ b5VMšW¿ÆÝ9Àª·îL`æºÌ‡n®u›]øí~ÿ·*й‚h&²!hì+!d ´ëèÚPø5—\ú8ñúr±¸Õu?º_U_ŒpU\®V ú«^$?מy›@=:VosÝVqšã:Õú¿U)p=R…MKfN´Dæ‡)Ý*±µ‰dD›6®ٜ´UŽ¿×»ê‘å_ÜøÂåì37kwÑ]ìñVëÇÄ >´»þÔRõ¥F«¿6}ö‚Žìª?ºl'Sÿã­JÁÚy3gsÂn÷j3ñÖCR‚±i|茓üqÁêÛXôøÒå³ö»WÀæq½«®¿¶Þ½:»ZuõÒ—îÕWµ¥þŒ+vG§žèÒWj=ÿÞºÌ5«…Õ§ãÇžŒß˜PÌœS}’Š–Í ÆŸ½dÙ³õ߄͉ƒZe]u.¾sý©!µBW½åѼ£¯>«?ã>²³ú«þ«ÕbêÏõO7¾©I‚@PÄÆxt' ëJ6¿ð‚³ó‡í âŽnŽ×Ú¯+°®ÀÞÝþ\ÆššªÎZ'5¥¾èIõgc€'ìjn®¿jzŽb²ÃïŠ?6Ž’¹˜hœ`›q%)i“(A:sþI|Í×~]u.¾êI½UÜÕ^õUM©'ºê“º%=B€ÉæãG²éaI|æù³o¸÷v)“"ã,ˆ]+™m˜ÞÑ¿1½±VÍg¾b¬ýºë ì­@õ§Nj­ÍÉÖŸš›ë Ïæj±âÇ;sÃîÒ©izü8l<ôãÁe$ÍK0]$m%Kø‡3æKf]wè¬/'½w¿ûÝO»/ß+ðÒ—¾t“¨6ÛªOGØx»þèÛÔ¬Æ.µ©ÑÍþùªW»‘ lAm€$¢6:AØÙÂÑÃH†°‘üJ¤dâ5/iø™Ï|•uÖ8vÔKwÿs½\ÒúS‹Õ-><ñV§Õ±L¶ëÿ˜Ïã䤰5ÉÚ±è’õçM ¹¾;‹9ú’N?scí×XW`ï‡ê®ú«>«·j¨¹¾ š³žmsýUótwÕ?;ýø;@E®/0€1Œ9ðsò0ôsƒåGè‰E 3g¶aX_ÖXW`ÔØ\+ êE½žlýÁUcÕß©Öÿ¨f‰Ùô%f.X­àm"%NŸ¿ §ƒÂEߤgƒ‰·OùöÁÅ«¬+°®ÀE+ðOUÕ¯ÈÕs±õÛõ?6Žn?lˆ‡šÀнÂÇ^ úD»Ÿ„ΆÁ§Í†_Âÿë¾îëÆW/¦»4z_mà;KVYWàòºjC-©›K»þp’xO¥þ÷$)vD%]ñg/˜Í€®»ŒðñéÓñoÉ÷?†œwÞyã« þ1¸WÎuþ)V`»Îª!5¥nÔSµÙl:«ÍõW­U·úy ÷¿›¶ñp”‘PŠ£/È8 "9æ`|ø¦‡5¦#ñw§QÏ·øì»äùÏþò…_ø…ã›Úît§;óUоöÑ=ʧ|ÊøÂ¤'=éIƒÂ7Ôûvùßþíß_øüñÇPû~X_ý“?ù“ËïxÇåf7»ÙòøÇ?~ñÕämo{Ûø&ú›ßüæ‹öØÇ>vÿúJÈ/þâ/ßQ{£ÝhùœÏùœåå/ùòïÿý¿yÜö¶·ßüVÀç<ç9Ëýîw¿a{Ѓ´¼ò•¯Ì4p/|á ÷çë`]í8Qý±TÕa5VÝÕÏõWVÛå±+þþrC€¨`Í{ Â®¶4[µù4oÆ^Þýîw/yÌcÆ—6Ùð€,~ô£zò-ßò-ã^~ÿ÷òÿð/çž{îò¸Ç=n¹÷½ï½|îç~îøfxË,róLå~áÆ·´}ß÷}ßò‹¿ø‹ã›åá¾ã;¾c9ÿüóÇ×6>ñ‰O›¯p$6—¼àË•¯|åå—ù—Ç7ÙÛ|ñ´¯Š¼Ýín76Çé¶ùÈG޼}‰õo|ãñ­õ¾˜‰<á OñÇd}YW`Ç ìª?0×ðÉÖŸz…?¨þªÿ«aâÞÿ4z¶QBúlH‡/ :vä°¤q¾øÚdò‡1fóveŽ1H¦—k\ãc#àóþ÷¿ù²/û²ñíô¯{Ýë–»Üå.ƒç}ï{ߢÝÿþ÷-w_)ÎMozÓTë¿ýÛ¿}Üq0(ìßùßw?õS?5°þð‡ÇÆàÛæ|‘uâ ­½Üõ¨G-/{ÙË–ïþîï^|u¤ç5îJln¾ÞÑÍCòá*Þ¯üʯŒo¯¿ï}ï;¾×vþãšø×~]+Pí´Õ«úb«všÃÁ¨e­:T?°áŒÕé8<_xB—ˆÇ?î8µž9"î‚VàIɘ#2Dë@Ãt`%g'߯°»×w}×w-·¸Å-Æ`s ãO¯Ÿüwßü5¥·†öA%»ø¶u×½îu÷U׿þõ—~ðƒcn¹Ç=î1Þ^Ø l ŸúÕ¯¾l6 Ç¢'6"Ï׿þõc“¸ýío¿h6 kñæ7¿y`Î>ûìåªW½ê¯/ë ìZS©?õ4ËÉÖß©Öÿiˆ9Õ»à‰Ý…Ø@l*ôš"ɦ/9ÈWx=^Ø ^ŸnÛzyÖ³žµüÄOüÄòô§?}Üx›à¹Bb³øµ_ûµñmôÏ}îsÏ6|±³g"—TÄøú¯ÿúåáø¸s8óÌ3—/ù’/¹DtçœsÎr·»Ýí˜ç2—ˆhuú¸\µÓðêÉžDM©G­:3&æõÕµZÓÔ]¾0ù„‡©^ÅÏ?ì¸ã(à\Üˆé €È\I½Æ‰1\_\á⊗ï[ßúÖñÚOi̓Ïùvê=ïyϸÃàKôî Üe\å*WY|sýgœ±|ä#ök_ûÚË«_ýêÁ“Ï0œàÅ"âÐ;6Ï-^ô¢Àk·ù^÷º×òâ¿x<+ñåÕ¿ù›¿¹ÜúÖ·^^ûÚ×¹ÿÜÏýÜnçUûq¿—fýU»u»þÔ¥Öfq¢úŸÇQQÙÉKÉš#+Hõ’kLÌë%@øãË– ow2ô?øƒ?8fz ©}åW~åâ9€â{à¸ÿ¬Â[x훿ù›—ŸýÙŸ]¼åàÿà?ýèÅ·¡x&2KyÔg3÷–ã ›·@þÄÝËüÈŒßØ8³í—¿~ÆÝõ®w]¾ÿû¿4\ßøß8ž‰Üò–·.žøã·UÖصjäÒª¿íëv®?±O©þ7…{¤]F,)ét÷vĸÍAñ+ý¼4ž4.»»Œ;ßùÎÇܱî={àëŽb—ø-…gómÏ<<9U‘Ÿ»„KëÛêåèaï¼éØØ¶Oèñòô[ÏsVùøXw«î´opƒŒ·,®?„»Îõ®qo'ôd¶«Ë~5v½¥ƒåg®ïÚ4ožNMè÷¿ÉMB5î¢ìMdm ¥›±ó®Î8;_ã“oEŽ'·˜—dÓËI9ˆ÷x¹dÛÅemWYWàx+àQ7®eõ©¯€Õ»ž°×Ô4_ºj¯ë®¹ž¸æëá´¹nñì“› 'bn›ƒ7—dÉÀçg,YAõ0xóͧÒ³­²®Àº_ê­ºi~i×ÞS©ÿñMnón"u$tÝU(n‰jôú ^OMgn㨥/>qòYe]uŽ]µ£Ù8ª•êG²‘¶þÔ*>r2õ¿ÿy’éíˆd$Ò.gŽ˜ΘÎ&R0º„¯»þ¤¤ø–”1Án(Ö—uÖØ_õr*õ¯¶ª?Äýð7®þøœJý¿­ø|ï")‘Š_¯Ðõá% pßÐ&mö…áCøK^K7 ëËI­Àü[ë¼ÊÇÖ TŽÊoøÔQ7ηyõ·«Îxó¢&«U:>æøÕ©Fã…i0ÆC`‹{¥‰ô%Í!r6 a¸ ¿D .n˜8ÏIÌÖ—®€¿YåãgÔÈK^ò’ýú«NéÕ©®~5NOôê®Þ˜ð%ô꙾ú¤ÓÜÕüþ—NSRødÖ àìt‘Ó#5/x<îFJh>à6ØUÖXWàâ+Pݰ'sMÒWWÝ¡„÷¶EmÂoûó¡«ÖÕº8ò«ßÆ`GAÛiæÉ>ÑÑMDr3¼¹žèãÓÇ7Œë˺ë \lª—¹Žª½S­?äñÍõ‡{®Ûêø9þø­ ²v/=`w »ª$#˜1|ìtáÛ p¾tŸ6ßZ Ãú²®Àº[ê¥úSGÚ‰ê/;Â]õgsЈõ'Sÿ‡ÛiôÈõÈŒkÛŒÝú‚ó‘h›‰3,{ÉJ°ø{èõu]uæP?d®?cRM謹êW…=¨þNµþÇ6#‘ˆ%1“4¶)KP¯å#A›€yÉâÉnÌž­ÿönNÚHÆd}YW`]ý8Ùú««1'[—¤þÇÿŽí'ÙÚ•ÚŒKŠÎXSìmùÑÁÛdšK¬Í!îø(¾UÖXWàâ+pPý©ŸÕû\jmWýJýïçÓO})7ž‹YÁ· (p¶'(AHÂó#½…ÉŸ®â¢[e]uŽ]êIí¨™K«þðÍõ(jµ¨g#süðì›Ú¾èÅåÐFÀÙæÐû*ólðˆëmm$txðÓÃÇÑ<¾aX_ÖXWà˜PGÕŸZšådëO©7Íx{Ž7î“©ÿӻ༤Ì9vI yèà 4ëãÀV_¥ü¯xÅø¶¶¾'åx~«m]Ëâ ¨‘ê®ú¬gk\îá«QöjfÖ›³ÁT×s³“ü«éÓ€L Ö®§OG_‹P`Oà·7>ð¾[¢’†éÅùB¤ùc}¿Ê‰6Ž×¼æ5ûßmòŽw¼cY¿bqZÔux¹Z5älÅ.ùjO_]ÂõUñ­æàãRtÄ\3׊_ýWÏÆãK§q»N„`›Ø*z¶™Ð\#püõ0ôÆP2`¶v8O/ßû½ß;¾½mR­Ãu>nV@ݨ?õÑæ@§†ü×õ£®`Ì«A‹ÄO½Â‘0Õ4[|øáaã-¾>ãQåHÚ43D8@›9Œ1An\Øü;ˆ‚Ї×Ï ³Á¥ä'ùòЇ>tyêSŸºö¥Ïw¸Ãöç'3ð¥Kÿù?ÿçÅ÷¾~ê§~êò_ñ‹»•ä /»î «}}‚¯^ðQÿãüñ=²¾öÀü›¾é›öËš|Ï÷|ÏÀú:ʯýÚ¯Ýÿrk\ÿý¿ÿ÷ñiïÅ]ûuZj±R/®§jO¦:²©Ð“6~lzµGGøU¿æñék0áG.€s"ˆ;` ’ÇG³­/Ù’޾6ÏÎÿ ñVÅwÆÖäE¼ñÕ œ/‘>yç;ß¹xâ{]}á´ïzõÝ.äx_ví¸ÅzÆ3ž1¾eî«¾ê«Æ×T>ùÉO^~ú§z|ë½/YêKœ|é’/§îË—|í7|Ã7Œ8ög6¾söyÏ{Þ˜¯/ë Ì+pPýUcÛõ§ÖÜU𫾪?5{Pý¥?Ùú¿Žm'QÀêé"A:o¬ÄèaÛåè <µæqvàôÅŽ[/ßú­ßºœsÎ9ûí)OyÊ⣛~Á|ÁøzGßûÕ_ýÕã[èK_v-¾»_vMæ/vú¶oû¶q—ó¸Ç=n|ÄÛ£ýè1Ä#1¾ã¼óÎ>O{ÚÓ¶ÛÞö¶ãÛê})“¯«tÒݱx€ëj•uv­@õ§–\3¤úSGÕŸ¾úƒ©öšWÕó\ì°z\a‹ÏVüñp0FNJRh¶å— ßøÂ¤ƒekž~—øø/ú¢/Ú7uÖYûãKc0é´/½ñ?wå(o±}³ü{ßûÞñeOtl‰/Œ&NÞ•®t¥ý²tò„Ç÷¦7½iùøå‡~臘†Þ—Q‰yÃÞpè×—uv­@×kFý54 }:µU­ÒÓ}5̆;™¹g}×<>æãá(ÂÀŒHÌ5…á§p%PA#…‡!ЇÇÁnÎæí¼æ†n[üúõZ׺ֶzøz«‘ÌãtM¢/»>Yn'ûz×»ÞòØÇ>vùò/ÿò“u[që ìט·D¨!µT}ªÛê¨úbSKa«-sX}õǦµ±ä[-²å“Ÿ\Æù”H  êí .gý 8š¤ŽÍ|Æ›³Õ³µYù[ óS‘ßøÆË³Ÿýìñ¥ÒoxÃÆÃÉSñ?¶MТmÙõ‰|·í÷¾÷½—'>ñ‰Ë¹çž»ØàÿøÇ/÷¹Ï}ÆZøZHKÙVYW`^õñ|`üp­纂íouIcÎfœ®Ú4gçö´ãÕ?˜âŒg&´QЍ’ô VˆJnÖÁ±“Œ_ ²ÁÓùzÆ·¿ýíû8œŽ¾Ä1ë?æ1þ¾úž÷¼çrÇ;Þ1Ó~lŠòÜ7g0Ç;Ñ—]ÇßÙžû•òínw»å~÷»ßr³›Ýl±Â‡]ãï]$ëúïý0뺫ÿǸþüïüóÏGd³°i(^wÔâºF]—bÏ›ŒÞuÏǹ3ïZæW«âÂ_ð3/nÇÍoÜq0’@ô5vz¿#ÉBsã$;ŽôÆÅaÇɦyä/)=,5Wsüüê‹'}ñåÓ1Ò7Æ›ß6Þœ=1‡mC4Æ“‹N¶±ù<ÆßÖ¹µoÍ]S|·ý+²ð®‡øÃÒ“z~áè»»oÿ?ËÛsX­ùå_wó|ÓwLôdγãïXÙÃëa»þm aT‡ÅãÈXÁU„‚´a #àæKo܉à_ Û§q¾³¾MƒŽˆá®$ÁU|:sÄW^8²ÓÜ8ýìçøq¤ƒÃµ¿`›qsö„¾<â/˜¸aŒÃ²•K_<ÚvüÖfjëß:Ïëßyckýé¬?œ5¶ÞtÆÙôì$[ãôc~3¬1‰Žô@’žÀášsicG1Óów1˧øÅ…%sŽsÌŽ?®C›‚<"P© ”¨ðØ“HÒéùÅc.Á’ÔÛxØùÆ9Ç¢#tù™‡3~ŽßÂñM?óàmÁq:¾r6†ÕgÃßñ°ÅƒŸ-=¿=,øxçüÒá‰K_|vóù¸ã;™øüÃëã!¾cèø[Çyý鬗Öõ‚‡¤ÇßZò%üÜ$aá:®zþÅd¯ˆõxòI¾œøgƒ¥/¾qx>5ö|Š?ÇâƒËõ—V#¸5óý‡£&¼Ÿ‹Z$ÄOþ˜³ElLø7LBZ¿9Nx»³a·ƒ1Ÿã›ïŠ?ë;XzcÇ‚¿c*–ã7._½†«$?' ®r„3?ë;xŒµŽ ^LRüìlñnÇÇ•ocýö±¯ñ÷  óØúê­—sAZÿ®o¶ÖÎ97w®Œßláp¤3N/1Ö䂾sé-Š\èç\ñÐñ¾+a+N}±š_Îs|cñ;~¼]—åÔñˆÏõomÙðíí(hôšdÍ#¥C¬Øx–üÂño®¸mtÅ3¦7—G ×Ì;Ç7†çŸžˆgÑÊY¿^+Nøæú8õxšç«Ï¯˜üHØüÒñ‘WÅa§/~~Û<æùÖóûx‹oNæøBkÓÚuðï|Yúæõùâ!ælsëúÂWá ðæ¥y¹ò‹Ã9ֲћ“üŒ·yqÀ•CñÓÃ|å¦ëŒœ1½9¾ò¿UáD€cÅJ‡€“^ƒ¯ˆ»8áø”,>XKÂÒÃjÅ€ Î8\ývü8ÄÏW"}ÂV›&~>ÙÂó·>p-f'¿¹ÅYž8Šm,Føx[‡âÏøíøq¬ñ}›ÝšZwë¸kýa¶×_QµþÖ:qà;ïpqvNЉ³Æ]?Ç ‡>^?Ñ»fØâ„‡£Ã¥'sNÆqé59nÇç7ß°âÇ KàÉÈi³@›ù^e@±EÉNßÅIǦ1_-¿’ØÆ›Ï<Í%̧“—_ñãMßë‹¿ÍÅ–_8s’¾¾ˆcÆÒw,aõòª‡/ö ?ÊCÂ5.¯æú9þì7Ç_ýÿøëoÝæ5mýëÙ­³õt‰¹‚qþó†ÍKx=,Á©¶Æ£ðŽêáÃÕÛ8p3=?ºÙ7=£\ÌóËf¾=N§Ç­ÇçØçãϯãGg¥qÅRÂÖx{žŸ æÄº |Ùâ˜ïòos Ÿy:­aôâuà|ÌÙç+Ïø,x¾lÚ,áÓ™‡¥ÃKpuŒ0q/þqÊ{–â¥kïÿä×ßšisëßúµþt¤õÕÃ4ï:Ó§ÓÏçÍX!Š£g¯±ÅWñÇÃ&¾>Îðéʹy¼sÞtÝÁlëù9V"~Ç_NáÙã3¶*J²¢EÕGVŒð­‡,? ·1ðíG¯‘À¼5ø¼yé šç'Vñãøí ¨IDATi‚aÛŽc^ ŽOñÙŠ=÷q??ë(>.m>~>8Hú0ÖÄÓz‘íØtŽa¿÷àÚºYëÕù·F­3»µnéóëú7g³þz²íÓ\<±ôG<»p8ðÎóòb3æÇ^Žs¾0lpqèÅ‹ïvüüù¸øÍq…)>ý?œ~ÄÝìÿ_•¼‹€ @ŒTPc¶˜ƒÒ‘z¶í9>°‡éÂ×Ó‰¡/~1‹[¦üÂÅŸ~ܼ®\Œ·…ïøù%b˜ë ü¶ÎÉ£Ë~æ³ÐŸ¯ãîb£Ÿã7ߟ¬ñw¯ÿ¼.ÛëoÞÚvþ­qºÎ™y<|:wtlpmç]¯…ác^OŸtÞ{›BÏÖ<þy Sœìå¦'ÛñÃg‡1VO8ºÆ²Ã·úq¼›‹uã ˆÄ"r¤C$8Ý<†ÍëÂ'I‚-{ºüÛ²ó+ac±ø4Æ¿æß¿ÆË®çãXäW¼ìl–]OØóé$ãd/çb•?ºøg.³ÏßüDñùw~òç³Æ¿h£>Þú;Ùçõ£3o}­©q·þ­/ׄóÏǹ蜆¡Køã"ìZvþ/9I›ùÍöãÅ—ÉL޾Ì9ã_±AØÕDãñ—£9e`¤† B »ýÓ±…àãàZÄüô%TÁ– ž¾ØæÚÌg.~ئ<õdŽÏì[.Åjèg‰·¼Í@½\;™³qëU®ñ´vâ¶ÆôrŸ…}W|Ø5þE?ç5;Þúù`HëoÝçõ7g#óyTtô8º:gz ¾óx’oxzã®Ñô°òÄOÿqøúò-?<¤øåOàé[s1õtr#qów%§ŒŒ³–ó܇£3VPÆá[H¼øÂêklƤ<`5ߌ‹gæfÆ;Øxêå׌çGØã¥ Ï_ßI¢›sƋ߱ÕÃò©‰a\/ü®øÛ¸5þÉ­¿u"»ÖŸÞº’Î_ë¾uÏ>ŸÛÆ‹¸ÚlòÕÃ΂ˆÃ^<:6s¦…ÇÓ1Íw3> ?Øøáæ…®ã©ŸeŽÇgplŠc¼U‰$C}ÁQºøÍ³w°aqÌcØÙ§“†mnqÓÁ˜;°xf.ö(>¹'Å«ç3ÏÃê³³cd#aØÅ'Æ$îÆaç¾ãÝ%é·ã‡krë_aXWk7¯kÝÚš§ƒÕ*H˜lz6翱~‹C¶û®'z-¿zöxøw…S|GX= }cXãÙ§øôÙêÃ黦÷ñâ#ÞvBRl9ëý—”?÷†‹¤¤šÃÍ;[1æg!øñêñÁÎÅŽ^|ÿkVâÙçøÆb”7?\æqvðÑËG¿}üùá`O|8ì ±IÇËGƒËn\üòdÓâÅÑÄqP|z¿ñÿ¢»ãƒÖßz´þ|¶×Þºz[Ðy‚ÕØ‰1œ¹—sNœ×P|ì6æm:°øãéz_ÞpÛv>øºÞò Ç>Çǃ[oÞµÉGç±;.¹‡Ã5žq0šÌ’s`¶ÆˆHAæyzAáõžèÅÓŠ“=Lùài\¼üÃæ [ü|ÃÒÃiùµ8åX-jãüŠg>ûò‹SÏ–O¸r»ÍÁ[Ìyv¿w=µÖ²õ=hýéÉ®õφ£õÇÝùoœmåâ£ÅÁ'üÌÇnžÃâ̶ÍуoÞ8pÄ=ûÆY|6ü$\sØìÆaʧë¦1Þ‡Q¤39°¹6 !iÌž³ lŒ·E…aËÏn›Ç¼`I¾ô=1ÖØ`:xãìùå3?6ÇÍ—ž/~Ò˜}öcïâ¿“Snzs ·ÍSÜY_L~g»ñÿ¢õ·Ç[ç`^kJ×Ú[gB¶sÇϘägÌWLR|c¶®|Ê/ }"æ¬Ï·\Ê“Oüs|ו»‡-œy3w9Á7/^¾Í;žŽ™}Žo~¼øŽ¿w-Y«Öû£]þ›]ëO×9kýõÅ/s<ÙèÍég®âÍÏÌøu,®‹r)~\xaËÉܸzv-Ÿ¸aqWKŇ £/><[9³%§!a æÀZI–”¢‹ˆÞN#8ø¶ðæüá`Œ‹‡„Û àðÀiÙ·yŠMOš·Hâ“mæ4ŸÐã'ôÙòeo½âaKØÍÙôŧk®µÆpéwÅŸý×øýä¶.ÿë/nçKürÐw®Œ;ÿÙg›kι$Æ0ú®ÿj›Æ>ÿéptÍ56/Žê'Þ9Ööõ£Å“ˆWüÿ³e:h(¯´IEND®B`‚././@LongLink0000000000000000000000000000015000000000000011211 Lustar 00000000000000traitsui-7.2.1/docs/source/traitsui_user_manual/testing/tutorials/images/first_test/modified-fields.pngtraitsui-7.2.1/docs/source/traitsui_user_manual/testing/tutorials/images/first_test/modified-fields.0000644000076500000240000005742214046644454034673 0ustar aayresstaff00000000000000‰PNG  IHDR §è…GiCCPICC Profile(‘c``I,(Èaa``ÈÍ+) rwRˆˆŒR`ÊÀÈÀÇ ÀÀÉ ˜\\ààT£QÁ·k@Õ@pYdÖâ—JÜsþ(Ÿá£ím_„©p¥¤'é?@œ–\PTÂÀÀ˜d+——€Ø@¶HÐQ@ö;ÂÞb'AØGÀjB‚œì@¶@rF"Ð Æ@¶N’x:j/ð¸¸úø(„™Zºp.é $µ¢D;çTe¦g”(8C)UÁ3/YOGÁÈÀÈæÕŸƒÀaÉ(¶!–¿„ÁâóD„XÒ†ím ·b*óø[¶*H,J„;€ñKqš±„ÍcÏÀÀz÷ÿÿÏ ìþNüÿÿ÷âÿÿÿ.š›á@%{ü_äA~nVeXIfMM*‡i’†D   ASCIIScreenshotxZLóÖiTXtXML:com.adobe.xmp 265 Screenshot 157 U>}T@IDATxíÝ ¼eI]ØñÓ̀Π ìq@AYÝQPPã– ¢ Š[Ô(šE#C$ÆDš¨ETÀM$&àwQ\@AÄ€ # ²«3û­×¿×Õwî[º§g虹ÿO×­ªÿ^ÿªÝsÎ}}êȱ,WRqäÈ‘E[Ñ®ÅW,7¸Á þòË/_Î9çœ]´£G.jü@­¿®';3>Yrµgºv6´cŸ¯øÖõ胟MøÚ3]›ýSÿÖþµ7þæûªÎÿú:ÒOïúú+ÇàkÆ>þÃÂÑÃ2îÅ7'3çæ„Ôæ¸Am%h0sŸÌ?üÃ?Œ ”XéM¶M†Þ’¹¶¾6=Ú ¹½ìÏx¶þþïÿþ´ì³©ä·6Ýkÿ帶ǯõ×Z7×ÁŒ ·¾þçµL¶õE-=j}ë­6žMëý°pdÅ|xî5­%A*hÎs® ž\´™¿6~zDÐl á²—žúéOÇAö èÌ_›Î½ìGVW§ýƺiü[û;¸&âoÝ­¯¿3ët}-fþ­Oëõª¬ëë 8å+ õ M9'Û©rv6ŠÖ@Е1éƒKïÌG—>šÉÌøÐÈ¥_85ÛÙ'WÉ>zZŸ_]øSµŸ²Jýü¦o¿ñóakgÞ¯éø7góúk æs}ÝÀWÒ£Ž¿ù__ñ´þfûü¨¯°EO:Õ³}ýy='7×§´IÈyuÉ™ú9…nsH_€Â“MN;péo7ŸqìVØS¢Ó¯À5™ù4û{ýôÓ±É~þeo?ûùC¦6þ|Ï:œ~`ü|…+^ÑÔ[û;ó}ºño½‘/Ƶõ÷š4¥9lŽô›ãÖ_}ó…Îæ~ëÞà°öó9ýóZ©¿9|±Ëæz}èÛ Æ ¼r Ž1|Úñ£ÍøÙQÿ×öøû2Ùoýí5ÿÆmý4~ò­áƒÖßœôê'¯]‘sðé›×~íCoíh)§€%¦~æ@‰Ê‘x£“/°èøs<^µoÔÞð†ƒW4x}2é×vû³ü&ûü3þÃØç×™¶OßÖþ5kÇ:÷ê«Hë“ÎyýÏëÏ:Þ´þgûÖhÏòðúh€­òKݘØÐ³<~´vžΘµ6)A*hÍFáAJøpY ðêç(ýpJÿ»¿û»Ñ§~|t̲ù‰g“}2ð`¶_ó•›=Ù­žíÏ“>”®>ðíe?ÙtÎchü[ûgWüÍ©uÌצõ‡¶×ü›ÏæŸõ×\Ïóßšhþã ŸÙ§ .ØË¾õFÆÒ‘Nö<Ü:x%1+Ø´)ä`‹gôz:rv2èú—¾p³ìú¦~uº²Oÿ&ûðmôm²Ï<Þü¬Î>ú~ãÇ¿É~ã/F[û;kB@ëå½¾œÎü“1†ýæ¿5ÄÆúü·¦ök =Þ|Mf^[³Ñ7Ù§cÏ+‰ŒbÒnú)UÏ}m|Œ©À¹<]xáðëãŸu£+âW¼ÙRÏöÓ×MЇîìV†5¼³]<³}ýlåSãŸ}[·¦Ð}z³??»ÕÙÚÚ?½ø‹yq¯K0¯‘újsS½:Âi·&æõ‡ÞÓ£ßüÅÇ?Öí“IKýìe£þl?^:“ ׸«ÃêãÊ×Ç)-Nm%Ðæ†µ0Zx5]éH/}ôħ_ðºLx²§¦ðG+8õñåO~Âe_Û$ÆŸ>øÙgô|Ì?8ÞÚÙ£C©?߸àÁºnúÙÆÏöÖþÎâ>Óñ?ìüÏkÄ\3GëóoîšÓæLžÿõõŸ±5>¸õùg¨éìç›6y²x”úhÉÇGoöÓþJ·SH™ÔÏ‘š1Ê@΄'W`ÔäÚêlÀãodž/»ÕìG'd Ìü³}|ÑfûpëöÙŠ·zÿ&ûtÆ~c /þ­ý[Î96Žúl‰¿9;ÌüKòMë¯uºiþ­¡Öæ<îò):ûù§­ôÆ¿nmŽñX}ÀÑ1ÓNÚ$bH ƒà,ˆ3 ÿz?ÇÓ•<|ƒhPéP§›­ìÓ²¯ÍžÄ³ýx×íÓŸí“͇äàèžíëƒÙ¾1ìeŸ®ÃÚŠW[û'6ý³1þ­Ÿæi¿ùçÿ^óo¾[ÿóܧ.ùÖë/x²ONÁƒ¿>žÚÉÍë_{¼öY}œ¸XQu!†UyNŒú³2¸œƒOí¬‹ƒ ×àõ .磫Á¹˜Ýjºòl~g?¿ÔpÙÑÇ›ý|Ê~úÕäÖí§g¶÷ ûÙÙÚ?;â?Äñs³iþáÖç¿yœçŸšæ?=­?Ilá‡+©³Ÿ>k(™jrþošoõ¼>÷²O>5¹àœœrVŸÑh%ct4€žsjt“Údõ³IFž ¼ö{Þóžåmo{ÛâÿoPÁÄëvƒ\%7ÛÅÃ6Èž><ÙWg¯ ÓM!›¯èÃl?;ù¶É~ãHÿ&ûÆ}kÿ쉿97ûÍë`}þËæ_¿µHg¹býi£ƒ÷}ß÷]Î?ÿüQ¿Ïû¼ÏîZmýY't‚pôðxZgåNöÕhÖÐøÑú.[Ü'Ž'!x ¦XMF™û)%Óàgg“QÓ7÷ÉØÞô¦7-oûÛGp.¼ðÂQg?¹t곟žì«A~j€x“CƒøÓ‘ð[û'®[â²ÿÕ·þÞõ®w\PŸwÞyË|ÀŒ5l3h½ªëk››yýZ·ðpóú7wóú×ǃ–‡GV»È¸Ý@…B»Ëºr(¬&—LN¥Oñ’?¾úñØ ÞúÖ·.ôA´¼ûÝïÞ¥ãÝÂ6×—ÈkÞp£ÝhyÍk^3¾,o~󛼜R—Cr±œ%¯´i”«xáƒò ß:oºèݽ’ 8 Q¨ަ]Âá“Wç\²Cð8_<ñ¡e¿«‡¿ú«¿Z>ð?pØ`g Ûl#°,n5þüÏÿ|¹Ýín·œ{î¹» -‰\-Ë]}ù7·‹k¸újúÊaíst%Á¼‹„«¦p„Lòpµñ(úêù^ Æ–¶+ÁðB Ûl#°9asxç;ß9êòCþ€r©/ð9—Ñå_9=ÓÊQ<µñ€dÐȬçÿ9„f”¶yDSãEGSÏ8ºÚXÔ]%$OVIoÎуߎϾëâ¯/[®xÁo-—_ò»Ë¯úÓ~Ж|äG/Gïó Ër‹÷ßWüJÄwýÕrùë~i¹ü ¿±{ËËùÈ…w_np«û-7¸íC–åÜ[_Id?Äëß}éò —þÊòkozÁò²¿ýãÁz›Üe¹ÿÍï³|Ú-¸Üæ}o¹Ÿø–¶À•"Ð/åŸ\ë× ¹?ç²¾ü›ÈG¥<„+ᯔÿ+ÄJöÄ­CÂS‚Î’ÙN“"’Ï© ¢ƒ§Ý9…®¿üË¿\nq‹[ Þ©ÍŸÇþä—ËŸù3ËÍ^ùÇË«§¾GV·(à˜ŸMW—co¾ó]–|ÎÖ#z—Í Ö°ÇÞ|Érù+ž´\øžK– n¼ºß;wGßïZé{û»–·¼ÏG.7ø¯XŽÜì#×$7w_òÖ—-?ôç?±¼äŠ—.ï{þ¹Ëû×÷ž•¾w¿ã]ËGýˆå«îðÈå£nzÍ 6`ÿøÿx,ˆ™dÑÜå.›Çøë¿þë#¦|à—ŸþéŸ^üJôà?x¿Î´ýTþ”§î+(˜f5ŒuUúÏY‰N¨3 ðÓƒæ§ÎlÆ7o"C`Ó‡+ˆÕqÛ¿xõrÃqµ°Ú?¾8²Ú0nrÞù˹+ÚëVþÀ+ W6ˆ—Ýè–›½ß-VúVŠŽ«<ïüs–ó.8yÙßüÑày¿ñÐW?ñ?1âçIwàòó_ý«U÷¤úÿý¿ÿ7øÍø+ÍÓ“žô¤å“?ù“—þà>IæÚÒñeò¿þ×ÿZ¾ök¿v¸¼iŒ×–±œŠŸ®ŒUž4§Öœœšó+½å¡>ºÍA¾yÆQþ¡Áã-WÓ©tÄ:³ú(q i£ÏI<ÓáõA0 mŽÙ¡t55¾L×\ÿxáóÇÄÉÄñ,<¶Ú Ž[nxÁMÏ[V¼ËC?s]ÃIýc¯θ‚ØÝ ¨:®n±ß­6Ýô‚åÂ7\²¼eÅ{äŽîãN¢ï+4åó>oÇF¼~Nso[ÿ$…ׂŽgWög¶ëÿo|ãåŸÿó><¿¶Žé0a—'Š<‘[å—/ѵ˱rjþ2#|ä‹>¸ÐubÌ1ª3\‚S„OæÏ@Ž¥që‹¶±^=¤Ï †ùVÂÓf¡½äê9…šu·æ!eÏ FþW9¤}¼ïAú<¤Ï &Ù“ü;ŽÇƒ÷ }ÑùãoH^ñŠWìI…þªW½jyÆ3ž16I/9%³˜¢»g—¼âüe_öeã~Öí†DMµoé?ù“?:%ݧú§/žo<ïyϼ~¦~å+_9ÚyÌcÆ-˳Ÿýìå·~ë·/?øƒ?¸»Þüæ7MäS?õSô¿ù›¿Y~äG~dèø‹¿ø‹åÇ~ìÇ–»ßýîãöÁ_>ùÉO^þöoÿv¬²/~ñ‹Çó†‡>ô¡ÃžÚX¾üË¿|l`Ö˜?³©Xcÿõ¿þ×!û•_ù•ccü?ÿçÿ,—\rɰgƒ°N¿ù›¿yù”Où”å—~é—Æ³°Æ6×sžð˜ãrH=ç:>rŠØÄÛÚÐWf¾äð(`ü„ÀÅ9÷ME2¨ÐszÆ£Ï2tf8}dáôkëŸ)8“ºÏ™òíTôÇ‹^ô¢‘üÙÿÐýÐñMî›Ø·¬„lù%³^nyË[޹õ Ó_ï­Ç'þG<âãO/ºè¢±9¹JðÝÿ'ø‚/ø‚±س!I¸{ÞóžºË}Ñ-ßömß6® $=Ä=î±ó ÖíÏw}×wÄþƒ?øƒåö·¿ýr¯{ÝkȺâ°)øÃ!Wd?ó3?s¹ë]ï:è>øŒÌëÆFjó|Ô£5üÇ{·»ÝmyÙË^¶|؇}ØðÙF§ð'ŸØ9Û¡[÷³ñË¡Mù‡¾œÆ§²ôFK¾\ÕÇ3þN"â\}ÔŸ7mÁL1%ƒhúø’C«¯ÇŽÖ”ø³oýõúwüàåØeoX<¤\<ƒ— '6¬•çãŸ_:ެx/_ù²}¿»-W¼ëUã!%ÑQZ/õWh¿t,xÐw÷ >tyÕ»^³xH¹«k“]8®ó=ï|Ï‚÷ }ɉ›Ëð’)<ù7¼á #af]·ºÕ­F¬áÈ*Ñk×O—í&7¹ÉØ¢KFW éòÿÒi-¼ño\ÞÿýßW¿gþðGÂÂ:ÒΓz<¯~õ«· uâ¶ «ô%‹'Ûáªá_ÿú×5ßó=ß“ºQßö¶·:\…üÜÏýÜØ¤<øýøÿøñWRœí Ö +rã«­+&úÚxcù¼xä#Pë£ig1 pHŸbJA„%9<'ðæ„¶]Ú ¶~¸AX}°±Ž‹¦>vÏ_Þö¬gŽ_1<¤<‘‰¨«Ž1?…âÝO‰c·¸Ïò¶K_>~ÅÏ%l°ë›ÄÑ•¾ÕO¡ÇnyŸõ}ÂMïµüáê6¯œYúd}+]1ðS(Þƒüãc€w¿ç ¾=gš$sÏL5]Ú{ÅÍ¥¾_Ÿú%Å¥<ë:è2·¾­ñ ¨t¥ïY‰ç €opt*®ûØÇÚüáö!›éF¯=×ñ±i}}ë·~ëØ¨f}xlVl¹’øÃ?üÃñ|Bœ>ò#÷óö¬ïšnË+`òK¿ü4æ9=KBÇÛæ@_€à*úð=à Kϸî@P0#”Ø6}‹jÆãÍ)ŠA› <~  Ÿþp  =™x7Õ—ÌÇ.—}З¿Ûß®TØæ6¼›t̸+>à“–¿>çÖ¿{ëÛVÎ×'"Šx®phxðβ›ÚºÙ}—?vÏåíCߎüÐ;6‡• ÞM:6áVšÆC?W ßàx?äC>dó™c³«ïÿþïþ‘ýÞïýÞå9ÏyÎx¨ë6ÇóxÎÖv9)GÍQ¹ÕØåˆ®½Îcl%>z2ô¡ò\]<Ô¡0d ³¢œDÓ3ðú ðŠ~›¼~6õM€£cO¸põö韹üųnù€WÿéÆ?¦zãï´\¾â¹bÅ»R¶§ªA¸Ñêžù¢/Y^ûçO]Þÿ °ñ©.»Á=—Ëïð%Ë+ÞƒôÝò†·X}›Ï_žòºŸZ~ÿÝ/;ù©V·® >ìŠ{,¾íç/x÷ëšç²)d¹øâ‹Ç7±{~´ŸýÙŸ÷øžÐ~1®íÛ¯.ó¿é›¾)u£ÆçÁ§Ú-€o$÷ízЃ†<â©ÅU{¦ðC?ôCã Å¥ÿ£VÏ è¸ãï8n£l"?õS?5¾ý=T•ìÉξ³gƒ¡ïGôG‡_øñ(Öš®t‰¾g÷¾÷½‡½>ð‹ Ħ†æ ³Šyy¹â}v’Våþî²å¹oúåùû;˽ã•Cì®çßyùø›|Ìòà›ßo¹ÕNñÏÆaXŒ}»×>йËÖ~çw~gü”ú/ÿå¿ m-Ø(tšÛnSÈHôoù–oY¾þë¿~ñœDßóŠMà˜Ãøž¬/þ[G›À-ß­Óu`«ÿM¹N;[ûâê¶Îm›y1v1úmÖAíÆ^ê“Q“)7µ4uüåèx&БáYA‰ß„Ìüø’Ÿ µ9Àƒî§àÉÑ©˜t5™ƒàòÕUÂåŸòiË¢l‚Cè˜Å.w•pû‡ï”™Pûõ¹Jøâ[}Î(©˜ëÃŒqæ?l»‡Šñ‹s iæÍ/uÉnæÛÔ¦SRÎüÚóï—‘™>ë9¬ïÉ´Áí¥Ï­ØDgk/Ú œ…}yOùR Ê¿6ôƇ?>¸xÒWÎÊÿh³<ú•n70”ÐX_[”‡Ç[Áç[„j2Ñ>^¥ jÖ=F¹ý¸F#à!bÏ„a‹Îåÿ™Ôy&üº6êrM¾Ônå¬<Ò.áÑåþ6m¸úxðËÓò0}l ^Lu1Kä ÂEW×O)\:⣘|@Æ&“nøô“aHßèl?®ÑøùS9“spç;ßyŒáLê¼Fƒr–+ï¸#–埾|Sàk·ƒëK¾\“trø8ýùÊ~÷v#fJ2–cbd ”ô9G‡fÇ“Lv²=„¶Ûl#°9"o䌫íòRÝ—px¹WÞQRŽõE]ݦ‚g–Á߆1þ˜ 1ƒ,Á g8…ú3!ÔñkÓÃX;\µv›ƒŸÜü4·…m¶89žçøÕG.rGr³”[å*œ¶Íe®ñ€äÕèr±Ía0¬>Æ•BI‹âœhç*™ãI&~ŽD#›#¹úÐÏQtΤƒì}ï{ßX·õð73ˆç®[(éʃd¹¢´Q”úòªüÒõµéÂ??‹èAsù_ù¬o]3+¢Ü7~B2X;~<)E«W›¬äÏA5ùte ^1€6š¡|û±o¸úÝ ×øc9 úr-oä<(åž"Õðå>:ä¼¼CÃGO9í("EJ M ; Ìåx3ª¯­úêÇŸ#è ÁÖιAÜ~l#°À•" ŸJäˆús>ê¯çŸ¾yoWòw÷ýé,ÿIÇkÌèHü©€¥xyªÿìs]«ÿQé…3‡ÿÓ[œ~þç~÷vò°²[¾÷Nʹ¥È8 ¯äF¼>> ·àÚà´áÈhãIº¼Ü=Á 3¡ˆjÌ ÙÕâÏ©hѓ×n8|³óÚtTÓýÄÕ»¿ð ¿Pó$øOÿé?Ô?•ÎK^ò’ñߟOEæÚÂûÈG>r¼òK¿ôKí²˜››-\;" ‡ú‚æq ­-?åϼ È5¥yÖø€/|PŽÏx¸ht¥$…cÆä%ZŠ2¤Ï! ÂÍr%=>CÿÚ»¼ŒÕ{ à?â#>b¼[ñ¾á–ÏùœÏ¹’æÿý¿ÿ÷xÜ¿ù7ÿfñgÄ÷¿ÿý—ŸüÉŸÜåó^‚¯øŠ¯ßÖ¾±÷¸Çÿшÿîßý»åÓ>íÓÆ­Ðçþçï¾ÒÍ;¼’Í»ÿ¥Ûíö­ïÕl6¯À·»÷7\ ¿ò+¿²½Š¸&‚}l”;Tɵr¾|SWð”ò:ùäf:Ñçü¯¯>*1S‘œ$Î(¾xjã@ À8m…}º%¬6yõ¬_öÝn8@¸Òê­F^¤ ´üÇ|$½—±âõÖ¡G=êQãukÞ9à…§ly;´ÿ†uùíßþíå³>ë³Æ;ðx9 à ¼ Öû(½CÁ¨zøÃ>þ 0úÅ_¼|ß÷}Ÿæ§[5ïŸxÀ0ü£ÜÆ8¿¢ÿ OxÂxO%>oöׯ[8{"`+òDÞ”å\y¦žó/žò9^u:ÓgÄòpÎÿq%‘@ÉȈ¤‡'At|úxÚ”xº ‹/ÝÚ9§Ÿ¾ñ/þÅrÑEí'4mW 6†þèd¾zw¢ ÁŽ|+³éíMüq…Aï&ðg¯ßùß9^Dò¯ÿõ¿c÷¦hàíÎ^èâå³®J¼ÚÝëÏßÊÞAéªFñ—£|“l^ÊâÖÀýÿ‡ø‡ÁU†Ãu¼Â{€×â;ˆçL«W6ÎìðÇ8üçÍÆèµwÀÆh£s›çõöÀ¦·…³'rEþÉù$oä‹5_©k¾ü5‚9ÇÐÉÑôµÉПŽäé?Z@%l´’» #ø)x8C† ^Æ?ë%/üÑ’9A "J`ýÙ@†Ñ£Áº8?ƒE·Î?Œ¯œÅ¿N›eÛîÚ3ßšÞ]؆F‡¤p9ïmЧbÐÙ¥|õíìô«ÓïŠtÙïY…—Öz^ÀOçB€ÿøÿãò´§=ítTo”±9¸ò§Âîúß™x]³.<3ñ滿û»7êÛ"ß{S剔áË¿háË?øyS oM“K—z=ÿwݘ H ……¢”éç…®G¤c–ÅË ¸9‰ásvoøÈÞÒ¸¬öRT÷ß~íð"W½Ø8ñÉsÏ Ö¡­ãõÝz\¼z èE®’ŽNÏ öºÌ~º<«ptB××}Ý×g*ã™…¨§ÞêÊ¡âjÁ/.Ž×ûñÕ^›„ãïÜ29Pg†…ÿiè-Ôý‚4ólÛïÝÈÊœƒyeÝ•?j<®,ÖeôË?9ˆ/Y4°žÿGVŒÇ-z—ý]º$œCx(+ákg ~tžûxëÙuP‹‡zWØ‘ós‚t¶)õþÆð‡©ÉúÞ¤÷0òë(Æ®’¶Ä™‹ù™Ô$ʱòožO_´å0|›H_ºdáù’/ÿñ*ô£‘Ñÿ ´ÁĘмà ÁãWñŃŸÃðøôs"ýh釛íëoamNŽÀœòE_-—‚r±üC/ÿº*hHN½ždÊÏÑ΀Î,H œ€>e3dŽ|Êñ§OÍiõ<(íúhñÏú·ím¶؉@ù£'ïôA99çëœÇxº hƒ€ÓNf=ÿÈG“ÿç´#©2ÆW]¦ä ~Jð«{&O¶K òxÚ<Ò?ÛÄŸ=ò[88ó/!óœ,¹å¸6D`ο²å›~9$ÿÊ7m€¯ÛG9è=~mëŸ~WÙ+Wë÷I`&R¿D†×§½Â 8|M®6>ŽÀáÏ92ÉÍŽãßÂÁð÷[¸þD@ö—²åVùWæÜÔžóM¿¼¤ ”“å»<Ä7ç»ݹ|ÈÊñ3 dnÂWú¬.çáñµSÁkèp[ØF`ý#Pžô庞¤çäG/¿Ê?<ëù·ä@:vßqiœqÛ nGÑ&K8ÊÚ4´ñè·3%“\5ÙlÁUÂâöcmv#P.AÌù'éÑÖóO.ÉÅr‹\ù§ ðD·žÿcË@H@‚3HhNxŽÁ+xñ¡ÚðÑáÓ¡Ú@ô“מƒ0·Ûl#°ùWB—góB¹TþÅ^~9oÃáUèß”ÿc“ h=¡R ñég8ŠA¼t65yt¥Óo°9=„·Ûl#°9ÿæ[†cù³)ÿʽòoy»žÿhøÒ3Žù“´)*©æP—7ëN WÂÏHíÙhá§;§gØÝÂ6Ûœˆ€üä] \þÉQ _¾•kõËWµüƒ×¦»œ/éB“£ã™†ÑYÕ³m4Æ28 S¢àK>ƒj@ÔoÃÁŸ“t¸Šgl?¶ØF`7r”Äò'@“gò§œ,—Ê1}²m&øÓ‰F_¹ W6¶v–õ„N #Ñ߇ÃçŒ:‡›ÃÑøY·ßà·õ•#ðº·YþàõG—·¼sõ­±ýaèʺŽbοѱ嶫åלƒå/œ<”«^¾ÚÔrn$þª¯ æüÃ^N^L –ðúÀQŽ9¥ð”q àø´“‡7‡á8– ½ÚÊlßNDÀñ«zâ²óeÛºÎGàÈNþ•3r©Òä_y¦ ÔmåZz›ÝÉÌWö»·˜) ЦqÂ¦à ŸúÑãI§¾v:Ó7;†¾…½#à b ×ÏYmr®üÚ”"äR…Œ<;Lþ‘Ç'§å¨öxp©Q²f.È0Áy#ˆG–žœ ÇXƒ³£áKçÜÆ>ÛÛúDÜbï¸ìÕËÍÏݹڃÇ-\·" ׂ·¿íÜå6çïü7pøhåO¹Y~ê‡SË¿ò°>ÞÖ~®³}NŒ”$—œû™n-fí’·Úðm øè„ã(>¸œæLúsl[_9ó3Äc?÷c¯Ì´Å\'#ðôŸ¿dä“’_@[ÉÏrNNi—oåw}¼åcmýr5Yüm¼-AéaG .qc&¡j8r€L ­ …ϱúhô+Ú §·°À6›#0çÝœG¸ë×É}ˆü³9”{åÿx&Á€2o ê vªâ4>µ ÔGj4@üj:読ßn6·Ûìkæú ëù§?çŸØèÅjÎ?´Mù·Wþ¯rzçÒ„1m‘’¶Í"gðíD9Ëø¬'™6tãIÖ@fûéÞÖÛl#p"åÒÕåhù?®$ %q‰,i%1|ÉܥƗŒš2¸@_OºâÓŸéðŠw$xóó¶ØF`ŽÀÎÂÕr™9ÿºÄ°À%Ißè˜õ%n '^ŠâÕípêv!ò F‹?]ìãì}õWõÒñzy>¼ß™×ep:Øÿð/ÿþßÿûå9ÏyÎnLÙ„ï¹ äÍÛàE/zÑn{ ¶§ãwXåʙ̿rz¯ü?Š ‰íW‡v“BxS‡^Ò듃SÛ´“mÓˆ_­ÌömW8ƒâº|®óCïyÏ{Ž3Amè´rCÏ’œÌõÞx=¾×ü?ïyÏSêÈ„ÚWÇ_×uÚ#ÖóO.–OåãaóO¼6åWÊJƒäÎp´6€l w€GŸb|о¢Ñt©kg·ï~à0ÛÏýÜÏ'tÝûÞ÷gCÄïü‡ô:|Æá9OzÒ“ÉIâN—(Îõø³?û³DFí,xßÂNÙvŽè·|Ë·Œ331XèϽË]î2Êã÷¸Ý×ø9öïa{Øâ€ã;ÞñŽËÇ~ìÇŽoÌöÏþÙðÃáÂNü $ð§~ê§šDv.F€ÏǧN=ÿ²/û²åþèÆUØoþæoŽñvøïéèÜÊœ]3å÷Ê¿rë üÛ˜ÿ„Kj;Ußø z`‰Fq<õ)Ë!¼³dÔxèåñ£‘™íÓ¹¼ùÍoÇÓ9dWÂ;Üö«¾ê«xðÍßüÍã~DÒ:…ÊiTßôMß´<øÁ^>á>aùéŸþé‘ ³ ~zò“?ù“ã›ØA6®qš€—]vÙ8šï{¿÷{džã˜>àœP'd9ÁÉÜÉ‘ü –ôȱ©£s2ó˜Ç ¿@|§;Ýiœ.î¬ pñÅû£s Ž t•àäô@ŒEhc[·rv°òw}×w-N=›ÁYªÆüÄÕ ãxÄ#vI6!´àk¿ökGlõŸð„'Œ+ç¤Ú sÕæäv笸Âg‘:ÕÌqŒ_üÅ_<Θ Û!AŽ*th´Ã…ÌÍõæü±fË?±(—Š‹þ^ùWÎ&£N÷œÿpåíQÆ$+¥@ gç¢DÁ¯:åj@a8ýtæ,é#?¯’}òëp³›Ýl$½ à?ð—/üÂ/,Ndc©8Þ|år÷»ß}œxäTª .¸`$Ò^§wY¤®$\©cq5ä xŽa3p…œ•jvÕõ€<`Äï’K.cv¾ªMΦâ«/çªz0éô5v]¡Ø°ö{Hjƒr5àÖÊ\Wfðbbî`üìg?{×qü±û±q•2Ÿ†>„¯'ÇŽZþY[ò6ÿöÊÿs$lÊ(®OÀ XøRãWÇÏó™ãߥ¾çÅå@\§†{ºïY„ËWW§ l|Í×|ÍøVó­êrúó>ïóNKÝE«oõûÝï~'=G9-E„ÄíQzÔ(ÎüüÏÿù?«W7’øÕÃæåji—ñ6›ŠÍÂÕˆù9ï¼ó†¿’ù-oyËÐcs«çÊÈFçT0›œ«"xóéË¡õ4ÛÑ&g“âWsg#÷œˆ}·8ÀúqÅ×Oáìô¥2®§楼#ó®^ϳb(f @V¿üS'‹Nó×óüãvE&9À7€¢ i²è ¡‘CƒOGx5ýJ:ñdß7“oÞŠ‡’]eÐoÑ^¼ºr Ô¾í]=XÜ.õÏ?ÿüÅý:¸å-o9NÒ¦'™A8àƒot¨ùæ9ƒ{ýÓ=èA‹C_}kºqéîrýe/{ÙPÇ÷§=íi§¬Úý¿s‹œùþÃÏ#žûÜçîêsµá6¯ó/n$©õùÏþIÏ!SùלڔÆ_}ScÌ„ø¶Ì°>£ ¡ÉÉdšL·ägþîsº}a½ÍAŸ¼~ŸûÜ'Õ{Ö’¿o¥M°×ÉØd,p õT¿¾Ý$Ô™>zÛÓ)cBV“½<ãwOüúó¾oÅîÿõœàQ«Û.ÏýºâA¦+ :mÒ®*Ù@æ_LŒ©5G×õžöì—,{ý¸Rt5-»²0æX.©A8ëªÛˆù*_ “o3Óô¢“¥çÈ*V´oy‰LQIŒMis¤6¾”¥°¤GKŽÓs¯ð£¹ÅX¿_ ÛÝìµIÄ`“ðk€ŸW[Ñö«ýÒàJŒü^›ï~òh{mÎÉÍt›¸Û;¿Dí×ÇMâéϾd¹pyý¸R–—ò”øm pæ^îÁÅ;÷ÅOIG2m2å&ÙÁAA‚úèmúv+‰M  ÓUÃ@ÿ ƒq¼m xÙÑWWð¦oÖ±m.~•9Upåàa°? ;Ý ‚Í3q•å–EÙ•#°zx¸û‡\“òDNrJNªƒõœ†/—Ë¿r|=ÜØŽl„@ jxÌÐ/ÁµK|ôúøƒèú6„ŒúƨÆþ<`¸-\3ðœÆ3 Ï®-0¯±k‹ÏWÕÏË/¿rþu%0ç_y%FsNÉ?üèò¯6¿jËa N§z¼™Š‚2€Y©Ÿ¸6€êxl&mpJƒ™u1ަnš}ض¯™øËÉ-œýgGø#*_Öò¬gåŸZ>É9tr]ye|ðrÄ7:«<] hï¾¾CBj 0c¤¨ÍN ôAüõá8­O>ú g|zbûq¥]Íi¯°{Ó»n¸<ùg{—gŽ÷.rÛ¸VG \1ˆ÷,ç.7¹áNΕàjùWÎáÓÂË?¼ÖHôr12ÙSÏùN†Ô€¢ Äêƒ#v&—)`^ŒàWs&`ˆ\ÎÕFצc¶‰?'Ó±­OŽÀ…ç­¾cwþûßqy÷Éämï:Ÿ»z2ð7¯#œó¯[¹#ÿä¡¢_^ÖÆ[¾ÓOŸƒ/?Çû$0#d<#„$´>ZŠªSXÒÏxí€1:@Ρ³ÙÀfûÉmë“#pÏÛì\ÝŒÝö®8Dþɳò®Zlæ„?Lþ­çÿ‰Ç£+e)niGaHØ´ü9 =oÉrªŠ¼vúÛzÿÜö¦Ç–ÜéŠå7^Mü‰=x¡-õ:ÕWêÇœ§›åî¦à”—åðx&A@’º?|’ô%u›ºË<èj8ŠñâK.™ŒÎv²•³jz¶°l·½éÉš÷—ØR¯+xá wòTþ•À66 89ägdu¹Xnï•Ñʼnœœ¦“¡?"f ŽAƒ>cÝÏ á…GÏ€6ˆ^;<>mzZöbû±À6'EàšÊ¿Mù?n7Jö9¡×“VB£ÃÇgm,Úh Ã†QA«´‘pÐM¦Mc ·Ûl#°«3ÿÊÿÝ÷IH\‰*‘kë»…hËcø ~ðpÚm¯?ÓñÏølfc[o#°À‰È Ü+Ÿæü+§Ôå_9?=sþÑ]þ‘«_þï<:+f Sª&À˜6!‡_?Ãxàç‚79x`ÃéŒ?ûƒ¸ýØF`“"PAJð3•òW–ì(6 õÈOF%,Ãj€ _«ÛÐs¸Moò”7¼ðS£á±Y ºõ³?Ûm¶Ø€Ü(_Ê'yY’6ÿè‘øÉƒt—ðѵ¡9á zÂIˆC9äTFárX“ ²9À£«>¹t%;÷“ÝÖÛl#pâùÊ¿ò¬ÜAß”ò >eÎ?ùO˜ó÷vsF %0å@;<Þ®è˜!x´Ó©NX—õlÛÛ\Ÿ# GÊ¿xÄInʧJýƒò 2tá%7\–œÚ3ÀµùÏ"è3OJÃã¥Kc,m2ÕðÑðoam®É+\%”gqmÊ¿ò®º+ïªÃÓUþ‘™a\I@âÀ”%è3ZÆðGÓ¦CRÞ0l8Ù™ícÛm¶8)å_ùyUó¯ ‡‘9ÿÒÏÆQD‰ªôßN9ß-f‚%:ÞyCH™´9àkƒ¨F£ÇfA?;Úí’;NþôîG/cË ^ð‚“™6ô~à~`œï€äuö^¥v]‚Ó9\Ù»4tæžóTÁËi½5ÜËn½ç²ƒ…èù/ÿå¿ìÆúTõ^U~g°tÊܾªzÏ6ù9Ÿæ<âgù(·äšþœ§#Ù×òVþŇ·þÀÍù?þ,2ÅŒB³>œ¾‚½M.}éAëa º~›CUãk¹y÷»ß=Þ„É™ ½Óù}á«¿¶zËóu Äå[¿õ[w*:ÌØÄÞâ8UpÖ†ÍÅ1w½ë]Ç;(Í©÷Y:ÎÀ[¿‹õ©ê¾ªüÞ“Ù@sûªê=ååŸ\QË¥ú|-ËE8tÐUƒ|E§ÃEZ)/ÑAùwüWqYXHd”YXð ÃÑÔ)n³Ð‡¿:ºñÐÙ ÕÉ¡¯ÃWg2tj×:mÛ?|¼êtÞBõã«ÒZh/~ñ‹Ç!BÞ¥éûNÝr±…«?å‘|ÔrJî(pm hñ„‡“ϲõaú@—“ã™DJ(‘áKÜv5¾dè$Ón¤_›lréB ¢ëÏú¢¦öÖçùxÀ׫åÃT{ý»çªq“¦œý´¿þë¿~Agûöì bccË«ã½"Þ3G:Ó+á½\Ö;è#!m Äã>º×Ç9Ü¢ó:ù½}¿Ã‰½²Þ!½Àkîm°ïõ2\à­Ù›ÀIh6`ãw®‡Mãw¸ÃHò™_¼œsâµþßùß9ÎHq~ [“Âlä^ï9½@2ÿå_þåîù#nÙ°éì5é\¯„äõþæÊ‘ûŤytú¼/ Gœ­°žå çü+Ùçü“›å*þMù—>òåÿQ·„ P–b¼9 §Ýæ¡Ï!…LLÜÒ:ÔÉáIgÈ•òO{=ÿä›uT–ø [Î9ÿÌC¹J8§†Cʵ•ê›;#m(úÊÌ« gpvP›­ÓN>¹!¼öá[Ö[ƒƒÎfˆï°õ|`°Äöª¾b¶o?ßz.·ù‰8ì˜DOˆçxüÄOŸ“°|»~Ï÷|Ïà‡Çï[™M‰z&`>œ8}|sn§s5ƒ×¾öµãöGrš—6ìèëµÅг1\ˆ‹ñx.l"À‰å=)רÃ6–_Žt«åˆCàxFW36+ömœn{\=8 ]œšƒ¡ìø‡“ÖlP6Þ`¿˜8 œÍ‡—Gå¾v¹¤–» œT¼ÚñÃirh­çy#Jç9& ÃŒHþŒ˜4R4´®>àÚLàèÁ |á6IDATÈéúp€nÅ&C/9´d²…g¶?„§É9/ðH5Ÿm9·ã¹*õAV·¤qNçã÷¸å‹¾è‹+vZ|­®¸ö:œØÕLàùˆÂ7¯MÊm„Û¥M`c{àê9‚« èRžìü<ȳ îÊ3WàÖ·¾õrÿûß\Mt ›€˜Øt\ÑÜùÎw3»}sJ9¿žõ¬gí{XtºªÝ:š7q~Þóž7ÎÙ/&=Jþl¬åIy*wäÊŒ+'áÊ/ãÀG®žémèñ–Çøä?]ãvA¨áºZÈ) Iñ¼Û 8Ax¼j%ÚœÐnpù }pÙî^ö¥/}éxHv¦Ÿ´‹0¾õƒŠãßÌãÀ^§jû†´™yf!±ÄÄÃ:2ÑN\…t°²Ú¡ÈNœþæ×æŒT‰¹ˆ/ÿøëªÈCGÏbæS×l6Ç>ö±ãùÌ|4ŸÛ‹g<ãC~¾"$ccøáþáq 1ûüç‹ œê،ɻõs»Aþ°1ÏÂÏ’ÌS‰ÍE¹fí€Zþ(åžàm¾å9kZ‰·ÜSÏù¿û> ‚}Û§€bú¡—Ô ÃÅ“3ðx8âƒoÚ¶]óým4uÎϸÚh¨Eà›k^´³œvþ$»W=ËtP13¿ö^ý'®îy=Íwïo <÷€Ã饗ŽoÌW¾ò•{¹u%<¹M‡+t8qqðÒæäoN<˜c·nÌ“'„‰‡[3 Ü æxç1_|ñÅcœ~²î[ÚÃC Ý3ˆõËzº¬‘.ûÍ¥_Ú$ö›ƒüœík»Í³)Ùt¿íÛ¾mèÞëÀæd«Óy¶Ôòï oxȱµ®¯ô­ÏOñËÿMù‡6ç=pôXh=R€C‡Çsdõ­pl4Vávo4À %¥è”à‡ŒÔžëtÅ›.}m`1Y,›áñ»g6§«,pcº*Gáå—obÅψ3ˆ‡É:“ .뇯ë÷ÀQì,ŒƒÀ¯K®Vî°z~rÞy«wü<°ôŒÀ/?6ŒÓ35‡‰ÉéøwuÈ´¡_rÉ%cã³fºj¨Æcî¬mÅ:ª–KúÖ¯ºœæ¯v¼øãuYuŽ•Õ1cL!| Ï œ‚'Y†ÉE׸õvü6—à.ý4–|öñmáÚ§?ýéão@WÖÿ:­u2Í\úÇ:ïvC'&¹ÍÂÕìo@ Hx²m$Ú.«9K‡M!´xôýÄæÖCkƒÁ¿6HW¶²&(d³ÆÎ¬£€Ì<Ú xð$]Ý8²¥NN›l>鳟 y}t¯=÷ñä/<~¸Jº¶öwæúTã/îs¼µéÍããâO‰GÛ<•lé˧’—nó‡ Ç£Æ'±·tXj'òt¡ñEÍÇôÀ¥ /:H=|ºÑñá· Ü‚Æd` >f}3M›r´tÀørH_[‰Ÿv2m2êpñê³ÅG¸Úه˿ì§Oòù ÆŸþôÍãGðg ®¶ Í·êÙÞèGÇØL$_ÃÅ_Ÿ^ýtÀmí>þâW슭¸¯Çž³™¿X«>ítU£Íx:ð*lÙíŒèø“Y·•îôÙHØÍ^üs?^uôôXt”胕+½;  œ"€‚DmÂèø•è’;À кàòx£©ãÍú>ö“É¿l“ÇV:ã oBè'y5¾|¥Àó™ôÕÄÕG¸bF.]h œ$_¦³·1ãGŸeZPh ú&ûѯoöÅD,×Ç_ü´ƒâSü[úÅN["™´èé¤Ç\áÓЃ’Y?d´ÉàeKŽ’OòñÓ=ûpÚ³~8¯6:˜}n­åÓx&ƒY¡ˆÓ ^µ„-0ñUãoÁÒ©á´v´tâ'Û&¯W ÒÓè¨ÿºýìeGYm€¶iüÑÔxÓaÌél~¸žÝb•_Ù¡+ûhð€®tè£ìëg¯6]-Ù­ýu¶_ü‹ù±,†#¨Ç?ÄŸR‚âm.’Q+Ùž.}@vrtjó¥¤KíxÙwÕâM?z¾¦ÕGöóÈøt©ù3ú«„Yµwã\3H¨…‹YhãÓ XMÐ⩞åà@uòtÁÑÃ~í™/=pÚëöéjÒòG=ã²WN—¾ôáÁ\ÏzgòxÉ7iõÕxñUæIAŸí£­Ûÿ ûô_í‹ 8hüñOuñnþÅ^™hµÅ¹µ OÉZ_7Ч®£óŸ®ôáÙÄG;­WòøÂÓÓ‚G‡ _<ètá9é'P V§Äà ¥]É)ô/ٹѹŽgÖ7·ÑñÓ£°¯¿IG¾á£C0j§Ž,ˆ§~¸AœèúÙËÆ:ºñÇ«žmigo®ú&ŸýboºÐ[XÚ`kÿÄ\Gu1Sõ:àM¯Rr…'“޾åÓ?Û£ŸêôéÏ<ñ†Ë76²‰'>¸ìkÏø¹ÝjëÉzÉÞäÕð«²ó ‰C‹lp¯>$Z  ŒÀ©ûæGKïq#»ŽÌ‹\[‰ï¬_[áOÐ_›_äÔøø¦Ÿµ>À“=²ÚK{æÍY:³¯OV­ìgÝ&^…|¾×_·?Û`ߥe6g¿Èª×Ç¿µòœcqY±UG/ÎsüÃU7ÿÅßD£]0ÛןiÙ'ËÐV6­ÿht’UËS¼Ž5^´lÀGƒéÓnÁñL#%!r4åpµÕ ‡æ>ðj›†š.<éDWÂÅ;ëDÇŸ´Ú³½xÐÓ¯¦Ÿ̶Еl¿ö ³ôô™ŒxñýìTÓd“‰žä³M=ÛgβÏÖþU‹¿8®Ç_޹9,þx‚xÓ¥Æ×|Íú´gÙx邟ûÙj3aßfÄ^¼øgÙô'«®  {ëcÈÆÈ¡ÕÃÂc„[ÄD„Ë m‚J¼h ÞŒ$7ÚÓâÙœ¯Ç½øÓâ.=õÕéo]á©Mºð›s@¯DèÑf]•Йž|P‡gOI¶6ÝÚÙ§‡lréæ«˜[%ãî&A ‚‘˜ Ž€šÒ’]2ç$Þ&$|2ô‘…Oïl‹œ¾ ‹¨ÓEž}uvÒ9Û'—Œ6Èþl{æa .Ñõ?=s0Å$ßg<™ô±ŸpAzõó‹ÍtÎöÑá7Ù盲µb‘Ïñǽâß|Ìñ/ŽäàÓ/þ’™>t¸ÖNIn>Í Û<âqxèGW¢¥‡,HWvÕÉ¥S?9º’Ùd?{KŸ<ÐnLGVƒÿÁËj°(W P¿¶ºà‘ñxÃ%Ï.\NÂãS³ß†Ä¯Ù·äÃÍvÐÒ[†#«héÇN;}|0n¾ Ø}%ûÅ?¹ÙV²3.ûh[û;‰w*ñ˽âoŽ‚Ús­-þ%zzšgsÚœ©áAs  )³>|l(ÚÏŒ3çìÃe?ðÎöáÁl?ðÂg¿µ„?{'ý/Œ 'P[ÄŒi+Œ0PŸB<Ž5 W=Ù£.ùG.yõœÄ³Ÿhëòú*ýÙ×èéÉf}¼_Mß׿-?ùÆC·>Z?ôg+Ùø“goÝ>™½ì£)ɧokÿø·–‹Wñ±›ç_|Íù/ÞäJJmò­C<%fzf{xgÙæ¼ydOzÕt»¢ÄÈÌ6ZOð =d¢£e?ÃÕoüðÃŽFÎA¤LR‚ŒäôìDI7¼hA}ºÙÂË!x5Ю˜òñ6Hrxò7û䣩šv¥IVƒtªáøÒ_ú]»ø¨ñ‡ON­¦Ž¦o‘…Ÿí‹AöÕùÄò`kÿš‹¿x›'°ýæÎ¼i›sÔFkîÕúæPGÝœÏúJîÖ Y%^²øÓ•Ía|ÍþìSë/¿ô[k!½ê®ìé8²ZávºÄÊ 8mJG)Î\rê’29}m@&^ýL:9ÆÞxfYüúë€ÖeðÙ§/M_Oc¬ÐM_›O#>4€†}}Ðx´Ñó'}ɨóoöÕ þuûù±µjñoŽöŠ1/þñ7/â^ÁÛšÒ–Àæ=ýÚtÔOŸÌ}¼á²ÞÚ§CI¿-]m ч²ã6²¯NƘÈZé ïîíFB¡EGQÎQ€^_Ô¯­ÏAO;SɃ'š6ûhÉdýdrº>¨®}6øÂ>ÿg½ès€É)Å¢:}°~þWÓ¥Íb nÖe“¡lvo2›ì'ßX¶öñÅo=þ̓ZüÍEñ‡K®9ÒW@²h@mÝ•¼áñ×F#ØÑžíáÃ3ÛÅ›ü¬+|4õ&ûñ±•o3.ùq%!`^Œ3.#ƒiõQ,üÈI}5ÀS2ëã›å´¢ŸMöâGÓ§àSØAç½É~úâ%ßXè˜t¤[Ý$i£ç'=AzØÐ®Ÿ/øfßò%]èML´Æ5ÛGKf“}2[û§±Ü/þæõÿæø××n in’ÏföÍ_óž.<Z2³nöèÚõÉÄ7¯Ù¾5oý]³_ú÷Õ7ì1†" hð)Vs-ÃÚzr>}øÓ;ËáSÒ‡ß7>`'Zzò²ƒyõ‘^}mþü‡GGKGãÇÇ~4|pÉWãGË ½Õù‹¿¸ÅGûxgûÅi¦e·z¶ÏFÝê­ýu»)þpsŒÅP|‹¿67ÍÕüèp34ðÚldK —^5hS˜ýœi³<}ñgŸÎÙ.úé[ßdÐùG^I~ãG+6hã/. m†0—`)† à(nPõ£‡×OnÞ´s6Þúì£ç¸>\ÀžÄ†GWšh<é„g_Í‚’®õšn¼Š¶Ò£ Ç ;meö«6yí&qÿ Ð…w?ûó¶ö1Þ/þŲøãç¿ö¬®9KÞ<‡¯­Î~k ÿz¡/m\¼’ØúÐgO:õ½6:ˆW{¦ëƒè».)Ê¡œ˜•xhx9âÕ>}ú Åž“ .ðüÙ7€qæÕ®O㈖}íݯtÎ4rú`Æë7Þ9ñ¢‡o<úìÙ?2ì‡ÓÏßj´èÕ‡±ÏæÖþ‰_”ÄnSü%UqÝ23^\‹¿4W£s¼_üÑ´š­ä´³ŸŽhÖÅ é@oÍjÃ'«]Žßõ×íãÏöõ[ÕäŠO:ެÇZ\ˆÚ•tÚÑ ž¯:ã99Á_mtPŸ<ý€>mºà³ß1Û×>È~:g[É Á³5}¯ñÇŸ>õ<þúñeCàg V³}´uûó7EzÕ•tÒ7÷ÙˆO;š:¸>Ú7æ`¯ñ[ÖÝ2ÅY\A1Å]?h^¢©Y|ëk’Íì÷Ü ™ì¤;ü¦ºyÎ~ýxõµgû­¿ìóe¼O‚A̳€ÄÁ¨N°dZ:`4ƒL_‰ŽN>Y5^E;ûøéÁ §®tЙíMö“–¬º’lãÍ®:Ñ´é ´³¯¿ºq³O6ûɪgûdÖíg“ÝÚëöéɯ­ýù:Lü›;s6Å_‚¬Ï?¾€Žæ^i®ÌÌH´ãk¥ù«f_Ûü6ÇÕÙÇ£/~…=5›Úäðh[wÙÇ›N2ñk7õ¸’ãÆ À\ÏŠz°—sêQ®ðjÄSM.þÙñÚÙÇ3ÛÏn ©N'ÞÚ³}xú€º€Ì<ƒ¸öA/µÓϤÎ×ôâUâÕŽg¶OfõgÐßdnkÿÔã/n‡‰óPüź¶9mÞKP8º•Úø³5ë3¿äâÃÒ?óÒ‡×ú«Nòó†’ýèÙOoxõlŸžì϶wŸIPfc9ÏhÉ™’\xòñÁ‡Ko¼Õðœ&æ aä¼`Í}:@ºòk¶_@²ï,×n —Ÿtµ9°¯d-€ÏìÓ.ûúÚáÉk+Ån?ûÅhkÿªÅ¿õ´_üÍÕúü› þ騆o~ãƒ3·³m2Š6èö"ýt™ïl©Ó‹–]øħ=¯­èð²Gvè_ß}é #œÉq5FÂêð9ÜÀÔ‚˜á3®N†iàpÚ%ßl+ûdàg]ùg@ôà‡¯&7Óñ gŸ]¼ÙGSôÓGG¯éWÓ?/ò ]ÙÇ›}86fûpÉl²¶µâ¯xœ‰ø›+ñÞ+þì€9þõ›Óæ?<ÞŠ9‹ŽÖcݵ~ÑøR?}êy­Ì}ú%8=᫳Ehý´þ²ßzËçlí>¸¤Ü T @ß7z|q8²d” ¢Eg\‚F£¯AvÅ2ÛoPø˜}vg;éÏ:h°-ûj:Û˜èmãÀ›làÆŸ-4€W[6㳯­äËlßø÷³wkgý]ñ÷¨ö‹¿y[ÿ˜üãóß:à[Ð|[оµdþÕúlš[ó~^tY›­|­¥ÙNú³…_iˆÎfòÙ§g}ühCÇJì:b ðJ§N[ÍÚ %¯M À§n–ƒøƒ¢_ÉåW6ç> È¥;š~ö£U³ŸlzÑæñÏG›ûÉV“K7}@– Gf“}ô­ý+®yÞÖã¨_Ü«¯Jü›×õøKÖl7óšçì·FÑé È¥¯>¹æY»õB¦q«“KWzÓ‘ýôÅh|ëöó=:ÞñÇT)€à(†“ ¼‚Þ€8𕔚ñëNÀ·ÎK —Ýl¥Km»|0û°î+žtf?þx?½3¿vãWÏ>e?]ÕéÄ ·®™wŽÿ©Ø/féªÞÚßÙdÌõéÄŸLë¥ù7—óü7gèøç9Å«Ÿýôád“1W6sI&=ø’Ï®h“ÉTÃ'’Ó†[ç%“Oãv#µ’Âypás$C3¥ žuð`æ.ššÃpôhãS´gûxà鎞ždôã©=ëL69õúø“ƒoó—Ýjúò ˆ¶©=ÛÇö³oüdþtWoíŸ^üçyØ+þ’w=þæ¡õ¤Všÿyžèæ©¶~<Ú;é /ß²?ãÈèWg ¦YfnÏöù²Ï‡Á»ô è`R Ãðph`½ž\ƒLÏzr %«A'#pÚ ‰hèAzõÑãÅüܧ»9žäážÆ¦¦#ûƒaõ¡\ýøÒ=Çm¶Ÿ®äó&ûsüãßÚßYs<®®ø›“šïl×W+óüãч—t­?ýY¾õËVòÉe?™òj½¿¾NÒEš>;ñ%¯n=áiÝWÇ¿ûŽK  ÄÌ@•-9„¦ G&y:•ô„Ÿy<˜P è¬Î69À–Ëýy°MN<ÉÏúà Fº³??Zv«á?¹Möù‚ò‡ì¦ñ§'ó3ÛÉÓµµjñ/vêâZ7­ÿ9æs›L:šs G¹ký5ÏÍ+žlÎóŸýô¬¯—d²«_®‘M¿u<ç>Ðzší“QèÉ~zvo7.É0ÌÁ›ÖFÃßÀ×NqŽÀÓ ñ§» “ ‡O»>=s›n}¾ìÍx:ágˆŸ6ûóÄÂ¥#žì';ó»ìg+ÞMöéM÷&ûéˆgkgþ‹éÕq§;Xs½n_óß|Ͼ¦-ýé¶FKr86fÈV4k!ø’Í\vÖyÑè§kÝ~ùGù“^:ƒy WŒ9†”‰¡Œ0h‘ƒÙIýôªgym &ƒ´éÊ>zúñ°Ÿ-ü3=y8cÁ¯¤>ÿ³§ŽWw}üì¼äÙJþ%Ÿýx²?ùÙ~ôäk?ý[û'ž‰åAñG?ø‹wó§ šSk²ùƒÓŽn~àßð­%ÞõñG§“\ëOl)›Ëa}QÆ2À!ƒÍZN«i°h =ê ›<>Pµ“IŸÂ>Þ|‰—Ýø³Ÿ|˜í‡g>ù ^?¼Ù·ñãŸíãÏN²9<Ù×h`kÿÄ3®æÿšŒ¿¹²ŽÌǺýæhLÔñüëóÔú£«ù¯†o µÕÍ?žÙ¾ü˾ˆ?¿áÐ7Ù‡§¬¯¿\}ìþYöìTÕ 2¬æ:G8~ôôáG„Ã;ë#—.õl_Ìüôd³6¾Ùßl‘MG¸ìç¯hüpõÑÈÄ?ëÉ>úlß$d·o¶g}ëzgûø¶ö¯¾ø‹í~ó¿ü›æ~žÿ¾Lá›Ïæ®ù×nþ[3øéJ_ôüÌ>YíòkæOžÆ°É~~¨£³ÿÿ÷>í7ô³3¦IEND®B`‚traitsui-7.2.1/docs/source/traitsui_user_manual/testing/tutorials/first_test.rst0000644000076500000240000001602014046644454031120 0ustar aayresstaff00000000000000.. _testing-tutorial-first-test: First simple test ================= Suppose we have a TraitsUI GUI application like this:: from traits.api import HasTraits, observe, Str from traitsui.api import TextEditor, Item, View class Form(HasTraits): first_name = Str() last_name = Str() full_name = Str() @observe("first_name") @observe("last_name") def _full_name_updated(self, event): self.full_name = " ".join([self.first_name, self.last_name]) view = View( Item(name="first_name"), Item(name="last_name"), Item(name="full_name", style="readonly"), ) if __name__ == "__main__": form = Form() form.configure_traits() # GUI appears .. figure:: images/first_test/init-app.png .. figure:: images/first_test/modified-fields.png As a user types in the first two text boxes, the last read only text field will be updated. A test that demonstrates this behavior will need to do the following things: #. Open the GUI #. Find the text boxes and the read only display field #. Simulate the user typing in the text boxes #. Inspect and assert the content in the read only field Step 1: Creating a GUI ---------------------- Test code can open and close the GUI using |UITester.create_ui|:: from traitsui.testing.api import UITester form = Form() tester = UITester() with tester.create_ui(form) as ui: pass Running this test, you should see the GUI being opened and closed immediately. We will use the ``ui`` (an instance of |UI|) in the next step. Step 2: Locating a UI editor ---------------------------- We need to find the text boxes in order to modify them. |UITester.find_by_name| can be used to find the editors in the UI by names. The names are simply the names used in defining |Item| in the view:: from traitsui.testing.api import UITester form = Form() tester = UITester() with tester.create_ui(form) as ui: first_name_field = tester.find_by_name(ui, "first_name") last_name_field = tester.find_by_name(ui, "last_name") full_name_field = tester.find_by_name(ui, "full_name") The ``first_name_field``, ``last_name_field`` and ``full_name_field`` are objects we can use to interact with in the test. Step 3: Perform a user interaction to modify GUI state ------------------------------------------------------ We can find the interactions supported by ``first_name_field`` using |UIWrapper.help| method:: full_name_field.help() will print something like this (abbreviated for the purpose of this section):: Interactions ------------ An object representing the user clicking a key on the keyboard. ... An object representing the user typing a sequence of keys. ... An object representing the user clicking a mouse button. ... An object representing an interaction to obtain the displayed (echoed) plain text. ... Locations --------- No locations are supported. Objects in the "Interactions" section can be used with |UIWrapper.perform| and |UIWrapper.inspect|. To simulate the text boxes being edited, we want to |UIWrapper.perform| an action that represents the user typing a sequence of keys. |KeySequence| is exactly what we need:: from traitsui.testing.api import KeySequence # ... first_name_field.perform(KeySequence("Leia")) last_name_field.perform(KeySequence("Skywalker")) Adding this to the existing test, this is what we have:: from traitsui.testing.api import KeySequence, UITester form = Form() tester = UITester() with tester.create_ui(form) as ui: first_name_field = tester.find_by_name(ui, "first_name") first_name_field.perform(KeySequence("Leia")) last_name_field = tester.find_by_name(ui, "last_name") last_name_field.perform(KeySequence("Skywalker")) We can confirm this behavior visually by setting the |UITester.delay| parameter and run the test again:: tester = UITester(delay=50) # delay in milliseconds Step 4: Inspect the GUI states as the user sees it -------------------------------------------------- To extract the displayed text in the read only field, we can use |UIWrapper.inspect| with the |DisplayedText| object:: from traitsui.testing.api import DisplayedText # ... displayed = full_name_field.inspect(DisplayedText()) assert displayed == "Leia Skywalker" Our final test -------------- .. code-block:: from traitsui.testing.api import DisplayedText, KeySequence, UITester form = Form() tester = UITester() with tester.create_ui(form) as ui: first_name_field = tester.find_by_name(ui, "first_name") first_name_field.perform(KeySequence("Leia")) last_name_field = tester.find_by_name(ui, "last_name") last_name_field.perform(KeySequence("Skywalker")) full_name_field = tester.find_by_name(ui, "full_name") displayed = full_name_field.inspect(DisplayedText()) assert displayed == "Leia Skywalker" If the application is written correctly, the test should pass. See the test capturing a bug ---------------------------- If we forgot to add the :func:`~traits.has_traits.observe` decorators:: class Form(HasTraits): first_name = Str() last_name = Str() full_name = Str() # Let's suppose we left these out: # @observe("first_name") # @observe("last_name") def _full_name_updated(self, event): self.full_name = " ".join([self.first_name, self.last_name]) view = View( Item(name="first_name"), Item(name="last_name"), Item(name="full_name", style="readonly"), ) The ``full_name`` field won't be updated in the GUI, which would be a bug. If we run the test again, we will get an assertion error: .. code-block:: bash Traceback (most recent call last): File "first-test.py", line 35, in assert displayed == "Leia Skywalker" AssertionError (If the test was written with a testing framework, more failure information on the actual value will be available.) What did we learn? ------------------ - |UITester.create_ui| makes it easy to create and dispose a |UI|. Such a minimal test makes sure the view can be initialized without errors. - |UITester.find_by_name| can be used to find the TraitsUI editor inside a UI for further interactions. - |UIWrapper.perform| can be used to mutate GUI states. - |UIWrapper.inspect| can be used to inspect GUI states. - From the output of |UIWrapper.help|, objects listed in the "Interactions" section can be used with |UIWrapper.perform| and |UIWrapper.inspect|. - The |UITester.delay| parameter can be set to a nonzero value to help with visual confirmation. .. include:: ../substitutions.rst traitsui-7.2.1/docs/source/traitsui_user_manual/testing/howtos/0000755000076500000240000000000014046644526025476 5ustar aayresstaff00000000000000traitsui-7.2.1/docs/source/traitsui_user_manual/testing/howtos/add_new_location.rst0000644000076500000240000000574514046644454031534 0ustar aayresstaff00000000000000 .. _testing-add-new-location: Add support for locating a nested GUI element ============================================= Support for |UIWrapper.locate| can be extended by registering additional location type and resolution logic via |TargetRegistry.register_location| on a |TargetRegistry|. Suppose we have a custom UI editor that contains some buttons. The objective of a test is to click a specific button with a given label. We will therefore need to locate the button with the given label before a mouse click can be performed. The test code we wanted to achieve looks like this:: container = UITester().find_by_id(ui, "some_container") button_wrapper = container.locate(LabelledButton("OK")) Define the location type ------------------------ We can define the new ``LabelledButton`` location type:: class LabelledButton: ''' Locator for locating a push button by label.''' def __init__(self, label): self.label = label Identify the target ------------------- Next, we need to know which object implements the GUI component. This is where implementation details start to come in (see :ref:`testing-target-is-protected`). We can inspect the object being wrapped:: >>> container._target >>> button_wrapper._target Implement a solver ------------------- Say ``ShinyPanel`` keeps track of the buttons with a dictionary called ``_buttons`` where the names of the buttons are the keys of the dictionary. Then the logic to retrieving a button from a label can be written like this:: def get_button(wrapper, location): """ Returns a ShinyButton from a UIWrapper wrapping ShinyPanel.""" # wrapper is an instance of UIWrapper # location is an instance of LabelledButton return wrapper.target._buttons[location.label] The solvers can then be registered for the container UI target:: registry = TargetRegistry() registry.register_location( target_class=ShinyPanel, locator_class=LabelledButton, solver=get_button, ) Similar to |TargetRegistry.register_interaction|, the signature of ``get_button`` is required by the |TargetRegistry.register_location| method. By setting the ``target_class`` and ``locator_class``, we restrict the types of ``wrapper._target`` and ``location`` received by ``get_button`` respectively. Apply it -------- Finally, we can use this registry with |UITester|:: tester = UITester(registries=[custom_registry]) If we have also added a custom ``ManyMouseClick`` interaction (see section :ref:`testing-add-new-interaction`), we can write test code like this:: container = UITester().find_by_id(ui, "some_container") button_wrapper = container.locate(LabelledButton("OK")) button_wrapper.perform(ManyMouseClick(n_times=10)) where both ``LabelledButton`` and ``ManyMouseClick`` are custom objects. .. include:: ../substitutions.rst traitsui-7.2.1/docs/source/traitsui_user_manual/testing/howtos/add_new_interaction.rst0000644000076500000240000000723714046644454032241 0ustar aayresstaff00000000000000 .. _testing-add-new-interaction: Add support for performing actions or inspecting states ======================================================= Support for |UIWrapper.perform| and |UIWrapper.inspect| can be extended by registering additional interaction type and handling logic via |TargetRegistry.register_interaction| on a |TargetRegistry|. Suppose we want to perform many mouse clicks on a UI component in a test, but instead of calling ``perform(MouseClick())`` many times in a loop like this:: my_widget = UITester().find_by_id(ui, "some_id") for _ in range(10): my_widget.perform(MouseClick()) We want to exercise the mouse click many times by invoking |UIWrapper.perform| once only:: my_widget = UITester().find_by_id(ui, "some_id") my_widget.perform(ManyMouseClick(n_times=10)) Define the interaction ---------------------- We can define this ``ManyMouseClick`` object simply like this:: class ManyMouseClick: def __init__(self, n_times): self.n_times = n_times Identify the target ------------------- Next, we need to know which object implements the GUI component. This is where implementation details start to come in (see :ref:`testing-target-is-protected`). We can inspect the object being wrapped:: >>> my_widget >>> my_widget._target The target is an instance of a ``ShinyButton`` class (made up for this document). In this object, there is an instance of Qt QPushButton widget which we want to click with the mouse:: >>> my_widget._target.control Implement a handler ------------------- So now all we need to do, is to tell |UITester| how to perform ``ManyMouseClick`` on an instance of ``ShinyButton``. We define a function to perform the mouse clicks:: def many_mouse_click(wrapper, interaction): # wrapper is an instance of UIWrapper # interaction is an instance of ManyMouseClick for _ in range(interaction.n_times): wrapper._target.control.click() Then we need to register this function with an instance of |TargetRegistry|:: from traitsui.testing.api import TargetRegistry from package.ui.qt.shiny_button import ShinyButton custom_registry = TargetRegistry() custom_registry.register_interaction( target_class=ShinyButton, interaction_class=ManyMouseClick, handler=many_mouse_click, ) The signature of ``many_mouse_click`` is required by the |TargetRegistry.register_interaction| method on |TargetRegistry|. By setting the ``target_class`` and ``interaction_class``, we restrict the types of ``wrapper._target`` and ``interaction`` received by ``many_mouse_click`` respectively. Apply it -------- Finally, we can use this registry with the |UITester|:: tester = UITester(registries=[custom_registry]) my_widget = tester.find_by_id(ui, "some_id") my_widget.perform(ManyMouseClick(n_times=10)) All the builtin testing support for TraitsUI editors are still present, but now this tester can perform the additional, custom user interaction. Inspecting states ----------------- The distinction between |UIWrapper.perform| and |UIWrapper.inspect| is merely in their returned values. We can call |UIWrapper.inspect| with the ``ManyMouseClick`` object we just created:: value = my_widget.inspect(ManyMouseClick(n_times=10)) The returned value is the value returned by ``many_mouse_click``, the handler registered for ``ManyMouseClick`` and ``ShinyButton``. In this case, the value is ``None``. .. include:: ../substitutions.rst traitsui-7.2.1/docs/source/traitsui_user_manual/tips.rst0000644000076500000240000000520314046644454024207 0ustar aayresstaff00000000000000 .. _tips-tricks-and-gotchas: ======================== Tips, Tricks and Gotchas ======================== Getting and Setting Model View Elements --------------------------------------- For some applications, it can be necessary to retrieve or manipulate the View objects associated with a given model object. The HasTraits class defines two methods for this purpose: trait_views() and trait_view(). .. _trait-views: trait_views() ````````````` The trait_views() method, when called without arguments, returns a list containing the names of all Views defined in the object's class. For example, if **sam** is an object of type SimpleEmployee3 (from :ref:`Example 6 `), the method call ``sam.trait_views()`` returns the list ``['all_view', 'traits_view']``. Alternatively, a call to :samp:`trait_views({view_element_type})` returns a list of all named instances of class *view_element_type* defined in the object's class. The possible values of *view_element_type* are: - :term:`View` - :term:`Group` - :term:`Item` - :term:`ViewElement` - ViewSubElement Thus calling ``trait_views(View)`` is identical to calling ``trait_views()``. Note that the call ``sam.trait_views(Group)`` returns an empty list, even though both of the Views defined in SimpleEmployee contain Groups. This is because only *named* elements are returned by the method. Group and Item are both subclasses of ViewSubElement, while ViewSubElement and View are both subclasses of ViewElement. Thus, a call to ``trait_views(ViewSubElement)`` returns a list of named Items and Groups, while ``trait_views(ViewElement)`` returns a list of named Items, Groups and Views. trait_view() ```````````` The trait_view() method is used for three distinct purposes: - To retrieve the default View associated with an object - To retrieve a particular named ViewElement (i.e., Item, Group or View) - To define a new named ViewElement For example: - ``obj.trait_view()`` returns the default View associated with object *obj*. For example, ``sam.trait_view()`` returns the View object called ``traits_view``. Note that unlike trait_views(), trait_view() returns the View itself, not its name. - ``obj.trait_view('my_view')`` returns the view element named ``my_view`` (or None if ``my_view`` is not defined). - ``obj.trait_view('my_group', Group('a', 'b'))`` defines a Group with the name ``my_group``. Note that although this Group can be retrieved using ``trait_view()``, its name does not appear in the list returned by ``traits_view(Group)``. This is because ``my_group`` is associated with *obj* itself, rather than with its class. traitsui-7.2.1/docs/source/traitsui_user_manual/predefined_traits.rst0000644000076500000240000001562014046644454026727 0ustar aayresstaff00000000000000.. _editor-factories-for-predefined-traits: =================================================== Appendix II: Editor Factories for Predefined Traits =================================================== Predefined traits that are not listed in this table use TextEditor() by default, and have no other appropriate editor factories. +-------------+----------------------------+-----------------------------------+ |Trait |Default Editor Factory |Other Possible Editor Factories | +=============+============================+===================================+ |Any |TextEditor |EnumEditor, ImageEnumEditor, | | | |ValueEditor | +-------------+----------------------------+-----------------------------------+ |Array |ArrayEditor (for 2-D arrays)| | +-------------+----------------------------+-----------------------------------+ |Bool |BooleanEditor |ThemedCheckboxEditor | +-------------+----------------------------+-----------------------------------+ |Button |ButtonEditor | | +-------------+----------------------------+-----------------------------------+ |CArray |ArrayEditor (for 2-D arrays)| | +-------------+----------------------------+-----------------------------------+ |CBool |BooleanEditor | | +-------------+----------------------------+-----------------------------------+ |CComplex |TextEditor | | +-------------+----------------------------+-----------------------------------+ |CFloat, CInt,|TextEditor |LEDEditor | |CLong | | | +-------------+----------------------------+-----------------------------------+ |Code |CodeEditor | | +-------------+----------------------------+-----------------------------------+ |Color |ColorEditor | | +-------------+----------------------------+-----------------------------------+ |Complex |TextEditor | | +-------------+----------------------------+-----------------------------------+ |CStr, |TextEditor (multi_line=True)|CodeEditor, HTMLEditor | |CUnicode | | | +-------------+----------------------------+-----------------------------------+ |Dict |TextEditor |ValueEditor | +-------------+----------------------------+-----------------------------------+ |Directory |DirectoryEditor | | +-------------+----------------------------+-----------------------------------+ |Enum |EnumEditor |ImageEnumEditor | +-------------+----------------------------+-----------------------------------+ |Event |(none) |ButtonEditor, ToolbarButtonEditor | +-------------+----------------------------+-----------------------------------+ |File |FileEditor |AnimatedGIFEditor | +-------------+----------------------------+-----------------------------------+ |Float |TextEditor |LEDEditor | +-------------+----------------------------+-----------------------------------+ |Font |FontEditor | | +-------------+----------------------------+-----------------------------------+ |HTML |HTMLEditor | | +-------------+----------------------------+-----------------------------------+ |Instance |InstanceEditor |TreeEditor, DropEditor, DNDEditor, | | | |ValueEditor | +-------------+----------------------------+-----------------------------------+ |List |TableEditor for lists of |CSVListEditor, CheckListEditor, | | |HasTraits objects; |SetEditor, ValueEditor, | | |ListEditor for all other |ThemedVerticalNotebookEditor | | |lists. | | +-------------+----------------------------+-----------------------------------+ |Long |TextEditor |LEDEditor | +-------------+----------------------------+-----------------------------------+ |Password |TextEditor(password=True) | | +-------------+----------------------------+-----------------------------------+ |PythonValue |ShellEditor | | +-------------+----------------------------+-----------------------------------+ |Range |RangeEditor |ThemedSliderEditor | +-------------+----------------------------+-----------------------------------+ |Regex |TextEditor |CodeEditor | +-------------+----------------------------+-----------------------------------+ |RGBColor |RGBColorEditor | | +-------------+----------------------------+-----------------------------------+ |Str |TextEditor(multi_line=True) |CodeEditor, HTMLEditor | +-------------+----------------------------+-----------------------------------+ |String |TextEditor |CodeEditor, ThemedTextEditor | +-------------+----------------------------+-----------------------------------+ |This |InstanceEditor | | +-------------+----------------------------+-----------------------------------+ |ToolbarButton|ButtonEditor | | +-------------+----------------------------+-----------------------------------+ |Tuple |TupleEditor | | +-------------+----------------------------+-----------------------------------+ |UIDebugger |ButtonEditor (button calls | | | |the UIDebugEditor factory) | | +-------------+----------------------------+-----------------------------------+ |Unicode |TextEditor(multi_line=True) |HTMLEditor | +-------------+----------------------------+-----------------------------------+ |WeakRef |InstanceEditor | | +-------------+----------------------------+-----------------------------------+ traitsui-7.2.1/docs/source/traitsui_user_manual/examples/0000755000076500000240000000000014046644526024314 5ustar aayresstaff00000000000000traitsui-7.2.1/docs/source/traitsui_user_manual/examples/mixed_styles.py0000644000076500000240000000226414046644454027403 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! # mixed_styles.py -- Example of using editor styles at various levels from traits.api import Enum, HasTraits, Str from traitsui.api import Group, Item, View class MixedStyles(HasTraits): first_name = Str() last_name = Str() department = Enum("Business", "Research", "Admin") position_type = Enum("Full-Time", "Part-Time", "Contract") traits_view = View( Group( Item(name='first_name'), Item(name='last_name'), Group( Item(name='department'), Item(name='position_type', style='custom'), style='simple', ), ), title='Mixed Styles', style='readonly', ) ms = MixedStyles(first_name='Sam', last_name='Smith') ms.configure_traits() traitsui-7.2.1/docs/source/traitsui_user_manual/examples/default_traits_view.py0000644000076500000240000000176414046644454030742 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! # default_traits_view.py -- Sample code to demonstrate the use of 'traits_view' from traits.api import HasTraits, Int, Str from traitsui.api import Group, Item, View class SimpleEmployee2(HasTraits): first_name = Str() last_name = Str() department = Str() employee_number = Str() salary = Int() traits_view = View( Group( Item(name='first_name'), Item(name='last_name'), Item(name='department'), label='Personnel profile', show_border=True, ), ) sam = SimpleEmployee2() sam.configure_traits() traitsui-7.2.1/docs/source/traitsui_user_manual/examples/configure_traits_view_group.py0000644000076500000240000000172614046644454032511 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! # configure_traits_view_group.py -- Sample code to demonstrate # configure_traits() from traits.api import HasTraits, Int, Str from traitsui.api import Group, Item, View class SimpleEmployee(HasTraits): first_name = Str() last_name = Str() department = Str() employee_number = Str() salary = Int() view1 = View( Group( Item(name='first_name'), Item(name='last_name'), Item(name='department'), label='Personnel profile', show_border=True, ), ) sam = SimpleEmployee() sam.configure_traits(view=view1) traitsui-7.2.1/docs/source/traitsui_user_manual/examples/array_editor.py0000644000076500000240000000222714046644454027355 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! # array_editor.py -- Example of using array editors import numpy as np from traits.api import Array, HasPrivateTraits from traitsui.api import ArrayEditor, Item, View from traitsui.menu import NoButtons class ArrayEditorTest(HasPrivateTraits): three = Array(np.int, (3, 3)) four = Array( np.float, (4, 4), editor=ArrayEditor(width=-50), ) view = View( Item('three', label='3x3 Integer'), '_', Item('three', label='Integer Read-only', style='readonly'), '_', Item('four', label='4x4 Float'), '_', Item('four', label='Float Read-only', style='readonly'), buttons=NoButtons, resizable=True, ) if __name__ == '__main__': ArrayEditorTest().configure_traits() traitsui-7.2.1/docs/source/traitsui_user_manual/examples/handler_override.py0000644000076500000240000000223014046644454030177 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! # handler_override.py -- Example of a Handler that overrides setattr(), and # that has a user interface notification method from traits.api import Bool, HasTraits from traitsui.api import Handler, View class TC_Handler(Handler): def setattr(self, info, object, name, value): Handler.setattr(self, info, object, name, value) info.object._updated = True def object__updated_changed(self, info): if info.initialized: info.ui.title += "*" class TestClass(HasTraits): b1 = Bool() b2 = Bool() b3 = Bool() _updated = Bool(False) view1 = View( 'b1', 'b2', 'b3', title="Alter Title", handler=TC_Handler(), buttons=['OK', 'Cancel'], ) tc = TestClass() tc.configure_traits(view=view1) traitsui-7.2.1/docs/source/traitsui_user_manual/examples/configure_traits_view_buttons.py0000644000076500000240000000166414046644454033054 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! # configure_traits_view_buttons.py -- Sample code to demonstrate # configure_traits() from traits.api import HasTraits, Str, Int from traitsui.api import CancelButton, Item, OKButton, View class SimpleEmployee(HasTraits): first_name = Str() last_name = Str() department = Str() employee_number = Str() salary = Int() view1 = View( Item(name='first_name'), Item(name='last_name'), Item(name='department'), buttons=[OKButton, CancelButton], ) sam = SimpleEmployee() sam.configure_traits(view=view1) traitsui-7.2.1/docs/source/traitsui_user_manual/examples/key_bindings.py0000644000076500000240000000400214046644454027327 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! # key_bindings.py -- Example of a code editor with a key bindings editor from traits.api import Button, Code, HasPrivateTraits, Str from traitsui.api import Group, Handler, Item, View from traitsui.key_bindings import KeyBinding, KeyBindings key_bindings = KeyBindings( KeyBinding( binding1='Ctrl-s', description='Save to a file', method_name='save_file', ), KeyBinding( binding1='Ctrl-r', description='Run script', method_name='run_script', ), KeyBinding( binding1='Ctrl-k', description='Edit key bindings', method_name='edit_bindings', ), ) class CodeHandler(Handler): """ Handler class for bound methods. """ def save_file(self, info): info.object.status = "save file" def run_script(self, info): info.object.status = "run script" def edit_bindings(self, info): info.object.status = "edit bindings" key_bindings.edit_traits() class KBCodeExample(HasPrivateTraits): code = Code() status = Str() kb = Button(label='Edit Key Bindings') view = View( Group( Item('code', style='custom', resizable=True), Item('status', style='readonly'), 'kb', orientation='vertical', show_labels=False, ), id='KBCodeExample', key_bindings=key_bindings, title='Code Editor With Key Bindings', resizable=True, handler=CodeHandler(), ) def _kb_fired(self, event): key_bindings.edit_traits() if __name__ == '__main__': KBCodeExample().configure_traits() traitsui-7.2.1/docs/source/traitsui_user_manual/examples/default_traits_view2.py0000644000076500000240000000207714046644454031022 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! # default_traits_view2.py -- Sample code to demonstrate the use of # 'default_traits_view' from traits.api import HasTraits, Str, Int from traitsui.api import View, Item, Group class SimpleEmployee2(HasTraits): first_name = Str() last_name = Str() department = Str() employee_number = Str() salary = Int() def default_traits_view(self): return View( Group( Item(name='first_name'), Item(name='last_name'), Item(name='department'), label='Personnel profile', show_border=True, ), ) sam = SimpleEmployee2() sam.configure_traits() traitsui-7.2.1/docs/source/traitsui_user_manual/examples/instance_editor_selection.py0000644000076500000240000000327714046644454032116 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! # instance_editor_selection.py -- Example of an instance editor with instance # selection from traits.api import HasStrictTraits, Instance, Int, List, Regex, Str from traitsui.api import InstanceEditor, Item, View class Person(HasStrictTraits): name = Str() age = Int() phone = Regex(value='000-0000', regex=r'\d\d\d[-]\d\d\d\d') traits_view = View('name', 'age', 'phone') people = [ Person(name='Dave', age=39, phone='555-1212'), Person(name='Mike', age=28, phone='555-3526'), Person(name='Joe', age=34, phone='555-6943'), Person(name='Tom', age=22, phone='555-7586'), Person(name='Dick', age=63, phone='555-3895'), Person(name='Harry', age=46, phone='555-3285'), Person(name='Sally', age=43, phone='555-8797'), Person(name='Fields', age=31, phone='555-3547'), ] class Team(HasStrictTraits): name = Str() captain = Instance(Person) roster = List(Person) traits_view = View( Item('name'), Item('_'), Item( 'captain', label='Team Captain', editor=InstanceEditor(name='roster', editable=True), style='custom', ), buttons=['OK'], ) if __name__ == '__main__': team = Team(name='Vultures', captain=people[0], roster=people) team.configure_traits() traitsui-7.2.1/docs/source/traitsui_user_manual/examples/tree_editor.py0000644000076500000240000001147014046644454027176 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! # tree_editor.py -- Example of a tree editor from traits.api import HasTraits, Instance, List, Str, Regex from traitsui.api import ( Action, Group, Handler, HGroup, Item, Menu, Separator, TreeEditor, TreeNode, View, VSplit, ) from traitsui.editors.tree_editor import ( NewAction, CopyAction, CutAction, PasteAction, DeleteAction, RenameAction, ) class Employee(HasTraits): name = Str('') title = Str() phone = Regex(regex=r'\d\d\d-\d\d\d\d') def default_title(self): self.title = 'Senior Engineer' class Department(HasTraits): name = Str('') employees = List(Employee) class Company(HasTraits): name = Str('') departments = List(Department) employees = List(Employee) class Owner(HasTraits): name = Str('') company = Instance(Company) jason = Employee(name='Jason', title='Engineer', phone='536-1057') mike = Employee(name='Mike', title='Sr. Marketing Analyst', phone='536-1057') dave = Employee(name='Dave', title='Sr. Engineer', phone='536-1057') susan = Employee(name='Susan', title='Engineer', phone='536-1057') betty = Employee(name='Betty', title='Marketing Analyst') owner = Owner( name='wile', company=Company( name='Acme Labs, Inc.', departments=[ Department(name='Marketing', employees=[mike, betty]), Department(name='Engineering', employees=[dave, susan, jason]), ], employees=[dave, susan, mike, betty, jason], ), ) # View for objects that aren't edited no_view = View() # Actions used by tree editor context menu def_title_action = Action(name='Default title', action='object.default') dept_action = Action( name='Department', action='handler.employee_department(editor,object)', ) # View used by tree editor employee_view = View( VSplit( HGroup('3', 'name'), HGroup('9', 'title'), HGroup('phone'), id='vsplit', ), id='traits.doc.example.treeeditor', dock='vertical', ) class TreeHandler(Handler): def employee_department(self, editor, object): dept = editor.get_parent(object) print(f'{object.name} works in the {dept.name} department.') tree_editor = TreeEditor( nodes=[ TreeNode( node_for=[Company], auto_open=True, children='', label='name', view=View(Group('name', orientation='vertical', show_left=True)), ), TreeNode( node_for=[Company], auto_open=True, children='departments', label='=Departments', view=no_view, add=[Department], ), TreeNode( node_for=[Company], auto_open=True, children='employees', label='=Employees', view=no_view, add=[Employee], ), TreeNode( node_for=[Department], auto_open=True, children='employees', label='name', menu=Menu( NewAction, Separator(), DeleteAction, Separator(), RenameAction, Separator(), CopyAction, CutAction, PasteAction, ), view=View(Group('name', orientation='vertical', show_left=True)), add=[Employee], ), TreeNode( node_for=[Employee], auto_open=True, label='name', menu=Menu( NewAction, Separator(), def_title_action, dept_action, Separator(), CopyAction, CutAction, PasteAction, Separator(), DeleteAction, Separator(), RenameAction, ), view=employee_view, ), ], ) # The main view view = View( Group( Item(name='company', id='company', editor=tree_editor, resizable=True), orientation='vertical', show_labels=True, show_left=True, ), title='Company Structure', id='traitsui.tests.tree_editor_test', dock='horizontal', drop_class=HasTraits, handler=TreeHandler(), buttons=['Undo', 'OK', 'Cancel'], resizable=True, width=.3, height=.3, ) if __name__ == '__main__': owner.configure_traits(view=view) traitsui-7.2.1/docs/source/traitsui_user_manual/examples/multiple_views.py0000644000076500000240000000252114046644454027736 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! # multiple_views.py -- Sample code to demonstrate the use of multiple views from traits.api import HasTraits, Str, Int from traitsui.api import View, Item, Group class SimpleEmployee3(HasTraits): first_name = Str() last_name = Str() department = Str() employee_number = Str() salary = Int() traits_view = View( Group( Item(name='first_name'), Item(name='last_name'), Item(name='department'), label='Personnel profile', show_border=True, ), ) all_view = View( Group( Item(name='first_name'), Item(name='last_name'), Item(name='department'), Item(name='employee_number'), Item(name='salary'), label='Personnel database entry', show_border=True, ), ) sam = SimpleEmployee3() sam.configure_traits() sam.configure_traits(view='all_view') traitsui-7.2.1/docs/source/traitsui_user_manual/examples/wizard.py0000644000076500000240000000211014046644454026160 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! # wizard.py -- Example of a traits-based wizard UI from traits.api import HasTraits, Str from traits.etsconfig.api import ETSConfig from traitsui.api import Item, View, VGroup class Person(HasTraits): first_name = Str() last_name = Str() company = Str() position = Str() view = View( VGroup(Item("first_name"), Item("last_name")), VGroup(Item("company"), Item("position")), ) person = Person( first_name='Postman', last_name='Pat', company="Enthought", position="Software Developer", ) if ETSConfig.toolkit == "wx": # Wizard window is currently only available for wx backend. person.configure_traits(kind='wizard') traitsui-7.2.1/docs/source/traitsui_user_manual/examples/default_trait_editors.py0000644000076500000240000000172614046644454031254 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! # default_trait_editors.py -- Example of using default trait editors from traits.api import Bool, HasTraits, Range, Str from traitsui.api import Item, View class Adult(HasTraits): first_name = Str() last_name = Str() age = Range(21, 99) registered_voter = Bool() traits_view = View( Item(name='first_name'), Item(name='last_name'), Item(name='age'), Item(name='registered_voter'), ) alice = Adult( first_name='Alice', last_name='Smith', age=42, registered_voter=True, ) alice.configure_traits() traitsui-7.2.1/docs/source/traitsui_user_manual/examples/configure_traits_view.py0000644000076500000240000000155314046644454031273 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! # configure_traits_view.py -- Sample code to demonstrate configure_traits() from traits.api import HasTraits, Int, Str from traitsui.api import Item, View class SimpleEmployee(HasTraits): first_name = Str() last_name = Str() department = Str() employee_number = Str() salary = Int() view1 = View( Item(name='first_name'), Item(name='last_name'), Item(name='department'), ) sam = SimpleEmployee() sam.configure_traits(view=view1) traitsui-7.2.1/docs/source/traitsui_user_manual/examples/multi_object_view.py0000644000076500000240000000310014046644454030372 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! # multi_object_view.py -- Sample code to show multi-object view with context from traits.api import Bool, HasTraits, Int, Str from traitsui.api import Group, Item, View class House(HasTraits): address = Str() bedrooms = Int() pool = Bool() price = Int() # View object designed to display two objects of class 'House' comp_view = View( Group( Group( Item('h1.address', resizable=True), Item('h1.bedrooms'), Item('h1.pool'), Item('h1.price'), show_border=True, ), Group( Item('h2.address', resizable=True), Item('h2.bedrooms'), Item('h2.pool'), Item('h2.price'), show_border=True, ), orientation='horizontal', ), title='House Comparison', ) # A pair of houses to demonstrate the View house1 = House( address='4743 Dudley Lane', bedrooms=3, pool=False, price=150000, ) house2 = House( address='11604 Autumn Ridge', bedrooms=3, pool=True, price=200000, ) # ...And the actual display command house1.configure_traits(view=comp_view, context={'h1': house1, 'h2': house2}) traitsui-7.2.1/docs/source/traitsui_user_manual/examples/enum_editor.py0000644000076500000240000000204114046644454027175 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! # enum_editor.py -- Example of using an enumeration editor from traits.api import Enum, HasTraits from traitsui.api import EnumEditor, Item, View class EnumExample(HasTraits): priority = Enum('Medium', 'Highest', 'High', 'Low', 'Lowest') view = View( Item( name='priority', editor=EnumEditor( values={ 'Highest': '1:Highest', 'High': '2:High', 'Medium': '3:Medium', 'Low': '4:Low', 'Lowest': '5:Lowest', } ), ), ) EnumExample().configure_traits() traitsui-7.2.1/docs/source/traitsui_user_manual/scripts/0000755000076500000240000000000014046644526024165 5ustar aayresstaff00000000000000traitsui-7.2.1/docs/source/traitsui_user_manual/scripts/regenerate_example_screenshots.py0000644000076500000240000001053214046644454033014 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! """ Run this script to regenerate the screenshots for the various editors used on the "The Predefined Trait Editor Factories" and "Advanced Trait Editors" pages of the documentation. Note: This script assumes it is being run from the traitsui root directory. ie. one should run `python docs/source/traitsui_user_manual/scripts/regenerate_example_screenshots.py` """ import contextlib import os from unittest import mock from functools import partialmethod import pkg_resources from traits.api import HasTraits from traitsui.testing.api import UITester # Demo files are part of the package data. DEMO = pkg_resources.resource_filename("traitsui", "examples/demo") def _is_python_file(path): """ Return true if the given path is (public) non-test Python file.""" _, basename = os.path.split(path) _, ext = os.path.splitext(basename) return ( ext == ".py" and not basename.startswith("_") and not basename.startswith("test_") ) def get_python_files(directory): """ Report Python files to be run or to be skipped. Returns ------- accepted_files : list of str Python file paths to be run and screenshotted. """ accepted_files = [] for root, _, files in os.walk(directory): for filename in files: path = os.path.abspath(os.path.join(root, filename)) if not _is_python_file(path): continue accepted_files.append(path) # Avoid arbitrary ordering from the OS return sorted(accepted_files) def get_editor_example_filees(python_files): Editor_demo_files = [] for filename in python_files: if filename.endswith('Editor_demo.py'): Editor_demo_files.append(filename) return Editor_demo_files def replaced_configure_traits( instance, filename=None, view=None, kind=None, edit=True, context=None, handler=None, id="", scrollable=None, screenshot_name=None, **args, ): """ Mocked configure_traits to launch then close the GUI. """ ui_kwargs = dict( view=view, parent=None, kind="live", context=context, handler=handler, id=id, scrollable=scrollable, **args, ) with UITester().create_ui(instance, ui_kwargs) as ui: ui_pixmap = ui.control.grab() ui_pixmap.save( os.path.join( "docs", "source", "traitsui_user_manual", "images", screenshot_name ) ) @contextlib.contextmanager def replace_configure_traits(screenshot_name): """ Context manager to temporarily replace HasTraits.configure_traits with a mocked version such that GUI launched are closed soon after they are open. """ original_func = HasTraits.configure_traits HasTraits.configure_traits = partialmethod( replaced_configure_traits, screenshot_name=screenshot_name ) try: yield finally: HasTraits.configure_traits = original_func def run_file(file_path): """ Execute a given Python file. Parameters ---------- file_path : str File path to be run to retrieve screenshot. """ demo_name = os.path.basename(file_path) screenshot_name = demo_name.split('.')[0] + '.png' with open(file_path, "r", encoding="utf-8") as f: content = f.read() globals = { "__name__": "__main__", "__file__": file_path, } with replace_configure_traits(screenshot_name), \ mock.patch("sys.argv", [file_path]): # Mock argv: Some example reads sys.argv to allow more arguments # But all examples should support being run without additional # arguments. exec(content, globals) def main(): py_files = get_python_files(DEMO) example_files = get_editor_example_filees(py_files) for filename in example_files: run_file(filename) if __name__ == '__main__': main() traitsui-7.2.1/docs/source/traitsui_user_manual/factories_advanced_extra.rst0000644000076500000240000012700214046644454030241 0ustar aayresstaff00000000000000 .. _advanced-trait-editors: Advanced Trait Editors ---------------------- The editor factories described in the following sections are more advanced than those in the previous section. In some cases, they require writing additional code; in others, the editors they generate are intended for use in complex user interfaces, in conjunction with other editors. CustomEditor() `````````````` :Suitable for: Special cases :Default for: (none) :Required parameters: *factory* :Optional parameters: *args* Use CustomEditor() to create an "editor" that is a non-Traits-based custom control. The *factory* parameter must be a function that generates the custom control. The function must have the following signature: factory_function(*window_parent*, *editor*[, \*\ *args*, \*\*\ *kwargs*]) - *window_parent*: The parent window for the control - *editor*: The editor object created by CustomEditor() Additional arguments, if any, can be passed as a tuple in the *args* parameter of CustomEditor(). DropEditor() ```````````` :Suitable for: Instance traits :Default for: (none) :Optional parameters: *binding*, *klass*, *readonly* DropEditor() generates an editor that is a text field containing a string representation of the trait attribute's value. The user can change the value assigned to the attribute by dragging and dropping an object on the text field, for example, a node from a tree editor (See :ref:`treeeditor`). If the *readonly* parameter is True (the default), the user cannot modify the value by typing in the text field. You can restrict the class of objects that can be dropped on the editor by specifying the *klass* parameter. You can specify that the dropped object must be a binding (enthought.naming.api.Binding) by setting the *binding* parameter to True. If so, the bound object is retrieved and checked to see if it can be assigned to the trait attribute. If the dropped object (or the bound object associated with it) has a method named drop_editor_value(), it is called to obtain the value to assign to the trait attribute. Similarly, if the object has a method named drop_editor_update(), it is called to update the value displayed in the text editor. This method requires one parameter, which is the GUI control for the text editor. DNDEditor() ``````````` :Suitable for: Instance traits :Default for: (none) :Optional parameters: *drag_target, drop_target, image* DNDEditor() generates an editor that represents a file or a HasTraits instance as an image that supports dragging and dropping. Depending on the editor style, the editor can be a *drag source* (the user can set the value of the trait attribute by dragging a file or object onto the editor, for example, from a tree editor), or *drop target* (the user can drag from the editor onto another target). .. _drag-and-drop-editor-style-variations-table: .. rubric:: Table 9: Drag-and-drop editor style variations ============ ============ ============ Editor Style Drag Source? Drop Target? ============ ============ ============ Simple Yes Yes Custom No Yes Read-only Yes No ============ ============ ============ KeyBindingEditor() `````````````````` The KeyBindingEditor() factory differs from other trait editor factories because it generates an editor, not for a single attribute, but for an object of a particular class, traitsui.key_bindings.KeyBindings. A KeyBindings object is a list of bindings between key codes and handler methods. You can specify a KeyBindings object as an attribute of a View. When the user presses a key while a View has input focus, the user interface searches the View for a KeyBindings that contains a binding that corresponds to the key press; if such a binding does not exist on the View, it searches enclosing Views in order, and uses the first matching binding, if any. If it does not find any matching bindings, it ignores the key press. A key binding editor is a separate :term:`dialog box` that displays the string representation of each key code and a description of the corresponding method. The user can click a text box, and then press a key or key combination to associate that key press with a method. .. figure:: images/key_binding_editor.jpg :alt: Dialog box with fields for key presses corresponding to operations Figure 50: Key binding editor dialog box The following code example creates a user interface containing a code editor with associated key bindings, and a button that invokes the key binding editor. .. _example-17-code-editor-with-key-binding-editor: .. rubric:: Example 17: Code editor with key binding editor .. literalinclude:: examples/key_bindings.py :start-at: key_bindings.py .. _tableeditor: TableEditor() ````````````` :Suitable for: List(*InstanceType*) :Default for: (none) :Required parameters: *columns* or *columns_name* :Optional parameters: See *Traits API Reference*, traitsui.wx.table_editor.ToolkitEditorFactory attributes. TableEditor() generates an editor that displays instances in a list as rows in a table, with attributes of the instances as values in columns. You must specify the columns in the table. Optionally, you can provide filters for filtering the set of displayed items, and you can specify a wide variety of options for interacting with and formatting the table. .. figure:: images/TableEditor_demo.png :alt: Table editor with toolbar and instance editor Figure 51: Table editor To see the code that results in Figure 51, refer to :file:`TableEditor_demo.py` in the :file:`demos/TraitsUI Demo/Standard Editors` subdirectory of the Traits UI package. This example demonstrates object columns, expression columns, filters, searching, and adding and deleting rows. The parameters for TableEditor() can be grouped in several broad categories, described in the following sections. - :ref:`specifying-columns` - :ref:`managing-items` - :ref:`editing-the-table` - :ref:`defining-the-layout` - :ref:`table-defining-the-format` - :ref:`other-user-interactions` .. _specifying-columns: Specifying Columns :::::::::::::::::: You must provide the TableEditor() factory with a list of columns for the table. You can specify this list directly, as the value of the *columns* parameter, or indirectly, in an extended context attribute referenced by the *columns_name* parameter. The items in the list must be instances of traitsui.api.TableColumn, or of a subclass of TableColumn. Some subclasses of TableColumn that are provided by the TraitsUI package include ObjectColumn, ListColumn, NumericColumn, ExpressionColumn, CheckboxColumn and ProgressColumn. (See the *Traits API Reference* for details about these classes.) In practice, most columns are derived from one of these subclasses, rather than from TableColumn. For the usual case of editing trait attributes on objects in the list, use ObjectColumn. You must specify the *name* parameter to the ObjectColumn() constructor, referencing the name of the trait attribute to be edited. You can specify additional columns that are not initially displayed using the *other_columns* parameter. If the *configurable* parameter is True (the default), a :guilabel:`Set user preferences for table` icon (|preferences_icon|) appears on the table's toolbar. When the user clicks this icon, a dialog box opens that enables the user to select and order the columns displayed in the table, as shown in Figure 52. (The dialog box is implemented using a set editor; see :ref:`seteditor`.) Any columns that were specified in the *other_columns* parameter are listed in the left list box of this dialog box, and can be displayed by moving them into the right list box. .. |preferences_icon| image:: images/table_prefs.png .. figure:: images/table_column_selection.jpg :alt: Dialog box with two list boxes for selecting column names Figure 52: Column selection dialog box for a table editor .. _managing-items: Managing Items :::::::::::::: Table editors support several mechanisms to help users locate items of interest. .. _organizing-items: Organizing Items ~~~~~~~~~~~~~~~~ Table editors provide two mechanisms for the user to organize the contents of a table: sorting and reordering. The user can sort the items based on the values in a column, or the user can manually order the items. Usually, only one of these mechanisms is used in any particular table, although the TraitsUI package does not enforce a separation. If the user has manually ordered the items, sorting them would throw away that effort. If the *reorderable* parameter is True, :guilabel:`Move up` (|move_up_icon|) and :guilabel:`Move down` (|move_down_icon|) icons appear in the table toolbar. Clicking one of these icons changes the position of the selected item. .. |move_up_icon| image:: images/move_up_icon.png .. |move_down_icon| image:: images/move_down_icon.png If the *sortable* parameter is True (the default), then the user can sort the items in the table based on the values in a column by Control-clicking the header of that column. - On the first click, the items are sorted in ascending order. The characters :guilabel:`>>` appear in the column header to indicate that the table is sorted ascending on this column's values. - On the second click, the items are sorted descending order. The characters :guilabel:`<<` appear in the column header to indicate that the table is sorted descending on this column's values. - On the third click, the items are restored to their original order, and the column header is undecorated. If the *sort_model* parameter is true, the items in the list being edited are sorted when the table is sorted. The default value is False, in which case, the list order is not affected by sorting the table. If *sortable* is True and *sort_model* is False, then a :guilabel:`Do not sort columns` icon (|no_sort_icon|) appears in the table toolbar. Clicking this icon restores the original sort order. .. |no_sort_icon| image:: images/no_sort_icon.png If the *reverse* parameter is True, then the items in the underlying list are maintained in the reverse order of the items in the table (regardless of whether the table is sortable or reorderable). .. _filtering-and-searching: Filtering and Searching ~~~~~~~~~~~~~~~~~~~~~~~ You can provide an option for the user to apply a filter to a table, so that only items that pass the filter are displayed. This feature can be very useful when dealing with lengthy lists. You can specify a filter to apply to the table either directly, or via another trait. Table filters must be instances of traitsui.api.TableFilter, or of a subclass of TableFilter. Some subclasses of TableFilter that are provided by the TraitsUI package include EvalTableFilter, RuleTableFilter, and MenuTableFilter. (See the *Traits API Reference* for details about these classes.) The TraitsUI package also provides instances of these filter classes as "templates", which cannot be edited or deleted, but which can be used as models for creating new filters. .. TODO: Provide more detail on how these filters work. The *filter* parameter specifies a filter that is applied to the table when it is first displayed. The *filter_name* parameter specifies an extended trait name for a trait that is either a table filter object or a callable that accepts an object and returns True if the object passes the filter criteria, or false if it does not. You can use *filter_name* to embed a view of a table filter in the same view as its table. You can specify use the *filters* parameter to specify a list of table filters that are available to apply to a table. When *filters* is specified, a drop-down list box appears in the table toolbar, containing the filters that are available for the user to apply. When the user selects a filter, it is automatically applied to the table. A status message to the right of the filters list indicates what subset of the items in the table is currently displayed. A special item in the filter list, named :guilabel:`Customize`, is always provided; clicking this item opens a dialog box that enables the user to create new filters, or to edit or delete existing filters (except templates). You can also provide an option for the user to use filters to search the table. If you set the *search* parameter to an instance of TableFilter (or of a subclass), a :guilabel:`Search table` icon (|search_table_icon|) appears on the table toolbar. Clicking this icon opens a :guilabel:`Search for` dialog box, which enables the user to specify filter criteria, to browse through matching items, or select all matching items. .. |search_table_icon| image:: images/search_table_icon.png .. TODO: Add a screenshot of the dialog when it actually works .. _interacting-with-items: Interacting with Items ~~~~~~~~~~~~~~~~~~~~~~ As the user clicks in the table, you may wish to enable certain program behavior. The value of the *selection_mode* parameter specifies how the user can make selections in the grid: - ``cell``: A single cell at a time - ``cells``: Multiple cells - ``column``: A single column at a time - ``columns``: Multiple columns - ``row``: A single row at a time - ``rows``: Multiple rows You can use the *selected* parameter to specify the name of a trait attribute in the current context to synchronize with the user's current selection. For example, you can enable or disable menu items or toolbar icons depending on which item is selected. The synchronization is two-way; you can set the attribute referenced by *selected* to force the table to select a particular item. You can use the *selected_indices* parameter to specify the name of a trait attribute in the current context to synchronize with the indices of the table editor selection. The content of the selection depends on the *selection_mode* value: - ``cell``: The selection is a tuple of the form (*object*, *column_name*), where *object* is the object contains the selected cell, and *column_name* is the name of the column the cell is in. If there is no selection, the tuple is (None, ''). - ``cells``: The selection is a list of tuples of the form (*object*, *column_name*), with one tuple for each selected cell, in order from top to bottom and left to right. If there is no selection, the list is empty. - ``column``: The selection is the name of the selected column, or the empty string if there is no selection. - ``columns``: The selection is a list containing the names of the selected columns, in order from left to right. If there is no selection, the list is empty. - ``row``: The selection is either the selected object or None if nothing is selected in the table. - ``rows``: The selection is a list of the selected objects, in ascending row order. If there is no selection, the list is empty. The *on_select* and *on_dclick* parameters are callables to invoke when the user selects or double-clicks an item, respectively. You can define a shortcut menu that opens when the user right-clicks an item. Use the *menu* parameter to specify a TraitsUI or Pyface Menu, containing Action objects for the menu commands. .. _editing-the-table: Editing the Table ::::::::::::::::: The Boolean *editable* parameter controls whether the table or its items can be modified in any way. This parameter defaults to True, except when the style is 'readonly'. Even when the table as a whole is editable, you can control whether individual columns are editable through the **editable** attribute of TableColumn. .. _adding-items: Adding Items ~~~~~~~~~~~~ To enable users to add items to the table, specify as the *row_factory* parameter a callable that generates an object that can be added to the list in the table; for example, the class of the objects in the table. When *row_factory* is specified, an :guilabel:`Insert new item` icon (|insert_item_icon|) appears in the table toolbar, which generates a new row in the table. Optionally, you can use *row_factory_args* and *row_factory_kw* to specify positional and keyword arguments to the row factory callable. .. |insert_item_icon| image:: images/insert_item_icon.png To save users the trouble of mousing to the toolbar, you can enable them to add an item by selecting the last row in the table. To do this, set *auto_add* to True. In this case, the last row is blank until the user sets values. Pressing Enter creates the new item and generates a new, blank last row. .. deleting-items: Deleting Items ~~~~~~~~~~~~~~ The *deletable* parameter controls whether items can be deleted from the table. This parameter can be a Boolean (defaulting to False) or a callable; the callable must take an item as an argument and handle deleting it. If *deletable* is not False, a :guilabel:`Delete current item` icon (|delete_item_icon|) appears on the table toolbar; clicking it deletes the item corresponding to the row that is selected in the table. .. |delete_item_icon| image:: images/delete_item_icon.png .. _modifying-items: Modifying Items ~~~~~~~~~~~~~~~ The user can modify items in two ways. - For columns that are editable, the user can change an item's value directly in the table. The editor used for each attribute in the table is the simple style of editor for the corresponding trait. - Alternatively, you can specify a View for editing instances, using the *edit_view* parameter. The resulting user interface appears in a :term:`subpanel` to the right or below the table (depending on the *orientation* parameter). You can specify a handler to use with the view, using *edit_view_handler*. You can also specify the subpanel's height and width, with *edit_view_height* and *edit_view_width*. .. _defining-the-layout: Defining the Layout ::::::::::::::::::: Some of the parameters for the TableEditor() factory affect global aspects of the display of the table. - *auto_size*: If True, the cells of the table automatically adjust to the optimal size based on their contents. - *orientation*: The layout of the table relative to its associated editor pane. Can be 'horizontal' or 'vertical'. - *rows*: The number of visible rows in the table. - *show_column_labels*: If True (the default), displays labels for the columns. You can specify the labels to use in the column definitions; otherwise, a "user friendly" version of the trait attribute name is used. - *show_toolbar*: If False, the table toolbar is not displayed, regardless of whether other settings would normally create a toolbar. The default is True. .. _table-defining-the-format: Defining the Format ::::::::::::::::::: The TableEditor() factory supports a variety of parameters to control the visual formatting of the table, such as colors, fonts, and sizes for lines, cells, and labels. For details, refer to the *Traits API Reference*, traitsui.wx.table_editor.ToolkitEditorFactory attributes. You can also specify formatting options for individual table columns when you define them. .. _other-user-interactions: Other User Interactions ::::::::::::::::::::::: The table editor supports additional types of user interaction besides those controlled by the factory parameters. - Column dragging: The user can reorganize the column layout of a table editor by clicking and dragging a column label to its new location. If you have enabled user preferences for the view and table editor (by specifying view and item IDs), the new column layout is persisted across user sessions. - Column resizing: The user can resize a column by dragging the column separator (in one of the data rows) to a new position. Because of the column-dragging support, clicking the column separator in the column label row does not work. - Data dragging: The user can drag the contents of any cell by clicking and dragging. TabularEditor() ``````````````` :Suitable for: lists, arrays, and other large sequences of objects :Default for: (none) :Required parameters: *adapter* :Optional parameters: *activated, clicked, column_clicked, dclicked, drag_move, editable,* *horizontal_lines, images, multi_select, operations, right_clicked,* *right_dclicked, scroll_to_position_hint, selected, selected_row, *show_titles, vertical_lines* The TabularEditor() factory can be used for many of the same purposes as the TableEditor() factory, that is, for displaying a table of attributes of lists or arrays of objects. While similar in function, the tabular editor has advantages and disadvantages relative to the table editor. .. _tabular-advantages: Advantages :::::::::: - **Very fast**: The tabular editor uses a virtual model, which accesses data from the underlying model only as needed. For example, if you have a million-element array, but can display only 50 rows at a time, the editor requests only 50 elements of data at a time. - **Very flexible data model**: The editor uses an adapter model to interface with the underlying data. This strategy allows it to easily deal with many types of data representation, from list of objects, to arrays of numbers, to tuples of tuples, and many other formats. - **Supports useful data operations**, including: - Moving the selection up and down using the keyboard arrow keys. - Moving rows up and down using the keyboard. - Inserting and deleting items using the keyboard. - Initiating editing of items using the keyboard. - Dragging and dropping of table items to and from the editor, including support for both copy and move operations for single and multiple items. - **Visually appealing**: The tabular editor, in general, uses the underlying operating system's native table or grid control, and as a result often looks better than the control used by the table editor. - **Supports displaying text and images in any cell**. However, the images displayed must be all the same size for optimal results. .. _tabular-disadvantages: Disadvantages ::::::::::::: - **Not as full-featured**: The table editor includes support for arbitrary data filters, searches, and different types of sorting. These differences may narrow as features are added to the tabular editor. - **Limited data editing capabilities**: The tabular editor supports editing only textual values, whereas the table editor supports a wide variety of column editors, and can be extended with more as needed. This is due to limitations of the underlying native control used by the tabular editor. .. _tabularadapter: TabularAdapter :::::::::::::: The tabular editor works in conjunction with an adapter class, derived from TabularAdapter. The tabular adapter interfaces between the tabular editor and the data being displayed. The tabular adapter is the reason for the flexibility and power of the tabular editor to display a wide variety of data. For more detailed information about the TabularAdapter class please see :ref:`advanced-tabular-adapter`. The most important attribute of TabularAdapter is **columns**, which is list of columns to be displayed. Each entry in the **columns** list can be either a string, or a tuple consisting of a string and another value, which can be of any type. The string is used as the label for the column. The second value in the tuple, called the *column ID*, identifies the column to the adapter. It is typically a trait attribute name or an integer index, but it can be any value appropriate to the adapter. If only a string is specified for an entry, then the index of the entry within the **columns** list is used as that entry's column ID. Attributes on TabularAdapter control the appearance of items, and aspects of interaction with items, such as whether they can be edited, and how they respond to dragging and dropping. Setting any of these attributes on the adapter subclass sets the global behavior for the editor. Refer to the *Traits API Reference* for details of the available attributes. You can also specify these attributes for a specific class or column ID, or combination of class and column ID. When the TabularAdapter needs to look up the value of one of its attributes for a specific item in the table, it looks for attributes with the following naming conventions in the following order: #. *classname_columnid_attribute* #. *classname_attribute* #. *columnid_attribute* #. *attribute* For example, to find the **text_color** value for an item whose class is Person and whose column ID is 'age', the get_text_color() method looks for the following attributes in sequence, and returns the first value it finds: #. **Person_age_text_color** #. **Person_text_color** #. **age_text_color** #. **text_color** Note that the *classname* can be the name of a base class, searched in the method resolution order (MRO) for the item's class. So for example, if the item were a direct instance of Employee, which is a subclass of Person, then the **Person_age_text_color** attribute would apply to that item (as long as there were no **Employee_age_text_color** attribute). .. _the-tabular-editor-user-interface: The Tabular Editor User Interface ::::::::::::::::::::::::::::::::: Figure 53 shows an example of a tabular editor on Microsoft Windows, displaying information about source files in the Traits package. This example includes a column that contains an image for files that meet certain conditions. .. figure:: images/tabular_editor.jpg :alt: Tabular editor with columns for file name, size, an icon, time, and date Figure 53: Tabular editor on MS Windows Depending on how the tabular editor is configured, certain keyboard interactions may be available. For some interactions, you must specify that the corresponding operation is allowed by including the operation name in the *operations* list parameter of TabularEditor(). - :kbd:`Up arrow`: Selects the row above the currently selected row. - :kbd:`Down arrow`: Selects the row below the currently selected row. - :kbd:`Page down`: Appends a new item to the end of the list ('append' operation). - :kbd:`Left arrow`: Moves the currently selected row up one line ('move' operation). - :kbd:`Right arrow`: Moves the currently selected row down one line ('move' operation). - :kbd:`Backspace, Delete`: Deletes from the list all items in the current selection ('delete' operation). - :kbd:`Enter, Escape`: Initiates editing on the current selection ('edit' operation). - :kbd:`Insert:`: Inserts a new item before the current selection ('insert' operation). The 'append', 'move', 'edit', and 'insert' operations can occur only when a single item is selected. The 'delete' operation works for one or more items selected. Depending on how the editor and adapter are specified, drag and drop operations may be available. If the user selects multiple items and drags one of them, all selected items are included in the drag operation. If the user drags a non-selected item, only that item is dragged. The editor supports both "drag-move" and "drag-copy" semantics. A drag-move operation means that the dragged items are sent to the target and are removed from the list displayed in the editor. A drag-copy operation means that the dragged items are sent to the target, but are not deleted from the list data. .. _treeeditor: TreeEditor() ```````````` :Suitable for: Instance :Default for: (none) :Required parameters: *nodes* (required except for shared editors; see :ref:`editing-objects`) :Optional parameters: *auto_open, editable, editor, hide_root, icon_size, lines_mode,* *on_dclick, on_select, orientation, selected, shared_editor, show_icons* TreeEditor() generates a hierarchical tree control, consisting of nodes. It is useful for cases where objects contain lists of other objects. The tree control is displayed in one pane of the editor, and a user interface for the selected object is displayed in the other pane. The layout orientation of the tree and the object editor is determined by the *orientation* parameter of TreeEditor(), which can be 'horizontal' or 'vertical'. You must specify the types of nodes that can appear in the tree using the *nodes* parameter, which must be a list of instances of TreeNode (or of subclasses of TreeNode). .. figure:: images/TreeEditor_demo.png :alt: Tree control with instance editor pane Figure 54: Tree editor The following example shows the code that produces the editor shown in Figure 54. .. _example-18-code-for-example-tree-editor: .. rubric:: Example 18: Code for example tree editor .. literalinclude:: examples/tree_editor.py :start-at: tree_editor.py .. _defining-nodes: Defining Nodes :::::::::::::: For details on the attributes of the TreeNode class, refer to the *Traits API Reference*. More information about the TreeNode class is also available in :ref:`advanced-tree-node`. You must specify the classes whose instances the node type applies to. Use the **node_for** attribute of TreeNode to specify a list of classes; often, this list contains only one class. You can have more than one node type that applies to a particular class; in this case, each object of that class is represented by multiple nodes, one for each applicable node type. In Figure 54, one Company object is represented by the nodes labeled "Acme Labs, Inc.", "Departments", and "Employees". .. _a-node-type-without-children: A Node Type without Children ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ To define a node type without children, set the **children** attribute of TreeNode to the empty string. In Example 16, the following lines define the node type for the node that displays the company name, with no children:: TreeNode( node_for=[Company], auto_open=True, children='', label='name', view=View( Group( 'name', orientation='vertical', show_left=True, ), ), ) .. _a-node-type-with-children: A Node Type with Children ~~~~~~~~~~~~~~~~~~~~~~~~~ To define a node type that has children, set the **children** attribute of TreeNode to the (extended) name of a trait on the object that it is a node for; the named trait contains a list of the node's children. In Example 16, the following lines define the node type for the node that contains the departments of a company. The node type is for instances of Company, and 'departments' is a trait attribute of Company. :: TreeNode( node_for=[Company], auto_open=True, children='departments', label='=Departments', view=no_view, add=[Department], ) .. _setting-the-label-of-a-tree-node: Setting the Label of a Tree Node ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ The **label** attribute of Tree Node can work in either of two ways: as a trait attribute name, or as a literal string. If the value is a simple string, it is interpreted as the extended trait name of an attribute on the object that the node is for, whose value is used as the label. This approach is used in the code snippet in :ref:`a-node-type-without-children`. If the value is a string that begins with an equals sign ('='), the rest of the string is used as the literal label. This approach is used in the code snippet in :ref:`a-node-type-with-children`. You can also specify a callable to format the label of the node, using the **formatter** attribute of TreeNode. .. _defining-operations-on-nodes: Defining Operations on Nodes :::::::::::::::::::::::::::: You can use various attributes of TreeNode to define operations or behavior of nodes. .. _shortcut-menus-on-nodes: Shortcut Menus on Nodes ~~~~~~~~~~~~~~~~~~~~~~~ Use the **menu** attribute of TreeNode to define a shortcut menu that opens when the user right-clicks on a node. The value is a TraitsUI or Pyface menu containing Action objects for the menu commands. In Example 16, the following lines define the node type for employees, including a shortcut menu for employee nodes:: TreeNode( node_for=[Department], auto_open=True, children='employees', label='name', menu=Menu( NewAction, Separator(), DeleteAction, Separator(), RenameAction, Separator(), CopyAction, CutAction, PasteAction, ), view=View( Group( 'name', orientation='vertical', show_left=True, ), ), add=[Employee], ), .. _allowing-the-hierarchy-to-be-modified: Allowing the Hierarchy to Be Modified ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ If a node contains children, you can allow objects to be added to its set of children, through operations such as dragging and dropping, copying and pasting, or creating new objects. Two attributes control these operations: **add** and **move**. Both are lists of classes. The **add** attribute contains classes that can be added by any means, including creation. The code snippet in the preceding section includes an example of the **add** attribute. The **move** attribute contains classes that can be dragged and dropped, but not created. The **move** attribute need not be specified if all classes that can be moved can also be created (and therefore are specified in the **add** value). .. NOTE:: The **add** attribute alone is not enough to create objects. Specifying the **add** attribute makes it possible for objects of the specified classes to be created, but by itself, it does not provide a way for the user to do so. In the code snippet in the preceding section (:ref:`shortcut-menus-on-nodes`), 'NewAction' in the Menu constructor call defines a :menuselection:`New > Employee` menu item that creates Employee objects. In the example tree editor, users can create new employees using the :menuselection:`New > Employee` shortcut menu item, and they can drag an employee node and drop it on a department node. The corresponding object becomes a member of the appropriate list. You can specify the label that appears on the :menuselection:`New` submenu when adding a particular type of object, using the **name** attribute of TreeNode. Note that you set this attribute on the tree node type that will be *added* by the menu item, not the node type that *contains* the menu item. For example, to change :menuselection:`New > Employee` to :menuselection:`New > Worker`, set ``name = 'Worker'`` on the tree node whose **node_for** value contains Employee. If this attribute is not set, the class name is used. You can determine whether a node or its children can be copied, renamed, or deleted, by setting the following attributes on TreeNode: ============= ================= ============ Attribute If True, the ... can be\ ... ============= ================= ============ **copy** object's children copied. **delete** object's children deleted. **delete_me** object deleted. **rename** object's children renamed. **rename_me** object renamed. ============= ================= ============ All of these attributes default to True. As with **add**, you must also define actions to perform these operations. .. _behavior-on-nodes: Behavior on Nodes ~~~~~~~~~~~~~~~~~ As the user clicks in the tree, you may wish to enable certain program behavior. You can use the *selected* parameter to specify the name of a trait attribute on the current context object to synchronize with the user's current selection. For example, you can enable or disable menu items or toolbar icons depending on which node is selected. The synchronization is two-way; you can set the attribute referenced by *selected* to force the tree to select a particular node. The *on_select* and *on_dclick* parameters are callables to invoke when the user selects or double-clicks a node, respectively. .. _expanding-and-collapsing-nodes: Expanding and Collapsing Nodes ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ You can control some aspects of expanding and collapsing of nodes in the tree. The integer *auto_open* parameter of TreeEditor() determines how many levels are expanded below the root node, when the tree is first displayed. For example, if *auto_open* is 2, then two levels below the root node are displayed (whether or not the root node itself is displayed, which is determined by *hide_root*). The Boolean **auto_open** attribute of TreeNode determines whether nodes of that type are expanded when they are displayed (at any time, not just on initial display of the tree). For example, suppose that a tree editor has *auto_open* setting of 2, and contains a tree node at level 3 whose **auto_open** attribute is True. The nodes at level 3 are not displayed initially, but when the user expands a level 2 node, displaying the level 3 node, that's nodes children are automatically displayed also. Similarly, the number of levels of nodes initially displayed can be greater than specified by the tree editor's *auto_open* setting, if some of the nodes have **auto_open** set to True. If the **auto_close** attribute of TreeNode is set to True, then when a node is expanded, any siblings of that node are automatically closed. In other words, only one node of this type can be expanded at a time. .. _editing-objects: Editing Objects ~~~~~~~~~~~~~~~ One pane of the tree editor displays a user interface for editing the object that is selected in the tree. You can specify a View to use for each node type using the **view** attribute of TreeNode. If you do not specify a view, then the default view for the object is displayed. To suppress the editor pane, set the *editable* parameter of TreeEditor() to False; in this case, the objects represented by the nodes can still be modified by other means, such as shortcut menu commands. You can define multiple tree editors that share a single editor pane. Each tree editor has its own tree pane. Each time the user selects a different node in any of the sharing tree controls, the editor pane updates to display the user interface for the selected object. To establish this relationship, do the following: #. Call TreeEditor() with the *shared_editor* parameter set to True, without defining any tree nodes. The object this call returns defines the shared editor pane. For example:: my_shared_editor_pane = TreeEditor(shared_editor=True) #. For each editor that uses the shared editor pane: - Set the *shared_editor* parameter of TreeEditor() to True. - Set the editor parameter of TreeEditor() to the object returned in Step 1. For example:: shared_tree_1 = TreeEditor( shared_editor=True, editor=my_shared_editor_pane, nodes=[ TreeNode(...), ], ) shared_tree_2 = TreeEditor( shared_editor=True, editor=my_shared_editor_pane, nodes=[ TreeNode(...), ], ) .. _tree-defining-the-format: Defining the Format ::::::::::::::::::: Several parameters to TreeEditor() affect the formatting of the tree control: - *show_icons*: If True (the default), icons are displayed for the nodes in the tree. - *icon_size*: A two-integer tuple indicating the size of the icons for the nodes. - *lines_mode*: Determines whether lines are displayed between related nodes. The valid values are 'on', 'off', and 'appearance' (the default). When set to 'appearance', lines are displayed except on Posix-based platforms. - *hide_root*: If True, the root node in the hierarchy is not displayed. If this parameter were specified as True in Example 16, the node in Figure 54 that is labeled "Acme Labs, Inc." would not appear. Additionally, several attributes of TreeNode also affect the display of the tree: - **icon_path**: A directory path to search for icon files. This path can be relative to the module it is used in. - **icon_item**: The icon for a leaf node. - **icon_open**: The icon for a node with children whose children are displayed. - **icon_group**: The icon for a node with children whose children are not displayed. The wxWidgets implementation automatically detects the bitmap format of the icon. ArrayViewEditor() ````````````````` :Suitable for: 2-D Array, 2-D CArray :Default for: (none) :Optional parameters: *format, show_index, titles, transpose* ArrayViewEditor() generates a tabular display for an array. It is suitable for use with large arrays, which do not work well with the editors generated by ArrayEditor(). All styles of the editor have the same appearance. .. figure:: images/array_view_editor.jpg :alt: Tabular display of numeric data, with columns Index, x, y, and z Figure 55: Array view editor DataFrameEditor() ````````````````` :Suitable for: Pandas DataFrames :Default for: (none) :Optional parameters: *formats, show_index, show_titles, columns, fonts, selected, selected_row, selectable, activated, activated_row, clicked, dclicked, right_clicked, right_dclicked, column_clicked, column_right_clicked, editable, operations* DataFrameEditor() generates a tabular display for a DataFrame. It is suitable for use with large DataFrames. All styles of the editor have the same appearance. Many of the optional parameters are identical to those of the TabularEditor(). The following have special meaning for the DataFrameEditor(): - **formats**: either a %-style formatting string for all entries, or a dictonary mapping DataFrame columns to formatting strings. - **show_index**: whether or not to show the index as a column in the table. - **show_titles**: whether or not to show column headers on the table. - **fonts**: either a font for all entries, or a mapping of column id to fonts. DefaultOverride() ````````````````` :Suitable for: (any) :Default for: (none) The DefaultOverride() is a factory that takes the trait's default editor and customizes it with the specified parameters. This is useful when a trait defines a default editor using some of its data, e.g. Range or Enum, and you want to tweak some of the other parameters without having recreate that data. For example, the default editor for Range(low=0, high=1500) has '1500' as the upper label. To change it to 'Max' instead, use:: View(Item('my_range', editor=DefaultOverride(high_label='Max')) VideoEditor() ````````````` VideoEditor() is a display-only video editor. Note that this editor is only available on Qt at the moment. Please see :ref:`TraitsUI Demos ` for a demo. .. note:: Depending on your operating system, you might have to install external codecs to get the VideoEditor working. On Windows, you will need to install DirectShow filters (such as those available in the K-Lite Codec Pack) in order to play most video formats when using EDM to install Qt5. This is because the EDM build of Qt5 is built to use `DirectShow `_, not `WMF `_. On MacOS, the video editor will work as expected as long as the video format is `supported `_ by the `AVFoundation `_. On Linux, `GStreamer `_ needs to be installed. See the `Qt Multimedia Backends Wiki `_ page for full information. .. note:: The VideoEditor is new and still under active development. As such, the API of the editor might change in future releases. .. _extra-trait-editor-factories: "Extra" Trait Editor Factories ------------------------------ The traitsui.wx package defines a few editor factories that are specific to the wxWidgets toolkit, some of which are also specific to the Microsoft Windows platform. These editor factories are not necessarily implemented for other GUI toolkits or other operating system platforms. AnimatedGIFEditor() ``````````````````` :Suitable for: File :Default for: (none) :Optional parameters: *playing* AnimatedGIFEditor() generates a display of the contents of an animated GIF image file. The Boolean *playing* parameter determines whether the image is animated or static. traitsui-7.2.1/docs/source/traitsui_user_manual/glossary.rst0000644000076500000240000001733414046644454025103 0ustar aayresstaff00000000000000 .. _glossary-of-terms: ============================= Appendix I: Glossary of Terms ============================= .. glossary:: attribute An element of data that is associated with all instances of a given class, and is named at the class level. [19]_ In most cases, attributes are stored and assigned separately for each instance (for the exception, see :term:`class attribute`). Synonyms include "data member" and "instance variable". class attribute An element of data that is associated with a class, and is named at the class level. There is only one value for a class attribute, associated with the class itself. In contrast, for an instance :term:`attribute`, there is a value associated with every instance of a class. command button A button on a window that globally controls the window. Examples include :guilabel:`OK`, :guilabel:`Cancel`, :guilabel:`Apply`, :guilabel:`Revert`, and :guilabel:`Help`. controller The element of the :term:`MVC` ("model-view-controller") design pattern that manages the transfer of information between the data :term:`model` and the :term:`view` used to observe and edit it. dialog box A secondary window whose purpose is for a user to specify additional information when entering a command. editor A user interface component for editing the value of a trait attribute. Each type of trait has a default editor, but you can override this selection with one of a number of editor factories provided by the TraitsUI package. In some cases an editor can include multiple widgets, e.g., a slider and a text box for a Range trait attribute. editor factory An instance of the Traits class EditorFactory. Editor factories generate the actual widgets used in a user interface. You can use an editor factory without knowing what the underlying GUI toolkit is. factory An object used to produce other objects at run time without necessarily assigning them to named variables or attributes. A single factory is often parameterized to produce instances of different classes as needed. Group An object that specifies an ordered set of Items and other Groups for display in a TraitsUI View. Various display options can be specified by means of attributes of this class, including a border, a group label, and the orientation of elements within the Group. An instance of the TraitsUI class Group. Handler A TraitsUI object that implements GUI logic (data manipulation and dynamic window behavior) for one or more user interface windows. A Handler instance fills the role of :term:`controller` in the MVC design pattern. An instance of the TraitsUI class :term:`Handler`. HasTraits A class defined in the Traits package to specify objects whose attributes are typed. That is, any attribute of a HasTraits subclass can be a :term:`trait attribute`. instance A concrete entity belonging to an abstract category such as a class. In object-oriented programming terminology, an entity with allocated memory storage whose structure and behavior are defined by the class to which it belongs. Often called an :term:`object`. Item A non-subdividable element of a Traits user interface specification (View), usually specifying the display options to be used for a single trait attribute. An instance of the TraitsUI class Item. live A term used to describe a window that is linked directly to the underlying model data, so that changes to data in the interface are reflected immediately in the model. A window that is not live displays and manipulates a copy of the model data until the user confirms any changes. livemodal A term used to describe a window that is both :term:`live` and :term:`modal`. MVC A design pattern for interactive software applications. The initials stand for "Model-View-Controller", the three distinct entities prescribed for designing such applications. (See the glossary entries for :term:`model`, :term:`view`, and :term:`controller`.) modal A term used to describe a window that causes the remainder of the application to be suspended, so that the user can interact only with the window until it is closed. model A component of the :term:`MVC` design pattern for interactive software applications. The model consists of the set of classes and objects that define the underlying data of the application, as well as any internal (i.e., non-GUI-related) methods or functions on that data. nonmodal A term used to describe a window that is neither :term:`live` nor :term:`modal`. object Synonym for :term:`instance`. panel A user interface region similar to a window except that it is embedded in a larger window rather than existing independently. predefined trait type Any trait type that is built into the Traits package. subpanel A variation on a :term:`panel` that ignores (i.e., does not display) any command buttons. trait A term used loosely to refer to either a :term:`trait type` or a :term:`trait attribute`. trait attribute An :term:`attribute` whose type is specified and checked by means of the Traits package. trait type A type-checked data type, either built into or implemented by means of the Traits package. Traits An open source package engineered by Enthought, Inc. to perform explicit typing in Python. TraitsUI A high-level user interface toolkit designed to be used with the Traits package. View A template object for constructing a GUI window or panel for editing a set of traits. The structure of a View is defined by one or more Group or Item objects; a number of attributes are defined for specifying display options including height and width, menu bar (if any), and the set of buttons (if any) that are displayed. A member of the TraitsUI class View. view A component of the :term:`MVC` design pattern for interactive software applications. The view component encompasses the visual aspect of the application, as opposed to the underlying data (the :term:`model`) and the application's behavior (the :term:`controller`). ViewElement A View, Group or Item object. The ViewElement class is the parent of all three of these subclasses. widget An interactive element in a graphical user interface, e.g., a scrollbar, button, pull-down menu or text box. wizard An interface composed of a series of :term:`dialog box` windows, usually used to guide a user through an interactive task such as software installation. wx A shorthand term for the low-level GUI toolkit on which TraitsUI and Pyface are currently based (`wxWidgets `_) and its Python wrapper (`wxPython `_). .. rubric:: Footnotes .. [19] This is not always the case in Python, where attributes can be added to individual objects. traitsui-7.2.1/docs/source/traitsui_user_manual/factory_intro.rst0000644000076500000240000003401514046644454026115 0ustar aayresstaff00000000000000.. _introduction-to-trait-editor-factories: ====================================== Introduction to Trait Editor Factories ====================================== The preceding code samples in this User Manual have been surprisingly simple considering the sophistication of the interfaces that they produce. In particular, no code at all has been required to produce appropriate widgets for the Traits to be viewed or edited in a given window. This is one of the strengths of TraitsUI: usable interfaces can be produced simply and with a relatively low level of UI programming expertise. An even greater strength lies in the fact that this simplicity does not have to be paid for in lack of flexibility. Where a novice TraitsUI programmer can ignore the question of widgets altogether, a more advanced one can select from a variety of predefined interface components for displaying any given Trait. Furthermore, a programmer who is comfortable both with TraitsUI and with UI programming in general can harness the full power and flexibility of the underlying GUI toolkit from within TraitsUI. The secret behind this combination of simplicity and flexibility is a TraitsUI construct called a trait :term:`editor factory`. A trait editor factory encapsulates a set of display instructions for a given :term:`trait type`, hiding GUI-toolkit-specific code inside an abstraction with a relatively straightforward interface. Furthermore, every :term:`predefined trait type` in the Traits package has a predefined trait editor factory that is automatically used whenever the trait is displayed, unless you specify otherwise. Consider the following script and the window it creates: .. _example-12-using-default-trait-editors: .. rubric:: Example 12: Using default trait editors .. literalinclude:: examples/default_trait_editors.py :start-at: default_trait_editors.py .. figure:: images/ui_for_ex12.jpg :alt: UI showing text boxes for names, slider for Age, and checkbox for voter Figure 12: User interface for Example 12 Notice that each trait is displayed in an appropriate widget, even though the code does not explicitly specify any widgets at all. The two Str traits appear in text boxes, the Range is displayed using a combination of a text box and a slider, and the Bool is represented by a checkbox. Each implementation is generated by the default trait editor factory (TextEditor, RangeEditor and BooleanEditor respectively) associated with the trait type. TraitsUI is by no means limited to these defaults. There are two ways to override the default representation of a :term:`trait attribute` in a TraitsUI window: - Explicitly specifying an alternate trait editor factory - Specifying an alternate style for the editor generated by the factory The remainder of this chapter examines these alternatives more closely. .. _specifying-an-alternate-trait-editor-factory: Specifying an Alternate Trait Editor Factory -------------------------------------------- As of this writing the TraitsUI package includes a wide variety of predefined trait editor factories, which are described in :ref:`basic-trait-editor-factories` and :ref:`advanced-trait-editors`. Some additional editor factories are specific to the wxWidgets toolkit and are defined in one of the following packages: - traitsui.wx - traitsui.wx.extra - traitsui.wx.extra.windows (specific to Microsoft Windows) These editor factories are described in :ref:`extra-trait-editor-factories`. For a current complete list of editor factories, refer to the *Traits API Reference*. Other packages can define their own editor factories for their own traits. For example, enthought.kiva.api.KivaFont uses a KivaFontEditor() and enthought.enable2.traits.api.RGBAColor uses an RGBAColorEditor(). For most :term:`predefined trait type`\ s (see `Traits User Manual `_), there is exactly one predefined trait editor factory suitable for displaying it: the editor factory that is assigned as its default. [15]_ There are exceptions, however; for example, a Str trait defaults to using a TextEditor, but can also use a CodeEditor or an HTMLEditor. A List trait can be edited by means of ListEditor, TableEditor (if the List elements are HasTraits objects), CheckListEditor or SetEditor. Furthermore, the TraitsUI package includes tools for building additional trait editors and factories for them as needed. To use an alternate editor factory for a trait in a TraitsUI window, you must specify it in the View for that window. This is done at the Item level, using the *editor* keyword parameter. The syntax of the specification is :samp:`editor = {editor_factory}()`. (Use the same syntax for specifying that the default editor should be used, but with certain keyword parameters explicitly specified; see :ref:`initializing-editors`). For example, to display a Str trait called **my_string** using the default editor factory (TextEditor()), the View might contain the following Item:: Item(name='my_string') The resulting widget would have the following appearance: .. figure:: images/default_text_editor.png :alt: Text field showing text that contains HTML markup Figure 13: Default editor for a Str trait To use the HTMLEditor factory instead, add the appropriate specification to the Item:: Item( name='my_string', editor=HTMLEditor() ) The resulting widget appears as in Figure 14: .. figure:: images/HTML_editor.png :alt: Same text as Figure 13, styled as HTML Figure 14: Editor generated by HTMLEditor() .. NOTE:: TraitsUI does not check editors for appropriateness. TraitsUI does not police the *editor* argument to ensure that the specified editor is appropriate for the trait being displayed. Thus there is nothing to prevent you from trying to, say, display a Float trait using ColorEditor(). The results of such a mismatch are unlikely to be helpful, and can even crash the application; it is up to the programmer to choose an editor sensibly. :ref:`the-predefined-trait-editor-factories` is a useful reference for selecting an appropriate editor for a given task. It is possible to specify the trait editor for a trait in other ways: - You can specify a trait editor when you define a trait, by passing the result of a trait editor factory as the *editor* keyword parameter of the callable that creates the trait. However, this approach commingles the :term:`view` of a trait with its :term:`model`. - You can specify the **editor** attribute of a TraitHandler object. This approach commingles the :term:`view` of a trait with its :term:`controller`. Use these approaches very carefully, if at all, as they muddle the :term:`MVC` design pattern. .. _initializing-editors: Initializing Editors ```````````````````` Many of the TraitsUI trait editors can be used "straight from the box" as in the example above. There are some editors, however, that must be initialized in order to be useful. For example, a checklist editor (from CheckListEditor()) and a set editor (from SetEditor()) both enable the user to edit a List attribute by selecting elements from a specified set; the contents of this set must, of course, be known to the editor. This sort of initialization is usually performed by means of one or more keyword arguments to the editor factory, for example:: Item( name='my_list', editor=CheckListEditor( values=["opt1","opt2","opt3"], ), ) The descriptions of trait editor factories in :ref:`the-predefined-trait-editor-factories` include a list of required and optional initialization keywords for each editor. .. _specifying-an-editor-style: Specifying an Editor Style -------------------------- In TraitsUI, any given trait editor can be generated in one or more of four different styles: *simple*, *custom*, *text* or *readonly*. These styles, which are described in general terms below, represent different "flavors" of data display, so that a given trait editor can look completely different in one style than in another. However, different trait editors displayed in the same style (usually) have noticeable characteristics in common. This is useful because editor style, unlike individual editors, can be set at the Group or View level, not just at the Item level. This point is discussed further in :ref:`using-editor-styles`. .. _the-simple-style: The 'simple' Style `````````````````` The *simple* editor style is designed to be as functional as possible while requiring minimal space within the window. In simple style, most of the Traits UI editors take up only a single line of space in the window in which they are embedded. In some cases, such as the text editor and Boolean editor (see :ref:`basic-trait-editor-factories`), the single line is fully sufficient. In others, such as the (plain) color editor and the enumeration editor, a more detailed interface is required; pop-up panels, drop-down lists, or dialog boxes are often used in such cases. For example, the simple version of the enumeration editor for the wxWidgets toolkit looks like this: .. figure:: images/simple_enum_editor_closed.jpg :alt: Closed drop-list editor Figure 15: Simple style of enumeration editor However, when the user clicks on the widget, a drop-down list appears: .. figure:: images/simple_enum_editor_open.jpg :alt: Expanded drop-list editor Figure 16: Simple enumeration editor with expanded list The simple editor style is most suitable for windows that must be kept small and concise. The 'custom' Style `````````````````` The *custom* editor style generally generates the most detailed version of any given editor. It is intended to provide maximal functionality and information without regard to the amount of window space used. For example, in the wxWindows toolkit, the custom style the enumeration editor appears as a set of radio buttons rather than a drop-down list: .. figure:: images/custom_enum_editor.jpg :alt: Radio buttons for a set of values Figure 17: Custom style of enumeration editor In general, the custom editor style can be very useful when there is no need to conserve window space, as it enables the user to see as much information as possible without having to interact with the widget. It also usually provides the most intuitive interface of the four. Note that this style is not defined explicitly for all trait editor implementations. If the custom style is requested for an editor for which it is not defined, the simple style is generated instead. The 'text' Style ```````````````` The *text* editor style is the simplest of the editor styles. When applied to a given trait attribute, it generates a text representation of the trait value in an editable box. Thus the enumeration editor in text style looks like the following: .. figure:: images/text_editor.jpg :alt: Text field Figure 18: Text style of enumeration editor For this type of editor, the end user must type in a valid value for the attribute. If the user types an invalid value, the validation method for the attribute (see `Traits User Manual `_) notifies the user of the error (for example, by shading the background of the text box red). The text representation of an attribute to be edited in a text style editor is created in one of the following ways, listed in order of priority: #. The function specified in the **format_func** attribute of the Item (see :ref:`the-item-object`), if any, is called on the attribute value. #. Otherwise, the function specified in the *format_func* parameter of the trait editor factory, if any, is called on the attribute value. #. Otherwise, the Python-style formatting string specified in the **format_str** attribute of the Item (see :ref:`the-item-object`), if any, is used to format the attribute value. #. The Python-style formatting string specified in the *format_str* parameter of the trait editor factory, if any, is used to format the attribute value. #. Otherwise, the Python str() function is called on the attribute value. The 'readonly' style ```````````````````` The *readonly* editor style is usually identical in appearance to the text style, except that the value appears as static text rather than in an editable box: .. figure:: images/read_only_editor.jpg :alt: Read-only text field Figure 19: Read-only style of enumeration editor This editor style is used to display data values without allowing the user to change them. .. _using-editor-styles: Using Editor Styles ``````````````````` As discussed in :ref:`contents-of-a-view` and :ref:`customizing-a-view`, the Item, Group and View objects of TraitsUI all have a **style** attribute. The style of editor used to display the Items in a View is determined as follows: #. The editor style used to display a given Item is the value of its **style** attribute if specifically assigned. Otherwise the editor style of the Group or View that contains the Item is used. #. The editor style of a Group is the value of its **style** attribute if assigned. Otherwise, it is the editor style of the Group or View that contains the Group. #. The editor style of a View is the value of its **style** attribute if specified, and 'simple' otherwise. In other words, editor style can be specified at the Item, Group or View level, and in case of conflicts the style of the smaller scope takes precedence. For example, consider the following script: .. _example-13-using-editor-styles-at-various-levels: .. rubric:: Example 13: Using editor styles at various levels .. literalinclude:: examples/mixed_styles.py :start-at: mixed_styles.py Notice how the editor styles are set for each attribute: - **position_type** at the Item level (lines 19-20) - **department** at the Group level (lines 18 and 21) - **first_name** and **last_name** at the View level (lines 16, 17, and 23) The resulting window demonstrates these precedence rules: .. figure:: images/ui_for_ex13.jpg :alt: UI showing read-only text, closed drop-list, and radio buttons Figure 20: User interface for Example 13 .. rubric:: Footnotes .. [15] Appendix II contains a table of the predefined trait types in the Traits package and their default trait editor types. traitsui-7.2.1/docs/source/api/0000755000076500000240000000000014046644526017010 5ustar aayresstaff00000000000000traitsui-7.2.1/docs/source/api/index.rst0000644000076500000240000000050614046644454020652 0ustar aayresstaff00000000000000.. _traitsui-api-reference: TraitsUI |version| API Reference ================================ This document contains the auto-generated API reference documentation for TraitsUI. For user documentation, please read the :doc:`TraitsUI User Manual <../traitsui_user_manual/index>` .. toctree:: :maxdepth: 3 traitsui traitsui-7.2.1/docs/source/tutorials/0000755000076500000240000000000014046644526020265 5ustar aayresstaff00000000000000traitsui-7.2.1/docs/source/tutorials/index.rst0000644000076500000240000000020714046644454022125 0ustar aayresstaff00000000000000TraitsUI |version| Tutorials =================================== .. toctree:: :maxdepth: 3 traits_ui_scientific_app.rst traitsui-7.2.1/docs/source/tutorials/code_snippets/0000755000076500000240000000000014046644526023124 5ustar aayresstaff00000000000000traitsui-7.2.1/docs/source/tutorials/code_snippets/code_block0.py0000644000076500000240000000057214046644454025646 0ustar aayresstaff00000000000000# code_block0.py from numpy import cos, sin class Point(object): """ 3D Points objects """ x = 0. y = 0. z = 0. def rotate_z(self, theta): """ rotate the point around the Z axis """ xtemp = cos(theta) * self.x + sin(theta) * self.y ytemp = -sin(theta) * self.x + cos(theta) * self.y self.x = xtemp self.y = ytemp traitsui-7.2.1/docs/source/tutorials/code_snippets/code_block1.py0000644000076500000240000000112514046644454025642 0ustar aayresstaff00000000000000# code_block1.py from traits.api import * from traitsui.api import * class Camera( HasTraits ): """ Camera object """ gain = Enum(1, 2, 3, desc="the gain index of the camera", label="gain", ) exposure = CInt(10, desc="the exposure time, in ms", label="Exposure", ) def capture(self): """ Captures an image on the camera and returns it """ print("capturing an image at %i ms exposure, gain: %i" % ( self.exposure, self.gain )) if __name__ == "__main__": camera = Camera() camera.configure_traits() camera.capture() traitsui-7.2.1/docs/source/tutorials/code_snippets/event_loop_qt.py0000644000076500000240000000031414046644454026352 0ustar aayresstaff00000000000000# event_loop_qt.py from pyface.qt.QtGui import QApplication from traits.api import HasTraits, Int class Counter(HasTraits): value = Int() Counter().edit_traits() QApplication.instance().exec_() traitsui-7.2.1/docs/source/tutorials/code_snippets/thread_example.py0000644000076500000240000000035314046644454026461 0ustar aayresstaff00000000000000# thread_example.py from threading import Thread from time import sleep class MyThread(Thread): def run(self): sleep(2) print("MyThread done") my_thread = MyThread() my_thread.start() print("Main thread done") traitsui-7.2.1/docs/source/tutorials/code_snippets/container.py0000644000076500000240000000135014046644454025457 0ustar aayresstaff00000000000000# container.py from traits.api import * from traitsui.api import * class Camera(HasTraits): """ Camera object """ gain = Enum(1, 2, 3, desc="the gain index of the camera", label="gain", ) exposure = CInt(10, desc="the exposure time, in ms", label="Exposure", ) class Display(HasTraits): string = String() view= View( Item('string', show_label=False, springy=True, style='custom' )) class Container(HasTraits): camera = Instance(Camera, ()) display = Instance(Display, ()) view = View( Item('camera', style='custom', show_label=False, ), Item('display', style='custom', show_label=False, ), ) Container().configure_traits() traitsui-7.2.1/docs/source/tutorials/code_snippets/event_loop.py0000644000076500000240000000024514046644454025651 0ustar aayresstaff00000000000000# event_loop.py from traits.api import * from pyface.api import GUI class Counter(HasTraits): value = Int() Counter().edit_traits() GUI().start_event_loop() traitsui-7.2.1/docs/source/tutorials/code_snippets/event_loop_wx.py0000644000076500000240000000024114046644454026363 0ustar aayresstaff00000000000000# event_loop_wx.py import wx from traits.api import HasTraits, Int class Counter(HasTraits): value = Int() Counter().edit_traits() wx.App().MainLoop() traitsui-7.2.1/docs/source/tutorials/code_snippets/interactive.py0000644000076500000240000000051114046644454026010 0ustar aayresstaff00000000000000# interactive.py from traits.api import HasTraits, Int, Button from traitsui.api import View, Item, ButtonEditor class Counter(HasTraits): value = Int() add_one = Button() def _add_one_fired(self): self.value +=1 view = View('value', Item('add_one', show_label=False )) Counter().configure_traits() traitsui-7.2.1/docs/source/tutorials/code_snippets/echo_box.py0000644000076500000240000000031014046644454025256 0ustar aayresstaff00000000000000# echo_box.py from traits.api import * class EchoBox(HasTraits): input = Str() output = Str() def _input_changed(self): self.output = self.input EchoBox().configure_traits() traitsui-7.2.1/docs/source/tutorials/code_snippets/mpl_figure_editor.py0000644000076500000240000000400714046644454027176 0ustar aayresstaff00000000000000# mpl_figure_editor.py import wx import matplotlib # We want matplotlib to use a wxPython backend matplotlib.use('WXAgg') from matplotlib.backends.backend_wxagg import FigureCanvasWxAgg as FigureCanvas from matplotlib.figure import Figure from matplotlib.backends.backend_wx import NavigationToolbar2Wx from traits.api import Any, Instance from traitsui.wx.editor import Editor from traitsui.wx.basic_editor_factory import BasicEditorFactory class _MPLFigureEditor(Editor): scrollable = True def init(self, parent): self.control = self._create_canvas(parent) self.set_tooltip() def update_editor(self): pass def _create_canvas(self, parent): """ Create the MPL canvas. """ # The panel lets us add additional controls. panel = wx.Panel(parent, -1, style=wx.CLIP_CHILDREN) sizer = wx.BoxSizer(wx.VERTICAL) panel.SetSizer(sizer) # matplotlib commands to create a canvas mpl_control = FigureCanvas(panel, -1, self.value) sizer.Add(mpl_control, 1, wx.LEFT | wx.TOP | wx.GROW) toolbar = NavigationToolbar2Wx(mpl_control) sizer.Add(toolbar, 0, wx.EXPAND) self.value.canvas.SetMinSize((10, 10)) return panel class MPLFigureEditor(BasicEditorFactory): klass = _MPLFigureEditor if __name__ == "__main__": # Create a window to demo the editor from traits.api import HasTraits from traitsui.api import View, Item from numpy import sin, cos, linspace, pi class Test(HasTraits): figure = Instance(Figure, ()) view = View(Item('figure', editor=MPLFigureEditor(), show_label=False), width=400, height=300, resizable=True) def __init__(self): super().__init__() axes = self.figure.add_subplot(111) t = linspace(0, 2*pi, 200) axes.plot(sin(t)*(1+0.5*cos(11*t)), cos(t)*(1+0.5*cos(11*t))) Test().configure_traits() traitsui-7.2.1/docs/source/tutorials/code_snippets/traits_thread.py0000644000076500000240000000307514046644454026340 0ustar aayresstaff00000000000000# traits_thread.py from threading import Thread from time import sleep from traits.api import Button, HasTraits, Instance, Str from traitsui.api import View, Item class TextDisplay(HasTraits): string = Str() view = View(Item('string', show_label=False, springy=True, style='custom')) class CaptureThread(Thread): def run(self): self.display.string = 'Camera started\n' + self.display.string n_img = 0 while not self.wants_abort: sleep(.5) n_img += 1 self.display.string = ('%d image captured\n' % n_img + self.display.string) self.display.string = 'Camera stopped\n' + self.display.string class Camera(HasTraits): start_stop_capture = Button() display = Instance(TextDisplay) capture_thread = Instance(CaptureThread) view = View(Item('start_stop_capture', show_label=False)) def _start_stop_capture_fired(self): if self.capture_thread and self.capture_thread.isAlive(): self.capture_thread.wants_abort = True else: self.capture_thread = CaptureThread() self.capture_thread.wants_abort = False self.capture_thread.display = self.display self.capture_thread.start() class MainWindow(HasTraits): display = Instance(TextDisplay, ()) camera = Instance(Camera) def _camera_default(self): return Camera(display=self.display) view = View('display', 'camera', style="custom", resizable=True) if __name__ == '__main__': MainWindow().configure_traits() traitsui-7.2.1/docs/source/tutorials/images/0000755000076500000240000000000014046644526021532 5ustar aayresstaff00000000000000traitsui-7.2.1/docs/source/tutorials/images/container.png0000644000076500000240000002656314046644454024236 0ustar aayresstaff00000000000000‰PNG  IHDR/÷Õ&´/bKGDÿÿÿ ½§“ pHYs  šœtIME×8!û IDATxÚíÝwxSåßðûd4mÓîRÚR( Èž"C†ˆˆâ@€èOeˆ‚ ÈY2Ü(Î׈ ˆ(*P•¡ìYº›.:’¶IN’÷ÒдM›–”®ûã/rÆóœ|s’sç9'©€ <~W'3ˆˆˆˆêOöJß—•¾óܨ®fΈe/> ¥‹‚TΊQ0 Ðê|dvSHñÖö°$™Çïêdžÿü8x¹»ÂT”ca.LE¹¬Õ A¦€ s†ÔÅ9©—±ø«ðɞガ$¸¬yy"ŒE¹Ðe©a,dh!""j 6îú¯VÚ}êî·¬ƒ6 n>˜6²˜eP 7Ád2BÔd2¸5ì9…!#D§¶‘m÷ø™ËxçVL¾+æ–õ£ÏI†R!AÞÙ€nÑæ7_y MôùYV+…=öéMuÿécÜsˆˆˆêˆÉhB‡VÍ¡¹xÀ¡ívhÕ ?M0Šâ-íÇ(Š˜ÿ`»â vÍ&#ô×’`2Š.šÈ=‡ÈNO~ˆûh\…÷Év­ˆ¨bf³ Fу®È¡í:‰˜Í&ËqþVõ£¢Y®V“ÉC‘ÆáE32¼PÓròf›ó.}ð°]mL|ï6NîPî~IÛö¶Ó˜êië1—­•D0™ Š"ô Q„Éd²ç+ëçÔÕ,œ¼Z|fç‘þQVó¾úí }¸ 1áª*û)É2 x¸§dHÆ–ÜÄ¿ >¿‚Ì¡³wX©†Œ‰Ä:¼ˆ /Ô4 ìÞ¦Âéï>ÑÖ®õ¿>ÅÑxæã3–ûs'Ï{êƒÿìn§±(û˜Ï¿k]›{…p§#ª0¼‹GDôŽ /FÑp½m±Ê~N\JüÏÿ,ß÷+¾.fóËVÓ[+«ì§$[ÈJ:­ìOú™m¸´ï!R4àä/«p÷ìsЛ1sæLh4¤¥¥ÁËË óçÏGÇŽ‹ G^¨)˜hÏrÓ¶þ‘ŒÑÝàsÛHøt¼2¥ úœdÛVnÙÖÏlÃþg€%zbîgZ¦ïÿë,àì[÷Úì»Ís;)?¯ƒªóh8yA,¸†ì;ýï÷å–K;°ªÎ÷C®ôÁÙ·ïªÎ£á32¥ ¢6 9§BæÑo³¹Z}|n ïöÃ!w÷ƒXp ×þÛ¬cß0ÛÜ›¹Ís;,µ)~¯1VÙ‡kH ü{M€Â7¤œFÖ‰Ð&çÎJ–ÙT;§sŒ¢fS©ÓF•ôc –Ïûü/,x¤`ÁWÇ­–±µné~J²…%¼TvŠ'õØ;ÐhM¸–'6ß„B]6ŠÒOâóÝg§ Qxãì•0®`úôéøõ×_-C;DMÙ¨.å‡A½ÚG@߉¸|üw,Y4ù…"fÏ]„`mì?—‹QëïFÌ´]åFu6ŒkQiÿ—¥íðÛšgñÛ¹Lx~úöŸ„sÉyP©±ZîXŽ )óÆbÏñäšðåÚ—áßk<ŽîûkÞXûÇ?‡Æ>Žó©xÆï„ v÷áÛe4ú>‰3±?`ùÒErÿc?éYœOɃWÒ”jªÜvüräL¥yÿ¹\l×Þ·¬²!3!Súàí¥/bïÏûѪu;<öä$œ?ü;Ú¹rg¥Æ^®_‹¢¯ðb¾q:§²~îíˆyÆ`ñÖSåB Ì{0÷÷ ­pݲýg ãõ vF˜*9Å“‘‘‹¼¼<<ý]Àd2.rîhÙÿ|¿í£”xûÜ÷Úïprrº‘ŽxÚˆš¨’‘‚Òþ[3 ºm$൅KmÚ¸ vÛ;èÖ÷N›ím?š…˜ Fu¶ÍÂÈŽž6×{oýJˆùjt WâØ÷ï¢oÿÁhÕ÷|øòfŒêäeYîã÷ÖCaÈAÏnЋ€së!€××¾OADÒ‘­ÀØÇѪçH¬ÿzîîmw>î,]½N&Ôo&=‹–½Gá홟á¡.Þ6·6sL™ÚÌz¢ê>$rˆN_JD”¿3<´ðùª™HÉ1À»þî2î¸ÔøÂ‹±G^Œ&Ëq¾ª~îéä‡Wïkeß·šþê}­1ª[°ÍõÊöSœ-®‡®…¶/Øí×ë~8™3€ÔsÅ#°¹Wß>hï|2÷@.ŠDü¶î^äH‡[Ö«¬M¢ÆÌÖ5/ËïñÜÝ NKEWº hí™Qí>·’Vù:+éÃÝÉŒh·â>üƒqäªm¤(¹Ô5+3}Zz@å*A´Ÿo?@vv¢[¸A%䢸àDR:ËÐÑÎ>Ú»ù¾øî'«m Æñ-:Éln‡­Ç\–ÜŽ><݈ÀþSðÎÇ›a2™›|W~~Gÿþ —Ó à.•pÇ¥FÇ`ÐA«‘­Ñ9´]¥N„Á ³¼ÿØÓV'V8­²uÊöEúëáE`5 \–>fœ¶ß „ø‚ æÔ õêÄ»²/`4ÙzxëaY¯²6‰}€©àš—}¸-W …w0ƒà,ÏC´¿^~AÕnßž×—UþÅ}¤§¥@g0"!Çdµ¬B& •¯™T€A“'øø¨ êZ2ÓÕÐLHÊ3Û݇>/ ¯ ŒÖײ³Ê< 1×ls;ì}Ìöôþ÷V¼ùñ×й6G‡.=0ùÙuÿ|œ?1 -ýøwܨ±®ÿ¿üß[Þ}"Ý®†ßæo³í¯IÛý”ôµ~÷årÓ×フiÃ#+é£l?Åï×Ë‚Pñ§ŽÜBz¿§ƒÎø–ç}Š)¿!Ìô9º'0£å9ø&âÎÌ@4b—1>WÒÑ«sJÚ%jʆ¶v*?ò÷7h>d*žž6 ¾Z'4ô\•muZHJ…„ȳëõUQß|õ)r) +8«ë,/ÙÈ:¹A}Æã¡GŸÄÙŸ>BXß±€]Û·B!— ô¨ªúPÿ½ÍOÅSÏ¿ˆ£Ûß‚L0¢YËè1ì|µz:Š f›Ûaïc¶§V,ÃHïÏñ׉s(Jþ·xÔª°Ÿÿ­ÁÔþÞðUòýŠat×)*Š5ë*¥Mis]A,¯ÉÊúÙ}Ü:¸L^üm£’¾×フéÃ#1¼“•ýO4_ÿ«Ò‚ARñ'š7UcB¿|s8 yÏ€jëN¸ w…SáïP_øg=» ÏTë?†”øcPíúÍü|j³M¢Æ®¢k^þY~Gñ¨ÄÑm8‘*¢çÐGÐûÝ=(º–Œ¤Cÿïè~•¶™û¼º=j95RÒ^eØ'æmDPp3è5YØöá*lßú%¢\à"«`dãúk6åÐ'8™&bÀàá=f ù™øeË»øâÓˆPÉá\jݪúHÿgŽ\ÎC—; w÷F=òOâÄÏ_#ùZ&öö´¹ö>f{úÈ<¹!žÁŒ)1Ìf¤^>‰eË—‚'SE ŒRpÇ¥F9ð"Ø“©zÜÆæºÂת½ý̉×CÊŒá‘X{=ÀØÝÏõ÷HŸhNgÐÜÝ€a}±rOœÒ#àë)E?ãY´éˆßþ¸ˆ«nGvB ¸»ÀÃñ±±3fŒÍ6‰«c¯À‹ß¦Ùœ¿úþ@€äÜwXðíÿ!.³zÑ •RŠè-ßáÐ%ͶÒÿÚ‚Uo~€³i…ÖíÙ²w×v$û I×t(Ðá,— :ÀÁÞNˆPÉÊõayÍšMÈûó#ÌÞ´)9èE3” ‘¾Nhî­@¨·Ìî>$‚Îñ{±îÅïp5K‡ƒr‰€/9š«œp4щí°õ˜+Úîªúè&ü‰ø' ‘S`„ÀÍEŠ˜`WH%¾_QãylŒ¼À wGV±¾íu…RÙ¡²~¢‚”–~Ft¾1º2¢³¿ezTÒ®~Š_ïæ’ÓF¶G^B°ó¨ÜÓÅ{00EZèE„„¨ðñ7ᮄ—+²²²™™iõ鉨)ÙÑ ó¾g qwŒ+B¼å¸«.e8£Po† f8Ë oï‰"ÃO¥Û$E+ÑÜG"`†ÙÒ^e‚<åhèM`2›á$ÐÊ_†p•¼Üö–~Ͷð•cxŒ;®f‹(2˜a6r©€_ZúɪÕG3o9†µSâb† ôfM€D<œ%ˆð•WøXKØzÌe—·§á®ðVÊ[`‚ÑTü‰Î]! &؉ïWÔxà Š_ eÝÓÙÿft¬²CeýD+]ÁÐÙ³ BÅ2ò‚²ç“JY9LC”dhx¥‡î2èÔ÷ãÐC*1@æÑ 9ŸŸ   ôîÝûz³ü$CMOÿ(¥]Ë…z;!ÔÛ©Zm5÷Q ¹OõOoôk©¬öö é§@¤Ÿâ¦û€`/'{9U{;l=抖¯ª•›½Üø•hjRñ¥88¼Õëm[Žó·ª@(y©ì´QI¢ õ†ÕP1¼Ú!²u;èõzäççÃÉÉ nnnVWs–¨nü·z¦oI¬Õ×â­èƒˆnŽDpúJ2bºrh»§.'[e‡[ÕH`Ç»Uqrr‚J¥ª8ôp–¨ÎØ: ÓÐú ¢š›Ð?ïÿ¸¿ÔBÛS†¶¾åý”¼×Û¶0»l<ò¯á³LDDDõZîúÔ@«ÉcEˆˆˆ¨Þ“ÀÖÝX """jáEé幟ýœÌ4Vƒˆˆˆê5uÒUðëDDDÔ 0¼à à à 1¼1¼ãŸWuƒÁQY"""{CˆL¹\ÎðRWär9ã¯àï?!3] £ÑÈ¢•!•Jáë€n½ú¢EËÖ5 =,£c$'Æã÷_~BßAÉDÊ¢•a2‘’û÷@¡pFHhÃK]‰=°w ‰ÎÝz°DDD• iÿìý~+÷Dµ×ç»’‘–Š€à‚ˆˆÈÍ‘‘–Z£u^Äh4òT‘¤RY¯ex!""¢…á…ˆˆˆ^ˆˆˆˆê]x‰hÕ¦ÂYÁr+Ël6cöìÙðöö†^yå˜Ífˆˆ¨7õU鸋gYÁ*”„‘ŠÂËÆqðàAœ9sf³£GƦM›0iÒ$ŽˆˆÈ†Z9m4wþBlùf›Õ´Í[¿ÁÜù Ú¼ûþèÖ³/Ú´ï„Y/ÏN¯·,«×ëñÊœ×оS7´ïÔ s_[`5ÿ÷1dø=ˆjÛ}û—_o±Ì«hô§ô´ˆVmðáGŸ ×íýÑ"ª-€âo ­Xýºöèƒè˜Û0uúLhµZ›m8ʧŸ~Š%K– ((ÁÁÁXºt)>ùäî•DDD·:¼ÌŸû*¾ýn~صðý»ðÝö˜?÷UË2ýýöìÚ¿îƒ:=ë7¼e™·úuHS«ñëÏ?bÿ¾=HHLºõoZæ¿ðâl̘ö®]»ZîwéÒ§OŸæ^IDDT[áÅÖ5/r¹omX‹UkÖáõ•«±úõxkÃZ«?¾4Þ«ðU©àçë‹ùóæà»;-óv|¿ ¯Í}Åæ|…³éééÈÊÌBpp–/]T­íž÷êløx{[îoÞú Ì›ƒÀÀ(•JÌzéüôÓÏVëÔÆ)2F777Ë}wwwäççs¯$""ªD­]óâ«RáÑ÷áu,A¤´ÐfÍ,ÿnÚ ™™Y–ûYYYhj¹Ö<YYÙ–ûï¾µo¾ý.6¼ùÎ ,˜7C²{»ýüü¬î«Õé4t¸Õ´Š®Qq4777h4xxxòóóáîîν’ˆˆ¨µöUéó.à˯7ãí7×áý6!!1Ñj~bR’Õ¿}}o„•Je5?!1 *•å~Çíñáûïàè_‡±|É"ÌymÁ4&“¡¨¨ÈrÿÚµ;ÂŒ/þ<ô;â.žµÜJN)Õ¦víÚáŸþ±Ü?zô(Úµkǽ’ˆˆèV‡—ÂÂBLaÖ®^‰áÆbÉÂùxnê èK]t»xéëÈÊÎFfV-YŽûîi™wÏÝwaɲ–ù /Ž÷Œ°ÌŸöÂK¸|%z½&“ ¦R?/ܶM46~øŠŠŠ V§cn©`cË£cÇàå9óŸQqþÂL>Ój™Ú¸`w„ ˜;w.RSS‘’’‚9sæàñÇç^IDDT[áÅÖ5/ó,ÂøGÇ¢gî€; Ľ#ïÁ¼ù7®MéÖµ † ‰Ûûß _• Ó§>g™÷ÒÌPùøàŽCÐÐPaæŒi–ùƒÜÉSþ‡v;cùÊÕxcÍJ˼eKá§}?£}§n¸ïÁ‡-ÛP™§ŸšŒî]»`Ü„'жCgL›ñ† ¹Ó!.ý/eïeÊ”)èÛ·/Ú¶m‹víÚáŽ;îÀĉ¹WUvl½½wOóØ?“™vË:hÕ¦ÑýF̆•‹1yÆ\q¯"""²Ã¢YÏbê¬yÕZGt•€ˆˆˆ†"""bx© ÿ¬5¨ðÒI¥R˜LF‚ˆˆÈF£©TÊðR—üƒ NIf!ˆˆˆì~5û’ ˃ôé7ö}ËÎÂhY""¢ "._8‹[>CŸ~kÔ†ŒetŒÐ0ô8?ïú™éj<…DDDT–T*…¯úö„Ð0†—º$“;¡m‡.hÛ¡ ‹ADDdÑ ‡hÐ3¼4´'€ˆˆˆª‡×¼à à à 1¼Õ"~ÛÈ.œ;ƒC~…Z £Èßy!""*K*“" }û @Tt[†—º5ûöîÁ¨Ñ#"²¤2––ˆˆ¨,£("îòElß¶ g„…GT» ž6rý?ïÅcEËÖm\ˆˆˆlÊdhÙº ó(öÿ¼Z­¶Úmð(ë i©Ih³ÙÌbQ£¤V«£xóïYhÒR“ Ñh T*^ê‚Q4B*“`x!"¢Æ)%%¡aá0І›nK*“ÖøúP†â  5…ã\]ï^˜^ˆˆˆTzaxqäsÊSFDDÔŽs•ï ñÔ”§±ñý÷àêêÂðâH­Ú îâYG?«DDD=ÁTz¼›>ã|·}\]]±ñ½w^ÉáÁö¼4k~ãûìI q|QÊ-•¼|ñåWøâ˯,ÿî×ïvŒûÃKý~V«/IñWŠCLX ^#CDD ó8WÁñëܹó˜1c¦Õ´3f¢K§NˆŽníÐÍh°?R§ÓéðÂK³Ñ¦}'tïu;Þÿ`"Zµ±ÌOHLĤ)ÿC»Ž]Ý®#{r233-óK/Ѫ ¾üj3úö„¨¶0âÞûqîüy«þJ/o;‘Ú«îò¼ñÆo¼ñVn¶Ž_­£[C–ŒüÜlËM–ŒÖÑ­+m«I¼¬Y»±öÃd2aö+s­æOšò?,|m.ÞÞ°z½k׿……K–ãÍuk*l/öðøæë/áéé6}Œ—_‡íÛ¶8|ä妖'""ªÓ‘—ëÿã·jfç»°å«ÿƒ·7`Þœ—±ÿ×ß,óÚý½åß …³^œ>ýÚloÉ¢ðöö<5éI¼ù¶õEFµq 5¡ð’™™…à`Ëýf!!VóOœøËV¬Â©ÓgPXXÁf{%Áœ!Öà§u…ÚZ]žˆˆ¨.t…0™Lu~üj°áE¥R!9%ÍCCIÉÉVóŸy~^}yú÷»nnn(((@Ìm]kw£* GYžˆˆ¨.•·*8~¿pw½Û2`...øyï.´ŽjÅð#G ÇÒå+°|éb˜Íf,Y¶Âj¾N§ƒ³B'…‰IIXµzíMõgÏï¨^©îòDDDuš],G¯òǯè¨(¬^± ÏNa™¶zÅ2DGE9|;lx™9c^ž3½oww<ñØx8xÈ2Õë˰xéëøßóÓˆ)“'â‡Ý{nM"­Ddëv7þ¸|þ4_DDÔ0â‹`ûx7æá‡p0ö0¾Þ¼c~c~¨V¶¢Á†ggg¬[³ ¸þå¡+WâðÕæ­–ùƒÀ ¬Ö7vŒåߥGQ*Q);Íž ví9 tåƒ 5ÊìX³r9 °fåòZ»:¢AÿHÝâ¥Ë1õ¹g¡7è±ôõ•¸kغV‰ˆˆsz©âxçââŠO6}P«[Ñ ÃKxXî:……2x¦O}®N·G"‘p¿&"¢F«ä8W×Ç»^Æ?:ã[ò¨DÊ=›ˆˆ-A‚PçÇ;þm#‡>©u ,L#©i}y͘ëÁçΟǣC«è¶hÝNx çΟ·Z&¤y¸Õýó. K÷xoãÆ:ßþºªó¥Ë—0ùégЮÃmˆh…á#Fâû~¨Ïim<æú¶?—Ý'íw+jUÛunPá¥ø“{`æQÍŒõFŒzƒ‡€`0.]º ©”×w7–šÖ‹×Œ¹noWã®âáGÆaÈÁ8ö÷ûû† Œ‡‡«qWo,[j[;އ‹¹¯¾Š)“'×ùc¨‹:Ç_ÇAŸ^½pð·ý8{ê?,^´;¿ßU÷õ0×Ò¾Ußög8èñ׃kÙë ôIDAT×aµë|ƒ®y¹5ãN•õc6›q86-"#‘œ”½Á¥‹ "£¢ tu˜Ìf\¹t™™Je ²Zßl2áÊ•+ÈÌÌøùù"¼E H¡~|R½Åcdg¤T*o\ºpJwOädg 1!jµF£>>>ˆlÙR©´QÔ¸¶ë\ššMf?v ºt†¬ÔoHˆÇC§Î!•J+}>ÇÆ"<<)©)Ðëô–6~Øþ  wŸ>Mv¼zÍÚuxjÒDŒ7Ö2mü¸±ÈÏËÇëÖcú7¬¶õà¡XL›ñ6¬[‹Ûûöi@ãíŽÝÎÕo¬Å3S¦à± Z¦uît6¾÷¶¥¯ø„,X¸±‡ÿ€ÑhDÏݱvÍjøûûš…µÀ²¥‹ñÎ;ïAžŽÖQQXûÆ*´‰Ž ,{}¶}»¢(búÔçñÔ䉣ш•«Öàë-[¡Õj0dð`¬Z±¼Ì›5…óFæ*çU§VÍÂZà•—gáƒ?‚V£ÁÈ‘÷`Ù’EP(õr¯nt¿^X¨C—n=0dØÝ ÃÕ¸8Her@b|< ¢ýúƒ†   ÈjÝø„èõzô½£?  £ÉŒ´Ô4 Xo5£("91®J%¤2’“бg¯>‹‘#GTºÌONƤ‰Oâßãÿàø?GÐ22 -¶ÚîØØÃøvÛœþï8†Œ—f½l™¿fí:œ;w{víÄჿ!)9É2ïÍ·ÞÁÉS§°g×Nœ8ú7 –,{ݪíÆP窶ǞyÕ©9òöý¸±‡Z­ÆšµëëÝþÜhÃKûÛ:ÃÍÝÚü\¨|¼—› ¥»' ##mÚÆ@áìŒBm.š7µZ73#mÚu€³³ Š´ymŠÔ”¸ºº5¹ÐòÃöop86GŽAZš:v‚(ŠP«ÕˆnW7whósäuZ\•¬q-Ô4((ñqWàäìly£Q§©Ùz]!Ôii•>Ð6¦#\\•Ƚ–iù)*}¿©Éξ_Uù?é«RáÚµ«iÿ{n*æ¿6ícÚ¡©»v-*ŸÊÿ„Æ/û~Dï^=á¬PÀÝݳg¿„C±‡­–Y¾t1‚áââ‚)S&ãÔé3–yÛ¶}‡Å  8(žžžX8ÿ5˼¯7oÁÂù¯!(0J¥¯Ìž…÷îmrÏChxd…·Òª[«…ó_ƒ¯¯ ~~¾X8ÿ5|÷ÝözûørÚH4ju#A€Ùl.×Ùl¶|Â,™çää„Ì´$˜L&Ë22™¢ÁƒÁO/äd§Ã(ŠV§*nÌ÷¶Ì— ôzœ.ÈËÉ®ó'«¶ë\ZÉ'ô­ÿ? Nܬ èõzüy¸üŸr…ⵆ_ãÚ¬sMj*—Ë¡P8!''r ••¥›^ÞÈÉL¯òù…³32ÕÉ0u¶?UDW¨­Óþ½¼<‘’œˆ«éêôtxyyZmßâó0kö+pWº [×. ê çè:{yy"-%~~¾6—9~â_¬X½§ÏœEaa¡å}¼ô¶¸:;YîKˆ¢h¹Ÿž‘@U…Ûž¦VcÀCÊ#J/[ûÖ­îóÒÙÿ*œÞ²M˶T·Vþ¾Þ–û~>ÈÈ̬ó×i­†—Ú&—Ë‘Ÿ—Wnzaa!œœœÊM/ .åÚ‘ÉQ¤+‚Q‹Ÿ4½®òùº"ÈerH®_?ÐÔ¤§$ÂÃÃpêßãèÒµ+är'ôx'œ]Xã[TÓ\½| 1í; -í ZGGà×Áh«\×òš0ëa5êöTa¯ž=°cç.<5éI«é;vîB¯ž=¬¶ïÁÑ÷ÃÇÛO?; +—/Å ýÐ^çØ:÷îÙ?ìùOLos™ç§¿ˆ—g½ˆ;nï 77% бkÏ2Û"ØÜV?__$&%#"<¼Ü~¾¾øfóåBgÝï[B=êO¨Q­’’RÖÜòïâ‘ÉúyJ¿Aœ6ò÷÷ljc£°Hg97¦Õj‡À  ¢]í¨|U8ýß ˜P<Š“Ÿ`5ßÇǧÿ;³Ù ƒAD|B"|ý|ëéÿ­#•H tsCžFƒ€ü{ì$Ç_†:9ñ—Ïáð_-eÖØñ5õôòB‘®™YYJ%ð F&ÿz°ñ«tÝ ?±HeÐäç×ý!U¨ÛÛ´çžÁ¦?ÅW›·@«ÕB«Õâ«Í[°éãO1íÙg,Ë•lëƒúãýwßÄËsæáÛí;ê|ûí½L¬6êöþ›ðå×›‘›— ½AÿNžÄsÓ_°,£Óéà⬀ÂÙ IÉÉxuÞ«m©h»JO»ÿ¾‘X´t9Ôéjh4¼¾jµeÞ¸Gœy ˜£QÄ…‹1}æK•¶Ýë\ÕöØ3¯:µ€¥¯¯DöµldggaÉò5rD½ÛŸÔÈKpp0\rr‡M>Ìœ]\ˆ¨èj5vµÓ,$IÉ©8~ô$ ‚‚‚“sãÜv³ÐfHNIÅñãÇa6›¡R©Ð6¦#Šêé°Ù­äçç‹„«q¸­s$%&âì¹sÐéŠà¬pAhóPxxû"ïZ&k\ 5-}9wæÚwè³ÙÑPüÍ¡À  de_«tݲƒqè÷_ Š"ºwïÞdG^ZD´Àgˆ«×`ÙŠÕ€n];ã³?DDDD…ÛÚ­Küß§á‰ÉS•§&>ÙäF^ÂÃÃñågcõÚõX½v=Š ‹ÐªUËë#XÅ}­X¾K—¯@ò´ˆÉŸÀ®=?Ú=ò2õÙgñúªÕ¸{äh˜Íf<ÿì3–yS&O‚ |„ñOBzF:ZDDàÙg¦ØÑvÓy©n­ºv팻î¹Z­wß5 SŸû_½yqHxnÁ7E|¼½Ò¬œ]Ý,¿a4Š(*РP« èÑ£G¹í)=MJŠv:@áì ³Ù„È–Q–ùR©aÍCÑ.¦.Å_¯Ö @“wKc}¨sÙš•ðòò‚@ \•îðóU!,<ήJH¥Rˆ¢ˆ‚ü¼FQãÚªóÍÔ 7OoäfgX¦ ‚Péºõ‚V­ÛÀÕÍ‚ #5±î†^êXttk|üáÆJ—¹|þt¹uþ8ø[ÃIɵPçÈÈH¼ûÖ›ó €AXM7vŒÍš–&w’cÞœW0oÎ+åOH¥xzÊd<=e²]ÏWcÜŸ+{Œ¥çU·VS&O”ɓÄnÝ ~u¬P«©r”¥¢7âÒÓÌf3òs²‘‡hó­ççf#?7MYEuÔ늠×õ¹@“‡M^…ë²ÆŽ¯)hPXPñþ_Ùºõ[U_M$»4 ¬3ëÜ2•ˆêê­’%`Yg>†º /£ý-JŬ3ëܘê,aXgÖ¹žˆ»x®Am/à ªÄ:× ‰„UÖ™u¦: /<©zËŽª¬ëÜxÊÌ7{Ö™u¦š†E–€ˆˆˆ’›y‘H˜L¦zõW“Ù ‰D`Yç&Sg©L Q¯‡TÆï Ô”Q!•IYgÖ¹ÉÔÙ¡áEéáüÜkððòaõk(?÷”î^•îø¬3ëܘêÔ IIñhÖ‚«¡¤¤x†°Î¬s“©³U` m¶à‰‰“PT ©Q‡®®n¸pú\]ÝáäìÂ/åUójnv&.ûÁÍ[ÂÃÓ r¹œuf}}|TØùí7ðõõƒ‡‡'‰ÀÌ›7£("îÊ%ü°ý[ÜÞüýXgÖ¹IÔ¹„6/Âí½{šÄþœÌ´¿ie¥§"!î´ù¹0™Ì|·“D"ÀÕÍ*ÿfððö…··ëÌ:7™:_8w‡ü µ:FÑÈÚI*“Âß?ºô@Dd+Ö™unRuuÒUÇ„ÐjµÐh4|&ªýÄÉàâì ¥RÉ:³Î¬3±Î¬3ëlGxqØÕEJ¥Òuf‰ufYgª)~Ušˆˆˆ^ˆˆˆˆ^ˆˆˆˆJ‹¾¨€• ""¢†^þSq÷]puó`5ˆˆˆ¨ÞÊR'ãù™³oœ6 V…ˆˆˆê%ƒ®Èòo ìÛ@xèû‘Ÿ“…Bm>+DDDDõF–:y9Y˜öÂ,ìÛÀú¯Ï ØÏ ¯/œ™Ü …3+FDDDuêù™³¶Àÿñ Z‘:å˜IEND®B`‚traitsui-7.2.1/docs/source/tutorials/images/mpl_figure_editor.png0000644000076500000240000007243714046644454025754 0ustar aayresstaff00000000000000‰PNG  IHDRšI¢¬ëâsBIT|dˆtEXtCREATORgnome-panel-screenshot—7w IDATxœìw\S×ûÇ?7a)²œ¸÷ÖªTW-Ö‚ZýÚÖXw-T­v(µ¿Z•ª ®V;´Új‡Rl+j­«j­Š P@A ÉýýñÈ”@€äÞ›ð¼_¯(InÎynnîyÎyÖP ¯ j/÷:Ã0 ÔÄ'Ñg…¢¯Y|2Ý¿“ø0K‹eóÆÃ¾Š-µµtÒ1 Ã0f‹¨ÍÁ£Ì,›Åj¶j¬Ùs*OáäýñÊ öââׯÀÙ¡*tÓ ÍL…îqª,3 Ã0æ…`e ÁÊê*Nxpû ÞýòTÞêÆ %³"d´S‘•œm&+†a˜\¢öž7I»“‡´±¸~r%£škMÌÖÄO¢Ï V‘­ƒN§…æa+†a˜lˆ¾ßahߢ‘QÛ={é Ö·“µ²¸~²Ü„½­ Ù:€•OçfâÇ¡/#ça2²Ó“ }°þËŸV¨ã럾\¡Ï3 ÃÈN«C›&õððßÃFm·M“îøQ«ƒV£±È~´ ´Ä½´,Ñ DÙ÷ ÓjŒÚ±±Ûcä¥ÁøÏq›ÇûœÉ‡¿ËAuÐjr“õبíÚhr Šº¼qÒÒú±UO”ŽUê£lètZä<~hÔN@ËŠFq4ž´Cï{ÿmiP"Ï jR›§žç¶mh;–@iç\ô»bÌNFƒl#̶ t:]Þ8YR?_üÇ 6G÷mZ¡~.^KÆ…kÉŶ•+Ck/7´òr+µ€t@ê£l ÐXîè#5þ7$þ½‚•ê¶ ;—úÓB¨TªBŸ)­MF>žíÒ¼Ø×#^maÐç·ÿzšÚr)ïùÂIôÞä ç nÇR(zÎGþnº{Ê%SAt:-­²«h´šœ'mç*ýýh59X´í·Û{÷]ô~ÖÐ~Îýw'¯Ÿwÿ×#{“gÇá+…^÷®m_j?ôÚ“MnÇ%™¹î^úÿýA­ÃÇÀ…_þCÞ¸ŒlÑsçÎÅÇqçÎ8;;cñâÅhÛ¶-¯hͳ͜žzmçñ›Ñ¥\Û ƒkÛç`eï†ì·|æë§Žõú‚€÷Æuí'ò^?ðÛ_€¿Ö<¯·ïæÓ¿ÜúyÜ:Œ€S-h2î#åÜ·Hùãû§Ž»s8 n^€µ½+þZ;¸u—V~°²wƒæQ2ü¹I§w¢X¦>®í†Á¥õ`X;T‡&ã>îŸß‡ä3ßõÊ!bUôœ›Oÿ6ï»V[jU=[Á£û8غ{A€€Œ["ùÜ·xtã¬Þï‘1=¢Î4¦&­&¢®€I«„~´šƒÚÓ÷Ùòô³hÛoX2º=`É—g cH?@¾ÈS4%™¹nŸY‡‡t¸Ÿ¦Â£t2³RðøîlÛw iÙT¶.øëê9hs®bÖ¬Yˆ¥ŽYÑ(ÿŽO/[F^påì!¼÷Î"¤gjðÆÂwP[O.§Âõ´š¹@áÕRø˜†%öEÝWãàå÷Ú"ôê;—o¦Á-ñ—BÇyà†[‹^BôÙ[x©Ã+CàÑý8ýÓv¬øèC¼ð¿éxñ¥Wð÷í‡pºþA0¸÷Ž#P£×x\:ú–¾ß^Æÿ&ãï[ipNˆF¦ž’ã—“—J<ç—S>¦!\Ú +µOß¹°²wÅÚ¥óóó4ñn‰—ÇOÄßÇ¡y­ª%~ŒéÈõiÛt¦}âÓÐñ×O®XЪضÞÝy±ÄÏÚÏójbQ@+¼»ó"€Â &·ÿºÕ5¨€¬]ÀE#jµÐ•`æºw/ii50rV {ÿÖ:ôi\§¾Gë¦öXûQ+ ëlllò>WR›Œ¼äÎÀ r~…À­Ý0À[o¿\Û ,ý06º,$þ¾˜ŒÆ=ü±vîVvtÑ+GA žsÁïbÏéd̵ô>TÖU ÉÉÁŸÿÅ£©‡ýƒmÿ7·äÀ¥§ V`¤GÔšpE£Õå“%õ“«h´šøw.<åÛóû­¼÷ô®4 ìžk_o÷ƲÝzýÍáÞðï\[ïçŠö:ME“•õ™úƒzw6â=àöeZå§^Ü{¢µ+ðÉÂ>€µx¬ÁÁUÏãzpÞçJj“‘}>š°ç\aíàH¼s]TEMÞN÷ÊÜÇ€&j%ÿrûp°ѬõáQ³6N^{„5ÔÈu£''ÝCÏÆŽp«ªB³ê]ªRR’Ѭa5¸ î5p.!mj[¡­}´®æø|÷þB²Õ¬YgoÞ²YUë¡MÇ®˜<M_XŒ¿Ï Dãê\wP>„'ÿ>]kxß¹»µ0¸‡Þ¶ó3úû)ü ýïëÏð~ö»‹Õû®<õúê}W0sp£Î¥h?ù÷ÃE£‚ ?[JÍÔ¡Gd²´Ÿ#,íSt½uõuÛÐåff7¾ ÷5Ñ?é Ñb¯¶\¯ÞE÷µÛ.£lü¼mžz-ñ÷]¨ç;SgÎÇá/ÿŽŽ6¨×oz©mi³AmkZžu¤tý‹ëc×—ŸÂÖZÌb,¯vÖ´bH¾ƒZ=ÿ‡À±ãñ×þͨßë%ÀÞ=;ak­BÁ Yi}$þ¾õÌÀä׿áôž5°´¨Ó¸ º/?œ…Ç9Oß¹rzΆôÑäÅeæ² ¿»ŒÇ7ÿdf>ƶßbF_¸Ûóý$‚ @PÜB°ª˜A¹ ³7ÒûYAò~3¥õ“ûtåVð½Šö³ïla%3k0Eåžãê}W0kp# nÿ´²)Ú½H÷ŽÕ“ž!¨ŠŸ‰}›ˆq½k`×±;Øì2n;¿CµÁUa“y‰ÿü¿œ:¢ç Voˆ[×ÏÀmï÷¨SÝuëÖÕÛ&#?ÅùhN…õÜ=ý5ÎÝÖ ›ßhôˆˆÆãû7‘pä3¸4ë]b›·n…sç±yæ¡ÜöJâØáxuQjÕ®ƒì‡ÉøzãÿaÏÎ/дFT±*fÅðä7uëÈ'¸pGŸƒ1bÔ8ä¤'á—¯"ðù§Qhàf »Ÿ-­»§¾ÆÉ+ièØ?ý"¢m6Òã/àÜÏÛqóþcLèñôÊ/WCÏÙ>’.DÃÓ'³§´‚ Џ}å–……‚ˆ ·5x¶©m©ß'cD‹Só†Œp%~VÈÿ-ÒOIJ͘ýÀìÁ0ô‰B™=¸V>éÛà~ÿ·¨*=3±?ïå žCvpÇÑ °¹ÛîNjôÖþ…­ÚâàñqíĤÜhˆUàè舣GbÔ¨QzÛdäãÌû>˜÷ͽïøBM€êòn,ùæ3Ä%=F¶F„›½;Ú#ÿåÛ_‹¶u÷·¯ðoÀ_w2ñĘמ>böîÁ3û‘p? ÙZØY«Ð¬FÔv±A7«§úÈûM‰:¤ØŒ76­Æ­9ÈÖˆ°·ÐÈÝõ\lQ×ÅÊà>T‚ v×c°jÞn\KÎBFŽÖ*žÎÖ¨çfƒÓñ9Pé‘Cß9'wi}tNàÇ~Á¹øL<ÈÐBP­Š­jW…Z¥âûI&h–®gµ s†”\3¬¤Ï Æ^%ôÓ´–}^?C;ä¯Z†vðÈ{½i-{ƒúUÁPЦnøît6j8æà¹Ž®ˆÆbÔDðø2²5ðôtÖ]PÝË®ÎU‘œœŒ¤¤$ê˜W4ŠdX[g<ÌÒcŸ½”‰!­ªÂÓŃZVÃ÷ì™-BvV·vÂã'¡ö‚J(Ô– Я™=ê¹Úâq BÌk¯$j9Yû¦ >t¢µ€&Vðr³~JÞ‚¿©†îÖÜÊ×R4xœ#Bkµ€îVh\ݪL}Ôq±ÆÀ–öø÷ž 2²Ehu€JíThàn]ì¹æ¢ïœ‹oH]½ªÂÅÞ ©:huÀÁV@«Ú6|?ÉD®©©¸¯ÿ¹%ù+Ji…Ç^%ôÓ¬¶=š“Œiˆ EûЬhPÔ®V€Úb¹Ÿ ÷iÚÕ5¬•øŽÿjU¬»ÀÖHOOG­ZµÐ£G'Íò L‰ômZü©(u]lP×åiNImÕsµE=ײ›xz7Ö/“>yhTݪÖ_I}@mgÔvÖ¾úäÐwÎÅ_ZnÕTè^ؕş†Ñ[}ÒvÞ8iiýBÁMI¦3:X@]2GÀ¹%y·Dvv6ÒÓÓaccƒjÕªŠ8à¥>£óúbÖWñyÏMñ[‘¢ÆòQ þ¼z­:ûµÝ‹Wn{-­PÁÀ`€Ò°±±›ÛÓÙå›Î˜’ÑgŠ2·>Ëf\_/¬ÿñ;üRú¡efŠŸ·ÅöäßsB‡ Åo–ýéWOš [†a¦²’‘¥Eж+´¢yœ™GÓä–‰a†±@¬`ç>ãî´Æ0 Ã0¹XÙ;{`áÖãx¤?·‚a†aÊJbÂ5ìž]l‚'Ã0 à V4 Ã0ŒIaEÃ0 ؃RÝK®WÅ0 ÃTN ñï\ëâøñãÐðŽ™ Ã0̬¬¬Ð¼IƒÒ3´AF“·ÿ3Ã0 à ûh†a“Іa†1)¬h†a“Іa†1)¬h†a“Іa†1)¬h†a“Іa†1)¬h†a“Іa†1)¬h†a“Іa†1)¬h†a“bpõf¹¸xñ"¶oߎcÇŽáÀ%ëããóÔk±±±¦a†1Å+š°°0àèѣϊ…aFY(Þt¶uëVøûûË-Ã0 SN¯hÔju™Ž Á€0mÚ4ÄÅÅ™H*†aÆPo:++={öÄ’%K°wï^„……!** ¿þú+NŸ>-·h Ã0åbРAðöö–[ŒrcQЦ fÈ!ˆŒŒœ>}ß~û­\b1‰€fÜd?yÍÀMWhd’‹±Dš4iŠF)øøø`Ù²eèØ±#öï߆ z?>>ŽŽŽ2IgBCC&·FÁÏåöm|` 77#Fä ys]ÞyètÀñãjìÝkµX¸0 ¶¶rK\6ÌñšèÃÎ%55õêÕ“[Œ £xES0d9÷ïØØX̘1ááá…Ž Axx8’““áííÐÐÐBï;::š½¢±±±1ûsÈÅÜÎ%#X¶ X½pvÒ"ÏcÐ z\º,]j‹•+AOæ²bnפ$,á\DQ”[£ xE£/\¹¨’???øùù™Z$¦¢Óóæo½•«dJ¦E R8}ÌkzùFÉ(>êŒa”ÀÒ¥ÀèÑ@£F†ÆÏ¨RؽÛtr1Œ9ÀІaJáóÏzõ€gž)ûg§MŽΞ5¾\ c.°¢13úôé#·FÃÎåâE௿€—_ÖLiç‘ë×yøÐÈ™s¸&†bIçbî°¢13,©J‚9œË¦MÀo”|LiçaeLŸ|ö™3æpM Å’ÎÅÜaEÃ0z¸°¶*ÞV§NÀéÓ€…1L™`EÃ0zøäà•WŒ×Þ3ÏGޝ=†1XÑ0L1ètÀå˦l,¯¾2^{ c.°¢a˜bØ¿ðõ5n›vv€‹ pû¶qÛe¥ÃЦ#Š@z:ÍÞ™Â|û-ðüóÆowüx`ófã·kîhµÀ£GrKÁ˜ ÅW`Lƒ(o¿ ¤¥å?òË¥ˆ" ´½{ªJ6‰‹êÔ¡h1cãå$$99hP™ÈÊ~ø8x°ðw+ôKM #cY°¢©„ä*™.]€Áƒ‹?&#ƒfõÁÁ@ÍšÀ˜1@ãÆÒÊ)ß|CUL…%qöîmº>”‚(¿ÿìÜIŠfèP`Õ*@ß6S+V;v#GJ+'cZXÑTB–/ºv¥Z\ú¨Z•ÛÑ£›7/¾þûÂt''é䕚ë× L×~—.À×_[¶¢IH ¼¡k×è|- ©o9w.ðÁ´ò:Ôäb2ÁЦ’˜X6G·§'ðúë4;=}šê~eeQy3Þ"£DLYq¹~}Rf–È¡CÀ—_’éñ¥—€";uÄÀÀo¿_6F>XÑTBš5þþ»ì¡»‚@+šN(ˆ`Õ*úÿõ×êÕM#«Ô$'®®¦íܶ 0”Ë—é÷Щ°fMÅü[gÏ:O6F~XÑTB:tΜ©XŽˆƒ™CnÞ¤Z^µj¯½FÕŠÍ™S§€ÎMß›)577Ó÷eJîÞþïÿÈ”úá‡@µjoóâE`Ô¨Š·Ã(V4•Ö­]»ŒÓ–§'°r%pþ<0s&e¿c¾‘j¿ÿLžlú~:u"¥f®Û'edLŠfî\ vmãµ ³Û™”)3˜Š`gG…1iÓˆŠjÔ&L0nûRqïàáaú~:w&¥fnhµÀ§Ÿ³fC†P”˜1•ŒVk™¦ÅÊ+šJJÆÀÉ“Æo××ظ‘œÝS¦Ð–ÆÌÓxxR3'~þ˜8‘V±QQ@«VÆï#* >Üøí2òЦ’2}:h4Æo[­^}•¶1þæàÝw)AQéܼiÜÙ¹¥’Bþ·øxšDôïoš~nߦ ÞFÆòP¼¢¹xñ".\ˆgŸ}¶Äãt:Ö­[‡çž{C‡ÅÚµk¡ãÚ*z±¶¦N%;»©°·.¤|ˆ‰?ÿ4]_Æàüy ];éú«^]ù«š˜Ú'4”&ú-ÁÒ¥ô{a,Å+š°°0têÔ b)yìܹ7nÜÀ¶mÛ°uëV\½z»Œåñ¶PºunÝnÜ0m?íÛë×Û·S¬Rõ¿Tþ™\<<€¤$éú+ QØúµkdÎ2õJ/&†¢!ÝÝMÛ#ŠW4[·n5h§¼˜˜Lš4 ÎÎÎpuuÅ”)S#„æÍ‚žljììȄ֡ \»fú>ËJJŠésh âêJ}*cǨôД)ô0µs>3“ÊμúªiûaäCñáÍj×ê ¨W¯^Þs///ÄÇÇ›J,‹ÁÙèÛسbçÛÞ½i…³d в% .J‰2ªìŠ&;›&ÕªÑÖ¦4“äƒhõ¤”ßc|¿¢aLÏÈ‘ÀÞ½”å/ëáA~¢ÄDiú-ôtã$Š››rÍùóÀ¤IÀ /óæI§d.]"Ó¼¹4ý1ò ø¡xzzâúõëhü¤Äp\\êÔ©Sè˜ÐÐPØØØz­OŸ>™æ,A Úë¯k×J7È J~¢E‹¨<ü /HÓoIH9«VŠF«Í/%%m¢äƒTà52Rº>•Ξ={pèС¼çYYY2Jc<,FÑøúúbãÆ N§CTT|‹TŽ ƒ£!%d+!^^À+¯o½EÑ?Ráî¬[|þ90{6™n̽Œ¡È­hnÝÞ|“V2={JÛwv6]ï÷߯<×Ûüýý M|SSS!£DÆAñ¦3øøø<õ÷Œ3 ˆºuëbìØ±7n¼¼¼ ¹¼æL·nùE¥D€±c  r>›: N)T­ <|(OßǎѤbåJ镌(’ynÞ<ª‘ÇX>Š_ÑÄÆÆûzxxx¡çjµÁÁÁ–B,‹eøpÊ­‘*8  M›’éîõש¨bß¾Òö/5r9¿7l äÈõë¥3“déRúµl)}ߌ<(~EÃHÏk¯Qy9öqp SÚÉ“´²*%}Êì‘RÙdeQLWWZÍÈ¡d¶l!3íÃSI`EÃË{ïQˆëÕ«Ò÷­RQ6zƒT¼13Sz,[·¨*õøñÀˆòȰ?EŽ+OÿŒ|°¢aŠE­&ûýÛoËç°2„j²MZyü6¦àØ1`ñb`õjùÌUüDGÓ‚©|°¢aôRµ*mj5gðø±<24iB&´eË€ƒå‘ÁœÙ°øå !vv–G†„Rr|ÀI™•V4L‰xxPAÅ3ÈÆ/¹~›ß~«~cëqs£<%9ü1pçý~V®¤B®Lå„ S*ÞÞ”ólü Ó E¥æÏ§}tfϦ< ¦xîÞ¥0ñ äM‚½qƒ®Yx8mõÌT^XÑ0Ѽ9%÷iiòÉ1x0%IW2Çœ¸r…ÂÃW¬Z´OŽÿþ£È¶µkùä`”+Æ`6¤ ÌÓ§Ë›ÑÞ²%å &Ó Cœ:E~ˆ2™ÉÅŸRÆD™=† S&êÔ>üÂŽå,†Y·.™dBCiWÆÊÎ?Ò~?k×R‡\œ>M ¿ëÖqi&V4L™ñð BŒ¯¿NÛûÊ…³3ÍšW­NœOŽŠ`ŒÀ†­[sç(BÐJÆZGŸ~JEj×2•V4L¹pu¥Ùó¢Eä ;;Øöì¾ûN>9ʃNW±p_Q$å¢Ñ!!ò†ÿò ðí·¤ôåTvŒ2aEԛܰã°0௿ä“C­&þûظQ>9ÊÊýûåw”kµ¤\Z´ l9ùþ{àÐ!*ù¯â…)þY0¢jUZÙ¬^ œ9#Ÿ‚@‰¥UªPÑFsȵIJªW/ûç23) cĪž 'Û·“óÿí·9“Ñ+¦ÂØÚ’ùjûv2ŸÈɘ1@—.ä?ÒéÊöYi“RïÝ£ýxÊBZ…vÏ™Cç)¢Hn©©ò›íåʆ1 VVd:IH>úHÞÅ€4ÛŸ9“ü†R½:­2¤¢¬+š”Zɼ÷•æ‘‹¬,únÛ·§ÄP†) vÛ€(ÿüüú+páÍ”sž‚PxP-ø<÷oA  ž4 ‡—9Ó-m(”Û²o͸—/—/ú¨{w ˜>Ìz†lQìîNƒ¿§§éå¨/CFb"­Ò>ü¢þäâÞ=’ã7(‰×ÑéèûŽ‹£ÇµktÞï×’î{Q$š­-й3ðÌ3@íÚ’ž‚â`ESii4`V­J›r=ó ðê«e¯¥ÓÑFSqqÀ¥K4LxT«)?¥ "2秦<—)Sh`”+y°}{ªÑ6måv”–_R½: (Rqïža+šøx`ÁŠèru5½\ú¸t‰Ìe~Xv“Ÿ’E 9¹°"¹s'ßÔªR5kÒ}Ø´)àëKç[Ö‰áãÇ”D»u+mÓ`cCß]e„M ܹC[OZ±vT*š%{z½z=ý¾FC&§¸8JxÛµ‹”œ(R!Â-hÐlѰ™¹hÝš²ÃçÌ¡Ò5ÞÞòÈÑ¢õŸ«lJÊTww§k ÉÉ¥+Ž+W¨ÃÚµòfÙÇÄÐiýzóù T¦èüyàìYú.s- îîù“ºgžjÔ0~ÄœÝï¹÷üìÙÆmßœ`ES©©Ò´²¢¼—×ÓïegSèðÙ³À—_æ;«6Úµ£‡R Ö¨AÓ¼y´uo¿~òÈѨQ~éœU«ô‡»¹Ñ T*´Ú’sN.]¢šeëÖÉ›í <|HߒͽwîÐ}rî\~i" MÀÏ~r†_«T´jªŒ!àŠU4:‘‘‘ˆŽŽ†(Š4h‚‚‚ Òs•|ŠÙ666¶B2…ìŽ)ßÃÆhÛ–¹èt´Ü?{–¢ÔTzÝÝV>íÚÑêI ƒ‚­$ÞŸvëœ4I9êÖ%³ÏÌ™”äX£ÆÓÇ89å—rsö, ðëÖÉ·‚Ðh€… ÉÏPÑU½1Ñé(gêÜ9ÚPíáCz½fMúí¿ú*ý­$=¢{öñcy' r¡XE³sçNܸqÛ¶mƒN§ÃÒ¥K±k×.êýLEKQ:u¢ÈäÉ”›QÜà$*­h6,¼-ïÝ»tã}ñ™âD‘‚zö¤PX¹jO Õ$Û±ƒÌXï¼#Oöx4+Ÿ3‡vœlРðûNNÀƒÒËU”ƒ©ÒÁÚµòeÙß¿O+Ñ  ºääþ}Ú%ôØ12)«Õ@ãÆ4©4Hù…;ÏŸ§ áTN%(XÑÄÄÄ`Á‚p~²-à”)S°|ùò)èÓ‡ª¿ù&@¡³JÅÃä+(ãíÛTƒjñbJô³·§ˆ¬ž=¥wèŽIĤI´Â‘Cqç–Ι9“­[ç¿gcääH'Kq+ÎÝ»i5³#PYý IDATr¥|+Òóç)D=,Œ&*R"ŠÀõëÀ‘#dMÈÉ¡šv={ÒÞ6J5‡(ÒªôÖ-Úé´2×S¬¢IHH@½zõòž{yy!¾” Ž!!!8}ú4š4i‚×_ ŠNYˉ»;ùÖ®¥A{ÁóÙ-°V-àÅésôäI2É$%Ñì°m[rX6jdúÁ­cGм™?ŸN·n¦í¯8ìí©çœ9¤üŠ ÐƒM›hÆþÎ;òÉðùçÀÅ‹@T”4£VK)GŽäWáöò¢kh¾ƒóýû´ŠþyZVv«hÊCÏž=±dÉìÝ»aaaˆŠŠ2ZÛ‚@Îä³gÉ”6t(àï/ß¹åÅÁèߟÙáÿøØ»7?*§Q#ºÑÛµ3éÆÍ²¥KÉÎ>eŠô³wkkʯY¸fœ¤„¥Ø?¦ÿ³³É´R«–|‘IÙÙ´QYëÖ´’1Ñ–ÜGŽ©W­&g½¯/å`)Á¯X=>ù„”çâÅÒ¯•Šb§§'®_¿ŽÆâââP§N½ÇôÏ 2‘‘‘O ›"#IŸ>}àïïo°\íÛÓÌ3&†Bf[·&磽½ÁM( ++ZetìHÏE‘B|¡ÙmN™»ú÷'¢±µš¶o¿¥Á5,Lz’JEÊî믉é\ƒƒ¥ë¿ysJ~LK£ß«;€Ì«¡¡t ƒœà÷ß©ºóÝ»ä£èÚ•&kJñyƒÛ·Éê‘’¼òJùG{öìÁ¡C‡òžgIYÉ„(VÑøúúbãÆ N§CTT|}}õïããƒeË–¡cÇŽØ¿?6løÔ1aaap4B&¤JENÈAƒhFþæ›2;eŠùÏ`!?Ð`Ü8R$$áááHNN†··7BCC%‘³];2Á$$ß#=˜0¡°“ÙœZÑÝüMaÅ!Št¾»vÍšÑÉœ+yHðLnâá£Çñ IÿæëÎî5ñ믿B«ÕJ(šñXµj¾ýö[¤¦¦eESééÀæÍ”l7bÍü-9A+#ƒ$¤77JÌìÖ­ìþQ$¥M&%K¤”@F)õË·Í@z:í?sø0E2Ö¬I¿óŽ-{Ó³¬, Ñ?|˜Î÷ÅM¾©©©pvvƼyó0Dî=!ŠA­V£usýû®aRðlå®ḣüªÁ»w¯½Fá™#FÇÒϪU ‡T'%Ð@–“CŽÞ„z`Ö,ú|P%V*=GÂ܈‹#ߨ[o^ÐSÉD ܸT«ôíKÎnsõMŠFÄÆ’YUÉÄú¿ÿYÞ}ljXј++Šd  á7ßÐî5jPئ¥V¾uw§ó ¤óÂ*ŸñÖ«WÉÙîÏ>K¦ºà` %—«Nš¥±?%‚FD²(‰ÔTrà9B+ÌV­èšJíC“8~œU23 V±³“[2󅸺RT@öì;©,‹——eß¼‚@+š6mèyZ ^¡¡4xµlIŽzä; %Å3l˜¤¢[¢HáÓj5ùeŠ›‹"%jFG“¿ÑÑ‘&ï¿o¾¹,eA)°çë¯)¦G`Ñ"^Q V4S«•®¨öÑŽ” ݬ)¥Õh2&ŽŽT\søpº±/]"‡êµkùA}ûæ;V«T¡h¨ˆŠì™0ANéÍQ¤äX?¿üÜ©\nß&Åÿûï4‹oÓ†v(­hä”9qù2ðÕWT„³}{ ñ–k[ K†Œxy‘/ AwýzúÁwìHP–¬tV4-[ÒóŒ 2Ó¼ÿ>­|ªW§ ‚®])_iÙ2r@÷é#¯ÜæÆš5@ïÞ¤d>Ìwâgd·`Ô(ËvâåßÉ„GfÙ‰yc2SS‰~^ʦE r®Š"…oÜH»ü¹¹Ñl´Kó«BPªV¥ìðÜT©{÷((`þ|z.Š”wú´¼›™.P!Ç€Z¹ØÙ‘¢^´¨t%‘™IQ‘±±¤`›4¡àœbRíÁŠFa%Dvè@Ï“’¨ Áöí4ØvéBЧ,{Í›#Õ«S²‘#ó_[µJ>y֭̑)£2rõ*EŠ]¾L ÖǧrDÉ)V4 ÇÝìæcÆP²ä©S”zïUk8ʸ[r®ÔFV™ù…L„ Ò–â–P?Í`EcF¨Õä³èÚ•ž'&Òjç³ÏèfêÖLOìÌd*ׯӪåÏ?)\¾wo ‡çH1åÁŠÆŒ©Qƒê‘G‰e'Oáá´½³3Ýx=zT.{­Z¦NåU‹ÒaEc!XYÑæP={Òó(ŠkéR2%89QøpÏž¬xóàîÝ|Å’•E~»>}€wßåäIsƒ…âìL!Ò¹…"‹*GÇ|ÅæF ܽKá×'NPB¯‡)–÷ÞcÅbî°¢©$U<©©¤x¨H¢ƒC¾âáJ´Œ$&’b9y²°bYº”‹¥ÁЦ’âäD•{s ¦¦Ræ÷ß§­-%ŽöèA™âlg*‚NG¡ÆÇŽQN­–Kß¾”Œ[Rí;ÆüaEà Å3x0=ÚføÌ*Ïqã½Ö°!н;•ê¨ õ¯˜ò“žN[6?N&1A B²=zÐn¢–œ|Ì< +¦XììhPÈÝýQ©&Ù±cT4;›‚ ºv%åãá!«¸ŒŒümœ9CÛCäþ6&Oæßʆ1A4 Ç˜1ôZî¬5*êéYkË–L›Ï¹¹Ñ„¡àÿŽŽô¨V º2¥£XEƒ Àù‰aÊ”)X¾|y±Ê£,Ç2Å““C[Ø÷xð€”GvvÉmXY‘ß&wrs£zlÍ›Óß..ì(V2‚ @\23ó' ))ôqù2ýÒÒ(çJ§+܆(n×ÎŽÂç]\ ?œóÿçÀËF±Š&!!õêÕË{îåå…x=›k”åXKGéæOL¤Ý:ïÜ¡¿““i•QpPòý$VVOç¿æèÈJ¢2R¥ ùh<=Ë÷yQ¤:e©©…'/ÿÿwj*­r RðwéìL•š5ó5jpõsB±Š†)Lf&)Œ¢ äþý§­V­ðMÙ¶-ݨNN}úÀßßßÈÒ—û÷iWÀ«Wéfº}»ðûvvù7NÍš´×yÍš¤<8z‹±T¬­©jsõêd‚- ŽVî¹±?ÿ¤íÀɘ‹ZMaÙ Pµ‹ ”M·gÏ:t(ïyVV–ŒÒÅ*___lܸ!!!ÐétˆŠŠ‚oî†òå<6,, Ž2UŒÌΦšr•ɵk…}..ù?ú^½H¡°“•a G¥ÊWJ­[ë?N£è>ªï¤RQ¨oûö€Ÿo Æ0L> ξðBþëwï’òÙº•ÌoÖÖ€п嫸ÀЦÿþKåQââ(LrÈ`ìXvÊ3 Sv<o…3 ÃH ÐV :Ðóøxàûï?¤OýúòÊgl*¢Ñh€ÿû?Ћ߼™3冑ŸºuiÓ(ÐhÑ" [7`Ô(¹¥2•Êûpýº€I“(eþ|V2 Ã( `Õ*ZñÌœ™ájîTªÍúõ63èÒEnI*Ñ7oæ?)d¼`¥ßœ º(’"Ř˜!C€¦MóŸç^kk vmÊŠ/ø?V•†‘#K—€C‡,cˆ¶Œ³0wßÍÂüù¶ðö¦¥*S~rr¨žÔ­[…KyÆ™[ý·iS ï¬Q£ðjòömàƒ€¥=†2ãU*`òäÂõ¾²²èúæNN¢ë›[6)W!99‘*ø¨^­åÐ!RêC‡jJ?Ø ¨TŠF­V¬¦N%óYTN‚×óÉΦ/oß.¬@ÒÒ GÃX[SZîàÒ¦ =/K~@\°nÝP¯¿Ní0Ò2w.pþ<J ÈAAckK钜ҢH¿‹ÜßÈŸ?ÿLù#E·£pu-ü{©U‹RX!å““C嫎þùX³†Mgf‹£#°mm[{ð Ež‰"Ͳ{ô:w¦¢z–€(R–rR)¤¤ÂkŠ™,åVËͼ½éãÉué…uº»!!4à0òѦ ™,ÿûxï=š,“â) A “SÉ••E‘ª“ç*¤³g)¥ 9¹°BÊ5£V©B¿êÕ ÿïîN«.K ÿMJ¢è×'H¡X[S ›çž£ K9O *€fQmÛÒ#—;wè¢/[F~…‚3-''š‘÷0Åî€YY´y™¾GzzáçÅݬ@þ@Pðfõò¢ÿÝܤµ·ët@L mìíMš1•Sq7¦BBþlzÜ8 cÇŠµ+ù÷KÁÒ-úÈÌ,llh’¨ïáàPø¹•‘G¿ìlR¨¹Û–}<|˜orÔéèìÞxã ˯6R)MqÔ¬ N‚èttÃüÁ\»œ9Cß¿OLjbÅf ?_ð†)xs8;uê¾YìíÓ‡O?¥qk×*[^†~cï½GƒúÖ­ùùfþþÒ\»*UȇZV?jv6É\tR–žN¦à¢¶Ü½±î]kë§'¢õêåÿ]µªe­RÊßò¥ Rå›4[óáÚ5`úñ_~™L1ŒyaoO>Ø¿˜>V=&(3ÁÙÆ†J”­²ÃІ1¢üú+°c9{g̨uœ,•ŠV£R‰üeËèõ €fÍä•1XÑ0F£¡½9~þèÝ›J¥ó¦n–I³fTYãþ}`Ó&J.9èÛ·òš…˜ÒaEÔ›ôtlþú  S6•ª˜“C+ØI“¨üý‹/²ŽyþI0eææM ONKÆfÍ’["F.¬­i+1c€_~!_\óædVã¨B&V4ŒÁ\¸@+GG`ÊÊög€V²ýûÓãüy* éèHÉÑœˆË(RÑèt:DFF"::¢(bРA ‚JO ¿ÏS¯ÅÆÆšZÌJ(ÒLuçNš©¾û®²gªgÎ2|ùeË­i÷ÕWtžAAÊ,'ߦ ùnnÞ¤Ðè´4Zá´n-·dŒ\(RÑìܹ7nÜÀ¶mÛ Óé°téRìÚµ z?ÊŸhµ4 8@åz”œÿ¢ÑÐΨ11´ká²e´]t´åü÷_`ï^`ùrò‰%&R9ùž=•çóôÞy'ß—·f 0z40• EVùЉ‰Á¤I“àìì WWWL™2111r‹U)Ðh€Ï>#Ó˜»;E™•LN ¶ÁÁ” I³üÛ·,OÉ´ lÕªd–Z´ˆ6Êúï?rÆïÛW¸2„Rpp ?Þš5ÀõëÀĉ@l¬2eeLƒ"MBBêÕ«—÷ÜËË ñññ%~&$$ À´iÓgj-†²À§N¥˜ h°VÚ, Â/¿$¥Ò¼9& ”_uÍËN2…Îìì€W^¡ Az: â¿þ*«xz±¶&“fd$í(9i™eYáX>ŠT4å¡gÏžøþûïѯ_?„……É-ŽÙ ÑP‰˜©S©ôȆ d*S¢‚Eà‡h0uq!Y{õ*|ÌùóTÏMÉ~¤ŠÒ®­b VöU©(Ÿeýzª 6y2¯T"VVTC-2’VŸ'?ýÄ Ç’‘Ý RБŸëgñôôÄõë×Ѹqc@\\êÔ©£·‚þ™!C† 22²ØãBCCaSÄžÒ§Oøûû—[~s%'‡LdGRxêË/Ë-QÉ:D+®‹ßÚA§V®¤­¤":š|YRAÊ q“2{6ðþûÀÒ¥…_·²¢{ìXÈ7n¤ ÞÞÒÈU¬¬HÎÑ£íÛIî‘#•»’–‚={öàСCyϳ²²d”ÆxÈ®hŠsâûúúbãÆ N§CTT|}}õ¶áããƒeË–¡cÇŽØ¿?6lXìqaaap´ô2©¥“Cö‰t“¿úªÜ•Ì©SdêÖfë%ùжl¡A«JidËÎ&%³y3ðàùLÖ¬‘¦ïÆiÕvö,@ÅÎŽü"ééÀÇSä™3•¥¦VSΨQô}NœH À~~•Oáøûû𸦦¦"""BF‰ŒƒìЦ8‘’’‚±cÇüüü˜1c‹ì÷‚ððp$''ÃÛÛ¡¡¡’ˬt²³IÁœžfØŽŽ4è•u/‘ÌLà‹/Èé-YY4°ç ô÷'$å{Á2é‰)–:uHÑÄÅQReõê4+Ñ…icC ))$sÕª a)[®WXÑXTú#5•ŸêÕå–H?wî¬VV´•mye]¹’|zª™„;Èq]VV@Ó¦À¥K@‹ÒÈãêJ•öí£UYhЀ®ÃßÓo¦~}ZíØÛ›FÖŠàêJ«Ý¿ÿ¦o÷îäo”òÚ3åƒ/‘ ÓQ¨ò¬Y4£^¾\¹J&> ¡ÁmæLò­”WÖk×(¬Ø}è…(‡Ï<£ÿ˜ (MJÆŽ¥ztå†õö¦à??`þ|Z§¦WFcáíMæ4OOú®–["¦4Xј9ÇŽ‘C8·\ŒT³è²òÏ?dîØ¸1?¤V­ŠµùÁ4(JÉ¡C¥;ûœhe“”$\‚@æ¥bbeÊDëÖT×î¹ç€Å‹ÉœyïžQD4:¯ì¯¿€iÓ€+W䖈ћÎÌ”ë×É^ݲ%)%Ö"(ÏcÓ&ò ,^ 8;§ÝŸ~:w6^{†²cù”JcÒ$¥Œ´oßžüU ô}W„æÍiÕyíÕS*ëS·®QD5VVT’'5•¢E‘6dsr’[2¦ ž}ètäô½qƒÌNR´†òë¯dÎkÙ’V†FBv6 ¨›6¯MCøë/òiR¬³Q#ð33¥K È,¹x±ñG½¼È›˜HÒÒȇӴ©qÚ7NNÔpõ*)š^ üF°éÌŒˆ§½fÍÈô¤4%#ŠT’eâD*gÿñÇdÎ1¦’È´3mšôNà¨(š=Ê+¯P9)qs#ŸU*&F¡F ÊÃY¼øæЬSb-µ† é:%$¯¿N><›5“¦ßÊ+Ù³¸p2®¥P2 ¤\®\!GñäÉ/lij6o¦Y§Ô¬XA¥è‰JEÊæóÏ©¼½”¼öE‚-^,m¿†P·. ò•ùY¿ž&@]ºP)SçŽU©BÊæµ×h+e5ðÊ+™¸ŸLf¦D““)‘îìYº¡GŽ76mŸÆâÈl ©-fLþý—fº¦ˆHêߟ|@€´X ©*)‰*}+•æÍIŠ"E`†…Qb°0dˆé¾3[[2/Nž |ò‰iú¨Ì(VÑ\¼xÛ·oDZcÇpàÀ½Çét:DFF"::¢(bРA ‚Já»!ÅÆRØ«)xôøî;*léâBæ‰É“¥5̓mÛh.5«VÑg*‚ƒi‚1ožéú(Ž3hæþÖ[Òö[&]ºPÎËÁƒäÛÑéhs·~ýŒ_^ÇÆ†]|¤™Øºu”_žþô±‚@aÇ/¿Lû¤[:™DJ>¤"¦7J×çœ9mµ~½tþ3kkú=Ý»T¯.MŸR!´¢É­b!Š´…øáãïþ²·§(·ÈwfNfEsAö¯ÔÇÇ'ïïØØØ2ÞÓÓׯ_Gã'¡Tqqq¨£g* ›"Fÿ>}úÀßß¿ÌýƒjÕ(¤R£¡,ô’f\•‰ï¾£Â‡Ròî»T¦EÊïßÉ xþyÚMJS͘1T^höléú”A ··þct:ŠÆsrRƽ·gÏ*°k]–…ìm »¢)r)ˆ¯¯/6n܈èt:DEEÁWOõ°°08šÒË[N¬¬Lë|6'îß§YR&hþò ™V¤4aå2d™P¤36o¬\I3~% ®r¢R)+QÙßß¿ÐÄ7552Jd“äãã“·Ú)ø÷Œ"5AQ·n]Œ;ãÆƒ——$——1_~Ieæ¥"- øâ‹²mÑll–,¡¤])ËéwéB¥‡F d_ÑèCßJ'<<¼ÐsµZàà`K!cbΟ7NKCyç`Ñ"yÃÀ)§JÊšntîRo‰ÍTN»¢a*çÏS•f©ˆ‰š6•·d}.—.ׯKÓŸ£#m»œ‘!MLå† £~øAº-«<¾ú ˜4Išþ !ׄ¦ÓIÓ_¿~@)ùÐ cXÑ0Š!1Qº"ŸK–PM-%9ÃÉ?µ~½4ýuíJ‰¿ cjXÑ0Š@¥s†ïÝK{ÈÈóU Pum)ög©Qƒ”;ØV4Œ"HHfà¿~òt¤.oS/¦‡Tþ)£Ý˜Ê +Füö›é·9NM.¤½f”d2+Šƒ)š9sLﯩWª3Œ)aEÃ(‚Ó§i'MS‘“C™ðï¿O”NãÆÀرäK2%]»Råo†1%¬hEðè‘é€(ÒVÕ3gšW­¸^½€-¨¢´©èÐ8sÆtí3 ÀІQZ­i&W¬ }FJª’­TFRR(çÇØÛ“’gSІ‘+WL·½ôδR2ç²øóç?þ\¸`šö•ì¯b,V4ŒìØØPkcsü8pîmgΰ|9m”vû¶ñÛ7×]XóbŒì8;S¦¾1¹z•Êï¿óŽqÛ• ª¸üÆlêbÌV4Œì8:Recqæ ðÞ{´0p£V³ÀÙ™ç´i´QØ ¬hÙQ©Œ—/²kÕ0‹Š¢}m, //`Õ*àÍ79ZŒ1XÑ0(aa¡õþû–½¯‹ )Ò¯¾"ÅÊ0J‡ cöddÁÁ@·nÀäÉrK# VV¤PSRHÁrFɰ¢aƒíÇRV(ªlî\àÉ&¬•ŠÉ“IÁ—¯6ÚÎôy†1%¬hEðæ››•eØñ:ðý÷T¢åãFL*ž¢ññ!E;u*•ò1”øxàða`äHÓÉÆ0+F!ØÙóæQ´XI;›önqr’FF%Ó¨}/'OÒfn»wSÅ}ètT¸óÝw¥“‘©¼(VÑ\¼x .ijÏ>[ê±>>>O=,•={öÈ-‚Ñ(z.­[ÀÚµÀ©S@rr¾ïáæMCB€N€#”¾¬”kboO¡Ïë×ÖÖ@P¤§Óû:pëpìUxõU ™.ˆRÎÅXÒ¹˜;ŠÍ C@@ޏ×lll¬‰%R‡‚¿¿¿Üb…âÎ%8˜ÂË—èhrvkµi5iP§ŽL–€Ò®‰J J?þÞz‹¶JÔ¬ 4hŒ´ióôg•v.Á’ÎÅÜQ¬¢Ùºu+Ôj5V¯^-·(Œ„¨TTµ¸W/¹%± Ú¶¥Š #'Š5©Ëh Á€0mÚ4ÄÅÅ™H*†a¦¬(vESVzöì‰%K–`ïÞ½ CTTTÞ{'NœÌ™3666r‰hŽ=ŠiÓ¦É-†Q°”s±”óø\”Fvv¶Ü"ÙMAÇ}yý,?7dÈDFFz¿U«VHLLĦM›Ê'¤Â8þ¼Ü" K9K9€ÏE‰ÔQ¢s² È®hŒáÄ÷ññÁ²eËбcGìß¿ 6,ôþ‚ 0{öì ÷Ã0 #UͼpŸìŠFW:¹ÇÆÆbÆŒ/tlHHÂÃÑœœ ooo¼øâ‹X¸p!Ž;†@ØÛÛ—ÚO.J‰`»xñ"¶oßžwúÐétˆŒŒDtt4DQÄ Aƒ•B6)«|J¼&e9¾Òb)÷‰¡ç(ÿšE±ŠFß—VTÉ€ŸŸüüüòž3Æ"B£ ñÞ¹s'nܸmÛ¶A§Óaéҥصk%’´dÊ#ŸÒ®IYί‡´XÊ}bÉ)ÊPåFfëÖ­?oèyÄÄÄ`Ò¤Ipvv†««+¦L™‚Sm2_”.Ÿ!”å”~¾J—¯¬XÊ}b)ãVqX¤¢±”ÐhCÏ#!!õêÕË{îåå…øøxS‰UfÊ#ŸÒ®IYί‡´XÊ}b)ãVqX¤¢)+={öÄ÷ß~ýú!,,Lnqð5Q|=”‡9]Åúh AŠÐh)¨èyxzzâúõëhܸ1 ..N¶pÈâÎ¥¬ò)ᚥ,ç ¤ëQ–p=ʃүKY0·kbÖ+𨨨¼GyñññÁñãÇ‘]lh´Tô<|}}±qãFz’îè=ÈÙ½&~ýõWhKÚà‚a†©T¨Õj´nÞDïû‰ ×0)x¶y›Î†aåʆa†1)¬h†a“Іa†1)¬h†a“Іa†1)¬h†a“Іa†1)¬h†a“bp ++‹¬VÃ0 ÔCõ‚ÁÚ£{÷îå†a†±|¸Þÿ¿Ü¹ƒÆúÏvÃ×׫·|…Aƒaó»1lذR?ojyÖný4™<†â°u殃ËëëMÖ‡Ò8÷Çy88»É-ÃX&Q4ß¾³±+#vÅb|·hàÁqØ2rÚ;6Ä—AÓ’oŠ®õÊÏ?ÿ7þŠ&Wž){cQìo…ä™ýý¬ù¦³›ÇÄ?ÅŠWFÂwö›F“§4êÌÉW*j­ŠìòõgG½/c¡ù'YßÌB£6ÞpïÐbö}XU»Ç'6H*G«V­pìØ1ÄÄÄàáÇHOOGjj*vìØ^£zaàÚ4 ~kü0sæL$%%å=._¾ŒË—/céÒ¥¬l‹Ã¤•2ï]¯‚›‡ÿ@·F]á(Ø"#ã1M233QEm‹–i"¶Mš„1‘‘p¯ïe”>‹®Í} ïŽyócŽ`óÌÚw›Ç Ç´=ш9¿øQ£‡"hg4"!è«h¬Ÿ>ï~ˆí æ`ó»1þ¥üÁ]—ayB:†Mcü1çǃyòD Æäí?`ýÈ!˜üåˆ=¶íÁºi¯MCÐA@È[Ѳá°÷wN1zEÑè¤iwˆ_…å ýé6?‘'êÅ¡yòïØ­¯¼ˆqŸìBÔè¡¿m¢^z®<ûW¼‡»vcä‹å“§4> Ô™».ÿµÓŒÚGIÜ~¤†F›kiÉÈy²à¬D ²´¨f£†‹­O| ÕÝ ¨óŒ/dB—þ´7“£AÊ:ÇZp œ/™Ü Š"t:RRRðï¿ÿæ½.<pëå[¸…[y¯U«V ñUã‘““S¨Ñ£GãîÝ»’ã·«·à¦ÍÂ3MkBu»\ë4h´9ÈѲÖjEhu:R8Z'¤ab·fˆˆ> °¢aŒŒI6íÖÌø =u‚ ÔØw Ï,A×þ`kk‹ô¯bÓÜYh–üÎVUÐ*ÕŸOŠÿmØ×:u+ÔwîLýg»ñBçæ‰>„ c_ÀìèXD½8 ŸDÔ Ï!xÛ—øbÎtlþn"!hg4¢F¥•ÄKÏa¶o±fÊ8 y'6„WxES’<‘þC0uÏ^¬>1§ÿÀ¡ÅsÑçíˆ=SwìCä¨!˜üùX3e††¾S!y ¥ ÙL 4:w©—–«*vðpu† Ò`¨ÕéØáFÖ#8fj‘~ê3x׳…}‹AÐeÜ„ö1­bR¸ãÑÍ4Téý¬<I&{.¢(B«Õ"''·lšà^oX[«Ñè•áhf­†µ• ÖOþ·±VÃÚJ ÑZW{k¸Ú[£Õÿ·wÞñQT{ÿÎl6ɦ’J" (E *WÅNM(¡w‘"(*(6°£\BB‰i El¯W©Þ«"*¢‚ „IHß2;óþ±dIÂ&¤í&ÑóÍg?›93ó̳³ó›ß9g΄r¯ù÷©“%òŠŒü~úmÚß‹ï7b2šøúû_0‹PTE±bU¬ªŠÞàAFã\V¶¿\®¤ÖÛh.=ÎoÉÛ¸ûÚ;ð‘¼Ørúî˜>æ7ÝLãÆ1 x4oJÔ¢Eüdá¢fÂSvãÆ\ŸZi³‰ŠŠbã'‰<Üùf¦%¬gÉÞLMù‚út㙯¾eQn<óÉÖMÄú/¿bBÿ><ùñ6èÎãw؂ͺâ†E0qÃNæŽÀÔùËèÛ·oµÛhÖmº¤g} K‡õ-¡çõèÆËÿûž%}z2mÇ—Lè߇„m;ùbÖT¦nÞÉâÝy|Ãv–ëÅÄ ;™÷èàé©,¶ê3בi”ù-û,~þ^4öó Óáæá‰^ç†N–±êtxÈ ¹²Žôf÷r>#kÎa”ÜÃf§sæ ‹W|¢Þª“ —3Y–lÅMæÂ±ï9”Ë[—ðý–ønó"ömzŸÝb=÷'MVGÂ#3ßÄ+,œf×]Glj“ømõ‡´°¸ókN*­]U--QQQ,^½…ùã†ÛÒ‡ôbòæ]$?ÍÊäŒëÁÒÍIŒ‰ìÉŠ­Û×7¢Ôûø¨Þ<±0ÖžÑ,݇IKWqpu\µ3šÅ«·0ô`{—åâ`óÆÆDæOŠfYRнº¬¤®e‰)v]_¾ü$]^|—ø‘‘L‰_Sm=~MU¸@Ê“²Ÿ‹»9—DF¦¸6M’mJ§JHjõ®‡5@‘l‡¡¦©XU ‹jfoþœ¬ü"ÌV+ª¦¢¢b´(KêG[8Tø}ß~‹wìââÅ‹téÒ…]»’è;¼#’›7šå"×µ eÜTw’“¶0ø·9~ü8ú€FÇÅ;d#cc¹¦ÓmÕÒ’˜˜ÈØA=é<~*±“ÆØƒÍ y‹Ùþò³¬Øº±}z9 2Å'÷"é5w)‹wg\BKÇ gõæO«Ñ8Ò³q;‰OŒ¹"ƒq¤ëшîÜ>}K‡õbüªäéI]0ÑÞu¹8¨ÈHH*h—º†\ž~9¨¨¨Xe(uø(*’ ’нŠíT Új««¦¢¨*&UÅh±`–ží}ª¦a¶Z1) f«‚Y±bR,dæU{{Î ûP:Ín¼žÜe¹d6ÏD–°šÙ³gW¸ìœ9sÐéd.(P4…Ì]™°Žj³UEÓl]§%IºÔQÁÖ‹ÏlQ0Y,˜-VÛ×kÕP×vþü³¨•@Óþ‘GøìýŒ\´¸T»J@@V¥ÎŠfÉ­ø†;ƒG¾~¸¹]–àÎsß쮑–¨¨(V®KdÁØaLX—BüðÞö“{·—Þdçì™ö̦ødþøüÅÓ_bÑ€n¥Nî±CúÐsö\vΞYººìþÎô?EºÑç½åö†÷¸Q‘<žð ›žžÀljÛ>¸zÍ£CúÐsÚ,êe×3aý6â†F1/ŽØÁ=‰˜Ç¢þ]íAfÕŽ]ŒïÉmOÍ&vhO&|´¥Ã{ÕXOIjr#fMLIô¨èd³j¥P±`RlÕ8·´GÓT«íX1^š'ë$çiQM‚ƒƒ™4i;wî$ûÖæÈ²LxÓk9xð ·Ür‹Ãe2@uô$''“ðüT&ůfÉ¥‘ìN̆íö÷Eý»³f‹=øêѵTY2¤1k¶±äÑþ5ÒS$Õù7l†zYiáJ¾"Sh²¢ª*EŠ…"Å‘3ü”šÁ/§Îr05ŸOžå×Sè%M}} òÖ9]_U1 ÜqÇ´hÕY'ñü;±ôìÝI’¾zöéÇÛ«¶ ëd"£Òµk×ZÑQd2c4š0›,˜&d]q{–Dn~EEFŒF&“gzÔê%øáü CÍŠf)DSŒ ©hÖB4Í ª‚Ål,5&TmP|Çüš‰,?б«’X6²7ã?²Ý„9nÍVâ†EðÈs¯óÅÛ/¿!…ùƒ#·z+±C{2öÃ$–­ÄŠà­ÄOùâƒwk<2@±žè5É6=k“Y:,‚è5ÉĈdÂGÛX<´7q‰)ŒïÁ­O¾r9“¹Ô6;¢s7ïàóØùN@“%g%ž¥ðÖKøYÉÕ{`±æ£˜mm z7¶¶lY•u*M|}ñtÓsM£Pü<ë_ )F–%dY¦Ã]]øx÷at²„,K¶®t’²„&ÉöwU’¨­°ž™_D¡Ñ„îÒÍš²±€à ´KÉËÁwˆIDAT&£“Ùl«:SJw68§MÒ¡Y @Ò¡©PM`5ÚªÓœ@ñØb£†Dñò¿ã‰Áãë·³tX1ë¶•xäÁ™¯±|Âp†Æ®+U=5~U q£"˜±j{âÿͶmÛ.YVͱÎJê¿6¥ÔûØUI¶›1×mgÃÄátxâEâGD½:¹TЫ =W£ägÅЧœÔ9ePÍ@O E Àr1“k¼¼HÏ-ÄßÛƒ.횃Šª¢©&£‚ŒF›f\à~õ×!:YB§“±¨ðî¬É¤¥þ…t©¿¶$ÁÛ‡˜Y¯qC‡[ÑPµKC\:êÓ]E¦÷¸‹Ÿ§óç_§mÛ+²–ëÛ\@‘Ñh»‰ÓjÅdºüÌw7·\çÚHÿ œh,%¯’$ MÉIšÕ’‡¦) ZÊ_A (9Zò«Ó&0pú,b‡öⱕ[X>ºcW%?"Òþ>èƒ5,ÖËÖ»ld„=ÈLOØÀgï½Î—_~YjhþšŒÞ\¬gÅè¾<–°…å£ú½&Ùþ?"’ÿ^EüÈËA¦¶õ\MB§qE÷gÙ¢ý±ó× õ²â­àÔÙ"Â}TÒóm÷uX5ª¡“%Âý½iæß„æzôºúWÉsæŒmÐÌÐÐPºvìHX˜mæ…êš/ 䦛háÙ‚cEÇØ?w?!ÆsÜXz?rrj®Ã×Ó„‰ýxù“¯q“%2ŽüÁ‡ï´ÏßùŸÿ•*ß,4€ÎíÚâgð`j·;k.@ (ƒsÕ´–®o±7Ð4¥”BTK`«§6ÔrMÉ“û'óߤ÷3Ø0i8£â7±dH¢W'?2’q IÄŠd\ÂVâGG½*™e£{óâºDþïý¹ìÛ·ïÊ'uV3£)«g]ÌPFÅo²õnû0©Lp±U“E'$²ì±~¼ðÑ–ZÓs5NÏŸHó§bKÝO£S%RߟZ«Ûq„·^#OÍãö¦í¹Xh롨¡Ùï— òÖÕëê²ôôt¾ÿþ{~øaòòòÈËËC’$F ÅÂ9 Q_UIÓ§‘¶#;Ýï¤mÛ¶¤¦¦”Èvj'€úzº³`d·KŸj§ÝG ¨..h£ÑP-yH’ "©f4µt½pQ-ý¸Àñ-S½Ã”Wß&~ToÞüd'k' fDì{³ìÑÞÌÚ°µ1ƒyoó¾Yº€Ï>ûÌá-k’Ñ”ÒóÚ»¥ôŒŒßDì°žŒûp++ëˬ ÛY5a0 ?­U=•¡ø^›â`ãÊÇ*6ýu¢ÜùŠÕŠ›®â`“g®››³Ï§Ó´EkžyæÇÒ@º[B{ÏÖ³ìwÞ¹¢HçάR p=N 4Š$ˆÙlæØOpìr5™¦Ù²¿ÀÆh^…(Š‚^¯Çl­VgG'ãÄÄD>xù9Ö¬ßÈŠ™SxjA,k‹ndݤ¡ÌÝ˜ÌÆ¦²ýë}¤,zÇáòµ•ÑØõ¼ô,kÖodùŒÉL_¸”µóBÂ6LîT=•¥à¤¿¦*²k3ˆ ­ê®à–ŽÈ»˜Y£uœ>q´Üy!áhû´ß##44¤.wwÖ¾Ù³‹ÎVkE–+«½^\¾Šf¡!öÏ™¹y˜Ì7þgd_déÓO\1Ý ¯Z¶³uû®rOʵñ^Õ ¢¾é©o8:~j“ª? á§ >‘qúã'?Uó@##ŠKnØÁ?h@àTD SF NE@ 8•JÝGsôðAgëA£u{Ç¿(K¥MeW&AYDÕ™@ œŠ4@ p*"ÐÀ©8l£9øÓ!WëÁ߀[:v¸bšÃ@Óåþ.F /ÊýÜa ©éPé@ #Úh@àTD SF NE@ 8h@àTö:ûæ³­®Ö€,KxûúsmË ¿jùÌséœ<þy9¨ªsŸ•þw¢ª>ÿqä0»¿ù?22Ò±*V(ü{ sÓѸq8÷Þ÷ 7´mÕòÂçê!|v Uõ¹$Íý=ú׊°ª¢ª*9Yøãð¸éÝñ*·lNv&Çþø…Ú߆`0²,’³ÊRŸSOçó];é7`-[]έRã° «¢püØŸ$mÞˆ‡§æ-Z–[Vø\}„Ï®¡*>—¥^eY& 8”¶7uâ¯?SPPPnÙ¿þ;á³k¨ŒÏe)'ÐÔí— ËÒUÛ\TUC–%êZkC¦2>[«¸ò«!:7·«¶ŸkŽðÙ5TÆç²8t¼¡û†¢³Á#Œv Âg× |v9"´ ®Š&²F— |v Âg×S/«Î*OCÑÙÀ6»á³k>»Qu&¸*â Ð5üÓ|nÒ¬i§N¸|» Ñçºòª¶àê›]Ã?ÑçºØç†êsCÕM=»¦>°g÷nûkÿ¾}üúË/Ö™–ú€VþŽüþ;#G?ÊõmÛs}ÛöŒý(G~ÿ½T™&×¶(õù÷?þàö;ïbi||ë¯+Ÿ;ÊøÇ'rc‡[hÙúzEö!eÛ¶:÷£Øg¬³>ÏeÉÊÎs…W5ù«*"Ð8 ²ß@"û ¤kHBîáèÑcètuÓo" 8¬N¶[ ­n_'ŽŸ`ȰtëÖ•þ{€þ{€nݺ2dØN?q¹l ­?üð#C† çÅY³ˆ?¾Î÷¡.|N=‘ÊÀÁC¹ç_ÿâÛ¯¿â·_ñÚ«³INÙ^÷~”ù¾²ÏÕÞǪhqµîÚð¹¦i¨V+Gÿü“ýûö³ß~Ž=ŠUUÑ4Í%¯ÊàÌífO'÷â‚‚(ÈÏÃÛ×UUI=q‚ï`ßÞ½ü~䊢`1[ønÿ,K©uY̾;`›^Þ²Åe÷ìÞMÚéÓü÷¿ßÙ3*€mIŸ°g÷î:õ¹®ê÷,dBô8FŽ7>>ÞŒ1œ Ñ㘿ðß%ÊÚ´~»{7Ñbxáúõí]çú+ÿˬÝmΛ¿€‰11<:z$ððpç¶[o!~éb{™Ô“©ŒÍ ín¤Õ m1j4çÏŸ·ÏoÚ¼%k>úˆÎwßKËÖ7УW$¿ùÍ>ßb13çµ×èpëí´¿¹#ñË–ÛçY­ o½=—Ž·u¢u›¶LšòùW|_ Ýç«ë¹ú¼ªxÕ´yKÇÆrËíwp}›v<ýì L&cìWå)7£I=y³Ù̽÷?Àƒ]»cU5ΦŸIªòF*VE!íÔ)¼¼½Ñ¹¹‘vÚv7lçÝCב¼|8s&½»ž à`ró ¤Ë–fdœ%$$”àÆMHKKs¸¬TÂO‹bå®ÎwÓ«O‘ý—³«À«~é,\uqQÞk÷ž=DEõ½bzTT_¾-„vìü”gžÉ‡+Wpï=w×¹öº¼pÚ½g}úDVXfÌØñDËO?þÿw€Ö­ZñÊœWKéÞ½{[6oâ×C?Ò½[Wžñœ}þ{ räÈïìÜžÌÞo¿ætÚiû¼E,áç_~açöd~ÿ_<<ÿt{¾ý¼·àßõîx.I¹æÂùó´»±žžŒ¹4»¶égÎàååSå44¶%}ÂÞ={8pàgÏfСã­(ŠBFFmÛß„—/y %ãìY¼¼ý#õø_¸{z¶ƒ"ãl-[µÆl*"ãìÙr—-¦ýM1xy““}¬óéöéYçÓK}þ§‘••MpЕ‘}±Ô´IS¦òÊË/róM7ºJ^½%;û"AÓôåçŸr÷¿:ãéᯯ/3g>Ëî={K•yë× Ã`03ž_~=lŸ·ys"¯Í™Í5ááøûû3ç•—íó6lÜÄ«³_!<, ooožŸ9ƒOwíªÝl4kÑÊá«$6nbÎ+/WÚ«9¯¼Lpp!!ÁÌyåe“œ½5ÂaÃb±`±XðoÀŬsX$a6›p÷0{1ËÕ:¢X,NYoq6QXÏO?~Éd&'ó¿þ¢¢"$I*¥ÅËÓÝþYE±>wþyï¼õ?ô€KµÖŒÚõùîÎÙ¶óSÆŒUn™)Óžæ¹Ïp—{ñññ¦°°Ž:—ÑâH—mZHp0§N§Ñ²E‹+J„óÉÆ®¸@p´×âêmV´½Ë>VūӧÏмùµöÿmýmÖ(·ê,00_DÓ4,…Ô“§ ®§'Bç¡“e¼}|ÈÍϧqãP~úᤥ##-•ÔcGØûÍÿÙƒ’£FMF.df¢ÓÉ„4¾†Âü<‡†T¸¬#Ütnäçå¹d?+B’êö5mÊDV$¬býÆMPPPÀú›X‘°Ši“'ÚËk}äላ]Äs/¼Ä–¤­u®¿²ÍšÎð-nÙ ÖoÜDNnf‹™C?ÿÌ”'§Û˘L& žxxºs:-Y/Í.¥Å‘®’ÓúGõáÕ7Þ"ã\ùùù¼ýî<û¼ÃóÂK³9yêV«ÂþÉ“O?[ẢÏWÓS™yUñ à·ß!+;‹¬¬L^k.ýúDÖ»ã¹$åf4M›5%íL:?þø#š¦Dû›:b¬Ç陳 æä‰ãÜrÛíœ>uŠßŽÁd2âéa ÙµÍð &7û`ËjŽþ…›;tDÓT‹€°ðp2³²+\¶,aáaìþÏ—(ŠÂwÞé²ý½’jYµÈu-¯cuÂræÎ{7çÎàŽN·±:a9-[¶,SÚ¦õŽÛogíª•ŒCfVÆ¥þS»>·hÑ‚u«˜·àß¼;!Æ"#×_ßúRfhÛÖÜ·^ç·æ’6m:áaaŒ7†í;?-£Å‘.Û´©“'óö»óˆè3MÓxbòDû¼˜ñÑHÒJF=͹ó縮eK&OŒ©Äº«·YÑöªçU§N·Ñ³w ˆèÙƒ©S&]e;u‹Ã@#I:Žæ×6ãÆ›:àaðÀTTHa~.RuBšp†Ž»îºëŠu7jÔˆÐÆaxyûDó-ñôòF§Ó¡( …y—=iܸ1-Z¶ÂÇ?€œ¬óöé’$U¸¬£í6iÒ„ëÛ´ÃËÇI’8Ÿ~ªÖ÷·RÔƒï»mÛ6$,¯°Ì±ß½b™}ß~íDUµŒ|nÕª±¼_îü‡z‡z°Ô´ÇÚÿ/ëiÙizw=/½ð»ÇUg åÞPt6p$ñÃt Âg× |v=Âq@ 8ÇM5M«MTMC–+ÎVdYBUUd‘ÕT›Êø¬sÓ¡˜ÍèÜD¿‘êbUtn¨!|®9Âg×PŸËâøQε"§úäådãíۨƒÁÛ/€¼œlüU‘¼å‚ƒCðóóG’%\ûÜ‹†û²* Çÿ:ʶ¤-tyàaBC Ÿ…Ï öUŸ‹)ȽHÊŽ]Ž3š½_m¯pag!Ë^>~„5¹ƒ·CùPúѺÍÍœ<þ;‡rPUÍ…J6Uñ¹y‹–tëÁ×_}FFF:VåŸ5Ö]Mйé ãî.~MS᳓>»†ªø\‡¦MÇε&®ªèÜÜ0xzâíí}Õ²A¡áxzû‘Ÿïø.|AùTÅçÚ¶§I³æÂçj |v Âg×PŸKâ0Ð4nܸVD¹ooï*ï´ êŸ]ƒðÙ5Ÿ]‹èÞ,§"@ œŠ4@ p*2€ÙXX×:@ð7Eþvï~)2¢'^>~u­E 23Òxâé™|»wÿåñ²‹¥.5 ào‚åÒC"‹‘>ÿêiðÀþä]̤¨ ¯N„  á“™‘FîÅL¦MŸÁç_}#A™Ç´u}è> àí9/à¦wÇÃó.t  òÄÓ3ìAÊyh—»;‹ñ\@Pe¾Ý»ÿЏòÿU‘íþ¤Þ'IEND®B`‚traitsui-7.2.1/docs/source/tutorials/images/interactive.png0000644000076500000240000002523714046644454024566 0ustar aayresstaff00000000000000‰PNG  IHDR0‘Ý.‚ bKGDÿÿÿ ½§“ pHYs  šœtIME×ÿêî IDATxÚíÝw|åðÏ%iÓ6ÝI´ÌRÊÞ "ˆeˆ¢²Q‚2dªld *üô'ˆ[䇨¢,{+{J'mºWÚfÿþ(„¦3…RÒôóöu¾È=wÏs÷ÍswßORôÅÄm¹j=–N™£‚ØŽQ#""¢G¨×B•¯ð¥ÑY*ÆÇÛþ1%2¦¼òL+ãü7†ÁÝÅ †‚lèó³`(Èbôˆˆˆè‘$RˆÝ™…Å›þ1ÆHî&/ïÏ }AÔiJèó™¸Ù‚õ;Î?”zÇöi^míhUipöôÅäþMÀøõ®3‚ò4 zèrS™¼ÙˆÏv]D¯þ/¢UXý*­÷Ìå(|ºýGD>^míh2 “Ч1$ÝÛ…?zëehsÓ ÉI3[±îËß'³ù`”ÙüÆud¶S4·Üm¸¼Û=É—·àæ/A› \øk%ú̺ ÑÓ¦MCnn.’’’àîîŽùóç£E‹…;ĪÍIL¨[‰y?KÀÀö>ðlÙž-úA"“C“yi§·”X¶ñø-Ø;xwdGÌùö¸iþÞ“WW>~¶Ì¶›LüpûÏÕ·{7?èò2~ö¤ŸûµÄrI×CÞúyØÉÓ0Qm6 MÉ!Q÷fðé2QgàÝEs‘“¯Ã¬9‹P§Œ:ö^Í€5}>yG‰Ñÿ «WnûQâ¦Øÿþ쿚‰‘oÌE—ncp5!rå_fËΔãöÜ¡Øuæ62ó øß‡³áÝiNýñ=Þÿ`ž1/ }×s᳂ X܆¢Í@øt…ËG~ò%‹Ðëù—1bÌ\» ÷ø](RU‰íøëÄår÷yïÕ,ügX=x´ì_aþ½¦A"óÄ—LÇž?÷¢aã¦xyÔ\;zMüœØYÉ6˜;ϦhFc¼wk§¼vžm당/†cñK$.0÷Åp<ß1°Ôu‹·S˜[èï%0F½†rn÷¤¤d!;Ûƒ¦¬ F å:`gÀ ‚ðϯÿA³F2ü÷ƒp<7ïìííïeI¼…DµÔ݃¢Î¿ÿ4@Þ²?`ÞÂwU&šù8âÈ–OЮËSeÖ·íTÂKÝÙv* ý[¸•¹Þº5ïA—£D»`Nÿº]ºõDÃ./àóÙ›1 •»i¹¯Ö­T›‰Žõœ¡Ñ{–ø ÜâOü } ;öÇšï¿À ö·áÙ¼`ɪÿÀÞ †òïmÀ˜ hÐyþ;í[¼ÔÆ£Ìí@û^,63_­¸ ‘#tZ-.ÝŒC#o¸ª®cÃÊi¸©…Çc"x»HØqÉöýCÑL×ùŠÚé×Ê o?×K·^3›ÿös1 ]2×+ÞNanQ$Q« ŸWöC¼wzöÆ ñjáhlV4 x Í<¯ç<؉ö¯~™âÓzåÕIdËÊzfY?Oعx”I‰èâ_ÝR*ÝFφ⠳»m¸Øê\؆·oœˆV!ÌGŒ»¿¦¥¦à±®;‰ê%ÀÕà žž†ÐzÎ ™…£)Þ>8Ÿ‡æu$haaÍœ€[7Û6_ß:8«Bs?I™ÛQÖ>ggAnûÖ÷Û8|òÕf d%\ÿ~ŠSŸDTr\Ä"v\²9Z­*µé¹ê*­W¦ÖA«U›Î?–´£RëJWÞ:ÅÛ€M‘F`6$\œ&|2ì·= ø{‚ÆÄtêGÜv¤îR@oÒ5pÖÁ´^yuÙ|SÊ30ÜУe–R:ðñõƒƒ]6B½Åp÷ò«tý–_fmx¶‘œtj­±™³e¥ $bÚÜ4Ø»zÃÓS©XƒF… Bj²j­ñÙF‹ÛÐd'Cê» #=­ØNqYÆ2·ÃÒ}¶¤à¿ÄG_}µSš·é€È o¢Ñóóqílo4ðâム­îü¿äo4ï<›lQ -½Ë¬ûÞ1Yv;wÛZ³3ªÄü5;£09¢~9moçÞyàN#‚ ”þé#+߀ÎëÔPë7bYö7èp{?ê6 }‚S\…"ÖO¥Æ:=vèCáùo2:µöÃÝz‰j³§Û—ùû'õš„×&ÏÄÁM+áêj +¬K¯VA,•ÁÏ?@¶EÇWimü´éHíÄÈ/寃]áGÚ…=ð{l^> W~ÿu» ìØö#¤v"ý UQÊ¿DPÏIûÆtœÚö1$‚ š£Cï!Ø´j ´Æ2·ÃÒ}¶¤†/,E 8yö* ÎŽ^å`Ãß¹˜ÔÍ ÏWdƒé‹ @¸3PQZj³º”¤¢¨)õË\WÓ1Y^;;Ϙ'/S" ÿ énÛkvFaJD}D´ò®°Â™Æ{ ‚¨ôO6íSbäã>øéh¾ô˜ ùÛááûüP^?‡+nmðØ$Ö|Ù·cNC¾ãWxy"00°Ì:‰l]iÏÀü³ì‰ÂщS[p6Q‡ŽOAçµ»P‘€øÃßÁ#ôñrëL<ò-ÜÛ 7Ý&¹[_yŽÜ‹W箇_hrÓ°åó•ØöãÿÐÈÇŽ’RF8î³· I:tïƒGB›“Š¿~X‹ß¬GˆÜEÖ­¨ä¶àDT6Ú<õz¬Ýè5ȉ»€³~„ŒŒîìVævXºÏ–´‘zaü»ÇÔqáŒF$F]ÀÒeËÁˆ ‰:<ÙHÊŽK69#•96SñøM™ë ÷ŽUKÛ™Q}ï$*S#êãÃ;IŒÅí9?H@$•ñÉæRŠA.Zôn­À{»âaŸ…›ë¯ ,¼ö»èãÛ[>.ŽpuuÅ‘#G0xðà2ë$²U§—wÇôŸ“Ê,_õ¼/@tu+üün¥@£3B.#ô‡­8|3·Ìº’Oþ€•}†+Iù¸ó ›©¾²ìÙ± ±§G|†y=ìDõqD{„È%%Ú0³F²‰Y_¬ÁíL-4:#dRõöò"ÐCbq"A‡˜=X=}+¢ÓÔÈÓêa'àïn‡ ¹=NÅi!*c;ÊÚçÒ¶»¢6Ú Ç±û·¿p6.™yzœÅ¯ã±HÄóÙîŒPÆŒ¼Ù§~ë—½®P$w(¯F~2S;}[ßeéÛÚÛ4¿‘ŸÌ¢v ÷"#0B9#0>>Ø~JW-úµñÄ.̇/´@ yüýåøê§Öð –ÁÓÝ iiiHMM5Ë’ˆj“þ-Ü‘«.ã>ðå|ô w‚¿‡žiꌛ)È×a€ÍÜP ½÷)£h]‚H@P‚<¥(ÐFMõ•ÇÏÍ}í‘[ŒFØ‹4ô– XnWb{‹³õvˆwAtºZ#ŒFÀN, D!A/I¥Úð°Cï¦2ÜH±GžÆ½ €«ƒ! »R÷õ®²ö¹øò–´Ñ!Ø 2 ²ò Ð ?Ù¹H„×±çùŠl7Aá±P\¿ÖÞ2°c–;”×NhBKù’:K¶A(%G1AñûKE¼×[ŠOÛ#>HQéñV|\$P+ŸÇácC,ÒBâÚR; ''~~~èܹójù‰†jŸnd-èa@ûJÕä)Egåou<Þ@Véí ¾—õ½¤ÜÔq·GwûJoGYû\Úòµ!w¡“3ÿ\šjU S˜Ty­wê6]ç««@(:SÞ-¤»™U ̆áÞõ7…F£ANNìííáììlö¤0‡d‰ó«zaÊqõX¬Ž6ˆèÁˆ—þM@x»UZïŨ³Ü¡ºÚ,|ˆ·"öööËå¥'>’%zdʺ%SÓÚ ¢û7²[0>ݽ=„ºÇ=ݸÚÛ)z®Z‡Õ3þ¼trþ=Áwšˆˆˆ¬ZžZñ¢ G` òó ÊÍfTˆˆˆ¨FÀ;2DDDTs™»7æ|{ ™©IŒY5e|4~Ÿ0ü³"""ªq˜À"""¢‡Íf¿’R«ÕB§Óñ&""ª)I‰D;;»ÚÀØÙÙ!.>'ÿ9”ÔTèõö """+#‹à¥P }ÛÖ¨ly²c«‰O¸ý‡Ž¢k×®¨S§D"Þ-#""²6ƒ·oßÆÃ‡aooÿ:µ;9rü$ºuë†Ö­[³wY1x{{c÷î]4вßS²Ùa‰äädøøø°WÕHNN¶xy›M`ôzoÕb±¸RÏ«ò ODDD5Nµ%0! ›0ÚDDDT³"""¢jM`Úuê FSjYvvz÷yYYÙV¿³;vìÀO<Èår < ìDDD¶˜À´oÛ?þôs©eÿÛô=Zµl77W«ßÙ?üÓ¦MƒR©Dtt4ÂÂÂðâ‹/²Ùb3þµ±øü˯a0˜?¬ÑhñÍw9fbãâ0fÜëhÚ¢ B›¶À裮 55µÔúJ{¦è<½^«>@Û!4¼%&M™•JUaùóÏ?Ñ¿¸¹¹ÁÅÅ3fÌÀ™3gØ ˆˆˆl1 o†  ìÚó»Ùü_Û–-š£^H0ÆŒ{£_}§OÅßÇ£~½úXøî²ûÚ¨OÖ­Ç¥K—ñÛ/?ãÔ‰#J¥XöÞª*Ýq•J…5kÖ GìDDD5ŒÅßÄ;~ÜX,oú<ÓÛ4ï³/¾Âò¥‹¿ïüÕ4_*•bæô©xìñ'ïk£6ÿø¾ýòsøú~ÝÌo¢O¿çðîÂù¦enݸrß;-ÀÛÛGŽa/ ""²Õ¦c‡öD";~:vÀC‡áá᎖-šΞ=‡¥+Vââ¥ËÈÏÏ7K*K©LF§#JM:ª‚ÑhDNNÖ¬YƒQ£FáàÁƒì DDD5H¥þŒzÂkc±nýç€Ï¿ø ãÇEšÊÆ¿1#†ʼn#ðïõ˸xöÆÒ³&‰¦×™få^^ ?|·n\1Mÿ^¿\¥;îââ‚iÓ¦áäÉ“ìDDD¶œÀôx²;’”Jlݶiiéx¼kS™Z­†ƒT {©qññ˜ýöÜ2ë kŠõŸ‰‚‚(•ɘ3oYùð¡ƒ1û¹ˆ‰…N§Ãµë×1iÊ4³eîç!ÞáÇãòåËÐétHLLÄœ9sЩS'ö"""[N`AÀø±‘˜ùÖ;9Ú¬låò¥X²ì=„·hƒá#G¡c‡öeÖ³ôÝEøý?ѬU;<÷â ˾66íÛ¶Á°‘¯"¬ykLž:½z=õÀ;ûì³ÏbÈ!pttDË–-‘––†Í›7³Õ0B×ÎCfj’MíØê×aܸqðóóã»LDDT,X°S&¾Vî2ÊøhDN˜ÊŸ ""¢š‡ 1!"""bsŸÄbQ‰Ÿ> """ë¤×ë![ž–Ølãíí ¥RÉADDTÄÇÇÃÛÛ› ÌcÛãÀˆŠŠ‚^¯gÏ ""²Bz½QQQضmëØÞâõ$¶ÿ:x¢K'üñû¤¤¦B¯çí$"""k#‹à¥P kçð¯ÃFbg°¦ákÎÞADDTè´è´šÚÀT&DDDT³ðϨ‰ˆˆˆ """"&0DDDĆˆˆˆ¨šIlyç®_½ŒÃ÷A©L„^Ç/³#""²6b‰>>~èòxw4 c} ìÙ…!¤~Cˆ%ö"""+£×ép+ê¶mÙ ©ƒ#ê‡X´žÍÞBÚûç¼0x84nÂä…ˆˆÈJ‰%4hÜ/ ޽îJ¥²h=›½²'%Æ# °.ŒF#{‘• ¬‹¤ÄxäææB&“U¸¼ÍŽÀèuz޼Õb‰¤RÏ«Úöž£/DDD6ɦ#˜À1©y 1©iù 3¢šÀ?0 qÑ÷]NDL`l-ƒ!"[9^y<QmI`8Côh¬]÷)–¯X‰Ù³f`ükãªäxåñLDµ&áùލú lذ çÏÃgŸq‘‘‰D~¼òx&¢"lüÇœ8qªæißþýðôôÀ+/€»»;ö8`V®VàÍé3аq´jÛk×}jv¼VT^|R«Õ˜9{6B›6ChÓfxëíw V˜Êê†`ÃÆèØ¹ B4B¸rõŠ©\¯×aÙòhѺ-4Åë߀J•Ë÷’§G21)<Ýœ8qªæé›o7`äÈ0xyäp|ýÍ·få«>XÔ´4;r¿ïÚ‰cÇ›¯•ŸÞ[¹ IIJÚ¿÷ý…˜ØX¬ú`µ©>‚Ÿ·ü€KçÏàé^=1cælSùG‚ /b׎í8{êoH¥R¼»t9ßKNœÁĆˆ‰ØØXœ;ýûöôï×çÎ_@\\œi™­[·aá¼¹ËåP(äX0o®Y•·í—íX0o. 9¼¼X´`>¶nÝf¶Ì²%‹áçë GGGŒ‰‹—.›Ê¾ßü-˜?__Èd2¼5k&vïÙÃ7“ÈÊÙô30ê|ßa¢jôÕ×ß -- 7)1Öô©€”ÔTx+ ÅÔIaoo…\ŽøøÛ¨[7hv¼VT^œ\îi¶|\|䞞ŖÊaqâÄ©:¦ 7aØÐÁ¥– :6~@À”IáîîŽ.Ýz"¢ÿ@´kׯìx­¨¼ø4}êdxzz¢{ÏtïÕ~¾¾xsò¤"Ë”¶î½yã"Ç ]Û6ñÊ„·j‡©Óg¡WϧøžrâôH¦J\á»vîh>¾¾þ<ØlóäSOã—-?"¢ßÔ ®W©¬Žˆˆˆª‡^§GLô¿Øùë6<ÙëÈœœjwS78½žéƒý{‡R™½NÏ^BDDdeÄ1¼½}ѹk7øÕ €££cíN` Qhüë"77—=„ˆˆÈj“  “É,^ÇæŸp•Éd• Y?þ51!"""bCDDDTL©ÏÀœ=wž‘!"""«Ð²Es˘®Otg´ˆˆˆè‘ËÉL+u¾¤2 Y>CDDDL`ˆˆˆˆ˜À1!"""&0DDDDÕ¬J~ éúÕË8|põ¹’Ä1||üÐåñîhVáòiɉˆ½uªœ, FÐÒ,]$@æâ† F{û±?[IfœgÆ™*ç*M`b¢oá=»0`à „Ôo±DÂwÄBz·¢n`Û–Í:8¢npH™Ëfe¤!êúE4 k 7OD"žYÊ`0 +=×/Ÿ†ÄÎnröçGÜŸgÆ™q¦ÊƹćÓm|ïŸ{ðÂàáhи ß´Jgž4hÜ/ ޽îJ¥*sÙo\Fhx[x(¼™¼TzF…7BÃÛâß—Ë3ûsõôgÆ™qfœ©²q®ò˜¤ÄxÖ…ÑÈ[÷+ °.’ã‘›› ™LVê2ªì ¸¸{2XÀÅݪìŒrãÌþ\=ý™qfœgªlœ«<ÑëôÌ8« ­èž©Á`„H$àr¿D"¡Âg‡ØŸ«§?3ÎŒ3ãL•s•'0fÕ‚af gbœgªÂÆÈQ²¥óû3ãÌ8ã\;¾oÕwˆÃÌ8ãÌ8G`àŒ„¸èšq|ÔÐ09|uéÊORÄ83Î6{N¯‰q®I׿‡–ÀÔøãÃÈ }Ø<>ÈHMb˜‰qfœmsŸŒUuUÍþ?Üÿüƒ‚ï«Ì’ÿªcû-Ýë19lšŽ;†K/"//¯V}b}}øîÔ04 ƒ†Ãõ7I_{Ðc¦ªú³5wW¯]Ãð‘/£ah††aøÈ—qõÚµrãuíúu´ißëÖ¯¯ç‡Ñîͨ›ˆ|m<š6o‰Ñ·?~ýí7«9—Úz®ªk¢µ‡÷{UY÷0'ÜgÙƒÖ]“•é;àôðzöî oß:¸y3 b±¤¶d0åý¹…ø˜[8uò8:u숉oL~t}Íúó#>æ¢oEcÐaèÕ«'Nÿ}§ÿ>^½zbÐaˆ¾]j¼NŸ>ƒAC†bÎÛoc\ddÍ8oTq›1Ñ1xá¥Áx¬S'Ú¿W.žÇâE °ý×Ös.µõþ\U×Dk¹þÝçuPÊ`ê†`ÃÆèØ¹ B4B¸rõŠ©\­.À›Óg aã&hÕ¶Ö®ûÔl}µZ™³g#´i3„6m†·Þ~juÕ¼sF£±Z¦»ÒS‘™ ¹ÜªÜÈ\Ü`0“'NàØÑ£¸võ*t:i]½Á€×oàØÑ£8yâ$âãã̶ߠ×ãæ8~ì8Ž;ލ›7¡7ª}ßIsçß..Îxmìܸy€z½Ë–¯@‹ÖmÑ q(^ŸøTª\dff y«6ÈÊÊ4«+33-Û´CVVf™ë=&Öö9Úuè„Ààz¨[ø5ÝuCîü»öf0ï¸cnjƈaCáì,ƒ³³ #† ÅØ1£ñÁê5%Þ»C‡cÌØqøÏê1àÙ~5èŒ_µm®úàCŒ7/wH¥öhݪ%Ö¯û¯i™˜Ø¼:z 5iŠúB1lÄH¤¤¤X|®Öj5X¸x1š·jƒ°f-°þ³ÏMeõyf0¸¯XÔ Á×®EË6íаqL›1³¯÷—ÁTÍ-¤j¸èXR‡ÁÏ[~À¥ógðt¯ž˜1s¶©|Õ«‘š–†cGâ÷];qìøq³õß[¹ IIJÚ¿÷ý…˜ØX¬ú`µ]X«Ÿ^§CB\œd2ˆ%$Ä~SbÇN¡gï¾ptrÆíÛ‰­N‹Ç»õÀ=z!/¯À¬¾˜ØXh4ty¢º÷|zƒI‰IÀõ­bæ!÷áììl¬]·aaM`4ñÑÇŸàÂŋصc;ΞúR©ï.]777D<ÓÿÛô½Y]ßmÜ„ýûÁÕÕµÌu‹¶{îüyìÞù+boÝD\tTáû…¸è¨GÚŸ«+i-k:|äž{îÙóŸ{îY:|Øl_vîÚé3fáë/¿@—Ç:?òm”q>|äú÷ï[î2¯ŽŠÄ˜Ñ£pîÌ?8óÏ 4¨_ó.²ø\ýþ‡«qõê5ìÚ±GíG|B¼©Ì’>oëýÙÒkbeb'NœÄ»wâÈ¡P*•xÿÃ5VןÂŒõX¶d1ü|}áèèˆqã"qñÒeSÙÖ­Û°pÞ\Èår(r,˜7×lÝm¿lÇ‚ys¡PÈáå¥À¢ó±uë¶ZùÜßoÛ~ÂÑ#GpâÄ $%)ѼE+èt:(•J„†…ÃÉÙªœLøùyC™”'™+ %wíÈj IDAT%MÂÂ!up@¾* AAfõ¦¦¤ IÓæpppD*AH¼}NNÎ6ÓÀàú ®°f-±á»Xûñßoþ‹̇Ÿ¯/d2Þš5»÷ìŒ~õ|³a#ôúÂo¨Ôétøî›0f̨ ×½kÞœwàéÉŸ¡(.== yÉöTÈåÈÈÈ4›÷úÄI˜?oš…7­õqËÈÈ„¼‚þô׻ѹSG8H¥pqqÁ¬Y3pøÈQ‹ÏÕ[¶lÅâ… PÇÏnnnX8ž©Ì’>_Ü=ŸŸŠú~óX8žÅ±Z8žéú·pþ<«¿þUÉC ê|ÕCÝH‘H„¼ÜlˆÅbóѽ"‘Ȭ}'{ÓkÑþÝ×)©©ðVx˜^{+<̶?5- >^ž¦×¾Þr¤¦¥=ôý³”N«­Ög` O•‹sgNA­Ö +-Ç.±¼T ]†Z­nîžÈLO†^§ƒ¨ÈÈŠN{·ÜÃT.h4jØK‘™nq~Xï÷Í+ça4ÙsæãìÙ3ð’{ I©D·=Í–ê|ý}Q/¸.~ûíWôîÕ¿íØ…V-›Cááu¾ªÜuïrsq*±OÖЧõ6¸»»ávB|¼½Íæ+““áîîf¶}‹ÌÅÌYoÁEæˆvmÛÔ¨ ]UÇÙÝÝ I·àå¥(s™³çÎcùÊpéòäçç—Ú/Ë;W'§¤À×[^ê¶[ÒçEߪî6o^9_êüMš›¶%I©D÷§zY«¢×G/O¤¤¦ZÍõï¡%0ÀÃþ÷õñÁQ ml6ÿú›¨ãç[¬}¡ÌíSÈ刿ºuƒ ‰får¹§Yy\|ÂOj£äÛ±€àຸxî Ú´m ;;{<þäSppp,u;‰ ÔÐët…‡F]~¹ºv;ˆŠ%§–ðÐêAAAøpÕ <;ð%tlß^ ~Ú¼±Ä…ô®W^OÖ­Gï^½ðõ†X4Ži+Z·¢cÂ6ãl™N;à—í;0öÎhÖ]¿lßN;˜mß‹Ÿ‡§‡'^›0ï-[‚Ov«AGrÕÆ¹sÇŽøm×n¼:rD™ËLœ< ³gNÇ]»ÀÙY†¼¼<´hÛÑâsµ—B¸ø„—Xâþû¼­õg¡Â²Êƪèõ/>þöJë½þUÉ-$Ax¸Ó°¡ƒ0{Î<œ;­­çΟÇ[sæcÈà—LË•¶-Eç èßKW¬DFfÒ3Ò±dù{få}#žÁÒ+‘ž‘Žôô4,^ºýûE<ôý¬>Þ8wú$ÄDA™ƒ˜¨«8zpŸ)Ù‘+ä¸tþ, 0B§Õ"6&Ö¬.OOO\:F£Z­1±qPx)`Ðë­çtÿÞߢ¯}}¼Ñ®Müºc'† y ïÌ]€Ø¸8èõ:\¿qS¦Í0-ûx—ÎÈÈÈÀÆï7C&“¡iX“{ÇFë–¶?n®®¸}ë‘÷çê8®Ê›&O/¾ú›6ÿ•J•J…M›À_}ƒÉÆ—ˆáS=ºáÓµaö;sñó¶_ùö?ª8Ož8Ÿ~ö6mþYÙYÐh58á&NyÓ´ŒZ­†£ƒR{Ä'$àí¹ Ì¶¥¢sõóÏõÇ¢%Ë LV"77ËW®z >oký¹¼öŠ–U&V°dù{¦ëß»ËV`@ÿ¾VןkÜ̸1£áäè„·ç.@ttŒiT`ðK/bİ!gõS&MÄœù‹Ð¥[O¸¸¸`ô«#±wÿSùô©“1ÑtïQx%¢7Þœ<©ÖŽÀ˜}êñR 6úZ¶nƒø¸8\¹zju¤Ž „«‡Ù©ð÷G|B"Μ: ‘H???dfÞ{ž 0 ·qæÌFÈår„…·@U S ÕRï båk°í§ï!_bÄ+cœ’Œz!!˜0~œiyAðÊÈX°x ¾øô³zÆEŽ)wÝÒÚ9ÏŒ¼¼°³³+5ÎNNθ~é4œœ\`ïàÈ?Œ¬äÈKVz*n^=‡:A àêæ^fœÙŸ«§?3ÎŒ3ãÌ©²q¾K•‰_wîyðoâ€ëW/ãðÁ}P*¡×éyÅ´4{”ˆáíí‹Vm: ¤~Cxx¸—»|Zr"bo]‡*' ƒ‘´H$ÀÉÙrï¸z(*Œ3ûsõôgÆ™qfœ©²qî}o•$0 R©››Ëw£ÒožŽÉdŒ3ãÌ8ãÌ83Î&0UöÄ‘L&³¸qbœgbœgÆ™ÿŒšˆˆˆ˜À1!"""*-Ñä1DDDTs˜CG }û<'gWFƒˆˆˆ¬Vš2oL›…CGßûýoVËÈ‘UÒª Ì^‹à½…—^x9™iÈWå0JDDDd5Ò” ÈÎLÃä7gâ½æßHßóÉǰ|á;ØÙC*u`Ôˆˆˆè‘zcÚ,0%/%˜»ºvîÈï©'"""«pèèñùÊÿ0þžÛó2%IEND®B`‚traitsui-7.2.1/docs/source/tutorials/images/code_block1.png0000644000076500000240000002543114046644454024412 0ustar aayresstaff00000000000000‰PNG  IHDR0Ž/®2CbKGDÿÿÿ ½§“ pHYs  šœtIMEÖ  ˜8ê IDATxÚíÝwxSeÿÇñ÷IÒ¦mºÓ]J[F)P@–L‘!¨ˆ8p ¸y|P†(¨€ ²d¸qëïQQ@q ²œ eïљҖŽteþþ(„–Rhéú¾¸ÂÕœuŸóÉIÎ7÷9IÊðÈÍíí!„BÔmØ¥\°{jÕ¼¾úoG!ãøã‘›ÛÛ§>= _/lÙXó³°dIzB!„¨ŠF‹¢qCíîCfò1^þüoGoŒæ|ñ²ðùDZdQ˜nÀš/…‹BQ,[÷oµ,÷‰[Ú^µv̹éxú‡0fpkûGv)€<“ ›ÍŠÅ˜&Å‹BQO¼»a/ßMûVM«t¹»öãµ+qsÜUkÇ”™ˆN«"Ïd@Ó§s¬ýµÆlLÇ”“^bÆÈ‡?¾¢†O}ü°ì=B!D ±Ym´mÞã‘ÍUºÜ¶Í»ñÕ†Õb¹ªíX-¦ÞÝš3Ù…v €ÝfÅt6›ÕRÅÁYdïÂIÑý€ +ó¾(?+!DÙìvV‹saA•.×ÕbÆn·9ŽóW«­òÎ3š¬\6›s±Êƒ³J#˜f#–—;îè»÷:µŒÇßÞɲmKÝ?¿lg—SŸò,o›/ÎJqQG‚͆ÅbÁTÅ……ÖbÁf³9Žóµ³÷d:{NṯwL‰qŸÿr€6Qzâ¢ô—lç|m‘•k*ºˆ×V¬{¦ÌƒÃGq()ß„ [T©õøéýnó¦ƒY,Ö¿k_²ðãÑèüycÖ³lüqÍ[´æádžshû¯´ õUÔÏæÜµ)¦ê(`ìNíTÔÎmB˜rw/¯Ü[ªp˜rwwv(sÞ‹Û)ª-¬ »ÕŠ­‚Ó=gÎd‘̽cß›Î×7kÌßß,¥MŒŽ7^㎗~ÅÕÕõB•$§Du¾Ç ¸Þ€þšÁ¼4}&äfÒ&Øm«Þ¤sÏÊ]Þêéĕѻ³zG:ƒÛù”;ßÛKæaÉ1Ð9JÇÎoÞ¢gïþ4ïyï=¿œÛÛû:¦ûðí%hÍ™tmâ‰Én-ðÊ¢7ñQ,$ü±î„æ]³ä‹÷¹÷Z?§Ûðo{ ³,ÅÕVˆá¯Õ0|ͺßÎã?ណ~å®ålsÜEÙLxôÒm¨\ܱ˜Íì;OLÞ¹‡ùtþx’2ÍøõP䥑WÔ¿ÆZ=0V›ã8©vnmÈ‹w´`öׇJ ñŽÜÞ9¬Üù.n§¨¶(VÀŸWþE¼½ºÝ‰«ý $,êÍ: =hãM¾\ÔP`á—Å·‘©蘯¢e QŸ•w Ìœ[ýqñ À’L—hB¼Zøœ©tý›«/ù<;߆—«XÏ¢6‚BÂøãd.­‚Õœ¿ü5=í =šy£÷P¨àí@FF:±M<Ñ+™E½)AÁìNÈ£m˜†vN¶ÑÆ3€ÿ}ý}‰u c×é\Ú†jÊ]ò¶ùb.N´áóó2BzäÍ—c³ÙÈJ<ÄñßaÇ_r,5/µJv\Qï˜Í…äZÈ0Véru…ÌæBÇë3íäZÊVÑ<·P`*VÀ( %º„/fŠƒëêÛ < öä3të‚;'`]:øjÁj‡ ¾Ãº8æ«h™BÔû"¦Œk`~8båš,Z¿0‚CBqsÉ&6Ho`h¥—ïÌó«DAEm¤¦$Qh¶r:ÓVbZ­F¡y€‚F­`6¦ãê„¿¿­ÚDLDQ–j Ðl#!Ûît¦ìT´¾¡ ¹©'g3Ò/ڈϲ—»În³3mDýµ’×>ü‚BÆ´íØ…£ž!æÎ©Ú}ÍåwßD}¥œû¿ôo4¯ßêÔ^Tî²/<'Ëoç|[KÖ+5|ÉúcŒØ´‚6.nçÂëÀ¹F…¢”ýî#+ßF÷· )´þ9ÙÓ%é"mŸrm¢™qÍp:„ÒNƒÅÊ:k,þÇSéÖ!”óË¢!»±…ké^‘¿¾¤ñ€ÑügÌ6>ooW÷{ê’˲æ¢Öê ²z~•ÕÆ—ŸŒÖEM~gxÝ\Šz8Ò÷l$´ÇƒÜóÀcøþ"{ÞÀºÕ+Ѻ¨(þFêRmþZIãþ£yâégÙ±úu4Š•FÍÚÒå¦ûø|ÁX Ìör×ÃÙmv¦æwÍf°ß§ü¹û ‰ÿõ^åðé_FF÷ö#@'¯W¢–/Š‚r®£¢¬ÒfqEEqc6-w^EQÏÉŠÚY¿«dñ2v`ѧη½dý1ÆlÊÀöA—l§h ýBƒ¢ ¨Ê~góÚÏêÌ—ÛSøÀoú•kñèkþ¯ÿߎômaÉ7‘tj'úußÐ(Пˆˆˆr—)D}WÖ50Ϲ¾¨wbÇ*v'[èzã}tkgIØúøÅöªp™ÉÛ>Á·óŽÓ$ç—W‘í›7ñè”e„†5ÂdLgÕ{óY½ò3b‚Ýq×”ÑÃqî9›´õ#ö¤XèÓ C†>„9'ŸV¼Åÿ>^F´Þ·bó^ªÔ¿WñDZl:ÞpýÞÚV9ñ{Øýã$ž-àñî>宇³ÛìLi{6ÞçIÆŒC±ÛI>¶‡Ùsæ€bgO²…¾1ZÙqE½ì€QU¹}3—î¿)w^åÂsÕÙvÆ lÊ s…ʸMYt®ˆqºb¯•¢ *ç;3f{™¹©Có6$àšM€š^Ö´ŠkÇ/¿áäï«É8Ý„`/w¼½½Ù¶mC‡-w™BÔW;_éó_¥”;~Á!¨~Í´¯þi˜,vô:5±+¾fëQc¹ËJýsó_{—)ùœ»†Í±¼òl\·šÓ;¿'ál!y&+n.*bƒÝ ós%Z¯)Õ†ã9k·‘ýûL| I™fL;:­BÓWûi‰ðÓ8݆JQávj#‹Ÿýš“é…ä™­¸¨Â}]h¬weG¼U9ëQÞ6—µÞ—j£³ò;ß}û»ãóÉ̳¢žîjâÂÒ%+D)ï”L]kCqùêÅ;ß­å§jXöÈ[\õvŠ¿Ö(Z5±5ûArŽÿ!´B!jµ¼B+O~z¬¨¦ ?\c¶¤"„Bˆ:A°rýfIB!„u§€Ñù1ù“ßÈLK‘4„BQ«Nòý¨qÈÇ„BQçH#„B)`„B!ª›|%åe2›ÍX, B!„¨ª¢D£ÁÅÅE ˜êäââBü©ãüõÛVÒR X­V E!„¨$µZM@P0»õ¤I³Î;ÝåIŒ?ů?}OÏ~ ‹ˆD¥RK(B!D%ÙlV’âO±yÓ´Z7Â#"¥€©NÛ6oâúƒéй‹„!„B\ððF³ñ›•Ü3ìQ§æ‘‹x/Ó™”d‚ÃÂ%!„¢ 4ŠŒâLJ²ÓÓKs™¬V«œ6B!ªˆZ­©Ôõ¤RÀ!„¢Î‘F!„RÀ!„BÔš&ºyË2o¢$EQ·‹Ùív&NœˆŸŸþþþ¼ð Øív M!„¨¤J}ŒúÄ‘’Ø%œ/HÊ*`–-[Æ–-[Ø¿?v»!C†ðþûï3|øp N!„¨„*9…4yêtV|¹ªÄ°å+¿dòÔé@QïÍ[ï¼Kç®=iÙ¦=žŸD¡Éä˜Öd2ñ¤—hÓ¾3mÚwfòKÓJŒÿuó ¼•˜VméÙ»Ÿ}±Â1®¬^ ââ›·ä½>¢Ûu½iÓ (úÑܯҩKbã®aôØñäææ–»ŒªòñÇ3sæLBCC cÖ¬Y|ôÑG² !„5QÀLü"_}½†o×­à›o×ñõêµLü¢cš?ÿú› ëÖ°ùç0¤¦²déëŽq ^]LŠÁÀÏ?~Ǧ6p:>ÅK^sŒæÙ‰Œó4{vÿÍŠÏþ={öVjýþݳ—uk¿æøáý¼ùö2öíÛÏ·k¾bÇÛÐjµÌ™· ÚÃÞ·o:urÜïØ±#ûö퓽P!„¨Î¦¼k`\\\x}é"æ/\Ì+ó°àÕ%¼¾tQ‰dš:åEôz˜:e_¯Yë·æ›u¼4ù…rÇkÝ´¤¦¦’ž–NXX(sfͨÔFNyq"þ~~ŽûËW~É´)“ F§Ó1á¹gøþûKÌS§ËŒF#žžžŽû^^^äääÈ^(„BTR•] ×s×;xuñRG1R\D£FŽ¿G4"--Ýq?==ÆŽû‘#HOÏpÜëõ¥¼öÆ[,}íM´nZ¦M™Ì€þýœ^ïÀÀÀ÷ †TúÝ8°Ä°²®Y©jžžžF¼½½ÈÉÉÁËËKöB!„¢’ªìcÔ‡æ³/–óÆk‹yçÝ÷9_b||BB‰¿.8z½¾ÄøÓñ èõþŽûíÚ¶á½wÞdÇŸÛ™3s“^šv¡Óh(((pÜ?{6Ó‰‚&€ß·þʉ#·ó§—ªSëÖ­ùûï¿÷wìØAëÖ­e/B!j¢€ÉÏÏgì3X´`oº‘™Ó§òÔèq˜Š]ˆûò¬WHÏÈ -=3çpÇmƒãn½åffΞë?ýåYÜvë Çø1Ï<DZã'0™ÌØl6lžj¸UËX–½÷ ©L.VÜ”çû‡òü¤)œ:}‹Å¡Ç=v|‰iªã"Þ‡zˆÉ“'“œœLRR“&Mâ‘G‘½P!„¨Î¦¼k`¦L›ÁƒÜO×.×pC¿¾Ü6øV¦L½p­JçN¹ià`®ë}z=cG?å÷Üøqèýý¹¾ïz÷»‘°ÐPÆã߯ÏõŒù_Z·ëÀœy xuá<ǸÙ3gðý?Ò¦}gî¸û^Ç:Tä?OŒàÚNöУ´jÛ1ãžcÀ€ª$Ðâßsñ÷ÁŒ9’ž={ÒªU+Z·nÍõ×_Ïã?.{¡BQÙãíuÝ»Ú7oûÌ´”jk$ºyËz÷2Kç½Ìˆq“ •½H!„¨3&Œbô„)NcH8ɈQãä§„BQ÷H#„B)`Ê"?A „Bˆ:WÀÔGjµ›Í*A!„UÀjµ V«¥€©n!¡’%!„¢ $œ:I`ˆóŒ‘æ2õèÕ—Í?|ñðZ-ˆBq¬V Ç`ÍŠOèÑ«¯Óói$ºËI¯¾ýùqÝW¤¥°Zåt’BQYjµš€ `zöîGxD¤0ÕMãâJ«¶iÕ¶£„!„BT‹Ù„Ål’¦¶„,„Bˆª%×À!„B !„B)`„B!¤€B!„0B!„W™| é >¸Ÿ­›Æ`HÆj‘ïB!*K­QJÏ^}ˆ‰m%Lu;uò?lÜÀíCî%ºisÔ‰R!„¨,«Å‰cGX½j9Z7w"£¢šON!]¦M?n䮡ЬEK)^„BˆË¤ÖhhÖ¢%w }€M?n$77שùäÈ{™R’h‰Ýn—0„B4Hƒ°ðp¬–+ÿMÀF‘¤$'`4ÑétRÀT«ÅŠZ£¤€BÑ0%%%…Õb¾âe©5êJ]O*ÌÎ!„r¬™ã¡0RÁ!„u®‚‘æJ79}$„BŽƒóòòybäXöÎÛxx¸KSYÑÍ[râȪ~ä„Bˆ†^ÅTx<;î¾^½–½ý–0•UåÅ ÎõÀ4j|áóì §OÈŽ.„¢Õ.÷Àüï³ÏùßgŸ;þîÕë:†ÝŸ05ÿÈ]º€I8u¼¨‰l"×Ì!„¨ŸÇÁ2Žobܸñ%†7žŽíÛÛ⊛®3_dWXXÈ3ÏM¤e›ö\Ûí:Þy÷}¢›·tŒ?Ïð‘ÿ¥u»ŽÄ¶nÇà '--Í1¾ø´ÑÍ[òÙçËéÙ»1­Ú2è¶;9xèP‰öŠO_~åéü­²ÓËMnr“›ÜäVnåßZĶÀ’HNV†ãfHI¤El‹ —Uïz`.Z‚ј˶͛°ÙlL|ar‰ñÃGþ—é/M楋0™L,Zò:ÓgÎáµÅ Ë\Þ¶í¿ñåŸáããÍ»ïÈó/NaõªUÞsEÓ !„µºæÜò)¤ò­ýv+>ÿ?üýü˜2éy6ýü‹cü÷ë¿qü­Õj™ðì8zôê[îòfΘ†ŸŸ/O Œ×Þ(yaQu\3#„BˆVÀ¤¥¥æ¸ß(<¼ÄøÝ»ÿaöÜùìÝ·Ÿüü|E)wyç‹777,—ñ5È…ù¹Õ:½BQ›™ ó±Ùl5r|«3Œ^¯'1)‰Æ$$&–ÿäÓcxñù ôîužžžäååwM§ê]© ¤*™^!„¨ÍÎ×Ê8¾:|„n¼ÅÑ©àîîÎ×Ñ"¦yÃ)`Ȭ9s™3ëeìv;3gÏ-1¾°°7­W­–ø„æ/XtEí9ó½1 •+H*;½BQ«ëÇÑ­ôñ-6&†sg3jô8ǰsgS%m×™fü¸1ü ›·luŒŸÿÊl^žõ ÿ}z,¡!!Œñ8ß®ßpu*Ï 4mÑúÂß±q;´Oöz!„õ£„QÊ?½÷¶lÛÎËW2ôÞ»zï=UÖr)`ÜÜÜX¼p>œûPÑñã'ø|ùJÇø~}ûЯoŸó »¨ãïâ½)eõ¬\<Ì™‹x9#tü°+B!dýÀÂysÈËËcá¼9Uz%Eú"»—gÍaôS£0™MÌze7ß4 æ9!„¢!W0—8º»{ðÑûïVyËuª€‰ŠŒä†’—ŸÏ€þý;ú©]•J%û®Bˆëüq°&އuª€yðûyðûkOÝ©RËÞ+„¢ÁR(Jå·®è“SHB!®à`,¦Â9Js™Ô5³µF"BÑ0…†„PX_%˲Z,¨5Î÷äÈÑ÷2…„6"!þ$£šHB!ÄJˆ?IHH¸ÓRÀ\¦¾7ÜÈšU+xëíDF5©TÕ(„Bˆ"V‹•S'³þ›Õôp3:)`ªSdT4n¾…_6}ÁŒÕb•P„BˆJRkÔ…ÐýºÞ„†5ÂÝÝ] ˜êÛŠðˆHŒF£„!„B\v£ÁÝÍ Nçô¸Ÿ­›–_s¯$µFMpp(={õ!&¶•ä,97¨œ«´€É:›Î±Ã{‰iÕÿT*éÔq–Íf#+#Ãûw¢qqÅÇO/9KÎ "çS'OðÃÆ Ü>ä^¢›6G­‘ß•u–Õbáı#¬^µ­›;‘QÑ’³äÜ r.õ¦éJ?~d?±qð ’ûJ¿cUáDl\'ŽÙOnn®ä,97ˆœ7ý¸‘»†>@³-åžÒïX54kÑ’»†>À¦7JÎ’sƒÉ¹Ê{`r³Ïâåë/Âðòõ'7û,F£N'9KÎõ>ç”äEDb·Ë)ºËÕ("’”äÉYrn09Wyc³ÙQ©@¸Ëçª\òZ ÉYr®O9[-Vy§Zï\/u­…ä,9×§œ«¼€¢óêœ%g ZHÎ’³¨ÂF!*ýz/½\’³ä,j¾€‘îj=E„ä,1 ÉYrr ‰m[·Ð£çuuãùa—Œ%gyÇ*$犄GD‘Rr®ÅYÕª¦®—ž~ÁœMK‘_2–·R³ä,Ûܰr®ÃûGø¢‹m[·^Ö8qùyŸ¿ýþÛoìÛ»—¼¼< ¦ždZ[ž3öZðïà¡C<ðÐÃ4mEóØV<ðÐÃÍ´é/³mûoX­Vºv¹–ů.$00€F‘M˜3{&o¼ñ†ÔTZÄİèÕù´ŒÀl63û•¹¬új5‹…±£Ÿæ‰`µZ™7!_¬XIn®‘ýû3¾ü¬!œC²_r\e²jÙ„žŸÀ»ï}@®ÑÈàÁ·2{æ ´Zm­Ý³ëÝw¥ççÒ±sÜt a‘œ6‚á?Æ?»þf×ßåò–L šIDATЬiS¦NŸQb½·nÝÆW«V°ïß]Ü8 ?ÏMxÞ1~á¢Åœ9s†–­âк¹‘Ÿ›EãÆ%æM;s†–­ÛâææNAn6#HNJÂÃóÁ.ß®þ’íÛ¶ñÇ’b m»öX, ±­âððô"7'“ÐÐ ))xè¼%ãjÈ444„S'Žãêææx±1¤ˆnÚ Sa>†”” €Vqíp÷Бu6ÍÑt¾7¨øý†&#ã,úÒ?8 ×sölf‰aÿ}j4S_šL›¸Ö4tgÏf¢÷¯øç6~úá;ºw늛V‹——'>ÇÖmÛKL3gÖË„†„àîîÎÈ‘#Ø»o¿cܪU_óòôi„…†âããÃô©/9Æ}±|3¦M%4$NÇ 'ðÝÆ îqˆˆjZæ­¸/–¯`úÔ—œÎjúÔ—ÐÀô©/ñõ׫kuUr Éb6WëJ*Š‚Ýn/ÕŽÝnw¼Ó¾¾–žŽZ­"08Œã˜¦°°w7-Z7WyqÊ´ëRÖzv烙1k†TF£‘Wæ/pŒvß=Lš2ÓññX­9ÂØñÏU¸ìº˜ó¥ÖÇ™q•É `Ö+óÈ8›AFF:3çÌåöÁƒjÝþ\çz`ÂÂÂpÏÌâĉäs°nî†G~®Ñ©å4 '!1™];v¢R© %3ó¹îFHLJf×®]Øívôz=­âÚQP‹»Ð®–ÀÀNŸ<Á5:’σ),,ÀMëNDã¼ýÈ>›&WC¦ç{aîßK›¶í°ÛmXÌEŸ( %=ãl…ó^,$4„­¿þ„ÅbáÚk¯m°=0M¢›ðɇï1wÁBfÏ]@çNøäÃ÷ˆŽŽ.s];wìÈÿ}üŽIzFO<þXƒë‰ŠŠâ³O>dÁ¢%Ìu1ù4oÞì\OVQ[sçÌdÖœ¹$Žy†ÐF<þ(ë6|çtÌèQ£xeþn<»ÝÎÓ£žtŒ9b8Šò>2œÔ3©4‰ŽfÔ“#XvÃë©lV:uàæ[ï$77—[n¾‰ÑOý·V÷ÀTI£\…OøûùÞ¨nžŽïΰZ-äÉÏ5¢( ]ºt)µ>Ň)j5‘‘´nÛ­›v»¦ÍbãÕj5‘#h×­{ÑG¯ óóÈ3f_•m¬ 9_œÙy¾¾¾‡à¡ó"0@OdT4n:Ôj5‹…¼œìz‘quå|%™ÝO?²2Î8†+ŠRá¼eµNó-ñðôFQÎ$Ç×\L ‹mÁ‡ï-«pšc‡ö•šç·-¿ÔJ¹rnÚ´)o½¾´Üñýúö¡_ß>%† »h¹™^<ÌÅÕ…)“^`ʤJŸ6P«ùÏÈüg䧯ú¸?W´ÅÇU6«‘#†3rÄð:³kשo&ËÏ5^²·¥¬ãâÃìv;9™äpá‚Ѽܜ’ã³2ÈÉÊ !++GSa¦Â¢Eç³É3f—9¯d\õ™äçÉÏ+{ÿ¯hÞ²Ú½T[ ¤~i$gɹ¾nƒ|µª¢¦^.%ÉYr–m¨ÙF‘ÿ*UÇ’³ä\ŸrVI’³ä\Kœ8r°Î­³0r`’sP©äÀ*9K΢† 9ÉzÕŽ¬’ä\b–|ÉYrWR4JB!„¨k®¸F¥R°Ùlµêׄë›ÝŽJ¥HÎ’sƒÉY­Qc1™Pkäs—Ëj± Ö¨%gɹÁä\åŒÎÛœ¬³xûúË#p™r²Î¢óò­pç—œ%çú”sHh#NÑ8²‰v™N.9KÎ &çR…cdD£i>>œ‚<ãe5êááÉá};ñððÂÕÍ]>°WÉwªYi=øa›áíã‹‹‹‹ä,9×ûœýýõ¬ýêKñööAQ)€]nNܬ 'ŽåÛÕ_q]ï~KÎ’sƒÈù¼ÜìL¾Y¿åºî]í›·ýFfZÊe¿p¥§&súÄars²°ÙìòJî$•JÁÃÓ}P#¼ýðóó•œ%ç“óáƒûÙºùg †d¬«èì»Nš  ÚwìBtÓæ’³äÜ r0$œdĨqUó)$}P(n:oŒF£<•~ð4¸»¹¡Óé$gɹAåÛŠðˆHÉYr–œ%g§s.®Ê®8Òét•n\HÎ’³ä,9KÎ’³¸ò1j!„BH#„B!ŒB!DYŒ© O’B!DÝ)`¶lÿ]tËÍxxzKB!„¨µÒ ‰<=~"[¶ÿ~á÷¿-f³$#„BˆZÉ\XPâ¾ à‡M›•{œÌtòss$%!„BÔé†D²3ÓóÌ~Ø´YJ~Szÿ¾½ì¯LŸ„ÆÅ­ÖMRB!DzzüDGñRª€9ïºî]åûÓ…BQ+lÙþ{©zåÿeY$¥¡G IEND®B`‚traitsui-7.2.1/docs/source/tutorials/images/traits_thread.png0000644000076500000240000004702014046644454025100 0ustar aayresstaff00000000000000‰PNG  IHDR0ØõyÙ©sBIT|dˆtEXtCREATORgnome-panel-screenshot—7w IDATxœìÝy\TåþÀñϰ8À€ˆ K"²© ¸g.©Yš–•æ £4Ì"K4·nŠfY^ËòÞʲŮ÷þîͬ›•¥%·‹¤f.hÒ‚"‹ °ˆ"‹ÀÌœßÈÈ Ã"8ö}÷:ÍÌyÎyžïóÈ0_žsæuxìîþJ]ë…B!ZÛG;ލj¯³«ùâ©ûoVŠËõ¬~vG5*[ûÖ‹N!„¢E_IIY9ð¡â¬¶åÍm‡Œ‰ŒñÉcw÷WbçFÒÁŠå"ôe0\ºÐ& !„B¨ìÔ¨ì°utå|v*«þ}È8cUÉËkKf¢¿tò-ú2I\„Bˆkiã×Ç®I½³'ô¹áÚ©,)À¹£7Ï„÷P>ÚqDePZaÀ`У+ΗäE!„¸ÆÞÛñ cÃ'Ó¿gP‹Ö{ä·TÞýr+Qw‡ÝpíTœÏB£¶¡´Â€ÝíƒB”¿-Feq Lvì:íïÍjøÔß§5k!„âFdÐèÓÍ┄­·O·¡ìÔÐët7d;zިɽÈ+*W샞ŠÂL z]‹6ÜÒõ a-füéFÖùZ\!c#þˆÅ€^WIeù¥­·®E1?o´vÔ¶Pz9™±»PRÁ §òRq‹6  —FX±à¨-fËN¾÷EuÌ|'‘Q}®z]]·¥õÜêsí±âFf0ÐétT´ð¾Z§Ã`0?ëkçßñ',ªsʨîÍjç—Œ’2 ꬫ:†Þþî„ù»7ØTåJ*ªNâ5Ô˜ž1ç™hƒÊÎ.}§ààÖµFezT*666&û4T§ÖàŽ[Bë\¿azO‹öÿø‡SLÖMâ‰M¿_?UU6û½c×s£¨ÝçãLÇfòÐÎmš­Æ`ÐWÍXT´l£×U^®»:±0ߎ^Wɲ¨·¾UÞbv_KÛ9z2ÇØÎªGoá¡‘UçÉlIH5Yßã&MƒíT­»<SÝp}‡{rûŒ“»þ„ÊÖ@q1$ýw-'S¡8°`ÁŠ‹‹ÉÉÉ¡C‡ÄÆÆÒ·oߪÉ Œ¸AÜâzÕº­?f1é/:ö §cß{±Ó¸Sqþ,‰Ÿ]µm'>ãû'àÅ©Cx~ó~ãúïüÀïoÞg¶íЧ¾àlܸ˜D;Wt¥…œ;úç~þêªír6â>`"öšŽüþÖ Rá>`naã°Ó¸£+)àü¯ß‘øSP”Fµ*:ö Ç­÷xì]:¡+-¤ðØ7$þPÌÆêÊ7µûúÔƱ0èõ ¶áÔ9 Ï¡SQ{ø£BEéÙ_)8ú%§˜G!®'ŠáÚrÑë*Q 5íÔÓŽ^WiQ}æömJ;Ëþq€Sú°âßGL¶±¤¸’[˜ú÷d'¾Mq‰Â"J.(+?Ç¥Ü$þñÍoU¨°Q»ñ{ÚQô•iÌ›7ÿýïU K#n ÷¼zz³Cïñx ŸIê‘ݼøÂ2.–éXüü Üd¦Žï“/pÿú „=ó5`:»ó×ÈÀzÛOµíEükÑÄ'ŸgêÜe 5‹ä¬"ܵÿ5Ù.ñ¼;g—=ÌŽ#g9_fà_¯/Ásè£Þõ1¯­{•‰>Ń?Æñìb\O}‰J¥²¸ “ð>ƒßönçå—^`ìÄi<:+šãg‹è¹ƒU]Çú­Þ>Ÿ|¿FâÖ/¼Á6:]€¦#o½ô,߯}O·½˜6cÇ÷í&ÔÇ©ÞqâzP}ÎHKBÒ_>gD_ëÜ”ºÚ©N,–M«³®U[©w_KÛ¹ïfo–McÕÖ_ÓÄ¥ºý‰CºXÔTõË Œ¢×c¨çpO^ÞŠŠ¼xhÞ0(wì ÜìÇ¡¯þJïîÞZÆËwÓ®];ã~õÕ)„µ¨ž1¨éØkãpïÀò•/BÉyz{9²÷³·4|ŒÙú¶. æ¯‹êÙm‡ ï{õLOµwÖÿÝE-ƒü5$~µá£î¤ÛðyÉîïßÁ¸Ý¦wÖ£®<Ï@g*tàÐc,¯¼þ6®*™?m…‡£ÛpÖüÝâfqûLà¥WÿJ;C9ÚƒÛ`V4ÁÃîç­›ùÓ@7³qÔT³Ï5ÇbÛáMo¸ {Gt••üzò Ý=h_r‚¬]ÀÙó•¸Ýjƒ§‹B\Ïý5œÑŒŸ¿õµSÀèu•Ü?ÈôÏ®mÏËÌÎŒXØÀ½ý;ñÜ=Xýùq“õÏ=ЃûÝdv¿Úít5˜òòK”•š?‰wäЉ´Sò ;¹j÷BxÜJïŽðÑó·½-\ÒÿÆ}œ·oܯ¾:…°æÎyùÞŽØ»x ÍÉfp€Þ.*z¸æ5º;»Ùõ¿gªÛpi§â\Õ†§÷Mü”QBO/[ªO-ÈÏãÖàö¸;ÙÒIE{·Nœ;W@H 3îªóxxzq4³”>7ÙÑ×Â6z;{ðŸg›·÷M9]B;³q˜ësmö´áú¿xzœ·7mÁ`0p!ë8iqïrøàRsKq±µ©«j!®••å””ë8W\Þ¢õjÊuTV–—Ô×NI¹ÎøX»¼¾²Æ¶S»ÎÚëêÛ§v;—*j$0*&ÓȵU„=C»m÷AgOPÙ¡dçqiè`I‡¯  ƒô œ« Cä`ã~õÕ)„5©ë˜])zú]Тv» /oì‹ñ´¥C'ŸF×oÉ{Ť Ϫ6rsÎR^©çôyƒÉ¶j;Ý[Ò†ÿÁ­ümÓÇ”;ùÑgà`¢¢çÓ}b,ÇÞEp'¹‡›°ªËÿ¿úÞÉß͵¨†ñý<ÍÖ}åýe¾Ó=Ì—›/³¼oŽæ²þ›Ô«Ö¯ÿ&•gÆÕÓ—Úí\ùÝq9±A¥ªû/– e†½SN¹þÿx¹èï >OWÃ?¸%«’˜àdÍœg‘ðïµ´oß¿ÑO5X—¾¼[µŸÎ]€"‹Þ+uµñé¿ÿŽÚÞ–²:ŽÖ:ØWÍp$}‹Ï­ò§GfðûwÒuøÃ|½m+j{jþQÔPÚƒ[ñ»óifÏ}–ÃÛÞÄN¥Ç7¸ƒïšÂ¿_ǥʫyUÇaiŸ-i£Ûƒ« wûŽ&s)ëgÊÊ.ñƒÅ<=Ê üî×7•J… ¨+WoÔña_Ó¼ñAf÷U©TÆ÷WCíT?4Õ,kn;ß1M^æ¯úRuדʼñAŒïuS»ª•U¿gì.·ŒÊ¦î¿†þö?-SGzñé¾>t‹Á}ë—8w¢]Ùn´'~æw×Üú´ŽõÞÅÙS‰¸ý¾:Ò¥K³u aMê:æÐË·{ø3Žfë2n Ã6ìàRa™{þ‰[ÈÈzëÌÞ»™ƒ1&©®¯>û¾gú²øÜäKEqŸ½¿–m[ÿEw/Gíê˜á¸üþ;»ç#’rtÜ~çx&EL¥òb>ÿýdÿ÷÷¸ÛãPc߆ÚÈ=ô?¥1pÌŸ½aè+¸x&‰£q“Ux‰™Ã®ž©ªŽÃÒ>[ÒF~Ò:ßþ1‡¡R²S“XýòË RHÊÖqGwuƒã)D›RU}8וj[òÉYᆰ+ï;KÚ©/YjÉvbÆqÏåD%f|¯_nÛâv¸òÜÀF¥ÂÆÌ_C¿æUâçRÉ]<øËŽLÚåàájËHýïô ëKü)dì߯¹Óx¹8Ò¾}{öîÝKDD„Ù:…°‰¯ÜγÿÉ1[þêDol’?gÅþIzþ%*t î[B>ùœ='¯³­]WîOXû·÷ø=§ŒËç£ë3çÛ¯·q:ñ;2 Ë)­Ðã`oCˆ—#7¹µ#ÀÝîª6Œï?Å@ÑþYüÁzΞ¯¤B§ Q«òh‡Ÿ›š.nv·a£²ÁáÔ·¼ñìçd”SZ©ÇÞFEçöø¹·ãð™JlÌÄa®ÏuÅÝPƒTûÙ¹ý¿=SÆùR=*ÀÙÑ–°›œ°µ±‘ß=âºW5«`fvCó'ÔO¡úöUÕøL¿Úéî£1¶sÏ€+³,÷ ð4®ï¨›š30ªzf`ºxyñåá ¼ÚWrïÀŽì o*áR ¥::wvgÓ§è䯡c' ÈÏϯjXf`„• ïÛâr3Çt+cB˜Ýì¹»—3'ó(«P0 à`§b|oW.]¾üÊFeR—ÊFÅè ~Õ\ªÅX_}|\íéáÝŽâK`PÚÙªèæi‡¿»ýUñÖ|ÿzØ3>Ì…Œs:.U*( ØÛªð°#¸“]£Úðu³ç®^RòÚQZ¡ 7€ Ú;Øàa_g_«™ësíí-ic°¿n;.”и¨U„ÝÔN~÷ˆë^õ!—º~TïPßù Ô‹égúõÐNÈMBê¸H%1ÔnjÍÀPûøR ¹KÍšqíÈ<y%z–ÖàåbG¹v"{~<ˆ­M%víoAm/^ÄÇLJaÆ]®Vþ ÖmT÷ºßtµuqkG·«Ï‘©¯.¿Žjü:6þPÇÈ`ó1™‹W¥‚ Nj‚:YÖ^}mÜÔ¡7u0ß_sq˜ës]Û7Ô†»³ CåëÒÂZ]>g¤Åk½\·ñó÷FkT5g`ê;„Tµ±Š.n˜L5Ó¡A=zQQQÁÅ‹i×®ÎÎÎ&g Ë4®ÍwìÕ±ÌûäŒñõµx_µFBˆ+lT*~MË"lÐý-Zï/©Y&Ÿé7Z;6XxoCÚµk‡»ûÕW(9„$DK1wHÆÚÚBT™:ÊŸww~ÉÞ´Ñ×ã†m®ü~R è¨ügõ£\Lûé4+„BÑrJËõ<ñÔª˜Ke¥”µuLB!„±ØúMB[Ç!„Ba1;MOžßü#çóÍ_ïB!„âz ÍÌà»è˜:/|'„Bq]“F!„VG!„BXI`„Bau$B!„Õ‘F!„VG!„BX¹•«v}ñq[‡ „B\×î¼/‚‚ÜlN§Ÿ äâ Åì¶66*4.®øtÇÝÓ§IíIc¡É3çµuB!Äuiëop¡°€“Ç!(´í;z`SÏMa …¢sùœüý(vöípu«û¦Ðõ‘CHB!„h¶}ñßÑ-l<:Õ›¼@Õ LNt À¾øïšÔž$0↡RÕÿ†Bqí899àìÚ±Qû8»vÄÉÉ¡IíI#„BˆfS©lœy©ÍÆF…JÕ´TD˜F:~ü8>ø îîî¨Õj ÄÖ­[Û:¬kJf6„B4•®²’ßý]ee‹Ö+ L#¤¦¦2jÔ(n¿ývNœ8AQQo¾ù&[¶liëЄBˆëŽÁ` ù·ß¸PXHÊñã-Z·$0ËÂ… ‰ŽŽ6ÎÀ <˜O?ýÔ¸MZZááḸ¸àààÀ¸qãÈÉÉ1–«T*6lØ@`` jµš°°0ؼy3=zô@­VÓ¿’’’Œûèõz–.]Ч§'NNNDDDpñâE“:×­[G—.]°±±±(ŽÚvìØAXXíÚµÃßߟ7ë®~¬9séÒ%¢¢¢puuÅÕÕ•9sæP^^nÓš5kðòòB£Ñ0cÆŒF•7Ôçòòr¦OŸŽF£ÁÛÛ›µk×Zð/(„¢µ(ŠBJòqŠ/ÿî¾pþ/_¾œ¼¼<2228vìñññfû&„¢õe¤¥Qx®Àd]®6‡¬3™-R¿jİ!JÂÞ9Ÿoþ¯ó?º]_|Ìä™ó°··§¬¬ ;;Ë/ŸSZZJ×®]ÉË˪fòóóqww7–k4š«Ö¹ººRyùx¡¿¿?;wî$$$­VKß¾}3**•гgÏâãcþb@µã¨ÍÏÏ… rß}÷áççgR¦R©L’€Î;O·nÝ€ªsƒFMff¦qŸ””‚ƒƒ8qâ£GæÌ™3•7Ôg___âããû§¤¤Ð½{÷«âBqímýà ÔŽŽ {ŸÉzgçö888]µý¥K¥°ï»/Yk¿úh33ˆŠŽ‘˜Æpww7›TÛ¿?#GŽÄÙÙ•J…F£¡ À4­NTœœœê\§Ó錯³²² 5Æñöö&77פÎÚÉ‹%qÔôÙgŸ±k×.ˆŸŸÛ¶m«·ŸZ­–ÀÀ@ãë   ´Z­É6ÆçWª¯¼¡>çää˜ì_ó¹BˆëCqqùù9W-ÕÉKsHÓcÆŒið„ÝÉ“'MVVƒ¢¢¢fÏ øøø™™i<Œ£(ŠñPQKÅ1hÐ ¾üòKòòòx÷Ýwyâ‰'ê­ßËË‹ôôtãë´´4¼¼¼L¶©YžžžŽ···Åå õÙÛÛÛdÿŒŒŒzãBqc‘¦bccY³f ï¼óçΣ¼¼œðàƒ·)++ÃÁÁÒÓÓ™5kV³Û3g³gÏ&55NGRRRƒçâ46ŽÈÈHŽ?NEEƒÁdÈÍÍääd“ízè!æÏŸO^^¹¹¹<óÌ3L™2Åd›˜˜cù¼y󈌌´¸¼¡>GFF2þ|òóóÉËË«÷ü!„7I`¡[·n|ÿý÷|÷ÝwѾ}{æÌ™ÃäÉ“ÛlÚ´‰ àìì̘1c5jT³Û]²d ÇgôèÑ899Éĉëݧ±qL˜0{ï½FÃâÅ‹ùç?ÿi,[´hƒ 2ùÒK/½D§N "88___V­ZeRçˆ# # OOOV¬XaqyC}^¹r%îîîøùùÑ»woFŽYoÿ„BÜXä$^ TŸÄ+,W׉¿)Ba=ªOâmª¦œÄ+w£B!D³=zŒç^zÅ`¸|ÆyŒƒRk}Õã_׼Ш¦šBB!„Õ‘F\ ’ÃGB!šC!„BXI`„Bauä$^qÓo< !DëHIþE1€ P”ªç†êçJûëU/' Ì5$œB!þHüƒ1èõ —½¡Æs=ŠÁ`|^µÞ¨¬·.r©¾þúkn»í6pww'""‚¬¬,³ÛKòrEÍ‹à !„Í% L#¼þúë,X°­VKFF={ö4¹ ¯B!Z‡$0Gxx8®®®¸¸¸°páBŽ9bvûš³*•Š 6ˆZ­&,,Œ„„6oÞL=P«Õôïߟ¤¤$ã>iii„‡‡ãâ₃ƒãÆ3¹csYYS§NE£ÑàííÍÚµkMÚÔëõ,]ºOOOœœœˆˆˆàâÅ‹fã­¬¬dþüùtêÔ 777Ö­[gq,*•Š5kÖàåå…F£aÆŒ”——›ŒCõ¥ësc¶nÝ:ºté‚E}*//gúôé&c"„âÆ# L•””°~ýzFmñ>qqqìÞ½›ÂÂB¦L™Â„ ؾ};qqq2qâD¢¢¢ŒÛ‡‡‡Cnn.Z­–ÐÐP“›.[¶Œ¢¢"N:űcÇHHH0ioõêÕ>|˜ÄÄD´Z-ŽŽŽ,^¼Øl|+V¬ ))‰ÄÄDÒÒÒ8uê”ű$$$””DZZÙÙÙÄÆÆW¥]9iËr‡âÈ‘#Æ;Q7Ô§åË—“——GFFÇŽ#>>¾Qí !„°r/$ Ô¾Rõ,§§'{÷î%88¸ÎýjžÄ«R©ÈÏÏÇÝÝ€ÒÒR4ÍUë\]]©¬¬¬³¾ÒÒRºvíJ^^¾¾¾$$$ÀÉ“'éÖ­›±MvîÜIHHZ­–¾}ûšÌœÔÔ¥KâââèÑ£GƒcR;•JEJJŠq,Nœ8ÁèÑ£9sæÌUcQ×ø˜³³gÏâããc,o¨O¾¾¾ÄÇÇãHII¡{÷îr>’B\C[?xƒß§°0öã ºÉ'R0 ?ç rIÍ8Cÿþý)ÈÉäÔÙ\ú÷ïOÎé“ 6ð.O/Zfq[Õ÷B’˜&P…¢¢"æÎËŒ3,Þ¯:QprrªsN§3¾Þ¿?#GŽÄÙÙ•J…F£¡  ÀXž““C×®]¯ýýýMÚËÊÊ"44ÔxèÆÛÛ›ÜÜ\³ñeggTgYC±ŸšM”£fò ÷)''Ç$ŽšÏ…B´ž˜yÞ¿Eê—¦‰\\\X°`¸fmLž<™èèh²²²0 ™Ì$xyy™æÉÈÈ0ÙßÇLJÌÌÌ7ÓRŒ‡bêâããCZZZ“bHOO7yîíí]oÿììì(--5¾®™‹±¾>y{{›ÄQ{L„B´Žâ¢sVý^/ÌÏá\îYòΞ&73½¾]-" L#<òÈ#üöÛoèt:²³³yþùç:tè5k¯¬¬ HOOgÖ¬Y&å,X°€üü|òòò˜?¾Iùœ9s˜={6©©©èt:’’’ˆˆˆ0ÛÞ´iÓ˜;w.™™™\¸pgŸ}ÖâXbbbÈËË#77—yóæi,sss#99Ùdû~ýúñꫯRZZJVVsæÌipLêSdd$óçÏ7ŽIíót„B´Ž'3hïVu”!ýôY:zÞÀ™œ<}›?;. L#Üwß}L™2GGGúõëGAA[¶l¹fímÚ´‰ àìì̘1c5j”IùªU«Ðh4øùùÑ»wo†н½½±|É’% >œÑ£GãääDdd$'N4Û^ll,¡¡¡ôíÛ—€€|}}-Ž`Ĉ„……€§§'+V¬0–-Z´ˆAƒ™|ËhãÆlÛ¶ WWW†Zgµ5Ô§•+Wâîîn“‘#G6X§Bˆ–w­!ÉI¼¨}ïõ*99™ñãÇ›= t-ÉU‡…â«®“x-½¯œÄûCaa!Z­–… 2iÒ¤¶I!„CH¢~ÁÁÁ„„„L‡LÛ!„måZB²º›9t %=å÷¶ãºMttt[‡!‡„B˜(.:‡A_õ-ÑÂü z=Põ-¤êçÍÑj30ÝB[«)!„B´±k}©Ù30Õ‰IõÅÍüºørÛÈÌœñî;·“Y!„â£ê°‘b|^=S?`@ZbÒ¾E!U''eee¤¦¥óégŸ3þÞøì“áÛ¹sK4!D“É7¤„¢õYÕ!$GGGÂzõdÅò?ñ§yíõõƲš‡v'üÀØñ÷Ò½g†Í¿>þÄd» ï¾Ç !à íÝŸEKþLyEEí>s†Y?I¯¾ éÕ—i3f‘ŸŸÀŸ¦<Âö¯¿1Ù>;;‡[†äâÅ‹­rH«®»- !„Vû-¤ˆ?MfÏÞë,›ÿìbbž™KÒÑC|ò¯’”ô‹Iùƒ‡Øñõ$üoÚÜ\ÖÿõÍ:ë™õø“Ìœ>Äû8¸AA¬|ñe¢ŸœÃú7ß6¹Ìü_ß|›éÓÅÅÅ¥I}úî»ï;v,ŽŽŽxxx0uêTcÂTù«ÿ Iæ„âÅjï…äááÎ… ê,S;¨ÉÍÍ¥ ¿€›nòáå—^0)]öîîtòð vÙŸùü‹/ë¬ç»o¾bèÁ¨Õj\\\Xôl ûöU%M·ޯɉ¯¿Ù@Æ©SÄ'$0}Ú£@ÓÎÉyíµ×ˆ‰‰!??Ÿßÿ:0eÊ”F×#„BÜè¬ö^Hyyù¸ººÖY¶áÍ¿òÞ}Ü{ÿ$†¼ïvýפ¼KKØûuñ%?¿î›ü=ú3šò=û  [(¡½ûSxþ¼±<ú‰Çyãooa0x}ý›Ì™= ‡&÷éÛo¿åî»ïF£ÑЩS'^yå~øá³ÛלuP©TlذÀÀ@Ôj5aaa$$$°yófzôèZ­¦ÿþ$%%÷IKK#<<7nœÉžËÊʘ:u*oooÖ®]kÒ¦^¯géÒ¥xzzâääDDD/^4oee%óçϧS§N¸¹¹±nÝ:‹cQ©T¬Y³///4 3fÌ ¼¼Üdªï ]×ø˜³uëÖÑ¥Klll,êSyy9Ó§O7!„­Ïj!}üÉVn6¤Î²¾}zóþ»osøÀ>^~ñþ¼|…Iù™ÌL“çîuÖóÄÜgxô‘‡ùiïnÒNüÆ/G™¶3úìíìY»î 0塇šß±¾ûî»FÝÌ1..ŽÝ»wSXXÈ”)S˜0aÛ·o'..ŽÂÂB&NœHTT”qûððpbbbÈÍÍE«ÕjrsÂeË–QTTÄ©S§8vì &í­^½šÃ‡“˜˜ˆV«ÅÑёŋ›oÅŠ$%%‘˜˜HZZšÉ®Š !âVÚ IDAT!¤¤$ÒÒÒÈÎÎ&66¸r(­úîÑqèÐ!Ž9b<ØPŸ–/_N^^;vŒøøøFµ'„¢e\ëCHŒ6DQE)ÌËnÒÒ¡Cãóì3éÊñÿUæ==W V~NE›uZùÏÖ•À€“í&>p¿ròø¯JJò/Êý÷…+K/¬³ž€å“ÿSÉÉ:¥üœx@yäá)&å…yÙÊæ>P:tè ¼óößÌÆÝÐòÉû¯+µ9rD RŽ?~UY5Àäy~~¾ñuIIIëìììÌÖWRR¢xxx_wîÜYIMM5¾NII1i³k×®Êï¿ÿn|““£xyy™­ß××WINN6[^_,€’’’b|}üøqÅ××פ¼¶†ÖÊÙ³gMÊêSçÎMâ8qâDí!„h9Ÿ¼ÿº²rá“Jiq‘R|¡P)*ÌWÎh•s¹ÙJ~N¦’{ö”’s&MÉ>uRÉJ?®œ9ù›rêD’’žü³²rá“Ê;’ü¨Œ6Di‘¯Qt E¥RáèèHW??Fޏ•o¾úœNun?úöÛˆzüIÎdfàϺ×þbR>èæÜ5>œâ’î7óž~ªÎzÖ¾²šU/½Â“sçáãíÍãQ3Ù~ùœ—j¶¶¶øû3éû[¢«ìÞ½›Ç{ŒO?ý”îÝ»[¼Ÿ»û•™$''§:×ét:ãëýû÷³hÑ")))L±äääеkWãk“ö²²² 5ý¶U}'ÓfggTgYC±\™ 49ÄÔT>>>&¯êSNNŽI5Ÿ !„¸q4;±ôdØšÛ…ß{á÷ÞcvÛ9³g1gö¬ë}Ç팾ãv“òȇ#L^ÿçó/ˆyæ)ììL»ÚÔ ëmÙ²… ðÅ_0pàÀ&Õa©É“'óꫯr×]wѾ}{Š‹‹iß¾½±ÜËË‹S§N@FF†Éþ>>>üøãt¶ðZ<>>>¤¥¥Õ™”5 @zz:ÁÁÁÆçÞÞÞõ¶gggGii©1™+(¨û\§ÆôÉÛÛÛ$ŽÚc"„âÆpÃÞÌÑ`0ð¯?áô™3Lw‹Ô¹nÝ:-ZÄ®]»®yòU'é:88ààà@zz:³f™&u,X°€üü|òòò˜?¾Iùœ9s˜={6©©©èt:’’’ˆˆ0Mðjš6msçÎ%33“ .ðì³ÏZ TÝ;//ÜÜ\æÍ›Gdd¤±ÌÍÍääd“íûõëÇ«¯¾Jii)YYYÌ™3§Á1i¨O‘‘‘ÌŸ?ß8&µÏÓBqc¸a˜ ½ØðÎFÖ¾²Úø –æZ°`§OŸ¦gÏžÆoÔ¨T*Š‹‹[¤þÚ6mÚÄ‚ pvvf̘1Œ5ʤ|ÕªUU·oðó£wïÞ :{{{cù’%K>|8£GÆÉɉÈÈH&Nœh¶½ØØXBCCéÛ·/øÖø6XC±Œ1‚°°0ðôô4¹3ö¢E‹4hÉáž7²mÛ6\]]:thuÖÖPŸV®\‰»»»qLFŽÙ`B!¬jİ!JÂÞ9ŸßüónT»¾ø˜É3çµu JNNfüøñ¤¥¥µzÛr¹~!„øãÚúÁü~<…ÉÎBQ  €‚Ë_ͨzn¨~®ÔøVªÂWŸþ›§-·¸-mfQÑ1-s/$ÑvbbbX¾|9,\¸I“&µuHB!þ º…ôB1.'(c¢¢(ƒRk½árÓ´+µß°‡þ(‚ƒƒ !88˜:˜¶B!nT2c墣£‰ŽŽnë0äð‘BˆV%30B!„°:’À!„ÂêÈ!$qÓoH !DëXýçÖ»ö–$0×|p !„ø#3f vöí°±µµxŸo¶Õ¤¶äR#Õ¼€]C$y¹Â’ñB!,% L#]¹øŽB!ÚŠ$0×PÍY•Jņ  D­VFBB›7o¦G¨Õjú÷ïORR’qŸ´´4ÂÃÃqqqÁÁÁqãÆ™ÜṬ¬Œ©S§¢ÑhðööfíÚµ&mêõz–.]Ч§'NNNDDDpñâE³ñVVV2þ|:uê„››ëÖ­³8•JÅš5kðòòB£Ñ0cÆ ÊËËMÆ¡öÌU]³2µË×­[G—.]Œ·ƒh¨OåååLŸ>ÝdL„BÜx$iEqqqìÞ½›ÂÂB¦L™Â„ ؾ};qqq2qâD¢¢¢ŒÛ‡‡‡Cnn.Z­–ÐÐP“›.[¶Œ¢¢"N:űcÇHHH0ioõêÕ>|˜ÄÄD´Z-ŽŽŽ,^¼Øl|+V¬ ))‰ÄÄDÒÒÒ8uê”ű$$$””DZZÙÙÙÄÆÆW¥5eöêСC9rƒÁ`QŸ–/_N^^;vŒøøøFµ'„Â:Ƚ,P×½,9A·æ6*•Šüü|ÜÝÝ(--E£Ñ\µÎÕÕ•ÊÊÊ:ë+--¥k×®äååàëëKBBœ>ÞGJJ Ý»w—Ã~Bq Uß ©©'ñ>½h™ÅÛWß If`ZQu¢àääTç:Ng|½ÿ~Fމ³³3*• FCAA±<''‡®]»_ûûû›´—••Ehh¨ñз·7¹¹¹fãËÎÎ&((¨Î²†b0> 4›(5FÍäîSNNŽI5Ÿ !„¸qHs›yyyÌŸ?ߤ|Μ9Ìž=›ÔÔTt:IIIDDD˜moÚ´iÌ;—ÌÌL.\¸À³Ï>kq,Pugì¼¼EFF2þ|ã˜Ô>OG!ÄA˜FªùMK¯ÓT›6mbÁ‚8;;3fÌFeR¾jÕ*4 ~~~ôîÝ›¡C‡booo,_²d ÇgôèÑ899ÉĉͶKhh(}ûö% ___‹c1baaaàééirgìE‹1hÐ “ñÚ¸q#Û¶mÃÕÕ•¡C‡ÖYgm õiåÊ•¸»»ÇdäÈ‘ Ö)„ÂúÈI¼¨ë$ÞëQrr2ãÇ7{èZ’« !Ä—œÄ+-&&†ÂÂB´Z- .dÒ¤Im’BqÍɽ¬\pp0!!!”––rÿý÷›¶B!ZS\\\«µ% Œ•‹ŽŽ&::º­ÃÃGB!Xû Å€b0 (ƒråµÁpù¹r¹¬êõÆ¿­k¸â:È!$!„BXI`„Bau$VçZ~u]!„uF!„VG˜F:~ü8>ø îîî¨Õj ÄÖ­[Û:¬kª¥f>¾ÞñBqýpppàýï0rÄpÞ{ç-Z¬n¹’ªï…dooOYYvv–_ÿ¯´´”®]»’——TÍ@äççãîîn,×h4W­suu¥²²vîÜIHHZ­–¾}ûgc×®] 8???¶mÛÖì~Ö—PYÚ·œœŒ¯k>Bq}Ñëu oTƒÁ or[’À4˜1c>>dff¿(Šb y;ÝCz6¹I`,t*#]ßîàþIÔ [;:!„¢±ô:é©)lûl jGºú4©9„d¡ïã¾åÁˆGî*É‹BÑD¶vv÷åÁˆGø>î[JJJšT$0ÊÉÎÄ·KWEAQ:MåQåQåQ›øèÛ¥+9Ù™7ésY5bØ%aïœÏÏiáüË‹±Kyqíߘ:í16ÿý£¶ H!„°rÏ/œKÔ“óðòò²xmfQÑ1rL£( ›?Úd|.„BËM}lzÕçh3IÓ UIËÔÇf°ù£Û8!„Âúüý£Ÿ§Í! Lc\ïÍ›>¤Æ^!„øÃi©II`¡:cœöØLþþÑmBa}þþÑ2Óê.÷ß7} 30B!DL›>³ês´™•À¤¦¥óÚº7øñ§Ÿ(--%¤GfGÍdÂÝw5;kP1>6}&µÀà ÑÚ.^¼È«¯½Îwßí";'ggg†ÂôiS6l(¾~džNov[Í­§¥âh+Ö¿×ÊG›Þo‘‹¯sêôi""§2tÈ`¾ÿn'ÇŽbÅòçùúëÍÂj(UËG~`|.‹,Ö´<ñä\*++Ùòñ¿H=‘Ìîïã¸ïÞ{X÷Æú+ÛÑBí5·ž–Š£­k_Y®ÑòØô™W^7ƒÅ ÌëëÿÆãQ3yô‘‡qs뀺];ú÷ëËÛo®7nsúÌf=þ$½ú$¤W_¦Í˜E~~¾±< [(ÿ÷¯yûôèÕ‡±ãïåÀÁCüçó/=önzôêÄð8~â„q½^ÏšW×qóà[ ëÇÓó˜\µ/ [(ïøCGŒ"°{O‹â¨Þ¯ñªFü±3iõqYdieß?òüsKðëâ‹­­ îî¹gÂx>Ýòo@Á·kÕ%½}»\~^µß©Ó§˜>sÝC{Ô=„ÈG§’——g,÷íÀÆ÷ÞgÐà¡tñ4[OíåññÜqçX‚»3dØpþù¯ÕGyy9‹–,!¤WoBzõfés¦¼ü’IomØ@¿ƒèÖ#” ™”×^*++X¹j}ú¤gï¾l|ïýFõÙ\[æâ¯k,j—×GPÐëu¼üÊú¸™à!<ùÔ\JJŠÛügIYšº|ôáû5^7Š̾}û ¿g|½ÛÌzüIfNŸFâ}Ü¿‡ À V¾ø²É6{öícË¿þÁχpß½÷0}Öã|ÿ¿xþù÷Mü|øwËÒ?/7nÿö;ùõ×ߨþÅ8üÓ^Ôj5/ÿåU“:%ýÂ×_~NÚ‰ß,Ž£)EAQ6}ðžñ¹,²XÓróÀ<»h ¢¤¤äªò3©œÉHåLFªqýôQÌš9ƒŸâÈ¡Ÿ "vå Ær€Ÿcç7_q:ý¤Ùzj/ÏÄ,`AÌ<~ÿåg>Ýú1?ÿ|¬Þ8þ²öUrr´üÿ= ÿû/§NŸæÕuo˜ÄñÓOصóöþ°­VËk¯¯7Ûþk¯¿Aròqv|ý%û~ˆ'3+³Q}6×–¹økþ©k]íqT…¿½ù6I¿üÂŽ¯¿äèშÕj^\ýJ›ÿ,É"KS—i3fŸ7‡ÅWâíڛߓŽ`׈û]ºt‰[GÞÁáû€ªYÄ?âæÖÁXÚ»ÿUëz÷DÊïI 5šÍ¾O``Õ_4yùùL¸÷üøƒ±ÎûèÔ©“Åq4Å‹±KY±ú5›ÅG¼×亄h+EEE¼³ñ=¾ÿ>žÔÔTÜÝÝ÷]ÄÌ{ºø?€Í)»t‰!ÃFðsâAã>‡ìÇÓóÊûÐ’zΜÇg3vì:ßt“IY]ûß|ËP¶nù7þ¤¦¦ñð#üiŸqŸâ¿Çß¿+iiéD<üöï­³ý[†ÜÊ¿ÿïÖ§¹>××V]ñ7´®®qzëHþ¹ù#cŒyyùŒ?ă?5³×»Ï-¸öWâuëÐÂÂÂz…£Gfõšµüòëo”•• R©L빜¨888Ô¹N§Ó] T›Ëèq¦3?µë¬“%q4EyYÕ¡«wß|Ãø\k¢¶·å™è9<=EQHMKç½61{Î|ôþ»Æíjÿ|ýù¯¬]ǯ¿ýnòžª¹«‹ÓUû5ô>ysýk¼¹á]ÞXÿWÔj5ËŸ_£ï0»~A^:×{{º“_P`²§‡›ñµW§Žäåç›#7/oO÷:Ë-ésCmÕUoCëjcŽV˨Ñwšl_;!¬IÔOñÞ†7›]Š̰aCøêëÌxlªÙmž˜û Ï-YĨ‘#pvv¦´´”°~77+ÀN<ø|ë¼¼<-ÞçZÄQ¥* j©Á¢-©T*‚ƒ‚X¹üyÜ2ŒêŸïË¥&Û>õÌ–,z–ÛF ÇÙYCii)}oRï>æ×]ѧwo6¾]õ^ÚýÃ?÷õŒq›òòrÔjÚ©ÕœÉÌdÉsËšà#G°äÏË8uú4:Žã'Nðô¼õîcIM9‰W¥ªZÞçMãsYd±¦%rêt¾Ù¹“‚‚ =¹¹¹¬[ÿ7úöémÜÆµ}{Ò3ÒMö+//ÇÑAÚ¡™YY<·l…É{¢æóúꩽÌ_¸˜ôŒt*u•(ŠƒÞPïþ÷Œ¿›ÕkÖr®ðçΰjõ+„ß;Þ$Ž—^ù‹±üÅ—×pø=fÛŸø@8/¼ô2Ú\-ÅÅż²öÕFõ¹¾¶êŠ?4¤ïøåå—ÈÍÍeùŠU Žcä”?ñçe+8}æ z½Ž))Ì[°°Í–d‘¥©Ëì'ž2>o‹˜>þçßIس‡ÛFßIŸþ7óüòÜ}÷8ã6k_YÍK/ÿ…°¾ydê † ¾¥yÑsfGqË͉œ:ž}ðLÌBÆŽSï>×"Ž**@EÔœ§ŒÏe‘Åš–gæF³ý›ŒNϾ7óÀŸ¦PTt‘7׿nÜfvÔLî›APHoãº5/¿Èê5ké3`0S§G1ø–AT©®›«Úª«žÚËí£FõÄ\z÷¿…5k×ñÚ_^©wÿgcž¡cÇŽÜ~çxn;ooæ?ó´I7ß<€»ïÈÈÑwáîîÎ3s£Í¶ÿtt4ALŸÄm£Çáíåݨ>××V]ñ¿ô vý÷{úÞ<”IE2dpÃãøxÔ,Ý?%i›ªfÓûÛ8!„Â:͈zœß{·á  L#¨.'0ÓgF±I®Ä+„B4ZK}~Zü5jq…$/B!DÓLŸÕ"õHc![;[t(ÓgFÉ£<Ê£<Ê£<Êc?|ï]ƒ]E¶v¶Mþ\–ëÀXhÓûï0fì]øumø¦oB!„¨ßéSiÄ}»ƒ{'þéòm8,#×i¤;ÆŒã‹Ï¶2þÞûéêج¬Q!„ø£ÒëôœÊH㛯¶qÇØ»Ñ895©I`,ÔÕ?€±wO þûïÐj³Ñëôm’Baulílñôôf؈QøÜä‹££c“ꑦº‡ô¤s—®·u(B!„Õ²µ³ÃÑÁFÓä:$i$FÓ¬B!DóÉ·„Bau$B!„Õ‘F!„VG!„BXI`„Bau$B!„Õ‘F!„V§ÎëÀýùXkÇ!„BQ§~}û\µ®ÎfÄm·_ó`„B!rñ|AëëL`Ìm,„Bq=s`„Bau$B!„Õ‘F!„VG!„BXI`„BauêüRcäfs:ý%/`0(-Qå‚ ‹+~Ýq÷ôip{禑qnçÉ¿±'áhµÙèuúVˆðÆ`kg‹——ÃGÞN÷ž n/ãÜ42έ£±ã\S³˜ …¤žø…î=àÚљԱ”Á`à¹|Nü–ˆ};\ÝÜÍn+ãÜt2έ£1ã|*#]ßîàþIÔ [»ù[êA¯Ó‘žšÂ¶Ï¶ vp¤«€Ùmeœ›Nƹu4fœkköoç´”ß »7OùeßH666¸yxv3i)¿QRRbv[禓qnçïã¾åÁˆGî*¿ìÉÖÎŽà¡<ñßÇ}+ã|È8·ŽÆŒsmÍé’¢B\:tln5h.:RRTHqq1¦Îmdœ›OƹuX2Î9Ù™øv銢È!º¦òíÒ•œìLçkLƹuX2ε5;1llT€üÃ5•ªÁs-dœ›OƹuX2Îz^þRm&[;»ϵqn>çÖaÉ8×Ö"#.Igëqn2έDºuÈ8·çV')£¢M(2ËÕ*dœ[‡Œsëk¡FþáZ‡Œsëqn2Ì­CƹuÈ8·º?ü!¤½{~àÖá#Ú: ‹Xë8[Óƒõ޳µ‘¿X[Çmœ;wñ'ëLF«·kãÜVcÕRdpóð¢0?§­Ã°€õ޳õŒ1Xó8[æÖñGç¶è³µŽ³µÆ•ÜJ`ïž=M*M³wÏã²ÿÇùõ—_(--më°¬Úõ4¦×Ë{F¹þK>~œG¦N£[HOº…ôä‘©ÓH>~Üd›Î~þ&¯Ÿ8ÁÀ[óÎÆm[óÉÔ“DÍy‚^}úÜñ÷„óÕöím>Õcr-꼞~žkÿLZZÖcÕœÿË*7ï&•‰¦¹çþ¹çþ¹ó®{ðô¾‰“'S±µ•s¾›ãzÓëâ=£´í’‘žÁCS";öNþDâÁŸ;öNšIFzÆ•mkÄš˜x„‡¦<ÌóÏ=ÇãQQmÞ‡¶çS§xðOÜ:t(?ÄÏï¿cÕ +øò«¯Û~eßÞ½üôÓOäähéÓ·?:­VKHÏ0œœ](¹xO´998iÚ2Æõiʘúøxs*=v@Õ/mŽ–€ `*ÊËÐæäÔûïÐ3¬/ŽN.æg€ j6¨æë?šsç ñp¿ú†“îîž7Y÷äSO»üyz‡õj­ð®[……çqïXÿí6þ»k'ÆÁA­ÆÅÅ…Å‹²gï>“m^~i>ÞÞ8::òøãQüòëoƲÏ>ûœU+Wp“®®®¬Œ]n,ûxË'¼°"oo4 K/bç·ß¶l'­@ÿ :—š>Þò +c—[ûÀû“,Åß¹|ïyâœ|:7kµY¸eé€A¯j·vuA«Í ªïgÛ›°yËVLQg`~eëR'$Ñ9kµYè¼e œ çü…‹Øµç5\º|n·€?>²•2-ð^@„Àû®înõ¹akï´Z±¸æ‰ ¶ÑëNÆg‹uŸ×¯\ Û>ã¡ò@-V+–,{2hz¤¬ôºìÀ{C^º{z’þw‰$®ÊT(° „´»Ýn¤¥¥…´ß¼„¬G®€ÇëOÞAoäé^rdŸ_Oð éºÕ(..ÂgΡ¢² E_º JeFØe(ãÈâÉÔ ×ãæë˜óh9:;/cvY†½ðù„q—½kôà%5$÷´ácÕU8vü^¨}>¨ýØñx¬º #ëûæÓ«“ƒµ xuçÔ,]Ì´Ö‰IlÎ ««ñî{ïcõwŸsžõ›ðòæâË‹¾„ÌL5\.æVVª%\]þ¶<f JŠ‹CæÈÓéðöá?† <í‡-Ö}Fêï^ޱde6ßBQÑ´ÀÏþ#”©{z_§ôz=ΟýÜoà\™Óé@kk+Œ&|>!ªõäêrqéây Ã4§½­=hzNN.]<Q14$ ­½º<]ŠîüÙáe2¨331àpÀ`ÐãÂÙÃÒvVKÚn´àôÉÿ˜)ãèÄ’i–V ׃žÞ^ð¼ y†©p9ìƒ>/â²áÈy9v;“팄ã’ûj\¿û›àÐá#p:p:8tøö7@cúÀ|wk]V³o¾ñ[¼¼­ Gß9–ôú£½ll2r{ó÷ûqèðôôcph?ýë_Ú˜Çëõ"C™ŽteÌ ~Ü´=¨–pul[õõ•øéްvYáp8°kÏÞÀ´g¿ý ¶5mG{G|>W¯]ÃK›~qÝRÌy¼z¢™KV°c׫°Ý±ÁfëÅ+;wãk+ŸJ¹ÏóH’83uêTdôõ£µµ.‡"eFL&#f•ÍÛéˆj=ùù0[nãÜÎB&“Ád2¡¯ïÞ¹î‚ÂXnÝÆ¹sç Š"rssñðœ¹ð¤ð!4Vòòth¿ÙŠ/Ì«€¹£WZZàõz LÏ@á´Bh²u¸ÓCÇ ÚLÿQ˜–ËŸáÑò¹ÅaCþ;ŠŒ&zmw".;šÑdÄÇÿøAÀ‚ ˜mo¨8öX 4½d:6ïÃÀÏwï̯œ‡ƒÍûPRR2jn­ó+*ð‡oau]=zm6¼°æy¤¾Äæ\\\Œ?lÆÞ_þ{^û#õ_V••ó°ü««àt:±bùWðâúïÓOr%dÃÅ3tŠQN¶ùPª2ÏÎðùx\¸p‡ªªªzF¶q<¢¢Bp_d LNÎÉ ŠKJ‘™•~[w ã¸ˆË†ë7??3g?U¦Ç¡ûvG·7*)ðû.+›æ}¿‹8Ïÿ^ Yæ“SŸÄªlr.--ůÿfÌé5K— fé’ ¶g¿ó­ÀÏ£3ݦHS iÛV4mÛ2ŸŒç±¶¾këëÂönÝL0ü”3”3í𙠜٠œÙ£Ä !„"9>#“qN©o–šaQ„L9?Êyâ(g6¢É™—óÁËé>‚xù¼<ò¬)牣œÙˆ&çÑ&œ¶Z“ {ÿh´‘¿Ü‹ŒÍÞê)Úˆ~Êyâ(g6¢ÉÙh*€Ù܆iEÓVv1›Û`4æSΓŒrf#šœGã‹ ¶¯^S ÏÏ—J•‰«—ÎB¥š‚4e†ÄnÂJ®aQD¿­×[.`ê´Ðdi¡P(ÂÎK9Çrf#–œsrrqüèÛÐéò Ñd“qDzEñò Zÿwï¾s‹×@¯7PΔ³d_±ä|—s þË_Á-ZX-žüç'èë錸@$½]·ÑÞzN{?†‡Å¸×ó ‘É8¨25ÈÕ@“­Cv¶6âü”s|(g6bÍùjËe||ò#X­·á¬ïš^ÎC¯7â‹U()I9OÊ™Xs«ù&ê~˜»rõ&(Õ8ñÅyñr92”J¨Õêq祜ãG9³KγÊF~aåÊ™ Ê™Xr)aW©Õê˜;'±£œÙ œÙ œÙ œÙ œÙ¢Û¨ !„"94€!„BˆäІB!’#€A+ÙuB!„DMvêôî©Ë¡ÊÔ$»B!„1õZ-ذi N>sïû¿…¡¡dÖD!„2¦!¯'è½ >øð$÷Ì7VÁÞ× ·Óž”Â!„BÂéµZ0Ð׋ƛñÁ‡'9ÁOJbéã"ìúÉ6ÈiHOW&£NB!„€ ›¶@`ð üW½,ZXMÏO'„BHJ8uúLÈxåÿÙçx“ %OIEND®B`‚traitsui-7.2.1/docs/source/tutorials/images/application2.png0000644000076500000240000136261314046644454024641 0ustar aayresstaff00000000000000‰PNG  IHDR~¬‚@usBIT|dˆtEXtCREATORgnome-panel-screenshot—7w IDATxœìÝwœ$eøñOåê®Î=yv6 gAAAžT¾~ãŽ=ñ5qв½Zïí÷®çk×_Ã;ÿeõ~Ç­Ža2m7@}ѳˆ¾üñ7ã5K¸Ò.zówSàMß}ócÚ^AA! B]±æÚ?îÕz]q¿Bßß/ã¾Ï9¯9˜B݉T€( p+[ ¯ÞÛõ ‚ Í’·}€ÑoýÛ._ ÇFáÉ#ŠBßÃs:{µ^Ý÷ˆ¢p6oÙßâ ´g’@µÖr ïÓÜ«A‘ø ‚ ìuËßùÃ9—­ûúëæUÇÛ¿zW¾óЇ½ÞV÷|ëÙìiŸw>V‚ Âã/ C|ßÇÝˉ’áû„a8›·ì.Î÷ÿà¼ê<õ…+Sœ5Kܽ±´Ëº¶µáÅyV/Îï1ts²ZËí>Ü%Ü®;p.µ-gêŸ#©&#‡Š™]´]e’$!ËòÛì©NAáÑ{ñ³Üåü+Þzм¶ÿÁŸ6ñÿU¼÷Û÷ξ>ëÝeïúú]ó®g±ó>?pÅŽÇæ5G ?QMAxÚ Ã ÛCæîÝÄ/𽙺·%dsÇ |³¯þûnëûÌŸ=ç¶ósǺÉÙ8Ÿyã³yÝó»ãøÇõ;Ì_5dí1NwÞLß¶À»»-súÞkY÷ë×")!Í&ÜýÛ‹yÙGïÇL>üáÓl6™œœ$“ÉpÎ9çpØa‡uwHôø ‚ ìS/> ý°y×üeŒW=»ŸÜá'’;ì¨V·:Né¶k¶îª÷^ËïÞ ç¾é¹œuÕ_gçÿîï÷pße'ÍûÀ÷ÿ€ñß|‘ü‘¯BOâ·+”ïø)å;ö°õ&ÿx%ù#OA³rÜ÷•W‚$‘?òUdW‡jåñ[%ª÷üŠâ­?‚(zD1@"wø‰d9-Ù‹ß®P¹ëç”nû1ÍÙ¤‡>°ÜyŸ|ÿOg @{Œ^MßQoÂèYŒ„D{üJwü”ÖæÛç<Ž‚ žEá¾¹52ð=¢p»[0w'ð½yÕ7×¶&ÎÙWÿOzŸúþí;¬3Ÿ8ðPN6›øíî¶Ì‰Û.§Ù ©ÔeZÛ)Ó™¾›«~/uWB6²Ü·áogœq7ÝtS7°HüAö¹“Ÿñð[=2‡œ@ÿ1ogýíàÜOŸMÃöùèYŸfhŽ:~w“/}«O¿ر7ñKÿ¶t·ñ×+óûKNã÷÷WyÓÎæ˜¾ƒûÇêä§~»Ãz·UóŒŸýzn¼}œªòß_ø}G½‘[ý.ùüç8åïçÕ¯ L4IoºI’æ£ç¯¢ÿ˜·qïÍÿËùŸý4ÇžòfÞøŽÓx`¼NfëlWÕÃÚñÛ¿Ý»Û}þÝý5¾ôoKÉ~âc ûaT+ÇW>{&¿üÍïX±ê`Þü¶wðÀÿýã»=Ž‚ Âܶ‰ÛÛ·z3câ‚ÆÞí*ζ„ìì׬Þe]Ÿ¹fÍn·oœ“ž9ÀÙ¯YÍg®Yì˜ðm‹ÊsGæºwgÂLâánnË,jÔëý¼îŒ+ Œ ð h!/X¾üìK²Òâ+Ÿ_Í+?ùt]ŸÝnwu ‚ ͶªíÝuÉqä?€Oþç¹ÐªrHŒ›¯½œgóÏsÖwÝ­%¶¿”mëM¼îÖ'öðžÅm¾zéEø)žµØâ¶Ÿ]Á1/|)+Žy5ßøØ9ùˆÌìzßþê¥^•ç.Màú`®:€ ¾p9iÉgë߮׿…Ï=‘KðM^÷ìì¼cä}ŸýÜ—ÐC‡©[®ƒwœÆò£Oæ+¾Š×>#;g;¶·ý>o,®»µÄGÞºç²Ã÷<îY·…•}&©Öƒ\}ñ‡¯zdŸ'Ó—Tç<Ž‚ ÂÜ¢`öøálÞ²»8Û¿À÷8ùY;~”zÝ-ã³Ëæì‰›g€WÑ˼rçýäæÿÇ+Wqò³†æÜnç8¡¿]âç8ìöÜwyþQ§ G˜¸¿{7Km#ô…Lïà#®>ïã;ÄèëÆ˜žÇñ6WÃÖ5T‰=ª"á5Kè©>r¹<†â²r¤›X§§p¼­õhÞ1Üú4FfW •òŽßI‹[jѳ¶oÇ|÷y>1ßr _þöpâ 9ôÏá§ý;+O9‡î8žå½Ú¥ ‚0iæßèaK~~Çô¼j8áð¾9ë~è½î8;n1÷ò¹—Í?ÎÏï˜æÒŸ¯ØüK¾žÓOX¶›}Ù9ÎC×µ™ÄOF’vý)dÍ9ú«Nð=ί—çŒÿžEáÕ<{ÌãCËï§góÿ\Ü ~À Áä6LsÔ‘ƒl«WAØ·Ž[¥?lÞÔ-?bá±ä=§„?~ÿbR)…/yÿë œŠa18<Ôçõ>¾«?úþw14{wü›Z·G­t÷/|ÞyíÞÆ}¿ú‹Žy=7\w †&³ý{Š1uË5,|éy×ÎäÖë.C•,?”ç*ßÿÜt¼‡_X·µc¾û<Ÿ+^}'f¯æïwÜOgìNl»ÃÕ·4ùà ³ôXâº(‚ðhH’„ìê³9 øâ.’¤íq²9·•$iö½Oq¶MoÜ)ÙÜ~ÙcóóÛwLúÎ8¡ûTÏmûxéÏ×sÆ Ë8ሇ';ÇéÎì^Õ™ÈHò®?áüòMS¼éùýüèÿ&ùVöC䯹žÄ qtûL=x'÷¥ŸÁó>èsé·Žg|Ómäoø zsŒŒŒÌY§ ‚ðØíjŒß?ÎÓ·^Ë>Ï=îT޾âF:•1¶þù¿ÈðüÝÖ9qóUdžõ†ÙÛ·Õ·;ÿ÷ÇßñÖ³¯dphn³Äµß¸˜ë®ùoVöLj©»èQ›¹6Œÿù;Ü=éó¢—žÀ«þõMx"¿ýŸ+øÞw¯dI^ÃÜnÛ=Řþǵüm}güókyÉ7BàÒØr7wüæŒU:¼ýè‡÷ŒnkÇ|÷y>1ŠwßÈð‹Þˇ޽)Š˜X7ç>HwOø¼x¥±Çã)‚ ì‚ÔMjvõñÙ|2ŽÝn+=tM˜OœÝ%™{3À‡NXÆËg¼°Œ/ÌÄžwúY% yŽO8ï)x,Lzdݸ}z =i…ç÷qÐêÃøý_Ö²ñ¯×QÞ¼”þdŒT*ÅÍ7ßÌ¿þë¿ÎY§ ‚ðèÝvÁ‹8óÇ“s.ÿÜ)È÷ÿ„Oýø¿-vpýˆ¼¥pÀÿü„?¯{è¾ÿëšþûÿpñ—¿Î}“63cÁgë›Ë/o¸ŽÍ·ýŠ­‡¶`j2ôÇÊê,É«‹1{mˆBêýý楌W=\?Â2$–õè,ÌŒdÕyÇ%sÓ/ùâ™?acÉ¡íh²ÄpFca^çÖ-òí˜kŸwÕî=Åx–ôW~ñ¿¿åŽ-6Õv€$b «‡â(²,®‹‚ R·kŽÞ4 þýeËö°ýÜÛJÛåBO†8+­Ù8/?ò¡^½—Ù7;å 5¯8òö=~ÒnzüFúû¹þV—þ”Ç+ž‘ãFÎa:-Ú®ÏðpžoÿèHz[ä2qJ¥Åb±Xôø ‚ ì'–¡éÌ1.à^›—­Ž3œÕø—ƒ¬+˜ØnDH„©JœpHšÎÌWI²´C]’,ñ’,æ :DD³õíÎ`ZcÕ€N³a¡++úT絇µwûkÃÒV'ÙXöéxQš"±¤Gey¯úˆb,Èj°ÅÚ‚NÛB%H™2Kz´]îë6síóÎëÏ'ÆsÇÉZ*µvH$ ‰ÕCº¸. ‚ ÜeOt]'ŸÏïr™¸¥Eaÿ6×­“Oµ‚ “ۛ^¸˜¯ýâz~»ê~÷q«öÛ8ðеS:ò ¥ÑÏ{# ÛaAAA„'JÛ xïÕë»=~»M«Y¢Û$‚ ‚ ‚ ì*À5?ÿãÝAAAaQ­Lg]õªÅ¹¿JAAAxê™Úº‘_ö¡]~á» ‚ ‚ ‚°‰Ÿ ‚ ‚ Â~N$~‚ ‚ð$—éx¢› ‚ <Å©{^å¡ Îw¾y%'ŸtâÃ^ïi;AAvo·cíÿúOdžû'1_AxÔæ•øÁÃ/Hó½øüå/Á÷ýGÖ*AAxQU•W,ÙýJ"ùAƒy'~–ïûA°¯Ã‚ ÂþO$‚ £´Ï?AAö"‘ü="öw^úD7a¿{˯Ÿè&‚ðˆÄOAžjDò7/öw^Êà1™'ºû­‰ï¼T$‚ð"?AAx*úë?ÁòkÕ¦W]wÃ^n̓˛N~™HúƒÇdf“¿ýýœÚ•7ü²'º ‚ðˆˆÄOAžF®ºî†ýþÖ«®»2gð¦åû÷~>\³æxœS»òtø]ö/â{üAá)èÚMo|ÄÛ<]þP}:ìã“ÉÓõx¿éä—=-{:…§.‘ø ‚ ÂS̵›ÞÈK^2÷÷è ‚ ÂΗÄoÍš5œuÖY¼øÅ/Þa~†\~ùå¼â¯àå/9_ùÊWÃpËAáéJ$}‚ £ñ¸$~çŸ>Ï|æ3‰¢h‡ù×\s ›7oæê«¯æª«®bÆ üèG?Úã2AAx:Ißþ/Û;øD7A„ýÔã’ø]uÕUœ|òÉ›ÿË_þ’w¾ód2r¹ï~÷»ùå/¹Çe‚ ‚ðt#’¾í­)Û;¸ËòD©&ž°Ø OAØŸ=.OõTe—ó·nÝÊÂ… g_/^¼˜-[¶ìq™ ‚ <ˆ¤oßz¢“-A„ÇÃSòëÖ¬YÃwÞùD7CAxš9ì°ÃX½zõãwWI_¦g`Ÿ|ûÚuë9÷³çó§›o¦ÕjqðAñÁœÆÉ'¾b¯ÔŸí|Ê$ZþÈÇ8âðÃxÃëOwõ÷þ›;K.º€lï çœý .¿âk4[-N9ù$.ùÜ…º@œ{þ…ü×ý7ÍV‹Ž?ŽK¿ð9‰Ð=ç~úS\þÕ¯111Iyz|‡ã“íä’‹.àK—]ÎÄäK—.å’‹.`óæ-\ò…/²yËV­\ÉW/ÿ2xà¼c~þâ ù—¾Ìää°ŠË/»”ƒ:h¶·oÛtoý?íësJ„ùyB¿ááa6mÚÄòåËeÁ‚{\vóÍ7óƒüz(@,DŠEH±ÅˆI6¦d—l ÉAbû±…m×Âvã´‹¶kùø€3%z¨˜šM&Q%cUÈ$*¨‘K¥£VŒQ-ư[©^‡dÞ%Õë`e=åõJšz%E½œÂÈ8IJ6fÎÆÌÚøŠŠ8‘A'2 \…È–gŠv-Únw…6 ­w§I­»ïJÔ-2àŽ °Ì&‰Xƒd¬N2Þ &u0B3t0"‡…¶£-›ØRŒv'F«hÒ.š´Š&NCCC]SAJ†È©9"%’4IÒ˜--Ϣ¹iê^ßU»Çu¦(j€f9èqÝr‘´7Ðñ70ðCY ºE ¤ÐVfKdËЊ*Í%í£õøh=ZOdHø‘B€Š©˜Q‡|X"–ɇe¬¨E ÈŠB Ë„²„L„4Sˆ \ÌR*æ(r”‹9âÙ6ÉÞ&É|“doSí`D.zäbD.:M)I]JД’ؘ„(È„(D€†ŠŠ‡Bˆ™8¡I'4éD&ªì£HŠì£JÁÃ~_GÁo«¶†ßV‰Ą́;Õ"$9D–C$%B“<âR‹-â´1£Fä`FÝó eI&I¦ÞÎPid©4rTš9Ìou#•ÂÄ^OÌÅ9%OOhâwì±Çòo|ƒ}ìc„aÈ•W^ɱÇ»ÇeÒ1oE}ã`Ù)B.D·:ôzÓô¹SôyÓô’ñ& «IÒêN×/gÝøJÖ¯`ÝøJ܆¶m -¡+ñX›˜i‹µéÍX8¼‘… 612´ ÅkñÀ_ûyà¯}<ð×~Š[,–=ÎGMrÐÑã,=¼Ä–{±éžÅl¾g ›ï]„1Ò!¶¬Mli›ØÒ Å¢ìff‹ßÑQÛª¡¶²ƒ?Ñ$oâ7:!ÁP–p0K0˜%ìKuÿ(ŠK3IÝ? š3H5d²=›YÔ¿‘E£,ê¥×Ÿ$ßœ"ߘ&×œÆ t¦ÔA®øÊ/8óåLÕz)¬ÍRX›¡ð`–êDOMâiI<5I£®òºåu¥Çˆ¶‘Åê&«Y¤mb¼<̺âJÖV°®°¿bB5€ªUÍìjnj d#êJ†ºš¡¡¦q4“¤Yë–X¸Ò¢¾!AcC‚Æúõ ¬j›x­UkaÕÚÄWØÄŽì?Â&vD‡Ž£ÜÎQi稴³ô%ž£þg+·ðåi›hë&mä­Ç°Uƒ0” C… Pð=î\Îw¬à;—óà]Ëé?¨ÀÈc,8bœGŽ“Q«$;M’v“¤Ý &eب/âÛŸ¾‡#.<’œÇ tÜ@Ç  î·±‚VÐF šâ£ª>±|›ä’:ÉEu’KjX}-ŒX#æ`Ä:HjDÕÍΔ -?ÁB} õÍŒÌLݰ{~¹¡‰”yŠõÞ™ÒG¨KŒ_q1\øŒŒM Ë´š­–E»iÑ)„F³E*¤o’>´Eúð&Ö6¥}7öRíÃÝØK_ß:¾U3EJ„´Í¶£mư$›^¿H_P¤Ï/Ҏ⬑bt0wK³©²ço&¿83ñïU‰§;ÄÓöÌ´CËŠÓ¶,ÚñîÔniii"Ñv(¨¡O,è lâMJªÑ§MÏ”)Ìvƒ-·™l½ÝdËm&ã÷İí4íN»“¦ÝIc%4¬¤†•Ô±’NdÑò-Z~‚¦oD*Ê=<Wʇ›Múöó/¼˜¾ÿ}¼ãío÷ÌgÉw¿ýÙ׎ãð‘}‚Ÿüôz^}Êɜ޹³½\¦GiW=_{г7íj\[¥0¦i|û›Wrìñ/çλîæúŸÝÀ¯~ñ¿hš6»Þç}†Þžž™ŸÏå¤S^=›ø]ý½ÿæÚ~Ÿ¡¡nýç|òüÓ ^²CöÙOŸ3gÒðÅK>G.—à}ïyçžw—\|áì¼÷¿ï=\ô¹ÏÏ®?Ÿ˜ŸÿÜE³Ûà´÷rñ%_xGë‘™Ï9µqÓ&>þ‰Oò§?ߌïy<ïyGqÅe_¢¯¯Øw=Ÿ;Ÿs{j‡ <Õ=.‰ß‹^ô¢‡ý|ÓM7ñÚ×¾–r¹ÌÞðŽ;î8^óš×ìv€’ö1Vµ‰$‰P•»¥­à7MêÅ4”":Eƒz#Á¢[H/¨Ó;\bÑ‚Íx%“Ú–,"­õ¡­‚+×-ñl› f'èž ÑÛ€Ô¬õh5¶«1!§˜´R´òiðÈyD‰6‘VB’"rÙú—}’ƒú×PU2Tµ,•b†±ÚBšŽI³­Ójé¸íÍhÌÚ¤s6©eÐÃŽhW#ìjD§¡âtÀu<œ6á:j·X*X (È3%m%Á´×OPW¨IiRõi¬É ““X““ø…šÒËähƒ»~6B[N !§BzžY'åx4 ¢D³ Ó7 ãà› ‘¦H*e«Ù’iÅ“LYƒTkY¦¦¨ŒçðÇU(úPµ»¥Ò&=:ã!Òz /“AÎ+tc8:á@„–èÑJ ¨ Hä£"Í<Ó9¢9÷äÉ$ ,HX°`š©iôaiQ„<’Q¶s(…g*Fe:Åhæ’Tr ù² ™¡2óû Ëh’Ë“ 0É äÂ2;ÏXu˜J5O¹šÇÌØÄ2mÌL›˜Ñ¦·0{mÉ£d’JFŽR6O!›§Ïé™Á:¥F&[G®Gƒ^Ša/¥°?H¡å] ߯ð;Ä‚6ýÒ4}Ò4ýÒ}Ò4²!é°Á_ÂèÖ%ø¶‚㫸ªŠšð#×7ØX[BØVjZÁë–i¨)Ñ’-ZJ‚¦bÑV-ì™ÄÃ6b8¦Aoïéž:½=ÓôSL'úF–B:iµp¤œ:ÉN3c£-r G$*ñ,ž¯Qnæ©7öÿ‘f IDAT2ØŽgPOfP’!aR¡¥Ç úÌ}ã úF*TÌ€Š©Q‰Y¸fD4A3„vS!Z¼ƒ5dc ¶±ÛhIŸH·­Sº¿ú—T_d¹?$–n“Q*$õ:ÃòV¢@&¡6H(M¡LŽXÐ!é·ˆy%b^‡¶§®¥¨'SÔÍÍà·Æ$ÆîÁSTší$ŒIt6Çq7ÇpJ&fÔ"‘hcÑÄÐ:Dƒ*á€FEë¡TÓh“4'’t¶Äˆ6HÔ«i¶TâUŠ=ÄûÚh=.j¯‹Öã2ž¬Q¢‡ ’K'2(H½Ø’IJª3¤ŒQÇ¢$]‹È×ȧ¦Z4Íà’i¯wKe˜ÎÆq»M¯6M_vŠ^&Ae¶GÖ&†×ÑZnÓÄn&hEIü”Ž—Ôq“I­.½»¤e–,†É¢Äätš‰B’vaˆì@‰‘iFJ,(QôûØÚa‹½·³;PaÝãqÅܽ}™ôüáâÓ眽ÛuÎ=ï&&'¹õïÿGE¼ç}àü .âSŸ<ë¡zEÒÎ=_󉳷쮇«·§‡×Ÿú:λà"Îÿì§g“¼mmÿ<‚E ™ž.̾ž˜˜äÙGïøÿ%IÒ¯ûûûwÛ¶m @,Ûå<ß÷QÌÝm¿·Íçœ:õ oæ¢ó?Ë·¿ñ5\×åü ?ÇÇÏ:‡o^yÅì:û¢çsçsn>í„§²Ç%ñ»é¦›v9_QN;í4N;í´G´ @ÉÌ$~žŒ×ÖñÛ:a[Æ«¨46¤èl0¨Ž¦)MeI¯®³ô^©ÈùµÔKi&7¸¯|‡¶‘‘ QD|q‹ÁÁqVeïcÕŠû‘û¶H Ù,-dK4´ۋ­è´-»GG‘<¢\ "ÝD’#òÙƒÆz¿‡¶Ê婹wò`ÊyÆ&GhVt¼š_óñ«>æ@“Ôê2©2ƒe´¼Oݵ¨º j®E£¬Ñ¾Z÷ùø£6ÞæR$MH*’!'A–î4-ÕÂ÷ªõ cÎÚÄ4êºq´õã¨ë{ ëž”er|=íëGPr:©•é•Ù• ÔD‹Â]2òÝ:î„Ek< 4$"M!”T¤ʹ>ZÙSÙÁî-U»£3ÃߨÂtªm(× R#Bl=ާÇhéq¤>ð™è…0 ¦a“UË,P¶°L^Ïp¸…xshz€ÆÆA¸×'{À&–ŒŒrèÁ£rðä¸ ÇÒquƒ­œé• =°^¦CŒæÒU5Ãt>ó¨ËIR’ºœ¤e˜öú)tú™nP²{ÈÆJäÉŽ”Xn·4œ„›0hª)Úu‹v%A{a,Ò›´I/ª`ÖZ<0šB_aoH2¥“[VeÙ²)]¶†C—­a“·”;ë‡ã5t¦Ø~ ~º·®ŠÎ¾NúÊ• =;%6;ûѯãzíltáùŸå¤S^½CBöhz”vîùšOœÇý÷ÝÇw®ºšï|ëë|ügsüqDzxÑ¢Ùå›6ofé’%³?÷õõÎ.ëïïã×7ÞÀààÀãÖÞ'"æîÌçœúËŸ~?û³iš|ò¬sÈáÏÜa}Ñó¹ó97ŸvÂSÙSòá.ÐíÙ‘s’ I>’gwGd¸NEÅݪP¿?Ak“IË´ ¬EmúÂB·ÓôÓôúS4:iZèa…M2a‰‘\­F¤W‰\ ‚4Ø)°}"=FÔ–}™H–0õ ¥NBiš$¢1§…Þh£m³Q‡[˜r“D¶Nfq ).Ó"$‚–†\Œ& ÜáެQÓRL%ûH÷.ÄΘ8Š£è8Ø’I3JP ³ƒ A?q«…wé³ ,¶FiI5RÔHSCÁéh”ªi¦Çû˜ZßGGŠÁ€‹v+ºLd-ºcáj@¨ÌL›t“ô4³cKe=DÓ»Iœ¦{¤:9¯Bo0Í XQ%ôP|ÅõÐfÜ`€†¬€oª†Šo¨ÈZH*ª“–j$£zäBN`PõÓL¹ý8ž†ãkØ¡A›9 ä)—j$(Ð fçÐ;îhE5$­×L޳,¿Ýóð§4jašÉÆ8R,@Ñ]”D-ÝÂT$Ô­L^-0>>ˆ#kí<¢%˜N‡NK'ªFèq;êŽ%›˜b¼º€ÆT &q` ¤B„l†ÈF·HFHؔˮ#!räb(-bf“¸ÞÄÊ4Hô60dKj§ILêÞ9`K&¤àH&vݤS×q§¼-àÕ¡Ý2ðèD6&ºê‘ËÔIõ8 jU:Í<õ–Ñôš@<97€º‡”ôP$5á¢÷9„šFT“peV'>¤í*² mRÔIÈM,š$”&fÔ¡ê¤h9:u'Fµ“"U!ôI…5†¢qBI¢åÇhK1Zr I Q]­î!©V‚‚†7©ãl5ñj&aŸŠJhñ=ë/ãx1ê~š’ÓÓ½bÛxHBGÆ·»½k’"a5›„Ù‹ÐCÏ—i8&'CÁÉ"“5êäŒ9£†"8ØQ@5#V%•/Ò»p’á·P(æ[Û‡Ñ*#m­#'k¨UŒÁ ±Ár³ƒn´‰-4|¼Ð æå°;1WGÒ"\<ÏÅK8H´±¨cÄ ¥úXu £n 4,heP‡ b‹#R+ÛäV•hz zëÓôÖ§è¯OómªÚ¾ëÙ“Ç#éÈe³”J¥ÝöB …Ÿ%‹Q(w¬çQô(ís>qöµv»Í»Þó~¾vùeó¼£Ñ5·¾ý]üâ†ë1 €ÿ8ë.ûÒˆ¢ˆ⓼öÕ¯šÝþmoy§ÿû™\xþ¹Œ,XÀƒk×rÉç/å›_ÿê>kóc™É¤Y»v+V,ß+í™Ï9õÜÊ'ÿó3Üy×Ý´Ûm`Ͻ”»š÷H{>wnÓ|Ú!OeOÙÄ/pTœJ3èJô˜%òr“S[{™²z™ÒzhJ¡"á« ®®Ò1uŒA›>g’ñ†%¦Çz(Oæ(g)Oäh·e& =(›VÒH%‰* [LêCغNÍTš0Ý$*Uñ§q›-lO¢¥(·óM¿¡4T6Ž.dtób¦Ç2ø“1Õ&Ó[$“.’ÉÉ,¨“YÖ"3ÒB¹øgë´m‹º¡]‹“2J ,)’2JÄWÕ b1Ó$0cøfŒr¼‡²™§43µŒY£LÖ(“3J8ºG=Rï¨/ÏÚ` Óþ üS3±e,Öi&ZªJ=™¦3Ç_j E ÊÂe¡²(D P“>jb[ñÈä«äÃ29³B._Fi´ì¾íØÂ@ffp"1üdœö‹öÒ8­lœ@UÐdºœfTZÂ4½l%Ëš3™RÅ^ÀhÙ$룴n˜r÷Á‘ƒNi"ÇÄh?Å-iœ‰IŽ(¦R¨ÖB:¦IW$•¨‘JÔÉ$jôÓ¤Ô=f‰AiœªžcÐcÀgPgq\tì¨{[Y“ÍÎfuo²Fy´MGO#1¢ÐE2œîÃwd ™Hté¡çHèt“¾4)‘Š×ÈYerñ"¹x‰¾ôý©Iúãäå"~ jã1jcjã&^KCEBAFABO„ćì™ÒÁÊ·‘ »¿/’‚.»¨–Ï@~‚C”;É$*x?#ã[ E)O³ªQOËP÷²L*ÃL*=4ÔÉd­/ ÙÛ¤·¯ûû6QÆÚÐF]ïMJ¸q™¶¥ÆuüDŒÑþAœ~™b–Ñþ%LÇú™ìíGR†Ó[ˆB¥Úd{*NÇÑ.Å 6¤ñ\­›<À@÷¸ÉNˆau0 «ƒª»8§¬àTÜ¢DÕ—ØRÉl^Då^…Ö`šÚ`šh( g°²Dè+TÂ<Í …$EÝ[d‰˜ÚAò¢ª‡7æÒy°C4m$¼)‰hR‡~™N6Ž›5ð2:AV!Œ¢P& ¤™¸DFÝ3E!ž«Ð¬'`ZÁÝlAJ¦-ÅqûudÓ#¦tÈ gq|”~¦hÏÜÊX&‡ÆhtšcÍ Æ˜NYàHíüPã7Šý¸^çvð8$}/xÁ?ñãë®ç½ï~çœëôööîÐ˵qÓfz{wߣóh<^q`î1~g~ôã¼ãíoå˜ç À¿£7qæG>Η/íö.õÜçpô1/¤ÙjñÊ“Näc9s¶Ž3>ø.ýÒeœtÊk˜œœbÅòåœùá3öÉ>ì­˜§¿ÿ4^ôÒãiµZ{å!/ó9§Þüöwò™ÿ<‡~ñ‹H&“´Z-F–¬xLqMÏç¾h‡ <™<…?NÅ"&»äÕ2+ŒY™¸Ÿ¬VáþìJî·Vbk ,YÆS]Å65ôA›¾øÁ°DruƒM÷³qÍ¢p„zA¥ÝV™(öÐÜ”dLYHTQid’4²IìŒNÍ&T 0=MT(”ë8ÍmW¢¥(Ù=”Ê=”§{(z¨&¨n¶¨Yø“>é:½½†W±àÀ1’ƒ-ÔL€– Qã!žÃmØ5‹z5‹Ó6è7'Y2Í’Å2ÄV<ÕÄUÍîT‰±Ñ_Â&)¾¯Rñs$âM¬ F›Xhm¤•Ó™èÏ2¹È¥–¤w ùPÒ'™2‘!Í>$pæŸÚ±$Óu†Ò[Y”eqz”ŒY!¥×I5RrB=Am4Ãè]=Œ®é£QJ!£#a aÈ» Z ß)0œFÊ(¸‘Ž!;(–Ï€2N:QeyïZ&ŒÆÍA&ŒJr~5´>wgî®Ói§hiƒ´ôšz’xŸ¶2 ¹²Eo¬€¥¶É*X£-´»<¢õài2‘¦â¨혉{ÐųŒÊKHõ:H1RCC[éMZ“ j“Ú“¶dzþw4…¯hÝãfƒÝ"é!FºC"S'™®chmš÷j4îÓ§5Ü­*µŠD¸9CÙRÙdõ Új M È÷pÕv`Qqó´= E °ôf·( t¯…Wu±ÇämØ'˜ŽMšý1¢g$†³ÀÄW5‚¬BÉ„¡ôÐÓ;ð[f? wÊ¢¹)Bî§ûP>PúÄcur‰"ƒ‰1–ÄGécŠÍ,¤LŽÍ,d,Â.tî±×Øw…äVÆ>À¤y B0;Íè–%Ü}ÿ¡Üuÿ¡”å<õ(Í-ÿ8 §_ÇQMìN ;ï&~M…VÓ›i®£â⬈á,7q–!#u½"ArÉ2+rk9${7«3wc¤mü´L’ñ5©” °Éƒ»=Úw»„‘L´ºŽéÕɤêXñˆ2*qL4,BtZh”Ȱ•‰[IPŠ M…(òh•¦BfÁdâAúV4>¤ÁpT'—o`&}‰%%‡aÙ4ug­C0êÒ^ëR)bb a’F“%É4RyÉä$*É,Ì%T•$£Á"²J…œY¡G›f…õ Zärç€Ìþî£ÿïÜðŠWb'Ÿt"q+Κ5÷ð¥/eöa§œ|"Ÿ8ûS|ùÒÏEû³xõ)¯œwŒùö(=Ö8óµ»äæò/_ú°yï{Ï»vx}úNãôìzXŠ,Ë|èŒò¡3>8ïØÛÏÛÓò]Í{¬1Ï8ýœqúv¹í£1ŸsªÓé`†i²ióf>ý™ósÜGÓó¹/Ú!O&OÙÄ/ôdü†Ž¬A*^g¾•õ{é·&ñãP·,&¬~ ñˆEx†JK‹SQÒi‰xªAÿp@"¬¢è-|Û§5-SÚ`R²Ôë•ñ>‚ÿÏÞ›ÄØ–¥×yß>}ûý‹×åËÌÊd‹,Ù¢è I€‹°glÁ<1yd’l†»™áž°!@S &é±Á0"‹UÌÌÊæõ/ú·=}»·'˜$mÉ*—¡b¥+°°7pNÄ=7Î]ûÿÿµµ3á¾ÅѺ в-$ Ôî†&i)“Ž4µY§ç›Þ^?âÝÅCÞ]åW'¿æ´ìŒˆ²ÓCâ¼Á¼PÈ+Êß–H)"Æï>ŽúŠ[Ã"²\|×Ãö,ZS°!W­EU޹m;Ö¢¥42„SÕÕÒa½ô‡"·ðƒšƒÃޠޱtEà&¸fŽé×PÙÔMGy%é>SÈ/4H³§îÀã <AàÂD"2×åRßG— ïÏùÈúŒÚÞ×L(>”?ûܟÄ?xûoñoœþýáÇyòø1ÿëÿò?óŸþÿ%ÿÉöŸS¼ÿ>ÿþßüß<æ?ú»›ÿàoý¾÷ý?À¿þë•¿û·ÿÖO|ŒŸ´¢ôÿõ8÷øùÀOrMý÷ÿíÍßùÿcþÚ_ÿw9:<äoþï7ן?Måó_ÄyÜã?OøÖ ?Û. F+ì&'ݼ:{L—h ã 7«µã°÷É-ÖãšÁÔx>ä‹î#ÖgsªTQÅP&=«[=Nx:{Áɯ\²)gÜv,ä·Ëò:è_„Cë3íÌæsø@Cî H£ŽÅF¢~¿cwËíœåvF¾õQ[ÞÊ>gnTb~”œ–˜JÔNi»Ô•KœFÄÉ€8È+ŸZÙ Õwã%O£çìù×xf†BÐ`Rà’ÒgÇifÇÌ[ ŒgËÄ[b[%™æ#ѲŠc΂ ›îY¢g…Kvë’Ý:¤ ›lcQ&M©Ó•Ñ)ì¦ÆïR"µ%bG×êtNѤÍW+±õe*ÝÆ×²?Ê–CQ)›¤‹ˆ»ˆXF슛ՈÍjÄz5bH¸sÚÄ¢êÝ[îVGZ<ÒabÀÀèŸ‡Ž¾äª>ÚÃU`´°«`‘ƒ‘öÏ›­À× ²¨›…Úãëø:ep¶zЋìÔ¤Î,ÚÜÀŽ*œA‰UØQÉÄ^1±—Lì%S{Ie4á˜nº‡::B©}È|xåCcàÎJfÑŠi´f­qÝŠÝ(bgEÄÈ´òNŸ?©¹ Í•8fN†ÏÛìYb¦9Æ®ÀÜ»’Åëo¾ÜçörªŒè[fú¾Q“FjlÛ)—t¹Ç6›246 õ #}C¤ïHï²ízºc€†äK|2n퀛AÀÍ~ÀÍà ]ë`M¬Q‰=Zì([\ò£ð»˜FÍ—ïsõþ™ô`"`mÀÚ•@䦨z‡­7ØFŠCEÛZl›1•ô(„G2ŽèžhØnAØì[kFö†±µFw;R/ ó}R?@ú‚a°és55ŽÊÑŒ =! "ˆ†ÐÊ?Á:ñˆ/tÄ>µ1¢r}vrHÞùt²¿Ž2`t-Ô«šøk‹ô¢©,°lÐ=P42d×·ìAù…ÏRŸs«ÏÉô¥køƒ”Áã[Î’ÁñáB³çÑΚ=—Úwúå…E½4IĈsyŠ® SC}Ãb4g=šb ;öœ[RM'140}*;b“V¼x«£›vñ!›jÆy±<–ìÎŽnjÐNuº©Ac›4µEÝô³¹¥Ã\€!`ªA­à)ðPÀ@A.` \*¸‡.kFœû‡|­?Á0r½Ÿ)̅˦ŸJ¤ÂAb¢Ñb«š@eŒå†¹QQî)ôïÔ„zÊñãr?@ZåÅ€óßöInjr»A}XãŽj:ïÄC}‘Ö,IÕlóYRå.ÝÎEÚC䱆úžÓ¢¿.7¬u(LpC03àH¢F ¦Nѹlň±OH‚OFÎêOç†Gàþþ7~&âïÙ³÷øûïúg~ßqþ»ÿæ¿ú¦ÕñÿŠŸ¦¢ôOû™Ÿæ8÷øùÄ?ïšúËé/ò—ÿÒ_ü_ûëÿÎ_ûæóŸUåóŸw÷¸Ç·ßZágÙÃÑ sÛ’l^¿xÌÍ‹}œe‰5)1§óOn9]ÒX6±5dÕíñ£s‹ö*ïy™Ñ^eÌ씃(æÁü‚ƒ§ «dŸ/.>àË‹Žô& ßÚ}oš¡ƒ- 2zá·§ƒï#³’´Rȵ"»–¸dMŸÿ”5>4`Ì;Üý÷ ÀÝËææL"g½K`SÙÜ®çÜÞìqñ×è£ IDAT{½G×iŒF£5£á†q¸bn_³gßü1ágõU"v {áç.+ž¹_¡úPoS‘ “–[öX`R“ã±dÆ-S–LÉJŸìÜ#ýÒ%ýÒ!»´è\“ÖÕ‘®†Àj*‚6e,7Œ¹%i#’b@Zø$ÅaŽ tvfÄ@ßáŠOäx"'ï|®Ú®šC®ÚCV›1Åk‡â…Kñ¡¸²©Ñ©îX+†j ”eÁc³®ð5°5hEæì£»y$ÑÁ¢?=¹»`4ð,HêÐbÁmb°Lf„M܇X/tä­N·Ò1ŽÚž‡ýú0zÅ“èרVIi…Ôáˆn:GC<ƒÜ@½0á­=Þqôèœ=çç9£á–sûˆóá!ò9C7%šÙ¡ýJ-Hë€4 y³yŒ¸*ÐÏ3´;¦7›Û!ÛÛu9 ÿ¥í;š4Êd×Nè*8Ÿr›Åì[—Ø—(!Ðôî.Êýø‡ÁîÇœóŒ¯9sp‡iV¦ÃÄ=¨öK‚ƒá,¥™œÉB…àlÿ”+y@ùp(à•¯€Ö€ÜÂ9žÖàë9™!¥AÓX”µÏ²1û‡‘FëèX‡3yË#ý5´×<Ò_c5 {Κ³°ç–ËÀÞ2°¶ Ì-VSÓ:©±ö-  j l¡l k¨ƒäÜ£Ñ!Í­kQê.¥îÒé:ªÒÈÒ€.5ÈâŽj­Sn šJËÝeBk  ì&@Å‚üÜcéÍÉÆÙÄ'¨‰Àd¸ Žßp\¿A³%eàSÜ1®l–Ö‹1ÕrÒÏçuÉ—Ý ¢NA=TzÇÜY`hʈ¨­á„¬S“oì¶G¼zù>b*è¦òDrð½sêÈ¢özÇÛÊ·);—lÇ!r§ÑµÌ™R€®`ª`¢zá'ä –Þ/ lVþˆ³ù¾¾Ã4kaÒh5&lzyïÐabª[5„*c$7ì)Ú~Mh¤ìíoX¬o¹ÎO¹Î®Ï#nž? óJ¤W‡%Þ/—hB¡Ø(î[˜…䳎•­Q´>ÛbD¶ ©w]ì¡, uìö×ÃÃ^iðFë+š•Ž‘S³~žB¹ ’wÂOr­íaQãPóÅÏþf÷Çð³÷øÉp/>ïq{|›ð­~¶U2-i ‹dpýÕÙo‡h—ŠG¿ò’GÇ/8úäœýO®x½|ÂëåoVOx}öõ|‰z~ _ߢžßò½§¯8ùÞ%OŸ>ç/üÒs«C,Ñ‹¾·Ë#¨½ˆ²¸¬ö8–t $_)Ò¯Aû Ä+–èßxØe ŒA‡3m>) )#+LM"5ƒBsI㈛õgg8yŠE÷¨`8Øòþà NæoqE+r< ‚“„ˆ #FÆ–‰qÃHm²!fÀZŒY1f-ÆDÄ Ù|“í–ò5Ïh0¹eNVx¤.é8$ÿ‡MþÚ‚CuÔ¡À0V]t)#¹fOÝ ´P$ËxNíÙ”Êak¸ÑfLô#ÖŒûÆMò¢{Êóæ/Êg,¶3ÔkP?õ» ¾–@‹¢AÑ€ÞÁ¾†Ú3`ß‚}tîŒRîL44zű‚´p^‚—ƒ÷oh-<"I¸,’=n“Z¢Ð6õx#à ¨ ï+Äû€‚Oæ?¤ÄÁ²*æê†Ê ûŠßl¯~ŒQËn%jÙáDGéŸ8?â_9úǺW|a½ÏÖû8VŠfV¢C§Å-:·ë=–ë=n³~í^ˆ/¸£JRZHi£¤E_éûCš´Ê`Ûzì*È5ü,'“>Jl½Ä1 –w"ÿù„—<åG\ð” íg4CŸÕþ)F>A:ÞÃÃG1£‡+ìaE¥Y\hG¼ÓN([—ÝÁˆ8‘øðXôÆ6+WSkpµŽ‘14ÖÄõ²õÙ–cvÅÍè°Ç¶ÓsªßðžüŠ_T?ä{ê8”¼ÑñFÈkí![1$1‘ˆ£7-™±v¬À„Á²T ­•¢N,š ›$³—xÊß°Ëí" _øˆ…‚”J¿kï¶EÝ! ÈÒ8$k}Ví Ñ*äcz,Ph¨ æ„ ž…/ùNø9ºÙ’ˆ>F$ÑB×{ËŽòÖeýcärDÚ¸l uË­˜g×ÌŒæ“k¦ó5JÓ©õˆÔôÁÞcŽØnxÕUhmÅô»k濲bÿxÉÁ_8GL .¹ðÈ…GšFh×)tªÂé[8¢Ÿ3ˆÞÌÅP`È^¢ Pp«à­€/ 0Öó1çÅ!ºÞ»#ý£4 JŒ»Š_£j™2–kö á~ÊÞÞšLùlÊ1?úÜ%ÿüˆ7Ïœ}ñûãû;=ݲÞé–ö›VkO“ IrMc©Ùä™Ï6‘îBª[—¶tÁuú (ïZV¥€=3 Gè © „èÅa¡¹lõ!¦jPJÃþÏê÷ÏĽø»Ç=îq{ü´øÖ ¿‘Øð±ö¹ésãp3< ˜Tʦ¨¡@ ¦×à†A›0`ÃD»EÖ1Ê(PA‡škDÇ‚à™Ä}Ðbk̺Áð;4O  275Pc§ ÃiÌhš0ŠbüqNS÷1 MhPXdy@Z¤y@–hR¡‹Ól±Üe å!ÑÉ”OVy,wñFù® -*ÖIÇÅÒÄ8ˆgs̬H`…½aÈ.qÙÅÛØ%IlBº;Ÿ“‡Ô[Svö”5câ®Ñ|p¼ŠÈOÈ—tïl·cÒÛÜJ·Äû G ˜ýŽøÌDëxN†¾êH³ËçǬË)»rHQºt¥A33iöû¹²Ü÷°ŒPtèT8¤…Ëjá/ù"E- º-x9Ñûö¤a—øÄwL L t½{}‘ënuÇþ(!$øaŠ=Û`agŒÙŠa€|l  :S§,v ¹’‡ÐA\Eì’ˆ]Üs›DØ ¥pÙ1æ¦ÞgYÌ‘ŽÁðñŽV˜¤4—ñZ¢™:­æÒjîÒ6c¢Û-‘³Ãç4C‹&²h‹ÖÕi3(Ï$Éï·¨ªBó× ÜŒ¡·@¸µeQ6•°(•E,‡\‰CB-Á-VUs±9äjwÄÅöˆªu°£k°a<è«~ø:ÎqŨÚrä]²[xlþÝê¡, ¥¬»ÌNŠ~^­oS´8aã¸Ç94P–î7T†Ó Ãé–át‹¦l×#v›!Ûõˆm6Ä”5–Q÷s‰ÃW$TkXÜDõhP˜!¹‘›}K¢לZï8<º¦ûM“R:”ʦµtÜýlAœ¨®lÚÎb0Mð>¬8¶/)“¼5)Z‹¢1‘LÊ}Ÿ!Q[“€×*Ú7¸VA©;\y‡\ ¹¦aSŽi]ƒÎé#@:%`SBZôâ9®à¥ /-¸2!¶EI[uÔF‰¼³:Wwƒ¶­o [Ø[Ê–ÅG’«‹‡CÖ¤ä•O^{äµÏ.‰xy󈫛ñ ½Ùá÷1.)‘“!Ñij“¶¶ÈjŸº (›´)qš’*wXï&d»66±h˜(Œ ÃwÓ=éW;O§=ÕÈæ:¹®‘ëdµ†:Bè(¡:ݸ žu”3|æöy‘½úÿSÇO#þ~ã›9%ý}þÿwü|<_ðgçšú§áÏÒkê?/øõ¿ú¯ýT?÷­~Vü"?dk q¢ŠvÏb÷hL:pDbîö¦¶S2n¨- Hº°BTȧr«˜ œ ¬¨º†ôt¤g JŠ-$ ö&æ¨}ÇÆ“%™é‘Í<Ò§.é.àúì«w‡\’g>B*4%ÑU‹©Z¤ÒHU@¢B¤ÒÈ+“8¶ÉŠöݹ©X^·È—»Á”pꢟxè'>ú‰‡Ûg5建_/jt<FØ4TÁ˜2œQFSŠpF2] Ï%ö^‰oeä™Çæ|Âúõ”ÕëI<$°w„£þ~Œãæè}ke £,êÖ¦Z8ì#·ûd* W>…òPJ N]§Ñ¹íÌ °Ý»ê¤EJ@^¬/m²¯jÚ¯–X›%{áŠÓÑŠÓ+"­æíùÞž?àÝù ÉbÖŸƒ£÷ÂOÒ_µ.ߣxãŒ½Ñ ûÑ%ûÞ%m‰'×xÑ÷tM£,VÓc–Ó «YÂZß#.‡Äé€6¼3"©@ r €ÚƒÄƒ¥®´5º@§ž˜”ʦnlšÔ¤[ép%ðÛŒ“ƒs<çñá B?¦l}6݈«wÇdç!ëhÄ:²‰Fìœm™¡-sÄ*C[çtG&ݱD?Ή4ö އ¯9>~Åñ¯q‹QiˆZGÔkmÊkç1oìG¼vt:Ï¢ ](PŽNWÄr­¢h·ï–>ñB¬XIJ˜§Œ›”))y'ÊÄ#އ‘·˜yƒ™·´¥A^ûä•O[›ØNÅÜ¿á„wœ8ï˜KêGu`QY”K‹›Äæ&q¸ye“ý¨o™VØÑï(ɇí³†FB9°–ŽäçÇÕóÅ߯ý¿ˆZûiß(ÜãÿOø·ý¯üiŸÂ=îñg ¿ñ›¿ÅoüæoýTÿÓ¿ÕÂï»ü¥1£‹Lv{c.³cv£!êX Æ} §d`mÄ‘9Ý m]Û¯SB,C MAç ¤§£||v:U¿ûÝØË%‡þ ~aÿ3þeóSžMÞ±™ ؈ˆ6dÕŽxþÃ÷ÑœŽ,ó¹~·'ü: ÕaÒÐ`ô•>å“IŸ²RÔ»šzQӞŨ‹‚•ÑëçÆc<…_˜"~aŠÐ'@€|½D~º¤ûl‰ü|‰†‡v÷¡£!'ätJ7›!§3ÊÓ»®¬”áhK‘»¬Ï'¬ÿ`Êú÷gd¥OøQÂà㜃¯®z'?Ð]crp½Sa‘â£ÓQäŠõd?®hÿq…“dì}ïŒ÷œóÝï1?(ùÑç߃ÏMvúœ‹Ú… wÅü¦µS§oðG9{ÃkžFÏyêÍ^pÍ Z3x°aPo(•Ã;kÙ•ðÎ*¸¨Ji…Ú á’Id *výZE(X »È@£4¥E%ªÆ¢I äJC]Bàeœ„g|÷ý?àû¿ü;˜^ͧ¯~‘O_óéÙ/òfýˆvdÐŒ š¡Iç x#ÞÅðÎD\èØ®O5³÷ ¼YËÑ삎¿æ£ê3¾S}FX¤h…@ËA‚sý˜Z ±óG$Æ€¦PêÈRÑ•I‘7ËjŽ.[äk…üLÒ}*‘ŸIr¥ƒ©÷¾Eî‡þ/¦ø‡ ÃÇ+êÛŽøòÿž Z™(Ç'DÙC¬=á'l3f¸¿Á 6ÁEÚäžK)ÚDR¼lÑdÃø—֌ڞoøÐ]pe=Àª?&­BÎêSR=¤R 1ã•ùQ*ò‹€ü|Šß ˆ6 Çß½D«aèÅ<3 —”¡MñÀ&“.¿7þ>º-‰Û1o·]nõA䕸[ù´Â^øítÉÑwÎÐ Éå—ò+\t;ýãk>|ö9ßÿðŸðäè9¿ëþKh­d»ñš'XFEèÅŒ£%£ÉŠrÉ•Îõ§$ÿdNÛùÈaˆ†ÈaÄÉþ5'.yüà5¿üà÷˜Œ—\\è\û\Ê.·Ç\mØnG¬Ó)Þ  šïx:xγÁ—œsÌ;u‚ÍZe’íBªG¼r©.²Hí9¥¥¸°ª5Èó€|å“_—ÍÛ‚ú² Y°¾ÅŽ‚"aÒ$ì«„uÝQ&í­E¼Òl,ÄN!¶ ±S¨Z 5NÓé4p3ßðžøŠ?àdüŽ"p)Ž]ŠÚ%I=^þ0@ü~@ö2`ñÃ¥z‡\uç’+¿+iUK=€ê‘…¼ë\øy¯ýÚ½»Ç=îq{üäøÖ ¿|éqýƒâfH“XØZÉt‰6•øã”N×Ù¤cÄ•BY lA`%øNJÓ›óScÑ`bd:i2â|}ŠL,®Þpv~Ìf= .uPÝÝ\™KG 4Ì Ã JB?al–Dši)Z!oWL“»b@ÚXG¶S" ì<  M Û¡²ì¾…Hi)¤£ÀWH[R5ŠªPiàÀƒ6MØ›-lDߊêèXºÄ4$¦Þ¡ëiÛÔK³ò¨SŸTød¡O6÷É:ŸF7‘ކ¶8£YjA‡4u*å‘w ÂP`)„-é”A9´)GåÄ¡˜:v‹a×8v‹á´Ø^QÖ´—:©áS¸6ýôOïêÉ¢À¼Œ™;föŽÀˆ9'xÓšj沞z$‘Ka ZQA»C7F Ч}.è|ƒÎ×{ÑÙõ®¢uk“·IáÛ)®[¢¼ Cè@¤Ðí$UÚQ&-õ¶£M$Rð%ö¬—§¶»Áœ¯©õ@§:ÔƒŽn(¨}“ÂrHD@c[£–à0fþä†A°eðd‹û°@ÐÑiù…ɦr¹¾õ¹¾ö±è°¼G«°ü-ŒÑ†;´,F«cÂ$ô$¡) •ä©þŠgÖ+grÝáOb|§ÄÖ8 ê1»‘*jÓé+¡•RL0t‰©µ˜Zƒ©×X¶B&å¥ÏöÇ#ŠÀCXŠÀL™›7$¨NPTYëÓí êµM³°i.mØh,§\¦‡¼ib«’¦6h¶Ö©kYê ¬”‡“3ä#›8ŽHÓ€4é) I´DDïAÊèÑšƒWœž¼Á6kܪÄí < ªÃx¾ÄtŠÚeµR)3l­9îÞážfx“Í•ÔÒUã¦Ó0òf@j›¤FDÇ®°É¬Ö–æY6¬íˆ’8!™Õýk5>…á –() Ý舌Ón‰ÖBW”ÒC“‘áK‚Éîþ9Y½OVI²Ú&«tÔÀ óMZË¢mMaQ—MaÑh­k`º:ð¡¢Ï,=Š­K•ÛÈØ@:f ¹¬"Gt)T)f³Ãïb†rÇœºnÐZ&m’¹>McÒ´µ41Û–PKðµ_ˇ+ŽÌK¼.§Îm6ñ˜B8”¡4]2Ï!·|j- “>Ô>ºea8Ýn1œ'ÔèÔ©Ir©¡§‚&7ûM§{Üã÷¸Ç=¾…øÖ ¿«w‡üÃßú5:Ë Ú0„ÃÉ3ÿ” iL.®¹º9d8Ü2n7 ­ ö7ùw%ÝÖàêí!·oöøüÍ'¬.Æœ]qy5§\ hšÞ ´ 4{õÃ!éþÍpÄÒ‘‰k &æ¤fütEíZX‡…åR9åÖfõYˆ ˜(ÄDáNJtGP5ÔKû(½]~Ǭ·Y¿µzÛõ´ƒiÝ] ø‰8 qÝ„ÈI‰Ü„ÈÍI79ñª ^V´× Òíhu®Su6ÊXÇöÇ—$iˆátdTo®W‡h“mÚ¡M:T»Éøý€ÆÑ0+\3Ç3s<+Ç5 d m£Ó¼Ö(¾€êEt$aÛ±×ì¹Wì}ôŽÀÏh¨g¾0“å.Ó!—IÄn[ vgXs g ãœj8ïé”­KÕô;÷ÝÚ%ëVAÅè8aT¯ˆš¶¶`ãXlmŸÝÒÍÕžEúìôõÀÄyT0×oPsc—¸rÒ7Þ)u®sQOØd:õ&Eß] ý’áAIô Àœ&˜SÌM‚µMì— ÷+nÉ0.ÙcÁ~wÍL®°º–Z8¬õkÌÚ‘ê!J×8Ò®7[–Å^mŸðjñ„æÚ&]Pt·P´ˆªÁ¶ <·Àý¸Àû¥‚Zs¨…C­94Âe|°äøøŒ'{/xl¾`«L ö(Ùç ݅Ã[ŽŸ¦œ™å3|ºáã'?¢;”›Êtˆã#n™M/˜pÁÔ¿d[Oxk<ã!xkŒÈ„ËY~ˆxY²~ᘠ»pÌ.cvþˆ­5`g (m ¢}Ð`ø –Ua‹ “†>SÞµZÞA Pp&ŽÑEÃVðõŒBs(„ƒKÁŒ[¤2¨¤KÒ5˜Ìf Çæ‚“ý7ìü‚óMÇÙÆãl»G¾ ‘Çݤ¤ñr*ͦÍ,²E@z’Þ„h–ÄÛËðæá^B«élVª¥KuëR¦.®Ú Þ8ÇÄIÃnQ³sjjLvxl°aÊÛj±¢O˺[v“qõ,Cü&çD^p,Ï9–DzBåšÔ­ÍW·R'&vGaRµ«Ìf©Ù¤C ubc;Üi‹;iq&-"²‘M]9TÏ=”¡QÇö½ð»Ç=îq{|kñí~oŽø‡¿ùk8“‚éÇK&ßrôäû°d±Üc±Üg±Ügxxø «­Ù³nØÞPàRàÒûcºlv¯¦¬oÊêS’…OVXd¹EQðjpuØ3áPG¨ Èö‡l#VîˆìÎ5¯Ð\j,¬IÅÈYcÖŒ¿³âævŸ›Û}ÒEÀêÅ1ëpNs£À掎z´ZêõÎz× `B¡AÒÀÒ„ ¸l!¨áÈ€£N"8”¸Ñ £H²%Ì£Œõ—‹OKºMMzÓ \I·4¹AÙYQ‡u\2m‘O4œít‘,"Òw!eí Ÿ¶èMƒn7hAG=µ¨‹öHÇøn‰¯' õ-}ËPß’½òØ~1`û:bûED›iôý™=­aÊð$çÓk¾ûìKü½‚/ñÅà1_êñ&?!O+Џ$ß•°Ýabà ÂSƒðƒt5 YDt jí·>7ú>;;âÜ=bOܰ²&Ä"$Ç¥+ZÞœÏyóÃo~0àfл4'퉎6V„^Åž—p䮨so¸P>²S] ¨“,ðØiDD/üæ×„Ä +,¿&ó}ÞøÉ2‹‹jÂ6Ó©¶)ú¶%” {AÂÁ~ÂÞ{ NáÔ½‰…SgŒEÌXÄLˆïb<™ãv®,°»†ÔŽXûÞ9ÇœùÇ(]0•k»K¦Íš4¶í­Íâb¯Ï]Ût°®aS#ò ûÔàÔá)ƒS á‘ãS‚–±»äØ{Ç3ÿ+>6>åVùTªf‰Åá¶\òñ‡oùäûïð_Äñãä#®6Çܬi¯ º­A[MáN%£÷;f6Ì?¨È^ I¿sýõ˜ôë1у˜é÷Ìœ§'·d¦ÏYõ€.7ؤª•‡Œ5T.PF­,®Å¹fs®≔nmÒ¾0è>7Q_é¼ô%}Åû‡_óþÑW|±ü\ý¥ëp¡ÑÎ4ŒÇ æ“ ëiE0Ù1vo9ð®8uÞ2kf³[vÁñá€ÕnÂÕ»#.ßrõîˆÕrÊèdÅèxÍødÅ£ã\©C®Õ!±p³;$$e>MùÄ{Å'~Ä¢Þã÷®pÓœ²Û„¼»áIÊðxË|rC¬¹^€öFP»‚°Øá±aÀŠk+ÇÓ2†î–ÙpÁ²›²èæ휶Œš ë|R}Ê/ÔŸãÔ%_VòEý_epÖž u­§¡Ñ)*Õ©4r¨Ã‰ŽyãÆ Nc¢Ó’*·I×Ù:"½ÒÕ&ìØÿÓ¹ç §ÿ÷ÿ½ÿñ¸ŸÛ»Ç=îq{üÄøÖ ¿¬ö¹Ø÷y^ÝßÎ8žMv´[“e6'¾pqu‚ße ­ ÓA@--„Pß¼i DJÙº4•É2Ÿñj÷„,vPeƒ¬TÕ¢9-†'1ç-Æ#à´FMLwÈU{„Ëþ/i&8zE'ÙÑ9%RK1v.JN¨r“dâš9Ñ4fXm™È[”©‘ "ÒƒˆTFä†N- ꢦZK¤’8]ŽÝÔØeŒa˜TO¥ùT¶Oh³cîaÍmÜ=‹@)ª¸ ½ÙÀ@#rb ½¡’6›r‚![*ßA ;<=¥]ëä¥Guf±9¯è4}ëÓ E¶ýï8Æ „Bk;ô¶Álk¬¶Bš‚¶ÓQ™B_uÔ‰A+úè¬N€e4x]G`JØ‘I§El³9o‹S¾ÎÁå–kˆ×heÖH4©0„Â4zÛ¢gm­àêI]jÄ¥ yGî›´¶¢µµm ®jΞ¸úbÈâÓ!Û‡®ëè“ÛÊq§Ñ(e8Ê ÆQI’Öl’3•*¤4TX¸˜n®ÂšVht(%R„Vš4­¦uØNF4˜ÁÀ+õ¿+pë×®p£Ïnq­Ž mñÓ7©qÒ *¢ò)j*X#Úœµ7&¶C ­¥Ëtô¬ÃÍJÔRǹ®0¯ô+‰v-±’;I°Ò§Ù)£iÊèIÊè»i-@DBHLH$·x2ÃêjôN¢+…éHì‘Ä=”è¦$xX=̉Åxs…sS¢µ’.Ö©+Ùè}ö"BWxQÍä ãøÉŽÓO–,¤Îõ""Yâ¤%fÕ0P[Ís£?§eû²÷^O–$Ù™ßÏÝCÝW‹Ô™¥ºº{ApùÊwþ¯ä_°°å.@ƒé™ÕU••újZ9nVu÷.8 Í3hZ~fÇ",2Üã„{Úï‹ãqÎÈ}uÁ>¡OjW‘´j¯E☘²E–5HW.Ù}ƒò½…gĵǡikšõ¿i¨Ëɨ: Fª“"ÝÓŽi˜!ÚÐKÆ ×iùb\üö–mÔ":Ü–§\îžñ‚·¸Í÷8äøó²…ÅjÑ¡šK¶KŸÊTxnÂÑ`ÎçKZiÆxuÎå:Ä\•d‰I¶l²¼µàmW¨#•Y(a"ûBñU"¨S‘Ոǚª®0(‘YNU¦öK-×&ÕNQ—,(ŠÔ²‘¦G¥4•ȤÆÊsÜ$”ïrò‰°cìáŽfcIw8#;0HMâƒxªðG ÍVH»±¥#VزD›‚J䦉+"<‡LZtʃlÂazÏYz…ÚÖ\ÎÎI–÷³oÂçH„«‘`®A A­DC£ü}TÕìæÔRaï Ò%UšR¥%yUñç|l®çã?ÛµŸð„'<á ?ül…Ÿ¾ãø¹¤ÕÚpúâŠÓg×7oñëóx€¿1ïrê‚Óä¾}L=„máÑ“K:bIW¬èÊ%¢Ùs‡Pû¬º-äm@q'(îùÄ2sZÁŽÖ ¢uE¸uÄfÛâÛõÜ«c†Í)ƒÖŒasJÇ[r3î°w˜ŒmnÆ6‹ÒdY„ZR€7ˆ8jÝóÌ~Ç3ýSÄM¨ò‰Ÿ•a3M &Kƒ©eÛšƒÃ˜ÃÄ££˜V¿âî9àáþ€ÉxHú¢d“8H³OÞµ0›Þó„&W¼ì¿Û'I9–$žÏ»m!A8©NMY)ªêuÓ¦9º©©›‚²m }µ¯™§~°x –’bÑ Z¶6[zÑš‹á5Íÿ°£¨%¡Ñ 2„FË,¨l‹ú9á‡õâ]}Æe}Ä®2 IàFÀ­‘B«&ùNß(´§ÈrE:uI&.ùØ‚±»‚fAÍœÜ)XÒz]±x×`uÕ ]”´ðœ ¯¹ÁïoðG%mo…奦ÉZ· M’—âÚBß(8TˆSg M¡L"\"‘pÉ-›Ò6ÐÝÇ"ò{޼[Í;œ4!»wÈމv ·ÏÒ푺 ð…6HuƒŸ -¤WÑÌx%¿Ã r‚ö†^A7XÐQ ÆÆÚUDí€Ùðá‚lÕ¨F…© D‘£â5rí ¦ÀÊ£:ZQ†!Y¡É 52ð¾Pôm…y"9x¡¼(iR|—aÞä!;æ:?#V.¥¥°ì’¡5£+—H£dc|gÔ‰à.鳚Údo3Äjqª1OÀiTÊHPÔP¬Å5iN´4Ð7Mòo'Ã3#zÎçUŠ”5_ÿÝòñŸñ Oxžð„Ÿ~ÖÂï콤eo8k_qÒ¾á¸y‹[ÅÜG§ø‹ë.G_J¶í&z¤Ù„÷ÅŸ©ï°dƉ¼ãœ+d[=÷XõÚÌ>ëS¿­I¾²AX”K ˨iŽŽN'¸‡)Ûi‹í¬Åíä bÁ/w˜âÕWœª;V5Åד¯[|ûMÔ·HGŠd$©~/ü¾°¾å/êÂS!IÐ ±$½fÀ›Uã®ChuÀRLøÅ/'üò—ŽNC~ù¿¿üŒìCÉøÆ&MkÖ†MÞí±=ksКpøüžÃþ=GŸß³«[ÜËcîå ÛÊBá5C<½Ã5CªJPÅ ×z’£ïsê¦D·uÇ@L~0¢[E~é^61/ ^øï¸èßðzô-Ÿù•'˜Ûfv—¹ÝeµHÆ>Æ/øæƒO¸òXgëÌa››&Jˆ<ˆ|´’;¾•ä… š Ê•I¹4(—&z È ¬¬¬„Ì(XI‡TYÊ:…t­HÖûå]Ê«ðœ^3¢ß ib ³À0KrÓd­;ì–é[—âŸmôï¼ÞGE„âP“Û&!þ§ÒôjM/[ÒV¼ ßᤠýVŸÛcð¢Ïd7`q{ÀòÖgþö€Íº‡ùeŽùeŽad˜ý¥5Jh”Ò(K#j`L{õö/ Úï8­®) ‹ËÅ >\=ãòÝ îY‡mÖ»6Û]ƒ‚ÁhÁgïy}ñ^œ¾ÁîØí«]`‹‚)¦ ™2Ä#$*Öi—‡ø”$r©40Ì¡]Ðú<-ˆÍ!—Æ ïs›zmì3áú£]ÐëO ó&aPϹ%ñUÄPì…ß/ʯÙ5Ö/:¬mV_´Á³]`´ «À¬[{ágj„¥~ÐC—´N7Ýs| k.¸v.P&íº¬‡]ævŸ23˜ÌF|}I>4IF6ÉÈÆňïkò÷ù»š´Y’ýZSTPv> ?¤Æ À4 ÌN’ªY âÑ*‘í éWHªOÂO|•Â?ÅÔÏ2*JŠ.äŽA¶S”;Eu#Ð_i¸« zü3+P­¯›Ò=Ké|™Ò8Ó,ï{,ï»”w&ñ‚W* ®€¨–Šì{‹äw.»¯¢®GunR_èÛ‹9 îùÂûš/Ì? ÂšË»ç|øê9_0^’œ6HOd§†[Rh“Dï_„mEåUôä #(ŒÆÎŽvcMËYÓ–|3"òfƨD8ú“ð3T‰HT²Fnbš¡ êUFeädÊA%ž%QG’àW‚ö¦ß.h·÷ÂošÃ. xˆŽy~¶·¡É†®± elPFÅF|0OÉvÆ^øMl²ïsÄtijœ¡¦áiÌCHÇ‚´Ôk(nÅ º1È=‡Ð7Oé=_pôüŽãw8nÊ}óIø=á OxÂ~¾øÙ ¿Æ0bø?ÝÓ[zjBWÎi«Î.ÃÏCÜ8ÆÙ¤‹‚låmLæa×4̘CcŒ4+ºbI亴Kš£~½&öMªŠ™¸’˜–¦Ù &\]â 2Þ-_r¿9àý‡ ÂI@®9-®‘²¢)WÈÛñ›Šé?¼ÿ¿<ªÏ„a"Ž@”Ýþ˜ö;~£GK­H,‡¤å(‡kºWG,›'\Y5…i2Üòòå;þ‡¿~Ç‹—Kd°»•ÜN=øç¹o¡ùs—°²h»k7åà`Âk¾c¼=dµì/=®ç§ä¦E¿šÒ7ÀòRdU Òv,JĤ@jY#W5r­¨,Iý±|ƒ%)gÉ•‹øø_Œñƒ„óÎõå?£šo´7ÄõäŒËìr79åýÃKÚÈ$B$!2 ±‹ÚðÐÊC.uàR•P΀-è+LjT¤‘qE#.¨«”š„Š„Z'äZ‘k‡­n€v@+ ]VŒc†4­˜^cA×ÝPJ“RÊ$©ä;}/1ßT¸ÿ˜âè ³_"ÏëýrN RB|Ö´±ªRÆŒÖsšz‹Õ.qÚn[ã¤&Õ곸i°¾póæ )KDP!KD^¡+…FQ ­ 9û²sø\|ƒ¿Ûð<ûžQ=!-¼Û½b<;à«›_óáæu*?YÐØÒr·Nxý—üò—_cP¡D‰ñÉ Øáéý×®ŽN¹Î/˜GC®ÖϹÚ<Ç0 zÍ)ýá”~sŠ®%óíùfoyeÑj-h7—´‚%ØPw¡h¤AáYØvFÓØÒgÁqõ@â­èKv'>;é‘ ‹R”Ò NžÒÉ>qã6c´-ÐA ™Ðlo´g;w ë ™Õ`ë·™ö8Ô¬‹ë²…^œÁf„{áö#ÜÏC¤ª¨¿è(þ3¤&5iß ye“àPh‹¢6)µI¥µ+ÑÐÔˆ²KSÛ‚ÊRÚ¤ÚIªûšúM ÿ˜QåéP½²Ù˜>;é“Ä6ÅÌ þÀþÌÇŒ·ˆ å4ú­Ó Ã϶øç%*+áNPÎ,x§0ô Œ RílÄ×.ÑWÑßù$ç PF\pš }wÆ3û¿R_QåŠÝ¼Ååû—ÌþyÈõìR6¾@‰’\[DµÇªè0Ïûh)hx1Ž3øDìñË‘öi[k~‚ìU[£‚ Ó)°TެÌRbd52É r¨"AI’Hd· ÞHU3¢¢GA‹— ˆ#ŸérÄ‡Õ L'㸨i‰ Mk‹§B*)Y«Ñ$2mÊ.ëC6)‘!ÖóOW~EcPú eHt¡(¶ ½s©f.µ0)¤‹,5íá†3÷šÏ/¾ÆïîøÁúÏñ¸{žð„'<á¿ ~¶Â/¼2¸úß\—³snf,f»©M:3É›&ú7& >\båuq ëL(¯B&IÁæÕõ×]ÍwãS¾Ûž2o¡¿<Åzác?3±cœÁ=ƒÖ˜–½Æv0j2i³‘­OÅ›¯é2¡Ë†6h¥@f öÂ'­yލ21®ˆhJM ¡©4íí’lnp5?d;·Xn;\…Cf;“< 1ÛÁó1ñÀqð€B#€ ‡ ]L)èÛ úÁŠ~oEp1} ˜‹sÑGökÄ« éÖˆ“šÐnð!8ÇÚdl¿jb R²“ìÐ$µöâªl¨}$q 0«’–±¦mNhS#$V"Ù!VbZ”›šb£)Ö5ÅZÓõ¶ Ž7ôƒ-ÃN;̪&³ªÉ¼ ȲÄ$æ~[H¨Ô ªšÊ—DaÅâ¢Ö.áÍk˜a2ìaŠÛ‰ñ»1'/ï©3ƒÚ3°_$8ŸÅ4™²h±Á!cÄ§Ê ‡Ñ9›MS—$¦MÒ°I*‹éS ‚_l94o±Ÿ§¤g6ÉácŠù©«\•Ð0b\7Á”ȺF9ªWsÒ¼ax2Á섦O‰‰?Üò,{Gm ‡·¬î;,Ú¬:[ÉlÓåûÍ+êµd²˜;|sG`l Ìyi£ªš~¹¤Y†¨‰$½÷YÞ QwEm;>«FEÕ0ÐR°­ZÄ¥GYÔ2C5µQaêŠx[‘ìjŠ6Ô_JϺ¼=xÙʈÌiâE.qèG.žÑq—tÜ}wECØuAßXræ]³´z$eã“é |m=.·Ï¹¯™lX8]ÊS…Û ©&Õ¤¢žVT“ÑÉÇF–bÖ9B!×,ç,qMŒfZîHR—8qIR—uÜá*<ç&þVUÞ ŠÈ"ìÌúnÍSp5ÛÓ€ú/Àm„´7KʃêXQžЪØÖ7ËSô\°Ò½}‚P Ð‘Ñ ŽHiˆ„»ø„·ágŒ£Crl|cKC¥4å– ”²81iþÆÄ³ÛDó&e·dWèß–$×%­aJ{˜Ñ¤´)}æøì0)©PT;Eu'Ñ\AîÚlŽÚ¨£ŠüÈÄm>Fí­½eŽÁê°Eüe‹J41—/CŸ-9l-è©-‹¡Ïâ‹€¹Xô<±Ãž(ñdÅÑÅ=g¯¯99¸¦oÍh`Rüùz"tOÍ'<á Oøsa5{ø7íÿg,üL®ÿw§c³ùÂföy[ç”à ¤<0ÐŒ†÷t ¦éˆI6¢^Ø=´Yw¹>¾ 2 VíëÇô}—ñ·=ßxÄ¥MéY”I}`ÂÀ€S ª ’Gá76)®BÆ‹œê:`æ_ð{¯ÍL13Ž˜·Ž©{GXçÁ³œà$¦9\3p'4Õ G%U“J‹µh1fÄ=GÜÐeŒË—¡sD 2¨Gá§ÒYäˆ:"\‘Ñ“)C•2RåF’¿W\{Ä÷ßž²Ý6Xg>ëÜ Ïv4ŽB|è7ï89ºÅ@á°¥ƒ˜R0r¼j¾åUÿ{G¼-?ãMñšªT,Š¢W£Üu\"“’pír¹[c_Œ¾Å›)ym³ËÚ\E|µiSÔ&f#à RÌ*C6*ôÀ7¶˜£œîzÉÂê±´º,EhàxkºÞ‚5eàN÷éú«W`ž´5ýÖ ³™³³„ÒÃö{ºýç£K.í .“sò;ÁbÛe¶íR­%‹uŸ·ë× c΄acÂМàU ^ÓÊxYB5qX¾rû&D½©ö"Íð)MƒØðЖ ³2Û¡´ jY‘gÖdY…ÒE«&okÊŽ¦~.YŒz¼;xAÔt¹5ÈVö>­ÿ¸A:v8uoù¬÷†voG¿·bäÌéÉçÆ5k«Åš˺ÃZ·YÖ]vY“tã¯=–›>iä4RÇ¡<“4¬Å×E\PÜTã1¨PÛ •îÅiB!P,2– ¹A#pp«œ]Ôb·n±Û4Ù®Z¬ÖË6ÛE›*²Ø^´Ñç’©?dWøìª€PûhᱩG|È-vÉ«ðiÕ`á÷Y÷H«D ” Êe#Úñ,A޶H•ÒìÌhêÍæ÷"aÞî1ïô¸ó˜W¿b®,¼>«nŸêÈ[Bý(ü4±É®˜[}nZ'(·Ú ?GÐ8‰h%K²¦MXdMmK¶Ë½ ¿úN¢¿èßAÞ´Ù¼hS¤[ÙÂ),/ÅvS,•R9‚Í‘O,=ªžkº)§£1ŸµÞs¢î¹Œ¸c„Ûa¼VôY3+¬ˆÝÎ’nA·¿¤k-«¿þÿ_øh­ÿõ“žð„'<á ÿ]!„ø7¿ÆÏXøÄ÷æ‘`)|GáŸ(Z'%ƒÑœÁ`ÆAý@oi¼yIý½"|hQ¿1Y'=Je°jµ¹Ò§¤Åî½Eø÷»¿3) ~mÁ¡‰þ•§44å^ømê}Äoµ‚IMqå15S …‡4 ¾Q_P_ ÏGX' ü“½ã5ýáŒ9¦©×Øuº&kÙb,øÀÅcÄO²A#1u‰¬ö?•€ñ)âW ªô1â·¡'¶œÊ Ɔ‡íë÷‡\ýý!×wH²•h]PëÍó圠9¦|ËIvalè2%ÁD`= ¿ÏƒïøÛÞÿÁ«ƒ7´ã5U¬˜Çƒý µ~½ÏzêävNø­Ëö·MÞ_½ þIo8ã¦wÅI~M© *gñ£/0ƒ’ÞÅš‹ó{¾<ÿžÑè6Ü’`S¡sPÞ¾]ñ¡$Y—tÌ7¼<þŽÿñ¯¾å?üÏßòV}ŽŠ5›dÈeâÀ¬ ÷ü`k™†È J ÚºÄ÷±ÕØ2¥^K\#Bjš/7œuï8uï8=¾ã4½ãÊ>åóŒwÎ3fF—˜&[FL1a^ ù*kó!:ç«õ_°ÕMzÁ”~6£WMiYkìà ´£WÏ…Æ^žS¯á²E9µ°{9=sÁ™¸âÂ}‡ëÅ8½ Gï—š”HY!EM(|L³À·wtûsl³µqâ-Ù=Lu‹ñ¶ÃlÓe±ðv%±Všóò’s.93/Ip8©îiæ!ýxÉI|O2ñ¹}†ÿU„ú§ŠbcRjƒo_ÀºýhÙR“-kIJ‚ªDÿª‚_Õègñ¥`Ñì6ܴްÍ/)2›bn“¿w(ÞÚüºù;Ú';^ïè«5ÝöœÒQ–¤t3àCÄ!rŸp½»`±ës}sÁdq€užbµR¬Ó÷($R¸I©óŒò!E‚ÜJŒT`Ô‚ ‚LjßGá§4ˆé"+Á*ê±\öYMz„ã&õƒ@?Hê{[Á.líE_0@–Ô¥A]ÔÔÂ`S{ìŠ!×i 5ÚÔD j_B)ÀP?|3ëID‹˜¨†øñ»h^qqòA9ãäß°Ã<æï«¿!7JÏ¢èÙÔGbŸg¬ö…ÕwVÀ¬5 qa9ÛÓ€êXШCÚZ× bí¢uMš8lçëUýÞ@_=&tú¯Mi„Úoµ#©=Ií ´'QFEC%ûeøbÙÈŸÓ<2qëæ|HþŸ¶$7;òßÖ¨·)íuŽP;ZÃ9ÇL±É>e^®PT¡A}§¨¿ð_ o[©ÉV¶X2é#*¢áD»"=tHz ª—N•Ò±ά _Øßñ™úžîðn?C½6(ë€3&œsÅ9לs+#l™aËKdHjLò?ù³îÏŸ ?Í^ýÿt—ùŒ?vÚÿÃÅ~|ò¿Üò£7ÿò_ÄÎÑÄuà§-þ5/õ>Üý/ø·ßûã}|üë§³w´!­ÑB þX7ÿ¯óyô/}š×§yýÿèÊsòÓ¼þ‡ÿu_ÿUþmð³~ºRT•ƒ•E¨LÕ12E®2ô*c¾2X¬›ÄaŸLxÞÎ}9Æ=‰p!žâŠEí1.[Œó6QÖB›R²²}¹€í*`¬ˆ:¥ylÇ ³!ý"ÃæÈÇD‚!Q; jåDAM\)œª [¯9æSyÅPN0uA(|®ë3Ja S ˜!1ÿ¥I»6©3U è IDAT5Ö™ÏlðŒÒ]®wß:‡ŒÏŽ(éÑ:00å’¿¬{÷Ò'kšø§ Ï~yˈ)eT£)­À?Jé£-Æ# åñ08dý¢MÚ”3“åYç4¶ ««.WâbÿV_.yíC›dk“<6Ècg‘âÇ1n'ÁÿuŒÓØa«5Å]È}&Ij›ÙÜd;WsÒ`µ¹ÏްêŒEÝc–™¦CfémÔ&Ž+2¯¢¼¨ ¯ØEÜPÒ¼UðŸ=–Á­çâ¹[^oè¥s"é% ¢…C1WPë¼Ã*ë°Ê;äÚb3k3®©§ŠF7Bt4N'ã°3fäN(j“¢6ɵIV;„­&»Q“°j9>žŒðE„'B<¡¥ –òÑ©m“8.I£Aì4PVÁ¶lòavZ•8NÂÜïcz5çþA°a{¤Ù|¦ÙæšòÀÁý¥…}¦P-@cÔ%vÓÐnÐwæœ]ý§F±P}Â^À® o̬ °à ~`d= Êœé¼ÏdÑgºèSe‚¢¯ÉúŠdà¶}¶I“MÔa÷XÆCŒ¬ Î*â ™¢ÛÜÐî„´;!ÎÓ,©¨þÌO¾? ~~zOʹޡѵñ‘°é=1z¤KG[>ÑG>2*@?¶lþ©Áž³ÕýüP›òÇ<öÓÎ'"öHŸôþ"µÐ4Zï ¥¾ÿˆ^ÕðHÞê}íËÇ{ûè¨þÛ÷ýc’¦ „ŸÆè§·ø“í#k¬}áѯOm?ö]?^ññ¾ö>’Öz¿ûã¾y;-~twóôqÈ~<^âcƒ§y}š×§yý÷=¯ÿÆøÙ ¿½ë ,"ºì8ç—Œé[¦cŸÙ[Ÿñ[ŸõM›V¿¤ÕsÜ»¥õº ÑŽi´÷I#"æJx£O(8fŽ$« ÈMˆmØiŠÚ`µ ¨WCv+…›·0ÝÃ9úËÓI0(?™¦¹Ë8o3ÉsâYB·XrRÝòJOƒ)j6´ØÉàÓ?qC$‹;º ƒþIƒ¡t™ÄÛÊj2¶‡ÌqÐ[‡•ë°|æPÛt ãÐ =ô˜ jBYÓê¬i½\qêÞÒ>["³‚ M¦жMvè“ù\¹C¶ô±Ìº¤ŽM¾²˜àÀjÕ¡WΩEÙT´›+‚`ËbÑayÕaù¡KüÁÁubŽZ·œ ï9yuK™,7ŠÕ­âîŠMìæa®Ès ¾Å¢×Cï4Û(À#ÂUÀn®šD+Ÿ<¬)5å‹FšUið® ˆ¾qóÍ3Ô‘@_X¸>ïüµÝdRu™l»ãŃ U u¹_¦k º0paàQw ¢Êcºë“üV±ü­ÏüYûç‡\=[Òë­ðÍWF¸*bÀäÓœFâåéÚ¡¸7Ño%ÕÎ Yºè¹ ;6Á(Â:ØÔ7e»m3¿a—¡¿†Èn0·{dŽ`e»˜"B£HPÄXGû¥À~)±¡UaRåÆÞJEÕƒú Áp° †,K£d©Lv+g/¤ŸeÐEQâE™àš1«a‹0sɤIHdUa6òý²ÕF™ ˜ÙäS =³©R±WT¥‚ÚD)EÓŒè76 ‚Šn§"3-rË"3,2,ZÞ–ÎhEÇ^Óé¯iZ;Ké nü#*[.‘r‰¤K(ü}A±¯7˜)³YÒcÎ;A¦5i`“6mÒ†EŠ’>ÚôÉÑð©lMnÔ*ꪦçÍ\,9ßSšÓÃf#¦ÎµTô ú,è; ìvÆd8b˜D#–y§ãô½ÇJðFñ¾¸G'Æ{S·$åÀ ”])kL¯ÄÈ Ì¼DkA.­O–b“T.qé²X™$GL¹¼ßÒ|ØâNbƸŒµËƒRÏhuç<ëÍxÞ›ñübÆ$=âÝî%ï¶/‰vyº~Õƒ",Úí5Ý— º¯æt;·ÛGðÐ …e2î2QŒƒæ‡Ę1æPÍëÓ¼>Íëºýw1¯ üŒ…ŸL’GáwÇ/ù–Q1ç«ñ9Ó?œ1þ/=.¿éóÅ_ßsô×^}vÏuc¤4ŒÇHqDJ[ŸS3GbЄª…I;Mš¬?4 /ã+_·8ú‹)¿©8üË ƒ—[ö”6Ç&GV5ïîÛˆ»ˆø.gz§i¤{áw\ßñ’ï)…ÁŠÎÞD‹œ®XÒcAÒ­XŸ4Y š¬?˜Ç}î×îVçܯϙïFXíó(ÆlÇtÚ ¥m‘Ú&¡mR “—ï9uoy}òž/òo°ë” I‰¢B25†\Ú/xo¹¶.WGìF-B§Ev`SlM&»Va‡÷Ë4Æ1GÊ{š÷Œ‚n’SäUIü ÊèÓxsô—w|ùò÷üú/¿b5“|ýÛ!óÛwÿ8`¾r(“Ê6¨“å°Çvës¢¢’jnR>˜T÷&ÕÌDš:=ÔÀò]@ôvÄÍ÷;ì·!¯fœ–SNºNì);ÇîŽ)vǬƚèÖ9èZNÚp$à ›úÀ"|둼U¬¾÷0®û<ümHS‡4{!M+â¹ùž—¼e &¼ï¨PEÏ›liå.鯡¸7¨ßIª¹"ž»d‡Ý IqdqüòS–ô‚§k¦Ûnï7ØoRøGAŒK&+¢‹ FÁãÖù\ã& ו¸' í:$…G’z$‰‡Q• » c†rŒS¥Ü-JôÒ$^4Ù®ÚäÑMUTµ} +Æ­#VÃ&¡rÉ|‹z$FṈ̃› N+†• ýºFÿAP-÷ÙoÉ> ?eH3氱⼹椽e+ƒ}¡x±ÏyäÝsjßrһ夸¥’ŠPù„ÊçÆ8b+šlÄ>;ãF´ˆ„÷¸ðoo†QrŒéº úcÚõšµÑb­Ú¬6kZÔR‘™¡í; ²kr£¤E]Ò÷çô%Ÿ½ååH„Ã׿—¤–Ï­iS¯rî\òºýzÍ»ê9ï눪¤ªÁ7ÃÙŽÎhM§³¤ólE'_QŠÌ²É…¯¢ÂÖvaëŒZKbá’ ‡„˼ËÝæŒ(õ™o,æÔ÷Æ›ãûyY’ëíÞØí…ßoÞóü7ïù›‹÷üÍ—ïx—¾Æ™§D3›Ù›‡6›±"º ˜ß•ô[3œ]Ê‘uÇÑèžÃÑ=–È1eŽEN%ï:/¸ ž#FU%9坸žW¼ýôÛ•œaó ¹§¸â dÍfÚb5o3Œ(ÞÚ´Yó2yÃ+õ-í´šk®Op»'ˆW‹¢o;ض‰´~~fYàæÍ<¢ò¦H·Â?Û1¬èݽÀ~“‘½±™ßhÌ­1_4¿ão‡Mˆº/¹ù?Û,çy‘i±9XÔ=æ»>óÉÙåˆé‡Cæc꣦mŒé€ç_Þ³ËîОwVRx)«?ïcïO„Z?¾Y?:øÈdö®æéÙ¿Ææ‘-íÏ}|k¯µ~|SÿC´ý#?&_û¿"€?º¦‰ÝÈê}û}öûºÞ¿Kú#Û·?²OKË/‹®y Š|ºøA‹ÑGŸX÷µ¦ˆúÓ‹ÿ½ÏýØÃG*~ ¨ŸÆ÷1Ú!ôc`OÒ?E<ô›=9C]ó‘AïwÅ'ŸysýÉ'ý8–?¾îÓ¼>ÍëÓ¼þ{›×?~¶ÂÏìkœó w QÏLŠAƒ]£…)4»C´IºMò‘Øý¿Ñí.б¤Š ¶Q‹UÔe3éQk süË%]§Ä<]b40[ d%ÐAv9–Hè w´Sì#‰<±ñê”VÐÒ[EBº°bÇ}œ#6;Ùd^¸‹OÉ £ÏÂè±0{¸fLf;KãØ)®Š1Ýš¦›bv¦¨ì&¹j’Ò¤P6øÑl‡Â´¨•@KB (‘–F[’*0ÉqptA£Î±ê«.¥Å$+¨66ë¬Çªê¡…Ä62ìþŒ:0ÈÆ6Yj³MZl7-Ü ¢ŸM1uNËX³¬šØQµŒÐ÷ f{K.Ê1§Á ­RvRÒnFÞÏñjMXKÂÊ$ -2³"Û*²Ø€Ô†LÁVÂDÀ„;Gìu~koeªž"ݘÈ]³ž[áË‚ È‰S‹$1ÉcMe `_Ê*”Wa[!v«Â>Œ1Ï-D^"’™4[!ÍFHK†4ó;Ë) ›UÞã¦(Qª¤¶ÚRxVBŸ%qã–ºob–LCB7 ²}ÂÒ'Ž<¢Ô',|vuÀV7‰ —,±©¶,¡ö$¸Úµ¨<) ,&ʕԩA|o‘üÁA¶ jö¥¶#lUX!¦USZ6‰2¨m³Qà;*¥èºszÖ‚.sºÅ‚œá‹!5‰rHm‡¼aQy r¶FvjT·Âèˆ@C*©0ó‚Ò„r•S.%•ã")ñÝ5}3äL?ð¼3Q#ƪ"“6©h ŸlÓ0‚TÙdʦ2$yf° ]fa›énÀ®jRÚ¥mRY–̱ó'‹p²-²ŽI|EåkdPà4RZÁF çEE+MQÏJŒ£³•aªœCë~_˜[fTÒ Ë¤;—té’„¥6È|‡Â·(}Eå ªZRjI©EmçYá â ™kLYbˆ %4ÂÜ£g™9žb9RÖËÁ÷ËÂs, 2,*—|f 2Ìj„SS¸&IРlTm Ib q…Œ l*¼ÿ›½7ë•%Ëîû~;æˆÌˆŒœÏ|îPu«nU7ÙÝ4a‰ü6HßA0ðHæ ,Ȥ 4ý) ²^¬'Ù4ÛÝÍ&«ªkºu‡3Ÿ“sdÌãÖCænu5?°©&ïöÍ!vìiÝ<ñ_ký×ÚVB§·d§¸æ˜7¬éP “I:&œºDu›(l³®:¬®z,NL{+Ԣ¨Ì&ƨ °u"K'³tJK'­¢ÊeUûÌê!¶ža-#Á0 ”LE.Óx„ŒùÂ";¤y‹ÄhQ¨–øù?XQiC"Ù'£K¡uY×ÓX¢Ä:%6KVtÅ’¥X²RV„´XÊ+|–²Cj9à‚ÓKèg cqÃXÞàr¤÷™ºƒ6&)¾²¤^ÖL¾i“ 7Kd©¡6wE±*)ÐÉò.ÅÚÁZ›Økm݆u‡–š• FúßÛcïWVšfk³Þ‚Ç·)aoÛÉyO#“·‰ nA“¼µÇo¸Oâµ\È[ÀsßëwÅÎܱ¨ä­€{êYÓܵ—òô{àn= ·ýË;*÷íä`²ñ€)¶Kxˆ8AÊ{ðöphî×¾Ù[êÚv¤íoG—²¹Oä°][ó€&es¿‚‡ßo]›.›í6c=$݉FÞm¨ÜŠóÁ¢ßÉõ\ßÉõ¿H¹þÝ—_[ÅÏ:®þ·)¶Ûy\S¹¶‘rµÓeñ±mïCûØD;2}ƒR̃>óË!óËóË!Q¦‘Jû‰àÙÑþ¡í×´ýׯћ Ü ¹[#߯¨… l“;äžÍBö±ë½ZЭV ²“õÞ"œp ë¨ÃÉâŹÁ¤;¦jkD­6Q«EÔjãzk²®Má›]_]¡²9oÍ&ÅP ´V߬80ÎX&}fõ€Y9`6í³¸`wbl/ÁîÄ8‡„ ‹ ö(04såŒa5§]α£uÍR'[¶( ¯âvCÜÞ­U³Ðû,鱨ú¤©³IRqû×aû!"`…ÒÅ; iG1ŽR!Ç5î÷b»3ίœÜ„œ^gœÜTäA Q RŠ”:D®€Óí0›Ä">(-‰þ¨Aë7èÖà[£!§í«h—l)˜GËܤh€»L|›Ôýšhè =' ç•xÃ¥®­ e¯B™UôvWôvºÎŠ^l2G®mÞ¬Ÿòyð=:vÀÈŸ0êLû|eMw¼bÿã žu¿äz¹ËiyÌi±©™eš.mĉrLŽÎ9,è‘bƒµß VèGúa†§†x,è0Ã3 ©³–ÖWÖ—¶1ô—ìúKöº L«f%;²ÃLŽˆhS©*RtúKüñ‚=ç’½Ö%{ê%{źšc(ºZШ •ÜPF›RAflþN–[1KP­m'Á&…Ž >RH/’ …ô²’h8î5=5g/ŸñhuJeè¬LŸÒ4Xª=òÒb™v9Op³W_ãÙ®à)u‹7mÊSIðÆ`™;4]“Ú·hº&š^Ó,â¥ÆtåàæÔcåX >RP$n€÷4DZçÈscîf˜ãÓÌÐÕMT¤Âæï³Hzœ\>fz6&>wij…Õa«Ã=̃Œ…Õç´9âªÚc^ÊÙÚ! Ìu‰±.p´GM6Çq¨)£ö5»Þ%»Þ%=wP$ m–t Ø(4âÙm5ž¾D1kRÅ!i;¤#‡ú±n:0ÑàÆ¡v2kAlL4ETìµ/Ñê†}åšóì€7Á#N–ÇœÌÉ‹Y4DœHÂÆåäÕZ¾F+Ö¨ùIÉ|tÈbxÈ|´Ãª?@Í ËZLÒ]^fÏØw/8è\°ß9gèÍY-b´ó†êÜ$<÷ Ë•­SY*âIMi+Ìœ>Šxpîá„ KÙeÕtYJŸ¤iQJ‹µìr#÷ðè¶Wøí~{I·½"JÛ¬’A䳊;$©C¦[¨‡%{ýsvkF½kÜîC/0eÁhwÁûâ1ì,¦äR¡ÈT®?iqò©OåÙÔnŽïßÐ>ŒY·-Ýd--ʼMÔ¶¸R<êl‡å<À,+ùç<ùG¡øÝÒÂx è½…ó ¿;pùUéöÛí]ò-»ø}øF¾•˜áá½<ðfl>ÜùíŽîïAȇ~ ]­wñ7ot‡X¬vãJÙ®ñv+îÛ}«ƒ·f}ÿï|Þ÷t Í7c>ÜÓ“EÞuõv<”|k©éf|kîoå­×å»¶è\ßÉõÁBßÉ•¿¹þ*ʯµâ7øoR„.É[—m—›Öèïj®Š|¤áe»e µLhL‚1/OŸñÍçïóÍçÏhõ×ô®<¾æðøš~kÁ@ (5Àn2äŽD– ²„J‹“Î1§Þ1'®ÇRvÔsô²¦—$Wœ­çx‹s’#.%Áħ0 ¦æˆæ3_¡êjT]²§á—ä{…0(Ú:#ë†>+l,%ÃwVèg”žN”¹|9ÿˆ/±˜÷Y, vÜ*¤£¯xS4Q‘asÉ>×ì°ß\Q—:nžbä7Ø‹íêsƒì¼E‰…õdÆP™°ß;ÇqbÎŒcQ“–›ó̾[ñK¹UüÔ:À(רY„Ç8­o'â°;#y¦óúlÆ_–"ËšÙ%,‚ ¢>¤rC¯-ÔMWsàJÀ ›Œ‡[¥Ô–DïK,«Á´k$+Ùb%UˆUÊUEgäyFÙdl4â§¡)%=`×™säÍV(­u¯BIk´¬d¨.ªs†Êœa4çÅô?¿ùˆ7“§|~ó{Þ¿¹û ýÝ€¡² ¥‡Œ/H»é3“‹ð€ŸMXLúÄu‹Èh3ÑF˜JJH‹sö™Ó¿Wü ÆÖ ìf ô1sv¶‡|ç6g_Õä_id_9XjÌðÑ ß{ô ?xü VGòiö=>˾Ç7Ù{œs€; p‡ÁFñë-yžˆ×›×ü ±fë6‰°‰‡ªÑh*Yî™J6ÎR ªUaì”ã°¤™+ßxÐq)Meîà¸=µ`/›óhyƪÕå\Pª £Ë¼ ²±ì[g<õ¾á©xÁžyA6h'Ê¿’e0ä¾Ü·aÏFX‚øRczá`\øXñÿG~‘â{)þaJ»·Æµ"Ú;íçŽ•àØ ŽãX Á6ƒî5;\‹&ɘÉå³ÏG$Ÿ´¡†å÷ûX"ƒ®ÄéÅ\×;ÜTcfEŸ óQu"Q&u ª^¡š^£ô¿D/+vÔkz­% YÒ»Súæ[b÷ŒsúDj,zƒ×Záx1A»‹7Tu²¥ /-øFͤKå,È­ ‘Ñ'Ð|l=g·¹dO½FXÃëü ?]þõ\e21[˜EC¢7m.§{J„H–(É‘,€Œüɘüé¦EŸ4l3 w0×9V˜ñÃO;*£jޝE,§1úW õgѧ"ËC~| áqCé«ÌÒ>aâq>?B͊Ƥ¨ òÆ j4ÖM]èM‰!K:ã%ÞxEÇÜÔ8iD>ë‰O0õ1µÏ[áõö¼sŒs†Ê žX£)%¦,íÌQÿÃ5ë+^}5æõW#®¾qyÑÇÿ¸Æÿ^N÷(Áÿø‚c„>y›0ì·{\)c–iÉÉ¢@Í$Aþ¿BûWð€û{.wŠßC0õÐBgùæý| Xn>ß3Æä[ "¾„mÍâoCqßÿDxĸfÜ]¾½²é÷Ö¦~ë‘4ˆ;Ê×CйíY²‰Ù¹GØÛ¹=„ª@Êwá^t¹»ü…™mæs;ì"Þý«¼’›v÷^š;@+nesÛÑíuù6h¿ÈCÿN®ïäúN®ÿEÊõïºüÚ*~BhT¤%( A¡* ‚ð$¦×`S É;«©s• r¸˜ùœ¼óòë#¾úâ_üüû ß›Ð쪴ý ýý9ŽÕÐŽ2Ü8À‹¦82Eš «n^5µV(j›`ÞeVõä–…Ã27èÄ‚øòˆzR#ç%©¢“j> ­ ºK`)Á|I+8JLÛ qG1 5*BÙKEkÐe‹"Iymœ·µÀÑR†îŒ#yBÜ8¬e‡¥ì4>Uin%ÔšZEd’fQSŸ×/** „`B\¹¤c…d¶MÙÒ©] 3ÎèˆZ’O–šA¼R(eƒâeØG긤puÖŠÇ$ãY1Òá‚£ƒo@7Ìé/V ¦×¤‰BéKÊ–N¥·©” Å@†ó݈[†æFÇ,Áò :ƒÎ`Ag¸¤ÊuÒÐ![·ÈBæ40(Q2„Y¡7M ôFÁd¦øÜ)£öÙw?v$¸qL+N±¢#® Ô‰N–جS—žn#S™tÒ5=mFÓ4&Ô†ÀËÖ,.z\Ø´ôÈ ƒeÖALwB‡étÄ*öH¥‰°$v7Ãß ðŸ,è>Ÿ³c\³+¯Øm®Ø•WLq©®UBÕdš¶ÑË «àØ®±ÆŒÀªs”º¡©U*CC‰iåx^@¿?cXM—7ì–WìWµÇ µÙÄsY‰–×(y³QòU•@6‚¢¢78z‚ë…¸„à ´´¡^š¤×u`mΤCCH¥’4©JQ›$™C¸î&åÒØÔ•Nî*˜ãW,é[òR…Tb…)ÝÅ’&R)Û.U§¡Ì¡#A©Ô¡I:è±ÀÌ%V%Éiè8-'bÀ”!SÌ"Ç(Jô¼Ä˜DªKnX,ÌçÆÓfDTz¤™H@©šL!/MÂÆ¥htÖ±K¶HB›40ázKI¾p³9šD÷* ·D÷*ÂÈ%Ô<ÖM‡ ë 5˜á3£Ë”.s­ËÜì3·ÌÍ!…fáhɦZÉFŽªBa˜ÄVlP3R¨¨5(Ã6±ÑgšíñæfÍÈœÐKzÚ‚~g‰Òo¸ìïÒN 6±P’Í3SnŸ`¸ïë~£·3{gô@®·{û«ëí‚ßÉõ\ßÉõo“ëß]ùµUü²S“Ù¿ïa¶3z{+zûKz{KZýdKÜ%u^J’ —7—‡\ž¹<ë°<³hV‚4´™EDR§6çñÞåïbS Y"G&ŒLäÐ$1=.ç{\Îw¹Zì²^9hU@\&\UÃÜàåå//¡Ý&24²¦ L–4‹Kê:# BÂ敇TUôNÁÞÞC}JÕW©Ëœz™±¼)™ýÄ#NâFC ƒý¥×b2>擾Ǣy‚™”ÈíÙ_R…$¬º*ês•§~D¿¾fu¤³:rXŽ=¢V‹¦¯"÷TšµJƒ€}`¸€žºæPœq$^s$߀ ¹e“K‹B·ˆPQ »ᑆ”øEŒ_DøeL§•à<Ïiíå´Z9*51-Rl.š«*°Ë+/Ht›´o²çœÑ/Ø3/xÖú†±s…Qˆ„E ¨r“ÁÑ-1w2l+ÆZ'ÔyMt¥Q¿nÄ*á…KxiSTôÁo¯x¤Ÿò¨~Å£ô5½|A·ZâW+ür…UvIÙǹïЄI3à›J'~¹f´?  ‡7؃»cwc;AI©hDšÃ‚×ꈺR „vš`U9‹`„…XYŽR5…O êml›@â3`ƈ J#)äI0íÝ´ -®›!¯Ìc´NΫè1W“]–Q,lQ®Õª¡Y¥°Jˆv®žø(ò ¡ÓÂÑ䍿àÃê Yn³FVã!™i£#Œã}¡g)â= ñT£ê,°Ð·éGlÚDkŸtâÜ8¤“˶ÏlÔg>êŒ:”ކ²_ãTZ»Äh úÇ3zsº­zYL,Ög-´“.JX›ßðÜ£€^; × èxåšz¥ðæâ1‹¸OQAˆFˆÎ¨ãíúÄ;Ñn:¦’£Š[IÑ›’8v1æê´AÌ%f–cù)ö‡ ÖqŠnäZ‡—çﳜö8èžsÔ;ã¨wŠÚ¯‰Û6Y× jÈP v*¬VŠí¤X­¥HÉ^ed¯sÒ\¡ LL³Át¬¾Ä'd‘EVÙd ‹üÄ"Ñm&ƒ¯ªcZúš+s— s•Ñ¡Ò7™)°Òhn6†™*ÈBU ·JúÆ”¡1ehLpõ5KÙc!»,d•ôñ» ÆÝ+vœ+vÄÂÔ¾FFmkÔ¦Jå+Tm•Xkq#FZ‰’ZQiɘHw6Ùa‡9>W°â€œj4 $®·fp0L?' âX#žiD'*u-`‘ÂÑ?|—_ÓÜZÎß¶Ôo®mMù·ì;Ú’Ø2Ašû¶[àv¿rË­E]Þâ _èn“̰ù‘w÷¾妧ÍD›[Ã>“]lðÖœ±Å®[@v›²ýáÙ…÷—lç 4w°-AëAÌϽ…Ÿ{p·]÷}¢‹ÛX¢{wÈfMÛ6âHÞÐ[:ß-bÞ,f‹G‘w“å­x­;/„¸§¡múç—ÊUÞów+Wq'«wr}'×wrý¶\å×Wñ;1™þû.þ `ç{×ì—¼ï¾dÜŸb“bo€|m1›ªÌ¿P™}ê1ÿ¤GމÖ>QhÑ„‚$r˜Æ#âÄá&bÅÆË%Æç+Ì/–¨R"ßkÃû.Ц´ÛD/[D¯6¯Å… ib®š‚¯‰]Û¬¢}V‘Ë*È$»Ë_ÀPÝÐè A AƒÒè£ +ŒiWÑVñ$´ˆh“K‹i3dZ˜–Cfé€0ðYO:¬Ï|x%q¼˜ÁhÆQrʇÍWhMÃ2Pe:ólˆ©–Ì>+£C`´ˆMe«ø­ó š*% JÂ测¢éø%#ã†nw…½Ž9û¦ÍéË6g߸œ½ì ÚhG:ú{’áab´˜™ò”Ï‘ˆû¹KFtº7tü O?œÐè1ç®Í¹ëQ»=r‘Qtê}}C74è]6+ :jÀ‘rÊ÷ù”ßàoPÕŠÒ2(5ƒÂÑYY7~ÉqŸIÔEk’+Òk’+:jD¶g’ïYäm“„+ü;Ú]Óh4µN]j4¹ÎX¿f×¹`_?gW»`(§ ›ƒzŽQç M"jPÕ­âgeؽ3ˆi^ÔD—:Ñ‹òÄ¢¨]ŠÆ¦¨uÄ@Òm<ÒOøAó ?LF»‰0ó+Ï0³³ÊÈú¹ß¢øÈe9é¿ðâÕ_½4Q$Ø%XÄáî5û2°›×I)tbÕa¡øèM]gØEF;‰±’ŒI¸K' ±³¥’КF¡ÙR6Š_BŸ‡œ¡Õyf² :ÓÍM›ðÈá¦ðÊ:¦ô^®s9ÙcuÒ';q¨W%M!W92Ȉ×\6>k§Åùèˆ=ý†Ç£W<ÒÞðxø U6\t¸ììsÑ9`mzØiˆE8i„VÝ.ßeå÷XÒÁ$Ç!¥MDÊšY0äúdë¯÷¸úz´oQ>S©P)}²_a»%­Ã[¦ô:szÞœn{VT¬'-¬¯<Ô¿ÎáË ²f{ÖgEÛš°wpÉqç’£G—¤—-–ç=^ý„Õ×]ÒXRRQRî”w¨>r©œ6fKP«ªRc‰ »NYÇ)ú¬@=¯×…Äõ:Vt:+š…àªÃò¬G}ýœ'»/IÞk¡¨ Þ( jÛd]“r¤Òdµª±û Þ ·¿B+RÖ¬ A5Q¨CÓ’¸n‚×Oháe‡uéÑÌ!m·m&GÅO5 kÀ…¹{§øId 2ˆe£øI¤*ÐÌ’A{ÆS÷žº_3v®9•GœpŒ*ÈÑñ­;ÖÇæŽÅ –•¡ûº]¢÷*–j—Ks—KkKu—L±TŠFª[Ø2#V6J_¢8¬ð¸b—»dì]T4VwŠ_Ç ûÓÏpÖ,^™Ì¾6'&é×u¤À"ã׳©ñ¼Â;pXo@P¿ßãÿäOøŸþÝ¿ãúúšçÏŸó§ú§|üñÇôû}þðÿ?û_þŒ8Šù½ßû=þøÿÓ4ï®Ïç x`åÞ|7§ß߸U}ß`>ŸßÍA>|'ÜþËÞÿ²rv¿ã‚¼œo±ÙÞê[üâÍ·_ýÂ¥oOè;î}ØòQ×}€;ò¾›ïZóíüïqöw÷íOßÖÀ¿«ýߺÇߺ¸íï~Õ²%òN®ïäú·ù  üƒ—믢üÚ*~Å¥Nqé¢ïe(ußšs¸ó†GÃ"Õ#T]BÕeÕx Ÿõë.'?óyñç>RŒAø Ø›Œ‚•EV™,JŠ–1œ­àóþ2©@Ú¥-Z­MìÙÀ§À«œ¹Ì6<©€loÚ*„¢‚š"LŽW_ÛÐ<«V\Ö%G™¨A‰–•ˆ ra ‹\˜²ÃYqÄivÈYzÄM°ƒX ÄBÀB ÍkìeŠ·ZÑ[O‡çÌ›.v£ä ef’-BÕe©øÌŒ>‰^) y“"‹9”5u¡“UqcÑRC{Bߘò¨}B¯uC}ºÇ4Ø#}ipù—=ºª ÷¸Æ}”ÑûŠuÙÛ¤¢_™¯†ä…‰¬ÔY Fö t¿À핌{WXvBSÇ$uÊ¢ÎгÅ‘(ƒÍáäS#‰p„#QLÉP›p¬žð\|ÁoÉŸbh9¥ªSš¥Ð™u†œqȇ؀žW¼]ð4|ÍûÑ+:UÀ¬ÝcÖê13{Ô•N…F(=ns.ˆ —8sI2—8uùAû¯hÛzK>ö>¥W.1ã+.Q’†ºR¡–ÈZ"Pt‰êT›4ùj†nåd/$ÙNö‰Nñ‰@ômD_Géƒ>(étWìÙ—¼¯¼ä7‹O1ò‚&ÈH c…ØnÑõcú~ÌÊ)®ºLÃÓWcfÓÈ$‡'ÊÆí%ýá”R1(R1¨+) +eC=ìg+´ªÆË":aˆŸtŠ5nÒ!5 JS"JI“oÅè²¢%ºr‰ÜD+Zqˆ§ˆ¤"É-&uUDÂá&Ùc1é‘¿²ÐÞ ­3CXG†4ŠE0n³ †4™Ká;ö/Ùé,ø¯Ž«F|cÏùÆ^c:9s£‡KH›—ŠÓZRÖmfÉ2îáªeµÉªh„‰ÇÕto^?ã›ÏžQîhF†ÞÉ1Æf?Ãôr ?Ç9m%¤#VtÄ _¬P³ŠVÐÁ¼HѾ.à¯+õ]T8ñоrÅaç5ì¿æl}Ì4q~vÈ—?ûˆdY#˜¢0CaŠ8©:Ðv`dÓ´ Ô4¤&Pµ½¨ÐV5ê¬A\K¸”hf޽áî-è>ž°dÈòÆg>1ÿùˆ$j¡Ùí~H/›²Â'²Zä“f¤ ª5ÖnJ{oMowŽ^Ĩ‰sƒæÌD U<¯ÀïætûA‰ÙÊДQ44@Æ’uÑæ‚]rC#´:\;cÖm—ÊS7Š^ ¬A^(äæ7lƒbKìöF©ÞóÏyÏÁ¡{Š"*r á1aH«‰è4ƒfÎN|'Ö´´˜–ÓrãM̨T™ÈQº1ÜT24ÖX˜¢ iRÑ"©Z„…ˬ²ªäÍpÌQз‘¿­v„Þ*h³fÀ§ràÜ!OZ¬NÄBã>QÔ?ìÒÜžãÇ–&w ¤njn£QþÏÿôŸøÿáÇ÷»üÏögüÁüÿÇüwÉé~üãóçÿן#¥ä÷ÿ÷ù×ÿúà¿ÿWxgÙošmððÄÓ4 ÓÉ„áhÄt:EnÛÝe*|áÁýoù9Þö ÷Ü/q¿3-!owµñlÜÇ=l ·}¾E—»½Û˜¡‰&n=&wý ¾ üÞQð¬íaÜÑý6Èß½=η÷äÎC³½þm¹~{…Îé¾÷wr}'×wrý.¥ñï®üÚ*~›pLžVÜœÛ|ùÉEñŒ×']ª‘½­yÛáFó LŸ¬å#½.´:àúжÁðDÀ#¹ñ*©‚ù¤ä.iI®À†Ó´f—·ZÀû@_¤ñ`st@æ!|Åo!ºÂ76Þç:GÖ5ÍIºñô-Jˆ+¨J²2bóŠ OKЬÍÞTY äBÀD1èë£]¢Tbå”nÁEãð³¯öX^}Dìv©ÜˆÇÞçtÝ]¯i²,ûü4ýmBUålÇ#ø¾‹f»tá9£ÇkFnN¯ÈP&%“iŸõÄA‹›.‹y—uÝå2;„L%Ì:˜QÎÍrDâ¶±”2|>Åèeä¹Éô³!ñY mÕ0Zݰo\¡=neeU eÆê¨Ïìƒ=fû{ÌÛ ºV¢U5jÙ RŠD ªV£5:%:å6N¬@­jĪ™N>·‰²§áô ½%G½sL§ÂÚ/ñÊ;Ýœh´ˆOâ…CÙ6ɽ’Ô-ѽ’ªeâXÒ^bY9¦žáŒ3Ìç% êXAf™m½÷¹$}Úe±³Ã…[¡) 3Äòi‡¢ÔÐ;Ý8ÁcŠÇ4–ÊÊ/ VÁO\Š/lÖš‡ª7”º…IÎ"° {dµôy*ß(0Q(>UIbI’T4»9†›Û:×ÚŸŸ~L¼ØœøZ>å¦Ù!S,¤Ã6NY¡VTl³¡¿·¦÷ý©ç(•XH¬÷%VWb*0N)?ÜìvÙבA|Œ%¹f’¸6ÅA(H½A„RdPæð:C›—8{ͦk¼^†NÁ<êóóè{œŠG\è{\èûLõ1©ÖbŒQI8ÌV#=Å42L3Ç22æu—³|Ÿó|YÞ¡ª¡À!¦Å‚]«È…í‘Û²Ücý¦E4³(R‰$£¢!C#Æ& ƒ]gxuˆÕäXuŽk »$?t˜µ=ªÈBùÉ?‚”žÜÒ9oãdB ­Ço òþÇóoèözH$ÿÝ¿øüÛ?ù“­·psýþèèv»wïÿÙ?ÿgüËù¯îœõ]öÐûø–[%ïv,ùGêÞ²ï@Ø>³Å€ÆCˆ%ïÁ—`›bK•Ûž+¶â-õ÷©îï¿}³9¯Ll-ø’‡ íŠÍÜ6ñBÛ‰±=ÈY°ÉXø­qoÇkîñ6 dÛï]Œ›¸%ñ€RÆýNqŸ^~»öï’ëý„·÷ßàæN)ØGÝno•-˜–·Ûp7‰-M<ØÑ»8²wr}'×wrý¶\å×Xñ«€˜<+¹¹p(‹¦W:îW{èÏ ´ç:º¡#ÚµËÊôÉ£ð­Mݱ`G1°ô¨ró?Q–lòÙGP(°hƒ^nè]>`°Qüº*ÌÚ0S`Ö‚`ˆr¬¢)(Ç*ê±JsQSŸ4')â´F†%$¤%ÔY³È Ÿï2¿Ø§£åtü%¾¿À×–›ì? Þ(ðBA\ Œ^‰ÓqœND5)¸˜8,¿ÞãË  †OB?ùœaçS"­Ë5c®Ë_ÖÏY)6éŽ ±Ú18"c8HÙ†ì{3Ü"eyå1ù²Çò øÄ¦7¸¡7˜ðÞóºƒ íNMÛkh·kZIÍ…z€¯ØN‚Òª˜7}ÂÊ%¬\ê ŠFc.z•Á, F á—èM›ðK¨ØÇKFdžÇFûS|e‰¯¬è*+|±¤k-ñÍ%]cT¹0‰hŠ[Kþ@ñS¹Qü”6×ú¸°±²+Íèe n–p]îaT5ei±.»T™¾­2¬Ÿ×ÁSÖA‡7ÁcvÏ8~zÂÑûo8ŸÐí,°´ [K±Ô”²ÔÈS“,°I‚éK½€:‡FÑ©±wC:Ocü×ø†8í5i[ç¼½KÖÖ‰Wm‚´K0ëœv C‹°Ð‰ °ÔiÛ1à ƒ Ü «’«éW³=._í‘Ïö¿fç`ÆáÁ%G{§ÌÜ>3·ÇTô™›="Ý%p:,õסxåŠçEÈÅ—œGû¼žñõì« Ë:èB .ט2£ê‚ý(Ãtrª™J63ˆ?³a Zgì·¯xÔ:ãÑã3„V€VmkÉÙà˜¯Ç/vr·ƒ.KTY¡ "ÙZè´Õ|[ñ»­j]#¦P£“½pˆßxÈ'*Îãœþã%G­ <'Â;X3p§ìq9Ýçü怋Ó‚›.©a£îÖ(» ênM3ÐèúKðL5§mDØ;)¦(Ñ{åý •Q®š@A®é“Ëq…ÞV¨‹ÐwY½×¡ì¨O2ÜbÅ>ö8gבÁéTãtê’¾¨X':kãÔ-B£‹f4¤¶CbµÈ, \(BAx#("…(T©GPïÔÅo'!_ë\MvˆOZœMŽÉ ‹å Ç¢ß#X»Aš‚FWh„‚jH:ûk:ÆœÎΜv¼FuhÈžBÔè½ãYÉ¢Ûc:0˜iÒ¶M~¨S ¸ª—käå.43ÅÕ*úÊ~»¤Õ“4Ê"è3 F”‰ÁÚöm—µå‘Zm¦ç;dç-fçcNΟ ›%Z»ÚT·"ÉM‚È![¡CSD8,É6Ƴ¡êõ¨»}ªnŸJxä' ùL¡L2J2T"l<¬&Ç«"ÆÅ„Q9Å4‰æíÌÇyÙFœOÏ»_m©¿ƒêy[î3~‚×éܵ5L“ªªÞº~ppp÷ùððédúVßßE)­ëûûëæ—Ïã]yWÞ•wå]ùÿ_þ(~ 76“«¥Þ­qCkÜ]} h>kÓ's|ð|ØÙzùžO¸l6÷?¹õøÉpsÄÀ<…¬€Y³Éêv¼­€®g-8sÀ IÄ£å7J´ï—¨ß+©šBQ _¥pšB”,@æ òÒ¡ˆ†,fÄÅO«Ø¯N9Ð4ÌV†Õ¤0È× |¢ NŒV´¼–x/YÿEÉâÚ!üzðÇ~ëãSºåù¯ùÝ÷Þp¦=å/šßå‹ê9?©›¥ÚÅG8G!¶ÑÕgŒ” {bÍ‘r…½Œ ®¦Ÿõùüÿ~ŸË/Æüèw>a8^óÞG+~øO¾Ä΋MÍJ¬´àµ9öST»¤´TY –uiió¬Ï<nâ€nò…@~"£`-RœßIu'ëðæôÊ™äñ/ù¨ùŒtl ÚU\"6$¨š¢ÔÉ3“li“\·I®ì`wŒt<¸È‘Ó™ä¨[_ŽFŒC@‡Q=Ã+CòKÞÏ^",Áì`‡³GK÷H…Oó¿ýãðøÕuý­ÌãâÎ)P7÷É Ò>oKS×w–ö“7o8~üäÍɆÃáÖ‹š¦Ç¶mƒ„Åju×ÿ­á{£> G $š¸/ߦLݱ±î’%Ü{ îo¼'y½}ÙÛ™ï< ÷îïH dk—÷ó÷Vþ·’U<ðËlo‡xèûx˜ÀBÜ­Ÿí«â‹f ¼s·ÜÉRþR¹¾í£øzà­‡Hný*B¼µª;ÒÃý‘›5½uíÁï–ôN®›vïäz¿ïÿXåú+(¿ÆŠŸxHC‚_!ý éר;æó/fØŽñÉ™4J¥P”A®BÌØ$¾¼þšnw±©Ú‚BÍY: ËnÃrwmð»~ï¿{>0 w]—hÇ%óLl#Ãò2¬aŠµÌ©ž(”Tª¡Bå¨äFC®6dè4‚ÖRÑ»`t+Œnƒ1N0÷'X!æþ5þ0e§}Å®rÉnq‰^vƒº+á9h½}P eÅ7&Á¢‡8oðˆé¥(ʂឤô9© ÄÅ>WÖ_‰¸{Ä¢MaèmZ×i4BµXd” ²ÌAŸ•¼Yp]°Ödn‡™²ÇIžb-Š‹f^bdFV¢ç׿§ÎgÎ>×αÞBSjúꂎUö&~ní¯\”¹ÀW–tÇKüï/éä+ìbœý˜Øux#¡ˆ†–’0`ŠAÁbÝc”! Û IDAT 6g’Ò–MÑ5È»E×@Õ*ì*íc¬*£ÎTÖk—`Ý!]d&¨ ê’º@ïÕ|>ãBîæî&û` ·’#ÆÝ i·#ÚG!ÃG7´ß_SŒt®Í1©°pHqØni.+§ƒêWŒêk*U£°uŠ®A¹g@"é?›³óèšÃÞ)úéö€ï ‹ÊÒ(}rÇ Mж²É"¹V ЈÝ×ê1/&5ê'º*ùêâC.Ë}žG¡¬\&ûCNƇؽ˜—ÚÞ$9-9ŸaZ9–™b™–™2C¦Œ¸QÆ\é»,Ú=â¡C»\óžú5£î ʪF]Ö¨«Ūác  ¥«Sj¦_p°Éñg=>Çz”3y<ä§û?@– u¬Ò,4êBeê÷‰‡múÃ?þ5--Æ·d®É+ùQHÎÊÎ&œN ”¶º9$ÝQÔºb ¡%=½F· úïM¨—ýþZÿ j]!WmÕÉ|yÆ:£Íš*U©ÉôÿÓ÷ôÿ$Z$ÑâÛpd€ØË€Ô0ˆ4‹H³7„#y„™f,“/“ñg.ÇËLƒ.i\ÙÉ ™æ(¢À’›Z•V»ÄØ)ˆeJ¢åÄŽE\ëQìZdžÀ‚Cc‘ãK¬Ý³HÉl§B°S!h»”®$µ4BÍBÅCIsT¿$ ,V~ƒz² ±MË"±M2KcWœ T…OEÄ›Tl%Æ"Á F™¡f%J"!R©²zA‘V)³×ªžâAši¸éŠsEîhŽFn«ä–FÜ´7Ò°ˆë64@ôJD¿Dôå&Ív¬!Ç Çʆ\ Ba# Ó€®­"©:+¼îïá7š¡n%heJò:å,* «¥{LSÓt—#wojϹ¬n×\rÍF¤êæ§çŸy+ËM*Ô»Ô¤òγwÎXYH®9ÖoqMq'â÷ïÿüÏùÿû ÿþûsþèþˆBˆ>üðCþãü?øÉO~Âr¹ä/þâ/®ÇÜDùjµ¯_½äá£GÀ5ãÝOølªkäý[ïÔ~÷ü6åÝPâKožÉ»ßý÷uªW)ØÐÇÃÝ\­o±Þ¬üž¡Ä-ËáwºfA¼í)ïG|ÏÔïOäzˆ pÝPÉ—wžß™÷ìz¤oÒè®ß÷¦w¿ÝYèÍšÈ[ÿoÓ`|[×{pù½]ïóÞ®÷ŸÿîÙõ¿ý;~&ÐK"9âáFôýê¶Ow{É^mD—F™“ç:ë´†ˆä欜`s6gõá‚G[<¯x\yÍZ1x]ðº5 Þ 2Éöð’Æ—8œ³êçÕ-Ϊ[,¬:MoF£;£¹7§.ð[.ë¶Ëºáâ«|ÅÄ…ØT¯Òk:îÃ÷QŠûDPíÔj jõ”Z-¥é¬i«:Ú„N2F)$¦›£íP—¨«Œde‘¬Lâ/Vë:m;¢éLh?]ÓúÁE³HÕ./‹G¼Çå˨ºùË'gãø%ñœ5ÃöûŒ¡s†ÕP9åPáÒê3¥Az‰ÊTƒE¥&2†Ö•†ß«à.Aà’gíÎÃî{µ#ö9dq±œS'Ã@±KDKB*:°PÀ7 PÀ×ógªB~^g2ÚC‘’«´ÏeÖø»*«ý*çúÔv’öTŽ‚=Ž‚}ÞNö9 öÐjZ-E«¥èõ”𶤩Ìi¨sšê:Äíä…ãÎ3«†ªæ(J±Q°®ydTt+¡:œ#ç­lâµC9SɆPHmhiŽ%bÚb‚P%®ðÙáLjqÌÇŽq*1ºš¢ç)F˜¢Ï"ÛÆ·|«‚¯V² áÚåjÕãíê˳“i‹iÐ"*\6¡é  PÌˆŠšR÷2êÝ o?gn;,6‹¡Cò°Eië¹Ô)_èT䜖9£ûäŠîÃ+"ËfTë3ªöɪ ©k’ÚêPJAë„c—ñ¨‡; ±–1yS'ojdM  KÉè(34!1ÓH±ŒK0‹=ÉQ‰X)'´¨! j.ù:a½L‘ßd„Wn3ÁëT{3¶{'Øí„X·ˆ ‹Ø0‰5‹ù¬Å|Ñd>o’,,èJ”Ýe7GÙ+‘¤¼”Wå•¶9k)tPPj›M½º ê:Z%§UÌÙ.ŽØ)éægLih0ya0û™Á*¯sQ4xU<¡ž+ÌÚmFý—ýaß#³L´Hݤøÿ3oå½Ëë}öÇ®Èo7¦Ë2ç>´¹vÜ®ÏþøÇ?æ_ÿOÿš0 ùÃ?üCþôOÿôšþò/ÿ’?û³?ã¯þê¯èv»üÉŸü ó7s›úÓŸþ”?ü7ÿ†0 9<<|÷…»l¿'Ýl°¿ Üé|…Ýæåm^¼=Ä·£$÷–å¿Þî_üú{ßï»óøž~ßšÏýÛïl÷݈Âgâ]ìá»Põfݾ_gÉwo»ÓÝüUê¿·+ïíúÞ®ÿ þÃÛo½ã'¬†9âãåG9ú3Ï‘ôœ{Î)Ûœ“:ë¬Æ8éß:{·× ¨K‰þEåïø—ÿ‡‰Ú©üˆ¨Õál«‹ÐJ¶óÉ£CþàáÏ©õ–¼P?à…ö¥*Jΰ8cëZzå%c­Ã•Þa¬w«¥F)4a"¨¢×T*Sš?iþÐí†tµ =mLO›Ð.gÔ“%k) ÕÍ¡^RhP¦%Ó_t˜Ž:Ä_8Ì¿hÐþÁ˜æ$Ÿ®yúƒçÓ]G]/žrxö”µ¨’:‰c’:jž# Aé(…BTÚ¬ü:ùØ$»0È. ò…FVè䢣05 Öq‡ãËÇèY†È%¢ˆD!É-¼¢‘;YE£S¿¢ÞZÒÖ§ìVß’ #ÉÉ—&ËË&jT2ìŸñIÿ3~<øÏlµNù¥ù~aü€ã¯óGxbM—+á Á|ÞààÕ#~þ·?æoÿË¿D{”Q§4*S;3T½ ŸŒ©…k¶ƒs‘Íñ7Û,¿¬ñú‹‡ÇÛ¸?q­÷AˆÑ+X Q“•êmŠÅßDüb ·¹f¸wʳ½<ß{AêjÌÌS£ÉØì“b (”䆕±’aØ)ƒú)½âœiÑbV4™•MâÒ¢m\1ÐÏÙ5ŽxÌk. R¡³¦ŠbKDK"4 56_¬C¤AdNlÎNŒOöxy’!RH{i× èýŒå¶ÇÅVm;aÑv9;Ûæ|²ÃÙùgçÛˆn±‰¢”Â(¨X®áã©k\ͧéNéX:­1Š7T‹va— d…/•ITSe‹yÙàqí}å˜5~ÎGO¾âëúS¾©=å þ€ojÏÆ.ÑÜ!þ¦Bô³ ûû|Ìg|T?᣽ÏÁ… §Ï¥ÕgTö‰—£>W}._ X]Õ6N±-–ÄtcöoÙ1ž±Õ;aeTYê5ŽõmVF[D×…Q|*øøU—ÜRÑ·RªéÎ$Ê×5ä× Ù‘3PšuX e96m1Á>}eDŽNÝXQ·VÔí5ug…¢•›?A‰’•¬Ý ËÒc©z,MãlWëgŒ'=^Ÿ1=o‘Ït²@'Ëu”)”+`†’.p´˜–3èÅ´ör.İO²j±Xõ‘ …|¡ ‚ìH µ&´†3 x<|‰o»X2 Ca.«›‚èºN© Ri°Ž\Æc8ˆW \ ä–@n d,ÐÈ1•œŽ:ã¡òM)1ìSfXJ‚mD˜yŠžä¨>°P¾ ¥† µ’,ÏY/2ÂËœi’QuW<úÑ!Û•9ž2|6ÂW\|Q!P\ÖxœÏ¶QÉÜb±lÂv‰ò8G}œ¡=É(c…b¤Á¥F9Ò ¶@-A‘›«¸ TT¨(è•”–=ç‘}ÌGö—ì‹—¼øE“ü}ÝääMÎË.š¼ºäÛéƒôAHG †Ê—_»ßt+‹’Ûô1ÞA©×oÞ KI)áõë×Ey³Ç‚7¯ßPH¹a¸þøßý1üïþøˆ”×ä-ðüƒçü§¿þë;¤ðoÿíÿz=&üä'?á§?ý)Hy[Pþ]ý°ëú~âzç_Þè*nÑWy`Ýâ«[rˆ; ’ „½ï–üá&è î$c]}KñPÞǃ›qÄ-àÞh$@–×)o7¤€”)oç×s»±×7…ØD"ÞQÕ‹›6ß)¯£òx¼ÿ¹!Ƹ©öm»–×kTÞL îÙõzZ·v½—ø&¸Mq{[Å=»ÞM÷{7æM µ÷v}o×÷v}GIóß~k¿vkÆÞîg”mAö¡Jþd“Z©õœ(¦XVçW~õ…E.AïÆT?Y è%Š^¢Š^ÒìOpšJ5'µu2MGí™S·$ ¶4µÂÜo‘j&s»‰oyĶE¦$šI$l¥²!š÷ Â¥ \gD~@òµEvVR.(Lt=Äs3ZÍ€aF£º¤â'ȹÊz]Af ›µRe¦´)USu‡±ÚciÔˆ‡Xqˆ ›8²HWᢂ?©²¼j0»h1Yw¸ZõÅÎË!‘æ€ÂÆêµ Ï5²È@YÙ¨”±J‰‚07åJ䕲”äªS¥tF™¢ùæZf$šE¨;ŠA’[„Qí±5VE<ÖˆÖijP* º•aW"êµ%½æƒöÇÊ.¶ˆŠ$&³¤ÅI¶C5ñQSÉ›åcfe“ÒQ¨ö–¨í §bX)ŠR•‹¢ÆE6„DÁÏ]ŽÔ}.ì!Óz›yÒ$2]ÖEŠí§³‘€¡¦ôª#zå%ÑÊ!Z9„Ò&JrE#6>s(e‰È "CÔ¢$È*ø¡‹VX‡.e®à(Žâ( ’¨´‰Kƒ´T7ÔóžNèZøžËR¯ÝÒXD4˜ —¥Ò@×2„v]ÎÂ.Qj%Š,¦ _¤ŠEªhaŽ×ZÓ6'x5•¶¥F(ë‚éq“å¥Çä¼Åä¼ÉüÜ&<7ŠñD€kúxõ[‰°Ê»ˆ°Š˜Š 0òŒ<×XgU 4"%ÆRc,=&È~“µ_#ð=¢¸Âʨ2×LÜ6W.é" CD;ž HIf™¤uåÀ#ê˜P+©XmeLŠÁHöYÉ*'r‡+Ñ#Ó ,;fèÑK.&›½43§UN1Øl¢²Ì=V®ÇÊ»¾š¥h¤X¨8J„Ð&¸tµ+"¯BP÷ÚAÏEORÚÅå.¿i“.@z ¸ ÒU–D)42aQÁR",-ÆÒ#,#FÓ3L5Á¹PpDˆ­E˜f‚n¥˜õc"s±Ù€™gärM!crY`¸’Ú“îöŒÝ朾 |I’Ú,×-ëȉ„iœ”0.(Ó˜²ž"Ù•H d"àZt™ãÉ+ªbZæ¬ÂëYÕYà¸a ë%ÚDpnÔ94·¨›Ï0„‹Ê€·î.•-æ•E¦áÆ>¬1‘íà›¾aETÔ×^à– šÕ1ûícvZÇ ëgtÝ JX’„&y¨.Ñ™N:.)–!„sX ä¤DVJJC‚ªlêeza€ÌUd.(s™+hZŽ[]ãz>nÕ§îÌÙRΨˆˆ,·˜e=2i`Y’n}MÖOIÐIqI(7±û¦Afêä™F9W²IÇýhEY\Ê›‚ÍשH· çðI÷’£à.L|ÇÐùî Ë-X½3Þm›‚È\¬›²âݰ‚ët¬›ç7€«¼Óñö"Þ± Þ€QÉ”ÝD n4ÜCy Ë›q¼+â|àÞSí&Í‹ ÿ¾t/q Âïæ˜ÝÜ :DÞ+X}›={n¹ó*7©fâÞH’»‹{'’ð¶ëÞÛõ½]ßÛõÿw»þÚo­ã·»sÄÿò?ÿ5©§³ÜõXîz¬ê‘4ÐÇËc‡èx—ƒ‹>kµ‰¯9¨czÏ.еC}'­æyÎÛ=dý‚¢ÂDo€WÐî^’:qlrxõùq¡I®º=.»]®º]ÖM4A¬Ù,´:g XVoVG ëã”è(#:.I.7 Å À# Ã„mNÑý”ðÈæümŸà­M™©X­³cµsÊšÊ4n2ÍšLÃ&ó´Ny¸¤Ž‰l VI…Ó“i3y«2×{Œõ>sÍ#÷Ô y{-–B. âŠLÃÉ&šãøØf„R)XÇë+‡UàMÌFŠc%8½ûIJ•ÕrEUn®³¢Å(pY å±´™®ÛÈPàO<Š\e6™Ñ"©™Xj‚¨‚0¯7ëS‰®åXZ‚#6N“»¼]<$˜W9œ?¢ðUŠºFï“­cèJÄn‰”³¤D0’}&e—¯ŠY'ý!'Æ ïAªRÔ S£¼´(”¦:£¥Mi¶¦Ô;KFãÁF”qfãçË-²3iÜ¢íNi9×R9`í»]ìðöb—Õ¹Ç:ô0ŒCÏ0ô¡@˜™„©E”™B0ÞoaíEˆ½’Ľa X$ô‘6Ë´Ä(«MIÝJÑ*)º•"KA~e5 òªÀV#¶¼3öÜ#ö½·4Œ9ÓEƒéYƒiØdæ×Y/,ü¥I¼Èa±¤%ÎÙwÎÙ«Ÿ³—œãˆ]ÉÐÕ ]I ‡EØ`Ö9 ÷ÈJÝÌÐ ÝÌHR“ÑeŸ‹Ñ€õeÔ· |5̆ÞÖwÑ‹ #ÎØ NxTpšosÜÞåøÓ]Ø.ñZKœc¡™9qa¦ó¬Å(Ýbxtœ ­á m{B5ô*·R"Xûþ…ÃäU‹·Ñ6ì İV%¢¢Tq pñ1ó 5,Ñ¢5,)Ö©a‘ ,Ó$ñ ¢\#¾Ðxu²Of>DÛ—h{åFúUJÔR¢­´Å˜¶1¦ín$·bÓ$1Lba€ϧ#F¤–NËS¶TŠ=…b¦’‚I,K"LTÓ¥±;£¿ç³Û¸`§ÏM‡UF¯;ð*…u~ ëü”TX÷“ÐÃ.†DÒe–·R—<2°HpÉ®zÄ®8ÂÇé.Çþdz]‚‘ Q Ó NSÊZÂÄÕùÚÛ!ô,NÜ=^©ÛdⵘºM# ¥Ni3Zö” w9žìrjìq\î"5Øjœ³Û:d·yH¿{F}wE}oI­¶B/3Ò¹Áâ¢ÉÙh‡ã‹}–ç«3ð|vÂB¦ÌÉYP°~YÇ—.ô("—"T~WÊøQ^¸|Éb¸~¾ÿéÍ8 x³õóà× uûÿ×»ä×€íÞý;Ðõ†òýpº'¿䮣!ß{fçþØ7í^7¢ÿU vwÊߙ£üžÕüUKü]ÿú΄¿…2oÎQÉû3ü‡Øõx~o×ûª½·ë{»~ß}¾ýìרõ7Ð~Ë¿ÿD`8Œ¼^QµÇeÞf>®0á0ÿy›õKã¹ÀüŒÇ1ÝçØJˆ#¢Û«fä\˜]®¬Y©{&²SÐÎ/‰®l¢×³£‡Äo¢È!~l?ÚÔË-İX5.ESÄWñ×ñÏ’¿ÈW9EPR™+Tñé0a‡S’µÎò­ËÙϼýÙ.Ë´ŽúT ©Årê‘|mpöõ€õ×óŠ Š%Pm@Ý”­+®Ë× %çê÷ÛˆD’y:þžw}ÂoAãú.㤇ƈU‰bèNŠY‰0!…¤½!¾(ª–ˆÙvOù÷K~ßý9=ã’ÏÎ?æ³ÃO89ÜæíÉ>yš“¥9yšA¶ eó´ñ‚ö¿æÒ8"F‘% %Š,9 öø|ñ1§ó]¾^|È´l#œÅ)Q*%e¬½±7r`“/UFŸÊ '­-j΂çþKžE/yäðÜÉKã1nLJm‰oÚxÎÇñ7…œ²Tˆ2‡EØä2’g{Î ì7|2üŒ]yŒRnþŽT$$‘Åß<ç‹‹8üf‡ožPûƒ5µxEÕYQÛ]á¨6âPÏVÔµåšÚb…ž†JÙW(*ãE“¯^?æ«“'¼z³ÏyØÇúƒ ;ϰêf¿ •6ii‘in±/x`°ï°ß4Pô‚BQ)T…R¨ Kϧk]¢×S¢ŽC–jä‰FžêD¹É ‡•tP© ¨* ô*kv+<(XÌjŒÞv±±FümŠLcÈCÈBÈC2/ÀßLµTˆK—yÞ$H<òȤ*V ÔK>0_ðå—¸bÉ/³OAÎlîÂEuÃ`¬G`DH#fÒÒˆZ;œ6÷øeK%­$Us#žÉ^ãzã€çö >j~Î:¯òKºÊ¸ì UÁ°ÁÇϾä÷žþœ½Cp7ìÒÄ…M63Y¼mpöͯ¾yF: Èf>Ù4@Î& YH³‚4JSA}$Ñ£ÕAïJ¤®‘ª&$‚²T±Šˆ!g|l|Îï¹?§k]òÍås^^<çàà'ç;<~Å£aÆãg'<¾á‚œs Î)9G2™Dh£6åH%91›ôïßv·$Ãm»äÊ_ €nº½øê«{D/ß?Þ]Tt›õý‰ï’\¿u—|æ×BÜoÌûï@¾ï·›¨À».ïÔû¶>¿ÿ:ÅîAÓ{ª|´Þ[™_é¿G‘_uÿ¿Í®ðë ÞÛõ[н·ë{»þ²ë?bû­uüܦÏÎ'ǬJ"W3‹å¢†¾ÈÑÎ ”K‰˜HäD$¥D5$š'©XusAÝZP7ç›wc—iì±Z{¥@£@¥@#FK%22È}•hiEy°©ï¦å¢”䥯Zzøå¦¸_¾ž’_ ²ƒ„üóDz¹)÷ÐRAYB¾‚ì¬$]K’‘J46ëÒ…DG(¥r}(0HƒÂWQ—ªR`4l ŠYA8³YÏÛ3ÃP1Ú:–Qm(\ƒT5HKƒ407;)¹DÍK”¼Ä4júŠŽsÅVý'[#ª}[²ÒM6º‘`W|ªõ%ÍîŠ>çì”§lË3¶å)3¢ÔTrU'6sÙ$ÉLâÂbÕª@³ T;Ç®…8–€9\E]T5gìuXyURÏKf&if‘¥&ibá+z e§ ²ã“bÇ&e¢¬,–AË Ï™¿ÃY°C¤ØXµ³Ò¨/ÑÈ(Ï4Ês ékqF5^áÅkÜØÇ‰¬"BWS³ÜœH““UQ…Æ‚$5±²˜nqE%[s–ôé„cš«)ë¥KWˆ-‡$¬P¨z¡Åzb©!Ö:B_gJ_CQ zâj“65ð£*Qä’*– ±ô³"3…¨]!8D3‡F°d¸uÊ wΠuNÓšRÑÈ \W˜MZ " Üü­¨§TÔ5]yɃì£/Ñ’’8µnE ”P"C…"Ô6e2„D›2 e  òSòJ1ÓÚ.ɞβð˜ZuꋃÕù¥Š1J°úÎV€Û^ã —$䉯*©qáXeu‚Ü…Bàäš’Ó³/Ù±Nxh½á¡v€Z”¨E‰–KbßÂ?7¹R›¼M·QVVP®òP'L²Ò PÔ [§"Qò%,Qç%Ú¸Ä!¬%Xµ«S·;\œ¶(#…ñY—ÃÙjƒ€êƒ€ZìãÈ”eÚ`4X.¬ÆuÕ!rL’B'SU,5BšÈÑEF®j(j‰iÆx¬ÐÊl³™“$¹¹)ª t ­DU EŠUHd¡“¬m²@§Œ".в”¢H‘dH-G*9©ø¡6…òÄ s+,ó q®# * ô0ÃJcìU€= 0G!µù+ IDATú$FY¤?C1+DÅGQBÔÂ!/6iÏ©tH “$5I"“T1éØW䥆¦åTlŸÒQ°¬ÝHQ´Mê^ɱj)•ND¥•&QlE&«Èåê¤ÆÕi“ñy‡«QX$0Ïa±FÓS43G·24+Cñ5_E„*J¤R” "—7‡YPÕ[©™sºÖ%]kÄ[ñ€8µ­,žà5}úb‚°Ïp›6 ³$7}0.1Ìãm© Û,üøüÎEünàw Ìÿ‰ÛµæÎþÝ´®Í wwõ¯·Ô¹}nŠsý-yË_^#¦ëÞ7ˆë]|ÉȖ׬z›{7}ßi}?ŠðIÞÝ\¿%c¸SiZÞˆ÷¶ý¿ í¾ƒG¯ÃBJÊëµBÞ“›> ¿rßS\\¿Ï÷¬íµò÷Òþî€üo…,ÞÛõ½]ßÛõŸ°]í·Öñ[(u^èY'£ŽG»_ì2›4püCmÆãgo1öB^—yÞaþM‡«óÚ ¤6Xá B:ƒ1³E…õ™ :³Ÿ ’HGAGE¢ ±Š‚j2f á=ÊPMÁjÇc½í²jyøN…Pµ‰T‹HXD…AYŠMб”@¹‰²µämª arQ4àÍõ,F'#UjÝ ý¹c!·TØV‘CĶ˜MÛL/ZÌNÛ¬'¶â8>•ýçy@0Ò .5ÂK`TÃÛ_ÑÝ¿¢³³ ;\äWÓ.ãY—ñ¼K®jØ»a5Bšµ);îÛ•cvõ#¬2$u4Ö­WCWPz,+Ç!Ä˪ùšF¶¤•/Ù Bš³dK?åÜ2r\TŒü¹¢â¹>®»Âs×ÔË9å•äøj‹øJÃ#N‡Û·²ê4pˆhVçØÛN-Äm¬)pêl³U’¹Ipø.˰Á¬h±*jä…ŽåEô·.è+ô«gx•EK'WtòŠŽ\)iJ>Õ9¼xÈI¶Ë9Ûœ‰-–Ô‘MÐ$B/A¿¾V O#ôL=§WŒø¸ò•ÁšÓÕçlsÁæàRKbLƒ }Lg0£ÝÑÎftNfTÕ%5mEM[RÕV(K+Èé&Sžää…ŠV$èyŠ–¥”ºBÒ±ˆŸX$-Éiµ¦-8hîq¨íò2~ÂHé¸. Pt6(Ê&ÌÚs¡o­C(XuÎ[œÍ·8Ÿ™i ÖU—juÁïµFaªèJ.rt‘—gÖçæ3}‹™ÞÀÔÝÇÑ}*êšû4.Hã’4.ˆ"³`‡S¿ÅRµa›Íú— D* »‘Q.¨m-¨oAV«¸U‚i ÿ¿ÔH5› i 2GgéÖYÞh˜«5NܦÝqhQè S»ÍëùS²/ .z½½ŸâôbõÞ`ä9yd°^×PgŦ Ðïˆã'KÉ͹ÍÙ;ÀwÛ!@–×ðñŒÁ漋à[Çb®·àoje]£W)Ê;gtä;F yIqÒÞ€B!äõQq;¯Ïì\_ÜûúÛ1®A+P¼™×5D”wæ‚@–7wt»=ßtMöpôî|“;ß}J7#oRân©6®¿÷Žƒ6·Ôý·ß-7Àý?~+¤q*ïérïíúÞ®ïíúOØ®¿‰ö[ëøÍ•/´g¬sÓÑ.'_ìqòÅ.Á…óþ×lõßòôÙ×l5Oyqõ_])¬^ö¹¼PýpüPÁÑ":Ý1Ù"Eyc}^eü™ XéB×[1Žy2<åÙ£3j½ˆËf—Q³Ãe£Ë¥ÓaJ‹MJZ…‰”ÆžÍΈÜ¬HØö H-.– Vo΂fuAg' ³;¡³{„ÓÍ‘®‚ôTJO!ˆ=Þ&ÐGˆ¿² N+ØCOf4÷§4L™ž6˜6(OLÂj•ê΂ý+ï¼áÉð ³q›WÁSx Ëoê`ó, æ.¨Öôú#¶õcöŒ·ìko±²ˆU¥ÆUsˆ¹¥@é ö ŒºÀ²2"ܧ–¬iÄKZÉGÄÔ´ÛÆ) í+ÒG|Uý¢’yXG(U{Nǹ¢k_áøÙ[ã£!¯¿Ø#¾²ðŸUY?«±–5bÓÁêœAíœçøf…•áqjn±’ÏI¦6Ék‹ä ›äK‹$°ˆ ›Ø°È ··f Œxæ½à¹üŠž}A¦˜¤ƒ¬m®®{\ô9;Øf|ÜÅïyø=¿ë!{œa—»@±s¤U[‚ÄÒ- ×]Ñ­\R®Ù~Èy¸ÅñÐÉ*©—6ukɶ}ÆŽuĶyLGNé”Sºù„Îñ ÓL0ŒÓL1Œ/éSÇø…KY((EÈ7Rè iÇ ­¤[&QiØËåÀÞcAƒce ·ßqᑪªºqúÔ4t4 X\ÕysöˆÏO?á³³O’ÎÓK:íKï}CµºÂJì$ÁJSüÄã3óS>3>Å7\zSOpuŸº>£ª.6ŽßhÈé«!âg5+P+ê À,bò•ÁÅÑ“¯öÉ_4­9{ŽØ{xÌžwLÚ¡)ªžQj*s­ŽSnˆs(%º’ÓÜš ºÝ¬^ðR{ÆKí9+µÉÙx—ijÁè"Ç6#ÒÌdá7YÌš,FM:Ú„OÍÏ(j uæH]€¥‚·qüT \/¥mÍÙÑNé–W(kH/-– øüØ£”*+£Æ¹»M·:bàœÓç MËÈQñqYQeIUZgµ¨±¾¨²¾¨aä•AH»˜ñÀ|CØ1І\̶¸˜ ¹Zô‰ƒx`o8JB뤱ŒtŠX#›†„ã5é¡ ˆ¶Bù¡D~˜£ôòRárÚÆÿÊàèEåmÎrQeµ¨²ZºǯWâ}˜Sû4£öQÌP¿bËØÈиâMþ„ÙG™Ê$o³67ŽßBT9ÌöÉ ¥Údi7ˆj6ÁY¼…ár¼ØÃVV”+ŸbP¬ò(ïn±®µð«ÎÆñ+Ä*,U@Çiø´ ? ~d F£-FË/MbÕ¡ì(ÈkÉ+¯Ê…5ÀÖÆZ‹o‡i§E$mJ[e:o“ÍuÆó./çÏÙ{vÈÞóCöµCö:‡¨¹d׸ô¨óbSCów%ÕóœÜAcR–ï€æ¦0Ö-Ø“°©Ùue$°sÉqÝ©·¯oƸRwä 7¤ ïvíåõ¿7¿¯)Ëw€í[JÞéÿ.9íZky=‡Ð+ä;y‹嵿²q£›ØŒq£û] ýŽVâ.t•×Cmzm°¶|7—;z‰Û5¿ùÖ»µFòŽ1P¾Óïv²BÜŸïí¼Þ­Ü{»¾·ë{»þÓ´ëo¢ýÖ:~˲Æ×Ù3üÀãür‡Ó×;œýýŹ΃žPíG<œòÑ“/‰?¯sq±ç*óÏ[Äš¨Ce' ]Lð}‰:ª‘¼,™ÿÎrjA¡@©B¡b´ß_ÓížðAû ú{ ŽímªÖ–¶FÉc„ÈÉ„ÂB—ª’Q)º“"½ÙI`7F>‹àyH9’,^8Ì&Ê&[½v÷˜ý?:¦½½¦*E©‘K•å¤Nžj„ó ‹óáQ…ê`EÝšÓŒi}<¡¨¨$†‹¯hPzTú’nÁÃÞ[>íþ’Q0 JmÆW]ôW9EEÅêDxå’VuL¯}Á€s¶8e‡cL%åÜÜ¡êÅM<a¨(¥@ KÔ¨D7…¬ÕHR·VT+K¶ŒdZ剟¸Œâ‘âÐ4§t¬KúÖ9j™soqz>àô‹-&‡mH4PT¨¨hu‰¬\à8ʈýÊkŽÅsª\‰6oËD« ù‰Aþ…Aö›ÈPÙ”?¨ID L‘ÐêOØOÞò1Ÿ³kë6‘c—6‹JƒäÌât½ËùÛ-¾þìx&6Œˆ}hJÔj†æ¦¨îæjh ¥¡b1Sj¨NŠU¨±À)ítF°¬r¹`-c´,§V_1¬xR{Ãë%ͫŭ4®–Gnx‰pÀŠ4³H‰P@(%P"d‰(J K!kjd]TÕ˜)MäCäC&´8Ê÷˜èµ:ißD %BSš@¨ h·É×±_Á÷=FÓ>¯Oñ÷¯~ÿëÕ¿¢±3函„Æ+ž¿d§uJeâ®#*«ˆ…ÙD±K‚J…K¯Ç,mRµ×TUe…'×,ÂËy•ÅyÅaZcEc{Nsº ±^Ž-&]ÆŸ÷˜ü]—Õ·´ÅŒV}Æüœž9b¡W7¢ÕU‹BQAJ =§¢ûØnqIžëk“éªÇÁZ⯪d8Z€cØEÈ*¯q–nsípæïÐ×GhiF­˜³-NÐôœÄ´É-‹²b¡ä¶Q7ÖôÔ+¶ä ~è1›´1OøÍ"suü–‡º.Èt UͱŒO®È¥ÊºôX–5æeƒ…ßd9k°5X5qsŸ}å-ugÁƒÖýrDy¼Z¸¼=ãËÉ'T†kœîšÊ`Ms¸$Žl’À&4â@§øÂ ˜DgþÏ,´>˜V¹áhBjľŽÚ&ÿ¼CñJP QH•Å“èýTàþHÒø’>köå9à¡ýôÓÿÞ*¼oïÛûö¾½oÿí·×ñ»ªóú??'^ZÌÆm–jtˤ´.¬_NQ|qxÒäeøœ½Ïú©‰½Pyäã=ZSm¬hÈS»‚3PÐ?¨ Ê\¸0—0+a& £*'[üâEAW¨øLŒ&½ÁÄh2·ë¤ ¥Ñj_R­-Ñ{ôÆèê½;¡ì-(¶¦”Û#Š­kÛb©ê,«:‹¾GÙÈÈ>XWÖ%×YUÖA•UX%˜{„ÒÁÛZñÁ¿ü’ÏÞPî*”mA”U8:®²8j°8jÚp©0ðë.³~“QÙçÊî°ìÔˆ÷­ C%;¥¹)m±9Ó˜£Ë ½ÈÐÂuQ .%òxó­Ùº —‚𭃯ԹT·8PÓU&´1ÍdB+™ÐÊ&´ä‚Çé¤*tÉB­S"(5X” "i1¦ÍZÖɰ¡Ô PaªÀ‰@°´ìàAÛ#jkT:+öÚoñ*k»†ïÕX×5ŠªØ0| ”A‰ØÎÉöUü¾ÃÜn¢ç)³U‹ùªÉ|Ùbºhqµê±®»XŸ†lo“ u²­kéê¸öŠš½ j-¨ êÙ%œE;±GE 0íˉ1˜…¬ó"ý€sH8wP¢;¨'Kzñ˜¾=&žÛœ;¼NžKMËPíÕËQk9ZV &jš£%›{ž·¤Z]á™+µ WTr¡’ ¥”Ôó%»Ù)NÓɦœä»)!Š#ÉMCÍ0”ýúj”1ã¬Å/Ó0WœŠ-¾‘¹([¤y yEFYJJ)(¥@– ÿ/{ïÕY’ži>î~´"uV–bW7›œµåÌŸÞÝ‹ýœÉdu©ÌÊLh:âhá¾®&/Öæ†Ó½eƒÇì³ï*€ˆÀ±ãxÏ'^S ¨ž)8ì^ó‹gÿŠë”į2Žâ;^½øˆ_g”c¼ô)ÞùÜo'lï:lÞuÉ/t¢0ÁîÉX+­-¨mE¥l é’ òÁ3Q<4ÅWÚe¹ê³\ X.û,WæÎˆÚu8v.ð÷r´Â3”Âå´|F!}²^€ý¤dϽ¥c¯È÷]ÎÆOPa™à›ö3®Š éÆƒe‹Þ šBQ56%µvhZ ]I(¡g– ­ÙnÓk†§x~†mW¬d—¼Xn,·}V›ÛU‡tQ¬}Z­À£ÀHBîºJ °9Óô“Þ%“úŠ W4ʦqjcÓ(‡E0óC¦vÈLÆøT°âÀ¬90+·Dïƒy#Ð-dG>÷Íø§Ø¸]Êgšm_a„K•D´­Ã¶ísÓócû†¥°¡CÏZòeô/¬Ó.›e‡Í&f³îP-˜KÌ|÷¾š«²È®ØóNáÙ˜8ÂtéË:€z²¦˜¬H¼uís·™p7Ÿp7›o}FLÍx~ô‘@$ÜXG\Û‡ÜÔ‡Ü\RœûgÅ©ù(¨}›ä b‘ ¹Ñ,üëQ—ü™ á€xb}tõNø=ˆ>ÇÔ8m…•7ÈÕnYŽ>d›sù™Ï¢7ä>>$ì¤DqF§¼ŒäÓê{ÞTß3j YAý~½áesʽϥ:âÂ9äRqoöØš 1•y~™€™„`·g›…˜lD’Á]æã½iðß´„bÃp´dí˜ &¶ÈzÚ‘ÈíÎðùeƒ8l¨ûŠ´²ðû´µäjyÌõõ1W×ÇÌæc´+0=ðö3޼s²8 ïøäŸ¬0²ï™X×L¬&Ö5Ma“l:\ÍOø~ñØà 3üa†çæx\WÇÜ$‡dËµÕøeA¯Ü°_ÌØ÷§|L_p™œð¡zÉ)Ïq¬Ç+qâ§_☠§-q› §­Ø³¦:Wº×ØN‰« Z©¨…E…І^µ&, &ù=Oêkb+EX†<ðH,g‘!2B™ˆ «ÑLËË|ÀÔ_±”13ºÌÚUÓbš Ó6½k1FbZiTàš’£ÞŽS1ßðisÀûèÂç|(^pwuÈ‹ê=G;^¼xÏËî{ÎÊ'|¨^òáí îÿ0a»ìPÎ<Ê™‹N$¦/ÐZÐ AcIj[RJ›R:ä§Àý©ÅÒš³Õ3NÏŸszú‚‹Ë't×tWœLÎùbü5S5âVL¸å€›b‚«[ã¸%á8Á·ròÐá4:aõ¨J‡ëö«ü€díašv M®¨‡ÂxTÚ¡m,L-¥¡§—<·?ò2xÇ‹ÞT‘ÍÆŠÙZkÑcUôXÍ,owí¥Ù:¤®ªÒÙ ?P¤xø®¦˜ÌJ fš^oÉÓìœ7õw¼á[P`\‰QãJN£cÞz/PöKÖ†ÇfÍg¼å3óŽ¡»€-ÃúU—ïÊÏù®ø”²è°û”' Ó÷(eD²­ØÖ}n«#¢*!ª|/Çó2zÞ’ÿšy:äzyÄÕÙ1ÙLjj¥0…øÉ;’è{aKÄžƒ:ö‘Ç9vi«]{˜ÊÂÔ@φAJ‚ta\b&[ÌØEÛ 5D'[†áqÔÒ¡C‡¤q@ÔµM³T;oÂ˳¡Oø”¡ ÊÞ½âÃÅKêÜá—G¿åÙÑG>;þ†ãþ9¿Ÿý5Ûi̇iÈùõs̹Àœ§óQPõ’g‹¬Ï­>`íõvŸ6’;Sð‘A ÊÑ?Uü~?Uü4â^c.$ù}@áù,ÝÂq`þ]üºú T‚a½€ö-±¤ß¬yÑžaÁ©û”´ÿ†…×gÕö¸4'ÔÆÝîCŘJ`2ØN’Ù»™‡˜õ9žÍ8bÊpoÁ13æNŽö-²8bÑk©;òE‹ú²Æú« ¹ßP+‹T,TŸ, ø°|ÉûË×¼ÿá¯î½¾gøzÊàÅœˆÙˆ[ÑÑ2dÊqÆKÞóJüÈmsÈwÛ/¸º;áÛ‹/É=¯MñÝ¿ŸV1Y“-âeò“ð3‚)?–ŸpUðÏÕßòÿ˜¿ÃW)¾ŸâÅ)þ`g¦îó&ç)g”X8 ˜aQ=Tû,ja#Œ¡Wmð³?)Ék2Çg ˜…}º¬ÿ]Ü•î² ÷΄;kB-@›­kL]CSÑ?‰i%4ó ü»×ŒoÑ®d-»ü}þ_HóˆwÙî–‡¼8Œïø›îïùÏ/þžzÿ·ÔïÎÞ½àþÝ„mcZv?³ÐìæÅµ4¬ø ‹B¸äxäø»›€ØuÅ-8[=å_Ï¿â_ÿð+¾ýîK~ù‹ßð+ï·]ð«½ßò½þ”ª´9+ŸpV<ŲZ†½){ÎÎ{O(M&fâ˜L„¤«€L¤yH¶ñ°–-:y¨øµ%.uëÐ4ÿ¶â·â™õ_¿å×½âÎóž¼/YÑeZŒYͬ·¬Þ(·Æ»{˜-vwc ŒÜ Z£„S*`rjèÖÄOr.nŸ€ 'Ÿœá *”Õ`Y-–Õ ¬ÑÑz»üIð–WþìÙSljZ©¨\‡Rìb.ú¬š.ÛeL¶Š¨·.Òh‚Ãõ7 Ö“†ÈO‰‚”ÐOñÝœ4´HöIf‘æî'P„,,^F*:2á“Î[^žB jP£‚)b³aßÜ26wìë;lY##ˆöRöʳÞê¤FT\SÙ6ÕÊ¥Zz+b°ÒC®MFR˜´ Éš°Mx6þ@„4]Em+ò*BÑÒS[Ž¢{‚½Œž»ákŠÆã»åg\-øƒú’wê5÷j¼«B`hI…E™¹…ëW8~MìoñeŽ0†—µéRâRˆ*ðÚЯ7ˆlƒ¿)ñËœ±¹ç•|qCwþ“—](B2|*Zé°¶ÔŽMHèJHK²°Ç]yÌ»›ýmÀy0Ç_–‹Qàê {¿ÆWXqM{|´žrǘ¤ ѵ@¢±hpMÅž7ãUÿGŠCÏ”Lõ+«ËÚî°¶º4Ç‚ûOÆ|7ø c ^mYg6Y—uÖÙÙhˆW”¸²€Fp6}ƽڧ<²ñ¼Œrèp׌ywþ†&³8¯N8/ŽY1Ua:†{w<Ý;ãùÞø0•#¦Œ˜ C…eZæaè]`™×T&#V[z££×SÒ"¤]ÜW›qÌÇöúR’E> ¯O幄^Fn%A€Õm`D`y5ÊßÙ›ØAI„\–'Ø7 gÖS>$¯¸s÷)Ž\TX‘ B.Ûc‚«”&·±£ +ª±ã]þÐ}Éí³}²­e7´‘dözÄ»þTÓò~>GÎ@Î rë´Çì/¹´ÙÚ1„»ÙVì‡-dÆàªÏËŒ%©  IDATñì/ÈÙ‹îè„k§ÄHFîÚ›]…’’ðkvÙqKâÞ–N°!6ØqE6ôIó€ô‡€üÚEÏ[ô3žÈKZK1C´T¤2¤ÎÕRQ.$ÅÒPÌ¡šA] š}‰è:Ã5ñpC<ÜD ¹Ýuòƒ†ì¥D|±y=ær(±TÌÍö›Û!›k‡öªØ-›Y50üÙ›<òÈ#ü/ÎÏ÷ëŸp§á®ÝåY r ‡EŠGCHI‡”rérñã–oG|ÿî æÙˆ›vÂM3¡nX70«`šA±OïÖÞûp¡ö ô*z~KÏKÝ”VÔ²Ëí}ÀõÔÅÛÎw±Ùåö0¢=éÐwiO:¬“>Ë»Ëûõ½‹N`Yuh«=6•€¬a“ÄlE™äh·ff=a5ìÑï¥ØÔXAÍ‘sÁ“î)óÞùá€ÅzÈ|3DvZò~À}l±Ì”•G’Ç$eLÛZ´…!ÝFèF’7Û²Ë<Ùã<}N7Y6 *j°Â–g_|äuðW”x²Àž(.»–ч<¶î™¨¬[QQ+›­±q"6NÌU=aº±^öÈ7!mfãé”à(#ØO‰ë “掃æŽI{ǰYpc ¹µ†?eÓµh:!3§Ë|n1Ü.8wL:Ø?ºÃrdO#Ü©5nUY[B³%R¤Ô ºKNÌë°Ë:ï³ì÷Xô{,Ã>KÓ#Ÿdò÷ùLjY µöXµ#®ôSÜAuPÓ9X3<ž‘Æ!sg¸‹z„Ð5#kÎóÎ)ÏÕƒxAº I×!ÿ²ùŠMÖá&žpOXĈ 5Šjë¢7’‡°—c 5Ñ eäÌèÊ5 +ÑCÑ’ ŸŒK·P)ì¼%ÚdyÁž˜c,A×ÝðÂý€#**QbSa´"]î­ ÂÕYе`$`£Èœ7%ÔWfí‘J±— öªÆ^5;ë†jW©ô2L ïÍk®Ú Û:ÚÍtµÑìòÀYðzøŽÈNx:<ãÌyÂiô”Óð gáSÚžäv°O3´¸ÕœyM~ïQL=Š{Ÿf«°dƒ¥v!,CâD$Nˆy½7sšTq›žFœÿá‹Ç=(p'ÎaëÌ{#n^LØú!ÖII£7½ê¾ÍMsH0ͧüyâs³?áfQO%Q¼a·D)±Ú0½˜^t˜^L˜_޳r6ÿ)̧]øb€©¯O³ñhÎ,šs‹æÜ¦™–Û›­ÀÚøPT4­ mM›CW1 Vƒ>g—p_óÜyÏsÿ=Gî%OìS.Ú.›cœ¦ n%E5>˦O•û4¹E›)ÚÊ¢mä®"òu€\µ¨U‹µlP‹]Žå†W¿|Ç«_¾ãÙ—xöæ#‘IˆôC˜Ù‚h@¶»°u«K]a›šÂŠHüy8à>q•L˜.÷XÏ»äç!º´°' Ññ–ÁdƸsÇ'‹÷¼^þÈëå{N¶W¼í¿àÇþ Þö_"ŠU6`G¬Óëy+ÿ×âŸu¾ç×öoø D߀kvv*•F˜ÁC›®„¦cÑÍØ"Õ!o×¼³?¡t®Í„|¿ Éÿ9$û瘲 Y¶C¬¦Áj>½áɯOyrpÊÓ£SÒ^ÈÇú%EåsW9X­aO-ø¼ûÿ[÷e3~wñ+~·ü¿_ý’ïfŸQ]JÇ¡ê9;á·±Ð[E³u[M½¿BµšÐIõætì ¶¨wÂùÇú)!Ž®qª†0Ëh66VºedÍèzkžÔ…Þ-FšTw¸>Z[¤k г`¤ 7¤•MUv˜^aß7¨ªE® â!œ¨¤ë/é¬èˆ%N§dÖî3­÷IÊh7efÊZ ‚½ íD_i\~è|Âï†_Á a5ˆXXCîÚ}nÛCL+Ñ …>—èýAbf¾Š–AØ´8/ Ü9î“Õ··ßpþÑ£üÖ§Þjê¼¥Ê5MV¼Z²W\óÂ}ÏWã¯1¾Â1ÕÎrAí¾ÏŸŒöAI,ÚŸ„_W­ÉÇUϦ}!¡Òlæ=‹›yõiŸápÆA{Í}ÅAg‰±›¨‡ÓîŒÍ;®ð⌠J°š†íMÈrÕ§¾vi·zb0`&Õ¯Xè°ýÐáôâòø¯Sü&ÅRüý”ºgSű‡U•4•ÍmuÀM}„©$L|¾ñЉ¤üôáÞ7pÀv'ÃCÅ/°3þŒ#ï‚Cÿ _¦ø²À–µ´©pi°w•¿? >øiG·×-ØÞóêõ[>ÿêkºÝ5ßþæKô…bþûõw´ ´Œ¾=…jŒÛ…@âéš¾Ù0±îxáž±1 1wbLc,òÔ%?·É§Èþ» OÀ|æ à XÏk†ÁŒÁ{>þÀ3ïçÍ gÍ n{LÛôN—Ûeë.¤[›í¥Cò­CûßrX”PÕ쾤Gyä‘Gùùñ³~NPîÏÑ š;A34}Þ¤mPNƒ´Vh°_Ì@Q t³YtÙ̺¬ï{¬o{h£Öè ðÂ¥À²Ê…¾Äœx˜¡ Ž©MêS6!yÖAjAr+¶§ Û‹bgö» `+  aåÁuž»kMÝ4pmàZÃu YK¥ìª.a½ûÇÇh0-ªk°G¿Sâû‘jpÚ ](Ò"d.†$nDå:\·À”™T®±rMÕ8ÔŽCÝ€n$º´D·b7XÔØ<,•(© ‰‹-qµ¡Ó®ˆä–J¹4–Mk)Œ¸uSWXu[×”‰Ëv3¤ØxŸUÐe1ì1§ÇÜïsÓN¸JYN”ÞÎ{̶©z.…ðɼµßežé¸)V¥)}?ª8êÜátfÖSµeFŽkj"¨;gŒñ öbgK$·h-Ø”1«²ÏFÄdÆû“YŒú¡²ãQ²/¦©èØ1©“vc²: Ã'7>>E×%“Ûm‡ÕUŸ|é“EPH¼ˆ¥7àÎÛ§Õ’LȰ¥Û_±/nH¢˜DF$yL5wvË3š-±Ú }Aß^ ”f+bªÆÆ®¬ªÅªm‘ Ÿ\úäÂ'¨rd®¬é„[\Q’mCÒ*$Ÿû»…(úÁÇÀ½Ú§°<U²Ý‘v&µ-i#H£z÷‚:µh´M]Ù4™%kj)ÁÒXV ÊPcÑ6]HL*ؤ®ÒC~ÈÞ¤RêÝçaìŽ1KÕ'%¢6.­ka”D+…Qéš]U¬[akЂ¬ Èš€´Š¨Z‡`™N-t Ê -qž"IP¾¡š:ÐÔuKÝhN&WöoÙ ¦ôÕ’RûØuÑŠ¼ Ië˜Ò÷©Çú¥Bõ[Ôƒ5jqü —iZŒ–TÆ!×Û4f=í³¸²¼Ò*iPiƒÊZJÇ£Ò.J¶„Ý„Hmé»söœ¾™#kÃ43MöÙ¬zlV=”Uc‰ EʪKI{®hO%Í…gnmá6ÞÖÁï—xQÎ0^ã*h%uêÐ$ ÚUˆ]köÔŽÍÖŽIòˆí]Lmì]Åïáƒj„­NK+Õn‡„ˆµ×¡ZØ'Ýd…½ªì‹vMÑp‹õ¬¦:°Y÷{4Í:ê‘E!uè "ˆU¶[†¥Îˆ¬3¶ÇÉHD[Ë0o‡\–'¼ÍÞèsç wîKÑg[wÈ2béRß;ÈÔBµ$ê6 ÷·¼rßñÜýÀ¡sÉО±¬û¸U‹¨*Ý¡M-š…¤-m))¿“”ïå…DO¬¸ò/rÞ=òÈ#<òÈ?[áØ)‡Kjm‘úd‰OZûÔ} ;®q:5ÎCV£–zd³]ÒÛ˜|î‘o=ÊÒ˜"ûr "…ô<¤#=¶@«-]Ú¥¢]*’&D4CÊFá)Û¹`;o(ç3X.„ :ðZØ6ð~·3Èì\{»ì(C<´~Ør±k <_0~¾doI?Ø¢7’v«¸Ø>å,yN>p).EßE9šP¥7Eƒ°!·B6ªËVviEcYˆX#ëÑhÄÒ ; ã*4’&³™Ë!Vú‚ì6à:8¢¯éÆk:ñŠN´¡#6tÔ–Ž½%nV›>³Å˜éųó1›NLòÄ'Õ>©ç³N{ÌW#÷ÊK* '`íjß&oCŠ$bšð¡|ÍP/ë-Qž0J<µÏ˜éSµÇ4Úcê±ò–*±x—¾æRsàÜòÔ=ã™}Êûƒä¢<á´|ÊiñŒi=úSûa»›? :aœñ$¾âMø#eàQz”Õn­ûsk¹³÷¹µöQVC¦®G¬þ©G©}æÍy=¤j\´¥¸ì#»še·ÏÈŸÑxýœ/ãáMý çå3Î˧œmž’ÎB†ÁŒ§áOû§< O©{iß' }.ä m¥0k AÛXTʦ¶*eÓ”Ñø^Aw¼BÖ-×É!7›#®·GÜ'chÀ4ü”×û]Öû]¬qÍ“ÁG Ç£ Ê¡Kuä@–ivón¦¡Ùؤ×ÑCÄH¥qa˜Ò³WDfK]ydi„µ®ÑSÉtµÇ÷«OÉVË“/üLýWá!×á„U8 (üýo¼ÁÔX$Äñ–x KÁÍê›å„Ûå!ólD³±É?†´÷Šê—Ãú–IsÃa÷–É—·äÒ"Q.[Ëe«\N†×NîèN¶¨ ¡Y²ªúLõ÷Å„< ÈŸÔ¶•·ˆ—õ¤EuZ”n©‡íªÃl¹ÏÅò)ÙeDzQ\ú˜+AÑóX̆´wŠä&†>”]:šngIlm8n/9Î/9Þ^"øqþšwë–,ؤ=̤]Ù˜ Ik[èë}]£¯¸ki›’jUb.Kšok‚'OçLž-˜¸ |»BØìh #xþО=‚trªŸqÚ>ãìô)Ùi°|ãuxÐ<µ(žz$NĺßåßÚÍäQ@}¬ðTÆxxCÛ»‡Gì–9AE5´¹±5Dn¸ó&Ü|£ºš=ËSï–§þ{ßqÞÕœu|Î:{¤ÃÒëñ^¾¢®n’ Uc3úÌÄ€¹ê³Ñ™¶)ƒ66ž(™XSNœ;Nü;ƒ{†ÖŒ5§'WMfS¬}’M—ÕfD»è…@/A/͵¤¹´w»F,âg{d>òÈ#<òÈÏXø9)“î%¥pYMúP *éÓØØã¯ ØKqUíQÖiQÝú4 A›Ú0-„Àx |¢`d!c+2¨Ø‚šÛn=ô­¢)ÒuHµV¬×!j›Q—êrM]n N 3„Îh'ú:C(Ö°YÀí ò%”TÔñ.}ˆxîÂ' Ôƒ01Ð,;a0¾áéø†W{ïû÷\-N¸\<áòú„ëÛ#ì“§.qœ»_⩇Y<«À׫‡-+´d„4¾…´[¤Õ ìÖ€cÐD!hæ 1"KCnn'dtÇ+:zI×]ѵ–ì™){ÖŒ‘™²gfÜè#>._òñô¿~IÒiZIãKÚ¡ ÊÊU@1õ)¯\Ú$÷|jß& "VfÈ´:À« ܪ$Ò)_Ôßðyñ ÏÒ3¾ß0sÜ;#îý=¦ÎˆiºÏ½µÏ•8fªÇZ7üÊù Ê©Ù÷h#¸,ùzý¿Yÿš³ôÙnö¬jðEÆç£oùbô 'òŠ7ÎèPÑ*´¯hïÝç¼ ^óÖ‰4Ûû˜ìÌguÚ£>u)—J»”Ú£2µos9>f9îóãø£áŒ×ïù¤÷¯:oÙwnùÝÕ¯±¯+¶Ó˜«ë†Gs^‡oùëþoøÕÑo¹ yç½â­ÿš uÂ&éÐlš;‡úΡ­,´-ÑÎ.†Þ?ÎéFköâ;¤iøðñ9ßm>çû_ðþüÕÎîßlX ?Ûꄨ¿åI|JÙsȆ!YÖBjSaSQ-<ƒ!&”¶ 8ƒŠ0JéÚkºfEVŬÓ>öºAÏ$Óû=²iÀåý1ÿrÿBšŸD Û#³}rÛ'³}¼“ûó ]gM2c8˜³MíÏØ«f˜µà‡‹Ïš­ì0«FÔk‡öNQ.Eðüàœ§—|µÿ{~uð{6QÈ,ì1 ûÌÂ>wÉ‘{O×MPnKc,Ò:`Uö™VûL‹šÈ¢}fÑLbøày·(£©S‡ä¾ÃôzÌåÕSÚK‹æÒ¦¹´v¯ãÓNÉmÌýxï8Ç{šã¹Ý`Áľá“í;>Éßñfû–gÑ’­c®³cL*Ðk…©ºVPk̲…UƒYe°Ìh— ú²¡ñJ·aÿË5ý_]óÜ=ãóÃ3úîÇ®±EcÕ(¥‘È!ˆç°˜ùíé_#Ï4˳>7w“]•ïÂ/€¦´(t±6;Îf·ÿ—…ˆA*?L _n¡Ù-|Ù5³ÊŸ*ê×Qj¢ô)\ŸüÀ§p|¬“–q¼åÓÎ-¿Œßó‹øk~G€ÇˆŒg\ÃJô©q¸­ø¦þÓj¡¨•¢¶%µVTf-WäLÔ”ÏÜïùÊÿ†çÁRj„ÐH©©µM›Y‹€í}‡åÝsi0WsiàÒ SÉ%:WÂGá÷È#<òÈÏšŸí)&³ëfN›È­ƒl¢Ý§‰$jdpNjü'þ~о1ä·’rê°½»­kvK|pû%îA÷´Æû¤†>4®¤q$ãÓ$Âu@9`ºT¥M DjCbƒ©1&ÃØaW¸ýw/ÁÛ³p÷$ÕrC5ÛP™-U– …‡qlŒå¢½k¯Æ>Ò8ÏkìÏj$þ4Õ@(†á†^”¹)¾ÉqÚ«©‘¥†|·úÝ4’¶UH£0µA5ªÌ°‹+¨4@f!¤ B4àÕWþ€ lÔÈÂd6&²¨B›ÂrÑù17;óΊN»¤#W¬ŠˢDzè²*ºÜO÷¹\q“0k†”­‹ldÝ"Ú›ªEÖQL)©×;!ƒ²Ôxª R.ž*0–$+ÊÖ£NôTaõ[‚ANo°ÂDšR9¬u­i°U»¹ÂÔ HmÓ 2Ò6$«"¶E‡º±©Z›º¶ñdÁAsKÕ:¸ºdÈh¤jQ‘FŽ[L ÉB—u2 ˆ†< · + ¹Ù}54ÅÖ‰I£Qk6&¦kæ›s”i‰Í–K†Ì‹;&òš±uÇЙÑóVtü ÷ìQç6›´ÃÙgµíÓ¬šµMS¡ÃGT»å*Ú jåÎJÝ ìÂ!SlJ œ¦Än †Û)ÝdE˜¤¸I+jܦÄm ¼ºÄÕ®ÿãšî`Íu}HwµÂU%¢Ô¸b·üÇ•%NSâ§ Ö¢ ¼,€Öw¨m‡Úq©—H&ôÃ%½hE_.±DCE#,¡Hëˆe6¤ÎŠÌgSw©]›&¶i¥BvZT(qEÚÄ¡Í@7ŒÍ–#sÇRŸ’ä!EæpŸõ)²}ì¨"f¤„^жYèÁУ9´‘¹…ß0­ º%B›ŸB­j*íð!}ɹyŠ4†n¼áGÿÂWÝß³õX »,ý.KÓ£˜ ’k}-°¯%yâ².[’2¡­¦,Œ­i±[”-°”…¥,ìWBØTÚý)Za¡…¢6³ùˆìÊc~5àâêQæxÿœ£ÑV·ÁÞ¯pöjlU±%æÊ?æªÂÕÑ1+ÏÙ]…+ û¶æ`pËÑàŠ£þá-Þ¶Àlßo>åtû óÔ`ž4Ó¡ ûÞ-½fŧü@W­8ô/‰ý ™ãA+è+Þ4ß›„O½ïYÐg!úÌéS+·““ǷјœWø¢ØUL¯.È—ÖXVƒO†U8Ç5®Þµoî;»öÃÕ×ËC2'ÄÙ/pKœ§%aCš„|¸yIñÎã]þ [+¦QÇûçôÄÁ–2pø¾ú”«›#nÒÎ7O¸Ø‡Ür@nù\vO˜©l…3ÌñÓ/+ðÒ?ËAí¿ÏoÕ¯¸™ÒiWÄ͆N³aÒÞSÚ.ÙãRœ°®ËC>l_q±<&[°1éML¦©[Ã,îó>zN»\OHeD-löwÃqh«‡Å7+ÃÖ‹w[cÃ.›¨ ]M=°I¼ˆ:·‰šŒV~‡­b¹-¥t¨±Ð@ƒe7XveÕ(«BV9²*U¬4Ö ™=ÄwÖÄfꜰœ=ÇZì¼Æ.jì¢!R[FñœQ4cÏ){ËãYP;ÖQËП1öîûw ½)‰tØ–Éw³ïš¡G; hG>íÐ'ðJ:vÊûŠgöG\U’KBî®ÃT†lœsÇFvYË«jÀR÷Yå}ÊÇt6æûö3Jír­({ô%¯{?ò¤Ém6äêf杻“—÷Š;{÷4‘ÍõÉ„ëò€›à€rpÓ=Â)4é÷]Îî^2OíMï û)¾ŸáörlSbyÚ’O #0Ihç £9ÃpÁ0šc«Š¯ÿï9pô—=üùbÛ6gø§ÿö÷ÌîïhÛöü¢Gyä‘ÿÉ(¥÷ùÛÿý¿ðâÕ›¿È{øY ¿ëÿsg4]·-uÓÒ4B‘Æ·Xy£+¬MºÔÈï4üVïúœ¬({Ýý„—£S~1øš¿ê}ÍjÓãë»/áÁìíuëbŽåCÄ@£”Æ– ¶¬QÔÔ¹C;˜¼)[†w¼êžñy÷Ÿw䬞ð¾>áÇꄪ"ªUAÓ–~°b<\óltʳÑý`‰4;Á'¦lÝÙvyÀEþ”¤ŽxÁžÇïyä g¼õ_ó6xMåÂ¥9¢+x'_Køƒ ÞHª¶¥lÚ¶Ä ÑjgÔlˆ¾Àziá¿T/jä­"²u„^)ÚüÿeïMCe[Ï;¿ß»æ¡ÖªyÚóÞgºç²wÜ7&¤-·»Á;‰ãéÄX8Š!` y¶,d"ɘи/öcœ¸‘ŒétáŽì&„­Ö¬;œsϰç½kWÕ®yÍÛutåÛt‡¶Á¾J³ððRT­UEíwÿ׳žÿ_{fu¯“`¢à][ˆ7êðu‰øzI·=dsÿ’ͽs6÷.ñ½%¶ãè1¶1¤Ë×íw 6`¶Ù`¦×ב3àt‘ÑÛð¯ò’ÿ îZop|µËéù6ïqr¼Cå¥s¼êogFMÓ3/©1§¦/0•Õ(PŒœÐ°¡„ª3Ó+î(YU|޵mŽõm޵®õ:¦™&—F‡R—øêßXà— ürI¨Zª‚ªæ8"Ä©D´·Ftü!ã«6¯¿ˆr&™žÖ‰ ³›àn.qwVX•ˆÕ#‡'b,¿4 IDATœ<ÚŤ´ö‡´öGloœÐÜ3ŽÚŒ£6¢çÏ:,>‹ ŹÏòÂCiè÷B¬{!v7¢ôU‚´‚È$E¦!•o ?ƒH±I4 ½žQ3¦lµN0öcFÓÃi—|ª³œúÄ9„G.“i‹ƒ[ÐyLj å’{íÌŠLƃ.“Ë6aáP«N©Õ¦ÔªS4;t_eœw™Â]ù}爻ê#ü§Èg£ª²\­fªF¦dªN¦êhi™dI†g$®Î¢SaÑZÇ€ÌñX<‹œ_°Îú[V}z•¬¦bÆ!•l-êül—/)*ƒe‡‹år¢r;̽üÏè—CFV‹Sm›ú=è÷¸L6˜¯ê̯ë„WŒ$ŒK¸.à:'`\­û&Ãj¯RíO©ögt6†TûQ‰ˆËõš”Œ´zŸ }ƒLWH‹LèdB'ˆ|œ4f¢7™;U–š‹á¦Äèd…J™*k“šz†Q1놣)j™¢jQ°Ãœ=ÎØã}™ÐåTîs*·9Çʪ@]•(Ë’º5aó½§ìÕQ*³Í*a“×5ÔeþÌýò1w‡ìšO8:ìñô°Ëê°Çø°K¾m!\äA…r¿BןàYÛÖï°_ÃÑ–šËR«°T\VŠK »„J…Àp™)uΖÛhåIdN\†³.ÉÌär¶Ák‹Ù=8açà„;ÙmóF¸Í7.oQ<¸Ãðu»1cSò|í)÷wŸ’T^ß¾´ó:ÓëƒéÁ´ÆÙëtÊ÷ï¾Êsw^§jϨ4†8v€E„aÅhµdÝá®hȺŠl«¸nH¯1`¯qÈ~ã)Žrþ• 7ÂïÛŸóÓcþŸ?ú×|÷ñÙØÞEQnº´7ÜpÃÛOY\œó'üYLÓbs{÷ïü3üÿVøÅ—’ø²µD˜ëÌ6aæè­u¶¾åKI$"+Ë1Nà"' JÔ¦†RµP›š½[ î¸x§öUFI›åµÇà¨ýJŒJI© ʶD:Ñ—(^æ^†jäȹE97Éç¬Õê¶«^¨¾ÁwUÿ‚*÷‘¥ÎBö¸,}òÔC‹-ôDÅŒKê"¢cLÙ2.Ù7žÒb„ª­çQµd™û¬RŸ0v8™îrö¨û3ž«¾Î®Äwú_@96ÑE‘%Ù ŠK(Añ%…r™#E†B€)Êgæ ß*}CÅjk¸–Ž»§¡îZÈS…üL'^ÙÈ”õ¼Q¡PH•l©‘]hd5²/i8ÏG¨Û'´;Cî¾ëmwL% ñÂJr¡l’Ú³Fƒ‹t“>ù…F1RÉÏ5´$§e޹Õ|Â{ä—x§ýUÔ¢àjÞexÞáËßM«:¤½9  (¥¤¦Î©›Ô#öÍ#’™æ3S«ÌÕ*”P³—TÅ’ª¾¤(4½d€âIª½›«sŒ<ãxS\èL›Dªk®0í„Ææ³–:Ó É,¬“Æ·äSªÊ‚ë)ï±¾„° p „]"ì‚D5‰“XµHT=.°Ã+L±Ã„¥RáÊîpe·(Š\a.ê,„ϹØd¢6)]t¦Œ±e@C™RêbB•9ƒ“ '› ² à Õ ®O¹§¿AKŸ©i1}^/0È»«ÈPA]¸“1È\dˆeIQӘתÌj-ŒVÉ-ó Z1=ï‚ÛÛ(H©<35XJ„%™¢+‹¨F¼´I–ñÊÁ!¯ÁÄlpíÕqò83 •XI„g̱7B¬~ˆµ`v"„\G,):Dì‹1/Šc^¯ñx’³mòÆÐçhx‹ëI‹|ª½iJÕtÇLh8EKàxc¿ÁR­VtÔ¬Äót½KöýÇÜ7_¡HC&G ÊÀ'øªB¾Ô‘Â@:4 TÌ$¥OéGT¬ Ëcay¸ŠG 9ÄšE¢™ÄXLi+*«¬ÂhÙ¦ æCŸå°Âå°6ÊÑÊœ-ó„nõœwö¾€2›0½’WPu0£ö€Íícî,Þ 2=f~ËÊ&ÆvA:¶½â2ºÚ@)Ô¦sPÁó—lmœ (f‰¦§˜n„]d¦Iæšà dCÇô2jíýÖ%û­§TŒn}õ¶î{7üÇñçòÇ|Ïû~€wÿ½ïz»?Ê 7ÜpÃ[ØÜÜ¢Óéò‡ÿêÓ|à¿ý§çïÿ¶ ¿¯~õ«¼üòË-ãš-ï‚;•GÜõ‘§*—œmpxtÀ±#aW"v!7uf§5æ«×¶õ³U•Su¥ž³R ‘b²Ç!wÅC´Z‚¾£i1Z3&’&s³ÂâY¥ªÎ7E@ì¸L[Ó–ÎÔ«’&éÜ ¸T)Ÿ(ˆ§ÓHð+Ûš éTÇ´÷Æ´µ1íÖ˜EËc¼ÙbÜjp¨ )UcAUYPÕçØEŒåìÄ'ÜJŸ² }^›=Ïëî}bËbQúß~.(^I{s„¨Hš×Ü{î!ˮ˲ç°j9,U÷™ðs‰Ii Š‚R(B¡D!TfZ©¨3ÓêHE¥è.®ØžŸÑˆ§¤u¬¡‘*¹­¢<ó%”¬a"lb¬o ?¦¢Ž* r¡!-Z’–9Äh&t‹C»ÍÐêpE›¼Ôi6¦l«'ìtÏØŒÎ¨7§Ôš3jõ)–H¨›6«gSâVW¸~H­=§¾=§6Yø³MYÇgfúŒh“`࣊U)±DBE,©?3Ž”ÈgΊ©0ÑÌU± o\’zYE'ëéäw´µÈu’Ìäqt›¯ßg­3¯£qh!4I”¯¿'•WY¢éž˜S×&¨”* Nº ôùòÑ»Ù~áˆì˜Ê;Û‚•â²UæÂg hF¦hF“DTÂ^¼¢Nh)×xÞŠZeFC*6^PI×åæÑºã/ „(‘ŠDwrdK9:«–ƒ§Ì°µMK(µ’в`#<±dO³°|†MX± »2gâÌCœY€žddƒôY•ŽJƒ ¦4â Ó)QVá4u9Ëvy>‡_ŸÓm è·/éZW\—-gw‘‰Ê<¬+&c«‰ží‘–m}ˆç.鈷íG8YDéˆu™ká~˜Ýâix‹yØ`6Y8uVŽOˆK¬ÙØ"bG=¡iÌxÎzƒc±Çëñ}^ŸÞgqá±*+Œó6Ydp½l¡ú9‹ ÊbU%  ©2‹ªœ)[d¾Ê¨Ý$n©$ÏiXMÍ»+’Š$©–¤Õœ¤šR^®…ßêÑOÞpð½ÕRª2¥ZOÑ<ñá·(ÏØÜfìî1®÷É¶š¬Š’Ó¤Bp´ÁÙƒ{5É^ƒÉnƒpÏEEJªrKçÚhr¤î‘**—tÈ„AªèTäŠñ„‘Öc¤†N`z« —³ ÂÀå*ì£ÓÉ¿á÷mOQ7·wÞpà ߶¨ªö¶Í¿m¯×ë!„@ˆo ~¿Àþáò‘|„Z­À?øA>þñÿ;ÂÏš(f¹‘Qy!¥úÌ»‚ù¤N<µYN}–×U¤ÂÚ`¢ (¿°Y x®zÈ‹Õopöú6¯^äÉÅ-^û⋸Í%·ßóˆÛ[opðžÇ‰‚þg1ÉS•É+UX:HQ"ëPî+ˆ¦@^Çȧ3øÊ¾2¡(G¤~@´ +鲊=VSÕ¥Op^eûb³sÁ»ô¯òÝÕ?cšÕùüå{9|å¿ô<'ż$!e-‚*y*òËå´`¦ÖPÛû6WZ›žrÀö8âOpj–ža5S¬ƒ”…^aä4¹ ÆN“H3ßò,D•#a •*s¡OL²…N~©R>ˆ×%F=¡²½¤\ÓcÀ­ÚÚ!·šGÜ>âu/VÞÍaeŸ¯ë/Q(*UeF]›QcƦ<çvrÈvrÌì)E¨áLBb×âÜÚd‘ûoéø)^¹¶òßsO>¤” §æ&'ÖÇæ'ê¥PX —“™Z}f4ÿ­Zàs¬íp¤íq$÷@ þ³ü‹tç#v.ϸ·xƒeê²T\–ŽË çM·–Ò1 æ›]?‰@¡$.–aZ)íæMyʼ¨¡¥÷Xf.IºMTÚXˆî ïÒ¿Ìóúk(¢\—R"4¬ ŠUâÈ€Cš)½`H/Ò GÌuŸSw‹w“Sc“••ð™‰ÆºÓI)âuÇ)-Æovúb,aâ›st3Gó2t™‘ôL¹6ˆI¤ÁÙñGÞ¬0t)…‚)ºç6‹Â§‚Th4õk|mAƒk¬"á4Üåìt‡Ó¯ì2üJ——Ò¯ó¢ûuŠ-«.X¨>“7eSR]ϳ)z‰‚¤Å˜Ýà”V0¡?¹B'¥ZÎiª×´í‰®Óʧ4³)ÍxŠŸ.I¤N"4M'8:¡´™É*~9Ã*WheŠ,$^¹À+—ìLjRéóŠÇ\÷˜k²TÃå›eæ)±c9&‘m’êÎ8ÁÅØã{”pïÇ.gÑ._‹ßÍ~ÿ m9bÃðÎú—•]d¦2O꜄{ÌÕuE’ë\Ë›ê/º¯rÛ~ÄKµWØ•'$ŠA¢š¤ŠÁJVPR˜G Ž‚Ù¼É<«³Ä'Ð\bÛ¢®ÌhjS=Á1c)w1’”åÄãð|IÜä:n3Y¶ÓõL´ r%@(%3µFêiL6j8Ê6•Ö ·¹¢r7 Y®ˆEA(rB‘Š„p—×>O^w ÿl›j5`‡Ûµ9;3\2’g¢/ÆbY¸¬–Ï:~G9êÓzÀNë1/¾ó!Ï×C^ý󯎛¼vÚäÕ?o’noR>·ÜÚ |®I>1npv(QJ¨@ù.Y dM ½ux< Ï„ŸÆDojc¥Çu1¥.¦Ô˜RgŠþMÑgø(¦$˜VG.W}Ä…„ŒIãoiG¼á†n¸á†¿}Þ6á÷±}ŒøÃüâ/þ"wïÞåãÿ8gggììì¼ùÚ½½=NOOßr|ok̽—¾LY×)îºä­ y鲜Û(™¤®M¨{S¤¡*.âªâå6ãi‡ÃÑe®2|ÒåôÆg-¢‰4%㨅™F”HS2ìw ï;(”ØQ„úb¶U zŠVR¶4äYSt.¼*æ²GôpÎ,iR$=çm3çÀ>äÀBǸ‘!«ÔFId4§'¨Ò Z„øjDÕ Ñœ‚…i3Wl¥M˜è$ƒ˜Õ@­-T*^}Iµ± ^Ÿk¦•a’bjQçBÝà¼èsöA†2¡®Lh(Sšb-3å‚ yµîòTl¢=›8¶I7 œìý»’bKJš—iF]™²“ž%š–3U²Ì Í Fy? i™V ¡@&U M¡ty q}»ÁÓÍ=*õ9‰©SÌUйJ9W)fC¿ÅÐosUm3ô[”º‚ª¨êºë¥ÊµÌÑÊuÐv¸ ‚ƒ Ë4hÂBp2ÚþNÉGgÉqªëqÍX‹ˆ™I:5Ig&ÉÌDMR­Í©Õf¤¹AY,Ã*ã°‹PJL'~V ¡t¸ úÌf ’¹LU´j‰YKq«!®°xÖñZŸ%ZZ %9NãÇgˆR°*=•Uéw‰ ‹•æ°T¤T³{Ëcê³9û³cœ,â¾ý*Ö {†iç˜f†e¦XV‚¡§Ä¹Å<¯‘dqn“e:Y¾ŽµÈ2pæ¢(%½Ö%2먂ge ¦a•V¡%¥"(A *,ô*²-iÝâ%KîÕpðÜö7ž²eœÑ˜Ï°´ [Iñ•-1eF)5fÔ™ÊWó>×]ÎÎvxr:DËrMo]-Å-Ø-NPrAµX¡–%KÝçJïp¥·¹2Ú 6C§Cê˜Tœ%n` z–£f’‹P¸„bm<«±ª“h‰¦SJ…Àª04­@)%©¡“š‰©“+ª”(™D %ê.Ä…®²k£×3*úïzÅdÙäkßÍ(msp¶HCÕ-°µßYÐȯñ’%ñDçìºO~ ‡Ë-2Í\—jkµ;\h}ÝA«%Ä®ÁÈjñD¿…" ZÚ5UkAÍ[PSŒMf=ŸpbQ,Täœuw:†¬w€g‘1ä ¬uöÞ7Mœ2tT¥¤BH‹kZŒ™Fud¤DÞº†QQ×$É­’Àˆ¹–>êE@þ…îY 5 5 &Iuƒ¼­SÞÖ!Ò «‘¾Ãaµ_eÒl20û„mí¶E#ì™ ¢3FßIÑw¦h;Çh¾²þ%j¥GPÜUÈ·TŠº‚¬Ô~"JT§„X’ï©d]•ÜQ)¤B;ÈX!Šfqƒ0¯ æmã §¢*9†™bø)f+AI%oœÎßþùŸ0ûwîsøèõ¿ñó7Üpà 7üÍyÛ„ß'?ùIÞûÞ÷ò‰O|€Ï|æ3|ò“Ÿä~áþ£ŽßÜòà/ ŸK‡K—ˤÍrT_‹>uBßPQ— E‡!F¢CŠJ8°¹ôˆ6Wƒ>ËsŸéEƒéYƒ|¡W-ÆQ‹,V˜E>¢Zv×âQé•8E„è—(}‰â— Kèéé¢ÔuÊ{­É¹ž,3Î^KqìÛÙ¨œs«ý˜-ãŒ}툶6Â(RHsHCHg ±”„®³«Ùq¯q* Çv“£Á±Ò$È«¤W+E#›:DO*xwTn¯¨ÜYáVWØj¼žR2 =c˜u9Êö8Šö8N÷°EÄí5mI]_à‹ÍbÎvyÁ²ðX%BÏ&ºm6mÂÀ&î›$}“¸a ›´0ÉR"VT‹{Ê Ž±¡^rVlqosípm’H‡º6§mŒè95´ÊÚy3ñ ʦBiŒ¶Z<ÞºEZ׸0ºdIzn’dG&ËN…e·Âª[aÙu‘¶@èÏ:FúÚ Ud%J^¢d%éÂ`qå³¼òY^yp-8^ì/\‹MêLÖ9s¾Dn¬ì“k‹ô©EòÔ"=4él_Ñß¿ wpA¿rÁ4npv½Íõ¨Ãéx‡D70Z f;ÆÐR©s½h34I.mô(CéIô"ÇÔ '%—¢Ï ;œ‰-úñ€þ|ÀÆ|@1`¬¶977976¹07 XJ„%B,"ªÙœærŠ:’h—’Jе/é:W4ì†[`TsÌjŠ)L=e–5¸Šº £WQ"T)B•2Z¯±ÄWælµO¨öæ8A„5M°& Ö4Å0S4%C+Sô$#Ž .õ—ZŸK­Ë\÷iô¦ôåú„æsÚõ1íúˆ¶9¦=Ÿj+ÚŒD]~œ°C,]Î¤Ç û䓳%ÞÃÞÃ%jXµ,’¦EÔ²p½Lµ°•ŒŽrM®N‹6Ä]ˆ{Ú¢¼€Ò0)žUfYLú &ý:«¾ƒÑ‰ ƒ+³ƒ4$sáÓÖF´íkZ꘶9æ*ê3ž7YòDƒ¡X‹¾±Î2ÕÿÒXg- ‰‚AŠÏ‚6#¶8C‰$ÁµO9ÖY^×'&™”dm‰T$iž3WŠó„ÕUŠÓˆ±öC¬ƒK‘ž¤èêÈûø:Ltâ­ ³­&ƒz„FIØèw=Oâí˜^ˆS¿Â® œºÀ¬ë,Âf†¹•Qš‚tC'ÙÐIÚÒ]Íн ½“­/ð5Ú -†n›‰l’„6ÑÔENäLŶCl'¢ã^a׎¨T–x%ÞÆ/X¢9ó?¿äFøýs#Ün¸á†¾}yÛ„ß¾ð~æg~Ã0øáþa~à~€ÍÍM޹}û6‡‡‡lmm½åøÍÝ!¯|ù_—6£¬Ã(ë0Î:¤/½æ?¾K³6æ–ÿ˜ ïŒCy€!c2©2•>ѹE|Õçê•>âA~­‘/uòåzΩÆQ“Yäso 62´^ÖË×îˆJˆ4ij0`ˆž†hè(w\ÊX\j—ç: 4n÷ßàÞÖëltι»õ€®ÒHg4²zš½)üD:ƒô K›Ñã„{Æ ïpN¨VB—ÆFŸ)5’Â$Ï4ÊX…@à— l5fC½$Õt¤ÏÁRår¹Åõ¢Ã\«Ó®é9—LëëñгH›:EO%O4Æi]åªÑÄ5î‡ñ…CüªCüU—bG¥Ø] •B®¯î K‚Éz-A$@"!9O4ò§*Å.!‰.ã-Œ8E·2t?AÛHЃM¦¤×6Éc‹äK6É—l^zák4² õÊŒûÛ¯sos}Ýfuêsx|›™åc$ ºž W¤Äs‡hà’<±1Vj^¢9¦Ÿb”káw¡lðšxžWå |Gü ÜyÌþÕ)Ûà VN•ëj“oT_â‹æ{0Ô„-qÊ–8a[œÒÎF´—×´‡Ú'×Tç t'Åp2t'¥ôf7Ç–`¸)Qjsöy´¸Ç£Å=äB çæ9‡ýæê½)[Sžë½F;S9©!^±64mëk IDAT¼ʳ|É´ä:nðùL©3Wjœë}ê½)½Æ/Þy…ûé¬4ÁJSì4Áš¥H]Pê ¥¡ AÎY¹C }Nä>“Iõ4G}˜£~¹@Ì%e[¥lª”m…fm‚e¥t¬k¬§†Æ¸hó¨¸Ë¿-þ>_”7¦QŽiØcš­•"ÀÊ’µð $±n3RÚ<5xC¿E¬Y8"À%À…P™èM&Zƒ‰l²”kKM@@™+„y…0­FÑÊå]ÎWx—ýn7ó®ÎWxüè6_š¼‡G߸˗¿þn&yƒ¬ª“ùYUÇÎCÜZ@£;¥Ÿ0‹€‹‹¯t¸ø‹×HËDZX&Ò3ȮÄhDĪÁPi3'b›®6¤¯\°a]²(=¦yƒqÐd•¸…º+`Ì:Jżg«RÏ„Ÿ D`â±|Sø%‘Ípܧ8ÕXžÖ ©lAÙ—¤sÉìB²Åûßÿ~>ÿùÏðòË/ó§ú§¼öÚkH)ù¡ú!~ó7“ýÑý÷žï¯ûún¸á†oÞ6á÷Ó?ýÓüÚ¯ý¿ó;¿Àýû÷ùÈG>À>ð&“ ?ò#?À÷}ß÷ñþ÷¿ÿ-ÇŸoò¹ÿã}f…‹Æ&õ-V …§²°|.ô>¹"Ëã²Í8k³Èkä¹çΨoMi˜ý)qb±Ê+¬re^!ÎLâL'™è$Wúz>åV·J°$Rcl`_éÈ¥‚Ó[aõBÜî »’T,ÒŽI¢[¤u“º?¦ZŸáyK%À B/É… Ö "Ï!­ùäÍ&²Ó¥TL’jÈÊ^1U—¦Åj£E–·ÕÖ½:‡‡‰V.HeÂà‘ÎøaÚVLc/¡¾Ó°RMGX%&¾1CgŒG^=Ûg|¦Ó)·éìLioÏèìÌp«1K³ÂÒ¨°Ô*Ì Ÿ³Ñ&çG=.ŽÚ Ž›´:MÚnƒq§Î¢¬1Èz\%}«gå6§å6çlÛ®`”vãåõš²|‚W†l) Ô—z—KµË@é0Tšhë AµJ´~Ah»v…ЭØR}fä%xé’½ðˆ½ðˆÝð+‹XÔ<–^…žGP8d…AZè¤åÚÂ?jÛDígî#‹vzζ}ÆV䜲*È •óËmŽÒ}†«ç£-Ã>ÉÐ@ÏRüå‚f2¤Ušd¬v¸6$™e‘å:Wf—ús„ŠÅcy‹‹|‹‹|“Ë|ƒ ÷¸,6Ьœ¨i3ôÚä†Jdt­Kªö¿\ÐK¯èFCºéZ<ÅSVTꪙS ‰©“š©a0W|N£MžÎoñdpÀQ´Ï8\‡Ä/C î„=÷ˆ=÷ˆÝö1}ó‚®2 »ÐÉÆá:\û2Üà²Ü$HÝu§hH(* ÉŽN²£ÓÑGôí öÂ#º«!þj…¬o¿ÚZÈ•Lõ*çÚ&çú&çÚIhQæ*»«#¶§È@€%¡(’ù´ÆQ°ÏÑjãÅIl0­Õ9©lál.Yn;¬JJ9ç~ù ;ò­ž¡Õ3ôJŠ&2ªÅ' ÑãHò™A0¯05ÌûÌ´F#Ål$©‚‰M0q'6²woEuwNgoD³p%JC¢Ô$­Ê˜VeLY §Ç¤ãS>'ñ½[;'(EIÓ˜Ð4¦4Œ ”0+ÌN*œ¿Ñg–úÌÊ*3³Fü¼ö‚FÚҳ‡ô¬!Mkưl3*; Ÿ¶=îàÖ†ìÔÏÙ¯²_?„Š$q × TªGh;d¾AÙPÖfQ9ë¹>€%à²}.O¢Ú%º™cª 6& )*ª£ÖsT™¡Ø)ÊØ@ŽUäX‘¡XŸß6¡Pq® Ž4²¡ŽQË(w$r;ÅÚYa:êJ’ÎM¦3ƒÅ¼Ž±H0—)Æ2Å\$˜Õ«ù­2–ú „胙¤dzIª•dzR“Tv%îîzµ\(…‚BÉ&gôÄ%+ÇgÕôXéKßcÓ¾`þ`S9g#¼`™úŒ¢6£¨Í0j“WÁgè¼Õë?yþ«ü/ùŸþÌ›Âï+_ý*eYòo¿ôe¾ÿûÖd?ó{¿Ïÿ7ÿ5ðÖ.^’¦üôÏü<ÿçÿõY¼J…ÿá¿ÿïÞ<ïþûoYÿjçïûßÿÿ쟿Ìp8âîÛü/¿ò1ž»wï-Çþu;…ŸûÜçÞòø§~ê§øØÇ>öæãßú­ßâ—~é—Þ4™ûèG?ÊÏþìÏþ…Ü_÷õ7Üpà ß¼mÂïàà€_ýÕ_ý÷>§ª*úЇøÐ‡>ô<þüx“ÏýËï%¯ë„÷\¢ç\¢ªCQQYXUr]a¡xX2$,\ÂÜ%L]²ÔÀrbÚÛCv7ŽÙ)Ž Ê cÙb\¶Ë&‹Sõu^·É^i ˆÖ¢HC5²C“ä¡…¼VpîXyBÕSkOH\‹D·Hj&qjQ7®©³u°b€Îzn¨4ˆ=‡¤V%o6);= a‘TW¬ìSmNn˜ýiµ‰8hbFu|–ÔXRc…_®X<(X<,¹~¤3P§ó|L?),}K#u °KL#Ä/¦Ä+ñÒcüdW¿Ú£šMÿ_öÞ4ÆÖ5-Ï»Þo×<ÕªiWíᜳÏiºénh `C£H!¶i›Dˆ$`Òü‰2'ЀEœ6‚YF­(?¢ÈJ¢D&1œüM „Øpš>Ãî³ÏÙ{×\«ªÖ<}óðæÇÚ½» nÇmlè#ê’}õM«V•ji­»ž÷¹oîÆÝ‡Zµ%K¥ÂR­°T|fiËa—Ëw¶¼Þáê›´¾¡AûC ºÍ£vƒA²Ã“ÙKoŸ}€÷._"I-’Ô"NMÈ ¹=áÁÎ{|¸ýy>Òj9ÇNb¬U„=Š8=Fq—·¢oà òfXð¢l+¢_Ñ5®è´®é•WlGºó•q€1+UµIRY©ZåHÛç‘ú*Ô‡4’9‡Ù ‡ëÆ'xA¦„>І«é¯Ÿ}Γ«ì2Û¯qæîRîHf/W¨ËMgoWžP“sbÓ$1,bÃ$Õrñ¼ã—"‚’ìZ'(Nfd/„ŸEŒAŠÎf©»j¨õ ÅÊPŠ’#gPÎ#™Õ/W)ÑL!=Ѧ:º¦c}¬2Ájè[ IìlâK‡øÂF•(£eXl¾î¨{Ïk¿@™Ç(Ç!Êq„rÂ:¤¥²)­›Sù°†/5*MZ/g‹+z\ÓW4™8.îT\ÂÌ¥]NhcÚå˜N4áéêOu/òÆâƒ,ó*£àwøÀ×oSë_ ßõŸùÙ¿Åd:¥ÙhðOÿuþâw|;¯?~77C½ó˜ïúοðÇîý»¿üY&Ó)¿ó[ÿ'RJþÆù©玟¼óUÜçþŸßåüýÿ…jµÂ÷ßÿ=~âS?ïÿêÿú¯ìg ‚€Ï~ö³|÷w÷‹c=â£ýè‹ý|ä#Æ×zý-·ÜrË×fÂïOJ–ë¬BWI—ÙL¡Kp ÊjI)¹¡’™:y¨‘/5ŠÕÆRšŠ£™KLcBff蚉¦¹¨ZŽˆó‰HAfPŽ¡¸’äg%ÊL’?ì]AúXƒ‰J¡kžŠl ”.8"ÂÕ‚M·Ã—l‰+\eM)¢Â:µÉ#AoêlÖf\6üåŽÐ dס¨Úd†E¡E˜~IËIä§P±Ó+°“-.(Ð×Ó+ÑR•¥¡Ô#òºÍÚôHML(uAª¤¨¤ÅÆ)Ô J”9È‘ÂÌY³UÖ¢ÂJ©²L*Ì®*„cà!Z–!$–Nà;,5ŸiTc¤5¹æÔÈ„N&t ¡’çQè0ë Ã.v¿øÐ©™9ž½¦îÏiûczÅ5tp”§b×C5D r”µD × idG:y¤‘GzšRÉôÊköµjÎ « mÅÐÏQké Ç sчÙÉb\'@)n# Þ˜2XoQ,V+Ÿ›UUáSªi+è¤x•% {Ì–>à§)É‹¥^C·SŠBeI… ±-š(JA‘è©þbV\½ ´%©¯bŠˆªœ#C&Xây”|c1šÈ)L…È·(<‡ÜT7L©“I2ÈHA$zP 1f™â¢P* »Ú‡ú3^2ßå5ëmì8Út…–lÄ]"Xå®ò>ïæ/1ÈûhyŽšçhyN=›RͦØiÄVrÍArL5]b§y¦±Èk(ä(JŽb(vN¢ŠÃBñ™ªu45':¢,±ò˜š2ǬÄXF‚iÄT[ VŠÏ2÷™…5´d³ô1R-.‹m–©Ç®vŽªÔ´9ŽR #HS“0õ˜Ï Ô1”7:ñÃÙ僫mF7æ£: «†¨J”°D¤%šš£' zc‡ µlN7¾f;°—]pPžà©k|g…ç¬ðÄš!†¢Ãœ.#Ú,Ù¯Ä4PœSƸbMU,h(%G»ÎHtƒYVcµ!W‘І45,¯À­F4kv«çܳÞ#‹t¢±M ú,¢:ý芽ðŒ»Ñ1¢'\E]V…ÒR™Ù ¦q“u\!Ž,ÊHAËs,kÓ53=É* J„º™‘Õô=IÑÆ9…¢“Z&‘å°¶<f•H·(a%xŦ©Yb’M”MxºÊ¦‹¨€`ã´«g)zc(!ÆÚ@[™¨Ke!+‰J”¸DMK²µN>Óȇ:Ù¥¾YnjÇØ•«£„%2* )!“dJœ8ÄqAˆø ¯¯ãÏ ÚaŒ©¤tÕêÊœ}qÊ<«2Kj¨q•2.pä_ΩÉ9 9ÅX¦Ä#‹á°Ë“á}&IkíÿY½åý™¡ë:é{þ-þÑÿþðü{?ÄëŸÿ÷âøz½Æó¼û¾ï³Z­¾êã|­×ßrË-·|=ð¾~[ûW|ìßüM"l†J‹aÒfôÅá‰Mõ`DçΈŽ:¢ê,M; O»ŒÎÚ„§ªq£Ù”z…¥Ö$öª¬ü+¿ÅÒo­]bÍ$Ý3( ƒ2+ÉÝ1,)7Cä%ù•N6Ð)D‚hh²¸®Q´T¢ªKWÒÕnèj7tô!ªž£è#½ÃDo’Î%ÉeIrY_JFq ÑãFsÉîIôJ‚±c·BkM]Î0ó”N>æ^~D{ÌG5棳QëaŸÕ©ÊòL!NTdE!Ê2f—)R¤„ÄbË êº„]‡¨ã ˆ§;§ù9vu޵ZcšÁÒâéïo£¼±V%V}"­J*´ Áµª¯^pÿ ¡xÍöÝkªí5B•ØFHÇ’ÝÊ%mæEƒYÞ`Ô B—³ùúe]næ¿Öó «‘O!TbÏbå»LÝ*y¦õój•¥Q!ÆÂ"Æg…IBY¨ˆ… ºô˜µ‘§‚Y«ÆIk³µ †I‡I\È"ö¢c‚Ô%ËtÒÌ Ku:ÕúÛvÛçh'ÈR°PÜ} ;ƒL c•òFÂ\P%%*¥Ð(Eb—á&«Îº¦Ã5–ŒI ““âƒb›V1fK¿fË¿f˸Æ)±e’X‰i€XAŒµŽ±×1õ„lu„m¤lõ‡<¬¾C$LbeÓ‹…ÁCç1»Î51C™–±é-ŸoþˆÝ¿N†W[áµ–xúŠŽ;ä {Ä~㔽ò‚ÞrHY(D¶CÐò¸¬\oã­q5®ºÆPšÊ˜}qJŠP!2-ÞupQÛ£UŽÙ²ô¬+¶¬j=¥g x­ù&îþŠÁz›…WažTY<ªrqV#ªzLªmΪwhTfD¥E,-bi—ÎU„à]xkn¢GŃö6qÃB©–èÛ)z?EßNqõ€zkBcoB}2¡Ø¹sÉÎÞ%;Î%½xˆ©Ä˜J‚©Ä¨JA&t–²ÂPt8{,‚«I…Õ´Âjâ33Z„5YµÎ°Ö&¨Û0UM }–Sj‚2+)ß•ˆ Pö%Ú~&²ÍJ…ƈøð†žÒhOxÉ{}ÿ„š?E­¤†ÉZV˜Ämó]®[¬/}ÂK—âRÃNBú{ÉVç’º1CHP¤D”PHIYg2h0¹h0¡±•¡ô%E_%î[LEƒD±°‰ØW,µˆµ^a­U(42Q7s !èvAÃXS¿3¡þàÛ]6„v“hä¤Ì<ÅW–´ºcŒFÊ¢VcY©²ôª,*õîŒííK¶Û—ìÔ.0¼ig”½ ùRÊbds9h1´¸ºjHŸ4Ñ*åPC¯¯ -Â4P­SM‰®L®¯šv8½Úá^ý”¬®`7b:õ „F%œæpœB˜Â¢d£jÿ|ñ×þê÷ñ_üħøÁ÷˜Îf|èCdÄqÌÿöÏþÝ¿óϼo<ž°ûÆl»ÿ“¶¯Æ—D€eYäyþ'û¾)%«ÕŠ_þå_æ‡ø‡ùíßÞQÏóX¯×T*V«¾ÿÕ…þ×zý-·ÜrË×ïcá7à;¿÷3_Vyr|ˆ~|Hp¬5j«ÛÊ)‡ÍSz!ÇÓC”g%Ñ£/´Y •R±Y*®D“¼U#í´H;mÒn‹Ü²ÉU•bO¥¼£ ×ù• ¼.É®3ĸ  tʵ r¤Ðˆ†&EK%lº¬üusEÕ\sÏ:â5ó#«ÉÀÞb z\i]– …à('x+'x#'Ðk]‚Cììn‚éGØþ&ó­.çtò1zR 'ÙJ糇¼óô®Ÿnsúì4¤±B ¨â¬`z‘ &oÈ}•ü%ì%\Ó©¸sšÝ ½êœþýsŒIÀäÔgzæsvÚf9ñÉõ …Q!7|„m²Õ»d«ÁÖÁ[½KüÚŠJu_û²ðkû7hVJ½2åj½Íùr–°=‰Ãùh—åM…ãáö"Úˆ‹tS–sçî1w¹>£//™VêÌ*5¦J©]ÃÔ’MgPŸÛ“ Å(ë"g‚ð¡°TbËdé¹Lwkdu…©UcnVYê |VÔ™Ñf„^dD —Éeûq„|,˜½\ãØÛ'r ®ö;ߘ\AÏcöòcâÂ"*ÂÒ&*l:Æ [ö%{î9ú E¦q#úœK 'E&‚2VóÍc‘J¤¥ -±ÉU³ÀQ#šÖ„]ÿ‚}yÄJúLò&ƒl›IÖ %'ÜÕŽXé>¹§b©1ê²Ö\ÕE ºÁˆîpHíf…¿XãX)[æuÿÉf^S÷X~EíF—ìD—TÃ9ʬØ~l>¸|y&ìù\˜ædøõíîv÷†~uÀzÄõ”Ýò‚ÎrÈDk0±L¼&s½BKÑÒÇ´ CK0EBCLÈѰ‰km&V›KoIѦ-F×Þ…«²²*Ô3îuŸò 7ù†Ú›¸ú’²WRÊM]z¼ýöCT½Âb]g•n‘Ä‚b©ÔŠIè{䞎&%¦–_›\?jòîÛwxãÑˤwUì{1Ý{JO@¨Ø¿w2X¥°úó)ü¾ò2RJþá¯ÿßøÁ«éG?üaþÞÿð?a&_yùŸy_«Õäüâ‚;ûû\\^þ©=ç¾ïóã?þã|úÓŸ~qìÕW_åþàøøÇ?À믿Ϋ¯¾úUãk½þ–[n¹åë÷­ð«uæ¼ü0ÝÛ IDAT-]5V:£w+˜'”…í®¨·&ôv¯Øë ®]&Gu¬·:ð{©")UA¤ê,T“²çPl{äKŸ"®!»´€¶„6(³eU ­bÔ'+ÄiF 5¤4)mƒ,T)VÉB!Û”–†g‡lå7<(žR Á¥Ögd´y‡‡L#…pÅ„oE”U µe£Ú%ÖþŠÊNˆ# ™¢d%ZœSÿÐHç(¡$¼ñ9{z‡ä 6Woî \ àJDG’­!]HV ×Rš€Š‚¹•¡Ú Õj–=GD3“›Peò¬ÂõÓ6…Y#7kf µbPÑWh»’VÁáÏQÕMH²P JJ¡`i1 }Šëlþí®fqmžŒ=’‘ÉhÜBŒ$b åB — r!¨ŠZœsGœ°ã øpýóœÉÎÙ¦VÂaá’ JˆS›UXA[äÈr©’8&AÆVÉRø,• sQ¥” mF¸" Ã_®Å=‹Ã)ÞùŠbKeR6<›‹~ª² Z.¨• å”\h„Šó¢Úå ½ìš­ìŠíü’"ÕéÊ!-uBÍžS‰—!µÆ —‚ÂW)<•Ü×(}ÃJq€š?£H ƒ0q9OvyšÜ£¥Éla—˜v„¥Æ,dõyÕÐóŒ"00¦9µ«5µÅŠzoN£:Ct%e[05jLô:S½ÆÔ¨ÑMi §ØIä‘J«ÇÓB%,ÒÒ  ¢,1„JsIë`Èö½svëçô×—tVCšë)~0ñ›¬-k¿ÃÀí–©Ô‘¥@-rr¡á(qƒ/–HUáÊÜæÌÝã‘ü uBî 7¤á ѵ£Óɶ‹KÚã!«?¬p6¸C|n3<ÞB™—ˆD"³DYlœ&e)Pn Ô«õ¢D=-½ç3„°^‰Ñz)–az–âKZbÈçÜã){œã!^âN“• ¹ª’©:Ya³PªL”×J e‡ÙºÉzTa}ZeýN³±0}Æ&ÑETJBß%ì;HæuJV 8W)¯% Ä&ô|ˆ@‰S Ð*>K:\S —Ô£vB(Hsƒ0wXæU¦y‹Å²†˜JÄP¢2|kIwÿ†;î1¯ôqwçj QÃ-xD™ÅhÒÆ:JÈž™¬-¥U’î묤‡E„¥ÄX$x¬AÄšÍZ« èåfv0ãËÿ,°J|'¡½¿f÷Ãsü­%ÉI‡é±¤™„ci ¬ND£9¥¿wA&4ÂÒa–7 )ñª+zÍ+î×ßã#ÕשøsJ¤#)ÉÑù]¬ÃͤÀ:® Ód92,`™#gRjHUݸÞJåØçê¨Ã³?Üã­ß}€¿ éiSî4„¥Mšk‘@. Ôq‚ºˆ²üS¯ûzá¯þ;ßÇg~ñïð3?õ“|ËǾ™Ÿüé¿ÉþŸý'_õžïûÄ÷òéŸû>óó)%ÿõßþù?r¾Z­pttÌááÁ×ô\þeÌ]~ðO}êS¿õöÇYNC}¡®²0Ú,jU.{È7‹Ó*ŠS"‰âH„SRhÚÆäBÛ˜\L'M®/úÌ.dçZ”céV+ÄÞŠ‘$>³‰Îl⦌"Ëfæ×¸jv8mïrîsz±ÏI°Ïq¸O¡h”šJ¡ª”ªÊ*õ™Ç5²ª†ñZŒg­ð« jñœæÙ c–2tºŽËÐé™6¦Hp•€š2GW3*Í%÷î>Å(söš,‚C›°a ›,4X.«Ä+‡éª…nfh~Š^Éhù:åˆZ¸ÀY‡èAåì¦DÅØzÌ+Þã͇áçÆ¹¡qcvš†Z‡QÙfµò¹¾Ú‚@ =&I“ëh‹EØ ˆ òŠAÔsXv+LºM4#g7™Ä-¦I¹R˜­Û\È}ÞsF4”ÙÆ Ñ1½ÍΙ„ &³&ã°Á$l°/ϸ#O)-g7$L¦IƒIÚdš48-öyV°,=¬2Äð"j½ µæŒª¹ÀVBr]eâÔ7¢ßNÚ-†V‹•ê‘JƒaÔeU9 ï`‡ ¶à8Žb;†HÑÔ EÏVN(,.Õ>¯çM9F-JÔ²D)JÖÂç=çeŽZ,w*(J‰u'ÂÚ°w#Ì투46óŽ¥NVÔµM{J«6¡Õ› ×2Øv€:DÒf~ã³8®°+Œó.†R¨c¥Ë±qM«6¡Y›ÐªO¨øK–i…E\a‘VYdε]ε=δ]¦Z‡õÂ#²Ô ”‚… •l3¿)RTY` QÃ%܃r¥SvÑ=›y¯ÆµÛÅcɺôX•>+é³*}¶å€uÀ¶5@Q ’Bƒ²À.jÅ‹Í߀թ)3”‚ËÊ6yüm<<ü²Ê¨$Ÿ¨ £.™ »¯c=Èîi¤w5²šÎ´¨c [DX"ÆRbVJ…HwH-ƒÒQ Á&"ÂÚTÞÕX½ä1êµ±œO[1©4H¶tt5Ák/‘ XøUÎÙcµ¬0µZ'&ò½œÕ¶ÅÀêðnû†Q«ÌÑÍÝL0´”+±ÅL4pÉ¥†-":ÆŽ7¤S¿¡Ûº¡ë]£{)—VŸ¥âò®úå+Ñ*j›c‡cgIÕO9ßÞf–Ö‘ŽB¥¿F„‚ä÷R6CÉþøÄ÷þe~þ3¿Ä·|ì›øØ7yžó‰ïýË_õžÿô?þø©ŸùY¾í;¾‹Šïó#?üïóýãß|qþÇ~ô¯óW¾ï¯†á¿ö<¿O|âüÀü_üâi4|Ï÷|¿ò+¿òâü'?ùIŽŽŽxøðá‹ýžûZ¯¿å–[nùzàý+ü¦}~ó퓬 æ£*ó¬JèTÈk&³´Gqá2_tqÞ XTW*Ë §4kœðÊý÷xxÿ vÀ;š‹¢v™kIÎf‰Û HN‘°'†¼ÒÊ+;obïD ïD&qÔ%@Áß èîéî\ÓÙâ¨!™ªr®ö™ªUn´m‹µÍJxÔ«!½Ã;•KvŽð´­¡¢74W%* .ú\½»ÍÉãCÒµÁþƒSî<8!ôljÍ9#³¹1‡FÕËÑwbŒ$¯ÅdÇ©k’PÌ5ȸa³ëÓd¢4IU•©R¥i ÙõOÙõÏÙyù ËIø¢ðŽ¢’*Mf²ÇbQCÎËÓ —‹]DCBC" ’ÒV(M…ÂT)M…hä°:ñYû¤Ç:š–mlñûSjwf¨¢`î×Y Š©F+„¦Å̯rÝìàµw9~v‡gç‡=»Ë³gw)5õyø÷¦ò†JÞÑÈ;*ú½WYQI–ÔŸ ?a€Ò„°á2lvYˆ žº¦ª-h‰1¾¶Âo-¹W>e§: :øçm.Ú}ÎëÛ\ˆ>i`òkâJ§RYÐìqÊM{L»Q æ8³mZ`Å »Ú¶³m\²R+GÅçnЉiòEå!•—ÉaÙa½ò¹û¬‡7êaè°^{¬Ö>ùÚ ïD–j•I½‰P`ö.» —]’µÍEàâ9ž³¦R[àWæT¼Ž0žµÛŒ-Æ×mV²¥à4C:­k†49ÎxVÜå(?d\¶XRa%],`š1uoJÍŸQ3ç8""34&Jƒ¹^…R°Ò<ÖºËZÛ¿eT%ž:ÄS›xê°]»`§qÆnãÏZ¡+)º–¢9B„X\¨[DÒà*ïá¢!7Áñ‰°;mÆÍ.‹Ý*‘X»µÝÕÝ)•þ‚Pºr“<J‡-wÀ½Ú3îõžqÿ–C“MÕ`txïú>ïÞcvÒ`¶hh6­Ã‰vH£2cçî9Ûw/رÏi6Ç\Å}®‚>WË>W‹> ³ÊÂx^f•tn’:Yª#K……ì¹ðSžçãi"Ç”›mnè¨ I¹¯‘bQ.¢;³n·‡AÂX¶˜MÆÅf{Ÿ§Dªƒ¢–øÖ’Djˆ2Ç’59Áµ—Tý•þ‚êj–d†Á¥±Ãq|H1WQŽsÄi8ÎQ'^?ÄÝ Ù½{̃­Ç\×z\Õ{\ÕzL‹6&)–a+1¶ŒPwÈLé0ج˜x^yWcÝóõZ`8jÀ²R!Q 4?Á‹”ª`¡UYKŸ«Å6ÁØ&X„'òIÆ“A«Á=bß ^™á©+Ãg>ó™¯zÍ—º}ÿ¢×ßrË-·|½ñþ~³m†o2¡@fé ¤€Yì2¿è"" qÑϑўwüîó­~—oÿæ·xG)P£³øgQs6âhŒÁÑv·G|¨ÿ”o»Ä]YÄ«—«„›\Pé†ôº7tŸ±Û>e-|Vx\Ðg…Ç‚* QaA•5ê^eÉ«>X¾K‹1šÌÑÉÑeÎ`²Íï]~+§oòÞçp3í1 ê„®Mq(è¸7Œ¬¯ìøIT/ÇØM°_ °¾# i؈ʹFvr&6ÂïÈ .MÙ`*+™³ÝñÙúЈþg|ÛËoÓ9ãI•”:Wò€2VX¼QcyZE¼Q›úÑg³­ø À›|°kOĦÞXwkE£5¦û¡k4'C-rЉFpä’Î,"ÓfV©qÕì¢w"ŽÞ=àéÅ=žüþžüΤ¡n"6,¶Àx5Á´"Œû1ækn±¤rº ¶˜Ó:Ÿ‘I%‚°t¹1»ŒÌ5æ4Å„¹R£­¨4—T+*û+œ,æ 㼩¿Fªk •6aè±ÖXWY=­Òk]c=ûŠV{Óñ« ÜY„~]à¤1»Þ;þ%ÒHíyÖ 4L—j± ÈUnò.°^ù‘Ñ"’ȰÈ妊CƒHsY6ªL÷›äšÎ Øæz¶Í`´Í2¬"ŠD8ÃLhU‡´ü!m5g”tÝt=é0~Ü¥|IŵÚÛ7ìZŒôOä]>/¿‘ÏóaBœMÇHÄX"¤ÁŒš˜R3ªbŽMH`¸Ìu—ÐÞä ¨B¥@%+t†Q—ëYŸë«>×—Û¼Ú{‹ƒŠ½äNy²éøiª‘!DNPzD¢Ï=”\)7¿?)騔M²ÐPk%övHu{JwûŠÖÖpóz£Æ‚*PÐk\òJïß´|oZ¾Ž¯¬¿a`ÁÓÕ=ô›Œé[ ÿSñU—‰ÞA ‰ÛZs/x»Ö{;=ÓåYñ€gÁžŽðìæþf^Ó~^–Ø,ë @¦›ç^¢’¡£`%˦ãé …²¡‘HÕ-Hc¨i3oÖ¸v{”eŸAÑg÷äÛ„š‹ÐJ|mIW (°¨1A‘%íþŽÑ–CâÈæhvŸ‹ÙGó{Œ.Ûð4‡G<Êq&+>ðo<â‡Ø{õ„{ÊÛå«d…ÂuÙa–×Ñɰ‰pDDŒE¢lâC^tüt6ÝÔ}àò¶ÆÚñÀm;–RV¤¯ “à9aè³j„¡G¸ð£9Èá¤@¾—³vLmbi0ôÚ4ü)MÆ4Å„&–J•©hàl„Ÿ³c^ò Þ›|{ãÿf¿uÂ;úË<ÖðL?à½ì>µÍXi³m$U­ÍÐHÐH|‹ÌÖY÷]J©R‘k\"–ÿàϯð»å–[n¹åýÏûVøÉeNþ,rt µ&±µí¿­˜2$º‰ ob¢›„0JÈÔ’ØÐYÙ3¯Fª˜fL;½á0y‚ỏ4‡Ètm¡JD§Dm–¨•Õ.PÕÕÈQìQ” Iî)¤¦A¢˜¨ø¬p h£p÷ „±GYLó6gÅ!ZQáS×§XnŒåDØnÄX48‘}F¥G˜—dyD\”„¥ÆRº˜Z• îï›3¤ ÜÕÈ41*‘oÜ«ˆV6Çm„x#‚‰Ël^gºh07HR‰ŠD ±é1vÚœúû4js¦µ‚Ô¡™NøPú‡´ò1Ó¼Á4¯3+L‹:ucF£6¥¾5¥~8#ö,Ö¶ÇÚÚ”nføbg¬ñ½5neu`w,7 SuÖŠ©„¨"¡( ‘ËÕ´‡¸*Y4k ó‹V ùT¬ÙJ'tòõóíTAê0ȶ`ª¶9 ï¡+’À¯‚&yV9 p]*ÖE/0Ô”H±Ч(UÌ(Ã\mJ JŽœ;»œ»ûL&ÁÊ'š»¤c“âF%L¦z CI(J•Ô´(bCÍñZk´"CÕJµDÍ òLgš4˜¥u¦yƒaÙåmñ*ÇÚ3­t;C— †LÑeJ©¡Jh䡆ß\Ði Ù+Ï9¼~F‚ c•pì3÷(#uÓm1}#Àתª¦Bˆ‹Kºù~yƒ*Þ Í5:)ÙçsÅ·1Ðú‰C†¢C,L¬"¡“èæCºÅ ¦TôUmAE[‚”,Ö5æAQÐeÖ7Ý-©P–‚"ß,÷Mšl¢³Ö¿ÉÓìOÊû<‘÷˜)ušÞ„{í'ÜÝ{ÂÝ—ž2÷j\[›Ò·pk}ïšíÆý­+,;"9ÐI:‰¥3Ï*8¬1ˆP‰)J‡eà"&[Wî6i¦“v ”JIãá„èØ">¶‰ŽmЉ œC6Ô(/¹§3r»ˆBa¡48®ßŰbâ†AìÔ¬9U}Ž­Dá§ô™äMÊ@£éCbl0i4˜ÔŒ &²Aº²HçÙÄ@âÐb"Zd…Î"®Õ\\;¤^`‰#É79i‰$M ®¢-ž$÷yšÝãYq—+u‹k­ÇTk€ †•àZ+\k…g­Hsƒ8µˆS‹$5©(3zÚò˜‡ƒÇD¡C2q™NÛ˜“tãŽj±™¯²¡ôbÕ Ã$Äc7¹d;°+.ØÑ/Y©.+\.Ëmç˜ju¦¢ÁTiP·œÓO®¸=åAô”†˜¢Ø›<>Å)r—lf°¸ipy½Ë`ÚGæâE•™B¸„KÚÈBÇaÜja'{”fë:׃>Ë£:ù±I…{ î7žr¿ñQ+9òxæ -A¢›.¥‚T$ÒQˆTH3“åªFš$¹Iš¤¹ÁU¾MQŒ‹6O‹ûAS`²©°°7Kûv«è÷zú%}u@_ÙTÕž“tLâ®I\1™SÇ1ûœâˆwqDB¢$ŽNR1Hêc¯É¨ÚaØk3 ÛÔŠw8e??epJ&uNÊ;œw—]†q‡df‘Ìm²™N«|ˆ+6c§M°t .áÒ¡\è(ý Àº›âz!¶ˆ1” U)‘Š ZÛħ“'5Ä“½Ì±v3¼½%­Ý1f3ÅpcŒ­ã~Œ‡´¶&4{SªõªÌi—cœ"f7¿"È1£ÎD©3UëL©£;j·@1JhJ|eÅ®ÁŽÁŽް$JŸ ±ÃE¹Í2ñ‘#y­R^©”s•²­P´ThI´f‚·³ÂwæT¶TÎñšk¼­¯âééÊÜ8¦ª¬.+¨QAEYÐÙRÙ}BDZ×=£Û`6" ] ))ž²¢¥Œ‰°É0YSÁ$$!-9b¿<å•òVÒ㚆H‘b,4n…ß-·ÜrË-ï_Þ¿Âo•ÁѺ%èjjµÄß[ÒÝ»boï„NsÀ™í ‡ðÆRÍdføÜX-RÛB'¡-o0dŒë­ÐÝ”¬j°\W6H JJ0K( D¹ 9+MAjhDºM€‹Çš Kz\Óå†<6˜LÛ—9ÙÀ"XVYFuÎÂô(Ãm­¨&3ªæŒjsF¡Œ…ÃX¸D"C’“‘£°ÆFW ¬»$¥Iá«° ÅP£ªä1”X”Ýöé|žuþ Ã,#&È\λPŠ3¹² \Nž ?|XV ¿œºnØÆñÂgv½‡n)Ü~„3Šqú1½Á‚ðï|4ÙP-4²ÜD­%ÕLRû:ÂÔ˜÷m6^3÷1F·Ä¶ôÛszÁ=}çÇHÈ…E†ÍF´É‡8ˆæ-¢‹€ä: œ”¹N…Niè4[ µÖPK u/ÈB‡²6Yçô¨"Ûspz­{£KZæ†f•ÃR¡Ç5Elr›íñ]þ9Sþ3¾®¿¢ÐÍ]Y&ÂR˜Ý¿ÒíÎéödØDÊ'j|„òimÖŒïïxtÆ«›ˆ‹åËå æ²Ø™ÇøìZl}P¹F¦;»l7§E$[œäWÖ7ü±øbü‚¯åü𝸡yƯª/I+%¦¡„À¯cöó[^DoøùöWôÄ’´¶H4›Ä²)Kƒjm°¾ìrýþˆ—O~{Ц 4¤®5šFB-H:.óp@“+"åÇ>‹›Û:T¿¶ðÄŒãƒkþpÿþùÁ@«j~ÁÏP,E—…݇FCi’ÆPÔ™F¦9šEX¶ÐªfŸ‘k¿]Ká°ÐF¼“¦V"bwÀpºWb¾È°ŽRÌÃá”gâGžóÏÅzÚ‚ ó˜ cW+ºt9ãD\ðXœñHœ›±ã·’¾Ã…8â¬>Å­O¡i­ç<¿ÿÏï_óÅý÷D±V Õˆ¤˜§šF³ÞÄžGæÙ¬ý.šÝPÏ%Í\£^HÔ\"¾Uíx ŽžaÈM4€ mÒ3›ä—ɰñµ˜ã?½¤ßšsüìŠñá=Î$Á©Rœ2ÁiR ³üméÔ ÕœÃú«*±Š’KqÀGy™:FSõÎÜÉl}…*Fâž§òG^Éïø\ÿŽ_7_‘×WÍ>QÐÜë4tšw:êN"žÕhªB´kt/Çu"z{K†Í=Ãz†g$8fŠk¦8zÊ"°˜Ž˜¾pùÃ)žñòñw Ïxñè{ŽF—´Œ-¹Å4Rj ‘ãÒsJt"– 0)€«†Íœu΋æ5«¦‹¡•4h¤ÂÁ |~?¤”4Mýû~<ðÀÿIêºBÊßO4ÐOVø : NO~Mi;„ÝQwDØ¡:uWRô ²¡E:´'wY3LRDS²÷2¤Ñj'ØZF]˜4™$˶Y›¸ñ¨„ަU8íWÆH£¢2©a£‰Š4w(*“:ßYßg•ͶjaÔªnA‰$´‚ e`P•:ulWcÈ IDAT¢So%Í\G`¨ÇLqÌÃÚµöm¯ÛÄ™K•*¢µ$rtªG5jH;>› Ìy•Sƒ@Ûrê`ìO©-ImHM£F2´g˜² ÉnW{¬óÂmèÌyj¿¡•¬I¤öHÙUXߊéÕ+z飨(j‹} Ý¢ðMZƒ-> *ÁWû_ó¢ý#Œ7‰W%h•¢¨,šZǬK2ìÞ#­š¨å œ>©tȤãgì÷ï°2Ž«+éHÐuD­á7!ž ñØâ‹;cÌ=_w|h×­£]aª¥Qz™oz…'q½l…£§xML™d±Ã*î² Ûä›<²)t›¢«ïÂâƒ26(ç^ã[þ(Â!e…@ !½fQT¬’.oÂÌõ!ö¶Ä ¬¨ Ž}~“Á›â3ÎóîªÉî¤U$]áj sÎwÁAû’UÑa–Œir( HWËuŸëÍ!Ýí–"·ˆd€Þ*X3ŠÆØº[6¹eSºÆî5¡í"/¨ 3lò¶IQ”†$ݳ »>+§Ã=CŒ¬¤Snh—:å†Óú‚ÃêšvµAÊš\³XÕ]–i—eÓå&ÝãbyÂt=a½í’$¦V`˜¦cˆŠ"1(c“21©cI›„Q€ !-ô¸ÁÎ ªk¹áT;ç…ñ§öïŽÒÔñËsU"R¦À”Ž–£ aAQÿƒ‹§IQÛyD‡»ŠBbaäå>ó»>¿C˜hADX¤Ô…FTxÌò!m–y m’ÚÛµî€ËnÔ…Ú‘Ô®ÜýÌTŠOŸÚb7ZÜå{¼ÏžÄ! ÙãÎØ#ÂGh R4Ôš$—.‘ ¤@ËÌéXkzæ’Fiԕζ鰩z(B” 7Ép“7Þ­K¯KXZEÇ\cj=cE.-rӦÊ#í’®Xaˆ’´°©7:ÕÆ Ü˜+›f&Q[‰ðž›à;!žµÅ3C:ÚŠ®\ÓÑVt´5ZÔ "AȆHsP£óeÊžŸ19Þðè`Σƒ9Gý{&jÆmhRÌ-îcÞÍŸ±2ºd]›¦£áw·ÎCæTºÜYÔW:an]ÊE½1‰×bÓP¬%QlÓœ§ qÚ ý†EÝ',òÔBÅWwî¶§ŒÛSšF° 6g-¶¿i69‚<4?€"Áfä¿ê²ù6£»¿f¼wKgoCg¼!×-òÀ¢Yä,ŒMI¹Õy³xÆù‡S]P¹’öÑŠ?zþ÷¬š.7ñ·ÉÎP·j†O´¼ˆ^3YÜ’ä>˲ϕ<&s´aƒlj^Ú¯ù¼ÿG“ Žü &Ù=ÆMM™¤[ŸmØå>£YÛN›¼íÐt$Ê„D÷Xi]îÄ„•ÑÅîd<>:çUø#f»€ž} zá¬&Ê2¬:à 3ÞΟaW%¹ë2Û› ÇÁi„ÿ8ÄQw$‘á›±á!­ÝÚ9GšZŽQ”43Ivå^uX/zè^‰åøýyT5qe>UbÐ)×÷Î9ô.8~tC†Fƒ M4Ô–$¯MÂu›_C4Œ¤ÂHªÝ‰_jqQsY±.;¿u ù]ùYĸ¼ãIýÏÔk®£¸Óï:TS‹y<âmQ‘-®Šc ³" ¥4 `'äÎ%ò<¦úSÜ£­S¦­!Qà£4A;Úr²ºàÑòœG«3úú‚ Ñ[³VŸ\ÚÜV{ÜÆ{Ü®÷¸‹&Ü-÷˜¦bå£Ù N;&hoiµ·¸~´kÇ»iÞ´(7UjFj£Q,,†Éœ=qÇ$¸co2eß¾æà芽ãkôãœØ±)BƒbjRDMcàöC‚A„ß±¼œMÕf[µÙ–m"ÍŒÓ윓ðœÓå9·õgÍ)gÍ)YcƒTxV„wá>‰Ðì†ÊÓ©¤A´haf%ë Ç6h¦*XßuYœ˜žíq;=`4˜³7¸c3 ˆ&w÷c>Lññþ1秤›êT§<Õ±ì e îÛrÍâÚÝ' [|Œsï“D¤ìrûªO¥ø‰ ve(ðÅÎ8É Á²ÛãýŒ¼±¸‰(¥$r\"ÍC5¶•“ö\ä!ˆ•Ž&uä¡Àìîâ#´ºf½í²XõY.lãöï²@}ŽÂ KÌíïJvKd½3äi{»\K£®Ñë½n0D)s4 S9f™õ¸»Ûc}Þ#?óhÊÐPºCvTÓÞß2Ý0në·X"ǦÈ1)ˆ×.ÑY@xæžíâ,"¯Eæ˜_¤ˆ¦`;¼¿š°zÓ{èB¢ ]HÐ Ré|ºØäh.aãÚÍç¼Z£VÄGÓɈwÆc”Øô颢ǂù©-ôÿÒù¯þâ_ò?ÿ»ÿv»Åé“gHù“Ýê<ðÀÿ?¢®+ÎÞ¿å¯þíÏ¿úïþõïå1üd? nù7ÿúcVŽùU\ b—e´ÏB‰=¬©´X˽ጾ{OïxKï—Ú ­9Gö=“æžÍ¦Oykq6æíùs"ßÃz”ašþ(¤å¯ÐEN¥il…ÞØ„y@ºq)gõIråS\él¯–ó~¦Ðòݯ1NjæÍ€°h‘§6*x˜qûn7wò–lesö›S²s‹ø7>˪ƒzªhž)šg€×¼m(Þ5¬ß6øó”à¶ŒþèŽWÃïyÙÿ8ðˆÇqé‘·o÷¹y}ÈÙâ”›×túkŽ_œq|tÆÑós"#à‡Å+š¥ÆjÙC«­9µ3þ0ú†IsÇwâ ®8æ;í .Üc^ ~à¥ýš½xqü®ãé nc\74 ƒtê±™õ¸ŸNÐ{>j“=v¨ÛÂĆËRv™Š ¡áñ¤û‘LJç²7œ‚#>å€íœ;¥ªÑ¢¹­ÑT³(ÈK—™·‡Ü˜ÁiÈàñ=ý§÷”¾Î’>‚…Ò²D7 £ÀÔ ô¼¢™jä?:l¿í°¾éÑùl…ÿ<¦s²$x¼e¹°˜×T xáÓ V<ê½çËίùªókZeˆ7èq7Üæ{|_¿äûõ+¾Ÿ¿â¾"*…V5h¥¢®$Iåîþ7•»~ÿHô‰ZáçãrÊãú=_ñ5N˜Þt¸ysLýÖd^$VÀ•}Œk¥´:zÃ9ÝÑ‚ƒñ%[ã*=† ’Ô#,ƒß™½Hh” ò}¦žq‚Òk.äS9"”>¦ÑŠCN§üÑÅ×üìò×X~Ftì93oÀÌs¶~ÄYòˆ³Õ#fë ÙÒ&M²ÆF³kÜaBïpÁðhJw¸äþõ)*ÊAXµ(3ƒ&Ò(6Ú¢f®k3¾ ¾á÷¾fèÏv-—Gò¨ W:ùÆ œY”lšTÇ~ZÐÕ–Œ{wþ–i1Aæ5…0‰”Ë ¹çyþ?ÛþŠŸ/Éëü%^“6Wå!¢ßàDtôÔRcuØF]¢y ±‚Ͱ˖‘ýIøÝv™7dú÷{Ü|8dïË[_öØìµˆî–#ÞMŸñÍ×_ñí7_b<+hÅk{§ üð»v÷)zQ°^õX¯»$–»~ò•X Ìf·jj÷Þ0µÝï4Á²×'³mnš¾¿ÄÑcã1®Šq¬Œ¸[¡€(t„Б`tk,+GV ›m›óÛG¼¿zÆÕêhqÑÑ: ­´eƒ¶j«†½òšã’}ÿ’ƒfNO[Ñ®CÚå–N’k&K£Ë‚SmÂM¶ÏÝÝ›×=²_»Ô÷œ8¨ÐZ íkžoy"ßR }g îÝ:\ù¬ßµ¸ùû=nþ~Ÿ²g"¾ís…ùyŠÈ Vß9¬¯&|øÎGLšpš‡&\6µ¡ï x Iãhhk´ÇÚãšàñáÖÄžÃÔ¡Ž–bPbˆ’>  ›ì÷ðm÷À.G'üÅ¿üoø_þêß2ŸM©ë‡¶Ïxà÷”’ÁhÌŸÿ×ÿŠƒ£“ßËcøÉ ?]WØ®ÂÎf ²-Uj- ¢–dÊÄÐr<#¢1uŒ¦AÕ’<²ØnîëœÙõ€ÙÙéù˜éÙ„¦¯aíñ†¡˜2Ðç8UBZ8ÜÖ{T±ÁívŸõ¦K¾rh’â΢¸”ðÑBÞÚt‡[’ÓybQ+‰) Z憉sGíëLÚw<ë½áéð Ï&?²V"Ýç6= œY¤U€Øk4¯Ž¢r•TP)D¦!Ëšn³âD\ð¹ñ[s×ʶÕZ„" ]®îޏwüÈsö̺í{Œý‚ñ“[ZÖ†Y{„DèN…Ê4„¥Ð¬¥ªQå3-Ç|¨ñ¶~FKÛpä\ û%=¹ Ùjä[“4t˜m5.§ÇÜÝ°½íÐÚÉ|‡bÏ Ö%Ò®FƒÔktQâÊ”ž¿âpxÃ3>pܺ"Å!SöÎ*¾¶pê»É°ë §N¹ÓöùÌié!f»À•ã=(ÑõЦhy–7ˆB¡„ tL2Ç!rŠØ&ŒZDQ‹8 H—¶Ú`Z9­Î†Ád†Y8aJÐÄt’-Gî%csF§µÆ'´³ Œñë˜ ñT̺êp]"‹†¼²I+‡¬¶Éj›¢6w§8ÿ ø`í ]©°dF[l©{«k6iö6Ä\”4w:©ðÈ»§Aój½ö(b²Ÿ1>¸E:5ùÖf»í`n ´¤Áa÷Ü9yŠ[&Œ[wö­U‘· ´´ÆÏBFé ‘*žL?ðôæ=Ÿ]½ãùÙŠ®Á…Ät8âBq#ö™© ›ªCYZèU½þ^Š»öåñä–ÑäŽñäŽÞpµ,h’ø>€™¢qå.Ú îRdûÚ-ÏÝé¶–dm“¬mu,ÂÊ'³-j©¡55fQ`äFV¢§%FZT!u%Ñ›’6kžñ–çêG^©ïù¢þ yiqä!2«ËÎðúí“]äGvãÂòµ^×äºMå4…DÓVYà§1ÝhC¼]ÐÎC\•¢›/H4—eÚãf~À‡ó§t¼%棜Arϰ¹'—&÷rÈÚn3cHêx 5¤^23êD'¯-òÆ"¯-ÊÆØ‰=SûiõÅïæ8]deèÄÒCŠA³¥U®ig:B4¨JÃr Ú£-ºPx*Æíd(% ×mò­ÃíýW«cζ¸ŒO0ݳ(0«£))Õ?L·”Â@ÑÐQ Œ¦dP/«)ýzM¯^Ó«W¬›1.©ò¸ª8N¸[î³¾ë’_8p¯¡w+¤V¡w+œÃߊp¬K+Ћ†ª”¥IVÚd¥Íæ¦ËzÞe¹Ù¹šj]…oG¸½ÿ0¦I*¢kÈ´k›<4Q¹G“{¨Âe#Ö-H ¶™`õRìãóU…;qP I…"CRc“á’"©fü~"è†É«/Ϋ/þû~(<ðÀÿIª² *ÿéÇ~²Âïâò„ÿñßý·lË]»Ôy|JµPT&ht¦-©º:›© ×>ÉM—ÅuA«öi5cZMF«I¹Ýœðaùw«!ÅÒ ¥‡Œã;ždïx\¾ÅËbÒÄ%ŒÛÌâ=Öa‡Ûõwë}âÔÛmæÑ@—` „«°¬šÀHéËîh¹ãá=Ïêl6oÍdxËØ¹eRÝ¡7 m'ÂäÈ“•|ÊÃÚÔ; ­Õ ³}\"Ý¿ŠðNRœãË-1âCoºBÓ„®­ ØŠ¦'¨ë“Ôtv††Imé(OSgÌÎg4®¢­6¼¹ýŒ‹Û¶·>ÍJ°ž´¸àO^R!/mò¹M6sȯlÎç'|X>æv¹G šj]P;Ó-ikõKj *ÍàÔ¼`àÎqÚ%wÉ„ëô€ëô€ûlÈ}ÍuÍ¡sÅ}¬kÌ:Ç©cüzCmhä–É*쑽w(sƒhãn|Š­C­×¬†JÒ¡.k–²ÏrÔ'{e#Žòq…uã)!--âØ¸BXa‹Ý¹CRr½8fZM˜dSŽ7—o.±6—øuĉqNeé´ý Í1WÙ!×éWÙ!˦÷锆Ø€¯v›ø@¯ÐÚ Òn0T•Ve¤A3w'­ kœcM2ÌqÆ O¿7§×^Ð3–¥ð›«Îe™LÊ;«+ªköš‚jC mhÙk|6Ä7Dó€hîÝìÏî81¹ŸbÆ%¡° û\®Oøaù’ׯªrNÌ ž·ß"횦Ҩ?•FM7XÑqWt‹þ2B*È;.ËGC„ÊdתX°3X)Ù9’~ª²Ô‰+Mã³!`fH†.¢® œ Il#ýšØð¸]°Î{øzÄžœòLO E<xb}dàÏÑzÍ.—3cwªf‚ð@³w ¤¨Qµ†VÔˆT!B…V7I‰“¥øeDßYð¤ûçqΤš±ÚësüäœÃ½ ­[ü$Åi L«BvØgÒk-9´¯øL{CŒ‹Î.`C )mgC[…tô j­1Ž˜Þ™ÞXÅ]C# ÖbW[0{9®ã8 n'F»Sñ4tÉ·6V™ã5 ƒ`‰k%XeŽ,jâ™Ç×/É+›ÛzŸÛzŸØ÷‘­ŠNwM¿7§ßÓi¯Øèm6n›u§Ã&nÓÖôÛKÆæ=ûÕ}±Ä¯cl24ÙP4&›¢Ãm¶ÏGõ„óõ ë¤Ç¦êPh&Òªqß ñýϱUBX|ˆŸ0&”+ãwµ4ØÆ>P>¶°Æ%Þ(fðdÎà`ÎÐZP Åü8`^èŸðª›œê¦¢¼ŽQ‰ÄHÌc óDbžhˆÃqÔP·$Ií x"b¤My$>`‘ó)5rwîŸø;îÿ÷ü¾6T<ðÀÿ¥óÓ~W'üÕÿôoÈk‹mÑfStó\PR Ú‚æ@£ª$Û©EúÚgþ›ã›SiXJb~ª¸ê³©Flª!eiàx)ãhʳì-Xý™×¼Ù#úÖbuÀ#mW•ê“ðÛ[!XEN ¶tœ%6‰#ÿ·ÕÕV ìÇÁ9§ÎGDÒp{uÀílŸ›ëæñ¸ç÷|’®‡ìÖtZ+ŽZœ¶>p\rëîsSîsSîQW‚–ÜГ Fú=ûÕ”6›ß:^ ­!oLÖe‡»|³l'ü²Ø&¯l ÍB3k<;¦ïÎé{÷´ü5iæf÷Ù˜4ui.5êKæRîn÷ ™šÇ`M :Ý “ΔÃö‡ö5•¡áOÐ[Šæ‘ƒº„워\¯¨7MÞ` ÜgîW:öç¥gPøŸÖÚBh _‹©§â †“‹‹mg|óÀ<ðÀ?Q~²Âïn9aöí_ìœKvöñ%¿‘B‚J ©ÉÒ¤úàPýªEõ× )ti#u]:4¦GmzÔ–‡2ÁV)]µfÒÜrÚœQ:gác6ó.ïoŸñaý]UèªBªš–¶¥ÒujKR9:x:š¥¡K…©*¬2Ç×R/ñrìnŽV+DÍnÓ›YVØfÛÏð«oR§MªÑ,$"Vèýk\à¼LqŒ¬‚TP¦Iê“+›Fè»ÃG­Fš5Z§FØ»|­Z—ä¶Edû¬êyíàQšÊTè¬üY`pïw‘iIª<’µGzáÐü ØvnN÷H„Í´5$´ÚlU›0k®ÛT[ƒ:“Ô™FSI”ÚíWCP[aÕØ*¥­4ô²¤©$^!iÈt›\w¸PǼ.^òwñŸðíöP¾ [޼KêD·J\3¦m­™SÓš0i¦á]›æJ¢ßTè×öM°M-ItŸ(h¡œÝiæ7;ál§nˆï†xN„'b&ÚÇúÇæ5Çö¿¨΢ìo¢‰Í(šó(:£Š lwƒîWtäš÷š¶±!¬}fÕˆ³ò[¥h(4ví»šT¨@¡:@_! ®J°É°TQÔXu‰#2|#¦eo±ý„vkM«³¢Õ[3jM鉾ˆ0‹‚:—XIŽ'QˆŠ4öÒ§x™~ÏWÕרD¡r…ª -¹y¯Ð®@Kv3‰¢lд†R3HMÑe‘f´j֜Ϭ7œXç¦Nnê¦N#N˜c‡N˜£ÅŠãˆ~gA0 1õu+Ðn´°A[׸M‚®W()Èu‹FB¤ùlEÀ†6±î¯pݘa†L*ÖÓë;“8öh6:Ýf³›OÕ¿Þ}H˜€[½Elyd¦Ei(]€Çh M5HUa4Vc×)N•âV1^ÑaMÏ_£ º üGóx*ØXn9(ÑJìQ†Ä´µ ½l‰n”t´ -¹Å×" ­äиä¹ü—ækdX£U%éÆd~ÝeyÞ¡–eR{&¥!à =«‘U¤¦-Wô¬€´îÙ¤ŠÐ"Ol–ó¦]!­šž·àÑð=ÍVcuÕ%œû|üñ”«ÕúÓÝ®‘û­QÌнgÏ»áÈ=çÄþˆá jj…Ðé” Zå¯LpÊ]5ŸÚ#uRa³({ÜÇ#n£}.ÃcnçȤFRa¹9ŽžÐñ—t­yßl¹ËlÂmÀÝö€»í>\‚ø¨à#ðAᾌñŽÂÝEŸ…ŒƒûÜrÄ'✢±¨û&i§Í¦†¸§AV Ö1ÜD4U3´qmܧ6ös›L³iTBÒ4†*T¸‹¯PWÔB²m¶´(ÄNø©‡s¿xà~Âüd…Ÿ~RbýyˆŠõš;A} ŸòM­ÀÐ Q‚P4BLz½ˆáhÎhœ1¥ÄVµ1b¥Y#ôIÁö‘ÏùÁ1–—R*ƒwÕSfélkc‡#{ÆØž2rføDL«1³bÄ4³jº¬ôó'°€ÕE›³.1룪Ðjµ}Ÿæ¾Â2àž>~wË—Þ¯8,ÎÙ-6E›MÑ&7,œƒ{’`¹9šhXŠo´gĺϙ~²‹=È"ü"¢¯­èn¶ø›k]!Ö;7Í©;Az ©ëQ›’;9a+„[á!ŽãX ®ŒÑdEÓÒ)÷,ò' %4Š=›ØnAªQÜÚ˜MIw¸füÅ £[Þ·XÏ{¬æ»™Ñáƒf*4¡È3›i2á:9à:9$Š[Xq±«¨¤ŒM~ŒŸó.~Ê*ë‚„ÚÐ(-ƒÔ1‰}+ÏØ[ßRf:í<ä2>â2>áÒ<&ßs1ì„qwÊh2cühŠa•Ä'É©K|ìR÷$^™àe n˜àãtcÜn„#wšhšBè;qгV<5ÞRë‚¶¾f˜Ìx¾}þ}ƒeæDšÏT™E#¦Œ¹µ&\s@æ™ ¼)¦Jw÷YÄ» ³Ê(IH*OR;¯øžcuF‹5µ‚À\óH¼§lt:Åšz¥áãncœ«éÖ(CccôYªÚ [» 7 ‚Íߢ2A×Z“Y&ßt¾àÒ9 3ZÒm/éXKº,É}‹bÏ!ǦøôÜzU‚[Çxu‚ágŒ×¼ì‹”ä–M«Ú0ËüŸñŸñµúŠÊÐ( IeH4}—û6h œ9-;$“†žÑ“sNäÜ$¡•„ID+ É)c÷–Ì5ùÑy‚ÕÍ©‡2¨‹íxC¼ñ‰6 IDAT>ñÆg›´Xª>‹¦Ï¢7 í¹ørÃBvùeýG\‡ìòعaZð^Âý9S}L©ë¿¦°M2Ã!>Òªqz £rJËÜÒ-Wö.èûKr´´ Dº+ vŸž:¿=E4íoÒ5Œ·H«daôù~þ9Û´jAØö1Ú%Ûh‰Gé{É”n²A.öõ;¶'¨4àeÄ:è± ú¬é/[ôÅ’þàž~gNÿéû(Ã<ʰº–Li”$Tm̦@4Š´v˜5#Þ«'4€ª²#fQ@¶ª°–sÆÛ%£dÁ¸XÒ¯ÖèY^—ܦ܇#K ™Š#ëŠóš@D”BòVѼM1÷°–A·Âü“=M©ºUîQ~ë“_µ‘ƒ {˜ã bôaÅ~sG¿ZÔ1VS“JƒR7‰u•Þ¡&æïåûîxàþ¿à§+üŽKÜ¿ŒhP¾Ö(¿¨XЄ )vÂÏ%–V€VÒˆ† 0èõç<}vËó—7¼xuÃÜÙã\{ĹŒ9“ ýŠm×ç¬{Bâ:‰ÅEuÂ,‘n¬mÎ~ÍKó5¯Zß3´îù¾xÅëü%ef°¬z,õ*ƒÕ¢ËÇ‹'èTÈf… ›*ˆOÖí¶™Òò6Ý {Þ¹nr]pUp]²–m¬V†Õʱ¼]”ÀRt‰53y‚£g<­Þó¤xÏÓê=ýjM÷~‹7M0§%ÚTê³`,ð¸ÆÐVd›¬k!üÇ‹põ׈qe‚&kª–E¾W¡mÊÒ(&6ØEjßìÕ·tG3öº7L^Þ2»šp~v‚8?%2èíÚ…¹›“És›ézÂó—|·ø¦« z¸sìÔÚ&•Ü‹!smÀJtQ† 64 K'u-"ÏÁJ3öÖ7´f[ÏÎøQ{Žm—d¶Ë4Ø#臜ìó*þž—ñk\3f>ê±õ™z”–Á`± .,–iHZZ¤Ò$õ, ħvÙñ t­%O·´÷xqÌО30æXzƲìsÁ1ßǯø>yŽ=@tD§fØrh3L ãƒdA§Ø¶,2wŸ™kr nØç†@­i”"07<ÒÞÓi6<-Þ¡B c[`\zÉÚjsîœü¶ LöÃ[ö£[öÃ[ü&â~<`6ðM÷ ¶£€Ç­÷râžqê}dß½!†–Ó÷œh¦söÒ;ö²){嬆¢cu Þtžâx)gE×YÓs̸¤¼3)®MÊ+“8ñ˜Ü̇–í.Ej³Ìzܦ{”‰õÉ “O«biô™æúJ7Ðý’Ò1H ›Hóq­»—î¿»%ƒjÁ‘~IO.pU†L€ħ•œß9¦V»Õ´ ¼QDw¸`ÜÜR‡‹mpðöÃs‚ö–ÎáŠöáŠ'î†ÚœI8eo9¥·Ü"¢†ýŽêTÇ<.è–k.ã®â’*¶H>½Î‚ÇÃw°_ϹJ¸Î¸â€;1fÏ¿a/¸æ@\21oØÒf%z¼Õž°Òz”ʤÉ%M*Q©$¼o1¿°¸\»8uÂÁøšçã×¼˜¼¦ã­8ßžîêý 7áiì’ÅYì@bR#÷*äq…Ü+é·ç<>ð²õšWõkÌ"§Ô%%:…ÐwÂïÚ%yë¿k‘o‚îš~·dð8Â1#÷Ë{É⛀0êÑ~±Æ{ÓÖW´'köë[ú加ˆ±òŠÌÐ(m‹Ÿµì’ ëAø=ðÀ<ð“æ',ü*Ü¿Œ¨n@8*Ö¨."í“ð³µ K+iDE%Ú?:ñ{òì’?ýçßñgþ—Þ ßŠ‰ >±ðØ ŸDØ\³OžØ¬Ëë´G¶µimCö[7üñ-ÿ¢ýï9iÓÊ·T™Î]2¡É5VzuÞål¹ CF(„bw[±Û,–¿«“î_y¿d¯sÉ—G¿Bo—üÀst•‘aP">åZ•”h4,DP„2 Õþ¼ø?0³‚“ä’~²¦s½Á¿L1/*ÄÅîÄ/m{Üwv¢Ï˜”˜*Å R,7Ån§¸$¸"Á%AÓyË%™TÈZ¡Z’Â’”¶µÛüÞÀ¨Og¸âIÿ-_ô¿åìý#D·!2nŠC蟄Ÿ†"Ï,f« on^ò·WÆûéSX+ĆÝìRª%~[†]R’Â2È“سq¦­õû¢À~WÐnGäû.ÓÖæ¤À·"Në3~^ý=^ÿ5-cÃe°Ï•ÀekŸ¼²8 o8Ê®9º¿¡³Üp­M¸r÷¹êí1eˆÐšÝœä§®»¢ÝZó8xOÓˆHíN1u…¦)¢Ðç<9á—ñÏø÷é¿`åt8òÎ8öÎ9Ú?ã¸sÁñúŠãÍÇë+ÆÉ=aàù¡ç9.. žJpUL Æf^ݼG+@¬ØmŠ ¼—OXCÖ­ßH&m‚ä¯$¿áO“¿e߸á·þŒ‹Éßtþ€ß½â­_[®qÀ[¿Í­?æn²ÇÚcÀœ¨q 1ɘˆLùLH.Ãc~ý3ÞdÏùÅâO9ßžþG-®óÅèB˧Áèï^¿=î©ÇÙ9O³÷<->ð´úÀ½?àÍè oGOx7zŒk&<«ßí#ëýx…¸ñx-Èc‹éçC¦Ý³Þ›ã oç/x{¿ÇÛø9ïÃg ÔNôY  eîrã”Ü­¦')l“Ôp0„aí\w{½}µ`\Î8Lnè'Kœ$GûÁ—|ªœÝÜ`õi ?ÇBºþœQpÃýÇ1‹ú¬æV?ôÙï]ñEý CgÆãÑGŽä%pKç~K÷z‹(õþÆ^AgÍЙc¿/©ÞÙ¬ÞX,zÝOïùù“¿ãŸþ-k­Ã’K±«Pµÿ/öÞlו4=Ó{þ˜Fg.r{È™;+«¬Êªê,»ðÇ}â#t†žmÁð% hÜjð7Ð’-©TsN{\óÄ™Œyü}À]Y]vµÔªJc=À‡ .’k1#Þø¾ÿ}±›]–ˆ¦!mv¿µô¸”d]Rä yÔP¬+zË9“ík>NÌ¿Uþ˜GÕ-VþójÀm¹Ï›Oø¤üK&âšCãŠOøK>Ï™Š¯Ä~¬üaÐ2Öh6Í½Š¼È·ùFÐ5L‚k>îÿŒßþÖŸÑïÍùçŸþ›¬]¢7>g¯ž énd– Ä÷Ô£ íIö½œž˜ñ¸zÃo•?á·«¿ Îîå€;1ä^§;áÚ"úOž›˜ßÕ<®xôݰáôŸõÉ®Tî~ÞbýEw`i9ý½ûê%cné•K¼4Áˆ+0%&±â²6Ú$Ø”èÿúnüµ)Ë’ªzp`}à~sÑ4 ]ÿÛ?¦|m…ßHÜñw´?#uM–ó}" š»hÏšƒÌ4(SÈëšB«©íÚ5kã„óRÁY·(nö(Z‰áÑ7–|bü„M°®Ú¬«6›2 ÞêUÈÐ[b”ô†Kž_ W¤“{·OÕÚÆ‚§þ š=IXÚ„…C8u¯l¤­ƒ«ó®ªÝ‰Î/N&£Øå.ñêî1Í볓1펈»6f'cèÎê-A½!h¶ØuJR;$CÚ8¤XLÒ;äRáÍü)é¢ÅmºG¨¶èg|Òù¥®£95ªS£95…©%á—衱U×÷}¢Ë>²gÃð]ÙêÎ 4Þ&•ÍíõRi˜©-ì^BóT£yOÇÐ <'f\Ý1.î—wt˥؈”ìÖž„‰G4÷xuùŒ_~‚êVhí’þ`ʸ}…aXj©åXZÁ*êðvzÂÛé Éì„ ÿ âpÿš¾d¿}C–YäXäöΑ ¤ÒÞ•áäèNŽ®”B#/ ªD£Þ(ÈDÂá*š ÊŠ ÒÜwöX]¤/ñÓ5ýbÆ ŸÓ/fØeÆ­œp+÷¹•‚TØ,Ý.oõ§„¹Ïåòˆ¶/ø y^4 š9Aµáqú{›r¨_R4:ºW ì†Ëք͹ÓGÜé#îÕ¡ô¸,K¬¤Äܸë„ñö†ItÃ8½a/¿¥Õ¼ ¦·S„D–Ë­³Ç­µÇ¾‡¯…Œµ;&Ú––Ó"â¸>ÇH Æá-wìq§Œ¸-÷¸‹GÌœ^œ2Læd‰MS©¬E›Kóˆ/ƒ÷x)Ÿî2÷ȰDŠM¶‘Ý`†73Ž//82.±š E¯Ñ'ÖQBëhK@U Ö•ÏU5¡TTʶF¿3Ãl§<¶^cª†š“*6gœâÒ"£À U¸¨ó¢Â²KäD ' ÷®•Ò2cZÝÏ]T-e×%¶EB[Ýp`_2°§´Í56éW¯D'Á!—639â•lЛš(wÙ„ëÆg“”•ÍAtG»4‘†(w¦¹´@øP©k­ÃG|9{Îëõ§Aµkz­9C{·Vë«J—ˆ„™€90ƒl`›6q`×ñ‹¤:J *4jT$‚¢6¸]yuý¯ß>åö~ÌÓã×¼wôŠ÷ÌWtº+*4Jt2LZfÂÈ›3ÌsrL–Z—eÜáòæˆÆ´´hg(äÇXf†pk„Ó  ¹b²±ÚľKÙבBt­—ÆÆ»¿í.±F§ÀÑ#o[9=¦|ô˜¢2¹3÷h •Ùjˆ¹Í¹/FÜù#¶¦zXÑfÁ˜Ý¨óXÜ¢ ´a‰Þ/ÑÕ‚27)2‹Wá{|¶ù˜ta‘Nm’©E2Ý9óÚAŠlÞ#º ÅÐ L[CCàì¥ø¬ÙëÞbô_ð½Ö_2i]³°;,­6 »Ch¸híŠv½ _ßó^.ù¢>B¹:&œ¦ÜüTÀ¡µÜ‰¾¾ù•›'!°„dcs˜E-ôhŒ;Œèn·t-ÝqÈh0çQuÎãü”'Ù)ûù-R»è M¡*?J>áG‹ßâÕå3~ôâÛœñlø‚g‡_ðþ_ÒµV;›ý:¡Õ¤\žàœ}ø•ÃùOŽ©2ÿyÌÑók>–Ÿñ¾|‰”ï|(mi+;Ñ÷/ÔÚðÙèkÝgƒOQ”‰F³È™$Ö®£}6…ǹ8B±jJà šºÁoVŒå5ÇÍ9Çò¯ y™~€Ìaê3ˆ,é±>ùzQm´¤aP,¨¥JPnp²„Ãð’B1X*]MqÙÚçÞ2f¢ÏL Ø4mªÂ J ªÐÀ^ç|'üvœó4}ÃÓâU6(jj5]™.w̧֯¼ÐŸ2Ðæ”šŽ­å Õ³æquÎ8»¥ ®Š~P~‡UÜa¶±6ÛŒò'ÙyfÑ…•ÕæÂ?ä³ì#~( Sd;áG†%2pAZ ²¿3ÍxÔ;#7L¬:c/š¢˜ Æ$Çzœà¾¿%¨TR|5Ö— –ÑWgœh§XZÆ’KÑeE‡&ﺿ¬:TWõ³ãg–_"ßg7žÜGÏpÍÏ ñÕ ±b°!|¶tÅ’}åšrO ¬qHÐ)ðK± ˆ¤OÔ쪬 ªF¥Î4ªŠšIVëS’u‹f­¡hÀØÛUéê¬W®Ö‡|9{Î里Ʒìoè·îØÝrÞp^ï¶É5êºÙ‰¾à–e›{ÀÝpÈ]=$Æa瓹« í+'Ç¢2¸ÝŒùìê#þüË¿ËËógüÝòÏ‘† Û[ò„7ú.ÀbhÌ9öÏù¨ø‚Ä—Üf{ü°ú—ñŸn¾ÉÊmcl/ÆÄ8~LK ñÔˆ–¢Ô k³Mâ9”…ŽÔI×eÑêa à³Å'Äc‹OŠcÄxÚ†¶ë’6&ŠR³¶©n ªW‚íqŒû¨&x”Ñ¥¸Z…¢ Í Ñ,*)P)på–6KòÒâ¶sV>"K-ž/yn|Æcí-jŸ¨L-Ç´wލÁÞpCU îË·É„ÛÍÓÍmõQ@ái”Fái¨­’@_r¤ŸñL{Á3ã%º^~UšZqZ=áeö/Ãg¼\}HtáÒ¼4¯õkA×_pòÉ)ÃÃ{Ž¿}†yœs¥p¥ï3Õ$ŠÃÉøŒ½Þ'ï2,f¼Šžñ*þ€Ëèˆ×wÏ0ƒ ³bÚ)f+ÅÒ²Ýÿ¤’a’½‹wxèø}øgòOø{ÿÎÈ·¿ûw~ÝoåxàWØß?`8ñþñÿÂ?øÿ“¿õ×ÿÚ ? ‡„XºèeÈšTG:žHè‰-†(Ñhˆ[.ñžK\:Ć‹ eÛ¤h[D`*†Ül' ÂÝ«á ©ZFˆª4ÐÈÝ8f¶G©l:›¶ÇÆòH ƒ“ƒ­¬°û9{£Í~…w¼¢™´`ì°…ì»$™G¨x„šG¤y”šF]Û°Õ r(M+nòtXNŽªT B¥©ŽªÕ(jƒ¦–è ØnŒÓ‰qFN¡îU­ës¯È„#3œ&Å®3¦ÊÐñ]3I…À¥(šÚUÈ,“¬±È‹¬±¨¤NK„xõ–VÒ’!F£É ¡ÔH\%ÆÒ34«B8’RèÄÛå•Nüy g™àY!{Žg…ôŒõš}ãš}õ³ÉY×]îã1fœ#×»“î¢4vë©*¸JyÏiÙ!Ú¸ §,ð´_Ft£%•P¹auÕá"?æÊÞg­´¿ª<µ0ŠËÎ0öB<3ÂèçÄ–ËUyˆ±*ñŠ¿Øâ!^¢y5Fã1žµÅÐ [gåµ¹¬'˜eI™ê¡Ai,dJêxyÄqtÁ(›rX_Ò­–XM†TÄÎ gÕb}ÓeªìaÛ –•aÙ)¶ÒÔ UªíQªaor޲k’Ú¥ÖTL#§k-9²/H‹™ÝGË+ª\ã6³jºtÌ%]kIG]â‹-Yd¡Ä7NPcIâ:Ä®Mâ:4®ØE”45jÕ –’<7 3mâÆs·ÇÖ pÔ„GÚ)=}¶[w*Jt L‘¡Q"ÔïDÐ/²ÐrL2LD¹{}k]Йn¨4ÊÓv[K£-Ö”‰Î¶ÇÏÅ7XÒÅ“áW¥Rãj=kÁ¾{EjXÞ’vk…åd`ASAS ªZPÕ*¹mP˜&¹aR¨&KÑf&ûL›ÓªGœ¹T¥NU锥Ž_mq›Œv½¥§-q[)tÌqJ°]10îñÖ˜{»û‹–†ntÔ\‘V± c­Ð‚’T5 W-6 Ÿõ:`µì²vJ¡Òx¡íÆN¥„RêÄÒA4’îSºzSв6Ø^Œî(FM#ÒТqh² }¶´Yh}ÖZ@¢¹“:UAµ]ci½Î’‰Íؽab]3ÑnèkKl5š\P*enP”æ®›&2l2ÐÀËCˆ!.[Ü—c¢ÊÇ¨Š¯jfô)Z–›1òï† ]Ò°ÅöÊ¥Žu¬ƒ]è|×Iðúkoy¤žòX;å‘zF£(4B¼Û*hj…j캡2—(uÐ â%o°Íaä©ds«¡”‚.+|Ö´I5—È[z¥¯#; [%®ÑKöš[4«D3stc7¢ÝRb:ÕW‘F]’Ën›ðy‹Ö$Ä$G夓»ÑÊSXæ}–EeÑ#)\Žó3Nò3Žå¦_Ðò#Ý,˜ë<7Äj(#B£Ú/굎;Ìè÷WœôÏ8œ2öoi[+s½['(ÚÛ5Î}‚~[Â;ëü‚¡FËV‡W­§ämoÄqyÁ£ôœ“ô#Í) ƒMÜæ~¾Ç™õ˜+ó€DwHu›DwPEE·Ø9‘NÜúõ,Aj™ü¼þŸM?â$:ã$:ãQxŠÅØ{ ƒÉœZŒVF£+nÅJD¦K!LÂÒ'Ì}ÂÔ§ Tµ¦­®ù^ó—¸UÌ¡rÉ‘qA[¬wèJ¡^蔥A9·Ð5Z¿¦é4–Bë3‹bnRÌ,â…G¶p(·:M#°Õ”±¸) ê5÷éˆéjÈl=à~5!Î]üÞ¿»ÙmÕ íå†àzKÿzIûzËbÒaqÐe9é€ÝÅÐ 4«DõjèJBËãÌ8á´yÄYrB:XuŠEÊGÊçÑ+.±â+ÎWb/Å&ÆE§$Æe7¼ºsE ²-Ý͆îýšîù†Ò×H ›¸o“ mDB¯9׎¸Wöè×sNô3NŠ3NÖgØEÂH¹ã÷sL?áH;¥ô5Š@߉qÑA×+p¹j™.Qá³ÉÛ¬³ë´Cè{„–C¨¸„¥KÔ‘¶ ´4:ÍË)ñ숎½Btg8BŽœS”qÉñú-ÇÃsö‡ØÃˆ¤c`© cíC–ìS$ÅlX‹6[Ëãª<äbzÈrÙ¡<ÕQíËÊð:!r‰%SÊF#k,"Ù¢ltJÕ v¶c¶R:Ö‚¶½"0vÖli°: HÏL’S“Xñ‰œ€Ø ˆì€B7© ÙÝ”À\±ßºâ=ë5O“×,.ñí ¾µÁ³· Jd¬o,µÏ:ìÑsçô[Sú­½ÖbA3U¹šr1=A´¼BÍêÝ…‡ŽJzl±ÂÁÉ5¾ YÄCæÓ!Í™N±´µ5ý`J_NYwœÈ3És‹kFrN¬¹DšC¤ÙÄŠKnèè­œŽ²àÐ:£´t´v…Ò8R² IDATzX¡~X¡¦9J°šëlîG”RgŘ5=¶xÔ¶Mx°<ésw#ÈMƒ–·åH=¥ëÌѬÝÞíÿºRàîÖU7»­NÉO›åƒðûP×õÃxç<ð‹ªj¿¶µÇ_{á–ÑÂ':÷‰^”+›Îá–÷^ómãG¼¼âÓÞ‡|ÖyŽ" ¶Ò¥TtJU§T5*U'~asvvÌí鄟ÿ´Ä鯴ä–ÖpË`pŠ \øÌ§‰^øA7ŸÓ5ætûsZlu\N¨v.9|´äпààè áBã)4žŠl)|Y~ˆ›|‡"1¸K&Ĩ)°ÒÀ*¦†¢ !¿~ ¥Cn謚àݺªt·%£êƒï­9š¼%È—Üå{Üçc.ó#îcªZGi”Z¢4 ºZ`vSÌqŠgnñ­ †•“˜&wÖ€•ìòñâ#.›cÖE—o?¤Ì ü,ä$?Ç,Šè³rr§ñܳ“£Œ ÙªÈB½ÖP^HDwAÿdÅû'¯øNöCŽ÷ÎÐÜ­U ‹‚w'ü¦ Úy çì p²_n']²Ç:7í?ü!EŸO]Ì2gœÞQd&[pϘsù˜KíÊR©-ÊR Z:Ýïu^ñÍîOØw¯y?ãUüŒ×Ñûœ¯OøÎò¯È—&­EÄÑò'Lé‹F+¥½·`­·Y;Vf—•ßa¡ ˜CféY<Â6_ìªþ‚cy¾[ §'8F²‹?¨ê¥F57)¤…~RQ—%µ©ÑôªX'ŸZ¤§.é©Kúd…MUÈFÁVRö¸ÃoÖUçܤ~ºø‹›÷7.â#œÃ· qßYóÁò­·/éºäýÏ_qó|Œ•ç`A2¶1µÝ®P¼ÑÝ…ŸŸé'ü°ù„&Ÿ x.?ã¹òÙ»1¿õî¢ û\‹1kѦ`g8ã¢Rá’ð.+/y¼y˳û×<»xM9ÒXVVÀzè3eÄ6áB9â– ~ò‰öC( ¿ždkF{L?e¯sÍÊos­O¸Ö÷¹Ö'Ìè#õè -—e«Í¬q—ís›îs›ìï:?¦B%ªJ¡)Uš¥Š\ªÈ…JŸ9Þ ¢;\0 îp[['ährÊ0½£,uZVHËŒ°¬˜Ô2±š„I}Ã^3¥)ÔÝ$±ÇµÇ­Øã:<àª>d¹ìRœê(VÕÉð&Ýb‰AÎZ¶‰šëºMÒ8Z‰©XNŒEFG]ÐQ—Ꚁ-ébÀê•Ïí_ ¹ùá€\mQeÛ¦ Äh‡»@yã £í¬Ø/®y–¿ä[ÉÏ8N/Pü !k½&ÎNøÍl¢Û€õ¼Çh4e4ºçç Þ·¿à*?äôî §_>áôÅŠ•‰ˆ%"nP‰w°¥ÿÉ”ž1å`rE¥è\FÍT': ¨W*mÃÁäŠù–cóŒIyË~qˤ¼c¯œ35 3wëŠ×²MaèJNÇ^ ‚z •yž—¤×*ó/,æ_Ø,¾ôÙÞ{ô(èRâ£:á'˺ÙΑ`-5¤k/0ê]-wÓj‰¦”õ–n³¡SnèTtYò›ð×yØ{àxà¿_[áÑâœc–M—ûbÄ:é’„-ê­†gôó9'õò63zœË}DS!Q)T@ÒÄ‚*S¡„¦VQê«T‘9(Y 2T¥FVH©PJ )Š¬Ñ¨Hpˆh±•>)®žÑ³7H߯BAq*ð*h5ˆVC« ±ÍÝ,f‰€¾€°F1¨T‹,v‰o=,5C1%šQa•žQ •F(ïj×]Э[I¨…‚¹í ×mL6Y@\µ¨*íÝH›†­'tµ]1£cd4D•UŸ4¶@ ®ënꮕCBËç°9gSyd jSc6 j]bÕ =uÉØ½ç°{Íl: ÛX¤›lkQ… *  -¯1»%F7Ç$E¨àl2Œyz[Ã%_xþ"ð^V •Ð( µe±m<æfŸkmBG¬™×®ŠCn‹ ³bÈJëîŒRêEiµD¥AWK £À°rd Yn±V|¦bÀ3ªè—sÚùš&l«“¯tò¹Na›ŠIñî"Baèä®AÞ1É2Ý,1«Œnµà°ºàˆ3rÝ¢ÐMæFŸ­â³Ž; Úñ†“ä3H1úF‘b’R–&E”’/#Š;›vºAØ*>—Ê!:Vša/S:×kL­`q;äîvŸö͆E–`Y9º_¡t%´š\¥ÌuŠÂ$Ë-šRA«+œ&¥ÍC+(lƒ¥ßEíÁ¹<æ¥ñŒ/ëøç ¹ÁŒSŒwæ2™´É„…*j¥FQvû.¡P+qá²Þ¶™Î‡\_ïS”:`€¦£¥5f–A.QË¥ªÑ««ÎhÕ1ž!›Ý(»lÊFÃÍÚɆA8g¼¾cØšÑ+—´åOߢʆ4u˜®GœÞ=¦^iXY¶ÛÓÏ qÄa2ç8; jTM",ˆ—û-Í7<Ñ_s¬Ñ©×tß­ ¤H5¶±Ã\\5} ˤ¶À¶"ŒVŠøê³HJSG[¨hç*šTP³EÖä.=GÓHV.«»ÊEEå¨ö†¶µÆ²3\'Â&ùÊQ×&¥EB‹W&h²F•ͯåx÷À<ðÀ|m…ߌ!?ß#T<®Cî»CÒ‰ ÐZì~»ª¹J>3H6ÑÜ¥µ¢Q+:•Ðè FÅ”½Ã;Fƒ{0 ö\âÈaúó1B‘¸YÌIû÷ãÇŒqb샧£PSK•Pz¤ØÌëj$‰·÷|qÿF?CæhZîå\ÈcÞ–Y¤=Ê­¾c´€! ¡*4"é¡\4” ƒÌwÐçôûKFƒ9“ö †šåÒh(%•n°Ò –Z;} ܆®˜£%a°}WaâSÅ*ñÂFä>E. K ‹‹“Õ”d}›¦¯Ðî/ét– Ý;ü|žçT…„ ªÚ ”’XòÌ~…Ù­Ø;˜riríìsep­ï+.ÅÚ}Å6÷yµxÊþäšÉþ“æÍ®PV –À°Ù}®Îîvw¸d߾䠼ä`q…“%UÉ•~Ä4Øc®x[<æ*? -l„Ñ wK´n‰Ö-ÐÝœuãózóéʦÊ­é“™gŠ$îšµïó³îÇ\©ÝN9W©rËÚ™œ¸fÄÀzËIuɶ Øz[5ÀæÉ FòdÍ¢ép/÷˜2b*GÌ«…n¢‰ŠçÍç<©^Óh‚ZÔBP³;·U…DU$ª ºVbª9·ê˜¥Ò¥Û,ÙŸ_1‰®Ù¿¸Æ!ã ¹¢L ¼8â#åsô4G ôMîhFE5Ñy©¾ÇÛÑ#”ƒ õ°FíVì)wTšÎÂéqמPLn‹ oµÇ\×û¤¡BMh¶˜¶ú\ˆCªF!Ÿ›x÷¦Të›_éDkjż3Bo7”‹M§Ë‚>ÓÞ›÷Çt{Kl#Ì"gpžÁz‹½ÊP×õ.ëÒüe5šB¬º¬”€¥h³–yaä[¬ü ÇÅŠY¡þ¢ŒŠ®¹fÜÖ¯õ€FU¶D Ô’­ô¹sö¸SÆÜµöª$m[Üû ã)+Ù¦¬ßåV¢„Ãü’ƒìŠÃì’~¾fc_ÕÖ¸Œ9ßs¾9æjsÄjÞ%Š=RÏ¥~OÅ0 :½5‡Ê5¬_âënÍ9=sA×Z2SûäMVÙdMÜøÔšN¡›¤šM¤¹LÍ› O6ò‘G8ŒT)0i ªJƒ·&Í[…Иw‡\w÷iw×T¾ÀµÞ}§cWûÜP«¾ñØ>C73 -c¥¶ù)ÿÚ ×ö>[ß§î©øÎ–®Ø×ìsÍhxG2£gÎéG3Cà·bO溗d…ÅÞÑ ã£Æ­úÍ ]©„¸$ªÅÅý§÷cÞÞO8½ßÇÖ¸û­ýï ¡0,ÂÚcÛø„‡4jÌý-GÅ‚÷Ú[Š…Á<á^Ü5¡¢SX:aêÓüL%yÝb³¿a}°Áß_ãlé± Ë•š…¢³P;,è!¤`­¾bô·¸{àx࿾¾ÂOöùKù]rÅbë´Ùt;$…é•Ðf'üTÔw*Å ƒä•EøÂ¥QuMCªRÓpF)Gû|tô)|JXx¼š?ãÕüÓ³=µ¡3|ÁÉè”÷†/öîi<…ÚShZ‚‡Pz(²!“‹ºG{ÜÌ÷±® ¬ó'‹°µÛ‹p”˜%=nË}æIŸrkü2zxPm5¢•Oqa²]ød8ôŸ,1׌žÌyzpТ׍zªÕ–VÒ4X‰.çÚRhnMט3lݳ »Ü«cdIæPDÉEyíÝèè[•ÝN¡†Wá|”`”Ðî,iw7 «[¼j^eÔ(*M¢©@!é‹%†S±×›òaó¯ÌgüÌú&è°PzÄ©Ëe~ÈvêszÿˆýÛ+¾™üŒoJÀéK”Í»°òÅ»Úã—¢xÝÖ’÷¬7|«ü)ß\ü„UÝå¼:áL?áÜ?fnØäë¼M’;(vƒ¶W`vc­ºž±¹ Hï.oްÂw8èÜóhï5a°îú\m ·>uªÒd‚f&h.ŽÌ Þo½ ßZò^ë-Ž•ë¹g’w PÁRRL‘!”ŠyÓáMþˆ—ùû¼Ê?à&ÙçD9ã¸9çIñ†£ì‚PsˆT‡Hqˆp±Éh) ž’ÐÒæZŸsíø«ò«-ßœýŒ:Qé&+zõ‚í_‹8ÑÏI\%­Q¢eÛ Á…~ÈÅä€7£G\ÖL¼ö½+&­köÔ;fúˆ{gÂyðˆóâóxÀ¦ØYbaÈœ°å1«\ˆCd#iÍb¼—1ã/§8 ºR¡½+© ."ôƒ†òÐbÓtY2à¾?¢Û[4kºé/Žð¢oEA´ÅŽ3ÔèÝ ¼ˆÝÿH­©$ªÃBérˈ¥lA²%ˆ®ñ’ˆª¥R½ë•¡ Mé«H]Az ìšg!µä^Ùã û}¾l½O©¨luÄ4¹7‡ä†Î•Ü'­Z$…K’»)|kûSD¨ÐWØQÁ¬k2ë ¸Ð¹ð¹)'ÜÍ'Ü^N¸»“d- ¡Szµ¯aZ]Å¡¸æÃõ zÍœž¿ ,w‘Ú˜i±Ç´±-:,Ë…e’J›X¸l4ŸÕfÝn“Žä± ¾`_ÀDÒÄPk4 Õ…Ahµ™=põ|k/¡ê ÊŒ˜cН Ù—7øjıqÁÖnskޏÑGÜ*»¼É©>bfï±ñšžJ 7<¶ßò±ýs¾åü”‘w¤Xf‚¥Ô–ÊÐqøø‚õ£€BÕ ¼ ·ÆompeL.,2Íb«¹dµÍE´Ç›Ó1/>áå§ûôžFìs«¦ø£-¡&˜7}uëjËHx<‰9òçø‡ø/ý¹•Ç?ðÀü&ðµ~ˢ˧«o KDE:*Ú°Âõc4½¢Ö’Üf“l¯|—-⟸$?qºº Æ®Ìo–ô÷ç<ž¼á[ßý³õÕO»¼:{ŸÅ‹ª¨ª 3^ðhô’£ýsbZÄ¢ET¸Ô¥Š¢Ô4ŠB®˜D²Å¶Ð©z£S/t' Bœvˆ³ )sƒ$öHS =ËAJKÝ™Îi)Tk P¿ÐÈÒYièzM+Hè´7¨zbÔ¨ú.rÀ¢@**±ÖbÎKMñ•-Ž4[”º!‰]Ö²ƒZÔ4[ƒâN§<³QÞ(0·hð®¬nɸ}Mp¸f îÙ÷¯5·xrƒÖ†V7(5¨•D­%žẠ{Í=¡`Y¡ÙâÆc)ëUÀzÛ&ÜzÜnǬ7m\3¡g/ÙwnÑòštåPƲ(Ô(–Dt”±Dœ4tX1inxR½åãÕç¼Us£°2»¼p>`Võ©sõ])¨v…>(ч»ÀfU©‰æ-²Ô&›:(3Éçö^DÇYr4<ãÔzÂÒîrc9sSOUˆØu ïA³Ž:WX’½rÊ =Ýu\‰h7”¶F¤¹„šK¤¹ÌdËxŸ×Ñ>‹ŸsÒ’!O›×Wç|¯þ VNÀÚX)«&À• ¾ ”—êû\èGÜèþJÿnc$ýÙœ'³7 Š¿¥åÇŒ‚{¤"PšµlP³š2ÓH=‹ÓÖ1WÞ>Õú6ߨ Zõ–£ú‚a2%Î<òÚäNó…ñœMì:n5ØyŠ­&Թʺ¸¬hjÁþêç*Ç}™2xµ@Qm‡Q›*n‘bÉC«Ð솲m³v7اž ô³ŠÎbCûjKg»Á+c¬2C+ëw{‰(%TÐT EiÛ<`›´Óˆv´á(¼æ ¾!&©j’š&©41ô«•cÙ9V£ "ˆDgâiÃÖö¸²ÇĺM%4BÑ¢*J- Ÿ( ã©t7kö6S6› Ò­ÃV´™ÛnÚcÎÔ#fõe<`3H/] Õ¤ê©4ºÃ,š {Í='› Æù .ïºo~Œ¥dÈFe[´©ƒMÖ¥, 2Ë".\œÒ#kl2Ç¡XèJ["Ç‚fr"‘·‚úL¡žið… 2<~ç(FQ«8®4Œº S­1‹M®´Úº£ðLç9+3 Ö\.8b­t µ6©aÓX[Kè·gœoù¨ý3FÖšZ£i5ZVS+*ݶEÒ¶‰Û…££7%ZS¡5¢–¤ŠB¦š„ŠÇF÷¹Ëú\Ý9±Ç›¿˜eKì ¢w!ª†F*$üêsUÐVÖ—í‚Gb†)21d)&\+Ú*§Î ’×Õ+ù¹ºûž|œÃ·ŽPš«Nñê ÝzN(}î2eÄ=#rL6ÕŸƒñk<ðýÿœÿþ¿ý¯ø~÷ðÇÿøç?ø÷ÿ=þÑÿc~ø£Ÿð¿ý¯ÿð¯ýüÿ¢ÐûóýïŸ?ýÓ?åóÏ?GJÉïþîïòGôGüÞïýÞßÈãxà~øÚ ¿æ\Pü# Ó(h»+‚Ö–vkKÇÞÐ[ÍØL]~¼ú˜WË^^?ãåôs†0ÐÁVÀyW¶ ?6YÛÜxÞªOX6]¦ù0ò¨ÖEªq¥ °ã§$79ýî¹pÉpI ÙpÈr † ½Î€2ÙO+4Ô4IMýEÍö…À0s|+e`ßbõ²Úa“¶Y'm6ÉN˜œ{F“{FÚ=ÃzÊð½{Äãš³ýC¢žEG¬é°+_†è²Ä– >zÌ©J<·™å³lÌf°¸þ?ì½ÛµizÞõ{Þýví·µÿêÛõ÷u»§==ŽMbƒdDÉòY–%Œ·Ènlª…N«ZQU*OÄ#.½JK¡ÔZ¬y«|Àl°î·ØTMÖn‹¥ÒfîuYx^Mf¨a‰UˆD¢5–›ÒÌ7ä•N!5–y/ŽÐ×l ¬5²Ê‚zûµš×XEŠÛŠQÜšÌ4Igû\;T™ž€Cl’oö›L¬1E¨“O,ôº¦Y‡ärJUiÌŠ7zŸY»ÏßcÙh²ô›¸FÈñ ÓtÌd½C}­ú¬k—öÍ~ÈÆÉÙo_0ì-ô— ûKt¿"³MBÃc¥úx$•CRn•U&ºž£iºV *%ÒÒ¡é GM8êLfM ÍhV}¢ÒcRXË&¥Ôˆ#‡‹Å.æ"%Zؘ2㢿ÇM¿‹Ò¯ii+RÕ&6`‘K“²THSz”+«å˜j!ÙÌ-®m’ÊbM‹5MV´(ÑI®LøÿÞî¿0X–Åý_ý—ü;¿ð‹<~ü€_û›ßæïþÿÓ4?ßwçþ#^>}ò'úÜ¿ù›¿É¯ýÚ¯1øõ_ÿu¾õ­o}_#÷ƒî¿å–[nùaà lüŠÿEÃnÅtîÞptÿ„£Î ½æ‚ÍÔgsásþɘõ‹7yŸyÑg.{Èž â3Azh±ì·¹òÇ4´cÖuskü¢­ñKç*Ñ€ä2ãâcÇÞPâl%*Ç¢~¤!i£¦Ó_`4·épF³ÀØ-ØœlÎ,Ög&›3“V?¦wÉèxÅhoILƒó›}ÎÓ’ÔÁ,röÜsï|ÄãÞGŒô á¾C´oójç€ç½#‹Só3Ô¢¢QnŸ#šlûU–y‡MØb4Y-â+øÌ%>u(Ï44%Ç&4ö64K,/FE¢ Q׈8ìpØ9á°ùŠ]y±o-¶3ÄÖ4ÑD‰^—è²BÓJ6jƒ…Ñfén×E{—YÖ%ÍtŒ4ÁÖ/^roþ‚»‹¸«˜éfÀt9àùÉ]nª.›]`Ï'ÝÑñvV4Ý MgMÓÝJÎT–u“EØáýèK´”%}mÊŽΛýï°6›¼ªx%·Zd]ŠH§Œt’ ¥¬ñŒ`kü kMÛ_à4"„'·#Â5£ëÖ‹ ûy¾ ’P>“ Øš5ô$ã1kÛ§Ëœž\`TU®* ¦êmŸ¹ÚAÓ+úbÆX¿B·JL'Ãlg™ËÓ옆àë =ÄOÎ’¦ùgÅ}žWw™Ôcæ²Ë =RaQ9*©oø ¿EeNª#N«CNÊ;ª¿M—mŸ°ß>¥×¼&Ö,­¢¡m>7~ݳ9­“5“c}…¦ìD…SøÆö¨íhÀÊmñJrp²*›8Y‚í§ØwRüÝ€‘¿íÝù œkêX0Œ®èÇ3Þš¾ËÒefu™6»\Ô»ˆ yÀ0šmÈ«Å-Qw ôl"tY \”ˆ™DKüuˆº®ð—!yÛÀ±3Æ6·süµF¢®PË¡Hj„RS!Š ÖTªZ¥– Ii—6qé•bà™»Ö%¯)OØ­. R7*œ)”×S{ÀÔðÄzÄÔ°k±§±Ë»å…©õ\"g;Gô‚]^ǼÔÉt-ÉQ«nŸ*+ìFB#_#«šJ ®óÜ(ÂXȹ  5²Ðú|mt7¸½ˆFC£·&¬}–y‘wÈ7U¦o½](Tƒu»Eaël¢éÄ¡EÀ˜)¹´¨…ÆLð©qŸOÜ<×qì× qÍרYF½Ñˆ¦>³ÓšuâñB³Ñ ^ª6Çã?<á‘}‚¿ãùÙçÆo©´¹‘]®ëÓbÄu>bS6ÖL(×ôÕ)Ò2-†M8ìÌZMR³Ï¼)J“ ö k8r8?Ý!zjsþt£ÊÈ䯙§¦é­¶sPI) RR“2ÔÉVÕ l^Z\½há½Ségi´)*ñäÖøýis||‡oþGÿÿÞ_ù:õÿ!ÇwŽþD®Ýív ‚€;wîðK¿ôKüê¯þ*ªºûðá‡ò•¯|åó½o¿ý6~øá÷½Öºÿ–[n¹å‡/®ñ;UÈ/4”ŠNvÃqç?úø]íï–_âìrÌ»ï¾Á“ï3bJŸçõgá!gòˆÓðGæGüKêïð¦wÎOôÿ¡çòžøª’ ‹lcùäs‹ôÒAdÛÈy¯Ñß¿¦7˜a‹[$jòÚ`ÎØ¿¾`ÿÅ%ûpâÔК@¦v‹Æ˜óîç£,#¥JÌ$§•n¨*Põ™jNä Ñâ@?e¬_²/ÏèsÂ6KÙaA›3vØK/1²+›3Lf\¦û̲!ï—_âwê?ÇBvR H!¨\…tÏ$8pYì·=›'áC>ŒÞäÂ7™=yòØo‘y*µ[a#D…φ1WÛŠßù‚öGkü÷#ºë;É52ÈDlûÅt¶ý• xå¡?ÉE°ÇU°Ë³ò–àƒHl7ánûSîµ>ånÛ'óUF/gŒN®½š1ºžòñ˜w›orõ¸»(•d˜ÝÅ.õFExr[ñçh2¨@Ks”‹ 1“h“ â¯BäR@DGBD[‚ªR!¨P%èÔ¤¢l ŸTB¥%Û5ÎMâÈ&N]¢Ø£”^³§\òXÿˆ×êÑ£ã¦B?¯(ÎM~§÷ç¸êŽyb?ây–?ký¾ððVù>ŠY‘9™ºÕSyKÆdRçºî¡-ómÅb‰RÖXIJ3—èõöøw;_âFú:‡(§:åT'ŸI˜‚ûzŒåft[7Œ]°ŠÛˆ™$»¶X¯ÛP‰­ñë&ŠÎ¦j²©šˆP;âšcñŠL˜TšÊM«Ï§îþæóÝæ—x |ÊåSÊ„âS” ¢uƒÙõõ´f³vª1¯*QypÜ¡p4ü˜;ÆÇ/Èt“ÐpY)-&rijêÏÊ<Ï0-†¼Æ‡¼¦~„¦•ô˜Ág?F ºÄ#AÖ,˜%j] K¶¯© ¥ ˆt¢S›‹ïîÀïJŒ<£™lh:Íà ­æê3Ó§)MÊR¥LuD¨ÂZesj!ÞoÁ»#Ä» ¤ò³À¶ÕR‰À4ÌÚíè–?aþÒ_ü ü7ÿ퇦iüÛÿÖ¿ùÿxüSíûÃcžUUñá‡òõ¯étÊoüÆo†!žç}¾ß÷}‚àûïøA÷ßrË-·ü0ð…5~ÈÊY%ÔuN-+*¥¢Qj¥©S:&µ¯Ó®h×tÆÛ•ÈȆ_`u"Ünˆã†”Šº4-U*$R– ôÏ‚`\P°J”†Žhhˆ¦†Ö—¸o$tî¬5g Ø%X¤˜"Ã$%ïÔÄÇ:aâZêØ$z­ÃÕ F1,âªÁ¥¶ÃÊh‘[ŠL}žúwq!ÃÆ˜e£‰ð*vsÚbNG]›§ì¨ú.çb‡ób—óh—¼´pµˆ{ÞSŽÄ+‚¼Á2m³ÊÚ¬Š6•¦‘$ëmÈåP§ÛÓh¯èvæôüCyM“5š,)¥ŽHÁÈ Dcf%ŠY¡˜ªµ]ÓbM‰†@¢dõ¶?)n‘%ó´Ï«â%iÓÆ­"nâ.~¾áKõ{ì”û‚ª+(]Ô Å ƒA HCPY ¥«±’m^-îàTÙÂ$õL^xǼr™{ÊR§¥¯5¯±ê / é8s:éœÎÅœæ|…QæeŽYåEFg¾Ä¯”’Ä4Ðd‰&jT¥B5*!3úœ‰}êRe¶rº¸Cw¾D•a×!ï˜ôÕ)=1e´ºf¸º¦·^Њ֨ŽÄr \'¦moè°À'D%©m`Ú ;ö9oZïa˜9FŸ\zmª®FÜvX¹-®Í¾`Õ)‡ù Nœg]mFÇšSÔ× ‘¥À+bÜ"a¯¼bœL)S|/DÖÛ¤ËXn´&@pÙš? ~°/ÎxS{Õª¸+ŸoƒT<ÂSQ½Š¡wÅл¢amš$ömfýim17:ÜØ´¢`ÿüc‘Óü$ h»|úø.ï‘htús^·?¤ÊU,7åº1äw»†ò.Ö ÁÄØƒ½›“ØÎçJ±h§ Úé‚ÖrA›…c¸6±c»6( Š •UTEbê)¾µ¢Ï”TZHK²0Z¼PŽI  ™¨(+“+cŒbÕÜwŸâe!÷ì§ŒëKTQr£u1« ‘Ö(E[$8UŠQU(5Ô•NëT‘F­)Ð…“™?àJ2I‡\;<«ïseIº¦žàûün€¿ÐX¨;Z·¤W«]âÒ!ÇÀôRºb†&K|5ÄS#|5¤Ì5Q‡ÅªÃbÝ!Il.•>T_ž©÷yb>àcó!×Ö€Ô²¨» Z·ÀíÆ´»+|±ÁVt­@èiêH途€F嬨5Ÿº¶‰‚×V-|- Qmp1ú´€Í Á´?ÄDHSrš¸ÙXDÓ y6CJÚQ‘¾JÝ2pý_ÛÐÐ6øú³™¢T(q…bÔPBñ†N¹¯Sz:™nÒôÎÑó¥[³ètY(]g]Qc•a¨1ÆqˆÑŽ(—ùÂ"_šäK™« ¿¸·Ì/ÿóßûûH))Š‚ðÿWþÒ_ü b×VU•7ß|“ßú­ßâÑ£GŸ?ÏóÃF£@ø¾ÿ}¯óƒî¿å–[nùaà |+ILMA‰¤@#¥nPÙÒ×Q; ý÷î>ãîñsî?C:i j[ mAêš$ŽEâZ$ªM†N‰²5~” TÛ ÓÓ@4k”Pö%ê˜ûþ8¦7Z²Ó¾b—Kt 4 tJ4 ²ŽFtß!ôG%ªoŽºœ=VÚ˜´r™«=F›ÜÑÁLZCôÎC¢¶Å°1ùl`tÀ¡vŠ%2Í$Çâ•zÀ'Æ&rÄT¹.†LòzÁ@Ÿ2ð¯¸Snèó¢¼ËËú˜D8$¡½­²O§÷É/ 6ËíNµªp£õð• ×UŸëºÇ¬îS q_b<ÈqD4;+<%ÄÖt½SB©‚b}ÖÐl‚×ÃڄTE‰j 2\5"7U¢ÂÆ[„X¯2ÔgõµBtÏcz¯VMÔµ™¦³µMtQŸL@:ÔŽƒh¸ˆŽEÎÈ™²§œ²¯žÒl­1Žst7ÇØËIk“ËñW£.ý2Ý¢?œ³[^²ë_Ð9Zðls—§ë{<=½Çò£•àw"¼‡üΚäÜ!|¦<·(›ºÒ@¨ÿÜîxÿ¢ðìÙsþöþ_ð?ýÝÿ)%?÷óÿ.?òÆëßù}EQ¨ëïÍe|ýõ×ùýßÿ}~ú§€wÞy‡×_ýûþþºÿ–[n¹å‡/°ñ+ØÆ,&Ÿ?ÈQÉ…I¡T¶Níé(m…Þ÷>åÇ^ÿ]~üõŒÔ•&¨5…ZS˜¨#Δ=ÎÕ}Δ=2 Šÿ»ñÓU° pTD”{9êÚ˜÷*FL×X°c\qÄ+õg½r5‚š¤cx 6G)›¼"VÍc¥é”šNžYdªMfÚövÈùU{Dس9ï6&<ñX|Ä8a— ^¨Ç¼T91öyÉæiEÖcQôX¤=rl¼àù ?j~‡ m«NIp¸T÷.|â ôÂA¹¬¯ðµƒÑwy ° Á2LÌ4Ç\åXÓsšSJ©P eCÁ4J\bÚ,ÉS‹ëÅõ\’žº,E‹ÍNƒ3k«‘0Ô'¼%Þç-ã}Þrßg7¾ätÓÞgö.ŒÐ(?×Öø ÐAÚÛclë´E²p8¿ÙGŸçȦ <Ò(“­ýõ&´í÷½Où²ýwòا9æMŽuša^ˆˆ$"’BöP'}Í Ý7:”×*òL œ×¡Ø?LpÊÓ|@µ2(¯tªç½ú†7•wù’0êO8V^`O3¬O2ìwsÌç9ÞQL}  Å6©²­QÜV‰mˉٷO8²OP,ÉÇæ#ìfBÜs8ïí‘´Lbï3ã§Ñ«œƒâ‚ý䂃ð/Ž8±÷9ÉöyUí3•}Ü"Á‹bö7ÜYŸ %ªZ¡6*µÞ¾¤¢Ï²­öý¡ñ«Á)cÄ)#}Âcõ#RÃ$hºí­"ßÞVÝ…öù¸>åv<‚ÊgïÙ%‡ó3ÏÎ8øôœÅ ÅɃ}N÷ö9y°‡Ò¬éjsºÚ ]mN”{|ì<æ¤yÌÇýǬ¼{»gìí°·wJ»·à<=à<9ä,9à:óÉ?¦^¨´kî/ž‘MÖ4¹¶G\tǘ"¥Í‚E‘ØzBS[24rj7¢Ã\´¨¤Æ¦h³I[l¢åÚàm÷¾ì}‡Gñ¾œ}‡ué³®·ƒè¯µÍj¡À™fX×V\ • •ªÔ)ÍŠª£S·Td[9&׌ø„Günú|”?K"í­L3¦/¯¹[Ê#ù1ä>ñQøWÁç7‡èNN³±¤é-i6—rʃü)³g<Ìž~O ®^Œ™Mú\j;Ìô>ŸhQEEªä‘Bª×ðョѺ»ÆWB,5E3 „)¡Ö@SA3A“à·@÷@Z([ã§æ¸FD]K’ÒÆ›‡X/S´÷Jê…°ðÀ,nh¦%áª$ºN‘'!R4¡!¡c"¶–3T¦<4Ÿò†ö>ÃÖÛI°wì"f-[¼g|‰Úи2Çd¢1 ¸ï?çˇïr¼~Áï¾÷Ä»‹SŸgïíc~9Á†t_[Óy{IðibÛ”‰B|nAb°mð½åO‹4MùËÿþ×ùOþú·8Øßà¯ëüå¿òuþÁßû?xùã„»üüÏÿ<ßøÆ7xíµ×8==åW~åWøÙŸýÙÏÿÅ_üE¾ùÍoòÛ¿ýÛH)ùÆ7¾Á/ÿò/ÿ‘k!>?2úϲÿ–[n¹å‡/®ñÓT°, §b­÷˜ã Ë2ba÷CèÞŸ£¸5ý{3Ì;)ÅXcÞmS~ö¦¦ŠH!p\ ,?dØ¸ÞÆÿ3ô{f˜²žµÈT—LõHUµ­^@»½ íÏi; ºê -¤Tufô‘…B]ŠÏV…ëjÈM=fSuI+Ÿ4sÈ2<5ÈR27¨rƒ*ש„‚bÕÔ– ²TJK#ÕMÖe‹ë|ŒS$ąǫ숗Ù^e‡œdGiós…©OÖ¶({tAuKÖ†±sÁ¯ Á,ÛjL¬Ù(zM¢ÛÜ}NNŽ Û‰qœÇ0õŒ¨rYU]ò¤È-Ì2Á¬bL™`’E.ë Å:h²[œÌîp=³¾n“N,JGGmh•F©«HW`ø9^ÒÉŒÌ µ.i>ÏqʘÌ2ÈLƒÌ4É,Í(iyKª\Å‘1‘ð‰¥CT¸,³6†Zàgýå ¾°Ÿžò¸ý÷[Ï9ÐϪ3*S£ò¶³ ×ÀHd,™ d¬§“utyHlP‰½Î¨]•Ü0ˆ› öÈ+³Êñª«ÊöÖçŒ&×ôõ9k…~S¡g%º^¡5+°ªmXL 2‚Üi•.KÙ`¥6PlÐZú°B«+ÂÚÁ²öŠsÒ…E˜ºnŠêIænEÔ´¢JN0”–¶$Tl’Ä$›éè›’ÁbJ{>Ç]¬0ªBEº¹.›¨Aùl¼†–ã›~ÐØl™ 0|Ógc5ˆ›ÌÑÈ-ÌÔÉ “ƒ ƒ“L5¨U•›·â··a$­Õ’²/ðº-ìnŒÙÊ(]´¶XUmŠÌd“5¹¬ö¸c&ƈ•l!ìŠÚ‘”ŽÂÒm2UFLEµÒ 6Óu—Å^¢ÌkBÇaÙi²È[,d’X:¬h3aDŽÁBt¨„‚/6Ô¥ Š]¢Ä#J\²•…X tQÒëÜ`•4zê®Â²Ùæ¥}‡RQ( "»HP£š¬0YjmRÏæ²³H:D+—b­#u…i6äyy_ °eÂ'úCε]Vz‹Ü0P­Õ.ÑìËŒiºÅ‚Q1a¿8'+lŠÒ¢®õm?cѬV4«%ÍrI‡%2 ¨t&õˆDu.ôº3í~HC]¤ ‚Ô'ˆÄ™uÍÖå×h^Ah4™dc^,îcŸæœD¦‹¹“2~ó’²Ð0Ô|+-gl_á¸1ëÐç£8_ŽHúÉÐ")-u—óÍ>‹ CØ€ˆ·ÇÂÕj{üÖw#œaDïNDµÉwºäÙ "ó +¥ÖBÅeZ@•Û¿S+ F¡BÅ!f(§<à9›zÆ®v…ãÅäŽÁÂéÏuÌeF7˜s˜œà§¸ Æn‰jÔ7 ½iF 4:³¸½åOƒoþµ¿Á¿òS?ÉŸÿ×þÕÏöoüëžßû½ßç›ßúüí¿õŸþ±¯ý3?ó3üÂ/ü}ôÃáŸû¹Ÿã×ý{s¿öµ¯ñâÅ‹ÏÓD¿öµ¯ý¿¹tÿ-·ÜrË_\ãgšÐi‘7l榆"š„Ù˜F‚+û5{îûwOh –ä“Î!+µAºRINT’äDÅäxGþQ‘µ¢ïÏèÍéª zƒ7‹>‹¸Ï2é³LtC2ö¯9Vžq7yÎhyElY$–ÅÒjs©Œ)sƒ"2(""6ØdMÖYƒuÞd“5É6åJP­ÄvÕ þ¬÷(F¥gxjH[,ñê(uyßå:£‡%óE—›Eù²Ë|Ñ%ÍmÒÜ&Ï È¡8Ô‰Ž]–¢Íu{€ÐSçúgÜtzL¼!“ý!“b@!uBÕåeqÌú“ÏÏîq0>eotÊÁø¿pà ±Ç¥ºÏ¥¾ÇH½d¤\2Œ¸äfÕãìä€óÓÎN¹\ï0IÇ\§#òÄDë”8Y‚_­hˆCmBËXâZºS –5~2ZL±Ö}ÅM§ËM§Ã¼Óae:˜FÆ 1¡¯ÎŽÊÌé3qÇ\ù;Í1~p¤¾âNø’£äûË3v†ç줗tå Õ•†Ëª×bi·Æ>u®|O¥‚ ê!ÈH}mŽpV³@öBjOP; ¥¦QÔF±«\²o\²ç^²]²]°syA/X`jTog.Hò½j𔂍t™Ö}.ä˜ Æ¶ŽìªÔªJí«È`o}Æ^pN xÌü7~—Y£Gj;´´ =uκ{IC¬1³”A4ÃZ¤ì&W4fKÓú4"ž>mÚDVe‹WÎ/Ý;¼JŽðŠ£úw²—èIAm*œ5÷y¥ñÒ¼ÃÂm¡[ºž¡+*å?QŸÕ¨P1É0Éð 0Éø3Z;KL-¦îHT¿À„t:sr]cY·‰rŸy> Ê=A—ëdÌu1"–•P‰„Ë‚RHÖÂ'Ö]r©aª í†|©q¦ì‘–¯¢C”¸‚¼FV5ÈšZ æ²»5 RÝFw‰"jl’íëgn²ž³ÙÒbœOƇ×ô÷n¨\•ÒÕxâ>â÷ Ú5ƒüšÁòšQ0¥D#Áfâ7·óÍcÎÓVY‹âZ'“gé>2ÌÓ.f7eÚì3mõÁ¯hys„Q#ô¡Õ˜¤¸iŒ¿‰h­ àPžcÉ’A=çñ U-±«;ޱ똠lpRÝáƒêMJEGé”4Õ%?Öÿ=^¿qxuqÄÉů.îG´4´ê–ƼÛç¹ùdásñÑYaXÖݔ㽧Ø$4ņ†XÓP6hqA½‚éªÍäÕQšÅ¡I˜¥IdúL¢1“|L€Ð%†–ã~ö¿®#n0zkÌ {¹¿fÓ\³ê'¬ú«~a—lt—êæe›–\ÑQ´Õ%e)2êJc\_Ó­VTRC¡F ÁKõö!‹¹4é¶—¼qü„roÛX tÕ'D#‘E½¢®"¨ÛÆ×[ã÷§Åö·þæ?õçí¯þÇäû?N¸ËW¿úU¾úÕ¯~ßÇ…|ûÛßæÛßþö÷ÝóOÎügÙË-·ÜòÃÆØøÐn’7jæfƒ1—YŽŸEŒÜ Æî%ã½KzbFlÙĖÉy@¬½F°ÒŸk宅ïhÞ½äµð„޵âh÷Õ6æhN·¿ ûÚœ«UÀŬDNu¢›j.ù+Ÿð•ôÿä`uÂ3ï.Ï8æJóB?"ÍÒÀ!]:¤+‡<Ò)b}kcjZ#'õ¤B^U[Ãw òx[yRÍ SÛ¿–XâȈ(k0ÝŒ‰V>ÑÂ#;3·:7ÉÏMªRý\²+ƒH¸¬Z-¦‡:bEWs ã óv‡O½{|êÝCóîqO]V§-ž>ˆ—„¼õÚwPÊŠ{Þ*XÓä™rŸ÷Ôå}ý-^Ó>â‘ú•>+æë/_Þå£wßàÃïþó¸KjÚ$†Mfš˜fŠÅ´ª=1e¨]Ó6–8VŒæ”¨y…Ÿ„˜ëŒN¼$),^îRV*+³Eܶi˜Mõ³í5çÞŸxÈóVor¸:áË«ïðåõw80O±³[&8FL®èĆËÄr6Üc¢ ©j•ªR)k•ZªhVnÛUH]Ųsš:ßö†VŽJ©i䕎]§ì*¼i¼Ï:ïsŸaÇ v¸}nª—ˆ†Dt‡íˆˆÏŠ+U.³ªÏ‰<âSy—ÈòHU‹Ä³I‡£Ë)w_¾àÞú%Ç/_>ï5¿DÜpY5»~oƸ{Ŧ듙æUеHLfˆ+ WùçJ® z ¦º5}ZV²Åóä.ï¤oóNò6ÝpÎÛÁ;蛂Q0¡45δ=Þõßâ÷·™8CZæ‚–¾ ¥,ðØV\þP}fx„t™ÓgFÃßÐP7Xíy QÇéÚs„^SWó|ÀYrÈ‹ä.³p@𨤅MR[ÔB!RtI01EU«P•ÃH°Íhz$ö8)©#f²¤•Ïi—sÚrNÊöèçºn±–M rúbÆ@Ù&ÇšyÎzѦ<ÕÙ¼h‘/Lîu_r·÷Š·ÆßånûO”G[©øDyÈ›Ù{¼•¿K?¼aœMYzMÖÍ&“æ€Ëæ˜SqÈÅd‡eÚÜ¿Ôâ4=à&íñ4½‘gQƒW#ÌŠVsT@*€"ÐeŽ“Æx«ÒœØVNßšsÏ~Aj[E¢V%jR¡¦%çìñüNäðRÀkÝ'<ì=á¡ò1Æ*ã;ï¿H%Ë‹“x C#î€Äg˜Í”î%;ñ„…ÓfávY8Õ#”5©Ì)d„¬s¨j¨¶¯·ÜrË-·ÜòÅã küŒf‰{?A6õH!oÚ¤†KŠ£tÄ©T¥$Õ,æÊvþÙ¬î„áT#|¥²P0ó”ž6¥çÏèåS<6l3M2,jº,RR×*YeCËQÍÛ·½ÅuRmW§ŽÑëjI!uTµÄ5"†ö5wíg8zÌÌrªa•)dl+Œm‰8ˆ‡5ÙÄ"Ø,æ r"¸søœ¦»¢m®¸;xÆ®yÉPNÊkFrÂY²Ë©·K¨9¼ªŽ8ÉŽ Õ Ñ!ÑQl¡eœÆhe¥´Ú =FÍ*ʹŽÔ „m¢z&ºf¡—Z¡¡%‘”•NPûlêAíã©XSæøJ€P$®ŒÔ7•'ØUÆJ6)¤Á¤ñ±ò€v½¤#´µ%Ž™‚¢RVIêT Ò2£²J”n‰uQ·J”UñÏó¶wË-·ÜrË-ÿŸøÂ¿æhÅŸú˜ÊQÈû&Yß$ïHSP¯æ«.ÅZã*Ü!èxmŸ í³éø¤™JZ(䵊”*%-RÚ„´YÒA¥&À'Â%Å¢Ðu¤j]bš)äš:7f›WÖ©¡ñŠ®ªAŸpݤ¸1Éo ª y#¶G¶ìѨÁª1Æ)æAŒ¹ÙªÎ4ÒÊ#MéêS•ȶQì&…]¡)AäÄ y”BºilûNz¢+èZsÆÖ%cë’ë‚ZS(Tè¥Ç“³Ç,¼QË#o™ÈŽ ó Ï£ptT­Â9ºR ªB“TšJ ù\kC^ªw¨Á)ûÌëqé@jQ£U%¦Ì°Hð›:Çs†Ê{½HmeEGYÑVW4k¼Î_Ùà‡\Ü:FUKV ŸÈ±‰.QÇ%J\âÜÙ~ÀÞ„>cͶ©ž*HUe®tYÊaå‘&u¦©.çìÆë¤û:íjE)5ªJ£ºÔa&±Ú)f;aÔž±ï]|ï˜g¡P*óFg+»FøLñ\>À—!ÓzÀ«ê‹â€$û¿Ø{“Y²<;ï»6ÏæS¸‡‡Çô¦œº*»»ºÕ$!©A´Ðª7EÒNÕDw±‹U]™Yùò½£‡Ïî6ÏfZxT)r¡`*…ø€ƒûvnîñàfÇ÷žã sëŒïÆ_ÐÙ‚Å`Ìx½a¼>NÔ²b®Ÿ+7äsÖÊÉñá×.ÐDFA[K4¹Äi¼d|»¦t4 O§ô5JOc$¶\º÷œN–èU™àR½£Ñd|5 Ð4.º;.ò;&‡5FY’bsð-RÙ&(A†¤¨A†fçC‹!Áŀв§,ª1¢®™Uwœ•sF‹V!V5B{1ªVœk·¨Ïg }uOO:à7œ ÁÙ'8»'Hð^ÿ({<'ÞÖ  –"áò$¦Ü‰KîÄ%iáÀ®æ·\=Ü!"ñû*5ÐéÐÈÐJâ¸û®k±ò옢™f˜YN›äÂ$÷Lòs‹xhšQë0/Išã¹ÖT1éÔc¿_. Bá±#‚@ñÈt“Ú–é*Aå¨d¶Ah9„†Y&¼Ê?¢†á†–¢iwþ9km€ª•¨j…]¦|¾û¯LPz-Õ;•Èw©·u µVÑÃ’eÃãoœék6úµ>b£ —Ö”ˆúKùǾ¢ÒÕ?œ}- …­+ÑÚ½+ˆK;ù,ÿýü€^¼ª?r]Üâ%1íAB8† šîöcU(~<ª©÷*M¡ÐlêO*f—3ÐÌÌ9ï¬OœX+||£‰¹HŽ„¸P¡ÒŽšÉ0‘Á(ZÅàdËÈX3šlðó•«R*ñÞcÿí•c[ ¶}T{샇 ÏþÐ'Á"×L ͤUUT«¦ç†œusÞ)ï¹Vowݽ+h[AUè¤CÐõÙÖcòµM¸î³^'Ø›˜°çö}¾GÜ÷èòiÐaý¬E:© ¨IþõK¸Ë /¼ð ?]~ÒÆï³¿þŽJQHL›ÄrˆM›¼5hžd¶CÖŸÆ´ ™òB¥¼T)k…ÊP©s‰¦’¨ ž_ïÙøõQhñHŸ_­¨tÈzæg´D®¨lä·ò.7ÙótÊ6'>ÍF¦}`Ô!¼1ª‘Æ š”cW NáÔõ“FøAÀ*Õu “È&¥Ò)2’((k‰²’¨ªDc &&Œ%ÄXfàoyã¿çOüàOz¿a~?ããÍ+>~zͧO¯YOÆ”_jð¨ý’n±jS© ²Ü Q Hõ±üZiiT•XqYÉcnäk2¡sß]°ù½ñ+Aª[”ºFkKÌ.Ãí… ^o˜ŒžÞyXyÎEùÈEùÀEùHOÐŒU*Ñ¢ªŽÜÐÉMÀôHT‹m=d[ÙÕÂÆc&?q&Ï™)OÌò9;µÇNí³¥ÏNê³û??Éâ¡?£pTÖ zQP-tÊ…N¹0°‹”ÏN¾çÝè{®²{.¼»c¨K&èRASÈ|?yK5ÑXÈVî˜ñ\æ,HZ› ö+´pA‘˜Û3:GpÀã)šðNÿ@ƒŒ“ǘ‰àIŸòíçüZùšä·XFŒ¥ÇØzŒ­Eœ-LWOœ-œ-Ÿ`Í©D[Ë4ªŒ)å¸N„;‰Ðµ%o¸lïèµ^wi·‹pò7‘ʆƒ¢±ó‡,†cvR· ðŠnà+wÆ{ÍsÅ{MŠh;D[3kï™… ¥V"–5’Úa‡ ë%çê-†™àH1¶cK ^rl=l9¹Û2\ìP.+Ô‹E)Qz%Bê@+±!S~à-ßò%jQs½»ãêþ†ëïïéÅÁñ,¤{T«Hä²J!©B¥î$ì<Ã3ìC†dÔ™B#jO¡QÞ{ïøÎüœo»/xŒ/IZ“Ö8žßlUh%‰ƒï˜+Iª4~–‚¨¥­’Ú¡m™6VóªøÈùá‘j©ñ8œò0:ãÎ?çq8eÚ,x•ßðª¸áUtC¯ ©z*‘ï°z7"[jßšˆ¤£]Ëheɉ±á­ó‘_ôþžsûΟÚk;Jõ85Œd›¥}‚4¨Ie‹XqHd‡X±Ñ(±»›«K0Ò›ˆÏË=?«‹]¦xE€/<<¤ÿÀøÑvÈJf–¨~Ž:*)o ªB§Ûø¨w˜{föoÝôí=ºT I%º\#— Ù2Ò…‚p4h5ðxXU«œl¹>ýÄkéc–ÿ}]­×ÐëBfÊïÌx¥|ÂéRì6Ãè ²Æ¢¬4ÒÒ&¨úlÒ Á‡ õC‰ú¡BýPQžëå¹Fy®£2æ Á<©°þ´@Õ¯¥ï¦÷ÂÿedY¦m›û2^xá…þ³4M,ÿ8?$þdŸ5L˜ýÙúó©«é"ˆrŸpÓ#ºírmƒÐÓ61iéjA×Htݱp¡j|’bÈ.=aNÑ´’L1(ƒNHrƒ¬×(ê±Û­êTJI!”\–Ò qc±(&l‹!áÞ'Ý:ȇ)hQâ -/ŽIyjGç´0èÐì[Kéi!}mOýƒŠž¶h;” d·:uÓR4IíÓ´ ÇD¹ (F$wÈ“iÔ¢~^1n˜x3|ÏŸŒþ´Ž§Õ)Yhqÿ» âÔÁ‹>à!m-Ñ6‚¶”ȃ< 2ä²ÎÖèóØñÐΘw36݈ªÑpš„«æq±¡îŽS¢FRˆpþ0™­Ÿ£ÖKM%ð<ê‘D8´iw<#¶²(b ?ðä€+åG™ñt¬rˆj3™PsYZc4¯¦®Tõ€¨ö Ÿ¨éA ŠT£ˆ£+1Œ’ÚTÙ[}*S¦³Á+"&éŠ2ÒPåšÀö™›g¼×ßñkíçxÆ× p­ß<`îs¦Õ‚~pàõürÕÒ¨­)Ó:’h¯icSÔ²FkJõ–¶y>W§HÇgYkÙ;½Ïʱ²FôRѨNQYwSÛ >u¯yß¾Å9}é@OèK{†ÎW Л‘4ÈJ‹S„œ4KR \9@õ?‹¶ÀNzÛÑÃŽñíæ8³ÍêN9Vrñ‡õ@EwÊ ×|×~A¿ ˜F+¼MÄ›ÇÌ’9bÒ!éǓƔ‰‹¸³ˆK‹<Õ°ã+Ȱ÷9Ö>?¦¥Ê€ô: ]ãI?Ip(úd²ª¨íï'®%r×@'¨;$µzkGHtnvGaj$†%çømˆUdXiNÛÿsÕSÞ ¿ÿœ45°CÍk&é YoYôÆ ü^ï@8w!´·2U®£*ú»ç»G¾ØÏ«ýGDבJkí¡C¥ªÄšÍŽˆ–‡ïÒ)°Ipˆ±I±å4]Ño¶L³n#‹æø¨éR‰®tY éºQ`›¶ašñ±f¦6)R“â`Ò?Ž ôûIé„ –T*I'î|2Ý¡Y´}!$µEÒ$µÅ2úÞž‰»à½eªÍÉo ÖwcŠÎny‚Ô6H¢ERZd£¡Þ+ÔK…úF¥þ¤Ðé F N:è:T­Æ±cõŽÓvÁi»€R 2A–êìsŸCÕãP÷ªAÒ‡'àà×ü¤w-rÚ"u ’Ù"Od´žŠ12°FŠV£ô_&~?NN§,çÌfç?ö¥¼ð /ü'<ÜÞpr:ýQ^û'küR,ŠÖ n<‚¦Ï¾d>Yg“uOAL:Ôa…Ö+ÐÜÕ*¨tRÕ¨¤cì|Z,o'ÈvMVÚôg;œQ„; évxJD«qŸ6Q(“ÆQ‘ìÍ)1¥ =.P×5Ò}‹xê°ÕW q§îeH¢[$ŠM¼µ‰c É£_âö#†ý-†UÒž>Ò}!ÓÕ ñÄfµ°Ü Yî±ÍñIö¸ÏQ%¾‘â{¼QIï¬`ì.¨\™ý8›÷g,ÞN¨™¾¿Ç(ŸW”g*Ý?¦.9†’ÓØ*ÙÀa?Q¹ö8aèm™éÌĺY¢÷K4Q¢›gê£nƒ»ÑãÓ*ð옵'±m<ã‰CÊ‘ä–JSHu‹T˜¤˜äèÔ‚¼oéo(uC\öXya±­Oøh¿¡vtvΈOÎj!QÉ2¥rŒlwÔÓNÐ9ŠT`·3ñÈYðÈYúˆQædµEַȾ0Qëš3ÿÎoyèM©- %¯Pò5¯‘ʆÜÕ陾¨~G»ç!ºä.¸âápI8Ø$Œ•uÉDY↑a˜)†‘1l¶\÷œK¬IŠ6(÷—|ÖûަcoŽÓÅØyŒÅ8]Ì(Ýâٙέ}AfZD¶GÔ¹D{7‹˜–LKƇ²Ô{6‘ï÷mÃ&‘lRa‘›¼Õ!haÞâ¦ÜrO3Q¨'2Ëñ˜§É”´°pò„ϳ÷\äTšFe(T†Bl8ºOÚ³©§¼–0)úm÷„ÔìW}"Ý!Öm"Ýaǃ2àÁ¸ÂqRl/CØ5’Q#©5’¨ÑD‰ÆõØÎØ´#‚Æ'oMvÌå Ø‡á€g1Í0NsŒiýŽ@ø‘Gx$Øèe‰QVèU‰¦T vÿ`®Ÿñ O錎©þH£K¨zª–¨¢ÀkBFå–a¹cTlÑ⊸tIT‡ÄwÁ„3ÿ©õH_ÝÓ ‰ÀòØ ‡4B¥¶Un—ì=$«åDl°Ô„ÊTØt}>)WTŸ½Õ£2dt©ÀÖº¾Bu¡“ÑÂ8ã8Ùì K$ E'–=vòˆ•4E–[,%£•¨J…CŒJ…KĈÍÑLsìÝL±XÔ*A<àvû ó±Ä+C†þ–¡¿aèoÈ<“<שZõX¹±­M6Ì”ÎÃ{¦wóc •¡QÏ4ª¯5†—¼·ÛË7ýs¡*4ªR£Ì5æõŒßÕŸóМ“6ŠRa+1Žc;1®b›©ap§\°=6ΘúD¢'v¼±¿Çµb+ÆÕbœ2f[Yu–Ê„¥1¡±eä~…2®Q¦ú ¥ñ±m³VOeK¼pˆç6ÉÜfŒø÷Ü+žLÒ59&ëºzö(Á„¸³÷2CP×2õR&\õ锆?Æï…ÿ;ü×ýÏø_þÕÿ„ï{\¿y‡,ÿdu^xá…ÿÑ457Þó/ÿÅÿÈ?ÿïÿ‡å~²ß†52)ygÕ.AÑc_ ÒU§Që*uO¦C•X½˱­˜Ô°IT›T>K$Åòö”´´Y.¦œ¿ºçõ» >Û1sçäAô˜¯Îi× EeÑŽ¤ÐÕKOÑãe]!ݵˆ›g3ž-9=›39[° G,§tÛSâÀE‚q^àI1#wÃÀÚãNSœ&ÁµS‚©Ï·Ÿ>ç››/H — 1ø½éCÈHøFÀÌ_1;Ùpv¶¡ÖA Ÿô+Þó†¤o“¼u¨{2½7;+FÕ”#•ƒÑ£FÆ Ç%Äà˜ šÚûá5+‘}ãÙøm8×x-}@· tQ ™z?c–<0Š7¸»-i0ýo3î) ›O 1¥Yi¨$•Huت}¶ZŸ²Òp¶ ö.e°ðö Ëø %î("›m>¦žlgc>ÍÞà«!}yK_ÝÒï6ô»-Ž{¥ Õ(ðÒ—É_ßðUò-~èéÀ"™š”º†d´tz˃1åIcÔ9F]×&G´Ý1"¾:ðåöw|}…6d¡Í<œáµ!¯¥|%}ÃWÒ7 ´Š~LUŒ KÉèu¾`’Ü0v–4øîŽwÆ·˜qŽg˜qŽ™ä´ŠDcHäŽÎÍÕëzÌ¢œ²¬ÎXìN9Ý-ùjõ _­¿Á[…¨VÉþÚgå°êµm‡l›!›fD•¨ÌwœßÜq~sËÉjÉê«SV_NX+cVã ýâÀ Üs<2öl¬!sÊ£?e§ajiϦšêˆH¨+†þƒŠÁ!`§ô¹wÏÉ=ƒXvYIc:U¦3d:[¦óe4;C7r4%G“2b\"\áñØÍX×'„µOV™$µÃE°sF|¾¥×ðÏxgüÙÙ®Ùí‡l÷Cvû!aì£h ŠÞ ?¯è-.Ñè2­Ö1ÕÕõ¹wN•Júåž³|Á4^p–,°Ó”²Ð©Ò×h‘Ðý ÝÌДŒVÛg/ ØYöÑéYÂìIl%¥¶d¶ê€æ5‰d³×|*UÁs=¡èäRÑBø_ ]"(ƒHñÙÊ',¥)¦žÑ×4šŒªT¨ÉxžŸ’`=º .ÛÊ¢ˆLÊIñ`â·!oÔ÷¼þÀ›@Ò[²F§TCBÙ6ŒF[Þ©?ð³ð7|yû-m,Ó2íL¦5dâ3›øÒbsÕçfzNZÙ¤CZÚ¤¹Í!ï³iFlë!ic¡ž2ÒVœx+\? S™jp'_ÒI‚Î }gG¼cÒ®˜´ëãZ®ùP¿á[¾D(;c@ç€6(ÑÆ9ú,Ãèg´º ÖÆ/IM‹ߎYüØåzÌæÕ”íõ)Õ;~ÆÇ-ÄÐØÃ„ñäø}zùDœ»Ïu9#‚Ýñ»ª ôã÷`vqÅ_ÿ³ÿŽÿõ_þ 6«%Mó²íó…^øñ‘e™ÑxÂóOÿ9³‹«å~ÂÆï8ñË:‹¨öŠ>ûlHöé:ÀÐIiQGV?ÁwøæE?NjY!Å$ í£é[ž"tA:wÔ{4·æìbNƒÌ<8Ç\ä´·*EaÒV ’Ò¡{%¦’a$Ï¿Ûñ}‹mFL®¼:ûÀë¯àîÓ5Äñ΃ïe¤‰ÀJ<'btºåºçlºàÌ^0;[°›0Œ¤p¹[½É<š¾gó'‹OO™y >ýÀ»Ù'n¸âV\sÃQj¿ÂìgorúÝSd(TBã | Ã$ûô §ìíOÃZW!ç-Ö(aäo™é¼ÐÍÍ(P)ÐȘ=<0ŒŸ'~5ÖIGLih´}!r<)Ä¿Rш,‡•9âÑšRe*³Íî>fðñ€r×òa#ï:ò½Å6³ýjŒH“1êøLýŽÏëoø¼-8ã[1ÝÌPšowà2¹åëà7ü“ù¿e,­ˆ/,âS“øÂb?èñÄ”¹˜òÀ{úØÄ8Ï[äœ.æì°à,XrvX0 XQA9ñ—üÿm÷¿1Q—Çz/„Þ*½áð:[bl.ñŒWÆ*IAÏ*Œ¼DßVèëšùø”ùdò¼žòiÿ†Ë·|X½ããî-oæ©ü‡€WŸèpp}æWS>õ/¹=»ä¡ú×üªû9;­Oì:èzIêÛTg¢‘0óìÀ¶Í€¢1x’§Ä†ÃƒqN¨ô¡Ó#ö<,;Â6b,5ÂC±eÄæÚ´'¬ë‚Ò'+MÒÆa¯ ¶@ ¶’p2]rr¾ää|¦•¬“ ëhÂêæ”ýÓàX‘ñ{Ù€~, Ç>®'úŠS}ÉD[0Õ°¤• õyêxÒl¹Êî¹ï¹:ÜÓÏ A§ð¡ÖdbÏ"¶,bÕ"\¶Ï½uÎÍðŠ[®~_W&JFl0ÔœZUØv}L t"áR¡;ù´„|`¡–’ÒAÏÃ:è % Ù zžø-å)ýö@Æ’V–Q©1I1È1É0ÈÙ2dñlS,–Õ)ËhÊj=eùpJO ø‹aŸZ8ýcÐR&딦Jë ”M͉ØðN|à¯Â_òÿ9^ÌŽúfò¿>ý7Ó ~sú'¬¢ aÙ# {yŸ*ÑŽÛéŸåu^0Ñž¸top{!+1fÅQ!#gÃÐ~þÑmxÞò*ºåuxË«ð–Wÿ‰–2à½þŽÚ‘Pûæ8Á:ѽ”A,lVœ@1äýâš¾½æý¿¹fþpFêtЧÆñýüGÆìQÌx²äÕì#o.ß³XNiV2»åˆà}Ÿ4±Ñ׿ŸŠªñÕ×ÁW_ÿÅ})/¼ð ÿYꪤ®Êÿâ¯û“5~ɃÃü__P4Aî‘äUÞÐå$Ä2$2RÕâËçö#³áçÜñèŸóxuD$|ÚìùŒK'èZA4r¹W.±“˜r®‚Š·„–‡6ËpóM×±{pù¸8gQù<~œ°þd‘ÞÖt»ˆd%X/<”Ç ÊÞ±¼ØÒÞ~Ï…zÙOqÏL?%RÚ ‚¦Ïc}ÉweL%t¶½ýWþ+ñw\žß²;᱕ „5FPÓÛEœíV¼Ý}dXì8wï¯Ó1ò &xãÑœ ,+a(íÈd“B5(Ñ©…Áø€÷:ÆÊJ4·ƒw ÅÄ"Ò=¶ÅG1Ã23D YcnòÉ¿fmžH6®S¹*ÍH¦íy¥ë‰n{³ÇÆ Y u…Ô¶”©AµÓ)çåA"LÝ$qL‚A?1ƒ‚q°á:¼ÅÒrr×$pz¬Ýpj]£*5šUãKÓ“G¦þœ©þˆ*UèzEíhú¤¢c ï$;†Å–Þú@<6IƱf&gÒ‚óêž‹ê‹øK¤Ç¿¸hŽ•IC½Q¹Ù\ó°¹D¯KL?ÅòL+E· Ð|ŽT3 IDAT¡£CË*¼:AmªF#l{,›)®áê!²Ö¢h)u­r( šrH[*Ç$Z P;t­ÄªâÀC}ª‘>¶T±Ê¾×ã¡Æwýψ]““a³áÏvÏ$X2èmô7˜RFd:G[ÉÇ J&¨}öuŸ]=`_8|Bzä'â«–º‘Xk#Þ?½£Že#æ‘s*¡2t6hN‰Z¬ë¿ªþŒ}ÝÿO¾{)÷ÚŒ…|J. êV¦®”c N,ÓìeH:H¤Cq3#{ÃùÉ}±Å"å¸Ù;ã@ïxBQ„ØS_£Üãf÷ŠÝbÄûåçÜ×ç,»1ʰäªÿ‰f ŽÛ{ºšb‹’‹'¦TªÂ²ÆábDþ…è«ôÞEøçKüa‚mçŠOÐú¹Oøä‰Æ¡ðXÔ$*våˆm4$YÛ4÷2]( ù/~«{áÿ?ÖÕ /¼ðÂÿ×ùé¿{‡‡ÿù’º•ÈK…¼T¨ÊÊj jR‡oœîù2ý†/Ûßò]/D\ "Ùg>"™8>¨¤»÷Ú%Eªóôx†âÖDŠCd;è~Ž(*š§–íƒKø¤À²&غ„[‹tÛÐEÉVO=²žÉÆ>e$mi.gwŒfjG"ë™d¾A¨xì«Ô2”äZWáö"zâÀEÿž:—ù^yÍ{ù5òšµ9@>í¼ÁìØ]Š–Tˆ5Ôklí ô;º“ù¤Å0rÌgãg“`‘à¶^Ñ+BEµ çÉì°Œ”¤¶y:¿ø€‘U4²F,÷X*g|”ß±¹=åîæÞm„w1=p‘Üqß1NŽe݆Q`è²ÞÒH2ycv.ÛnH®èx~È@ìÈ\å¬BFžâNê3ÎÌ<Ê~dÛØ´#ÖÙˆÉ;ümÀx¹b¶¸a¼\19¬8–L¢fœ“ú&+Ì'où®øŒ]ÓãDZ?vËÅ׌XsÂ>[†ÌÈ¢C–AR:2Õ$•MNåGN«9ýl‹™§HyCœ;Ü•—|_~Æûâm&ñ®yÏgí÷¨M…fäÇ÷½3û„®ƒn”è~‰®è^‰H@I*û=ÃdÇI¼ç"šEßF>BkÑýé¼fîLèúPž¨tCkÆ´âXßÑ ™VÔ¶Êèt‹_ÄXj‰6t—*Å©IdúlË!ºTÐY¨wÀ^ë±0OYšcÉ¢Ô4*W¡F¢Ñy£±Ñ,´ 픃æÓÂh˜(OŒ«%rÚ¢l;ä‡>J|Ò®ød_ñ©Í2Ð-d컌ÉÝš·w1‡9ѵÇúz„å%·ÃVR,;Åî§Œ¤ öçö=ÚrÛÐ2‘籞!7 “xÉ»ø=ï’÷¼N?²(NX¨c–ý1 }ÌyýÀ«ò–×ù'^å7X]z -²h "ÅꌻåO«3*FbÍÈY3´Ö z;œ6Æmcœ,ÆH"´ª¡©tâ²Çº>¥u·ÁrSdµ!«,¢Ø#Š}¢ØGQK\7Äq"%Ä.SŒ}Ž2¯ï[ªDeÿºÇ}ÿsŽm£`Å(ÜÐ¥U)QK2•!áV>Qæf>aê“ä6Yn‘æinR4:¥P©&*ò¤¤M;¶ÛíÓg¬3ÆjSº™  Fg+FÃJV³È&l³ÿ>ûSè8Šãšê‰j’ȥЎAY¥€ ˆÝïÕÁ¾Cñ*3ft²æ¼x`Ìâ˜:ú<—ÜÓÇ @–JÍ!í±ÚL(ï ÊOƱîa¨  +®‡ýÍ+Q½M)tÔ(d˜Ç*Íf=^(Kõ\ftpyuÏÕÉ=c{ÍzÉm{Å]vIp°É"]Ö‡º%C'.=váˆdmÓÞKpx6³/¼ð /¼ðå'küÒ{‡ÇuE×6´UI[E[€Üß™"#YàÎg|™}Ë?êþ-’±ì3ž#½í`/žTŽkܹšÁS2E×è^†5ޱÆ1æI‚QT$O›äoGdß(Ô54uGS7t]H¼6Èz=6ެüüä×\Žîøìäwüéèï tŸùšùŠ…2aSœս㖩¬Ç°Ûó‹Þ/¹ÜóÒ/ñ䀞öW4šÌJŸ°ÖÇÈ6hvaØ]òlüõFvã Ÿ•tŒl4ƒKÍþ`ülÜ6Æ/CziÈ PÚa‚e& Ì yc0.ÖŒã ÃÇ=Ʋ¢UU"µÇR=ã“òé¦EþÔ ß4È7-¶ýM"3Ž× ’ýÑ©×!õZD¯£ÑeòÖ$j¿L5ôvD®Mvªc4)R[£w ^»ç¤[òF|Ïâ;¾”¾ã ñ-¿Ê~Á¿Ëÿ’Ù;~ý9¯ç9û´äÍÇ[þòãßr¬Ñª µã)›ñUD:m,I»A™TÈãêhüÛ¿°™ŸÐýRƈrNÿê‰S{Îä³'¼«€e8eNY†SÖòähúÚgu ë†šbH))m+ŽÉ ™€ˆ£á{ú£”^…3Œ]m˜œsÿ?Ÿøã.W€UzÊ|;c~Áüûsú—[&ƒ'&£'®?¿Åt3d¹FyVŠÅ–átÐúDèʧÔ]”´a4 x;þÄ×£ϵýß(_CÓ¤â0#‹uvy¼ÖØw=ŠÒ m²µMó ï/m/¼ð /ü„ùɿƒi¦:  $ q<³atAÖ7ÙÛ}žÔ)yÍZQ8š^0ðÖT¶Žp;„ß!úu¤PÆ:e¨‘Æ6º«#Sc»¦’¢ŠŒ‹®èÈ2ÑFIù‰Ž&Ñ`Ò&DlMË!é[dŠIîè$ŠEØzìÛ›|Ì¡êS Ikp܈¾±e n)kN”5®ñгÌQ’–¶QIlŸ•}Ê!›÷ûKöå€RÓÐÂl©:•$vÙ­+ a×aaVu§cŠ’žÑ Moõ U¯Ðô‚ªVˆ%‡ªÓÙ–'t…Ìù-eDm*ØVŒÑ/0¢3Í0óœžu ‘–ù)¿ÝüŒ¾´ÃÒRl?ÁÒrUC©*zÁóhN)©œJ+zRˆ!Ž"ÑÈ*¥¦SHd#)ñÓIºæ¼³ko Ú>IërUÜòª¸aV<2)W¸"¢rJU%ÑL¢±ƒ8éðÌózŽ%8¤”Á‚32a³P§DšG§IXJ†–×8AJ³Ö¨7=}ÇÀÜ00· ¬ 3ñÈ´]àu!ŠÜ X6 }uÇ©1'sLÚVñˆo’/XËrO'75:EÓ¥ M*Q©Ž¥ÛV‰êVȽ 9­‘¥QwHI‹”t(iIS šV¢’jIÆl2Ì6êRšNF­ì&£×Ô…ÂÕþŽ“Ã{Ÿ!Å Ë-ªqì]4ä+‹±³N¶ÁËVt¦ŒïêT®AåêœÊK†ÊIjˆ‡ºU˜·Sî«sn‹k’ÊFÉ+ù;釸—Ér̵©¯4×Á¬2.—÷Tߪ|õþ[®>Ýrr¿ÂZÄhv|¨!‚6U¨ ¢1H[¥iH»ˆVRP¥GJQë;KÑ뙆V‘È4ó¸×>càîX['d†…¤µ¸rˆÔ¶$¹ÍSxF·Uè5žâÊžâå!£nÙñÄåàWïÑëšÜ0dŸ^R¥*ìA DÕA%hJ…ªÒf‡áøMÀ˜2‡nH× ²ÖB/ ô°dÐ8Ï©W*ÅÖ&L¨uE#dt¹ÀVbzÚžžv@¦&­LVɘôà0×N™·§<%§Ì7§¬Š£ÖŘ]>¤N•ãÔ-9ÊlRŒ~„+¸v€ÖàHKCBM¬4B[W” ÂFÐÖ2V•2©V8eJ˜yD™K˜W÷4€¦E×2´^I[Éäq…¼mO¬9NÆ$ÀH~‡jÖRS§ôòˆFRAEj0EF”{„…G”{D™ÇÓÝŒ§û)ËÇ «ù µ&êI‰v(©ºCÏ0ô YoÐ䇋ŒTÓÉ ¹jÓi2­ªP©…¢‘?O+kÚV†ZÐÔ E­ÓÕ‚ªQѵ’ÞàÀéÅ ý‹9l¹Øƒé®÷ /¼ð ÿïøÉ?¦üÓÂîÜÉÏÛ;%ð8“a*hgÛ7C>LÞR: +Fìå;m€$5œ)tB ë-’Ó"²'‹ ïz„·ÂlQ´ }P`)Š’Ð R!Q‚0A5A7A3Á4ÀÐ@hP* ²ÄdW y¨Ï±»CÛç¦|ÅCuÉ¢œÑÖž2vÖxFÈYûÈñ'b…!2ÈÅñêIÀ\¢Ùkì'|ê7$}—yÿ‚}öÒ€b¬âŒd©¡5ö逸ÎA+*Ô¤DKŽëÁxDv8£˜“áÙ-)T\ÓI%“ƒè‘ ›L²É›TuØ»=výò â¼ËÈØrâl8ñ·Œ†DµP¸ÜįèÙ;N›'¦ÊœSç Y¯1ã”Yüˆ…P †Ê–¡²ÅW"„­©›¡Ùg« 7=²­M³Q‘702·|f½Ç²rέG†bÇ…rÏÔ|BsKªžB<°I†ñÀ&¸˜½„×ý ÚÑÁ#¯tòÊæ·Õ×h4®DãIÈnË©ý„•äX«ó¶ÀºÍ±DŒ­ÄØJ‚­ÄôOßPü KO˜i÷¾ŒÕ†ªd°Íz첿D%ýÉ–ÁÉŽ¾¹cÄ …™™æØg(£’V…Ì×PæÍÑTf Š=.éÒ¾ÅÞ¤4µ„&Ê£%m+áå ã|KRØ´‰Äp»c¸ÝamSˆA»ª°DŠï† õ-§«G¦w·Lïn9»»Cwˆ+q­"®U,3êT²}ÂÒç!;ç1¹à1¹¤5†Û ÍFBÛf˜AÂR:c)ÎX^ž±¹:E5 5ŸÏ¿ç«ù7œÍ™Ý?0Ú­ ¬©*‰*S)c"4Iðh ¼t‹¢“«2åTµ+P’9é%4ÌRŸðMï+"\>º¯iÏ é  ‘“V&·éá%ò¦Í×ò ¯”OhJ‰#b.;Ĥct²aoõ¨'õP¢ÖykPæu¨Ðn%ØðÇ-Ï2ª£é›´+.»;$Ôg©¤ÈZ‹Q• Â=³pÎg| Üj¤[—m9F3+jK¡g˜i|.¾gÖ<Õ«ṙâqâq˜û¶ÁŸƒîÉ¡â‘Ê6­"ŽUŸù¥iýüÀ¤š3éžè©L¿ÀœX¯ :[b'÷Ù-zìÒ!Ù÷&}ëÀ©¹b`ýO¸Ù\óióŠ›Í5ÉÆFzÓ¢Ö%†aŸ&ˆ¢# ,”e¸éŽé¤êópCc|Ú¡Z-z]c&ž#TÐÔ CäÜEëÝ„ÅíÁ‡áOòhÑ­ × v΀F—‰$|Àïø?Ø{³ëÖ¼Îóó¬yÜkíyˆÃ;Ÿ“g2Mm««;!{ÀnèAé‚ò&¼ðRôB¼HÁ@D¤¡ÌB/¡é ±ºZh‡N[35ó ï9çâ9ö<¯yê‹ýæI“²Ájº<™øñD±b­±ãYÏwýžß÷çÕ—xò SŽðXÓ`ŽLÁ®ªñ*€œT„¡Ë&¨±s¦i›‹â˜ …+†,ha eUQ”yQA gÉÁÑ Cé†ƒÖ fóÇÿë-wÂïŽ;î¸ãŽV~ˆ…ðå fÕ¾S!Á\Ù›ºx $x$(HÌ{MÒžÌØiñ©x„.í-Ü5%¥_]¡ê9Š›£9JQìÂ_õ)WáKI-Q9úa‚•†¨ÊŽ-* 1ˆT ll iŸL%ØB,’Wùë¢ÎUzÈu|È(`‹muÊÀ¾æžö’CqÉ Ñ)ÆeD^¨°ðJ‚%Ês•E¯EØs¸íÑ{1¢U"Ú%¢]à´7dd¥³[ºdK±iY"–%Ò²dçÕpoéè#‚žáÄ’J$é„’Å*ÛœÜÊÜÈCfZÓ 0Z!f?dØ»àžsÆ=ÿœ{ÍsNzç\,yºþ¯ßäãõ›xÎ’'Å')–b›z-!r ‚‹ùqűO^S±òf±ÄÌc‚¥ÍGÑ[<Þâ£è-.‹!ÍΔV9¥©MèXSº»Ýé”îÙ”ÎÇ3´,E.s”2G©r´^Švœ¢¤¨vŽíèWXÆ–¡~Î-=^&x™>à4y@X™¼å|Ä[öGt­\fÁ/¨(µ¢ô!êkhjN ĤBN_ ¿Í{Òš/¨r¤I.‘¤rA¾Sö±U¨6 OSôiŠ6M`+PE†åFÔkšúœþæŠãÓçýݧëSìûÚ%tMBïId†N, "a²uFé€ëø«å!×óCŠ‘Äáù9ù¹Œvc¬6^ÜÀ'_äùð Þ¼þ˜7¯>æÉõsÞ¼zй ÐW!ú:D¤9Y*‘F éÎ ^[¹G8lÃ9(+Á±~Edؠ˨R‰œTHI…H*òRaltÙÖ]άì, ÑŸÒlLi˜SšLYçuQ›ù¦Í|ÞæAqÊ—Ôo¡©)}õ–šµáØ=§íLyÃý„¥ësët÷at¾'ü¶ åL‚ŸµÕünèiŒ—¯é”cޏ$c¹©DHj‰'ÔƒÃÝ ƒ—$+Ù¼ËevŒf¦d†‚g¯jW<ŸrP\ñQþ§é#>ŠßáYðÙ\%T²øuÔö‘×T*OÚ‹Ðìuä ›)~¼ä ¿æ^ù’¾zK£¶¢Ù[ÑW¤ºÎw¶ïòÁí»¼|þˆÛ¬Û{Ÿ^oÌ»½÷yÒzÆ·F_B?OØ;œ_#Gšaöbìb© X§Èãq^Aô€–Ø=ÔÅ.ÑŠs—"Œ-Z•bK¦2Ýu‰Ç£Ë>¹|‹ìB%»TÈ®UªiE¬ºÂN®1)ûÔƒ9Ýä–LVœ]©³¦Åœs¢ÊFÊ+‚ÄaXuv±Ã4k£– ;,n9`N‹‡ ™êµð#¯(seŸñ^û~äÉwðŠ ÿ×ÿ=Þú|îywü“ɲŒ<Ï?ï˸ãŽ;îøEQTUýç?ï?ûÿBóbìÇsªº ùF"_J²€†NZNEAŒL‰CŒÊ·Üâæ[jÅ=Oò){y†¾¨e+JYB5SPµj…% …21) a ÔA‰'¨vˆb+(¶@¶ R¡“Ji¢“LubÇdéÖQݔܕ÷ ˜´Ç,k³I}¤ª"•TJ©BH•(0˜Š&*Y ³‰k(iN;ŸpRœ…&ñÒdQ5‰S+ß/¢L#À¬¨Y†’•EJUFd…JRè$¹Fšë,Ë Qg)×Yj>B+˜-&y—QÙgõ˜åmÖ²GdY䞌ìØõ¯±Ào.è‰[ºÚˆŽ5¢ã™\wHИlÛ<ß=¢±žãnÖt··d;•‰|® Æ®dŠ­J⚈Z‰¨UšÅ.vr…Ç–AtKk6§6Ù¢RÄ Xr„áÄøå’R¤¦Nbl\—iØfã»,ºËCå}ÕÈLG´fs³ÅJe6¸У”ª’ ”¨4ž¢ªò9ÍQã sa„F´¥¸[@woù_YŠ•aX!ަìRf‚Mæp“õØ–.é†LRÑ‹?\“K ¹,“K ™¬~OÄU%RUQ™PÖ ¬ ʶ °dRW!Õu¡QURU —%’(³ycL#äiŽÂµ·ÈjN!drE&7r[!wDQ¡ïRô …%D¥I$›Ääåþu˜j„©D˜UDÓšÑQ¦8e€’” $µBòJ”^N%$”IŽ\Ha‰H˽Ø^¨rŽšf(³iS"â ¾¯Þï3¤ê³¿Jµy…\I+jLhãUk¤"GJs,"$J¬8F¤I®³)=t9ÆÒC 7FoÄ$¶A$[D™Év[#ßÈHµ”ˆhoÒ£æ9Vãæ;ŠP¦ÜÉT™ „¾ÿß’)Pò5˱´ÏÛ fT$ò¶L¦ÊäL~£ 9–Qo.èn¨K+ ·úoFwüÀ¡ª*—ç§üí7þò®ßwÜñÃwûøýø¿üIî?|ò¹\íðó”5÷­OI=íÃ6pØàõ È28+à¶@}œ`1–•`÷c¤¸"Ûj,w 6Û:Ò&G^çHëý¨Ç)fqÒ=ŬÇTšDPßÛ,/š„ŠJ’ä½ÓÈÑÞ.põ-5}«—X ̧mfÓ6ói‹Ù´MR¬‹:U"…‘e²•=BÅ¡Pö5QÓUiuD°’8/zØVŠeeXVŠ**’BÅê¼g|›Gžq ¹Ê†ÜdÜÌÈs•dcPÝ ²*McAÓ˜Ð4f´†s‚ŽÅ,h3 ÚÌ‚ºR $6‡‘Ñc[¸\E‡\Ň\EG,£:fÓSÆÜ÷Ï1¬©™#ÜIË‘ÈQõ”Ð1¸="Ãä4:a<í°-]òŒ,7)®P—ÖhäÌoÛÌnö¿›0·Qj²›¡ô3h@”[8Å–÷¶ßæ éSî/O¹¾¢UÍzEaId5…Ü—É[23­Í(ë1NúŒâ;×!1UU!‘T¼dƒ2¯pÎCÚ¯˜ã˜AvÃÛù‡ØYÀCõ9©¦z i¬p)†,—õcœ~ˆ†ô'7 fW ’+Ñjšt Áε˜h-¦j›‰ÔâF öv÷•‰.ä¢ÀͶØI„‘¥¨EIlhì ›­á°•mœ(ÀÞ†8Ûs› o $½¤:†¬!±1]¦³z›Y½En(è"Æ c¬CÌ|ƒ±Ø`¾ÚbŒC44´»Â9ÜÒoÈL˜®~M·vK§½¥~Pb6AÕ+ÔL ¬*JY!2-Öf±Ôe¥ø(vF¯¼ÁÓVhVÊ‘wŽ=H,£&âPÐ.x8xŽí„œôOñ¤…³aƒùºÁdÓa¼n3Ù´‰d“Thôo®i.&Ì67î·î›ÚÔÑX¸ .œCjΊŽ>&ÌuÚŘ/åÃãôcÄD"i]QøÓ¾±¤®/Ánë1Þö‘Ãò{™ºòõ„’+öµqSÈ5…@s™ë-®µCfJ §ˆð•5íþ·»AÈ9®¼d ]òHvq­ ;Ëáyõ„ñ®Ç$ïrU ™I-2Sf«8œe'ˆMÅrÜÀNRK£iÍù—Ö7­³³£ô/õ\¨G„5¿»â‹åßó¦õ),ù¾¸ò†\׸ª¹ªñ•Céê³PœŒÄ×H„ÊËõ#θ›îp”· ¤’•ï“*ô£küxŽí˜G ¾µüQžÝ>æ÷85ï3»×¢:dÒ¨a²“BÓ"id' ÕVìk®Eag9ɶ`ŒÇ³Ú BΙ˜-ZåŒf:£Íö­3ŠÇ p7xõÝÞ˜Îá„îlBw6fbv¹r†\9‡\9‡¤†Î’Šxm²Þ6‡œkjá¾¾õ²<âº4L)ů-8Ô®x’ÂqxÎÌn3½ßb¦¶™ [,Ì «ÎbÞ`ñÍ:qËbÝñ™´;\v†lT—HL¹ëä÷ƒÏõå9ÿçÿñïùɯü ‘$ùó¾¤;î¸ãʲàæòœ?ÿ³?A×Ï¥‰ûµð{d=#¬,&ƒ.¸6ÑHÛF\ňu‚RƘvŒÛ‹ðˆ‰b›hiMm¢‰·b”#n ÄMNÏqÿ䌓“WÜ;yE©+¼Ü<äåú!WGÌ‹J-@í‡OLgGGríb IDAT^Ó•—täõrËÙGx•> »T™_´HRƒu"ˆB‹å¶A^WHk:©«QÔdâ¥ÎôU“àTbôÊEOÔ¦„Ò’P›n=äØ>ã¸{Æ>ÂSV|pýÆõ{D7&7“еBr+ÈI5éNèßòÆÉSÞ8ü˜•âsšÝçeö€*+QÕ”Âll—±ÑC. Îâ{œoîq¶¾G:<–>å¾rÎÿGÊ9;ÇÚ‡f±ÃBhº&‘ap[ër±ž}æo3V:èÄhnŒ6ˆ±»;óƒÅ-·Ïè/Æx«5µhƒW®ZEaÉd®B\×HZ·j—OÒ7ø$þŸFoØ6²™¢¨)²”Ñ G8ó€ÖÙ‚ì•úåŠ7ØsÎÜjpîqÖ9ä,9â’!˜Ôeª¾ ¥ÄÒG¼•|‡ržãGcÌ$‡JM¢r%¶ŽÍDns.s&3¦ËJò‰Tso<‘Ôâ-vbîRÔ¸ ¯©lݹÅLoÒŽfˆÅ{’`LS„VRÙP6¹%±2.õ^÷9Õï“(:5¶8bKMìpó^>¦¶ð^%¸×!ÖXCº KÜþ–^k„jÅÔÅO_á»+¼Öï Bm€¤ƒ”WÈ+öæ…ÅJòk]ÅÁ²zÚ Ë ±›Î`‹¤±É*—.4œ²Sгoixþ’b³°ÁÙò„‹‡¼œ?ätñ±àpþŠ£›3g,Ý&¿‡8®Xú RWgQ«sQ"¼Œ¥QÃ-7´‹÷ËçØI€”ퟃ<¯Ð˽ˆÑ˽HH*‹)}$JÐÙÏ~ßÍ\¥ì I^o“,„ÂNs˜ém®õ#Ff¿±¢UŸ2¨_Óðf‘S+â’L„¥Ã®t˜T=‚î²ÙU;Ù!76²Ã«ì„ŦÁóÉ#úňíŒûŒ“þf/dÜm3òÚ¼0(½Ú”^5å ã­Æb/ø|6~à¾Ãw¼÷Hk·^__q_=å=õ;¼§}‡P2yÆcžóˆ—›G¬K5ÏД ÕË0Ýˆš²¢¦¬éË×èYÄæ¹ÏìE“ÓÛlÎ<Ö=u×cÓ«Qv%ŠDz ÖMTÙ!6Mâ¶N~¢RVÒÞÍsšÃ,iB¼(×jˆá k¹Æµ5àqð‚‡É Ü`G- 0•Û pëkÏ‚'ümôã\98ÚÛÝà47t:šñ’ú|Å»Oy{òy*S2…®°õ]B× ttBÓ Ô .­!/û|ì½Áûñ{$†Žclpä N¾ÅŽ‚M´0H&:åH``ˆ˜–˜Ñv'¤…IØ$ËT¢I¢$®IÚ2I0PÈÆjÄÐtI% E–(5…ÒP),…­á°*}fE“IÖe^5)$M¤4Å» hKì$D sª@&±0ÙIk<ÌM‚³ŠH;Š™JÙ„´¡uÒ¾ÌDosM 1ä'D˜8"À;vøÆŒŽ$ÓÎRÊݱÝ[ÇäŽLÖWÐïËT5cïЉhï&U‚i%˜­ó¸D²›ýût¥&+&Ãc^¶H5ÇÜÒ0ç ¸Æcýªe"ldJjl°ÙQ"í[Vx)%»Òd¼ìðjqŸïòÁò=î½zͱ“-oŸ±ÝÕꫬÁX=`mû”lk·^—Ê,9.:åˆayÉ ºAŸehUŽfh‹œ*”‰ J÷=ænôÖÏ\ã˜;t-AÒKJ]"1tÂܤŠU `'ØfüÝv‘c³.›zEݧ~è“!£Ñb‚ ç"¸Ç@Ýå,wu.¶Ç(Ûœ ²É …(µQµU‰4«Ó½š¯L([ûšY«¹ßÞßÉ&çå ai9Õ±J8pÙyâ°M\¤MIo=ÁÞÄĹAiȆDiÈhJJ'›à*[âšÆØlg:ú"¡3žádj•ïJœs«AhXlu‡]ä°»µ‰LÒ¨K[¾(Þ'’M¶ŠËNv+V¥­óÍ€–6G,"æƒ&Áëˆ}z±Ä_,©O—øÅ 5Ìв ©YPšìg„¢‚2—÷µ¡¥A€M†BŠJ‰@¦@'Aú®9 %Òë.‘61&Qeàk¬]‚³ ñwkêù'ФáG#½Ç³Î¤‡9²QQöŽzW8õ„L×е]ŽÐE„^Ť…Îy~Â(`Eýí˜þzD1¦;Ÿ¸IK'v5W'Ò5LmÇvÁ;º…¯-±õ ;ÍàT?bT¶^¦hd±Ê6p –&ÝÕ˜ŸXþ5áÚ¢æ­0ÛÓ´CˆI޼o€„óŠÐŠ9Ï9(J†&45F3jþ†úÁšzº¦.¯h‹)½ƒ[8¨8?8¤ð$ž•¸\1wYŠ·Æž¹C7bK#ÚZÄ’ETíëÝf4 T“®}Ãéÿmc†§.Ø©&Ÿ¨™].çC–>鹺Ïlúß•,(uAYH’L©I”–D剽ثØ; Wûùªv´áðøŠãüŒ#ã ‘C\™$’I¬˜Duð¾BØP*Ä•Bæi¤kôo4æO5^j} æZ“®±`I5lñœ¶2EÑ3¶Øœ+CnÂ.‹­OxmR\KHv‰2ÈP´ ÅÉÐj)†cx1F'¦¦IÐ0 , !W U” ä¥ ­dR]&ÕRY%A'¯ÉT‡ •ª£¶ä£ ¹Y ©%Õ÷õ¼ã—¢(î¶wÞqÇ?°È²ò¹ÕnÂï›ßü&¿û»¿Ë¯üʯpttÄ_ýÕ_ñë¿þë|å+_áÿ𹸸àë_ÿ:eYòµ¯}?ú£?âg~æg>;þ»ÂÏM}–3•›Sõ;öY>µž¶à“œí¶ÅfÓf³s¨ÌDøÅ|_­ŽædøƒÍ¾®åà»±E2’)†@33Ï'Oèfc†éÃôšƒäŠpkqº¸ÏËÅ.Ç$ªÎÁ½+÷®9h\1èÞÐcB15ÖˆªÂÈÈ*Œ<ÁË6„¶Ih„Â$T |oEëdÊÀ»f}ìÜ:„W6¯.y:ÿk|f­óz“ m£·º oÔžñŽô>ãçÔ£õ`‰·ÛPî$–ŽÏYóˆW½c^õOØF5v¡Ãnå²»qÑ­«àÖ6tÝ[|V4ãÍhAc½ÄÊB$­@:*ØÚL¢W“#®§‡\N™Ä]Ê:”6”x¬éKã}(zê„fmF£7£¡Í±üŒ]Ï&z‘—*…PÈU•o³hÔ˜ ¹TcxÌ&5æãÁ³ÛÄ ï˜÷›¼ì?Æë&8Õ‡ Nµ¡ËGÞ¢ÅæB?àvü=áW>•šÅÞ ¸¡;¶³ÃóöýkÉ*ÁÌh2Ó›HJI%* ™$‘ʯEŸ¢í…Ÿ'SVÈnŽz˜ Z ŠŸ!y9BùžïwÜqÇwü°ò¹ ¿ßÿýßçñyðà_þò—ùò—¿ ÀŸþéŸò«¿ú«øþ¾šâ«_ý*¿ù›¿ù ?3­s;Ó©ZhßvàCƒýJ * ‰õgÂÏ"À1w8f€]Ÿ5ý-)+‰‰ÛÑ€—/qùâˆÓ³GØRÀ>ü&'ýW¼óàÛø%ó&2OØ—ѺC0²Ÿ*„®þ²oí`˜T† ß|Îë1d¿˜:݇~á·· §œü« êG d $Qîk’€±èP!hµf4›sZ̨³ä´ºÏ)÷Ñ É¬æ ÆÓ›‰Ïfâó…ÝÇÔ¢€fô!?ý=»™CpSãÙõ›\Þœ9ÝtL¯>âKÆßòF÷cô,GO3ô,C¤FcD1U( „(Ó 1UÈ2=“°f˜„•ÅÙ‹û|¬¼ÅÙü„§›·YTMª¶€T÷µÁ†®9á‰ùŒ!ý o'"¢ B»Šl§²T|ΛG|çÁ;|ûÉ»l.}¶gÛ[í™Ïaëœ'êÇt{7<~ÂAvMw<£³šÑÍ@À¬×`Ö­3ë6¸–øøôM>>{‹ONßâz1¤åOhÙcZê„6cŽÅoÈŸò¦òŒ7Ôgȵ¡UàƒTlëA¿ÆÜks¥ у„ÃÙ5½ó ‡Ï®ðà t€6TmH[óz¹Yg^«³ÕlZã%ÎbIóÅ’Æ'+^~ás«Áè¤ÃËû'ܬ¹™ ¹Y ¹™ yT¼ÀQ#ÞÑžò£Êû„†ÅÎôxi=fd˜­öœãá •á"Ô€y1äÓâ-¾•‰É#6Óú"eøâçEDõ¨¢| eÊÇ@ÒĪåkáWªÄ¯3~)Ò~›)&1&161ëʧ¬fÎEDûlA½³ÆîèÎ>ãZ&#½O ÙŒ´>òS~$zŸÃè’ ?ÀkªÏBöXH>×Õ€Q1à<»ÇÓä&Q—`碯S‹[˜CrOeײ™?ñ™ÿXƒTS1Ùq@Lk"L"LvXLi°ÃaCí³pow¼·ý€¯^òîê#Ó%ß¾ÍÛ·x–>ä%÷èsK&Ñ?Èø%ÈyÈ@U3LRS×øæ‚cùŒ·•x§ö”wzQ Á³ÚCž¹8«ržœ0ž÷-ûL^u —zšPéµt&f‹‘6`$ W}FÙ€÷ø{¾¨~‹ÇöS~Ôÿ&[Íá–7 ¸¥Ïm>`4ß ¿ôï´ý¼³bŸù“ *[PÖ¤}ÆOHšDi ðØ ¿Ïj +X@-Þrd\ñNû)?yÿ¸b»ÏJ€KÛçªÙçúu\Ì{ÈÙ!|ÙߘÌnjÌßnÂÛ.ÂtÑ»oò”7ªèrË#ž‘) ¹¢°ÕøÜˆ.‹Oxµ~ò @í$˜y€åì¨w´™ÒfJ‹U)ЋCŠv¹EV© T”² W©,“¢ ’ ‘ ‘×*¤aŽZŨ¤È"C–öóðè»ãŽ;î¸ã‡ÏMø={öŒo|ãüÚ¯ýI’ðî»ïòK¿ôKpuuÅÑÑÑgß{rrÂååå÷=òþò¿`µrx6r%° An!4¡ë½B¶3Ê·ñCmÃeN¨d8b‡NB¸2Ø,Ö —õÜ%ÞÙ¨QÌýâ%Ãî-–Òï^cy!Íc›ÚŒæ¦‹:˹Ín¦’ö6éÆr´VŽª¥(ÚU¨šD¬™DšI¬ZD7ÙÒ°4sƳ¶C!B¾ˆ¸ýKŸIÇAÔ$$W Õ$d«DWtõõÖ1)%ØÙÄ;“Ñn€–¬lŸ•ã‘9*®³ÅÑB°¯Á—‰¦±ÀÞí¸Uûü…ô¯X‡ZosiX6’\ G%ê,Çx•b)JQ R^ík£}ˆ¨‚ät¿ø¯T¬’]å°LŒÒ>·iŸ«Õ—â˜y½ErOÇcü“%õƒÅ~±æÏhËc6²Ëß_ä¦à[KêÝuy‰ÝÙaC:ý\Yʸ)†Ü&Cn‰ÝÚCÉ ì2¤µ]2èçüå{¢,s*C ªº³w´ŒÇßQë¯ñÄ’ cÒìNi·&tÍ[:Œ‘Õœ¹Ýàãê c¥ƒ¿^ã³ÂOÖøÉŠ86XÆu®ãžÇ¨J‰[ã€Wõ9íÁœÖnASÓˆ4oçh³ňQõº‰œӨƪãpá2>ê0>h³«Ù ¼h‰:Ii¿ñèåSŽª+Þ°>¢gß`X’[rä_ð^õm%#ª Ì?å$|ÎÑÊ€†?áÈEìëÔÌ- kÎÖsù°ý˰E]S_-¨?_ИÍÉ5‰\VÉd¬©2µlj‰©ƒb/èð˜Ð¡DBÙW¢PW ·yŸQ>à6ï³H›Yޝn‰½  a,y˜¿$™é8ÁŽ¥å™&¡eš.K¥É²j°ÂgeÔPDJ)ÀHêùŠ¬Ò¹Î¶XYŒœ¥Lî+{§IU'è”÷Z?ÅÓ·(»‚P7 “PÞ²È1‰ÐHqÙRÏV¤‘F餑Ž3¸WœÑoŽ±ß `X‘÷UBá°¾­³”Z4­ªYà[†æ-‹¸Ãm¸ÅØ&ˆuEžªÄ…Å6/(S™U¾ Ò@Û l¥DÊ ä²@®J,%àÀ¹¢Óœ‘ÅÏÉl•RTKˆ?µ¸¼}Èå¦ÏĨ±¹çR.ÚF§<Ô¨† eO&×%V‹ëE‘÷ Šˆ²¡S64ʦFÙИz]6Ç5ª¨Â5×è͘ƓÞœ†>£&6¯7ï‡âŸ5'âœ"UhÍg¤[“§›w¸Ù²Æc]yl¨±ÆcU÷ØÔ=äzI³>Ç’ !³¤þÙCŽ€ÿynwÜqÇwÜñŸÏMøÅqL½^çþਪŠ?þã?æk_û¿õ[¿õO:þz4äßÿÅOe:“Èc*ùì=軈šŒTS\½”bÑ@gÓ¬!D‰ú:óW!PIÉW6«—.WÏû\?ë¡K½æ‚Ãæ5ÝÞ«S6+Ê,5Ÿmls}Ócò¼Îò™ÍîVEqK”ZövŽêXr‚)§XJ‚%§¬6 «&‹u“d¥ãåkîÛ§<²žóøà%#êÜžÕ¹>«³sÄPÛÇŠÞ)h™ÚÖ”–ˆ1ä˜õÚg3òY}6¹—#õrä^ko©©[<{ƒÇ_Û:[ÝåZð©xÂ,j1²{ŒìmS«6Èq‰:-ÐOsôm†\}·¯\¹ßò•°ß¦šìC¢DUs°*d?§L»6§»‡||ѲNJ:Ëzƒô†£ï8\ò`ð’xµan³.jÜäD^qßzɃþ î5N榿£ïÝ º1-¦<+6ÈIE:Œ6´m†» hÞ.XczÅ3Š1â%*È=ÅÍÑš fa+;ÜÚ^ôÕíI¢ÐvÇtÝ[úÖ-]1"Ó4fU“[¥GnjrɽøœÎq“Id°Œê\ÇCžGKÛˆp!NÒ]Ox¼{Æ£Ýs´iJ+ ‘‹­½HÑEHÜöYµ}¢®OÔöëozˆ ?XÐÜ`¼ŒÑÞéT3†þˆ^}„îŨ­œ£êMIé[#ÒLÁ¿œP¿šâ]ÍQ˜æÃ1÷ªzÞ˜Ì6ØÖ]ÞÚ|«øq¦Ïy´zÎÃÉsêÙŠ¢%ô-‚¾Ã®i3u›l —ØÐ@®¾Oøéa¾®ðÛGRéL³.“¸Ë4|ülGO›5LСž,y¿Àí8‰Ï¹0xåÜãÌ=aé´XÚM–ßµÖ·|4)BJ+ô4ÅHª\Á¯6Xe„RPBîË$šBÔÓ "ƒÒèn‚¢e¸›k£†d”äºJ KÈ¢D#D¡@!GN˽+è¢B^T˜Û˜f¾ ÑZbÙ!y¦’ª:!ö^ø-š¤­+´fA½µa¨Ü0Šð‚×ÂoU‘Å*QfS¤2qb²,çìâIlPÆ2²ž!Ì )/‘«[è9Sœv€+…H.\…\-‡\^0Û µ+úÚ5Cíš¡wEKÌhm¦4·3ê×’†‰ÞN‘;è ¹ þÉ‚š±¦8PÐò ·¶Á­mqÝ-žµ¦!-©K+êñ©¬˜‰×Þ]$Pc¯Û_ª:”5AiB¡ rCP)¥)¨2‰]j1MÚ\„Ç|º|“«x@h*„Tª‚Vh®JáÈTŽ T%Ö qÓ`wq;ñÈø,ð o¿‹ ²+Üþµdнaй¡¯_ïÅ|–•“(ñYïûöQPfë±ÏúÜçéÙ;¬¯=b âÊøläA…xX"?(izsT%£@f%|l$ÊϲÙwüçççþõ¿á¿ÿoÿþõÿüsŸ}íß~ýßñ¿ÿ‡?ãßýÛÿå?ùç ñWhVUõ}ÿò/ÿ2¿ó;¿ƒ‚¯~õ«üÆoüÆ?zÜÿ—ï¿ãŽ;îøAàs~N‡ŸþéŸFÓ4~ög–¯ýëp~~ÎÇxõêÃáðûŽ¿rý;õ=c]¢Ô¼õ_!~âDjÈí¹‘Q‚ØÐºK†‚M@% ‘R¬%V§.WÛã“o<¤çM9|ïšÞs~¬ÿ>ÖAÌ¥yÀ¥5àJpô¹¹é0ý Áò¯mvçö—´/•Xog8ï&ÔÄOlðØ£ÓÒ‹’$4X¯ëxêšûþ)?îÿ-ÿÂÿkÖkƒo^|ñùÛ\ŸßçF=€7MxÓ‚Ò‘3ROà -m‚!n76W7‡œ½¸ÏÅÙ í‡cÚ嘶5¦Ý]0T¯8²®8R/9úØ{“XÙ²ëLïÛçìÓŸ}{ÛwßË×d¾d#‘ê ” s@yPpÁ¢HK–@zú‰( IDAT ˆ²h±, &¡‘8áÀ²¡Ø´Ci$®BMj` ¬«(Š™™/™™¯½ý½ÑGœ¾ÛÄã+© ,U²D¢î,±cǸ8ç?k­y'[‡|C~Œ÷¸Ï7ëå*‘{&…gPxÍlõ¯…_]`Or 4âå2ÿKQ€nÔ·ÞоBPÅóeg‹×øÆücÌ‹%’²­Sµ$®³Û;ãÍþ·ùxÿkxvÈ·ãá[ÉßÎ~„IÙçcîŸQt4æ4gçâœþÕú&ÃØØ›ˆ¬¶XþXƒk¿ÁÕè€ëÝB“Õv€»¬Ñ´šv ©Þ§0 |;bÏ=¥¬·Î~)P@¯˜rÔyJ»3Gtaà¡„ØžÐi”ÀKdT`”%FY¢*A­¶†•ÐÈ “xãN|Öç-6u°=q|R+q«„f²¢¿š¤ÚÕœ Ú`É) $%2-ÑÓ M(”­“;©c“H›ÚÑp;à î¦ïs´zÂN|F'žáF HmŸØvHl—|(©†b›¥0A(…ª5ÊÒ /,²Ú¦–ݨ±´l[.¦mG$ølXã:Ûž4Ù,]…í¦t½9ûÖ ôWrIâ¸$†G긤ÒdRtyVâ© S«IªmD×:Ëý«ñˆu¯IÖ4ñ¢áÅ~á^n0Ë‚¬í0¹; ÉBÑ(CªI¦Aä}‹\w(M Õ)aT¢–ESg9è²r»¬è2Oû\°Ã•5dÒê2ÓÛœ•c>¨îàÖ!Z]¢Jò¶$$¹#1DN;S¥:n–RÕ:¾¾Á×C-DÊ‚LZ¤†E&-âÚÙ’¿\â_N‰¦½ö ÜÖÕ.ˆZ6FV"ã+ÌÐÜŠû‚×gá7±eÂnrFïz†¿Œ°ô©*„ª©… ²5*¶'ì AÎJ49Õöä%¡¿œÑ›mÃÎк%jÕP#·MÌr;KÑMZÉ cUQNLæ3—뉬+å¶ã/0µÔ¨…N‰A^›Û²fÚ\‰§ú.s«Mê™è­‚ ^á!†cÚ†S0ÎÎè¤3¼8BßTà(„¥Ðü½®PbÍa¦wÑ¥@—5gb—iÝg]4HR{k¬ciˆ För¤Ì·²¤(‘I…®×hšÚ^¨Pé¹c (ÑQ°V”sI²q™§†^bh%†^‘I›çÚ!­O,Üím_þNT°éùœÛ»¼W<Àœg4ІU ­Ã,¸#®ë>‹¬ÃzÓ$R>F#Å43´–BoÈ,ÃÍsÈ6[Ó”Î1ÚÀ"FÄ%ÕPP&©æQÅMZöš@†t¬9m}N_Lè2Ã&¥B'R«ºÅ²n±ª[誢V]U¸"Aqa° æ3ƒùµ¤¸A†d¸AJo<¥Ûº¦gOèª ãÿbÌõþQ®³×Ù¬¶(Ÿý£¿­CäôüÈG?ÂëðOþé?ãgþ«À?ù§ÿŒ7^~äÃÝ}g¼û7úzðÀoÿöo3øò—¿ÌoýÖo}O!÷ý®¿á†nøAàïLø}ö³Ÿåw÷wù¹Ÿû9ʲä#ù_úÒ—øÌg>Ã|>çñøéŸþi>ýéOÿÕ `¦ŸÓÙ™1ؽb°{…Û‹™ÈS£Ï¤î“„,tª…A±´É%ÉЧÙÔ#Ý®Ñ íP j‰h™d®ÏlÀñþ^+AZ'bŸcö9.÷¸Ò„=‡ð¾Kî:È¥¢»¿æöþ ÷Ý'ÜÊN¸œ9Ÿ¹˜íp±±¾j±¾j-<êLcå4yªÝ&—&—ÖßY"ì”ÎNÄO¼ñëü˜cõ/TÅñÒg½ì°-4Q _ =ŸçS 8Zâw×x·ሄ¸öˆÊÏóÛ¨L¢5†*Ù‘ç:Lj@½:™C€«"úƒkúýkªbÖjm¯v I)$ªxÓoã‹#+© Âä/#©lòФ¼ÖQ/^þ¯ÿ: U52©1WŽ“Ñ¶W íKœç¸ZÄîò”ÞjFcbF%ë¾Í¢×aÒï1±»,ƒ6r§`×<Áë…ìÏN9˜=§=›cÌ Ãáª3àª=à²3¤èI¼A¸ gC]ëd‰Eù¬Â‹¼GÏ›“ûÂKf´XngБÑfÁ¡u°qIoШhÚkn5Ÿ¡}ëŠKc´ýΩÕG™±nñ4¸ÅjàãoRä5eVSæŠR(Ø7`Ï€Ž‰£:ëÝË9½Ë½‹9Qî°”>Çwû,‹£ëSÆ×gŒ®ÏЬÖUµÕ£l™Xwb,/ÆÚ¨#ÁùpŸóá>rŸ‹ÍÓrëB.ÒÉX>O·H‡§‡cÚýÝ%±¢•­pç)ãÅ„|n!J…e¦XV†mehvEîäžAáJRe²œ:¬žÚ¬ÞwˆžÞ¹¢û鯬}+˱ò³Î±´ÏÙi·mÌV‚Yä쯎ٿ:a´œÐÐBDW¡:‚¤c±ö<âÂ&/ ªbëF9+{<Žïå>gÚ¯<æÎÉc8Q4O攇Åk’Ì0I»ZV£MÎ$£1È66“tÀyºÇY¹UÏ8Êžq+zŽ4Êípw}ûÛS£±öÎÝ1ïÛ¯!Œ‚þ+ œ’Nk‚©åøFH`lð£Õ öã´“9Æ4GYb[êÙÜ–{Êä¢sUî rAžÛœ¨}Nä> » kšlÚ³~›‹áߊqO&èr›å#`; ^ƒƒçeÁ£ŽˆÖIõ,Ç|žcF%ú¨DŽK䨤ìJŽÕ!'õ! ÕÚþ68l÷­OŒ×È"‹óó]:ÍÆŠFcIS®¸®LÊ>›< L%(µÍ–@ º¨pdº5ÒRl‘"4#A$ˆû ëÎfà°v›ÐƨtÌ%Ö Ús<¡SQ"¹f@R»L˳¢Ï¬ì!”b©uXëM"ÝÇ’1çZ‡%Y• ÕW´Ú Æ·æì-ÝšÓÞYÐÞ™Óî,h1ç4<@-uVËéÂ#,|ʵ¹5ëºáo…ÿþ×?Ï?üï¾À?ø/ÿ>ÿÛïý>ÿøþŸþƒöëv»l6ŽŽŽø¥_ú%~ã7~]ߎ}xçwøøÇ?þjíÇ>ö1Þyçï¹×÷»þ†n¸á¿3ágš&_øÂøÂ¾ðo=¦ë:ŸûÜçøÜç>÷½7p~NgwÆáÞsnï?¦Ù]ð4 ‘Ã&oPF&Õ¥vª/#¾ë“çÊÖÐ5Úw…_K‡#ƒÔð™5ú7h„¡8¯v¶Q™‹6eOR¸’bOâæ1]wÃm÷„ºoófú.1ÿ(ë“áI“'§÷I76EdP†u®±ª›ÂàBŽyÇzÈ~ãwÇïrßz‡{æ#ŠÈà[§%õ©Ïìt—ùdÀ*m“¤.“t€!r´%úƒí¨"¸·Â³6xfˆkn…ß\õ¸.G\çc®Ò;Åoðˆ‡Æ#^wÞ¥]-^‰> P:Ôc¨wÕÌ:­WN¢9u©Ó9YRkFZâ­bjC#—©4I “´²(6ÕDßÎTÔ€.Û×ѥЅÔk ½ÂqSZ½ÃÞëf@`®ØœÒ›L ^„˜—ù‘żìrìð¼€XfÆnï„ÛG^NØ9»¤s:G¡Ýâj·Ï{wø`çyÇ`l]0¶/[%u¥“%6Ñ2`µh3{„í e!0ÝœK,¶0Åf`N5® ÄÍ©iÈGNAß½âõ.rÄsíˆgâÏÄ3¯GX<òì5ª\GPm?U#µ‚¦»¡é®i:Z¬i¯ìœ\²÷þ{ïŸó¼wÈt¿Çñ­Û¼»wæÙ„;á‘® ´ù-‡ë£.×å>ëy×¥é-iî.h¥KÈáXÜá1÷ù€û¼Xߦ0tJC§pt #cÕH·8MÇXɇ8t_p;xÊà ¹¢-±9Îi†}–af%š[¡yõ6[@ÙÖ(”Nihäh¬g:ëgëojDïhYMÃQè{5+ÏÇ«RT i5¦Yâ;v[§˜­„~ë9+é^-èžÌé~°À$'»g&ÙØdÓqI›,1¶™æJgZô·¢¯ÞÇ­"VÇ-x_Ñ|oÁáûO)—¹ÔÉ{&iec%ÚDa?Ëi< ™Ç6ScÀÛÆ›|ÃøQ*KòñêëˆLÑf´åb+ü4¶ÂÏÔX ÎÝ1º•›+½ÁÊ ÐÊ’N5¡!VôÄŒž6¥«ÍØ©/Ù¿Þf¦ÍiAfšˆ–BÄÛrσyÝcVö™=–E‡X¹$ºCì¸¨ï ¿ŽÏ¬×æb8¤m-iºQáéöKÀ6Ã.¶NÀßÍ]Gød±M}"©ÿBRý¹+þ‘r›íí–(¢ATDec[Þù]ág XÒ&Ãâ"ÞáíøÃô“+FÕ9#yÁÈ;'TþVøeE"A‰mix (ÐD«G´µmcAÃ\£Ú @¿W ¥%—¸\ª&©”¡Y•´Ý%ú1o˜¨W¬ ÚLU«rÌU>æ*C «A(ÿùÏs}}Íïüζt4 C|ßµ>6›Í÷Üïû]à 7ÜðƒÀßé÷ÿ ^ž„à(„(y‚¶ Ñê ¢J *PÔ™„%TWÀ)ð*W¢uÀÜ)ñŠ„¶\1 ¦Xç$ÍM¯X3<+B³j !)Ô6òÚ¤–:f#Ç b UÐ¬Ö Ò9~’ OylŸØ„'.Ëc—é‰G… 𶆠u^ DÀŠ\§,Øá”Ê”è²F%–™c[)Žc–ʰò “Dn ±Sá¨_mèÔKå”´ô(•ÁœÏÅ-[§;e€gmhs„¬¶BŠ\˜,ZMVNƒ¥jåº^¡ëRßš`DºG$RÓr€(+D½-êÂ~™!Ûá‚;â 3­Kbؤ–CâØGQ£‘c‡—\ÔºF. ô¼D.KäE…|^¡›5º¯ÐÛ -SæxNDà…øú†¦¹ÂÒÐj2Ý$vl’]‡dÏ&Ùµ)m*Ñ Vè³=©0“3É1ÒC•Ôh$جi0£‹QXe†_FȲÄÊ (`!Z$–‡¥§XZB³Þ0(®Ø (¤$‘ ˆtHú”†¤ª%µilûQMnTd˜ª¢É†¡ºb &ôÔ”n=§S-˜ª)šVQ邨´™»mœÆщÁט6ö™úûLí=*×!qmrLj$²(‰gÙÌ žXçxAlÁ6bcë6µ<&ô°eBϘPC/ð‹fÒ˜mhž…yIÑ–”JnßW)°×"¯`]SgÁcEó‰"|¦ˆ^€¹oc.ŒÄª ŠLÅ 6 T†ïÍÑIiÊÂTØzŽ-2¨¡…nP:•­S¹…B¨­)Ц*²Â$Í-TÑAËjv6çÍž’\»¨SÞ¨°†9î0¦9ØÐH7øó'J°‹ ƒ]V ”£‘™+­Ée1âyx‹…ÖæJ Ùµ)0e†hW”Nl;¬ô€HÛ–ø–JU#Ê‘oC+j´uØ(D„j{Ñde‘,<Ö³&+Õ"Ì’Ì!¯MJM§µÒP•Ø § ¨·I4… ÑjCÙ37gn´‰j™Tt– J[RH‹¥4XM’ÚE/Zz¨PAœ¸¤¥A& 2Ý@¥’:–¨HnǪ z½©m…Èjê\Pd"W/Gc¸Ä/ûë2ÍL'Ã÷CÝ)ÐÌ]+°UJ‹%#uÉN}A—…gû…fPh&A”SÄk´è;®Øã”1/G×,I*›²2X•-.ÊfU—MÙ$¯,ôªBHk›Y݃RaÖ1çvƒe+ ß1ÐãÿΚþ+î>çþ½ÇèYHZªH–ñÜ#]9ä‰IYm¿óÚÍ÷¿u~ýóÿ-ÿÙ'>É¿ø¿þùßÈ~º®óá˜?üÃ?äõ×_%ü|ß' C›Í† ¾ç>ßïún¸á†~x…ŸèP:óKyÙ!a„+]®›}®QÃÜ–<½A@´ #.q’„fº¡—-°ô;/èç3îϵ"Ð×ørMPmu[¤hZMeè¸uL›-µ¤Í‚f¶Æ^fDg.ß>û0Îòl¶Ã³Ù.Ó©šÍ¡eCÇ‚Ž  Û ÂðBérbÑì×YÚÝ*¹4ö™òvÊèèŒ~4eMè‡Sõ†ÉíÓÝ.“ Ã‚&²*iVÆåwÊgPë„4˜™]|¹F)ŲxQïa«ˆ³|Œô·½t2-I3›IÖg2é19í“*‹±sÉȹdä\Б –çmN¯,g–›6ƒè’arÉ0½d˜_²£_R7 £ƒä”3c—óÞ˜³þ˜³þ8‰0Yˆ& ˆL‹Á>Ïý^è‡lÊ€V¶a˜LÈB m¥h,CÆóK伤5[QÚ[ øÊÒ 5aƒèl{šjO6F'£×˜P EÿtBÿlBûlNétZS†Í öZh*l?&ö\Ž}Bå2H&  ƒÍöó^×M®ê1óºÃ¢îÒÒì§ìÊSöŒ¤Uc¹9®¸*¥£G—Èu…\×Ô¥ <†KÔp) ÉX]2R—Œ¸`\_Ò64v×hzIÔ±ÐóŒ^yÁÝÀ~wFœ›¨¬fÚßáú§Æ”‹ìŽO¾¹õÊÜÂ"Ã.RÜ銃§Ð~rνs«_aö+¬~…Õ/¹r\{}®Ý>WœÓÔ—ÚÖß®RŒ/IŸ+T§Bæ˜ ”TµAÙ”lŽDé ïèãÝ-qD‚cÄ8N„£EØFD•J*}ëÑI)@ÍPhèxiBÿbñ®¢‘ÅØNJ“žÁý[‹ÙÓN(uIK[²ª›iÁ:kðõøãÊà$Øå,S44šÁœvcN7˜Ð·¯pŤWIå0«zDë€õ²Åd9"X…,§/¨§î"ePN(„ÁfÕàê|Ä u›ëVߊطŽyÝzÍWœê{œå{œ­ö˜_u±9A#¢,W¬’6—ñ˜EÒeQuÐâ «Lp6)Œèz Ì $ ,fAËÌv§ Ž& ’)rSrvgÌyÌ©5&É{¨…ŽºÖP3ÐÚz§DoÈvI§žÓ-¦ôÊÝrFÃ]k|wƒ¯¯‰M¢eR+ á(Ö* n êÖÖˆËQ1ƒ|ÊAqÊíüÃòŠ+sÀµ9`e´¸6ûX2g`]±/N°Œ‚¦±¤e-pˆðYæm.Ã1§Ñ>§Ñ¹2q­˜ó׊ÑeE¦,²Ò云¤ËÀbyÇ"7-äk`Y¸·!h¦´Ê³uÉlÀt6`2ïsZïs¬0mt¡Ua‰Ѩ^|nøÛâ`ÿ¯ÜþM¡iu]¿ºÿðáC¾þõ¯ó‰O|€?ÿó?çáÇßóùßïún¸á†~x…Ÿ$ä©Î|æ’NÛLg 2ˆoõˆâCs;D;e+üb^ ¿7Ii¤ºù‚®¾ ŸÏ¹¿ .\”YæÈ*GÖs­&jJ]’bã±Ï)»œ²Ï)ÍrÅÙrŸó§û|ðÖÎí²Ž5V‰Î*ÖQÉtú>t582a%¶È3à¢ÔåDî°Ò žËF/£¾kSÝu·R†ý5¯EOy-~ÂkñSzÅ”ïôïónïYCrE£.iFùw²çºÅ\v¹0ÇxrCbIÀ µG®tõ³Ì1«m$K‡‹“]Î'»œŸìR.%n½…ߌq›/ºSæ“>g“}ÍßàÝͼ½Å‡â·p³˜Ã☱~IЈØŠwxbÝæíÎ轜u×§&Kp¡ Yj/ä>ÇrŸú!aî1Ì&¬ã²ÐB¬Á2D.Jšó5»³sæ~›™ßf.Ú¬Ì&•­o»‚ª§!4…agôì \¡/Kg+‚·Ö4¾½¦Xt_Ÿ2|pÁzP¡±Ï »yÌ…·ÃñÞ-Nöoq²H2ð0»V»Ät+\R¶ƒÖ%%ªTx³5í'ß1ßKpökœ}…½_ãDŠ'½#÷nóÄ‚UdDkŸùu³™ã7BºÁ’qpͺêp•yT<äò!£ê’»áûÜ«Þç^õ˜ncN6°™ªº]¡™5;Ý3Þ8üoèïáÄ ß}³ÿ&++à*¢œ Ôsg ív…aäý £—ÑW©gÕϸU?Ç–)¬æ63šUKGØ Ù)X«™m’Y™iᨄ~1á 9å^ü˜ÝüÍ…UÝ"Ö\.s ˆ+ØÇ(Më&…n ŸIÞçr3æl¶Ï‹Ù––Ñj?a¿}Ìmÿ †Uð,;ây~›“lÄe6"o@qŠ]E†Õ0q›j+üªë]N/xtò&N²l6‰‡ñÐQ…i%TAýï8(Ýð·Å_ÇÜåçþçùâ¿Èƒ8>>æ×~í×øÙŸýÙWö³ŸåK_úüÇŒRŠ/~ñ‹üò/ÿò_ÙCñªdôßgý 7ÜpÃ?¼Â¯2¨"hj’žz,O[ˆÄÍEyjPc‘¡„@ée”R–˜Z¥rœ2ÃV ÍzýÒÚ[£*e¦QÕ‚2ר –±|¦ž3æ‚[<çOhèk¢,àÅâˆó³Þ~üªŽ¨UHU‡èõ(C¢\ ÕTèY…^•ÈM…~Y¢­32 &t˜à`îg£ ßÎ ö× nÏÙOžs'yÌð+S IDATëÉwåW”¶ÎÚö˜˜].ò|M;_ÒËç ‹ SÑ£-æ4Ìmÿ_©é„¸\0$ÄÅQ f•cÕ/…_ápVp6Ûãìé\ zƒ·ûÏ0%­æŠz#™¦}Þ«ïó/µŸ@žŠ–WÄùsl•Ò464½ ´AÚqÛfÙ ˜4:”¶Ž)R*!…C* æ¢Í”×ô‰j¥j+—B¥0« ½(qÒ„*Ò©¤ÎÆô)mɆ€Ô´(Lƒ4°¶ï‹[d¸„tÈ0‹k™ažg˜O2Ô üîšÞÑ5‰e£u*–¢Å’&+Ñ"ª=†Å„,¶ëŠ`"€p®íðž~ŸT³h×iMjMbxv’ág!­rª»ó ö^†“'œ#ÎÌçÖˆ¹Ñb(®hW/o¯I]›Ô·I„M¦YÔy…ö<§±ˆÞ+Ȇ&g»‡l†]N>rxÐkšrkÄ¢HQ”ÔhheM3\ОÑ;=§ýô ';''?^!‹”ŠšÈ4èÙW´ä”@®qŒII­4’Ú¡¨lbÍe&:Ìô.SÙ%’:®P×%<+(Þ«Éä 2)([`š¢,±6%ÞU†:‡üÊcHžƒÖØ~x CÍWä¾Á&ð)m¤BÓ+ ™S ‰&+,VtêYíVYáPæ&†S"AÑ6Hz.V•b‡^£ÔÔ1Ô¾ º-¨÷F#§•-hf+T¦,7\ç}ÂÏn󤺃glð¼ ^gC0ZÑfF‹%k|B\•`Õ²,Ñ E”K“äZƒ3Nºdªõ™i=æF‡TÚ,ê˸Ͳh“–®LØsOùpñìŠ3PÖ>×jÈTõiYH‡›ˆ ¹êðTñMý£ÜÉŸÐŽ܉žÒˆBˆ¹¤í®hk¤QrØ:æú]>î/ )}µïsf9/ÇT¡AumP½€ú‰D·+ä ÇÒR¬VLWŸ°_¿à~ý.Õ#D¥k(÷ Cä4ô5š[ã­ÁZ5XÑ`]71Š7K¶ÞÒý|Ɖ£Ь¶YÒbO?ÅÓ7ŒÕ9÷y—uÕ`Rö™dƒ­AÑjÀ|Ùe½h-¤^aë)]cÂù ³ÊYgÙ.ef²)›(j_¡LÐÌC3±upµœ  )ƒéºÏûÓ{|íâ'ÉkÙÊzŠô3¤›R%Û2’~Øø™Ÿù~á~G1ùÌg>׿üåWÿê¯þ*OŸ>å7Þxuÿß%ä¾ßõ7Üpà ?üð ¿ðHQhþ^H°¿ÀvÖ”{%å^F¹QöW¾A92(îèûÙd1jrêŒAW$å¶×)©\ÒØ"[Zd¡I¶±Ø>³n‡y·CÚµÁ‡Ÿ«—]þ¾ ‰‡­×<”ßf0¾d¥Œ—a²R…Á6fP|]áW!]¦t¦t÷¦Xu„ G¼’§w+ä=‡ }pDŽŠ+«O!$OŒÛ,U;Ky=}]uΞvÆX;GÓJ®.+# 3L4½Â9&E‰$Â#ÉÄúeŸÕÒ‰Ãü¼Ç*l“k&FPRu4Š‘$Û5Hû&u¬QŠ­iÇSŠžä´·Ë×3ÍzË.x‰´ ÛýöŒŸjÿ+,3¥_Oè×õ„”lZMæ­A+¤2u¬vŽÜ-ÑÒšÚÑXí6Y쵘ï´YôZÌÝ6 §ÅÂÜŠ5¥3ÕES5ºªh°Þjˆ)=1£v!Ùs¨SrElÜvñ÷nY'ôÓ ­ÅBo3×[lDÀŽsŽ×‰(„ÎÔi#ãù9?²øíÅ‚AuÍ=ñ>;âSËÐÌ Ï]Óqt*§@Ù‚®±À3ÖH?G—žÑ_ÌÑW5­ç+œf‚Õ(Éš6“fŸ•h²MÖ¢ÁŠ&YC§¸%(AáÖ­‹{}œ½Œ»þc*ÃÀÒ³m᫞šÑU3ºõŒ3‚ö‚àö’F–âµ@ÓAiÍ¡XB}¶ÆmŸ1lAÚÞЬé'øÃ9rT°±|Ví«Ý˼C™I -ǼÌèÇ35ùBgÒqöñ]ò»:y­‘+¬Ö¨ƒàšç®¯iþÙ5ÆBá”ÀŒ‚á€cƒ¹íÏK|;¢²4 «$j¸äƒëþ“þQÃcNš}Nñ‰H —ÄñH„KfØt'†à¼3ä/>L0YâM×/c…\Õhá¶gTÏ ªf¢ËÜè2Óº\1âDíQš‚aó³Hq†No[bêá±u–Œð¸dŒ0Ò/ Œ ÷øÕÔ`G€ˆ†ÀËb|µá‚ÿ·úOÉuƒkk€4sîZïa9÷ô÷‡—øOb̺¤·šsÔ|Jü¦Kp´æÎà1Á‚l 9Ž q‘*§§®¸Ë{4Ök¥ǻêë¼B*n½à'Ë?ÃÓCŽŒç ‚Kt™SVß^³kŸðÐö1Ë”¥ÖaYwX¤]ÖakÛ›çØU‚GH…4ÒfÒL7„ŸõªÍéj—ÓÕ•¡ã·C‚vȰ=!µŽ«ŠÊfR9¬ë6'ÚŽ– ×Nçö!K»‰ÐkÚ,(•ä¢Þ¡V—õháoû §-V³…2Ñš}ó˜ÝÁ)V•Ä+–óßL?ŒNEât½)?æ}æw˜D=&yë¢O\ÙÔ ÑÐÐN…1(°DŠÝŠPµ†Èê÷ŠÇ[ûcuQÀáßÕAï?^þÍìÞ_ÇÜåÓŸþô¿íþ—Bð•¯|…¯|å+ßsÍ_žøï³þ†n¸á^á7Þ£QÓ8ÌîG o-iìÌÉY#"k¬ÉÜ€ÄwH†Iä„z3'mÌ›MNÝ™°YÔ-–u›…j¦ÑÒ#:ö‰Ž=JiÀízkdâÖH¿ dëæâãÊsXÒ’sÃ+´‡5gjÀÃí­ŸCr œBy~kÃÞÞÖ•òÎÞcw… |ÊÕ(»&eפLJaRHs;3Lî¢JN¼ /Ç—´“%†›cx9š[1q;,õ€L3ÐôêÕIªBP`cRe’baR\X”—&ÙÄ&Yº$¡C&,dPRu·Â/=0Hv êBa~¾¦SLɥΉ±ÇÔèñNö&bY#.gÀShk F­ F­ >Ôz›¶±À+bÜ"Â+"B×g~ØåòpD`oÈZfë¥ðÓkêŽ`ÙorÜßãEÿ€ç½2Ã"3L2i‘ s;<\Ydõ6:bÆ-õœJÓpµE²¿5>‰w]T®á5¼ f`Í0’йÑfflËG—zƒŽ3Ç!…­3mwO*Æ“3ÚWs|ðm¶‚]1ÅJ«ñ´ µ^ µ ªÃÿ0AhÍ£Ïk¼ED[û[WØTÚlÚ>× ¸&ô¹f@ÔtHmbÛ"Ûn7Hð† ½à1Ò¨@€ÒJ\bFõ%£úŠqu¹ýÛÚ ÖíÛÍ0v¡¼„âÒK(.¡¶7¸Î9C{ƒ´Ï î´ßHñUŠì¬¬./:‡<)îòĸ‡¶¨¹>åèê)ãÇØ*ḵÇygÄñÑþ€¼”•N^IT šæß¡yUqðîi)l äìÐ )sç`¨_ 1´_XôÚœÞßáêÞˆSw‡U£EŽIƧÜ/ˆ HøD†Gb»øFHÙœ Ù„Ý÷/é}çœ^½0Ä]U¡ÀŒ2Sä•Í¥óñ˜¯15{(SP7ƒô‚au†í§X^Šå¦˜äTèÔhÄxlhh†ú µ¦!6hÍ¡³c2,ó×Õ‹rÄ·ÊPé:®âÚ!¯ÙïÑ-§ÎNM/ð§1fTÒ f5Ÿ!÷J†ÁMEÃ[‘y’SoÌIFŸ+ ¥‘[6\Þ-ðNô–¶bÄ9ãꂇÅ;t¾¹&Ð7è^A…À—+öä BV4Ó%'Ú-Ž«CŠÔú+ÂÏy)üü|C°ÙÐXnh®B’KŸõY‹ã³[¼uö&¦“s÷ð1Ã)wŸS:Ea1ɇä…Ô>v#…âÀæÌ±– V²Š6 ŠZrQ¹¬†ˆZ‘ÍlÒ§.éc—ä‰G+X°spÎîÁ);»çÔ©bö¤ÃôI›žB;û×ì\óæþ#ÌVÅ»‹¼»xd᲎šÔ#5Öµ@·AÚ5Æ0Çj¦ØûÕ9TÇ1ÕIBy£’ ýFøÝpà 7ÜðC̯ð[K;5Íýœñ^ÈÑO-è¿9!&"bM,Å+‹tÛH9>ãÖðŠ[ê9c.xû¼Ç}4 búèÿ°†ré×!¸³aoÿ˜‡·ßâGÿÞŸÑÌШÑ^ޤ.^Ú°oD@ˆÏœ'rŸ+Ùç„}Â2àG“o2Î.y}ùY¼Å¼Ûd.[̽§ÃJ È1ÐØ ?`+’^F’»Dó€ø4 zO,¾;q <7¦êhä#lß =2©•B’ⱦ͔uÔbí±Žšl¢õRÛfûžïÂCõ¯ù§|¨ù6ÿIë_±«m{.S©bÒèq™èØKüaHhz˜í©•hAÚÑX6š7÷y»ñßn ½ÇJvÑÝ©){: zt–{¦Õ5Ý»ÝovÈ} ´Ž‡U ^Ub”;¼ ˜‚ù`õÀðAŸ€·ñV1¼…z¦³L{¬ôQÏc¡õ¹â˜KN¾_·.;;dw°ÏCô[>µ^14_ñ‰õ_HqhÑlì&ç@Í8©¯xR_1bŽèpA;AüK(6­ þ=4ìñØc èÖ×·1púú ƒÈõùÐ;å—ÆÏùëÎ_àÜd4¯u¦³[F¯Wtª 7??bþlÊï~öS¾ùäsÊÒ¤¨LÊÒ@¤ ~þºæÉýõ·yòíùÛ3` ¼nÚ϶«0ꊠ‰¡ýHq™ŸpïNøæø+æ 8åg|à„K&⎽>{Úÿ—¤ï’(—Hq˜ú'1TbŒè¶àîFÚvüòÊffLùÖø‚¿2¾f¥÷8ìÜ0å–©ºaÀS”˜h4¬i?O;B6t DÄ>ã¥xÍKý5¦QB¨ „R|[~ÉÎÿ ¿ÍÂÎÿ5.øÒù_¸¿ã…óгèœ~ºamðÞ%˜‹šá+ôãŠÞ—KN?ñ¢U, apýðÜt †Üá±ãZžpQžrŸñÑ<å©vÁ¿æ?ñUý-ÿ²ü¦Í5¹a»¹aPH ŸGÔtY1U·8ZNU¬³!D §U+üª_ÅED¸‹û=÷ïؽêòñÕ¿yõÏè~4Ç‹R^hçhƒ†E>áM–Sd m SHm›¥Õ¥Û]¡S?TÛñ[¨!‹fÀ¢²¨†T+“æ¤ù•AóKÉË£×kW<9ºàëñ_‘î,þ&ùoÞ<åoÿ¯ÓìtÜŸþ¾ª¾ãŸ‡Í¡w¿ŽÈ.®.O¸Xš4Ï%ªÑކ6h;~f§Ä233¦P õ6¦|Sü§˜fYa[Å?Òî‘Gyä‘GþÛóÃ~G ñe6¨_˜'9NሔM5ôë5Ãr…^7hUCWßБºrƒ'c¢, Ž%I쳎l>öI>xä3›z#Ñì†:“”¥AÞ˜8èìñ‰ØÓQ[¦ÕŒƒrÆ Zã× ¾ücÅøFŒÑo^ì)ó9¥o2ð—4¡Æõâ˜æ¯uœ0A˜ ÍTSQÛZŒíšnkhp¿žp·9`µo}>¤ÏDiÈUþ„ýÖcï±÷}ö¾ÇZôX‰~[ôÉ,›Ò6¨ƒÒ6¨SÍwÔæþU=I±¶ʤÜÌ×cÞ,>EtàÚ>æÚÛ¢»\z=VĵÁQ8FÂP,qã/Jð£?ŠÙ›>+·ÇÊí³v{82!{2ápÁ,òÖr^´" 7ú”Äp™‰œ2cSwØD6Û.[`Y9–Õ•›VŽåXÓ ëe‰U”Øy†%3lÙXUŠ™&ß—ìUhÏuª:ÐQŽN1²( “Â4É-¢—xêû.&6!;ÆÜÓW+¨5T©¡ A/Yr\q\1H®q´”Ð7i<“Ú7±­’‘¶ §o±µ­±¢V+`Õ[Hg°Ú·¨Q €æAÀêiƒ\U˜Wà¼Q íŸDïP‘A'ŠûšOÕÌi\Ø>ûg>ñÄ%1]ªD.¶ø‹þbG¸Ør¼™Q7Š7OÏH:Î(Å™fØ)ö$ÃVÖm†%R¬,Cf5 D›~b“3Îæ|²~‡vÛ°uB†Öœ‘uÏÈšh{äªÀ^Fx« éÚb3è±í÷ƒe_¢÷â…ŽÊ,×c3¹{’…äN‡MÞc±ÐI·ü³ä7Äx¨ðáÞ›0wÆZ‰!J¤([—˜QÉq|óø#6©òyÅç|䌾¹f`/¿/=µ¥ö‚¬v˜cÎç4†Î6íñôò’z}Sx2ÁÌ üe‚ø¨0«‚JTBR"©„A!Ì?A–à— Ñ9Þ˜{´Nɬ3æ—îOñÕs²­M–Zd©E­4Ì ÇôsÌ À”Ãтӗçh¢?ZÒ=]Ó¬éVkº—‚õžòÎâÍýKf÷‡Ìã³p‚ùY΋£7 ½'‡ô§+L;§* ØƒØ´ß M£‘U»¦ÛN Ô&#ô˜3bÁ@-9ß"w éÎç~k¬bºù–ÞtC÷/¶O.9}ùžþxAc¶±…´©,›Æ±È›E0æ<|F§q,y¥?嶉65õÍ–¹²y•ë÷}ÒDZ‡+í)¿ÓVíøã÷e‘h‰pÊ£ $MO§îiÔ=)+l+ÃGØÝ 5DB¢" Y„‘Áýj‚ k¯OÇøœ½ï³óüV\JŸlçÏ,ês‰:pO+4¶@ ;3äƒ<%³l®Ý#<½í<>¨ Ri³h†,ò‹ý€z«±Õ»¬µK¯íÀ¥† fƒ'c†ÌéG³ÃÙŠÁlEz,'=–“>K§G©¡H…ÃOiSßþ„ê·bŠÐ¡Ñt¢(`ùDq@œxxa„Û‰ðÂ׊hIs(©+ƒÚ1ðUDÇ^ÓµWtí5ýrÉ`·`°_`ïJL§¦z¦SM ªÀ wlöÀ½õ}âÔ£î¶ïChTè6mÆ™FƒÓdøuLPÆøy‚³Øb_m±¯7Ø×ÛVˆHäDGNt¬^ïÄxvŒmˆÄ¸q Í%”×ÞÂnK:¿´T!W ÖU…6ŒŒÄoéF;Îâ(]oMoº¢~û `×󈺩éPÇ’Îõš'ïÎyúö=Ç/ÈúyßãÍé3~ßÿŠN°¥nè…kºÁ†N²¦ã®éˆ5¼ÄÊj¤Ý¡ƒEÆ$½G®+ú·+RÃÁî$ØG$FŽuá½Ö(ßhïuÌ—ˆ—5Õ'’¤ëµÂ﹞MóÔgït¸s;<áÖ=Aå:ûÛ-Of—Täêàˆëƒ#®Y÷ûH½D×+¤ÞfѬ¯8¹»nëþš;1æ^Lø žs/Æœ„—¼ì½æeï5ÝÞ-mÕŠq±‚<³™3¦B²fÀ²Sî\œmɨ^" …™•°H0š w“µ¹~šFóñWk’ZÓ©„N­Iz枎µ£ç­ôçT¶DsJnì1K»ƒÊ4ÒCzçÎ\ô²âàð–ÉtÆ~KØÙ2ÏÑ©éö6<ý䜮µ¥kmè–[º—Ö‹>‹»¯ïXÜ(Mº ë$ãeðЉ;ã‰yAßZbšUÖ ?À4…FÖ8(…fQ(›>;:*⌠^¨·È›†læ1¿=@ÝHBwÏYxÎóÃw¼øì-½á ²ÇG4–Fª¹ä†Ce[(Ϥ‹pÂûN=Anx/¹y~Íõ–ûÈF›Ÿ²þÐãmç3æÚð¡FDZH¹…zíRoK°+ÐDÎ?Òî‘ÿ7èºNÓÔî‡ñÈ#<ò_¥®+t]ÿ³üí®ð;QˆÿP#d…tKL/ÃqÛ³ IÕ ?Õ ¿gé9Ï¢<Ή}‡—H:D–‹Lkê…$ùà±9°½î î4ÔL Ö­#hé¿¿/ü^ð–§ê»,°“{_ Ç ^âãɇx?à büÓölÛü혫ß=áêò —¿{BRy0ú  OK¬,ÅÖ¬0Eè ñ]@ò‡€ø—Ù+‡(èp‹q…>dΈ¹±`H‰CŠý5€­Þa§wØÉ;-$Û¹d‘K:÷ÈW6áxC‡5¡µ!Tb? : Ù»¢I‡Ž¹æÀ¿y¨kNò+Ê•‰½*-·˜¢ žHʉEZD®ÇÒ°èXÖƒ6'N–zÙ®”ß ¿?®ãfÁa5ã°˜1Íî‹”ìMMö»Šì›](Üï¹À{Ö!h-lÚÓg ­¿¾Þ@¹ƒd»¨mZ€ý°ê€ÈäJa^Õ8RàjKzñŽgñGÊØ ìHòùÔ a°ì”O¤Úïj§Ó¹^söÍ~ö‹¿æóoÏ·_ÿ˜ï¾þoNÏøöë36æLå-Sý–©¼e²¼aìê4¢ÀÈwˆì¡±"[3›œIvÏ`½âÙN¥IªB£•­Q hîjÔwÍÿ]ÓüªYS6­è3^ôÑ{ š¯ÃS‹¦ôÙpÀ¹ø”o´/ùF|E°‹øùýßòôÍ?ÿïѪ†¿zñ/¸+¦Ü›SÞ8ÏÑe…nÔè²ÄkbüuÂ󫜼¿æçïÿ–_hÿœÚs¾Ó¿äÚ×|>ùõ¡A·ÙñÌú€–O¾¡Ô¾!èîæ G º½ 'Ï.h îjGgµ£»ÚѽÛñ›ûŸr{Ì«»ÏøÅý×øG{žœœóäÓ<ýìGÖGûýh…¹ÏIöD´ÂïT¢‘áPh‘Ñ ê"ÎÔ?k~CúÎcñnÂùÛ õFÒyqö“|}ø7ü‹Ÿþ¬nÖšq™©å —B:T¶MãYºÇ<œ :ÛnˆîYH›eáü©ã7·Ù=ÞIðÛ.ª2Ú‰’ ¤C¡l?:zþL¹»¹æèèøÏýPyä‘GþW?0:˜þYþöWøíJx¿£±Š~E2줇eöX•}–å€U9d_øØ‹ } jiP.lâ¾KôǸÜnI*ÛÎ9èßઈ̱É:6ùØÆ Sz+œ[Š[v·Œå[æäºÅŠ>ºÖ eƒ4kD-ØÊ]5ŒÊ$`é9¶‘b[)¶ž¡ wL£ëìë²1 µ¡µ#ôwX~ŠæÔ³BÓ*J%Qµ¤,lÈ JÖtFò§R|ßICmHüCEåæX£ ËÈéZk&rÆX̘4wMÉFë±5{lÝÛ CxľK커¾–BéªÌžHñì5^7Å;H){Yc‘)›¬±ÐÝ»“cw2ìNNÕHv„ìš]’év›‡¬ÚÇhåH²ÆÒ -cK— ‡ }fâUICRÅØ$ÚlÂk§ÃFïg.bÁ~±/%mö›–áh)¡±ôl¯@÷j”„ʑߦ)–Ìé”[&Û;&ÍIå©€È ‰d€oGô¼}oAàíqóKÏ1d….PE×fïl€½òI3pã‘Cæ8$¶OêØd¶ƒ¡mO+ð´©Wä†ÉÚê¢j #ŒÐFÚqŒÄHQ#$j¬Sô$Ê©UE…¶SÓž…ݨT#6BƒËAȹ 1˜Ba °4ðà!˜@аN«=a¾#;!Øš>…+É;&E×Ä©RªŸV¯˜è3¾PßñIyΓ䆃hÁºœ³ÑîY»3ÖýÃrÉ(½g¸_ÐÏÖ·{¬UqIQ*þxo@Óh;²Á¦* †ªÒ‰k›ºq(1ˆ…Mj›¤¡A22IM£æá ë€%CJÍ"3\¶ZŸ{9eß„D7R5 IDATM».9®oÔžÀŽP]Áæ D¯´NMßXñ¼|‡dÔ–F-4*]ÃÐKl;£û~À,™°Ó|jMÃÖRúÚ=,ÙÉóârSsM8_ž±\)&F^♾á{zú ©dšÉ’I摤.Iì‘®œТ åîï•.k*Ó 2ú˜;ý€û|̼qŸÉ"cYá)¡¿§l8èÝ0ð–„ÆW$(S L€ö’HIå‘l}noŽy½äCyʵuÄ}L1”ô† ²‘M5Ò¨LIjÚìMµì²«ªBÃhrºrÅ0¹§™akX•U6[=d®¸Òèsvý#Ê™æ×üHý–Ãá®¶&Ù .Þ÷q)Zz¬NFhìèVLžÞ±Î®°ò㨠pMÙ¹ @O †)Á'KUE¢ýQ°YŒA‰”XaŽDÔµ ,4ªR§,4TCû½÷È?yþ»óoù?þ×ÿ…N'äôù'èúw«óÈ#ü‡º®øðî ùÿgþÝ¿ÿŸþ,á‡ûmx•£þ÷u'!}^³}a37”®Ã"²ˆF,ãÛ}‡èªÇìê˜7WúWkŠ©A>5ɦù¡I#4M޶|Öß±OC–QŸe4` p͈ƒá-Ÿ†¯ù$ÍÁj([1wÆÌåaÒš8HHQ£‹šiqÇqyƒfÖ£A˜5šÖëµÇò2´nƒ/"ž|äìøœ³ãsüÉžt`’†©i±+f2K#u="¶Ucð'á¤ñ0¯÷PmpýØeçôŠ]¹¢®ûw6·æ7LÓ[ÜmBZx$Ò% ]vZ‡›É”Ûé7‡ÜOdžA!ÍÖâ"3é˜wœ/xÚ\ð4¸ RK½ÇRë³ÔûØZÆ@[3ÐV ´IæqÎçõçÅY{æN{xO¥ÂÊJ|•Ð+w Ó5K1&7óZ|ÊšrÝY2Ð ‡ ŠÀ ê{ì»>‘t±¶9½‹ £ z¼}Œ)ÛΚi”Ô¾ÎâhÀò°Ïò¨Ïr0`á Yv‡,!› ÇQ}ÉY}γÍ9gËs*à 3m2Ã&wmt»Ä²2L™b‰Œž¶iíéUÔè$¶ËÆèr¯ ‰JkYàݦôg[ÄZp1»eÒ½c4¼c4¸gäÞã£Ðh(4j¥³ÈÇ,¢ ‹Õ˜ÅlÌ•8æÒ8án4¡œTSI6±Ù+ÙÇ”ÊTB§4%™m“{3>»%Ï${³ÃÞ Ù›!¥f²²û¼·ÏÀiXÛ¹i¡úŠ'OΙ¬nPYyÆùÇç¯Æ`¼ezºbz¶b*WL¬;ö“ ›º/²-‰ë’ÚÉÆ‡½ÇH»bx¼b\¾\qõá9W—<¢­Âê帧ÞY„w“­4’+“øÊ ¾2¨S Ê’òeóÿ/<åßüÛÿ‘ÿó/ÿ#‹û;êúqìó‘Gùó£ë:Ãñ„õßÿ;ŽNþ<Ñ?Ü+ØU†úßVÔ“’$ªÙ˜6ö¤O2ì2OÇ,vcæ« ›EŸÙ›óm‰ù¶À|[P?ÕhN5šFi ûó6r ô{Ã^\'¨¼!.lÜ*â@ÝòR½æëüWLVwÜfj­1aiôh F×P¶Ž¨Gù ÇÅ ùÇù •-(I¡IJCg¥÷ñíËÏÑ: ¹çéÁG~vü+¾>ý½ñŠ¥Ûcáµ1wÕ!52ËcíÀ§Ï3hÍRífÐü;•ÓvýöÀXAF/_q¨_1 ¯9®8‰®x’\s_ÓÙì¨sI%uêPgçvønò’?¼Df‡qåCP–&UjÑ5w<½ãëà—üüèW,Ö1—æÖ1~ó$¾âIrÅ“øŠÍ¶Ç/ꯩ ûl̲<ÌÒ ¿Jaf~™Ð˶ ô5R(r+NøN|…oìÃ-ápChl©LÌ´ÈM‹LZLãÁeÌè× >ÿõwŒ t«A74KQ _ôYª‹NŸùpÈ}ˆk$hAeÃáꊗ«×|µþ–/Wß"BEÕÓ©»:µ«QÚ:•¡SIRèØZAÇØãÙ²ª)1HlçAø‰ —ƒåœþù–É«9îMÊî´Ç»§×Í~ãü”Së=µ¥ái¦,Øéî­scÌÜqàÜòÙà[̳šƒl…‰"·\"+dov¥ ·Ø¶æMó¼~YûÚ*S'޹;þœwÇ_óÛ㟷7*¤BH…&šº¤] ødûŽñK QrPÍvñ ü,RÍ¡:=}ÃX»ÇÔK,+'´"{OhG¸–bln0¥¢¯my".ñã„à.&8ÎcêË’âª$ßTU+ü¤æ…ßß}Hh¤ ÐMbÍc#:Ìõçƒg¼Ï9ï>ãã³Sè+¨v Uë¨LƒDCÅ:ÏÔ9_i¿çD{ÃÄïšâjpÈÕðˆwÚM­q”ÝpœÝp”ÝÄ{–²ÏÂnÝ_WF—²kPx&—“#Þgí(±È8äŠgâ óí„›õ1V§Ü¬ÙÍ;$ —tåmlFþ=S÷šÏ§ßðÕ§¿ãhr….ZwË\èì’ ¯åKÞDŸòºþ”ëg}‚øgö¯HKωy¢.H”Ç<s¾yÎïŸ0ß(o%ÕÌ ¼•Œü{z?ÞðòG¯ùòÙoyúôckbd¶fF%Mk‹Eó`’µ-:¼žóÝòKþ0û’¨ã“ ]Ò‘C5Ô#tä° Vz]¯©Â2(|ƒ¦«QLtì2f\ÜBÑ0OLjD‘§6Yi³´úÖlBŸáƒ[¦ÅŒ'ù9Óâ–ëW=Þ;áýë1ï¿™p8óÓŸ½Á—1/Æ1~7#›ØÔ} ýy…›ÄÌö‡ÌvSÒOYûW¯øâó·œèøæ— Òð‰¶®ßƒÙ-^ìé}½¤ûó%ñ{ÉúWõÎ&ÍlêÞfðxÎïŸ:Ò0ùâÇ?ç‹ÿüÏýPyä‘Gþ«TeAUþã;Eÿp…ßÃH£P ]Õ˜Ød8T¸¤¸*ÅU ™r( ‹$v)6fY} iÇá$Sã–¾·æ¬÷ž’&›¢‹,JD¡ÐóY´¶æZU“í-Vi—«õ!7ƺ۠9m™NÉ€%ZS”{ÆÜ‘cáãPá´ÂÌWí¹¾#Э û0ÅŸîèMVôú+JC#5L"é"µ ݩѺ b¬ ¦uµjãö ½Û Y5z§Aë64²Ý¼ÕNSjˆ.àMa<¼V¶ŒÔœ®¾¥ô ÊÆ 4 TÞ8ÆêæèN…ÐAW ²©0µ‚ZäXvŽia¤u<Ôµ MkšBä½ÑíˆF¡Uí*Písðh7õ%4è”BR(“ ‡¸öت+5`ÞŒ)-‰f6X"£{J]’5‘òˆñèÔ;´B¤ÓýãÝ‚ÔvÈl‡¬vÈmÁ:Ƙ—îWËpõO‹éik^”oysºüÈÓÙ%u%ÚlhPXF&‘èÔ…NUjh H ÑŽffºMdøÂD” ³†&ÕÉ›}RDéÎEm4¬UAèíñüÛÏ1´ Íz˜× D›ÓW J r ”&ÙX+·ÏÊ£*I’ºd±Mi$†ƒò5šF#yh3 ÙvCRǦÊ“hèmé ¨h×¹d¯|2,j¡šÙ ó sUB£Ì=¹Ç7#3¥ š±dó´Ï"3Hl’žMf[¨ZÐÔu£S5’RÔª¡P 5PZ !: uò±@Mj,P}Aá›$šC•ˆ@¦ 2UÈJ¡›=Ô^…fµg€…¨[áWé¨\Ò¤ ¾Šè+޵^èïÉ-“µÓ¡p î¼1Ecì"šÝ —˜a¾À¨ œ,&[úeÈNï°ÕCvN‡Ü·@!4­FHEUkä¹I;Ôº†#¼&B/Få=ÕŒN½Åjr”€Ì2©MÚÒÙ!—÷Çœ§¼µ_ðV¾ü“#nÝ~<ºö†‰yDZwÉ*èK— ‰.jR‚fO£4š‡³¿S1ãļäÔ?ç“Þžö?¢4Úß+ nÚ\ÂL8Ä¢Í'¼–G\XO8÷Îx>§ò ”%>+‚J¤Êa§:˜*£B'ÆcK‡•è#$쀽(…‰V7èû¹+1÷ffÑø‚ØsQ~ŸÌ7Õ£)«{^6o`wÄâÆF8#öÂg§2\ ,*¥#u²E{3L)„Ýö-µ¢Ak”&°ýoœÓgôÝ„à.Å9O‘N*Çrvts&Ç·L_Þ²®]ÄEÜë²Ã¤¬ô?M'<òOš?׆ê‘GyäŸ:?\áwl#þ‡>FwOïùŠ£“/ý FÚ–¥=dÙ²’C–æåzÈj=`¹²\X0Rm†ØDÁXÝœÀÙ1 NòÖUÊ<>À‰ ´X#m<ÖˆæS\?¦Soù¸8æryÌÇÅ1ˬOpí O"ƒ®c˜9‚šJ¤†ÅÞòØÊ²²ûìYaÒèëq‡ëá”7þ3BkÈBï³Ð,EŸ{9fÙOŠÒlÇ<ç   ¬†aÛ9Ö4Ã>Í)-²c›|î-²Íú¤¤‰K-L¬¦ cmË;¤W°étÙdmÝ×cÞºÏ9·Î˜e‡l–}ÐA×j<=Â3#j·j̯ՙ«»8`¾±Ø™ïGX*ç^òAÎ@®HœvÔóÂzBøíöJ ®4"Óen ¸p±œ„«âUÑ#-l¨¡³Ýñ$¿äyö–gù[v€ÙxÂlÔ–g'؃ãi‰ž*Ò˵}Ì•}̵}Lìyô:KúÙŠÞÅ’ãõ-¾•2´W<±®ÙG÷·ÝÝÐ½ß ŠÔòX÷B6M{ŽPFî,ù¾j©“Œ<â‘G2ô(œö eÅa9£J%±æsÝ9æÍÑg$–G˜H­æ‹íw|Ò¼ÅÆ8U‚-c*OâÖiÛ5.çT…»ZÒ½»Æ¸»cu—QZ&‹“€åñˆÅÉj×eéoè5zƯ“PFFkÊd±ÉmP¤;ç¿åËoÏá‰O=xâ"†¡?ê× qª>2aF`íЂ ­hEw-0V•­c 2ÌAŽ5(hlÅxÀâ嘹=fñdDvd’YdžE–YtŒ=ÝÁ–®ØÒél±ü ’52ZcÌÖHGÑLm²g6ûç6âФîèÔª+i,(@¬ÝÙ?qŠ‚Q¾âYñ‘y9¦˜JŠR’KIJ j̦Âj*̺䨹áLs¤Ý`59™nQ×:¥2È•E¬»Ìíns„жYˆVÖ軚ÎrO·Þ‘:Ëv”ÐqI‡­Ñ†ß¶2¤”&M ˜rÍȹÇ0j¬ºÀJ ¬uެkX*’sŸß¦?E»©0Gæ0ÇåT†da؇ÅÐl;÷ÌÙ¬Ú5ëX¬Çn'ÞOž’H_lù”oé² I<ŠS“rcPlMzÖšÇo8_ÑS;œ]þý8­Ò¡&±ð¹Ñ¦ÜˆCnÄ—á 7ÇĺƒÑË!mh2f«£îtʵ$.=t£GݽFj ¬<‡FI›TwȤM&l2eSÚSÏèÖ5Ž㸠®ããW1AT­«íÐÚr|²"âŽrìÐéFtO š“•7 PÓSÞgÏ8OŸq_LÈ+ a7ô& ¤¨p˜2”Ì­!І[†¬±É¨€ .÷ ¹æ xÆ3mH#‘2·=pPÆ?¸=òÈ#<òÈ…®ð;1ÿ¡‡i7tû%ǃ/ƒw<Ñ®Y;}V²ÏÚí³ô|\ŸñaùŒba²º þ(úÊôrBsψ'Ù NZp±ÙánrÄF#ÑæƒûOQ8eÌÍù„Û7n¾9`ï3ýÉÖO2¤WЙnqeŒ!r5•¥‘j&{Ýg¥wY2diØ÷}rÝ¢ ¹n°;ÜS\?µb6¢ËZë²]VzEg@4 (M@*Ø74ˆÛó õöÓˆà‹=Iê³ß†¨F¾µÈ ‹MÐ#u]–ÉZI:Ö–‰uGd¹èZÁ]5âº>äº:j«<áº:â6;bp¼Çq¬ÛMh¸UªÏ7Íç¤[‡x_ûÄW>šÑ`÷2œ^†ÝÏ©\ÉÖê° BâÊûÓFöa3Û”:±æ±°†\ÇÖ\Ň,“>Iã rAg»åÉü’ÝÿžŸÍÅ|:àíóçZIÖµpíkc>m;YâpeŸðûÇüÆþ {-ä‹ì¾È¾eòñž£jÆÐ_‘¹oQº&Þ"ÆŸÇø‹±P$Ã2r]p­O ’ˆÉÕ=Æ7Î7kr×"ù¼Í¼O©Q¾`”-æ D ¯Äç܄ǼŸqÝ=â´úÀYu΋íNW‰*—Hw‰|‡H¹xuJ˜Ï “=A¡®#²×Ùë˜Õ›Œï2ÿ‰Ï\¸ïŸP]:þŽŽ¹¥ì°ËŒ¬´IK‡¬´ÉR^-Q¯– ÎÏé¿Z!~Ò}€öÁÐØÆ÷QÚ5:rÆØ¼Å¶hñ­°ïRŒûÿ.¡Q⬺·!õm£!¯ì¼ž~ÆÛø…mRØ&¹mRä&}cÅ`°dØY28YÒ5®éFWtf ]cá(²©Ÿ…¨Ÿ4'.…iPZ…e¢• ÝÛõŽÎÍož0ªW¤ÕGÒÊ%mv¥ÏNúìBŸòðTJØD„uDXń͎°ÙÑÑ·XZŽªu-)›VøEšÏÂ¢é ¹c±I;Œ FûýÅšÞvKÕ‘T¡l׎äöKöVÀ½=á¼$”;&Á=Sç†qÿžŽ¶#Hbümó²:¼[=ç}úŒw·ÏØ :Ï6tª5oì•,í!ûN@12ÿ䖛юqgvlÖnO'tOŸâ1zjÁ—ü–ª2H ‡4wH ‡ŒóŽcF-ξh\LP&4J'Ö}®9æ;ísþ }Ê.l»›I×F>Íᣢú`À@}Ô)w‰éÑt ›šH­B$ƒˆªÖ¨ Ê”T¦D õ Ý*1Ý OßaË G¦m‘Ô~ä1A3´vÄ'Kª±üÊ@ÚÝ0G…+oÀ¶êñ1{Êûõ'¼Ù¾d]öp½×è÷—xî׌(LÉܲ¯\n²Á&¥¶¸Ü3àŠÎù”78ÚS"ÙáÞlÐm¿=ôZ< ¿Gyä‘G~¸ü`…Ÿ=T_W ´‚žÒ×#újK?Y¢ë5†Q`[)–u}–V·c…¶SµÂIAƒÞÔȺÆ,KŒ¼ÂL*Œ¨ÂØU²ŽÃZv1¼™çÌÊ1³Å˜ÙÛ1ñGÛI :[ª±€ƒ’Rh$ØlEˆ-2–zŸ¹1×F̱6»mÇÇ,鄤¨¨L…ÙG“§X*'S6ic“ ‡¼±)M“ª«Óa)´M…>+Ñ­¢uô÷ø½²oë ™4˜IEQ™”µÁ®éPe¬¦à‰vÁÎ È “Â2ˆ„ËZt¹cn«Ö».ÉÞ£Îtô¤Á%–ãˆ׈Èk‹]íSÔ¹²(s“roQ-MÊ[‹Ú‘ÔR§tj©Ñ¸Z¤'@!ЪUQ‰‘–8u‚"ÍãÆ9 tîÕˆ´²1²v„ö0¹åÙâœÏ/_ñÓ¿å6™ \E10ˆ3PßÑ v8Òlˆ —{sÌ;ó¿2ΦìâÌRŽv7ÈûšÑvIÓÓJÐTÚC΢@ûÆg[vXå=–É€y4¢^Hº—;x#°[ Ú–DÅÉ€ÆtÓ-vš3NȬæCñœXó¸rŽx­½$Œ¶<+ß1Nç|Çܰðhþ€Ü7q«„~¶b”-eK²UÊ⢢ø¶"þÛšmG°õ ¶», Ð:4¦N)%¹Ývscå’4.‰rÉSIg¶§ËŽÎî=«×èGCD4F«FhƘF7©jI]IªZ§ß¬™È;o‡t*„Ró#©a^ JAB3Ô9dßaå¸ñ¦yA™T™A™KÊ•Adø¤†CæZä†I6ª)†9Õ ¥é'}EsÒ|Ò|R»Tµ|(¹«e³ÍQ3 yÕªˆ}ûå `7ôÙ¥»Âc§|:jO_m4kõQ+JaPV±ð؈.±åRÖ¨6"!2=0G$8ì ±nè[¼uÊänÞFU-)Ë)É—»â€7ÎKžÈ &ú#çŽ/õo˜$÷„ý=^DØ‹¸©‰ ñ)ËrÄÍjJÏZõ<’#KKÙ;>uGÃç„jKKªHRÇ:U,ÉûÛI‡»£1îéŽ#yÍ´¾å°¾á°¾¡ˆtÿû%øI‚'h±¢ÊL4U£©VêÔTµA¬ù,µ!·úa+Ø,‰„bC^:ä·yÍ…¤.%iϦë${§?uT¤£" Q 4³»ÔÌݬÐÍͪ1E%S,r U › ½j 4™¤Hm²ÄCÙ&æPz%c7¦Öt]2å³ÈG|LOù¸;åãüŒ¨ô7³öwû ±EÊ‚J×Ù Ÿ—­H“ÒjPNŠ´¹'зôX³—]znD·›Ñ•³¦¹tõ|ä‘Gyä‡ËVø=­/øWÙ_b4%^‘¿)~ÆÿÃÞ›í¸’eizß¶y¢g:}<~¦ˆ8™]•©Jµ*Aݯ¨gt£ ²ÕʪŒ2c<£ûñ™£‘F›§­ ž®*è¶»º€ÀºqN§ÑÍþ½öþÿÛ¯H]‡ÔsH\›Dõ¸Ûr¿™²[9ÈE³?Ï’ X¸€í¤ËÅäs\L2Ï⊠K£ï/ ´“Þÿ±þ€Ò¶4}äÌcIv]“ßaöhÿ¡`w-¹1tS3¥k¤¤]g#ÑsIz >?ò…|M]딕NÌ™¢‰Š@l++±E¶ ùS.òŠ2·IŠ~á¿Øàû!þ‹-õ±F=Ñ©kåÇ ®L9¨gtª÷tê˜H¬iÍ’AR¿×0óÙL´9m¥(MËdsÇ›ïP6ÇɺΖÂÖøÞý‚ÛᆞcF9FVðäã5£²s;„NŸÜ/þÕY¢ |e‰IÇŠ™MÓÁM¼4ÁMÌ´¢È ŠÜ¤ÈMªTE[.ÑÜ ÚW*êt„ùÜÂ|Qc7˜°Ui× 2Üw¯Ièék-ÆÐkÚZ¥¨MоEaš´Š‚qP¢Kt£Ä.JÓeú;-9Nïi•&Õ>u¾Øá‹}DDÕä¹Îüè)Wö9ʬÏÁ:Ë«l°¶n´ÃŒ Ô¤-®ò3ÞÚŸQ}¿˜³wΕ8‡1Î(Áq†Í’N“Ði̶DHɶ˜Õêfõ„•Óc+|*Ó`âÍðÙÒìÓÙÑ¡ #kMÚq¨†û©èÜó ˜ešÞ©Ïx§=ã^=¢Ôl„!0šŽ™206t“Ó(PjKA Ã[~þ {“23&TšJ¥ªTŠJ®X8NŠ=¸æH¹¥u5Öé€U2 Lû¬ÓÕ¡N:tظ 1Â)R‚xG( (šDs[4·Aó Åd­÷XÚCZEC«kºbC ¶të-zS1®—|Ö¼Co&ÍœÔÞogMm›Ô² °–CÂvȺ6hS…v­Á-HOÁêî§x®’à).)N“á6)N‘!’–M°)ý}oèA…î×h~…á—kDy»ü„×ùç¤ØDšÇÖè°m¼ý¤¹•ˆ¶Ei%QpŸ±Ì©I+$[UtiDKféôBú“ç Áí$ÄŽI8좟˜ˆ—]v'S£Q)>yàP?Q˜¶·˜~N•ê|÷,›ì¥Gyä‘Gù¯åg+üN›+þCñ¿“.÷Û)÷›)ï¶Ÿ±*TCíSé”®Înç±Ûvˆ×.,H,¸à ¶/.¾xBbØ\MPšÊ2(^µÀQR&ökÆÄx@JAÒ÷XŸ 1¤¤é™Ä©GöÙÝ´Ìr ËU1=ØÑ¥Š IDATËS°<yíHm#VrÏ¡|àP>°«:\”ç|(ι.NQÛ–Žš2V×¼T_c“c•Ei³¨&(U‹ì8ìÜ1}vˤ½c)Æ,³¨Ç,/'¸Ê%bÆKå-/Ä;æêxX­~ÉFí"*öS¼ªÅ¬j:"C±xvÊÄZ’X.‰áë.‰í°Õ.å9í9õS–å„þvËt;ç³ík^nßP;Û#>ðØ{Ìì ·Ö7ö1µÁª3&Ó‘…ŽYínù2üžW³˜\ÙÇ\Ç\Ç<´cθáTÜpªÜpªÞ04– ìo…Ô¸VÂaû€—&­ïÑ¬Š€¾azå^ðÅ@ú/ú§ˆô}ˆ|ÖµXº„]Ö“.QéUþ¾—>ƒ‡5£û%Ã룻%<Æ­Sœ:E6 úéó}Áà"D:àõSÜ~‚Ù/ªäàîqW2¸¿ãÅfÈâlÂòtÂwÃW¬OÇ< ßótý§á{ž„WÌF\ŸœpuzÂõø·³bj¿cª+Š:VäH2b¨Mœ8ÃYg¸«#,©·ÍV¥ÙîÍhr¿%÷%Å/Tr„׫?UˆÇe\+ˆK—£)±ÛÉ0šÚUÉ›m¿CtâÓ8*gGÇÙ¡ë5v^0Ý̱×%Óõœ/ßh#ŒÚ ̺Ĭ ̦À¨ î;#>ôŽ™sñÕ1r(è"ú㈾1(7¸a†¿cx·F„‚ò)WòŒÎ3n½#„Û"œÜÕ­yê¿ç™ÿžsç£v‰Óä˜m‰ÙVÙU>Ù9ßg_ò}ö%™gÒ1¶t¼-“f†Bz¬é±# U6ÖŒÄw¨jFU™Õ~¬¾à‡ìßG_Ê«¶ÇZö)ZÅR0횎Òw6Z„0$â°¥:Vж%Ó›[œ›”³æŠ¥r«M¹Q§ÜŠ);ŧï†ô” }'Ä$\¤O¹ÌžÒ¦ ë¬OÕÓIz[·‹©dÅŽd»¢^(KÐÌmØ¢ÊÕj¨MÑe£tÙè]D'Õ-'õ f]1¨ÖŒ³%FV3Ê–|V¼eÓ ØôBÅgkÜÈ YS·&›¦G“h´+·‚VSQÇA/ú´X6c¤-è'!ý$d†°¼^¿äõú%»uÀ& ¶¨‡ Ê´E• »¢Ç]qÂë"¦SÄ4BPê•©R6*­Tµ@6û­¤yfg>»4 ÈLšP%ÝÚ4Û–t«‘ýË’Þ«×Jù+6ngØbœ˜wÙÔÜ5*·ÃZÐñcܳ”ÿŽggoѪ†û\ð(üyä‘Gù¹ò³~gÍ5ÿs~ÃmrÄZü5ïï_ò§û¿àûìK8–P¶ ~²r%l%¬å^øÉOÛ €ÂvÓ%1n¦‡hj‰ïm(+bÉ@Y0 ˜1ùTM«±ê¹—º'i&»áPÎ3çß)Ï¿WÿÅhÁáJðÁ3<™p˜Þ#W<¶Ü»®ÛìÏC¥ìà–½IÆ »×¡5iÏ&v¹ŸN¸?³dÈRY0bÉ/þþ ÎuÆÓ‹K^þÍ;\5Ý;²he¹(,BäÐâLÂp­“›{úïxþ¢¥Ëÿ+ÇÝðˆÜ/øãéÿÈï²ßãîR^¾{ÓŸ®É^:ìÔoÇÏù[÷× ;|m+ôŒ_¹¦OBËŠ–˜–J-°“{Y`ß÷5,Ø×ÚXaõuÕ´Ëê««_ èÊ ½&ÜÂ4!Ú¶A¹å;Pþ ¢ »¯jjÛlûóóu_£©ôª¦S§ØY‰½1ÍàNÀ=ûùYÿ¿³júì\ýå9ó£§üé/K3R8Vo8Òniµœ°@ [‚ë‡o+•·Ýϸîò‡îoù‡î׈nƒÒkÝ­[òï•ÿŒ©dœ*¶K¬¦D|ú— HØÖÙ9ßD¿æ÷»ßAÙò…÷=_äß3if˜äHvt(ƒú.µÐh •ÅvÄOÛÏù²ÿ‰ßo·¿¾ …€„#0½šN'eàmð;ʱJ9Ö¨Æ*Ú®`jÝqZ_alÖeŸÔ~I£Âƒ“+¶“rä\óŒ÷Lå=n–ÐäaÖGä’ÒÒ÷y‘v€5ƒ"$ÝzÔê@³[4Ù¢™ j·¡¶UÖJ+ý„kNhj•230Ó’a³FÏjÆÛ%ãh‰Œm,˜—CæÊ¹=dÎƒŠª5Ù6}Ôº¥Lr­îƒkP I Föîxæ¿åÔüÈQ{ÏQúÀaqOjØ×ÑUÀ»/Ù¬ð’ý¢Œ ”ˆ¨öß[U­Ð̵ªÐÚ’V êz¿Í´®4d®"3²}d¡$ýh“^êðÑ%©LzIHk œÃ”áÙŠ¹3Å´èÇ&4»zØ!tÇ\) Oý|æ¿æàô–ÏxƒGÌÿù¿,ÿ•ïl<òÈ#<ò¯ÇÏVø}¼?åû¿źð}úŠ‹ä QÚ!Ñ)ѵÝ,ѼŽA¦€)‘¨W*õZ¥Z©Ô+C{õOiÔ&MWCû„²5Y¬ÇÄëwá1Ejq©œs¯*6ʰÅx¶Ï03ÆÆç ¥«Sº&¥kQ:­U¦!^[´w 3󟌔Æ0XC¢&àûâK®«R4£"´ºÜ؇¼¶^(>æ',³>Yn#‰) :ìˆ5f,ó1Þ:Ƹ-à„ïûϰú9‰ï’8.Ks@ÇÚò•ù'ü&âÐ½Æ RâÔæº>d§øìŸ¨õ)rÓÎ0ë ³ÍBÒh*Ž‘0‘¡#vsƒFÍ€%±âS›:µkP OIxª¼ÇtRVƒ.m&©úcmÎ×ë?qÐÎÕKêJçuõ9a=d­èïÖ ’ƒtµÏñÓ,2×"˜¤–CŠKZ»$;—0ê³|Ò}Øð?Üÿ-¤ðª÷=gÝ Ü^DÙS‰‡.Ë^Ÿ[ë+N¨Qú¬ Ør(oèÕKÌ2¡É[V®OèöYú„§ZUÁ<)0wæ.GUäXÐŽäXPë*™jÙ&y×`·t¸å57?òY¸âtõ=ÃÕO¸Õ´2âl~Eñ½³É`Wã&%óñóW6N`½ª±Ž*,§ÂÔj4·AÖè¢Á°+ÜnŠ;HqG)zRŸ»Ì&®½c®ÄC– •%C±/KfheŽžèÛœB·IÌ.ñ( >íRv hZäÇã6ÁSK<5ÂRR4µÞG¬lØ ìÜ?¸@}öäÖUŸuÙgU XUÞ=ãÇñçÜš'¤™‡¥øz±à™~¹<^J>µ¸SòØ&ô|pºîŠ'ö:Õo¹Ã{ØáÕGý[œ^μ7æoû¿Á3Sœ6ÇQ2=c¥õˆD‡¼µh*•J7X*C.åšZàç[êZgP‡UŒZ7 ›5Iëðõ%—Êî8D§ä ~$`Ë:é³’û÷´nûld—â)¶’‘h.v›P'*õR¥.¬2§×né6t?Ûa³:î:¤¶CŽE‚Ç–€ *t*N¸Æ æ„[ŠÔ ˆ ©¶Cù†e6gåöYŸ˜NN¦Åô ´¬f#n7G\lŸpùö á¢OÕêôO—¼²¾Cš5¨Ñº jP3è/9^slÝpÜ\3¬–8jFáÌ#RÅeVØÖŠæ“C±Í~!à½xtš}|½ÍŽá»{ƒ¯nÐÛ ¥QJ”\’×6[;`;ìYU aSÌ“ëeŠßl8ýòšþÓ£[R±?ÃÚ–*m& †æFRÆ â¦¦ý®¤ìæˆ^ŠÝ‹éö¶øzŒÞÔûÅGyä‘Gùò³~W÷gü¯ÿ×$QfÚÚ;ÍGñ$†(pÔ½3¦å¦ÈcÀÈ)È/Ù•ì­o4ꊌuÚ{i´…A}jОhÈSl(*“øÖ§|gR½7Ib—õAŸð Grà †5–YÑø/Sœ$&Ñ bÝ$Öl½‚šµJqkQ…&3ïfh°Žy7|AnØÌÚýY¡LØX† tºÜtŽp;žs²dHVYˆú“ð“;úrÅܧG{áwS"ÞIÂqwÊsbßã£q†í¦hv…çDüÂþØ0©æ˜UÊ®tØ•wÙ1wÙ1·ù1qî1*gŒêÆrF‡-µªb cõžÊP9*®éWKœ:Ei[è€p$B—EâsÌ –<ã•jÐ*ÐhuÅ’˜nŽ9ÈY¤}6Y‡¦Ö73ëÕBg+ºléò“xÅD—çÑ;^Fox¿%H¶žÁFõÙx]ÂAÀR²HÇ,Ò ËtL³Tñ"z7!gWéV!ccÆx<Ûì¨N4v®ËÒpkqÁ9>"lé1mïé5«~K×çƒó„÷£¼?AåiøuDPEøõC+i<…ÖSi=…RDN‡]Ï':è,,š<¢Í#ü7?Òùó8UfŒÄ®2GôZ"žÌ?ânRŽßܱ4z¬Œ.óñ1?…2h‡ô7 ì Žš"<@`ƒÙ+o–Œ¶KĦÅÏjâ©Çl<áƒ{ÎOâ%cæ(3¶²K,<6XÕ+Ýbn+"ßefñ0~ÂÃó3„©0¼¿gtùÀèþž^Òqr,ûSÖ£Á^ìÕŸzÃ>[Íc/uÛoÛ¼i^ò¶}Á­Èl0ffŒÉ@$øfÂÔšó̼d$žI~h² ö[pCÓ£¡o,4LîfL–3îfŒæ ÊsâÜ`®N¸Ó5·ô”¾±¦ï„,Õ>[é‘U&M¦P+eH#ÛºÃ0_2Í8ÈfL³^³5|"Óç[sJâ8xûå^ñ¿á¼å%oê¼É^²i»„²Ç;ñœXõø¨Ÿ¡Ë’6Ù›5¡B 6‰Žú·n&,»}¶Oj;XÄxlèâ‘ S£Qs"¯9ã!á*9åcrÊÇø”‡ø¥±²‡¬Ýá0ÀtM×Ù—æ’âR£¢Qã’Ò•VDxÜ©d†I`Eø^„_n±Ë”pp3?æÍâs¾_|µÏur§KŽ>¿Ù‹D;Ç´÷‚±km›KFÖ‚Q½Àjs Å p "ËcmxhÆlÛ€s}¨ì…ß=°uÚ A>*ÙL;;¦Ú^™`6fYbæÛ&àÊ:áÊ:ázxBZÚø§!A¼!Ø…tÛ ½ƒÞÁ£WQ¡ÓÔM©ì'…14;IuÓÐRQQRç(OS¬§1ÑuvÂï‘Gy䑟1?[áwyÆjûh-…j SõuªŽpÚ½é…ã›!/¢µrªìk…Ý4„¦Ñl4ò÷mìÐÞ¹07¨Wm¥!127YÞŒY|;aùÇ1»­OýK…Z(4eXcK5g¨¦t•„°5QZ‹ºÍÉÚ’æÏõ†üIEþ£JѳY>ñîiƒV×H_P©:•¦S©:ŠÑì…Ÿˆì7ØZÆ ',ªYb£´ÿEøÅôY3‘3úÙocÞ–ðn?YÙu:|œž¡›'Î/¼Ÿxá½æ…÷šžîÝüdC,m´ÏO«/x½zÅOÙ+¢Çóò Ïê·\òtyÉÓ/8ûá†×ñ ^k/¸ñZ¼`h.94î9”wäÒd)úDU‡<3ic…B5Y*C6t¸­9,n v;†»5¿Ú}˸^ðÝ_q¯MùÖü’ ÷ _Ë?ó5æK¾ç—|Çêߢd ¡Úã}ûŒì’—+õ]«­DæJŒ9/Ç?òrøšj¤`ù{÷߭擪û‰_ŒÇ–.5‡<ìKÎ8”ü1ý bóCÖó!Þ0ay°]ƒDqHU‡DqɰiÐPipI¨…†Ô`§v( ƒ >£vN)Y¢Ö%á¶Ëíæˆ×?}Îßÿk¦Ïî8{uÁáé g_\¸\%Å Ž’Ðic‚*ƯvULÊ̳³:<cn«CÚ1[| Œý]h÷©–@*5FP` Ö8e¤?ðD¹à…xËsñŽ>!&Å«R¼,a!F|ë~‰ãÅÔ®ÂV÷·3ÆÍœq;£'Ct½B×k4½¦nõýįP‘Ÿ&~mØRnĦBl ÊÏ3Ä.ÅRc‚aD_Ù¡·Æ¿Åíî‘Gyä‘Gþ›ð³~EÙR”5ºßâŒvôƒ ÷¨Ä:ªV…²­oJÒ¹¾‚ľí@CöudO‡®­‰”:$´ MW£ˆ,ÒÜcÛHM°ñ¶Ÿè¨Cؘ)aŒågŸ‚‡÷¥è‚Ru(7MhІ*m(Pj´ªB Z´§«›cæØƒ ÛËМf¿’ü©­AoJ”D²c©²šÙ.º‹½k]Tܵ‡¼ã%ªlx¿yÁC4ew‰@¯ª}ì‚™âx)ÎÝ.©-•îQK•ªÔ©rƒ*× Ó>¶Ï¹Lθ/§¤­C,=*t‹è¢ÂcÇ‹óßÛ Ë’JU‰è0ËÇ≮_`éÞÇœá[1Žš!%€@"ˆðY3`'|nÄ)5@5 oE˜nÅÀ_32LÌSóŽCë†!s|¹ÅjsD#ÑœK)p‹„`³eÔ.©–r¡b,¬(c¢<ÐéoQEE£Ô! @„ ]5tô˜‰±à\ÿˆ4T}‹¥dºÍƒ~@£+¨NƒÝÍP†»_Ðïl8²î Õä•A'YÓ)רå½É‰Š@EäÓfèíŽ@n¨‘òQsÃ0y`.é¶-P&‚ú™‚2“(e‰±(0–ÃJ‘…$[·OÑ1¬˜ÄØ’+6N•"¢#Ê0· Nšâ6f“¢¶5Š”¸2aT,9Ý]“¬]å’A¹`P,pË í•d÷Xùõg§¬'cfOÎ 'Ê@Gkª‘N~ì,;$®N…ê–NV½?: ЀÌ[é>‘×!êûü ~É{õœ¹2$U,-¦LqÛM6L¹cT/èíB:»Ó(i;‚̳ í. kH…A‰N…BKhTcêX§Ì5”iÛZKll²}Î#&K1`e÷ˆ;.U©!Ú›ßÙˆ ~±å¤ºæYùãæ–±Xૺ¨©¤AÔtYÔ¶j@fÙ4RAÓJzÊšSý#;«ƒp$;×#LŠÀ"L½¨ÐŠ­¬YsFÁ‚®¿Æëì°ÝŒ‘˜S £ÐÒoûèYÈ Ìd…‹ª@GIhÄÓÊè›KŽ+>×jUíb¬]A8ïóCûN'As*4·Bsj:"Æ)3êB£)TªÖ 7-2ÓbcöØè]TÑà´u¢|:[Å&ÙÚ!~؇ɫUƒ«' ‚}gE§ñÚ˜N£ÒÒ¨ÚÞ솩° €[Ô.ylÒ¬T”Y‹%2l=ÃîgXà cš£ ŒNŽa ´5. :qÝ!O]6aƒ¶j‰U ÏŽ9Ó/It#ÊQ£œxkP—Náø9®/Qv ù©ƒî6èj‰áå£ûIK=± ƒÍ3B-%k:ÿ&w¼Gyä‘Gù¯çg+üöN—zŨ·cz3}µ£sT±Þz¬—ÂwëÜE=ŸJAí ݤtLšÀ„¡±Ÿô ¤™ Î4²Òf[û ¤%ØM;ä•Aã ´¼ {Ò?Z1¬ð¬ˆZÕ©ÔýÔb-ûÄKô½CñÞ¤ý `j9Ž™á>Mq¿ÈxkÆþ‚QgÉØ_bêÅ?¿5©t˜ç#æéù|Ä:ë“,<âE‡raÐÄËdÄÛü3âªÃe}ÎÝêûÝ«|HÛ \5fb>0v˜3ìN‚ñIÌ\*Oh2•*#hs…E=äR<áƒñ„ ÷œ…>b®H4O‹Ph°eŠ#3l™ñ$¿d²»Ç·h»ŠVU(G™tˆLŸÕý$üö%T‰7H°ž¨nMs&È&îxÇypÁ´½£h *Å kÑ'Ô{$žC…ŠbÖMÂqÉå#O²KN¸æ¸¹åX¹¥cÅ ­¾Oº«Jƒ‹´õØê>k­ÇÜ ØGþ5V?çI|ÉÚê±v{¬Ý.¡ÓC Î''X§Néë+¦ÞS÷ž©v·ŸŠËœ!GâŽuÓgµ²Z Y-FÄ­×bwsüÞŽ~g‰Þ)8ɯ1‹‚Óêš]ã‘lÂhÀÍå ^wÇÁôžÉÁ“é=ž£D l$ÊFRÔÝ Ý1»n‡Tsè4 ƒzM[iy‹–´(I‹’Èý4.kÐË «ÉpÙOøü*¦Sïð«˜T:,EŸ™2áÁœ°S;4ª ÕEÕ6EdRßk´ï”Ë1šÎNç § ĨE [DÐ"”–;T<î™ÒVylS¬Š[t‰¡dVÎypAÝ›á…ÇÃň2Ò˜œ¯Ÿ‡(Oüq†"Z„*?E€Ùmè8%¾›Ñqb‚ ”Ó€ÛÃ3dÇò*Bõ›Gá÷È#<òÈÏ–Ÿ±ðÛ±~9ÃÞ’§'+>ûbIÿ¨âíŸOhÞ²ø³ÉòÒÁøµ@¯º¯`œ rÝ¢r,šÀBmØ©P(P(u¦’Ô>u« mö¹tŽIsFtB¦Þ-§kzÖš¥²–bHX÷ÈV6Ù[›òƒæíE÷åŽþyHïË3ûš§\rÎ%O¹Äk“}¼@ 4ðð§äW¤‘û¨ÇÍæŒz®Q/4ê…ŽL‹bD\{\sŠEN¶¶Év6ya#¥‚§ì80îyæ¾åYð†ÚÓ•޾Ĕ¨ H6âÛÉM‡,v) “Â0)MGKöÂ½ð Ø²·ÝûgL½ÄT T«¢ð4Vi—Ñ)?\|É?¼ÿ ìÆQÃøx…l> »Íþ%Ú~¹ê±TÆ\©ç܉CFrÍ™{Cf[(´tÍ3ó׌84¯Ø!CkMßX£è & Šˆpwé>T;}  ªµAµÑÉL‹äÄ&=±‰N<"Ëex»‚°¯rÜuƸ¿Â$œöoIû6?õ_òº}É•~Êk÷µ©ã“%ê©ÂÀpüŠ#mÎWå$[Áî]Côºf÷º&]J  @P P\Áð\ex®1®ñF޸—(ƒ–¾X㈔CqGŽE;¯iæ5ílßãégìžõ¸|öß=ÿšv¬Òíméö6tÍ ºÁ8©)‡6áËJ¦!Ò%f^V@œÁŒ½“h m¦°¬‡¼/ù£ñ|ãþ%Ò(Ÿòö\c‹'b|á³% â8¼eÝÓ‰"ôûŠF¨T¤¦Í.è°¥ûO¢¯ÀD¨` r4·FIª\Å7vtŒˆ©qG§Xˆ1÷ƒºÝ9 IDATp¯LYË>ëO¯6¿"(Bžd—üEþü»ì9m®qÔ[ÝO¢bµC«*4R£.MÊÆ&Õ]"Ãg­w™t¿æ°¸å¬øˆ^4Ìô17Æ!7æ·ÆU4rCWnè¶eCWÝÐÕö]—]BÅ6ë¦ÇÛ_ßl.ú\ÞŸãœåO"%×G/ ŽÊkNªk”Þ®Ÿóýæ+nÃc¾ ¿Âly•}GGÛa÷sFú3ª0gæCEZ8S“9#vv‡…3dجÈKYhèiƒ–JÔD">‰y%kÑË»Îqe²ŸôÕ;‚|‡_ÄÂbmôyc<ç{óKBµ‹«Ä¸"Æ1m£PDÆ^ø½WPÞ¶øÎ–éÓ[ÎÎ/8ûú‚ÆTi •ÆT©Å?ªKö©€De—ånÄj5fu7¢cD¼°_ó¢ûšóúµÎùñöœ‡o=®¾±šwÉ~m ´-~/&˜$E"4¹¿ `M‚ã’ÑQÆè8Ær¡´îl¥uˆ¢ÂFyË釻Û#<òÈ#ükðó~0å Á<-ðNvôÖ F9÷F-«©tÒ·UO` ÆHÐLehRå­jBÇÚG;ü³»'hlJ×É Ieê4žŠTjÛàÚ {Å¡yËX›c‘cP¢Ðá#%”­ŽlÅþÙ\ ƒ0]B+ û âFî0jö[ä2A¹3ÈÖ»•Ï6ìî“O¿g iê’®Üý§X€¶(²Eé5ç9ƨ@ÓKÔ¤FÜ~Šn0j £Ä6 ê8C&2× ÔPk0Í‚ÊЩ ËË0ì’ZWÙ ŸY;F£Aõ?uRµhe´©J]èµIÚ:äÒ¢”:T‘$‚VTÒÖaWvØÖ]ÂfÀR޹7¹2Ï› \+¡°t [G±jºvH§Ž°›½­ö» kRîß»lPPQ”Ekº¤±U’žËê ËêIi d¢`ÞWtãu!Ñ”ݪö1(€ ÇbC—ðí˜AoC÷0"¨c3ƒ>ЕS¢i šR£‰³®ÑË ·¬i« 3n˜ôà ƒI.˜ûó±IDrŒvZcŒ*¯µ¢±UªžJ=…ú\yÒÈ1“Ý›KÚZcÜ0î †ÙŠA¶b.¤ ºIˆia‚®íwµYF¡—xFLk(ä )È?•B¤¡’L€ÖԘ鎾XpT=XºQaÍÐ ©]ây‚½Ð1³¯hïîY…‚ÕÄá¾êóQóÖzŽiæxF‚kĸz‚¦TèŸdœAyKjÙ¬Œ–vL[)„±O5W0ë?\SÚ&¥mR8ÒT0I…F"œd‡§¸«5ÃøZ4$ŠF¤ØXªOGÛÒè šQáê =eÃxÀo#ôº†J쿯ŸJ¥Á«†õŠ“ú†L:L½{zÞ«“ƒš¨1­Û*°DAªšxZWÝak>V“3.gLÊ“j†/",=Ç–’#[Ú´ÐÚF¥N ò¥MüÐasÛcu;béŽX ‡Ì›sc„ïìè” n“Ð 39‚²%Ž=îå!Ië0mïHäÞÍS Ñ>-æØ2GJh%ec²­»,«Û¢K–9´¹†·82£ëlgŸ^ÑŸ®0º%…½ŸžJ)È¥KŠG,î9àR>á½|Æëö%±â2•÷hTôÅC–„MŠQ—¨eƒ¨$¶šÒóÖo9?þ@ŒGŒG‚K…G^Y”µIQ™”•ÉzÛg‘N˜W,Ä„kœ"¡­˜.ïÑs•Ý]@x=`ñqÂ|ÖÃé—ØÝ 'ØR²~°ˆ#ƒR*à‚Ù/éNcž¬9y:£6TR:,>¹¡¦ŠóßùF÷È#<òÈ#ÿíøù ¿ÃüõÚnLùR%=jÙºŠHÙ)=r- Ö}¤æÑ¦‚úN ‚A=×iæ:M¢‚ÎÞbÿ¬¿?÷u"Q4¿ÆÐKd M¢Sm€‚¨F·Æí¦tµ-cs†EN5SîØ*]nûGÜ‘Ó!r:”ކéd„N—”W\WÇJ‰¡”è¢Ä%ÉŒƒpÎA8#c‚a4`gzäƒ<0ÈuKdZ¯Ç”Ö’ÆQÙ>«AŸõ¤ÇòhÀ{÷)wÞ”ÈìТ:]ÞÎÉ“ïC/÷yžÜ/BØBI ›ÀYŒ1q×Ná®#<2‚†`v¡íªìÎúÌ:c.N&|üå˜ÓÁ‚“Á·X`¼]PD:•o¿²H,’ÒF#dþÀùß­ÐÉÙÑšÓ£³£5B<{ƒw¼¥S•Ø +  P© ²5ʾF9Ø›!‘J©[•"RiZ›“ùŸx¶˜c; ÇÁ–“î–ã`‹Ó­¨úu_¥êiˆ¦![6¬ßKŠwÿ{oþ$GrÜ{~"﫲î®ênô f8Cr(=ê|k»fûëûaÿÙÕ_ðd&ÊH®ÄGq.`€FßÕu_ygFìYÝhðq©]³Õ1ÜÌiÙqxDª¾îá®X\€±}U—2Å@Å’JVèF‰0 ÔôÚZ‡B(EEù4Á#¶}–­7ê×î kRE . ¿~Ã@?'æÖ|äRí™;aç¾Ëc–P]æÄ—%óKÈUŒ#&ô5‰-¶ì7¤]Ÿ´ö|¤a ’q1`¦ú„l8J¯xV^󬏯Ëcö£?‰~‡Å|šǰ}ǰ3bعc¯3#q]6^ƒ±»Gê¹Lõ.c½ÇDë3¡G;YÒ[̱æÍyD¨o¡­ -HÛ.±åqï3Џ‹ö¹]r5:æjzÂjÕDE¥6ë#w©Ý%Ö\æZ‹k퀴´qõG%8z¥ó³è5â^£y½Åº.iúö:÷¬÷²ŽAÓ[Ó·GøöìŠL7Øâ²¡Á†÷Û>ËE“hãQÞ “QwHÜñ¸*Žh²¢¥Íh›sZÕŒ6304§ lPrÝdcÌ­6s«Åm~ÀÕú„«Í W›c6z½[ …ºUÒ‘3B}Kßš‘ÙV­ø…!7Ý.†G\>ãÞ02¬ÍJ^›¬os ùzð9ºV=Þ ¦Âmm Ûs“a4§3иº§y©1¸Lé$ ÖìX-¨š:ÛF‡ÑñsÞVŸòü¿Â‹_3H2¬ïïÉm<ôØ [̽&ÑHÇx³ ófoþ ßÎ9ù,ã8N9Ñ2zÍÓÍ1ŸeXaޱmÚr—[/†r “¶mâ—øÔ!/L²Ü ËLòܤº¸oÆì½™À›ßj%ǽœã^Æq/Ç¬Ž¬Uƒ•× •N%ùÉòÁø¬ ¬¼.°ÒGúHé#ýP髸Ù=Aðg¾fa˜.¹°Ìšd‘Î" ‰Ê…îƒã!%už¦1iXFi˜KoRx5H„^AVÀ*GS`, ¬¥\8eе)Ð}Y[}lðõK_bêh…6k7d:ès[}íRn,â…Kù…æJôa‰1ܹL: Ñ©”†T*ˆP ¡ef(WC†5+³ANÌ@Ü€>,±ƒÿtKãÏV¤–K<ˆâ€ø¼$äêGÏé[3öåf£^#,‰=·¾“dе¹2¹TG¬TȈ÷r€M†M†#j5=o•Ño\M)÷-ì~N·7#ûÄÀu<¹¥T‚¥l"T}“kI“MFÙ>Õe›û”±ŽÚ@dyä–ÅÒna99]gB·˜Ð©l”e”øvBS®èé‰á°µ}6vÀÊj0.úœÛ§|ç}Á·Ï‰”Oè.iŠa²ÄË"²È"O ÊR£@™s/dÔìsÝ;`#äÒÄTÍlE¥ RÓ!Ò}*·v[Ýý%4µƒ¶‡êY8†ŽX•8͈¦³dOÓé­€.uº *CP¸.©ÓbãY8'¬n#Ö·k6ÑŒí<$ê¹DAƒä Ar‚ãO–é”öõ_/ýŽI84p| ÍSß Ú×P©…~UÕU°‚Â0IB—õ `}P ƒ ƒJé/Æ]®i½Ú¢ÝmèT9GIÅIZqšU |ôƬcSæ±4ai#nMÄ í[°u°5ptÐEVI%º–ã)ÊÐ¢ŽªX¡S`¢« ]ThHÊ]Rqi ”.è™Ít„3ŽØsÍþú†¬5ÈÓ€ Ÿ\YäÊ®¹´`e F:ò†ü'pÓ Of¸r…+Á>+K€íÁ›â%÷æ>K«ÍïÌŸK »LéæSN“wloñV1Î<¥7ž¢Ö]ÕQHuJt!™i]JÛ`Óhp/öØJ›LY€@$ÀF æê^Gê:•kRz&eÃ$ÍÖ‹Óù7Ó#®g'õUæ \•à–È(”É¢jcäGuÔ^-Áµ\;æÞ²l6É•Ž)3tQPhk-dÌ¡™a# áWä•I^˜”…AUèT™A–:l£€åªÅ,ê’ölÌNA«¿@ô Ra2V}–ªÉ;uJ*„V§ošB YHe  §Êq‹/Mðã?q²S+Ð …¸VJ ¶´Š¦*ɕŒ67êiâQnMª•I53®BJ´°ÄßËP™ .<ÖÓjn¢&Z&뻤]‰é¤”‘Åvë±6 ÈÒ§òläž!h¶Ä%VœãÌ,;Ç0K0Aš•ÐQ!kÿãR»¿ÿo-ÂGúHé#ý§¥Åäî_´ÿ¬âwd^ò×Áÿ‰Ê*ªYŠ\dŒ%ÙÔgzã0™$hУÜw¡k̘÷ CsÄ2m1J†ŒfCFWC¤¥Èà È0ÃôrL+Á·]ßÊ1‚iÜçŸ.Æíý!½Æ”n8¥×˜Ò –øZľqGŠƒ­eÌì «ÇÂì²4»x~L»;§}0§}2Gù‚->‘ò‰T@Y5pÉ*ôL¢rAR¸¤¹GºvÉR–ÔŠŸ 4A÷+L»À1R<"¼vBó“5•4mƒŽX†6¯Â—¬i°ŸŒê#ú=C1ÂÈ B¹a &ªÄÕ,¿ÀôK4_bº¥2¨¤A!MÒÂåBž€©³ :\tŸ£µ*J_PYKTÒà¾2.†|U@QšÄ¥·cŸUÒd$‡ÌÛÊO4‚Ã5{ö„¾5¡oOéª9™2ɤA&Mnä!–(ëû{ŽB飪( 'MÙ—c²Òg\ìãå1FQáÃÕ=ÇÅÇÅ;Ž×^_Ò»¹›-Q$!ŒS2]•”™I‘˜”©I™˜ÈDGÆ2ÈX£ÊyÏ…Âw:íΊN{E·ZÒËg´v˜×¦/“ú.é ´¬¢kÌynž£=sŠŸÇPÂyû”±ßǶ3,#Ã^g ó1jQ°¡$?•”¦GþbÀÛïÚ{ˆÀÃÑ\-ÅÑR¼4¢¹^ÓZ¬iº+<;&3-6zÀ\ë0¥­rlR\•`« -ÔÈÎ<(CÒ–NR¥äþŠ2X£‚5EÇfÖïrážòªzÉ:µéWß³g(ºîšN Œ˜ 0wùû_ä,Žcfí%3c‚Ôô\«bC‹å#[Û m$÷ÚHÒœ,8ž¾ãȺ¥û£Oð…@ ò@£T&ó²Ë¬è3-{,òûê-Ãàœá~E÷ågV¼Söâ l z,v²8Ôy¨tÄvYuCÆ­.ÁpŸøÐ#^×\DwAÛ]Ðñtì±/ï!‡F´%Å!¯LŠ[IçÄÌ÷;üÆù¯ˆðÍá­· Ä”L~]ìUS&Þ?AŸÚÂß• ²}‹´a‘•.o'/ë7*ÇR9‰á²1tSÑ3§ª¤ÌMÆå´ôYT=NÔ;,YÑ“s<Ö#Öú9™îÐrVx«ˆiÜãæ?çjvB,bÝ!¶Ïaa´˜k”ÐèjsáPßÒ4)¤…%2cN`ÇZDk»Æ›ÅŒç{ürþ—ˆ|?É»ùsÖ³&"cQaÏ ¼iJ£ãc(èÊFf:º-Ñ÷R„›âÙasMØ\Óh¬(m“E¯ËBuXØòž…[Ƹe‚WÆØy„–-é-]C™µs¢vIÔ‘DAí^ÿn}o˪MÚµXCÒ¡K0ÜâØ)cŠÕß¹+RJýó•>ÒGúHé#ýÿJBüË.þ ¿ÿÖøÖ¥ÅÕ¬ÁÅw!—ß…Œ®CâÒ!®,R¥×Šß0Ø•{Ð1ç¼4_ócó+¾0¿æjtÄ×W_ fŠùe‡¨äVEeäV†ßðÏ :Ï :NùÊf¶îq·:DÏKžßð|ðM—øÁO‹ÙçKËéÉ)—Ö —ÖÊÒY›-‹°ºP=Je°(»\d§¼KŸsñ…ò°üŠýá‚^¢aÍ*ô Ðe}çQ+A‹ê\ŽÀ{7ê *W'qV^ÈØía ó¬óÈqæq–_p’_b%¼Vü†ò?‹F÷”Ò@æU¡#sµl0·Û̆^_ànSŽÆWM®iW´²)vX²NyÙxCäµ<=jòÐyë<¯¹<ã|òMItY»·êªÂp Ì Çrzö )ea1‰ÜÆGÌó>VUү昕¤­¯ØFd¾ 4WdÊaw¹’ݺšNië¾Aê»¶¤iFEG›‘à²%å“+‹œ¾1á@»ãÀºÅNr¶³ãïöxûí'¬ošÌË.óªÃºj‚®0æÖ<Çk¥4š. ¥t ¤˜Ná嘃œ®5cß¾cèܱoH ‡ uÊ…uBÜp©R¯mii ÚbAÀ£ŒÑ«½Œ ,™j3Q …$°µ¸¸;eu×âbt†}š`}‘aªŒ ³A³%ù¿ò/Ý¿ }¨ø)“s>yä×øcÕþ{Zù·|æÿE<©£ˆ?*À‡-þ9)UzèÈW?ýñ>þúXk÷ TS¥PB þX7ÿ¯óIô‡Þ~Ü×ûúÿQ”ÿ©òÇ}ý#ÿó²þ³ýËÐVñ;6/øoÁ w«&7{Á蛌ÿÖã»×>ô\è›ÐÓêó}àà=w­/Í×ü•ù÷ü¯ÖßòuõÚµd>ëðú»—l&¹*Aæ™bœn°ä†ÎÁ†“Î{ßä"?ãöî‹Ë3¢yƒmÖ@èŠV¸à€|-Â9=¦V„² Öf›£Â÷¶ ;w|ºÿ-?9û-UKãŠ#®8B''Â<Í·É(W%åÌ ^{pCˆFÔáÈESa%–áê)öš ½%ødKÀ†ñdÈùÍ Î¯_ðîæƒdL!LBÖœ¨ òžp¹!\n` {jŠ–+„¥¨:•¡sWIéRä&˼ÅRuÀˆFZàyë{~äŬ’¡vC$FÅo“óíö æQ·ŽLº¥ ¯UXƒ«—b RZÁŠãÅ;¾œÿ†¿œÿš¯¿æïÔ_‘I“·ò„›ê¥ ¤!(5L39Êo0Š’ÞzÆp:&«<:öߊ1­-ÎÞßó£óWüåù¯xqûÛ5DkA´†­¦ÁqLc%i¤0!HüuB0IðÇ â^Áˆ:UÁ²$˯ÚÜŸ*Ü\̵RnP㱨õHê\hÝjN§\@RjüòÅÏ™ø=ÞµOøå‹Ÿóùä;ìËœãõë1Mµ®p FÃãuøŒóðKþ6ü_¸ó†ìYcúæ„=kÌavKÚ´1ƒ‚¶·¤cÏÉ,‹0mîÕ“‚–\⨄®œ‘…6vËE=ß'Õ^’–k²L£ÌT>%+mf²Ë¥<å«ò§lÒ½jÃgÆ Ïã´ â°–3(O`ÖÉ™w"¦íScL)Lj§N ‰Î€{Nêp œòŽÖvŽscÿcŒóßc¬¼Àü?óGP½0)†ák˜,Š—é)_mÊ·ÑXªâ ˜#ößÑ5ÖµEê@IuݘÚâ§@»ÈºJ!MÄqXvŒ{]T³â–îØç–ÖeH2uѧɦèuóA>®?ãE=–H¤ðÖ;å7í/yÝzÁo:_bMsª•Ns¶Áøí{«{Ç3ĉªïÿÞÝã̱ùïÉÿÆ&nòmò9oÇŸ ¥öJ(E§9¥/î8wôô)©tçûŒ·Cî—ûÌã ýrÎ'å9F¡h›k²þ=ÂT8ZLÃ^ñZ~ÆM|ÄëÙg¼½ý,¾D4Ä’.Sö¸gOÓµâ'”¢P&B*l‘Ñ×Ç<7¿çsí[Ô\ðÕìKÞ~ó ¿ûÛ/¹|} þînu~3ª-~³¯™Òk‹Ÿ‰‚â' ­•b·SÜÖ–žqÏ1ç¼à-/xCTVI¸Œ{2eâ9:ö”¡sGÇœaR`¨“%ö*C® ¢U…X)Vq‹Õ»¿Uð[Øûé=êŠýÎ —Ó]äæ'ùVÿÓ{ÅOÕÐL© …’¢vë}DDì\`Ռ۵ܽQ»7ˆ P»ö»æ jÌ&wý><±|Ú¥µ‘B!P¨]®X!v²?WvàM‚s{T=cußOAšz×èÃ)~PîP£ÜÉòÃö±íCßr7ân^u‡;Ð*ëǧ}³[;%žÌn·OKöt½ÄCƒûúq_?îë¿ï}ý¦¬â‡MJB÷váBx ½„phÃ>»dÀª.Æ9±f IDAT[Šeò¦|Ž¥lª—Ù1_û_0:’K '+Œˆ†1'0FxaŒÛÓ)MnÙ¥²}&“ËY‡lê R…Ù,ñ‚”†Ñ´6Œ7]f›&÷›.ãM—««ç\] Y^6¨–:iÛa‘¶¹.±eB%uFrȨ2–C’ØÃX‹sYR-uÖëQPô- ·¤[Îè3ºåŒŽœÓt—„å’p¾¤y±¤ôtrÇ$w,fNØöp”ýÁ ž3ÌÇëïèè3l-{¯¨è€RêuJÕb,ûÜÈæ²Ë¦l’•mmIÇ[Ð6–´ýþ Ïš—¡#–ĆÏÜnÑñ§ü¹÷÷øNÌOŠßñL»Âw¶ä]›ÉºËíªËͺˌûDb÷Ž'±©h81A¨ˆ†¡å9Ì3Dž#‘tÙì…u §³WÑ;ÞÐ;^£ïmÐÌŒlù²1Èå.àIVZ¥3kt™]fÍ]é·É"‡£ó¼iÌÉæ’—‹ïé/§˜IYûåÔJ³žsÔ¼æOš¿ÅjLÃ.Nà ®ÓзhÍŠõAƒKž±mù¬ld!°3gðMJ§5£Ñžâ¶bÌ–ÄŽbüå„ÖÒ ·È Ò¯¼E+EAå¸íÝΈ“ö[ÖÍ&ÞцDÙ\˜³ßñƒ¯ˆ±ïsšåšÃêŽJêø*¦R:²ÒPRCJnT˜VÉØ07;4ËýòŽ^5¢¯îhb Ú Ô h†ÄjøÍZ \H×o0W’îjÁËõ¾H¾æ³ä;zÕÍ‘µ›·F­Hu©]:Ã7À úÍ1/Ú¯Ù´|ÖÍûÍ:þÍ””Ò ‘m1²ºé‚*58[]ðluC¸Ý@3½ËLt™ÑeVu £5ÝåŒîjFg5G4Ú3‰!JÌFA®YÜšG0 z ˜Ðj/hu´û ‚Þ]“5—²V&c Q xV„gÇxvT?n#Âr22Í"É]ò…Eyk nñÖãšgüFü 9}}ÌbÖbá6Y:Mfz‡Ûõ3Æë±ï#ž+k{+­5·¦Ï„~<¡¿™Ð“Ji²Q:ƒ Báj ©æó­öÅÊbêõÐ^”¨kܳ-qdE6qdú€t 2½¾ïŒª”I¨§â~Ü×ûúq_Ÿtûïb_ÿ5è«ø ¥Ð*…¦44Ý« Þ„'ÐwáЃSN@4%Z³BkVˆVÅrò}þœõ¶ÁÛÍ –i‹{ÀèxHޱ𴘾1ô ½fU°YõÙÎ[,Î{l¢6QÑ`[4ÈrÓ(1%®—Òð"ZÚ†Ñ]ém‹×·'|w{Æ|5d±²\5¨ÖéžÃ<í`Ϩ” R:ó²Ç,ï1+z¤3ý]…v.ÑÏ+äR#mº¤M—¢o¡ŸTì%c>K¾ãeòš—ék7Á)Rœy‚#Æ­£Ö€QkÀÔêQZv3áÀŒ8j\×®„å9ÝrŠUdõ'ô©â§ê0é+Õd,ÜV‡l«ÛªA^ºPètô%Ïý·¼Þð\¼¡cÏh9 Z΂¦¶$K³-öeŠöVÖ•îŽC…Þ®ð‚„¶³¤§ˆ;šöSä–ÁÊØäqî‘n]ŠÜfÛÑ)tÛåž}lŠGöôßÙÐ ¦‡çt«‡â–÷¿‘m&«^¯>åëÕ§\ÊCš§šý ¡·¥É††½% 74¬ `‹¾Ø ™´|‹˜¬CŸÙÞ€Ùé!ÓÓCýŒ“ð½yKØÌ1âŒ$…Í6¯ ¸ƒ†„@A A7 î¼_òºó)ß¾¤“ÌiGsަ7|™ü–^9£_Né—SŒ²ø ÝønÄqë {“±X%!E¡SƒÂÖQ®@oV¬ È‹Ñ`1J£{4gpC÷,"|á>1‰= ÞŽi½Íè½ãns\¹F«Ö2Gvsœ—kz/G·Þ²jµñØ7l®ÉV&ýxJ?ž²+œQJXn8¬nñeÄPÝ£**ª¨Ë™Óa ¸óŒ‚a¹àyõ-…”¸j[lÑ· §µâ§£°79b«°’Çϰæ’î|ÁóÙ;VËíž¡6¢¯MjÅï©Ò÷pø`¾g'HÙkÝóIï5¢_²xNŒëDèFE) ‚xKw½ÀYç8ë”N² /i&T.˜‰.¯Ô§¼’Ÿòªø”Ãù ŸÞ¿âÓñ+÷D_¡kFPa básk0sû||N[[pÚ>ç¬÷–³þ[´~™•Xy YYˉx¯ø1=kL/ÓoŽ®¢´5*['×l’Ì%[Ø”7êµ ^{\™Gä†ÅÈâkIé”qé+UÐd4‰1P„½5ûýZ×x7ôã)½xJ3£·™¡*ȰÉw¡Ÿ¢Í½¾ÇXÛãBN\ºè^‰ñIÉÁÁ{‹&oL߆¨ó|ªÕŠ_•Ôþ·NýO>ïM±æD^ñyù_¤_“asW •ûÜ•ûL£‹e›Å²M¶tQš Ê JÍ$÷lb<’‘OòÊ#yåQ^Yn9ÞÔåà–¢gû&ù±Až˜ˆŽDVhƒ ͪ(Ìÿ$ŠŸT»“uñäåÉÔNòzêclvh©®»;µWJíNêß[P;x ¾ê¿?À'c*ñ잀/TWìàž¤~V²>KêƒÕ-Å{@öèZ¶%ÙEo´x Dw2¿÷ûª­)B>ü×r<Ô}èáŠ÷õq}wÖ± ¤jþhñP‹ÝRKtý(ef·æêQ&µ[˧ã~Ü×ûúq_ÿ½íë¿ý€¿Úâ§) ¡y«? 48ðB!<…æUh^î•,óõ2ä|ûm ¥fPúEÛ¤°L:’^3â¬5ç“Öj¢ñæW]ïšÜüú”ÉÕÊÓŽŽô4¬pƒé¸nJèD4ÕõJ0û®Å÷ßóËï~B¦šT¢A%H¡‘Fó¬CY 6Ê£”›¢É&k±Îšä3¾ñÀ?*X€ü©†ú©†|©á% V÷|¾þ†¿^ÿ‚¿XÿM—ˆr—vb%y•¼$—6wÖ>³°‹iô)½Æ„¾œ2ÈÆìoïélgØQV»¦=(~$O?µÇ<¤¨lòÒ¦(íÚâç.yá¼áçî/ù¹ók|=Â%ºVbh%›´I0ßâ\fhßìlãÐPµÅ¯Uây1mgÁP±¯ÝÒ²—VN۹Oœyd‘C9wˆ …D'±A…N!,JaS ‹ý‚Ÿ9ÿÀqpÎÏZÿÈ3ýÏÍp[n?c¹n1^ðzõS~µúk¾+>£tÏ 7bÏÑcšöšÐZÑl¬ åãv†fièy‰>ß2 °¹ª˜ÆmNß¹ˆ E°ŠèŽæ4«õ£ÒW ½þœe•|üˆY§ËX ù¿Ì?%(–U…#—ìÉw´Jз`NAY •+Ê1“/O}ÞdA56('ÕTÇ ŒFmYÓ|Y»j<j ©×³¨K7HØkß#z%ápÆ&li¹°Èµ:‚i/Y0XŽŽ'ôæ3Œ¢B¯*Œ²Þ›™êòJ~Ê/ÊÿÊ/ò¿âóé7×&áåšÓ«wˆ…Hô½«ÈÉ5“™Ùgí4Ù-sËŸ¶ÿ¬kàîmûsœU+ꨬÑnïŸZü‚ˆž9á$|ÇñàœÔ´Yj-–¢ÍRk‘d;‹ßƒâ·ð¸ò޹C¾rŒ†D.j©!²Ô¨>Ó¨^êÈ^[ü‡Í>k~˧þ7ìÅ3zñœÞdF÷~QVHD}oSh¼ÑžóKý/¸ÔŸó­öcVnƒÃÖ‡W¶®pÒ-Îß÷iŸíe|ã@²…*}oñ«@•»ïŠB±áX]ò³âŸø¯Ùßq'÷Iò€ïŠ6¿ËÆh=¤œêTjj`é•fPxYÛBà±¼k³üªÃòНö¾˜1øñ„Ÿ›ÿÀ_ IÚµH<›Ä³I=‹ØôˆM—Ä¨Ë ý?â'wgÖ;ðø¡K؇çäR½w#S @“z8¯}ŸÄ“Ór¡Ïû^ÿÐÝ™G/*õ`à½ë™”õ•zýž¸KÃCÿêÑ•Œ÷õÔ`R[@„»)™ôÇ}ý¸¯÷õßå¾þËÓVñ»øÅ/>aºîñúâsî7G$f :64©Ãæû …íd¸v„cG¸VDZy$[Ÿdì“\øønL³³"ì¬ ý5-kJ+»Ç˜nXΠʥA—¸î’Á³[l;'Vµûa¬<””šAfÙDžËºÑ`Ýn²î·X¯;lâ¥ô©MÚÝìxaLËYÑÓ&ä©…šh¤5U0’x³¸¶^íÇèýŠì¹CzäÌnA`¬iKZú‚Ž6g…¬óuR—c£Gæ94Â-Ïów¸*¡[ÎèU3:ÕŒ ŒÐ,¬6[•ä~äz^ÒÒVfw|¶|ÐUeR•²2©*ƒOÕ·œhïèsL+ÇPVU`fYÒ*–˜·|Ò~M|ä1Ôo©tª¾NÕ2p½˜CqÍazųìšvGËZÑ4—xf„a´­9'ö%¹íb»%…¥Sš¥¦Q¢¡ ç$ˆ†€JÐ1'¸åBl{lªäúVaÏ Ø¤Òkeß³êHˆ½£U -ȤEÄ‚XsÈ4›Bø­ï ÆúÄÄßâCý‹òÈ%Ùk°jY̪£rHXm‹m¿$:))6ʮȣŠx[aDF$QiDO8¨.øŒçÕ[ŽŠ+é˜Îv)ŠZÑ‹©]ï­~ ¤.È“,°I[QË% ,¤#Ðõ ‡]J¬¢À+Rª\£¥Íi{+ZÝ-­g U¿Á¼2±”4¨Ì„ÊÛ@sC¯¿Æ¶Jêõ¶Õ—x­”ÐßбæBÖ P*Ñ“ 'JiL;Gv±îP´ ʶIÑÜ¥L)L Ó$/, Ûd¬õ‘±N+_òÉìcœ`ÉŠe¯Ç«Ÿ~Á89ÄjiX-Õ¸’ÐXÓLW„³5þ2‚Uk ­¿“cÓgøÄ¨ça¥)vãlbì(ÂÔ%ºº ºz«ÂmÄ4}œ ׊IpIpHqAßÜâ: vbT•ÔɤC)uJi’è6–‘Ò7îy©¿¢ãÏ(ƒ+ÿ†÷s*¡³Œ:8£œÓ×—4Ù°¾n±ž5YÇ-\™ð,½¦Ï6¦[bÄuT_Qí~kÖÒ\d&qî³,ZxåB“h B}¯bzúŒÌñH´í‰€µ>r) šÚŠÐ\:+\™ì»$C‡dÏ%뙸VB¥i¬²&·‹gèkð7)Äs¼,¦ÌM¶*d½ã7Ös®½gL­.Ï'ö]6Nƒ¥ÑÂ!¡!LŒ†ƒ9³Ò¨8;»Á?Ȉ:>ïücFÅË¢IR8(™a±Ò›Ü.ŒcæªÃ%À×6ìåÛͰ½ ÛÏ1Ê)ÔHQd¹æ &‚+šý Æg½Ó{İbÖnóÊûTu*Ÿ@B ɋժÅbÓa¾î—ñüÛÚmø?8IùàÆ@ïœ÷ù=‚Ë\•ÞîZ©ÎÅáèÓõA`†÷m=Ï#Žã÷ïÔÓ1¿£‡ñjùžØ5jw5)ïß|0Ò#b}2ÛÚ”²›ãÃR¼¯÷{| õûkðù¾§h^ùtMk#‹zìêÃûPꃩ>u7ã÷dÿ(ï¬.h‰þ­÷õq‰'õq_?îëî}ý× ¬âwyyÂßüÍÿÁ¶jp“<ã:yÆÆ kW®&u@½>upIhk‹:¸1c™uY,;p«‘}ïÑj-9“çœ9眵Ï!JX-4Vsï— ÊÜÄ0sÂÎÝÁœ¼¹Ÿ ¹(L2ÏfÓ ˜õÚŒúÌE­×&ï6QG!¤6dfmöÉÎqJ·?ã(¸âD?'‰웜òµÁêum]ÐsÆ {#†G÷¸aÂ|Øe6ì2v(·Š°ª ]V()˜ªçéçÉçë3l7ÅonéÆ Ž³+‚b‹ŸFÙ?‹ê|`F›‘Ñfá·ÐMÉ¡¼åPÝr(oñã˜>¦JtÂÉšO¢7H]GéÚ®Ô å‚¦\ਔMªÒÀÏbŒTa¦9íbÅix8S4»KæF‡¬c“v²¶eåì§w$wì§·ôË)v#Ån¤XAŠá<³®q¼œauÏçÚw̃3¯ÅÜj3-L³Ä÷ë|fž“èîšÌµx§Ÿ°I –†7¬Ë±Q»“âv#¼ÖüŠÄwPf‡¸tw Ÿ‰…ÑŠhœ¹„šI¯#PmXž€3K ›…ÖâÆØGh’fØ‚ÓaÆ0ˆ±®äEFü.§¼ÈÐæf6æ8ý†F²á³èœ£ôŠgÅ5}5AÓd ðá(j·D‹Z ´!oZ,z-æÃ6³Ã6QßG ´¦,ñÒ#ª0£ sSàÉ^o…÷EŒ×Û£7''ÜvN¸5N ƒ {ûì¥ïX)ATb+YëKüç~Lìl0 ‰·Lðg î4Å_Çxz„¯Gp Ø{DžOäùl½ .« æ²Á¦ PX*Žî¯9Y^Q¤ie°9êò?öTšŽîèh¶Žîh4´˜³ägé[žÏÏñÓ¨¶Ü=\t«0ä®;änÀÝþðnF{~OçzDç"à rì}jÞ­+±Â×I¨tQGƒ%Åݹ/*MÃs#´VInélš©tH”Kªå£Ó÷üLdœŠ·ä•M™›\Ǽ•/pô„F¶¦q½æóí+D¥Hæ.éÂ#Y¸XzÁpyÇpzÇÀŸàË£¬0Š ­’TºVÏOŠú ‡8õ™&}ŠÈdµiÑqæ´­9mkFÇœcY45ľ€Tc±épnžqnœqnž‘h.Å-§å;žoéëÆ=&=&‡=f­v™±-¼KžsW²]·0ßr îX©&çÕçeÍ×Ú3nÍ!wáU4·$V.ãb@<ó “î9Ø»§óã{ZGS¼Óÿ´`=lóUÐà]vÂ8ë³>J ÖFÈ¥u„açl—…ÕÆ¨2Žä;t]ÒbE[,i+ÔVã62ºr{>$ª|újB?œÐÿÓ1ŸÏ¡ YOçëîg||Fè­í¡±"«ÿ›½w‘nKëû~kßoµwÝ»ºªûí~¯çòΙÌŒ ÉÄ –ƒc%_A„äÈ€blŠ‘ãH€„ià0à2_°ÄGÂ!ȉ XØ8fæ\æœ÷Þoß«ªë^»ö}¯|¨¾½çœÁŸfì™9KZªÝ{­½nOuíÿ³þÏó,FÓ&'Ï»œîu9yÞ%^YLûüÍ¥ø]S×wè/w¾¹@?ï–뿯,Æä ">„o‹¿ ¯@RY\c .€WÀŒËf/JÖí^ì©_° ’qiòutž·,Yûì\!ìó±]‡ªk@Êá^®5y¾6ò}#[ç¢Ûk†xWŸò H®ë]±4—€V\Èæ¢¡‹rù"h¿ÈuÿŸ‚\¯&ÿ¡\?”ë‡råk“¾¾¿ÿó¿!75"ß! lV¾½~)û¼_ñ:Ê õ˜~šÂTœ8ÌžHªí)·¬§|²þg|B~žY¨ð¥ç=Îõxü¸Gfܸ¿àÆý17^] y&ÞC<–,Ê ÓIÄ1˜Ÿ+~ýn›±Ó`Ù¨“nUaZ… æ{ãBñÛçeí]–¡K~¬2{ÛãäOÛ”¹Bëþ)·¶qïµÇø;s¬m¬mT+c¡V°Ë£LPe¾Vüâ&å=þ,ú$ŸŸ~‚;îc>²|“«^‹ßÀg¶ÌÑÂ5̪-NüMöýmxw)¥ÂýòD)©–SªúŒ Ù'ˆæì®ž tÄúÓD¥I$ "i2£JY¨h±ÄY&èË‚šœ!üç 7ô=æF…¥î±4¥²1¥òʽ?§üó+ËQý+ís#™soµ‡Ú8Éù¹cåêJñ‹¯e¨²V-H}ƒi#àh³Ëþ˦‹­EØÚ [‹pË ^Ì“•YˆZf¨ µ–¡Ýƒ½ Îaõ_¾…/¨ß®÷Œm:Ôô˜fã˜Z Š\gµ*%n7¥ÒŒˆÌVžR›M©ͨ=ŸQ‡]A±©Pt‹ ‡‰Zc¬Õ«uÆj‘lœç&#Ù sxÊÝþî=åÎã'Ìô _Þz™w¶îñöÖË +-¤Ô‘¥†”µÕ”Oœ|yñ˜îèxýK¦­×FÚ‚Yà³ßÜâÁæ]ìÜ¥½Ø§›l&È/ É[ઠÚ`ø ÔKt/öB-1HH1ÖgÓaP* º¡9iE£(øÌñXHŸn¹¢YôÙ)Ÿá–+ž–wørvŸ'Å«¼Ã}šá&oÐ>òÊÞêé˜"]õP$*ŠUbNc,7Æ6#Œ"E(¡JURhœ¿‰ä%ë·J\²•Î,¬¢/zÜ,Ÿà•KjbÊ]í! c‚UM°;)¶Hè¯:|^|‚BQŠ¥¢ÐÕyM{“OjÆMóO«»< vxVÝa¯²Ãr^aùœÌ»,f>e¤ãÇ!½ä„•™ xšßâÏÓoåÏ’O20[äºBæ«0sV3›ÕÔe0Û$gø,é¶f|¬þ·•Çœ5ŒšMFÍO*Mž©7ˆ&¡t‘¹`®ûì[,M›Csí›hÉ›˜m¹GCŸÐUNéj'l}RÕä/Žÿ Ù‰Áóã]¦QÞ­#¶npÿÖ›ìÞxÆõ6Õ;<ÑîðD½M×8bË8dK=¤Ç!ýY‡½§·xþ…›ìýÅ-V3—è¤ ¯|íßw_ëT”—þ(\`ïû—u\×åŸü$Ÿýìgyùå—ÖæV—ÑÏ/ÏaÓ9¢¼7×Áâ%5 //¯ê\Ý+ˉ$fóù ð:¾ˆ x®„”k“,yÆk³¬sßÁP•×L­Öæc×|›.ðò…©Ü9ü+ו¹4ÙºvòbÞpLCœƒí | ,Ï—am¶v5q1&ya>&¯ü”`í % ?%€R\µuµÐç#»ægtM®ç+½Ð/ˆD~Uå*.‰åóŽ\£åú¡\¿ÙåúÕK_·ŠŸ‚\ÕÈ…B!KÊ"ƒLAIsô¢À9º^`› =í-±Ï–<`+ßGs²…Æ|â"†ux9Ò‘H ²•Îjì2]Ö¦mRËÀwT𒼡×JŒ,ÁÍ—ÔÒ1JE¢wҶƸVã°Òe¨¶˜Û‰ï@SC[H´EжÈQ9~u†Û\b{†š` [YájK*Æ ¨ÕÇ4ºg4oðwÌ";n¢M2ÊX!Ì]†yƒm§ñ`v—å=D÷x0y Õ+¨ÏÇtè²þ‡HåšÉ`$ę̂)6¥¦R( ¡ë0ÎkœÐARÌ€T¬}y¤BY*—Á9¢Øf¬T™0)ªéœE±«á«s‚rŽ,gè2EQ L3ÆóÔÕõðŒútLM›ª:µÊ„z{DcçŒúíÏìB›“e‡á=V®CâdhºÊ˜:#Ñd."a“smðMÊòbçüÅz€Ét泿ök¿ÆÿðwþôG´ÞÍ.Ê˺å9p»ð_¹Øô¾ðï¹Ü\+ã¼L¼@eqE\å8”ëÚëºåÅÆ>׃]¬ñÖ98㻞²‹í×Ï.¼* ×`M(/MÀÎ ´®ùü\íðsîÎç}èâ—èŠYÏù¼Ž¸’ôœï1¯'sŽG‘—ƒå­KBÈÖS^h WyÙÏ{ñÕ“ëÚ—K^>ûèÿP®Êõ›P®_‹ôu«øuwùkßý±J,Nç NfuNfu– ß]QÛXQ5BêÁ’žrÈ–rD/;¢W"WƃÄCIL'Oö{”‰dxÖbié<MŽºM¢^ƒ¢¦1Ú­£6CB±ÂÍrbÏ‚mɆuJ+PÝœ :%“J• •Seƒ™æ“˜:BæØJŒc…¸~ˆ›®h8´ %ôŽÕqÅ Þ±1ËŒVm„BAåæu·$­˜,RXö}Ç>‹ã€é¤ÎóÚ.eUc\«óØ¿ÅSý6OË[œEMʩ¤RãñüÅRe°jcÑúÛgJP%Š.f‰+V¼–¿ªäèZFäÚ<ÐîñØ»M™+”…B™ ÊB%+ 2¹Îy¢³,ÂÈ!œ9¬4_›ÑPG4´1 DÕ˜SmJ §8Eˆ"J ‘aó¸ÊÉb‹ù¸J<³pœ%nu‰“-på‚z4¥>™ÒO±Ç žÒQû(jA ÎÐ+)ž¿Ä ¸þ’BjØQB=žF}¢…Mª›olòLß%“:EO t n;OØÍŸÂXA¯3}Ó qºKÜîÇñgc*ÏF”Ï—LöJ’,ÄVOÙÔ$ª:'nºˆ-±¥Â¶‚£Å§sj'sj§3*gsòUBá¥ä-È^U˜m69ÞÜd¶¹É|£C×8¦[9¥×8¦Û9AÉ de.9LÍ GN#§Ë±Ó%”e¼B>‹P¿|LÍŒ¨oÆÔ» õnŒåØ:'úc·Á\ø¸öÏZâZ l«GlF}‚dH-?¥Æ„šVà(`IÐ31”‰B®¯ýt£Ò"Á [ŸüF†R äf–cfZ^0ÓK ]g¥»L”•hI<±É':b õdÂì1šV°Qà—sn&ÏØšb—±f2l´¶ Ú-fՀ݈M›Ä´À4-gHËP1ç¬%ȨD6£CVs—ÕÌ!ºD3‡¥VáÐÚ¦´S«Æ®¶Çmñ©<¥"«ã@Îs’šë]ÞÔ_c©{<²îbf5¢œ±å±Œ*çÙg™zTÍ)u{Dji<µwÙKvè‡mæa…£X©þKÖ¶Öߨ©,Š÷Ý»‡ÅyžÇÿø÷þ?ÿó?OY–EÁg>ó~ë·~‹årÉw÷wóK¿ôKx$üþïÿ>?õS?Å“'Oèt:üØý?ðÿ= i4ŒF£K$)€Z£Áh4¾Ü/Ë’F£@µV`4}pÛ?þcüÀ÷ù$¯ÐîÈKÀù‚5ÛU1—î½eå]Ó`_¨øÁÃ’—ˆúƒž»Ü‘Wͼ·êù½+4®ENüJ#;ÿë:¢ÿJõ?¨¿¯Ðêu¹^‹ùxYãªöEÿ×ÿJ×Y×ð¡\ùP®ïŸØúrýZ¤¯[ů·sÄßø¯ÿoÆcŸwß¹úå,vˆf5ü ›é˜ž>¡Œéå'ôòcºù ½è˜ÕJgyxq%Ùdë %ûô¢+8Ç OñÄU)”[Ê14KÔNŽ¢ä(îÚìµM)gå\ã,iòP¿Ãqg—‡›wX.;•çlWö¹í>¥Sœ¢Œ$êPß‘(O$Ê+9Jš£89ÊfœF°Q~!bú…’lµÂ§l*sšâˆdÇ#þX…˜ I£‚a§ ªïΨ¿3ÃÍ(:%e§ ¼S·uF•&GÞV^å±÷2ñ¾ÌýÆ—1ÄNØGPP Ay¾17Q}žª;¼¥~„·Ôû¤g­Gh=}DûÑ1Õb@ã~Aó~NK/P,‡ÙcO»ÉÛÎ}ž·iXCÖM{HÝ:#8 æôÞ=&xgŽÏ‚еÀ7çfÊx³Æ‘»É»ÆK¼Û¸Ç¤VEh%Š^ž+Þs¬ ¡b.¨7F8¹ÁÂr™XUV›³²Ã1<˜À'X_œà½#?ž£`vVvÀ°Õä@¿ATsZ‰Y1ƒˆš=Á×f,Õ Ë²ÂRzHC!6 Žkm’-ÃtŠ@*¡H:¢OGé³%ŽèD}¬d‰YD˜„jŽ®€&AËÏ¿X›iaI‹ˆ5û˜¡‘£#˜Y†K¬8ÅJS4»¤+Åa¢×¨GSâ‰Mq¬#Ž5}Šj?aÃòJå] ™â/æøú«Œ™›Í&OnÝäñ½[œ46Yd>Ë4`™ù ·ÜÇÜòs«ò˜žsHT(y†ŸOÙÌ™>®£ k”û*ñC›…¬Pš[LÍÏÍ› ½ Ê@ÇB¶‚õoà#H–&Çj—¥âñ\Ý¡iœq¯ñ€—Ønr§öx½ÙSêë ŸR'tlBÏ!¬Ù<©ßäy²Ãé¢Í|îQ,4³D¯dXVŒ«†ˆ´¤+dû:ÊÛ&éžÎ‰½ÁÒqynïP¦Ü)rÛ~Èíæˆ›ò ó‰Ê`ÏÀþ¢ƒø‹ ÊK —¦ŸáÜÈ(„A{D¡CºŒh“X©e˜UF¨T»cœxI^jènŠîe„®Ë²ôÎZ̪ÄäCÕ½ g¹$¶-&í*N°Â¾á6ç´îõQó‚ÉŸ.Y;’c§òâ?ÎÍÄà”e@0ŸÏùõ_ÿu>ò‘P–%¯ÿâ/ò…/|‘ßÿƒ? ¨øüãÿùóÓ?ýÓ|ö³ŸàG~äGxýõ_àÓßù7éüâë¯óýßÿý\ Ÿ‹>×»ÿ÷ŠKlT”%ÃáV«Åp0q¡„Ê«¶?ý7 ¼þúë|ÿ÷}ÿ{LÑ.€§¸ˆ–^ LÖÌÆ•ÏÑõ ò¼ÍÌå.ÊàÜgèZ ‰ Æä²]ñà÷Òïª6×ýޏ¬*¯Ý{±^xþCóäúÞrmÍ\W6^¬w}]/˜•÷æÊÏéªõË^¯¯ÃW˜ÃÅ"(×åú¾¡~ÃÈõ«Ÿ¾n¿JcÁîÇžážL– §'&®æ²($ZÚ€-kÀMwH'îÓ)tÊÙ€z6¦RÌ0ËABœya…e¬£Íu¤£‘+ YC!¿­R¶f…Ê,W‰‚›®¸a<Ç2WØfDͳмµïšî± ÂTTY*©¢!ÔíBÙQ–øÊU–äRcU¯T¥DssÌj†«ÐI±ò˜2WXd>éÈ`rZg¶_%|ìTH=EÇC— t7&· K§04,=&üE?Ú X( H„]®?«à¶þ„ª˜qW1eÛ€@›±•b¯ìiŠÝO0÷SâºA¼i­LâÜ`µ’¬Æ«—pÏÆ˜ç¸$TYâÊœaì ±f° :”†`…ÅP6xVÞàmù ¹H‰Ÿ-PG9Êjá丕Œ –ƒ]"…©°oÞàËö+l¨ÕeUè$±À™…ý·ö÷¸õhCËÖ!<+ëœUtI…¡lr ÷ 45CSr4‘“*UoBÓ«bãIƒ87‰ {}.ÜÂÆ8cŒ7&r„žƒåª¸M•`[pb+L͇͵m,5fË8`K? ­ 0Ëd}DVe*ª$¦‰êæ$ÒdL.99…P)¥‚¶Ìé,Oi,‡¼´|u–¯°@6e]#÷4R}m¼›qn&Yaç:Qé°*mâÒ† ´Ü0A %Vœ`V24¯@-Ö/‹,4ˆÆó¾Ïø°åÅT3ZÖº!]A᪞BîiL½€Ó6Ïw¶ytïûÍm–KŸå<`¹ð)”®DõRÌÊ ÍM˜çY®¢æ^>'×4Š\%_h,×Yèfz•ÂP(|j<£] ÙR)J•åÂ#ž[S•l®¯ý-ËHðµ9v±íSMçÜ͞빦Rœ[›V6×}ú탸ÅLõ‰¤M‘+(z‰®gXjŒ+BDY’ÅñÂFäC‹‰0sÜ"BŸÇ´¢S”¼¤Æ˜Z|F}Ðè{4žÛèŽÛQ0 ÊX!7²H'ŽQ…BS±õªÈ) A]?Ã6cl7Â/¦èeN¢›$ºÁR÷X•aâQ.T¬QJõdµ’lÃd²Ò™dUêæ˜Vsˆ×Xâ3à Ũ~³ç°V¨Ö8é:‚v«}Y¯Óéð»¿û»eÁ¿ø­ßâ·û·éll‚òOþþú_ÿ~îç~˲8>>¡?èÓíõø…_x¢¼ÚE/‹âŠÁ8ï³,ÊKÿ™ % Å5A\µÝ?¥Ûíñú/üÂÚOñ…Ö.5Š\oПCTy5¿uºxN\ƒp\so¬Ï+;ß•Cr´]B@!@^ø ˜óƒœ눅ïé÷¢¿ò¾(9o÷ÒGˆµß’¸fRÆå¬¯LÒà|î$׫Ÿ?€ËK¥àÜ9êbx!ƒiy± —ƒ87c»&×+?2ùÂüÄÅú^“+²Ú6µ·tÔΘþö§[ô­ NWÄ$Ý’ô£%‰]Ò\é•}¶Ê>Õ¢ÓÈÑ7V8¥‚œ£¨?\àY!z/C6- (P%¾˜ÑG¼„‡BÁKÙz«cüå±,&(6k5!±Ô_,h)gôÄ1Ë@CìÚLŠ›”ƒåì&©7@K†øo¨fÔZ#vÛO [6^uF}4¤>Ð ©‡l4φ¸êåF¹Žêž÷é‚[ éåÇd·Öš,|…ï± <2K'Á$Â&Äe•;¨cI0š£ šÃ ê;c´£ Z´B3!"ÒãéÛ+*Í|…8°™®¶b³8åfþœ;á#l5fh493œMbÍÄ/çrNPΰd|~v]•©° “‚ü $9”„ G‘ƒØˆŽ`Z«2ì´vÚ ›m„+ñµA1Ã_ÍPV0‰šœ®ºE=’•ÅíùSÊ…Ž;â•Æ‚nã¥Yâ×0TXN}Þ^¾Æ[ñGi)gtÌS:Ú)¢OQ(ÌŸù­ óv…¾×æèF—Y' ·5l%Â3B4÷U‘yJÕžàÛ3"Õâ Ü¦?é¼QXÌÖÁ«ÜÝC¶kû¬pY¨ Õg¡Vˆ„ÁÜÂâã,æe©òP»Çóöˆ·>>¼– ÖJ¿¿Î²*˜Zc«ÎÈ®1¶ê„¾Í*°‰l [‰pÓs‘ 3ĉS®Ù9=Á­¬VI´á ¿T ä ÜÛ‰pœsÅÌ_àî.Èv5†A‹Çâq­Bs'âãá=}ÄÜo±ÐZ,ÛL“&J ð¼†7Áô4#GQ òTãpvƒÓ¤‹>I1&)Æ8EO3ôN†ÖIÑ:jµ R›ss÷)›ê ÷ko2îÔwꌌ:ãEe ‚´°XºÌYÆÞúã<`êy‘Ž‘Ròüùs~â'~‚7Þxƒn·Ëéé)ŸúÔ§^¨+„¸Œú¿ñ|îsŸãõ×_Dz,~ög–ïú®ïºê³|¿)ÕZy[§òúuñbÝÿPÛ¦Ó‡éÃôaZ§¯[Åïx¼Åï¿ùi¤")Œ‚²W`ß,¨Ø1õFŠ×È1«BHRÕ`nxdšÆÒpøf~“¸V§lT«ÇÜÚ:âþÖ»Üß~ÀÔ¨òåòU´âUæ'UBé#±¦²AžjÌÇùXg1ö±ŠóÕãÕÃLКe¡R&*2Ò¡N4v)ÇñØe6n¬ƒLÌr!sAcã ç~„™g4‚ŠZŸô˜>ªsüx‹á°ÅÊrYÙ.Ñ–âT·¦lwØ©>å†ñœyËgaøÌ[>ó;“Eƒñ¢Kˆú62¨zæç¨zŠ´s|ŽD ­(Ù wÙìÐïo2>k!g r.(g#ÌØv޹m?ã%ç/9yоËCÿ.ªwY¶Mr]'StrE#L<Ì"Á׿xÚGY‘gµ³)µ½Îó²£àk!;Ö¡ãb†ch1 9ûæ.ûÁ.ûò&ûÆ.h%B+P´¡ÜÌöx9yKhŒ&$šÃ¡³Í;Î˼ë½D\Xt&}:Ó>/Ob”)'œ´7ØSw‡{ÕGÜS!šû¥c§Ãûåu_&5E¯$wJŠí’[ÉeþÕ\AÏ'øJˆc„ä2';^­])W)¦•¢õòuðŒ- t¥¤¢Ìé*G $œ²•ÓŽñçs”‰D!QºÀ)º¤¥Œè)GœùUŠ›6ÿ&Ã;Œ‡c´þüÁC6ŸGøÙÕ—ÏØ)ž¢VS:ÖþbBåñ˜Ê»üw'Tª¹Â1CÄ ¹bsùéjkÅÏ®èÓÚìw·ØßÜ"µŒ÷(~«ÂA•ÏæÔŸÎPöJ”Ó¥£¬"SRÄ+Š“3ŠbE1aì”Ä»6³›ýz›Š¾ ²=çÕø!Ž9q;øîG]©-yF»Ò*‡xeȺšÒ6Œ Ч%ñ›’ðM0Z ö”]ÚLü€§ÎMØ/ñÀy KK¹+q/D«a&9ÉÄádºÅ—'a6­RNuÜiDgÚG‰JüÞu³Ä_.è&§<îò|²ÃóÅ.Ï£]vÙã¾ö6RêrLj댂úú»gu¸MFAi[*޲¢nLh(cêÆ¯ ‰u“X3‰4‹qYc0éÐßë0xºÁài‡zuD³vFswH³>dªVé‹ NÙ  ÑÂäpØc9ôxvv“²P FõKß[oJžç!kåï‚ñõ¡ f^Àso›g•]žy;èfŠeÅXf„%"œt…5ц9Ê«D×s,/ÆÉC„)±6R´¼@qÊ7¦æŽ©ºjî·:'«j «M Àª®hìFtV{ųÅ…‚‡‡m4qZ›cz7éµ)l•A²Á Ùà$Ù`9ñP÷ Ôçê^‰±JîO¨¾:!0'õ)~uƦr‚[[áì®x¬ßã‘qÜÐ,;,rƒ4³X¤£,A)KÂÈý¦Qü^Œ<..I¢\ƒØ¾qƒú¿þSþÖwÿ-¾ýÛ¿v»Í¿úW¿Cg£s¾Ã¿Þ_×—¼öÑ×øç¿ù› ÿÏ¿ùC~âÇœOú;Ð4eâX6RÀd<9ÇËWÅÕŠ«€¯½öQ~óŸÿ& ùÃ?ü7üøOü8ßùŸ¾,áŠ)¸zðÊÈëÅóÈ^ŒŒxÉ,\Ñ„A\‹Ö¾fäµ(‹ýÃun.™yÁ–\ç>®°äúÞuªà‚8oùzÂKºåR–ò+ÊõEŽâÌ/¢s¹^„¡¿íeùµõ‘ë9½PvmŒ—SºX¯ëâ¹6¦‹«Ë(×åú*ׯAúúUü&=NÞúXADãözoHãö€ÆæŒ)9BJÅ U4x!é{¦A‹¸Z_3~½çÜzù˜O¾òEþ‹Wþ-ƒ¤zP29¬óôäÎÚlð"\¼y¤±Ø÷Yø°Zœ„ªæ„`sŒÇY(ÈT¥ŒTÊ¥JuöïyiòoÝÿ ªÉŒ?ξ=u‡w¼WyêﲨVÍ’@›ÐRN9Ž6y'z…?]}¶ú«ä¦ ݶJPKVùTSÁ­t‚ž>ÁŸÏ`’Ãx…<2±V l ²"Öl_]PÚ .?$t9¦šÍ©®æøó9b$éú‡Iê€%±Ô _]ÐTÎèiÇÈ@0¬´˜Üh3,[ Ž—ÿ¯Iç "|çNû奖S»3beÙØóöÓÖÿ7Çþ· Ì]0ny”mÖlßÅY¸ñ wº¢;;œxœ|Ejôëm"ß"Å`%–¸¬r—`<'Ø[|iÿÖrÍ*]dˆ#8‰àl@Œ¦¢ÊicƒŠ:'ÐgtÂ>»Ñ>/MQaA¥\b«º•a±U³U±•á—s\"5Xˆ CˆINþ´$ù‚$ü#ÈÿŠ@ëô Ú_S{Užd»|>ûþ$ÿ6ütA™ ÚéFš£Í ÒS›ÓÓïô?Âé ƒ7^±9¬JüÑ‚Êb Ùúg{>®ñÖ$à­Åkü»øS|D¾ 4äˆ;ÅcÝà,¨³ßÛâq÷g^ƒ“ƒ‡ã„[ÆSnòŒ*Sö¹Á>7˜°ÃAºÍpÒa°·ÁðÿØÀùh„]‹èîq÷[04›è2&+æÒc~pðn—½ù.ù ,Th€hKØaKØ,Öa§à¨H@‚i5`¿ºÍ›ÕWùRðQÊ]Ž×ßY&—ŒŸ6̇%‘h~†ÙJpó\‰ÕNÑÝ¥jŽQs'¥u#c IDATl¸Ç4í!9*CÑd*nU÷èê#n·ö¸ug?P½Ýæà¦o7Qz#\r£ýœÙ_ òlÞÈ?ÎqºÅáìÇG=xxÄ›sÓ]Òµ){`+!ÚœíÚ>78`›ªËùB§¿Ü¤XD‘Í2>ÿÞÆ@V\ùš¼ßþc§²\›B]™&]3É<7Ú­ >ùÉOò/ÿ÷Éû}ßÇ?úŸþ?ý3?C¯×ãñãÇüʯü ¿ò¿ý Høûÿðÿá?`ûÆ6ežSŹb¯¾ú*¿úÏþ?ôwÿ.ÓÙŒŸù™Ÿ@^óñ+e %AÀ£Ç¹}ëö%°»l{{›¢X·]ÊâZ<†5¨{ ¾(¹v—þ.*\¯{nÏ%ëH„ò°^Ã/F9¼X;ùM‰Ë(‡ïÐyÄËšòZðˆ«Úïyê…xJ¾¼V~ d¾ × }aFwþœxaz/¦Ëþ.ÖD^†ñ/wûÞ±¾—…\G9üÀÉ]Éíú­åú¡\¿qåúÕO_·Š_¯vÀý×þ5¥*( •|¨/\Žß¶˜6£ÂÂ+ \i!ã<ë×àd±IßÞ`uÓB³S’¦ÆÙV']*î”QZg/ê1>«îƒ–†˜í+H1[ º‘£´%b·D %FšÒze@󿀖?¤šˆ f‡~¥Ã@Û Ù$¥I²´Hú&r¦¬… T ¶m†åO–1i_DZ"’¢ëŸP½± ®‘lG#½¡“mj¨Í‚;Ö#îªØÎh-Æ„…OšÛŒ‹6{ù.Qè í>>Ŭ$¸%ne‰#–ˆyI61IÇ“Iƒrªb-Sn-ö¸+Ÿ’WtÎMFzƒ‘h6CÙâñ ŠR2Vê(]ŽE¤ÇKeF¤9ÄÒa%šÙÎâ”­Ñ1»é>ÕñŒxìðXÞåQõeL#¥QÑtÎh¨#œrÅTúLe…)>Qe"ªøÌø(oÐdÌ—…â°T–šƒç.Pê%‘b2¶«¤…FMñêâÌ(% šã1“¨ÁŸ¨ß†a¥ ô&ŽˆùXñ&·³§4åSdœ*›$ªÉH©ãi î›oÒ’Ãk»2%¢”Ü\íñÊü]º³cÌYB’™„Â!tBÏ!RmÃ$5 ÃDè’ª2¡º˜„œãEE'ò\¦•*c·ŽˆôIsÃ>”Íõ1¥#(TA¨[ÌU©RåL4X⡈’e…íD(½’ÓlòçÚ'x:¹ÅêŽËªã²R\Ò™ÁfrȦ8¤kP«-(Uˆ–°<†"uC]gOCÝÐó–"ÌḠ!Æ^Ù<}Bþ$gÒ®¡UK–5—Õ—Ù7véº't·NéÇÈš@;ËQGÚ¨@;+ÖŠåùÑ ˜ TKt7Ã0leE!4޵MÞ0>Ê̮ȥR…*3r„+–dŠÊPm0“>ñÔ¢2_rk¾Gm6£ýðˆÑ1mm·% 7΂:3»ÁLÔ9£E¬ØtÕþsþ˜Z1å¾|—^v„EÈLP±æl´OÙõžà5ft©)c¬(¢X©Œ²£Uƒ³Y“ÑYƒ/Ï^åù+ ÃE¬2³|öÝm¾Ô~¢%Í‚i=`æúhZF#¡F%Z\ FZY ™3³Æ[¦G¡) ‹öe>‹›Ì¦5ó€di"c—ýquPÛH„!èéÇ´ô3æ®Ï¸Ý`’6›M(¡ÚžRÛ˜PmL1Ì”0w —Ð÷Pç9 gˆg/0ÔBÈ„NT8,’*ã°‰mƆ†næTÌK{ÓZb§!†“Q×bì×(‘hyN$LL#bƒòXÞEG*ã°I’Ø´*Ú•!­ÊVe@'°‘ñŠpmÒíçæÒ¤z.'ys?!‘ëÿ³½øƒdƒ8¶0— 5¥zkJLñå÷Õ%îínm À ‡MÄùõ~¾ÍYÒ$\:”S3`ÊÕgv~ÝûÚ¾ëþc¤ëf•—»òç ¥(òK’ïùžï᳟ý,¿ó;¿ƒüÕ_å{¿÷{é÷ûܾ}›ýÑ]›eJøŽïø/ùÁüA¸}û6ŸûÜç.Í@?ó™Ïð“?ù“üò/ÿ2ív›þáæ÷~ï÷^0ÿÌÏY¾ú¡âoÿW›ÕjųgÏ€÷·ý‹Ÿûe^^ Xq:¸ŽÂĵ’K”·¦1.ýƒx/Kò²ü‡ÓµÀù½÷·wA¼‡àx±Þ{æóâí+Ù½ŸQ¸V&®¸‡÷CÕk´ÅŒYòþÛï­t}¿Òð_ˆRòÚ{ÿz|(×åú&ׯ~úúUüê‡|çkÿš0v9õ8ö8õ˜L}ÌÌÄÌ ŒTÇ(mDËC4+Ðô­ K\–¶Çj×FÝII}•³ ÎÓê.Ò+™O+¦¢•9Iz¤‰Å(i±—ÜÆ”1cA»sJecA`O©yªÞ„š˜°œyìïí°ÿt‡þ“.ÅLcÛ><ÏØ•˜ÎK<ÒïR•e¹> O ™ˆÕ{” ” ±VüVŠËB¯°T<–ZåJñ±3:@•.·9”ÛÔ¶‘¾Â=û!/ÙÐÕlÈCÐãPt9ÌiòßÊ8)޵MŽôž³Dˆ‚È6U«èËŒú|Ì«ów¸±8`¾ ˜¥U&igÊ-rS£ªO©Š +ßÂICVØ„ªÍ©Üä7±”O[Дg|B|¥ˆË õhLg4`£ßÇŠ1Ïr¬³ô -«¶ŸýN•汑™a+ ±âr£îm^[/é°`ǸbG½bG\ÑdE)4JEg&ºT•вÿ4¢y"ÎOðƒoàikü½šå°ÉM눷Ö3ÞŠg$žÙU¯y©¼¢W.Ø‘cvŠ1N“ç&¾0ðn8VßÒŒì*´ÓÖ<¥*ãbÈëøŸñÊ|Éx3d™DªTe-|ÎÜCª>ÌŽ[¸­Õ)Q]+iäÛˆacâ/CêBá¦1âº1â¦1bjõ sÿA£Ø']Ú$k›,ÚFè£Çd9"ÚÌ®ûtÛ3zÞ”}ÿŠž>%pœ Ÿpj“wuYsèŸòÄ;áØ?ÃS7Lô!“æ€Éh@tŠ^¾ÆÈsd e¥“d›¨É2èÒò*_CóK<=Äs6¸ƒˈ1: …â’x&µ×&ÂÆ,¶Í1,#¡¡(R’]Y¤o-o{¬Æ]¼Ý{[^î~†¯†øê6S@QëwŽ_¾ý̌˭ã—]XL¯TŠÆBtXˆ©°1´Œ5æèé)‡_>¥ïM(G*åP¥l©Ô(Ä8Ìè‘`3§ËyyÈ4íEîö`nÌ;½e{Pü¿ê~)RWÛfé­¦î ÔçoÞ kÉ–Çaë”ýçÿý?ó7ó7üá·þoýá>:íwcÁïþîïò»¿û;wãm¥ª·$_þÒ—ø¯ÿõÿz/-ì÷ÿ÷·Ž¡”|þæsêªFøƒ?øßúÖ€|—vú;¿ó;wc‹ôUÕÕÀzÀWä@%[‹„û&Ñ÷7mAÜ£d¬»±(ê÷ñàvñ¸ï÷Yß­íž”!ïSëîî—ï÷CÊm­$ò!²ÜýòäÝ<îù`³í•õ1Æ}´/Úµ¾Û£Çv} ʸí["w¿»ß¾û¾fí ÉDxÏ®ïÆ¼ï¡&õ…«ì°Ý¢û¹¾Ûûúpþ`×vý·f×_„ü;~üŸ_ûoLgC¾·ù&›™Ï›ï¿àúÍJj R‘jˆÊFvᨇ]8ì"†bP#†ê  75fZ©ÖšG,,ÆIoñ»hjŒ{¼¢ãÎì/h>Û Õ%jU¡Õ%ŽŒ9g‰sŽÅ;å-}u†¯­Ñ• ”Óʶìv¡ÁfìC©nkEîH4RÛf* auRqà_Ь7ìø·üG÷8ÔÏX ŸÕ AÚ2é¦K:é’nº¢™®1ã’"¶˜GÎâg 7´ZÃö˜£ö[FÚ-& Å„>SÆ›â\aü½=–ßíR/ßòäð„ÿtø?èûSöšJW‹!gõ9`I›Ï•çèjÁH¹f(®‰kö¸&VÑ"P›äôÖ3†á˜½ëkŽÏ.ˆB×úG|®¿à´þWÍf£øjÎŽzC»^°’-.å>?á%§âˆçâ ÏÅ Ïyà ù–Wâ9?Q^â¨/)4OQìš´6™×-:ÓxÁÁæï,aø'ã·85žòÆo±¶}~Kÿ'vÄ ß¨~ÄQqÂOÔø´úˆ·ò oxÊGêg|I~ÆGâ3>R_¡J¾í-¯Ô-®Ð%úUvZú.K¯Í¥³ËÉÁ×½f¢Çœ3ÑE‹+6‘¾)œÏØŽ©RDq üSÙÇIRš‹ ùµŽ|R(T=•"ÓÈUX·Xã±Û–!9Žˆi‰%C&(vÍíÞˆÛá·˜ç]ŠÜ¤ÌMŠÌD]K”LÐkžÚXm#ˆCX$0A3U¬}[w°š,š‚ˆjÄMr“a«S±¾Á?ŠÿÀ€ _S~ÈKñš¯óÊ«.0ó+)¨k…†·fغ%j™tJÝäŠö|ŽužR¡2-ú|™ÿ¾úßø”ÿD딉FëÔ©ÂZÙFüýoéú3†Ê˜2a¨Œé F› ÃÉ”ÑÍ„$sˆzŸ-~¤|•ŸðU¢S':UªSm4äJ¡^ d¤@ÑÆ%YZÌ&=ÔFÅGåOèÕSöŒk¾î}Ài`)yWg^vÐ(9TOùºú=¾¡~ŸŽ˜sÒ|Êi}ÌÛê «¼Mw:Å›m0¦‚"ÓIc‡Öd©õv&TRG×KÊÙ}9æcñT§Buj§Frû^éÊö=ϲ‰Éôz€6©%TŽFi«TŽF§7gðdÌóãW|ýé÷Ø]0×»,ôs­ËŠ1 6 :\•ÌÒqèRb›ŽœÝi¶òßl¦-SßÞ¥"=€œ;À'A¾—Žâ¹ƒ?<Àš; È}‘äáNy‡Üîû¤ˆû¶âݰ÷£rÿû{ÀU?ºðáE¼c¼£’í¬î#÷3<Cyëûq¼kâüà¾7µû4/¶@üg¥{‰;þ8ÇìñâîÑ!ò½†ÕÏ{pË£[¹O5ï$y¼¹" ìúÁ®ìú«k×_€üÚ:~ªVc¸9NÒëN9Ü9'Y¹XÕ†p’°™¦„«œ(Ð@×@¨P(+¨hkšÝa¥Ô”ŠN$<²3`á>¥i¢ª5ya/<6ç( ¦›az¦›RY E­“U&Qå°)=ÖŸuÔ`5 ¢Ê©¤—ÌéøÏ^¼Ä{쉴ٞhwZúŠf½&W ®ê= CGh%ŠRÑ¢ª©7*Á²ÅjÑ£\ê¼QŸ±TÛ(jEßÓö¸~ˆæåHW ”-Ûž]Å4ꀓ ¤D'ª=æI—«`ŸÏ§s6±ORÚ4ý€?Ãî$¬Ýk¯A@“ù¦‹Ç8Ù¿tI±¨P¢Æ9.¦‘Q»‚¸e3Ú¬&S¥ÇLé2Wºlð9©žÐ¬ô¢àªÜãíæ˜·î1'î1ׯj"W© Ršœ¥‡\ûÌ¢µE%t„¤Âf):ì.oÙ[]³\á®ç´²®bº)j»@ñ* 3Å©cš«€^²`¨OXk "ÝAj Gå{Å £bB¯˜“è½ÉFk°ÑÔº ¾„®Dä’Ô3Ùt=²†‰o…ìÈ1v˜á‡Í(@]ÔôÎo°ÎW)ÁB[´òT¡B¥VTjUÙ6!7 Ê$ù¸&ù¬&M+êfŒoÎØ5Ï)LÊÒi›KÚæ‚¶¹¤ÖJE#7 iST:2ÙÖ™JMŨKzÞ”fsÕÍP Ô©*ƒ¬ÒIJuO£ÒUª©Bùƒ3(0–¦QcìIðUŠ»Fê…æ4ºÈ¶J‹€'ËSZ—!ÍsÚÍ%š]’Ú&ŠU‚È‘… Šš!Ñ P[ ö î)äžA¢Ù„¥OQèX«g•2ZM–·š Í)Ms§Çä¢PL*EÇÌ Ú³€f¾¦amðúk¿ÁÚ÷ ük¿ÁeoÖÀY'<=9ÃwטVNhùœYGÌ«J jJqáp«¸•Cn‹¹ÔiÊf{Mëy€æH¾X³'/ùòâS*]¡vª¦B­+˜ýÛŒ±Ãë4¦Ñ\ÓtW4ËM©¥BP6) ƒ í°‰¼æé!ÓåˆÐjÐ! ¹¢Q‡xeL¤;Ä}‡¸tˆg”àì$¸ýÇ·xJLR¹\dG,‹ãj‡ l‘•šŒ0DGDW,1¦’:ª¬±ÈÊ{õ5ž¾¡l(,•&ëÔ'JÒI™ê…N©é®NQëÔ†‚¢ÔèZŽMŒ™9ä‘Iä¡ µ 4|,3Ç0JŒMÎzÙ"\y$C¶±YemnrjÒöç»F±%Š]£Ø5z Ôô­1û?d®w hãâ!ád¸³3Þ°³wÍhtà?fЙ`È[&¸2¦Qlò&«¬Eµ²&˨K˜ûÔ†ÀîÄÔ…‚@" ‰ðêm¿ÇOs¶¹Êÿ¶¥¾‹¤ýì–Åð>øùù¿}¸êáèÿþÿÂPïnºNò `ò1tãòý=àô>žü»‹†üÌš÷Ǿ—÷. jñÿ Ô/ù§–ûEì(Ænþ¼-þ"^oÁ_@™÷uTòý~°ëV>Øõýß~°ë¯€]òkëøåèlð)LÆhÅSù9ÍæŠãƒ6¯l.^[\d6Ñʆ¨€I YK9U©®Ud_¥îéĆB¥dªC¨6)—*ÉÔ"Á¤êZHj¢\À¥EV4pnbܽw7ÄÝ ©l[$¨JI-¡t9Y=áìì˜ó³c.Îè †Õ„Ñ`̰;A3ÊmÓ½>Š€àA­(™Î*kñåDÏsvó+vókv³+šêš›ù×»\_îqsµK4pˆ6ö âÅà'ØnŒk‡HK°RZ8Ä4 È„I-T¤~Ç0Ùbq©îÃE‡¾5E7 ìVÂ7†ßçëú8Éžp’=ámö”ͧìëĉúh`ÊÞ©"ØÒÌ+VEܱ+}T¿d5¹ÉG¬²&y¦“f×É.JQ³H:4Y1³zÌÌ.3½K 4(+“eÝã¬~ª9ó¤Ã,ï>¨!r–Jeƒ§„gäck•ÓO¨J…íÄ4»Kz»cL?¦/p“mS f–<§[Â.égSúé”N ¥’U§Ãi÷ §½'œôž9¢_#¬ѯq­ˆVwE«¹âP\¢…%ñ•Crå_ÙÈ[I{rC{zC=]3K!èA²WS¥EÔ}KŒ!@wK°ßÔ$Ë’èÓÑ\ÑkŸcµö[·È¶ŽÞÎ0ZF;'Ó  ËK¤ô”ªQ£‰ªÕ˜jÎËÎkö‚Káb¶‰t|jÇ£r|ꪀ"C^dTo#d™£×†[à­¦P6V—™5djØ-j]gG3 –(94FÛšª†¹¦°u’B¥ŠUŠ@!™e¥ÕeʾNêÛ¬Õ&‹¼G©ì^ß°{sËîÕ {ñ5»Æ{Æ-c©—4ÔU•¸JJŽGxj„µ›!Û‚™ÛåÄ=æÄ=âÄ;F¥Â$gzÍ³É EC#íÜvGœvލJ ‘‹;UÈc“uæ,}Öª5¢èíÇKÐ^䳄£Å)Þ,äùâ Å@#ïhC| aÊ §H°oì‹¥]ÁŽDî€Ô% 6Kz¤8$8¬ò—ó].g{u ]‘Œì OœSž8§ì™×ܺCn†Üî¸ýÚ¡7aèOùcFþ„ÊRˆ ›i=à<>Ú2¦&é€0kb–%Rh(B  ‰#3õ£®hÕkb\,5ÁVò¶Î¸Ýc9i¦y` '‚•ÂÑÉ:qíc"è¢Ä!Æ)bÄFPÏ5Š™B™›„V ,ÔtÑâ’pé&>9&•©2÷:¼m=ždµÓ@Ó 4£DÓ·šè6µY³ïÑnÍ+C®ò.“òP§*þîšæîŠæÎŠÁ5;+º¾µÁ•j]ãʘ^½ ,=N‚§„«ë Íéê ™a«ñ:¢-QvjÔ B jD) –ÿ^¿Ÿ’÷€\ýsÐcüóó(Ü#´wiO÷¼ûßÏ’ÜÝõ˜|æ_„¸_˜ï_üòý p» Øõ§/ü`×w«øW¶ë¿¢üÚ:~k`AsÐl<;~M83ù½‹’íÜîr#Í­ã—¥°Ô@W-‹ªmS·tDÛ¢2L2Í!Ô*T½¦.U®RI…ª«P×éUƒàºÂj%4¿²¢!—äMÙM”ÔªB. –u““åN?Âù?qùÏÇ´vBGS¾qø}~ãð{8n :[ ¡³µ„Ê6•I…I1àÇ|…_å“êc¢Òå›ù?£åûùmeÍÉì9§gOùŸŸýßó :_žÓ¶gtögìíœ#M(U•JU D‡˜ž˜‘ “J(H p´@ö!)m.³}æ›.¯g/éj3¾zô#¾2ü1_=úûƒKþéú7ÑnJ‚ë&§ócеN;E…ƒü®•v¹uüÌš¸c3ñû$#sëø­†«y`Õ&WÉ‹¼ÃëèzYl Qtƒ\3(…ès¦äJŽ©dä‘A¶6È“,0P¨ÑÔòAWqkUÐ_ÍÉ’S4§À¶cÝýý1¶Ò¾Yà„!ú¬@UtÊn±[Ý—fœaDfœ¡Æ’à¨ÍçO_ð]å?ðOíß$r»Dô+Yr ^ð5ãZÆŠCå’A0¥ºT©~¼ÕòŠ0%ߤäaÊTÀz_’’2«Q¨Qôm”C4$¢ ÕBRÜT$«šMJ3 ¿—°¿{‹µg"wuòL£¹«Ù6¶HðÙ).¦žah9¦™c› £Î˜Í?^#R‰˜ÔÃõ°K5ì!OCêOToSò…¨VŽwX£ÖxG’¸g’ú=Æþ1Ÿûψ¤ËÁøšýÛkÆ×ôndR#75ò–F!5êB£ˆÒµ@ƒÛƒZ¥Æ”mÄrX«Mæywѽ^ðñ›óÍÏÿ'‡« ,=ÁÖ,=E×KT-ÄUSJ- 64Û¦DÛ+‘>Ìì.Ÿ9/ø®ýMþÉù&Oç'|<þ1Ϧoùxòc&­>Ÿì™SyÌ'öWXÊ2W W‘™J©¹F‘딹†­Æƒ{˜àÖ¸þã')‡¯Ny¾|ƒ¾,I†&IÇ$}n’|ÉÄœä8' Îe‚s’’t-Vq“¥ÖdÙm²M.ÙçŠC.9dVôI‹$ØÖñ™yư?åãÞ§üfÿùJ÷S^5žóºñŒ×gH¿â™8á…xÃKñ9/øœsù_å¢>â‡ÉW™§]ÒÐ$‹¶ÄRÍ"D .j\RŒrN«Z³WÝ’+q×$éXÄ-‹y£Å"kŽ]ò@ß’é EG'M,"é’a …@ãÎñ+êN1µ—‚"6 mÔvY9]D&)—e¢QJLÉÜmCë «¾ÏéÎ>†’aŠ|ûªä´ë%ízÁ^}F§Zp­ìã¤1yh0 ”ºFãpÍàé˜Á“öú—ìWtž±Á!Æ•1T *A–[DAƒóñ1ÁM‹“›gè£|« o´Þ~Ž[U‹EJ’ÿ;cÛëâß¶ÜGüîá Ìÿ‰û¡;@yŸ‚õ.­k{ÃãSý»#uÞÇ>÷͹{–|ÜYZ<ºú>qwŠ/ÙÙúŽUoû³ûkßÍúý(Â;$ùøpýŒáQ§iù ¾wìÿÓÐî§ðè]¸BHI}·BÈ÷Çäþ? r¿7qqw??coï&ÿ^Úß#ÿ…Å»~°ë»þ Ûõ ¿¶Žßö-!ÑÔ ÓM1Ý ‹”ØÓ¹Ûø7]Œk1÷Ñ4M­ÐÔM+(µe%(×e¬¢º%†›cy)¦–QY*™m’ ‹QžW˜Y†™g˜"E©+ÊB¯íbå IDAT'L}ªH¥la1W›C®ƒ=fËëE“º£âª1Ãæ„g»oÐí‚X8$Â&åcSHÈj“UÝâ¶qR=!(š4V­bAg=G*pòú˜7oŸòúì9¯/_ð|(i¥sÚÊ’gÞçlT¥ì°¨;,вP0ò‘A•kl‚l š5íÃ%±í/M•ËbÙa-|Fî EWÇÚOèîÏhTÎ:B—„ ‡Î&¦µ è¯çXv‚¡fjŽ¡mU× t;G•-Z®fØJD"l ¡‘Òb&»³íf¤ØjL“œ´°HJ›eÕ"-mŒ$ßjžáRJ¼4ˆ+—ƒf¶fU¶‰q¨TUßöÑC© *E%UMBÍei4i ¶ik…Ô)*¤¶QE…¢T¨ZÅ™8â´:æMþŒWñK UŶ¢-TJ*¨²Â,Sô°BŸ•h—%õEÅX ØØ[š’c†1ÎU@õ©‰}`¬bÔ²k›×^†%é˜^Ц´Bhm N-¥AàøD}‹¬4q¯hÆ v©¡;5†S£;5¦Ub«!ªL¨ò’$†PØ,ݳÁ>·Çˆb…9¶1=S/Ðí§ É®$}*IvšÄ~“Ðo²öZ$¥M¢­(Jƒ*V•$×u"Õ&±0Ñ,­¥£U´#…ä@c³§cŽt̡έ5$•&v‘²“ÝÒ^/9JÏ9¬Ï9ÔÎÙU¯Q²%”(E ¨ž¯ÚFÇ-‰jT(Vp† ÷ BÏeᵸõ´X&ùÆØf}KƒuÑdœŒ8]?aÊ™¨ÈBE¢ *5¶’`+1¶’ÐÔ¯&ê¸ÜîÐ:½xA7ZÒ\¯é®¬w<Ö»>r×#ßSQ¨Ëá°m#u¢Âe•´˜®ûLôÓºÏÌè²h´Øµ(e…“G4Ø00'ìØWÚg<ñÞ¶u¢žEÐõ˜w[´«Íb‰_xEˆšU¤©Å<ír‘²H;ÛÚ´»¶ym²QÌ”×b÷!SA“j]¢Š’¬n2/»Ló.ӴǸ’ª&–“0lÞà©!u¤°ºiq¡Ú.SmÀFmk"s“#ò –ÈÉU“¼2ȃ8w©sƒ³™ál0;)þñ´Álg(ö@ÔBl³„TØÄ´Y°Ã5åZçÊ>À¶bT½¢6T¯Dkå˜ýc’ ƒ³Ê!ÈD@¢G&éÂF %~2T&¨zŽnåh^ŽÞÌAY‰wŠSðïAd-¹¯ÛÙÖʼ|±d}ïÁlë]_(‹¹;‚¿ï•u‡^¥¨ÕèÈwŒò=$ÅcH{ …w¥<âwÞÕìÜ_¼÷Ý=cÜV¶ x»®;ˆ(­¬ï "Íí¡¾éŽìáè=z&žû”nGÞ¦Ä=PmÜ=ï#l 0¨ûž[oû~üBHãT¾7—ûèŒø`×vý`×_a»þ"ä×Öñ3Éi±B ·Ñêm ’jQ¶|ªƒ.r=D{XN†çdxv‚ç¬×5ÑZ!\[„Äs7ôG;ú£1©a1­†LîhÔ…„žœÒ“SºL±Œ„¨ë5]âÂe=m±®ÛX2Å®Œùîƒs‚«ªÅirÌYzDXxd©ÁÍzÄò‰r‹nú%N¦O9>e1mC VžÒ*—ŒêŽ8á¶Þ%,Ä…Ëm±Ç2ì±Zw¹ ùl=‡ ÖµÒ¨8öÞÒÞ[°˜uYÌ:,f]ªR%Úw˜Ú\uw0 ·ö€•Ö$‘äЌ֬.y1}Íó›WX~Šb—¨Nµˆ©Û“c!¶Žº«Å¶A& 2ÝDq+Ò¦M²±IC è5' ›·Œ·tÜ·‹ã`gûº°pí¶³ ÓžÓÞ[U˼Ã"ï²Ì;Û*lÿ ¨ •‡ j3 Y$¼"Áòrôƒ’hà°ÎY“uÞd“7°ª«N·¯UÊkû%gÎKµEµPq˘AcÌP»a¨^³£ß0@2¦O©+øj„/B|¡kf ¼6hm0›Óޱâ9ÖKì×kÚy€[y wEÚ5P%ÛÚ³|u×V,†¬Ö™¹ &Ý!“bH˜XÈË.cäÅ –”û.Å‹ú2¦½¤}ئ…Okà¢Y1ꨦکHG5YËcc¹H\5$›–ËÛò˜[kˆçÔ=AÕÔŽ@*»`i…m®°wWäCŸ|¯I¶×$ë4È*›<48ŒÎE·4“€=ëŠÎÁŒ¢¯¬<ŒI1ÞªÈ í™$C‹dߢèkؤ[­RôEI†o„t™³cÜ`´2V²ÁkûI×bÂ€×æs&rD:w¨k ²;€¯ ¬FÊŽrÅ®zÅ®rEך#º¢S3±,գΘᓠÓ#ZLwzLw»L;ÛVÕ«±v3,‘c¶2"ÕeÑØ2O.f"Í¥(uL'e÷œQ÷†*R)#•*Ôpʘ®?Ái„ШH}ÚÕ+°Í˜¦–j‹qÌZñ9Ëžp‘í³ š”¶mA Üý-xªc}ÈgÆ ¤.¹R†¸uŒ#cœ:F©+nªnÒ®¯vW#òÌ 25úGcZÃ%ZQB.¹ýl‡ù'="Ó%pš¬Û‘Ð6W؇ U©²L:¬’˸MQ4[+:ÞœöÑ‚¶² ½¿ }°Ü²K¤"¨ïU|64 0É)ÐÉkƒ¢Ò¨s™ *T²Ü$®Ùĸ«].ÐI°WC’µKÄ'Ø“_]Ó,i –ÞR‹Û#”ÛŠøÖ!Ëlâ}‡ùpëø ¿äƲԚ¤Ò„ÑšƒàŠg?æ›þ?cvd ¤HCR+Ê–z_jTBÅVSrÇ Õ-R×¢Î`4qE™¨PB×™òÌ}ÍKç33^_æ³(%½±Ÿìàî… n9hsppÆ¢èqRmT6ac táã'TéD-fÓ!·ÉËÉм1¨Xé>ãlÄm¶Ãm¶Ã4ïã«|m¯nõ6Þå*Þgµ©–*N3Ònyî¾â…òŠ–¾D—%É„±nÓWçHE`’cj)fÔ'`ƒ;¬±®b¬ëëó öIÛÏðüÃÏþO;~"ƒ| Y Ébi0ï7¹>r‘¦&öÕö6ØßŸ£ÏB²o És›Ìw©:-ˆRÄtƒr®£þn-—óÖ€W£§|•†³d÷°AÙw0¾b¡é!µS’:·¤2u6ª‹ÔÀU#jE!lzŒÍ!Q×#+M +üW%¥Ñ_Ò0—4v4¿ê3wLݦވ©;¢,9¨.8Ü\p8½Äk4¿@ëç¾Êzíáü$…\ ÝVˆRÓd=ôX¿ðIŽ,šË5ÕJA]UëÃÌðý̓㧴$Ý í˜œgû¬¢6“hÛ~![8ÈRÝ~+tå¦ì¸7|Åù„ÝÑwn¹¶ö¸²v¹²vY(–í6Ã'í›Ï5®Ü]®Ü}.Ý=®”]„ÆnŽÑ*ÐrÒÄa5 ²ëyU­hyKZî’¡{‹©§…N^¥ŽQçtõ ޱ£&3tj4½À6b¬‘ ¬D“Míq¡îq+v¹ÈöX­[”“»÷Gõém2¶H«beùôôCÚrù F‘s>=âbvÈùô˜ëÅÝÖŒn{F8¡Ûš³zU°Øô™ßôXœ÷ Ç>‡ÃSކ§¼è½âpxÊÜê27»ÛW¥Ã¤’%6ÅÚdµé’•&23·{ùo\¾þõ¯ÿ²§ðA>Èù ä_A~%¿oûÛüÅ_ü÷wlë þüÏÿœ¿ýÛ¿EJÉoÿöoóGôG(ŠòpOUªd‘…l™…ZHUEi¨;:¶aà LÚ]èus†Ý ÃÞ¥aQŸ0*c‰îäxþ†nkÊnç‚í—aá³)›$ý–‘vÃŽv…^å,Öm”uM8,£.<>Ú¨Ùž´›@ð pubÏ!PÌÒ7égñ!o¢gü8ú2sºÛûîBÂRQ(+•ªÖ¶Œ•`¾é0Ÿ4á´‚Û Õ(&¨¦Àñ#l3ÁF^ ‡%j]mSär™ ¢uƒj¹mxßµf3µÃJoRÚµ§ ´$u© í•hÏJì/•8£ ­LÑoRŒ XŸ€¹«#v5Ç@:.¿&lUdIE•WÈT°‘e­‘Ä*ë°Ïu2äºq]ï’ä ùí´ÆÿA€u½$3›$}ÕÓ&q¹ƒHcôx‰½6ñW‚d­E&aê°)¨¾$ñ7fDe$dŠKAMxU¨Q€{Çmz+¯É ;,ic“<¨CDß¶(5Õ{P±Ô†\hÇœèO9Õžð2úœ¡3(¦ü/ñ÷q­Àõ¶©“{>qhQ¦õRA\o‰pâŽÍfÇcyÜ zâP\jä¹A±0I×1YÃÂÈrºÕ‚cqFhyÄŽC šÄÂ&ZzÄcŸ*Ó°²¥T†F©©ÛæänN»µà }ΗZŸ0òn(Q¹eÀ’'<¡ðõ­¢Q qÉ>pÉ>—ì£5¦–ayf•‘¬Ö‹AÑ&HZ8J‚j•4Õ%ž³¡á­(UíAuQЪ—XuŒR•”µJU+Ôµ€X jH‡T±îÔd™t™¯û³嵊ªUèÝ]/09¦‚[z•7bmº´ê-Ù¦)W˜iÎÍjŸ›|Ûåóë>Ž#z·Ñ?“ÎMòDgrÖãäŸ‘ì ØXJ†Ñ)hÛ †g[‚–º†X¡XD…Ç 9a°;a°;fÐ3,§ ªƒrF?ž6±a‰m[ˆ¢6(*¸r(JeÜ&.J¡n?;ÌM+Ð)Ѫ rATº¥AP6‘¡ÂbÒg1é²÷I¦­æM/tnùòá'ÜŠ.;èlÓÒãÜc±®(¦áÔ%Ém¬Dç߃ñ‹9yþ äƒ|ò‹•_ºã÷ï|‡¿ÿû¿ïgõWÅùù9ßþö·©ëš?ù“?á¯ÿú¯ù½ßû½‡k.—‡|çÇÿ¦‘Òñ´ý9«‡ôí)Í3RÅÄöâ-ˆ÷—4Í% «…ÙÊPG%b¡îp½ |òŒðLÁh”TÍšÃæ[v›7 â¶  Þ¬Ÿ’l,®ÓÆé8µ·!™ûSõûÞ|º„[)YT-^WÏa-™/º¤šÍÔèá´7|<ü!©nQëi(Ôº ­l‚¸õ qiCÿ.„å‚r q½Ïp½ß‹pz+¿Å'«¯1ûaŸÔ²) ƒcó”ž9cÝjÐdå4 zMÔ¼¢Fav6 ?3¨Q3b&¤Ø¨jÇtÇ ö67©ç„§-¦‹v‘‚s­Ë«ú%d0 {¸^ˆ‘%UŠAJV™lŠ»&ÔEƒeÑfZô˜•}¦E¼0ñ‹ »ù¿é «3ŽÊSö«kZņãËs”+…Öíšãèœv2£—OéVzLpò?ˆÙßòåËÏðê}çËYô[lL…Ö$Q Ðj„Z’¨³¤Ou«²¬;èAÉ(˜p\£‡îN„3Špv"-âŒcÞ9¥g°ìôД +Oñg0Àp22ϦöT"ß%· ’‡ÉWœXOh¬7ôFszÃ9½Æœ¦ºBk‚µ¤ [‚õ¨Í|Øg=ê³Þé#Âe .×(«€<±™å’¬M𷉇M¢ç>ÑÀ§° ,™ÒÐJúFÍÈ–X¶J©zÌʳø€éæCKèôè/®h—pôÑqðšV[r¨/0ÕOÝÐk|ÖÔ($ؤX$Øä–Àƒ—‡• ‡˜sZdÛ .2¶uªþl…¸Í°o—tn/XvÌÞÑ«)zEiR:UKE¥©wVn‹™Ú¡´5Â?‹ˆì-.ÙkÛöa…¸Îo3xC$aQÁÞ/ýkó_U–Ó›_ö>Èù äƒü+É/õì»ßý.ù—ÉŸýÙŸ½çÔ}ç;ßáÿøiµZ|ë[ßâOÿôOßwüVü·Oÿ mgÉóÁ+^ _á:æšž5%UL„UÑ,—XFŠi$XfŠIŠkŘ­ mTB!‰V׫!á™ÊõºÉ¨;áà阣§'ªZåübŸ³·{œž<áv2d#[„u“X:Û]ƒ;5Ù¦tšòNa±lózñœEÐáõü%~s;Úà¶C£§¢VU*E¥R‚¬ÅõjŸ«Õ©´ˆKúÊ–…s  ”·•ÐkÏè·¦ôš3ÊDc·™®|ÿæ7´'ìôn8ãß .=®z{\f{l¦>Õ™Æô¼ÏíÙYjõ<žGÚ·±üdëøm–ì—7<ÉϘ͇\̬"æjY æY—ÏÂhÄ+ù ¿ h°"­-–i‡UÜauÙ$>qê<¨'씞oyY¾â(?£´Â(À CDpA;Xsœ„?@O3ô1¥a²ôºÛ´³¬Âζ}ú:Y€â•¬úmªFl¹,­&Óim£ nóÜ|Ë3ó-¦‘ÑTVèMû `õ`>hs=xÊçý—|>xI£œÓK¯é%×ô²k¢¨ÅutÄuxÄMtDæÛ˜‡æ`›VéejEϨٳÀ²æªKYõ˜%œ†Ïéh ²Þús›¶ Êþ‚Öþçµç¬Œ×”ªF­(Tb[[µ¦ÁoÛ·‘íÚûL±Ip‰î¢z1D8lð3dÂðÿeïMvcÛ²s½o®ºŽšA‹]ž}Nn¥R©“º…ï5nvRòH-=€€Ü2 ½€ 'pGШé†6 C "Kežj—$w0ŒºXuíFPG7¯a\ aY™?``"ÈXƒÁÅÿcüƒ‹mÕ¤·P_e˜Ÿ¯i}~ƒsÑA žUäª~èËÕTª¦ – Ð"ç üæÊ©¤ 3 ZhyFÚÔIš©«‘¡1cÈœs†,ë#΋+ÎãkÎükÎõ+"ËdgzìpÙ)‰¦“»¹ª‘{ˬË8?gœ—ĹE- rM%– acÞ ¿ íëŒg€Cv/ún9æ~ã½ð[1Œgœ.'Œn'ŒînY¨=¼ŽhÕ›mÙ$Z™ä•ͪs0/®i¯ii+µD ´E¾ÌÑ—Å^gç·¹Ýxã¿ ðʆLÕ”(›2ùB#ë¤cj,ã>ùߨ>çÒç´¥¹,Q˜y)áW.ãôŒ›èŒixÂ>lò(¹âD\ñȾbTßp¥s•sµºàÚ?ßê„•0V©ªŒZ: ux"!N*äN‰æåèJJKÙÐuÖÈõ{d­&‰,®Šs®Ês®ÖÜ•ƒûc‚ C¤ÈÍ …YÍPêŒ44‰gñE|cSÈ eC¢èÊØO|zæ’'Ê[ž©oyš½EY—|õîá{—íû.ëM›'ÃwŒ7<¾çt0&l„-“­Ùä–Áý»'QÞ7EŠ €i¯øI »{á÷o^úÀ<ðÀ¿ÿf;Øû÷ïù³?û3þôOÿ”^¯÷ ß»¹¹áìììëÇŒÇã_xÎd;bòÕï1ônIsGõ9÷.±¼Ž¾½Æô"z̾¾æŸ[(m=Äh$(Y È,‚2Ó/=øò˜Oú¯8îi×üƒR”åÍäýÏÎxÿ£ ^xªŒPäÃêÔð˜C©¦ t¸ÏøUˆF ŠÛM“wû'p#ñ¨zÇ'ƒÏèµîøøñç¸=E}?¡VX„G(JA\›,ÓÞ}VQ†HjÝéöVŒºcNÚc>¼¹`üöœwŒß\ðÛ'?¤Ç’s÷šÿ¤þ5;Ûã+ù#^É!É7ïNY\÷Y^÷XüíáÎE|\à ^Ûò±ýˆövÃp;ãl7áCº •í0Ëɬب-Öu›·ÙS¡¯èe3zåŒ3âÒb‘±,v}â½!! “)vó¸¼â?–ÏËì3IJ†%ˆU khV>”cêòà•¤*I¡‘” jV`ì3ÌE†1Îð=—éQŸ©uÄÝÉ“î€5MâZ?4G%qbàÇņ=‰9»0˜Ìùtòcþýâï©S@Ô¨Ï*k­Çûü 7†Ÿâ®ZË• jUP AËfi÷Î!p0Ê„4Ò1¢„~áCðˆ eLÚm¡Ø&Íh4×Ô­5u jv²ÇV4؈&›ºIŠN‰Œ/‚îŸ-ûê96!mÖ´ØPˆCV€ƒFNŒÉö•G¶‘^§X·¡ý×7¸ßeó“6wËcž}ú–ã–ï<ýß|ôO¼2Ÿñ•õœ‰>äUý ƒäP¢,b bDX"¦âu ?Š`UQp8Ù{àxà_?þÍ„ßÿñ³Z­ø£?ú£¯¿öÝï~÷ë>¿ÿz+Áþd!||!óþ¦·Ï¹2lè¨ÐU©;*F+A=˜õú?ÈÙmæÉÃOëv„2d*Ôà‡]®&ϰLˆ“6¥¡ðåî#ÆS¢ïØè/3\%ÂUC%Â03Ò¾þudGž¹Ç5ýÃ*ûžƒì²W=ü¶‹×Ú"NK‚¶ÍT°ô;Ä+xe,Y²[eÄFn›ÕIÒ‡‚u IDATE‰,•(¢D•2þÚåv}BXÛø¡Gž©¸ŸS㚣î§¿CnçdºJÚlý‹àˆ;ÿ„ÙxÈ~Ü$JlJ[ÁÔc:G+:½%ݣݣ}{FÒÔøYø’ëpļè#ç_Ð)Vìì;ÛcgyìlngÁ°7áØ™0”'ìË¢„$·Ø¤‡q |=ì2Q &ò ?“¿I©È|(Ïè*K:òŠ®´¤)o‰MƒØ0ˆM“Ø4HëÄ5’ŽN"ë8fH»·£u±C;É`ev¹Þ?âݛnj'#f¢Ïœ#<¨$¼ØÇ’b¬£˜Ž¹æ™þŠ|‹-jE°lwX9mVZ‡mfAŸ|)óhu‰µŠéWw<•Þb>þ¹MàØL[C&Ê 7ñ9+©¢XJŒ'ïiV;†é”f¸Eߥ°ã_b ¯±ÏBŽª9ŒKüŽ…‹Çž‰5möŠ &¸Õž¡|C&©8¶Om€/;¬¥6¾>'q ЦŒ’æ´Û+µÞ±o:8ÏÌ¯è¤ ÈJ–Y l¨¨-A¥ òB¥ %Ì4ANÖÈjnæxV@ÏZ ×%ƒxÆ ¾cϱªßtHMƒÀ´Ùé]–ô™ñD~Å#uÂÀØÓ°jNÒ Ñíd]¥î¹w<7¾àȘ¢é)¡m³s›Ü¹Ç\9OØ› mKCÝÑT·xb‡…8QH#ÚÓ ÷,6CÜ}ˆVf‡Ïå)0¯aÁÁäg 9¸ëÚ É‡žÅJN7_ñ4x‡½Š­o©+ÁIçp ÒVרr{(}do“D6-kCËÜÒ´6´¬-i­“Ô:i­s[ŸR&~ÙbªŽxã½`e¶y#žò>yÂfÝ!GCU ´Þž†Ø£åº—g&w“!ñÂf¿nq·ñ.N[ß0kôjÍGW4[Vr‡•ÒauYNº”{ùp°"¯3ié¬ú->øòü9·GGìœÛªÁv×`4Ø…-Zá–OÑç?çD¾A±rÆòˆLV˜æ}Ì<âÙç4ó-‰,ȼšô¸"{Q¸Müa_îâßiT…DÞÖˆÛ&æ°Ð{lD›kqøßV6Ÿï_ðþ¶ÏþZBž¯ñzá¿D7Äuö8º[ú8¾Ï|Ûçv3b²‘®-ÊR!ñL$«¢Ò$4³D+¢Øá.:EÍ»g\F]ü¢ Ë·L2Ÿ¿íQó‚ë¥ÁÄ=gâ]pã3qÏè»3,'¦áîè;wH$Ȭ0qù«¥xàøõäßLøýå_þå/<þ¯EßÉÉ ×××<}ú€ËËKF£Ñ/<_k&”ÿûÿÂ./ø<y†¨AÄi¿Ã·~oD磄¶Ón%˜DXÄ÷kÄ<àÅ{t?Elî…_¤DI-ãG]®&¤M&w©Û‚y³Ë¬Ó!~bc8)eÉP™1Tf4´{×;„ã9Çò”ciʉ|˱4eæõ™(Cn[CnGCt;A4J‚¦ÍTRîþÿ•ÃþµƒŸ{£þÈ£I¨Mú—Æj•Á²&XºÄK‹ùz€âÈ^ÓÝÓx¼æÈ½Ãq÷ÈNNª«‡í¼Éò¦Çôæ„ùÝdn’$&…£àj'½ž½áyïGý9ûÔeŸºü,ýQfzp*ŸÕ—ü»úë#>#ÆÆˆㄞ=çÄsæ|àL¾fUwIJ‹MÞAI‹ÿ§ð“ nÍcJKfaöx#žñ\zÍs^#×% iGÔ5Ùt›¬»MÖÝÖÁÊ¿ct†sMÙSQ)ñœ€46XU]>ø|±}ɘS|áH¡pjgûôí;½;Núž(ï2Å©j«N‡×ÎSÞhOyÍS¬ ¦qçsquÉ7¯~~ø`:Øc}ü¡ÅÜé1UÜ*#nâ3üÒ¡k,ðîKõÃlJ3ØblSXr%ËûX]… .:—” רTȬi*µQãH;ú„Lh Õ Õø²ƒ.Ý»LÚeSA) ÚíÍKêFE¯1ePÌh—sê¢bU6©5A¥ *M¢VrR¢ìJ¬M‚·±·Ðë,©Q×ôw4×{šë¢„´¥S¶|Ùc§7‘(é²¢Å!àXs¬Þ2Ð}<«æ8Y#ݾ¡úŒÆW´œ=§öŒ#çÍNÙ´Zì»Mf!—Ý'lMZöŠ–u°þï²`èßÑX4—{¬mÌM¶ÁÍB´"?8ãúÿM<ºÿ›³>¿0F¢BÉWX~ÌÉò–ôö ¨À¬B,5ÀtRUClÅD%™X$+§sËyg̳ΞvÞq]sUs]_0­NÙ=¦åˆ·êÏÝé º,ã.Ûu‡R“±”»bµBÔ<§Le’Ô$œ¸ÌÓ!wÙ ïs·põ€†º£ÑØñQõŠß©ÿ‘7þ3ÞìŸñjÿÛ}“2‘÷‡×š¶uÖ½6ŽGXgz+fYõXV]–Û.y¡ÓÉVtÒ5O³÷x¥O¦)d–ÊØ>æ½u†–˜YÈ'ùç|+ÿ)aC#8ÖñC Ò™åÇÜ–ÓR#¹kQÅ2Y©’¨&ë ôŠHØ„Â!’lv•ËtßazÛf÷Z ݬi~´`äÎ9±ŒFs<áÓ{¼r·ßóv÷ s›‘l,fë!i¦‘Z&•&“ ÂÒ‰3‡YvÌ›ìõ²`¶s™Å.~Q[î2u}Äj[ñÙeŸ]kÈ®=<¬­!Ö0e0˜Ñî9³ÆüøÿºäËÿíoXNšdaPÉóÏÿðÿáNøÀ<ðÀÿÿñ+Ù¬ð½ï}¿ø‹¿àOþäO¨ªŠ?ÿó?ç{ßûÞ/W?æsõ45&Qúò'Ò Ò%¥w8Uȶìp›P²{á—óµðK‰u¬ÑçËÆÇ´Õ5Ñ:ô’Õ Îåk¢s“Õy‹Û‹“ó!±b’(Æa• "kŠÖ+i8å@&Y¬n»|¸½à‹Û—ŒÃ3JY¢’%*IÆq÷¸g#÷†çG_ñ¸ù޾X0¨æØE@UJ,Û^»Ïø;íwø~‡o_ðéí¹x}ɧ?ÿ1òqI`™-öç6wNi<`Ÿ0ŽÎÉ ¯ô±ḎzË9W Ó9Í`‹¾I`ÜÓûu¶pÔžSÖ˜uˆûµaÈŠ¹¬Yã{Ì:"Æ pð…‹$UøúAøMµ>?Z^sÍEÃC©sÔú ¼Wu“JH‡«“G4ö>æ4¥qãSÛ5½|Iªª$ž†¨kŒ}Ž>Ï0&In°M›”²J`»lÝ&M¶´ÙÐ`Kƒ-iGKÝÑ4ö4,PÓ5Û=§ã+ÂBA·+ìFŽÓ(ÐY_cwÒäîä˜Ëü Ë¢C§\Ж–ì —Ïf5­ñžÎ|MWÛચvŸñ[sà†CÐâЋ[r{‡Âj ôbÜb.SÌ› QÖ$ªFâª$™ÆRëÂZP|PI¾´HÆ6ÎiÌÅḩÙOø÷ò?ð÷å¿#®l.˧ÜV#²XC.*$­Dö**Y:”Ä& ÅFÁ´CTw‡ÛÚÓñæ(yÁú¦Ëz첞t –’v½Vaè ßÑÀwŒð‘þŠï?à×ßAÉ ¶wMÞMžî+å>ìƒ(_÷[|8QW¦Ûcî¶ÇÜíŽQÃ’ï”ÿÈÓê=Ÿ–?â‘üžWòs^YÏx×>ç²uÁGù>Ê^ó"ÃGùöÂf-7YIMÖrƒ÷³õZ'ùÐb>)©ö¹ª»Aá 3Cn¥cn¥!«ºI¶/ÉnK²×%Ò» MwÌÙù[W||rE+ÞÓŒ÷4ãÍhOsm f›!ʪ Š,U&¢¨ÙY-îÊc”²D®Jئ»< )Š*¸[Ê,7=^]6Q´Š²×¡<êÖ^‡þ³9¢‚†½ãôhÌÿô_†t¤ßä‡û‚Ü~L–8¨êò_|àxà%~%„ßw¿ûݯ׿ú«¿âþàX¯×üáþ!¿û»¿ËïÿþïÿÂ5-yÃ7ÌÏH]Á¶§°=•Ù¬ÊHgiÇegÜU2Û]ccìbô]ÂëÝSnwCö…Gå ä“Ù*»9òYA½”J„¾¥@ˆI)fI¡ë„…Ë:îr—‡ä¥ÎZi±Q[l”¡l“WRUcU1­jƒ]¡E¡Qa@UAYCYQϬªC)ÛÙžLÖ‰Ž"Ý%Jʽ‚0@6*T5ÃÔc,;Fx+D[ Žz'ÂhÅè^v_:ÜFǤ‰Á2鱘1Ïû¶Bãd‡æfyŠQ¤èEBÇZ3P§ ¦Û!;­ÁX±Ö[¤†ŽPj¢Øb÷¸Š/0’”÷Öc&Ö +«K(6y›»"B.+ŠRcu™CöUƒBSÙ˜â>¢C?jg˜rŒa%Ø–OjLüc>³^F©ª‘ •º”èdk²P'Ë4ÒL'Ku,%"Ò,®ÕsÖf›[÷„¯Üçܸ'lÝU-Ѩ÷4ªjG«X3à–¾<ÅÒÂC_¦SChƒˆjÌVLËYslÞòX}G×Y"÷ ö§.×É)J¿ ;‘É; ™£›*‚½Npë=9 –¢ÉBª©r‰ÒsAv%È>€H@*A4@PôUâ¦o¸lD‹"•Q’‚f²£™ì…ÃNm°SªK¤X¤²F¥H¨r.¥¨ZŽl•H^ Y…œ%¨w;Œ"'ŸùH éž„hH($_[k”ÊM+pŒÙ>Ü’^¢(šH 5/Ñâ5(©éPj«oH #Oh¤;¼lO#ÛáE;ìË{c–²[cdRV ç v•: UO&èidG*úQL·3ç±÷ÏÚ¢ š’PH am“ê:¥-C³B­2lݧ©¯ékwœhcLk*S«ÏçîÇ„‹Öd4Ù\71µˆvµ¦]­ñª; 16)ºÈÐÛB©íÉÖ”[„4Ì-Ýæ’Á`J†Ž3ð©;°w]nŒcÒPlj.‚kŠ@eM›h°;§A¥ ½DÖ =¢©n”SFᘓtŒ—\Ï2Ê…ÆvÕ!Ûk8MÇ pšÆ–ž1ÃÑw(zFnÈPWèrŒ£íéØ ´Ü%¯µCa{­’9»´:PÖ2µ)Xe=–iuÖA¯26j›¥Úenõ0Ô[iÈ$V‘)ÈUTO!Ñ÷ÏVö¨¦“âu%¯BѬ‘Ì IQƒTVˆ¢†¼F‰K»=µVoMŒ]Œ¹O0w÷‡-Ë}•¡æÂ¹µQRC~¤PŒtÒ‘N>ÒÉ:2®»å±óÝXÛmBÃ"ÔMBÙ"C#sTò#™B—¨º5†ÒVœ¨ðe·±%\úg{_vÙ¨-¶a‹Í«ýjÆ“üVžbæS9B5•!Hi‡qMhî5WÞÓm-8®nlå,Ãöö„žÁ;kS¤*fññòsžÏ^3ÖOyï>æ½û˜Ø1É-݈ÑÍÃL8*ï8ó¯yºyÇÓà-ò®BÞ¢µÃ|3DÉ :ò’÷†“þ 'ƒ =eNS]“* cå˜âQxkèÓz‹¶ˆ"‡0r#™¼Ôð·õV"úÒUØ¡å’[*’S±2Z\;gènÄLïp½»àz}ÎdwÊrw„ˆ%ü¸É$:勸%ݳ9ÝÇsºÕœŽ;§aniwWtä9G6–ˆ8u>ðȺâYù'öɶ²ÇNòˆLqT =ÉäÔÇ5Áã&Á°ÁÌ:á]á1äŽ:c(ݱÕgDÇž¾áãîg?sŸp•?â*Lšéä’Š°+D£Bxªœáœ¤ØAŒD(Û˜`ªâßéS—|ë"*HO¤Ç5òãgq½ßÈLvG¬wÓÝó¢GÞïAG‡±ö¯º>ðÀ<ðÀ¿&¿Âï—¡Ë‚oó#"Ãd~ÒeÖî2Öc]6)Lؘܰ:³R'˜[_™?4ñ`’<ñHž¸$Ï\ÊŒêdèF‚£ØÆžâF%øyM¥Ëä‰N) jõ`ñ]2I ±œ)ìo[ÜNN‘7eã`«^4dd¯d­÷4Lר5A~§Ž]6ã³ñ1þÞ€(û:N†)gßðyôòŠ_¾¦n*|îÇ”¾Á*° Tê\I Yº™pìÞòlðŽgÖ{õ®x×xÌ»Æ#Þ:˜‹.Aä/mâ6ÑØÁ²BZGkZÃ5ÇýùŒÑÝ„ÓÙ„Ñì–<ÐøŒ—|¾ÿŸù/¹YŸ`æ!¦b6zêœ$±¹YŒxóþ#â÷6éP'Þgß„Æ&-™ùCÔ G r E!utÇ uîÝð¶|-üré–!NõkšÎ†¥Õgf±ÔŽðß*·Ÿp*&#íÊx戙?`¾0{7`yy„4™„gèAŠf¼xùŸÔŸ¡y1£³4Í--eE×[°=nà–§õ˜GÕAøµ“5‰¦‘•DÕ(ÌÃa›B…ì–ä;•Ϻ/ùyç%o­¾È?áT3RÇlµdã;¼î†ã‹1nês¹~‚= Iç:ÓÙ@²¯[ õK47éZuL»Š0‚„å+ñZ'3šD“6â´D~R¢|R"¿H~n’LFL>ï¡ü왬“8‰m‘õ-PdX>8z>ðÀ<ðë˯­ð+bpæ’ȹj"\µ-c(1 )&IjÕUy˜}§çeR‡%bW!ÖH5PÛP·%êT@££©D&C9ª(P¥! /T²X#ôÊ­Œ¤THF‰\–h"%ÈÅ×ñ9miÃt5$Ù˜~Âq4e³wˆö*ÑN!ÞYš†^æ´Ü-£Ó ´eæÓ!n¢l*Hº›áå>½rI_ÜÑ’7Xj„¬•¦JªéD’IP;슃[ß~ÙÀ¿i²Ó ÑÜQɵ‘bK>•% ÉÁ¨NªA‰ÈKDqÿÁ^©)žJPç2u"C"QV(AA¶×¨,™ÜÒˆu ½LQ“%/1ªd0´Ë )!ƒâ¨nâXEHGZÐÌwhAN-Kàƒˆkä¼D© D]S!‘£I:e.S ÅZ¥˜*ìå&qÛ¢Ü+HQ…n¥t'ÃÖB޵)§Õ.âKžäï¦Sô(A Ê@Bh-êT¾° â‘ …¬TÉR…¬ðn–X–‹”eä’Dh[D•…SïuNŠYÇhe†’HI}8½ªw\ƒX 8–¨«T1”ÜÿœT¨ä$‡rQ5G2*DUSPD5yY]!Pç5brB†ú¾w²” I¡–$j¹¤–•*Qêò!ŒC(B¡‡»hdžš„£CÈz†8‰O?ˆh²¥0ö†‹ªç„ªM 9,Õ.csD^+ÜVCÖU‹¨2©j™P²›H²e _mà‹~ÕdŸ60ã”~8ç(\Ð —´%²88›–MèuzøÔ)Uuß#Ê}O¤*Q+µÂ!dPŒÊq¬=-{MÃÝàº{l/Àð"„«aX¦aZZ™"ôŠ\UˆdY©f…­ùÙwT*ô܎꣔E¬jú!TTÓY‹6ÛªI”›T•L-ƒ°+¤ºDÖ drÌ0ÁZŘUL ¢½Id˜D² ”­DrK¤ºDR*¨e¢ít’¥I•ˇ{™B“Ùk.[¹ÁJêœr›\QQÌ—=v!m*’­ÁzÛ¡,JGP¸…#¨UA-*p*j©"oê„¢É6ï2Ÿ ˜,F˜VLÓÚ‘Ù:ª@­*$ E¡ÎAIrŒ,ÆÍ÷¤¨TŠ N¡ÚB jCC§¾7©û6uhCj! ãÂÇ> °}ìA@ôV'Ì vK›ð}›ÊÒ ¯®¡‚.Äß<ðÀüšòk+ü&›ÿÇg¿K¥KäM…¬©’7rG¹¡,£P`K!ÖóQ„™ÅfÄtÎtÆxrÎøÎ ì ÒFP$å\®4²­Då¨jL£ðiÈ>žé£8;·ÁÎk²óšÄ……ÚIÑû)z?ÁìF¤¾Êõþ”|¯pãŸRE…¤ð¨sÉ©9fÖê1^ ëCÆbˆ°u$CFQkTé`¾¡ˆI”Q£ˆ‚†ØqÌ-Ä[Ž« ¤K¿ÇrÝ燅»fYqÄT±P{D¾M²2ÉneêË’Ô“Ù–5qj±÷š,9âÆ8¥{¼@¯S¢ÂÂ-7üfù#žŠWlí{£Á6i°-Ú´¢ #qKÛÚÐêl¹±GŒÅ)ãø”ñú”¦ºa¤Ž5nuÆÔ¶C`9¶¤×¸e€+¸f€œ”„¦E[ÌÇò‰Š½‰èoç<Þ]agMiCÓÚ°ë¸ü¬÷ ÂÌ!µK ºäµB™ N‚;›qy(í Tßph±åluE'Y¢¯ä¸ÀS}ŠŒ®f´ó-áÎa¶ð>xJ;¾D!É•L‘KÌë>ÓjÈ]9À¯Z¨FIh»„ŽC`;”(¬².³lÈ, ¨Ñ´‚ž¾¢§-Š)-eE[ßãÚ)ª+³°Ž˜ê§L•SîÄ Ò¦DÞ w3F» íåœÞbб\. üÄVEqT‚^ Y’^ ¨9ªÈQŠ%(‘V⦆kf ï@MAE )QI1ɱ° QÉF,õŽNµÆ.Cä²¢ÜÕ¤+ˆV­jD V 5525µ«²i5Ø´Z¬›MBÓÆlÇ'‡rOÝO‰Uó눓¨°w}ƒ) IDAT 3‡0wˆr‡¼'S6¥%(%A#Þq<›¢,îè̶@€Ý0{)Z?ÇW%V¢ƒ f+5±«ðз–tYÆ=VI—,ÑH4ÕÈ81Ib‹LÕ©û{ËãrÿtXÉÚÎÛ°ÔKò±±î]€-RÔ*ó¸ÏMxÆeð”›ô”޽ ã¬èÚ :ÎÇ Ñ‡1¾ìð®uέ5`×´)›5V#@5L-DS‘“ê:·í!i¥sgЂ ¿òPªŒ'ÕkN£ª9Ieòæö#.í ©]"Z¢U²ÝµÙÜýKDªu0÷qd”~Šgî91¦œ4n9>º¥ÚIŒËÆù ãÇk™v1ç\¾ä#ç =yÁ«<$|½ÁÜ«qÍ=msEÇZÒ6Wx§;8«˜ö†чB|˜€‡NJ f·}üËﮞ¡¤UOPõeO²¾÷nª²\Q W« ®–ç,WGTk}PÐìï9îÏxÒ¿") ¶i‹qrÁ6i²*;,ª©§ÓrVÈqF¼7‰¯Mâ½AŽIÐlP7Ò–…bC`¹¤ç bPÐ8Þ2Lé»SbÊL´¹mîhÓ¦ª€R@q?êGðµ)Õ¿<ž}Ìå›/éï?ðÀ<ðËóë+üÖ#þÏÏ~Ù)ÐcôêÐ;£9) %2% š”1lÝq|1ehÞq<˜òO“oòO“˜ôÆàv2$;Ö¨Ÿiä©J,,êUM¹ª)·Pí T+ Q.Ès†ÆÕ-¸sO¼ŠÔ3H*­›a ì»NT>ø§ÜìGÈ75êõ÷<î¼çñð=×Í3~ª}“R¨Ìócp4$CFVA )Ä!릈‚;ŽÅ-ÏxËi}͇ô×þãÕæD…NŒA¤èD†Aá+K™â^øe¶Â.÷ˆ3‹uÒeÖrÓÙãµw¸í=mkÅ ¾£_Íx^…Z¼Ê_ð:ÿˆyÒg–éÆFLxi}Î'Ý/ø©ú-~*¾EÜÇ4½-w|³ñOüfó§Ô&,µK­ËRë¢ä%=yEÏ\rÔZRø*_/ø2xÁåâ1«¨Í‹ä+§W|”¼âIùžä²·\v—ñÉ1˰ÇjÓci±T{ ¹ãqúŽ'Á[¯ßS+§ÍÒh³rÚUÊ™|M'Y¡¯R”]‰§îÑÕ”–¶eW6ø*xÁ<ìóeð1o¢çT’8¸æ‚*DåA°D¥ETXnJØ9Œ‡ — UÚe ™D§¨uN×Z¡‘Ñ“œŠ1ŽâŽ!¹ [»Ïãc~¦|‹ÏÄoðlû†§—oxvùšg—oÐö{D!!QXàg5ÉQEQ”ÔFdçÈzެä(RŽZæÈa´¬“q b{~J *ÜŠhTØ¨äØ„4ÙJˆp뻊ʒl éûšà ì߀Ƞ:¹W£÷ rU¶í7½cƽVöÁÔ%Ûãe{œ<`'5¾Ž­Ô`uX‡]Öa—MدFm¥(VŠ*§Œö7(w%í·[Œ7γ³LÐ܌ʓ¾6N¹ ?køþÎ#Øy”¾LåK”|è ÕJS¡°jO°s\êXÉ^ñ]{AߘÒW¦ôÅ-mV¸ÂÇÅ'«UŠJeõ™¬O¹\=僆ÖÉ9)§Œ”^8_’¸·Ù}Ëf~Úe¢Øk•–îSÈ2†|Ȫ*RA¢„ßÔ ukÌ<¡ÍŠv½æ)¯ÑóŒérÈÝò˜ËÉc–ûÖi€™ÆLX­€í®ÍöºÍöU›ÍWmÊž kjä~F»·äiã5/¾àåéäS™ŸÞ¼DܤlnLÂÚ¢-/¸°¯øÎgŒ¬[ÈeÑàV?E¸5îÀg8˜p>¸âlpupëtnÝò™òÞè!Í#»IŸð à'i¨SŸ ê3¨OôëCY¦}X+Uàûþ¥‡ÿ•GõFÁxZÐzêsütÆSé’«ô‚þ_ßà‹àbÓ@iç(íœv{‰µ ØlZp-H¿4I}ƒp(“müaŽÔ­ÈM…ÜTÈÚ ’•ãy[N7û¡´€¢Å$Teåœyç{cŽgžÞ‘$SQ´mÉ2¿kíõ»'ö9ûìøE¬{î÷î)¤ZR¯¨¥CʸÄ @9¶áÓ¨LXÍ»œTvŒÛìE«XÇSÄ£Â+ôÙu D”R€š‚P¶]êvŸ¦Õ£iöÐÍ”ÌVÈJ2¹£  †íaès yŽFÀ4ª1›Õ˜ kÌŽk¤u…–Õêyl¶nB¥àPY¡¢xh¢@i ”¨V¶ƒ’$HaŠð2„Ÿ¢š†PRæØ‘O<Ð莖¸8¾›‡'÷/–È9H9Bd0Éa^ Â)MÉC‰`jà UA!CWt;@—VŒ 5`S½ÁIõ|D:•™¸UöâˆÌ, .Ý.‹ ipÄ25ÆØ©‡“OhÑcEÚgS½I®€š%ˆ(G%eY?fE9f¥rL2ÓÔÙlP %â¡!E´EŸ3â÷êsU;Å\3ª ®ª§©ÍLj"eœ`‡J6çD¼‹gØé= Qò9Ϩ$SŒ(@ R„W ÏrT7¥KèrBj¸A•£p…ëÉ)ÒH!“eRiñ/9ÍãE «ØE€n&H圬X¤/æ©LIàK(YŽ•…T“)íp@;è#E Ia©LT7é——9Òר‘7¹‘¤=ï¡öS–v{Ü{ùQR/Æ‹À Á‹ wRÔ¹O)šÐ,ú„" "\L “-RvCá{Pt5©2iI&QTŠŠEaê ©‰B 29j‘ $Ù¢†¯(È… ‹é’=ˆ.™ŒT¨e•DW‰«ºµG%[Ë k5Â\#ÉdÈ Dž3êtEg!R‡þ¼Í`Ö¡?ëПµ1ôÇS‘&8ñÇ›âMó)£#Ydȵ£âxSæa‰ 0 “ 0 SƒÈ3 =“ȳˆç:b Aæ(é IGPT$²FAli¸²C ™ŒDYÉ&±%Ð3T9D9Q®ã³¼LiËô¼ƒY‹É¬NbªèQD#q‚f“ÙdF‰IQÁ&•ˆ2.) Ê"a‰ŒHÖðÌsu56ó€³\Å*æØÌ©‡#¦^…<—˜ÎŽ{ËTÊœºqBLæ+# ±/¯æP-(Ös ­ ¤ÏX’8c_áÁÆ{HL…ù\çh§…Ùß$ð4´f„Õñ©Œ¦Ô—²ïa$J‘.R¦«ÎÚ„öécÖOíp$–gUzy‡ÝxˆºQ#d‘Ì-z½G7W9|d•Ù´î­Ôã @ r”ö"}^)Å(fJ^(äs™¼/an‡Ø–GÅ™QkMhø#ºÁ™«1™ÔÙsO@½ ^ëS¶]K}YEÓbD H»E‘ž&^"“'ÚX9Ts´fˆ&زK-èÓŽ÷M5JqM4f†bƨVj%(v€¤ b9b1/䟞ñìÉ;Þö—èÚ‡Ûü‡oúf~ñ ¯¿}Ç1Ïyîgóçö'Oˆôý¯"‰o{û_óË¿úFþî¡waÛŸõ™Ïãå/û^êµÚíû~$J¥¿ï]×ÏćûýxúÇó§( ^ó“?Åoýöï „àE/ü ¾û;_ŒâcÞã#÷ìñìO§3^þý?È[þò­˜†ÁÿùÕ_É·ë7”Ï£ñ˜/ø¢çs|Ü}Bþ?Ñý¼ƒ;¸ƒ'Ÿ¶ÄJ8“!Y z'Är<*ú” .29òbl{nSŒ%Üí;Û›<¼ý®í­quwîX'ËǔՄºíÓ¨zÔ[j#%×rŠFN¾•#Ú™u#cZrP¤S8ißà”s“,“™xî É a®Ž2‚QN2*` “ŠÃMuÝ ñ–LúN“ë•-&Kä­³<ÇØðÑÚªS„i#톈+ÉÀ¡ç8\­œ$vT®ÛgØÉ·ØÉ7q‹*@$ /ÁŠ]Їlön°åß å‘çÃak­¬4m5™5ËÈVÆùìQNLw8ÃUÎ8Wi­÷‘DŽ2} ¸ OaUŸ‘g;”g kÝ)S¹JZ–ÉÊ™,ã6af¤*Y"‘2~ÓaT­p\s6J”7SÊë %-¡<é1Ékôó%ÆY•I^£ÁeqÄŠtÄré¹ ,ç”F9²~nân.±¿ÑaºÒÁoW‰k ‰­ ©+ùõùˆú|L}6¦ìÏ™jUr]ÅÕìi›ÌÒ ³¼L¬©H•‡1É.“]Ö'»Ôç#JêwÕáÆ=Hä„M[8;½Æ‰l8Y´ä8Õˆ%HÒ‰LØÔ²iVÜ^ûv‹ã´Ã‘´Ä±¾DI™³$ŽYÖº,•Ž©šcìæ »4ÃVfˆ¬À «ôÂ%â@ÇlFQPÓqšcôZHÓé£;‰®0¢NR¨èD4‹¥bŽ)R ™“A~k||š¨$3d¦“Ì ò@å8]A¤/«PKÆd‘Jµpy ó^îo¼cÉÇhù¶O¤[„‹¨i®Z +uúYƒ~¿Iÿr“Ä4HÑÈ‘±ûÊÈ2È*‘(soðð<%–hY#®öÎp­šÑ Cˆ[:s¿Ä(©Ó¥Ã l1ö¸^Ï«ŠŒLÕðÕµN<ÖÏjÌÂi&A”À(%(E´¢m}D«9¢Zš¬Yø‰EP¶ˆN˜,¯`®Î‰×dí:xKÊOUßGMQTÀ*y˜úSòlƒúƘz4¢Y06˜kefZ™¹V!HMð ˜@"÷&a™]¿El0Sרï®0Q[d[N5¤½< µ4¡½4A7ºt œx2Ÿ|ÿèxà§ò–¿øK¾àó>Xˆ·üÅ[ 4›Mþûÿ÷|ðõú“éêmüÊßÈ×ý»¯áßð:ü àu¯ÿy¾íÅßÅoüÚ¯MœÞôÿ‰ÃãOhóñê'Ò?ž?¿õÛÿ…¿{×»yËÿû§EÁø¿¿•ßùÝßã…ÿæCc¬>hÿc‘¬Ç³ÿòø!t]çoÞ¶è þï|¿ûûoæË¿ìKcçµ?ûz¾êE/äÿùéŸyBö?•ý¼ƒ;¸ƒ'Ÿ¾ÄÏÉáLФ'h•«âQÑ\¦xØxØX¹‰;®±»£¼?GyÁÈUM†®J–()V­>[Õ>[­>†™7Ù– ›‰EúVÝaÚppK’€Uíˆû˜ç;žs¹»Äåã%fÇKŒúK¤yFšç¤yA‘Ã$u¸¡nâU ö:KÂdÒ©2Ê(AŒ¥z½¢j Ù\ #¤½qÑ'ÞKéë±®ÒÓ—0Í”I³ŠÛXu  XŒ$J ª“¡‹Ñ«!i¢{Ïr¯ ÷%²±BáK¤JX²IîÒÉÏ*`^‰èè]d)§¦Ø2o0¢Á(iràßËH4Ö¢ÖH©ÅlVo$Üà “Ãî%ŽuBI'’ BIG­Ç8ë.՜ʘª5¡nN¨Nר˜3¤zŠÔJ‰› {ÕUv‡ëì O°}¼ÅÍá)Nz7Y÷8í_ç´zÐÖUj u®vN1ɦÝ[Òsh¸#¬8¦‘މœ¢ªÎAi•Gó<"îe?Yc9?b™#î‘/Ð=öÍ5ö*«ì5WÙo¬²uY÷X X÷­„Ô”HU‰DH@•QäEͱ²€jLu‚³?&ËŒô&—µ»¹X¾›½ÖË•#–Í#Îg²<=ZDM*#kC$'GôAïƒÜ]YŸQÊvXM9ßݦ/µ8J;KŽÌ%<,Â\'IòX"+üF…ñÙUŽÎ¬p¼ÕdÅìa™}l­ÏÒ¸Ï4­ÓO—¸œžãRzŽ5cŸ»¬‹ä–DÙr)5R”å {žb'ýÂbom«ëwseõ¡Þ›Pë) Këd%I©Î~é‘¢“( ‰&#Y Õp̆·Ã}óG¸×¿€œ§ŒÔ:£Õ766¢ ™i6Ü=JÃ9Y “‡2Y “¦2IC%®«ÄE­¯<ËQº9rš£Ìr.;g¹§`¨×qä 'µÜc?Ê=µ Tô)qM!.+ÄŠÂ4+3ñkt§KtÝeÜÐYŒÎЪå1†q@Sïaè!‰±˜Ù§’ å|†Z$è"¢‚…HèL©Üj:¥!“Æ ©«’ô4’®A8‘éF^Tá8\¥VLX¯î²^Ýc½½Çrõ©’!•S${Qÿ[è2EY¦h)k2×¥S\ÌîâÑþyú~‡Ø6HK*¹-S”(bÑ DQćñá¼ÌáhK öŒzuÆýÅX»s1£Ó,<a›Ñ¸ÁtXe>,ƒ$á›%43F3b²‰L8× C$½EüÆD!ŒBÔ±K[ßá\s‡³ùkvñzI©Æd½†ë:,•±*s’²L¿R£˜åtÔ#jêˆóÊEr° }‘á0·K46F4JC'ôÆmz³%zÓÉT#ˆLð¢‚|¤0é—Èû-&ý„¾ÂLê0•:ÌÔùf•ÊÒ>'Ö8·v•sëW)™s¶ÿ¤Ë?7â÷‚/}>¿ó»¿w›ø½ïïÿž<Ïy×{ÞËç}οà÷~ÿøÊ½xl/Šc^þŠä¿þ·?£\*ñu_ûooÛý ùàúáäá·þóïð†_ü%z½>gÏœæ'_ójî:wî1×~"¢õ¦_ýåÛ?›¦É÷~÷wòÔ§=ëcž›$ ¿ö¦ÿÄoÿæ¯Ò{òDñxþüþü!ßõâo£Õjð’ïøv~êµ?ûâ÷?cÿ/þò­üÍÛÞŠãTøþï{_ÿßôâwãÆMÞúÖ¿â-þ§Eüþ©íçÜÁ|êøô%~•q:C–R4-ÄR=ÊÚŒ S’BeF¿°¥uüQ o»ŒÿÞ;ÊPŒ€ˆ!0ÂV÷Y2w9ëìps—R#"E!‹¾! ¶Ù$ÄfFbÁií›Ö6OsÞÇRx€yó<³»¸þ~÷Rƒ¢œB%ƒrp3_Ó9¬tÐÚçãoÅ&UB¬b†‘hEŒ’§‘@ŒÄ^—’Ë * D†wç¤Õœbºx[ttòÙm)Å<aÞç“ø*ÒžL±¯’îi‰ìX!;€â@Zqbš Ū„ZÄ4Õ>Ž:fƒmæY‰÷ÄÏäÐ_åÑéݼWz:«Ökµ]V—wY]Úc¶8Ø>Áþþ:û¿A87A! ƒºaå¦3ÇÚ˜³jðtã}œ2®ó4í½lš;të-º«-ºë-ŽZö]c¯»ÁîÁ vÝbM:¢)xŠò0ÏUßÎŽµÎ{œ¸Zßâ½í§r<]ÆKøÝþe›ÕéRŸM{‡¨l™!ÇÚ´{x»x.7Ò-ž[¼ƒ ±ËÝòEž)?Ä%ë,+g±êShglÛÜå]á.ï*w©Wˆu…‘Qe¨ÖJ5Ô<¡!i*cê+`\>ƒA“ñFƒ«'ÎòÎÆs¸¼rŽçJog]Þã®üÿbþ׋æçV=ÑH–@“€ÊæœåbNáíC•eVΓZ2GY‡ 0‰r$SÉiõn:ŒÎ-sôgØ»kv•Î,ÄœÑv‡\ƒ¸ÍÅøÞ?—ÓÎU ʶ˪½‹^ Ñ; zT “ã&³å®.ßË;–ŸÃ Öà^íîUVÕVÒ#js—Zߥ¶ãb†˜µ¼¦2­Õ8H6ÀΑJ)²™ Ù •|ÂúdóîEžÝß0yÿòS¸¹t‚G–Ï#Üßý½=Îô®qb¸s`Ì¡ÈÉ)‰Ä–IL™¤#£g¨ZŽšg(^F3ì“g0ê\1Ná6K7y0/Ï-Þ¥zôŒ&=³IOi2MÊLƒ*»“M®ôïf6Xmí³RÚ§Ùè±T;Ä.!#êÔŠ1¥bN­SËÇ(RJ‚J( ¼[t÷_òž[įÛíqáâ%>û³ž÷Q×¾ög^Çp4âõEÁK¾çe·u7¯^ü¸î¯ÿæüÞoÿŽSá?þÊùÞ—½‚?üýÿò)¿‡·½ý¯yà§~LÝþñŸðŒ§?N§ý m<ðŒgãy>ëk«¼àKŸÏ7|ý×!Ëò'­ÿDþ\½z§Üwïíãû«×®=‘·ø íEñQç\¹zõ1Ç?úêçÛ¿õ›ÑõÇOeþ‡ØÏ;¸ƒ;xrðéKübAáÊäŠBjjD¦A ›¨EÊ|Pf>¬0V™õªDêÄW4Ò¡R0$ÐM0ª «Ì™ÃÌFë5 .nPiùh¥ÕŽÑJ±ª¡Ò¢‡FŒ"¥,뇘¶G(4\*˜'S¶Š©u•öÊœ¡}‚¡½ÅÐVZä­m#¨r€S¸Ôò ÕÜ¥VLhšbH€Éq–¹dqSœ¡/V ©¡+ òˆfiJ£<éú$'ÒS É–Lº¦—$ò¦D¾*‘O$ä•ùD‚\O‘•YË‘+rkёїl†y“AÒ`63ƒÃñ .ÝKÉì][§Zuqªª5—ŠíÑ)zlZÛx­…õÚ€Fm@ÃàHSÙF×C;E8ºa–ýEZVÙGnddK™"‘Œ æó ÁÀ"q5òP&O%ÂÜÄÍúE‹#i™¹c!­¦ÔòöM–âCªñ#qŽUòi}¶Ô›DBaÅ< ié$‘N¢i´Æ·°îcO<äi†Ñ pì1íÆ1sǤ(rºE“‡‹óøèxšMé´X½Hs‹Kù]l[$²Bë )tÊÒ”H1ôSø¨æ¢›ŠdrÓq¸§÷’È9ß`½¾‹UóèU›¼»öÀ­8õ‡$²t‚ªI°dœ4 5ƒ¨ªVë´VaШØ5eŒ*'4Íeg†ÚŽÉ‘«Sá/Z$«h¤šDdëL• ½~Ëó¸{ð(¥þ»6§Ü™Óõ–yGü<:^ΤÇÒ¼ÇRØE—#ZEŸSÒ5æšÉT«pJºÎ©âkÉÍh„>öÇáNB|³@œ˜QÕÙl]fV³˜«6¾lá¥&þÜÂKJ ´&{µ5®è§Ét ·VFØ95y„§T½ ÖÈG9Ì„:ù0‘ ¤´@óÅ( „²‰Û6 ï2 J&í%ÒU‰Æò€ó¥ Ô´ 9‡E‡w"‰œ¡Tg˜Öú ¦~™d¨±r|DãxBìiIÁ<«p=-aÉ–âaÉ>¶ì±!vÙ;H"Ç. )–XŒ£hÑG'"B'Ä Bg’Õè+H.„ †‚F1¤É€¦9`É8â¼ù(§¥kÔ³ s­Ì¨¨2UF8äB¥29 …P8¶: •:uÂýêûh”†¬8ûhÕYÕ¦0À>3å”r•¬)±2ÞgTª3¶ëŒÍ:Ó°²¨õXk/C"¬Ô§Ì”(2˜¹J7…Çpi¶4Ć5$±e†«u†yA¥ŽßWÁÓd}®¨ÐóOrùºJ.ÕÙ?<Ç´QfÖ,3m”™×ËhÃ}˜ #´a̲ÚeÅ8dÕ8$sdÕ /Zôüý¤É8©1WnI?´IS•VÚÇi»ÄMDRIe•DR‰ ¯\à5Á[SñN·A--$×àHàjÛöZ%ƫ۔Ò9½ä!N¨OÚSïIªª|Áç}.ü'ÿ•÷5ÿïyï{ùÞ—|'?ô£¯àþðø×_ðù¨êGoÌüÑóÛ¿ùë·S@¿ÿå/åüÕÛ÷ž?úÃ?H­Vàþý×òºŸûùÇèŸH]à£/ñª{ ¿úË¿øQº<Ïù…_úe~éÃê?>x¿,˸zí?ü£¯f0òŠï{é'¥<|ßDz¬ÛǶmãyþ'ýÏþgæóxq¯Å IDATõÿ/ýž—ðª{ ¾ÜÖÿõß¼“n·Ëó¿ä‹>%ûÄ'»ŸwpwðäáÓ˜øIà*äšBZhD²A [ÈYŽ×-1¿RfvÅavÍ!=–I»2ÙP@‘.òæœs§ÄAÖ"èÍé gäât&81Ž6ÁPTRÚôY¢‹.EÔµ ‘¦2ÕʘyÊ–Õ§ÙžrþÔWŒ€«¦ÂÃab¬ 4c´V„Q ±dŸV>àD¶ËF¶Ç‰tMÄ„²F(™\•ÎÒ—Ü”6é‹5BêhŠÂJuÄÙåëœ[ºÆúò!Áº¿®®«:iS! ’… YE"« òšD& l5 Ržá0£b̘Èu®$g¹œ#œ›x®Íáh…$Tèí¶¸^=Å™ÍëœÞ¼†½ÑZÓ.úÌ­m2]¨/æ‘Y¦‡exXÂcª8èz„RZ?M¨¶Ç4:}ê”À•«¸²ƒ;®â%±E2ÕÉC™"“2·X¿C±‚_±‘ÖRª¥êrDÇ=¢:cº>’[`–šFŸMUE¾aAK€&(NoÊúÁ+Xciû8Ê„Vý˜ùÊbžY¯hpžýb™ÚlBu6¡=ìsv6a µèKl'éK$ª YŽ(2 £#uj%|jÊÓ’´qkè¹Ft¦G)§÷EóGÐ/7è®5hÓ£MŸ6=d¦õ£åE­âØ«3‘\c1^Ã5*d–„fÇhVDUS“'·‰ŸÖNÈ¥ñsÍñÛOÖ(„D¨éLå2}³<ʱæsÎ^à¾àÖ*Œ½Ýh™‹ùy:q—»Æ—)橆.ºÒ*zœ–¯#«)¾f°Z±’±’Ó †ä“„ü8&ØNI¯cJ­uÀ–b"×sºùÝ´C7Y ÊxE™ÖbO[îÍQ´×*ƒ™SSÆXA@Õ¿EüŽRèò-‘@ %J/êú&àʃV“~©Io£…[vȉ†Óç|9F’ŸÝ!K ‹Q®3ɪ¸iITCrs–]VºG,í÷0f!{éûÙ*û¬Ò-:¨Z„¦G¨z„®Ex²$ç8ò”L>@ âç—óE£[}‡Y )DS“ñ ‰<(X58g^æ¬u…“åtŒc:r—Z:†P0£Â‘´Ê®²Ê.k؄؄Â"6²‘¢:1Çå~§GÕÓ1»hFÀÔ´Ë9%ÕådóõS¶Ük\Ns#8E(Lgðùñ›‚ì¥èQ„úTŠ)Ah£OB”ã±]à”]¶¤›œ5¯p®~ß2¹¼z†«ÎiüMd.>³®]ƒÄÓéù*ùõ£Þ .]˜“ž“HÏɤB&­Ë‹™“W"®6—o2;Q&Û”Ð:!®ìp3>ÉMÿ$7ã-Fã:Q× <6»:j–ÒXêÓêôh, °ë0ñ% _Xx…M¯Y¥¿V¥7ªá«0Òa¨ÁhAü¦šÃ޳…W·ÙŸ®£ç½tçŸñxÁ—=ŸïþÞ—ñÕ_ù"Fã1O}êýÌ=0 ùÝ7ÿ¯{íO}Ìëƒ!ëkk·?üçO„’>Ã0HÓôSòûïzßõÝ/å ¯ÿNnm~”þÏþü¿³µ¹É©S'?){²,s×¹süìOÿ$ÿÛç|þG»ÇÓ<,ËÂ÷}J¥žçaÛOÏþüðð²—?ÏúÏ£R.óÕ_õ"ªÕíñ+_ý¾ï¥ß$IŸ’ýâ‰îçÜÁüããÓ˜øÝŠøé ‰¤ëAf"Ò‚ùq™Ù… ³w:ÌÞW¥HrŠ$‡$n¿Š m :s#'HsºÝy”S›ŒXJXÖéÔiÓ¥Á# )IsÐAh*I©‚mù4Ûì-ÕKù[MFR«ŒµU®k ²£ºbJ­¼Ï©ì÷&r_rP2¸VœäªzŠ«â{Ò:}Ña@›PÔÑ•„åêˆûÖ.ñgÞÉ='/0ëØL—JÌ:6³¶Mœk$…Fœ«Ä…F(„ò‡¤¦Y­±b±R=¢«,a>ÁÌâ`²ÊÐop4^¥·Ûæòô,Mm@pË 9¡îS®xtŒ¹%К1@HB)GˆKöÄÏNèågkÌòÖk'wI…ƒÑ:áÐ$Ì]<‹Ä×ÈC‰\ÂÜ`šW賈øÉN†Rʨ. id=–Ž©0„X¿–ÙGQbªÒˆL—Q´µž¢d)æQD)ñ(ûXŸpn`.û8ʘvý˜ù†I‚J—&ûÅ y.qßÎî\ }4àÞ ¼¿r?Ûµ“\ªÝÍßÕŸEjJXÙ+Ÿc3<ÉÂuyÈ :‰)#©9’È·#~‡´â>ÅüáÜäFu“'¸QÞd{uƒ-¶ Ј)3ÁÍK-òUóÙèÝ¢‡=Z˜RÀ e‡òmù˜Ué–9 \¡µ E"¬™¸†C6ûÉ‘l0ÕÊ äò§ämNz79u´ÍÉK7¹Ü¸‹wEÏàbvž‡¤gÒ)Ž)Æ µ™ËÉh›ª<¦MYJ©ªCM¡ž¸Ô³ õt‚ÌñÆÞqA¸]0¿" 5¥zòYÎiÔ\n„g¼/,sŒ™Œj\ÞE¢) uò†L¥1¥mô(:2éY•806 äŒdCa¶a3^­Wòš@-E”µìÖäÂÅøŒEAëöZ–fèJ„9‰*“Wúrˆé(GÄu•h¬M4±…+j¸+‹¦6Ór™™a37l<Ý"Ð B]'Ît’\#ŽU’\ãp¾ÊpÚ—ÈFi¨š&®^ÅP+EÚE’åQ3¶”›4å>†( ‰X×ð{‘ΖÕi„#J¡K#ÒG4üª”0q*\“·ÔŒ"(½ŒÆlLhèøºÍD¯àé6j‘Ò(h,ÈýÂË1ëí¢GÜW1倞ޡ«·™UFj¦<¢i iÖ4ãAa`$!˃#î>JQ˜Mo!‰GÛêÒPF¨jJ šL¥2ªHЈQ‹I.ˆÊQÓ$nšÌ;eŽ×;VWÙS6Ø ObÅ!õxL’Èqަ'f„mù”ìI¡"§VâSK'X¡ÏZ´Ïj|ÀZt@gÞ£:r) ¥•:ÊR‚Y)YsÙ¥¢¸Tä)eeFYžQ6¦8¥E:o­9¦\ŸaÔäjBî@žòPPx‚B¥È°bŸÜÕÉ ‰’çSòýÕÛÞŽ®<íÁ÷ßòíßÉ·|Ó7ròä‡GGüмŠÏÿÜϹ}îãéÏŸ<ÿKøÉŸþ~ñô)Š¢à'~êµ|Å—Ù'µŸŒý—|ÏËxñ·} F¿zÛ;xíϾžßxã¯ÜÖä^~äþþCìçÜÁüÓÀ§/ñ‹€1ƒ0 DyѺ]ˆ‰ A Å­" C@Y@E‚ò­¶æB‚P@Ž:a³yƒ­ÎM67n ·R¼š…WµðT ‹“•eÜÅŸžÄB'PL’B%—‰&K ŠãH–¥#ÚRqÈ*,çGdo»Âë'yøÚýÈv†yzŽuzκµGÃ`¯y($ A87Èê0¬W¹Qß$®ÊhVŒjEhZ„J|+‰,½µ9,H *Éâ¿ê"!‘\Q!ÉUÜ’C²$akSV{H“wZÅu«¸Ó*y!­ëÌ×-&Kå:}µAOmÑ•ÛÓaž•ñ’2󸄗™ŒkŒuÜn•ì@!Vt&AÌ•ñz%*u§ì²R9 Zsi7zl¹Û¬Mö(isŠDX*¾f1&Y•ÆlLuä²9ÚãÔð©.“ê*½R‹ƒÆ %ßÙ¹8ƒ ÎlJ¦©LœÛÕMvœH"gÓÜfsc›¼&¨†ŒÂg9=¦´íÑÚr¥× zµe¦N>öC ¡YTJ½)ww/°Õ¿\ÍPWbÔyŒGµËò°,Ÿ@2ScñÍñ‘ÈÉÕ·å0<ÝdtªA«ÍŽs‚g“m±ÉÁpά?ß'Ÿ)è³”R- Þœ·dd5£Á,ÖHC•4T1f!Õñ„êhLm<¡ΰ”S Q[)¹¡`4B*u—f©ÏŠvHKê/DôiÑgÉ<¦ZŸ`®‹ˆY5E_ ±WçT–G”3õPýIÉ‘ò #ŒSÐ)ùL bôQŒ2Ê`*‘ ¸n4l<Ùf¾Vg¶ZcÞ¬35T‘°&í³¡ì#«€’SÈ…”SP,¾K³2#·ÁÈmÍÊÉœ’3§|Ê£Õ°5½ÉÉé NNoPšÎqòÅïC“IR£›®°[l¡ ¦îaé–äÝî¶™  ‘àd3jK}êRºT=—²êR^ž2[¶½¢É´(åÚ"ÒûàŒ­Ez”°’%­Å,ˆB‹î|‰«ós\òî")«˜KfÛÇT}æ”èÒ¹ÕíSE•S‚²Û.Ó?Ñ »ÒÂNü…Ä>J˜-¢ëjdæÈEN>U¦Ô˜R-\¹Á,(3í9ì+kd5 y9A^J‘ÕIäHãibáÔä(^á8^f¦WÚ9f# ”O)çS*Âe}u‡õµÖ›»¬K{™N?©cD¤À‡(‚,Yä4k@.`t‹è ôôÄ¢iLW,¢‰‹hm(³!cB‘Jd®BÓÐØÐ247û`CîÈ*«ì÷׉4_6ÉuAÃêchs¹ÌÜ,ãU%¢©JWªÀÑ2n×§c©,Ÿœ²tK*ƈá¸Íáö ýz ×A³bLÛÃÚò°îñ‰|?Uz*Ù5…,ÐO`ãÓ÷±ù?ƒ/þ¢/äÇ^ó“<ûYÏàYÏ|išòÅ_ô…÷šÛ·ð}¯øAžóÜϦR.óu_ûoùË·þÛúoüúÏ¿~þ ð}ÿtžß+_ýãüïŸûyýÂûßs»–îõoø¾ñ¾î“²÷¹Ÿóðmßñ®]¿N£Qç ?ÿóxÉw¾ø“Ö?ž?/zá¿awoï¶þ«^ôB¾âË_ð˜s?|ŒÃGvB}<û>ø_ò‚¯`6›ñô§=È/ýüÏ=!²ý½ŸwpwðäáÓ÷ v‹ø‰´€2ˆh1,Z’3D‘!ŠQ$PÄ`(P•¡%A[YÔ®ÌÄ­œê„-ýOk¿›Ͻ›¸¡²£`[?Á\=A€u»!Ç¿Mz´ñ…E"«ä’„¤fPäÄBA1–Åìr²¸ÁVq““ù öÝu.l?…›ïÛâ‘w?«ês6ºÈ9û"ëk{ˆNŽº–7$³:ã´F¦ÁHuÚ \µt«®kLUS%¾ÌnG%µÛ¯-$‹ä.\©‚oÛ¤šŒ]Ÿ±dzй ˜Ûä©L\Óðj“šC¿\§/ô¤&]ѦK‡QÖd5 Æaƒhb4’cì@&/$2·†×/1Øo³¼zHuËeÅ>àîúE6J;ÔL—š:¡$ÍÉ™ØÔðU‹©´ ~L¡Úrboû÷ápi‰ýåzõû+«4lv±÷<Ê×=<¥Âd©Áµ¥s¼géiäUk:ä5mÌ0c7ÀÞóYÙ;ÂÛ$+ý•%D$˜Š*=µƒQ œHSh_êÓî9Ù»IëÂ͉‘f9Rœ#‘§ AÕÀ— |Ã$F#GB&GgÑèeÒ¬pxz™Ý§m°w~ƒƒdÃd•ÃdãÑ2›ƒ]üA™|¨¢ 2JË>Y,#é9F-@Ðã=Hмm£í'¨û ê~Œ’¦(«òjŽÜ̈Û9†R)MiÙfj‰¶è-äƒ £æpAüÂIÈNжbuf8KJÓ ¦ï¡º1’š#'9z¡Î,%  æHG9ÒQAæId›:Éf™p«†¿QenV™™U¦¦ÃTTéˆ>ËR—¹Ë²Ò%PtÆ’ÃH8ŒqðoZ¢Û_f§»É,r)Nв”ÒNû<}ÿÝüÿì½ÙŽlizž÷ükžWÌ‘óÎÜ{×®¡«‹M7»eÊ’èð¡!èêAW @Ðu0à[Ð IÍn“ìêªÚU{Î1"cžÖ¼Öÿû ²«E@› Xv>À‡™‘ˆÌµÞõþß÷r­è®æooA±wÅrP‰ ¯\ÖM›‰:àR»@ ™âj)Ž™b“c?+Øät›9Oó<Ý|àéü’ Ú±ëzl»>›ŽÏÔé1YöØ,CÊ…k {¡Y ("ÐÐÐ0E¾ñ™Îy»xÁŸ-~²gæ+BcMÔYSb1gÀ†ˆ Ýäæ2}Ò¡uÚ§½X¡`¦ƶK¡y ½nÐiè©OÕž©÷r>á&=ázúá*üÖ–ÀßÒiM â ¦ÛCÅùÀ¥L®"6×\])º¥Ã?»ÄS ç Gƒw«ÂË-ö—ü9˜Ÿ”øŸíˆ/–ÄŸ®H?hè_ÚÈ7ù—ÍFƒm¸ÿxÿåév:¼úæËïo ÿÒíßðï 8˲ø—ÿâŸó/ÿÅ?ÿþ¾?úÃߊƒüGÈ?þ£?ü>þ?vßÿ›L½ßð¿ý¯ÿËösüÿý÷}œÅˆ¿êëÕÏ#„àŸýÓÂ?û§ÿäÿÑsüUÏÿþáÿÌ?ú‡ÿyÑÿ¡çûëx?yä‘¿üp…_"áºB’ªÑȇ¤ PŽ€|;apÔ¤r? ÷ 7 —žžâ9{7Æ3S>í¼ä“öw¼h¿âEë++dUøh›>IyíbÐBPÑ cé5S§ÇÌé3uû$†G‘;¤…Ï.™•=&Æ€©1`gF4†IUÙä…KVúlˈå·]î¿;àúÍ)ïÞ=£5Xppq [ˆê –Q0 ûxa‚I‰j É}d¦±Kæe—C÷éèXnI¤o€NƒI…EA^:”¥Å¶ŒX”ÝK!,¶BCTtô-kMךÓÒ7´5sMÑØô¢zP³un­C¦ ˜ÑcI› +Õb!;Ìdy=@êÍSˆ¶ÄV¨RÐ8:•4Q;h½AßIÚÙšÓâŠ3ç © rár£‡l̈k㔹Þ# )JH]C)¨AËzÒP§Û"dÚôÑŒÅ!·â˜‘8`"úS± Z¬ãˆmìSÔþ.Ãf2%Îvœd·Œók&ùm30Çt¬^  n;¥Ï9 o9ón°jöîÅ ÖzÈDë³r"æa—B·ð6~´©qÝ;ãªsÆuû”»ø˜$¨3Ÿ„£úŽ®¶ ÐwZE£kºM¦yl Y£5 ¯,¨Ó¹-;ƒ:¯Ñ›CÔ˜F…e•ØV‰eèVCP' 6Sv[S«èó¿T^‘aX5EÇba´ØF>uGÇèVáK•ä‘Í$îó¦õœyÑÛŸ÷ê€]58*ÃÑr3G³ÛDØ:–®¥(L…©+ôƒÌ)2Zë‹[Η¬üˆ¦£Xã“;6¹pB{Ž’Qš6…ï°‹}ŠØ&U.'Íë*¦(-4RÝÛîÈ÷SBGîYà`׌)*‹&ÓÈ—]æZû­×®¹¦cÎ9æŽ3u͹úÀ3ù”©ÝE »”=ïˆô C5&¯̪Úû¹·Ï m\2é²PnÅ1oµgÜÉC¶e‰ \%4fF¸Û$[Â|K#utœNIp²Ã.K†G#âÞ '.Pž É|jÇdãÄ…d¦õ¨°Øq¶»æ ÓÑø^‚Ñ)i„FZ{,Ó£üˆbgo—Ä› o•cèõƦJjªÜ¦®\?Cº²¥!Zrbì°‚h4ºFcèÔ†A%L¤«!Úó¨Ây–¡kªCƒm×gtY6VD¦»4ÂÀÐ÷¯án¡k YÏ%ëºä]—¢m£4 µî@ntêÀ¤öMjß  $:Jh ÄÞÝ­Ø•¨&E%; ‘V ºŸØ2Ç +sòÎÜî‘WgbCÅ‹šHmðdŠÝèuXfAmé gôÏÇlv&>Eê³½óan€óÿ¿8‡Gyä‘Gþ¿ÃWø­ø.§qk²©Éò.¢˜øa‚ŸméÇ žüîëãœÉúˆÉj_ù‡€n8ç$¸álpÅitÍ“ãœ]rìÝá–%«­¢¸WlÇŠÙ½dµ³ØÒgJ‹+.0<Í0dûPeh±™´¹ŸOÖó„M² c6aÄ&I¶!óuŸ«õ½õœéMŸËçŒFG…üvèƒ`ßÞ S`‘á²­B²‰‡1’èão!Á=ȉ×4ŽACBÀ^.‘¦>ãå!—‹ .çh®Äïl Ú[‚ÎOK ²/Ïpó•j¬“kÖI‹M“ICFIâù|à‚5bü‡¬C © ”˜ zWa<¯1¢ã¬B&:uiм}¶š½.ñosôL³>ãìq~ÈX0VÆj@!l|}Gi,›—Öf»BJ %ƒÑ„îí‚¢´ÉK‡7Ýg|üˆ¹ÛcÔ>dÛöñÚ;Ü0Å÷vènMmdÒÁôœn…<Ò0­Ša÷žÏâopíŒsõP­ ÔšP® äš^¸¤w² ;ôPî] }ÏèjÝdkÌ¢7Í k#Þ÷ âÊÈfÑî0׺,6]¶£p/$´{"ç5±·æÌºâ4¼ÆëíHvÓ¸·N¸ÖŽ©K #—‰ÄÜ4ØU>l_ }¢ñA†IÒcŸññ!ßvS6y‹›£#–2¦´MœÓœ¡qȈq‡+2F∑8b¬RÐß; öW lܘ[ï˜Ú3XºDM¤Ñïég©"[J²w ³¥Ä4$aoÇ wCØkhŽMÆ"bFŒ#È{ˆgâÜADú~èR CÏÔ>åçiA<\1 î9Õ.™áQÓa‡Bã7£<ÿ=yä‘Gyäo9?\á·®áیƆ46©Z1I+&褜eôŽ–œò–a{Ìë¯?áõ×’|0ùpHçbÁ‹Á+~òä/øÉÓ¿ Û™FB‹[•¨©"¥Ø¼TÌ¿SŒç6SÚØxXxˆØ¥zaR¾°¨j“¦§c½+±Þì˼¬(ûeߢꛔ}‹éô€«ûwœáŒs²µËv²Û†”¥ÍoO(öÂO±~%ö^ø•!jª£^ëÈ—ö¸Äù´ .ÖôÝ õÐÀDG!€†$I}î'‡¼¾ú˜__ OG Å‚gdyÂ`3£¿™ámsÊÄ¢LmŠd?ÔæÞìsïö¹¯úLéPàyÇ¡Ðlòƒ)Âè[†á˜½oy~‡fxUŠ[e$•˽Õã½}ηÎǼÒ_°kB(tTª£Ö:žLi Úá‚v0g¨ßó$¿¢)t¼<Å['´îר÷ÝÉœbacv+ÌÎCu+í6iÛgÞi³h·™Û6fˆ4žž˜ãà€KyAaz4•ñÛ(bm͋η¼ßR ½*1Ç5ö¨ ¼MÐæëYþ´AYÐô´½ð»Ê_VT®HO-VMÈ4èqs|ŒŠtºáœ®sG¯5'—oõg¼Óž’ë&RièfˆÔ¡¤ÜéŒo‡|}û_–?áëåç\È·\èïxæ¼á<|ÇëÍ ¾NL>w¹™?A…:Þ §¯Í8÷?p¬ÝÒ³–DÞ3¬Ð›ßI0Œ’@néÊ9GÖ˜á*<åÊ9a¼>d0 {T¾I_Î81où"ýŠßýCý~YH×PmÚ4H[6Yì¶6nÄ»Í3Þož2Û ¸NÎPÙ1¨uƒÒ7YtÚ¤Fˆv –bZ’Ì(_c›ÇܪC–v‹ªeá”ΘoøÔù†ˆ /—Ÿa,+’eÀlÙßoïK-['¢v –N‡KçœáŘáóÁˆƒÁˆÍDãú]ÀÍ7>ó¯<·`ðùœóÏx~2Gïš¼ Ÿ£>g÷QmÕFtb´¶‹iû^Çá'*Àç$§u°fÞs&®0‰Ø¡˜c¢á³ï唳ǹGyä‘Gùkä+ül™áW÷¥#4јˆÔÄ($^« ¶¶ô† N',VÆ£®›¡‰ÏMhw–8þ×Ê@A]˜,'7¶Wù•Ný¾¦˜HÒÚ§®†4õÕ ö#Öƒ}Ï‘H²•G}oP_4¯ X(XȇUÁXÀ€[wÚo#] ¯“»&d™¶Ñ6 «&f+é‘.]ªk‡ê½MýÆÆ¸k趃ˆ,ó¨0±(÷Û ‘ª¡J-Vó6w·Ç¼yý§•Q4&R(t3ǵR¢Ý¹Ó0w ~’æ;D.Ñ I¢yTµÎ¤î±lÚ\5gbß[¤‹†@ìh¤@«Ì¢M¡{ šÑ  U¤¨Ílš„\¡t±ïýË ²Âe¢¼SOùRý¯¬tòjF»™ÑfŽiVdšÃÈ:`æwyºü€¥*ÉŒÖtÅ\vhº«0ææð˜]èãj®žáh–*@©½8Sk=O Ú *H0µúûWQ·È5 ”¾MmY$-0ÜK•˜» «*©Rƒ]ê³H»ŒÒ#nŒ-$ñÒ^Ha:{—L;pšWæ´ôCwÌ™¸¤²M*×d«ù,E‹[qÌ­8bÄ!cqÀVÅ4Ò¤©÷å9QÔ&tˆºlÌc^.v ê)ÝÜeŠw“Â;…As¤Óë4•N£k”¶Í2jq'¹vŽ)t›ZeM¯˜cÔŠ©î²õ#&æ¬ñ@Pûߥ­-ˆ¬=ëžíQV&Æ®Á ζÀ¾/IÚ>î Ç.÷=§zU#vµPÈ4Ž ^kT¹A-M,­¤m,9åŠ í¥2š¤ÐLVZL&'ÅŒJ4ÕPç:KZ\§|µù¿XüS+8Wï8¬ïø½â¸YF±sXlºÜ.Ïh©5­p½Ÿä)—ÚÝ®©<ƒm7ÊÛOÖ4…«2Bs‹n6è^M¡l*×béµ¹öΰ’‚<°™„}æA =¨( “N{‰›¥œ•—´Íºßì‡ä4’R™ì,Ÿ­é³5=‚¸ÚW[âjCݘ¶nÈsÈkë)Ñzé¼ÁÎ Ù”‰>`g\›'üÊû‚­Š)”C¥ÎŽN:gO9Hï9^Œ8ÐLjPA¸ˆ%#"2)B“"2Y[2{—uw€6‡J³ÙÙ‹°‹®*ÒÀ#<4%:b‘H Ù²ÓÆò€µQz!9ípÁitŧÑ7t˜ÑÜê$·s³Ç¢ê ­úe7 í^"m i ;`kG¸aJÿ`‚[gôô)¢1¯åËú; éWèÔV1á̹Âê,½£Ö)Vn£Ê6¥Þ!Ѻ¬ÒódIVºh®$8Ø1ðïvÇvï8ön8×H½ÏÔñpý6zKì§@×â?uXzä‘Gyä‘¿Õü`…ßá“ ÿÕ?øwhL c¿š–B+´­âò›§\¾¿`´:bìÿÈÆ;Þ‘ \> ž µfus[ÁJí¯:¯`YL ýØå¢¿#ÚÌØLÖ³ˆõ¬AÚíhA+^ÒŽ¸ŒåQ›eÖa);¬½x,³úMY°4!·ö€¡€ˆÄŠô0à6<ÁJK’÷â¾æ&=â:=b™x”[E3S430ÈŽNå›ÖÞ´e R`*‰#Kì¼ÂLjôD¬ ØZ,ÓmÔ#ÿ¶aøÜ9¼qžÑ±·Dv‚cg8q†£2*Ãà}tÁ;ÿœ+ù„izÀ@ŸÐÕ— ô{úú„,óÈ–ùÒ%[y,òóªË¼Ü¯™p÷ƒot 1l¨uÁF÷éÞè8UÎÍòˆå²M¾´Ñ«š ÎíœGï8®nXnÚ,w–›6wÛu≀õaÌ4ê‘:ZÐðL½§5[³š·XU1뇪m­t²£‘ÚŽ]ℎVà;lA7[ÐM–Äùš™×çÎ;àÎ?äÎ;D•Z®9ht“9‡»ý‰ôawDcäÂc½i1»°Ñ|ËñbD”ìðÊlÿÁÝ[¹ˆFâ‘B®ñfõ1·ãSj[§±uÛ ±urË"7úÖŒÐÚ¢L Íh-ÐÔºAYä®I®[¬õ˜²}Ý!6ÆR¢» ºˆš½ÐhlB¶Ï®­nÔ 7‹c®7'ø$tÔ‚¾ÚÇŽT†ÉÆŽYÛ-ÖNLiÚˆŠ}ÕT[N×WœÕ—œT#¢2JÛ¤|j!4îŒÜÇÆbˆÖ’ø)²\a‚xpüñ54 ¬ 3«®& WË.ÃxÊ*±mEd®Ë°žÐ’œ¦D«A³@´@æ>Ô]$ ½c¤èi >o– s:Gâî 3¨˜}6"Äp$†l0t‰®°‘[a™%m¹¤¥V´Õ SVØzAèniësΘZ×÷í©NY¸Ìó>ï̧½šëÓ5çø~‚ï§xABQ[Ì}¦«³U8‹®y_¡EWøAJd¯92oyaDzIÏ™RIƒKã”Ò1y[>ãÍî9·ËVe]kèK|=!è'´6+ôiÅUzJ2õñôMkТ=h0;%¾»ÃwwxÆ‹’CF€N›5/Ô4j4*4U?|„÷âç7ÛÒ÷TB2å±R ií³¬:¤•OSûïsz³_#§ÌxÒO¡[DÁ§›ãå8³gVÛ6¹e“?ÄÆØqŽ×L¶C¶ß†¬¦6£]È )OCªxÇvÓHpeêXµ`²²Y¶(.åÚa\ñMñ9EîrY=% 4¿áãà%LJ×·ù·™·È1[Ï!8l°?µª Û~mýÍèyä‘Gy䯑¬ð;8»çüOÿCIœ¦Âm*Y! “ëõ W«S.ožr—’u²®Cqlávv$šÇ{팹ÖåÛæS´¹„kàj_¦—àœ¬qNV\¯”Š»7ú›Œ\¯©eE'šs_rÖº$n¯¸>z•zBe[¬[ñ~ì÷$ƒI “rJ š €à8$‘ÏsBšúܾ?…²f³pÙ,6 —2i*”©P&І¦­Q&…i“ãP«¤Àh$nóá× o$,En²‡FÃR7¹ëôðŽ%î‰Ä=nðýœÈYÙ+"g…fInµcîôcnÕ «¤E×Z›k.¬÷|¢½DfÍÒ ›È‘Á›Õ3¾]Ê·“ñú˜¬å£NòÄaM??c@ Ÿc%·å‹I‹bbcl:΂óø_ôÍGå+¾[«{›»ûS>Ü?% ÖaÌì°Ë(< n6„ÅŽ§ù{¾˜ýšiÒç»ÝǼÚ}Ìx{ÂÊ·à\ ŸhÔ®ÎÆ ÷Â@lpÜ‚‹Ù.’KÌmE4ß0÷º¼ö>æ+ïs¾r?£É D "Qˆ.Ô{~d|44:µná±Y·˜'ÒÚçd7æEò†ékËÑ^ôI †º2¸Í¸[ñÚø˜;ã d ¡ ºþŒ¾wÏ@ÜÓ7ïñŒ Û«°e¥×¬µh¿ÅÏ=æR?e¥E{á§ûì\—L·1G5–#¢B« ±|&­÷Gٞr½=åf~Êõ挳抖ÜÒSK>‘ßa…yÏ!ë9dƒ4t„­Rh5ØiI´^¯WD› nž’F.Yì’’Èã>0‡Ü‡û·•Ó¹XÒøƉ SÔ`Œ?ÈXSŒ¤!šîovD×[|'S¶'!©ç’y.&ÄrƒS•è h6ˆ6{=±QhÐÇ } ÝÞ†oh<¾f$žGâ{Lõ¥0÷‚[×i”Ø»ÖúÞ½öµ”³æš³æG–8j…cÆŽ¶³ ¯Æ¤…ORú4™OUØÌEêI—Ñ`HÏœÑ3gt­9]sN¾t¹žŸróö”›7gh…d{ñkô IÛ]ºBsÑyG­ëøÚA©\9'\§ÜM޹]swÂê¾C7šÓ,9\qÚ»C°YÆ\e§|uÿ9µf`„%FP¶7œš×œלè×ôÔŒCÆtXóŒ÷äx,‰X²Ÿ¸º"úK]nE…I¦\jiPI“¼vɪ€´ô© hõÞåÔe£ï…_¡[aŰ?¢u´!Þl‰·[¢Ý–µ²±B6vÈÚ Yå-VI›évÀò¾Ãvë²ÝYì\›ê̢~©aÖj/üî[”wÕØå~yL¹ô¸_ÑÉ<qð|Ä‹çßrp0&²öïwhl›-3·CpØ`I-lAÞ‚ÛGá÷È#<òÈ—®ð;ñßü¿Äl*‚,%È÷ƒJò¥Ç¿þúïss{Êåwü_W?ÅþiŠs”bœáþtÇnå2_v(–.ÅÒC.|¾¾RžÜñQ÷|ÇÙïZ÷ÉÈ™oH*Zá’ÓðŠOƒ¯Ä÷XuIaØÌƒt€—,3Øláý¨ºÝÃÙ;}GÀsआGºö¹ÛÃ=0«a”ÃÝC•Nø¾Ôd[§ö Jk?¦’&4FÕàÖ%v¶~ÚƒãWÎMÊÔg“jˆÔ ~ì‚æ@×ŵ*ºá”n4¥O±Œy>`Vô™çŠÌ¡‘¯‰Ùr®_òã/0r‰¾Rèc…q©øåø÷¨Ç6÷÷‡È{‹òÌAÐ kD¯¡>„0Ò‡£Á\ÖÜŽYU1ÕÜÀº/è¶æ\ >ðEòk¾(~Eµr¸}ð¹þpÎæ"fµ™ôé<;äÅæ5Ÿ¾ábôžÍ_2š!çãù1ùÜcu@*¤'¨tVZ‹Ò¶¨l“RYX^E‘ØX²¢»[PO'ÌÜ>¯ÝüÂý9ÿÆý{T;±Qû üŽ÷+DGÑíÌù¨óšƒæ]óœ?–Ú|_ªŸ7¿&úÖ”ßåÏS|7þ•s'ù…óSv¶Ã;ýœDظ;×#Á%5mœ–@s†Ö EbyÌâ.WG'|xvÆÍÕ7›'Ü,θ¹<Ã-J>–oèÉ%ŸÊW´û Ò‡F`íOM ´D Ì€0†*5È?vÉ6ËóógmÆ ™0dÌ{†ÄÑ–CwBsdcTWOðÌœ¾5£4u´óóRb¼l°hè5s×'ìÝí¾œÕ[œªD«@3z¬Ð|…Ö“hoÚX¡]‚öÚÏW´Ügo‘'póVÆí3ý”™èí§‚Ú™ò¨Ñ÷ù—¢Æ¤¢¥Ö4ÊÀ‘}tÕÛ(Œ-msÎÀ±Zu‘¥FžyT+›¥ß%k;Ü·ú¸ñSæ=GÜq¬n9æŽlåòfñ1o_}Ä›ÿócŒ¤FÏ$oÁÅé;„# úÓ(hé Æúcû€1ûZ,{,w]–W=V/»t—´ÍÃw|Ñû V¢Å¯Ÿpðåä',´ÖQŽ©r,/§Oø1_¢„¤-Uw´Ô—OXÔ¼ã ï8ç-ç¬ ã4%Ñih¤N*=’Æg'ÊÆÙoG®LdùÐOWK4¹Œ©—´ƒZP±&WýrΠ˜Ó/çôªS«ËÔê<¬]^}ø„íëˆÉdÈ·¯DRùûÌ@h)ªþŠí`i¦Q7{á7‹)¶ÈO†p§p7¿Ÿü[Žƒ[ž?Íïþ-òû-Ì¢QÄNŠ7”X8iAÝ…eÿ éyä‘Gy䯬ð»[ñ¿ýXzIhì͹£ M¾éÂíÉ»"¤«¨fþ¼FÞVHG[`Ú­Û »Ð„ŠÆ‘HM‘o æ\,ï2Ó‘ºÁèò˜ùu—"±©J“Å}—Ë—È\#~½æzsÆh}Änì·Œ®MÀ…CÀ3plpœÇá8säÀ >2© ê£}oSíÔ–I£ +ôP¢Ÿ4èI¨›ýäN§¡qÕ>³¬VˆF}¦× Z&x@"ò³"vt;wôŽïè9#œ^ÇÄ4ÍÔ¤œè”Ê W6Ã§Ž Ü0á ºE„à›;v–Ç;ý„Dc Ìš¹ép]óßöÿó¸ÃÜn³X´™¿lQÜú¬Œº•îà•)ÚFq^qöñ þI§½—<o錗h…ÂL+\‘ 7ÄÑ‚ÃÖ'Þ ÇÙ5'·7œ–7œÖ×´½%úA&®ù|÷+Ä®fáµ±žäØÃËͱd‰UWXõ~µó’PîØú!¿ü˜×ÖsnìÇ¡ïŒù™ó'èS‰ÕTûž¾¬ä©ñžOÕKŽÌ;l¯À°*©ï“µBkCÛ_ÐöçT¾FVÛ˜i±­1ïEår«Ny%?æ•zÁ¤îó - Rh¾E!,ŠÔ&ŸYäÊ%S™rɥˑš|?„D)tu*aR6©rX9-fýs«Ç¼Ûc–ö™6¦uŸéx€ÑÔ´šGòž¢qÐ5IÔ^sÔ¾! Œ¸ «-°ÂœÕAÈëgOéº :Á‚n(pUUï3c}Myá°ÇÔc“í¸…VHœà–Ã`Â'Á·œ—¸^†ãe(_±µ<„hˆµ%gB±âÎ\x¢Ï­†Ä¶ ,«À²ÖÈs—mÚ¢J,Ò…Ï6‰ØÔ¥°qÍŒÚÔ) ‹ÌtØ™> Ñf,†\‹SÆÐbõ}µYâ–ÍÎd½ì %ÒÓ¨7enï…ŸéRzuÛØ ¿µ ÉuÔ•…¼Ñ)#—úÂDkh¦DÙ0•}®›s.«sîÊõ=ƒfÄ@Ž9cŒ¨@e*Õ ÓY1S·ÇÔé15{ä–` ”/0©qí”Ôvø`Ë›.ºá¢,éHû¡ÿÇ,îZèò ÑHd¡Ó”:M¡íû¸ž™ð‘GÌŸºF3È IDAT2/=JÝak´†$Çœßpúäš¿óäOø,þóªÆ¸¬1ïkÔXÃzVáDŽß³9‡‹;žÍÞòãéWüÎì׸~Šè6ˆ¨At%®p$®i‹OµïXk-¦zŸ‰Ögª÷‘ÎIyËivÇéö?Où…õSÞyüªõc~e}Ásó ÏÌ7ë[ºé’ödM[¬içkl·ÄP5†Ycø5F»Æ³Zö‚=&ÓmóŸÞÕ“„bË N\ vÙ¡ìØÁ'¶Dl@H Ä Ë&!@H(cìR”Wªˆ•€„Æ÷žÞ»Ó¹gìÓ}zܽ{ÏSþè«'4ñžpÉ òýV­ÚçìßþM§Owïï^k}×ÅHe9l°V¸Ì;œ°C&“ Å™»Å­“,UÊB$WEr V¥Í8isîP󤥊0aœC>¹+_á¾x…]ÂÒf79‹·0…¨Û3k‰m.qTDUYˆ5¦Bƒ™ØÀÏ×ê‚j’±‘ŒÑ„®wIg5¦æ-Ð⧾©{Tô%UkA#šÒq/éEì„gØ“VbÖCäk)AEgµiãWÖòõù'ÉGùã¸C*Ëhj‚¨æ”Šˆ)ø‘‰Åtõإˋ…®fƒ ŠºÞp©È‘Ê‚\’ð‹XÕñ5‹@·ñ ‹3½Ï}õ€¹RCJ¬ÂÇ}¬8ÀŽT/ÅŸØÌƒ&© “ ²£( ²” ˆ1†cXFaÈžiãVæN™YCObšÎ‚fuŽÜ˜¯ÕÕ YMPÕSXaÆfb¬Bä<Ç5ª¸fרâé&ë@O÷9;Ð1uŸ…^áYý:º", ·@;I© maJ&ªˆ‚@5^á/müÄÁWlt;fW:‘–$’ÌD©3ÒÛ ÓMÎg}YYÏõ IO‘­ !(âVÀ 2U&°MܲÆXnãc£—[ùéšØä9­rJ"j<÷Y©6‰,‘J©(‘–2E ‘?g2³Å¥Ù³*dæºH8óá$rœr…\”T3­ô‚XÒIê É®Bª+BˆÖpµwV7_´™ku<­‚ª&tÔKZLh0£ZºØ¬°fo…q3@OÊíWgÒhbÈ;ø¹ÍDj²Rm2C^{Ï 0ô£°¡Ùì_P«ÏÑôA(Ö!ªÕ#ñ1EL’˜Îš®® –èRŒ,å(b†"g¤ªB¨¨ •4„9e r‘!ç9r‘‘– K±ÂRtXŠ‚ܤpE’¥ÊÐÝ`äw¨hTTŠæa«+žãP¼ÂHØÀm±@•cT)Aãu„C^ ú%©§‘/e¢±F4VIÆ "9lç(ÄXŽ©®HWÓ™Îᬉ»(¸t9 ;\æM\³¶Î¿€(@©¥(­Ó\¡š ¢VK ÿ™}ï=Â#<Â#<Â#üÇà –ø‰µù±1JÉgá©H6“‘Óq³@Ú ±{ BÓ#\ÈDK™ÐÓÈVe§ ¨dzŽ(d†@Þ)vEDœdÊžyÁyÆyF®ªÊJWx )„‚¹oKYƒN8 H@ÒAÓÁÔÁ‘¬]‹°dŸªàBRZ%*«¤Âjj“žI¤÷DÊÛeYS j©ä-Á€ÔSÉV …/!”e e¹ö®‚ˆ«Vqí¥$€!pp•S»ÏB«’‹¾dq®õP­ ªc I®‘º*é™F9­Œ¨TV¼Üù0Š ìíbçU¨Q†²ÌP½ ÅËxöì1äó’àÜfx¶É"«qŸ+Äh\”=V…ÅyÖç<ëeú:”Ja}ïdBlè Š²`.6xZzá„S`Å…Ä%m.£6£E›Å°Á©“‘8S»ÉƒîÛæ);æ»ú1šã—çyŸû\áP8 :Þ˜å˜îrLÓ›R]­Õu/FÈK¬Ä§%MØvN ƒév‡§ô‡C6†cd9µ$m˸}›‰ÙæÜÜb`ö9—¶Ç¦yYÞ`š5@)Hm•ØÑ ‹º8C_Æ´fS¶¦t/A«Ä¨NÌÒq¸ë\YßÈãc¥+ìÔ'Åu¤¤“*2ÓJ‹‹Fa§Ç°·ÉDo2kT™ÛU$%ÇÉ—T=—ÚÜ¥6[bÎbÎfÎÛœeÛŒÔ.¶ââ(KlÙÅ––4ô9 aNCÓ°æÌÕ*çz3}‹S¡OE]±ëœ"t*â 9]{6Ú”®6@J:ƒ wLûb‚¾ˆ9¬ðÀÙç°r€o[´¤ âáÚ¤Cd1E²Rff ·öjÞ‚ÆdFs<£1™¡¥c )¡)-Ø–ø²E¢èĪFbéˆõ‚š:£¡ÌÈT‘ yƒãl‡Ãô€£Ž»4S ú”Šæ¡'ê*EžåSHL•e^a$mplî&†rU¹Ç-õļ$6T\³ÊìWÛ"’‘"© ²”"9ÑÒ =´K“hC%î¨D‘®¢J "29%à°d£c–f‘k« ¯nãí[$¨ˆzÁLo²XÔ‘“ ½¢UBªÕ%›ê=4Ë)6«µÇ¹ž¢^‰Ñõ³¿‚zß7u;$ªL™\Š,å ™,£Ú õÊŒ¶tIK³iž³»qH«;ưCD±À´|Å”¾zJTÑÑ/#fã:Ñå-Œ;òæÚ¤Í Ûö¨ê.Å¥*.0‹-IPÓ-I)KPÖ PÖYFƒóM.lrqÔe:l`TôJŒ^IÐ+ N—‘³ÁÌnP8†S‘]*ò’Šì®k€ú&áÒ"XZ$c•ôB&½(. $9E‰ct5Älú¨V„;Ò‰ïw9»§#ží2p®sVé1uÊ6Ï 7}Ü”<Á±—Ø¢‡íxÈFʹðˆø=Â#<Â#<Â*¾ ‰Ÿr3¢œäd³‚ôT øˆ‚4-±¾(Öìí }³`¹¬ x²•EèW(;)E5%×SRRrC"o+¡’‚#,Ø«Nxyí)^Qý ¹&óþâUä¥Â¸ì0.Úk—?4¯#,€Ù ÆÈ6hXT4d3CÓb,yEUX RR’…«°ÂjjQœç÷ Ê'3XBÚÈIC[¢ DJADÒ3ø8é+Er$<ÕÁ“<ÃÁˆ͕>s­F.H¬$‹3­‡oiœW»ˆYA˜[D “èܤ:[r«ù$·šOq«ù$ýsÜ›eÛÁ5mÂÒ ºÔKj—Úx‰r\Û 7 æi¨ÔÐã£eD®H„šA¨Dšþ\ :`Cdh ò>3·Á½àjšÀéCâwåP 5â¹J<ÔˆTâ=ƒÉ~‹Ãê>F×ç1ý^&hRDW¼X¿r‹§ËÇù`ñE ¼löZã9Ýñ%{³c”U†¼ÊPVi)c‰>mgÌN~JÁžÂîÙ)ýg/èÞžlÉ„WtÂ-ðŠÎ©Òç™ì1žÉnñ±ìq¦Q‹$TH•$PP•˜¨ià KÝaC¶Ø_Ó¾°wvBw:bÚ¯3ë×™VëÌ«[lÆ#ºÉås»PÕ‰5•bâi6GÎwê7¹Ó¹ÉÝå <ÕAmD(V„ªFÔŠµ¥Km¸¤vºÄ¼Œñ’*÷âk| {S£­^ÒRF´”KZò%}ñœ-õœÒ=˜‰UΤ>·¥kÜoÐTçPqDŸž5D*2,}E]ŸÒÕα=—÷ˆƒèˆýó#œŸ÷7^‰ÔÈ™7ê ê=ÚʘÊm^)¿ŸW)ïc`t9·8µ¶8iöÙÇ\[ÜǾ`=b®BšÊœLVH…¼*QlJ›"y]$kÊĆJd¨D¦ÊTÜàx¸ËÝáuž>ƽñuö·îSæŽêaÔô$BY%HÓ .JGÕªŒŒ Žò=d!ãŠô€«ò®¨(K‘§Œ[úŒíú »õC¶:ú%míC{HüLŸ¦:¡_=%\·Îô²Éᇮâ~¸†p³@|i†dgˆ;ö1×Õ;\SîÐÎhåSÌ4 ×&•™*’i™&2 ëdgçOö¸ø@—Ûw¯#v¤ : v¢®JÜU‰•ÂФˆªìÒQ/騗¡ÉdÕ!™„›ð\§<-)NKÊÓQOÕ½`í¯Ð’wdpúŒÎòý]¼gd¢«]Âk›D¶aýYþñœè¨rŒÝYÒ'4í1ª3“Ö²ÍðùÀw~÷ëÐ4•þÁ7~Òù×ß÷“¦?úÏßô97›Ïùª¯ù:†Ãî>óÜùÃG¼ñ˜÷ÿÑxå+^Îßð½ìï}Æqö¯=öiçlÛæÉ½ÿ³¶.ó=_ÿçÛÀ3Ï>Ëüèñ¾?úÕj…òßÎßøú¯àßÿþ{yû/¾“?|ßû±,“/ÿ²/å{_÷ZõúgÜã§Žý{ÿÏ¿ãçÞöv>ò‘b˜_òêWóúïùn66:/¨ÿ#<Â#üùÁ,ñ«©sj# %¼RÅóT¼ •èÜDé&¤; ùÊ8Ãc”šKu+$æH»)Rgíu„”\WHë*i®‘©*›ù„šâ¡É E)$2)"ùÃ’Å¢˜£Y ª£* R“LS’ó„DOH)1¥C0¦-Ò5/h©c 9¤@$‹’¹B2SIf:Â)833v±TÁ*ˆ ›H·‰Tg]„\)ÕQ-Ð̽RÚj0¥É,o0OëÌÒ³´AR”¦@³3Å9ðÉ["…o±:·(r‰Ü“)‰Â‘‘…ŒÀ1 Uƒƒ$Ó QŠ« PH°„`j%æ”’€)´å »Ê žZY«ß|Âdp ÀfƒT•Èj2yU"Õâ\#Ì Ü¼Fš)ë\¨ƒP–˜v€éÔŒ¦âƒVR%¥]WTܲÂ(Øà8ÜÃ#V‚ÍDi©Š’£Ä)z£–)²ƒ ‘ªQ&y)¡á𩦠()ޏĔT9ARrJÍdª×™™ ¦VûÅUn‡7¹ã]çÞê*‘o`fP 8Ê’J¼ šÌ©&.UÉ£9˜³q>¦vAw:"T †¦Î¨ÖåA²Ç2©á&5–i/«’È2¾¨È:3¹Ž/›ä’„,­ë¡ibˆ*†hB€UøXQ€¹Ñ/c´a‚®ÆhJ‚fÇhF‚RK‘¬A-)E‹1m2d<*Li2-›$¹†V¤ˆE‰/[ t1A,rV¢.Flçg”1ìÇ쯎Ù[ž`-†V—S¶©i3,g…*DˆBN! Ä¥ÆJ°™Ëu†j‡3}‹H5… )+#F<ÃL9 &-@P1“T1 e“i…EPaF³¨Ï<«‘ ¢È FbG+jžKk6Ãñ<Ô8%/%|Õ TU Y@–RLÁGsT-«$«ÉÄ‘Îܨ3”»»œÆ}ºâ"Õb%„x^À³˜¬ÚŒV›˜«Õ'Ì[¡ª K*x´˜°åŸ³ãŸ²œ²œ—‚˜IS¹N\êxQ…iÔböðÒ*FìSI4‹1!> Ùºô€P²,‚L'MeŠÒX&dOY@ äUN+ŸÑÕÆÔä[¶:'ôÛg´+—8,QHÉ‘ˆÑ•”ª² ‡Œ¢'Kû,Ã*î¸Êñáz5ÄÚ_bgK,5BÔÖŸ™¨ :«Ò!É ü,GIrĤ¤ô×e ¯‚i“¬4ŠBDP N4Ò¹A’¤ 3[‡gvê ɧ!ÏhÈSš‹¬N¼4p/êä÷E²‘„°È³ÁÌМÛö¨isÚÒ«t “*aPe´¬0œUaVƒi êTA^eHÅÃáF†U]¡™’’­°’ü>ßø¡x_û×ÿ&¿õÛ¿Ã_ýê¯à7ë·ùÀ?Ìo¼ç×?çñ~â§ÞÂßþ†ÿ–ûñŸü¤óßúíßÁý—¿‚·üäS–%oÿÅwòm¯ùŸùíßxÏgçS‰Ì»~åÝ â5Ÿë|/„,}¶ý>8âüOßÂ÷¾îµüÜ[šÅÂå'úgž#~ïxç;ù¦oü{üü[š ùé·ü,ßþÿ”_ù¥w|ÚüŸ‰„¾ãï⛿éùâW½QyÇ;ßÅ?üÖoç=¿þ/^PÿGx„Gøóƒ/Xâ·]žñ•Ùïâe6ÇEcz‰}&b•$ÌðgùiFl¦Ô“9}@}kN½3Gl­*‚Ti iE%5CE'ˆã˜ãIñÔa•8©W8ѶX©ŠQkΩ·¦4¬†¾bf[Ìu“™dáaÒ”&l©c¶ô }kŒ¬gˆJ†$å,„óUÿÂ&>Ò(ˆØ®ÏvzÊvëˆÊ’’qYérYí2ªvY™T9Y›” i1NsIÑ‚¹U')eܠέáºunÚÜeCÓ¼2£åLñp¸P6žvŽ;䲄-øX•ÖË|*‰‡àæœ-û¬ÎªC§\à˜ *íuŽ_f(LkMFÒ¹¥à),ÃãñêSì4)cñ“Ã`uÖ¢‰_â¨øU¿jT –ÊúFwµ˜E-ÒPY“¾6° bTвÆô­S¶¬3¶¬S’ …¨³3‰}_èÜÜ`p±(å”Mæ”Nã0Õ€¶>Æizx¶Åq¼M”hĉFœè,ÛËŽƒk­ƒšÁr×f¦VÑZC»Ëim‹3¶8o3ú\Ì{Lfm’¹Šøle§ì¤'lg§´ä †çcÌÌ¡#.Ù¸³qy‰uéS¬Dü©Í¥ÝáØÚçíE\[Tq© .5ÑED!CzhY.ÓŒg8~ÀõÅ="M'ðu‚D#(tô"BM¤0C\¨~BWrËy«ásµ~­ 7t#@' Ê Ü¤Î0í%²£Š1iÆ–x…@žIœåÛ³”faˆ…ì†'T¦­ó)mw‚‘‡z‰Z1{µƒ1i,sšl‘Å2§É®î0Sj̤¾`­ÕI« “îwV7ÙÈFôszÎ9½ÊX0з}Îé3qÛ‰N‰A˜é䲄 •ô[glvìJGìIÇìºÇlûç(eŠTæD•ÔiZF% oŸ¡K‘lRZ'ŽÓܰƑºÇQ±ÇÒsP✆>g_?æšv›ž4àŽE( l‡Qw“Ì–‰ƒÒHÇ*uy‰CÀ¶0à ÷é#Z‹)uw⦄Ñ:÷¸Üã™âæZôGl3‘ÚD¢AnJ,õ*¥‡ æø4„ÍrúÜñt¶Åèlƒùi•àÔ ’ 00E0Eêòb­ +^ÐÓ‡Ôͦ¹ÂTW˜Ò ™Œ‚õÃpPÐ)°ñP‰©3#Gƪ\Š] &.ØØ–ŽÙ–ŽqÄ%†¸Î²É :i©“”:y$SºP.Ö–¬dI¿fÓ|ùéÖÜEƒÅ¢ë6XŽ5šÖ”~û”­ì„-õ] Q¥ULPHãw^EøH÷„àaaúƒÙIq:+š{s6ö.ÙvN±Å%‰ ^Ýa¼áÀ¬ Š îª0ÕŽ1m«¿Â¼î#Õs„f‰¯Û„YIšëSðy®ëüìOÿ$ëoÿ]^ô¢ðÃoþQ~íWMûD Åýk=/Q:<|ÀïýÞ¿ãÿþÝßù4¢tÿþ!ïù×ÿMUøÖüyÛÛñ­1MS~é]ïæ×~õ—_ð¾þcæû8þ¤ýüÄO½…×|Û·ðWþ›¿ @·«óæ7ýàsíïúÅ·?÷³a¼ö»þ /}ù¿à¹ßý®O^ëÿøÍßÄÏüìÏNë„Gx„?ø‚%~;Å_™þ.ã¬Å‡‹—P¢0ûŒ…*qXOK¢³‚H‰iW'ô*®·ŸåFõÙum?] ÔJI$ÑRQ%15’šÊ¼¨ryÒâøp“˧n1_6Y:u<§ÁÊ1‘Û)µ+súÖ;ê1U{ΩÝãTïÉ+¡JK:ãšrÂúS¼Øü ­ÆXl1–ZLh1÷ë¬6ñ³ÅGìÒg·{ÆK7?Ê˺BmÆÜu®r×¹†b§Œ¦b ¦ ‰1¹.‘é"3½Æ%-¼ ÊrRû¨²V©>Ƙ[OqëúSŒ¦]>rþÉ©ÎÙ`›Ü1®Nظ:dóê]ˆY>]ãlÙçcg#x%WÍ;\mßÁ }laÅTo1‘L¬6Ó´IØӬÌÙižÐؘ#EÄ@òÐTÖÒî6`AP1˜WªÌ«5f•#©Ã±·è+“ePÖù‘‚–9æºy›'Œð„ùa<ÓfiTXšKµÂ,h2;o3øØ6Óµhhs®îÝãêÞ}®ˆ÷¨Ö]RM&µÖ")c±—Û¬ ›Unãc‘™!“2… T <ÅFoU‘¯¤œ$[ÜNnr7½Áíñ ³Á¥‰i‘^ªØÑ˜]ᘗñ!^*|˜¾|¾ÑR$=C 7Ä\†Ë"–XÙ6csƒc}Ÿg”[hÚCyú‡ÇŠèRçÔ„9Uæ4ó9ÍxFk5£¹˜ëçþ&çq—ó¼‹X¨i‚å^‰â§tC,Çggó˜Uß&w °¡0rֵʆqÁëô…s®+wØ’osC¾Í’ w‹«Ü)ö¸Ë5ä4ãæâ67§Ï²79¥?>ÇEèn„‘E$º‚Z±6¿ë—$®ÌÉr‹Swa)Pê%¥R€TRRàk“Ú¦€‹l‰§<Þx’¨©`4vÅc·uŒé(aЦ¨a *”¶@ᔎÀÒ¬p¡wêhF‡¯¨à 5rÐ4‘äQÉ‘ä]ŽØÕ¹®ÝáÅÚGx¥þ>\±º¾ÑëÌŠ:GÁáÌ&:7Þï!"’v—ê%·6>†S]2» ´.—F›‰Ö$ É$ "áa!ñ\ ÌDð@—"L'Àªù„’Æja±œV˜ÏêLƒ6žçy ÙRF\èIHMž³!Ù•ŽØ-Q²e•¡)Rž¯õù…Eä,½*cwƒ3kÕŠQеj¡¢Æ´Ê1y)"•)Fé#‘Qô¤;Ê)‰¢¢Ê!‚˜‘ ëS¡ÅSÂ-ä,£¹\]Ý£¾XÐuGd¡L–),¥ žaãWMÊ–€¾PÝžã[Vºƒ/WXQA19F)cÔ$&/%R]#­id¹jÁFû‚eÓ!n©¢ÈxÑâÁb'‹[.¯ x)Ê(C¤˜^@C¡l$TœÛ´¥Kšñ”z>§ê¹,5‡•d8Ó:ªœàäK*¹G%ôPÓŒ3q›¥Uå¾t•c‡Â)r‘"•0£+÷iåS¶‹s®(}å9† ’’£H)j– ø)v¬­0Ë#ŠQÃ9Ìã’"É ñX'¼´°I •LS(ª"%) ai"’QRR¦I¦dË´ÊhÜa9¬ŸIhÇ1ˆ"YE#«Èda³ R,éÛçÜÔŸ¥nϹTšë"í±_ZÈb†,¦Èb†"iŠ”æ¨QŠTXÒ´flt.Ù®ŸrÕ¾ÇãÚÓ|‘øAæe;Å5ÆE‡ ¡ÇEÖcZ´˜Ób*µðK›<’×DýBB"v{GìÔк>¡¹=Á÷mÜÓ:J#Œ2ô…O-œÑÍ/Ø“ˆ7«¬ÃÁsÆÙj6ùWÿòW?çþððg/Xâw|Vç7þÍ>‹¨Í½YŸ£¤Á²£­ÃeÖa†#(—"s±Î‘½‹ÔNñ1ÈV ÙâY,“§2Y"“¥2îÊa6ˆû–SI–“dI¦€…&’+2©¨È*Y[!¿&Sf"ESbÚjsG¼I~*37˜5ê\6Û\6ÚŒ-ܤÎ2©&E²>%Ws˜Ø j¦€JD/ Ä)[É9óYemó*«ÀDÝLѺ)ÍÍ ÝöQÐBšú$g1Ë»9¬– ú`¦Ð(&Ù°NS‘@”Jd1Ec d-CëD(×RĬ€…@ù˜@±%’;2aa²ÈkŒóçyŸ²Y)#gƒCå€ }ÄÆò’—l¤—HjAb®‹’'5…1-Ž—;ö8òv嶉b¥ô­3:Î+õ±²+ ¨dW¤{H÷Ø&Èb©ÆЇ¬–˜JŒTñé[CnvîR3\kÞe«z†a†$¢Ê,hrâíq;¿ÆDjb:>¦³ö ÈZÆlÙ`î6™¹ –^©5g‰ZIi:srŽPÕœ¶5ãJqÄ¥Üfâ´wšL¼Bž1•jܯ’‹p’oÑöÇtü1`B%X~âŸWdýZè¬Ånò’f6e3¹ +_°) ¨ *₊äR‘]L=@ëF¸™Í=û€\ ¶ ¬ûú¹¤Úò`¿`¦ÕÈ\à 13ŽÐ.Ö2øZ™"%rY°•ÈS' ØNÏ鉮J÷èJCT9Y¯O44¼‰,¯ë0uê¨íMæÃ&³‹s±É,n0ÕkÌÔ¾da !m…äÈB¬,%‡…XÅõ«¸q3h‡CÌ© ¶”3ö9d?9¢¾rñ% ½ŒÖ%>UaN{5¦3Ó)Æ4â9bš!ænQåÃ7l²†Œ$äF€[©0¯U™š &b+P¼ g zVPS]ZʘMýœT–1 ƒH0( ÔPÖ5ü Wµñƒ8PÉ‚õSù¦6¥« ÙÔ.èêC*áÝ8^í2ó´‹1݇a—ÝÊKõÙQOˆm «îs%»ÏÐér!n2t»¬D‹º° «ŸÓ­h#’…F2QYÌ\Nº3E)è߸`³}ÁÒ«2_Õ™ûMæÓ©^GgLS«Ç̨ržöÌ{ Ò‘ ³a éš#jæªä²WŒ·YŽ+,'×F*KnÜf»yÆÞîW¯Üe³>B+3òXÅÏ+Lòçù‹¢†HI[¼¤cŽˆ›n¿Î"«³Pêä‘H¸¯³ìT›m$fÔX¡‘PR²ÀàHè£ Oq ±rV ‡•ëpyÙá¢ÜdÖïüƒÒQ(ndÝ’D-Y¥çIŸ<•™'Mœp…+T)"]a€Q÷Y^Öp/k¸£*îe ùJ†¾a9+ª¢KEXÑÐæÄœË:y.ñQeôÿÓ}ÑýgŠýžÿ²,IӔ߸Íßæk¿æ«?§þozóòúïù.DQüŒíßùÚ×ñõíkùþþ7>—s÷¯}Ý'…D~&ü_¿ûoÙßÛãÊ•ƒÏØ.I7oÜà§~üå+þÊW>GÜ^è|Ÿ­ÿóíÇ0 ¾÷u¯}ÎÃ÷†×¿ŽWÙõi×ýáûÞÏ?ý®ïá­oùÉ?•õÁÝgð}Ÿw¾ëWø®×¾ž_ÿïþœÇx„Gx„?[|á¿Ó¿ùo^D$×™[ÌŒ:^[‡ Öªl.0…"YØuŽ;{¬“sºd+•t¨‘ž®ËžDˆ¡°>Zy Š>X/‰‘ ,àOò±F) Úºèt**¤²J֒ɯJ”¶D¹+1ñÛ¾Ìä´Ãg#ÜÖöt‚=Ð0ˆƒ81ˆ"‘È ‰@Ôqu‡±Ý@²´0¢Ó /X.ž=ºŠt…ùqŸóy—î­ iªZ­Rà“N#¼Óáº`ÐH ->ñ´Z$äYÌЄCxHü6bäþ, •M¹žÞáVü Oa >ª­ë—)‘¾&\®íp¾ÕCËu~¦³¢£ QÄ”¬©«2³v ׯPO\êñ)Îѽ9Îb¢5IÙb°ÎCãœó¶°¢!Îh31C[GG$W"KgéØL¥:ÅªäØØçHØç8Ýc´ì"¢’"J)!MmJS˜ÑÔf4)¢îE׸ç_cmQÉ}zå›<ËMã6›ò5aN-]Pó–ŠŒ!EèzˆnT•9{ÓÜPïr£¼Ãf<ä<Ýä,Ûä¼Üd(tÈ å!é ©6渚ÃB¯2ÓëLÅyäâ,Ê‘„r™cI!µ¦K«1fÓ9#±$\¡Ž+ÖÉE™2Hm‰ÈÒXÙ&®fã»&±¢’!!¤%MmÊuã·Œ§xÜxšEVã"ÙäÄÝáb¼IWò¸ó4¹-Qsë\뻾b78æ4ÞæéìqžÊn,M¢P§¦ÏÙ®žr=y–í☳ù§Ç;Œ79=Ü¡UÓ®Žh_Ñ®Ÿ·8¹»p§`5ÕI%ð|IYçÔÜDÑsŽ‚}Žæ{œÌöÈR…ÇOQ«{8õŽ2eqÞdpw›Ûwoðàè€^k@¿5àÆþz­Íú”zmF£>C'%ü¤Â4îp–ì‹êsJ¡mmD!Iœe;œÊ;DŽŽ;D=·SE2TfTñЈ)€…`pDŸ@0}’@#Yçá™Å*³XI6«-›tÏ ¬ˆä%Yмò@f49 ö±âKð°ë›»ù£>ƒÑÙHÂÕ2´n„íøÔ]Š´YΑµ¡,<"~ŸwÜ»wŸÿåÇ~‚õkï¦,Kþæ7üw¼øÖãì¿à1žyöYþÎßûûŸtîçþáûÞÇ/üü[?)ç½òyÇýÙŸ{?ðýß÷ü Š¢|î×Ïy¾Oéÿ|û¹yãúgâ“…ˆ~ëwþOÞôæá~î­¼øÖãÏ¿‡Ï˲øæoúFÞò3?û§ãáþìðKüN/꜎^Uá Wj±VÀ!°€r"PN½*Á¾Æ…¿šG$Kt¨“j¤·uÊ™€à•à°,1÷|*¯\Pé-p^±@W3¸§Ý׉( ‚R(‘L”Ie™¬!S"eW X‰Ìn7™Ýn" ¸Â"G(2#Gh攑HK”±L‘ˆä¹D$j,U›©]Ã2–Ôc—FìRw—å“ûOn±xÒætÔÅ |zúÚãw¥<" ¼YÁå@B8T)e²Q®2ÊT , ” Dµ@V24)ÆB-CoGhfŒ²™"§9‚¥)™2q®á'‹¸Î8êp÷¸Ô:(ZЬ%ÈzÊTh"$P ]ö”%Æ×M\ÓÁu.â ŽÝî^ç©?z/r8(îÒhLé+§ìÕЈôWô’!]ïb’’õQ¶ct;Û§tÇ”"k‚ÒÒšTÂÒ`´9ïñÌàq&i=ØT/ÖõÑŒ!—Þ&ùHavØâäxŸðŒÕÈh4æ(dŠÒÚóu[¾†¥®HU©Re"5™Sa"Ô)‘SwD~$bË+¶âe$¬ßm ë¼Ç³¥D ¤2§•¹žÜå‹y_Rü>ŠSˆPJPÈ0Pº¶p»}HûÈBÆnqD³œÐ/Ï1 ™T›Lj-T‰|(!2¬a@y) x ­r$¯ ô å’Me„ —J¹&§ü~Á¡ñp½”ŠHli¬ª6³J•0V¹-\ãÉä%<í=ÁY±MǸ`C¹`C¸ [ÎéÉö”#¬ì ‡|pú ²XeôH§:ª˜ÑÓ.x‰þQ^­¿—¶4^ÏB™ ,Õ š`h–½"SEöœC^¢}ˆW Ä^~Âæ¯`YXÉù3=ʤÀ;1,Zk_d0ꜛºÌ½ì÷æ7¸zBzèrPc(1 }A6Ô¸¸³ÅGþè‹øàÓ_Ä«_ñ^¶Ûg\Ý¿Ç_zÅ@–²õƒ‹(’ØÀ jL‚ þ6¢šÓá’†6ášqÁ,Ä‚À4×;¸i•¨¢³¬T(Ô/3Y«B%¥¤B˜¥Á°è¡åë"íñP'¾gÜ1(möJ„^‰°·.ŽÂ(e4VpÃ:¹§P,Œ4äZý6×ê·éÖô¬3ôaD6’q‡5„N‰¼‘¡m$˜v€#zÔ¥Uɥ’ . ÿV™þ§ù‚ûÏQñ¾í5üÐßÀÎö6o|ÃëùGßú~ã=¿þ\~Ûó‰»|jÛ§^õÊ•ÿŸ½7ý‘oÏï»^ß³ï§öªÞëÜÙõþ~6þÛ_úeþÊ¿ûï üê¯ý:Ož<þ#÷ùßþ÷ÿÛvø3_ûÞâx?ñS?ÃOü?ΣG™ÞÜðsóçùK_ÿ‘?öñ¾Ûþßíõü[ùßàçÿ³ÿœ¿úŸüÇü­_øEþÜ¿ú¯|úø¯üê¯ñ÷ýðßÿúßÿC£•?õ3?Ëøïÿ8\°^¯ùå_ùÕÿ×5‚÷ÜsÏŸ.ŸYãÇ0†ÇO1CÿÌ&8OðÏ_`Ç×”‘MydS>¶©ÖLJõR£È<̼ÁÍv˜½óÝ/Íð÷9~šâí3ä@';sÈ}‡¬ôÈ[—Üñ#]kpdŽ?IˆúÎ’^³`µˆðnBŒi3³³óÌHWR+I󢡙IÔ•úÈAÍ\¨44 6.(Á]3bZÑë¢ÃÕC^4gl•ƒP9N¹#NV WwœÎnXîBnš1¶i!âUgÈ®3bÑ™pÕ™sgöIé ¬IŽîKŒw*Ô‰¢ñ  &Ü¢+µKÒ* Ì· 5ž·O¹lÎy™>äMö€mÖ TWCv è‚êêÌó1%ŸGÕ:kc€QÖd7.ÙÜ!ýÈån;æõÕîÒ yè¢G’ “2p–œpÍi{…mÖ¤¡ÇN¹s†‡ÔÏ:%¨ÃÍ ×ùÇò\rß!\Š®C¾wi¬·³ßBVèÜÊ1ðE^ëì­€ ‹¹ñ<{J»Öx¥rÙž3‡È‚¨³Æï'8ƒÓ®ÑJب.ËvÀR÷ç¼hò¼~Ȳ!-8ÜÐ 7ÄÁ†±yËyüo²'Õmnû}ŒF¢K‰Þ4ÔÊÄô úþœ‡þsö¾Ç£ìãlF°M™B˜ ÙÐZ‡­ löQÌ<šð&z@Å*p]ðIzGTî°d…%+B™2+‘¢#É}‡ùƒ>ÛmÌf×a»í°ÛÅôË%ƒjÁ _0Ø,ÐMyHAµL·Æó÷t£ãî M¤Ñó„öWË1õ #hЇ‘+4_Òqwœd7<~õ ¶Ï·Œü;ºÁ+¨©9Ÿ×?D³CoI__ðÀ}å,Ý{Ý¥À¡Ä9ŒÚP1ûʧ_¬øÚÝ7hsÁÃü%“î ã‹5é…CñТ>7h£C*Ôž€GØT4™„=ÄéŽÎ>¡—¬%s"Œnƒc— œ%¤™ÔDu‚_(i1™æÑ˜:•n’ —\9DUÂãü9î®âbuɯXwäšÍ'î#6qD8Úñ…ö|ã0ôþþG úw´}ÅÒî°•1;³•Ë´ÏRtéª%ßßü_.Þã‘þœ‡õsÎ’kâÅž`ã$Õáõ”`Ô»)ñÛ”ˆ'ÆíU§ ñÔ é9ä“mÜeai[]“—.M®£2eÝ㥺 2Ö¬¼˜ÙÉ­¨9³_!ÎNž¼A{Òp;ò û+H¡ê¡[‹JY<—ù ý³å„ri#Œ–Egˆ<¦Þ[׫SæËÅÊE¥µe‘›Ê„¢u(ž›”·fÀ‰I‹¢™)Äï@»QÈ%Ô×5í´F]o Æ9½Áž^»§g'´¦Á¦î°Éc6uL! %±©ÑÖ@Kè zî’žqèŠÚq×D-ÚâÛ;ÚŽ"éøÜ8$‚±š1æ!>)òOóŽ÷ÿ þÚßø9~èÏþËüÅþóŸþìGä/ò›¿ùÛüµ¿þsüí_üù&Çù{÷ïð×îoòK¿ü+(¥øÚ÷~•ÿò¿øÛä>ÿõóKüø¿÷WþÀǾþ#?ÌOþG?˳çÏé÷{ükéGùÙŸùé?öñ¾Ûþßû/ÿ›\_Oùs?üu²<ÿ´¹Ëwø[¿ð‹ü…¯ÿØïÛïýoþ#<Ï~ÿ†ï|ýsùÃáÏó?õ3<{þœNóC?ôgù¯þÞßý}¿ëÚÿž{îùç‡Ï°ñ‹àž`ú5£㣄ÑÑ” ªH&!É>b—„ì÷åÞ¡LmÊ—å·lÜþ†°ŸÐéoè<]3¨— ó%ÃlÁ0_²q:¼è<à¥ÿUÙgÓv‘¶ kèÝGKñÄ(ÜÐsW š9·‹ï“óƒñÌÜ€7QxgàNÅ¢%¿•ä/%Í­¤{0`®Ai#hß{®pÉQJ0—#¦õ)Óâ”Y1â¶ ¸k¶­ûÖø%t’5£åœÓÛ¦» QÓàX6Ä]ªÎ€¤3bÞ™pÕY²è HW`X5ư†!4®®$5cÜ.hÛ)K—ùfÀb3àÅæ)ómŸUÒcµë±MbT"P'òä;[ÅBµÎªðÂx‚¶o©æ&õΠښ쳀uÝc]÷(?Hñ㔾³äTL9“×$fÈ> ¸µG±Ë¨¹ûTN“’Y+fcuÙØÖu‡uÙeSuY—rc¼½!˜'hÓ 4 ”Mß"9Š™Mx3yÈNÅ\-Î –)ÁbÏ`·àAùŠóò5Ê׌´;ÔÔò‰Í®ïs¹¹àÍæ‚Ëà‚KÿœÏ­>æåG¼“}DwµF÷ä!RjNï§oß”&Ôé™ "k‹£çèF‹H´A‹P =ÄÍ–“tÊ;»Oøò«oŒ÷ø£=Á8Á²jÆê]ƒµâïš)q½ Ë+Xz]JÃbK‡-1bd¡ã® zë§ë)~žé[âÎcP‘ZEϦêÈèÐ%!`Æ„“5ÆÙœñüŽñíœñ쎸Ý)¡¾ÇèJpJúö³­é%k:E‚Â`§bnô#RÓ¥1uJÝ"×\ åÖ;gϹØ^Q/mt«A %…fñ‰û˜¶£´;¾h¼Ïç½ð­=ÝxI7^ÑÆ°°º\µg\©S.ÛSöiH 2ºÍгòŠ0Ùf×ÕKzÉWËð×9ήÂHÍ‚ôªykü2b¶N§Waž(ÄÎDFùQÈ.ê27s”ÒÙÖã'3ƒ&7XÖ=^© „Þpç÷)m4»álüšñ—¦xý 1h¸íHlÿÓŽ¸û6àNŽ™íÆïÚ‹dD½·X¥=D Û»˜Ý]‡âÖ¥Ýji¡¤ iÌÃBH®Óä®Ã±F+ ¹Q¨ 4ßV´û‚v—#·ìr±àìì–ÇrÆc{Fmú¼Èñbû˜|ç“KÃÏqü'(èz+úÖ‚žµ gR™cgMo¬^œ ÅÞñi1;R(M´x*e L*Ôw»/ÝóOÅßùÅ_øþ7þÓ¿úû¾ÿ“ŠÿçóŸúWÖD_M˜<½áø+W\ˆKÎËK.ÊK—¼‘g˜mÍJ (JŸìb¸5F·Bw+l+#ÐbmCO[Òß/ˆæî³ã·Cø†‡ùƒàÑ™"úAØC"n%õËõµ‹ Ñ@Úдo#~òÓˆŸR‚;9âýúK|³ü^^g4UNÓä4mŽ«Ö8UB´_1ZÝq2»a¸{L\7ئˆ»”oߢ³äº³fëE$c)¦Ì±D…nÔ +¤¡c4ò0#L­é·kšÊâ7?ÀârÈ‹Ë'|óú+ȆÜjÈhŸjˆ§‚vHÁܱ6ú<ן` ” f ^ ÔKA[k´]Ù;(í:Ù!â'®9•×¼².¸uF\j'܈ ¥G+®Lé·é6k½Ã>b¦O˜qÄúŽ&$uLY¸”åAukуF7h,ã`ªÛ«¼Ç«ÍCŒ¦Á 3ì8lj2¢`_&8eŽQ¾øÉ.Ïå~³ýAþOù/±ÙÄÈ™Ž¼Ñ‘S?ʈª„ û5ßÛÿ]ÆÁŒ*²¨‹¬uH•‹«2û9¹ÙÅ® ²]ÀõíªÑ1&7È tÝ=± '–ôÄ’®XÓq6Dö–0Úá«)4|¶"< lGà«=}±¤AGýyÐ÷ÜsÏ=÷ÜóÙâ³küàU‹ …²Ù:ónŸÊ0Ù¨Õe§b2á¡÷$ñÑšx·CUS&¦Lާõ§Lü)Q™Ð–óõ|°¢Gm ì9ßcÿGôISýÎ#k]Jå±bÀç˜HæÅËŘ>Bžx¢wJº%½QI/,YY:­2(J‘X48ý'–Øñž³Ç×LžÞÐ.Í:’‰qËÎyE:tû+8É ÉÀÌpÖ;>ÿäÃó Ú¶q„œh8ZÎПópðŠáÅÁùÑS¤–Ǿ ȶ>ÅÆ¥Ú: k—<öHcŸ­Ó&{;`%û”¹ÃK0ÍŽX.zd7±Ø»:þ†èt çÀ¹@tI²ÝÇ처m¡ï%~ž#?HiÑÈŸÌñIŸ “eÖçÕê!¡ž°Ê\¹Ç\»ÇLÝcæÎ€¼òÙÔ]îª —õ9©í‘:>‰ã³·veÈ&ï°Ìú,òû6¤ÑM¤fÐ&¦×Ы7„jO¨%¸yqøüÖ{hsA•›”©I•˜ä¾Ï]3á¹|ŠÞ@*#>ÖŸò±þ”}Lj»+Ü:Ãj+,½äÜ}ÍItÍ‘y˨^Ð-¶$zH£™Ô¦I®9dx¬‘h´A¬6„*!S¶lÏ"dmfã%Åaö[R`ÉŠˆ#ãŽ3ë †^Su-ªêr‡Ó¢m%ÆVbš56uc ×òÍ¡9ϰ^p^_R+=P<î?gÜÎð­)Zð@ø ˜ªÁ'¥«­™è3¤®1Tsz¬ˆØ!€3ý’Òr1=ÉR9«Þ · 31æwÝwi} U Ú™F[jxf†o¦øFŠï§4ŽFãj4–Fcèèª%¨ö¨JéJôU‹9—lçžÍŸr“PÚ&¥mRÙ&¹pX} Cqn\顎Õ|[Ïj*úÆŠŽ³%Œöx½[/鬂üÉŒ¶Áxk²#cÇ(¼ã"xÅÒèâ; CkŽfH6Z—7â‚Öšâf¯!.¶Ì‚™ò¹ÝOx6{J®MñÛœ±q‹§S‘9!['bc†\jg\ÉSnä ·ÍÙ,Í>ë8fÛlÃÆÓ‘®Aãä¦Ëåø„UÙ¡Ð-ô ¦xÇbuÒå2:#Ô7\qÎ-v"F ƒ¦6É·>ÛYƒj¶*q¶%ç\q_¡³Sbú–U¢©–ro³I:Ô;“mÒe§Çlõˆ­³Óc Ç¢ò,4Wº ¡»G뀘€Ö@™Zì•Ç~í±_zT¹ +`Éa›B <îÛ¿AÌaÑ!ÂÿxUÞŸJrÈwÆ€Þ  ·DuA¿Øi‚°J±›MÒæc¶L´kŽô)cã†+t$[bZ4JlâvÇãöQ›°¢ÇŠîÁÐÒeYö¹ÊÏ0ò–º°ðdÆv—ÑÿƒG£ÝsÏ=÷ÜsÏ?÷|vß] ¿‘R÷*¶¹f (:n\’µ>i듵>emÓñ·ôÎWtü ó ƒñœþdA¿?g /ÈSŸõm—Wo±}ÓK`JÆãgþv*äõú‚W‹ Þ,.Ø'SN©pX2Â'a-\6¡Kó®Kð5‹ø$§wš1lŠ->%{B4lœXÑ{´£ûhC÷‘äâlÊéñkFÇwDö—‚ÖzNì9犭YATÁ¤BOK:')ãylp}4&ó-œaÆÑÙ5Ubà÷öÄ£ V¿¤2l²…Oöâ; hìšôQÈþqHb„h–[kŒÄ@ê&û*àqÁesÎ6‰0V’ÑdΣ£ç<š<çáä%ôAõ@õªW³3^ÌñêÍCò×6¶Q2êΘÏ÷fH]ç6?b–!ó#ÊÒaº9F4ŠÕ®G|·aÓé°étØvb’0`¸Ê/èäâl‹WQ‰I…iW”¹CqçRÌ=²y@e8ˆ®Bï6ÝšŽ³á\¿â̾âܽ¤—®!ã ªÊârsÊ¥yÐÂ8âµ)É€™q̇ÆYø}ný;ÆðK<;!òvD½-ñÉŽsý çÁFÞQ³ÇM+r«SИ&™æ}Z³Và щÙÒQ[bªC‹êÄbfhF&ñlGïfMÿfÙÖ¸nÆÐ»ãÿœ24¸·$fÈ.ŠH&!õ–`±Ã^æè‹‘ªÃH†ÕÛZ°«á¿$ö÷œ×|ÙŸ£á”ãðšÁÑòY ´¨¢£©ñeJ¯]1Á£Ew¨±Úb¶5JèÄzÂ…qÅÚíÒôuÏàÃÁçx/ÿ²Ð‘¥¼1/uÆý;ÆÃ&ƒ“Î éjd¦Keš¡ª=Á>…äv‚já°»‰˜ÍøxýYæÓ:Ô£æŠÈÛº ï¸Ï݄³)<ë ÃæÌ¹fÔ½#¨÷hº<Œ{ùNgÏ¡QIȃ,»b Ïyä½@‚¡;C tXj=vOà÷ j äºÇJô¹^Ÿñ,yéZt½-GþŒÊ3–ÆÊêrk¹ÕF\¶çLËå]ÙA•+1à&:¢ç¬­ ° Ó¥°RÝç™þ„i4&=vПTd‡›£ z¿"Õ\íËæ«ªGS˜4™AÞú¨½F9·ékŽå ÇÚ ÇƒB;!Ùä‘MnÙäM5wX¾2}}FyåPX¹å’[‡ópF9Þ$¥?Yáº)NPàL*l§Âî—ìn®§c®§#šé˜jAi½•yÈ[Ž8¼CtÙâ`Ä-iÆíÛ¿GÍÁ˜×&´>´´š½Åfmb§-’³’èªE “šž±âB{ÃSí#ޏ¦Æ¤Áà–1Su‚Ù4DuB¿^ónóÏÄ#žk‘Bg¡õÙlº\Îé"b6?Áªj–ëytoüî¹çž{îùŒòÙ5~ó~sO3†­nSt,Oûµ –&McQK!Ý`CÏ_òðüyAlo‰ì-±½%Ö·¼Lñjöˆž}™o¿ÿeºáš/5ßâËþ·øÒÑ{”­Í?ZÕs‹›OØÏb*\–Œ°¨0Ý ñ¸F<ªkü%±ÓÒw3FΊ#q‡¤G‚Îtí8ùþ-'ß¿å||Ùõ†¡uGlmÑ)+å<¼¢¶lÏ€¸…‰‚´¥­ ëzd=¬ë1íÄä»I9j®ð›ÂTè¶D³%¥n‘m=²—>Ùoä¿Ðø5é.`oìÇ!MÏ`eöXé=ÖvMÕ%1"öuÄ~¢¯%£³;¾pú!ßÿîoñg¾òÛ`+Z[ lhmxoû=8iFñÆæêwNp)£wg<>ù˜§_ý„Ú2yv"§:›ë.«mŸéæ„UÒçí)¦SS̓“Fé‡!èIý©†å-CuËÈž1Šf”™M1w)^úä/*ÏÄzPb9Ö¨¤Ìyl}ÂWÜ÷øJðgû+˜s¦žÁ~ð;í× ÜÊ [Õ£|fÁ vPbJS´Þ!ð`F±fÔÿNíá-§òšsù†‘œ×{,Yc´- QëæÛhß!’°¦KŽË#õ‡’c5åT]q˜;#nGCîªãWsjÏÀjkâd‹ãæ ¼93,Ä3æÑE3dÞ q“œàf‡3ËÑo$b¡°²c%q®KÂ:%>ÙsvzMujQöm¬ À2 ,£C"WÀ´;š+̦Á—)ÝvM¥ ”‚ZÐkÆÏS91{.ôKjÓ&ßö>χâs|$žòqû„æ•EóÚ¢¹1i^Y¦ ¦[!…ŽÔôƒñkRÂýžh±'šïYßõøæí»|2ŸðÍõWy£¤@eµ8aÁ»ñ7y7ú&ïÄÏøRôÛ8d«"¶FÀÖ éÛk†¾GZH9hÿV%£ñÖlX^ÅÀ[ÐH ÏL˜¸#fbÌ­3ö*À÷¦/·]è@ž¸,w®7ã§u“ÑŒ­Rº&•c²Ò:ÜhG¼ç\¶ç\W§,²ɾƒ’‚¥Ýç&:·rË"ÑB-d¯숸‹FÜHK½¨H]—™7&õÜC-¢ ÙÈ›ªG]ÈÜ Û{”ºCbDØ^CÔù„w:óµáï2îÌ¸í ¹†Ìì³fÄlî³øxÈìÇܾ7¡uu¤§#]ÖÕ?™Ô =oÉñäšN¸&tö„ý„°Þ3ÑÅß<¦Ù=fù‘Án¦ƒÑƘúÁè…À)pŒ8½ïHòûM_ TH¤DØKtbÕ&N*ß¿æ`üt…¥WôŒçú¾$Þç„K®9ášfLXÑçB¾áAý†‡Åk.Š7ÄúŽV×™kZ]g³î’^…Ì^b¾lÐ2E¶ú_àâÿ³»Ü=÷ÜsÏ=÷ü3å3kü\''Ì §!BáÝD BˆM(Ð-ó[KИ:µiå.Šfgç.ëë>ÙÊ£-5L³Ä4+4Õ"+2µ)‡2³© Y›ÔEEú¶Ò_Ó[ì&ÃQ9¶Èqõ”Z”mNVìDIªÇ”qDs¡žØg5ÝGÇçw<9½fè¯p³‚|ís™c—ZÚÛ/]µ˜f…åT˜af¶Ï õLj¯9Ì›rj,Qa‰GäT•MQ9T©Eµ¶X.†ìÒCÇ;e °9Œ¤0LJa£¤úa>ÖVElíˆÜð(……l DZ3)-›ÂõÐ ÝiÐËi°£âp~D„ «S v 'wœ½¡¶ öZÈŠ>·rBn;˜m®h¡5†Ù` ®ž£4³u“¨M“¶6‡:œL°]wÙ­còÂE  ÐÌ·éŽfe˜¢B3$Ø-ÊPˆJ¡U Q* Y¡7 z]¶DYÐØ8&Ò€‚¼E¬-–^ÑŽÅ” ñŠc1c¤æ„$è4²Á©J2òÆe£C¡¹¬ô[-&$¡Ã–> RáSšy¸~ ªÅ:·#2á°¬z,“.ÙÂC´Z{tKy;|'å˜"c‹nÕ”¾I¾vÉ×.eë YÝiÑ\‰4hšDh-BS AKÑxä¥G±÷)5‹23ÑrE¿X#ly¨í‚= .Úãª%+–VKû,E¦¹dw¹ Èöém@ T¢•F­ r4qH´xUN™¸Ts‡æÒf½ê²Êû,µ>‹nuÔÁv+,§Äv*B=¡'WŒŠ;NÄ”‹æ’i;¡R³'Âik ‘R{&Ò(Ç 1Íõ% ¤a  Ùè´R£± JÍÄ­3Ž÷7„Z‚C‰)$ ±V5Q•à–9FÕ€»®ˆê„A¹ä8¿¡ço°ÚŠJ³X™]ÒÖgšs™ñ*Ä4?a‘ Ùä]ŠÜ ¶ý·ƒfœ“>I²«"’"b_‡¤†ÏÞñ¨Ë(1µ ¡IÐ@j:šÑâ¸9q¼ÁÖ”+›êm sµ·HM›|huòêV¢k9µaä+L³Fo),²Ö#­}JáµA’o|Š¥G9wf),»Â÷d{o”â3œaŽ]´RÞ·@-HíйÈÔžÀÐ ­ÆÐtÑ Í·f3Ô‘]•j¨\Cå:*Ó(ƒ.ksµzÀ³b4tŠÖ%Ôö»Æ¯{‘ðù{ 583P&ªg M‹Bw(Z—¢u©[%`%º4RcÑö±îj¬› {VcÝÔh²EW<ì¼BsZ4Or«Æ,n‡l𝛼‰/Ø?ôaÈ!5ìí µÒÒ7)÷Šö™†œˆŽFÕñØvºÌ:Çl,ÕQ@ò=!mìcwSºÇáŠÇÅkì¤a;‹¹»9b;‹)wB‚hÆÏ²+âã ññšøxCØIÐÄmJ\$Ìô1…~XÝ_ê}öYH¶òÉVéÊg¿=D÷ª'&æ¨À‰rÌâLÒz‡¦1[t!ñ´Œ­Ñck¶´¶Ia»Ì«®¾@ñÆåÒ>#è'xý¿¿ÇóžwžpóàˆìÐ&ZGa=©ñÆ9¡½£µ4:ÝvIÏCÚ©‘Ú«žžA¤!ò[+bçGìâ˜]ae%åÞf>±Ë"r\-"D$1ãsXat*L«F ¹>àc“i.ÏÔcô~ƒaIôPR§&/Ú¬e RÒmxNŠï¤øN†ï¤ìSŸd’\‡$IˆÂÀÓK†úЇú%#ÿ¿“buJêŽAc·èmCX%˜ùÁç¶ÇÊé!lÈ-—µè1UÇh¢¥T ½méµk†jE&}q#NØûÊg¿ôÙk>û½Ù¯èvÖô»kºÝ—ôC{N¿»@3v€irÄ49æ&9æ®bKœA‰=,±ã’Á~Î0™3Ü”¬:\-ϸ\œqµ<ÇljzÑ‚~gA·ÀÔ+rÃfcv™GèBÒSúÍš~µÁh$–0Òïxh¾¤& F,ÔˆE«‘É€}pS#suÖÅùáZ6k £Á¬kì]ƒuWc¿i(öwÑí0Âö\ø/é+zæ’¾¹b¨ÍyؼâaýŠn½Bm»6æº>ã£ò)eŸãÜ|Ce~‚mVôí­&HÌ$ˆØ!yíQ´6¥´)[Mµ„ZBX%„7{‚Û‡š¾Øp*¦døWSŽ«:õ*è7K>×|ŒEÅ‘ƒë¥ÄÎL¸ÖŽY&}^]?âåõC^_=ä.³oCRR·&ÂWìÏæbˆòk·K¶óIWÙÚ'ßyÈŽ†ìꈸœŽ¶¡+VôÅ¡B­q Š¡G®y¡Ën²y±ÙÆlî"òRp9Yp4<&zœ>ʉÍ5£Á‚q<çáÙk6²ËºÓç²=ãM{~تsrßcQ ‘w:I1ìÜÏI;>I೿蠔ƒÓ—5õLPO%ÕMÜ›°¶ °À±BÇéäøÝ¿³Ç‹SŠžK~ìP$.yâ"—íRG. Ú¥`׉xé=Di‚eÓǯSZ¡Ñ·–ü‹ú?ĵ2&î”±uƒ§ç4o¥¯”Ém9¦H<®—§|kùU^Ûç¼rιu&4Ž…¡$N§À1 Üa&[6ß(8ä¢ÞsÏ=÷ÜsÏgϬñëœ'|ñ_Ik ÚÀDmhP™{²W{)ŸVj¬d—…ìÓJ íV¡Ú·Ú‡Š‹Á_<ãÉÅ'̾Èo'ßGÆXaE?\PÚk° :ÜÉwíˆMÛa¯|R°W>NQò`óš‡ë× 7Ké’žØRŠ)¥fSc¾/™á×)¢V‡qvÍÄžñ%ÿ}öžGj»ì ©vÂtÌ«7xý­‡¼þÖCÖëµiQ&i¢ ${ E>r°Ú‚rçRÞ¸”—.ÕÜÆ8­0› îpû9±Ø2w1å˜ZO£ÐÊÀ¡;,ìÓíõ²"½ÓÉ—VùˆçfÌdtÌŠW|ÁxÍYÿ†óÞŒ*r¨ÎlêÀ&;õùfþ.n–“g.Wù)¹æÑÖûyÄÝjÂj8`{Ü!ÕŠÀ¢ Òó˜¶ëà>ÿ²¡ø½TœÈ¥ ºŽ@à˜qC¯³ {¾dWEìêˆ]ÓÖŠúÚ¦¹4Q—‚ÖÐIüWî–zŸ›ÏqÜLy¬=ç‰ùŒGÎ FÖ-†S¡›5†VQ`Ñ`ê—9Dšo‹1ÓÝ)ra!oL/$ñ/Dú6–•âurÂÑ–ÈÜbh ùÿTði÷™{î¹çž{îùŒñ™5~VXѹآ4Æ4‘†Ic˜TÒ†Z£m4d­ÓÔI’Ô!û·[õøø¨ßS¨§£þ%–Ÿsôàš#äìsÌÊ ï_fZž†Z¿•°Ú·©I †~H äÄ:t­[ttòÐcß=|ÈU– µA @ Ð[ »… -‰e‚ÊtŠ­ËírÂÇ7ïp}{‚®$z{—¥¤Ç6û•E²µHö6¯R,*ú¬™ªcT«“6‹zÈr?d½í±YöYßõ0{5Áñ–àt‡ÿxGìq› EQºˆBáè%¾žaë%­ÒqŒ Ëk0: £×Ré‡6íw7cªÅ¨™1ä–‘1cdß²i;Ü1&ñC¤fК:µmRJ‡|ç¡Ùa(œ 'î¬1EÉ ¾cXß2¬néÉ5B©ƒá--š!1ŒË*qŒœÝ´Ã®ê°[Ç”—.Jê¨!Ä ÅìÔ8FN`ì ôC4´BgKÄZï‚ º#?]ÿ×h‘è4´€Çž+Ÿ¸CÝ ’6ÂLjš™IS™HË@™Â¥kÔCZêÔ†˜…ÄlÌJ¢j Í:ÔÌ9mqH—Dá1gxè>‹Âo r)ÚV#> £Ï•uʪéQåÖ!u·µ ×xj?#ŒRΗœóšÌvÈL‡Ì´YŠ.·å€i9áª<áu}Ž­—8z­8uIS˜èi‹›ôÖéY9áª=å•þ€¾X2”sNËùÞGš«¢ÏÔ>å¥uA©YÈÊB+ÁjjZ¥“·.ª8UI¤|•b†Ó "EëhTØP äΠÀÁð+ í`ÔU«ÑH›¦²hr ›’¾=§ßÝÑ?39»á‘zÁcžóX=縚"[¹·(¥E’D\•g¼JòÜzÊGÖ0z ÝÁŠ‘¸câ\ÓZK­ÏÒè±1 Ñc),EŸ…ÖÇßgØiŸY`nº«-aÐè:n®íZ£­4Ò: ©#@’޵¡cl˜©iá²Ýv¸j˜ÎŽ™MX]÷H¯ªµCcê‡ëÈÈV'Ÿ¸4© olô¶FT"°8‹ +ʱó»É±µœ¾X0|{1¥:¹á‘Y.•%ØKFheM¹÷(Û‹Ö5bº`ö¡w”ò`3Ã(ZL•Ø)"RHÓ`Yt¹-F܆Ŝª4iKº4)SMoЭ ¥74Z‹¹ã¡‡[z_±K ÄI혠H êöÐD¨‹ ßÙÇúÃ9’A…I¦´Pb; ! PÁÎ IôS«x`¾$²¶<0_rdÞ°×<ö¥Ç¾ X¥]VZŸ­“ê¹ôÙn:ìæ]¶Ó»7݃Ÿ‹Þª¶èae$8ÁÓ¨ÐÍêOë–wÏ=÷ÜsÏ=ÿÔ|fßæ•Ïÿë9ÊÕi6ràÐöm×&_8ŸªX;äòP·TK%uxÛ5Ë ÏÙÖ /›C¾ÃV$fOü§\÷ŽÈ5¶-$n€D`RÓ¯éŒÖtÇ+Â0Aó[´~‹8n)ì!É d78D kiQ7&u}hZRi6;#äÎðÆ”»– IDAT8!;rÉÃ/éÍÑ·¡JUBÔîpŒœ6h™dñ —äù1F?%¬÷mTÊÊ&ÍBÖMŸÛæˆí¦C¦ÊØA]h¸œá`Î$˜2Ö§˜Eói Ø|=Á’%Çá”A¸æ8š¶ çö5›a—Í£k­ÇMytPrÄl9¡(v‹¼‚bä’)Ÿ]“Uþ!*`\yç~ÃÞqâœýÀ#ø8ƒC“Ôw³»cVwCôµD( U…Ý-±ÿoöÞª'Á«G…)>¹Ðˆ5>-i™©qÓ9¤]›0T»\Të\”ë\TëH*JKP˜ ‰®3ÓŒ•&cÑd"›”¹Æzt‰fÜ‹ö™eþSŽó5Žò¥€¸e3®µs—,SÙÌ1³Ý(°½swƒ0óȇWY—«¬Ã0ëR AZw™×}®jk4êsF²Ã(m3J:ŒÊWÙCoð¦ð ÚÎ~mÀzyIïj™$-tÅ µt«ÂlçX;9fžã”1^AÍ^à% ü錞2`M¹ÂS#(TFYË¬Ï [göyßåQy—aÙEV‚Y§Éþôb.™,[4ô9–\ýlÉ \-¡Ô &z‡ÀðI3— nK{§ÐÔ˜Z>3«ÁÔò™«™Ò$¶I’QY±B˜uƥϤl2)}âĦˆ5Ýî{B¢Äe‘®Ú—iƒ¬n êaÚÊ ¤ãMi÷¦´å„f}AÑ”Aá*”ˆ'VA3LR 4–s—ÉE“ñE‹ñE“ñ Íè²Ã\¶É·]¨›¨O6sROp¡ßå¥Ü&™÷Ø?Fb\!Æ%r ó†Oæ ¶ýêkSÒÒ"- ÒÜ$Ë È D”’¾^qúR£^`®Ôú:ëCRÕb`·¸ô[¤k.qÞ€usÅ ÖAn*T-…ÒV)Ñ(ä“d¤‚”‚šàwæ4«9¾3ÇT3T§DsKT·Ä7gôõKT-ç\ï1*šLæM¦ó&“Y‹IÒâÊé2²» .#­M|ì¹Ç­'l1Ã’ˆ!rB4™’^pë |³»Æ5®qk\ãßÞ´Âozìñé_ÙF6tä®Üu»UâØSÉ÷Š=•âX¥¨tŠÊ TržÁbó1ÄcfyÁ~Qc^>Ã~õ ©æ1q;LD›Ä6W1Sà\ÀDÏsZÏŽÙr¹aÑÛ¸Dm—¨iš–ˆ NK§Ï¥½Z£Ø%‰d)(bÌ0Yèu®Ì.'Î&…©9&êFFó™õdJŸKúOZ õ(áô¼Ãéy—“G–A“Úý)ýû"Õ€Ž ËL–Ké²Í`¹AT¹äÒ oTu»Óm ¹å°«½Nªœopr\ç긇–•tûS¼^ÄNÿ”-ç„Ä´I;Ii³pë¼|ñ,/?G66\ôHGó#AâXÌÝ&¹ÔI+‹´4©J•¥åqênx5N¼jýÎî·Xâ¸K„& .Œ_[#x­Atâd½6à\Ýàåê9”²bZ5‘Þ* ­´¥)Htƒ©ÒàBés&6˜•>^±_ro±>/yu~ŸWϰœ7/ÖmH:6£v›ãÎu±À+6«cî—Ÿ&Ê]†ÙgùŸHŸg¾ô‰Æ6áØ!;Q±Ømru»ËI}·2 ›ÌÂÓe‹YÔ$’6QÍ&òlÄNI;r/{g³Oóðêò\g¬øŒí&“ÊG7sÚí­|JÛ˜áåKŒúÊÌÅH2¬i¼ÊÔC\=BJu5{š=äåôY^É2Y¶˜„-¦a“j©0]k²7»Ã$hñ8ºËMíˆÝj;Õc¶ªsêzÈÄé Ø‚¥ÓAÜ Á¡°4 CcZó9©mrRßâÔÞ`±ôY„o°ñ$v€Õš@25‰Ç+&c «ãoÎð7§46g¤Ââr´ÁÅxƒdd“iƪÚdK„&1”Œ~í‚{ò1÷¬ÇÜ\;fQ÷XÔ<Çe!¼§a˜d”¨,g.WûN_Zçì¥ fa“ØðˆŒù–}‚ ‚ŠL·9×lâ¬Ïùì5m‰8.ऄãå"§sJû™ 7Ööiߘ ›°òXV.ËÒcvæ0Ù·™ì;LöëØõ”ç&tž²Ñ˜Pª&ªS’4\¦k&P‡-í Uؔȶ j©”¶ú™–L©RU+ñW³¶;ÇÜr¸Õ;¤ÆCÍ1Ô CËA…\×È5s­OÔÌû öV ;O£¦Cä8G:ùÑÊi–cVÕÏŽò¤"šçä‹„h!Š„ì²¼~׸Æ5®q7-Þ´Âo~â2?݆®c  +øT Ÿ¨¯¬,õ?CÈR^csç”»ækÜìí¯bĪ®¤PqÈM^åjµ{aÊ”pâroÂdÒ$.ù´j&Åj,‡Èu9w7‘® ykÂòÎ~ŠndŒ.׸|mãÜäêÕ>J)e…(%–’P¸ä^¸Ç–¸àÞÇWu2K®fÛ’ò·#3Á8ëðxy3-ðY°n ¸åàëSBá —%Ñ¢”*Kj”¨„¸O­4±rä,Ÿ˜@¼!ñ$ŠU w3Œ"&‘ç²Ï)TR¡£Ž¸¥p[= SuYq ÞäмÅv“L¼]{_°®^p‡=.VÒ€—§q—¢Ïóê‹4Í)›ö)ïq?Ì©ºMYª ËÊ»HGPX ¹®‘¨:¡°™ŸKÖ8®¶ Ê:wÒ}ÖÂwç{ôÆCŒ«‚ŰÉþÕ]æÃ&ù3: ¿Îy«‡{ÿ&wÍG<àÖäù4—ó æW ήÖùhðn.‡ë«êÈ1pº’1.ÛÔêëÔoÌ0í„Eè$ ‚Yƒå¬Žâ(~Žê„ÎðŠÝÁ#¾ôò7yÏøÃD•Å©³ÁicƒÓjÛLØn²­³Ý8£žH¹ªÈÊT s±j»6 Bá2Ìz<ÊîñÑü]|({< WÇå*¶$ªqßD&‚·éŸÄ.Sv«}6Êu3ä°v­&Ij.¹¡á‘›Ü1Huƒ‰ß丹Í+þ}^÷î0ºL‚.ã'” ÈD C¸¬ûâ D9¨èݺ æ-¨?7ãæ—ìSØ:ʱ$=6™›MÒÂD«hvª–˜jJß½äñ ïn|„·”/s©®q©­­Ö|JÄ*=š9Lšœ}|ƒGÿ×m–¢7u¸iÀ¶¦‚˜‚˜JÄTRH—¡ÕdT±Šµ¨*äa|5G¾Z &¼C¼À;{S¶ŒCÞ±õ‘î2“>3V<Œ{äŸ^çê`«ÿ»ƒç ÖÔ¯5cóÎ)ÂÕ‰m™ßgÐSÑ yC wò†@lTHJ[Pj y®RT*¥T)+•ªRñ´€­Æ ϵ^âyõZÕ«Ì°Š³L™ÓàPÙáP¹Á¹ºÉQpƒÓég78ýø FÇk+Q÷}ÇŽ$âÔ£™å“ÿ_”ã’ê<#=Oà,‚$ÆÔ‹Ï÷­í׸Æ5®qÏÞ´ÂÍË[ÝiB¦"JPÚ%Ê3J-G½W R¡R¡!Q©È¦ùD#›¶É§Ø. P]@ÁV"jbI€š\R¹ ‹šÏ¼á³hûäÎDksœÜ¤¯òèzꀞ6 ¯^ÒÒ&Tª†¡å4Õ9Ú9±ê’XÎÊmTu¨ ZΈ–1Â!*-9%ã‚: 4Q° A†ÆTôE‡\iê#UB[ÙgºF‘¨”C¹/à½9Íí MgÅF1¦~>bX|"Ø% =N“K]Ǽ¢h ÓNƒWÛ÷¨l…Gòîos/ͤÁ+Þ^߸ǸlƒÇjL éˆeD¬Y†·rLÔ=âÌ& ­#‹|ª3¿lpy¼AéihfÁðbÙ¢EZYèNNÇÑõ†«µ>äÖÎ>ÝW¤7tö»7±Ó;N°“;ñ‹·‹}RiRibà ÂÀ㥳·ay1j½@­hõËLégjiÈì”eéKcµF†M­ZÒ­FlË3nT't£1á%ãð€QØa¤·˜Ø-ÆN‹±ÓÆ­BZÁ”~2àfr‚BIfY,í:c«MlظDÔªzR!s%EW „")M8JŒ¯ÍBAQ*²Ç'Êç™çM†Ù¯”8+7I*‹j!8=½Á‹ADzfÒñ®(-ÊRÙ².b€1-ÎÖ˜M[( 8)·Xú.íÚ/¹ùQÄV‰²U¢4J„RR”—å:U¡2,ûŒÏïq9Ý ™X°`UÕR¤TÈ–&Ñ‹,ÆiFªš”šŠj8msDËÓ.G´Ã1tŒ.KöõÛ,\ŸÒD†E¬™ÄÂĬRd¦ c €8³iFz‡¡Þ!Ðj«ßËL@E¥1̺èZγµ—è­]‚4Y½É_²Š‚Ð:Œ‚£½EM#nšMqÓG8Ð4Æ<4_Æ02RÍdS=¥R`_¹É9=ö‹[\ÜäðäWå:ÒT¨ jfÀN륨”u‚´N Öh¸3ºkC:rHÇb5BÔ,£z\q˜­ƒ#P²”›Ù>ÛæYýIºmk&F•ÒHæ8Ë-,¡ ˆk\ÄìÅ·xœìÒ¬Oi×Ç´cÚõ1ÅÂ`’wp´¥¦­‚ÏSÃÊ ÃË©Y^'ÄÛ qܽ™c43ôfJÅtè1©yL %Š,Ðd†!S¬*EÍ*Ô²Â.Vóɺc¬Gxo h:s¤§Òxn5xlßEÕÊ†Êæú)Í|F¸¬1ë5˜÷ÌÚuBÇÆXÌ(ÎCfAFHB)¥J(u2i"›jŒNŽÛ‰Q5ˆ¤ËLøäªÁ(ò9šô9žô8žøœ]ÆWóL'ë+«ì@ç UP² ·±Ä½»ÄÛ\â>¿$k¿b9E‡¨“u" ×X¼ ~§»Ñ5®qk\ão ¼y…Ÿn€Û[M4ÈU¨$J«B÷r´[z–b<™ð2Ÿ¬ÑBx ÁA‹¢è m c%&…Š-zê€MåŒ åœÊÑ8­msêß kY„ŠÇTmQ¥ óqƒáÙÌWqŒ”-ó‚®1Æ43|sκyÁB­‘k¹¥S¨:¹i 4‰b”(Æê ·FASÎV…2G )„F.5¢ÆLøLÄKÑ¡PZH¥A¥z”šM¡dºFž(”CAu àE¨ïιark}ŸÛÎŬdva3ݳ8ØÛeI¸×$îë[Н25¼fÜãÒXÇ‘ñJô=Wµ5=Æn¹.h+c¯¾Æ}å5fvƒs§ÏÅNG-‡u‚ÃÅF63X |JO#Ðê(VExáii¢;9ýõKîo¼ÆýÍ×ØÝØCo§è팴­±ßÞ¡¹˜Ñ¬f4“VšÒ(çÜ®öqeÈ qÌUÚåjÙe˜w9Ìn#=hmŽhmNh#jz@-Y¢/ ŒeA•ªœx›œx[œˆMr£·~å˜íòŒ»Åi`N\¢©K8q9v·Ùkßâ±r›Ô3qʈf0£?°3:A¥dÙ®3î´¹0Mâ•^®Ä_bk)†V 4¨M)±‰ð…‚®(ª\åT>¯gϰÈ\•=Õie’g§ËmÒ3“ ±Nß¼d£~ÎF㜭ú9®r¬slp±Xg¯¡øª_Òö‡tý Ò†AꛫU1(JAÖg”öx5“, Ƴ£Y—ô· ? ð *²ÐD ò+­^ 7An€²‘ãô6Ê3vË}vË=î,÷˜g f²Å~›;ï@srl3ÄÒBl"«™ ˆå6'ίk÷yM»Ï…¾¾ øÎ€Ô¢ÄÏg4Õ)kŸ¦¡ÎÁç3m—9ìMwy}z×&÷™M}ŠžJâXžÇdǧVhÉÉØæ„XqÈtLר×wXæç—+^l2žµimLh®OVkkÊE¹ÁEº¡$T]|wÆíî>ÏX¯r¯õi©q–v¸Øër´·Žæ–l4GlµÎØh 1Ú%ƒz—ÕáJë’W*õx3Ñ'r"Xk\×y<¼Ë'†oåÎæöVÊÖÖ9ÛÛ$ ‡ó| G+Pk„¤ÕJøMKŒvHóæ^gHÿæˆVŠk‡¸vˆc‡ˆ¼bÿl›ýÚ•±MH…MæU†U%XUЦ4Ò%yfà(!nIËYл9enùĽQ×gl×ЕŠN}Âæú]}‚––û[7·9ö·¸4»TçKò½ˆt?cº/ɤ “*:¹4‘·4Ô;`Þ-pŕ̄ËDi1M.Ó&ÇgMN^oròÈg8q -‹ÈÔIûê*á 'æ D.ñKÖ6/Ys¬¹–ŽËÒñX:.¡ã¡¤!z´DrôHA)Uö.®…ß ò[¿¯ÿº¯å[ÿ“?ùôkü‡¿ÀÿöÏÿ¿ðÁŸÿ]÷Þºûàÿ÷µƒG¯ükŸó¯>ö{½æïôüßíq)%ãoþÿèŸü"B¾åO|3á{¿ñ¤3fÿàþ‘¿ÆG?ö›¼ó_ÊÿÐrûÖMþ÷ÿã_òwægùä'_Ävl¾ò+¾‚øK‘^oí³Úÿ¹žà•W_å¿þ‹|ì7i4ê|ï÷|7ü›¾ñ÷}=¯qk|qðæ~š®6 ‰•Uf¢”¨­U–›ÑH1koLwEO§¼f/øP÷)JŸxÔDÚŒ Ô „ÄVbzÚ%w´G<£½Jéj˜õ”Ì··ºÌd“‰Öfžø(£_á8)›ö%šS±æLh:s2©’+*¹¡"U´Ví£RÂRxÌEƒ¹Rg.è䫯)¹j *Ѹ’k\‰µUØ9뫊ŸÒ!Wš 6¨´•ðËu“TWÉ•b¨Pí ø$4˜±Ó;äùìÞnŒÁ¸Î'Ïïrð‰;|ò7v œλö–À¹"¶ ¦iƒ‹tƒ8uÉó3¿¤”5•ÂÕ(û*Hhkcîi¯óí7ørõÿå²ÞãõÆ.w0ú^Šb—NøØ# mæŸ@«¯Ú9-¨F ÕB¡ªê΂þú%Ï>x™÷<ø ¾äÞǘ]®¬Wf‡kulªD`’â§sÕW„ìˆ# ¡ñzz—ßÍáø6/ßJäÙÜJö¸iìc·C:Î^2¢·Ò› 1ãŒOåÏbŠ”È´ÑÆ“Kºåˆù÷ò=” ¢)ÈK…êBá•æ}\’z—ÊNµ~ëvŽNÐeÁ$ksaôi4*UÅ­BjUD= ©—!ŽLÐ)ʪµT%Ž£Ë—…²šù›•-æy“4³(+•¢Ò(+ bÉÉb›‹`uQ°)Îy÷Ú‡èw‡lu/èy—Ì£&ÃpEïä¥üYn×ö¸å?æöî·nï1WLUŸ™â3S}¦y›aÖa·™Æ’…M9W)§*ÅD[ ¿‚§¿*[Uüòˆ$ŠV¢IŠa'è7Sœ%›Á Ï._âÁÇyÇò^Èžç#ò]ìë»|Äý2\{ɦyÌ–v̦8¡*2Èh%üâÂáTÝæ“ÖÛø´/ç‘~÷‰ðƒ“D¼‹³¦]ñ¬÷2_êý&Þèì>öøhqÁ,ðÙ{¼KQªÄ[& Ïe²ãc¶bZé˜é nâòšu—×Í;ì›79Hn29í0¹è0þT—øÈ¥þÖ%umÁÍõ}v[y”ÞC„’Ðô¨}šîŒ;Ö_Öú(ï)ƒÁ°É‡NÞÎÙI‹£“uL7cëá;öy÷ú ´Ú Õwylßæ‘ºËT6h$ ìyŒ>Ì‘ç ÁA‹ýuÞåû_‚ñLÁæƒ œ(c[?'\Ô8ÈÜßZñ‹2ˆKˆRŒpAsó’íî»o9fëξ2Å3|eAEýà-Tµ”±érFõŠ_•bU F^ PBAS›Ñ\ŸÓ»5aËjr¢o±¯î2R}öÕ]Ì2£Ù˜³©Ÿñÿ:å˜OÙi8Á.HJÁ2HöR–ÊX~H>1[R‘èHLäój¦Sàn&¤¦N¤y DCm›Ó¤Åé™ËÉ'Î~Ãa:u‘÷,ª{:ÕMeUù}†J\ámôn]rëÖ7oî3U|&¢ÅDi2-T™cɳʱ¤@‘*翪|Qnwñçß÷^¾ó½ïã?ú–oFÓ4ò<çïÿÜøéŸüñÏjÿï%>Þxüw‰¿Ÿçÿnÿ£òK|ø£ãŸÿ/¿†”’?ýg¿‹_ü§ÿŒ?ñþ|çw_÷µ_ÃOÿä#¥ägþ|×{ßÇÿü?ý2?÷òßþm¼ëËÞ‰¢(üÜ>ÈŸùÎïæ—éVû?×óïò§þ‹?Ǿÿûù»ÿÍßf6›ó“ûïü6á÷oz=¯qk|qð¦~ݵ+n¿ûÃä®AÐ÷X®×Öj¤ £‘b5b¬F„寍ó 9ËIçÅL½¦ž¨c k0)à83¡Ê²VÀÜQ8>¶sƒj¢quÖ`1d³Œ)§¥¡ƒªWyàôU„ŠYåu&™ÏDõ™U-ÑÔMÉÑÔ‚ ô˜Ì[+×¹E%+¨Ë95fÔåaUD~ЯùR£“á톴¢)êZ…¼¥0tÖxeñô±ÉÑâ©mÒÞó\ú"kÛ /c6x¼Á¤Ái±ÃÐß$¸Ó%2<¤+‘1Èc‰’h$ºMbX$ºAe+Ôó€ZPWØ$Ìeƒ¹l0«|æUƒ¥ê1Pzìi»¸fȨjq¼Øæ,Üb<èRŒtj8ý˜ÍçÏ ¥)QZµYQê ‰m·,’ ]丷”·a¶Q礵ÁXk1ÖšŒµ&s­ŽcÅxµ%Aá±ÄÅLVígF–bg1]9bÛ>fÜjÙAÍ£µ6¢V[ uA¤¸DzDh;„žC©+䮆4AWs,RL®Xã5îb¢ê%¸@S"*8ªo3¨w‰-M-Ñõ\IÖÔ ]fTMáfÔôˆU ¸¥Æ¨ZN% PURÅ 6K<´'í¾ŽˆÐÈñ«9q>&J<¢È#HêÌŸ¹Ò`¦ùdšA% ò Èa,ÚœÈmšÚËJèx#>­=Ëq‹ÝcQÖI[—Xµ˜†3ÃÌS¼dI'§gÕjQå’i¹«¢¶JL™aë%ÌE¨S,5Š¥F%U¤-V3:(ZEÚÓU†«˜ŽpÀÆòmQrµèñ‰Åóœ‰- E£«yÎ| Ï è•ôôŠ šù=͉t›ófŸqÑáL[gPt™Îš„ª‹Çž½¤iO©‹¹P¸^w@ȧ„ó¼O"u}É–wŒÓ)o( š}^ÒžcL‡žzEϸBQ®ÈQ u‡‰ÖäRô8gƒ@o°tëľMéD¾MàÕ˜šM†Z‡™ð K‡,Ó!äªNè:L­WV‡yÓ£ôTìFF·5Á°r¬ÝŒbGcÖo [*©«£Y9¾6C–“{*“fQJ‚ÂAUrZΘÛ=¶¶ÎènŒ¨×˜"E× T·BiID,ÀP`®®XéSCµš]¡;9ŠSI‡LêLª&:ÇÚMFVŸØk }‹Ìs í3½Å•èR… é¥I:0H&IÝ"îÛ$ë6qÓ&u‚™K0³XÌ Ô\ãÜìÒ4w°Í„®9f¬µQÕ‚Mõ C ™4T&› “{ “TE%@AA%CaAãΔ¸oräî`”q`q‘õ¹Èûœg=®Žj ÷ &g:áØ ›Ûpe#@O`©®ÜLãeéº`˜ ô© mT¤~ŠÖ©û«ÙB™k$e8÷¡‚¼²¾Ø·¾?0xûóoãÁ3Ïð+¿úk|Ó7~¿ò«¿ÆÃxþmoåÖÝoªªÒÿ?üüùïùnºÝ.ß÷¾÷òc?ñSO…×ÞÞ>¿üÏ~Ó0øÎ?ûgø™ŸýLUó_­pþéïøvþÎû÷žÿ^û?×óÿÄOý4ïý®?Ç×ÿ‘¯ ß·øë?ú#ÿ®Ì5®q/4Þ´Âosó”¯ýš__ÅÔ¶8­osZÛbZkb:1–áê!v’_Iò}I´¯’äR!€ J¤ˆ¡ZÀt‡ ÂfÂeÓ$on1ñûT¡ÂxÏftl  K IDATïòXì²WÝÆÐS=ÄÖCl5"\¸Lö}¦M&ûMdPb`±Ä’V+Áº]aí–XZ…^Ëq×—´ª1ESÅ…H.Œ ‚IGÁ}H%¢½·\Ò»wA¥)TšÂÉr‡£—o1Ék\‰&W;>yßGV¹"ˆAþ¢@ñU_¡ê ´~†å%ìd'ÜHNØQé0f¿¸Í^¶Ë~z›EVgl·y½¼G(]Ž•,.Óe“Ià3Y6qdDGÑYÒÝâê!ºQ¢%ºY+ãªÉ¸j1.[$š‰Õ Ú.{í›Ì̱b’¼A,BÓ!¨{,4Ïñp*Æ,Çœe(iŽGÀƬ•tŒ+fµ:UG¡l+”¶`®ÔѬ)¡ÐUÌçÑ:³È'™UN§6d³vÊfí”5g€!224‰Û²T•Pžr©x,jü[÷¯Q» ç­ eÓdÄMqÀR=¤ÔJ¡0¤ÍPv]Æe{5£Ûq(vtdM!Úvu:¨NN*u®Ê>ã¬M»TKAäÙ\ÙÚ;˜íˆrCmzxó„Û³3T½Äîæ,;uö;·° ©i’ž`+!†“’´L.Í.ózeËÁÙÙ™`ÍBîºûlÕNhx3«\Ͱ½Ñæ ` pT0 ÐThXH× 2u*U#ÆfYy„åÊ¡s‘×¹=.­5fõ´]’Fƒ…ÛæÊìsªn³X:ŒOŒ_k0~½Aµ¦¡=#P5ÐÚ0M}FG>‹}“d¯¢Ì4û}Ò¾Áåúö»Xâ”KÖå9Ûêƒ^«‡5Ã[5 fè,1¸BGÃjåD›WÚϰ/oÏmæ“:‹Iù´Npbì –C…<©0Ö A õrÕ%¢š šTš 8× Ýa¬Õ1w ÌÛ`ÞÎ𼀸ôX.k„¡Ç2¬Q–Qâ¬þÞ®ñÁ÷½ï½|ç÷|/ßðÇþ(ïgŽŸþ‰û¬÷¾ýï& #¶·6ùãßôü©ïøvTUý<~·ÿz̃û÷ø²/ÿ*‚ àkþ?ÄþÕ¿B£QÿÜ.Ì5®q/8ÞÔÂïë¾ö׋6/)Ï¢(9⨆ž`ë®¶Ä)CCè•à£ÁG Êd@\¥™–%Èéy8BC¢–NÞó™ôûõ|d.ÈN–d§KòËD ­'-ægDß“7]•T—e÷ùHùN>’¿×\RgFCÒ`F8·™øL?ºb1–(D(D¨DÔ7l¾s¦6acmB­áö—¾†²[`G!áe‹Ëu–ƒ{ÄW.;ývzÜì°Ó?àüj“£³[ïpxv›¥ãõ²•|MEÆ Ù‘J~¨"ŽE¢=Ìд­ŸQwgì$¼5üÏ«/²Ã +Þš”ÌÃÑ-ÆE›•è³ô„bª’Ÿä§Ù©Áö7ï²{ÿ1ÏÝ‘^ý 3ÏŸ2ÁâĨ䨨âÄØbh´†da¸ÆMöõQ¢ˆ7<6KBÓ%Ð\\×ÃiÕ(‡ n£zZàKnøG´Ö†Ü]{•iÝçÒèsiö}J¬•ý{â™UÆXm+B•X$Âc Öˆ„C¬8àH”'¢O©$hÂ]¢¨šR7U–žËp­IJ¬™(zI][P …š`Š”’\*¤ŠN$lÅeN›œ:sú\Ò,çøy€Ÿ,ð—{Õ.ž¶$±,Î ¢1«7¢&$ÚJøý6¯wî¡öJ’ÂzJ!WÕVÕ/0Ì“”ZâÍ"¼«ZNØv¹2Ö°¬©W8§Z±k¨f,ÙÜ$ùŒi†š[ÐmŒ¸g>æ]éGynü)^\¼Ooå•Å^ ÞÆ3þ«¼Õ|‘gŒWyKýSxI€h‹m‘³°j\¶{\¶}.Ûkœ”Ûœ¯3ùd#=Íèˆ!»õÇ<¬¿ÄV÷˜ Ö¹`#nsIŸJ¬ràJTJ¡âÕ—xKjYÀ­ìŠ@Ö‰5l0,×h&S–¦G©)F‚¢”\m†E‡aÑaT´©,²­S*ta×aÜî;sj,JŸEæÅr©9C«‹Õ¹I~C`"—¸EÂíütÕŠj£F`ÔÑ´Gp”O 0I)•Ø0 U¡ °ó%;yÈüõüŠõl@#Ÿ£fÕJðùOþI¬„Ÿ¡ªÙ0©\i”ªF,m.Ë>§Ågù&ƒ¬G"lRÓ&©ÙȶFê7˜»†fŸeÆÅ²ÍÑY£—û}¸¾#ñµ„F+ÁßMˆ—ãã‹LâH’T#{Ðçòá¯X*­zÀƒâeT/s[^°¥q¾¶ÎY½OýV71±Yb“c“a‘1f+ÙgŸÛ\Éuâ™M~¦QëäÇÅ—%å°¤H*È °(à,+ß]}@ákHWg¨¤Éxé 5ºï”tSA·–áíd™IšÌ¦m“>in!_Ø{ÝdÜ»w—ÏÜç/¾ÿyöáîÝ» |ömœeYòèñc~ä¯ýuFã1ùþÒçý{þEŽã<=v]—0ŒžÿÕþ!þýoþ~ì'~ €Íͧmœ¿o´QvÚmþé/þwŸõþÏõü“é”ýƒC~ý×~!?ò£ÿù¿ü+üÔOü­ßß¹Æ5®ñEÛVøénNm{ARØiŒ‘æˆT"rÐeŽ-jj@ªª¢º­¡»*©.Im•,·¨ ªDÑ*T½@Ñ ¤®P¤‚l¨QFš,±£„º9ÆY¿B© ";#¶báQe&ËÊc(:é7p­€×«»<.î°ŸírXÝÆ1—ÔÓukNÝš‘ÌLÓÚŠ“Ê"Å1®™`–™!µ'‘$² µL [E9N±Ìê„S—a¾ÆxÖŰ\{NË„*Ë©ÉdPcpÜæô OâÛµBx«ØpÈTE.UäDA%Ú2GËsl"jÆßšÒqG¬e6Ê3nè]ÆZ‹…V#ÑL–Â!Šm‚Äb0n`Î3œE‚StŒ„õCn7÷¹ÝÙ§eO)fÅÒ ˜d…ág´ý ŠYÒðfÌÔs­ÁL]¹#ªe‰ZVhe‰Z•‰A;IiÒÆG8³'Mp”Å*žD6¡Z“µ'aÐB¡bt­zdªñ4Ã/Ä%Ä¥DÅ £¬Td¡@&”Oª§¥¥’k*õ3‘ï¥$”.cÙAWKrEÇ,3‚¢FÖJAE ×™éMÆú¡WxäBGaUe¬•ÍjÊZ9d£º NisZÌhê3RLöíÛxî­^¬BîµU’º¤ÕmBä\ ‰i%˜VŠ_ŸàX wŠê–„†Í€ˆ!¶š`j Mmš>`C?c[ï22š,”:¢”ˆ È$j\Ò(çÔÕÊPÕUʆJé+” ÛKhé#,-%¯tæa“qÞf Ö¸0×9‘[4ÔëÉ9³±ÏréAj^¢ä%ŠR27ꌭæÊ1ÕkT²&ñ‚€ž{¢Hn™ûÜÖöØUöØà”L5)mbÕb¨tV)ŒrÑaÉÓH0DŠFŽ*JŒ$ÃŽ"êa@êøÊŒZµÄ&AWs$€”(äèdÂ@ªRW‘¦€R “e^£XªDª ±@MgL³=ÅqB„¬˜-}òK•¦;¡ciYc:µ1šZ°Š_U²E%qˆ¨à‰KIȃLÓɃBÓ0eºÊî“+Ö“%µx‰šD±EªTº@8%F#ÁnD(•á•Ò­ðÝ€æÆ¿1£©M±«˜,(¤Æ‚:cµR¥n£%æNNÑÕ™¹MΔMN³5Ž‚uÆ^¬ãØé|ŽŒåŒ ¬2ÈKƒ²ÔÉR›,°adÙÍR é¶/‰+ Õ(q­S)PU ©¹z‹¼Q‹µ,QŠŠe¥1®j\È'ÕihAö¤ ¯K°*¤["k%2©@+@MAÉ@MQÛYâ4—Ø]éWdÓ™± U+²Ê!Ñ‚e®`F‚¤p¨r]æxêS¦D"gås/Þ÷Þïâ«ÿðá_þ‹ÿõßx¯ªª?õ㓯ùú÷‹&üÇ!Š"<Ï C\÷3Bìû¾ÿý|Ó¿÷ üçÿÙ·=±û¾ï?üùŸým¯sðèÂ0äü‡ü…ïÿ~éÿÂgµÿs=¿mÛüàû¿ÿi…ï‡~àý|ÅWÿáÏÓÕºÆ5®ñùÄ›Vø…¸œ°Å¤l3 »,æ>É¡LuÔ†Äj$Ôëm{L½ Ù3YoÀ8è3YÂdi“ ª­cx&¦gcÔ\ªTÎ ²é‚tT`‹˜uÿŒõþëþ9†Yq‘H.R‹ó¤C¤º íÜ;T5¸¨¯±Ýa/¼É$j"#A®«™:]!ÓM²‰FRؤ¶EÕ3¨w¶šWl7÷¸ÑÚÇîÇ„; ÂuŸKc“,³QÕU)ÑÔ‚ A¥¤*@© 3³°Gq”3ÖMÆ“.ƒaéЦ–Èy¾Ê©ŠA.T¨(Èpõ:ŠU¡›9¶–à)K<%@·2ʆ ÒLׯN–ÜLöÑ“”íä˜ãaŸ“§ìÑ0glz6o\±õpÀvë”ݶ½cšñ‚j®38[çâtƒóÓM¢ÌÁÛðÖÖ6ÆôºWœÙBÛ%ULÊ\£ÌôUp{ª3¼êã –+^-±È0ŒÃÌ0Ì­V 89ŠQ (R@†AŽN…‚NNŠÉïi@»DP¡ h²`-bÇ V”`G)‰eÙ±°‰ukÕŒYÕY” æeƒ´´I ‡YÑâ¢ÜDË ’Ø"IVÔdŽl¨T¾BÕP —> žX²É›Å9›é9›é[é%µh‰[EXfŠÒ+C•:«ŠC•3ìÿÇÞ»ÇÚšŸõ}Ÿ÷~_ﺯ½ö}Ÿ³Ï93sÆ3¾€((! ƆªjÛIT¤*B¡.²)¬ZŠÁiiRbJÛE)(ý„Ô YBBUŒ ÆfæÌ™sÛ÷½öº_Þû½¬ããŒW¤ý‘={íßûÛïÚ¯ÖZ¿÷»žßó<í!/óR¨"‘Ò“(G²˜Sß\ÐÚÓښЬOѵA+É]VØxú)¹+£ˆ®¹@×#ºö·íHJÆ(è1Ÿ4™MZÌÇM¤UI7¯MŸ`!qK#nª$MÜ–0óˆEVã«ù»y3{Se›s}›eÃF•Bü…ÁÑlâLb0ßÀ¶|ÔV‚ÖŠÑ62WZ XÛ ”Mä*§U›b•ú-NÖ¼µ#6’!ùŠº¶¢¦y8š­z4«9Ír¶öÕŒHÐ kÝóOh#%ÍdÆVx…î%4˜³‘]Ñ˯Ø(ªI]Xa !º” È9eE"Pz"ÕR$O’¨¢ôò¥B=™ÓP§4úsêÍ9Y¤†ÑC“«h“Ò–©w<œNÄvg€­{dÕúõ—U •$ h)²ž!k’’C.@& ä@. ”r™¯}•#U뎓‰¦k5<Ó$KE¤$ÅJ=ª°Bég(A†â§tµ1;½Sv;§ì+§èyDXY¬D—©ÒÂ7m´nŠ*dhNо›b÷VH9¾kq)l1¦Å’.1M*\DdBTJtRD­Bm È*BdÁÜK…Hc‘r)í©„¥Éʬ1³›ŒV=.§›œOw9žÞ@ ”ÀG ÔÐgat™9 V¶Aa‹U…hˆ;9b¯ šV”çÂÚ ™ÊAAS@×PìˆnwB¿;f³;¦Ýœ3df¡üÔë¨:Yß`¦éxKY(‘…œŽ5¢¯_"T÷ô%ëðö5Yìîì¼Íÿ™ʲúszFznÝ:ä÷_{oûÖoàµ×ßàÖáá³ñ/~éKüËñ¿½-Çî¥÷|ó¿÷oY–ÅõýŸÿåýçâùßèùŸ»sû<¯U½æškþjñWZø³Ã"¯3 º¬¦.ñȤ e¤^…ABM_Ѳ&ˆA϶rÄ—rN'g|Ò`1j z[Ãê˜Xí˜|˜¼‘A¸"¯Ð¥ýS^¸yÊswO1po` šxW1ËPfl¶)l˜8uî×™åmf^{-üf™ PI‰¤á‹åT$Ï$ S¦Ü°„½íïÞ~ÀËÛ_Fnç¼e=Ç}»Á@Ùbœôp”޼.´¢ )•(®«…*•Ë…MºØ`ºÐ8Z4I"“0vˆ"“<Ρ&RE,e˜È ‹C fµ~J„#ú8O…_)Chêø™‰™ùì§OØÎNÉ3…¯¦wxõüñÙ.ßPpw/9xþïÚ{È»žHÏžàâá²¢yLF†û¼öÖK¼zÿÝ„±Éó‡÷xáð7Ò#ÚåÁ… ´É]RM#ÌlÂÐ" lÂÀF9Êæ(3”R£@Ú)wJ¤íÅIQÌU‹Q¥ƒ[ðŸñQÈð±™Ó`Nƒ ƒýiå×N>f+°åØ\]áY6s¡ÆBu™ .ÕgÅ.ajd6Ij°H[¨iŠšdˆQE±’ÈW2…'¡WU_¢*EJM$rÖ"²DÄÁC%e+»d+° Ø ®Ð‚dµÒrÄz¹4<}Ô@0ž¶QÖ"Að*Š Œ z("­rÜ—ælëgìo=¡ß¸`)­+ÉŽ¤K\r]A×ÛzûMMé*WHJFSžp’ìóxt‹ð‰Cð¸†$4Œ%Ïëoñ.ã5ºÎ¿cáu,üŽÅÒ©qµê3ò6x°ºÃ(í;*‘£;*ªá¿ertºÏÕÃ>¿ïe̾u×Çj{X>j+FVr$5G–s2,7@Õ´fŠ“úldCúù~2ÄŠC\k…[z8¢‡£úlV—ìU'ì•'ì—'œ [‰‰7˜Ð¦Q,ØJ„ÇÜXЪfyˆY„eÈTo᪖¢Ë Š’‘W$"•/QÎòH¦ôErC!1 :Ö„®=âFó1ÖcÆ']Npü°ÆÕƒ-¤ìß8þ²_ÒqÇ”¥HY­­ErG"¯DrY¤’”ËßùÈß~6~xó&ÿüç?Ç÷ÿýÿ’ª‚õ¯ÿwo>ÿÄ|’ÿæÿûû{Ìçs>÷ ÿŠ÷¼çÝâùßèù?òáÿœü?üüwŸú1>óßÿ4ã;ÿúŸËµ¹æškþryÇ„ßoüÆoð‹¿ø‹ nÞ¼ÉÇ?þqž~½½,K~þçž_ÿõ_§ª*>ô¡ñƒ?øƒˆâ×Ki{©ÃñòÏwº,/ë$ç:¥/Q¦U%€* j`ª1V7Àê˜R6ÑE‹éEŠ 5©£#wLÔnŽ$”ƒÁ ”ˆº<£Y›Òî,ÙØÑ[ƒ"à äYIH,3—(ÖûM”eB:SIÇÉH¥ÇHJ¬æ¨ZŽªæEµnEÑ gL{ÌæÎ”í¥+p,@"ZŒ…ù&‚ˆ.Æ(U†ƒO hFŒâ¤Hõ‚<‰2táà_¬#y¡“2UQ®#`a…èUˆZI¥Š”…HYH”¢ˆ ‚PVI…”ˆ^E%A!ŠäºL¦ËÈqŠ.®«N*EθÔe:ƒÈ ˜t‹ 6Ìsús6Îiê+Ô0G K²@c»Œü.gËÎ | ×^°e\R¨ ŠP &š¢ë1†Q yª‘F%¢ÅL¡¸RHN x YG!UURG%m«hYŒ“/¨KœrI£š"W9µÊÃ&@&Çl $|Áf!Ôi”sŒ*Â,#šåœN:a#²•^²“]°,ô²‰Z%HbFTøEUVg‘ø,#™4ÒðÃi¤QO[<5£ Q”A+)u‘P5… A(„ Y(Â!‚2–ÈÈ5Á-¥’XÖÍË èc S¤4¡° S 4D¸Q¨‚}cùµlI]˜ÑT¦d¢Œ/XkÅR©1WêLh1¤C• 䙌š¤4¼ÞxÎx²Â‡èã;õÙ®¸i<æeýU6í &F‹±Òd"4‘ÊóªIŠÂŒçâ6•\Qi%•Q!Y9™ “G ÁØF81Åû`‰#ZØõfÃÇÖíW$¡@®rt5Â’×ýæœÄÃôC„´"‰tªD"E§”Ed=Ç ¤UMÙ.ϹU<âùâ>&)s¡‰BŽŸñ‚tÈ^~L]X®ß“³nF_¦8‚GSšÒ)GD¹MZD b¬Pª¥*‘« ‚Z!o4•{cÞÕz'Û,“ šÔ\ŸR‘Ñ”VgNWšê×MQ„I‘L‘ Ъ ­X›šçT_+$õ5S ebM%° âR%K%È*ä2ÃÔ êö‚º²¶n1¢q¢%Ò<£,*µDTKd%GUSle])µ!Í©I+V•˲t *›eæ6±aC]ÃèÞ®k è"¥(!hj£À.šzˆR“ÉÎÒP![©”©DÔ6XtŒ&=0*.[ N¶¸z´ÉèÑÆz[èX‡‰ci_CÎDd-Åi¯Päµ£vc”^ ¾H*h¤‚N†F¶RÉm…Ü–Ém ÑÍÐ[µVD»5£ß¸¤T*EEPL$Åa4­‘OuæÓ:ãiIÏi:WÈŽ[ 0e¥ŒþR×Ékþl|𻿋ÿ·ŸäÑãÇ´ZMþãïùŸü‘~Û1ÿnÛ¯ýüG ½?îø?jüïýÝrzvÆßúà÷ð_ü½¿ËßùȇŸÿ³?óOù‡?ñøùÏýUUñÞ÷¼›ÏþOÿäÙøwý­¿É}âGxôø1u×å¯ýµïàç~ögþÄó¿ÑóôÛ‹‹KþÆw}0ŠžwùF®ç5×\óÎðŽ ¿Ï|æ3üäOþ$¯¼ò Ÿÿüçù©Ÿú)þÍ¿Y'+ÿò/ÿ2§§§üÒ/ýeYò™Ï|†_ù•_á£ýè³ù‹Yƒû¿—Ø×˜]6˜_8$E㯠F^‡"ðV.}ç’¾}IÍöh:3j™‡E(Ë a ÅL& Uäš‚–I~ŠÛKѾcŽ-…Èu‡at“ä=JÁâd¼ÏÙdì€E.’Ídª'yM _•ä«råê¤ÑYÐßX°ÑŸ³ÑY TźB,PE  ¶ê3ŠºüÛão'0,ÛœØ{ø–læ¸,Ùä’›<¦#ޱì±[‘HKÛÁݘâLpgk[yuæ~›¹ßfæYˆ5c#F諒”²”ˆfñÔ$žžH<2ð4—²’г&T†‚n¥8rÀlär1t™kÌG5–¡E‚ÆÎ­î¶Þ)P6eÎě̻XF„%†Xbˆé„x›5feÉIéo- *N¥m²‚»ZÝЈ•º½ànó ”gV¢€l².d¡ÃXê0Ðú f}oô1g[û—ìpÂŽyBWâ–+Üb…[®¨П6O¥K 襣µ%#:é!¯ˆ“Ö-ꇆ‰gZøš…'X䕊Y…Ü)p˜?a‘4ø}ËM«M¼ÈYߘ‹@ AÆ+F“ ò@f~ÚDPÖùI‚\!(%Cy‹iJKžÑjL1Ì­£Ç1zœ°Êk(EÂañ×[2 º Õ.#µÃPí¤&Š”#ïÄ(ZŽžÄTÛ0íµ(O{(êz;ì õ˜Ûê "D*.ØbF“t¥ÌuåΡID¹A˞𞻿K“ÏÉ÷éK—rH–ªL®Ú<ð¤:àRܤ4dêÆŠw_åÅúŒ…ãU‹ÑªÃè¼Mk0£›Nèº:7'XÛ>z3D×Ö‘)!)($‘R(%<—ñC‡yØ" UˆÀŠ#¬$ÂJB”"c¡»Ì³˲†DT•He…TVˆÔ“{É9b"ÐHVPT˜UÄDmñåÎ{Pä A«ÕA«HT…R£¦,yQz^zÅU¼Å`¹ÅÕh“øÌ\zJ¬½ ŠŸa†1näÑŠçÌ&+¬$DÓ2„N¹ŽÖ6X¿~ud‹AÞgöÄ}"IÇÑ–8Ö§X`!lSj• QÊ"U)|Ý 813 IDATA/õAYoK—%åH&øCMKpÚ!ÛûícœbI5¨¸t9tð‹³Ú>çÎÎ6+§QK(k+”ZŽé„™Mž*©Ã,m¯ÿ×­Œæ{'´Û#´N‚vmê\©ÈR†nFì•GÜPžI&ã²Ã¸è2.»¤¾Æ‚&g£]²7.ζ¹ºè3<ßÄ¿p`TÁ²€ ƒ4,ÍÃuê=¨ïÝ1]Ëò1%ŸJ ÛQa¾Wc^5YT æU“,Qz<˜Ý!=R¹P·:%B»¢Õ™ÒîL8|äaE|b2=é!1VUÕ$Tk¨‚Är ÀÁ_æJy üAñÇ ŠïýÐùÞ}ðOõ7¿ÑsþQã‚ ð©ûQ>õc?úï?<¼ÉÿñKÿúÿÇý?Üüoôü?üñâ‡?þCèøµÈ»æš¿¼cÂï7ó7Ÿýü|€Ï}îsÏþóŸçÓŸþ4õúº<ÝüÀðÓ?ýÓo~Ëiƒ·^}aåºT‰.’K‘"Ìñ=Âïà.¿]¨uWÈRAÓ™áä+Œ0DYeÓŠÌ—‰ƒ<‘‰“z½ÀÝ\ÐÝJèn.ÅœpÚb8mò伉·l°Œê,#/r¨b&Q 2…¢ P&!eQ¦$!;çšgÜÝ>ånçMK© òé Üë}½AüÓ&ñJcDnìÓNæŒg+¬4BÕSÄNµ®¶Ùd-üŒµð;­vy#}‘ׂñE›눽ô˜Ýòˆ6cBÙ",BÙ$*LÊJ ¬Dª§Þ‘WÔäÕÚ³BZU”'É}ÿ~ ÙZb†l^ò¢ú&Jst²ÅѽMŽÞÜâr¶ÁªÝÆë´YµÛäzEµ!¡È9–0ËÊu„6t˜…,ÉÇÝZà¶–Ôî.(l‘¤¡Õ5æšKM\±iØTlZ—äªÊÃò6Ë;„•E8µ˜Ó +Ì'-´2&˜Ùø3›`fà KˆÒµð«,- çFl÷B¶v#š­um«-p¥•.²j×X5¼N‰ßåÔÛãlµK¼Ò™{ F³.I 2 6x˜Ýaçð”['ì(§l·O‘ý’èÊdò¨‹x¯$Œ%Æ¥FPYŒª2Ë|-ü®¹æšk®ù+Ë9~o¼ñßó=ßóìñùù9»»»Ïïïïsvvö¶9ÞÂ!zó„%Õ £ºÊ©Da®åB.£å%­bÆ®r†`WØ…™D¨aŠ´ÌaZQŒdŠ©L2Õa ÆÍÍ•iws^ñ)E‘Ç¿ç0¼<àñÃ[ŒO{bb… VÈe~Iå ¾D@EAEÕ˜Óps°÷&ïUÞäÛÛ÷1k …(RH¹(òpt?w_µù‹÷s^n#T‚^ 4rl<\–ôª!ûå1âžé05[\ ˜ø4™²U 8䘛Õcì‹’üÔeq²‰t*£ÔK¬Ý˜ÆÞœöÞˆ|.CV‘NTÑ& â©Dœê°a"àoÔÈC)/Ñì”àÔäì^Ÿ¯~åy¾ðê»yß·¿A}×cóæ”÷}ûë<ðžg:ØãbpÀï\¾Be ´¤1­Úˆ¶9µ˜Ýu Í>3Ò‘Æé¸ö9^Z¼ä~m#bÏÂaù·ôp+WôÀ†J¨Õ¶@ëdJ© ç=>¼…1‹èÙCnuñÞ½¯°k!d¬-]ç‡æºÒg.J˜rÈn|ÊwÊþütÓ×pxT¿É‘¾Ï—ëï&džVñ@ªp³8áF~Ìû²¯0‹ZT¾ÈbÑàd¼Ç¬h®oòMÖ7ú2$N2ÓY\5`•%PÚ⺧œ- ä Š– ´b”ZBCžÓbJK˜ÒbÊþä”Ãì1»ó½'L½6U%²¨<)o"ÙÚNеPß™£6–ËË¥ËbÙ$ë¸Å’Ûç›´ßãuî2Z\Ñã5^b±jÛ„oØ„_²ÙëcÚ!·î¼ÅÝç^cÇ9Ã…ØÃ}±˜6™›œ>ÞãÞÑ‹¯ö©GwÍ{¼°û&ïv¿Šê§ø¾ÍéÕÙ¹Ž%Eì)g¼§þ{|GçÿÃiyëk¥ÌS—K6¸¤G%V,²¾os5ÝâñÕ!£åå×ò[EIÍéYWtÓÝâŠ^é!—bE&c†1æ2fcÅm¯x. oåruµ‰õ$@|½"^‰$‰Â<ÕJUùbɼæšk®¹æš?ïø*6›Íøµ_û5~üÇüO5o¿vÂûnþŸ¤©ÌjÓdµ2X­L’LÆîÄ_·VDÞGË,ŠONnòäô&³óå%Pë-XÝ A¤¯0Ým¢ª{¤3D¡²Áj»F)‚uc…+,qÅ%®°Ä$ d²X&dÒX&(ª§fåÅ­+òžM¢k„¹Í4n3‰[Lã6—þgÙECbãÖ%5iÑ 0»>¦àHÍtFZ¼ž¿Ì“òC½ËR¯cë‡ú#œØ'NLN“}æI›ÁÕ&ç³]~“"‘Ó¥HÑË»òÉ4¯£ìæImžÞÌ®-õE›×‡”§!'jñ¬‰$¼pð˜Ž;§ó®9­}¿árO|S퀉Û")T%¢@&“$¼e2)CNp%Ÿ-ùæùJg•5¸’VªË,iq4¾IùDd!5é‰#ºâˆž4¢×á/l¼¨†·ªáÍk<roùƒ¸ORiø‰ÃÉxãID¨˜´„„„* Êš@Qh»3ZêñªdxÕe2h#Œ+–=—¬§°Û;Åí. L“P7 tƒP7Q³”‰×âõً̦mò…Â|Ñ ŒùŠË»ùêú:–@ÎÓžm¬ ³›2»ÅÄn?õ-ªú:2H Q]‰zª€¬hjBœkœÇ;ø+—'ÓCÒXcf6i™S¾Íü-µ:‘¥¡…:qeb1Íð#y 3hN¦cxTÝfF‹@µÈmu@]õ˜L;Œµ.ãÃ.#£‹ÖŒˆni ú}4ý–•».ª’ QãuþÓ\Ñ•‡ìö(‹ ñ c°ßãwêïã\Øä-ëOz{xª‰^Ð Q„I(„j-Œ]Ö9¯$©Î,nsVîó ùÉO¢iÚ³ßommqrrÂáÓrÃGGGloo¿mîníïÿù‡d•LXšÄ•EZš˜Ï¿—;ý=kBÏÓ0,²‹¬Áñâ&_×™ž4™6™ž7).FЭ`؆¤®2³›dªÊlÖB*BÕ$Ø6)7¬rE_8gG8cG8£Í„ 7 ²µù¹É8­3NëÖ S—²?¢ØjumR]eµx´ºÅ£Ù!f·X5 U¤¬‹ôz—èzDËšÒ´¦´ì ª˜²›ÌWM^ó¶ñãR=C®§ØB€«-‰“È3Y,[D+‹åÔe9k°ð걄˜•¨y†QFØ•Oª©èÍe'C”Kó¶‚$©§0X´)Š›Œs•}¶GÃYñüþ¾õÅW‰÷ ¢]“ Yg"õjLÜ6±¢¢9i ‘‡2Þ²FØHTljCêšÏžvŽä¬VM†Ùšœ’k2³¸E5X¨ Îâ]öšÇì5Oðš6YSdmr™o2Xnqy¹ÍhÔe¸ì1Š»¤•ŠÛœŒ÷‰ƒóhËJÖ"¬K ÙjŸ³Ùº`«}Ž«/¹8îsq¼ÅÅñ&Ëí)í){‹3Zá«ÌuÆõÖÚÔ6yª0õZÌ&^¿| kÒˆçt¢1·‹èRüuáW<õ_~ $™Ê[ömÞ²oS:·™Ø J$ªP¤ˆerKGDr 49!É5Î#—'+lª¡å) mN˘rØ~DVW8Òö9ö9 öYÅ5šñ1É1é›Ù€é¢ÉtÙäñâ6_Z6èZcºÖˆm{@×q%np¤ïstóK„ZEØÖ¹ìlè:‹¬NZè¨iN3^¢”vË£Ó²§Sé%R­àÒí2ªµ…’™Ý`®6ñ\c3@+×_@HEþõ뢳~âZøMçá÷£»¡Åf4`':g+ æ%üÛÜ÷ž#ó’LÃÍWlU—<'>ä®ô:ƒl“AÞçaÖgo"ÊëÂ%Š• È)‹qáY«³ Ƨ=â@E C$C ÃÃÀl®èóX1ÔÚPµ ~{F½>£@¢D¤¨DJDúÚ9 mŠ¡‡ÚÓfêéS˜”ø¦É¹» nÁÒµ(2…³p—K}ƒHÓÉK_¶™H ! |Úß/~Zs6.uü±Ið–‰ÿÖÚ'·T²Û ùs2ECbXuXQ&<~ IUá * ÅÆt#ÔƒœŽ=çp÷ ýªdt–2<“(Îl–žRM 0mzZÛÖ&6ÕT ±uµ©«±ªÕ¡^R4Dʆ€ –¤‚桯 ÈÎÓ=Œ,Z_ûFÊž}„Ñ©y®çáz+Œ0f!ÕXˆ.KÉa)ÕÈËœ¢ÌÈËŒ¢Ê‘[jW&í9Œ—€KÁÅ©<ÁíVÏòxëÅ1i$Ëuhœ#”%Š› [ºbè!‰¯rl3?mððÍ瘌ÛLF¦^›B’«_#[üßÄù„°“É)Q´Þóµ$^sÍ5×\sÍ_(ï˜ð;==峟ý,Ÿþô§q]—ïüÎï|–÷÷|€_ø…_àSŸúeYò¹Ï}Ž|ào›¿_;áþ ƒ¹Tç¾Öå¾v›7µÛLÕ7„GÜŸpC<¢WŽøÊð}üÞð}-oð•áûÈŠ3âB ¸¨ÀÊ׿ç@ø&H4…Ôk2÷Z3å±™#õrÄfŽe{ô…sî÷x‘×ÙΘWuÕz›Ñ¬lbEû鄱Á$Ú¤²ävƒÌ¶Hu‰×âÑêß½z?¿{ö~ Mdcë’~ï’­ 6kl l l çÀ羚p¹ÜáõÑË<^²›³+³k³Å'É‹U›ÓÉ'ã²¥B±’(=‘2‘²òYÄÏÂGUµµð“³u»€6pœÞSá7ï0^hÜŸw±“}Þ÷u^¹ûÏï?æ›_xõ[ûÖ9f2\mr”-Ð¥„B•™&mã'I6K˜ÜèàÉY[Bn&<šÞâaq‡ËçypùáØ¤XJä±LQJ¤±J4Z‹>iT ªåÛ^;cÌ·l|FA'˜±g3}Übt¿Ã—ï¿—¯>y‰Wnþ¯,~‡ÝèŒ÷¿ËUÜã¤ÚáDÝA«%\¦[\y›\7¹:ßdÓðþêKÜæ¯T_d[>{ÄOa-pÀ†P0i83*§bì4Á¾AˆTHˆ® •€¬hVBPØ\DÛ\z;\N·é^i}‘Cý¯t¾ˆÚHùBþ­xE‡áVy#‹ƒüˆo˾À Ù=¾8y…ß>}…G'·ùÒéûyýKÔ+¶¾¥ñÛœmnãl{Û%ÁŽÁÒrˆDPîs!m²H¨yA3]²_`TNkEwó ¿¯Sµ EŸA¾ÁU±Á¨ì"[9r=G’stÅGKC”4AJ‹u¤Þ–+G³U›³ù>oÎïR†"ýjÄNyÁ·V_ÀÍ—¸þ’l¢r5Þ`¶p«Ûâ%w”¼G}•$7y?Çëù»øBþ­ˆnŽn†hͽ’&¡g¼i~Á! ¬•Z†@Š@ÅPŸšÑHé¿rN¿{Áæís:/žn •()èç4Š)F"~­BhQ±nX(&FŸ¥nqjlQÅ"^àâé.¡f æÕSáס`‰ÃºKßúy!³ט߯±ü-‡ùoÕHÞ¯ EC¦<”™–5æ…E˜‰”I´~ÿNÄz…êätv¨E‰3LÑ¿ Q,-V«6³'+½†oÚ k=D«¢‰Ï¬ Ä–±}®‹X«Pz Z¡ª1Z-"U†¹Ãy¢‘ƵÊã@}Ì ç{ê1;Â)ÝpB7œÒ '8‰ÏÐè0Ô;O}› ym•LŠL$Y’E(Û,$ …“S1 é2f¯<£‘¯hf+Œ$§‘,°â9ÉË ÅM1¶ìf3 |Ób~¯Atfݳ(R‰<•(2‰Béßùv¾é%™÷½ü%¾ùåߦ^‹ùÑïÇ7É\sÍ5×\sÍŸ™wlûÄ'>Á|>çÃþðûèG?Êl6ãû¾ïûøîïþn>ò‘¼í˜qÖæËþs„ªÁ@îâI’Ybêy®0+Ú¹À8ëqÂs½A^“0Ê€t,ˆP: –cÙ1V#F5r$µD~j™ ˜&bâWE!ƒ, ʲœ# 9¹§àû¿Ë•×g¶ñB‹$ LðÛ*W½¸j&,Õ:¾ma6Ö}ñ²BÂHVT‹©L¥¹¤jA iÌÕ:‚ píà‚YbI>PÎM&AwÝ ÛßbâwXúuBß„D½@Q¤VÜHI* µŽœm“Å*³Id“e•p•Ã0‡«Œjž“—9¹­€é’Ë*WGfŠ“ H3ƒ‰Ød¥ºÈVN·!Õ"'^@¶T(C%ÎQŠ»!c¦>q¡qnñêêe?ãÁð6W“ ‚•…8õ5{E­³ÄÝX²Ñ»ÄmÌÁ¬XI5|Ë"jë¤;2y) tÌ CõS” £He¢R'. âÒ@*L3Ä0L3dÃЮ©×æXj€ADË™²³uÎLl·:Ý1EWâÂÙæ÷ªŠ°Òñ* €&3ÂÒbžµ(#‘À³“B’äS ÑHXuq¥èª‘ ê)ª‘é2S­§9¤º’ˆ­Xe€-†ØJ€YùXSŸdª3`‹ÕØet¶ÁdØfÕÍ’Ky“'Ú޵DµRŽã]ÆQ?_ßÈŠ”¨b†©…8‚‡*¤ ¤+oä0Lz'Ôb%ÊI œ-–:e)b _ßpØ\.ÇÃq¯Œßƒ‘G„u¸Ôhhs°K²HaYÖ)/q×ý÷¤ULÕ’DÔð$›©\çJéâ–KÔ*C­RÔ2£*DòP&›)$x¥s•oð¤¸Sx4³^âPË–Ü5ß ¯ Ø­N`Vr^lQŽá-ûWN—ÈÖÐëáú¦ßö1SõÉk f?Â: ˆBŸ|&>ÍË][‘Jd¾Iê›$¾NžèÓêIŠlåT™ˆ]ópj>Žãá8¦-L/¹Zlñ ¼Åcá:d(ä’L$™”’H"ëT¹H$¡AÊTrIœè¬R!ÏÉr‰ZîQËüuqŸ8bUÙ,ë6«›el£ÝÊÐ{aq’f Ý Ø5©Z:yÛ q BÅB“rJID&Ç$¢•ÍÉvÎQÅz»lû‚U¿†×®±kø+–À:Uf ‹¦®ßSí½¡91š¡I1q¤3µ˜[C¯ã°ìº,º.¦Þ +VC‘áPÂ\Z$=‹¤'!è1 gNŠJ‚FŠJŠŠˆO­B$dBß"ðm*O$ †d€®§8z@&*„¥A’ªˆà—hi‚ƒOCáØKfN›¼¦áÕd¼º³þ‚æi; ˆ ƒIÜáäbS\áè+V‹û8¿°eñšk®¹æškþByDŽ߯þê¯þ¡c’$ñ±}Œ}ìcè1§ñÿ×ø?¡Ô…õê2”&hUŠ—¹¬â:Oâ[”±„W8xºØÉé7Î 2þ•L`Ê䂌%®èIs6ä9Ú Ç Ñ¥ÈÑk ~asÊ'Õ§þ.i¬“:©¡‘˜óY“ËómŽ/npr¹Ï2ÐYùAU°Ä;8¿Óù‹VUË !Гôœ+™Âr¬±8ÓŒM. §ÞÃqsìzŽl †¯[Ø mùaQÍ .Û\,·YRgI_°)PÌ ÕMPíÍŠQ¬„ØÒë]V™K¶TY¹xÇ.é‘ ƒ1,#XDeÐ’¡«@[£hhŒ”ÞTMV~Ÿ'_ÀH 1@7n5bÍ;”OV’'¥\av ¬N¹]`ç1áXçÑè&Ãqb,s1Ýâbº…7s󜎙­@¿BÕbœÖ%ΰÿ™ÅžÎlÖf6kQÌeD© ÑÒéévGl»gð„¶0 D®r:ý1wšoaúì¤Çd²N*ëÜ—ïðšò2¦ìcI–àQgNPZL².Z’ F%Ĭ‹“ˆ€‘`pžmó8¼É“ìÓ´…#¯pjKìú ¹žó˜ é6B.âÊ}ë’Mó’>—Äcàà]ÙŒ¯zëœÆ`mE*Ú&çÊ&‚–³0d#ç´Øå,ÙÅ/íõ ìÓVÏ"ŽêÓ7P ø0š<¬nä§É.žb3ÑZŒ•6¹MÝœS.9Ž8ŽÐ—1þ Æp°Áã«[T¥@³9¡NiäSÜjŽ_Ô˜¤]´(…H¢ª$ Q&— ÄòÿgïÍz$»²,½ïœsçÁ®Íææcx Œ “Lfv©ÔB ú ú±zÑ“ J]C“™I#‚Œmžîµ;ý`QL¤'•þçÍÜañu÷ÚkëìqX«€©p£W&­*¯"TU~|Ç„Æ$ ›Ûì”:•,²>ýf奸ޞ?t¾G7 ÒÌ Û˜ü8ý’ÎÿÀö2`{д+ÆG·ØnŒg…¸Vˆ'CÊ@'¾tI —xìRì5jš_]¹ydÞ´‰nÑ­AšDkñ®!]YìÞµ¹¼øH÷lËøbÊ“³+VÓ>‹›>n^°¼és_¹ÓNxPc ͤn4òÆ¢©ecÐA©é”šA£Ij2ß$J=êš:É–a¼àIò‰“øžHÙD§6{Ï!za³ôXú¬Ú=&Å);<"ßa?v¨¾p©Û{ʱK¸$ºƒMJ…BР“ã›;´ã’^³ä²óžpðI=áF]p­ ¾ô^ IDAT.ˆö‡u5„,à[pÛ{†Ö”aÊàbŠÝ1ÜÏ6Z•³ÛÜÝe4?+öo}ÊFcÿ…˪èbz ‰Ô³.ò]ˆ|»C›ì ^V´^VfEk#©ø<= @Åa‡«¢B§ ÚûìÝ]@¨Úèã sœáíi4Á¦ig6e¤!· æ>ÃÏvôª%±[‘wl¢qëðý-ÿum…ÏÕò”tS3yÝ ³É‚“Gá÷È#<òÈo”߬oåSrÁÿ4û±Ü„ž6§çÌé•3¬&a‘YÄCámÒÁ±??é·#Æö-ë Ù1)m“XX¸bÎHÝñ\¿ç¹qGßYÓ²vøuˆ_…,²ßíÿ†|o2Ž Ÿ¼e‘ ‹Ü°H„ÍzÙãáã ~|λ·/)¢œ2Ê)Ü&Ú²ÛJnµ»~‹›ê’ësí†3ÿšóá Û&ooOÙ¼?åừ°‡vd£9hGæXàohoiu·týë¨ÇfÝeý®Ëæ—.…§Sz:…§Óøå–˜AŠ3ް"j]‘V»* /LʵAq«Q¾Ñ)Ô஄4ƒ4‚d fCŽ|xeR]8ÌVáúˆ«U޵Îx!ßòÂyËޒçÍ/h›ˆí{Éý?:dÿÐGöKÌ?Ä´û1ƒ“=¢Ñ“€é݈p°¿ñH¶6éÎ"ÝZ*c ÍxÑ{Ë·—ßóê›×lµ[=`«ìD‹Ü×Á¬1z)ÞÅ·ÞÓ«—¿V4ma|Ì)?j„M %+º'KΞ^sùô=O:Wœ…w Â9vxvæ8nĉ{ÃÎvy~ÍOá׼ݽä§ðkδO<—ïx*æ” Iíâ•Vž"ÓÏÂï³èC~~å).Ï?$ÿ-7Å)ý`FßœÑoÏpG!·ù9“lD”ûKZÆŽSó–WÆk^?q¿>å—Å f? ¹úÓS¢Ô§4uJK£45båp«°1}>Úç»&ÊZDÂg_yØUzøt3t‚ÿ‡ð[Ö½_EŸ$”ºFfäÚ¡<'&ÏÄ+ÿ‰f+øÓ÷¼Ÿ¼àO“oÙ ‡¯ÇæëøOœW ˜1¯FÜæ˜iA³—4RQkŠÊÐ(ªšX8lT›™6 Å–âsò¦**\’-ü&ß;ÜìϘGÞE_0Ps¾9ÿ ß8á›ö_8éÝò—›ßñ—É×üxóŠ×“W¸UŒÓÙ㪘£Ñ-s‡¯v´Ô––ØQ¶töŸEßþw.yeR^?[+ã…‹þƒ q ²Â%K¢Oº¶Y¿í±2t¿Ý¢ÿþ=c}Æ7½Ÿø~ú>üòœ^Ã÷¯ÿÀ®i‘š‰a‘&M-(2E•ë‹« uOÒi»! KLê²\‡²AÅW ¶ ^íÞñ»è5©mœ˜$Ï RÛàGù5¯Å×Lä Wù%±p)}r¬Q5µ¿£»ä-‡DsH‰Ï)¤XfNïx‰Þ-0žd±ÉŸ—@®j¶«€ÛåÙAøý‹øÛ‚[FŒ¬ —½_¸¼xÛÚ£i%J•hªdhî5ö?úÌþÓqã°Ï]VnNÖ¦C2‰IHþ)¦~ó<]óÜZól´fDôYô¨?Ë?ENIF, VozÜ¿>emö°¾LqŒ¸EÓK¶M‹8??±­±ö)~Ñ«– Čܲ Û-ô£â`Ë.>Wy8wsŸlzÂtêófrŠÌJÂíÿßü׿ßyä‘Gyä¿¿YáV>aòWF乆(+Ì&¡"á±m²ÇZõ¾µ¡í®zt? öb§pêFQ…ŠüA’½¤@G¡¡Ph$…F–h‰F™hä•N¸¶™Ù×v›}“ñécûiYØg]vq›9-áXsÜfNiº”Ò'®|v™Ô¾ è3„¨!h(]ÄtÙ©+†Pyûø˜1 K!kl{íW(¿Ds tç`TnIå瘢j)ŒnŠÕ1z)z¿ ÏKæã•Í~íQ=hÈEƒ,jt;Gïì±ó9v6ÃÎfH#!öGìõûZ‘¥ª,Ñ›KKpÍψðµ_†´éapܸìÑÈi@jfFÛÍh·s2á’ölòžÆº°ÚÔ¥¢ŠU­aT9U­(¤AjXĶM&-J¥ÑH AÓKL=ÃaÏ«H1²‘5”™Ž´jZÁŽãá=v•`Ë”'G¹è}äIë#{Še$Êæš3æÍÓL0[1íî†~0'ÜtXšC´ ®ŒðÝ–¹¥#×ôê%µR„N@Úv(GÝlÍ‘}OËÞ ì‚R“äµFÒ˜ìk›é#‚‚ʇÔÓ±Ý=kÕ%&ŠŠV³£eni[kÚæš®µdcvª&¯MvY@Yè¸æWÛãØ1Ê.)mIi ö†C.u²Ê&K-Ê:üX÷8)BkðUÈÈžò4øÀfÔ&u-2Ï$u Ö^€Þ-1­ ¿ ±¢Œgå.Åòš3yK;èiIœ;1ޝ0óˆkõ”›4æú,>(†îçîçÁgǺãþ’Ž»¦ ×Kyr2!ˆ"žrGÑ1á™}ÆÐˆTE:´ÈkƒÒ×ÐFé/6©²É"›"Ò˜gCÞÅ/‰·7«3L3Å4S,3ÅQ1.ûÏŸÌa¨Šû¥G¼ò˜.ÁÊ2Ü:â2øÀ×^DGß0pç ÔœÁv†å¬ö=¦ûcVI¬°8Io9Mn8Ùßp¤8*g|©¿ÁõÎŒzö‚‘óÀ‘š0¬æXF†Þ/é6+.ZW¸åž ãcýÃH)”ŽÛ„ š)ÍG„^";¢[‘Ú&)™2QFIKn°ô„@ß ë•&‰ðˆm‡¬oRžk4‘ •í87®97®9Óo튕°¶Ú¬T›MÅ-ÄZPMÃ\–Ï!I4eW ˜óªýë2åÔ¸eÑî±z,Û]í¾ÒW+úò°?ð¬¸åB}â”[l‘ çÐAt¯›Õ&ŽÐï|‚tËÍôŒÛÙ9›Y¹®é<[sZ^sjâtt&J”¨P¢bG‹¢ˆZ@-XÈWÖn[§$çÐIÍÿZ¹i0¹ñúÉ—$ç¿ žPZ }ñÕå|±~ƒº¬Ð.K´~‰’ÑÚgwÓby=`wPÍ9‡:ƒÂÑÉ “¼´ÈJ½,é9+ÎÆ÷t«5z¯à^Œ¹g̽³ÑÛ$§&÷'#^Ÿ¼$s5¶ã!J.‚´Ï—Lº<Ü÷˜Üw™Ü÷0Ý‚þhG¼£¼£ò rÀR XÈx Gî„3ëgÆ'jŠ¢Êãûü[þ’þQTPVˆºDPJŸ\Óé‹9ߪŒeÓf¶YÞ·Y¼kSvRG°ëÙ,‹.°‰qH€†É–€››mp>å~zLôу·@P#ƒqR!ƒšìDc}ÖFëž’j=–tXÑe ¡DPSQ“!.3zÌ8fŠ-b”êPèmB³Í^wYoú\ÿ’&!óëý¼D?/ÐÎ t» ^×ìo¢ë†ýuC]–H}M·UÐÿvI?Øòtð‘ËîGNÄ=Õ^£½Ûál´EI5Q„r(,“= TÅÈ{`<°)[¬ç-6>›«µÒ­/„«J"þgñÿv =òÈ#<òÈo‚ß¼ð«P¤X„øJba“é&•èfJ«ÎéªC5áXÝqÁ'2Ídkõ°] ÑØç6õ½ÉvêsûçºÈQÔ(4j Ë! zDAŸ}àP)Xnmâm›Év„^X$G}’#ŸøÈ@ŽÆšWÆ4ÿÄŒÿÌOÎïøÞш!Ÿ‹mÓebç4Bj©m0ت#ŠÎBJ ¥¢6+rÓ ÒOž ¥hw7´­-íц Ù±Ó|"åj>¡ò–=Ó 0tr©S…ŠêVPÿ¥ÿ\#Uƒþ2Å~™`‘0æ¼?ñ*ü‰Wák¼õ–ïîbŒ{ØÝ»¬×6ÃçŸøòùOüñä'¾}ö†º-(Iå J©áz­ã=ÏD‰j•Ä®ÃfÜaÓï°6ÚH]tJ_£:ÈqI¤Zˆ}Cy¯‘ï,æùxïr·;Å_í8ñn9®ï8–7tÌÕ¯‚/ä@'ŒÂy‹ðS‹è:`¨My9|Ãåð/o›8i‚›%8Û˜8s™Ç\å—üôñmö=ybÐÒwœËŽÄ W93n ù––bk1ŽcW1mcK¯¿â¿bêöÙÉ_†è*¥‡>.ðP2'2ÝÏå‘M«Ðd©§hfEK®1dF%‘ø,üzŸ…_#h%;.›üïùcó2¨øèžóÉ<çJ#ë ‘ªA:qa´9ØPs~Ív'áÔ¸åÛ៸êsÕ¿àªwÎÇþÃdΓÝ5—ÛO<Ù}¢W®ð ñˆ°Dz°‹êV/øU&“fLú\?\`,s¢;ý½Gtç! rÅë#_ÿÌ×âÏì¤Ïš.kÑaC›mÓfWìê6»* -B«EøÄû`Sý—„Ô2ÛàádD|br{rD¯¿àÉàŠ'éG¾H?r–]“i`’©´¸Y_°üeÀä»c®¾{J9VèÈÐT†>Ì©,EZ:d¹Mš9´Ë-gÎ=ÏÞó;÷Gº+~´¾âµõŠÚ‚Ä2ˆ]ƒ{wDî*¦NŸ`¼¥ì¸8ûH+Ùrõúˆ7ߟSn.Xî+l;eØŸòä«—ßN)Z6WÑ3ÄÂÈ#wÊKë ¿×ÿÄXÝó±yÆÇêógÜ¥gyŠQ&uŠI‚'#|=d f\ê˜ÐãS8¦z8fóª^AÒìÎEhŸ?Æ‚Š†%=f UYF–³á•o@|Ù O*äóùeIh¬ü6™¯³RFL8ÁB1‚𒆄†—9=8áO¤R'Ô{,̵~Äf“‘%9³ëŒV†ÿÇ?–û“p“³ý¥`ý]Éæ»¿]rôrEÿå‚£—5ÇÝ 'ú=§Ú'âž8vi‡;œu‚¶¨¨¦ŠÐk‘[&[½ƒÕ$ô»3½ùÁ‚Ýq?bd#ÊÉíO1Ö}úB _J„'ßÉŸ‹î‘Gyä‘Gþà7+üt-Çq7èNŽkF˜ZŠ&J¤¨0´ ©Uhˆ¦ÁÉ÷XYŠžȼA¬$"Ö¡6AwÉ3‹2UD…((kêJ£©4šJ§#F²6&H­ Y(â{›ú®±†þÖm0Û{œg Ží Oœ[¾p>ñµóž¬nóP=Á«D%(+¢2Hk‹¸q¨L…êI\«¤ßKqö’*RTûCAƒòJK:EÒ¦ç- ¼ ÇÜqÌ=Kz¬è²¤‡ ¢h Šæ³±«ÑˆRµ­©g’üÖD¹%ÎË=AoKðÅ–“ã[.w7¼?ñ»ÝÞdÇ:ïs÷p‚³ˆ‘×9AgÅÉÅ5¯œŸøÛ£fîô˜Y}fZEÝÇ1‚ÎW¥´[;B£¦j9ì[5µÒ¨5‰Ö*±[{¡Ào›†j©‘OLŠÚdßòˆ Ÿ¦¨¤$Õ-¤Qã×[*py0>ÛË¢Ô'[ZlnºÌߎP^Mn}Ä<Îè  œÚºF­kˆiì°H†\¥—ü~Íu}~n*b`,8²§4B DEKlñÙl~ÝÉ—H‡Z 4³ eìp›%JL•cÈ)+ š,°DŠ##<±£B %*dS£5%zS`Ô9f“¡7Z]¢D)s|7¤×_UNÓžÔyQ¿ãËú'jJKU.³°Þ”ha‰JJdQ!«QÕˆ²F” ¢l0µ á6˜VF«½#é™ìz«^€ÓÛÓ‰V«;žÖ¿ðUñ·ÚS)E­IÍ&Ty­ƒl0³Ì(,µÖeUti AIªPQï$jWáE£xÊÓô¿Ïÿƒvĵ,ɤÉRöØ —…è1GÌäØp©<ª«Q5 Õ.Ñä¡s§d…´*òŽÁ¬;`ê °µT»`¤Mp´˜3í–½rÙK—½tØ —I|L¾0Y_÷¸ysN¹UX~ŒÕ±†12­©›Ã\œ¬kL2|;¢«ÖySÌØz-vžÇÖ÷È )j,îÄ1Œ8—×\XÝ`A¯\l6·Š­/Ø™5¾Ÿr:šrv9åüë)©×"œ¶XÌhUA]¨Ãßm"ºÕŠN¹æC-XÒãgùœ×êk±&`MPmÊ5º,ÄW‹ˆ…hX•fÜFnsÐ*ľB¤5²hUƒ Ä!8¥naá3-Žø˜_r·9%Y:$k—dk#ö ºÌ1ƒó<Áü]B#e­±©Û¬¶]ri >wÏL™³/u"åÙu»F6¦—àX!Úà‹O/°L åøÔ*(Ò‚}\ ÈiŸmHv6yfP¢‘dq¸'_äÔ÷)²Ì1ÎK\U´J<‡™Æ°/È3(¦ r“âæ;zjÎÐjSªÃº—$³I# Ï iJ0I ´-ÛÚÆJ|´M†˜–híî1OjÌß7ÈnþSpHqzä‘Gyä‘ß¿Yá×õ—¼¸üÃÌñƒCZ¢oì0Èøkø¼O\;”sÙÃûŸ»‡ îoOx¸=asÓ¡Þ(4»DV£“Sׂ<ÒÉ#"²À’˜Ç5æ8Æ8ŽddzH^”d+‰AÇŒèù ½î=ýaÃSócIe ¦FŸmã“× Uçøõ_Ûr®âL}â¢ù„‘æÙ>{é>‘ã¦Qæ‘b"‚Z ¨1Èð é°fÀœ“_m¯[*n}HJô«¿ŒXÒãÚ?çúøœì¥ƒæ”tO6·ï÷œÊ[Fæ«NH¥NQ„½€´ß¢ì· òÀ³Á0¡QÁN¶¸'ü"žò^\¢•ŽHpôÇNÈt“Öb‹Ï¶l‘ ƒFVi2§eí¨N4Êo4 [£^@u¤Si”#ƤºÅVk1•CLb2,’ÏE5rAŠC‡ë"ßãºs>,Ø…]my N}xŸ•ÇÏÉK®Öì|ÊPc~Ùç­|š¹Û¡Úª_«Þ©ƒe¶[#;5¢[Q’:Tq*±cl?0¶ï9¶À”ÄšÇ\p­s§NPªB—#9åˆ qê’$qì²NúxZŒ¦Oéj[.´:QÈ0[rY]3—¯iÙ!Çæ-¦‘²0:„Òã¦9åvvÊÝô”YyD\¸dº‰xR£_¤hv²*„ÝP’Y8ä!óŽyÇLÒ“õˆÉ݉3BÓ:jK__²8ž±S.±tH”C,¦ÕU Ò‚£äYÔº¤6$µ.©jE8$C‡äô°_QUèý«É±gžÓ6wÄæŠÌ´¢ÆÒRZ„tå‚]á™>‘ï#ò†–ÜæHÅM”„µÏ.ò w>™t˜µÇ¼m¿¢j+fíÁÁJ*vREMl:d-“r àLP›ŠbcÀk¨7 2è/èô×t+Úö¿‰Xåmþ¡ø[Ì*#× ”^óRÿ™ uÃRtYÊîáä¶!ٺ̷#®¶Ïiî (*žöœ3Åx9^· Ö5âÊ!K,Š­N3—dÙ¡{úZ|M*lÍÇü)Wú¶A i”t[K.ôO\TŸ¸ˆ®¨5¨µÃzˆOÚsÀ"³õ©.¬`G?ØóD{à‹üƒx‰RÅa V°Ï]š¹¤˜$3—hÖ"Ÿ˜ä…I5R½ÁÑ;žÑ æô´áÞg³n³Ý|.­ËƒÓ;§GiL­«Ó6yÚAW9å‹-ùÈ'q<”HÉ “ÂÓ©;9jp¼× qÝ®b<Ï1žç胂Rêxí’þÓ-V1Åò§ -ª K±èóË?ö¸‘9­tN+ÑÊfÈ´"J ¼àÿð7Ï Þ±´Øõ¶ýû®‹£b²ÂâarÂvÖaqÝf±íѦ<ü`O×Ýг6tõ †VðƒØrœ}ä‘Gyä‘ß¿iá÷Í“ï1µœ–¹%07Æ⯶%†,«>ùÜdöƧxm’ÿ`í|ÂÐ' [Ô¡Äh5X'ÎËçeNYkÄ sja#t°Nö¸' îÉU%DYÆ~UR}Òh¤N×Üqáí¸ìn¹íÔ–@m)Ì´>›Æ#oªÉñš-C1åB^ñ…|ËËæ ŽHHu‹LYd¦É¶ X”fÕ€y9`C@aêä¦NaèH*|v´YÓgÁˆéaF‡EE…«÷œwœ7\ä7Ü6§Ø^Nvì2-ŽQNIçdÃiçŽÆ;Žå-bɘÔÔÉ—¨ß"éµ(ûþÁ~ê9`€‚Bés'Nx#^ñø–ªT‡à½BwJ*¥È4 ¼4Ð(ðµÏ²\„˜fNy¬QZʼnF½‡Ì²¦Ec *S;?`Ê!‚ŠA¤AÎB~>7ƒsµϧð ¶£D‰²K”URÅý€åjÀî}‹r¦1W}èÔ¬›?{O¨–:å ¼Ö)¯uäq‰¼8,!—Ý’&S”+j¢SM4ŽÅ=_·D´ýö\Alx,ÌׯwÆ1}mÁ@›3s|"Òc&ƒdã2ÛŒ8¶&èfC×Úòļ¥ÜOˆ³kâÚ%–.•!AÍ¢ÕašŽ¸y8ånvÊýÃ)³rDõ9ôƒã½¢É)K„¨©żð&zÅÉ×ü°úšhí²Ç%‡29½Ñ’áxÆè¨‹´jÖ²ÃZtX‰Û: ,[Ȳ`XÞã7J¥¨ä¡²Æd=ì°Ùu©v’dïvIÚ%fS`Ïs"† É™GÜu‰ ¸pI“b§Q/%ÙÞb˜TÚ<Èc¬*eÝl´€mÐB%}Å¥þ‘ßWæÛèÏLÌ÷æwbÌ6fnX´zì‡}ªóËÙÓ ö\è|½¡/È ãð}”:inÑÌ$ÅÏ&ÉÏÑm@¥©C—w¨Áiƒ2>žp|äB»â!s3½ ¿¶Y\›l “¢k³éô¸ïœRU’½e±?±È] ÍÜSžúd#Äv‘òjSx:u["F5ÎqBw¼¢w<§7žSvUW£ì( ©Ók—œ>ÙpêÝqzþͪχuÀÇe?I²×0’fz¨À\3>Ù3>~àÅW¿à áÁ=æÞóàŽ™Z#ÒµEº±ÙÎÚ¤‹äÎ"ÞYÄX4- »2t7œY×\hר*áFl€“ßËï‘Gyä‘Gþ?ò›~moÍW?`Ô[Ú͆ Ù¢Êê (DŠZg¶³|ßgþOGLÿ1B4HQ#Dƒ&Kl;Ã;Íhý!Áÿ»„¼1·õ"»³¢Æ8qOb‚“5Z¶‡)ÔׂÌW°2hÛ 'Þ„—­^¶ï©PTB‘¡s/F¬ È„ŽžØÒ«§œ”7<­~áËê5ØR«Cç¤Q’lsË)7œqÃS†ìñˆpÙãQ#ñØÓ"$`C§Y³hMލŠFÇÉŽó¾Êßðmöï™{>÷Ggz…²*‚£ˆ#Êí#ÇÜ!ô¡7¤Âd'ZDÝiÏ?¿ ¾æ_…ß^ºLåˆâ)?ð 6 htš@È!k$5¢¨hÕ;Žª ¦vØùe¨Œ¬o u2¡S6™ÖˆšTÒä‚ÂÐÕa†3¯5 ‘cP ‹ƒQ4ˆ¤FîjÔ¢&Él’Õ wëSš@øÊ(~-QÔÔ•N½Õ¨o5¸nØ â§&÷ÍÝÊÈs›la‘¿·Éÿb¡Â]ÏÐ;z“QŠj«S=è”ï ž‹÷èýš~ųì ”DŽÏÊéóàóÀ¯9Ì¿ú¶ IDATÉÉ GL)SMØ#_Z,çC2ÇA95râ<`d9MMsx/Wn›iwÀd0d:p³:ávrÊýâ„ÉO',óÆ7)ÆqŠ~žb_DèE†,*ªB’¦ÓhÈ;õ‚*þþ¯ðï¨SI“© ÉÁ³sgÊü¼Ï|Ü£ò$“æˆisĤ9"mLt QÐcþ9ÌC£@§@#­mT^Òd‚<Ó©2…±/Ðö%*®QS0² »ÉðÔžÔÚ`hØ’©Ã ‰™>Äp2ªF5.’šž˜q&®x*>`G)Æ.§H 6÷]VÓë¦ÇÎö¹îž¡×§â–3qé¸Eа7]òÀ  ÔE‰ºÕ`*¨'Šf¢ÐOjjÉ‹áÏümýhFÉÿ-m~ª¿âŸóÿÀ2ð?hÿ;çÚ Oõ+¾Ò~%Xi]~®Ÿ³‘ªF5Õ©¯tª÷ãØœtfœ 6ü]ç5UOrÝ?á¦u–aê‘D6ÅZ§žAL则6:ÌQªiUˆÏe™ ýrÎEyÅï²ùûà/öïØÙIíð‰ V¢Oä¶ØZÔç>¦©è¶Îô)¯Ê_è%sÖM›•XË6M&)g:Ù{‹ø;—ýGN9Ô¨Ó w´g0šqéäKí5vš’-Vð“"¶⑇94Ž ±Äá<4¶¢n{”‡Ü´Ñ›ŠÊTàêU˜EŽ÷,¤û|ÅÑó GÏG$}Bá‘§UsêDüþdÊï‹\ýÑ÷ðöCŸß¿d2ñ C:ƒtƸÃï¾ãÉ—7|ùû·\|µæƒzÊu‰«v¨*gR³[LGL?Óì>?@€¶×еCNõ _ÈŸñDÈÿJøïvç=òÈ#<òÈ¿•߬ð«‘ää™Á~çq¿=Al¡Ée QŠVbšQäC“ðIV =sIßZ00çô­΋ë‹kcê1›¦Ã­ÆÝàŒ\褉FždD¿¤Ô¿$èiB¹ž ûG‰|UÃQ‹¥8ç͇ËèÙ¯Ö·©ÐõÙy>™gáx1åîgmšùf3IÏ\Ó$Ø`€{Hßë³@Rã²¢û¹ÊC—¦òøT_°«[¼¯žñ°ó°s¿ÉÀ!U6ɽMµ–4uC]5P×èINkµÃõRÜ?¦¸_%8O÷x£·‰°& “Ù˜Éâ˜ÉjÌt3¦íèg3zÕŒ¾˜£[%¢-#•¤íèT æmþÏÛ¿¥rw''ÔÇ5çÇW OøÄ“òŠ'å'zÍŠ}ã³·[ìz-BËÃ1C³!4Œ!E¡º>Qv°ûF¶Ë>pˆl‡½r˜«[«EâÛT…U¤ ý #ó¡|`PÍè¢Ôãûô¼Ož3SCè4<—ïhµ×¤…ERؤ…EZXt–ȳ’e·ËíÙÞ`¹é³\÷Ylúd™…&Ë_KȆR(*¡QIE#º,8w<•Ÿ0Ééo°•¼Û¼bµíµÂÀc×öÙŽh[mËH-±œÔtØ]t³@НØÓ+Öœä:ñ“’ »cô|Êd8fgµØ†>»×>ÑG°°è¦ÈNCÙÕÈ {sQ]Ñ·çÈèó}^bÌ ¼vHçä°BãÃÿHZ™¼›½âzzN4ó©I<¶YÛÜ»#\sÇC=d]vˆs²þ<çÖ©Ð.kð3RSçÖ=æ;ï÷$®A)óhÀ<ì3?`¾ê2»î²½Öȯcd½@ù Ð\Ù)éÈ5m¹¢S¯é$+Ë{êÕž·«>«åßpe<çÊxÎó”•Ñ'*ÒÔ¦È šž¤ñÕ@Pt™¯÷å˜ëÝ7ëS®7ç\oŸðP³·<8÷H;íö¥&a᳨úÜqLâY¸ãˆ‹ò Ç© …jWÈvl×$8¬ã›¸Ã&é k~rÔ̹”Ÿèë ºæ–£áŒ >±ì÷œV5ûï\>üøœ¤k‘v-’Þá|G´Øa‰¡7<ØÇܶÆlºåH]\hºÐ(ÒžÎÝ3“]J㌣rËŽ;Ñb/]L‘c89Z¯@%B/áN@-p/د=¦ó1ÚCIÚ³°7 ëø†S÷ßëÖ{ä‘Gyä‘¿}ᗛ컛€ÝM›2ÔéŸÍœÍ諞’»&»aÀüâ‘BÏ_òEë/[oyÕzƒu#ÇrX¢ô‚»æÃÏÈ1XÚÒ¹M~—ÓÜgdw)zœ`ufGâŸI W!ö-q‡ÍŸ_«ÃÓn[P;‡'ßjX!G%jTbÛ Õ>¶™½•üøS—·ââÕœ'¯æ<ñæxn†C‚bŽOH—ŒÑ)¨‘T"ª=²ÅÇò’:—ìî}vï=Â_WŸuÓB¾´¯4¤Qcµ2Z*Ä7"|bë)Ë´Ç2íÿzNIÛÝà¹1C}Ž„ØÏ¢/x²auYg]6i—â^§J š=Ôû†f˜lu—Œz ŽÎ ;K:Ά¶½¡Soñ&?;âõ"¡X™Ì6G´¢gé¡CûTþŒgÅèí ½ªÐõšxj²~h1èðîá‚ÔÐÑâͨ8~ÂÕcNÊûÏõ@Pîˆh:-6VÀ¶ëãh!ª 5‡mȦì0)˜GLʹn€]#ì!¶*`kÄžMÙÕ0óŒ±÷ÀÖO¼R?1ª'¬óë´Çõþ QÜ¢%7 Ï;où›æ?±©Ú­º >È bÙî²ÑâÐa{ßf{Õa{Õ&M¤VÿZB5ÔRR+A-%¦–sá|â̹çÂùĉyÏjÑa½èòvñ’¿_üwd®EÚ2È|“Ì78±ïxaþÌÐ\pfÞãz › Ë¤5ÆÐ ^²§·_q¼Ÿ0N'ÍŽ£Î„ËöGfù€«Å®—\}¸d¹> PÏjʧqÇÆs÷xÃ=}kŽ×ßã®cœUгJpV ™n±ìuYš]~Ù½`¹é±¸0¿Ý{ öÃÊmó0a˜ “lĪè²Ï<ÊÌ8ˆáN‰æ¨Ó’LÓ¹ÕǤ†Î­~L¹Õ§>áôêMM¢¹d?“ó=ÂLÐV#0]ß͸,®xR|âIqÅqzÇzª³þ¨ñöªÏß1ÂopCwÏÙѧÃìª]¢ÙºU²Œ{|*.¹Ê/I–6:%­&d$g\Ÿ8õn92§¬GŸXmVû.“‡#&÷GLFL&#Êg:Å3u8- ÇH±T† ¹¦³´ûÜùÇlºÅHWÓS‚a“v|îO»ýs¦ú†vbÜ*Ǻ›£õs”^ [%u-a×À½¢‰ûµËd~Dò`3o Ñü’uò¿À£ð{ä‘Gyä7ÊoVøU(r ¢ÜãnqÊí‡sn~¼ ]Ú|³ÿŽŠyÚyÏ“ÁB¯Íl0ÆJPÐëýöÞ«¹±ìLÓ}Öö h2“iʨŒ¤vó»û'Ì9Ý*µJª,—ž ¼ÙÞ­¹@ª4}.§'FQqøD¼±x ¹øâ3ï’gÝ7ü·ÞÿËïþ 7¥²¥-¨tÁž’5 –V›Ëà„u¥’¿ÍÈÞ¦ÈoŒ0¥ó/*c•ÖïTœ3“õË‹—]6:ln#›òÓš@SÐ~´ -çtœ9îžx³«?¶Yý…QkÁ×ÙÂShŸÅ¸ä8Ä4Ø£R‘`£QR#H±ñ˜×=EyÞc‘v©o%õP#©ÿ(Y}ÝdS7Øvìu—ȰÈþZñ Ie4}=TjÚÕ’§Õ+2ÅD·r|mGf›ã×Wï–àãsú«ñcE ¶œóžªRIt“X±ˆ ‹Ø²Ðò'ËpÊ'I¹Ytù··Ÿ0ûî3–/\W>Þ^Å5¼‘Ä)muÉP=´C¶ª5oóç¹Ál7d¹4w©àê1=gFÙÔð¼=ͳ »j‰; ¾+)Þêì'>é\HXÖˆ…DXþ¿,Ÿ^ñì·xüÉ5ýíâ Ý‚`ºÅ›Å “Ùjˆ²©ñÃÇé ŸW?ð;ñGÚÖ»™ak¶—qQò‡›ßòúî”ÿóïØ«.çæçƒ NªKÎŒúÕ‚A¹ Ÿ,pò„Õdkû¬­€µÕÀ{$’½p˜ÐçFó®zÊÛúœwõ9R‡Èõ \µØšMïPñs‹˜acʧæÏü7åÿaXOøcñO\'gü9üš×ñ'üÞÿ¿÷¿á™ÿŠß5¾aÆ€)Cîåá\(]VJ‡¥Òa¡tØG>ñ]ƒè'èÏ Ê¥†„ÁÇ–D oîyÒ¾à¤sË?·¿á+ÿ/üÛì_øÃ´Ã«É þ}òÏ”¶†tÅ/úÒýŽ»Àr Ž;íI5ÂW÷è^€—Ft¶kÆë)ò †Á”¸mµlVj‹?}û{ª:ó‡ä?8ìhA‡Íã€3ç‚®5ç¬ó'ò=ÝpEs»§¹ÛÓÜî¹ÍŽù7ù/¼­ŸòÇý?s¹=£ºR©.Tª+'‹‰]›U¿Å]5DZÓbÀºj%Uh¢¹5j»Âp3 '!7rÄ GH U¡S„&Å“â¥Iu[Rï÷Èýžz¿Gkgè¡‚…‚ë*tÚOÂw|}ÇWÙw5*ÑE>Õ‘Ÿ®@vrUS¡lªä ´0¸+G¼Þ¾àO÷ÿÀûùSª­B]©Ô–røý¶8TüJ~©øíòCÅO‘moIÇYÒ®hW+l*h"ÃT2nç'˜ëŒ$³˜.GhE‰/ö õ­+žjoˆ-‹¸i›ë²ÉŸ÷¿#^Ù¼ÿö ï¿yŠüÉá{‘#ÐD ¢&×4BÝaoûÜùG+~´4hºà;àKR¿æÖ/™ú%ªQâ”1GÊGêGò޶X¢;9ºV úbP ì4ê;@ˆâµK:·™û§F¸%nÿ_½çxàxàÿ$¿ZãJËꌸt™&C–û.»u“juز¨&v™à³Ç‘1f¡Õ”P+ •©Pxi['ÎUvK‹]d³,îõiCÒòïù¬ñ’žë³õ%Û fÛö–…Ûé!'þž¦[q­ì©òŒí¶&™ tC wz ô±@·CªmLô:…› å>Å]¸vÎɳ‚^gËññŠF+£ÒuB¼ÿe‰‰ø%·Î&eÀ=z] l%ñÊ…µB´hÀ«. ˜•°+‰c“ep[ÄŽYÙa¹ì×%åd…MBÓŒ ‚˜@Khª!^¾¥ÞhÜ%'Ü+›8ÀPrÆíZö¿Øî]^­^P”:øòo!á>˜$X2Áªc‚j‹” …f°4ÛLkƒk{Àöˆ¥eò¤Kºˆïh%ºV¦Ph&[ÑbrÄê¾C|ïRÞkDG.Ëã6·òÕÉ©t•H8Ä7P¦®…ÝŽ9>º¦_Ï©]`PÀ¶@lr\cÏÙù-gƒ[Μ;ÆLiè{|{Q§H)Ái}44Q£‹‹‡™6ó€û{›üÞfrßg–ö©[­Ï¶XV†qZ‘4<¦å˜|ã2߸Ýo ö;Ì8çB9ãB=ãN³UÛ(džÅÎ ˜5†Ìâ>7á1wûcVaO ±­%}{Áؾ%ßšw%ÕÁþ6 ÏtVu‡«ì ?Þ1 Füœ|ÊeòˆyÜ#,<ŠÂ@­%¶Hié;6a‡"4Ù„mîÂcu› MÖølh­\²‰M–Zä¾A%t¨8D[`ÈœÀÛ¸oCÇY2Vï‰àfzLq¯óãâ3>,s¿°Ûø8ZŒoli´öxý=Cy‡ÌànqÄŸ²ß³ñš¼^¼`Ò- Àd1æõr‡¾¬™—}ìQtPÑuW4Ó=v™¢‰ŠZU(en#ß)”šÎÂíc™ª •eg·—w8uŠ%R:Ú’qÍš™°äšM'`›~¬„eP¡5 +Ç1}AfZ¨UÏŽLä‘AdÒ âGQ¡R¡`-3üj‡çG4…ÄiMœJ¢TR: êÀD-5Ê+“0U¹O‡¼O#´T²‹›L÷M„i1>Úóò=ë]Îv'Ùìt6;'+iˆß ñ[sŠ»Û±\6øKñ)Idóãæ9×Û1ëM‹dkAX¾€} Eè)_Aé((]¨Œ’h]³Jå…Øu=ÁÖsXym,5G'Gÿ8é9ßö¹[ŒØN|ŠkA]*̵o½'8ˆ¹ìR …RS( …H³¹µX8]ö®Oáš4í5¾!PKz´¢D©*ÊÌäF9e¿ñYíºD¡Gk(HT½Dó]8’*S¨î5ÒKƒRX^ŽÚ¨‘žBä4˜G]6q‹4v‘Š9Ͱ”ó$ÇÔ3ŒV~ôQÃaÕ\› ów¼ùxàxàŸ_­ñÛÉÃ\[VXlóÛÔ' ´°BM*ô¢À¬SlbÌ2;døÅ5„g:aí°RšÜ›=ö[»«€ÉEÀÝE@Ñ01«gô­%;»Áe«ÏÕ¨Gñ¤O™š£KF­§æ=¹F)7¤ÙžeCc( ^ àž ÜOä6¤^î/Bv«œ®Ü2R׌zF£5­^Œ{–ã °Uvø$ؤX$Ø”hù FLèV ÊÎî:`v9‚ ®€k Û dN‚Î’€kÆhHÖ…Ã4ôØ/ Ê»{\µä4˜q^ÏybÍp­’uÑb·¸ÉOˆ¥ƒid˜fÊ£à=F+G½­ÙN}þrû%?Ü~§À©<¨#î8•—œVW4‹=©4Y©mîí÷ú€ëæˆ÷Þ1Sû˜TSGùNÀ”¯yZ“Ù[»Í½u„¥¥¬¯Û¬¯Z„W ¸‚è¹Ë¬ìSZ Û^ƒJ*dÒ$«-òÚÀVRÚÁš‘2¥¬±Ã‘”Å%–’Ðï®èuVôÅŠÖn‹*K4½¢hjänƒpj“ú¥­ÌŸB‘ð1ÿlúLnÆÜ½:fòzÌ>óÈ]e$xôìæ0gÚ6ˆ:>Û²Çû¹À^§8«{ m+–yûo*Ú„GM–ã>ÎQŒ3ŽÙ/l&ëI‹tâÐÒ·t[+Î[|Òú™,´Ð. ýà1û0dŸ6¸Ûa «y·1©Ž¸«Æl«$(¹D)j´ªF¯+ò‰Íæ®ÃíÝ)¯î>cSz$èÄÄèäB£TU EAŽÅaî+ä°#SÉ8òï8ï¿ãIÿ=#orØ–¸¶øaþ9߬ÿ‘ÛpÌm8f±ï"CßÝrì_s|rÅøüc[ ¯.¦øpý„µ0 ™ö‡lû-p¹xL¶°™ÎË[ÎV—œEœø=V˜£×%ŠUCj©’/LjÊ΢5  L6A›Ûà„óêybc%ƒd+"NÍ+«¢gθrNy¯œóÎ:§ T¢ÒA?-±z)®Ò„&ð¬zÏóÓÕéú ÝªI!uj¡ A-Zì8®ox4¼äQÿQå̪€YÙdV5ÙTMri’•é«ÙÏj aÝä¶:¡[/°ä«¹æ¹¿äËOÞòázËû«ŒwW‚}äÐÐvœZSμ)§ÁCæä …ùuÀíM›Í&`Zœ2)FD… Y aa aŠ9Ч£˜êPG}¤P-2âEA5/ 5ë‡s`i8Gš!ù«½Õ¨ØÏ\fÓ.óÛ.饊R nÝt%Ë¢K[¬P(T(””BáÆ>eÒöp"èö×l>4ÎùIù„ëæ1+¯ÍÒêm¤tÉ÷PÞ ÑZ²ñÛ¨ͯP¬šâ­~Ðù¢Ü¡°lz>·ùˆZªJ£¬5ªJc,n5'œø”ŸèÉ9¢ªuRÕèUWÅxU‚WÅXûœÌ2HmƒÔ2ˆu›¨c“ù•­‚&3O ¿„_ïö>nóòû¯xùï_ ïn8z~Ë㯮¡7ù)7E›â”Õ¼‹:¯Pg5ê¼B,$ùV§Øä;b¯£~ZTW¨Šò^;<ïW‡çnX%ÝÑšóÑ¿ý…8qH>¸Ìß°ÞgÌ£>wË1ËY‡7“ç¨~E¦š¤ªE¦Y‡%¨¥D«%†¬)Þ[¬îrýó?ÿôQnPQþ¢º¯#ÏT䙂<>¼Ì8¼9X2eìßòÅð%ÿxö §Áß½þ’—ó/x9ý‚ß}öË☴°…À[N›—|~üŸþ=ËË.o§Ïx¿~»×ÏXm²¾IÚ3Éú‡°ìlî0™ùqž1S~¿ÿ#jQ1SÜrö‹ñSíZPÉCDB¹Öï$ùÀb3ê  ô£’P4±²’A¾ Ï ZÆšSûо5ã3ÿ'®•cþàüU 2ôˆ+½S`wRvHK¬ñô¡:¥°tŠÊà§õ§¨ëŠÝû€ì½C^HõðÞ‘ªÀi§œ oøzø-ÿ0üÕ-x'ó^œñN<ænk³yå[“ì]ƒxâªMnÕS -Ç5"¾}Ë—£?óÉè-_}˼L0 ØG6—7m|õžSë _y¯ùªõšhëòóüœŸ¿?çç?žs?’>™Ñ$3 †(‡(‚(-A91Q-mh¢=ש¢œhQþ¹Bþ¹F}ì£|ÚF:¨ja«@pøP¤œ ò‰J~­]¨¡rÓ±8îñªø“‹øÐ@Œªl­6› Å~à#NÝþŠçÁ[þÉúÿ$þÀ«âJË,2IŽÙΛTKr¥Rm4 /ÃŽâµö¥&ŠÈKAñG“ìJ'û¤c‡õ¸ƒÚ©©îUʉF9ÕSëóŒÎKNίÿ暎³¤¥¯iikZú]üÁ™Ÿü]î¼xàø¯ò«5~ÙJ°~©ÂN ¬+%ÁîxVŒt v‰Æíµ‡Vv¸¹n²ºvˆ§:¬ î8,ö]®¢Sô$cš7x_õyOŸKµO_]3T3re…¦”(f†Ý,±G5P':Ò·IË&ëYŒí´M¼õ)J4Y©Ô‘BµR)§ ùmIz­’\*„ AY ð´ccPSé5µ^"ENU¦ä$Ò ÀDJ/÷rKW®°ã˜æf‰3[¢ß®àrYyµSC5†Zá()ž ¡’X™†žhˆH‡*D”1BÉVºJžD+—Íe‹Mܦª¯p­˜£Î”3ý©å2uˆ|‡I{€l dC"m&øÅ–ö~I3ÙÒHCbËâÖ³j¶‰š¸¯cŽjºBRÃ"²l¢Ì&šXd{u(P¥Je+¨Å®±1n«BíׇH/C7st‘!jy¨Då‘ÃH›0²'ôìm{I ­ù§T ¥„H!Š=â¨A«ÄªE¢fŽBÓáºuÌjÔ"{l E9ò1$}‹u#`ª ¹“c®«®ŠS.²GfŽc†ô[÷XÇÚ <ÄìsÔ°B¦‚X8èäµAYê‡-©)‡ ÚD\#r‰¨%B©‘¥@Æ r+3Õ‘ØvŠßØÓM—ärÏМ2 &Œ†w¤©Ié«”¾Æ¾Ñ,5%P6XjJC éÕsHóMŸªßðzú‚ËÉ#¦wG¬îº¤©2ƒ:…:ê ÜÎW,q%ÂäŠAnd¶AÀ–ÆÉ{¡2„_¡l+”ÝÇ3,ÑêC d-²BäàHŠR'^:l7MQIqÄ%gì5¡K0%ªÑÕ5«P«Cp„* ÔV‰âÕ`I½¦áíu§œ+ï(vÿ¦Ð¥Ôt…_ZT›bG¯XÐ*ÖxyÈÀ»ÇP³Ã|ž™âé{ì"FOsµ‚¤ÔÛ¯+©R–:Ya’ç&Yn¢F’f¶ã¸º¡²WDšC¬9DºshA­uÒÔ"Ü{hJAÖp(=&j `Çr³GŸK’mLªX¤ŠÅNñ™ë=ÚæŠµ`lÏØ;²Nc#ªñêû8EmÖ‡,Ò¥Ãnç³NÚ,è1µ‡Ìí²2©ŠŒ ´:Ás\}ÛZ`y{ÊOÙkPu”-l ÔÎ7< IDAT¹Aøkhl.KEBÓ(Tû°h “ƒ¨Ê’:«¨Ã Y Â{ƒðÚßÀí΂v§ÆQö4ìíð»!ÙÉ‚¼¶8k_ÒVÖ¨ÛšèƒÇ>óÙÇMö‘Ï>ö)BsŸÒÐR¬nŠÙJ°º Vc6êJSPè©â€"¨U•RƒZTFM]VTaJ=«‘—õÑŽªÈÈmÈûŠ-ñDD_Ìs‹E‚«$·;ïxàþ«üjŸ¼N)ÿu&ÀÐlGÁþBà*erÚ$>âÕu®·§\o»¬6r û Á]0¦li¬[m¶¥Å,ðY=õ)ÍE`²³è§Ü˜C´kzÔR`ÛÕ^!L=Þ¯Þ¹8»›Ë€›UÀ–Ùl’e ûk…º$…äjGüaG:SeI¢x̵>††g7虇Œ7K&4‹Mö´ä–D:ÄÒ)ª5Aµ¡Y‡ˆ°ÄØîÑvK”Ýì;¶2X`š`:x¹â™òçÕ[–•ŠV·HeÀBdŠÎ\kóÁ˜fM³yŸ>b¶è‘\Ú(ëKÉð­=ÝæŠ‘=cîÌé<^Xkg[ª±B=y ÑÂæòæ”êFåþf€ê—ätòÇ:=sNÏžcô+ôg:ÉÐâj?þÈlÛ4‡5j·D J¯¤öT*G£¶5*Küí±à‚aæ´œ5ã£kž}ÒÄ’±årÕl ”3ÕA½j‡xŒŸÂOùyÿ —ë3.Ó3f¢O娇 ³R@©B¡Ñ`Ë©¸çT™rªLÑìšõ `Õj±> ZÖÎXw|^·Ï™[m–Ç- =æIû5Áù‚µl±‘-Ö2`-[ÔŠ`¦ô¨¯æw6›€»Å˜¹Ú£86ŽD9*Q*”£ÏÚÓæôâýhη<é} ß»Ã襾 ÕXò¬ýó!²aÉÕúô Í)ÉÚ¦RUˆ{`wèøPm’&V?¡Yî0½ æeÿíê&s»ÇÏê'$;››ò˜EÞà¾çSØM:O tÃdíñ*ôY¼|BT9Lë.˳tM¬uE5I)'ÕTÁÌ#Ž:Wœv®8í^Ò¬X=°:°nØ(ìÞë“¶½À>^ v¨Ã;”¡ƒÚwØMÖ´~Q¼3ȼšÌ”djMª0-A­aÚmAç|Σó<6>0rï¨=º¯S ÚÓPR‰È$o/žòîÕ97ñ1—ñÓdHëØVL/˜ÑëÎèÏ0»)ruÿ0››EÇ 9sQ£Ñ—è£}”aŒ2ô #/RòMFn¦äUFœW,2…*î±Û”µ‰­dôÅKÉiæÄ•ÿ›7Ý<ðÀüŸãWküê«”ò_稘ÏÁ! ^€¯Sn^;|x=&¿hÕ'„²KT; ! |Ê@gÝjsÙzD^«¤Nb”c¼a°ï§ÌžU£ê;¿AmÓ)7 û —ðî O¨oÂÐ$ "LdÓ Ë º¤ÁVƒr·¤Ü)”ÛY&ÄŠËBS¸0«Ï±±dTOUS‚r‡[LJÖE©QJ*QfeŽYdd{}¢nã·k€Ù³}0~–‹ëÖ O•ü®þ–»Ê&­™Ëct,Ra³P[¼7ÄçhqI;¬ã6ó¬GšZÜìŽùËü+T?Céf(ç9 £Þ˜¬gMæ3“êEaiä}•âL…¾Šµ+ÉÿRC]QßW˜Ùš£Æ_<ú™ß>ÿ‰³ó)½G\vqÑ̸Uj‚Þœ–=£5žÑúrŽaI4tG Ù‚¹Òç†cn£sÌzå}Üú[*P¥:Ü×°p­ HéÄ3ïøªÿÏÞ 4$ªÅ“ˆžàíÅ3Þ^<åÍÅSÞ^j²ˆFÜQy*†›b˜)Æ(EoÅó&¢ÑfθwËÑьѣ Ã'!{'fí¤8jŽ^”ØVIéh kºJ‘çhy‰–èñ¡’—›*…¡P˜*fÓ&nAÔ•ÄHƒ,oo|²Yecô·¸gk‚dIWÌ1¬C/Ñ%Z^3] H ƒ›û1úé+òÌ„úðg F•âÛúý)§O.°û1{ìh°§ZVÄŽÇ®ÕB-Jð%J«Fm—¨~n唣Rö6£-Ò3‰ë6ÑÖ¥¾éѵ{Ü+æjÀBõ©DEžäØæßùî{àxàÿM~½Æïã°Ž@þ²MΠÆD¢££b¢ ƒb‚Û„ž]º2è–@ v/¦Ùß⛇J’¡åˆ¼"‹,îŠc„&‘ÞaſҨ±Ô”´‘£ J”}0$šY ›šY i%ŵNy£S^ë± mÚ5´u ?c§—p]o ¬VF·ív,ÊŽJ€µÚd£äè´Ô -eCKlQªm¬a ¯í<óhšMsBÓ˜Ð4áñÑããk¬~Bl:$-ŸúÜGǧÑñ1M‹Þ³ˆáIÄЉ›²mŸz¬·ÙÀbó¼Éõ阠ÿ‚Ô×¹5 CÍpOöq®ç7aã P!•t¯³¸h£h%ÉÎbsÔb×j’µ­C¸´/Ø8-b³A©¸Héå&aTS¯+²YŶL±Š«H°‹w´;œ {ߨáû;üÖžX:Ü'}îWfiŸ0·‘y}PQ“©ËÖ€U«CÔò ©â›ûC+ª9£­-YV–«Ãiø+z­%‚KÎZªÁ¦°>n±±[d•Im(Ô{•É»#p@ñ«ƒš:˼Ï.n’ï ”mMÓÜÐj® ú+Zæ ¯â!žºÇCRÍ"êyD¥K仸ayÁ‡åÝä©…Ýac·YÛ*_§ÑÙÑên9ëÜÐj¬9®n9ªïpõºˆ Õ*Ѓ s˜Ðçô>ªÏXo›ÜïzÜoûL·}òžÃöi‹ûÓƒS4¯ä}ñ„÷«'¼Ÿ=a–õ)c2Ò(c ³Êé¶×ȶ†ÝÎh·68J†¢ 2Åa«¶Áã(ǪRÔÖ‚lo'îA [K¶§ ã[†ÕÍxƒ>)ØMü0ùœ·éSœQŒ{áŒb,?£œëT7ÕµNqkòfýŒ·ë§Ì7=äZ@RBšÿM¥„JZ@¥ÏrÖo,´¬Gv¯ · "ÅG*5­ã]»æ¤ÉIïŠëš±¼ÅÑSú΂'Á%‹¼›E¨«Šw“s¦ÙgÌ;ï ·Þ1‰çâ„)ƒúžá`Æàëj£b÷Ìc7pÙÙu­å.wÙ1aÖÄÉHílM»ú_+ßq§11FL¬wDà ©SžÉ7<-Þ0͆XIA[¬Âe®SÝhЉÌJJ/ÝÑë^Óûú†v¾ÄÔDí®Z¼\¨LS§Ï40·»„fƒÙbnõh”u…¸«“ƒ*_¥騣’ñÑ-GNã>ÏAËØŸ˜Lf]&÷=&³.:+J.iaò‚½0”Sæ˜ZFÉ+å)·UŸ]f!£ámè€xT!ŸC5R(L °HQ)i°Ç¬s’Üeµ[c7 El¬]jG!7tä^E´œ¯¬±J¡Ûääw1ÅbÅV)y§4ÊÖJ…KÄdö’'Áßã¾{àxàÿ:¿bã'ò¯«>FT4LT,ˆÆÁøu8ÑáŒÃB”ƒñ»;‰ésFÝŽÜ[JtVQ›ÕªÃzÕ¦RUœ^ˆÓqÍKK1þjü*‰$ºWb6,/Á03Òm2ÝFÆ‚â^‡ŽOðD‡' ²(c7ËÈ®rv³ ;ˆ?m=3©L…Ì6Xª-®µc®õcbÅæT¹áDÜ`*9 Q¢kØ ÷™C4kKŽÔƒÆê’VcMÐØ`5þ?Ưíã=óAôZ;†­ÇΜº0ˆÛë³z]í=Ö'×'cÔ~ÆÆ÷HT›D³ÐÕŒ÷¤˜¤XdX¤˜¨”ÔLŸÀ Ýé,>´H¶6ó÷}Vg]ÒOlêOZ¯@ilܱáSª.µtÈ2A*¤k…ýL ¥%ZRδD¿/Ч9ú}1-ðÇZ/Ö/V´NW¤¹Í|Õg~Ýg~Ý#^ZȤ€¸ 4’G>ÉY“äQQ«4½S®yª¿áT\ð~÷”w×ψ/dŒQEÿdų“÷|eý© ¶MŸí³íûÌö&›#î6c&›1¡ê¢ŽJÔQª—Ô¦ Ê|¢¨A¶3QvÍþ†±Íiÿ‚“þº!P·´´ A¼%R¶=Ÿ­ï³{Ô`wã²{góa2â»wOˆö©Þ Ó|R­×Nxñägoxñä5gGxZHCÛãé!Ò:,KQƒ­Ê0Ê„~1áyñšgÅžo¸YóÓòSX(¬}ò¦Ëö´ÅôtÈÅðTx¿xÂûÕ9çÌ—}ê•òQ78}tƒ|¤â<ÊèÈ Ž–¢h‚\³Ùêm3Â>Úâ·v4žm‰o=V:ð²…‰MÌp0åEôšå˜uÊÝõˆÉ#&/GD{ÿ7;ü/vøÎÛMˆç ¢W ¢ïD?4X§-Vi›uÚ¢N(3(¨b(£ÃçFRZ©«Ì$öY¾ °æããqIëlIóhË©sɉsʼn}ÍI}Í@›“:$CŠËíí˜Û嘷·O¹»;bå´Y7ÖA@¸´¬gÚ ŸàóãP‚Š«á1׃c®¬c–u›8sÙ‡M®C 3)xT_ð¸¾à‘¼` f|¯ý†—æ¶Î¤Ñ0÷©^ð†ßâ"{D™š,ãZXRKA)têT¡\é4[Æ–Ï»|vô’@[q«žq§œñº:cºÅ.¡íÙ.±c³öZ¸^ˆ£„¸Æžzõ[¨^ ª 9ÜÑûÍš®\1ìÜã»;œqˆ«ïqú!›S“ï_ù^?f3ÏVT\Ò&ÃcÊ£C~¦r¨¼_ˆnë>ÛÜFÆ9´k”cxñQ£Ù•T]AaêH)ãh×)›¬Í}4BßæÈ… XHE¡P 4ÍÆpTÌ–Š1V1…øÚ&¾’Èë„òzŦ(y'š¬ÄÞˆ9Óû[ž<ÿ;^{<ðÀ<ð_àWnü$HùËš~µ¨P µÖ853ß9TüNtx L€;`}8m%¡Ý[pR_qî¾f_ød™ÁtyÄôêˆL1èÖ3«Æm†^Žæ”¨­!kDS¢u ¬v‚ÛÞc{šò1>bòJ¡î êsù¥Mý…¤¸È)Ö)á$…oRÍ‹¼ÉÖõˆlh«ÌÔ>xÄÏâ¡âQh:z]°ÅVSh™è¦c¸4MžrÏ3ù†g¼ApXäQ åÐ¥·)¼ê8À‘>:¥b ö)÷H¡°iµ™Wl;f—úD]‡iw@ÑSX4ZíÝÁæuYü§¬Á ”šJƒ\SH •"2‰î¢{PI&.†šãBšbƒé&ìí&‰Õ Ô¤b“:Y¨ÃR‡‰~˜ÍJ@üõ¼p)‡¯ýÏÖ´½í' ÚÁ‚,2Ye=V“Ë»$×ì2ا°OVؘˆÂ@Ø®ŸÓR7œš×|VÿÈgâ{´¨&¼÷¹}{Bö½…¾­è²â±sÉ×½—¨’­ï±5ùv¼¡lèÄÚá†ÐtØ>kÛgë4xkñýô7ûS~|ó”Õ¤‹Ÿ;ã|{APíyê¾çÓÆHç0®' Èl©JT­ÀRcB¸CcÆàxNk8gÿå={ܰÏ-ûÜqÐÜ" …tA*…¦Ãÿõð?1ݹ¾:âÿþÓ!±]Tš®@µÎ8cÿpÂçû?ò·‡¿CëU´ÝÏ0¼œÌ2Hj‡eÚg¾é³Xô‘±¢¯/hk¾Ö¿çùl™‘èsa)\=e æœ4×|^þˆ^6LË=.Š%V™!3ÕêÈ |hÁÙ–Ïö¯ùÛÓïi‡+þÏew«.ß/Í¿®~–7ˆL!2…–5¬ëCæèFN5ƒê£Fõêï4ŽÏ®1슽Ñ{Å={ºû+º½Ó%³}›Fß²Œs.V%ÝGÉæs‡© ,•cª³)˜WmfE›mfÑ$šU¡ïƒüè f;Ch5µ&ɰ)s‹Ÿ=« “ n´ËÌT AU»iº5hZCø¼…ÿº&|U±ù;¶¨iæ1Å·)Û¶M‹Ë&D©3P`ÛÿÇä&÷Ì3Ï<óÌ3ÿ®ü‚_œPç ñCÃì§šÚl°÷ËÉî@ž¿ ãÁÈ‚‘ } »iŠ?OH6S¡É)jdÕ ¥ b£`&ÉÛ6Qê!ë6²¬ÙÎÒK›ê“ŽX*ÌÓ÷4!4ׄÁÙ{@?oªAv–í.³~—yÙc~Õ£šë -ØÓà+m0âòè nË U¬UÅm¶Ïm:æ6Û'W&zKQµLâ–OÏŸq¡Ÿr¯I¥ƒA¹Ë-¬S‚:¦]oÙj>+Ùf!;Ìe—ûÍ·Ü>0Ÿ ä†f ±úíþÛÈÈm#¬µ5Órˆh5¿£!Æ#Çzêæ«Ð©~þß4¸$Øí”Áù#u¹{Æ)V¢h•†(ÁšƒÓkŽük³kêZãVDxíãDÍÜ /ÙVð¾†e† @ Z ´&¸û î‹÷1A?*‘Ÿ—Èý’Ät)”E³/0òœÀ^c¿ÐQiI“V¨´Â0KüãÁqNpœÑío8÷ÞñÂùÀÐxÀ v+Å:Ì0«Ý-Ãm\#: HhÔHJ r,òÒ¤Úê4u£Puƒ  €È4”'ht åîL€¦¶_Ð2#úÍ‚ýtJ¾²™,ø´<'_9Xn†ÝJp‚„vkË^=c>è°üªËÊíÒ^ä´ªœ Þ­Ý`Íþù„ê\ãíø%.šU#¬ͪQº`®uqµ˜7â-¡Zn7°\l^²Ø¸Zðnù†‡ÕÞ®BÒ†µ2ií¡J…CŠ¡—¼p.8ñ¯Q]¹û €=0š’ÁÙ”òLòÃè3ný}~¨¾à§âó¤‡*¹´Ùhm4©(¤…}_ÐÎÖ Z Œ—ßv– mÅyB Çç×8qÎrÖ& MÒ¹EúO&³wÕL`1½/+½õî õô&@#Ù"Ù¢³%ߘ¤sŸda‘.pLU@4UÔ?5$©BRÝ$1-òW&|n#ÁÑÁþoŒßSòÁ®9d—¦ÉIƒVÕh©B¬Ì Ñ4òE”ú¨´¢&™ûd6õwñÐ`f9žÓî¯èk´»+Úçk:íí³5‹¼+^ó®xÍú²C•š 5ØÓ¡ey#.‡ikÀ ¯ëšÍC‹Í}‹õC€ª >3ˆÏ<v‡¶½d!;,´©fÿlü¼"!(bÚå–Xؘm.ÍS>È3¦ë!‹‹‹{,Þv‘VCóZb½)­5ÝÞÝ®ikkœ[fuŸ…ÝaiµY˜Ö´¨§ãôN»:_ö³üöÿ|‹ßÚâŸn1·2-™k§„ý]µ&ÌÖl³€¶ˆpÃýXÓ„²„m Ë ÞWh/ú¹ÀƒþRÐÙ_Ћçô¢½hNÑ6‰†ñÐ#²< iÒì L+CU4±FSª'-Sö:SöÃÇÝÚz`¬9ì IDATdÜ32ïS\‘`‡;ãg8ú(Gz%Zð”' íÉø™äØ¥IéÔ3ºi ªQ}Es Ó ;ãç h „¦°‚œ–ÑW ÆéË3&c>ÝŸqqÿ‚qpÇY÷#gÝìg÷TµÎbÐeéÎYõhÒ5ã|Ê8{dœOñÌ”dÏ!Ù³y»ÿŠ¢£cè%†^¢ËÝjˆ—„7¼åWê{æ›>ó»ï^2¿ë3‹Ì’ŠÄ )ëVˆJIåÐ×fŒõ{öíkÆþaµ°”PIÉj²…ü0ül—{¸Ýgšì1ÛöPA^Û¬ë6Ec±©Cò;NòKNÂKN^^av Ò±IÚ6¹1…=È9~yÃýùƒÁEvÈÅüˆ·‡Ìê§[âtcœ/×8íŠ I…Ný´š$˜DXD˜ÄD·‹&‹÷’¢ö°­ŒÁ˘ƒó;Îï0½„ùÂa¾tX|²YãÐyãÒ{í±gúl;®žƒž#M…ÑÔ£ cÿ–ìÐÄøUÊÍUŸ›‹ÚE—dÚa[×|j÷ˆ‡×Å£jÎ^uϨ¼ç¨ü@_aÞ×dï=¦Ú#´á5»¢e”Ë®Œ¹U» ë˜7]ÞÙ/Y·>T'X^<¬°[1oN`=ë0™Œ™ÜÉ'6ªÔBR:™c’¹Ô)MÆVÈ¢ k?rl]qb]²¯ßrsÑåæºÃÍE—Åǽ֒ýî#Çg3Ž~óˆ;È1†ú°¦´ ¢ªÅ:í°Y·Ù,:lb‡m ±}­¡kôôнá†ÑpÍ(ÜÖ“‡!w?Ž˜¿m1yÛ#ŸJò©F>U¨:£Í/¸ä3.ùŒO¤Ÿ»Oܽ;àâýÙÆÆ»œG]T”†ÉÂë²t{Äž¿Û.š¿H“OÙö„—ú;^‰·óÌ3Ï<óÌ/“_¸ñ;¡Î!žB’Ârô@ šu.àH삲KñòÍ_*~6»ŠŸ¥þß¿ú/?1SÔR’o-T¦(kQ6s›â“MõŽv¥0Í·ž­hv¯9 ¯9:Ýõ}{ý[´+Åê²ËÅÕK:x:Œx¹.©=àÆ®‘ªF¬¡¹ÒhÞj4?iyAïLßä`DËYS!w[!ÿRñ+SZYD;ÛpgYr¥ðñ ³môÂ#ùgäw.¾£‰é„ã5{ý{B{ÍØ¹%Åe!:¼/y/ÎÙŸÿçkõTQi³¢Ã——„Qûƒà–ƒÓ[ê[¼$Aú¶Aß6»jªh¢AËî‹mã¶Kt¥kÀM75ܤˆE†fô±†ÌsA—cuÃasÍasÃJv¸“criÈ…abXÆ Çib„‚ZíB·k¥á‰„#ížsùžWÚ{޵+|ãá‰Kä8­ÓI1†9zY U‰F Ùý<ÕSísWñ³(·ò/ƯlP‡Šf³3~(Ò5WCµwfËÏ Œˆ~³d?™r±:çþ~Ì¿\þwù·üªýGD¤çÚõ-lX z,Ϭý†*y¿çuüž7ñ;¤jøcë þ|ÎOÁK®Ý,ñÔ})rçÆ8 ^?p¬ßðºûý®äwþ Ñ­Á»?™=ú ÿfE8Jè}±¢ÿÛ5%%&%ÆÓcä——„ù Ù )*õÌÅöjç1g¿½ã³ßþ€.cÞþÃͧë͇‘á²ûDÒ©! …ÙT¥¼ cãCÏèêSZÿº‡VŒI.ÇòB¿`{ÛBÿSIVŲ́ZPi;ã—:&†o’:•£Ñx Yt­§Ö¾2¿çµö–?¾;¢¹9fñOÇo`=eÿo>ñùé%_ýÍ%¢¥±Õ¶2 ’>ù€ËôŒ«Í)W³3âÆÃíop[ÜÁ†0\²'—ɇò–v¾¢œÂìÏ-’ßL~×GÕ%ª®PU‰j2ÚLyÁ;þŠ?ð·ü»Íÿparñû—¼ÿ‡7L§C„!… Í©¤>ÕhNå®â§ž>?Bª]ÅϾç¥üÀ7üIov{Lp^b×û_\„”‡íÇÎÓ†aü‡îrÏ<óÌ3Ï<óïÉ/×ø¹t „Õ`v ŒnÙ)ÐÚe ŠJPN Üv£ÚL( (M4Õ T6hÐú u_° &Õ1mˆ<îïl¦å¬Aéõ¬¡œIšGa5T+¨7*ÎPqM¶*Ø>Ìï:ð êL’eÛÔg–µ™$DRqh]Áä¦Mãi4ž@y©æ5Û&`›P |{‹¿·Åg‹Ýdˆã:Íî•û¨L 2™@äŠ{¹O c,­D™ï«s.Ö/¸0¯”¯‰éX_ìûºgsšÆƒ="+,¢G¼öˆÖÛ2`Õn¡·KöÛü BÔ@-vkÚÒR[µ!P[¬2G•:ÓbŸUÙÅkXA.HS—$vIEÞe^÷ðݘ/¬h·æ¬ ‡•n³Öm¶®ƒ²ÍFP}MiKzÔ4è$¾Ë*ì‡6ZØ  ÍZ£X™”+sWl+D»A¶ ·zê”OÓH-,•Ó !”Âh*ÚbÅ¡qËZ¾¥¶$oªŸ8(o«ZU#”ÀQ­&BU‚T¸$]êÜD¤ ³¦Où™A56(ƒRšä8•M^8Ô©divùdŸÐªÖTJãÊ<¡ †ý)¿©þ…÷ˆ¬áöfŸœü–M;àjpÄåà˜é`Ÿ–±¥(m4Ž‘!«VΖu—ûf¼‹¨Ð LQâÈÙjÐ[52¨‘­šÓBëÔôög¼(ß‘EcR(“B»œFM£z…ͪér·:äÝrƒµ¬X5¼A„?ˆð‚ˆ*ÔÉK‹då=lÊ£ª1«ÏL0ökŠG“"¶(–ùÔbc†ÜcÞ¯°[Õ£äÓÝ—­#.ƒ#Ð@ÄElÇ-ôMÁûôÓ`Ÿô<@;’¸ŸtNVì'øS–I‡eÜ%‹]Öq›Æ‘^…æÆØ^A{¸¡>›"3…'S'eøùÿ$†ž å¾Gù¢Eµm“Í]f5—žQtˆ´Õš6BmMèlXF‡ùÓú`wXé©Ðiª£‰qdƒke¸þ–®?G³J¶¦Ç1Fw*Ã6Õ 7‹hW/ n{cþ }Ã2êð}ö5ŸÊ3–uç髤PjB¬ÒÇd€•äÈеI9˜~Îàå–È©Éd5æ»?ƒy›óVÿœ;ý€XP†¤À"‘k+d®÷X»=’N—b¯CsÔ&öSfYÄÕM‚i¦(Û "$&Ü­ªEUC»žcú•m u+´N… +?ŦBCPc)‡¼r( —"q©"/\áµ#¼ö ·½fo¼[0}èóÝ?¾a³ío Z­¯¿ø3ÝќͦÅöIYd¢3 Ø6`˜ `(K°õîý}Þû¯Ð¼†Y0‹fÛ€Y$XýØ_+òeCS5ìÞ‰ªÿž»Þ3Ï<óÌ3Ïüâ—küàT ½g?!Øßà·AJ´D Øþ$(×*êj*m¿Fßßõ„éã’ÚÒXÉu¡³¸í‘ß,oV÷>å¬Bõ£€©Fó ÁnhVM’¢ªŒ¦)Hb…˜Ù7#Ö^ŸÇù€«Å!­ù’`±ÂêT˜ýŠ£þ'ÎßÓ8’Ú”T¦NmIæeŸ›èˆÛèˆ25Q ;ŒƒÎnðôˆÙ Ç¼ßcnuYÅ!,µÝ¨ú•†XÕ)i::qÇcô¸]p¹cÿåû'Ú­%Þ8¦ë\Ç4ù ËÛÕEÈòCH¶µÎ#‚ó˜£ó+%6ÑáAŒiÆ‚êLRžéH§F*ÊO&Å“ò£‰ ó<Çz‘cê9Ò­©ÐIpY²X£”ÀT~¡«Š. NÅ'¤VÓaÁA=áT]Ó­èe •«4mï¡i ¹×àh)í½%3zDûþNŸHˆTȶ ibrc1Õ‡üÙþœMðQb»9v?ã¥ùŽ_µ¿§˜d&—“CÞÎ^°B==–ã.£`ÊJ»%‘•Ô™¢œZ¤Sí´ÍjÓCÊ]VH½Æ2sĉ <1‰O<–­ià"LJöÝÁŒ¨ ˆ”ÏVíòТÄ'ÚúD“€è­Ï&êði{F9ÜGìYƯoÙ÷î[·˜­ŒÕ¤E4ñÉïÔ£ÕÏú‚þ– ¿%R›y›Í6¤¼6X«Î rÇâÖ9 ±s«ÍÂl3·Ú ÊCîÊC~Ê?GŠŠûVŸû^ø¬ƒÕ†à ¥°bÜpÊ5b£ØÞ·Hï]¦÷ûT}cTìEèvMl0Ž*BsÍxt‹nÔø{[¬QFê8¤´ˆ÷{U¦Õ£Þ„,z>»#6õ×Ó =kþ¤]kÁRßõÓ.d—…h3ÅbŠÁƒ pdDßZ3ðaM7Lpô˜•Þâý M 19“Î^Dg-ÉÚ&ŸÂVz›ïÖ_s›pW0×z`ý嵂0„^“--fתk‹åU]Ô4-–ì}q‹.jªHr=;bv9 R:ííÛvHÓÖIjŸ¹ÖçÖ<S1iYŽH·c`ÄV®SÈþ,yxg¡„INHA‹œ;¬éîm8Þ›ÑÙÛ » ±ë{±áR£¡SQ¡áS`²%$% ÂC`ôköÎ×ìß2zq‹Qí"*~ºyÁ‡wgH¤+èLé¿|d½érõé„ëOÇT—Y$a“‚Š ŠÀ/ÁóVݲXX=>Z/‰mŸ[ëˆè®&º­‰o¢»šø’ÛštRÒ»7·ÏÆï™gžyæ™_.¿\ãç§ìB´OcÚ/–tÏqÜ óoÜ òw‚äT”e€ Ð~S£KÌQ†ù댦,—m‹j©Q]BuÛP>4”³ed435ÕáÞ§†eŒŠT¹D4)IÜ"ŸµØ\·ÂC¿ÉЯSôëy“ñæWïùü7?q~ôÏ_¿C÷+JaPh&¥fpµ=ÁmbÊØà1@ƒö”WŸø¼ó'oÍ[ñ†RèLÄÉæêNƒ; q͉$VA+÷€Õ²Ël9`öiÈöcHËß28˜ñæä-_ŽÿˆÝNYYmVv›+ë˜ù¬Ãô®Çãw=¦ÿØ£~|ñŸßòo9ì]ñêà«*1ó+-±ÒÝP Y寧juß–_p¹xÁûùgü~ñW¸aÌÙÑ^¸ˆ]‡²2ø´xÁÇì%‹sT&øÊúޝïøjïôüÿäÿ5¢­±ì¸š4 ¦P?ülú¤¨ÐEýyŠÆ8N‚=NP[AþÉ!û½CüO>BSxë)kìQ†6l~6~+ÚªüÙô5DojºÚ)j:bɉö‰–ÑeM§^#Ë M)4-Áµ¸2ÃÝKhï-Ùãž™ì2·ûÌ­ÞNe9 M¡“'.éÆåÁ²ö>V'8$|ã~ÏWæyÕ~Ç×õ÷|øñŒ?L¾äíÍ ¾ÿã—,½.å™E¹²)cú’¥Û%ösz<^™ýiH51Ùþ1dsß&Ï&ù?d9½ÎŒÏü?óæð SÒ g¬.Câ;ü;›æùUIËÜ0<~`ðâùz€ö¡¦Œ ¢›€u’ëwÆËÈQBQ" &êCÕªFk7Ô_ ª3AõÀzÓ²3úÎ’{©º`»iqw{´ë—ûiŽwQ•­#5^šk´QƒöFÑh•¥S™:©å°R-âq—¼Õ£9íS']æÕM¥¸®ö´dÞ3 ï:†ÎKÑa):,D‡%"*br"rjrlÑ·6œxΠvRá°wbDfØä¦E¾gáf[´¼$Ë<.²²Ì%[¹d‰M^YdÂFYÍR³Ùõ(ë5yd3»´XþKù­"hoé~3£»?£ûÅ ¬þÔåæòˆÕ]¶«ù‘Iqh‘Y ‰æ³0ûnA.L‚Ëñˆ”=T0bs£“ÝHn-Ì “†Ö“BNgôÿê‘£ð#_uÄ;L™È=&rŸ{¹ÏšÖ“ñ“ÄxìY·ÉžŒ¦կ¿^ñê?ßòò?¿åñC‡ëïö¸~·ÏõöèW¼þæ¯_~âõ7Ÿˆ“ïÛˆJÌV–[¶)D+˜,ÀÈ ÛƒÐ5i ‡…Ù%¶|níCL;§þ´ þaNõÜúÇõFQç uVÑùÓÆSóKÞ6Ÿyæ™gžùÿ7¿Ø¬Ó^pøæ;¬VFx´¤}¼$sZZĨyd!f,õ kºi.qé±Ý¶˜Š!½zɰzdV÷YÕ!óM—i6â¶9äR?e#B(4ØJ˜IVU‡{gŸ û]g‰\ÜŸñ0ÛÛè#{×Ïú$)k²bMY™4€0ž=Aeƒ*u)) “²4©Rƒj­ÓÌ%ÅÌ¢(-¶PBl¹´Ê]÷XvJåJ¤_ã¶bÚ῵ÅSô°„Pa÷R:£%ò°Á›Æ¤[—¬²‰+—yÕ£´äNºVÑh%h%š¦=… Ä!Èc…<‚ª´ˆ‹€Å¶Ï$™Ý Y^wÙ\†$Ÿ<"°6;Ì­ÛÞŧ8V‚ë¤Xí)¥ý,Q(Vy;­‘‘F“XJ4„$O¿[)4,Öl’›,d“µØ¤!ù$§Ì +ET[PÑP¬jÒ‹Š*’¬ô6+Ùf¥·wq(u¨jD]?õ·hµD×$¦¥¡B…©Ý=–¥Ç5bØ Z5¨wˆ1iƒº2(3‰Œ"¬¥À}ÌQB°YéÌ¢€ÇlÄ6ëÀŠÝNPƒ™æèY…-2|7¦®PŽÄè*àN;¤%"ªÂ`µí°Š:¬¶]ï;L®:<\9d—–¾Á*fxrAè­èTk‚ëöÍýz ¨hœÝ%4IƒA‰E†K‚ãe£ˆZ>R…mw…ÓI;6wƘ¼²˜¤c&é“dÌ|Õ#Ò\¢žGñÊÅ'È3 c 0­£.Yˆ¹Ùc¡õY˜=êF£iäÓªq¹<â}yÂã2 ¼*Q)Ì;bï€$s^M¸°×Ðs‘ICÞ\§lo|"rÛBYp^°ß¿ÝEJŒâ¥B,÷×]L®zL¢õ¼&—C^QÞià*Õ F%æ0# ·Ýpzø‰öG†ÕºV¡kR+•"™:\óöÓ9ÉCÙ²¨ZehS¶, *LUa4%¦ªÛ±JáIEc‘˜R«KjvÐCèíÍéïÏ9ÜŸàx±ð‰=Ÿdà³¶B®8æª:âr~ÌÍü€Y2àmò†˜vAW_Е zú;ÈÙûlO|¶¡O®LVQ›Ëå ¢eÈåòœÉ§1w—cV÷𥠵\æfŸ(kW´ºëz+ZÚ–V³%¨W´š-ÑÖ§¸6X^˜WCØTè{ ú¨Á5ƒaV¤–ÍŒÛÌ#}tI§.éƒK6u)ç6õÚ¡ö Ô›‚Tï0+RÔû”hš =ÄqI\—Äq)4 ‘ää*#®ÙÜÓfx£‚™Ýç±3`vÐg¶ê£ †@_¡,E0ÔP§:$PV‚m)áƒN65Qš`›èlsI9²{½· aºæ@»åMø–óÑ;"#`ë·ˆ´€­Û"± í*’Eú¥"­|Rj2R%káñîqÌr^˜ Ž-8±ÇàÚñÏq0:Hè Ô_èh^s’Ð=™#O*¢Ç­vÀ´=d}Ú'mBTÛ%Ö7aM“ù,ß iˆjŸæF îrÅæÖ`sg°¾ ©b ö<8váÈD;l´9i_r^qì_ÑD4fL=ŒhÞÄÄu‡ˆ9C¶¬©0yÿ¿FìÆØ>óÌ3Ï<óÌ/_¬ñ;ê\ò¿üêC饭S9:•­Ó°)¦H±:ê¸áÛj,Ó$N[\MöhæUQO"Ê?E¸o ü/K†aÅp¿$¶¸÷÷Pd’ÏXj°0Pkг¡§CÏEö]Â~ÂaÁ‹þ%­ ë/È—™i’K9àN‹0)‰ Ÿéféléã›k“ä¢"ùX‘_ÄhæSÎñüíÞ’N½Å¿\bÿ°Dþ°€Ë´Z»3HË€´Ý};9 ¦W¢Ë=¬5º^¡Û™½3~Û¢Å$=à~5æ~=fµnS ²§SJ·©ÐŽ$zOaYF] —[ã€Æ9yA©vÇ·ZéTJ²¸i1/CfˀꪤÊ4检xí0M‡8~Žë§8NBwðˆŒjò›O§üôð2iïß0Þ¿å$¼`o0AÛkyƒö¤·ÿzÌÖ1ytÌôRQÎ%*k(' éŸ4´C|¥Ð^–/SÂÑŠ÷–7Î[¾¶¿ç º¥”»1ÿ¥Ð‰+—õô„ëøø/§|úãÍÀ¢š4ƒ4S!õMoÐt…˜Ep·†Ûêܤ6ºTOê b¾úì{?›ðB¿äPÞPj•gPé[ÏçÛõÂZçDë€ëõ1óU—å·:àûÕW¤®Ã¶å…>Å‘è™P› âÜã*;f‘uù#jE$}¶z@Ôñwpÿ6½Öá)œý„n{Áع㟠ßîiâ’ó¬Ï|1`>0¿Þ»”sƒ27¨ }gÈ*v— ¨– qwÏ$ Í¢ÐMd¿Âw· ƈ´&÷,2Ï"umV„Œ: )û{ö¿œðp¿Ï»»7Tw:Ë».™nÁ@ü,#(è˜ Ž+NÌK<+æÞqŒPþ…겎ÚD-nnOÐnÉG2qI&.j¡‘âR+I”L×{´tgôä#½–…f(:õŠ^½ä¨¾!l–×-n¾ßÃü.…E…ü¦Ä’%öA‰5¬¨”$U6‘ò¨sêѤú`R½7¨Þ›(­¡±TP£ YR3_VD+–5Bƒ*Ôwjë4ZëV1¬\QÓýjÊþ×7¼Ýr8šqÑ9ã¢8Ã(NÉ ƒÊ–4ŽFãKCø5ÔiâÝôÙòQ°]I²:«¥ Rìþ¾»’r @²Ë|’,jB}øuÇ냟ø¦ù–̰É|‡Ì±É›u×c}ä±Ê|֙ǦÉYÓ°A±òX¿sY¾óö}ˆcdôÓW9ýN†ßOžŒß.TèŠz¨£¹5ÖaJ¯‘~ô+¢À#•aŸÕi,l¡NâËíÆg¹óišãñ®ô`è;¡_~ ~©z|> IDAT6É¢½‹Î9Ò᥎<©:S>s~ä?9ßòkû_©ÍŠjXS½ª©Êš¥ê3cÉŒ536Ø<ücüße¿{æ™gžyæ™~±ÆÏõÆG·TOOSáju­ãY^«À#Gӆ˄þ*¢³^ÑZÏ©²Œ*N©—)U^¢´ }/Çi2Âv†nÀFkcê š©ƒf@Ò@VÃC‰V6èAî7' ÞIE×Îè:1{E»žã7]¡‹´’RÓˆÅîà;eÀ*ïp·:änrÈíÕépµ†ë5Ü­ÐÜcža­SÜ8ÅÓcìÇó*FþÃûF %Œ$è¤MVSçP—:¨KfØFŠÐ¡‘µ¦QâÕ›.‘ã]¥0 Ö»°yµ$d/"JKR™¡¡«š¼²)r‡,¶)66EbRäUc€Emî"$ÖH(\½Sá§[¨²¨‘I–”;M4ô»ó>Åš¦Ø«kQa®KŒM…Ü6•CVY¤¥KZ:ȉB»WÈ…õXи’Jש¥ò%e!(ØN€Oì¢úÿd¦ <Ô Tf†Þ^ì?Ð?¸e‰…‡e†H³ÒLDc@j r ­TH»‚‘†ÐA9MS“/ÅRM@DPad`Ô‰¤¹Óhf yXa­rÜ,!`K o¦ÚÍ6ÑjȽa³‡P.M-¨*¨*EQ7TB£¸ÕI+›l®×:r¨aî¨Ä±†Yb™)ž™a%"ÕÚ=¯… (w)ye‘/,ÖyÀš€Ì5idCÙXdK‡ÅÜ@]tüÇÁ'üpCûåC/©4‹T…lKIì;¨}A3ÐhB áWXvN`oèÛ3Æö-•¯QII©KJ)±´SÛbk:®h(„‰ÛÉþÃ÷ºgžyæ™gžù÷âkünÅÿ»ö_POyj•Ø…57•D.ô…¼Q0š :étíæ¦Õ…Ge¡0ËžéÆø,rA€a4;þ}÷nvÜmÇÌ߸ïs˜—PÜ#ª5²Ù¡©äX2œÕÈU…¸.ß0×!Ò¡öÀ× ›BÐÛC;¾t ˆãUYÛ=´d;r·bT?${˜ûcu”¹Ì:1áiDxÑ›Fø$í±L[¯k,•3±[Œ­9#gÁÀ_ÑúðÁ¹b£…äÂAÒr©®·ÌÅ Lx`B)LŒP ž7˜ªÂ탴˜Ok¬«+¨1C«ÐeMŽC£k”¡8o°Í=1ÈB‡™FÝè,wcNõ§Ú§úŒ‘¾Æm*,%Ñp²GØM˜ŽœŽî™çðLçðEŸÃÉ€ƒÝÇ̶³.?Ì^°½ ðã˜2´(»6e×"µ<æõ˜Åɘæï,:—)UjP'UjP]—ȳã4EvòRà‚“=ÁÓ5ÁzŽ(%¥Ì(´ŒR¦¸NMÒsy<'Kl¾¹þù±íDPF&o¢Ïx³ÿŒMÔ?~Mãè§B bÚ"Μ·ˆÓšcõ‡ò*¸EÂD=0VŒÕœšlÒZCgå XùÖ~Ÿ½×¡±$ 9†VÅEëŽ`謶Bôõµ£“Zu ÕªT¢m‚m€cÒt5Ïccõ¹ÓNÉ[“}²CöI—CÚ_W6ý’¾W 7-ÛûõÎÃý„M>dÖ\°nT¶Õ)é[:ÞŽŽ³ÃoØËŒxáòvñ«*0Nk‚iDÿtƒ¶4¾A3Ñi¤N˜Ü§Ì‡SSîûS”ÿi­ñ“œ“œawÉSëš—ê‚hK;k¹¾ó~6ä°ñ™åçì{ÞߥLÛ%«Ñd:ÕŸ4òW¥²)•IÝê(¥á41~\Æøg1YærH:âñ" Þë° ŽSXpœÌžRASW=·u’³š¼ý¶GY\r{Ýa΄9æbbZË£55ZS§µ4 ½ÆÖ ´Ó¤0ˆ—âK Ç9r¼AŽKÚÚ#]¹d÷.™éÒ­ìñA>Á‘)…4èŠýˆ=yk³n†Ü4OxÛG4ˆŒD¤$"¡jl’Üáuñœ·ñsäAý§•ºf©±-zlËÛ¢w\ápœüt?]ObÚ NÄ´FÐú:tÀU)§ö-ŸÛ?ð¹ý='â3k0ò#¯)[‹wݧ¼í>å]÷)ýsêL²ÈƬ£!¯²–AoÅ \2+†öÝ©Q}Aíè})lò- AC{0@ºà¹ài4ÔsY[}¤Vµ>Q­CöËxà"üá_ð½ÕFgóºÇß'TßÄV@<ìrv©^7¦l9ñî˜:3Œ4'šDßy̾ “†«Ÿ}äê7<ñ>rÒ@'‘´ÉwßóÝàçÔ}‡Þäüp\U ÀéeŒº+žXøyû-ìKÞ_O¹þvÊûoOؤ=Ô¹…º°qÏS¦þ‚íÏaæ‘¿ñIiÑH“F uœó‚ÁÅšñÅãóv³‹W'°€ìµKëÇû¶åhüþý÷<á8Ý Ò¶u•³žëTEŸåƒÛ=ù”€é’ Hˆi=<åé(ÏÅ>)±§îY‚sš`È qU Ò‘J¤hÑÝ Í+Ñ܈&rØÞõØýOëº6[ÑçZ^QI•ìq)n¸ä)Zzl)Z›u=亼â»êgD›.ÕùMÚ;zAÉËó{>ÿâÏheÊûûSÞÝòñ»Emá~¹çì‹’Pn8Ölµ>J“Dz—[yNµ·¨>šT,ÊÕ.¡:ÄTQL{8  —ã˜QBíÿ<Æ ™+dÛ¢[Î(#°÷”ö-É2 ^´ "²Y^i,½>?ÈÏhK&×i2&×é;kÆÁ#X²@£þŸó€{ä‘Gyä‘ÿøÉ¿cþYü#’ýS膮jDÉ: ýè“þàS½¶¸rÞsùâ=WŸàòïH[£Ì¢{ ¡õhh)(H(€œºµH+—27Q‰€C qqÉ Ý\òÀ™¹àóΣnÎ÷Õ—,îÌþ<åõoŸ£Ú-¨OjwP'P¥PP´)X4¨›^•šˆžè鈮†¨N@c:”Ê¢¨tªZ§n4Z%A( D#²Ô«ªµC¼é ¶'ð±‚ïrøCÌÏ*¦ú=Ö(cüâ_O¹«OqË-/0›†xà©ý–_vþÈ4¼ãµ|A$_0“§ÌÅ ?k¿eÒ>pÎ-_µß!iHqX¨ñ1Òè^qq O ÄáSlÈŽPíhÐØÐgCŸ ‡JšH_aû6u£'vñˆ$éPLL»¦ßlx¦Þ£©£ChXº‰mÛ 5OŸløÕ/>ð_~õ5ÅÈä;ǰ Ç!‹LÖ³Í]6ÿßû¨+ ueBb"*‰{ãžpÏŽeäBÖ´Ëšªªá®FL$²ÒÐl‰>”øÝ”‘q)×<ÕÐDËž„Hر‰,>NYÜœ°XŸ°¿ ášÿЩŽZH…!+”-PCAHÔT &ê˜ØØoÝ¥ÒÇscžÄÖsFϺoø«Îïy*ßcïJì}…½+ÉK‡0Ü õJ²žÅÖëpXvÙ}i—âÃóæ5B(zÆ–Ž…o‘w,ra" ý¤ªVÈÒFÉe] z¹k³Óº4À̺ÄQ—xÕápß%[zÐ l=Çðj‚:b»íqxßaõõ€õ? ({6ê¥Fkè´c‰aæž±ñÀ¥v¨Êå‹×î~wB»ŒXâ… W—ø²ýÝlÐŒc1=-H§%vî¼3„×"íá)¤ß"½ß¸N;ž6ïN¸ýqÀïþíKõQ1üYÊðgá¸@U’ìMõ£FüG4ã“tÐ%Öß—tOöLÆs.}cfT3“CÜA¾o!åXã*ð@ Ñ1Rˆ©Bˆ¢±NÁ?À6áiì£.êz€BCµ-´ê“Dè z5¢²§!_*L;Ç=è„Ìn‰ „B M€.* RtQS-LTJß$6½OõjqÎNÜÉ’ÖC(E œ´s…Ï2q“_ðªxI¼ ·>x/éy{‚—OÆkþæå{D‘g￳ø“ÏfpQÞÓÚ5ÉŽéù‚ký ŠLº¬Ä2²©îlÊ-ª?Û¨õ vùqób·r°L°<0”*¨\ÐÖtV8Ý”@é´ð­¢^hä͵Ś­ïó~|5m¥ÓÆ:í^§4žïø¢ý[O9s?€'~<òÈ#ü„ùÉ¿K~%~KUÄÛ€xëoÒGqïP6ÍTGÙ‚äÌgåŒ!ƒtæ²ZvYîCâ< U. cÖLXqŠ\ó™Û§ÌƒSʾM‰ãŠ–Í_Î7µh4Ÿâ *½¥™hðh¢Å7¨H§Ýû¨HÒF.)›yŠüCJ±ÏHî}V߇Äw6M!0œ{’a_5XW-aoAª7¼Ùõi¾~ŽùþÝÞÝÙl¤Þà ¼QŠ?JpG)ÉÈ'vI¨‰ïj¡`ÿélb[S9&ü£ñÊ-âµ¢¸ÞÓ¾¹%æ=ï{çT!Œû;’K6pé·tˆsqK_®±ÛüØ}¶†bÕ’®jâUEÝ•è#‰1´ÐGŽ‘á´9µä¢½ÅlKm@ÜúÄ­O¡¬ÿÔ‰\´wõ÷ò”;ç”1`¯|ÞÕÏÐ ›hÀ¶íÓŒtžýì]/bÆhJ5ÖqšŒ¦‘LÎWôÿ˽¬é_íH:¾‰þНŸ!Ó™´Èôh°^e_ð*ûœU>De’®ØÓ÷×ôíƒpÍÐXb“q›_ðåÿy.¹ëõѾ´xæ.bh!ûßY[6Ñ}ÀAø”Ï}ðÍc­F$à àP“®-Öׄߒ+—ým—ÕbLÜ4¡f ¢¶…¤Áô |‘âyþ(Åñ#Ls…Ñ_b^®`²£Çž;zDM—vYÑ.kÔêøÁ„×ÉÎøW{‚«ˆNE«ršw9ûû< ØHßAø6Ò‘hfƒfÖhVCI¢Â#®e“¢Ú††œšŠIª\î÷Sä¢]ÈÍî)Òs^'OX¦uz@«+ôF ýçaÔ¬Ü!ßnFñ' •Vü8?çFžŸ^ÀPƒ‹ô]° ¤jè1厗¼¢:ÛvÀ¶²)lS U[ ;`·Ç0+aƒ‚á‚¡Q&{rŸŸRí ¬yN¹d‡4rI×6É캤¾ÞÀ2‚íXËSjÇ›óPÁ¬„ núx‰ûdIÆÁ]#ÂæñŒß#<òÈ#?]~²Æo,üFü+qp»¼äöý‡÷=âE—ZÔÒ ™j´‚$ôÀ“f.ëÛ!ÉÒ$‰L’ÜD) —ŒKžñÏøÀA1ì†ÂwØô†${ |qìïÓþ}©TûK.]e´´ „@´/jÚ™NsëÑ̘µädlçe”²{•QîL’…Gº´iJÙ-ð&)Ý)Ý_¤xîžlÖòö®Çíìͼd±°XØÇR¯ñ'%ãÏSÆŸG _Æ,ª.‹:gQU$wü¿Œ_d1~=ŠBþÅø5ßÍ(–>sORyç,ý)ýAIøÙ–î‹=cK/Ü0á¾Ø`ËœAµâuKúcÃáÇ’úÜÀøÂ@i`t Ú§É7+ž7ïé6Ñ1°¡6)+‹ºÕÿÃø)HqùQ‰­çTŽN,]¢$àmúŒMÒçUú9µ¡?ÜòÌ}Ïß^ýfX k·ÌÂ)‹]Àûù›7³7:mžsÙÛõtMÖ¬ý!oÈÆ²Ñzì?Úì?:ìolö3›ú SÇ&uá zm#áÚHо¨gÆç ÞagGߨ"j>I°ÌǨB'*Cfåùô>»@Òlè\ì99¿çäâŽÉÙœùì”ùl wÌ|ZM lIk+„¥£úF5’¨¤Êe¶=#ßY@xq sQ^§‡¼Ã! 8l:ò€Ëä#gî=Ož}àÉøšû݈¶ÏùaûŒèZ£°m¶cj¤³÷é{ÆÚ=“³F—s=%ÒC"½Çýá’$ ë¹Vˆµ‚-,1KcÄÚÒ’®»ãJ¼ç¹ó†ç½×´JrH»ÌÒ3¾O¿¢ÉASô/Sž>[R&;¶Û ›ÇöfÀ>ë“;…cQ=3á… 7À‚›Ö-ÙÆd}Ý'Çf{’G6ÉÒ'i}šžF E EY…™Y3ö6LFkz“ ^{±Á‹ÖTÇÊl>2&¯»4?4?Ôª€%xœñÙž“¯JN~Q$°ylÞ ¶sAeû0ñ1é#zÂoŽ“O¿¡Íy¡È+¨šTB«Zj¥(‘dÊa¾Ÿr¸ ùøñ ï&e9¬båÁ¡‰hýëL`Ÿ ¬3T5ËÍ|cq»¹¤9–e—…èŸu1ÍÎãñ³tdÛ¨ˆSî)1Ð)ùØ^ñ±®¨ “]Ö‡Êüdü Ð}:èhÇš“Ò<¿º0ˆ¢.z[SÍ ª{ƒrfPÍ%å*£ZåÔ«Ò v.$TîñæŒ*˜UðC ßUOVxbAØY0>›ª–*øKÊ#<òÈ#üÄøÉ¿ þ^ü+«r„¶P^…ÜüAçp¢.K:¦‚¤õI[u:BÄ-jQÓîkT^Óª—œ1Kžñž_òg6Ú¶YCŒª‚È:ž²?%6âÓÄOû‰ß‰D A{©0‹†ú~0i]“l—QÜgìö"Ê¡‚¶ÑQFÛ\§ÄŸ¼Ü0þÛ-Bd¬ðñÛë¯{^i4­IÓX4­‰î4ã‚ÉW)OþËË¿ßá^à&#½®YÞ »²TMøËÄoKŸ¢¨‰×-ÅuDûmC~Ócnž°0NÑÌ:#¯ßð¥þ-OÇïxÁ+q Â9-’j ùkEúÏ5ñ?UÔ_µèµD,Œ§µ¥ã69ãjÉgõ{&Õª¨R@)P5|j€‘ìàø9•¡³µCfö„¨ ØDêØ Y™üÆý-?úWžyïøÿ_Hm›{g½=áÖžr³îñ~pý§€Û2ð‰ñþážçOßò›ß¼aúYÌLž1“§Ì´3fñ”ÛûÕ}ŸÍïD¿sÁ3Pžž¡‡Ê͈DÐ$ ~¦a”5^'¥÷tˉ7Çi œªÀ) ò)Q2+Îqªühü4Ž«~ d·¥ó2búÕŒ_½âéçoxó/D¡ˆ_û<ü0E•Ÿ’3ÿ=õå x)á…ÒÆ¥øpÎÇ)ò}‹gÄ óÀ(X0zñ€=ÈX,NxØMyXMÙítÇ;ÃïFtG[‹ý:$ú6$ú]“w<©ß1ÖL¯æô:k<7Æ¿ˆñš˜‹…˜|ҎŲÏbéß¹äÿâ~Ôÿñ@'Ørþå†é󘛻'”™ÅÃÆgvwÅÔ]0Öüjü ÿü3ïÞŸaüù@ôAòá»>‡vL5öÙȉÅô|Áàù†ÉÕŠ_=ÿšngÇ×ó¿æþáŠoæ¿äõü ¸fÀ­‚{hí@ût•tû;žˆ÷üÊþ7þ6ü-÷Å)Ìþšïó¯øÃæoZËóÞ+ž÷^ó¬Ü·¼þW—èæŒýï‡ÜÍÏQ_úJ ž 8¾n iaÕ@Ñ®-r6‡!òN „¤mª•´¡½:Ee$f¶§'æœ{3žŽn9}ò@·Ý¶[Âv Jñ 6:ct–EHÝOAi´kA#Z¼Îžñùšg_­xþ+o ˜{lߺìÿÙ%1Lx¦Á³žSú zê8yÌ*Ty@U1ªI*£U&5¥2¡µ8ìCª&õ7Õ·&í&¥Ùhö1í>ÂþRaz÷ ð~.P…ÍòOC>¾½$û“G¹·hú’v iN%ýá&=è{`HÕþeâgˆœ®Ø`©Šº6Ù}dªh 4Œ4u A’â(MR™{ÕãwQ‹ˆA½¨WÀuS¢ò%*‹ ߀ØÁ®I Õ§óPÃ,…ïSømŠ-ñ‚áé“jNO°‘ÿ“Ÿt<òÈ#<òÿ?Yã·] øö_É>ù8¿bÝɆ.Êgúy…qV¡MjÚæxîCÕ’¶‘4Ýáæ4fdiÁjéòáúã;ÅÁê1‹/ØÅ=ªÄ8®té6 øLQKÃ…ÍCßÇ4zìê’ûú”U5&©êÊDÙ9VXUé¶4÷ í\£ÛÔJ‡L@)l­DɆF·( ›Ü¶I¦™¤Ê ©L’Ê8–È;˜ª ÅX#èl»&¶ç²3†$M@™Y°ã¸‚–µP5 *‚A¤AwæDÃziâ.ÝsWÏð´\ý@¯ÛpùìšÁd…í^ŽBP`q  ölúã„/ž~ÄŒj¢g#Òé´;$Õ‡´Br }Ì{®Ø!UdRnLªùŸ/ZÈu‹ÓsÊ‹PÛòÜ}Ë>ë³ßôØßöˆo<ö˜ö:N„æ4d¦Í²4‡,Ì!ËË26È»&ÚWÒ–$Ÿ¹¿¨y50Xy9‹v¢³h&,ª!ë²Ë¡ì’]Táã À™p§Ω¢È-ŠÄ&OmòĺÊqÎ2<7¡S&q‚]–Xe‰]•ØeŽmäX½SäxÝ8¢“Dt“ˆNá"<ë@Rú¼_?ç>=cÓöÉ,Õ˜Z‰éæXnŽéä4=r`SX6ejƒÝ®ÑOJ »ÂpsÚg‚tâ°ñz˜†Ká˜Xœa½ Ð"t• /êUJ$J´û5ÃdÏIx‹ö•ÎøòÓÉŒSwÆi3£SïEZŠ­gêûr@]Xì‹«ù˜ýÊ&ÝÛ±Êfá«’¶ãÄXr®¹c IDATÖj„V7Ô¹NáZ¤–Ë¡ë³tˆò鯧Ü{´±£ZÂñšp”ŽS&§ žž¼£7Ü ºŠÔtI+ƒt-H?(ò›‚0‹ 9ÐÆt‚„]²ë„Çk’ù§ÏÌ:£«½`QŽ™m¦,¯{ì?8ˆ¦fº8Ý- qÊ npÇ Oýkâ§>‡ øÔ'=qÐâ ©*4§BVÇ)vmRÔåƒy4ìB>¥ò6kWº¸Šzè‹ëuùJ¢2‹&00ƒšnpÀ´Kd-¡2hk›ºö¨ ¶k¢Nlxæ`ŸÆ„ýŠgËSñÝê°í8Ó<;A7;¸—÷|‹7-°Ó+1ÌS•HQQöKÊçe[Q^µTg.UåR½öÈb‡ê]IõΤz—SÍLt™aø)v/Å0rôn¨•AþG­•˜›Ë*Ÿìi´¡@õ*„0ÜqÎé†{ ¿¤Ò$‡½Å"öø˜„|Œ‡Ä÷Š ^ðy“Ÿ/©…NkHšOIjqˆl¢½C´w©Â¯ <­Äw §DŸ4èyÑÖhAŽª·PoQõ¥%ä?S<™PôäzF. WЬÖÈKŸ´óÐ\ñ®­ðÐ舄ÿ¯{ì=òÈ#<òÈÿ?Yã÷pÂÿoÿ• ‡•±ÒÇ$O=¤ÕbsÜA‚;L°zu«ÿ'U󌲛QÙ)­È8¤·!Åk—¥xBn,ª1ËrBQÚÇ3 Ò…±€®MíøìŸ…ÈaJn%8eÍ>Ùg=¢<¤Êl´¶F t»@;¯©n4ªkIåé´†…Ú 8ˆÔ‚EIIFÍDC*lJáÒJ |yT QE6vØt|°B2bÖõˆmÑ'KT$ VÇ5ϪþdüJ4 Êcgš'q®4<ÝÅŸ„‘ÉD&L´™0t'ü“³Sâ’c#h‘ŸT‡:ã§1ñž/û7Ü/˜]=a6j˜™­”ìèr-.@*̸$ÞÄ;Ä׊•uì¶û$ez m«èz{Ü^Ì}r†±j¨®-ö?öØÐçµxA"]nÄ%¥©›>Ë'6}2SR Õ´Á¹l0B“Ý©ÁÛÓ!QðžÙ—!û*dèç‡Ú!ÇÓÂì>Ù1ü|ËðóQÓe[†ìÊc§ÝIp)~˜ ^“aT zU#+…¨Òj0F%f?#(w\Æ×<‰o¸Šo˜ä ÖnŸ =Öë!¯Ó—ì–}veƒÛA×;“=ñŽÎhO©YDuHT‡4©œ0Á'¸fŒÕÍÑNjÔ Ä‡.m ·¦Ãž¾¹FókÒ{Er§HîÛ¹âÌÙrêì9;Ýsö|O¸£;Þ†;Âf‡gè²Â%º¬h µ×ˆ÷æû3fwç$sƒ42¨©•˜Ú _6ôD̈%K5ÁS F[ͽ°Ø™]îÝ1ÂKfÅ”õaBR÷h´¾¬¸ÝóltóÑFÃö Ãîgä–MZuÙE.ɪ· ú»%“pÆópÆó³OºsÞêŸñÆxÎ;ý{½Ë! ˜yg³á =öi‡Ùâ”Õ».ÕŸ*iY9&°wÆôŒ-™rª½¦ÿü;tWgvqÊÝù”ÙÉ)‹Á³)0ƒã¬Àüª ºuˆn]¢[—jᢰ„yü§£AO€«Q‚-’vîs(FìgŠsí¼!8?à[ʤÌ,Ê̦Œ]ÚÚ qÚÓ ²û|I·«ˈËdF-÷ƒÜç]4ãÛ2žÄL¦ ÆÓ˜¾Ÿà‹˜@Äø"F—%‡±IlN ¢½Í*ï°Îº¬¾íýßš•¤Y Ú•„•Ĝָ§5ÞE…{^ÓbReÕÌ$~ëâa'¢D„ÓÛ/Ž%ó®¤u$¾sá| ç¬0œœRh¬7.7ú|}Ê×—ô¬Šžµä|8£wVÑX¥iPY:¥¥óðÐåæí€å€â~€¦+Æõž©¾ç4ØÓïǸ"Ç rÜI†¹ËQ¤(uT­UlNÏØœmYlŒœ½î±Ó|Ðw¤$u@ZGã·´·ÇØó¿¿“Ý7p.5܉ƒÿUˆW ®Ä‚çâÏùÀD[R[:•iPY). õ§`›~oÃXlô¶ôžmxë­ù¦Û um"cx4~2¥ˆð©•Á&²¾±þvDrë« ª£,'çL}ä<¸álú‘a»ÀHê¥Åþ¦?À:T7åvYÐê‚ÚÒi,ÚÔÐ/JÌ/¬/œ/´‡½5 ²%ï,A« òÚ%/òÌ¥ˆmš\£®%µÐxƒ-“§[®~yÍÕß~`¡¹kO‘mE®tœ&Åi¼6Á/Sü4CT j…¨BSh^îÿÚŽËÃþêð5¿>ü‰«ø†?ä¿æù¯yµþœ?æ¿¢ÚÔ•A娩À:/è>=_0~6'M<ô õ­A2óAW8ã”ÎÅŽÞùc˜S˜6¹e‘YH8ksÇ0Xd{îæw÷›ß9,ïpñÕ’Ó_¼ç×ÏÞó7¿xGàez©Wm, ![Ði棶‡‡.ó‡SngOhæ’&4µÀÕS,iá‹–ž80fÁ;Ü6Ál+h 6;³ÃÜt/Y¨ñqZ®õi½_[r5šóëáŸø»Ñoéw6ìì.[;dk…,ò»È%½‡ú]ŠþjÁä‹7|uö¿yö=¿zù†ßV¿A¯*uÀ»ê‡îÑøL™˜Rd:ÑÂ#zëQ~­hW-ki²×:Ì´šiØÒy~Íé³k~ýì†ÑeÆ÷ý/ø¾ÿ9z¿ é*?Å9ÏpÊ »ÈXþ[€ÔªEÀa@îop CO_‡p¥e±Ë=âyÃdžmgˆüªÅF½¬0§*MÊÄ¢ŒlнµòL[0ÖÄ£¶L´ˆ‹ôŽLºôûà]ääÓ®õcž –<ï¿ãÔ˜3Ì7 ó ƒ|ƒ!+V“õYÈJ Y!ï¾ þ”±ÿ¦"û¦…ªE•-ªj¡l1Î$Þ© ükIø7‚|®}-ÉßZ$_{hA„û«Óé-W¿¼!Ðú’Ì1Ém‹Ì6yûz‚S^PÜ_2O.0D˸zà3ãσ“5Ýà@ç$¦›p‹”Vkheƒ’-¥.ùèlùè¸qs>5ÆtƒBëi=Òá£è°S>Š=º¨Yñ/ÿ«y<òÈ#<ò?ÌOÖøe—ìÝôXvmp<ƒ7£¬ÐÚC–XFŽmg¨êRƒš\£tÚÔ@•æqÄ$ 0t°å1|ÃU­AÊM Ð%Ê8š1U(DÒBçÓ ~Û¢‹[FèúÝhÑŒå*TÚ®BuFVã9JE(]£ð,rá¨lò½Â8ž«Á¢À¥îÒX.ÊõÀµÀrJ(>gßöðÛO%øÄÇ2nS!ÜÑiA¶Ô™ ¯t¢Èb»rÙ”›¢Ë¦è³.†øuL`ð{1¾Ó½ÜÒ»\ÿEqìc´5zS£W5µÒqÜK¨JP,re“)—T9hZ‹f/ ˆsgÆÄ¹ÇtCð{ݸ'èz“=ÃÓ5ãó®Y Z­B´P£QJƒRTÂ`/»4š†mä ¬5‰å’™f’aÒ65ÙÁ`÷ÐááÝ×ÉÙïCÚLÃ3cN&w¸AB©™,ò1¬Û}‡Ý˜ÃÁ£ŽA¸ ÈáÖÈ^ƒêB®YDZÀJ²#vnHÖsiOt´¼Å¼*q®2ü'ºO¶Œ‹9—Å5Û¢KZ8dšNB1ƒûEySc¬rÆõ3¿¢Êâ´!9´Ä™GTt©Ï4l;c0YrþdKäyD¾ËÞóÈ óhò[”¹ƒ¦)‚N‚8Ëq[ò}—,é“''6JJDòD!ž+‚æÎ Š,Ô\"-smLGœà´+ö[EÛ!S:Z[Ò5ö4N-4jW§î¦ÏN ¹ßœó.ùŒ[õ„UsJÜŒhTˆ¬sªØ¡h ÒX#QVfa¤ZÖbÊŠläSld_Ç4óÓÆ$=A™éŸ¤QÖÖ1p¨£Ñ %õ©†&r.°†5n?Ã1S4™ÒäÅ&'‘í±ì…‹J˜,ĘFhÄÂÇ*2~¸}ÆûÕ3fñ–õ=eïGÄÃÙ……ò…mRX¥ePÅÍÔ pjÐPÙyí’ì}VŽÈJTš¡REQ)ZÓBY­iPK“J@OD´rFãda‡ÝI‹¸²({’¨i)}/‘~Cº3ÏœGyä‘Gù ò“5~”@Ä1ä09žK8†`4,P¾ 9”k›lí¯ª×6Õ½Ksȡͱ½†î¤&|±"üâ:°‰dÀAd@‘ê´Ë†fUÓ®4Yâ¥)-£ÓÏè˜ 7&Ð+Æ 26NÈÆé±1zlqüÿ$ÅÓS¼0#ò»,±ŠÇ,ç#üåå¨Â8f[­'Q!ÐmA+!Ë¡,YŽ9Jðö)a‘ÒÙñeì\§1tšNòÎäðÖä€Éá"Í]·°$8HJb:ì …GŒMŽN…@\0ȰIðÈ9XäØäX¤ÒgnL±(±dÉÃzÂíâœÙâœíbH%uR¯ÂðKL¿¥¨ÑÓ¿a%ÃfŰY3hVÆæBR_hl»=–rHÒ¨ŸiøÖžËÉ{êJ§©4šZ§®4Š… ›A>ƒ|&hv‚òN‚¯SÓAní@Ðäñê „lÐM….+¤T8W)®•âŽRÜÏ3ôIEub0·¦¬¢‡•ÉþÞb?7Éæ9K×äõàŒ|èp7¼äÒœ‹®µ.õ›ã‡†@iÇ¢²¸[MàmÅúGøq˵õœkû k«‹°cÍ¥}Õ¼æRÞ`dè½Ý)ÑeIlû8Ü@èûâħ¨,Ê¥Åþ.¤¬MÊö“”‰c䘓†ÞÉžóÉOÃw½ Ú‹iƒva2¾¨ð.@MMbÛ£Ö ¤RGµŠLØDâx/D2`k÷¨zCý_zdjÝ0OBæË=$ÎmÖsw?NÉJ‹ÙüŠÌwI=‡Ž¿çóÉ÷Õ"”b½±]ˆ–.›ûÎÿÃÞ{íH–eÙvc­ÌŽiå2<"#"«2³²ª»ÙÝ÷‚_@þ*_ÈK~A¶¼Ìê®T!=\››GË͋κÙd#ÀÂüÉàðãÇæÞkÍÉþÁ¤œ¦¤í’µp¸mŒhL^ÒÐ"ÖJ‡µÒf-:,Í6»±OöU ¼Úo4ÊI“pÒa9îóÐÜ KÉ xàwEɸ¼gºjó8oó¸l3]¶iÆ!“lÉÄ_2ùý’t­róØåæ±Ãõc©øHãr-J_§ja¥øæ–‘öH^ëì×>û©ÏnÚb?mbç;}G÷Õû|Çf:`qW0¿5Xܵ¨\P{Úq‰ö¢DV‚2Ó©–eª“‡K¥‰Žˆïcš#Ÿ`Ð% ÜÁ†“þqÃ!N]âÔ&Nv»&wÏ(¦:Óݘ¥ìq­ž1UÇäªAEÍR6¡Ê’»²[”¸y‰›W˜N…|!eKÊ>#÷7 'Å=­Ù=úl]vSŸbæS¸‚Ø%¨NrZቈF?ÀˆC¤HY-T¢eZ44©i  O‹ð´O ÑdÎͺÏmÒgÓî#Óeû¼äúØ@ï5‰½X’R×(T•Bh<Ún†C6/FÅ¢R˜·:ˆdBxµçêa‹½]bíXÛ%F!ÝÆ/EÃEdèÃ}1tfD^“͸‡ùEލ%µRQæ9¼O©î#„ZP=–OÂï‰'žxâ‰_-¿^áW‡Ý0ƒèKþ›Ÿ™ò0RUC¹×È,âàºE}]P?ÔûYXîšÎhÅäÅ’ñVdm‹¢º|4)“>åÔo Ô4ÁÕ:áyÀ@ß1Pæ ­9ƒjN§ÚðQ»à£öœê[ѤáŒÔGF­£ãsmÈeøœj¦²ÕÚd蟅ŸFÉaëáç hʃ`A"6!Æq„»?¿®ˆ>Ü.`Ýl³=ªÐ&š¶PŒM·0UpD†JEãó^Ä xDؤè”ÿð3H? ¿›‡‡›L5c±ªIn˜„ÓûŸýÏ>ÁO>•¢¢tkÔnÒ«Ð[¦Ÿ`ŽÎ’ms͹¼âL^q.¯h)[®ÝSn¼SnÜS” F'ǰ ÃÝ×KŠZ'¯uŠÏ'|#Ðþd ùT;›üÁ£Yì!Ö:â¬B”ªQ¬ E©YfFaå´Ì-­Á–Ö‹-ÍdÏNi±SÚ,DŸý¾Mv““¿ÉÈߦäo3ª¾AüꘇקüÐRyîÜð{ùG’ž\"uÆAøÕÒÜâ~1dõÑáýw´wA¿G8èZˆ¾¤g-yå¼å÷îùƒóUW´MÇ$Q »A£Ði¬Ùf¬=æW#æCöWmö«&u¥PW*U¥ Ú`|QÑ~µçD{à¥w‰ÖÊQ?‹>%uz®+À3MBÉQäçNY³Çg!úÌé³}2ÅÄÐrúÞœ£Þ¡mòn1A¹žj¶YÕL#ÉÇ<ÎOp>(´^nð¿ØÐn9yyÅvÝf5ï±\öY/ºÄSì^’=HÊûŒlR²j:ÜLFˆZâhùáFx‡nxìÆ RÏCž5ÐR…Òñ Ý6K·Ïƒ½C©k†õ“ú¥ªùy{Ƴg$?\pó½a¯9:ºäÛ£|{ô(pøîík¤|Íb;B*>µéR96…¯SµÁT|uÃH5¡€›•Âî²ÃæçwoN99ùD÷xÍé³'Ç—L?F|üWƒB¶Ø¬%µ+Ѻ%Æq†ñEŠÌùÒ¢0£ÆùLc4‰îG<8»ÛÅþFÅþFàô7´ú!ۢŶhAÙ"/4¶ïäL¯'|ÿîR,BÛ#°ä¶È+–a“0ñêYŽV™èµV›˜mI#ÛáY{¼Ñg°Àq ÜÓŒñ.aúÖE{kRX]vù„…ب)DMTÔxNDól‡7ˆiþfOý½ÏY¾W‰Þ7ÉW&’ÐCÒC(ºY ›%šY 5¡eYaÛ‚‰Åö™ÁÕQ‹¨7âÁ{†Ð%RZH!Ø9 Vƒë¢Mau¨By¤÷Ÿ Ì8@OQ3ÔÅ5Š­ø}ðû¨Ý&'לÖל8׌3¶^—Æ8Ĩ3„+©f5r^PÝ¥äó‘å¨Ó^ÿ¼ïžxâ‰'žxâß_¯ð;\‘¡Ô5zU çzšcÄÎ>@[¦ÔšL¨ä åB¡^+‡ðíÜ¡ƒ-¡#Q{ú`5®q'1F§ UL2E'W4TÍ ¸Ï)­œBfèiŠ„¸ë{â¶7ô{N[Î&ö#†È¨… ÁbK‹Žº¦­oh±ÁW·¤M ¯â b¬I‚Ò)q[!®à©{Ð t Ôž„#È5êEŠœ'Ôq„(B¬ÝŽV¼c˜ï˜È=…®SŠÃN^éjD-Ý“¨¦ŽP]„°Ð„‚!ªÏâ.£Éž›‰À—;\a‘¡ÉŠZ¨¤ÂbO“µè~E=t“­h±U[¡$}òú°ãX¬MÊM©0ÊU–˜JŽ¡g^†idÍ ÓOq´ˆ¦¶££­ðÕÊRhì•&s1 ím0½5Ö$™Cœ;Ä™ƒÈ²¥‚ÚÅL¨s:æ:äz¡`k¶›àt#ôFF¥vŽjEAÑjt;ÇÔRl;Æ)"va‹8tX…}£ õû~ÞÁ;ø!#ŸØŠŽmŸ°hc’Ñ]±BÓ Ve— j’I‹,4‰–:å}‹ò²¢z $H ¥†ãêmwà5's ¶jƒ²P‰B)Ԫ¨2\—.ʶ¢¸W ßÚ„3U­ÐÔ C+°½£™¡6 ¤SQ©5|E6‰ãKS'7]vF›™Vá`ÊìPd¤˜ì…ÇJtyc*©ÒkL™àV[ôJàUVe£Õ.uáîÚ„Y6mÔyƒóÆ%ÖIŒmELFwÈZ°ÛµHj‹eÔ'$$ "‹1Ê‘—D‰Í,Pmt«>Œ°Ö6im‘`“¨6‰mS¹6¨i>;­Ç\Ûck)~±Ã/÷8e„_ïé.͸½ Ðç1V;´íýþ¯‘1 v ƒ€Q‘ ͤŠÅ2mal¶¸DhT(YLy]“\ìß7Y¾ÐÑ–T] Ã(ðû{¢h·qW1ö&AôjônŽîhF‰¨%šU!½Œº¥RíkŠºb¹¬‚"ôé÷Rz£kbï#ÅDWT£DX5‘æä>ÕV§zÐ0Ô£™cúeNä‹’hn³ž©‚n˜hº‰n˜XzM+Ùàçüʤ©XVŠ­¤XVŠîØ…±o îZ°íQ·kJ· ÖK L+Gz]«p´„Ì.)îU¶Ëâ]ƒèÊæ°œÜ9”êŒn¬Ïå ˜¨0Ñ «ÂD%lkT†GPt™nC +ÇÐst#Ç0rÕ!2[äŽOÝlP£“'2))’6:ÅcIq Å­ Þ'¨ÃêpˆZŒ°õfœÐ˨e…ÏW 0ÍÍI ™"W9UZR-køÄ«þzß=ñÄO<ñÄ¿¿^ágm0ݓݓ%“noO‚J²>Ô^T*H-ÅîìÐûùB'Ÿëdsƒ|®“{lz}„ÐHÖ TYR™ †U04gôœšê¤¢ÊJªF‰\—¨NIU,¾ÓHÞ;8CƒÞPAk¬~AGÝp¢ÞS)¦šQí4ê…Êl9aº8f·m±®;”ç*ö³“2x>§2càÌ@‡yȼ2·†l{ ò¹š“Çu«Ò” £zÁóúžå”ÇíˆÙnÄf×ãq;bû¶ÅîºE¼´¨c‰’—èeŽYeØ2Á&&gC…r0”‘0¬ætë ~`È‚ZU •suĵ8ùÅÍSAb’£ËUÖPKj©P[ ²§À9CCLÚLÚŒÛS«b“´X_·ØÜ´x4'È–JÐòylãz!scÀÌè“ê6–žâˆq‰p 1Sð¡Éú¡K4U‰§‡µÇz, 0ÁpϹŠÅ‡÷…w·ØnÂL2CfÊ]åÃV!ߨ„[g³Úl¢Ï©±€; î,XUP ˆ xpÀ4 Uל¡‹‚½h¢Ú—s>uÏÙtz¥Mµª©ƒÏ&RB©¹,•oµWT¦ÊÜPJ•(¶‰W6±f“¦&yh’&Yd²Ÿ{¬n[ìîlŠiŽVli#üaDsÑjo1”€ÇÄåŸü‚÷?·Xª]–j‡…Úa¥¶ØN46›å¸Åb2¤ÇŠ~¹¤W,ñËWI°´]/PµŠ$¶Xµw @E=Ä⳩¥D¨ ”C*¡îXý˜†ØÓòV”c‰²KQ¶Ê6E×+”¶N”´(~òïUòL?ä:¹g7]4$ûF‹Ec€Ñ,(]#*Ñw%úþЛ³†¿i0î'¸ŠÂÎóSm³½:GÔ’½fѸHùÝøgjYã9;6;›ïþù9ßÿé˜û—ï ò˜=ö˜Ï„{iÀ~oqÿ± Gì>Å„U‡ujRe´» RáòªµJö_m¬*¥mñ‡;Zÿiß”¬R—åçŠdƒ¤‘±]eÔßeŸJB¿Aä7‰}Ò7¨ ‰Šôƒoï˜tw¦Lº¤Êƒ×áAïðPu©*•v?¢Ý[ÒîǸ“ ^Ôp!Á—eƒhé!æ æÀ\°ÞõXíºÄ¶‹¼í¤Âä~Ša¦˜z†T‰b³r$!Ùg(þ-‡’ˆA*S«\ðP!õ l@íð(7yhÁ-”ºF§¿ÂDô† ºÃ%Aìñ0Á‡œè½‚^@×ßÒmméŒv¨£€•HXÅ «EJ×xí Þi÷E‚aq4¾£3Ya5¤‡¿‡ÞoáývÊá#».<7 ’pmýG¼ížxâ‰'žxâß…_¯ð³€>íœî³Ï^^òì‹KüΊ»O]î>uÙ_õX>ºóyŠ}‘c^„DK—há!*ÅÂ"õ<ÖX4Ym4ª€fsƒÏ–¦¾ÅpRꓚړÔç’|.Øß©ìï5Öot–¡CÿKƒÓW 5«™ÓÕ¶Tú¦–ÑV×<칿=æñý˜‡Çä–=‰<‡FwG¿³à¬ý‰óöçÎ'PàªÿŒOÖ3´A ˆ4ˆ#IõÊV¥!ÆõœçÕ%_•Pv°yèæÖ IDATÞ7¹¾¿ ºvÈ® ²¥ñYøhEŽYÄ”GH‚BIŽ’^µ¦[nð‹¤ Ö4B½ÉL ¹QÎ~_‡‘ÐUV ²HK {ŸÚuhŠ=çÞ_{ßóµ÷=e¦òfùšŸ¯™/F¬d—ð¨Åãñ1ï"ÌaFe JG¡Êgáw.u9§kŸòNøC“å÷’L§T…rT*ú¡r'L8 ø:øo‚?á9?НøQH6t‰Š&ù­Etë³¾ÍÑïKÒÄ"‹¹}$À^ƒÀ:DpT:D*<˜ê0„¦Çµ8c/š|Ï^Ínâ³=j±øªE½’ȰFæŸÓê õiÁRïQ™* §Ï›ü5uªPÚ/Um5ʹJµP©–ÙF!Ý+$BnH«±bôlÍø«þ`Oz]óxåq}õéýÄÂ"Q¬_úú+‡Õ×-ÚjF{˜q.îPrðÓ;-¨ÔÛÊ0(ÐÔŠ<ÖØß6¾·Ùÿ`\š`£íu¨*¨ 蟅Ÿhòà*@srì~LÃÝјÔ)¨YŽ–æ¨YNµ×ɶÑÆe=u(÷&U¨PG*U¤P •z R TªÁ!/s?l¡ ¤®¹6edR, Ê©A15PôÅËPú+A*»å˜íòœ¯M<-¤ß›Ò6åYÿ¢Î˜ß5˜ß5x÷SŸÍÊ¡@¥D¡@%—Q}ÈÍŒ+ A°³‘a›ýÕ˜[E¢NLĉ…8Éh/H3xîÍ]’7–šÓîo9~âü«K4#çSpÆÇý9ɾM¸ìsªuN|•£'űE~lSÛ”Ç&„ R dCÀXÐò·\ /ùzø=_¾g·ið½þ%Jõ%›xL.tº/–œ¾¸çôù“mËg×n²ó}‚²A¾´È?˜äo-òK“ÔvH›Ä±¡+P'%æ Ãöcl+DÕK¤ÄÂ&&*)5‡ÙûÝŸKƇÃ)>w²>*àQm5²@PYhÓ¾ØÒx1Q¦\t?²NšÈyNôAañGM­|yÇùøŽgÏîÑØó)Öщ¥“©:n[Ò;KüvCÿk…¡;£í­°½‰@<$ðvß-@q¡a‚çÂÈ8f¬íÿ˜÷ÝO<ñÄOü;ð«~ªSaŒÝ€þٜӋk^¾zC§1§šž±^ òm°þQÅÏ+ô^éTø/jèHªžN6°a¥’KB³ ‰$ÝzNNW¬è¨öÑ1”EÍ5nÿ—ý•Ãî½Aze². BK§*(8UL·Zah ~¹"]YÜÞœ2{3âÇýõ¤ Õ[Ó:YÓþÚqëŽsù‰—ò¯ä;jª_Q´4<¾‰Üé”÷©£:6m¹g\Ï8¯®™…ÌEAvk³ü0$êÔ3I½‘ÔiYy¸KkH$ZVb+ RèJRKü"ÀMŒ´"+M2Ãag´˜™#îôcº¬R`’£P£É]ä2Gê*ø µT©,ð”cûޝíïùïíÿ|e£`5ïñî­$H|vaû°›¦+³¦Qlñê ¹£ÁCI1ÕSI°”uWQÝi$?8ìþ®Ma0‘ˆ1¨c‰&9ÿì%b_Ð(&é”—áþ°ù|}G¡X¬•Ÿ”çÈL%›Úd—¼ùd¬P' u¬nü¤ÒøÜu””JA $Ê4£ÒT–¢wØ Z âÏñHu®"9ˆbP  äNâ ¬8çàH”\¢Ä5J,Qb‰˜I¸ã—’aIMJEJMŠí¸Í½ã)Ç_NiŽC®‚.‹·]®>u¹ÿcë`¬B…Bii»’p,Ù•`‰’^¾¦L Œ¤ÀTs4*E"UAY¬§-ß¶yüÇ»6u]QËŠº®;ÿvã§ Ð%B;<7BH5º]`Ù n' ‰€NñK%·›\Â¥ÍþªC|í 7‚z£PoÄá÷wœº’Õ¢ –$kìdƒ ö V>áOpéÓ?š3ì<0ºx ñ@8µ˜ÿ0`¶3ŸèÙ ~Tqr~Ë‹¯nЪˆ(Áæý˜ïß>çòç!‚AB‰P$µï#}éëˆfM¼7H–Ë]±4¿­ñдþb‹¾®¨ø£KñÖD oϸsÇ«¯Äì¥Tk•ݺÇÃJ§žµÈÞ–dwâm 7%¼4¥ŽÔõဠÀë…Mîùrò3sô,W=’Ìå18ÅÜ`´^dŒ¿àù·—ø§î8âðÈ4HB›hÛ ¾õˆnïQ+T'*µ¯ G­_bµR<7 al©…¬6È*“¼6Ésƒ¢6¨Í4VL]ï¨ëºšëßI-?w HŠÕ½A*Ôw*åN}«Pmt,‘Ñõלßbm}ÖS›é¥úCÃÍi9Ö¯x9ù€aí)|öŸZLmÅP°ýˆÖ0`øL2yYÑT\%@(YmRFÀ2E»Ýb½„VÚêP7›Ôg¤cÀ¿˜ÿÿ¼àžxâ‰'žxâÿ~µÂï¤Í_üõÿ‚¦—8nDµR¹üî«sn~ty¸òw²^¯-âO8Ei’dqêRd&¤ÃÉ™\v‚݈qd„¶-›Ü¤ç4Ì=~oG³·ÃïnqÌ’r’ÃW%Š&Iæ*Î ƒäE—Ûá9ºá°ÝÚl6®ëÅ W‹›Ú¥ œQF»µaì<0QîhåŠÈà:zÆ*J‹;ëˆ;ûˆûèÌ^é¤B£24°+Væ Œ ]7Ùk}æþ&5ʼFÀ²Ùd¥y¬Õ²AÔÜ\õ0ßÇí“j¿D먽Él6G Ñ®Á;ý´ç,ô!™æÔ%HA^µ‹Ù*èù+&þ#¦Ÿ³Úô˜Í_¦g³µ-¨ú ¹¦‘µu´^Î(}à+åOœçéG½>‹nŸ…Ö'ŠME’ç§TuŒÚ¯Qz:¢ß@ôi×B}Qà—Žü0Ao—èí½] R¡ÆŸ+©hV{L5fù»ŸþûSʲ×ÃéE|Ûý#gþ'ªãÏ9c-…òTc½î°Yuج»¬WdRBšþRM7¤ßé÷úý…Pó5—Pu© V?äXƒ© ¶u‹ÒfkµØ÷š }€ÁæPg°Ká6Ã÷Bz==/ ; 0‡%b,ç –%& ,h² Aé4Ø÷*¦;ƒê;ωØ/uj[£ýM…q¼¡Q†xEˆWxEˆû¥ÄƒcJœFÚœI=ÅÒbÅbU·™Uî÷Ç\í.ØnšXzÆóÉ/I>PYìÛ,‚Cm4ëp+×@†s”,G+stY ¨©QÈ1H°þ· ÃÎñ†1ãì‘ÒЉ{Ûk͵Ç6õˆrlÚ:Œ48V(»*©c!”Š*$•K†E©h CV›ì“ʦ&Ÿˆp“ #À5C˜H¦Þ„ºP©ªŠO!¯†dÊëÂÅ;<‘à±ÇVRB·&rBÇ rlœxmpã%vËe÷š“r¹Ì‡Øw©(MX^¥H%!œf8m§ÝÃiKœvMl~*ù"›qÔš±6'¬Zg,[‚•ß$×Ï6O<ñÄO<ñëäW+üN×üó?'óåùjÈÇ·/X.šl§)ÛiJ´K¡^P¬»Ä—eî’,;šI¡äšÔf/Å÷¶´5íþ ±—d&Áu“ÕMO8yyƒ÷EˆkE8~GŸ!G…6NÏ îv¹íÆ€åÎbñÁdùÎbñÞd£œ²Ñûlt—j¤`2Úí ççêGÔ¬b·iqµ²[´ØÕŸÇ¯Ú öí&aîPT*…P)uaÕ,­SÞ&¡ÖãV{†×ŠðÔˆçÍ÷ünü/\iÞ§c>,&ìÔ án®zĉÇÝÝs:ç{Ú¯Ö´_­h9Tµb÷Øfÿ¶Íîç6Ûû6K­{Ø Óº¤Šƒ¬YeT.fÕâü솣ó)çgלŸÝr½9ãçÙo·‚õmÙ”šBÑVI-V#f¤>`63ŽÇ÷<¤G¼Q_óF{M¦™ì#‡bV!gå,%Û&(¯kÄkýàÞÒ7É:êË¿µÆ¼HF&vŒc'ØvrØ=,rô¢À(rêBzïðx?âêþ¢’t^®i³æÛÎ-žk:y['?3H“O÷Ïùtw¼lï[T›ò ȶä!¾ûȳñ=¯_Üñåó{è¨ÌŒ>3ó°ŸXØ:¾·£éîð½=HÁ•zΕõŒ²©±ø Èøs2Øí¡  ÜÓ:}äâù”—£¾x>Å#E 8Ü2’yÞã-Ïyà .ë¼ÅnoPí|ö·#œ2AkÇèíˆÖïb†=£tÆ0™3Jf Ó9Æ@¢A7À%–™ai ¶ž[&ë¼Í,rð)|N¨œjŸ8;¾ç´ñ õ¬àÍÃKÞL_‘=ôØ.ÛŸw¸ò=f¨égáG‚¤B!G'ÆF§À$CA¢Sà:Î0Á6Sœ~BÔ7¹2‡\gC²ù¨ì€cCÛ†‘<6(< ášT d¹NQYäÒ<?í üv±O¾1DO ñì=íÓ5ã=ªVQÙö7ÅIm²mÛl_Ûdc+’tÅž¡HŠ-eËÜPXèsáқ´ó=ÝbC¯XÒÍ ³6›Ôa³sØÎd†Må*T#íyA•V¬æŬËâû ±ËØd-¶™B”!0ÆÞ¸ÂTØ}IT7 kµN^ñgá§*l«ƒçEƒëàŒ4·XÄ}æú€¤k#°iµNE¤Y4Øö.1ÉiªÝΖöù–®½¥1ˆxûøŠ7¯áV]Ü4b`ÎyÖ»äEõŽõÎE½¿-x|£a•ƒî#gýÏ^Í .øø¶Íå›YÒ"®Lƃ=¯Ÿïyýü޳³9E瞼퓷›d­—Ñ .7Ïáá9[µM4¸ÿtD´u™^NÈö ÛG›í£CžYT¥dŽÉW>‹‡S·bl…NìT¹$̶ÔW;âÙ–å÷ú3ãÜAæ¢+óžþé-Ç­;ú¯î¸«×¼GðA4ÙsDOÂï‰'žxâ‰_5¿báwÃÿø×sçcþ黿fúvÂåÿõ‚7ïž!³;êì–:Ý#ë%ÅÆ¢(º$ ña€ôdðÒ˜v†Ï–¡3eÜ»#ÉfÛ «·Mÿi|È›JB&ö=Þ$¢;X¡NjÌ‘À©TöRA(‰ÒåFírU w ÿÁàñï ªñ€ú¬G}~~æ(=?ûÊÂÔc¹põðŒŸ®¾b^ ©ÇY@­B€ZA* ÒPP,Xš&¡ÑãN†£†|ãÏ×?q!ßóMý'~(ÎPW¯Ø]Å|RU‚}Ÿ(éqç£èMº/NÓ+N+NޝPõŠ›Ù9·oθýÇsæo‡ÔŠB¥(ÔŠJ-yi.¢,¡(9úvJo¿äåþ¶óOü´ù-âQasÓáÃÇ/¨‚ª¥™¥£¶sFÍŽÇw¨¹džqƒ,4y&ÈÝ⦢x““¾MQnÄF¡#{R*h ­UкHPëM±§!š"À!Æ"Å’ –LÙÜtù)ù-WoÏùù§ß’o þFüG[~WÇ—­ŸIÛ&‰rØ{‹¤KëÃù66×ú30K dì7øÞ “Ÿù«×?ñŸÿðb¤qéœqiŸsiŸ“}1g ,ˆ92Wp¬ˆ²a°îöa¬À Xsè+y~ë6KX/iU¹¿ã/ïøë‹÷t¼µ¨¹DËk>Õϰ‰I¤ÃçÌ vßùìïâ Ö2cðßMN¦´¿ }½áyxÏóàÁáŠ&A;¬æ‰ÒÚ v-Í$v-Va›ÙnÈÝî„«Åsì<å¥yÉó£{þöâ¿âÅ!Þ;Ȭ>ÓR…¤ I EI¨3”0GIsÔ²@'ÿÜøbLb59-{ËМ1ÌÖ3Â¾Ž•^Ï/˜;%Ä€Ý8ĵŒ4ä±A©©ÔšI¦h(…M]iH©Q+RdµEž˜k‘IFí¼v@§»â´ó‰BܤçÜ'GÜ&gìê¢S"F%Â,ñô€®œ* ÊŠ‘xäJ˜Ø”¢É^´iÉ=¹á„ÇrÆô£JýfÀúg‡õ›YÛ@û2G»ÈѾ̩öë¿·XüÐ¥ú{úSF-u*©P˵™bzÞW5í?Ô4¾…Í ä\'ŸÛˆ¹DÖâðQ4Ø–-‚ ÁUpŽ*+¤‡gXW©z*J«dÓj;s­‹G@%]VôX2T眷¯9·nx6¸aülF÷»r)XÎz(ßÕ8"fÐsq~É7Õ÷ÜïZÄ—³Ö¨þÏj#¢ÿ·W¼~ùŽ¿øÛw(ÔØîK²ä%wCÊÄe<¸å«W{þó_Üò»ß~$±-Û"µMb˦µÞ ¦’­ÛâJ» Ü7ˆ7.—”ºF%uVPçu^R”0}–+å^‡†J jj_ ËœhûHü8cµ“ˆ¬Fün€† íiÿG­G¾°gü¥õïÃm×$ØO¸Ú•DOÂï‰'žxâ‰_5¿Zá7Ÿyüãß±Z÷x÷Öçþ“Æv–“Å!J£D¨ ÃÛÒ°ÍۺööĵK$=¢Ú%^¹TM•<2HJ›PxÉÒ!M,òÀ –.Ëù€›»s”~_o dã—Ê„Ià ðœÏ°Ô˜¬n±-ÛZ¤Q‹:nBê@f@!H›eÐçf{†f–¤•ÅTNÜr{¼n€×ÜãY ôÄ…€ZPU¾A˜˜DïL6;©ÚÂSOÐÔ‚B5¹|Ûçö~Ânסªt¤£PwTd[AtTâ±ÅÚi£mrÊïU”²âñÇó+ŸíB#N«CXq h „#¨×¬KXåìrƒÙáƒ~†ëD\6_ðг|ªX%n¹Lí#ÞÈ/¡d Í±D†¥¤XvÆN6¸_vXÏÒû=<Ì‘1D Ro º ®·g`ì9aÏI¶§ÖTJ¡R*¥¢""ÈöE`² ºèY†QŘUŒQ%ìV>7‹3µÃö¸ #•äÌ" ÂP‰›@õØ« vølÚ-¢‘Cžë Ô`) ™×ÁT)}ƒ=ïîbL³ÄÜÕl†¢¡Žá¥»¢DgM‡DÚd¹Å}rÄzÝ&½·àžƒçE¸ Lh5CZÝ­ðŠvpÅÙ«ã“jWeåôI­&ª.QL‰ZJv•‡]%œ•7•Î3ë†z R?S©+ö ½ÎÑŽ ò–ÅÌcÕ%šÒÐ(\G$Ø"Á ¶’°U}æuyÖg^õY¤C"éÒ¶×|Õþf’Ó̶»&o²ß v’w¯yÜOˆÊª%ñ›[šÆŠ¦±ÂwVt¾ÞÑ9ß¡¶*¶¢EAN‡ ‡EÐdA‰ÎF¶)¥F*-¬D‡Ê©‰&>îoJžÕ4–9Ñh@$%áIyHM¡ÖBUªDnäNEnD #‰ÜÔ T jbOaë»Ø­Š_‚+H,ÃÊéZK|w‹eÆØÿVZ„'#ôZ²©D²ÍTŽX2" E!LP44Mb©žÓﬨF&FRâË=ySGœÔˆ^hT£Lv(_lQ’-ô³ƒõ)*R¨HË >jR©>õ¼ÉîÇU¡c)š³À?Ú‘-LÒ¥Aº9tÃ*°ýÇO°ýÕ¬~)Št/Ç톸NˆKˆ¦°°‡pפLM ·ÂtJ,7GiÕG.uvѵ8/Cä3: ¦Úˆyí²-lâLRÆiY°¼u¹nM° ÅV¸ Ùv&Tß¶P2“øõ€ù«s>—¿A’ØÄs‹$±ˆc›‡Çcriàmy¡½£ÊÕóRJD z™`Fa™a±m Øä}¶×}J[ÅUC7ÂmD8g;ôí c;CßÎQ¢Û^Á67Ù\uØÆ+ÛáÖjÒ°»kÈV3¨µíåC*\.Ðÿyç=ñÄO<ñÄÿ[~µÂïö¦Ëÿú_¾%Š<¦³!Ó™F°Þ#PQzÚ3 õ¢~âÒÕszÚž®¾¤§e¿ìŸÍfcÒ…Mék$¡Í>k¢Ô¹4 j´2©K•4·˜¯Ôw ›F;JÈ*‹´6Ik E­9í_Óêoô SJNØa0£‹À?†Â‚TƒHî=¦æ„\5XÉ>ÒàÞ¶&Úš±sÏĹgâ<ЖÄ„&ÈW:Wñ˜«hÄÕŸF¬“F“ʸ`môød¼fygòxå0_:”¥ƒèª(gõE…ò"Cº’°p‘»á²ÛšýIpk’í ;èˆg:<3` ".s¸L‘U›Œfpe‘Ž`Ýì1gÌUv΢îQh¡Ùà¶qJ^ëÌ·#ZõÇŠq¬NJȤÊånÀíIôÓ®>_qjÐj£t[ø£ŒãfÈoÔ+~›]Ô.{µÁ^k² ‚°ÁþÎ'¸mÞ5©÷Z¡fZ‘T6+qÌÊè¼2±Å3ƒäØfï7XkmÖ¢ÍZé°Vt¹sŽXw;$˜HG‚¡öÁ‰3²Ø!¹\©d¥ËÃcŸÆiŒþJ KѪÐ=A =ôI±Š&Û1³û1á[÷ æÍ?÷^ð¼|àyùŽçåXÇÚ3•¢×äRo¡(  Q„DQ$U©¢Ôgõ5ã|J)tʾF©k”c•¤°Y;,‡=–^—Çb@&,öF“…ÚãΞnzÄŠ®XÑeÅ´ò©|Æe|Á§ò‚ªVq‰¹‰f`ô_L±‡!ùDc9ì"´ç,јã R…*÷×Ê¢Åâñ ÔŽÎÊn²ô”£&JSa;œp9T)†>·æsâ™C|ãß:$·•«R; ÍÓ_~ùH‰¨ÿ\nÒ̶øù¡vQ‹»—|ܽ¢¸r‰UAçxÅðè‘Ññ”^ë/\à… Ü`‰†|Lj>Æ6®{ì~®Øhô‘>æVŽ;XÇ“ã7\ß Ø ÿ“ùÈ“ð{â‰'žxâ×ʯVøÝÜtùßþË·”•F–Ûd™N–íÁ)P{&Ú—ú_¹Xߨt•NÄ‚SñÀ©xàòǨ”$KûÿfïÎã$+ëCÿÎ^çœÚ»ª÷žîÙØÍÏ]IŒÞ «"›¢$lÂPcL0×lü|q›¸°ià" ¨  5b‚Š—àÆÎì3½WWuíuös~T3@ddFf¼Ïûõz^]UÝçËwªëÌwž¥åAÂB¿ðS¼,Qa¢Ñ‰Óx‘AÊ=¥åAš³yvj“(õˆ8’‰B…8’±´…©*1%»ÊºÌÚè,0€‰ d!z¦ðÓ 'ÑmÛªN5)³-ôÑsFÆE/8¤²=†ŒŸæ ù)’žd4™ïoìQyœVŠÿ|ôxì`ªI¸OX°²,›%¶›º¥ã7¼†‡_÷C)£ Lú;!Êk=’X¥óTšÎÓYxZ"ž‰ [QË'ly »HŬ1áw@Z­“d|ˆ\¨9@†¢³Ý¦n°-{]-K3.ÐT ¦F˜høÆ•dƒ°Â.élÿú´Ù\jM¨MKôoÁfJE(@©€T6É Ï2žisˆ²×»SIJÌkCÌKC$JB§¥5“göñqæŸÀ©HH½öJëgü5‚Õüµú„‹? Ñ0içÒ,«y*Ò ‹¬œí— 1gR+è™)’bLÿ”p:&,'´Ú^Íf~±„LPš¯3š4Ë7›¬£2Ì'#,0L5,Ók¤qfmzmxXMÿ¸¤U j›õê<¯W7ñ:õ'4ò9Š£ÌGØ©àËzw̤¿ShŽ6Ã~…Éx'ÃA[îâ—5ü•@U©+ySÅWc§:Îö`Š–œeI+1›¥ ×™v²Ši\4dæ»ClÖñ¨s$¶$¯Ö9Ä~Œ5éÍf?J¤(<1}OTåÉ'cff/Iábà%ºåS©²þЭ¼êŸpÐA3oŒ²aÞ¡" `àbᧉÃ2EKÅÙ[ IDATæ’QIž¥¸Œ›Ha²2Ây¥ÎÔðV&ËÛ˜:¤‚±ì±ñQä‘<Í>l–HôþF9‰’–˜Rÿ¬ÏÔJߌ¡À² u7’• -9ª¨ä§ZŒ¼v–a{Ž‘Õs f)IK”¥*%i )†G£#hzæzlt$”Ô~C%’BS$T%ÂÀ%g»”õ J)FbYÃÑM-…£›è²Gq¢Jq Jq]+èËR:·$Ñrsüt³J°yˆ™­)ªsC ÉÖ'Cê’NOÊ3+bÈ>ë«rèkê¬)îäÐlLÞç£ þJÜòAáeÛo ¿n/K×[Ц –E¹¬ ¯ÑÑVkSÖ¤Œ Ø„¤qÈМíaèJA+!ª¨x;SHé˜H•‰Û2^Ï ÎÈÈkCbW"PñÓ:I,ƒ ²#˲£šž¡ã¨)Ù¤‹£ØZš8•;ƒM°sMÒ…*ö@™(£Z ‘!£¦Õ#•ébæzääzÛ!nÇtÛ ÇDŠ#¤$DŠC<7Äw\dzØf‹Bƒ ÉDiíA;Oâºàö@ê‚ÙÅÌØé¡öxŒ ™¤¦À¢Œß’éJ=I¢+Ë`€Yv0‡{˜c1úD‚3áä"#Â!&%ºŠN¢¦ðu™XÖH°¤.ºD¡¤âË=Ù¢•d0 f˜Çjw‘Z½¶‹#»Dyu$!±’”F’èH®ÈQ„•8däõžEäytýˆš'QQ©î4©U³ÔzEOÏ/ ^ÙŽQRꀄ5ÞÚì§¡e§™K#QqYt‡¨¸C,yƒÔVFwÜÀ$ %péoÂ!ýQ™”B,©Ä’E =b§ºä•zA¢ÆQ¬"Åmݧ‰Ê@ âìʤž•„Ð’p-‹¶U¤¡²0玳³=Æt2Ž'$ý#"„¡¨B:é1ÏQŽ«ä“õ GÝÏÒN,šq†f˜¥ei‡9ÚQ–DðÔ˜Ž’PSât Õn‘J·ÈØMêa–j#Ce>ͼ— (—3,f©ëybE¡ž*°œ)R(²ìäˆ\ˆ]ˆ<ÍïJ®¡ÒÉ¥i•Š8rš@1Hd•©aWÃíBÔUi+9Úz޶‘£­gñe}åh‡þf0–æPP[ «5&•Òf‡¤j‘,¦ ¬‘jøHZ²k‡TIìÉî÷اC"+ 6"+$M|2ødú£uy#ã1`ÕXeì`D#-uHÓ!…‹„¡FϵivòÔ:¥þHâJ“ÂG·h*ú0i£ƒ¥öÐCõÑUŸ@Vqz&®lâÈ&z衺!Š!»1^˜êOñ”û­ãe<Ȥº”2K”3K”2J+½“Wh•,ô!Æâ‚L ixžS5‘ÉJ¬Éìoªã¹ MÃññ[Ë­ÍNžf+ÏÒReÚ%Ì…tUÙÅ ´Î/஬…ud“šœ¦ ´‰ðˆIˆƒ aP¢Û)ƒÈI m$@kù¨žæt7ÌÐŒB$'Á›MáuL<ÙÄϧ0òf®K:ß&›·Q#ÉñœÙñÐežÓÍ©ôJ‘ª’îtiÍq`ó)Znš!cŽt°L¼ìÓ15´ÀF ä@#åDIÓÌÕX=¸%žGIQã:JÒ%m„(ŠL@Šv˜% "‚¸Õ?^AöCûmᇜ}X@Y‚A †$¤ õ€}<ÆÌDX¸¨$Hx´ÉàÄ^`¹ t%¢y ¤™îè<1 ÅhC.²Éý""EMBµ|tÛG³|ìt›h@¢Q̱Ӛ vjkX²FéfK$Å4Å¡ «Æç˜\3Ǫ5s$9 ÇJáXŽ•"²°0PÔ®GkÆfãŽ)¦·—Ѫ]¤ÄAJHâ$¢!Ò0R؇z¬?l‘V-¡YÓhÕlš5úÓe£žš©‘Ê5(Ûm†ŒCJLª‡6 ¢åzkLf‡™^bzq˜vlQ,×Ê×¶kä&‹šÅ‚b±([8XÈÈ(HhHÈhšƒjG¨r„jD¸qŠ®”¦³ÒBW…6øƒ¨¥B×"t<²‹üz½5ÒÄu¨“,y„VŒW’éF-ÃfiÙfvÖbë¬ÅÓ3&KÝ W£(D% ­€gô‹5·¿¡Œ9bö0[d =$#¢a䨦¬¦ ²Ü(R¯–X^ ^+Ò‰mºq/±úSOwD0ÂbõÓnP^Zi†&ªŒNV›¨2j-‘"¤7™ˆféDiR‘™ò³3“cqÝAOÂïÉ á6¨f-6f§ð²:s™1:Ù µlå•„jÿ‚n]T“R¶ÁXv0§áÆ)æ—†Ù¶4ÅÖÊ$Û“ÌÆãÌFã4â"Q¬â)È1¡ìãȹɈÂ*…Â*“ÆdŽv'…3—<Ý%Þ¸DÇŒ˜žÌ“tb9)!)2KÙ2u9´¼Kaq o¼ipg!l,5 65&èÕSL×W#1’!1J^ݦ;¦7Óï›VŽÆ@žÆ@wÀF·=ŠFƒ¢Q¥¨×QçYÍv&“ŒEsØR¤¬’:Øc ³Ìš· ) ’ÒÿÝ‘”ÉXizM¤çÈx=¿«àueZq%ê”iéb‹âd•áñyV™;)±Dh8˜´¤,Í$Ï\8JÝ-àv h ÝD›,sŒ ±œ `˜Š¢Z!ªé ¦¨¾ª¡z>V£Ýh`ÕèŽG"é é$’N$tuO7\3Oö:Ù‘f¿å›˜8…uuŒ’ÈHy GÊQ5!^´h·JXÚ¨6ê¡úšÏœ7Nªjûxí;’Iv˜“4Ë9âX¢¥¨Îäð»>íÍ02Redt¥TY2ÊÌ«CÌkÃ4´<ý}tUBúÊ™•¦“x Q5mqJ!ZÔ‘þQ+²!{1±$“Èê>ÊA!á B}°@¤+4äå&Òb i¡‹M2‹Âè…±˜ÂX„R’ Öê é Ë5¼¦†#+8M…—ÙöãA,B¬$ÄN" b z–Áàa‹dk`FÌðÙFÙ"-° 3×È“¸:‹ÞW(‹ ^A„ýÔþ[ø)iÐ' ŒJ°X'!MF(ƒ]ôÁ.f¦‹Eþ†½¨_ø…®JÒƒ¸£4t ž©£ŒG(DÈ„hëT+ h-ˆ[ ÄIÿ@øs ‹•ï2 #ÇtjMrÌjcTÍ1zÙHSÚÁú‰¼zÍÏxõ?'É@ÓÈÐÒÓ4õ ]ÍÂUM5…«¤è8&­Y›éGÊ4bâl“èŸJÞDJZÈFôétì\ÊkYܤ¡n²7åi5Ô•¢O‡¤¿v°dw™2fY+o¥l/‘ë’Îw°§º´–rü|ûÈÛ$éaÜžÍÀà,« ó¬OodÔ˜e“6ˆª áÈCTP‘Qw~i­GÚî’6:¤3]z‰Õß3P*!½ZšhIÅ›5ˆ¶iÄ=G\¤aeÄCÑCÂÇtÂG5’Ù¶ùDåw•B7Òi¦l–:6³Ûl¶ýÌäÉŸš´ ¿¨á²Š ¾ ‰’s0§šdÇzäË-¬BIŽi(9ÚJšØ—i7s´§s´¶åèìÈÈ+Óø$DR`>„Ù$D¦AE¤&°c iã"lLÁF0G$ìWÙ¤ ‹ô¸Åà@‡UÚNV•§™X?M²óÔ–)žÚ:ÅÎ-SÌ,Ž *Z¿©:†!1´fžÁµs ­™ghÍ<9™¬W#ç/“ó—Ù)¯áiuœêl¬FGÎRñ~пç‚ Â~hŸ,üâ8æÚk¯åÞ{ï%IŽ=öX.¸àdY~öE’ ²Ž¬Çè…m,F? D_`Ú>¦í“²|ô]SÆü]SÇT9DQ#d=àÆ(þ¡ßÆ€‹iô°†z˜öˆ32JŽv%KG“úyÉÆÈ™%¢¤CbUÑM¤$‘L|Y#T$Pc4ÝÇÒ»äô&%£ŠdƘf;e“6mšq–¦Ÿ‡Nß3ftÚsª y*KyZ5…2: †%£I!Å¢OiMÁßIT /ÈÓlùH‹ô§&F*Ä D*²¤¡ùê„X5—´Ô%«´xäíw’Š’ÉD=RN„ÒÒ”š¥ÒC2²C.iac‘"ƒÚŸûˆ ¤HH“#&-9ØrKíbK=)$V$9BW\zާ˜¸¡‰×5 ]DOHXogâe i‹^L²â,*4*iæ+Cl¯L±³2ÀÌR™ù¥*KY‚ŽZŠ0s2cUH¥H"‰$”H" ÝtÉ;ØZ‹”SGm¸x†‰oXx†‰—XtÝ4½v†^5Mo>ÝŸÎ¥òlïHý3Ó´Òr.B/D¤bìR‚™™¿ZcÃѪbÊ>)ÅÇ”}LÙcÞ&é`È.Š Ôä2R$CS¡ƒE'4ûk »&²£Š¡hý¥¡´#”FDâI8i†e³`P›-ÛGÙ¸qO<º–§·®YEE…~1+kýù²N£`RH“ˆ°Ê1µy§š 7{dœ%ºj‚ë•èz%B¯„IÌ@z‰ÌÙ%´v—å¶F½¦"/h´¼žÇÑ Äqɵñ4-ôˆ«˜‰ƒ€Óµ¨7˜­Œã‡R!AêÆH~‚ꆴ¾÷o˜Ç–I;u,¹‰yD‘L/²IP 5a绨z€¡xŠ×ŸZ©xÈÄýõ`+­婇E–£"j(áÉ|µN¬hH*äâ&¹°zÄ®ŒãZ4Ô<muœ9F©“'@Å<òR0Q‰B…ÐS‰¯eàµS4ZùþN™v Ùr1ä"HK`+–û}'€L÷`g1¨¨&¨f1fíª˜©ÚÈŪDžBä)„¯¦ãD~b¥u05|ÇÀŸ“i/˰YÂh¸hó·S: ËiƒNhãD6½8M(kýÉR„©õ°íÁ|HГq—Ó´ª {'›")(èrâ´ŠõGó])Cd™H}ÔDV5âP&Žúk U" èÉýz°›@/îJq¾º‡’qI­rHáàÔ œjjW¯îpÐgèó2z%&T º•,K•2r¥L#®“’ÚŒäg± ÓG®‡ôv¤Xì–ØVY…¤› ™Hº…nËxŠŠQè24¹@öð6ùN|Û'ߎȷ¡šøñÕxœÍázIi¡ ¹ßèýPAö”}²ð»ãŽ;عs'7ß|3qsùå—óå/™ÓN;íÙEMð7a„!%É¡d8”Óél€—Òð _шHáQHêŒ2Ç3VŠV9ÏâÔ(r+A•<,»ƒeõ·9Ï6X]c`°Æ€¼ŒìTW1m¯bz`‚†›'DÁk¤HZè2ù\“l¶Íhn޲¹ˆtñ—f;„å˜e+f“1DÌ«Xòʤ†\¤R ¥I‹èôÒÔæKÔæJÔfËtê&Q/ÆÊ‡L¼®‚ô*‹ê³Mo]'‘YÙ¢„L;•£V(cŒúH–ãþ¦½Y…Ec9ZK§•&7ØÂÌ9Šžc³µ½–)ÚÝ AO¥Ö`{g-~GgÚc¶—bÖ7h†)\RxäðÂcŸØ×ðœËN‰…^ U H™ÃÖSæ6¤øe?0ðMƒ^`SÉQÌS7ò´#‹8NHâ’„8Y®fØöô$aœ¢VeÑI±™8k,¬a“TV&_ª“+ÕÉ—6!k a¬Æj¿ù ël÷i?媌&Ä£ŒÊDi…XWˆm‰$/õ7íÓþK+(0¬Cè*8fLUQ‘v¤éÕËÌhM,Ú<ô•hî›0mkÈÇò°†|‚ŒÁVo-[¼5,z#´;|_ÂÏÈDk%eˆuˆôþÔÒ69Kïb:X]ì¤Kz¸CºÝÅîtÈxu¬¨ÊÂRŠ,®Çm¨lÞ>Á¶é4­Žr¬ÔJ3ÁÒ@OV]ݦS¬±Ø¶‰OÑYT‰ßüD³ÒÉ&´GÚ£)ZCi¬¬Ç9Ï”¶)i+–Þfn¤ÈÜáæ¬KUo$‰ð†#B3&Ö!Ô|YÃ%…ŸÕ 'T"W†È™u<@ PFB$<ª?xŒ™ÉSp꫘q³¤ É$i4-ÁÏix9/§“d¡”^¢lW(ÙK”ì%¤þ¶&@BÍ)3Ûc¶=Ál{œH—Ñ2>£™y&3;У­°Øf¹U"LTÙÈt{à8Ua _Ôa™ý‘iUëzšÜŸêÕ!g@N!g­E}°À‚5L'xKÞœ?×ï—Ô2U}¶–'Ö4XaQ‚މDŒ‚·ý!zî±DmY([–ÒAµCrÅ&Y§E®×Bo»ÔÊYj¥,µRŽf%KuhO+.çYÜ8Å|q˜éâ8; ãÔƒ¾¬#'ØGvI:„5 ¯Âí¤ðÚfzwL³ž6ýŸà¼óÎãŠ+®ø/…_ ¼Íè¡GYj°Öh²6Ý ˜ ¨(e*ê ¥L‹,FâR ÎX2ÇZ6Ó2ó,–F°&{HaŒnyd‹­þîzU†³ L¤gOÏ2!ÍÒ Ó<¢´ˆm™šV ÞË4Uâ†LÐÒ‘y²£mFõ9¦R[ B—–²ÐJ–%ê lfˆª_fcûr«Zd½­A¶PÇéØ,îfñÑa*Žº ¹±ùñ¹Ãjä‹5 Tvµ¬ZGÉkȹ "I5st¡ƒ>âõ7!ÑBX à„ ‹ñÝNšùÊ©áu$dºýS¾µtA¬ÑhhtótzžÆr·„ß5¨¶K¤¬§GÛwèDà¢MŽCtXE‡†_b¡=J½Yb¡1B^o0™ßÊ0‹Lé[±SÂAÀÔ †4QžmöÛ­)\C§éeˆã$‰I’$©W3DIŠåå¶n Fb¼ÑmŒ9SN7³ªŒ™UÆÌªã%n’ÂK ZUÊfÊvåÍ/…zx‚r¨¶Œ”Qˆu™Ä–I Rÿ€pþŒ5}¥%+…Y¬@¬ã64ªÕ4½%–ª.†ç Ñenë÷¹ÿî7“*¹Ø‡ú؇yØy ‹a[ÃTÃtšy"¢¬D´F‚’5jJ¿5$ŒÀ#g4(kÆk”Œ*~•’_¥ä×+!K[M·™<¶íªsiêÍ"fšö3…Ÿ™ît^Ô ¯¯€2˜&Xº=‹Å¶A{Qe¡+‘ôÈGä&zäÆÛtó ‹VŠ;ƒo»ØF—!mžuÚ&ç²Z“-ë°ÌU(ã*ô²´Í9›a*&6 Tû…Ÿ'x+…_lÈ0²¡|ô‚‹Qp‘k>¾§0óD…§´Úº¬¡+:º¬![*Ñ B4¤ ɨƒ!kJ›Y3°IÉØ­]ÉÊ95·ÄÌò*6UdÓâäÓuVne„yV›[ •Ùæ3 «˜]˜ ‡eÂX!4d¤TLÖl‘UdÍ6©‚Ëby˜EwÉph‡Š´#!²UPehùÐkC·½¸¨ùþ8ô•‘X­ÿZUëï>ZR`T…x,ÁYcR, Ú>n¬Ó[²é>eÓ{̦û¨M/mãdlzY›8«BK†šÔ_˜@„±Bϵñ:ª¢)ýµÉ©ŒCš6#Á<#á<#ÁNGÁq TëÌê0¦¬lPq;sËoëOkìÐÕêÔ{êÝÂÊHWÎø Ïut:d©Sb™1ê$ÎBwŒÆrí•5ŒY3LIÛ(Kšyœ²U!4Ôþyfh,%e”( ›ÌGÃD=‰8Nˆ“’€8i.Û4›6ìHƒbc½±ƒ9ÜÁšì`½¹Ã€Õf‚&°ulBÇÇÁ¢·Òä áS9–grtÊQmh¤’˜TÌ) U’û…Ÿ%õÏÕsé}©•fº²Ò4ÐÁÝhãÖ¡>ü¨+ß8ÈâÎ×¢Ox¤%ô€Oz½‡ªHt‚,vŽN5K¯–î$¦éf*°uå½ÝìÿèOZk3[bxd–±Ü,cÌ2Î cÌRÛlÑ_Key-ÿ|5Ó[Ê€¼Ò0š`JÓ¡lÁ™dSý}7²ÐۤѫH°)!G41K2#«ßÜ¡[)ÎâF]‘‡I‡2¦¤mÊãµeôÁ€dØÀ•‹ô’Ɉ¼×!ˆ‰5‰PUd ƒ £j qQ&™Y‹PS>†é`¦ºD-ß•™Û”ÇùA†pZ-Z¶ßgM˜ ?ðÒÓsðbMó)f– ˜!F^ïëOø\v‹Ì5ÆØ:¿–'vÎêüV&å Y^5ð3:~†åV™êb™Ÿl 3ñ8†é ²r“LªM&Õbœi¨aÄqœÐMRÔ¢<äHõ¯'y$8]è-ÃRB 2 H2ý—y¥ø£ÿûWÆ€µLÊ8C&ÍRŽÄLèÄíZ–Ö–­‡s´þ#Rs«²ÜïÃþï-= YÙ¤*Vp\»ÿžÊxØv‹”é`Ú= FQfXÃVÖ°•‚ß@ÉÆ8¹ •ìI6Ãr;Ãrk´_´µWÞæ+'œ‚l¾‰=ØÁJ÷(¤k„-d'Ó:½iعòúg6Ä VÞïC Ò¡ª’J»¤í9ø-gÖ¥ý´{d^µÄèš M-òšß­°0íã×sT*eây,'–*A/rIÕQŠÊ@Ðï³ý)þªÒo²ã:&-7ç¦ð–|ØêÁÏ=xØÇ>Ô%StȬsÉd»¨Š¿Œ;› ‚ ¼²ä_ýè z‹ IDATá¥K^éA„Ý!>¶A„ÿKHG½é ÉüàAÕ…|Q¾4L£ºÀ]_û:'½óÄ_øúžï ŠvozÌ>ð.»ì2Ö­[ÀÓO?ÍW\Á 7ÜÀ{ßû^ææævëg ‚ ÂËuæ™grî¹çîñŸ«( ‡¼þŸæ¾û\¿êüë¾VAØwÝõµ¯ìÖgúâÌvιðÒ}sªç† øÂ¾ÀÇ?þqâ8æúë¯gÆ »ž?餓xøá‡9òÈ#_Á(A„ÿÛˆûŽ ‚°¿Ú' ¿ÓN;ååeÞ÷¾÷pôÑGsê©§îzþÔSO}Þׂ ‚ ‚  Û' ?EQ¸ð ¹ð á¹—tÆŸðK}ç;ßᦛnb~~žµk×rñÅsðÁ"¯/ÇÍ7ßÌ 7ÜÀý÷߈\þ:|ðAnºé&¶nÝJ©Tâì³Ïæío»ÈånúÙÏ~Æõ×_Ï–-[X¿~=çž{.Gq„ÈåKôØcqÛm·ñÃþï~÷»»±ü‰Ü ‚ ûƒýî®ôÜ3þžù‹â—¿üåW:¬ýÂå—_Î9çœÃ7¾ñ Ž?þxþîïþn×s"¯¿žûî»xày‰\~˜/|á |ô£åž{îáœsÎÙõÞ¹Ü=õWÅ)§œÂ]wÝÅ]wÝÅÉ'ŸÌ'?ùI@äò¥úÔ§>Åk^ó’äù»¾¼XþDnA„ýÁ~WøÝwß}œsÎ9äóyŠÅ"çw÷Ýwß+Ö~áþûï稣ŽB×u6lØ@«õìyg"¯»ïÇ?þ17Þx#—_~ùó¹Ü=·Ür ]tk×®EÓ4ÞúÖ·î=¹Ü=ÃÃÃH’´«ŒŒŒ"—/ÕM7ÝÄI'ô ¿XþDnA„ýÁ>9Õóż¤3þ„_éñÇç¸ãŽÛõµÈëîÙºu+ŸúÔ§¸üòË)—ËÏ{När÷lܸ‘|O~ò“xžÇGÁ%—\ÂØØ˜ÈånúÔ§>ÅÇ?þqþöoÿ€8€+®¸ïË—JQ”_úø‹åOäVAØìw#~ÂË·¼¼Ì=÷ÜÃÙgŸýJ‡²ßú³?û3jµçŸ>¿ÿû¿°«vëº n½õV¾ò•¯pøá‡ÿÂ(ªðÒ\uÕU¼éMoâî»ïæî»ïæo|#W]uÕ+– ‚ û€ý®ðcÇŽ»¾Þ¶mããã¯`Dû—ÅÅE®ºê*.¾øb ÃØõ¸Èëî¹ãŽ;¸ÿþûw5`W/r¹{9å”S°m›t:ÍgœÁ¦M›‘ËÝõÐCqæ™g’N§I§Ó¼ç=ïᡇD._®ËŸÈ­ ‚°?Øï ¿gÎøk4,//ÿ ۹s'W\q—^z)¹\îy#T"¯{ŽÈåîyÛÛÞÆ­·ÞJ§Ó¡Ûírûí·sà"—»kllŒÛn»N§C§ÓáÖ[oell ¹|¹^,"·‚ Âþ`¿[ã÷«Îø^Ø%—\B½^çÝï~÷/<'òúë{îTÏûï¿_är7uÖY|æ3ŸáŒ3Î CŽ<òH>ñ‰Oâ}¹»>ñ‰OðéOš/~ñ‹|ðÁ\vÙe€ÈåKõÜ{æ¿ÕïµÈ­ ‚°?ŽzÓ’ÿøÁƒ4ª /ø¢|i˜Fu»¾öuNz牿ðõ‹}ß<@E{#vAAø­ ( ‡¼þŸæ¾û\¿êüë¾VAØwÝõµ¯ìÖgúâÌvιðÒýoª§ ‚ ‚ ‚°{Dá'‚ ‚ ‚ð[n¯¯ñSÕýn¡ ‚ üF‰{¥ ‚°·íõ;ÍßøÆ½} AAد½Ø:{AAØöjá'nd‚ ‚ ‚ ¯<±ÆOAAá·œ(üAAA~ˉÂOAAá·œ(üAAA~ˉÂOAAá·Ü+Vø9A²WÛî’u‹¯}ã¾½Öïïñìköµ÷ÏþNäSAá·Û~1â×Ú1ÍÿüÝ·Pݱ}¯]ãÎ;ïää“O~ÁþÖ;îâ¸ãŽãº¹“ 6ð7ÞαÇË ·Üɉ'žø+¿oÇó¹›¾Ê1dz×ây© §^ÇøG®¦ð§×íµkìk~öóGÈä^é0AAáíS…ß×þ毸ÿÊOrÿ•Ÿäëy ÍÛ¸ñô3xuv ·^ðA–g¦÷ʵ_¨Hzç;ßÉ?Þx;¯:ì@þàâËX?šãMç]ÂA£9ÞrÁ‡9òÀU|ìÓ7²aÃn¹ý…‹­=ω'ž¸+ž ú³]ñ8šå¨~äyñÜü¥=ÏK•Qb ;ŽöÚ5ö†pá)ü¯”ö/ ½W:œç)”G(”G^é0AA„ýØ>Uø¥2Nûà‰œrÖ!˜†Gã©MüóûÞÇ›W½šñt™×hãÜ|Î9{¥øûeÅÑqÇÇ~âÿå ÑïùÇë¹òOç/¾ó#n¸ô|>ùï?æ³çÅ]ÿE62Áï]ô§üþQoà†[öÞˆßqÇÇYù)Ÿ,ñž¼ž¿ÿ“÷òßùŸÿÐ9\ö­ïóÙóÎâ¬ë¿È<Îï]ô§ü·ßÝsñ¼“—^C$'Dr‚KL^zÍ^¹Îž”D!K÷üO”Goeä-¿GqÝ8þãÿú¡Pá¨ßÿN8éÝ»Š¼ç6Þ|„_úÜó^'‚ ‚ /`Ÿ*üžálüÍå€~ÿûyÃ䫱$^ÏE÷ídöJñ÷_‹£cŽ9† ú3.8î­üõ÷Ê çÅG¾ù=®9õXþû]ßæs§Í…_¾:ût>vï÷¹òý§ó¶‹?Îk_Ç翸çGüž‰ç¼c~—¿¼ÿ¡çÅséÝßåêÓßÁE_ý7œ}:ö¯?àÊ÷ŸÎ†KÿbÅó«ŒøÙ"O‰%"¹¿®kòÒk÷øµö”pãýx_½„µGHéw~‡Ä¯£¦ë¸?úüo4ŽÃ;Œþð‡Üwß}t:Úí6Íf“/}éK¼åŒ·pÌçŽáŒ ÎàèÏÍÅ_LµZÝÕžzê)žzê).¿ürQü ‚ ‚ /H}¥øe–v˜ÌþÇÏyÃÚד• z=) pS18´•pó9çðÞk¯¥49µG®ù_GÖŽýÈÿàoßû.>vß÷¹á½'qÉ7¿Ë ï=™Þu/ן~rË×¹þ̸àŽ{¹æ´c¹àö{¹î¢?æ´¿ý{n»ìÃÜpËœýžg‹­Øïí‘xþüÛ?äŸÞ{þ×ïíŠçšSãÜÛîáºÓçÜ[ïáú3Oào¾‹«?ø=ÏKÒ®¿~ñ—P8õ:êwœ·Ç¯÷_…±Ä²+óÜ­D$`Ðzþ´Ó¨½„÷oW’#»á$gލ=OäÌá¹ykt¯Çú\Ùl–-[¶°°°€,?ûo1W]sÊ_+ŒF£ ÉCo5øÞCßcðºA^÷º×`Š¢ðÖ·¾•ÁÁÁ—ǃ›g¹òîÐpaW<~éNnzÿ»9ë™ëÏ<³o¾‹ëßóŽçÅó­+ÿŽ/}ùNN÷¯ϯ2sÕŒäêg»òƒ{ô/f¾«F>Û[5‚•lI’Q“/$­+Œ÷GÿŒ\y”ñ£6 á·7õv!Ë[$âì¹Ó>ö‹ Iâ8fyy™M›6íz\r%æþhŽ9æv=–N§™¶¦ ‚ày?ãÌ3ϤR©¼¬8Ú:Ç@äqÔÃÈóãÇ Œ‚°_r Õ:äU“Ú¾xþùüáç?Oq|âe]û™‘°ëþåNÞõÚƒùø½ÿÎçß÷..½÷~®÷ |âÁÿÃõïzÞ|+·|ø"nøú7¹æÔc¹àŽ{¹þÌú#mïy|ó×øìygqüÇÿš}þÓ/{ÄïÅâ¹ö¤ã9ÿ®oð¿N>žû~üsþý“á÷þúJ®?óÎÿÒ7¹öŒã9÷‹÷ðÙóÎâ„?ÿ›—ÏKõÜiž¿ a,±Ð•ÙÖª¢š)‹y¤¤_œDq ¤ØéuÉ:í‡ÿ…W؇KÜ›%rû£|ÍF‰îl ówÿ;êàÚßXìÏH’„(Š‚€9}=KæhšÂÚ÷ŸÌAš‚¦Êh+½®)hªB¢Ém¢­qذɀþòÿ<Y¢í¸<=SáÀCÞB浇â¹ßûñcx®CÇ„aD†DqŒf,µ¸é[?ÚYAAö¦}f_có6žüú=¼iÕkIK_ù ¯ýðÅLv8CCC˜¦‰19ÎÉŸù 4”¬rh+½GÖü|òÉ|éËwòö7ÎÅ7ÞÊÕ§¿ƒÝý>{â>úÝøÌ1øè—¿Ê-ú ·þÛw9÷]'rÉ÷ð¹SŽæü/}³_üÝr7×y<Üv/W¼ï>tÕçyç;ßùk¯ñ»åö•xn½›kÏ|çsâù>sÌþÇÃ?æêåâoþç¾ëDn¼ç^¾óâC_¹—Ͻûhοí\{æq\pÛ½üýö²ây©úÓ=sj®Ì“õ²9‹¡¬…©(¨F MQQd™HQ0ä–¬0?ñ–‰šO¶ž WŸgÀ:‚ôÉŸzEŠ>xvÄ@–¥~¡§ÊT·ü˜GŸ~íj~üÕÏòÐW>÷šïßöD•MŒ tMF‘¥=Kª\&JgAVPT…n»K£Ù¢YoÒj¶h5;´[-§¿ûé´¡Äq‚ ‚ û²}bÄoùÑ'ùç³?À[Ö½;•æÖMðš /`õ‘¯¢X,bÛ6’$áû>Åb‘“®¼’;.½”×»v í*þ^ÎÈßwÞÉ»Þy¿÷±OrÝà¯ÜÇõgœÀE_ÿ׿ûλñfn<ïùßß¼—÷w,Ÿ¿ënþáÔþ¿kO?Žso½‡kÏ8žsþåë\÷žã9Äü!_¼ãküáé¿Þˆß©'ŸÀÑ—~‚ë>pjdñŒ8ÿ«ßà†3NæƒßøWþáÞÆEßü6WýVn¸û›œýŽã¸áîoòoÿ㣼ùWìñÛñ<×øG®F‰%vü¯ ~á9™ˆä ÀU¹)æ—~ïîªôž¨/Qʦy¼ÑeÀ–ÐB_1ð㘠q¢ßwñÀrn”L}5ÙíßaÓ²MǵÙùÚsñ­Xêá…!ï/¾ì¸vWÇ<òÈ#\}õÕ˜kÞÄê ‡ò“;þ?z› —˱´´D¡tdÿÿyþa†‡‡¹íÿÜÍæ£ßÍiý9—]rÙß#±hª‚²²Î0 C¢ÿ¿½;ª¾÷8þ>gf²ƒ„…‚Ô*bÁÖ…Ç^èmeË!, „„-!È" (P ŠŠ !1²“Š·µ­è½å–Jµ›  ˆ(!˜m¶³Ü?&…LBrõûzž“ÉÌ9ç „L>|‹¦óå¹2þùÅLLLÝÛѽ€À&¹¯B!„h^-üêB߀»úÑ.¸;?9Ê=É“éÖû^:tè@¯^½PU•   ‚ƒƒ %zÅ Ìç§ê÷h£qo~-øR7¬ò…იSpØ;\r÷>¶ŽÁœÜäÏ›EÞá7IŽŒ`kÉ>&FaqÆVöΚĺ=E|f>¿žMñLË/%mòR7må·njô¿Œ<;KFñÕ3}÷>6'ÄðlÑ~ÖÇdMQ)/GG°bw«R&úÂßæ‚Þ~ái^¸œ´±LÍ+öÕstËF¿æøuŸ›†‚‰®rÕv ºjbÁÛ}RQ}Ïëª‰Š‚YÛÕBU ŸAù‹_ðE3\š› à`B¬Z­üìöÎØ¬<šŽÇÐqz<85 —ÃŽÉ™jÎErîíOè3 –vw÷¯wÍÌN6ºœ>}š´’4ÔÕ*•/œÅfUùûá<–/_N¯^½8pàmº àì?Û3zôhÊËË™÷Ôæ,¦¬Íi1*4Q#×fµ`© 1aÄ/¨ªªÁåvãr{pkÜ.7Åï¢éúB!„¢¹´hð«üðcr§¦ðó{~J»À¶¼zòw%ÄÓ£÷½ÜrË-hÿ8Áû·ðÙY5eg¸û?Ð;z,ÁÁÁ„……ó žy†þ¶.ÄœdÆÇ³èwo¸»Ý΄QCyhò 6Ï}Œ™{°qÔî,`×Ósë…¾ñƒesA ËS'³¥°”婓ɲS4o*Q«ÓIAÊö"6%ŽfÛî}LKl\Ç/1v0¥ÎfëìTïê¡c"˜¶«„©‰ìýÃÛ,Ÿ0ž­ÅûX™<­Åû˜Áæ‚’c¢È²óîª%<ðä22¢˜²­€M‰£Éy}£ê “AÛïë ‚ÅðvõêæòÕÍë»òXÇb(Þ ª  †aÐÞ¸´ï_c¹àTù¸¢ŒÐ¶X/KJIÄeBH€•¯ª\ôŠù5ínmªÐ°pÚ nGȯBè¦tã¸êÀfõ³ Æ0 l6wýøN.žFUU‚ƒƒ©®ü «E%ÄÂÝ}»óîêw ýi8å:Ûèz ÃÄ£éüõäg?}£vQ—ŠÚaš¦áÒ4\nÝ£Qåtúù' „B!n† ~ÛgNã‘<@ -ˆßWý›€¡ƒ¹ó¾>„„„Pþ÷P?ÿ Ç Àô\@¯é‡9Âö”׸pmº„Ó­gOúLŸÁß·o£‡'€÷¿:Ť¼œFÕËÆí{Y›œà]%>’™{PôD [‹ö‘Eúž&GG°¥°”䘨zÇ©±Ãx|}š¯ã·yÂpf¤çpl{F£;~·ïeí„8ß uáï…vÖÎH!« Ø7¼óòº²ìžº?ûý—¼Hfb4³2s]Oû®Ôº+ÃÝ•ë¶u¸œŠJÝèOEõG‹¡ ë™€¦x¿|MÓ@7L<†,Ýsˆ UܺŽa8=ÿyoO~Ø¥JkêQ…ƒ¯ÐÉÖ‰Û-·ó7å6«w¨eEEï¿ÿ>aaa|q¬€=zpüøqßéV«ŠU±rGðtj߉ʥ•„†…SþeãŸÓíÁ4M,j;´ºa`S<šŽ¡hn Ýé¢Ê£¡{4?ÿ„B!ÄÍТÁïçóçsêÕ½¼Ws’˜•¿fÛ¾\¼x‘þýûsà@1 }P¬m1=èyOg’gPT°—¸VòÑGa eBF&iñcHLKã¶~ܨZìv;SÆDÐoêlÒfLö…¿1k6Rúì|¶–2exdƒ¡¯.l-Mäªt6Æ !9»€ôä¶ïy£Ñ¿†ê™¶³û㓯êð5T×Ĩ!üdÞ2ÒÇE25§È¯zN­›îÛª¡.ä©((˜µK]úü¥g` «P­Zh§(*(¾!¡Ÿø1×OÓutÓ@3 \†ÓãÁ­hÌ6Ã4që:.Mík¸5—桬ÒÑèû5‡ò÷ÎÒíÞR‘UAY÷2T_ð[ºtéמ»lÙ2,•óÚy4S£ì@äÓèÐàÖ LÓ»U„¢(µ ÏxWIu{4\nîýëÕM4íæ.æ#„B!§Eƒ_ï9øò:7l¬7//44]«ÆbÑ1=`ÖmÀmè ¤} Vë¥Ò;„‡óô[ô«–ØØX¶æÛY7e©ùÅd& ó…­Á¿\Áþ¥ }¿ºpõØÚ<3*š”5X\úÒÇE2e«Œ¤håíá­›SWWÏúä„«êY»›—&eQf6OŽ΢ÌlVÔ7õv& I‰‰â'ó–ù†ú[\Ú—ïëwéúä&_°¡ç»ÍMÃÄ¿ÀÞ~¢EUÐ —¶ÐŒ7ÿ‡j‡ ÍЩq{=qi÷÷ çžð.~Ý·9Ü|+AYA}ð(ªz'·w ºîs-ª‚Rפ"¿Â¯Ðàt¸p) Þ_w¨¾üâ<š¦@¥Ç@Ó44]ãÄ…jhê×ý„B!ÄÍÑâ‹»½œß®\BæŽbÖÆE‘¼½´±LÙV@zB$ÉÙ…d$Eñkûüö•}×mLÇïòzRr‹¼õä‘>.Š”Ü"2ÇG“új Ç#Ã^ÌÔ˜(îâW—:}µsûÒÆG²jÏ>¥­mt=7ÂT•æjÌÖÓÖ¦ÐÞ¡Sa Ä£W¡¹½sÓlV &ÞµITCAµÜBÕÆm·t¦}Pë ~uTUAUUî{¸?»ÿøUAUïR¥Šª‚©¨¾£¡(4UÌ.«rPãta©Ý¼]uVÖéVÌÚ ïr:q¹ÝÞ¡žZýE]š?ê !„B´Úàg*L½ ¦áúÓ;ü³ÄÆz;aIñ±<û›L2¢xìµRÒÇE1-¿ä²c4?_ø<›S›–_o8åÔœb2’¢X³‹?eþ†’’ßu3ÇïÊz¦æ×;NÉ)ðnΞ_ÊŽé Ü÷ø2ÇG“²½¨^mŠz¾IÝÂ/pi‘—ºÏUŸ¶P¾»ñ{ö]KÇ ÍÅs±ŒÛÚ´álE ÚÒÿžî`‚f˜†‰Ë©¡brwX7¾ðÍnAUÁbQñð⢙œ9u¥v Eà¶í˜¶èyîºï~L Óº”†ö°¸Aó†>ÌñÎòzïçð½Þ݇ÓéÝÔ]×q¹\¾ó¬úö¼Íïû !„BˆæÓª‚Ÿçò.‚¢`jU XÀô`x*1M O³Ü»®f·ÛynN*£ç-"ml$“¶îeó„áLÉ) s|´ï8æ•\ÒÇEzWïLŒò…¾yÙ;8øÒr>컞?¿ËëÙ2!†IÙ{Ùœ4œ”Ü"ß1s|4£~“Cfâ¥Ð×Ôõ|#SÁbrÕvªG£|wãç~“ÎmtÚÚBùäsáí ÎVy÷•ÓM‹abQÂ;´¥[‡ÛéjÃfi}ƒ?ûì3:wîÌ >}èÒ¥3ëótÏêÈÂ~D œpœàUïæü‚‡;Öÿ}|õ•ÿu„=}Ͼþ;¬ªÂ¹ü‹m»÷ûžßÿû?×{}·Î¡ô»§íƒ™=ø!ÿ B!„ͦU?]¯?>Ðü¬`j˜Z h5ž¯ï<§à&žãwyØz}í †=¾€3HÊÜŦø¡¤l/"31šäì2’¢IÎ.$sB4)9EdMÆ’|;ÿõò*Ž9rÕõÛñ»²žüicIÊÜå]=t[ÁaÏ;¬3%ÛNÖ¤,~uo“ÕóM>];îsÓêíçg1N½<»IïÓ¶6“J£’ŸtíÍÅï °&¦o¿¾[ÛZZõðγgÏrôèQ}ôQ*++©¬¬DQ’F%±~ÙzŒç ÎØÎpfß xˆ^½zqêÔ)€ËºMhC‚X—8¸öQÓÌB!„-¯U¿zLÃS‰¢XÅpcõç9šè‡]¨ßa«;oXͬçV’™4Œ¯ï'/5Žñi;|¾¬‰ÃX´£”¼iq¼´go¥¯ãàÁƒW]Çߎ_½zž±^=‰™»HAò¶B¶LŠaÑŽRrRãXg£Ië¹u{ýÕ…?Vÿ¼Q5š‡]'?¾²+þÂäIDATæóš®cµ|}ø«t·Ìfäå_ž¥k;yê©§~ÁPQ0_ò®Ü¹zõê«^Ò¯_¿f®R!„BüÖª‚Ÿ¦¨tìØ·Û͉¿þ‹ì—†uš¦·ؾã÷0ÛÔ i6› ·Þ4«ˆ4Žìv;¯<û4¹¯ídËÂYÌ]—FÞcñ,Ù¶“ücYµ³ˆ‹gSú»#oXÝàùMÕñóÕóËùä¾¶“Í f2o}:y©q,ÎÞÁŽ™ ÍZÏõª>m¡}WƒjõævØRÐrsÌúö¹Ê‹e~]ãÓ?¼æs¡aá˜GL¿÷èB!„ß]­*øUYøó™sü9;FOäÊJ\î†sy÷• Ε_dÔà~ßûëBRÒ¸xßpK»ÝÎï6oðuàìv;sR’¾öü¦êøµd=׫9qù®“À'„B!ü¥ô¤ŸùÖŸŽpñüç×|Ñ-ºpñüç1"føU…BÑ|êÞw/w#ïÁò~-„ß…E7ô=ýܧ3uæÜÖÕñB!Dó¨ûaA!ÄwSÓî‚.„BˆVGº}B!¤ã'„B|HøBˆï6éø !„B!Ä·œ?!„B!„ø–»®¡žÛ¶d~íãkùðƒc7^‘Bñsgï¾-]‚Bˆo¹ë ~WÎ ¸ÞyòF&„B!„-O†z !„B!Ä·œ?!„B!„ø–³¸5-]‡B!®ázçÖ !„×¢ úų¤t?5U-]B!„Bˆ&Pvî ÓgÏãЛo)¾¡žšÇÓ’5 !„B!„h"—³ÞcàЛo)q£GRy± Gue‹&„B!„ÂeçÎPq±Œ9ópèÍ·¨êYgÐ/˜+—-Æj 00¨%êB!„BÑH?¹ÀúàŠàW§ÿ#ýÌ›T“B!„Bˆ&ô‡·ß¹*çýr†„Œ@¯ùIEND®B`‚traitsui-7.2.1/docs/source/tutorials/images/application3.png0000644000076500000240000132631314046644454024637 0ustar aayresstaff00000000000000‰PNG  IHDR~¬‚@usBIT|dˆtEXtCREATORgnome-panel-screenshot—7w IDATxœìÝwœ$eøñOåê®Î=yv6'`‰fŬÀ¡"b:<Ŭ§(âéïNOO‘(*ˆ ˜á<õA<ÄŒ ’—¸a6Nê«+ÿþèÙawÙÙ–]–ð¼_¯gjºÂó}ªº§k¾ýùv¼f ·QÚaÃoÿÞc ¼ñ{oLÛ ‚ ‚ ‚ „AÈaËæÓ\ó‡}ZïaËžÇσÀ÷Ÿ’qßç¬7B¡îD*@¸•-„¿OïëúA„ÇfÑ»¾Àè·ÿe—…‡‰c#‚ðÄE!ïá9}Z¯î{DQ8“·<Õâ ´§“@µÖr ïÓܧA‘ø ‚ ìsKßû£Y—­ýÆ›çTÇ»¿v;W¼÷°G<ÞV÷\ëy*ØÓ>ï|¬A„Ç_†ø¾»%Ã÷ Ãp&oÙ]œüî¡9ÕyòK–?¦8«7”¸gCi—umká ó¬Z˜ßcèædµ–Û½¹K¸]wàlj›ÿÎäƒ?CRMF?3»`»Ê$IB–å¶ÙS‚ ÂÞ{Ù³ÚåüËßyðœ¶ÿá7òFÿõ|à;÷Í<>ã½ÝeïûÆÝs®ç©bç}~ðòÍŸ7| š&‚ð´†A·‡ÌÝ·‰_à{ÓuoKÈføg^õ÷ÝÖ÷¹·={Ömççε3q>÷¶góæu¯üÑÖí0ŵÇ8ÝyÓ=~ÛïnXæÔ}ײöWoBRBšM¸ç7òªÿx72ùØÇ>F³Ùdbb‚L&ÃYgÅá‡ÞÝ!Ñã'‚°_½leúó®þËV^ÿì~rGœ@îð× ZyÜê¥Û¯}ĺ+>p-¿ýœ}Ês9ãÊ¿ÎÌÿíßïàþK_;kìƒ>ôÆ~ýeòG½==ˆß®P¾ó'”ïúé#Ö›øÃä: ÍÊqÿW_’Dþ¨×“]u,ª•Ço•¨ÞûKŠ·]Qô¨b€DîˆÈzô¡ŸÌ€0ö#>¼Š¾ç‚ѳ ‰öؽ”îü ­MwÌzA„=‹Âý342ð=¢p»!˜»‰øÞœê›mÛ½‰sæUç3' Àg~pÇëÌ%<œ“Í$~»–9~ûe4[!•ºL«b;e:S÷pÕÏî£îJÈF–û×ßIà­çôÓOçæ›o Â~wâ39Ô#sèñôýnÖÝñ{Îþì™4lŸÿ8ã³ ÍRÇo¨qâůbÕGnvìM¼ä_ï6þ:å~wÑ©üî*§|øLŽ~É{x`küäovXïöjž±3ßÂMwŒQµCþçKŸ ïyoã¶_ý‹¾øNzÛ‡xÃ[ÞÁƒãMÒo@’¤9ÇèyÆëé?ú]ÜwËÿqîç?Ë1'½·½çT«“ÙrÛUõˆvüæo÷ívŸû@Kþe1Ù#NØcŒác>†jåøêç?Î/~ý[–­8„·¿ë=<øçßsÐ`|·ÇQA˜Ý¶kâöõPÏ`úš¸`§kïvg[BvæWí²®Ï]½z·ÛÎ5ÎkŸ9À™o\Åç®^ ì˜ðm‹ÒsG溣3a:ñ‹‚€p7Ã2 …õz?o>ýr#(<ZÈ‹—Îç?½„C—[|õ‹«xݧ®ë3Ûí®NAá±ÙÖCµ½»/:€ü'ðéÿ:ZUíq˵—ñ¬£_1k}×ßVbûSÙ¶ÞÄëo+qÂáìYÜæk_€ß˜äY -nÿéåý’W²ìè7ðÍOüˆÌ̬÷¯]ŒáUyîâ®æŠc8ïK—‘–|¶üíjxË;Xöܸø‡ßâÍÏÎÎ9Fî°Wðù/\‚:LÞz=¼çT–>ÿD¾ú±+yÓ3²³¶c{ÛïóöÇâúÛJüû;÷CÖbøžÇ½k7³¼Ï$Õzˆ«.ücUì dú’ê¬ÇQA˜]ìÇ¿ œÉ[vg[âø'>kÇR¯¿ulfÙ¬=qsŒðš#{ùÏ×­àœëÜaþ¾n'>khÖívŽúÛ%~ŽÓÁnÏ~s—=ï$ô¨ãtG³Ô6@Ï 84ß=ãÅ )ÐñùÝ—_KU9~f»ÝÕ)‚ <6³]ãwîkrhÉ>&'Æy΢8I‰风ñÊe °û÷óm1’zÄÊD7FßÀÛÐâà~…m·E) ¼`iŠ|\fe¯D*Û @¹\båây© @O_?wnisØÊásŒqh¢€ï_÷ËÚ600Ä›Z6¨ÎÚŽÙöygÚb¤o¾‚—¼ŸË¾ó#Â0¤¶õAÖÿúëÜvëßY7Õ&©È»ªZAØÏsh9>妳OëµÏsfÎs»‹Órü™éÎËw·ìÑÆÙ¹Îçín›ãtÜí?Ib‡!5;sW}ýú×ÂpH*ÑxÎóžCŒQ¸±‚Ê.™yÎÌv»«SAxìvu߯ÖQ›ÄÈÑ?0ˆ©ÕYÙ§é|ÔõÏå}|‡}ÝSc8^À¦j¸Ãº†*±¬GBU$¼f =ÕG.—ÇP\–t«âÔ$޲¥Í9†[ŸÂÈ òú㎦RÞñ;i‘`s-ÚaÖöí˜ë>Ï%ÆÂ[¯æ+ßù!N|>‡=ã9¼÷ÔcùIgñàDZ´WÛã±Af#MÿŒ±ägwNÍ©†ã蛵î‡ßûg³ã³/Ÿ}ÙÜãüìÎ).þÙºGÌ¿øgëøÈñKv³/;Çyø¼6øÉHÒ®?…¬Ù!Ïÿšƒ|Ÿsëßã9c¿cAxÏÞêñÑ¥гi€W7pc°’Üú)žwÔ ÛêAö¯cWè˜7yë5Ì?æ4þõ#ÿÎ~p!©”Îü—huN ŰêszßUŒk~ð= MÁÞňSëö¨•îùƒ/xoz뻸ÿ—ßfÁÑoàÆë¯ÆÐd¶ÿ sO1&o½šù¯<÷}øãÜvý¥¨RÀ¼¥‡ñœãNæ_8Ž÷Èë¶vÌuŸçcÙÎá„ìUüýÎèl½ ÛîpÕ­MN{I–KœAö†$IHÀ®>›“€/ï"IÚÞéÇ/™u[I’fÞû÷gÛô¦’Íí—=Ö8?»cǤïôã»wõܶÿl§¿„ã|dò·sœîÌî9PŽŒ$ïúίÜ<É)/êçš?OðíìGÉ_}‰ããèöï™|è.îO?ƒœæsñ·clãíäoü)ózsŒŒŒÌZ§ ‚ðØí꿜ûb¦n»–;Ç}ž{ìÉ<ÿò›èT¶²åOÿMvå‹v[çø-W’yÖ[g†3n«owþü‡ßòÎ3¯`phn³Äµß¼ë¯þ–÷Lj©»èQ›>7Œýé»Ü3áóÒWÏëÿù¼F‘ßüïå|ÿ{W°(¯an·ížbLýãZþ¶®Î3^ñ&^~ùM¸46ßÿþ![+ÞýüGöŒnkÇ\÷y.1Š÷ÜÄðK?ÀGß¿ )Š_wçœ{.H÷Œû¼l¹±Çã)‚ ì‚ÔMjvõñÙ\2ŽÝn+=|N˜KœÝ%™û2ÀG_«§¼¿„/MÇžsþ]% y–O8ï-xÌOzwTÜ´}j=i…÷sðªÃùÝ_Ö°á¯×SÞ´˜þdŒT*Å-·ÜÂ?ÿó?ÏZ§ ‚°÷n?ï¥|üdz.ÿÂIÈ\Çg~üߌ;¸~DÞRXù¿×ñ§µûß¹®©¿ÿ/~åÜ?a3}-øL}³ùÅ׳éö_²¥âÐvLMfeŒ¡¬Î¢¼úˆ3ç†(¤þ×oóߺ˜±ª‡ëGX†Ä’ùYƒ‘¬:ç²$cnü_þøul(9´½M–ÎhÌÏëܶÙCž¥³íó®Ú½§Ï’þÊÏÿï7ܹ٦Ú€DLaÕPE–ÅyQa/u{±féM“àß^µdÛϾ­´].ôDˆ³|К‰óê£îÕ{õQ}3ó—ZsŠ oßã'í¦Ço¤¿ŸnséOy¼æ9nâ,ð Ó¢íú çùÎ5GÑ»Ð"—‰S*•(‹ÝÀ¢ÇOa¿8áð Mg–ëî³yÕª8ÃY:$ÁÚ‚‰íF„D˜ªÄñ‡¦éLE$K;Ô%É/_i1?gÐñ "š©owÓ+tš£]‘XÖ§²0¯=¢½ÛŸ÷h¿*Ɇ²OÇ‹ˆ"ЉE=*K{ÕGc^Vã¸C,ÖtÚnD‚,AÊ”YÔ£ír_·™mŸw^.1ž³0NÖR©µC‚ iH¬ÒÅyQa/m¹«·Ñ×µ»ëÝöP/;æBO„8+‡,VîâËÙçÒ†ãÀN=~ì<t;gpþ±:[ªPh|ò9ýIgò$þô—[Qd5õl ƒƒƒ<ÿùÏŸ®V|²)‚°?¼dù®O;ÉêŒdy àîꚟ3˜Ÿ{ôC_´tö6ÍÖ^I‚%½Kzçow1†2:C™Ù÷w¶v̶ϻZO1ò ™ç%Ä×6‚ ì[Ó×ÄíóZ§ëžÉ[žjq@Ú¾ÇowC=»+KŒdÙaØ ™CX²â\×¥Ñh ë:‰Db‡;Ȉ!-‚ O]wáNÿßÍ3÷Ç{þãCAxâ“%‰{×oeÕ³Nܧõ®^·u‡\è©@fŽ7wÙ]×Éçó»\&†´‚ <µÍ6tòÉCAxb;å% ùúÏoà7û¡î÷»â)>wJG¼8úñ9o£±þoû!¬ ‚ ‚ ‚p ´€\µ®Ûã×±Û´šõÝ&AAAa?P®þÙt;AAA„ýDµ2}œqå_¨gÿN(AAAáÉgrË~yêGwù…ï‚ ‚ ‚ ÂSˆHüAAAžâDâ'‚ Op™žÝAáINÝó*Ÿp¾û­+8ñµ'<âñž¶Aa÷v{­ý__Hæ¹×ã ‚ {mN‰<ò„4דÏ_þò|ßt­A„§UU9h٢ݯ$’?Aá1˜sâ··|ß'‚ýFAžúDò'‚ ì¥ýžø ‚ ‚°‰äOx±¿ûÊÝ„.öŽ_è&œˆÄOAžlDò'<Øß}%ƒGgt3¸ñï¾R$“‚HüAáÉè¯/„¥WïÕ¦W^ã>nÌË)'¾êóžêûüx:åÄW‰¤o;ƒGgDò'<)ˆÄOAžF®¼þÆ]&FO%;ïãÓaŸOW^#dN甥â˜nsõê9å@7Bö@|Ÿ ‚ < ]»ñmz›§Ktʉ¯šéá{ºìóãIOAxr‰Ÿ ‚ <É\»ñm¼üå³® ‚ ììqIüV¯^ÍgœÁË^ö²æ‡aÈe—]Æk^ó^ýêWóÕ¯~•0 ÷¸LAž®DÒ'‚ ìÇ%ñ;÷Üsyæ3ŸIE;Ì¿úê«Ù´iW]uW^y%ëׯçšk®Ùã2AAx:IŸ ‚°·—ÄïÊ+¯äÄO|Äü_üâ¼÷½ï%“ÉËåxÿûßÏ/~ñ‹=.A„§‘ôí(Û;x › ÌÑšµëxû;ßÃâåÑ?<Ÿ—½ò8®¿á§ºY‚ð´ó¸$~Š¢ìrþ–-[˜?þÌã… ²yóæ=.A„§‘ô=}<ÕÚÑ xõkOâ…G¿€üõÏl]ËçÃu×ýä@7Mžvž”_ç°zõjîºë®Ý AáiæðÃgÕªU{Ü]%}™žýòîkÖ®ãìÏŸËo¹…V«Å!Ìi>•OxÍ>©?Û;H¥0¾OêÚfK´Tô±Ù×ÏϹç_Èiú ïy÷;gæ=óGñ½ï|sæñ†ùä§>Íÿt ¾çñ‚<Ë/½„¾¾¾™6]tÁy\réeŒOŒ³xñb.ºà<6mÚÌE_ú2›6ofÅòå|í²¯pðAgŸ{>ÿýßÿC³ÕâøãŽåâ/}D"1SçÙŸý —}íëŒOPžÛc;áÉî€&~ÃÃÃlܸ‘¥K—0::ʼyóö¸ì–[ná‡?ü!üzP€Xˆ‹b!Š“lLÉ&.Ù’ƒÄö×F´] ÛÓv,Ú®EäKàL—èábj6™D•ŒU!“¨ F.•bŒZ1FµÃni¤z’y—T¯ƒ•õh”SÔ+iê•õr #ãËÚ˜93kã+*NdàDÈ$p"[ž.Ø!´h»ÝiBÚ€´Þ&µî¾+Q·È€8t$pÀ2›$b ’±:Éxƒ˜ÔÁÌÐÁˆBÚrŒ¶lbK1Ú­¢I»hÒ*š8   tL)"§äTˆ” HÒ$Ic¦´<‹º—¦æ¦©{|Wí×風šå ÇtËEÒ"Ü@Ç ÜÀÀUd%è5@’BB[™)‘-C+z¸4#”´Öã£õxh=>‘!áG *~¤bFòa‰|X&–±¢"( ,Ê2Òt!‚r1K©˜£TÈQ.æˆgÛ${›$óM’½ Lµƒ¹è‘‹9¸è4¥$u)ASJbc¢ ¢>*>* !vdâ„&Ф™¨²"(²*ø{ ¿­Ø~[%B0£îT‹äY‘”MòˆKm,ZX´ˆÓÆŒ:‘ƒu_,H2¤H2õv†J#K¥‘£ÒÌá©*XR"D²"!ªÉDu êR÷õ¦Ý© Ø@g»© HÓSòÉ=™"=©"=é"Ž®ÓP’Ô•$ %˜tfІ‡‚J€B@88˜t0p1pÑw(!!22AC!¨©ÓEé¶Û~]º Y.ñžñž6ñž²bcÒ!F“…6&61lôÀ¥U4hõ™BLÛ±0ý^N—€îûÌô{Œbø˜ÙF¶ƒžqÐâÞôk0D""B¦˜tÂÀÄ uRJ¤\'¥4HÊu<4\ô™iÇ3q“Ž£ãÄäÕpÑtÍp‘”h:‚Ü-ŽDP J2AA&jÙãëq0zŒ¼K§Û¡¤b52ñ ™X…L¼J$K3ÇÝAG‹|âQ›xdc…m|TJä)J9JäixI¢ŠLT–ˆÊ24¤îëCÚîu›.ñé©!át‰@Þñzq•MrÑ%Mr§_ÌéWŠäúÔ‹:õ¢F½¨Óªh¿ ‘$dd£[¶2æ^ËÉ'Ÿ|@¿ezÓ¸Ïf[ïÌÿû·ÓùÒEb%,î¹g5_¹ô²}–ø=èdë©ì÷¿ÿ#Ÿ=ëÌÝ®sò[ßÎç~žï|ó븮˹çOžqߺâò™u~÷‡?pã בËe¹ìkWð¦“ßÊ+_þ2®¿öjr¹,—^ö5>òÑó«Ÿw¿Æã‹_¾„»îº›ßÿöW¤RIþã“gpÖgÏæ¢ Λ©óŽ;ïâ7ÿš|.7çv“ÙMüŽ9æ¾ùÍoò‰O|‚0 ¹âŠ+8æ˜cö¸ @:ú¨o»L "åCÈ…èV‡^oŠ>w’>oŠž @2Þ$a5IZÝ麱¥¬[ÎÚ±e¬[ŽÛÐÁ–  ´%tÅ!k3mb±6½¹ó‡70ÞFF†6¢x-ük?þµÿÚOq³Å’çqÐó&8øùc,>¢Äæû°ñÞ…lºw›î[€1Ò!¶¤Mlq›Øâ Å¢ìffŠßÑQÛª¡¶²ƒ?Þ$kâ5:!ÁP–p0K0˜%ìKuÿ)ŠKÓÿIÝ šÓÿH5d²=›Xп£,è¥×Ÿ ßœ$ߘ"ל t&ÕA.ÿêV^üñW3Y륰&KaM†ÂCYªã<5‰§%ñÔ$A<ŽºÂë–•.êrm Õ,T7°@ÛÈXy˜µÅå¬+,cma~Å„jUª>šÙ!5Ô 5Ü 5Ô@ÉFÔ• u5CCMãh&I³Ö-±q¥E}}‚Æúu êëXÕ6ñZ«Öªµ‰/³‰Õ!~¤MìÈ+F¹£ÒÎQigé J›‘63ŸM Ec³ãbØ.FÇ%4!ŠI„¦Dƒ ã‹X³ik6®à¡+¨Æ3¸Ã*Î< gžÖM’Ö3…²LÇ0é˜&ŽaâIJ%@®(eµ`*61Å&¦ÚÄ”Kç­eùü‡X> Ëæ¯¡žK°%=ÄÖÔ [ÒƒDŠÄí§ÿÎ{I¿Žå¶0;™ye)GYÊS–rT¤,5%M]MQSR4”šé¢›.šá¢™. iªksT×d©­ÉA ´¦‡Öè–Ô@Þ£&é9jŠž£¦"¦¼>¦¼~¦¼>:aŒ~m‚>m’~m’Œ_¦x»EñŽ8Å;âî°p{r8½yÜžÎßL:7pþfâß§Owˆ§íéi‡–§mY´ãÝ©9Ü&>Ò$>Ò >ÒD2¢í> PPCŸXÐ!ØÄ›”T£O›š.“˜í›o7Ùr‡ÉæÛMÆîaÛiÚ v'M»“ÆJhXI +©c%5œÈ¢å[´üMß"ˆT”{W€3å#Í$}ûÁ\zgÇáß?ñ)®ûÉ ¼á¤9÷œ³1tèö¤|ñÂóùÒ%_abb’ƒV®à²K/惞é]Û6Ý–píª÷eOqû÷Opä‡óÖ·œ<3ïªïÿwÞu7]pÙÞAÎ:óS\vù×i¶Zœtâk¹è çÏ´qoz¶ïqÛ_=]öùy,Ê• ===»]ç/üÝÌï¦iòé3>É¡G…51Nbbkb¿£PSz™mp÷OGhËI4äTHÏ3ë¤F! Q”htZc&a|S!ÒtI¥lõ"[2­x’Ikj-ËäÔ•±þ˜ Eªv·TÚ²Gg,DZ§áe2Èy…Î` g@'ˆÐ2Z‰uœiœ|Td¼™g|*G´!GãÞ<™Dy©óæM1/5…>ì!-ˆA2"Êv¥âLƨLåq¢Í\’J.C!ŸGÙ4U‹–§)[4±húIšN’¦Û¶Ìí…&i£ÅÁ#î_`ãôL¨ý^¤ ÈeÊÐ$AÑÊSjM!Ó”øŽÚ-…È‘hÛuÛÅè8(n@SKÐÔغE¤kø*t4…@ÕqÕ™D…d²I6Y%›(¡é>QºÛƒE\B"B±ËG¶$3"T¦ÿdMr`‚&dœ\X¦bçÙZ¦RÍS®æ136±L3Ó&f´iÅ-Ì^›ò(™d…’‘£”ÍSÈæ)ÆsDºDf°NF©‘ÉÖ‘ëÅ —bØK)ìÁRhy÷1ü± M¿4EŸ4E¿4IŸ4…¬GH:¬÷1ºe¾­àø*®ª¢&üHÁõ 6Ô¶¤Z„VðºeÊ#jJ´d‹–’ ©X´U {:ñ°ŽiÐÛ;Iº§NoϽÆ$S‰~Ƈ‘¥NÚDm$œ)§N²ÓÀÌØh \‰J<‹çk”›yê v#ãÔ“”dH˜Théq‚¾ó ŸÁxƒ¾‘ 3 bjTb®ï)€ IDATMFÐ ¡Àdˆï` ÙXƒm¬Á6ZÒ'RÀmë”裾Ù%ÕW#Ù_GÛd” I½Î°¼…(I¨ Jd(“#tHú-b^‰˜×¡íÇ©k)êÉu3EG3ø1ÁA±{ñ•f; [%:›â¸›b8%3j‘H´1lbh¢A•p@£¢õPªi4‹IšãI:›cDë%êÕ4›«óñŠ*Åñâ}m´µ×Eëq‰ OÖ(ÑÃzÉ¥¤^lÉ$%ÕR¶RÇ¢$]‹È×ȧ¦Z0Åà¢)«wKe˜Î†q»M¯6E_v’^&@e¦GÖ&†×ÑZnÓÄn&hEIü”Ž—Ôq“I­.½‡¸¤e-„‰¢ÄÄTšñB’vaˆì@‰‘)FJÌ(QôûØÒa³=·3;PaíãqÆÜ½ý™ôÁÜzgÎ>ç<Æ'&¸íï&Š"þõƒæÜó.à3Ÿ>ãázþðG~þ7ɤ¹ô²¯qÚéã7¿¼‰Ja|Ö¡„;÷¾Ì%ÎþvÞç?ÇëÞðfâ±'½îD®ýñuüè¯áºk~4³ÎŸÿòWnùãÍDQÄ?ôÎ;ÿBÎ:óSÀÞõ:ílôtíÍó³·rÙ,¥R‰þþþY×ùÇ?nãÓÿõ9îºûÚí6’$íXÏt‚‹Åv9Ï÷ý™Çãã<ûù;þ­ì\çÎmšK;áÉìqIün¾ùæ]ÎW…SO=•SO=õQ-P2Ó‰Ÿ'ãµuü¶NØ–ñ**õ):ë ª£iJ“YÒ«ê,>4¤W*²2¿†z)ÍĦ÷7ïôÀÖ!’ ’!Šˆ/l188ÆŠìý¬Xör_Àfi>›¤ùlŽF˜r{±¶e`÷è(’G”kA¢B¤›HrD>[bÐGï÷ÐV¸<8y÷MBy<ÏÖ‰š¯æã×|üª9Ð$µªÌ@ªÌà@-ïSw-ªn‚škÑ(k´ï‡Öý>þ¨·)‚”I’ ¤dÈI¥;M@Kµð=…j=ÃVgm| uíÚº1Ôu½„õOÊ21¶Žö #(9Ôr‡ôr‡ìòj¢EánùwÜ¢5‘¦J*Rå\­lŠÉì`wÈcUÇ.ÄèláoPaªÕ6”kP©!¶ÇÓc´ô8RŸNx¨Lt¨B˜Ӱɪeæ)›Y"¯c8ÜL¼9H45@cà Üç“]¹‘E#£vÈ(‡²9nÂÀ±t\Ý`Kcg*Fe}¬“飹8AUÍ0•Ï#Ç<êr’†”¤.'©E¦¼~ ~¦Ú”ì²±¹E²#%„ñ- 'aà& šjŠvÝ¢]IÐKÐÚ’Ä&†“1(6ÿD«°Oшš2aS"jÉD Pêr=D©Hv„ŸÐð*^R#L¨xªL j¸jˆ¬FXù6z¯GV©2/¾•„Ñ@ϸèq½ÇEÃCS½n/’æޤãJ:®¬#‘§D>*‘§„µ(µ{ÙZ™Ç}‡rßä!dJä)7 äÓâñ6¦Ò&›*cu(ȽŒ‹PõE؆AIô)“ gÇ^0†ÒØØ\ŒÜ i7ã4$zÜ!k‘ˆ×IÅj,×°4ZËÒh-Ë¢µl¨,bMykÊËY;µ Íqɨe2‰2é B*8¾ÁÆê"Jµ^ìñòºy4D^$|MÅ×T·ŒìüùEòJžLÏÐ(*=tä(† ÓèSRCn£‘& :Øž‡ïëä“›Y²p-¹Ž‡rß½«0ïµéŒšL¬$¶éËX4²žE¬#T$¤¨“¢N÷o¸ÖÊR+&¨²‚Û«ãF:Ž©“O¤‹ô&mÒ *˜µަÐ×EØë“LªÃä–TY²d’Ö¬æ°%«Ùè-æ®úx ÉÆ¶ƒ|/ŠýôÁÜzg®ùñõüßO®¥wz½óÏý<¯=é ;$d_üÂ3ÿ”øÔpáE_Úcì{_æg_ÙÕu~•Â8š¦ño]Á1ǽš»î¾‡~z#¿üùÿ¡iÚÌzçó¹™6žwÎÙ¼ö¤7Ì$~{Óë´³ýÑÓµ7ÏÏÞzñ‹_ȯ¿¼ÿ½³®óöw¿—Ïý×Y¼âe/%™LÒjµY´ì1ÅíïïãW7ÝÈààÀœ·Ùí„'’'åÍ] Û³#ç$'@“|$Ïî^‘áJ8w‹Bý­&-Ó‚^°´é ÝLÑLÑëOÒè¤ñ<Ï5ð<%í¡Û6ñ°ER¯˜ n Qöslô2æ ?}ñŽ×[DšJ ¨ø’†/©¦ƒ®:$â-¬l‹x« n„=eR~0‹S•PíªÝ&f7È%ËôDEúbEóE”!P‚‚ÐÄ 4œ’ •uK“¸ÜÀs êÄA‹iq"-ÖÝ4Ò½ó±3&Žbà(:¶dÒŒTÃ,Å ‡BÐOÜjaÄ]ú¬ ­QZ’E5ÒÔPp:¥jš©±>&×õÑ‘b0 @Ç¢Ýʃ.Ù@‹îµp5  T¦§MºIzš™kKe=DÓ»Iœ¦{¤:9¯Bo0Å ãXQ%ôP|ÅõÐúºÁ YßT ßP‘µTT'-ÕHF ôÈ…œÀ ê§™tûq< Ç×°Cƒ61rÈS .ÕHP @ÌΡw:ݫմ^c09Æ’ütÏßԨ…i&CàDH±EwQ´t SmPkd´2yµÀØØ ެQ´ó¬a::-¨¡Çì¨{-ÙøÔcÕy4&S0Œ[A*DÈfˆlt‹d„„M‰° ¡!á:2a"G.†Ò"f6‰ëM¬LƒDoCv°¤&qšÄ¤îÈ[2 $G2±ë&ºŽ;©àm¯í–ï@'Ò°1ÑU\¦NªÇaP«Òiæ©·lŒ¦‡ÔâÈ!¸Ô=¤¤‡"¹¨ ½Ï!Ô4¢š„+ë´: ð!mW‘ÝXh“¢NBnbÑ$¡41£U'EËÑ©;1ªɨ ¡O*¬1J-?F[ŠÑ’cHJˆêzhuI…°ª4¼ g‹‰W3 ûT¤PB‹èY|Ç‹Q÷Ó”œžîhˆm×Cz:2¾Ýí]“ «Ù$ì(È^„ºx¾LÃ1)8 NŽ™¬Q'gÔÈ59 ÀÁŽª„˜±*©|‘Þù ´™B1ÏÖ5}­2Ò–:r²†:PŬ,!çA1;èF›¸ÑBÃÇ j^»Ãqu$Í!ÂÅó\¼„ƒD‹:F RªU—0êJÂVuØ ¶0"µ¼MnE‰¦— ·>Eo}’þú1ߦªù(GÒsë) ,\°`æñ¢… (Š;Ö³›ž˜Ùìs.qö•Ýõpõöôð–“ßÌ9ç]À¹ŸÿìL’·Í‚íï@¾`>SS…™Ç{Óë´³ýÑÓµ7ÏÏÞúÿ÷1ŽÍë0 ƒ_{q+ÎêÕ÷rÉW¾:3„¸Óé`†i²qÓ&>û¹ssÜw½ã>òoçüsÏfdÞ<Z³†‹¾x1ßúÆ×fÝf´CžHž´‰_à¨8•8fÐ!”è1Käå"&&·ô2iõ2©õД,BEÂW\]¥cêƒ6}ÎËâ KLmí¡<‘£4–¥<ž£Ý–/ô l\N#•$ª(l1æ1¡aë84[PiÂT“¨TÅœÂm¶°=‰z”¢ÜÎ4Uü†FÐPÙ0:ŸÑM ™ÚšÁŸðˆ©6™Þ"™t‘L¦Hf^Ì’™‘zÌÅ <[§m[Ôí íZœ”Qb`Q‘”Q"¾¢N‹˜&Ã7c”ã=”Í<¥é©e´Èe²F™œQÂÑ=êñzD}i†Ð™öaà…mÌ Ä–°P§™Th©*õdšÎ@±)(ó”ù>Ê‚e$@Mú¨‰mÅ#“¯’ËäÌ ¹|¥Ñ"°;ø¶C`w™é‹‰ˆá'ã´Y´Çie㪂&{Ôå4£Ò"¦èe YÆÉМΔ*öJk—)wo,8è”ÆsŒöSܜƑäˆb*…jͧcšôxER‰©DL¢FŸ1EJmÐc–”ƨê9­ c ªc 2†‹Žu‡•u0Ùä `V‡ð&j”GÛtô4’# ]$ÃéÞ|G–@‘‰t@—¾€N7éK)R©xœU&/’‹—èKOÒŸš ?>N^.â× 6£¶5CmÌÄki¨H(È(Hè‰ø=]:Xù62a÷ïERÐeÕòÈs¨r™D/£âgd|K¡(åiV5 c1âc â[3Ô½,Ê0J 5E2ÙFë Hö6éíëþ½†±Ö·Q×yDn\¦m©„q?c´§_¦ØŸe´S±~&zû‘”€áôf¢d)¤6‘ÁžŒÓñc´Kq‚õiù©39îØcvHH·oãÆM›èëëY¶7½NÕˆ¹;K/æ§×]ÃçÎ9—ÿ:ûóضÍÊ+øÈišYç«—|™ÿ<ã,Þþ®÷2<4Äiúà̵{ëôÓ>ÌÅ—\ÊkOz#“,[º”ìôÝn³?Ú!O$OâÄO£S±ˆÉ.yµÌ2ã!–' «Ux »œ¬åØšF‹@–ñTGW±M }Ц/>I0,‘\Õ`ãÃlX=(¡^Pi·UÆ‹=47&ÙªÌ'ª¨42IÙ$vÆ'„f*˜š"* Êuœf‹¶+шR”ìJåÊS=” =ÔFT7YÔ¶Zø>é:½½†WleÞA[I¶P3Z&D‡x~ ·m`×,êÕ,NÛ ßœ`dÑ‹>Ä[ðTW5»S%ÆýÅø¾JÅÏ‘ˆ7°ÆIld¾µVNg¼?ËÄÒ,a+GèÉ$°Iäaèm43$ÌèVÊÂ%F#•°ð—è`ÊÈ#>Úˆ‡6â¢Ïs1t§[4]w˜§la¡¹‘¹,ÙˆæÚx¡„€HÝާo¡ÑÑ-J™<¥tžR&OMMH u)EEÊâ¡Rä†I0©tLÂr?¥­.k“.è2AÔ½ÉC)Ø“ÍQƒæfw<ŠVÛŒQÐé Ê,é]K,XKF«1`ŽÓ£•hÈãÔµ­0AV)‘SÊäÔ2Y©É”‰ iæ&Ó·ø„ÔŽ%™®3”Þ‚ô( Ó£dÌ )½Nʨ‘’ëê j£FïîatuR   ƒDÞeà°ýNäR @Át ÙA±|”1Ò‰*K{×0n 0f2n P’ûð« ¤u ¸'ƒtON;EK¤¥÷ÐÔ“Äû|´åÉå-zc,µM¶PÁm¡Ýí­O“‰4GÕhÇL܃(”eT^Dª×AФ€” ÚB§hÒšHP›ÈО°°8žõ ÜѾ¢u› v‹¤‡é‰LdºŽ¡µiާѸ_#œÒp·¨Ô*ᦠeKe£Õƒ~h«$4% ßWÀUcØEÅÍÓö,)Àқݢ4н^ÕÅÞê ?dæ8ÁTŒhÂ$è ˜8#1œy&¾ªd‚H& %¤‡ïÞ†ÝB0øY¸“Ír?Ý›êô2ß'«“KLleQ|”>&ÙÄ|ÊäØÄ|¶†CØ…€Î!öêûîÜò8Ã+Mš)ƒP±ÓŒn^Ä=ÆÝFYÎSÒÜúçáôë8ª‰Ý‰a'ãÝį©ÐjZxã2Í5qT\œe1œ¥&ÎRò!d¤î±W$HB.YfYn ‡fïaU挴Ÿ– R2¾&#•6zpGû—0’‰VÕ1½:™T+QF%މ†EˆN ¶"c J´©E­rÀdèÑ,˜Œ?8Hß²&Ç6Žêäò ̤O#‘¢¤ä0,›¦.ã¬qF]Úk\ªã!EL 4LÒh²D#9F*O#ƒœD%™e½¹ˆª’d4X@V©3+ôhS,³B‹\îx\¾úö€šKïÌI'žÀ§Îü _¹ø‹DQÄ'þó ÞpÒëæ#“I³fÍZ–-[ºÛõkœ}¡Ýnó¾ý_¿ìRŽ~ÁóÑ5w¾û}üüÆ0 €ÿ<ã,.½äKDQÄ'?õiÞô†×Ïl¿7½NÕc9×ççÑX¾|W}÷Û³.?îØc8îØcv˜÷®w¾}æ÷]õÈîiž,Ë|ôôÓøèé§í2æ®¶ßS;áÉîI›ø…žŒßБ5HÅëÌÓ·p~ýÖ~ê–ŸÕO!Þ±ÏPiiq*Jš -O5èH„U½…oû´¦þ?{oö#[–^÷ýö™ç˜##§›wª©«XÅ"[§-Ã2 ˆ”üfÀ †a™ hÑ´àÁAÀ€ 6àg$ß †)Ù¬fUõ­ª;ßœ#c<ó¸·"»Ø”,‘jBM™+±°3™yb8‘'Öþ¾o-å ‡¸Ç>ë‹)]㢶&°kq4€.ƒ¢€lɵ½¦IZʤ#MmV©ÅÙú˜×Wxs~Ÿ7ç÷Q§ \WˆuY…g%ŒfKŽÞ¿â­Ÿƒ;®vó(Ò¦–6MnÑdõÖ¡Z;ÈF'¯ù`üŒ·ú_~mx_aS(#ni·&q1ßÎèûkfÑ%÷{/x;ú‚ر8Ué yÿ Ú¼Ãôj¬ Föª§!{³_ã 3zà ƒÑOK0ZyíPujî ‘¨>0%')S3f:N=JH•FRØ”CæÕ C4Lìk »¡×l0ãk¡0Î;´-êEG·Öè–,,äÒ¦h}ÊÏ~ÍiÙ[#d«‡Äyƒy®ßW”¿+‘R DŒ3ÜÒÓ÷7†Ed¹ø®‡íY´¦`+B.[‹ªrÓv¬DKid7¦ª-ª…ÃjáEná5ûAcéŠÀMpÍÓ¯¡²©›ŽòRÒ}¦O4HsG݇#x4€À…‘"îEd®Ë…>C— oOyßúŒ{Ú+ÞÑ¿O(îß—?ƫܟÄ?~ýŸòŸü_ÿÖóg©Îüÿè×ùï~íàãoÿ ï—~‘ôë¿ög>Ưü·ŸïßÿÛdYö¯m±üóçßÿª¿_ýµ_ç¿ü/þs~áç€ÿðoÿ¼|õš_ý‡¿ÎoþÆn®îgæoòs¿ðï’f÷ÿÿý?üÕ¯ÿÆRuúóâÏ{Ì?ëós‡;Üᛇo¬ð³í’`°ÄnrÒMÀ‹Ó‡t‰F?^s½œP;{Þ`=¬éÝO‰§}žtï³:R¥Š*†2Ù±ºqÑã„Ç“gÿìërÂM·Ï\îs³Ø'¯ƒñ‹`h»L;3„éÞÕ{=Ò¨c¾–¨?ìØžÃb3e±™o|ÔF ·r—37(1ßÏ NJÌ÷$j_§´]êÊ%N#â¤GœFä•O­lújÛËqŒ’ÇÑSöü+<3C!h0)pIÙeÇifÇÄ›£ %=gÃÈ[`[%™æ#Ñé³Á cÊœ ›î‡,ѳÂ%»qÉnÒ¹M¶¶¨ “¦ÔéJèvSãw)‘Ú±¥kuºF§hÒ¦‡«•Øz2•nãkÙgË¡¨”MÒEÄ]D,#¶EõrÀz9`µ°‰{$Ü:mbQuŠîµFw£#-è02 g잇Ž]5ÈU»hWѶ‚yFº{Þl¾‘EØÌÕ_ÅïÒ)ƒÓå½ÈNMêÌ¢Í ì¨Âé•8Q…•Œì%#{ÁÈ^0¶TV@éÆ{¨ÃC”šAæÃ wR2‰–Œ£“h…ëVl[+"îG¤•pvù“š«Ð\‰cædø¼Î5!fšcl Ìm±-™¿ìñê‹7{TeÄ®eÖa×7jÒHM;梂.÷ØdcúÆš¾¾f ¯‰ô- ám¶ÝN„né¡!9àŸŒ;àºp= ¸¾?¢k쾉5(± ‚ý-åC‹ó£¾~„iÔ|±ÿ—ïì“IFV¬X Dn` ‰­wØzƒm¤8T´­Å¦RIBx$Èí„Í–¡µb`¯Z+t·#õ2ß'õ¤/èë]®¦±ÂQ9š1¢±G¤AQZù'X'ñ¹ŽxâS*×g+ûäO'wçQ&Œ®¥“:bYe‘ž[4•– ºÊÆ@æ‚ì*à†=H ?÷YèSnô)™ t ¿—Ò{xCÏYÐ;Z \hö<Ú©C³çRûήEynQ/L1àLž +ÈTD__3LY ÆýŽ=ç†TÓI LŸÊŽX§Ï^ëèfm|ÀºšpVÌG’YpNàléÆíX§4¶IS[ÔÍn6·³t˜ 0Œ5¨<î è(È,€ ‚âÀeÅ€3ÿ€¯ôGFC®ïf sá²ÞM%Rá 1Ñh±UM 2†rÍÔ¨(÷ú·jB=åèá9 V@yÞãìw}’ëšÜnPïÕ¸ƒ¤Ž††ÀÀ;öPïFä5 GRu›|@V„T¹K·u‘vy¤¡>v`\ìÎ˵+ ÜzL 8”¨B€©A§St.1àZÌIðÉÈYþÅ\ðظÿãÿ›‹øûÓª3Žãð›¿ñ?}-|þEüi•˜ð+¿Ì?ø•_þSçG9΂ÝßùŸó7þ¥ïý7ÿõõ'¾þ•_þûüÊ/ÿÿÑý(U§þÞ«Òõ§=?w¸Ãþjà+ü,»¢?XbnZ’MÀËg¹~6ÃY”X£s\1ýð†ƒÁe[}–Ýß;³h/ó/2ÚËŒ‰²ÅÜ›ž³ÿ8a™Ìxrþ._œw¤×ùÆÞõ¦:Ø"9X• IDATc'üötð}dV’V ¹RdW·‚¬Ùå?e ÓwVãî¸{Á´ÂœHädçØT67«)7×{Ü\íÑuƒÞšÁ`Å ¿f.™ÚWìÙ×?$ü¬]•†ˆ-ýðsç %o»_‚¡v¡Þ¦">&-6ì1Ǥ&ÇcÁ„Æ,“•>Ù™Gú…Kú…Cvaѹ&­«#] €ÕTmÊP®rCÒF$E´ðIŠÂAé8l͈ž¾ÅžÈñDNÞù\¶û\6\¶,×CŠ—Å3—â™CqiS£SݲV ; Õ(Ë‚‡æ.ºÂ×ÀÖ »0gÜÎ#‰æøèÉí £gAOR‡söhƒE2!lâ]ˆõ\GÞètKã°Ýñ`·Þ^ð(zÆÃð9¶URZ!u8 OQ‡GO 7PÏLxm`·>8ãÝOy×yÊ ¿áÌ>ä¬À¹<àZNÐM‰fvèÆn¥¤u@š…¼Z?D\ègÚ-Ók‡õMŸÍMºì±»Óö-Me²mGt•Gœ¹ÉbfÖûöJ4½»rÿcþ Øýˆ3Þæ+N}Üþ}šý€åƒ1Â0q÷+‚YI°¿%œ¤T“³áY袜ÎN¸”ûd‘^ðh È-L‘ãi ¾ž˜R4EYû,s·ñ0Ðhë `"ox ¿äö’úK,£fnO™[Sæö”ÂréÙzÖ†ž¹ÁjjC'u"V¾½T ”-” t Ubœy4:¤™ u-JÝ¥Ô]:]GUYÐ¥yâCÜQ­tʵASé` › Lh T¡‘]¨XŸy,¼)Ù0 ùdÃ5ø½Œ}wÎÑÑ+ŽêWh¶¤ |Š[ÆuõbÄj>¤ZŒvóyd²ÇEwL`§¨P÷†Þ1uæZ„2"j+@8!«ÔäÙ«ÛÍ!/ž¿ƒ º±…<–ì|FYÔÞÎñ¶òmÊÎ%ÛäqˆÜjt­S`¢ ++©ð r ¯gP6KÀéô_ßbš50i4ƒ“56;yïÐabª[5„*c ×ÌŒmV){³5óÕ Wù W¹ÃÕYÄõÓ{t^‰ôJx¯ÄûéM(tàân¿…IH>éXÚEë³)d›zëÐÅÊÒPGîî|¸ß ^i»Šf¥ƒcAdÁØÜ ?O¡\†@É[á§õ¹Òö°¨q(Èyòã¿Øý~œâïw¸ÃîðWßXág[%ƒÁ‚¦°H6W_î“ýnˆv¡xð³ÏypôŒÃϘ}xÉËÅ#^.öxµ|ÄËÓG¨§ ÔÓøêõô†¿àøã ?~ÊÏýÔSæË,±}¯‡P÷v"Êàj °BØ àHÒ5|©H¿íK/@Zb÷ÆÃ(K`ô:œqCðaIøSAXaj©šKG\¯ö9=½ÇÙó,j¼ýÞ†wzO8ž¾Æ®Èñ(PjL <"Ö FÆ5µ¡Ïš˜+1dÉ•Ógýu¶[JÈW¼MƒÉ S²Â#=wIÿÈ!ùmò—p £†©°êš KÈ{êÕè¤E" XÄSjϦT³Çµ6a¤/°b¸kÜ$Q!ϺǨ¯$ТhP4 w0ÓP{Ì,˜9 sk”rk¢¡±sP*ØW@ g%x9ñî ­eƒçA$©—y²ÇM2AKÚZ¢^¯¼uâ]à…xPðáôJ,«bª®©¬pWñ›ìí„CÔ¢ƒ‰Zt8QÁaz·Î÷ø…ÃÆ{ÉëžXïàX)šYaˆC´ètܬöX¬ö¸Évk÷¬@d%¨Z *EX4ç6If#.ð4”#¾f—+Úy@>÷s9(”~ÛÞm‹Ýy‡€V sHã¬õY¶D«ê¡@¡¡z‚ Ÿ³Îy;|ηÂÏÑÍ–DìbD-d~µ‡±è(o\Vß×I.¤m‹öZ'±ÜŠivÅĸf:ºb<]¡4ZHMì=Vé€Íæ]…ÖVŒ?Z1ýÙ%³£û?w†A.\rá‘ 4Ю$RèT…³káì‰ÝœiOìÌ\ †Ü‰@ n¼ð Ãa5rV ë;÷b„`÷Ó‚5 %ÆmůÀQ5LÊ3cM8KÙÛ[‘)Ÿu9ä{Ÿ»äŸòêiÓ'÷±?ȱ¿µ£û~¶sº¥ýºÕÚÓ$h’\ÓXh6yæ³É¤ÛêÆ¥-]pÝF ”·-«RÀ’= ‡è © „؉ÃBsÙè}LÕ ”†-*2ü×%î_‰;ñw‡;ÜáwøQñ~±æí3rÓçÚÛ线O1 ¨”M;1P}(L¯Á ‚6¡Çš‘vƒ¬c”Q ‚5ÕˆŽÁÛ÷^‹=¬1ëÃïÐyí‘×>Û$âùõ.¯Äׂöz‹w´‹q‰H‰œ ‰NS›´µEVûÔM@Ù„¤M‰Ó”T¹Ãj;"Û†´±‰EChÄDaLƸ½œîÑÎyµótÚlª“ëÙ™NVk(¡#„Ž Ó êIG9ÑÉ'î./r§þÿÂñ£ˆ¿ßúÚ™Pÿ¡Ïÿªã÷õßÞ}þ?þ·ÿå¯Ñãù/â/Çëá/þúž wøqã—~ñïüH¿÷~#–ü$Ÿ°1ú8QE»g±}0¤ 8dbîîL?l§¤ß_S["ta…ܯ+äF1îA8XPt[ ééHÏ@&” Ì[HìuÌaû†GÞ)SöG 2Ó#›x¤]ÒmÀÕé—o¸<= Ï|„ThJ¢«SµH¥‘ª€D…H¥‘W&ql“Íí›-r]±¸j‘϶½1áØE?öÐ}ôc1´)NkÊ7õn=¯qÐqðp`ÓPCÊpB) ÉxŽ>•Ø{%¾•‘g볫—c–/'$qŸÀÞ¶ø³ÇÍ!Ðw­•޲tª›jî°˜ßÌÈT@®| å¡”@ºN£s Ú‰Aa»·ÕI‹”€¼0X]Ød_Ö´_.°Ö öÂ%'ƒ%'÷–DZÍë³{¼>»Ç›³c’ùdw}'ü$»³Öåkco˜±7¸f]0ó.èi <¹Â‹V¸'+e±±¯YNVúqÙ'N{lµþ­Iª•Ô$,

    d`ä-fÞ`æ-mi×>yåÓÖ&¶S1õ¯9æ ÇÎFÁ‚úEXÔ‡åÂâ:±¹N®_ØdßÛµL+l„Øí(ÉûíÛ „²g!-É_Wψ¿ïü/þ¨oîp‡;üéøÏ~é?ú‹¾ wøk‚ßúíßá·~ûw~¤ÿéßhá÷Ÿ°0&t‘ÉvoÈEvÄvÐG Ôp×Â…Ç)éYD qdN·/h[A×îÖ±¡–!¦ sÒÓQ¾¾ [Šj·ûÝØ‹þ3~böÓü”·GoXOz¬EÄZë³l<ýä4§#Ë|®ÞÌn…_‡¡:LŒ]¥OùdÒ§¬õ¶¦ž×´§1ê¼`itĺÙ1ÆŽá'ƈŸ#ô _.Ÿ.è>[ ?_ á¡Ý~èhÈÑ9ÓM&Èñ„ò$Ä®++¥?ØPä.«³«?³úà Y龟Ðû gÿƒ+'Ë“Ÿè‚®1¹J÷¹Z°ùî€ë?ܧ3 :K§³t¤­¡ÊÝc×Mtšng>Sa‘â£ÓQäŠÕ%d߯hÿY…“dì}|Ê;÷ÎøèãS¦û%ßûücøÜd«O9¯]v®˜_·vêìÆÛúÀüAÎ^ÿŠÇÑSû_±\Ñ‹Vôî­éÕkJåðÆZsj%¼± Ϋ’yZ¡Ö‚B¸dÒYƒJín­"H, Ð]d ÑŽ šÒ¢’UcÑ$r©¡. ð2ŽÃS>zçøöOÿ¦Wó鋟äÓçG|zú“¼Z= 4Cƒ¦oÒ¹ÞĈ71¼1ç:öߨ¥šÙ³oÒr89çý£¯x¿úŒoUŸ)Z!Ðr…àL?â»A†hlý‰Ñ£)”:²Tt¥AÒFäÇ¢š¢ËùR!?“tŸJäg’D„\ê`ê;ß"÷½ ÿ'Süƒ„þÃ%õMG|ù3ˆÿ@P-M”ã¢ì>ÖžNÿÃ5¶ÓŸ­±ƒ‚u0†@Q‡6¹çRgŠ6‘Ï[4Ù0ü©ƒöš·‡×¼çι´îaÕV!§õ ©R)‡¹˜ðÂ|ˆ(ùy@þG>ÅïDë„£.Ðjè{1÷gLÂehSܳɤË ¿nKâvÈëC—[» òJÜ®ü ZáNøÍÞ¿àð[§h†äâ‹ ù¥F.º­ÎìèŠ÷Þþœo¿÷Ïytø”ßwÿ´V²Y xÉ#,£"ôb†Ñ‚ÁhI¹„äRçê“1É?ŸÒv>²¢ú!²q<»âøÞï½ä§ïý£á‚ cŸs}Ÿ cÆ…ÜçbsÄåæÍfÀ*ãõ ¢é–ǽ§¼Ýû‚3Žx£Ž±¹G«L²mHµöˆ—.Õ¹‡îÀ£É+º9™Ÿ¢ûŽS \È…CÑY¤yrA›[Ô¹¶~OÖðù|yuÍ-ëU娦¦ë$­ÒðµYBÐú‰‡; ß÷i”EjO)-Ź­P­AžäKŸü2 ¸ph^Ôͼ€Õ vœ £&a¦VuG™x´7ñ¢O³¶[…Ø(ÄV¡jÔt:M§Ó4Â^ÌtxÍ[âK>pþˆãáŠÀ¥8r)j—$õxþI€øÃ€ìyÀü“¥v¹êÖ%W~$iUK݃ꅼí\øË„ï|çNÈÝáw¸ÃþìøÆ ¿|áqõÝ}â¦O“XØZÉx¶@KüaJ§ë¬Ó!âR¡,P¶ °|'¥Ù™óScÑ`bd:i2àlu‚L,._íszvÄzÕ£.uPÝí\™KG 4Ì Ã JB?¡¬‘–Dši)Z!n–Œ“9Û¢GÚX‡¶S" ì,  M Û¡²ì] ‘ÒRHG¯¶¤jU) 6 ÓÀ€=mëpg¶°»VTGÇÒ%¦!1õ]—HÛ¦n\š¥Gú¤Â' }²©OÖù4º‰t4Œ°ÅÈRÃ:¤©S)¼k†K!lI§ ʾM9p(GÅØÁ°[ »Æ±[ §Åö Œ²¦½ÐI ŸÂµÙMÿì\=™˜1ÓbËÄÞ1‡Ão\SM\Vc$r)lA+*h·è†ÀúX OoÐùúNtv;WѺµÉ[¤‹ðí×-Q^†!tŒF Rè¶’*í(“–zÓÑ&©@ø{²“§¶»Æœ®¨{uO§ê;Ô½Ž®/¨}“ÂrHD@c[ƒ–à fúèš^°¡÷hƒ{¿@¿×Ñiù¹Éºr¹ºñ¹ºò±è°¼G«°ü-ŒÑú[´,F«cž$ô$¡) •ä±þ‚·­<4N¹ç\cy5McS×6ucaêoñ{Ná¹]Îz9b“ YÇ#Ò8¤Q: h%Æy…‘Õf‹>©šE§Y4ún5Æ5Ψ`:¸f¿wA–(.:Ÿ:ñY_ûÈU‡?Šñ?Xáô4 «ÆìjDª¨MgW ­ ”`‚¡KL­ÅÔL½Æ²ª0)/|6ßPÂRfÊÔ¼&!@u‚¢òÈZŸnkP¯lš¹MsaÃZcq4æ"=àUs[•4µAÓè´µN]›ÈR§g¥Ü"ØÄqDš¤ÉŽÒÑ‘DëID$ñî¥ ¬Ø¿wÉÉñ+l³Æ­JÜ®À£ Z; § L·¡¨]–›1•²1ÆÁኣî îI†7ÊÑ\I-mP5®Qa: ½ !oz¤¶IjDxl›ë¬ÇrÕcaöeÃÊŽØ:!‰’iY½{­æÂ§0”N¯ ?^³?¾ 6["< ,ZrSЕ5yw=Vá›v•ša‰’ÒpÐŽÈØ2îh-t¥A)=4i^° âÎÎÈêY%Éj›¬ÒQ=ƒÎ7i-‹FX´4…E]Z4…E£´®éêôÆZˆ]v`éQl\ªÜFƲÐé4Ííf9¢K¡J1›-~Ó—[¦lÑ5ètƒÖ2él“Ìõi“¦µ¨¥‰Ù¶„Z‚¯åøZÆ0\rh^àu9un³Ž‡¡¥é’y¹åSkô¡öÑ- Ãèv‹á”8¡†@§NM’ =4¹¹ÛtºÃîp‡;Üáˆo¬ð»|sÀ?ùïÐYU߆>ŒN™øW Mcr~uÄåõýþ†^M¿¿¦o­©°¿Î¿+qè6—¯¸yµÇç¯>dy>äôò‹Ë)åR@ÓìŒB B¹Qßï“Îú¬û΀ÄHô€\óh01G5ÃÇKj×Â:¨(,—Êq(76ËÏBä@ÀH!F wT¢;‚²¯¡ö]Úè ló[f;›õkg»žv0n »M?6‡!®›9)‘›¹9é:'^Ä‹ŠöªAºí ÎuªÎFyë¨"bÍlxA’†NGF@õÚájy€6êÐÆÚ¨C°õ‰ß h ó¨Â5s<3dzr\³@¶Ð6:ÍK⫨èƒ$l;öš‚=÷’½÷ßøÍýõdÄã!YÞã"ís‘Dl7b{Š5Õpz:Ή†ó–NÙºTÍnç¾[¹dǵأ3»ÇLí³¯_p _°5.h Á«³}^½óúuŸ‹u@j¹¤–ImièCET Žõ’¨¹fc ÖŽÅÆöYÛ-ÝTPíYd¡ÏVïQ÷LœSý58v‰{/'=öxåPç:çõˆu¦S¯Sôíá~Aß/éï—D÷ Ìq‚y?Å\'X›„Þ¬¤?«è¹%ý¸d9³îЉ\bu-µpXéÖÖ•; ÕC”®q¨]2l6,ŠW¼Ø<âÅüÍ•Mº è o¡hUƒmxnûA÷SµæP ‡Zsh„ËpÁÑÑ)öžñÐ|ÆF™ìQ2ã Ý…ƒýާ?Jq`ŒXÙC–«›UŸü§Xû4¥…ÐÀ™(ÂIG4i'¾pÉðxþòˆ«—ÐMLšC ÿ0å­ƒ/I­€mÓc[õØ6=Ê¥G·5è ÙjTÊâJÌø\{Ìpx&Ю ÚKƒöÊ ½ÖÑ¥D—Š·{Oyïƒ/9[ñfu×Ë^/Oh"}Ö ï·û Á,f¸¿`6»àÄyM §ôÆ[¦ò†ÃàœtbÉšMÙç“çó™üTùd–Oÿñš}jèPŽl*Ó!Ž{ ¸a2>gúî9cÿ‚M=âµñ6o Ákc@&\NóÄó’Õ3‡ÀL؆C¶á8²õl¬[«Gi[uè½Ão°¬ [T˜4ì1åm«å-”)§â]4lô_Ï(4‡B8¸L¸A*ƒJº$]ƒÉd’pdÎ9ž½böÁ3ÎÖ§kÓÍù:Dut£’ÆË©4›6³ÈæéuHz¢Yo/Ûf„{ ­¦³^ލ.ÕK™º¸vNh'xóW' ÛyÍÖ©i¨1Ùⱡǚ1l«ÅŠ<-§ïnØŽzÄE´câ79Çòœ#yÆ‘<'Ò*פnm¾¼y:1i´[ “ªµXf6 Í&í[¨ckØáŽ[ÜQ‹3j‘ lêÊ¡zê¡ :¶ï„ßîp‡;Üá‹o®ð{uÈ?ùíïàŒ Æ,}pÃá£3샒ùbùbÆ|1c÷¸ð«­Ù³®Ùë_SàRà²óÇtYoGÌ_ŒYýÁ˜åwÇ$sŸ¬°Èr‹¢àÕàê°gÂŽ<êQ=è‘Íú¬{–î€ìÖ5¯Ð\j,¬QÅÀYaÔ ¿µäúfÆõÍŒt°|6EL:œ“Ç(pú9†££úí¾‡–z;g½«0¡Ð i`aB\´ÔphÀaÇHÜèšA$Ù‹¦QÆê ù§%ݺ&½nP®¤[ šÜ ì,Œ¨Ã:*é 6ÈGΦO:Hæ雲vÐOZô¦A·´ £[ÔŽE{¨c|Tâë }}COßÐ×7d/<6Ozl^FlžD´™Æ®?sG«ŸÒ?ÎyïøŠÞþ¯à‹Þû<é=ä ý}^åÇäiE—äÛ6[L ¼žAxb~h.{$óˆn®Q­òÖçZŸ±µ#ÎÜCöÄ5KkD,Br\º¢åÕÙ”WŸLxõÝ׋€öÈ¥9¶hu´¡"ô*ö¼„CwÉž{͹²0ðiTŸ­êèA˜dÇVë!"vÂozEøn ºÂòk2ß畟,³8¯Fl2j“¢oZB™°$ìÏöÞJpê §Þ™X8uÆPÄ Ë˜á6Æ“9nWàÊ»kH툕?âsÄ©„Òc¹â »`ܬHó€`SÐÞØÌÏ÷v¹këV5¬kD^a¿—¼—Ò7¥÷^J!•ªY`c1B¸-‡û|ðÞk>üö¼Å“ø}¾Ÿ¼ÏåúˆëÕí¥A·1hK¡)ܱdðNÇ但é»Ù‹>é—C®¾’~5$º3þxÎÄ™sr|CfúœV÷èrƒu:¢ZzÈXCåÕhÔÊâJì‘k6gúžHéV&í3ƒîsõ¥Î;‡_ðîá—¼sðï~É“Å{|÷ò§(]‡sýv¢a¼÷=æõÐhtMëæ„í:äÍÅËK‡§3Œª¦ÔÀfèS<š™A}K1mÑÜÃm0­›ð3hÿXò)±›µe·ç’)Ÿ7☭òR?&Ò·ô´-‘؉[UTÊ%‘=Œ®Å’É8åÙœW¼­}Á§çöùŒü .ÎCÔQG;Êiü”Js(sÕåˆÕ³1«§#·döÖ%¡Hè÷×  ê•ËæÕê…K‘ø„Ç)ý£ ÓÑ5a°âjÚ+Aí Àb‹ÇšK&¬¬OËè»&ý9‹n̼›b´SÚN0hÖ<¬Ÿñaõ)?QŽS—|Q½Ç“ú]¾ÌÞå´=FêÚŽ†F§4ªT§Ò4ʾÇ:æIŒwÓ;‰‰NJªÜ&]Yd«ˆô²OW›°u`ösÍëÿåÿŸÿûÿz7·w‡;Üáwø3ã+ü²Úç|}´Ëóê¶øvÆaÿŒh´¥Ý˜,²)ñEóËcü.£o­÷ji!„úúMS RÊÖ¥©Lù„ÛGd±ƒ*dÕ ªÍi1<‰9m1h'5jd’¸}.ÛC´XîI0ÁÑ+:!èÌŽÎ)‘ZбuQrD•›$ë×̉Æ1ýjÃHÞ L¤‘îG¤2"7tjQP5ÕJ"•Äérì¦Æ.c äê|*ͧ²}ê0@›¤SkjãîYJQÅíõz‘cè •´Y—# ÙRùZØáé)íJ'/=ªS‹õYŸxÕC§Ùµ>õZ´~»»`B(´¶Co̶Æj+¤)h;•)ôeG´bÕ °Œ¯ëLI/;2é´ˆM6åuqÂWù¸XÁbñ ­¬Ñ‰&†P˜†Bo[ôL¢­œC½5©K¸t!ïÈ}“ÖV´– ¶ ÔeÍéÓ—OúÌ?í³Y{躎>ê°­w\ RúƒŒÁ `•$iÍ:i1S ©B*AƒA…E‹é6à*¬q…F‡R!Hh¥IÓhZ‡ídD=Ùô¼‚PÏñ»·.pí 7ªñì×êÒ?mp“'­ Ò(*Ÿ¢ö¡‚U0`®MYyCb;ÄÐZºLGÏ:ܬD-tœ« ó²A¿”hW+ɱ“+qÚ˜2§ ¥ >JwÑD$„Ä„Drƒ'3¬®Fï$ºR˜ŽÄH܉nJ‚û%ÑýœèAŒ7U8×%Z+ébº²‘¾Ë^DCè /ªígýì½G¯lI–¥÷™Ùѵ¸úÞ§âEDªL‹h€ƒ8èA9ሿ#’‚Ø ÉUdUVFfˆO]íZ­ŒIpF°‘ÑAÜذ¡Àn¾ÎÞ¶Ö‹-—¿\0k“Y‹XÄ»'Ê0ó’¶ÞpbÞ±7Ï´¨FèTÔCŸ.4ž"m;4~›Ô11e›O#}ÀÝ€‚F6W£‚CWÕì4Raï¡Öu–QgE]óc››ÅäGÛû‰'žx≟>?Yá\î9ýçh··œ¿¸æüÙ §­;‚fÏ",#Ìû‚æ£`ë´xèœÒŒ`Wúô劮XÑkzr…hCþÜ!Òë^yRÞ ÊAq/±Ì‚v¸§=ŒiŸ'„'1^³Ýµùvóê”Qkư=gÔšÑõWÜNº¬&]¦›Û‰Í²2YÕ‘–4GàcNÚ<³ßñL¿ÃT%IË'®b'`mØÌ2ƒéÊ`f¶æè8áø8åä$¡=¨y䈎x|8b:‘½¨Ø¦ÒPô,ÌV‰ÿ<¥Å5/ï&)§’Ôx·k!$§F8 Âi¨jE@³©aV¬@·4MKPu d ™yêO•,CÄJR.]âU›p»£o¸ÝÐúÛ=e#‰ —Øt‰ Ë,©m‹ú9ÑÇ>Í­â]sÁ‡æ„}m@šÂ­€;b…V-н$¹Uh_‘Šlæ‘N=Љv ­ÂZ…S²6¤1$5,ô¦fùÎe}íRDJZøNßÚ ¶㊎¿Æò3JÓd£;DËé­Gyc¡o+Ĺ€ ަT&11> >NÓËWô‹ý|E“5 ;m†¯; ý6›Mˆrmê,dúÕ€Åû8Ã>Êë8ÃÓžÈðŒ Ïʉ†XꔺDÙí´”K‹Óg|?}ÍzÖçÝìæÏØ-Z˜Y۵b<¾eìÝ2 ñ_¤/S‚~F@Êš+ºŸÖv³Î{|]üŒÇüŒH[LFmÒ_´étB*’³1ï{.q~†±•<6ǬÂ.Jôý¹pÈ ‡|ïÐì3bγæ#_”_sÒš0þÈ\ YŒ†xƒ„îË%½“%žJ¥j¤Ñ lî­ÇšÆUEûõ–þÉœ^¸À7ö¬Ü!ËÖeoÈvh³p|—¿¦šL1êˆãœíIˆ}š ›êý®$ÿ¾$kÕ§ Å T§’¦upoT–eÝã¢DŠ9®çò¤F† R7ˆm…¸)à}ït?§>«)Ï ï…A¹“Ô7 ?j¸o`ZÃâ%¢Ì¯›à_h¼×óLhï{ðÑ¥¾Qp¤àHÂX€õRQë~‡ùgš· éW6‹jea pËÉpÊÉùï8c7k³›·¹›^@"øÙñïñ3üæšsuÏú±¡üÚbúu›o¿±‰ÙX‘Ž%Í‘ „ßÖ·üEóø*" ]RÛ%í»<š!oÖ]Œû.‘ÕKqt4åg?ŸòóŸO99øý‡Ïøý‡ÏÈ?VLnm²¬acؽ>»‹Gí)ÇÏ88DZ˜J^ï¸Üòzü-Ÿùµ/XØ]æv…Ýc·I''/øæc@´öÙä›ÜaW˜¥Iˆ}ˆ´’”{¾“¥ ž ªµIµ2¨V&zȬ¬¬”Ü(YK‡LŽXÉ>:ƒl£H7‡ñ.å×øND¿3èGtÆ †Yb˜…i²Ñ]ö«ì­GùO6úw ^º"Âq¬)l“ˆà‡hún½¡Ÿ¯èÅk^Fïp²”A{ÀÐë3|1`º²¼;bu°x{ÄvÓÇü²Àü²À0rÌAÒ%4Ji”¥ °fÀŒû‡wœ×7”¥Å‡å >^?ãû<>œ²‰:lövû%Ãñ’Ï®Þóúê¼8ƒÝ-±;%V§Ä%3†Ì1c„OD\…l²É9iìQk`T@§¤ýyZ˜#>g¼/lšqp $F§¤?˜-¢(¤Y( K¨˜‘8¿ŸU_³o…l^tY;¬¿è€f§Äè”V‰Ù´ÂÏÔKÿIø9À ]Ñ>ßrròÀEø‘ž¹äƹB…š¬ç±õXتÜ`:óuü%ÅÈ$Û¤c{œ æP¾o(Þ×ï²VEþKMYCÕý£ðÓH JL£Äì–(Y¢Z%"©í Ù©‘A¤þAø‰¯2øÇ„æYNMEÙƒÂ1È÷Šj¯¨oú+ ÷5ÄŸî`æ%ªâ÷2zÝ/3Ü Íê¡Ïê¡Guo’,-x%¡–à 8‚z¥È¿·Hç±ÿ*$îùÔ—&Í•>xý„“ð/ü¯ùÂü*jøpÿœ_=çñ«3&«cÒs—ìÌ%?w0¼ŠR›¤úð"l'Z(¿¦/çaÉpåMôÚ„þ–[zÆ’¶±E5[òÑ<'ßá7µÉ¿/³ ¦©qF×טÇMY-h6PÞ Ê¥A|kPøQ`0¾œÑ¾ääù=§/îq¼Œ‡Ö“ð{â‰'žxâ§ËOVø¹£˜Ñö@Kìè«)=¹ £Ö8ûœ ˆð’g›a,KòµC¾5YD]DÒàš ÇÆiÖôÄŠØóè¸+Zã5A³! Lêʹ¸–˜–¦Õ‰§\|Àæ¼[½äa{ÄûWDÓ0Úp^Þ eMK®‘wm’75³4xÿúÔŸ9ÃDœ€<ª{{Ž‚ /ìwüJÿ޶Z“ZiÛ!U7ô(¯OXµÎ¸¶JÓd8¼ãåËwü'ýŽ/WÈ&e'¹›ùðOCŠÀB-ŠçQmÑñ68^ÆÑÑ”×|ÇdwÌzÕ'YùÜ,Î)L‹A=c`€ågȺDd ìkXVˆi‰*ÔªA®äFQ[’æñ –¤š[¤×âàpz5!S.»÷üÕ—ÿ„jýñ¡‚17Ó >üCûé9ï_²üØA¦1"i„]îцV>ÚðhBº‚jì@_kdÚ bLjܤ¤©3RjRRhE¡vÚí€V@ ºjÜv‚cF´¬„¾»¤çm©¤I¥ Je’6.ÅÞF?HÌ75Þ?d8:ÇTÈËæ0ΉA†CDÀ†V]B&¢„ñfAKï°:N§ÆëhœÌ¤þ7–·.››!·o.²B„5ò¸B5ºVh¡ÐZQpˆ•XÀçâ‚ý–çù÷Œ›)YéònÿŠÉüˆ¯nÉÇÛg4™ü¡BwGÛÛqr>åõ_|àç?ÿƒ%*ŒO¬=¾>ÜvutÆMqÅ"q½yÎõö9†QÒoÍŒf Z3t#YìF,¶‡*j‹v{I§µ¢®Å–¦eÛ ]„oaÛ9-cÇ€%§õ#©¿¦®ØŸì¥O!,*aPIƒJ8E†+Óƒq൴-Ð]A“ ™Òêlvæœ:÷Œš)¹å² :Ìú)k6e›MÕF//` ®ãÅxƒïó©jšïúÊY¨ÉLA60H_Ù¤8”Ú¢lL*mRkEãI´´4¢ªÁÒ4¶ ¶¥6©÷’ú¡¡ySÁ?äÔEM6’įl¶fÀ^¤‰M97h>r¸ƒùÉñQ£‚wÓ>ß2úlGpY¡ò îÕÜ‚w Ó­¡Ubi‡të’ÜxÄ_ùÄ¿ H/]PÆÆ—l·L]‘š6©k“Ö{3 9„?ÛqlÞa?ÏÈ.lÒãOó3O¥x*Å5©Ñ¿­Ho*Ú£ŒÎ(§5Ìè 3,ØcRQ£¨÷Šú^¢? ¸†Â³ÙžtP'5ʼn‰×úÔµ·•;ëã6É—mjÑÂ\Yt¿Œ8~¶â¸½¤¯v,GË/B"d9ñÅ_Ôø¢Â—5'W\¼¾áìè†5Ç%Ťüñ½'žxâ‰'žøÿÈOXø™Üü÷>N×fû…Íüó>wÎ9áQEud  è.—̲1Ó|L³³ì°9íqszEm¬;]6[ŸÙû“oû,¿ñI*›Ê·¨B“æÈ„¡çޏêÒOÂobR^GL–õMÈ<¸â÷~‡¹:anœ°hŸÒôO°.kÂgáYBk´aèMi©5ŽJª!“Ñf˜N¸¥Ç6Bˆ d!PŸ„ŸÊ*dY š ˆñDN_fŒTÆXåT[Iñ^qóí ß{Înç²É6…A‘ïqO"´î9;¹Ã@ã°£‹˜R0v–¼j½åÕà{ŽÇ¼­>ãMùšºR,Ë>¢ß ¼ uZ!ÓŠhãñauÁvÝâÝõ Âá/‹ð­=^O©LjWÑ´%zp0{é÷¶œ÷8ë½§ÓZ±cbÌR¦¬ê‚äMMö}ƒNjÊuM¯óÀ‹Ó{^¿¸çõ‹;&ò˜ïò—|W¼b—Éw-X+X}ªX@¥¡l ÒÔÂ$ŽÍ[Ÿä¡Ëæ ½Ï—ô¾Xà›1íÞŽ°ÑzzáYL<ôØûì‡;ãFßf‡Í ‡œ¢±Ùç®ã+¾Úv(ÓÍ1à ³Î‘n>Æs\ÐÛ¬XZ}VV•èÏBCÏ_2´f ½ÙÁ®ß)±ú%æEIÇÙ0hÏ1[{+D(M8Úse¿§7Xr9þÀûŠé%Ž`¹ë1ßõ¨7’åfÀÛÍkFî„¡3eäN™Sü:ÅÏÚù?O©§«÷#îÞD¨7õA¤•i>Úä¶Cn;T¶A#kŠ\£³†<¯Qº¦l7MÕÕ4Ï%ËqŸwG/ˆ[wæ ùÚ>ØúO\²‰Ã¹wÇgý7tú{ý5cgA_®¹4nØXm6tY5]6ºÃªé±Ï[d[‡dã³ÚÈb‡ÔuȇêBâZ{ʯKʤ¤¼+©'bX£v5*;ˆÓ…B X䄬q‹FààÕû¸Í~Óf¿m±[·Y/»lVvËul±»ê /%1>³`ľ Ø×!‘ÐÂgÛŒùXXìÓ×Ñ+²Úe XžöÉjbÊe€²‰x–"Ç;¤ŽÊhuç´ôžVkw•²èôYtûÜ',ê_°PC–þ€uo@}b-¡ù$ü4”‰É¾ YXnÛg(¯>?GàžÅ´Óy˦-òЦ±%»Uˆ^³]u¸Þ<;ëȃ ŒO™Œ\wºÍBXê¹°é5ŽJiÉ=±@¹ó³.-ÛÂ?é`-Ô‹”ý"#½MÙ¥5ò‹‚Îç;ÚjËÙpK‹!对—èoúwP´l¶/:”™ÅN¶qªËϰ½ KeÔŽ`{HŸº`&šÞQÆùxÂgí÷œ©†cîãõǯ6 Åš!k†bM¯»¢7XÒ¬èYËOé¯OÂï‰'žx≟.?aág<ø˜'‚Y¬Ep¦hŸU Ç †Ã9GÍ#a±Ã}ó’æ{Eôئyc²IûTÊ`Ýîp­ÏɶŠý{‹èï,ö¿1©B ~iÁ±‰þ…ç´´äAøm›CÇo½†iCyí3 3"…4 ¹Ó\Ñ\¡/ÇXgK‚³9ýÓ ƒÑœ¡9¡¥7ØM º!Ùf"ŽøÈÕ§ŽŸd‹ @bê Y:~*㇎_‰¨³O¿-}±ã\n¹2¶<îFܼ?æúùÍ1éN¢uI£ 4{Ì— ÂÖ„Áégù †i°¥ÇŒõIø}~Çßôÿ-¯ŽÞÐI6Ô‰b‘ jƒæàzêvAô­Çî·-Þ_¿ ùI4ç̼á¬ÍYqC¥ jçÐñc 0ÊþÕ†«Ë¾¼üžñø‘[¶Ü‘bS£ Pþ!‡®üX‘n*ºæ^ž~ÇúWßò·ÿù·¼UŸ£Í6ñ!u`Þ‚þT¹†È¡N!Þy$±ÓØ2£ÙH<#FZ/·\ôî9÷î9?½ç<»çÚ>çóŒwÎ3æF„;ÆL3eQø*ïð1¾ä«Í_°Ó-úáŒA>§_Ïh[ìãœ`¼§ß,¥Æ^]Ò¬ѪM5³°û}sÉ…¸æÊ{‡ç'8ýGFM *¤¬‘¢!¦YØ{zƒ¶.X;8ÉŽüfºÍd×e¾í±Üy»–XkÍeõK>pa~ Åá¬~ UD ’gÉé4àîýÁW1êkÊ­I¥ üC>€ôúSaÔä+M¾j«ê ý‹~Ñ ŸiÄ—‚e«GÔr¹mŸ`›_Ræ6å¦xïP¾µùeëwtÎö¼*ß1Pz•£(-Iå(¶fÈ#Ç<Šc9æ>9ãfÅr?àæöŠéòë2ÃjgXçÞIDgp›Ñ9Õc†8¹“™Àh5Ÿ:~~KBY ÖqŸÕjÀzÚ'š´húQÒ<Ø öQû úÂ!ò¸¢© šÆ Á ÛÆg_ޏÉd¤Ñ†  %úTÐ*†úÓY_";äÐD¹â‡ŽßUëš«³ «9/ÍVüš{yÊßÕ¿¦0*ߢìÛ4'”â`‚³Ö‡`õ½2oqc̰`wRŸ Ü&¢£Iã’h­²Ôa·Ù¬;è÷úú“¡Óÿ³”F¨ÃªIãKO }‰2j\•ÆðÅÓ-˜œÒ:1ñš.æbDñov¤·{Šß6¨·MP{Ú£§Ì°Ép^®QÔ‘As¯h¾ðï¡èX”™ÉN¶>X2Çib\ã:1®ɎÒ¾KýÒÁ©3ºvÊ…5å û;>SßÓ=Ãä¨×UrÁ”K®¹ä†KnðdŒ-slY`‰IƒIñg?ëžø‡²,©ªêÇ~Œ'žxâÿG†iš¾ýþl;ýF׊ºv°óаLW)ã&¡[eÈuŽ^ç,ÖËM‹$* Ò)Ï;ã/'xg1Þ0Â÷#<±l|&U›IÑ!ÎÛhSBfBÞ@~ˆ Ø­C&zˆh2ÜØg7Q˜®dü³œ`T ?A„ĸ]‡ I­pê’^³á”GÎå5#9ÅÔ%‘¸i.¨„A"¶˜¸'”ÊçqxÌæE‡"²©æ&«‹>Ý縻”õukqux«/W¼¾!OLòI‘‰‰³Ì’¯›ü2Áq÷ØjCyñKÒÆf¾0Ù-åB€4ØÆò¬&gÙô™g#fÙˆy6bwH’šÜ¯©®j(jv'1·T´îü;ŸU8bç{øÞŽWáúÙ‚X:Ä©K¼t( ÊO¿²F  =0ahRºQ°ÜôQ¿/(·…ûÀg¶Y„}"Ó#1|#âJ\c‘a“S£È ›|k“O²6Iîaî;ˆ¦Z+Š¡Í0˜Óò÷ üCg±Èöó6óënYËaÝjc·FèV#,R,RL2̰AuÁè‚Ñ(³9D.45ªnˆ¥Ç|0†Ï$ƒjEó ; H‡!©È66‘ؘeb‘ï|¶ûÓÝ1ÝhÍ7<ç=GL1Iôž0YÒŠsZaNû‹œ8Ø]Öy—uÑ¥ÐÛy‡IsL3S¸½ÑÕ8Ýœã7¥lLÊÆ¤Ð&yãµ[ìÇ-¢ºEìø2&1¾ˆðeŒ–‚FÊO¥Èl›ÔñH]—ÄqQVÉ®jñq~…ZW8NÊ"`ú —Á=a¸ew¢Ù~¦ÙšêÈÁû¹…}¡Pm@c4vSàê¯I8 .NnˆРXªQ?d_…Dw!f^28ZrÔ<2¶QUÁl1`º0[¨sA9ÐäE:tˆ:»´Å6î²Iú¬’F^Òä5IË\Ñkmét#:݈nwiVÔÔ?òÉ÷ĉišÜ^¿çïÿíoX̦ÔõÓ÷á‰'žøRŠÁh̯ÿöŸñüåë?ëÞ?Yáwxt‹˜{.yä%åŽÙ$`þ6`ò6`sÛ¡=¨h÷'œöïh¿.q; nç`ኄk=ä>£ä”’¼1 0!±a¯)ƒõ:¤Yد^ÑÆôRŒ áä/L'Å ú¡0+<&E‡iQdàæ)½rÅY}Ç+ý=. R4li³—!B˜]‘r*î鹃3—‘ôXŒ\’‹²ZLì ôÎaí9¬ž9”§6ÝÒÂ86ÈŽ}æÃ†H6´»Ú/ל{wt.Vȼ¤FÓ i€²c“ä'×Þˆ}&G'¬ò™cS¬-¦á8°^wéW êPQµÖš0ܱ\vY]wY}ì‘|t𜄓ög£Î^ÝQ%«­b}§¸ÿƒb›8D…ET(ŠBB`±ì÷Ñ{Í.ñ’˜h²_‡Dëñ: ˆJ·¡zÑÀX³® ÞU!ñ÷cn¿y†:è+ ïjËçÝ?°±[LëÓ]rÒ¥|´¡® ©cº–€‘C†>M× ®}fûéo«ß,žõyx~Ìõ³ýþšÀŒðdŒ§b†LÌÖ2âÂ'Û8”&ú­¤Þ¤+½ä‡òÈ&ÇXG‡?¨CÆn×aq?Æþ.G ±í²°ûäŽ`m{˜"F‘ HQ$X'û¥À~)±]PŠº4© ãP•¢îCó…`4\ÒŽ"VÆ•Q±R&ûµsRNÀ*졨pŒOE™â™ ëQ›(÷È¥IJd]cºÅalÕÍ!”s›bf¡ç6u&ŠªRИ(¥h™1wË0¬éukrÓ¢°,rÃ"Ç¢íïèŽ×tí ÝÁ†–µ' vT¾à68¡¶%±á+XzD"8ä ŠCÞ`®lÌVEŸGÞ™5d¡MÖ²É\‹ %´;> ¨mMa4jšº¡ï/^­;>P™³ã#æGcfÎT Ü%– œ%v'g:3‹ÇLã1«¢‡ÓOpú)n?űRüqr÷è&ø/𶤔Cƒªg eƒéWE‰YTh-(¤õCeؤµGRy,7#¦é ³Çc><ìh=îð¦ <&Úc†A¥ç´{ žõç<ïÏy~5gšðnÿ’w»—Ä{Ÿ";¿úQU!ΆÞË%½W zæ’Àß:xh„†Ò2™t™ª#&á‹ã!Gb‘˜p,9bJ-%•0)…A%LÖF‡¥9`aöYšdÚ°Úv©Ÿ1ÛŽñU„{œà'\¸t¦Ç-f´˜öCâKpbc[¨žAƒD6«®ðªŒVsäÍÉ/? ݆àbÏ}tÊCrÆCzJ~cãnSNêG>7¿áuø-¦ÊøîöÆ»gDï$Û]@þŸŒvB–­>ËýùlÄl~Äl~L²U,·6·;ŸpÛåälÎÙË%g/h_ášÙtÞ=ñ÷·×üoÿËÿÌ?ûçÿ‚“óK¤T?ö#=ñÄ?Aš¦æáöšý¯þGlÛáôüò϶÷OXø)ÀÁ$ý$üîù9ß2.|5¹dö‡ &ÿ¾Ï‡o|ñלüõ”WŸ=ðÅ_=஑âŽÈèèKJH ZP»P:ְבɿc‹èƒbrè6'1ãèW5ǹeørÇá/mM¬Þ=t÷1É}Áì^ãfáwÚÜó’ï©„Ášî¡D‹‚žXÑgIŸ%Ò«ÙœµX[l>Y$6Cî×—¥ÜŸ²žhâ;t KhK8ëÀ‰€/lš#‹è­OúV±þÞǸðø7-ÑêG´¬˜çæ{^ò–¡˜òB¼£F} =o±£E\xd[‡òÁ y'©Šdá‘OöÃå‰ÅéË{LYÑ—œ»7ÌvGÜ=l±ßdð‚\Ö¸¢‡ AçÕù\㥠ϓxg í9¤¥Ošù¤©QWŒzŒ†Fr‚SgÜ/+ôÊ$Y¶Ø­;Ÿº›ª*©8ê ú\+ÁkbÖ£‘òÈ‹f,FƒÑ*°[)N;µ ûºAÿAP¯î·ä~Ê„f±»æ²µá¬³c'ÃCP¼8xAžøœÛwœõï8+逸"R‘ ¸5N؉[qpgÜŠ6±ð? þÊ0*ŽÂ =oÉÑ`B§Ù°1ÚlT‡ÑaC›F*r3$²}ð†ÔvCaT4¢¤l*Á‚³âó“·ü¬ú©pøÚü’Ì ¸3mJaâ»—Î^w¾£ÛlxW?ç}óQWÔ fô«=Ýñ†nwE÷Ùšn±¦1¹eS|¾Š[çØMŽ­s-I„G&R\VEûíq°ØY.†¨ïkŒ7Æ÷òCE¡w‡b~¿zÏó_½ç×Wïùõ—ïx—½ÆYdÄsŸÛùÛÇÛ‰"¾ YÜW Úsœ}ƉuÏÉøãñ–(0eEA-ïº/ø>GŒkêZrÎG^ñ=¯xûÃoWñÇÏCØ<ŠcnÄ9ž¸Ù°µY/:̦cÊ·66¼LßðJ}ËUç#íÖ†ëã3¼Þâ•ϲt lÛ6‘ÖŸ„ŸY•xEN«ˆ©ýÒ« .öŒšGú÷/°ßääolwCÜEʱ5á‹ÖwüÍèï°‰Pw1Ñï%·ÿG‡Õ¢ˆ 6-¶G!˦Ïb?`11ÿ0föñ˜ÅÔÁ˜¨Yc6äù—ìó{´oà_T”~FÉúÇ=öžøQùßÿõ¿â¿ø/ÿ%õë¿ù±å‰'žø‰szzÆh4æúþ[þ«ÿú¿ù³íû“~æ@ã\ÖxCzfR]önSh¶v—(ìöZã12°Á ¦×[¢Iìâ6ë¸ÇvÚ§ÑÁ°àôç+zN…y¾Â±É3›]Úf·mã…1ƒ|†© ÚÆ†UÝÂŽ»¨UŒ~H1;;ÂlÉHN8oiW‚¬›‘õrŠAßh¢FÕ&Qd‘›5ùN‘'d6ä v¦n%Ü 8á óÛ‡ªºP÷ÙÖDî]Ì.ø^M K² É,ÒÔ¤H4MœC"€C”Ô(¿Æ¶"ìv}œ`^Zˆ¢B¤%D2/iµ#ZnD[F´Š;/(K›uÑ綬Pª¢±ÚRøVÊ€‰{G30±Î+fîˆÈ ‰í€¨ HbŸ8 ˆÊ€}²Ó-’Ò#Omê+h| žö,j_cŠ EIŽò$Mf³iÅu»`·6Øí§à°!Ãâœ] úÍœ~9cPÍñÊ9v\ . YêdK—¢±hu"üN„ß]£¹5 ½Ç’.‹ªGš:[ƒ” h¾x%* b`…Ò„Å;ðâG©£ÿ„ƒÎŒ³ËÇ×'WÇ×y˜BìBê@áB©C,`!à8yñ1[c‘W¢ßjÐz ú«5ápÀ‰ç²ŠwÈ–‚yl°ÌMŠxéÄ·µî×DCÛØÐuBº­’Ö D©+„[¡ìV(³ŠîΊîNHÇYÑM­säÚæùú.ï†oжC†Á„a{Â(˜(k:£{¯Ÿó ó>WËNÊ#NŠmd–EdúL´!ÇÊ9:gì³ KŠ Ô^ƒ~P¡è-5¢Å‚63ZbF!uÖ²Íú²ÍúBö3Á’`ÉngiÕ¬d›P¶™É!1•ª"UA»·$-Øu.Øu/ØU/Ø-.ÑÕC)ÐÕ‚FU¨ä¶d´)dÆvÌ\ùâ2KP­m¼Á&…¶ >THÏ6ç é…‡²Ñpü+ºjÎn>ãÖê„ÊÐY™¥i°T»ä¥Å2íp–âg ¾¾¦e‡øVHK ©cX<÷(O$ásƒeîÐtLêÀ¢é˜hzM³lH–Ó•ƒŸ÷Q”#zKAÝ—´;!­»Ò:CŽÌ~޹“aŽRL3CWK4Q‘ ›GÜg±ér|q›ééˆä̧©V].v1÷3V“æËj—yÝ',Ûdk‡(*0×%ƺÀÑRu³Ç¡¦ ½+vZì´.èú „"ɰȰØà㱤CÈVЄJ@l{ kZúŬI‡çêÛLL¸nÃDƒk‡Ú ɬ‰1!ÔQ±ë] Õ {ÊgÙ>ÏÃ[/8ž‘7³x€8–DÏñÓC´|V¬Qó5’’ùð€Åà€ùp̪×GÍ Ë\&éO²ìùçì·ÏÙkŸ1hÍY-´³†êÌ$: ˆÊ6•­SY*âNMi+ÌœЏG4oáD–²Ãªé°”›Æ¥”kÙáZîÒ"¤ã­¼·¤ã­ˆSÕ¦M¬’6›Ô!Ó-Ôƒ’ÝÞ;ÆÃî~g¡˜²`¸³à¾8Fô%ãÅ”\*™ÊÕ›.ÇoT-›ÚÏ ‚k¼ƒ„µgê&kiQæ±gq©´¨³1ËyˆYV,òw¹s#ü¾j©ëú¦¼ó†nø—†ªj_ö^á¯há×ÿ÷R„.Éݞϵ{:ä;…¯"oi´2‰íh® ®AÁ$ñääß½ÏãwàöÖô¯èß¾âà芞» ¯†ô•¾b7r,‘eƒ,$‘ârÜ>â¤uıßb)Ûôë9zYÓÍCö7—œ®ç´æ$G\HÂI@aLÍ!Ì4BÕѨ::eW#-Éw- aPx:Cëš6!+l6XJFà¬Ø×O)[:qæóþü5Þ[¼ÆbÞc±ìÓ7øUD[_ÓoMÑDE†Í{\1f¯¹¤.uü<Åȯ±9ÚÔgÙ™K‰…ugÆ@™°×=ÃqN#Q“–Ûyf´ðKù¢ðSë£\cg1~’à¸Z㘃ΌÍg§3~ïíYÖÌ.`V÷ •ÛòÚBݾÕ¸ÜÎìBç¥ècª+Ñ{Ëj0í‰ÅJº¬¤ ‰J¹ªÈ“Œ<Ï(›Œ­rÑÙ ? M)ië!;ΜÃÖœQ…âÖ¨»JZ£e%uÁ@3Pæ â9¦xçú5žOîòîõkì¶ÎùÚ7éí„ ”®±?:'íX¤LΣ}¾0ý8L`1é‘Ô.±á1ц˜JJ„Ë{Ìé}IøõŒW*¬ØËèë#æŒ_ ùÏlN?¨É?ÐÈ>p°Ô„Á­cÞ¸õ˜Þ~ŒÕ–¼•½ÁÛÙ<ÎîqÆ>þ Ä„[á×]r‡çÜ϶Ûü9‰f‘è6a“(U£ÑT ²¼lg*Ù&K%¨V…1.1ÚÆAI3W· íSš>ÊÜÁñ ºjÁn6çÖò”•ÛáLîSª £Ã¼ì#6e b-سN¹ÛzÌ]ñˆ]óœ:jÐŽû”¿+ ×`;È=¹gî°É…ÆôÜÁ8°’5ÁÇ3‚"%h¥)^woÅxãïaŒcmpì ŽàXºWŒ¹c&›“‹1³w‡lÞô †åGzX"ƒŽÄé&\Õc®«³¢G˜( ‰:‘(‰:U¯ÐŒ M¯QŠWzcõŠ®»$Kº/EßüEa÷Œ>szν¡å®pZ ¡×AŒªÛ:ÙÒ†'<Ö@s`Ó¡räÖ„Øèj¶ž³Ó\°«^!¬ßçY~‡Ï/?A=W™Ì†ÌÖ}fñ€ø¹ÇÅtC‰›%ÊfØ,€ŒüΈüî6Š¢GyL£1æ:ÇŠ2¾fðb¬2¬æZÌrš ÐP¿m¿Õ&¶ZÈW€W$Ün(•YÚ#Ú´8›¢æ EcRÔycP5릃. ô¦Ä%íÑ’ÖhEÛÜF²ñã€õ$ œ˜ZN«µ¢Õ Ùm±oœ1P®i‰5šRbÊ’áxŽÒ—¯®Ù__òôƒÏ>rùÁ‹óÁë5Á9à Áëç\C49¤Ê=¢¨Gâu¹TF,Ó’ãEšIÂü—Àû2,p7Üpà 7Üð'ÀW¬ðº@k ¤ª -Ai UDKb¶l 4Ybg5u®Æç³€ã'#ž|xÈï=à½w>ÂàÞ„fGÅ 2ôûs«Á‹3ü$¤OqdŠ4_Ýn5µV(j›pÞaVõèç–…Ã27h'‚äò‹†zR#ç%©¢“j ­ºK`)¡’:Qp”Ïð‡! jT„²ýc©h º,Àc‘C,)¯ 6g.¢8ZÊÀŸq(I‡µl³”Â& *Í­QB=¡©UD&i5õYMñ¨¢¢@ØÌ~„/—´­ˆÌ¶)]Ú×0“Œ¶X m6äÓ†¥f¬JÙ ´2ìÃuTRø:k¥Å$Ѳ¤ÂG‡À€N”Ó[¬èO¯H7 e )]J÷¨”ÄÖ:E6lg’m+4·³+(h÷#ÚýíÁ’*×I#‡lí’E(Íi _¢îg³Bošè‚ßÏ8èOÙ&ìûS†Þé‰ãë ~’à&)Vœc$bõF'ÛØ¬SŸ®n#S™´Ó5]mFã jCÐÊÖ,λœÛû¸zŒHúd†Á2k#¦cÂÈa:²JZ¤ÒDX»“ì„wtÎWìÈKvšKvä%S|ª+•H5™¦z™ay;Æ7Ö˜1XuŽR74µJeh!1­œV+¤×›1¨&ŒÊkvÊKöªsºŠµÙösY‰–×(y³ù*ÈJ ›m¢¢78ú¿áA ÐÒ†zi’^iÔ¡µI‡† J%iR•¢6ÙdѺMš”Kc+ÜW0G ¾XÒ³&ä¥ ©ÄŠR:‹%M¬Rz>U»¡Ì¡#7‚*V©#“*rЙK¬J’ÓÐvB\'¦Ï”SÌ"Ç(Jô¼Ä˜ĪOnX,Ì.gÆ>ÓfH\¶H3±¥jh2…¼4‰Ÿ¢ÑY'>q䲉lÒЄ«%ÉW®·£IôV…á—è­Š(ö‰´ë¦M˜µ‘̘ÑaJ‡¹Öanö˜[}ææ€B³p´Í6¬Íö:ª …a’XØ f¥PQkP‰ÑcšíòüzÍМÐKºÚ‚^{‰Òk¸èíÐîßETÔšJ¦XŠŽ’{ˆÂ£Y˜Ôs‹fa#Ë…Šã£ôM”Ra³v‰'>õD¥™(xIÂH¹æ–{LÚ·É66ÙÌ&=vHßsÉZJ¿BTŠ[QµTÊÚgk4 ¶·à¶}ѶÌ(LÚDM‹RêÄ•C"m2Å ÐT2Åf#}6µMYèzâÖà wc”¼¦È5’ÜE‘ ¯a˜3¡ŒtÎ'=ŠÊ`qÞáüíJ'$¸»Â³×ìì­ T“<óIËšÜÒÉT‡$ÔÇ© ¬Ä‚ޟΚwà 7Üpà ÿùŠ~Ù‰ÉìW»˜^FwwEwoIww‰ÛÛ¼(|Q(Ù(¨ÓˆèB²9÷y~qÀÅ鈋Ó6ËS‹f%H#›YÜGlj’Ôæ,Óº˜Ó:߆!KäЄ¡‰˜lÌó].æ;\.vX¯´*$)7\VƒÜàÉÅ.OÎ[Ì®@¦18&˜ø:xb›|jXIXI”¦DoeØ£ ^a“"‡……|‘5ª=’Æe½is¼ºÍÉäáYñcCߟq0:啿}®Ó”:‹jÀ¢àÈœ…¼b¥D¶GlhdMA¹YÒ,.¨ëŒ,Œˆ60¯ZHUEoìîž3ЧT=•ºÌ©—Ëë’ÙçZ$©CÒhèw¡¿W t]&£#ÞìµX4w07%òÅì/©Â&¬:*êC•»AL¯¾bu¨³:tXŽZÄ®KÓS‘»*ÍZ¥AÀ0|@ƒ–ºæ@œr(žq(Ÿƒ ¹e“K‹B·HHQ‰:Ñ¡†–EBPÄeBÛÝà<Ìqws\7G¥&ÁeƒÃ‡›ó¦Àª ì²ÀÊ 6ºMÚ3ÙuNiìšç+äÉš Ó^Ÿ¼o0\c÷cìN‚ÝIpì BHJE#Ö´¹R‡Ô•%xé«ÊY„CZq„•å(U³|RP¿èmHúÌ2Ai$"…<4 §mâk¨ïrÕ xj¡µsžÆ·¹œì°Œ»d‘K¹T«†f•ÂjCˆ1ŽôyŒž¥ˆ{â®FÕ5X`¡¿°±Ùà®Ò‰ÃæÚ!¸,½€Ù°Ç|Ø%¶) e¯Æ©b4¯Äh zG3ºûs:î½,ØL,Ö§.Úqç%¬€íox þaH× é¶Cº‡!­rM½Rx~~›EÒ£¨ B#BgNÜö‰w’q‹xǃ¶†©ä¨¢ÆVRô¦$I|Œy:ms‰™åXAŠýêë(E7rB­Í“³û,§]ö;gvO9ìž öjÏ&ë”  Ôv…妨NŠå¦(EJö4#{–“æ Uhbš ¦¿ÁêIÌц,¶È*›la‘[lt›I¿ÏÓêW_siîpnî²2ÚTúvI‘™+æz{ãF¦ ²P@ènIϘ20¦ Œ ¾¾f)»,d‡…ì²’AgÁ¨sÉØ¹d,.– 4j4j[£6Uª@¡òTÍåZ 1´!%µ¢âÊ„Xw¶î°ŠÃœ€KöY±OÎA… ‹ ¿µ¦¿?Ì 'Š ’D#™iÄÇ*u-`‘ÂáMÊï†n¸á†¯L¾r…ß±ÉôW;ýñWìÜ÷Ÿ0êMH±I±·äk‹ÙTeþžÊì­ó7»ÄшxGM$ØÄÓdH²q¸NXIˆñd‰ñî ó½%ª”È{Ü÷ÒöˆŸ¸ÄO·Ûâ\°i.›‚‰]Û¬â=V±Ï*ÈM v –€º-£ %„5„ JS 3¬(Á«âÂO°Á%Æ#—ÓfÀ´2-ÌÒ>Q°ž´YŸðTâ´úÇ›^m>@k–yŸ*Ó™gLµdnôXmBÃ%1•Âo…œŸÓT)YX¥0¯}M'h/×t:+ìuÂéc“'§}NŸ´Ñl´CýždpP .Ñb¦ÜåíFElR¾¸h,Óî\Ó&Ü}uB£'œù6g~‹Úï’‹Œº¯SïéÛrCC.Ða[b¥A[ 9TNøoñ5ü>ªZQZ¥fP8:+«ÅuÐerÔcwP“šýÍ%ûéû›KÚjL¶k’ïZäžÉ—ƒÁ˲»¦ÑhjºÔhr‘~ÅŽsΞ~ÆŽvÎ@N4 úõ£Î!šDÔ ª/„Ÿ•awÌ0¡yT_èÄ\ä±EQûMQ눾¤ã…ÜÒùhó&K¿€×ĘyŽ•g˜YŽYed=‹O­#Ê@áÉê6“]VÇ=²c‡zUÒ„r•#ÃŒävÍE°v\Ά‡ìê×Ü>å–öœÛƒ§¨²á¼½ÏE{óö>k³…FØYŒ“ÆhUAØéVA—%mLrR(j|wÂîþGí o]^¸,Ϻ<ûð«;¤‰¤ ¥ £ ¥”¯·©^ó©ÓÔjŒªÔX"îSÖIŠ>+PÏjÄÕVøAHûÖŠv{Es­^¶Yžv©¯rgç ›{.ŠÚІĞMÖ1)‡*M&P«»·¡Ý]á÷VhEÊÚ‚u!¨& udbZßßÐêmpG‚è¢ÍºlÑÌ!fx6“íð“FÍÂêsnî¼~™‚ âZÙ ?)TšYÒ÷fÜõs×ÿ‘sʼn<ä˜#TyHŽN`-[—™Ï9ÇXV†Tèv‰Þ­Xª.Ì.¬].Ô2ÅBhP)©naËŒDÙŠ¾â°¢Å%;¬Ø!c tPÙ ±z)üÚ~ˆØ“˜A†¸fñÔdö¡<6I?4¨c_Mµž·ï?ü#?{ôÞ—ùLþl#„xùX¾\ðþh¤”|ï÷~/ŸýìgBðíßþíüØýØzn¸á†?)¾b…_q¡S\øè»J]¸sÆÏ¹58&V[DªO¤ú¬šá"`ý¬Ãñýf€#(öÖQ°²È*“E@ÑÀ2Ó¼Âï„ H; tÁ Àu·½gïoOsæ2Ûfð¤ÒÛ¾Vi#Ôa‚tø ڶ̳ªaUÁEPr”i–hY‰¨ ™°È…I(Ûœ‡œdœ¦‡\‡cÄR [#m^c/SZ«Ýõ„QtƼé`ç JÞPf&Ã%R}–JÀÌè±Ñ+bE!oRd1‡²¦.t²J#i,\E0°'ôŒ)·¼cºî5õÉ.Óp—ô‰ÁÅït騂îíÿVF÷*ÖewkE¿0_ È Y ¨² ík^鼇ß-u/±ì M°©Su†ž(ŽDéo‡“7Np$ÂiŽD1%m‘zÌCñŸŸÇÐrJU§45J¡3k8å€S°=¯¸Ÿs7zÆýø)í*dæu™¹]ff—ºÒ©Ðˆd‹kFœÉ}’Â'É|6™O’ú|Ôû]<;äÕÖ’×[oÑ-—˜I•”(›†ºR¡–ÈZ"Pt‰êT[›|5C·r²G’ìZ'{S§xS z6¢§£ô@ï—´;+ví î+OøÚâ-Œ¼ I2ÈD!±]:AB/HX Åe‡iÔfútÄl:†Lr°ÌûÙÏò›¿ù›¼ûî»H)ùä'?ÉÏÿüÏómßömÒ§yà 7Üð•+ü¶ pBžV\ŸÙ¼ÿ昢xÀ³ãÕÐ~¹çp­„f@æÈVÜ6øx6øî¸%·Y%U¼h.+yiZ’+°°á¤­Ùöå­¸ôظô·£²"pPÑql@Ö9²®iŽÓm¦oQBRAU’•1óØÀ˜)Î-ZÚÍ*ÑìmÈZ & \+ˆ™@_—^‰þZ‰y˜SúçÃ>Øeyù‰ß¡òcn·Þ¥ã‡èzKIJìñùôë‰T•Óq‹ð#>šíÓi4¯ä o¯ú9Ý"C™”L¦=Öur‡õRAU÷®Ž×´îAûŽ íC+Ìäˆ u g[Ý—>ym’W&ymRhs£Ëóú6E¬c¬ ®–;\.ǬêDÇQSl-Åñ2ì Å6þ`dÜõq×}DÏœ#¶N‰/f¡¥X¬h“a"ؤ¨jCm(D®Ë•2`Sn{œÔ¼¦S®ÐV ë:મ)‹uÝ!‹mòئŠuH`5ëðŒ;¨²f-ÛŒœkzþ‚ž7§çϱíÍ,_DENžY¤¹CZxl¦>åª\Òh ´$ÖNƒu¸Á>ˆ±+ÜQD628ù}÷ êB}Ù?•MlfMÀ•ÞãÊèq­÷È2 kr«·æÞŸ´íûêÖˆ¨áúó;,ŸöZK:í£öŒVkMc*Ô¦ 3mÓe£¹D¶GH›…¹.~¾âaön1eÀ¢ X\wXÌ;¬ëÙd*QÖÆŒs®—C6¾‡ýñ”ÁÃ)F7#ÏM¦oHN]´UÃpuÍžq‰v»A””T)”«Ã³Wv™íí2÷t­D«jÔ²A¤ ‰"T­Fk*tJtÊ}bjU#æPÍtò¹M²h!»N· ß]rØ=Ãt*¬½’VÑ÷§Ûù€†Krâ,JÏ$o•¤~‰Þ*©\ÇÊöËÊ1õ g”a>,ÑhPG 2ÈìEö>—¤w;,ÆcÎý MQ˜C–wÛ¥†ÞÎè$ZLiqN‹sKe”„+ðs>Å{6k­…ª7”º…IÎ"ºdµl òT=W`¢P¼¥²I$›ME³“cør[çJóîÉë$‹ílÄgò.×͘L±/ú”jEÅ6z»kº)zŽòZ‰õŠÄº/±:Sá`JùêöÛ.{:ò6ˆW‘$×L6¾M±oPo¤Þ ¢ )2(sx–¡ÍKœÝfƒšV7C§`÷x'~ƒq‹s}—s}©>"Õ\¦á5”d¡Ãl5ÄÑSL#Ã4s,#c^w8Í÷8Ëw™åmª \äèZEî´)ì¹Ý&Ë[¬Ÿ»Ä3‹"•H2*24lBÚØuF«Ž°š«Îñ­>r‡ÍÇf^‹*¶P>wcéùE~àS?Â×|ä þÊ_þäËcÿÝ/þ÷¼õö;|úG>Åíûùîïüþþ?øâ$á[¿å›ù?ú)Là( >õ#Ÿæ×þ§ßà/~ë·ðƒ?ðý/Ÿÿßþ÷ßä3ÿåßäùóc†ÃÿÅþíüGÿÁ_¶™È^þÁc·ï?ä¯ß÷ðóÿàr}=áé‡ïR×5?ñ·Š_üÅ_"Nþ¿õMüøg~×uÿÈ÷ø“â~áøô§?ÍÎΟùÌgø¡ú¡áwà 7|Yø ~g%×çe1fz©ã°‹þÐ@{¨£:Â3˜¨Vf@î[Á7²¶1¶`¬À]ª)·ƒ¾å‹1… ôr[Þ[á×PaæÁL™ áåHE9TPŽTÔ#•漦>)hŽSÄIŒJØ–PdÌbƒ|¾Ãü|¶–Ó–Á‚@[B#‘ ž+ðHA\ Œn‰ÓIpö78í˜jRp>qX~¸Ëûèï îDܾó.ƒö[ÄZ‡+F\•CÞ¯²RlÒ±`c ´#pDÆ Ÿ²;ˆØkÍð‹”åe‹Éû]–ïµHŽmºýkºý ÷^ÓéOðÚ5^«ÁójÜM͹ºO „ØÎÅ­˜7=¢Ê'ª|ê ŠFc.º•Á,î£Æ ÑsŸø¹Gôܧ Uì£%ã ƒ£ ý)²$PVt”XÒ±–æ’Ž±@*‚\˜ÄxDâ‹9 Ÿü?E‘[á§x\é’ÂÆÊr¬4£›mð³ Wå.FUS–ë²C•é/BCf‚Uð,¼Ë:ló<¼ÍþÎ)Gw9¼ÿœ£Ñ1öK˰µKM)K<5ÉB›Mè’^ûÔ ¨shTí{'¢}7!xuMðj„ã­I=3o‡ÌÓIVaÚ!œuO:D‘ETèÄ…NTêxvÂþ`Â~Âþ+×èªärºËål—‹§»ä…ѽïÏ8Ø¿àp÷„™ßcæw™Šs³K¬û„N›¥áÛ‚V¹âañJñ>gñÂ|8{À*ì°;jDa›‹õ>¦Ìhú‚º¯`ßÊ0œj¦’Í ’·mXÂ-÷”=ï’[î)·nŸ"´´êE”œöøpóh¬ûmtY¢Ê ¥h „Ö šXø}1ÔºFL¡~¬“=rHž·wTœÛ9½ÛKÝsZNLkMߟ²wxÊÅt³ë}ÎOö ¯;¤†ºS£ì4¨;5M_£,!P0Õψ±Ç)¦(Ñ»åþ¶”Q®šPA®é.ËQ…î)TŠEø¬îµ)Û*Æ ¿X±Ç„]ÎØåElp2Õ8™ú¤*ֵѢÔ-"£ƒf4¤¶ÃÆrÉ, |("At-(b…8R©‡Pë­ðoÈ×:—“1ɱËéäˆÜ°Xö»,z]ò¾…°¤)ht…F(¨†¤½·¦mÌiçxÉ9С¯!» £_`¼R¢w Œ%‹N—é ÏlÐg¦õI=›ü@§24pY!.ÖÈ‹5\„hfНUô=¯ÄíJšPeö˜†CÊÁÚnÙ>k«EjyLÏÆdg.³³ÇgwÐÍÍ«¶áWlr“0v#—0rhÊ‚‡%Ùöf€ÙPu»ÔU§G%ZäÇ ùL¡L2J2TblBZXMN«Š†åÓ<"9p˜{cÌÛ-òÒCœJëÝŸ=>õßÏòWÿ3Ûæßý–oæŸüÚ¯óËÿã¯òßüßùšßùgŸã7~ýWRòßý}üÔOÿ,ßýßÀOü­Ÿäêúšÿõù§H)ùkßõ½üäOý ßó] €ïøÎïáÓã‡ù7ÿùlÎÏüŸƒÂïÛo½Í¯ÿê/Óítø»ÿÕgyçwùµ_ùð}þÑÏðãó'øô|ê_â·ò/æwÞáë¾îë^îâŸàwÞù²žÃ 7ÜðÕË¿¯áúÜfr9FQzè?ø†Àߨû*¡°62'€VãY¾»À]¾[€Í—2~òEÆOFÛó²fÍÖÕíèEÜ: œºpê€!A“ˆ[%Ê×”h)Qß(©?ŸBQ Ÿ¦p’Bœ,@æ òÒ¡ˆ,f}Äù€–V±W°¯i˜n†Õ¤0Èg ¼© NŒU¸ûZ¯-i½¾dý[%‹+‡èÃ]¢ßnó‰×Oè”Ϲ<ãï=çT»Ëo5ßÈ{ÕC>W=Kµƒ=Šq#l#¦£Ï*vÅšCå{™^9LßîñîÿqŸ‹÷F|üÞd0ZsïµûsïcçÅ6²+-xfΰíÕ.)mU¨eA]AZd…Ã<ë1ÏÛ> k|$o äï+X‹çR† ·½'ܾ÷„qsŸ¹Þnë+UШ*µªR …\˜$¸/†_¤Ø”è/… [ág¸d˜Ä¹Ë°œáå å6ã÷4Ðó†2·óTÊ­£%¬Î:¬OÛ¬8È.øˆò.–wI„CfÚ\°‹£opµ×Npe¨ž°S]³S_±S]ñôòƬduÝáÑÓWXŸwˆ&b*Q& ¦“Ñù†9Ý[3:Ÿc&,~»CrÑañv‡Íö\2|åš?ø]¾ñÖÿ…Úª·¿¹mË,oÛ¯aÛ ™pi §%š¬QÊ‘ÈíÀsS¢:Û™šÿ|ÆO©Ä êG:ùï8$¿ß‚iØeNßYr°wÆÀ™½}+¥Í‡ï¼‚²hO:T¿mË6Ü—pD ä Y}‰ÔL7dzcœQ†Õ-Ñî5(™‚œh4S 1ÑSt¯b1T¾E$ZT¼mRÜÖÐeFW®8`ÂÎx…§¤Ï,ŒßöÉ ¹ú\Eù\§4-"SA*ø ò@ €lIò‰ .ˆŸ¨ðXAÿslÝDw ŒoÜ?2IcNO©þO“ÆVi^ȇ r °œi ¤¦Ð(*ªÙÐÛ 9ŸsÔ3”RÅÞÎ6¹bÑé/éô–t, š%•û¼'’+&gÊþ6ãgèÔCù A<ÊÕq›¢‰5þ `ø `Ï+pº:ñ>“hÄÅÙ>“Éé‹/…'ȹÌß"Þ“ˆ÷$¸ÑaÛïÛ™VÈyœ—ÈEYä  WÀNv‡°3B:-8ϑӹÉQ_dür4BÚ ë­2b?¿à~öa fûcNoI,½E*š_þêËøýQ}~Ͻ‡®ëüìOÿm>ùïÿ‡¼ýλüÆ?ýŸù¥_üGèú—¾£Oýà÷Óïõ^<þëüÇÿé_})ü~åŸü:ÿø¿ý…ÿÇó_~¦e2™L˜ÏæìîîðãŸùÑÿOçýƒßÿ=/El³‘ÿõßÿ{ŒÇ#¾û»¾ƒoùÖ¿ô‡„ß—£¬5Žc<ïK}¢¾ïEÑŸøçÞpà 7ÀW´ðÓÒTÈ B5ê¸À|˜ì& ¼„€œIS T Eéæ*DÀŒ­ñÐê­étÛÐjÎÒiXv–;}ð èÝ‚Î9zß$Úñ‰Æ>ñØ'k™ØF†Õʰ)Ö2§º£PÞR© •£’ ¹Ú¡Ó4 š«¢wÀèTc´ÁÜ›`íG˜{Wƒ”±wÉŽrÁNq^vƒº#á!hݽ_ eÅc“pÑEœ5´Hh¦(Ê‚Á®¤ì÷8® Äù—Ö!ˆW¸»$£° tO§ÖuM§P-Y%ƒ,sÐg%Ïû\û¬õ>™ßf¦ìrœ§X …â¼™—Y…‘•èyÅ•9æÄÙçÔÙãÊÙ%Ñ]4¥¦§.hk!YeoûçÖ>ÉÊG™ eIg´$øÈ’v¾Â~-ÁÙKH|‡çâŠhp• }¦,Ö]æa;“,쓺6EÇ ïU«°« ¿N°ªŒ:SY¯}Âu›0ò‘™ ¯.è«Kúê½[ó~ô€s¹K”û[÷Á¾ø’#ÁGx^Œw1¸uwM1Ô¹2G¤ÂÂ!Åa;Ü<Ö|VN5¨ÖWTªFaëƒr×€¤÷`ÎøÖÝöõS2,Ò¾3,*K£ tʱAž˜ž²u‘\+j$~Ÿ+õˆG“õM ]•|pþ*åQ·E¡¬}&{ŽGØÝ„'ÚžonsRq6?Ä´r,3Å23,3e&Lr­Œ¸ÔwXx]’ƒW®¹§~Ȱs²ªQ—5êªF±jx]Â~Céë”Z 3(Øß»àè•S oŸaÝÊ™Üðù½"K…:Qiu¡2 z$Þ`ÁG¿‡«%ö‚Ì7y*o! Éi¹ÏédŸ“é¡ÒÆV·CÒeƒZWÌ⸒áÝ+t» woB}$¸èù=ýk¨u…\5^„NÈC0ÖkªT¥jéTšF5בŠ@¨/Äf·Â)=mξ8£VUZj„æIÔT¢¥-k°G&Øi‚&†AªY¤š½5©RÌ¢$Ì{|˜¿F¼ð8 o3O†™»53’%²ª¡¨PD%·³*­~ƒqP“É‚\«È‹¬=¢>´Ž ‰ÏlŒU…c„X‡f]PÚñKrà’ô=ORXÍBÅG)*Ô¸¡L,Öq‡ _‘Û&¹e‘Û&¥¥q(NZ"ÆÙ¶[ɰȱDŽÑ”¨eƒ’KHda€tA¯ÀÔ…K²*X<.QõçŠRÃ+ÖøÇ œ •£Q;•­RYY×ÞFÇ" lè€5ˆqƒËm™íTCNAN•­¹„ÂGÀ C&š+i9küáÿÎ /] îåhMAþ¸à<­¡l‘GÌ Ÿ³âcïˆÚ¯rÝÚ#k{Tš(ÔíÒóUÄÿ›ê÷züåOþ%þÖOþ4?ôß÷RÄ}‘ƒýý—ö™Íæ/÷çó9‡/÷˜Ï/÷îgšŸù;?ÇOÿÌßÅ´L~ø€¿ðoÓû¼ƒÁÚ¿¾žðMÿÎ7ÿ¡c†*žçÇ1­V €(ŠðÿoöÞ4V¶5?ïú½k^«ÖªyÞã™ÏÝv{ŒˆÒFˆ8¶#¾!ãÇív°œ8!h;˜vÇŽ[ DD ²øaAÄ ¾Aâîv÷νçܳϞjïÚ5kž^>Ôñ‰ ž ÄæÒû'=z«j­UkUÕÞªzÞáÿxÞùuÜrË-ßš|ŠŸ 4À’ˆAޏ»“~RÝ÷éî¯9ªé²Â(sò\g›Ö‘Ü­•ìÖæ,¡>\qoï„ûâ÷+Ÿ°U >© ø¤5 Þ 2Éþð†;Ã1w†78œQu«ê£ê+«NÓ[Ðè.h-©…+ü–˶í²m¸øj_1ñ…A!véUzMǽ[âÞKqª½€ZmE­žR«¥4-muFG›ÑI¦(…Äts´£êu“‘l,’IüÃf[§mG4í‡[ZïŒQ4‹Tíò´¸ÇÓ3—¹ÞåÊr¥ˆ \BP ¥£å6ÓmíªÎõê&‚Ų΢¨¸uÊŽÃÜò<2ØÞ´9{ú-Û­ÅÒÒ5-ÙXK§ÎÒ©³ªÔÑœ¯²¡^™áU6¤Âd’ô™¬ûäc±‘ Í÷Ž>áÞÑ'tŒ óAs'¯É¨¢ÉWúô¸A ÁrÑääÅ=ž<à““‡”=ý~‚~?E¯¤ÔÅ 'M¨ÅºÉŒda^ج.«œ\³ŠkÔ÷7Ô÷·Ô÷7è‚3í˜óò€uTÝ…ÓçìŒ_²“çl¶G ìCg„ÕP9åPáÆê3§Aúj$*S V•šÈZ#* ò½¸ IDAT¿WÁ\‚À%Ï4Ú ÃÚǼ`õrÄrI Å.- ©DèÀJ߀@_#Ì;ŒT…üªÎl|„"%“´ÏMÖø‡*›ã*WwúÔï’öT΂#΂cNgÇ\Ghµ ­–¢ÕRôzJM[ÓT–4Ô%Mu $¥‰kmxÜú0Â#Ú)S5&½Ó^›©Ó&”ûÕ{ÇWì‹ýî˜l “õu.úûœ î^™¤7&Ù…Izibôì‡ – ë—VŠj„Âä™u—`ërµØãj1äj>dÕÐõ ÃH1Œ ]KÑ‹ ½‘2¬Ž8zãn' ï(œwöXX5T5GQŠDÁ¶æ‘ÝQÑ­„êp‰\B´±‰·åBA$»‚Bj³@Ks,Ó3„*q…Ï—8FŒc&8vŒS‰ÑÕ=O1Â}™Ù6¾åà[|µBU·.“MÓÍ=Ö£³y‹yÐ"*\vCÓ@ ˜5¥îeÔ»ÞqÎÒvX5lVC‡än‹ÒÖ)*:r­S>Ñ©È%-sA÷Á„îÝ ‘e3®õWûdU…Ô5Im@u(¥ u©ËtÜÇX똼©“75²¦ H…¥dt”š˜FŽi¤XFŒ¥F˜E‚žä(Dl” -jHÀšK¾MØ®SäÇá$Ãm&x½€joÁ~ï»ë±a&±f±\´X®š,—M’•]‰rX æ(G2’”A9Ñ('Ún­¥ÐAq@©í:õê4¨ëh•œV±d¿8ã xA71tæ¡Áì‰Áâk›¼ÎuÑàYñ€z®°h·÷{Üô{„}Ì2Ñ"u7Åÿ>~ú”ð_ü¿òwÿ_úò/ò}Ÿû“¿ÃÌ]\^r|tôêv»ýOa«ÕúÛÏ/.iµš¯¶¿óö[üêßÿ{Àn½ß¿ý×þýWÆOÓ4â8Ʋv½·Ëåê¼ÖN§Íó_þ½^÷ŸñUÿ³ñÆoðÕ¯~•Ï}îs|ík_ã7Þøc½¦[n¹å[‡O½ñV ÃñfŽòÙý‘‚çHzΆ#ç’}®È mVcšô_™½Wí5Ôƒ5÷Ä ßUù*ßÝùß™©-œÊg‰ZF{]„V²w÷œ·î½à;î~ZoÍõ5žh¯Qª¡ä ‹{/Õ+o˜j&z‡©ÞaªvP”¥ÐH„‰ Š^S©ÜMi~gHó{ Û éj3zÚ”ž6£].¨'k/U*ª›C½¤Ð LKæßè0wˆßwX¾ß ýΔæ;’û·<|gÌÕüã./®òbô­¨’:‰c’:jž# Aé(…BTÚlü:ùÔ$»6Èn ò•FVè䢣07 ¶q‡ó›ûèY†È%¢ˆD!É-¼¢‘;YE£SŸPo­iës«§dBÇHròµÉú¦‰• û#Þê¿Ëwþ1{­K¾i¾Ã7Œw81îðI~Olé2!R,— NžÝãë¿ñüÆ?ùn´{õxN£2§q°@Õ úÉ”Z¸e?¸"Ûœ¼ÏúƒŸ¼—óx÷;C\+½bô VEƒUÔd£z»°øßñ‹Üæ–áÑ%Žžðøè ©«±0[Ì&S³Oб›’H‰@îª2V2 ;eP¿¤W\1/Z,Š&‹²I\Z´ ýŠCãŒû|Â5T 2t¶TQl‰hI„&¡ÆÎðÅ:DD&áÌftÑ`zqÄÓ‹ ‘BÚ3H»éÀ@ïg¬÷=®÷úhû «¶Ëh´ÏÕì€ÑÕ£«}D·Ø¢”Â(¨X®áã©[\ͧéÎéX3:­)wŠçT‹ va—;²ÂÊë$ªÎ¥²Ç²lp¿ö‚cåœÏ6¾Î>ä£úC>®=ä¤~‡k¦.ÑÒ!þ¸Bôµ ÇÇ'¼É»¼Q¿à£÷À…k§ÏÕg\ö‹7ã>“ë>7Ïl&µ)¶%Â’˜nÌÑà”ÃÁÃሽÞ£ÊZ¯q®ï³1ªØ"zŒâSÁǯºä–о—RM—0’(Õ)dg,@iJÔa–åØD´Å Wøô•19:ucCÝÚP··Ô ŠVîþ‚%+ÙºÖ¥ÇZõX›çÙ϶˜Îz<›>b~Õ"_èdN–ë 2(S(7À%]áh1-/fЋiå\7ˆaŸdÓbµé#W ùJA¬Ù™@kÍh Üžpøßv±d@†ÂRVwèºN© Ri°\¦S8ˆg LrO ÷2hä˜JNG]pW9ESJ ;Ç”–’`fž¢'9ª¬¤oB©ƒáB­$Ës¶«Œð&gždTÝ ÷>û‚ýÊ’{_0|4ÆW\|Q!P\¶x\-öQVÉÒbµnÂ~‰r?G½Ÿ¡=È(c…b¬ÁF9Ö ¶@-A‘»Ö\**TôJJË^rÏ>ç ûŽÅSž|£Iþ›MF5¹øF“«²‹&_Š.ù¾EzÇ ½cÄÒ¨¡òÇòm÷ÿE¢(â/ýå‡ÿøo}…ïùîïÂÐu~꧆ÿê×þÆË-¿ð7þ&_ù›)%_úò/ñ¯þ™zuüþé?Å—ñ—ùå_ú2RJþÃ_øü™üWÛÿâ_þ«üôOýö÷)Ë’²(^m{ýµÇüg¿úŸóù?ÿo²^oøÒ—ñ¼Þùá÷‹?ÇÏÿõ/²7òüä„_ù{ŸÿäïüíWûüó*î"„xUùóGôGùÙŸýY~ý×)%_üâù±û±ÿ×ÏyË-·Üò»ñ©5~íÖ‚£Ãw)Û‚ìu•üÁnj¥ÖKp¢˜b%Ø\9Lü:Ûk‹\‚Þ©¾µBÑK½D5 ½¤ÙŸá4”jNjëdšŽÚ82§n%H@mi$j…¥ß"ÕL–vßòˆm‹L3H4“HØJeWhÞ7ׂp›ùÉGÙ¨¤\+P˜èzˆçf´šÃþ‚FuMÅOK•í¶‚Ì 6[¥ÊBiSª—êSµÇÚ¨)±â6qd‘n,ÂUVe=i°¸n1Ûv˜lzŒãWåHs@a÷© Ô‚<×È"ec£RPÆ*% ÂÜÅ”:(È%$*e)ÉU¦Jé Œ2E/ò][f$šE¨;ŠA’[„Që±56E<Öˆ¶ijP* º•aW"êµ5½æ„Aûšså[DE “EÒâ"; šø¨©äùú>‹²Ié(T{kÔv†S 1¬E)ÈJƒUQã:B¢àç.gê1×öy½Í2i™.Û"ÅöSŒEŽHÀPSzÕ1½ò†hãmBi¥¹¢ % ”²DdP‘!jQdüÐÅ+lC—2Wp”G q”ITÚÄ¥AZª»ÒóžNèZøžËZ¯½*HcÑ`I(\ÖJ]ËÚË8 »D©•(²@š‚|m*e¨¢…9^kKÛœá5¶TÚ>–¡l æçMÖ7³«³«&Ë+›ð Ü(Æ®éãÕl%Â*#ì"Â*b*2ÀÈ3ò\c›U)Ј”K±ô˜ wXùM¶~À÷ˆâ £ÊRo0sÛL]ÓE‡ˆvç uΰ>¢ëÎPÂ’$4ÉC p‰F:é´¤X‡.a#³Y)) ª²ËËô™«È\Pæ*2Wд·ºÅõ|ܪOÝY²§Œ¨ˆˆ,·Xd=2i`Y’n}KÖOIÐIqI(wc÷MƒÌÔÉ3r© e7÷[ŒßkßÏýü—ø³?òÃ|ÏwÿÒ÷}޳ó ~î?ø¿üK_à;?ûü+ßÿCøAÀ|ÿŸâ/ýôO½zŽ¿úW~†¿þó¿ÀŸøÜ¿ Àþéïç¯üÌ_|µýûþäŸàÇâ/pqyÉ;ÇüGû+¯¶ýâ—¿Ä_û÷¾Èßý•ÿ”N§ÍO~þÇùþ§ÿù÷}_øü#øUþõýsL&SîÞ¹ÃOý[_øú¶ü~û”Ñߺý{åùýÄOü'''¼þúë¯îß¿[n¹åŠO­ñ;<8ã¿ÿ¿%õtÖ‡ëCMÝ#’ú4b}îrrÝg«6ñ5õ~LïÑ5º–b¨ÿT­æ„¼ Wí²þAQa¦7À+hwoÈ86y1¹Ëò¼‰Ð$“n›n—I·Ë¶é&ˆ5›•VgÄ€ÍTasª°9SØž§DgÑyIr³û‘bPàÐaÆ>—è~JxfsuÚ'8µ)3«•c¶s¬vNYS™ÇMæY“yØd™Ö "—Ô1‘MÁ&©pyÑ!cf§*K½ÇTï³Ô¶¡T ¶±Ãvâ° ¢©‰ÙHq¬§—b?H©²¡Zn¨Ê]»(ZŒó7Å€qnK›ù¶ þÌ£ÈU–a“-’š‰¥&ˆ*óeg}*ѵKKpÄÎ4ù±Ëéê.Á²Ê‹å= _¥¨kôÞÓº3…®D–ˆA‰0KJcÙgVvù°x“áqÑra ú¤*EÍ 15Ê‹"Liª ZÚœfkN½³f<ì¤ ˆ3¿ð¸Zï‘tæq‹¶;§å¼Tå„­ïrv}Àéõ!›+mèa9†žaè9B03 S‹(3)„`zÜÂ:ŠG%‰û[Õ }Æ$…Í:m`1Êfi [)Z%E·Rd)È'Yà ¯ l5bÏqäžqìÒ0–ÌW æ£ó°É¯³]Yøk“x•ÃjMK\qì\qT¿â(¹Âº’¡«º’&«°Á2¬3 ÈJÝÌÐ ÝÌHR“ñMŸëñ€íMÔ·|8̆Në‡èE†gÜ+N¸Ì÷9orþö!ì—x­5ÎA€1ˆÐÌœ¸°S‡eÖbœî±M<:ÎŒÖð‚¶=£ú•W*l}ÿÚaö¬Åi´Çñ²“U‰¨¨B\\|̇kÊ)ñÒdõ¢Êø“ò=‹ ÷ˆ•Wgî6™y-ænÇh©s𯂖='È]Îg‡\Gœ—‡H öW¶^pØ|A¿;¢~¸¡~´¦VÛ —éÒ`uÝd4>àüú˜õ•Æf¤^EÈÑ5l4Ê™g²¥£´$¢-QÛJOP¢Ql4òN‘hXeÌ+Œ3Ý3ÚöŒte® N–÷ùxý-Yb¸s¾µàõG¬dÊ’œ+Qà—u|éH"r)Bå[.Æï÷ýú[¿üKÿ—Ç~ìÏý¿ãþ>ÿçùÂç÷˜Ó4ùå_úò+“øæ‡~ðø¡ß6øÛyãõ×øïÿáý;û³?òÿïu+ŠÂO~áóüä>ÿ»>çïu܆?Lhûo!„à+_ù _ùÊW~Ÿ#n¹å–[þùð)7~ÿÀp{=®½ãj›¼ÍrZaùÄaùõ6Û§6Æcù÷cº¯±•GD¯ZÍÈ),¸6»L¬Y©{&²SÐÎoˆ&6Ñ'‹³»ÄÏ¢È!¾oßÛåÇå–FbX¬7¢‡)âI@üQ@üõ€ä7òMN”@æ U|:Ì8à’d«³>u}}Àé×Y§uԇ呂jdE%ÍL’Ò ‘&IlG»àñÜÖ‘ X§’‹³S«ðH5âýñ¾G±§îb(*€+Á…R(ä‰Nªd©Š‚çn©y+Úî³2ÔjįO]̣ϩõêCºLèqCWNè2á"8Âö#2_gæ·‰#‹yØÆ=Æñ‰ 5LÓ$­›`ƒpA1~ËøN¥&Ø/?#?v fUNG÷a$د]pÐ8ãðøŒƒÆ…«T*;ë´Á¸ì²(Û,‹6£J8°&&d*ùF£Ø Ò‰ % {× zWÜo>ã¨}ÊSë1†H‰3‹‰ßc[zdyÜætv‡Õg8õ÷h6Nx«þ!ë¹Gò‘Áè£Û<®—K Ú€º‹­+^Æ× %gòímD"É<ÿÈ{¹ÂoEãe.Ó¤‡ƈM‰bèNŠY‰0!…¤½+|QT5,³ï^òŽ÷M¾Ýý:=ã†w¯ÞäÝoqñbŸÓ‹cò4'Ksò4ƒlEË:çaã ŸéÄw¤OpDŒ"KJYrñÞêM.—‡|´zyÙF8%ŠS¢TJÊX%znïtb“¯UÆoÊ ­=jΊÇþSEO¹çŸðØÊSã>nLJ}‰oÚxÎ ÇñwAáFNY*D™Ã*lr É3#ç‚{ös޾ˡC©«LËR û×¼ùè¾íá×9:xî®z§tqa“-LV§ FðìãG¤‹€lá“Íäbš…4+HÓ¡4Ô{ý­zW"uT5!”¥ŠUD ñ¦ñßæ~®uÃÇ7yzý˜““{\\pø!÷†÷]poøœkr®(¸¢ä Él¡Û”c•hìPÄì¦ßrË-·Ür˧”O­ñs›>o³)=Š\!Ì,Ö«ú*G»*Pn$b&‘K‘D”Õhž¤bÔÍukEÝ\îŽ]æ±ÇfëQ”•-•ÈÈ ÷U¢µM9äÁ.ßMË D)ÉK­ôðË]¸_¾“ß²“„ü½Dz¹‹{h)ÈŠ ,!ß@6*I·’d¬M ‚•öt!Ñ‘…ŠF©¼\ ¤A᫨ëU)0š 6Å¢ \Øl—mŠ…‹a¨mK¨¶Æ®Aª¤¥A˜”R r‰š—(y‰i$Ôô gÂ^ý'Û"ª}[²ÑM6º‘`W|ªõ5Íî†>W”—ìËûò’ŠQj*¹ª ›¥l’d&qa±ŽjHU Yªc×BËÀ&QUÍ™z6^•Ô3À¤™IšYd©IšXxƆ^ÃD9(¨ø¤ıI™($‹uPã&è3òDŠU 1k!úŒr¤Q^iH_È3ªñ/ÞâÆ>N`ºš¢˜å®À‰4I0ÙUˆ¡a¬HR+‹é*Ù–QÒ§Ninæl×.I\!¶’°B¡jèI„GèIˆ¥†XÛ}›!|(} MTDD]¬è‰ÉnÚdÔÀªD‘KªhX2ÄÒCÌJˆÌ¢v…xà-ÁšáÞ%ƒÞƒÖMkNE ƒp[a1kˆ€D zJEÝÒ•7ÜÉ^ðfôZR§Ö+iaJd¨P„Ú.&CH±‹Y(…lj_ê”ÏUŠ…FÐvIŽtÖ…ÇܪS_­l®ÉoTŒq‚ÕpöÜöo¸Æ !O46IkÀ&«ä.'Дœž}ÃuÁ]ë9wµÔ¢D-J´\ûþ•ÉDmršî£l$l Ü*ä¡N™d¥A¡¨»jŠDÉK”°D]–hÓ‡³–`Õb¬ZLÝîp}Ù¢Œ¦£./w¨ ªwj±#SÖiƒMÐ`½j°™Ö T‡È1I LU±ÔMdh"G¹ª¡¨%¦ã±A+³]gNnäæ.>Tè8Z‰ª4Š«ÈB'ÙÚdN D\ e)E‘"ÉZŽTrR)ðCmå…AæVXçâ\GUèa†•ÆØ›{`ŽCôYŒ²J~†b&(VˆŠ¢„¨…C^ì¦=§Ò!-L’Ô$‰LRŤcOÈK MË©Ø>¥£`Yº‘¢h%^ɱj)•ND¥•&QlE&›ÈerQcrÙdzÕa2îÁj«–9¬¶hzŠfæèV†fe(¾†â«ˆPE‰TŠRAäÊÝÈŠªØzHÍ\ÒµnèZcNÅâÔb¼p²z€×ôé‹Âá6mfInú`Ü`˜%Æi© žÚ¬üø|ËøÝrË-·Üòÿ/>µÆo¥Ôy¢ßex\Œ8r~}ÈbÖÀñ7 µ÷b…¬¼.˼Ãòã“«Ú ¤6Øà B:ƒ)‹U…íH,¦W‚$ÒQÐQ‘(H¬¢ šLh#¼{ª)Øxl÷]6-ß©ª6‘j ‹¨0(K,Ù…ÁSîFÙZòUUÐ0¹.ð|Èv£“‘Æ*µîŒ7þ…ˆÜ±{*ì«È¡Fb[,æmæ×-—m¶3ÛqŸÊq€ó8 ë7áN0®áoèOè¬è×¹ÇdÞeºè2]vÉU »b7#¬FH³6çÀ=c¿rΡ~†U†¤ŽÆ¶Uc2Tqu¡×Á²rB¼< šoidkZù ™] ¨9köôK®œ!cwÀuuÀØ+*žëãº×yq}—‹ì+ö‰=ÖÔ‘MÐ$B/AÙV O#ôL=§WŒy³ò>•Á–ËÍWìsÍ® p©‹5 1¥ÁŒ†>¥3XÐî.hg : ªêšš¶¡¦­©j”µ‚ät“9òòBE+ô¯Ê™y„9«Ì#.l^(÷¸²öˆª62\Åû˜ã„@qi^' Ò¸$ ¢Hgpé·X«6ì³{ÿK"„†ÝȨ WÔöVÔ÷ «UÜ*Á¼†ÿOj¤šMŽN†4™£³vkŒ­ϵ{,Õîón‹8´(t…¹Ýæ“åC² nNz½½Ÿâôbîõžcä9yd°ÝÖPÅ.èÖøý¡ù£ÈÄ»å–[n¹åÿŸZã·Tj<ѱÍ=.LJ\¼ÄÅû‡×ú±×?åá£Øk^òdòN6OûÜLT_ß"_Wp´ˆNwJ¶JQž[DïU™¾+6:@ Ðõ6 †S /ytoD­qÓì2nv¸it¹q:Ìi± II‹ 0‘Rìzð¥ä.°z wïG¤×ë›ç £• Y]Ñ9èÎèžáts¤« =•ÒSbÓäúøñ‡6Áeû~HãÁ‚æñœÆ9óË‹Ëå…IX­R=Xqp<áþÁs Ÿ³˜¶y<„SX\ œG5wEµ¶¢×³¯Ÿsdœr¬be›JIsˆ¹§@é ö ŒºÀ²2"ܧ–liÄkZÉGÄÔ´ ûÆ%+íCNÒ{|X}¢’eXG(U{IǙе'8~@vªq~6ä“÷ˆ'þ£*ÛG5¶²Fl:¸"¢Q]2¨]1à ߬°1<.Í=6ò1ÉÜ&ùÄ"yß&ùÀ" ,bÃ&6,2CÇím(cyOx,?¤gÏÉZ1 IDAT_“)&iÅ k„‡É‹““>£“}¦ç]üž‡ßsñ»²'À)v‰° ;GZ¹%H,вpÝ ÝÊ •á–ãÇ/¸ ÷x?~=‘l’:qiS·ÖìÛ#¬3öÍs:rN§œÓÍgtΘf‚a$˜fŠa$xAH'˜s?>Á/\ÊBA) D¾S¡+¤ƒ´bî™D¥E`W,—ûˆ Ε#®Ý>~Ç…{ ¨:¨êÎô©h.è6h°šÔy>ºÇ{—oñîèmD£¤óð†Nû†ûGS­n°’;I°Ò?ñx×|›w·ñ —•^ÇÔ\ݧ®/¨ª«ñ¹|6D|M¢fj¥@˜EL¾1¸>rñá1ùƒ¦µäèÞGwÏ9òÎiX 4#EÕ3JMe©ÕqÊ]áJ‰®ä4÷f¨nF÷`Ìk›'<ÕñT{ÌFm2š’x6x]äØfDš™¬ü&«E“Õ¸IG›ñ¶ù.EM¡Î© °TðvÆOÅÀõRÚÖ’í’n9AÙBzc±>iÀûàÇ¥TÙ5®Ü}ºÕ1çŠ>#4-#GÅÇeC•556iͪÆöºÊöº†‘gT!íbÁó9 cÁ8r½Øãz1d²ê)ñÀ Þ7p”„$ÖIcé±F6 §[Ò‚`Z Ú åëùzŽÒOÈK…›yÿCƒ³'}”ÓœõªÊfUe³vwƯW⽞S{;£öFÌPŸ°gì44&<Ïð${ƒ"S™åm¶æÎø­D•Ù1y¡±V›¬íQÍF"Å{ø×.ç«#leC¹ñ)ÖÅ& 2üêÛZ ¿êìŒ_) Va­:Nç}?`øvÈð­€ k0ï1¾vX`«eGA¾TÞÐØxU®­¶0ÕZ\xÌ;-"iSÚ*óe›l©3]vyº|ÌÑ£=~Á±ö‚£Î Ô\²‰kÜøÔe±Ëмêù-ªª”eñïxË-·Üò‡ (rTUý#=ç§Öø­Ëeð«›.?9`ô›W:w>sAµqopÉ> ~¯Îõõ1\©,ßkk6¢•ƒ€v1Ã÷%ê¸Fò´dùUõÜ‚BR…BÅhß¾¥Û½àµöûôVœÛûT­=,m‹’Ç‘“#…….T%£4Rt'Ez ²“ÀaŒ|Áãr,Y=qXÌ:”OLözcìî9ÇÝ w?{N{K!UŠR#—*ëY<Õ—VW ³ ÕÁ†ºµ¤5˜ÒzsFQQI _Ñ ô¨ô%ÝþŠ»½SÞî~“q0 Jm¦“.ú³œ¢¢bu"¼rM«:¥×¾fÀ{\rÀ9¦’rePõbŒ¦‰ž0T”R †%jT¢Æ» k5’Ô­ ÕÊš=ãYV9Gâ'.ã¸G¤84Í9놾u…Zæ\Æ{\^ ¸|Ù‹6$(*TT´ºDV®qœ€NeÌqåÎÅKªLD›ÓòѦB~a¿oýo&2Tvñ5‰¨)ZýÇÉ)oò‡æ±n9qi³ª4HF—ÛC®N÷øèÝ×à‘ØUDì DS¢V347Euw­¡%” „ŠÅB©¡:)V=¢Æ C¦´ÓÁºÊÍf€µŽÑ²œZ}ð6æAí9¬§4'«WjLÖGî ð8ုhf+¡€PJ DÈQ”–BÖÔȺ:©ª±PšœÈ»œÈ»Ìhq–1Ó;¬juÒ¾‰J„¦ 4PÐ4„o“ob¿‚ï{Œç}>¹¼Ço>û6þѳï¥q0ç3½„;Æ3?à uIeân#*›ˆ•ÙD±K‚J…¯Ç"mRµ·T Ueƒ'·¬Âëe•ÕUÕ‹µÆ†Æþ’æ|Ec»"œZÌNºLßë1ûj—;ÕSÚbA«¾à3w¾Nϳҫ;i5BÕ¢PT…EÏ©è>v#¤[Üç:ÅÖd¾éq²•ø›*Žà˜v²ÉkŒÒ}®¢Fþ}}Œ–fÔŠ%ûâMÏIL›Ü²(+J®aÛucKO°'/ðCŬy‘ÀÇh™«ã·<ÔmA¦k¨jŽe„xrC.U¶¥Çº¬±,¬ü&ëEƒõ¸Áú¬‰›û+§ÔwZ'ôË1aäñlåòlüˆfoQnqº[*ƒ-Íáš8²I›8Јâ}ƒbn ü¯Yh}0­s/ÂÑ „Ôˆ}ÿ²Mþ^‡â™ @£*9*Š'Ñû¡Àý¬¤ñ]’>[Žå5w9á®|ø¡Ë$ìR‰¶¸LÕ7Y‡r ™© (H[…H0‰-&ÛÞnÄ,Naµ€Õ±šCÀ&òNZôH_…•®Õ+iÜ~fƽﲚD™ÃöEå9H¡‚P»¤¨©l-¥‡È Æê ·I,mJMaå×X­ªðtžJÒT¡nÏ1û1ûű´¹,q²%)w™ž·¿ù¿¥éôÜ\ØÛÛÿƒw¾å–[nù¸<;¥Óü‘žóÓkü&u>ùlj׋i›µZ'Ý3)m…k«Åó{ïF¼¸hò4|̉ÞgûÐÄÞ¨Üóñîm©664䊹]Á(è¯Ue®]XJX”°„Q•‹ë=¾ñ¤ Š+ÔO|fF“™Þ`f4YÚuÒŽ†ÒŽhµo¨ÖÖè½úkStuŠÞQöV{sÊý1Å^‹­m±VuÖUUߣldd¯m‰‡k…’ëlƒ*Û Ê&¬,=Béàímxí»?àΣ甇 e[eÎΫ¬Î¬ÎD/l8Tøu—E¿É¸ì3±;¬;5âckW¡Î’ˆ‰ÒÜE[ìÖ4æè2G'C/2´0G]ˆ‰<ßk±mà ŸXÊ&ªÔµ%oºßdÔØ,«l6›u•tiÀ\AÎw×ýjm\ú²-JMGtl„QEX:Òs‘U‹ÒÓ¥€šwh–p_EÞ+ÊΖRSÑÜœÊþ–v:%­x¢JÖßåW¦Õ)È"õª†Œzš±,›¬e¤4!•à'»Š¨AaB¯È³˜¤€‹Ä±Èº:å2ðþø¾ónùãç{ÿÅÏñ¿üÿµZ•ã{ÿ{ïÑ#Ù’¦é=fv´p:#u^Uu«ºzH §1 9 ¸à†ü‰P`0 H€Ñ$›Ý]¢ûV]‘y33´rí~´0ã£nu/TÍåÄ|°UÄ ÷80;ïùÄû ¥~´P<òÈŸ¶m8}ÿŽý¯þ[þåñ_þQ¯ý£ÝµÖ÷=ÞýõšÆ"Ï2R¸˜á¶ÒÎ^pwëÐÓG,÷wYîí²yãâí¥ý QM··¦§Wtüþ¾Ä6¢»ç|¬áciE–w8¿9"/B.o÷ñ£‚TydÒ%UÛ·üѧ-á'9#'!5„»S"kB4ž}:¥‰"êÎ u§K݉¹í޹Œ÷¸Üß%}1@Pï¯(ö—$^‡ºö¹[ïs7ÛçnºO¾ñ1ax8åÙáG‘pcrmpSpsq@qîSœy§>棠öm’½ˆy6äFï1÷G¬F]ò§>Z(„â‰Aö5ÒÕ[á÷ úSã´VÞ —Ûa9ú\­Ì=äg>óÞûø€°“Åaœò"þžOªoyS}˨™3d õúõšÍ)7ö.—ê ç€K}ȽÙac:$ÄTæAøe¦‚íœMb²Iw™÷¦ÁÓŠ5ÃÑ‚•;`4˜Ø"ëEhG"Ÿ·[Ãç â ¡î+Ò~ÈÜïÓÖ’«Å××G\]1Ñ®ÀôÀÛÍ8ôÎÉ‼ã“w|²NÀȾgߺfߺaߺ¦)l’u‡«Ù1ßÎ?¼a†?ÌðÜœëꈛä€l¢6¿,è•kv‹)»þ„és.“c>T/8åŽUàx%N\àôKSá´%nSá´;Ö„çŠ÷Û)qUA+µ°¨±ÚЫV„EÁ~~Ï“úšØJ–!<ËßZdˆŒP¦"Ãj4“rÄ"ð[õ2fJ—iÛ£jZLSaÚ£·C:Œ‘˜V`¸¦ä°w…ãTìoø¤Ùã}ôœá3>Ϲ»:àyõžÃÎÏŸ¿çE÷=gå>T/øðö9÷¿Ýg³èPN=Ê©‹N$¦/ÐZÐ AcIj[RJ›R:ä§À0B ´ælù”Óógœž>çâò ƒ݃%Çûç|>þЉq+ö¹e›b-$V·ÆqKÂq‚oåä¡ÃitÌ4êQ•×íWùÉÊÃÌ5íš\Q5…ñ¨´CÛX˜Z"JCO/xfäEðŽç½ï©"›µ³±"V¢Ç²è±œXÜnËK³UH]9T¥³~. Hñð] L%0)˜¥@L5½Þ‚“ìœ7õ7¼ákP`\‰QãJN£#ÞzÏQö Vb5Gfŧ¼åSóŽ¡;‡=-Ãêe—oÊÏø¦ø„²è°»”Ç Ó÷(eD²©ØÔ}n«C¢*!ª|/Çó2zÞ‚=ÿšY:äzqÈÕÙÙLjj©0ż)ÙŠ¾‡¶Dì8¨#ydc—¶ 凩,L ôl $HÆ%fƒ»h[¡¢†èxÃ0œ [:tÈâ4È›¶ijëMxc‚"ô)Ÿ2tA™ Œ ¤ dt¹~U …ñ(—zlÓ6 ãð»?Ù‘÷È¿Ÿð/þ³ÿœÿí_ÿ+¦÷w´íc ø‘Gù·G)Åh¼Ë_þ'ÿ’Ãã“?êµįKò7oÀÓ˜®€0¢åötÄýƒ<!§)ö_ØXG6ök„&!Ö:zM_¯ˆý‚`_âtCÄÉŒ#°2Hs¸ÎÈÖŠË›€«»=¤h¢ÅÐb„Æ q;Ç›%±³`x°äØY0Ø1Ü™243zJ%\JáQŸRz¼/_ ÷ ÍûÜ1Z9Ôþ’Ÿ“ú1Y&¸Úññî%.^Pç?;üO?òéÑï8êŸó›éŸ±™Ä|˜„œ_?Ü Ìp*0UÏ!y1ÏúÜê=V^o+üði#¹5äÀ ýCÆïñ÷CÆO#î5æB’ߞϠ<{æŸÄ/ª_B%Öshß2 úÍŠçí¦œº'üýç̽>˶ǥ9¦6î6p2~À P“ÁfL‡ÜM=Ä´ÏÑtÊ!†;sŽ˜2sr´o‘Åó^KݱÏ[Ô5ÖO*änC­,R0W}²$àÃâï/_ñþ»×ÜMö¾¼gôêžá« ƒç3Ö"f-:lDDË OÄ/xÏKñ=·Íßl>çê/¾ ÷|¼6Åwü~ @ZÅdiL¶ˆÉÂo\LÙ &|_¾æª:æïªÆÿeþ_¥ø~Чøƒ­™ºÏC˜œÎ(±p(0Å¢zÈöYÔÂFC¯Zãg%~R’×>"2dŽÏ40 ûtYý“¸+÷¹Ëö¹wö¹³ö©hS£u©khÊ­ð3ú!ã'1­„F`„ßA÷š½ñ-Ú•¬d—¿Êÿ’4x—½ánqÀ+ñƒøŽ?ïþ†þü¯øÛ÷ÿŒú]ÀÙ»çÜ¿Ûg“Ř–íïl4ÛáŒZ šßgü„E!\rf©@ñÃçÁ°¿€¡@ölä«ëçòe7Ü:è[ î€ C #F-ÆÏ0ÞíyÛŒŸ]Ä¡Æ7)bV¢ËJtQ¢G2(ó€äÒ§üO}åbÆ30:z›ñKÈæÍþñÓ¿Ïø=?Wa†Ûû’ÿùxÈ=òï–íðÙOÁg?ýÅŸúOyä‘GþBSW4õ¯üG+üL,hŸnû|Ðr ©¢EßHôÔƒ@TJo¯*'§š9\ÏøjúS’i‡³ü)ßUŸr_íQW.\g Ì ¨ŒÓÐÆ6t\ˆ-T`ð¬ ×Jñ¬?Ì žBmÇÌî}ê2-ûtªªO§êSG>u'¤ŠCêNÈu~ÈÍêˆõz@³r ,E—k1F‹2Ãí¤ÏôÞ!›44Z0Ñ!§î!V¯`Úq« „½ö”!7>¹ï“}òcù¬%;ö™»´¹E¢#&嘤i°µ!_„,ó>fZ*šÊÝúàÕøIÎÅí°áøõΠBY –ÕbY Êj}= ·]_oyéÏŽ=Á¦¦•ŠÊu(Å6f¢Ï²é²YÄdˈzã"&8HQž`=iˆü”(H ýßÍIC‹dW‘dinᾆz/dn ô"‚TÑ‘ ¯;oy~p 1¨A ¤lˆÍš]sËØÜ±«ï°eŒ ÚIÙ)§L{;¨ã5nPqMeÛTK—jáQ,=ŠeÀR¹6IaBÒ&$kBÂ6áéøiÒtµ­È«EKOm8Œî v2zîš®)oŸrµ8ä·ê Þ©WÜ«ñ6 ¡M$eæbü%®_áø5±¿Á—9ÂJ\V¦K‰K!¶B¨ÀCjC¿^#²5þºÄ/sÆæž—ò=Æ ÝÙ^v¡HÉð©h¥ÃÊP;6U ¡+a a,ÉÂwåïnZô×çÁ QÌ üy«+ìÝk\aÅ5EìñÑ:áŽ1I¢k €DcÑàšŠoÊËþ÷ž)™è–V—•ÝaeuiŽ÷¯Ç|3øc ^nXeÖY—UÖÙÚhˆW”¸²€Fp6yʽڥ<´ñ¼Œrèp׌ywþ†&³8¯Ž9/Ž˜1Ua:k†;wœìœñlç |˜ÈFL„¡ÂÆ2- ƒ0ŒÀ2-®©LF¬6ôFsF¯&¤EHº¸/ Öã˜ísô¥$‹|æ^ŸÊs ½ŒÜJ(‚«ÛÀˆÀòj”¿µ7±ƒ’$¹,±oά>$/¹sw)]TX‘ B.Û#‚«”&·±£ +ª±ãíú¡û‚Û§»dËnh#ÉôÕˆwý7¨¦åýl†œ‚œäVißÚ_pi±±c·½­Ø#@ƒ« àzââmfÛXo×ö ¢=îÐui;¬’>‹»‹ûõ½‹N`Quh«Ö•€¬aĬE™äh·fj=a9ìÑï¥ØÔXAÍ¡sÁ“î)³ÞÙÁ€ùjÈl=DvZò~À}l±È”•G’Ç$eLÛZ´…!ÝDèF’7›²Ë,Ùá<}F7Y6 *j°Â–§ŸäUðW”x²Àž(.ےчulݳ¯nسnqDE­l6NÄÚ‰X;1Wõ>“õˆÕ¢G¾i3O§‡ÁnJ\¯ÙoîØkîØoï6sn¬!·Öð‡Õt-šNÈÔé2›Y 7söÄûìÞáG9²§n‹Ô·*ˆ¬ ¡Ù©5RjÝÇæ‚UØe•÷Yô{Ìû=aŸ…é‘ϲùûˆücÄ´†Z{,ÛWúwP`íÕtöV ¦¤qÈÌn£!tÍÈšñ¬sÊ3uÆ ž“®CÒUÈ߯¿du¸‰÷¹‰÷™Çˆ 5Šjã¢×’‡°—c 5Ñ eäLéÊ KÑCÑ’ ŸŒK·P)ì¼%ZgyÁŽ˜a,A×]óÜý€#**QbSa´"]î­}„«!² kÁHÀZ‘9nJ¨¯:LÛC"•b/ìe½l¶Ö Õ6Séïe˜Þ›W\µûlêhÛÓÕ>D³]ΜWÃwDvÂÉðŒ3ç §Ñ §áÎÂÚžäv°K3´¸Õû8³šüÞ£˜x÷>ÍFaÉKmCX†Ä‰Hœózof4©â6Ý#=8ÿíSæy̤è1Í;4y…¿¿düâšç/¿ç'î· %çÖŽªh…¢Æ¡Å¦ÄG"Hl4åÖ^-IvgÚ§êÚ´/¶W2÷äMÀdzçXÝÕ¯±z ±½¡±mò(d3,‘íÖ;Ó*œ°Ä « )#Ί§,Vìºf!û̃ùSKT¬Š˜Å36—Wàî8®_0ë¸y¾ÏƱŽK¥¸éíQ÷mnš‚IŽ8å‡ÈŸ›Ý}nÆû¬w;Ðl¶Âí¡œÖ·SÞœ¾šÑ—s†î”¾7Çq+jaSáP›í€Œ½ý9Z@‚ë–Œw_pttNÐɸZr½<äêâ€Í:F§Lš ³ d)¤(;@,·ªéÅö¹ç¹uFa<ŒR$2¢Eê’ŸÙdß+Òï%ÙÚÚô18QͰ;å°sÁQ÷‚àŽéNÄô$fºŠ˜®cÄ^—õÍŸËFí3OzÜ^í°úÆ¡ùº€†i/~¼Çæ#<òÈ#ÿaóã=Á~/üfR §-\4pª¡QкÐH°Á¢Á#%¢ ËŠt3¿Cú·1é_Ç[#bãR‡Ê8ÐTPWPgP¯¡#`ìÁ+Ÿ…¨I¯Å-{QJ¬ÖL.&&ûÌ.GÈé9ýæ“.|>ÀTŒ×§Y{4g͹EsnÓÌ ‹M‡õF`­}(*šVж‚¦Í¡«˜„ËAŸ³}—pWóÌyÏ3ÿ=‡î%OìS.Úc.›#œ¦ n%E5>‹¦O•û4¹E›)ÚÊ¢mä.#òU€\¶¨e‹µhPóíË5/öŽ—?{ÇÓ/>ðôÍG"“é‡0)²ÝzÓËv¶®qu‰£+lSSX‰2 ܇#®’}&‹V³.ùyˆ.-ìý†èhÃ`ʸsÇëù{^-¾çÕâ=Ç›+ÞöŸó}ÿ9oû/Å2°Ê#Vé€Õ¬•Ç+ñO;ßò û— ü9¢oÀ5 ATaZeºšŽEX4c‹T‡¼u^ñÎ~Mé8\›}òY@þ.$ÿ»ìïbÊ2dѱš«mØûä†'¿8åÉÞ)'‡§¤½õ ŠÊç®r°ZÃŽšóY÷þãîß0ʦüúâçüzñs~³üßL?¥»”ŽCÕs¶Âom¡7Šfã 6šzw‰j5¡“2êÍèØklQo…=4ò÷ù;RB]ãT a–Ѭm¬tÃÈšÒõVœÔ…ÞFšTw¸û|´6H×@( gÁHAnH+›ªì0¹>ľoPU‹\ÄC8QI×_ÐÙ[Ò œNÉ´ÝeRѶ/Ê<ô”µ@{N4ÚŠ¾Ò¸|×yͯ‡_ a9ˆ˜[CîÚ]nÛL+Ñs…>—èýAb¦¾Š–AØ´8Ï Üç9îóœî“9Õ×·_ïqþÑ£üÚ§Þhê¼¥Ê5MV¼\°S\óÜ}Ï—ã¯0¾Â1ÕÖrAm¿ÏŸŒöAI,Ú„_W­ÈÇUϦ}.¡Ò¬g=æóëYÕiŸápÊ^{Íž}Å^g±먇ÓnÍ;®ð⌠J°š†ÍMÈòÝ/ IDATbÙ§¾vi7zß`öÀìT¿bõ¡ÃæC‡Ó‹çÈà¿Jñ›?HñwSêžMxGVUÒT6·Õ7õ!¦’0ðø ÄoA'’ò“‡½oà€8lO†‡Œ_`g ü)‡Þþ¾Lñe-+jiSáÒ`o3¿|lÿï^·`gxÏËWoùì˯èvW|ýË/ЊÙoFÔß8Ð6Ю1úôª]0l‰§kúf;uÇs÷ŒµˆIˆ¹cc‘§.ù¹MþkEöÿòÌg`>ž€õ¬fLy¼ç³à·<õ>pÞsÖã¶G´MátY»]6ŽàBAº±Ù\:$_;´ÿwóªší—ôÈ#<òÈ#?>~´ÂÏ JÂÝZAs'h†‚¦/Ðk´ Êi¶À ösƒ(*á‘.cÖó.ëi—Õ}ÕmmÔÃ}¾@Ø¡X6B¹Ð—˜c3tÁ±1µ¢I}Ê&$Ï:H-HÎ}’sÅæ´asQlÍ~7l”!,=¸Às·¥©ë® \k¸n!k©´‚mÖ%¬·>FƒiQ]ƒ=2ø߯ˆTƒÓVèB‘!31$q#*ר຦ÈÜ r•kªÆ¡vêt#Ñ•  $ºÛƢƆäa¨D!HMH\lˆ«5vI$7TÊ¥±lZKa”À­kœºÂªkܺ¦L\6ë!ÅÚ£Xû,ƒ.óa=f~Ÿ›vŸ«ä€Åd@yám½Çl›ªçRŸÌ Yù]fùŽ›bUšÒ÷ñ£ŠÃÎN·ají0Q¦ä¸¦&" ‰ ¹sÆb?!v6DrƒÖ‚u³,û¬ELf¼íCéCÔ™’]1A(HE‡ÄŽIý˜´“Õ>¹ñÉð)º.™ Øl:,¯úä Ÿ¤ˆ(Ê€ºp@âE,¼wÞ.­–d*@†-Ýþ’]qCÅ$2"Écª™³žÑlˆÕ†(Hèûsúö¥4S56vÕ`U-VÝÐh‹\øäÒ'>A•#+peM'ÜàŠ’”€l’V!ùÌßDÑYès!i+…Y XKX ÚÆ¢R6µåP)›®X£ŒÆ÷ ºã%²n¹N¸Yr½9ä>C¦á‡uµÛeµÛÅ×<|¤p<ªÐ¡ºT‡4`™fÛïfšµMz=DŒTwP†)={Id6Ô•G–FX«=‘L–;|»ü„lp±8þ§ÂOÁÄqpî³ 4…¿[à×xã‚`˜‹„8Þïn`!¸Yp³ØçvqÀ,Ѭmò!í½¢úËA}Ë~sÃA÷–ý/nÉ¥E¢\6–ËF¹¯9Ø¿£»¿A µ°ÈšeÕg¢÷¸/öÉ£€üi@mÛXy‹x¡QOZT§Eé–:qØ,;L»\,NÈ.#ÒˈâÒÇ\ ŠžÇ|:¤½S$71ô¡ì:ÐÑt; bkÍQ{ÉQ~ÉÑæ‘À÷³W¼[µdiÄ:ían$íÒÆ\HZÛB_7èë}ÝÀ]KÛ”TËsYÒ|]Q]ÍŽ¿áÄ»åÄÿž#ïλš³ŽÏYg‡´cXx=ÞË—ÔµÃM²OÕØÌ‚>S1`¦ú¬u@¦mJã 'Jö­ ÇÎÇþÁ=CkÊÀšÑ“K„&³)V>ɺËr=¢]ô\  ç‚æZÒ\Ú»m#–ñ£=2yä‘GyäG,üœ”ýî%¥pYî÷¡TÒ§Ù³±Ç%þNA°“â ªÚ£¬=Ò&¢ºõiæ‚6´%`Z}àðZÁÈBÆVdP±%4·Üzè[E;U¤«j¥X­BÔ&£.×Ô劺\C@gÑVôu†P¬`=‡Û%ä (¨"¨ãí:ö!và™ ¯¨ab 5XvÂ`|ÃÉø†—;ïû÷\͹œ?áòú˜ëÛCìã§.qœ»_⩇^<«À×k«‡-+´d„4¾…´[¤Õ ìV€cÐD!hfs1"KCnn÷ È莗tô‚®»¤k-Ø1v¬)#3aÇL¹Ñ‡|\¼àãés>~õ‚¤Ò´’Æ—´CA•9”Ë€bâS^¹´kIîùÔ¾MD,ÍIµ‡W¸UI¤S>¯ÇgÅïxšžñ¹üSwÀ½3âÞßa⌘¤»Ü[»\‰#&zÌuÃÏ_¢œš‘}6‚Ëòˆ¯V_òËÕ/8KŸn{Ï _d|6úšÏG¿ãX^ñÆù*Ú…öížâ½ûŒ·Á+Þú/Ðfs“ù,O{Ô§.eâRi—R{TÆ¡öm.ÇG,Æ}¾¿d4œòªó-¯{ßñ²ó–]ç–__ýûºb3‰¹º>fx8ãUø–?ëÿ’ŸþŠ«ð€wÞKÞú¯¸PǬ“ÍÚ¡¹s¨ïÚÊBÛílcèÍðãœn´b'¾Cš†ŸñÍú3¾ýø9ïÏ_n}áþÑ„ÅðÓ ¡NˆúžÄ§”=‡l’Õi ´Á¡Æ16ÕÜc>bBAi{Ѐ3¨£”®½¢k–dUÌ*íc¯ôT2¹ß!›\Þñ÷÷_"¤ùAô¡ °=2Û'·}2ÛÇ;α?[ÓuVô÷§ 3v¢ £Ý);Õ³|wñ)òB³‘¦ÕˆzåÐÞ)ªÂ¥¨žís²wÉ—»¿áç{¿a…LÃÓ°Ï4ì3pº÷tÝå¶4Æ"­–eŸIµË¤Ø£‰,Ú§;@ íD‘ÜÆÜwñŽr¼“ÏÍèsöí^oÞñ:Ç›Í;XœyK¶Š¹ÎŽ0©@¯¦èZA­1‹– f™Á"£]4èˆÆk(݆Ý/Vô~Í3÷ŒÏÎè»»Æ5ŽU£”F: ‡ žÁ|2äW§†<Ó,ÎúÜÜío³|¿~4¥Eéx¤ƒˆ•Ùúp6Ûù¿´(D RiüaJøbÍvà˶˜UþQ¿æR{¥Oáúä{>…ãc·Œã ŸtnùYüžŸÆ_ñkMb!\”F¡kAUÚÔ¹@¤6$6˜c2Œmv…ÛÏqw¼ wGR-ÖTÓ5•ÙPe ZxÇÆX.Úk±vjìCó¬ÆþT¡Fâ}Q „2a®éE ‘›â›§-±šYjÈ·£ßM#i[…4 SDQ£Ê »H°2JdBš D^ð·é¨ÀF,Lfc"‹*´),3³50ï,é´ :rɲè±(z,Š.Ë¢Ëýd—ËÕ!7ÙÓfHٺȦAÖ-ò¡L±©ZdmµÁ”’zµ2x K§ *åâ©cI²2 l=êÄAOV¿%äôKL¤)•ÃJwÑZ¶µí+LÝ€Ôö1­ # mC²*bSt¨›ªµ©kOì5·T­ƒ«K†ÌPFªiä¸Åš,tY…!Óp€øhȳq º²ëíç¡1PCXlœ˜4 µfmbºfÆ‘9G™–Ølè±`È”±¸c_^3¶î:SzÞ’Ž¿æžêÜfv¸3»,7}š¥C³²iŠ9-ÑZ¢[I+-fŒ˜{}V.®*˜MúÜÛc®Ì>gÕ“mŸgjÑdÛØÞ°7¹FÝ×t‡ ¬N…çt:KZÏB‰n¶÷•i‰—å„uBƒ½Îã¶©h+§©éê¹Å•5È­1¹¶+ÂHQAÖš¨NˆÙõz匞™Ñ·gôÃ9Ãp΀9]´©E \rì¶Fé¹Ð¨¶E&•hœ¦ÆUA˜ ì~‰Ó+‰»)ÃÞGVøº¢h}®õ>WÅ7Å“dÌ"°©:ÛZXÛ •¡ÄaSÄÌCÂ$e9ë“­BÚÔÂ*[¬¶Å¥Øj{+ŽŠÖ%)"ü2£Ó,S#¤ÁSÛžã±™pÜ\ 8oŸÐa#ªípm5ˆrk¥€nv aŽ)6%NSb7ÃÍ„n²$LRܤÆ5nSâ6^]âê ׈qMw°âº> »\âªQj\±þãʧ)ñÓk^PÞæa@ë;Ô¶Cí¸ÔŽK$úá‚^´¤/X¢¡Æ¢P¤uÄ"RçEæ³®»Ô®MÛ´R!;-*”8"mâÐf Æfá¹c¡OIò"s¸ÏúÙ.vT3RB/E[‚,ô`èÑØÈÜŠ 5A’Í’$h HZcZASÙ¥‡I¥ÆL ÜlÓà8ͶÄx§A C9©Ù¾±xä?TÞ~û5õüïÜÝÝÐ6>~<òÈ¿=ÊRìîîó—ÿâ?åõ'ŸýQ¯ý£~Ù™ææ¬¨k›tÓn4ÍÆ ¤AJŠìqƒ£Kì•F]户+xgÃÒ‡U2€q@o¼à`tÃáà†Ãî 7w»Ü.÷¸]ì’—.-;1UjTÙ Š Y6´µC[wi+Óö2öSögì÷3æ™Ãdã0I\¦›˜¢ŠhšMcšÞ°føtÅðÙšáhEÐ-ÚüÒhlUSi‡é ÎÍ ÒºñšŸþ=_vÃbÔc9ì²ð»,Lb&H®öµÀ¾–ä‰ËªlIÊ„¶š`°0¶¦u4ÆnQ¶ÀR–²°_ZaSi÷‡h……ŠJØxXLg#²+ÙÕ€‹«#D4š£ÝsGWXÝ{·ÂÙ©±Uņ˜+ÿˆ«þ1W‡G,=g{.ìÛš½Á-‡ƒ+ûWì…·x›³|»þ„ÓÍS̉Á<3h ¦ Bv½[zÍ’OøŽ®Zrà_ûk2ǃVÐ –¼i¾%6 Ÿxß2§Ï\ô™Ñ§V6n''n£1ß9/ñE±Í˜:^];.­+°¬Ÿ 'ªpŽj\½-'^ßw¶å‡ËC®dNˆ³[à”8'%aMš„|¸yAñÎã]þšÓ(‹£Ýsúsâ`C8|[}ÂÕÍ!7éçë'\¬Ÿ°Y÷hljì0G–¢âa0.Æ4Eå¸äÊ£°\¬AM÷éœC÷‚v,Ù¬;$›˜ÍºÃfÝ¡ˆ|Ëú+Iþ1¤¿?£8g|xÏàpN®}&ë&ë1ÓÕy Jˆ¢„èy‚’-V¯¦=®ÛCœd‡Àìw<ß9ó ²5!OÁ$ÐJE«þ²ÕXm‹ÕlÅ“Üi‘O[İA¸Û¡<>ܲGnù\v™ ©l…3ÌñÓ/+ðÒ?ËAí¿Ë¯ÔϹ™Ði—ÄÍšN³f¿½§´]ֲǥ8f-:\—|ؼäbqD6`m Ó[›˜LS·†iÜç}ôŒ2v¹ žÊˆZØì î†)âÀ –ƒo–†o§Æ†]ÖQºšz`“xun5s,ý+Är[JéPc¡Ën°ì˪QV…¬rdU «Yi¬2}ˆ î¬}›‰sÌbú ka°ó»¨±‹†HmÅ3FÑ”a<£ìy,Ž:dM@íXX‡-CÊØ»cìß1ô&$ÒaS:$ß8L¿uh†í( ù´CŸÀ+éØ)Oì+žÚqUI.= ¹½S²v¦¬ÍkÙe%{,« Ýg™÷)דé˜oÛO)µËµ>¤ìyЗ¼ê}Ï“þ%·Ù«›"d쿸ç@Üq막l®÷¹.÷¸ ö(×7ÝCœB“~Ûåìî£ñ„ÑÎ„Ñøž°Ÿâûn/Ç6%–W¡-‰ñ:3„vÎ0š1 ç £¶ªøêßÌ€Ã?íá÷ÈŸŒ³Óü¯ÿË¿á¿ú¯ÿž½x…²~´P<òÈŸ¶iøøþÿÃÿßáz>'OŸýÑ®ý£Ýµ²3Íõÿ´5š®Û–ºii!ÈHc[¬¼ÆÑÖº@]jä7~¥·uNÖ”‚ˆîn‹Ñ)?|ÅOz_±\÷øêî øN0}»Cݺ˜#ù1Ð(¥±eƒ-k5uîPç&ïcÊ–aç/»g|Ö}ÇgÝï9«÷y_ó}uLU UªŒ ŒiË?X2®x::åéèŒ~°@š­à“FS¶îÖl»Üã"?!©#žógñ{žÅyÂoýW¼ ^Qù¯¹4‡´3ï$â+ ¿ÔkIÕ¶”mBÛ–$ZmšÑX/,üŠà…B²eD¶ŠÐKE›[£îmJ\$ùÌC¼íÃ?Ä?hvwî9|vÃáÓ+ŸÞЉ7øvA`ø2çž]þÁÿ)jËÃK»¿µäX7`‹š½g·|ÎïøIç+^{o9»;áâê˜ïÎÞp~ö„è'kbVÄÝñ“%=µbϽ¡ÇŠž½Æ•Êi‘NCæø ¡,‰MÂ+ù=IÔáÌ:æÌ>æÌzÂÌîã:9¹ërãŒÑ¶¡£Ötœ5½¦£7dÊ£U¥‘D9;GÆ ã'÷Lïvøúê ä¥aqѧînIx¸!|’àE9É»€÷×Ï9w‚{[1zvÏèÙ„ãƒs†O§Ló¦ùßæŸ0]ŽYßvX_Ǭ¯:l®cäN‹ý&Ã{“áïæèŽ"­"Dmhk #/üréSZv¿¦ç,8ã<+˜,ö¸_ìÒ,l6‹ÅÜÇ,ÙiÈ|1âù ÿt¼áÍη,Û,$ÓÛ]æ7;dm@¯» ×[Ðë.°üæÁè¾Ë´cjÉkó–ýà”×êÏ;0­ªFoÛVkeQK‡ZÙÔÊÆªZܲÆ)ÿ_öÞ4ƶõ¬óû½köÚóXó©3ßÁøÚ$DVƒº[‰ ‰Ä¦¡(ùhd!5é/– Aq+XEÚB‰:ÈÝHÒê $”´Z@ˆãk_Û÷ÞsÎ=CÍ»ví½kkžÞ|ØÇ×¥ÁQcßvûü¥GoiW­UK*ÕZû·Ÿ÷ùÿ3Ì8#quVÝ «ö&d‰ÇêyäüŠMÖߺVe¥×Èê*fRÉ6PWÍVxùšr¥2Zw®·3•[ùîæ¹WÓ£ù®…a¿yÂ;á._¹¼Iñð6ãwkÁ¶8â¥ú3îï?#©8<ؽ´Ë­óë&£ùÁ¼ÎùƒCºå„ûwÞâÞíÔì•æÇ°ˆ0¬­žl:Ü ÙP‘× é7G4¸Ñ|†£‡\|qÆ ðûÎÕÿñGÈÿrpxë½¾”z¡ú6–ªiܺ{Ÿþ;åÿç¿ÇG~ì?ÃuÝoÉïþ¶¿øR_– –s“Ù&̽£.6[¾”D"²±NÓ† æýÚL’ëkÑñûÍ•’R”‰t$b Q¼Í+0¼ ÕÈ‘K‹ri’/-ðµÚSvk3^®½Ã÷ÔþŒ÷‘¥ÎJö¹,«ä©‡[艊—4DDט³c\rÃxF› ª¶™GQÔ’u^ÅO«„±Ãé|Ÿ«°O£ºà^íûÕc¾»ú9‘`3=Y’ùP\BñŠ×ÊuŽ ¦(Ÿ›3|­ô-«£áZ:o!ÏòsØ·‘)›y£B¡*9ÙZ#jd4²×5œ—"ÔÝS:Ý1w^{HÇR‰B¼0¤… •mRÛbÑl2L·YQ%j•üBCKrÚæ”›­§|P¾Îûí7P‹‚«eñE—/<úíÚ˜Îöˆ^0¢”’ºº¤aÎ8T¹aƒ,´* µÆR­A u{MM¬©ékŠBÃ3æØ†j¤Øz[ AH–ŠG&TØ$èä(H$&9*‚“„†3cÇ9ã°ûŒòˆñ¸OVÓ™MÎÊ]biâô}Ü»µB3r‚g‚¥Gxâ!Ÿ*¼â}‰îÛÝ3^zéM¾|õ~¦£á6_Y¾Ÿ|¤!Ž$â‰D}ZbÆTÚ®XávÖäm JŠH#Žld)(-A¡«äŠN¡*µ„ZmJŽSúh×9åµ ¹¶ð¯=ä#A61H/ ü‡UúÉÅ“Ôú+¶ý Œ<ãdS uæ'-"ÕÆ5}L;¡¹=Ŭ'dÎ} ÀíÛ·ù‰Ÿø Þ÷¾÷Q–%¿ñ¿ÁüÁ ¥ä~àø©Ÿú)åÏ[i›@Õ2Ñû*Æ Åè/зô½”¢­²Î«„›Pf„ÍŒìÎÆÑ£Ú€Z# Þ<¦Þ<¦k^S(‚§ÃC‚I… t¸Lh»)7*O¨sVn•uä±z³J:4`W"wæþén IDAT ÜˆÈYŒ<àTÂ(£Øî…D{T]‚¤‚zø¡GV1(è*CêÊŠººÄ‰CŒYB²¶yg}Ÿ§Êm”ºDi”ˆ†$g{\žoœo:p‹½:g{;ÔÔûÈFɕ衑s ޱ ‘µöC„’% ±ªk:‰¶™¯ùøAÙ4)îV)< ¯º™«[ëä# ùT †#O¨XkjÍž\`×c¬ýË1µ„ʾOå¦Ïº]å+Ú«xЧùT-Ÿª²&Êd(ÙNÐâœ[Ñ®Ö=ÆN—±ÕÝD,X<×Õ+èlO¸[>Bº‚ÖàõnŠ~+Ao%èjB)â2QÛ¨¢@¡òÕ˜ƒM—e¥Ö‘†B¡ÌT’Ü@Æ‚½üœ¡ØŠ] >_B RJ"l"lÌMX5:¡pXÈ:#ÑG¥À· 1£Í D"ÈÐi4¯ Êš¾1¤”*…«RŠ[*íÆ„¸kò4¼Mð°Â,iòdz‡Ëéq`QØ*qa³*=,ÙÂ!¥.ðì%Š(BE›¤Œ¦]>?ùn.j[ó¯UeF¤:Â!›¼ã°O¢˜\mŽí}Œ2¤®-‰]‹nsÄwó9îÇo£63ÔÚæÃ%! YƒEÚØ¬Y“¥^g­W —H·°•]õ”B×iš .•-Æq—ñ¼ËÕE—D7™Òæ8¿I˜õ„ó`—+¿O¸…ÂrP缿ƒ¥†„¶ÉE»·…‰ÆV+ ë)ä{’|·¤è”YÎåu•/-ð—1Ug [* 4Ä–Jî$l /Æb‘×ð}›x¬Rœä¨Gu}E£µ¤Þ_ÒЗôìcb-âÁYÙõK-xäpÕ½¯‰ïÙœ!1Ž*ñ€¬ió´v“au‡°VAfÏÃä† ·4fF“cí[ XRå\ì Wõ9ÏXk5ÖzµYÃ7 ‚Ìe4ÙB]„'¶ˆ˜Í.Ùî|+Ÿ”/ôo“м@ÕTÞ ©|¡z¡ï8 ‡Cv÷(òìßø\ª¦~Ëg…ß3ðû…_ø~ú§š}èCüéŸþ)?ÿó?ÏïýÞïñ;¿ó;œžžò[¿õ[”eÉ/ÿò/óÙÏ~–|ä#î ðS,s á¾œâ¾´À8ÈÌM^Ÿ×ÈÆiY’¶ 2QB§Ä«Ù®ÙkŒÙ­_QÎ ¢+‡'Ã[|eô>„.Ñ)únÂÍWŸÐˆ\޶¸ HŸi¤ªŠ|EReC \(¯#ä³ù•ûä¯NHeHTø».~\ÁŸ{×UüY•¶qÍŽ7ävå1w¼Çä©Êðr‹‹ã-ŽŽYã!ö$ìKÄ>ä¦Îâ¬ÎòQàÑÆ¶~á×8SwQ9¾ê`ˆƒ”ޏ#¡ÕôýM‹ÑZ1‘4YšVÏ+Uu¾ }±ã2oÌÛ:s¯FR˜¤KƒâR¥|ª žIL#Ákú4wg´Ó­MéLéhS:í)«¶Çt»Í´ÝäH?DS2jÆŠš²¢¦/±‹=ÊÙ‹O¹™>cVy{ñÜûĖŪ¬~ ü\P¼’ÎöQ‘´¶®¹{ïëžËºïà·Öªûü&¢MR¨¢  …P(Q‡…Ö`.,´RQéÇ#z«+v—ç4ã9iC#kj¤ŠFn«(Ï} %c˜›ëkà‡Ã\4PeA.4¤¥@[Ò6Ç­„^Ñdlw[]®è—:­æœ]õ”½Þ9ÛÑ9ÖœzkA½1Ç sÆvíaJÜš[ ©w–4v—Ôg+’ªÁbÛcÑ­²0«Lè`PEªRb‰„ŠXÓxn#(‘ÏSa¢™jbÅÀ¸$õ ²ŠNÖ×ÉokÈu’ÌäIt‹‡6™Š×Q›8´š$Ê7'•WY£éžXÒÐf¨”*ŒN{ŒøÂñØ}ù˜½ì„½Ê1{»_qY‰KQeEÐŒM)ÐŒ'‰¨„>^ìÓg´•k<ϧ^YÐTg„ŠWTÒM¹y´éøË!J¤"ÑÙdŽŽßvð”¶ i ¥VRQVpŒ'ÖˆVV•°iVlžƒ ÁY„8Ëg 'YÅ }^¥£ÒdF“9ÍxFólN”U8K]γ}¦÷¨6–ôÚ#KzÖ×e›'Ùd¢² ÄŠÉÔj¡g¤¥FGã¹kºbÄ-û1NQ:bSæܲ›< o² ›,Â+§ïT q‰5ì©§´Œ÷¬w8<ˆïó`~ŸÕÐÃ/+LóYdp½n£VsVA•_#  ©²ˆjœ+;dU•I§EÜVIîiX-í;>IE’ÔJÒZNRK)/7àç?>àé;UϧörJM¦Ô)š'¾üV…‡¿vˆ¯Tòãåi@ã`Äþsöö/ØÝ^&„—)oŸÕùüåKLÍ]¦îÓÆ€l§…_”œ%‚ã-ÎÞ¥¨ëÌšÌö›„(*R P[:×F‹cõ€TQ¹¤K& RE§"}ÅS&ZŸ‰^P:éø.[„ËU8@+2æ³ÿ^€ßw´^4û^è…¾³õÕ{À·ë½à=¿~¿!¾ƒÁ€?üÃ?äŸøõz€Ÿüɟ䓟üä_? h¡˜æVFåå”Ú÷˜wËYƒxn³žWY_× ƒ‰ Hªõ€íZÀ½Ú¯Ô¾Âùƒ]Þž¼ÂÓáMÞþü+¸­5·>ø˜[;ïpøÁ'‰‚þÇ1É3•Ù›5X;HQ"PÞP-¼Ž‘ÏðÅ|qFQNH«Ñ.øÒÅ=ü¹‡Y%¸¨±å]±Ýòšþ£öÇ̳zù!ŽÞ¼É£×_â´ØƒW%¤l ¨"gùP ¿ PÎ j¥¹KpÃæJëpÈ3yÊÇÜä)N=ÂÒ3¬VŠu˜²Ò+Lœ·ÉÔiiæ×ýMV¢Æ±0J¥Pˆg&ÙJ'¿T)ŸÄ‰ÑH¨ì®i×ôq³~Ì¡vÄÍÖ1‡·ŽyhÝåó•pT¹Á—õW)•š² ¡-¨³`[^p+9b79ávöŒ"Ôpf!±kqam³Ê«_×ñS¼rcå¿5å®|D)ÎÌmN­NÌNÕJ¡à —“…Z{n4ÿµZQåDÛãX;àX€üûùçé-'ì]žswõëÔe­¸¬ç]ÀÛ ´AŒE‚ùn×O"P(É…F€‹eE˜VJ§5f[ž±,êhé]Ö™K’î•6V3b¯wÊkúxIE”›RJ’¦5C±JÐfL«;§Œé‡czá„¥^åÌÝáÔÝæÌØ¦DÅU¢¹étR`ŠxÓñcN›é»¾‹D˜TÍ%º™£yºÌHú&‰ÜÄ$ÒàüdãLJïVº”BA ÝN‰s›UQ¥‚Th´ôkªÚŠ&×XEÂY¸ÏùÙg_Ügüů¦_æ÷Ë;W]±R«ÌÞŦ¥º™gSôI›)ûÁí`Æ`v…NJ­\ÒR¯éØ]§ÏiesZñœjº&‘:‰ÐH4Xà@ê„Òf!kTËV飕)²xå ¯\sPœ JA¤[,+KÝc©yÈRP ×ï–™§ÄŽAä˜D¶Iªk8ÓgcOìIÂY¼O»œGû|)þ7OéÈ [öˆ÷7^gRö™Ê2ip°T7QI®s-ël«ç¼â¾Å-û1¯Ößd_ž’(‰j’*¾¬ ¤°Œšœ¬‹e‹eÖ`M•@s‰m‹†² ¥ÍqôÇŒy¬ÜÁHRÖ3£‹fq‹ë¸ÃlÝFÌ73Ñ2H_ PJjÔÓ˜mÕq”]*m·åS¹Ð*}bQŠœP¤„"!Ãåu•§\Â?Þ¥V ØcÁn}ÉÞá—Œä9ôÅX¬ ý¼ãwœ£> i F쵟ðÊûñÒ÷<â­?ióÖ´ÅÛg-Þú“éî6å½-äÎå½ùÌ x´Åù‘Dy$¡åk ²Ⱥ@z›ðxžƒŸÆLo’jS¥‰Ç 1§!æÔ™Ó`ŽþUè3ª(¦$˜W'.WÃb(!cÖü&=_èÛFß®ïö^è…^è¯Gßæä÷žß¯üʯðñœ_ú¥_àÎ;|ò“Ÿàüüœ½½½wöàà€³³³¯;¾¿3åî«_ lèw\òv…¼tY/m”LÒÐf4¼9ÒP—@qU‡@q‰r›é¼ËÑä2W?íqöÎÓó6ÑÌFš’iÔÆL#ʤ)z„÷Jì(B}¥@Û)P½E+)Ûò¶ IYWu†^ sÝ'z´d‘´(¾s‰¶shqX}J׸‘!~j£$2ZR„3TiP+BªjDÍ Ñœ‚•i³TlV¥M˜è$£ÿ! VÈV*•¦×XSk®h4ÄZ„ie˜¤˜ZÆL4ª[\†áh*3ÊŒ¦2§%VØ2£Y®Ø’W›.OÅ&:°‰c›tËÀy9À¾`7BR r©B)Pó#Íh(söÒ3¢ÄBÓr¢F–¤¹Á$ïA¢RÍBÚæ ¿i#ȤJ¡)”Ž 4®o5y¶}@¥±$1uŠ¥J±T)—*ÅBc\m3®v¸ªuWÛ”º‚ª¨ê¦ë¥ÊµÌÑÊMÐv¸Œ‚>£ Çºßüä ý[+ùb›ç ½Ðw´¾zøËîañ?ù÷øô?þ ÇþV]Ú7¤÷ ü>õ©Oñ¡}ˆ_ýÕ_೟ý,ŸúÔ§øÅ_üÅoèøíý1ÿáþQ岺ÇeuŸË¤ÃzÒØ@Ÿ:£YQQ׌E—1]&¢KŠJ8²¹õ‰F6W£ë‹*óa“ùy“|¥×,¦Q›,VXDUD­ ìmàQé—8E„”(‰R-A—Ð×ÒEiè”w+Z‹ =%Xgœ¿âض²U¹àfç ;Æ97´c:Ú£H!Í! !]@2ÆRzbʾ>eϽƩ$œØ-N&'J‹ ¯‘^iøŠF6wˆžVðn¯¨Üò©Üöqk>¶of§” CÏg=޳Ž£NÒlq[{L][ÓÐWTÅŠV±d·².<ü¤BèÙD·l–MØÄ“d`7M"a“&YªSÄ 2€Z±â@9ÅQ"¶ÔK΋Îâ]N£=.£méÐЖtŒ }§ŽVÙ8o&žAÙRÈ#ÉN›';7IC£G˜¤&Ù‰Avl²îVX÷*ø½ ëž‹´BÞ1Ò7N¨"+Qò%+IW««*ë«*ë+®'«â•ËhµMƒÙ&g®*‘[›ûäÚ"}f‘<³HLº»W n éT†Ìã&ç×»\OºœM÷Ht£`vb -!•:׫³Q‹äÒF2”¾D/rL=ÁpRBáp)œ²Ç¹Øa,Gl-G V#¦j‡ s› c›¡¹…TÀR",bQË–´ÖsÔ‰D»”T€ž}IϹ¢i/0Ü£–cÖRL‘`ê)‹¬ÉUÔcõ¹Šú¡Jª”Ñf­ˆ5UeÉNç”Z‰DXók–`ÍS 3ES2´2EO2âÈàRïs© ¸Ôz,õ*ÍþœÒlÌhÝ›ÑiLé4&tÌ)åŒTóij ucøqʱt9—§Ü Ÿiœž¯ñùxÖ¨aAÔ¶HZQÛÂõB2ÕÂV2ºÊ5¹:g*:<wx(îòX¹EÙ”AÅö7à—ÅqŽC¬ØLŒ#£ÇHï«&B-Q”ÍŒhJª™$X$ªE& rM¡Ð õ¹¹QaP¤ydPø:®P©øÜ¬<å»Ü/á/]““i'Ó;L³6µÃTé’(z'Áqõ9ýüŠZ<'¿³ËÑãÊ!”†Iñ¼2Ëb6h24ðF/&6 ®Ì.Ò,E•Ž6¡c_ÓV§tÌ)Wр鲅TÈ Æb} 0a“eªÿ…ÒØd- ‰‚AJ•&ìpŽI‚ë*åTg}]'œ™dR’u$R‘¤yÎRM(.ü«§cݱ#,=Dz’¢§#ïkPÕa¦ïTXì´5"4J¶@¿#è{ï ÀôBœÆvCà4f­Ød¶2̌Ҥ[:É–NÒ1èj†îeèÝló_³Ã¸Ùfìv˜ÉIhÍ]äLA.Tl;Äv"ºîvý˜Je×\ãm­ñ‚5Z‘³ü“K^€ß·nܾÏÑã½'}Á}/ôB/$ùKïÿgþk~ïý}ÇáÓ¿ñ?~Ë.ëÑ{~ŸûÜçø¹Ÿû9 ÃàÇüÇùÁüA¶··999áÖ­eòÑÑ;;;_wüöþ˜7¿ðûÄ¥Í$ë2ɺL³.髦õŸÜ¡UŸr³ú„-ïœ#yˆ!c2©2—U¢ ‹øjÀ՛ě‚üZ#_ëäëÍœS*L£‹¨ÊE¼…ÚÌÐúZ?߸#*!ÒÏÀAj ú¢©£Üv)cAp©\j\ uiܼÃÝlu/¸³óžÓL4³zš½ ~"]@z…¥-èsÊ]ã”÷9§Ô*!žµCiì2SwåÒ«:ù¼NøÄAµ«xß³¦’¸õçf€¥%èJ†®gèVÎ0Üæqz‡Çá]¯ïÐ,çÔÍ57ÍcÆŠ]åŒ"W)rà"ÞåúºƒVåèä «Š‘$èz‚^KR/¢‘KòÔÆð Ô¼D7rÌjŠQnÀo¨lñ¶x‰·äË|WüÜeÌ«3vÇC|§Æu­ÅWj¯òyóƒjÂŽ8cGœ²+Îèd:ëk:ãÓkj˺“b8º“Rz³—cŠ ËN0Ü”(µ¹ <^Ýåñê.r%KK\ÂÖSý9;Ý3îõߦL©\„TŒ¯ØÞåy¾dZr7ù¢ü.æ4X*u.ôþœ~sÈ+·ßä~ú+M°Ò;M°)R”ºBi(HCP s^îÈ*§ò³Yõ,G}”£~¡@,%eG¥l©”…V}†e¥t­k­g†Æ´èð¸¸ÃÿSü|^~æÁ”f9¥iOiµ'TŠ+K6àHbÝf¢txfòŽ~“X³pD€K€# ¡2Ó[Ì´&3Ùb-=6–š€€2Wó aZ!Œ<"ßå5狼f‘[­'¼Öý"OßâõÙyü•;|áË`–7Éj:YÕ «éØyˆ[höæ òf0v¾Ùeøg]®5‘–‰´ °L¤g ß'A)‘=‰ÑŒˆUƒ±Òa)üáó›¿ù›|üã§,K>ýéOóáøëŽ‚ ÿåß™YÙâíüÞÎ_%É^a¢t‰Ô§„šËÚ¨°2«…C\šd…FYt£D¯äèͽ—“»Y¢¿[EK¡°éR#z¤¡. ìfŒÕ”hÍ Å,)#•ÒW("™ T»Àt T'G©—›NX¦’Æ‚4ÒQª%v5¤Q™1p/i2ÇQ#4%#G!5 rÛ¤pM¤g#4ÅUÑ,‰id˜V‚ÙÎ1öKô¹@×U4$)!ºÂÊ|…«©·qk1v%ÅñR/c©Uñ —È´HS0²˜®êœ&=êÉ>!ÛN±œÛNÑœÕÑP\á”H²µF¸4Y­+\¯kÌŠ*ó²Ê¢¨°r+”ºB„C;D¥ÃE¶Ã8ê1O›ø¥‡%#òB‡L &%ŽÑQ&ܰH¤E­X‘y ™«kÕ!· ŠÚf{X¾­“·t2O'×5òRGfbó†\%XEŒ­7¯Qý‚´ÔÉ,´©“ 2߸{™Bfªd=Q–ˆe‰f˜iJµ 0ÕŒvvº,Yjœp±Þat¶Åô´Ãò¬NäÙ(^‰Ñ‰1ó¡JÊR#ËMD&ÉSUVã2ð¤¼I.•wyVÜäLîs)·ig ꬨ>®réôlaT­%ŽÐ.'ô’ ½lL?Óɧt´k:•)®)l…ÒRÉm•ȶ™ ®–=†Å€álÀùzËõ“u—…ß ’úT2/_ãékµ§ÜO9,8ÈOqòRnœI#ÕEæÊF@«šÇ²^§h¨Øõ¶vMWLè)cêˆ-mˆZJԲܬE¹Ùr­¹„ªK :Ìò&24Ò‡É3:¾¹ÜtÒ«¾¬²^{„™‹X ®:=ÎÛÛ×÷Qê×EƒWVŸY·Žcå8v†m‡XîšÌÔHcôJ#{GC7s*f@ÍXR3—xú SKI5™Þ`î4YW+Ä-“"TßÝÒI ÏÿgžÏÓ~µ«DÕ 4%Ç cÓ÷ŒpqÙ¸¦jF†°$¥«P$Ï4 ™  ¡L {nT–g*Ê<†“LcQÛPÚF%E*¾^@:µp²' p³7 (Œ5¹é“Zk«‚8Ë{a/#ÊR]kD¦FdéHœ 8®‚ãjH[CˆOY3—ÈR°Vk¬Œk§ÎÊ«±cŸ³oœp ±Ï¯þ§ú| -ß8È Yr1>þ&?_àêjÌÿèó£ùa~û3ÿ ½^—õÚç‹o¼Áÿô?ÿ“oü¾)úæzÎOž°³øm;ôB/ôBÿý%3~>âg~æ|Ýk?ó3ÿ€¾ö÷îÝýV\Ý_©÷ ü~ög–_ÿõ_ç3Ÿù ÷ïßçŸøùÈG˜Íf|ô£àû¿ÿûù‘ù‘¯;þâd›?úß>L`V6·6vð› OeeUêrE0•M¦e‡iÖa•×ÉsÏ]ÐØ™Ó4g4sâÄÂÏ+ø¹Ç:¯g&q¦“Ìt’+}3˜š IDATŸr³€›%X©Š©F62ȯtäZÁéûXý·çc·C’ŠEÚ5It‹´aÒ¨N©5xÞG 0D‚ÐKr!ˆ5ƒÈsHëUòV ÙíQ*&I-Ä·}æêšÂ´ð·ÚdyQkcÝmà qHpˆqhåŠT&ŒëLÕ©ïÄ4û1M+!Õt„UbQ5¨ÓŒé¤Â[ç7˜žëtË]º{s:» º{ ÜZÌÚ¬°6*¬µ ‹¢Êùd›‹ã>Ã㣓ín‹N·I·×dÚm°*댲>WÉ€‘ßç¼Üå¬Üå‚mbÛÂUŒ2Ãc¼< «^S–OñÊeÈHís©÷¸T{Œ”.c¥…Ö̱T«D„¶K`WÝ ­!ÕçF9P‚—®99ÙO°²ˆUÝcíUXÝ𠇬0H ´ÜXøG›¨óܽsbÑI/صÏÙé_°“\PÖy¡rq¹Ëqzƒ±ßåb²Ãh< èYJu½¢•Œi—c„&™ª]® IfYd¹Î•Ùã¡~P±x"o2ÌwæÛ\æ[¹Çe±…fåD-›±×!7T"Û g]R³çTËýôŠ^4¦—Ž©Çs<ŧÒPÍœ¢PHLÔ4H ƒ¥Rå,ÚæÙò&OG‡G7˜†›øuXEF‚¦;ãÀ=æÀ=f¿sÂÀÒSFôüÝlJnµ/Ã-.Ëm‚ÔÝtŠ&€„¢¢ìé${:]}ÂÀrÓóÇT}=Øl¿ÚäJæz m› }› m‹$´(s•}ÿ˜ÝÕ2`IŠd9¯sÜàØ?àdu@Ìë N+;8ÛkÖ»~éQ)—Ü/ßdO¡52´F†^IÑDF­Xâ¤!zœ"I¾0–æ‹&£å€…VÇh¦˜Í£™"A0³ fáÌFàøÔö—t&´×W¢t@1$J]Ò®LiW¦”:}fÝ*å=IÕ[°³wŠR”´Œ-cNÓ˜A ˸Ââ´ÂÅ;i•EYcaÖ‰_ª¢½¬Ñ´æôí1}kLËZ0.;LÊ.ãg&Oº¸õ1{ nÔ¸Ñ8‚Š$q × TVªGh;dUƒ²©lÌ¢r6s}kÀe}.O¢Ú%º™cª 6& )*ª£6rT™¡Ø)ÊÔ@NUäT‰¡Øœß¶¡Pq® Ž5²±ŽQÏ(÷$r7ÅÚó1 Õ—¤K“ùÂ`µl`¬ÌuбN1W f-Æj}­Œu„>Š0F!ú(B&)™^’j%™^ Ô%•}‰»¿Y-J¡ P²Í9}q‰ïTñ[¾î±®zlÛC¶ì!ÛÊ[áuZeu˜DÆQ‡´0¸ >K÷ë=±^è› OýÚ¯ówìGù{?ù_½ûZ£Qçoÿ­¿Éßþ[óÝ×NÏÎøÅÿæWø¿þìÿ¦Ès¾ç{þ=~õþ·´Ûmàë·zÞ¸}Ÿ_þÅ_àýãO3O¸sûÿÝ?üîÝýÚ›±odkèÿ_Œ{}/ôBÿnIþ…õÏëî½»\.þÒãÞk½gàwxxȯýÚ¯ý~OUU>ö±ñ±}ì_{üÅÉ6ôûÿyC'¼ëÝs‰jEEeeÕÈu…•âaɰp s—0uÉRˉéìŽÙß:a¯8!(+Le›iÙf*[¬Î<Ô6<°É€´Dè£ÒäSìÈ$yd!¯œ;VžPs—Ô;3×"Ñ-’ºIœZ4ŒkjÆb¬†$ ³™* bÏ!©×È[-ÊnŸBX$5ß^1×–ä†I0h“ÖZˆÃfÔ Êš:kêøTKŸÕÂգ’ëÇ:ˇ º/Å ‚ÂÒÑw4RÇ»Ä4BªÅœØ×˜®=¦Oxë>µlÎÍxÈ¡;äðÆv}ÅJ©²R«¬yZçbÜãâÁ€áë].¿Ø¢ý¾&÷7鵚L:M†Éçwyìßåù=®i˜.¡é[ŠR¢NS]tÅ5ž²£‰ ›™ÙäËúË|E}™@Ø •>V+ÀµÜA@% ˜gMÔ¬ È4ÂÌÝÌ)•@¶Y½xÍÌ‚/ðÁàu7í#^ë×Ì78Êoð ¿Ïƒá=œßcî7ˆVáÊ%]™TÅ’ª¿¢_±Sœ „DÕ$™a²²ë,‹c³K¤™\(lü¼Š{I•0ö¸Ô·ˆ¬ ô=ÑéjWôÔ+úê%=õŠf4§®¨ûKêëv¡9Z#GëeäºB¢é„ºM¨ÛLÓ&ç§;<ÝæÍÓWyçâ.Ij‘¤qjB­íkîì¼Ã:_àƒ[¯S+ØIŒµŽ°''q…IÜã+ÑûxC¾Æ8ëÂ’w˶"ºñ%=ã’n{D¿¼d;Ò[L¨NŒy¬¬oL’Ê*ÌÔÏ´}ÞR_æ-õ%šÉ‚Ãì˜Cÿ˜Óc*ÁÿËÞ›ÆØ¶æç]¿÷]ó´ç©vM§ÎtÏÚÝ´Ç8ÎÔñ D¶!ß $$È!F(Š"@Ï–C†OV¾ C ‰’8¶±»Ý·û޾瞩NM»ªö<­yxù°OßvO­ÐõÏ#={-­zUõ~¨µ÷zöÿÿž,C  ×ó=>{þp.˜]wUŸÅqƒsïê@±xT£©v•½Cõ’†Z’X©i“˜‰°©W«W¿ Vä7Ñ™Çâe›Û—C&FyX¡”Èà ¥Ay!).$Å¥ÄÎ#´o¯¨kö—Ïqý׌qën“ë:…aë:WÆ€E¿N@p´ä :£^¬9R—ªKŽÔ%Û[/>y‹÷ÎßdôáÉ>Ù›ìdGs?§eo8qÎyhÈ¡~ÁÓçoðäEÁöE@öÂÆÄîøäð‹|ÇþgY·}®šC.µ! §ÎF ˆl‡,0©2¹»OJ¾âx¹a×þùe ÝÝÌ?~6 &»VwÍ.Ñš9ÒÎÑZ9R¨TKà…Då@ý+¬” ^H²—:áÜÀÐ ìOƒ]¥Øíc/%M\’‰Crå’\:h“ 9©ãrw>(ÑŽ^ñ¸D.äi„<‘§l#*SÉõ~AíÓ:Ò©µuƒ‚=®pÃP\ÓfFèz„†OXóˆrn5£[NéVSzñŒg›û<[5y¼~‹wWŸd]Ô™„ÿ”O¼6öüºãþãÿ›ÿè/üüï¸îOý™?Ç_ùÏþþößø²,ãgþ«¿Å_ù«?Êßüë?ý›®ÿ…ö‹üüÏý÷Ôë5~öïü7ü¥¿üŸò÷ÿ§ÿñkÛÜ×ZÁ{]ñ{×ø½õêåczoÓ„ß?/òÂ`ú”†F¶6É’jªÀ+©ê•¦Fn‘N±Ö)7;wHe•H3A·ÖXæŒÜÊ1t ]÷Ðô™”ˆ‹ ¤Bd r¨¦P^+Šó ¹PO!ÿP=Öa¦Q:¥¯¡:ÙWÄxz¸«vŠ=q'·TB²5¶™C ŠdÇóE—iÕ" TB7Q}—²î›6¥c-?!UkÜRÃÉì,ÆISô¤¤D'Úê̯u&Ou*#AÔbd#F6cЦÃÖòÉ,,¨ A&M24²rçj…r j"Y¸[6¢ÎVÔØÈ:ë´ÆâºF4uan¡ç9J@j„ËZ˜Ç &z›[ÑcIƒ\ä E¡G.˨É8êã”ÉGºUà;[šÁ’n0ePÞ*WF¸õ§ájZX · ‚ÚJ²Ø¤ˆ ŠX§ˆuŒ,£–¯T7ë/i¸ ìvˆ¾—À°@kd9愹‡1ÎÉo-VÓ&ÅÄD†ÈðZ!ÍÖœÑvr-Ùln76e@¥ ”#1ÈðkkZΔ=cÄÎJ‘K›µÑÀp2ÊRcM0u˜¬ÚHYR¦ef|tŒjÒ(©EhX"¦®–(ÀT)¶x%_%Øe‚. JK6¥ïRXÚ®‚© rePåUh±ÂKd™`U’JJõsîÏyÃúwì÷p’xWZ³w©`SÔ¸.†|X¼Á¨¢ZQ Í|N=Ÿãd1{é 'é)õl“ŹΪh )²@š%Ò)H5“Pº¬dÀ\k¢k™0U…]$4ä«–`›)–™Pï¬ØÈ€u°ˆèé®õ1Öl®Ê}֙ϡ~f”4ô%®Q¢‘ È2‹(óY.J´)T·É­ËùÕ£ë}&·=–“&+»¨+dT!² ]+0Ò#Ip¢”F¾¤ŸÜ°Ÿ8Ê/9©^âk[wƒïnðÅ–1=Ƣǒ>º¬Ù ¯Ô2‘n‰¥<±¥.V´ä ) ô›œÔ0Yä ¦q %u”¥cû%^=¦Ý˜qX¿à¾ý„<6ˆ§¡°Š› ãkŽ¢sîŧ<ŒŸr÷YÙ5*[cá´˜'m¶I$¶©b‰^Øö®jf™ Fš#4@Sm7#«)Fš¡O JiÙ±í²µ}VVذ©¤À´Sür sÈ5›<µÈgrž®±«"Jìœv<ÈLanMô…¶–È•Bl2RȤBË*ò­A±Ð)Æù•±k7uœZŒÝJQ…ŠKH+Èy¨‘¤.IR’$%bAËÄK“n”`ÉŒ¾vKS.9g,ó:‹´–Ô©’W­Ô’†ZÒRsÌuF2±û<?`–¶±·Á7ë#ï÷‹íöW+ì“o~tþåªÜÿùþ—®Y–Å_ü˜?ø‡?ó[þÞ¿ú_üç4›»˜¨?ý§þþæßþjÓ…¯ÇLàk¼Æk¼Æ·>¶Âoïøšïþ—þ1cÙaœv™|©CôÒ¡~2¡wgBO›PwWLæ=Æg}&ç]¢3›PÓ¹Õ*£ÆZo“øu6A‡MÐat‰·‰n‘™T¦I•W^†WT¿˜#ŠŠâÚ T£bA<¶XÝ4(;qÝ£¯éë·ôõ[zÆÍ(FÉÄè13ÚdKEzU‘^U$WŠI2àR ¸Õ=òû £–bî%8×ÞÒT ¬"£WL¹_¼ L|–“ËIƒÅ¤ÁÍxÈæLc}.IR U“ÄyÎâ*C‰ŒhœRî™Ä}¨ï÷\¤ÈpûKÚŸXâÔ—Ø›-–•®mžýÊ>ò]Hô:‰ëu2ᢇ)žRû’')û7ìß»¡ÞÝ"4…cFô‚1©°0ìœIÚeY¶X-a“0ò8_a,sÖ‹xúë3äQ}Pñ¨ÿ”ûý¶Fakäö«pu]aÙ¾ØÒ0æl«Ýü×vYc3 (…FâÛl¹W§¨Á¼Ù`Y¯³6k$ØØ$l°H©J ±ÄW>³]Ô™`Ñið²sŒÕ‰;&ã´Ç,i`Æ1Gñ)aæ‘çYn’g½ú-Ãý‡Ý Nô—¨J°’-nÍ!¦“C.P‰Fu«`)¨ÌŠ Jè($B*œ*ÚeÕÙ7ô¸ÁV iiñ²¼Ã¨Ü§SNÙ3nØ nØ3o°DFb[¤¶Ij™ v˜`oœmBo;#ß¼À13ö†cÞª@,,¹«‚%Âä-÷1‡î9 ±@Î+ˆÙUÖ¯Ž)_e÷oã76ø5¾±¡ç9é¿à¸uÆQuÉ`=¦*%±ãv|®jÏßâú[³z—óúZµqe“(›D9$•{\†ø—!þå–ÛxÀ‹ò„QwŸ¤e#ëÆ~†1Ì0ö3<#¤Ù™Ñ:šÑœÍèî\qptÅ{Å cÉK¦X2A“%¹0X«cÑã\± lf56ó›YÀÂì5|õ&ãF—°éðâî s­EÙÖ1•.¨òŠêC…¸y¬ÐKt‘ï:Z’»Ï1ŒVwÆþŽƒ—4‚9Z­$3-¶ªÆ,é2Zr³Úc{]y”W:N1ôF ½+özW4ÍBT QA©tfU“Ù¨Åì²ÅŒ.æ^Ž*Ê¡F2´™‹©´qˆÙ׬õ˜­Qc«×(uƒ*Õvs NIËÜÒ¼3£ùð ÇÛµ[DN›xâf5¬"#k:ý)f+cÕh°®ÕYûuÖnfÁþþûÝ+—˜~ˆrrªAŽz#c5q¸u:\_· U@–êD+j¬c4·D¶Oi™hv…¥eÄ×7×mNGœ]p¿yFÞ”8­„^s‘‚Igœfe°ªØ©Ú×øz¢Ñh0›Íé÷¿â úë[6¿ŒÏþ]~äÇ’÷Þÿq|U6ðoÄ—E€mÛEñ5ï-ïëú×x×øÖFžÆTUõ±½·?ÆÂoÄýWÿ!Ëu§§w1NïžJÒ°Ac3a_žq·}Æ 7æt~ù¼"~×fòù.[¡QI‡µ¬q-ÚY¯CÖë’õ;¶C¡i”GÕ‰Úæׂê¦"¿ÉÓ’*4¨¶&*,PB'[”¨í± 4­ ukË}ûïXï3±ÛŒœ=FbÀµÞg½’„/ Â/„ï„Fƒð¤Ox×'?§Ÿb1N°Ë|kª%½bŠ‘–iI¾1øàü->xö&7Ïö9{~—,d‰$KÔI^2¿,ˆÆ%³÷JÔ±Fñ†Aþ†A¡Ô¼%íþŒA}ÉðÁæ,dv0?8?벞FÒ¬Q˜±Ø\±7¼dïä’½ÁAcC­¾%h|Eøuƒ[t;£Y›s½Ýçb}kØF>ÑÌåbrÈú¶ÆéøgïÄE¶£­'ܹwÊ»§Ü‹ž3TWÌkMµsÙ`î4°ôtW4$ŽÍ,ì0Éû¨… ºt)mĶXûóÃyS2·,­:k£FŠIÀ†& ºL0Êœxå1»êá<ŽQ‹G NýcbÏäú¸·ó)$F‘pTœ’”6qåUqéÐ3oÙs®8ò.81^Ræ:·bÈ™¹Æt3T*¨‰ZîŒE¦P¶DÙb—«fƒ«Å´í‡Á%Çê0+ÚŒò}fy‹ŽšqOÁÆ(| [K5­îjZRÒ'ôÇc·‚Õ×ÎØ³Æl‡Owóš†Ïú×ñ0¾â ¾¢-‘‹rgø²{pùÊLØ«¹0ÝÍ š+ºý1Ýþ-Ãúˆíw´3«Kzë13½ÅÌi1óÛ,cBǘÒ1%¦žb‰”–˜Q ã3Õ»Ìì.Wþ³²KWLxË}Ÿ7½÷qÜ-uµ¢ßám8Þ¼d¼ìñøöoßdrÖçrsÄl¯‡=ŒqöìABQj•NY镎qžcœ˜/2ŒÓœÈõXõë,uÒìV˜Ý »ât#ZÖŒ£äœ£øŒÃøœýjDË]Ðò–´ÜdÐ ¤V"µ¡—dÂd-vÂïŒc–a‹ÍMÍË:›³ž²³v›ò¾1.)/$噆zD ך(1šÖ0¥Óš`íÞŒ£‡/ª†\Ó $%¹ÜáL“.£ìñ¸G~f’½0)Ÿk¸2fÿÞïô¾ÈÛw¿Èaç™)´|—I˜†ï_¾Å—®ßbyÙdvÛC¼å;‰e³øšN. ‘0”׸FÊL¯¨tƒX÷wæMÛÝþ™‚Ù*hž„Ý™qtï ¯½ajŒ¢&ë©ËêºE·9¦ÖÜÐéé4¦\׆ܸ{”žÆÆ®Ñl-¸ßÆ·õ¾À·5¾€g¬©•Úñj4à½÷ÞB3j¬¶M6Ùi"(×’d,ÑjQàSøºRXzNrcqó~›߻ûï?"»§áÜOèߟQùB“r'ü>Èa“ÁæµðûFàüáïãþ{Ÿ?ûïÿéßvÝŸý¡ÿ¿ü—þ"ôÿ!|ß'Š"ÞùÔw|}7÷ÛËÿ_Ö¿Æk¼Æ·6¾|Oÿ&÷ö‡Ožò/þËÿÊG_D8ŽÃÿõüo¼ñðÁ7j‡¿->¶Â¯Ñ[òè{3¹nn &Ö°^ö#ÇÛÐìÌ^sÔÞxÌ^4±¿Øƒ_Êɤ¢Ò±f°Ò,ªK¹ïS¬ʤêÛк º %rS¢o´§ÄYN t”²¨“<Ò(7:éJ’-*[Çw"öŠ[–Ϩ„àJ21»|À[ÌcI4‰ _$D_Œ©ê6ZÇAs*ìã µƒW…˜*CæzRÐ|ÿÐÊ–ÈHÝœ?»Cúy‡ë/ <>à)DO‘o![)6+P+72º€šÄÚËÑI½ž²ç,1¦!ñÂâ6Ò˜=¯qó¬Ki5(¬¥Õ@«™ÔŒ ú¡¢3\q÷“hÚ.$YHˆ3—JHl=¡eÌñÜÝ×þÑÖe‘´Ð—áÔ'XL¦ÄD!æP­j-Q+A]¬Ð“‚;â%îˆO7?ǹ:à‚}*`#|1&9.…Р‚$sØD5ôUª P©k¶èT¬EÀZÖXŠ:•’t™à‰cµe’ ­hçøÊ=YÕ"ô.‡êrE½ZѨV´ª9…Љ¤û»Õ-ƒü†½üšýâŠ23è«1mFÃYRKÖ;!µ¦ Ö‚2Ð(}"Щ‰igxnH#XЋ'd¥I”z\¤‡çÞï«OÐÒf¾Àô"ZþCO1{ ½"d¿¼¢;³ùµç£;$ãÓ=ä²B¤ BXª¨rç4©*¼-Ñ®K´Ë í¬D ^ÍöÀ~3AdØAŒåÇØA„o®éˆ1\pŸgq_Føe„WƸyB^I M#× òÒa%ëÌd‡9àR°Ø¶ÙNjlÏêl?¨aµbVVÀ´Õf$úˆZExDC…ÀºÉÈ+Õ‚‘Ø…žï1¡pë!z-'`MÑšf¼Â‰"ˆYa.ë¢Î¼è°Z7s…+ŒQN`¯éßrÇ;åÍáûÜ;xŽ*´¨B!>qn3™u±_¤äÏ-¶v€ìTdÇåccË›Ÿ-è‚DwØê5¤Qífs¾òe]¸)Ýã-‡Ÿ^ì­I_ö˜Ÿ*ª‰E4õP–ÀîÅ´Ús†G—äB'ª\E Ò ¿¾aоæAó ß^ÿ,µ`Iår•«xqq(ïq;+±Ok¨¬yŠJX¨…ŽR:JÓv®·Jg= ¸~Ñãù¯ñÅ_|H°‰èsî´GD•CVè”±@­J´iжJªú†Öý~ÄÿùâO|ÿ¿E–çü‰ý_co0 Ë2~峟ûªuišb[¦eqqyÉOþÔÏüsýÝß¹‹àkr_ëú×x×øÖ†xõú›ÝÛ>ä§~üGøþütí§~üGxôðá7l¿>¶Âïz1ä¿÷Ö3Ÿ³ñ£ìÐkS6|Ù€óKEù9››C®Þïqõ¢Íz!PÌi7¯éµÏéwÎèuÎY5ö7· q½Oê²ko[ˆnœÐcú×ô´—wÆù·ÅãÜb­ûø÷B‚“ÿΖúpCËœ™’KsȯšŸâÌ:âÔ¾ÃXï±ÅÃ¨Ç în°ó NmŒéVh÷]ôCÍs0b‰1ËÉ&&O§¹N÷ÙkÜ0hܲ׼Áñ&V›µæ“* A‰¾_ ähÕ­Fq¥Q^ê”å.v‚±€Ç"H3³…i‘A¶¤š ƒGS’}‹[ý˜±qÄØÐX™]V:—«#Ô»‚ÕYéVW!]…p+J]ß™\è;“‹ù¬ÍÍåÅe‹üÂD l#ÆîD8{1"V$çñ¹CR:T±$¶Aƒëv³î!§Ñ1g—Ǽ 9Ž)¥N¥k”šF¥il²€eÒ ¯ë˜ï$øö† ¾¢‘,iŸ/0c·OèzŒÝ±å`‰O†4äCË©µ×Ü¿÷ ³*8j_>´ ï:D-›H8ä‘Éz]'Ù¸Ì7 +G2ŒZN'˜Ñ«&4¢î6ÂK¬¸à0»$.ßÅ1Þôï†_k¦Î­Õglõë=&U—Í&àæzBE8ö™¥mnâ=VQ‹26)j&ñÀeݯ1ë·ÑÍ‚yÒf–t˜§mÔF²Øv¹TÇvaú1ÁŒF{AÝZáȈÂИ¹ÍèwRÆN‡±Ýa£ùdÊd÷YÇuΣ;8QŠã„¸nˆëD8nˆ)2t-G9Â.ˆ„Í•6Äæm’¤­¦he…VUȲb+ž¸xÑ9a}PCÊ ûNŒ}ãÆXû1yeîæ+ƒ¼2iê ÚΜNcFg0Ãhäp Mˆ•Ãò6`uZcÕ˜}LY’j.SÙçÔ¼¡Ó˜ÑnÌè4gÔ‚5ë¬Æ*©±Êê¬òú!úçú!s½Çvå“„.yfR)A…¤À ÁÆÀC#ßÍoŠ M•ØfJÜòˆŽ ÚT=A|ßa9hpãõñY³­|6UÀFlª€}5â@±oZIZêP•8UH£œ¡“b³û°‡ ¹@”\Õö)’ïåñè­¯¨L*Š™Æ8î“;pøö)öÃü¾NvO'oÌË&–pqDŒ-l™°‘5bÃ%³M*WB‹]D„½cÑ×Ù¼á3t±Ý_ß0«µH÷ -Åï®Q-Xu.8b³®1™t˜Ž:„/-Ô“‚;ÍÈîña÷>fÓ¨-1¬ÃJ1hÅy IDATõŒk±ÇB´ñ(”Ž#bz昞?¦×¼¥ß¹¥ïß`øWöµôøP{ƒ‘¼ÃFô¡ÖåÖ<àÔ]S2.ö÷YdM”+© ·ˆHþRÆn(ù5¾žØßò÷þîÏñ×ÿÆßâßø?É|>'|>õÉOòßý×?ûѺŸü±á¿ük?ÆŸû¡¿ÀÞ`ÀŸù÷þ]þ×ð¿}7÷»¨àÝ{ãí¯œ?z€ç¾ÿuÛÒk¼Æk|#ñ*Bì·x/øÁø~þÉ/ü3~îø»üàü›üà|ÿ7v{¿>¾Âo>ä½÷Ò­ÉrRg™×‰ÜEÃb‘ (/=–«>î!ë‘ÆêZc½ÔœvcÄÓ—¼ùà o=xÊ¥òî!µ>K½$-ص¸-€Là–)GbÌ›Ãg¼yðœ2äƒ8åƒØ"‰û„H‚Ãþá˜þÁ ½ý1®‘kÚ¹VçVï1Ò÷¸Õºl„O³1¸»á vÅÁÉ |=Doi-‰îi„aÑåë÷yùø.ÙÖäøáw¾$òí%«½3P;‡FÍ/0ÌO¤˜ï$ä§&™g‘•P.u($ܲkÁº„Ô²˜É6™¦1—uÚö˜ÃàŒÃà‚ƒGçØnÊ—dÈR#“mjÀjÕ@-ë³W«CDKAK!Z ZŠÊ‘T–¤´4*KO\6/¶§Ù©®ç;[üáœÆš(YMVe‹r®S%’ȲYunÚ=üî!§Ïïðüâ./žßãùó{Tºö*ü{Ç¢¥QôtŠž†q?Á“jéšæ+á'LmˆZãvŸ•¨ák[êúŠŽ˜è‚ΚûÕ3ê#â“ÏsÑÛç²;䢹ϥ’…ÉÄ¥¸1(¯ jµíÁ·šÐv¦t« p‰»ˆÑç%v’r¨_âh ûæ­¶sT|妘Z_’oñX>¢:ãªÇvp ÙŽ}nµ=¢Èe»õÙlŠ­I10‰º¬µ:³f!a ¯ûŒ×}Ò­Ãeâá»!¾»¥ÖXÔ–Ôü®2]t™Ž»LG¦7]6­ª#q۽ΠcÚœ'ã÷>9¨H ròJÀ"ñX^ö±‚¤„x…J–¨x¯*~îžò>ý!ß÷]_äY¢Å=É]žÇ,Ù‰£0WO9ÜŸð©á3¾oø9jÞoc“lz\mRn A­1èßrÒÎa÷Œ­ØàsÉ >+ê¬Du¶øôêcµ5oŸŒødõ!¦èªÀ ÀP£Ù>¿tõ8{÷.O~á!·ó‹°Iä9”w=ï–‰ýë+~ Í/0SœwBì?’¶DÕR'¿µ;áwäT©j1W5„*Øïì}jÂð“ ¾÷Ñ{ôN¦øJ#£Éµ:¡J$«w¬Ïêˆw+ø‚‚¡@ Ùµ£ ” ¸b—vê©Øñ‰Àn%x{Z)ýOÝ »9ZYPÎtÂÙÂ&¶µ×í>F/æÅ‡'<»¼ÏÓ_yÈÓúej»ˆ [€#0ßN±ìóA‚õNŒW®©­h¬–t.äÊ@ÆU·VŸ‰Õ¡Á’¶˜±” ºú„Z{M½6¢v¼ÁÍÞ5?ÁŒwÈ ±ìE>ëqƒÍiͳ:ƒÎ N3p®étw¿z¸Â[Ä7%n–pè_r\¡Ò_e @‡Ðò¨—+ÊBã¶èC ÛM@ûï!b…Ú+ZïXÞ5‰uu«Îü¸M¡ŒÂ}nûŒ&û¬£:B‚ á*L+¥SÓ Ætý[êö’IÚgrÛgò´ÇôqŸê Ïéîßrrh31Z±rÍY(@¡”xåž,PH”«QµuªRGkT8ûõý9ýýk:{ãÝýFƒu dкâÍÁû|çú³|çú³rû•žmîcÜæÌ¿Øâñÿc0½î33z„©ð:[î‡O¸g?!<°XÏˇ<òlúç·vóšÎ+Úb×Ö‚Êv{¯ÐÈ1X@…B౫xz„(SRµtRå y%Y¢·–í7Þ€JÁ¨2*‡ŒŠ!£bŸH÷zE ¯éë#R¡%6! fHUÑŽé© ]5&‰^,p¹8àÅò>“«.<+àýÞ/pg>ñßçwßçèí—<üîg¼W½M^Jnª‹¢‰AŽCŒ+blR¹‹ù¨âg°«¦'Ptu¶®^—Ä5±õˆª&QÄ Å/ ¢(`6ˆ"Ÿhå£&jTÀËõ¤`ëZŒNº$ÊdìwisÚLi‹mf¬e¹hâL8°®ø6ÿ |_ëŸpÜyÉÆ#ëynœð$ÀLë2•]6¢‹¢N¨w›)º i`“;Û¡G¥4jj‹GÌúç_ ¿×ø{Š{×xo0Äo8þá8.ÿíßùÙßòçßL|l…ŸZÏcvÒ[ÛÑÐÑ GßÙþ;Zˆ¥"âÛ„è6!¾M‰â”\«HLƒã²ðdº‰e%t³[î¦O Ì%±î[.‘ã"4…èUhí ­V¢9%šV ™Ò)eIÕR¾$³LRi¡Q°Á#¤‹ä6@,ˆŸ,¶™]ÎË»è%Äe@Ó˜c{ ¶ãx1SÑâ¥2©|¢¢"/b’²"ªtÖÊÃÒë„M䨢\h Õ¡N®[ˆI…zWà]Çtò%^+Â+&œy,–Mæ«óe‹43Qh( I,Ÿ©Ûå,8¦ÕX2oÜf.ílƧ²_£SL™-æE“EÙb^6iš Z9ͽ9Í» ßfëølí +'[|sKàoñj[ì»!N?ÄöBrÍ`+,¡‰”²2YÅ×óâºbÕn0.z¬: Ô;P³Wäƒ"4(¶¯Žs‰0R¨®`®uyÝÇŠ0¨ƒ®x^;!ôÅ-†ù-™2w‰~R§Ð4B×Gö2Q +t­¤6XSëoÚkô '5MÍ$Uë¤Nµ•¨­D…’*ÖHu›\7(upK¬½+ްŒ³Q»·¡öhC½¿¥nn0“Œdãr³±˜núä·&YnÒN±¿'¥Æ†‡>`p÷ ·µAš–ãibA‡)&±ðXSG%´X°¯FÜSψ±YÈ& šè¢ Ç@—_» äküÞ‚”ò›½…×x×ø&âËï×÷‚­ðcÁó5 | |¬)‚ÆšNsB§9¦æÌ™>–Ì ¦™ ºä¶ºÉܪqët MÝNè·<(>¤æ¬˜Ù¦^—¼n ðåjD­tV…ð DURú‚Ì3ˆ ›—ˆú+áçaÆ9éÂa>ï’Ïmfq‘IVY‹óô„z°Âëoð|sC(-Nå>c|  2b[,­FØtÉîXJ‡:”–F&-ª+I1µh+ŽŠKNZ/9©2›vx:zÀÓÑ¢Â%LrgÆ Yà2 z¼¨Ý…ì7ÈPÑ*ftÊ ŸL¾À³ü>O«µINâS‡r&¨–uªKAáL¼>¢”¬d‹Óæ=L;!i™$IÃ^R7–82Þ ?9dV´©BjbPŽuʩɬÕbÖl1mµ˜©ÙÆ&[šä35–$‘ÍLtÈKƒUÒ$nxH<'¢YŸa‹3-v9i©"KM®ã=ž¦x–ßçyykm}À\o¦âÙ<{ƒooÈ “$³I2›4³¨ÉýšuÊ[£ÇÄ‘K:ó˜Ï»X³lçŽj³›¯r ò%‰æ€©iás˜^±_Œ8—Wl4 WÕ>‹‡Ìõ&sÑb.[”Bë– ÓkÄÏx?£%æHg—Ç'Ý’°ðÈ&«ÛW7‡ŒæCT!>b•K¢Ð# =’ÈA…¹.ÓN'=¢R°Ø6¹ Y¿hRœZÔØpÔºäAëZOŠÁ Ïý”-H ‹Òƒ²’(©P®$v]Ð Ë-Ö›Yn’Yn’&×Å>ei2-»<+`†9ÌÙŽQéìZûëRÆCmÄPîXw–¤=‹¤o‘Ô,–4qEÂ1g¸âC\‘’&©kÖLÒ¦ÉÔo3©÷ºL¢.rÅÎ8.Î8‘+ƒ—ÕÎÊ;L«>ã¤Gº°I—ù J4š$5‡©Û%\{D+híR­ ä‰À8)±ïex~„#L™£É %ñÖ!93™=m ž–U}˜ã­éN±Ú¦—`î%˜œ$¢³7£=˜So®ÐTA·šâ– ‡Å5aþ> šÌd“¹ÖdNÃÍÑú%Ò¬ ­ä†Ãà’ƒà’ƒàa+.åKqÀeµÏ: P u£Q]kTKª+);tz;Å?ظKj{+jo-ñÛ[ü½á!ÙÆÚ9¦Žêl®jhqIM®èí©>¥çM8êŸÓï°Z1¥!Ðe†/7t䔇‹-5,R@áÑQŽ«3Þ¬>`£|n`Š … ÁFçµðûý!_»º¾Ækü~†„øØ¾||…ß&‡+p èW`hèhõŠàhMÿ蚣£—ôÚ#ΑºD·à’Iu‹…pkwȃ”®ºÅT ž¿Áð2òºÉz[@9 l¨¨ Àª ,Õ.䬲™©!>[j¬pCŸ[ŠÄd6ïb^ä#›p]g79N0⯳¡ž.¨[ êí¥,™ —©ðˆEŽ¢ '#A²ÅÁ5=ÒÊ¢ 4؇r¬S5Š‘‰+ìVÆa÷’oï}Žïîý2—ãl3!Ì=.V‡P‰3¹Ü.§¯„¬k>·A‡ûÅ)w£—Ü/Né$3~9ÿnD©˜Óâ¹-oÆýî¾ëè—ùÎ7~™koÀí!Oõ­ .y£õ”Gƒ'<:~‚¡åŒ;Æ6c§C•óJøEHRʲbz„3ŸñÕº¥pÛ[œ^ˆÓiufl~ÅGjÅL’¤&j©QŒ5J_G˜’iÛfåµxéÞÅhæøÁšv}J+˜Ðv&8FD*,lV¢NR9„aÀvZc{]äƒ<Õ)ÐÉ j-QK‰šKÔDlòÒd™6зÉžƒ»ÑªÍØë]P3WT‹æ =,ÉB“ëd÷Ó·ùåü»y·ü$™nîh™Ka6Süæ†fsJ³5#Áf«|¶•P>µÕ’þ䆓ÉKÞ=&œÌæ].æÇ˜ólgã³k±õA¥’DwvÙnN­Vã8½ä ñâWùNãWyW{‡ÏóIWøµâÛˆ ¥ *)QBà—!ÃôšGÛ'|ûú×h‰9qiI›È²Ésƒbi°¼hrõü÷>ª¢©L@U¥Q–’ªÒ D —é¦C•*¶Ê% }f£ëÇ ŠÏ[xbÌÑþŸ~ïÙÿ%dQò«|eÁ\4™Ùm¨$JjT†¢L$‰tȤÅ&¯!‹jŸ‘ÊŽ¹p˜ÉÏ´ SæˆPÁ ð8ÝË1%X‡1棄n÷–âCÞà1oˆ'´äŒsóˆscÇMš¼äXœsW¼äDœš¡ãÖ¢¶Ã¹8äey·¼UEo9åÉcÞž|À;“/± }d)˜=¢2`¨V’j¹# „žGâÙ,ý&Ò®(§ÕTRÎ4ÔÿËÞ›þF–yzϹçîKìw&3³²2URµ¤iÛî6£ñtþ? 6¼ÂìFã±Õ­­JUY•+™\#ûÝ×ã‘’z`À6à©«›ðâH7@ï=¿ó.¿¹D|.0ªÛ/ð=Ã%šhAÚ¤ç6É/,’ÿÃÆ×bŽrI¿5çøéãÃ{œI‚S¥8e‚Ó¤fù»Ð©ª9‡õ-VUb%—â€÷ò„suŒ¦êÝp'³Aôªl‰{žÈoy!¿â{úW4hüªùœ¼6¸jö‰²€æ^§y§Ó¼ÑQwñ´FS¢]£{9®ÑÛ[2lîÖ3<#Á1S\3ÅÑSÉ€ÅtÄôõ„ËoNñôˆçg_1<›ñ飯9]Ò2¶æÓH©u0DŽOH_Ì)щX2À¤@®J6sNÔŸ6/Y5] ­¤A#åƒð{àÿÑ'ðø‡Ïx2¦*òïì½à;+ü§'¿¢´Â;"ìP‹º+)úÙÐ"Úˆ‰»¬&)¢)Ù{Ò?Œhµl-£.LšL’eÛ¬MÜxTBGÓ*œvŒ+c¤QQ™‚Ô°ÑDEš;•IïFßg•ͶjaÔªnA‰$´‚ e`P•:u¢So%Í\G`¨ÇLqÌÃÚ•öm¯ÛÄ™K•*¢µ$rtªG5jH;>› Ìwy•Sƒ@Ûrê¿cìO©-ImHM£F2´g˜² ÉnW{¬óÂmèÌyb¿¢•¬I¤öHÙUXߊéÕ+z飨(j‹} Ý¢ðMZƒ-gGïP•àóý_óiû[ï9(n(¯JÐ*EQY4µŽY—2dؽGZ5QËA8}RéIÇÏØïßadWW0Ò! ëˆZÃoB<â±Å!wƘ;{¾ îøÐ®1Z5F»Â*TK£ô 2ß$ô< Oâz!Ø GOñš˜22Éb‡UÜe¶É76ydSè6EWß™Å7elPÎ ¼<Æ·"üQ„ÿ4BÊ €B*zÍ£¨X%]^…Ÿ2ׇØÛ;,°¢‚8öùMþ¯ŠO¸ÈO¸«&»L«HºÂÕæœïíKVE‡Y2¦É5¢$ ]y,×}®7‡t·[ŠÜ"’z«d`Í(cgènÙä–Mé»Ï„¶³¼ ‚̰ÉÛ&EiP’tÏ&ìú¬œ÷ 1²’N¹¡]nè”NëV×´« RÖäšÅªî²L»,›.7é–'L×ÖÛ.Iâaj†Y`Ú9†¨(ƒ26)“:–±I¨òÐBì¼à ºæNµ >5¾áÔ>gâÝQš:~c®JD*À˜²ÀÑr4C!,(êßNñ4)j› âpQHŒG¨„"à^ëÀVa4º[¢KÌè6à7`**ÓD Ó(ðŒŸ-lÈë°Ç,ÚcT.© ‰%3ºƒµÞ'Œ<¢Üg~×gãw(-¨ñƒ‹”ºÐˆ Y> ¤Í2ﱡMR{»Ò]pÙõƒºP;’Ú•»¯™ Bññ®-v}¡UÀ]¾ÇÛì A²=îŒ="|„Ö EC­IrééB ”!±ÌœŽµ¦g.i”F]él››ª‡@Ñ(D©p“ 7Iqãݺôºä…¡UtÌ5¦VÐ3VäÒ"7m:¬8Ò.銆(I ›z£Sm ÊI±²ifµÕi_๠¾âY[<3¤£­èÊ5mEG[£E *ÄS—8tYÌû¬fm¢Ò# ,4½ 6ëØa>óI›…ð°aŠ `#Úlµ6ÑfUuY/ºdº8jpþ4F^ Ž h$Ò£ . ]V»Ê Š?Ö#ï¿H]R•%RÿÎnxàÿŸìM&äYúÿþƒÿ¨« ©ÿa3‡ßÙ»×ññ õWÿ¡èr!Ÿr!K.¤ËÊuˆ=…ÕÙij”b>OÙó3&ÇÌyt0ç¨ÏD͸ MйÅýbÌ›ùSVF—¬kÓt4üî–ÀYcÈœJ—»õ•NX¤[—rcQoLⵇØ4kIÛ4'À©Bœ6H¿aQ÷ Ë€<µP±ÀÕcÆ;†í)ãö”¦lÀÍy‹íoZÄ…MŽ Í H°Y„ù/»l¾Ìèî¯ïÝÒÙÛÐoÈu‹<°(Fù# cSRnu^-žrñî”FT®¤}´â‡Ï~Ϊérp›ì¦êVͰ³à±öžO£—L·$¹Ï²ìs%É\mØ ›šçöK¾×ÿŠ£ÉŽüL²{Œ›š:3I·>Û°Ë}8F³4¶6yÛ¡éH” ‰î±ÒºÜ‰ +£‹ÝÉ8;ºàEø-f»€ž} zá¬&Ê2¬:à 3^ÏŸbW%¹ë2Û› ÇÁi„â?‰¨;’Èð‰MØðVní&GšZŽQ”43Ivå^uX/zè^‰åøýyT5qe>UbÐ)×÷.8ô>püè R(4ÑP[’¼6 ×m~U iÐ0’ #©v¿ÔâCyÌeqĺìüÎÖæ÷ágãòŽÇõ;>Q/¹ŽàN#¼ëPM-æñˆ×EER´¸*Ž1ÌŠ(ð¨mÁuI oXª>KÕg¥ú”Ò€€h»Á(‘ç1Õ‡¼ïœâ…¼o2m ‰¥ ÚÑ–“Õ-/x´:§¯/‚½U1kõÉ¥ÍmµÇm¼Çíz»hÂÝri:!V>šÝà´c‚ö–V{‹ëG»r¼›áM‹rcP¥iä¡6ÅÂb˜ÌÙwL‚;ö&SöíkŽ®Ø;¾F?Ή›"4(¦&EdÑ4n?$DøýËËÙTm¶U›mÙ&"`ÐÌ8Í.8 /8]^p[ïqÞœrÞœ’56H…gEx'îãÍn¨aØâ}tÆu¼O9²óí«>†â£%‚Ú…¡À»ÁI`–Ýoì§äÅMt@)%‘ãiÒ¨±­œ´ç"A¬t4©#fwg¡Õ5ëm—ŪÏr9`·ïêƒpfXbn²["ëÝ@ž¶·óµ4ê½®ÑëC˜2G“0•c–Y»»=Ö=òsfa  ¥k0hG5íý-ãÑ ãà–±~‹%rLQ`Š“‚xí„ç>áùÎÎ"òZdžùYŠh V±ÃÛ« «W A±‡.$ºÐÑ…Í •ÎÇÃ&‡Ds ŸÐh¾Á‹5ÚaE|ä0Œxcœ¡Ä.Ó§‹Š jäDzÐþ±2Ù;äêòœãÓ³?ö[yàþpuyÎdrð=Lúî ¿£[þú_þ+få˜_Æ"vYFû,Ô˜ØóÀJ‹µlÑÎè»÷ôŽ·ôþdÉ¡½àКsdß3iîÙlú”·÷çc^_<#ò=¬G¦™áBZþ ]äTšÆVøèM˜¤—rfQß™$W>Å•ÎöÊa9àG -oÐýã¤fÞ ‹yj£"׉·ïv½q'¯Ò÷ÁØ IDATÉV6ç¿9%»°ˆ㳬:¨'Šæ©¢y x Éë†âMÃúuƒ?O ~¸eôÃ;^ ¿æyÿâÀ#{Ä¥GRxܾÞçæå!ç‹Sn^Ðé¯9þôœã£sŽž]ß,^Ð,5VËZÕ0hÍ9ÓÎù“è &Í_‰Ï¸â˜¯´ÏøàóéàžÛ/ù´÷ Ÿƒ«Çxz‚›Ç× Í zlf=î§ô„Údgu[C˜‚ØpYÊ.S1!4<wßsvxÁYóž½áñÑl7¹Sª-ª‘ÛMÕ8‹‚¼t™y{È}yPœ† Îîé?¹§ôu–ôô(”†”%ºQ`¦V çÍT#ÿÖaûe‡õMÎ'+üg1“%ÁÙ–åbÀb^S-tâ…O'Xñ¨÷–t~Åç_Ñ*Cô¸AkŒ¸á6ßãëú9_¯_ðõü÷ÕQ)´ªA+u%I*w÷·©Üðû;¢OÔ ?—SÎê·|ίqÂŒð¦ÃÍ«cê×&ó2 ±®ìc\+¥ÕÙÐÎ鎌/™ØWé1d¤aü~Ø‹„F "ßgÚá'(½æƒå‹_Η_üãiA+^Ø;;åï„ßµ»Oѳˆâ€õªÇzÝ%±Üð“'tÀR`6»US»ÿ SÛ}O,{}2Ûæ¦9àËø8zŒ#b#ÆU1Ž•w+ô…Ž:òŒneåȪa³msqûˆ·WO¹Zí,.z z@´Uƒ¶lÐV rÕ°W^s`\²ï_rÐÌéi+ÚuH»ÜÒ)BrÍditYÐaªM¸Éö¹»Ûcó²Gö+—úÞ€§uÚaC«³á }Íãà5åk*¡ïȰ+·W>ë7-n~¾ÇÍÏ÷){&â3о§0¿—"²‚ÕWë« ï¾òS…&\„æ¡ ¤Mmè»<†¤q4´³í¬B;« ÎÖ·&ö¦îͨp´ƒC”ôY PØd„§Ý_øçÿÙÎû_ÿWüý_rrzö?©àþaPW5çïøÿ»ÿ†þ—ÿÏuÿ`×þÎ ?]WØ®ÂÎf ²-Uj- ¢–dÊÄÐr<#¢1uŒ¦AÕ’<²ØnîëœÙõ€ÙùéŘéù„¦¯aíñ†¡˜2Ðç8UBZ8ÜÖ{T±ÁívŸõ¦K¾rh’â΢¸”ðÞBÞÚt‡[’ÓybQ+‰) Z憉sGíëLÚw<í½âÉðO'ß²V"Ýç6= œY¤U€Øk4¯Ž¢r•TP)D¦!Ëšn³âD|à{ÆWlÍ])ÛVkŠ€$t¹º;âÞð-ÏØ3oè¶ï1ö ÆoiYfí^¡;*Ó–B³vÓ(U%ˆ*Ÿi9æ]õˆ×õSZÚ†#çº_Ò“ š­F¾5IC‡ÙVãrzÌÝí>‹ÛÛÛ­ýÌw(ö j]"í a4H½F%®Léù+‡7<åÇ­+R2eïFÅ×Nb7váÔ)wÚ>ïƒ9-=Äl£c\¢%º^ÑÔ-¯ÑòQ(””ŽIæ8DN@Û„Q‹(jGiâÒVL+§ÕÙ0˜Ì0«'L š˜N²åȽdlÎè´Ö¸ã„v¶!1~¤1žŠYW®‹CdÑW6iåÕ6YmSÔæ.‹ó[Á»IÀИ Kf´Å–‘ºç°ºf“öhoCÌEIs§“ ¼ë°q4¯fЛa"&ûãƒ[¤S“om¶Ûæ¶@Kv¿;'OqË„qëŽÀÞ¢µ*ò––ÖøYÈ(!RÅãé;žÜ¼å“«7<;EÑ5øà1Žø Ž¸ûÌÔ„MÕ¡,-ôªÞ /E‰]ùòxrËhrÇxrGo¸ÀZ4 I|ÀLѸrgm÷@)²ˆ}í–gî·t[K²¶IÖ6È:aå“ÙµÔК³(0ò#+ÑÓ#-ªº’èMI›5OyÍ3õ-/Ô×|Vÿ†¼´¸Îò™ÕˆNegxýˆöÉÎò#»qa ùÚF¯krݦr šB¢i «,ðÓ˜n´!Þ.hç!®JÑÍŠÆ$šË2íq3?àÝÅ:ÞóQÎ ¹gØÜ“K“{9dm·™1$u<R/Èu¢“×yc‘×ecìÄž©Àý¸úâ÷}œÎβ2tbé!E ÙÒ*×´3!T¥a9íÑ](<ãv2”’„ë6ùÖáöþ€«Õ1çÛG\Æ'˜nŽY˜UÑ””ê·Ým¥0P4tÔ£)Ô ÆjJ¿^Ó«×ôêë¦CŒKª<®ê#.¢î–û¬ïºä¸×лR«Ð»ÎaŠoE8VŠ¥èECUÊÒ$+m²ÒfsÓe=ï²Ü즚j]…oG¸½ÿ0¦I*¢kÈ´k›<4Q¹G“{¨Âe#Ö-H ¶™`õRìãóE…5µT(2$56.)’ú¡Çï9'§øËñ/ùWÿëÿÂtzK]Õì·ôÀ|‘ºd4šðÿÅ?coÿÇqþ`×þÎ ¿—'ü÷ÿÓ_²-wåRñ)aÔBIP™ Ñ5š¶¤êêl¦6\û$7]×­Ú§ÕŒi5­&åvs»å'Ü­†Kƒ–2Žïxœ½á¬|—Ť‰K·™Å{¬Ã·ëîÖûÄ©·ÛÌ£.ÁWaY5‘Ò—+&ÜÑr#ÆÃ{žÖïØ:m:ÞšÉð–±sˤºCoÚN„3È‘' *ù臵¨7Z«Af%ú¸Dº%~á¤8Ç9–[bÄ5†Þ u…¦7]!Z *(°MOPé“Ôtv1 “ÚÒQž 3,¦Î˜oœOh\E[mxuû nØÞú4+ÁzÒâr|€?yN=†¼´Éç6ÙÌ!¿²¹˜ŸðnyÆír22 4 Ôº v¦[Ò6Öê—ÔTšÁ©ù;Çig”Ü%®Ó®Óî³!ö5Ö5‡Îö5²®1ë§Žñë µ¡‘[&«°GöÖ¡Ì ¢O¸ñ)¶µ^³`(I‡>º¬YÊ>ËQŸì…8Vȳ ë Ç RBZZıq…°Â»¼CRr½8fZM˜dSŽ7—o.±6—øuĉqAeé´ý šc®²C®Ó®²C–Mïc–†Ø€¯v›ø@¯ÐÚ Òn0T•Ve¤A3w?'­ kœcM2ÌqÆ O¿7§×^Ð3–¥ð›«Îe™LÊ;«+ªköš‚jC mhÙk|6Ä7Dó€hîÝìÏî83¹ŸbÆ%¡° û\®Oøfùœ×ƪrNÌóßä_Ô˜JÃRócÄUŸM5bS )KÇKGSžf¯ù“êȼæÕæÓåo–Ÿp½9$J}âÌ'I=¨ÅÎA–¶ë‹±|=¡§­ØãÍ5”(K¢ú[fxvŒgǸeDÙ˜´œ»Ÿ£+Øî†0°V»ÍªW#{æ¸Äzžâw"\'Á¶s,§ÄŒt³AZ»¾3!ÕnðÈ¡BØ Æ U_’L2Ó!U6…aRÙ;á—[wþˆÆS¬üN‘0»3»~éÓ\ÖŸµø` 6ŸhÑ",Ú„÷-¢7-6ë6ëx·A,"UìJ k]P9Í)iËÓhCsIß[b7)¥0˜Öc¾Š¿Ç—ñ÷y³yÂz_ðç ì ã {¦W˜2ÇÑc|}Cùk“|ã°¼Ò¨æåÌ ˜™”÷•©X?’¤§þN|ô2ém²®@¡*ÌAñ;áוºú†®¹¡ko¹âóô„óê”óð„£ô’8ü+,™l§øfÄqçmÃYç—Ú¿Þ~Ž.*6U›eÙÛ}pkû"Ùõßutt„Õ Í3­1Ê]섟ðÒ¯±' ÞqˆwÒïÎè[szöœž¹DÕ¯‰±ªYÖYÉ$»ãEú5Ÿ§¿æÓê¤,ÐÙ*Ð)©czjP_Ôç:þ:¦ni…[Œ¤ slÑ€›¾Y¾ ªužŠ7œ—<5_3÷”ÚÎÓ­%À«¼&Á+cŒ¬"S>ËöfŒ+ˆÙE¬ø¿•½V¥N\{¬š3Õgf I†­ ÆkòØ LLâÔg½ì!§5Ÿzß²çMyæ}Ë'îkÚÚ†Ž¹¦íoÑT³š »Ã„·û¿F.*T#Eƒ–6îJt͸ÀÉ2‚2bà.pz9“G3žù¯É7­î– »%°B¼$ÃV9¦U";5b¢°‡Ùï„ßSí5[ ¶´¸cŒ% ÜkŽ»ÐP|{õ úÍ'D_Z¬îx¤í¢Ò@}~`+ «È Ė޳¤Ó]QÔ&qäÿ.ºÚнà8¸àÔyHn¯¸íss}À<÷<âžOÒõÝšNkÅQë§­w—ܺûÜ”ûÜ”{Ô• %7ôä‚‘~Ï~5¥Íæw/…Ö7&ë²Ã]¾Çy¶~Yl“W6…f¡™5žÓwçô½{Zþš4ó³€ûlLšº4—õ¥Fs)w¯{ÐLÍX“‚Nwä3å°}Å¡}MehxÇô–¢yä .!û"#×+êME“7÷©û¹Žý=ƒÒ3(ükm!4…¯ÅŒÔŒSqŽFCIŽEEƒ¶|óÀ?z<ÏûƒoÖxàþ}ð~wË ³/ÿÓsÉn|| Âo`¤P§ hjA²4©Þ9T¿lQýT!¥ƒ.m¤î K‡Æô¨MÚòP&Ø*¥«ÖLš[N›sªBç<¹²i„¾K>j5Ò¬Ñ:5ÂÞùkÕº$·-"ÛgUwÈk‡Ò4P® Bgåwȃ{¿‹LKR呬=ÒÍ7‚m7àætDØL[CB«ÍVµ ³6áºMµ5¨3Ii4•D©Ý~µ1µ%V­RÚJC/KšJâÕ’†L·Éu‡ꘗÅsþ&þS¾Ü~å ¹åÈ»¤Ht«Ä5cÚÖŠ‘9e1­ “6aÞµi®$úM…~]aß[ÑÔ’D÷‰‚ÊÙe{4¿Ù g;%pC|7Äs"<3Ñî8Ö¯86¯9¶¯øÛúÇ,Ê>Qð*ú”"±EsEçT‘ínÐýŠŽ\sà^Ó66„µÏ¬q^žb« …Æ®|W“ (Tè+Ä ÁU 6–*0Š«.qD†oÄ´ì-¶ŸÐn­iuV´zkF­)=±ÀfQPç+Éqã„ Q‘Æ^zÃYúŽçé×|^ý•(T®PuƒB¡å · ïÚhÉ®'Q” šÖPjIã±)ºÌâ1Ò¬‘VÍÀšó‰õŠë‚ÂÔÉMÂÔi„À sì°À s´XqcÑï,†!¦^ nÚMƒ6hë·IÐõ %¹nÑHˆ4Ÿ­ØÐ&Ö=ð®3ìÏIÅzÚc}gÇÍF‡B£Ûlvý©ú¯w7 ð`«·ˆ-Ì´( ¥ ðØˆ€¦ÐTƒTFS`Õ9vâT)nã•Öôü5š¢ ZÁ¿Ó§M嘃ý¨ÄexAL[ÛÐË–èFIGÛÐ’[|-ÂÐJKžÉoxn¾D†5ZU’nLæ×]–jiÐX&µgÒX2¬Ð³YÕHjÚrEÏÚ ¨AëžMÚ¡-òÄf9`ÚÒªéy  ßÒl5VW]¹ÏûoO¹Z¡?©Ñí¹_ÑÅ Ý{ö¼ŽÜ Nì÷N¢¦PN¹ UnñʧÌÑUó±±±ŸÙdšM# ’¦Ñ0TA Â}…º¢’­h³¥E!vÂO=äýxàøó~úI‰õç!*ÔShîõ€B~lÈ7µC+(D BÑ 0éõ"†£9£qÆp”[=ÖÆˆ•>feŒÐ'ÛG>ÇX^J© ÞTO˜¥C²­fŒìc{ÊÈ™á1­ÆÌŠÓl̪é²Ò{¼ÏÃVºØ˜u‰Y—U…V«èûØ÷–÷ôñ»[~àý’Ãâ‚MÑbS´ÙmrÃÂ9H°' –›£‰†¥èñJ{J¬ûœë';Ûƒ,Â/"úÚŠîf‹¿I±Öb½›¦9u'H¯!u=jSr''le€p+\#ıc+Á•1š¬hZ:åžEþX¡„F±gÛ-H5Š[³)é׌?›atKÂûëyÕ|ד#z |ÐL…&yf3M&\'\'‡Dq +.v•”±É·ñ3ÞÄOXe]P¥e:&±ocå{ë[ÊL§‡\ÆG\Æ'\šÇä{.†0îNMfŒM1¬’øÄ!9u‰]êžÄ+¼,Á +c@Udk—áfA°ù*t­5™eòEç3.:£%Ýö’޵¤Ë’Ü·(örlŠ¿[¯Jpë¯N0üŒñàšçý/ƒ’ܲiUfÙ€ÿ¿VŸS¥!© ‰¦ï|ßÍ‚3§e‡dÒÀÐ3zrΉ|‡›$´’ ‰he!#9eìÞ’¹&ß:±º9õPC5c1£oˆ7>ÑÆ'Þøl“KÕgÑôYô¤=_nXÈ.¿¨ÈuxÀ΀Ý4L Þêy¥?cª)uá×¶If8ÄÂGZ5N/aTNi™[ºåŠÃÞúþ‡--‘î‚‚ÝÝSçwYDÓÎñF!]sÁxp‹´JFŸ¯çßc›¶Q-Û>F»ä¬ýŽ–y”ž³—Lé&ä²a_¿c{òŽJÓ žG¬ƒ› Ïšñ²E_,éîéwæôŸÌ±2Ì£ «›aÉ”FIBÕÆl D£Hk‡Y3â­zL¨Zñ.;bd« k9g¼]2JŒ‹%ýjžèuÉmzÀ}8¢±š©8²®80¯ DD)$¯Å3mˆVîz ›J *ÛͯæÏ¸š‘Î]ì(eXÍ f ;3-¤ì蔕Nø®Å|:döX‡=²È†´²A5ÚYƒ8®éܳrÃ~ûšýêšN¾"ÐB¹Eh%6éÜ%žûDó6ÅÜÃZfÝ óO#ô4¥êjT¹Gù¥O~ÕF*ìaŽ7ˆÑ‡ûÍýjIPÇXMM* JÝ$Ö=Vz‡B˜˜”çÝ<ðÀüûà»+üŽKÜ¿ŠhP¾Ô(¿¨XЄ )vÂÏ%–V€VÒˆ† 0èõç™<·™®'|;ÎW‹ï3]MÐÃÝÄN=¬iRɽ2׬DejC£°tR×"ò¬4co}Ck¶ålvηÚ3l»$³]¦ÁA?ädï‚ñ×<_âš1óQŨÏ|Ô£´ ‹ýpÉ`±$HCÒÒ"•&©gQ` >–Ëî¯@×ZòÄyMÛYqæ¼Å‹c†öœ1ÇÒ3–eŸóuü‚¯“ÜÛD§Atj†Ý)‡ÖÃdÁ0^0HtŠ iË"ów×Ì\“uÃ>7jM£¹á‘ö–N³áIñjÛãºÀÐKÖV› çäwQ`²Þ²ݲÞâ7÷ã³É€/ºŸ±œµÞò¸õ–3û-› Íf¿ËÚï°žtiU[újA¿Y šÓÊ»7hnÅÀ²¬û¬7=fñW›g$¹G£ì©Õ¦‘sê½çÄ=çÔ{Ͼ{C& -§'î9ÑÞ1Lçì¥wìeSöÊ)X EÇ ë¼ê<ÁñR:Ί®³¦/æ˜qIygR\›”W&qâ1 ¸ ˜,Û]ŠÔf™õ¸M÷(ëã4L>®Š¥Ñgn ˜ëC*Ý@÷KJÇ 5l"Íǵì^º3üî– ªGú%=¹ÀU2RWr~?1µÚ­¦Uà"ºÃãæ–:ÔXl{„ó€×ïž´·tW´Wyb³.{¬ÓÙÖ¦µ ÙoÝð}ãKþ¢ý¯9i]ÐÊ·T™Î]2¡É5VzuÞå|¹3CF(„b÷Z±Û,–¿“î9Ÿ{¿`¯sÉŽ~‰Þ.ù†gè*#àD|ôµ*1(ÑhXˆ¡ e@ª;üyñ¿cf'É%ýdMçzƒ™b~¨v¿´íqßÙ‰>cRbª+H±Ü»â’àŠ—MWä-—dR!k…jI KRÚÖnó{£þ=áŠÇý×|Öÿ’ó·Ý†È ¸)¡ |~Š<³˜­&¼ºyÎÏ®þŒ·Ó'°Vˆ »Þ¥ TKü. »¤6$…e9&±gãL3Zë-ö‡ûMA»‘ï»L[{˜“ߊ8­Ïùqõsþ¼þ)-cÃe°Ï•ÀekŸ¼²8 o8Ê®9º¿¡³Üp­M¸r÷¹êí1eˆÐš]ŸäÇŒN×]Ñn­9 ÞÒ´"R»,¦®Ð4Eú\$'ü"þÿ:ý VN‡#ïœcï‚£ýsŽ;8^_q¼¹âx}Å8¹' \"ß#ô\"ÇÅ%ÁS ®Š©ÀØìÌ«›·hˆ»Mq¢ ·ò1Ë`ȺÕãËàOȤMü”Aò~’üŒ}ã†cý&|Ñù>¿9zÁ?±þ–Ü2p­ˆ®Øúmný1w“=nÔ椘@KˆIÆDÜ0`Ê'Bró·Ñ?åUöŒ¿]ü„‹íé¿SòèÚ1Ÿ¾ ´|pŒþîókÑãž8Ë.x’½åIñŽ'Õ;îý¯Fy=zÌ›\p&º IDATÑ®™ð´~³›YÏèÇ+Ĉ7ÀKA[L¿7dÚ0ë ¹9žðzþ)¯ï÷x?ãmø„Ú‰>«@¡Ìoœ’»Õô$…m’†ð1¬ÝÔÝ^oA_-—3“úÉ'ÉÑ~+ø’‘³ë¬>®€áçøAHן3 n¸?fñMŸÕ|Àê›>û½+>«¿`èÌ8½çH^Ò ·tî·t¯·ˆRQïßaìtö× 9öÛ’êÍêí€Å¢¡×]ðxð–?þþÉ“Ÿ±Ö:,é±»U§I1T‰hÒf—ñ[«€KµªKм!ŠuE9gû†ï§¿ä/Ê_ò¨ºå§åŸ3¯†Ü–ü¼ù1?.ƾ¸æÈ¼âÇüŒ¯Å fbÈkñ˜_j?$lÚ4…ŽŠušN3•¨õN Þ zÖ‚ýö5ß|ÁŸ}þSý9ÿö7ÿ «Eèm‹ó×Q‰€tW2Kâ' ò¸B\ ÿ$§/î9«ÞòÃòWüYõRçS5äNŒ˜êCòt'üâßøDÓ"Ï-¬?ÕžU<úÓÖpÃû3 »’Ü}é³~ÙÇ['ØzÎ`²à@^²Ç-ýrI&˜q– Ä"Ö<Öf‡‡ã?üÃíxàþñ~cqÇ?ÕJêY,ÛÌ¿ßb!ÚDsý…Fsh’Y&e y]Sè5µÓ@§fmžrQj¸kŸâfBáÛ$fÀÀ\òcóWlš6ëªÃºê°)ÛÔ[ƒv2 –˜‡%ýÑ’'£×´G+Ò¡ÅÔP5‚޹àIë[š‰",ÂÂ%œ¹„WÊ1ÀÓÁýÕn£óÛÍd{ÜEc^ßѼ)±º³Þ˜¸ç`u3FÞ=ízK»ÞÐn¶8uJR»$KÚ¸¤Øì§w¨¥ÆÛùÒ…Ïm:!”>ý½{~ÜýJÃ@wk¤[£»5…e%.á[èƒKãH‚VÄ^pÇ^pKK ó‘Ö"t[$]eóÑT”Í®ôÊ»¢c¯itZIê\CEÀ²!.·É/ËOw^ˆ¶ÁëöîË>•Ôp[!nœâÆ nœ ‘åY‘ü_ì½G“äX–¥ù½(ą̊»G¸Gx$éÊÌ*éUÏÿåüƒ™UuUEV% â$Ü8S®à³PÏÈ©u·LIˆØ'r婨FEMî}ç[[¯Ï¥ú­(HvÓð‰iòÄ,_`UOôŠ-/ÓO$‘¹Ï0:'ê5R¯xÔÆ,>wÖŒ{sÆ2#)mÂÒç)qlñ¶u_ÐÄà¤)/ŠkFíšž²Ã43p!±mBË!4;„ºƒ¡¸ZŒ«F¸j„-Žª;~•ýX¥CT«@U 6ÍÆS1ƒŠ^P…*"oˆëÊ„kÂ,R,‘VR§EŽÛƒèÓ¡³ˆñWÞ*À_¨j…6.0GÖ8¦± Ê%Aîð˜JEu"蟬øjðŽrª]áj©´¸æ”µ°f@ \2LªH£ $ʾE jLµ¤éT4®¤un“Ð1bl?Æjcœnˆ*K4Y¢É W ÷é»k:zˆ)²Ÿ-ð+Tr bD‹dßö¹n_°-»Ü&sn÷sîÄŒX3̶¤ùm¦  "a'ÐV’¨ïòÔÎø´zÁU{ʺPÕ ž³ã\û KK±µ«M±Òrx°ðÙSø5RTH«Bú&)aP€€Z*4RÒŠƒGYilv}6ËCEûýÁ†~Co°¥gli‘ÔB¡”…Ô±ÇM9éß!¦ÇŠñåŽ$îðîákô#¼,ÄÕ#¼qˆ**ÒI⛤¦ÉVó -—Ì3©ú*m)H{&[·Ë£9åR9':æÏáâŽãvüjK_.Ij‡¶jáI¯,D !‹ {šaÿcN¿Hé¼,Ñ^64sIÑUhëµÊ±êˆN³§´Užô ß·oISƒ­è‘·&#±ä”§2t°PIc³k{lÍ.»^—Bª,ކ¼3Þ Ã¯ ø¾~˵wÊþÌ«Æ+#:eˆ[FtªõMöª@ò7§Õ‚ºP¸H^P$æa²"÷Ùæ]¶™Ïnß%YÚ¸NÈË_}¤Ö$þ›ÃÚ™.ÅTÇû*àUý‘ÙôãËcœ·.W‹—;éñ(f|²_ék½ÇZí±= tŠgá÷Ì3Ï<óÌ/˜_¬ð›òÈÿàÿ!4;\p)O#A™´Cf ’™M¢RÕ-•ÚP9-ô6šÊǼO´:åúbÃÀßÐw6 ;k^;?±®ü”¾¢H-R2Á´Zrê^sfÞ0– ¬n‚é'~‡È2) •®¿áÍìÁ‚»›w×CD7CÚãÏe)'Ð ø|CšTwcJÙ°T:Xƒ„æ •æK ]+pí˜YõȬxbV>Ò/·”âp#RrØ{&.ÑÊåÃÍkþýæ÷(N…Ú-Ž̺·èF©jŽ©l£Ÿç|Zœ“,ÏiPñŽ#NŽîøúøGŽº÷d™IŽInù0¡µ¡µ¥Û9š£i¥PÉK*Q©÷’v ‘°¹æˆ²bKk žzSÖzŸÖkñÒÃbÉ(_1,–XeÆC;ç¡=⡤Âbãôù¤}A˜{ÜlNù*xÇWÉ;´¢aÔ¬ð«=/ÓOXAʉvCÑhhn°n:sËâQ›ð¨MxR&„­ËMYb&%FPàìfÁ=óèžYzÏ4 Ó|¦·R„h‰L‡{ʃ9å^›â©!3õ‘¹úˆ©ætˆ8«¯ÐÓ‚YøÀ#S儇rÊceeq=’ÄM¤"ʃi.TŠÊNíqË)?.ßòq÷ i7(VÍ ³blöjý\é±oa)`,!ĆEì[ĵI‹ø[R ’ •…AQë<ìf|¸û’Ÿ¾àáiÆgùòô_èõ·4H*TJ42 :FÂÄ]1­+r 6jŸMÜãæþ”ÆtÔè`(äŘF†pj„Ý õ†\ìÍ.±çP5Z!Hú6ë΀ýýóÿöŠX£Q`k®»§§®‰› ðɶùÂ$ß™ˆ\Å%æQƒyœ10œA‰2CØ3©Ú8MH·YS* ÷Ê”¨q¸H_`+‡Qð™òÈ+õšY¢ŠU«QÌš•1äSç%“—”/^RTÆ”FWXnÇAÎS1áÑ›ÊIE—53£Î3ñ€6.PÇ%Ú°DS ÊÜ ÈL>„_òÝþפk“ta‘,L’ÅÁ™×òS\Ïøä Ño(Æ:ùXgÑÓè{šâ±cÚ@[ÆœÝ.{ásûxÊJskœÐ5¶t­µ&(5BÕ(„Jƒ¤ø[{÷™gžyæ™g~üb…ߌþþoÖæï(@Œ þÊ'ªdÍç䯦HLÚšC¾Ÿ ô`£õˆ²ŠëU…®Uüª÷W~ßû–×ÝŸøCýGå˜"´¸NH…š®»çkïÿÔùæ;ÖVÙemõuµ[Ñ­× ë'¾Ì[~¨O‘·g„‹”û? 8ñ n¢ohüìæIl Ù[ܼæï~Çéù%¯Çïx}òo¾ú‘¾¹=Øì× &åæêûòŸˆ?Ø\ýÇU¦á½9}{ǯÛïxÓ¾§m?ûPZ’Ö’Ñ÷ÿ©î±×|všÇ¢Ò)•f'h—-±js±/\®Ä)Ò¬)uÂ×iê¯Ù2kï8k®8k¯p«÷éW´™ L=–Ù˜ áqŸ¢%Qà£& £bMÝ*øå;K8 o(¤ÎFö]4eÂMçˆ'gÌRŒXŠ!K1bßt© *Õ©Bk—ó‡ð_±âœ/ÒŸø¢¸@i¤R£˜ Bk‰ ‡GsÊã Þi_0RW”ª†¥æŒ•ƒ³æYuÅ,{ un‹cþµüÛ¸Çr;agt™äkγkò̤’­ÙåÚ;á»ì¾mÿCdáG†)2p 5%íð`šñbpI®˜uÆ4Z }žc¾LpÞä#…ª?õåB¥£F •%çꦚ±¡ÇFôÙÒãžùç.Æß«Ä­@ù®Aÿs…é•´o8Œ'wÀÖ2#ÆuBûŠ÷ákÞo¿&ºvh> š‚ú£ ï­9ÿýã“'Î~w‰q–s«s«±ÐF$Òæ|vÉtðÈù—Œ‹%¢×|ˆ¿â&:åããk ?Ãè¦VŠÑI1ÕìpNÊ ƒìs¼ÃsÇï™gžyæ™_.¿Xá§Ra“·ZY#2I“j´…†+"@%* qÇ!ž:Ä¥M¬;´¾ ì]“È,Ęû`Î(\ҿݲ¡ðh¥ £‡(²¦=ŒcfSªHaßsÙw]ö¦K¢›èäè¨e…5Ì™N–4GîÙ–fÞ™ãíÐ!É\Béª.‘êRª*umA BdSfÜàçé!°œEV @¥*†¢ÖH¥AUJ4 –c÷bìI„D(ÓŠ¢§8Oê„LXØm†Ý¤XuÆBŽ m—¶/°ç m!0&)²WS;’Ì4È“¼1É“ªÕ舷èä!6D¯sÔ¶BÈšVGƘZ†jV»¥qС¼Õˆ¿ï`o\3dd­p;f®Üq¤ßq¤Üa49»ºÏS<ÈsÚÝᦻ(õÃ~ª nÓ>æ+:Vˆ:+È5®âµýhC%«z\çgÜZGìd÷çÊS½(1­ }âú0'6nËôm‰[„xE€[„¸EˆêÖè~ŽíǸf€®–ÆÖírSÏ1Ê’2Õ(BÒÔY·ªVÃÍ#΢k&Ù‚“ú†~µÁl2Z)9Û»û> 9ŲL3ôR,+¥©%UªQªbísN³;’Ú¡V =§on8µ®Il“¥5DÍ+ª\å!Ÿ±múôŒ }sCOÙà‰€,2‘q‹'(qKâØÄŽEâØ4Ž8D”45JÕ ”-ynf.AâÆ.+g@`øØJ õ‚¶<ì;%†ÈP)´ÔŸEÐß²Ðr 2 DyxsWÐ[ì©T•ÊU«©Ò;ÊDãQòñ+6ôqÛðçR¨qÔˆ¹æÈ¹%ÕM|wC·³Å´30¡© ©U-¨j…ÜÒ) ƒ\7(ƒè²l‡,š‹j@œ9T¥FUi”¥†W8MF·¨œN ýc–â[FúÞéczø{ÑQÑÌ‚ž²å˜[ÒÊd$ÖôÌ-ª_’*á¶Ã~í±Ûùl7}v¶O)·E¨‡±Ó¶…²Õˆ[Ñ´ì5ÒQÑš‚޹Çrc4§@ê5¤¡I âÐ`ztY«CvªO¢:{ƒ:U@¥[cªƒÞ†¹wÇ̹gnÞ1Wïª,% M.¨ …2×)JãÐM¨àæ!Ä—žÊQå¡WÅϵԇÓɘx´º Ò°CpëPÇæñ!t¾o'¸Ã=/ÕO¼P.x©^ðB¹¤‘’FˆÏ«DU*ýÐ móÙ«QF "®‘yƒeĽ O[ö*²¬qØâ±£Kª:DîšÔ5)=¶šYâh}±aÚ< š%ª‘£é‡펌q q›Ãq§RsÓ$Ïâ|æ™gžyæ™_¿XáW¢â.áÆ%zr‰Ed2ö×ûwœøw wƒ#î”9wýwgsjK¥¶j[R[ ÑÖâòé”òIåa1£±$û™G9UO²%ßèü´xÉj3Ä&AœÖÈÓ ¡W·ùÏÁ¾²Eö Æ/B&ÍšßyôuÚ±A31`dðPqÙ;çjtÎÕþ壦 È$Â2º†PåAx HT‹•ÑG*5±naÈ]èJ**ê‘À;ÎÜ šyKk Wp+OyØ¡Qý)¡×%ia²éw ßvèÌC r´IN:2xœŒ©\É&²)lŠIáp–_rž_rÖ^âax/Ñ¢+m„넘Ý9V¨Tð^Rï4œqÆp¸å|xÉùè‚™÷@×Üâ»Ã>ÁVÒ vØO ÚC ¬ó †l:=>t¾ ïjÜ»ÎÊk^¤Wœ§WèiNQèìã.O«)—æKncÍ&Õ,ÍFýâàD:wîÖ+0©ið—úW|·ø†óè’óè’áNcMFóµèŒF“èNÅVøD†C! ÂÒ#Ì=ÂÔ£ u¥¦«ìø§æ_pª˜yé~MWìèJR¯5ÊR§\™¨£uXÓ SRÆÅÒ¤XK“xí’­mÊ@£i–’2жøõާtÂb;f¹ñ´çÞ`×ßVeOw³Ç¿ ÞmèÞ¬ç=ÖÇ}6óX}tµ@5K·†~Khº\êç\4/¸LΉC³N1IùF~ ±tˆ¥M,íŸÅ^ŠEŒƒFIŒÃaxõàŠègýýžþÓŽþÕžÒSIt‹xh‘Œ-DB«¹ROy’S†õŠsí’óâ’óÝ%V‘0‘|å|á%œª”žJák1.zhZ¶ Wt"Ã!*<öy—]Öc—ö=—д ¥CX:±N©‡@ûH¥×ì0í׊èY[D‰ý"äÔ¾@ÎJÎvŸ8_q4¾ÆG$=SI˜©èmÉ´XÐ"FÃNt L—Ûò„ëÅ ›MòBC±jL3Ãí…ôÊ f›R6*YcµÊF£Ttj[`©1F'¥g®éZ[|ýÐaÍ6:ÛKŸôÒ ¹0ˆ¥GdûĶOdùšA%UÚ®@ï§øÆ–£Î-_šù"ùÈñúÏÚã™{\+¥¥%ùÞ$ÜyìÂgŰ³`ØY2è¬ 4 …ÛŠ׋s”¸AÍ+”¬>›ó!ç1†ÜÐ鸧Ê}{…j–hÖáø×dKxØWÝV’?5›gá÷Ì3Ï<óÌ/–_¼ð K—hí]yD}Ê­Eï$àÍñG~§ÿ‘/ýüuð5ßõÞ"Û‚ u(¥F©h”ŠJ¥hÄï,./Ïx¸˜ó—?•Øý˜NÐŒF áÚcµxIô΃ úùо¾¢?\Ñ!øÏãrBá¤wÃÉ‹ 'Þ5ǧ·WÒ¸ mGòcù5NòŠDç1™û6 @&a«‚Y © ¤h~kÙ#×5¶ÿy_UzXɨ†à¹;NçŸðó ù”§|ÆM~ÊãzFUkȦAÖ-²iД£ŸbÌR\#À3÷èfNb<š#¶Ò?äãŧÜ4gìŠ>¿+¾¥Ìu¼,ä<¿Â(Šƒè3sì6äQ›á:F/GN  Ú½¤Þ©Èw-¢¿fx¾åÍùþ}ËÙôÕ)P;š(ˆpÂo‘ ^•pÅÁ'ûûº>ԸïNøË˯ù&úžxá`”9³ô‘"3ZŸ'f\µ/¹QO¨L…ÚT©L¿³§×ßòeï¿éÿGÎã×|ˆ_ó1zÃÕîœ?lþ|cÐYGœn®±Ã”¡X¢wRºÓ5;­ËÎî±5úl½k9bUŒY¦c–ñKd|Ýüp¨úÎÚ«Ã^8-ÁÖ“CüA%©7*ÕÊ hM´óŠº,© •f ©b|a’^8¤qè‘U¡Ó6K¦LyÄkvœVWܧsþ´þ-ëûO÷s®ãSì“§ qìÏÞñÕæOïþuÛï?pÿv†™ç`B2³0ÔͪnƒèÂÏ/µs¾m~Ï·ÉïiuxÛ~Ç[ùÝç1¿Ýá¡ G܉;Ñ¥à`8ã Páð9+7y¹ÿÄë§¼¾þH9QÙ|¶¦Ïnì±`£:çZžòÀ/ ù½ú-0Ü­ð³“Þ†—2íݱõºÜisî´#î´9K†´ÚAô…¦Ã¦ÓeYLxÌŽxHxHŽCR IUIšR¡Ù(´…v­0d…;Šè׌ýGœN€m‡œÎ/§”¥FÇ é¦“šf“0¯ï™6 šB9LèSîÍ)bÊ]xÌm}ÂfÓ§¸ÐfÙËpçýbƒNήí5vu—¤±ÑÕC-0퓌ž²¦§lð•>ézÄöƒÇÿ¹ÿvD®t¨|›²kQù6b êÉ!P^?ÎèÚ[ŽŠ;^çïùmògÎÒk¤W!Ú©ÕÄÂ>¿¥Eôà³[ ˜LL&O|eÿÀënó._qñã+.Þ½¢Øˆ¸EÄ 2iq†¿_0ÐÏo©¤ÆMTÐ,4¢ Ÿz«ÐõöÏo9o?qf\2/8*˜—LË 2ã°¯x×v)tMæô¬5¯aÚi‰žhyIz§°úÁdõƒÅúGàÉ¥`@AŸÅ×ﳩ‡Ýœöt½ £„ô­5z] )åazB)Qe‰_ô›=½rO¯Ú£µ%ÿgþW^öžyæ™gžyæ‰_¬ð‹èpÅ›¦ÏS1a—ôIÂu bÅÃ|Åy}É×ü@„Å’Wí¢©DT´4± Ê(¡©d]b– m2«i…¤ÍU©’Õ:m+)[•¶ȶF¥"Á&¢CÐz¤Ø8ZÆÀÚÓz&iWàVÐi†Nb šQ"ŒC[`Ô©“,vˆ\L%C-ª^aè•–Q …FÈÏuè.hf%j!1‚í²½Á>ó‰«U¥~iS±´„¾º¤/–ôôŒF…¨²¡’Æ&´‚»ú˜ûú˜;yBhzœ4Wì+—LèЂÒÔMƒR—˜µd l˜9OœôïXN/X)#²½Iº·È“*ÔiP‰Ô¼Æè—èýƒ¡€½ÏÐWÊC 7ü<âù·Àû¶’TB¥Ð5”ŽIи¬Œ!wꜞرªGÜ'<s–Ř­Ú?¥Ô R6ˆºE¡ASJt½@7sÚ²Üd'=bÄ};cR3,WtóMY ‘o5ò•FaÒ øü¡Ð5rG'ïd™f”UF¿ZsR]sÊ%¹fRh+}H =vq"A7Þsž\cø)ú0C/R RÊÒ ˆRòMDñhÑM÷ô¸‘'h˜i†µIéÝí0Ô‚õØLJ#º÷{ÖY‚iæh^…ì·Ð‘4¹B™k…A–›4¥D­+ì&¥Ë]-(,×GÀU{Æ{ý5?Ö_ñ}ô]É+O”††ÓÄ ª5Yf’U&Yi Ô-žqH0ÉQE妑ë&‰Ö¡­$¦ÈèkkŽ­[ZµC \‚¦ƒFɶÒáB¼À"cZ?ò¢¹ / ¤h0IñŒÕÏчNY^¤E–ZØJŠ*+]’J“Ô3I{&if’&¥¥B§AS+´ª¡ªU²Ò&/uòÊB‘5+1àI™p¯ÍPíƒ8þ[‹ÞähM‰ÒÔˆº¡-@¶ J[B[!ZIÛ@Ôvxlg|h_ñ˜ÎØC‚Ê¥jT¬:Å­"†ùŠãä#NÑ?›Ëd­E&LQ#e”‡cÔR¥@'.vA—ÅjÌÝÝ¥nC©:¨jZcdä-JY"«­*0ëŒNãʈ¶9Œ²·MCÙ¨8yB7Ù3 WÌvŒ;Kå†n»ÃÕ”¶!Mm» /©·*f–ŽÅ4ÅuCœ0aœ¬8Ë®@Em&Ķùõ‰—ÆO¼Ò>r¦^Ò«wô?ï MK‘ª±Íªõ¹m†¦Am‚eFè ¤øù»´”††ºVP¯ÔV¢d%²­´‡ôU%Ù:l{ÈëŠÊVð­=]s‡ie8v„Eò³£®EJ‡„ .1N› ¶5JÛü—\ïžyæ™gžyæ¿Xá·dÌ¿¶ÿD(]îìžúcÒ¹60:>] ÕJ!_ê¤k‹håP ZªÔR£*ÃbͤX0=yd2zb×!Žl™!d‹“Åœw/p~c1öqŒuœ`wb$5u«¶.)«z€µÄk—‡§c~xú}˜¡sTµ@ss®Û3>•/Y§Ê@;Œ1šÀh¡*T¢ÖE^7”kbì IDAT̳QGW ‡&£óî=º’ÿìҨ˒JÓÙª:uÀ£6e¯ù§¡/V¨zI˜øŸ+L<ªX!^[ˆÜ£È[ÂÒĤĤÀ @1Z²¡E3”t‡z½ cç/ß¡å9U!Àဢ4Ȳe$6¼¶>`ô+¦Ç nŒîì#nÍcî´#bép]œ¢>U¹Ç‡õÍï˜Ý2oîP­ ±¹±6€Åá{µ¯ûã GÖ Çå Çë[ì,A¯JnµSþ”•6âSñ’Ûü˜´°zƒÖ/Qû%j¿@srvÇÇý—¤[‹[Ã#3LFöËOð;ÏãÏý_s3:¡v:åJ¡ÊLó`râ#óçÕ Aã¸>â£sNÛk&í´5ë¦ÇS;eÁ„E;aU(4UT¼m¾çUõ‘FÔŠ ‚šÃ½­"ZÙ¢( ©%†’ó ÌØÈ>ýfÃÑê–ytÇÑõ6ÇÉ-e¢ãÆßÈïÑÒ-*Ðöš] êÕ\ã½ò%Ÿ&/ÇÊIÒ¯˜ÊG*UcmxìÎ)GÅœOêKîê#ÒÐBR!×K‘ä+÷)âÅâšjwÿŸ:ѪR±êMк eÏdßë³fÈb0æþÍŒþ`ƒ¥§à‚Q䌮r¢ÂÇßXÛ eW².¿W£JbÅa+}6¢Ë®uÉ ?0óŸ8+n‘F…ò·Ò+úÆŽ¹ÿHX Ô|E"¬¡7P·­Ç£=åQÎxìLJKÚ5yòFèúlÛ.eýy,·Ò%œä7g·œd7 ó{Ëÿ¹Ëç&:ájÆÕþŒÛý)ÛUŸ(vI]‡úKÝ(è vœÈ;¾Ú½ÇÓö<+Æš¾¹a© É‹¬²È‹¸ñ¨UB3HU‹HuX#öþlâÑžÚ`ë0Q`"a­)¨*>4Ÿ$¡å³ê¹ëÑíï¨kj:DRc­ôX3 •ZÁNùÀäÿÿËÝ3Ï<óÌ3Ïüoá—+üÚ!ÿÒþ#¹4 ì.û~¤°0ܺ„Ÿmõ£BñN'ù`¾shFUi•VU±')§G×|súW¾9þ+aáòaõš«×,.§H¥¡7~Çùä‚/Çïžh\IíJšŽ Á&l]dÛµ&ëz@»Ü¯Ž0o Ì«;‹°Ô˰ĕå«dHè„.TJ´õ(® ‚µG†ÍðÕãeÍäÕŠ/Ž/Z¢Õ(jÐ`c( ­ès¥žÒjÕ©éë+Æ'¶aŸ'eFÛ@’Ù‘JroRÞyD÷Zà¡p8(@w+ìo¬oº½ Ýþžqõ€[íЪŒº©€P[T(Z†bƒnWL ¾n~àƒñš?›¿ Ör@œ:Üä' ‹§=Üò›äÏü¦Õðõž¿Aî?‡•¯?×”¿‹â ô;¾4â·åŸøÍú?ØÖ}®ªs.µs®¼3Vƈ}î³Ë»$¹´Ôi99ŒµjZÆþÁ'}´¹¹?Å s¼£Ã à¨÷Ä‹éGBßg×÷¸ N:Uh2A³47’Sãš7w ;¾ì|Â6rM'w ò¾ ˜2ÅBV¬š?å/xŸ¿áCþ÷Éçò’³æŠWÅOœfׄªM¤ØDÒ&ÂÁ"£#\™ÐQVê+õìçòª€ß,ÿL(ô“-ƒzͱz‡§FœkW$ŽLkdT#ƒ†Ö\k'\Ïùiò‚›ú˜¹{Ï‘{˼sÇTyd©Mx²ç\ù/¸*^°ŠGì Ÿ}á“%&z›v\–ÕˆkqBÛ´t–1îû˜Ù ìëMV¨Ÿ«Õ7ÇÚqCyb²oúlñ4œÐ¬ñ›ýtƒG¸Q„»‰ˆ"? °â %ª'¼ ˆÃ9R« ‰b³–}˜°i»øE„ŸøÑnQuªÏb½Ò%­!i=…V“´®„Có !ZDÝò$§ü`½áÇÎJ©h.‰aðdŒÉuÛöˆ´êIî@&ùmð'D(†[¬¨`Ù7XF\«'\{'Ü—sWsnæ<ÞÎH²…Ð(]ÚS1Ì‚¾·åDÜñõîƒfÅÀ[Óó7‡HuÆ¢˜²('EM9 0 ÒÖ"{ÕcovÙu»¤ŸöÌO…9p$`ÞÒÄP]©4×’êZ'4»,ߎ¸}{„9M¨‚‘\2+ ‘ãV!Gí=žq¦_X]Œ ÷Ú„yÈ›\h–Ö”½çÓ üvÏKë¿¶þÂoí?1qŸ°üÓH°¢”ÚT;KN^^³{áS(¾»Çwwx=N“ “L5 T‡¬¶¸Ž¦üt1ãý_æ¼ÿëƒ/"Ž~³ÃQR¼I@¨ VÍu=à®:ÂÔ^ÎcN½/¾øˆÌ~l ~l4Ò¦G”tÉo4êø]u3Àýu€ûÛ€Ž¹Ç= („ŽBËÁÈ%âPñ)QÙ˧gá÷Ì3Ï<óÌ/–_¬ðÛ}þºým)hQhmu\áx1ªVQk’$·Ø§>Á­Gø¾CüÉØ´š šú¡Œß” V¼œÿÄoÿñ,wc¶êóáò ëw#QÑ*‚ÞlÍ‹É{N®ˆé‹QáP— RÖ4R’Kƒ¨íu¢Rï5굆mG8~ˆÝ ±ƒ2×Ib—45ѲÚ–ÆT¦3B¡5%ÕN…5ÔïT²4¡­T4­¦ã'ôº{­Fê5Švˆ0)h¥B¬vX1ÂTR<`k1~ ë†$vص=”¢¦ tŠGòÒBþ$ae!Pás™ý’Y÷ÿdÇHÃÔSv[Ÿ]Ð% \‚»}ÇHXŽìÔ¼&ÝÚ”±N[ $5Òl½9kç =¶Ì›{^UŸøõö{>É—Ü+Çl>ïì¯XVCê\ù\ŪÐF%ÚøجȚhÕ!K-²…\¶¼²?`M#zö†Óñ%æ+6VŸ{kÆ¥ý’z¡@Ä¡ùªÙpÚ»Åì•LË£îâÐ=rZD·¡´T"Õ!T"ÕaÙ¸‰ø½â»ø-·á 6䋿#gÕÿTÿO¶¶ÏN÷ÙJŸmãã´ >žñeÈ{å ×Ú)÷ÚœÓþ€SÇèIÁp¹âÕò'FÅß èx1ÿ‰V dS£” JVSf*©krÑ9ãÖ=âß:¿ãWµN§8­¯' âÌ%¯ åŒô·ì ÿÐq«ÁÊS,%¡Îv…ÏMuLS ޶Ø·9Îû”ч5Riê!£6œ"ÅlstµBµÊ®Nä»,»Cÿˆz!Ð.+zë=ÝÛ€^°Ç-cÌ2C-ëÏûQ¶PASIŠR')l‚Ü'È|ºiD7ÚsÞqß“ƒT1H ƒ´5е³“cZ9¦Ÿ#‹‘ D"‡KqFkA`¹ÜZ3bÍ¢*¡èP Y·„…G”ø„±O)ô÷;¦ûûý5i`ˆ.+kÄ}wÆ¥rʲ³‰GìW>éC¡T…¦'¡ß¢~³gÚe¡“™&qá`—.Yc‘Ù6õÈD{!Ý–v&hæÐÎ[ÚA})©—*ü ˆt—µ7Ä>‘JuÇ•Š^ôªFQ¢¶[|5¤6)\i¿ekøÄªÃ5§ìdŸPí’ê)°Ô„awɹÿ‰oºfb>¢*5ªZ£f5µTèwM’®EÜ5)l ­)Q› µ©uK*%™bJ—½æñ˜ ¹}sõnÊOÿsN–m°üŠÁI„¨šV’46«jÈmuLWî8óoð»/ÄCd$bÌF̹“ê6§Îu’&Õö{åð;í{Ø'>N!›³Nqë=ýzEØz<1fÁ„'&äì«ý¿ðÂ÷Ì3Ï<óÌ3ÿ üb…_s%(þ/C/è:[üN@·гö ¶Kö ‡ßþš›sÞß½æýâ5+Æ0ÒÀ’`.KŸìÆ]îÝ9Ÿ”Wlš>‹|L¹T;•"U¹UGXñ$÷9Ãþ16¹pÈpHt—åxÌfä#Æ ƒÞნ‚§¥ 5MRSÿP¼èFŽg¦Œ¬ÌaCVÛìÓ.»¤Ë>9³‰ýÄdþÄD}b\/ù„xYsytB40é‰=åµ!Z[bµ {¬¨J<·Xæ6ËlÆ~å³~>xTjPchæËó(B­ $@ ±œŒ“77¿ºå¸{ü½£Ç—FHvJ•úÞ,kÔúÐñL„EªÛ$¶Å'û @>Ö0‚”ñî‘Ánó¹ÖôËCXr¸uùöûß#†ŸÊ—\wŽÉ~¥ã¾Ýc޲¿×8¥ì"Ÿ¿Ä¿bõHM‹¸c3ïÜò?܈­è±©úlÊÛªO& £¦É²{û`p“78~„û:À<ÏÌ—ØóÑi([ ?ÞóÅÓG¦K~ýøm$ áP ŒìÇÞ-bPs7ž»¶‘àè vP*!.K9dÑò+Meh-ø•ø/ÔŸ8W®pœ=A׿CôЦ/h{SÍ™fK’Ìf‘O¸¬^×Wí9ïÚ7Ü3'&¦“’ÁÔaSuÑ™±Õ{ì´>[½Gn›tG[üñŽîh‹ÙM‰- a6xêž9÷L‚Ãí†Þv·9Ú?R?b9óà‘ûïc–>´¶ –ÐD‚‡û#ÖõˆÛüœ¾»¥ÿbGÏÙáZÁÁ,ÈÚc™ µÓοk¿eô¸D­ 4™%¸kµÀÈ+¼$¢DÙ íÕ)Ñì $¨E‰ÌkIJAÝÔ¸ûˆÉ~‰²kv× ë5ƒz‹U§‡èÙ ‰Š¦QÎUJ„hhA£)´B€*iuA‚I"-’Ê&‰]*E§£­™ª÷LÕGüzO[k“|eQo4ºõŽºVøA|Í}gNeJ*UÒeÏ«þDhxìG]‚ÚgïtÙÊë΀M§Ï¦3@ms”¨BÆ5"m‘eƒédøE@Qk”­Ê¶ÐIb´} TJ^›Ð^+EƒYf8Ýé4ä†AjÛ‡spoSç:Îp$N|Íe¤Q<šhMƒßD킺VY–CVÚˆeoÄʲõ|¶®£G¼ïXd3÷sš'…øÚeß8|²f¨Ö‚ÿ—½÷Z–íJ¯ô¾¹¼Oï¶?û8ˆ*V‘Mª^º¯t-±Õl©ªsìö;½[ÞN]ä)PÝ—jE0±¿ˆó2s­‘ÿüÇp N;÷Œú†ƒ £ÁݯÉm“Èðت>!iíV嵉®hZ‰®•¨J…´th9Èq .z$c“EËB3²z@\yLë1;Ù¢’Iìp¿>Æ\gÄkSæÜNXz(ƒ†¶¶%Sm2a…4©*…,3‘GµÕyÜL¨×’ýÊâqÝ!­-v´ÙÑbK› ôÑ„óË'ßO<ñÄOüçWlüÊÿ¬a·ºÏ—\¼¼æ¢{M¿µf?÷ÙßûÜýKl ­ú’ûÉ„íÓcE_®1꒺Ј”€¹:âZ;e¥vÑôšX0ÑÑ­ ÓÉ1;9aîò.¿$0B|=$Ð#ü4ä6=c^Œx_¾äCýœi3a%{,é“ ‹ÚQÉ|“Ð÷XûmjCp]_pSŸs]=#TýCºlçšÓÎ ýÖŒD³P´š@Ûÿbüz·+Ú×;‚ëc÷ˆeÅSÞD?QúÆáªí`ë¶¹ç\Gg\Gçl«Nžbûö³ ÿ8dìv·Æþ=CgF“Fñ#ƒdÁïæß°Tz,¬óVûæQCP„ŒâÅ¡@^•(n…zT¢å‡¡‡å¾B,$jRáï"Ô]¿‰(:Ž•â˜ ¶yèñSÔ]”ˆ¦F­*„"QhJC@*‚FS©•F*¤•IRÙ$•KRzÔŠgÆ[|¡üÈq}±‚\ªp«PÍ æö¹5äGë sȱuˉvË1·W·”¦NÜw‰Cè=Ç|4.ù¤_’ë:ZZ Ö%":?UÖØAJPìuC-³â7Ž1¶%r%¨#<²~9ƒÞ· öýQã³)ºˆ¢K±·¨sýpíýèA©ì:mJ[g·É¦mB&Ì)¤E#4ú·ÆK~v_ñA¿Ä±c\+Â5#†Ì°óœf¯Ï}7 »Ôã£:a¯•|Rm.'×|ùúš7ö5þq‚çç¿¿Òa){Ìš1ór̬³¯ZŒš)C¦ •uŽ´ dÛQ Î{$ã€E»EfX5ee6>QãQ¢“Äw7GÄïlîÞcÔ9Ńâ á4´¼í¡U‘TB*U) 3©"|ëP_Ãþ“ÅãÇ6Þ§ e©‘}N£Í°¨QI¦OÆï‰'žxâ‰_/¿^ãw£PÜk(G5Ý|Ée÷=ûå7 ; ¾©~ËíÄo¾ùŠÿôÙÖ­ƒèÐå¿S~t˜ø=zt-'®½ÿnâ—<˜¤Cî… %`#±­¥Ñ CÚÆžÎQHGÝáÉA2Á‘)Y‹úç›;„ÿdá?ÏðÕ9g'7¼é_)´¬"];̳v‘qâÜñÛÞ·ü'ûgì?òýàK¾|ÉÕà”‡Ö„$±Ñ⚎ÜB)Æ„@Œ_Rzä±Å|;ænuF~o!¯|ùI`uœãŒö³=ý?¬ðOöc÷Y>!—|äR|ä’Ë{bá„K(|tJ µ8œ¬Œ6ŒydÂ#G,鱕r4L™0ˆ—¼\þÌæË?cÜUü?ÿG>\?ç?ÿÃ/°Ìë‹ó«ïïvôÄ‚ †b΀wÍ·Ñ9·ò‚›èœ7æü/ê?ñµwÇ?þ ‘çò­ø-ªR ‹|oßú+‹ìÁAä‡Èyo38Ñ.°EŠ-R Ec0ŠœÎî9ýøÀé¿Ü£8 @ `n÷¹&Üõޏau¦`¦ílO]kDªÏ\r-/X‹6gú ýSyË€%k:ld—5n9â${ÀÈ ¬|Å(]ð²ÈG|Wý–jþkÙEJD … v²“ðÌe}Ú&òl~Œ^ó—økþ%úšUÙç÷¾ôÛäžJãÖÄØQã³gÂãaâw·¦óÃÿ»˜ÞnËQ:C¦™ŠÃ¾˜Îa¿2€+ï%ü܇'<†Ç¼¯^ l >ˆ¡ÄvSžwÞò¢ý–çŸÜWZ0¾~d|µ`<›ó½ñ%ß´¾f–÷¹—Ç(µd”/‰—f¯" ø<ñc@Ø# òVÉʨP›Yqø.H)e¬ߨÜÿùþYb9­tOË iïi·¶ŸMŸB*t¤4©*•*Ó‘ ;•ý…ø® ߌߤÉϦ¥i˜ÿ»'žxâ‰'žøÿ…_­ñC–PÅÈ:¥i YS#¨JÓ¨LÊ1i|îhKg²£;9œ _`ucÜ^„ãFTŠz(š–*5)+úç T¬ %Іhih‰ûUJ÷Ù–qkÁCP‚E†)rL2ŠnCr©¥‘U£NLâ/º<Ã"©´#¶F›Â2P„d xç?Ç "FÁ„MÐBx5ÇÆ±¢«®)LNU{ý˜;qÄ]yÌ]|LQY¸ZÌ ï⊰Ød¶y‡mÙ¡Ö4ÒÔa÷±¹ éôz+‚Ζ^wEß_0’3ZìÐdE%uDF^"Š3¯PÌŬQ­Ã鈄6;*4%oûII›z—\¹—¬¼!U¥ÓÖ·Œ[3¬&ÇË#ºÎŠn¶¢{¿¢µÚbTFU`ÖF™Ó]mð›å¨"5 4Y¡‰U©QECJ„Ç‚·â”¦RYìGܬŸÑ[mPeMÔs(º&uN_ÌogŒ¶3ú»5íx‡êH,§Äu:öž.k|"Q‘Ù¦rdßñµõ-†Y0eüËUÁסîi$‡­Ûffñ•«É8/®q’Œ$wèi ºÖŠ²Ñ˜1BV¯LpË”“ê‘I:e¬Ìñ½uÔ’.y¸ÒšÀå`þ$øuÈ©¸åkí;T«æ¹üpRñ4JOEõjFÞ##ï‘ÀÚ#4IâÛ,}²ÆbetYÚ]´²äôîc]D!~v\Þ~ùœÐ÷(Î4ºƒ¿±ÿB]¨XnÆ,ñϽÇGùk˜â ìa‚Þ+HmçeXt²5lM{³¦ÃšÒ1H]›Ä±I\PEJ…*j„"1õ ßÚ2`N&-¤%Ym>*—d¥ ¥ŠLUÊ­É£1A±^ºïðòˆö;&ͪ¨Xj=Ì:Gd JÙà–)NaÔ5JM­S%:u¬Ñh ô ÀdáyTFL³÷áï›—<ÚÒž…©§øþ¿â…»õ¨DëUTBãq{LR9˜^FO,Ðd…¯FxjŒ¯FT…Æ:î²ÞvYﺤ©ÍƒrÄ_Ô߀ïÕ—üh¾â'ó53kHfY4=­Wâö:½-¾Øc+)ºV"t‰4u¤t@J@£v¶4šOÓXÈTAI «Ä)¾Ô{œu‚>/aå^g? ˜FØÃiJnò1˽E<Ï‘· ¤Ôié«4m×Oðµ=¶Ç×÷˜­ å¬FIj£ ʯtªSÊÓÉu“Ö0¤ÿz…^”(½†u·ÇZé±¾í±Ž{ÛCM0.#ŒNLµÑ(ÖÅÆ¤Ø˜ÈBùë}d>ñÄO<ñįø)V1’„†’ I‰F! *Ý ¶ ¤¯£vGk^<Ïó˼¸|tÒ4¶@Ú‚Ì5I‹ÔµHU› å`ü¨@©A0¦ ¦h5(g œJÔ30OsüIB¼á¨óÈ1è”h”èTh”ä]ø¥C䄪o{Ü<¶Ú„¬vY©}ÖF‡ÂÑÁLÛ#ôîkâŽÅ(˜~.Œ9×n°dJ®™X\©gül¼b*ÇÌåˆY9bZŒé6k†úœ¡?cèÎY2àcõœOÍ%©pH#û0ey§½·©ÛíW{ü§ú-'þ-®ˆqeŒ"òÆDd`îJ¬}‰Ø%È–D¶@¶$àŠ˜ ‡r…pÓB]H²¥CTW°wný:æ·Lh±åHD+6ç-6ƒ€­Ób‡CŒC‚Nq˜v©㇠x°Ë[\­/I—6wÍ)•¯³öt1¬’¶6ã¤sË©Ë(Ÿá§!~â/#Ü4FÍk´¬:œy…î–èN<•ì_»˜Q¹/1Ãe_PHƒ½ X0à†3¢ÜÃÜ–X%Ö]'#ÚùŠŽ²bìMé(Úóí«í«=Þ,ÆTøý„nK>01¬ÃÎQ¬šÄ¶°ì„3û×Jxf]ñI}Æ»öKÞµ_’¶mªŽFÒvØ:mæÚF*¸eL+}Ïëð-J¹®QØE­1cH§ØÑNwt’ídG+ Ô=~+B9jé™ÝeŒùׄ\¨Á©N¹E×KÆLY+Ò–E˜¤-“ÊSqÌÛLpôU4$žM"æÖº îk´}ÅùÍ Ï÷Ÿh …ÊQ »Û“EK'ïèôÚKÇÊK´ªAÔ uePÉšZhHMEörÝdæŽùYû‚ó/øÈ3Ö²ËÊé’˜f'a0šrœÞsœ´6{¬¬>KÑçquL£(¥Áðsú­¹á¨™r$§Lš)ùÎâ]ú’wó—÷ûÍá§FUXj}|eϬ0kú,š•P/%Æ«÷UL«»ÅS"l-E×+0%T*(Öç…f¼4&d*JÜ`ãª1…©—6Þ:ºÊQß×43…ø…ÇüŬ†¸g3Ï<;›x–Ó\OA:4Žƒ\D×À¢`ìÌ9Qn8Uohµw—º[`œdÉÃäˆÇñþ¹n1­8®8öïé^¬y¿Î»Ý Þݼ`ó½ÑNñ»1Þë=~wGzç½W?XT©MSk Ô³'ÞO<ñÄOüÏò+6~%‡˜Åô³ñƒ•B˜”ºAmë4žŽÒQè¯yýâ-ÿ›æ~ó_‘º Ö¦Ðh SuÌ­rÂzÊ­rBŽAù??]ÛGE @yQ ~U¢ýM‰ù¢&0zÆš#ã‘ ®4Ÿwå i×"ôöû¢&QBÍc«éTšN‘[äªMnÚ”ö¡äü±3&êÛÜ &Œ‚)oÄ|)~àL\sÌ=ÕK>©—\§|⫬Ï:ï³.û¬³>oŒ¿pi|ä•ù3kþ‰{í«ÉHqxPOï}’{ìÞAyh\„WøZÄÙø–ç¼8„`9&fV`n ¬y‰9/¨† •T¨ …*Pp —„ŠÌb¶ž ÞI²—h³? ¸µŽ±‚”‘>åwâ;~g|ÇïÜï8N¸9=᦭}Ì=c4ª_t0~töáÛ.k“®î–§è«ÙTUz°ßãþ”޽å¥÷–ßÛäYñû¦À\X79æc‰ˆ€X"b ä¯u²/ ²SƒðµC5S‘·å®ÁˆÄÁø0gÈ gÌ‹!õÖ zÔ©?ô›%_+ßð[/d<˜r©|ÄžçX?çØß˜ ¼‹„æLAž‹CReG£…­’Ø&–“pj_sa_£X’ŸÌ7Ø­”¤ïp×?!m›$Þgã§ŽÐ낳òžÓôž³è/‰¹¶O¹ÎO¹ªO™Ën™âÅ §û{ží®ÑÒU­QƒEm_©ø³"Ó¾¿¿œ*áLÜ0Ö§|©þ@f˜„-—°sPìÛ‡©»Ð~9C×'´|¢®GXûœ¼à|uËùí-goïXÛ\¿:åæä”ëW'(­†ž¶¢§-éi+âÂã'çK®[—ü4ø’­×æäø–““kNNnèô×ÜegÜ¥çܦgÌÒ ÿ˜þWšµJg½ãåú=ÅÄdG‹™=æ¾7ÁÖ4(è”(ŠÄÖSZÚ†¡œ¢QÐXŠ.+Ѧ–û²Ã>k³ÛT;ƒ?¸ä÷ÞŸx“üÈïó?±«|vÍ¡ˆ~¦ iÕ{ˆÎ<Çš•XI‰VI(UêJ§2kê®NÓV‘Aî˜Ìó3oøçìù¡x–DÚ™fÂ@ÎxÞ¼åü‰7òG~ŠÞðCôáwËst§ lhyZ­ çÜðªxÇëü=¯ówÄ¡‡Ÿ„sƒÇÓÚ }ÀÏÚkTQSF*E¬PF* üƒÄ Ä鯴Ÿïð•KÍÐŒaJh4ÐTÐLÐ$ømÐ=¤ÊÁø©®Ó4’´²ñVÖ§ íÛŠæZ!*=°‡$C‹%¢¬"ÚVij y!E  ]9Ô°µ‚‘2çµùޝ´ïµ§ØNŠ}œb— ;Ùæ[ã·4†Æ£9!Á(ä¥ÿߟÃåî#ÿüíß!¾©Yßø¼ÿöó÷)þ(¢÷ÅŽî6„oÛ¦J’; RƒÃ‚ïO<ñÄOü:ùõ?MË¢tjvzŸ)N©°©bÖv1‚ÞËŠÛ0x±À|–QN4V½Õç—š2R(c…Ðq)}°üˆQ0;Äÿrô9f”±[´ÉU—\õÈTµ í~H§³¦ã¯è8kzê’@‹¨Td©ÐTâó©0«G,› ûºGVûd¹Cžë™AžéT…A]Ô…N-«¡±µ¥RY™n²«ÚÌŠ N™’”WùŸòg\åç\ç„YëE™OÞ±¨úô@u+kÏĹç•@ X$C’ò0I4EoHu›e8àúú°ÇIpÜSωk—mÝ£(MʬRÌ:Á”)&)qì² Û컨Íõâ³ù„ݬC6µ¨µ]¢Õ•®"]áxiD·X36§4º@d úªÀ©rË 7 rÓ$·L4£¢ím¨ G&ÄÂ'‘qé²É;j‰Ÿ‡ 6K|-ä4»áËμlàL¿e¤.¨MÚ;LÌÂB[ =‰@æ‚lluò¾NÞÕ Šˆ:Ü£†{—Ó¸*…a(6aãQÔ&f]àÕ V]0.§œìîOg ô]k‹¾¬Ñó ]¯ÑZ5Xõ!,¦Cá´ˆ+— تŠ Z»FÕhMMÔ8XVÊIyG¶¶ˆ2ÃÍP=ÉÊí£ˆ†vQË)¦“ÑÖ6DŠMššä }_1\Ïé¬V¸ë-Æ:DÕAè è@b×e„±ÏÞ 0´ß ñ«`¿Gæ‚Ðð MŸ½86¹£QX¹©S&9&¹jШ *6 náwa$íí†j ðzmì^‚ÙΩ\¬±ØÖÊÜdŸ·x¨Ox¦Æ˜­l#ìšÆ‘TŽÂÆm1WÆÌEŸ ›ù®Ï§ò/ŠPV ‘ã°é¶XmÖ²…FE"¶t˜2¦À`-ºÔBÁ{šJ'.qê§.ùÖB캨èw—AOÓSØ´:|²ŸQ) U©@,p×)jÜ—&­CæÙñÄO<ñį_¯ñ3Mè¶)›•©¡ˆQ>!È"pâ´áĽåôù5íá†b¨qÝ=g«d[•ôZ%½ÖH¯Uœaw‘ã_¤\X[þ‚îÅŠžº¦?\³\X'6é€Mª£’‰?ãRyÏóôãÍ#‰e‘Z«Ãƒ2¡* ÊØ ŒuÊÄ`Ÿ·Øå»¢Å>o‘ï5ª­ ÞŠÃ©Aóy÷£ÁÒs<5¢#6xMDœ¹|Lž3‹'èQÅjÝc¹î³ÚôX­{d…MVØ…”ç:ñ¥ËFt˜u†}u…¡Ϲq˲Ûgê˜žŽ˜–CJ©©.ŸÊKv?·ùpû‚³É 'ãÎ&×øÝ%#îÅ ê)ú cõ±òÀXÜ3æå¶Ïíõw7gÜ^Ÿó°;bšM˜ecŠÔDëV8yŠ_o Ä–‘6¥mlp­Ý)Q«¿Œ¯çX»œ®¾eÙí±ìvYu»lMÓÈSêé¨,œSw£DÙšà—!êÏ¢O\¤Wœnn9Ýq”=Г[TW.Û~›Ý&œø4…ò¯ªäHÐŒ@¶A h+„#°Z%²Ñx‚ÆQ¨4²10šœcåSã÷ãø£øž£‡{úáÓ(QãæÐ¹x&aÄ¿NÓ, ĕ˼p/'Ü3¡´udO¥QU_Eî'»[NÂ;BÅcá÷Yú=AŸÌvhk{úêŠ]ï@ì0óŒa¼ÀZg§‹ Á|>I @ƒ61€mÕæÊ¹à“ûŒ«ô¯Œ¸h®x–BOKSá¶uÊ•~Á'ók·nåèzŽ®ä¨Tÿ¯ù¬FŠIŽIŽOˆIÎÐ_Ð>Ú`j MW¢ú%î0¢Û]Q蛦C\ø¬Š!qá±{ÌÒ ³rL"j¡ —5]¤ì„O¢»RÃTSºÚ’b£q«œUWñ9JRCÑ ëdC#+Ù;˜©¢;„D 6éáû³2ÙÍ ÂE›|c1)¦Œ)“óƒ“%µ«R¹?ºoøÞýŠ¡6cXÌnfŒÃ9)6S¿uèO4/¹ËŽØæmÊ™N.-n³Sd*Xe=Ì^Ƽ5`Þ€_ÓöV£Aè Bk0Ép³„1í0ä\ÞaÉŠa³â•ñU­°ë;I°›„° ¸®Ÿñ}ý5•¢£t+Zꆿü7~³t¸º¿àúþ‚«ûg$±m-m…¦­±ê ø`¾&]ûÜÿpF^¤–ƒõ<ãòä6)-±';e–”4[˜o;L¯þžÊÔ(ÏMŠÐ¤¬LbÓgO˜B|„.1´÷óo]W,1ú;ÌW{ {‡yºcßÚ±¤l%ÛAƒaWìuOê3VU‡¶ÜÒU×tÔ ]e)ršZcÒÌèÕ[j©¡Ð …à“zÎGûœõQ›Bšô:¾ºü‘êä°XuBÕ'B#•%e³¥©ch‡Å×'ã÷ÄO<ñį“_±ñ3 Ó¢Vf@Ä„‡¼ÀÏcÆî=÷ÉÉ}± ±lËáÚ<#Ѿ ÜjD4Â?ªDÔ8þÀÑ5]kËÅñÕ!æbEo°¦÷ÅŠÇmÈý¢BÎuâe€ZHÆþ”/•Ÿù»ìÿâl{Í{ï9ï¹äQ›ðQ¿ ˲Ð!Û8d[‡"Ö)ý`zÞ §5Í´F>ÖÃw òò0yRÍS;¿¶ØàȘ8˜ï'Ä[Ÿxí‘ߚݙw&u¥þ"Y Ê­A,\¶í6óó!]±¥§®8Óîp”U§Ë[ïo½hÞ fÙèÆe{ÓæÝ‡×xiÄï¾øJU3tgèí’-Þ+/ùVý[¾ÓÇÚ¼Q¿§VÀgËj×çÓ§çüðÍWüåÏÃ*é‘™6©a“›&¦™aç ízK_Ìi3:ÆÇJМ µ¨ñÓs—ÓM6¤¥Å§“sªZek¶I:6ÒR?WÞ6â|{Íï·â÷»?qfÞ`ç ¶LqŒ„BÑI —©=âvtÂTQ7*u­R5*TѬÝ*§(‘ºŠe´‚ˆ¦8ì†ÖŽJ¥iµŽÝd+÷|m|Çß:ßqVÜb')vtx7ÕáKD =ÀáPñy¸B qí²¨\Ë ÞÊçÄ–G¦Z¤žM6²?Ìyþé#/vŸ¸üô‰¨ôù¶õ[’ÀeÛêQv5ý“Þ#ûžOnj˜Ö:c8] %<¿(}„úK0ÕƒéÓ:°•m>¤Ïùcöþ˜þ^´âáÑ÷%ãpJejÜj'|ãÿŽÿÛøSgDÛ\ÓÖ×´•5‡‰Ë_0`GDþž@ÝcuRä™D5J;¢g¯zCSk¬Š!·é9Óç,¢!Yj“•6icÑ…D8HÑ#ÅÄT­FU #Å6ãCè‘8áº<§‰5Zé†v±¢S­èȇ«Ÿ»¦ÍN¶0(ˆCåk»u‡êFgÿ±M±6yÑûÄóþ¿›ü™çü¨¼9H}ÃÏÊk¾Î¿åwÅ7 ¢%“|ÎÆk±kµ˜¶†<´&܈sî§Gl²ÖÁøe7Ùˬϻì%F‘#D^ƒ0kÚ­5R©Š@—N–àmcüEDkb[kÅ û#™m!‰ZW¨išUÜqÂ÷òo¸–|ÏWH_ô~äuÿG^+?alsþôÝ™dsßešL`$`¬À3g ër@Zz<¬O±g íî†NEçx͸ÏP›3”3FÌÉÛ»€Ÿÿåo¯_ðó÷ÏYÔCšÐ © àj™d‘MZØdØMb¨žÓ[†bN«·¦e¯iŸ¬i}½faD<š%–äÁ$Â%l<ÖM›²z[LJ}f1g ,²`Ø,W3†Õ³)¸QO¸ÕN¸RÏ™ê#ŒIŽÙÊè=Ûp”LY;ÖnµÓ%T="ÙÉ‚RÆÈ¦€º&å°øúÄO<ñÄ¿>~µÆÏhU¸/Sd hÆ EË&3\2l%¤+ÖHE *™f±Rýg‹f@iDsèJ#üQE*ããõþ·NPL(Lƒª£Ó ‘‡a§ƒ$~ŽšH7!ðvtµ5=¹â¦>¥( ÖY—[yF¶wH7.ÙÒ![:ÈD PÊ¥hP‹¥Ì!S©CA³U©Úá…/†&„f…¦±Ý¸,·}›!ÛM˜*0°V°DŠC‚%2,2ºÙ e[³{ ¸iSª&ÇÉ}¹bâ>âXa×aÓ Xt»ì#ŸÍÞasÝe»ê¡¯*:Ý5£ñ”³üš+æ ¹•'¼çá7˜$ô˜s*¯‘(”R'©¶e‹E1 ©] JÚúÝ^Ø{zꜾœÓ/Œ‹Gú¬°ŒŒÊÓ¥G%4êR¥*U¥¡T³*ðª˜nµ£¥li[ÚbC[l‰qñš³ÉvC6èU‰™g8IŒAN•kì÷-v‹6im3óì¼6‰cSÙU£RËC¯[-5 M?øi‡G©¨H]¥² ×âÆ8c®ØÉ6yeaÊÕl°‚ oâ«{Ì}޹/0ö%È ›T·I»6yß@)š_$JÉRí–yh"qØEÕÕÃÄÄ3PâšÀÚs¤>ðªzKœyìõ€•ÒãQ‘hžc59ŠÖ Mª5¨ŠDmuUSS•¢Ri&™¡#|Ñ2¸gÜ8'Üæ'ÜåÇÔªÂ&i‘d6ÕB¥44b×a]·™CÜ …©"u‰ªT¨ò`ÞÕ²Á(JŒª$ÐCºú†¾±d¤Ï°Œ KÏЂ’¦Rh”ŠN. ra’gU¬ÓlUÄV`ì+Œ8$HBh@¨ ªR¢ˆ• M‡Ú”&Å®Sì*#”‘i¡áhJSÓ”¨.+ÑeM—=‘ Ðà|ÞM Ô™N¾·H—.åÆ@ jkÇÑðgÇYçîŠcÔ¢"/LÒÆ!ª=vu‹MÝaG¬¸dºEaêÔ¶®DñkôVA*,ÂÚc¿ó‘¥‚Ydôµ9}A¿˜ã±ç l’cÑ Ðe‰’¦QÉkZjVØnrØ-n”úp:M‚Þ”ÐHJ©£ª®3²g<·ßãè oÄvUes˜0v$âL"^7äS‹lj³^)È©àÙùZî–Ž¹åùð=Çæ#9e$gŒå”Ûô˜ï˜Hs¸ª/¸Î/ Ó Õ!ÕQl¡åAA0ÞaYíÎGOPóšj¥#5a›¨ž‰®Yè•Vj¨¥@I%U­6>û& l|<5K`Ê_ ŠÄ•1ÃfÉEu]çle‹RL›1?)¯è4ºbMGÛà˜(*UmfaU9µU¡ô*¬ó˜¦]¡lËËÇÞO<ñÄOüOñ«5~­ñ–gÿé'jG¡˜ä“¢o MA³SXm{”;Ç舰ëv|ŽϾë“å*Y©P4*RªT´ÉèÑaC•†Ÿ— ‹Rב>¨M…ifP@fê,ÍWÖ ™¡qÅõëp@´kQ.MŠ¥A½ÔKq¸²e7ˆ «Á˜d˜g æþ &×Èj,d?êÔoUbÛF±[”v¦ä„±G˜(qÙ¤qØ;鈞 g­˜XL¬ެ{M¡T5âO?Þ~ÉÚë·=ж‰ì rß ô±c.q×%N]’Â9üÁÞ‚¡¾`˜/©ž*HUe¥ôØÈ.Qí‘—&M®«.wÝ#ìà7d§:zK%5êZ£~Ða!±:f'eÜYpêÝÿë5ÏR¡.UVA÷ ÿpÆøÌóA¾Â—ófÈU}Î}yFš{¨ÀƒsÄOÃ/®`Ú2\,.Ó½(y0•ê mpxùus ‘cÓT u¦0Žf ¯žA˜-ƒ"0è‹gþ-ãÑ ³Ì!œé7Ô†JKß‘§ò†Óì†ÑvU$¸l[‰ê’õ,´]оKÐw)ú>ewÒcÚcwÚeô˜‰1Órˆ¨*ŽËŽŠúÓ9N"æB·Ò/çœ×èŸw [ú†¶²¥Uoñv1Þ&Æ[Çx»˜ »#èävãω·¨Pø<Š 7âŒqF’{°†ó‡kÎïn¡øk•&Ô*4Š8ܾ“ N–R4“;ÍÈ"›LØdMvâõ\ö¶GØx¢ïKN÷wXF‚aäÜ´NX]t£@×KÜ"áõú=A£µÊ—:a˧Z)T;ý …޹/hKž[xî½§o.Xš=fŸ¥Ùc¯ù4¶BØñ˜©<÷œÒÔÙ}Í- CM)s¢ÂÇÍ"^e?Óɶ˜Eγê#ù5AÑlÄ–C¸Q¢–‡°§DkU¨ýŠj£SçõR£ú¤cËŒ®±åØ~à¥ó‰3§ÅŽ–ˆ0DZOAœêP«0RÁhFIw°¢o-è–´²-¥¯SX:Ñ&`óc¹á:1®{Plvm¶»›m‡‡Ì°É ›F×ÑŠ¶¿çH>ðR{Ç…~ÍP.éÊ5¦ÌiA™›$Òc';¬ª!ÙÂe¿è°Xĸˈ};`ßi±ïD™%(]‰óUƒ2(!¯ˆÿ·§p—'žxâ‰'~½üªß«ÿõ'JM#¶]bÇ#²]²Æ¢~TYÝ÷X|ÒLUŠSâL§¨4JK§ÊêR¡ª@ùlüÚŸ_š=ÉgãWi:2Õ¬0Z)M­i:KµÍµzÊŸ«ôœ‡dÂ*íÅ-ê¥JóY,¾D ¢_¡ k %Ã-c¼*Ä«BªGƒýïuÊ÷ÕN%Vm ­!ÔT‘ST E©P–ˆ†Œl*ˆ¡J·µâyë¿i}ÏoÚÿÂÃí1¯žññÓ%Ÿ>]² )Þð%èÙ‡Hw)u U­1ÈÑ”êP~­5ÔºN¤ùÌÕ!Wê©0¹•§,ÿjü Pª­ª0š[¦øí=ÝË%£þ#»—N–qZÜsZÜqZÜÓ[ «@W Œ°€R’Y&™m²³bÝaUõXU=ÖU—}p¬>r¤>p¬=rœ=°ÖÛ¬õ+:¬•ëÿÑø)wcrOgê 0óœrjRLMŠ©…›'¼¼åeÿ-çé-§ÁÍ!Ô%ÈDPç*oG/(GSuÄÜR£#>—9 âÆeWìË€$÷ASxpùØ{Y²üJ󻦵¹ ᡞJU¬$‹ä°»ô_<Àl¦1ëzØ ‹"«3_f¾Œ÷B‡kwÓÚlþªª³ä`ˆâ®ïÂEÀÍŽÿî=§s<ž£ ïôkdœ<ÆLÏúŒ?h¿å;å[~‘ßb1–cë1¶qº\0[=sº\pº|†!4S‰¶–iTSÊqw¡kJÞpÑÞÑk¼î>Ò(2náän"• EcçY Çì¤>nàÜ2À-Vîœ;÷Š;ç’;÷ŠÑvˆ¶fÞÞ3J+¬$D,k$µÃ: ÖKÎÔ[ 3Á‘bl)Æ–¼*ä$Ø2zØrr·e¸Ø¡\T¨ç%ŠR¢ôJ„Ô8Vb7B>?füÂ[Þó5jQsµ»ãòþ†«ŸïéÅÁñ,¤{T«Hä²J!©B¥î$ì<Ã3ìC†dÔ™B#jO¡Q>xïøÑü’÷ÝW<Æ$­IkÏo¶*´’DŽAˆwL•$Õ??KAÔ‚ÒVImƒÐ¶‰L+ŒyU|äìðHµÔxÎxrçŸñ8œ1k¼ÊoxUÜð*º¡×†T=•ÈwX½‘-5Š÷&"éh×2ZYrblxë|ä¯{ÿÌ™ýÀGç’OíÈ¥zœF²ÍÒ>AÔ¤²E¬8$²C¬Øh”Ø]‚MŠÕ%i‰MÄ—åž¿¨¿Ç.S¼"Àžˆ Òÿ`üh;d¥F3KT?G•”·U¡Óm|TŽ» Ì=sû™·îGúö]*Ф]®‘Klé\A8´x< ,ªÕ N¶\M?ñZºfÌ’Ç茇èŒý~ÈãýuX¡>««(7Å“Aþ¬S<T²Bã~þ|]­×ÐëBæÊ3ïÌ_x¥|ÂéRì6Ãè ²Æ¢¬4ÒÒ&¨úlÒ Áu…z]¢^W¨×å™Nq®Qži”g:º!cÌ“ ë/ dQQ}'ýû]ô^xá…^xáßÈ¯ÖøYÄù_ÝQ >£“#u5]QînzD·=âO.¢múqÚ&&-]-艮;.TOR Ù¥',ÚV’)…bÐÉInõE=v»UJ))„’ËR:!n,Å„m1$Üû¤[ùÐ -J\¡åÅ1)Oí蜚]bk)=-¤¯í©QÑÓíc‡²ìV§nZŠF#©}š¶á˜(W%Â(äyÒ"ZÔ/+†Ã óÑo†øÍ迃ÖñouÃù IDAT¼š’…÷?§æ4Åîb?D”¤t€AŽ#b%GÕ+$³¥²¹¡jyRËAê‘K:Hº\ w9F›cT9FQàj1ýñŽñtI",úyÀ»øšwñ5_D×øEH[K´ -%òÆ`#¨Œ¹¬³5úÎ$²Ö&²=vzŸ•3beè):¥¢Q+¢²îf<¶ç|ê^ó¡}‹!rúÒž8Зö 5® 79"i•§9i–¤¸r€*ê?¿m$ô¶!£‡ãÛÍq:g š!Ôr¬äâOë‹nÊ WüØ~E¿ ˜E+¼MÄ›ÇkæÉbÒ!éǓƔ‰‹¸³ˆK‹<Õ°ã+Ȱ÷9Ö>?¦¥Ê€ô: ]ãYŸ‚$8}2Ù@U Ôö×¹k Ô @’Z ½Àµ#$: 7»£05ÃÀ’sü6Ä*2¬4§íÿŽGuÊÂ;á_Æ¿%MMìPóšIºBÖ[½1‡×;>9ˆÚ[™*×QýݳÝ#_íæÕþ#¢ëH%‹µv‚СRUbÍfGDKŒCˆ÷'éØ$8ÄØ$ŒØ2MWô›-³l…›ÅÈ¢9þÀ#jºT¢+]'@Hz‡nØf„mF˜f|¬™©MŠÔ¤8˜ô‡£Âý0ÀnR:!¨%•JÒ‰;ŸLw(Gm_GIm‘´Im±Œ„¾·gâ.8wo™iOä·ë»1ÅNg·m¢P4&£"ÙšSbJz\ ®k¤ûñÜa«1®âÎ"Ü‹D·H›xkÇ’F¿ÄíG û[ «¤>Ò}%ÓÕ ñÄfµ°Ü Yî±ÍñNö¸ÏQ%¾‘â{¼QIï´`ì.¨\™ý8{êÏY¼P72}7 P¾¬(OUºL/\" r %§±U²Ã~>¢r5ìqÂÐÛ2ט‹t³Dï—h¢D7 NÕFÝw£Ç5¦UàÙ1kObÛx"Ɔ”#É-•¦ê©0I1ÉÑ©yßÒßPꆸì±(:òÂb[ŸðÑ~Cíè윟œ7ÔB¢’eJåÙ r©Àn æâ‘Óà‘Óô£ÌÉj‹¬o‘}e¢Ö5§þßòЛQ[J^¡ä5j^#• ¹«Ó3|UýD»ç!ºà.¸äápA8Ø$Œ•uÉDY↑a˜)†‘1l¶\÷L%Ö$E”ŒûK¾èýHÓƒ±÷„ÓÅØyŒÅ8]Ì(Ýâ٩έ}NfZD¶GÔ¹D{7‹˜–LKƇ²Ô{6‘ï÷mÃ&‘lRa‘›¼Õ!há©ÅM¸åžf¢POd–ã1Ï“iaáä _f8Ï©4ÊP¨ …ØptŸ´gSÏ4x-aR2ôÚî#¨Ù¯úDºC¬ÛDºÃŽ!eÀƒq‰ã¤Ø^†°k$£FRk$Q£‰?ë±³iGOÞšì™kå Ø‡á€g1Ë0¦9Æ,ƒ~G |‚È#H<lô²Ä(+ôªDS*P»ÿAð¤Ÿò Ï茎™þH£K¨zª–¨¢ÀkBFå–a¹cTlÑ⊸tIT‡ÄwÁ„Sÿ™õH_ÝÓ ‰ÀòØ ‡4B¥¶Unì=$«åDl°Ô„ÊTØt}>)—TŸ½Õ£2dt©ÀÖº¾Bu®“ÕÂ8å8Ùì K$ E'–=vòˆ•4C–[,%£•¨J…CŒJ…KĈÍÑLsìÝL±XÔ*A<àvû ó±Ä+C†þ–¡¿aèoÈ<“<שZõX¹±­M6Ì•ÎÂ{fwOÇ@*C£žkTßj /6xo¶þqö;¡*4ªR£Ì5žê9?Õ_òМ‘6ŠRa+1Žc;1®b›©ap§œ³=6ΘúD¢'v¼±Ƶb+ÆÕbœ2f[Yu–Ê„¥1¡±eä~…2®Qfú ¥ñ±m³VOeK¼pˆŸl’'›M0â'ï®ÝKžLÒ59&ëºzö(Á„¸ó÷"CP×2õR&\õ锆ÿW¼^xá…^ø·ó«5~52)ygÕ.AÑc_ ÒU§Që*uO¦C•X½˱­˜Ô°IT›T>K$ÅòvJZÚ,3Î^ÝóúÝ5ƒ/vÌÝ'òÎ z<­Îh× EeÑŽ¤ÐÕKOÑãe]!ݵˆ›g3ž/™ž>19]° G,Sºí”8p‘†`œxRÌÈÝ0°ö¸³§Ipí”`æóþÓ—üpóIá$4}Iߘû+æ'NO7Ôú1ä“~ÉÞôm’·uO¦÷f‡cÅ(£šr¤r0zÔÈ丄DSÛa?¢f%²o|6~δ^K×èV. 4³@ïgÌ“Fñw— % ¦_àb†Ã=¥¡a“âI!¦”#+ •¤©[µÏVëSVÎ6ÁÞ¥ ¶Þ>aŸ¢ÄEd³ÍÇÔsƒí|̧ù|5¤/oé«[ú݆~·ÅQ£cÏ ”¡^zà"¹ã›à¾IÞã·‰n‘,’™I©kHFK§·<3žÕ1FcÔÅqmrDÛ#â«_oâ}ô ZØ…6Oᯠy-}ä龑~` íPôc ¨bTXJF¯ ðÍËÈ䆱³¤qÀww¼3ÞcÆ9VœaÆ9f’Ó*!‘;:7—ç¬ë1‹rƲ:e±›2Ý-ùfõ߬À[…¨VÉþÊgå°êµm‡l›!›fD•¨ÌwœÝÜqvsËÉjÉê›)«¯'¬•1«ñ„~q`î¹{6Ö'Æ£?c§bjiϦšéˆH¨+†þƒŠÁ!`§ô¹wÏÈ=ƒXvYIc:U¦3d:[¦óe4;C7r4%G“2b\"\áñØÍY×'„µOV™$µÃµ"Ø9#>ßÒkø§¼Óþü€l×ìöC¶û!»ý0öQ´Eo?¯è-.Ñè2­Ö1ÓÕõsïœ*•ôË=§ù‚Y¼à4Y`§)e¡S)¥¯Ñ"¡ûº™¡)­¶Ï^°³ì‡"Ó!²„Ù1’6ØJJmÉlÕÍ+Éf¯ùTª‚!ç8zB=ÐÉÏ-¤¢…ð9¿ºDP(‘ⳕOXJ3L=£¯h4U©þT“ñy~J‚õùÝuHpÙVEdRnLŠ¿ y£~àõðÞ ’Þ’5:¥¢Ðʶa4ÚòNý…¿ÿÀ×·ïic™Æiç2­!ŸÚÄ›Ë>7³3ÒÊ& ÒÒ&ÍmyŸM3b[I Õ¨ðì‘¶âÄ[áú"ÈTƒ;ù‚NtŽ!è;;úã“vŤ]×rÍuý†÷|P:vÆ€ÎmP¢sôy†ÑÏhuA¬_’š,',ÞYü÷1Ëõ˜Í«Û«)Õ;¾ÇÇ-ÄÐØÃ„ñäø=½x&ÎÝÏu9#‚Ýñ»ª ôã÷ /¼ð¯–_±ñ;Nü²Î"ª=‚¢Ï>¤}º0ô@RZÔQ…ÕOðݾ¹GÑZVH1IBûhú–S„.HŸõÍ­9=¢Aæ)8Ã\ä´·*EaÒV ’Ò¡{%¦’a$Ÿ'~·-âçÛŒ˜\.xuzÍëoáîÓÄñ΃Ÿe¤‰ÀJ<'b4ÝrnÝs:[pj/˜Ÿ.ØÍ˜FFR¸Ü­^ƒdMßgó'‹OO™{ ¾ý»ù'n¸äV\qÃQj¿ÂìgorúÝSd(TBã | Ã$ûÓ´ §ìíÏÃ9ZW!ç-Ö(aäo™ë¼×èff¨hdÌÆŸ'~5ÖIGLih´}!r<)Ä¿Rш,‡•9âÑšQe*óÍ3î>fðñ€r×r½‹‘wùÞbÙ~3F¤ÇÉu|¡þÈ—õ|Ùœr­Æ˜N‚nf(M·;p‘ÜòmðþÓÓc,­ˆÏ-â©I|n±ôxfÆ“˜ñÀ){úØÄ8Ÿ·È9]ÌéaÁi°äô°`,°¢‚4rxŽNQ¢¿ xÕ}âoùGþ×îÿb¢.õ^:½;ÞTzÂáu4¶ÄØ\â;.k*IAÏ*Œ¼DßVèëš§ñ”§Éäó:åÓþ —o¹^½ããî-ož>R?(ø¯>Ñ ààú<]ÎøÔ¿àöô‚‡òì¨âœº’ù‡ÿŠ÷óï¼ùùgÊ@ãYž±œŒyÏ7üEñ—á_m>ðÛÕ÷|ô¯ø—î·ì´>±ë ë%©oSjˆFÂÌK ³b@Ø6ŠÆàYžÆ¡Ò#4z„NØó°ìÛˆ±Ô[D Å–›?iÓž°®OJŸ¬4I‡½2DØ1ØJÂÉlÉÉÙ’“³šV²N&¬£ «›)ûçÁ±"ã²ýX@Ž}\OôS}ÉD[0Ó°¤• õóÔñ¤Ùr™ÝsÞsy¸§Ÿ@‚NàC­ÉÄžElYĪE ¹lŸ{댛á%·\þ±®M”ŒØ`¨9µª°íú$˜èDÂ¥B9vòi ùÀB-+$¥ƒ>ë ƒ6–(dƒèóÄo)Ïè·2–´²ŒJIŠAŽI†AΖ!‹Ï0ÅbYMYF3Vëˇ)=)ào†}jEàôAK™¬Sš*­+P65'bÃ;qÍß…¿ç?†|>0?ê‡ÉW|7ý nfçüaúVÑ„°ì†=‚¼O•hÇíôŸåu^0Ñž¹pop{!+1fÅQ!#gÃÐþüÑmxÞò*ºåuxË«ð–ªÿ‰–2àƒþŽÚ‘Pûæ8Á:‹Ñ½”A,lVœ@1äÃâŠ_Þ_ñá¿^ñôpJêtŠSãøzþ'ãö(fmöùŒK'èZA4r¹W.°“˜òI ®‹·„–‡6ÏpóM×±{pù¸8cQù<~œ°þd‘ÞÖt»ˆd%X/<”ÇsÊÞ±¼ØÒÞMæ\½Ç째§¦Ÿ)í9AÓç±¾àÇ2¦:ÛÞˆþ«ÿ‹øG.ÎnÙ ðØJ¥© | úU…ÕÏpD„–T ªT'I]L#C·*«Á°s,)ý|;x”Ó&xuL¯ 4ª"å‚;rË„¡ *=¾Rä<¹gXî0W%I$—µ˜r'½¢¼³Ùßx¼»äçû¯Ñ·9JR¢&%ƒä€m¤x]„ÙæÈ]C£Êd­AÔylRª¶ŸâOCòNÃ𠤨ƈRÜøÀ0[á^D¸gÞ4µ#,%Æn‚¬Ç÷õ·T©Šw¼Žn9–Ìö ¾ÞüÈ|óˆ½I¨M…9àÉŸòTNØw=j!Ó"1bM_ì?çL*„xìéJ=ž¥9¿H¾sc]ñ¤Îh]—ÏLë'Õ§ŽÐê’¬5Ù}®ØUºX0(w Ã-m‡ae”d` ,RÇÀ0Jt¿BoKt­"×tÔªf°> „5FPÓÛEœîV¼Ý}dXì8sﯳ1ò &xãÑL–•0”vd²I¡”èÔŽÂ`|À{ce%šÛÁ;…bbéÛbÈ£˜c™¢…¬ñdMùä_±6OH$W©\•f$Óv‚¼Òˆu‡D·‰ ‡½Ùcã ¬†‰ºBj[ÊÔ Úé”OåA"LÝ$qL‚A?1ƒ‚q°á*¼ÅÒrr×$pz¬Ýpj]£*5šUãK³“Gfþ3ýUªÐõŠÚÑ8ôHEÇ@Þ1Hv ‹-½õxl’Œ-bÍ"6LN¥gÕ=çÕçñ=–HŸ¸hŽ•IC½Q¹Ù\ñ°¹@¯KL?ÅòL+E· С£CË*¼:AmªF#l{,›®áê!²Ö¢h)u­r( šrH[*Ç$Z P;t­ÄªâÀC}®‘>¶T±Ê¾×ã¡Êý/ˆ]““a³á¯vÿÌ$X2èmô7˜RFd:G[ÉÇ J&¨}öuŸ]=`_8|Bzä'â›–º‘Xk#><¿£Že#æ‘3*¡2t6hN‰Z¬ëÿRýûºÿÿúî}4fÜksò”\Ô­L])Ç@X¦ÙËtI‡âfFö†³“úb‹EÊq³wÆÞñ„¢±9¦¾F¹ÇÍî»ÅˆË/¹¯ÏXvc”aÉeÿÍ@·ÿö2t5Å %)Į̈T…eÿ”Ãùˆü+ÑW齋ðÏ–øÃÛÎ Ÿ õ rŸ ðÉCᱨ'HTìÊÛhH²¶iîeºP@òÿû¥î…^xá…þ?ã×küîþ êV"/òR¡*k(¨5hT¨AH¾p6¸çëô¾n¿çÇ^ˆ¸D²ÏÓˆdâx£’Bì:Ük©Îóã)Š[)‘í û9¢¨hž[¶.á³Ëš`ën-ÒmC$kX=÷Èz&{ÊHÚ0Ò6\ÌïÍ7ÔŽDÖ3É|ƒPñØW¨e(%È%´®ÂíEôÄóþ=u.ó³òšòkå5ks€|ÚYƒÙ+°»-©k¨×ÙÚAéwt'1òI‹a䘟ŸM‚E‚ÛFxUD¯Ô‚œ;$³Ã2R’ÚæUüéhüâFVÑȱÜc©œòQ~ÇævÊÝÍ+¼Ûï6b>zà<¹ã"¾cœ˺ £ÀÐ d½¥‘dòÆ ì\¶Ý\ÑñüØ‘¹:Êi…(*Œ<Å+œÔ æþsÿñ(û‘m7bÓŽXg#®“wøÛ€ñrÅ|qÃx¹brX1–L¢fœ“ú&+Ì/'où±ø‚]ÓãDZ.ì>–‹¯±æ„}¶ y ‹YIéÈT“T6id˜ÊL«'úÙ3O‘ò†8w¸+/ø¹ü‚Å;ÚLâ]ó/ÚŸQ› Í(Èϯ{gö ]Ý(Ñý]+н‘€’T ö{†ÉŽ“xÏyôDýLù­E÷s¤³š'gBׇòD¥ \3¦ÇúŽVÈ´’ ¶UFÓ-~c©%ÚLÐ]¨S“ÈôÙ–Ct© ³ Q-6ÖcaNYšcÉ¢Ô4*W¡F¢Ñy£±Ñ,´ mÊAói a4L”gÆÕ9mQ¶òC%>i—|²/ùÔ¿b™Nè2ö]ÆänÍÛ»˜ÃœèÊc}5Âò„Ûa+)–b÷SFÒ†sûŽ3ûžsí¹mè ™ÈóX O‘›†I¼ä]üwÉ^§Y',Ô1Ëþ˜…>æ¬~àUyËëü¯ò¬.=†‡ˆY´‘ÇbuÊÝò”çÕ) #±fä¬Zk½Nã¶1Nc$ZÕÐT:qÙc]OiÅm°ÜYmÈ*‹(öˆbŸ(öQÔ× qœG ±ËcŸ£ß¨׸s)4ƒçd†úT£{Ö8Æǘ' FQ‘¸ço¤ßãÉ=íïh4™•>a­‘mÐìÃ.°»ä³ñÔ7Ùƒ~ZÒ52²Ñ` r,5û“ñ³IpÛ¿ é¥!ƒ4@ik„ –™007äÁ¸X3Ž7 ÷ËŠVU‰ÔKõ”OÊ[¤›ùSƒ|Ó ß´üÕö_h™q¼fèöH½©×"z.“·&Q{œøeªÁ ·#rm²©ŽÑ¤HmÞ%xíž“nÉñ3_‰ùZú‘¯Ä{þ%ûkþ)ÿ[®³w|—ýŽ×O9ý´äÍÇ[þöã?p¬Ñª µ(oe¡Ø0’6œH+Å'Ip·)îc‚v]ó÷ößA–Ó QêÒ.dìS¦XñöÑ.+Öå ÞëUŠä´ôìýö@¯Ý3cÁ•ü‰+é†+éRÕ‘ w†9ÌPÚšq±â›äþãÃßó7Ëßó‹öš_ú¯¸®^£é9—íïªk¾ˆ?ðeð f“!$@t n‚+~~Ã?<ýÅç¹ábzùuËYïžÓtšÔ ²Nš å-u¡å>«b†ÖH:ªô8ñ»sF=€`nsÙ>p¹¿çbÏtµâQšòhÎxêÍxdÊs}Ês6ç9<ªˆtÚX:*’vƒ2©ÇÕÑø:¶ÿ8`ótB÷{#Ê™þÝ3Sû‰ÉÏx—ËpÆ"œ± g¬åÉÑôµŸÕ®gjŠ!¥¤´­8&ƒf"ކïùÏRzÎ0bt¹a^£±e2xf2zæêË[L7C–k”ÏJ±Ø2ü“ZŸhà]ú”º‹’6Œ&oÇŸøvô¯\Ù×üAùš† u‡9Y¬³Ë{䵯¾ëQ”Yh“­mšùxxisxá…^xáWÌ¯Öø5–L3Ó¡h è h Pˆã™ ð ²¾ÉÞîó¬ÎøÈkÖÚˆÂÑÐô‚·¦²u„Û!üÑï¨#…2Ö)C4¶Ñ]™Û0•UdXtEG~‰6 HÈÇHt4‰“¦0!²`k’XIß"SLrG'Q,ÂÖcߨäcUŸZ¨HZƒãFô-uÃHYs¢¬qEˆWD˜eŽ’´´Jbû¬ì)7v„lvÜï/Ø—JMC³¥êT’Øe·®(„I\g„u†YeÔŽ)JzRD#$4½AÖ+T½BÓ ªZ!–ªNg[žÐ2×ò[6ʈÚT°­£_`D9fšaæ9=ë@#+,ó)ßoþ‚¾´ÃÒRl?ÁÒrUC©*zÁ³è‰RR™J+zRˆ!Ž"ÑÈ*¥¦SHd#)ñÓIºæ¬}b×Þ´}’Ö岸åUqüxdR®pEDå(”ªJ¢™DcqÒá™!gõN”àRv NÉ„ÍBi&a)Z^ã)ÍZ£ÞhôôsÃÀÜ2°6ÌÅ#³v×…(rƒbUØ$ôÕSã‰Ì1icXÅ#~H¾b-È=ÜÔèqLc”*4©D¥:–n[%ª[!÷*ä´F–ZDÝ!%-RÒ¡¤%M)hZ‰JR¨%³É0Û «Ji:µn°›Œ^P —û;N[ì}†ƒ,·¨Æ±wÑs¬,ÆÎ8Ù/[Ñ™2¾«S¹•«3•— •-’Ô)u«ðÔθ¯Î¸-®H*%¯ä;ì<¦nà^&Ëu2צ¾ÔH\³Ê¸XÞS½WùæÃ{.?Ýrr¿ÂZÄhv|¨!‚6U¨ ¢1H[¥iH»ˆVRP¥GJQë;KÑ뙆V‘È4ó¸×>eàîX['d†…¤µ¸rˆÔ¶$¹ÍsxJ·Uè5žâÊžâå!£néñÌÅàWïÑëšÜ0dŸ^R¥*ìA DÕA%hJ…ªÒf‡áøMÀ˜2‡nH× ²ÖB/ ô°dÐ8Ë©W*ÅÖ&L¨uE#dt¹ÀVbzÚžžv@¦&­LVɘôàð¤Myj§<'Sž6SVÅQëbÌ.R§Êqê–e6)F?•\;@k p$„%!¡¦ V¡HY¬ IDAT­+Êa#hk«J™T+œ2%Ì<¢Ì%L«;  iѵ ­WÒV2y\!oÄskŽ“1 p’ß¡š5†TàÔ)½<¢‘T@‘L‘åaáåQæñ|7çù~ÆòqÂêé„Zȃ õ¤D;”T]„¡gz†¬7hr‰C €NEÆFªéd…\µé4™VU¨TBÑÈ?O+kÚV†ZÐÔ E­ÓÕ‚ªQѵ’ÞàÀô|…þU‰¶Ü?ì€Á¿ÓUï…^xá…þmüj³þs awîäÏÛ;%ð8•a&hçÛ7C®'o)…#öò€6@’N•:!õÉi‘‡ Ù³E÷=Â[ a¶(Z…>(°‹EIHhP©(A˜ š › ™``h 4(ˆYb²+†<ÔgØ]È¡ísS¾â¡º`QÎik O ;k<#ä´}äø…±ÂäâxCõ,àI¢Ùkì'|ê7$}—§þ9;úì¥ÅXÅÈRC!kìÓñƒVT¨I‰–׃ñˆ<ìpF1'Ã%²[R¨¹¦“J&Ñ#6™d“)6©ê°w{ìú=äAÅYÿ–‘±åÄÙpâo 7ˆj¡p/ι‰_ѳwL›gfÊSçY¯1ã”yüˆ…P †Ê–¡²ÅW"„­©›¡Ùg« 7=²­M³Q‘702·|a}À²rάG†bǹrÏÌ|FsKªžB<°I†ñÀ&¸˜½„×ý ÚÑÁ#¯tòÊæûê[ 4W¢ñ$d·ej?c%9ÖªÀ¼-°ns,c+1¶’`+1}çÀÀßÓ÷¿ÂÒæÚ=…/cµ!‡ªl³»ìoÑDI²ep²£oî±B¡F¦A¦9vàÙʨ¤U!ó5”§æh*3E‹—ô‚ißboRšZBåÑ@Š’¶•ðò„q¾%)lÚDb¸Ý1Üî°¶)Ä ]VX"ÅwC†ú–éê‘ÙÝ-³»[NïîPÆâRA\©ˆ+ËÌðD„*•lEŸ°ôyÈÎxLÎyL.(BávC³‘жf°”NYŠS–§l.§È¢F¡æË§ŸùæéNŸ™ß?0Ú­ ¬©*‰*S)c"4Iðh ¼t‹¢“«2åTµ+P’9é%4ÌRŸðCï"\>º¯iO¡é  ‘“V&·é%áòfÍ3Wò ¯”OhJ‰#b.Œ;Ĥct²aoõ¨'õP¢ÖykPæu¨Ðn%Øðç-ŸeTGÓ7iW\twH©ÏRI‘µ£*„{æá_pM¹ÕH·.ÛrŒfVÔ–BÏ:0×ùRü̼y ª=Vå˜ëâqâqxò9l=‚kŸƒîÉ¡â‘Ê6­"ŽUŸùŸ¥iýüÀ¤zbÒ=ÓS˜~9+°^t¶ÄNî³[ôØ¥C²ŸMúÖ©¹b`ý„§GÜl®ø´yÅÍæŠdc#½iQëÃΰ§ ¢èÈ eY#nºc:©úù¸!ˆ±@žv¨V‹^טI§Æ4µÂ9w‘Æz7a±;ån{IpÝ#¼ñI-ºäºÁÎÐè2‘äáøý~/0å Ÿ€[dâÎãSý¹èHS—0ñˆ]‡uyÂ]sI…Âgì‘a m×Ñ´uÓAgÏüâ‰3é‰ùè 3Ëùßþ÷g^Œß /¼ð ¿V~ÅÆøÏlºcS#ÁV9†ºø œJðNо‘ØN‡”S™¥3â'ñ]:F¸kJɬ{@Õk·Fij”¦9Â?Ìh鵤¶¨ƒý¼À*ST%&¢B¥@"Q‚*a‚m€ÝC:NK "ÈRƒ]1࡞#Q4}ÊsósÙ)¶ˆ9QלڼҮ9÷œ¶ ÆÍ£Í¨BŸ$øïí­Ên:":»Ëµ§bÕ)ÃfYç${›ï³ßðCö¾Ï~Ã}sÆp¼fÔ®j+ÆÖšI¼a²^3¹Y3~¿A«Jä¶Fik”®F›–h—%ÚU‰jרNÂ\À2"Îô[ž™r]¼áº|ÃÇâ igòç{~cÏÄZ0çñOü‚‰aP;Úd3 M­éRXuÈågã†Øû”ÑvGWƒ$µHr‹$µP êX9*RèBÐ×%úºD[ TQa¹ÞiÀPß2 ¸üø‹ú‰Ëßÿ„ýºBû„®IèS‰ÊÐÉ…A&Lv¢Ï¢<å1?çaÎãöœf!q~{K}+£ÝåABøÆá—×oøÃÕïøpö_?¾çë‡÷|ùø¯~À<$è‡=HeMUJ”™BäERûä‰C”6ÈIƒÜ .õ2Ã]F•Zä¢C*:DÑQ· KcBÔw¹±®°«„ÁlÍp°f`®²&¨ûì²¶á Ûí ošüú{4µd¦>ãY!—î-'Κ¯ÜÙ»=žÉQÆøÏÆ/Rh7,øS­æ¥—9~0n—\pO-4–ò SÉÔ=/è'Îâ'¾H®):›í„ûêÍ,© ß8ÓøRüļyàûú·|,ßñ}þ[~N¾¢Úª”™J•–wTí©t¾t4¡ÕgÕ ›%½|ϼ~äU{ÍL}fàN Ò¥®ó¯Ñ·üáù[®?¼ã¹šáN¿c:]òíô;¾ýÌïƒ~[ß:ÜÞ]"g š]aNsì&†R%ò²FÜvPS`$ŽëT M@±[´¦ÁŒK„¡u%¶”`J)ëxB¾´XÜÏùñþ7Tw*Õ½Bõ¨Ò­;rÅ ÑbÙcÕÎè'[&Å3•¬ 9 ºžÓ'`Ä–[²ÎFª;’Âa‘ž²OúĹú:Am b,ž™³eD†C‡L÷ÙøQwÿ{oòb]zÝk>ïîû½OßDóÅ×g*3•VcûVQ·Ì ŒÇžƒ{`<ÐÀÿ€1F# ¬MŒ‹šTÙ.¹dYRö™ñuÑÇéûÝw58ŸRu·êŠ„x`ñ{pNìx÷ûÛk­ß¢*–rïÞïv>àWž¾‡_nø?ÿ¯)ðÖ/ç™wÇwÜqÇÿ|a…Ÿæ'ØOæÔ A ŠD±”(eM œ´‚š’™ ‡•5.nµÅ-¶xå½H‘Š)E޾ñò•,¡š¨¯^¡Ç)åB¡JMÊRFØuXa&)ª¡Ø Š-­’Lèd’F–ê¤SÄ1Yº T7£påý&ë3Ë;l²©®É$•JªRN-JB ¦¢EŽJêl%+èNÊ3âÈ$Yš,êI¦cûC”i„˜^ˆšç(y…QfÔUL^ª¤¥NZhd…βj² –rƒ¥ ´’YÙfRôUFqŸYÑa-ûÄ–EáËÈA‰Ýñ› ‚Ö‚¾¸¥§èZ#ºÁ˜Éu—ɶóÝcšë9îfMo{K¾S©(æ b,àJ¦Üª¤®‰ð*„Wj»ÄEÈ5>[†ñ-íÙo²Eeˆ°äÃIª%•&ÈLÔ6ظ.Ó¨Ã&pYô|–G>Ë>ª‘3œŽhÏæ g#Ê•Ê*jr Çu-A%Qk|D]#%rV &9æ.ƈbŒx¿JI¶€ÞÞò¿¶j+ǰ" L٥ʛÜá&ï³­\†Ò ¹¤¢—)A´¦ Y¦rYý¹ˆ«+¤º¦6¡ò jªŽ ´d2W!ÓuR¡Q×R]"W’(‘óy]`LcäiÅc¦´™H¶Â¡DF«S¤ªB/S”²@äP–2©®6MÖ.ËÇûy‘zœÐZθ'ÎÈT…ØÖYÒ V{Œ¬>i¡c,"g·¨fAR˜Ä…I˜;û }Ýd.µ™)•$a«;ܲ•Äkñ%dÈsYT˜qLc±¦Ç„|b2šêL]^l#*8ЮÙè…¦ Éš™°¢AžËÌ¢qa³*}Zá’]æck B­Ð”GÝÒTæØF„$—䵯6÷K‡“BQ¨u(wY¤Í,¶j'¡ iÅQpIêiô#\{‹¬”B¦Pd C¡° WA”5ú.C3XB\™Ä²Ib@Qí?‡©Æ˜JŒYÇ´¬]eŠS…(i’@Rk$¿BéÔBB™ÈU‰Uˆ¬Ú‹íU‰*¨YŽ2+6"©¡äúý>Gª?ÿ Ôû÷QÊ5±¤±ÂcB¿^#•RV`#Qa% "«I Må£Ë –a¸ z3!µ bÙ"ÎM¶[b##y"¬ñÞ¤G- ¬2Á-v”‘Lµ“©s}ÿ¿%S¢%j^`i1¾¿!ΨK™\•)B™âFArj,=¦ÑZ0ÞÐVnýÿ|ÝqÇwÜqÇ„/¬ðó•5¬ÏÈ|íÃ6tØà÷ KÈs8+á¶D}’b– –•b¤¤&ßj,wM6ÛÒ¦@^Hëýª'fsÒ{‰ÙH¨5‰°±·#X^´ˆ•4+)ú¦Q ½]âê[<}«WX ̧fÓói›Ù´CZ¬Ëu*G±e²•}"Å¡Tö=QÓUiuL¸’8/ûØV†eåXV†*jÒRÅꇼkü”ÇO¹Î¹Ê¹É¸™P*鯠¾äÏUZÆ‚–1¡eÌhÎ »³°Ã4ì0 ÛèvD9”ØtFFŸmérq•q³Œ˜IB_ó 8ǰR¤Vp $­@¢@Õ3"ÇàVô‰ “—ñ ãi—måRìdd©Ä¸Ép†´F£`~Ûav³ÿn¢ÂFñrd7GäЄ¸°pÊ-ïnÊ—²y°|Éýèíz†ÐkJK"÷Š@¦hËÌ´£¼Ï80Júì\‡ÔTIU…TRñÓ Ê¼Æ9è¼Z`ކù obç!ÔgdšBæ+d‰Â¥8di4¹lÜÃDØQÄ`rÃpvÅ0½b_¡f9 @—Àì\‹‰Öfªv˜HmnÄpow_›è"E.KÜ|‹Æy†ZV$†ÆÎ°Ù[ÙÆ‰Cìm„³ 1·)ò¶DÒ+ê{7%6¦Ë´ÙfÖè0k´) ]$RŠ!Œu„Yl0ÌW[Œq„¦ƒf€Öa×8G[í¹)£‘ÐÓ¯éy·t;[f T½FÍʪ¦’bÓbm6K=VJ€bçô«|m…feûçØÃô‰Á2n!Ž­Ã†Ï°ˆ“ÁK|iAéÃì°É|Ýd²é2^w˜l:IJI&47×´æN‡÷€[÷ïÌÑX¸M.œ#á÷yi>`v¿M}"(Ëd'qÓd';D¦EÚ1ÈOê­Ø÷\‹¢Î ÒmÉŸSï!LÌ6íjF+›ÑŽgûÑeŒã†¸GüÆ‚^L÷hBo6¡731{\9‡\9G\9Gd†ÎÒšdm²Þ6Gœ‡k¼hßßzYs]6M)#ðiW<->å^tÎÌî0}Ðf¦v˜¶Y˜MVƒÅ¼ÉâG ’¶Åº0ét¹ì²Q]b1ån’ßwÜqÇ_T¾ÐÂï±uJT[L†=$ umâ‘·%Œr¸Jë¥J0í·ã“'6ñÒ"žÚÄ nkĨ@Ü–ˆ›‚¾?âÁÉ''¯¸òŠJWx±yÄ‹õ#®.Ž™—M/DDOCLgGW^Ó“—tåjËÙGy•=$¿T™_´I3ƒu*ˆ#‹å¶IÑPÈ<ÌÕ(=™d©3}Õ"|)1z墧)jKBiK¨- ·qÏ>ã^ïŒ7~„¯¬øàú]Œëw‰oLn&”k…ôVP(*’jÒ?š0¸wË'óÆÑ'¬”€—ù^ä©ó UÍ(ÁÆv}ä²ä,¹Ïùæ>gëûÄ‘Ãé3(ç< N9VÎÙ9Ö>4‹BƒÈ5‰ ƒ[¯ÇÅò„‘ÑcS9”;9+1ŒW iæk°œ·ødö%>š¿ÍX颓 ¹ Ú0ÁîíÎG ·<Ùž2XŒñWk¼xƒ_­ZMiÉä®BÒÐHÛ·jO³7ø4ùŸÅoÚ6²™¡¨²”ÓF8óöÙ‚ü•ÆåŠ!7Ø„Ü㜹ÕäÜ=æ¬{ÄYzÌ%‡`JЩ2ToHñVúÕ¼ ˆÇ˜iµšDíJl›‰Üá\¾Ç™t1=VR@¬š{ã‰"ÄK¶ØQ„¹ËP“’ÂSÙº¹ÍLoщgˆÅ{’bL3„VQÛP5…%±2.õ^x©? Ut<¶8b‹'v¸Å¿ã-$üW)îu„uÖ!H=Ð+ÜÁ–~{„j%4Ä__¸+üöÿ Fm‚¤ƒTÔÈ+öæ¥ÅJ k=BÅÁ²CúÚ Ë°[!Îp‹‡d‰Éª.4²SÒ·oi øÁ’òfQ“³å Ïx1ÄËÅ#‚Å‚£ù+ŽoÎ8Zœ±t[|xï]ĽšeÐ$su^ƒ ïáç, ·ÚÐ)G<¨ža§!R¾|Rò¼F¯Rô2A¯ô2%­-¦ p‘¨@g¿ûý,s•±7$y]&Y …æ0Ó;\ëÇŒÌAsE»1eظ¦éÏ¢À+†â’\D•îr˜Ô}Âî¶ÙÕ;Ù¡06²Ã«ü„ŦɳÉcåˆíŒûŒ“Áf?bÜë0ò;<7*}oJ¿žò†qJ»¹Ø ¾Ÿ¯¸ïðžÿ.™§qëôÔ—¼«¾Ç»Ú{D’É)OxÆc^l³®|Ô"GSrT?ÇtcëžÏ¦ïQõ$Ê¡Dv 5LTÙ!1M’ŽNq¢RÕÒÞÍsZÀ,…iJ²({âð„µìqm y>çQú7Üá¥!¦’`»!nc¯,8^Ÿñdýœ§ëg5i"r–¼Æõ×<î}ʽã3î/Èuå3^÷¸¨îQEÒ~s)Q ²VâwÖ •7NYÙ>u]“× E¥"Õ%aes(S…ëͣ̀٦K•*èVÎ@ñ¶õ!_¶Þg¢µ˜êm&R‹YÑ"”lBÃfgÚ„ÂfÞh¹˜`jV£o2¤QEÉ$Â`8 Ÿòoñ¯råàh[lwƒÓÚÐíNh%Kóoì>ãíÉG™LYÊ”ºÂ6p‰\ƒÈщLƒH7¸´yá<àÿ ÞOÞ%5tcƒ#opŠ-vnlâ…A:Ñ©F›C$´ÅŒŽ;!Û(L¢y®²-RÝ uM²¶IŠÅ4W#M—L’Pd‰JS¨ •ÒRØ«*`V¶˜ä=æu‹RRÐDFK,°ëf¹ÄN#Ô¨ e ¡‘“ä°ÆÇܤ8«˜l±£œ©T-Èš yW!ÈLô×ô¹‡¼â„G„Øb‡ÃŽÀ˜Ñ•d:yFµ[#¶{ë˜Â‘É ú™Ú8ö˜În‚Q§˜VŠÙN1ïUH6`³¿OwPi2‰b²1|æU›LSqÌ-MsÎk|Öÿ¡KQ&ÆF¦ÂcƒÍŽ i?²ÂÏ ¬ØU&ãe—W‹|¸ø2,ßåþ«çñ;Ýòèö”íÎ#l8¬ò&cõ€µP9°õnýµYq¯JéV#«K†ñ ú,G« ô(G[Ô™ Ju¶Ÿ1w£дøæÇÜ¡k)’^Qé©¡&u"¨C;Á6wåŸó°ˆ›pÙ4<€ÆQ@ŽŒNL› ‚‚‹ð>ó¨ÍUxÄytB)É¥BÈ%B©(u™µðØU.£d@&túÚÏ_óxpŠ3Ü’z gÆgõ}&yU}Ÿ#ÿ†#ë’7[ŸRÏ%*OP»•#‘8K¯ÁÈíã{+:æ”cý‚§ÆgüŠþS&I‡ñºGº6¸ZsU‚Æçá™kžxŸòØ iz3:Õ„Óì .o9žðâúñþ~¾Þ«N@´AjTÈæÞ˜HÓr,?¦(I«‚ªH©–U”"Õ9»­ÆUØe–´˜$ªH oSšÛ5všP5T+ÇiliÃK…Ïx;ü€wÃPwË]ƒ‹í=”mAXÛ¥BœYˆ¸ÞǪBšÕˆé^Í×&Tí}ϬÕÚ—÷wó ÷Š žf§´ì&­N“–Õ¤m5¨?„™Ãôª‡¸d²NÔqX¥Ñ!TLéå÷gÝwÜqÇwüÅ/Uøýà?à¯þê¯xùò%ív›ßùßá›ßü&UUññüÃ?üu]ó›¿ù›üÞïý’ôó!J.[îóŠeêÏ$–/5´Wœ ¸¬áØédJÔ}g6!ªQà6·ô“š•/¨5õÊzZãY[êÌUyäÌAÒ`yxΚwþ”ò3Ò¾JÖÑö%…¹ÎlÜ Ãrlaܼ8áúUŸMhS[bxúQ±wœí?^d8ùçpÓ] «)¢¡  4ÜFD£=§lKŒì•QÛÄ»¿â©þ V'd[ºì*—mé²­\ê6Œ»]>¬ßa=öQä’¬TiK¾^þ„4ÕI"“82¸ŒNÈk•ÚôÍ=kŒ„¼©~ʉú _]#¤³Lñã "©1EJ¨™DšE¨YDš‰ãGø':Õ”¡wµ‰©óš³ì„xc±ÃáT}ÂE㘰k£½á˜Cï’Cé‚ãô‚ûñÇÑÞvMJ¬Œ€E«ÉÜl°0„ŽM¨Y„k›ðÔbU7X宵áÍÃP”‚@_á'+‚ñŠV4£¯1ïElU‹ó‡G¬Ã€u°Š–R“QÐåÖî’ª:k,1Á”SL%ÅTSîûÏyÔÿŒƒb„¥Ô÷T¢¡ËÎw‡mê"m*úë ö&!) *C¦4$*CFS2ºùWÙ’xc³M’ëè‹”îx†“‡¨u±7*qºÌ­&‘a±Õv±ÃîÖ&QtrI£!mùŠxŸX6Ù*.;Ùa¬ YU´ Ì7CÚÚ±ˆ™[„¯# |å’`±¤1]”+Ô(GËs¤VIe²ßtˆªBÞ÷†V!69 *™égæ4TÔH¯§DÚ$˜ÄµA®±v)Î."Ø­ikœ"D“R„_[Œô>§Ý§H d£¦(÷¯p)¹®¡kº£‹½NÈJóâ„Q1ÄŠcÛ1ƒõˆÁbLo>!u5Ò¶Nâj¤®N¬k˜ÚŽí‚wt‹@[bëvšÁKý˜QÕ~m˜¢‘'*ÛÐ%\šôVc~}ù¯Dk Ï_avb¦Y—“y? ‡f£•rQ P”M¤hj‚f¤xÁ†ÆÁšF¶¦!¯èˆ)ýƒ[8¨9?8¢ô%N«Ç\®Ž™Î{,E“[ãßÜ¡)‰¥o-É"®÷ýn3Z„ªIϾá þ‰Ž1ÃWìT“OÕGL—óC–Ù¹ºÏl¿µ,¨tAUJ”’L¥IT–D틽ثÙ; ×ûýÊ;ÞptïŠ{ÅÇÆ¢€¤6I%“D1‰Ñ…¨©>RHj…Ü×ÈÖÙ5æk¼Ð”:̵=cÁ6!yFG™¢è9[lΕCn¢‹m@tmR^KHv…2ÌQ´ÅÉѼ ÃH0ü£›PQË$lš„–…kj*ŠJÕ2™.“é ™¬’¢Sx2õHUŽê&¨ù8Gn•Hj…Dý ³ï¸ãŽ;î¸ã‹Æ/MøýèG?â»ßý.ôGÄññ1ÿò/ÿŸþéŸòÍo~“¿ù›¿áââ‚ï}ï{TUÅw¾óþöoÿ–ßú­ßúüúŸ ?7 XÎTn^¨ïYðLµ v "£!>~®¹E¦B2*äFM=€*ÔT‘ K5ÒÌä*¿ÇóWo «MgNÓs28CrJFn±ÓelöX>óqÀòc éã6|Z°Ý¶Ùl:lvµù_~ ¿Ð«£99Áp³ïk9¸Ánn‘ d „!ÐÌßZSZ{á·Uò–Н®°Ú!÷ï¿dTõ×}ÆuQݧ&'‹k³ IDAT¢Çš€g“§ôò1‡Ù‡Ù5éÑÖâåâ/¹\Ü#Uuî_1¼ÍAóŠaï†>úŒñX#ê#O!¯1Š?ßÙ&‘m “H5üí“)Cÿšõ½€ðÖ!º²yuyç_bMÀ¬ÝfÞhvlôNJ¯;á ï”w¤÷y”<£¯h„Kü݆j'±tÎZǼêßãÕà„m챋v+—Ý‹n¥X^ˆëmè¹·¬h% Zñ‚æz‰•GHZ‰t\²;²™Äm®&Ç\O¸œ1IzT ¨l¨4ðY3ÆûP&ôÕ -oF³?£©Í±‚œ]ß&:p™ûm¦j›*‘1æýë '7—(iIíKû— ž„V!i%‰©3¡2.Ðö(B™”¬ÛëŽÇ¢ÝdÕöX”-fi›yÔa¾já‹ ‡ò‡Êò±jñLÌsÍc¤ ©j0Û!-}A}x YÄÜ>àÜ~Ĺó‰>àÉìOÏ1f‡³$·Dò*¤VEu¿†jß+G¶_«B"/U’ZßgYÉѨ¨Ðx=‡poAD |-þ 6µ&ÈÓ gÑ™,Ì5¶¢Ù)"( “ÛN))›–´ 0vë—¼c|‚ªçdªL®(dB&ÂdQµ¸Í‡,²6y¬óÖîcÞZŒ±ÌèΦd®Æ¶m³=qØÜwˆ5 S9/ÑäE)°ä¡lòR¹µ *,¢Â$.,˜ƒû"¤»ó`ý%*Yu=Ö[—iÞá÷°ˆ°ˆ° q1ë½ÊËòE*0¥[Ûb['+Wœ¸˜"&í¨dm•óÎ! ¥ÁÅü„‹å1ÓyŸuâsÓÝ¡u3*Ö–ÇRo°’›¬ê&˼‰'VøÚо}ÃÓàcd½@’j¶²ÉgÒcÆeŸ«ÅË—ùû*Äì³wC`µ$¨ AmKû¬º,S©µõú¾mðó—Ts@ÔxË GÅoñåöûèeJQ©”B¡PU6Í¢é1>sÉcúÌ&ó±Gxê±M ŠÁù Å‹Áü^ŠS¯qØàÔzŒpä-Š‘³Ql.ônÇ?~ÕÇR«Ü;wct'Ævvøþ~£—®¡ÌŒ3½Ei€¤TÔ¢¦ !‘K™üZô)Ú^øù2õQì¨G)ª•¢9’_ ”Ÿ;ðÞqÇwÜqÇ•_šðûë¿þk~ÿ÷Ÿ‡ðo|ƒo|ãüã?þ#üÇLì»)~÷w—?û³?û¯ ?3kp;Óñ^Zh?uàCƒ} ¥µ†Äúságâ˜;3Ä®Ãχþ–ÈTµD…ÄíhÈ‹ç¹|~ÌË³ÇØRÈWýˆ“Á+ÞyøS‚î’Ox™§l„ËhÝ%YD+Dÿ‡BôCe?ÚÁ0© ,~.øœ×kÄþ0õrúANÐÙrp8åä?_Ð8^ S"‰jß“dhdhŒE—A»=£ÕšÓfFƒ%/ë¼ä:‚Õ¼ÉxÚe3 ØL¾´û/iÅòõø'ìfáÇéõ›\Þœ;½lL¿1âkÆ¿ñFïô¼@ÏrôQÞâl~ÂÇ›·YÔ-ꎀ&ÔÞpCÏœðÔ<å?I?äíôCD\CbW“ïT–JÀyë˜÷¾ÃOŸ~™ÍeÀöÌg{ë³= 8jŸóTý„^ÿ†§‡Ÿr_ÓÏè®ftG30ë7™õÌzM®å>yù&Ÿœ½Å§/ßâzqH;˜Ð¶Ç´Õ ÆÜ¼!Æ›Ê)o¨§È^‰Ðj@ k¶ pà1÷;\)‡èaÊÑìšþù„£Ó+‚h] u²¶Æ¼Ñ`n6˜{ ¶šM{¼ÄY,i=_ÒütÅ‹/Ýgn5tyñà„›õ7“CnV‡ÜLy\>ÇQcÞÑ>æ«ÊûD†ÅÎôya=adšíΜ{‡7Ô†‹PCæå!Ÿ•oñïÅ×xž>f3õЇϯqžÇÔkª'Pµ zÄ -A, ^¾~•Jò:ãW"‘¡Q#íËüÈ0‰1H0I±H0X×Íp…4«q.b:g Ý5ö Dwö¿È2éBÍf¤ xX¼äWâ÷9Š/ù•è|±f¡,dŸ…p]•CÎóû|œ¾Ã$îî\ôuÆpq sHï«ìÚ6ó§ó¯7É4“$ô¹&Æ$Æd‡Å”&;6xŸ‡{»ãÝí<|õ‚/¯>¢9]òÞáÛ|°}‹Óì/¸Ï€[úŒ0‰ÿCÆ/E.JDªšcŠO]˜ îÉg¼­|Ä;ÞǼÓÿˆZN½Gœº9óŽ8OOÏŒ–&¯zDK=K©uˆÛ:³ÍH2’†Œë£|È»ü„¯¨ÿÎûc¾üˆ­æpˆÜ2à¶2šï…_öcm¿ï¬ØgþdÀ‚ÚTž´Ïø ‰R“¨,>{á÷yOa ð’-ÇÆït>æzð\±Ýg%@¥pÕpý:.æ}äîBþC“ÙÇüí¼í"L½'ñ&óFý=nyÌ)¹¢P( [ÝaAÀè±ØDW{á'KÔnŠY„XÎŽFwA‡)¦´™QW½<¢,aWXäµ JM% EÉ2 )*))…§P» ¨u‚J†,rdi¿߉¾;î¸ãŽ;¾èüÒ„ßéé)?øÁø“?ùÒ4åË_þ2ðÀÁÁWWWþ»'''\^^þÂõ×£Cþ·þ5V+‡ÓÑ!WÒ»á!Èm„f#t¡×ÈvNõ¶ y¤³mºÌi•GìÐI‰V›…ÃzᲞ»$;5NxP¾à°w‹eE z×X~ÄFóÙf6£y—é¢Árn³›©£½Mºñ¥­] jжAÕª&‘h&±f’¨ñÆÄM·4­­áœ¦±Àôv(ÄÈ1·ÿ0é:OBr’'![ºš¢«¯KǤŒpg“ìLF»!RT±²VŽOÎG‹À¾†@$ZÆ{·ãVðOÒfù|h½Í¥uDhÙHr‰W¨³ãU†Uf(e‰Z–HE½ïMŒ÷!âb³ýá¿VA²*vµÃ2k2ÊÜf®VÇ\Š{ÌmÒû:†œœ,i,ö‡µ`FG³‘]~\~…›rH`-iô4ä%vw‡yÑŒxìÈRÎMyÈmzÈM(±[û(E‰]E´·K†£ƒbB°Ü`¯"”eAmT5Gwöî–á;¼Á_, »&­Þ”N{Bϼ¥ËY-˜ÛM>©Ÿ2Vºë5+‚tM®HƒeÒà:9àYò˜º’¸5xÕ˜ÓÎiï´Ô9ÍxAëvŽ6KPŒUß¡ëÊ)IX3=V]‡ çˆñq—ñA‡gƒ,ðã%ê$£ójÄãs\_ñ†õ}ûʑ܊ãà‚w럢(9qmðpþ'ÑsühŽV…4ƒ ÇÁ+’@Ç3·4­9[ßåÃÎ;,£6 uNcµ ñlAs6§Ð$ Y%—5ò–ÊÔn²ñRS jÄ^Ðá3¡K…„²ï$D¡¤¨n‹£bÈm1`‘µ0ò‚@Ý’øBÓXò¨xA:ÓqÂK+ 6M"Ë"2]–J‹eÝdEÀÊðPDF%ÀHSÅŠ¼Ö¹Î·Xy‚œ—”•L({§IU'T÷Ú Ã×·(»’H7‰“HÞ¯²(0‰ÑÈpÙÒÈWd±Fëd±Ž3¹_ž1h±ß á°¦¨DÂa}Û`)µiY+T³$°6š·,’.·Ñc›"Ö5E¦’”Û¢¤ÊdVÅ‚(rÈBm/°• )/‘«¹®°”çŠnkFž<#·U*UP/!ùÌâòòi½Ý„A1Aò~Êñ‚ÛgÜ¿:§¹[QÛ†¢Ø%µ-Pœàx‰ô+®º¥Le´A†>HÑú^gÃÅP¹æ ½Æ.wlEƒ™ßG?Êö›í˜ýÜB]ì먚ڬ©ÔšJ©©k² 6 Â`®4¹Žy6}ÄåfÀÄðØÜw©Jm£SiÔ‡ U_¦Ð%V‹ëEQ ˘ª©S55ª–FÕÔ˜ú=6÷<ê¸Æ5×è­„æÓÍþœ¦>Ã›×Æû@À‘¸$`͉8§ÌÚóÙÖäãÍ;ÜìŽXã³®}6x¬ñY5|6 ¹QÑj̱äRÈ,i|þ’#äÃÿ>È;î¸ãŽ;îøÿ_šðK’„F£Á÷¿ÿ}êºæïþîïøÎw¾ÃŸÿùŸÿ¿ºþztÈÿúO¿IœëLbŸ©°;òaà"<ÉS\ýŒrñPgÓò¢B}ù«¨d+›Õ —«g®OûèRN¿µà¨uM¯?Çj%T­šÊƒ¥°Ml®oúLž5XžÚìnU·BñJ´· T·Ä’SL9ÃRR,9cµi²XµX¬[¤+¿XóÀ~ÉcëON)©Ñàö¬ÁõYƒë µ}¨èÝ’¶9¡cMi‹CNX¯6£€õ8`3ñ‘ûR¿@î—¸öOÝâÛ|¶Ú†ÌÐÙê.×ÊÏÄSfq›‘Ýgd÷ m¯Þ 'ê´DY osäúgsåª}ÉWʾL5݇D…ª`ÕÈAA•),v^îñiø%FË>+,M²‡޾ã`xÉÃá vŸã{+¢Âf]zÜCDQóÀzÁÃÁsî7_rXĘÁŽƒê&´™rZnÓš0rm†hÛwÒº]2´ÆôË fœ`$)J\Rø2Š[ µRÌ"ÆVv¸Þ^ô5ìiªÐqÇôÜ[Ö-=1"×4fu‹[¥OajqÉýäœÎqÓil°Œ\'‡<‹U6¶ã4#œ:¢·žðdwÊãÝ3´iF;ŽË­½ÌÐEDÒ Xuâ^@Üñ‰a`ùˆš \ЛÜ`¼HÐÞOèÖ3ƒýÆÝOPÛÇõš’1°Fd¹Bp9¡q5Å¿š£D ­Gcî?R1¥ôý1¹m°m¸¼wø÷òWy”=ãñê&Ïhä+ʶL8°»–ÍÔm±1\C¹þá7¦GŒùºÃoi­3Í{L’Ó¤Ç:ò}mBÜ4A‡Fºäqòw¶ã$9çÂ<æ•sŸ3÷„¥Ófi·XþÌZß Ð¤)«Ñ³ #K© … Þ`U1JUBE “j q_'Œ *W »)Š–ãnv¬ ɨ(t•P–E…F„B‰BœU{WÐE¼¨1· ­bA³½Ä²#Š\%Su"ì½ð[´ÈÚWh­’F{árÃ(9À_ ¿UMž¨Ä¹M™É$©É²š³K<ÒÄ Jdd=G˜5RQ!×¶Òw¦8WŠ\¸Š¸Zry}À4ép¨]1Ю9Ô®9ô¯h‹íÍ”ÖvFãzCÚ4Ñ;r·47%8YàkÊ­Èq½ ®·Åu·øÖ𦴤!­h$K¤ªf&ú\ûkt‘‚Ç> ^¿Ô ¨âÇ‹¯±ÈÛ( ™2P°ìˆƒö5owÞçëb;Þ¾Â{ñ÷Ó¯0-:|Íú7ò¦„­oèéטJHONiÉS ¡ 5Qê0‡H›5ÎqêV½dȈN5ý|ºTW”= ¥] 3Ì<ÆQv¸Þß^tæäµL[Ó“F äzŒ¹V¹Uú\[‡\W¼•~B¹Rp9J®IT}Ÿñ‹‡o0z¿FùÐ@þOJa"ûÊÕ/Q¬õ0Ç-Öt¥Gê9÷ÕWÜW_aaca!SÒa_ßf¹àßÇ_gòé€ò~ô6u-QÕ‚ª–hüê‚F5'ðç4îϹú_~Ìä?¥x-k»_ÂW¹ãŽ;î¸ãŽ/"¿4á÷¿ñ|ÿûßçÛßþ6Bþþïÿž§OŸð­o}‹ï~÷»üáþ!UUñ—ù—|ë[ßú…ëS xó/Pì³abÌ~„ÚÍIý1©¯‘z¹­å:¬e®’e¡5'³tjKB¶JРpU’–ÉîÀcëgìú.»®Ã®iQx s¥ÁHéqYqU˜é+ß'éÙPɸÄ^oN¿=§,©SA•HÔ©Ä*i°]{Ä“d¾k³Õ\’®NH§BÕ2,"5S:ÔÈÌ乪â!‡Ö¾»Ù;û%@í|ÆýæKÍ¢Y³smj!ö:I@-PwJ˜£jQP—‚ªÞz”B"Í5¢­Énê°¹ ØVîþàø:©À*cüxMg=ÃM¶4Ên¹EWb‘£P $rR"‰šÚÉLÄ4ˆƒÊ”°š!½á-“Sî¯_0Œ®iFs¬0v†ÃÿÍÞ›ìH’egšß‘+³è<Úèæî9ÌB‘ °€^±_€_ —ÙK¾ߨم.Ž9DFDz„æ6›é¬*ópo/Ô3 …F¯H0€}À] fª*¦"¿œsþ“º™ëSŽ-š±ØW)lZ£•A]KÊÊ¡P.ʲ0¥Â1Š}»˜±_‘²#b‹ïígÒ¬vèk\?§,9v.ùÔìqo­É<ŸLäžOnÙ̪>ï›S½cî´Éb½W©2YOØL'lmжM$„»„ MÓÿn‡]W]ÙóYY ­:¦™) ªHRJÓ£¶ t¯†I^WTm“õ¨ÏÆï³¡Ï2rË÷ΘY§ÏÂìr]Où®y†¯b UcŽjÊ®EY”ž…%Ý|I“›øEN£LBsGhÆDFŒeU–C. Ë!UÞ~‘üÝšðnN2÷t?àw–ènEÒq‘E•V8qá7¸·œÌ‚!«°kef× „ëÇ,±tƒÐ %kа¿`×&ÑæÊ8"²¶h †ëƒÅ^þ|ѯÑchÆ¥kc×û]Š~–ÑÉ6ÈMC=³Y.|v6–jhÕû‰¿ÈÚ(Ë@ “I©ì}[3]îň+ó¥Ó%lÌNE¤6ø2Fº%¶[!½ŠiqM/_¤ æ®O#*LÕ ¤†ÇÂìcZÓR\‹Cæjȶj‘åî>XÇ1‘”XV¹·%U•5˜¦Â0ôþF€Æ4(=‰ö ÆDÀVS/-²Ï2Of4j¤ÙPX.çÆ)3cH*üý—mˆ?~O4°„ܸ‡¼®>Å^´ª Ò©°œ iWÜZÔUÑc»k“èÙʱí££1ÛVQà—%»}hJo‹˜ì`•"Òšf,h"›ÜhÒ6wKdÅôœ%]sÉPÌè³À%§Á$ÑÕa­:lTS7(maê_d˜¢!­$ÛX²\H–?Êñ£‚ *ð£œÁtN¿óÀÀÑ×3¦ÿÇ”‡ÿý§<#Š1…r¨ßÿŸÿY§ÈGyä‘Gùçfüþöoÿ–¿ÿû¿ç¯ÿú¯©ëšŸüä'üÝßýõWÅr¹äoþæoø‹¿ø þò/ÿò}ƒ–ôŒïÞãRfÖ€¹2SC²8€•I³’Tk—bU“Cª‰‹š˜˜®ÂliŒSP¢cSø!‹ãÇ' Ëi¸Ç\pÌE}Ľ1"xÄ/}JßÃZkúÇ[ž_òÒ˓Ⓕ唛å”ÛÅ·« ÛûÛû6É*@¯Í;ã)¥esçL½5ÂÍé$ü×Ï¿d[^p¡?áƒn¸X‡l×=Ö¢ƒ!©ð ˜8Ù!jÑÙš°¿%èÅø­Od¤* ©[œ—OÑ……Q)¤®9°n8õ.‘þþb¾NŽhFšE§³¿Û-,ja¡A0O æ)¡H‘EM# *iQ~TÖ¸”±Mý`¢?|ü¬ZÿS0…•)ìMƒçtÝ c÷ŽïßH8\_1Ø,h­cì¤f;tY z̆fnŸuÔÅ:¨8´/ 1Ç‹+NçtKä¢"“÷½÷Ýw½1ÕÀ"Å{y;”2)2‡$ ÙÄ=Vå€A°¤ DŽUÐa½ßAGA—§Î%ãÖQ¹Ã ¡ínyÒ~U {îädÌé3=DÛ©éð.zÂfî^Q•ŠºPÔ¥¦Ž%IèÙx:£·]Ñ¿[2¸[0¸]’”k+äâùõYDkµbòpÅôášÉÃ5††í¨Ç¶°uÔçYФ8‡ *ÜŒ¹sks»;b^ïSH“ÈÇò 62ämë ùXru:¥;\Ñ:\ÓêohË bƒ¿Ì™®f”KQk;Çq \§ÀpJ_R’ʷȵÍzî±yç²ùÖ#9—œ>»gøôËOÙ†!NQâ”¶*q EàÆt®I».v'îJŽ7ß_2YÏh1¢¯Ñ=AÖsØiåRÖ’¦Ú§Q.êoÒç$eȵqÄ'—oxvù.5íË%õ©Aõ‰E!mò¾ƒQ(Œ™Æ›´æ ÅÎe–¸É¸®À€³æ=gÅ{ž$çX²Þ/w7÷ß= ƒmqãOùÖý!+>„'lD„ðjz¶QʘHîeÌÙæÇéºÙ9/ÑŽØ·z¶÷íž•¶¹USîëD)(K—K}Ì¥uÌÊíB$(Ú6»nÀbØåv<"tR|™X¦µ¯ò±_Po@…$ÃûØðh"RsYá¼/±ÏKì¤ÆœÔXÓkRS÷-.ô)—ꔕîì¿<öÏÛ6¬Z=ÞÊO(‡››Czí­Ö†VkMÛÚð FÌê!»2¢Î-Ðz_)¬¦hð¬|dä¸"Gœd2Ãeˆ—Û‘Énä±õ»ØE6+zöšç’ãœ@$˜4ÔX<0"S>ózÀ¢²¨­Y=¶f›Ä q¬”£ÇIÑdêžNwÅôÉ’ƒ³“'Kº+ºKº½–\Å'èµÉfÝ#_ÄUH½µ÷a]<òÈ#<òäfülÛæ¿ø¿øÅ/þ??3M“Ÿÿüçüüç?ÿÿ˜€ Kz‡ NÎyzü†vÅ»òD »²EØ4wãJ#>*}R–Ú50F ã÷Ưc™$—!‹Ö‹v-š›æ`/5e)ºÔ‹Ê·¨Ž,ü2¥ïïxê_òSÿ·|‘ï–?e{Ù!¾lóöê%ùÎ¥J$u,Q¥ÁFµ©„äÖšò•óŠãÖžO¿á¥ó/쯩ɯ¯jÔUÈâêålÄ&ï’å>³|„%Ƨ5æ§5ÆYCôbCàììßÞ¿¥ðPOx(§Üçª[>çk^ɯùÌû†n³úÞô!A› ¦ Í,zï“DK$ª6é]®Q†Ìk‚MŠ’¥%É-›\ÚäCµ“43s¿SÑúì h‘i,S!ÍÏÏé 6Œ÷lÛ‘½ápvÅ`6'úcß5”g˺υwÂùð;ªpì‚ÃÁ%OÏÞ0¾›qp}Gïj‰%+b·ÃýáñÝÁ3ÊždêÜ2uo™:5ª1)2—d±YuY¦âî-•v@ l¿¤Ã‡½ÌqÙs&­ÌäŠæ IDAT"±Ãð-kÙW1ôïùÔù†[k¹qÆ{ñ„÷âŒE0 ‹ÞŽNù]ñ Mi"höo„VXFEÛßÑö·´½¶t7+.ï8úöš£oo8œ2?pñä)ß½ }=ãÙ¯òM…±œa”ðpÖç¡>fæ<¡ìû´ƒ5íÃ| %\ˆg¼á%ßñ’Û§TÒ¤–&•g"eÁ¦‘žp•Oq²qêàiôŽgÑ[ZÖ†n²Æ]•xWîu]Ô~ƒ¨}µ<‚ºkPi“Z”l&Û÷Û_$_D…¢åiÌ#Å& š­2 CaÛ5¡·ã°s…ÝÉvn±5ýûýË%ýïVØ”/$¹´)¦6»žO–¹™ÜWš“y5Ü›>uŒß$l.:ð­¦ýzÅé·ï¨×¥eRlòÆÅÉ*Œ™Æ}_Òz³L]ærÄoåü›ücÇâgÍ¿ M?YеV{ãg°7~¶Á6jqãO1’Ôvؘ-6^„Q×ôš-±a  Œ9}cÁºãøa_™¶ç…m#:‘îÛ=+$K5`QYVÖUTûd¦Gêùèß¿^ÈbÐåv<¦ë¬éJS6x2ßß`‰ØWØÅ> ø÷µë„"uQ—êWÍ¿š°˜?©÷ÕÞ~!®Z$uDR·öí¿7~hÁš.·é¿MÌ0»gÒÜ0±n™7Ä:Ü¿"¢Ê,Ðbß^ ¡ðÍ„®±¢+W´ì-¦¬0Fæ‹ #¯¹ÃçN·Éµ Ž]즦ë¯91/øÜþþ>uE—¹p_O¹/§ÜSP°sZÄ" •.¡µáVôXi‹¼I1Ô=Ýî5§Ï¯øôO®yù'W´Ý--gKËݱÅMJÖ³—7gä7qÞÆÜZ0ù: >òÈ#<òÈ2Ðîÿ.>^„ài„¨e†±‰1ÔÑdÐTèTaÁš{à x oaôÀ>¨ ªŒ®µaÍ9qnÈÚ†©9 'Áp•°¨ô^¥²Q–‰Ý* ¢©+ÚÍ–Q¾$Ì2̹¦LÒK—øÒg}á3¿ h°Á0öj rïc @Ì *MZÑŠ®hl ÓRX²Æ±K\'ÇsRœªÀÑNY`ShÀWÐSˆƒOg„zGO­Õsò: Ö’%=ÎŰöIwZBàìèÊ%ÂRW#"M)lV6¯ÅZ·IJÓl0ÍË܇`$f€Â"Ñóz„¨„Ú·á Ýà~¬pË3ñ–…Ñ'“.¹ã‘y.ÂÓ( J$™ðÈð)…D™H…iU˜eµ®±n¬óÓV˜¡ÆìjŒl«$ð¢ &4w´í Ž‘¡(L›ÔsÉ=²#—ìÐ¥vMšÌ€Tc.j̬ÁÎJì¬DæR×( 2\¶´XÐGÖN]Ö V]ãT°2'À1s#£­vŒª{"v •e‘YHÌ€Ä ©¥E£,”-÷ó¨¶À” ¶nh³c¬ïé=§¯–ôšsÝÃ!Ç0SÚ.K¿‹×š"z)„óÖ1óð˜¹{Dã{d¾K‰ÂªjÒE@±¨ˆmIUX­ í•Ê}ÚlÒ ˜1Àµ2rF%-¤YV1í8¦µØÑ¾Ž‘eMÕµ¨µµ]µÀÝ6ˆ²­B ÑMû­&~¯I>€}ìb¯=dæMU!(R;º –˜ä´­ÂÖ¸f‰+ PP IeJjiÒ¸&/Ðh„Þ‡¢º¡¨lòÒAW=ŒBq°»álñŽìÁG_ ÌVƒ3.ñÇ)íÑŽV¾#\&xI†[H*L«A8 =ƒÂvØmîª çñVF—{1f'#”-°­Ñm¨#“Ôõؘ‰±oñ­µZ!j…(÷2*…±UˆFÄ@¬÷7M6Ù*`»h³Ñâ""+ ª@R†’ÊT†M””Té#yÀMޏbÊíÇÕ5k²Æ¥n$›ºÃm}À¢é³«Û”ƒÙ4¹rY¨Ô[¥Ü¸-Öˆò@b¦á³-Ãg÷œ˜§ìêˆN±cœÍ(bc£i­c¦Ë;¬eMg±¡v÷ðc!ÂÑÛÏ4©@IÙ+´f(©!Ó ¯f ¯gt¯—4‰I¯3gܾå¨Óƒ¶Æ SÒÀçBkŸQ6cÏíöï÷Vµ¹WS–ªÇJõé˜+å‡ÖGòËQ8~‰ï¥DþŽF›˜ÉÖ¶ÁÚ*T-H¢€¸å“´|*i1ÕwLôn™ª;ZÑŽÖáìIzfY0¨oyþ¸ß,HK](æÃþlJÝs(ž…”‡…a¡¿·p(p«¾áäÝwtßÞðâÆÃ6ØÃgØà kîýÁȽ?¢k-i›k"cï69²,±Ò±ÕTdÛ Ùù!»ADå›x«ï&Æ[%X³ÞkŒ÷k6àÖ nQà¦w[#î*8¯ÈÏkòsî5èÓ;IM£$uÛbw±Š,´ æA…9­1ýOdx2Åó<#Á• MnјûŒNj&RcH0òŒáí ù¦U¤¸^N› A˜ÀK…k¤—Ô¦EÇX³Qmd^±-ZüKú3*-¹Œ¹Ž¦T-ƒv´¤ÛZÒf ÝFÜ3S#ÒÆ#k<Í€d±]w˜­'D›˜õüj.ñW9£zF%$»M‹û› ôS:CB'áØ¹à3çŒPseq]q½9byßÇi•D­„~´bݳɺܥSVYŸUÓÃHœ:ÃÛå|*¿£¬°£š"rXD»`ÜŸ3:›1ÊæX»šëgSn†S®œ)Y9@¯Lôƒž X€Ñm0{5f·ÂêÖôÔ’~5gP/è× Zþ†(Úú;BsKjT¥ „§ÙêÕ¨Î>ˆËÓ)£rÎIuÅÓò=ãúž{{ă=b#;<ØC«däÜs,.qdE[®é8+|™°!ë²Ë]<å*9æ*9¡Ô6¾“rb_à;)¦ÕPh‡¢¶y¨&d¹Ã:rX?s(mëpÎü§µs:õ†ÅvÀl1b¾1[¹RÇ\'Ì[}è48"E´š'ŸGyä‘GùáñÃ5~° ÌM– Ÿ|Þe¾È°ÊˆôÉ€ô4"=µ÷K´söÆ/å£ñ«ð³œV¾£_®è›+†å’§åÒÊGk°ê«)±TÅÒèbEmZ䏸$sÅ!WsE»Þp½>ææÝ1ß}ù)7_²M 6™É&5ÑÙ̆!ô 8³a#öÈkà ’ÜçÒ:`cJέrP ž»4Ï=¬'9ãá–O’w|’¾å“ôƒjÎï†/ùfð‚¢eqÏ©jÚÕŽIyϳâœÊtXZ}ní)µC¡YñAQj“–Úb×%v³W¶ö¸½<äfvÈÍå!õÚâÇ/ Û)~ûcÎr6äzvÌ×ËÏùf÷9_$_ò£ôKü"å´º`jÞµŽ'×Äâ+Þ:OùmïsÌAɶ€§È…d-"n1k#âƒuÌ…uÌó”¸ 3¶é%Eì ¶šhc­jÚË-‡‹–a—EØe)ºlì6kîÂû‚f` t îŒÈÚ`®kZ×¢/·´~³¥ÚJúŸÍzËv¡¦$$Ò#–Ç\rȧٷø«œÃÙãùœèpoNøÚ|ÅWæ+Ík~lýÓl›X¾ÂQ%‘¹;dSÑKVô–kz³5²¨˜ ûÌDŸ™Û'¦ú–©¾Û?ª[ÌHaš FO‘>q±Î ßÝâ¼Y2~û†Ûà€‹£'\?áòø”l`÷œní7ødäì­[ÔèZ,¶tßÞ"ÿ-Æ~á+¼c{¬ðÍÛÁoOykŸ¡%ô䒎؉¾Ø?»(1Ó±U”Âf§#!¥mѽ™Ó}oÀ×%ÁÛ6`lÁÜhl nÓ”?­ v&ù½"ץȿÖXã7+qEƒë‘ϺÕfFlN[(É~/e°#ò <‘áZž‘âÊ·N¨L‡ ]¨ÂDX $˜öï_Žu·",S†÷ ÌiƒuX"KôÂñRëKÚ͆gõ[féˆ÷Ë3ÎÓ'œïžpWO(½}àM=4iVtì={ÎÐ~`Ì=™ò˜×òÊcQõ+¼®±ojäuM‡yƸ˜Q56•°ÙnÚ<¨ â3ÖÝ6/¯9\ò2xMÇYñ¥ñœª Ù†,úØí’°ÓÖL£¶MûrÊ×Õ+¾ª_1iîxË‹æ[^4oè·–#—¹`º †­8è_óùéïøÜ|—füzò#ìálœˆûrŒ^p-Ðç®5ÆÓ)Kä°@ âž3ýž3õž'ê×ʶBØûÊ`l4áj¬^ÅV·(\›Âq(lOg «'Ù/Ò7–7>lT‡Ôð¹eʉuÁHÜs*?pâ^  AiÚT¦$!³rÈÝnÊõ☋3£ Ó}Ëq÷‚§á[¤Sñ¾8ã¼|Êe1ᮘP¶ zÕ!XUÓ²ñÛzoüš ·ÛC®nOøúò ¾¾|źÝ&{¤c& ¶“ÑDêxÒ{ä‘Gyä‘?\ã×4‰A2·É¯ÖWDfƒá£‰) ´hS ¥@;`Y5¶Qáè¯.puF[m?F{4µ . %¨K% :rý½l³dÊ-O8çoi™[’"âÃꌛë~ûæJP:¦Q1¦Ú¢--´ï Û³h0›k×`ÞÕÛ‚ÉŒ3<ìã‚hRº%Ññ–ÑÓ%ÇÙ9ϲ7|–ýŽIyOíšlÝ€™Ýç¶œÐ*·tË5ƒrɸš1ºbIËÞÏÿÕ†IŒÏ-cb|1= ì*ÇYØ7öÛ½°¿epö@渽†µè°¦ÍFtHTÀ¸šQ¤Ö¶!ZÆ`gDܼ6_’.#ã3£2,dPáfaÓ©Wh%8\ÞrôQ^™q#'\Ûnœ KÙa,÷È}—.É3û Ö °NÁ Á%ÂÒÜ;C*añV>e­Û¸EÎgùkõ GÆ5SãèyðúldD!m ³Á %6MEB@VxˆíÇ9«ä3åÍ€MÜ¥4ldTÓô ª‰Eq(ɇ6*ÕXINlé¦sªÅÕàñ~Ƽ ×5Üò½2Ë%î » þ¬û8vÎPͪ#5£²-v6Ë΀¨ÓØ&N·Ä:¬1r…ò 6‡mVG–]VƒK¿ËÊë°²÷fMkÁB÷1´ÂÔ -¶û@ 1g (²#• ´'¨RIöÔ'<Êxâ\2ÌW¬Œ+³ËÒì°Þ A/¡&s¯‹X5L—7üÑêßè®VŒš^ˆo97ØFa7þ–žgÒxÚôåŠ@n±ÂÓjŒ„áj‰¹QtÎ7xí §US´]fí!Ñf#ÚlE‹ mŠ–IõDPe‚Êl;V/†xGÏÃ74Râ˜Å^„:f ôõ‚¾ZÐcAÔ]=]Ó*r‚&hŠ%TkP×[üî5ãäݽіáxF8^bM*vNȦÛcsØc]ö¨ i”ØwÃtBQ®Lf½ ×?;¤|nR*ƒRÊ@'Ñ'Þ<<ÐþçäJãÕÀäOAzà¹`¯ÀøäyMè&4Žtj’–O9’< Ç\HZKú˜(޹"$!“>™ ŸBºôNgTRpÓó«“ÍÖóíGm°6 #ÞÏŒš$ÇBôYÊ> £Ï=.õµ-·o±«oœà ö-¦> ûdÉ„€;¦hóŽHîxÁwè¶,h ‚"%Ô;n™ðéÿFiJœ–]òÜy”%/Ì×Lã;·)¶ªl–œµß‘~ámy6zCk´¢Y\§ÄøXºd ïyÎkZÛ-ñ:àý)Û²B뀾Zñ§õ?˜1gòœQt‡i•Ô t·º—¼rCì:gmôX««¼Ï6îìgb˷Ɉ‰Š˜VÓÎbÚùŽx²Ýt¹Úrµ9¢‘&a7&êÆŒ»3rÇã¢9¡j\fÇVu¹4NðŒlx𜻧¬Ý6ÂTtYQk‹[u€ÒwjL² ÷só›E‡JÛ˜Rql_p8ºÂir¢tÃzÙâ—ù1iȈ~0ç¿ÿħöï˜%f倇jHÚ¸¨HBËD´ Œ,¯AŽ*‘ãv´2E†ú6£z³?Ö·œþ¡Nz<òÈ#<òïã‡kü–ÀoA¶­Ó‚ñqÂøÉšÖÁ’¢UP´ŠÖ–ÂÈBlì‘%Yìa¶Kò¶dÙnsåO(„ËJuX«.+Ý%Î#’u@r’\Ô–„§jdâ+¬°"&öзìqMÇZ2ßc¼R\ë׌÷zDzÙpõ5„GGûTÊgGoˆü ‚ú{iß îÛÔ}›*²©…MeÙûaÖ!º6è¥+ºéŠizG7[#ý”~ÃÌï±6# Cb˜Í÷©A…¤Ä¦),ª•MuëPßÙ3—lí“Å…p°¢š¦¿7~ù‰$;¨J#«‚°ÜÒ«æ”–É¥§1 |#O“ïƒOÒC]­Œ J9 dÖ°”]rß>º6[ô¼%¾ˆ©\“y·‡xÛ0]Ó½_òéw¿ÛW+XÐsQ  E`ìPf…eìÐhæ„§Öi…ÑV„«s©V yêPïSasËe× y`ă1cÈ#’¶Gvê’ºÙÔEúÁ(#g ¢7X²Úh!ðI™¨;&êžis·ÿÛºÎÓ×/‡PßAu ùTw Ü¾wÃØÝa¹7DÏ+ºŸç„:ÇêUlœ>z§¼­žóV¾ÀX)žÆï8»ÇôÍ-®Î¸èqÓ›pqvÄm8¢¬-ªÆ¤l,t ?Zþ–¿£}ßpòÍ ËѸXcpOÀ¬ÀÊA.AÜ€Ô¡#ŠÐLX º\½<àþÅ„+ÿ€M«…C‰MÁW<Hd@"B¹>¡Œ©»‚›“1»8 ÿíƒßÝ0H`Çø› ìTcš²q¹S¾“Ÿðý s{€¶ª-å·Œ›kÜ0Ç r?Ǧ¤ÁDa°#¢eì›÷´ô––Øa´Âd¿Æd"X—š1·õ„_×?¡1M|7Æwc>q_Ó¯çœ..™Ìo ç)vRÓœµßcÕŒ£[Úá†V°¡,®‚);<, †ÜSiƒÒqÙáóMõ)_%¯è&Ü0mnyU}E_.í-‘¹Ã *¡µáȺDX í|Í¥ñ„‹æ”*wþãç}4~a¹#Úíh­w´71Ù]ÈöºÃÅõ¾¼þÛ+y~ú†ñÉœg§ç4‘IU9ÌÊ1eå1gˆÛÊ!‚4r¹&l­«…°4]VTÊâVM¹kÆ¥).ù;ŸüOö6 ­88¹áð䊃ÃT®Y¼í1Ûå»w§PÂÁñ'|qü5v§á›Õ§|³úŒlå³MÚ¨‰DOM„˜.X®BŽKœvŽ{œÐÜ@s‘Ò\fÔ):k0ß#<òÈ#?`~¸Æo¬Á:P´K¦G1g¶bøÅŒ”„„-©HñÙ±Ó-vDXDTÂbE‹k¦¬épÇä{­æ}6ëÛw]¶¿î`™5ýúÿÀ`:#¤ú>"À•9gã÷<ßóDŸ3å–×¼ä5/1¤ 1ÿ` õòèÙŽ£ã ^=ý’?þó¦?Z` 0>®¤®>ưïDDLÈ’—Ö1÷ÖKމëˆ?Î~É´¸ã³õk~²ú’e¿ÍÒê° :̼#¢Db°7~ÀÞ$}TVú$ˈô*"yQÎ~¿q?¥é”“âX’ŸÙ(­±È ØÒeÎ6é°HŽØ&mvIµ6öÕ¾÷À7ðJÅŸ·ÿµËÿÖùGëýÌe"×ÌZîŠ =wM8މí»[b5F¤ÐëV›‹ö1¿m}ÎoZ¯0…¢ƤƢf§Z¬Tw¯¦ËDÜ¡ _¤ŒxÀðk¿Ãê°ËŠ.BÁ“â’q±à´¸d/™ë. ÑcnvYZL¯Áôª®Éœ.íÅŽi}Mç~Kç«-Ö®ö‰‡uA]!«-A LÁþ3pº C0Çl‚eo ¹3Yd]–f—¸07z\qÄ%Çß?nÚ¶n‹íAÄ®h11oyé¼f`¿æ¹ó†ÐŒÉðØoDsqUÁDßqÜ\qÒ\1d†è‚ðÁ8Cò¯P®!_Bò[PìØ!tçg¾’x=‰ù‰$öCλOøWù'üSûÏðnrÔ·&Ó»[†ß.i×knþäÙÓ)_þñOùêùgT•MYÛT•Dd~Õ¢õ«†“‡ú—묧ìçoÏ€ð¸Ù7ƶF65‘J óPsYóàùêè fôyÂ9gœsÌ%cqÏNFÄ2dÇþÿ%íù¤Úç† Ó0â8ú lQ"©°)1P¬ØO[Z¬é‰˜‰yÇ ñ-/Ìo±e-Ð ´æëêÿ½øoü¦ø ÿ½øs”)xå}Éçþ—|â½æ,~O/[Ó×oSìyÃàó%æQM÷Õ‚'ÏëUJ!¹þøÚLJܰåÚ:æ¢zÂErÆû §ÆÎ?ðEó5Zý3SuM!%…/)¤¤´B¶ÒÐaÉTßâu#YåˆÁÌê½ñ«3B•1­mLkÓ~ØñðvÂöu‡¯Ïøõë?¢­™ühFg|b¼Çè+æÅ˜ïò‚2÷˜#˜Bæº,œÎ“æ£ö¿¹0W}æÍ€y= ^Ú¨·êß$ê_-^~Ë‘qÅÉá?ý#ÙÖáŸÓ?æ»ïNùåÿýcÔÖÄÿéÿà‹úþKëŸ8W1ù¥ÇÕå1 õÌB+áý}ÅÏnW8vŽg'”Z£ß$Tß&”ÿ 5®Sþ'àyä‘; IDATGyä?ž®ñ;ÔˆW F¿Æú¢Ä>.ð¢Od4˜”ؘ4ZÑkV ª%f£0jEÇ\Ó¶Öt¬5•çMb‘&!«¤ÏúCô< ¸siÖ†«hr‹ª’ÊÆÃ$bGHLÄŽ¶Þ0­ï˜Twôëa“Z¿WB(dO}²£*fT¡M?\ Z×ó#Ô?™x­ak [#lMãûÅØ¾Méï Vcî×–«É&ä<{Š•Cœµ¸*NØmv»0d¬D—¥èíEÜq©\IíI*WÒd&† þp¿÷¯îZ”+ç£lª­d¶ñÝü%¢ ×î×öÁ>©Ó> ¶C²Ø§¸·©,ôƒ@_ˆýü¨agEœ[Oœ„Âsè› ¾OD×°µZ|§žò¦xÆ}|@¼ Ù”û¶ËEÐeîtI}<'SbŸ¤qJ'„qÂÎYú]–~•ßųR"±#œàPì#çÅÞ$!àÆœ’JŸ;1Á«rÖM›uÜf½é°ÑŽSà8ûEå¶Sà„%δÆyQá”n‘ãX9®µqê ;K¿—Õ­1ž™Ôƒ&2ÑžI9t(K›Ò¶)âcŸdê‘„>%6.9-¶Œx §—ÐèÊ@—‚nº`’^1I¯è§×xFF+´QMÚ¸NÅИÓ57¸FÑ€X²7VK`õÈî`ï?"¥Aê£53…µ¬±¯ÀûN3p—<ߢcI;ޱv /õïLf(¶2d÷4$û¤¶OZ´æÂù–p¾¥5ßp´¾£QšïNÏHÛÞ0Û渓 wœãêç6ÇNžcå  Ä~û‰KÁ(Ÿñ|õãV±ñZ œCç¡3#2vXËw,×d+‡u¿Ë¦×Eô»T= ³«Ÿ˜èÜAùë~‹û-ŠÃ…×f]t™¯û´³ ”þš„!<cfÞiTHQa‰jo“ ;®8Jnxš|À%'Ó!¯ùŒœÑ³WôÝÅ÷2 ñ^z'È™ñ^>CI“MÖåôò’fu×”VŠ]”„‹ñAc×%µÔ¢¢’RØÿSH¢<%¬R¢0¦}´&²w튻öˆõJ¨Ÿý¿ì½Yo$Y¶¥÷cÇæÉg§sˆ #"#3+«nªR ЋžÔOúµÐý 4Õ­{kÈÌʈÈ`G'}v·yÔƒ±ªîE?ªÑBBü€Í'‚t:ÝlÙÞg-²E–šd©IÝJ ?Çðr ¿ÀP£ñ’ó·—Ȧe0^Ñ;ßÐnèUz×[üÍòÁäýã[æÇ,â1ó`ŠñUΛ“÷ŒÜ%gÇW fk +§*u8€ØvŸ M#É*›}Óë6jƒ1Kú,³dØ®¸ÜŸ£ö éÞãq§ã¯czùŽþlKïØq:½æüíG“%ÑÅZÊ¢2-Û$o,–þ„Ëàaqç¯øQ{É}mk껋ÖâÇä%j™³ûòNÃ;õ·êŒXù—P~0¨÷6­éß@ký7½Ì=óÌ3Ï<óÌM~¾Âï´ÿ¹Bz%ê¤À<ͱ¼‡” ëi‚Ö0(7 ² ìëÒ¬‘V´+¤ªY%ÍB‘>ºl‡ì®{ŸMйI³•´¾ Î5ÊJ'oLj4¦Hï\>IˆdÈ|ÉŸåº[ü{™$Ò&ÎS¹”¾¢ékÔ}IÝ×PªÂ23ÜI„ÕËhG‚èS@Tø4Ë€"Òy\OiÁÆê_sð<ö®×‰Kå‘ímò¹I}©h/<Ò PÃÞø¤ÎÉL‹[çWë&OjƒTY,›Ë|Èò0¤ÞIvZì³r» \ª[`4¸*fÄ‚A´e8_3š¯Î×ÄËjÚg5°²û”RGˆ–TØ\ñ’.õí©ær/f ©E>‡È#Š}âÄÅ "œ0 b3¢ñͱ¢®tj[Çk#BkCÏZÓ³6 ÊÃý’áa‰µ/1ìšê•F5Ó©|ܶ8Œ|†O4ðˆS—º×ýj_R¡!h±è2Î$ v“áÕ1~ãå ör‡u³ÃºÝbÝî:!r¤PS 5Õ0û5žãZ1–U +à Ä54×PÞBzû¬ZÐø÷%Óµn0o*ì a¬¯!þ@/Ús¦Ðs7ôgkê7pð}ö}—¨ç’6u¬o7¼øé’—>rúùŠlà’\ÞŸ¿â/ƒ_ú;úÁ–~°¡ço “ ¡³!¼ÄÌj”M¡IÆ4}Dm*÷kRÝÆ ¬0Å ºžc>D¸ï$å{IñQÃx{„x[S}¡Hzn'ü^kàZ4/=vÈýè”ûÑ÷Îm®>î ïw¼˜_S5Š›£nN¸9:f3 ´M«PZ—Ew¶¹áìá¶«Ç[Ä„G1å“xÍ£˜p\ó¶ÿŽ·ýwôúdr݉q±†<³X0¡B±aȪ˜Pîì]ɸ^!ô#+a™ 7Î6ërý¤¤yÊø«¥¢–•Ш¥¢oÍ=}wÃp° ²Ò.¹³&¬¬6“¤[›ôÁ&;heÅÑñ=ÓÙœ#íž Ü1œ,Шéõ·¼üâ’ž¹£gné•;z×[6ˡ1ïOX>Ž) z-æYÆ[ÿG¦ÎœÆs…aTY'üXÐ’¬±i[(¤IÑZ ض\ñ¦ý€ºkÈæ.‹û#Ú;Eà¸.y}üo¾ú@´Æ›p')I¥C®ÛT–IëÂeLù&ÐÁ–꘻'á×ÜîxŒ,äâœÍ§>¯XÈÑS‰d@¹ƒzãPïJ°*-Dö£ Ü3Ï<óÌ3Ïü×çç+üÎZĬªB9%†›a;]ŠY†…¢ê„_Û ¿Wé%¯¢Ï¼Ž.‰=›‡HÙD¦ƒJkê¥"ùä²½²» i$í\Ðn:GÐ:Óž&~ÿ^ø½á/Û+¬²ÀJ ¬C7¸~ŠGŒ«žnÄ®ãwgÛ&Üüù7×/¸þó ’Ê…!01mVbf)––`)Bkˆ|’¿úÄÿì“ýhù!7þK”W¡¼Š¦´|ꢻA”ÔRÂHÐΠ=î2~Œã¤¸½ˆ³BìZT^Ò,Yeí|×SÖî€Ö4­‚Auª»¡:Ts“ꃂ¿ÐÝà=­rRuN˜™nqkž ;%R=Ù¡7@ ’]x¦( {—²s{¬Ý>KgÀÐ ![3fÉq4çd~Ïɇ®â‰Ã²ê³²,'}–ÚˆcbÌ’6)ÖSÔ4vZÈ^ Ù«½ ÈöYä.\òµE0Ù²!0·í–Øó‰ŽNH4 GÞÝSÝr–ßP® ¬uÉxµÃõTQNMÒÀ$r\VÆå`Ȫv9qªD×Ê®Sþ]øý­Oš%ÇÕœãbÎ,{@,S²÷5ÙŸ+²ïj4Ñ⼸¯îk0A†52hºÓg ¿~ÞC¹‡dû¨š€õÔ5@d jÝbÜÔØJàÈýxÏ«ø3e¬S†ŠüN>ÓÉßèlÇ>ûÖ#j»ïj¯Þn¸øî=¿ýýÿÅ×ßÿ…ï¿ý'~øöW¼?¿àûoÿ‰‰¾`¦î™i÷ÌÔ=ÓÕG£z¾GdOƒÕ™ÑXäL³G†›5¯î4*©¨ I)$•%©45íÍÿ^Óü¡ÿ¾¦l:ѧ¿ õ¤§ÁK“¦ôØrÄ¥ø’ïä7|'~‰¿øÝã¿ðòý¿ûë¿"«†ÿóÍࡘñhÌxo¿FSš^£©·‰ñ6 ¯o>söñ–ß}ü~/ÿ;>É×ü }Ãïå·|=ý+õ±N¯ÙóÊü„Lž&°ó®²ƒÅ²œ°©¨²fÑL1Û’ K^ó©ZŒ¼@_V8ûŒöNÐJh5ÿ¶Kñôµ`8ZÓ?Z3,Íy´Ç,å˜{9e!FìÓÉÎ#ùì’¼÷p’”¯“ï(åwø½=£á‚ÑxI¯¿åìÕM!é­÷„ë=½õžÞÞ?>þ†ûÇS~|øŠß?~‹wràÅÙ%/¾üÄ˯>qbÞpr˜3ˆÖ‡œäàBD'ü®¡M$6…4‰ô†L¸¼i?qÑ^ñÛæ¤?¹,šrù!£}¯ßF\üúßÿßü‡ßü˜½¬3ã2lRÓ&…²©,‹Æ5)4—E0¥ %»^€X*‹Uaÿcâ·°Øê}~RºnuSÔVï:ŠVA«ZÐ[Z«ÈŸ=Ÿyæ™gžùùòó~û>îi¬„bP‘ {åb}Öå€U9d]Ž8Ö²B[A»Ò)—ñÀ!ú[ îwÇ$•ƒeå îpڈ̶ÈB‹|ba)ý£5Gö=GÅ=Gû{&j¥rrÍdÍM6(Õ ŒQ v*@kÆå0µKO±ÌKËh—’¥3¡Ñ4u@ÙrO`î ¼=¦—"íaTHYQ¶Š¶V”…T©Þ™Î(þQ-Ÿ¤Ñ]HüSéEéä˜ã SÏ陦jÎDÌ™6èMÉVöÙ}vNŸ’ø.±ç{©gƒÙÒjm·#˜·¸"ŵ6¸½÷(¥ìëdIÖZd‰æÔXaŽfXaNÕ(ö움}iV—‡Üv?£™ @©S+°eÆŽ6[ÌÅm¥htEåëƒtd± B6vÈV ‰3qÿp@?”ˆ’.ûMfØ2¥Ñ%+/Ár 4·¦ÕAPÙ áY4¥ÀT9a¹cº{`ÚIæ’¤Iì’®íÿbD¨ý¿+MÕT†N¤û,µ Úù„E1æ1ŸE6úªÂ.Rï@ÏßrÔ¿cè®ôŽHh AktD"H*—dçqwÊ»è-ŸÊsnÍŠ‘¢?Z’-ª±¤2©aq0\6ªÇ¾ö© ‰ÞäôÔšQòH96(‚ΰ*«,vZÀBs£0Ôì>z”3ËoùUû'ŽGW8rC²\}à SdZf˜è{Ã5Ó—l²ÌýMe‹™•xmB¿Ü3J7¬Ä„XøÜqÊ;ñ%íŒÛpÅP[2-)|hàrèyDÊÁÜåô¯¶Œ?/é_mq1†ê&k†^R{Ë“!«ã«“«á¥=bÕ±ÒGlý>'õ5õ%¯¶—\¬.©t̰Èt‹Ü±Ð¬ÓÌ0TŠ)2úrÛ9&Z1Ê­¨ÑH,‡­ÞãQŽˆJsUàÞ§ æ;ÄFp5:c?êq;~ÁÍ𔡾b – ôžˆÈ4“Øœq-ΨuðdÍXÝ2Ü2~u‡AA5´‰6ÕÀF3n‘âæ î6AÛ×°}z4И’C0fî_ðSpÁŸƒ ”J¶ï¦Vf–³ì‹Õ'.ôO\Pb¸9•¥ÈuƒD8TB£'7¼Q˜ˆG*Sã̼æÔ¼fbíp¬–‰¹%ׯÐ5ˆ=½xÇ`±a¸Ü0Xl0?ìѯ蛈²¬ÉŸÎö) Ú¿=ÔÐÿQ­’šI,]vøl´€ÅpÄâõˆG1b9’¼òˆ/\Ò¾K,=̺Ä*r¬¼+·MpÚ˜3nùŠw˜Z”äšÁ£/ ‚Ò18²ç ÅŠ<6Ÿ¶bӦРý5e«síM¶¢O+fò[Äȶ¡@ñ®}çí9«ÍëÕ7ëSÒ­¥‡wœL¯9\sÜ2“sB±¦Š»rÊÃ|Æ|>cÍXnÆÝÿ·âïÂïܸĹù‰ ãÇHHL¹Ì^ó—Í7<»€ÃÖç°ó1Ûœ~°àÈŸ3{uÏ´÷ÀxôÀxøÈØyÄ!¦EÒ h‘Ô­Æ2Ÿ°Œ¦,×–ó 7â”kýŒ‡ñ”r¦SÍÙÔâàû¬ÕC´¶ ¥¡È,‹ÜWXÓ˜ÉÅ=y¦8!#à`”Ò`m øh]€Ý°±|rä´¼xqÉt}G›g\~rùî· ';fçkfkfjÍÔ|à0 Ȱ¨?Û‘8©e“l=8¸Œå £Ó5cÿ†àíš›O¯¹ùÔrýÉ%Úµ˜ýç<½ˆpÏc²µ$¹1ˆotê:•P–üœ/›Ï<óÌ3Ïüÿ›Ÿïì&£ýOkêiIÕl k: õX¤–û ‹õ”írÀü}ñ¡ÄøP`|(¨_JšsI³•Ô™d4Xt‘ƒ;f½;Âçª8£Íâ©"ŽÚ{Þ¶ïø6ÿÓõ÷þ”y;å^Ÿ²Òû4º¤Ñ$­¥!ê–“üŽÓ⎣üÓüŽÊ”¶¢ŠR×Xk<+ÂôrdØà^}æ·§àÛóßÓŸ¬Y9}–n3ðPMJ’™.gÝ~žNg–ÒÒÝ ÿ¦rº©ßxÓÏèçk޵fÁ-§þ gÑ /’[Nã[Âíž:WTJ£4öNÈÓ·üõè-ê8£8–Ä••OYT©IÏØózüßúÿÌïNþÀJïsežrmœpežâ•1/â^$7¼ˆoØîúü¾þ–ºÐxÌ&¬šáÓŽ!ð«ZŒ¬À+úÙŽ¡¶A‰–DÜ‹3~¿ÄÓ÷ÁŽ`´%ÐwT†Ff˜ä†I¦Lfñÿ:fü¯K¾þט,—hfƒf4H³¥é,1`ÕöY†£wÖ1Žž ý ʆãõ o×ïøåæ{¾YZª¾FÝÓ¨IiiTºF¥4J¡aÉ‚P?àZªª)ÑI,ûIøMˆ ‡£Õ‚ÁåŽé œ»”ýyŸŸ^ÚÜ6/ø£ýÎÍԦĕ†*Øk!昅>aa9²ïùjø=ÆEÍQ¶Æ %7"3à`„ˆRÐ_îº ó¶€EÞ ¿¬{m[C#Mx8ýšŸN¿åO§¿ëT¨¡Z¤j‘:hŠ®ëðÅî'öú?£‹’£j޲Š'ág’J›Zhôµ-ùˆ¡•˜fN`FøÖÀŠpÌ–‰±ÅP-¹ã…¸Æ‹ü‡ÿ2¿Œ©¯KŠ›’|[QTðSŒ¿ ¿#úPÐ(A¡ÄÒe+BÚ˜Ëá+>Š×\ö^ñùÕ9 Z¶]-m­ÑfIk¼j/ù¥ü gò=¿FÈ–›á17£~’4µä$»ã4»ã$»Ç¬Ô€¥Õ¹¿®õeO§p ®§'|,.ºUb‘qÌ ¯Ä{»)w›S>­Ï¹Ûœ²_„$K‡tm“m-ÆÞ#3ç–¯gßñË/ÿÌÉôMtî–¹ÐØ'SÞ©·¼¾ä]ý%Ÿ6¯þ!úžño­?–6®ó¢½"i]é„Ëíkþ¢ÿšÅ~Ly¯¨æ:å½bì=Òÿ§-oõŽo^ý‰—/?w&FFgf¤SÒt¶X4O&Y»"äCôšVßð×ù7D¡G2rHÇ6ÕPQ5Ò±ÍÞ÷Yk4­¦¶5 S§ðtšž¤˜jXe̤¸‡¢a‘NIKžZd¥ÅÊ@P³ <>' ï™s^ä—ÌŠ{nìóñû)ßMøøÝ”ãÙ‚ßüö=žŠy3‰ñzÙÔ¢H´×N3?3ßÏH·e¡sêÝpzºæ_àLûÄwÿÜ th7åö#½ÿÍþ·+z¿[Tlþ`Sï-ÒÌ¢Þk]öÏçüžyæ™gžùyòó~O+¢mÑÚƒ‹ › ‡§MqÚ„¬µ) “$v(¶FY éÖá3ýž»á¢ÿ‘½Û¢‡*JDÑ¢å5ªèlÍeU“LÖi›Í1wúšÓ í® »dÈ ÙÔøå äD8ÄØTØ0óÚî\ß hf…uœâÍöô§kúƒ5¥.IuƒH9(Y¡Ù5²× &-Ät¢®n»ø…C‹Ökf6È^C£º›·ºÑhJ‰è.`‚-úÓk²cÜ.èi;JW§ltJ]§mÀƽÍ®hmƒj* YP‹ÓÊ1Ì=(Ptއš¬²AÈ‘?ÍDg´#šYu]Ðv¿ƒKwSPBƒF)Eka×.»6dÝY4JS!Sd4â@©)²Æ&j]b\Âz,Zü4bvx`²_’Z6™e“Õ6Yb!÷àobôE‰ïpd†£¥¸2¦/7¼)?ð*ºä|õ™—ókêJt7²Naê]˜D¢QU)‘ ( Ñ­ffšE¤{Â@” ²†&ÕÈ‹CPD6éÞ¡ÝJÌuAàp½ËËÑe…4Ÿöu´¢Ëé«…¤‚BB.¡•Š­é²v¬í m¥HR‡,¶( D·i=I3”4B‹ñˆ]/ µ-!i]¾_ëJû[@EׇƊCë‘aR ¤Ñ ò c]BÓâ|ã€gDØFJè4Åöå€e¦“žX$}‹Ì2ikASKêF£je«S· EÛPPSµ.‘¾D 5iäA;´A;žA"mª\Gl*mPi‹ªZ4C áVH³;,DÝ ¿J£ÍMÚàµ1CmÍ©¼ãö‘Ü4ØØ!…£óàN(Ñìç8ÄŒò%z]`g1Ø1(öZÈN ØÛ!¹g‚!¤¬ÑDª¥ª%ynÄ6µ&±E‚ÛDheø|䨚Ö;Ì&§™µ¡Q›?àúñ”KÿœÖ>¨·ÿpÄ­»·GÏÚ258u¯Yû}båP¡ÐDMŠßhZIótöw&æœל{—|ÑÏËÁgZI÷}ÔM—K˜ ›Xtù„·ê„+ó—îïƒ×T®NkЧ÷Š juÒÖf߆mF…FŒË޵ tŸƒð)…¬´CÚ—‡ #3i/q¼˜°ÞñyyÊõê”ÏËSVÙÿ,Â?9œEG{-F7r5•&Hu“ƒé²S![°¶†>YaÐhë:›IÈíhÆ{ï9b© XjCVbÀ£š° Ff>Eitkž‹–-,X·èV†e嘳 ë<§86ÉN-ò…M¶´É†›³Ø&µ00›‚ÐÜ1Q(·`öØf]=Ö>8¯¹4/˜gÇlWÐ@“5®áu ÷í„mÿ‰E;dû,¶c–‡‹Ã³ÍyTÇ|Ò^3Tk»[õ¼2_ù^wû· %PW’ÈpX˜C®œSL;á¦8f]ôI jw{^ä×¼Î>ð*ÿÀ>ô™O¦ÌÇ]¹V‚5ÌÑ_–hiKºu¸µN¹±N¹µN‰]—~¸b­é_­8ÝÜã™)#kÍ ó–½îsòxÏÉýÇ-bÙ’š.›~À¶éΪ¨Â™'¯Zi$c—xì’Œ\ »û…ô²â¸œS¥ŠXz܆§¼?ùŠÄt)|%k~±û/šX£»J°TLå*œ:í¦Æå‚ªÐqÖ+z·è¬2JÓ`yæ³:³<{Aí8¬¼-ýfK_ß↠e¤w¦,±Nܧ>Eºgxù'¾ùþ^¸ðÒ…bäÒèÚßWý$çíg¦ÌñÍ=Ò¯E'(z¾®¨, s˜a sÌaAcI–“!Ë·Ö„å‹1Ù‰Avb’¹&YfêzÃ=±# w˜ÞÅmÐç”ÝÒÌ,²W‡×âØ 5êP£ê)S ›–Þ|‡—ÇØEÁ8_óªøÌ¢œPÌE©È•¢:5FSa6F]rÒÜqÑ^r"ï0›œL3©k²Õg&(7 IDATÉ[“XsXXCœæ¡5ì²YÖhûšpu WïIíU·Jh;¤¶ÍNïBÈô);P*ƒÆ̸el?¢ë5f]`¦æ&GÕ5¬Z’K?¥¿AÞUãc”cŒs*]±´†Ÿbdt“û¿ålV]ÏB“Í$ä~:åãô%‰²ñÄŽ/ùžK’Ä¥87(·:ÅΠonxsúž³É ýv½Ïÿ¾NÛjP(ƒXxÜÉwâ˜;qÂupÆÝé±f£÷sHšL£Ùi´åF—.šÞ§á ü§•Ú3Ï¡dÊ"Õl2e‘ ‹¬µ(-…¡eôêÛŽ±Gqˆñª¿Šð«ÎÕvdî8=[ñ@9± {½ó‚æÌ`í)Z›Ïé9³W\¦¯x,¦ä•‰°úÓ%JTØAL(或†{Fl°È¨€-Œ¸åŸxÅs9¢Q‚HXX.Ø6´úq)zæ™gžy晟 ?_áwf þcÃjè JN‡KÞú?ñBÞ²±¬Õ€3`åù¼¹àÓêÅÒ`ý8¤ý›è{*ÃÍ Œc–œewØiÁÕv³Í[I"mÃ1Ÿ/i}°Ë˜»Ë)÷ï§Ü}wÄáÑcöëÌ_g(· œípTŒ.rP5•)I¥ÁAóXk=VŒXYC\3i|A®él‚;†ãE8fÌVôØÈ[Ñc­õY†C¢™OiઅCIƒ¸o0Ž2ó€?‹ðq I=»€v+Éw&¹n²õû¤ŽÃ*Q·ŠÐÜ15ˆLMÝÌ6¥F,]–æˆ+ÿ‚š›ø˜U2 ilÚ\îv¼X\ó«Ç¿ðÛÅX̆|xý]–d=ÇJ0‡9ÆËnò˜%67Ö´þ‰?Z¿æ ~‘}Ç/²ï™~~䤚3òÖä¾Iî™”Ž»Œñ1Þ2F,[ßf•ޏ­¸ÕføIÄôæý» û» ¹c’|ÝåÞMfÔ¶Æ8_2ΖŒò%"…Å×ܧü(¾â¶wÂyõ‰‹ê’7»÷œ¯?U‘æy6QëàÖ)A¾ HøiD{‘½‹ÈÞŬßgl=‡Å¯=í˜ÇÁ¥ß#ôö„ÆŽÐßc•Yi‘–6Yi‘¥:ü¸¢ýqÅðò’Ákį  £˜CKÿ{”vÆ‘š31îñürT"vÖCŠþXâ=$4­D\4P×à4¤žÅr<âGë ïf_ñ!~Ca–An¹Á@_3®…+†g+zú-½è†pÞÐÓèvK6³á«€ö·>Í™Ca蔦NaȲ¡w¿'Üì ïö¸‹„q½&­>“Vic³/=öÊcxì[·M šˆ Žª˜ Ù4{Bm‡)sÚJP׊²é„_$=–æ©5ä¶É6 /—ŒKË ýÝŽ*TTêz¨ø«õ–ƒéóhMù+o Ôž©ÿÈ̾c2x$”{ü$ÆÛu1/»(ä§õk>¦¯øéþû‘OøjKXmÝ ª_²²FBŸblüÃ-7£[ãÎ -6G!÷çSzç/qôŸ-ývÉ7ü‰ªÒI ›4·I ›Œ#ã#}NŸö¡èŒ\ h hZXó¸å”ä×üU~É>覛IÏB½ÌásKõI‡AûY£Üë$†KB63P²B$ƒˆm-©uÊPT†¢ÕAišYb8®¶ÇR¶J»"Á¯#¼"ÆÏcü,fdî‰ÏVT õKeUô‚œ60Y»CvUŸÏÙK>n¾àýî-›²ãÆ8NÄ`°Âu8FDa(ƈCåpψ-)5°Ãá‘!7œqÉ—¼Ç–/‰TȣѠY^wèµx~Ï<óÌ3Ïü|ùÙ ?kÔâ[1”C-e E Úƒd…¦Õèze¦˜VJÔóX…CL?ïÖ ­Œ¶N ZS£ê£,Ñó #©Ð£ }_!tÈB›ê¡»9*Ï™—æË óâÏ6–â‡;ª‰€£’RH,v"À+mÀBŒYÈ1 ÆlŒ^7ñ1JÂ`‹•¡±4HuŽÙæd­EÚXdÂ&o,Jàêi4º@˜-r[¡ÍK4³D£è½^?›ºÀúa‹JŒ¤¢¨ ÊZgß„TÙ³)x!¯Ø›>¹nP˜:‘p؈bÂ}uÄfß#9¸Ô™†–4èªÄ´rl‘àèym²¯=ŠÚ$oMÊÜ <˜T+ƒòÞ¤¶µÒ¨}ZIGvAzZ²jPQ…•èi‰]'¿!’.wö…¯ñØŽI+ =ëVh“{^-/ùúúG~óéOÜ'S„ÓR uâÌ%Ðö„þû(C qáðhLøÉxÌ߱-{Øó”“ýê±f¼[ÑôåS šJ>å, ÚBrh¯‰¥Ë}Â;ù– Úñªü‰Iºà«øî¥7DzCrÏÀ©Ùšq¶bœ­ÈÖ)Ë«ŠâûŠø_jv¡`çêìŽlö™O!CC£TŠÜꦹqë4Ië§Šp~ Çžpÿ‘ðæÚÉMÕ©Oh4ƒªVÔ•¢ª5͆©zÀw÷(»B´-ú¢DOjX´¥    ê2‰g³v†\Oxß¼¡ÌuªL§ÌåZ'Ò=RÝ&sLrÝ ×£œj˜Ò ôAKsÐ|Ðü2 >u¨jõT:j_¡Ê{—ÓÎ%ê¦!h#݇ƒ€ýÈcŸúì —}ë¶í–a³aXouK)tÊJ'.[Ñ#6ÊZ‡¶‹Hˆ Œ1 6ÝElzÅw“2}Xt$…NU+ŠÆÀ´K2Ûá¡8â½ý–ꊩöÀØ~àí;¦É#Áà@Øúwõ1qáò9>gU޹[Ïè›+¢¾KrbcÊ”ƒíQ‡c’´;êXQEŠ:Ö¨bE>0ÙMCN&8ç{NÔ-³úžãúŽãúDK¤y/Q‚—$xq‚Œ[ªÌ@¶5²í¤¾NMUëÄÒc%GÜkÇ`3jXˆ-yi“ßÛä4WŠºT¤}‹b¢‘ìný<Öh#6’ˆZ níR šQ¡5Ò¬1D©RLrô¶@5ZÕ@)h2E‘Zd‰Kk#Aà–Lœ˜ZjL"zd­Ç2ó9=çóþœÏ‹ ¢ÒcÒÌ»ïí%øú¥ *Mã <"všO¢ J³¡µS”™`«¾¶£Ï†ƒêÑw"z½Œp\"ŒšæñÙÕó™gžy晟/?[á÷²¾âÌþ7ô¦Ä-"’ÂçÅoù¡ù%‰ëx±kkw‡cî·3+‡vQwçYR —°›ö¸œ^`Nrâ©CêY\qFn)Á’P­˜öçLƒ9}Žlê"~é±Þ·z&‡ÀçqÓ§ù—œÃuË1¤g¼ 4zFBÒsº‰¾KÜw¨Q„ì ø¯Û©*¢Ô)"ƒGf(Qй";ÚFr™½â2+)2›8÷ Â=Á[‚`CðÅŽêTQMuªJgùyŠÛ&UøåOøUľ ™să˜òÀQ¶hû=®1VžJ˜êK„.ðô”™|d[öØÉ[¯ÇÎ ‰ ‡Xs‰+‡e4¥—n9Nè¥[zéŽ2ÒI5‡ôÈ&smö¶Ï®²ôØõC2Ý¢©´®J‰•gL£ŽÖs¦›úå†ZAcCº­…‰x`&ÐÔ?ó…ñž/ì÷LÜG´ Æ³bŽÛ{êDÃ[Å8FÊiqËX[bº9±îuÃeFwF²th3êÚÇc¼$ÆMb̤$Ï òÌ$ÏLÊDC-—(w‹ú¥†6c¾±0¿¨0G[LrØi4kI»éºWÇôõ5¡Š0ôЦÒÈ+“|`‘›&”Gú¨@7 ì¼à8y H~ÄN N“{êX£NÔS×ð8ˆè""ª}E–é<ž¼âʾ@Áú ¬°l°Šk—ãî˜ûmÛ’o,®²—¼·¿¤82z÷0§sÎmqŽ#œqŒãÄŒê%~ã×1fS Ú–]òPM™WG¨×Ük'ÊFÓ¨ðÍ„¡±¥ï1y\SY}“s¼¹åW›?boŒ)¥Ò(5RjdÒÂqìá5'ò–ÆU¬“!«xÈ&°N†”Ç:ÉÈaë†,Ä'O£Ul cªE¹ Ê­Q^M.MÖzŸ¥=¢‘ UUôÄ–PìèU;ôºdR-ù²þ€^×LëG»[gMl›Ä²Ù0dÝŽØ4#Ö•A“Hšµ‚[h=‰Õë¦x®Œq×§Nqë'OqöÙA×›!zX¢*(1‚2Å>ës—ñcö 6{å±3|vµ×Mš›Ñ4ȦeŸ…ܧ',Ó!ybRG’xg£‰µhH-ÁцÁtƒsãú1‘c²õÐÏLÄÛ‡³w£ÛQ”2 ªsɬ¹Å 2ÊDç/ÿy Ìþ?»î=óÌ3Ï<óÌÿ~¶ÂïE}Åÿ’ÿ¯Ä¹ËýnÆývƇݗ¬Š!åH=•Náê‡O´vaQC,`!á“W°û"äòësbÃæjv‚æT”–A*úåG&Lí9Së©1§mñÀcýr„ѶÔ}“(ñh67 ™Âr5LObyËÓhÏ y ­€&„1+޹ç¸sÜÎ9”>—Åó ®óhMƒ¯%L´5oµ±É°Š’¼°Y”SdÙ„Žý;f¯o™6w,Å„%Õ„å§)®üÄ‘xà­|ÏâÚ¤ ¬Ö¾a«õ%ݯl0Ë _¤H{g'L­%±å‘îÛ;ò©½à²¹à²zŲ˜2Øí˜íùr÷#owï( ÅÁöˆŽ<ö”[ë„û”Úêb°ªT§NuÚ\ÇÌsN·|³ùŽ_<|Ï4ŸseŸržr•Ÿ2o&¼ä†â†ò†Ú #cÉÐ^1ôV¨°ÂµbŽ›9^s²¾GY%!¹ÇôŠNðE@òoúSÄz"Ÿö,Ö㛣ëi}°/ƒ®Ãùšñý’ÑõŠñÝ?‹p«§JP£AÎ Ycþ”3¼ÜÐ:à ÜAŒ9ÈZËÑÝ=â®`xÇÛ‹—S–/¦üeô Ö/&¼ÚüÄ«õG^m~â|sÅãјë³3®^œq=9ÅõWÌìÌtɱ8 “3dEFKJ•‰¥8ëw•al ª¢ÞiԻΌ& ² %ÿ•FŒñúÕSmðX ·ÀµD|ðI`Ô¶“ý?ì½×’,Kz¥÷yh©³²ä®ÚâÈnœº‰æ}Á ùŠ|òšf¤a8l ÏÝ}úˆ­k—NZ9/²¦ã-3vÌê3ûÍoÊÒ*R„Çòß}-l'ÃtjjW%wl¶=Ÿè$ qT|g‡ïìÐõ;/˜lfØ«’ÉjÆWëŸh#ŒÚ ̺Ĭ ̦À¨ îý!ºÇÌŽŽùøõ1r è #z£ˆžÑ/7¸ëŒà~Çàn…X >È ®äœçÜzG·E8 ¸-ª[s¼çyðžsçÃvÓä˜m‰ÙVÙU³s¾Ï¾âûì+2ÏÄ7¶øÞ–q3Ekº¬è²#$U6Ö”$p¨jFU™Öc~¬¾à‡ìK¾¾b-»,Û.+Ù£hmKÁ´k|;¥çlµaHÄaKu¬ mK&7·87)gÍ 1àV›p£N¸vJ@Ï]ÓU6ôœ5n?áczÁevA›*¬²UW'é:lݦ’;’í’za ,@3[´A‹*[T«¡656F‡Òa£w œT·œÔ7˜uE¿Z1ÊYÍ0[ðYñ–M'dÓ Y+[;äFž`Èšº5Ù4]šD£]‚¼´šŠ:Ê»ÑãbÙ”¡6§—¬é%kúév‚׫W¼^½b· Ù¤}”Ãõ°A™´¨²aWt¹+Nx]ÄøEL#¥®Q™*e£ÒJY d³ßJšg6q°KCŠÌ¤Y«¤[›fÛ’n5a UÒýrk% ƒ%·ƒ3h1NLˆ;ìNjn•ë³øAŒ{–rÜñüì-ZÕpÿ‡9OÂï‰'žx≟+?[áwÖ\ó?å7Ü&Gü‡ùßñþþ¼ÿk¾Ï¾‚c e ꣕{,a+a%÷ÂO>n7D ÛM‡Äp¸™¢©%·¥¯,é‹}eÎPÌ9`Êø±šVcÙq/3tOÒöMv?xìnøAA¼s @7ܽk—a))V˜b§XjAHÄüįùOÌë$ 7»Sf» TðBûÀP_ò ízbEÑØÌšÞ7 Šhðƒ^ôßqÑ{ÇÛÛÏ)îîŽYÜŽx¦]q`ÎøÆü#¿5ÿžOÆŠÞ²6º|P.ö¿]‹5»¯Mñü¼Ò´¾ u K'÷ ¶®Ïﳿ%É\.Ó Ù˜/Vo˜Ìg|3ÿŽ¿[üª‘Êú,d3XŸ…|´ža‹˜ÁŸ,7AJd© Z «È9ŒïøÅê;~;û{NÓOüÇð7DCŸóϸlŸq(§Œ˜ñï”âß«ÿ€b´`ƒp%à™ žL8Lï‘K[î]×möç¡RöpËÞ$ã?‡ÝëК‚´k³t¸ŸŒ¹?±`ÀB˜3dÁ€/þé ÎuÆÅÇK^ýÃ;\5Ý;²€>he9/èÏ×È9  Ä™„3à ZÆ7÷ôÞ=ðâD —ÿGþ–»Á?¸_ðûÓÿžßf»Kyõî Ï~º&{å°S}ÞŽ^ðî¯ø|c+tˆ@¹¦GBË’–˜–)J-°“{Q`ß÷5ÌÙ× ÚXaùM—å¤Ãòë.Ë¿êÓ‘ºÍzoӬѶ Ê5(åO  :ûª&ٹͶ2;ïS÷4šZA¯jü:ÅÎJìí”Ét wîÙ‡ÈÿëúÿœUûãg¿àêoΙ]ðÇ¿ù ÍPáX½áH»¥ÕnpÖêº%¼Þqøö¹TyÛùŒëî)¿ëü†î|ƒè4(ÝÑ©Ñ:%ÿ^ù˜JÆ©ò‰A»ÀjJÄã-A‘°­C>fç|ýŠ¿ßýÊ–/¼ïù"ÿžq3Å$G"زçT 6fH¸ÔB£1TæÛ!?m?çÿÎþþ~ûÛý÷«Y(@8Ó«ñý”¾·!èï(G*åH£©h»‚‰uÇi}…±iX•=þ ý’F…1"W,l'åȹæ9ï™È{Ü,¡É5ÖY‘KJKßçEÚ!BÔô‹5éÖ£~0PošÝ¢ÉÍlP; µ­²Rº\é'\sBS«”™™– šzV3Ú.E d$hcÁ¬0SÌì3TT­É¶é¡Ö-e*+u¼XƒZHB5â°{Çóà-§æ'ŽÚ{ŽÒ‹{Úµ†}]…¼ûôŠÍª¯Ø/ÊHÀJ‰(jÿ»UÕ Í,Q« ­-i¥ ®÷ÛLëJCæ*2S ÛGv°–¤ŸlÒK>¹$•I7YÓšç0ep¶dæLpú-ú± MÈîD£ø¬ÝWJÂEðςלÞòoðˆù?þ×Å¿ñÌöÄO<ñÄÿvül…ß§ûSþ÷ÿë¯XU}¾O¿äcòŒ(õAHtJt­@7K4¯„c)`Jäê¥J½R©–*õREÆÐÞAý“@šõIÓÑá>¡lMæ«ñÊçn}L‘Z\*çÜ«¤Š2h1žï3ÌŒQ†ñyBéê”®IéZ”NE@•iˆ×íÂÔ<ä'#¥1 VÆ€¨ ù¾øŠëê„ͨX[nìC^[/ • ŸòY,·Ä”>;úbŘ)‹|„·Š1n xk¿ËûÞs¬^N¸$ŽËÂìã[[¾6ÿHÐDº×˜aJœÚ\ׇ씀µEnbÚfa¶RHMÅ1Æòçê[óúŧLö1 ‚°%ÂØG8øbÇ17hÔôY+µ©S»µÐñ”„ å=¦“²ìwh3IÕÓi3¾Yý‘ƒvʰ^PW:¯«ÏY×úÑ’ÞnE?YÒO—û?Í"s-ò¾Ij9¤¸¤µK²sYG=:þ»û„¾ì~ÏYç#n7¢ìªÄ—E·Ç­uÈ'Ô¨=V„l9”7tëf™Ðä-K7`íöX {¬Oû´ª‚yR`î Ì]Žª6È‘ )È‘ ÖU2Õ ³MòŽÁnáp5: Êkü7?òÙzÉéò{ËŸp«"l eÄÙìŠâ{g“Á®ÆMJf£#þáomœ0Áú²Æ:ª°œ S«ÑÜ}P£‹îp;)n?ŦèIE|î2¹ö޹G X0P ľ,™¡•9zZ os Ý&1;ÄÃø´CÙ1 i‘ŸŒÛO-ñÔKIÑÔz±²a/°7rÿàn]öÙ“cXU=VeeÕgYõy{ôœGŸskžfN”è Æœçúå^ðx)ùÄâVLÈc›µ€ÛÐq—<³?àW;¼Åïa‡WGõnqº9³îˆìýÏLqÚGÉpôŒ¥Ö%>ykÑT*•n°P\Êg4µ È·ÔµN¿^V1jÝ0hV$­ÃŸ­¯¸TžqÇ!:%_ð#![VI¥Ü_Óªí±‘>ˆ l%#Ñ\ì6¡NTê…J](XeN·ÝÒéoè|¶!ÃfyÜ%ú¤¶CŽE‚Ç–%} *t*N¸Æ æ„[ŠÔ ˆ ©³nÌó ‹lÆÒí±: 1œxàû±æ’àР¢ÑàÒ(­¦™÷ŒA‘˜ê>¦Åô ´¬f#Bn7G|Ü>ãòí3ÖóU«Ó;]ð¥õg¤)PíӠ†5ýÞ‚ãÁ5ÇÖ ÇÍ5ƒj£fŽÁ´?$U\¦õmíS4Å6û…€öâÑiöñ5öþ5}7"p7„ö†@Ý ·J¢”(¹$¯m¶vÈvÐ!²BªPä˜' Ö«” ÙpúÕ5½‹5F§¤b†µ-UÚL@ ͤŒÄMMûç’²“#º)v7¦ÓÝè1zSïsŸxâ‰'žxâgÈÏVø]ÝŸñ¿ýŸÿ ‰â0ÕxÐØiŠ'1D£î1-7E¦@N@~!ÈÞ¨do5x£QoTd¬ÓÞëHÓ - êSƒöDCž*`CQ™Ä·å;“ê½I»¬z¬º$bPc™þ¨ x•â$1‰fë&±fÓ謡Y©·ÕÚdêÒ –ƒï/É ›i»?+” ˬ7þ®á©1—Ñ) d•…¨…ŸÜÑ“Kxà>=Ú ¿›ñN²uy§¼ <>gØnŠfWxNÄ/ì?Š ãj†Y¥ìJ‡]ép—s—s›çÃrʰ~`$§øl©UÛH©÷T†ÊQqM¯ZàÔ)JÛ‚‘]"‰GÌ17ôYðœwTªAk¨4B£ÕUKbº9f?gžöØd>M­1j¦ôWKª¹ÎVtØÒá'ñ%¿^Dïx½áeü–0ÙRx5`ãuX÷CÚ€y:bžŽY¤#š…JðѽYsvõ‰NµfdL¦xãÕ‰ÆÎuYx}n­#>rN@„ODŸ->“öžn³ü‹ð[¸œg¼¾äýùK*O#¨#Â*"¨·ZIã)´žJë)” r|vÝ€èÀ'™[4yD›Go~ÄÿÓï8U¦ Å®2Ct[B"žÍ>ánRŽßܱ0º,³Ñ1?Òoè¯énèÛ5Ex€"À³[2Ú,nˆMKÕÄéhÌ÷œŸÄ+FÌ8P¦le‡Xx8l°ª-VºÅÜVDËÔ:âaôŒ‡gSapÏðòáý=ÝxïäXöcÖ£Á^ìÕcÃ>[Íc/uX·]Þ¶/yÓ¼âmû’ÛàiÄÔ‘%¡HÌ„‰5ã¹yÉPÎ)<“üÐdî·à®ÍŒ†ž1GÐ0¾›2^L9¸›2œÍ)ÏuŠsƒ™:æfpLÇÜÒUÖôŒ=gÍBí±•YeÒd …a±T4R°­}ù‚IþÀA6e’Mñ꘭™ß™ÇÁÛ//ð%æ×üž·¼âMý’7Ù+6m‡µìòN¼ V=>ég貤Mö¦AÍZ!ŽÄ G½[Žû7HÛ0 µ ,b<6tðHЩѨ9‘לqƒp•œò)9åS|ÊC|ȈXÚVn—õ ÄtM×Ù—æ’âR£¢Qã’Ò•VDxÜ©d†IhE^DPn±Ë”õ<äfvÌ›ùç|?ÿzŸ9êäôO}~³‰vŽiïcÇÚ02 ­9ÃzŽÕæŠAáD–ÇÊîóЌض!æþû¡²~÷ÀÔIƒ~P`„ú°`h?01î84î˜hwxe‚ÙT˜e‰™Wl›+ë„+ë„ëÁ iiœ® ã ánM§ÝÐ=XÓ=Ø`t+*tšZ£)•}§0†f'©nZ**Jªãå"źˆ µˆŽ³Ãx~O<ñÄOüŒùÙ ¿Ëû3–Ûÿ™ÖR¨ú:UO§êë§Ý›^h1¹Æ÷"ZK 'ÊÞ°VØýNChÍF#¯ÑÆí ¹3ƒziÐVÒQc(s“Å͈ùwc¿±ÛÔ¿T¨…B3VP5ö¨$TsjJGIX·&JkQ·9Y[ÒüI£¾Ó?©È?¨»£„© IDAT]›ÅÅw Z]#A¥êTšN¥ê(F³~Á!²×`k7œ0¯úd‰ÒþgáÓcÅXNée+¼UŒy[»}geçû|šœ¡›'Î/½Ÿx齿¥÷š®¶Þ»ùɆXÚ¬Ó?-¿àõòK~ʾd]tyQ¾áyý–íŽÄ5ªîÏ<ò€%SŽªkzõ»IRîc&lö®©b/ü,0ɱÈQ•–ÖHCA:‚\Ú,š>‹vÀ¢í“ç6wS&÷Sf3:³ˆo_ó­1äGã ¾5~ů·¿§Þi„ñ–çÉ{ŠÚ`«<¸#îûc®Ä)Ÿês.£ >íÎñ ¿zø–Óë+~uù-íĨF1j”qMva±S]jŸõˆKžqÊ![ú,9åŠN»"¬×eJ]´, yëžóûÑßðûgK92js†ÚŒ‘>ÃV3jE£QUjE#o,VÝ«ƒ«õ€tn2yó-¯¿eòæßþg£Šá¸ÂUˆqKG8³”ãÍÕFãõä¿ÿüoøá‹#¾ýì¯)Ç:'î Çî ÇÎ Ñx*µ£Q÷4̪ mÄNâÇ1^–>ÓpÌ÷‚ïøqÏV„ì¤G†…/§8•Š›V¸ÑŽ™éòÞ:âÝè+Þ¿ø£©ùòæO—Gÿн›auZ¬®D [Ø <ó_û­¢Ý}­D·¼äwü†ß‰ß°Q:ÔŠF¥èT©†ÖÜ:1“fÆóö’ޱæÎ›° îÔ s¥Oª8 zbA7_rñpÉÅâ’‹?röà ¯ã—¼Ö^rÓ?âµxÉÀ\phÜs(ïÈ¥ÉBôˆ*Ÿ<3ic…B5Y(6øÜÖ‡·„»ƒÝŠ¿Ú}ǨžóÏ¿â^›ðùÝg|#ÿÄ7ü‰¯øž_òg~Wÿ%kX«]Þ·ÏÙȉp¹ROѵ ÑJd. YÀÈ™ñjô#¯¯©† V°wÿÝj©ºïøÅxlé`Q QsÈþä”CùÀïÓ_#æð0;d5à ǖëãÛ5H‡TuH— › •—„ZhH vªOal¶3J© Èµ.Yo;ÜnŽxýÓçüÓ÷¿bòü޳/?rxzÃÙ Ý ®’âŠGIðÛ˜°Š ªaS£25Fì,ŸcÄmuÈC;bK@±Ÿ…vµP©1ÂËH°F)CýgÊG^Š·¼ïè±ÆoR¼*ÅËæbÈwîW8^Lí*lõ€Q;eÔ̵Sºr®Wèz¦×Ô­¾ïø*ò±ã×®[ÊMƒØTˆMAùy†Ø¥XjL8ˆè);ôÖøo1Ý=ñÄO<ñÄ~¶Â¯([вFZœáŽ^Xá•XGªP¶âMI:S P¡ØAÛ×=ÙÕ¡c@k"¥‰­BÓÑ("‹4÷Ø6!Rl¼m? :òÉBó ÅÄXAö<¼/E”ªC¹±hÖíZ¥] Ô‡­ªPÃíBburìûŸa{šÓìW’KÑô¦DI$s9¢‘*ËÙ€í¼C1ß»ÖEUÈ]{È;^¡Ê†÷›—0ln$ × :}m ”± ~® L%JYbÌ Œ…İRd!É…ÅÖíQø¡“[rÅÆ©RDÔ`Dæ¶ÁISÜ&ÂlRÔ¶F‘W& ‹§»k’•K¿\Ð/çô‹9n¹¡½’lâ.ËÀ£þì”ÕxÄôÙ9ëqŸ2ÔÑš†j¨“;$ ŸÄ À©PÝéÀª÷Gg¹`+"# ò|¢^ÀêW¼WÏ™)RÅÙbÊ·­ÑdÄ;†õœîn¿‹1’ÖdžÍÚî0·T”èT(´T¡F5Ò¨ŽuÊ\C™Ô¸˜µ ÁÆ&Ûç‘ì\<4)B‹<4Hô¢B+j´²fh͆s:Á Ïßa»C1£@G¡¥×öг‘Á:ë“.ª¾’Ј9¦•Ñ3W|®‡Ôª†[ÅX»‚õ¬Çí×8~‚æThn…æÔø"Æ)3êB£)TªÖ 7-2ÓbcvÙèTÑà´u»Fy<[Å&ÙÊ!~؇ɫUƒ«'ôÃ%=g‰ßÆxmŒßƨ´4ª¶7»aH*lÖFÈÆY![’Ô.ylÒ,U”i‹%2l=ÃîeXƒ c’£÷ ?Ç0 úÚ —…† ¸öÉS—ͺA[¶ÄªGŽ…gÇœé—$ºå¨QN¼5¨Ë'Ìp‚7¨F»ÿž ù8‚î6èj‰áåÃûYK=¶Y‡}>™g¬µ”D¬ðÿ›ÌxO<ñÄO<ñÿŸŸ­ðÛ;\bèÃîŽÉIÌäËþQÅjë±Zø¬ßy¬rõ\<–‚ê ݤtLšÐ„±ïô ¤™ Î4²Òf[ ¤%ØM|òÊ ñZ^Ð9\Ó;ZÒï/ñ¬ˆZÕ©Ô}×b%{Ä ô½CñÞ¤ý `j9Ž™á^¤¸_dô½£`ÎÐ_0 ˜zñ/—& •³|È,0› Ye=’¹G<÷)çM¬±H†¼Í?#®|.ësî–‡ÜïŽXæÚVàª1có‘óÀ8œbû Æ£˜¹TžÑd*ùÚ!_Ùä+›(XÖ#Í€¬¶šD§Â’916Ôhûó1ÕÕ·øN„ªV–ÆjÛåj}ÆÛÍKÞ®_ÒµÖ¼ê¾ÁèÕŒºK 3FÂÞÞT‚‚ .KeÌ'åœE;Ä#gè¬ÈG·(^K×\ñÌüHm \s˹sɹý‘®µD5L· ʮŻMè•[—S^.?°Yu „Ž»ÁïFD¦Ç>ÁS\¼«ë®bì-ÀS ½˜3ï†ë±ó\Ö^Ÿ+í”3ó2TpGÊÙ‚AoËËð#®Vq\NI*L˜¥0Mh’Šå±­®c„fÇAm ]Ũo0š ¹ÂW ä™Bñ¥‚â´È´…‡YCQ@U ÚJAÖ 4*4Úý{©æÎÍçã¾üyÄÐÙÒq6˜v†b·ôõ/ô¸zʱv‡ÅXÑkcG;–m‡ #†CF#Ò±Oó̦>°Í>1ÆIM%,ÖýÆFÒ%FˆƒV[ï£2R 6W˜×.Å3>Ïøèž3̴ׇ!‰fãi ¶Lqd†-3žå—Œw÷ñmWѪ åÐ “‘°±:Âo_B•xýëEêÖ4g‚lláŽvœ‡™´wA¥”Â`%z¬õ.‰çP¡¢˜5a“ðL\òLùijì’®9nn9Vnñ­„ Õ÷IwUiP`‘¶[=`¥u™9}»â(¸Æêå<‹/YY]Vn—•ÛaítQDƒóèëÔ)=}ÉÄ»câÞ3Ñîö]q™ÓeÍ‘¸cÕôXn,ç–ó!ñÆCë¶Øœ »£ç/Ðý‚“ü³(8­®Ù5ÉÖaõ¹¹<Áëì8˜Ü3>x`<¹ÇSc””DÙHŠÚâ¡3æ¡3b×ñI5¿Iè×+ÚJÃÈ[´¤EIZ”Dî»qYƒ^VXM†Ë¾ÃT1~½#¨bRé°=¦Ê˜sÌNõiTA«)4Š «mŠÈ¤¾×hß)(—-Á$b8™1˜ÌLæˆa‹´ˆ°E(->;T<î™ÐVylS,Š[t‰¡dVÎyø‘º¬o|Ö=>)#ñùŠÑùå¢!e(¢E¨ò1 ÌNƒï”n†ïÄ„c('!·‡gHßò*Öê·OÂï‰'žx≟-?cá·c/ürÝ'K>ûbAï¨âíŸNhÞ2ÿ“ÉâÒÁø•@¯z `œ rÝ¢r,šÐBlØ©P(P(u¦’Ôu« mö¹tŽIsFúk&Þ-§þ5]kÅB XŠ> 1`]wÉ–6Ù[›ò[ƒæ[íe÷ÕŽÞùšîWkÎìk.¸äœK.¸Äk“}¼@ 4ððÇä¯H#‡wQ—›ÍõL£žkÔs™æÅ¸ö¸æ‹œle“ílòÂFJOÙq`ÜóÜ}Ëóð µ§±Vºû¢2$ÙøÄ·>ÉO»†Ia˜”¦‰£%{áÇ^ø…lÙÛîý ¦^bªªUQx˴çè”>~Å?¿ÿkì)ÆQÃèx‰l> »Íþ%Ú~¹ê±PF\©ç܉C†rÅ™{Cf[(´tÌ5gæG\3âм¢o¯X+zÆ Eo0iPD„»K÷¡ÚéåÚ ZTÌ´HNlÒ›èÄ#²\·K¸û*Ç]eŒzK‚~Âiï–´góSï¯ÛW\é§¼v_R›:^˜q0^ ž*ôÝ'¨8Òf|]þH²ìÞ5D¯kv¯kÒ…¤ Å ÎUçƒs•N_Ö)Y“‘µ)¹×hCy¦R|©"h‘ Òª†¢T… ù‹ðS U?–Õx·[úßMé};¥ûi…7¬ðFæ¨Dé·ôÄ G¤Š;r,ÚYM3«i§û1ž|Æîy—Ëç_óçßÐŽT:Ý-¹!T7'5åÀfýjˆ’iˆt™—g0eï$šB›),ê¯Å+~oü5ߺƒ4ÊcÞžklñDL #¶„D¯oG÷øQ„~_Ñ• ƒÔ´Ù…>[:}&B«Ÿ£¹5òHRå*±Ã7"&Æ~1#î9à^™°’=V¯6” ",Ö<Ë.ùëüü»ìœ6×8jŠ­î;Q±êÓª Ô¨K“²±Iu—ÈXéfF=¨9,n9+>¡ S}ÄqÈyÄ­1A ¡ÜБ:í†PÙÐQ7t´ý¨ËŠkÅ6«¦ËÛ_ß…l>ö¸¼?Ç9Ë ŸEôýc7@/ ŽÊkNªk”Þ®^ðýækn×Ç|·þš ¿åËìÏøÚ»—3Ô˜Q…9­0*Ò¡˜˜Ì²³}æÎ€A³$/d¡¡§ Z*Q‰xóJÖ¢—%vãÊdßé«w„ùŽ ˆ)„ÅÊèñÆxÁ÷æW¬Õ®ãŠOÄ´B{á÷^AyÛ8[&·œäì›4¦Jc¨4¦J-þåP]²O$*;,vC–ËË»!¾ñÒ~ÍËÎkÎëKÔ:çÇÛs¾ó¸úvÈrÖ!û•Ò¶ݘpœ ‰Ðä~4À7„Ç%ãŒáqŒåBi‡ÜÙ ëE…ò–Óÿ ³ÛO<ñÄOü[ðó~0å Á<-ðNvôŽVô‡9÷F-«©tÒ·UW` ÆPÐLåÚ¤Ê-ZÕßÚG;ü‹»'hlJ×É Ieê4žŠTjÛàÚ }{É¡yËH›a‘cP¢Ð %”­ŽlÅþÙ\ ƒ0]B+ û âFî0jö[ä2A¹3ÈV»eÀvÝÙ;%&ÿg iê’.Ýý§X€²nQd‹Òm0ÎsŒa¦—¨I¸}Œn0j £Ä6 ê8C&2× ÔPk0Í‚ÊЩ ËË0ì’ZWÙŠ€i;B£Aõ_FRµhe´©J]èµIÚ:äÒ¢”:T‘$‚VTÒÖaWúlëë¦ÏBޏ7¹2Ï™s\+¡°t [G±j:ö¿Ž°›½­ö» kRî¯]6(¨(J‹¢µ]ÒØ*I×eyÐaù¬‹42Q0ï+:q„:—hJƒnUû @c±¡ÃvL¿»¡sÖ1Ž™AèH„)Ñ´M©ÑDƒFY×èe…[Ö´U…7Œ»pÁ¸PÌ‹ÙÈ$C"9B;­1†WƒZÑØ*UW¥ž@}.È< iä˜ÉœÎÍ%m­Ñoè‡÷ôÃ9ƒlI?[ÒOôÓ9dia‚®íwµYF¡—xFLk(ä )ÈK¡FÒP I&@kjÌtGOÌ9ª­ݨ0Šf`Ô.ñ,Ážë‰‚ˆÙW´w÷¬Ö‚åØá¾êñIóÖziæxF‚kĸz‚¦Tè2Î ‡¼%µl–FK;¦­Öq@5S0ë”`½¢´MJÛ¤p,¤©`:8’ D:8É-Nq—+ñµhHH±±Ô_ÛÒè šQáê ]eÃx h#ôº†J쯥ÒàÕ ƒzÉI}C&&Þ=]oƒåçà&jL«À¶ ,Qª&žæãª;l-ÀjrFå”q9e\M D„¥ç˜¢ÀRrd+P›AÛ¨Ô‰A¾°‰|6·]–·Cîù`À¬23†Î¿Lp›_$LåÊ–8ö¸—‡$­Ã¤½#‘{7OD{\̱eŽ”ÑJÊÆd[wXTC¶E‡,shs -nqdFÇÙ0L9>½¢7YbtJ {ß=•RK—X&ÜsÀ¥|Æ{ùœ×í+bÅe"ïѨ艆,Y7)F]¢– ¢’ØjJ×[q8¸åüø11 .yeQÖ&EeRV&«my:fV0cº¬pŠ„n´d²¸GÏUvw!ëë>óOcfÓ.N¯Äîd8á”’ÕƒE”RÌ^IgsðlÅÉÅ”ÚPIqHð™?º¡¦Šó_y¢{â‰'žxâ‰ÿrü|…ß¡÷Œ¶S¾RIZ¶n…"RvJ—\ ©õ©y´© ¾ÈŸ APÏtš™N“¨ ³7¤Ø?ëïÏ}H”ƒ-¨1ôYC“èT`£ jÑ©q;)mËÈœb‘ÓeÅ„;¶J‡ÛÞ7/޹ÇÄ=ŸÊ1ÙYí½J»–ÃÖèscžñ“ñ%¦(öÂï±ë·I;|ÜœóisÆ.ò÷Žw{ƒŒàñïTöΉwÀhz…î½ã—(-µÃÇl>u ‚¿¿ã 7çEÿ#IQÛŽEq`‘¶‘9>‘ãS:¦“±v:ü |ÉuuŒ¡”J‰.J QrL9XÏ8XO ×1a1bÆéäQ×gà,õp»¢ÛP˜:&¹´(0™ÖëtgSm4ªLçÁ;à{ÿ+RÏáÒ†. t¥@Ó t m¶‚å•„õnÿ°¯8$êÞÄb“…¬£>«muÔggzäcƒ<4ÈuKdZM Ç”Ö‚ÆQÙ†Ë~Õ¸Ëâ¨Ï{÷‚;oBdú´(¬ï‡çäŠÉƒw€¡—û¼@Oî!ì¡$ÐIà,ƘŸ«gá®"<2Â`v í¨ìÎzLýOÆ|úåˆÓþœ“þ·˜c¼SD:U`i‘X$¥ÆšþúÎÿÓ=”œ­8=Zsv´bÌÏÞàoñ«ût4Š2T¶FÙÓ(û{3¤"RÉ#•b«RD*M«`3e<û#Ïç3l§á8ÜrÒÙrnq:UO£î©T] Ñ4d‹†Õ{IñN²þÚÔí~l3X%IÚÒ´ ªV#4¨uß­C"¤¤aï|šáš.›N[yÄ[{‹å4‰„OG?¼g¬~¤<¶÷ubÓŒôG‰ð¸}—m™Ñ\•¤W5«+(eŠ%æ •SÄLBŸ¼ï’÷=òK«i¨Uˬ³”Cvœä××7W78eÊ$yàëäÏ8IÊ«ò5Ý{zôîõ–d¶ÍÎñ™Ù#rÇf¡ö™©æÊ9ºÙ†Áz…±jW CWBWwmRÃá>ðrŸL¸ÛqýpÊõâŒí6D&Pä&Q°hÜqÈNOpÝO$xfƒ5bdCޤßRj¤}‡âj e`Rµ)¥©‘T[/`ívXÉë´Ï. ÈS›*Õ‰$´6œœ^{êE‰rXcœ•ÌC6J€-rl-Ç&ÇVsÖm—O<ã²>c]÷Q”K/j Îõ¸"¡±uvÝÓÉQHôQ…døæŽ.ë½”´˜1âž yfSEedRnM’Ô#*Ï¥9SȰ¹ÓQ¶ Q¢íJnî¸IÇÄú˜Ú¶ÙD]nÞ¦”YÁÝ;yÛcÖzÄì€íåt­ ýžs±Ÿs†ûûûûUý3ž2Ÿxâ‰'žxâç;‹úð?ž#ˆr$IF[7G°#V:äjH£ û´‰ º‡FBµY¨´…‚̤.ÀelïGqÊA‹6èZ…lUÒ¢¬$bª ” FSáj)wÈ]ÖTI[¹°ø±ÿ Ùõ|îžR.LÚ…Fþàý¹ae ¹éœa‡v˜¡éÍ^ÌI }|ÀÛlw!qäížó¯J–Àê±6í¼Â:ϰ/œ‹q›!›÷.?\p^ñÅÙŒÏ>òùéO„Á–FÕh•Æ×ˆ kÄÔò`X˜}RÅf¥t¸QÉk[ͱd†¥î]:?KÞ"¦ áMŒqSº;F½)ÑÄ£èi„NÄÐ|À5w`6ªFŒÍŸ>ÓxÈf’ìê[j­óÐ? í9\W'„lé(KºúŠN³¤Ë4˪èx;$‚RÕÙ™+£ËÊèpWrq½;ãzwÊNõQûJP¡5½vI Æ %…iì…_pÛ?äÓÁ WGÇLõ1ú˜H÷‘B°vºC“{ï€Æ_ *Í_Î ]bwb‚îŠàlI¬è-æø×SÂ+…ñUN/Ë0À€Ñ&T‰ý§|h^ñcû‚6}ƒ“¾eœ璉¦B8ì:¬œäAE{¿¦÷~ ï¿Ã5KÎ>+8MsΔ‚A˜£Û%úq”h[P¶ l³õR¨Ç*y×$=³IŸY”•NQj…NYê4WûýŒÑû9¼ÿRs:(9œJôí©O$}¶ŽOÞB¾h)ß·lþ´ŸÀ(À(÷£6§’4m©›U¯A•4ŠJ!L©Ò îEŸtØ Ÿ•ÑCïÖèv…ѯVL~ºâàÓG?}"ȶ”¿t(K—ÒwiFûWy,Y£/3š7%ɪ?€¨SLZF"f(¦01ç:œëˆ ¹?æÏù .øÀsTÙðMþêX#L¶t¢ «{œUÂÉêš4qpœqŠ3NpRîúæ}Ÿ[mÂ6a£…D"x,-ohæúuMp¨ Å©N! r×`¥õø”=ãõê Þ¬>çrñŒø>`·ð‰·>$‚"7ÙU{áçq„g$8JŠk&¸~Ê}8b=ôÉ3²iHJ_# l¶Fˆ­d”NejT•¤vÙˆ€µØ ¿UÖcûd‰MhˆTÚNN?¡ž—ô´9SwÈÜ2óFÌ•®Öèj…nTäµÃºìý¥B±Å2 †æ’så’Ž²agw˜v±rD+ÑG5v˜á›û³Äs9$Ãf&G|à‚,s¨–&ÕƒAõ`R ƒÒÑ)]ƒz¨ÖwÑ!Ñ&à*:CYµÄqêè ›]Jñ®`ù©Â4u²Alè‘  ,/§k­9Ôî¹YЧÀdM—‹ô±ë÷ÄO<ñÄ?W~¶Âϼ_i¸Š¦Û”ºÇ¦)•uÔ>•ê‚åжìsšf@ºVahºV¡û[ê\ÊÙ^‹P(*Ø–(´µ†±Ñh# «Î1vªÛî»>&¸j‚¡nÐÕ (“ÿ—½7[r$»²,×ÕyÆl€™¹>D„#X™$s¨–îí쨔N¦‘$‹Ì|´Ù † è¬zo=Àdu¿¦¤HˆØÙ~ýÍà0u@·žsö‰ÝˆÙpÀ}u@ñK½±H—.õ÷š+ÑG5ÆèSˤFiH¥¡J¨¥Xfr5d´“2wä”ÀÄè£;ÈñO·„¿\“[.é$ IÒ‹?È(ÕŽ^2°æìËÌp÷QMê¹»™$뀞uÈqȵ:b­"Æ y”Cl l ±kQÓ3ðÖíɆáÍŒzß”ôúsŠ®›áÉ-µ¬d ¡v“\+Z¬i1.ö™ªÛÒ§NuÔË£´,VvË)é9SzÕ”n²Q>–QãÛ-¹¦¯{d†ÃÖöÙØk+dR ¸°Oyã½æ‡ð å¹+ZbI”­ðŠ„"±(sƒºÖ¨$¦Ã‹·ÜöØÈRš˜ª¢U¬i”An:$ºOãîÚV?ý5´´5ÃŽ‡ê[8†ŽX×8­„–³bOÓ鯻u4† r]r§ÍƱtNXß'Ä÷1›dÎv‘ô]’ $;É"ðSüé #ŸÑ¹áë£À`Ð5‰Fޝ¡y á4û*·Ðoš’ÖP&Yäâ³€Z4èÔ4JGx)î*¦ýv‹ö°¡Û”e 'yÃiÑ€ðÑÃEצ. RiÂÊFÜ›ˆÚ`ë`kàè 9Š¢‘(jt­Ä1r”¡!Ä.U±A§ÂDW ºhÐÔŸ–ŠK[ tAß´håcœIÂþ‡[öã;ŠN@yRæ>¥²(•½SmÁÚ@uä ù'póO¸r+Á>+K€íÁ‡ê%æ>+«Ã¿›?£”vÓ+gœf—lïñÖ)Î"§?™¡b®v)¤:5ºÌµµm° CÅ[riS( ˆ ØÔBC=êH]§qMjϤMòÒ!^¶™-ö¸›q;?Ù2ઠßH°­ê IDATDA¥L–M£<Ú¥öj®áÚ)îˆU«E©tLY ‹ŠJ3ˆµˆ C„R†4t„ßP6&eeRWM¥ÓEî°MVë6ó¤GÞ·1»íÁѯȅÉD X©—ê”\8m·¾Eh %tdm •ª4œ¦Ä­r¼<ÃOSü<Å)rL­B $tFPáZ9ØÒ®Ö˜ª¦T+:Ü©gä™G½5iÖ&ÍÜD¸ =¨Ñ¢¯@‚´òˆgÍÂDM5´BîfI{ÓÉ©‹íÖc; ¡’ÈÚ§ñläžh¶Ä5VZâÌ3,»Ä0k0AšÐQ?FÖ>ñÄO<ñÄOŸ¬ñ;2¯ùÇàÿF Íb|3BZŠ2jQ…Œ L¯Ä´2|k‰ÑÓñ­Ó¨˜¥þtýsîé‡3zÑŒ~8£¬ðµ„}ã[+˜Û}–VŸ¥Ùceöðü”NoAç`Açdò[|哨€º6v7.Eƒ^HT)È*—¼ôÈc—"·aÅÎø™@ t¿Á´+#Ç#Áëd´^Ä4Ò@v ºbIÙ¼^²Ÿéc†ú##1Æ(+"¹a¨¦ªÆÕ2,¿Âôk4_bºµ2h¤A%MòÊåJž€©³ º\õÎÑÚ µ/h,%*iðX˜T#¾­ ªMÒÚû$ŸuÖb,G,:]êÁaÌž=e`MØ3zjA¡L iPH“;yˆ%êÝüž£PºÀhêJÃÉsöå„¢ö™TûxeŠQ58UÁhýÈquÅquÉq|Åáí5ý»;¸Û’$¢„h8ã °ÑUM]˜T™I›Ô™‰Ìtdª!3L5š’¿¨RønF·³¦Û]Óí¬é5+ú圎±ÆŽÊ]éËd7K:­hè ÎÍ t£¡oÎðËj¸èœ2ñØveØqÁ¨œ & êaFõ•¤6=ÊçC>yÛÙCŽ–áj9Ž–ãå ­8¦½Œi¹k<;¥0-6zÀBë2£ƒ­Jlr\•a«-Ò(Î<¨#ò¶NÖä”þš:ˆQALÕµ™z\¹§¼m^ç6ƒæ={†¢çÆtÛ`„`†`~Úß·|]²Oñt¯òPPµ2YÔ=æÕ€YÝgYvÙWŒöz/8°ÒOf/ýÔ[ƒžËO¯Åa·wÐF×Èl—u/bÒîŒöI=Òx§*±èºK:î’®·¤k/ ´„}ù%„É–‡²1©>ÉÊ*<'e±ßåÎ×xU‚o&øó/Þ23 ù»©ØkfL½?Á€]…ªûyhQÔ.§/w7ªÄR%™á²1tSÑ7gª¦.M&õˆ¼öY6}NÔ%–lèË1ƘX¿ ÐÚÎo0Kûünñ næ'¤Ò!ÕRÛ!ó–F›…ÖE ž¶ »)M“JZX¢ 0vJ %´·1Þp>ü€¦Kü`‹§¥ì󀥕ôåŒkë„kë eéÄfÏOuï9Þ¿âäì fôwR}ré`45F]a65M¢?´Y;4sbjï"óÿlü"Ð}‰å쌟OŠÕ)1Ÿ×˜í óyLu²Âæmù’ïŠ×ŒòG¾Ô¿åKí["bzÙœ0Ûbä5a¶¡%bŒ½}OîZCE\G¬›yÓ"®#®•ÎÚêpœÒêmè¶çôü)]{FWLÉ—y9`–˜ç’< ÊMÊÂÜEf8d‡f ÄšgÕŸ•ïxU½ç¤¹æBs¥Ž¹ÇÜËt!wi|4–F;]&[Âí† I(kVø"E§ÆÉ£Ù#Ÿ-ÞòõüœÎ>àL×8Ó5bš°­%b/%XÏÙ/[ôBbÄ}-1Öµ¨Õ'-ÕÊÊtwÚíŠð$':)ˆNs|7Ç«2<#ÊÊÝÿ4Ÿ¾”tY ‰†. ÎÄ%ÓÖ€i«Ïeû„i«Ï°xä$¹á8¾f8žao7HQ ÷ ¯aæú\îq1úœËÎlƒ6-}MËØ©[,8\>pÜczžQš6ÛOÆoÌ.KLµ[ÙÑ• dŸ‡¨vŸüyŸ¬N(õ{ý©g”–ÍÂïsåžò]ó3âÜãµTôõ˜ž{Ïi´!h{ AŽ‹“ŠÅQ¬½fjÌh4% %=æìóÀHŒ1Æßn1¯KŒïJÌï ¼8¡­è„+ºŸ%X=hž ªµ2XÖ=®ŠS.ósn³#^+ËoØ-égÖ¼A_‚±]îfµ´d·ËøKu«“¹k/bâö±ŒŒEÑýQiáqV^qR^cT5ÝrgüFò¿H%ÔÒ@–M¥#KX†,ìóQ—w£ç¸Ûœ£É GÓ[Ú“5íb†ÕìE3^†H¼`÷zúì ËBç£s¾S}ÆÅôMIt¹koÕUƒáV˜A‰”ôí9R êÊbš ¹OX”¬¦fÐ,0IG_³Œ)|@d®)”Ã<íq¿8¤¸w©4ÚÖ©|ƒ*Òö®’¦ ]mN†Ë–”O©l,JÆ”íë;+ÙÎC&oöøøÃ ⻋ºÇ¢é7-ÐÆ¢ÁZ”x휰•àRa PJ§ÂA éT^‰9,éYsöíFÎûö˜¼r¸R§\Y'¤¡K“ |mK[[ÒKVuŠÞ¤èuuÍL+˜‹ )$‰€õ¸ÍÕÃ)ë‡6Wã3ìÓ ëu© ‚îÍ–X”ÿÉßtO<ñÄO<ñÇOÖø›Wü·àއu‹™?güýs&ÿìñæ}&ôµÝó}àà/êYs^šïøó_ùß­æ»æ5Ú­d1ïòîÍK6K“RÕ K„Ì1N7XrC÷`ÃIwƒ½orUžqÿpÈÕõÉ"d[„]ÑŽ–p‡¯%X¢¤ÏŒ ƒÀJP–Alv¸3|o˨ûÀ«ýøÙÙiÚ7qÃ:% þOóm êµAM=7HcîØш]¹h)Œ Æ² \=' !ìÄ-Á‹-&ÓwϹ¸}ÎåÝs†Ù„J˜DÄœ¨+†ò‘hµ!Zm`{j†V*„¥hº¡óÐH2éR•&«²ÍJuÁˆp·Zà¼ýžÏýoùܪiw$2`\ø!û’¶¯Y$½]2é–]4¼Ö` 3¬~Ž5ÌikŽ——|½ø¿ø†/ãïøõÒä£<á®9DiijM£ÐLŽÊ;Œª¦ÏÍ&G×^á[)¦U£¥%£ÇG>¿xËß_ü–ç÷oØÆÄ‚$†­¦ÁqJ¸–„yL ò ?Φþ$C<*³[U0†b Ùê“ÖmîW 7׳ÏΔìÂx,vF=²Ý.´^³ [/¡)5~óüLý>—~óü|1}ƒ}]rß0º™ÐRñÎ S0BwÑ3.¢¯ùçèãÁ±gM˜Sö¬ ‡Å=yËÆ *:ÞŠ®½ °,6FÀBtxTCL*Úr…£2zrNÙØmu¾O®½$¯cŠB£.3T9£¨mæ²Çµ<åÛú+6yH¿Ùð™qG×ó8í€8ܽ>Π>y·dÑM˜u–ÌŒ µ0Ù5ujHt†-V»³­XÕêsì"gÓ„\Ç|ç¿f|4¢”NQ ¡± 0ÆxQŠÛש—-îÓ£±}¦Ó!«y—bæ r…Ùªñ‚œÐOhY&›óM‹ÇMɦÇÍÍ97W#V×!ÍJ'ï8,ó·õ!¶Ìh¤ÎXŽ7#&rD–z« cYc®jš•N·I²€j`a¸5½zN¯šÓ«çtå‚–»"ªWD‹­«µ§S:&¥c1wú¤¶‡åìïðŒ”Q9áX¿¤«Ï±µâ/FE4Rß­4Pm&rÀ<`!{lêEí@¥ÑÑVt½%cEÇ_ràßñ¬uÍ3熑6†TÌ·Ø“íQî*^ú§Ÿã‚î5xaJè¬ 5mBËZc%%:k;dkú¤Ê£ØºT…Câ„,ì†]Ó8:[ñÈ>Å ºbEjø,ì6]Ư¼ÅwR~Vý;Ï´|gKÙ³™Æ=î×=îâs"ì‰ÝW8žÄ¦!tR‚(!P ¡• •%, DY"–‰tÙìE» 'ÄÙkèoèÇè{4³ XC9brõ)𤫭љ‡=AyëÓéw(‡£‹;¼YÊÉæš—Ë÷ V3̬ÞÝà—ìL³ž—rԺ忴þˆÕª˜E=œ à 2\-%Ô·h­†ø äšglÛ>kÛ#[ ì?,~ŸÓmÏ ;3ÜvŠÙ–ØIŠ¿šÒ^ô—%AžâÕ÷hõ’ªªhœ ·³¦×sÒùHÜjámÈ”ÍMp€9Ïñý?Hñªû±¤UÇ64RÇW)Ò‘†’R t£Á´j&Ö…Ù¥U/Ôô›1õ@XUˆ-hsPw «]á·Rhƒp!?`®%½õ’—ñ^gßñYö†~3Csä®Í[cg¤zìZ:£O Á 2­ Ï;ïØ´}âVÈ~뎮¿@3%µ4‹-FqG/_Òägë+ž­ïˆ¶(`®÷˜‹szÌ›QÓ[Íé­çt× DK¡=“¢Æ +JÍâÞ<@8‚yÐgÈ”vgI»»¤3Xô7èšÜ©–;3™™‚ ÈÀ³<;ų“Ý߃7L°œ‚B³ÈJ—riQߨ;Aºõ¸åÿ…‹>a9o³t[¬œs½Ë}üŒI<$õ}Ĺ"<ˆ ÷Ö„í˜À‹0eNl¦ôå”ZšlT¸[Á „P¸ZF®ùü ½¦Z[̼>Úóšu‹{¶%Ml’Ä&Mlˆ+È· ÐwóÎ(P»Ri1ûꞃêŽýâ¯J°dE,;ü»üšuÞæ*9eº’o]@C¶ ª–I¡Ù¤ÊCÎuäBGÎuš•†ÆÐ˜²gÌù[ã4=æ•Nãi4Gþé†èõŠh´¦e­0>Åw=ñÄO<ñÄO•Ÿ¬ñJ¡5 MihºV¼ˆN`à¡§6œ€hI´VƒÖjí†Õ&â}yN¼ ù¸yÎ*oóè(»ž–2ðFÞ’‘7Æl*6ëÛE›åEŸMÒ!©B¶UHQÚ˜FÖ¸^Nè%´µ ã‡>³û6ïîOxsÆb=b¹±Z‡4±F¾ç°È»XÕ3%h”΢î3/ûÌ«>ùÜE¿lÐ.$úEƒ\iä-—¼åR ,ô“†½lÂgÙ^fïx™¿Ãq3œ*ÇYd82cÒî3n·‡Ì¬>µe`·2Ì„£ðv×JX_ЫgXU±»Éúkã§v1ékÕb"‡Ü7‡l›mRÖ.T:]}Źÿ‘çÁÎźöœ¶³¤í,ii+ŠÜ!œo±¯s´rWQé}R¤Ð; ^ÑqVôõ Cñ@Ë^bŠ’Ê2Xû›2 -=ò­KUÚlÃ=”H¡“Ù.ìcSý(OOñ ½`ÆqtA¯™s(î9pð[ åÈfº>àÝúß­_q-inh 6DÞ–B{Km­ a°E_nÐÌ Z¹E,*âÈg¾7d~zÈìôpPpÝ¡·î‰Z%FZå°Ãæ-TJtÃàñhÈ»è%ﺯxø’n¶ “,8šÝñuöGúõœA=cPÏ0êêY÷A¾›pܾÁÞì'cÖYDUéT ²u”+Ð[ 1E`1î!Æbœa ïè%Dç îyŠáHìYJðqBûcAÿãw[âÊ­‰©d‰ì•8/cú/Ç·?²nwðØ’†67‡‡k“A:cÎØKÎ8'ª76÷ø2a¤Q@ÕUíιÓe yð‡Œƒ!Q½ä¼ùJJ\µÄ­¶è[³ñÓQØ›±UXYãX Io±ä|~ÉzÕf¨=2ÒÆ ´éÎøýµéûóÃó/r‚œ½ö#/ú8 ñœ×IІZé–^¼Ä‰Kœ8§›-é¦+ZÙU æ¢Ç[õŠ·òo«W.îxõø–W“·„Ä@¡k FÐ`+Ráso0w¼ ¾ £-9í\pÖÿÈÙà#Ú Â,j¬²†¢Þ½î ÈÄ_ŒŸ‘Ò·&ô£ ƒÖá*j[£±uJÍ&+\Š¥M}g Þ ÒØãÆ<¢4,Ææ_KÈj‡¬vHk—Ty¬ƒqÐ" |ÄPõcöw´o9ðî¤3úéŒÁfN3G5P`S~Š~ZŠúm+ýœ´vѽãEÍÁÁ {Ë;¦Cf#ÔED9ÓvƯÉvý·Îîu½·D̉¼á‹ú[^çßQ`óÐŒ×û<ÔûÌ’>ËU‡åªC±rQš ) jͤôlR<²±OöÖ#{ëQßXï9ÝíÎá=Uß ôMÊcƒ23]‰6jІ šÕ P˜OÆï‰'žx≟0?aã·«øiJChÂêÂ? 48ð\!<…æ5h^…îլʈxq±=G›@­Ô¾AÕ1©,“nXÓo%œµ¼h? ¦~ÛcyÙâî›S¦7#OC::ÒÓ°¢ ¦_áº9‘“ÐRÔ[ÁüM›÷oŽùÍ›ŸQ¨iDˆyâ°(ºÔµ`£cpôȰ?fÏ3ZvLd­i…1‘Œ1îçh–†^Öè‹-óÀc<1þê%ÿð9ÝA‚¦l"U²Ï ûÒ–c˜¿â”:( LLOgÜÚã;í5ÿÚýG¾9û¿ºú-¿œ}ÃÑÕ-¿ºþ-ž‘a85†»5»6ÅlwúvÊñæ†ýä:5IJ—…h³°Û,¢6+="‹<â yT©A'¹£ûý-?,èüö–ÖßJ¢Lâºã°Á™%ïrÚß,(¾Ñ1W O5h4”ª¡9®pë5½ö˜“«v=lHlnšfi‡ÓKq¥Ö ½ñ‚Vÿhú¡ï®³B J €ï‚Ï™w{LÔˆ3ÿ† ZQ5 Ž\±'/i× oÁœ²@«%VRbf^™ùýé’fbPO š™ŽU᮲¦ùr×V¨ñãC $»÷³Ún±×yDôk¢ÑœMRh¥°(µ]‚i?[2\MM¦ôsŒªAoŒz÷»™«oå+~]ÿW~]þ_̾§º5‰®cNo. -è{5VURj&ss@ì´ØmsËßt~GÑ3p÷6Dƒκ„5»TÖäÓïþ¯+~ABßœr]r<¼ 7mVZ›•è°ÒÚdŧŠßŸßÒãÆ;bìŽøÖý ‰\ ÔJC.5d­Ñ|¦Ñ¼Ô‘C}Wñ‹Ö¶îø¬õ¯üïÙKçôÓýéœÞã£nˆÝÜ¦Ðø óýï¸ÖÏùAû’µrؾáðà†Ãö N¾Åù×>2°½îSnȶÐ䩸5 êOŸ5DbñºæçÕŸø¯Å¿ð ÷ÉÊ€7U‡/Î8QÏtš©N33°ô‚F3¨<‹¢c!ðX=tX}Ûeõë.Õ·{¯ç ¿œò ówüÝè7ä=‹Ì³É<›Ü³HMÔtÉŒÝÙ ?¿'žxâ‰'~Òüdßãdȯý‚YÜçÝÕÙÄ'»òñÝ”VwMÔ‰ü˜¶5£]…çF[ÎËK\•Ñ«çô›9ÝfNP'hH–V‡-Ž*Ê¿Jʽ¬ikk‹>[½ChЦ1ijÙ˜4Á+õ'Ú%=ci•ªÂj*̪¬kÚÕŠóžw¤G#ýžæ@§è4m×K9·æ7<+nj´­5-s…g&fEÇZpb_SÚ.¶[SY:µ©Qk5ÊxN†4‚®9Å S” ©í±iB(5ô­Â^T°H¥ï̾gí’ûF»BZPH‹„%©æPh6•0ðÛÞAŠõÂÄßÒCý…E}ä’í…¬Ûó¦Ï¸5¢Àb;¨INjªM…²ʤ!Ý6Iƒ‘HTž”Sš+>#â¼ùÈQuÃ0ŸÐÝ.1Eµ3z)»ÖDÅ_ª~ ¤.(“"°ÉÛIÛ¥,¤#Ðõ‡]J¬ªÂ«ršR£­-èxkÚ½-ígÍ dÑŠ˜Ú!5!™Ñxhmèbl«&`·£ÞV ¯ùºÖCÈÊ%zÖà$9aµÁ´KdOêUÛ î˜T­O+S*“Ê4)+‹Ê6™hdªÓ.W¼˜_`L2,Ù°ê÷yûÕk&Ù!V[Ãj ¬ŽÀ k"#¦•¯‰æ1þ*u1ï¶l¤¦Ï6ðI»IßÃÊsì4ÅÙ¤ØI‚©Ktttôvƒ¦´|œ×JÉpÉpÈqAßÜâ:vc4Ô)¤C-uji’é6–‘30y©¿¥ëÏ©ƒÿ†÷ ¡³Jº8ã’Ów×´Øß¶‰ç-â´+3žå·ôÓ9Á&ÁtkŒt—ê+šOÛCþlX?™æª0IKŸUÕÆ«÷šDSé1¾Jéës Ç#<òŽG"b'úQµ0hik"sEä¬qeF¶ï’²=—¢oâZ¦±.ZÜ/Ÿ¡ÇàorHxEJ]šlUDüI¬sn½g̬Ï'õ]6NÈÊhã #€ÑpAx¶F ggwøI×çÒ?f\í±ªZd•ƒBPk½Å£1äÊ8f¡ºlðQ|mÃ^)°ÝÛ+°ý£®Q‰BUáPjb*h³¦5Ø`|ÖÐ?}DŒæo½ˆ Ù­ò $’"³X¯Û,7]q—²¶H?ìÚ†Ÿxâ‰'žxâ'ÈOÖø]_ŸðOÿô²mBî²gÜfÏØ˜Ñ®•«Å.Aßµ„ºdt´ån¸1gUôX®ºp¯Q¼÷h·WœÉ Μ Î:d¬—ë…ÆûUH]šfIÔ} 7\PVóѪ*“³ٴæýムÑgëu({-ÔQ¹ …¹+ûç8§7˜sÜp¢_%ö]IýÎ`ý.D‹+ú΄QÌèè7ÊXŒzÌG=£.u`à6 VS Ë%3Õç"?ã";ã">ÃvsüÖ–^ºä¸¸!¨¶øyBPlñ‹d·Ìè06:,ý6º)9”÷ª{å=~š2Ô'4™N4y‘|@ê:J×>:‘\Ò’K•³¦ESøEŠ‘+̼¤S­9®gŠVoÅÂèRtmò®Cѱ±¬’ýüƒìýüžA=Ãsì0Ç r ¯â™u‹ã•ŒšG¾ÐÞ°Ú̽6 «Ã\´1Íßßí3óœŒ@ߺ1…kq©Ÿ°ÉB†«)£»)Öu…Ø(Œn…ÝÍq{ ^{ ~Cæ;(³KZ»Ÿ Ÿ‰…ÑNÏ\"ͤߨ¬NÀ „%(„ÍRksgì#4I+jÃiŠ0S¦X·òª ½,©¯ ´EƒYL8ο'Ì6|–\p”Ò=}% IDATßð¬ºe ¦hšÜÝàÿ9G±kK´Ø™@ʖŲßf1ê0?ì |d2HK`Ê/Ï1’3i07ž\ãõ×x¯S¼.Üu¹;9á¾{½qJLÙÛ¿b/¿dhåI­øQÚ@âŸW„ƒ”ÔÙ`To•áÏ3ÜYާxz‚¯'p Ø{$žOâùl½`w6ÁNuȦ PX)Žo9YÝPåyc°9êñ?ö‡4šŽîèh¶Žîh„ZÊYvÉYþ‘óÅ~žì*w\të(â¡7âaÈÃþˆèaNgñH÷vL÷ªÀ Jì}vÚ­'±¢ ×Éht±Kƒ%ÇýÔ¾¨4 ÏMÐÚ5¥¥³iyäÒ!S.¹rÈ”C‰Î@<òsQp*>R66uir]óQ>ÇÑ3Â"&¼ùbûÑ(²…K¾ôÈ–.–^1Z=0š=0ô§ø2ǨŒªAk$®íþ}Rì”æ>³l@•˜¬7mºÎ‚޵ cÍéš ,«‚–†Øk,7].Ì3.Œ3.Ì32Í堺紾ä¼úÈ@Ÿ29è3=è3=ì3ow±ë‚mr™óP²ÛˆNTn9P¬U‹‹æŒ‹z§[í÷戇h¦š[“*—I5$ûDÙš.ì=Òýò‘öÑ ï´Â?­ˆG¾ B.‹&Å€­ðQR×Ö†]²u\jt–V£)8’—躤͚ŽXÑ6Ö¨­Æ}9b|;âþbDÒø Ô”A4eð7º¿X@оÎw½Ïø.øŒÈ[Ùk"cM$ÖÌW}®_ðpu@ž:¬ÿß'ã÷ÄO<ñÄO–Ÿ¶ñûþ/jÛ ‹<²–K¹»/åˆÿ¿ñKFÚ#ýžÇ²„• xðXP´÷Vœ;ùU÷·üR}Ã:ÑøW‡ÌÞòþý!•eqüå†ã/¿Þ`6ïß¾B¼WldÈjÙ¥ð,âOÆïñ`…×cÛëR>kÃ*„ 6b;ü³ñ»æs㶉O}¯³þ6àá7{ÈZcðå˜ó£w¼úê=ÑIÌsÄs„îTlôW&X²@WõÎøå}ÞªWü6û߬~É ÿ=?Ûþ‰ãô†¯ò?±ÁØÖIžÔLõÑ>×Ño‚—H¥ñ¥ü!m¹¢m®ªGZYÌizE.lðÊ»ÓdÒ&S™²YÓF6:F®ð¶æ¶¡£ÖˆèŠVoɱyIl…lÍ€­XZ-%Œ6F‹ |‰êR e)¤Žy˾;¡ÑLjÛâÒ>æÒ>æÂÆÈKIlç5<–8å#ÇEÌ«ô;qñŠO{Çdúã—ÿ•\ ÍÎ:PF«^‹»ý®Ùö}\#Ã5R\#× ­|Ck½¡µÜ®tY¡÷*ôN…ñ .[]nÛ/ø}ëoø½þ7œü|ߣcæô{÷trÐÔNºB‰Pö32{ƒS—tÖ+:wk:WkÂEBs hö5šÁfè±Ô;,Œ ½ËBï2W½Oê3W=F·c^>~àÅÝG^¼ÿÀÚ ùîÙç|ÿìß>ûœi8@)% ”2è¤+~ùð êz‹óûÝ'™±{o”+X·"®ûÏx³ÿ’7'/ÙÛ\s˜Û<»-P¿ŸRÀ×AìÖ•˜A…ë„.±((±v»é°š†éVèVM4džˆ˜€ŠØàË”~óȉ¼À—)å ¾«¾äCóšïù’~2åëâìÝMùâò ÝrASîV=4…ŽæHìUŽãç¸v†Õ”M!t…¦+ƒ]«´R?VýÒ§JMÖIssÈ™ü@ ·tÄŠ—Æ[zÖ§]àŽJ\Qð˜ŽøFü’FÓ™ŠRÓ80ïùÊø¿2~Ë™}ÁÇö)­.Ú'\†'lãMñ°YGÈÌ$Ê‹$:kÕâc}ο•¿à·Å¯˜ØjS£Štš‘@Ø5éÚ%]ùLÖû´’5[k~ÞýžçÚ{fýó~Ÿy¿Ç‡°Ï…~ÌDôI”ª±qm=ck»ÜÚ»ÙDGe¸ä©Kzæ’mÌñÀ¾õH©Ûüîþo©,®îOYe]Ïïxvv×çâôø‚úsÞë/ø`¼àƒþœëŽgÖ-Ïô[¹åq=âòã9W¿?ãòwç¤kŸì¡ _üçß=ñÄO<ñÄ?Yã§„ Ö j¡Ñ(‰l*¨4´²Æl,Qcš ®]phÜòL\óLÝð¬¾ÆÌkªA¼ôÓ.¨ ‚å)”Uj’.|VÛÓrÒ±ˆ<~ORf˜‰Uøõ–N¹@ æAA¹g°èt¸ ˜êb·EyÐ706 cSbljôMMÔ^ã÷·¸A†¥ØÂÀÕR|cKh­Á‚NwAï`FÿlBt²aE¸ycY!s¤ö™Ö=nŒ#¼0ãÍú%oä+Þd¯x³ü =hèÆ ’’,D¥ÚUF*˜‹.kÚdš‹4tM#ñ=u‡F(K@)PPŠÝ,ÒRû1œ#Ë]Z›%-–M›V³Él«9™ò1Í(ÚÁŠ–¿¤°l6»@Ф^•clkÒ™‡Üê Ip$DAƒ×ä„õ·(ðò«Î1Ë=«ÑÌÏL˜Sú放=£ÄbÖôÑë>ua¢Rm0Q{hºB³±b%ÃÖ˜2Ò©“*5©“&ÓéùsºÞ‚–¿&ô6xdتĤÁ@aeA³¥³3˜<;®W€+É<S÷qŒÍ0q ß*‚jOQT ¢/aƒn×h~ƒhI(Ô®¥/õi–KePz6YÇý$‡e¯ÅØî2©B–+“R©9q \7!)F%©k‹mRÕ†S£;õnvЩId‡\ù4[b0r…§¡ –k’›ÎÚú>«NĪ‘Z>J‚†Â!'"¦¥ÅlmŸmè±ízl÷|–iÈ2sYÅ&ë VŽÁÂó˜¹3¿‡íÄvH¦;Ô˜Ô¦EylG-âó.‹öUeQÕ6UeǃjÂ0d”Œ Ëõiñ:6(Wc2wCŠ–½ uÑw×<±BMv³–lÙ(0ÂP]"ÄŸM4‰†¡×h¢AÓ%J Íb«ÌE‡…Öå ÓÉ—ìåŠ14™ÙnZÇM5¯ ÝdÉhñH¯šSØ6…mQtlÊÀ¤ wï÷¢éA¶S`›9¶] L¨¡$69¡ˆ© “¦Ð)§6ÍV'rcö¼ ·Eêtªo›1PsúÞ_K¹­ŸÑ®WXuùãg):(] …O ™Ò”;Ë™'}›ó¸B¬–¬þ'{oöKšŸé=_ì{äžI&ɳ×Ò]ÝI#É–çJ3€oüÏúF6ìÏh4jµ¤ê®ª®³òpM2÷ŒŒ}÷EžîÖøz, >À‹ð† Éàûý–—‰X·Xé=ò17é ŸÒ§¼/Ùé>º™ ; †›¢ˆ–¼4É6ù­IµSÙ]ã4ZݤU M¥VjU¢©[š¨¢]ç°I(¼š¨§ÑÊ™­àÉ{üfOÛ¨m$Õèz†ã„ôä5%½xEo·¡«l)d•®»¥7ZÓ?[Ñ{¾æ*>%‰Mî£ oãW$¶Eîh”(Ԫ̆k1`/|Ra’ ýÐðÈ#<òÈ#?Q~²Æïøì–ÿð¿þ$¹ÁþÏ}Ðã>è…žÐ't´˜ž1•n9‘wL›[ÚâLc‘;HEŸÝVáãõ”&oY®†D†Ê'1àîx@:íSwÖç=äAL,ì²"s xÒ26¦ :G[Ĥaëv(‘yÆŠG®«ˆ¶Â”2,#Æöbì"¡o-Pü‚ر˜ÉS2W#;3Ñ›’awDû4D>o(\°€hîÎ<™ÏnÛãª{NÓQØt{|ðžq¡>ç¢yÆ*Ðì$¶n—ûÔ‘Ì"ahéa+ŽÞ‚Ü"©-Bo°EÂÏ«¥ U)Im“·Ê+>8Ïi*‰¦–h*ASË”FÙTå*Qm§q`‘(žЗ×ô• }oMGÛâk;|e‡ßî°êI4h¢Ä$%®öY‡ûð„ý¦CXV„݉°Ê» é¥;zÛýÍs“ãÈ1yŽ$×ør€ê8^„í‡Ø^DÝ*˜iN/ ˆÓ9ihR¨:³ñŸÔsÊV¥ž ¤IÍsë#çÕl$ÚÙAÌÖqŒuaGXfŒlp?­i®"¶— ycÊ)-²¼'؈ q"à KÉðötï÷tÜÕž*É©‚ꛚò+‰àhÀìèˆàèˆýx±6ãØ}`ÚŸq<¹G*kÚšJÐV°Ó]î¬)wÖ13똸Õh²„öSŠü»]=¥w”Ñ;Îéglèq¯ž°±ûì…‡mF8F„m„8FD°ôq—_-ß0]Þ3©8o¯8jçh”Ďͼ7æÁsß³÷\r[#75rECkr¤N‹^å8F„§„‹í ÃÖê°k<ÒUCvSÒÞ.ÑoæØG Å“‚æI…|Ò¢˜%«á€ïrõ”ÜÐYwI&s‹¤ÖdÂ$“-RÅÄY­2ÓÇüÐý‚ ´A @« P¡ò„Oä;ŽÒ9~¾¤[=ÐeKW©±$0ZPK4¹D¥ætÓÆ G£<$¿Q¢B+ª½¬ÐË¥ª Ô†ZUIT›­ÔÅM#²­IµU;èå[^”P”šqw×ìyšâd‹Ù¤dŠÎ²?d9ê³ :>¹fé&¹n€!X †Ö’¡µÀÕ÷$–Žä—¸é–£ô–do“éÒ& ,"ÅåÖxBc vF—så’çâ‚VºÀñã@>+/tfê1ß©?'RÞ/1ü½“2òWœxwD©ûYQáÐÑwôÌ5…¡pažs™Ÿ1Gìc—*–‘ìÕ+1 KŠ oh®eÊ7*Ń̽1æ{ókbÓæ£óã<ÁhL#áEÿåö—‹ ñÑBšÖ(Ï2ô6Ãô2Yn±ÊÇu¬µÈUƒ\ÑQ•’R–ñý5¯Ž䨸e2aLbÏâ®™² Fìï;d÷̓JQ'2·ÿ{Ä¡×ú‘Gyä‘G~züdßô쎿ùßþO67?ž"ÿî”ðæŒ4èⷦꖩ¿aZÝ3­fW÷LÓI¢²Lœ¬”±ËT.ò)«Õ7Ÿ~Fu$³ª³ª“k4C‰•]Û5Ô8e†oïðŒã£{l"[ÐX;»ÃŠ> it0~šŠ ÆÐc:lè}–¥Æ(ZI¬YÜÉÇÔŽLvf u †/V¨”x^„âÕäŽNQè„sèGøƒOp×£y)³yÙãÂ>ÃqC­Ç®í¤]š­`ëv©ö ‹hÄñ—(”‡ž=½«e¨,x©~ä…ôÕGL9c¦LxpÆ\Øç¬éQ72u+S72U­ÅÖg™d©E™)”JÕ(”­‚ïîèùkºþ†ž¿fªÞr&]q&jºí«ŽÑ¤CJ±…†Ô´ÌòÞ‡/x·ù’ùvÌ ³`˜ÌT †íœiz k–Ãl‡#"d©Æ—N¤ äI…$UHö¡íµ›îh…f¯°Ê¼S_0›œóîè‘fsæ^ñĽæ¹}Á¤~@Z·ÈAþ±EúØ"}Y!’U!Õ´».SšIÙýKC™$˜â#iÏ@Ü‘Ÿ9d¿pÉpÉû.šVã?„tÞô~ ðÖõ¤¡™Ô4/j²‘ÊÚpç¼àûœ/ø™ó;¾îÿ=ΙÄs54âPÜÊòßË?ã{ùkŠUÍðý{†ï½ŸÑ©ô¿®|]1Tk$Ãâ¾r©<åëk>jÏéKúÆŠ¹¤g¬ðöø‹=Ó73ü÷x„¸Fˆ§ïÑô‚ÍQ—;ûˆ7ÚkÞô_±ívJƒ¤6Ÿ÷ÃÏqõ^Ui„†ÍÖè°0F¬š,7ðv ßn1¾Ýâ|•Ñþ²BÖ@ŸH$¦Ïr8àF=%íZ¥Aïdè~J×Üâ)‘ì5.QëÐj™®1ëŽÈOn‹# •­$RËDÌ™HsNÄ“tŽ‘GèuŠNŒ&W¨(-(Õgã— *]¡¨5ÒÖ åP},Q¨P´èe‰”µYQ(fCÝ*$’ÅVíÒKwd[“z¦"f‚®ºC6?26—|é¾Ak ¼p§î1šŒ½î² øøì)^=ã¾DXzD…OTzÐ žÙxæ|à™û©uKZkHU‰Wí8ªnÙ}è¡,»4×2Ù;“°uiôvz—+ý)KgLã«x~̉{˜ ÜK` y¤3“‰$‡+ùŒ¶âUÿ-¯ûoyÒ¿åE÷Ãá°§Q>Jl™ÄŽEÜ5ùØ{ÊU~ÆC8b¿w¨CIoPÝÃȰåQ44‰òZEúA§¸T¹7ÇD–Í•yFÏßñ¢yÇsóÏkž¶Ùoe—æ·âŸ]¤× 6%ºWb–ÔB#ÎÒØ"‹mÖŒÈ ƒÂÐÈu…ŽPø2ã VQ5 ª] :%±m5Ë`HpÓ!{gѾSH^¹¬ª–Ì4ØŽ:X~‚ù4Å쾚#W5Û_EÉyä‘Gyä§ÇOÖø¹ýó_|Â~ðÙF÷:¶bÖ-> †Ê‚cÁS{É$›3iLšãrA¯ÜàÖz#ÈÉJ‡:v‰2e¯ÒZ •$Qö%ªç2ÍH"¨e‚J¢Í%ì"áT»ÂÐL=¥«mç0»¦:„¸ìD‡Hr($!7(¿7;R„'íÛ†ªUÒ›DF’»Bï”Øê•£Êh*‰°ô(ÖÛ‡Áu‡øƒG|ãR8*áÄAmû¨vFejÔ†J­)jF!4–Õy:¦%Z„ÙŒŸQó\ýHG¼ï·Kì&b%õ $ŸÒ3>‰3êV¡j”?¿2Õ)²Ð)ýðµF¡ªUªZÁ‘÷øÎ_Þâ›["ÕBj*Ü6ਹǩ"´¶@mK¬6¥Üë´{Á>ò¸N¸LΉs“¢ThjPÚ«Ì1Ó3,Ð7%B´ Z Q`HH5Âl[ù’ZAËË´¡DÒÚ4¶ÌÎñ¹u¦¦‡¯íx¢¯œ·˜I޹+0ç9úuAÖÓÈŽ4ÒD'«4’¤%Ù($÷6ñ¥‰¶¯°Ééa·Uavû„Ç}Â}YtVþ]ˆwámZÚ¿–ŠM$˜)Ox+¿Ä3÷Œó9qfÑæŸ+X´*4š Á`ÙöùÔœòCû%•(È>…ÈáþM…”„hV…í–øÝ Ì†V’ØÉ>×ú)¿3¿d,ûLd›¤VÉ3Äøó€g×—<{‰¦”‡žîA¥«æ.ËvÀ:e­õQäEªPDE!itœ-Ç%ÆÄi5²J'­ÍC.\h¢Ý ´Úo·hÿp‡ZaËØÿ‰àÞ”Øé]nSnºO0äŒí†õ†‘´@oòCDÒa':于lWä­Î†.!6  µiZ %ª˜Dô£%¯£7ÈAuˆ0 šžBå(ê¡y7¯5²J#­uÊZ£ªTÒÆ"iL²Æ„”ì8GŽ[Œ,GwK§F®[‚2ÖH7û¹Çæ¶ádtúCc…j–´¶ ¶ejG¢rvŽÏÃxÄÕÙÞ¿zÁõà Qäí}¢ÐCÐØ-²S » г¯ÊJF®JœjO¥(Ô•L*Ô …²R U—@íPkµ§ÒÉFõ’é–º‘‰B‡loPïdʽz˜·lú‡ te§œ¥×tŠ=/ËTªB¥ÈÔŸ¯3ãˆ[÷ˆMÏc>²È†²GÚšÔ•„¤6¨j‰!gØ"F4 e¦‘…&Ò¦¦Zl-ŸÀò‘,°ëuŸ1Lª†.ºÙŠ^àÓŸ;ô¯LTKÞHè i#Qéeª’¥aêR+2¦š ‹ŠZôÔ¦žaÚ)^½Cm*rU'W5"Õ!i,âÜ¡ eŒuAç>€nC9ÖÙ&*Û²COß0,qúZç1Îá‘Gy䑟.?Yãw·™òÿö?':÷µÏ~ÚÁøŸ4FyN÷Uó¢DïÖrYc¯¹H¢¡”Uæî˜?$ívi{5gÒY2îl™t¶d“‡É˜FÌFÄ{Z‰¶€ ®ö…Ǽ8¢.ÖÒ€j,Q%ê‰L3øÜYÈ4©B“)d™Í.ëÿá^d M.”IØnLg¼ÅšlèN6(RMº2 –]îW6áÊc¹±nd'ò ¦órGº¤ç/éªk²¡EöÜ"U-²¡I¢Ù$¶M‚M<·isz5’Z!©­!„Ë-Çü(^¡W9ïâ—\'g<$Çl’!M&SgM&#²–n³£[ÏèÕ;:MÀÒ°°†,½! s€°+ G!”ªBÆnb:b‡/ö¸RD–»c—alsÜ]ÌYpCéxFÌRáû:憎²Á# Ñ–Þùðˆ_7òç… B>lé[Ê’a´dp»$:«zȲ±t†l›.aíÐÙüùúŸ(eÛÉ=ƒßy_s£ÅÏBÜ~ÈqÿiÐàõBXJD;¢Ÿó}ö CiÅD`¢<0sêZbï{쟹ìG.sgÄÝé1Áħ2L)ÅÑbûYjѪ‚޹Å3RÙà¦yÂ|;ùï6 ‹à°¼Ê>¿åI÷š›PvePvI…ÆM{‚Á/ ÷M#óNyÅÕ茨ïBá㥚ƒé÷j;‚á³1z¬Í.£Gì™$¾Ij˜RŠ]ÄèaŽº,÷‡Vrµ)ÑÕÛMFC:¶P_×HH§`Z)–õÙ˜y!öyHy®°ô‡|/Ⱥ.ƒ³”_Æ—LÕ5{oH¨ oGìò’/pœ˜¾³Ewr­B’kªBá68å!?FÝhÛmS %ê¤D™(“¹Sãv÷<=¿àH¾çëîwl&=6“k­Ç&ìÅ>R-(jƒ°öQÛŠ(sŸGyä‘Gù ò“5~³Í ÿ×wÿ‰Vj©µšfZc>­qÍŒ^¿ÀéWè!Z Yc¯9”ŠB¤Ù,¼ 7 ëöhú>ÎŒg'w|}ò†¯Ÿ¼e§uø]óJýûûqëÑJ„IP ûOµQ 7F¢•¡}•¡é9Ê ¤©eš\¦MÚX%ÝØ4…lclú‡%{A Ú½ ?^a}¢W%}$7d÷Svï{Ì>œ°\I ›Ä´IOL$§¦s²ãÉñ g Nµ+öCPóØ=ö/|¶aŸM؇Ò¹I[dµFñ*dµ 5{<îÄ1 %JÝpŸs½8c>?b³Òí^Ð-.ybÍxn~âµõ–×Ö;ÞŽ^òÎ{ÉÛÎK¢‘N¥ª”’J%)Ĺƒ^çxÊG‰°¤„ªTè®vt/¬«os¦Üà)1gÆ ±e£ù)š•¡)×ú9×þ9×íS®µsP„R#)5B­yZ^òEþ"请äŠÅ­õ„­/xã¼&« &Û9“Ýœ/vïК‚ûñ˜ûјKùŒØ·xÕyÏ+ù=bÐb¾Ž™YÞš_A¡ êiCe5ÔOžå—4Õt* µÚâI1–Sµå,9ŒR&ºQ L«ÃòŒhû‚Ö¤WÚs,ÝhñÛ'ÕŒãt†·ß#m[°@Ô-’B¢À—#†Òš©tÇÊëP?5ÙzOYžž±YnPæoñï8ºJñÊ/VœÕÈ‚‰q‡nq?lpßlñÞléh1=ÁÒcÄi{Xbò‡«­ŒŸ½L˜®fÌý×Ç'\PÚÿÇø9$µ…¼nð?íé]H— ÒCŠ4Ï’Io©³„ú~E]'ÔË5ÚYCvn<õ™÷F¸jÈ$}à<½â«ì–ˆ¹·'xöKNHeƒa»bT/6Kœ&æF>áVš‚€65õECö]KühC§Ò¹@ž ¶žÏ…õ”·ækÞZ¯1”‚—â=¯ª÷ ë5z^‘o-îw'ünû3‚]‡f§bïR&»9RÚàMCä£/ 9θZžsµ=ã*<ç*=çœK¾V~ ‚^»¡0UÖ~ïðìö€µßcçûT†Œ%%ô´-}iCOÛà41™ª“):©b°iº,¶æ—cz5ƒîŠÁù’AoÉNî0cS ‰4Ô¹]N‰–ŸVOij™µßgÝëyÎaKèê³–Ìßï+¾4¾Dàø\9OøäžóÉ9CÕ #ÃÐS ‘b Æ>CYVH7- ªZa8V#ôc\ T5’-½ø IDATö`Ù]{CÇÞÒµ7Ø=eGaÙPF'¡žr¬­1F ŸÂ¼ïnGܼ` SúO7LŸÞ2ÝR›2‹|Ì"sŸ‰¶òe|U#_6hIŽÿõ–ÎW[|}‹ßÛáuޤ{ìn‚užðA}Å{핦°ˆ&„•FQ„…Ϻ̑š†8µß#<òÈ#?Y~ºÆo;åþû¿ÁðSúÏ—ô¦KúÏôº8ThÔˆ¶%—4 I!ÄAˆ–¹3açÉ:½CÅozų/füù—ßò¿|ùŸYä#䛆ím‹û‡¶Á߯‹W JÂkðƃkP²?ÞÒÑ·øGö´µD[È4©LÉdK›ìÖ&¸î€°þWz*Ws4¯¤ÿt <<œ°{Óåò×O¹[<—À àŒó”NwǓΠ_û?ò¥ú=ëAÍ ÏŠ>kú—)|„ì£ÉnÑ£®ŠW£VªšÓ°Çá¶=&Á€Tð38b~1aw݃´KK°ö ö0åéè’¿ýŠ¿ý†ÞŸ¡ªa×äædBØz”™N‘뙎ZU¸F„-ǘ"E-¬$Ì‹~³ÇÙF8ㄳñ Œ¡@íIT¦ R)sý˜•7ä[õ—üWç¯Akj…¤UHZÉ/7¿…9 6šù™nq7:á7æ7üóWHeÃ_¯þ+¯·ïøÓ릓ü]ùW\Êgüè|Å…wNØqƒ_Ù2”˜¥Gü˜~ɯ’¿ä“¿ Òe8nह!©~K§<+¶¨ÅG¼}Û 6 í=PŠƒ2.´®8Tûz‚Æñ{ãG‹KÈ13:åžN²ÇÛïëQÎZ0Z ¹Ä“CÒŠ©2£õKwÈötIJ²˜Eø¯3¹I‰¼ƒ‡9~³EêVt_¬I sb^„ÿmùŸCôsОþ¤'ª}¿Ï ÔÀÎì]ÂqpÜ;¬*¡Ð4潩gP ‘‹›¤²ñ7{üËÿ7!Þ÷Ñ¡ªô{é@–Â} «5¼±‘؉ý1®¼ÇW&ñœóôš×»÷¸„¸M„)§¨FAŠÁI3㤹㤺ÃköØmL«@(\–ôÛŠê¢!ÿ—–øÿêß ”‰@=•PþƒÄÆéð±<ç×åŸðÕ_â!M!+´¢BÙ×&S~œÿŒ‡Åg“p´™¯? % Þ:Ä #(¡E°ßtù~ëó}øsþKö×ü¬ý$è·k^ÔÈU•ßãzz‡ãg¬œ>9:52 ížgÚOùD‡לrÍ)[θ)ž°ÜNX\ŽYþvÂòŸÇXߤ˜Ý”ãó;^þÉ[–úµÍ(‰}ë°¿õ¹ysÌåþœ*Ôhjú F-œ0[¸ hq0‚·Z_°ëø\wžð]ç+~ãC_ZqÌìð̲ýCÅOYVˆÛaµ(^‰>̱«ìcT Ú5Òä ,;¥koÛ3æ…Š™¥°k}žu.9V×<^òìÅ%ÿô¶¦üaÄÍì~ Mר"ættÅ/Ì!uL~[ý’YqÂmpÊìn o€ï@|×¢ï3Ž“[Ž[š)˜R̤»çI÷šSnx (  UæÑu¨‘¦&Qöù¹Í€ŒÌý7y¿=òÈ#<òÈÿüdß´{Ã×?ÿ[YPk2ÕR& mf?ìk“umà4vk ,í³T„­q17Ç$O ³ (¬Nº|œœãÚ;ÖEËtÊfåR\ƒRÄè£Ã/Ї9ªV!ZÄyƒX¶hEÁð˃§ †Þ’N¹a!Æ,ô swÂB“­MòF' ò¹NH‡(dÀ…Ì4Y6c>FÅ\Å2RòÚàØ»§s’õ¾¥âôŽonéJŒ4¥NdÖeŸuÒg X¯úü.øŠ÷_²Œ‡Ô™L`x\ÛOøÍèçÔCÔìz>í¡(%ýrœ6(YœÖ(M¢—z—ïu‡Z‘XÖ£?h• v]½Oé´Ä‘Ã|3A^Ô¤3“Ö¡ ¦êŒ¡ºbo{lF}¶EŸ>€:£Ýñ–N‡¦Ä•M¬ÙÄžƒ¼¯è[K3D“sˆ¡*imæ6ñSϨ5U¯põÈ ±†f£i¥¦l¼. -JU‘ ]KsO•)˜AJ}'³‰ä¹ÉÐ]0r— Ý%CwÁ¤Z0®–8u|hé¶ÏíÒ;6÷Õ1úuNÞ>g—Ù3ù˜,3УߨÑy¶Ã÷wxíû«ûyˆÝH°X3@|¾¿®ž°ÊÄ‘E³;þx-?ßOÿmßu<òÈ#<ò?ŠŸ®ñëÝòþ·Ä™Íl=ån9e¶ž²Ýy襎^jh…ŠÖ˜ˆ¡ƒ¸0pC—›ÈtHÎM䳂“Yù=.:ç´NÃ~çr•NY¯]Šë¥Mp¼ß ñN"¬AŠ7Hq7UÆñðŽãÁŒcwÆ Zr#N¹ÑŸà*{t3%0»ìŸ0ò)uòù‘RÓdÑŽ("•ͼOß^3ª—{ŒÎØUB<5I¦&ÉĤîKL¹ã„CLŰÜpŸO)rƒu>ä2ŽÞf¸ZÈhò€;ñÍ]gKÇÙÒ[¢ÀáúòŒë‹3æ©…'æígÝ`ºo­×¼W_R ™¨9dá Z¶¢Ë;ùBŒ_"Ù„ªK$9DŠûGã·¹ãl}ƒ4ÜFO¸mŸpÓ}BëI¼2ßñÚ|‹*—‡E­Ï SnÅ1÷bŒFÏž¿åOùîŘ;iÂL9âNàXBÔ¤¦ÎºÓAJzû _íä4¼aŸøE‡mÑã“ôŒJWè¨;:bË/šï±Š˜“X6yhøÄS )ÃQBíŠ?¿Fª[ĽtÃd½`<Ÿ£?ääŠÆfÐa1² Ø:]ö²G¨¸„²‹\7< .x|âYPᤠÕD#[R‡•=@K*¬MFyÒ~´9T–D5©d‰D1%‡­ä³¦O( 2ºl1D†j•ˆi˽6a>A,È|“Ü7Éd“6øªø!$zæ³{G,·$D9D ÍÖÑTm¤#+5ÌrDœ#îò0ÇzXrìU¸Þ†ípÈüÙ1ó§ÇÌÏÉF6/ì÷$'6Âo0Ïô«ãª5GÉëƒá3ÿ(Éÿ¼ØHÏ1¥”D²¹—´.ïWôØp¤Ýq$ßq$îðÙQ …JRY‰>u-#íÀ½Œñ¯"Äõ'Ü ÀÙ8ÊwÚ°ûÜwθ0žs!ž#hqDı<ã•ôŽAµá¨sTα’„¢ÐqÍ€‘sϹ|Ÿl8–nèfŒuF-dæå˜÷ÉKÞ¯y§¿bŽ™Gcñˆ:“Ù —+û”z«óv'F¶*d«BU*¼âP1ô¶î6¢)%î½ 3o½7ai ‰ ÷Š—lk’îMòøP¡C‡ÅvB¶4Y͆ô»+Î’÷Žº$°<®ÆO¹ÔÏ)ú*RÛpê^òÔùĹ{…#‡,Ô1 Äb2"5zå §Ø£mU­’æaì³ útÜ€ÚUPÜ Gp¬{ah Z/¥”lRG§qºÄ˜èå!ÃÐR<5@j[ò;ƒìÂ`s1`7ï㧘Ó;¦G¼:~‹+G¸ò¡S@’›?¿âð73©Æ/¿1XÎFÔ’ÂFô؈™0Ñ”œ‘1çìÙ%§_^2tT™j,Sud$,V H1YÓçº:e™ ˆcûp07çzàpPü›¿êyä‘Gyä?aãwÃßüüoY®Æ|þ;•ËÇß¼döqŠ”iˆLEd ¢6§}8ÀiNûˆq5ˆq<*)t…•Ò¥•Å!ótp¨øÝ´(r‚}¾£g¯lðŸ‡(M…\×(M…Õ&œ‰+ÎÄ5ç⊣꡼ÂUö¨RRƒnä‡ív‘F8w¡’³"Ÿ—hd¦É²ÕØD}äEÍ÷¿ 9rø÷ö¯8U¯Ø<‚‘Ënä‘utúÙ–^¶¥Ÿíð³=zRQ&ëxÄUòœ±wO§0îÎ9ë^0Q±`, Y2'ˆk‰ù·S¶ÿÔ§ 4^ž^ðôôyú Ý%ž¹§VeæbÌUsÆ¢±¥Ëéª\2‘fŒÅŒ‰˜1eF"Y¢C ûh ö+ÆÑœélÆùÕ qäð^}Íõ%ÿÐù RÅ$”\4¹àH¾§ÛlصnÛÞðŠKqÆ ñ‘â/øÈËö‚wâo¤WXò+JEÂQ#$³!ktÖM‡ÞrG/Ùð$¼Å¹JYD#~­ý9—Ú3þQûsö¦ËŸ«¿æHÜó‹ú{ÎÊO¼‘_ócýš‹ö)yÆkù-_´oy-ÞòZ~‡RÖHÅ![^jZ”¤FÙT¨w%ÊeEäÚl.·Ö1Ÿžœ1±Ö X‰>JRÆ.jX1º^q¼œSg*©d¸–í+Íð7!ÅL¥ý­¨2e®PÈ ‰j°Ça'‘!–Hèˆ-cHfÃÃtÂÃøˆ‡×ÖEŸ²Ð© 2ב÷-R.èŠ=ÏÌŒ.D1$lRX& è2Ɖ†©Z˜# ¥­Š„ˆÄ}‰tŸcÊKyƒ,)l†c²?1ùX¼âù³ÎRÛBø-޲§Ï»“‚ rVÓ® „yxæ/Ñùlü´S¤ì…ϽrD¬¹ÄµË%¦þ OÞÑÇíkÑg%¿Û¸píVŒ>­}»bðÝÙ¨‘Ìúp¶”c‡Î?¿àÅŸ2bÁÏ¥ïx%Þó ¿e$-1š½(0Ò’¦‘ðœ=ãÎqG§W9§wt×kŒëŒ™e9äÇäKþ~÷Wü7é/)•*U(•&“ØK‡ŠßfèqqvJß]1–挤ciN¯Ü0 ŒK&÷ ÒÜ"8üXvø^úoxMª4©J©Ô¡B»“hö‚6– …8´I·«ÅÙ«y]½aÐ,™j3¾q¾%°< -£è«¬« §ò%ßÈßò ù7ôÄšOþ3.›s.ê§ìŠ.ýåg¢-se®’%¡â³UŒ{ êVEU+'Â1C,-Æè%èUJܘ¤AÜš´„Y%Œ”ž0RèeÁ<˜¼·Ùü}ŸüÅéë[Œ×ǯæ|-Þ [5²Õ Y Bû\ñëÒá™IVùBg9¡,jÚ jK¡2ejK¡7X3z:çÅù;¾yö-ÓÉ kµÏFí±Vúìè`‘b²¡À]õ„U6 ‰lš@Úñ¯«ÏJ9Ì@>òÈ#<òÈO”Ÿ¬ñ“•Í.°òˆAÉéÑ5éÎÆ¨C¢EJ¸Ìˆvq €ª€¡” ‘Pö99¤ªÅNj¨$•X8äW*ÁÆ%*]*]G–ŠÒ Ù8„×5Hº£;9ºQe£’×:qmVûÐe{ìcŸ î ]¶ Ò5=7àùË @üwÛér8Ñî&tÔ~³§4îš)¥¦"” IªéŠQ74¡L°í°Û ¨¶*åçlå.’\3tætÝ ¶¡8­}È7S›³Nðš€AK…JÜ8¬Ó>wÁ –kÂÄ%­L|7àõé[Ì^ÊÞöØ;>ë°ž$Xyˆ[ÙdÔÈÑ ‰›]ËilAÒ1YÇ]ö–ÏR°’ú¬¥>!.Ÿê§øu€Z–ÜUS.Âs.ìs>ÙçÌ´#äD!Ó” U«s•r[ž°ŠG„r‡Z¨!È„ÉVô8Þ>0ÝÍ8 î°÷k:ù[Ðí ¹["95šža5 þ.`n« öŠG¬Z´ŠÄYuô¼gR.”kRÕ"T}BÅ#T=U·…~‹(Z2G'ì;䞎kDµsÌ(Çbü8@Þ4 ®ï1®w”7Á"Sv%ŠL¢F¦‘dY:„kPç-ż!}Ûe5Ÿàê+ŽõkJ]¡6Tºú–®¾¡«oi‰JR(t´5)k•6=Ì™¶ŠŒÖT œ%¾¿ÇèçHP©ÔµF^«¤•Š"¨:ä•ÒÆh¢Ä!¦/6L˜S·*rÛ`T¦Í G ©<‰­ä³Ï\âÌ" uªL¥,U*E¥´UÊF¥Ñ$$©AU LôÜ¢ˆuêX£ˆth‘æbèšV¡…ûm‡hçyh²Ë»<0æR?¥ë®fƒd¶Hfƒd6,€Ô04æ|í~ÇZí•qèáÐJÍʱ{)z·`<¾çh:c2¹g4œ3ê-ÐÚ³M±Û¯ Ÿ]Þ!È;¹Ï6î.&0{ M)!hZ‹pšCÞã‡^åGyä‘Gùéñ“5~*!.¥®âMvu¬ppÿÀÁÔƒ»“{ô;õ;|}‡¡U´”E8rFޛďJŒy#:K§Ç…sÆ…sÊ…{†BAÁÑâžçó Ê–JÖÕ™öÆ\vO©+©%S$»Ü#ØxìIjJ ­Sa»)êË}™rº¾Ä]F¼X¿£ª]•r¤Q U ‘c—)Ö4źI‘;5LbB¤Xlè“a“b³-ºÜ®¸]4>š,[sÎíKÎíK{¦ÎˆééˆéÁé7GŒÜ9#oÎØ›1öæÔ¦L¢[,š!×Éé> 42φDy£ª’Š,I¨’À9Ãf…ÞÔøÍŽSI±””¢£1ëôÙÌÛD™M船DƒBikä]“¤±)0HhR…M‚]&H¡D³R)—2Ua™>˜*™á &ÑÆ#J= jCaåvyïŸC_°´PµU¯Pµ½RÍ¢1ŽÜ+:þ’™<â®8æ6=¦ˆ4IÁ;ØÑ>ØÒžl™ ï™tïèu—xfˆ#b”¦Á ýfMT¹\ψ¶-vA‡Ëí9¹®Sè:’Ûàv¤Ž@ž4(A4H• Øä<¿'žxâ‰'~[ù­5~%:;Z`B{ÐnT÷m.Wg”;4± Ê62:Åã(íjoüŒ†¤k1÷¤ccoü¶#‚m‹"ÐɃ»ôuÑåMü­*÷(šN¡ê”²ÆZp%èr!ç±N¾Ó)ƒ<БiP•ꃶIs[2Ø®ÈÓKT»Ä²Z½-ƒ£–ÑyXcGÚ²DYÖt«5NsP?PT:F’£Ç9F’£$‚à´ÃÛg/ù±üoø§Î÷ˆmÙª5²¨8Vnø¦þ¾¾åD¾e,¨oê/÷ª.¡Œ2Š0£ˆ2ìŽi ¨ò™YÛW9¤–@êA½”5é¶! @n Sަ˜‡â@£ÈUJI¥pTbËB¥Ä’Râ2¢ùbMý>£øy„b¸' ÚIƒ{*Hú™×gæñÖ{N,Žg÷Mï9žÝÓX“ •ÂP)|•R¨4¥J™Èd; eNdôC¨:*©i³SÚ¬Š>Î6¦w¿æÓw_òÝ·ÿÌÉöSK±´SËд Ep”ŒJ htÕÛ)Q+„K«Ç×öK~l}—²¿Ë³ÕŸÎ¾äùâ=ŸÎ¿dîøâèc.Å_XŸ°]D!C¡ r…&V( •²Ð¨ KIЇÖ(Åîp¼ú/2N^_òbómS‘Ž Ò®Aö ýÈÀ˜Ø)ömŠ}‘‘öL¶I›ÚfÓk³“ÚÜrÄ'Ür²&i°ïã3ŠœÑ`Á§ý¯øÞàù¤÷¯[/xÓzΛÖs„Wó\ºà¥ôŽWÒ[^ò–kNø9ŸqÓœò³ô3VY,2Èã}°T»Œ’‚Œ„&58dèÕ ¿ÞqXO)d¤gvMßdÕòYçm¢™ChûÐ!M¦ìjd©I,rt„$¡òhüª”&Ô(&Ò­D™D–Jf9líR.¨6*UªR ÁÊé€Îvàq99B—s ©Ø¯rA§ÙÐiÖ6Wtë5÷òv–PD:‹`H¥©´Nv ŸÍž?p8¸e¢ßÑÓ—¸zˆM‚#¨Aª%òÂ$Z\ÏÎ|.ž£‹½º9îx·?Ž•{)e…,éÿ‘³ŸuñÄO<ñÄ¿}üÖ¿}¢@Uj 'ÃprL2Wãafá=ôÐï5¤•‡ªj¨Jª$¨jI¥¶¨j‰j§S% ŠS¡;¦›a¨9µ©[¹d’a Õ 5Fžc9†”!75U©eu¬P —@øXeÂ]xÂ}pÈr3d·nÓt%aÔžóüàšU’H6©d‘H6Õ¿þ(äÁ¶ñ™Öc.ês‚²Mkà—kº»B†‹7g¼{ÿŒ7W/xsû’#Ÿ­èÈž»o —è²nº¬Ë.¢”Ñ‹ )‡ºP ƒh!µ:'˦ØD[‡õ¦ËNò;”= ó(¥w´¤UØ»M”•Øa‚ v+L+EWrt¥@W÷ÒÔÍ*@mIHjƒ¦äXrL*Y”’J†ÏRô `Ü+ IDAT`?#Lϰ”„6Yi’V›Ú'«,ô´Ø«Èq‰¨„JQé$µCN;ß±­:$ØÔŠ‚¢íçè¡€P$jY!S "Õa£·ié]JöÛÖJ¡QÖic¡H5²\£¨5WÒ)—õïŠç¼N^Q* –P©hÔB@5F•¡E5Ú²B½­hnjvÀN‚ЂÂTQå#J°ïê¯ ¬‡}› T%˜Ð ¨"(f‚ì 7È2üüšÌ$[¶G<0É+))1’-í$ŪT4»A·4»Á0+,%B)uQ‘&I§ËrxÄôì©ÜbÌ, WÆÐJ4+Ãî@z Èž ÒI›Äkymv®OZY¤ê–²Ò©Q M#V,bÉ&‘ TSGõ5´‘‚z*“«„‡ÆXÃiLÍ™0°ÊŒI>¥³Ûpš]sÒ\s¢^s Ü#ç r$ËdP\n½¯Ž›E¯‘ÍÉZ…«¹k×gêñÙ¥.E¨ïw} ]Ùf–޹ܳ`ˆHD© QäKN±äKNi«²Ûw¦CÔnN?YÓ‹7´w;z»5»‰ËîÀC¸‡ 25Ò¦A²Ùqé°M}»smÌ¢°Ô{¬[>aéÒ ¹ª±‹˜!CcÎĺãĺâÜ}GÖшû&AÏeÕóéÔkÚå¯ pË%¯É2“UÖã&;au÷½ic ŠÆ ”[,å>÷ÒÁ‡ ª¨Qš EªÈ›6«ªÇ¢è±ÈúÌš™b`Ú)£ö®ÑÄ2ÛŸå”ÈrX¨CB¥E¡šHaT„˜RA¡µN‘ê$…CSÈèíï8Äèfxg;¼qˆÑÉ‘­$h$i¿{@R‹„k&ÜSí4î¬c,3AÑjCFq+T¿ÀdèÃäèD¸u™„H%HeŠØ [[È‘À+#FòE+ÐÌÕ-ÐÚÈ jéWBCú÷4÷ÄO<ñÄÿò[kü |¶Hˆ}µ„f¿I1©|ú¸‡ØôCL;ǵs\+ŵ·D»†x'íL¢@à:!ƒñœádÎ`<#ÓMõˆùcŒº$ /ôÅ‚ L=%î9Äm‡¤tØ-|vMSdXMŠ^lÒ.k½GÜwÏ¥}øcÿ‚¼ÍMqÌmqÄMqLŒóÁœ Â¶ö¹LϸÊN‰J—<ÓyØùyñ)qaÒË>âbñŒËÅ3Ö‹d`~µaÜ_¦˜Ì´_ë/šàNá4 ¶H°›¹©y¨'k>ñÄO<ñÿw~kOa:>‚ýIÿ—*UƒªíÑuÍ©sˆå¯ètVôüŒ¾¿bu©°º0¨/<âHà:ã;ž¿xÃóWoïò—4…Ä.÷‘ôµgÚ;ε÷XrÊ8áFœ°.ú,C”ºÚÏáª+ä²&OL2Í"†_·˜ûß?ÈÚ\„Ïø—èÛü4ú6Ñù04rÉ`W´Ø•-¢Ò¥Êæcâ™Áõ|‚¹JØ>»¢Ã®ô‘jY¦øÕ–Q3åŒKÊÚà®8&ͦÙåJãnv‚9K±æž²Ãnð‡Άï)%›é)ò´&™Úä¹Erd³íŸäUaQ ð”OÝá){M“î’#6q‡z£`× cuÊ ç5/å×øÚMTsú$šÅ@Y!d ƒCÍ0 œƒuΨÁ¼K0ï+Ì·!ÖƒAÇËq½ÝË‘¼ÿÖøI9ÈHWÕ Íýñˆ›âŒ(3°îî°>±~ºB[FäßQ¹çPw}ˆ3¤Eˆ|­¡ü¦¦Ãµ?äõø_$ŸÑ²7œ´¨6ú'&ªÑØ™]:µ¡*BG‰id™¨í23FÄ=—¼2ÐÍã—’3Zƒ -cCk²¦ý™Çʲp&,Ü1 gL?Øp\ßpÞp²¸Å“v¨^‰:((=…ÝÎÅþE…„:­‘2È ƒÝÈe÷Ò#=5iovÔ[e[£ïJt#ÇóÂÆOöÕ"ë\çGlãóx?~!_ÛˆJIBÈh¦“1qøÄþ‚OŸ3°§Ü›‡Ü™Ü™¬å.›N‡P÷Èå •;ç€;çˆ[ç;ùÉý @÷K´Ó‚,µÙåm‚Üg·j£(5¾»Áw6Œœ)†–Q–E©SVzSÐÓæØzzC®k4¨Z‰¥'´Ø!dØJmÂÆåF9d*p“²ÝùTóÇÃû¿êÎ,ƒ™5D˜5[Ó£¯Ð›ÒË‚ëÅ)7Ë®gܯéùKz%ƒÑœž¿bsÑaõ¦Ïìõ„Õ›>‰fSttŠŽNÞ5ð;:£-ÃÑŒñè!ÃÝâyÞ„6M)Óö·ø·û×¶nØË½¬%ýbE¦êdŠA†N&Žð*…0¨*ºPù~ÞeQêĵƒ.ZÈÔÔ(¤X„xhuÉ:°zè³¾Íñ±–X…]Vó6\Ö0­Q ÙŰ½ËH1¤½(Ñ¢ ¥©÷[ä r‰,±‰w-êÍ~à}Ï\rÞ~‡+ïðœ²QTm,ÑG•+ÒL¢èj¤ŽE¨:lE‹¸±ÉkƒªQ¡=+q¢„Î&`ä,0Hi0@x‚\èdI†I&LQïgz©û­œ® Š^£Y%jUq¢]ñR{Í7•ÏyQ¿AMjêµJrï²¾è3±î9™\ñÌydzƒ·Ì³!ŠZÓÔ Ejà+[,+E–kJcßqë.!-‚Ôg-÷±ÍU/-ÁÊí0KÇÌÒ1ÓtÌ2Ðv·øÎßÙÐv¶¬ç=vÓYi Ö2–’ÒwVœ¥×|’}‰%'„J‹ì±Tºlµ6•¥Ò¸2²/h*õ°B}^a}TakÔ*C{ÈÐç`~Ɔt ’Ú:Âv½†È¯ÉÓšº¨™D(TªF%MvÑ€ûtÄ}9æ¾9 -dº« êeƒ÷y€y¿!7Ú¤•í³6I5AÊ´dƒµ3ð¶éN!Ž ¢Ì&,[(ž õBJ#¦ÖSrÙ¡¤!z¬ª4ÈÀy̶\—­Ûæ :X¤d3°L*UCñÀÖlÔ7êÚ3.Õs^Åo‰ÃrÁï$?Å1#ÇÝo<ôH"“*Si62Òý>'éZ„—ÍY‹øÜ¦¼U) rmíò–‰žôê5gÒ‘é’Ø6Ô&‘,âK2ó¨s3ÏKA­«Tª²Nîtü5Çk>ò¿`ì>P¡0eÈŸ Î)=m/TJTn9â†cn9â–#d½ÁPsL7ǨsÒÍn픂ÔÇ–S³¢­lpí–»¥RÔÒ¤¿Ù`6 r]Q5 u#Ó4$R©l“Éæ£ 6iÕn@°lQÝ+(jÖ+Ñ´½U`X8 ‘ëR»cv†ƒßøø¢C[l1²‚‡íÅ!ÓÍ„Õý[Mú§38‘­ ŠTc~Õç⟓é&L$K0‘0å½[Ò±Ö®ö-M‰L¹Õ‰K—a{Îð`Îð`Æp0cT-ÖK†Õ’A²$Ö-Ý"–öc!ÊF§¬5’Ú¦¬46I‡¤²©$eì0JTµD£B­k($âÊ¡¬t‚ªˆdÖóëyõl@º°ñÛT­dØòñÉL¥14öÛÒ“Âe½«)*ÑÂ!-,ÌTã‰'žxâ‰'~[ù¿ýèGüýßÿý¯=öÃþëëk~ðƒÐ4 ßÿþ÷ùë¿þk~ÿ÷ÿÃsn7'üèËÿˆ¡gtÝ5oE×[ãhkÁqûŠL6°ÜdïmhZ¦áç(ã )„H³¹ß‘¿xNt%£·*êvÃIû=íÒ´¤dÞíž‘†&÷Ù1³lD’Yû’Ì/ïªÿr6Ÿ& Å>@ֵϛúì«uLµXè}ìNȧ£Ÿ‘i&&!t™F“Èj‹ ñ?(©,<–°Ž›à:1Ž›à¹1v?fëù|±ý&ËŸ ÈL‹J×93.éKv~›€6[»MÐo£5 2Ë«!Å•NƒÂŒ1K1$ÃBQœ$¡7[s>pª\]ú,Öc¬2Vj×Í+ÈaõqÜ=OÑë Œ¼6ËÇ!Ôe‹MÙaQöYVeŸ¢4ðʃb†WFtË5'õ§Õ%Gõ=~rv{|'ãOwœÅ×tÒ%ýbA¯žÓgŽ]$xAÂÁlÊÇ·_ã6Gö ¦“°ø„†ËZm“*:¨ ’R‘*&Ët@=UØ4]´ bÌ9îÑ¢gccìIŒ­Æ\qÆ{½ ru6Ý>ª\cÞ2¦èvNîZ4®Bì9¦N:±™2äÂ<§µ éWôG+ú­me‹ÚóÈ@3%vã«Ñ€ÝxÀn2@Šäm€²Ù!oŠÔbYtIóYÑ!µ‰_xÄCÒÔ1EFK­è cK`Z •Ⲭú,“cẚÒí¯Ñ^ÞÑ©àôk¤ã7øÁ‰¶ÆP \%¤%íðØÑ “b‘a’b!!ö$8ÄØ$(ÔØ$tYà“ï;¸ÈÙ÷©zË-Ò4ÇšnèNoØtmŒþ©ßPöMÊÊ Ö5j_A•¡’tm¶ŽÏRéRY*Ñ$ÂËcb+BM*Âs‡èØ&÷ö?çt*aP¡C)t¢ó9±aj.‘îj.©f“µ,òÆ"Ó-²ņ[©ËVêÐ2¥®‘©&±ìâ‘bQ¢=_‰‡9CJ4¶øD¸D¸(ÔtYÓJC:» ÝG•¿7…Ê ćŠÔb=¤\k¸z„ÑÊÑ[z;Ç42Ô¨BK̨ĈKª|?úá>?æMö Ó ´4 S£´4â¹Gxã‘ÝX4·2ž2N¦Œ‹)ãfŠ×ìE‰¢–ÈV /LŠÂà¡8¢J4Ô¬f(-8°g(Ý¡ƒÈ%‚u‡-]f›>»T£  ø*¨ðLE:(ã ­Ubj9®¢8ïéõ7¼ïIá@SKÌÖæévÒnv´š¶©‰Ú‘÷«&ïÃi¶y`’oM6Q—E>$ïë8ÖŽ®™s8¼ãй㠸ÜelV6+ŸÍªGØXuÎq}ÇKï=v+¡w° Ý ,ŸŸIß"ÄcGk? ª‘î ¤÷9¼O °®áð7~Ú|â‰'žxâ‰ÿ.~£g°ÿøÇüÕ_ýþçþk¦îG?úò'‚ïûüÁüögöëÆo{ÌÿþÕÿJÇÞðbøš—£×xzHרÑ7d²dÖ´« ¦žaè)¦‘aᘠ†Ÿ£Ž+(ñÖæ~;"ºR¸ßµ÷æ?›qúì‚c}NÝ(\ßqõþË‹s¦ó¡ð‰š6‰°÷Å0|”Á~K§!ëM‡7묃.oV¯ðÚ;œqˆÓ‰ŽíšFQ¨e…Z‘ rŸûíwÛc2a’T6 ä} çPF®ŽŸÒï,ø úí%Uª²I:,¶C~úð†9“þgƒK&ÞÞâÖ>ä®Èm~H¸ð¨¯TצWòÌ$î»D}—l`azéÞø…Žª΋+–«7«³ÌÁ‚•ÒC4«¼Ç×Ñ7h%[Zůh±%kL6Y—mÒe÷S$³?È*R&Õœå{^U¯9-®hÇ~´¥¸Q„ÜÐ vœ×ÑçhYŽVdhuŽ.2zùšÃ`J95(®L„.!ÖHÚõÏ¢Õg-·H%乪HB‹*TØ…mÜ â|yÁñâžg‹÷œm®Ð^¨é¾R¢u <*Ý`ãööÛÎò+ßÏéëæ²[±t¨‡*‰é°1Û,&2ÂÜWAœ4á…ñžçÆ{ =§-oÑÚ ¦ƒÙ‡Õ°Ãýðo¯x;|E«ZÑÏîé§÷ôó{âØç>>å>:å!>%÷,Œ“c¸ßVéæ!-¥¦¯7š`š2+Å¡ªû,Óc.£tÕ5yÿí…EÇùhô–ÓΊ­þ†JQid™ZÚ÷Víhâîç6²ïX¤8ÄU½„.kblBñÄO<ñÄ¿±3Øû÷ïùÓ?ýS¾ÿýï3 ~í{···œœœ|øúì쌛››_{ÎÝöˆ»_ü'&­{òÒÀÕBN[Ø­˜ž±C`µÌ>¼FzÜé1f;C-*$¢Â&ºVxøª_ðÉèk¢)GúÿóøŸ¨júößñþóÞÿøŒ××/ASTe¿ºž±ßªi=+~ R[@»! Åvãón÷neΛw|2þ9ƒÎ”Ÿ}×ÞQ‰ÇABeQÕŠTX,óÁcUQI d­Âé§ô+Žú7vo¸~sÆÍÛS®§gܼ9ãßþ–œzWü{íP¾Á×Ê7•‚ÛwÇ,®F,¯,þó8ð>ðH-× q„îvÃd;ã$¸ã:_Ð)¬:E¶6Z‡µèò¶x1tÒƒbÆ ž1`FZÛ,ò!‹hÌ"‘îlˆˆa’=à4)ÏêKþ]ý|Vüi)` ÒJÀü&„úQKÐ@–kd•NVëdèhE…¹+°æMAØòxŽx°‡L‡ÜõǬñI… RR“f&aÚ¢šê8w)'÷wŒïæ|ïî'üO‹@ä€.!z N%4Öú€kçto7f˜ã­":ˀƭ©¨M•¨ã°tDcw/\Ì:#O Ì$c”ΑÐÚ i@š‰²×á¾Æçýïðýÿ‰|Ï+^>‚8r»ýŒ/·ßä«ígTŠÂØ¿cìß31ï1ŠŠ–ZÓÓ+~ïe›ªî±N¹ŽÎ9SoÈûTÇÂ?„¶¿FtÖˆ ¥ÅVj³‘|6Â'Ç F!”ö†î—‘ýC1Ç!¦Ëš*iß…á¢S’b1eÌ®iQ,ä×9öÿ¹¡ûw·xß:ÀHbd­¦êiTmFS–ŒP%*M%Ñm¶šÏL‘ê&Ñ8$‡ÄX˜dÔÈ4bëT:31â+ñ ¿àSÞñ’ÿ¥ü;ºé–Nð;òÏH*“ØRX‹6…®Óè2··k÷Å!j\‘Å‹dH#djM!W bÙÁÂÝ?ñë¿-*öý«6tXÓ}\’[^-Þòêú-¯Þ½å®}H£Jìú.wý1aé’®-¶‹ü½QäT·ÈFƒÛ ‘í%ªÑ–5ÚMvÛP®LvËÓÕ!ïW/iú2b(ÁÄ@‚pó¨[píˆqÍw”æ?ÏȘÙqfW÷Í„¤ð¸ŽŸ1 ˜†U åß±Â÷ôóŸË϶ìÆm¾,¿I9« H KÄHf ˜(p®#MŠ]£Z%º–Ó–zΆ¾¾¡×Z“'¿ú<¬˜­ÆüKð]P’ È )‡[pì[„d±M<óˆßzÄ¿haôRÚmhu·´?Þ0²8/ø$ú’o‡?GÌdÂ7>ÿò‚Í?w™.xù½·š÷üÛÿÈ·ÎÊ×ÖK~a¿âΘðµx‰I¶ß¢,¥˜¤HqôP ½ÎáÇ ¬0+öwöžxâ‰'žxâ·ß˜ñûã?þcV«ø‡øá±ßýÝßýÐç÷‡ÑÉp>Y`J!¡¤ðþv÷¯¸4èiÐ×= ³“¡íÃú÷ý”l«.ólŒfHk ±…¸ÏåÝKl Ò¬Kmª||ƒ›Þ1É¿u0>+ðÔO‹qÕÓ*ÈGÆC–µÃ³Âýª„D-—ðÀc§µ»­Îé¸&ê:W»sÞ½yÆÍÝ3iÄœ!-hdZiˆ-§ØÃ”žµæ¥ñ5cåGŠªÄ²ÛcåvYé=Vt™E#Ê¥Âùê{•2j¦¼ßâ˜!á©Cä:KFÌx®|͹vÇØÜѶ‡ù†äþ Š¡áÇGÞ”Wæ— Ít#'vÏgêpé>gg¹´õ-m-À×¶´¤'‰q“˜v²£ïXl&x»½.ö×å90°`ò3&ìÓu•}Ï¢@B£¤_®x½ÃY¥­ïÄaoC¥«­Ñ” vP‡:ÙÎ!K:ö†ŽµÅ·7tì-¹0È„A. îÅ1UdÖ´#Þ´>beuy#½à}öœÍºG‰Ž¦Vèƒmi‡^­Œ´°˜ÞMH»u‡éöˆwå+ºÆ†Y{„¤ ¾Ñþ¼e¥ôX©=†"9 IDAT–IŸå]Ÿz§ìo¬Hû÷™u V£×G|uúŠûáÀm³mÚlƒ6AÔ&ˆ;tâ-ß‹LYþŒCåÕ.¹QŽ(•‡r„U&|Z|_nɉ¢%ÈŠ‘çN„JŸpªÓT2eW'íZDºË°‘º\IûcWÜ8|±ûˆ÷÷#vW2Ê|MkÿJýÏÝá!^â†!óíˆûÍw›#òµM]«d- ÙnhtݪÑÒ†$u™&‡°|¼ä"éVE¹åa¡ðÅÛ‚¸ZšÜy§ÜµÎ¸mrç0òfØnJÛ ¹Sd2"V˜(xü*jé‰'žxâ‰'~;ù¿þð‡¿öõ¿6}‡‡‡\]]ñâÅ ...8::úµçë~Fý7ÿAYñEó&ŽÑ¢„ãQßùOGô¾‘ÑURº ‹›ôqM˜—cZé#Ì‘6Æ/Q÷¦D(„IŸË;ÈrŸ»é3DWbî÷™õz¤ÏL7§§.™¨3&ꌶ°óZ{¹-׿@yà@~àP¹ç@~`Öq§N¸ïL¸?š`8R»&òÔ u ^»„_»ì^»„e‹è¨MxÔ¢:’Ñz9ºü«ÆZSÀR-=Ò¥Í|=Fõ*”V…ÛßÑ~¶fèMq½Š[’ÑÆe;÷YÞx¸=d>Í-²Ì¢rU<=âppË«á^ ¾f8š³Ë=v¹Ççù§$…µïÁiB>j¾âÿ7Æ׿7æ·æ!gΡsÉ{͉rÅJôÉj›MÙCÍ«ÿÖø)&÷Öµ­°°¼‘^òJ~Í+^£ˆš¶ô-6}ŸußgÝïì£ü{&YohѳÖÔ š–‘§&«¦ÏuxÆ—Ûϸá˜Pr‰d—Xò4AË 9Sƃ)‡£;ž«ï™ð€ÛD$V½¯Ý¼Ñ_ðšØQJ{rvyÁ·.¶¿0ïp&!áÄfîxPÇÜ«Gܦ'„µKß\ÐzÜz<S&Å~´ÅÜæ°doJ–ZÓÄ Íg½ êP kºÄª‹0®06î($tº T\ ù1eÒ1©}µªèvWœùˆvàýÀ¸šÑ­çˆªaUû]¢1$]FhJV£5ö&£µŽq̯1è-9Òö¦Îüõ Õw ê®J¨´ ™š>+:l$8Pn8Ðî!-[p­‘ïßÐŽCŽn.é¸;ŽCwŠîäl:v}ŸYoÂEÿ9›¶OÇYѱ÷Ñÿ}LÂ)íU„¿ÜaoSn‹ ^£Wå>7ü¯tþø?ç#~m ŒLƒZ®°Ã”Ãå=ùý—ð_Ø{Ù¶ì\ï›Ëû6#"ývÇn’źU”nOì¥ [|ƒÔæ‹ÜÁ·¸M  ]€bysÜö;wšÈðfy7—±ïÑ¥uQâòf'Hƒ…™ÿcü¿[&8zŒíǺØê[üÖ!_¹xý;.ú×<ë¿âiÿ Wò‚÷ò‚«ö’©šc²Ã'&`GÀž7õA¶ÇÚÿ7¿TƒJÙ%:YÞåöþ1š&§’æÇùš?ÿÑžºäR{Ç3í5#uÆB²P,”![¥Ã'õ+>«_òYýŠO›W¼ ñ]ç/ÔOJE©U«.™j’Äë÷!ëßtXÿS‡L:ð<ž)h“K=J;j†^V¤kh퓾tÉ_¹ >›3ødNg°aðéœ#ã_Ý¡*…rèømf]/Ž˜~}Â|=¢• R*´®ÀîfœÝò§Ãßó‡ÿÄøhʯäàWòÇüA>çµ|ÂOø ?¿æ ñ ?æ·|­Î×úzF®kŒÔ{N”.•w9úŽÇ7ŒÄ‚±œãÖ1²QXöú¼ôŸñOÆ_ðÏü_Æßð“»ßpùò?ùãoPbÇ&~ì°¿p¹÷†L³1·Ù ×éen4ŽÈ8Öï¸à=“bN'Þbnr˜wÀôã9׎9êÍ‘g-v›áo²¢O¥`·xÖ»Mɰˆ…G,<"á£(’È<¿º£¢·áGWtÖ\†Z[¡·å½j;H¡J9œ^•î#ìiAxѺ-ÃjI¡ëäh[¬}…9/±nKòÊb[thTØõÙú:lé±!dKÈŽ®²£«ïèX{BôbMx·çìú=I­aº7¬ðÂ#¬)G»“÷'Ǽ«ž°¬ûô›=eÉÞò©Ð¢eÖÒ½ÞÓŸ¯|=Æ0>vüÀ\À-páèpØÅm8ˆ½Ã`55f½ÇŽï°—öM‰hZrÝ ÷uòÒ`i `-¨?èäß:ä×.ÞYÆåé5?)˯þ3ÿGóß‘I—wÍSîä)ef ÖÅhP‰T•ÃHl®Qo4l7A÷wøÝ=ý`ŽVÕ¬o¬¯}Ö·âe€b|ü¼!±ÌœŸš¿ä§Ö/ùÔ|ÁO­_òË«Ÿ¢•5ÛûonŸž+íc¹Q¾uùprм¦Ûcî·ÇÜïŽÑ“†Ÿ6¿à©|ËOš_óH}Ë õ^8ÏxÓ»à]÷’O«W|Z¾ä³êŸV¯Ø —µÚa¥tX«!ogú•Iþ¡Ëü¶Aî*Ý ó-âÚ#Çd*&Ü)ÇÜ)Vm‡rßPÞ5”/”7:þ5çïùÜyÏç'ïéf{:ÙžN¶£“îélcÊ­Ål3A[Õ¤©C®«ÂBÔ-;§Ë}sŒÖ4¨²mA½K¨Ò„ºNUÊýRe¹òâ]Í4Ã>ÍQÿpûŒžÍBwÇÙÑ5ÿÓÿ0¡¯ü¿ú/Ÿñ‹í甹‡®/ÿí/Àxàø7âß…ðûË¿üËïÏüÇäoþæoX¯×üíßþ-õWÅ_ÿõ_ÿ‹ÏtÕ _Ú_Qø‚íPc{¦²Yk4]PÎ Š¾Ïή¹—*Û]ˆµÏ°væ.çåî)w» û:@õ¤AujÔA…z^ÓîM¬SÄI¤A#¢FÑ„ÝP›&Ií³ÎÜW Uc²Öºlô.­K¢ºTÒ@‘-ŽÌèÊ n}„VKêZ'®ÒÚ)¡i¡‘´s+ye;ßSª&é‘Gjú¤…G³×¨–D×Kl3Ãq3D°BôâH`öS¬n†¤à¶DÇ]zL‘[,ó!‹ùójDíj„'; ¿Äª ¬ºÀ¬súΚ±>…J0ÝNØ!׿)k³Ka™­%ÍÙ÷Ù%V^ðÖyÌ­sÂÊMÕã¾NQIÝ,ÓÓxÂ^†Ô†vèÆÔ+=ìóèn‰­fXNŽëD‰ÁmtÌWÎs’Ô¡Ð ¡Ó6 ýrM™˜”¥AQš”…‰£¥¤†Ã•~ÁÚîqçŸðÿ 7þ [¿‹lÂvO(w„rG·^3掑:Å1’Ã^¦×Bô@¤-v7£ë­9¶ïx¬¿aà-Q‡5û3Ÿ«ü mTSž¨T}ÒÓ¨lA‹Ùæøíž ÇH0Ô¡´ÈJ¡‰õ\P¾”@ä 4 BÔ#¬cY>Ñ¥.T´¼¦“ïèä;á±ÓCvZH¬û¤šC¡HMAWkL¥@7*T§A Z(%j™£ßï°êŠj¡„Ê¡*ÔhäXß[k4Úèñ¬Õ=<ŠÙ i%†È¡½j0²=nhså0jkn(4«Ê ‹A¹',wé÷]†»Î°›Õo±Ê¥¬1«·á+(} 9T‰‡呎y”1èÏy¼!p¶VŽ¡åÔŠFÒº¦IãªÐ‘è²Ä5#:æš‘qωq-2CgêŒøÚÿœdì°1:l⛫¶‘Ò“kzrM Ü$ÁÚ˜¢Äì•­Eô*×@Ñj\‘Ú[%ãñ”oÑöaïûÜXlj‰—Æ\ÆWԱΚ;²;/DÍlPÍËLéèÆÍ”Óäš“â-k¸š•4 ƒíªO¹7ð:žãubÂpËКá™;4³¤²Th%¦šá{úî£ò©Zã0ØÞꔞÁ®ѧcšV¥µ«rȲ².û˜²d£÷XêæÎKO¸S&Ü&ÇÜ–§Ü,Î1‹­h…B]ˆ°¡éÖ“ôƒ q½d•/YUKÍÓ(sÆÆŒãæ£,ÐÛ³-p””áAP° =-QeÎ`á÷RrÇáZ=#ÓV”ºlª”ˆnMÿxÉÓâ%•ª²`ÈÞˆœ}PBoÁiz‹âhèjéK¼£ e•R%:eâ’%:Ue ,xˆ¡…8Xw™íŽxûêc‘rý~ÈÝì‚]3¢é† ;ÿ»¸2xàxà_Å¿‹[ìÿ¾×§ª*?ÿùÏùùÏþÿø™Kþ¿&³tV'«ÖcÙóHcï´¥=uXwtrÙC.ò-Èwм…©sÎsÎÂéÓLTÔ£³Î1« ³Î •âÆþÞ½±5ÐU¤ˆJ¡HVÛíV'Úvp³„ÔvH‡Ôv¨mSeJ¬úŠ ”;“xã³Þ˜mŽIr ŠÊÊODô5ƒ£5ýÓ5mpëŸqëŸq[Dw2T(ŠÄ4 úþ†þxC¿ÝÒó¶‡Ü³‘ÇÎsÙ+³hÄz5àýªA_ÕT¥A†…˜HŽGטiA¿¡méí7˜mA) öQÀ¯n~BÛl{Û^€nTésšÊÍâŒxðrñ‹î€EoÀ¼7dÑV>q0+Žy—?#n¼n‹c Û:äæº~è¢" ¶ôYÒ7—tÜ-†“3³Ø›ßè_0¬ç ’9ÃÕ‚3qK©Ô{z§Qï5¢Ðg; y5±†Ü[Ç\çÜ–ÇdXØ~ÆYqͣ⋷sЄҀhÙ‰ÏHɈ&TYK·³æ±ÿÅ®ésè+(äÆŸ0=c9ö(Á9J°”ËHé²b¢ßP¡è[4£¢T âÚ#Þïñît²× ÙÐÂC©CP;ÛlNzÜǼQžà'ƒÕŠÁúP+eÀ[÷1+÷ˆ™sLb;èV‰n•8VF ö8F‚i—(~iKUÈ]Jó¢¦RsôÇ:ê# õ±Žhäâ úþ«•=º‚íýÃÈ«0AtZ[¢( ZP‰¨[¨Z´¬!Üíi5pš”lkcí2ì}޽ûø²eYa®JôªF JÐ% Z Õ‘F}jRœšT§&e_Å÷·<ö^cú)k·Gb9$¦M¢:””žNu¤R› rÐbi =}Á‰þHuñÃ-éÄâ]tN¼·‰TŸÞe›tÙ¼è2’3žTopª»šâ©)Âj‘– dâ:Ñ9™½äÚ<ã­ÿ˜·þc2Ϧr4L+ô3,;稹ç<ºâéæ Oãר;‰º¤kùf‚VÖôÕ%'þ '£NÆ· µ9}M¡i\kÇl´€:8“ˆÑÓ;̤Kšz$©G’ªTA´ h· é·è‚ØõHŸÊÑQ<ÉÊêråcú)3³ÏÕî’«õ·»3–»#D¦enÓ3¾Éž38Ÿ3xÍXE÷JL+Ç3c\kO}£ÿ±Eš*UnÒ¨‚V?X|·µJ+,gû».w·g¨›š&<تסŠ4¬Í!±Pš­!¨î ’kŸÍuŸÙõ1ÑÞ‚´ü¾N&ç_FæMøˆ×Þ#æb@œdK—ìƒKzíá8 Ý£5ÝÉšãÑ ãjÆéý-g³[NgwT±ÁW<çëý—|=çf}‚]%Øz‚݉êsòÜåfqÊ«·Ÿ’½u)&&Åäc÷MlІY4A+Œ¸¢Ö4 Ï$÷, ï£Þ–ï…ŸFEXl™pË™yEÇÛ°tF̬#–Æ‘ðçÍoùQò[ÎÄ-Oòwˆ´ œ ڹ«ã'ÌžñJ{ÂûÏ™›#’À'Å#3mŽ¢gÑ5?ŠÇO£_2Qï˜iCæê€¹2`'BB}OášÔ¡†¨ZzáÕ¯è; ž/ù08ãƒÉÕé9Š <-fbM[wLŒéAø‰”޶¦jUÊÖÀS4¥¢Tt¢ÆÃÛÙ¤Sƒô•JþŸCç ~YÏfÝ턟xÌyvÃÑjÅÑõ’Ï®_r£%¬ºGÔ]“ywBxtš5±ÆÖ3Be«§Nê7°oiïKš»šzZPïUÔŸšˆÊD MŒG‡¿G‰A„Ï’ªÑxñ!¶ÀT@kQ܃ðS•ƒXS‰¨$¢-« v{l™1ÈV4šŠ:kPgòp.š{t‡:PÐÐ pªR<1IŸ¸ÄO\ŠP#Ð7XZʱöÚåV9áF=¡PN¦ÿžNe¨Ô¡B[K,5¥§,9U?P) ²VH*‹¨>çMuÉnÑa;ï±õØÌ{<‹_ã§ù'/ðº å#ò‘N~i M«Ñô]«Ait$žC9Ñ0êœFSˆu›½vÁkíg«[ÎóÎV·œ]Ýòmø9¶’‘ú7î)2ÓÉñÜÏÙ3Ч\¬¯ødñ’ç×_£.Z²Ücžy›ghêAø=ñ^óÅè+ž]¼ U­BãƒrÂ& ©'§Š•w蛒ͪ¦Y©dK‡r¦#§ÙÔa=í"hN4êúDE1$kµÇ{÷œb ا̢1óõ˜Ù›1ËwGDq‡Ûä3.0’’ÏžÃíWAÆéù:ö–®¶b,؇øMÌY{Í#y~½|MnäB'× jûð²MC¢ú ÕNç«ÁsþØÎkç„oª/8S®9Õ¯Ù!±âX;‚Á†ãËkü"âÝú î,¡˜›LgbÅ=¿A2j0ü¯Íé¶=™bÅ9Ë>â¥IiuHo{ˆ³õIƒöEƒúYNüG›üö”Û¯‡høŒR5É=‡Üu(Gh*,=xàøáòƒ~ufÌ|rÕ¢Òm„o¢÷T,M!C£Ä À&/,ÊÖ@6‡ì;³ªiòš*i;‰XKPZ° u¡í)´…€°K‚Ò R¢‹ ]ÔèJ…PÕ:efDÍVEÑ$ŠÕ 6 †(ˆ+E}ÄUvAOÙ0]MÈ·v”sœNÙì=Ò½NºÓÈvµa`6]ËéÙ-ôTæÓ ~™ m$äÓ/ ªˆa³d$îéª=E5j[§0LRÅ&n=võÁ­o¿ ‰n:ì_…„Rèa«DHG@‡ƒQÒ"âQ5ˆúã?öš<´x¤ ­TÚ\…\ Ò%‘hqM¹7ŽJåd¦ƒÙèyV5X2,#DZjOC¨ ù5º_£ù5NÐWtªF\Ѫ D ²µjÐdh[$ ¥bÒT*u¬Q¯uê©Æ^íõ𽆒JL§@h`z%®‘plL9“¸ÌÞñ¤zä˜b¦9JRÓÄ ÂèÒêÇ€mˆµ€Bh”NYhT™F"|–Ê€[ë”׿S:ê–VC+”= ¨0¨[ )U”¶Ao˃M|›bÖZ^£Æ’6VH‡­aSwª‰Ë­rBT°ëˆpº%¼Þ~XÜ,q¥,©…ÄuH¥ƒ×îm‹IÝfM‰VÖ(y{œ^µˆ{ W VŽäc™AÃÇï‰N…E~Õ+K"dK[C¶T ”­DÄ Ï[ÄÔ„ íÇÝÉFѨVQhÕ†VH]¡1ÕCY‡ªÑ¨…F#vé©Erf“œJ5kÜ"ÁË#FqJ‡-µ¥±·|t³"Ñ]bÃc©¸¶O©Z;9a-»¤ÒF¶*‰âh.©â¨‘‰HvØ!vV0Jæ% †É’žÐÔgÓ¦#ý«-¿“¶@Ê;¢|܉ÔZM¡Õ8” šUa9ž³§ë® ý ¾¿Ç b¬ Eø–“bÛ)¶“b4”TºFªº¨šDØ׈8rï‘: ýž¡55u¦Qæ¡tƒÂ0Y‹[Ù!­l¤TiU®DiT£F¥ÂNrœU†-3ÚBîmRË&Um A Šß ´ Š&A š\£Ü™äKY©‡g•ÚPÙ>[5d¥ôN¹šK¥éhv…Ï7MQ6’|k±ÞöiÆÔ¾Bí Z]Ð ž¤U$UÇ$¶Õ€ùlÌíâÛÉè8;J×D8-h5D¡Ö4Ú ´¼Â*3üjOŽÔmr m%h- ,“ö£ L;ri aYX—îyŒ{áŽcÒ×&Ii±[º$o{HÇ€‘¦–¦r<ðÀ<ðå+ün7§ü/_ýÒT¨:eG§êhTžö1BYE£ÆUúÝ%ö£»Ì°ì”å‚åœëÛ ®ï-š‘ 81áêÜ ™ Š•A¹UQ®g„uD¨Fv„æIv~È.è° :dµƒÞ/0Gæ(Ǥ‘ÎÕþŒj¯q!S…ZÑxÔÇ™}ͬ;äz1áÚœp-&×D±T4½EWæšhPDƒ-š¨ ÅŽcîx$^s,o¡PXFC–ë¿ÚhÜw†Ìê#¦âˆ…>$\ò•My§Ò¾k(•m@Ý’û Ã’#n¬3Ç Ì¶ ­üfß5¿æ©xÁÖ Ù[!Û££o8Õ¯9 o8í_ÓZ»±ã».ŠÙâ71¾ãÛ1jÞØiæ0¿SÝ긛”ÑvÎãÝ{Ü2¥£lè8v}Ÿ? ¿$)=âØ#YûĺOÕj4¥à$¾g¼™‘5‡Ñ¾X÷‰,.[ÎWïéçKÌuŽšÕzÄXS1õ’^µ%ÙyÌvcÞÆOI2:R¨•ZªÔ•¼1•î›1‘ì¢[ ‰ë“x±ëÑ ±*ÌÊ ³bŒ Å0j†æŠ¡±`"¦tµ=sïè¾ÊÂ9bjž1Õθ'(›uW3ÙÍ8ÝÝÒ[Î.¦XË5ɲ&BæHê£ÌÅ©QÌM¯ÐE…V×hqƒ²’ˆ›®@™º½@¥A§À¦ÂÀ%A§:±´;úrÛ$¨¤Ùµ+HW®ZDN --*-­¯³é†lº]Ö‰íb÷2¬“ø§dºý}¥šMZ»$¥GRy¤•G5Ti:‚Æ4Š ÌvϦh‹{ú³-ãŽRìa1ªˆt…•è#hÙ*\™öÖòËlÈ*PæEnRen’å6yæPê&íHaï¼Û?VjŸž·Äµb=ÆQ"œ.ÀŽH¨[y6â&9ç]ü”›âŒ¾» ï­¸ úÞÏO0'‘êñ¦{Á3f×qi:-N£Û¶‘`è9š¨(L“»Þ„BšÜÛcŒ¸$’š,y"_rÂ5º^‘K›WwŸònñÑ“(½Ñ•ˆnÃv×csÿUª;sOEöžkÊIxÇñÑr§pÝœp]pýá˜z­Ò«ç\¨ïøÔ{ÅP]ð¢J…È ™-¾½§g¯è;KzöŠàlç’épr}hd‡dÂ=‹7<‰_óxý–Xy=–V•×Ã’çêý|…¹*Ðv ¾ÇÔ ºÆ–]ò]üódÄ·ñç¼J?A*âàvZ d&H›ƒ`I‡´v°ü‚¤ˆ‡H,ŸƒU1`žN¸MÏÐÛŠ³Â d¨.8×xZ‚gÅxn‰âklݯ¬Ïùƒö#¾³í+ž¾{ųw/yöîÆ~ˆS”8!Mj¢²%?’ÔuCkÕ(n…jV¨Z…¦TèM…šÔ(K‰¸mW ¶á§ ÃÇ—"5 —„ÛËRü6Å•)JÓPn¡xÛ¿‚ý+%È#P‡-椯³í…Ü ¹ž° {S—rOPîñª˜~_[%d“öY'ÖÉ€MÒ‡ EïhN®œîoÐîz¯·X¯J j¼gv“cø%2P¾7Ny'„¨ ‰£€hïšHEF M¬vBMÆÖ¨6ì¼wæ#VjŸ|ÊÀ]0²¦Œ´)#qG¾ˆð‰([ZêÌÓ·ë3Þ­žò!:ÇèWœ4SNµ>ó¾%÷n³û®ËülÀ­>foxH3¢VU,õÐUÕ”šÜ8¿©=F´ØUN½vÍS^bV%Óå„ûå1ïn³ÜqÎbìò3átc¶»Û«Û=6ßõh†*`5ÿ1VžÓñVôzKºõ Ÿ-%‚–P…ĵRúÁ–9ã±öåæˆëâç~ø&C$-ŠÙ¢† A5-è5¸¾»£ç.8söÓ®i\ÆS‘¡†ÞVXn‚eÆXjŒAƾèE]¢U—è¾KÝÓ:sœnÂåð-wÚ1–`ˆm к ;Í!,Z‚VU(yHDZ£Û–™ái1n‘R. fë1ßn>çÛ?;–¨‰ l%Ä-"—(u̲½EºÔhu SË0Ý SÉ8¶n±ôŒKý-õ×ôåšz¯²Ýu¸./9ØMFOÝÜ.Û·¬è3eB— nÊ-Cæ+7\êïX¤èM…($:5óžcížãàž*2Yßöø°=§])”+ K)8 ž‰×<7ÿÈ+ã ±a³Òû¼ÒŸ°Öÿ¢4¥á‚+‚&æ¢ü€R6¸uŒYçh²B• AµÇ*2´¬F$-j$Ñw5íFÁT+êÜ`—u˜æÇ¼©žPªR+‡WjÝ –‡V·ÊpÛ Ó®P|IÓÆe­" R­‘8MN§Ús”/9Ê((ŠBîù=›…?ajžr¥^ò¶yÌQe1µQEƒÚ•XÜ0ÙçYk‘·6Yk“×Eb“'6EâPÆ&b ¬@]I´•D@5´BÓo)ƒ’)6kÑ#ò\*W³AWsD+)¤IÚ:DÒ§* î³ ódÄ2²zT¶ŽYô›5\±´,íÛ6 6 Ÿ5Úa`…†B5HlX?tm™ñ ¯pÚ—˜^¾fŸH©°BîçKØÓ lÑ(iRv­ nê«r –öLÒ-ž1V§”ç˜ôÄšžX£Š†,v˜ÏGLßp÷Õ Ñ>€ÝÇÑã¬EÉ$ÚÑa|^óJ4»F¶2V‘ û}Žë$aDw¸¥Ÿ®™ecšÁvÛãzw½–^wïîèTªŽa”ˆLPÏ ÚÅa<5¯ ’JEVŽZp$t$Æ ÇP3\uG7[pTÞ°Þxe€!»A³Kt§Ew*47C1¥ZpÈ yàxà?XáGÐ"ž5(N…9Êq„Àܰ£AE¢bÛ¥K»Qؽïrõþ’?¾ÿS^_ŸòêÃ)³I#7øzEÏMéwzý_# IÛ—ÈGÕj0žÕèç {/DS$¶™ñØ}Ë“ðM£²M vo ¶oMVÒ$_7dkIµnaÛ ä~‰æ$c›E8àMðˆí8@}Tbû1ÖyŠqT %m.PÖ%ʇñ2¡Z†ÌÃWÁcÊPçûŒ+ùˆ+yÉ®í€ l¡ý P÷ª]£}V¡Ž+¤Ð¨ ƒÆÔ¦J[ê;±i‘o²Ð¥<2iŽ48Ã+82f|â½@Q$ÇÆ-mK†ÉWÕ—Üd§ÜYföš]pa½Á“{vEÈ·7_²}ߥÛÿÚíQCt«æÖ_2 – ý%ºS±±CzÖŠŸš¿ ² NÝkî‚ÂÕøàœðA?㪺àýõ#Þß?Áœ– îWœ¥·ØzAèn à Ë^—_ý„Â2X=ÖIÕuw—"gVU1ÖXFÁ}g̽5fÊ„yuDÜx”±á>±Õ6¤-l  mîó!"³s6yÍíÝ)7³c¶úæQHØÉ9š,Ž··˜VÅ/¾».þÿ¼ùxàxà_ÍWø…žÕ(f…ä8AB`ìÙ“à’à’áI›Ý¦Ë‡÷í÷í÷-ëÆz¯±Úé4ÍOÛrâ,xÔYðh¸À²+d_Ð<4‘8ŒoõBöý¢81¦»÷‡÷¸e̋٘÷c¢û1ëŘZ6ÔRRË–V¶y«_’×£1™°ÙŽ:l2-+qô+H1ƒݨhbº*P®3Ä·)åuÍ )M¹9ƶk¶ƒ»þ¡è™ ÝÙ!’@ñ*ô°Áø´ÄìäÔ•F™@kȤE¦ ÍF£MêL'÷\ªÏLä'8`#s†ªHºÆšGö[ÖôYWnÓç¬Eáv´nÉeç-r©°» ØÞuùúö9ei’+&…j‘+&z¯$<ÛѹØ:Ζž½¥g-yj½&°#”^2¬)×>¬Î¸Z]ðþþïVOxœ¼ã,½åiú†§úr×dtYö{¼=aÛ„ìgkÒß­qÊ’~½¡¯(:&·Þ ßX_ð•xÎMuÊDN™0åKõk†bÎ}ÊupÂõà„›þ ãbÆYzËivËYz‹êTÔ¶B­+TBAºr‡¦J4]â4ņÎÍ–ðfƒÜ¨¬Í/ŒÏùÖÿœëá9“`ÊÄžòEó “ýôÐ5 ÖôOW(¡D,À\€:SÕŒðš+N¢=_ÌÞ³P†Lë÷ʈ©=&Á!—&U­!K…¦ÕHû›ON˜>;æþÑ€c{Žc/pãÍ‚}ÝcQyQÊwõ§œZ7|æ|‹t|g‡×¯Ñ& n\ãV ‹Öáúô”WgŸóòä vG]ú¤¯-é˽xKo¾¥;ßà­2î¼3Ï`ëõ¸ñ.(4“JÓ¨ Å©èäΓ+þ$þŠçéר²f­÷XŸty{~‰-¹bÐ.9ß]ã­bšLEæ*M¦R×*U_§ìé”ýî¯I´™D­%Z$y~Â×Í´ ¬Ì¡ºå±ñ–/Ýoø²û5¹§ìj”¾F©iìŸmÚe¶3ÛMØåá!:ìèø,ë–9Ç2s*ëÙ§Sa¶¾ŒÐÛ S´BP£Q“=ÁGÓ)“•ºÔ¨w:ÕÜ šYä[•Y¡÷ù ÝvËYçgkÎŽ®™tîP‚ůQÜÃþokª´¾J;ÔhOUÞ(Oø¶ùŒo_°HG”®EíéHW¥õhâ`P¢iá‡Ç]yNûÜ­ÏqŒŒÕ¼ÏzÞc³èÒnåÎ Nv›°ÌXoúìW╊Bj{v‰a•4[•<6És“ªþ(ü69¬sôÍŽ#óŠOW|"¯8uçlκl½.Û³.»]ÈØ¿Ã b*_eti#ÉHŸÒÕ×|¡}‹t·¥5±ëÑ?_Ó÷V,/–Ì7GÌ£1óýˆjo6$ZE‹\klr1d»¨¸ZhDʈ½2"Ò‡ÈËÁø†‹³)Ÿž¾âÓ³WxvÌûÿ<ãAø=ðÀ<ðCå‡+ü‚ñ´AUj #ÇÑ|#"`OÕêDø¤­Ãºî‘®=’÷>é<’ÿâÿŸì½Y“cWv¥ù;¸˜ás¸{#Hf&©!¥*©Mý“ëOHÕ©Ö)1d0FŸá˜q/î<~@T¦ô,™d´öÏlÙ1óp,ß{¯ r ¬A¬€5®~Ç}ÃËàšo‡7xƒ‚Fì[øV ¸âœ—(/Œœ;Wüyð;ò{ìO_³»þ’ÿª¾ ý: ø:6©aòЙ`Œ_íÆ®Mêä8r‡Õf²Dkkd!ë q[ÀOÕOK:,Å– _¯”ãíŸ33úRbÔØ¯ ì_¥T©Žr«"ïtê[¹Uh5š{÷‚Üq(+‹ÚÖÇ º,ê }ÃWÄÇ?—ÉCzÌÑWüVù5ÇÎ-'½Žo8>¸eY¸¿zÆÝÝ)wÿrFÛ €P$¨ 8m‚Ä8g1ÇÖ=¿¶~Çsënü–sûšYÄìxÄìtÄt4áö‡nggÜÜ?ãæ‡ N”)CuÍ7Úïùýo¹vNùçàOy׿à·ã?á1:$-=Ò™Gú“Ëq4eâ-8w¯)|‹ÂÎy4xmü‚¿ÃÇú‚¿‘Ç™¸á+õGþRýÞ8/ù±ó§Á¸á"»âËä-_&ïøRKij¬­.+½ÇJé¡·uÃPÛ0Ð78mKà-ð,—C6gÞ={ÉoÍOG¯øåo9Uoù²}Ãÿÿï}xD"ø<ãûï¾}ÇÙü–/æïy¶º…Ø1ÈFP=W¨\•ÊV©&*úcƒn´èmƒ–4 ómK¥Ï[ë9µåÜûÄŸµ¿åoäßáè skÈÜ2׆D•O”u¹Ùžóvñ«|ÀñèŽ#ïŽá`ÎAï@„ä¬éÓ“<Ó“zíM©©ÐÉ…Eò9H'Á¥E¡À¤©öƯ~4¨®Lò™M–zÌ“D* ”-W;~ÕýžoÇÿ¯/ÿ‘JÓ¨5•ZݧljF‹î7èÃ=kø]úg´•Â|5ALµoÐLtÚÉgã§ „.@SšF¥8œtèœ7œ]Ìøæü5ÿãâ7ôœ5ÿ«×ü×ÝqO<ñÄO<ñŸÌÏ×ø•ª´šFm¶E¦Úè²&^úÄ«»U—ݼKñƒIùÖ ^  KÓ« ¦N¨<4.Æ|HöãQŠáèn‰á”ºF͈9%šRsh>`» ¹0é`_Ö\È%µóŽñQÌÊ}ÆÊ½`åj¬œêE…qV`u3,5#!½vK· éÉ-C¹d(Vdؼ/‰‡Oâ ☜¦¦1ð× ½ˆ¿#è¦T—õsêB¥>Ñh=…v¨Ð+´[õ¨F}V¡ökT­B5ZÔŽDíSÅeÕYVÖù€¼±xØñúÍ/© •Û÷§t»!AwK·Òq&rιsE2òô{K½%{I Ddª‹iæhn$¦[`ûé¾-ËOQ ÍB£)T‹8î-ªÐ ÍUÚZ!omÂ6`!GL•CâÀA9®éµkÎÜO”tË5V™!ÊÇKY .ôOBãȾ§™T…IeŒ6K¾Î¿ç8¿ÃÝ&¨Qƒ5ÌÜ ãÁ#q`#eËLù½üš“Äp) “ñt‰³L1eEÞ:¼i¿äJ^P©Ykî%M|%¢Ð,Sb‹ÝÞ§©!¡‘¨yÉ$œò‹ù÷(¢å²üÈiÿ§—0ïù§ÞŸ~®SÿQ…c’um²›ìÒ&7,Š®IÞÝŸQ¯ÃrÐ's-zÚ]­ÚKü`‡>.iQÈ»‘°#î«c j¤¡P¸&‘Öa¾â$ _-À[ĸ½3Kù»òÿf’Ì™lçÄsò¦Z0’ ž+ï‰ ›Èèð\ùÀsù‘“êža±ÆÜ$ˆÇŒüº¢ü$ÏvtÍÎG?±ë9ĺKª:$µM;$•ÇÒrÛ;á­ù‚ÆT{>Âmé©kô²¦›lqÖ)ÚC³7ÔÕ¿‘"Qj‰š·ûU [ÈU›pl“i“y6÷ãêc…Áá’¯½×ôŒ-È–9á埡ˆ–•ÒgU÷Y¥¢Ô§Z=NqßÇX˜« sU`¬JõGÖÇÖM ’é 1bžŽXTC6U(î|–Oš»ÔµÎ¨^ŒCÊ¡A¥èÔªN¥è”R'ñ%É’äÅto¯Ö€© 4®Ü ŒNIÒwñê˜yõ<ÓÿÛn½'žxâ‰'žøñ36~ „­¡QKƒBµÈLµiIfñ[ŸÝÛ€Ýû€úQ¥ž©4+²Þ÷Í6qàqßŒÈæ13‘¬C‚É–`²!0¶Xz†N͘Ì0•‚¾±Å!¡0t"ÃÇnk.œÃqÄ×Ïïyke¼³5ÞZ[ëmXbŒ ¬nŽ£¦ŒÚ%ÏšΚ[žÕ·¢$W rÅæò’…2à“rÎBœÓÇÐ4Žºk^~àÕÁ{NÈN-ÒS“üÄ";6©‡u¶W“k4…¦'h{ *põŒŽ¿#`GÇÚ±Uû¼­^ò6{EÛ$¡ËÃúˆ*טߌøÐ}Îçxqþ÷¼`t´a,ÄΩ`õ÷ûÈ;Á±‘i¦Y y{ãgèÝñ†ÁdA²BµK¨„›.IÕ!ß8T‘I›«ÈF!k,B¹7~∴㢜Ôt½5úaÁ$œÒÝn°Ã%”Ø^ÆÐZp®ëh¢ µ 0r Ì#Nïï9º¿ÇÙ$P l7%жŒúÄGû}fs9 âkîä!½Ý–înËxµàånËÒ1³¸².™YTº M‹ Ð0Qf]∔ž¶ÂvC">/=×ò‚I4E(-£rÁ:ìÃSÁÂ0;0fΘcæ¨TD}õá~Vq“ôÙª¡µ_¯ZGÁpK § «mè©Û??c\Ñ*{ãÚ{ãwW …Bn˜DªÏ ®[œ8æë‡×üêã÷„½›¤Ç¬8äÇök&åŒ/7?!ãéæ!¦™3’s^¨PõšÔ°8–SŽÚ)Gõ#ÃlE»­hK²«šúDX½Ñ=šÚo™µÌê ³ê€$óI¤ÏÒqkœàöb4£"t|°[zÚ'Ë覟ߴ† ~–Â¥’hY»ŸëÛB¨Z,GCÞùÙˆÐh…A°àk¿DQ÷¯Ý¬d¢5Ù6]ºǶ衄-ËG³)ws¬]Îm}Â]sÌÇÌäÝ(0ÌÝ,0‚DuQÔ–@hÔ{4±7~)0ñˆ÷A;Ÿs‡—Í%‘Íf9D]JŽí{^Ù?ñÒyË¥ÿ‘‰õÈDÑ«7 vt˜*ÇÜhÇÜpB†KŽK.rá¢Z5zPÒ B¾ ætÝ {†aeD¶ƒê·xzÈåð=ýçK.Â÷|È^ð1{NiD»¤üÑøE &5fQàÖ)‘å.æ6G{¬W’À¹P>ñÒ~Ë«þO¤ŽÍOÇ_ð.xAzn“®íýk6Ó`fQ%&óT§ý0`=Æ›×1õ+…ú•J-T꾺ß9ùv/ñVp~ø‰Ý3Ÿæ\Á˜ä„jÀ§ò’Oé%ŸÊ Ö›>ÅÌ"´Èg&zS38X0šÌ,qû ™°I‡T8$Òe>ì²8é2_÷H6]X›°2`½7~‘p\ô]î¢S̶`^_?¿'žxâ‰'~¶üŒß犟©Q)¥i‘56¢–Ä>»×v¿ Øý®‹¬ZdÕBÕŸ_G‡±…ØjÉê–Ù¬E]·ô¶kª{&½ÆÌ°bÀš+<%„¹Ô©¼®“2/q/Rô¤æï Eï²1Žù`T¨f‰n˜fŽ­dŒÚÏ›ü²ú_U¯É‹÷ò’wúsÞ‰çÜ*§,Ä„%crÑÇÔ*»k~uò†¿úâ7üâò5»‰Ktà±›¸ìÆ.ekPIƒ²Õ)¥A®XäêÕ36w¦YSŽºSfÚv–’íî·Ç¬ÒÓÍ1ó›1?E/K²o}œ$ç™~‡ßI˜XsZG`Z9=k‰P$BH„Ò"„ÄQÓ½ñskD¦Ÿ\l8¼¸çäò†ZÓ¸_Ÿ’¯lªµEB–8T©A›+´B·QÛaÁ¾â§ š×Ð=X1hæ<>Ð}\cO3„Ø¿‘½@ÓJºÊšÆTÑŒ ½_£55ö´À«üÇg›’ÇöaJ m÷‰Ïl*tf ¹“G´­Â¯®_ó«åkÆÓ%¿¼~Í¿v¾åªwÉ›ÞWü¿ýÿAm+8MŒÓÆ8rG¢8Ø"£¯®8¤²U½E-â¿Få¿!m>vÏùxöŒþ9WÇg\pE†B‰Ï–°õx”#îÛcÚ½Ù˜¶‡sFØJÆ3íšgê5cõ‘c命Äïî0FRSÈ{6¡0gÌ]uB¡ZD†ÏRp¯ð\½â2ùÄóé—o>ñÓàKçJ^& IDATþ±ø ~l¾æ”¿d"‘Þ.䲸¢«n³@UjºúŠÊÐèW!ýfK¿Þâd1ÉF’;Ë%¶\Ó!3-rÓ¤lLªÖ ,uªÖà!>fH6ÍZ¡ÎurÛ&4»XZ†æÔèEÅXÎñœ„ŽØq¡}b¨.°D†” ¥ihî¾­é3È×xyÈ _1È× Ò5ºR± :¼W/PôY ´yÃ`·!·LRÓekvHL]Ö ¼5ƒƒ5mºF$-v?c,ç” [͘›fæ˜Èê²Öû Õ5CgŰ·dX.ɤ…Uå.§|µúÙØÃd¯*aìÌhkt½&Óm"ÅG%º¬PTIáC›rhO|O'æ¾:¢64t§Dw*t·dMXúäES«(R"-h{‚öš‰@±@šì[ZCh¥J­jæ~g§FCWn dL+§t‹ n˜R(6Å +®Ü‡0¹û} fUbf%F^D>÷ù Ù'7MDWbÈÝ)1F%V’sðËN§SÅEc°.z˜éå¨FŽU&¸2"жHÀÉS̺B©%l”ýÜñJ@2TÕ~Ü„&1ô £,0âýžC+(ðNô¨ÁQt Ä12„Z—ûú˜æ£¸ F·¤ìëÔ#*1Hj‡uë3]vèüÔ£NB”@Eé¤ô‚߉H#—u4Ä\Ö°ÔÑÂÍ(Ñ*4­¦ñµ*¨ç Y£ µQÀÿïºôžxâ‰'žxâ?ÆÏ×øÀ(AØáï£Û…hQhÔ ?Y|üϱæB\@¾å|ø‘‹É'ÎÏ>¢Žj’žCÒuHt‡‡›“ “>áþ«'¥0É4›Jê´Š 2TJECSKeË¡2e¬Ì9sÏa;¥Ùj$W>~¸ä÷ï¿Euì1΋˜Sç–½Ä=IШA[4}Xõ»|ìŸSvU §Dw £@§üÜDVþå°7TèTûÿª‹ŠJÑE‡ªÕ ½€ê@Á5"Ž·(Ûš0ê†]¨K+ŠS“øÔa{Ðaé÷Yèæúˆ™:æ‘ qã“T>qé‘”>ÛMͲO8ëÒÜk”šÉ6ëÑ„*ÉÜ£Ó ü£Î=Ý^Èx0ç"¼âd{‹gÄÈJP9:©á‰Û¦Ë`·¡»9_ßò|õ‘ÚT©M¹7â~p„—&»`¹%ØE4†Î6pÕ=ç:x†"ZÎí+ÎÏ®h{‚n¾Å’)‡õ#ÞUÂèvÅÛnAÙ³˜÷‰‚ &Ü!–‘ÃPR/u¼yÄW³×\,>¢vô£=.1Ê«—á8 Ž“’)6zìß9) -­. G«CÖÏ,.Æ\ϸιçܯN™ì¤ñíNÃÜÕx½ŒþpK;RQõ†+šÒ Îuê\ÇÚåt7[ºë ½Í?ßáh¶–£jZKÃätú!CoÁ‘ñÀHYì%ŒXp`?Òío±³}Ŭ[cç¸Ç1Ã5~b× zZ h-JÛ`å%"cYÓîæºÄ\—hë"…F˜”}‡là’¨.ñIŸÝqxØg'zè¢âD¹ãL»CÕ­Eª©´Häþ½´óY‡Öá€&Öð«/ˆñŸ'Œ&K.¢O\F¹Œ>âEñ>§ÝAžÛl«³úˆyfUØf‚c&8Jò‡´Í ƒŠ ÙÑËBúQHoÒMB|=Ä?ŒØº¬eÀ\‰¤OÑûVÈD|þ0RŽ@qª#ÑlI‘;ÌâÞůx“|IåëØ ö8ÅÖSb§}êèjMæ[„cŸÅ³³£n•îU¦hy³¯®ëÅnQeKŸ]"zDteH[ì2Ÿhp§ÐôÔà õ FÕkÑ¢l$Ê ÄòÈfZñX²3;(ã{áµ~Ñ!§Çלž\s:¼áT¹%kLU«˜ d)4Õ¾§ÙZëÏFo%`!`.ö¡13±¯&Z쫵CÀg¿BÆY+4¡ÆÐZ28[2²— ÏàB¨IW¡ˆtfJ¦‡„³”‰£sxqðYkÍj3æáj‡ù¡„`8%¶›à\$8¿H)RAidsæ½FS XTpöó½6Ÿxâ‰'žøÿ7?ßì³ñµD±_­¨ B6Y#d²Kƒ® #ÆÚ~ve'>Ÿt·\˜ùóñ?ñg¯þ‰r sm<ãÊ|F¬?#ÃùC ÿ5~K†Ì“ ‡JÕiEo@¶”BC%[Å”3n¸”¹Ÿ¸l?ržòúê>ýî‚ïÿéœnÊËâG^¹?rzr‹˜´è'í@!i²©{4¬õa<#Ô½Ïs]ºê†.åçjd󇪤ñ‡ŸíÕˆýBò¡Ò!u]jCÅíï8.o1óŒÇÝ2d±K[«”=ƒ¤ç°í,ü> 1`® ™‰13&¬›!›bÀ:°É[‹riP=4÷*­ThÂÉÂcy7æðøîEÈ‘{ÏWý9ó®éÙ!=}‹§Ä´™Ji¤ºC¤ìtgÏnoùöî{¸; ˜ ˆöÕ>"ö}ÌÞøM@ŽÍX¥µêFG  sÊøtÁógïx¡¼c–M¸MŸq—žp»x†°%nw‡çîèwxA„n‘B>¶)5æ7¢Ûnn$ƒÒ⛿¸Æ‘ çýˆ£ñš‡í þõó»~ú—%î×1Áņà«-é•‚úIûÞ ÿΠ‰ØU€ýßpá=ñÄO<ñÄœŸ¯ñKZ¸­h½–ªQÈ‹¤ò–€\3a|Ôॹ둻…í‘·ŽšâXûjŒ£§|Õÿ‘/{?ñ²÷–—Ý·l Ÿmá¢D#’òÚF£‹ ¢AÅPkÖ¥5baH4‡"·H —8÷Y–CæÚ˜…6&Ö;4šNU™ä…MVºìÊ›7f?pûþ”ŸÓ¯9¸¸‡têC+Xø#?A§D6ä.m¦§«rÀ¡ý@k©vIG€JƒN…AA^Z”¥Á®ì°.û4ª†DL‰Ôš¨è«kºFÈÀXÑU#zZH_)“ag‰êÕìl{ãc– ÙÐ#¢ÃVvY·}–íU=¦UŠ#½mR!KAc©T­ŽŒ:a„·ô²Óâ†3ë†VjäÂæNõ‰ô·Ú)+uH*$ ­ø,EЪ R D J.Q“†:ÕØ>‹f„"áQr/ޙпb„Ð%¯KtØ.EmàÆö"ÃkS‚,æ$»ç1¿ežOØcý‘¾±Æñ¯Áî¥ô‚Gþ=gΦVB;z±„Põ™+#¶V‡•? P \«‡ë%x½„¦U¸žqÓ?ã¶wÊCpL’{Ô™ŽKÂQýÀ@Yã©1šRѨ …j’);|6(Ä) ê´ Ý´±FרM&jt­Â0JL£Ä0 T£Á«ÆÑ‚xç¢+mõïäšQSô ÖZ—]Ç¥î«hƒ Ï0dIÞ1™#Þw_°*†ûï½*Ђ*,™a)9–ž£˜ ©#LÃÛºDW%êç™UdtÃ5ë{Î××lÝM_â’[&¹°h…ò9%£ÔM ×"\ŠÀ$•6'Í aP” ©êìƒ;ò}JèÔ> ó,̺à€GŠÊ É²Æ&Î\|cßzmë!}}Å1œÉ[ÎåÏÛ8¤,ÌŠ? ªhnEG˜ÈGòÊB¯ª}=·qöûB›¬µYË>÷â˜ÊsÚCv¥‰Àß&4z†GxÉ?ßÑ´*ªV¿Ä;‰1Ë’ÉÑ”`¸Å ¤#H2—ÚÒ‰¬­hY*CêFÅ/bÎâ[êGúê×IÐú%PHk‡MÚgšQÄÁnCU8ÛM­¨#“*©©r“ºj°ÝŒÖVh» ¢Ûî—Ø{1†WÒz ªÐh*µ¦Q ÖV½ý¨Âzž¡NjªCÝÀeá ‹>‘Ñ!Sm¡¡©ûǰ´ ÛËP•†lh“ lòMÑ3‘Š‚Œh#•ÚÓ©]ÚÕ¨=)b_Ý­ˆKd“"“M¤øUƒêæxfDfideN©¬Ì!y¥p&"*1¨éȧM1›µn C/ð;;†“%£óG¢XÍ¥H]v.¬4°žÖ9<ñÄO<ñóåçkü¶ ü”ÓØ5ÙBgóСë¸~‚›íkžýéãUÎ<ÖTŸ$éÐ`{é3¿rïéŒNÎ 7Z$Çܱ´G,¬š,P&h5mGRkLã wñ)wñ)÷é u«Òª‚Këgþ'æÍ˜ÇtÂãæ€Çòik8~ƨ³à,¸áD¹c¬ÏèØ;t¿Bkj\+e *è²ÂiS=æ¨3å…xÇÂs—œr—žr—ìsÓéñ¡s –u'j©r^â¨|@s+,-Ãj2¬4£*»®OüÜgçûhMÍÑèžãÁ=ÇÜ$!ÙcîL؈‘ ëšZ1IWû+]áfxʵÆÕöœ÷ëK땯áÚ §úçé'Χé¨;šT£Ö4šžNÝѨ²«Sv5 Ï ‘.Ií’l\6›>ÒU®JãhԮάw@úÂGÑ‚ƒ £Ó’»<òfå]ش¥©cæLÄ”C¦ˆl‘1GLÅÊ!£}%pÍþïªÈ¸wŽ©ÝGøÐtFþŒÁdI‘J²MKö±a¹iѵ3ÞášcGÑaêw˜v "žw碣îC—¼1‘ð\î·ü\“-oÆ©r͇š>1…ÿå)ÿ /¹'žxâ‰'žøÏåçküÂÞd4&¤NÕ Hº^?åü(cx´áüËLz¼{ý%ï^·ä ùÕ!ý‹5/Çoù“gÿŸ\þ ƒþ ¿á»;ìªD.$ù[Iô£dõ“äqe² ‡‰ƒƒlª—:åKƒªÖi†*ÆÇãý^úuE92(GÕH§,ÜÌrìÇ ë1' mv;ŸxçS–&üB±7~’½ñ+1÷Ưô‘ ùN¥ýQÃ|,±¾*Š‘=§žhè¨HPhIR—Ùüw7¯øýí7˜AÁätÊD<"}p´ /OGKFÑg—S&ejR$ûP›™>bf˜U#ô)°>7ÉY{ã§ì+qR“ ·(ƒ½S`>+0Ëœf«S¬,XB³ÔP‰ÖÖXQ‰Ûäh¦dÝùQ~Íwí7|Ô/iÛ}7˜WKh|…pÕ=%-,†ÓƒéšÉtÎpºæÎ=æ§Á¼¼àíà "ßGÚ‚ÖQpœ=sƒ£Å¨ZM­©äåVÔýY*hnÉÄ™a»§æ-;<4Y¡µ%ª,ÑÚÛ+pNrœNŽrÚî[Ù¶ìÏ TR'ö}–ÙÞø=j¤äÀ#]²À%ï[ŠIYˆ©Äï¼aâ?òÊyÃKÿ'l?éRì*#©lfÆOæ9o¬W¼U_7>*2U‘¡ŠÓ¦t½5=MÏ[1Qg<Ëoh 'Oq„î,Äœ æ+е‰>¨ÐûŸ5¨X÷z¤=—U¿Çº×ceö‰tŸV8jB¢{ oÈÝñ1²£2ðW ¬†ÝykñA}ÎGå’\Õi¥‚ª×ˆNƒtÎ9ÑïxÖÜr^~â,¿Å³TµFm´¤¦²5âÀ!ñâgè)[zê–>[DÒ2W&ÜÚ§üè~ɵxÆóü/Šœ¤y‘àÎ:æÖ<áÆ?åÆ:á1E—,£1·É²¯Òö5jU£tuÖý©æ£(_§èFKæzL½¤«°Ëîå!³KÕ5°ÊŒë‘WÖ|eý@‡ˆ7_£m*’Çr3Ú·®ö’kÁÎêP[«ÏµuÎäâ‘É‹)Þ”ƒñ”h®pûÑãî—Õ÷Ž]0þåŠó_-yq²Bèüè¿@=|AüÅ]ÕCô”žÒQö³ŽŸŸ¨¬“œîAÈÄŸq&nÐé#Y¡£à²Ÿålÿkï¹'žxâ‰'žøOägküÌ6íf©"ÑèˆTG+ZœnA`ìNÖœÎYoÇ›´‡5l›€]ë‘´鯦ºµ¨>™ÔïM´‡†‘7g7îe:å¾ ’M6T©ÁvÕãáþ˜÷ï^bu3ŠF§Uϱ”N¼£ô¸ÁMRü!k äþ¹ô”5cËИ›e¥£Å šh°væ¬$鹨ã³ÜÏœªUˆ[äZÒN¡±u¨Påu«c(%=mÃ)7\(W”RG(-…¢³U2aaY)z§D‘ u®²¡ËMqÊ÷Ñ/øÇÿ½÷h²%˲ó¾ãZ^¿:nÈ÷â©ÌìʪîF °AƒÆ füÁ4À4fg«ªÌÊ—ùtè«•ku÷U69á„0iŸÙ²3‰˜\ss÷å{ïµ×¿ÃÔJžª7÷ü¦ü7Ï)‡õ~ÀÝæ‚®ÚÑ w‡$O¹!Ðt»¡ö â& h”wHÖ4…«rB3F7[t¯¡T6µk±ñzÜxXiIØÌë ‹ÔT¥I¿·ÁÍ3.ª+zæÝo!9­¤R&‰å›>±é¡DuBTÇDõž¦5ÄnȽsÌ[ëÝžsy‹—Œós}LbܘgüÞû±Š(•C­NB?[1.L²§ë&ú*X²£QvLÊФì˜ì¬²‡*k2A[A­Ù$vÀ: «š,ð( G…Ž8|$RG$„$zÀTNØé*Ï ¤ ®9ï\óUç{ú,iïtÒ»€•9d]÷ѶŸçe÷ m&‘¶†´©ÛÜ0c4™ã69C}hM¦;Auë²ûÑBú5úQF·œsá\cõ 6^—‡î9Va£ª•Þ'Õl³!«tC^¹h®$˜$ŒýGƒ)ǃ{N½[ÎÅ R±p<\¿‡Þ‡èFü?=–yä‘Gyäÿ×ülßñ“9ÿêßÿ74¦†q8MK¡‡5Z¬¸úþW/yØž0u&¿°ñNұ˧ñ´^˲bÆ5lÕá«óv¹Å¼tÑO].G ý’ýÂa·ì°[¶H»¦×YÓ6ô¢5n?gsÒc“÷ÙÈ>;|$C IDAT/>Ëlÿ$ 6&Öa`( "‘";¸ ϰ²Šôc€˜5Üf'Üd'lR*V´KE»iGÙש}“Ò:TmY˜JâÈ »¨1Ó}/[(c‹M¢= )~hÙ>÷΄wÎsúvLÇNqì'ÊqTNm|ì\òÁʵ|Â"›0Öç ô c}ÆHŸ“çùƣظä[uÑgUXU‡3î!øF×G-.Øë>ú˜wú%N]p»9a³éQllôº¡Ïš§ö'žv>pZß²Ù÷Ø$}6û÷qŸ&uÈEÀî8bÑ’9ZÐò\}¤»Ü±]uÙÖ»Ïjl­ô²¯‘ÙŽ]á„%ŽVâ;9ý|Í _3H7DÅŽ¥7âÞ›pïsï£* ­Pˆ´éŠãäð"}©î c#ÑÝ]HDÃÁhtâ“øEÀuÆ­:ãv}ÊÍþ Ÿ”¾Z3R‡µ#µa²·#vv—Q™6¢æ ‚:æ|wÍEsÅYý@§J!…Ê6©žYÈÙé˜éé˜Y4f*ŽÐºÿ2CV[Ì@SN¿˜¢ŽL+ÇÌ޶s޶sÆ›%9.GÑ‚mô@Üí».GÍœ®Üã´Zš¢ â0KÝE ÚG0CmÍKña úç+ô¨%l1ƒš¹1b/B GbÈC—èª[!‰°–YÑ“ºjKOm1e­—„nLO_1v¦4º~XОéT¥ËªñÁ|†1lH\Ÿ¹Â÷S|?à RÊÆb¹±ØYn‡ÐÂEç†'Ñ5Zç?ÈèØ;NÌ;^ ½bè,¨¥Á•qN嘼¯žó.yÁÝæŒm5@×ZúÆ_O F)Ýý}Qs“.|<=CÓZ´Nƒ´˜ý ßMðÝÏH°¨8æÐé±ã•z‡FƒF¦šÏ—ðÁüü©-ýðA%$W[Õ’5>›ºOVû´¥qø;G¡·‡ßÕ1 Á’'£”ºE'Øã Ü“gYâ,K Û¦°lŠÏkcì¨Àˆæññ!Û…ÍC²vCªó:Jˆ`Ñ\›:V#˜ÇGì7]ªµKµs˜–'|_~MY¸\ÕÏHƒÍoù"xÍéñ 'Á'þ'æ9%ö‚ãû+ ¡z‡ð­õ?öA÷È#<òÈ#ÿùÙ¿ÉÅŒÿ¿ü7 %qÚ·­qd,Mnvg\oϹº}Æ}zLÞwÈå©…ÛOH5Ú+mÀíWh+ 7ÀõA¦—âœípζ\žîWŠûwôw9…ÞÐÈš~gÅytÅE÷Ѝ·åæä ×ê µm±ëF‡Øïyó æ).T>”4à8¤Ÿ{çŒ,ó¹ûxUÃ~í²_;ì×.U ÒT(S¡L mO£LJÓ¦À¡QHÑJÜöOƯEßKØ(ÊÂd; )–nrßâJÜ3‰{ÚâûgGÇÞÒq¶h–äN;å^?åN±M» ¬ ‘¹ãÒúÈ—ÚkdnÐn Ú©‰|0x·}λ¯øao2Ý’w}Ô™@žƒ8nh£ÏÆÏèO±Òš»ê„õ¼K9·1ö-}gÍÓè¿}ËËê ?î¾äÍÌæ~vΧÙ3² `F,<„¢vOX&<+>ò«å·,Ò?&_ð&ù‚i|ÆÖ·à©@>Ñh\½ŒØà¸%—ËO\¦W˜qMgµgå xë}ÁwÞ×|çþmn 2©Bdp©>ò ãHC£ß_Óè9û]—U:&k|Î’)¯Òw¼ÊÞr\=LŸhjƒ»â„ûí o/¸7ŽQ¡@*Ð`à/y3ÆbÆÈœá9¶WcËKoØiC‹Ÿ{Ê•~ÎV댟.¹nc>4XŽ@ˆ­†Ôò™w‡ÌNÆÌ^Œ¹Ï¹‰Ï¹]s³¿à¢½¦+c†j×òG¬°¤:äC‡bh.šKÖŠ¹¢Ø¸Ü¬Î¹}Îí» ´R_~‹~)é¹kBwOhî91ïit_‹ÁTºÁµsÆupÎýü”»Í)÷³3¶³>ƒÎŠÞxÃùøšóá5‚ý&â:?ç»Ù×4šÖTAEØÛsnÞpfÜp¦ß0TKŽ™ÒgÇs>RౡÆCâê–ÎÿmÊM ¨1É•K# jiR4.yU>Mi€­9T9uÙàèãWêFXs4z {²'ÚÇDqL'‰ÙY!{+do‡ì¬mÑe›öXÄc6³>qì'‰kS_X4ýÝOÆ/05ÌFŒß¬KuïPO]f›SªÇlsB?_3yñÀäů^üÀd2¥c~ïÐØ¶1K·OpÜbI-ìBÑ…»Gã÷È#<òÈÏ—Ÿ¯ñ;_ò?ÿÇ¿Çlk‚<#(A%ÅÆã?ÿñßq{wÎÕ—üÃõ¯±áœdØ_丿NH¶.«MŸrãRn<äZÀ'à;à;ÅñÙ=/ox9ù‘‹¿z@j%Z4"§`·Ötà çá5_dͰšŠÒ°YCè¯kØä°áãhºÝÃ9TúN€À+È lçs¿?…°là¡€ûϪ$œñ“ÔdO§ñ *ëSKZ £nq› ;??ísůZ™T™Ï>Ó™ ~邿ÀÀŵjá‚AgÁ Z`;9«b̲±*Æ”¹C+ßóT¿â/ŒÆ($úV¡OÆ•âï§¿¡™ÚÌfÇÈ™Euá hÇ bØÒÃÞxÐF‹¹i¸›³­#ê•5+tW\Ž?ñ«ô[~UþžzëpÿpFþÉçæÓSö—ëNùdDÿù1¯öoùúá{.>ò‹Õkæ'È•ÁtuJ±òXuú Ò4­Ö¥²-jÛ¤R–WS¦6–¬$kšÅœ¥;â­ûŠoÜßñ_ÜK˜ˆ½:¬Ùß{¿GôƒþŠ—ý·´©KœD¬Ó!m¡6 /š÷üÛú¿ð¥ú() ´öùÏí¿ã¾9åCû‚¿‘ÿzü$Õ‡¯Ûoéˆ=#kÁ_òOŒ¾›ã‹ß*¸Ç|ãüšÄvø ?%Õön@âz¤¸d¦Óh®ÂÐZD«H-e4àúäŒOÏ/¸½¾àvÿ„Ûõ·W¸eÅòC¹á+ù†ÞhM«@úÐj¬CÅSS­‘Kà˜B_¸c›ÍÓ.«ç=¦1çˆ)GÌ8"êÄ»sÚ£¸zŠgŒ¬%•©£­ÁXµ˜Wãu‹E˰]‘º>ùøPÝÉ%&Æ©+´4S¡G ÍWhC‰öN¡MÚhï¡÷bK×Ýryñywá)ïõç¼Óž³ÔÏYŠá!ÔöÈ•Gƒ~Ø)LjºjG« Y2bÍ@m°’Àˆé™+ÆÆÛíYi¹G½µÙøòžÃ¬;ž16gœpÏ©ºã”{ò­Ë»õ¼ó’wÿÇiƒžKúÞšËóG{&ú¦QÒÕ×Lõ S{”ƒÖ›!›dÀæzÈöõ€Á醞¹åòè¿þ3[Ñå[ã/¸ÉÏøÃü/Xk}¬“SX^Á(šóKþ€’žXsRßÓU1.ž*±høÀ>ð”÷‰ ¨ZçÐŽ\›Èêó<]#ÑäáL½¢¬Ñ‚†; å0ªVŒË£jŰ^³°,¬þçsÀ›O_¿í0ŸñÃÛ_Öþag tõhK<,:†i`4íÁø-#ªÏ-òóû ‹‡#¸W¸ûœ¿Jÿ+§Á/^¼å¯Æÿ ùS ³h‘“áI¬ÀFœu¡À²ÿ?éyä‘Gyä¿?[ãw¿9áûã_cé¡‘š ™Ð†&ß¾äî설 Àé*ꥄjw5ÒÑÁ˜¶D´È´¡¢u$RSqÉê“‹åSå:R7x¸:eu3 LmêÊd=põúYhDowÜì/xØì‚CËèÎ\8<ÇÇ)qÜ%޳BŽ š“úØ 99Ì65ŽAc™´šºB%úY‹ž6ˆ¦=$w:-­«;Ë…hÕO/`zÓ¢å‘9ˆÏ$âóþ¬ ƒþ=ÃÓ{†Îΰ„S " Z‹vaRÍu*eP(›½áÓt Ü0eÒ¹C„à› ‰åñA¿!Q†AëÈÀDFËvHa:œwnø£ÿÄ*ê³²{¬×=V¯»”w>[£n@­;xU†¶W\„×\|q‹–òÕð5/Ä{úÓ Z©0³WäG{¢Îšãî=gÞ-§ù gw·œW·œ77ô¼ ú¤Á SNÇ7|ü‘4¬½Ö“û¨Àr ,Ya55Vs8í¢"” ±òûñ/yk½àÖ>#uFΔß:‹¾Xm}˜éË+žùJ½æÄ¼ÇöJ «ÆóSºõšqó@ݘxm‚j%që1SCRÍ'ÑRÍg/:L«1^•òËúŒªMW§tÚ®Fé\ºyiýÈ…º¥Ÿï’{Qa.[´¥B™9ÖhÆ&ÕØ¢ mJqØLW ‹Z˜¶¤ ZTO F?J¹KZMà´9#±æÂºeí¿a8çš/Œé™+jC#wm„+‰Dû(ɅǺ°.‡¬Ëi®Eˆ õ5b? Æ'ÎâUÀVuÙNÕeØn‰Û{ÊÖAµÒÒ¨]“BX”†Iá8”#—²t(L—MÓç®̽<ánz‚ÜkØuK¯ÙSÖ3´vwh‰´îxe¿¦òtNO®1µ‚m'äÍä9ÁQ‚s–ãv2\™cÕ ¾Êè{†ÚЦ2hb“81Ù'4‚±5çÈš1¶ç™3Nôzú¥+ÓGÓ[ºú† q HæsŠqŒÃi°ý Ç:Ìš:MIY»LëâºK¾ñxHOX×Ja£›-aP™&¹é>k½ÇL;âA1gLƒCÁ97óÀMõ„›ä íÚb;ë!mzoP¹t) ‡Ê·h{:êHÖ«âÚ‚ Ê+—¶g¡º:¢§À,Ô¬ Éš€¬ ¨jƒ²5pTÉ ÞS5Umÿ¤½è°Ñ#¶z—Þ¥´”¯V0˜:±' vä®Ã'ã) >5æO(4›Ü´É°I5‡…6àJsU_pÕ^p+.¸ ÏØG4´¶Æ°t«Å°l?§élE¹èB²šžŽ{™1ަDç;:«=ÑjG7Ý2z²@ö4Þ$_²yÓ „¦>Ÿð¡yÎëæÏ˜6ÇTX‡jòãˆß#<òÈ#?c~¶Æïa{Âÿþý_cÙ%aOç³DGñiôŒÛò„å+ÚBÁR"o[ê²AR¢=•˜O[ìÓš¦¯¨Ã–Ún©5I‘Ô,?¹Tù1›Ûʰاû$¢È¤ÔYÏÈBgûÐÅqsvimÖ%ICÈø&xœðÒÁS¢NB7LèvšŽAÞq):îá,JÓ¥ÔJ4”†)±Í˨ÑTK™˜T‰D%‡øqѪŸ¾¢ëªE«%"WÿR™ZsHžü“ñsž nùâä¼:yMÔݧƒk@£³_v¸Úœsµ9ãjsÆŠþóïyŠ÷b‰?Éñµ˜T÷ù¨_²C Ó£pI”-h_ê4­AXT¾M%> ›J³0í–6¨‘= 1ªñ£”¡ ¶žÓkVäâ–ÜòÉ|Ÿ¼Z{zþšž¿¢ö5òÆÆÌŒ¸Áœ)ÊÚåNóF~ÁõŠy{tØgh]B£ô-JaQf6ÅÒ¢P.¹rÈ•K!]NÔü§¥ÒÕ©…IiØdÊaëtYކ¬¬!«Áe6bÑŽY4#Ó1FÛÐmN䌲uÐ5I§·ã¤wK8QÉ@[c…ÛIÈÛçϸkúÁšA(pU‰ÕvFúŽ!KŠÒ!^E4S“xÚE+%NpÇq0çËà.‚+\/Çñr”¯ˆ-!Z"mÃ…tØron¼Ï¦Ï­†Ä¶J,«Ä%²Ñ( —8ëR§ÙÚ'N;웕°qÍœÆÔ© ‹ÜtHLŸµè1G܈s¦Lè²ýI=6¸UI›˜ì6}´©DzÍÞ *ìƒñ3]*Ï¢éã·´…Žº¶·:UÇ¥¹4QO54S¢lXÈ7íS®ê§ÜWgŒ›ãö±œrÁQƒÊ5T¦A®³1"î…3da),À(_`ÒàÚ™íðÉx”£ŸlŸA#ʃñ3lrÍ&5lrÀ•¼àuýg¼–_±}va—­êÐú]Ô‡ßÕ.±­Co¨1ØÒ%ÞwДµðQÒ|Rˆ•@4 !æOG¢Õ-“ˆ½B¬ùiÕÀÿÕø]öoøÍ‹ïø«¯ÿ†£pv0©9Pî—þöãoÙòøáÓsõó¯X“ó†ÞŠDx, ؈Ø;]b?"Žº|íÇïÔßq®nøú;öÇ8ë’xòiõŒUåQé±ÑC’"šrñô–ó'7üë'ËŸEßc^7W æ¬AM5¬ç5NçsÅïùŠãõ=Ï—ïùåâ;þ|ù-®Ÿ!-¢Ó"×N97ôÄ’gÚì´. }Ä\±ÐGÈV笺ã<¿ç<¾Ã/2¾±~Íï’ßwÉï­_ñÂ|ÇsóÝçó=ƒlCo¾£'vôж[a¨Ãl0ü£×àY)]{ÍØž’ë6 I‚GƒàOøÈ3>rÉRù:ýž_¤¯göš,pȇ<°É¯Î «”°<ÈXµðI!¾ñ­Bù)uߤ:±(6¥fSa}®øY4Vƒ ªCÅ/QøQŠíæôô5M«¦­¯A¤ÑM_£îé4}|k£®Ú\¢]A™zÜçüÞø þÆø7|0ŸLŸ ø‡S:Ÿc?2q¨èI’â°Q ÖÜ‹ˆòó¢v!5à´m2å±rú\[ç\õŸp%Ÿ2ÝOØÝ÷Ù>ôØMûøÛŒc5gËGJl4S‰'þ-ÂhèDkšP§=2ØÉ•ì’6²Õp›’A³=Tü´œHîéšEÀluL{e¿ëb¦5ö æ¸?ãÏú?ðªÿ†¢o‘ë6¹g›>íaêMì8CšÓ§»5J)”KÔ˜Ÿµo"–y—Å~ÌbwD¶ñ‘©Ž¬5ZMGi‚ÖÔ)M“ÜpH Ÿ5=fbÌ çÜqÊKÞrÌçÜð’·ÈÊ`Ÿö¸[ŸŒ_G£Ù›”2~ªøu?WüÐK\4+Ei¹4‰…Ò5´¡B K9äuû%ÿØü–﫯ùËæïùuÛp¡>ñœ÷¸M‰‘vIšû–•Óç^M¸7&Ü‹#rËA³BTa‹X„ÌÄ¡jý´t‡`G©L_†ƒ¥Õ€«ò‚×õWü}õ á–ÉûòH`™¦UàÚž•¢*bç“ì:ä;!ÁbünŒßÙ3r¼¨ßð‹ú{¾®ÿÈEyÃ7óßòÍìwü8û’¿Ÿÿe‹ÃuüY­÷ywág=Vüyä‘Gù¹ó³5~«“ÙÔ¦@Õõ}C¶Ó.)…E+Zl/¥{*ivÍJÒ„&"m–@™ ÃWi5ÐàÔ€çgß™;ºÆ’ȬQ–ÅÖé²û¬\óhjjãÐæV¨ÃBùmy ©©ƒi@¨ÃÈÀHÜ~I§3ˆÖdšKÕZÄ2¤jÊ̦Ú´SP× ÔÐîMbPeš)©ÍÞDB*Pâ07†@"H Ax¬äþSfΘXh¥F©YlÝ.½ '—ììˆv®#×:r®³GdI@DÌWÁ[&úœn´¥ëoéZ[B‘PWUeQW&umqÿp†œYì§}öÓóvÌ5tÙ⑱̆ÜîÎØîzT{ %5ZK£Ð!Q‹jÄM~A7ÞR+ ±1î ½7xk<ç½öœr°.Ü–gx"‡zÁšÐßx{B+¦²,¶Z—•è³Öú¤í!]ЪŽªv^1‰çŒ“Ýx‹]Ö„½„°ÓqöDþ–~±b¼›sR-ØÙ]Þ$_°x±±{Äv˪[s†,é³&R;‚0Á;Ip¿Ìpê u.IŸ8,û\ã‚´ Xê+ qCõœ ×Éq»GÖ”ãÓº½ ¶S „<´¨Fn•âi1®³Zøê&¹ðím5‡3SpSÁMuYº¶ž¡Žî·8vo¤Db-赤©,’ªC² ¨ouêwêÇ•C3C‹vh \¨c‹&1‘©ŽP JR‡êŠ;+btQºWðþþ7Á)[;¢ÕtRÝçÎ>Áòs²ÈÁUkSï,ê[µ[t: ¿ÿ3¨O%b$s^Jb æ¾ÁŠ̸á‡Û¯0îÙ]Àôö˜mÓå=Ï)±yP'$Òç®9å®9¥hœC+•ÉáÝɃÒu¸—'ˆ½d£õù£þ ĈàäƒÎœóbÄl;b;ís6T¡Í*ðqò”sï† ïOœ+l½$U>wí)ïyÎñŒº0Ç Žö &ûƒxE”Ò¸D´ ¿JêKÎÃrÓæÙê#O¦7œN§MF –¢ìN–Þˆ;ïŒ{ï”;ýŒE9fÕöX·}VMLIX”¡Cúô´5ξd¸^q¶ºÇ‰+ìN‰–ì÷áóË<)~Ô)­¦Z u‡Ú4Xu†<ôO˜ŽO˜ž³t¬û› B7[ÂvOïènvt×{¼uÉízÌíöœÛ朙5!0w„æžÀØè{úΆ¾ØÐ·6ôý +âÎ9áÖ9ãFœÒ±ž„7ˆ± £%õ¡²Ù·WLì{ôªb|¿d¼[0zXâlK>tžñ1¼äCçià3Ô—<Ó>¤ÀÐjt¿fíuÙuÿœn¼¥¿\3X¬é/רõW¯è[Îõ{Rç2J˦ò´ž¤k­é›kKãÁ8⪹àCýŒ³g\Ý?¡ß_Ñï/é÷Vtì§*°’cÝ"VPyû¶ÃL?âÊ{B&<\-ç…ùޝ­×h­¢t-v^Ä?¿¡ 4t·F·* ½FÈ–bïRÌ>kîQY”c‹âȦp,,½BCbТ€=Gj§ Õ¢~0¨täƒD7j̲ır¼AŠåìfåû ·ï´Û'܇¯¸íœ° CÔˆŸ‚›þ$³­ƒ=„1†[sge<¿Gyä‘G~®ü¬ŸùeZ¶4kI}#È~o¢¯þ¿jôŒà¼Á9–ì÷DÜ¡I|ò´ƒ×Ȩ¦ujjjZW§™ÈÜÝ$[žFK~ÝýŽßDÿHk|#G«LjÌBކ¯ý¬X[A“Á:EF¶_‡Žá5Øv‰o$DbK-MôJÑä6IÞ!YùÈ»ùN¢¾m`u_§éÛT}% %4t§?™>¥Ñ¢[!±»!q2œðÐ9ecwi…N¢ûÜÚ'¤¾Í]4Ak$yëSl=Š;h½çëÁ·|=øŽ¯ßrztÇî"`? Ùy¹réæ;zÛ=ÝåŽîby%É®¦WÇhW’MÝ£P÷œðUК:¹í’;.…íü4CƒP¸6÷í)ë]ŸwÙK¬º‚›ÏÆïÔTPæ6寢œÚ”Ÿ,ʧ.ËË!¢KÜIÊWÎkþRw±õ‚‰öp0~êŒ?ª_ðò_A.øËõï.6Lsž®¯0“#i0“†ZøZÊ(\pÑ^ƒ)yš^óäö†Ó˜ü¸¤:3ÈŸ;äg6ùs‡ó”×ÍW¼n¾æû權!UnRgUfb™%ÅÀ%>{'äÈð¹Ü_1z¸çéí5“ÕŒÕiõiUÔcq\ΘTóŸ*v¹åPÚ‰éÛŸÂ Þô¾äÍøKÞî¿ ¶B¬~éXVAWnéîwt§{º7{¼yI\E¼+_òÍoøÞúŠ‘5ghΚs†ÆœSíŽ3ëåƒÓf¬µˆ[ý”õ—ü¨}ÁÀÚ@G#ÔRNü)ºlð„ž³bbßÄ;ží>ñ¬øÄåÝ'Âë”oú¿Eï·lú=î{'ŒÌ_˜?ò[ã~gþ÷î„kíŒÿŒëÁ)Gù‚—Û÷ï2ür¼$g`nh “Ú4i#y¬#5ÚžF30(]‹Âµ(<‹•vÄÕô o§¯øaúﯸ<{j¡ãö2œªÀL*ôUŠ*´Ùé3÷ˆOíS Ñð\ÿÈ ã#Ï­(¥ñû5ßú_óÇàkî‚woí ô=ŽÌˆw]⻈ý».ñ‡ëyU˜n5*PºÀ Á¢s®î8“wœË{4[²ìõYy=–~Ÿ¹s¿;å~{ÆýæŒlîsyôžKõž#gÊ“ð}µ¦Ï_¥èªÅìÕXn‰}šã– µi’8•k²¶zT¥C¢uHôÆ0ðÔ~oÍyïš'½œ‡×Œ9#{Žk6~^ÊÀZrÝЖ‚Ý®Çj>àÃ?½`÷Ï]Ä—í/ô A{Öp\ñÊzÃKó 'â–a»Â« ¼ü ]IK£±u[c•÷hnuî¾=áá&üøöÚX >m,(&åÄ¢2ØzAdì[sÆÖœ,÷X&cÊ™G~ß9¨…¼Q¨…æTV‰3Èð/ìª`7s¹yí°ÿfBüÚ x1!yL„0‡{ùŸf¢ïÁ2J‚ñž¶d,°Â’µ‘qˆm~ä‘Gy䑟?[ã×µ6<ë~O•ëÄÊ"Ž-â‹âÎÜTÔíTÙà%fwGt–Óˆ ú“}|¨:袦uLêžEÝÚ4–Åq»¤kÆØF…T‚ª2¨Ñh?¯,Ö´Û¯°ÌˬЋ’jUSÝUTNEÂÓ3\«Às×xÆÄ{`h-p‰FSšT“jmQ­Ä „ë¯Üá[;„/)܀ (¬ð°„Ü”hV‹fIl¯Äéç¨@Y.+¬Û>›ºÇºî³®ûTÊEy‚ÁxEø,¥jH²Ô'¹ó‘­NH¡#CC4d¡Gn¹”¸T ­†)k|•aRá‹ìÐj¥µ(]à#cÉóšØêÒï$ÿ"B7†8Ì E:M× tjÛ¤lmòÆe×v©ó0Kã=Já^˜Ñu·xf ¶B¹ (ÊŽÅNu˜eG\åOqó‚D,Í…åbš-fYã4%–ª1D –t=Z¥Q`³óBjÛÄ4kBm§gXF…n¶(2ÛcåôX{}V~÷ò?æ_ò&~Å»äEêâe^–ÑͶ„æžN¹%ª6DÕŽHÜo8º[pzûÀd5#7]¦žÃ¬;ácõ”}ÕeWuÙ×qQ.©æk£Gjx´ºŽ¡ö¡ÙZŽ¥åØ"×)~‘ámsœy‰=­p¬Û¬°ƒÛ­0»5º/–Bi‚Ÿ# b:¬°RªÖÆ–5šT¤†ÏÔ=ÂÑ*4Ù’hŽVpÞÞ¢J¸Ì®¸L®xº¿ÆßgLý 7œÓµ×øa‚% 4Ñ"5A©l°1zL­1·Î…åbˆ½‘h… _®qE†gdtõ-˜›.™éQ›¹á±¥Ã¶î°Í:¬éq[œ²iºTX˜F…+s‚"¡ï®×„qŒUÖ´J'µ\rËBC¯ñDŠ¡µXv ¾¢é”…ÃÆí15&\É'Ü”§L´4"¹Å9qÜ#‹}–ɈYrŒ—$ÿ¢8Á²Lötˆ²ä,½ã"½áIvÓìšVé­¥ÐmVFR9ÄE‡U1ä>?!®#Ü2¥SoÈ9.)>&Íaõ€PìeHÖ8Ôµ, . ê ‹=—I˰]3±t-gýkÎÆ×œŽnuæ„ì1©iÑ)±1ÌšÈÜr‚éT\é—ìóˆÝ"âêÃSœ(Ç¿Ü4{|«@³÷‚F3)„C¢BªÖ%mZ̪E«*=Ü”‚mÜ!T‰”„²²©7.UåRom¼æÐž9îmqõ”¾±¦o¬|>·Mrï²{èѾ×hf:bÛ 5-Âk°Ã‚ ˆéÚFú_íÈ«ˆ<‹˜í;L׬»°êBÏ…Œ¤A—Ÿ[„û ~”`{ºÙ>°ÉÇ!¿Gyä‘G~Þülß¹ºå?6ÿ+qp%O¸â„OÚ)K-¢ÊÒuC{ÓPz5½jÃØ¹§w¶¡7Þ  $b(¡#º¤±MêŽE­ÙT®…µ©Ð%WË«¤ ùd=çÚ>#±|Ì ¡;ØÐ®èûk\'aølµîã1ЗœY Μ%§þÃiÐÌ]oÙŠ.›¤GúP~²‘5‚]Êy}ÃùðOèfü3aM˜E¯ƒeTé¶]öÈ!lü•2Øe=¶».»]í®Gw³ãÈY0x¾f®ˆ y0˜ÞL˜.Æ´†N RüN‚ÿ—)*FìZn÷§$w!ÑtG¨¶„Þöÿdzdɲ+½ï¸Ö:"uæÕÝU]`I ÿÿ-ù4ä+ä„uWw—º:edèw×jâvch|œ!ÆÊ,?³mç1Ed¤Ç:{ïµð†‡¿ÊTYwúÌå1µ­©¶ñ•ÿ=çýÚ\úÁL?¾¿ÂÕˆ}“Ø·H|“P=|Ð]g6Ù€2U¢o\€”5 ì%'ö§ö=§öÅX%ÌL2UÃØæä璘™>ž!É5m_0î¯õþ––04–¸ýˆÈ±¹ÉÏÈ ¼ÐÉ ƒ“pèŽ\ûà°˜tL ‡æ£2f΄»Î)÷œr¿9¢rraÒÆ‚r©ÑUB\ÎÄ”ç|d’ÌìÖtƒjP’f‡]Ü›ö’Ÿš7ÓiÈJ’I&µ%>Sõ!ÕĘôĆ~»þËy·9e~?f{ç“Ü™d² –KK¢«ìΰÒ#ÇÆŒ®µÁ²öXÚKÞ£PÑp¸üƒC„FN— 5 ‘ðYH¡#í8“®9“o8“op¥S:ìÎ8bÆ1ekP´u¦ÐÐîUìv…GÜqèÿ»-ò×ïv=v»AÐ#\êôí5'Ã;N«[Nµ[ -E“K4©@¥@Ê‚­>‘?ˆäK0ý³Å-qG{ú—[Æ— ÎÜ;)¤° êº,Ç.l& š°³à½sМˉ±OöX¯bänè·Ä†CšØPµ$¥u¸˜zâ‰'žxâ‰_ ¿XáwÞÜó¿”ÿ;ËjÀwÍ·´¨¬¥–Â'OêuKvß©9Cű7åÕðg^û?²ý AkZY¢ÐUJI£°tŠŽÆ¶ñYܸùtÄâû¯Ù†}B·KäöØ»ʰ¤ó|ˉ}Ϲvƒïl¹s޹3NÈ—½ðÈ÷¼ToùÆøžßX?²Ó;,¥KyÀŠÛ¸Ë~êÿ¬ÓüAà´1“{þêèüõä÷hýœ÷î Þ»/Q’¥9À’R,‘`I º”S2•!±1:,%>áªCôèÎ|<36—|ýì{¾~õ=óõ„?<|Cqgp?=£¶%Ì+Æ/f½˜bˆœð‡÷á ?Þ…ˆZ^Xïx1|‡•Æ8bÏÚ°’{¬ì!ë²OÏÜÒ÷¶œ÷oé·ÈY9P|)ƒµ»Øx&[ÏgëwØxæòˆ›è )jHöaâÁàˋ܂DÃÀZòÊzË7æøÆúŽÈrMÐr 5MÒgó0dúãëôô-/.?ðâò#Ï¥øÝ€RW(íƒIÊRêÕûÆa_;ÄØT¦Le*T¦B#$ß$RŒò¼ä¶8åmñ†÷åkÞ._³ÛôHñ¦\h8Ù’ qÃ_ó{þJ|ljòp0ÑKd£Bfb…)f˜Òä2{Çai¹1®øIý]ÿbOÿåô¤€Ž´¥#¶ølé×[úù†Á~C·%7tâ#ò õ©mÐÊ%«Q‹—Lz3l7æüè†ý‰CíBã@c jYe³ü˜ÏÉs>¥/8¼Rßqª¼åµò–÷Í Þ5—¼ç%JYñf÷–7럹\Ýq²|ÀœgA†Ye†ŠÖͱ¾¿W Š@á6<å.8C„‚ÖhiÕä––†X·Yuƈ#¨%N¥;¾êý‰¬¯bö"PáS~ÉÙ×üý†Ûð‚j+SmªŒÈZF'sF's&“{†“9ÇÁ#Çá#ÇÁŒãà‘ÂUI:IÇ$õ jSÂÔbNµ„åž•2â“õœÛîŸÅsæñQáQè¢79}}Ã¥~Ë·Æ÷¢$-©p˜¹G  vT2!Q&颦–§¸"áT<òµø‰A²ÂˆrŒ0C KòPg ¸ /ù!ü ŸxF64IG&ÙȤ±î!´#Ù`IŸ †bÉ%#ÜmϘ¿±ý®Cü{“B3¡#AW†ŽÌ¨»á¸÷È7Ý?òmïôÜ ¹¥’i*¹¤}éJd”hÈTd8ì1ȩ٠Ÿ…t„%„ÔÒ‘w<“?ó­ô{¾‘¾£–$¶¢ËVt™1aK}vôض}²Ì¤7ÐÞ€—¸g!ÎY@ïlǤ3gúà Ê-å üÜ¡7\óâü=ßÔßñþ­&È¥u­-s…Õn€1M>H’ŠÒ/Пh¿.pÏbzî–‰;çԻëBBÓeÙ9AŸ8Œ¡P`§ÀBô79Þ›€Îñšî› ¹f°Çc/\¢Ä¥NŠÒzZñ{â‰'žxâË/VøÙIÀÙìêjÏm|ŒÓ&¨† µ-ªªx€²Éi.e /£ß]q~q}q¬eêJ¡ÚË”FÙªíÁ¿¨%ŠtÌl7äíâëí€6Òi\ÖÑq›kÓ+W©÷ô™§tzè= Ñ·ÑAGM7+ÎÓ¤¦&P=rUg¥ Ø$=¢•K~«Óü,aX9ýî– ÿž_¿z‹uš š5Â<8˜šJ‚ZhUŽVÈME¢ÙTªE!kÄ­M˜¸„k—àÞ%øèÑö[:“-WƒOü»É︹¾`=ïóyõŒæ{…º#aŒrúÖ†³gwÈzÅ~ë°¾íñ±zE™HIE·XsUË"£PU6j›öœëö’—ò\3Æñ".7Xq‚š–¨i‰–– AëWк‚Ðòx4FÌŒ1º9¢F5è°Sº¤–…¬4Hj¬4JÆ…qÃ+ý¿ÑÿÀßÿL ù‡šR—MÓå:yFºqÈLf¦„¬¿gì/øzü#®2•&Lõ sÈJï“È&‰l‘È&™ø$^ ÚJ‚ 9ÃrìNL*ëìw6áÚc»é²N†D‘K©T¡‚6EJGÙ2Vf\È×\´7¨U‰º¯PE‰\×ÇÀôPqc“Å&aä³ ÆÜÛçhvŽÚ\ U-gÐ.©[ ¹-1Û™ _ì8–§œ«wª†¦¤©¢‡=OSJåšJ“©tÛŠqÝ©Ó zí_²ÒÒ\#kt6ñ9i‰c—Y|Œ/G¨JÍX]òF}ÇT:â³tÅZ ø^|RUt²€ûtw;&Áœ*U¨*•PöˆL‡Ø·hã(Á?ÛÛ{Ã%V<öx¨fªä¨mŽVäÔ­Li蔪ÖAk û.ù@£‘$–»Ÿw—ü©ùšOásÔ¨DW¨Ó+JèiÔqçîŸ=2”ôó5Ýz‹„ºË^¶H\“õ¸‹¦¸uˆWGxi„VVÜKg„¶ÏGù·æ9M ÑÔM)ce v3¨×œ5Ì«>ñÄO<ñÄ/”_¬ð»¹ïò¿þ‡+vÙ›®‹áH?Œ *Æ çІ[©Ëµs<,‰1©ö*Õ\¡.ªB¡*‚½Ë2í‘ŸØØNN“DUMQ ŠJ]¢VJI¥P4ª¡JýR¡­$š¾Ìz0äô†úNa™ŽÙôº,úC½!ËÞ€ èiaÒãƒT6t—•Ó£c 42Žó)j^rZ<°Ýx‡Úúì í¨DŸ”ôVL†3æÉySÜç„ïk؇ Å`•Ðk¿,ÙpXS‘A’[©D“rL½Be¨/K¤ª ý• 9•¨]™ …´±ØÕ–õˆ‡ú„¶‘Ø«.swÌ'õccÎ8\0bÁ¸\ k …u%/:*KÜ„çÜL/¹Ž.˜×cÇBµKNì{F±«;KðªˆçòžÉË+©ÁÒr5BÑZ,5GO|bNìoFïéX;^ößsêßcZ)…¤±IúÜF—¼­_²’ûXnŒåºŠ^± {lƒ>› GùÈtÜÍ+é»[j®Ñ´š¡½áysÍB²r,G}VÑQW¬åo¥ÔÜÖ§ ã%£xÉ(Yá%á¿þñJ^ ƒƒÙQ·ô«5GÅ#å‘#yŠ/vxÒOð”ËHÐ'AåðÁyF­J$g&öxÏ•ñ¡´øƒ®6z‡*P0ÝËM±ò ýñ`ƒ¯·%¢iQÚ†ÓrJ]j¸EÂYùÀ±4å…ü‰qU\ÓÝIJÑf‡‚^Œ/¶ ÷KF«%£fI/ß"•R]4>?ñ+bÓ¡ê)È¢Æ4ÏcÛñY[=VR;OP£ wŸ Ev›ÐÑê’#ãR‘I±H…I&LSPšê!ÃÏ´4‡81É*9Ìþõõ5}Æ‘þÈĘá¥!Fœq³¿`÷6K&_Æ.'Þ [‹9×nÉ»ó¼úÈÌð(1 &ì%›®Ø11˜øS†Íœb§S¬4v›‹Õ„f#PÕ†“×  #Ÿí¾Ë6î³]÷(UˆFK:ÜÙÇlLŸ‡ò˜éö˜iyL& ÆæŒ‰5§cÍðå€pé1]ž.=•G8ÈmËëgo9ëßsyqÍ‹çï9êÎÑÛŠ:׈kU=â¡>g×thJ FÖœ¼¯œtÙU]vj—:“H¯ ‘ÇÒR ³¡Ã‚––”&×âM|C"LòDg¸ìw.ûÀe±ñر9Qü&­«Ò¼n¨&-…Ö²/]ŠêRa[ôqÓ=ðiz1ÅìÆ„‹Á¢C0÷ ”çÆ8Ãv÷øR€'öôô-9wäŠA]ËüQ]'ÿvº'žxâ‰'žøoÈ/WøÝuøßþïɔ.ó”Ù%0æàÊkhr‰ÓåftÉ>±x`Bµ×(g:åÝ!Æ ‰dšD¢IÅá´õš°¿ÍQšˆx)ˆW*õR§•~.%•RѨ õ ™Ö‘i/dVñ&VXÝx÷ó¯HÏt’KƒäÒ 5M²Â$/Lò )dªF&‘ Ãeéôí=Í8É8N w.?_¿ ¾~Îö愇í„É×+Æ_-ék+ƒ rS®3¢»ñ(°èP6ÿz[-2¥A‘*t‘cŠ/Âoœ£ÔÂihhͱDãJT­BR[¥Ï²2-OÙã1ׯ|Ò®ðÝ€—ÚG~Õ¾…zé–V«ÈLØ5‰»&³dÄÍô‚·Ÿ_óöó6yç*½ 9éÞáõúцA¸¡Ÿméï7tÛ ÝfK·Ù 6 ÂÌQÌÛÌ)ÌnrÌŒØþÀ~ä`ؽކž·Á´ÒCg0ês\ðSð5ËvÀùøš³ñ ]uGGÙR…«é˜ÍtÈýüŒÎ$ätò€ÖTôô-6)CuÃsû3{ÙãÆ9ãcýœõ3¨*d6¢Ã;ñ‚¹4à$yäÕâ=¯–ï± ^÷—ß=-Aõçw`ƒjÍ«ò_çßó•øKÄhrvÈ/S32ã ¸Çåáô!µ‡ýLwÏHŸ¡J%U_¥Ö6ÃAìÑ-ºù9¯1¢ %¯9ÈYV”œ2=ì¡ñÀoøGìéIzbƒ*•` p¸\‰Zd¶Aè:¬å.Í¾åÆ¼âZ\qS^2'Èf…¤–Hr‰IJ__Óúú†¾»æsöŒÙK>Ä/™f§xuÌq;ã ?óÆ|Ë‘òHGlé”;:QH£*˜r†a¤N‚¯n¹\æµöž×í;Žòå÷Õí31¢2Õ/¢/Åïm t—á³1º¬¥uàîÚ¹Œº¨±å”N?`Ð[räÞSØ2èH]jI¡-¥#“Ù:{Ç"ÐâÀ"W5*dDÙÒ××¼2ßñµù=_™?°«:<GÜç<.˜È3¾r vd:îî0‚kßât÷\$7ÜågüP}Å÷Õ×$¡E–tŒ-gþ¯ŠŸ9kn¸ßžswsÎòÓwŸÎøK†þœá«9ÃΜåÀÛ÷gˆw ûµA)C¬Ú.wÖªQs\q½½ävsIUª|ÕûžN7Âí¦ŒÔ5»‡>Ó÷g¼}ÿšÏ×Ï8L9Ly}õŽãÁ”~wM·³¡×Ý`PRg*qá±ÎGÜçä’ö§Ð¡>§‘eî«sî”s2× Ê]²cƒ`ä#› |"tr e'L®9!&SqB‘è¤s›äÁ&½·ÙW6{ÙaêP^š´žD=n©F€.ˆJ¨…]Òç6¹ÂÎSlát#ŽzS.êÏLç'Lç§Ts™`ÞAyV¡O27¦# 9CÖk¥FÑkDÛ2}~O<ñÄOü‚ùÅ ¿»Ç.wó_ƒï žÃób¤"uøì ] Ú•`wì“\é<Æc´:£uÊ™AùI§|kÐn"j!¶X—1ÞßîðŽw¸¿Ýah|P©>d4A« U¢’JE¡ê)4¦D;4{‰ÍÛ>›·}ÄTÀ;»ÑT³FôkÚL¢ÍeÚ\¡)$êZ&“tBÍaít°ÍnÐ˺AH25ßY|üÓ)»?9ÜÍ'ØI̱Þ&¥3 IDATqèø=o¯)Ó‚hÓ°˜ÊˆO­Ñ2Ú}E[ ÚV€€Vt´E­ÐåS¤¨z…1ÌЭõ¨D)k„ ­%¨,…¼Ö‰ ›]Þe™xÌYè#T½DÑ £d-úˆü4àR½EUsbÃ"°\×å1sœóîÓ+¾ÿ—oˆ2—gÍ{z½5'ê—ÝÏW3Nö3&ÑrE ÅáTœÃ)À‰i]é’Vâ PFÐ:@_€X¶&«dÈíò’Ÿ¦_±*ûuÆ‘öxÈG3g,¢#ê¹ÊæÓ€Û›+ÎÓ{ 4³¢×Û¢R!Tò¡óõVy‰­í)5ÁZõYÉ}¶x¬D—FHÜsêk GÙsšOi3qx·©öV j‹ä¶fP/yU¼çïùgþçæÿD9­ Su§á3‚É Ÿå+QqÑ\ÓoWœ´X¤¬ü>«Î€>Y¡SÏd”y…=Kh¼¯‘£†6˜ê‚#uŽPZ„ÚÄéi\è‚è}ù~ehU‰ÜÖÙûÏ'Í5ÞŠ—ü©ø–¢o¸oΙŒÕGÆâ‘I»åX™r©^óÌþÌ•øÄïÖ¿¥Ê5æÉ1åÚ@“*ŽõG¾5þÈ?ÿÈP^¾v m)5Ý)0õÛÙSi—î'¾ÕÏ߉á²¾åŸêß66?µ¯yËk³Â4còÕ_ý‰‡ŸŽi‹†èÖbº:~™ÉRt¹7h …ÕK>l_óñnð¬¹ÁTszÆŽj¦óøî”?üËßð»þ†øí?r6¼çÅÕþýoÿ#Š\..Z ¹I”tX%c¦ñ’V3bAO_ñÒ|‹°Z„ÔXËôÉ<ƒÐóh´–¨²Ø7:ûF£¤¥);,’Ödׇ֣ö|f0)Þ™´Ž€ËqÜ".ñ>¨‡)ŒV”¹Jv©#•&T1Ë”—Ý·¼ì¾eÒrlßcÌ2ª¹B0ë F-ʸBXN‚+Etå ¾àâ Rñ¨ë›ÜO<ñÄOüÿÀ/Vø1ôáùKTWÆ>ÓqÎ#ìóOèþ¹§“éäÏuŠ­“–V‚ö³D–X¨i…™„¨½ õÛ +N°÷)vcíêLrfÚIn‘6&©aQdd©Â¨SìI„?ØÑ7Öôª›•‡õè¢L=˜Y¨9¨ ¨ç Ž 6kʶ¦úTQÍjÚ{ö­A;3¡hQ¨Ð)0É ,ªÓâŒ*ÓØf~,®øT´¢M1ò?Ú0Ü,8=²]«1ºª!üEgHرêL¸ï,Y¨}¢Ê¢¶Ú$E¶k”×íIKe)dL˜#·0jÖÄ…ƒ›PK|l^rWó9¾â6¹$H:@Û•¨» t¡íÊ,Ó1o£7´¥ÌV ä%É£I²4ˆßš,‚17÷—,â ©k"{5N'f`¬9áÓæ]-‰]‹[NYÃÃèg㔇póÌ4þµ,“Ô6H“¬kîM*íKö›+Ó™y=æG~Í|Á^s(ÐXÖ#>&/i¶×íwÍ9KH})ð:[ì~„1HQõ)‡]ÛeÝ X׃ƒãþœOÕË+ÖÕˆZ“ðÝw‡ïì«sÎý¬ÉžXÖ™÷û(U\×ÈUEÙª¨vFß^redo[0Nf8A„HZ„ ’v8kGgïù,½ ·Þ%%›xÀCrÁûx—‡huV¸uÌ Þàˆ™šÔ6X^ö Ÿ]Ø!:„¡O?_3(V ÒƒÝ Y­#¨:`€j–Xöž®·aÜ}¤ò$zÖ W0¥U.Pœ yX#ÒÉ®é˜!'É#ϯßó,øÈÈ™3²tšS2j—¼‘FÒ[†Öš¾¼âÒü„ff¬Í{Ù$à Ç8Dm´>û¦Ÿmø›Åw4©à*ý̤;CùuI|a]i”ç '°ÇaÆ: JRÃü8¤³èE[FÑ¥[aè9cÍe­£F%^açm­)>‰dQ©2…¬’“´5ðŠˆçéG̰àbsÇ× ´©¤óÞ|ÆÎ÷pG!¿j~ÄV¡÷¯ûoô4ý–µÞ!¨}ÂÚ'¨=ÖqŸµèÒm×ümõÿðuö=Ïä\•9‹ðW{œmЇŸ'¥¬Ñ«»‰ñÙ>f¯@9m/ªžA:q ü.+uHÓÈ„•Oš›T©L›È¬ËŸÛ 8ã”Þ`O¯ÙÓÓ#UaWvØ¥>»Ò'« ”¶F§Dv)¢ç¬è™kzÊÁµcnñ:N`ë!M§%êØ<jãvƘ9B´ØÄ(Ôÿ=ŸxO<ñÄO<ñ_Í/Xøyðw/Pí’ÎQÈø(bt4Åñ ¢‰K´÷#—ýÞ!ßä±NþÙ ÿ“ŽÙßáö#:ý—[åšaºf˜¬¦kvF‡OK>ÛWlò>»¦K­ š±„Ü-1¤ÛðÜ=sàZ2_yXï]Ô]Ä uÖ¤Å:sÒ’­ÒyMú¹¦š×4K –,%ÈuÍ—°ç“”¶,ëÓò”ivÊ,1/•CИ_„_D'Ú2Z/9?2 'xU…¡éàw):¢ÎˆegÂ}gͪ3 ²,ª±@{•¡h%ʰ„!T¦‚ÜÖLÚãfEÓüLž›,wV»Ÿv/Y}6QMØ#ˆ|ÚHОHÔ'>[VíQÊlªŸ”Hû†b©R† E ²O¶emÙ#sLl'ÆöcúÆšS1å¬~ R]ö®Ã\‘ù&£jñ—2ª˜D3Øi>;­ËNï°-;ló.»¢Ë6ïbQª•¢QJaí3gÌB±WÊVcÕ ©S™Í®‡Sï‰[‹¸cѸ¯Þb놖¡jRѲkz|¨_ò®~ÅÛæ óýˆMÐcý¥<;ÀŸD\Ýp©}b¢Ïpý=–“¸‹l€ÖäèMÖä´­@ÕRúÚ‚Kí#¨5ϧ8ËiÚ@ BI‚V‚ª¯ù,&ÜN®[ŸûÕ9Î:ÆYí„+.ókÎó.óFÒ‚víÒ‰NØ·¹Û]p»»àιàÎ>çÕæ¯×oy¼¥»Ù"[õ¡Sª (F‰mÇ_„ߔʕé©+<-ÀSd¥Aqj¤Aƒh[d§Æ¯Nâ)¯Ã÷|}ý'œñ{´ÇGhZɸ] K0Ð6¼¶> ©5¦• Yk«K®htðÙáSg2æ6£·Ýpºb§1žàw”AA¬d=¢§P{S”‡JT¶t'KÆËãù’ñlß„8JŒ+ïQº59}}Ú”ô¢-,¢E!l}å#bÕ¤RerY#•L²ÖÀ-Cž'¹î)×:²V!¹5™¤ñÞ|NÓ‘pš_+?ðÆz‹­íéúkºþ†Æ‡•Öå¾9ã¾=å®9e»8mB·Úp–ßãFûCv]¹¦­1¥{›b„J|0 ’‹ê‹ðKð pŒF¯@=i¡Jí)¤G.¡×e©¦´­LP„_(T©ÂºìqÝ^ 䊅Ý'?Ö‘ôгñ 㯦Xý1¨˜÷DºEŒýGÜ}ã°¨ÇÌöÇá÷ €U4¢Üklâ¢`á.:ds“f'(k¶T•z¸IeªT¢’e8–hT-íªŸZš}F¦ÔAaŠ#VœÍy^Ïx®Ï(U›Oé3>ÏIC›´VPìÃN1œŒ®µ¡¯­èi+zêa”Ù7¶xþG ±üˆÖhÙ61&.Y«#‰«•‚ö¿÷sï‰'žxâ‰'þ+øå ¿‘÷Õ ðǃ)WƒÏôÜ5ëfÀª°júl²>á|š?Êd×ùläo¶x1yùÈñ7÷\ˆ;Îó;.ò;.³;në3Ô¦dÓÈr›]ÝE1K”nlèZ‚#GøÒŽž´¦¿_á-=Ì.Ê¿¸ð…ú÷`Z¼³ïïaÿ]˜×”ŸÚªiC* jªæKǯþKǯm‹zÄåWü!ÿkn²3ª"¥ªRª&Ål·E„·ß0Ú,8™=2 Ÿã—ºª#ü.ùá·ê¬yèl ,hlQ×µNÑD¬” ·ÔŠŒRÕ‡Œ°vK¿ÙRÿ´ú;VwC>ݽàßPï$ê@¢ÞI°ƒæ¥„x)hö@-X#¶JŸò ¥‚Ú´ŸígASJ4]™ºw(oât’CÇOrìÏPÕ’Ò–¨™Ò–X«>sÎí¯ø‘¯(÷ßTâ4¿çÛôO´H“¼µØ0àžsTj–Ù»Õ˜<¢>q°x¯sº9½QNÏÍÙh2M«å "RШ0ú†_£û{Ξ?0yùHo¸ÂUCdj&ʜи¦p ºý œ$P% &Û7/®žïFøõDÂR†ö’«Á5ËÎùÑk‰5‹}á6ÙΤ %²ŽIê[ľM ûTŠÊ^wØÔ}òÔà3—L“#Ö«É£…/vøæŽŽ½Ã; à8´cATº{Ÿ0ñ by_c§É!ù2¦A"1lÃ&6l TÖIŸëÍ®±IÜ›Ç<˜ÇLÍc–Æ€´°Ù•]Å„»òœX·ˆ ›È°Ùëaî²K;¬“>«tľq©d•ZR¨Õªè•;Üv+E˜ivøüÖ{hRA‘ªä±J©¤¶Í¢šð±~‰\A\{¼“_òN~É£<&ÖMð[Ì2Ak 49çܼáÄ{àH3*Wt³€Hv©$•RUI%ƒ‹-5 ‚–™ßîpÛÇaØœyÔ¥rÈÆ‹²Cö[”¡Õ!#eÁ™v‹"—]¢8ŒÜa4HAÔ¨j‰NAY)Ô[‰úö`Î3,Wœ—w”­ì´<ïdṴ̈µˆÖkiTÀaƒ ¶61]iËDžQËÃvI !8“ïÈ5ÕªY×CΊ[ä¦b&ÆüÞü–Æ–h A3“hr KM°Õ[‰±í˜Ê¨L‰J“¨¹mpŠ=m!a9ò¦A]ÖË–/yLNÈu•\W)t•T¬”>ŠÒr®Üá(ñaUý²Ïª¶ô• #ÀõöX½]Î㬂CÞdJS¡|Ùž2r\8׬•.¶1Ô–HJÍNêr+.h´)–“¡ö*ü,`æŒHZ›ù~‡ÙKRiŠÝ¤Œ•9¦#Ô–Äp êr'q_ŸòXŸ0¯&Ô•ÂZí³õ}‚Ê!p]*K¦6*K!UMîÆ'lò™¬!;%ÙkÍI—;ï WÞqÏ9s&„§ U©’6Á¬¢mz›c9çÜsáß#;5j'Gµ34-Gjò½Î.êP†*AÔ%”}Ù#|BÙ'34 KC2[\3Â5÷H*Èc}k±ßZì×EªÃXs8h´–óËkàs¸tð÷ð/¾-ï϶æ0ïŒ Â¹B&f#ðÊŒ~¶#‘n£W9R}›÷ ˜HÉSÆÊ#=6ÈÔø4HäèøMÈóæ^±¡Ç†îAÐÒe÷¹OÏPÒ†2Ó°ê„ Lè{ÿFϸ'žxâ‰'žøoÌ/Wø-Jø§˜²W¤:’2 ëh˜~NÒØÄMÒØä¥NÇèoèØ;:ç;ã%ýÉŠ~É@^‘Æ6Ûy—ëÛg·]ÐÚ(g<žqfß¶.7Û ®WÜ®.ØGSN)0X3Â&b+Lv®Iõ­‰ó7þIJï4a4Š ›‡=.:†ßÒ{Ò}¶£û¬æâlÊéñ £ãžb’Ñhq=çÜȨxL ä8§sÓ9ީޯ$¶†1L8:{ ˆìÞ´CëçŠN²²I>ý¹*½$~æ²î).R§a®©Q¨e•}áp«\pWDʦf4Yòìè#Ï&¹š|†>´=h{‚¶÷³3>-Ÿq}{Ez££+9£îŒÉñŒqoF-ËÌÓ#fÉuzDžLwLjªeöð;v»N‡ ã¹ÛtÀ}zA'Ýá'š_ x9*ª^§ÙÂ$[Z$K‡B1ݹ[¡tK:ÆŽsùž3ýžsóŽ^¼…„CÅPw»SîÔC­”#nÔšTq˜)Çü¬üš•ÝgnØé>Šcéžâõü“sù–sç–‘µÀ«ö˜qAª5  *U%‘¬¿ì¬eÔÈøtÚŸC•®Fq¢1ÓGT#Ò{ÜÒÜ¢6%¦™0´\ÚÉ]…9'R]BÏ#š¸t¶Î*D_§È« ·‡H†Í—]°ûaÆ·÷œ9|mÿÀÑpʱûÀàh iC]¤(ZDJUb×1½fËq0îh7øm€Ú”´BÆ—#.”{¶f—ª/SY ?^ñ}ú+êL¦ÎêG…ú³Ì¸¿`<|d2˜1ę́M‰D5)T!Zœb³!šC((Vá£ÇlyÄ»ík’ĦRdªZ>D),[<+Ä5#^›p͈ÌÒÉ,íPŠÎ™ñÀ¨»à?³÷f½‘dišÞsl_ÝÍw§s F0"rí®êžnÌ”þ‚ ?*èFú ’ V/S•Õ•Y™‘A2¸8ôÝÍÍm=vtaQÙÓ€î43B|€çÖ?¤ùkßòåM—MÜË_ 8{šE% YvA_ŸóÊ»D‚;C tXj]vOàw3új ¤ºÇJô¸_Ÿò!þéZt¼-GþŒÂ3–ÆÊêðhxÔ†ÜÖgLócù€]¡r•èóÐ:¢ë¬µ ³2Ó%³ÝçƒþšikD2qÐ_ÆGcô^A¢¹,ê·Õ9«¢K•™Tƒ´öQ{|nÓ1ÖLäíIÿÐŽI‡6iË&µlÒʦ˜;,? ˜~:%¿sÈ,‡ÔrI­æs8ÃoœÐ¯pÝ'ÈpƶS`÷rv÷Ó÷Ó!ÕtD±nAn}–Ùô-·h ^HS]¶hŒ¸EÓf\þ>Jc^šPûPkP;höC˜¥‰ÔHJÌB¢«a(LJºÆŠÚ o´wqO‰I…Á##¦ê³ªh•1½rÍoªïù ^ñQ»@ …Öc³ép;W$‹³ù1VQ²\ÿÄ«gã÷Ì3Ï<ó̯”_¯ñ›—ðO{ªlu›,ê³<éa”‚RšT•E)M„t‚ ]É˳K^rIÛÞÒ²·´í-m}ËUòŠëÙ+þüá[~üá[:ášoª?ñ­ÿ'¾9úž¼¶ùÏë¿£øhñðó1ûY›—%C, L·@\”ˆW%â¢Ä?Ïi;5=÷ÀÐYq$žt‰ÑYâ#°qÚW;Žÿ~Ëñßo9=pjÝ0°žh[Û¦:e%œ…w”–MåЮa¬ ©© 8t<]CÇcµIû6v•pTÝáW;„©Ðm‰fKrÝâ°õ8\ùþ% ýç€Ê/Iv{3`? ©º+³ËJï²¶»lбÑb_¶ØïBôµdxúÄW'?ñ÷¿ùgþÃ_ÿ ØŠÚ(j¾ßþNr »±¹ûý1n?aø›Ç?óæ·ï)-“÷ rª³¹ï°Úö˜nŽYÅ=Þko0’rd6ªL*¥7!èqù‹ù#õÈО1lÍÈ6ÙÜ%»òI¯ ÏÄ:ϱœk˜Ó æ\Xïùk÷{þ:øžÓýÌiÂÔ°_ü¾þ[¨rÌVuÉŸYpŒäXAÒµ×ÌVF$Ö {™=|äDÞs&oÊ9ír%KŒº4JÝü\ík* k:¤¸¼R—8äLÔ”uÇSkÈÜò8ðT ]Ï)=«.iÇ[7¥ïÍy˜˜aF¿=cÞ°¨Ì«nœ<ìpf)úƒD,Ö¡ÄXIœûœ°Lhï9=¹§8±È{6Va™–‘!‘+`Ú“@ÍfUáË„N½¦PJA_-èÖñóTJ›=/ô[JÓ&-~ô¾ä'ñ–wâ ?ׯ©®-ªOÕƒIumñêü#oÄ;^G?SÓ-BGjzcüª„p¿§µØÓšïY?uùããox?óÇõoùt8CI:ÔZà„¿iÿ‘ß´þÈí|Óúžm;d«Zl€­Ò³× ¢¾GjHh´ÿ¬œÆh|6–WÐ÷TRÃ3cÆî™ñ(FÌƽ ð½Æô¥¶ ¤±Ër×ç~Ó?-RŒ‡3¶NHÉJ‹xÐŽø$θ­Ï¸/NX†Äû%K»ÇCëߎI-‹X ‰µ½°£ÅSkÈÓÑ$wг‚Äu™y#ÏmfUÈFvÙ]ÊÌ@¦‡½G®;ÄF Û«hEïù"ú™¿üQ4ã1ðØ0³‡Ìª!³¹Ïâç³ï&<~?¦vu¤§#]ÚÕ½ž”1]oÉd|O® =a/&,÷Ì/;ø› ªÝËw»™FÝĘzcôBà8†4Fï/’ü{Ó—…R‡Ê)ö]„X¥‰“ÈÏÆ¯jŒŸ®°ô‚®±âL¿áñÇÜrÏ1÷3cÌŠ/ä çå /³O¼Ènhë;j]g®õ©uͺCr2»>Á¼ªÐŠÃêÿÝžrÏ<óÌ3Ï<ó_•_­ñs”v] šÇ@è&JBÔhB̯֬-AeꔦÁ!u!ST;ƒ4uYß÷8¬<ê\Ã4sL³@S5²ÐÉ›¬rÈ6ef!K“²²(±H>Oúkz]pTŠ-R\=¡yr(3v"'ÑÛäíÕQ õ:À>-é¼:09{âõÉ=…{ÈH×>·‡3ì¼@«@û<㥫Ó,°œ3,ÑÌáÔžIéUMÞ”Sb‰Kä8"¥(l²Â¡H,еÅr1`—4ï”%À¦‰¤0Lra£$z“µU-¶v‹ÔðÈ……¬ DR3É-›ÌõÐÝ©ÐË©°[Yóù‰VTÐê8=½¡´ öZÈŠrLj;˜u‰®*¨¡6†Ya®ž¢4š¬DÝ$3JÓ¤® ŽE3‡sl×vë6iæ"…hæçvG3ò2LQ ìe(D¡Ð …Ȇ,Ы ½,›³’( *[ÇDºPÖˆµ‚¬ÆÒ "±a"¦¼×LÄŒ¡š£S`È §È 8V.2Íe¥wÙjmBb"¶ôXŸÜt¨ÌæþT;‹u» ¾ÎÞnqË¢Ë2îpXxˆBknIZÞßI˜ð@ËØ¢[%¹o’®]ҵǗ¼vÐ,‰îÔh®D*4M"´¡)Ð Ã%«<ÒÜ#ÛûäšE~0ÑRE/[#lÙÌö Áž€ —‚@íqÕŠœK«Ë­=KqÐ\O© 8ì’Ç€º%P±B¥2pHÑDÓþ*¨ñŠ”ÓdÂíá”ëôÓô˜ÅaÀ&í¥.h°íE<ö‡˜í”8ð‰‹]Ñ"ÎZìËÄðÙ;e``9¦V 4 HMG3j7¥ÝÞ` Jò•Mñ¹…¹Ø[$¦M:0H:ie-ѵ”ÀÚ0ô¦Y¢×F‰‡Ú#)}ráp¨=‚8$ÝødK|î ÍRXvî9ìM¼a‚;8à Rì<£–¢ù»­*«AjÍæ"SCxC«0´C«ÐE…4?›ÍPGvtT¢¡R •ꨃFtX›cîÕ9²ÒÐÉj—PÛóÒ¹¦2t^Û83n‹:¬YЧF#Ág¡z„åž(‰Ùì·tã-‰™¥i#Mƒ2·¨¥I)jtS!lPÚ¯ö‘ùÌ3Ï<óÌ3¿^ã×yóåÿx‰ 585P/LT×@š™îÕ.YíRÖ&JÀJt¨¤Æ¢îa=•Xö¬Äz(Ñd^D×¼Œ®ÑœÍ“<ª‹Ç›*âSuÎMûû—> hZÃ>¿¡Vš@ú&ù^QÐsi‘Ç6ê0‹&l,ÕQ@üW!uÛÇî$t^LÂÙ'ì¸b;kóôpÄvÖ&ß9 ¢nŒŸe´'Ú“5íɆ0ŠÑ ÄuB;‹™é#2½y»¿Ô{ì!‡•Ïa¬|öÛ¦ºW¼61‡N+Ų;´Hq‰µiè Z³]b Œ¨À´J¤Ð™ë}~悃æòA] ÷* K¢‡’21¹¬ÏYË6HI§^à9 ¾“à;|'aŸøÄÛø>$ŽCžž3ÐW¼ÔoúOøQ‚唑Ae×èuEXĘicÈSÛcåt6¤–ËZt™ª š¨É•ƒ†B¯kºõšZq>±jñ ŽÙ-ö…Ï~é³×|ö{³WЉÖô:k:+zÆŠ=§×Y ™»(`1'<Äž²ö ÇéçØƒ»ÓßÏÄsûFñ*ânyÊíâ”»åfUÒm-èE z»¦^6³ÃÌ8B’®ÚЫÖôŠ F% ´˜¡þÄKóŠ\˜,²PCµÆAì«€‡b‚LuÖ‡ŽH›»l–F…Y–Ø» ë©Ä¾©ÈöO­ÛA ¿µç…E×XÑ5—ôÌmÎËêš—å5r…Ú vu›ûò”wùÞÞrfÞP˜ï±Í‚ž½ Ö±-vYHZzdµM.mòÚFS5¡1áÞà1Á¡¤'6œˆ)|&Å”Iñ@Tn¡€^µämõ3Gþ®—ÐvÖ`½6a÷¸¾ÅÕýK>ݽä)±¯CRÖ&ÂWìÏæb€òk·Ãa瓬kŸtç!# ÙѸQJ¤mèˆ=ÑL¨U®A6ðH5,tÙMC6ŸZl¶m6O-Ò\p;¬8Lh]¤„¯RÚæšaÁ¨=çåé'6²Ã:êq[ŸrSŸ5§:#õ=Åù¤×-ÑS£öœ$ò‰Ÿý‹¥œ® ¸-)g‚r*)JäÞ„µŽ…:N”âwbüh×NȺ.éÄ!‹]ÒØE. ꥎ\ÔKÁ.jqå½Di‚eÕÃ/j¡Ñ³–üNÿ\ëÀØ2²ðô” ã³ôæå•2yÌGd±Çýò„?-Ë'ûŒkçŒGgLåXJâDŽ™á24Y³ù.£éE}æ™gžyæ™_¿ZãÅ|ý?]Q[‚:0‘A¦Å^…ìUÀ^”O-5V²ÃBö¨¥†ö¨Ð߃ö£BûIñ¢ÃÅ‹¼~ñž×çØk!“ .“ ./x¬FÄ¢EÜ IÚAóä¿I•P¥u¬Q=™¥C>ñØw°&¦^’›ù‘AÖ2¨_8Ö#‘—sä-¹È?‘Í]žÞ¹|÷š~þ†ùbðË6GQƒÓJ9úÍ”#óž£É=£hF¯^Ñ«W´ëQ¶%5=fŸ\4ÆotÙ>uØÞvØÞDT¦¯V”ã´Ì0GkÕÔ~³­Î9:_%´DŒ©×Ô¦Ajû$VÈS9$];ÜßóÇò¯é-èª9=oAWÌ™E^LØmäÄ@wÖ Äí§„v &DÑšŽ»¤Û_`”#©GÆÌèˆ5X L…°šm£ÞˆGÙh&ÇŸl²¹M|Ý¢ødSE:òD£:ÖÇFTbº9¦W`˜•0˜ë=ÍeªOpô Ëj*§Ö €’&Ø[µJÒQ :úº1úŠŽ¾æñÓ˜éý1Å¥Ãò£‹ª <3g`®87oé ¨sPº¢èëWÇ8T´ò˜èãÉŒuÐcª2„.È,—54QS`±¥Í¨~bTÏÈ%£jΕ|Ń:áGík~4¾b[¶(W&ebPÎLƽG¼ãïéž\ó­ñg&í{ »Ä° ôvÅVúܤ'ü9ûšÒ¯¹,.ðƒ=A{|?áurÉëø#ö´dø°d·isµ{Åwñoùn÷["µáÛèÜMƫݶ•“9#6¢ÃÌQ ƒÓú!~‘Ò*bB=fd>’*!$7d¥‘ª€E­Ø—!²ÐÙd¦º­7‹E,‘aê9¢µ3¨çêV‡ô°D”x¯÷ GSÎÄÍ/:–SÚ«íÕŽh7ƯlqŸŸðÓákþ%þ;â°ô¹mP¹« âIyª‡lꈽòITÀ^ù8YÎùæ/ןl–ô“%]±%SrͦÄüœ/yÀ/D©š8»dlÏøÆÿ½ç‘Ø.{Ãcª3ÝO¸¾yŧ?½äÓŸ^²^w)M‹Ò0©L­/Ù‹(Ò¡ƒUgä;—üÁ%¿u)æ6ÆIYvÛKi‹-#ñÄS&q°¦ÃÁ´YŠyŸi>æ.?æSy†­ç8z†­g8eN•™èIgt×É€Y>æ®>áZ?§'– 䜓<"ÝûHÓ`•õ˜Ú'\Y/È5 YXh9XUI­tÒÚEU§Èi©_%ØF†áTˆ–¢v4 lÈrgá`ø†ÖuUkTÒ¦*,ªÔÂ&§gÏéuvôNæŒOx¥.¹à#ê#“bЬMäÞ"—qÜâ.?å:yÉGë אָ0ºþŠ¡xbìÜS[K­ÇÒè²m¢ËRôYŠ ­‡¿?`'£j¹­è¬¶T†A¥ëTºÑÜíR£.4’2 .[€.$‘µ!26ÌÔ$sÙn#îê#¦³ ³é«û.É]@±v¨L½¹G–@Ö:騥Jie£×%¢Ð‰€­ÀYX­;M±«[K鉃Ï÷ôˆ)•ÐI ƒårÀ£°ácÉZ^’ï=ò:bQ; †Lw}ÌtÎ73Œ¬ÆT Z i,³Ù‡lÌ ›Sä&u®Qæ&yb£éºU ôŠJ«¡"u<ôÚÖ½§Ø%âÁ¤tLP ¤eÝ,ÊÁ¢Àwö´Ûzƒ9’AÉA9h¡Äv404@C "ÁÎ ‰õS+87¯hY[ÎÍ+ŽÌöšÇ>÷Ø×«¤ÃJë±ÕÚ$z@*}¶›ˆÝ¼Ãv±»é4~®õY9ˆ°F3,#Æ –˜Fnÿ=òžyæ™gžyæÿ3¿Zã·¹öùóÿz†ruê¾ì;Ô=›ÊµIÎ/ÊÖ©læ–Ji£¤ŸR¸IQ³¤)Û2æªjaÈ/ت€ØìòÞÃ}÷ˆT³a[C,àˆ&%Ñšh¸¦3Z†1š_£õjĤF$°ë‡Äý]¿©–Ò¢¬LʲYZRh6;#äÉêscs8r9T6†ŸÓ=š£o Bª˜V½Ã1Rê B$‹ï\âŒ^B«¿fÔ³Q]È ›ä²®z»¢Í¡ð›ª€pçaø{?Äi§ìûIßÇé皤|²˜=MX= Ðס€Z!v'ÇîäœuïyÓ¹$-\RÇ'z¤¹Ï¢ÝãÉðX xz çж3ö{8ZJ‰EñY96ùçíšV³^þ¿ÈèúËÀ“j¨@Öh^ɾrù¤Ÿb;= Û[à§8ÝÇNASä¦KæºäµK*]Ï¥´uŽô)+êÏÁMŠ£ÆšˆR˜<Š!_q0< ÛàÜ»¦®˜ëê#äõʇÚé*[#3M6F›¥Öa):¬TYf¸IÁÛÃ%›"úEËrȧ2E« íº,Ã.IéS:Çå vqÀ´*Ü aêOHŠ€rnðT x*úÌ‹Rò–϶ñi·¶,TŸEÞc‘õYÈ>OÅy0$9wAEÏ›39’3FOP(òÊ$Ó,rÇDsjì^‰ó¢Ä.K<™Œw„îŽ Û­7Œ´G†Ú~€JgQŒ˜c‹#ó1ïÓ7¼—o˜Ëªlú.ׯ[ÅjߥmnqTsNÔ¾‘!M‹•Ù'¶"òÂ'NÛ¤Êmâ:k'bã´Y;[«™)ÍR—,k„N# $°[,eÄJvXɈ4s©Rƒö`ƒÿ»„Cæ³Ë›öå]Þ¦hYˆ–B¸€Ñ,(ékz£5=µ¢ÓÚQ²/¨| ‰ø¼*hƒMN…Á~ë³zè°|è²|è°|챘õÙªå©-2ýó†Í’<<˜oø¾tɶ#.§ß¢F,kÄR¢Ö°mG‘à4º¢5\“K‡¼²ÈK›¢´ ¬‡œüçš»ï[X­ û¨"¯èÍÉu‡G·Ë,ê’}Ò² Gv£‰G Ž5ꮆtu$•úüJFi(%˜¨¿¥So‰¼-¶^ {×è¾$²7ŒÍºQ25G,ª«m‡õ¶ÃjÓe•uyò,ÜsoÀÂè‘Þø>ùT7|ºŸÕR¨æ’%Be”$*'¨àåç‡Ý3Ï<óÌ3ÏüWâWküÖ7þßNQmuá¢.<Ô…GÝv¨>ê”5ª:ÕNU›TµE¥,¨ Ô¶€Ý¶KH—lÊŠË*d+¿ä²þ’ÜXù}V¢GæÚÍ‚˜50p¥0Ë’î7KNüÎÜOŒ&3ôžDÏ+ô\" xôF̼13·9©OvðPRP¥&…e³3[<Ùn½c*[çàÙ蓂Η ZÙš13ÆŸ[ ÍCÆÝ´ÏÝtÀíû>û¸CøÅšñt ú‚¢°ÙïÖûû ‡Ú§TeÛ¢ni¸aÊ ;çepÅ…ñ32ѹ›Ÿq{Óâéf„QHã5ÁèÀ‹ñ'Þ-™í’÷2é²ó[üðð ßO¿¥XZ<>ŒÈÛO‚ÌsØúJe’×¹´©¥ÎÞ ¸óO‰ƒÛàáx‡w±Ç¯öxþa(âY›å»!ñ»6‡[ï—ZQƒ!*.Î>pqvÉÙ‹;.Î>"sƒÊ6)‡&•mòѼà÷kT!X< ãí8æž×ö{3&Å%ýŸ²¤G…AŽÍŽÚg¦Q£#ÿékŒŸN} xm\Kkí„ð¹/èy Ѽ™u²æ­fn X¨ m@.mzö‚¾5çH¿§ÅŽ˜˜;BbBÖD<2"Ǧ6cÁØzâ…{ÍQøÈTŸðCý-š¬Y×TÐd¡IG mAfZ¬µ6Ú˜{1a##‚âÀ$ñvw‰¹•ü´ý‚Ÿv_²ß¶Yd}—E¯ÇMÿ„–ØȘãú†/äŸ9”>óbÈ}9á»ü·l÷‡¥K²ô8,=„¨Ù]txz5à¶uŒ&¬“›¤ËzßesèpP.‡Ð师’^>çmñŽoŠ?óõÓ”¥ÉR‹XºVu„i—ôzºåšžµ!(÷X­f™‹•8ë´É4|ó€Rz3{Z|Íù7üX|Íjße•tY'ê½ÆzØáãæ5«¸Ë‡ÃÎO\Ôy]ञÒ2V^Íì½6 ˆÓ6•cPYë0â6<æ¶uÂ;a·Ø%QûsìÍ™A¶¶I—²¥ƒÓJ‰Ž7DÇkÚÇrá0[LxXNÈ.…a5Õ&W! …¥ŒÃÞª¼u>p>¼a× Ø…±ç³Á/¯0l $:ûÏÓeŸ»ï¸ÿ~Â&éZ+¤<ñ`lBlA\C\S˜.SÃ%-ÆL7o =⦂[ 7ÚCIÿ‹5½/Wœ /é­I…KRìkŸ½ ØÜ{¬.]V—«Ën+gòíŠþ7k&íR·Ñ=IÖöYm 'Ægép¬P=AÝÕ‘®þo-™J§®óº1§ý^zW¼]²ÇÒK,½À2JС4 JÃdjŒ‰ãÇí˜Çóþ/ƒçQ}2)?5›f¹¡Ù.:j¾;J(³šÃ¶¤ÜevD•QÌä³ñ{æ™gžyæWË¯Öømo}¶w§00a@€@åÀu ’ð]ø±Y©ÿoU€Ú¡Ô¨)»²M,GÜÔc45ÝiÂ…RC/ʦðIƒ4Ì´¢ÝÚpüâŽ7ö;ÎG—M¬ƒhêJ5לˆ—èä”hX*bŸK¨27©5ƒðXÙîƒ1š)ÉF&)=žpÈ8çš—\sÎƼ@üï_óøÑaù§Sns´Ÿqa¤c ¥5ytÉ.d=ï2_Œ)}³© ´zKâû{úîœSç_Ô?‘&ñ<âÓµÎâÝ-ƒâð¯Î9²ùBÿÐäjõ·‰°UN²ò¹Oá eS ‹>õKÕL‰æ<8ßgê£|AçåŠ3yÍ™wE4^cZ‹ÙÙ»#nþ霧ŸÆhR!d GËh}½çmò‘ñÀß¿oêdŽjf{Š?”ƒ*ˢχý[ì¼"bÇ‘õÈKÿŠÈ\“ˆ€Døì X‰.Réì ‘è$ø¿¬~0D³‘S~^ñ+H Ðœ sP`U)™r˜ª1wL¨•F__ðÒ¸â•~E¡›hªæJ?çÚ~É•qN¡,þÆø‘¾âHà5yh¬= >Ú¿ÄÌĘßêÿJÇ^sìÞñ;ÿ¹ÓO‘Rg.û¼—oPž r4JÓ ÓMá²3†ÜԧIJÅëü’a²àÍö#£åë©b7ïpùô†í¼Cù¥É.j1íŽð¿8çýž¯ø‘¡zàkþÌl;aûÔæþ鈎ÿ³ùQS¹>©,e°uDëlƒífì’ˆ8koÚì7-´¨B‹Jô¨ÂjgôçO\<¾ç?Ìþ3¿[þ#‡ÚáΛpמpWOpíŒÓî§Æ”Óö=­s§Ã¢¦‰µ¨kÔu…ú©DýT¡_güø?Zsb]ów'à`úlTĆF×éˆòÏG<]ñôö "ÁP¯ºŽ_ß!|“Ô ØDcG:¦å¢Îê…@ ĤF¹ ]44ÊR§ªu¤Ò‘µN]ëFÌIû–o»ßó[ýtëŽ,pª[ælis­½àZ;cªó)>ãný‚û«3î~Æâfؘº¿(q£à“BÜ€þI¢2@~þÿe€\JêiA>ÍàþYŠmVÿ­mÏ<óÌ3Ï<óߌ_­ñðÁ‰ÀÕÁtAÙPè ZO¢}Y¡…%úÛ …NM±>P® ŠurmëƒÕÝ4\í@(ö´ˆ ÕžÚר…ÛvÄ®QÆ&+£ÇMvŽ\6yt#ý‘‘ñÈXŸÑ5VÔºe”tô-cJªûdŽ×lÕ=BkG×[еø"A§Â¢ «ÖÜaPÑb‡!*v´)0X‹‰èSj]Ð#”PÍúñÂ4¨29×P—® =ÚÒ9]Ññµ«%­é‚uìð]|Á! ¸ËúìMûu‚fh¬ûm~ê½¥v5Þ«7ÿn{i¡,~ ¾âçÉ[–²Í ˜˜Ó úÚ‚Ôpˆ­ Ù˜h¤…Kž8åÚd;k3»™ î˜? Ùìºäµƒé•ôƒƒ`Þœ­9/_\28{"?3¹œãæÜ4ÃÍ2Ü<%ª6¼ª.É•M(bòÌ"˜Ç$qÀ÷÷¿Á RôV…Þª0ZŽ3. ó„³â޽ ˆ­€½ÕœË%¬÷ ê§êž³ú–ÁaÉ$™±L®X$}f—•ÛeéuYz=ü:¡¯gœg·hH Çaï¶X:=RËÅç@X'´Š„P$lµS«šBj:†¨ð´”ÈØ „†¦Õ<ªßÉß²-;Ì‹!?ʯ¸—ÇdµC½ÜÝñ¯ñüÞ¦ ³ÏÜìas/ TµÁ¼`%ß„ß3ÎÀ:4?ò÷4QFŸEÜgñ±O¤›¸°ìD:Ö’¯í°¬‚ܰ9Öï¨5¸ÔΙ2â²zÉÕÃ9×·/y’G([£eíí˜Ýkö"$–-â¼E¬‡´ý ƒáœ¾šÓwç8í½(¨?Ô\Gà ´"缸äÔ¾§h}Rw-RÃÆªsÚÙoÀH*T"ˆÓ‡tÂÇô%² :­5½Ö’^{I¯µ¤ÚY¬Ê>žQ¢…F|ž ˜K5VP:‚~Bp’àù)f§Ä꘴šõ<`¬¬€=šª0T¥rœ:G/jtYãVÍ|²©¥XG‚ßÄt¼-*ÐiU’œ´ùà¾A74d[çøèŽN¹!Ù‡lFm¶ã6›^‹Äs±vªiÂ&.ÈbE¢‰ÒI”I¡lTÇ@ïƒÕ/ñû)ºå³¥n±8D|Z¹Y¸YEL—>Ë'‡maRŒµ&;Ðû,´¢Æoïñßì Ž÷ø¿ÝSt­'±_£-ôU‰¾Pìþ þßžFÏ<óÌ3Ï<ó«à×küL ü6¸&`@©C­Ðº5fPb¼,0‹ëó„—ýù<\i$W\u©ª>ʵÀ²3)t\3Ò9Öî™hSjÏà.<å.:£è:$ZÀZïRçÛe›ùý¯ìŸð¬œûµÄ¶ "{Ë‘ýÀN) ‹Ò1©t“Ò¶†B³$šÕüà6¨è¨MÓX¨JŠJ”Ê`'B6"b%†ìEŸJ뢴6µ —ʰ(Lƒ2ÓsA}%à_¡u±å̽æåÑ%¯¼TÉæÁeýÑáêã{BÒQ‡tlbÐ"µÕæõ–™u„§ÒÆô}6OáÇɈ¥ßC zÚ’7ú{¾Ðßñ…öŽÛfêyø¬õ¢ËîºE|ݦº2(6»ÇÄF Í©I’8 —6¦W2>šñÅä_¿ãbò³—cö òžÁeï݆N½¡“mpòœ¶Üòª¾ÄW g↧|ÀÓ~À¼p]¼BÐ=^Ð=^ѵ„fL˜í1÷Ö¾¢ÎaJ K IDATunƒcnƒnÅ1¥5jŒŸ\r*ïyS}$m’•Ïa퓬|nüS>ö^òA{EØxò@'Þ0^>òbq‹Ždßk±ì÷x°vCÈLóW'¸FŽeTjMÇÐ$."¡ajš®šE9uÄÏÅ—ìŠ6OrÄc=$¯mÊÂànJ~oó ŽÛ3&­)“ö”“ÖßJ˜ÅG<ÄvGÌÓ!ZT¡G’^4g=·-òÈnNÍ¢’&ŘE>â§B±ÛµYnú,6òÿÒø@u¥Q$6êZP>Y­ u jÚ¤ÄgLä=ò’ ù‘×ûl‹6ÕåÊ|ÅソÃðJ\;Á1\‘ êUHÄp(]n½~6¾àñæQð]è•$*7tô5_‡¦­o!âßÚ.Kø¸¾àçõ[Þ­¾`³Ž¨F:™ç«a+¦«|MÁ)·¤šGa¦Á¥ù‚}0M=³ÜôèNVtŽVÍÙ]ó '<äH‰îù^ .ùÒù‰·ÝwäÒà>ïóðqÀ§G¾dÒYpÒ½gÒcõ$­NŸ'c@Yë´ÒÞ6Å\U¨•`?™Íø0Ãwó¿æõñGÜ“œ““)§§d;iy‚gT衉yÝ¿µÄê%tÎçŒúsÆç ºã5¾›à» ž› ÊšËûS.Ãj딄%†*±ê§Îpê7Ïiç{ÊÂÂÓüñž®·ct¾fëD¤£Ã b醘ZM¿µâøèž¹ÂÈ%7Ñ 7Sn¢fö€zº§üx ¿,X_* %(”NI©lÔKý5Øo*|/Cóá³Òº¬D‡YÞáæ¾ÃíÏnßGÌW>‰ãp°Mò±Þ$0ües ¢Tí=ÃãCÿ‘¡ÿÈÞóÙ{{Ï'ñ´<Á<ì1%æAC“:žß3Ï<óÌ3¿^~½ÆÏ°ÀÀ ѬÊ,AH…Þm²Ü¬vŽþeºëðË”×æ´"*‘.:(W€Uƒ^ƒP¸ZÊȘñÚxÏ—ÆOHßÀnå‘ò;`£:¬ŒÛ,B[H"}ƒçå»3 ¯fè­èx[ ¥Sj:¥¥£tršöQ¥`/¶¢ÍVk±mLʦqJ5 Tƒ'5äI ›°sŽšŠŸÖ§Ô: ·©Æø•¦Mnê”™N5ר/üÚlx1ºæ·Åø÷_x\¶øãô Wß½æÿpAìµñþ“À=x¯ĉÅ:oóOHsŸ"³ÿ­â'A) u*ß@ŽuPÐ3–¼5~æwÆ?ð?èÿ³ÖˆŸÛ¼o¿Æj0?æh®¤ŠM’Yâ²}ŒˆVÓÎé@½Ð¨wu­ÑòvŒf|óÕüî«àoßþžG{À“ÓçÉîsëq„K lr¢|K»Þâ‹„â•0ø9Ã?þ?ì½ÉŽd[^îù[k÷õ­wááqú“™È$©wT÷"Áð ˆÀ ‘Þ11‚Y PJHLê Ȳ9}4á­¹™¹u»ïW ,òdÝé"+%ÿIŸ–ÛÀ]î&3ÛûóÿZß·úÞ¬žðÙêÛ$¾ÃYöŠÇæ9Î fè.™d÷L‚%“õ+-ø´üKä$–Ã=|1ªïyTÞðnù 64÷u'if’/{ïቘÜ7¹“cÜfoüfsN/®0Tź03§tz!¦á51­&¡]Ä´ëWeÔ¹ßZª‰WK1T…GL ÷gþ¶uŸ]Ù#/lêF£jtêF‡Tqœ0 Ñ‚Š#qËïŒÿ…éhÉñhÆÄ¿c—ôXÆcþ-ùŸ•ñ¤õгîKž<}ÅÙ“Wì´­ËVvÙj]6å€e1dؤC²À¡ÞiÔj­ï_Å7¿¦ØOüʹ‰HR¯1~3Çt2ŒÇ9îaÄQxÅGÑg|7ü¾ý„ŸŸð#õ}ΧüÈûm<'âȺäX¿äH\ÑÔUT²7~iår­ð3û;üOýÿä…ñÎ[ã' 7Kø>ÿÊX_ð‘ÿ9¿åÿ;~±³$üÛËÛ°Ë«—O©jôØ"ð=Ö§]¬~J?_ñ(¿ÂËSb<¾¶ßá¹õŒsë1¯³Ç¬¯‡¬gCVŸŽH/<ÚߎhëÎyÚÉ‹ü]D¬ˆ-Ÿ¹6¥çmyf¿â·û?æÿ¨ÿ™ù²Ç¿\ý7W}.®°¼‚ão8ýàœß9ø ýAÀ‹öS^:Ox¡=e£:t²g—b,KÔ­$|Ýfv~ÀË7ïðÓóßÄ|¿âèƒnRpbÜ-^—!Þÿwâ—Öä˜q@ï莓ÑO¿uÉñ³]¹¡+¶tå†öëoÑ´rV–Ç ´_Lüš»É0Ë ‘Œ2ž¾¥w°cr¶æØîqes®=å^ër®=Ū zGÆ ßíþ„a½âSçC:î‡àTdµ 3ÂW9Ñ¿Dÿ¢Þ†-i( ê-Ë­ðŽ2rË Ñ}æbÂý„ë¬ÏõÇÕÏ\nþÙe³ñPïÚ4ï4å~ò»ý¥dÚà†LÎî8;{ÅãÇçld—µè³–=6¢¦Jl•b5%¶H¥qûË_Éåîxàþ3øµ5~£ñ‚'¿ó¯”žI8õ‰Z„ãyÇÄì䨻“`{)Ú®@mKò]Cµ$_Kò+j¥£RÖ\f`e4EFÑÙ¹’¹ÛÅqѬu7‚¥ Ø†¨pE½1©M4ƒ´q);&uWCHVCR¶Y]ÖZ—µè¢i5ºV¢Ë]«cŸõ®¿O zÈ¢¢­v´ØÒV;„Ýt[ÄÝ6I×F` ü§1ýdƒ6nPg’¥;æËàCò—Á¹c18]ñqþsÆ'sL¿`wxyþ.óu‡ëê”e÷ˆðÙˆÄôQžB¥ .2ÓÉ ‡Ì´É “Æ‘´ËVÒ–;Õa§:l›.»¦C¤ùÌå„WúS<+æ¾ésœp³š¨î Z„¸Ó”£On ÙSȾBë5Ô†$slÒ¾MvhcˆïI@ý¶‡m®ú‡¬ô>+½ÇJï±ÓÛ¸vŠßŠ+Ÿ+Ûo?3‹§H©{NœKVý‰c¶|úã{Z­eé‘ ±ãû.µ!)=e¡•ØdäX,ó5ÏȱЌ< § \´O˜·G¤¶ƒ®ÕF ž¢èÄ™‹¡ šžÀô ZFb_nk)š^Ò¨4\š$Â!ÂG»Ý× :%ÝfGZ®H2Ÿ$ñ ³6[Ùe';lõ.…nÒ“²JX‰Wꄞ¾Á¶3†þ=_èñÚîá»>n anK¬mÌK|Bu.`\34l[mš¡¤HjG°“mt»B)¨ «,X;]2Û£Á!%Âã\œ2—#>—"Ý·…ŽBô;§ÍªÝgÕê#õŠª«J¥ßÇTiÇBv*Zf€)r|`ꂆJ“dºI¢ÙDÒgG›6)m‚ýùΦF+Zz¬˜œÛOx¥?%³l eþ2äÄ„L³¹ñ  «ÑqSqS±)zЀœ6èÃ.±DŽ“e vD2PtŒAd{Ì1ôL³Àê䘓µ‘¤s—láV.M¹ï,¤ ÐíŠñðžgæ ÞÍŸsvNú$Ç—Á‡ü{ð=L§Àv3ÎÜ×¼ï~…OH»ØÑÎZ«R4”ºNd{lü.wÕ”Ûä€mÒ%ßZ˜Mɰµä¨uÍQëš±;Ç:/ÄÞp‚’‚FÈoIŸ ÕÆ:L8{ïå>u$¹í2¯'\g÷<¯‰´7Ôº¤’%–jȲ±ªû3ºC—êÔ@µ$ɉÇýpˆæ–äÊ`QOY’Ô£‰‰ï°p†¼œb êCAräãï2žloÐŒgT ÛœÏp:¹eQš:¾âÈÓÍÉúwÖˆ]»EÔwqObNw¯±·1ïxç·®èø[¤]ïϰýb›+€#ÀÕÀ2A× c£<“Æ2h4‡¨ñ‰ë}BgP¶™‰ wö˜m{¬Ó!ð,¬)×Ú A䲺î°úºÃêy‡f¬£¿/ÐtаɻÜ_t Î-²W u¡óf:%ŸšÜ2ìpª·Ž8P·œh¯™OÚ,>l1ï´Xžµ0Ùba²À@Çî—$C‡/ïs®žîvë6ÁºÍnÓ&¼2 _ ¢¥¤Ì¬ @A˜B»ÞïÑ,Ð,]ÞêÌ—&™á²ÒÛXOM¬'`=)ðý´ö‰¢qìÅ-êZ'ÉÜýûíxà~ ùµ6~ÿã¿ÿ•ð™ü)KBéj.¦‘á žáÖ1ÁR'ùR#ü±Nøc“:Û7¹Bå5$j ÞÜ#Ì%Iß œtYO§\Lº¨RP\E×å]Iªÿv ¤õKÓ÷ö¦«Q’U=äEñ?ª¿ÇÊïáYm¶t´ ¶Ä;‡Íë.›ïU­’I‚FBû0àè{kŽô5‡ã5­A7¨º:òi…“ÄÄw-fwDówI§ÓלN^óxòšÓéknG\Üœqq{Ê››'D®K1‘§åXC¥’âB£|£!.%R*ô t½DŸ´½-§Ùk¾Ê'ÚÏ9劫¾‹–Õì⯓3VÕ€˜½é³Œj£Q^›”×:ŵɣÁß{ÃÓ÷^òñ{?gÒ^`•å7ʰ¹2¸4¹2Yš„©LÐ|̹qŠ5Rü"c³&¶µ.1Í )kÕ€e5dY ¹¯4¶A=0¨¥#A‚†Ðh³5z¬ŒÂhñ)…d?elÕ!½fø^rØÌäúÕŽ>[zÆ–‹sç ¾¡·«}ɽ¾ŸBÒV4’¶CŒ‹Ú ¤PXv†eçtÛk\;¡ãmмšØt˜3±ÄÑ2,=£§¯sNŒ÷f@¶µB@¡ÐÒšN½£­Å4öœ¦­Qw4ꮤîH?£oÜcë9ec°‹{¬Ês1ffp¥Žéh[²[¶«.QäCZY#Ë)kvf›•ÝÛ'¦ú}ÂÆGµ~2ñfH©8³Îy¢¿â©|Å!ךɽj6K9Ü·0ª}E‡­R,3Ã9:%š¨1³'IhÇ!ulЕ[ZM„C†¡•(%¨‘”ÂDi:ÊÐP–€ZP‹¨lQE‰æ@*0DEÏ]ÑlpÝ¡¶Q—òN£ç­Ú+úöŠak…®Uì+ä÷“lÑ(\Z„ø"Ä–¥4)tƒRšTºŽ¥ò}wŸÚ«E´Ò-«HR›\š4†@¸5f'Ãé$ÈÎ>ðJŽº^HïpG·³¥§opš”¹ª¨”N@›•6@¶@NÀ‹St³Æ:-©F[¯Ç<âºsðzuțٮSïv¨4À¬·èIY›ÔµA‘;¡÷Ü8DZÌhpGÚØhfg'X²BÓt”îQ}Ê*F«b´ºFV Q£³jZÌÔ„«æ”<¶¡x;…7Ø Ê«Q­•5 W å Ðr4³Âq#Ü^„3X݆b³¥0r­¡h\2C ˆJ‰•²Ê¥)%†*ñµKå$¢dŸóÀ<ðÀ¿~üÚ¿+ŽY×îãÁ®K¸Ô¹ÖQØŒv;dà¬h x ÊCX…SÖ¬#‡2”hŽé[X¾ƒÙòhrA¾­(6ù}…#Rº7Lo8èÞbZ ³L1Ëmn³!‰æ±t†¼ðžÑ´`Öó*yÆ«ø1뤇J¥nîÏÔ’°(Ö:Yå;6ÍĤ= 9î-8é½âQÿgšŸvˆºÜ™G…ƒ¦Õh²F×*(M€Ê[Ÿ›xBuQ²2,Vëóå„ÍÒ¡^Ö¨]¹ï©JA4æïŽ´ «ÄÑ3|áËÃ.¨;‚D·='‹xœcd9'Ù%—Ë)WßhBÇÚräÏ9z´àøÃ9'ýk®8ñ/é¥ÍÎ`~sÀìúÛë#’ÂÅ? ñBƇ+&£7Î!ÂØñÈ¥E]êÔ…±/nÏ –‹)þ<ÚkaS`š%¦U`Z%z«Bº%Ò¬²B (0)1h”äXDøß´+ …@Wãr‰“fØI†“äd¶EâØ¤Â!5ìýf̦MPwØÕòÚ!¯\¶UŸY}„^Td©M–í¥«ÕÑhº’¦#‰M-]$¾ˆ8↣ꖣü–£|Æq~G+‰ðšÛÊ‘µTi³Ÿ8´Ù'ÃDU#« P©¤ 5š…†.+º‡[GKG÷ô»+l+EX5 }L€Oh_Rut YÒq·ØvÊØ¿ã]ÿ9šQ²ˆ'lîû¬ïl–}´ aœ,÷²ïq„l`‘õMò¾Eåk¸UʶlóÓê¾,?äÒ8æÚ>f×ó1µ„hëðz}J}¥1ÛLñ½sc 2¬iNÙÑöÖwHt]U Ú+¼&fjϰ²|_äm½fšÏémºV@Û iY¾ÒWúÍz¿ª5©°‰…·ïüCôº¡Ÿ¯9Jî°Ãœ¦å“êŽi=#6]º"À ¶–cè‚:4¡Dí$Ua§Š&T;ƒn¾¡g®èlèö7”©I’8¤/\îÒC_§; iRŽG3|;¤Tû×_© ”&0¬Ý.Ñ­ͨ P DT£)Ñ›j¿ª Mí'sË ²Ú„®KYH´¼À+BT¢0JŒ¸Äˆ ÆÖ’“É%F—<6.±«”Dy²Ãʹ>Ö¸À%V«À~TàO´iEÔñ¸G,°cLFEIŒN‚IƒM´æP Ÿ™ˆÔƒž ©o$ÍNPžš$Kà¶Yû}Á„ÛÕ!׫G¼Y=ÁHbŒ8ˆcÌ$bëŒY·z¾CíK„RH¯FžTÈIZ)šk±—££" ¶ËÛÂðSÆã{ÆKÇK†ý ›XgèoWsjS8¬-›pg£‹]TŒ¼ö-B)¾°wìÇÛ<ðÀ<ðëǯµñ»æ„mÕå>¬:d —&ÑÑ& ‡œ¶0ðî‘£aWˆ£ ùíŠË{ÅÕ½Mußc»hm{há\¼aF5/‰?/! (—¶¶å`zɇO/yÿ£KÜ|1sÐf}»Œ]¢³t‡Ô>Ü·º|Õ~ƺ²‡{ã·”Â@i¹fÉÍJR•µ«ÓL5|'çôxÁ'ÇÏùÎñ¿£+¾öÞç+¿ÇÌ8b™Oh-}´bŠ%å>-Ô(v[Ÿb;eµµx½í“§.IÖ"M]ª¬‚¶D¥ìt¸×A—Êh᪽ñ3RZ2¢õÖø5:$®MTº¸eÄãâœãò’ª4øiñ?»~ìê=n?7è<ºåìƒç|ëôßúàÿž!ÚiÈýbÄüÅŸ~ým~öÕ'$™ËϾàÃg_ð¤xͰY":7 }LaY$¥O’x$±Oû¯KôÆ‹ãy‰Ö«ÑNäIƒvÜ`´ 7ô2L-Ã!ÁÑÛ@ƒ’Ÿ =6ôˆñ°ÉpH±ß&¿Žª%GÙŒ£hÆapGèùlD›­Ùa#:ܨ#®êG$…O\úä…ö`f^"SEhTNjØ*Eh¨FÒX’´µ7‘ ’!&Gå-GéŒãxÆQ|‡çû©•U!»Í~ÐðÖôÑá¼­1ö&A„Šú¹ P/$ZPÑùö†cûŠÇGçônØiû$Ù…6bG‡Ê60ä~[ïA_ÇÒÆÆšQÒ×ï¹ÈójñÉy‹øU;Îé9;>°¿æ[ΧŒ[s¢‘G8òˆF»V›»à€E8åyð‹bBÖ2I[YËÄl¥D_»¼¾|ÌÝ‹~þÅwp"¼"¼aˆ70ºQ¡™º^aPâubL;Çê´Šˆi9ç šsÏñ²„ŽÐiBZ2¤eFª[NÕ§Í› ®Å¯å¯åîÒ«·3Î’7< .¨5N•àÖ N“°²tÌÏH°õÃ(©”€\¢"f-¨R&’TŽAîÔŒ¼{Æþ‚'ýWœy¯X^Œ¹x~Æ›mîž¡µáñ“+ü' ÇÕ-£Î’¦‘4j¯Z—T-JI*]¢tQU˜E…™•y¬›½šýšY™m’¿]CåR6­.ñê­*pª§L±ËŒ©¼ãĺàÔºà±ùf_~.;¬e¹èm¼IŒßŽñbÜ<¡q+‰\@´XÓcÇ€Œ>  …MްÁ–™ä¾ý IDATH͇…¡¡„¥D] ŠÆ$q\v£ëzÀb7avsÄÕå)¯/ž!×!r¢­#ä&$uÈ{d‡.õ‘„NƒlUh“½U¢vP÷t*רOf-Z ´ô®`4‰xwòš&_p6xÃU5y«)F9!RÑ!²m‡µfbÏ{s&ö [˸±·ÀÁ¯öâ÷À<ðÀÿ›üÊŒß?þã?ò×ý×Ìf3ž>}ÊŸüÉŸðÁÐ4 ù—É?üÃ? ”â÷ÿ÷ùã?þc¤üe”vX´x³;#ŒZ,cv·]òk›&Òh RL´À53¼qŒwãj Üø¤7V7ˆ¶6²ÑG.æ¸B1Í,Ex1š‘ÒÕ×ôÛ+†£Óã{ 1«K¼¤F_7ԱƮìf˨±Ë)Ö&ÅÒ"_˜¨e†fÔèf…iU˜f…¨Õ¾Šb‚ikÉÁñ’ÓÇ'kšŽà€\z,Å„›ê©Ø2ÃP%-"b#Ær2ŒVÖ­©bIZÚÛÑÍ~"QÕ6U­£êf?K2TH«A™’¦–4µF#%B‚h"WȸA† ¥A-%•­SÚ:zV`Ë}ê¤QW,‹Ei3KƱ˸¾aê^s0ºæðìš¾`&ZÒPÆAÖa¹ÚðbýŒ8òèø[Žœ[jÓÀ5f^b‰ÛÎp¼”º6¨ ‹"m!ÔkƒúÎ ¿tà”#ƒÂ4)Z&ÅÐÄ*3ZÕ–v½£Õì詺ªh«ŸŠHøÔhDÂg+ºôš ŽJq›”~³aTÜ3-æ·œ”7ìêvÓÇT9š,Ik‡¨n”]¶yÄ.Õ)R‹(iS¤uü¶úà­•`ÂjhlIb:H¡¢A….j´¤A¤ÐdUn €Ê2©5dº…tÀ[&ØË¿ˆ˜Š;ž:¯øŽý3ýîK£Ï½è£56ªOÁš×ò¥+”Õ …æU”B§J â¥x#qeŒ¶£%=ün€Û‹pž~E5ºª°ÍOß÷͵ò7J…"OmT®Q`ÓèÝ®pH¨ÇÍ5ïÔ/ù þ —”‹ècPá¤lË´˜sZ½¡+vû÷d TìË蛂–ék+FÍ‚´òIt+¨—©Ñ˜•i L…>­ékN{oøÖàSÎçOÙå=˜ ¶Ïû´;¡c· £ c힢6)Ã@5š!Ñ\‰,UbÕ{™U…úEÔ/d@-u2Ë$ö²Æ¤,4(zSâZ5]Kרk\/esZémSÒÔ a6H³A7*L³À7öI©=mC[ T‡]Ó!V>»²C,|2LJ®…3{¨ÐÛ lI#5„%0{5~“Ó·Œ¶NyeP$e`ÒéÐa;걸Ÿ€£¸™1»8âîå!‹—Óý¶Ð¥ ÷, ´Çz)Ñ­‚Ö0ÀÐkÌv†9Î0&D’BX¦Ģ L*ß òu*ßBvJì¢=HÖôni 2L„á¢-«6ÕÊf³ê²\MÐìŠ~ë½ÑQ3\=ÂhÒÿÒëä<ðÀügò+3~?øÁø³?û3¾ÿýïóÃþ?ÿó?çoÿöoø»¿û;.//ù›¿ùš¦á?øÿ÷Ïþá~óýÛu¯~þYd±¾í±¹i‘ßê¸" áˆ:Öƒ­[ü[Ú~H¿µ¦]†¸iб++¨×:ÙÌKQYV©áDIõß6øZ‚Þm1OŸ’~J#<.–¹ºD´lAu%)×:êÜ¢j ª ¡ š ‚ ¡7Úr0Ý2=Ø0m1T½¯QÈ*[äøfÄ"ó?ßü.±ãñÊ?ãÂ?%ò|t·¢ÃŽCnyÊ+Fr‰ç'ȱ"×,v~‹ÎtEçìžÎz¯ 첉†l¢!ëÐC¶Î4Þ8“‚¦ÑH×ÙÊ%[9Ô¡$[8„V‡Fiˆ-L¼{”c`{-=f½èp3ï°š·Ù,Úì‹“wtŽ#ìQq¨s%Ÿ²™=ÂsR<™àÉ·•¶Y7]´VÁÁÑ5éÎAI¸ÔŽ)g`KúÄ"&]ËGýÏ©1¾Qƒ-à}… KmÄÌ:`¶>`öùî:æèñ-'\pâ^06ætš€NÐiûmyºÔ<3){å FÅQ)RáòÜ{‡ö3bÇ%t="Ë#•2qUÂ{ÍsžUçló>³è€ÙîYpH˜¶ö7æhC-t¦Åâ~Jël.ûc>Iè a4Ìõ#.´}Í ·Âq3¬v†eØYNPµ1êœgõ :áŽyE`’-Ü}rçÜ%MÒÊaàßóý}Ö¼¯Åv‹£'”…ÉýÝóÙçêŒ[yHãèt€OœŸòq÷s–bÄ2°F,®‡ fkÆÅ=ãÎ=£§÷xÇv?Á¶ö“)‘×Ôš¤‘‚FT•N”´Ø$ÊÄ„¼,ÅËS¼<Á¨K¶v‡MÙf״ѨÑTƒÖ(´F!kèæ§ù52ôòj…«RîÍÿ>ú ½DX i6K‘›[£MÛØñ±ö“⎻ìˆÙÅ!Ù•»ÿôÔØ¯:Q‰›dtÒA¶a}àå –U"FÍ~ZÛcÿúµ!Ö=fÕ³â€Yv@ªÙ´¬-oG«Þ∄X÷i, %4]¢ñKÕa×H»Aûm‰r×Ð,tò¹C4ï`Y9­aÂñhÆãáZõ5SÜÌÆ\ÍFD±ÇUû1×­SnZÇ­N;§ií ·•—>Ua-ÖÅpÿ·•ôóžáp5ʱže¤‡6wæ]+±Ý”Óæ5OŒsRÍeÙŒXÖc–͘"²ØÒçjñˆòsƒ›«cîn˜_Ý´`¡`WC\B‘1žÒéºèž‚?Îp;žájÊ’$C´vI(l³Q}¶ªÇFõ)sƒåbÂóõ{¯MnÌcĨA ƒÑŠáèž7q„>Wd.«‹)KÓD˜.‰ÙÆ»™gÿ•WÊxàøÏãWfüþéŸþ雯ï÷~¿ú«¿úæñøCþôOÿ”nwO÷GôGüÅ_üÅÿbüv«_ÿìÃý”ëÖ$½5Èo%uR…6u4"Œ;ÜGC{ k5ýÖšVà$ FP"VŠ2ÒÉr‡*×Ér—n·¦s¸e|”3>ܢˊd5`¾ês~Ý'ÜõØ¥]vi‡0m¡rA½ÖPB§ … Éš<¥)bÈzï]ó̽â£ãK>]cYª4ooà6q»íwÛC~~û–ڈ͸ÍvÜ!2| ·øÆø=ã%'ò á)2i±ñ;ÌÇC†ÙŠÃôšÃìšÃôŠÙòˆËeƒZxì:z§Æ;ÊèíhíhÝy—]©(ïýMÿÜ¥V:iêÂJ÷¯P}§_â; ×—^??âËçOøúåã5£ãÇïÌ­ÙjCr¥ž²˜a¸ö–n{C§µEø IËC;.8 ®ÈV6ÕµÉåÍ ¯¯Ÿ Ó†¡X0òç § ú,1©°¨1©0©Àg¿ÛÊFð*xÊg»a ë7}¼U‘ºå#ï ¾5ú‡Î-vcW{åXf…f5( ÇÅ Çñ 'Ñ É×Ö7æ!7Þ7Ö¹nQ¥¡SƒZsØÌ9¬gUw¬óŸ…£ov«.aÑÚÿ~6àA­i„i›jid¬"C8€­6à(ü^ˆß‹ð{!^7¤­BZUH» hUû)—»Íyº}ÉÇág,‹ŸËøB~ÈVö5ÝÈðNb¼'¶‘¡LÁÚ°b„¶ªyìóØ{Í©xÍ©ùšCîrÃ1K†$;ŸôKú•Gú•GË --Í™Ús“Ód†“¤¡ÉýjÄëÕ3~¶ú—Å O/yôè’ÓÇL»s¾>ä‹à²Íõî„V˜pV¾á£ö—|ðä üi„>¨Ð­½ªÈr“Àhè>;Ùb]õYGm–›1Ëõ„(jc4%FSb6Õ¾3/Ѫ­.1È‘ªAS ²Vh5t“¹»¢ìx¼»de X¶,[CîÛï‘[æþ ­V#õK+ðdD[n9Ðn(•ÁWé‡è»†xÞby5ùeAüÛ’x#®pÒ”N1Ì7,×^‘bÚr¤öi›}öÆÏÙ¿KõˆÏ‹ù4þ˜Húœx¯9-Þð¨yÍ%‰î‘DwIk—F %Qo×–ÐÖƒýJ€(š ü+‡è«6º·Ã–püì–Í/1ªŒ×G¼þâ×_q»ž ‡„£!ÁpH5²é¨©†¡Wx~̺löÚ¤Å:ái£-ÁŽöG[j_’÷,񨁮êЖ‡îŒCcÆ¡wKeš¼hÞåEó‰òHVz”KƒÍý«Éˆ×>ÑÚ'^û°’ÒboüTŒgÅL:)Ç“„£G)ýA@×ÚÒ±¶t´-Ê–Ã6Ó&µ¹Æ\†§\È›MØc±“Ç&‹xÊ‹ò=Nž]ròÎ'Æ%ÇÃKô¨!½s¹9F~ÑdËÆ"V ÕFCg7ÓŒß<ðÀ¿¶üÿâŒßçŸÎüÁ|óøúúšG}óøñãÇ\]]ý/ßn[¤_>¤AÍJÔ]…š•–$•IZyˆJǪõšGÆÂWøu„›§˜I¶«`¥¨:õJ'_Ù°çiŠÕÑŽ+ξÑHÉ«ÿh1¿=ãÕ‹wX^NRT©Ð› ¢ êH£ŽAQ£HAm ½Ö+ÎN¿ä7/ùÝáW¸íœZJjM£’’‹÷ˆªË»!?¾ùm®›c„ªvèUø„tØ1Qs7o8“¯ Ý+wÀ­˜âÑgÅ‘šñŒ7Yâ­4²Â†ˆ{A4mS%&ZÕ`ùñ¥ËÕüô'ðÏ?û„ßúÝÏé> 9|ºâ·~÷3ž‡°šr3;ãÇ·ßGy‚¶dÐ^0tt¼-îxŸ¡yÀšbaqù¯gÜθ˜Ÿ‘Üz|»óS¬iÊitγæ&¤£B:Dtd>(S zu,\¬(R“ùf‹ïà¬S&þœwÆ/ùÍÓŸðÈ»B”ìUìχÖî>é³’®žð(»ä,¼äñær¦¯×âe÷)¯íÇü{÷*¡ƒx›â)@SÏyZ_ð¤zÃo•?aP‘d»íq±÷I~äs:~ƒë'¼óÞ×|ôþ§œ´®h-üyŒ½HÙ®úl–}._òÅëy<¦›†|ä~Á‡¾ä“ÎO1£‚(ò¹¼;¥¼¶ñ´”SãŠßèþÿmôÿЄûçÊjØn™rË%Û²GùÜ­Žxu÷ŒÅnJó‹ó­R ™ïŽq1c\ß1iBô¦FÖ@­Q—:n’áî2¦Ëb /ÚO uŸû¿ÍÆí¢S}£+Þá#æ<«_â– Mª]nÖ'ÈE Pf]â5ÿ/{oÒ#[zßé=ï™Ç81GFŽ7ï\3)¶ÈVÛ¬ µë•¤•v½äF   ÁÚ ú Üìuð(R”ªŠUuëÞ[÷Þœ‡˜ãÄ™g/"Yl¢Ý ·›¦ äüðSâDž|Ïïü§„VÐmÖxY€U&hF44AÝ‘¨]‰Ò”Éd›sù¼ø˜ÿ#þX ÒÏ( «0EÌJî°”»,éâãQ52Õ]]`ÕÈìˆ[ÆâY*h‹5 å…Bú…Aø.®cç »æ„g;ßP5Wn¿îóÏ?ý××iv-š± c }¿!ÍgTŠ‚ÔªÑê‘CëD¾ËzÓCuJ”a‰ç­·®ˆd‹’ÆcÆpû?[9e׺ä>§1$DUÖ.×Í.SyDtgòIJ4É]Ó©丂2‡"ƒ&5¶ ÚKŽFKž,yKúÌé5 úÍœZ–XëmÖ½6kÚ\EÈ×%éÁ<2ˇÌç“>Ü‚±IùÝâ'ôŒ^ÃóòÁÆãövû]„ôeCº‘È2•U®#2 j MýÿÅ–yÏ=÷ÜsÏ=ÿUüÆw±årÉßÿýßóçþçÿ^÷ uÆ÷ý¯ä¹Âf×b³1Ùl,²BÁ¤¿T/¡ã,A‚ÿ!ëªÃ»³G¼;Äò²C} TÕ6kØ TÈÆ*‹Ã.švD¾Ô@LÔ6û-j ì‡<áãI>žð±ˆÈ…"UÈ…ó´Ç"ísîqQPudvž\Ӓטƒkb¹®ÐÍ—$±Í—å'¼«Ÿ01†øFLjxl¼ÁMCÒÌâ<{À*ëss»ËåòuإʤZÑ{v<^Hïs®3÷zdµŠ¦&T(²Là·¨S‰ZU0• OÙS®`%(7›¢Ã­œ±Ñ<–Y“Ù#êwk¹ËHš2”¦Œä)£Î”pí$-‚M‹`ÕâÍô1/ü÷¹IÇdN˜¹œÍ`¾KˆU‹~gލ@” *hd¨[‚ª%è{KzÚ é¶fr;d~ÓGÌü‘G1R9ã }"Ë"6,"Ã$6,´"gôørù!ËEŸr­²ZwD3þ»êÿä;|¶=Ž5Pr7³mc– JKaîô˜;ý»µGÓÞF‰tš[‰Êˆ@(z…®e¤¥Îez@¸ñx·xLžê,­.=kÁ¿±þu«Mbë$è$±AÚX˜QJ7>ÅÌ^aå Ýù1ƒ7ÍS–ôˆ4›B5Ø×nhkóÅ€™>döxÈÔ¢w’':7ã1ºñ>~ãm›ª´t[çv7 • ‡ãêªA:.¸y0âŸÚßãRìòÊ~Æ»Ñfa´# bT‘!‹ !š­1öØÖ¼ ÈrƒeÚç¢~Àëú1ó¤+™ýÍ%;ù”¸´Y=fù€yÑ'Á¤•mØ+oxÔ|Ã1ïЋ‚Máñeñ!ßϳ I-‘»²UrUíò6xÄÉú!ó¯FL‰DLIÆÖè‡8ܲ‹Y¦\¯÷Id‹öÓ%OÇ_ÓÜEÞM»ÝK:Ý%f7FtȈH¶käš\ Ç|5xÑ*)¯“gÜ;$ºIÕÈDŠÃ\ês)(‘ p¿UXÛd3l®}«´§‘÷UоJÙW˜ÔÖ¥CRHÔYJU¤duC$©øªl¨ÇƒbÅãÖòLXw‰ê.a S¾3ØÈ-nµ]0¾Þæv5f²Ú!\94kAjø^©U“·trK%4l2ÓD2rIgRîð².‰j5/™j#¤nÉ‘8¡çÎÑ×9†Ÿa¬3” $­ô­ÊíÚTuP—Ûµ÷8Ç~O!ßi1U5 a56¾ðXÒEkr¨RÚ§Ì n2;KP²mMµÚ.PÌe·À¨b²žÊ%û(ç¿Ã*êðæ›§¼¹xÊ<èSI2­~F×^ѵ¯éÚoÑ”ˆ¯> ÿ›í}÷ÜsÏ=÷Üóÿ5¿Qã7™Løë¿þkþìÏþ ]׿ýùÞÞggg<~ü€““ö÷÷嵇­3‚ÿøï)…¸¶H›¼¶°ÞûžýOÙsFöŒŽ¹f]tXN×øtÖfqÖeyÞeqÙ¥º:bØÀ°Y[cét)4岇bÍ"Ú·¨wv½a,.9ˆ ú̉J‹¨Ø*,-fy›YÞ†¼Mœ{Ôã)Õ^‡bèë¤Ç›ÍÞ,ófù„MÕ¢Ò$ê¶Ähta$ôì]{AÏ™£I9ë¸ËjÓå‹`Ÿ0m!· ”vŽ#"<Ý'É,’Àbí÷H66þÂÃ_vXmªTF*j´²À¬œ&$×5ŒnŠzP )5Ìø•†$y r³îSU˜•Ætœ€Ž»á½ïø½?'=2I-¢n›¹eît¨%@–ib‰*U(m\ ٭ЕŒ¬Ô¹L<Þm Š…Ž^ætô=sÁãþŠ¶Ê‰þ€ñ€“è›´E7=å8;å8?a·¸a±î²ð»¼]?å§~‡¡=chOÙwnÚSn¥NŒœ<:†Ç5¢Õ÷ ®;D†Áºh“WZ^ÒM}ÔºÀé ÆŽ´S£FnU\{C¦­’¨Y:VZ—À³0w#ôz{B®Ê_ƒ­ñ“¶Æo÷8x™|@Ûì&7$—ìe7HeÍëð)/ƒçJVèx冽æšçÒ7| ÉM±ËM9æ›bÌM¹‹¤l—¨v†ªä¬gm&#n/v˜H# AD  À$·Œy+bL-ƒ>4=h?]Òn/©©‘¨‰‰±~IG_`1B¿¦žßÀ¬&´,.½]ð*|Ϧ*T.âC®Ý ¬BÅa.0ED|7ß/½ë9›ÖáÌ"ze¾Ú®Ùâ©Jù\¡êÈLšëÊ&)ÄñËÈš†Ph¬UËKÐŽKΊLJ·5Ó‹œÉ…Luáà_Ùj tAd9ÜcÂE‹`Ñ"š;4 Aæ¬[rOgÓjC»¦êHÔÐjr¡1©vˆ —Ëü³H¶Ç¾“säœ`SZA€xÁ3NYË-Ö’‡/»ør‹².©ê‚².¨š¥'І ùÈeªzD´ð…‡Û¸"Àk6ßÖñ¶+)—èdþ¶4-uêev‚aǘFLj\Dû¬Î;|óõsæ³>óé€EЧ’e”æï)Öÿi9'®gJN’øÀw][â=÷ÜsÏ=÷üZù¿óósþê¯þŠ¿üË¿Äó<~ÿ÷ÿÛº¿þð‡üíßþ-ñA]×üÍßü ?üáåõZgü/ÿ³ÉJnóRòRÊ×úSZ‡‡â ¥w<”NÕS>|™|ÿ!ŸN¾Gy*¨.Õ• ºjÀ.·¿ç þdºJtY=Ä$¥Fê–È£©[b;cqÉ3ñ‚ù’qÁªi³n¶iF˺‹<€Ä NMæÉ.}Cét(›ÜЙ=Þló³Ûïó³‹ïSé;{׌G×ìì]±ÛºbO\±/®Ø—ÁÏòpíðåôÞns˜Ÿr(N94OÙコì˜õ¦Ïùü˜³Ù1…¯Rmdê@¢Î$ä¢þ6âg¢iúÖø)Åv\@¸.àÎø­ÌÖ:/WCœìßÿàK~ðÁ¼÷à-¿ûþ—¼n?áµ÷„Wí]^KYëmBÕ!sUô&¡žA~i’ù&Ù¥™4–‚g‡<°/±ò˜Éf—“b!gTšÂ"볞u8Ë*ôeÆüá€@q)ú2J7ãÍâ ßTÏxí¿ÇëëçÄ3‹Ê—)S…ª–ÉSdº5}ò´BÒê_ùÛ˜3þõÎéŒ× ¢%Gö)‹·=¦/üóËßá³wóƒGÿÄÖÿÄarÁ÷«Ÿq›Ž8k8ÓÐ[×ù·Á.·³]n/wÙ nø~óSžòš4?a_¹üÕˆŸÊÖ਀±°è¸K·aævÁyHI4‘DI *OƒF ¨ºUWÉ>×Á׋}bÎz?á±ñ† ~‚ÖÉùqù{U‹oâglÊfùŠãò„Sü˜÷‹üdþþñü¼9{ÊOÏ¿Ï÷Û?¥ÝÙ°ß¹á_wþ‘‹Ý}Üý±_˜ø¶K"éÄʘ+y—uÞA++º¹Ïaz…Ù$¸½ ÃÝ[±AÓ«¸©ÆÜ”;ÜV;Lë!Š]¢´Kd¥ÄPCô^èSÌ5ng;,â^³a_ºæ™úšïjŸ“•¯Ëç|Y~ÄËßCòJ +Fï&ݘ<Ó‰‡èk‡øÇ.åT°uj‚AÃDÈHw2;9ã\2^±ûô’ÁÇÓ»¤P™ … ™qyE§Z`–1Ò/:„V Û€ ‘jqeŽñ ›ss&•"Àðˆu©lîŒ_D…ËvJßö3ÊJa=k±zÙÂÿ—Õ?´È¾¯RT*UG¡~¬°¨[¬*›¸¨³dküþ“ˆíÍ-®Ñªw’cüX¦òm6›>Ëw2£Eh9LZ#$»¡žJߪ™ RÛÜš>ÏCj5¨£ ½Nд½•K“Òå2ÓÉSVp¬½å¡û†#í”qÎ0ž3Œ ã9n21LŒÁÝÚ§@ÙªQÈQHd›H¶‰‡µl£Rbc‰‹˜!3Žê :å†n±ÁÌJ:Ù;Q²©nP½s?Â9Ø`u#â¯mV/:$É ›*ð©Ð IDAT—)s™ª©$‰ñ³ÿžõ±Â÷>ù)¿ûÉ?Òn¥üOÿî7ž$sÏ=÷ÜsÏ=ÿÕüÆv±?ýÓ?eµZñ‡ø‡ÿÙcüÇÌr¹äOþäOøƒ?øþèþèWž3+úüsøœX3¹Q†²‹lÕXFBYª,«>¢ÌŠg±2:”-³ŽÈg‚ A] 2l-ÅvRìNŠf–ÈZr§B¨D–E¤Z„MU) $¥AQJQR*aè2‡ÜcfqŸ ¶ÉbqFØ×¸õxÃC4+Ã×Ú„ŽÕÙÎÅ+*3ÛÐ\%¬ î‘k‘®³ÒÚ!¸L*aÕØr4Ä+‹y4ÜÃ÷˜‡ü°MZPdT¨Z†Ü«P:9yGc­µQŠ}ŠTc9ïNÊ™ÓnK˜”p[ЬJʺ¤tT°K·OÙÒ Z AÛÝÞ ¹çA‰i2Oœ]bI\cÃfýwðkÛï¹çž{î¹ç×ÊoÌøýÝßýÝñ1Y–ùÑ~Ä~ô£ÿâsÎÓ#þÃìßRb{C]Ú½É MÚæ]ú„:• *—Àp%ãÎ%ÑZ!¼Uˆ,…R(ØÒ†‘¼bGY±£/qíCN1Í£•VçqÖq’§¹i›:™¥“`²Zv¹¾Üçôê!g×ð#ƒMhEÐD>ÁcÁå³(ÏX÷ÚhzÁH¹aäÞ/Uü™ÎúBçffqUÙ¸í®Wâ´KG™¡aãtö•3ĺ!Yš\­÷¹ò÷ñiãÓ&5Õ*м ÍIÑíÕÎHm™1dSx¾ÆæÂ#8õÈO4¸©a‚ŸÀ:¢€žCú:UGgªóµf± Ǽ{û>faJ†ñ¤û öj@ý.cóV½³©•kPa*¬ý §L‰go¦˜ÌFT3…«ÅW‹=‚¥‹R– ”)GÝSž±ÿø¥£xª]bS8*Œ4=Åíù¨i“…ß* –Ë>Ëej¥ Éá‚ÁpÂp8eß»à˜wôÅ“¥)Œg<ë¾Â|rŸR(¹bðRyÆê'XJˆ-Ø" ÍЍ¶™Cô,CJjHÙ6'‘arYìó6~Ä»â!‹¼‡«lp[>N{ƒÒ.yËC&Œˆ„ƒ(%<%`l_³k]3æštfÞ¸·³ÛѶ¦1ÚªÊbÇâRÝEè%kÓE1KΫC.²CÂÚÙ^ÀÞø6â¨Ý@9ÂRtù¦yBTÚœg‡ªÃ\ï1SûÌ•>mkE[\s,N8'~JxÓbr³ÃÛÛ'4µ ÛÓ‰tÊ^³"¬ZÌó!z’C"Ó42•¤P*R­a±’=&bÀ…²K\é´ª· ‘«j{ñ³57ÌM.³}êTbžõé7s 'Åv"¾Óù U/H3l­óÕä=þ9ÿþ±‡ìÑ´+Æ;—˜vŒcØF€#”žJ|l“h6ñئˆjšo³róP'¸h^ ÂK2Ð W.âuCº4ؼns|tB÷Àg|4áÁÁ)ËIŸùEŸwOX\ô¹®Ç\){ÜÈc E§nòÆ ©eÊF£‚RQ)F‘¨]È\0u¨ h è$>Ãx΃䌽øšP6 ÷M"Ç"|b²ôXŽú,Û=n‹}68„®E4¶¨žÚÔíˆrl“y6‰ja’R!#hPÉqõ ÊnI¯YpÜyK0÷8“p!q.FÛq5lSÀ}°ÛCc°?ap4ÁìÆhö]­œãÇm®®2šod¢W.e£=µY]t'!‘¤iéu€ôjƒrá=«h=«ðôŠÖ0F¢â®z€Ší W™ •‚0rÙ\{W›+@n£Ž+ôq†µÑ(‚uÓ"ÎLÊPAòô(ÃÍ6ôª±S&ãÖöü-U¾p9]ì“®kn_´0DÂôvÎÞ½ñ»çž{î¹ç·”ßÚ¼•³äˆÿ0ý·vBO™Ñ³fôÊ)F“0χÌã!ó`ˆŸt°Ì»;ýfÈØ¼duc utJS'¶˜1’¯x¬^óX»¢o­hÜ:À­æÙ€O£ï‘G:“p— qÉ[¹0È5ƒD˜¬=nNöx÷Õc^¿zFæ”aNä4¡ÏÆ—¸Tzlú-.ªcöŒ• Üs‡øït^]î³~»Ïͧ–AeÇDÙ±Pv,ô±ÀÝ]ÓÚõiu}ºî”UØc½ê²zÝeý¦KᨔŽJá¨4®„l—è^Š51wBjU&­ 6•G^è”+âR¡|©R~¥ÀU ii‰zCv\x®SYL—Áj‡ÓeޱÊx"½â‰õ’'½›7(ëÿ­Äõ?Yd?í#õKôïÄ´û1ƒ½Ñ(‰ÇäjD0ñˆ.ß$ݤ¾&g ”)Oz¯øäø3žô_i᫾ê±-rW½Fë¥8G>vÑ«ß*œ´ÐNrÊ… i!KݽÏ9~ø–S‚+Á 3Ø6vfXvÈž}ÁÆ´y|È×Á‡¼Ú<ãëàC”3K¯y(}Ã>k’ÚÆ)CŒ?/?æ§É÷¹(öé{Súú”~{Š= ¸Ì¹ÍF„¹ ¹DKÛ°¯_ò\{Á3ík®Wû¼™?aúåÓϦ.¥®R ¥®Ë—ÊkÝåÄ3I(U…LÓÈ•­+Æ!Ä)¿+ýŒÆ|~ó ooŸðùí'DÂâÃñÏù0þœÃâ”SfÕˆËü=-h"‰F’©™JS(ªšXX¬å6Se@ Ÿâ®ó¦\TØ$¿jün!¾¶¸ˆ˜…^‡OÈ3>:ü‚¬/ø¨ý{½K¾¸ø€/n?䫋缸}Ž]ÅX[ŽÙ]ÑÒ7¸ò†–ìÓÊ–Jtgú¢lòJÛvy½K­Œç6ê—‚ÆÖÈ ›,µ×.éÊdõªÇRÐýÄGýø-cuÊG½¯ùlòÞ½yÌ—/>â³ßaÓ´HuƒD3È5¦™L•«ÛWêž´íNÛ•²D§N!ËU(äø”?çùæ5„/HMdO'y¬‘š_IòB|È­´Çi~L,lJW¡+TBín(Ç6yË"Q,Rbà® )†žÓÛ] v ´ÇY¬óóÅw–5þÒãrq°5~¿0>ØeÈȸå¸÷†ã£·Ø­E)‘åE.™Æ#šk…è+—éOvˆ‹(·YÚ]ØoXéÉ,&~“ü,¦~ó8]ñØXñh´bDxgú¶ÔwöO¦F¥@'£Œ57Ë—=®_ì³Ò{ï¥XZˆ;ôQÔ¿iç[ã'ü#Jq³^µ` ¦ä†IÐn¡îÛ´ìâNåvÝÌ\²É“‰ËËÛ}¤¬$ðÿ#|ôëßßî¹çž{î¹ç×Áo­ñ *— yˆ-…乂(+ô&¡Bá°mæR•Üc¤U¸Æš¶½bèÜ¢ºµã[m„eQ72U “ßHd¯©'P‘Q‘QH …,Q(…2QÈ+•`e25ÎÍ6Q“qvÒãzÒcôY•]ìfFK±Œv3£ÔmJÉ%®\6™‹¤ \9` N¢¯¡´UÝf#wX2„ÊÜ…ÄEaXj©Æ4#L·BvK»@µ¶éƒ²]R¹9º'Sµd´nŠÑÑz)j¿ ϶Cæã¥I´r¨n¤yƒTÔ¨fŽÚ‰0óf6Å̦HZB쎈ÔQ-“¥rY¢69†’`ë Žâ*!®Ð" ‡Ænc¡Ó€¤àém;£ÝÎÉ„MÚ3É{ «ž‡¶©K™*–©j­Ê©j™BÒH5ƒØ4É$ƒRVh$ AQKt5Ã"ÂeƒQ¤hYŽÈÊLE2jZÞ†Ýá5f•`J)vN8êð õŽ‘9ÁÌ2ÙäœfÍ]OÐ[1íîš¾7#XwXèCn”5¶âÚ-ݧ#­èÕ jY&°<Ò¶E9Rèf+vÌkZæÙ,(‰¼VH¨6Ùè.Â+¨\HÓŽXÉ]R¡#SÑj6´tŸ¶±¢­¯è ÖzI®ÉkMæQ*¶a+–#›%¥)Qê‚H³È%•¬2ÉRƒr#o/Ö¶FJ€P\9`dNxè½c=j“Ú™£“Ú+ÇCí–èF†ÛaÆ£òÇâ”#éœé’8¶PÓ’8·¸©Æ,D7ÝàEkÚë5åLa¹ì®\ХިÌAŠ3ðq• Žã3¦è"%s©GÕ(„’ËJt™6—ìsÅ.+Ñ&—¶)’¡ì*¨i6=wÁ¸{M°ãŽtÊRFd5Zšce­¶×òñÜ ží£ê¦DDF…ªRØ•-!º5B®i™¦–©aÜM„Ôô"ŸT˜Ä™I’o×H² ›Psd—p‰“\W©Mœ)É©@„ ŠYªÑå])0´‚Æ”ÈtT3È!ÕX"Æ•|±¡×ÌñJ9­IB›Åf@¡I”–D1¨úRÑ æfžàæÐÕ:T:Uu!È*•¨¶ði¡’£P¢R¢R ÉÂnÀn¶½RA] š4¾€Kñ¶Í¯ðPÄ^M3ªiúP·ªQÉïZÐ$¤…nЖÒM µ„´Ìåȑêš43Ym,‹>ém…r¾@í/P[-4sIiÉT¶BiË”¶B–Èd±LAUD·å$EŽcL%ÄÖCL5A—rÔ¦D*k¤´F jĪ… œ«¤sxæº U&£«9íΊRQÈ}|£’û y¤’§‚¢²%a8 Õè¡ùÜõî¹çž{î¹çÿ¿µÆïÔH¤lh¡‘’Ps¨, MÎp­5}ÎPŸ°«^±Ç%(»¤ºÎÚ‘žGTIÜ^ jt6G0È0ÈÐÉ% ù1ò˜H6)™W&rÝ&®†8¥Ì¤ì1)]‚–†ô¼¦ß¬9lÎ8l¾á°yËd—ëÃ\ÛG\'CÖ¢ËD£«9¨Z:×;øïíSÈ#ð;```È4VCfèÛaîR‡R– #pø´Œ ÍÎ9©i™éð„W#ìšJ’(C‰úBмÞÕHQ¦¨ým\Ъ—ìħì$gŒãSô<ä\~ÈEsþæïd†ö ‡ö ‡Þ »·tÇs:ý{E)dl'åÁÞ-^ò+ŠŽTè«4šB(W¤Cƒ¼Ö(]eT¾1Ie“,4)B…Y6äuüŒØ·¸X ë)ºžbè)–cÝ}3Û *–‰ñÒa²#˰ëcï:!uÍÀž1g ü)z˜³ŒzL¢]–I¬0ØK/ÙO.Ø‹.Ø‘oØ)§¼§¾Äv´ z朑uÃŽ|˰šahj¿¤Û,9jb—GÚcõ MK)d» 4Žš„Z"u*D·"5uR42YGÖJZÒCMðÔ5ªšQ)!±i‘õuÊC…&´² ‡Ú9‡Ú9êR»bi{¬Œ6K¹Íºöãb%¨&Ú¶.ËeÛI4Ù¬0ãyû%ÆqʾvɼÝcîõX´»ÌÛ=\% //éKÛùÅ%Gòû\bŠ„XXÛ¢µ}ֹ߬e5xŸàÆÅK}.&\NYOÛH«šÎ£ûå9ûæû£sQ"‹ YTlhÐB4Q ¨siÀ©ñ€ËÖ>ÉÀÚFRó_*×5nF¼xðɡƛÁJCFd¼üOW/‘+”ã¥_"KáÊesÑbq>`sîQx Í![@a©ä…N^d¥ŽZ–ô¬%ãkºÕ µWp-Æ\3æZŒY«m’}ë½/öž‘Ù þØCˆ’#ïíÓ›.7×=n¯»Ü^÷Ðí‚þhC¼¡¿»¡r4æÒ€…<`. Àiرo90Î8ÐÎÈd ¬>Ë?á‹ôcDQAY!êAE ¹äŠJ_ÌøDÎX4mA›Åu›ùë6e'%±›žÉ¢è"“‹h¨‘ðñH0I0ñkÓà!ד]Â^^äÕˆ½ É«ÉöVm”î>©¢ÑcA‡%]VJ55) P`3¥Ç”]&˜"F–;j›@o©6«uŸóoÒ$`v –¨‡ÊajÄ«šè¢!Ÿ^Åh×°¹¶Y­L†Ïxïñ×|wïk>yô’º-(=‰Ê”’‚íd´v#‰¹UÛëq‡u¿ÃJk#©‚|¤Rº Õž@—„r 5”× ùÆ`–‰#›«Í>îrÞsÉn}Å®tAG_~kø2t T‚Ø#˜µÎZ„çCe³áKއïx6xÉX¿ÁJì,ÁòcâÌæ¶Øå4?æËü#&͈O²ÏÈ–ºáPº`GL±Õ˜í’€Ï1”S‰±”³Šik>½þ’#÷”hßÞγ“\)@•S !aÐç–#d)'Ôí;9$ÂDQ*©@WS½¢%­Ð¤ŒJ’ ÅñëÝ¿FÐJ67'|‡Ïønó)’Wqbr¦r*"Õ"TkôÖ†9Ðf›†šƒäÖ ™bvöµK>~ÎiïÓþ§½CNúG “6çûg<ØœÑ+—¸8„"ݦ‹ªlG/¸U:·Í˜0p9¿9B[ä„WѵCxå æ rÉㄇ?çCñs6’ËŠ.+ÑaM¿i³©=6u›MåˆÑ"ð\â¹MSýE‡Ô2SãfoD¼§s¹·C¯?çÁà”é OÓ²s2Ï õtRÏ • .VG,Þ ¸ýt—ÓORŽeÔïd(r†:Ì© ™´´Èr“4³h—>Ö5wÞòýÝ£%_ïóÂxNm@bhĶƵ="·e&VoìÓò6œÐJ|N_ìðò³CÊõ‹¨Â4S†ý ÞŸrüÉ„¢er>BD„.È0²'<3^ò±ú9cùš“æ'Õ#NòG\¥hyŠV&huŠN‚#…¸jÀ@žr¬¾ã–gÁ˜êf—õk¨zIO°9°˜]@à¡Ü} zLnUY„ÓÁ© /A¼× íUHK¤÷JrOaé¶É\•¥ÜaÄ-{À"¦BPSÒРc3£Ç {\ሔBR Ôs½G­î°^gdIÎô<ã‘á~7ÀƒmÊý^@°Îñ߬>-YZà¶Kvž-é?›³ó¬f·»fO½f_¹bO\Ç6í`ƒµJPæÕD&pZ䆎¯v0š„~wÊ 7Û¦`w§\φhÙˆòvˆÿµ„+ˆ¾@~*žIG >•~3Ý=÷ÜsÏ=÷ü7à·Öø©JŽe¯Q­[Ñ•E”H¢BS2$¥B¡@4 Vad)j^ å b)!bjT›<3(S™°Ð…eM])4•BSÉਈ‘†TkH:HJA2—‰¯Mê«Ä êG&J·AoGXæìš·<°.yjñ¡õ–¬nsS=À©D%(+…¢ÒHkƒ¸±¨t¹'a%ý^ŠIT¡Lm ²SÒb)’LzÎÏY³Ë»\³ Ç’. z*ŠF£hî»…0µ‘ýšz*‘_êÈv‰õ,ÂëùxO}öv/9Þ\ð$8ãƒÍ)Îí†UÞçêfk#çx%{Gç<·¾æwwþ™™Õcjô™*=æuKOð:l9¥ÝÚh5UË"jÕÔ²B­H(­³á ܱn¨ ù­NQëD-‡Psi*œ”¤ª¤Õ¸µO… l›¶2S Ѱ,-ô¸äç Tˆ¨B¤5RÑ U B€ÛÆ)u#.“b‡“ü˜«õ>ÉÂ"YÙ$¾‰ˆT)G÷ôÃýƒ„F”µÂºn³ô»ä’†¸‹žéRNTª„²Ef*Ôí©©ÐËðä5®ÈqÔCW-—ÚVEZÅ29íƒ5ÉÆ$Ï4J’,$"òyN}"•9Úa‰-—x­ÇÝ §1DyŤAZ§Øù†žðÀ<ðÀÏŸµñûâÑ×j†gìi;šú•ü¯mK X—=²¥Áâuƒü{ƒì[ƒàÐÀ÷¾GåKt¯Æœ”Ø/ ì—E¥­,5Ê•…ÐÀœ„8“g¢”1Ašn Ê+•ZjtŒîÇ=ÃMeOSÙS(°P{ìj—¬VPê ·Þ3s.ä%/ä^Ö¯±EL¢™¤ŠIjìË&«¢Ï¢ì³,úìh’™¡‘ë’’Zlé±bÈü8£C…’· 9Ëï8Ïo¸Èn¸­O±ÜŒôÄažŸ ØíÉŽÓöÏõ·œÈ[š†)#C#«‚žGÜõ(zcû©kƒ® dàËwbÂkñŠ?‰_QÊqq„V¢Ù¥¢ª)Y¡£’ÓP?ÙrácʼnJaªä•*„Ô4†ImJC=?¥‰!Jj’y®»|üñ3âPEÉQMcËx2>™òüówؘ:'Ü;c¦Î˜¹9$Ùš$;‹ý¢E²3‰ïL¢ƒI„Ií™XžÏÀÙqf^s¡^c)17bLþ¶¿xàøßägküZî–Ï/¾E'£YíiÕ;šõ¥(†B¤ ¯4ë1ë÷=–1ÿ¿ÇQ#E…5ª,°¬÷4ÅûuLã¿ÆdµŽ¼µ©nÒ;!*ôgÑœlQÓæP] Ò†–3qg¼ônxÙº§D¡ )÷bÈ–&©ÐPDŽ+öt«9“â†'å;>+¿§)öTʱrR+’lqË)7œqÃs„¸8„¸TH\B<|šìh×[Vu½ÎUM^kØYÌI6åóì5¿J¿å=K"·Áýè ]+QÌ’æ(`Ô˜óHýÈ w­Fh5‰08 ã‘tGãwp a‚ñWãJ‡¹òA<á[¾ Ƶ&@Y!d…¤Bä%^u`TÎ0Ôcæ—®¤¤=t ‘ ¢–ȤBÄP'’:亊¯g8³JE:9šÈÑÉyˆ+ä¡BYUÄ©E¼™p·=¥>D£DÑóŸ$òŠªÔ¨ö*Õ­ ×5»A“è‰Á}=@3S²Ì"]™dï-²oL?GÓR´vŠV§T¹B¹×(§Å{gâ=Z¯¢×Ûð4½D6 »ÁÆî1µO˜2Æ­sr#9cÄœ"ÑØù]²µÉz9 µm»¢iûLì)zšQgP×Çk¹qZÌ;}fýóAŸ›Í„ÛÙ)÷« ³&¬³.ú úI‚vž`]hyŠÌKÊ\’$&ó`À[å9ÌÿžÿéÿWªDR§@"¨SAóé¥=gyÞc9îRº’Y=b^˜Õ#’Ú@#G9]–Ÿ–y¨ähä¨$•…’Ô© K5ÊTAsÔ°@‰*”9èi‰U§¸JHbîÐÕ”¦Ø“*lj…6@·SÊZÔ’Š®Xp&.y">` ú!#uv÷6ó>ÛºËÁjpÝ9C«RNÅ-gâ†Sq‹ &4²¦N=(Ê­ sA5S¨g Ú¤¢¯¬y>ø‘ßU@Õ þUZüP}οe¿a÷ù?Ôÿ‹sõ†'Ú%Ÿ«ß"ب~¬ž±“mʃJ9ר.5Ê÷*¿µ-&ígýÿµý=eWrÝ›pãMØÓÅO\âÀ"ßjT H¹²P‡Ç9J¥Fš%â“L#¦W,¹(.ùEúÿþo¬_p°\âÊæŠ 6¢Gàx„}ê¼a(tZ1gÚœWÅ;ºñ’mÝb#šle‹:• ô½Iô'‡ðcN9jÊi‰3 éöá…Ȳ‰†.bdPÛ‚ÚÇs"¨-…ªåR´m2ÃB«KJC”n‰‘g¸O}:Ï6ŒžÍ=½'.là —XèØ^Å©ðådΗùG.ßAð5¼ùÐãÃ×/™Í\H–, Y0îÝðßœ·<úì†Ï¾|ÃÅç[>(Oø <ÆQ(eƬ:á°n2[˜8¡>|z$€XnMÇò9Õf¼?â Ÿÿÿ7{æ=ðÀ<ðÀ–Ÿ­ñ«dèd©Nxp¹ßO{¨SAÑT)š ^ÓÇ0>¢¸ üG-ØÔt5=sEßXÒ3WØÏÌf?ÂÐ"vu›ÛÆwý32¡‘Ä*Yœ¼K¨ÞÅhIL±’è® ówùª‚‘ÇZœóúC›uðô§Ö·ÿï48¸ R×Äv#Š=Ü/ZÔËG,’®±ÅëÇ4Í~ Îqû^’Š>:ŸT«4¥ËUuÁ¡òx_>eº3ÝŒ¹_XmÚôÝ&ۦǾérhÚ„ºE‚N‘*Ô¾ N,fÖSEª ³ ý@C÷qõ…ÔH,“¢¥Q äq«âhsìv2 «mx!¤D¡]îˆë§ P¡(ȺB+ Ô¢@- HJJ¿¤ô+Ö¾J. ’žEÒW©z5¦—à(1R¯QDT›«\Pf«Ã–¾C×·8ZH[ßb·bŒ')vã6|Ä}›D±ˆï-Ê­¤®jª²†ªB‹3¼ÍÇMpþ.Áù<Æ~âœ:ÀœÅÌcf«f›1óÝ/8ÐKtË=±D3 DK †J‰h—+–Óÿ|û;JGp7™PTœŸ\2Ðg<âŠGÅ%Š+ºõ†°nZ‡®‡oºØ†OmÔø†ÍTç¾Ó Hí¾å6mË&Tl–JŸ½é7,ʶ‚™' 3†Æ”œÒ/tóAâòuòkÞÇÏX(h×<“oñZ[’Ü$Î-’Ü$ÉM:£5ò¬`ÝéðZ}Eê¬w=ÖÛ«]45Qeñ“„¬)„B)TJ©P &sÎÄOä½Ý ö’·»Wlö=ÏÆoºZ M[hª{šêž¡²ÆÒ3Ãf§wÐŒ)jÜ<¤›o™d3Úу‚fçÀðÙœÙ`ÌÁôØû ß7>ºø&«N‚lוÔ6±å%=k‰‚¶ÌÑ–ú2Çmù´'ǯü$) Þ.^q=?'X4(cI4¶ØŒ[Ü;CãÀ´°-ÚD™KQ}šsk—¨+h¤$†Æ­sŸÜ/‰B*,ƒ>K¿Çò}Ÿå¦ÃâºÃþZ%»ŽÕ ¥!PÕí‚¶ÜÒ’ÚÕ–v¼¡¿¾§Ú„¼ÙôجË¥þŒKýŒS6z o’$yªSw%µ+(û‚¼­6T|Ýå¾s}8ãf{Êõîœëý#¦Å ¡éB“ãâÉ1Ó.„41ðó«²Ç'Ä®‰3¸(.±ˆRWPZ%²U![16Û¨Í.j³‹ÛhjN£ðÕKË+zÚŠŽ±g4XpÁë^÷øÂiSþÉáÃwψ;&IÇ$îÏ©áqÀ B«™Z'Üzcv&ÅPM¨;P+$]»§ßö;ú£bσð¥ƒ!2t;Cíæ(yÐ ¸PÉ£ áÖe¾£N ’®‰µ‹ÙF7œ:«§Þ<ðÀüçøù¿Ìà°jr¸ir¸iQø½³ý³=ekúdŽÁaÐdy1B$Ðm¬yá½å¥÷†WÞkÌQ„çÈA¢åÜÕôFJ†ÎÚj“,-²»Œú>%½KТ³£`´%3‰î(ˆÐcµÙ}Pùñ{åø¶ÛTöñÍ·2(‘ÃeX`Y1å¦[,ÞH¾û¡CßÝpñjÉ£WK¹K\'Å&FaIŸ¦ŒÑÈ©”µBP¹ø…ÇÇâ1U&9Ü78¼wñß¹Þ» ΛlŸy쟻z‘n‘Ô:y¦R‚XXÌõ1™j°Tôòc÷ž±sÏHޣɂÔ2É[ÕP7+öù_Ÿ²æ¥ü‘V½ãYùX¤ŠNªiÇ™¨²ÄH2Œ"ÃH2+‹ë›î'õØÖò¥‰|¥"õ ÓKñŸ†ÐP|,-atY'½ŸNÝ.h9;\'b -i4}¬§GÓ×|´ctئvI‡ü^£Œuꪰ¦ó‘^gͰ»bt¾bÐ^Ó¶w´¬íj; øañ9߯bòÁb7 œ%Ç íù#®¡µJ´²DÓ*¢¹Áv걜¶y;½ Ñ5Ô¨BÕKÎW8ZĤ¸ÿ¤)Íâ@€‡o{ìÌ&ûN[õ©• _µ™ªvE›Y1b–˜C2M«BX5BÖì•&{³IäZ#K»S^˜?ðJùa5c›uÙ&]®ÃG‘‡'w4Û;žµßðÛú÷ìÊÖ_Uµ ²Y²nuØ©M"ßfßbÙfÙ"ó ¤Zý$¡ÔTRR)‚JJ 5ã¾â̾ç¾bbܳYµÙ®:¼Y½ä_VÿDê˜$žNÚ0H:ëŽçÆ ŒgÆ=޳kv˜yct5YãÆ!ÝpÃI8cœÌhÖFí[Yd}.W¸\=æòÃcÖÛ>þ“&ÊÓŠâ‰JÔ¶pwÒ3—¸½gaoìMŒ½‰I5“u·ÃÚèðîðœõ®Ëê®Ïòn@pïB"k›Ób:¢1³tÈ&ï¦.EªÍp»@mä(§©ªq«It[í„b¯âÏøóãR—`n,%áB’/C„£f-0A£“ò8¿äQ~Å£ü’“äŽí\cûQåÍeù8b£œ³UÎÙ¨§l”iÓ¦hkª+¨:‚²#2~µt¹÷Ǽ ^ðƒÿ9—›ÇìvmvE›ÈtŽ[`-@r¨CAëø™Çªêa!5Ή턜®Ž³«VjåhfÁ:êr•?æ2{L¼¶Ð(ðjŸ¡\ðX¿âÔ½edÌÙ¯Ø6[l³éˆÙýˆùtÈl6¤xª‘?Uާ©bë ¦’"dM¦j¬­wv&ùPGÃC‚n‘´ÜŸvÈ{ç̵­ÜG';v (ºLÑœ µ—¡h9Ò+¨* ‡îê@nfËñÔbé PÛøÿ„ã÷À<ðÀÏ”Ÿ­ñ+QÈÐ 2—»Õ)·ιùî‚dmñEøgl%âIû=úðÝ‹þ3‰AnwÍóÞü—þ¿ðßzÿŒî$”– °¥&ø‘g¤ µÙáªuƶTÈÞ¥¤ïê¯bô ¡ûO S…öoì ƒí7mVßôØ}ì²Ý¡nrÌOkMAçÑŠN½¤k/éö|¢,>¶Øü±ÃæŸ%ãöŠ_§—WÒ¹ˆpȰ‰hà£Pc¡RP!H0 pYV}VyŸeÖg•ô¨îjªï úª¦úcÍæ×MvUƒ}¯¯9„ºIú¿@—Ö'Ó×G¡¢S®yV¾!•š™á©RË8¿<Þ-­OŸé?ŒZbÏS>P– ±fI“H7‰L5+°Ó»H°ã„ÛU}÷ŠÅ_>gýÍ›ÒÃõCâŽkL‘ÐQÖŒ”c;d»Üò.{Ažé,#Ö»!­æQK-¢o/(š*®ëÓ¼Øq(×8Ó!Êû‚ü†?õHnuêU ë ±ªfŠ÷Ok&ç×<ÿ»<~uÃ`¿:ê°¢5Ûã."ò•Áb3Bî*¼àÀirË/Êïøø#s‹ÕL±ÔËM¹,ÏùÃíßñöþœßý|Åá©qÉÓá%gåú-ƒrŰX1ˆWØYÌÁl²·<¶f‹­ÙÀ>55¾°™2à¶>å}ùŒwÕSÞWO©¥8FF(GeŠÉÞh»ÇŠŸ“GŒ3>3^ó_äÿdTMùcþÜÄ|üš·Ñ+~ëýßz_ñÜ{Ão_±`ÈŒóúx®dì²–]V²‹zD÷ Â\¯kô4:ŸZ¡V<ÃçIç’³îÿØùŠ_yæ_ÿÄf]ÞL_òûé?RX*µ#~Ò—Î_:+L'çÔ¾§Ñ ˜–c<ÅGssÜ$¤»ß2ÙÎx”]2j͈:&aÛb£´ù÷?ý–ò£ÆòûÙw6þo-¨aËf÷¸Å…}IÏ\rÑýÈ“ú½`CsïÓ<ø4÷>wé)ÿZÿïªgüÑÿG®ö”× å¥By­`§‘c±´¹/GÔfÉ,²-Û„±K¨N…Ò)ÑÝŽI„Êm=æ–êÊ\# òù7å]AåûÔ¾Oåû¨-˜HGÒí„< Þóëð/ü*ý Ïâ÷üëì)¿ûŒ×yÊïÿü”¢RŠCJÑ£~¦Q8‚º+¨‡P6%ES!kh$¹Î}1æíþ%ÿ>ÿ{>,ŸQî%U©P™òøý69Vü ~ªø²cÅOÖ%wM×^Ómè”,+h"Å)wË3ŒmJœšÌÖcÔ¼À>#mÁcóšgêD¦IÔ4‰ “mÑäkÿ7D‹z‡¯žQÿ=Ôññw©Ç ŠDE¦ªšoyÜ{'Ÿ*~*´Uh:àÙàÕ$^ÅW0ó ½À."Nä='Ê='õ=±F³345GñrÄ0GTª{@%ÑÖ!YZ,½!Ò®NŒ:ÿ¿>çxàxàÿK~¶Æ/¨]®Ê ¢ÂaXû=Û&忏eQ‰K¬"ÆÃÇ®#Œ*E­J( ’’Òä®JÒш2…ÃÚäZìC“¹Ö'iÔ´½9Ÿ7¾¡ïx콚}«bßñ¦‰Ó ´Î<Ÿ¦Sr#}Ê,e¿¯ˆ—Mh]Öm"Ь€r¾Mà6EΜMŽceœ=Ïéw÷œžnh´SJM#Àý-1?åÖY$ ™£U9r_mØJÂUÞp•â€CA¬³w嘖8°(º,B[PL7XÄ4ˆV+¢¥Æ4•7ÛSíTîã3æ2gµÐeƤsKÛÚâå{ßáÍæ%y¡Wÿ5$܃³Ž1«ˆV¹§®%¹ª³6:Ì*kÈ­úˆu=!L‡dqd%·>P 4µU’«{Ñf:?a3ïÍйJxâ°>ípWŸ Ø¥¦ ›èÓÊÄ1±:§'7 ª%• sØçˆ]†£û\<½ãbxÇ…}Ï„ Ídz|ô*¡®kp¡6?RTh"Ç$Á&¢Ž»e‹ùÜ"›[LçÉ€ª­Òþ|i¦èç%qÃeVLÈvËØ;OË?`D—ò‚Kå‚{9a¯t.¤®ÉÁm±hŒXDnƒSîýS6AW °Ì5kÅĺ#Ûè÷彎×"K56U—ëô/:0myÆUüˆeÔ'È]ò\G©j,‘ÐÖì‚.y`° :ܧ¬ª;šlñØÑ Ü8¤S‹41É\6½zÏXÙ2îï·´ûÎE†;ÎÁR8àc‘`cQ rLäË3¥W®(v‡›‹«1\J¸njØ—PgÄh¬iqÕšmn3 \üuNq?ÇQ Î[ žVKž˜ ³`›·ÙDmn³3¢ÚÆÐS #áQëz;C¹«ØÏ<þ|÷%ßÝýÎóú¨Œ¹ç¼¾â¼¼¦™û$µÁFé0·†Ìµ!7Í1ÜSfÖ)‰6¡ [d÷P¼dIEjÙì­sóSMØÞtØ^· ®p á ‡E1 0%û~ƒ²–¤µAZ™d•Ž%:­-c9£ÝÚb".ŽŠ L3èmèw7 ĆöaR¨ZIÞTÉœÁÌ"ñt K9š? BÖð)ÿìxLo'Ü¿9eúv‚ŸºdŽDŽžßçL;:a×c_ôù°XÛ{“`mcÔ}É:ëüUy‡à¤Éz2À>‰°'þºÁnÚb;m“LmÚÚž^{ÃÓö%¯Ú¯Iõ’.‹#ü¤ÁýakØ,;8ÍiyÂ}9a_¶ ™ÕȼB-+´ª$›Zìî»ÜÝŸóæþsv…KŒF„N„F&T E!—’z"Žs_Ç%2åÄ»çéà=O»Óã¶Ä­ÉwË_ðÕöwÜî‚ +¿G¼ÞžSï†Ó³k&OoÑ÷9õµäröˆ7Oت-¦Ã³Áˆý  ®VIW³å “úŽ‹Íá%çù%^×Ç 2´ª@št ª²•A…¤Øi¬ÚCŠ–Á®Õá®uÆÓò=YlaÆ9Ãx…#BÎk¤YÒ7\Ûç|Oyo>¥l)„…v^`ö; -vUàšCeÎã=³ÍˆÙö¨Ã¦I^kTBRKA%$mœV·<]ñhp‰(3e‹EÑdQ6Ù•M²Ú -t’7 Ò×*JAÕä®<£W­0ë-fsË oÍ—¯Þññfχë”÷×?´i¨ÎÍîŒóÖ½ÎÈV’åM‹»Û»]‹Y~Î4æ¤  ¢Î®†4T”‘†òHR®R¢UN¹,VÛ¡‹}ÒÂ:Q±OTT½æ?ì­J‰¿pXÌz,ïz$W ²Ü9CèÕ¬ó±AR (‘Brk3mN 8ô[ž4ßóÔzÏSñžMÑf^·¹`Ê IDATŒ˜•Cfå„êI¸r 7åVA%F`˜ F'Fh5éÎ$½6¨oLªFØó=AÚµY5c‚­K°u 7 ª­†eù´í §:¿ÜàzN+Äi¥h%ÿÝZò`üxàø¹òó5~•Ç»âe¡’¥&il‘E:j¡$%z–a–)vc” j–£ÄåÑø%aé°•-æFŸYäòözÈÿ6âíW#š½ˆ—Á”—Ö”§SRËÅî|A~Òb™vH“ædÆI;à¹yÅI}M\ø¬Ó;LAŠ!%nK¡s¡Ðþ¥Bð}Êþ2!ø>áð§ŒFÿ@÷Õ=¿|yÃo_Ýà "Ï!òl"ÓfOƒ-ö4ÙÑ¢B2bƈCæXeŒ¿k2¿>Áú6…oØÛ öÔ9*kZ(@ŠC˜ÁrÑúÈÀs;?çf}ÁíwçÜþû9|YCQC£†Óš/Ä·¤•Wø<ã=‰b7êOùA¾â¦yÊÆí°6»Äz‡ºvÈ|(îR@¸­Ùy”Fê•H³"§õ£Fý#„™MnÙõ=î²1•”¥JQ©”¥ÊDÜ1nN¹h}ä3~ _/e‰¨*dY¡•9ná–1naú©©“X:‰©ia×"õtJKUgž$?…_|·ùæÛ_ñÍïŒ~uËÉ‹;ÿêp›s›÷¹ÍÏÙ,{(ËeQ¡,KĪ&Ûkä{ì ‘ûÊgåQU‰Ò()æêñs¿9~vÝ,è·<_ò›ñŸ‰b›ø£ÃòÃóCÊ2p¿ž°^tùqúÅ+IƒD1IUó¸@£¥¨Q«½®È?˜l_÷¸y}Áë>'ÌtJŠŸT 4ê …úBRŸ¯ Ž×#³N˜xw|1ú†ß]|Åyëš¿¼ý’o–_ðÍì ¾ÿùO‹c’ܤΞØsÞ¼â§á¿ø–õUw³ç|Ø>áýÛçlóéÀ 餃cXvº´™.'|¿L‰¿õÿˆ’—ŒÅ §Xüdü«‚6”õ1"¡Øjˆ÷5ÙÐd7s´“‚@41Ó‚a¶"KuÚú–sëš¹àsïnä)°ÿ²¥°ö‰J ­›cuV@[lqµ€‘2#75òRç‡íg(ےÇ雬ҩ•ã½S+»“p6ºå×£?ñ÷£¯Pœœ÷â1ÄïÅcî÷»÷P¼3Hß7ˆ¦.ÒäN9GW3=äËñŸørü5¯ÆïøòäOüÛ71†~hquÛÁS望?ò+÷-¿j¿%Ü;¼^>åõ·Oyýǧ̗#RÝ#Õ›¤º Tf† ÆÈ3Å4PGê 2ÌW9Á×%õ×ÊcùY%ì¢(„¥ Áñ¥H±dS…ìF’^*¡pÛ³:íó&ÿ ƒ “èØ@„"söf‡]«?ôç‚Þ`ËÖ;þÁüÿ þÀ›ü%ÿžü‹xÄ4>e¿lR®UŠB¹SÑݽN±­·í#dE5¨¯ù Òk`â‘Ll¶“.J·¢œ+S•b¦RÏÌ_¤t¿XsöôšÉ/oèÚkÚÚ–¶º¥­mÑDÎìðêoòÌ{àxàÿ,?[ã—nÛo8ä¶DÊ«ŸãšµsˆUîn\Ô¢ËíM“ÍM4Ó`Q×få÷¸ÏÑâ”YÖàC9à®”eËHIÉäUH#ÅjXã ¨bÚ³HŠ&ÛE”ý¬C´÷È TºT¨BI¹Q(f’ì® ¹Qˆ¯$Á%$BP\‰zª +J­¢Ò j‘Q 1y­“cPׯöiÕ{zõ+ŠhîÖØ‹5ÚÝ®6–•PÕ`¨(º@WJl™àÖ”5fª¢Å*"Ô  E„)ÂÌASÈ2pã°»j³‹:”Õ5ŽqÒq¡}$1fÎ ¡g3í ©›‚ºQS[Pàå{:þšf¼§‘D¦É7aÓì6mpn'ÂWô$ºIhZ„©E85I}e$Pj…Ò’( iUX§]¢ ªc¤‚›¢šHU}¬De‘ÁX2¶¦ô­kMKÝþôO© F5„’0r‰ÂU¦)&±vœ9 ››ö)›q›ô±ŽfÔ!˜l-frÄ}=á¦<ã:?ç2}„ndØFÀ =ÇÓü„+.ðU¡Õ`Ô³BS ”´D)ÁŠÈQÚÒ­À¬‘ZEÃõ÷f<•ï l—0rþªÀ¡P5bÉO-ªMq Ÿ¯hç[Ü,`èÎÑ•ô8Ÿg$¸š•GhI†TJ¨ ‚êSûuY+…Fšd™Aš(aM3=pZÞPðeƒPµ‰T›P³-¨•F’˜¾‹*sÒ†MáZÐ0PZ+Ê©w>Ú²&ÞG$Ò$‘&é±ÔútŒ CsÅÄZàÛSÒn &zXáV!Öi‚Ò¬ŽY¤k›ÃÁcwXÑgfXZ}êR§Nê(G­b±ÄÑV8í¦ëS =Š~ƒ²Û h;ˆÖš;„·…Æá€0„®"T•\±Ž‹¶0ÈÐ)€²(¨Ò’*H© A0× nlðtôº¤Ó]ÑéVØÒ§aèN‰× HÏVd•ÉE犎ܢì+Â.~êáGMüÐÃ<ò@Çðj‚ÙK0Ú1f/ÆlE˜ª”`rM'‘6HA¥(*Tš Ô+ª¢¤ ªEE}UR(ó”Ì‚l #­W„ Ä’ w˜Ä82þ›=óxàxà?ËÏÖøÕ7 Å_¡ ÐU‰eK¬/ŽL)ª„ÛÀ"þú„7Ô¸ÙŸs³ï±ÙÙÔ{ð[ î[Š¶Ê¶Ýa_˜,Z›g…Ñ oø/"Vƒ„[ãhˆM—ªXVHéK‚ÄåÃæ1Á½ƒ}¸½jq»i±§EÝl’¦ÿFRU‚x*‰¯D$ I]ÄÒe©¸ÔU\«Aß8f¼™uL3?Ðħ]ï‰k›¨¶ ´Ê-­rG³ A¾÷Qkäáü.Ç­ &6®³`dlx.?ò¢|ǺTP«6IÝbU·H¥ÆRíðQ¯1Œªjñ!yÄbÕ'¾²Û S¦x¦O¯¹al-XÚKº×´Ì-‹=åDRMÄQ®$\Y\ÝžSÞ*Ìo‡(^AöH#{¬Ñ7–ô­%ú D{^¢QL®ýÑQû1«} Ã)°ÆV«À:+0¬}bm£kO:oi=]±­Ûìê6ۺŶnSIÁBö©n$Ëû!»]‹ûÕ„¥Ò'?Õv<)PNþöÞ£9²,»ÖüÎÕÚ¯k DDŠªÊb½¢ñ=vÿížõ¬_³(+Y©#Ѐõ¸ZöÀ£²{ؤ‘–ÖøÌ– `¸î¹ëì}ö*‘Fޱ£ÎèFSzጜu¯èuѺ ¹'hº ^µ~ÚG6ìn¸]íµ>"^™”² ð l÷Wù)u.˜e]úígšÒ‚¦³¤Å‚ä2K:ìVùD¥Žy©’(&ë°ª›,ëm›å¦ÍjÛB tr>kÿÄoŒï˜È}îÔîÔ1÷ÚQnpRßÂâmÙ)Xù¬¬Ž¤šŽÑ‹i[t'ƒSÁ¬èý¬mÕ`fvùIþŒxkr_0Ï\ž»¹Ù }‘£j:+kÄÛÀcþíai1©:,Ž»ÐÑ1V%åSBñ”RN$ô,dÔ¾å¨}ËQç†NÉòUŸåqŸU£ÏZjcvçŸÍ1Í9æÁ¹=G<" ,äžÅNk°¢ù³¢­FêT¤zM*W” “ä v <ä´Ïgœœ_qª]1´©…ª§R …ÊQ’‘Ö¼¿¾àÃÛsî£n¢c&ñ€àõ5å­Äì¦Ë캇¸$•I¤ZDªM~ "ºòar˜£e¸îšq~Ëyñóâ=‡ÜÑ4Ö4ͪ‘P¨ÍdG'·Ä±Íד¿Â|މ5“ûú€2ýdü6@Û|oüfy—ŸŠÏè ž9pn9èßrXßR™iº7~Ù£J U!q v‡Uåsr??ânrÌýóoŒw¼ÑßòYû-¯Goù¨Ÿò'í7TzÍBó‰&·—‡Ìo:¼»üÙ.¨~#¨$¨:`º1Þ–3a0~ƈ®¢s”¨ Ž,VQ‹YÚ%I î·üiö²—"uR¤óŒ¶ŸR­uVÓ³©NùÁ 7²žL~,COÆØdª *©žKôtÅȽæ×'?ñW¯äø|Âu÷„›Î ×”©ÂïÎhšSšã)ÍßÌÐŒÅÕ(¦`&õ¸ç€ƨ°ZÚ„Ÿ¦þ”‰ ÏìÜI¨W íhÊ©ö¯zßðzt‰äÖÈ$§Ftï¯_ñþú‚Ëë Þ_¿b4ØÅ.AìÇ*ÍÃ%ý/'œ}àìWïÑû1‘išûVùµð‰[ÁqŠ,•ˆmÒÏ0»V/@³âM€x ¨ô€¬ˆ2Ÿ2i²‹zL­®éËsrÉÀ”s"”Rùïš/¼ð /üÿ_î¶È¨[ר½[«ð+ÌqÅlZ³JM¦7:Ë‘À‚íƒm‚-ˆS“xg²š6ÈN‰bì'ÂÙfa(†ËÚèrŸÖ(uN(Û¶‚îŘªÂvâ³Í}¶+ŸèÙAH’Z#Ú5j§¦Z ² Ýì[õÈ9Èt’†ÊRõ³’lU’ M¤t™cŠ_l)j…¼V(j…º(y’¨YA•Ö¨¤¨Z„êlQ[k[F±$KF±ƒ%ÃæŒã‘CqG­x´m¯ÙA@騤m• 3³FRlÖ¢ATšùþÔT@&¨s•@±K +Ʊ÷ƒ2ÔO#g”}c®³\ø¤7éw½î”3KCóS:Ý9V7¢ÍœQsÂÈ™Ûó@çæ¾‰`ÑFS”"CURt;Å´"¬:Ä©œ:À+¶øåšf¶¢9[áDvaÇN³OQµÜ`Zõ T›ªÔ• ®!Àá^:äN>ä^:d&÷öù^bß°¦’QjòÞšRY‚…¢*:1…ª"7J¬AH+] k)j3'WT6±O¹“rP* #¹f4ЬÉ(f" #Gõ ”,ÇÅè݉1Ô˜ÌÐI=“´m’Ll5 ¶*B ¦I=M5ƒÚÃð­Ššcª®ºE¯£·|ýÈ—Ñ’ûâOñ€¯ëߢj9ª—£U=í™"d‘ô³t¿Äww 'ÎÍ÷v VIj+ìl‹XÕI*mé’:2%ÇÊ ž»eÔz` L0H¨ÂfJ‡¨vH–qi‘,, I¥òdJC¢²e´fŠÕ‹°ÆÖñŽž÷L?}¢—Mè¦SšÕ]O)4‰­îÈJX¡ˆ¯ÞÒÈw´ä%®Ø¡“î§Æ5û5J¢ÂgZ4!‡vÑcÙrØvL¢®†ì”ÌW-¢Ð@JKÌ"B+S”*GªK¨e®ÆÑÎa·jP¸*ª(ðô-õ™­îâL3F6JÊ¥L\šäN8«ƒi] E9RQ Ê9’S¡[ nk‹[ìØíK´³)v*ÙJc[xÌwÒ•NÏÐo<Ñ?~¢2csÓä9l0‡<_ )ÍNÐôm˜ 6#´YO!¢ÒbƸûÀh4ex²fp°³"VV‚%g¨yi¸VIsPÑ‘*´,CÉ ”4Gö•¼L—É5‰\—Ñ&QÂNMÔ‡$ÖH3—lí‘N]¤U†ÖÛ`¯ðã1C3 4µ@u ”¬b2ï“ä÷ÏcþøãWd©Õþ1J Z™à™kz½ Ggט½ˆ.[\v¸ÈEId9l›M伯FjVÈ­ÙËQŒÂÑšEw6ÜP;:QÕ"ÜØT÷]:f—g©ÍLö™Ë¥(Éâ Sÿ/Þû^xá…^xáÿ#¿\ã÷鲎 þyšœF…NŠŠŒŽ„ ’vºtTè°Ï X ˜ÝˆFoƒ§ï+Iš’!²’44xÌJMíìGüKn…!'$n†Ò/vB«QôUÏQôE)ÈïTŠ{•âN%4ðuhyЪ ¥’{)[µ€»œl“c4S:-‡ mP´e2[c%ù¬äkÉ'C¥)¯iJkšbƒTæ(cCè8-ÿ•CCOièO4´':œŽ®Üaôb"Ý"nzTç*nÛC× º¯B‡!+LŠ–Ftä°Úä¤}ƒõëwGcüÞOåAhšœÑç™ôÓ½ž}Ü„F„…DI dÈ$;•ùu I)ˆ·ëQ“m³AÚ2öáÒž`m5‰t—B²©k‹4Ó ÂŠjU’NK6E‚‘'yŒ™'Ø»p¯í~uÍž»Åó¶xÍQmñ÷x^ö™&=‚̤Ϊ½òŠTÖX4û,›m¦ Oßí[Qõ)-eÁb×a¹l³XîWÍ[Òm.8ño8n^“Ëë†Ïê ÉÚl’–:•&Qídž>ŒÀÉ+÷j”ä¨,²Û¨A¶Õ6 }M³±Âï-iêKœf€ã8ò; Hƒ°ë6¡gcd9W‹Û§¿¦’$Öf›µÙbe¶)=·½¥ÙÙpܾ§é®8(UØj@å¢D6rT?EÄt¢ÝOêESV›ÏÛ.Ï›“M¬k±¹hò|Ô纄â|ÌÏø¸<ããôŒiÚ£ˆŠP¡ˆô2£ÓZQ·ÌVJ«¹Æ’R$YJ¹:h£ £L›sÒAÛ{Í-L%fК0ˆ”4¢5êSÎöÉåû§/yŸ\` #ìQˆ5Œ0¼”b¦RÞk”w*ùƒÎåêïWÌÖ]ê•€¸€$û‹ŠJ *¥D6ÍX](i—ôYBmæ„’G-U4ætÌŠÃÞ ‡Ý[;Æõ–šÐ³æœù7̳v"/K><3IÜ[c>8g<8ÄŽ$ô«gý)ýßN‘Ý’í+‡mßfk:T•D˜Ù<¦i+‹!´Ò­òüVú†GeÄ“6äÉòdqõ€¡<áU}ÉE~É$`Ä9yd° º™Jy¯K:u*áJ ÝdK·sG÷·÷´²v¿"lµùײɷs™‰Õgbõ˜D}ff‡@wYëMfF—†¶FZ•ˆÇ ñ´WéÉ”CyX0=0²JgðeJÊîPçiÚáé¹ËÓ´CŽÊ’‚šè¼a'|4)G¯3t%G¡à­tÁCÙc›Ôaްˆ¶@´Aœ”Ô¯¡J亂 $ȸìЫŒ8³Ù„­ýÔØµDiÄ+›Ê’È4•z'#šÖWÆX&WM2 ²Çˆ|¾d#|錕Tbò4ý–3ÿ¿b¿{á…^xá…?¿`ãWÅŸG-|Š:(Ñ(èÈîÞøu,8Tá˜ý@„½ñ{3Žèh3†{Fö*˰ÅrÙfµlQÊ2V7ÀêØz€¡$h6~eðkT§@wc 'FÓS’LRÕ¤Žù³ m Î\8SáÌ% S¶Ó”ô6c;M1ýñ…KøJ§Ô%RSc!7¹S¸Sˆ$“#éžCq.e¸¢@=P0Ûö+ ?v+ Fò^cyAÓ]á»k ÷ÿeüZÎ+A·¹eÐÜr`ͨr¨å°:n£V9áÎauèsw8F=‡X6‰UNéóL‚N‚AŠA‚ŽLAÅÞô 4’­ÊüªI¼1™}ì±<î|fR}.Pº9R#gm7‰4B¶©j‹4TD²’ØMJR ÄÅ~M Ôçu’¡>çh“o¼¦ùf…ÿfIóhI’™Ì–=fw=fw]¢…QNçåšD|â7ˆO\D%ÓpޏãB½äH\óq{Á‡»WD×.é•…6,é.yuø‘¯Œ¥–›†ÇÚôØô<¦»>Oëë1Oë1l# äaެTº L=ÂÐ%ÝêHÛ’FoÍØ»ã¨wÍaï_^ãËšÊ?ÚÊ›®ÇÆóØž¸lïm¶L®ž†|óáŒpç¨.©â‘(.N+æÍÙ[ŽOïysöŽãÑ5Žà*;5 6öÃRd?G)S´"¦—?ñ:Ç«ü’Wù%÷«~\|s‰å¼GÖ°Ù5™ ¸ çg|\žs5?g¶èQ-¥OØYÈÑÉ=õ‰Œu’Ò®×XJ‚¤2Åd£¶°ôs´Áknq_mˆ–Wm¸‚t®c1èOx¾ãMñz•ðx7äéû!Oß wÞ¯¶x¿ÞâY[L;&š¹„o]Âo\Âï]VI“eÒb•4© ŠŠÊŠpnTKPÉPK¤yÉ2ÕI&=o}Œ~Ž~š£44Fެ­[Í;«;úʌĺ&ö-lÆ<,Ƽ¸àñqÄÒj±jø¬|ŸØ·i[Ž•{¾|Ï—ß#ù%·ƒîúÜ,ªQj³ Ü zœsR]sZ]sR_ÓS¾S~Å·ú¯ÉM•§bˆ«ïÉO¼á’¿ÊÿÈuzB‘è,¢.JPPÕ‚B¨T‰D±Ti¸úÚ†/;×|1ú_Yò ó(ó®uµ@G`0îL9ß\ã—;.ì|îþ@mí¯ëÕ¤¦F-×ÈJŽ!G8ʆ~ýÈy}Éoê¯ù]ý5o矓>›L'#”gH-‹Í Éó`€Ù ©R‰Ûé1÷«CoÇ,ï:0ùô?52ÑHWu¦ j%–— ¨•ª¨[ÕßWÆ»®±¡o<¼õ †â^%ÙXxbËp÷Äyòžß”ß@VNl>þt·¿?ça9Æ/?Ýñm0›1«i›õÇ6«oZlþ¡õób?­$2°Ý«®©+…ºV©+…þÄßü©]à[Ÿ¡Ú)‰®•&«¸ÃbÛa¹ì ‡5e‰¯nøò-_ÉÂ"ÅäI"ôK‰éŠÇÕŸç?¡äÓ|ÀU¶BÏäÄ¡®e ’? ¤®D÷tÇgÃ;þöä[üÆšÿkÕærÝâÛÕoù×õo‘Ò ‘Ôˆ¤FJ*6e…UNQÔ”bÅG‰âOÅßIÞ¡ƒþ3ƒl¸9¡5\Ój®iŸ¬˜ *eÇ*L¹z®x^çl‡Zn°•1Ðê ½NÑê ­ÊX>óÌg—èTQ†¤(CÊß‚æ'©¤”d òTE'Å&Â!@IJÑ+ØgfÖKAQ¨ûiº%HREã5ØãçuIãUÁöïÒ²¤Z„d_ÇìBØU7Uƒº>… ãÿüÏÜä^xá…^xá?”_°ñscÊ´"|®˜¿+)µ c(X=í_ÈÓ×.4mèëÐ× #ƒÊ~š¢ÎÏ…B«‘ä Y”ÈE…Wˆm ¨$™Ô7b¹ô‘ó’ÝÂ%¾1(®ĪF;ɰN"Ú††»Bn?£œWÈu…ܬXù-拼Íâ¶M±P@Öa Á¯vnŸ›Ã7XžJ\wÑ×ɇxÄC2$­5¯¦ð4BÏ¡í̹RN˜(=bÙD%ßç–1nâ—;v’ÃZöYÊMr‹ÉvÀÃlÌÃlÌbÞÅ•·T]½“áw6jBj¨‚†´aš÷^…p*P+BlRôO·ù ŠŸ¿ A…E„áÇtÏg”ù¾S¬%D! ‘ šÝ ã“;;’;ÊRâAØ~Žz,¤í‡—ì x_Â*AvAr’ÒX`5"¬a„uaÍ"”Ãùóy˜iY­S jšâŒ3…:Ωâ‚:.Pµçh‰{”â%´:[ÎíKÎÌôÔgLax1úA‚V¤(V†ÜË‘F%¢Y ‚™•4×(v ÕLPß×ÔeEíBÕ‘HÔ¶ R$jko¤ºÆp2<- S-ÆSÒµÁÓjÌõêœtm¢[ †aº¾·cPÎYt›¬~Ýbmµð—)^‘â–ûµånž?QœK¼]0k¶ô¡WHzI­R K y#ÞÒ¨×4v[Ø ®¶,w]n×Ç\®Þð¼ì+$>lŒOÞ€:¯1‰Q•œ3óŠc玺%ïŸ".0µÊéžNÉOe~èƃ3ä‡â Þe¯XDmê\Ê[ÉG’k2YǘdøÉ†®·D½ø–FsEwüŒðkjD¯æèü3LYÍ}’†F¼Ð‰ÿIc~éR̪Òþ² 1Øì<¨?õÈ„ÈìÙ¡°#ÝjÄ ‡h©/m¹ÂkG4Z3¼v„ÑN ±ÉYÿSMyeàt,ü¶M§ãÐn8hr‰¦hZT”xý-£üžÏœHQƒmb²IL¶S“-9Wf½ñ%afà!qa æ%¯ó÷´Ó7ϧ¨·%É­Mº2 t?Éeï[wb?t˨Å%(FÆÚwØØ>ÏÌ2䳯,·-v‰·CH<ªJP‰TU‰MÝÑIk…BT*(IFÃØMò5ž¶%ˆU‚{•àJ«Ø‹'‹qO"'¦3^Òÿ|Ž; (t…iÙew‘v íëÐà½Ûdöº‰dµhç6­ÏKZçkZnÑÜ žD3ƒÅÌcû£Éî'tVC•ⳣ˚Þ'» eY’®LÞ¯Þp›büùJ$D¹ÍÇðœ‡ð€°´÷Ÿ]ùIR…kïèOŒ•{Fܱl›,_[,J“¥oOLâ¹A:3‰g&U&}Ú<^xá…^xá—É/Øø9ÀEÁ´¦|WÅ5JW+‘¦“¾ÒàsLLŒÿÅø}J>Ø_ÙgIr…L…T”HqØÔ0‡J’H»:AìP— e%ÑÂ!¹2(¿‘ÏZ’bk!~gMGšá·ÖøçšþÿtÃÇìŒËì5—Ùk67MŠXY‚žF`÷¹é©Ä^—{^!oJ¶ÏÛ‰ÇæÙ¥. mSÅFé”Q2c”N±µ˜h` Þ_‘5T%GUry¿ª"Ç"â oùUý-‹m‡Åc—,;̃.óh¯,R©rÁÆkPG5Qaґ挔 C㎑óL£Ø‚ € YfÝo°ê7ø¡÷Ù>÷p7d ˜ïÚÔ[AZlJŸ¬ÒÙ– Æé#Çé ÇŽ/nÑZñH#ö5îÕ Æè¦]ÜóFù@ú¬r•pµ8äãÃóÒÅl嘭óË ¦_P S P~Z5"4t4B‚—åGå{™¬´1ô„îEÈøü‘ñù#š±Xš,V&Ëkƒ &Í7í×6Ía×t±””Y«Q«·¿eä<h¨¿Š¹¿ípÕDºjM›ìÊ’k¿MØ3¹ËNé Å„~>á0ÿ@Þ¢MJ’÷6Óï¤3^³/Z¶ ¶Ø—1wõ¾ÂúU‹Kã‚ïò¡8F·3äƒà ysò›y“§§O#Ò'ƒº”B&SS#ruRY!×$*£FÎ2ZÆŒ#ý–cý†¡òÀýU‹û»&÷W-–›´½ÃÖŒ£Ó9‡¿›auSÔ^Ò+Éu• ðØÄM¶Ÿí²É64Ù¹»×Ò¹D[)ô¶ô{ú-2áé¹ÇãO}o=žÞ¶I§2éT"ÖÔe‚Ï3gÜð7|Æ5ñÖáñzÌã嘫÷c’­*ö9Š(ÈU¥Ýbeµ mg¿]T‘$Ê~4ž¸P.y%Þ2k5y~ÕdÚhñ|Þb})±þÉdóÖ$ÛøTÙŸO _xá…^xá—É/ÜøS¦N!Šaõ´¡>Tg‚ú\À¡ØeçâSÈ7©øì+~zýo+~å_*~b^SÊ2éN§NjòRAäÙ »6(¾Qnk4-Ãê„4N×t¥­;wžìï}}÷{¤ÛšõM‹«Û °è×`C`YÄF—{£D®KĪ[‰ê­DõNBM3¢poúžÆ}Õ>÷?|'ÿÅøåõAMµÝ?jA­HT–Díï+̺“âªjÅ0šrµ>g2ñÇ›ÿÆßÝü-¿ò¿C5£ô ¿Ü"5*–Ý6«Ó%g‰Zç¼ ßó:|Ï›ð¹®øÎû‚ïÝÏyç^pgÑŧۗ"Å&ä”+ÎêœrÅi}Å¿ìþšÅS«Ësþùí߯6e)ÿ¬JHlÚ>Qd°È›TºÄ±rÇ™qÅ_;ÿ‰t³?Lùt ²ÓþÑý=3÷wüà}Æ×ÖWä‘NžëäúY"M ²D#HëR—‚BÚ¿ØÔPTU(L‰Ê®‘‹Œ–>çDÿÀ¯µoy-½å»ËCªû#–ÿtDö÷*Æo¦ ÿæšÏOnøõßÜ <‰â²“]Ùa–v¹‰O¹Ýžp;?%¬l¬Î«»Ãêni4V ä‡òšù?]“Oaþ£Gô•§?t¨Ëœº,¨‹œºJð™rÆ%ÿ?ñ·ü‰Çí!ÿp¥qõ/¼ÿ‡7L§=„!j5uCPÈ”'Õ‰¼¯øÕŸ>¿„\ï+~Æ„ ù_ñ'žÚ|„{žc”2Æ-„,È·&»ÍO†úŸºË½ð /¼ðÂ$¿\ãgIÐTz…ÖÌP[Z3Cò r²B?A¾ìGµi©kHu…¨K¤n…Ô©(;‚­ëòTŒÓŠðÙf2鲚äóŠZÉ(çù\¦š½¢XC¹M¨Ã„:,IÖ»™Êâ± ×P&2I¢³‹æ‰ÏSÔEDú-Œ!Õ *[¢²µ-K&A岫\v© ¹À1v8ƒ;Œ*AUЬö/Y©CêD@"iÍDâÊ!º”Skï‹s®6g<,Æ,Ê.ù“Š]…´ºKô/3†Î­ÓUWâÙè“d:ÁÖ&ÜØ›]î²ö=?gè?ḢJ±_+pë^½Ã­·¸õ=O©s…i6d·°«·qõW ıEZD‘Í2m±(Û8VÈúøÞ‚j²V 6ŠÁÎ2©uAµB’ËŠ6*% ‘c±n4IR£BÊ*ªD¶ÖÈ×Ú¾:é׿Bö+T«øtÿQþ4TG¯S*$D]£V¾Xs >°‘ßRê2oŠwŒó{Å©(µÀ¬¼* .±°ˆZ6ʆˆ+æU‡ü3•b¤’»*¹¬‘b’ifRÆ2+­ÅµqŒWl(j‰[í˜ÌUéu¦ü®ø#}&ˆ¤âá~È?>ýž­ïrÛ=ä¦{Ä´;ÄSwd¹Tƒ©&ÈE kˆç&«²Å¤í#*¤ Mä˜r„ìU(^‰ì–È^ÉÖôš%íᜳü’(³É*¬ÖÈjuŸÓ(IÏ2Yf°®Z<®¸\mÑWëª‰Ý pº¶P4Ò\'Z[3—mÞ@-J´"ÃÖ"ÔaI6ÓÈBl¥“Nu¶ZƒGwÄ¥û ÃK(f2ׇÜx‡Ü¸‡ %²Ð =”mÆûøSwH|î"ÊXŸg4× {OŒ)«¨É*l‘„›Ð§2eT»@²B ;Ãïm)O§ÈI-ǘfLïó)ÎqmA&tò¡M~æQì|’…Å|\rc¨Y“`9Ư7øliHæ–¥Úd©6Y|ZŸ&kÅ% U‘£V!¦\aé –³£å,ôœfs¯ŽPÌ‚eϧ8“°’o´&»Pyhø“ô« É·Éo¸ÎOY•ÍOm¬2•€\’²Ê:n0‹ºèQŠA¶ÑˆÍIé^<£‹””yZøæÇ¯ÐRÞ*Ÿó¨Œ —Z•ÉЉd›Þ`¡´ÙXm¢f‹lФ:ô ˜yp{¡i1µ¡Ð ¤±_k¢¿\ 9…¡"µ ¤fÜ(0ƒ A‰JR›¤…I–Yd‘EXØ5¶`ûk,Ã`´C0}îðÍ?¾a»knU) 4Xf %@» T T•Zì—‰3ä½ó É®˜‡.óÀe¾s™‚õOá]Mºª¨ŠŠ}Ÿhý_¹ë½ð /¼ð¿‹_®ñsl—˜Ãw¸ÅíPݘ`)–°{'È72”.”Ò°Dîï„)£œR—XËMÊLaùÐ&}TY=¸¬'ù¼ VÊ™€©Dõ,ƒQQ­ª(¦.ª*# kÄÜ »ï³±;Ì]n—x‹îrÞ,Ð:‡kÎÞS™2¥&Sh ¥.³È;܇<‡ä±F]@¯ùÌȽg|z­Ì»m6 ½Å:lÀJÚª_Kˆ5èÍœª©6mæn›‡Í˜›Õ1OËÛ…t•9ËG†ÇOøÞ {RŒnÝ#ªô˜ÕCƒõUƒÕ‡ÉNÇ=pÏCÏo±¥¨P²%«³ £J>)E¯–a‹iÐã&è2 úXzHß{fàMè7ž©T‰YÒg–ô˜®úĉ…n'8öŽßYÿÂW’àƒyÌG÷˜Í#¶Ó.¥lÕwP\ V¢CŽÁV4y#ª‘ 8•ÉOd³D òkìƒFþQCˆíg[¸|¬O0¬£“p¡]ò+ÿ[²…J2Ó¸y:àíüŒÛ`9n³·YZôÝ)kéH¶)d‘ÔäSxj³›ú¬·md¹D‘ d¥D×Rı ?ÖmV^“صGÆ-­îœ p j‡]½ÏC "‡`ç<¹o¶A“ëÝ)i`2 Æ ô'F¯ÚŒô4/aýä<9¤&õLEï$¸-ng‡ÛÙÔ.Û…Ïv× ¿SÙÔ >šg¤¦Îƒ9¦2 Ýg©ù,tiƒÇü€wéçÈ¢`âu˜´Û„§MtÜqLg¼fÔzâ„;Ķf7ñˆ'ÓÉ¢£¡ö ÜA€b”¸îõ° ¡mõPÔg°Cï'ĦIŒG8l“m*¯M¹m°l;|lõÙ–§ÜM·´õÅ'ÍiéKVÊþ>íRn±>St¦¨lP)SèèºvE·QÒjD˜JÈZñøAyCåJ<ˆTsÐÜÈ$¾Æu㘵âóÍæ7T%áD%ñSN•eì{n_Œß /¼ð ¿\~¹ÆÏN؇hŸ„øg+Z§3LkËâkAz)ˆ~P î@]C­Bí"ý®Déåhýí· U&X­|–Ë6õJ¢¸â¡"®Èç%µšPÍ5ê© ÌV!uQç+D…éÜc{ç! å>A¹‹Qîbäû„7¿zÏç¿{Çùá>}‰âäB%“4rIåvwŒU…ä¡Ê,îB]Ê«æ;>o~kox+Þ …'1àÿaï=ž+ÉÒ,¿ß½®ÅÓ ¡#+³²ªzº»zº¹â‚ ò¿%¹®¸iQÓÕY•"2"C  Þž®Å½³xè,Žq;3´4âgvÌØ„æá~üûî9³d ‰KKĨsƒXÌ=®ücÖ«.óÕ€ùç!»O-šáŽÁñœ×çïøêè{ÜvÊÚi³vÛ\9g,æ¦ã³o{LÿУž ¾üý;¾ä'½+^_àT%v^â¤%Nºµ0ê}ªª¬?¬¾ärùŒ‹/øãò¯ñ[1OO?òÌÿHì{”•Åçå3>e/¸X>Gg‚¯où÷-_ü™^8ç?‡‹hKVýWÓêôê{àžŸMŸ!*LQãþ*ÅMc÷îMÐàSuŽGÂoýïøÚþž—í÷ü¦þŽoŸòçÉW¼»yÆwßÅ*èR>u(×.eìBß`åw‰ƒ€Ú71ãšòÚ&}°{Ûb}ÛCXúgAEù;›Xù¬[mîÏtškÚÞšÓÁ%íbÍV7YÐcNŸ=f—Cæ? ©&6»ï[lïÚä™Ç$?æM–ÓëÌù"ü‘×'o(lƒnkÎú²E<È¿uQï-ì¯Kšö–áÙ=ƒg÷,6äÇš2²ˆnl²¹é0¶Žp¬-4%ÆÏBÃDŸ`éK×ȶ¢þ z*¨~+p^å4ÝŒ¾·âØðD_°Û6ßžîÏËýtgûª‰Ê515A#¥eo#…|­QRR9&•m’:kÝ$>ê’7{¨'}ê¤Ë¢²­4וƖ [wŒZw ½ C谖¢ÃŠ19959®Ñw¶œ[ž¶¶¸mH…ÇZ4‹™å’ÛùƒŸíyI–\dçd™O¶öÉ—¼rÈ„‹vÒÑ[íÏ(›5yä2¿tXý[ãM£½£ûÛ9ÝÃ9Ý/ç `ýC—›ËSÖoºìÖMòS›âÄ!?u@k²´ûX~A.lî#VG#RÐÛ“ìÆàþÖÁ¾ ¡°Q4ÔâøÉœþ_Ï8m}âëî[‚“”‰qÀÄ8äÎ8dCóÁøÄì—¬ÛdÆáÒìW½Zóò÷·¼øý;f;\{ÀõûC®ÿ|@¸æÕo?óêÅg^ýö3qÒ"ø&¢óõ€Õ΃] Ñ&K°2èö tmTá±´»ÄNÈ­{‚íæÔŸ—ÔoToÔo—Ô[M+ê¬Bùçæ—üØ|ä‘GyäÿßübŸ`ö’“×ßâ43Z§+Úg+Z§K'¢3Ö úšMG³iÄÉ1qR§Q¢§)ú.AÝ%¨IŠÀ@$6T6´0YåW>‹ªG-HÆ^¦¬P²Y"¥Fô4úH NÀ8Ó§P•qÑ`¹ë3Écæ7CV×]¶—-’Ï‘n°±;,œ×Ý×§xN‚ï¥8íÃP(-–(4뼋›Ö‘D%‚‰‚äáßV I‚ÆÛ¤É6k±ÍšlÓù$§Ì 'Et[P¡(Ö5éEE¬Í6k£ÍÚlïëPêQÕˆº~8ßV kSØŽD·4z¤÷ß±8«C…hÖ«Þ'c£”E]Y”™E8+?ËÑB°]›Ì£³lÄ.ëÀšý“ ;Í1³ Wd„~L»µF{VWˆ’®ŸPš1•ÞRU$¨sIEEé˜d¥A²–D7€RTA… rœ &p ̇T`FKÕ,ñRZ/¶¤Ñ’öW;Â×)î‹ ë T™KtßbÞrÝ<# BZnFÏÙ±1WTžÇpš IDATƒèi¼Ó„N² ESî ÊT™µïl´$ÑÖØa‰ï&fL¨#´1G;st0G7çTnLEEIII…Æ!»Ëy xyä‘Gyä—Ê/Öøu/ù_¿þß1\…Õ˱{9–S`˜U¿¤|YR‰’¼'¸ï¸×\-¢¤…Z$Tïct£Æ1^_tA‚A¸l¼€m#dÛ ¨lJn$H ò ©áµ…aø´cú‡ ‡1ínÊ<ë1[÷˜ß÷È.©ÙdiËš"¢*,Ö»ë¨Ãz×ev×arÕáþÊ#»ŒpÌ-N1'0–´‚5jCãz{³Â¼^Âýj”·ÿ¢Ä!Ã'Á 2£ˆÚ˜Qµ,Úþ¯“v\ÆÖyå0I˜¤ÇL’#ë‘ô‰zÅKï(Áx*±Û)±ê’¥h±°{,eŸ¥Ý£V¥Œ‡«äruʇòœÙªAyU¢SXtˆƒc’ÌÃj²†Šž7ÃH¹²¸(ž°»m‘»ÚóÖ‡ýÛ}¥Ä‘F¼Ðˆ¥æîºËÝU—ÉUIÔ£^ÔäïsÈ+ʱOPi…•ØÃŒVkÇÉé ON>óÌýݺǔ¦¬0d‰¨4ÉÔãúóï>?'¹ñ(›UÓ¡l¹”M‹ [WXªÄÖb—"Ö)<¨P‰Ý!uº¤v³½ƒýÃ'‡¼ #!q’ B6N‹+θªN¹\œq³8fž x—¼&O<Æé1wÑË䌻Î1å—˜Æþl«#!ƒxp%ÎXÑÁÌ+>¯Ÿp¥ÏØöšûÄZçA6ˆ@á¦t;KŽÜ1OøøÐrkÚ¬i³ÊºÌ7fë!óõÍu‹hÞ ÉC*ËÜWmT*A7µgPÚ¹aS˜Æ "|¹eàßSœ[X'æqIÚq©Ä»[Òz¹bhO±KVËÓõ÷›ÓíµtöýÁv ºæ’®±¤g.q9»³ÝyÈ®’k›uÔærõŒhÕârõœÉç#Æ—G¬ï:¨• u|v…$Êš´†kšÝÍ^½5M¹£©v4ê5Mµ#څ׫ËöÕ¶æÂ)¬‘Â(„]‘:.szì²€tæ“N}Ò{ŸlêS.\êGèשÙa^¤è)Ñ4Á$‰ç“ø>‰çSH‰H HrHr,Ñn8ÜÑf£‚¹ÛgÖ0?î3_÷ÑÐC ¯ÑަnX0”è'&$PV‚]iÀG“lj£¥`—˜ìrƒr( Å~{1¶`Ü*Zé†cyËëÖ;žÞY va“H6ØùMÒ®&9פ_iÒ*$¥&C‘¢q(Ùˆ€÷³#VsZ âÌsq¾ÿ\cRá’úKÔxç ÝóÆyE4¸•ÇLÛC6Oú¤ª…nûÄRpÓªQYÈêý1ЍQÇ0êLðWk¶·Û±ÅfÜ¢Š8à̇Sy¢´gœ·/9k]q^¡Ž#”S#Ô똸î± bÈŽ 6þˆ}Œí#<òÈ#üòøÅ¿ÓÎ%ÿÛ¯ÿO´))]“Ê3©\%À¤Ø"Åédè3Å7ojÛ&N›\MP‹ˆªˆ¨'åþë‚ð«’a«bxX’›Ü…èŽI2j‘Ï=XIX ˜ ¨%ô\è™Ðó1ú>­~ÂIɳþ%ÇÍ ›gX÷ÏÈ>sÛ&³¬ŒcaS!ÓíÓùÓÙÛk›ä¢"ùT‘_ÄH{Šm,Â%íÞŠN½#¼\á¾Ya¼YÂåšÍý;HÓ‚Èý÷vr<ì Ä4jÌV…q\cš¦[‘¹{ã·+šLÒcîÖGÜmŽXoڔ¤왔†‰¯*ä©ÙÓ8N…UWÄÂçÖ:æ£õœO<£Ôû×·Z›TÚ`yÓdQ¶˜¯TW%U&YŒÄi:Ä sü0ÅóºƒFT“ß»|¾ÂO÷_`$Š£ÃŽo9o]p0˜ "WȽûÓo3òèŒé¥¦\èLQNéy"0^jä‹ëEJk´æØ¿åµ÷Žß¸ßq\ÝRû˜ÿR˜Ä•ÏfzÎõÛc>ýÛ>Š8¨¡ì%ma*¤©¦FÌ#oàv¯:·©­.Õƒzƒ˜¯¿øŽ“/&<3/91n(¥EXT¦Å.ùfóW8›œhÓàzsÆbÝßwù­ùný5©ï±kD­âÔÌ¿$Ôf‚8¸ÊÎXf]>fϵ&2Bvfƒ¨î;àþ=½Öh¼Ã„n{É‘7æŸ ß~5qE‡EÖg±°˜ XŒ¤w>å¢Ì-jËܲŠýdž tS üýšd! ÓÆèW„þŽÁÑ="­É‡,pH}—5-F{†Ö”à ‡_M¸¿;äýø5ÕØd5î’™ Äϲ{É™uŹ}IàÄÜ…#î#tx@¡»l¢6Ñ}“›Ûsä­&$Ÿd⣗’ŸZDyƒéæ€öÉ’îÙœž1£×t–¦S¯éÕ+NëÒÈeuÝäæ»ìoSXV¿-qŒ÷¸ÄVTÚ Õ.‘¨sI5³©>ÚT,ª6Z*”«Ð=PdIÍbU}ª¸_Õ UËÜ«m¢¤‚M ë6 ¾¨é~=åð77¼Ýr2šsÑyÊEñ«xBVXT®ò$Ê(G"Bš¨xŸ>[λµAöÉd½²Áûû»kPì;d5-sËQsÌ«ãŸø­ú†ÌrÉBÌsɔ˦°9 Xg!›,`«r6(¶h¶@~›÷>«G¼ûг2ú¿Ëéëœ~'#ì'Æoß*LM=4‘~s’Òˆ7aVD€Ôp˜µú¬ŸôÈZMôxës» YíŽø<Í ¬xŽôx˨;¡_îßodºM²lï«sNMxabœ× ½)_xoù+ï~çþ‰Ú®¨†5ÕËšª¬Yé>sVÌÙ0gKËýâÿOžw<òÈ#<òß‚_¬ñ󃄣Ó[ª‡•ÃTx¤Ò£®M§ häH©®úëˆÎfMs³ Ê2ª8¥^¥Ty‰–æAާ2Zí Ó‚­lc› i› -Hd5Ü—ÈRa6jÌPa+‚óŠ®›Ñõb:îšv½ T]<aŠdI)%±Ø¿øN°Î;Œ×'Œ''Ü^’^W¸ÞÀxôs¬E†³Iñã”ÀŒqg1öUŒñ6†Œ$ `JH TVSçP—&è“ÇÈp­a‚2$µ””xDuƒmÞbwYlúDqË,°»a'¥g­»)FW“»š¬e›¥l³]f²G‚O*<ójD™XèJÑ2VØ^A¿=ÃûRf—W¤ÔQÆæN2C$#ŒÌÀ©Kì¬ÀÙ”¡4\äÈE|åw„ÉŽFº¥±ÞT©ã¢l‰r$Yî²Zw¸]ñ~þœ·÷¯Ð……JlôÆBÏmh‚hh€h‚Q¬1Ò9Æn޹žCj¢Œ.Ú졌.•ÞpÖ»&xˆ•Àõ ܪøyR1ÝÝŠpaMK˜Š}"á¦Éd l€C £}àL#jбÿÙªÌ$®ÊÂ"ÊL]!`5J:%í@Rz&¥gQzÂ×X£3ÜŸ4R–…áHŸ­ÑdS·Ù-6i‹MÜ&OltºM†Ø tCPø6‰í³3ø²Eæ»(G`6K<•PaØÔ†I&ö¿w3( ¬ˆN°$“69Rh¤[c•GûIa«±Ù—Íë-–„"¢t *[¢,‰©kòÊ¥È=²Ø¥Øº‰M‘;TÊ Emï+$6 0 ð-ÌNE˜î E‘ÔȤÜk"1Ç9ö]Š3Mq× Î²ÂÞ”XÛ c§(*¬rHKŸ´ô0&y§1î5ά@ù•iR.:4( A™Àn|f_-ÐÿÈ(`&`ª`VP+¨ì ³½¡qxOÿø–!ŽÝ°ûhi#”©…Î%²Ôn#‰0A{JÕäKA±2A hƒhTØÇ8ub Æ57`©1N*œuŽŸ%4ØÑ0w[ï³M¤f¦‡Üé.í£jAUAUiŠZQ Iqk’V.ÙB×&ÆPâŒ4þ¨Äs5–]âØ)aY%¢º¹_¯… (÷)yå/6yƒ 2ßFŠR9d+åÂB_[tÂ5gÏ„­-í+,³¤’©n±+ âÐC Ô@¢ZV8nNÃÝÒwç¹·T¡¤2 JÓ 4 ™cË®4ñ…¢6~'ûþ¬{ä‘Gyä‘ÿVübß­8æ?Éÿ ýЧV‰}Y³ª Œ¥Â¼Ñ7&‚û¬Í2l|]óÅË+¶c“ÝÄ`7qØJ brÖdØä¤u“mÑ$=êë 6Ù>,`—b锎Né¸ vJ«à®3ª{ÉÕú”ñjÈÝEÉEÈ|‚(Èz¡ã}ÉpZ!ç%â²@ü˜Ã [ªBZ 4šàz`û—.!±¿j Íaµ•Bº&óK6 î¶É†ö&ÚïeÏR͈öÑ–öÑ–Îá–˜\í˴ͪÂÑ#çž¡sÏйcàMé…sTŸ½s–F›LxHgú’¡ºçNpψ{FÂÆj Äó[—ø]0 ûi…s^ã4*l«Â2JLY‘áQ›EÛBœÔ¸vŒ[¤mÛð˜ª6™­‡™·cŽÌ[æ¿.q´ÄÀGÈíVÌá`ÊÑ`Âaÿž™ì¾è²;è±s»ØiÍê¶ÅÛÛ—¬n„QDÑv(Z.EË!qîª!Óƒ!õß:4ÏÊÄ¢ŠKÊÄ¢¼,ÇûiŠl ä™ Æ464ž.h,î…¤)¹‘RÈß«ˆ;>ÏIc—ï/½ï_Û[(¶6¶/ø°yÁrÛÝÿÌ`ï§Ú@Ä¡Bk8Qˆ#õ¾úC‡ÝøyÌHß3Ô÷ õM¶Ríe(jËdô˜‡=a—MФv$S9„-Ìóxåž ïÍ‘®Ft÷õ•g’8UåÊtl€kƒkgS· â `étGdÊf·ÙDm6q‹]Ò„PïW6Ân#—ŠÕ¤C56¹ŸŒXf}nëSuÒµpšÍÆŠf°¦é­ ëî,%šú|œ>Á)s¬£ŠÆá–îÑ£­¨C‹zdRK“ªa3ér×?ä~zȤ{ˆÖädô[3ž:—¼ÒoilW¨[ÅåxÈÅmŸÝ2ä6;aÓ þ6áPͨ}ƒ:5)¿5È~r(´K¡m*e¢µWG„*¢qG¤©Ï.n²‹šDÓÕÆ„³ŸÂÚ@ýdöêj¿ê¹J©âŒùÅÇ:ù7—MîqG“;Ê P¶²M”ãa˜`™®™cÕÈF½qV"~%ä0C—Èaª’¹O:ñImŸZ¬d‡Ïò žLÈ¥EKlþ"6dÊeQ÷¹ªŸð±~Æ:êlö50É&ÀZEtª1OŽ'´Ü V•RåÊåþËw.§£9ÞÁ†öhI§QK‹•첑-nÅ ÅÆ¡XÚ ‡béÄ’8dIŒJbØx° ÑëÖzv‘id­0ý w˜ÐÈ·tœ9j…å.ÅÔ¥ÞÌz}Þõ^¡ú0õ»Ô•AUTµI­ „­ŽB:5¦ScŠc¿WÿÈ#<òÈ#¿H~±ÆïFœð‰ÿ)â¡RœJP-mªÏ6Õ›úÂÄ>L°‚— _^qÿ}›é÷mtß·)©IÈY“Eí³Í›d‰K½5`SÃ6ív,cCW¯8sÖœµVôÚ‹»ËÏîßž°ü©E´x­‰Ö9:#Ê-²Z#U‚¡+Œ´DÎKäeoòý*©°@˜Ð}0~ž¦¹7{¾Ä~ZdP§€^kò¦îxdÃ6›µqS ?fÈ)ƇŒ£Ã;œ_§ꈣÎ-M+b«ÚL묲D+É3áUëG¾hÿÈ(¼#²";ä³õ„ܰéé}œé+zzÁ{ñGdÒfN«-°ž×ˆ®B¼T¸NFÐJ Ú)A3AXI—\8¤Â¥°ж…´n;¡Î Rér+N˜ª7/ùÚþikΜPÇxu…£ LáƒìÒje?¥Š^gN¯=£'æôݦW¡»‚Ê3É»R¸d+À€:µ³@úøÔMƒ$ðY8]¤Q±U!Û¸ÍvÑf3k­„ƒ-aG(w„ÁŽri²|ßáþ»å÷‘Ó ê·Øõ[”=‹ Ñm¬8Æz·XIÆö®ÁöMÀí#d\sþÕ5ç__ñ$¸æ {h°ŸD6@$oú¿æMï×T]“ûÎhüÓ`¿ªÚ¯“2hÍyâ|æ×êØ\\rùÃ!?°L:è}êâŸ$†Sv7!»Û€ìCH|ïQK‡ZÚÔÒiâäôN OïžÜ³¾í0ý馾÷©"sß*öÆïßÿÎ#öÓ]¡!©`•ƒ•R•‹;“2ï2{ø­ƒ‡LŸAL„ L¸~Ó!¯ü_m8þ¢ -—œ4¬Œ.ÚlÍ7ò„rãP^Û”ŸŠÏå:¦ÜE”ÛµÛ¡sŸý˜QBåíÿ{Œ42ÓH¥0oÒp7#6ŠxÖ š5PSƒ|ë2;ëSk˜]Þʨ ÎLêÔ¤ÎLºÞ‚aãž÷ ¬{™cPýyÀ=òÈ#<òÈ~±ÆoÊDa>„n˜ºB¤/$×!ÉÛò½Ã¹wÁÙË Î_æìo§H× Èl'ÂèP£ÈɉɌJ9$¥O‘ÙèXÀ®‚(…h ñÓžÒæžc{Êëæ=ƒVÆå¯˜NzÜ~wÈû?Yò»¯?ó¿û3ùÀæ­›a9á‘nm·m–ïZ,ÿØ&š„ès}nCl#J‰áìð÷eäBV¨YEYV0®#‰, Wbö%a+a`l9“ ž÷B±!f«wlزÜö˜^2½:`º8`sÓ†Kþ¢1©÷-¤Æ’%Úè¾@5$úP FzŸØØ­‘­ ­ÒûscÄ53Í)ÏZømóßx*/p×î¦Ä]d…G»½Ä複UÐd7k±Î»ì’»i“çõ{„Ðt¬Mw ä¡CÖtÈ„ÌÌ+èJ# -+´ ´ èd¾ËÚhQ×;mm[Dó&»I‹t€¸f†T4ª-«U‡ÝE“ùŸ{,þ±GÑqѯ ”e¢†ËÍi؆Ö=gÆ%¢¬)f§Lß÷ÿëj%0#hÇœŸ}æWê¦]cXûbzHOy ÆÁ1"PHW! 2P„~DÏ_rdyZ_í,Þ¸y×ã_ÿø+¦UŸA#¥ÿUBÿ«”ö0G—’ô“KùÎ ú“†õ L‰ów­ƒ £águ‰g§”·6»¨‰¼P°¬ñ5 Ñ1ЈCl3Ä"p«˜ÝÖ`³m¡/{h ´R ôƒbDÛCt*DdÇ@¾ÒØn†´¥Ù^b· ¤!4RLQb‘`ŠŠrj£»P„6‘<ÔK4©Ä kÙ`,ˆU€Ðš†Þq îØå!³lÀUvÊOù+¢Yq#à³€ I'ØÐxUòd¸à¯_] ò˜,u¸øqÈôÛå¼Ái1A¹ÍњÓ)—æ 4©ô™‹>ÅÖ¥»ïÊï\ôbël¿y±^868Ø5: t&P•S`¶K¼VBC›¨-ðƒ¦šd÷õ¥Ã‚6«0äbxŠª4Q‘‰Ú˜¨­Á³Æ'¾PopÍ„cÿzŸü8ñ{ä‘GyäÌ/Öø ˜ñ;ñÊÜ"Z5ˆV!ѪA² È'EíPšhW‡Ì½!¤ÜúÌg-f›6QÖ@iŸ˜! FÌ9`Nf„ܹGÜ5Ž(º.ÅVìW´\~>ߤ0¨â JSQ ø ¡°†5zk¢6!z+Q[Ÿ”„å]‚ü&!ߤēùm¢±K ,¯À¥¸ç5ι¢Ý™’˜5Ö]ê?¿ÄM†üøé Ÿnúlv.Ò¬ 9Á !Äøƒ„xõ[ÄTDcžjØ<œMTa³#ܯÌ!ZhòË êà Yäq×1ø±sBÙ†awMÜóI{>ÝþŠf{ˉ¸¡+¸*ÛwŸ- Ÿ+’yE4/©Zs ±úæÀÁ³R<•1Ò3NÕ ¶*Ø©‘ ‰TH®ÿª9Wãê˜‰Ñ ¶ GSNž_Ùâ¦sÄVy\L\mÜl,¶«Œ`>¡Ó¾åW¿×P™¤ƒÉ A:hu|j¥¨ïj¢ØV’ìƒI~åP´t-QcIõ@o%úÐÄÔÄÎ`ï$tÔš¢vÈ•Ë<ð1Ïхɶl³Qìï6è€ÔŠFkû akÇN6ÙÉ»¤Éîm=¨–D¶ TS£Ý}†¶X‚DøŒ—'ü SríòI¾¤áF„NLèFÔ ƒŸÌW\O™ÌX-{Ô¹‰¤&lîë ¬º ZÜÜŸ’V>ªeÏÂî•öî4Õ“Š:­¨ýŠ"qÈÚµ©aæˆIN:-ÈL…”;š2¥.MÓ¯0(‰—!yêbos†þ‚“gcl]°Mf~ŸÙ¦ÇìMŸâN±„XƒCÊ¡‰W§Ôµdt2§ûKÌ¢¢{¾&n6ù~û[®ß?C& +d²7X?¥_ðSúšyÖG§’–ØÐ tÝ9½ö‚¾5Ã%å&;åÿÎþg²L2ît1~åðÌŸÑÏSDßAî6ÿÖgá¸l' v"¤xBhïk5¶vvÉÂaqÙC„ŠLûlnZ̧C"Õ n`+5(qæ„"!RÂA‚n±í9Vw†}6‡Eš:¬é°­[¨Y‰šUèùþÃDÐLiœL Ï74ίÍ¥3êO›Ih¸ÈÐC„.Ò“vaWNM•J¶y@T Š:A«ššŒŠ’I¢}&›Cä¶ë6Wë§|NNx?a–xTÉ£*1kÙ˜¿«bî÷ùaõù·:)yww•4P§‚¸€7$I}7}â™M¼µ‰3­ |RÌxÆg^ð™ÙÆrkòÐcÙéož¿Ïø÷¥Rãç\ºÒR¨‘B`ôÖË ukRßÔ·Ü*2RVw)Å6aýSJ±¶‰§ÉÌ¥.v+'%´^&´¾Nü é­âã¸ÃÍíK껂é²ÇtÑc9H³" _' _o鿊˜–-¦UÆ´,‰Çü¿Œ_ ¤?¿y.6~õ›[òYÈ] )ƒfá!Ý^AûÅŠÖË5kE§½dÄ=]±Ä• A¹„ü½"yW³{WPXX_X˜¯,¬–EÏXãÕÃzÎóú‚V½Ý6T6EéP)ó/ÆOC‚Ï;ó®™Qz&‘ôÙÆ >&ÏXÆ]~J^ÓÓKºýÏü þæüØícXÁPqÛ>dºnpq×çêCƒÛ&*Ë8ë,÷zº Ñ®X„}–AŸeØgitØ\»l®=6W.›[—jgRE6Uî¡;ª–0µ¨ýÌÀz]|‘Òn®éZ+DѳlˆÎM¶E›Ûâä/½Ï>Ði×4O7œL883:¾ãîöˆ»ÛCC|¢ v%ÊÕÇDw $z ÑH´Ïíê˜líp¿: k.hŸ­èœí{-^ÍUzÎeú„»ôˆuÞÃvrl7Çk¥ØN޼UÄ÷!éÏøö˜ð0¢ñbCãÅ–nsÓH0Ï3L/Ã<É(J‡×gãöÙx}veH|+HÆ‚x,¨vÐ>ÝÑ<-hŸå4ŽJvY“]Ú`·l²ËœÅ×ûž<ûÌ“á%“õ€·«ç¼]=c{i».«a@90Ù »t†Æ„Ññ=ƒ³;<3ak¶Ùš&»3âm±PÈ…F,4¬`f ™YVeIZÇ3™3 IDATþšsqÁsïÏ;ïQZ²KZÜ&Çü˜|IÙN0•ðôÙŒ"^³ZX®VW=6i—ÌsÈ=‡ò™ /m¸®4\)X(Ò¥Íâ²K†Ëj×'ۺijX…Ô,yy i‰îh³`, tFK‚îÿtI°]@\î+?p¹fHVµ¨ßæÔos*à ‚fÆðxÃÁ—_çÄ1,ïËO‚Õ tCˆQ€uÖûÉgX£RM–k²Ê:£´¢ÒšIª=î6‡ì®Ú\_Ÿ\%¬¶ó(`¶ó¨£F7Á9¸GçX uÅlÙ'[:Ü,Ϩw‚YÑb*ZDÇ-l;‡“öÞø9&R)zË ,L ®Õ9×UI™Û¬Ó.”öƒñ³À Aš`z`ìkN {oüªÜb»maªŠòÖ¢œX·夘§”óŒj¾…¤„µq¥¿¿9·%Ü–ð¶€7%Ö“9˜ÒnNßÑÖ;ósÊ#<òÈ#üÂøÅ¿SþNü ób€1Õì~jsõÉnÜFŸg}  b’¨€E2@D =­P› U(]á“1dÆ3.ø ß±4úä®Ë¢ÑÇ*KØ:ûóAîC¢a-&~Æ_&~Ñã•ÆÎkª·¼µQ¾µMºNÉ')ëMŠØfP‚ªMtm jï„£½WK†³Bˆ”Å®è°øs‡ÝOµ²©k‡ZÙ˜^Mc˜3ú2áÉ?ì8û»5þe®R’ËŠÙ˜jX+HkÐâç‰ßŠ.y^-ùåõCMvÕáÎ>`jaØ4_î¾çWæ<~â%?Ñ;lqD†BR® {¯Iþ©"úÇ’êK…YĬƒõÔ£rLü:cXÎxQ]0*ïÑ…@ ®à¡4le/Ì(-“•ÛæÖ±-,·=ªÈ¢žÛüÞÿ7øžŸøá?“¸.oÄÄqãrµèpq×àòÛ7ÿhüÇ ÏŸ~ä÷¿ÿÀወ[yÌ­<âÖ8æ6:äfÒ£œtYþkí¿úXèÀÀƒv€NõD,¨cÐ_XEEÐLè<]qÜáÕ9^™ã9÷Ù!Û¼Ím~‚Wf{ãg°_õÓ [Šæ«-‡_ÞòòËŸxúúþy‡È5Ñûû·‡èâ!9óßS_ŽW^ °!©}òÏ'Ü>D^(+¢ÿû{)ƒ—÷¸½”éô€ûõ!÷óCÖë­áÏM [[Zƒ»i›Í¢Íö‡6ÛípðrÌ“ê½Æ‚Ãó;:ÍžFuDŽÃTŒ´f:ë2ydcŸìŸ=’kƒößïh6VœüjÉáóˆ«ñŠÔá~r;>çП2l,øÝð{þ¾ñO|º8ÆúnÇö³äó›.;5¤†¬‡=äÈáðdJïù’Ñùœß=ÿ3­æš?ßý&÷ç|÷Þß}7À-p£auÏ@õŒ‡«¤Õ]óD\ð;÷üMûLò#þ”þ~̾ä›å_# ÅóÎO<ï¼çY÷¹Q¼ÿŸíÕ1›ë3¾;A úK~.àøs ÿ…½7ë‘äʶ3¿slÜÍ|Žð22“SQźźÝj¡†~t÷»á¢[º÷6k Yd2™™1>›Û<ž~ð%=«Zñ'ˆ‡@ Ç—í½×j;XµP¶dk‹‡M¦1`×T<4sVõ”´éÑÔ&ʖȩªL·£}hé5ºG›Fé ¨ä!“­“(ÙÒê•aSØ É5“L¤µIZ‡yGSCPN5Ò‘Î60±=—1&m{T¹;#hyu ªFP#h4HZtGaÎ4¬ÏLœÒ%85põO{ÂÕcAËù«+F³¶{z6 A‰ELƳNS¾xyƒ¹oØ¿šÉ‚1™>¦’Xz,ô)xÁ¶ ©÷&ÕÆ¤Þ˜ÿ½áE…nqs|Judj[^»ïˆò!Ñf@t; ¹öXØS.í úÎÍiÉM›…5fiŽY˜c–—ebP&Ú—Ò–¤ŸOy8køid°ò ÝŒE7eÑÎXÔcÖU@\e€*}œ8³÷x3W”…E™Ú™M‘ZX/ œ“ÏMéW)½$Å®*¬ªÂ®+ìªÀ6 ¬A) ¼~Lìé§{‚tO¿ÙãOöxVLZù|X¿æ!;aÓ É-L­Ât ,·Àt ÚN5²)-›*³An7èG†]c¸Ý+A6sØxLÃ¥tL¬~Á¸YÐÓöè*E_¤4«Œ½¨Ð֌ӈ£ðíKéùóÙs÷Žy{G¿‰AZ†­çÄMŸ¨Ñ”Q9`õ8%ZÙd‘M™Ø¨Ba6{|U1ÒvKbÙg­&hMKSè”®Ef¹ÄÏvÔg_ôÉ6>UäÑ%6Žê§kÂIN8͘ͼѫ9Î(¬§jˆŠ(°/BêÜFë´°E·K´Ó†úZ£¾’ÔžNgX¨€X@" t(**rbZ-™°©„K'0Lðå¡z5RäS‡Mß+$'aÝLØ–CòÔAí$ê0æY7…_…F‰AuÈLó$Î Owñg!ÆÞd&SfÚ‚™L;1½£ÿhÙ/Ép)°tÈÕ„:Ó— }ñß ¯y˜žq÷â‚»IËéÐIÉŽ€+qRa&IÔ#¹é“\õ)WÖ!Ûîc) ÔgÐuŠÀ‹p é Æª¥¾²ˆÞ Ø0ä­ø”Tº\‹s*S'1}bË'1}rSR-õq‹sÞb„&»¹Á»ù˜}ï%6Ѝ ‰ª¨‰â>Iá76˜þhÇøbÇøó-ãÏwìÛ€m²«Nœv?ÅeøaF¯LñÚ£nÑëY+D£V‹1©0‡9½jÇyrÅErÍ‹äšY±`íÙ0`½ó6ûŒÝrÈ®»}Ôü0þÛŸEô§;ú“ˆJ³Ø7!û&¤Ítà„)î4Å5¬ @;jPGôBý.E¿dÞñ:¼ãõÉÁ#ïôOøÙxÍ{ý‘‡=ÙK(ës·˜³zP«PiÇÊ1i‘3e`lÉŒ¹ö–áë¿¢»:wgsîO¹;š³1Û³Wbœ”˜_–ìoö·.û[—zá¢Z°„yøÒÑ` ÀÕ({‚-’îÑ'.'Dw#ÊSí´¥wã[1UiRåUnS%.]cкݼ†¼Á>]Š©ÜsžÞÑÅÃè÷u€fœc[㣄Ùñ‚éqÂÐOñEBO$ø"A—ñÔ$1 â¹Á>²Y}ÖyÀêû>ûéÓ®$íZЭ$¬$æqƒ;oðÎjÜÓ†“:·¨ïL’w.ŽQö÷ z{Âã=¶_Bæ]IçH|'á̹dà¬0œ‚Jh¬7.×—C~¸šóãÕ9«f`-9ß18©i-Ê4¨-ÊÒyz ¸~7â¦Q>ŒÐtÅ´‰8Ö#潈á0ÁN¯À嘻E†R‡j´šÍü„ÍÉ–õ4fcDºÇNóAó¨¤O,;n¥†}öâG¬Äÿõ,üžyæ™gžùÕò«~÷ÇüÓø÷´=êܤ>7©^˜ˆãË/ñý˜ ·Åw÷TX”ʤ¤R&ùuŠ:;™§>åcÀ‚·IHg;TX‡Ÿ&X|fø-uØMJòIÅʬÐê–:³©âC5™‰ts´A…ååX^N9²žC§[4ƒ2åaô¯rA‹¢¢!?¤Š\øT²G+}0lðÄÁò$èŽ:²©âsGFÚôÈÊÞAøEÒŠî`{þ‹ð«Ð)1)Ñ}ç\Ã9ø_†xà…XðZ\òšKfÚ’ÆÒ©MƒÚ2ÈpiÑh>Û4h ¦bÃh°eðjÃ;oÍwA‹ØìñAøÉ”bO£ 6û1ëÛ ëï'¤·þ!Ê >”在N{לß0îiK³´ˆ®ð#¬‹iíq]aW%.h,ÖÒhL ý¬ÂüMŠõ›ç‹íÈ!²FìmÉ{KÐ)ƒ¢q)J‡"w)›¶ÐhI#4„ÞhËìå–¿»âÅÿrÉB›rßÍ‘]M¡tœ6ÃiS¼.ů2ü,GÔ …¨BSh^ƒîþzÚŽóø’ˆÿÌ×ñ_x‘\óÇâkþX|ÍOëÏùSñ{ê­ASÔ®:X§%Áë=“× ¦¯ÉRý¦¥¹5Hï|ÐÎ4£¶cpºÁ”¦MaYä–FΚž¹cÜ[ÓË#îî6ÿê°üÆáìË%ó¯>ðõ«üãWïéy9†Þ`ê5F× Ë¤BÈ4E–û¨­Füðø4çöî‚öQÒîm#põ KZø¢c b¦,¸g‡Û¥˜] -”Òfgöyô¦ô‚sjzè–kC:¯‡¯-y1yäëñ_ø_'ÿ̰¿aglí­²(Fìö.Ù4ï3ôŸ̾ø™/OþÊ¿}õ¿ÿìgþ¹þ·èuMÜôx_¿"Â/6=îÄ1e®³_xìßyTVt«Žµ4‰´>wZÃqØÑ}ÅüÕ_¿ºfržóÃð ~~Ž>,i…ãg8§9N•c—9Ëÿ·‡ÔzÔ‹ñ¶…wxÀ€ |ÀT–Å®ðH[ž.[¶ý1òË_ÄLOXaA]™T©Eµ·)#å)8îÀTX3 ì˜i{β{ré2‚kÈÙ9¦Ý0&\Œ–¼¾gn<2.6Œ‹ £bƒ!kV³õIÈJ Y”!ïÿ¾åÅï® ç{ZM;”Ô°µ‚SyË@®0dAYhl¶W?øþ_ç|óÍ_qÉÉçw|yrɾ¸¤ó%¹cRعmòîí §:£|8ç1=ÃÓú‰OŒ'>ï-8›­ z1ý£„ qËŒNkéd‹’•.¹q¶Ü81×nÁÑðdÌ@7(µ{m@,nDŸHs#"tѰâ?ý½®¼gžyæ™gžùæW+üòØ%|»68ìàÁ¨j´®Å–Q`Û9ª„¦Ò „¶Ðèö:]f *óÐb’:Øò`¾á*„Ö"eƒ&èeĘ*"í ÿñ~ס‹[îÑõÝèÐŒå*Tº@¡ú #opË¥ö(]£ô, á¬mŠÈFaöj°(±A@¥»´–‹r=p-0@ÚÃNu‡j;P v¤hÓç,§6*jQR×P§6R·Ð¥Ä”¶(AïðüŠžßЧEÐ1"e–cž˜òDLŸ==J,R¼½BóãïiÒÙ:„:ÒÑÑCIÒÉÚ>ÅÚ£ZØTšI§kä†ËVÒì ¢ê`ÌõCª±‰]—Xu]—¸NŠTà(jC§6ʽ 3–4h1hÅÁHZÐ`ÔxIŽaÔô?Ë0Ï[º™F¸µA•CS6tYNÞ)ÖÂç†9¡øœ¨àw žJñIaܦB¸¢ßìhrAQëì÷ە˦ê±)6åu9ÆozfŒ?Hð½„à|Ëà|ýK%‰Ñ5èmƒ^74JÇq3,Y¢jA[Ê&W.™rдÍ^:{N;fΦ‚?  B’ § fãùšéé×,ÈN!:hШ¤A% jaÉ€VÓ°‚‘µ&µ\rÃ"×LrLº¶! vO}žÞÏp‚( ér ÏL8šÝãöR*ÍdQLa­ØFžvSâØ£I@¸-Èá6ÈA‹  Ð,öZ•6f!'ìÜ|àÒéhE‡ù¢Ây‘ã_Ä[¦å#çåÛ2 +rM§É ¼ƒ‡E€¼n0VÓ&æÄ¯©ó–$kIãŽ$÷Ø—͉†mçŒfKN/¶ì=½ïy¹aD~¢†ªpÐ4E¯Ÿ"N ÜxKäé"…"µQR"z âµ!hï ê½…z”ˆEÇ£6¥/ŽpºÑVgÑõÉ•ŽÖUFDÛÓi„Fãê4ƒÒôÙ‰1›SÞ§Ÿp«.Xµs’vB«BdSP'ek%©Ò°r #óÐòSÖäŸfb#‡:¦!p— ý§‚Á8!ª\ÿXUc ‡úíXÒÌ5”0‘kÜàs3C“m‘Sn RYÓÂ^è°¨…ÉBLi…F"|¬2çÇÛW|X½â.¹`Ùœ°Ñ3"O2^‘ŸY(OPÚ&¥ePYubÐtÇÌ :jÛ¡h\ÒÈ'¶ D^¡²•)ÊZÑ™Ê2èLƒFšÔª‡ ÄžNÞÑ:yØgwÔ!^XTɾí(°ÿA"ý–lgîœgžyæ™gžùò«~TÀžƒ)È`rØK9˜`´,P¾  ªµM¾öHÖ=ê·6õƒKÐØ^K0k?]~ñDÓ³Ù˱èËe¦Ó-[ÚUC·nÑd…—eôµœþ0§o¦ôÝ„ž–Ò³Ü^ÎÆ Ù86Æ€ !ŽŸáexz†æìý€%VÉ”åã¿|8ª1Ù–FçIThäT%"/0')^”–}‘>Œê´†N;ÒIß›ÄïLbLâ8Dš)ºnaIp(‘TôHèÒ 6:5u0pÁ Ç&Å£à``Q`S`‘IŸGã‹ KV<­gÜ.N¹[œ²]Œ©¥NæÕ~…é×  :â¸Ãïï1ÊŠq»bÜ®µ+zFL{&iÎ4¶Á€¥“{4¯4|+â|ö¦Öik¶Ñijr!Èï ¸ƒâNÐîÕ½_§¡Üº‘ ÉÃé „lÑM….k¤T8/2\+Ãd¸Ÿç賚úÈàÑ:fµŸ¯L¢‹èÑ$,Xº&oG'c‡ûñ9çæÝ!èZ»æ\¿>¼Œ0J;˜|”µÅýjïjÖ?{„7[®¬×\Ù¬­a)FÆšsûšòŠsyu”£*t§B—‰í㌠z"fèoHRŸ²¶¨–Ñ}HÕ˜TÝÇR&ŽQ`ÎZG§³{^†ï13´O+¤ Ú™Éô¬Æ;ul’Øf •:T§È…Í^ž…½ì±µÔ±þÄï¼?ql]ó˜†<.Cžô¤°Y?ê¼sL^YÜ=¾ ÷]2Ï¡ïG|>û¡:„R¬W¶Ëû¥Ëæ¡ÏþÞ¢y(( árÓ;¢7ÿŒžž²‘C6rÀF YY¢ã€ò·!ø=ô/ušyŸd>du<᾿E5Ši}Ï?Ô ÇÍë‹««ý,a^®˜+æ_¯(6×#®‡\=ŽP2@™>­gÓm¦]X;ŽôGªÎ`¿ Ø?D!û‡>Ná£Ï78Û‡)ËÛšÅÉò6¤õ@×è§ ú' ª4¥A»Òi ƒ*ÑYÉ>zrDv—Ñ? ˆ§#’™À›n9›\’õ\²Â#+²Ü%Šú¼‹^R?Q‡rÍê#ïKÉÜ-ðÎ;¢Ç€Ý£GôP?Ôž 3ušÛ!Ï[|‘қĘY‚ë¥Fºê£áÓ‰Š>=4aàë)¾žàë ºª¸ÞL¸É'lÔ—#v¯®NMŒqŸÌ?[Ñ:µ¦Q GgÈõlÆö“#êzFÝJá‘ÏI.÷\Þïpv+ìh‰½[a)ÊëýRô<Œi‰1«0¦%3÷‰Ôï³=c}Z!:E'[šª‚·í]ŠÐjÚÇæYø=óÌ3Ï<ó«å×+üj æ°fp}ùó=KFª:hö:å½Mví_…tW5Ý}M·¯Q]ím­™²âøkÊÍ’)K19 ]>Z4y*º75Z‘ãé1ÃaÂì"fjDLå‚™½`Ú.¶[Þé¯x§¿æöŠèÓóbŽ´GŽÂ'ŽNŸXè3Þ'¯iŸ4vú€ã£ðÓi8ìoý"ü}upÌSÈÄ6Áeæ#6âE‹hZ„Ý!í)»C–™ÙaÚ¡µ#œî?ÙÑÏ÷D2$’–bÂ~? ¼®¨~,©ÞToJÚ‰Iöù)÷_œó]¨ñÚ½ækõGбZ¡ PæAøuŠÊæn9cýÎåí7sôŸJâɘd:"™†ˆ‰bl¯øÜ}Ã×Þùƒû íH,r×"—&±Ó£7Žö6DGO¬—c—G,îgì/ì×}ºVÒµm+Ñ0?m|¾çL¿ç3ÿ=zX¡}}²ð˜ù5ž'À7I,ŸZVHõq‡Suì XŠ &,Å„RZ˜zÅÄ_p2¾%q,~ZΑWs}ή³~ÒÉ«cg¸?KÂ϶Ÿn g;Î>»d·°^ŒY­&l–#²òNQÞ+š»’rÞ°î»\ÏÂÕ«ÃKáNÓ':îQø>êE½4n@â XyîÙu̺{æÝ-²íøa÷‚ïž^’÷ŠëoMLgÃÉÉ{~ò3¿?ù™4vùæÍ(õËÝJt–Gë:ÔA;KË ´-Gš5\¯%Ñû!Û†ÜþxÎÙÙF§Î_.9;}Ïû”w6©UÈv£è<…>j0OKÌO T)¨V6µy5®žt–qŸôîˆ{WàŒF8¿Óp~'p'[ÂI®ÙÕ!4!U­³{Û£z|ÅÃÕœoú6‰ã;=*ÇDT-«¤O’ñ˜˜e…ÞZ‰ÞYXE¯Œðí=þÑ÷8YëÕxç%ÇQÎÃýEmˆª9µ™ÙQ‹Ž´îðÝ”þ‹šÑÿrOwŸ‘¾­X½ÕHßö©ÖŠ10F1FHê1¬ݪ‘fGbÛ¤¶M2°an³{iry’ޏ÷_" …’ÐI‚Èí±žÙÔj{H›è,ºŠ¸¨¹ûPce1Úâmù„¶|@KST8…`ÁmÔçìÕçÝgîGÓ'vþˆÞq‚Ù•OÑ>u¨EM{[P-RDY¡=4ðÅßá¾{æ™gžy晿¿^áwh‘!»£­1ª£¨0³w£¯ º^G)4ªGI³”tyß®L8 † m\cL÷ØÇÞ<ÃÖÒ¢”•ÔÑt“ú®¢±+jUb^œàmœe‚7Ø21ï87o¸0¯™;˜¢¤‚›!CmÃÀز%Ðv}˜àN3ìyŽ6xa‚çÆøÚtH¼m¬àD *nY 9]–"ê;гˆY1W{jà‡¼ÆÓICÃWh–Ð<„°Ñ…ÄíGqWÒgO†C¼1 — IDAT…‰B¨O¥Ø”誥…°ÙÓg#†GQ§ÅN„ì´ð ”T@ÕvëEso¢Ë³©ÐTƒ%+L£ÄôK,³Äì—XA«§ôõˆ¡¾&Ð"åŒFèìeŸ…˜2ð·XþŸ˜!òÒ%«\²ÒE”.åJ¢… }À‚®2è`a@åbÔGOq¼w”bôJZyØ9ê¤Dê†Sa鎓áÖ)Q’%.ëdÂc:§{›À|Áw%ÕÜ!–¸ ’z€EIOÄŒÄݨY7#â¶O©lÊÄ"]4w!Íû–ö Û l0mdL§Â3RÞ–i¸ tMvZ¦ÖH%$ZÛb¶%žHɹk©ï4’7É“‹¦µèZ‹©×8~ŽÙ/Ñz5Êmiµ>Ž"[®Â Ò2¨,È𤷸äXª<%{á³#îÅ1­Òˆ –ÊñÚF+ð[»uÐ;®öH¢I9€ímÑã¢÷û,ñSæG·¨NE!yg³J'T©‚õXÇGˆ$`2.Ø›gŸ’K Cºhfƒ°;RÝ#®ÚA{¯cj5f¿Â J¦rA›ÕTˆtá°YLQ…Ä0-tÃÂ0-l£#Ì·Õ– µèKÛ.pdm~Û˜ûZÂnL7èh¼šÎh¨©±ì å ½ÅÕsJ§¡¾ÓØÅËŸz¤—‡åäá¡4ÿ`tc,OÀ\ƒ¹# æÉ@§5}âzÄÃ.Á´+L£Â0+L³"×\R+¤rº~ƒ*¯QyC7°5¨ê¨oÝ>G›¡ÍfhõŽÑÃÊrÆå­i ˆðôËJÐÝúj]Ñ íªƒ@&°»¿Ó}÷Ì3Ï<óÌ3~½ÂÏ`öJFgkFg+†gk¼ñž|s¨½0i5Pz3Œ0&5ÕÒ Z” “jaŸúlÇ„ÐÉ7=4ÕÐZÓ®™YOŒÝŽö¬¥-Ú^ƒÚ4hnC“¶,¿ÑÉߺ¸3“ñL¢fö¤f¨m9Óîh¥Ž¥•´‘N·ÔxZÍyXžíB6ÝæB£7Øa ¦¯LΞ˜ºO`Àb2cQÏXØ3vãÕ»’J«¨2¶Ó諜£nÉëîŽOšwG¸g>¸çxð€´[¶yÈæ*d{òhÍQ¡F<†§x~œòdN( Û(qdx¤x$‡ˆƒä¾Ïæ~Dú ‘=Ö»cµ¦wx®4œ4ã4¹ã$¹å$¾ÁñržäŒ'1ãIΈÚv’jëìÜ]Æ.°M?:¤fnu¸µaÝB# 5áÞË„B’ô|®x!jö¢æ´¼^ðatÁv8¦nÚuG4ÉPêJKÔV°’cÞèŸÓZ gJ£4ÒÌ![;dºCQXT‰E[”©Å~á³¾ ‰nê‡ ½ÞÑŸ¥³”þQJ8ØaʘÇÜã_¾ÿ”·?„¬´+mÈR²ÖBvsíÜau²œÏ³fÒ¬×+‚&Æ“9¶^a5šÞ’g6Ëû!ë‡ò~Nv£sûó€û!IÔ4Ú!¶ÀM-B!©„†[cO2zbOè¯iŽ2*»¹+0Œ90Hóú¯â­FU£“ʠƤòMªÞá=ž²ìM1û5§a¦ FÔ`ìçrÛã©À—=Ž'9ž”DÎ1ív—ˆN±×mz¯ þáø:Õá»ÛÈá›yÍ·9%Åù¥ã·>Oc‹ÉÞB™°ßÛܽ ’#¢I;dSXt'%ƒÑ’Âti}I»Ñ(ÿÕÁn éŽ`þïü®a]x¬>Vªz佒ݺ¤û¦$þÐ=Ò Oø4Ië(4”/á'b>ºçxøÀ|tOkÜûCî!÷툶ÕLRãƒI†7/á“^)qÓ#]ùˆˆ°l¢1ëhDæx¨W Ÿµ˜Ó 3(0­Ë(Qš —1¤B‘ S~4â¿äP’(y0µªÄá>4=è|>ÍV§Jl¸ÆÐNÖøÓ”ñlÉh¶"Î|àçŠô­Ä¨aì…;†GÚQÌZ䬳œõ² Ï:üÁÿ¼Ãÿ4'xesr|Ëp¾Æîç(!9~÷¼ÝÁÛDòð+{¼6¡Upeÿ=n»gžyæ™gžù›ðë~60sP1z¹äågïyùé{‚ášÛ#n?ŒØ_ŽY=z˜¯ÖëçU…õ*!]y¤KµÔ¨—6…ï³êd¢Ïz;¥×Æôû[vô¦[Ðut¾¢»PT ÁþVc§³ùÑ`•¸L~crþ¹¤Ca÷+FúŽÖ¸ÅÒKÚ†ûý)w7§<¾=æþçS*Û„±B]@o1.y1øÀÅà’ ÷H¸œ¼äƒý}Z#ަ¤:d©¢}¹Ó詜ãnÁëö=¿m~FF°½‘Üõ¹º{EzåR^™”+ó£ð«Ñë «;ˆ)Ÿ„‰¤Ã¢B(ŸÝ0j¶u JÐé:‰ÑçI̸–/~_‡‘ЃMµª([ ÆÚ è‹=þ%_ùßò•ÿ-M©ñãê ~X~ÁbyÄZHNBOOy{’bÍJZGи’VÈÂï0\êq0N‰7ÍOÉw}VßNÉKƒFÔÔÐjP‡ª4Ü$ç$¹ç«ø;~ÿßù^ü–ï…bˈ´îSÝØ¤7›› 㮡ÈmÊìÛGìuˆíCGk@ªÁ½…O‚Äò¹/Ø‹>ÄK„ßÍv'!»y@­Ùtk…J:Tõ1­¾Ö ×9‘6¬Œ1­¥±t'üX}AWHêZÿ¥ÚN³Ðh—íJ§ÜJн$%U\cz aoÍÑË Ç¿]L÷W—>W—ŸRÜ}J&lriÿrn~ë²þ*d • f%âYAPÄ8EM«8v‰I®µT™Îþ¦Gü­Ãþ;›ø½E¼5ˆ·éÞ¡ƒ¦&Áø(ü @WwPº[áL2z^Ä`jÑ •zQ¡•íޠܹ¤[̓K³·hI—j´©¤ÝT£j´ÓC^æ~bLk”!I=‡&µ¨—&̓Iý`" é—ÈIÉÜÎQ±F´:f·ºàû+ _O˜Œ˜¼|àåä¢+YÜöXÜöøé¯¶k—IF¥LÒî›™µ&˜‚8rPÉ€ýå17R¡Í-Ä™8+œ.)JŸlá“.<òml­b0Ùq1ûÀÅoߣ›â¼Û_ï$û)ù¾¢ÝTd—FÞRŸÚT§õ©CsjA"QJ zŽa°ãÕì=_;嫣o‰¶=¾5~ƒlÃ6;¦£OVœrÇùë[zg »0 ô‰‚€¸éQ­lªŸ-ª76Õ{‹ÂqÉ]‡Üu`$Ðæ Ö´Ä 2;A3”d¡%)&&&‡Ùûè¿–Ê/O”øxPN ž‚ÒŸv§SÆ‚&Ö)‡Á«½ÏSæòW£wlò>jQ‘þ,YþÑA×Z¦¿¹åâø–—/ïÐÙó!30–:¹mPjÞ@1~‘3ý7[&_IfÞãç(*®á>‡7|³éAÏ߃#óð2cãü}î»gžyæ™gžùð«~šÛbçôF1“ Î_]ñÙç?2ì-h^°Y ª?÷Ø|¯T-ƸÆr[‚O:*Ú±A9u`­Q)ƒZwˆ¥BÄŠQ·Ä b$Ö µ-='BL@ÌB*Ò…ÎÍ?yì/]¢·&ťŦ1Ilƒz&‘%¸mƨ]cê9A³¦XÛÜ\Ÿóôãßÿùwhg5áxCx¶að‡ Çá-꟩Ÿø\ýD‡@ ZêP'Æ'™X¨È ¹3)\0p¨¨=ÇÝíOÉkYSÞ8¬~žQ<tOŠn«èŠÊæÐ+:ÈzÙàÈ%†¬‘"¨c¼"Ç,ZÊÆ¢4]"3äÉ:âÖ8eÄ¥’]5ªÆ¤ÂTÊÐ tJ£µÁ— §Î-_9ßò8ÿ‘jmÁ£`½óÓEœDÉà°›fH„ÕÑ«wø]DOEôØaÊK+°dŽ- ´¨¥½ÕÉ¿s‰þïµcÂ\!ŽA;V芃ñÏ^!ö5½:f^<ðYò3Øþ‰Àˆ¨¥ÍFŽù _£JòÁ¡|ïÂO ~•Iº\ÒeòÐñS”ùñ49ÈV"c…|(iu•öB…€Dö1Þ…t€XÐUŠƒ( µ€L "qˆ+°Cp/ÀUÈJ!³™)d¦O nù¥TÒÐQÐRÐQàx1^ÍøôÓß<Ð?N¸ŒG,ߌ¸ü0âîáÁX…I‡P-Ec‘yŠäX5`‹†qµ¡)L̼ÆÒ*tZ¤T(MP¤6›‡Ç7ÿóèC×µtª¥ëÚCcç¿tü †Bè‡çF… Ãpjl'ÇÆô10¨©üÆeûG²rØ_É®\ÔVÐm%ÝVþ~À‹Ã)ËŽXôÁV”¡I¤zÄY@¼Hnâ÷““³á=G¯î™¼º'y°Y|7åisÌbqÄØYòõIËÙÅ Ÿüö½MI«Oؾ=æÛ7¯yÿà Aƒ FÒ ¤¢ Tà¢ÑïÈö&ùÊg‘ ÿûŽ` á´&üÇƦ¥Íu²wõ eJzþžãá-Ÿõ=Ö¸ ÝhD›1÷kƒî)¤|ÓPÞÖˆ7 \7𙉊 h ”a^JxÀüqÂÉüŽßÌàßü'Vë1yéñŸcmM0MÂOJŽ¿^òú÷ï ηÜrÂá‘é‘'é®Gvã“ýÐ#ûÖ§;•´g] QG}Ò`‡¾Ó3wtRRv&ekQuUeRw&4Ñ-agt]D×%tí°9ü›têã©9J*ÐL0zt‰¤»Õhn ºI»5°EÉ(Øpvzƒ½ Ø<8<¼оczƒãGNK>›ÿŒiïiîöBœiJœ %œÅÌ^*柵ôeŒ'c„l);‹&VúÍûí#„c:{H×ïÓ½¢\þdýϹàžyæ™gžyæÿ~µÂïlrÅ?þoÿ'ºÑàz)íZãý7Ÿð®½àú{ûKŸ$ªQÝ’jc“}°Áõ©‹¼ôÉ º´ ˜nyÈärrœ^†«Rô]MüØçº¸ gí ÆýqD0ÚáZ ͼ‚ß6H]‘/4ÜOLòOFÜÌ.0L—ÝÎa»ý¯uµ<ãr9fÛy´G÷¨dn9vï™Ë[ÂjKš\¥/Y§S eskŸpëœpÙ[ƒBè´¦NËÚ:ãg³Ä0,öú„EpóŽWògü^̪ßg­û¬sŸõªGw\_ޱÜ/É2ŸÁÙÿÇÞ›ôH–fgzÏ÷Ýy°yò)|Š!#‡ÊJ‡jv£·(i!@ÿÿ÷܉¤ -q%@A²›C«²*2"2ÂÃÃ'›Í®™Ýyú´°` -[Pwþ/ÎÆ¾p³k¯sÞ³A”èý­_"QL§G00‘D›og¼ÓŸ27FdºË®.A òÚdW{Xí‚~kÉQk‚ÕÊY®ûL§û/ÓÓéµ#¨’\×É:z?ç }à+ùKÌFÎÓô=óþ€yoÀ\° ]ŠuE’ç§TuŒ6¨‘}1h ‚´g£=+h•kŽ[7`Ñ)1:F§@£B‹?)©hV[,-fŽø»Wˆó!eÑïãö#¾éýœ³Öª“OwÆÚ’òTgµê²^vY¯z¬–]TRBšþFM/d0 v ;p%¡îê¡æQ5$ö æØÃ¥ ‚ºÍZvì6Û~ôOPgo˜Âê 6)Üf´ü~cKßßÑ;ØaJÄ¡BœƒX@”XÌi0§Éœ¥Û`Û¯oLªŸµð݈í vt:_W˜'keˆ_„øå¿ñ>W¸‡àZ 7„}ÆQ=Æ6bi³¬;L«!÷Û®7—ë&¶‘ñôè¿sE>Ô˜o;Ìw{I t{ßk C„92ËÑËCjj$9& ÎoƇÿõPˆéäø£˜ÃlBiÄ}›à£Ïú£OúD¹ Žt8‘”=Ôµ²¢ÊIå‘aSJ Èj‹mÒF®kò±‰ˆWÐ}²¤aîð¬ŽcÿˆºÐ¨ªŠÝ“ÏFdrˆ}éá‹ ¾HðÙâȔЫ‰\IèšD®ƒoq£5^¼À‰gȾ…êø¨Àgõ/>YîçåHCû½œšŠ¥gs5íRþý)ºLù¶ï$ñ.DF3̬ÄìV˜?)Ñ¿®É;y×%ï¸ä•±µ‚ý­@6e‹«ðsž–>Û°Éëø%÷Æ1IÏ¡t4Ö÷î B«h²!Ä#ÁÁ"c¨ÏÐ;S´³=WHærÀ\0ŸX,úxç1ÃbÆ¡}ÏAïž82YÌÛÌçmâym ¥1HhþÛ”úEÆjž’E‘¶t7 º[½€v/¥:ZR>P} :°ªz¬â«U—•Ö#Ü6xøx‚®•Ä—íÌáæÕ‹ñb3o³©?_ul;MÂÜ¥¨4 ¡Q®Yا|oZ„zŸ[ý¿ákO›ßóãÃáZò}zÈ»ùíˆp 7×}âÄçîî)Ýó-ÏVt>[Òv×hZÅfÒaû¦Ãæ»Á}‡…ÞÛï…é=Ré¢*AV™ì*«js~vÃñù˜ó³œŸÝòq}ÆwÓ/·‚ÕmÕ”º¤èh¤¶A»s =`53NïyHy­½äµþ’L·ØF.Å´BM ÊiJ$È—5⥱OoXd]íEI«½ÂºLöA&NŒë$8N²ß=,rŒ¢À,rêµ$½w™Üp}¨Ý+:¬ø¦{‹ßÚ‘ëyÇ ?3IwîŸòáîu/îÛTëroÈ‚ä!-oÂÅá=/ŸÝñùÓ{èjLÍSk¿ŸX8-CÓÛÐò· ×Ú9×öeSg;lA& ã·5Ê`³…rå–öé„˧c^<ðü韹cßeÜ)fyŸ7<å5—$x¬ò6›­Iµi±½=À-ôNŒÑ‰hÿ8fÔØrN%3’)£t†9T#0L0C…meØz‚c$ĶÅ*ï0FÜEOø>¥Úiœê8;¹ç´ñí¬àõà ^?#{è,:Ÿv¸jz$ÌÐÒOƉ¢B’cã`P`‘!Qxn„;Jp¬w ,®­³ÙlDTvÁu ãÀƒ:1)|áYT²Ü ¨lre퟾7~›¸E¾6Ù‰&¾â;[:§+'[4½¢rtœcnŠ3’Ú"è8/²C;RôÄ–‘H‰%m03%sÃdfºTF“N¾¥W¬é zù„0ë°N]Ö—`:$3*ORHô§UZ±œÙÓóo3Ä&cµ 2I”ïB`Vø‡ÞQ…3PDu“°Pä¿5~Ð ¨Ú¼ß=eW4ø¸;#Ímæñ€™1$é9¨¬Û„[é6 ¶Ÿr„K,ršÚŽ^7 sÐsÈ7“Ïx=y XNzxiÄКqÑ¿âYõ–ÕÆC»:$~S0y­c—ÃÞ„³Á”‹Ï¦¼Óáêu›,iW‡Ã-/Ÿnyùô޳³E÷ž¼Ó"ï4ÉÚm®¢g\­ŸÂÃS­Ãn×àþÃ1Qà1¾:"ÛJ‚‰C0qÉ3›ªTÌÂCòe‹ùÃ)Ò«ØD&0ˆ[&U®³€úzC< X|»Ã¸ð0Ï]Œ Cº ­{§·œ´ï|vÇ]½â{ïD“-Çäðhüyä‘GùAó6~7ü?1™ò?û)ã7G\ýó3^¿½@ewÔÙ-uºEÕ ŠµMQôHæâÝÕ’¨&Ш–Àr2ZŒÜ1‡ý;’Ìe±|Ódò‡û{SIÈ‘sÑ.ÑŽj¬[il•DH“Dö¸Ñz\—‚ÉÆdòÎdòM&gR©ÏúÔç{ãg¤{ãç<ðL¾#L}Áë‡ ^]ŬQ*Tµ5j‰’eJ¤ Ë"4ûܸZÈ×­oùQã—\ªïùºþ%¿*ÎЖŸ±¹Žù iì¶¢¤Ïý] i4é=Ûqš^sê^óääͨ¸™žsûúŒÛÿtÎì͈ZJ*)©¥F-yi¢,¡(9þfL»àkù+þ°û¼Z‰˜HÖ7]Þ½N=TmI^èd¶ÖÉ9h>prx‡–+féo’…»#ÔfDqSQ¼ÎIߤÈÛ±– TßF)‰Þ­ÐÛíË­žãÑ[bGSìp‰±I±U‚­RÖ7=^%_rýæœï^}I˜üñ9îÞòãúg|ÞþŽ´c‘ÈýÞ[¤<ÚïÔ;X7:|4.À*A$í`»¦åßpyô¿ÿòÿî'¯:WîWÎ9WÎ9™i23†rÎPÌP¹Äµ#ʆɪ7€C K`ž.ÕÞø­v°^ÀjA»zÏåá[~·ñ–Ÿ^~O×Ð …–+ô¼æC}CL¢\î8g6o°ùY‹í@ü\b/2†0ft4¦óõŽƒ­yÞót÷ËÝ5—á5RW ïWóDim{6‰n{6˰Ãt3ânó„ëùSœ<å…uÅÓã{þðòŸðãÿ-dö€q©AÒ¤„¢€¤@Ô2Ì‘iŽVäÿ¯ŽßþŒIŒ Æ$§íŒ¬)£áŒQ=%Øé%ùì’™[B 8ý¹–ubRêµn‘IY8Ô•ŽR:µÔQ† «mòÄb·j!2ÅA翳£Û[rÚý@!LnÒsî“cn“36uÑ-%Â*ñ=!8• —rɘp-L,JÑd+:´Õ–#µæ sNÔ”ñ{úõÕw.«×C²Ž‰þyŽ~™£žSm+Vo3ÿUêïuêµ2¨”¤V!Z3Åò+ü¯j:?©i|ë)¨™A>s3…ªÅþQ:e›Ý®ÁõîMU(!öïaC£êkÈvɺÝ!vmfzŸ}ôXÒgÁH›qÞùȹ}ÃÅð†Ã‹)½Ÿ-Q ÁbÚGþ¬Æ1ÃÞŒËó+¾®¾å~Ó&¾*˜þ£Nõ· ´FÄà¯yùâ-¿û‡o‘Ô8Þ ²ä“»eâq8¼å«Ï¶ü»ß½åÇ_¾'qlÇ&u,bÛ¡½Z#ÆŠÀks­_nÄkÉÕ²®QEIÔyA—%Ì‹¥¼7 ¡Q‡‚ZBݨ2' &Ä“)ËBd5âÇCÄnÚÑò{Î?pÜžðÜ™ò{öÏø>ŒÐ7MvÛ#®7%QÁ£ñ{ä‘GyäÍÖøÍ¦>ÿéïŽY®ú¼}ÓâþƒN0ÍÉâÙ(‘#­ÑÂôÁ±u+ıïpì-qí)Ÿ¨öˆ—US#L’Ò!þ>C²tI›|g+ÅlÈÍÝ9rPÓªvªñe¢áîðݾ³ÃÖb²ºMPv µI£6u܄ԅ̄B&‹Ý€›à Ý*I+›±:bç5Pà³Åïíð›[|{‡M‰¸P ê‘F80 ‹è­Åzc0ÖÚøÚt­ Ð,®Þ ¸½?b³éRUÊ•Ô] Õ‘ˆ®F|h³r;èëœò[ YVL~=dvÝ"˜ëÄiµ?VÜ:á êU«–9D›ÜäAuygœá¹WÍg<ôÙîZT±FÜö;ǼVŸ#BÅPŸa‹ [¦ØNÆF5¸_tYM%éýf¨I ‘D DOâù[†æ–'ly’m©uRh”¦F)5DÙÖ¦ØY¬w=Œ,ìb¬*Ƭ6Ë7ó!S­KpÒ„äÌ&š ÂÔˆ¥ÃNóÙj 6´XwÚD.yn€¬Á– [ûÔÁTɓݖ·w1–UbmjÖ£.ÑÈÀôS„SQb°¢K¢²Üæ>9fµêÞÛpÏ>ó¢<´›!íÞ”vxMgwÍÙgsŸlÐzKw@j7Ñ …´Z©ØT>N•pVÞPTö õP£¾Ð¨+ ¶ ¿ÌÑO ò¶ÍÔ:Ä®Kt ÊÔ)< W$8"Á ŽL´³ºÏ,0«ÌÓ‘òè8+¾êü+Éif»M“×Ùˆâíä%“íQÙ@³­f@Ó\Ò4—´Ü%ÝmèžoÐÚhS`b’ÓeÍ~FtUPb°VJ¥“*› –¢KåÖDG-¼/J.ê ENt0$RŠðÆ"‰|”.©uÐ$JS¨@¢6*Šj]ƒ¬@Ôľ$hy8í>²U‚'HlÓÎéÙ Z^€mÅ8ÿ*=ÂWF­X×C"Õa¬XpÀŽ6…°@êèºÂÖ |-fÐ]RX˜Ž3á« IDATIIKmÉ›âIè׈F…1òhƒ| “Ù>ú %4”mR7©´õ¬Éæ× ªÂÀ)RtwNëxC6·H&éz_M»Ài¥¸­§•¢Yõ>/E ÐÀðs¼^ˆç†x„Xa [[7MÊÔÂô*,·Äörd»fwìQïÀ©#zÎ÷Eˆº€]·ÁX?`V{…Cœ)Ê8"- ·ÛGئŽt$·á A÷ˆê›62³ˆ_™}vÎû“Ñj$ñÌ&IlâØáarB®LZÇÏô·T¹¶¯” Q‚Q&XE„YDXEDfÚ!ë|@ðq@éhxZˆëEx÷lƒL1ƒ)F0CF‚~A[¬¯»±ÉÒq¹µ›4œÂè&µ¾áHÇï· Wæüyæ=òÈ#<òÈ.?Xãw{ÓãÿßE>ãéˆñTg·Ú"ÐýýBG»ì`<ñè9}}KÏXÐ׳ßìŸM§‡¤s‡²¥“„Û¬‰¬ re±«}ÒÊ¢.5ÒÜf¶RßIÖN”U6im‘Ö6R«9|¤=æ cJž°ÁdJAko R"A¸õ[GäšÉR P&ûégB ¯8tï9rï9rè¨5â„.]È—×ñ!×Ñ׿<`• ™˜M*ó’•Ùçƒù’ÅÅäÚe¶p)KÑÓg íY…|–¡µ8uhw½6­ƒŒ“fÈÚ5_fWìj­Ö`«7Ùˆ»°Áö®Åî¶IxפÞVèY„–EèyDR9,Å K³Kò™…ݨ(.L’‡m«ÁJï°V²ËJtYÒãÎ=fÕë’`¡\¦8û$ÎÈfƒâj©‘•“Óã3¡f»Âð;å3g@ŠÍ®h2 ™Þ¾ñöwÁZ@ó·µ_îxZ>ð´|ËÓòWØ'ú…FÑore´‘$ )R*ªRCÖgõGó1¥0(:¥¡Sj$…ÃbÔe1ê³ð{LŠ!™°ÙšMæZŸ;çhßéKzbI%ãjćò‚«ø’å%U­áqàMxê½Cnù½Å|Öãþþˆí¬ÅÃöˆ‡íÛ´‰aU –œ¼çìð='‡©ŽLÊ#ƒ²o°=J l2Ìé°&V±òˆ”ÇFµXªÓj„S'8u‚©%è1ŽHx>˜r¶\3Ž*&‘ÅøM›$•  ”¡À(]A)Q•Øœ–| 5*öJ 2C±v|*çˆ­ÓÆæ§îYDë,Ài$4õ€–¾¡©¢ (ºE‡ûü AÑa+šli²-24_M6u‡Þ¡p Je[O˜©!oƒ—¸e„ßÜ©÷-²ÜÀòVÿz ïèw¡×~1phÜsÒØñ…vÍOÓb¦úŒc1BiŠp×d{׿þ×'<üú ÉL âÝ'…Ô ü²CqÑ!ja>IÉ{qÏa×òYémfbÈ”O·ýÔˆ÷ˆe¿CìØ¨nÍþJ¸¡+Åvg‘-=ÆÓ>Vñ„þxÍ‘ 8nŸ­ÑcuÈ„å€8ðIî=â·¼.ØŸ;ð@œ*zúŽçú˜ŸêßóúÏÚ-&Ý#ÆÝCnŒCriîÓ1Õ>)´ÅŽƒ|ÆY}ÃA1ÓùÀ ?Ô)tµÖæWÚ—äÚWÜè'\çle“¹ÑçÞ>¢#×<7œrKФ`xW<ãÛäÇ|»û1m}ÍÞ¯¸ôßñ•÷-•¦ñêö+^;ä»W_qw÷„LÙ¤XdÊÂtsú‡ žyÅ7_üŒ—/ÍØ:bb2¶™‰). mVtyPGªÍ¼Ô¢TŸ:<ÐÖÖœ\q6øÀù3¬UÆÛoMÔ/ÛlÞæðN Ì}PŽ2A åˆý­OûSÝÔ°.`•Â:%­¥Ö`+ÛèšNû|Ëáïßsà=pxñÀ°1¥/æ Ä‚¾˜#jø¶úšMÖá!~ÂÛô3J¡ï…N%4JǺVa‘ÒòRæ ­_#‹šB$¦CbØ$¦ƒ)3ºOt{ ºÏ¸ED-Å~œ[¶i‹Ÿ¿Ó)Þ¸»²Y<Œ}>¦«¯N983žõÑêÙ²bóÎÀQýÓÎZ÷œ=½Çé¦ûSB ø„ÖS«)õ”j«óO7¿Çæ¶¿èp5¹ ø]“‹lh²s]ÖG’¾‰õ,f˜1Ì‚ÂÒ™Û=¶ºO@Í ÅEIDú<|처vùþUíØA}­¨¿V¨+´‹’%)Ísë»,ˆ¶>ñ•OüsŸø?zà૟ì«n”Ÿþïk¤R´‹€a:g”ͦsfw#üW%ù²Áäú„RtÛKÎükž={ËÙåºé’n²¤›.±v)ÿøÊA{Õg}}ÆÕw%ka‹6÷âKæ<ÿjÁ—¿·æ²{×Í5vÎßX àGÿ%y<òÈ#<òŸÍÖøEq“({šG‚+ +‘ yib\Xçî™Äx ¼¦Âkmð; ¼^ IÕÐ(]Ê’èVãÆØ§Ó’æ.¡ÞÕD;‹ qu…P%¢.ÉÒ’ Æ5:ú–}É™6ÁwBÔÂEMmØAŽ0ÔoR…x áí+Ô~IåÔNAå–¥CNƒœÆ¾[×Ö°=wÉ©õ‘Cý_„ø„ؤäµEYÄ©Ç&l³ ûûNâ'‰R‘˜.Õafà[!®cj–žcê9…ÔIb‡T:$ÒÁ,3ô´DË*dZ“•ö~ÄSîf ŠÌCvD¿1gИÓoÌèªI[cÛw1G9+ꎤ0 ²Ì"Y8@¸ áÖgª“¥aá$9ùÖbµí„6a›Í¶Í|¢Ý¦”­’H—H4§`èN9hOH?íÂ&Òa)}6ÀŽŠŒEEY4(‹>Q8†HecÛ=Ë1ò‚0±HË›ªD$ŠìÞ& 2é·m¬v‚ÓŠðÛ;šm½JI†H d’aʌب‰Z:qߥÒuü0âpûÀg›×lSŸ‘õ€_¬¨W9¡c`Z©…TÊDZJ†­%Ã+´zŒ¦¦èõMEøV‰¦I lve“ª¨(êíþý#<òÈ#üùÁ?¤æ)¸À@ÀPÀH ú‹ó¤ÆiT¸¤è(;$µKVXT©‘  rLÔFQ~Üž F5Æ(EŠ’Jîƒ"*MC »9¦—c¸9ž¿£ê ‚n‹÷ …и1.™»GDÍ>ªëÓÍ8=yàìòÓËTK¸6‰k‘¸6•««ÀQ )ô(c{çñöã9·×ŒE„P B% jUÈ!eã}™ñü«)Û¥b³4Ø.=6Köã‰ÒÚßSs ìVÀÀÛ1²–Œ´% ;Æ8.0)1Úñ¥ÃÝô€ÛéˆÛé»Ú¥;X2j/9ð–´­ SÃe¢¹L¥K‚‹D¢!0XH #A÷*tY¡[im Ÿð“ÊT‡ä3‹j«CäR&å Eþ4ÅŒjªÀ§^TAšg”nMÖ—D•ÅÖò˜¯<îï]®î]ÞÜ9Ì#› 5ØUð5Ȭ½YK÷2Îy‰{ã ·4:1ª¬´ fÕUÐe½è³š÷X/»„µGTûdÊÝž~¬à¶„i ëÇ èÌ?iÆèÉ‚£³ÇO¹slJ:õ†'Õ=aåˆ.wƒcî??á®yÌôÙˆ"䱤˜Ê°hº¼mž“5MÇ„ÍËf‡Õ'¥¾?C)ˆ ÐúÍ€ãæ„²eÖ6ãùæç\Íθθ¯O¸¯Nê.U­“idM)s™Ð:«èœjtN‚³»Ð&yPo"ê·sB§âö¬Š^²R}„&™7ÏZí”ÎtNvÙ-¤÷Pn æÅ÷ÁâµÍíúaÕ³BZ5=mI¼öˆn}â»}ݸ-‚^› ×&íy˜^F× èZ ºæ’C}Ìל©Ž«<£:öç½ÆŠËÏÞ#4…Ðöï¡)„õIæ~'2K$Y,É#,’lë}Ö ¿»¥{¶ààdÌ©sCŸ9…2HpØŠ&Õæ¡n/Á8Ê1Ž2Œ£ËÈyÈN°£{—“íl>ª3>:gl-êZU6‹»y”³{‡‡ >épÁÜ0ÖGŒ£Í>GW§DC¡±ÿPn|’‰Ê4ª…‚‚ÚÖ¨¦&2ÙŸZ‘I…Ìjj!QR ¿ÈÑ^–”Cõ°CejA¹Ú ¦[Ä$€é†FÃ¥sÔ£s\Ó9®Ðú’â©ÉÈœÐ,É6‰ÔH67ÿ4àÃ?q)qU‰§*,j,b×bøÕ”ÆWN5Ã)+.õQ‡‰yÂCÐF¥&Óì¯<¼<òÈ#<òå‡kü4Ì'àGžÏâ¬BF˜Ã§ácP¢dì#âjoüÊTGÅP‡E`R~ÔÈí¤B{Q!_”Ï t· ØX[¨·Ôj¾—àô"ÜvHeI«Å­}ʆ÷Æ1 瘸كžOgô‘çO>ò;—ÿÂï|ö T6Vƒ­é³1D†Kª;$ºMªÙ„‰ÃöÞãö—6?sH>öWÉ7µEZ1þgþ ïEÊàrÊô{ý{—òû6ÛB¡2}&¨ýî`ß‹8·îy*¯xsüã¿âGlç-~qý5òƒ ðHcÞðž‹Î˜çþ[ެ{¾7†èÚˆDŽ˜¡#è¿1~߈ñ½ß ñ±r÷™¢”ÄKŸj®“Ý[T êäaŠ8ÈÐ34³¤ü•Iù­ºWð!§Ô¤§Qe²±=æ¡ÇýÿâðÝÏv–EÞ5Ⱥå@€&!· Ð¡pÐZ Îù†æqL{°ÅíDYh-všOKv›»ÛÛ-Â- ùiŒO(¡Á¸„û&¬RœÆšÞÁ‚Óyò͇súþŠ¿bà.ñTµD”JÉŽ&¯ú/yÕ©/ ÞZ$ßIÄw’úJR¼–,º.içŒûî ¿ì–”mƒ¬e‘¶M²–…J$¬Ô> t ¸'gcv§M ß S“é!ß½úœ~õ ¯o^«±ò‰TƒZédBì;r"G íß©èüŽFÇvè´#‹t\S¼ Qÿ8'ô=n£6«ºÏ{[Ãì hÖˆVù<£³J¤PÞ ò Ì7&qð„ûà ?€‘;fèMi†Ö˜bm_yÜÿâ ¿Þ¡Ovèãr[…ƒá z/ô^Î]Nè<[¡;†»ÿLÒEÕÎ1.jd[Â…I2±©'.á¸ÏdRâôœ/"\-ÄéFhZM‘[”‘I¹±H·aí:>áÀ§F¥6Åm“Í÷°( ¼Ïw\~rV^ócï WÞʆµìé mr*ö÷~~Ùø­rI½0PtªÜ@4bS#¶õ¾5ú‹ýEþ"G^R" èÐEl€sÄÛ)¼µá-8‡ïßrñO\†½Sã†ÓÁ-Ožß¢¦5¯ßŸóúꜛ÷çÜMÑ5c/ÝIJ£Ë1çŒ.ÇŒ.Ç´òÍlI+_ÑÊWÜÈKÞè'¼Õ?ãíú+BÙd–ýíþ™óÈ#<òÈ#?@þ«4~u]ógögüõ_ÿ5J)þèþˆ?ù“?AJùÛ ÒDš5f§Æ8®1_”˜Ï /Çñrl7ÇüÍÈXþ›Ñ1]–hz…4Ø@¢¬ÑÂýÑo«—âX1î(Æù,¦nHÂY‹Ý¬Ihˆý——flThÍ/©u(tƒD:U‘‡\”š½Æ0s\3¢enè[ „Sã8!žíá;›ºÉ&oCØ&Ï,Š;“ÝCƒÅ¤ÍlÞf»ÔÑX"1Ñа\‰!JºÝœþeÌð' ¡»dE›Í6GLÙ&V:Ô *) Œì°Ä]¦ø"¢©mùåß\óßý:Z³¦QÅØI…¶5šájØfIC&´Ô›ú~ö°Qø(ZÔø"Á“1®á‰M”Ôš@“¦–'™æ–YäP¦ÊT¨¡Ïꆢ^ Ä{Yš–$S`æ3ž¸žs3ëq70ž÷˜Í›”½_á´BÇ °mT%P¥@UÓIitCÐ}± Ê4ªL£ u²¥IR¹äÊ¡òMp òÄ"ìVÞ ¬ ÅÿÏtFÿ7Ù Ié‘TqíSJcß‘ìW8FŒçm)Æ%E,IW>Û…AàMHš6ª£aö*dj_'¯öÝüT4¨\Ñq0¤nP—’ºÚï@+]  ö&9cï#±‚è“9¿ˆÑ)öi‚ýuB²´Höoªþ1Á¼ 0ÇsVSêѬÉ|6@Îõ[ì8lßãuB4'G®Kâ6ӨχÙ)ÂtÀp¦‹éI2MÇêDŒÎ&4´£Æ´w9í]E{³Ò!¯{,êÞ•Ï T1Ù@¯õÿëóð‘Gyä‘Gþ¿â¿Jã÷ñÜÜÜðçþçÔuÍŸþéŸò—ù—üñÿño_Tm ÿ«,é‹„¾•0ðüfAfd–I®Tl2:jÍ<áŽÂµÙÚLÏ[….2\/Äu÷1çí£€ÞÅ’ÞpIO®ÈJ‹ý”[ï”ÛÞ‚´M‰Fب­SÒnmh6wµ8Sô""OR6»V5+·æ{kDÍ7̳ö(EôkèW£"Œ}–ã>ˇ>ËûáÚ¡ŠkÜvÉ“?˜!¾IqYüVf@ó™ ñ š]‡dg·XvXG9"T°ª÷¡AAE|¯1µzÈê)áÖ§5Üâ´þæ¯ÿWä¿û÷ĉÇÕî)ÃsvQƒ"ÖYF=®Ã§ä¡É­wÌ}lsŸ[lJEŠMF‹œ‡äÔ¹A–ج’>“ØF× l'áÀpî|@Ø,òÂ"w,âÂc}Øb=l³¶Úì*—ºV¨º¥¨ë’Õ¢Á‡7g”µÍrqÄ4±™TÉ¥‹{à`7%íþšVM»ÿ=ÒÐ(kƒ²Ö÷ÊEšS\çì^ç”:¨#E}êHRùµ©Q{ÕûÐ>ãÿ¡Ž&D@¤‘85 MG|ô‰×îŒ .;þá¯>b¤ÿÇKpG9î(Ãå ‹«ì)ï³K¦Ù!»°Cž ò†¤z*@J¨M¨Ìýhé¬V†kFx÷I„§"üƒá…!l[-˜Ìmþvúœ4Ðywý„·>Û0¹×þ$\LŒ˜L°»dºó¨mNuªB#O ý$Æé—„MÅîHcwd³ù¸ÍŒ‘3æÜøÀ¹¸Â5w<vyøQ‡·Ã|¡“V¤‡ÙAEéÔÔ&”†F. Rlò¦IùD§J%Ø úI~\ –2û+îÎþ'’õ)wiŸ’†*ð)0 EÞ2ÈZ&ÿw{÷E?~ü53[²Ùd“ IHH(‚ìw_õ<ϳÐ"½ªT)'bW<Ë)zxŠž € €T5Pž ÏŸÞy¶ó¤IM!uw“mS~lˆ  @ ÞûùxÌc²;³;o>l2yçý)á$–Rö“æ.%Õ½ŸT÷~”Ø´&€Ey0½,öú[³×ŸáP±'Fh•XDÛÄ8Œ(öê(%¾ *|©è–*O2Už$ªÒNÝGz‡}„‰Tº*‹œTV'R–à`kRÑ$’¤ 4Ãd{B6»:´¢Ö•н“Å®¢Ú {{œB0;ŽâÖ™˜.•ŠÚ¸‹¸÷ˆßÀ½/@qB&»RÛàK#>5ëî/Úül÷B!„¢15ËÄoãÆL›6äädÆÏŒ3¾—øù ¼‡&M©¢ƒ³š U¤$E)ÕÒ(µ¥Sª¥áÃƒÓ á¥’,kØŠÏ•LIj&ñmkQtG|OŠ/6»^‹22<Å´NØCvÂ^Z+{ è |¦ù0Ý*åv/•µID«m˜U*QŸ%ª¢¶O+?­ûh·¨ÂÔ)öY( •l¥%e‘4¾ñŸKRžp‰ö*<ÞJ‚7%;3(ù<ƒÒÏ3ÑCIYå$g—“tv9É)åx)­ß<¶J´d±9mº IDAT;ª×†êµ¡(NÊ]é$x82ñIHìDu¨ˆBu” ®Qb¶ &@QiqQl™:»ýÿâµý=ˆšvªü^ªj’ Ô&¢×Ú©¨I%Rã¤ÌŸJ\|€@°$HÀAâð“D€–hC€ªH*ÅþVTV§R\•I²£Š¶ÉÛÉ „vŽí¸ãèé¢.Ñ–vªŒdv¸Ûñm|;BNÕáDLSDzL,KÇ2u*Ë1¬8**2Ù¾U'šineé`âje’–PEV|Y®2²\åØ4“°å$dŶœøÊ”nµSú­Š­vá8lçXhgƒÍ­¢$j˜Ë­by•Øáb=Öu›U—˜™˜BUvÊʨݙÊþ²Îp;5ìÛþ› /%.5„û¬î³Ã¸“#àÕ( dPâË ´*ƒ@u2F ‚Ñ^TÊU(×b[•‚3&ÉYEJJ9ÞìrRe´ˆ”‘)#5RŽ^ª³»‹’.¾Øq:eû¨¬N¡ª:ÿÄÏ•[è<ÅÉŽºP— â½ÔÔÆSâwâ/±Q\£”&)Û ©u-IÙ~j’-Jâã(v'q‡p;khi/âTûÎá3<öj¶e´!ÞÕ-Ûµü.5ÎÀtèq&¦t[,ñ +NÂu‰ŸéT¡%¨.»7‚ÃÂé ¡–Gˆ„5ö|奸k {y&ÕŽCsàPí¨ñ6Œt £¥†ÑRÅ–®Ó>u+í[lE±™$º}õ?&¬ºuËC©ì©hÖÒ3ØRr:É •œ’¾LŠ8ŵ=jcoukö·aoqk*M/z†ŠnjèN%ÎÄãòáѪð¸üÄyC”¤ePj‰2;m(;- · l*ø"P뇚*¨­‚lɱ!p8ê*±öع6{löÑT Zi©afYÛ»¨L÷bsG™j÷»©ùÚMínj>wS›à&˜è¦ÖãÆôØÀ§B¹h¦FmÈM8àÄæÒ±k±±Éq‰Að“-"S/"3ZDB0ÀŽíØÑ¢‘n*‹=”ÙÚ`hI”V¶å?~5é øjñEñ)‰ØÕ(ñ™5¸¼5ÄŸQƒ^åÀ_êýz©½Ìëž\A¬‹¬ $+ ´¥‚=S'>3ˆ'Éת€jƒèn“ÐüËÀÓr?­ÛsZû"NkWLu …m{lÝ“HÙž”Ûˆ¶nÅþì–|ÓZGMÒð¹ã©îOm»xl–Õšf¢ÙÂh6‹ ËI±+ƒJW ßÖtÀ^ÄþMû×µØÿ$Ú:ŽÐ™nÂI.â½~œ‰µTkFÞù„Bˆ¦Õ,¿={öЦÍwUm×®»wï>ô$ËÑ8Œ )j)íìû9'¾”ŒÄ([9?nªHÂI˜$«š–”ÐÎÚI±+oJ%®pE³p¤DHÈôÓ¢U­örŠí[N oç´È6N‹l£ÊH&lsRª¥±5¾=–tŸ ݧÂnÕ[ã;ÁYC†·„vÞíTFMö…T\;T9©2Ó¨2Ò ˜ U©¤EËi·‡V){h¥ï&TGÑžVìû"›}ï¶FÃÀÁuf)­Î/§uÇ]´¤„ ŠiI )TÂIˆ8BÄ´\$ÅUáNªÁŽÆ*! Êu0"à hƒ^Ê*°×YZÝ+ÙWqe¬[c€XU«Be­—Êo]¥K‡`1DŠÁ,*qÀC%©TE%VÔAqMU^¾-mOVüÚ);Hsîç¬Ä/I‹/EwÚbë™ag¿•†fD©5]µ ¦iaZXQLS§ºÂMuµv&€æ&þ·\âÛˆ¿4@‹x?­©æt¾åT¶à Bxjë¶b5ýë$*ö$ø(‰²*;q–Iœ\ílŠKüâ•Øºz!bI_\ÝæZÝf„¾qª„Ê=À?òhÝ Ó)Ùu!ŽÖa”0 -"$œƦ)¢þ$ejËb•Äb‰™ Ø^÷Ù®Žý8¢ì~Z$í'#s/YI{Éb/Ùì!‹½”o§¦¨¥øøß§°{[ ÖmQpVƒK$¤ÅCKãÀ›wõ[ìÔ–*°Å‚otZŸ[+5@bfS. PãÅô2j¨2¸F)픜ŗ¤Ø+p¤G±2œ„Ôj-%b`„ B¢&¦]A·iDU;aœDíèv 3EÅjªÝÀÁé ⊫ÁðEˆ„TömI&ø~"ún;Ø“Àî‰í=.hM¬ðâW8HØtb·GHI¬ ÊLÔºz_¬ÃgE(…}UYl/êÀW;Ïá”äí´UwÒ2¾”ó[|J ’H…/²’4þùíì1³qÄé âðñ¨Õ$ÆùIŒó‘ÍnZPŽÓ bš5VåF2$Y»žËŠB°j+`)èñ¨@ЬĨÄKšZ—üûþK²€`µU ¶tQš„岘ñøË=ø¶%áû8 ß;IÐB‰Mn•¦Æözìû–ZÀª›¤ÊԆܱÏTb·ÛGœ+ˆË]‹×YN+öОí´g;ÞHšÇ$˜”H©§5–'‘ "¾V±¤Í_÷1¯[á„8ð$WãNŸP‹7¡ÝgÇÚÑÝjw%À®ºóLˆ­û¼·T (g)ØÜ:q !Ü’¨"â ÜÂÿß0|&ñüý´j_JÇv%\py)Å»#D*“(-MÃü0L…奢c*Ô&êA±9ÐR¢h-¢±½'ÖÅߦÅ6U1 ]øBÉ„Cq„ƒ.Øíaøw>Žà>+DbJÄSC$zj°µ0Ð4³w6!„âÄRúqô¬€Bˆc!?¶…BüP:_r±õÎû›©*+>âIÉ©T•S°z }ûôþÁã{ݻヒa[÷˜o¼‘iÓ¦qê©§ðßÿþ—3f°`Á† ƾ}ûŽé=…Bˆ†2dãÆkô÷Õ4s:vÄãî»û©{ðñž+„¢ù*X½à˜~¦—ìù–±“¦6Ï®ž]ºtaþüùÜ}÷ݘ¦I^^]ºt©?Þ·o_>þøcÎ;ï¼¥Bˆÿ5rßBq²j–‰ßÀ©¨¨`øðátíÚ•Ô0`À!…B!„BY³Lü4McÒ¤ILš4éÇŽj?qXo¼ñ‹-¢¨¨ˆ:0eÊ:uêH»6ÄâÅ‹Y°`›6m¤-ÇæÍ›Y´hÛ·o'55•Q£FqÕUWI[£O?ý”¼¼<¶mÛÀi§Æ¸qã8÷Üs¥-Ò_|ÁòåËùàƒxë­·êŸÿ±ö“¶Bq28éîJ¯ñwàÅ—_~ùD‡uR˜>}:cÇŽeݺuôìÙ“Gy¤þ˜´ëñÙ¸q#ï¾ûî!ÏI[›?þ˜ùóçsûí·³víZÆŽ[ÿÙ”¶<6>ø ýúõ£  €‚‚rrrxàiË£õØcqÁ`Y‡Îúòcí'm+„âdpÒ%~7ndìØ±$''“’’ÂøñãÙ¸qã‰뤰iÓ&:wîŒÃá K—.ø|ß­w&ízì>ùä.\ÈôéÓy^ÚòØ,]º”É“'Ó¡Cìv;W\qE}õTÚòØddd (Jý™™ H[­E‹Ñ·oß<ÿcí'm+„âdÐ,»zþ˜£ZãOü¤/¿ü’=zÔ?–v=6Û·oç±Çcúô餥¥rLÚòØ|óÍ7lÞ¼™x€p8̹çžË-·ÜBVV–´å1zì±Ç¸ûî»yøá‡8ýôÓ™1c ŸË£¥iÚaŸÿ±ö“¶Bq28é*~¢á***X»v-£F:Ñ¡œ´îºë.ÊË˹馛øýïP¿Ç& áõzY¶l¯¼ò çœsΪ¨âèÌœ9“K.¹„ÂÂB ùíoËÌ™3OtXB!„hNºÄ/++‹;wÖ?Þ±cÙÙÙ'0¢“KII 3gÎdÊ”)8Îúç¥]ͪU«Ø´iSýÔï¥-Mzz:ýúõÃív“ÀàÁƒÙ²e my¬>úè#† BBB :”>ú¶l¨k?i[!„'ƒ“.ñ;°Æ_UU?XãOÙ®]»˜1cS§N%))é •´kã‘¶<6W^y%Ë–-#PSSÃÊ•+9ãŒ3iËc•••ÅòåË –-[FVV mÙP?Ö~Ò¶B!N'Ý¿ŸZãOÙ-·ÜBee%ýû÷ÿÁ1i×ãwpWÏM›6I[£‘#Gòì³Ï2xð`t]ç¼óÎã¾ûîäsy¬î»ï>žyæ^zé%:uêÄ´iÓiË£uðÄ|ýSß×Ò¶B!NJçK.¶Þy3UeÅG<)95ƒª²b V¯¡oŸÞ?xüc¯{÷Ýw1 £)bB!~4MãœN§ñøûîÁ~ê|¼ç !„h¾ V¯8¦Ÿé%{¾e줩'_WO!„B!„ÇF?!„B!„ø…kò1~6ÛI7ŒP!„øYɽR!DSkò;ÍoûÛ¦¾„BqRû±qöB!DchÒÄOndB!„BqâÉ?!„B!„ø…“ÄO!„B!~á$ñB!„Bˆ_8Iü„B!„âN?!„B!„ø…;a‰_0j5év¬TG<«×ml²ýÉOsÓÜ>?';iO!„Bˆ_¶“¢âçÛ¹›Ç/¿Œ²ß6Ù5òóóÉÉÉ9â~ÙªzôèÁÜ%ùtéÒ…¿.\I÷îÝY°4ŸÞ½{ÿäë›:žY‹^¥[·nMÏÑò˜Köm³ñÞ1·É®ÑÜ|úïÏHLnq¢ÃB!„√Uâ·úO²éÉØôä¬ùã-TmÝÁÂAƒù•§=Ë&L¤bÏî&¹ö‘’¤>}úð×…+9ÿì3¸fÊ4Nk•Ä%ão¡c«$.›p+çц;ŸYH—.]XºòÈÉVcÅÓ»wïúxºÜ|W}œKÛüŠì„4.°g³xìØ&Iþ—õèу÷=JÇVI ýkOŽĽo|È‚©7ñÀß?á¹ñ#¹>ï%ºœÙšßM¾ƒßw¾˜K›®â×£GFþñ1Îi›ÊпæñĘaÜûƇ̻y,Ó^{çÆddÞK\Ó)›ßM¾ƒ«/o¼xŽFÛ©¹ª…¡Zh¦BÛ©¹MrÆd:û×>Žöù22/û)§fùòo?k Þ´L:ÿþzõí_Ÿä¼qp‡=vÈyB!„BA³Jü~3‹êŠ(/Þp·ýñŠƒÚÚŽˆÅYÄ&Iþ¾ŸuëÖ.7ßÅ„WðÐ{ÿbÁø‘ܶþmrtç¯3«_W&½¼‘çG âÎ ïñä ƒ¸rÊÝ\xΩÌ{©ñ+~âßírþ¸é£Câ™Zø³]ËäW_cÁ¨AÜõ·÷yò†At™zo£ÅóS²oý.ÉÓLCëj;uN£_«±èßl"üê-t8÷ Rýk¬H%¶„JBÎûYã8ûì³ùàƒظq#@¿ßOuu5+V¬à²Á—ÑmV7OL×çº2eÊÊÊÊê·¯¿þš¯¿þšéÓ§Kò'„B!ŽÈv¢8œý;]ì}çß\Üá7x'µµ!=J0Ä¥99Ëg±xìX†Í™CjÛvrÍïWÖºßv?»Ž;7¾Ç‚a}¹eý[,–ÃÄ‚ ä êŘ¥kÈÒ‹ «6;°;Vn`îäÑ |ø –O»•Kó5ô»dËŒÔ6J<÷¼þÏëË­{»>žÜ=·|-sõdܲµä éÅèÅÌžxc£Ås4LL@©¯øÅ’? T®ßè×û>ÝT¨©<•ˆ¤ÇÚíÔðï'üæ“$µÊÂÓ¥/Vp†¿#¸p(+¾U“Çz0ÇömÛ(..FU¿û[ÌÌÜ™hi´2ZÑRm‰ó 'oô6ésӹ袋p:hšÆW\Azzzƒâؼu/O¾OU0LoõSÎI.­oKË0P5 Ó0 P0-‹·‹³ù(îl~{Z6tUƒ®/„B!šN³KüJ>ÿœçgVpiûßàVœ¼±óŸ$y<Ø].J­*N­Œ#9.³«^ºé¦FKþÓ7yÆ,þدw¿þ ‡çpç[ï1`o¦n|‹ƒs˜²xKF dø‚•äèΨÅäìθ¥…Ìžpƒ§Ïäõ™ÓYº2Ÿ¡ëÞ·g×ÇsÏë° .ž¼þ½êã™´"ŸE7ôgä /“7¤£7ôÚCâyíÉGXñr>ƒú_P ›»$Ÿë.ìÄÝþμá×1uÃ&òú÷â¾Íÿ ïºk™´xKoÌ‚5ëÉÐ «67¤W¬Ò6ôZF/^ÍsãGÒóî‡øpÞ3 ®øýXo¥Ê §Ú8Ë—Ð(cþrrrXñr>W]|S.cö k¹¹ð žëÝ…Ûßz—g»uáö—_eéÍYöæ[Œ»®7·¬Zˬ~]¹iÅúXò·´¹Cz2aùf ïÇÍ3çѧOŸãã·te]<Ë ™3¤ÏAñ¼Ã³ÝºpÿÇŸ0»ww¦¬“q×õfáÚ ¼qïÍÜüÊfõïÊMË×1gH&,ßÀ×lP|Õü>Ñ`löÓÝA»W–³B!„hΚEůâóÿð⨹ìÔ‹pÇ%°lË»\0i§œw>)))¸ÝnE!‰’’Bß'ŸdÕÔ©ü&äĵ×' ©üåççs]Ÿ^üîΘ;áF&½²‘¼Á½˜¼æ5òú÷büÂÅ,?šÖoà†Ý™WPÈÓbcüæ êÁ¸ek™3¸'c—¬aîОŒ~ 'Œà¥U«1èø*~rzÑuê}̽q@¬²8¸7½ºŽƒs˜¸îo<}Í•L^ÿ:3»^Á‚ÂõŒº¶ ×óæý·sé}3ê+~ÏÁ²o›f*ì|jÂŽ©¨XGLÛÜ–‹brØ×«ÒZ¯*÷“êIà˪Z¸ìzˆæ$bšDu a‰„ˆèQÒ’Z‘Xy žoß`K…›@ÈÍ® ljoûk ë:C³S×±2M“Ï>ûŒÙ³gãj §t9‹®ú µ[ß%))‰ýû÷ãM=/öo.ú˜ŒŒ –ÿ£­]û3pò=L»e‰j¤Qb±Û4´ºq†º®cèûKÊùoi–«èž€³Q®+„B!šÖ Oü$}—Ÿ~1 ®Vìþ„N£o¤õ™g‘””DÇŽPU•¸¸8\.^¯—^>Êê;ïàRµ%ñFgùhЄ/ºUNï} S ÞŒu—\µžÃú2eñ –Þ:™%o¾ÅèÝY°v=×÷èÊ´¹ xuò <õÊ^»g2W=ü4³ugüÒuäÞ8€q³ðϳ{ŒßÜ%ùÜw]×úx&¬ZÏü¡}¸ÍžtO¬YÇ3½ºóèªfŒ¹¾>ù›_°–¦ßÍoîz„ÜÁÝ»¤°>žOžŸÕ 1~m§æ¢`a¨ü`¹CµÐˆUŸTÔúã†j¡¢`ÕUµPU¼wÌ¥ò/Ç?á‹n*„õq.‰N›ße¥c·iDuƒ¨iŠF é:á`‹½5ABg÷ äƒÝœwy gt>ä=ó¾Ú~Üñ4Ä®]»È]›‹ú¸Šzv›ÊÞ\Â#=™—_È?fÜÇ·=ÄÜ¡=õB³‡÷çÅ—7W<Þsq·1@ÍŒUõŒå;0®ïûû4S‰UUÕT0MùݺÇ3 LEHå[_9ÞD7¶ƒ²å0™HØ‚D‡ê@˜Ž}#¡Eó¨TyÓ2Iè’@≴VZó¹Än‹u³t¹\˜¦‰Ýnçô_Ÿ @Õ.ªªâr¹¨ñWcÓTm‰œq~[þñø?ð^šIåûEÇiZDuƒoßÇç»J0ë&uñÕuëÔu°®ŽQ@(ÔÀB!„?‡šø-š4žK:\€ÓÇß[ptë©çžGbb"•ÿù µø_\=àr¬hFm[ÿµ™Ec^æê»%>#“ÖíÛsÞ„‰ügÑ ´‹:ø²z'7,yñ¸bÉÉÉaÖ¢W™9zhlb”A=˜ôÊFÖÜ2†kÖ3ºOOæ¼RÀ½ºóüêuŒîÓóýØœkùÃÓ¹õ¿ù#{3q΋|ºhîqWüf-z•™#Ö/Ñp ù›¾"Ÿ™Ç0¯ °¾{çÁqÍË/¬ëÍûo¡ó}!ox/&ç->îx<Ù&Ô%tßOî¾ÿøÀ²SQ9ÐûSQc‰£f*(æñÕ‹,@Wb_Ë21L‹¨i€¾ò: ÃÀ´LLLBQ+ÎjÏi©(Í©F• Ê …T{*YZ_(Û°Ûb]-}>_~ù%iii”~º€víÚñùçŸ×¿ÜfS±)6NqBª'ÿƒ~¼i™Tî?¾ä/‰bYš¦B]…Ö0MìªBT70 =¢c„¢:FTo`!„BˆŸÃ Mü~Çì|éU>«ÝNŸ??Æ ë7RUUEçÎÙ¸±€>CÏC±¹±¢U´ï”Î蛬)x•ÓÿÌŽ;°{½Œœ›Gî  ÏÍ¥Õ¿>®Xòóó5 ;½™Ü‰7Ö'ž˜ÅºûïàùÕëÕ»Ça“¾ÉÖýzÑcÆf ìÊè…Ì=”E¯üí¸+~‡‹güŠuäÿáÆTø×õ=»ò·>Äœ!=ûâšųó© õK5HòT¬º)‚¾{þ»$ÏÄÄP¡FÕHÐM“ú.¡»0ÖO7 ËD7M¦I(%¢èÜqí嘖EÄ0ë:C'¢„õ(åþàq_¯)T~VDë³NÃ7ÏGyÛrT…úÄïÁüÑ×>ôÐChšJ™^†né”o,‡¥wÒ1L,+¶T„¢(uÏÄfIDuÂÑ(‘¨ûï5,týçÌG!„BŸšøyõÕ¼öÌS vÖ!ãò¼^/†^ƒ¦XQXà6q9ƒ$zœØlß…ž”™ÉÝï¼× XrrrX°4Ÿ§F aÜÒBò†^[Ÿluùã£lxð®úÊßäꦙ³¸§_/Æ<ñ,Óê’¾9Cz0jA>sGôâÞ%¯ðá‚ãSw ž§GýA€P0LXQp:bß_§¨Qö—–¡ë:™.þ¨‰®ëè†Î¶ŠHð6èzB!„âçqÂ'w¹eͺú¯ãœŽú¯À2# û±Ì–­›¤iò¹€Î a(çþá>ò†õbÌ¢5‡$¡ÏO90ñ |7ÉËçjviT®:þ5ûŽ$%ÎB7½D«ÊiO‘¯–$·“ÎÚ‚ºib™ᎊÅi­iãuüôŸ@šª i*Qþrï$öîÜŽR·>…¢€ËÀø{æôs……‚iÅ’.åpkX£[»ý†Ïw±eûžØõ‚±Dï´3Ú …b‹ºáp¸þu›Æùí[5øúB!„¢é4«Ä/zpAQ°ô(XQ̨ËÒÁŒ6ɵTÂòóóùÓ”qô¿õ^r÷à†¯2doF½X@Þ°^õûÏ-fαÙ;‡÷¬Oún]¸œ×ž|„7ß|³þýRñ;8žçGöᆅ¯2DoÆ,^S¿ÏÖ‹~}‘¼áß%}ÏO²4‹,÷ Fu*Wÿ˜ÀŸ’oà¶{Ù]$3Á¤([WΰL4ÓBS2“Ü´NÊ¢­×Ž]k~÷íÛ@zz:לwéù䮺ê*ü~?~¿EQÑoO?ô4æŸLöÚ÷²wý^.r\DÇŽÙ¹s'ÀAÕÀÆIhã<5¼KÝ£Æ7(„B!N¼f•ø²0£~Ř(fËÎä?ý™¼×òèËX2n Ãr—×Wøæ]-÷._Ç’ñyò•õ¼3ç)^{íµ¼OC+~‡Äóð_‰gxÞJr‡tgô «yþ†>Ü»|/ŽÈSùkÔxŽÆµþ$ ™ýóXÕêQVnÿöˆÇuÃÀ¦ýxò眘ÅÈ+÷‘ÝîTn¿ýöß°”K¬'c3w>þøã?8åâ‹/nâ(…B!ÄɬY%~º¢’’’B$aÛ¿¿aá¶ïºuZV¬èIi‰_‹®ëØív"FãÌ"r¸ä(??Ÿçî¿›ÅËVðü]“™úT.KnÄ}/¬`éÄÁÌX±†ÓnfÝÛ›)|öñþ¾±*~õñüñ/[Áü;'qëÓsX2n Ó.gù¤¡MÏѪ٥áÉ6©QÞ Û¸'nŒÙùç‹¿ª¼Aï±çÛ­G<æMËÄÚl5x>!„Bñ¿«Y%~›ƒ÷–ðñÂÅÐÿz¶úü„#‡ŸÌåÏÍ ¤²Š~]®nðµ,I1dP}wËüü|Þžÿl}.??Ÿ)cFüèë«âw"ã9ZM1‰Ëÿ:Iø„B!DC)/¹ØzçýÍT•ñ¤äÔ ªÊŠ)X½†¾}zÿà±B!šÎûîÁŽå,÷k!„øe(X½à˜~¦—ìù–±“¦6¯ŠŸB!šÆ_„BüojÜUÐ…BÑìHµO!„Tü„Bˆÿ’ü !Äÿ6©ø !„B!Ä/œ$~B!„Bñ wT]=_x>ïGÉÖ¯>=öˆ„Bˆÿ1§žyþ‰A!Ä/ÜQ%~ßp´ãäF&„B!„'žtõB!„Bˆ_8Iü„B!„âÎ Õžè8„BqG;¶^!„8àš+/·Ö®Û@mÀw¢ãB!„BÑÊKö2áæ[yý­w”ú®žz4z"cB!„BÑH¢áÐ!U€×ßzGØÿ:üUåkü'$0!„B!„ W^²_U9Sn½“×ßzGº®ž\sååÀŸš†ÍîÀéŒ;q !„B!„8N¸í.€ú¤¾—øÐù’‹­Ÿ)&!„B!„èÝ>üAž÷ÿ¶ˆ¿zöD™IEND®B`‚traitsui-7.2.1/docs/source/tutorials/images/application1.png0000644000076500000240000135071414046644454024637 0ustar aayresstaff00000000000000‰PNG  IHDR~¬‚@usBIT|dˆtEXtCREATORgnome-panel-screenshot—7w IDATxœìÝwœ$eøñOåê®Î=yvfó.a‰fŬȡ"b:cßþ—=Î çFá±#ŠBßÃs:ûµ^Ý÷ˆ¢p.oy¢Å1hÏ&j­å†^§¹_ƒ"ñAØïV¼ûGó®[ÿ7,¨Žw~í.}÷á»Ío¯{¡õ<ìë˜w=W‚ Â#/ C|ßÇÝω’áû„a8—·ì-Î~wÿ‚ê<ù«Vœµ›Jܹ©´Çº¶·á°%yÖ,Éï3ts²ZËí>Ü%Ü¡;p>µ­gú¾Ÿ!©&#GœŒ™]¼Ce’$!ËòNûì«NAá¡{ÑÓÞãòKÞ~È‚öÿá7ó:ÿ5¼ï;wÏÍŸþîîº÷|ãŽ×óD±ë1ßwÉÎçæuÏ~´š&‚ð¤†A·‡ÌÝ¿‰_à{³uoOÈæøg\þ÷½Ö÷™7?}Þ}ç¶õSsq>óæ§ó†çuïüÑ6ì´|õµÏ8Ýe³=~ÛïmXæÌÝW±þW¯GRBšM¸ó7ðòÞ‹™|øÃ¦Ùl255E&“áÌ3Ïäˆ#ŽèèñA8 ^tPz·eWüeœ×<½ŸÜ‘';╨V·:Aé–«vÛvõû®â·ïƒ³ÞòLN¿ì¯sËû÷{¸ç+¯š7öÁïÿ ¿þ"ù£_ƒžÄoW(ßöÊ·ÿt·í¦þp)ù£OB³rÜóÕWƒ$‘?ú5d×¼ ÕÊã·JTïú%Å›¯„(zP1@"wä d;-Ù‹ß®P¹ãg”nù1ÍÛ¤¾°Üõ˜~ÿOæÎ @ûŒ^C߳ނѳ ‰öÄ]”nû ­-·Î{A„}‹Â342ð=¢p‡!˜{‰øÞ‚ê›o߇çŒËÿΧN> €OýàÖ¶YHx '›Küö6,sò–‹i¶B*u™V#ÄvÊtfîäòŸÝMÝ•,÷l¼ÀÛÈi§Æ 7ÜÐ ,?A„îħì>Ô#sØñôóN6Üú{Îúô4lŸžþi†æ©ã·÷Ö8ñ¢—³æÔë€{¿ô/Ëöƒr(¿»ð~wo•·|à ŽyÁ»¸w¼N~ú7;mwK5ÏÄoäú['¨Ú!ÿó…Ñ÷¬7só¯~È…Ÿÿ'½ùý¼öoã¾É&éÍ×"IÒ‚cô<å5ôóî¾ñÿ8ç³ŸæØ“ÞÊ›ßu ÷MÔÉl»žªÚ­¿ùÛÝ{=æßÞ[ãKÿ²Œì‘'ì3Æð±Fµr|õ³á¿þ-+WÊ[ßñ.îûóï9x0¾×ó(‚ Ìoû=qû{¨g0{O\°Ë½w{г=!;ãuköX×g®X»×}çUOàŒ×­á3W¬vNø¶Ç?é™# ŠÝÑ™0›øEA@¸—a™…Bz½Ÿ7œv „î-äù+FùÇO¿Äa«,¾úù5¼ú“¿G×õ¹ýöV§ ‚ððlï¡ÚѾ €ü‘'ðÉÿ: ZUëqãUó´c^2o}×Ü\bÇKÙöÞÄkn.q»÷,n÷µ‹ÎÇoLó´%·üôŽyÁKYyÌkùæÇ~ĉGeæ¶ûÎ×.ÂðªÛþv¼ñm¬|æ \ôÃoñ†§g#wøËøì羄:Lßt ¼ëV<ûD¾úáËxýS²ó¶cG;óŽçâš›KüÇÛ÷CÖbøžÇ]ë·²ªÏ$ÕºŸË/ø0Uìsdú’ê¼çQA˜_À¿ œË[ög{âø'>mç¯R¯¹ibnݼ=q ŒðÊ£zùÏW¯æì«ïÛiù¾z5'>mhÞývú;$~ŽÓÁnÏÿp—ç=ë$ô¨“÷vG³Ô6AÏs8,ß=ýù )ÐñùÝ_EU9~n¿½Õ)‚ <<óÝãwÎ+shÉ>¦§&yÆÒ8I‰Õ郎ñÒ• °÷÷óí1’zÄA‰nŒ¾!þ¶©Å!ý Û‹R*xΊù¸ÌA½©l/år‰ƒ–%ÈKUzúú¹m[›Ã‡TŽX`ŒÃ=|ÿê_îÔ¶!nÝÒâðAuÞvÌwÌ»Ò#}Ã¥ ¼à½\ü†!µñûØøë¯sóMgÃL›¤"ï©jAa<Ï¡åø”›Î~­×r|<Ï™»Îí-NËñ离®ßÛºg×:w]¶·}vÐqwHü$‰†ÔìÊ]s*ú5¯‚á>T¢Ég=ƒcp] 2”]2ÿòŒ¹ýöV§ ‚ððíé¿_­ 8²6‘¢`S«sPŸB¦wðA׿÷ñbôucÌLMàx[ªáNÛªÄÊ U‘ðš%ôT¹\CqY5ÒM¬Š3Ó8^ȶz´àn}#3ÈkŽ;†JyçߤE‚­µh§E;¶c¡Ç¼Knº‚/ç‡8ñQÊ3x÷)ÿΪ“Îä¾ÛŽcE¯¶Ïs)‚ ÌGšýo´ÛšŸÝ6³ Ž?²oÞºxïŸ?ÎÎ{Ì¿~þu ó³Ûf¸ègv[~ÑÏ6pêñË÷r,»Æyàº6›øÉHÒž¿…¬Ù!Ïþšƒ|Ÿsêßã¿cqx9O÷øÐŠ{éÙ2ÀKŠ[À¸.8ˆÜÆžuô ÛëA¬—­Öw[6}Ó•ŒûAþõÔÿà?¸€TJgôÅïßg]ÓB1,‡G€ú‚ÞÇ÷ãÊ|CS°÷0âßÔº=j¥;ÁàsÞÌëßôîùå·Y|̸îš+04™¿èÜWŒé›®`ô¥ä=ø7_óT)`ÑŠÃyÆq'óƒÏFÇÛýº½ =æ…ÄXùÚ³9!{9¿í^:ã·`Û.¿©É_¥Ç×EA„‡B’$$`OßÍIÀ÷$íè´ã—Ï»¯$Isïýûг}zý.ÉæŽënœŸÝºsÒwÚñݧzn?Æ‹~¶ÓŽ_ÎñGížüí§»°{ Tg##É{þ†óË7Ló–çõs埧øvöC䯸–Äñqtû÷Lß;÷¤ŸÂs>èsÑ·cbó-ä¯û)‹zsŒŒŒÌ[§ ‚ððí鿜ó|fn¾ŠÛ&}žù²“yö%×Ó©Œ³íOÿMö çíµÎÉ/#ó´7Í gÜ^ßÞüù¿åíg\ÊàÐ"Üf‰«¾y×\ñ?¬êS÷У6{m˜øÓw¹sÊç…/=ž×üó[ðE~ó¿—ðýï]ÊÒ¼†¹Ã¾ûŠ1ó«øÛ†:OyÉëyñ%×CàÒØz'·ýú‡ŒW:¼óÙ»÷ŒnoÇBy!1Šw^Ïð ßLJ޻)Š˜Üp'gŸsHwNú¼h•±Ïó)‚ ìÔMjöôõÙB2޽î+=pMXHœ½%™û3À‡Ž_Î+f¼¿œ/ÌÆ^pø· Kò<ßpÞUðMzwtç_¿ }f)=i…ç÷pÈš#øÝ_Ö±é¯×PÞ²ŒþdŒT*Å7ÞÈ?ÿó?Ï[§ ‚ðÐÝrî ùȧæ]ÿ¹“zOýø¿+vpýˆ¼¥pÐÿ^ÍŸÖ?0î׺fþþ¿\ðåopÏ”Íì½àsõÍç×]Ö[~ɶŠCÛ 05™ƒúc eu–æÕÝbÌ]¢ú_¿ÍG¿uU×° ‰å=:£Yƒ‘¬ºà²$cnþ_üÈÕl*9´½M–ÎhŒæunÞê!ÏÓŽùŽyOíÞWŒ§Iåçÿ÷nÛjSmH@"¦°f(Ž"Ëâº(‚ðu{±æéM“àß_¾|ûÏ¿¯´C.ôXˆ³jК‹óŠ£èÕ{ÅÑ}sËW Z Š ïØã'í¥Ço¤¿ŸkovéOy¼ò)9®çLð Ó¢íú çùΕGÓ»Ä"—‰S*•(‹ÝÀ¢ÇOá€8ሠMgžûî¶yùš8ÃY:4Áú‚‰íF„D˜ªÄñ‡¥éÌþD$K;Õ%É/>Èb4gÐñ "š«ooÓ«tš£]‘XÙ§²$¯íÖÞ¯ Ëz4Ž_“dSÙ§ãEDhŠÄÒ•½êƒŠ±(«qÜ¡ë :m7"A– eÊ,íÑöx¬ÛÍwÌ»n¿ÏX'k©ÔÚ!AH4$Ö éâº(‚ðm¹§·ÑW½·ûÝöQ/;çB…8 Y´‡g_Hv»ôø±ë8МœÁy/ÓÙV…B+àãϰèOª8Ó'ñ§¿Ü„"{¨©§chÐh4äÙÏ~ölµâ›MA„á«ö|AØÕHVg$»û=€{«k4g0š{ðCŸ·bþ6Í×^I‚å½Ë{oo1†2:C™ùw¾vÌwÌ{Ú~_1ò ™g%ÄÏ6‚ ì_³÷Äí÷ZgëžË[žhq@Ú±ÇooC=»KŒdÙiØ ™CY¾úP\×¥Ñh ë:‰Db§'Ȉ!-‚ O\w|îXNûß­sóâ=ÿ‘ˆ!‚ <öÉ’Ä]ÇYó´÷k½k7Œï” =ÑâÈ,ðá.û¢ë:ù|~ëÄA„'¶ù†N>Þb‚ moyÁ¾þókùͨû½/[ý„\;¥£Yýøì7ÓØø·VAAAx´´€÷]¾¡Ûã×±Û´šõG»M‚ ‚ ‚  \ñ³?<ÚíAAAÕÊôqúe¡Zœÿ7¡AAA„ÇŸém›øå)Úã¾ ‚ ‚ ‚ O "ñAAAx‚‰Ÿ ‚ <Æezí&‚ sê¾7yà‚óÝo]ʉ¯:a·ù}í'‚ ÂÞíõ^û¿>—Ì3ÿ(îÇA²%~°ûi¡Ÿ¿üå/ø¾ÿàZ%‚ O"ªªrðÊ¥{ßH$‚ ÂðàÄï¡ò}Ÿ tAAxâÉŸ ‚ððÄOA„ýèa$öw_zôØ{Û¯í&‚ × ‚ “‘HúA„‡êIü.»ì2N<ñÄÝ–ÿâ¿àÝï~7™L†\.Ç{ßû^~ñ‹_ìs ‚ <Ù,“ËXQ‹@‘ …@– e ™i¶A¹˜¥TÌQ*ä(sijm’½M’ù&ÉÞ¦ÚÁˆ\ôÈň\tšR’º” )%±1 Q Qˆ …;2qB“NhÒ‰LTÙG‘ÙG•‚Ýþ^GÁo«¶†ßV‰Ą́;Õ"$9D–C$%B“<âR‹-â´1£Fä`FÝ×A Ë’L )’L½¡ÒÈRiä¨4sxª V„”‘¬Bˆj2Q]‚ºÔ}½©€Fw*6ÐÙa*ÒìT†|²DO¦HOªHOºˆ£ë4”$u%ICI€&¹¢á¡à£ & \ \ôJ„DˆDˆL„LÐPjêlQºívg_—.h–K¼§E¼§M¼§…l…ؘtˆÑÁ$@!†‰M =pi ÚE}®Óv.̾—„³% û>3û£>f¶ƒ‘í g´¸7û ‘ˆˆé&0F'0qC”R')×I) ’r }nÚñLǤãÆè81$9B5\4ÝC3\$%š w‹#d‚’LP‰Z`ö8ÄzŒ#ïÒiÇv*©XL¼B&V!¯ÉÒÜywÐÑ"ŸxÔ&ÙXa•yŠRŽy^’¨"•%¢² ©ûúvxÄfK|vjDHF8["w¾_\%@“\tÉC“ÜÙWEsö•"¹>õ¢N½¨Q/ê´*Ú/Hd@ÉYÙè¤í—Œ¸WqòÉ'?*‰ß®2=êÜê÷¿ÿ#Ÿ>óŒ½nsÖÙç295ÅÍÿ3Qñ¯ÿöÎ9÷|>õÉÓ¨çäçÿw-™Lš¯\ü5>xÚ‡ùÍ/¯§R˜œ7±¸õ¶Ûùà ¿&ŸË-8Îþòh'[OdÛ{‘ÿß¿ŸÆ.¼+aqçkùòW.‰Ÿ <ÂÕÄïØcå›ßü&ûØÇÃK/½”c=vŸë¤cÞŽúæKÀ²!R>„\ˆnuèõfès§éófè $ãMV“¤Õn˜XÁú‰U¬ŸXÉú‰U¸ l Ú@[BWâ±61Ó&kÓ›+0:¼‰ÑE›ڌ⵸ï¯ýÜ÷×>îûk?Å­ËŸ=ÁÁÏšâgO°ìÈ[ï^Ìæ»–°å®¥l¹{1ÆH‡Øò6±embËZ4‹²›™+~GGmG¨v„ÚÊþd“`¢‰?Ñ è„CYÂÁ,Á`–°/ÕýP—f?IÝPÍÙR ™lÏ÷obñÀ‹ûÇèõ§È7§É7fÈ5gpiuK¾:Îó?ò ¦k½Öe)¬ËP¸?Ku2ƒ§&ñ´$žš$ˆÇQW{Ýr‹ºÊcDÛÄu3KÔM,Ö63Qf}q +Y_X‰_1¡@Õ‡ªfvH 5H 7H 5P²u%C]ÍÐPÓ8šIÒ¬uK¬F\iQߘ ±1AcC‚úÆVµM¼Öƪµ°jmâ+mbGwˆe;ªCÇŠQn稴sTÚYz‚ÏPÿÎÓ•›x†r‹µÍ´u“¶aÒÖcتAÊ„¡B(øžÆ}·¯à¾ÛVrßí+¸ÿŽôR`ä¨q5Á¢£'ȨU’&I»IÒnP“2lÒóOßÅQçBIÎã:n ã„÷ÛXA +h£¥(O‘<¥¨†Ú!¦u0Õ¦ÖÁÐŒ¹©ƒ_Uq¦bs%DFÊ…”Dˆ¬ÈZwSÛŒ²…i+£la(šÀ踘Ãv1:.¡ QL"4%Âlš\ʺ-«Y·y5÷o^M5žÁVqi8‹´n’´!˜+”e:†IÇ4q OÒP*r%@)û¨µS±‰)61Õ&¦tX±h=«FïgÕè:VŽ®£žK°-=ÄxjméA"Eâ–Ó~È ç>¤_Çr[˜Î\‰<‰²”£,å)K9*R–𒦮¦¨))J ÍtÑMÍpÑL—Ʀ4Õõ9ªë²ÔÖå ZÓCktKj FïÑÓô=CÏÑ3H3^3^?3^0F¿6EŸ6M¿6MÆ/S¼Å¢xkœâ­q ·Z¸=9œÞÿ¹óÉå²|à”÷qÁ…_ØgìÏ~ú̹¤o¡q´ÿÇÇ8êÈ#xÓOž[vù÷ÿ‡Ûn¿ƒ Ï?—lï gžñ .¾äë4[-N:ñU\ø¹óæz%ƒ à¬sÎã¿ÿûh¶ZÜË¸è Ÿ#‘H{îéÜ11Îöráùçò¥¯\ÌäÔ$Ë–-ãÂóÏeË–­\ø…/²eëVV¯ZÅ×.þ2‡|ð‚c>ØÙ‡c!½È›6oæãŸø$üÓøžÇsžó,.ùÊ—èëë; ça×s¿¯vÂãÝ#’ø½ð…/Üíß7Üp¯ýë)—˼éMoàe/{¯{Ýëöº@Iû«ÛD’D¨ÊÝÒVð›&õbJ¢A½‘`ñ¢­¤Õé.±xѼ’Imk–Éû‘ÖùÐVÁ•Àë–x¶ÍÀ¢I³“ôO’èm@ jVŠz´ÛÕ˜”SLY)Zù4x ä<¢D›H+!I¹l }©Ë€>Å!ýk©*ªZ–J1Ãxm”¦cÒlë´Z:n;@3$³6éœMjÀFô°‡#ÚÕ»Ñi¨8pg“M¸^†„Ú-– –Šòl‰C[I0ãõÔjRšT}kj’ÄÔÖÔ~G¡¦ô25ÖàŽŸŽÐ–“hÈ©ž§ÖI9B@£(Ñ,è´&LÂ8ø¦B¤é’JÙêE¶dZñ$ÓÖ ÕZ–é™*9ü Š>Tín©´ dÎDˆ´AÃËdó Á΀N8¡%:d´ê$Ò$ù¨Èd3ÏäLŽhSŽÆ]y2‰‹R-šaQj}ØCZ!‚dD”íJ!Ä™ŽQ™ÉãD1š¹$•\†B>³iª-5NS¶hbÑô“4$M·;m™1ÚKLÒF‹CFî#6Ü!¾ØÆé7˜Rû):½HË •¡I‚¢•§ÔšA..£)'ðµ[: ‘#Ѷê¶‹ÑqPÜ€¦– ©'°u‹H×ðUèh ªãª12‰ Éd“l²J6QBÓ}¢t·‹¸„D„b(–lHfD¨Ìþ=È2šä2ÀL1È$¹°LÅÎ3^¦RÍS®æ136±L3Ó&f´iÅ-Ì^›Åò™d…’‘£”ÍSÈæ)ÆsDºDf°NF©‘ÉÖ‘ëÅ —bØK)ìÁRhy÷1ü± M¿4CŸ4C¿4MŸ4ƒ¬GH:lô—2¶m)¾­àø*®ª¢&üHÁõ 6Õ–¶¤Z„VðºeÆ#jJ´d‹–’ ©X´U {6ñ°ŽiÐÛ;Mº§NoÏ ½Æ43‰~&‡‘¥NÚDm$œ)§N²ÓÀÌØh‹]‰J<‹çk”›yê v#ãÔ“”dH˜Théq‚¾ó`ŸÁxƒ¾‘ 3 bjTb®MGÐ ¡Àtˆï` ÙXƒm¬Á6ZÒ'RÀmë”îí£¾Õ%ÕW#Ù_GÛd” I½Î°¼(I¨ Jd(“#tHú-b^‰˜×¡íÇ©k)êÉu3EGöéÁ0 IDAT3ø1ÅÁ±»ð•f; ã-qÜ-1œ’‰µH$Ú˜G51´Ñ J8 QÑz(Õ4šÅ$ÍÉ$­1¢õjš­ÕQ¼¢Jq²‡x_­ÇEíuÑz\"CÆ“5Jô°QréD©[2IIu†”qêXÔƒ¡kùùÔ C‹g\:Ãàâ"Õán© ÓÙ#n·éÕfèËNÓ˨ÌõÈÚÄð:AKÃmšØÍ­(‰ŸÒñ’:nR#©U`À¥÷P—T¢ÌÒ%0U”˜šI3YHÒ. ‘(120ÃÈ@‰E%Š~Û:#lµGq;£Ø ë‰+æÞȤ —ÍR*•èïïŸw›B¡À’Å‹çæ—.YL¡PܹžÙ¤ ‹áûþ>cïs!q´s?û^ýÚ7Å8éÕ'rÕ¯æGÿ{%W_ù£¹mþü—¿rão Š"þíý§rîypæŸàó_ü·ß~¿ÿí¯H¥’|ôã§sæ§ÏâÂóÏÛמÎ]ýîàºk¯&—Ërñ×.åõ'¿‰—¾øE\sÕärY¾rñ×8õCáW?¿nÁ1JìCµ^ä“ßôVÎ?ç³|ç›_Çu]Î9ïs|üô3ùÖ¥—Ðó°ë¹_H;áñìIün¸á†=.W…SN9…SN9åA­P2³‰Ÿ'ãµuü¶NØ–ñ**): ªciJÓYÒkê,;,¤W*rP~õRš©-$îi ßæ­C$A$C_Òbpp‚ÕÙ{X½ò^ä¾€­Ò([¤Q¶F#̸½ØŠNÛ2°{tÉ#ʵ Q!ÒM$9"Ÿ-1hL¢÷{h«]î›>˜»§¥<™g|j„fEÇ«ùø5¿êc4I­)3*38PFËûÔ]‹ª› æZ4Êí{ u?fãm‰ e@Ò„¤)rdéNÐR-|O¡ZÏ0MΠ®Ÿ@Û0º¡—°áIY¦&6оv%§“Zå^å]Õ@M´(Ü!#ß©ãNZ´&BC"ÒBIE ¡œë£•M1ìy¬êØ…ñþ&f:PmC¹•Abëq<=FK#õ鄇ÉD‡)„Y0 ›¬Zf‘²•åò†Ã­Ä›ƒD346 ÂÝ>Ùƒ6³tdŒÃã°C7"çÀM8–Ž«lkŒàÌĨlì 2b4—%¨ªfòyä˜G]NÒ’Ôå$µ(ÃŒ×O¡ÓÏL{€’ÝC6V"·¸Hv¤Äâp3¾¥á$ Ü„ASMÑ®[´+ Ú ZÛ’ØÄp2ÅæŸh–á)QS&lJD-™¨J=@®‡(õÉŽð^BÅKj„ O• T W ‘Õ+ßFïõÈ*UÅÇI ôŒ‹÷Ð{\4<4Õëö"i(àH:®¤ãÊ:yJä£yJXQ‹R»—ñÊ"îž:Œ»§%;P"O¼Q Ÿ.·1•6ÙTs¨CAîeÌXŠª/Å6 ¢H¢O™f8;Áðâ ”vÀææ2äfH»§é$ÑãñX‹D¼N*VcY¸ŽÑzVDëY­gSe)ëÊ«YW^Åú™•hŽKF-“I”I‚PÁñ 6W—RªõbOÆ7„Èc!ò†¨ ák*¾¦âi¾®$‚¤ŠŸPˆR=KФÝ:‹õͬÌßÇ–Ä(ŠÐI›”F²¾C>,Ðè gõV"N;§ÏÒ ’4Z)¥4íB·££ô†¡Š­Ç¨Ç’¤ûʤ­ ™‘:éf…m¾Š$ðü5?"t"˜ íÃt€Ö×&aUÉ-­’;² šL}"M}¼[¼:Ra&l¬L“¤ÒÀ’[XJ‹XdãÊÛÿÿj”È1Ìt› v¦êLÈ2U§ctT†šä.cŠƒcwSQ2Ì´û±·Å©Üîí&ŠEbE‹ÔŠù•#M*Ržªœ£*ç©Vrx RÃÛ¢m”hRø•âTs+ÉŽ–È/-W ôd x†FQé¡#ÇèD1|T˜F’êr4aÐÁö<|_'ŸÜÊò%ë9ø¨ ¬>bŒ»ïZƒy—MgÌdjí ñ°M_¶ÀÒ‘,e¡"Ñ EuºõV–Z1A­…Ü^7ÒqL| =X¤7i“^\Á¬µ¸o,…¾!ÂÞ˜dZ&·¼ÊòåÓ¾|-‡/_Ëfo·×ÄkèL7°ý<ÊÏ79ÐIÀóŸÿ\~|͵¼ï½ïžw›ÞÞ^6oÙ²¥KØ´y ½½{ï%|(©8°çûü*…I4Mã;ߺ”c{·ßq'×þô:~ùóÿCÓ´¹íÎ=û3s½’çž}¯:éµs‰ßåßÿ®úÑêÖæ'?ÁsŸÿâ’]{:wõÅ ?7—HÿÛ¿¾‡³Î>— /8onÙûÿí_9ÿsŸŸÛ~!1JìCµ^ä¿üñwsÿ6M“Ožþq;ò©;ms Îîç~!í„dzÇåÃ] Û³#ç$'@“|$ÏîÞ‘áJ8w›BýÞ­Í&-Ó‚^°·é ÝÌÐÌÐëOÓè¤ñ<Ï5ð<%í¡Û6ñ°ER¯˜ n Qöslö–0á ?{óŽ×[DšJ ¨ø’†/©¦ƒ®:$â-¬l‹x« n„=cR¾/‹S•PíªÝ&f7È%ËôDEúbEóE”!P‚‚ÐÄ 4œ’ •u[“¸ÜÀs êÄA‹iq"-Ö=4«ÀkŒ–dQ#E45œŽF©šff¢é }t¤ (бh·ò ËD6Т{/\ (•Ùi“n’žfîÞRYÑôn§éi§NΫÐÌ0È$VÔ@ =ßCq=´ÀŸ½o0@ÃGVÀ7UCÅ7Td-$ÕIK5’Q=r!'0¨úi¦Ý~OÃñ5ìРMŒòˆK5è³sèN÷nE5$­×LN°<¿Ýóð§5jaš©Æ8R,@Ñ]”D-ÝÂT$Ô­L^-011ˆ#kí<£¥˜N‡NK'ªFèq;êÞK693ÄDuéLÀ8H…Ù ‘n‘Œ°)–!4$0"\G& BäÈÅPZÄÌ&q½‰•ièm`È–Ô$N“˜Ô9`K&¤àH&vݤS×q§¼­àÕ¡Ý2ðèD6&ºê‘ËÔIõ8 jU:Í<õ–Ñôš@<97€º‡”ôP$5á¢÷9„šFT“peV'>¤í*² mRÔIÈM,š$”&fÔ¡ê¤h9:u'Fµ“"U!ôI…5†¢ BI¢åÇhK1Zr I Q]­î!©V‚‚†7¥ãl3ñj&aŸŠJhñ=ë/ãx1ê~š’ÓÓ ±ý~HBGÆ·»½k’"a5›„Ù‹ÐCÏ—i8&'CÁÉ"“5êäŒ9£†"8ØQ@5#V%•/Ò;:ÅðÁ[)óŒ¯ëÃh•‘¶Õ‘“5Ô*Æ`…Ø` 9ŠÙA7ÚÄ>^hPórØŽ«#i.žçâ%$ÚXÔ1bR}¬º„Q7P´2¨Ã±%©Umr«K4½½õzëÓô×§ˆù6Umß½VÊ#‘ô|ôÿ}˜ã_ùjLÃàÄW@ÜŠ³ví]|éË_šwÒ‰'ð‰3>Å—/ú‚a‰™ñÊS9JYÊ“9Úm™ÉBÊæU4RI¢ŠÂ6cSú¶n@³•&Ì4‰JUüÁÜf Û“¨G)ÊíÊâe$@Mú¨‰íÅ#“¯’ËäÌ ¹|¥Ñ"°;ø¶C`w™Ù›‰ˆá'ã´—Z´—Åie㪂&{Ôå4cÒRfèeY&ÉМ͔*ö"ÆÊ&Ñx¥õ+Á”»–ˆ tJ“9&Çú)nMãL†HrD1•BµFé˜&=^‘T¢F*Q'“¨ÑgÌRô˜%¥ ªzŽAcœc‚Au‚A&pѱ£î°²&[œÌêÞTòX›ŽžF2bD¡‹d8݇ïÈ(2‘èÒÏ‘Ðé&}i R*"¯‘³ÊäâErñ}éiúSSôÇ'ÉËEüÔ&bÔÆ3Ô&L¼–†Š„‚Œ‚„ž‰Ù³¥ƒ•o#vÿ^$]vQ-Ÿü$‡)·“ITð2*~FÆ·ŠRžfU£0#>‘ >ž¡îe™R†™Rzh¨)’É6Z_@²·Io_÷ïm²0Œµ±ºÁ#š’pã2mK%Œëø‰cýƒ8ý2Åþ,cýK™‰õ3ÕÛ¤ §·… K!µ© ötœŽ£]ŠlLã¹Z7y6€îy“Ãê`$:VUwq* NYÁ©(¸E‰ª/±µ’!ز˜ÊÝ ­Á4µÁ4ÑP@Ï`d‰ÐW¨„yšA IŠºCd‰˜ÚAò¢ª‡7îÒ¹¿C4c$¼i‰hJ‡~™N6Ž›5ð2:AV!Œ¢P& ¤Ù¸DFÝ3E!ž«Ð¬'`FÁÝbAJ¦-ÅqûudÓ#¦tÈ ˜`I|Œ~¦iÏe,“Ãc4 :Íqæ¤Nc\'ž³È÷´ò*~D½™a[i¸[ŠÃ”•ããà¦<“z2Eµ¥äôRMäp—u…–jQšÈã;±ûsÔ2Yj™NF‡D™g¿ìQ$²‰ CÙ †2ã e&H Ôˆ µˆgšÄÕ&Õ¦AcÂ#šð°'<‚H&3TǪ“®aÒD¢Œ†ŠIˆD•"i¶2DŒˆmä(!ÑŽ*„ÑZåÓë;ÅhIŒ¸Ä†"Ì!—ìPE é$â4ò)t%‹[pm—ú˜‹—‹í41)c+*ñ¨míElkç¨yq¢T“YÆÌeHr@5LáHMÃ"Ÿ,p´v~¨ñkÅ~D¯s;y’>€åË–ñÓ«¯ä3gŸÃõYlÛæ Õ«9õƒïŸÛæŒO|œÿ÷Ñÿ䨧>€“N|ŸøøGãÔ÷ŸÂ _z­Vk¯ ×ó¿Ü}Ï=|÷²Ëùî·¿ÁÇ?qÇ½ìØ† îØ+¹yËúúzçÖõ÷÷ñ«ë¯cppàkï£soÒ‹üÖw¾›Ïü×™¼äE/$™LÒjµYºòaÅ}(çá@´CKljŸF§b“]òj™•Æý¬JÜKV«pov÷Z«°5,ã© Ž®b›ú M_|š`X"¹¦Áæ{‡Ù´vQ8B½ Òn«L{hnN2®ŒUT™$l;cB³ •ÌÌŠå:N³EÛ•hD)Jv¥rå™J…jc ª[,jãþ”Oz NooáÕã,:xœä` 5 eBÔxˆçÇpÛvÍ¢^Íâ´ úÍ)F–ΰtÉý ± O5qU³;Ublò—²Ù_†ï«Tü‰x“k’‘ÄfF­M´r:“ýY¦Vd [9BO&M"(CÏi£™!aF'Èè´R.1©ö€…¿\SFñÑF<´}‘‹¡;Ý¢9èºÃ"eKÌÍ,ÎmfñÈf4ׯ %ÜÜ@ê~8ž} d„FG·(eò”ÒyJ™<55M )Ô¥)‹‡J “& LÀ¤Ò1 Ëý”Æ]Ö']Ðe‚¨û‡ R°§5šcÍ­:îd2­4¶£ Ò”YÞ»žX°žŒVcÀœ¤G+Ñ'©k)Za‚¬R"§”É©e²RyîIˆÛã$;CøÕ*å)m“‡ëƒ\ iùQHz’$}’)ÒÜCgñ ©K2]g(½Åé1–¤ÇȘRz”Q#%×)ÔÔÆ2ŒÝÑÃØÚ>¥2:‰¼ËÀáúɤ< A€‚鲃bù (¤UVô®cÒ`ÂdÒ $÷áWHpgéÎ:vŠ–6HKï¡©'‰÷ùh«’«ZôÆ Xj›l¡‚5ÖB»Ã#Úž&i*ŽªÑŽ™¸‡ P<8˘¼”T¯ƒI)04´NѤ5• 6•¡=ea;q<ë%¸c)|Eëž7ìI1Ò™:ÉtCkÓ¼[£qF8£ánS©U$Â-Ê–Êf«ý`ÐÖHhJ@¾¯€«Æ°‹Š›§íY(R€¥7»Ei {-¼ª‹=î ßoÖ8ÁLŒhÊ$è ˜8#1œE&¾ªd‚H& %¤žÞ†ÝB0›øY¸ÓÍÍr?݇êô2êÕÉ%Š &ÆY£i¶0J™[e<Â.tî ±×Øw„äVÅ>Ȥy°B0;ÍØÖ¥ÜyïáÜqïá”å<õ(ÍMÿxN¿Ž£šØv2ÞMüš ­¦…7)Ó\GÅÅYÃYaâ¬0 BFêž{E‚$ä’eVæÖqXöNÖdîÄHÛøi™ %ãk2R)Aa³wz´ït #™hMÓ«“IÕ±âeTâ˜hX„è´Ð(‘a!1¶‘ A› QäÑ*L‡Í‚Éä}ƒô­l2|Xƒá¨N.ßÀLú4)JJòiê2Î:‡`Ì¥½Î¥:RÄÄ@Ã$&K4’‹h¤ò4’1ÈIT’Y6šK©*IÆ‚Åd• 9³B6ÃJë~´ÈåöGä§ou«V­äòï~{Þõ¦iòå‹>Ï—/úü×ï)™ÛqÙi§~€ÓNýÀ>÷y(qö·v»Í{þõý|ýâ¯pÌsž®i¼ýïáç×]‹aüçégò•/}(Šøø'>Éë_ûš¹ýßñ¶·pê¿„óÎ9‹‘E‹¸Ý:.üüE|ë_;`m~¸1Ú#»P éEît:˜†ašlÞ²…Oæì‡÷¡œ‡ÑAx,yÜ&~¡'ã7td Rñ:‹ôm¬ßM¿5…‡ºe1iõSˆ÷@,Â3TZZœŠ’&HKÄS ú‡aEoáÛ>­ùÿ³÷f?²eéußoŸyŽ92rºy§šºŠUÝ$e‰Ãƒ " ¢lÃ/lAòC6) &dË0àÁ’À† ð³’ïÊݬfUõ­ª;ßœ#c<ó¸·"YdC”ÙnºÙ,3Wba#OfÆòN¬½¿o-–/ân@û¬/¦t‹ÚšpÀ®ÄѺ в $sÔöš&i)“Ž4µY¥gëc^_=àÍù}ÞœßG6p]!Ödž•0š-9zÿŠ·~î î¸Úõ£H›ZÚ4¹E“YÔ[‡jí h\p4¾æƒñ3Þêñ•á}…M¡<Œ¸¥ÝšÄqÄ|;£ï¯™E—Üï½àíèsb#Äâð¨±h1©‰þêO£)IÜ™$Ò"íBÒ<¤0|ŠžK{`§¡J¬£ç(ßQÝ…ÚɾuÁ£ð)ïÉ'|C~[TÔºE¥YTºM+Œ¼ÚEd*à¢ÛçRîcÉ­’,±%bÅu5 ©M'h(S7qbszmcƒùGDÀM %\»CêÐgíÀs[\ fæ%–_3ò—ø2c Ö”¡Òl|‘îbº _e»~:Ñ`ÐbÒ ›„y&y¹40.]tÄÄ_ú9DW#4ÍM Ylñ‡6úš†´"n)BI8ˆ™ ¯¹7xÅÛÃÏñȰd%+¬²¦½ X?÷xýñ„Oÿé}—cÀ¿¥Gï°â¡xMÑsÑ€);jaQ²‹ëpD‰ã–ôÝ53.±©ðx‡ƒ%Cr<âÄ£8wÉ?ëSüÓ™xàîẨ{1†%qÁQ†o§xÛëºF%QŸCÓé4Òiƒ!‰Ëšm¡ï›èÊbä.™7Lôý†Xë“Ý$ëˆëçûT¥ƒæý;hóÓ«±‚Ù¨ž†ì Ì~7Ìè 7 FK<-ÁhäµCÕ9¨¹C‚F¢úÀ”`œ¤L͘é8aô(!UI9`S™W3 Ñ0±¯1ì†^³ÁŒ ¬…Â8ïÐ^´¨ÝZ£[:°°K›¢ñ(5—"p)Ç.ueÑÖ&]«¡:нE³k4¯S£kmòÔ&¿±Ñl0fÆ ÆØ«°£Ÿ„>F,•K.´rÍãRÛçKùõª¤zQR§¤ú?K’ˆ#`=ˆ{Ì“1//îóéð;¿ûWXj#¸÷3¨§@)P}À¨@ ú2EþÂ#?wày´s!íøX vBVàB8ˆ9òÁè~nôÛhNËÖˆØ![=$ÎÌs…üž¢üm‰”!bœá–þؾ¯¸1,"ËÅw=lÏ¢5[rÙZTå›¶c%ZJ#C¸1UmQ-V p(r ?¨Ù?èêKWn‚kæ˜~ •MÝt”—’îS…|¢ @š;ê<Á£.Œq/"s].ôºlxËxÊûÖ§ÜÓ^ñŽþ=B‘pÿ¾ü3|Ê}?þñë—ëäÿ±íÿÿïø—õøýúþøþý¿ÅÏÿÜÏð¯ýÒ/òòÕk~ýïÿƒ¯éÏü•¿ÌÏþü¿Jšeü¿ü×ù/þþ¯õ¿ö«¿Â?üGÿ¿üoþÛ\]]óÖãÇüúök?ÒsùÓîó]‘ýAñƒ¬"ÿ÷ÿè¿á¿ü¯þkþæßþ9<8àWÿÓ¿óU~ã‹æ:ü(Žãwøó„¯­ð³í’`°ÄnrÒMÀ‹Ó‡t‰F?^s½œP;{Þ`=¬éÝO‰§}žtï³:R¥Š*†2Ù±ºqÑã„Ç“gÿÌërÂM·Ï\îs³Ø'¯ƒñ‹`h»L;3„éÞÕ{=Ò¨c¾–¨ßëØžÃb3e±™o|ÔF ·r—37(1ßÏ NJÌ÷$j_§´]êÊ%N#â¤GœFä•O­lújÛËqŒ’ÇÑSöü+<3C!h0)pIÙeÇifÇÄ›£ %=gÃÈ[`[%™æ#Ñé³Á cÊœ ›îX¢g…Kvã’Ý8¤s›lmQ&M©Ó•Ñ)ì¦ÆïR"µ!bK×êtNѤMW+±õe*ÝÆ×²?Ì–CQ)›¤‹ˆ»ˆXFl‹ëå€õrÀj9`÷H¸uÚÄ¢êÝkîFGZ<Ðad@ÏØý:v«A®ÚE{¸ Œ¶Ìs0ÒÝÿÍVàkYÔÍ\íñeü.28]ÞÛ‰ìÔ¤Î,ÚÜÀŽ*œ^‰UØQÉÈ^2²Œìc{Ae4án¼‡:¼ð¡1p'%“hÉ8Z1‰V¸nÅv±µ"â~DZùg—?©¹ Í•8fN†ÏëìYb¦9ƶÀÜÛ’ù˯>Ÿqs±GUFìJfvu£&ÔØ´c.*èrM6¦o¬éëkúšHß’ÞfÛíDè–’.ðɸ±®{׳€ëû#ºÖÁî›Xƒ{° ØßR>´8?:à»áG˜FÍçûïpùÎ>™ô`$`eÀÊ¥@䦨z‡­7ØFŠCEÛZlš!•ô(„G2ŒèiØnAØlZ+öš¡µBw;R/ ó}R?@ú‚~°Þåj+•£#{DDõ¡•ßÇ:ñˆÏuÄŸÚP¹>[Ù'ï|:¹»2`t-ÔËšøK‹ôÜ¢©,°lÐ=P42dW7ìAù¹ÏBŸr£OÉô¥kø½”ÞÃz΂ÞÑáB³çÑNš=—Úwv%Ês‹za’ˆgò]A¦"úúšù`Êj0Æèwì97¤šNbh`úTvÄ:­xöZG7{lãÖÕ„³b†<’Ì‚sgK76hÇ:ÝØ ±MšÚ¢nv½¹¥ÃT€!`¬A­à1p_@@A.`\(¸.+œù|©?Â0r}×S˜ —õ®+‘ ‰‰F‹­j•1”k¦FE¹§Ð¿Qê)G—ÈY€´Êóg¿í“\×ävƒz¯ÆÔ u4 4 Þ±‡z7"?¨Y8’ª Øä²"¤Ê]º­‹´ûÈ# õ-ÆÅî¾\°Ò¡0Á ¡ÀÄ€C‰(d˜t:E粮ŌŸŒœåçÇ.Àýÿ܉¿þŸÄÍÿðßþÃaÛßùÿ£ïûþïþÊÂßý•?ÞˆNÓ4þÞ¯ý*ï×~õÞ÷Ýö'ýüÛö§Ýç·"û§ÅŸ´ŠüK¿ø×ø¥_ükß·íoÿ­¿ùÇߺ퇹ÒqÜá_w|m…ŸeWôKÌMK² xùì!×Ïf8‹kTbŽ+¦Þp0¸ ±lb«Ï²Ûã»gíe¾ãEF{™1±Sö£˜{Ósö',“OÎßåóóŽô: ߨ»Ú4CJsi+ IDAT[@dì„ßž¾ÌJÒJ!WŠìJâV5»ü§¬ñ¡cÚáÎjÜýw/#˜V˜‰œì\›Êæf5åæz›«=ºNcÐ[3¬ô× Ã%SûŠ=ûú?k·JCÄ–þNø¹s†Æ’·Ý/ÀP»PoS‘ “–ö˜cR“ã±` cŒÉJŸìÌ#ýÜ%ýÜ!»°è\“ÖÕ‘®†Àj*‚6e(× ¹!i#’¢GZø$EaŽ t¶fDOßâŠOäx"'ï|.Û}.›.Û–ë!ÅK‡â™KñÌ¡¸´©Ñ©nY+†j ”eÁCs]ák`kЊ]˜³ nû‘Dó ü ôäö†ÑÀ³ '©C‹9{´‰Á"™6ñ.Äz®#otº¥ŽqØîx°ïG/x=ãaøÛ*)­:Ч¨Ã#ˆ'¨g&¼6°‡[œñ¼ënÿ>Í~ÀòÁa˜¸ûÁ¬$ØßNRªÉÙð€,tQNg'\Ê}²È‡/ x´ä¦Èñ´_Ï Ì ) 憲}¹›xh´ŽŽuP0‘7<Ð_ò@{Éý%–Q3·§Ì­)s{Ja¹ôì =kCÏÜ`55¡“:+ß‚^ªÊʺ†*1HÎ<ÒLк¥îRê.®£*, èRƒ<ñ!î¨V:åÚ ©t° ÐMP&´ªÐÈ®T,ÈÏ<Þ”l|²a€ ü^ƾ;çèèGõ+4[R>Å-ãºÇz1b5R-F»þ¼2Ùã¢;&°SÔ ¨û Cï˜:s -Bµ œUjòìUíæÏßAŒÝØBKö¿uFYÔÞÎñ¶òmÊÎ%ÛäqˆÜjt­S`¢ ++©ð r ¯gP6KÀéô_ßbš50i4ƒ“56;yïÐabª[5„*c ×ÌŒmV){³5óÕ Wù W¹ÃÕYÄõÓ{t^‰ôJx¯Äû©M(tà ÅÝ~ “|Ò±´5ŠÖgS È6!õÖ¡‹=”¥¡ŽÜÝýp¿…¼Òv+š•Ž‘cs'ü<…rA%o…ŸÖçJÛâơ çÉŸýÃîàNüÝáw¸Ãþ4øÚ ?Û* 4…E² ¸úbŸì·C´ ŃŸy΃£g~xÆìÃK^.ñr±Ç«å#^ž>B=] žÞÀ—7¨§7|ëñ Ž¿uÁãÇOùÙŸ|Ê|y€%v¢ïõâêÞNDÙ\ „V{Iº’/é— }âHKì>xØe Œ^‡3n>, 2#+LM"5ƒBsIãˆëÕ>§§÷8{~‚E÷  ßÛðNï ÇÓ׸¢À9 AIGBÄšcÃȸf 6ôYÓc%†,²C"bú¬¿ÊvK ù’·i0¹aJVx¤ç.éï;$ÿ—MþÒ‚tÔÀ0V]t)¹bO]£´èQ$‹xJíÙ”Êacö¸Ö&Œô%V w…›$*äY÷˜§ÍÛ<+ßf¾™ ^‚ú¨ßõ¥Z ŠôfjÏ€™3tnRnM44vŠCû há¬/#Þ} µlð<ˆ$uà2Oö¸I&h‰B[KÔkà•€W ÎA¼ ¼£ï >œ~L‰ƒeULÕ5•îVü&{;áǵèàF¢NTp˜žó¡ó]~þðŸqà^òÄz‡'Ö;8VŠfV¢C§Å-:7«=«=n²ÝØ=+O¸¥JRZHi£¤Ån¥ïhÒ*ƒMë±­"×ð³œLú(!°õÇ,XÜŠü?à#žó˜grÎcžÑ·ß¦éû,g'ùèx÷—ôÄ î/±û•fq®òF;¦l]¶ûâh@vìÃC±3¶é X‚¸”˜Zƒ«uôŒŒ¾±"®û”­Ï¦²-hF‡=,°Çú5oÉ/ø¦ú˜o©ïàPòJ{À+ý>/µûlDŸHÄD"¦GŒÞ´dfÄÊi°z}ÈJP%´TŠ:±hÎm’ÌF\8ài(G|Å.W´ó€|î#æ rP:(ý¶¼Û»û­@æÆ!Yë³l'ˆV! ÔCBCõA?g?œóvøœo„Ÿ¡›-‰ØÅˆ$ZÈüjcÑQÞ¸¬¾§“\ HÛí=´Nb¹Ó슉qÍttÅxºBi:µ‘š>Ø{¬Ò›Í!/º ­­´bú3KfG öö 1‚\¸äÂ#i¡]I¤Ð© gWÂÙ»>Ӟؙ¹ ¹((Ü(x-à †Ãj:ä¬8@×wîÅÁî·k4 JŒÛ¿GÕ2e(WÌŒ5á,eooE¦|Öåï~æ’vÈ«§=NŸÜÇþ ÇþÆŽîûÙÎé–ö«RkO“ IrMc¡Ùä™Ï&nCª—¶tÁuvA.PÞ–¬JKvtôL$v +¤&b' Íe£÷1UƒR¶¨Èðÿ¬qÿR܉¿;Üáw¸Ã‹¯­ðˆ5hŸ’›>×Þ>×ý}Ši@¥lÚ‰ê ´@az nX´ =ÖŒ´d£Œt¨©Ft$Þ–¸÷ZìaY7~‡æ „£C£A¦àºjì´¡?ŽŒQŒ?Ìiê]ŒBÔûYiåšTè¢Ã4[,·FÙ‚ByHt2å“U‹m@|­Q¾)h‹ŠUÒq¾01ÎâÉ3+XáÎ0d›¸lc‡Mì’$6!Ý­OˆIˆCj ‰­1[{ÌÖš0rWh>8^Eä'äKº ˆ·=6›!éMn$[â½›#ŒÝŒøÄDêxN†¾ìH³‹§G¬Ê1Û²OQºt¥A31if»¾²Ü÷°ŒPtèT8¤…ËrîÏùuP6!iSâ4%Uî°ÚŽÈ¶!mlbÑ1Q†1n/§{´s^í<öD#›êäºFv¦“ÕJè¡£„ètÂzÒQNtò‰»Ë‹Ü©ÿ;îÄßÿ{üƨOëýŸÿÇÙkÿù‡~{îú_àkwç‡þÆ/ÿõêï¾¶ÂoÄ’oò1£U´{ÛCªÐCv!æîÎôÃvJúý5µe!IVÈý ù¸Bnã„S5A·ÕžŽô T`Bi@ÑÀ¼…¤Á^ǶoxäòØ8e´ 3=²‰GúØ%Ý\pùæ€ËÓòÌGH…¦$ºj1U‹T© HTˆTyeÇ6Ù\ѾÙ"׋«ùÜaÛŽ]ôcýØG?öC›â´¦|SïÆó‡6 U0¤ '”ј"œŒçèS‰½Wâ[yæ±>±z9fùrB÷ ì-á`‹?‹qÜ}WZè(K§º±©æÛù€ùÍŒLäʧPJ Ô‰ ë4:× ¶{»:i‘« ›ì‹šö‹ÖzÁ^¸äd°ääÞ’H«y}v×g÷xsvL2ŸìŽÁÑwÂO²»k]¾2Fñ†{ƒkfÑ3¶À“+¼h…{²¢QËñ‹ñšå$a¥ï—}â´ÇVëß‘T  P9P@íAâÁÂ×@Ú] SLJeS76MjÒ-u¸ømÆñþ÷Ÿòðà¡S¶>ënÀå›#²³U4`öYG¶N€¶ÈÐ9b™¡­rºC“îH¢åDû3眣þKŽŽ^pôîKÜ¢DT¢ÖµÆJóÒyÈ+û/γèBE ”£Ó•±ìA«(kmFqjQ¼±(NmÊS ¤ZÄ•vÈ3ñ.õÀ"û4ƒÁÁ’ºPtóŠê´"Ÿƒ¬,:ÓEš!Ò ¡‰yXc–„1"dAHdAHë¹Ô©${ÑÑÆ-Åó†ñ½˜éý’ÉIÉdP²µ‡\ª}.»ÒbŸ…6Á2 ÃáÆ˜ W-«ó1ë#VÏGè™$:IÑî_0¸s<=ÃK¦÷Ü_±¼7âå‹^¾<á¥}¸ÒuÖn¥¾Ñw«\·™tìær0{5½É†ÁxÉp´D Y_X]W²ÒØ;¼âá½ç<¯÷§”QJ ZòÂ'ßøäÛ€tásó&`qî_+ÄjŽ•¤„yʰI“’×!qÒ£L<â¸y‹™7˜yK[äµO^ù´µ‰íTLýkŽyñó†Q° ~`Qõ¡E¹°¸Nl®‡ë6Ùww%Ó !v3Jò~EûvC#¡ìYHKGòçÇÕóÄß/ü€Æ‹‘è~´ôçÿÞßø×܇p‡;ÜáÿŸá7~ó·øßü­Jü}­…ßG|̘ÐE&Û½!ÙÛAu$PÃ] §¤gmÄ‘9ݾ m]»Ç:„X†@š‚ÎHOGùø&lu(ªÝìw[`/øÏø‰Ù§üeóÞ½a=é±k­Ï²ðôãwМŽ,ó¹z3»~†ê0ih0v+}Ê'“>e¥¨·5õ¼¦=QçK£#ÖÎŒ1Æp ?1FüÄ¡€ùrüdA÷éùÙ íöKGCŽFÈñ˜n2AŽ'”'!v]X)ýÁ†"wYXýþ˜ÕïMÈJŸðý„Þ9û\18Yîœüt@tÉUºÏÕâ€Íw\ÿÞ>iÐY:¥#m Uî®]7ÑiºùL…EŠNG‘+V—}¯¢ýgN’±÷­SÞ¹wÆGß:eº_òÝϾŸ™lõ)çµ ÁÎó«ÒN]{[?ÈÙë_ñ8zÊcÿKö‚+zÑŠÞ½5½zM©ÞXkN­„7VÁyU2O+ÔZP—Lº kP)°ÝU‰‚¥º‹ 4Ú‘ASZTÒ¡j,šÄ@.5Ô^ÆqxÊGïü>?ýS¿ƒéÕ|òâ›|òüˆON¿É«ÕÚA34hú&+àMŒxÃq®cÿ¥]ª™=+ð&-‡“sÞ?ú’÷«OùFõ)a‘¢-QÎô#¾dhÆÖ=šR@©#KEW$mDÞx,ª)ºl‘/òSI÷‰D~*IDÈ¥¦¾ó-rßËð¿™â$ô.©o:â3ÈŸAümAµ4QŽNˆ²ûX{:ýרfL¶Æ ÖÁEÚäžK)ÚDRº@«¡ïÅÜœ1 ”¡MqÏ&“.ßþ4º-‰Û!¯7]ní‚È+q;ò}´Âð›½Áá7NÑ ÉÅçò \t[ÙÑï½ý?ýÞ?çÑáS~×ýWÐZÉf5à%°ŒŠÐ‹F £%å’K«Ç$ÿ|JÛùÈ~ˆê‡È~ÄñìŠã{<¼÷’Ÿº÷mFÃÆ>çú>ÆŒ ¹ÏÅæˆËÍ!›Í€U:ÆëDÓ-{Oy»÷9gñFcsV™dÛjí/]ªsÝG“Wts>2?A÷;§@¹ ‡¢³Hóä‚6·¨sm'üž¬á³+øâêš[ÖªÊQMM×IZ¥#à+³ …  ôw¾ïÓ(‹ÔžRZŠs[¡Zƒ<È—>ùe@qáм.¨/ šy«ì8!(FMÂL%¬êŽ2ñho,âEŸfm!¶ ±Qˆ­BÕ©étšN§i„½˜éðš·Ä|àü>ÇÃ7KqäRÔ.Iêñüãñ{Ùó€ùÇJírÕ­K®üHÒª–ºÕ y[¹ðç ¿ð ?ÜŒïîp‡;Üá/&¾¶Â/_x\}gŸ¸éÓ$¶V2ž-ÐÆ˜Òé:ëtˆ¸T( ”-¬ßIivæüÔX4˜™Nš 8[ ‹ËWûœž±^õ¨KTwÛW&ÀÒÑ 3èpƒ’ÐOèk¤%‘¦DZŠV†›%ãdζ葶Öa…í”ÈB#; hB“Âv¨,{WB¤´ÒQà+¤-©EU ¨ È4ð`AÁ:Ü™-¬Å®Õѱt‰iHL½C×%Ò¶©—féQ§>©ðÉBŸlê“u>n" #lq²Ô0‚iêTÊ#ï„¡ÀR[Ò)ƒ²oSÊ‘C1v0ìîqìÃi±½£¬i/tRçpmvÝ?;WOææEÌ´Ø2±·FÌá0Á×T—ÕØ#‰\ [Њ Ú-º!0>èSAçt¾¾ÝÎU´nmòÖ#é"|;ÅuK”—a£ˆº­¤J;ʤ¥Þt´‰D*¾Äžìä©í®1§+ê^GÝÓ©úu¯£ë jߤ°ÐØÆ %8ˆ™>º¦lè=ÚàÞ/ÐïutšF~n²®\®n|®®|,:,¯ÅÑ*,¿A c´þ-‹Ñ꘰' =IhJB%y¬¿àmëSî9×X^MÓØÔµMÝX˜zÇÀÛpìžSx.A—³^ŽØdCÖñˆ4i”N£HZ‰q^ad5†Ù¢O*¤fÑi¾q3*˜®Ùï]%Š‹Î§N|Ö×>rÕáb|§ÄV8= ê1»‘*jÓÙ­„VJ 0ÁÐ%¦Öbj ¦^cÙ U˜”>›ï (a)3ej^“ :AQyd­O·5¨W6Íܦ¹°a­±8s‘𪹭JšÚ itÚZ§®Md©Ó³RîN‘lâ8"MÒdGéhˆH¢õ$"’x÷RVìß»ääø¶YãV%nWàQP­†Ó¦ÛPÔ.Ë͘JÙ˜aÃàpÅQ÷÷$Ãåh®¤–6¨ר0†^Ð7=RÛ$5" <¶MuÖc¹ê±0{ȲaeGlÄ É´€¬Þ½WsáSʧWЯÙ_P ›--¹)èJƒ‡<ˆ»«pÈM;áJͰDIi8èFGdlw ´ºÒ ”š4Œ /XŒNqggdõŒ¬’dµMV騞Aç›´–E#,Ú šÂ¢.-šÂ¢Ñ Z×ÀtuúaC-Ä.;°ô(6.Un#cYètšæv³FˆÑ¥P¥˜Í¿‹éË-S¶ètºAk™t¶Iæú4IÓZÔÒÄl[B-Á×r|-c.94/ðºœ:·YÇC áP ‡ÒtÉ<‡Üò©µ€NúPûè–…át»ÅpJœPC S§&É…†ž šÜÜM:Ýáw¸Ãîð5Ä×Vø]¾9àŸüÖ/ÐYU߆>ŒN™øW Mcr~uÄåõýþ†^M¿¿¦o­©°¿Ê¿+qè6—¯¸yµÇg¯>dy>äôò‹Ë)åR@ÓìŒB B¹Qßï“Îú¬û΀ÄHô€\óh01G5ÃÇKj×Â:¨(,—Êq(76ËOCä@ÀH!F wT¢;‚²¯¡ö]Úè ló[f;›õkg»žv0n »M?6‡!®›9)‘›¹9é:'^Ä‹ŠöªAºí ÎuªÎFyë¨"bÍlxA’†NGF@õÚájy€6êÐÆÚ¨C°õ‰ß h ó¨Â5s<3dzr\³@¶Ð6:ÍKâ˨èƒ$l;öš‚=÷’½÷ßøÍýõdÄã!YÞã"ís‘Dl7b{Š5Õpz:Ή†ó–NÙºTÍnæ¾[¹dǵأ3»ÇLí³¯_p _°5.h Á«³}^½óúuŸ‹u@j¹¤–ImièCET Žõ’¨¹fc ÖŽÅÆöYÛ-ÝTPíYd¡ÏVïQ÷LœSý58v‰{/'=öxåPç:çõˆu¦S¯Sôíá~Aß/éï—D÷ Ìq‚y?Å\'X›„Þ¬¤?«è¹%ý¸d9³îЉ\bu-µpXéÖÖ•; ÕC”®q¨]2l6,ŠW¼Ø<âÅüÍ•Mº è o¡hUƒmxnûA÷“µæP ‡Zsh„ËpÁÑÑ)öžñÐ|ÆF™ìQ2ã Ý…ƒýާ?Jq`ŒXÙC–«›UŸü§Xû4¥…ÐÀ™(ÂIG4i'¾pÉðxþòˆ«—ÐMLšC ÿ0å­ƒ/H­€mÓc[õØ6=Ê¥G·5è ÙjTÊâJÌøL{Ìpx&Ю ÚKƒöÊ ½ÖÑ¥D—Š·{Oyïƒ/8[ñfu×Ë^/Oh"}Ö ï·û Á,f¸¿`6»àÄyM §ôÆ[¦ò†ÃàœtbÉšMÙçãçßâSù!©òÉ,Ÿþã5<ú.ÕСÙT¦C÷pÃd|ÎôÝsÆþ›zÄkãmÞ‚ׯ€L¸œæˆç%«g™° ‡lÃ!q0dëØX=¶VÒ¶ êÐ{ †ß`Y¶¨0iØ%bÊÛRË[( RNźhØè¾žQh…pp)˜pƒT•tIº“É$áÈœs<{Åìƒgœ­;N×§›=òuˆ<êèF%—Si6mf‘ÍÒëô:D³$Þ^†7Í÷ZMg½Q-\ª—2uqíœÐNð†9f¯ N¶óš­SÓPc²ÅcC5c6ØV‹5xZNßݰõˆ‹hÇ2ÄorŽå9GòŒ#yN¤'T®IÝÚ|qóubÒh·&Uk±ÌlšMÚ·PÇ6ְ÷¸£gÔ""ØÔ•CõÔCulß ¿;Üáw¸Ã×__á÷êò›¿€3*°`ôÁ ‡Î°Jæ‹=æ‹óÅŒmÜãþÁ ¬¶fϺf¯MKËÎÓe½11fõí1ËïŒIæ>Ya‘åE!À«ÁÕaÏ„yÔ£zÐ#›õY÷,ÝÙ­k^¡¹ÔXX£Š³Â<¨~cÉõÍŒë›é<`ùlŠ˜t8'9ŽQàôs GGõ=Ú}-õvÎzW `B¡AÒÀ„ ¸h!¨áЀÃŽ#8¸Ñ5ƒH²%L£ŒÕçóOJºuMzÝ \I·4¹AÙYQ‡uTÒl4œMŸt‘Ì#Ò7!eí Ÿ´èMƒn7hAG=¶¨‹öPÇø¨Ä×úú†ž¾¡¯oÈ^xlžôؼŒØ<‰h3]}æŽV?¥œóÞñ½ý9þ^Áç½÷yÒ{Èçúû¼ÊÉÓŠ".É·%l¶˜x=ƒðÄ üÐ ]öHæÝ\£Z9ä­Ïµ>ckGœ¹‡ì‰k–ÖˆX„ä¸tEË«³)¯>žðê;=®í‘KslÑëhCEèUìy ‡î’=÷šseaàÓ¨>[ÕÑ‚*0É­ÖCDì„ßôŠðÝt…å×d¾Ï+ÿ>Yfq^Ød:Õ&Eß´„2a/HØŸ%콕àÔN½3±pꌡˆŠ˜1ÃmŒ'sÜ®À•v×Ú+ÄçˆSÿ¥ ÆrÅAwÁ¸Y‘æÁ¦ ½±™Ÿïír×Ö¬jX׈¼Â~/%x/¥ÿnJï½”Bxäø£ eè.8òÞð¶ÿŸp£|*U³ÀÆb„p[÷/øà½×|øÓoðOâ÷ù^ò>—ë#®W´—ÝÆ - „¦pÇ’Á;“÷¦ïVd/ú¤_ ¹úrHúåè^Ìø[s&Μ“ã2Óç´ºG—¬ÓÕÒCÆ*¨F£VWb\³9ÓðDJ·2iŸtŸ™¨/tÞ9üœw¿àƒ/yçð ž,Þã;—?Ié:œë‡´ ãaƒù¨Âz\Œ¶ Ýö½KNœ× ÅŠÉä†mpN|Ðc¹qùæ‹7\¾9d¹RХРIDAT38^28Z1<^òàè—ê€+u@¬z\oI™ŽS>ô^ðá½ï2¯÷øv£Ñ5=®›¶ë7,/ž^Ì0ªšfPš¡O=òhfõ-Å´Es[ ·Á´jlvÂÏ ýCɧĮזݜK¦|Þˆc¶ZÈKý˜HßÒÓ¶DbK$blUQ)—Dö0ºCH&ã”wfs>4^ñ¶ö9Ÿœ{Øç3ò3¸8QGí(§ñS*Í¡Ì=V—#VÏÆ¬žŽpÜ’Ù[—„"¡ß_ƒ.¨W.›WCª.Eâ§ô6LGׄÁŠ«9h¯µ+H‹-kz,™°"°r<-£ïn˜ôç,º1ónŠÑNi;Á Yó°~ƇÕ'üDýN]òyõOêwù"{—Óö©k;Ò¨RJÓ(û:ë˜'1ÞILï$&:)©r›te‘­"ÒË>]mÂÖÙç™×ÿ‹;þßþ—ÿé‡nð¿Ãîp‡;üÅÃ×VøeµÏùúh—çÕmñíŒÃþÑhK»1YdSâ‹ç—Çø]FßZ3îÔÒBõÕ‡¦@¤”­KS™,ò /¶ÈbU6ȪAU-šÓbxsÚb<ÐNjÔÈ$qû\¶‡h±Ü]I0ÁÑ+:!èÌŽÎ)‘ZбuQrD•›$ë×̉Æ1ýjÃHÞ L¤‘îG¤2"7tjQP5ÕJ"•Äérì¦Æ.c äê|*ͧ²}ê0@›¤SkjãîYJQÅíõz‘cè •´Y—# ÙRùZØáé)íJ'/=ªS‹õYŸxÕC§Ù•>õZ´~»;Ç0!ZÛ¡· f[cµÒ´ŽÊú²£N Z±‹ÎêXFƒ×u¦¤™tZÄ&›òº8áËü\¬`±‚x…VÖhD“ C(LC¡·-z&ÑV ΡޚԥF\ºwä¾Ik+ZKPÛê²æôé€Ë'}æŸôÙ¬=t]GuØVŽ;®ˆ)ýAÆ`P0ŒJ’´f´˜©„T!• Á Â¢ÀÅtpÖ¸B£C) $´Ò¤i 4­Ãv2¢žÀl z^A¨çø][¸v…Õxv‹kui‹Ÿ6¸I“VPi•OQûPÁ*0צ¬¼!±bh-]¦£gnV¢:ÎU…yÙ _J´+‰•äØI‚•Æ8mÌÀNŒSR¥»h"BbB"¹Á“VW£w])LGb$îD7%Áý’è~Nô Æ›*œë­•t±N]ÙÈFße/þßì½IŒeéy¦÷üg¾g¸ócfä\‹£H‰”Í–ØlY¤ Þ[›Œ6lÀ o¼ñ®†^ÈÞyÕK‘²Ô„ÐDQœ)²ª2+³rˆŒ9âÎã™G/n°$Àè¶ÛIPŽøðe""ò ç¿ï}¿ó½H¹À,Ç4zÛKöÞž0Êe£2žPðV†¢F •bA_=g­l®i’¶)i .Ø,ô©Anʃܪ*ªT!ŠJ„s“è²DúZÃR|úÕBTå|…»”d͈Èj w"äZˆd†¨ºOIuqä%51£¥Œ1mŸŠ½ÄÇÄ®®Xy‘ÁyºÃÑú¼Â,»˜[.[Έ¦óil"±šÙdªŒeô[”ލ„ƒùG už*ѬÌì\ƒWU„Ÿ!÷UäHC*¢´ ŠÏA ”(G\g>Êy†BŠå¡ ‹äͨåB%[Ë䩤%™PÓ‘T‹L.È ähqŒˆŠ@Úl9 A¢ÀvšUŸêŠ{ί1cQ3q– í•Þ’zkEÕZS–Ö‰LáIs“Űi¹ÔÛSä ÃÎECS&D/ÂrF¼•÷!Ý’ÈË›í2¥)1J-FÙMD‚ÔI‘vR¤~†ääHEŽX¦ˆÓ^‡ðÚ§hDdÛÉ6Du…8VHVÙ)Ç\ä0Ì`²‰‘Õ³æcí˜÷ Ôm_˜›ØƒãÙ© ]ºt˜MeâK ÿ²ÄúÂÆ&±¦“ê Eý:D¾vIß:§§^`„Ñ¥A|epuµ…·v˜šMffƒÐ,%H …°(áb³¤‚de4[cîJÏQ§º¤ÑœRw¦Ôä)¥OaÊxU‡q»‹0AªäÈ¥ UNIŒì/bÌ-²þœÔu‰’‚XÑ‘; ÖC™¦.£nKt Z)ÕVˆ-¹ø©ƒ—¹Š¶8wñe“T“Ñô”¶6¦.Í””¥îp,í’‚‹ É|¤½ŠóÊNº j§@n@ê ’’… 9…$Œñf ÅY™ø™aDXªGØaÜ ‘¤œ§3»þe¼á†n¸á†_?~­…ßîרèKv«'lWÏØ*Ÿcf>—ÞöÔE»ˆ)Ž$VÕ2E§`éZ\&]îÉÏѤˆmé‚=NªÞm‹y£Êø^“üUNðX¡‘Î44%§ê,é·†ôw†˜½Õ¨Âj\á|¸ ¾àÞ¬^ˆ•Ÿ°#_0¿ÊIžj ŸVøè™Ž×Ô;2AG"ï ìæFø=Ô>âùϰd—À)è%‚F‰+ÕῆrQÃÕj Ét»CÞxsÈ›oéï¸<9ºÇ“£{DÇ)ƒ30ÌY(:q½Áj·J·2¤wû’^ó’þƒKÖy…Ki‹Ki›«Õ6i"c•]¬b©ºd™ ó¡XdØâ2&/K™¼¦  Tþ®ðÎeâ#÷¨Œz”p`²ß<ã~ç#Šš ¨)±ª²(j¬gá+“ä}âîo\a€èÄºŠ‹ýq4}-[ЈfÔ½9wÜCŒ0 YiÒ2´š ×-¦ç]fç6“W]–‹ê£õQŒ¢D¨Í¹(E,ÈZÈ50.¡Ó¸Ú|PP=d';%I4ަŸÜâèð€«Ë-n•źÊj]F!¡Õ™roÿ5÷÷?ä`çz-A¯&hÕ]$Œh1¢Íˆ6.^ê°ë\ù;žIVíª •1_ms¤ló:ÖÉÊf®-¡TÍn\Æuò‰L¬IزG[l„ßéSÖe‡ÅAy«ÊüaLP« J5AÑÔ¼²~jЊ¿~Ð¥H©ì,é÷/ÙuŽ©«SN}d§ ¬›,Úu&z“4RŽ;<õ·U‚ŽNÐÑÑ;>b ÉëœøuF|˜–S¢· ’ ÒÚÏ…_DŽB‚ª$¨µYJË ÂO•©š!ÙÙÇÂO<ág>ù­ˆŒ”¤±¡­eÒµLv&(p‘wý f” W¬zH}7¤ö(¤´[0»l0»¬“^¨øS îJI` èB6“‰^j˜¬;xu‹lO%ßW(º³áÓw.yh=å¡ú!²›stq›ãÇ·¹z¼Í`Ö#Ø)n—ˆv 3%)T‚bóAØJ”‘­Œ†4FqZޱ¦ZZP1T¥%¶êáYãZ¥“"Œâcá§È)" ƒÒR FÅ´D>H¼ˆ8H6Ú–&!÷%œ·½jA³šP­n„ß(†uàpåmñÂ}H¡ kI™%ueJEY"+KÉáXÝ!Z+á7Ô‰^ƈÑU-0Ú%«@íA8„™ _@r&H¦ Þ™Bl¸¶BgoDãö”þí ¶.0ÌËò?ráWä?C„®6¶è 7Üpà ¿X„Dn”‰[·Þñ‹‹úµ~¥¶Gû7.)‹ yH]šP•çë;v1}c¢L¢¹A´T™¸5„ŸSR}zÊIͨ‹žiR-Í(wæØùßVÉHÆ âDBÕ ÊU—NkÈ~ÿ£q8»Ãå²Ëëã}Ü¡ƒã.ØIN‘¤Œ²4G:¯à¿ÈýLáõßZd÷ „¢"ú uSœúš®=à@?äâ*òœ@3*lpJä¤Ï¬¼Í‰–“¨*­Ö9wîòéOrpg†”¬Ï%ÎG¼ß"¶5Š–F|ÛÄÍ4ªæà év‡Üç9ƒUù¬?³8ì«ÍlDSÍ ‘²æ°Î`š"† RKFžåHói!“iùÏã4‰t¬œ˜ˆgÀ‡°µ?Àvöj|òÑû­‚+«³)»Ãép—£ŸÖ¹îðúêÓã*Rà!)pÑ“5…bQÈ…b’;&Y éXAqR 9²W ù%?!ÏBr2ò" .dâÂ`U” 0  ŠÈ(U| Õ¥¬ù4JSêæ’TRIe…DV òñZ§¸”P_d˜? 1е™"íå›qNB \lTѲBíútÊÅ ­šbT3Ìjªdßk2=+±8mqöbIJN†ÔKqF‘ÉÈäŠLQÈ€@Älb%&ð@<Ã^/¹½¤“ “‡ë» Æ]Ÿ½ÍñÙ-òPú¸œÒŠŠ¹¢¿3äþ'Žxóͧ(dÈ"E¹v²ÖXÅæiW£9÷™xmN·9YÞFQåÍöˆfyD‘KLVm&ËMÅ™F¥2¥ZžQqf8bI^‡¤¢:%„¥¡ëeeE“)[Ù5§îÌXoÛ¬%‹Xh¤B!•R¡`Ä!%)Ø,Ò}̲O¡ Šš †P®.iUÇl´ó!‘VbeW5è,’ ‹´B1Ý…!”T³ëa6=Ì.’œ‘¿güB§ TaS!¸«`I®’*Y!“›…” DšVë‚L“I •l-‘]æä/RøiDg„m ï®ÎRµYK6¯“Œòc6Ï`^o¼EdÈvB©éQÙYÒ¾·ÂÞK‘£.éXƒCµ”AR_!, ‚e ÿÔÄ{láýM°WY‚Ž&倦9æ–~Ì[òc²Xf=©pôúã÷ÛœŽ÷ *ÐÈ"%.4¼ÜbžÔ˜ÄM IP²| ˧-®°ñpXãàb§k¼Â¦ª-(ÙR#C貓¡ š#åj*¡D9Rgy‚Ä“§õ‚烞¯v˜Tv)í Øè·Tô-£uI«2 ¢/ДœHÒYJ•ÛO©3¤Î’ : R°>a†ˆcD!ð1…GY*p$(ËÕÕŒh¢p2鱚hÌV5NÜ6ãµJìº¨Õ çö€–¸b˹B¦@Kꨒ ©Oi:sš9N×c"šLi1-&¢‰ÔÌw3$3Glç¸z‰cgm±z\Fk…D]•¨§jq•–䓨¨YJEYPU‡T”†ââË5<©†/×ð©.s’eA²ÈIukEkkIÓYѲ—¬ ƒqVfœ•™¤QT_ƒ@ÝôD‚L†\†,'³%<7cz(“&îÙ­¡·"ôvˆYó±ë>Ûw.É#…ÜRÐŒ{>¥–G$ëTXbÑa„‘Eñ·ÇrYE-RU'(陯ZµÉ{ç=õývH¸«ô®WÌtL9À”JŠi(­)Ï‘ ¹‘³]>£½=Dm$¸ªMŠŠÝ^q+:$×½ö9ó˳«*ó«ÉJb¼¬óry—|!1œwpÔ5¶ºÆQV8êš8Õ‘³œf:£œºÈC‰ðÒfvÑF¾ÈHrß°™—2²’B! VY?µHS…¼€H)p•œ\ÉP‹ •¬s’*ä$¦·ê¼ê V"<µDxž‰ïZøž‰¥yÔÌ5sNÓœS zžÐTfìZ§Ì´AZú¸Š láâ­,ŽV·¹Ì·®ºL:鎌YqɆÙ0#edÃQ‹¶"”(DÍc 22ÒõÌrŒÃŒ§øØŒÒ5Ahâ&Ah²ðkœ¸{œ¹{¬ÜY¤±jT4z [³¤M†y·h’ ›eÞå8¹è¬ÜˬÆ+ûW[[DMè( i dhJˆ; ¢í#•@WBzõKÚ{cîÏÉÛ2å½%Z?âÂÞb•Ù)·8¶n3k4Èz×÷ªLÀTÀ+Aâi¸ ‡q³Å¹ºfÁjÇ!ÿ˜%—êrFº­mÉ¤Û T2V¹ÃÙl‡b"˜Í‚P ("¢$ Rþ6¯Ü{ ¼1:¶²¢$‡”¥ ¦È¦Ët[¥üŽŠ¥Wñ&eÒzÊÚÏ(ÞK NS*íj;¢Ü ©¶BšL°Y£’’!“­e² ‰âXÀ Ħβ_EîgÄ}³|íÚk›Š …y¯‚ÿ¨B&ʨ3Ú#—Þ­½Ê”†¼bÚ¶™>t˜‡iÓÁk,‘a‰KÊèï_²{ÿ”íî)MmL‰•äWwèý‚ѯžp~yÅw¾û}¾ü/þg¶ßú<²¢þª/ë†n¸á=Yšpþøûüå¿þQM›Ní Qï­_Èký ?•ÓoZ5åCñƒçÆN7%í* tÚ—Ô¦SFa‡aÔ!ŸwX_UYlÕ9ÝÚ'SæÕ‹¥ÅèuÁG ¦Ï,üT'µ4RG%ïªÐR`G‚®€’€,ƒàZø T’—Á4&;uÛû<±ªŒå>c¥Ï¤²EÞè£íe8·bœmŸr{AËR–çr€sBIc!* èpIŸ3ê 0Ya£#Š‘‚ äká'‡)R#òð0EDC iË!9"]JįeN?êóò£V«‹Èf+ÄÑšRßÅæŠfù‚íþ9 ‚ƒ54@•cÊÝò+î6_Òë\ñ*½Ç‹ä>Y*3MˆFŽl¦È[)Râ.LŽf»,çeOpZ+ÌÐÅÒÖ˜5‰¬’•dòŠDÑÜ,{iÔ—ìÔ/Ù®¿¦Zž1&¢ÃT ˜e1þ‹ŒðeNág$óŒzõ’ƒ­ î\pÿàœÔãyt‡çñ]VQ‹hU†¹ ³ëò¤$9¤™Pñ\™ü•…Ycñ¡OýÁ”úà –êQ©¯pê.åÇtq¶=¼–ɪg±nÙ¬”M}…:# "â\gU9ñöy¼¬’ä*j)BuBÔ,B*e]­¬P;1õÅŒ©Ö`¦Õ™‰ÞÈÁ°Ô­)-mDËmÖõ Z#AÝM¨ š•1j9f­9¹Ài¯Ù×_SoNÙëq¤ïsì_¦«:ãUl!1]4yµ¸O»4 e i—†´Õ!V`E>•hŠdCƒÙë6ç/\äÙF¤)6©ªà+…&ˆtƒH7Hu…\ʈ£‚"̉¢ ¹ÈH*9qµ ­ä·%¦‡Ý¼²É¹Ú'šë›µþƒáÀ`Ç<ç^ãÕÆšfcNÇ˜Ðæì)§,´ jÌò‹¢Ê,¯³ŽÊ„Ka1[6 =ƒ dé®DI[“vüD^;~3bÀŽtÂ=å9µÕ”èµÌÉzüèÏÞágö€×ÿ®ÃäÛ*ÉÖ¨ŒqŽ4ÇçlG§lsA‹*íZø=pžó…ÆwùJ÷[|ºþ#œWÔôÈ š9ÒÝå³1ÚWBÜ·MŽ«{üdõ)¾õÁ?ã/™÷Ž?ÁÉt—uìÊ ™±qüh Ô”Æ öã’·÷%ŸùúÞøÚ ~ÿ˜þï]Rû§œwÇÛCTu‹+jê îlý”Ï~òÛ|õŸý)¿õ{ãú’îï,ѾlÀo–á“<2à¶ ;*ôUèéÐ6Èl Ï­3}Õåâoö8ùÓ[L~Ð"|YBžå”Å’½ú)o|À—>ý¾þ»Â>÷=îÞ{E¥µ$R6Ž_™»œñÙËN)¢ã÷íÅoó­åWùžûy>ŒÞä,Ûa¡UÉ{û5ý/žsðÕçô?qAµ·D#%i諘FvüÞØÂßþ6_ý?åþ£g¨×Žßw²/ò¾ò‰kǯIÞ× ,ožœ 8$¯5Ö‡ñ²ÅyºÃ¥Ùgµã}BPú²Kõ÷f8_XPzÓEÛ  |íøÍ·ùðõ[üàg¿ÉÞÛÔßÿ?üà |÷ƒ/ñW¿Ì_<ù¬…< IDAT ßúð÷øîë/òlô¯K,4d%£$›1|1¥UšSÛŽ)¿£b~¹†úå6év 7°½§sù§ëïLj—k*Ó [\\;~.êÏ…Ÿ«_ÈäÏüâk¬>¬28êq|uÀëÙ]Ž×·9ö¸È¶ê]½&þu²ß*£þÚ'vo yX}ΧäŸòfû#î>Í·<šoú$²Åá{wyýÁ^¿olóðÞ‡<¸ÿŒ‡÷>dçÖ)'bŸ±Ï±ØçTìù*‘¯û ±¯bL#ì‰9 °'>FiÞ\`´–èÍAn2žì2šì1žì‚¤°w爽ƒ×ìß9¢Ö™2ÛŒÂ6ã°ÍÄkà?Ïð_f›þ"ãáÖ vyãºfN›cëÇæ'æmfã:ÞKïe ï•A2‘!¹vü’|ãˆ$„ŠZÊiï^ÑÙ»¢½E{犾3¤g®ûW5YªeVŠÃR-£‰‡5ƒAŸÇ/ßæñËOðÁ‹wXD5*ý•­9•þœZkFËÓ²F4­1–ìñê䇧÷xur×§wè–/è”/è–/è–Ï1„F€F€JˆêäÈ5Pj Ô²šo"ò 9Ëñ&&çO{\<ëqþ´ÏhÜ&ܲ ¶‚m›´¯³U;g«vF¿vF¿vÎ^xÆntÆnxÆ^xƇ‡oòƒ>Ï÷Ÿ}ïôy~IΕ IIAdÈäÈdÈQ ó ̧0Ÿ ±Æü´‰ù©æ§K”>Q¢0 ŠRfAa¨—)ÚyŠzž¡^¤ì[ÇÜo¾à~ë9÷Z/(Y‘®i*‘®±–m&¢É„&Ñd6Xª,‡UVƒîʆnÑÍ)9îwÞßH¸ß¸ß”Þó `ýæ¦ÔiŒò$Bù0By!JÅ› Å›*Å[ TdX˜ Ä\"+øS ojâM-B¿„r+BÝQnÅ›þQ†úlSÊóŒ¢'ÈïHäw%ò ¡H~ŽäH~N‘ 2E"“7ÏuJZFÉð7Uòpä5½Õ€îz@w5 æÎyÆmžq°éÅŽSö"Ê^DÅ‹ð"›E\cÕ˜Ç5Jf@«9¤ÕÒnŒ(Õ=D­€Zq!Hr•$W‰ •(4p/ˬ¯Ê¸—e¼%yØÂÃ.–äQH‚\’®K&ÔuÃ$(•ð mÊòŠÛÊ!Ê+ #`b7™X &v“Yl³z\°|\°zRž'fP*Ì<àÕ‹;|ôôÏ>|ÄÓß`*7q릃Ût(µ|:Ý+ºÝ+:Ý+d5f4i2œ6M›d‘àæcÞi>áÖcªGúzw8ôïpèÐŽ.èFt¢sÚÑõò’jÍ¥Zs©ÕÖ¨jÊÿ_­qø*ø‡øz¦ȲÌ[ïþ{¿þós÷ïóÿtÿÇ|oõ{ÿšÿåû?øo¾ù€¯ýøæ7¿ñÿêß¾á†n¸áÿ;ÿ~û¿~ý6ÿåñŸSúÏþ‡ï÷ÿñ7¾ ð•ã:¥êfiDIøœ-^Û$l1A"ʈUðuX$¹Â|îÏÛ¬ç2f\A5Û§ÿ®j(¤—F±É ®2ŒcüJQ@=™±s·xI Iä,©°–„Ø0—DÀ–¸ ^Rhn—hK&“v UBÖÊ ô6 Š•ÁÜ4˜Ý2H¶tj‰†ÒS{ãVŽ+åTj *wæì˜çTwgHQBFANA$U¨gõmNÌ6+ º}fQÐЉçC§ Ìç5é„Ì‘IË2ÕòÇY1Ö˜Ô˜×ñ Lç_9g»}ÉöÝsÒ8a¶”™ŸË\|(³ô ÜXÃeâX[cÚhP¬ Vžƒé{¸s‡õÜÁ—ñæ6±›“”r҃͛ûyªp˜:x/;œ=»…Üûæþ’µYèe†YáªN2¨‘\饧›1]M@Û„– -‹¼¦àe£u“à=™Ù{6“[ .o÷8¹5£Ñ˜c«.¦äaÊ-†fB ¼Ø"\$—*Å+‰l­ÌLЉ $]§ã¡ušÝ)-kÄjUerÑAQ<O/1ÑD†`®›¨ÂCÆG&@ÆGëèwú ½$²L–¨d±²©T&k@þPÐnM©¸.3¥ÅLI™É*ë¹A¤h¬ ›™SG&ÅP"Œ"ÄLÕgÞ®àF&‘¤’;R–¡–âÍØj)‚HŒuâ‘F1ÖÉB±© ¹Š,Ë”UfiIËɨ×2"U#Ö4"E#B£b­¨uæÔôµæ‚²¶Æ±W¤–àÌî“éžbâÉ&ždâ {“3(6yƒ‘¬£–SLèšC¤0'tt²NXÒÑ‘%›Bµ‰ Q²Éô‚XÉdäYNÚÐÚŸÑ1®èn]’ª £^—q·ÃÈè’K2ÍÒ”&SšÆ½1lwy†^‡Y\Çhø€R#ÀÐ¬Ž¿ ÷¨ùX>yE"m)$-…´® I9ª•¢Ä jœR‚XÒ>® 3ñS“é¢Í0è3ºêqt¹¢|µÂú 0&#ÒbL¥>áVcÌíÆ˜Ûûc†aŸÃõWwðÖq¨±WÉ®dÜÔ¡Z]P¿3¥~wB]b[ëë¹Q@¢© j=†r—ÓeÒkѺb@O\ÑeH&I¤B% ©P™+U¦j“‰Ú`ª6‘‚œÙ²F6¹ÇhÙÁ’]J=ŸRÏg_9bÏÈöÊŒ(3l8x‹v_GïiÈu… )/в3 )§]sL´w„Tʱw×\¸[\úÛ\[D§:¥e@?»âúŒûÎG¨rÈó³[(‡·p%–+›è׋v¦åÓu‹ñ¨ÍhÜe4îá/e¦K³•…³¬Ñß³}gÊö …%SRcRÂ_Ñy÷Kdskã›ßøÆÇ¾á†n¸áÇ/ó~ûk,üdÀ@%¸~¼ÉGt’ {Œ>ÜeðÃGÏš<üÔ%ýO ¹{ï’‡Ÿ¼ÄPBJJ€¡„"¤Zì‘à3AB¡ Y ‚ Ö±«²8.ãÉ Nlì¢Bÿ#ºïdôÞ]Òº³bó–6F'FÊr/«ˆ ÿ"ftQP 7Âo+¿à/I…œڦD ˜º˜Ñ`Jƒ)’™±Ø.3o•YçR.\Ê —²æq[}Í^ÑCÄ!òuèy™e¼Ø$\$— ù¡D6‘ñ'&ÑÐ`Ý*“ô5¶î\ J) gÊNé”ѪËùåýE?ø˜DB0§„"ê|\wãAȘ¦„¹-S˜Ab„A`¡d)íúíÖ€¶4ÀÈB.¦)ÅLÅŸ–YÍ«Ä% ×±‘Ó„ !oD_Ió1sy»Œ+›D¶FÞHJŽRŽÑËFŇ¹ |šS|(Èf›í·D?~ ²"á¨>½Òœ½ò‚íꊕäl‚âÅfdߺdG?g»qÎvrN&ɸ²+Ûœ)}V¢ÌRl¶3.EOXDè—¢¤tusJ·9 š/X(r•…ReA…\’‰TW·Àl‘é9±’’‹„$OiښƌýW¼‘~H žª5›sU'*VÉeÏ8â~õ9µ|Áav›×ù"KÉr°U÷ïÕšZgA­6£vkN-ž“+2‘¦_ _™ ½ˆÐó½ˆÈ _˜„  Ä,®s±ÜÅ m&ËÓI ùe†ò"Ey™"¥ÄÅjS¬7Âï×Ü~ç5ŸÙÍgrÞǘ„xc‹³ñ.Ë«*ËŒwî0¹HiVÆë¾vA¿sI¯s‰&bT)F#&“dk9·Œ,“Øá˜»¼ä.¯>¾wÅ?ÿÿ:W¢Ç©ØÁ» å,Gæ“*£a‡ä•N•w‚Ü•?b¿zL¥¼à¤·YßFܵ˜&%lÝ@×U$íš&˜qD9öȬ’™aï®içW4.Ð_DD/t&ç-J“€ž6àaù9ŸkÿùÜÃ}"qö“*³‰Fì‚§j,»Ó¼ÁdÝd2l3>ê0:î1(#yTEµ¸ýè’utAa)X»)‰’0ÿÕ{¿Šëwðÿœo|ãÅWsà 7ÜðŸ_æýö×Vø©Íc/ÃlÈ·T’V‰u©‚* –z שÔËÄÑVЛ)vÓ£^ŸRø™¯°ò*̽:Ëaƒ¼Ð°[1[oΨ)êÎ µ[B­”2AáDP‹a£‰€Z{M¥¢÷%¤m+©ä•bE) -欹ôcÄ"Eg-•™¤-.ü¢’ÆTi2ULÕ¦êéB+0ôSöQÍœ²¢z$“éeb¹LH™DÖÁ.%@7HT\HB H‘´‚B“È•£H(å1Zî£å Rª1Œ²¥Î"j0ÏBBW"ôæ˜ÜQˆ:Q¨³ *¬–LÇ£P‹˜Š²`–•ѽòÌ£¸ P«+œpJ[°ãœQIa-$¬GÄÍ+/ps 7Sq]H͈V2‘¯@¨C$ÃJ‚¡€3 .ôÙèüʦÒd ™p©"­K¨5°Ì [Jp’?Ô•Ø/Ƚ|l¢ C¶2tÍE¯dè=uOCÄ)"HÀM‘¢„rÅ¥\r©H.åØEb’Dg78KRd9%×d MÆÒšÌðKçäMm'eTjãšžnã¦6¾gá…6nb³ÎVE?1‰l¥À rKS¡052«@  •Ù”ÈCÿR#øÐ@ª((äl¢¶=t9ÁÑ\T-'ÕtY!×ÔR‚í¬Éd™º9¡¡M©3¡žLiIclá!¤‚@6uƒ¸¤‘Y2Äô©–#×3”Z‚p ð@2Ô8!U!Ǥ3‰Ì0‘H±ÍMÕe·¸âv2`(wÈ‘¤“ Š®°YJUJJ’ ”u"Y'S$âHa회Ý*£u‹uV&Õ5R]%Ó44)FCŒÈÈVH¹O`Ëdvä$¥Š³‚ŽŒqQ Cä[)J?F­D¨rLO»ÜsK™¤Å%µI83 \‹´PˆlƒÄÖHm™Ìd¹DZH¤…L’+ıF”È~†¨RŠ"2dQ ÔÍ3zšc©.š#Iùõ8øf,OïÝçô9}öóîw¿³h‰P1P,UÁe\ ƒâ@9©ÄX8aIáà"EІ@€*þ#¶ccá€DH¥"12`-hf4˽s—wß³÷9½oOþ8w®4b ‘Œ4â~«~uút?ýœ_?}úéþöok’ “Q<`5v Ê:ÁªÎ²h²8m3Ûï2n/P³£Œ0«£Œ¨ßÖ ,ÄÒÉ-¸t —Eé1){Øz‚adÔŒÃÈPI¸ŒÃ>2¤3‹xê§5"£F¦4™ã¥3<A¡øôd‡„™ÖbYfŒC‰êäØÌYÐsæbÎBY°¢Æ\6Yà1—MbËœvD{0¡gL4Îç ä9+võc·É¬[Ç$ÆSæ”ó’Ñóu’Lá|Þ šk¨UFÓ]-r2t’´E¶t°–&öÒF[ÖaÙ¤¦&ùŒþ—{¢K¹&~ÿûo¾ÿþò<À<Àüÿ‡Wr¾}Õ?k¯ ÷ÇØnEºÛàdwÂm`1§Ã³G=¨{42±÷L´]Ù1È…ÁÔï0=é1=é2=é$±T°/ ®íŽ1ìsê^IÝ+q½½*À-%òjA)éE›tÏ!mØÌd»LÑ‹­bA7™1ZnÒ˜˜£ N`4ÙŸ] ;2µu V'¨ÕjuÜÆ’¤e“y&YËÀS¨¬ë­ÙÄj†V+ñªÛÆ!ó¨Ã¤ì2É»LÆfç]ìfˆÝˆ°›!N3Ä!"Áâ˜M2 ºÕ”n>¡WL©çSì CA5×Iæ5²Ê¢ÑZá¶V¸í%Z­d¦w˜ÓfVtˆc2Öê~]ßH€X T>F¶ÄŽWÔƒG)ƒ÷5!;­ G§3öÏWœ%쟤~ A b²ä:fNƒ{?£±.¥áR“è*´N…þP ž…ßïqP¯±6Hæ‚i`0OM² ¸Ÿ‰oº_M#¢íø´9^ŽRˆZ²Y L Ú Ú>-gA;ô×™#—6w——yÚ MÛ§ïè7G ¼ž²¤5X°õè1×ZÏr6ßà ßã [KbY¬L—‘Ög_Ù#Eçˆmf´‰±A€Ú©Ðw ôÝ }'¡¡®h0£É„†˜I¥l²©£DŽ{F[MÙL'\XP: Ó#7 æj›4·˜Ç-Žâ]Ü$ÄÕ—4l×òi(>e³»uò‰×`ž:T-“Ò³¨Z&š^RÍ+¹Æxáà¦]Ô=eO ^PP·%Í–Oãò i!‡ f7ÅÜH01¦™ «9š(ˆ…ÍM®2‹ÚìŸ\d|8 v• ‡™WÈL²Rjì7÷8hì±ï6˜Ë&ÝrŠž—´SŸíè”Ã唯l…9J'ä‘™c³ÏMó•§P´4Š–NÞÖðsÒM‹Ldu¾uN6–’à9 ¶õCò†N¸<;}„gf0›v˜Í»t‡n±¢©/é6Æh¢ Áæ„-βURæ:nc¤çسíÊ#ƒä¨FŽ…uiBO±Õ>ÂqB=Qçëzf/Müb^ ~jécäKì$À CœZDc°Óš]Ó¹s8áOžŠ‘yÉäf~Ab¹v¯ÍÔuWSàt]³ û¤ÔšDïH,«Â´K$ Yc!UUòEA&¤iB^%¬™‹ÎšøihJNS÷Ùp¦ì6¦ º ”Z‰ºY Ä%Z’ÓSgôÔ)=eJ/˜rs|O?ÂÝÑež>„ÍÆ1_¹ñ Ÿž2£¦¯Ø·,âk&Ç«m>1~Œ`6ê–5£ÎHëc*1+j±Å”Χ‰_·Â¸^`}U†ýÚ„®¾bÀ”á½"þ‘Íás%ésÉs–Ò»°Ïk.<ÏW]|«)y2y O%¯áùä Glãö|Üž¿&~í9—¸Ë%qgý™Þ%Ô,BÝ&6¡âPTU¡ 3Áýp¦œµ±T‚jã™aìäTSÿù4]rÓE™:8®A[ÍØL¦\˜²¨µ8’ÛäªÁÌh1Í»ˆH ,A,[Ö!—ÏsYÜdÓ<¦\Uhû]òKüL¹e#·lØ´– <Ñ;ÇV¸Ä{]‚—Åxo'¦Þ^âZõa@ýáÇŠpìÇq¬ÿ^Ý3†œ‰!£hÀèdÈäé>Ñu(aþXK$Ð’8í³rÈy1`’uðe&QGe$QÇ êšQ é%ªQp½ó,z^0TÏh׿€dNû>é›ÞsìžÐeJ‡@­ƒB¯hÔ8¿ÞB *Š‹:É܆[<¯æ@Ô¢pf¤ÖˆÀèàk¶ž²Q°©ž!¬Or'½ÄÇæ_M9UMúL–]&Aàn“ñ&† ¢9J4CD3 !½4 ½¼–,ë¯êŒWCÌeеJøŠÞ“ˆ¡J¿˜âióqˆþ\Eù”Aðd“Àj ¯×%\¬È=•IÜa58šî¢¦Ye’•iePT˪….3ô*Ç9ÍÁœÆ`AÓ\KÕñåÈÃ{˜ZJ£± ÑñÙl±mÑSÎiˆ%š’cÊœþpŠÒ•x-Ù^žrû¹wžësú\Ÿ“ãÞ£%ÞkRZ»ޣǜ}4Ù§Hë¬VÂz›SeÀ<ÎÙŸe¨‰ÄOê¯À {oóýï{`ñ{€ø &y–þ…Û}¾ý<À«¯ä|ûª%~BhMT¤%È A¦*ë ‰Ù¨°ÉÐdŽ””©Š8O<öo ¸uc—çž¹Æ3ŸzŒÞ•Õ†JÝKЯNq¬Šzà†>`Œ#c¤©P¹êúSÓQK…¬´ñ§-&E‡n:bž9ÌSƒf( =©(G%rš+:±æ1ÓZ +0æ€')CG ©»+ܾCˆA†CD‰ŠPÖ–ŠV¡Ë 0f)’üÌ :ª!J£ÅôÜ »rŸ°rXÊ&sÙ¯<ŠÜ\'J(GT¥ŠH$Õ¬¤<*Énd;Âì®p圦µ"±mòšNéj˜aBSÌТˆt\1× Â…B.+”F‚½ r2Wg©4%Vˆ´@¸àèàÐZ¥tf ºã3âH!÷$yM§ÐëJb:EV¬3p®=4×3ËËhvW4»3š½9Eª¯’edå€"М º9êv‚0 ôJ I^)¸Ý„î˜moĶ;¦_Ÿ#ëâ^ùz@‚†ÔÂ+H1ÂAé$‘Í2vië62˜qF3^ÒÖ&TuAeBiÉ’Ùq›c{›š Â.‰a0Ošˆñå0÷Y„ bi",‰ÝJð6|¼K3ZOglÈS6ªS6ä)c\Š3••j2Žëèy‚Upì×Xb`•)JYQ•*…¡!„Ä´R ŸNgB¯1ÈÏÙÈOÙ*ŽñË \ÔjÏe$9ZZ¢¤Õšä« ¬ÖŠŠ^áènc…Ë <W”s“øL£ô­uM:4„TP I«d¥I”8¬–Mß$ŸkY褮‚9qÅœŽ5"ÍUˆ%Ö*¦5›S*yÝ¥hVä‰B%td$(•reR¬ôP`¦«¤T4ŸšÐeL1f–bd9zšcŒ3Õ%5,ff›#c›qÕ'Èĉˆ@)*ªD!ÍMV•KVé,C—`U#ZÙľ g÷\’Ïœ t·@onŽÞ(X.+­Á²jâ'M¤<&´Óbªµ˜š¦V—©Ù#Ó,-Z‹­Ï£ª&¡UÔD d*j J¥@¯Nht'›Ü=_Ò7GtÄœ¶6£Óœ£t*N:4»—Ñz¥¦’(™¢£¤uDV§š™”S‹jf#ó…Šã¢tM”\!ZÖF.åH¥)ÔÃrÎ…Ú>q×&‰l’‰M¼ï?S#i8(ÝQ(µ‚¢¡’—.Ë@£ŠTD X¿‚[ÇEÛ2!¯ti³ªäR'(Bi“(™¦’(6‘t‰J›<3Ðõ ¥VbôjÃÛˆPÒ’,ÕÓЬ¨\ Ã,h™!ùJçxÔ!+ fÇ-ŽŸ ´|¼Ë êö’­„‚"2I—8/I-DuW‚r_ uš&À IDATZÐùâÜó^)¼ã÷øãßÁûßÿ¾/²6ð¹àû>oyË[ù­ßú?8>>¦Ñhðßø|ÿ÷ßüÍ߀aXdÙ_<1ÑËõóôÓOóøã¯ç¹çžyEõùRE–%÷¯£Ï·ÝKÉçÛϼúñJη¯Zâ—˜L~«YOho.hoÍioΩu¢{’÷%+u¼bu"‰Ž]îžìpr8àä°ÉüТZâ•Í$è"¢’0¶9 ‡4N¦4Ž×bÈÙ7¡o"{&‘ÙàdºÉÉtƒÓÙË…ƒVø„yÄi‘ÑK nlrë¸Áä d€c‚©«C]¬OU ‰Råè{QÏWØÄH Ä¡Ba&ïYÊ:aUc5Ù_\ä`tÿ¨‰¸ ŽÑu'ì ¹^=Ë9Cª\gVô˜å=™2“g,•]'04’*#æT³Ê2!ñW¬"˜ ¤ª¢7367éécŠŽJ™§”ó„ùyÎä£ ÂØ!¬4ôËÐÝÊPÚ5Fƒ=žè4˜U—0£©°.­B” -õa•Ë^@§_Nx0&iñJη¯^â·o2þ­^×gøš36²®º·tFÄØÄØëùÒb2V™>£2y²Áô‰6Áj@°ôVÕJã°O9œÇ=¬ÐǸ5ÇxzùÌUJä•:\u:¹]'¸U#¸½þÌŽQrZeAÝ&i™ä}•*¨E‰Ý‰h¶¸Z³´`™ Š‘B¹21-‰ëF4:µ`uÒd™7¨¦Þ1ë6£Ý5ñ“FÉÌêrlnÜ'~‰‚ôâ\Y?)Tš™Ó­O¸ì>Ïe÷猹Ë>{¨r—Ïš1´NÙ3ï²'ö±¬Ý+Ðí½]0W[œ˜œX›œ¨$Š…Ð P4bÝ– ¡²&}‘â° Á),Ø a´P‰ÐXÜ'~M×GlIL/ÁÝ]2»m2¹a ÷Mâe À,á/¯'?þzÞÿþßø"ëòŸ ¿÷áóÞ÷þ õúúÙëuxý뿃׿þ;‰aÚ¦@–ÆÜ¹s‡¿ÿßÿ>üá“ç9ßø ßÀ?ýgÿ„á`p¯½Í;ÞñSüÜÏý<'''È{7òÏîàw>ô;|÷wÿm@~Áú$IÂðïó뿾þÏ}çwþ§ü̻މiš÷õyûÛßÆÏ½ûç¿ù7ÿÞó ?ûgãs_žç¼éM?Æ/ÿʯPozÓ›xã÷÷HÓ”øoþ[~ý×·^ç?øF~ôGßt_Wô_tüŸ½î3—?ðÁò#?ò&nÞ¼ÉÆÆ?òÃÿßó=oxQ»—“ÏìçóŸ÷üÂÏóŽŸ~'§§§<úè#üÓò¿ðØc½äø<À—^ÉùöUKü²ìÄEßLPÊ ¯6egx— ½}µÁJuY©.‹ª?óXÞi±ÿ ›¿ï!Å„нÎ(XX$…É,÷ «`Âážöá} Ä-PÚPó V[Çž=< ÜN™ÊdmÁ“ Èúº­ÒD(*¨1Âépð´µ›gQ¢€“¡¤(ã ÕÏÑ’Q@* a‘ _69Ìv9Hv8Œw9÷‡ˆ¹@ÌÖ‰P´i‰=i,´—#«#¦U ; QÒŠ<1‰Œ+Õe®xLŒ‘^( i#³)ä%e¦“aeQS={DÇs¡¾O»vNy°ÉØß$¾epòÇmZª }±Ä½Ðþº‚eÞ^§¢_ö˜.z¤™‰,”Y úö9×[Ïà¶síS,;¢*C¢2fV&èI†âH”îº8yå”G"œ áHSÒÓFì©û<,žá«åÇ0´”\ÕÉM\èLš=Ùál@O ®Ç\^Ýájp›fá3©·™ÔÚLÌ6e¡S ±’ Îp$· 3—0q‰—0vùªúÇ©Û>5æ<Úx’v>Ç 3¬0G‰*ÊB…R"K‰¨@Ñ%ªS¬Óä« º•’Ü”$ç:É:Ùѱ¥z7§ÙZ°iŸpU¹ÅWfOb¤U(@† ¡]£å…t¼…’¶¯šŒo˜Œ‡Hv¶÷Ù‘û ês:½1¹b+:¹bP R@",ÊÚõ°“,Њ’FÐ\­ð"Ÿf¶Ä-WÔÅŠ¥Ê¹¤J׉btYP“-9Ç 2΃µp…ƈ¨ J-FeUfÂá<Úd6j“Þ¶Ð?U¡-X­`ÀjE¥Xøƒ:s¿G•¸džÃNç„asÆ¿·ó)\5ày{ÊóöÓI™m\VÔ pY¡QpPJò²Î¤2™‡m\5 ©,Ö™BUÔàt¼Éów®ñüS×ȇ†‘ 7SŒA‚ÙI0)†—bŠ”º²¢)4ÅO,P“‚šßÄ<ŽÑndð'Èò¾ œpAG9e§y‡ë[w8\î1Núîðì'!š—Æ(LP#vAªÔèÛT5È5 © T­DÏ ´E‰:©gN$š™bÜÍ­‹#æô˜Ÿ{L'}¦Ÿê54» ÞYÑNÆ,ð¬iÓ¤ê+¨j‰µSß\ÒÞ˜¢g!jdÀÔ :4QV*F†×Jiu2šÝ³– )"«¨| %ˬÎ1¤†ÆÊjræ XÖ]Іº&z%°y "“ëkØÅ–Øõ5©ÞôޏâÝdÇ=@)¾h0¢G­ hV>ÝjÊ0<£!–Ô´šRsÃųTÉ.A¼~qS HÐXbaŠŒ¨rˆE¨¨±Ê\&EEÑ%­º€‹`Š‚~/ò· VÐku–tã9¤QŃ˜i|:QÔ—/^xÀßû~ýþò|éâk¿ökùÞïû~¾ïû¾—¯xì±û„ë¤I„i9¤I|úü>þ¯çÝ?û3üò/ý"Y–ó–·¾•ú¡À¿üÅqß}ìcüñÿ!ÝÎÚ¿ù¥úɲŒ?øÈGøçÿüEJùëóãÿÓOprrÂÓŸz)%û»ßÀO¼ù-üäÛßvßßÿýßçãÿ(RJÞð=—7¿å­¼ýmo}Éqù\Ç÷–·¾'Ÿúô‡ÿ–Z­Î[ßö¶ûºüÄ›ßÂx<æÆgAJ¾çïþW/Òõ³—_jÝ Ëç»ßÀ{Þó |ë·þ‡ŒF#~ò'ÿ!oxÃßyQ»—“?ïøü?¿û»üÞïþžçñîwÿÿõ÷~ðo~ÿ%Çç¾´ðJη¯Zâ·¾‡¤qÁù‘ͳO ɲkÜÙoQôí{âÖÎ5ßôHj²Ñ‚Z\ê6¸. ¸ ×V%UÜ .˹Ÿ´$U`fÃAZµŽË[5à*ÐQ ªAØ]—HÏAñjˆ–ƒð d²L‘eIµ¯-}³ÂŠœ$˜ÆtHvlÑÐ"4+G³×"Kœ )p® &}™cÔsôGrÌÝ”ÜÍ8®>ñÜ&óÓGÝ…p±ñ4-×G×Kj¬˜ç> +UåpØÀÌE³]Z•FïzJÿâ’¾›ÒΔQÎhÜa9rPG—XÎTUpåáýá’Æh^4]hÄ‚‰p¢nqâlb«Aî’–&ia’–&™¦15ÚÜ-/’:Æ2ãl¾Áé|ÈrÖ¢ u5ÆÖbœz‚íÅØÆgJÂåúM.×nÒ1§H…u¦Ä{µÐb,4I0HlbTµ¢4VµgJ(_Ç8©iI+_ -*–¥ÇYY’W˲EؤMèÂbÒâ—PeÉR68çtÜú”Ž;Ŷc43¿':ib§qV'»ä3(RI¥ÒXÖn„½`ïÔ+’ÁÑ`È'k¯¡ÌÔûñSÉÈfRyœéÎŒçz‡$±°f>:K®|íÍuÜW»D¬*Î?¶Áüv¯1§Õ\0hNh4–T¦Bi Ó&4kDZ•]ǧÉLóYÕj¸é‚‡“OQKWŒé1+‘[Ç~]Lïá1F;!MMÆOõkh‹Šþâœ-ãíb…ÈÈ(bÈ»&×7™lm2­+èZŽV”¨y…ˆA(ET¨Z‰Vèäèä÷âÄ2Ô¢DL¡˜è¤S›pÖ@¶5œvF·=g·}„éX[9|Eׯë5‡pæ×MÒFNìæèœ¢fâX ÒžcY)¦žà ̇s4*Ô‚L2¹g½O%ñå³ác·@S&^Ÿùå&Y®¡7ZaDƒ1 ŽipLe©,¼¡áÔ%{Æf©5PõŠ\·0I™]æ«6Ii#‚4¬î*0RÈžT‰BIT)†‘Ú:gÚ§%œ­k#Þ‘—9¯†$Š…t¸§¬P**¶YÑÙ\Ò~,Cê)Ê#9Öu‰uUbµ$¦ýÞ˜ü¡õhçyÄCÀ@’j&‘k“m”‘‚Ô+Ä*AŠòî$hÓg³ZK¯¤ÑNÐɘ>¼†qc}“c}‹±> ÖjŒýª/I|‡É¢£Ç˜F‚i¦XF´lq˜nq”n2I›%d8„Ô˜‘¢k©Ó$³¤v“$m°¼[#˜Xd±D’PP‘ bãÓÄ.å «J±Ê×ê"·7ˆ^ë0©7( å£_æ)=?ÇëyÿûXü¾Ôñ¯~í½üì»ßÍßøƒÜ¸q“n·Ëã;ÿãýÍfãe÷ûÄÇ?vÙ¶mÞú–7sõêõµyÇOý£û¤ïåð‡ôGÕqŸÛDØ@{XG7tDÝ`¤¶X˜©ã­ ßÀZËЂ¡`´¨rYGæ¬óÙ)0«ƒž¯Ý»<À`MüZ*Lê0Q`R¿‡²§¢ì*({*êžJu\RdTû1â D®rˆ2ˆs(3’&A:Ý`z¼ESKizs­æ KK°µKÉs46I|›È¯Ÿ»”3(S¨TÍ{cEórˆ÷Ðï¡N}I\×9ªoÔuÂE?náOZø-V+‹U¦d:«\§n‡l÷FlwGl_?GW%§ãMN'›œÜÞ$Í,®mÝ`¸=agû„ÝÍ&n‡‰Ûf,:LÍ6îâ;Mæú ×^A&hä ÎV\Ïžå(Øâ¦“k,üK¿¾ÆÊor²ÜÆ” UWPvì ¦“RLT’‰Aø” s¸P;d«~Ê…Ú!."´ ´âžäv÷¸1¸9THÝ&ºÌQe’UˆH‚¡U¨æ‹‰ß ¢–%b åó:ÉM‡ðnyIŹ˜Ò¹8g·vLà hl/éºc¶v9oqt¾ÍñÁ6þy‹Ø°Q7J” u£¤êj´¼9x ¦šR7ìaŒ)rô¶D¹ºve”K…ÊWKA|©Í|P × Åbå¹,®4É›*Æ¥7[°ÅˆMŽØäY`p0Ö8»Ä7 –‘ÎÒhë+£…fTĶCdÕH, \ÈV‚Õ¹ ‚•JÙ‡rX®‰ß0"]꜎†„û5G{¤†Å¼ÛfÖi“v-„]!MA¥+TBA5$Í­%McJs8¥.‘=º²­Ð0ºÆõ½a\Ë™µÚŒ{]&½.­K\·Iwt C^§âd‰Ä¼Ø Íëˆ#ã‹t¿{åÄ!¿úË¿xù¾ta™?úÃ?Äþð!¥ä¹7øùŸßù]ßÅo¾ï»ßî³Ïå¿ûèGùñ3òÉ'ˆ¢µ¥Iñ¢v^ÓýSû}ö÷~à|Ó7}Ãýõ_¨>£ÑˆaÿþúÍ£ÑèE톃ÞýïÃ>ççç/ûý\ÇwvvÆæÆà%÷???Ño ½?¥óKí÷RÛÿå¿øg¼ã§ßÅÛÞþv,Ëæ?õ“üoûÖ?sŸ—êóóŸšmÞÿ®(ŠâÁ5ü*Á+9ß~¿Šóc›ÑéEé ·JÜ•À5î†ÀÞVñ5¥é‘84<Þ³ò]. p%Øl>mñ“÷,~rµ.10!É`R­³ºíÝ“ @KÃ:`HÐ$âBŽò9Úc9êkrÊÅeÈÛ1Ä$ 3)ÈŒ4wÈ‚³IqÜ£¡llkf-Áªb˜ äžP Æk jÛGæ4³üƒœÙ™ÃêÆ&«4ùêGhåw¹àÝáë¯ÜåP»ÌT_Ï3ÅÃ|´üæj {àì®°€–>¡¯ŒØKv•Sìyˆæ0~ªÃÓÿæ*'Ï xÝ×=Ao°äÊ# ^ûWžÅN³µ$9VœqÇœ`Û1ª“Û ªÌP󌲀87H2‡iÒašôÖq@çyS ŸÈO*X³çëbú­ë·¸xåÃêŒau¾þ,ϨTA¥ª”ªJ)RaR»WüÂ#Æ&G¿OüPX?£F‚IÖèçêiHk¾¶øÝNWèiEžZøi ù:£%,ŽZ,›Ü=¸€r(¹xýTO T;£hK@‰@P’å:ib’Ìm¢³:ÑiæëÓZ#ÇÚXá]~åˆþkÏB’ƒc±Á±2=FÑç“ FûCÒ3\ÄÈyŒ\Äìmpåë|.\¿Á×|퓘VÅ¿ûƒŸñ>çÝ`rØgðÐóá‚ä„Ç”§¹‘_&‰isÂ&ŽQÓjvHM† ÊÅ9åÅ·O/aLrç-nÞ¾Îò¸Åjä!ÆeTa: ­¯›Ò¾0¡õº)önÈì#-“³§ZDŸpغvJÿú9¯»öq¾þ¢6Êõ5·™å)ûl[!±ueVá´(>bÈ&\•pD¤ IyŠÔÌZJÝp V;G»R¡$ r¤Q5ÄHCŽ5â­‚ÙPP¸+Ñ hi¤M“좆.ÚrÁ#®qÄunß±0>â’ÜìsöÑ‚ü®NnZ¬La¨à*ÈÜv²!IG‚ô® ¸¥Âó ú_aMt#Ãøúˆô¦I8rx°KñoM*[¥zH V=åÄHS 5…JQQ͊ΦÏÞð˜½jŸ¾+öº~ °I‹VwN«3§umŽWÍy^¹Ê3âaRÅäHÙ^[ü ²¯ ¯Uˆ› ²X"öÇÈ;c4±Äíeô¯elÕ3œ¶ÎI°Íh5àäh›Ñhˆtŧ¥.HnÖ˜>ÓG<#ÏH¨ID‹u¼od\ §rš#g$!"È€j6:°Ù‡ÒiÀqЧÈ(E½gñKÑqðiÒ/'4òÛé W“[K0ÙrxAbé báQ½ÿ/ƒÅoÝø;¿ëoñkïý•/².ð炇®?Ä»ÞùÓì^¸Ì çòÞÖµý/þË7ðö·¾™où–ÿ×u í æ>/µîwïüõ-o~ɶ}ú½ûû‡\ºt€»wè÷z/j÷™Û÷÷é÷û/£ãç>¾Á`ÀÝ»\¹rùOí;è÷_ô[G/ÒYÓ4â8Á¶×±y³Ùì%Ži½üº×½Ž÷þê/ðÛú?ð¿ñmßö2ãðòãýùŒÏçs¾àK¯ä|û*&~:Ð@¼éH¯Df˜‡x›!½zˆGʨÊP …,wðSVÀ„uâ  ÑYÒjÍÖ¢ÍÈÔ”¹S1oUÌ7ºP¯•áµðZÇè]“Õ†Ëjè ]’†‰m$X«cÍSŠK ù•¢§P8*©Q‘ª :U¥ ÕTô­£Ua "Ì­Öö së ¯3¬Ÿ²¡œ°‘ —†]¡nHx´vŽÞÍÐ’‚ìyÖFU4iîÆ(ʌަ$ïvØ/ Äñ§Ö.ω뜊MBQ'³ ôºN©ëTšN¦ZÌ’.JIâ Orîζ9˶Yê]·ÉDÙd?±f Ùq3Í1’#ÉÑÓ‚3sȳ͡³Å™³I¨×Д’Ž:£©ù$…½ŽŸ[º„ e*ð”9­Áï±9ÍtýHˆ³ºwÅQQS"ºŒ1Ș-ÛLýîº&™ß%®Ùd-ƒ´eµ¥Gn IDAT T­À.Ü2Ä*ÊDe¹tñ—Mü•‹L]uFWÓUgèí’gW×8–›¬Rw}0‡ž!ÉÁ1BÜáŠz= ¾»¢wáœúÕ%Y_çÌ ‡‡uqó@sY8MT¯ _žQ¨™­“µ òM"IçÚ”á…3vÚlë‡$XÄ÷ |'X–FîéäCƒ44ÉêÊ:‹äR_#t»œ©{Ü•¨OXèªä¹ã‡8É·XµdšÁr×e´Õc°ƒÝ¹¥]ânt‘ƒ|£é.¦•b™1–™`™1ÑcLŸseÀ©¾Á¬Þ&ì9Ôó%WÔô[ç(‹u^¢.J«„G%lWä®N®50½ìÿeïMc-Iïó¾_íûÙ÷»vßÞ¦—™á:œ!© )ˆcQ­(H€$r„8´IjåfÅ REJ2 $ù”H²IŸŒ|¡BRâ:{OwOß{Ï=ûRuj¯Ê‡Ó“µÀ±‡ªàÁ{î©í­·Î}«žzÿïÿa}í”­«Ç¨Dl^8Aßé_¨óüÚÓä±HêIdc™4’”ªxu›j}ÌÓõ—°d’1&p4öòm„(ç8^縿ÎÑ`ƒ™XÄV&馸DJ†n¬œÆNň¨^ê“n œV[¼¤UyĺpB*I¤²#ù9²Ÿ#†êaæ†ïaÌ<"UÅ—u|ÙX%I|´(fV¹^ÇÛÍ.0òDµJf”ÇäI Q‚(¤èùÊ«R¯e¨)AÊ ©›¤›:‚i€§Ã¾:M0Õúf„–FĆлaámXx5›ÌΉt™¥¬#á F ’›{:s·L)œ¡®±.³)# P\,!X…b‹:!º¢f1Rœ!†9ø"y¤Bn’€%FÞ4bü FR"ÌCˆb;š³áR7û$¦LjÊ$†D¢ËcŲNP2  B3Che­|f;ÉÄUr%rdt0¨—¡á@]C¶r æ§1¹8ÄöÇHk!r>ˆèú)Äüh‹Qäpmrhoñzñç…5‚¢M"‘´ºõ|Cxôœø»¿óXô½ðcÿÁßæg~æ¿à}ï}/Õj…ó~ŸÏ|æs¼óoãZ–J%vww¹råòÛA€nèèºÎÑÑÿø¿[…L ߢ„ïÐ ß¹ŸétÊîîžy÷;ßX÷ß´>øÀóÉO}šÏþƯ“ç9¿ü‰OòÁ~àÛêð‰O}ŠÏýÆgÈóœò“üÝ}ðÏÔñ¯z~ÿÉOÿ¿øË糿ñOql›_ýµÿ™ÿñøïøÐ‡>È'?õi>÷Ù_'ÏWÇýÖmoݺɯæ7øÈ?ü0“é”üÛ—ëçÿòïý,ÿ¥_dkk“<ËIÒô»®÷ÝÚä[—ÿUÚ绵ş×>ñ× ofû~P=Gh'WT¶—Ö]ë3¶Š=LQ³„$QXDE?_Í•XÍÍ™@©3egmKÂ.—¬,D•V›Õ6ÁZ!ÎYïœs¡ÓãB糞Ð-¬qZX£[Xcª—¨8cÊ1•­ Åå·j³¨Ù,Ê6®dኮ ’ +÷*¥¨`_̰w"ìË…¦G±8¥XŠ(#*悚4¤.©‡Ä4G³ä­J9Ò<&œë„sà5“ù¢DÍð©˜CjWTŸê!Ê:‘Ôà~ºÃýC›‘ÒàTípª´ TlÈLÉL?1,š,¦%ΦÐOJŒÓž]"«›Œ´}•ÅyÃû—‘ãÕ\,9J‘¢Œ¹î01KLÌS«„lF8Öœ’5ıæD‚F?lÑŸµHzÂ<§£uÙÙzÀÎÖêjŸQ»²¢S¡›vó;wirN.LÆööwØÝ»Ìƒ½+dMåRˆr)B±"JÂ3 )sáp¬²<6˜žØ;Þf)­Ï)­/(­ÏQÊ)‡ò6GÙ3¿°2§OX ¿pEÇ\Щui]:f½á#µ²ŽÈ¹ÞbD •葨XR™Zed!¦£w±Ê.nÓÂõl<Ï&‰ejõ>F—­â!Ûì3}4b9¡DŒŠhdÕ¢A¦"¸*x"¸2ˤNWINK {[ˆyN?jq7qÛ6é¦Ä|»Àé…ÅÍ‹DM‰Co‹Co›ƒá6'Þr1F.FÈÅ¥Q”gTÄ eiBEš€a¦aës®Uï€ê2BõWŒ%™~³Î Yc`ÖXæ&ë….kÛ§¬ ]Zq[!n)·ÖÙk_ :ÕˆÎ5âcèDCm†W<ÊLè”NPõÉHY »úE¼…ÍéxÓq‡ÓQ‡™_DQbT5BUc9BIc”rD§ÐeëÆ>vÝ#©‹Õ×ëE$)AÓ…”EÑ!¾ ¡è!…΄|þÜ X˜dc!\%’*)r”  5aˆ 娂Ë'˜j€©…˜F€i(R„’D¨Ëeâ®nâê®dáÅË…MÞä`¾Ã¬[d8ª2òªø©ÍjhÚ<Èú±_Àu]õ:?ò#?Ìÿñ¿ÿo|óZ~ô#ÿ€üáÏó˜OGüæç>ÃÇ?ñiþÓÿì?gmmüÃóûÿ÷ð }ç~þß/|‰gŸ}Šò¯C ÿMëó+¿òi~á~‰'Ÿ~?ñçÓŸúÔ·Õá¹gŸå™gß‹ëz|àÇÿŸøøÇÿL¿‰¿ìü>þ˿ħÿÑËsïýÁ•üå_|cÙ'?ñ >ös?ÏõOáþÁ‡ÿþÕ¿úÞXþëÿôåÃþ¿ö?ý/´šM>úÑðøGßµíþý¿õ·øÐOý4‡‡G\¾t‰þÏ~ë»®÷ÝÚä[—ÿUÚçñˆß[ofû–~‚žA'A¸™ ¾3A¹*â˜9MsΖyÂ:§$©Â".2[oˆ½7Ê3(y3v„=Þm}ƒgê_a(U1­wâWët×rÆÚÅ#níìóŽ‹/Plθ+=Á]ù 2)G:i—µGlfç ä:}¥Î@©3êˆb‘L  JQºQy×’Ê{ ÑXÒ‡4åMyH-S g”1K%$;RF*CeŒ^ª3êÕ n›Ln—©=5 òTÎ¥+ ®<Õãt´É~¯ÁþÙö»WX"S%45"SEJrU 3EÒTÄÏ æn‰d Ÿ©Äç*ÉT&NK&­‹ŒT•EPçèüJ#$9Bš#$ ¤9‰.“X2‰)[2õRŸRuFM±Y8 Ô0!™iÌÎ+H~F§ÕåVëÞÕþ*kÕ^Öžâ%õ)öÔ ¤Î1R#[ÑË-^¯J '⓬̥â>Ûâï,¿ÀËw¸WºÂëÅ+ì•.ðzñ*ÞÀÆŸ˜¯[øÏ[loïq“W¸Q:æÆÖ«`ÙÙâ\oÑËZô„6ç½ý³ç»mæýâJ9‚ž£Ù[í6Û‡t:]ÖšÇÌÕ3¥È‘²Î\-`þ#c ·`“èÊZD!š@7G¼W$¿'ª0±’#uRä8ÁÀ§& ±—–Ø#A¡¤Î)ésJÆ‚’9G”³Õÿƒ—!Æ Ûb–9Ì$‡™æpo±»¸Ê`Ødwp•Ñi•d¬{ q¢€CA6ƈÑS¨:íf@u+á¬ÜFè´çU¦óùT$™ŠSøP@®©vÆ\èìq©s×°Ñs‘I^X¢+ ™,å* ßf0ö„]úùš@¾.2 š˜P—Æ\Å ÕHÐò] 1T-‰PÂɦ"¹«A¦€jC1#NÓ˜åyÂ(Œ)Øsv޹Ϻ5açÚ>«=\ÑÆ,<ÑfÃéxqšNt¦³ ¬gˆ—¤K1òå˜,I{2œËd=¤ Ä|Uª€-‚%%¢XUcÂŽqÄ ã5¶…ûÜ}©Bòb…î½ Ç/U8ÍÈù#Ò Y׉.¨DTÂ@%7¤¥ø=¹Û½™ üÞïüŸßãš<Æ_?ðþ÷ñïß_¸ÎÏÿÜÇøùŸûØ·}÷c?ú£üØþè·}÷÷Ù ,fc¾ß¹ŸÏþù‘þ¡7~3ÿêcŸûìgøÜg?óçn÷±~„}ô#᾿‰¿ìüTUå×~õŸðk¿úOþ̶†¡ó[¿ùY~ë7?ûÆwÿèWþñçùôSOñ¥/þñ·mó³ÿÕϼñù[ÛîCúI>ô¡Ÿü®uüÖõ¾[›|ëò¿¬}¾Ûõúnß=Æ_O¼™ýí[VøÕªc¶6_!« Ä×%’Ë«ÐJ¹búéT`~jÒwK,Ît’”F@áÖQÉ• IM•ŒJkˆYñ ‘¡Ë R]ÀÌJzHHU™P²˜¸U"YcbTpu‡ÀЉe•PÖðO´V‰æ]•åL`¹ˆñ]ðžNÜÍÈf"¤вıcªNkL¹0ÃrCò‰Äba‘Çà  ±ÀX¬‘I2'Ò©ÉL-â‹&h¤¯Íu–S wX`Ö/3>«2\ÔéÏ›ô‚6§Y_6AduÕU¤”$‘‰}qn ‘’"‚¶²#È”Õ$a’B‰,ËI$4‰ÌP³%MVeÊ:KÅ$UÂDgé[¸ ‡…Pdž–HaE*™(¢è1†åS*ÎhVú´kg‰›‚ æ‚Æ8¬roP]¤(çáìã¬BfŠš3¤ZŒYX¢ê¢˜g*Ó´ÈYÜPÄMl¥mÎŒ£RIXÁ×li„áF¨ã!UŠhz4³sü¹‰?7Yæ~d’ˆ2`àâ0¡Œ˜e1Xù)Íðb wiã.-K›,1ESZbŠ>"9~fd*Q&­RÏ; K[ÇulfJñ„4:>e&,›™XF‘cù‘…‘!3Ä<%×’™J$êdK y™àTÔ´!NyUsÑ%q‘2:ª0;wžVžV˜œ,OÁöÁÃÖ\œ’‡!ú虑úèi€•{¨IL’È,â)2¾ Kºà%&S·ÂÂ-â¹~`1W L”2C»F¿ÜÀÓlrUÀħ óœX׈J ³¶ƒ_× ˜aé5q@„J/o1Ï çô…&±¢¢§K3¾cᕼšƒ×´QˆZÚ'Àùë5¢)䎶Hn‹zŽ$ää‚L,èøXè¢.芮ÈJŒ&…‚L"ˆ˜ÂCöÑ´EÐJ!j;"O„Õ ˜IL’/Hó€$OQíœâå%õ1›• -ÓCpsÂÈ`¶¨Â@!æ0Jɇ R²( +EäjJÞÈÉuÈCQÉœ|ŽÃœ‚°@ÊæË"‹q‘y·ˆwdÁ2ƒE Ó y(pª–Ø×Ö(iWÑÔ3«Í½É™µÆÄª’Æ2và¡Ñ¥®ð Wsð”UVQKZbSìlJ¥0`»vÄFõˆN©KÃ".3Â¥F²”ñ<¿« 2ÒÙ–˜ äÃŒÜÊÈÔ$qå—é*ä‰Džd‰DžˆÈr‚]X`;.vÁ¥dNX»X‚OœèŒã&q®¢ë9Ò‚¸¢a’­Æî+*±¦Ä2ÙD$÷ÄU8î÷9¾ù ÿ“úù½ß},þãÏÇç?ÿÇüýÿúgß´pÂïuØâ÷úøñý‹7³¿}Ë ¿ÍCþÃû#"Ga¶é0Ût˜—ü\EøÌŽLü£MöÎZ,¤ ®l"] h^=C‘#Té_³Zé“Ôà´Ö$/ÝÂK-†Jœ”ZãœØSýþE&G9§ßhrÞhÐo4XTÙ`*—èÒf>™ˆÌEGþaŒ”ž¯RTR<ê YçÅXœ´ð ²XB¯&hµ½–%FA…Q\a´¬0‰Jx¾ƒ‡Mdjäyhqr\' †¥É@i1‘GZ%¯±Ñ‚\I•` i,£ áj4Çt14ÑJY&‹¾ÉÜ3ñZ9ÂÔCÌf„q9¢ÀœB6§¯ÊqZ¥—´9OÛô• 7-jäKwè&“e…1U¢†.…´G/ë£ENÐåSX‰&7°9˜^ě؟ìºiI¦y«GõÂ9Âf†ÐδŒ ^Þb˜5¸“Þd®:·:«¼–‘DZT 5™ì\']FT¤1UyD¥:¢TŸÑ´WÛ±›:œÎÖˆ» £ JÍQ5ÑÚcáÚžmpp¶ÉüÔa±tPÕU‰Q•A„e¬±ŒtüX#ÛUô-a+#´¿*# Ò¢G˜Ì¢2º ÎW–Š![Š‘gI_%.«$CòYsºlÙ‡l;”Õ £i™Q·ÌhYaì–XLuÜ™F0M`:£*œ²mž²U:e+<Å|1F‘b1bšL—e&ËÝåq¦ h1Š£h1a¤Ñ;oqÖk³8/¹½N›;¯cqPÚDIcÔ fÓ;f'Ýã$Y稶ÉÑ“›°žáTg˜jÛGÖ‚Tg™Lâ*½hEèP7‡T;ÇÔŒ!…¥‹ ñ3®‰{f2Ü­rà¯Ã¶€ð(“nùX’‡Å-‰‘–²Ÿ"-3Ò…L¤ê„mPÓ]?‘ Îdv·‰µ‹ÈÛ9òV¶b+GÊs¤,GJsä4§& ¨©jöЉ.h¡ª*¨`9.u¡G¤+TYU"ÝIDZ'à“ä>’fSÞÓÚrÙ,Ÿ±‘ &Óý½uØ`ƒÁ"7"R<MáÒÁH;ø¹Í8©âE6‰¯¢ÑæœMéMáMð9Š69r78oâõ$ð#Åp‘C†¶Â=gƒ¥£slo1uJŒì C§ÊÈ®`ªUiDES5Fx‰ÍÑp“u‹£l“\†µò)›Õ}6+û´]J›sJ[3ŠÅ9JMT¦gº½ ŽÎ¶™ÊÌ» ËSŸ¼{s™l¨À¡L^U«9B-Gª¥ˆM ™t.“ÌÒPFÏ:œ²¡²iR3†DS•hª²7¹Äë³+ÈáÕqåÖ˜ëW™æ¦¤L…7+áæ6^îú6éRü›`ãÇ7CÃ~ïwÿ¯ïq=ã¯;^}åÅ7ùˆßkåõ½>þc|¿âÍìoßâÂïñT“žÓäÌiÒ+49OjL“»&“j,î¨×´'@½иv†!.1ÿRVRδ}½Jœ)ŽF^O©%çø}ÿÉøð"ÁCß7 .é;+ÿ¸D— U™Zä\h¢ Aß#¸ç¼à¾è‘ÌR/#õòDD%¥€K!œ.f6ÝÚ<¿É,*!]¯ŠHª@nID±F˜©„¹F¨$þÊx<1ò2Ì"‹ð¸Îð@BO¢v‘`½J°î®I+ °s°!D’P!]JÄ‘¢ˆc/(:Sjö­¼dÐ/!H%B·D0°Ñ¶–8Æ’bË£teIƒ>MÎiä}ô9ö¶0\ŸØUº5_g´¬á½ MŽ@¤j„šFTÒÀÁQý¦ð…] 1]#7°ñ†º— +°^÷ÕKØuÖs\ÍÀ1§˜¦»2 W²LÄM¦Ë ç~‡$–Ù2Ù1r«ó ›ùbB¾úÍ„¾Îíׯqûì ö_ßàîÃËß± Ì)˜sŠ›sLÉÃbER<§¸œSœ-(Nç(qJªJd-‘¬-1˜V¸óàwŽ/³ûp›Óe ý1F£—b´VJ”D™N”êD‰Î¶°Çmm{튊¨¤¤¢D*‰d‚JŽé¸4ôs”R„_7‰#™$”I"?јc2ÏM$,DI¢lAÓZ°iq!;d:.Ò;h`¼´@øzD,!^B²$v<Ü-¡ç e"Af3I*x¡Câk„9méœ'´»<%¾Œ-Ìx9¾Eî%Œ'6œVŒTŸ\ Veüê'•-^®JD•° ­èhl•÷)•÷¸fÜåFåUI—·‘)ƒ¬N. tZgܼúO_y­}°WÙ;s[ H â±Æô L÷õ v_¿J4öˆÇ.ñÈ#AÖÉ5‹\3É4i'Gy*A.ÒÈÉ™HÒ È2 =õéÐå¦ú*OÛ/ÐÐÏyýü÷Ï®±··Ãñé—:wØéÄ\ºzÌNç!g$œ’rJÆ)9áܫ‘õ$üžI° ÿþ>‡ ¬ÂY?ø“—ñ{¿ó=®Íc<Æ Þbö7úøñý7³¿}Ë ?»â²qëˆyæ&"ËXg6-¢LäÓñš ä©DžJêJH³ILQ+!)é8e96XLj¤cU•Pk ºâS¨öHm•HR‰2•ÈÓÈr!É‘’ 1ÉÐÔ¢2§nöY+cÆ „B‹ÐÈ™+ŠbX.…ÒŒJcN‹S6²Öó.ëù –æ“ɉ¤“¼Bk©ÎÌ/’K²ž" Fq‰©»¸¾Ißo I §ÎÜ)9*èQ¬Å:q¤…:Ž:§YÖ7R¬ —• ÐÈB‘p®3óŠœ{-ºî]o_4ЋK´â’ri†LLÖ•ÉNerWF b Á'X`.fà¡§>Š!jÙ*ÁI®¢1O @YFzÐHûXñ‚nØ¢¾P™XÌlÂÀ"ÐMÂ¥E*É(¡ø(á]Z¢/|”EŒàBæÊÈBŠ%ø”„)M¡¿ ›ô˸~ß·‰D=_¢+K4kI‹ø5‹ mâMÊÞŒÎÚ íæ)íê)}„%{Ãra1VAð%(–´ ‘Ÿs!Þç¦ÿr˜Dú”—)â2'_ФKye“!äˆÂÊf!óDâJr¢=”HÇ2^Í&ÜR˜¥#½Di:¥=?#9—P{!zËÇ\ó°k œÎ •$”™‡EÎÜ6ó¸„—Ø ˜‰,&4s6ôc.ê¹(ï!¥Rš!'9«ãžjô¥ Ñ:â<‡9d ‘d©ùq¦’ŠÒ*[§˜#&â2Cšdȃ ­¢ôb@ɨsvR%óEÝûã Û… ÅÀÅÌ#fQ™¹Wf6-3”ð$ßÔS…X’Ð%Yˆ‘…EˆI$QÊд‡9r¯^æ$*a¢­ìCESÎÄ”r¡§9yª. bO!ó„ EŽ#Ò4"'&—r1!ÊÜ¥Š<‚ìX%¶-f‰E(ä©€$¤(Ë= 0æÆØCë-Q†â4BpcD-DÔ—H¸ˆâ)5IÒUØs”›D©Fi„¾F$jÔ>I&#Ë –á’™"ºî£¨¢œ‘# X z1ªûX5?Óðßטû6ýã"ý“ ƒÓ:ý^¦C˜†0I`º@V"d-AÑcd=FteDWBXJˆ¾Dš‰IY€$¥Ê’¢6¡¡ŸÓÐ{"Þ¢ÍÞô2NÅ¥% Œ.vÅ ¬e$š ê9ª–¡$øì IDATÄ ƒ©[—¿#~¢¸~¿ÿ/ï/Yó1ã1ã1þmàÍìoß²Âo*–¸«\dá9÷68êmrt¶ÉxXÆtçtä1—® n-™: &IÉëuú§uävF±=Çl/©·Œ§‹®€ßÕœ „¾‚ˆ‚DŽHŽž¦Âm¹‹³#ió ‡ÅºÍ¼êàšKÉÀ—t|AÇOU²L ÏX™Á“­FÙªù>T^Yã,-ÃËq€BLHCn¼Ï'1uò5 Ö%òŽLhèŒG5FgUÆ'5CÃXbš.Ö¶‡yÍÃë)xç2Ës¯WÄÙžÓØîSߘÒèÌð‡þ¨Á`Ü`0iH2Fy‰QñÑËK*Åö!ëÖ›Ê!z¶$2eÕ"ýŽˆXHm¥ºž`²ÄI< É‚r<£šLÉãcŠæŒ5å„S³CÏnsVhÓsÛ$¢„c»ØöÇ^PÊ&dýœ£þA_ÆXúœtÖßà¼^ÆÄ§R˜`¬û˜Å%vyAZ†si^ œhx§Þ©{f3[–§Uæi‘$UПÖÚ-ñŒV¡‹cÍI« ‰¨X ù\D"’‘ÂþÙEŽãMNY§+¬1£D^äAÉ@yTZ)©¡#³t4D%¡™ö¸iÝÆj/8™opÊ:g¬J›’0£, (3¤¬ ¨·ÇÔcjñ˜úñ˜‚4£(Ï)Ê3 òq&¢{ pÄåd$•Ó%‰ãˆL ë:ÁeÐ2ÄjuDZ…½Êûò&÷ƒËôÄžmCGQÁQ\ ³6mhé`(°˜z%ºÓ5º“5N'Ær™EÁ¦P˜òtíyRMBS!A‚L§«¯qªuè*kŒ•2šb*.¦âbI ’¥ÄÉy‡tWäd·Ãt§È(¯0³ôVHâ)œõ:øgG½ HbNTÔh–ú”‹_Â2<ÖÔcêÊ€T™È%41Bc4)"ÏsªkC®Ä÷‘ì˜ÖöîzÅzW*Ðl˜‰¦€. ë Alræ­ÁD$ïI”ÄktYÓºt ]P0$r[’†˜+XvD]ŸÐ’ú”²=·ƒtžîéÌ–YÌmzA‡,™©EJÆ„‚:£ Î(*S"QÁÅbÂ^d³œY,ç&Ë™Ež Ø…Õâ»°ÀÒ=ÔeÌbYä¶÷$wÜ[œdŽ[–ït0×Bâ8'U’X&M3`)ú°¿$ú¤e‰  q5E¬†Ä¹Àù¨ÊÑÜ‘Švæsðp“ý 3A­•¡wRŒµ£R´”œˆ¢Qr"rƒžÔ^Qn1w j[BÂ4vRƒ}q‡S} ¿`û§Á:Z/ÄmjÝëDAJdDAŠï+t½ NÜ*3É€uV퟉àK Èå˜bgJqmJi ⢅gðFEܯ‰dƒ…™\ˆM…™]¤§·y(ï0‘ŠÛŒU‚¥NªˆŒŒ&Wˆ_S9ßk¢6#”V„Ù Øi>DM_e±("Ó• Ðßá'<~ø‰òûÿò_|kóññý7³¿}Ë ¿‰Xä®|•EâpÒÛäøöÇ·7ñÎL®¶î±Ö:àÊÕ{¬UN¸Û¿Á¾Èü~‹ó~›ÂõùuSö©7ÄÓñ¡ŽÿjÁ+Þ\A@D@@@¤áÌiw\îœpu§K±és^iЫÔ9/787댨2¦BF/ÕÈsaõ?Ï|eXÝÎW†ï[àE:g³2ó‡!Ý©@¥0¥¾áQßRß<Äl$ä¶HîHdŽˆ8„Pzîx'Æ¥%åËc*Û#ÊFŒNÊŒOÊdÇËBÂÆ”í>—6r¹óñ Æ®w`öz t0¯zí)…â”f«ÇºrÄ–zÀ¶|€ûÌ­"ýJmM„ÌDj©¨%]1ñ±S—b¸ ̨†L! (ÏYWO˜ÊwØ‹v¸S¸~ÆdYBU Æ„ºÙ§aô1]ø@æè°ÃƒÛ[}÷jÅÕ"‹¼H ™Ø‚O¹0¡]<¥Í)®f1WN´5æù5‘Aø@'¼m¾¦z:j¨:±ª`7´ÅW»\ËïÐ4ΈEÈR‰k*˹I¿I¯EwoÁQ·éà6m܆CÞÀÌŒ ÁH„\OItP—Yê:¶=§acul_Ûçt¹Æíà)”0g–2ƒ’>cÝ財²®QÏGÔ³dHýhŒ¦…¨jˆ¦E¨jˆã-©{#.{¸©M–ŠˆiЬ˜*"Q]%²T¢5 ?Óñ O·Ù3¶˜RæHÜâÌnáÖmØAR@’V¢OJA¶A1@–Áƒi¿ÄÃÜâ•î“åŒú•sêµs.m½N¡0GCŒ0D"ÜÐáíI^QŸÄUm¦J M ±—’2¦ MW¯×ád·ƒð|ާHVŠÔNÑÒ€d®rvØáøÎ6É]•Š>akç­‹Gl9G”õ1²!)1™,1‘K˜Ù*qYŽ"&TÖ†HvLc£Çó»Ü—¯r_¾Æ\ªÐl:8Š`h>Q¬1u+LǦ½ uyÈ“Ú+¤E‘rE]g%ü$Tl'¢¦OØOhd}ÄDç:³½2Ü7pÈr‰¹ZäÔ^§QèÑ6OiÑE–c$\læ˜Qd•˜O‹,Î ,Ί¨IŒÕ^RKÇ\ÐRVÇôügã5ÎÆúÓ¾¨´U‚uS …(PÉ}…4‰GK–ƒѾ€7Hj"Ùõœüz‚Ø I2‘óQ ÷ŽÊáÝâAÂlZ`>-0ŸÙ+á×Ìp®'ŸŒ)Þè(}ÖÔ;jŸ‡ÉeîÆ7Hc‰aRc¡­„ßT(°o“¤23©ÂÌ(ã rºÁî™ÍÑt Cœ“Í]Ò™G:÷Hü·°Æ¢XÅ-˜+á— H0“³ìR»äÑyrIç–‡—éõÖè™Ì^Ó$“¬.’?bR–™;Îô6†ì1«;ŒêUüÜ 3$F“ñDa0ipr­«ûl]Ûg[Þg«¾”ä̃"çni’®<4ÿ„z~Eßc<Æc<Æ›ƒ7³¿}Ëæ¦žeEîÅWyÝ»Êîù<¸ÄÞ‹;œ¾°ItfQÀg§}Â;n¾Æ…z—rêÁ©ÄäÅ*Á}ᬹG-Rp§H½%áýŒÉ7_ÖéIçü &½Ï[̾!!Ÿ,h$Ç;¢ÓïQMp¦.ºSö§lÆ'<‘ßåÝâ×yVü2ÏðžÉ¿Ê3é×xFùï©|…g·¿Ì³·¾ÄÓo{öÕ.âf̰^åaùgkM¦—JDOjˆïΑž‘ß#¡<« <§!\7HZ&n­æaŽZ<8ÙáÅݧùÂËï畇7ÏJØêœk×xfëË<×úï¯|2?Ïû´/ñ´ñ;ÖCNÇYP0Ô9qŽ“/H—£I…‡§øÆþÛ¸w|…ÓóÞÈBZdó½6÷^½ÎW¾òw_¸·çPy[þÏh_aG}@I™È23©ÈB¶Yʪ’`Õ\ZÛg\¹¹ËÛßý;—¨V'HRŽ;/0_”˜ú%¦Q™IZæ,ió ÚáÿI¾ì>Ë×¼wq'z‚£tƒ±Pf©˜„šA¢ëd–ŽhËFLI]Дú¬çÇÔ—} Ã9Úq¯Cx 3;+r>nq´Ø¦ë¯ÓLÓ2nnãæ6‹Ôa™„eFn•á¸N¿×¢w¸Æø°F~.QšM¹íq-»GÁ_àNmv{WùÓ“÷q?y‚aµAþ„Då‡g”È£ôþˆÂ{sì÷(¨[*™¨âwU&_Ö™]&ÞK‘f>¶„|W‚¾‘€`d¤E‰…îp.6Ù/°^¡+­3¶+uƒ¬#2UŠM7¸}ÿú'ïa÷Õf‡´iÀzzL;?¥’N0c1ÌVžžé÷úÎ÷$Ë$QHže|à?ñ¸|\>.—Ë7±L¢I–Aøw'Ï„÷?÷žü òe¦ÃÞŸ»R©Öb:ìñøGüÿèoÿ™¿ÿ¢í¾øÅ/’¦ÿvï–¿ýÛ¿ÍŸ,†<õ Ÿ`¦3>¨1Ú¯2Þ¯‘E®6nsí7ÊÜ_^cwù¼Uùô΋¼mçÞvéyÞ~éy­ñü'øÆk×ùÆk×™žÙ0ÉaœÁ8§nN¸vñ«¸záˆRÓe¨V*e†j…‰Q"ª[D5‹°fu”Ý!ÊýÁŠ»C²f™t­F¶^#]«²ëÌŽfG Ó#…zy̵'xâÆ!O\?À)ù,¼ ¯À|YÀ›8,»&þ‰ß5 ¦:Ù¦H¶)mˆ¤kÓ½2Óý2Ó½2³½2—vîsýúm®_•×oÓï7¸óÚ-îܾÉ;7‰u™úsê7Ï©_?g­uÂEö¸˜ïq‘‡h‹ˆ¯Þ~–¯Ýy–¯Ü~Ž×nQn)·GTÚ#Jí1Mq@CÐ4Ä!5s@ÅRµ†Tí!üƃè¢ËìF—™J%2S ³ 3ü‘Îà‹5†_¨3übÙÃ"\•àšWVIZÂ-ŽiqL›ãUÊýZ·^À­qïX|µˆûÕ"‹¯I3y•᳓"¶3Zëg<¹ý·¶^æ©­—i{ŒçU&ó “Y•Ñ´J¿ß¤Þ Þd8ªwâµGì(ØÆœ¢1¥ O)êSJñ”R0£ìO)S,ÉC3t3@3¦q‰»Ã›ÜÞàîð®ïðtñEž*¾ÈS…—¸bÜ'˜Sƒ`lL äbŒTHV,&ÈqЦHQ‚®<ögÆÿÇÞ›Išžù}¿÷»ï<+«²Ž®îêkzfƒÁ»\€ iÈ”#W†<® Y²d(dÉ‘%O–,Œ)ЦBޏË=Ì`1˜«{º»îª¬¼ó»¯÷•‘Án(KEp¹1õ‹øÇcÔ•™õÅ÷æ?Ÿ+Š6„áÍn©4“Z7©t‹DÌš!³z‡Y3dRïqÑ<à¬9æ¼yÈu;ÆÒk,­Â|l.x°>ÿ.^¾>à›—OøæåS¾þæ»G·|ü³ÏøøgŸñ£Ÿ}ÊÑà’`¬2‚uN1wùúú=¾¹yÎ7×Ïy›>$älõС8°p¿Éð^f¸/3Üo2Ê‘C>v)ö]Š=—x±yÕaóm—øÛ'£×üüÿ-?ûÉŸòó?üØ9ºc©wY]–F—R³ðÕv:g ¬¶f¹è±\ôY.{,W}æÖ¹=df ™[C¤ ÂUà*p%ÅÚ%½ H'[õÌw_óxôš“Ñ· ¾øô¾üì¾üì}‹Ï~ü Oü Ï~ü5û¯yùïÞã埿ÇË?{Wñƒg[ýhÎàãn”⸎“ã¸y鱌û,ã«MŸx‘β¹O6èhk>~øK~ôð—|òè—ìvnøôìÇ|zö>=û1_M>`||Åøø’ñƒ+ÆÇW4•ISZÔÅ6.~ã1û…Ïô/}fåáŽ*ö~¾bÙûù Ï.‘_€úR ¿„ìÒå®}§Ý!ø0#ø #ø0%|‘²ÛÞ±ÛNØm&ì¶–ªÏ”¦jÄTí°N;lÖ›MÈfQ--˜k¨¹€…±øý^Ì5šµAüNNŽ #T!ÃF°J`ý{=x<áäÅ-'ïßðøý²MÄõënÞpýú€ˆ¨÷¶û+«±‰îµ„ELXnˆŠ fU³”}VªÇJöÙT¼*áe/KxUò£?ú Ÿüñoøäÿšý“ßðfòŒ_½ü Ÿ¾ü1¿zù‡¬Ò.Οý—ü?‚?ù“?ùz¦èºÎ¼xúïýúïÎÝ¿ÉßuÿÿùÞè³Åÿþoþ/þÉõß1~ñãÿ°}Ï=÷ÜsÏ4n¾ú%þ¿ýOügÿü§Øÿâ¿þ÷~ßÿñ¯ÿO€ÿàû?Àäò”ùßü·ßßRÏÍ]—Wñœ¦1ÈsLó©ömT_q[hç™ÜZtå!«ñ.«½]âç6Î^Š×‹ z:Ý ]¹&r‡¸c SˆÎœ𶆷¤Yq~sH^ø\ÞŽqƒ‚TwÈ4›Tw¨“àE‹ÿ^ÎÐJ† þîŒÀ˜Œf/f4A@ÝPGê(ä¶3â2Üãr¼Kú¸ô ¯)Æ+'¢®]&›1“ù˜ÉlL» ™28˜ñèà-žH¸1¸6÷¹©÷¹¹Ø§8w)ΊSõVP»&É^À"p#÷X¸CÖÃùC)t„âBëI4[n‡Ù¨“KÕXm…‘7h«í°y.È6êò3—EwÀ]¸¥a†¦<¿å½êkžW_3l XAý†^½áqsʹ˥~À…µÏ¥<àNí«ˆ„J¹ ÈÌ4ð¶pâÌGeC’ &™‹ó¼Á}Þâ‹ ƒá’µÝgê5¨Ð ëHKC;i· Ÿ7ˆý†º§“ö|n¶Ö¸Zr}}ÈÕõ!³ùi TœÝŒçœ,ôÈ#—'Õk¢ ''¯yÜyÍYù€7ÕcÞ¼<áî·câeD9s(g62ÑP=”‚VC£65JͤÔ,ráR`o§j+PB KÉÙê!§ç8==áâòÑþšÎþŠ£ñ9Œ>gª¹cnÙã¦#…†Ñ©±ì”à9¹oq1 ºT¥Åu»ÏU¾G²vP IC“ëTE¡*iÑ6ªÖ¥¢+—<2ßòØ{ÅI÷[ªÀdc„ÄFÀZtY]V³>ËÛmyi¶ö©+‹ª´h¥¾ÝK¨ ÐÄ»×Z *JA­b&év—gç<¯¿â9_‚ÊÖPº†²5NƒC^:'èæcÖbŸ ‡jÍ ^òB½b`/`D „°~Òá«ò}¾*Þ£,"Vb—òHGõJ- ‰+âºÇmu@P%U‚ëä8NF×Y²ç^3O\/¸:;${P­tTñûÝ”lMß; SCìXè‡.Ú¡BÙ´•‡¬Te j kBß]͆Q‰Ǩ‘4uô !8ŠøSÄAKDDú¤¡GzÔµI³Ô·» /CÔRPø.…çRú6èêÝ ŒÒ²Y®hꂪ…B9”žM=2iåðÅ?Ø‘÷÷N¹÷~úÓ„ÿûùïùù¿ü¿ÿtÃü‡~X÷ÜsÏ=ÿèi›š›/Á¿ý_ÿGþèŸý ŒãOþÞþÖ÷ØøuHþê9X "êØ%ZnO‡ÜÝXh§C´YŠùSãÐÄ|fâü,ÅW ¡Œ‰ä†ž\ºÞXÃêøˆã`dæp‘mt.o<®&{h¢EˆE‹…ÄŽ*Žâ¡µd°¿âÈZÒß3Ø™1PsúrF%lJáP—Rsx]>FÛƒ4ïq[„HÝ¢vWî‚Ô É2ÁU|ÈÛÉÞ\<¦Î-~xð)Þòâð {çüzö#âiÈ›©Ïùõ#Ô¹@§õVPu-’‡‹¬Ç­Ücít·Æ—6жKÁ‡ ­¯Ð­wÆæ÷毭1²}%wu¡‘ßyŽËÒî#{êoé“êWP õÚ—ôÅ’^³æ¤=C5‚Sû˜¿2ÌÂé±j»\ª#jeo…½5~)0tÊ žz$³“™ƒ˜õ8œÍ8`Ê`gÁ!3æVŽt ²0`Ñm©#í¤Eÿ°Æøƒ m·¡Ö RÝc¡÷È7ËǼ¾|Êëož1™Ž<¹cøôŽÁÓ)ý“9²±ˆ@´ ˜ò@œñ˜×<ßrÛìóUüW“#¾¼øÜqqÚ×Np{)i’¥!ÙÒ#\&ß¿Q1cÏ›òmùŒ«êˆ_V?áß©Ÿâê)®›â„)n»LÝåTÎ1g”Xô™aPÑFÔÂD(E·Úàf%nR’×."Pd–ËÌë3ó{tXÿ-MÊ1“lÌ5fbŒ©HU#eªkhÊ­ñS©Ri¨VƒF Þ¿ýÎ5{£[¤­±Ö:üiþOIó€WÙs&Ë}žŠ7ì‡~Üù5?;ùS~ñú'Ô¯<Î^p÷jLœ…¨–íïl4ÛáŒR4¦ 6u*aP›‡w{l ’œ­ŽùÍùGüæ·óåWòÃüŠO98¸àãOùZ¾GUšœ•8+Ž1Œ–AwÊŽµÝ½'tI&å“î/˜¸#^sÂkñ˜¦ÅˆÕ¼Ïê|ÀêuŸ2vP–ØÞÃL±½ ´­¡UòqJ¬@›*ºÃ5Ò3>¬?çù £AèÍÚ®àøÜÿݬ1oEˆOÉ!k>T¯ø©ú3íKôhB;‚Y:ÂO[Ê4â:=AÕeäP†j[i’(D¢PÛéÈ…âqçOµ¯Ù ®y|ÃØE[I²7wŸQ+t¾{>(¶æïwÐh]í©‡ñ±ö¤ n-ä­ oÂ@ƒ¡ Ãåf(g‰t¤¡c˜5¾#$®J‰ Y‹kÑA]’Y@™{$—.å¯]ê+5¨‘€IHÊw¦oÙYl_)!ço?[G ¶×%ÿæ?á!÷Ÿ˜rü!‡Ë·ü³ŸÿŒ¿üWÿ3Ë«7´Móý°î¹çž{þÑ£Ýý>þäF;;èîßÿ Ú‡úvj¦TKH-òFCΈ¢rÐåÖиz…gåTs‹ëù>ŸÏ~@2‹8ËòMõ‚»jº²á8k`Q@ ¬†64!²!4Ð=…cdØFŠc¸~Ž÷j3d~çRÿfÀ¬ìU]¢ªGTõ¨—:ò©BŸ:ò¹Î¸Y²ÙôiÖ6¢•èp-FHQB¦¸ö˜ÝYdÓ†F ¦ÒçÔ>ÀèÌ¢!·ú>ø°×Þ€®È•Kîºä—üÈE{Ô’¹L½]ÚÜ ‘ÓrDÒ†4hµ"_ú¬òj RÓi*{»¯ÞÇMr.n€ GÏΰúºÑ`-†Ñ  ¢¢ t·ñ™÷’'î·ì˜SLjZM§²-J±Õ\ôX5âeH¶ ¨cMI¼ýýÇ Æƒ†ÀM ¼ßMqíœÔ7Hvu’Ì Í ìgPïù, \êDZ³è%'û§‚ޯѽMkÕ†]uËHMØ•L­F ØIÙ)g̺;èG5ú¨Ak*Ó¤ZÙTK‡båP¬MG§6uò*@§¥«Çwx;]{Ã>×ÃWË\-ø­þ!¯ô§Üé£mE›hT”™rWØn…åÖ„nŒ«å¥(±Y«%6…Ø¡M*zõ‘mp7%n™3Rw<Ñ^£,ÁÀž·ËÎ >.­f±6úÔ–IåiÐÑ ¯ÁH#ó»LÊC^Ý´È/=ν9î²Ä[¸‹[V˜»5ƨÂkŠÐá­qÌ„Iã#ëmº†Ä ÁV;ÎŒ'½o)öU2•;¬Œk3bmthwÏF|ÕR®bÖYÄ&ë°Î¢í Qb‹[+ œMr§ïR˜8NF9°˜4#^?§É Ϋ#΋CEHU(¼hÃ`gÂñÎvÎÀ…©6dÊ©PT˜ªEG!”%0T‹­*<•ê1Ýá‚áÓ)iáSø6ö“‚Í(äm{‚¼ÔÈ—…Ó£rl|'#7 ÏÃè400œÝÝ®71½’Äó¹,0oÎŒcÞ$O˜Ø»6º_‘ô}.ÛC¼«”&71ƒ #¨1Ãm|ÓyÌíÃ]²ØÅ0Ú@cötÈ«Þsô¦åõ|Ž6m¦Ðf°N»üÖüKóØ ÁÛì–)P„RØz±-W5s/g'˜ùk,«Di‰†’ñÊÛ‰ IDATªÙf()Ù¿f-»$ìÆDÞ†ÐÛ`†ÙÀ%Í=Òo<òk9o‘óí¶ÄþÀ„Â,°,ÙБ »Ìx ]Ò:s1@j:©æSg:ÕR§\hKE1‡ju-hv5D¤ˆkÂÁ†p°Á r³!‹ò½†ì±†ø `ótÄå@ÃÐCnâ}nnl®-Ú«b;lfÕÀà{{lþ’ÿ9GÑgì{¤«€’ÿÐêž{î¹ç?BCó"ôý1žþ1Û²¦¿¾¿'XxdÀDÂ¤ÝÆY  rƒAŠCƒOIDJ¹´¹øöË—C¾~õólÈM;æ¦S·¬˜U0Í ˆÁ‘Û±÷‡.è;à;]·¥ë$øvJ«yÔZ‡Û;ë©Ï·Úlc»ÐE´‡Ú£ˆuÒc9é³¼ëSßÙÈ–UD[í°©d ›$d“è”IŽ´kf¦ÁVƒ.½nŠIáÕX<èœ2ï˜ï÷Y¬Ì7´¨%ïyÜ…˼OY9$yHR†´­A[(Ò8@6yã—æÉçé#:É¿IЃÃoyøÁ[žz/±E‰£8¢À%Âf[2ú.ŽŒ;Æú {Æ-–¨¨u“Ø ØX+äª3Ý Y/»äŸ63qdŠwáí¦„õ†q3a¯™0n' š7Æ€[cð]Tƒ&ò™YæsƒA¼`OLGoØ=˜à9ZW"ìMJìª 0b|è4MÒï,9R¬ýë¼Ç²×eÑë²ô{,U—|ñÈ_äof5ÔÒaÕ¹’ÇØýc¯&Ú[38œ‘†>sk°U=DÈš¡1çQtÊ#ýŒ~¸ Ýø¤kŸ¿Þ|Ä&‹¸ ÇÜ„cah•NÛÈFƒ…ßÍ1’ Ÿ2´ft´5 +ÑE§%Ã#.†l¡Ò1ó–`“áå;bŽ2{ÉýKTXTX¢Ä¤BIDt¸3Æ[B`@Ç€¡€Nfõ¹)¡¾Š˜µzйl0W5æªÙ®n¨¶™Jw/C…ðZ=åª×Á¶§«}§fûÖ‚§ƒWfÂñàŒ3ë§Á1§þÎücÚ®Æm—f`p+ÇXóšüΡ˜:w.M¬ch †¾•0‰X>êºÏç4©ÎmºGzpþÛ‡,òiÑe–G4y…;^1z|ÍÉ“oùûkÐ4ÎC,½¢:5-&%. ‰C¹]¯¯Hvçҥ꘴O¦S²pûäÇÛ³“mÏf¯Æè6„fLcšäO<(ÑÚíîLÓ«°üË+°Œ‚¤ 8+²\÷1뚥ÖcáõÉÚ¢b]„¼-_Fœ}û{¯ÀXû¶[0ï¹9»>ÆQI£ëÜt÷¨{&7Í>Þ4GœòòÄåfwÌÍhÌf7‚0Ù·wå´®™Òwôô9=mÁÀžÑsXvE-L*,jeÐ*”¹ý9Z@Û.õ']pxxŽe\­¸^pu±O¼ ‘iŒJdC–BA6vUÓ cÆÜqbœQ(¥ë$Z@+ ŠÔ&?3ɾÕI¿ÕÈVÐÐú À jч v¼ ³€ÙqÈl0Û„ˆ½›}“‹Q‡X³HºÜ^í°þÊ¢ù²€X¬ÇßßcóïDh‡ŸÀá'¿Ë«ßsÏ=÷Üóˆïï ö;ã7WJ8má¢S ­ &48¤tX“.B¯wH’þE¸]D¬l*eQ) š ê ê ê DF<Õá}ýX#7 Ö½ %Ô7L/<¦Ó‹1óË!Úl6›'õ^>裪>ÊéÑlš3ƒæÜ 97iæŠe±‰ÆÆ…¢¢im+hÚ::SßcÕïq6¶ñw%¬×s¿Ï?ä*3]î°žwÈÏ}di`Ž‚ØþxÆ(šðlñš§Ëoyº|ÍQ|ÅËÞ ßöNxÙ{ŒÖ×Ye}ÖyÀ:í³ž÷0òox*Þð"úšOÌ_Ñwˆž[QI„j¼+ÓÕ ‰ ZÏ ¤Òç¥õ”Wæ3JËâZÉçù+Ÿü—>Ù/CÊÒgÙ0š£mØ{œò`ï”ãƒSÒ®ÏÛú1Eå2©,ŒV±£/x¿óÔù+†ÙŒÏ.>æ³åÇüzõC¾š½ Ù”–EÕµ¶Æoc c&¶±¤Þ]¡·ßJvçDæSÔ[ãG‰ö»ü)>–¬±ª?Ëh6&F34ftœ5ÇÞµg „D B¤2b"Ƽ5b4[/ kÀP‡\‘V&U1½>À¼kЫm­ïd%wI´·"K¬¨dÖî2­wIÊ`Û¥Þõ”µ@}sA0Üš¾RÙ|=ã³ÁGÐoXõÆ€I»Ëm»j5äBGžkÈ·ò†š½Û«h(„©Ð½ë¤À>ɱOr:T_:Ü~¹Çù[‡òK—:–ÔyK•Kš¬Æ{²d§¸æÄ~ÍG£ÏQ®Ž¥ªíÊ}ûz–¸d´ï<†Aûñëèkò‘GÕ5iO4¨$›y—Å¢ÏfÞe}Úc0˜±×^³g^±-Q¦Î&èbµÛÅæ‰V8a†$MC|ã³\õ¨¯mÚØ@ŽjÔX¡÷*Öo"â7§'hoÀ}šâ6)®—âî¦Ô]“Âs(Œª¤©Ln«=nêT¥ÁTÀ[às¿™h”ï½»÷õ-p‹íÉð.ãç™}wÆsÁ¾{…«¥¸Z©UÔšI…Mƒ¹ÍüýÎð±ý¿8‚ÁOž¾äý>§ÓYóå¯>D^èÌ=¤þÊ‚¶vƒ’w §Pín³M¦ ž†#kzjÃØ˜pbŸ±! !1¢Qyj“Ÿ›äŸéd)ÈPïƒúxÆ£š7ãÄ{ÍûÞoyè¼á¼9â¬9Âni›Âê°±;Ä–àB‡46‰/-’/-Ú?ÏaQBU³}‘î¹çž{î¹çûÇ÷ÖøY^‰¿;GêÐLÍ@Ðôr#ÐL…n5h¦Àðæ‰Bõu*á®B6‹›Y‡õ]—õm©tpO€+¦@è:&B·¡§¡ŽÔÀËDÕ:MêR6>y¡IArî’œëħ ñE±]ö{Û‰v¥+®=pìmiê¦k×®[ÈZ*©Þ6ëâ×Û7>J‚jÑ; s¨p£×­ô«­…NZøÌŀĨl B…m¨R å =—¹¤j,jË¢n@6²´ž†lŶ±¨1!y7T¢¤ÊßNÆ«6DíŠ@‹©t›Æ0i ¥ ìºÆª+ŒºÆ®kÊÄ&Þ (6ÅÆeåuX ºÌé2w{Ü´c®’}–Ó>å…³Ý=fšT]›B¸dŽÏÚí0ÏDvŠQIJ×Å *¢ V§afì0ÕcfäØª&  ÝgbP„nBhÅZŒ”‚M²*{lDH¦œí›ÒwªßevJvÅ¡C*"3$uCÒNHV{d¸äÊ%Ã¥èØdšGG¬®zäK—¤(Jº°Ð€Ä X:}&Î.­ÔÈtÍoéôV슒 $Ñ’<¤š[ÛáML¨Ç^BÏ]Ð3èº$!UcbV FÕbÔ 4È…K®¹äÂÅ«r´ l­&òclQ’â‘Å>iå“ÏÝí@É»“p§ïR–^²Lȇ.­Ô‘¦FèP€¦$Bn N iRW&Mfbh5µ¦!1ŒtEAÛhÈBC¥‚Mq•îóMö/ÍÐ4¹½ó¼ë›0b©÷H ¨•Mk(]Cê:J×ÐlµÍŠu*ÌA R5Yã‘VUká-ü©ôBWè‹–0OÑHÐ]E-$µ'©ë–º‘¯ØïݲãMééKJébÖ5JêäOZ‡”®K=²uô^‹þ@a [,·Â¦DS-JjTÊ"—q²žöX\X^ hû:zÒ § zÖRZ•´Ñµ¿“è1={NßœÓSs´Z1ÍFL“]6«.›Uݨ1D…Nž7T—í¹N{ªÑ¼Ñq”Ž]8…‰[¸½'È„kÜa­FZ4‰Eƒ…´u„϶4{jË$6C’< ž„ÔÊÜfü~'è+Ä@"L‰°ZZMßöÀa‘°v"êyTÑIV˜«j{m›0 1ÆÃšjÏdÝëÒx&ë KøÔ¾… Ô³í0,ýŒÀ8#>,H†‚$ˆ EŽÇ¼pYñ2{N"}έLì=–¢G\Gd™C±´©ï,´T|}IÐiìÆ<±_ñÈ~þuÉÀœ±¬{ØU‹¨,*ѦÍB£-uÚR£üJ£|%(/4äTÀZ€ý½Ý€tÏ=÷ÜsÏ=ß_ãç™)ûÑ%µ4Èö]²Ä%­]êžÖXQõ.êÖzh²ÒÛ|îÇei T‚]m«=Žæ8hNˆæ(0RšM»Ôi—:Iã#še£c)ñ\ÏÊù – ÀaBäBÓBÜÀëÜÎ 3·fpíl£¥CèÐwÁqAÊwS.¶%aýG F–ìî,éy1r£ÑÆ:ñ1gÉ#ò¾MÑ·)z6º%ñõa§¡&ä†ÏFïkZ¡ J´ºE4±TÈHGÙ:&3™kŒô„ìÖãÚ; ×tÂ5Q¸" 6DbC¤ÇDfLØ&¬6=f‹Ó‹fç#6QHòÀ%•.©ã²N»ÌWCw}ÊK™ê–ÇÚQÔ®IÞúIÀ4ÙãMù”\à×1Až0L›gÌ䩾Ã4ØaêŽ0ò–*1x•>åR;dϺåØ>ã¡yÊó…ÆEyÄiyÌiñi=ü}ùa»í?ó¢ ?Ìx^ñÜÿ–Òs(÷ÊÊ¡ô&Úˆ[cÄÄÜåÖØE72ÝãzqÀê]Jé2oÌëUc# ËÎ!ZG²ìôº3P§—óaø×<¯¿à¼|ÈyyÌÙæ˜tæ3ðfûg÷N9öO©»iÏ%ó].´#ÚJG­l4ØÚÆ ÒMjâÒM:bƒ®$®SЭÐê–ëdŸ›Í×ñwÉP ßÅõn‡õncTó ÿ–Âr¨|‹r`SXЀ¡šm¿›jh6&éuðN!š.±û¾ŸÒ5W*¦®²4ÀX×È©ÆtµÃ׫÷ÈVË£¿müt˜ºC®ü}®ý1+¿OÓ×qw œÑgTà RB‘†1án KÁÍjŸ›å˜Ûå>ólH³1Éßú´w:Õ6ûõ-ãæ†ýÎ-ãoÉ5ƒD·‰ ›X·9\³?žÐÇè^C- ²ÆgUõ˜Ê=îŠ1yà‘?ô¨M#o%úƒ=jÑeKXÄ«ˆÙr—‹å1Ùe@zP\º¨+AÑuXÌ´ä&„” "I'ZÛKóKãKDßΟòjÝ’¥›´‹ºÑhW&êB£5 äuƒ¼®‘× LZÚ¦¤Z•¨Ë’æËïÁ†þñœñÃc{kV“íZÄP ½+ÏBºð9•9mrvzLvêm ß»ö:hŽ Šc‡Ä X÷:ˆw©<õ®!<êCGÏ n¨ssûáÛa@–WQ L®Ä*B䊉3f²·Gò"DïHvܘcç–c÷[¯8ïHÎ"—³h‡4R,.¯µ'ÔµÅM2¦jLæ^™è3×{l¤G&MJe!•‰#JÆÆ”#k‘;aß»c`ÌèsºÚ ¡ ÉLеK²é°Ú i—¹È%È… ¹Öh.ídÛÈ!@|oÌ{î¹çž{îù?+eܹ¤6«q*A¥¹4{&æ¨ÄÝ)ðvRì~AU;”µCÚT·.ÍBÐ&‚¶T >0žÏth¡ƒ(ôЀš[nä­N;ÓI×>ÕZg½öÑ㌺ÜP—kêruÑ¢áÖôE(Ö°YÀí ò%”TÔá6Ž\-xdÃ3 úú;c¢ UfBtÃñè†';¯¹w\-ޏ\<àòúˆëÛÌ£«.±¬³WâèïzñŒWlŒ.¦V!…F†Oãhf‹f4èfkÀRH¢4sƒ…’¥>7·c<2:£‘\Ò±WtŒ%;jÊŽ1c¨¦ì¨7ò€·ËǼ==áíçIz>M«Ñ¸í@PeåÊ£˜º”W6íF#w\j×$õVjÀ´Úé ìª$)Ô_ð~ñÓ3>о`f÷¹³†Ü¹;L­!Ót—;c—+qÈTŽØ7nøØúºU34ïJpYòùú#~µþ„³ôá¶÷¬jpEÆûÃ/ù`øGÚÏ­o¾N»¯#]vOçµýˆ—ÞS^º‘ž$¾ ÉÎ\V§]êS›2±©¤M)*eQ»&—£C–£ߎž0Ìx}ͳî7<‰^²kÝòÙÕ'˜×ñ4äêúˆÁÁœ§þK~Ôû|Ê•¿Ï+ç /ݧ\èGl’ˆfcÑL,ê‰E[HSCZ[ œ9n˜Ó Öì„4Õðæí#¾Ú¼Ï×o?àõùÔï¦+¾›°è¿ˆñeBЋyžRv-²OV{¤µ‡ ‹KU˜TT ‡E€ò¥é@V¿ÂR:暎Z‘U!ë´‡¹n3éÝÙÔãòû¡©ïL:¦Cfºä¦Kfº8G9æû:ÖšÞxÆ ?g'˜2ܱSÍPkÁ7/Ð.$±1«†Ôk‹v¢S6Eåñhïœã½K>Úý5ïýšMà3ó»Ìü3¿Gß^r`ßѱt»¥Qií±*{L«]¦ÅM`Ð>4hÆ:b Ðú=lÑ•¤N-’»ˆéõˆË«cÚKƒæÒ¤¹4¶Æ/ri§:ÉmÈÝhç0Ç9Îq쌎·`lÞð,~ųüÏãW°X‹–lr¢R\ë¨Z kj‰Z¶°jP« –í²A^64NCi7ì~¸¦÷ñ5ì3Þß?£gÇXf)j,£F×%šÚÄ#XL|zú#´3Éò¬ÇÍd¼ÍòýÎøyД¥åöÖª‹DÐlçÿÒ¢#BÐt‰;HñÇÐl¾l‹Yµï2ê×PJ‡¢t)l—|Ï¥°\Œ£–Qó^tËÃ×ü üœÏðp’ñK¥X‰5·õ_Ô ZE-tj]§65j©S©­Z4l‘3Ö§¼°¿æ#÷ yghšD‰¦IjiÒfÅÂ#¾‹XN¨K…ºR¨K— ™ T®!sýñãÞøÝsÏ=÷Üó½æ{{ŠiYq3§Í=´ØBk‚í³ 4ô¡Â:ªqd¸»)òF‘ßj”S‹øVl§v®Ù!pÁî•Ø{5Îqó¬†4¶Fci4–K“ÛÝ¥#kAUšÔ¹@¤&$&¨¥2”©f…Ý˱wœ{G£Zn¨f*Se R8(ËD6Òi1vj̉õ¨Æ|¡£Åïû¢𵄿¡$vŠ«r¬¶Ähj´RB¾ý®¶ÕÑ”Žª¢¨ÑË ³H02žzh™i‚ 85Âݦ {&úÐ@e&*0¨|“°‘y1WÛæÑЍ]i+VE—eÑeYtX\®¸Éö˜5ÊÖFk´ºE{W¦ØT-Z­µB•õzkdp@+%Ž^Pé6Ž^  ¬ô([‡:±S£×âõsºý*”ºÅZvR¶±¾í+LmÔtQ­ Ã#m}²* ."êÆ¤jMêÚÄÑ öš[ªÖ–%æèžDÓ[ô@¢Z”'É|›µï3óûˆ·Š<ó· +m³}>4 jh<ƒØ IQK6*¤£æªstÕª˜.K̉ cíš‘1a`Íè:+"wÃ;Ô¹É&˜¨]VqfeѬMšâÝ9©!¥†l5ZÍ`Î…Ócu°õ‚ù´Ç9âJ9«lû bƒ%ªíp©5ˆr»JÙ Ìü¡¥˜”XXM‰Ù â)d…Ÿ¤ØI-jì¦Än œºÄ–¶ûN£šNÍu½OgµÂÖKD)±Åvø­•XM‰›&‹‚òF°ð=Z×¢6-j˦¶l-¡ç/é+zÚC4Ô4 :i°ÌÔ¹E‘¹lêµmÒ„&­¦£E-º¯ay:žoú&}Ù0R1jÂRž’ä>Efq—õ(²]Ì Âdx¤øNŠ4™ïÀÀ¡Ù7Ñr#T8ÔxIN0Oþ†¡U &%ª4•IQ:¨XIÔTÁ­ÂT –ÕlKŒw4¡(§5ÛO,î¹çž{î¹çûÇ÷Öøeg’›]Q×&iÜÆ’&VM¡i=h0G –,1×ý2G¼\Ã+V.¬=Ð<ytGKö‡7ôo8èÜPàp3ÙåvµÇír—¼´i1è°#}ÐK‰^6èE…V6´µE[wh+ Õvô3Æý{ý3ƽŒEf1-¦‰Í,)ª€¦‰hšÕD8ƒšÁÃ5ƒGÃ5^§DHõ4%1õšJZ¼Is®ŽÑ”¢nøÁÁ_óQç×,‡]VƒK·ÃRu)æ‚äZ`^ Ìk<±Y—-I™ÐVSÊ”´–D™-º)0tC70ŸaRIû;µÂ@ J˜8xÌæC²+‡ùUŸ‹«CD4’ÃÝs†Ws·ÂÚ©1õŠ˜+÷«ÞW‡¬k{®€ÌÛš½þ-ý+zWìù·8qŠ_oÞã4~ˆ:V¨G ‰Bu@èŠ]ç–n³â=¾¡£¯Øw/ Ý ™å@+èx+ž7_ª„÷œ¯YÐc!zÌéQë&v”“‡·Áˆo¬'¸¢ØfL­§.È-›ÖFƒK†TX‡5¶Ü–oî¢mùáê€ëå>™åcíØû%Öq‰ßÛ&>onS¼rx•?#6BÝàp÷œÞþ‚Ћ)=‹¯«÷¸º9à&Ýã|ó€‹ÍâM—Æ´Ð}‰éçh{)­¡Sñn06Ê4žAeÙäºCaØýšÎÃöíH#ÞD$qH¼‰ˆ7Eà²\õ‘Ÿkäo}zã9½ƒ£ƒ;ú ré2Ýì0ÝŒ˜­wÈsQB$' ºÖbtk ßáº=ÀJvðTÁž7ádç Ç(`Àv y *VÓiõßKk%FÛb4[ó¤í´h[Ä AØÛ¡<.ûܲGn¸\vŽ˜í¨Lkã¦9NVà¤n–#¼†[w—Oõ¹™ïµ+ÂfCÔl·w”¦ÍFër)ŽØˆˆërŸ7ñ.–‡d 6 2¹]“IêV1 {¼Q†6—ÞR- &;ý Þ Eì+ÄêÝà›•"vÂíÔX¿Ã&è@GR÷M' ÎM‚&cAŸ•>†ÝRj5²¡0Ìì1ŒݨЪ­*Ъ­’ôY3`öNSì!c“©uÄröc©0ó³¨1‹†@†s†ÁŒA8§ì:,#²Æ£¶ Œƒ–;cäL¹ΔD³ˆK‹ä+‹Ù×ÍÀ¡z´C—vàâ9%‘™òÀ¼â¡ù[/É5‡BÛ^‡©æ³±flÔ„Öa­uYU}–²Ç*ïQn¦³_·/(¥Íµ< ì:ÐÓxÚý–½Kn³W7;ß)ègŒß±/&ìwïh“ë£1×å7ÞåÆã¦s€UHÒ¯;œM3MîLŽîð{)®›awsLUb8ÕÿËÞ›†X·žuŸ¿{ÍÃ^kÏSÍUÏtž3™A:MèF?tÇ×Ò [ñKÓ ( &Q‚ƤUˆõƒŠ¼#ò¾Ði!بH:ÃIÎÉ9ÏTOÍÓÞ»ö¸öš×ºûÃ~ròƆ~ínòÔúÁÅMUíµXÅf×]ÿu­ëÿ§Ô¤%(+  ®Ѭ\ÓtÇ4+×èjÊ«_¸ÖßÚÍï†n¸á†þ?ò/ZøÿÇUÐtVdyAžKpA©”h-Ê0Êm£ž–(o”ðÕrõœ“ÖU…v…j7àVë—¯òRíU¦ó¯^½£Gm²ÂDn(ÏJ %ªZ¢+9º’¡’‘EYd £:2)hú¹]=âùêcž¯>á(볟mò$Ý$M›ˆ´FšT ñ(’ ¶3¥Óœ±Ó:d§uDÝ™ È•àSdIR˜«°í¤ÇI´MUØã)»Þ>»Þ[ñȾÃ#ç©}—S¹Nq­Âcñª¯ ²¹BZ$E@Q$HJuÔ,UuvKþ¥âÜRQ[á´B8«PNUŠH{fu¯“`¢à][ˆGuø†D|£¤Û°¾{ÁúÎë;øÞ[qô[‰Ðåö˨ ˜®7˜êõU$Ǹ]dôv/yoò’ÿ*w­G]msr¶Éã{mQyiŽÇ ¯:ÃÛšRSgôÌ j̨ésL%F5 #'4l(¡êLñdÀå AÅçHÛäHßäHÛâZ¯c‘irat(u‰¯Îñ9~9Ç/„ªE¡*¨jŽ#BœJD{cHÇÒÙ0ºjóúÙ‹(§’ÉIX±0» îúw+ÀªDöÏ÷8~¼y™ÒÚÐÏ“Rï IDATÚ²¹vLsgÄ(j3ŠÚ<ˆžc4í0¿ô™Ÿ{ÌÏ|çJ»@¿bÝ ±»¥¯²L+ˆLRdRù–ð3ˆ›D³Ðë5cÂFëc7f8é1˜tÉ':‹‰O<¶‘Axè2ž´Ø»—‡¬)Ük?`ZÔ`¢0ºì2¾hµê„ZmB­:A³ógA÷UFy™)Ü•è;‡ÜU³ç?E>U•åjl5S52Å Su2UGK Ì$ÃH2Ì8#quæ óÖ*d†ÇüYäüœUÖߢê3׫d53©d+Qçgs¼|A9W¹\t8_¬!Ç*·ó'ÜËð\ñ€~9`hµ8Ñ6y ßã~‹dYPgv]'¼r`(aTÂu×9y£jØ7T{xõjBµ?¥³6 Úˆ’HD\®Ö¤d¨u8×ûœëkdºB¢XdB':ËÈÇIcÆz“™Se¡¹nJŒNV¨”©²2©©gõ³aø1j‘¢–)j‘¡[ÌØá”Øå€1]Nä.'r“ãÑqì jP¢,JêÖ˜ÝõvÖž²S;@©L׫, ›¼®¡.ògî—O¸ë³ T«ûlVǼP}Ä»ªÿH•ûÈRg.{\”>yê¡Åz¢bÆ%uÑ1&lìOi1DÕVó(ŠZ²È}‚Ô'ŒŽ'Û\…=êþ”çªo°íò½þ—PDΛKÑE‘%YÅ¡øŠB¹È‘"Ca‰)Êgæ ß.}MÅjk¸–Ž»£¡n[È…üT'ldÊjÞ¨P(¤JŽF¶ÐÈÎ5²‡ÙW4œç#ÔÍcÚwßþ€¶;¢…xaH% 9WÖIm‹i£ÁyºÎŸü\£ªägZ’Ó2GÜjîóNùÞf¿‚Z\ͺ Î:|õá;hU´×/é./)¥¤¦Î¨›cöÔCvÍC’©æ3U«ÌÔ*”P³TÅ‚ª¾ (4ÚfÊnå ~1aîú,"ùk>é¹›¹å¦@TAŽcäqÇ.3ŠÍ!éVH´Kße™TB ôX†>圚2§¦Îpâcœ,l-ÜA©I”z‰¨K"ápr¶ÅÅéËÓUnºUãdkƒªzY/¹]4rvÄ!6!²šÂvˆ"PC²D!VubM'ÑVó5ß~P6LŠ{>åŽGáù«¹º…N~©!÷â\bä kAµ1Å“SìZŒµc1¦–PÙ¨Ü X´|^Õ^ÂS<-À·|eA”;ÈP²¡Å9·£'\-º œ«³ŠX°x¯ªWÐ^r¯|ˆtÍþ5ê½ýv‚ÞLÐÕ„R–ŠËPm¡ŠE„Ê·bV]–¹ZC …2SIr ¶òSúòÅ.PìõÙêbR¢aa“`®ÂªÑ …ÃTÖ¸=T ˃¦¤• ¸o~“V9 ë¨d¾F"LâÒÄ©G4îNpÔo/`ëî![·iׇ+1iMX«â€)ÑôÛ±›1Öf‚è”÷ ì®b*<¤PI„E <Q`’P! .Æ´¡‘!H:-cˆæø,èç”R¥pUʾBq[¥UwLöÃ;,T' žŒîr1Z#^Z¶J\ØÌKK6±EH© <{†" ¤Pц)—£_~/Ó>յɷ«2&R–Âa)VyyªZb†Ì0•œ²dRÇSúá¶ã˜13 jΘ«>F‘¡ç9F‘a)¶bk!޶ÄTb'Fk !µu$Ö"Þ8©1¾~žƒéƒ®}²—žÍ ã Â2î“5lö«·8÷7«dö,L^`rKcl48Ôv°•%3|NÅ¡pqÕ€=ñ”…Ve¡WY˜UÓ`™¹\×P§ᑃ-"Æã ÖÛÿ%wÊÿ²üÈÿò³oõ%Üpà 7ü›ç/þðý®û-~¿üË¿Ì>ðÞýîwðÿð|ô£å¯þê¯ø‹¿ø Žù“?ùʲäcûŸÿüçyßûÞ÷Ÿœa%üKÅìk¸/¤¸ÏO1v–dæ*¯.È«d´,I›™(¡]âÕ¬×lÕlÖ®('ѕÓóÛ¼zù2B—èõ}3áÖKOèfç\\®qqÙ'}ª‘ª*òEI ”up¡¼ŽO#ä«<È_’ÊÈ›.A\!˜x,¯}‚±O˸fÃ;çNå1w½Çä©ÊùÅg‡kî±ÀClIØ–ˆmÈMéIÙÃ*ˇ+ÛúiPåDÝD©çªƒ!R Rv8à®xˆVKзc4-FkÆDÒdfV˜?«TÕù–舗I«`ÒÒ™xU’Â$*徂x*1¯ÐØÓd@§:¢½3¢­h·FÌ[£õ£Vƒ}MɨsªÊœª>Ã.bô(g+>æVú”EèóúôyÞpï[óÒÿ¶ðsAñJÚëCDEÒ\»æÞsYt]=‡ å°PÝgÂÏa(Z$¥* J¡P……Pq˜ju&¢ÎT«#•^|Iw~Åæì”FsVL…‰f©Š9}ã‚Ô3È*:YO'¿£­D~¬“d&O¢Ûóh•©xµˆC ¡I¢|õ>©ä¸ÊM/ðÄŒº6F¥„Páò¸Ëåƒ>_=|›/²•±U9dkS(.sQe&|æø €fhJf8ID% ðâ€V8¦¥\ãyµÊ”†:&Tl¼bI%]•›G«Ž¿,¢D*ÝÉ‘-Aæè-O™bkK4-¡ÔJ*ÊœñÄ‚qÄÜò 6aÅ&ì:Èœiˆ3 q¦Kô$#«¤ÏªtTŒi0¡iœLˆ² '©Ëi¶Íƒô9üúŒnë’~û‚®uÅuÙâIv™¨ÌÂ:±b2²šèÙi©ÑÖx¸ä¶ý'‹(±*s%ܲ[< o1 LÃ&s§Nàø„¸Äš-"¶ÔcšÆ”ç¬G‰ÞˆïóÆä>ós ¬0ÊÛd‘Áõ¢…êçÌ—UæA•péPH•iTåTÙ óU†í&qK%yNÃjj¬ß H*’¤Z’Vs’jJy±~Áãö9ø^@õ…”ªL©ÖS4O|‡ð›ÁÂ!¾RÉ ”ý%õK¶wOÙÚ>csûœð"!¼Hyý¤Æ—/žgdn2rwÕûdM‚¢ä$©°<\ãôÁ=ŠšÎx§Áx»A¸ã¢"¥U€¹¥sm49TwH• :d Ut*2`Oì3Ôz õ‚ÂÐYšË ÂÅtpéröÑŠŒÉø‹ð¯XøÝpà 7Ü𯛷Løõz=„ñmáÑï÷øë¿þk>üáS«ÕøÉŸüI>þñÿágM³À\˨¼Rýo—˜w³qxb³˜ø,®«H…•ÁDP$~mÉzuÉsÕ^¬¾Ê雼>|‘ýó[¼þåq› n¿ó1·7±÷Î'‰‚þw1ÉS•ñkUX8HQ"ëPî*ˆ¦@^ÇȧSøÚ¾6¦(‡¤þ’héÄÁÄ#¸ðYžUYó®Xïœóvýþ›êß1ÉêüÃÅ»9xí¿ò<Çż$!e%‚*y"ò«å¤`ªÖP›,wm®´6{ˆ7$F=¡²¹ ±¼¦Ç%·j‡ìiÜj²wûÖ=¾\y•]¾¡¿D¡¨T•)umJ)ëòŒÛÉ›Éw²§¡†3‰]‹3kyîGÇOñÊ••ÿÚˆ{ò!¥T81×9¶68278V7(…B \L¦jõ™Ñü·kŽÏ‘¶Å¡¶Ã¡Ü)ø¯ò/Ó Ùº8åÞü‹Ôe¡¸,—çM·’Ò1 æ›]?‰@¡$K\,+´RÚÍëò„YQCKï±È\’t“¨´±[ÝcÞ®•çõ×QD¹*¥D iXc«Ä‘KZ hv&ô–zá€n8d¦ûœ¸»ëœ딨Âg*«N'¦ˆW?&´½Ù鋱H„‰oÎÐÍÍËÐeFÒ3IäÊ &‘§G[>Þ{³ÂÐ¥ R¤èvJœÛÌ ŸB R¡ÑÔ¯ñµ9 ®±Š„“p›Ó“-N¾¶Íàk]^J¿Á‹î7(6®:g®úŒß”MuJu5Ϧè% ’#¶—'´–cúã+tRªåŒ¦zMÛ’è:­|B3›ÐŒ'øé‚Dê$B#Ñtba€©cJ›©¬â—S¬2@+Sd!ñÊ9^¹`§8B”‚H·˜UKÍ%¶-êÊ”¦6ÁÑ3æ±r#IYŒ=ÎvÇM®ã6ãE 1YÍDË¥@¹¥dªÖH=ñZ GÙ¤Ò p›•»Kše@, B‘Š”P$„¸¸öÙÃ%ü»MªÕ%[LÙ¬ÍØÚ›â’‘<}1‹Â%X<ëøæ¨OCêýK¶ZOxñmyþ]ùæß·øæ¨Éë'M¾ù÷MÒÍuÊçÖk”Ï5ÉǡkœH”‡*P¾]A–YHoÂ3á§1Ö¤šÆHià±C]L¨‹ 5&Ô™ Kô>Š)YN*„C—«ó>â\B Ƹñ]Úo¸áŸ‡ù-Çán¸á†ÿ—¼eÂï×~í×øÐ‡>įþê¯p÷î]>þñpzzÊÖÖÖ›¯ÝÙÙáäää;ŽïmŒ¸÷ÒW)ë:Å]—¼U!/]3%“Ôµ1uo‚4BÅe©8„ªÃRq‰r›Ñ¤ÃÁp2Wìw9y´Åè´E4¶‘¦dµ0Óˆ²iJý.á}…;ŠP_,Ð6 T¯@ÑJÊ–†¼cCâ#k ážÎ¹WÅ\ôˆΘ&MŠD£ç\ ­çìÙìùûtŒ+¤6J²DF3ŠpŒ* ªEˆ¯FTÍÍ)˜›63Åf^Ú„‰Nr<Ô Ù\¥Òðê ª9õú”X‹0­ “SË‹:çêgEŸó° 4”1ueLC™Ðsl™Ñ(ç¬É«U—§bíØÄ±Mºf༰ÄÞ]b×CR r©B)Pó#ͨ+¶Ò¢ÄBÓr¦¢J–¤¹Á0ïB¢âg!-sLа dR¥ÐJG/5®o7xº¾C¥>#1uŠ™J1S)g*ÅTcà·øm®ªm~‹RWP•U]u½TY –9Z¹ Ú^&.—Ë—Ë.“eæ‚ãáöuJ>48M¶ˆSX7ˆkÆJDLMÒ‰I:5I¦&ø j’jmF­6%Í ’ÈbV…]„Rb:ñ³J¥ÃŲÏtÚ ™ÙÈTE«–˜µ·âZKæÏ:^sá³ÀCK ´$ÇIbüøQ ‚ÒãqYå±~—ذ4‡…â … šMÙYQŸÎØád÷ío²gÒ°§˜vŽifXfŠe%zJœ[ÌòIfç6Y¦“å«X‹,Ó §.ŠRÒk]â±@.Å*ªàYF‚©DXe„•FhIF©JE°æzÙ–´î ð’÷êØ{nŸÝµ§l§4fS,-ÃVR|% %&L©1¡Æ”:YãjÖçú¼Ëééû'´,gÞôVÕòPÜ‚íâ%T‹µ,Yè>Wz‡+½Í•Ñfà´8RǤâ,pË%v‘ g9j&I°…K(VÆ#±j«:‰fh:¥TXZ†¢ƒ¦(¥$5tRS#1urEC•%“¨¡D]À¹X£ÐU¶#ôzFE_à]ŒM¾þä Ó6Ñ×a‹44PÝ[‹ñ9ü/YuN¯ûä×p°Ø ÓÌU©&±æðD»Ã¹Ög©;hµ„Ø5Z-öõ[(¢ ¥]SµæÔ¼95eÎpÞdÚó ÇÅ\EÎXu§`ÀjxCÂZeï}ËÄ)CGUJ*„´¸¦ÅˆITGF*ËÈ[Õ@#*Jâš$¹U²4b®¥z¾$ÿR€{šBMB ¨IRÝ oë”·uˆ4èj¤/;»UÆÍ&—fŸ°í¢Ý¶hÄ‚3AtFè[)úÖmëÍWVŸs£D­àŠ» ù†JQWÚ/PD‰ê”Kò•¬«’;*…Tc+D‘Ã4næÔ¼ m\á4CT%Ç0S ?Ål%(©äÑéè|÷7Èn¸á†nø.ð– ¿O}êS¼ûÝïæ“Ÿü$ŸÿüçùÔ§>ůüʯü³Ž_ßðß½÷Y>þþ6I›Å°¾}ꘆ?¦¢.ˆ: E‡•ðÒæâ²GtisuÙgqæ39o09mÏ5âªÅ(j‘Å ÓÈGT ÂîJ<*½§ˆý¥/Qüt =!]”ºNy¯ÂRkr¦§,§¯§8v„m‡¬UθÕ~†qÊ®vH[b)¤9¤!¤SHXJBWŒØÖGl¹×8•„#»É±ÑàHi²Ì«¤W¢‘M¢ý Þ9•Û•;n5ÀVãÕì”’a胬Ëa¶Ãa´ÃQºƒ-"îh©i êú_Ìi36Ës…GT=›è¶MØ´ —6qß$é›Ä “Hؤ…I–걂\Bµ˜³£ã(kê§Å'ñ&ÇÑÑ:‰t¨k3ÚÆžSC«¬œ7Ï l*䑯p£Å“[¤us£K¶4IÏL²#ƒìÐdÑ©°èVº]i „þ¬c¤¯œPEV¢ä%JV’Î æW>‹+ŸÅ•ׂ£ùñÜår¾Nñ*gΗȵU€}rm‘>µHžZ¤&Í+ú»çôöÎéW몀 N¯7¹v8m‘èF+ÁlÇZB*u®çmÆ—M’ =ÊPz½È1õÃI …Ã…èşbƒ~|IvÉÚì’þü’‘ÚæÌ\çÌXçÜ\C*`)–±ˆ¨f3š‹ êP¢]H*á’®}A×¹¢aO1Ü£šcVSL‘`ê)Ó¬ÁUÔeõ¸Šz¡Jª”Ñj­ˆ¾2c£}Lµ7ÃYFX“kœ`MR 3ES2´2EO2âÈàBïq¡õ¹ÐºÌtŸFoB_žÓ¨i>7¦]Ñ®i›#Ú³1©ÐЦ$êÊðã˜-bér*=ŽÙ%kŸ.ðx¨aAÔ²HšQËÂõB2ÕÂV2:Ê5¹:a$Ú<wy îñX¹MÙ”mmAÅVÂ/‹1â5†X±m..—zX5j‰¢¬fD TRÍ$Á"Q-2ik …¦P¨ÏÌ ƒ"5È#ƒ"ÐqÝ%•JÀ­Ê>ßã~`æ2VŽº<Ýe”µªmFJ‡D±ÐÛ Ž³¤^›Ð˯¨Æ’sƒÃG›<Þ <‡Ò0)žUfYŒû Æý:AßÁèÆÄ†Á•ÙA’™ðikCÚö5-uDÛqõÍšË y¢Á@¬D_ Ye™êÿ¤4VY‹BA¢`â3§Í NQ"ÉòÚ§é,®k„c“LJ²¶D*’4Ï™© ÅYBp•â4b¬Ýk/ÂÒC¤')º:ò¾¾cx£Ât£Ée=B£$l ô»‚ž'ñv–˜^ˆS¿Â® œºÀ¬«,Âf†¹‘Qš‚tM'YÓIÚÒ]Íн ½“­nð5Ú -n›±l’„6ÑÄEŽäTŶCl'¢ã^aשTxÞÚo¹@+rfÁ¿á÷ðáC>üáóÅ/~‘ xùå—ù…_ø~äG~ä­¾´ï7´n¸áßo™ðûÒ—¾Ä/ýÒ/a?þã?Î{ßû^Ö××9::âöíÛ°±±ñǯoxí«ÿ¸´f†Y‡QÖ!}é=4ÿ‡»4k#nùOXóN9{2&“*éYÄW}®^ë#^ä×ùB'_¬æœŠPa5™F>gñj#Cëh½|厨„HC< ©èiˆ†ŽrÇ¥ŒË å…ÆÙ¹—·û¸·ñk3în< +4Ò)lŠžfo ?‘N!½ÂÒ¦ô8æžqÌËÎ1ÕJˆgmP›ŒÕ .ó>éU|R#|â Ú>Þ»Tò%nm‰sk‰¥%èJ†®gèVÎy¸Îãô.Ã{<^Ü¥QN¨™ n™‡Ô9›Ê E®Räy®’I¥g³lÚ, ›…árnô¹0Ö87úL¨‘&y¦QÆ*,~9ÇVcÖÔ RMçAú,T.\Ï;Ì´:íúˆžsÁ¤¾ =‹´©SôTòDcÔh‘ÖU®M\ãqèŸ;Äßtˆ_q)¶TŠí•P)äêî¾°$˜¬ÖD$CA±¯‘?U)öU¸€$v¸ˆ70âÝÊÐým-A_&h2%½¶IžX$_±I¾bóÒ _§‘©W¦Üß|ƒ³x“ëë6Á‰ÏÁÑm¦–‘$èz‚^MRÏ¢K—d߯ Ô¼D7rL?Å(WÂï\Yãuñ<ß”/ð=ñ«¸³˜Ý«6çN•ëj“W«/ñeój†8aC³)NhgCÚ‹kÚƒ1íãkª³9º“b8º“Rz³›cŠ ËN0Ü”(µ¹ û<žßãñür.33œÁnsŸzoÂFç„çz¯Ó^ލœ…TŒ¯XÞåY¾dZr7øšü&Ô™)5Îô>õÞ„^ãœï¼ÆýôVš`¥)vš`MS¤.(u…ÒP@jÖ IDAT† @ç´Üb)}Žå.ãqõ$G}˜£~µ@Ì$e[¥lª”m…fmŒe¥t¬kö¬§†Æ¨hó¸¸ËÿYü×|Y¾“ÆÎˆF9¢ah¶†TŠ%V–¬„ßRë6C¥ÍSsGú-bÍÂK\–8bI!TÆz“±Ö`,›,¤ÇÊRPæ a^!L+„‘G¸¼Ýùo·¿ÆíæÞÞùOßæ+ãwòøÕ»|õï`œ7Ȫ:™oUuì<Ä­-it'ôóKÌbÉùy‡ó×:œÿc‡ë‡ ¤e"-,éÈ—%(%²+1±j0PÚ̄DZؤ« è+ç¬YÌKIÞ`´l$.E¡®F£/±ŠRñïÙªƒTÅ3á'(¤x,Þ~Id3õ)N4'5ÂÂAj [Pö%éL2=—,ÎJç%¶QŸ_SÓ¯©wz3¡èéHO‡m RƒØ©0uNA!4¬Vˆé‡twCÌt‰¯Tµ_ ¨j Ü8ÂiƸ1NS* ¡oúKÏ¢4–cu¬<&- ÷x¨ß¥0¦eeè°¼öÎ}–盽#6{ÇtjWl68ÿß¾ÌãÿãKFØ2B•%£“”Û½ïùîoo!ûûû|ÿ÷?ùÈGø½ßû=*• ¯¼ò ŸøÄ'þU ¿n¸á† ¼eÂo}}?û³?ã‡ø‡øË¿üKÖ×WùHïyÏ{øƒ?ø>ô¡Q–%ŸýìgyÏ{ÞóÇGË ÿóϾÀ¸lòzþ"¯ç/‘d/2T:Dê>¡æ²0*ÌMŸeá—&Y¡QÝ(Ñ+9z£@ïæä®F–èoVÑT(lA:Óˆj¨³»c5$Z#C1KÊH¥ ŠHEfÕ.0ÕÉQj媖©¤± t¿ÄöCê•1}÷‚5BS2rRÓ ·M ×Dz6BÓQ\Í’˜F†i%˜­c»DŸt]EC¢‘¢¢+ ¬Œe puä õn5Æ®¤8^ŠãeÌ4ŸÀp‰L‹4Õ #‹Ñ¼ÆqÒ¥–l"°íËI°íÍIQ ÅÕN‰4![h„3“ù¢Âõ¢Ê¸ð™”>Ó¢ÂÜ­Pê aì•gÙƒ¨Ë$m”–ŒÈ 2š”8zD[²kH‹j1'ó2W!6,ªCnÕÕãaùºNÞÔÉ<\×ÈK™‰Õ?ä(Á*b¼h±ªx¤¥Nfé¤ \h”ùÊݳÈ2S%ëÚà˜ˆ²DÌJÌ0ÃLSür‰©f´²kÔYÉâ²ÊñÁg‹ .OÖ·™Ôˆ<Å+1Ú1fž TIYjd¹‰È$yª1Ϫ\ä}ž”·È¥ÂÃòO‹[œÈm.ä:­lJ9¾à:!N—¥í"¬ßšá¨KZån2¤› è-´ómíšve„+B [¡´Tr[%²m&E«Y—ó¢Ïù¸Ïéb‹‹ÅÃE‡iP§’T²/_àé ö´}n‰}öÊvòcœ<¤”+gÒHu‘¹² —@óªÇ¬V£¨«Øµ–vMG é*úê%kÚ9j)QËrµåê‘kÍ%T]–ªÃ8o SA=²—<¥xËU'݇¤0¤Ïbáf.b.¸jw9m­sXÛF©\uò\Å-ôÊ ê•kjÖ˜š6¦Î¯\àd!Fœ¡„’´0˜Oª\ÑåXìè.޹Ä5CsI)&Iq\g’Ô‰¤í…Ø^„S‰°ÍÕ”• §‘&ÍÖˆjs‚ÓЫ Z#Cmg(½åºÀÉ—X~‚é%X~‚ëøÙó2&”6óÂfxÚaö¸²zŒ;5+DZ3l;Ärd¦Fë¤WÙ# ÝÌ©˜KªÆŒª9ÃÓç˜ZJªéŒõ:§Á¯7MŠP}ó‘Nb`ùì3ólžö[¥X%ª^ )9«¾g„CˆËÊ5U32„%)]…"yæ YÈeeY±ú[g*Ê$†£LcZÛPÚF%E*+!}=…tdád!NºÄÍBÜlIa,ÈÍ€ÔZXìp‰3‹°§ö,¢,%ѵFdjD–Ž´Á©€ã*8®†´5„(ñ”}q, µÊܨ²pj̽*ö)ÛÆ;êÛðÒYèÿî6Z¾r²älpø]Þßz>úÑòÁ~Ÿù™Ÿyó{ïz×»øüç?ÿæ×OŸ>ågögùâ¿H–e|ß÷}ôGD¯×VݳÏ|æ3|âŸàììŒ;wîð™Ï|†ÃÃC>ö±qxxÈóÏ?ÏÿñóÒK/PùÈGøÃ?üC‚ à½ï}/¿ÿû¿çyožó“Ÿü$Ÿþô§9;;£,ËÿìuüS¾ð…/ðÁ~G±¶¶Æ/þâ/òþ÷¿ÿM¯o­ßêüÅqÌ>ð>÷¹Ïðc?öcüæoþ&¦i¾ùú_ÿõ_çSŸúAð£?ú£üÎïüÎ?ûçÿ¹ß9I~ê§~ŠÏ}îsxžÇÏÿüÏÿÿ}{o¸á†ã¼eÂï#ù¿õ[¿ÅŸþéŸpÿþ}>üáð¾÷½ñxÌOüÄOð?ðÿ·;gGëüÍ|K³ÂycóúA£Bá©Ì-Ÿs½O®F²Á¨l3ÊÚÌóynà¹Sêæ˜FBœXy… ÷XäâÌ$Ît’±Nr¥¯æSnp«K"A1ÒÈ. ò+¹PpzV/ÄíØ­¤b‘vLÝ"­›ÔýÕúÏ[à(K ‘ ô’\bÍ òÒšOÞl";]JÅ$©†vÀD]P˜ÁZ‹,o!ª-¬{u$ 1­œ“Ê„ËÇ:£‡5j1„úvLÃJH5a•˜DøÆu”1Vøæé.£SN¹IgkB{sJgkŠ[Y˜F……VaZøœ×9;ìq~Øæò¨I«Ó¤ÝiÐé6uêÌË—Y«¤ÏeÐã´Üä¤ÜäŒubÛÂU—e†Æxù’ŽzMYîã•!Ê9—j ½Ë…ÚåRé0Pšhk/AµJ´~Ah»,í ¡[aikHõ™‘C”ॠvÂCvÂC¶Ã#¬,b^óXxæ»ËÂ!+ ÒB'-WþQÛ&j?sïZ´Ó36íS6zgl$g”UA^¨œ]lr˜î2:œ 7¸ôIz–â/æ4“­r€Ð$#µÃµ!É,‹,×¹2»<П#T,žÈ[œçœçë\äk,s‹b Íʉš6¯Mn¨D¶A׺ jOðË9½ôŠn4 ›¨Å<% R_¢š9E¡˜:©i3Åç$Zçéìû—{F»ŒÂUHü"ô‘‘ áŽÙqÙqÙnÑ7Ïé*—tƒK:Ùˆe¸ ×¾׸(×Y¦îªS4$…dK'ÙÒéèCúö9;á!Ý`€èËÕã·B[ ¹Òƒ‰^åL[çL_çL[# -Ê\e;8ds~‚\ °$ôE2›Ô8\îrìp4ß!‰ &µ:Ç• œõ‹M‡ ô¨”3î—¯±%ÐêZ=C¯¤h"£ZÌpÒ=NKI>5XÎ*L¦ .g}¦Z £‘b6ŒFŠT˱ÍrìŽmdîN@u{FggH³p%JC¢Ô$­ÊˆVeDYs§Ç¸ãS>'ñ½)[Ç(EIÓÓ4&4Œ1”0‹+L+œ=ê3M}¦e•©Y#~ÞG{A£aMèÙzÖ€¦5eP¶–OÛ Ÿtpk¶êgìÖØ­@E’8‰kªsÕ#´2ß l(+³¨œÕ\ÀpY‰>„'QíÝÌ1Õ›“ƒ •ÕÎQë9ªÌPìed G*r¤ÀPP¬ÎoëP¨‚8W‡Ù@Ǩe”[¹™bm˜N†HÒ™Édj0ŸÕ1æ æ"ÅX¤˜ó³c5¿]Æ"B¿Œ0.CôË™¤dzIª•dzR“T¶%îöjµ\(…‚BÉ:§ôÄã4=Ýcá{¬Ûç¬Ùç¬+g¬…ç,RŸaÔfµDmÒÂàjùy:ßé‰õ¯Ž¿ù›¿á7~ã7þ_óÞ÷¾—ßþíßæÏÿüÏIÓ”~ô£üÜÏýÿþßÿûï8ÏßþíßÒl6ùô§?ÍýÐý_ì½iŒdéYïù;û~b_2r«ÌZºz16æú.  +Ì•@àÀ[ @ÂÂÛ–Û¶°lÀ²e–0H€@¿€i@„ãaîÖ\Üv»»©ê®%3«2#3öõìË;¢(»»ÛÀd¦~Ò£yÞsN¼'2SÿxÞçÿð=ßó=üÕ_ýFƒO}êSüäOþ$ŸûÜçøÄ'>Áç?ÿyž{î9*• ?û³?Ë>ð~ó7óá5ÿîïþŽ/|á 4›Í¯{_ÉþèòÛ¿ýÛ|ß÷}ƒÁ€}ìc¼ë]ïBñU—z~øÃ¦ßïsëÖ-„üÈüùÈGúüÍßü /¼ðB~ìÇ~Œ~ô£|ò“ŸüºÆ_ïž?ò‘08>>FÁÿø¿îïïxÄ#^‹3áwxxȯýÚWïS¡( ?ýÓ?ýªoÿ1g'ÛüÕÿþßÈkácÑu‡¨bS¸ K³B®É,eS„„…C˜;„©C–ê˜vLkwÈ~℠t‹&ã²ÉX4XÞ÷PnXpÃ"»Â’ Úˆ>º t‰|¬’$/›ˆ‰Œ}-ÀÌ*΂jkJâ˜$šIR5ˆS“š>¡¢Ï7M€•46uC¥NìÙ$Õ y£AÙîRH&IeÍÚZ2SäºA°Õ$­4Q ŸUVTYã—k–7 –/—Lni,nÖh?³„¦†¶£’Ú:X%†â3âµÊxå1¾s‰—¾Ø¥’͸÷9túôiV—,eŸ¥â³”=fi•³a‡³[ô?ßæü šßT§õ¦:FQ«N?ÙáÖì1n­ã•Ùu&4 ‡Ð°‰MY.ÑŠ ;ŒñWmi‚§‡ìh}bÝbjÔù’ö$/(OH}¹‹Ùp¬g+ÀfY%+(2•0s6uJ%m¶^¼âÒú˜7Ïñ-Áçñ”妾§ÖdXk2uªDÂ"‘°X—.Ó¢Á´h6ÉÈÆO×\¶Žøæîs|³ñEŽònäs£§×™­kDK›pé. |i¿^Ò‰ì'H’@Q™n°´ª,Š C£M¤œÉ[X¬sŸuì$>aìq®õˆÌè»­ÒVt”]圎2 ͨ†KªëÕÕ«ˆPôµ–£v2rM&Q5BÍ"Ô,ÆiÓ{;ܺ¸Ê‹÷ÞÀ+g‘¤&Ij§dÐØžpmçÞÜzŽoé}žJ9ÇJbÌU„5Š8‰]Fq‡¢oâ‹â›fmXð0,3¢ŸÓÑÏi7/è–çlG}:óþ8@Ÿˆ ˆêÆ$©ôaªT¸«îó’ò$/)OPOæfÇ®9ãz@ Χ[|þÞ€{“ó&è0Û¯rÏÙ¥ÜÌ®ûÔÄ&³·+Ž©Š9±aè&±nK&•rñ ã—"%Ù…Fxâ0;n08î1ÒZÈ»%ÊN¼["(îËä÷eòS3 Q¾¥¤’/Ù®ž²ß»‡í†Øz„] ±³ˆLUÉ5LU9ÓºÌ:J¼½9;á •|Éž8eWœ²'NY^xå ^¼÷8ý—·¸o“^2I6¡ogÔÍÖ=®™/³«ÞçÖÇxånÎú®Gz×ÄéFìn÷ycïþÃöçY6\Îj=N•3«ÂJñM‹ÔÓ)SyóRðeÇË›åŸÿÈvªg…ŸIŒNŠÆf©»b(µ ÙÌP겜#fPλ2"*_ŽRHD3™ôX%˜jhª†ùf0˳Q m%$±M<²ˆÏlâS eT"Jäa±yÜ-PöÄ~<‘Bä£ù(„uH)E”ò&ÔNŽÿfO¨ø •j7g‹sº\ГÎi0!°Í%ðÂÌ¡UNhcZå˜v4áöê ·5n.ŸàùÅYæFÁç ÿÎ='“ íök×1¾øâ‹[–Å'>ñ ö÷÷_uÌïüÎïÐh4xúé§ùð‡?ÌoýÖo=Ü÷¾÷½ïU5ýÏ>û,ù—ù°¬ã“Ÿü$o|ã_%ü>õ©O=}_ï<¾˲è÷û öööøÝßýÝ×¼Ï?üÃ?䳟ýìÃ×ã7~ã7xë[ßú*á÷éOúáø§?ýiÞúÖ·¾Jø½ÖøëÝóüÁðÙÏ~–VkÓCä×~í×ø‹¿ø‹×œó#ñˆG¼ÿfÂï_J–k¬—BSH—:ÙL¦ p ÊJI)IäºBfhä¡J¾T)VwHaÈzŒj,1ô ™‘¡©ªê ¨9r\ Ý/AH)ˆ Ê1ç‚ü^‰<ä· {Y"½©ÂD¡ÐT WA4%äØR„£›l‡'Ø’Îqä5¥$³|Ö©EIäñ&îÍZŒË:W¥ÜñTѱ)*™nR¨†WRwc±Ä.¬4ÆL#¬$A TµÊô\etK¥Ôb$?B®Fȵˆ¼f±6\RCJM"•uRÒbãj%òÄHff¯YIÖ’ÏJ®°L|fç>áØ†ØAˆše S#ðl–ªÇ4ª2R ¤6sªd’F&i’Bž«D¡Í<¬1 ;XEüðC§jä¸Öšš7§åéÂÆ–CìJˆU ±•%È‘×)±–I#<ÒÈ#•Ò‘MJqêµú”þz‹b)³Zy V]V…G©HKF#Åõ—Ô­1[ZŸKœ A&›,µ*š•R K|‚Äb´h ËE¢Q¤ÚÃmè;ÈZAi ROÁ"*bŽt‘`JZÉ—1f£J9…!y&…k“Ê&ƒ)42¡Qf¢RP"ÈEŒQ¦8È”²Ì®zCí/ó”ù"Vm²BK6â.‘Xå>çy—óÇèç=Ô+PÆP4âͽ³=úçÛŒmæ£ ³ŠTÈa‰”–¨JŽ–$hqŒ&T³9ø‚í´Ï^vÊAyŒ«¬ñì®½Â•Ö i3”ÚÌé0¢Å’ðJ Ù.0DŒ#­©H êòYÎQ/2Mg–UG-È„¬" Ó-p*ê„ÝÊ}®˜¯EÑØ"P<Q^tÎ^xËÑ×¢[œG¦Oi*̬:Ó¸Á:ö‰#“2’QóÓÜdÍ =FK2$P’²©‘Uµ-IQÇ9…¬‘š‘i³6]F…H3)e ÝLp‹%L!SL²Ä ›È›æé ›,¢ §]-KÑ¢]Ñ×:êÊ@YÊÈ ´È¡@ŽK”´$[kä3•|¨‘i›å¦VŒåG˜õ9,QI ™ âÄ&Ž â¸@šW×q{Þ\§ÆrJGP“çìK'̳ ³¤ŠW(ã[,ðÄœª˜SSôeJ<2;Ü^e’40×Þ¿Õ[Þ¿FƒÑhô°½ÒWãsŸûÏ<ó Ï=÷A¼ª5Ó?\ç°mû«îËóüáÏggg<þøã¯ºÆ?¾æ?žÓ×3¯äOþäOøØÇ>Æ/ýÒ/aY¿þë¿Î÷ÿ÷Íデ‡‡¾|ù2ƒÁàUÇ<||xxÈÅÅÅ×=þz÷|qqñªó¿òñ#ñˆGüsø†~[ûçü§ÿöY",†r“aÒbô÷MÂc‹ÊÁˆö¥meDÅ^0š¶žtÝkž˜ŠÊ@µ(5Ÿ¥Ú v+¬¼&+¯ÉÒk­bÕ ÝÓ)u2+ÉiXRþm†”—äçY_£ìgIDCƒÅE•¢©U:êŽ: £hkC-GÖ FZ›‰Ö ’³’ä¬$>Œâ.§R—ê]h~‚¾c5ClsMMÌ0ò”v>æJ~— v™ªÌGUf£*ë…å=™8Q¾L”eÌÎR„”Š-¨ãvl¢¶,¥Ø97̱*sÌÕÃÈ–&·ÿç6òó«bÅ#R+¤’$8fBåÉS®$ô/ؾ|A¥µFR–Òö†$’ffŒ’ó¢Î,¯3 j¡Ã½ùÚLkUæ• KÝ'ÆÄ$Æc…ABY(H ‰èÌer·…8‘˜5«7÷1ZQSg˜´™ÄUô(b/:"H²L#Ít²T£]ÐÛî³ÛºÏzŒ(%rÞC·2È$D¬PÌ%J½¤D¡”T2’,°Êpӫμ Í¦ˆI ƒãâýb›f1fK»`Ë»`K¿ÀRbÓ 1uC!a1æ:ÆZǴײÕ],=e«7ä‰Ê "É –7Y°XÒy¾ɮ}ª4Cž–±É-l^e÷¯‘áVW¸Í%®¶¢í 9èÜe¿~Â^yJw9¤,d"Ë&hºœùŽ»Æv×8öGY£Ë y̾tB‚¤@d˜¼ì\ã´ºG³³eõéšçl™}”ZJ×ìóTãK8û+úëm®Ï<©°x©Âé½*QÅeRiq¯r‰º?#*Mba ‹¸4±Ï#¼Ó÷4À=]3ˆºÜ-è·¶‰ë&r¥DÛNÑz)ÚvŠ£Ôšê{j“ ­|ÄÎ¥3vöÎØ±ÏèÆC 9Æ 9F‘ 2Ic)|†R›{Ò‹ ÊjⳚú¬&3½IXu™Uj «-‚šÅÝæJ¢¡¢ÍrJU¢ÌJÊ—Ò)Èûu¿@•²ÍJ…úˆøðº–RoMxÌ}…}7Eñ RÝ`-|&q‹þ|—‹Åë3ðÌ¡8S±’žÓ§çœ±Õ>£¦ÏÈB •P•IYcÒ¯39­3¡…¾•!÷EO!î™L¥:‰lb±%³T#ÖšÏZõ)T2Q6u !hVA]_S»4¡ví ËY6ê„Vƒhd¤>FžâÉKš1z=eQ­²ô+,Ý K»B­3c{ûŒíÖ;ÕSt7@Xe7C<–²Yœõ›ôûMÎÏÂ#MTÂ…B9TÑjkBÓ¥0t³ÄPR¢sƒ‹óGýNÎw¸R;!«ÉXõ˜vm¡€Q '9¥¦°(Ù¨Ú¿|×w}üÇÌ{Þóž¯yÌþàò«¿ú«|÷w7¾ï³^¯ñ}ÿ_ô¼[[[üíßþíÃZÿ¯‡ê<Þò–·ðgögÀ¦Þï'~â'^Søu:ŽŽŽÍݽ{—N§óªc¾rüèèèÿU_øZã¯wÏÝn÷Uç͹>âxÄ×Ã7°ðëó_ÿ×ÿƒù²Â­£C´£C‚#™$¨R]Ø–O8lœÐm9š"ß)‰ž7}±ÅZR(e‹¥ìs.5È›UÒv“´Ý"í4ÉM‹\Q(öÊK2b‘ŸK”%ÙE†4.(r­#‚!©DCƒ¢©6V^•š±¢b¬¹bÞå)ã%Ffƒ¾µE_êr®vX.d‚»9Á 9Áó9V%8èºd`u /Âò6=ßjbN;£%ZR­4nÜ{‚·çâö6'wI#‰4–Ic |‰8+˜žæ„Âɋb_!L#{L#W5|gN£3¡[™Ó»z}09ñ˜Þó¸wÒb9ñÈ5ŸB÷ÉuÉ2Øêž±Õ;eëà”­î^u…_YãU¿,üZÞÕL©ùSÎ×ÛÜ_îÁÖ¡K8±¹?Úe9ð9`-¢¸H7aª1—.qéðˆËáz〈_cæW™ÊU¦VCM6™AmFl™L‚&£¬ƒ˜I„§6…©›K×aº[%«ÉLÍ*s£ÂRóIÐñXQcF‹Z‘-&gm¬›â¦Äìz•#wŸÈÑ9ßoo|cr-Ùˈ “¨´ K‹¨°h붬3öœûhÇ™Ê@êq¢/Ñí‘H”±Œ˜o>K©@˜2”6}ÕL°•ˆ†9a×;e_Üe%<&yƒ~¶Í$«Ó.«wYi¹«`*1â°VÅA‰ :ÁˆÎpHu°Â[¬±Í”-cȺwkS¯©¹,¿"v£3v¢3*áyVl ?6ܾ\ö .Lµ3¼Ú‚VgH«3 Wés Üå’rÂnyJ{9d¢Ö™Xu&nƒ¹æÓÔF4µ1M]FW )¡.MÈQ±ˆ«-&f‹3wIÑ¢%xÂ~‰Ç—°ì5± Óèãì­Ø_3œ·¹9¸ÎÍÁãŒN:œ®ö˜lµ1{ÖVŒÙÉ …¼T)J•¼TÑîehG9úÝí(#´ ón…¤k"·JôVŠÙ °Z!ucÂ^|½è„ÝèÛeŸº=£îÌ©Û3ªñIÍ‘•Y)Ô‚TÒYJáwÂ>ó ÎêÂgu\auâã¸óý*C©ÅiµG^U9?ì0i4(®hhÂâ¾Lq¢ î!ÈËE*Ðj9F/¡Y¡i)ö„½kÇôÄ=ΩI3d 2yc„3Ž[ôÓ]†Ã6Ù‰NzW§¸£`ËÛ—ïóTûž<|Ýæ}äT d›ž„I`ñÒéüýùÌOkLm¤§ xJ!6LÖ]—\QÉd KŠéÉçØZÂD-)UHu7æMëÍüƒ^Ï©ì]š°wù §±¢(ôÃ˱Íâ¼N«6į­hv†4«cÎýî…£°2}jõW:·ù¦ö—ø¦ê—p´%e·¤îÔÓ IDAT›8ëwyñÅ'P4ŸÅºÆ*Ý"‰%Š¥L<”Q|ƒÐsÉ] U 5#¾0¸x©ÁË/^âù—®“^V°®Ät®L(]£b#ünd°Jaõï_ø}ô£å;¾ã;0M“·¿ýí8ŽÃóÏ?ϯüʯ<4x‰¢Ó41M“££#>ô¡ý‹Ÿ÷§~ê§x×»Þůÿú¯³¿¿Ï7øøÇ?ÎýÑ}Ísþ©óxç;ßÉG>ò(ËòUÇZ­ÆÍ›7¹~ýúÃ}?ôC?Ä{ßû^ž}öY„üÜÏý?üÃ?üªk>ýôÓüÞïýBÞóž÷ðÎw¾óë½{~ç;ßÉ{ßûÞ‡ç?ýôÓ¯ÿB>âxÄkð +üªí9×ÿóMFçu‚•Æèeã¸Ü7±œµæ„îî9{í>Á…Ãän ó…6|.#•¥") Å ìÚÛ.ùÒ£ˆ«ˆŽ M % ò¬@^¨«åÖ é$#*B”–N*+•d!“Î-JSŵB¶ò׊۔’Ä™Úc¤·¸ÁL#™pÜ _ˆ(+&JÓB±JÌýþNˆ-t‘"g%jœS{Ðþ¡žÎ‘CA8ð¸wûÉ-ο´ƒäpG µÙÒ…`µ±p!A**/cle(–L¥’°eÍÑÆÑÌ`*Lîø\ÜnQUr£JaTQ|_[¡î š½‡o¼¢lš$K2D©M)ɘjL]›âØ›¯ýõÍ,®£Îs‚±K22›H#4…r!!–2b!Q‘¨qÎ%阻ϛkÏqOìpŸmJ`%¹ EèdØ„ä’%Ä©Å*ôQ9¢„\($¶AP· Y²”<–²Ï\ªP ™#) ÍO¬Å]ú‹êÃ)îýŖ¤¬¸§½.yA¥\P-ÔË)¹¤ÊöÃh•ºÙ[Ù9ÛùEªÑCšÊ„ª5Ç—!µÆ –…§P¸ ¹§Rz2º™âØUoF;‘:aâp?Ùåvr…¦6&³4$«Ä°"L%f!*¢Š–gŽ>Í©ž¯©.VÔºsê•RGP¶$¦z•‰VcªU™êU£)õá+ !‚É>ð‡Ç|æ3Ÿáé§Ÿæ~àØÝÝåýïÿCçË.üàùå_þeÞúÖ·Òï÷¹~ý:þð‡_óœê<¾÷{¿—·½ímñØcñû¿ÿûÇžyæÞò–·°^¯š¼|üãçg~æg¸|ù2°‚ûØÇ^uÍoÿöoç©§žb½^óö·¿_ø…_øºÇ_ïžñ‘w¿ûÝìííáû>ï{ßûøó?ÿó×|MñˆG<âµø†~ç³ÿç‹ßÉrâr2Ü¡Ÿî8 ŠªË,írïTP<çpq±ËÙKmÎî6XÎ$SµsÚ{tš'´›÷XT·VƒªÃ°Ò!±Ù,o›I ì(¦- éôŽi+Çh‡1ÃlA¾Ç03Xª.îåï Ľ´¦Ò[Q×G¤ºÌ©Þãïô7qbìqd^b¨¶Yã U"º‡+Ìl„åÑí劺k¡8Z$£M2ґέñ5Γm¶ªt«¶jXNÌÈh°T\¡C²W nç(;ÊNN9PÈÏŠS•¢Ø´`(ÁM BHª½Ž®ï‘h ^:§åô´ÝëcâmƒºÏPÛc¨),ô‹j…ÓÅây‰ÅIÙ.‘ll $»¤PÕÉ…º1¹˜N\œö˜ÖÉîë¨QŽ©E˜Ík+BŠñ=‹èžE\X”‘LdZ̼*ç6'­]ŽÂ}NN÷9ö9 ÷)d•RU(…RQX¥ó¸JVQÑŸŠqÍ^eA5žÓ¸7CŸ¥ íí0´ÛD†…!%8r@Už£)~cɕ˷ÑËœ½Æ)Á5“àÐ"¬›„’Eê,—â•ÍtÕD32T/Eó3šÞ„v9¢.°×!ZP`D9»é)Qñ<–ó¸{sóaø±F®« ŒC£ÍPm3*[¬Vç[‚¡Ë$ipm±ë‘NîëD]›eÇgÒi ê9Ó¸Á$n2Mˆ•ÌlÝâTìóŠ=¢.Ï6nˆ^ŒáF¨VÎ$¬3™5‡u&a}qKâ„ÒT°wCÂÔfšÔ™¤ ¦I“bŸ;åËÒÅ,Ct7¢ÚPm̨ ,9$×&vm#ú­„¡Õdh6Y).©ÐF–Q…{á%¬0Á²l;À¶B,;@—RT%CÖ2$3'”LΔ&Oç: 1F)J”²D.JÖ’Ç+öuî6XîøÈr‰y)Âܰv#Œíˆ¬Ô7õŽ¥FVêÔÔ kJ³:¡Ù U3Øv€DÂb>ðXù,BŸqÞA— Åf,w8Ò/hV'4ªšµ ¾·d™ú,bŸEZa‘ùÜWw¹¯îqOÝeª¶Y/\âÀ&KuJ!Q"“£c¢á mê7¥E˜zBTw÷ \i”m‰èŠÅ¼[åÂéà²d]º¬J•ðX•ۢώÒgÛì#+I¡BY`•Õb‚J‚ÉæoÀìÅTåòNÁ™¿M+7ûO|Ù@eT’O†Q‡Ì‚Ý'0¯dWTÒË*YUcZÔ0$KŠ0¥SŽYÉ>‘f“š:¥-CM‹syGeõ˜Ë¨Û´\uÅį“lihJ‚ÛZ"ê°ð*ÜgÕÒg4j2î7 Ž Ä+9«m“¾ÙæåÖt/¢êÏÑŒÍHÐÕ”si‹™T'À!*–ÑÖ‡´Ý!íÚ€Ns@ǽ@sSÎÌKÙáeå1úò%VRð ”}‡#{IÅK¹¿½Í,­!l¿·F %’Ï¥lŠ’ÿ}óøãó§ú§_sümo{o{ÛÛ^µïÝï~÷ÃÇ_­úëí“e™}èC_3k÷ÕνyücÞñŽwðŽw¼ã«Ž}ðƒäƒüà«öY–ųÏ>˳Ï>û5¯ùÌ3ÏðÌ3Ïü³Æ_ïžMÓä3Ÿù ŸùÌgî{ÿûßÿ5ŸëxÄ#^o\á7íñÙ¿“d­3U˜gBÛ'¯ÌÒ.Å©Ã|ÑÁ¾°ì+,Ζ3@LiTû\;8æñ«¯ðÄÕ[œZ7TYé0W ’œÍ·JØEž4äñÞmßùVp#J¸ÄQ‡o7 ³;¤³sA{{ˆ­„dŠÂ}¥ÇT©0PÛôÕ-J‹•äR«„tWìøgìÜÅUÔº‚V—Q… ðéŸö8y›ã›‡¤kýk'\ºvLèZTsFFcc!6Š›£íÄèoHПŠÉŽtRÇ - ˜«Ë0`³ëÃ`"7H…©\¡aÙõNØõî³sý¦ð÷rÀ Y!•ÌD—Å¢Š˜K,O|λHuuT©.(-™Ò) …Ò‰F6«cõ‘Gz¤¡ªÙÆ¿7¥zi†"̽‹¢N1U)c™Ð0™y.mÜÖ.Gw.qçþ!wï\æÎË”ªò ù÷&òºBÞVÉÛ Ú•G^á'Kj„Ÿ¤ƒÜ€°î0ltXH>®²¦¢.hJcÛ—OÙ±îÓhŒ9{œ=Η=Î=F……þ Œ éÜ 4²TC”2%2Ùá'?è§J9†Øls]C© Ê}•“r!]²™uj œ.: cÑdR4›íUn)6²Râ™K¡"•9¦¨Š ޵¤â-ð{ *«j^é:gúGñ!Å\A>Ê‘N ¤£e’áöBœ­ÝËG\ÛºÉEµËy­ËyµË´hab*–c‰ˆPv 5›Ìж:›"館»£n¬[ Xú>‰¢£z n¼ T$j…µð8_lŒ-‚¾Ixl"ne¬1è7[è\!ötjþ WYáª+\eÅHn1•j…Ÿ)Ål§<îÞäñÚß³Ý<#² "Ó on±*¯p¢îÑ—÷XÉ_~Cc‡»v‚âÁ̬2³kˆžBåñ=ËdÿowxÄ#ñˆGüÂ7®ð›m3|ñ;!JˆLB8B‚Yì0?í Eâ¢"ž#¢<Èø]=<⿼ùe¾í?¾À ¹@‰ÚÌâCîD9ÌÙˆ£0[MØÝñ¦Þm¾­÷¾³ÄY™Ä«6g«„A.áwBº;ì¶NXK+\Né±ÂeA……䳠—veH×_òäAŸ7–/ÓdŒ*r4r4‘ÓŸló¹³ÿÂÉó‡¼ò?®1˜v™5BÇ¢8”h;FæWfüŠ›£ï&XO˜ßÔ-¤ʹJvÄLÚ¿3 ƒ¸4HD©ð‘DÎvÛcëM#zoœñ­×_¤}0Æ )5ÎÅe,³x¾Êò¤‚ô| _Гzl–£õ„ ØÒ¦?؈[Ò&^‘0ë1ÎÖŠzsLçM¨v†Rä•à®C:3‰ ‹™_å¼ÑAkGÜ}ù€Û§W¸õ?¯që¿_Cèʦņ)%¡?™`˜úÕã©§XâŸ,¨.æ4ïÏÈ„†AX: Œ#£I•9 iÂ\®ÒRGø%¿¿¿ÂÎbž×ßÀ—´§H5•¡Ü" ]–Ã*«£ «ÛºÍ ¬"¢kÓlm2~•`3‹Ð. ì4f×=eÇ;CXB}ÐkPT ‡J± Èy X¯<‚È…h )ˆ°ËM‡:‘ê°¬W˜î7ÈU~°ÍÅl›þh›eXA’A’’-ЄfeHÓÒrTÌ9£¤ÃhÐat«Íøf‡ò1Ç hm8Ø5iun‰Ë<'¾™çx3!ö&c$ŘRHUiJUšQ‘æX„ºÃ\s­MÄ…BR(PÈ aÔábÖãâ¼ÇÅÙ6Ov_ EÇ·–\*7?5CÑ3$)'(]"©Ç9]ä\!6¯Ÿa+” •²PQª%ÖvHe{JgûœæÖpóÿF•  [?ãñîK¼eùyÞ²ü<ž¼þr n¯®  2¦/Ô¹ùkŒÏ;L´6’’.pšk®¯pÙ|…`Ǥk8Ü)®q'¸Æíñ5î ®nê5­aJ›e½ˆt3÷… (H8l2žB—)ë*‰°Pœ‚4V‰óF• §K) _öè=úy~¾M¨:Hj‰§.é¨}I LªLEI«7¤-F´Ä8²¸;»Êél‡»ó+ŒÎZp;‡—2x)Çž¬xÃÿòo8|‰½'¹öŸnóbù$Y!sQ¶™å542,"l)"Æ$‘7íCfü46ÙÔ}àò–ÊÚvÁiÛ:¦Rú2“ÑHp‹œ0ôXUÂÐ%\¸ˆQŽèçp\ ^ÉYÛýƒ±Ðº-êÞ”cÒ„–r…©T'ÀÞ?9fÇ8ã›Ü/ñmõÿ‹ýæ17´ëÜT¯qG;à•ì*¥ÅXn±’Z*j‹¡ž Úx&™¥±î9”BÁk"–ÿÛ#á÷ˆG<âøÆåVø‰eN~'$6>ä h*JU`©ÛK 0DH4ˆ 1Ñ !Œ2¥$Ö5V–ÍÌ­’ª:†ÓJ&·ðô9‘j6¡e#)©]¢4J¿@± %GÑsd+G* ʺ weRC'‘  õêœiu@Ú4Ò oJ¿@33ÍëLó³¢Î´¨QÓgÔ«Sj[Sj‡3b×dm¹¬ÍMhF†'­qõ5ž»Æñט‡V'Àt2Ec-{rˆ"%¥Î"r8Ÿv‘ÎK*ü͢YE<¾¹ [iäF¾~°ÊÈC úÑ’˜*-î†WÐdAàU@Üñß\"kº’É}z¥‚e«M¨AÉ]ûGÎ÷}¦vƒ`åÍÒ±A1P›©ÖD—ŠR!5LŠXCWrÜæµÈPÔY)Qò‚<Ó˜&ufii^gXvxQz’#õ€™Z𕡉]¤h"¥ˆŠP!TòPÅk,h7‡ì•÷9¼¸C‚c…pì1w)#e“mÑm#À׊‡¢†Lˆƒ :ù^9@‘ž§Å)}ÑãßJ_íqW:d(µ‰%³Hhç#:ùN1 Î_[PQøê„`±®2jŒ‚Ó°¶Én ™²”(òÍrßÙ¤A0qÉ&kÕe䵸ïa‰€AÔf0TÈ':¶ˆiØSêÖ&$S0Ó«Ì´*3½ÆÚt›>q%K&ñLVZ¥(È tFT:Œâ·ãkȹÄZ®`%ÑÆ€ä©ÐŬÃíü2‹®öZÁO]áªëMF¸²¢r}FegFî©L©£’³EG„ŠcrU¡0rwS»Ê¡jzAËÆ±êÕ1|Bý|‚2ω„M(,"áÄ.«™O<µ)f*e$Ì&ãRU°ö<&QƒIØ`UH#ƒ²® ×AkdØSKÐ¥ E*@‚$ЙO«d3…ÅÔ¥LÍÄÒÖì'4·†(iŠ¢'(õ{¹æð©c¶/÷©6çZB'’·°‹˜^6 ú¦£Ÿ¬’+ í"·r,@¨Jß]âwVx%ª—‘è:±¢“e\¡\ˈµŒdÊH!QM2U£P%$»ÀØŠ0¢C Ñ›!þåþõ•ÎšŠ¾BSâ•ÍÅÊ`¼ê tÒL§ÑcþçŸ׮ߠ{x†]_!ë9†á(+ªÒŒ&crt"ÉaIHX"¦ÎŒmÑ粸M„ÉL®1£†*ådh¨rþ5ß“ñÿ?¾ÚòÓÊø#ñˆGükó +üX¦pg š ž®®„ì ¼ê’fmD³6Ä·¦ŒoÊLnJŒS‰p ‘ɰVu¦†ÏÀjè&ªÓÌ\Í_Æ·LÌ&c§EVÑðM¨ÝM#j¡ 0J$'G* W"u4"Í$ÀÁ&¤ò@øÙ„èQF2³˜N[dS“IÔFJei{ÉoÓYátW¸úŠ@68’·â“#X‘“!±ÆÂP|‚šMzÉ *T 0RÙ <“ÉÇ|Á^~ÊAý˜ÿˆÉ¸É­þUnõ¯æ6I¨ƒ$oÌ$‰Ô³{mîú‡àÖwêù„f1âñ—¸]áVy•[â 3¹FÃp¥u‹Ë{·¸üØmæn•s}kÚN5 ç^°]?§·uŽiE$I[%15æ™Í…˜¢´YÒd‹àÔåÜÙ&Í4Ò¶Žì—ÔŸ˜™ÄGÑ‘E1‘(ç UÊS‰ÜÕ9¤Bf!×9ª]F7câºNìéTÍ9mŽ%Gá'÷˜ä Ê@¥iC•b¬3©×™ÔêŒëu&¢Nº2Iç:ÙDG eâÐd"5É E\#ª:È68VH­2Á”Bô$ßôIKi¢smq+¹Êíì wŠËœ+[\¨]¦jÐÍÇ\á˜+\sEšëÄ©Iœš$©/Ïèªçˆ#žèß$ m’‰ÃtÚ˜¤wT“M}•¥++¨è!.»ÉÛyŸ]é”팕â°Âá¬Üæf~©Zc*Õ™Êu IÁ)çô’s®F·¹ݦ.M‘­M?>Ù.r‡l¦³Ô9»Ø¥?í!réa”™L8„CZˆBÛfÜlb%{”fëýË»5ò#Ÿ{õS®Öosµ~ ©Zr×;àŽ{€0%Í p (e„,¶LdÛ @š,WUÒL'É ÒL'ÍuÎómŠBg\´¸]\E2˜“M„…µYÚ·[A»šÐÕÎè)}zò&*Öœ¤mw bß`N [ŠÙç[z[JH4ÄÖH|¤¦3vŒ*m†Ý£°EµXp‰öóöû'dB㸼ÄIq‰qÙa·If&ÉÜ"›i”±Bà»àAì[ŒíÁÒ!\8„K›r¡!HhæåÇ ±¤]ÎPä!KDk‹øDgr«Št«@+sÌÝ woIswŒÑHÑ}+F¿cÅ!Í­ î”Jm"rZ廈ÙÍÏ ²—˜Qc"ט*5¦ÔÐì ¥S ë%ü?ì½Y¬%éY®ùü1kžö¼sgfeeºìÓº¥VûÑ‚ã;Ä-ƒ\!Œ…}cc S…eÉ–@¾À1HÜÍEI€u í>vÙUåš2+3÷¼÷Z{ͱbþ£/V’¶isp÷‘Ž»Ä~¥O;ű×Zo|ß÷¾í _ ØñOÙöOÙöOVÅ©²É©ØæTn±L}ª+•êRE^¨È¹Šì*”:Z;ÅÛð9µµ{s¼vˆ·á VxzD˜kÅÔó:ÁY 5.©) z[#j;è¹Wìöé÷Î1[1¥.Д O è(cblrLBj˜¤@…ÊNuÅž<â®|‹ ò¸d€!2* ×Äï׸Æ5®ñÞÅ{—ø9ÿi÷«üè¯rḯ>Ãí6B-hFsî´ðìà>ÏîÝGWsF£N›‘ÝAæá¸Fxì³:óÉ:yªQ ‘ër©Pͪ©Bu%H›¼4˜§ ´° Ù°q¶V´j6z'ÔŒr–´B‹J²Èà"Ùàô}|5ÿ1^-Ÿ'ÓŒu˜¬0š)^3 ÙÓlMH°+PzˆÊ£¶˜Ó¿ºäÆÕ!÷Îß&šøL¦]N¦{Ól-ã±.±õ JÍ^{»Ù5BµÆ^zÊvyÎÿ$¾Æê_ãUõ9¾Éó¼-oóâÄ…M¥ ¤¢P WFl¦<ÞçG–ß %¦Ä¥ÉJ±X™y®SÌuæ'MÎîðèäæÓ,Z• È@J•²TR…R°j8Œƒ2­+‡(ò˜œwX¾Ý ø¦‰+FìnñC›¯ñ?o}¥(ù¤2a*šL¬6H…JQ‘zE™($ŠM¦˜y ¥kûŒTy:Í…ÍDéñ®ša(9"ªà8Ž@ssŒgÌãÙ„nwÈmñwx›;â>-e±±Ë±¾ŽMš²'Ž9‡ÜGD†MdÛD5›UÛæXìpXîã”û %½ù˜;Wo󾫷xîêMÂÈC)“¢ÇªôÇäBAÎ×A‘ë’¸s¯‰bIʱŠ+”•j¬"žèE‰åe¸[+l-AWs!AXć«WLV_±ð”ˆÝÿtB»6f÷ö)ýí+ìÁ »ˆ±ó¶ŒÑüih”t«1Ûåf‘cl´“ IDATf9'b‹Çê‡Õ.JU®Å ‰hWT¹¤'®¸¥¾Ã=õ Þ§½Dá›òyÒRçTn&>òJC>ÒïjT—*âv‰Rˆz‰æ¦8vHkcJW^Ñ-G¸ú ÛˆqŒ[‹™¬:L†=†œ¼½«…Ü=xƒîÁˆgo¼ÉN¾Ä7–zL©.R<ÚbLŽFˆÏ”pª]9f¯:âYù3ÙDWr$ ±°Ñɯ‰ß5®qk\ã=÷,ñë4&ìï}“ܲ š=Âf Õ£j˜”M•¬­“tMâ®…ØSq¦%ÝUŒ9wÚÛ!µú KI(3™¨$‰Í2©I—Bh(J]pÔU/( A¬[(¢ Nm²Â L×Ò÷Ia±,jèeFUJT?ÇöWÔü¹¯SäåJ£\ªÈ±†È@¯rl#Æ6Vèæº´oyV'JЏ"œ«„¶FqC¥êIâ†Ç"ã‘NZ¤dBÇW–ì{è{CJS¥ÔU¤¢P¢ÒµFjÆ*µ¹˜m0OGÒÞs˺Om5g%]V¥ËJ:¨Í ³‘á™­rF+ž£gYi2¡M¦™džA­³ä`çU!x~óUž­¿Ã ý1[Ù9™4p‹JQ‘&²Ô0Ê_ è6¯PÍ’°f#ì6±j“¨¶—°Ù¾ÄÚJØ-N¡§¯‚¦!JO¸U€ËO\ê}.­x‚¨áA½D¯•èõÝ/¨j ¹«“xë’¹*Ž€Uak1®ŒÈCƒ$²™EM–Ata‘†™f‘5µµY¼ÔÉ#|¬ã¦žâõB¼Û!ªZ |~…P+Zr‚žÌVMîÏ2ÖºXË+È0ÃŒ(òøVú÷³g8J÷¸,ëL«¨ ´ GYÑ1Æl¹ÇlÕO˜e F«>2UW>ñÌe:os¶Ø¦¹\’¥&¡ê£Õr:æˆLêkCwÓ"5-rG_&”µå$ºEZ7Èr\W‰7,‚¦ÇÌnpE=Éiä êù‚F¾`¿BTºŠi¤4Ì9-cЬÊBc),Š‚ *²BäÎ*ÁYÅ8Ñz:u›¤¾‰®4Œ9†’ÑÒg¤ªIjX4˜±£œÐ3t‘gåB£Xèä ƒlf!G*ÕRC¢"<ë¬ðì×\â eFSÓPf4”9J(©BA4tˆ‡É¸ÍlT'Ì]bßDÑ2a1lÆ#uUg"\Lz¢@ Xˆ:K¥ÎBÔ™Mæ“&‰f!v$öFhw3ªÈê:+Õ%: ‡MfëÊ ²Ô-ï×øoBq]Zzk\ãßÅ{–øíîžóÓ?ý÷¢É‘z›#5çHu˜96‘ë21Û JBŦêÅwc6¼„Áî‚nlÙi_1¨F\ÙØäjÒçÝñmfz“¤i! ^s‰oÏÑÕ”BS×õ…FùÄK‡|aR. ¢¹‹XH²¹JYÈ=`¿BìKTO2)Û¹O›T‘ÀÑ"úKºõ!ýú)ËÀgqXcù­Qf‘"H}ü *VXLŸôM¯'47çô7.hl,hô¤šIê›d=“ô†‰¾ÈÉ—÷'·9z´Ô…£Rß™ñÃw¾ÎL69¶¸X­Õ 5³¤Û˜pSy̳á[ &¬RiÞæTÝ%ql”®D•%w­·x_û vÇìxÇ ’+ôó’21ˆ—Ë ÉUÐG1–:iÝF6T*VšËLir)Ìô&V#á`çˆ{Á;õ Z ´h©[`Ê3L0Ë3Hx0¾U䤎Ãhc€Ú/ð÷C¼ƒïVHÙP uÈp‰tÕÌÐ̵r¤¡¤èYŽ©$§6Áiƒù¤…ææ˜n†×ŽPw Bé•>aâQ¬tùœÝÖÛî1»7ޱIP¨¢B’ÒTIKƒ`^ç›Y‰‚¾*ÐWÅ:ã›络d;ÌóÆS[ä·ÃKBúù%7ËG|°BI%šW¢ï•Œe‡ «‘ÆU(pýúåº7nïÉÌâð[û$G&Ñ·<¦EƒêV…¼]!o®dõ@’½+™?xãÿ‡—ô~ø’{Ý7¹Û~›Èw‰ú.Qî²Ê\.lrþÖ6‡“}Îßڢў³ûì!»;‡ìÜ9"Ô}ÞžÜCNfÓJ!éÔÆ(‡üPøyÉâ9NÙå å9Ž]ží¼Í]ë-žm½Í³»oãh®¶ÂI#ô3‰œèÄC—ŨÅÕp€Ö‚àFäÀ¦¬+CéSµÉP t—›ÍÇlq ³Ñ‚-žø€­•;ÕªD KÔe‰R•Ø“Œ4w¹¨›c«Àßè\ѾuEîiLi#h‘U ªš£éºža(ZZ ‡ é;6Ë×ÌÏ[4ž™á݉hìMñ–L'&ã’b¢M<þŒ­‡| ñMžo|“Z E-*Ñ#ÉEºÁ›å]ÞœßãÍñ=®Š.¢¨P ‰’W”…ʪpÖÿ›ÂY¿ï }¢¬ðÒ~>ä |Èó¼Š$ç ÎïïR>0ç>+ÓçÔÚÅ1cj­î˜foÂVÿ„¥pïB«Ø%Èýo‹½¨ +Aèy =\}J+9Vwª=ÕC* µ(`xÌ¿ÊO¾‰é%„».¡í2r;Œô>‡ó®np8»Áh> ™ZÄ+›DZ(V‰Ó]ÑÚžÐÝÒìN¹z«* ò…NPÔÈ*d eRÒ‰gô•Ïû¯ñC¯ÒõFë’Ëu'#­4Ò…N>2ÉYÈXú•ÑT¦ô[—øÞ’a6@MK2aVyÅôm>¸ü?2}…·Ò»¸yD’YœæÛˆ¶ÄÝ inOhmM(U…EØ`6 Ç5Ä Ý&K„ÖâwÑdüF—á×78´ÍÆ.˜| Åb£F´cs9íñîð6¯½ú<¯¿öôÛµhŽo­í*oMüΜM²–IùÌg-æó&+ÓY?õ;BÌ ¹ž*Õú»a(ëuŠ`Új“Xçr‹×£`k¶ˆ°õ§Š°Í„¨Y mÈ4„ÐP·@o–˜fŠZHË:G7xxz›ÓÙÎÚ⢢4@™I”©D™IÔ™d#?cK?aÓ;aKŽi)3êe@=_ÒÈRÅ`ª7™Ð`¨ 8O6¹¼Ü`ñV‹ä›å•{öÕ(Û’ZcÁVýŒ›þnª(„¶a]nÌ<æïÖ8ÿúç_ß$oˆç@y_…ñ¾‘dÌÞ°™Ÿxô†‡V(ÂA(.Šp@µ(um-À£«H[A9(Q ”ƒÿ`ŽpJ"×fèôPô[‰ÑÉÑEN› ‚ ‹äp·û‹¿ù›¿áw÷wùêW¿ŠëºüÄOü/¾ø"[[[ßsûkÒ÷m\“àk\ãÿÇ{–øiZ…åTXI…ƒZ€C•+d52—¬TI*]IqõihèRR•*ih²\ø\•)£³£Ã.ã>Ãò­`ù õþ‚®ÒÑÆØÅŠ8³¹(7("‹å&óE“tf#'*Ù¥Iv¢Âcõ¢Ù]²ÚŸ®LÊJÅP3jÆ‚}Iéi ê—ÜnÝçV÷>·ï0¯„šÇE¼E>2‰ ±!H„+¡QQ8…ZAQ!5/iÊ{â˜÷éo°4Ö¥lK¥F |VÃéåWv‡w¸Ã†qN³~…¾™Ñ¿yAÍ\0ª÷pýÍ.¨aV(æZ²*aá1Ìû<*nð ¼MMY°c£y9-u‚\*¤Kƒ8°-N†»\^l2¹è°¼hPÛ H<›lC§ÔTT«@èU+ÑDŽ£Æ´¼ÛÝsnóˆÝÚ)16Ie­¥âK»Œ±d‚U&ØeÌ¥²ÉcLM 0êz/Gïçh~ަÈR ¤%J*YE%¹mØ6¡í“EAX# kD¡O¼r¨W 3¥ÖXÐŒ0Š ;ˆñeDcµdÇ9¡oŒhÔæ8ýõd¯Fxe„G¸Uļhp–m£f’´°ˆ ›¤´HJ‹¬4ÖYœ!|°¶vP­£ÂTêbI¯ºb»8c·¨/ŒIŽ¼Ôˆ…KÚ´YØÅ-é´FX½ÁfBëÕ.I—Ëec™¡¬$6ëkg§1N¾¢_»Ä·–(µ‚´¦£Ä%^ЋGˆ¸âæð·ÎòÌé»Ü9¼OÖÔ9övv{W;œ‹MFÕ€EÑ ÏM´¢\7¦ëòåþà‚Þà’þà’Vw‚9Í•èʇQ…tÔµµA\¹ÀOB6• î8ïЬMIêI]'i˜…Gb™”ª‚"KŒ,CO3ô$G‹sô8Ã/ÊBE“9uæÜæwªw¸W½Éså·Hs“³d ? P“Ñ(1­·Rß[[~$ç,![heIªYŽŽÌT¥ÂÌ3¼8¢.ˆ–êi€SÅhFô+Åa·8oñèè wŠq#¥³º¢+¯HUƒ+µËܪ3¢Kl» *¨ZNGQ®4ÒÒ$•&ii’K}MöŒ œ'SO|»Ó^ûAºF¤º¨¢…/—Ôò9õDCIU(˜vF½·Dná4ªJ%˜×I—6W[œÎv9\Þà$ÚÃpRŒ,Ã(2t™“WÿÒݦ“ I£š ËœN9¡_ i—sZåœV9c.D8Ä•Ëi¹ÃQ¸Çåt“ùe“ô؆+­Y *Z³ÀÞŽñÌÛŒ1• -“™ Ï ’Ü"É-çMæã&ÓÅZÕTiVxVˆÓŠð¶#äª AX£R¡JRSu•¢©±Zpæ±:o29˨•5Ù§&j2æb±Ç£é3\κdSšÐ.¹™¼ËAþ7‰ˆWATgm0\Ì·¸œoÅîúa4 p*L³Ä×cÚꌗԜ~÷ŠÛå#–v†;gн o_0(.Ѥ¤n‡ØuOR­žøa-Õ» JM¢&9Z?Gur¼"ÄÝ‹±wSL'GJtM¢jŠ&Z…¨IØ® “`UÈ– 8ÐÈ:±a¯1tƒÒÔ¨\A¢› í>oÛÏ ŠzµàþÅ3_l±¼ð3Á|P㤿…7¸KÙ‡4·HÇÉÈ&=µ8ïñhzÀÅtƒ<Ô!H ¥&(máäÔõ9ÛÚ ¥…¢³oÓqÆØõ„ËÕ€³x‹³x‹«¤Ë–uÆ–yƶ}Ê–u†Z–eŠ]Fxå‚RWHMƒYÐ"yh“§:áÂ#XxdK›R+™u;ÐU‰»šZ2UÛL{m’{b·B=(0·Rl?Æ' ¦„ìê§S ,±Î;¬rÎ&» ‹ƒdÈîâ„ÝÅ æâ¯ ÙÓ(Lº·àXîršlsoqšl3•­'YÖdO^µ~ˆ÷+ð*”ºDµ$zUbÆz^¢"QŒõvªY`öSÌA‚ÑOè´¯h·Æ´êZúQUx2Ä,Ô¼ÄH3ù%ÛÅ)[Åò¿Xà+ jÖ[Ñ9áØ'{„W>›£KöG‡ ®†QN`ùLƒ6'ó=ÞžÞeáÖ1‹”=ã˜;õ¨V‰,Ê'¡PÒôg4œÍl†7 Q+HÓ]„ •ÁºT1c-°’³V$}y®. é±ÀgdöXuDYâÛ V‘…ê•DºËÅl‹yÚÂÓB6Ô!·µ‡øJÈxÄMó1oŒÒ’k_΄uVÍá‚b­_@¨¢¤*”¬DÄ"¨PJ‰¾Ê±“/iÛn6a¤ г6»7ØÞ8fÛ¼À[ÅØ2Ã0 Ô†„ °;1­Ú”më”g”ûD8h¬mÔPÕŠº½ ^4´Õ\a8ì1¼ì3¼ì1‹šÐºz ÌÅ:–`´R%¶W8U_gÅãÀ!]Z˜yŠ+Wtü)޹ÂÌSÔ¬$¹¼sv—´°¸(7¹(7‰<µVÐhÎi·Æ´›cõ ­Î©3o4XDuêþœv}J߸b³¸¤-¦xe„E‚¢J2i°È\$›<®nr4ßc¾j±(dŠj–8vˆçx^ˆëXÕŠ ôyÝdÈgú·cª³Œ<•O~`bösÜ^Dçæ˜ÎÖ˜®9¡ã]Ÿqá£5<‚#(ÎSŠó‚ü,¢Z©cWÁØS1öĶDìHʚʪ´\ÒS†Ü0Iyâ¹~÷?ø÷ƒÂË/¿ü]ÿÆoü¿ó;¿óonÿY.!Ÿÿüçù½ßû=ÎÎθ}û6Ÿÿüç9<<ä·û·9<<äÞ½{|éK_âýï?=â×~í×øû¿ÿ{ò<çCúüÇÌ`0 Žc~ù—™¿ú«¿Â÷}>úÑò±}ìé1˲äŸø_üâ ÃøÃüÑý¾ïÏñæyÎÇ?þqþäOþ„¢(øä'?ɯÿú¯_cBð /ðû¿ÿû„aÈÏþìÏò…/|Ó4B<Ýø®kò¯³€ÿúš½øâ‹¼ôÒKœ!¥üwÏ)MS~åW~…¿üË¿|zM®qk\ãûÁ{—øîñ7÷ŸIK“eVg‘5R¨TAUÈ-…¢PYMâ·<ÆßJÑ_+1*³R1žDT´Y=E—<ױݘ~8ävò€*^AMKî/î0œnðîôÎÛ„±G”x¬bJ±¶EPSY÷ŘO[ÑRflpâ@ÕU©L•ª­b© ®áZN’KƒšbµS”Ý –kæÕúaÕ-Q[F?Ǽã5B{…e¥˜vŽI4C¢šë¾3¡Vká‘í aUЗHжJÚ1H ›¸²ÈtƒÂZ¿Ô4¹ôzH·bæÕ°³££>£‹>ÁëòH0®Æ±±Eµ-Y <ÂI «\Õß­±˜×™GëÄ,4¨²u‰a© [ Ø9uuÆ– ¶ˆŠBטÒv§X2&:òÏÑûx=z?ï.nñÖk|À~ ËOØjž¡h†šbkž¶`zdsƒta3=U(Æ:ùH'äW:…Q1¿¡ï{kòÑ–$ªMÒ·Hš‚ ­S`t²§Ä¯©.hj 𯂦µä”mã=‹}ƒ=vâ¢à5Ì g°â!»cêÞ‚ƒÆ#N”^]>& EiÞZp•'`•uÿ]£‚f ‰0%ªQ¢QbÄ%z^¢‰5ñ^…ê•Xƒîn€»ÐnŽh›cZÖ˜–1¥*®Œ0‹5/Ñ“œArɽøMž_åÙâmT5C³3ÔZ†FNi”CòH§<Ôðæõ`I-X¢¯2Ûbv8^ìñöôE©q[¼Ëž~ÂmãqE®¬=Ýr¡R pË®\áæzRTÓz—c#Bô+ˆXGÌø”½¹FTºÌd‹QÕfdvYum„Sâ÷礑N¾2ˆbù´…:,yÖ}‡ wÈ÷žqPW4Œ9uo‰RÉ5Ñ\±~™¢p×ß U/ÑDA%j&Qb ÁºD׈2ì$ÁÏC:λ•2¸1âŽ÷€taSk.ñ›K|3À]%XUŠaæ¨1¨°ºÉSâw[yÀŸ %5.écª[λú1»Î1 ïœ>ƒvþ áë&³Kn(ë(¨ž¿°€™¥øbIÞÒhÎÈJƒ(ôžFS™Ñ±&ìúGìÛ+ÉÅé£MÎ϶G]¢–KÔòX5]ÔfI£6c§vÌ~í[þ Î&çù&çùe!¨© ZꄞvÅf1¤Îâ©â¥P$©4˜ç .Ó “5ñK"‹´°ÈÅ(q­ˆ¶3¦í^QóæÄ‰Kø\%}âØAž(”' òD]Ï·@òÌAF£¹`в]?eÛ:£ÐÜÝZ­BÞ°©N y-!Õ ÊEL%zGǹ­ã<¯a½O'wu2ïÉ´4J…§DôªûâI†AŠI†‰DY ßüBE|îsŸãÇüÇ¿ï}^~ùeþñÿ‘v»ÍK/½ÄOýÔOñ“?ù“¼üòË´Ûm^|ñE~é—~‰¯|å+|øÃæsŸûñA–e|êSŸâ#ùögÀ'?ùI–Ë%GGGH)ùÅ_üÅï:Þg>ó¾þõ¯óÊ+¯P¯×ùÕ_ýU>þñóùÏþ{ŽïÓŸþ4¯¿þ:¯¼ò žçñéOúéºo,_þò—yýõשªŠŸû¹ŸãSŸú/¼ðUUý.õüÚ×¾Æ7¾ñ :Î÷uN¿ù›¿ÉÕÕ‡‡‡TUÅÏÿüÏÿ¿>æ5®qÿ˜xÏ¿Ëé€ÑëÿÛÚÀ9g-Ÿƒð$ô*ª}¨V KÁjjP<²)¾Q£ø/ªj£©ªf£©6Òp) —Òt© °ª˜f5g /Ø—‡™ÆapÀbÜäáÅmÍo¢UZU V%5eI¡i”¦Jakàj(¦‚¦VU™§xJŒí&ØfŠÕLQÊ Q²~èMÀÈ ,#Ãi'xÅ wSÆ 2VUhí³ŸaßqvWèI± MV±GZYH¡­“J‰j”(a­ýµJM%µLBËcV6HK›.¹¡S9‚™× ñu®¼&jœW.«¹K|l#ß,›>çû¬„ŰÖ%0ë,«:AR'˜×)–:e¢R& ²P©ªõóªÔ¥)f‰UÅÔ+-Ï‘…Š[&¨HÍ"ÕlŽ«]ÞÊîò_£åõåû©<¯.ÙqO(;*š™ãusFÏ2–«:Aì\Ö‘§*ÚyvV`g«B–*+Í#ôkTö:Û£xrMœ­ß ðœ×qEÄ@¹dW;e×8c×:åkå0ÉÛ„™ÏýðY²•E/s#<¤u,gæ4Ô9[Îu}APzŒŠ‡ù>V£P¡°.ßUԊʯ¨@»Bt$NµÂ"Á¬2ô¬Ä,sl‘àé5k‰å­¨×æÔ3j­9½Ú–˜à‰#Ë(Ss•âD+ü0  6âsâGÜßäùâUªUE•VT¥¤¢BIA]‚zU¡œ‚²Z÷$Š\¢(’\ÑYI—EÖdõQÕ,é˜cž1ï³g‘©¡‘Rì Å 2ì E‰*ÎõÚ ~7ÀÐ2ª r.Q‰2/qä M+¨TAª™HBÅc)|Ô‰4¼ ljè¶G¨«‚ù°ÅüÒ Š\äBƒL¡)ëþTíÕõ„¸°ÔjD¦Kb˜äºN¥ pY¿Ñ¥B©$jU Ë ³L±Ê»ˆqŠ7i0§åÍQtMP2¾«¯Z ,2L'Ãèäh;9V/Áõ#êÊ‚V2EÓsÊ‚šºÄSBt%g[?áŽú6w·Pƒ¥È‰ã³&Ó£¥ª#MƒÒ5¦‚hI‰Z”¨”ÔÕ-sM :µ+qƒ,0IWÓqÃ*PÍ’–;áF÷!r©0;mŒ=¿³ÏélíV‰f•¨›µ^D×¹bÃ=gÇ9bÏzŒng JJ™Ðhäjù7_aç)Z%Ÿ”GjÄÂb’·¸Šz\„›œ»\Œ·PW%*¦“bk+ݺl IDATÞ”¦9¡£^áÉ%—‰E°ô¹\nq¹Ü„+x <ªpîF¸;Áú¥ÇúþˆM.Øá”=qD&MʶAܨ³(!j)dˆyç!²È°»ö¶…s˺c‘(R@!T¤TЫ ¿ ÖöÕ)¥PYŠ:KjdbMüªÿ0y¿og®z½ÿôOÿô}ï÷‡ø‡´Ûm>ò‘ð‰O|‚/|á O—}ô£å·~ë·žnÿ­o}ëé¼mÛ|æ3Ÿaooïé²?ÿó?çË_þòSRôÒK/ñ×ý×O×ñ‹_äïþîïØÞÞà…^àùçŸÿ7‰ß—¾ô%^~ùevvvøìg?û}å_¶ïõzOçüÇœ^xáû½<ß/¾øâÓóû~ÎéOÿôOù‡øºÝ.ðÀßþíßþwá׸Æ ¼g‰Ÿ¶—cþ¯U$(‡ /å%@…ú¤!ßP2t%#9ˆ )À Õ éöÆôú Ý^Ld¶˜ë=fZŸ™ÞCd,oxmíbº1y¥ónq‹QÜ%YZXABÏÑ·†ôì!âÏ(ë1LúÌd“™Öâqz&0;nb‘a”9F™£JY­Iß“¾¯ ÷¹¢×\ò÷lgG,²‹¬Î"«“ê&öÖ k°ÂtR!™Š÷•ÛDšÇ¡¶·¶=HB¼,¤­Ìh.–x‹s^ æk5Í¡3@u%±ãR*—ꀥê#œG°­Û\ᨊZ kù†Iz³¢ Ù†EdÕ VÈ., ™ÓìÎé?7BoæW5æã³ñº'G´@x ЍH‹ájÀÙj‹³Õ6aTÃŒ²u„9ydðNt‡w£[Ì’&¨Pê ¹©Û‘ga¦ ó òD£žœD;œD{œ»¤ºµ¢ßÒŒèߢ›9ÑžÍjß!Úu([*n¾ÂMV8Á —»á4Clu­ð¨‰P*„¶&-sÆ-ý¥&¨ksº«w–÷Ù´Î1”PñV}Fa!}.Ìgl‘¸wˆQÅëcfÑú¹JÈ}•ÜW)\•ÒV¸Ç›ìV‡Ô˜SVàsnˆ‡äR£‘Í)g 6Î2Â>P’JWXèmfz‡¢ÔIæÝÅñQ%‚¦9'1 ^k<lj½E£7¥YŸÒ0§4™’z&Ù†MŠEöäںЧŒp˺—Ðïœq·ý:¢““šµbÁ(éðFÿ ¯VÏSè ¹®Rè*жö}ëÈ {LÍ HT]Kh©cöÔG8«µU€¿ ©%=uHß¹ q Þ±ob6SÊ®‚ê—ôňz´ Zx„ há±\Õ˜Vm&²Í¤Õ!n9xꂉÚä•ò‡9 ¶Xû°VÃ4á¡v“ûÚ†ZŸ\Ó^If$ºM$c»uLÛ›b“¢D $ âu±þõÔxšE4¬·Ð4&ô;¨fÎDoóæø},ã:U ‚º‡^Ï9¨?¢&nćl¬†4W Ô©dS»d¹÷ˆBÑðï†Ìý ¿ÍœÑ´F[Liw®h7Æ´o±vŒ³™`ª1²R ª:†Ì²".mF²ÇÃê&¨ÊŠGÉ£Ð'™˜Ó1ýå”ÞjB?›Ò.æhI†Væ\Ä[\=¤)PŒŠó”-ã _„äBå8`¤tQòu/¡,U¡p±Øàþø§ãⱃÆt‹½Îˆnc„¯ä ¼Ðջ̃ó EZ‚’K„^¢HÄnI{ëŠÍ½s6ëglg4Ò¾à«K„ÉÊ";Dcp\'»˜Ó¿Y`ühˆÇM…"uÉ_÷HO먫›âv"´nÁ¦¼¤]LñËS–ĪN®DšËLk ƒ ãr¿ûA ª*‚ ೟ý,¿ð ¿À—¿üåïk¿!xŽã|ÏeEñí^ɯ|å+|ìcã•W^!Š"àÛ¤àòòò»È×þþþwïì쌻wï~ײïÜÿ_ãââ‚›7o~ÏuÿÞXnܸñtþàà€ËËËóXß/666¾ëïïœ.//¿kß9k\ãÿ-¼w‰ßnŽóÓ!rù[ ù‚*È BkâgŠSÉ@É‘BR¢:­ö˜[·/¸s÷œgï3¶78Rnp¤Fª z˦Ças•c“­LŽ‹=F«ñÒÆ\¦ligÜ5Þâ^íMºæof÷x+½KžèL‹S­E•ÀlÒäññM4 T¹¶BP¥„¢‚Äévˈ©¹ üæ‚ ÷”T38+·8-·8+·™«uÌZ‚YK1ݵ•ÀT4‰—Cu[K¸U<äfö[ÅCÚÅœæÕw¸Âæ(CA¬¹Œü ßåÊïC½"iX$Má•Ønˆ£­pôG]¡¨%EÍ$Ý(P–•© ,°²Ø$ºðÙ(/höFl4Ïܽ`t:àèpq´OhøÐZ—) cÝ'“¦Ãù€wÆwycò~†³Z°VìÔ‚«\‰.c¥ÃL4©tA©+d¦F옄®'lÌÏ©–ŒyG¹ƒeå$–ÃÐßÀoìmq/z“»Ñ[8Fĸ×bÒk3îµÈMÎdB;˜Ò™Lñã€87‰UƒØ5ÉÐOÊe×Â+Ð4§Ü²P·gØq£ˆ®5¦£1µ„iÞæ˜]ÞŒîñæêWVшFI·9dÛ<¢»šÐ&tVÙ‚¸f’xëc&ŽÁVuÎ&çøÕYUøÆ‚ÊCrÁ­ì]ª@A_fègº–37ëÙ{O#Ã`3¸`3¼`3¸À“!Wý£A‡×šÏ±ìùÔr³öë!.! ¿Îb³ÉÜk04©KÚÕ„¶œ d‰a&ôs§ ã ™–mæ‹£¨ËýÅV©‹ÔžôÔjCOÙw³ç²ï>fÓ9':º’ÒWì)èÆc6âK6’!ùLIÖÐI:÷·°Ý˜†=£iÏi‹1F”“_dgù©A´rw:\õ:Œ»¦õ&Yl1MZ\Ää+ó‰&O¦S½ÍXï0ÖºšŽæåä¶N¬[„Їc®°ZñÚð»™Ó)&ìh'´Ô N• ®€Ä“))ßVL-ÖSÃÌp{!Í¼  &ËÁØçÁ£;øõ%íõí7Gt•1ƒ`ÈÆtHkºD„’-í’b_ÃØÍhæsN¢=N£œ"2‰'­Æ„ƒî»Ü¬¿Ë­ÆІJV×Éë:™¢“`cW1ºÌQdE,-FUYÁŸJ–LÒ:ãÐ#ž•˜Ó1›ËGÜ]=â^öˆÍrÌi¼ÅY²Å)[\Š>Þ9þ[â„qÎ’:3Ñâr“™Ò"¯ dª"c•*V ®jŒÏ:LÎ:¬ÎìrÅVÿŒ;ý·xvð wÆÑr÷8¶ˆ#‡$²I"V %êFº[üßì½É¯-éYîùû¢oVÄêÛÝž}Ú<™vb§í‹U¸jÀ¤²@#‘ YXÂÆ¤±2B†R,†Xà @üL«.·¸e;Óvv§?»ïW}_ƒu|LRæšj¸¾yï~¤W_¬ˆµW|+ÖŽï‰÷ýžy˜Ñ®Ùqžò‚{»Å=´4!Sd2R¡¬ˆß±Eø¨FðØ%Yš8Í9ífFgÇÇÔ|&—6ÓK™É›žß¢~gŽ}' ®Ì¨挊SÚÙ ' ГœX•È s¹I,ôÿ¡ˆð|þØŸüÉŸü»íãSŸú¯½ö?÷s?‡ëºø¾ëºÏ·÷û}ö÷÷ÙÙÙ`ooï=?ù§ú§Uuô_b8òôéSnݺõÿ¸/»»»Ü¸qãùòæÿýkP…0 Ÿ“àÉdòoêã阃Á{úñ/ÏÉ®p…+ükx¿ëõÉO@˜U ‘ „Ò3âgH9º”QŠœ\THÿ,ãwýæ!ûéwøøÏ¼Ã¡½Å[ÂGFà‹°YŠ¡08fD̳ó¨E¼4p—#÷„¨oñ‰údËÝÇM–ä±ÂY8 L$fJ‹yÒdoº2CFTˆŠÕrÅj°˜ý0¶š{¼l¿Á°qÈ7¾‹RϸÏm”*&F%C<óµÊPÉ(™ˆžìàÉ‘bò3éÿ§l…‡´Ã9ãµÃí G¬2~QÝæ²±"}ê C«"t'B·"Œz„Eˆ%B,B$¥"q-ÂAŽ\TT®LªËd†¾üž@¯}I£;ãzû/µßbïÉ5D³Ä×NÒuhψŸDEë\Ì<Ëè4­uwÎŽó„².~µÊb*’Tá{5öÃ-Þ>ÌŒ>ÁÌl°aï±iï³1Úc³qÀæüˆÍÅ›ó#úá%žcá×l<ÛÂ7-,Bì*Ī ÀQ+óêò R bÆjPVÂù:S§ËÜmñ–óSIJþ#ðm>~‹‘zÂÒ?ÎÁ`7àí»|Dÿ‰®bé>k±¬Õ9­õ9 9©†t¡1qB‡sn ™Co“ïøÿ‡ñm¾3ùûËí÷”åFþ”ËZ‡‡½ë<ê]çqoK ¹Y<^)F´ƒâ Äcàž tÎ_ìrÞìpÑêr²9àÑø.‡< nóÄ» ¢Z‘>½§¢ÒV¾q•¼j5[&54"ÕD5T}¥ºÛjMhWúÙëá ípŠ&H? |á³HXÍÌŸµ€ZK¨9ÍÚ˜žsÂånŸÉý6³q‡Ùý6£Ö/oÒ5/Øéí²!Òð–4.—4—ˆ¬¢¡S£9]sŒñ$#l0{Òa2)i5'\ï<á•ëßæ#7¾Å\j0¥ÅT¬Â«ê˜e„Zeˆ²$*W¿yåpX¨ŠŒ4)Iü’tžÓžŽ-óè»|"û.×òSþ1ûÆy—Ól×ËWx%û#q̆vÄ+|‹wÅ].D—Gâ:ß•>„WÖ)S…*P( å¹Lu ¨ž ª'‚–>aT?æ7ùøËÿH§=æŸÞþŸ˜MZøO\ö]§ D«’Yb+‘7s”ë)ÊÇÚâ’ü ʾÇÇóÿ“"‘8¯ºœ‰çJ—$Z¿àíþ·]’DGÿ¨Bw'çÚG=Üî‚ÝÿÔ!>’9{«Æü^{b( Á„5ù!§´³)N¢9è‚ @²™k BL2Ôÿ›ÛO¿þë¿ÎüÁpëÖ-.//yíµ×øøÇ?þï¶¿(Š0 Ã0ØÝÝå+_ùÊ{¶ÿê¯þ*_üâùÆ7¾AUUÏ…X~€ßú­ßâ3Ÿù þçÎÖÖ÷îÝãOÿôOù›¿ù›¹¿ßøßà·û·ùË¿üKÇák_û¯½öÚ¿©/°*_ý«¿ú+ªªâóŸÿ<Ÿþô§Ÿok6›Ü¿Ÿ;wî<_÷S?õS¼öÚküÞïý³ÙŒÏþó?öœü¸cúô§?Íïþîï>ïǾð…û™W¸Â®ïcâ×güå‰lézñ\&¢Ž?¶QîJ”ë±®‘E©RP˜%4 æÚ6û™„5¯‘ž Hk¡æÐѦ¼¢}EYgž7˜ç Yb©RÏ=zÎm=£Ý›r£÷ˆzoFÔÕ9·;䥠¡M¸á> Tx™‰—ZxÞ‘Ieª`+`=‹|5ÐùÁ`ÒlÎü>Îv(gè͘‹VŸ e¢7czö%õbI½XP/—˜EDXX„¥ETZDŒ¢3ª©Ä“ñ ¢IÓh€'×h/y¥ùm2UE± d«@± R]Å-¼'6þEiÊ8®ÏÐ9cèœâ*^ââK.žå6kTÏL¥¡2X•^ÙG4Œ9¥"QT2E"QùÀ´$§á{Ù•¢¡ò¨~ƒË¬M.KX®‡DXAˆ„(iޝ×ðu_wHL™ÛbO¹†š¦„s›wÎ $—\×ÀB„¥Å¼j23Ì› RIáb­Ãý6’Wà–KÞ-îràn²ØrÀ,p3ŸZæád>µÜC¹¢^OQ:+ÿÍA~A‘Êì†×HCcUY‘Ô™% fqù¢AxiáØ;/=¦P%ê·ç°·ƒo8¤ ÷Î’ëÅc†ƒSô› z/&¨ö/vHK‹EÙäL yj]Ã×l&Z“‰Òd"š¤h¤ÿ¿_ø…_à×~í×x÷ÝwiµZüüÏÿ<û·ûï¶¿o~ó›|á _à—ù—ÙØØàÕW_åïþîïžoÿÚ×¾Æg>ó677q]—ßùßáþážoÿò—¿ÌŸýÙŸñ³?û³œœœpçÎþðÿð_ÝßýÑñꫯòòË/SU_ýêWÿÍ}øÄ'>ÁK/½„ïûüʯüÊ{Äa¾ô¥/ñÑ~ß÷Ÿ‹¼üÅ_ü¿ù›¿É×¾ö5†Ã!¿ÿû¿ÏßÿýßÿÏÉ;¦?þã?泟ýìósòÅ/~ñ=ó¯p…+\á_Ãû–ø 8ãæÇ3jì¯m°'m º‚Ò7¨:*e[!6TÊP!/*r¥$·+h–LU…ÇI ¼ÉÁî”v}JËžÒ©M¸e?aR´y]'LN#bÁ ¿dÓ9`Ë8¤']`6BŒzȲ^Ã7 R]¡QŸr{xöò‚ãÃ6ÇŽÏ;ø‡ª¶ ½gaÊ+%Ðx6 s“Óã™Tr)×0Û!å …ò¦Š¦¦8VÀ0?c˜ž3ÌÎhe32±ˆd¬æžx¡ƒ?vxtx‹ï¾‚lç(ŒN÷‚aãMO1ä]I0””™ßäéÅ6O/¶ /·)Qp×}6ÖŽyaý>kâØ Á 1WŠ|PYP™«Ð¬ÕJPÕ”L($™F* ‰ê|aqäY·ʜ7L´•[áFs:é%ÝdL'½ÄÌbN«§Õ§• &S»ÅSõ^âr8ÝäÎòw¨iI·SÏìDO1—ê!i©¢:)Â,9¬M“3µÏ™Úç\îãU‡Y†fèË{2\ž0òOF' ’Sjå3cz3Bˆ ß°9µœNÔ®â1TÎ)gJB Ÿ­b-Jz§œ1àLêsš 8 ú\Z}œ ¢މC“2—™‹‡ú&÷ë7yXÝXyîcˆ“xU";`€è z'—l°©b”1’Z ŽRŒÍÚæ’¢y.˜ç.GùˆL’É æ%z#bÇxŒ.§hrB$™ì±‡ƒG ‡“áP Tè9†™QÕª5mDÔô€ZËñçÔó–´Ê›"¤!/X7éš4ô9&Ñsâ—¡b‘T&—UŸGU‰Zø‰Í«3/]Q,7Y÷Ï›ÒWÙJ4—rYa®49b“û—wy<¿Žd•ÈfA»6¦g®æj=hŠXTp)` \BÜÕ t“ nâNu”Hdhä(ÈTÒBãt>äÑñM?½Áéù[¹¹ùˆ›ú#š­%9 *1:5=¤ïŒéuÇôÒ1 :S¥Å4hrx²IijŠ¿r =FØÂ*‘´’DÒY ×&ë¨TB¶,&µ6‡Ú:Ú³s»rE,PI±TÇYÐT&¶ÅrY'žé$ÉÜ@$ †È0ÖJŒõ˜¶b·3ä¶ í¨®AQ ”*Å.=å„L–9‘ø¥Ínt K^•‚å3®+OQ E”(jlŒõOk;ìöwÈ®íæ:gú€R“¹œõЗ çiŸ3·ÏRw‘7rL²*uŠSÔ^ŠÒËP;ªœ’%:ilðÈ»É;‹M ¢ “ð ¼X)óšõ§¾ ·qŽh•¤=¤§qQëQjká2gÐ:E»›­Êœ Qçèl“±ÖãHß ¡Ïh˜s U©*©¢’ …‰ôéÝÿŽñ©O}ŠO}êSÿæ÷ÿsË¥hùãÖ}ò“Ÿä“Ÿüä{¶ö³Ÿ}¾lYý×ýüõýû÷ùÆ7¾ñüµ$I|å+_ù‘Ù¹UUùú׿Î׿þõÿÛ¶×X‘»/}éK?ò³¿üå/óå/ù=ë>ô¡ñÆo¼gÝç>÷¹çË?êüü¸c2 ƒo~ó›|ó›ß|¾îÕW_ý‘ï½Â®p…Ž÷-ñrÊÿÂÿÆÄhã®-]îÔñó6qù̹´HCƒª`åïgM˜ªMü8ç`œ£©9/5ßæ•æëÜj<á#Å\d=RÏäd¹A¸t)h8 ^pð±Ú·ÕŽ™˜M¦Fƒ‰ÙÄÓl”FN£˜Ð)ι™TÜ+6‘޶ð."N¾/`Ã…¢Z‘¾Žþ\͘B¸09õû\ú5TˆÝói-—´´%­¡G¿;æZ¾ÏN²Ëõx—µä”J+ë E"2o„¯ðÆäC<:¼Å>Ìæö·z¸µqÛwîÓ2f+™ý"¤VFî¯cí}Œà‘Åþ÷¶Èc÷nÀæÝc>P½Ãíê!UõL‡Ò”¨LiEúþYÌ5—…Zg®º,pIs,T(ç‚ê²"P,Žý5©Ã¾ØD2 2M#­k”E‰[ÎVÇl•ûlUû8¹ÇÃèU,ð"—˸ǔ6Kárl¢¦þ²Ž–tÓ E%SÏXqȆwH*iL¥æ*‹&÷9¬­qn÷¸].E‡KÑeQ6ÈS<ÒÈ= sžðïÛ˜AÂè 7Ò]äªD’ d£D¨¾nsf x¤ßàzƒ®2&STL%¡'¯”5·ò}†ñ)©§q”®óíì#Ì‚&—³>s½A?™°Ä¥˜ Ü Þ‰_äõêCè"^?b ƒ •!QuV¢×Ú{$šŽQÄ ü $½D%;!öí%IW&¯Äó²¾D(ÔŸŽ|ɶ²‹¡ÄLi2-f49aô,‹ñÃ(<q$ß)ÑÞÌ1ÜŒê6«òäXjŒ­8¶‡+/$“: êbË’–˜²&ӕΩKs,BT2`Eü"L<êø•‹_®"Ë5òR¦ˆò…ŒWÌæ»„óå\AR€!0XEf«ÌgMŽæÜ¿¼Ë½èúÃSÃ:µ3ýS6¼Ö½ãU#ÏËé;Naš58w»œõzœ=,V:™«ÈPÉQž+9¦¹ÆébÈ;G/òŸïÿ4÷oñÓÙ¦Ò­ö”ë»…^Ѻ¡×" %^ý&¥ø™½Ãÿ¿ÿñ…/|¯~õ«¤iÊ«¯¾Ê/ýÒ/ý¤»t…+\á ïK¼o‰ŸBŽEHPÙ¨Yˆ%ÊH¥JUÒK4‘¡PÔl‚MYšMUd ´aà×¢ÇÉrD×»¤u4c!\<áRI‚šæ!K%”Õª3û2‹¦Ã¢á°0BÍ@#E'A#EÉrÌN I¹–ãlÍ(G5ÚЫQulÂØÁ“<ÅÁW2E¡(LX*à[dºŽ”Ô“heXN‚,å C®È¤¥Š¬Hr‰"g¨˜v€Õ °ú>Vè#rÒ¦ÊÒv9WúÄÂĪb¬2Â,b.¤žåPµÖ(¤Jz?Bj¶DlèÄ¥ARÄ¥A^©Ô„‡S,©%µÊC+”*GH• ¶`¨1Š‘#¬ŠL¨ËÙ‘Jðn kâ]sŒcx´µ #ù˜5í˜5ù½L˜-΃!zPÍWƒî4ÓVó©r8Š6xœŒ©™Ê0¥aš IDAT-Mp·òiùSr!s€yÞä ÙâÈ\c.5žGhi†aÆhG÷Ñ: as”m Í2œÔÃM—8©‡“z(NVO°êޱDSSRSeæ48,FèYF©¤žFfhLª6y¥â$>[þýø‚âV>Å(c*I¬rf5æ'-.¤¦b1†aše!‘GÊŠE æ"a3>&,l EF×ZÆ”Mó€Ð2¸4;(INž(œ&Cfe‹¦>¥eLiÊS\±$ö ¤ ÂBä "´-Û$´-J[¬,JÊ9/‘³Š$Ññb‡eèâc»ÍR¯cÉ!×”]ÚêåjÞ©ÈPIÑEŒB† ¢xF‚~à…– £#²ÕþyJóbA®(䎲j …†˜“…*gÊ€·ÄKLiáTÞó)°Ÿ¶1aÍ>"Ò êΔFm†aÅ`@™C™ òB2‰©‘ê:‰¦“Ê:SÑà²êpQ¶¹ÈÛ±Mž©ä¹J–©¸ù»ŒiKÚÊ»A«DFÔ—3ºÚ9îæ}°ZŸÖT#¥)ÏXçˆ(7èŠ Mc†RψdoVc1q™Ïë̦-æVLÈ”N…PVe§UY¥T¢¬X¨.™­ –)5cé¨vФ”B"ò Ox:SÏeIƒ‰Òa®Ô ›t¡SD2( 7 %¦Ýœ2rÚ'ŒŒcFÊ eŠ)G A™ŠT&K4ÒL_eÓDŒI 8‰YólˆŸ»hyú<.µiMðcúî•&ˆ<›È«±<²)c}e:ß²BœÎ‚å)×ä]v”]®É{”’D)ijVB‘sdm• ­’ ©Y wKDP %%¦ ´”$ªXœ*H™`‚Í —9 "ÅÆw&DŽAæªTMP [õi‰)ƒòÅÈPôU[•hפ§\]w ‡eøC/Î+üWÃ7¸sçaò‹¿ø‹ï)¯¼Â®p…+üÛñ¾%~*~êàMüsÿÂ%õ zõ ëõc6êÇtì1Çí5ŽåÇ­!Ç[# S¡0e K¢0eü™ÉÞù&Ù¹ÂéÅÒ”X ]²Lop†*’©Æ“‹ÆÓ!b³@ÚÌZŽpÊ÷ûJR3¥wÍ£_Nø°›BK£êé”}º:§é{Ímö»Ûì/®‘™`(€€XB˜BSŠ´"žBÅd¬·ä‚@3Ñ¥MJÑäEä]#æl9»”£ŠÊ”ŽàHÚätº†JþÜRB+2¢Ô`ÚjàÝ­Qyè$¨ý„¨«sÖï‘;Ó¤Ã4m3MÛ„©ÍV²Çv²ÇVµ‡ƒî¦Ô\D…ª§ŒÕ.Žía4R¤>TB!_%йŠÝ‹étflwöØîî2tOi3êú|5O°’h,çXç!êig¬¤óSV‚)LkMÕn4TNœ>[Ù×¢}¶£}´(!M5Aƒóñ€=c‡#}PµˆT“PµEN+])‘Žì:Å Adè¼U¼Ä;/²íï±íïqÍÛÅöÌAHw4¦­Sªš3u|Ý&:^æâ%.^ä’y²\Ðç|¬üv°!²©ÐóU:—(&*Y¦‘ ”nÒ)(;)¥!‘*é¥A:ÖI/ ‚‰C<±È–*e)0刡8ƒª¢^Ì9ú\Ìz\λœÏF‰Û^à¶«V^И.¨/éOi/™ŒšLÖ[LGM0[hJŠbdÈN­ ÏpØÓ¶Ù-¯±nxFañ¢ô.B”’M Y’õœìE˜بdجŠWWªˆõxIk± u>§µ¿ sBÍ$蘄=‘ƒP ö•MÎ¥b̶ºÇvºÇö|3 éKgܱßEwC6•]2W!­«+2.š¨j– ‘5|ÝÆO]IƒyÜd5ñ\ϰð$/³IÂWV†ö¾B³œcXŽéÓ4gˆÖ%Ö5Mki˜±5ÊVoŸµÞfÏ'ljrÈP9E«2éI/™‹KÃá(Ûààbƒé´I¶«"›†ã4=šÙ£ŠÈJ…¸4ð«Y©’É…%0•½Ñ4&4Ìum•a§³½:ÑžN¸«H.¾U'°êøfTÕÉ%…ª!ÐZu}ÆZ툛Æcn„YŸâš \cc.A®¨‰daàÍ]æ^›¶=¦S» S»¤]C (/dŽ.68¸ØFJ”$GŽ‹Õƒ‡¦L´¥Ã–Äúö1nå1 zŒ/z”{*éRÐPætêtª úÆÛÕת}6ÒcúÕ˜@±ñ _1 $›DSQk Mi†±Gf¨(y#G~!Gޤ"d6VYœ÷É*•Cæ´YâP˜&Þvév‡³íaA¢kÔœ%›ò.-kŒbd¨æêúW¥o5¯º\µ*ß/§WÄï'€Ï}îsï)üIáÿ9û®p…+ü·„÷=ñó2ââï»øëd3“æÆ’Ûëù°ö7ëx»ýï4ï"U)ËÊ&“T2Y%“rY%x`²··Åé¾ŸaµjÕ’ZoI·{’À›¸Œ/vð¸C+ÓÒÆ´:cj,ß[.'d6š‡l\›²á°¾y„°¡t$JG¦ªIÜÏ^À?Bjœ…#‚ºÈK0SÀHº‚¤$Q='~©I¢©ÌÊú³yUѪ%&ï€ëÌÙ=¥žL9Kœ'C“MÎ&CòBE*K¤¢B*KT9EoEèÃG_â 4#!ÔuÎŒ.3©¾òÇ 69,·˜§->œ¾N–h¸±Çv²ž¦+Òg$X•Ç™:ı}ôf‚Ô‡r)S-$й‚ô B´&t¶gÜÞ~ÄGâ×Ùì¡Ø)J-E)>öŠø]„(ûì³À‰ØN¶[Ä;*'>oí¼À‹þ»6z–0ŒÎHceUçœ!ûՇʹ!S ¹!S¯-h¶fÜl>⃭ï±fó8¸Å£àýÛìÏ·ùÈô;$SÚÄgsz€åEtÄ%Z-¢1˜0WÌ­&3½ÅÌm2‘ºŒÓ—QË )b^(ï­¢¸ÇVµ¿š §†XZ¸²?È%Š©B>ÖI+u;§È2 ]¡lKäJraíÚD»6ç§&yªQ•¦1à ·œ³™ïsøþäe&']ÎOF›X>véa[®5çÎôµ§é¼=åö»8¹;ÄH0 šèJŠjæHN‰h­ÌÏ÷Ôm^/_áõð* îVïpWzçY™ß|õP…5ŽÅ¹h² °‘)ð± y戆“xì,žrëü1·“õæÝ:3£Î¼çrAŸ3eÄ´É)#ÜÈãåuH¡3Sçô›çènÄ yÌÌmp¬Ž8V×8VG\Ò¡RW¤Ï3l¦µ—iŸ³xÓhÓpm•ùÑ%r!‘çe&SNeª©L5‘é0Æéú´zzõ3ìÚËòØíÒ‹ÎÈ2•šáQÓ} # 2tŒ2dTœ0(/(SyUI  81œŠÇÞ:GÅÓi‹tWE2 ŒfŒ3òi¥S4æU¿¬1/„¥…¦dèJŠaÄ4å MyJ]žSgI4é2{ärú'¯wIäyÝ"k˜äu 1ece(¯­Ç4¬ké1·’‡¼¾ÉVt€ä截@R a­ˆß¥‰Zg>nÓï_ÐïŸsǺÇmóGÉ»g×Ù½Ý×Ig:"¨A‰V8ëK:¯\ÐÖ.X‘K*‡~Jy¡âïÖ)f2 wÁúèˆíê)[ú£ì”µô”QvÆ s¡A¬¯æÏ«©¦¡J Ms‚¨Ðu3CKRÔ$#:–ß3ß3™ÜwYž;¤´Ii‘á"×U¼WêL‹z#¡ZMK©É-s‚V¤¨r¶ªž3)£^,i• šÙ‚f¾@­2þ®ô~’·½+\á W¸Âþ?á}Kü|jì³Å´lqžö™‡-B¯F±T0ƒ˜N2f»ØãîácrI›ýj QæˆRBä¨(AËAYÈHE†‘ÉT HqA%$ªDg q¡QUY¥PU©*PÈ ±ð©±¬\",l5¦m.¨\ ÉÊÁÉ¡V"j%µÌÃÔCT=Cè%„:fÀJI#— âÀ&8u0äI¯P´]KÉÕ˜\È”Bz«ì‚j¤˜RH!$ôe“jñBg× òy®<+iS0Õ–rIK\ÒÔbJüÜ‚¼CP Ž‹uNŠuŽ¥ <Ãe£Üg‘;ÄBƒ ä²@/Kä"Ã($Úò”¡}ÎFë˜ËÁ.c¹K¼0ˆ&ñÒ ÷4Jd@BJR ·2´V‚N„ÁZÄhãù´€Cž—xþÀð¾Ê%r¡j*rÍ`Y:ŒõÇʈ¦˜3.º¥œ¦#.Ó3¥µJ)J$©D2%ªœ¡i)š‘Pe'sÉåBt9©†ôóu:Ù˜F2§ !^ª$3•d¬’š:©¤“>{ˆj*‰­‘4uâXGÕ3ô<¦•OØÈØdD5HU±Öa)¹Ìƒ&ø‚F°`;<@¯Gh-ЉÈ2ÔH¦>é™I#Z ,%—Ciƒ#Š1§Íã9º’29íqvºFãdÁ$1ŒÕÍ‘ZÔ$ÊD&KTÒT'N ÊLB)r¬2¢ÁMIIM©ÛBnÃ~µÅCí÷‹;¼ëßE“zò9™®b—í|BĹAœéÈE…+»g;3#ŽW×bá8¶Ò ÇlÅû ‚F¬TËfÛ|ÊŽþ„ëêc¶”=šÅœÖ³9¡¢¬H#…e`1®ê•RC§0À4|´Z ’xþ]*2]E™È(û2J%!ÇRU ¨Vî9ŠB8³™5‘rrK¦n.hs 3ƶ|LÂ犺&5Bj„8ØUˆRÈUù¹ß]á W¸Â®ðÿÞ·Äï’ß®>†'9[œ·zD#, ÔX]ùX&¹Ôˆ&&þØ&…¤PH*¹Pè¤úéƒ3úÝsÐ plßââ­!Bª°ã€íÆ.ö,=ÀZ0×C¬Z€DAQÉx•C„ɸh#ûÁÄáô|{ç/¢ubÔ^‚¢¤¨NÂAµÅÓl‡IÔ&[ª«2Fèä©‚_9H%ÙD#v-”î>Δ~w̨q‚&'ÏU5)#W5fŠÆTis¦X¨u„]Òc-à ë,Ÿ…ºäL01‰KšTx™A†AŠNЬWÄ“²#ÑèLi6§ôì3ÜdŽš$ä©„ ²\"e]1å–ù½•3X¿àPßàØZãÈXçX]#lÒM”óœeâòhrƒµÑ1£µ#Få1Š™# Í@L)`²ú^­Õr«7eÍ]ã)Ûù!˲ÎÒ©³”ëh½„Íê€~u UÁ¤lr^ ¸ ÏEÕgœwIUEäÜ-ßåzþ˜R² ‚‚ÕØV²T!Ë *ºœp*™J-Z唵ñ#ÿ˜µƒc,bÖÃ#²Pà |^”ÞET?E]¤¨VŠ¢åä#•‡òMžö¯!­çÈr+g ‘+*«ÍYcDÖÕ9MGæÆú.’Z «²R T˜m2]c&Zì+›Tª@± ZÚ˜^휙×â\R•Æ©¯ždÇ.þ‰Šºt‘Y]2 99Ö‹!æ‹!æ”FkA/?ÅÉç¨yL‘ƒ$ƒP*H+:bŠfå Ú¼PÞã‘~‹7‚ ©MÙ&,/\vϯ±vzÄÃ7ù`¥R×<šõ)Òâ™YùäY ø!)îC«6å¦ñ„—³ïóÁÉ÷˜-öómöÔmöÝ-Æz—ERgž4 É,Q)FUÖªª1‹Ó:Ñ™ÅáÉ&†—à®­€Ýæ9×ñêuæ-—£åÞÒ¥ˆdÊXP^ ÊC‰Mý€ÛµtjSnÖžb!‰ª‘8:IK )B1BÊ—Mž$×x˜ÜæQr‡“pmi­rŸëé6ã<Å—-|ÉÂÇÆ$¦&…8RHM +ö•­çáæK>xù&E(Ó g´‹ ëÊ1®â³­îÚRT ùÒ²¤²ê£užô¯qX¬3rNXsŽÕŽÈg\ª}έûõkì§×]iEZ' ´*Á«9\æ]ÄUYQ» p ï_`„¨RŽò,*Up¸î£®—d‹²Å”.ç>­ö„z9§MqÇ÷q¦>¾_§î/1ƒÙ/V?x«ßH¡È„²ÅDjqJŸiÕ žúÔÃ%uÿ'ôÉk2ù3²žk•.Q¹2•*Q9¬’gQ!ŠŠsiÀ=ó6÷k·É$™¥êê:çzDS9ªÖˆòaj&6Ä//¿ð$:Þ ÓO¹lé\¶»(¸œd#ÎÆ#NGœ ã©PÉÂUД–;cCóÂüírLÛЬOW–Ê‹tÀEÖg™6™fmRC'ªLa³P\Fƒy£AÔ¯Sm™à*0ÖŒ*Êò}…ò@"?ÐðŒ—w»Ý]ÄämAWº¤+Æè"ÁÉ=Öª\ÙgK;`i68Õûœ¨}N¥•ßä…ÚçÒ°pë”m™zµ`Ç|ÊÌ·xÙú>}ç³aè!¦Q2=û’æ×ꤲJÝYPw渵vƒX1X*6qaràx²;äá[#¾½Fû†ÏÚçØr„Û_â)‚qÙaR´9Î×0´QÀ¦;æÚÇHqÉý2å~©•Mü°Ar¨Rºj(Ó6Ζ8//© œµ%©Ð)pX ¹$Bg)»,…‹'×ÉPXHçWÄï_àŠp\á W¸Âûï[â7M[¼={‰*TÈT–ŒÒ˱ÝEÍ)T‰01YDu–G.ÞÃÁ÷lÂïYTªª Ú*ôftÖÆìŒžðòGßàrÞcöýön3yÐE9•,h'\ë?dsmŸ€¨á§6E&#I¥$‘H:~Uc™ª¡B±P)&*–åc×=¬†‡µôÈ0pˆ"5N ª( y%:#d*C"Ÿ+0âB…T¹ò±÷f1²eõ¹çoÏSì˜#2"ç“yfŠª2e<Ü{Ý~àŃēGñ`,dŒlSƒ-1Ø.Ê2Æ–@–±,²ÜmYlpûnSEUQÔ©3åÉ9##2æ=O«âpp¹ÁԽݾ4¾ç“>­{ȵöÎØ±ã‹ÿú4-§T ¨U§(Zެç(Ú¢ä€I‚|µÄ-L%¤,ϰ5ŸJ1CÎ ßa"j(IN1ÓIzé®…|[†3 îÒ¬§t«GTÖ&´¤SVÊG,'¸bŠZ$$…ŠšÈ9(™@É®âá8â”B—1͈¹QâXïbê!“q…ɬÊ|ær2ë2™VqŒ€†5bÅ>As±MêëˆTB&G6R­@î ¤Í‚c–‹c¶³^9~y‹ce•±Qçº}™AÖ$•»”Q¬ ­•¢µ›9Ç;+…QßF¶í›Xš=b½½Ës›‘UçØê²ko‘÷ðXD OA5 Ök‡˜µ”NÚ§Uí/¢GŽ@ª¤–Ч:ÌUOuˆþ ·¼m¾î_åp¾FIÌ9_Üb#Ûãò/3¶+Lô c¹Â¸¨àˆ€ eiNEžsC¹Ä¾¶Î±¶ÌW´ïÇÉ}ô ¡98c{p›V2 RžQ*û,UN²„\ä(i夑JèšÜ)mpè®ð•Ò«x ×)å3Öó}ÚA?r‰sƒžÜåš~•iRYDÜr°âK Èc…IRá [¥È%VÆ'؇1ÎÖÍ!²R «‹r¹¡à$!¦ˆÑÕ Õ*H«:^ÅePmâTVÈûÚnFm8¥z8£6›â¦>f¡¦ùÝȽ@JdPd2Iª$6³¸Â,ªP =ªÞ”õù«þ1d*¡a ]K1K1¦cVbä¤@Š%¤¤v¥ „3ËåÐêâk™¤2—Jd’‚œ æI/¨0÷+O¡>Йö™N÷ g63©Ê™Õâ¸ÚeWYg·ù-¦g‡D1È EM†º@7*Å”NqÊætŸn|ŒÃÝè[ÙÇ”#D¡0KªdÎ4ª“&:‘iâ'vê‘m“·L´srU ºÅ2ˆe8‘Èweò ×$<ÝeXnb¯ûÈJ¶Ç™Šž'Ô² F’¢Š1uNnöH\Ù¾ÊØ¨à«û¬3‘ëÌÕ*¡nQ˜–ЬجìðŠês,™=T%GUsÔ('—êU“ jáWM[C+RÔ"C-2¤\Ê2‘b0—]¦Z™^Ôäð´ÍÞõ·¿¼L°*5)+(„LPØœeM³Uªò„Ê•jÂ9i€!ER›‘´Ì‘졎còX'¸e’ÝÔ/(‹ÏéJ{­‚“{ÈE™‡¸ù”z~Æ\”9¥MŸ%NY"Æ`š} ôïâƒï>ûÙÏòþ÷¿ŸüÇÄq~â'~‚|à4›Ío¹ÿ}Ñ÷MÜÁ÷q÷ñÿw|Ï ¿bO"ùßU =¡êŒ©”fTK3jÖ”ÆxÀ´ïðÕñ+¹9ÚäÆÑEnô/rFZX2ØwiIÄ“v•cw™e›QQ§·™{.ÙD% UÕ–žà8¦Y_%Â&–"ÝeÐn3jUÚÚ©òò¢ð´\‚œ"ÈɯåÌ®KèFLÙ iY'˜Í‚(·™†U&A•i°fKö)K˧,©§´ó>í §H[9»+kx “š4¡Æ‚e1G)–(3¥ÁYªÇƒØfu™žUž´˜Ÿ”ÉN4ÔYŽ¡E˜[抇š'ÈÈHHHÈXNÄÚ¥V·Y­°,ލ1ÆeN!ÉL”**ù¢x³œ£æ‹ˆg Y„ºM`[ìØçèWÄm cÒžôhLFw9¤ž.Š%ÏÇ.O½ð²Qp;Ýb¿´Jô€Ž{uŠÙоÉvHÉŸ1ñ*|Í€±W#4-ü’ÍréÿÍõK5FYQZcœÕ‰dÅÈ)"…èØ^ÜÄNÅý8ÃÜŒi,°—}¤RA*4*þ”ó§·èœ xeïëO‚€hÙ}VˇHœ£vß5°G°ó€HÏrN½Í¦²‡ãL™UmnzÛu Q“0Õ˜N4 ˆlúñ»Ù6~î°'6¹..qÌ2‘db:!‘a0ë8Œ²*:]Æz‰Vg¬×ˆm“jkL¥=¡ÚcVC|ËB2 Êê”eŽYšõiŽGÔÆSÊcŸ•itö"ö,fyÖ#Àþæ4Ë ["—¡ð$NŽWæ-ãMêî˜ú¹ 5g‚kÍfAÖË Èè”Nx•xŠVo€š'hr–Ä‘XAÊ%Œ8£xä3)-íÕIÑìdP“9Αê(Çz,M(“‚fuH3ÒÈÇXy¸(] hRF!@ÊÎUR$© P$ MAH¨2B—0 d‹ ³ |—LÑ)iC:êþaÆb IDAT1µG%ŸûÉÐ$>³ÈGÕ|Bž+\“®p\Z&3e2U¦Ê”‡³g™e¦­*³¼ÂÔ©2–k K F¥:£RUÄ(^†ìçH¡@N L'¢’ÌHrT¨Œ“¥ÀG›¦0ƒ¬P‰sŠÅ²’˜i„S ‚Ø0m{qNmòX†’°(H>[«Ð3»¤žFÒ3ÑŠ‚Jᑈ>y®2H›œi-µgn“q¹ÂØ­àè¥ëô£.½é2Å©‚¿ï2-v¬.ªu‰™°V;b©9¦Ý³Ô£¹9±eàé%&ŠËœanf ƹ¦%¨jЦ¦(r†05¨ØˆN6ƒAÅDÕËDy ?+ÑË;LE…L¨¾ÍÑhcá, sÔZå¬Õ@nTÕ ‘bI`’ƒ,“‰"á•È&'ã.ùH0šœŒj„¹É”*S*L¨’¡ž°ñÝ|òýûãÉ'ŸäÑGå¯þꯂ€ÇœŸÿùŸçsŸûÜw{h÷q÷q÷ñÿßÃÂO&ý?T¬j@}ûŒÍ {lÖ÷hVFÌú.³#—Ãë]¦;eÎ’ôÅP4MÊ2”¥»„hÃdܪqâv)«[L‹ÊBøù á Žü6áqÌÑ‹¶5#Ã^P²Ém“⊊¸¢"éõÖ½²p‡Ó+)úJÊì@gv`2=0˜T[­í1­ Õ1eÏÖ8ŒÖ ##MXu¹ºüW›/ÐÑzxk6þšÅîò:·››l¤ûl$(iN9[?[„TX䫌“:3¯Êl^a:¯œ”‚}›ì@E•œ¥òêŒr{ŒY PÈdÀÑ}6š{lÔ÷بì²"Žå­¥E ±)T)C+24‘£ª3¥ÌH¯1vÂ먶 nÅzâΧlîp~¸ÃöhgПµéÛÜÞÛæ,o0[)1_u‰–5JË*ÎŒŠ=¥â,( ã¢ÂÈ«óœÿUyLKí³ìò`ëi¦F…Ýb“]±à(nú™¯ž™ÈYAIŸ/„_{NÙœRsGØe©$%¼)ÓæNŒu;YIÈw©–€JMÁQ·ËÔri0¤)FèyJž¨xr™¾²ÄžºÆP©£j9-i@W;A33 ;ƨÅÌc‡›ñe}Ž«Í)kn8ç \§Ÿ,q+½Àí|›^Ñe(œÑ$’Lr[!r æn‰‘[%×%öòMöó ö²sÌwá.[Ûc­¶O³rJ šÈjNYÝ~ƒ!Õ½)å=}z‚íE,û=®x/’ºúbªm(ÃÄ©²+m°ç­³çm0É*ØqˆåFXç"Ü•9w‘»ÕqhÛ§Ä’B+ðpÿÎä³A¿Òà¨XAÊ¡œÌYò‹òŠ@v2”åm9^˜§ÈGÒ@ îÔC™æ¸c¤¦c›!¶`‹:~²R I)R‘£d’,)ä‚ !KªB^(B&Ì ‚Ì"È‚´D.ë” Ÿó˜Ëò5Vò#ðeÄ™2Ù©NßjÓ7Û\3¯ÐwÛ¬˜¬ª¬pÀJv@jhøMß^Ô=b…}‹;Ú±¦¡† Jž"y ᧈ«RN¦ˆ¼ §É2Žï£ORÄP"÷Tbϼז3œ¦O¹5£Üœâ.㤎”ÔIf&y¬-¦½o Hi­JjiÌü*QϦʜ.}aRH*­Í ý׋ÜÖ¶°-Çôp 6§XqL1Sñû.ƒý‚iXbGé2SSî([Ý=®^Ú㊵‡»Prã{Âo,×8 N‹ý´ÃiÒa–UX*z´éÑ–Oi)}„©#ª6,U`£AÐ)3¨VˆŒÃÂ#Í æ…‹W”HÑ|›Ãýeü›‡7WÐó˜äŠNrÙ@² *¥É¢ª,È$ PÈR "ƒÌÓˆ'6ùÌìT)Ýé’¦*Ñ]7Ú“… ÷_øýÝßýݽeÇqxâ‰'¨×ëßvÿå’$‰øÃüÞïýGGG\¸pøÃìîîòÞ÷¾—ÝÝ]®^½ÊÇ?þq^ùÊW°³³Ã›ßüfþþïÿž4MùÑýQþôOÿ”N§@†üò/ÿ2ù—‰ëº<öØc¼ýío¿×gžç¼óïäcûžçñÚ×¾–?ú£?ÂuÝo9Þ4MyÇ;ÞÁŸýÙŸ‘eïz×»xË[Þò²Æ"IO<ñøÀð<ŸýÙŸå#ù†a IÒ½}€—\“ü××ìÉ'Ÿäƒü GGGEñÏ)ŽcÞô¦7ñ©O}êÞ5¹û¸ûx9øÞ~û2ɑмœSÏØªßâû®>C»6à™ì!Ž»<óÌ\{ú ¢ª"* ÒÒ ÎK//"~'¥.šã祗Dü‚cƒð¤Í‘¤#ÑD’RÀB`jE¥6ŸSÕgÔ–çÔ”)v9XPØ"ä$ª_¯1¾VcþO&îv„«ôY_ÝçJsO®¡FáȦ-a%«ö!5žåG¬¤ãžð|ë*Ï·®²ÛZã¸Ò%,T?§&&Š…ð# ,Â/HKľIÒáp¸N|d"ö$ØqG¬Ø+Õs3š qWg aw—.s¶ØaKÚa‹Vľä,ˆÃ\rÑHÑ•dÑ’0Ô«Óá„.',sFƒ‰¨£bˆ€–Æ…³ë<2ø*œ}ý0ãÿ¼þ_¸½·ÍS×áÚü2¦`^0(}ÿ”†4 Å€¶Ô§Å€Ãboƒ±É¾·Áã~Xù',òC­ÿŠWrxVzENð%“x¦ã¸$C“èØFŠ–ó¥–Okí”f{€%…XRˆDARè,yÖNXÛ9fíkGÈve ”¡o59*w9l,sØYÆÔ#òHƪьÏëWy¦ò §q“#±‚œ –â3üÀ¡˜)H%±ˆøuÔ+1ä F òQŽ4¨½wâáN<ÄX‚:Hu5jJ È99Š-‡ !Ë Á'Iä’B&©d,Ú 1|‹ rðƒ™P)«ò1Wµ¸\¼ˆægèg9ÚaNzhðOÍÿÌI£Ë5ë ÿµôŸøOæ?áªsàyΞC6rb['V¼).`Š€XhœMÔq²ˆøQ@ ³3Œ¨$­XLÿ®%cßG›&pY_#ëk$}p^`:1êÝ+GL‚Ò@ŸšL§5È¥…ðk¤²Æ,¯0Ë+Hž ˜—X–NÙ’v‰%ƒ\U8«¶¸á\äŸ+?ÈW+qQ¾ÁEùm¹ÇEér þ´Ìàt e¿`6µ™ç]vs ©XââVÔVq—Îé=l7%Ö <Ýa"W鉷ò‹ÜÊ.r;¾H?]â2_ç²òªšÑdw#~tÊ0ot$âJÊPÏPŠ‘±¸„Œ©¯áï[}u¾,Г˜J8£bÏ©l̨V&wEŸL(iae Y¤!y Lfû&ÒsUx¦ƒôL‘¸ûØ"Z*0tã»ñ¸û®â³Ÿý,?üÃ?ü²÷ÿüç?ϾðüàùÉŸüI~üÇœÏþó4 ž|òI~é—~‰/}éK¼öµ¯åÿðùä'?I’$¼ç=ïáÑGå/þâ/x×»ÞÅl6coo¢(xÃÞð’þÞ÷¾÷ñÔSOñôÓOS©Tøµ_û5ÞñŽwðáø[Žï·~ë·øÚ×¾ÆÓO?M©TzI1øï4€/~ñ‹|ík_CÁë_ÿzÞóž÷ðÄO „øžêù•¯|…¯~õ«÷¦Ó~§sz÷»ßÍ`0`ww!¿ø‹¿øßÝç}ÜÇ}ü¯‰ïYá‡H!óyHQ$"'G"“U2U%342Û p5êKjÝ)õ ¢ ¢,+aÖ}œ†‡íxd²²(4-rBd iw`Pd03䲆TV‘**jKà<R?7¡SÐfa”`aH1I½ ØÒðBÏÌQºþå:'íY7 ò2Çê2½JbêÈ’ _nqÓÝÆ.{,•»ŒË¤RΊ~HMRWF$†Ê>«Ì•GÚ ‡Ò2‡é ‡þ Ifâ¨>çK7Ù”v™'eÆQI\c’ÖÈU•0´™îÔ –È–4!åÚ„F}HÓ°$N©0E™Ð"Ðã) 0â ÙÈ‘Å\´¶PeJ†Š„@Ž‹E~RP%m†Q‹Ýô:QÅÂÉ}΂n2ã¡âYVæGdkyC"s$„ U&”ðÐI(@¡Kä¦Læ¨LDÝÑ9ìÜ'D%ƒÒ»ÎÃR›,Ó¨j:•SÌ"¦{Ôí!õhHýhHe8AÏô,ÁÈô4¦>ãsäåŒÐÐQE†*(rŽ"ä(x”Ðâ@Z£È³%öGçh Ç("ÇkØ$uƒ–Ò§)õéLNYšœÒœŽ¨úS[`Ú)ŽP³fÔáâ!K‘¥cX!ËÖ!šÏ¢ =:÷¦ ŽK5ò†JP³™8UN6®<Ç,"6’=ì "ˆmꀺ9$-TNYBd¥4ÀICV³ºaŽÜÇ-y(KÅÂé2‹)­!PâO€›ÏY“xP}ÅÌÙ·F*%•´¤ ”r–J',•N(›3$U¸ƒV“¨0êuά:jš²vxˆ>J({sÜpμæpãê6s·D²®Ro y…õuòDÁt"NËK|¹ñìˆmÌvˆÝ°ÚZ#!´ì{Œ0©E#jшêxD©­:m8È H9 Š”#ÉC‹pÍ -úDÂD˜‚‘^eGÞ"J HD¨À\&œè]d³à‚s“RìqÞºI·8F‘2ÎÔF#ErZà¤!v¡ç9rE®‘¹¯R¨24 Á`à¶9‘—èEKÍ—¹U\àÄê6L -Äug¸9îòœòt޲œ¢622Iåd²BÙ$襈†4@®âQR|\Å#KTF~ѤÎhZ' -Žåe¾®¼d¸¥\àšq‘Kœšm"Ó¤hȨ§PkLp¥–¢©)’&††6¨äö„Bu) ÊÈAn¦XRˆ«Î)ç3ìQ€ÖOaéLcÖ.Óo-aµ}„!Ø;œÍLü~Œ8 „Fa+W¡¨ê8n€«Î(«3\m†Q‰×sä GÖ È }@#[ÓÈJ±fPiÏi^¢%)r£`To0’ŒŒüú$FWô-½æ“U’‘I26HÆ"Q@|ï>2ÿGðÌ3ÏðÖ·¾•¿ýÛ¿}ÙÇ|ô£¥Ñhðè£òÎw¾“|ä#÷Ö=öØcüÎïüνýŸþù{Ë–eñ¾÷½o†U?ñ‰OðÅ/~ñž(úà?ÈßüÍßÜÛþ±}ŒÏ|æ3¬®®ðÄOðÐC}[á÷ñœÏþó¬­­ð¡}èeåû·Ûí{˯yÍkxâ‰'^îåù–xòÉ'_’CùÎéÏÿüÏù‡øZ­¿ÿû¿ÿßõ?ºû¸ÿuñ=üËA@AJ† E%‘t2M'·t„«¡ÔeZË#Îoßb{ë6ç·n!l aJ–„°$"Ç ´MBÇ$T,b42ä…ð#9_Á:R¥@^yM ¬ƒ±ãvš1˵V8F#E%E#C%%®«øl<·Ì|3Cq ¼NƒÃ¥µK”; •&#½Fbk KôªKhõKø5“¥rïnÁè9ê>¦‰Uƒ“]eëúEz¢C_,qš.ÑK:Ô‹m­OÛ=¥íô9£ÅN¶Íb‹P² =ke¹)ݲȫ*Õ‹3ÜókÚ«îŽäãY*ˆ )cšbÎR¤i€¨DDE€Žä“#£’a@,3WP‚èÌÆËËHŽÄÌ.sà®R3Æ8i@… ËÚ ŠŸ1Þ¨0n•™Øf”°ñ± ÐHÑ.e!ü°€Lã »£-Â3‹ÃbÌÕ¶ ¶êèfJU=eµvÀš{ÀR|ŠÎqƒ9ú(qŽe‹6ÎМÍNk‚Ù%ÃK0f)Æ–`k>ŠT”,aÓ7ÛPe–£Î26ö÷ٞݡÐe2[a^/1Y­T4âšF£zFɘ&±eÑ«vØkC6Îz÷ŒF÷ §á1”šŒh2¤É„‚œor>¼E-œÖMfÍ*Ãf¡]C•ïOGZ”1d©‡T¥ m턹pš`¨6¸¡\àX,¥qd{ÙL§d{¸ŽÇ•ð?ý7ìÔò”sª¶qÂÛ pfÆ,ÆŒSÔ¬@ÊeòL'9¹¤"TÑ”‰5ƒS§Ãuõ2×âËìpŽ‘¨3´ë†‰Q h-õX X‰ †f“3©ÉÉp…B–‘äÝiVN©‰1ËEeÑ£[ôˆ§&7à Üì_ 9Ò™?8ŠÌ™ÚÄ•gœæ-N‹&ƒ¢E&)HúÅç¢O¥>¡${Xjˆ¦e`ÈÍ» Í”j — 0 RýGñI ?µ(<ÌÝåVNq*ãŸ/Ñ?ß³ÀoXô£ƒ©…Sìõ@ضTvê:& »Ïª¼Ïš²O¥:EßJМ}5!* Ž»Ëœt–9v—‰5“ÖÒ•ì˜÷ˆúæˆ[³mnNÏssÿ<ãç]ôjˆ[÷)]šáÖ§„‡6Þ-™ùm“,´(r$å»öÄûŸ/|á ¼þõ¯çÓŸþ4/^|ÙÇ}Càضý-×eYvïõ—¾ô%Þþö·óôÓOãû>ðÍé’½^ï%âkssó%ýqåÊ•—¬û—Çÿkœœœ°½½ý-·}§±œ;wîÞòÖÖ½^ïÛöõrÑív_òú;S¯×{É8þåò}ÜÇ}ÜÇ¿…ïaá—²°Y ï ?HPH$ƒTÓÉ-¢¤!×dš+#.¿Á«_ñe~ð_Bh¹*Q¨2…*ÓS:È«*kÈ«Äè¤ÿZøi X:Ø R äó Ê)ê+SŒó9e= ¡XÖOØd‰ân®\DAX7™—ÊÌ6#fIN ÛÌÕU#S5’Ø$V,bÃ"µEÎOj¼¦Åa«ËR¹Çé®J/°.í±Â;Êw”-öô5îpŽaÔd7¥MFQ“+ú×ÙÒw¸h\çûŒ§9RW0‹ˆ›ce•ù‘KpT":²‘ $6绸ªÇzç€mn,L0€#J0& f?Åè'dm™LÈdºLV–q• ‡€c’ÈätÔE9Dûc©Êl¹Ì¹‚YYÒz<,=ÇÃús<ì<ÇJpÌþÚ*ûÍU¬Žè ’ÝãBøI °ÓئQ•pdsx¶†6L‰lS% ò»ÓìQ³&\(ÝàUÖSœKv°öŒ³s?Æ8I‘<ÀH¾€âKÑehMg~É&;UòaîI áG™>möY§Ÿ´É':Ù‰F~[§Yœñ ü •ætZ=¶ä¬~Œy=Æz&Á¸PÚ (ÖeĆ´pª¬©¤’Jb)–i¬Y{lZ{ȦàEã V%$hÚ6W «Aé®ðS–Ðò„õôˆµðˆuïRà³g­±¯±›¯Ñ-œ4¤ä¬ÍŽ87ÝC s%G)çÈJ±¸¥ü»ôXDû¾!ü °³€uiŸŽÖãªò‘n0¯8Ìk ú®µˆºKê½vî¸ÌM¯^bž»¬Þ:fcxÀÆÁë7µ«ì]\cu½‹«È•‚†:¤¡žÑP‡øI‰í«ìU¶x±u•I©ÊêÊ««{¬®îSkŽ8ŒÖ9 78×9 »üPø%Š‘Bm4åÂèI×`J…S«ÃQ£‹!EÔQ £‘"ËK ©¨cÚ¢‡JB!Á™Tg(UÉ…Ê,­1‹ªÌü*ÙTçç)^Uzš+Á5^?Í4s™‹Bô§j›J>OÂîǘ§)f¢fR…<ÓÈŒœ¼®QTDM"¶ Nép+|9ú!^H®€)Ö‚†Ð§l7¸"^䊸ƋÞ^ðàd¾ÌáÙšP)©”ÆT*c6Øçbr“Kñ-.Å7ñç%Ü`NÒ×9Ùé2èµ8V—h-®«—P¤œÔSH|™ÔS )à:)vݧº=Å•=L%BÕS$C@¡‚ª€j€*À­‚VaB(/„Ÿ’àè>E!3‹ÒÐü¡>›QìÉxi ¬6AÛäŒ^”áM2üÓ±ç!¤ ”Ô D[ÅR–ä>—Œ›< >ÇRµ‡e‡X+!V0UžÕ¢ÐUNŒ.±dR^šsÁ½Í«6žakºÃ—Ÿý~¤grFû.·ž]ÃxUˆ»äѸ<¥þȘùÙ²ÈB™àЄPg‘àûŸüä'yì±Çøë¿þkyä‘×¾~ú§š÷¿ÿýüØýårÏó(—Ë÷¶/--±··ÇÖÖ»»»/9¾ÛíòÏÿüϬ¬¬¼¬þºÝ.;;;ßRÌ~§±Ü¹s‡óçÏß[þFþß·ƒªªApO‡Ã—5Æëœ:ÎKÆñ¯¯É}ÜÇ}ÜÇ·Ã÷®ðS0MR;gª5é‘`§2ãÌgd5‘– qaˆì´Î0ÎE¤]•a£Fv÷KMêɤ¾ÌÜvH]0]¥òéÂþ)F;cxÓA•Xqˆ•‘â Ô¡ÚœS«¨¹Cjöˆ†rFYõÈ-D*SdÒÝVæ4_â¬è2ËD¹KÛıFéÄ‘F–èä‰Nžhä’Œl¦Dn*d¦J¤L³*§I; Ò»ñ&wâsìÆìṣ́Ê=z‘K\3Éš*4@q2ÊæŒ®}ÄÅRʃ M.¢1j!k¡fq6o±·· Xv€mØŽ¡Åø¹Ã$o¤ibbd!F`ˆƒßw˜Î«Lç¦^•½Á9Nû]¦§5¢žIfk(Õ5WÉ4áHènB)ô¨'#:FB“¢m˜`g±©:±a›ªžQ-É[ø’K lüÔa×Е7žÓŸáªsÖ¢}®Ö^àBõ6ëÚKÊ€ÜPÉK‹ˆÙH* HXXÜþÇÅ>ð>ô¡ñ¹Ï}îÿuú÷@†˜¦‰išÜ¹s‡ßüÍß|ÉöŸû¹Ÿã±ÇãþèBÜ3bùÞô¦7ñÆ7¾‘?øƒ?`ccƒk×®ñÞ÷¾—O|âß²¿_ø…_àWõWùØÇ>†ëº<þøã¼ÿýïYcÅôÕ?þã?FÁ›ßüf^÷º×ÝÛV«ÕxñŹ|ùò½u?ü0ïÿûyë[ßÊx<æÍo~ów¼&ßéœ^÷º×ñ–·¼åÞ8}ôÑïø7ïã>îã>à{YøÔ«$e‹¡¡"K¼¸K9òÀ‘Ö VÖ¶÷¨¶Ç$m•½ú¥L4Q÷Â=•pOÁn'”6cÜÍMsBËPßÒPF4Û#ÎF-FA‹qØbjȺ ëž²%ßb;¼Mg|B`š„¦Éجq,wÉÔ×I}4ЙŦq™iRaWˆg*ÙD"ŸH‹V…ânî!eõS‹))5iL©ðð#‡`›Sõ·WÜ IDAT¿‹æe G ÎFM†ãÃQƒ(±ˆ‹$Ñ!tCÃßrK5Nkm$ šÊ]{ž ý€³z“^i‰ÞÚ½´M*4<ÅáNºÅôz•ÛçYïî³ÚÙg½»‡[ŸsÆGÒ*ÇÊÇÚ*嘎|LG:¢Ã1g“&{ëî¯s°·Áñt™^Ôå4ê„j=ÃŽCÜ|BYš°¤ö¨êcÓG³S”¬ÀM=:£>æ4¦®M8«78«×ÖëL Ci—{´”ÂVØ-zN—w™´ÒÅMçl*»œóî°î²6>`yéå蘆˜ 8‚¹î0iV[Uæ]—"‘¿ÉLF,IK ª $h©C$[¬¤ˆ¦GQ’(l™LUI ½ˆY‘YÓYuŽYñYöX>>¢9aè)Š_,j.® Xâ›Ñ4È$üÌ¡_´8]Žè’Z¢¡P( …« f2Ì%V§¬Î™Ë%n“3·Á Ü$²lªêŒ¦2dÚ8¦,M1∶?ÀE¬„'”cÊýZß'€¶jÔ%Z0ɪìÚ›ÜqαnRJ=6‹]ÎÅwДÂ9¨¬±«mrÇ8ÇÈ©¢™1š£É1 Ù¿ˆÏªä(ÄĸÌ1ˆi»ªËc 5 ¨ 7Åi{ÔëCMe\Ôð—aÒÆOJŒæ NÃ.§i‡@Øä’‚/9Œ¨#$ÁTr 4‡D¨JH]=#«È«D™É®¿äˆ¼QP‰¡h,D‚PÖ’@– ,ÂÅý34˜öuæƒ*ñؤ›ôèè=º§´VÏÈ…ÌQ¹æ\áyçÚê)íä”öø”μO†JˆEÏ­,ê'[FËLâ*é©F,L¢5D(1Œˆ~¥E¿Ú7§Z"é’V ©NàÎ|ÊsŸê|Ά8ÄíbÈEýŠ’aåV`)ó¬Ì^~ŽçóÉd ¹žQQƼºõßxÅ™ÍîÑ&{G›ì#ðm¨JP‘ *STU†·K„#—£Ö‰Sд1·#¶VobR‘f”¥)ey†¤èOjôv_Mf¨¤ÉÜ Í |Ã¥çwé%]æ¸Hš@Wœ»Ÿuué ½9Ÿ8C·¦kSf•)“VȤ•2ièVÆL+qG9Ç0«Qêʈš2¦.0¤˜"Wé§4ò ¹P‘)’ÄeƒkƒÑr•D4jcغF¶ºÈ ÌÛsÅÅC%)i1¡È}($‰¯ÿ±…ß7"¯^½ú’õóùœR©ôÿyò'£>ÊOýÔO±¶¶ÆÛÞö6>õ©OÝÛþøãóÆ7¾‘õõuÊå2¿þë¿Îg>ó™{Ûã7~ƒßýÝßå5¯y ÇÇÇ\¾|™w¾óß¶¿÷¼ç=¼ímo㡇BÁ»ßýî—=€ù‘áÀó<~æg~æ%æ0oûÛyõ«_çy÷L^>úÑò†7¼Çœn·Ë;Þñ>ýéOÿ›×ä;Óoÿöoó+¿ò+÷®Éc=ö’¼Çû¸û¸o‡ïaá§C­BR.e<ºÇ nìÓqŽè:ÇtWiJÓ"0möŒuõ2ó‰Šw[eþ”‚÷”ÊÆö1—½=êæ„Í•Ý…!ÌæFkDãò“Éœ£A†èkøge”DÐq{\•¯óýÑÿÅúd[¥mn±Å‰ÚeGÛ$Šm¢¹M4¶‰&6‰¯‘ÚB y¿@ôrŠ^Ž8É‚o ÄÖ"ò¤9†º~UiŒ-|ü¸LÖÅŸ¸ø£ñ±à¡ArhgÊ=ŠL"èø’Ã¤Z¥¿Ñ¦.Mh(CÖÕC=dX«s£tž¥ó¨¥óœFm¼}‡É~•›·/Q =¾ü4r–ÓvNѪ)S*Ü’/ð¬ò}<§=Ìeõ®(Ï“Ëà2a8mrçÎ6/<ó_ÿê+ "Ã"Ô-bÃÀ0"¬8 šOhJ}–ÔSjúÛ Pí %ÉqCcSÆ„©ÉÕ ²\abT jecNE¹[â¡6å°´ÎõÒ’²Î°Ú¤4ñؘìñªÉÓ¼jú4ëÆ>V`‰[Hd@wèYK,­Ò“—È …ïsß4µF£iT¾N™¤…I†‰PZ4¹À‘bºbËPÌñûk|sMçxÿÙ5 -âN/¹3ZnuA"lÂÆaÝt(«gØu¼Ÿgs¤C ›%‡ÕŒaµDo .åc®”cÎå3¦êmœ£ûýÇŽ’)k«ËÚî³¶z„²CÔ6dmAÙÆ´MuMÊ~ðõ_þ¿ºR~ÿ×ÿ°û£žûüç?Ïç?ÿùøü/ýÒ/}üز,þüÏÿüã?üðC¾öµ¯}ü±$IüÆoüÆíÎý0TUå+_ù _ùÊWþÙç~Ô±À^Ü}éK_ú¡ÿ÷—¿üe¾üå/ÿÀsŸûÜçø»¿û»xî _øÂÇØùùQ¯É0 ¾þõ¯óõ¯ýãç¾øÅ/þЯ}àø~>±ÂOó+ìç)­'h% ß$Ól2L,)¤'Ö´’@–*2Å`%íóÏÍa¤Í¢s…ðYÈNvÔÁ5v éPèUW¥A!-ÂnËKÐÜ9i±ìÏÙÑSÖôÛ—õ E¡±Îz\µ§dEº±É–ÙÒ¢ÍA@ÑBRY  rQ#•9d2u(h¶2õBÙßðÅЄÐl P¶›åvÀb3d»éÂS fÖ†H±H0D†AF/[!mkvw—þ¥¬3In´+Æö–ö,6}E¯G¹l‹ÍEíªºªèöÖŒ§œæôY1gÈU{ÌKžñm>…NBŸ9'í-e«’ÔÛÒgQÔ6%u‹j.ðÌ€¾»E‡´6™¹ìœ‰eR™ U#S·û\·ºU(uoà§ìg[I¦Ue*C£° .µSæÊˆ]Û!¯ ô¶@Ö /Ã9qå=Èу-(@¦™¤ªIÚ3ÉRÑ|\¢lYÊ}ÂÒ#u„$ö³¨ª¼ï˜8R\ãGò-oUgê±’ú܉#ÅÂqbŒ&GRZ] + ²Ô"7û¸€ª©©€J’©LS–®†ð5.Ä)—Ö1Wù1×ù„Z–Ø$>IfR-dJM!¶-Öu‡™6äÖSè2­Ú"Kr»ïrÙ %ZUâ©!=uÃ@[2RgZ†¡f(^IÓ@)JI%¹ÐÉ3*Vi¶2b+Ђ -ñ’rƒ,•H¢D¦Bi‹}lJ“bÖ)f•¶‘ä)¡f‘( RSÓ”È6+ÑcM},‘ Ñ`ÝϦŠêL% Ò¥M¹Ñ½ÏØq4¼åñä5ë¼Ëu1A.*òB'm,¢ÚaWûlê.±d“©…®R›Ø-’[£ú©0k‡`çÒ–z‘1Pæ ܃bŽCÀÞX'Ç A ¶%¢mi™¼Ö¦Èz…i'ûÙâ¦Aª÷«Õ$¨M MKÙªÈr…­ÅŒÌOÍ—XjÂÂq©<¨2ÈÙw»-â´E¼ÝO ²©Éz%ÑNÏ^áÛ[ºú–§Ã—Lô[Fí”Q;ã°r•N¸t&DŠÅyýˆ‹üd ¤*¤*’)ДÍ+ðwFF§»ÆR伦Z©´Š†0udGGU ÔJC)äR ¥-U­6.Aã6.Žƒ!ÐÛW R‹ÝÆ ›%ª Ì:gÛú”­Æ´9äCé-ºÍ†žXÓU6Xz’LUk¤™EX{dUNmTHý ã,¦éTHÛò_ó²÷ï–_ù•_á·û·)Š‚/~ñ‹üÜÏýÜ¿ö!=ðÀ|"ùÄ ?ÿpËãÿü!µ%Qèä:Å@£ÕÍNbµíSîî¢#žCØu ».AÏ%Ëe²R¢hdÚV¦¢CF—ˆ.zÈ4„¸ÄØd”ªJë‚ÜTèzdºÊRïrn“i çœrW±ˆv>åR§XjÔK…v)ö[¶Ìá5`4hã ý4AöÕä Yíe‚ì•ú#™Ø4‘LŸÒ¬Q¤œ0v‰"Î ÛA«íçN¢/è+ÆÆ-cã–#ã†F‘(e…øÃWï±v㢣Óö¹«:¥¥"+5š(P¥Y®JK­È„ŠËLñF~L- .9aÕ H* rË¥®ÐÛƒ×è=Y1’î8\@&èJ[zÒ–®¼Å÷v8½W p£›»I劭ç[&±g÷lâÔ&)¬ýØ}ª †ùbïê)C+ˬ¤>›¶GT;ä¥N“KIJÍuïÓûÙ‰J·ÞRµ u­Pߪ°h1ºz7å°»àĹùÞ6ÏR¢.eV^o_î~q™sÈ«ö-Ü6bÞ 9¯Ï¸)OIs¸µŽøpø­-˜ö† K†‹}÷A-Jnõ£}ä†|ÌB9ØßüÚ9šÈÑÈi*‰:“8Œf /ŽFîé¾Fái ÄŠS÷ŠÃÑ ½Ì!œª—ÔšŒ¯îÈ5“ö’“ì’ÑvQ$Øl}‹D¶ÉúÊ.EÝ%¨»5HÙ÷ NúìNz^Ÿ™8dZUŤ¼ä¨¸e0cÅ!b^!T°û!ƒrαvz?Kè«:Ò¿ÞâìbœMŒ³Žqv1^o‡×Ý—Ý‹ïo+PI ¡p¹c.Å)—â”$w` g·œ]_"BñÝ(5ÐêPËÐHb¿û®m°²t¤˜iF™dÂ$óL²c‹¨o˜aãp×û¹ÖD1iÕ}¾_& ᱂â‘ê&•-Ó–‚ÒQImƒÀr ³ˆyœ½F JN‚k -AÓr.ýcZU+PÕ»Hx{ý¯ˆQ: ås•Ðw©VÕNÝ×BE ”%OW }ÀRï(.)vfòŽ}F©«Ͼ憎B…ÖhMÞæD…‹E¼•}‡n¶E/rW¯y”_àÅÍVBlÙ›å êvoöc•(~…<¨¨6*u®P/ª7*f›ÑÓ¶LÌ[ž[o8°æøìðE„&jäB 9âD…RÛ×D†‘ –@ÑJz+Æ‚Áh‰Ÿm)]•ÂP‰6›úÌíÛŠ±í}…‘Çf×a»ë²Ùv‰±È4“\3iTÕªè¸Gí-Ï•ëªGP{Lä;Žä[&ʓ억Úa­vYÑe-uYÿSá'Y\w'äŽÊÔ:@ÏsÊ©N1Õ)¦vžðÖÁG<|ÄYzʼnw¹7uIm"¨s™FÏ(GSyÄÜR£"îÜqc³«<‚Ò#É]P$ní ­#ØâqŽx®¿¢FÆÉ"ÌXp§ù–ö¾©|–—ò3,#ÂÒ#l=ÂÖBŽfSÆó;ŽfSŽfwЇúP¢©djUÆ”2\'Ä…èZŽ’Õœ6—tš-OÚ×ÔŠŒÛ†8Yˆ» Šš­¢±öûLûCÖR·Øáå[Üb‡›ï˜».ÝG\:g\º¨PM‹h*&Í“àš¾4ÇŠĬBR[¬ã€~5ãX½À0c)–"l)Æ+v+×+.Wô§k”Óõ¤@Q ”NZûHìZÈ{áǘ—<ãÞEÍ+­/9»:çÑGWt¢Ý~ÒÝW£Hd²J.©äB¥j%ì,ÅRìmеK©R…Z(TžB­*¼ðžó¡ù6´ïp7&±ŸßlTh$‰ ƒoï+IìT/ü,Q [%± Û&4m¬ âqþšãí åLã¦?æzpÄ¥ÌM̸žò8;çq~ÎãðœNPvTBßaþ|@:ÓÈ?0qK³ÑŠ‚cÉ3ç5?Ñù{Žík^;g¼iÜR¨û®a(ÛÌì¤^E"[DŠC,;DŠFÝÆØ$XmŒ‘Ø„¼]løtõmì"ÁËwøb‡'"‚­‡ô}¦EV*4³@õ3ÔAAqaPæ:íRÀke¿›ÀÜ0±ïx澦koÐ¥M*Ðå ¹É–‘N„£A£'À“À¨ZEï`Å£Ã7<‘^1dÆMxÌuxÌfÓçæj‚Ú/Q{÷Õ–KüÖ »ÓÉo JY¡vï¾®‚Ö©é´åŽçæK+opÚ»I1Úœ´¶(J¤°Ù•]–ɈݫõUúªD}URëä'űFq¬£2f¯Æ<(±~,G%å7¥½‹Þ¿c¾ð…/üÀöÈ-þWÂÙxàþ-ñ‰~V?fòã—äè÷3:R[цf>Á²CxÑ!zã"š¡ï»mbÔÐV‚¶–hÛ}àBYûÄyŸurÀ,£i©b+­,äY¯PÔ}¶[Ùª’B ¹Ì¤¢ÚbšXå}‚O²r·5Ò®A‰J´,ß;å©-­Ó@¯E³ l-¡£tµ ÕK=iÐ^·(KH/tªº!¯5âʧnjöŽr%P ŒIn‘G Ò A}»¤ß_2\ó´ÿ‚O þ´–»ù!i`qõ¢ÄÁAíÖh@‘*Qa´†QP™*«KiÊ´6xyÈ(™S„ª\±³}nÍ#^èÏù¦örcU1-™(×WŒ/o÷†T†F5Ñ(?«Ñ?]â=Û±:íñ·ãÏ e®QE¦q[MøNõ6×õ1Im¡(%¶áh¶á:¶’—Ê kÑaé ©$:bÍSû#\+±"\-Â)"VUŸy;b¦Œ˜#j[Fî–(à e\¢÷jOÙ6 õQ4DS‡èÖ&¾µYî|Ç{Wî[Ïß;éšìu]{ãŽÜI€{€!¨*™j&Ì»´Š­ývEzàxàû|b…_…L‚EÖš„•Ë.ï°)úì’e«Qé*UGºEX˰­ˆÄ°‰U›DÞKÄ;‹ÙÅ!Ia3›Ž9~|Å“ç¯è½µfâÞ’µÁ®Ãíü˜f¡—ÍPA:]-°ô=ÊQ%Òeƒ8oqÆÃɌã[FGS–Á€ÙövuH´s‘ú`çxRÄÀ]Ò³6¸ã§Žqí„ÝØçƒ7oóþù;ĹË.6ø®èCÈHøÆŽ‰?gr°äèhI¥ï@Þèg¼à)q×&~æPud:O×8V„2¨(*[£C…ŒA†K€ÁÞA4±6ý>jZ ûƽð[r¬]óDz…nåè"G3sônÊ$¾f-q×1Z\cú9Þ ¢ßßP6 ž`J²RSJ*¡ê°R»¬´.E©á¬bìuBo¦F†F IDATâmbfÑJÔ’‡6«lH51XM†¼™<ÅWºòŠ®º¢Û.é¶+5Üç J)ª‘ã%[NãKÞÛ½Ï{ñøÍŽX·HzñؤÐ5$£¡Õ®1wê£Ê0ª|¿Ö¢i÷ñå–wWßáƒð=´ & lnƒ ^ðDzÍ{Òû¼'½OO[£è{PÅ(±””N»Ã7wXFŠ$× µ¾»æ¹ñf”aE)f”aÆ"Q™£s~v¢2-ÆÌÊ#¦ëC×3Þ›¿Ï{‹÷ñæªU°yä3÷˜w÷µjú¬ê>Ëz@«L¶—Ÿ_r|~ÁÁ|Æü½CæïŽX(CæÃÝ|K/Øpº»¡·Û°´úÜúcnü1kíSKI:6åXG„FUÒ÷·”ô¶;ÖJ—+÷˜Ì3ˆd—¹4¤UeZC¦µeZ_F³St#CS24)Å!Â%Ä!.!7í„Eu@Pù¤¥I\9¼RkgÀëþ3:Íÿh‹w´ÅŸl‘íŠõ¦ÏjÓg½éD>ŠV£è5òýŠÑ‚Þ‚Ñ€ÑRëµ.Óh-cýY­PïsçT© [l8ʦŒ£)Gñ;I(rRÑ(| ÝOÑÍMIi„`gûl¤k«Ç¦ß#4BËA˜-i‰­$T–ÌJíñÚ|D,Ùl4ŸRU0ä G©z:Ù‰…”7°|ö¯6äŠA¨ø¬äfÒSOéj[jMFUÊc2îû§ÄX÷g×!ÆeUZä¡I±4ɯMü&à©ú‚'ý—<í $½!­u E¡6$”UÍ`°â¹ú’OßâÝ‹h"™Úi&2!ÙD§˳.çãc’Ò&Ù9$…M’Ùl³.ËzÀªê“ÔªQâÙmÎ7Çõw´Š U .åSZIÐ:„ ë¬é׌š9£f±_‹¯ª§|À»¥emôhÐzÚ0CŸ¤Ý”FDú^øÅ‰ÉtzÀôƒ!Ó2[ Y>³ztÈVõöçØb¿…Ø:»3íß³Oïˆ2÷>.gÀn½¯*vúƒð{àß$Bˆ‡­¨<ðÀä,üö¿´µ+]Þe“öÙ%]Ú0t@RÔA‰ÕñÝ-¾¹AÑ÷JVH0‰{/úf‡]Ü:ôª š[qtrKÌíîsšÑ\¨ä¹IS*HJ‹î˜JŠßwü.ÄG ¶2:›òøèO>û’Ë7 ’ˆÖ|$#†Tà9!ƒÃ'ÖGã)Gö”ÉÑ”õ¸‡i¤Ä¹Ëåü Hæ^ôÝ‹?Y4xzÂÄ›òöà%Ï'o8çŒ ñˆsö¥vKÌnŠñ4£Û®1EŠBI.4¶ÂZLÒ»eÇÆpן µ%rÖ` bþЉ~Ãñ ÝÌÑŒ•”Éõ5ýè¾ãw]aäxD†FÓ"Ó yßñ+Ðr˜›n¬1eª2YÞán"z¯·(— ¯Öòº%ÛX¬¢!«÷†ˆdß¹ƒ–·Ôy»zŸ·›œ#®°ÕÓ‰ÑÍ¥ÎñÖ[Nã >»ûÿéö¿3”æD'Ñ¡Itb±éu¸cÌ­sͺØD8÷[äœ6âh;åh7ãh;e¼›b…9Ièp¡„~½ãqû†ŸâoùÏíÿÃHíã½tz»¿©ôZ„Âk©m‰¡9Ã3Öœ¯(%=-1²}U¢/*n‡‡ÜŽF÷ë!o6Oy={Æ«ùs^¯Ÿñôö5Õµ‚½ãñõÚl]ŸÛ³1oº§\r]ï+?¡*eþÃö¿á}´Æû›-O?úˆb§q'™†|À{|:Ÿ³àšw–/øÌüÛ¼öñígXk]"×A× ߦ<Òµ„™fIlaU÷Èkƒ;yLd8\ÇJ‡Àè8"ÏòCl#ÂRClÒ+,?®esÀ¢:`Wø¤…IR;l”>ˆžÀVbÆ3ŽgOÑ´‚EçPŸ1Ò¦Œõk,)A¥D½ï:Ô+ÎÒ+Wœm¯èf[ UøPi2‘gY‘j±“\¶¶Ï•uÌyÿŒ ξW& ,1ÔŒJUXµ]bLrtBáR¢ì3ù´˜¬g¡%’ÒB÷Í:h¡‰$rÙ ¼ïøÍä1ÝfKÊŒF–Q©0I0È0I1ÈXÑgz/,få!³pÌ|1fv}HGÚñ“ý.•"pº{£¥TÖ)L•Æ(ËŠ±ä¹xÅOßà?½?˜ìëýÑ;|óðÓœOøÖ᧘‡#‚¢CtØe]ÊXÛo§¿/¯Ýáµ;FÚ§î9n'`.†ÌÙW€ÇÀYÒ·ï/Ú%ƒ ‡< .x\ðwÕO ѰVz¼ÐŸS9j7ÇÆXǺ—P#ˆ„ÍœÈû¼˜>âåxñßq{}Dè´Š‡Æþõü€ð{1Íx¼ØÒbž~ĉz…ÙMpv˜~B¨8\7'ìê.7Õ)¥ÐYutoù?Äßrz|ÁZx¬…ÇJò(Lå³ ?*±º)ŽÑâA™èĉ‹i¤èV‰bÕv†%%÷·ƒûrš¯ŠèÔ½zK™'œrIf™Ð„…Ç;ꇜÄWô‹5æ¼ 2±ä²‡\J).m6—n.Ïøèê]ôU†¨qA/Þb ^b6r[S«2ic¶+úª†í'ø‡Y«ax9RXa„ n´¥ŸÎqOCÜãï0ĵC,%Ânbvi‡oWŸ¥LT”¨åIxÁQ8c¼™òîòC&ËìeLe*¬Í·þ!·ÅˆMÛ¡2 tÅæÞgR!ÀcC—@êp'Mx)…øRĹõˆ[uL㰸㰺¥W®pª­*H“õ}<ÀºìÑF‚^±¦¬èik +¥èiÄ=›°g‘8†Q û%zS k%™¦£–½Å%¨0vuÈÑzγõkúùšc÷ ñ¸f:"÷*vO=êCeÅô¥5©l’«:•£ÐnñžDXiæ¶ð\!Y„ºÇ*ïs#&XfŠèB.kÜZ‡¼ñ±0ˆ%W(]•z Ó´‚¬Ôˆt‡X·‰ ‡Ùaéõ¬š‘:GjŠÄ \ë·Å¥A,LbÝ$vLv½~`îr†»%‚ ,-#sMvN‡…{Ž@­*T¥B³*|iÇøà†±ËX¿A•Jt½¤r4¶ÝRÞÒ“×ôâ5ý|Eg±%šÄC‹H³ˆ “#iÊqyÅIyÍIt…%’ýO\ÔûHˆ¸¦Zªœ/q½¬Û0r =GÖjI&« ‚ÖeÕöÉÏè‰5©«£•ˆ¼Äȼ|ËA5eâß2ñoöeß°j,›‹tÀ«ø9þjÇp6g2=g8›3ÚÎ9 gŒÂ9f”‘ø&sÈ˃g|˜¿Åºîp -î»÷áâ ,8`K—}nÈ¢E–ARZRÕ$‘MjåË[ºé 3K²š(s¸,Nù¨x‹ùsšTâyý‚·šPëÍÈÉNö¯{mv \Ý(Ðý]Ëѽƒ—ô6úñšƒhÃIxK~Dú­A÷3¤ãŠ[gDÛ…â@¥í \3¢ûøŽFÈ4’ ²U‡+ü<ÂR ´± =UÉMBÓgUôÑ¥œÖ‚XµXº=6Z‡©yÈÌK…¦Qº µ.Èj¥Öcª˜j‡l5ŸÚFÍH¹cXΓeÕ"_·ðZâvÆûŒ7ÝGÌ’íTƾL].xvù³Ÿ>òX<`y1Âm±•ËN°» iɉ}ɱ}ʼnv‰ÜÔ´†LèyLûGÈuÍ(šña䣨®à8!Ž` Æ&C¹-/ÊXeó¤ÃU÷³ mƒÝœA°¤M$ÊB¢’dJC"Ä%(}ÂÔ'H}‚Ä'ÎlÒÌ"É,’Ì$¯u ¡RŽTäQA“´¬V=š»·X|kˆÕ$´A3 Žæ ús”´bšŽX¥=þGúcв/ök¢ĪI,BÛeR Öß­6-ŠW☃ƒÇù5C¦{×Ñû¾ä†.9ú}©Tl“óåˆâÊ xcìãú J¿äQÿ²_¡yª—£)9‚– …sÅ£Ù,ú‚³Eá¢Ë í8=»âìàŠ¡½àR=å¢9ã2=e·µICuÚ…ª!E'*<ÖÁ€xaÓ\I°½³ÿø®xù~øÀ<ðÀ'ŸO¬ðK®nþï3Ú¦¦) šj_49ÈÍþ•)2’~ÇñäšwÓøíGò!’}nûÇHÏZ؈û•ýµ.¹fpQo+t/ÅFXÃó ÆÈKâ;åµGü7Ò÷ª ꪥ®jÚ6 Z¤KÇ@Ö >sðMN—¼uð~lð÷ìtŸsùçòSeÄ2? ¬:û-Si‡~»á':ßà¤wÅOJßÀ“wt´Ÿ¦Ödæúˆ…>D¶A³+ ;Çnã{á'¨Î5Òsý¨ ­ed£ÆèeXjú±ð³‰q›¿è$½d‡ÒT,3¦g.Éjƒa¾`-éßl0f%ªªfêo”gHç ò›ù¼F>oøñÕ?PÇ2ÃhA/ÞÒl:-R§AtZj]&kLÂfßñKUƒ^gMèÚ¤‡:F 5zã5ÚOÅG¼#>ä]éCÞðéOðwÙOñ*}Î7ÓÏñäö5Gof<}}ÁO½þv ´²D-öµu˜‡¼ žñì'X×]>Û~“¾¼bØÎ™ˆ¶t q¹â„D8¤’C"Ù¤²ƒkîèØk:öš‘}Ë(¿¡­°¢9ª‰C‡‹àŒ¿¯>Çÿ[þ'êH&Œ]´¸`ßÑÕÖä­Ahz¬}VRÝÌÑõ½èÓëÿ:À߆tf!þu@›HÔ™LËÔ™Ìvè3÷,žô¹}<¢ê(jŠ¡d8jˆ&rjY¦•%PZJ¡qp¸ÆW#¬^‰@ë©äžµ?޼O#K$–ÅRîs¥LÈ%Pr %‡DØ{$WÙÏxù‚¬ÕY*=ÎÕ3^(O d¾X2–Hszù'ŽqW îMŒöªâ¯íŸ†.ÌG„‰K3•±?L8üÖœgßzvV²(¸ö&X$§¡coé6[:͆1SÉox$óHzƒT¶Ä†ÇÔcöS”¦b˜Ïy/~Ÿÿxý×üäì¼Ôžð²û˜Wå4=㬹äyùŠ·¢¼½{‰Y§ -B‚óÝ#.§Oxu÷”¿¹ýi¶ŠÏ©sÎéá9'ÖÇ+Ž’)j\ÑK·8IŒ–5T¹F˜ùÌó1r¿ÁjjUA¶kÊBe÷˜nŽ˜®ÆØF̸¹A“ t³@*ZômŽzS!½h)“}Çïêé1Uv›³æš³Í§›+çsn¤CnÌ1·17rWq—N¸ ö•‡:M$í+”v2*‘‡å^øm[VÛcy{@û #Ì8üé;í[FoÝáí˜c¦Á˜Y0f!ö¢¯¹¯t=ÅP )Á ¡iÄÞ4²|wß+¥SâôCgK&ù5Ç\ý€ðóÙßÛå 0O¹]M¸½:áö£cº§+F½;Fƒ;½}é¦Èr…r_ +ú×Vëö<Â3ŸBwQ’šÁhdzá>;ø<²_ñ-å³P×ì±F:ë¬CVilÚya6馾–÷׈‡4‡Æ÷w¹„|õ«_å÷~ï÷¸¹¹áùóç|õ«_åüüœßùßáüüœ÷Þ{?ýÓ?å3Ÿù ¯_¿æ—ù—ù«¿ú+ʲäg~ægø“?ùHÓ”_ø…_à/ÿò/q]—_ûµ_ãK_úÒÇß³®k~ó7“?þã?&Š"þËù/|ík_ÃuÝz¼eYòë¿þëüÙŸýUUñ[¿õ[üê¯þê¿èX„üîïþ.ð@EüüÏÿ<ôG„®ë‹äï®ßNþi🞳ßÿýßçÿð¹¹¹¡išùšò<çñù‹¿ø‹ÏÉ<ðÀ¿„O¬ð«-™z¬C^î…] ±€\ìg6LÀƒ¶'H»&»Ë:æ5OXhrGCÓszÞ‚ÒÖn‹ð[D·¥ ŠH§4’ÈFwud*l7ÄTT‘’cÑæ-ÙV&\* I ï-ÑÑ$jLê܄Ђ•Il9Ä]‹T1ÉX±MÓc™ Ù–]*¡"i5ŽÒ5VôÔ%eÁ²À^bJÜÐÔ*±í3·9·Cd³åjsʦèQhZ/G˜ e«G.ëEI.L¢*%¨RÌ2¥juLQБBj!¡é5²^¢ê%šžSV ‘äP¶:«â€6—y%?c© ¨LÛŠ0º9F˜a&)f–ѱ¶Ô²Â,;äÛËOÓ•ÖXZ‚íÇXzLö?Ù{ÓXI²êÞ÷·cž2ržÎ\sõ Þ¤g ©¿YX–l#K|ð€Œð@7ƒic ¶%Ûc$ؼëÛ\_h ‡ªêª®ª3ŸÌ<9gÆ<½Yô}Áïù¡{~ÒRDìˆÌØ;NžÈøçÚk-UCI*³)‹cbI¥# ¨Hs ±*QQ(™¬k:‘d@ 0¼˜²?§íŸ²‘3Î÷˜åU¼¼Äv´Ç¹h—õèˆv< $$ŽB¬ªxšÉ¢å š®9g#=ÆYx8øÄ…A5aÓS»,4—B“°”-Lqf>Ù©F:Ô¨ècjæš9¢f YGtón1G‘3+ÁÆ£ªŽéÇŽI¾„Á²Á5ï*§rÐÕ MB«lŒR‚&Ũ$«¢ÛVŒZJ+ ²Ÿ"K9"-¼É+Pü˜,d¹D")¤’Œ™˜y€•ød…ŒšfØY@%›‘F Û“}šÓö$@Z‚,ç¨Æªî¢!‡XÁ;˜âCÜ`@aÊ”K:IÉ )étä>ue„$e,‡4W8λ$ìE;x‰&ÔÂ1v¸¤:ÂLê%›t[Ã+9˜IÀVÿ€äºÊƒ·®³}wæÁ«·D³#äi È}…ÄЈ2?·Q² ¿XK ª”áH>jšb>z#“‘+f®¦óÚkÔJcN­&a!i9%yŽ”çx¡ÍÉ|b¤PÉf¸Òœ’¼À•æ¸áœF1dÍ8a«¶OI¯P©N‘”Ð0˜Ée*éœÄWaÊ,C$$‚,VH aND9›Ñb@Ì´¨Sä‚ ·Ð£}S˦lG¤•hd3÷j¨iB&dt9ÂV–T´ mŠLŠŸ˜ ¼þÔáXëpœw8ñ:; ¢•F-ÆaÔWV^7oefæcT”ä%{†–GàHKCBõ3,všß1˜g‚<•±Ÿv2À‰}æË"(1÷WËRgYŽ®h•˜<‘ — ò(CœpÊÊ3&%T.PÍCŠpRŸJ¸ “T@‘2L°]æ‘Ë"tY.'ûëœtéµ7I5\KP›1Ú4&)z€¡Èz†&Ç8,Љ°J)…¬ª6…&“« ‰ª)á=oeŠBžË ²T!JuŠTd*ºS©MélЯÆÈóœƒÃ1Pû.}ë}oðùÏžú§¢^¯óÑ~”ù‘ᵯ}-Ÿÿüç©×ë|ä#áçþçùâWñ£?ú£?ÊïÿþïóWõWÄqÌSO=ÅO<Á_þå_ð[¿õ[ÌçsöööÈóœ7¾ñ/;ß>ð¾üå/óÌ3ÏP.—ù•_ùÞñŽwðð¯Ø¿ßþíßæ¹çžã™gžÁqœ—ƒÿv}øÂ¾ÀsÏ=GQüÌÏü O=õüà)ŠâÿóTÏ/}éK|å+_¡Ñh|GczÏ{ÞÃéé)»»»EÁÏþìÏþ›ÏyÆgüÏÉ÷¬ð£[Àkr˜°/`_¾7½S‚²k2tùºÄèBÛí‹ÄŽÂ€¹ÆX«!IkÊ!…ÈzŽääÈõŒàÄbV˜M+Ì÷$„™£h z-ÂŽ|ÅÃ#C%A"a‚j‚n‚f‚i€¡Ð V`!<“qTç0ÝÀ.æLó*»ñ9“-zñ:y*áJsZÎ)®1g-?â‚x‰¦`ˆB±z :p,‘M4Ƶ&w«^µÄqu“1U&R¨¥â´fÈRF$kLüË}-JP½Í[-§Ær½Ài,iÖûÈ¥˜HÕ5_2™Š ° $›@±ñU‡I©Â¸ZA®%lT÷h#šÎfyD£>Dd …±Éîò{L';¡«ÓqNõsé³¾<Â]Ì!Ô•ueDYY 4ÈM…д˜›UFZ‹ù°B0²É†*òæˆËÖ-,+dÃ:¢.Æl*tÍ´RLRQXÖl¼ºÅ²f3¯•0+ç«w¨åcS—0Ñ ›’G‰ÐÈJ™+!—r:ö –b "̽k/ÄKle‰­xØÊ’ª3¥VžP-ÏPÊ –î±®•e¬|Î4©@£ Â8ø4Sm¨5ÇTÍ1 (¤ÈdÈd«xv„ÒˆÉUÊÊq¶•ˆ(G_ÆTf3¤IŽ=ôÉR MÄ+)bò\ =Zá/²É=‰úhL}4Æù°m;Á>åÒœº>¢38¢»¿Gwµý}”VØV;*bGÅ2\±@•bF¢Ê<.slpämrämÍ5ê£!ÙPB˜3¾´F_¬ÑßZc¸ÝA) )WŽoòàñ5ÖŽX?8¤1@œ’$I /u¢¹‰‡Ki„±Ã<ª ‰–:$PŽ@•Q‹ÅË‘½CVÈôõ6×*² ÄÒyò5Ȫ‚ÌC„ø‰Éž¿Íá| yÝì„y—sÊ]4%ÆK¶Œ}D» Ñ2±*¤m‰´.‘ê‚07ˆCt®$ò)÷ÌHV¢¯Ø*ö‘̤*}ÅGÖrŒ$¦6Ÿ°>?æ2·‰Gþ¨Ä(n¡™ ©¥P±¦¬kG\7YÏY¤.ƒ¸ÅíèKÏez\f:r™Ý.3ÕË,d—¹ââË6¹"V¥>Ão˜¦ETÃ)íä˜vqBEb–#Ìn„u>¢°%Ær•q¯ÂدÜ4©ZS:怚õ"®¾`w¸ÃÝá9v‡;xCéBŽšÆv€ÝñQA0³Pú)b·Xe'UïýWÑÈÕÊÑÓÓ‹pÕ%BMM0DÈþBãtܦ7^c´Íìv…ùnïÈ¢@¨Œ™.³\Ê­)åê”ruBYžbÊefÔ!“±,\ß/1÷\–%‡Ó¸É~¶M‚Â!Œi` yQåiV@5gÂúÖ1Ò1ëcÌ ä?ý_'œ ¿üãÔë«Ô§O<ñï~÷»ùÃ?üÃûmo{ÛÛøßùûÇ?ÿüó÷×MÓäøÛÛÛ÷Û>ó™Ïð…/|á¾(úèG?ÊßþíßÞßÿÉO~’Ï}îslllðÁ~Ç{ì[ ¿OúÓ|þóŸgss€ßýÝßýŽûòõã[­ÖýõÇœ~ðƒßéåyE>ò‘Üßw2¦?ÿó?çÿñi6›|ìcãïþîïþõáŒ3ÎøŸƒïaἦ€a±ªÃ”I0RVI]Ê ¬IpI_uêÄ™¾ÓàEq ]Z¥p×”˜nqˆª§(¥%KQ²lUþ°K>•ðoÛHjŽZKÑ7#¬ØGU–,HP‰AÄ J`˜``WÀV^ÀX‚¾Á8ªq˜®#‘0˪Æ›…›ô‚5l±¤©ž²f@d§ IDATqN»Í¦8`-ïÑÊúy@š©0pW‚ç%ò=•q§ßq8io wBD#G4sD3ÃiÎIæÑTg9)‘LtĤIŽ˜äH“œeÙ¥tyAKïáu Œ’G(©’Ž/YL“U‚“ycyƒ¡ÖÂt<Œ†ÙõÙèìsÎÙå\esõ=v:{ìO¶¹6{본>{€²3áJvƒ+ê òRNCb}ʃ9ÚQŠºHÐõMеÏ´(Ê ‘k3w+Œ¬‹~•ðÀ&Û×ö¡Ñc·B6ÛG<¦>‹FŒ¥úئ‡îFŽ·c1Ú®2Þ®º*VêSÏ&˜iˆ7±y!xˆkÁC¼<ÄA¶A½uJ#?¥® hY§´—CÚ§§´wOi]¢%1rž¢ä)J‘¢ub´ím'FµSlÇc]?Ä2lè{œÐávtÛñîD𠓇œxÈ~¶Õc£û)ø9¡亚šRø1(ã{Âo>Çžø4FcŠ$)G’s$)‡T.••-Š9è§1úiŒvÁB Š«à®Í¨ë#ºóC¶ïÜbë™Ùþò‹Øç´WK蚄ޑH PÂd,ªôâ5ŽÂM'›6Éz›{{¤{2Ú~ˆ1ó˜_pxéüžÛy5·6®òÀÑu8¼Î•£[Âø/„pÓ»J2R‰•$¼gîÊRW¥(K+šÜ³t3¦NXO8—ߦ«žPs§Ô;Sjþ”X×ùÚâQž;y”Û·.q’t)už¥ÓéóhçY®4nòåÞ÷£ïE,÷öö·‘ƒ ÍN0;!v¶„XàÍbä~ŠØ+ :@C¬–ÔÅÎѲ s#ŒZcK¦äsºlö-zëÜ8xˆd_%9PHŽTŠÓ‚P1Èt…¥ì2È»T½íè„DVœ ]©2£Áˆ#‚ÂFJ ¼È¡ç¯1ñª,C‡Ó¤‰šG,±8a  dŠ{´ O–í±½½ËcÍçxÕ•¯QÎæü—ÿz <ôÝùÎûáëÀ²¬WlKÓôþö¿øEÞþö·óÌ3Ïày«ì9ß[Øëõ^&¾vvv^v¾££#xà—µýk±‰'''\¸pá÷}»¾œ;wîþúùóçéõzßò\ß)Ýn÷eÛßnL½^ïeýøæõ3Î8ãŒïYá§•CìË#Šª ñé\"Hd²€šNZJAFˆLŽCˆÊŒ¥|A)]àf ô4BJ3¤äž¥ ú"ÀM¦ä²„jÆ  ÜbŠDdc…<2É2a Ôµ3ŒPmÅVPlleÄB'–4âH':Õ “I©ŠZŠIKòê&î0LšÌã RQK*¹T ¤„BdxœŠ: *‰§3]”8¥™ØÉv |“pb2.ê„±Ž•®¢LÃÃt=Ô$AIrŒ,¦È’L%Êt¢T#Nu&y±¨2‘«L´ BËf i›^Þ¥t¦Mfr™À²HË2r%îz”kc*õ1qB[ëѲz´*}G-"4‹&·–—¨ÍF”æ3Ú‹’¥JŽD:R}‡2ÙB%*™7G¸žf± K¹ Ì‚µà„Æp„;X ÷bÄ1Xr€á„Tò ¹&ˆMÈ6˜—JœúMæ•ãv™Éf™Éù2ª‘°vÚ£1±6ì‘MU¦~“`=ˆ) r‰BP€@Rš!Ç)j˜`. ?ÀVK)ÌÁÐ^¥ü/¬ÅJ0,ÇS.‘'‚yâpœtXä%Ö¤cIEÏ"*þŒTRHe™TRHdõ"®È‘Š‚Â„Ü…¼*È›‚Ì’‰K ±® ¢Š 9Ï‘D†œdȳã4@>M‘GÒĤ%d©Š™T˜Ð‘zìÈ.›éÛË}¶†ûlíã˜1ƦÀœ‚±Ì =¹Ã\q* R“…pÈÑŠ)Ïѳ%K d™L¤kx5“Ùz‰É¥U½H=©O†l‹]bU!°u&T Ô6=«C”êcŸîî ª™¦&Ajâ%ÎÊC_ÔI †J$A.IØê’.',$qO| ’DE9fPÏh3 ˜ôNuã·ç—9¬kGÌu—TSÐäÍŒ©0Æ¢J’È ý:Aj3ÍÊÔ½ ËØ!À Ñ„š£)Žº ¦Œ° IÎH Eââe!&©¢Pè-%b_ÃZ,.ùRBMSªÒ”ÍÊ‘«Ñ©ö(Ù d5%2©"“ ©­–DV /ct/† ¹I ›„¤ùj¦`*fP·†´”SœÜC‰r’Z •s”NJ!$”AŠœgH~Žˆó•Øžf¨rŠ'(Ãiž#Â2^ïw©¸ÿ7@)V&¯,“ IcŠË€&åb†”¥HqŠE€Dކˆ¸ Juæy]±t£¢×B"Û -‚Äd±pIç2’›#¼¬’ô¨iŠ•…”Ò%™/“/eŠD€B_ýoÉd(i†š¤XZ@¹<'YR\’H›2‰*“z2鱂äXz@µ>¦»vLUšb”Î26þ{ó“?ù“|øÃæ‡ø‡q]—år‰ëº÷÷·Ûmööö8þ<»»»/{}·Ûåé§Ÿf}}ý;:_·ÛåÎ;\¾|ùßÜ€»wïrñâÅûë_ÿûV(Š‚ïû÷Eðh4úŽúø¯©Ó鼬ÿý59ãŒ3ÎøV|Ï ¿²2ã¼õ"qYc±î°ðæ”:È$ ìfp’¡^Ž0³Ëа»!RX,4&ËóEiž"ÏR¤Ùj©‡1f°Ó¾ƒY )4 ¯ºJG0Ù¯ã+*Qœ‘vRL#E{8£¤/põ%=ÇR`tÚdxÚdtÚ`xÚ$Ê fY•"’|‹À2YÈe|Å!SV1Q§ÓÒt o*±—u°­ËJ°¬UD™ŠÕñxÌø*—.Ýä(Ùà0Ùà8Yçx´NšªDsƒâD¼¤R7ÆÔucHcc„ײzMN½&C¯nûdkó–CÏè°ÈJ›†›[L‚*fÒQúœ¯ìaXR=E”R$-E"EÕc|ÇàDt “;ÁýÓ‹¼Dº”‘¥ ã8¦dxT¥)£“&ÃãÕµñSÅMK J7©…“-xlñUŒ¯q~r‡sþ]Å¡d–Dâ*¤™´!3Ôšô’ý¨K/ì°,9D¦J¤*D’J9š£Œ œ=ŸæÝ1f?d-9æáôyìÄã¢z‹XSˆË q¨p 6˜5ªÛ8]Û÷éŽY²²¢Æ @—À,K­Á©Úd 58k«t÷…‰."ä,£”,°£#‰Q³œÐÐX6 Ãa!Û8‡½ðqæ"B^dHzN± IMbn–8­5V› « RCA!†aˆcæc¦sŒñóî£ï£é  u@ØÎæ‚n£GbÊh„´õ#Úî ­æ‚êzŽYU/P2-Èe…À´˜™UúR›©RA±:ù1emŠfÅl•÷°×<¢Ë“ ŽØÔ7Æ\\»…íøìtïP–ÆdenÔÍj æ-ú³&ƒy“@6‰…F÷øˆúxÀÈir\Z礴Á±»AìhŒK5öM\gJKïã§:ͬÏ÷§ÿÂåø:b"‚4+¨zc*§c*Æ„ª>FöËE™þ¢‹ìçßðÔå÷n(10ew ©¦ài%Fzƒ#m“¡ÒÀÉ*ÊŒfw@©=GÈ)%yštÀ%¹DÉš³´nWè/; Ò6‡ÙC©AbÊ,‡Ýd1/˜ôkØ‘GliÔ­ÿ»õ4¢‘c¶–äeÁmýûê¾ëPiOyuþ°^„ /³ÃòGÕu«V7¨(S6¤Ãû¦8 QE#*·g—Øå<¥x‰£x”\!åL+¢M…npD%aKFA/O¾›'—¹Ë9î˜çžkPì²K2ñŽFP3Yʾi5 ’…b!V1×"?…Ý”h‘ѧÌMw!§ Ì|H=Ò†«ÒY€Sò(mÎ)WÇ´;}Z›ÚÃíaŸÙæÐÙàÐÙäÐÙ$6tæ”!*g&³E¾¿Îž7ÃõWñ­ùGù^ÍD‘b*î˜Mí+é ¶ý=†v“Óó †j“áFƒ±YclUjŒ¿T%lXÌZÍ­ æj‰@œrVÉïß— 0 Ã0¸{÷.ïz×»^¶ÿ§~ê§xÛÛÞÆ'>ñ Š¢¸Ÿˆåëüâ/þ"ozÓ›ø½ßû=¶··¹~ý:ïÿûùÌg>óŠçûéŸþi~ù—™O~ò“”J%Þ÷¾÷ñáø;ê ¬¦¯þÉŸü EQðÖ·¾•7¼á ÷÷U«UnܸÁÕ«Wï·½êU¯âÃþ0¿þë¿Îd2á­o}ë·½&ßnLoxÃøµ_ûµûýxâ‰'¾í{žqÆgÀ÷¸ð»dÝÄ/,km$ *Ù=N2è%p"fJbÚ!¥N@™ ´ &Á©M0°à¤@ôRÄI†8Né”{œßÙegç.çvî’ë ·ç¹=»Èáþ£¬†âz¨]㊇é,iÉ3Úò„–<¦š/Ø}áwã $*£ýQl0‹o1YÔH« ±«—42W&œèœÞ­ãÝ‘èÝ-¡Gj]BiH¨u‰RÕgÛÞe»½ËÕ /PV¦|FÓWZè„h¥m-Än/YõXŸpyq“î¸Oy:à æ”óB+È,™¤¤V5¢†Æ‰ÚæF|•ჼ\ųmd3FQcd)¡ã÷pFÝ1És*Õƒ)kcã±Í#«Æ^i‹ÝÖ&»Ñl€)AU¦èÊK\•^à¡èk䣔JÐÇŒR($Ð$ВıÈMöämv¥mú´™JÕ\%žH=Üpíû˜Ë5ÌH]•EÉe 7êušÁ1a"ŒÓ¡å6ä5AjILM‡}ÛÆyîè牗ŽXàŠ%¥tL9íãŽ%Êw#JG>Ö:X µAßÈ)ut=T+¤*F”õ)•Ò”rcAy½@­¤ƒ”ÈSVÉ12‹©T¡¯µñËöèhS¬’]÷pÖ8GšLSQ‚š3Fv2:ö õµ1åÊ„l†~ÝÉ//r{t‘;ã‹TÆc6GwÙ:Þes¼Ë¤TçùíÇÛ“J¸¤3v«ì»ˆrÂÄp)åsšYóù-ìÈCJV‚O Aèy„ž…èyˆžED…Å)]<$rÐYÝý¾î¹ŠY%$¹7M2 KÍa¨79Ò·è™m*µ)ê)kÕ#jå!B¤¸bÊš8 ‘~î°ÌEoé°,l–…ÃRvH …¹ìp7Ùa<¯qkp‰nÖcGÛeÇÞe§»‹Ùñé·›ôÊM^2.à)÷”NqÊUã&Úx%øÆÜ_>Wz„¯•#v5NÊ]*ú”óêS¿ÆcÚ×ð%“›\æ—¸=¿Ä,/£¦ š’ –ÌR€«Lq•]ù= ˜ßª0|©Î“ ÌwËÌ:efí2óŽKÞ–ÈÖ$âu ¿j¢Ê¡i6uÒ•¼VÙÅO<ÁOüÄO°¹¹É“O>É_ÿõ_ßßÿ¾÷½7½éMlmmáº.¿ú«¿Êç>÷¹ûûßùÎwò¡}ˆÇœããc®^½Ê»ßýîoy¾§žzŠ'Ÿ|’Ç{Œ¢(xÏ{Þó÷à‡~è‡xøá‡Y.—¼þõ¯Yr˜·¿ýíüàþ ËåòþõúøÇ?ÎßøFÞ÷¾÷ÑívyÇ;ÞÁg?ûÙõš|»1½÷½ïåÍo~óýkò¶·½íeqgœqÆߊïYáçÊ3.ê·X.R%'Ju¦reõ+þ4ƒ ÃCÔ¦±åãø>eáC*&éLÅ–ÈN€ýöRØË(oLQ×#jµ!;Wï’ ³»Ž–›dS• r°*z;Ǹ˜â®ÔÓ˜V:e==¦œâ›Œ•*z°†Ä…F,´ÕCfÊ*íy ¨®¶ã¡JvhãÝH7LD”C×_‡D§.Ï(•g\jß`{k—s•ÛÄŽÆ,/ÓŸµÙÏ·É}iUÈ9“HSYË(7g¬)Ç\ªÞdj—)Š‚¤PÑHs©Èðr›“ K)Í7éÍ» ç-òHA·ºz‡­çyÔz–VçTo0ê Ó:ždã6KÓÆ6£j¿d€ ¦æceú§KÈ5™P1™eFyƒXSqÌ5sÄG”™}S”¢L€LŽË›%9ÒªdE9†,g™›ô'-îŽÏóüøQž›<ƹ»/Q FØÑ‚‹'7Y,]¼ªÃ4©ÑW×™Ùr®ÃI¹Maælç­¼ÇF~ÀZpŒ>LЊÝOÐÆ)E,È#A¯jÌëëÔ¬1es†c.ѵIÏÉu‰ÈÐñS“"ž€¥`‘8xò×ËyXŽÍR”˜W]ÆÕ ÕÍ 2: Rö½sŒü‡Þ&{þ™$#”!g%'ÓefÂe™—è…]b¡ÓÑz¸å—º7qÖD®Â®±ÉnqŽAÒDUŸe³|̦uÀõ#‰Ü%‰Ü‘ƒ‰[¥WêPv§4ÍS¶ô}®/ò*ý« Â&ýY›hfp8Ûâ0Ýûæš3.»7¸äzÔÜ!Í|ÀÍø*'[Üô/sûèÒêó°vï^µ¢R5G6W‰‰4-Á*ä]! U§ù$&÷#¤"a¹Ð8ôZ Ã:ƒ°Iî ôEDm1ÃŽBòª‚j%8ÕÊ€ Þ-öžã1ï9ÔeÊdYe±²Hñ ›4Sb +›æHÃqºRó… yc3kÕWÓû[É€ítŸ+ñMêvz³FݪѰªÏ ¼Øáô°8IJŽßt˜F¢‰§˜„Òÿðïºïÿ‘÷ÍǾÒë¾]Ûë^÷:^÷º×½lÿ›ßüæûë–eñgög÷·oܸÁ'>ñ‰ûÛ’$ñ®w½ë½s¯„ªª|ìcãcûØÿkß·ë ¬ÄÝÛßþöW|ïw¾ó¼óï|YÛ«_ýjžyæ™—µ½å-o¹¿þJ×çÛÉ0 >õ©Oñ©O}ê~Û“O>ùŠÇžqÆg|3ßUá÷ôÓOóéOš;wîÐh4ø¹Ÿû9üqò<çþèøû¿ÿ{Š¢àµ¯}-o~󛑤oQ*±àw™De‚¡Ä䎆v×€=K‚L†ºŠÌÁÆC5RJµmúD¦A^Ý‚âBNqZàZ Š®Ìa¶M¸ë i0ó]\gÆ#¾ÊyùQG%nj«)…‰Î°_%îäoaõºßÞáèn‡¹gSXbõðôÍ–³Ê 8\GOcœd³1ÆiÑÕQUUª ¥ªOµ1"kHôì6¹~ÃÄ=7åŠ~«é±ÈJ,ó‹¬Ä"/Q4 ßjñ|ñ³~EΈ3•z:ᲯE:¡oøþI¡RX‚ŽÙ£mõq*¨7ØQïRVg©ÀÌ"ÊÁ˜"ÂÓL|ÍÂÓ,|ÍÄ)û”wæ4óSÖÜ#¬y@‘ìÆ;s‹%7ÕËìW·ðZ6Z%¦½ÖgÃ=`CÚg+Úç\°Ë–¿»˜‘{S£Â¸^cdV›U<ÇÆÓ,¼™wÓbZT™&JÖœ6^@QR*ú”r8¥ÒŸR÷‡tô>æ¶ÏBµØ»°ÉÌ«0ó+Lý ©F¯ÒâÄn©:.3,1À”#L%ÂT#Ε_âbçEÖÓ––Rl«øk%–eOqXD%¤yNg6Àž‡„©AnÈd†DnÈhJL+PR„®Fßl&:ú8¢Õâ$j‘®•8-FV ß°XèËÀayb*:‰¤Q•¼Z•åŒj:ÃI=4)B”3¼-‹žÞáfë ÒÅÙ(È» [CœjD¢kèš.è"@/BâLg/Ý¡—®aÝEŸî¬Gwܧ=•4¢†NXÒˆJ:®ajKÖµ}Ñ-*Ú[Ÿ³Ô îè[ôòƽ„)I¨²ðJx“ö´Ïÿ:ù"þÌÂ-O1›§q “yU ‡%f e1rš"RP”MDhjˆfD¸•9ÕõÕxFUžÒ§tÖO`½`o}“¬,q3¿ÄÁt‹ÓQ›‰¨qb¬S6—èFDhi ‹P²ŠU¼Û:žjÒ¶ù?*ÿ7McHY³TMn¨xmFLö+Ä{êʳYy¹² ×y&‘I2¹&‘[EY¬Ä^Á*£p±º_¹[s6·ÙNwÙ2v)„…I$™„ŠIPÕðÏ+ø5ï¢BX($ex¦ÿ‹ÆèšÆm­K¦ÃH«Ó6ÆLp™âbãq‰[4•S=aÍž²Á±ßf¼¨à™dG’£¬%(Z‚â$hnŒa„å£R~ÝÄ«™x–… rÒ\2±.ë ±¬¡“º2Å&Hy‚Z Q›òV‚\ÏÔ‰‚o2äŒÿ‘<ñļç=ï!Žcž|òI~üÇü»Ý¥3Î8ãŒïI¾kÂïK_úüÇÌoüÆo°µµÅ?ÿó?óÞ÷¾—Çœ¿ù›¿aŸ?ýÓ?%ÏsÞÿþ÷óÙÏ~–׿þõ÷_ÿuáWŠ+L†*Çw Ô¯YpK™ s– " !î ¿’¹@&G2räjAÑ…Ü>ä¾ Ž4¢Øä0Ùæ¥»WÑÕ˜š3¢V±ÓÝEr2z¥6}§Eßl3IËŒú&×,¤k ¸‘²X4˜Ï›Ì—…ù Â/äe±:š“PY›¯âZÖ±k $C ™a43¡lÍȬ•ð[¨I]¥¬N±çÎÝ¡—·éúE›^Ñ¡¢ÍŒ ·Wh'}6âC6â#Ö£Cü…Åñyn/p0Þ&RuÖϲvîˆõÚ!kíc: èÐÇe†( Œ$‚¤ÀH#ÊÉß6ñm_˜øªA¥<¥±sÊZùˆÙvïÄÁ?´¹{°ÍµÑƒÌ¨0l4UëxM½Ñn ¸êÞäéY.†·¨SªÞ„òrN¾”˜8vë[Üíls·»Ã"pYúËi‰åq ÝŠ°\’;§]:¡Â”z8¦Œ©Í&X‰¤eH[ËM›AÐàp°ÅÑé&ƒMa›¼ ¹ ¹eft¥þÊ”u@ÝRë ©i#¬J²c㯗•œª òPÆÅtŽì DEYZý¨à p@h9’–š:(ý}c÷|”AƬá2kºŒ5¦ —qVg5ùMFÓ:e1gC>dC9d]>$P-né—xIséikä˜ º>¦Ø8‚Øgd¯³g_dϹÀ@ïryx‹Ëã—0†1Ãc¤R†äæHõœü\ù*VŽxµÌS‰$S }åeA&A#GB"Gã^ÂU " Ù=ñb0/ÊX^ˆ|šã |šƒ1s†m{hv„¨dxŽÉI³ƒ¦x¡M]S1–lé¶¶À6t«=vÖ÷ÙRÙ)ícŠ€¨©7TöšŒ•*û£ö'[œŽ:ÌÂ2Ç­%Z+&×af¹Lô*S¹Æ´¨1Ij¸bJY›Ò±¹R¹†¬§HRÁB6yQºD?ëp8^gr§Bò¬ +ïÝÐ…B† °¥•W]–ÉU‰Âº÷¹­ò©Ìà·¨ IDATF€(p's6ÓC6^àÑÆ³èYDš«dB!UUæ›qÍe$ÊŒ$—‘Wf8põ]¼›.‹È í®1êֹݽL¹á3æ8Åœ6=yb$Ì›}}“þ7„_~MBªg«LÀ­Ý °%åòª£Í  :C½Nf€¤ä¢ R!‘H±|Oô)ÚJø•eŠÍ¹”¢nF¨V„RIÊ)BùFÞ3þã¹xñ"W¯^Å÷}~ìÇ~ìeÓ+Ï8ãŒ3ÎøÎù® ¿¿ø‹¿à—~é—î§U~Ík^Ãk^óþáþßüÍߤRYESüÂ/üúЇ^Qø™q•“¡Ž{ÇBûªÏ¬æPjPè`ØHÌî ? Ç\â˜váÝ/ú›!“9'½5n¿t‰ƒ—¶¸³{ [òø¾‹_b§{—G.|•JkÂu@æ sQ¢7káõ,ük þüQV¥ “Â0Áâ‚Ϲ·ôY=LÝY™¾žPi.Xß8eç‡ö©n‘ÉD¾ŠIb4b4ú¢E ÑR¯h0¤Ê„;ÅyîpŸÁtT£Úb>¨0Txpy7ð¨ÏóÁWX¼c—›Gpp¼Cà´ã>jï7þWÛ×Ñ“=NГYˆ„¾‚DÇÇÀWuËÀ/›ø®E°câ»/çºò»£®Íf\Ô)šjPœ¸ksÚæ€+æMþ7é_x8zàƒX$K•‰Ra¯¾Å×.<ÂW¯<Êü Âb·Ìâ¤Ìb·Âfc+êuÚc®lÜ`=9¢ÝÒšiõ† `Ø©1lW¶kÉë\¿ó×wâÆ‡8oШ hØ}ê€&}¶Å>Wåy@¹ÉUõ&²›!´* Ö U ¯ë2*79T6нˆÍá½›7©øshM(š74FÕ*#³ÊÈ­²Ðlý ÎxBý¥ µSn?xŽ‘U£·ÓâöùŽg›68žnp<ØàRöŽðˆvïSžÅ7,–f™ÛÖezæ:žiÑhŽØÞ8¦0JÕc”mðbö_N¿Ÿ—¢KÌO]ôqÌÆKG8/— òË×!¿  M@Œ¡˜Ü~¹JxÏã—!£Q ­¦ùc`bàab0+*Ô¼)Ò°ÀÙh¶fØ]ÝYyü|ˤ§wñ4›žÖåBz‡Wϲð*ÿ9ÊbÆX­0–ËŒ¥ GŽl½ä×¢Gm¼e }³6>DçT– ›Ñ• £¨k*&KÖ épD€I€É‹Sj,q˜ãÞ·ÒÉ’ÇÏqáîm¾@ítÂ×6æ¹ÅCÜŒ/r›st9¡C“à›<~rš!PÕSø¸êŒŠ9f[Þåaåq¯ñHç !¸é^äfé»î&{ÑýQ—Þ¤Ëànâ Ç…ACg`6èikô¤5úE—^²Æc|…W«_æ²}ï«|‰…æpÂǬqB—“tÞh%üâg´Õ}gÊÊó'¶ w¥•ÇOHdšDn (³~÷c ƒ.Ø2y¤yÿóüÓ”Äbå ”&v…Ãz—£{¶?ê ÿçþMHþÅdxì2z¸—f ½-ñ׸Z¼@›.q“DQH……î0¦Â±h3^VðWÂO^ËP[fêa9Kª­1MNirJƒ!E.гM² –©ER¨ ä² U±,£¡¡¡‘º E ¤µQ‰‘E‚,­îÃg¢ï»Ç[Þò–—Münñ?*ÎñŒ3Î8ã?Šïšð»yó&O?ý4O=õQñè£òÖ·¾•õõuÙÚÚºìÎÎ/{ýQoƒÏÿçÿ…éÔáfoƒCiåÚÈ „öÿ°÷f1²eg½çoíyˆó˜Ó9y†:5Ú€ ¦º¡y0@’âYâ‹'„å¶A`aÉ–-„eaÉ€! \õ  –%ƒn·Ú»lªÊU®3æ™sÄž§Õq|pùÒ`]Ü××ÜüIŸvF掕{G¦öÞÿõ}ëÿ¹ÓD˜ÕÍ(ŸÄ·L6M-@ “Q>& áÒb=¯°š{¬f±ï¢G17Šìõ.pœAoˆS Y56©ËhÖe2o°˜¹øS|´µI·žÍ1Ú9º‘¢ktC  ±a6±î­m¼dCÓ™ÓڙѴæØUõ$ââÿªsÙ­ ª Š'Pª ªSbê ¦þ¸tLI |—Ø·ù;(aÉÒ­³¬ÔÈ*:^eCÅÁB]ZÖ×÷¹ÐügåfÖxÅyžSgŸÀqQÔ5*ѧ9Ö£§HÑŠ½(Pr¹]›mCD"PÓíÿÔAqJ|Ya‘6¥.ÒgËNÅ5f6É¡‰¥ÆÔ¯/hìηkõ)uÌZõx±ø~΋ê΂FoNC]àv}ì½î`ÄmÏBU2΋=.’=ÎUCË Ü2¤½Y°31È/©/Ö¸Ëm‘#-®g˜•­{ c…Tê>ÕÁŠšXtmZ½ ö%=û‚.cT=gæ6yMÞa¬u©¯VÔYROVÔ“%ql±ˆ ã]îÅ·‘¥Â…µË£ÆŒÎÎŒ¶?§¥ÏhFsZ3ŒiŒfÅè¦iB¢&ÄdUYv+œTötïvð«.¨‚Z´@¿Lé<qûÁ«È3žv¾Fß=Çr"¯ä ~›åWÑ´ŒHZÜœ½Îõð>µp†Q4ë—Ô×Mªö†¦3cSóx¥ó‹°MCŸÑXÎiܛӜÎÈ …\ÕÉTƒ¬¥3q›¬«Û$b+è¨qI—m»’‚\j\äFùù€yÚÂÊrêú†¸v ;дÜÊLM*Ï©Ù6¡ãÚ ­ÅB6YRgiUÑDJ)ÀJù’Lš ³ N£fE©’×µ­Ó¤n ,ÊC1H©™4¿ 4mBÍ&T·[UäØD¤xlhdKÒÈ LÒȤ2 8,Ž´Æ¸Ï°'É:¡¨°ºh°PÚ´œ%º]PwÖìÙÌã.ák“ V’<Õ‰ ‡M^P¦*Ë|NVHc+°µ%+PËU–8ZÀnåŒnkJß#suJ] ¿îpzz€âCÏ¿d_¢T¿Ê ñ€›{žÓô—HWÁr4·@º½’Q?X |_‰§o(cbŒ~Jµ³f·vÆŽ6d7â>Ñ`Zëcî§Û‹í˜mßBSlëë +iKJ]Rj)¨iAˆÅLk2Œö¸7¹ÅézÀ¥Ue}èQÆÚ¤Ü7{e_%7–k‡á¼‰ÈEDÙ4)›eË lLj=ÖתÈHâÙ+ÌVLóΔfFÓœRëÇÆÛ@À¾8¥ÎŠëâ˜"ÕhϦ¤›W×/pîï³¢ÆJÖXSeEe£ÆºQCm”´35 * O&9^áŠ+®¸âŠ+¾Wù® ¿8Ži4|îsŸCJÉ_ýÕ_ñ‘|„O}êSßÖû‡£=þÏÿüD™ÉeTc¢Ôñ÷k0ðU¥ª¡x ÖRŠˆvLÖ­*B”è3NJ¾tY>ð8»7`x·©dô[sö[CzýN+¦lIÊ*,Œ:›ØexÞçò^ƒÅ]ÿBGóJ´jñ|Žî8j‚­¦8Z‚£¦,×MæËóU‹diRËWÜprÛ¹ÇS»w)(Ñàâ¨Áð¨ïU{Æ6vuÌnAÛ¾¤ãLh‹KY­ê¬GuVã:ëËj?Géç¨ýÏÝPÕ7ÔÜ556Ô5©e²1=†Ú¯‹;L£6#·ÏÈí¸.U¹FKôIù0ÇÜd¨ò}åÊmÉW¶L5Ù†B‰®çàHÔzN™jÌýý[|=x–Ѣϒ‹F“ô¦AÅôÙÝ9åæÎnvïS«. s—UQå<ßAä’ÎnîsØ|È^a×}µst/¦Í„»Å5‘a…Ñzc“á­Z vœ1ýâ;бâ-*Èk*š—c´ì<ÂÕ|¼êVô5Ü)I¢ÑñÆô¼ Î=1"3 ¦²Å…Ö'· ö9å0>æ:Çx‰OY,¢Ãx{ÑmÂÒŵ"*ÍŠ é­.yÊ¿ËmÿÆ$¥…¨E‚Q€Y¤˜"$îÔYvêD½:Q§FØpê6aÍ!©sz—çXbŒ—bºrÊ^}D¿1¬Åèíœy‚¡¥ œi¦Q?½¤q6¡v6C cZ·ÆÞÒ±n%ôkc2×bÓðx)êðå⹕Þãöò·.ïÑÈ–m•`à *ø-—‰×bmyÄ–ª|ƒðÓ#Â~¼Âo‰4™d=.㓸Ç*ªSÏ|úÆ%QÓÉ‚Ûñ}¼©Ïõø˜û€G•C޼ë,*mn‹Å7¬õ:†¡¤3M±Ò™kÔå§ŒÐÊJÈë*‰¡õM‚È¢ô¦— ÞÚgeUQ¬’ÜÔ TU”„hhä¨i¹uKÔ¹ÄÞÄ´ò9ÍöÇ É3T7 q·ÂoÞ"mŸa´ í5{Ú9£x—ZðXø-%Y¬e.Eª'6‹r†WIb‹2VQÍ aK”¼D•9®ЯL¨t<%Dñà,Üål±Çép—IÜaÏ8c` Ù3†ìÕÎh‹)íõ„ÖfJc¸&iÚ˜µ[€ †—P¿>§j­(v5Œ<ë®ñª~žáñ Îõ]xƆg(*jFZ3°DBÛ¸Ä k—³ó}Žîßàäè:[c:嘎3¦Ó›³§Ÿqàœq Ÿràžrb^ãEí-¼Î¾Rþã°Oêd®NæêÔ’Õ? ¿2Ú¤ @( Äã—ô›"U/N¹}™ uæË6·xqþæY›¼¡RÔ57d·=äùÎK¼µó¸–ÏKá÷óOÑ/%ßÏ$ïðçÉš ®¹¦g±µ€žšÐR'äBCÍ%aRaì ¬ ô(£"ZrÁ#:åäItE–=­cî¤ØYDEóñªkjî‚zgF&UÚꘞ2b žÓcÌPßãBë3tö–»<—¼F±Ô¨°‰us›ñ‹v¸ßbªuPLP›Õ–ì:çøgŒiÊÎÅ9ñê&AßdX›€¤4Yþ`•ËJ•qÿ€Ë·\GÑŠmw­DQJáœþå9½‡Cú/ŸS%Àéd8Ý«“! ÁvBß‘ÕuòL Ï2Ê—2ä?ed …ÖÛ.1µ„NÆJ?å®û wOs7†{Ê~èì('*õáŠ[g(nê„ÂeÑ«1k5˜Ô[¬D3~<~ kª$X$˜$˜„Òažu˜Emæ~‡ ð0æºqLd8Ȇ 9^àù>×&'d#—­Ðj%óz‡¨æ²hJís«Á̬áªk*Yˆ•DT6!j ue£ÄèJŽTEM%ëéD¦IhZIŽ‘$˜I†±ÎÑò’\jª‹”…›÷ñ='‹p×1Î8ÂƘq‚VÍÑÚ9Zµ`©¤S“`Za}Qgé·Éö-ô´ ¡¯Ùõ.8ŽgTà æ72~‘NùXô‰¸d)'øY•$³(3M‚’•¨yVT Ÿ}wÈ8åšs†å¥üã":Üt›áÅ»ý ýoé¿ÈUÿc“¢o2´uŽ¶ÎØ ªXyŠfÐÃK±Ì5ÖNŒ•%Tåš¶:}µr…¦Xa‚¦$‰Å™¸F­¶Æª%Ûµ€ODÛ Ÿ†@zP8‚Âä–Bi)”b+þýÃtÚæ$<àîôi†å.J=C r”z†áH²\Gæ*J.(ÁjeÜo0zI¢½b¡þ°ƒ–Û¨5í†^+М}/ÃËWt•ûú1‡ú#õGXÄ„8DØ„8¨tØ–Á·™A&øòø­\~}À«_yW¾ö<% R*”RPJ…ÆÎi”3êµÃgÿÇ‹\þý]òÇòQ"ð_<…8àŠ+þÿFqUZzÅW|Çù® ¿û±ãsŸûï|ç;BðŸþÓâÎ;¼ýíoçÿðùµ_û5ʲäÓŸþ4oûÛßðþ žù}47Çî‡Øƒ»¢w3’Ú˜¤fT 2W#ÍLX ŠL'M-gFê˜HGAu 0 ÷tâ–¿[eSKñû~·‚ßtÈ«3­ÁHëq*÷9“¦fe­FÜs¡Tñvbz½ýöŒn}Le¬ …eÜ`³ª­m²@GÆ‚D1Yi5FnŸ£æuR ²Ì¤Z\WΰdŽïvÙä›i5s§ëNJ¤¹Œf;Ìü6Ã#îšuQ)ч$ÄaB‰ÊTíé:+`Ï9£æ­·Î~1A;›rØ|H£9G4%¾ç"…Ø>Ð)¤@÷s´ CÏsôëv¤fà•M€TÂg´ÁÈ3’†Íäv—(ññ´€jîSLJ2O'혤ªMn(Èfý¹ÌÈj*Ën‹•ÓbE‹yÜá‚ÆfI½ÅLm0ÌÜ+nâ”>J™£vsÒ†Fêi¤¶†.Rñœ"Vq’˜¢T©¨*ª§øhZF¢™ÄºI¢™„¥½m$?ZRM ¦6íÆ1N}Žldu =ÉÑ ÓOPœ‚ë‚÷„‰ÛaQ©ai»ÑöåŒÊ2ÀTS4Y dI)…¥P°}`—JTV¢Æ™²‡§­‘t–3Ú³m8ÓJ+Gö è)¤–‘o{):QD=Z¡¯ ò‰Á|æp¹1ÐÊ‚j¾]ñçiÐ¥¦P •´4¶eÍ4‹.gê.s³Aì¨õ ¯\áè>º•bXº1H†4ãn n °%”(•µ,BÅf¦¶P5ª• Å.Ó²Ã:«ÅÖÖXÇT^‰ÖNÑ´t+K²-*PÕE‘Û‰…ªÚ:Ò†™kI>׈6ó8@Wst%GW ÍâH¹ÆDé g{±mþãëD›v…sk—׳§1æ Õl…nfhf†nd\h}.Ë‹¤ÉzS#ôjŒa$(u‰ZËÐ’'M!ÙlMSškD‹æ=AáÄŠKÖ¨[k<ͧiÎi¨s:bB‹1*tY•u–eUYG•¥ÔPe#"TQf:k_g>Ó™_ê8^Œã%¸^‚ãÅ´SZõKÚÖ„–œ0øß\þ¯ßÇeÒå2é‘”&ù£ÿý¿Õ-òŠ+®¸âŠ+¾ã|ׄ߻Þõ.>ùÉOòs?÷säyΛßüæ' Jög–ù|ÎÏÿüÏðã?þãüÌÏṵ̈•”æÎŒîî˜îî§2ÑÚLõ“²Cä»°P):ÙÒ"YäD½ Yߢ쫨V‰Z•(×¢ÔuƒÄ©0Ûïr²€[ÐÌ‚S±Ï ûœä{Œ•.~ÛÆ¿ã:6ÚRÒÚ_scÿ”;ή'§ŒæÎç.f;\,ú¬ÇuÖãÁÂ¥LVv‡Ê RÍ`dö©ØK„ÓÜ xÛ³/³NO8‘·8–'Ë ëe“¥¨£ˆ’P8Tß­°q+”]ð—TZkܦS °EDXºy•£ô2ÑP²]æìhç\³Ož|ò0‡Gtº—t:—]ɬ^ßÎv \hÈBàNCÜiHE„èIN¡+dºFú8¢Â"õ òKyüøoUýç€R”hQ‰±*°í„†µ¢g8°p”€ÝåíÕŒêÒÇrÖ‹E»É¤ÓfbµXz ´Œ]ã·í³?;ã`vDc6GŸeDºÍ¸ÙeÜè2jöÈÚn×߆½¡,U’È$*¬ü&‹´MÛ“VL„ ¦–Pg¹íAGBƒ×ÌSzÕ^ºA¡ f­¹^{„âetÌ1#½¿ýŸ“]&²ƒ4BÕä¡wU·BeóYZ’'%y*É…„}öthØ2¢¹^ÐÍif´/æ©ÍR«pr»ÃòУºXпgçpAÿúœÆÎ‚ÆÎœFsA9gþr©²Z6‰.~V!_[³®ÿà¼þúëüÆoü_øÂð}Ÿ7½éM¼ÿýïÿ/ïÃÿøNeØ®2uW\qÅÏ|ׄŸa¼÷½ïå½ï}ïñ3UUÿm/èƒ^Iiîθ¶wÄýûÔZ ¦·)lÒ*y`PŒt”3‰xáí ij"-¥[¢|CøÕU8Ô‰õ ³j‡“ZUÐ%çÅÎ6ÊsÑ okdŽF¶§á¤!-gà ç”ïs^áùø5¾:ÿ>Ö§uüÓÎîo,²@'÷uÊTaUÖȄ΅6àkæsìW¹=x;æ×xÊx•,Ðù§³œò¬Âìl—ù¤Ë*nÅ“¸‹.R”§sÔ§s”Ãï©®¹Á5|c+üæ²ÍeÞç20Žûìd<Ë«<§¿Ê3ök4ŠÅчR…r厠ØY³þÄI4E§ÌUš§KJEAsÜUH©+¤šN¬ĺA\˜db¢n{**@‹íïQ)Q"‰¦–èjíÄÔÛ+zí1뚇g¬ØœÑžLñŽ}ŒQAzh2Ï[œØu0¼ ÓHØmŸrãð>½Ñ„áˆæÙMÏð­:ãÝ÷önroç&iSg`^0°.˜9e¡’DÁÒcµh0Ûø 2i‚.0œ”:KL¶0Æ¢kLéW/ñÄÅ.©j+팎3æió5.´>GÊ!Äu‰Cfn›È3yнÆ×“[©Š Ø~²DS2jΆš³¦fo¨³¦±Z°s:bï絯1Ýosrý¯í=Em8áæW]âU†2Ÿ ¤pyØâ2ßgb^'m9ÔÜ%µÝõx )œˆ›Üç÷¸Ãñú™®’ë*™­¢ë «ªGܽÎY<ÀŒ^àšsÌ ï!7½Tµ`‰µH±Ï¬a‚‘ä(Nâ–Ûl¹yC!“*¹®¢°ž©¬)¬¿¢|MÁKJª¶DÝ+Y¹Ü"F–ŠRb9{Ãný £Ñ©_ ÍrZã­Ó9­{ R’§tbÝ lšQd‘Dú6Ó\¨L³ÎVô•û8EÀê¤w%µ×\»û|©j*iÛ .,Ì(C™H¬G)ÕG>óÐbªwyEžõ 05ÞZ| ‘HZÁŒ†¶Ø ?…­ð3Ö^•sg€j¦„†ÉJ­²²=”<§YL¨Šm1£­Li)3vÊû—ÛÌ´1ÍH Q—ˆp[3/ÛÌòó¬Í2kJ‡Hµ mù á׬0k7¸èõh˜Kº‚ªØz¼`ñØfØÅÖ ø¹ë€ IhQžj”_Õ(¾¬ÂJ ¾9ßf{[9²~V%È=‚¼º-ïü†ðÓ*,i`rîðJø&:ј~qN_» ïžãËÊVø%Y¤ÛÒð ˆG h( ú‚ª±FÕ3”n†úT†çŒpɱ侅Qä4œ%ê ϯ"OX4˜Ê6ã|ÒËHÔ IDATÀ80NPÂÆ¬â —P·¨h+.D“…Ôˆ‹¥Óh ¹vûŒ§ß2äÎ[ΨYkªæšªµÆc¤,'MNωÏ]ü¸†ºÖ ÿº þwʃøÑýQ>ðððT*¾úÕ¯ò±}ì?´ð»âŠ+®øïj÷B°%Bdˆ4BYù(åQDPdÈÊDƒ%cà x…£¡4ÁØÉq³ˆ†¶¢çM90ωjŠZÒ5g¸f€b–dB#“ÛHKƒRS1ª)®¢ËŒZ±¦Ï©DêT’†&á©…ê°5ß§:ÛPúèiNÖÐÈ¥¶=¯\`­ DZÀº¤L ¼û’Ú‰ÿHƒ±oa,môÈlвD„ 6 dBÅ£SÓCb©)–H „LèdªN®«–Já$!·¦(Š,H2ƒ85‘Y%)ÙÙœs8{Hté ÏjµÀì¥8½ZwC5ÞP™ØA„•%èd¨Z0AÚ ‰a²RjŒ²>GþuJƒ±è±Ñ=JC`h ¢Q{*¡e³R=e[â›Kd‰ÈKDº %+QÖ%b#>àËí¤ÉÊ$Z¸¬g5V²ŽŸxD‰MZäŠJ!J© ±NPn“hA¤Ø”ºF`yÌœ”¹Þ (]´¨ ¹\[™f²ÔtVz¨tP3‰êKäFFq®“DÕ‘±FjÈ@Û¶UA"Ôr+R‘””© KtD*·Æp¯¯K 0ì„JÅG"Pí ÅÈQ• KÆÔYÒ—#vÊ ZÌÈ\´¢“):™bà)Y¸F .±Â‚=Îpñ¸uÍ’¨°È U^ç"ßaV´Øä5ÒÂD- „€¸´˜•mÈ%FrnUYÖ=Ò5̨Ü\Ó¹9æàöwžºš”ˆX¢Ä’héÎ]â•MäÅö^ù …û?øAÞ÷¾÷½aâõmo{ññäõÇù•_ù¾ð…/e?ò#?ÂýÑÑïoU±‚O}êS|ìcc8rûöm>õ©OqttÄG>òŽŽŽxöÙgùã?þc^xáŠ¢àøŸýìgñ}Ÿw¼ã|æ3ŸÁó¼'c~üãçŸøÃá²,ÿÍãøVþæoþ†÷½ï}ܽ{—~ý×w¿ûÝ!žüøç¶ ßÎy~ó1}ã}ß:οunI’ðK¿ôKüùŸÿ9žçý‹âW\qÅß ¾w…Ÿ¨e*ó‘‹6jÑÇÑ.kÆU jlKž· ؆æØQD-ÞÐN˜j†•ftÒ7³GˆRâ©k*Ú¯Øà«.–ˆQ”’BWqÊ êrIƒµdµL†/ ßÄ«Ãçx4ÛáÑl—éTGÎæP· iBÓ‚¦ˆma¯9œZë––†jæŒô}溇v#¦8¤Lé:þ”j¹ar£Ét·ÅÄk² †VäÔŠ ƒ|ÌÍü”*>UfF‹Š¶FJɲô8.÷°dÀ0 U¶ké´8'N,&I‡É¤Íä¬C,Möˆ¾=¢o_ÐÔ,Ïœ»,gM–›Ý`D/Ñ‹GôÒ;ꈲªSíûDg õ]ÎÛ†ÃÎØ‘0Xˆt “coŸ£ÊÇê56¹G=ÙЋ&$¾‰²’T—>ƒùmžSŸ­È­­|aªøJahn×4•® Ò-ôfB»:¡Ô%D’ÎÙ„ÎpBc8§Tšõ)½Ú{õ&Ô$V%$tNô}|éÐ&tý ÝÍöó^—5Æå€yÙdQ¶¨« võ3vµ3öôS4³ÄtR;Äs6RE Fhëm]Ræ‚Àsñ«AÕ!Ó5rD_ŽèsÁ Qõ6Tw×(jNÐ4QÓ„v~Áí{`½6#L dR2íìpù? È›&ÉÍ é®GâxhÈ'æ& VãLW<¼GãÁ9OÛ˜£S`v ÌNÎØérév¸t:Œ. mNM]â)[{|«ˆÑÓ-,kIVè¬6N…MÛ#sTì…}îc/´I$Ê#‰¶°ò+I°B‰µÎ£ Ž2⣜øH"›òZŠNNQêä5Í¡ÇÂÓ*¨;ê Gurlaë!¶`+–PÄ…ºõè$ ‚¢KTÜ8¢s±@MRMB,;¦Æ ·ÀK ÙSNÉUº²dUÖÐãŒuRåKá[ɤΩ·ËÐUjÞœFuN˛б.é2fRv ›¨°™m‚µÇzYg²ìã­|–ÓcÊ©Ž³ˆéæ2¡³YUŸ÷9–7¸¬w¨˜ûæ Ϙ¯¡T$gêÃtájù¸…YMñª-oÁÀ³ŠŒÂ‹¨Å¢h¢„faobžÖïÑr^Nâ™Ì¼6¦‘ÐkMéNèFS´MÎðæ€ó΀3s@”¶‘ y© 'f 4 ÔfŽÚÈÐ9ÍrN+›ÒÎg´òUg…ç­©8*êšÐpÉê¥T¶d-=ʆ ¬o¸lÒM§dgÜHÑËÇŒ.—F—•^çÒè`j)]s̾8ÅÔ3jú’º¹ÀÑ6¢Â2m0òœûœ¤ÒÀ1CŒ3DÕ i’ä—YŸ(6Yz&Ë›&©a¢ÝóÐĹ^-¦ž¯˜­ÛLf]¦³.“y‡³rŸå€iµõS„ˆjñøæó—Ïþóüöoÿö¿ºÏ;Þñ>ùÉOògög¤iÊ?øAÞóž÷ð¹Ï}î ãüýßÿ=­V‹O|âüäOþ$?ñ?Áç?ÿyZ­ÿøÇùÅ_üE¾øÅ/ðÑ~”/ù˼øâ‹Ôj5~ù—™_ýÕ_}ƒÓ÷—¾ô%¾ò•¯Ðn·¿íãøfÞõ®wñû¿ÿûüÔOýãñ˜øÃ¼ûÝïFJù/–h~;ãë1ýKãü[çö›¿ù›L&ŽŽŽRò ¿ð ÿêçÅW\ñ_Ë÷®ð€i¬2Ÿ9ÄÓÓY„–z„×Û„×<Âkƶ‰vÌVø…<~NS7´Ò-uA's#=&̤-OÑŠ­Ì˜+ Q’«1ûœ±ËûœQËW —ûœ?ÜçÞËOsþê.ëPa©¬BÍAu¡S–‡¬Ä69Î ˆNµVªÎ‘ÖFo'”·-ŠÛ6Úõ˜^gÍ­à!·ÂÜ ÒΦ|½s‡×ÚO‘T5ÆtÐËœZ¶¡ŸŽ¹™‘©&s­Å…1ÀÕ6”H–xË=R©R-×yŠQl#ZÚ\œîr>Ùåüt—|©ñ¦úËTj!N혞3e>é0œìóêüY^Û<ËóÁ˼¾Œ“„\ËN¨#¼jÀ~ˆ/¾Æó¯4ŸEm§¬[.Ø%±ÐY ¥ÇRñ8Öö9Ñö9V¯á§.½dÂ:<%ñMÄZâ-}´ENm¾fwvμÒ`Vi0 VFÂR· áAÑVŠD·ÚÖO[¡.sªÃÞËkª/­ÉÖ:­g¦ôž¾`Ý÷(tt_ßç”]žŽîâ,bv'#zÓ)Qg¬öyU}ޝ©Ï±«y“öªZÐS/Ñœ³Lq•ÏÚ Í`As¾¤9Y¢'“N‹‰h1±Zø®Ë@^0£í¶¼@õJTµ@i–„×-´£„ö½ Ìûszîsáîp²wÓýëœî_#꺭³‘c81ÛFë92—¸³5è/ú¯GØû%ö¾ÄÚ/±Ƀö!÷Û7x`"uhêsêb…'68b+üŒ$E sĺ$é1¶Û\¶;¤†Fã|J㑯¦¸X²u%1$XE›Jœ0ÇݨÄã’øaAüµ’øU‰Ö+°¢KXNBâ9,«5ÖÕµ*¥Î¶/¥»Áslai¶béV©&&2W(¡ÐA5¾!üb´Ñ‚JÒÏPÚnо›"wJL;d7?¥V¬¸™?`vy4?ä(¼ÎÑæ:£¼Ojo oòŽJµ» nÌhS:Æ%=ÆD¥Í4og6³¬…XôaŽqž£s"¿‚Gô’ Ya ƒõªÆeÙçØ?dÙ¨ñTûuöÛ§Üq_§n.xYy3f–¬+Ì/[µ”JÕ§å-x—¬‹&ãtÀ«Ùs|-Ž~1â¶—§Š»Ç³CL%¡ÞxÀ~ã„•èfÆ£ä£ô§IŸQÒ'­Bv²]в³jàÔäVø+.Ö»œ]ðêéó¼zúËZ°gölèfDá•ßÅ›Þf³Ýn÷_Ýç•Wþ¹Ÿ¡mÛ|ô£åÚµkoØçÓŸþ4­V €÷¼ç=|àà÷~ï÷ž|ï½ï}/úЇžìÿÙÏ~–¿ýÛ¿}âàý[¿õ[¼ùÍo~ƒðûøÇ?þD`}»ÇñÍØ¶Íùù9ãñ˜ƒƒ>ó™Ïü»Ïó[é_âß:·?ýÓ?åïþîïèt:üÎïüý×ý¯ŽyÅW\ñ_Ã÷®ð+€Š@!˜Äg.˳:"2@q®Žì–˜$H!ª@êi‚¦åJ†)Sì<Á’µrýØÚ[¡Èy¢P”‚j¹FR׎‰¬IÔ¤@-r´M:ÊQÖ :šL°1ö¼~BÅJñö×toÌÙŽ¸Ýç™èëôÓ1¹¥²¶\&F‹‹´O5]ÓH—´Ó9½lÂT´iˆ9Uc»þ/WT|.èáã`Ë£H1ËÇÂ/³æ g{ ÀHÐî.¸Ñy„ÞÍ©×V”iÜáõò_TÞ†\ÐËDŽ閌©éjî YaÃbYó˜T›ä–Š!b !ð…M,tæ¢Á”6—tJ—¥¬J‡Lê)1Š5˱ãˆ"P)4•Q!·46xĆIfèÄž¹=/B,‘ààÓ$ÁÈbÌe‚qž`Ø(çʯ«wˆ‹®rÉ¡R£T4t7Ê*‰O=_ KÁîü‚½Ça§çzŸ¡ÑçÜì3×ëôÄ%]eüx{IìXÄ‹HX$ŠI™(G)ÕE€÷zFÒ3î^cÓkqúæ§UmMMÛ±Hb$)% J^Ró´¦CÚgç4ޱS°R°S°¨„+´,¦ $0tÚÖ˜º6ÅÓÖØzˆFN)¢Ò&+,BÅa&šÌÔS­E*4ʰ@^æð(#{½$AJH4A^ÃÈy޹ÉqÇ òÒ3ÈO :+.±*%†—áVAôT”Š$­èl¼ ¹¥‚&QÔ]KÉ…†¢˜Dx¬h–3’Ò&.l’Ì&O t;Gx‚¬¡µÌ"Æò\?D9-)C(+‚↠ÜèÕ”z² –¬‰Š·Üp™vð7pƒÅM\}ƒënp›¼þŠ3ê,ñXSÁÇ‘f™ å9J&ÉB|i]*0ThÆK¦J‡™Òf®7‰5‹EÙd6Xf âÜÄÑ"öœ3Þ”}•]1 ~YáRö˜ÊÕlC5ññBoP 2—MÊC¾¢~7Ó4Â7ƒ‡TBAS[ÒpVÔ²5šžs­~³åk¼µò"nâ“WÖ• CkÀy> ðuŠKâʪU uSL%Ƭ‡´Ô ûå1wÊ×xN¾Š($~é¤üÈE)Uuâ”Ø^ÀF©²–UVTY—5ô,ÃI¢íÄ[¼ “Î8UC]’”Kêì©g¸ê†<篱.ªLò“¤»5(Zu™/[¬u‚…‡¦XjLKŸp`<Â(RÖ‰ÇE²KžlòÒ€²"‘(F„®X*8JŠWøä‘ÎtÝáîô)þáâ‡IK­ž ©1Z%AsbJ=g[Fò—V«Åd2a0üîóÅ/~‘÷¿ÿý¼øâ‹ÁãŠâe°ßxŽãü‹ßËóüÉëápÈ3Ï<ó†1¾uÌo=¦oç8¾™¿üË¿äÃþ0úЇ°m›ßýÝßå§ú§ÿ]çù¯}Nßî¹F#Ÿ¼þ毯¸âŠ+¾“|ï ¿ð2ü¿ì½ÉlÛ]ïùY»ï£ï²=yº{¯ïµ1öõ”R ¤‡„<öŒÂ3 2ØB1`bÄ€' €Ä j ¨'¸÷mO›çd™ÑGì»ß«;}Œ«ìò3<ñtß˯ôÕJEdì&"2÷úîßo}¿š¨ð•o/Äß_`Ùkн‚b/¥Ø(z+rtrO§êä÷tÔýœô@c1lpf@•ÄE½Ö).’­Iº4ICƒtc²Ñ=f6óN›¤c!W7«ü=-d;°i¾±àMí»ôGcVR¿¡ÁJêä:5g]â•!¦tަtö¦˜U„ CÜ„ä©í!h‡ y`‹ ¡I®Ì¹Ðx¦ße)XiÂÉ#vå{Ê9#åE)¸¶;¬tŸT7PÔGDd$.qj#Ö7ë¬6Llæ]Va‹L1Ðý‚²­5Ò]¤gPm%Z”àFkZÛ)yW㬻Ë×í·™¦]ôe—¼b¬Y„-—^kÆÏ¶þÓHèUzÕ„~5!746Íóf¿R*f+CÛ-P’ŠÊVXí6Xì5™ï´Xt›Ì »É¨Ś”‚™ì È U–¬kC 1¥+fTÄ{6U"¶ ßêÄw¼½˜;æ)½dÁBi²P[ÌÕ&á³c_à¶#r¡2µ[ˆEÉh~ÁO/¾Ik± _^óPèŸÝÛcÊû ¿(ð¬ˆÒTÐÍ‚(pÈú:×½§½=¢ÀeN•Š}Îðˆˆu‡Øv‰…Cª[´'äºà¢=àÛŸÀŸ,q§ë®ÐVJX¯USˆJ›™è0×;Ì”W 9•{†`иÄÈìA„Ý­[L"\jgÉ—1#¤€¡:Æ×7<ä ²¡ÀŽM ›nñä†K†ü_òçÉTk³fd<0¡ëÕGŒÂ1Þ³-FUÐ]Í9jwÊgÜáuãC&Q—IÖå:ï±--*_‡@E Šš]¢÷sL‘`5#d¥ Ò˜êqLþ´¶?–—9üè‚ÒÿøÅ_üEþú¯ÿšßú­ßú‘¿ó«¿ú«üÙŸý¿ôK¿D„aHÿ®ýŽF#þéŸþ‰ÝÝÝÿæ×ü¤Çñ™Ï|†¿û»¿êõ~¿þë¿þÿ+üþ{ç;·ápÈñññ«ìâ/^üÄû¸Å-nq‹ÿ|t…ßxô "8LìG î, væ¤AJD¤ÁšÔñ‰=›x`G6qh£62’†Î¼ÑàÌ’ ‹EÕdYµXÈaâ-]¢èÄ¥Ðt¸[ÕF&N…æå„x@--Â4µ9ýÁÊ›ç²Ï9ƒz”}¶ŸgPœƒ×ܰ·W»RÞÛ{Šï¬¯(…¢cPt rß ¹fÔ™aÚ.²Pho´¶ FÛ1­x‰îdèn†â”Lœ6KÕ'Utµ|5I•rt2 ÊT#_ä—&ÅØ XÄK‡8´I…‰æ”Zø%:ñŽN•Kô<ÅËÖ´ó)™¦rªï1Õ»¼—¾…XVˆ1p <‡–²`ؼdؼäãÍwié Ü|‹“G¸yDèxÌ;Œ‡øÖ†´ib4o„ŸZQµË^ƒ“Þ/{¼èê&©nj&©0êðpi’V5ÛbÆù‚RQp”-Ø’x¿6>Ùî:ÈLÁ b\Kßœ¡Ç%s½ÅL¯ÛG—j@ÛžãˆÜR™¶Úˆg%£É9­«9¯?ù°®V0£#¦˜"E*®²¡Rs4eƒlBp˜àÆh‡9J£Â[lQçî""Ùšäûµ+l¢YlZ×ô¹}&ô¸¦OÔ°‰-¶–I<²Ð·ãbºþS4½RH!pØ2¬Æ «+Få¸>¶VŒy7ÁrRô](Æ_B2†| •µÁ±/X4ëÿANëc žLÐÚ9+³ÃËö!Ïò<Ó¢,*î†Ï9ºzÎèé%–Œ9iîqÑrr´Ç¥×'+4òR%+5dŸói\•|0A3%– Ú¬PsÐÐç .@—9ž¢+9ž±è¶8{m‡«‡CΜVA€I†AÊgÜ/‰t—HxDºKl9xzHÑ\ Ø„.Çcº^Р†8«=[‰–J²Òb,F<ÑïóĸÏÔè" AÕô“Kå9–—`º ¦“`Q¢R¡°ÅeƒO l¨WrM 6( ¡Rǘ ˬÉu9à²òâ§(UÇ q¬ûÖ#:Å”ÃÙ)Ãé%Þt‹tüGc´½‚IÃ[¸+RWã̱ÁF#¥Ç¹TÈL‹ ä¯ó^ô&MeÅ Få%oæïÑÑgxÆ_Ý º9%O[±§"´’F²äT¹ÃIyHž˜? üìáçeü͆`¹¡± ‰Çëó&'çwxçü- ;ãÁáSSî¾ ôUòÜd’ Èr›)=¬ ¶¾Å¹;d­¬´¡IZ,È+Ëjĸ *I:³Hž;$Oâg.MÁÎÁ»gìì^P%’Ù³6Óg-žøàþøÿ˜¿ú«¿ú‘¯ùIãóŸÿ<ðÀÑÑUUý@űÕjñá‡òúë¯ÿ›·ÿ£¶óãÎíóŸÿ<¿ýÛ¿Í_üÅ_ ¥ä‹_üâÝÏ-nq‹[ü[ðÑ~ ` ÚNEc?c´rô³ zoMرf+\¶8lðÙÈ€ >> 9©ÐXpΈ%MÆ _q1í°Z6Y?o±þNM-è×tkº£ ù+‹tKO8sgpÅù‚—<â5ñ :[z¨ÿ¬¡˜AòuðïmØÛ?áÍ»ïð©Ÿûþ … å&’:¿±aߟ9mNµ}®´§ì>ŸŠ¿Å(óÆò?µx‡y§Á\k2w›Lì6+Å'CG¡~@-’ngÑÜg{æ=óÉ&&ßK@×ÙR¶²¡Jº¯“TR¢‘ದŔuÔdí±Žl¢&ÕR©«}ÇÀð¦|Ÿkü#o¼ËÿÖügv•ózÍe"‘L‚.ãtHÛZâ BBÃÅhehJâWÈ…eÐऱϻÁÇønð&ª¨Ð(P)Ð(ØT‹ªU³l1c*EÅ[ú\£8K§Éb·Å‚¢‚;é)ƒtÆazJ7™3•-f¢ÍTm1ך¨v‰j—ä-•)-³ £âœæÕšæ{k´M ÔŽ‡E n‘£çkÜñ³`¶@÷@€»Špç<…r¬2‹[ÌÕaËeª´9cSö_«F“µ°ÞñÙ¤Cõ’×ÌGtG<0Ÿâ©!16u"š…U¥ å˜ýòŒƒòŒD „ÊÈ¢o@¶„dÑ»P±ÁeƒŽ  ˜ok8•ŽÝÖQï넎NjÖ¾¡šiü,öEBõXe4¾¤÷xN£Xrñé]&:ÅË IDATwG¼ó©OòÞƒ7Èsƒ¬0ÈsKøv@ðí’ƒë ò[m´»Ôëo€ð¸¨¿7ʺ@/ ü*‚Ô]ÉiºÏµ3ཽ·˜Ðá/8âûœ2WltŸP÷ØPÿ½lÛ[épÁ›‘ç³Añ"B¯`ÎF¢ÇuÅ/-,Æúˆ÷õñÏúÛÌÕ; F\2’t˜aˆ ƒ …Šõ÷iMÀ’&¾ªcŠÇ'ùN¢#^w8TNø9þ‘·Ê÷ù™ükŒªsR]'utR]'ÓL<ÖìRÒdÎH^b+)E©³Hº‚µð+b<ág!Á:$˜†4®7\?²~Ôäå£#¾óè§iøK†Ÿà†1÷•c”NÅ4ð$IÉ›©Ò‡Ä–ÅÌlÒlÎQ)oXWü¦²Ë´ê0-»L‹.ÅÜ z¦Q}S§ú†ÆÃÝÇì)gìžðvÿŸ‰×&_Û~Š'OùÖÿý ªµŠóÉÿÊ[Å|&øvÜk¼EHrjsvºÏÉÌ º§!+a+(ºâg4rL#Á6"2)‘O#òÇÙ?FT³ËÌþƒ.pÿãðàÁþáþßÿýßç+_ù Ûí–7ß|“ßû½ß{õ;_ýêWùâ¿È¯üʯ°¿¿Ï—¾ô%þæoþæßµß/ùËüÉŸü ¿ð ¿ÀÅů¿þú«lß…Ÿô8~ù—™Ï~ö³óÚk¯ñ—ù—¯žûÝßý]>ó™Ï†á+s–Ëyþ°íü¸sû£?ú#¾ð…/ppp@üÎïüÿ÷ÿcß³[Üâ·øIñÑ~»ñf‰Ò)ÐÞÊ0öSl?Á1%**%Ьh— ºùµ¬PŠŠ¦º¤¡-ijK\-"L|ÊHcy,¢Ë—m¶/\Ò±E¹ÔP¬Š2ÑÈs´2°QñÙàⳡ!WŒŠ1Ã|L§Xà•[<í{Œðô½]áßß§rÏ ãͨ…óéÕ¿¨ØÁaHC" Ii)u0¶c9µ¡ÁõbÀÕrÈ|Ñ%Zy¼ˆï¢%Ægé›•ËæÚeãyl<—…h1íš´IL‹ÜÒ)lÜÒ)cŧWçþ-laÞÐ _ëL}žL_C4àÜÚãÜØ©:BÃ#Ò+ƒâZC^ 䉨'ð+ €æóB»ƒkF¤¶IGñÊ]ÂZ xRÝåiz«p‡pí±Êê¶Ë™Ûbj¶Ø:Ø[ßÒ3œh‹nñÂ/ŒØs§ÅÜi³pZØÚ_lH„Í ˜¤µå¼¨E.Ô[Ýa,†Øy²l° ,WMVÒÇ4SL³*7ÌÓË0GæÃ3˱ÒSK°´ÚhÄ,bŒxûŠZ«@¹§R J_EÚ*YÏ$Ë 2à Ý1 ÷¢‘Mä9dX$¬ésM[ΡT¹‚Ì­íŒáöŒáöŒÎö[‰ <ƒÊ5(=ËÌé)SZê KIQJsja5¦P<…x ›°þˆ* ¨n¬Whóã ì'’®5çAø ê4ÂmSòšüîpBåÀZ÷ØÜõˆ[áØjÓÞt7]LWì-Ç”•äÉáۆ݋±G Ö0Æ$X2Á¼L0EŒ™$hI‰Q§ŸX¤ô“ ÏP.+Vv@לÐ3¯é™|eƒ6ϰf!î|I¼0YvZ¬Ú-D§EÞÖP[q_E&&•ã²ì\= HwR»Á2m1]vhÄ+~zû"\¤xpí˜Ø}t%G9šÈkåaÎ^tÁÝè% ±ôxļ䈶± cÍ^QMA„5åF”6½Ï±~JWYÅ-OO)'Øe†«m1Ò o¶E¼”EF!t ¡‘£QLß':~²ÅË·ø^Hco‰olP9ãFŸo8ŸÄ“÷HVIl’Ä&¥T0üÃK1ü CËèö¦ÜyxŒRIÚ½Í; šÍbAót‰¿Ø_™<¹~Èøz‡IÔc 0^O¹¿û„®;eç„öhŽa¥¹ËúÿBU)$…ͺjÖ¥A)-&ô˜Ò‘3Ž×wÐÖñÚãz¥ãÏ#šéŠÖhIógWì N¹óð9íþ”ʨc-2Í¢0-*Û$­,¦~Ÿãà.FÈ…?ã‘zÈe.KÊ‹iñh{ˆ6MY½lðX¿ÏcíçÚ>‘æ“CþÔ \ÛHÓ¿iý‡^æþGá7ÞàoÿöoäóŸýìgùìg?û}á _xõó 0ÿq)ŠÂW¾ò•YUûa¯ÿqÇñÿÆç>÷9>÷¹ÏýÐç¾üå/óå/ù'Úþ;¦¶wn–eñÕ¯~•¯~õ«¯ûÒ—¾ô#Ïã·¸Å-þ­øè ¿½ þsâåh»æ^ŠåÅ8Ääè$X7´Šv¾ ,è$õ¨˜%ŠU¢ØŠV2ÛTøÚeyÝauÚ${i’Mª¥‚ôeª’:ieR¢â°eÀ;\0W4³ÍdE+^ᦠžµÅµ·xv„§…x­õAY;7Þ©¡B•(œM÷99½Sçz |‰ð€V…èJè–­":‹«‹çmÏÛÄ./•gÊ!ï(óºýñM¶ŠÍV87tÉ}ª¥R¶Ê–ЦXf‚Û±š ²+_„™O5 ÈBëùn›†þÏcízµ¸Ô<’µM:6)5ä±€kj¡±JX/´;$¦Å¹³‹«Ö•ǵA¬YL«.Ó´ÃtÓ¡\)¬Ô& ¥ÅÌ­+p±nQáj]&´Ã%ñœîxNg<' \fƒ³A›™Ý"Wt„ÄÂæ„CêÔ·ïCˆU—K1B¨P)*aè³ =ÂÈ'Úº¸AˆÓqƒÇ ©|jG£,tJ[Ç“! kAÓšÓ´´óõ”ÎfеÎ1ì’â®J1Ò)|Ô¶Øt}6†OØöˆb—²Y¥¯P "XÔg v•à•~á¥[ìé ël…u¾Ä:_ÕBd¨¡ T´ŠÙ*ñì׊°¬ Q˜' N¡:…üâKXo`&Aå©Äm^ažØAEOŸCô”f¸æ(z‰Ðt´FsÊû°ñ}Ö-—°é6e¤Ñ8_pðì˜Ã§ÏÙ{yBÒvIÛ.OîÜåÝö[4ü­`I+XÐô—4¶ ΂†XÐHs̤DÓ@ÕA¨`’0ˆ¯ÑíË9±nc5¶X[lÑõó*Ä}¬?QÈž«‡ˆ‡%ÅmÓ­…ß=\‹êÐcc7¸ìîqÙÝçÒÙG¦*ë5ËãSŠJãl¸Ëùp—³á‹vMÍQÕM­³èögì_×¼>çJô¹^ˆ{\‹>ûÁ)[yØzL³µAI@™×b\Ì!M,&ô)ÐXÐa–õÉ×ö*§WκÄHr˜nÑ«g™Ô¹~ŠBu“ñW*¥¢R•RÑhæš–» ÓžPXŠsaõ™Y d¢/mâ+›xì æÃK£1Cõ’ ±¢ÓŸ RÒl-9|pLÓ\Ñ4—4óÍÓ%‹i›éUÇ×»L¯{ä† M‰¹ŸðÐÄÀs`œÐ6gFF‘ÔÂ)pU¦T6RB¦˜dҢ͚† 9â„ûò)ÚEE2v™\‘³á(8æÞÎ3î¿þ”VwŽ7ØàöC*S!VRݦ°L¤k —i0àyc -A,y®ípq#üªóס…2¹ÃâE‹§×™(Ýö•€|å¡\å` Híÿ  Ü-nq‹[ÜâÿýñÑ~ûñK%B+МÃM°:Å,ÁB£¨…Ÿ¬…ßÝø˜»áKî…ÇDžM„C¨Ù„¦ƒ—”Sí —åq‡Õyy¥ ǹ¨AËD½©øý ð»ÏSå Vžam3¬M†U¸~ŒG„«ÝLÄÛ ®áݩ׶Mžö9{瀳ÓNß9`[¸ÐÚ : ŽrÌ$ÆR·˜AŒP+¢+Ÿí‡>Ñ7|’G6¡ßàÌ?Dó 4¯ ª²RnFQO…J¥(”Š]Ü©3V„ãĸͶ3C¬$ZšSMIa®|®çæn›çÖ}Tµ€veZvE±1(Æ&ÅS Þ¥žàÝ´rRÔN˜‰nqnî¢;9Švc‡^%TšR‡'ùFÃ^ŬÜ&s·ÅÔiÓqÚl……P$Žˆè1e'³;¾d÷iͨï0-ZÌì6Ó~‹©ÚeB‰è1¥K†MŒu5€•Ú`­6Xk ÖJ@²vHB‡xâ’Î-‚þ’ sI —DžO¸°q„ƒ cÁл¸á9ûéùÜÀšçôf+ ‘Q4òI˜„ŽËÌè0mw˜•:'NËÑÕ¼É_ ¿ïýjÊN1f'3J®Ó˜äIIòNAò^‰*$Î}{OàÞs”F‰Tõ곊Z„ŸO _Ãv ë°.š€u3ª€H*´¹Ä8+±5£ÌhEkîF/É#¼¡‘Þ×IG:é}eÏg-=BYxk•Æù‚£÷žð©¯ÿ o¼ÿ.ï¿ý >xûã<¹sÄûo‚¾>a¤]2R/i— fô•Jdèé‘ÜV´ÚŒÆ"e\ÓY̹{¡R(E¦ …ÂR(TW%òƒ‚êŸJªoVð3%yU‹>ý~µU¡x*šT¹Ç’!Çâ5ÞSÞä=ñþ:äÓ×ßâðÉ ŸþðÛ(EÅ?ßÿO\e#®Oì{¨Zª—¨ZŽ[Ex‹-÷Î^²ÿüœO?ÿ_W>à å¨oòuåmÞ|H¹£Ó¬ÖÜ5_ lo*°ãšÉÆbš÷Ym´¼dR 0eNŸ)÷xŽ¢IŒ4CŸ8ëy! HUÀ¿qó³ ÓÓÎé´§ô†c®íS¥Ç¥2`"º¬ã&Û•Çö¥Ëö‰‡³ycû¹ò~sM·3¡Û›Òl-Ù¿{B•)4çkó5ÍùšæÕšï\’Ëë=]½Îם߯ÛÝp°ÌÁk/8|ý»æ»›1ípޱIÙn\©…ß)È­B‚M¦˜„zE"\îË49’'|ªúñ3—é³ÇOäÆÃ£ŸzÁÛ;_ã?}ò¿b6“ڌ˰‰M›X8dšMaYT®I¦ºL‚²¡°jØÁ†©f1ËìïWü&K½Å3ÍB×­ºŠ*õzDCj 5 ºDZl ýŸÛÑó·¸Å-nñ?7>ºÂoÃó5•µ%kl;kÍÅ4ZÌó6³¼Ã<ï²É<¬i:9ÓɧQÛ!ü;—«¶…ƒe¥ Û82$±-’†EÚ·0ƒ˜ÖpÎоd˜]2\_Ò×&XZJªšÌi£*šV¡%¢¬´UVôò)lÁTS,=Æ2c,5AN¦NŸJUÙ”ye(ksMà­1½Å.F¢äRC–yfAE¬×¦3ß§äU% Ô!ñ7Ô³ ÓI1{ ¦žÒ4 ´1}1fP]¡W9K¥ÅÊh±rZ¬ü[ß%ò"Ï!öl0%R•u`*qEŒk-p›1î0&oé$•I"-’ÊDuJ¬FŠÕH°)E¥±&`]¬‹€Dµê+Ýg#=âĆ-8QŒH!±m¶–Gl[$–®duOÉp•M-Huƒ…ÙD– z¢ôB”½k¡‰mWCöU²–†tAS ô¬@YKH©×®€d¬éÓNÀi'àX !1˜ xðúàÀo@Pn Š Aº&k*!X™£‘6 ²¦]Ä ‹1¯¨c>&?àA~ÌÁö‚a8e‘OX*×,œ1‹vn>£_ÓÝLi' üË æ| QN–K¾wo@Q¨+Z…!2 ™A E¡•ee“£ ‹Ø2ˆmÏ Þ1˜ö†L‚!SsÈŒ.¹b’è+¥Íµ6bS„U«ÌÙ+/ðåß ‘MÁr J£¤­Ï¹—?ÃÚ&”¦B) UAWs,+¡ô›¶Ïx;`­x”Š‚¥Ä´•j³Ö޳»hË’«pÀñìˆÙ¬K65ÐÓ×ñÌÏß°£_ÐRçhjF¢Ìh±M\¶±Ã6r‰çöÿ§Dhë ª•†N¨ûLÕ>Wêë´Ï$ëqöIB}V`g1·¡é/¶.è¸3}ƒ#¶HC €ú’Ø ¶…Ëvåqy±Çãð!/ò;œ›»\·ûd]VwJÒ³(z …¡Ãe¡5Y—>E¦ W)MmNw{MÞ3Ȃڰ*),VjÀDíq¦îÒQ'¬Û>z˜2JÏù¸ü.;ÝeÁv%8yÞÆéÄ(¨ 0 ¾¦Ý™38¼b‘œa¦)únFæL“ÚÚ5ÆïÆøfT² „›!a賜öÐüÝÏ1ƒ×)KAž)¹Jž)ÈŠúÿÞ-nq‹[ÜâQ|t…ßYŠü?ç”-ñ½’Õ}‹‰Ñ!wl¦I—iØcõXm„g-Æg{<9[Ò>[tÒ‘A22Iw *¡P)‚ ·âõöšM0 Û̳°ƒc„ »—¼<æAú˜á| 6HK2±ûL´ 6qÐ@Ø ‰U”Œ²+öò £DèÂ(Q”ŠHõñÍ ¦› 4+<r8|ÉÑÞ1G{Çxƒ qÇ LbÃdûŒµL…Øq ]êRÎ÷…“ÂM¿Þ Cêàú °ÓJiesšÚœV° ï]±S]²“^0Š/qV[âÌe«9ÄÃZip1q9r±3äzÔ'Óu2ͨ-.ƒ†qÅî ‡Õ ‡þ ¡t™©-fJ›™ÚÆR:Ê‚Ž2§£ÌÙ&.Çq\qœÕkϴ‘KÌ$Ç“[Zùšn¼`&úDÂç‚=‹×¸’#Î3:ê”nwJæë„m—MÓ#ÔÌUJëdIïå”ÖÉwahueÍÐsJOeºÛa¶Óf¶ÛfÖé0µ»Ìš]fz—¥ßb·<å¨<æîò˜£Ù1…®“‰n‘:ª•cš †cŠ„–²¬­Í-(QÙZK½ÉµÒ%Ì]ÌY†{Ó¯ ÁIwŸu·ÉyÎ}F[›ÒÖgx"$QM"sĩاÔU»szÚ9½ö9½»d›°mS´mTSàf1nºÅ]nQ×%,o¾T¦Â&è1öxñNp„¦‚¦ÈW£é€€åÃ(¹âhö‚#ýGänJai¤ºÁV8B¥©,¸¯=¥/®)L•}ó”=󔾵±$}sIªŸ «ÐkšÑŠödAgº =Y`>]£ŸnÐ!y^’Þ¬íÓTß»©¡ŸRSÈT“HqYá³P&.“{]®E—i·Ãö®Gtä·\"ÅÃ,s¬,ÅJkºr‹##ö9çucªZ;'U u@¹c0´ÇtÄŒ42oº"Ó&Ó Ú­9¹Ô9uwKÑBŠŠ‘r†-"Y‘¡ñXÞçÅò³E‡ÓÙ>gó=â…­Æì4.Øœ²×?e'8g¤Œiˆ9™¢q‘¸GŒÃÓE¯þûÖx%üî/¸c¾àÈ8Æ1¶Ä‡k'÷xwñ&WYŸÍ*`³ôÙ¬|L™Ò & ý1£»— šWôºWô:×ôœk"$ ‰B)U¦iŸi8`:ï3÷9{œêû\õä#b¤‘ ,6¾Ï\kchÒB%74Ë"õ5¬ADÿè’4ÑØ 6FÀÆÈƒ¹Õæ¹uvÅÂòI Ù–3˜_ “ Ò„ã—ŽŠNÅèΜÑÑœ‘6g`^±$X”mŸ¬Ø:±e³]z°qé)gt÷æôü3‚‡sÎ^Üãì…äô…K¸’˜­çNˆ{âÞ‰Hæ Û3ƒèL§<Ó)còœòeó·¸Å-nñ¿6>ºW°³ùÌ)9Û°diXXƒ6Ûn“IÜgºî3™XNÛŒŸdOsŒ§ÆÓŒòP¡º£P-ÊD¡ÛžÔ‘í FÍ 6Âç$ÛG¦Qfá!CyÉCù˜·Óo2˜_qéË—ú€™Þ¢Ò*UAZ*¢”ì¦ìe Ó+öÒ KÛ™¢‘ë*sµg…˜^ŠÒ¨ð ‡Ã—|j}çë´úsfN‹©[Ç \„¦˜. §užNm–"©'ƒÆ¿bJ]õÛW`ú ­tÎŽzÆ(8gÏ?c?<ã`{Î^tNc¹¦L5 M¥ TÖNƒùpøm'!ÛQˆ  Ÿ<7(b“¦±æ^ïoûßàÓ»ßd¦·81÷85v91÷ðòˆƒèŒƒíÑËU‹¯—oSf*×IŸYÕ¹é1¤~…ÄH2¼|K+YÑQhB²—bŸÄ[xúš Xt—úŠÂPI “Ô0I4“Q4Æ?è}{Êßþ€þtŠjV¨F…bJò®Îôcmf²Å´ÑfÒíraíàè[¿€¼bg~ÆÃùcÞZ¼Ï›ó÷¤h©”M•ÒQÈ-•BW)4•\¨XJFCßàZ!ZQ’£³µìá×'̆³ íãƒGœ‹˜õÏmΫ¾c’;æsJSÁUB -c­6¸6{Lô>»ÇоäõÎûG%ÃdŽ$5B3`c4¹ 5]Õæe“´~IýÞJC%ìö¹Ú{ƒg{oóݽO×7*4‰Ð$Š&QtP5êQ‡«g¬õo ‹œa1F³²ág+6¥Pi©KúÊ5†šcš)â[+Ä1%}c‰¡IÚÊŠqŠmñ¯"üãÿ8¢<ÍÉÎrÒeAVÔÂOSÀøžðûW¢ *M©‘â² &jãÎ]ž‹{7ïòòîhKèÈzYªÈD­‚ŒTîÊcÞRÞe_yÂÇÅ;ErÖÙᬻË3刪TØM.ØK.ØM.ñ£ 3­ÍÔªÝ_çz“¼©“¹§ƒ]žgGu+±HØáŒ»â “Õ€‹Å/æw¸X챞4ØNâ¹M²´èy׌œsÞ½Ç[¯½Ãîà UÔî–©PYo<Öò$|Çåk¼XÜý¾è»ÄŸ²¾IœÛ¸vÄ—zRC…J.42i`•.+Ù`.;Lª>¹©¡¦H¨Ä†\ÕH*›PºD¸4Ê5J&ñãÑæŠþzJlÙ$–MRÚ$[ e þ"BŸäøÎGIpÔW‰h) îçO¹sgö’Ãñ)e!ê‰l “™z&±U)3•"WP*ШÈDÝš™¨¡î‘ ‘ƒ–TT±JºµØl²Ð&^;È¥‚9ÏÜ ®·ÅòRt¥@1oúuHQçô•B¡‚LT©h,M—¹Ófn÷‘…Æ6vH"‹ÜÐÙê6ÒS¨: •¤Å¤×eÕ ˆm‹J(HW__­©~/ ¢;ÆŒôH0)… (F…–ó*‰olð žb1e Sõ5–‡m¦‰N¼k±mY$–‰,U©PV*E¥‘KRVd²"£$J]AñDG…®JÚÈ‘@ö²-È<ƒ­bS¤:b)Ðâ -–h…D5j  ÜÅ¬× QÖ¯P‘©FWx2¢£ÎÙS.¸¯>'5 vƒÌѹrûd•¿©Öc"ºé½Ì°“ˆ@¬hçkµÁJ XÛ RÏ„¨P”U IŠR!M ¶‘M©*Øb‹[…¨yE/¿fXŒi”+Ì*E HLƒÒP)M•pz½Ç±‡§Ö}žj¿ïˆ[Ö_¦µd`\±çž2÷[DšC†*JlbüjC%ª›µ¿#1fß8åŽw̃ÖÛ/‘ õv”UK˜›HÔù„çÚ.'æÇîO‚{®Ž4ÅÍwEPHXÚ¬eC&¨D¸¬h0m„Ýg#|ra ”ê¦D[ç›#1©ºÂoÏBüïmôæ†Ö½9»ûSz'ô”3«Ë¬Ñe®u™]f‹.óE‡Ù¼ËljBOÖb C0›)¾½¦'¦ì§,Š˜I4ÄŽ2”H!®\¦fÆ!ŽÑ(W¼œîq:ÛãåtYÒÆßñw7û!Áp£FèFŠ ¤P±n²1]VZƒ¥˜[m6Ÿ$3¨THuE¿ÁywÄï.Ùeª¶™ªf¢ÍµÖgtÙŒ|²Ü¨Û<'¦¦Ì%º•`Y)æ(Áº“’í˜${éÄ&™Ú$‹Å~lˆ·¥00«Œ†¹¢¯]¡¹ËF“eRóºìóԹDZyÄ8Ùa9kƒ ªRâª!®RJ¸”}¾-?ÁDvXG>“eé¦ËdÓÔ)×Ú/Ô{t´9[»nõ<1}¯žÀ~¯B ”…Bh8LÌ'Φ½å,Ûažµˆ3 Jh¬Ö¤§ÜKžr7}ʺá3î÷jºÖ«“¢樱$^:œ[{œY{œ[{D®K«1£ÌiÌØ[\â™1]kÎyÎZ÷Ù½¾d÷ê‚æõ1•Ħˢ°¬êu„ZXàŒ·¯Xj*ÛžKÔsÙv]2»>!=/ØÉDZF¤xœ7öx²û:[Ó%ó 4¥äc«xP=ÅêFØÅK‹(\ §Œëªq>¡ÈtœùŒæÕ9úÕó«„Ü4˜îûÌözL÷(‡™·¤U-iéKÜÆ–<ÔkS–H'‰ .cŸ,^Ó9þ.o¾ .ºpà º.•®¾jõ«P¸#_2`Œo®Qü‚ÿ‡½7é‘,;ÓôžsçùÚln>‡GFdF&YLU‘*ªUÜk£Ö_ÔoаÐB€„jµXE6«’ddfŒîá³ÍvÍî<œ«…E –­F!€gg€9®Û¹ïù¾ó¾J¹µ@_ÕÔ–ŠÙÏ1úf¿DZ ‹QŸÅËskÄâtH~d™ä®Iž›„úŽN?¢#"Â0Âô6h¬Ñâ5úãÍn‘‹üÂb÷ÜB4¡JªÔ i D bÝÒyŒðŠ»,+.ÊOÌ«åD£¬4 M£ 4t YcÊ£©8’÷Ž&Ò*Í@ú‚ w íºÞ`6%fVb® ´¦eKzéñÇì[”ûcXb ŒaA­k,¬>»À§ûÎý?ålÖû5MÖ£‡ñ˜ã3RÍÆ_ò=¤©KynPmtÊÈ k®ùâø'£[ºí{[üó8m«B©$Âã^™p/¹GÜ'ܨ6z·€L"s©´S•j­‘T.ªÞ¥ a'üÏ#µ%fQ€äšE¦ÚäšE.,òÖ¢²4 5§Ó4Øv‚í¤8z‚C‚W'øuŒ_ï]mfÄñÉŠ˜)ÕÈ&ìÄtÎKä‰ÁÊíS¶6Ÿ²s>æ\fÌÊ1Em",Iw¼@5vPss@‹äk,rj`ƒÃŒwœrÅ×<*¤&ˆõ€¹å‚mC«ÿ¶¢'žxâ‰'žø©ðÓ~'â¿ëbX’N¯â¸¿à¥ÿS厵Ýc¥õX;=–nŸOëg\-/(«YŸöŸDßç2Ü‚ÀØ1dÁI~•\o¶8›±QH›yȧÞ­v•p9æáݘû×ìf“_L1‘£¹%á$ÂÑtQ€ÖP› ™b°S=Vj‡%–VŸ]Ï£PM¤/(TurïOp¼ÇL؈k¥ÃFtX©]aŸxâSø€ÖÂNB*ã Ç1wø“ÿëi汋ÚB™ºÉÆï’9Ët@Ój„fÄØœ›ªR2­‡Ü5‡ÜÕGûªN¸«xÈØ$}l7Åvl3ÅrR¤„‡vÌ¢íñZ¾"‹l’•Orç‘Üz(ºÄêæØÝ«WP;‘²õ’Úý—ÙÏ/³²RI—…9àÚ?† á69d™öH¥M[Â(ât~ÃÏgæ/ç`>éóþùst¥"ï˜8VŠÙ/0ÎöÇ<µ¹µNøÎú ¾³~ÁN ø:Í×ù÷Œ?Í8ªx+ ߤðL*ÇÀ]$xóo‘ -©o³ÌÜ5Ü©ü4f|;C]c¿^S8&é«}.àýhBc« ‹Ã|Á X 2x#^qóF|Å]çˆóúŠgõ%_Dï8_}"®bÕ!ölâÖÁm2‚bNîð³˜ö.&“¿MX½ËÙxó_xÌÛ!³Þ •ß!ô¶„FDèo±ªœ¼²È*›¼²È3Þ,iß,é_^Ò{³Bü¢j1èÙGZú?Gi7¨hŒŒ<\°ø„ÂzMè®ÑºKkÀ.ô)‡Æ¿¸åæìǸsÈB‹õAÈÃù˜ÎùŽžà³¡Û.ø†?R×:ii“6Yic“s`L9Ðéaïʽ‘‹­²UIT;ŽùAyÅÊ—lƒ}w3íXhg|j©¯t˜ ÚO*ÕV'5\dùÄ@SjD* ˆXÐ6 ®Rµ¡Ñê ©5ªYa89®ºÅÒrl-Û)~ã• ~‘àç sKr²¤Yh?ÓѬšNPÐ&+·OTwù”Ÿñqý‚wÑKÖUÇMpœ˜^o‰ëìpŒ˜ÒИvµÃ6Xd4@„ÃŒ>·œpÉ—¼ÃVΈµ™!Q-oéµ|~O<ñÄOütùÉ ?kÐâÿ²¦¯”ôÕŒžÓk#zéUmÐõËÌ0­Œ¸ã± û˜~±+´Z0Ú½pR@ QeƒÖ4U…^Ôi×èÛ¡CÚ¬µº[ ÕˆÇňÇ÷#’O6–á‡õHÀAE%R,"`‰œ¥Úc.†Ì•!s†¬Î¾ãcT„ÁMÔÔ†ÊÂè¡hç˜mAÞZdÒ"6…´¨ ƒº£"u0[”MúX¡š*åÞ!ÐÛáuc¼ñnXßoÑR‰‘Ö”µAÕèleH÷1eÉ©rÍÖô)tƒÒÔ‰…ÃZt˜Šõëm‡tçÒä*j*ѵ Ó*°EŠ£Çɶñ(“¢5© ƒjgR/ ª“ÆÖh4•ÆWi4é(û =-¥–hqWèY…ݤ_+.÷ö¥¯2k‡dµ…žïGhÓ.—¼ºy÷Wä!#œ–²¯“ä.º%ô·Ø9š!IJ‡™1âƒñ0þŠMÕÁ~Ì8Úޣ͆ÑÙU>—@ÖÊçœEA[*ì¤GT…¬Š.Ë´Ï<Ò,4:7[x'°þXÒú*¥÷]'}¤-èdVV0JhyÃUùœDq¹µx«¼$ˆ#.ªŒ²9_%?0wû,¼>Š×§ð œ:¥—¯æK†ù’|•±¸®)¿¯Iþ¡! ‘«ØlsŸR ‘†J¥iÖ¾››´©tH[‡"ÓwtØn?Þ¾E= âJ=DÑGHÕ n4šZ£nTzrÍX›â»[4»F´-ú¼BO˜—´•@ û‚¦€\@êÙ¬œ>7Ã#ÞÉ/¨ :ש j¥ë™n“;&…nÊAAÝϽ½×"Oä‹ù³€æØ¡n´Ï¥£mk´ªÁŽ ÚGíV´1»ýƒ€íÀc›ùlK—më¶;z톾\Óo6ˆ¦¥:U­“—è˜U£C»Hˆ Œ!)6;ÝE¬%2Â]gŒ§ó}I©S7¥40íŠÜv˜–¼³_rª]3V§ í)ߨ¯§3‚ÞŽ°tcî›C’ÒåSrβr¿šÐ5—Ä]—ôÈÆT2v¶G*£‚ h:Öh•:Ñ(z&Ñ8dz4Â9ßr¤Ý1i8lî9l@´Äª÷Ï%*ðÒ/IQ’–:7PÚ¥ÝK}†ºÑI¥2àA=Ü 6SCë—bCQÙ6E òZ£©4²®E9RIwö~üeç|ÚžóiþŒ¸òÉÇýg{)¾¡i%µª²1‘ê“j•)ií ÍL±µ¾ÑeÍNëÐub:œpX!Œ9{rõ|â‰'žxâ§ËOVø5×üMþ¿¢Ë ·ŒIKŸïÊ¿äù3R×!õ×&Q=îw‡Ö¨Ç:u­³ø4ÆmSê)~õ¿ŽÙ¶!0c¦ŒU‹º•èIƒ±¬ñ´”±¾@èOϘ(36U‡Hé°ñ:DNHb8$ªKR;,â1lÃa6¥“mèdU¬“©ÙMîÚlmŸ¨õ:DÝ\·µº¯JÁ*rÆñ”ƒÕ#ãõ”nµ¦Ñ@Ú„.;颶0S&ÊUûO¼0ÞñÂ~ÇÈ¡ ž•pØ>Ф*Þ2Á12ŽË;†êÓ-HtoqQ²w¸ÌÙß‘l¤§vl²E:²I{6E×"MòØ"O,jU£®UüË_Þ¼'\D ï„õ}P#Í’~²¦þ aæ%mG0Öfôµ–^ 4’ñæžW›?£l Ž“tœˆÂÖxí¾ânp„¡ç˜Û#+8ÿtCã¨ì\ŸµÓã{÷"Ø¡: TcN ,0)ðXÒç i|Ü$ÁKÜ4ÁL+ŠÜ ÈMŠÜ¤JU´ÅÍÝ ýLE 1¿°0_Ô˜ƒ &D*r¥Ð®÷«×$tõ¡cè5²V)j“¢gQ˜&RQ0JôA‰n”ØEÉa:¥Lß`§%ÇéM¢Ò¤ÚçUÅcG vbQokò\gvtÁµý ¥ÖW`eƒU6XQ»Ýan ÔMK±¶¸ÎÏxgIy` ôýaÎÞ9·Å9Œq† Ž“0høM‚ß$˜²D´-Q2­Ç<ÖLë1K§K$*Ó`ìM ˆhöiˆìð‘Bah­H}‡j°ïŠÎŒâ€i6æ±9à½úœ÷ÚsÔ#JÍFÓ¨ñÍ”¾±¡“l1å°¡¶ôuÁáúŽŸ¯¿ÃÞ¤L1•¦R©*•¢’+Ž“b÷o8Rî®Æ*í³Lú¬Ó«´Ou¨“6nÈ\ qŠ”0ÞQ'JŠÖ¢¹Ímм†B1Yé]ö©hhuMGlED§ŽÐ›ŠQ½àËæ=zÓ0nf¤ö~œ5µmRËfMŸU;`-¬j™*È•wÐz VgßÅs•7LqIqš ·IqŠ ‘H6eȦ ö«ì£‡zP£FPB®±Í»Üç'¼É¿"Åf«yD†OÔxûN³lR¢È–mò±Èú©I+$‘*:4B’Y:½ƒ5½ñç ÁõbÇd=è Ÿ˜ˆ—v'î¶£Q)yèPŸ+LäfS¥:þßÀäßlß{â‰'žxâ‰ÿ~²Âï´¹æßÿ IáòMxØLx}ɲìS ´Ï¥Sº:»Ç.ò‰W.ÌHÌ¸à ¢!—¯ÎI ›ëɪSSYe¨Ñ­æ8JÊØ~dlM´­ éy¬ÎmKÓ5‰S¹î±»•Ls ËU1=ËS°<•öä´dC–òÀaûÈaûÈ®ò¹,Ÿñ±xÆMqŠ*%¾š2RW¼Tß`“c•Ei3¯Æ(•$wú÷Lžß1–÷,Ĉ#æõˆÅÕW¹â@Ly©¼ã…xÏLí«ÕoبDž‹WI̪ÆŠ=dzSÆÖ‚ÄrI ‡XwIl‡H ¹jŸq)ŸqY_°(Çô¢ˆI4ãËè /£·T†ÆÎöˆKrZ2b¨Mœ8ÃYe¸Ëc]RGM¤ÒD{3š<äAKñs•<âuëϵÆc޲nÄ•€+Ñ”ØNŽíd˜NMíªäŽMÔóÙž4ŽŠïìðº^cç“Í {U2YÍøfý#r+h· r'[³.1ë³)0ê‚ÈÇî1³£c.vL;ô†[z£-={K¿Üà®3‚‡ƒûb-øØ^pÝžñÑyÎw„p%ÂiÀ•¨nÍEðçÁž9ÊN“cÊSVˆV²­.³g¼Î¾áuö ™gâ¾1n¦´Àš.+ºìI‡5% ªZ§QU¦õ˜ªW|Ÿ}Íëí7¬Û.KÙeÕö(¤b)˜vo§ôœ ¡¶E-âPR+hQÉäöç6嬹f!ÜinÕ wbÂN è¹kºÊ†ž³Æí'\¦\eÈTa•õ¨º:I×!r;˜JFXìH¢%õÂ@Y€fJ´Dm%ªÕP›£ÃFé°Ñ;ˆNª;Nê[̺¢_­e Œ¬f˜-ø²xǦ²é†¬•€È¹mO0ÚšZšlš.M¢!—ÐÞ ¤¦¢Ž2ÂîöóaÙ”¡6§—¬é%kúév‚7«—¼Y½d· Ù¤}”C‰zØ L$jÛ°+ºÜ'¼)bü"¦‚RרL•²Q‘­B[ Úf?Jšg6q°KCŠÌ¤Y«¤‘MIÒH#ú7%ݯ׸VÂ0X²q;8‰qbBÜawRs7Ш\Ÿ•8Àbܳ”ƒàžçgïЪ†‡œó$üžxâ‰'žø©ò“~gÍ ÿ}~Ë]rĘÿ ^òÝÃ_ò:ûŽ[(%¨Ÿ­Üã¢Ví^øµŸÇ €B´é·“C4µ$ð"úÊ’¾XÐWæ Åœ¦Œ?W#5–½m†îµÈ¾Éî{Ýmß+ˆ÷tè†ûµ`í2,%Å S¬ãK-ÙòŠùÿ‰y=‚DávwÊl7 ¾Ð>2Ô—ü\ûžžXQ46³æ€M‚"üÁ–ƒÁ#_ôßsÑ{Ï»»¯(îïYÜ8×®90g|k~ÇoÌ¿å“q†¢KÖF—Êž㷓hÛcWãÉÏOÁ[Ðúé òP§°trÏ r}~—ý5Iær•^°ÈƼZ½e2ŸñíüOüÍâ?PTÖg!›qÀú,äÒ:Ç15‚ >YnBÛÒ– BjXEÎa|ÏÏWâ7³¿å4ýÄ ÍvèóCþ%WòœÃvʈÿ•òþúw(†„ÛBž™àµ ‡éíR€Ân÷®ë6ûûP){±7Éø§°{¤)H»6ëA‡‡É˜‡£ ,Ús†,ðêoqn2..¯xùwïqÕtïÈ:ú •5æ¼ ?_ÓÎM ÎZ8Î@:0¾} ÷þ‘/ÞÃváò·¿á~pÄ÷î+~wúßð›ìoqw)/ß¿åüDz—;ÕçÝè þÞý%ÿ‘om…®±%Pnè‘ Y"‰‘LQjØ‹û®Àx¨aξf c…å·]–“ËŸuYþ¢O§ÝÐmÖ{C˜f5(7 ü”?‚h€è쫚dÏl¢^ÈìYŸº§ÑÔ zUã×)vVbGS&Ó)Ü x`"ÿ¯ëÿuWí»/Îõ_=cvtÁwõkš¡Â±zË‘v‡ÔnqÖêZÞì8|÷H»Ty×ù’›î)¿íüšè|‹è4(ÝÑ©Ñ:%ÿNù˜JÆ©ò‰\`5%âóO‚ÒBT‡\fÏøýö—üíî7PJ^y¯y•¿fÜL1ÉilÙáS*3$ \j¡Ñ*óhÈÑWü_ÙËßF¿Ù?_´…€„#0½ßOé{‚þŽr¤RŽ4ª‘ж+˜X÷œÖ×›†UÙ㵿 QáQŒÈ ÛI9rnxÎ&ín–Ðä묇È[JKßçEÚ!BÔô‹5iäQ?¨·Í–h­D3ÔNCm«¬”.×ú 7œÐÔ*ef`¦%ƒf…žÕŒ¢£í‚v+±`V˜)fö€ **i5=ÔZR¦‚v¥îƒkP‹–PÝrؽçyðŽSóGò£ô‘Ãâ¹Ö°o2¶×!ï?½d³êÃKö‡2-àe‹(jÿ«ªšY¢Vš,‘­ ®÷c¦u¥Ñæ*m¦@¶ì`Ý’~²I¯tøä’T&Ýd4ÎaÊàlÉÌ™àô%ú± MÈîD£ø¬Ý×JÂEð‘/ƒ7œÞñ%oñˆùßÿÇÅáí‰'žxâ‰'þËñ“~ŸNùŸÿÏ_°ªú¼N¿æ29g›ú ZtJt­@7K4¯„chSÀliÇP/Uê•JµT©—*m òê­iP˜46ÜG ”Òd¾¯|î×ǩŕòŒõ€T±Qãù>ÃÌe_%”®Néš”®EéTȪLC¼±÷ Só”Æ0X¶MÈëânªR4£bmu¸µyc½ T6|ÊOXd=²ÜF4-f[à³£/VŒ™²ÈGx«㮀÷°ö»|è=Çêå$Kâ¸,Ì>¾ñ3ó;‚fË¡{ƒ¦Ä©ÍM}ÈN Ø)[Pä&¦aÖ¦ÌhEK£©8F¸}ä¹úŽÃü–~±À)“}LC  ìaì#|±ã˜[4jú,ˆ•€ÚÔ©]ƒZèxJÂ…òÓIYö;Ȭ¥êiŒ´ß®¾ã@NÖ êJçMõëz@»¤·[ÑO–ôÓå>ÇO³È\‹¼o’Z).ií’ì\ÖÛ‹ÇÇ ÿõÃßC _w_sÖ¹Äín)»*ñÀeÑíqgrÍ 5*B@!‡í-ÝzY&4¹dé¬Ý«aõi©*˜'æ®ÀÜå¨jC;È‘B;ÔºJ¦d¶IÞ1Ø-®Glóÿí|¹^rº|Í`ù#nµ@„’°Ýr6»¦xmàl2ØÕ¸IÉltÄßýµ&X_×XG–Saj5šÛ jtÑ`Øn'Åí§¸Ã=©ˆŸ¹LÇcn¼c®Å ”±/«ÍÐÊ=-УœB·IÌñ0$>íPv h$í§ã.ÁSKè´¦, êSy¢Ñž*`CQ™Äwå{“êƒI»¬z¬º$bPc™þ¨ x™â$1‰fë&±fÓ謡Y©wÕÚdêÒ –ƒï/È ›©ÜßÊ„eÖN‡[ÿ×ßâ©1WÛS È* Q~íŽ^»ä€GÒ£½ð»-ï[Ö£.ï•/ˆOƶ›¢Ùž³åçöw„bøšaV)»ÒaW:ÜgÇÜgÇÜåÇĹǰœ2¬µS|"jUÅ6Fê•¡rTÜЫ8uŠ"%ø œ¡·¥Å#æ˜[ú,xÎ{*Õ@*кŠbµ˜nŽÙÏ™§=6™OSkŒš)ýÕ’j®‰~_ó[Ñá‹í{^nßò"~G˜DžÁF ØxÖý…6`žŽ˜§céˆf¡wÖ—<#`‹Ï–>>[&òn³ügá·p>:ç|¾àóTžFPo «-Aah%§ =é)”Â`ëøìºÛŸdnÑä[d¾%xûþË©2e(q•6iˆ IDAT¢+ Ùr>û„»I9~{ÏÂè²4:ÌFÇüpü3”~CÿxM÷pCßÞà¨)Â6˜Ý’ÑfÁ0Z 6’ «‰'Óјî3~/1ã@™µbáá°Áª"¬4ÂŒ*¶ËÔ:âqtÎãgSaððÀðê‘áÃÝxïäXöç¬Gƒ½Ø«?¯ ûl5½Ôa-»¼“/xÛ¼ä|Á]pÈ´?bjŒÈP$fÂÄšñܼbØÎ)<“üÐdîGp×fFCϘ#hßO/¦ÜOÎæ”ÏtŠg3uÌíà˜ŽÑUÖôŒ=gÍBíµYeÒd …a±T4­ ª}ù‚IþÈA6e’Mñê˜ÈØš2'$Žƒ·?^àkþ̯øïxÉÛúo³—ld‡uÛå½ø‚Xõø¤Ÿ¡·%2Ù›5k…Pl8·õî8îßÒš°èôˆÂ€Ôv(°ˆñØÐÁ#A§F£æ¤½áŒ[D ×É)Ÿ’S>ŧ<Ƈ,Œ-K{ÀÊí²„˜®Iâ:ûÒ\R\jT4j\R¡"5Á{õ€Ì0 ­-·%(#ì2e=¹óvþ¯ç?ÛgŽ:9ýÓG_ÝîE¢cÚ{Áر6ŒÌCkΰžcÉœB1(\ƒ­å±²û<6#"R`½ð{ Nôƒ#,ЇCû‘‰qÏ¡qÏD»Ç+̦Â,K̼"jB®­®­n'¤¥Mpº&Œ7„»5¹¡{°¦{°ÁèVTè4µFS*ûNa Í®¥ºmTT”TÇ9ÊEŠuj[:ÎãIø=ñÄO<ñæ'+ü®ÎXFÿi)T}ª§Sõu„#÷¦ZL`®ñ½-Ò´eï@X+ì~«!4f£‘бƒ¼w!7`fP/ d¥Ñ: b en²¸1ÿÓ˜ÅïF좀ú/j¡ÐŒ”A=* ÕœšÒQÖÒD‘µÌÉdIóGú^£ýQ¥ýG•¢k³¸òþ¢A«kÚ@P©:•¦S©:ŠÑì…_pHÛk°µŒ[N˜W}²ÄF‘ÿ$übz¬·SzÙ ocÞ•ð~ßYÙù>Ÿ&gèfʼnsÍ ïG^xoxὡ«­÷n~mCÜÚ¬Ó?._ñfù5?f_³.º|Q¾åyýŽ/ä[ŽÄ ªîï<òˆÕ¦U7ôê%v“ Úv3a³wM{á7`IŽEŽªH¤)h …Öä­Í¢é³²OžÛÜO™PÔ‘ðèŽxè¹§|ªŸqµ½àÓîÞ"á—¿çôæš_^ýž ù1ªQŒe\“]XìT—…ÚçV=âŠsN¹&$¢Ï’S®éÈa½Æ(SêB²$äûŒßþŠßÿ5åÈd¨Íj3Fú [ͨFU©¼±Xu¬¬ÖÒ¹Éäíï9xó{&o¿çðÝ8U Çî¨BŒ%A¼Å™¥oî©6o&/ùÝWÅ÷¯Žøý—I9Ö9qo9vo9vn ´-§R;uOì ÒØFìZü8ÆËâÀgŽùè^ð'~ÎD<‰]ë‘aá·SœJÅM+Ü펙éòÁ:âýè>|ñ-FSóõí1®¶ý]B÷~†Õ‘XÝ-”°xæ¿Z=ö£¢Ý}­Dw¼à·üšßŠ_³Q:ÔŠF¥èT©†Ö<:1“fÆsyEÇXsïMØ„÷ꄹÒ'U =± ›/¹x¼âbqÅÅ—œ}Ë›øo´Üöx#^00¶÷ä­ÉBôØV>yf"c…B5Y(6øÜÕ‡w„»ƒÝŠ_ìþĨžó_ð Mø“ù —î9ß¶ä[þÈ7¼æ/ø3¿­’5¬Õ.äs6m‡D¸\«§èZ…-m. „¶€‘3ãåè^ÞP ¬`ïþi©ºïøÅxDt°(Ш9äq_í”Ãö‘ߥ¿BÌáqvÈj6À$,Ž,‡=VÇ!¶k(©ê(.6 * . µÐh5Ø©>…a°!`(g”­‚Ò–¨uÉ:êp·9âÍ_ñ‡×¿dòüž³¯/9<½åìÕ%¡»ÁUR\‘à( ¾Œ «˜ ÚV15*ScÄÎòy4FÜU‡<ÊÆ~Ú}®€JXF‚5Jêœ+—¼ïøB¼§Ç¿Iñª/K˜‹!r¿ÁñbjW!ÒFrʨ™1’Sºí]¯ÐõM¯©¥¾ïø*í玟\KÊMƒØTˆMAùU†Ø¥XjL8ØÒSvèÒø·Øîžxâ‰'žxâÿ~²Â¯(%EY£g¸£V¸G%ÖQ…°*”¨B¼-Ig  "ûu }¶§Óvuè MÚV‡D©Ðt4Š­Eš{DMH« 6^HÔØùd¡yâb¬ û<¼/E”ªC¹±hÖr­"×õ±F«*ÔP¢]´Xû0ÇîgØ^†æ4û“äÏ¥h zS¢$-óvDÓª,g¢y‡b¾w­ÛV!÷ò÷¼Dm>l^𸰋}ÚD WÕ>vÁLq¼ßÐí’ÚRÙéu«R•:UnPå:ë´ÇÇè ®’3Ê ©tˆ[ A‹EtQá±£ÅùHàmÐÛ’JUÙâ3ÍGa@«C&¨3¬´‰êÚ†Öì&>yeÐx-/è®é-é÷—xÖ–ZÕ©Ô}×bÕöˆé‡âƒ‰ü¨`j9Ž™á^¤¸¯2úÞŠQ0gè/ L½ø—¯& mfùY:`6²Êz$sxîSÎ šXc‘ y—I\ù\Õϸ_ò°;b™Ràª1có‘‘óÈ8œbû Æg1s¥œÓd*ùÚ!_Ùä+›m°¬G,šYm#´ «Íñˆé°¡FÛßù\]=Âw¶¨jEai¬¢.×ë3Þm^ðný‚®µæe÷-F¯fÔ]b˜1-ìíM[PdÂe©Œù¤ç\ºÏ˜ëCfÚD³ñ´- v›â´v›qž_1Þ=ÄÚ®Bª åÐ k¶fÀÆê|~ûj‹×O°¾(PÝšæL-ÜÑŽgá%yOÑTŠA) V¢ÇZï’x*ŠY6 çâŠsåçÙ'ÜpÜÜq¬Üá[1Ô÷IwUiP`‘JHXi]fNÅ®8 n°z9çñ+«ËÊí²r;¬.Šhp>;Á:uJO_2ñL´û}W¼Í鲿Hܳjz,£Ëù€å|H¼ñк»“twôüº_p’ß`§Õ »Æ#‰ÖÛ>·W'x“ÆŒ'xjŒ²eÓ¢lZŠÚâ±3æ±3b×ñI5¿Iè×+d¥aä-‘(‰DIÚ}7.kÐË «ÉpÙwø‚*ƯwULÚ:,D©2æÑ³S}U 5…FdµM±5©4ä{åJL¶ '3“ƒÉ1”ˆD„¡H|v¨4$x<0AVylS,Š;ôCÉ0¬œgá%u#Xßú¬/=/‡”[ñ³£gk”‹†`”¡‰PÛÏQ `v|§$p3|'&C9 ¹;<£õ=,«b­þþIø=ñÄO<ñ“å',üvì…_ÎÿÃÞ{5I’]Wºßq­=´È¬T%ºÑ ä%y•Ù¼Îßû †fCÐC4´¨ª.‘:2tx„kqîƒ'˜ûÌK³6ËÏlåɇ´ Ïé¾|ï³ö »äùÉŠÏ¿XÒ;.y÷ÇêNYüÑdùÉÁø[^ ô@Á¸dºEéXÔ¡…ذW!W  ªT%Í-¨ªFAÚ´sé“úŒ*#ô7L½[NýkºÖš¥°}–bÀ¦ê’®lÒw6ÅWõW*Ú« ïç{zº?ßpf_óœO\ð‰ç|Âkâv¼@Ô0Ë&ü[ü+’ÈᇨËÍöŒj®Q-4ª…ŽŒ‹|È¡ò¸æ‹Œtm“îm²ÜFJOÙ31îyá¾ãEø–ÊÓØ(ÝVbJT„Ä[ŸÃ­O|ã“\rÃ$7L ÓÄÑâÖøÑ¿mìÞ_0õSÍQ­’ÜÓX%.£S¾ýøsþðþ7LìŒãšÑ³²þ€îÖí¯hþbü2Õc©Œ¸R/¸G åš3÷†Ô¶Phè˜Î̸fÄ‘yEßÞ0°ÖôŒ5Š^cR£ˆwŸ´Cµ“ÅÆ \”[Ô´ˆOl’›èÄ#²\·+¸û*Ã]§Œz+‚~Ìiï–¤gó}ï3Þ4Ÿq¥ŸòÆ}EeêxaÊd¼D=Uè»NPr¬ÍùEññN°ÿ¡&zS±S‘,%9#È(®`p¡2¸Ð\¨tú‚¤JHë”´IȸŽ@*È3•üµŠ AÎj¤”5y.(sAý£ñS Q_–Vx·;úz ÷ÕÝË5Þ°Ä•˜£¥ßÐk‘p$îȰhæõ¼¢yh×Ãôsö/º|zñ þüò×4#•NwG§»¥cn Õ-ÆIE1°Ù|6DI5D²ÄLÁKs8¤ð@›$š@“*,«oÄgüÞø _¹¿EšåqÞžkìðÄ@Fì‰x¶¹eÝãGú}I-TJ ÓfúìèühúrL„ V?Cs+䱤ÌTcoDL;ü&b!FÜ3á^™²–=ÖÆ¯2” $Ì7œ§ŸøMö5“~Íi}£&Øj[‰:¨>ªPKª0)j›Dw‰Œ€µÞanôÑƒŠ£ü–³ü=¯yÐGÜGܘÇÜSTQÊ-¹¥Ól •-uKGkW]–tØp$îH±Y×]¾Ýý’Ã]ÈöcO÷8gáyDß_2vô<縸椼F©áÝú%ßlÁíæÚü‚ ¿ãuúg|mÝËêK̨Ä|(1g%IîOMæ ÙÛ> gÀ ^‘2×Г-‘¨±D<šy%mЋ»ÊpeÜVúª=a¶'ÈäÂbmôxk¼äóçlÔ®rÀ¿åìâ#g¿þHmªÔ†JmªTâ/›êâv* QÑa¹²ZXÝ ñˆWö^uÞpQ}B­2¾»½`ö'«¯†¬æÒ¿5Pš† { ÇE"4Ùž °Æ5᳂áqÊðÙ˅¹³=–ÖŠ [å§ÿ g·'žxâ‰'žøÿƒŸ®ñó€(“ó4Ç;ÙÓ;^ÓfÜ]´´¢šé$ï<Ê®ÀŒ¡ ž ŠI™Y4ª ¾ÕŽvÈùK»'¨mR×É IiêÔžŠTjSãÚ1}{Å‘yËH›c‘aP Ð %ŽlD{m® ÐA˜€.¡‘ˆšvq-Û ŒŠ¶E.{ƒtí°_ì66)1~<Î’Ä%Y¹í«˜ƒ²iPdƒÒ­1.2Œaަ¨q…¸}Ý`TFmäT‡kÈLƒBC­À4sJC§r4,/Ű *]e'š5ª¨~\©JÙ 5”Ð$*U®“W&IãI‹BêÔREJÙÆ®QI‡}ᳫ:lê>K9âÞ<âʈKÏ0EŽ¥dÈF Ö Ô‚¦V©bƒlis˜ùlo»¬n‡,Ý!‹Á€y=dn œ=~ãÖ1¾ˆyC({yDÜ8L›;bÙ¦y $ÚãÍ[fH)¤¨MvU‡e9d—wHS‡&ÓÐ ŽLé8[Fƒž^Ñ›®0:¹ÝVO¥dÒ%Áã cî™ðIžó^¾àMóÅe*ïÑ(é‰5†,ØÔ FU 5¢”ØjB×[s4¸åâÙxðˆq)ñÈJ‹¢2ÉK“¢4Yïz,’1órÂBŒé²ÆÉcºÑŠéò=SÙß…l®û,.Ç̺8½»“â„{P Ö3‹CdPH\0{éÉùš“çT†J‚CŒÏâ1 5QœÿäÝO<ñÄOüÇñÓ5~G>üŸç4Åg*ÉqÃÎ-QDÂ^é’i!• 5&Twù=Ôª¹N=שctÚ@ŠöZ¿Ý÷u"Q&5ZPa貂:Ö)·ÀVAT£Sáv:ÚŽ‘ù€EF—5SîØ)n{Çܼ|ÆxÆ¡çS:&{+ ¹WÉ.¹å°3úܘg|o¼Æykü«~Û¤ÃÇí—Û3ö‘ß&Þi´ÁãÏ©´É‰wÀ 4½D÷sŒ^ñeJÃVíðñãs¶—]‚ Âïï™ô¼ìD É+›Ü±È'Iã9‘ã9>…£a:)§Ã·Êk®ËgJ¡è¢À“øÉfÎdó@¸9f#æœN/‰º>gɨ7ÃíFˆnMnêä˜dÒ"Çä!°Ù„${›r«Q¦:3oÂ7þÏI<‡Oþ9ºÌÑ•MÏÑÉɵØ –WVûöb_qˆÕ6Äb›†l¢>ë]MÔgozdcƒ,4ÈtK¤ZE (¬%µ£² Výëq—åqŸ÷îsî¼)‘éÓ °q:¼^)&3o‚¡í¼@O¶7!ì¡ÄЉáì€1?à®#œM„»ŽðH 'Àì@ÓQÙŸõxðG|<sùåˆÓþ‚“þ7_`¼[G:e`qxmO,âÂFcCó-ÿs…JΎלo8;^3fƒgoñžíðË{ºšE™J[£èiý6 )T²H%ß©ä‘JÝ(Ø<0žÿ/sl§æY¸ã¤³ãY¸Ãé””=ª§Rv5D]“.kÖï%ù’Í%h;PwíÚ¤°K⤡njT­BhP)j[­C"¤¤¦M>MqHL—m§Ç­<æ½Ãˆ2êXÂeÉñ·ï«)žÙ­Nlê‘þhÛw9 ­Rê«‚äªb}…L°Ä‚¡Ò`ŠÓÐ'ë»d}làÒhjÙ0/Ǭä€='Ù5Ϫž•78EÂ4žñ‹øÏ8qÂgÅ&Ý{&½“Þ=£ÞŠÔ¶Ù;>s{DæØ,Õ>suÀB²`@7Ý2ج1Ö5á:&PЕÐd]›Äp¸O¦Ì’#îã)wÛc®g§\/ÏØíBd yfËzÀGìõ×ñDŒgÆÌ¬Û êp\#ý†âH#é;lW‹)“²I(L¸ôØy·ÃZöØ$}öi@–Ø”‰†ˆ%¡µåäôŠƒç >/PŽ*Œ³‚Å`ÈV °E†­eØdØjƦérÉ9Ÿª36UEi°ô‚¡¶äBÿˆ+bj[gßíð0"r‰>*±ƒßÜÓeÓFAI‹9#î™’¥6edPD&ÅÎ$N<¢< ö\ê3…›;ýeW¥!Ú¾àænÂM2æ ©l›mÔåæ]B‘æÜý ±hzÌCm ;`{]kËT¿çB´æsÁ°ýEûÿªú Ÿ2Ÿxâ‰'žxâ§{;òá¿\ ˆb$‰G%;7C°ç tÈÔZ@÷ibAyµ„r2Wir™)H]€K;4ØnW1eÒ …5ºV"kA7(k‰xPP £.qµ„Ž»eÄœ.ÊÇI[™°ø®ÿ Ù÷|î^Q,Mš¥F6s‰þ\³¶†ÜtΰÃ;LÑôº5sh/ðö»}È!òZƒçü•4`¬µ•h%ÖEŠý<Æy#n`û!dû¾Ã§Ï9 ¯øâì;ÆgùÙé÷„ÁŽZÕ¨•Ú×83kă=dfXš}Åf­t¸QŽÈ*[ͰdŠ¥¶)ŸÇï áÍã¦"t÷ŒzDS¼§:Cs†kîÁ¬ÉU6{|öø<†l7!ñÞ¡ºÕ(7:³þ„¤çp]ž²££¬èêk:õŠ.+Ð,«¤ãí‘ Ugoz¬.k£Ã]qÄutÆõþŒëý){ÕGí—(A‰jTôšz`h¬ÈM£5~AÀmÿˆËÉ WÇÏxÐÇÌô1‘î#…`ãtɇ&÷Þ„oÇ_ *õ{ƒ„.±;‚îšàlE¯é-ø×„W 㫌^šbLÀ€Ñ:T9ø=f§ÏùPÆwÍKšä-NòŽqšcüð@a*Ã~Òaí„Ä3íý†Þû¼ÿ®YpöyÎi’q¦ä  Ý.ПåA¶eÊöq¶^ÕX%ëš$g6ɹEQêä…Fžë…N}%°ßϽ_Àû?(§ƒ‚ÓAÎé @ŸhìN}"é³s|²²eCñ¾aûо#£hWlO%IÒPÕ5ª^*©•\˜ÔR¥FmMŸtØ ŸµÑCïVèv‰Ñ/ gk¦ß_1¹¼âøûK‚tGñ¥CQ¸¾K=²hË£d…¾J©ßÄÿVS~ ¢J0i‰CñSq¡Ã…Žx®±ðÇ|àÄs>ðUÖü:ûšê Æ;:Ñ–Éúgs²¾&‰œIŒ3NpÆ1Î$á®?eÑ÷¹Õ¦ÜiS¶ZH$‚GùhYM½ÐЯ+‚듟êäÒ s ÖZËôœ7ë/x»þŸ–çîöKŸÃ·Xg&û²5~ÇxFŒ£$¸fŒë'܇#6CŸ,5 ­‘†¤ð5âÀfg„ØJJ蔦FÙQ‰+—­ØˆÖø­ÓûƒOÛT±†H$¡½åäôõ¢ §-xp‡,ü!soÄB èj…®–èFIV9lŠÞ ÅËÌš+.”Ot”-{»ÃC÷k’!‰>ª°Ãßl÷/䛹ñ礩C¹2)gå̤…£S¸ÕP!©,î¢#¢mÀUt†²n8̉C¬;Ô6l÷ ù9«ËÓÔI=Ò¡G20`(°¼Œ®µáH»ç¹øÈ’>9&ºdX$U¿'žxâ‰'žø©ò“5~æ@àý­†«hºM¡{ló&¸jŒ¡nÑÕÈ“ÈXއܕGäßÚT{ƒdcS}g Ø ê¤B›<¶LZРRK…F*ÈB *@J„†ž#m…&h%õ6‚œX¸uRazîùÿowd†M2÷ˆä£ë¥ò#–Z04VL›{t¿}´ "qìvO’qDß8æZ;æJž°“3Æ<4cLrLr,Ѷ¨©)8»œÎ|ÏøzI550‡ýÁŠü¥†m§8ÍJ ¶MˆíN®-!;Bfù”…ìs(\ªDEî!6 Ã`kv0¬‚¾µ _.èÕ>{ébh®™6;ªCªYL—½é±3|æåæ9oœ×|ïA,]{K(6é'Écƒ"Ó¨*…A¬[¬€Y8äfpľñ)]–„ùŽZjdºE¬ºÔvÛ¶úø*•㮃XšŠØUXaLhm)*ƒЧwaA­ JÛ&³:ìí ëŒÝ]Lt±WÖñÀ&ö|Ò#Ÿô(7Á]lѲ%Ý›%®Z2ñ4†=`¢a¹ Š#®F=U™z]·ŠkØA©é¤M4öˆ.<*¡Q£R¡QKá$ØÛˆÎÛÊýž^]p’Öœe5çy ÂEõ'ä=“ªÐH¶&âNG¼WP¾SSKÅ’äuƒ¤BU ,-Cj B´©Š5*%:ª¬QEBCõ8T¼1R tƒ0›aÍc¦ïo˜F·ä]âħÈvÏ™»CL3ÇÐrÌ(gRÌ‘ó˜’=Õ8¥üeC¥;/Æ|8ó¶;Bx–’b+–’ád1aÑÙD„öÇLÈuƒ½ê±Vz,ébÊ“ [¦˜2G ò ª€¬£’Ö…»£ò"¤QöLVÃ>—ö9oëWD™É°þ‘&éÛ½h>è>èóû6¯ 6§ «î–•¶ QÔÿ¥µÚ{:l”qÈQf â¡F™5„‹ §ËOœwô–à¨^ šcAá)TRg]õY•C–Õ€MÑc*?0ñ>2™Öô_­±ö`$f/yl­@Íã±X´s-¨U…Ô´Ùõæ>ÞdJrìD­ÊØ goèÚzΆž¹ÁSb¦ÍàÇ2,ŠZ§|”‘–8VÂzÚãkëKœ2ÆÕcÜUŒ‹%yóf]2ª—,œ?Á¶Â?Yò©Aæä•͇ū6âF2Ç  Õlöº‡ªKúMVT…μšU.›zÀ™ü„ÑÔ š5GÚŒHýH®Zt¬Î.f™ ø×õo¹^‘4‰j‘˜©c±Ñ:¬•R(ô•5©°hwiê”!r+YŸÄ,;;Ú’ZQ‘B QBÐgÅ”{&bÆ„îá€~U }[ ›ãD1Ý`K×ßÒû<ÆèCýLP „'¨¤Æ¦ês™Ÿó){ÎMzÂké`¸5ÓɆAª`¬jÔ hP›vÏ£R·³¿´Q×PÛ*©m±sæöCKY罕äÅ%gÅZYÑ+Zã7ipó˜Iü@Õh4…B]ª4…JÔø¬Í.«Iw“؇Œ“ù5'‹:ó|‰TŒ‚%¯ü÷ÄŽ×Ï€¶°,T>XÏ[U|\B•t‚ GÜâ*1†(°¤DÃ3b¤¡é]nµ×90éÝóÙô{~qñGêŽÂ5'\s‚JAŒûãÝ|“œj§¡QQ­4’È[Ú ÑÆ‘‹P¢y†™c«1~7Âëð^ðØ3_Løxû‚7/øtû‚q:§:gò’qó@°Ýl÷°…‘\¢aHêžB­©Ü× icS:Û¢ÃVö@¿-ð¼ó?s¿ágFÅD¹%nuÏøÝ‹ßòÅâ æUÁitÍäzN(£ÖŒsÐ|‡wÁ3>_òOÁÿÁ½3adÌê FÆœãüŽ,4ѽ’®³¥g®É ƒ½æ±]ä’N³Å’)ýfE˜˜ù|J¦¼"«"ò\¡*Rd±$¯LVMŸ«æœoª_²Ï|õžÏµ[zŽÃyÄq{|\@u«^Áº³ìnXjs*¡Ó6u*4¨Œyà¬áœOtk¬Ëó ÖO0ŠýW ý ôŸAýB§ô! ÂU(ÑÙ”=®²s¾9ü’ïãײæÈ[#¦Ÿèëãž¶¢mP’B› ›ÐVü$ˆò1YWJ]!µ,¶}Ÿù  kî8âž)wUéÒF]ÖôkX‚§¶CÌÇż}—íc‰LBœs¾î~ɻΠ¾î}‰±,¨w*ájöÇKF»£ÓâL¶ûÿ?{sËä¿§ÿ7û$äûô >Ì_Ò4ÊPBJzá’¡x`lÝ3P—dż˜2?LxØNY' †Õš—ÕG´RÒÕ#òáB—XJ‚oîx×|Îmr»Õç|¸{ †·A„’†>KF<0RçôEkü„””RG4Sä Õ9ÏõøBù¹|³ú’ß½äÏÿô%WïNÁ}Ü[íÆmÅoUà„~ÐVüt$<?Ô( ³›aw ´NùÈ >ð‚÷Ä¥‡fT$žÍ|0&—:޵§g.™X÷ôô:%š¬Ð)‘ÀÜå4»’xW#v’]Òa÷©Ãå%üF¿|àH^3íÝÒ{µ|Lnþ«y«O<ñÄO<ñã'kü 4 ¡:³‡pŽ!8…AŽ86aÊã0`Ù®ɶ x_=ÇÌ3öµÏU~Ê·îkf'ŠÆÀÊK<-Æ×ÖxÚ 'H°*Õ&äîw}jÓe±³]õÈ—"“èa…ãeønLhì™ïû¬ö!û>ó}Ÿëëç\_NØ^ùÔ[•¬k±ÉºÜTǘMJݨ̚ ³z¼™&Ú¶DÛTèÛŠz«EâÔ£hvE¿ZÑ/Wô«½fMho ª-ÁzKx¹¥rT K§° VÖ€Ät°‚ŒéøGK˜sNÕOôÔ¦’ÿŨ¨€M£¶# d‡y3ä¶9bÝôÙW!yeA©ÐU¶ôœ ]mK×ÝpäÞò,¼â™uÍD™A"ðVÌyŽòд/õñqlPÇOð­¾¶c¨Ì ºWP ²3}ºK"òƒM™[Ä–ÏÚ죙µ¥rLù ^Ò[Íemvè¹KþÎù\+áåŸy¦\ãZоÉ"ês·ësõY`ž5˜‰å4˜ÔøV‚Äx2Æ7b”¢€uŽ( Ä&'nlö£  :±|¬QÍàtÏà4BíQôœ|Åò94ÛÇÀ“Œ”Zeå÷Y{}VáãêvÉc‹“·8Ë„³ý¯6?0Ü.ÑÓª½À/hM³Ž“pÞðëðaÉ2ècy)–—b+ ¾z@ k¢#Ÿ+žqè¸ìL‡t#0¿^3þ.£×Yáw—ؽÓ`Æ îvAg«1ØxY‚SÝ¡Tʲ¤¶JìîŽ~oÆY÷QâœìI¥Éµw„¾ÊpÝ×KpÊó¡ ¬"Žë{êFÅ• µTijÙ(4@Õjt£bnŒYë=ÂjðºgPÏÊ{ü²D@Y¼Ek0:%n˜@„ Yô}×Ðßmx½çuú-Ÿ§oÔK«iÛ¼Z#Õ§mé åƒå¥ Ã9/ºïØw\¢ÐgÞÒs×(zCÕhøù-¿¥Ÿm¨3‹Ý%Ïv·‡=ä°Rû¬DŸ}VuŸ ŽèoWôw+z»5"”(Ï4Q¡û%…bp§!,ÁÊ0fA§»¡ÓÛÐnð{T¥iU5­™L€TB ¤à1Ž™à˜qû½cû1†•“+iaSl ª; y+H7<ãkñk †êœÍªÃÆÙZ!+µÇ]ôŒy4&q]Äs‰ávøω²`˜,î šU£³—~;‚Az!±•”Lqù^yM¹3X:”Gòûâ@›Ä±I›• ÉAm÷;#Aþ{Ø•„@‰˜Ê;ŽÊ[¦ù-Nc4%QÓåÏÍ—ì²—ñ9‹Ã˜ì` MG£ urÅ$‘ÍJ¥Y«4+•z«‚¦0ÖŒ´¿Ñ¾¦î+ÔŸ©ÔŽB}¢àžï ^o &;Bc‹ößõÄO<ñÄ?U~²ÆOH‰RK© ¨}pŽ 8ƒ¡ Çœ›p"lPÂ%¬ší>à‡â9ÑÁçÃþ۬Ã;fv:¡è8JÂЉ™8&Î ½.Ùï†Ö6ìã.qés(}òÂD×*t¿Âv2|'¦£ì™ÝXÞuxwwÆ›» Ö» ›Ý„íΧŽ²‘Å:ëa”Ϩ¥ –*ëjÀª°*d+õSò±AýXÓl²Ð& mÊ¡zV3Jç|ž¾áUúŽWÙ;,;Å*3¬uŠÕ¤Ì;f1³Î˜¥1 24Ì0åH9ñoÚVÂê#ýj‰QæíEÖ_?ÙÆ¤ïdȼsWs¨}µOQÙPªôÔ-ÏݼðÞó\¼§g®èX:Ö†PÙ’gþê€y•¡|hÚŠJÿQDíÖ8^J×Ú2PçŒÅ=¡¹A¥¡±s=ö…GR8d›²09øªßЕԴy`ŠIù£5Áµöô½%§ÁGúõŠcqÇ‘}Æ“Åîˆw»Ïøv÷WÍ1áùžp¸'p„ìñÍA°Ç7öøÞu³GÑ÷(ű.‰—ÕhÌêü˜åù1þ0ç,¸E ïÂ-ÉI3ØÏ`ÿÊ{ðð$x ¨šÆÃɘwÁ+Þõ>ã‡ãWôÒ5ÝxÍÉò–/Ó?2¨V «%Ãj‰V•ÿ˸jpí˜ÓÎ5æ>gÏØ¥e©R ÒT‘¶@ k"è‘åeŒ:¼¼C +¢ÀDZl+FÕjªFÃKô£ VT`E½tC/Ù¦{d!X‰>oåg¼m>ãmùÇë[>{xËgó·ø{ÄP¢*5šW£Kárg±²‡¼ñ¾ «l8ï~äbð‹á”a‰žWEyÕw ¤â/ÆOKsÁœa8GØ’ÊT¨M•B1Is›|cRÝjÈw‚$r¸ÖO(4ƒ™>ÁUbÒÊ"­,’Ê&‘;/$òBbÏEŒ%Á b:¼å¨sÑsË0Y2H– ÷+û²†“â1úi#º<¨#æÊˆKõ9Ie£:ÚËŠ££kF›[|–äÇ€b©´Æ¯NÛþ[«}‹¿z¿‡"⬹æ‹ê^gß’cr_O˜USî«)ËxÀfÛe³í’om¤"¨ JÑ)“‡tæ’¾uHß:T×Çã;Ž'·í:¾£h®NqªQ¤:¢× Lj”qbÔ$ú“ñ{â‰'žxâ'ÌOØøµ?E*ÅA=ø±â§À‘^H„#QœÅ)QŠmm>ž£Ì¡R4*W£ìꔆNϯ„15/;÷È…Âûß÷Ù| ¹ýêœÅõ„ÚQh,•ÆQ0‚=º[bÛÊ=ò­`õ¦ÃoNùÝ›_ËZøÔ§ Yl±Î{T•`/ªFc_†ìóQR¬LøÄ€?HØ@óKùK…æ•‚s‘2Þ=ðEôÿý3ÿ[ô;µATc'v oÓWɽ1eôÑ’¡¶dà/6KÆùœéáÞa…çmkÚ¿? eüäˆÛ昲6)*“²2ÛŠŸ½å…õžßÚ¿ã·ÖW¸jŒ&*T¥BS*öYˆ·>`]å(ßµIŽÔ€ß¶³© ÇIèZ&ꌩrGÇÜ¢…«±«}k—$wÈc‹jm—’•Ô°Øx!•RT¤gê%¿²þ•Sï#¿êügê ŽcwrìaÎ6ê0ßñn÷K~¿ûGÞ”Ÿ3b™t9ÿd#.%Þ.¦?[ÖѦ¯jû>˲røÖû«^Ÿ¹œð?õ¿Á+·”uÕl5ŸèT @_‚4@©Œ¸@OKœ"%p‹ õ\£ZhÔK=(Ñü¶²¦¸MÛV¨ðãM Úç³lWÛKuƒŠ`²bøäŠA! ¥M0¤ÆÛ9“ù‚Áz…VÖ¨uVµ¯ÍJöyÛ|Æ?Wÿ;ÿ\ü_,¿£¼Ñ ®"ί?!Ž$Š× Ž*Œ² PtVúÈ Ù{<ýÀßtÿ•¼¯aöÃ5Ö®€ÿ—½7ë%ÝÒóž/æ)#"'fr&wí¡ªö™ZÝGÚºèFþ±–Ù°o,u·túô™êTÕž77çÌdN1ÏŸ/rWu˾µÀxñ¼!˜ Fæk­wmÙ¥²¦Ÿÿöÿ´â祌ô§þ'“ºÉF Ùˆ>%$/?Wü~0~k‡+ç˜{{Ê·öK:º@nºµB×(´/Úg*ÝDÝUüü-‡Á /‚WµÈ÷lÊ‘Žm䴊¶ ¸]¡FàÆd+œ2£©té}Ö{ã ×ÎÆØqÉ\›Øê±ÑB,rzBGó`:YÑ;ßÒi-çç7¸%éÀåÂ=á¾ÞcSäµ…DPj[5`¦Mø¤°’b\¤W‰Ù«¦]b:%¦[¡5 2•È{I]ZTŠ…XB¶ãíEËèl†˜¶,û}Þ8O^»[åãuàu”¹Áv²Ž¬¢Uc­^íÚ†yä‘Gyä'ÈOÖø]^žòÿã i{ÜäG\çGĺ¿kå Ø"¨»–P›œ¾²Þ-×–lÊ!ëÍnÊwa¸á¼ûȹõ‘óþGHs¶k…íJáݦGSéhz…?¸c8YQÕ>³åôGÕµNé˜ÄÇrÔçþ`ÌJŒHœ>Õ0@ûP˜P껲O)°N †ã%ÇÞ§êGòÔ¼©hÞjlßöP¢š‘5g:ºgz<ÃösVÓ!ËéÕt@ãiØmŠÑ–¨]‹ìrÄÇâœù9£sL»À †Ùš“ò ¯Np‹¯LpËt·Lës¯õY»!ªÞqØÝr(o9ìnq³Œ‰:§ÍUüEÄÓô=ª"Uåó©âwk‚n% ¶´†[fh…D/*úõ–3ÿâ\ 7¬´åÀ¤X”}èØ/î8ÈïØ/n7˜½³W`xšSsd\c9ÓvÆWÊkV^ÈÒ Y}–"D×\w·Ï̱r<5¦gG”¶Á…zJœ÷˜lLo—5"–hƒsP`Sœ0·%w-¤> kìφO§ ‰¦ôÎm|Eg4È>lNÁš„!(…ÉZ ¹ÑöJGà‡p–!ô &ÆuN÷©$»¨h>•(«½œsR|O/y‘~丸⨾f,(J·û€ÿCŽd×–h°3&TÁz²šöYöIÇ.'è Þ58E–¶èi‹×8Ýg´Åù:ÃÀíñ€›ÓSn§ÜjgøÞ‚½ýOìLŒ/m0%?Jw¸OjzãŒÌŠÑêg“ã.sì‡7ÊpÔWMá@Ÿ8¤ŽKê¸$Ž·;[o§¦GÜzÈX 6’ãÙ5§›+êB¡h5âã!ÜŸÐ**ª¥¢˜*ª¥ÐS2Îó ΋•8^…¹ÏN{  ; ¿Æ¶rZUìÒ`)°?·/JEÁ±S”°¡2TâÀ¡è,riSH‹\ZT¨ŒÅŒ_Š’3ñª5i*Ëú„ÝXjN¯Œè]G|•¼A´’|eS¬òµ¡ÖL7wL Ü®@kZ´ºEi;ZUÙý~Ø=¨ +\ò1uª³CÖŠ¾±¢o,è+ £†@Aì (Öñ€ú9µs>êçäŠÍA}ËYsÁ“úcuÁü`Äâ`ÄâpÄ2`6%IÝã"Â]sH…ˆXůä[ð±=çc³ÓµrÄ­>åÎߣ‚b7dÒf^OÈ–.~¾eÀŒƒ½ƒ—3Â㜳÷¬&šöùÖëqQž2/Ç$ÂEv‚Hó¹4ŽÑ̊IJiPY}´¶ä¸»@U;B¶ôņPÛ"…ÛjÊýõ”ÛSÒÖe,Œý㿘3øË ¡©|7|ÁwÞ |g‹onñµ-¾Ø²ÜŒ¸ûtÀýÅwŸ(2‹Íìoß#<òÈ#?Y~ÚÆïýŸiLÜwț̷woÊ>ÿoã'ÖL•;¦ê-³ª‚ ¼sؾ—„{žXøõàïù+ù[¶©Â?òðöwï© ƒ“—1'/Wœ|£y&ïÞ‰‘B!WL2ņVÒHNQªD¥Å¶hç½Æä‰ µaî ¬@ ˜‚R¬•>BHrÕ"ôxú†ÞdCï« ú,¢û‡Œ A²l`VaU3NʈçÙfj㔟÷ŽuÙ?¿âŸÈBvЂÊ7Ø nö¸<9$¹ØZŽ­eØZŽÛ¥EL° Ö1½mŠÚըõ_£=‡‹`Àuø”ßÁïÕ¿àÌûÈ/÷úzÁhxK¿Eî¤v@¯Ã=¨èrr3Æj*úÛ ý›-ýO[z«”ö@Ðî+´‚xâ°Vû¬´>+uÀJ°”Ãϱ”C¦×÷<›½çéÍž¾{ÏVïñÝÑ—|ôœo¾dÑ#¥Žì4¤Ôègþêî·È;®V,oww2m÷ÚH[° |.GG¼ÞÆëÓgìÅ—&G×%ò÷ š1¸*ˆ=0|PºWc[¡v”T»ÝttŠ‚nרFCÕÓh[‡ŸXúÄx¸]ƨqÚ}Äí2>tOù®~Éûök¾ç%£tÁ/Ê?±w³à«‹× ªmµ[õЖ*ŠÕan ,·À6sŒ¶B(¡JUÒjìZ¥¥ü±ê—•.u¦³MCôøóî=^—Оiok¬°ÄžVØ¢d–Mù­ø+ZEe!ÆtŠÂ~Ëϵoøµö÷œ›ùžñ18åcxÊEï”$êç>wÑñÖ§Ëuü"å°¼£Ce+>4Oø‡ê/ùûò×ÌÍ1®Pû*íT ̆lk“m\æÛ}‚t‹OÂÁxË/ßó…òއÑåhÄr4ä}oÄGõ„¹‘JÙ"ÝçÒ8"1m®ÍÝl¢%sl ŽåC}ÍrÏvǾ1£RM~wûϨï >Ýž±É>¹áèüŠ—O¾áìä#ïÕ/x§>å½ö”÷ê7ש×rÍl;åâÃ>ýþœ‹ß=!Ûºäw!|õ?þýî‘Gyä‘Gþ¿à'kü¤4ªF#ZÙѵ5Ô JÕ ·-†hÐõÛ,9Ô®9—É+ŽšKô¢¡Ž5¢µ‹X @Öà5HG"-¨3lå²Iú,ª=*ËÀwTFÃŽæ0Gïwu‰Û$ô«JO¢”T{«~ŸëÞ uLd”¾# -–hq…7¨qƒnqG ¶—c¨%¦Ð°• WKè[0 ?X1Ç?Ùæ>v1B[×t…BÚ¸,š!WÚ1N/çõö¯»ç¼ÎŸózýÕkD+Ò;Ò¼‡*¹«ŒÔ°¶„äŠM§©´ŠBê:¬š>wL‘†€J k »Y©ÐuÊáya³RBÖ¬Û Šˆ‹I½$—.º^!›Ð'3\d ‹Ÿˆ@‰HL—¤ç ’=—uÖcÛl"mKcå8<Ø>îÓ-‰Ì¹jÑ Óè…ïL¢'VáumP7&umE>ãzΤ˜1MïéUòóâuL¶Â|<&ô(sê¢î®y"‰œïf-IØ( Ð%B“µCˆM´h$‚MmPD‹¢vÈNP*‰â±}VÊ€ƒâž~±f¯˜sPÞÓv:昫à­m0–5Þ*e®™®f ë%¥iRšeߤòtêÞîõ^µC(À´JL½À4K¤M«"d‡IAODÔšN[ªT “6Qñíˆ=gNldŽG¿Žp’œ±\2rV¸JÆusDØl0šêÇ{)*HU 4‰Kʸ]ÐV3/X¦#Vñ˜eT#¶£«iQHM‡sÀ}9á*?âc~Î[ñŒ`Ú¦—aõr4!)k›beQ^Û4Èê“Y>µå!M©[t†N«k´ºB×Jº¤A.KXeT~K20ªOájøjDÐEÈn‹.+¥Å4 r·p·Ä¾›ÑŸd„FÊ H8T®9Rn8¬o8쮑¤…Á¼ôPª!›µÆûËCºR²x“X:ň›ƒùᶯ±< ŽRR‘áÖ …gÁ±dbÝ3Îç„ûkÄ´cÝ ©Q¹W&l5ŸÒÔ²ÁV +ÅõSÜ*cèÌÑ‚ŠÔs¸U)zÅ©ÙÕŒûKZzç1êYGÕ3‰+Hf>ñ­O|°YøÔ?£ 5Výïü'|пàC÷„‡|D·QX÷ú¼‹žÒ&*ólËÈw©8¦U¢èav¸"ãçÍ·¨Jƒ®Õä®Íkí9ï¼/è…®UèAתÔA-wjJ¤uHs‡tëi¾¶e¨.j+†þ’ÐXmC 78mŠ": Qc““¶Qr­BŠ­…ã$¸a‚SǸ2fo¬7 WìU‰§¦LÕŠÚ¨[ô^…ç'¸AŒë'´RÃÎKÅ–4Ÿ‘Ç6•nr;Ùç£~F-uÚC2mùÂyÏYóV òv'fç Å9Hp;Åß®è}\Ò}JX_t”uŠ­Þ³¯IT5¢¹ˆ#q¤Â±‚£÷ý»ˆþý–ÞCD“•´^Eó‹–úk…íþˆÛý}¶ûûD“)Æ-½{‡·LïPêYC×d³ÇsÈsÀ­s@* º"C~ÌQ¿»¥oæ ö %ƒƒˇîô#VîHø¸v‚g%¸VŒg%l½EÂ׋W.î˜6÷œÉOìË5©ç2L¸w'Ü &D~Ò5(mƒR30º%”˜M‰g%˜iNgÚ_ˆHå=‘þã:Ï*+“[ý€oôŸ“èo­gXAŽæìù7$yï³|’Ê#47 ì%•¥ñÁ>㢛BçCyÈÃØWF³¯›Dç&Å™A7Vxp[R·åž¯.Ü ¾µa²‡KBç :Gaã†<0d®ì팟¡#h±Ì”ƒÏrôͨI ‡õ€ÖS)N-Œ~Åøé:5¾Ÿ ù-¥gRU&ñÌ'yå°½Ð=SY=ðÁ=ÅëÅlÙg›÷éÖ‚u¯OiÌ“=¾O¿B£Þõì™8’±6ç™þž§Ê;ž6ï±Õ‚[mʽ7áƒ{Æ’m§ÒJ•¶SiZ"u>˦ÈêB£îtšN£–Aoà XÒV ‚%‡ú5§Ê'NEK_®pÚC©±”W(ä¶<âmü”7«¯˜­'ŒÂ9ãlƨ™3–3ó;X)8·%ÜnðD‚ª´Ê–#åFê´AQw×öÚÏ7t[.Òx(G¼ÑŸr;=ãÍþSÃå´÷‰ãÞ%_¸˜¶÷(K‰úÔï%Ê{‰òUƒR5(Nƒ²ß"79\ät¿ÏÙü¾£Î2lqϾ17”§Å/{ô(‡= £%¸ _m|¿Å_ni§Ý´¥{ÚRìé,{#n¼§¼é}Í;ïK~æ}ÇËáw˜iÉ4!hé„ »àZõù žògõgüY}IõÐ2~û–ñ‡·ì½½%lç _¶Œ^6ŒõÅr¸“‡\hç|ë¼ä½ñCkÁÐz`d/X÷Á<âðÕ-Á÷>1=+Æ7# ³bµßçÆÝç•ñ‚WÃç¬û!BëPôî³ñް‚’ž3.qƒØrY[!sk‡n‹¼^ÃÖXXã}] Õ `N2;`1q¥Ÿ÷„Öa†fÓ·×øÚ–Dí‘t=é! …Â4¸íïQi\Wû €TRE23¦ÊŒ#qÃ4Ÿa• f›c’b¨ ºš­ùlü AcjT­A.-rvÕÇĬk”BbVU¡Ù­ÔȇµÞgo(Ö6í­Ž¸ôõ ªýž‰½à«Þ+ YáǾau‘Ùc>ñþÉ9ïž?án¸O\û$U@Rû OÜw<ñÞñ¤÷ŽCçš¼5Pš¿Ù°ß\³y7@[ôé.UŠ76±ìÑ™GlÌ>ŸÌsÞ„.Ðñƒ”£àz7¸ÀÊÄäV= Q<>©§ŒŒž_óbøšãá5Oûïv{:}÷À§ÓI›ÔsHû6ïç|*O¹÷ˆ"6ÖP̽WcY®š"ªŽn¥P_ê(ßšT:wö„ÄqùdŸ26<íÞð…ý†/FKÎå{¢µÊüÂÀþƒƒø]åè]é×8'5­0H ÏqGãç3Ô¦eý›„Ý ù#<òÈ#üôøÉ¿Þ0æì—qïÖ‰Âý‰«¹Ä­$`ÎX›sdÍ9wL‹Ónδ›3©ç ê½v‹Ù¥JŠÚ£M{$…ŽéHG£Qê¡Bó…J·§°mU¶‚,Ü*ãÄø„efØfNßXkÞnvM÷ˆé±!‰âQ)BíÐ~0;J‚¯lPeG#5¶yÈ*SQ”Ím0ÃW_¢Sa5]£×>ÕÒ`}?`{’¾óI¯zTžN<õÐåÝ-hlƒÖÒi K/¨„Á¢3Ë'´±ŠDØÝÎøY-_èï Å–gâ-¹Àí”![%à½ò„â”Vj4ö£ñ«s“º3©+“:3wßë4šV§i5<5"ðÖêšÀ^“èJ×Г[ö»;¼&Áº¬qdN™ÈH%>×ÉÙiiSÕ] š¬pê;¯°ã sU#„!±D…¥T ´»Û¥òe-HLUHUd¬I—ÎUÙx×Þ![Û'06h[Žªkì¬ÄÞTسó²¢ûyfR4Y&ÉVÙKzacD .%! ®lh*‡¸?$>GCTS>l nbü þ:£ @ú ŸBúBAh.‰:âV;æµú ߎ˜”3ÒÂA–Ÿ+XH:Ca±C>v'|+¿¢ÅÇ5¾!¸jP²Ãip{5A¿»C* 5àÒ<á;û+&jÀTuÉZ²8Û”`¶åÉåOÞ^`hõ.³·SÝÓ‰Ë 9âJ?di ÑÔMiÐDC¥„Þš‘×#ÅÆ“Ec’·ön/\lcÜŒwÆŸÖÿí½ËUqG*Á±àÎVؘ}®G‡\õ±Ô‚#ãŠ#ýŠ=eŽÙ•»ZÈF„”¦‰ê6”ÒdEŸ—V¨tRAK¦É=ÃdÁ‹äê¶Ù­°@ŽÝ@£ñ4*}×¼[¶Ec·&ukÐ4:yçu6EgC Z nZ¢¦«(1{5š×¢¶„ N ò•C4óY]±¼‚p¸el= Û5Ò´®Jë)4žÆÆ ¸Ÿìñéô˜·ÏŸr9:&I|’( ‰}D+Q½ ³—¡¹%QãQ7*jSã5¦Ñ6*M¬ÑÎ5êF'Ö{lõÖPh}°Ø²×.8R®i;•$ö("‹v£RGúnÞ²î¥kvšsš_VÏê÷4ºF£©´ŸÏ[kŸëÞ>«Ïlo̼³U}riÓ6 ŠÞ¡ë5–ZàŠÑuÔ…AÛ(«–fa±v¶N€â€ÛæèQÁ8¿Gi:ú¬è ¶ÙÇð“î¸Ss® ¬S¡ÎuŠÜ!Î{´šŠ­g¨¢¡5ýÛ,°Ý¿Ý w ¥nRê‰î‘uiéÑÅ*Ö²"¼ÛB¿£ž˜¬3u20WŒG ¼a‚σ #|\çðÈ#<òÈO—Ÿ¬ñ»Yòþéß‘f&wm@tbýkƒ½²¤ÿ¼Â{Zcö[¥j=ÑQ«:³Þ„M0&ï÷‘ŸP/™† &áši¸¦ÙÜO'ܳÇì~4rA*H)AÛjD•Ϭڧ­4–ʈf¢ÐNÚ©J7úÜY©t¹FWh…˦þøµ(:ºRÙ©Pp{)ád3]ÑŸ®Ð”–üÁf»ès÷à?ø,{,åˆâÈBµ„Ï6  ‚}}I1v(¾pÈu‡bl“.™ë’á’Î\d Ê EѽAZ‚­èqÍß‹ç˜MÉ›ô—Ù)÷Ù«lLW¨´…BW¨ˆBÒï6ôÛ[톰۲°GÌ1 ÌÜ!܆ÊÓˆU¦Rq»”PlDDOI(J kSbm ¬uIo“rº½¢ML|+e¡ï+B{E¨­ðÙÒ™ Ìl¼Ïo;õsàE‡Pw‰#}kÍH[0NŒ®”Â䡳{,¼1ë®OÜz„ë-¿^þµªá)¥oñÿ’+í˜IÎäÉœ©:g8]1;žp4afM¸Ï&”Õ/:J»c”­8ìfu3Âv†3lÐ'N§àß6(ªÀOc<+E?¬‘#àä:G T‰/¶ˆ^à¡Ðò¢~Íav‹ŸDˆ¤C˜ ØìfÔ„ÄR+|3V8·$†8³Y·çt=ƒd{NåÍÑÊþ·sz×5ýñ’³½¤c/Ü2X.¬æ — «û‹9£‡®š œt»ÔP÷óÏtÁí¥6·Ôs·MYôGľGì{$Gmé”˜äØ¤¸dƒº’Ë}Õ2Z¬Q¿_¡Ý¬Ñò Í„*Ï©n—TßBÕfôFø E`³ \-c¿½ç¼ùÄÓô-¶Z°0F<CŒ…fâwŒº-–,>ï® Ù(1=X·4Wåµ$½=ˆÄ©@L›~Èb:f1Ýc1ÚC¸_Û´[ül‹’Á:qŸp“Rf_Dèb7Ê Š˜Þ0æ`x2êð1,’Ï·ÉÏùsñ ÆÊSóž©vÏDÌh[…(ð‰žôˆöz̼=nNØN[ÃVr<#EsoP‰ÑT„ößÞ’«WÝ1³õô¿KÛ]x•{vÍqÿ’ —XõˆUŸXí‘ ƒ+y„ůˆ#®Sy£=çÓÞ)ÉÐÛ-…Oÿ‰Zv¦ßßI†‚°²,í>+k@êÛdMn[ØJŽ[¥˜q‰¾¨w»Vr½«1õ·—!¬Ž|â ¿hQPNÀvrç³1ócܳ˜úLcŒy'žRô{ŒNs~•^p¨/‰ü1±6&¾ÞcSŽPç¥ ½5¦W¢ ŠÚÒT×ÛîËôu…±®0VzU£Ok´i…6­QÖ^?âüìûê/ûß°šXM,«x@’(­ j-â6@— Iáíþ7yä‘Gyä'ÈOÖøÝ®Žø?¾ùwHEÒ-Ýa‹}ÞÒ³ à oØ`†-BH*Õ 2³‘•@Õ[4¿AÕ+¤%ˆð¹hÔhmÇEzÆÙ5„ IDATåü”ÙlŸÕùU‘ Û Œ´æØ¹å û#/œ×¼pÞðzïoüg¼Ÿ‘ì™4ºN­è4ŠFZz˜m‰¯ExZ‚£d4µFÿaCÿb‹ó©Â_§œjWøZÊ©uEê¸AŽáZBÃ¥yÆepÆ¥<çÒ8­Ch-ŠÖ"ô–óú‚/Ë×Àp¹¦Ô®c¾w¾ä•÷‚¢µ˜®gL73¾Ü¼Áè*î&îö&\¨§¤Ãóð-ÏÕ·ˆ‘Ä~‘rëLym¹Sú%•!h;§£=îxR^Ð5ß6 z³ÆWR#¥‘ õm¶¥Ì*L«B;lváG ‡éJGO‰8Pn@H¹á¨¹å ¿Å"”µD+QºÀš0V–*7<ø!í¹ÍÚ?gqrÊj±B›½ÆŸ¿aÿSŽ_?~ùÀiû5¬˜Z7øñšÞ»½WküWkB#%433EœÈ]@ŠÍ§«íŒŸ»È8|¸eìqypÄåþ•eü?ŒŸGÖ:¨ËŽàcÄàÃå¢C¹ÏQfJ–£˜’¶ÈhïhÛŒv±Ä8í(Îl¶ç³Á==fšßs–âëâ ŽH¹s§øn„£fäªÅX>°×.w ¼.åJ=âZ996¬ZÚÅ7’ô0Æ *(gõP°ö>8ç¼¶_ðÚy¥U<oyÞ¼eÜ.1ˆríp·9â»õÏØnBºŽ»É™nf(y‡£îwøIÌAyϧÅŸÖ§|ŠÏø”ŸqÆ/µo‘B0+*[g vמ5eîŽX6A@c©8JÆÀX3TV Œ^—Rè&…f’k«®Ï|=ev1eþaÂüÔA¸dÔ`t¶`4X°QCfbÂ=j¡Ç&׋C’…ÇLJsºVe Y†$¾·K }ø¬;ó÷CÅׇ.PØzŸ¼c>öÎøè¢›–U`™9–Èqª +*Ð Ê•«C×,¯ÀiR„)±&ZÓ¢¸%Ç-è»+BwMß]á†u¨±G´€f ÏrŒ%Ö^ÆÇø)oSÁ›ë=®^pÆ9Ãó‡ç×î]ÓÚ*ór¼œpWNHÖêE‹ú©E½è0²’àåšðë5¹&lðÃ-ûÊn?Ã9Ëx§?ç­ñœÆÐ˜'SâÆ ª-â*`Y—(]Gš»Æï‘Gy䑟,?]ã·>äîÏÿ+È~±`p¸`øÅœáþ–> -BJJÅ R4b<„̼)›`Lv¿ÃO<ùò–_õþ§¯þ3órõªc}=àÃÝÓ]Ûàqñ4¹F|é_ùp ZQ¤kBsM°¿Â#B¶ ²Rér•.Q).ŵËö ¸æÀòŸè\0if~Íð|Üß±yÕçâ·çÜÌáð8ë,'ìo8¯x|ÏWúŸYެFC²dˆu‘Ã{(ÞÛlæÚF ù-zS¡ë%Ò‚ky@†¹à>9`v¿ÏìÔÍåæ àDî8ç|÷þzï¿0öÿ ]/ˆû6WGSbéS&UiR&zÓг\5Å9¢’ð `¨àÞ:Á›dœN®`r­¯ÐØ‚FäXÌÌü1ÐÅßz F‡Ð£A1j~µúÌ`´ZÑÍ>P˜7{GüÑþãý+”ºã¯þ–ë7üååïË-Sÿ+.ÔS¾÷¾æƒFö£Ž@[3Vî¹Í÷ù>ÿŠßdÿ’¿Ïþ©ÂAG¨Yó'ÂJð¤Z£Wïñ£-¬XeÈ; ;e}=±«ö  â㇤GÌ·„uD˜EøQ„XJDµ{Ö uÀ’Xj¯ÆŒ”µ[d XôƬOöXtcæ· Áß™L¯rÒïoà~FЭQú ý§K2ËÆŽbì1Ö°ÿsŒyÆ0ÏA9fWíûaW n‘án2¶w°…;oŠÓdT†Ál°Gî[TdÂ!Á%k\‚UDpü1Æÿs²«*ý (r¸Ëáa oA¬6"ä~8¡§Fú–i:ã,¿äÅæ-=bz]‚­æèVEŽÅQwËQwÃQsƒßE¸2Ej‹ †ˆuCó¡£ü½$ý¿ ùgm*ÐO´£°òBÞ×gü¶þ þ[ó/ñ«˜®ìUUƒµT÷6÷÷‡|?û÷ó)Þ*c5#]¾CÉ:üeL/N ‰ Zõùó:àÏñÏù/Å_ó3ùgP`(—ï§gôÜ ËjÀE~Èê¡Gu Z•bîUXA…9.ÑeO"Î:ÄBbTã¯æŒÎçŒýa½b.&ÌÍ)³Þ”¹6¡XÚ”I™X”3¹Uv(T …m³è&¼O ª™Žcå”­ÅGxS þ@}ªQèÔûê¨å©õ–gê[Žë+ÆñŠ´õ©›U»ÇEsFž:¨FËÞdF o0{%î4Áí%8"ADõÚ¤Z¬×CºŠ•T<‰/x&ÿoöÞdG–,;×û¶õ­›yïáÑŸ&³2³ªR,’W4¤_€ïÀá;pÄI É9/ÂÉ"Y••í9yNôÞ»›¹õíø©,^hJPJ(>à‡9wÛ¶l¯õÿï©\•Õ~ÀZí³}ÒÚdÙùF|‚$5l¤wÒ”G1EÐrÌ‘*Yk‘‹A¹d²Ÿq²~䢸Åßd‹ïÛ×¼õ‚®ôý5kE_^c5 »¶Ã®uÙÑa+|¶Â§CÀÏù‚öØì%‹H¶ˆ ÇÞ#õRIgcúµBW]óéþô´ È4› Û´Ï?Ê‚f,Ô–Èø¼þ-/Ë÷ Ú%º(™IGä²ÎZêá({>Ó˰]ÒÔ4ˆ¦å2¹æ“ð[¦Á#z“—:±°ˆm‹Ø±He“\Ó)t\Ój‹/mñ÷;¼x‹õ˜P»*©c³s}6v‘J¨Ûë!ƒ[h‡ÆÔ² V BÙa'ù¬DŸI4tÙbI ¦•"7Ì~zÄ¿(Äûí ’W6ÉÄ&‘lŠ@ã(¿çHÜ35ïèv÷42¤DPç åƒy¬ ¢WðX““aFKŽfï¨ÞUlG]¿!êÚ|çÿ„[í‚©ýÄôdÆ´~¤í ”U…¼®QÖ5ʪ>–¢ÐAòT»DÓrL)¡ Ê_h?'0}¼6 Ñ •Á' ß®±ED)É,å>AÛ!Û¸aÄ‹ðšn0zóÀxýÈHÙ㜴Äc•×#0û¢ÇŠ!™d2•Ÿø_ù¿èÖ;>k¿å¸|ÀLSÚRà!ãÑŒ çN?`zwOWÚ`¤)u"³.û¬“>«`ÀzÕçëàS¾ ?a©3™ÀèpkŸò›ÑϨ‡1¨Ùõ<»ƒ¢”ôË5rÚ d5rZ£45Š^è]¾ÔjEbY~Ð*ìºìC<Òi3ˆ#‡ùf‚¼¨IMZ„&8Vª+B»ÃfÔg[ôÙèhÀí获øýš^W6±fwä°¢o-qÌ=šœC ¥PIk‹}˜zF­)¨z…«ï‰Ì=Ö0Â,b4-£ÔÒ©Á¦Ó¥¡E©*R¡£k)cž¨23H©d6ñ€<7º Fî’¡»dè.˜T ÆÕ§Ž-Ý6ð¡]šbÇæ©š¢ßæäíáÿì:{Á"“ez”ã;ü;2ßð±ùª\ŒA,È<“Ü3Éd“6ø´ø !$zfˆÙ} –[’¢¢È…ŒfëhªŽ6Ò‘•sDœ#žò}Ž5[2íT¸ Ûáù‹)óË)ó‹)ÙÈæ•ý–äÄFx æy‚~S`Ü æ(y}(øÌßKò>é9¦”’H6OòÖå­ñ=6iɉ¶#[²U¡*â°cØÙF¸Ûˆ¦”xêLxìLxêLXC¢ÂýAqâ’mMÒÐ$;ôñÞa±-MVCúÝgɉûÀ@]XnÆ—\ë}©m8s¯¹t®¸popä= u̱˜ŒÈc^¹Â)B´¢ M ªUÒÜb{lƒ>¾P» Š[á¨޵ÇEZ‚ÖK)%›ÔÑiœ.1&zyÇ0´”Ž µ-ùƒAöÞ`ó~ÀnÞÇ™¦˜ÇÍøhú®áʇNIn~_ø‡sfR ¿üÎ`ù8¢–6¢ÇFôÈ„‰¦äŒŒ9ç/®9ûäš¡³ šÈTc™Ê—iH°X1 ÅdMŸÛêŒe6 Žíù9¿×ŒÃºà?}©{æ™gžyæ™ÿ0~Ä…ßÿûÏþ+ËÕ˜_ïÁ~åòî7¯y|wŒ”iˆLEd ¢6g}8ÀYÎúˆq5ˆq<*)t…•Ò¥•Å!ótpØñ»kQäûbGÏ^1:Ùà½Ü£4r]£4V›p.n8·\ˆŽªCy…«„¨RRƒnäw»Hc?w¡’³"L42ÓdÙjl¢>ò¢æÔ½Ãkö¹3þ‹ýOœ©7ìF‚‘ËnÔ!óuúÙ–^¶¥Ÿíð²=©(ƒu<â&yɸó„sλï™(3F,‹C–Ì÷Ä­Äü×Çlÿ¥Oh¼>{ÏåÙrö Ý%3¤VeæbÌMs΢±¥Ë÷Ò+T¹d"=2LÄ#Ç<’Hð d‚A¸bÍ9~|äâæŽ8rx«~Ì÷êkþÑÿŸI“½ä¢ÉGòÝfîõ¹oOø–¸ç¼ïx%®xÅ;^·ïy#^ñ­ô–ü¥"ᨒÙ5:ëÆ§·ÜÑK6œîïqnRш_i̵ö‚Öþ˜ÐtùcõW‰'>¯¿ä¼¼â[ùc¾©?æ}{É;^ð±ü?i¿ãcñËoPÊ©8dËKM‹’Ô(› õ¡D¹®ˆ\›­ÓåÞšruzÎãàˆ•°fÀJôQ’š}ì¢î+F·+¦Ë9u¦’J6ë³l‡Xi†·ÙS<ª´ï õ@¦Ì Y!Q BvâR a‰_l³@2fÇfã#fOX}ÊB§*tÊ\G[¤\Ð!/Ì;Œ.D1$lRX& è2Ɖ†©Z˜# ¥­Š„ˆÄS‰ô”cÊKyƒ,)l†c²?0yW|Äó'<ú§¤¶…ðZ%¤ÏÛOA9«iWÂ<|æ'á(ü´S¤„ÂãI9"Ö\âÚeÈ’?Rÿ‰Ž¼ÃÓöµè³‡×6.F»£«£_¯üvlÔHf}8·”ã3ÿœ¯ŒÏùgñ‡ŒXð3é·|$Þòs¾`$-1š½(0Ò’¦‘è8!cFìëô*‡iú@w½Æ¸Í¨‘Y–C¾I>á¿íþþoéO(•*U(•&“¥ÃŽßfØáýù}wÅXš3’Œ¥9½rÃd¿`¼X2yZæñÀá›ÒçKé§|ËÇÔ©J“ªÔ™J½WhwM(hc Rˆ÷6éÖ`µ wj>®¾eÐ,9Öù¹ók«ƒ¡e}•uÕC¡âL¾æçò¯ù\þ =±æÊ{ÁusÁûú’]Ñ¥¿\â¬öhËA™«d‰Å^ñØ*ƽu«¢ªŽá˜{,-Æè%èUJܘ¤AÜš´„Y%Œ”%`¤.ÐË‚y0!yk³ùo}ò7gßc|\0ýhÎgâ[d«F¶$«Ahvüú€tøÌ$+‹|¡³|¡,jÚ jK¡2ejK¡7X3ºœóêâ ?ñkŽ'w¬Õ>µÇZé³Ã'Á"ÅdC€‡ê”U6 ‰lš@Úño›J9Ì@>óÌ3Ï<óÌ”má'+ š]`åƒþ’³£[ÒQï‰)ûeF´+ˆT„ ¥‰„€ ääTª;©¡’Tbáߨ—¨t©tYn(Jƒdã°¿­A’ÐíÝÉÑíŒÚ(•¼Ö‰k‹}åî]¸C{±tÝ2H×ôÜ€—¯ßâpO¤ËáŽv0ÁWwxMH!i<4Ç”šŠP*$©¦+DÝÐìe‚­Ïn3 Úª¼“_²•»HrÍЙÓu7Øn„â´ö!ßLmJÌ:¡Ó$ØèäZ*TâÆaöyNø~¹fŸ¸¤•‰ç||öf/%´;„N‡õ¾ž$Xù·²É0¨‘¢A61º–ÓØ‚Ä7YÇ]BËc) XI}ÖRŸ=.Wõ%^ –%Õ1ï÷¼·/¸²/xÔŽ …LS*T­ÎMvÆ}yÂ*±—}j¡"„ &[Ñcºq¼{ä$xÀ×øù[Ðí ¹["95šža5 Þ.`n« B¥C¬Z´ŠÄyuÇqùĤ\0(פªÅ^õØ+öj‡F•Ám¡ß"Š–ÌÑÙ÷òŽŽkDµsÌ(Çb¼8@Þ4 nŸ0nw”wÁ"Sv%ŠL¢F¦‘dY:„kPç-ż!ý®!Ëj/ÁÕWLõ[J]¡6Tºú–®¾¡«oi‰JR(t´5)k•6=Ì™¶ŠŒÖT œ%žbôs¤¨TêZ#¯UÒJE>V¨U™z)Q}Q¢%Ú¶D×´ã\™òCz©X>mWÆ'àr{qêÝÒõ¶(fEfêHF¢ -u,P´EÙyÍ@¢p4RÅ$ª\ÊRÅØeX»ŒÉnɸšq¦ß1Ö—xzˆ£& ”tjIE/Jº«¯é{œaLèv]—ÀíºîÇì•V˜òâê×Ñ‚Èp¹1ÎYפ 䤒Òb&˜µcf刢Uñگ⿠P¬’V€+BŽÛ{>Ù|C­J4¶DíI4ª„>Ì0õ3J0®:^ˆgïð¬ÃÎhZ‰ ò¨J ë±;¼å5wÙËí„ÈèÐi#:íŽNáT ±j‘ -’Ê"¶L¬IŠu”b,;a¬Íp¤„´¶¹ËÏÙ–>óúˆ òÉ+¥ÑD‰CL_l˜0§nUä¶Á '¨|Ž›GuOÕ‘ØJaægÙ^§ÊTÊR¥RTJ[¥lTMB’T¥À$AÏ-ŠX§Ž5ŠH‡Fi.†^ iÚ¾ ÜúD;‡4°È÷&»¼ËŒ1×ú]w0$³E2$³aÁ¤†¡1ç3÷·¬Õ>Qéï]"ZI Y9v/EïŒÇO?2™<1ÎõhmÙ¦ØmB§Ü»Ü'È}‚Üc÷‰ —F˜½„¦”´­E8Í!ïñ›‚C¯ò3Ï<óÌ3ÏüøøÑ~*{\J]¥3Ùñ¢ýÏÛqqÚåîÉÝ[ƒ»Ü$Þ™—°È a«Ò.eêG™v(Ó TM¢–5rÙ"’=ª­Lº4HÑ©û- q!àÞ /;XO öq„=°#jSÆ)²TÑAÔÚ\í.¹¹¹àöæ‚»Ûså†q½`2š3î/P´ê0çô;ý»h$‰2WÙå>ÿTýÔ¢`Z<0-™æxrÈÓú˜Ç»)÷Ç<=L‰GñÈÄż}‹i'ØfDkv’E‚G@.t!Óª&}`÷ò ìaSöKT½ÄôS>ÿ†Ÿ«_p•_r•_ò>Á~ãR U’Ô",;èíàC)#8ØÌKFMÒ3™KCd·b{<v¹G‘«d¹Ác:E*6i+cÀJï³RûR‡ªÖÙ6nšK¾¬×¬Ó«¢ÿƒ4Q°•ê½å8¸§…@kê´–Kc9Ô–KS—Pæ´w9õû˜¶*P›Í.qÖPÊ{£Ïʳ4Gì5ŸFU9R挃-RÉa¦ª£‡”¦JZÊÔ‰LH¤+0 00<Ž¡ªd®I({lŠu,3}|bú4cúðÄqòÈT{àX{À×Btµ¢#ÇÈr‹-eh8IŒ#ÇÓœ¶+XÙ}®ì ®ìs®œ djt N–¼\\Qv²žÆ¬?áºwN])ˆB|D‘脹K°u e!D)P»–“¢¼.ÐV)ç›kœUÄ«Í;Ê‘BÑS(Ç*ÅHAos¬2Åœ¥˜w)R·†£–öZµ%ÅdË€ ‹‹]Ñã~=å~uLÐø¨RËÄ\pi]si]s¬?2³ÇÌÎÇ̦#f?3vŒÝwÎÄ]P‰f²lFÜ&ç'ÐlÄ"åzUÑ IÑbµ9£fÖÔøMH‚!§˜rJÑU™wlQfQíBÐ SZ*yÏ i, tZª¨°H°Ê±4k…r%Q:‘სé6JRm]¢Ô¥@§ÖeÖN÷þ% ZvGµDÑ*õ T5iô†熮¿b.y(N¹OO)"•FȸÓoºÃ;Úq4zä¨÷@¿·Â5öØmŒÜ4Øm ÙUWÁ ¢]‡0èr½»$×4 MC8 N/@t[¤£9¨‘‚QµÛœçÂï™gžyæ™+?Ú¯D#¤xãÏ xyñ–h¥ó…9EÊfSžZýPøålP%Zß îš4¾ŠèÔšN®XDJ¬64• .dêV¢îK4 D¥AöÐ!x¬1üïÓvKá©´PDE#K­Æ¶ñ¸Ú^rýý%·ÿzÎý¿^àEŒÎ—|~öþàì×Xv*‡k•Ã;!she’aQŽøšOù²ü)_ÕŸW6¿(þ¥¨9)èJ!W«W\ß¼àß¾û~óîszŸ¬éš+z'+Žniu¨d™Z– „‡EÂ@¬È…N-$Z°øÐ!­LîóÖû>oWÑWVüôüK>ÍOÏ¿ädtϯÿå©"xô¸^_P†*ib”Ň(íêPøé IÏdáI'ú¡ðÛ vŠ@#otÒc6E·ñkÔª<¢¨…¢QJ*1äF*Ф]Ê)b<Ô(<ÐhPäêí’>Æ®d¸[“§×(V‰i&tú;†'sL7¢û´ÁŠ"ÔU‰¼ªéUì:fZ?QTz’£Å9z’#'-Áy—ï_¼æ_¤?äWÝ?"¶,$³B k¤¶âT¾ãgÚWøÚŽ3éžQ°¤¾—©¿>¨º†2Ê(öE”±ž´¤AK•7H4Hêa—CtZDêMKùT“îöH^Àð8åd:Ã8Öi§*E®P …ÂVˆM…S¤¸ì‰%]ÍÑ”]/0õ”IoÎÑ~›„ˆ¬¥é4ã͸O=Ð^G4_m¨ßg_FÈFsÖ ž58ç-É@'sÌÝ ¾w_·6§óGNfœÎßóšï¹åŒ/ù)wÍ9¿MÊ:ë“E:y|0–òʈVÈHTÑ`“¡Ukü:丞QHI_'í$¾Áºã³É=¢¹M¨Ó!U¢ì©d©AÜÚäh´B ð¡ð«Rš½J¹4÷‚2щL…Ì´ÙY}DÞRmªT¡jUÐ[ÖvüKvC—ë£4)GÅá(t›-ÝfÃqsC¯Þð(`e E¤± FTªBç,dôbÎèò‰ãá=GÚ}m…£í±H°Ûjµ / â Ãíü‚àÉçêé%ê¤8¨—ãLÂÃy¬«¶‡Œ0-Ô< ²Ò ­L¶µOV™hiqP‘ãQµ E¥‘Ô6^²«º$XÔ²Œ¬rô¡•µ$“É:‘b³Õ<:Z’CÛZÙª”µJژȢF’jd¥æFœs]_ð®xÉ›ä#JYÆ4âTÊ*u+ ·5z•¡F5êªB¹¯hîjB °7¡0©@¬‡€úó)@Û%ÈU 4´Tó–ìt'C2üü=4™A u,—xhW")Ñ“^’bV ªÕ Y ªÕ ¦!·)uQ‘& “­Ýc5:avqŠ(wèsÝ‘ÐÕÕ̰ºN[²-é‘GâzD®Gèø¤•Iªì(+:‘hë–BU‰e“XX$BG14_EË(çé©ÂþXEŸ¨èc•™1&kuÌ2ã(ŸÑ ·œg·œ5·œ)·LåG¤¼AŠZ¤² d§§>ìŽ-²V# Â:‚Âш›ã3sFøìˆR‡b¯º¾[°ô˜§®ÃK–ŒhS™¶”i‘¥SJ1¥SJñ”Éiˆ{6³é¥—3H6ôã-^Ò7„GáÔ¥:Ç25bÛ ,10­J\ÚìRŸe8d¡NX6CVZŸMÇg_:4­@ªj¬"¦Ãž‘¾àÈ|à̼áÒyGÖU‰AßaÝ÷éÖ¼r‹[8e„œ×d™Á:ës—±Éz‡Ù´±E£³—:¬¤búC§‚ÒÖÈM…,*òÆc]õY}–Ù€y3&“u +eì=áÈM,±{ò¹“ωL›¥2b/w(¾/ÅC²NQk©FRØ4…„Fî帧{ô^†{âNöèÝÉl@@#Ä¡{@(@IB— Gu%ŸX¬']úGh”™9b§x¤­xqÈéîž×Ë·¼zzƒáfHf…lÕ‡1¹Appý´ØJBijä­F®êHvM晤{“,2 „·`ì͘tfôì ³Í„ypt8n l3¢kmèu×t7ĵöè±)úl‹Þa™dÔšLŠEwY.ÆlÒN™b8êiE<²‹Aîû¢ƒQ§Mv8Öo͸±NÙÊ>õFÆ®F9c剱üÈ‘úĨ]-s†Tª„+Ǹ"ÂmcT¥F÷Áé‚ÒÝkÑÍ#Ycü¶Â|Ò-ì2@+hZZ j â0{Vì>ÄŠ%7*+»Ã¢?fQމRƒö>…û„ön…ˆ*ª›òÔ¦=µ‘úm\Ã2CÜ쑾7Ƙwþ%ßO>A7·tϺø¸ø#ÅH' õQM6iÈ}‡½aÓê`Ëв÷mÞWÌŒ1zRÐ u_ÐX‚Vj1‡æOv˜úsº£»Çù±GÞë×&E¤qß2‰gxiÀ±ñ@ïtE9”vÚ¢D›$rÈ:éØ =1(‡ &ÙAu†º)ÑÉqµˆ>kŽ´'4?g×vxk¾$í,ñVÅ¢­-šFüþ*0:GÒSù©ô@ßX#ú5¢×°0GleŸIoÎørÁ^wHÇË£ËiŸeï0Ã*; Æ4ǺŸË6›ÎÁyr³ê+6e¥¢['Ó[&ý'êX¦ŠeêHÁªúî«A§&sUd§ÄÔ<Ð ØÊ>Wâ‚Pr¹É/¹ËOØU "$~ÈçËdƒ¹:æ;í5­Úò ±›«M°š©©yªxÊŽx|8b^O(rZWžÏñÇ[”²‚¢eöÝë¯ĺM`y„V‡Àö@K¤tõæYJ]ÉlÓ»´Ç6éRVž¿£ç¬éžoèJº'º§Ûƒëp¹¥•Íï$.{<t JTŠF£¬šB¦Í52y¡“ÔAë¡}˜].QI1™×cÒÐ&YÛ¤+›tkQJ*Bny5üŽóñ{ò®NÖÓÈmLh$¥M”¹Ä™Cœ9TB‘k?âUó™gžyæ™ÿ¿ó£]Â4 |Z‹þïT*:•çÒœôh› ¢{Œé¯év×ôýŒ¿f}-³¾Ò©¯\â¨Å±#¦“^¾zËËÞ²×;¼Ë_Ó‚0÷´ Ô%ê;.Õ÷˜RÊ]{Æ]{Ʀ°\ŽëêÃUWHeMždªI>0h~oÜbžy\í_ðëès~}ζíþš¹Ð ‹aÙ!*ªLæi1!žëÜ.Ž0Ö aá]ÂÒGÔ-F™âW;ÆÍŒ ®)k‡â”4³™eSʵÊÃü cžb.2\9ÄmñG[.Fï)…ÊÝìiV“Ì,òÜ$9±X…Ÿp+žÌ1[Å#ku( ‡œ|¶úš_¸ÿŠÞKi}hEK«µ4’t°Þoj!cÊ…¥‘©™mÐä¦"©©R*è[K^ÚoùÈúŽ3í†7Á'|gdOó«#ìãˆÑéŒSÿ–ÓÓ6倻èŒz/³:‡ ]ø}á'dÒÖ"ˆ}VË1³tŒaå(N…ÕìT—y>a–1ËXC\y«„¸òA³dÊCrÂ6îRoe¬:a¢Ìxe¿áµô_Ý¢¶-- $ªÉP^ÓJ]ÉЇ _‚yö¸ÁxH0+Œï÷˜O:]7Çq 47G¸ÿÏÂOäPl!O ]CÒj¬‡§cîŠ ¢LÇ|xÀübù›5ê*"ÿ|LQ˜ä®MÝó!ÎË=Ò­Šü-Ì ›[Ä›É ¾J~JÇÚ2=ëP -´O 5¢±*2«foWÔºÊ^¶i°å˜F’ˆ<‡¹>&î;䕎fäè¿“”Ñnéè[:G¼Ÿº¬­Kûˆ¥3aiO[Në;Îöwœ-ïqEˆâ–(Âҕ CëÛ 2«dºN8v_»¤çÞ6¤ÞIÈ»-,Ñô×ÝÿPøI~K`vÈz:·ù »¸Ë">Ä/ä‹¶’AZI€*0ìŒ#û‰O­¯øÌþ’¡5ãÑ8æÁ˜ò`LÙH=¶Ý.{Í%ꔯì)ö ÷ö1Òá€6-Ðüõ¼ K-ÂÜ#È}µ‡,×øÎßÞ2¶gèjFYª¥FY©hMA_]`i{ÐrM¥QAQKL-¡CH+ÁNxì‡;ù˜™˜r—³ }ªÅ‡Óû¿›ÎL¹9¢5jv†Ë@=£ÛnVÜ.Ϲ[q»¼àqsLß_Ñﮎôý5Û«.ë·æoŽX¿¨EW£èjä=wÒïçLÆO´<,O‘ ÉÞ¢)%<ÇÔ¿çÔ¿å¸sÇÐZd®k2E#“u242Iÿá ¯PQ¡R´:U¥R2m~È»,J¸¶ÑÚ552)&{\Ôºd³²~°¹Í]ÎÆ×œ¯y=xÃÙøšµÑg­÷G©Ç¢“§&e¨³Û÷É+6ׯå3Ï<óÌ3ÏüùÿDá÷Ë_þ’¿ú«¿âïÿþïhš†¿üË¿äoÿöoiÛ–?ýÓ?åÏÿüÏ‘$釟©+™<6h'DI¢‘­,#ud´#SÓpF:Ý> úãþžñ`Ô1(…K—ˆy‹j8îž¾¿dÚ»coº$•ETºì+AËH1Qž8RPë‚MØE ²Àb÷¡ýðÄ~wµ^r(䆀¥­’8Ôa• xÊŽ¸IÎx¿äëøÖô?× Z­$QÕ2u£kÁzßc½ðຆY¬ $d]`¹1¦ž¢‹­(Q£ ¹©-rˆ\%qØ¡ÞïûÆŠKïŽâÚ!’^Tf;@‘*ÒLPôTRÛd¯ØìÚqc‘×:U£@ZVbG ÝmÀØ^¢“ÒÈ-­­Û’·Ycaµr[2½”C+§£D €¬Õ¨f‰RUœ©7¼Vßð3ù ^ÕoQ’šz£<:l®™œÝðÂ~Ç‹é÷,²²RÓÔ2EªãË;L3E’jJý0qk{:©ÏF` ŠVÒvZÖN—y:ažN˜¥VÙÏÙáÛ;|{‹gïØ,ú„³Y©Ón$L9e`¯¹Hoù4ûSJØËBÉe%÷Ø©•©Ð8’ßÒTÊq…ò²ÂüI…5©Qª õ)C[€ñèS1UH-Ö²Ù» ‘_“§5uQÓf‚}«P5 i"FCÓ1å„ÇfJZHôÖ[”ë÷‹ãqK®{¤C…Ý ¤:Bd j²Å uÜ eâX'Ê,öeÙmIÝ=¥Sk)¹dSÒ}ØUhhûƒ·}ä8ì'ŽØÒÅ$ýA1CÓ RTdÌQÍVs§\p¥¾àZ¹ä£ø{ÆíœQ¹äJ~ƒmD¶sh–”"ž¼Å±ötœ•¬ü U”øÍ£Iꊪ‘©‰¦D©d‘IÆélÓ>ëpH°êP=ÊÈJÚ/QÕ­S ›Ø ‘ãP;BÝÆo|ü¶‹×îг‚§Ý OÅ1³íëÇ!–’ -v/fx>'[ë©ÊâfÀÕ?¿$Ó 80p$0¤­WÒ57œŽo-M‰D¹ÓˆK‡‘·`4]0šÎ 猫%£zŨZ1LVÄšI¢™Äâ Q6e­’Ôe¥²Mº$•E%äùC/Q”• ¥®¡Ä•MYi•GIlC6‹>›ùtiá{[µdÔ›ñÉÙWÌÄ›#TméIá° kÊ¥B´´I #Uyæ™gžyæ™+ÿ¯~÷wÇ?üÃ?ü_ûë¿þknooùå/IÓ4üÅ_üó7ßýÙŸýð=÷Û3þîëÿ ]Ëè9ºîšž»ÁV#†æ’Sï†LÒ1äpïnñô-ÃG÷säI…ØC¤Z<îFH_½$º‘Ð:µ×pæ½gê=A+³’:x¾ Ým˦öy[¿‚°e½é“)&Km€ÕÝóÙø·dªA£ ZM¢QYm$þJ*†¶°lN[l'Á±cl'Áub¬AÌÎõùj÷3V¿’&•¦q¡_3ÐW„¾G€ÇÎòrQÓ ±ºQÜh4ÈÌ™°jGd˜Èrƒ$ôçŽ÷OœË·D×>ËͳÌÀ€µÒçMóä°ŠØN„–§hu†FF^ëìË!Ôe‡mÙeYXUC–倢ÔqË=ÓbŽ[FôÊ gõ çÕ5'õ#~¹çâþéAŸ…\Ä·tÓƒbI¿^0`U$¸AÂt>ã“ûïpšˆëÃNØ }öºÃFñHe ”!W¤²Á*RÏd¶M5¨˜ NƒGÔ¨Ä>б&1ÖQŒ¥ÄÜpÁ{­ r4¶½ŠTcî*¦hVNî˜4ŽLìÚ†Fzd±øtÄ•qI'Ü3˜¬Œ× :k`³mòjó”;ūõsÜú{àa7}zƒ’UPÊ2…$SÈû¤Át7b²;#® ÂÜ‚®ttáìIHy…݈è4WtK:õy¤° ›,w=þyö-zÍÃÎŒËî5CwÆ^«qk2éœr›œâ-]Š…å».w7C’Ø è8ø‡¸kb¸ÑQøy[FùŒGé «uŸñz‘%`ÂZnS•‚uÒæ…ÿµpG-Ýá{jìˆKƒmÜb¶Øm¼È%Œ­¯ÂL#†ù‚§ÙÏó—\¤7Ôƒ= G-Øãø>b?¦¹?p¹ÇÞÿ1jœ ¦1j‘ U1ídÃéþŽìN'½1¨4tZ z›“ËZ‡T#HRžz&¹'sðê8{ŸG«·œ-§<^^q¹½A}ž¢DÇL‰ÚLq É5­Ó>–%frœÓ×JöHNήۤè)„†ÍÖ¨³JTÆ1 bG!Oõ+žèWèZB]Ú¡ÖAŒ@ÕÀèÀº×dÚ{Ìëîs^÷žSË×tâ)hJ'™ ¦ÁSÿ‚YpAâšèç zïXVé$5¹ £•œ`kÙ&/:¬¢3®ý§´” Ig‚úÔ¤iƒ4Úн梹f§½"—JI¢ÇÞª5<œãÜFޝ½Ë“›à>«ÒbC€…‡Ëœ> ú„XìÊÝ¥Šø2ÅülCó³[œË6úSñ¬$Sõc_®¦R6d°¹¦:Gá·Pz$’†?ôñMh¡e)IC'nh$®FŠÆœ! ,²ªz\ä×\D7œ{7\èׄ–ÉÞ¬±Çe¯Ôˆ5ÌÕÈT¬¦±J;Œ³ ÆYA”YT² ÓT"ÙÀ6æ½ðKѾÊxú8¤÷¢oÊ ÷Óï…ßša4çl5a40º›²T»ÔÚ¢Yá·mvEƒpm’mU¶ëöѼd¸¡y²¡©­QÔ5ÈÑ–9ú*C_åä½×bzñÊ{Ÿ¼¦PÔeʆDÑÉ–éX'ë”c×ð¸Ì®ùFùß>£%­Éd‰Ü”È ¯t'ç܆çÌ‚SAƒGñ5§âšGö5£ê–kí‚ëô‚ëõ%7Þ9ÞL'ت‘JYF`ÐÔa¨Ã qZ"· ´Z†®$4•-gƒ\]!kqhq_p]\p½¹ä®Ü$è¤"An¤(dÈjŠR¥$I4·ˆn-¢[›\V(êyGÆ~âÑ5WäK¾ÁžñßfM+ÚÑôöü²ôÂÜ`[G)lª:©¦Qj¥{”kÓô%ȉ“eØ£¬$ U&‘uÉÆÄ9 ¿êë¿5rŽý«M¶4Ùк_Gá-Ï—¯yþî5Ïß¼fR?¥T‡ŽÃ¤3ÀË¢Énk’\YèiÂI~‹¤—8MÉ*‘ýuU Ž ÔÛ’lmpX5¹[Ÿrµ~FÙ‘¨zzPu¬ñ}Ü‚cùœWïø–ü#þ“þ7ôõ;|Ë$ˆM‚ÜdZ S—wÁcæûî¼FùŒž´ä[ÖùXû„¿Íþ#»¬‰Ôù<û7dóö!Ä!ÂÈ YQ ex¤!†²U ˜ššP—ö´í-mK»¶! MþfýŸ˜­O˜¯üÓþW@® +l<,ÍǶ<¬Ê#,‚¹KðÚ%ø²†Þލ¿¿¥ÖÚQÿ`KßœñÈ{ˇþçü’÷)Õ\Â{Õàí?=eû£w«ž}üšScÊ·Ÿ~Ÿo>úg^˜ÏøÒzÎDò¢z†A|,Q"(³ñ2OBX—`äOöxàxàŸ™ðû½ßû=Öë5¿û»¿ûÕ×¾óï|Õ1°,è IDATç÷ÿ†ÞŒ±?\bOÈ\Ývaúœkƶ •ª­b4cÔ£Yÿ±ÿƒŒ]Þb0¼±©`/A CªB^Ðázò Ë„(nQ _ìßcÜ>#ü¶þQŠ«„¸j€£„fJÒ×¿Š´§Q3¸¦w\e¿æà¸Ô^Ë¥ÖÜ!Î ü–ÍL°òÚDkhm¯ŽY²©2b+×ÉLêÄÈ¢@– Q J)‚oã2ÝœT6^P#KUܶǙqC¯3Ãéï‘[©®â'6;¯ÉÒïqç29Œ„±Ma+˜zD»·¦Ý]Ñé­éô–ôí9qCãÇÁGÜ#y9Ïù ûœv¾fo×ÙÛ5öV½]£Ó^2ìN8q& å ‡¢Ž( Î,¶Éq\9Ü·‹+ù”ËߤPdÞçt”myMGZÑwD¦AdD¦IdÄu¢Çq['–u3 ÕÝӼܣŠ=±d°6;ÜñæÕcÆ“sÑgAŸ”µÈÃ’"¬^DÛÜðLÁ@žb ŸJ¬ZmÖN‹µÖfM‹¹ß'[É} ÀÛ·oF_{¾Öˆ)þ×ÿ‰}–ó™ð*Pý³~›_þí÷bZrD«cbݯ!‹l@-: { b{/üBå(J*/ìp=8i0¹{LÕ,æí6ÑÃIh++†Êœ¡2§®í9¸µc85BÇâDžq"Í8•§œH3æµ>eÈ´9d:¢Û1¢^à7lfÊb/ðÞ9x//¼¬†?ªãjä# µ I?h¬–)¬*ü•K´²Xl(nŽ\Ëq:ê7ôÜ;÷€ìd$ºŠ¿uØ-¬n»ÌnOYÜ ‰&ql’; ®æsÚ½åyïÏ»/èõ—Câòãä„©yìÁ)=Þ/¿àßVÿÈXñÎ16Fܧtí§ö˜sççò ëªC\Xl³6J’ÿß…Ÿl05O(,™¥Ùå•xÆsé%Ïy‰\Ô¥=aÇdÛi°é4ØtšG+ÿ¶AÜ>Z´Í EWE¥ æø$‘ÁºìðλäóÝGŒ9þä¡VÔl¾}Ç {ÇiÂåŠ!3œÒ§B°n·yé<å•ö”—<Åò#êw—×oùæõOŽL졇7´X8]fÊ€©2â6:Ç+:Æ’Ú}éñ ºc˜Îhø;Œ]+Ž¢duk°Ë€ž±ä²ý–¢ä •œ™ -Å¡2*iÏ@Ÿ ´ ´ OvÐ¥{—IÛ h((yN«µæ²ñ–ª^Ò­ÏäsZÅ‚*/Y *MPê‚R“¨T(ûkSÛØF„Ûöé¶WŒÔ£¨kx{›ÍQ@ÒÔ)Z ž\c¯7(è°¦É!àDs¢Nè5«â$Þ M_Q}Ûgß²o ksˆ5L æ4†έ1?ü?ßòÅÿò7¬& Ò ¨dÙgÀ¿ÿÿp'|àxàÿÿø¹lVøîw¿ËŸýÙŸñû¿ÿû”eÉŸþéŸòÝï~÷kÏÑ›1þçÿ‘ü® ú‡„è‚Hxý"D´_Ô? ¥nØŠæ±—¬Zr!ß^˜¬/šL/L.†DŠI¬ÇU6­Z· îø™xe°žvx7½äóéGŒƒs Y¢”%JIÆq¸ç>#÷–ç½/yÜxC_,” ìܧ,$V­6/Ýgüökü¿Æ7üÏùxúC._¾åãŸüù¤À·LüLJ ›;§Ë,0‰N‡¤±F­ð°Dĉ:å‚k†É‚†¿C߯°¦Àì~ƒmúôZ ʳ ³ ðp¿2 YÓ&“50+ã€Y…DøÂÁžp‘¤O? ¿¼!£VGáG³¤ÖØpY¯¡TjuTÞëªA)¤cHÇÕÉBês–P¿õ¨ìŠn¶"QU⚆¨*ŒC†¾H1&)qf°K²Šo»ìÜ v´ØRgG=MiOSÝÓ0Ô-P“ õé³ñ5A® Û%v=éçhõœ´¯±?mpwzÂÛì «¼M»XÒ’V — …šç#Í+šãíņ޶ÅU}4í>ã·&À-Ç  Å±·à(öŽ…Õ(äèùÓŸb®ÌÛQTĪFìªÄ©ÆJëÀF¿S‰¿°ˆÇ6ÎYÄåhÌÇéøwò?ð÷Å¿%*mÞO™–#ÒHCÎK$­@®•”²t,‰ò­‚i¨î·y ][ d9›Û›±ËfÒÁ_Õ´ûëµCù¶þ}¾m|Ÿ÷ô|Ûø>ß¿ù6Jš³»kðfòäx_)÷aEù¦ßäÝéˆò¢D80Ûp·;án‚|»øGž–W|\|Â#ùŠòs^XÏxÓºàmó’÷²W¼—¾äýìïe¯8›Ü`-5ØÈu®æêNü®ÉbRP$2U#r üÜ!Fg&†L¥¦ÒuÕ =¤Ó‚ôeôfKÃs~qÍÖ5œ^ÓŒ4¢hO#<ÐØù¤;ƒùvˆ²Î C‹X•I„È+öV“»â¥(Ëv ù> ò< ÌBîV2«m—o(ZIÑmSôÚǵۦÿl(¡nï9ëùïÿ»!mé—øÁß¾Ï?î> Tuõ¯¿>ðÀ<ðÀ¿?Âï;ßùÎWë_ýÕ_ñ[¿õ[l6~û·€_ÿõ_ç7ó7¿vMSÞò óSW°ë*ìÎd¶…¢ Ò¹FÒvÙ›9w¥Ìn_Ç8Dû}órÿ”é~È!¯QÖòilåÈ ù<§: _%ñ OB Dޤ³ ×u‚Üeu¸Ë²Bg£4ÙªM¶J“@¶ÉJ ©¬°Êˆf¹ÅÎ{(yIž«øy07 ,¡¨ (©Öå±”íü@*ë„=‡Pw ‡â  UM1õËŽµ5¢%=Þ1šz-»Â+¦á Il°Š»,=YŸÜV¨ŸîÑÜ#K0ò=i[ê 2Ál7d¯Õë#6z“ÄÐJEY,£.×Ñ%Fœpe=fb²¶:Âa›µ¸ËCä¢$/4Va‡™?äPÖÉ5å˜Éï#<öó¨vŠ)GVŒmy$ÆÄ;áSë#‚Ð"Q5¡RítC褩F’ê¤‰Ž¥„„šÅzÁÆl1uOùÒ}έ{ÊÎmRVõê@½ÜS/÷4ó ¦ôå–û2 ê@ DXa6#šÎ†sÊcõ g…ÜÍ9œ¹ÜÄg(ýœôT&k+¤ŽBfª*ô*Æ­d(XZ€&§©¢Ì$ O/éµ }"©Qa@ÞW‰žá²MòDF‰sñžF¼'{µÎ^©ã«.¡b‘È¥"¡Ê9º” j²U Õ*HKä4F½ÛcäÙÜCªKǨIˆºDŽBŒñ•µF¡ìÑ´Ç‘íã}!銒¢‰rP³-*Pý‚*–Ž¥¶ú–DÑ0²˜z²§–¨§{jáûm„½‰0‹Ù­0Ò)Íѳ;áJHm…²+ãw5ÒžŠÞ‹è´<®½¡fíÐŒM‰É%… ²It–¡Q¢–)¶îÑÐ7ôµ;Nµ1¦ˆ4•™Õç3÷‚ÅVk°õlo˜ZH«ÜÐ*7ÔÊ;0¶ ºHÑ[)B©­ ÉÖ”[ÔÍÆŠÁ`FŠŽ3ð¨Úpp]n’@Ç }.ýr_eC‹½¨s5öNR(z¬çzHCÝ2(fŒ‚1§É%*¸™§KݺMzÐpŽëã4|êõ]cŽ£ïQô”Ì¡*ÑåG;ж—h™KViÇÂöJ%u4öIu6 ¨d*S°N»¬’.›´^¦lÕ+µÃÂêb¨SiÈ$8a’ޏ]ž£'9JR!‰<Ñõ‚¢J«¤]Ûâç+ÖñŠu¶bY¬Ðµ„nmÁ@›sRÜ¡¥ j•£W –ÒѨ¥ÐM¨F)rÓz¸­Ø²ËgDÊšTÕ( \–ˆfNûdÅÓä%™,³¤ËÁ­áYuY4ÑjV…P+$KA•t·ÄéEHë,PI›(PÉ2 a8ˆšƒèˆSðU›ù¾ÇÕ«K´eÈøºËt~Á¾èS4ë Zÿ\l™<ðÀ<ð/âçbû¯ûúdYæ{ßûßûÞ÷þ¯é°âWù„ÈPYŸ:¬+‡UË!ôuœQE5²Ø4Tâ²E¹”WP¾…â fÖ9S뜥զÊȽ=ѳ=(—2É­ù•%za* Ê”B 2‰$°XïúT;o×ÀŽBÓ"°,BÓ"7UFÒ _vI$$H÷:þÖe³ë0ßžÄ$9¤9¤Žðhk:½ íцÂÔ˜¸gLÜ3¦¾7µ(ë2¢’T¢ë mwK{°¥]íh9»ãܳ¾ÃÞ±9Hs¯ÏfÝáz] ®s²T#Â@ KNúcô0¡}ØÒòv´[ô*!¯Æn?&òMv­»V UËè© Š­Ìíò Qãåò}–ÍËV‡E«Ë²Õ!Ì\ü¸Æ<9ámü ¿pîÝ$¦qœssÌúy ŠŒzmG›m}EÃÞ¡Y1s³ÇA¯ñ¹ú!Ý|A'XÐ]/9 O&?(ä{…ü àÕ]vÝ:¯º}vÝ:wÆ ãÚ9“ô„Ó8KÆ&rL2KA7"t3Â0czÅçÞ O·oxê¿FÞ—È[A¸qXl‡(iN[^qêÞrÚ¿åt0¡«,h¨Ea¬œ°Ujä55ôè?¢MÂÐ!‚P&+4¼]j'~a*ðm‡ÀrÉ,É)YMnœst7d®·¹Ù_r³¹`²?cµï!" /j0 Ïø<úˆÎù‚ÎãrAÛ]P7w´:kÚò‚^½…%BΜw<²®yV¼Á‰ðÀ<ðÀ¿&?Âï_B‡%¿Â'„†Éâ´Ã¼Õañ¬Ë¦h›:™a±5uæ…Ž¿°ð¿4ñ`â}ß$~R#~â?s)2ª“¢1Žîcò[ÿ'¥.“Å:…,¨Ô£Åw•ËľÄj®p˜6™Nη9Eýh«ž×eäZÁFïâk5R]£ÒÙF0vÙŽÛÌÇ'xÂô«8&œÃãÑG×|ðÑKª†Âg^Dá¬ý;_¥Êd’U¢›1'î”gƒ7<³®xÔ½æMý1oêxíCyÊ\é²;,¤{Q§®Hl¼® ²ŠV}‹ìf´­%Oµ—¼ëœñνäftλäGñ3Æ”¡6; ?ÒP6d•LZi8R€"e¤’ŠW88{“p¦¾’‰¿í=  âäçµL6ÍæQø‰ÇœG·ôÖkzãï_r«¬›=ò¦Î¢9Ä«94Š ±ÁT#êÒ[ ѬÙ-àPQÝ¥Óœ|–däoëˆLG©ëhŽ¿ —d­¢æøÇ±ºJ…d…Ÿ,ÅšT”ˆ¬D¤ D9µý³ŒèDk EFžÈóò¸.‹û>ºcO5$P%P$(%`$“<Ñ ŸØøOl’ºBMÝb(!'Ê;¶r“‰tÊ­|J"ަÿŽJ¦Éäu‰*/1ä–´b$¿#“$Ê\"È ¼üœ7Ù%ûeƒÝ¢ÅnÞb»hñÌ•$ŒâVœà4ÒG*é#•øR£ì%GQsT%©¢Ó\8éPAËc EÂWMʯ•Gœ­'œÇ·œ­'œÝLø¢þ¦º·öˆ²ºãØŽu ïϸØÜð|ù’ÆŸ!/+¢Øa¸Š#ù(üž8¯ù°ÿ)Ï.^PI‚J¡ðN:e[¯“VæÓO§¨Û”í:§XËD+‹t®RÎjD3‹Í¬’ 8UÈOòSI+ÙÈ-®ís’ŽLÍ1÷,6æo¬Þöðü“àÝOЂ”÷?úœ«OÑj£ów4ÌMeM§¶dwRÇ-|Ϊ1Ê£ðkÅbM#*±ª‘›ÇÃ6…Ù-Èö*Ÿv>â'íxmòyö!gÒ˜‘:f§Õñ%›š±§ÖÙrr9ÆM<Þnž`Ï’…Îl>Ä—ì£ðëäHýÍMqª˜fÑ*C ?fõÂE¼ÔIᤅ8+Ÿ(ÈïÇø?1‰'#&ŸuQ~ü>©¬;±m‘ö-PdX=8z>ðÀ<ð‹Ë/¬ðË#`îË™j"\µ%c( ) &qbVeqœ}§g9Eœ“b_"6%HPÙPµ$ªD@½£©@&EªÈQ¥ ! ËUÒH#ðŠŒ¤”HF\h"ÁÏ–y›è‚–´e¶ï L/æ$œ±=8„•p¯í-rMC/2šîŽÑÙZ2‹Ù7 P¶%ÄÝM©eÝbE_ÜÑ”·Xjˆ¬ä¦J¢é„’‰_9ìó£[ßaUÇ»mpxU§ÞØSʵž`K¥% ÁѨNª~È D~ÿÁ^))žRPe2U,C,a…”(~NzÐ(-™ÌÒˆt ½HPã%+0Êd0´Ë È!ƒâæ¨nŽâæXy@[ZÒÈöh~F%Kàˆ*ä¬@)sDUQ"‘¡J:E&“û ùF%Ÿ)äQË¢8(Ha‰n%t'ÅÖN´gå;.£·<ÉÞ0LfèaŒä¾„КT‰|?`|¥F"ÒB%M²H!.+©ÃÄñZJCÞQ) ) 5é24òJ¡,e¤ª@­Ò£M|¢ç Jœ#û%•/;Í$oXdC›‰tŠ—Õ`%¨m<ê³õñ–ú»5µÛ–å"¥)™$ØaiáTDU¡“`VZ‘¢¤9R\N¯+Ä] 7 ÖN$ÊÇ*e÷?'%*ñ±\TÍŒQVT9äaE@Z•ÔE…8€œƒ¡ºï,$…\R¨$‰J.¨dA©Jº| ã9 ¹P(ıÃ.g&Á貞c'NìÑ÷CìÈ …ƒá¢êjãk+µÃØ‘U ÓrȦl–&e%HbJlá©uö‰‡=ð _ë©Á~e\µ(- úè*èÒQü=ðÀ<ðÀ/(¿°Âo²ñ¿ú딺DÖPH*YC!s”ûÊ2 9¶Ðn®0…˜i„a†ÜJÜJçŒ'Œï о 9Õay¬Q,ÉZ#ÝI”^ŽªFÔsºìQ3=§dïÖÙ×ìk ¢ÜBm'èý½cvBOåæpFvP¸õÎ(C‰\RxÔ~Ë™9fÞì2^ëCÆbˆ°u$CFQ+Téh¾¡ˆIQ¡ˆœºØs”Gâ5'剕×eµéóƒ­Â]£Ë<ï1=–j—г‰×&éT¦z[ÔdvE òŠ(±8Ô¬èqkœÑ9Y¢W aná[~©ø„§â;»ÎÁ¨³‹ëìòÍpËHLiY[ší·öˆ±8c1ÞœÑP·ŒÔ1£ú-£ö˜Êßvð-ß¶‘ô ·ðqe×ô‘ã‚À´#‹Åx@6Q±·!ýÝ‚Çûkì4¤!miX[öm—w¿A:ø¾C°qñU—¬R(RÁ©Ç`;'*Ž¥}¾êâMvœ¯¯iÇ+ôMŒåÔT"£«)­lG°w˜ï\ùO "‡Ü“È%™¼”É3‰EÕgV¹+xeÕ(l—Àqðm‡…uÚaž™'š–ÓÕ×tµ%C1£^f€€ IDAT©¬ié\;Aue–V™~ÆL9ãNœ"m ä}Îp?g´ŸÐZ-è.g« Á*ÇëBd•ä½ôÉÊ‘ôEÍPE†’ç(~´.·Ü€4yj*LJ‚I† €M€Jv4b©ö´Ë v %ž"YC¸†p]!"°*¨¨©¨\•m³Î¶ÙdÓh˜6f+Â8=–{ê^B¤š_E¨˜„¹M:™C˜9d]™¢!(,A! êÑž“ù eyG{¾|ì~ˆÙMÐúž*±m;©]Ǿµ¸Ã*겎;¤±Fë$‰FëD±IY¤ªNÕ—8X5Þk¹MËYa>–êcIÖ½ °%òJeõ¹ Îyë?å69£m/i;k:ö’¶³Âqôa„';¼i^0µì6E£Âªû¨¦‚©hjŒ"2]gÚ’”:wæÍOñÊJ™ò¤|É)cT5#.M^Mßãíò1¢U"µ D³D4 vûÛ»ŸF¨ZGsGFé'Ô̧ƌÓú”“Þ”r/1.Ng§ŒßodZù‚ ù-ï9¯èÊK^d! áéuµ ×<Ð2×´­-sMílç%³îð(úPˆŽðÐI¨Á|ÚÇ{[çÍõ3”$§ì Ê® èŠcÖ÷ÞMU–KrCáz}Éõê‚ÕºG¹QÑ9þ“þœ'ýkâÜ`—4Ç—ìâë¢Í²ì’ÔtšÎ9J‰&ÑIt0È0ñuª†BÒ´PŒßwð-—äBA rê';ƒ}wÆ@̘‹w¢Å-"Z”%PÈïGý¾2¥zàxà_D~q…ßfÄÿñéo ;9úI„^{g4'A¡@¦@!G“R†Í;N.g Í;N3þyòMþy‘ÜL'CÒê™F–¨D¢ZWëŠbå!Gµ|êÅ’¼ø¿Ø{³æÆ²ìJó;wpq1$8û©Ì”ª¤¶ìŸ\/ý¤îT§¤Ãgw:g3.pçéô¼Bª×®²–…5?³mÇŒo$®ápݽ÷ZìY3t¯äÁ£4k²¦EZÛ½g⎷¸ýìVçj{ÈÍæõFr¢_pfžsÖ=çlïœËÖ2~A%t¦Å>4 KEÕA% P)QĮ릉Ÿ€}qÇ3>q(/¹ÊN¹Üžp½8ájzB\š$XÄšIlY”[r®R~~¹«M’Üa™ö˜ ÷¸énhv¼Î†Ž³`$ÖžËwèUÉûâ%ŠLÓ!“l^²â€[¾s^óª÷†?é¿äOâ—¤‰Å]¹O«¹æÌúÌ/ü?óCëOHæF—¹ÑcnôÐŠŠ¾º oÏ´ç”[wáKÞ†/ù2;cwx™¾ã,»àEúž'Õ9â±q<‚®ÇõxŸyÔg±ê3wÌõ>{ÆÏ©±s;-u"ˆ«`‰+‡¸t°¼Œ¨»‹‡ˆ,ƒEÖcïq¢Ë‚ž³À §¯Î8×4´ˆ†ÒpsOcíùh}Ã_´_ò£øžgë<ýò‘g_>ðìËGŒÍÆ(aD•lsI:¨)Ë i•(nj¨Z¦èU•(óq+— Ö;á§e Ã×—"%5.:.-Ö»%Äx2Æ­c”ª"_Cv. ?Âæ#ˆê¨}‰Ù‡ÚÓYw|núû\÷Ç,üÎÎÔ%ßÐÌ74Š@ñªµâ³Š»,£˨Ç*êBS¢·34'CW367hOk¬9%g v•bx9uSùÉ8å‹8…¶¹O¸m² š„A“j«RoªPÝ턚•­Q:²)>_ÌSj—÷¼ çÎZ÷ µ{†âŽ <±ÅcK.uÊZg¹]òeñ”«íF·`\Ýs Ýð²ñ–ÔÛ¹ÍnÚ.Ó÷úˆÑ 6Á1·”ªŠ¥îºªšR’;áwoPz»Hé° #—<åf‘s?ßãa¾Ï—Û3æ›>Îaˆïb&œvÈ:è°¾ì°~ßaõ®CÕWáL" s:ý9Oý|7xÃw‡o(îUþtóâ&cucI‡Ž:ãĽàûî8wP¨„Âç΋TIDÍ kׯ­U(+Èåîây~<òÈ#üŒùÙ ¿EÚc1ýVšÒj,ètæ´Ë’Dª¨q­˜ns͸žp¦]1_ ¸ÎÆ8Ä›IS¢ú @d%’ôÜÏ è¸3zΔž=Å´K*W£j¨Ô¾†. ,7Â2C,5Ä a“µÙnÛlm¶mÊŽFß™â´#Nú_ )¹Óöij†h=ÖÝ©vaÑ5hE’–ˆ¨BÄ%ºa™ -ÄÍbò¹Ád9âíêþºþagX¢Ö ÔQÁº†P"Ò¥,©S…dcÏ5¤®¡Qaj ¦›`* ûÖ-–žp¢Ÿs¦¢[/)7*ë Åu~ŒHÁ®:êjçv)ÏYÐåž=Ú¬pË¿^ÓgʾrÉþ…Z‹½*YNÉžùÀ¾öÀ~óbk²¼ípµ>B.ò……¥d ÄŒgâß™å£ñ„аYè]>êOXê½ÿ¡4¥â˜KšUÈq~…’W¸eˆY¦huZW4‹ V– %%"’¨Û=(‘+S-(Sƒ iqŸîó¹xB™iTªJ©ì^!¨e…šïFXÝ"Á• ¦] x5•Ü/Ö¥J)+hUS¥´Š ƒtÎ ™¡d ( iÃ#ëØÌ¼=îÍ.ÕΫ3á}V2ºšòÝû7”QN”A”B”Aí—èaL#[Ó“3R‘жHP©v#» »Pø)ÈÉn'µB¥l¨šŽl:HÛEG "%*5º,Њj·Ã'%µT¹ \Aq Ù;‰¬T©#=ÂÔÉ[M&í!÷Ýwý=í6imPT*TQ×Ì•1Ü•2d˜o‡Ì¶CfÛ–™â»+šÊ?_ãG¢õ.Ÿ2»·QE…Ú®±ú)~´!L$Ò"•6‰´IK‹,²I#›,rÈC± .j´EÒƒb(M…ª+Ƀ@õI›¥è°m¸®f…®¦Y“Õ&±tØÖEfðì1†Ì·}ÖÛ…­cfÝjÉ1—Ìís»Ç–kÙ$6 € m70‰BE¦DvƒPßuí:á9qdˆKH']²‰šÔµÂfëó0Ý£é­ñ;äœ*ÖKq#P?JHkhIäa4$ sËH½ç™û_uÿÂÖC“ûË>öì„$20zÎ0¦¹ÜÐö¼8Â*24YîF¦[ þÁšÁÓŸ\r/öXU-¦õ«ü“ŒŽXÒKTQ‘„Óéû/cî~³Ý4!ø:zœH”¤FìÆçµFŽf—ÔR£UꙂ}‘â:MK»¿¦/™$#ªÀ`½îpCGÒiÏðÜ€îhF¡êFŽHåÄ@Îvã©ia*u!` Á©¡UcôR 5ÁUÚÉŒA~ÃrcÐÈ›¢‡°+4;Gw$ºS ¹ Š!ÈÕŒ]^È#<òÈ#üüøÙ ?šñ¬Bq ÌaŠãG4Í M*TjÔ]l{í"W ÁE›Ë‹þzñ >]ðñê€ÉʤªWxzAÇé¶":ý½[R5²[SŸÖ¨V…ñ¬D?ªØ4|4¥Æ6ÎÜsžø_¨*•udœ¬ÏMµIº¬H–5ÅRÂÖMŸ/ú ¦Ÿlf~ÏÍSÖ£&êiŽí…XG1Æ C7rd*P–9ÊUŠøQÌ}¦¾ÏÇæ¹¯óÙ}Æe}Êe}B [`™€™kWuS Ú%ÚËuTP Ò0¨LAiªÈLPÞ鈕¤þ¬ø.ùÀ¤h0£‘10&oo¾e}ѦëÿÞíQ}t«äÖ›ÓoÎé{st§`eût¬kþžÂ68p¯é¹32WãÊs¥rYsq}ÊÅÃÌûœÞÃ‚Ãø[ÏðÝ5¾¿bÞióûÁoÈ,ƒEÖauX\wpƒ˜zb`½æËÈxhx°FܳǴV r¾S~äX¿då´Xû>ë¦ÏÚ÷iæ[ZÙ.V¡•4¼ ®½¥¡opÅ– •¦q¨Ýêopò”“é9§ñ9ýxJ‹þ®[Ùì±<í±íy¨NÅ«ê Ç›Kžñ‘gþGú‡3Q£­Áܨ›[êêo«q0Ù°Q[”žJå)TªJ$]ÒÊ¢(uªB¡–*qÏgÙjòÐöYtx'%ÞaAÃ(ðÖSÖu›Y=bUµX×mº,Ø÷ì+÷ì5îQ» Ú^McY£F×6ÁɈ›£!›ý!ñ EÞÖ(\ CÏØ¯ïé„K:áŠÎv…‡lŒµ©˜]®¶e“mí‘:J³ÄgÅQqÅÑúŠÃõpIC Æ>±¾E¡&íY¸fÂóÍ'Ž«kòbgÉŸyi+&™b’Ù&¹m Te+:gnŸ‡rȽ2âÁÑÐBFâ=c¨ñ@Ë^áö¶¸-®¶ET’ m1MGä‰Iœ¹,³©aâ÷V˜í”ž?Ãô ScI‡Bê˜dô䜆 ±E‚F *¡’`#Ô_ããËB§Ø[“bkQ':å>¢DU“v±¢ÊtZ2ào†à‡îŸ±F1V?Ærc,b2Ó!m:d=‡tì°hv˜U]f³³÷= ۢĠFÄ®í«* ª êdÂã.?â¯aIºhÐw–|œ>ãÓì)Ëy÷M¸Á²è0aÈ<í³ŠºQ‹(j’ŠŠJ7ˆõk½C¾2YmÛlÓe¥@VÀ²­€¬Dß$ô³%sI¿·¤ÕØ’8Ä…Câ9dÇ6{ã[ìqH~ 2t ’Œ´{~©ÿ‘¶¾D6ÁiDØfˆ­D$®EçhE'[Òóæ,]BÃckx„F“¤´!–°€Bi¬S«¸O±JKn︙ì³ÖûT§>~+e°7§?Z3­1­‚ß¿{Žÿ3o¾Gyä‘GùÍÏWøù5<+QÌ£™â4#šF€Ï†——‡¤¶ Vm®.j´?×h–,åFcèTÕ’†¶fìÌ8mÍ8íϰ삺+¨NÕVìÆ·:>›®OÐðQŒ{öÝöýÜ<äýdÄû‡Û‡ËÙˆ²®(ëš²–È֥Ϲ~BÔ´¸ŽH„ÍzØb•xhIŽ£GXͳ™¢U(PÊu‚x“_—ÌLŸÜÔ™š#l»dÝktwEHr $»H¥Q ûÆ‹³•Ryy¨QG’:V¨V2V(´áR¼4©Ÿkà€ÙÌšT¥¦m,9µÏYÒeYô¸¿c)ºg·k¤µsNZçÔs…à®Éú®ÍëÛïÈs“T1ÉT‹T1Ñ;9þa@ëxß\ÑrÖtì5kÎSëM{‹Ò)Qú%yOãº5æjqÈå☋‡S¾,žp}á0¾åiü™§úgR×dÙl3ïvø8|ºòÙL¾ÖÔ§,qòœn¹"ó/ÉZ&·1o¬Wü(¾ã¦8`¯¾g{¾U_ÓSnì®›c®{cnºcFÙ„Ãø–ƒä–ÃøÕ)(m…RW(„‚tåM­Ñô§JhÍV´nÖø7+ê•ÊÒìñÞø†·Þ7\÷ØkÞ³gßóªzÃÞæ~×5i.é,Pü1sêLTsK£ºd¼ÝðjrÁLés_yP†ÜÛ#"ÒÚ¤(5ê\¡’q·Éêù˜ûgû<œöØ·§8ö ט1ZÍØ”fåˆ÷å Þ•/8°nxé¼¥v<' Ñ-Ñö*ܰÄ-*fÒáúà€‡ßðaüŠ`ЦëÎè9sºÚœn½ ®éL×´§+‹„»Æ!UÃ`ÝèpÓ8&ÓL M£0T§ •®8Š.ù>ü‘ïâרuÉRï°·9?:AI¯^ГsŽ‚k‹*Q©S•*Q)K•¢«“wtòîn×WÝÖh“µ¬Ñ¶5ïýç¼®^!X˜|uÍ™qηî¾m¿¦inÈÛ¹§‘k›Êc·™lFL‚=‚ÔßEg˜-o…eÝÒ3§XfJaí2ût L™áÕ[tY`Š )%™0ÙÐüj:e’¡Ræe SL ЉEºV™d QÖä!Ó–k[W¶®9\³×ºCiV(^‰âîö¥©"=Ù×*Ÿ•'¼­^òföŠY<$w-ʆNíªÈ†Mì J4m'ühp—‘†wË##a1í²œvXÍÚÈ•  Âx—Ñiˈy:`¹ê²Y´( ±ÝÀ°s +§Z«¤¡IššåWá·Ê Ka™¢¯æ%/z—<¯/9p§¬Û¬mÖ‡m‚ÀgäÝá4C OeÖl#·5Cýž¶¾ä•ö–Ú\‰4w¡Û {´¤ÛX0?ž3] ˜nGL7CŠA’Ù 2I½ÔXÏÔ³>ëYÁåLc« Ù(C¶zŸú¤EstÃñá=/>òâð# ;äâÿ˜ð(üyä‘Gù¹òó~M‰xZ¡*%†‘âèž±¥É†Bêlñˆ¥Ã²ì/Dñ_Dÿä\K `‰«ß0²¯xî_òCïŠF7£D£»¾].8!ÅeKrÁSãœç‚_ûd”ÞbyÅöò%Ÿÿ¬¼ë"½šxšT>±ar×b ^ìã¿ö&uR¹Åª ™£Õ%2ˆe¸Îà}Bñ¾`N“¹ °À2á%ð°A×ÈÍî×b"`"PŸKŒQ‰ý"Ãþ>¦ˆu”ky£S^ȵBõ QÝ‚¼¤ŽC^X”¶†+è2§§ÏðõG\V þ-ÿ;îâ1o6ßðå7ŒkÚWŒ÷®®™—}n/޹¹9äæOG¤¡ E‚ ú~†SGØ~ˆs2¶nùõGžXŸùµñNìK&>“qŸÉaŸûþë7\Oޏº=æêÍ)Ê==uÉ/´¿ò[ý¹tù7ÿoøØ9åƒ_ò°Ù#ÎÄ“ñ{—ñæžacƉ{IæYdvʃ1âµñ-ÿ(~ËyyÊoå?q$®øF}Ëß©¿çóœ·Íç8 *N“ ^Fx}ä¥þÜÔXZ-z›…ÒF¯ ºêŠž¶¢«¯pêæÀà/0Ÿ÷Xuùxüœßuÿ÷û/ø­òª×¼¬ßñ¿…ÿçÎ<ÂáÝ'ºÅ P‚g‡ìÉÝÀ î´=þª½¢tTî«!‰´Éj“¢Ò© e×õîù,_ìqÿ÷ϸþaŒ³ýÈp›boï >f‚y>àmþ-ÿ˜ÿ–§þG¤ž0v¯0Û)æ°ÀÌ$&5‘´Ùîíóqï;þi»|güÈwzÁX¿e¿¼§´gíËç.Ån§ÔmM»ÍmqnÒ(QíÅ-hÖk××¼ Þò_g¿'¶lþ¼÷ ¾ŒŽùqïBÀ“¿p4½æÙôÇ‹k-‚¬Å…ÂU)l•b¨¢?TèF^WhQE/QW0W:|°žà[kN_øUý~+ÿ G˜Z=¦v©ÖcSxl’Wë>̾a‘v÷oØoÜÐëNµïðE€AJ†Á’m¹¢!CÚrE»^¡)%:©°ˆ¾éD¸Ô(d˜TÅNø•Å…I:±IâÓh„ˆ%¾²¦ùbË÷­ùað'~sö/šF©©”êÎeS3jt¯BïUèIÅã_Q ÓÅq/(=ƒj¨S¿ ?] tš‚Ð4 Åá¡pyˆK 0fÀ”uM¾Ñ‰b—UÑB#g™vY­;lî[Ä7M MGxìεDF5ä5RÖPæ°Na1úrA¿wÉÓÓ×ü¦|Í û’‰3d²?d*†Là±Å’3Ù¥­ ÔÚj@G]SY qÃ"6,ba8M|gMë`E[.hl6¨Å¥Î梅×È(DY+l.\6_zÈ/*\4à ½«Ã4ižTNøÅÉkþËéïh;Kþ[»úÿîŽ{ä‘Gyä‘ÿÅü|…_.J­i”¶Af[$ª.K¹G¸h²]´ØN[doLòåB%X ˜6X-0uB_å®r1¦=’·G4û1F#CwsŒFF®h”ô™b£)%{æ¶‘ ƒ€&öYÉ©œS:ì‡,Ücî) Wcá4QO Œ£ «•`© ¾ h×kZu@[®éÉ9=± ÁæƒxN¨8|Ϙ‰1)mLM£ë-é56t½-~+¦8Ó(Ÿh§*åFÝP¨{ õX¡^+¨û%êqÚ)QµÕ¨Q›µ¿sdŒ—EÝc^tY¦]ÒÊânµÏëwßQf*ןiµüÖšV; éF å”炨ß@ZÐiÏé¶çtí9¾²!Q]L3EsK„/1Ý Û‹wcY^ŒÚ­¨F •¦P¬,°I2w(ƒ:U©K…´¶ jŸ™ìs¯ìúʸ¤]/9r¿0ÊïhåK¬3Ñç¶cP" …Ì5ÙhM¦³NñÍü YˆÛñ†!“hÊÿw†Ñ”ázÊ(œ2J'˜jF_Îx¢|"4l6F“'ÊgžÈsŠ[zÙs!ÒË‚ü‹Doi™wœôß³m;„ºK¬:D¥M:DEƒ¹Ñãº}Àó)•©´=„[ÓV—èyI+Zã,c´»j'¨‹ÿPŠD)%jZï¢@Öª6ÁÀ&}i“4ln#ʱBwoΫÆkÚÆdÍò/òW(¢f¡tX”q—MìQ, öîé>¬É#™,$aÕäsÙÀQ#-ÂQc\5âH\q$.QD/4J±‹£è3Ã$#Ã$Å"Ãd]µ™$û(¤s‚®\ÐcNÏž3²îye¿á©ò‰Nµ†D!4<–²ÅZ´XâS )Tj4¤Ðxp†,´M}Íúé6ìû7­”mËEZà>ÛðDûHÕSØ_ݰltX¹Vv‡MÚÜí‰Fì„uZTafNã±!Ë,¶A†6)áRâ[½þœ®XÐu®ÊbÜaQ·™7;Ä3"s'ÖCB‡i|ÆûÏ:µÒáæî›®Ç¶ç±éz„c‘a. ÌE†±ÈÙÓ'ì[wŒ­;*_%Ñ-f¢Ï4î3+z¬Š6›°ùµ<âÔ¥,uúå ÷ E§Tu E'—:‘'‰zèDO 7vUp/ Ÿ ÷£™u\eÈ´ø=ÇúÚ­÷È#<òÈ#ÿSüŒ…ŸFmh”Ò S-ÓA­j¢IƒðƒÇöƒÏö“Où RNTª…Yîææ|| ü¡ßà¶ê“LC&"Â_øÃ5þp…o¬±ô’3FL0•ŒŽ±Æ!"3t6†‡]—œ:3zƒ ¯žÜòÁJøhk|°|ÖÖ>Z/ÇègX­Gé×sŽ«+ŽªkŽËk ‘“ª©bóQyÎLéòE9a&Hé`hû­%Ï÷>óbô‰Ã½;’C‹øÐ$=°HÆ&eO£LvU¥US¡j ê¶B¥ \=¡émñÙÒ´¶¬ÕŠç|H^†6Qàr·Ü§H5¦W}>·žðìä3OO>áždô÷W äŒÐ¹ 2¬Î.̱#+ÂÍÇ43´ÆNøzFk°¢;œÑΡÚ"P}‚U‹¨h’®ŠIªÈJ!©,¹~wbŸ¸é¢”´Kô½ŒapOk½Âb”@b7zÖŒ]G±å@_€!]ºáðö–ýÛ[œU…Àvc|mM¿ó@¸¿Ë3›Ê.¯¸‘{´·kZÛ5ƒÅŒçÛ5s£ÏÄqa1±Fº UP1T&]∘¶¶ÀvC"¾†žkiÆpsPjúùŒeÒÝ™§ø‚™×erÐeÀ”3LQ)Øt,÷v»Š«¨ÃZõ ¬]¼F`5©ÃÍ1œŒ–¶¢­®~Æ  VvÂ/°wÂï¦8@ …Ô0Ù¨3»‹º¬qÂWw¯ùþüG‚v“UÔf’íñ¶~Å0Ÿðrõ¾¥•˜fJ_Nyª~FÕKbÃb,ïÙ¯ïÙ/è% êuAý“\””%ÂÚÐîßrªÙ¨šI=bR™#¢Ä#’s£Ïµq€ÛÑŒ‚ÀñÀ®ik+œ$¡~÷%Lõk) ,P ‰–Ô»½¾5ªÅ¼ßcÖè1=êx>•¯Ðõg¼òru÷ÙÝ1b!ÛdµÉºj”mÖY%¨Í'ìOîÝL±¶)×å7Õ˜ÆLäÝÈ0Ì ÝÌ0ŒHuQÔ_ÝP©·hb'ü|aÒ Üí|õžW}”DmlVóê\2¶oya¿ç¹ó3õÀPÐ.W ¶4¹WÆ\ic®8 Á%Å%©pQ­ÝÏiú?øSZ=Á°6¶ƒêÕ4ô€³Þ':O期øœ<媙£[¦™b+ ýzÆ“êœïŠ7|_¼&U,>É3>êOø(žp­2Cæ HES+Øk-ùþàÿìw|{öšíÐe3j°ºl.ymPHƒ¼ÖÉ¥AªX¤ê¿WÛX1nÞ³oݳߺg¢°“˜dëp»³ˆ»Ü¯ÆL¯¼ß<§gÌI~ðp¢”cý¯1´¦ÔŽÀ´RÚÖ¡H„¥F‰£Æ;áç–L/Å?]±wzËÁÙ¥¦q»<$]ØK‹0€$r(bƒ:U¨… ­-6u“»ŽŸêWhŠÖhA·š2z¸£õ°Ä¾Ob'üúö MËi)K*SE3 ôN‰V•Ø÷"Â{ˆqÖ1ihaïÅøÚŠAçðȦ@gB¹O]+|ùšïç¯ÜÏùîò5nþÀEûŒwíoø¿;ÿ…ÒVpª§qä–Hq°EBG]°Ia«(z"jÄO¿;úù ¾# mÎ['œsîp1>â”  r<ÖuƒÙç¶sWïÄÆô«<œÒÇV޵KŽÕKêc厾=Çkm1úRSHÛ6å3eÀMq@¦Zl ¹ÚåVñD½à,ú“û ÎÞ}á}÷%ÿ’ý-o«Wü^ù;†ò¹Òhoβ ZêŠ3T¥¤¥/( NЩÖtÊ5N­$у$½„ô7´ÎîPÕšn;à<}†I¢Ôã!ÔˆÍs·Çµs€â¸z¸{®IK¬h•üè?¿{ÀùZ» J”R"R‰ Ôµ$³mfƒ_ìÎíTµÄR3ºêŒ±rÍVx,èrÇ9=‚¼Å6ñÙf>aâÓ VtkÆ“{þîö÷ôƒÿ\ÿWBéñNù†Ï 0!¿õ˜†]ÓŠÏá.vG_e"EïfèO2ò¹EþÑ"ÿg‹üw«oÛ”µ†1Lñ›KæÊ€Ëçü5þ]ýÀ⦇ü,ŸêsAW™ãÿfM¯=ãûÁŸ9xv͆&ðÙà³’mÜøb( âò­o,<ì:~Q×åzpˆ”;§Ûò¿ý'\v<òÈ#<ò¿†Ÿ±ðVì¯g·ë#¥ Î¡Ž¡ÚHªµÜ9Ù連ìΦº÷”*D*¶Ò´šÍ¿àöC?Ä´SrÕ ÂÅc‹4J4Ja“ kçÔ':Ί®ºÂ2K,¯ÀÒr<-¢¥ôÕMuCG[ÒUtX2瘋œõ²ÍûÅK CcÑíPwUšÝ kŠª”ÏuòÄB9‘¨GÅ‘ÆöÈe5n‘·4ê¶@odxFõ5¹p?P±sŒq~:=e‹©eQSè*uK`î¥øùŠ¡vOÞÑÉVÙÚ ]9¢M°¿3µÙx[Ë%´\"Ó!1-RÓ$¯LŠÚ ÏuŠÚà.³Øô‰V ª¥B™ê¤¶M`¶°´Í)ѳ‚œÒp"šbË©ö…ž:à R*ä¦A¤¹»q¶ªC7]ÒHºé‚nº¤/Ñ•‚µßä“zŠ¢WÈR M+ºÛ©e›.k³Idºè²¤ÛXÒ-©ã%"ª±; 9%ŸéØjÂÔ21l¬K½CO]ÒsôÚszùœDZXEÊÞüžoo-Ý‹vUD œ ]m‰®—$ºÍFñÐEAŽ. U’yYÏ&ïÙ„C‡Ã!w­1×Ú—éNžÒÉW……š×feg¸NLÃÝRHµ¬pŠ˜v¹ÆIc²Æù-Ù-ÃpJkÐ1Z¿ ô ´QÝIi8!¾ÐÔšêOÛâ©[~ЈÃHÑ!¥ õ-Öu‡;uŸÏöSL‘áŠWD¸JH"l6xD8d¨²¢•¯i‡"t7+ŽÄ%~s…8¨H»©o:&Ym‘n-Èê]DQ#ŒšÔt(,,Õ”ä•EPt¸/ÇÜû”††îäèNîæ,iJ´²¨JEJ¤u[PïC5(H“ÝHkµT)UÌÜevjT´ä_†ÔòžV¶Â b2Åæ.;`áõÀ•;&w—j9f’c¤ÑÆã6=`%;¤¦‰hI ™¡;9F?ÇŠRFßÝ1:¼gÏ¿gOÜ‘Uˬ÷›ÕH±òWnðµ5pÒ³,PJ +e·w¼€ŒE±[·Ã¡I =EÇÂÈ3Œp—shùÃ}SáoÈZwbŒÜ­Åm9f«y(n…ÑÊÉ;:e_£ˆ ¢ÒaY{ÜÏ›4ß·)£ÅWQš1m?Ãs6Ä—妇9/a®£%š‘£ïhZIå JUPN’JAk¥€÷Ÿué=òÈ#<òÈÿ?_á—+ aK„·³n¢F¡BP‚üºd ð4ð¾Úš R)øúš“Þ9§Ã/œ£öK¢¶CÔrˆt‡‡›“ “-Áî_Ora’h6…Ô©Aa¨äІ¦æøÊš=åž2e_Ü1æ–½úžj­]49ÿ|Æ_?ý€êVØOCœ§!‡Î5]{Ž{¡Q »‚4´¨:°è´8T 'Gw2 #C'ÿ:DV~ýã°è»·ê¢ P4Ѥ¨u‚†O1Rp ãî5ʺ$Ø´‚Á¦E-²C“ðÐa=j2÷:Ìô.S½ÏDðÀ°òˆ 0oåëU›Õ¼C0iQÝjäšÉ:iS*Ñ´A³à{ûÍ[Zí€AwÊipÁÁúš†" AáèĆÃF4YW-ºÛ­eÀÉòš'‹sJS¥4u¦>·Ý}q„¿ ðçküí†ÊÐYû].Z'\úÇ(¢æÄ¾àä肺-h¥k,³W>иˆè_/øÐÊÈÛÓö¿ÍŒ!×~€e¤Ð“”sÆtÃ7“לÎÎQ[ú~Žæy†ÕNpœljI›mvONŒBM­K‚¾Ïâiå“.³Ó—þ1—þ â„ÛÅ!ÃíŒ8¼¡Þj˜Û’F;¡Ó[S÷UT½¢Ë‚*7(S2Õ±¶)­ÕšÖrE{µÆK·8Z‚­¥èý’ÚÒ°º)ÍN@¯1c߸£¯Ìv%fô™1²huÖØãd×1k•˜ãwÒÜ[â%v¡ÇŠV£ÔVš#6`ÌKê­À\æ˜ËmYÁF¡&yÇ!éºDªKxÐa;nö:lE](7i7¨: ÕHU"•‰Ü=K[eÐet©B ¯iø!Þ“ˆþpÎéæ g›sÎ6ç46áΧÞ}@šÚ¬‹6“rŸ+yŠfØf„cF8Jô“Ûf†A_mi'M@{Њ<=ÀÛÛ°ÝsYJŸ©ì±‘YmìF!#ñõËH@8ŨŽD³%Yê0 G| _ð.zIá騣{cë1! & ¿º}êèjIâYÙq—É~·ˆw•Çhiµë®ëÅ®QeM‡-6´ÙÐ’ih±M<6SŸ퀪­ î¨£U/QD²’( sH76÷ù>ù[³‰2¨±» zƒWohŠ€Ãñ%‡—ö®8T®I*“YÑÁʆ(I YU±›i6€ZÀò«Ð[˜ ˜ŠiÌD캉»nmðØEÈØ K…*ÐèYsºGsúöœÞÉ \¨}•;mÌÍḭ̀ˆU›Út–‘ª¡íµ²ÎDiÂýÁ$fèèìm}­¦µd±pw±ÅüœÃg0œÛpN#œoc²Xo4’©NõI£*Ì 8úù^›<òÈ#üÿ›Ÿï öUø‰R‚"Û…E+j…B–Y€ÌÁÒ ¥B_¶Û]ÙŠ¯'ø­5§æ9¿ü+¿zñ¯ä]K㘠ó˜P?&ÁùÉá? ¿9=¦ ˆ…C¡êÔŠ‚¢W kr¡¡‰Ÿ5{âž#®8“çœÊ/œÕç܇¼¾ø_þxÊÿú œVÌóì-/Ü·\#†5úAAÝUHŸ›¬Ê6•KÝGÇzãë^׊–º¢EþµYýÔ•4~úÙ®*± $h(Mb×¥4TÜΖq~™&7ûczsNæW¸×ÞçˆHk²uù4zÁ¿~MݶOݸ֫ˆ±®Üë˜ýë{â•K±o1Û!2ÁF´˜êC¬f‚èÖd†ÆàÝŒÁlÁÙô ý×s ?GÙÖ(yBM^j$-‹X±ˆ-›ƒ•“Ñ˺×äîéW¿>âúÕ·Åwػ å'ó+â¹G½Ð1潘*WQÌ« ˜y™Q1Ï1n ô›ý&G+K´q…:®Q{ù ÆrSš }wÎVo0Ó]ý÷Q{±~iŠ"$ª_bŒRœá´¦±YcÇz£è5jQc¦ú¶ÀѤõ®F¹¯Qî%U¤P˜'éi›ø¨Eh·ØÚ-6¶ÏF´Š{Ê„}už6!ÑLVŠÏRø¬ð‰ —hÓ`2ÛãÿaïMž,¹²3¿ßõyö7¿˜3"3‘ªP`QUÅ[ݽ v2ÓÜ Éº›M±J$  œc|óü|v¿W‹ŠmD£³ø™»› ‹gáþùwÎù®'—ìŠøÐò×G5ƒzÆoïþ·ŠîzÁéîW,•òÊeÓ´™ª#®µ+´ Á‘)®–â˜)69öc°‚MN·Yð<ÿÄóí'ž/® ª=û®Ç®ë³íøÌœÓUí*¤\Z°Jqš¥€R  ==#Pä[ŸÙâ˜÷ËWüÃò·”=‹0_¢Î†‹¶DT˜è†$¶ýÙ³­ó>íåµ3­0v X ÍSèuƒNCOÍy®>ñB}ä…úħý%ߤ¿â.;ã›ôköC3+0³S€ÍÚ¤¾³hnLªMî:å"Z'H‰Ã½`J?˜rî^sîÞpæÞp&nYË€¸>Â-6hé£ð“h ˜ šÃÿf> ø `$`{pûØrèÂoj h:ÒÕ¨}Ó`Ù#ç3^<{ËKí-“lÈmúŒ»ôŒÛÙ3„«ð[;G§5#ˆ·˜nkä—bl0½‰ØÞqs£è–_ÿîO%\v¶œ –<¬Ï¯wØßð`~QâÿbO|µ"þrMúICÿÆF¾³È¿±h¶ì*Àýÿà†÷ÄO<ñÄÿïùù ¿DÂm… $U£‘7I )øvÂà¤!H·ä~@în@.-<=ÅsnŒg¦|ÙyÍíyÕ~ëÖÖVȺðѶ}’òÚÅ … ¢AÇÒkfN¹ÓgæöI "wH Ÿ}2/{L3cÀÞŒh “ª²É —¬ôÙ•«ºL~<âöÝ9>¼ 5Xrtu;ˆê-–Q0 ûxa‚I‰j É}d¦±Oe—c÷éèXnI¤o€NƒI…EA^:”¥Å®ŒX–ÝK!,¶BCTtô%-kC×ZÐÒ·´ sCÑØô¢9zP³sî­cf ˜ÓcE›-kÕb);ÌeE=@êÍSˆ¶ÄV¨RÐ8:•4Q{h³EßKÚÙ†ó↠ç© rár§‡l͈[㜅Þ# )KH]C)¨AËzÒP§»"dÖôÑŒÅ1÷┑8b*úS± Zlâˆ]ìSÔþ>Ãe2%Îöœe÷Œó[¦ù]30Çt¬%^  n;¥/8 ï¹ðî°jîÅ6zÈTë³v"a—B·ð6~´©qÛ»à¦sÁmûœ‡ø”$¨3Ÿ„“ú®¶$Ð÷ZE£kºM¦yìY£5 ¯,¨Ó¹+{ƒ:¯Ñ›CÔ˜F…e•ØV‰eèVCP' ¶3ö;S«è‹Q^‘aX5EÇbi´ØE>uGÇèVáK•ä‘Í4îó®õ’EÑ;<÷ê€]58*ÃÑr3G³ÛDØ:–®¥(L…©+ôGƒÌ)2Z›%GË{.—׬ýˆ¦£Øà“;6¹pB{\Ž’Qš6…ï°}ŠØ&U.gÍ ›*¦(-4RÝ;,îÈ[BGîYà`×GŒ)*‹&ÓÈ—}æZ‡Ök×ÜÐ1œòÀ…ºåR}â…ü€GÊÌ]ÊžŽáWDú–¡“WfUüÜÆ;ä…6.™tYª÷â”÷Ú ä1»2„D®3#Üo ’a¾£‘:ºN§$8Ûc—%Óqo(Od>µc²ubŒB2×zÔNXì¹ØßrTéèK|/Áè”4B#­=Vi‡Q~B±·ˆw+âm…·Î1ôŠzkS%5UnSW ®Ÿ!] ÙÒ-y±öXA‰ 4]£1tjà&ÒÕm‰yRá¼ÈЇ5Õ±Á®ë3 ºlŠ[+"Ó]a`臟án¡k YÏ%ëºä]—¢m£4 µ@nuêÀ¤öMjß  $:Jh ÄÁÝ­Ø—¨&E%{ ‘V ºŸØ[2Ç +sò­ÎÂî‘WbKÅ‹šHmñdŠÝèuXfAíè çô/Çl÷&>Eê³{ðaa€óçðÄO<ñÄÏ—Ÿ¯ð[7ðcNãÖd3“ÕCD50ñÃ?ÛÑ—<ûËÖç9ÓÍ Óõ¡òOÝpÁYpÇÅà†óè–g§Ÿ¸8¹æÔ{À-KÖ;E1QìÆŠùD²Þ[ìè3£Å WžÆv²{¬2´ØNÛL¦'ÄÓ Á"a†lØm± B’]ÈbÓçfsEo³`v×çúÓ%£Ñ Eaÿ¼ôApÈqkÐ)°ÈpÙU!ÙÔÃIôqƒ·ÉÇàåDÇÇ ¡F!à —HSŸñê˜ëå×ËK4WâwvíAg‡§¥YŠ—g¸yŽJ56É-›¤Å6‰É¤‡¡ £$ñ|>qņˆ-1 þcÖ¡†ÔJ̽«0^ÖQqQ!º4UXhÞ![ÍÞ”ø÷9úfYŸqvÌ8?f¬Ž«c5 6¾¾§‰4VM‹kë³]!¥†’‚ÁhJ÷~IQÚä¥Ã»î ¾ ~ÉÂí1j³kûxí=n˜â{{t·¦6 2é`z N·Bžh˜VŰ;áñ÷¸vÆ¥úD¨6jC(7rC/\Ñ;[È=z(®†Îaftµn²³æQ»æŒf†qed³lwXh]–Û.»QxÚ„ÈyKìm¸°n8oñz{’½Ã,îä£3nµSêÒÂÈ%F"1· vUà‡í‹Ç ‘ØÐõ–t½Ýf‰=/h¥Î’ì¤ä¨˜øûQµfPj©çQÞÛ @ºOK‘¦Æ88"ëúÜ4WXeuhÓ³\Rެ1ÃΘÁŘv±¢Ö5즠s½Æ¥8ý«_¡÷” þfuÇšê£"íY¬Ÿ‡LŸ÷¸ÎØšV”sÆ ÇÎI0uûÌÝ>3§¡ ´aFŒå©Áh?änÎÝþœûôŒZêH]ðÜyËEø‘i3`œ¯Ž—G(×À 3úÑŒ‹ø†3íŽ9!rw˜a…ÑÔøNJW×0U…'SbsÏI4â¥xËÌp—œs—žs—~æ*jó>z‘dÅ`A­t.뜔~…cd8M†“fÔBg× Ù¿Ù…!FSsÒ¿ç´{Ï)÷ÄɆ•j3õ†¬D›mcš†^1LgœV‡%W¦ÆMïœëð‚OëKÞ-Ÿ3[v©BßM87ï¸L?r9ú@¤ïhRƒÚ0hÚ&udPÅ&eˤlE¢|’Ú'Yù¬V”¯¡|Æ3¨}“IûˆôeˆfhÄGV$IO}ƧÇüÐMÙæ-îNNXɘÒ6qÎs†bÄ1#ŽÄ®È‰FℱvLAÿà.9ü]5°ucî½SjÏ`åv!4‘F?œÐÎ)RE¶’dæ+‰iHÂÞžA×МšŒEÄ(ŒG÷/"Ä¥ƒˆôÃÒ¥@"† ^¨CÊÏó‚x¸fL8×®™ãQÓaBãÏ«<Õ¿áMî‰'žxâ‰'þuùù ¿M ?d46¤±IÕŠIZ1A'åò$£w²âò‹÷ ÛcÞ~÷o¿“ä³€é§c:WK^ ÞðëgÿįŸÿÝ΂0Úú;ܪDÍùÅöµbñ£b¼°™ÑÆÆÃÂCÄ.Õ+“ò•EU›4=ëC‰õîPæuEÙ·(ûUߤì[ÌfGÜLrÜq†3ÎÉ6.»]È~R–6ÿü@q~Šƒð+±¯ Q3õVG¾6°Ç%Ηq±¡ïN©‡&: 4$Iê3™óöæsþtû5v\0<1cTž‘ä ƒíœþvŽ·Ë)‹2µ)’ÃR›‰Ùgâö™T}ft(p›äœƒðÓNœ2˜­[cFö³»ÌiÖ&ÅÂ94s­Q²ÆÙ–øMŽa+–²Çkõ ¾‘_óÁ|Ž”‡n0%¾‘Є++æS뜴pètGK†£)½Ñ’;ÿ”»Ÿñ®û’7ÝÏØ†!ÊHOÃóv´íž±G7jjC'o\¿¢îä¨RÃðK†Þ×Ï8·oÙ`¨ C–èªÄ%nPàåxQŽv.­lkç *e²CæÙAø#Ò( 9 H÷>Yì“w Í&ß:ˆ‘"Œ~`ŽùÜûWá¸a†W¥¸UFR¹L¬íK~p>çþŠ}B¡£RµÑñdJ+XÒ—´ƒC}³ü†¦Ðñòo“Кl°'Ýé‚bicv+ÌÎcu+–í6iÛgÑi³l·Yضfˆ4žž˜ãàˆkyEaz4•ñÏQ ÄÚ†Wx%~ zUbŽkìQAxŸ -$Ö‹ýyƒ² éiáw“!¾©¨þQ‘ž[¬›YÐãîôétÃ]ç^kA.Þë/ø ='×M¤ÒÐÍ5¨cI¹×ßùîþ|SþšïV_q%ßs¥à…óŽËðo·¯ø.ýùÂånñ êxƒœ¾6çÒÿÄ©vOÏZy[̰Bo|'Á0J¹£+œXcòÈ!s]6­˜oö¿ÆM2Ò½Ï]rÎ2jCüœeñ>ºä̼ãYsËeù‘‹ü–ÀMÐõ½i0’šÊ5ØÇIè±æ!€¶¶¦­¯é°F$’©6äÖ=çµÿ×â/ò÷¼,Þs–~àeþž;ç”[ûŒ›ðœçŒñæ˜i|Ä<ìQù&}9ç̼çëô[þrô õÉáµ®¡Úµi¶l²Ø!m9l݈Û|Ü>g¾p›\ ::²cPë¥o²ì´IíH#þEŠiI2?`¡|]s¯ŽYÙ-ª–…Sf9c>w¾çKç{"¶¼^ýcU‘¬æ«þ¡ tq(µ윈Ú1X9®K†Wc†/G#Ž#¶SÛwßû,¾ ðÜ‚ÁW .5çåÙ½kò:|‰~ü’ýg=vUщÑÚ.Z¤f…Ÿ¨ œ³œÖцa8áBÜ`±G±ÀDÃç0Ë)ÿmïsO<ñÄO<ñ¯ÈÏVøÙ2ï&¥#4јˆÔÄ($^« ¶vô†KŽÎ§,ׯ£=®›¡‰ÏMhwVŸŽ¸|ù ×Ê@A]˜¬¦–wv7ùNý±¦˜JÒÚ§®†4õÕ +ÖƒÃÌ‘H²µG=1¨¯ š7,,åã©`,àNÀ½€íŸ#] ¯“û&d•¶Ñ¶ ë&f'é‘®\ª[‡ê£MýÎÆxhèSvƒˆ,ó¨0±(mH ÕP¥ëE›‡ûSÞ½}…ÓÊ()º™ãZ)Ñ~‡Ük˜û?I ó="—h…$Ñ<ªZgZ÷X5mnš q˜-ÒEC ö4R‡F U fQ¦Ð½ÍhІ*RÔŽf6MB®Pº8ÌþeYá2U>¨ç|£þ‚7Ö+:ùœN5§ÝÌi³À4+2Íad1÷»<_}ÂRƒdNk¶f!;4]ƒusw|Ê>ôqµ WÏp´ K ÔAœ©€ƒ'Pm …N$˜ZýÓ½¨) 뫨[äš…Jߦ¶,’n¥JÌ}…U•T©Á>õY¦]Ýüp³ IDATFé wƉ’øi/¤0ƒK¦€=8MŽ+sZúš¡;æB\SÙ&•k²Ó|V¢Å½8å^œ0☱8b§biÒÔ‡rŒœ(j:ÄG]¶f€±¨ —{õŒnî*Å»KáƒBŒ 9ÑiNušJ§Ñ5JÛfµxÇÜ:§ºM­ Œ²¦W,0jÅLwÙùSsHÖx @¨ÃïÒÖ–DÖšž5ao{”•‰±o0Dƒ³+°'%IÛÇäØåaæT¯jÄ^¢– 9‚ÆÔ*7¨¥‰¥•´çÜp¥}¢T&B“šÉZ‹É„ƒã¤˜Q‰¦ê\gE‹›âœo·¿ä÷Ë¿ÂÔ .ÕŽë~[ü7Ë(öËm—ûÕ-µ¡n›<åŠ@Û£Û5•g°«òÆAy‡Àš¦pUFhîÐÍÝ«)”MåZ¬¼6·ÞVR6Ó°Ï"h¡eaÒi¯p³”‹òš¶¹F÷›Ã’œFR*“½å³3}v¦‡BW{âjG\m©áÀÎ ypŽyk='Úl9—wØYÁ ›1Õìí€[óŒ?z_³S1…r¨tƒÀÙÓI òGé„Óåˆ#}Œ„‡…X2Ò("“"4)"“!sqpY÷Gh ¨4›½° »èª" <òÀCCàQ¢#/‰Ô=!{=`,Øè¥g’Ó—œG7|}O‡9ͽNr°0{,«Úúq^v«Ð&ikHKØ;; SúGSÜ:£§ÏÉx#(ï\6?ZH¿B¦´Š)Î VÇ`嵵αrU¶)õ‰ÖeöX$+²ÒEs%ÁÑž?aØsÜ}àÔ»ã\Ü"õ>3ÇÃõÛè-qØ]‹ÿ§ÛÒO<ñÄOüÿšŸ­ð;~6åøOÿM€©ƒaNÓRèa…¶S\ÿœëWŒÖ'Œ#ò_Úx§{’˧Á3´vüîaî*X«Ã[ç5l2‹iᢟº\õ÷DÛ9Û™Ãf±™7H»¢-iÅ+Úñ·“±:i³Ê:¬d‡‹eÖ. V&äÖ!0±€X‘܇gXiIò1@LjîÒnÓV‰G¹S4sE3iCìèT¾Ia\A[– ¦’8²ÄÎ+̤FßJÄŠÅ* ÑF=òVσsÄ;ç{Gd'8v†g8*£2 >FW|ð/¹‘Ϙ¥G ô)]}Å@ŸÐ×§d™G¶òÈW.ÙÚc™wXT]åáÌ„{X|£kˆaC­ ¶ºÏHðN¿Â©rîV'¬Vmò•^ÕtXriâ2úÀiuÇjÛfµï°Ú¶yØu¨‡LlŽcfQÔñЂ†ê#­ù†õ¢ÅºŠÙÞþ1Þ1ªÔÐr…ÈA+ ›,8Þ¤»#Ë ›m‹ùÍ€½ˆˆ;N—#¢dWf‡ ÷`å"‰G ¹Æ»õçÜÏ©mÆÖilƒÆÖÉ-‹Ütè[sBk‡254O µ@SPëyd‘»&¹n±Ñc¶nÈ.öIt‡TØ+‰î6èB"jB£°; Ù½ ¸µÎ¸SgÜ-O¹Ýžá“ÐQKúê;R&[;fc·Ø81¥i#*UCPí8ßÜpQ_sVˆÊ(m“ò¹…<јœŸ˜ÄÆbˆÖ’øW)²\c‚xpúù54 ¬ 3«®§ ×S«9.ÃxÆ:±kEd®Ë°žÒ’[œ¦D«A³@´@œæ!Ô]$ }c¤èiK>ï– s¾@âî3¨˜}¶"Äp$†l0t‰®°‘[a™%m¹¢¥Ö´ÕSVØzAèîhë ΘZ×í©NY¸,ò>Ì罚½ëÓ5ø~‚ï§xABQ[Ì—}fëóu¸ˆnyß E7øAJdo81ïyeDzIÏ™QIƒkãœÒ1y_¾àÝþ%÷«3Öe]kè+|=!è'´¶kôYÅMzN2óñôMkТ=h0;%¾»Çw÷xÆ‹’cF€N› ¯Ô;4j4*4U?^Âñóç¶ôà •Ly¬UCZû¬ªiåÓÆáë…Þ>WÇÈésžõ?RèQ°Å鿏'9μÀ™ä¶MnÙä±1vœcÄ5ÓÝÝ!ë™Íh²tCÊó*Þ³Â,ܘ:V-˜î†lW-Ê¥K¹q'|_|E‘»\WÏI‚Íoø¬ýžf0Maš@îBéC!@3!pœ§‚$òypÎHSŸûçPÖl—.Û¥ÃvéR& M…2ÊÚд5ªÀ¤0mrj•‚Ämþ,üô­„•¢ÈMÖãÂhXé&Þ©Ä=“¸§ ¾Ÿ9"{Mä¬Ñ,ɽvʃ~ʽ:c´èZ+bsÕõ‘/´×ÈÌ Y4c92x·~Á›/ùak2Þœ’µ|Ô™@žƒ8®iâGág ôK¬¤â¾òKã;¤¡Ñé,©uƒ í¦Å"Ö>gû1¯’w¼Jßr\Ž¢O5Ô•Á}~ÂÃú„·Æç<ǨP  hÈ@Ðõçô½ 1¡oNðŒ Û«°e¥×l´èÐâçžr­Ÿ³Ö¢ƒðÓ}ö®K¦Û˜£ËQ¡UX>ÓVÉÉ€ÉËw»snwçÜ-ιÝ^pÑÜÐ’;zjÅòG¬° ï9d=‡,p†ŽP U ­;-‰6âÍšh»ÅÍSÒÈ%‹]ÒCyL¢ãpÈ$VèèöV0|G{¸äùð-û( ñ<ßc¦(…yܺNã ÄÁµÖ¥\4·\4·8²ÄQk£ 0ö´%}5&-|’Ò§É|ªÂf!zVM긌Cz朞9§k-èš ò•Ëí✻÷çܽ»@+$»«?¡_IÚî’ÐÝš[NÌj]Ç×vàJÝàÆ9ã&8çazÊýꔇÉëI‡n´ =Xq>¸á¼w†`»Š¹ÉÎùvòµf`„%FP¶·œ›·œ·œé·ôÔœcÆtØð‚äx¬ˆXqظº&úSnE…I¦\jiPI“¼vɪ€´ô© hõÁåÔe£„_¡[aŰ?¢u²%Þîˆw;¢ý޲µB¶vÈÆ Yç-ÖI›ÙnÀjÒa·sÙí-ö®MuaQw6? ¿ÀÔ0ku~“åƒC5v™¬N)W“Õ lÉÑËG/G¼zùGGc"ëðy‡Æ–°Ù1w;Ç –´ÑÂä-¸~O<ñÄOü|ùù ¿ó9ÿÓÿò̦"ÈR‚ü°¨$_yü—ïþ#w÷ç\ÿxÅÿyóìߤ8')öçîoöì×.‹U‡båR¬<äRÀ'à[à[ÅñÙŸußðÙÑ\üõ©hqŸŒœÅ®¤¢®8oø2øŽA<ÁªK Ãfô ¼®`•Áv·@ÐèÎÁé;^¯ 5<ÒÏÃö&À¼†QUJ8ã§RmÚ7(­Ã˜JšÐhUƒ[—ØÙAøiŽ_¹0)SŸmª!RŽ4ø• š]תè†3ºÑŒn<Ãv2ù€yÑg‘(2‡F¾%fÇ¥~ͯÂÈ%úZ¡ƵâãßRm&“cäÄ¢¼p4ˆãÑk¨akŒô!Âh0W5÷ãcÖULµ0°&ÝÖ‚«Á'¾NþÄ×ũ֣3²O>·Ÿ.Ù^Å,£6Ó£>Ǽھå«Ñ÷\>òËÅkFÓäÂ`¼8%_x,¢H…ôõ‘ÎZkQÚ•mR* Ë«(KVt÷KêÙ”¹Ûç­ûŠß»ÅuÿÕÞDlÕ!d áýÑQt; >ë¼¥Á O\vû˜eÒ£ÉuÂzÏËú=ÿ¡ú¯|¡~J ¨!©|þKóy¨Oùмäo忇6?•êÀWÍŸˆÄ–¾5ã/ùGÆ ßÍðE†oå<ˆc~ïü†½íðA¿$ѶnÀÞõHpIM§%Ð\…¡5ˆF‘Xó¸ËÍÉŸ^\pwsÁÝöwË î®/p‹’Ïå;zrÅ—ò íþ’Fô¡ÑXÇSS­‘s`Œ¡J òÏ]òÍê²ÅâE›1C¦ 3dÂ8ÚqìNiNlŒJàê ž™Ó·æ”¦Ž¶cÑ`^KŒ×  ½fAâúdƒƒ»Ý—s¢z‡S•hh¦Bš¯ÐzíB+´kÐÞCûåš–»æêâ=ò îÃSÞë/x§½`®Ÿ3½ÃVPÛ#S5ú!ÿRÔ˜T´Ô†F8² Ï’®Za±£m.#Öë.²ÔÈ3jm³ò»dm‡I«?g`N8áSuÏ)dk—wËÏyÿæ3ÞýŸc$5z&éxK®Î? Ihl9ÒG˜FAK_2ÖÛGŒ9ÔrÕcµï²ºé±~Ý¥{º¢m®¹~àëÞ?±-þdüšÛìŒo¦¿f©u°NrL•cy9ýxʯø%$m±ä¤z ¥v¸äxªÀ¢æÏøÀ%ï¹dC€x\¥)‰NC#uRé‘4>{P6Ρ¹2‘åã<]-Ñäá{L½¤,Ñ‚šˆ ¹rè— Å‚~¹ W-™Y]fVçñìòæÓìÞFL§C~xûK’Ê?dz@KQõ×쎳HÃ0 Œº9¿yLùØ"?}8b6ƒÂÝfüuòß8 îyùò-=øohÈŸZ˜E£ˆo(±qÖ‚º ÿÙþ7¾Ó=ñÄO<ñÄ¿?[á÷°:áûîo°ô’ÐØš{sOš|ßÿ‚û³öEHWQÍ%üc¼¯Ž¶À´%Z·Av¡ #‘š"ß,>¹XÞ1e¦#uƒÑõ)‹Û.EbS•&ËI—ë×WÈ\#~»áv{ÁhsÂ~ZF7&àÂ1à868NãÎqœr`PŸ˜TÇõÉa¶©v jË¤Ñ Ðz(ÑÏô¤FÔÍas§ÓиêYV+D£~zÓë-“ˆ È@<. ùY{ºz§ôœN¯€S b ‹ffRNuJe+›­áSGn˜pÝ#BðÍ={Ëãƒ~B¢ ƒÆ1‰Œ æMÜt8nùŸûÿ™EÜaa·Y.Û,^·(î}ÖFÝ€JwðÊm«¸o¸øüÿ,áËÞk^Š÷tÆ+´Ba¦®È†[âhÉqë3ïŽÓì–³û;ÎË;Îë[ÚÞ ý¨Æ N·|µÿ#b_³ôÚXÏrìaŽåæX²Äª+¬úpÚyI(÷ìü?~Å[ë%wö‰ãÐwÆüÎù;ô™ÄjªÃL_VòÜøÈ—ê5'æ¶W`XžŸÐª– êUmâ5{T#Ù5Õ#Ñ|öz@¢ùlEĸà• ¿ª¾¡_Ψ[:M¬Ó´4êXçÊýÈgÖ\¨;:Ù†`ŸaÏJÌyƒ6W(S õÀ¤X¡M!Ét¥°¨„‰aKš Aµ¢/ñㄾ;§ÑN“ÑK.¬;–þqŸsnøÜø‘¶¹ 242×F¸±—h%™ðX–]–EeÑ%IƒÃµh14¾ÆÎØá³Kv‹€µj±&>œªE¯Y³k(ÕhHK£rMraQ&¹ãPô]ŠÂ!7]Vu‡ûÎ1ò„ûñ r«aW ízKQMК͡%Òºç•ýšÒÓ9=¹ÁÔrÖQÈ›£Ã=ÎY†¥¸2êj|•Ò2¶ô´uiPïLv{“í>†Z0°¦ ­ {ÊМp¢hëk”®Ø›>šÞÐÒW\ˆ@23‡L½!SµÃ12 §ÆöSë0kêÔEå2®NØU-²•Ç(9aYu)„n6Ô†Aišd¦ÃÎðYêm&Ú‘2e@CÎ9·3â¶|ÆíþÍÒb=i#mjkPä™tÉ ‡Ò·hÚ:j(ñ*¹¸± „âÚ¥i[¨–Žh+°3Õ#­CÒ: -ÊÊ h Uð’÷”µEYÙ?ÕVD¬ô˜µÞb¥·(låk‡S'[Â`Cæ:|2.ÙãSaþT¹f“™6)6‰æ0Óº\«s®« ®› îÄwáëã˜ÖTVn5vígÔ-ƒµh#7]H¶"¢në¸W)ƒxL|¾!Zl‰ZÉšþ³²­ñfÿ«7Ð@hêñ„õ ^׿`\SbÜä§¿'žxâ‰'~Æül…ßh}Âÿþýß`ÙagKôX"R|ê?ç®8a‡òM®`.‘w UQ£?+Ð.%æeƒ}ZQwUØPÙ •&É÷óO.evÌꮋ2,¶IÌv“§Rê,']d®³µpÜŒMÒf¶Ø'!d|<N øÌÁâhO+ÜÓŠöÔ‘A¹ä‘{8s‡Ât)4‡ åaJl³Á2*4ÕPìMʽDíëÇE£~z‹®«­’ˆLý³3µä°yòÏÂÏÝó¼{Çç'ßñêä5qkž®µÎvq½:çzuÆõêŒmüÞ‹ïåÿ(Ã×v$ºÏGýŠ™è‘›¹ãQøyì{ZÑš‹ì†¯óo˜ˆoÍÏx³üŒý.$1|6T†ÃÖhÓ6Vœšwœwœ¶ï9Ñ–ŽÊ É ḭ́ R‚£-q¸äXÞó\½çUö–WÉ[ºú‚ØX{´¨Â‘{NÊ[¨$rÆÊjQ´mò¶MáX¥èT+ÚÙ†N¾ÂÍ æ²ËÌëñÁ¸bÑé`X ºUÓ·ÇYwø2#Ø¥øâà.÷ìùÁ¿2'8~Žá×x"¡-– ňWîPJ±—.zLʼn0Õ¬T7Ïñ²=¿Ê¿á¯òßSF‡å㢾6ãDŒ9–#:ùožb|j0>6ˆOe šÏtêÆ  ,Jߦ…M©Y˜vCTȶ†èWøqBÏ[Ïh× 2qGfù¤¾OÖ ­-mIÛ_PùYmc¦5ƮƜ(ŠÊå^óF~ÎõŠi3<äZ@ ¤Ð(|‹BX©M>·È•K¦2å’K—5ýi ‰RéêT¤0lRå°vZÌû=VE·Ç<í3kÌê>³ñ£©i5{Nä„¢qÐ5IÔÞpÒ¾# Œ¸ «-±ÂœõQÈÛÏéºK:Á’n(pUU2c}C9yá°[ÄÔc“ݸ…VHœàžã`ÊÁ\׸^†ãe(_±³<„hˆµB±æÁ\x¢Ï­†Ä¶ ,«À²ÖÈs—]Ú¢J,Ò¥Ï.‰ØÖ¥°qÍŒÚÔ) ‹ÌtØ›>KÑf,†ÜŠsÆÑbýSµYá–ÍÞd³ê %ÒÓ¨·en„ŸéRzuÛ8¿ ÉuÔ…¼Ó)#—úÊD]jh¦DÙ0“}n›K®«KÊ3õ„A3b Ç\0FT 2 •j鬌˜™Ûcæô˜™=r˰ʘԸvJj;|2ž1fø“ì3¨pDq~†M¦Ù$†ÍLv¹–¼®~Ákù%KÑa¶X«ˆÆè¢:|®vmzM…Áš»m„¦äa±-pã„Öù‚‹ý-çû;Î÷· ³)k£ÅÚlñ&ù‚¿ó?î†&`€0 ½ÇT2ÕTºuXêù$üžxâ‰'žøó³~ãÕ ëïþ+,ˆž­‰íQo–¬z]–ôØÛD ß>оw5â]…ýï$¶VcœT8]²Ó Âi×TZM±6Y¤>«».ºá¢,éHûqþÇ,']Ö-tyh$²ÐiJ¦Ðs\/LøÌ€^*ì^EÜ-vç »#*Ëb§…‡ÒCöÛM—H4Ji#˜]‰Ýkp{5ºV£}jࣤþ¤ ¨BÄŸŽD«$Z*[…XòSÔÀÿ]ø]unùíËoùë¯þ–a89ˆÔ Èó#þîãïØ~òøáÓ fUó¯Gt­”£ó=oA†Ç^xÌè’ ³uZìü˜]Üâ+ÿ[þJý=çê–¿RÏh{Œ³,Ø-B>-ž³(=JÝag´†$Ç\\Þqþì–÷ìïøEü=æMq]cNjÔXÃzQáDŽß‹ÇË^Ìßó«Ù·üÅüO¸~Šè6ˆ¨At%®p"ni‹9ϵÙh-fzŸ©Ög¦÷‘ÎYyÏyöÀùî?Où½õ>xWü±õ+þh}ÍKó/Ìwç{ºéŠötC[lhçl·ÄP5†Ycø5F»Æ³Zö’=&Óm<öH${2Ñ‘•F£é(MИ:…i’{ÃgI›‰pË9÷œòo9fÄ9·|Æ[di°MÚÜ/ÏÂ/Ò¨·&ÅŸ…ߟ¿Ö£ã‡†œ äÜ ^( Ë¥Þ[(]Cë)TW0—=^7_ðõïø¾üŠ¿¬ÿÀošš õ‰¼Ç­ Œì%inN‡uăqă’Yš¥êP%;²!qp-ãŸA76úAô¥8XÊaVv¹..x]}ÉÊß’ ç&ïkÈ¡À2KL+ǵS<+A•ùÆg¿‰È6B‚ïð[;ühKßñ²zÃ/«ïùªúŽ‹â–ßOÇï'Å“/øÃôw([®ãÇj¼ÇìÂÇzrüžxâ‰'žø¹ó³~µ«“ m*S *ê¡&Ý€i¢ ¶—Ð:•Ô›’z!©C“Ú‘6HK LÆá­´êjpjÀ ‰³­‰Í -cNlV(Ëbí´Ø8‚4ðXÈüK&΀ÐHB³X»-Fí#>]±±cš©Ž\êÈ©Îz“îbv|¼åHŸÒŠ×´ü5-kM(öT¥EYZT¥IUY<ŒÎ‹í¸Ãv1mÜpA‹5)ó´ÇÝæŒõ¦M¹µPÿ{ïµäJšeé}¿k ­¡ãȬ*/ø,½`Á„¤qØf}²,‘€ ]g‹kû8–«äšÆ^ê°=¶R¨:¸ jyÉ8_¡'9“`É(\Ñ öèYÛ q»-çmïé¥FÞ’iúÄYò€³±««› ¼*ˆ[á‘CÔ:Ø×?Ucîò3nª3VÙˆBQеI«hT KDÄ©…žfL’Ìc›ZOw@U;o¸y€\WÈMM%˪M¦DºMl8D¦ÍƒqÌgíŠÚAÈ vá$vãd1ZP­vqŸB”¦Š¢g¨jŽ"ç¨R†©g˜vŠÙ¤˜JL`9x-—Ûaku0òŒ¾»§ßÞ¡ôvwF­DÑr4-Å!Vce f˜ TžÙƳÚxf›À°8 zz©+ýˈØ-~6^cˆáׯF¿+h‹€¡ØPJ’´³Èwˆr—Hu0œŒsùWöÉe…µÚea ™GÞ¾æc<á.±¬úxVç°›1PƒÚ)P9–¢Y9’^“É)`üÿÅÙ‘ IDATö»÷Ì3Ï<óÌ3ÿOøÅ ?©S¡|“!¥Õ¶&¹—(· JQ#ÕÈG Î4Gô’½Bê+$NÚ4£šºUS’¨)MAÕ—¨Ï%ˆ%Ü|Ã…õÄ•õÀ•õ@¥i\+W\Ë/ø"«$Â:Œ·θûîS(Rˆs Ð ° ped»ÂÐSl%¢-<¨@.jÊ\#Ì[„‡âA¦ø$Ѽ/i(û‚t Q „ E Q†*u$#𒦦9tWj!áim<§C# 0Ÿg/¹wŽÙëm*I&’mõ)š· ,“W:…§Q<è4Л”V+äïÜïPqQ#†õaÏ«©ÑÒÕ/Ñ‚5(ùùá”džøÑaþpľìð™dè<5SÂÚæ±<æ±<&-Ã(•ÊáÞÉ‚Ì4˜ÕS„_³“zü(‹¸qÌ ~’Y2d™Yì‡ìç=îÝ’ÜÕÙ8}¾L.8µî9³n87nÑ匨±y¬ŽùÌ ®ÅEª2 VŒýE?ØÐîF!ª;ÈkNÝ{Uçjó…óù=Çó9ãù E©@k(† Þ±ÃÚòh0³Žy”OXe#6U—mÕcSö@­)Ì5ˆ]›®´Åð3Û '›F£·247Ãw]>º/7òDØEˆSDT’t” UaÓðÔ›2M™OX}¶½6;§¬V¸•O;ðèì<:[k›ñ°ñ°?å¡Z´·>ïúßó®ÿïúßs<~Ä;sð‡.žå4&Ä£»÷é¬=:+õ¶&¾u˜ß!ÝÖìŠ.ic0cÊ¿5)•*“è&‰a’êÆ_vh0RSgV³õz|Š_¡9Ü~ÐÌY¢“í4²¹Nv£‘]˜¬/\·/1'ß?ñ·²‰.§L¤§ƒðkNø±ù–?Ô¿ƒDð·Û?1X혬–\loQÃ%,QÃ’¢Q°¥ˆ¡»â¬ºµæ"ºãüážãŸŸ˜¼_“Ÿ($/ ’ä…Á½zÌOå7üT¾ãÏå·lÒy¢RÄy¬¢©iß$6¾á2Vl.ý[†O3.î˜llŽ»l»lÚ]ví޲“|ù—Ž]¢dºA¨ZºÃ{Ƈî[>ŒÞòÑC ¹h½ÕNÑ´”N½§ã{tæ>{k™äm>e¯ø×ò÷üYû†¡¶d .¨KÊ’cé‘í‘Æ£ŠÙJmäcÞ˯x/½¡¯í %áJS{Ž\—ØFHר0Ñq+ô†ËÇÜ»ˆîý=r¯b×ë2ëNª+Þ¨ïù{åŸùõŸ˜™î¤îíîúÇŒ“¯öŸq>ÅØ?'XaB_ÝQ**…ªRµeê#™úH¢êJ”}…ÌÔHMÔÒØHcnçç|œ¿æçù7|Z½æòä3M%pµ³cä)j˜#oJxjÈ]On³0ÇÜT(¢ä…ü…—Ê^h_h‰Ìw|o¿ãGçÎÇô±5Gö1ê˜Àë<¶ñ?u®Ûh/R´"E5S´aJ# J4 @ÐjN›GNêGNë’^³îöØX]Öve3bæ3ÛŸ0Û/m.ÇŸ¹l>36朻7ôš-=¶ØM„ÜT¨ÝÍÌÐÌ,¤PUBÃ"7U¶Z—<3¥¡ìR* ¶Ñën9íÞqÞ½æÔ½cd,êKLý«ð³"úÚšãö=U&ð¼.›eŸë?¾Äû®ƒx[#ýM‰ì”HW%gÎ-¯µ¼R?0 ª V‘b%‡’›šR“(u™R—Ø$]Ê™Çï§<ýë„÷_#òäH#A:ÑÈ&©Ð¨].§´‘¶d¤-‰‹u8"[X$3‡äÑ ¹o¨ïšûÉÈQ´ £c_†èyŠ·0¹ÿÉÀÿç ÁO éË É«#RÇ…‘8\Ëÿ}'zš’áŒ|úÒš¾³Bs3¶JÌÁ¶ù™gžyæ™g~yüb…_GÛqÕù3y"4A ۪Ǯè²-zl‹ycÒX‚þhƒ{Q $jâÈ&|´©+™*P¨…Lí*(¢$v-Í$Ã$/u¨$ÔºÀnbTrlF­¤ŠFXJÌPYs®Þh­ƒû]Í_K× À;Hm™²£Pµe ]%«t’ÒÄ«:¥zØ¥±€.ˆ¦Árb,7¦cî±Ôô†Ælhœ†¬¥á5-ñ˜Ûä3I …ÃZ’j&ªZ¡fF™¡5Ѝ@TÓ©M‹ª‘HÑñ,—BWQÕWò±äMɑՊF…X·Ø]¶VÝåsý’÷É[>¯ù¾$L¬8ÆŠc:ñWõie{ÚùŽvîÑ–ú³ãÇÇOL6 Õdn,:¾äøy/ïàm‚²M®(ĘD’A¬l•.‘bQÉ2Š|ÈCÓ¥MJÐEŒ]GØiŒµO0–ú<ÇÐ2t5Gw2t3GíÈvÐIa³bH‰B@‹ }6MŸ¼ÒÑë©nˆ›¹9Ær¤º"” )å´z Éà2¾å2¼å¿Ãöcæö„{Néè[l7D)’¨¨%AÖè„Âa§t™k#ŒRÍD%rY#¥‚^¶Å1–Ó‘÷ B¢šÄªE¡Z$ŠÅžû¢Å>n±¥ËCz̮죡*9fà¤!Àc°ÝâZVP52‘f’hµ"PäKD(R…¦`7”…,5Ø™]æÊ„Ûúœû옉ô„DI»Þc‹„ è6ëpÈ"< ÿV¢i%*>-¬9‰9‹î9ï9ï¨!U¤²ÎFé’5AÚb“˜%S‚¢™E´Š=ýzE‚I„Jyˆ ~í—E¡P§Pd EªœÔ(aÅ Ú2ÑWt”='½;NFw¶–¸ø¨TÈdè(jA[Ý3EA5rnåKü¤·js{}ÑN°/}œÒÇÖR$ýp-(%•T„K^™De…šWHyC.Mû E´tÈCº–*d¹N±3És“b¯c•‡ñÌQw)Gô”-=eCÿë¹/»d¾‰÷Ô¥ú,Q.dľD*+„U¢»)ŽÐÑw å5vã‘äm’¸ÍÂo1ß¶aÛMº&´A Käúëˆp¯Än‡èVЬ–‡lõó’ß3Ï<óÌ3¿l~±Âï´yà?•ÿ… t¸­§Ü2åF:f-µÉ“’h[RÝ—dVA7ß12ftOvtG;¤~ÔЪrM©«-BÒÉM m—#­2n×SV—0w¹Ñ^p§Ÿj6ªSÒéïè6ôì-¦²ulv†ÅV¶ °èËkN´'Æšc{…b”Hj‰,WìE‡]Ø%zrÈntê/ŽqZÜs:¸á¬uƒ¬–,[–í ‹ö„Ðj¡)ù¡ä]Ïpû>õvv—¼Qðâ.{¯ƒçuÙ{]:;±±¢ÿbËÀÝàò¤Ž™ßO˜¯FTŠŒ#"ìVˆý·­<@xþ1á£K{îá6{\kOkxØñ+M•M§ÏBSÙ*ÚÂ6¾mÿÀYÿ–&“þû1XƒƒéÇWá—»QÛ$j[Äm_=ÜènÒÛt@‘¨Ñ7ÎAJköŠcûžûûž|¬’Žf&©ªaì2²'ƒ³7ÌžN‘䊦/÷7Œzÿ'–34V¸ý€À±¹ÍNIs,×Érƒèâ\<ûà°wLüs‡­ÖF¤Ì ÷8áauÊ,>æi7e½’ï4œ8⤼笸㴼g ¬1ƒscÍ#\Ég¼\1^.±—u(m–Έ[û’Ÿô_ñ$NhãÑÉC‘r$Q"­²Règ[Ü(æõþ©nGq®×F¢å9rR"…5Z”3Ñç¼sÄîE¼ì~BŽÌ1ˆIK/ï2/¦¤¹‰"*4)c$o9‘ž T¥ÌCuÊ-—ÈE‰™$˜iÂyrGk0xÜ0ôÖ˜U‚0´n†5 è\mé­(2…ûü„2S¸ÏÏð —­Úa+wˆ„}p'm«¬'c>„o— ŽÝG¦î#ÓÖØ03N˜™Ç‹?åˆøk0ýU⸣þÅŽñÅ’S÷GòÉ-º.«± Û ¨&ì-ø¨Á4'Ãr"ìãëu„Ü­ý†ÈpHbʆ¸°¦žyæ™gžyæÈ/VøÕü§â¿°*|Wÿ–•tÌJ´É’šjÓ>Ô¤jư½fÚšñzø3oÚ?²ý AcY"×U I#·tòŽÆ®n³¼p{}Äò‡wìü>¾Û%p{„®…2,è¼Øql?p¦ÝÒvvÜ;SîcRÅ%mò¯Ô;~cüÀ¯­?³×;¬¤+yÀš»¨K8sÈ~Ö©ÿ$pšˆóÉsôoüíähýŒîK>º¯P‚•9À’,cI1º”Q2¥!±5:,Ämüu‡à©?oÓcsÅ»«x÷ú› zü ù½ÁÃì”Ê–0_®¿œsôr†!2ü;<øÇüùá[DÐðÒúÀËá¬$Â!cÀZî±¶‡lŠ>=sG¿µã¬Go¼CNkÈ€üki¬ÝÀ†¸e²kµÙµ;l[òˆÛà)¨‰C ?nÁàë›Ü€DÍÀZñÚzÏoÌ?ñë;ËÁ7[ø–‹¯µØÆ}¶Cf>eóç=}ÇË‹O¼¼øÌ éí®G¡+öÁ$e%õ*‡°v+‡›Ò”)M…ÒT¨…DÜ6 TcÐFyQp—Ÿð>ËÇâ ïWoØo{ÄK‹hiS,5œtʏåoù##¾ãXy<Œè²Q¢‰ÓK°üÓO¨3™ÐqXYcnK~Rß¡ë_í鿞-É£#íèˆmvô«ýlË ÜÒßïÈ ÇèˆÇlÂc5Ajj´"GI+DРF“ÞÛ8;º%{zìš>ijÒÌ[hnA‰ ÜSçÔ£wºgÒY0ûñådžbiàéÐnxyö‘ßTßñý;MIu­-2…õ~€1‹‘>çH’ŠÒÏѯr´_帧=wÇÄ]pÒº§Uúø¦ËªsŒ>qÀC®À^¥èo3Zo=:Ó Ý·[2Í ¤E(\‚Ø¥ŠòÂz^ñ{æ™gžyæË/VøÙ±Çéüê:ä.šâ41ª!hl‹²Ò¡¨3ê £•Òï®9;¿9Œ8V2U©P†2E­Q4*ys°ÁÏ+‰<3ßy¿|Éf7  tjW£qtÜ:ÂDôŠ5Gê}gMÚÒñ:=ôž„èÛ莠£ÆŒë5gÉ-R]á©-2Ug­ ØÆ=‚µKv§Sÿ,aXýîŽóö¿zýë$F5+„yp05•µÌÑÊ ­Ì‘ë’X³)U‹\Öˆ?vñ7.Þƒ‹÷¹EÓoèLv\®ù»É¸½9g³èóe}EýƒBÕ‘0F}kËéÕ=²^î6w=>—¯I).éæ.+C¤äªÊVíqÛœqÓ\ðJþ„kF8­€óÁ-V£&jR %hÐ8‚Ú4®À·Z<#æÆÝQ!êžè°Wº$–…¬ÔHj…¬ÔJʹqËký¿ÖÿÄßÿ„'µ7šR—mÝå&¾"Ù:¤&óÏS„)!ë·—¼ÿ·í3“&Ìô KsÈZïË&±lË&©ø$^ šR‚ 9ÅrcìND"ë„{Ób·í²‰‡K¨”¾‚ä×yBGÙ1VæœË7œ7·¨e–¨¢@®ªƒc`r¨¨¶I#?h³òÆ<Øghv†Z\ U-cЬ¨ ¹)0›™’¶Ø3•gœ©÷䪆¦$©¤‡=OSŠ‘åŠR“)uÛŠpÝ©S#zÍ_²Ò’L#­u¶Ñ9nˆ"—y4¥-¨JÅX]ñVýÀL:â‹tÉF øA¼C)K:©ÇËðÝýž‰· LÊRÅ—[¦CÔ¶hã(¦}º#²[„†K¤´i¡š9ª’¡6ZžQ52…¡SttÊJ­f<|Âï»dZ’Xí|Ù_ð}ýŽkÿjP .JÔYÄô´-ê8§åîŸ>1”—ô³ ÝjG;ððu—P¶ˆ]“͸‹¦ä¸•O« h%ZQò âÛm>Ë/¹3Ϩ=‰º’¨ +±«ˆAµá´~ä…ú…Y}̵²Ã´SÐ@V+T¹@+sÔ¨ÀiâCÕ1V“b¦Z’£$RÖP'å^%[$K›‡¼Ö(u•º-Ñ (PI ‰’††¦ä¥F\ÚøE›Åj„?oQ=Èè·HeK§l)”-qTÓª}ŽGÞ?Óuv,Õþ!¤=3‰E*Q¤E*Q… . D rQ¡¥VÓ§oo–œvïyé|â[ýG~'ý]ÓåCýŠU=âILy*§lê;läQãP¥ÊA¨?ÉqÊùô†³î¯×ôO×D‘ƒwßE-2ĢĨGt’-“ê‰ å†Lxeë0^išš¸¤F85R»B>¯P]¢ž—¨Í¿W…šUZƒÙip¦7—¨V‚j)(C¨V žæØZHo´eôú‰BAéˆHPWòa^õ™gžyæ™g~¡üb…ßíC—ÿõ?_²O‡|Ús“÷ðGúaLPá0f¸€Æ—ØI]nœsäaA„Iª”ûÿ¦2…ªP(s…²PðB—UÒ#;¶±Œ:ÈËŠ¼ä¥ &ÔºD¥*’J®h”C•ê•BSJÔ}™Í`Èé-Õ½Â*³íuYö‡,{CV½^ÞÅÏ[$¹IŒÙÀÓ]ÖNŽ%ÐH™f3Ô¬à$d·mj×&Œ-´£}RÐ?Z3ÎYÄäMDþᬠôAŠÀ* ×|]²á°¦"ƒ$7(R&e˜Ä(z‰>JQ_He {Aó >‘¨\™…¤¶ØWVÕˆÇ꘦–U—…;æZ½bl,ûKF,Kd­&·¡äyGeÅ€[ÿŒÛÙ7Á9‹jLìX¨vÁ±ýÀÈ]`vc§1­2à…ü‰+ùcy"ÕXZF­(Zƒ¥fèqM›ˆc{ÎÛÑG:ÖžWýœ´0­„\ÒØÆ}î‚ ÞW¯XË},7Âr]E/Ùú=v^Ÿ­×ÃÚÈ-è¸>Z« ïAÓ*†ö–õ KeÈÚ°õYDU²‘;¼—^RIpW0ŒVŒ¢£xM+öÿúá•8¼³¢jè—Žò'&ÊGòŒ¶ØÓ’ö´d–âa1ú$Å+>9WTªD|jbC./¥¡=à²f«w(=ÓM°Ü+KÑŸ6øzS ꥩ9)fT…†›ÇœL¥/åOLä9š’^ŸètAU+¤¶A0qÙ¸]´á»yŸíSÔg›õضZ‡H¶±DBK‘ÝEÔ(z/»ì¥6^ÔÆËÚXYÌ0™ÓcG×Üs¢>pÉ5—ù ÝÐ#’mŒ&=Dô"ÚbÇ0\1Z¯Õ+zÙ©(‘ª¯nóß™eOA¦ãµZì:m6VµÔÃÎbÔ Ä c´ Änb:šÇ@]qd…V ½Šú¯O«%@¡Ô(R‰.2LñUø3”ªD85M ÍTPO%jW¢lâÊÂ+Ú¬ò!³â„ m̵vIÛõx¥}æ›æ=ÐKv4ZIjêD®IÔ5™Ç#ngç¼ÿò†÷_Þ²Íz8—î¥Ïq÷žVÏ£lø[úéŽ~¸¥ÛléÖ;ºõµ®f†bÖØfFnút#Ÿ)s"ûáÈÁ°Sz½-½ÖÓJÁ ÏwÎOÞ;VÍ€³ñ §ã[ºêžŽ²£ô5Ö³1ÛÙ‡Å)‰ÏÉä­.éé;l†ê–öB¹Å­sÊç꟪+¨jJd¶¢Ãñ’…4à8~âõò#¯W±—1­Ê?î¯ÿ{‚êß¿5 Ê ¯‹¼Ë~à[ñ–ˆÐäô_¦¦¤ÆApyŽËãÉ!5‡ýL7d¤ÏQ¥‚²¯Ri Ûa/jÑÍ=ß Ìà IDATºÙ9«0‚%«Èi…–œ0;ì¡ñȯùG„ô¤-=±E• 08\®D¥ RÛÀw6r—:l¸5/¹—Ü,ü ²Y"©’\`’Ð×7ôÅ–¾¾¥ïnø’^ñ)}ŧè³ô„V1mæ¼ågÞšï9RžèˆbO'ð©USN1ŒÉi«;.6_x£}äMó£lÎcqÄCyÄcsÄ\Œ(Mõ«èKh÷vxºËÞh³5ºl¤Uêáîcš…Œº¬°å„NßcÐ[qä>Û2žèâI]*I¡É…#“Ú:¡cáé‘g‘©%2¢hèë^›xgþÀ·æìËOùwÞO«#&òœoÝ©™Ž»?ŒàÚw8Ýóø–ûì”Ëoù¡|Gì[¤‰AÇØqÚ¾çuþ3§õ-»3îoÏX]q}Æ ½bØ^0|½`ØY°zp÷ññ¡&Ü2‘Áºéro¡7ñ%7» î¶”…Ê·½ètÜnÂHݰì3ûxÊûoørsÅt0ãx0ãÍ妃ýî†ngK¯»Å  JU¢¼Å&ñŸ‘IÚ_œB‡ú‚Z–y(ϸWÎH]ƒ sI§Þ¨læÄhli “Q {arÃ1±0™‰còX'YØÄ6ɃMXÚ„²CxâP\˜4-‰jÜPŽ]PÅ û¸Ï]|‰%Ø"ÀéõfœW_˜-Ž™-N(2Þ¢ƒrU¢OR7¢#< 9EÖ+¥BÑ+DÓ0{~Ï<óÌ3Ïü‚ùÅ ¿û§.÷‹_AÛA\MáE1R‘:5\{hÖ‚f-ØOÛÄ—:OÑ­JÉ}bnP\ëï š­@  üë"¢õ÷{ZÓ=îï÷Z ŸTÊÏ)5¤Ðè‚Z•(%…BQ({ µ)ÑLu(±}ßgû¾˜ øb_!êaVˆ~E“J4™L“)Ô¹DUɤ’ޝ9lœ¶éÓÍg,!‘7NÅÉ0œœˆÆ¬h$eô´ ’Æd¹[]ðÓì[ÖE£J9ÒžùhæœepDµPÙ^¸»½ä,y Ç@3Kz½*%B :_ï•WØZH¡ 6j›µÜgG‹µèR ‰{oAu#á(!'ÙŒ&‡o›Êaï±a5 6¹Fn*ÕŠ×ùGþ'þ‰ÿ¥þ?PEF-A#C­ÀLp=¼Â›óE¾D%çõ ýfÍqóˆEºÝgݰ§MšëTseQbÏcš¥@ ‡rPÓS]r¤.JƒP›ƒ8ýo ]½¯¯W†F•Èl°í°mµI2÷âßç¿åÇà7<Ô§ŒÌ'ÆêcñĤÙ1Uf\¨7\Ù_¸×üaó{ÊLcO)6šT2ÕŸø­ñoüãÊ«Ãß. )¾ÖBwrL=ÆvBJMâ½æ·úùñ/\Twü_Õïñk›Ÿš7¼ç ŠYbš-ö Xà5-v´Ù7vt‘Óšl·ƒ' í®ÂÖ:Âcè.™ê KA¦¢ÊÁ€¦”-…ÄÕ ] ßpˆe¼>ì‡)QÉ@[óÚøÀ?Øÿİÿ‘£oÙ•]fÁ”ÿºúLõ’VÓëlyÙúDÏØ2-fLËM)˜ESÔuA¸vxØã•mz-gÃ;¾ÉâUýžf/³¸=bÿC—Oß½AþuÅt0cúê‰oÿæ{šÒä5ÁÅl?8tüR“•èò`Q ŸÊW|Ú½áóýkHÝÄ㪾ÅT3zÆžr®óôá„?ýËïøÃ¿ã?üþ9>ðòòÿñ÷ÿE.. ä™IwXÇcfÑ)’V1bIO_óÊ|°„T[«î¯h“¶ üV‹ZkJ‹°Ö k‚†F$챈“y=E¯!íÙÜ ûd’0i bÚ .ñ>¨‡)ŒF™Š—t©•ÚW1‹„WÝ÷¼ê¾gÒ1µ0æ)åBÁ›w£e\¢s,'Æ•ºò–¶ìѧ…‡JÉÿ®nþÇüÀ=óÌ3Ï<óÌÿüb…Ã6¼x…êÊØ§:ÎY€}vÞ~$kédG:Ù |§Á¤¡‘ ù"‘ÆjRbÆ>j¯Dým‰ÅØa‚EXaL5‰O Û Î,’Ú$1,ª‘Œ,•U‚= höô ½rÍvÝÂzrQf-˜[¨¨5¨g Ž 2+Ц¢¼.)ç̓NóÞ ™›KH4(”è䘤ЖåˆY~J™jìÒÎ/¹.OñÑ$™O;Ø2Ü.9™?±ñ]žÊ1ºª!Ú=òο3bÝ™ðÐY±Tû¥Ee ´I‚lW(oršã†ÒR0H™°@n`Toˆr7ñ ’ø\¿â¾<ãKtÉ]|w †¦+QuèBÓ•Y%cÞoi ™2@É â'“xe½7Yzcn.XF×DnU8ˆ±á˜GNêtµ r-î8ai £ŸE„SÂÍSÓøkY&‰m8&i× MJíkö›+S ™E5æÏüŠ[ùœPsÈÑXU#>ǯ¨w7Í%÷õ«öêBÐêì°ûÆ AÕ ¤ öM—M=`S NŒá×å%Ÿ‹K6åˆJ“h»{:îž¶³g¬.8kßbMB"YgÑrU!—%E£¢Ú)}{Å¥ý™Ð¶¸Š?1Žç8^€ˆ„ ’µv8+G'lµYµ&ܵ.(ÐØFãs>FKZ™VåhUŽ[E ª-Žˆ©HlƒÕEÏk³÷;x^ßoÓÏ6 ò5ƒdÍ`¿FV«Ãª š–ÒmmwŸ([=k«{˜R‚*ç(N‰<¬IƒdWtLŸãø‰7¹ò>3rŒì%]g挚o埑ô†¡µ¡/¯¹0¯ÑÌ”Ù!”MR 2ŒCÔFÓ&Ìmúé–ß-¿£N—É&Ý9ʯ ¢sƒôR£8S¨[!sŽÐÉ)QPâ BhG>0 ìþoöÞkÉ™,=×{VzŸ ò¿Çé!E£­[PèF:‘.B[ܤÈ1=¦»[<ésåÒþé-…É £#ê‰x#O³‰J¼ë3/ãtIDŠÑkq슡³æ…´1Ó†¨Iñ«% R#&×›D5é4$=FÒã1 ::T™MõÑ¡ú½;ØR’ÁŽäí–a³fT¬å+FÅš“ð!yÁGÿ%›jÀ®ë!mA7ÑÐ{ Ž–á‡)Q¸£ïn¶K«ïûó!â‡9oªð®À*ÊUG±%íBÒ-=XF°Ô ²t_žk\ ”,å˜Ysɬ¼d^ŽYÔOmÀ¾s¿¿”$Ý2^/¹\<2;L‰ÚDz!îQ'CÒdÌ2™rŸ¬Y%CRÏ£¬Ÿ”Vƒ1j`­k +ÉTÍ™t+ºîÏT•Ër7dµòa÷–å~À&í³9ôÙ§1*¨ yñ—«b¥&ˆFgÓù`¼A;vÔK“æ`PïMŽyÀ¶é³mú”‹døqÆÀYs)f\ÉR3ä,ì1eì2nŸ~Ófä–ÃΊÙY=vv¶IØV=vum•Pàј­aÑh³`“>æh4ÊbÕ…Îf×'G2å‘%](ˆäßNq¬ÓjÑjÅ®ëóN¾å;ù¾í~Êâ8f³ï³þ¢ÈßOS^œ}æ…õ©='ŒxzF:<•C¬®Âîj¬®B)i ¬'^XïÁ”¼ž½c²$X¦h³ 4 ”íÀ"=‹YžM¹¾ä bîW×ëŒ`udxXñ¢úÄuõ™ÕgÆÚj j ÅÔæ0ð¹ÛÝp»»á.¸áοæ'›ïøjý-_åßÒÛlÑ=yª”š€†ÓàûÙã7£ uúæŠÈÚãèºÑamØ!”B$q»ç"›ñÕá{~ùé÷“#þøH0I±¬†‰zB×`hmøÊ{‡fJ\/ÇòJÖ^ʰؓ°'fGŒ,uÜmI»ár;Ã/2"}Oœì1†5™åPöm꾌NKQRæLi0Ù’0É—L–OLK&ó'âî@`d„ú£'Á©ØkÌ®¡ŸnIÊ…ÁAÅ<êgd¦KkêTºE¡¹”Ê!l¼Îßs³¿§YÛèV‹JJÍâ{÷5]¢t~nüŸzßâ[Gzñš^¼¡‹aeõ¸ï®¸W—Üu—³@åôÚ WÕ=az©„Þòä¨Îm4»åjò™É/fxƒ1lY †¤¶G†ÿÃFÜcð$'Ìç'ã÷`€U:¦9Zl²>¢ƒýSÌá)¡\¸t;A#-”´­y:)tÚB£Õu8×è´ µƒöOŠîXÒ ä>‡CA V\]-x-ç¼¶ç4¦Ï‡âö¯)>…40üÇ/p‚’ž·a`­è[+úæ©•9v¶DñŽÀ:àÅ)ÊQŸÎ™p!¥²ÑD‡§2†ÂÀ¤Fýg¿÷žyæ™gžyæßÀ×ø#øû·˜îžxXs>œñrø‘~¸fÝ YuCVÝ€M9àðÛ˜îw:å'ê·>ú¯¶D¿N™¾}äüW÷܈;®«;nª;^”wÜÊ+Ì®a£†”•ÏNö0Ü£W£»5¶•è)±¶£¯­WDË÷]ˆñÏ!üÆÃüðÆŠèJý# Ió±Cý£D"h56´Ý—ŠŸü¡â§”àIŽùCó ~[ý5ŸË+Úº m Ú®ÀU[œ:%:nož¸˜?2:¼&nZlÓFÄ=ª/Æo•¬yH¶ì½ˆtâ!¥À”–¨Ñt…4tŒVž2ÂÔ–A·¥­-þqõ÷¬îF|¸{Ão~…ÜiȽ†Üi°ƒî­†x+莀,1[cÀ{ý †ÑBjê£@}tF×Ó‘ý“¢ñ ÉO?ñÀ¥|à“uÃÂs§]ð(¦¼”T¸2cÐA®Ûlõ„G}Ì\Ÿ2çŒGõMI›˜ªt©ª“šÎ¢­nÐZÆÉTwc6EŸO»—m‹æØqåDÁ¿Jqª£úRñ“=ÞË7ü·îø?åÿÄn#ç:òQGÎ ü('ªSnìÏüõà_™sêÈ¢,òÎ!S.®Êñ(pÑ1T‹¥•ôÅ’N@¨ö\îgLš9Á2E¼Sˆ $ÐA{fs|³l'ÜÙ/˜wS´‡íN¡Ýuœ/gÔÙ¥Ÿï³œ û‘ôkŸcà‘>Û›„÷áK¾ ~ż¿âÎ_ñ?6ÿj+è[Þ,ßLŸÁ)~ÃÃmð‚Œ$Z3N‘¡N_¬Åát@¡kèA‹®$ÂéÐÃŽx~àbñÈWóïùëõï¯:DÓ!ìÑë«%}Ë[ë=§s°C¶~Ì6ˆYû Kcx2êLX0ÆÝ•ü´þŽËõŒŸ~þ–i¾ ¹Ôi®NJ'>¥nÑè~2~GBÚ/¦ïž ~žÿ™dy þxà퇄ömÔ¡ ;´^‡á´˜bCOîèRD?p°bÌ «KÑš•a*~8ôš½üžÞaOo}à!œ2kÏxÐΘ¹SƆ }ιûÈy<Ç4_£ t_cm&|äš?ªŸñG~As´øUû{.«{¾.~Ïkõ]—èDO[ÚÆÀߨ1~µÄj+¼.#R'Ãé7˜— Ñ´¾A> ØG= £FãÐF?TüšÜdÝôJ’ê.3oÂàbÅp²æR>Ò“;FÄ^Xè#öFĦ병}6¢Ï¦ëSHŸ:s©VÕ½ J°:Zl³>Z.AB7Ó‘:ÝLC-5š£E{4©Ž.Ô •T$ÎAî ›C»±Õ6 kè(¹!ôo¹:¾çWÝ{þÖ~Oaö°›’üð°¸Bµ:ÆTâÅ逮·¢/VôÅš¾XÓ[gGdï £¾J‘B#Åg/ÂS`;_ˆ5-:êÿ×ýÌ3Ï<óÌ3?.~¼Æ/>uÈ@P*›½±ì ¨ “JØ©“ ½/‰Ï¶Ä‡ªž1}5cz>ãl0cêψª”®ÒXnG›€ }Û`h/ù+ûwœ1 Ë<޼s©”dž!÷\c"Y–#îVvúyà!ˆ¾ªèÝTôÇý°bcétÊ ¬ Dj`Ñâ RœXbÇG®^?0}ûH´"4èH¦Æ‚ƒó‰:tè 6p‘C›ƒ™ãlüôÍ'F×;´1ìã9Õp´‚‘¿äåð£›'‚ë#¢¯È,cï}ÊK½w@×(—"öÈbŸ½Ó&G;`#T…ÃG^0ËÏX¯ú䱨»;Gt¹‡kàZ &AÚ„ì1‡™ãSc²Î|Ú¼$ÔS6ù{÷œ÷œ™{ÎÒRÔ>»¦ÇS=容&³=2Ç'u|ŽvÀ¡ Ù ë|ÀªsìBZÝDj­abz-ýfG¨Ž„ZŠ[”§ßop„®Ô…I•™Ô©Iáû<µSÞË·è-d2â;ý-ßéoyÔ'd¶ ±Âmr¬®ÆÒ+®ÝÏ\Dœ™ ÆÍŠ^¹'ÕCZͤ1M Í!Çc‹D£C ètbµ#T)A˜Á¨c!ã”—–§ì·´Ä’5ÆÆWÖ-†ÞP÷,êúÔr‡Ó¡í%Æ^bš 65Mk ·òö´œgÔ¬¸nîh”ƒ(^Þ3éæøVŠŠ x |LÕâ“ÑÓ¶Lõ9Rש%}6DÀ•~Ge¹˜žd-G\Õ·è]Ë\LøW÷k:_CÕ‚n®ÑUž™ã›¾‘áû­£Ñº­¥Ñ:ºêê#ªÖpê }Óa.%ûe»å[ó *Û¤²MjÛ¤+c€a(®;#;ͱš_æYMÅÀØ8{Âèˆ×/°õêÔÎ*8åMv`t-Æ“Æá7Á'ÖFßIYK4C²ÓzÜŠ:k†”˜ý–¸Ü3ÆäÊgqœònþ–B›áwcgS‘;!{'bg†ÜiWÜËKå‹vŠl Öæ€m³oöaHëéH× õ ÓånrÁ¦J(u =h(¿²Ø\ô¸‹®õ÷\³`ÊAÄHaÐ6&ÅÞg?oQÀVξâš{nâ{ô@b&¦_bYšê¨Ž6»4¡9˜ìÓ=f¯G쵘ƒS:µg¡¹ŠÐM Ý#Zb Z UfqTÇ­ÇqíQ6l€5§k ò¸_>ƒ˜Ó¡C „§ñª>}?•äÔïŒ "½E.n'ˆš’A¹#×aa·š<µÍÇì™jœé3&Æ#}6èHöÄthTØÄÝ×Ý¢.eCŸ ½“¡¥Çºp_\aMiáÉœý!gý½ãžyæ™gžyæß™¯ñ{jà3š~;°ÑŒ!ebáÆyç“u>yçS56‰¿§½!ñw$×;†“%ƒéŠÁ`ÉP_Qd>ÛEO·¯ØßöÀXãŠÉdΕËA…|ÞÞðiuÃíê†c1ã’‡5c|R¶Âeº´_»c_ô/sÆÃ=#±Gç"àHˆ†+ú¯ô^íè½’Ü\͸<ÿÌøü‰È>àRÒYï ƒ#×ܳ×#0kˆj˜ÖèYEr‘‘œgÈsƒ‡³ ¹oáŒrή¨S¿$ï°µa“¯|òQ@k7d¯BޝCR#DK:Ö‰ÔMŽuÀ­qÃ]{Í>06’ñtÉ«³÷¼š¾çåô# @õAõª÷ó+>,_ñéö%ÅgÛ¨÷æLÏçLús¤®³(ΘçgÈ〉r˜íέbsè?íØ% »$aŸÄ¤aÀ¶r_Ü;â|×Q…Ii×T…CùäR.=òe@m8ˆžBïµ½†ÄÙq­ßseßsíÞÑ϶sRumq·»äÎ Áȃ!P:¬µ>„'ðû%Cµ Ýc#ux<›¢j2ÍeÕ¸k_°©û´¥I›:jTK›ž±å\>r®=r>|$´SбMÙ–MÑÚÔK‡õç³ÏWT÷¥åPX.…uºg\àM3Ó ®›á%δÆvjìAÅað0›ð0ÓÎ&ÔÛ*ë‹ÌSßrÄÉà…œªË'#nqj3î¾| 'cÞ˜ÐùÐiÐ9höC˜‰uHÌZ¢«a(LúƆí–·Ú·œñ@ƒI‹Á‚ 3uÙ¶DMÊ Ùòuû ïÄ+Þk¯‘Bg¥ ØízÜ-Ù*b¾¼ÀªÖÛ?óêÙø=óÌ3Ï<ó#åÇkü– ü·#íöºM™ Y_0A#MÚÖ¢‘&B zÁ޾¿æåõ^òØÞÙ{b{O¬ïù˜½âÓü|÷Kþô‡_Ò ·ü¢ý=¿ôÏ/ξ¡êlþïíßR¿·xüî‚ã<¦Æe͋ӭ¯Ä«ñºÁQ;7gìl8OHú¤è¬ñØ8qIïÕ‹¿Ûsñw{®'\Y·Œ¬'bkªNY×á=eÓzÄLd] yÏ#ï{ä=YS mì6㬽ÇoS¡ÛÍ–TºE¾÷È?úäÿPüS@ë7d‡€£pœ„´}ƒÙg£÷ÙÚ}vuÔˆ86ÇCˆ¾•Œ¯žøÙåŸù»¯ÿ‰ÿáWÿ ¶¢³ʆΆoö…“å”·6÷ÿr;Ì=çõÅw¼ýõ÷4–É»‡ 9ÓÙ=ôØìÌvlÒßko1†fbžÔš´J?… §ÍU FjÁØž3ŽæT¹M¹t)?újÏÄzQa95Ö¸b,ym}ϯÜoøUð WÇ{Xr SÏḠø—îo ,䔽êS>óà;¨°‚¥):ïTx0£’Dlþ2{¸àR>p-oË%qsÄ’ F×n~©ö* [z¸¼Rp¨8W3.Õ=Oј¥3f1ñT™|ZÒxV×§{·`è-y˜˜aÉ0ž³ŒF¬ÚËv„›œyþ(+…•7‰óP6ñÅ‘«ËêK‹j`c%–Yb%¹– = ÔRa¶-¾Ìèu[je  ÕŠ~w2~ž*ˆ9r£ßј6©ˆø“÷Sþ,~·â-ßuoh?Y´Ÿ-ÚG“ö“Å«ïy+¾åMòm 0Ý)t¤¦ŸŒ_›D«#ÑòÈö©Ïo_óýrÊo·¿æs~’• ÔVà„%_Ç¿åëè·|¿ãÑ7ì㽊Ø{/d`o%+ýˆtqÒñ‹*NFã‹Ù°¼š¡·¢•ž™2uÇÌÅ„…˜0SŽ*À÷N¦¯°]H H]Ö‡!»“ñÓÅt&=&()XÛ£3|;¥°,R-$ÕBŽZÀˆ§hÌÓÙ˜¬rÐËšÌu™{2Ï=Í"ªì³«û4¥, ò£G¥;¤F„íµDÉ÷|•|Çߌþ•I2g‘ŒXD#æö˜y;f¾ôY}7bþ›sßLé\ééHW£su&ofMJß[s>} ·„Αp6G–zø»×´‡×¬¿58Ìu0ºSŒ‰¡ŸŒ^\WÀ˜“Ñû‹$ÿ_ÓWµR‡Ö)ö]„X‰“É/Ư=?]aé5}cõ~Ë/ĸàŽ.xà‚9S6 ¸‘·¼hnyY~榼%ÖtºÎôŸ~ IDATRÒé:»mì>dþéóc‹–+òÍÿ7ÿao¹gžyæ™gžùwåGkü\§ Ρ¯!BáÝD BˆM(ÐN+ó;KК:i.”Šö`P.Û‡ùÆ£«4L³Â4k4Õ!k*³)[‡*·iJ Ù˜4­EƒEöeÒ_Ó;ì6ÇQ¶(põŒFT]AÞ”DE¦ÇTqD{¡ÞØW ½W9ç×O¼¹|`äopó’bës—_cW5Z Ú—/]u˜fåÔ˜aƒfvÏ óL¯=åM9 –¨±D…# êÚ¦¬êÌ¢ÞZ¬W#Ùiã²Øœ") “JØ(™~ÊÇÚ«ˆ½Q•°hA¢Óh&•eSººS£;-ºÓ`9-vTžî/ˆPa%5ÑðÀhúÄÕÕ-mpÔB6 XÈ)…í`v ºj¡ƒÎf‹a´¸zÒ8e%ê&¥И&] ]*Ns8¹`¿íqØÆ¥‹: ™_ÚÍË*1EfH°;”¡µB«¢R²Fo[ô¦9][‰² µ5pL¤+E‡Ø*(;,½&;ÎÅŒñ‰s1g¬–„¤è´²Å©+rŠÖe§C©¹lô>{-&$%aÏ€™ð©L‡Ö<=¿-õÁb÷Á×9Ú¹pX×}Öi|å!:­#º%‰¼¾“qÎ#‘±G·*ߤغ[—ªsÐ,‰îth®DZ4M"´¡)Рĥl=ŠÊ£<úTšE•›h…bPn¶<Íö Á‘€—š@qՆРk«Ï}–"×\ò§€BäÇ€lÐE•*d­Ñ(‡MœÚ_^]P¥.õÒ¡½³ÙnzlŠkmÀª×g%ØnåTØNM¨§ôå†qùÄ…˜qÓÞ1ë¦ÔÊb§bŽD8]C)2ÏDZå´¦yz¶„4 d«![Nj´¶A¥™¸MÎùñ‘PKq¨0…4¶ª!ªSܪÀ¨[`75Q“2¬ÖœôýVWSk³GÖù̲sîò+>¯˜¬ò»¢GY¸ Á~°Ž1ã‚4ðIëC‘–Ç&$3|ŽŽGXF…©ÕM‚RÓÑŒÇ-ˆãÖ¨¡ÚØÔ_Z˜ë£EfÚ#ƒb¤STÐt]+¬c_aš z'ht˜Ha‘wYãS ‡¼óÒbçS®=ª¥ƒ 4KaÙ5~x$?šxã w”㌠쪤“âô½mªì@j§ÍE¦†ð†Öbh †Ö¢‹i~1›¡Žìé¨LCªÐQ¹FôØšSÔ Þ•+¤¡Sv.¡vä¥ó‰ÖÐyc¿ãÚ¸e*é±eÅ Ÿ•6G’,ewÜÓO÷df@iz4¦4 šÊ¢“&èÐM…°Ai?ÚWæ3Ï<óÌ3Ïüx_ï&å§ÿóT¨Á•º1Q}iZ”ºCÙ¹”KÓ™(Ñ£•«n€õÔ`=ÖØóë±A“¸I>ñ2ù„æthžd¡&¬#vmÂçö·ñ Ç—>Œ8µ†}9¡Vš@ú&ÕQѽÓK‘hÔ‰Ç>é1OÎÙY›³€ô¯BºØÇîeônjÎà ¯ËÏØiË~óôxÆ~S„ÑŒŸe×Äç;âó-ñùŽ0IÑÄ]F\¦Ìõ ¥~:Ý_ëŽyH¾ñÉ7ÙÆç¸?U÷ê7&æ¸Ä‰ Ì5âJÒy§¥%1{t!ñ´œ½Ñgovt¶Ii»,ë1ÞüŒòÖåξ"¤xƒpÄóRÞ'ox|qÆA&´‰–(¬7 Þ¤ ´t–F’lèukúHˆÔžXðô"…”/Ø[?âǪ+¯¨Ž6Ëå˜CQà’jEè "‰7˜£#©1­)t–úïxM®¹¼S¯Ñ-†%ÑCI“™|è^°•1HI¯[á9¾“á;9¾“qÌ|Ò}Hú’¦! O¯é^êwŒý'ü$ÃJ*šÄ µ;ô®%¬SÌâdÈ Ûcãô6–ËVô™©s4ÑQ) …Þuô»-#µ!—>©Šxˆcís\û5ŸãÑÇÔô’-ƒÞ–^ï#cÃÈ^2è­ÐÌ–C0KϘ¥ç<¦ç<•#ìQ…3¬°Gv\1<.¥KFÇ“ÒMÂýúŠ»Õ÷ëk̶¡­$+‡¦^S6;³ÇÜ8C’¾Ú1h· êF+ ´”±þÄKó#•0Y1f¥Æ¬:\Û€ÇúYèlóŽ(NϲÙ`-fÓ`Z¬§û¶¥<:f÷QT‚»å=|Í6€³Ñ9Ñë‚ðUAlnWLâ%/¯>³“=¶É€»îŠÛîútU׾Ǫ!ŸtÒ.b”</ÉŸ4ð9Þ$(åàôÁ]C343IýØ &l-,p,„Ðq’¿—â'G¼8£ì»çeêR¤.rmЭuäÊ [ IÄGï%J¬Û~“Ñ µæ¿èÿ×Ê™º3&Ö#ž^Ðb|‘~:¼R&‹jB™z<¬/ùýú×|¶¯ùä\³p¦´Ž…¡$NRâ˜%î¨D“»ß”œzQŸyæ™gžyæÇÇÖø%×)?ÿ_>ÒY‚.0‘AÔ¦ÅQ…UÀQäʧ“Ùc%tRC[(ôïAû“Bû³âfxËë›w¼¹ùž7/ÞqÔBÞg¯ù½æÃâ5‹vB*"Ò($‹ƒÓ Èÿ.Õ@[t©FûdR7Õ¹Çᢇu^cê •iP”‘A÷ÊÀ±$^Å™·æuõ™réòôý”ß¾áßý‚åjôÃ6GÑœ}=ãÌ|àìüI2gÐmtâî@Rî)L•9¤'ã·ÍúìŸzìïzìoZÓ€ž‚7 +©p¢ 3¬Ð¢ŽÎ?m«³E…ŽÄW‘H1õŽÎ4(lŸÌ yjÆ[‡‡Û ~ÛüŠÁõоZ2ðVôÅ’yrÎãÍ9‡ Fžè®Â5¸Ã‚ÐNÁ„$ÙÒs×ô‡+Œ¦f‚‰Z0eNOlÁa*„uÚ6ºð&,äIs9¥þlS.mÒOõg›6Ñ‘—í…†¸h1’Ó­0½ìi…ÁRi.3ýG/±¬SåÔÕÐp öVBIzjEOߞ̅¾¡§oY|ž2{¸ þà°~ï¢ZϬ™^˜w Æ+Ô Pº¢êWÇÈ[¢*%ÉSð&}=k?®9ìb>^ñ›ô×üæðkµã—Épw%¯±­ŠÒ™°=æÆ„V\u)ð남N õ”‰¹ P6BHn)J£P«NqlBd­³+{§ê¶~Z,b‰S¯ ¨ƒA·4Pw:4 ‡ ú¨Á{sd<™q-nÐ…œoÄ›É:=¿&⡺äÏùÏùçôoIÃ+¬„+*Û u 6A“óÔÙu Gå“©€£òqÊŠ»Ï¼Ü~f´[3ÌÖôÅžJ̨4›óK¾dŽßdˆFâ 솩=çþ8z™ír4;óïÍ˜éøœŸ•Ÿø™ñ™«Á#×ý9uäP_Ù4M~éóÛâkܼ È]î‹K Í£k4ŽËˆ§Í”ÍhÈþà»ö'œ·3^kïyc¾ã•ó±µÀpjt³ÁÐjJ,ZŒÓü2§Jó¢œ0;\"WòÑ$õBR? õB¤ocY^RŽ÷DæCk)þ×’¶Ï<óÌ3Ï<óÌŒ­ñ³ÂšäfÒ4ZÓD&­aRK®ÕNÛ¤MHÚ„¿\ÕGà[à÷ ~§Pokƃ;,¿àìÅ+ÆÈùO˜WS¾)ɬº8…Z‘°º/­I-†~j dâI¶Öm@::Eèqì~ä*KÐÙ † è…ÝAÐUÄ2Eå:åÞe±žòÝãW<,.ЕDïNòòŒìÜæ¸±H÷éÑF"ðU†EÍ€-3uŽêt²6`ÕŒXGl÷}vëÛ§>f¿!8ß\ð_‚#n›C«(+Q*½Â×sl½¢S:ŽQcy-F¢0úµ~ZÓþô8¡>XŒÛ9#Œ9c{Á®KxbBê‡HÍ 3uÛ¤’ÅÁC³%ÂP8AAœl1EŰybÔ,Õ úr‹PêdxKE‡†fH £Á²*£à0K8Ô ‡mLu碤ްA ;̤Á1 ãH §¢¥:{"¶zLÐùÃù¿F‡D§Å <Ž$lþ(ð„z¤]„™6´s“¶6‘–25„J×hF:Ôi ,0K‰Ùµ˜µD5šuš™sºòÔ.‰ ÇcÉè´}…ß• åS¶tF&|VÆ€{ë’MÛ§.¬SëngA¡ñÖ~Ge\ï¸æ3¹í›¹i³=ÕY5徺àss­W8z‰­—8ME[šèY‡›–ô·;VÙˆy5å¾»ä“þ‚X3’K.«„âè#MƒM9`f_òѺ¡Ò,dm¡U`µ Ò):Õ œº"R)¾Ê°Ãi‘¢s4jl¨ò`Pâ`ø5†v2êªÓh¥M[[´……MÅÀ^2è\.™^=òJ}à5ïy­Þs^ωe/yo½å[ëgý–ÞpÃX<1uè,µ6`môÙ‰˜•è³CÖbÀJàsì¬fÒ®0÷-½ÍžÖ0huV7NÏv£ÑÕY6  IbíHŒs5&+]öû„ûîŒÙüœùìŒÍCŸì> Þ:´¦~zŽ,ìtŠ©K› ŠÖFïD­!2{³ª±¢»(°Û[+ˆ£/Ïé3Z¡S¹å’ãQ[‚ð±d„V5TGªKXu¨1³Ãsý³Œ»9FÙaªŒÀΑBšë²Ç¢óXN•Kêʤ«4šÊ¤Êl4½E·j”ÞÒj"TއBlåèÅ!3&c‚R -hºÓ¡ ,j|çHhH:5&¹rÐB‰íh`h€†0@%‚ƒ’ê¦VóÂüHdíya~äÌ|ä¨y+c°Ézl´{-&Ó é³ß%–=ö³„Ãmïäç¢/ª@„zXb)N°Æ4jt³þÏzå=óÌ3Ï<óÌ¿™­ñÛ}òùãÿ~ruº¡:t›Öµ)VÎ*·…<Í-5ÒFI>p[ æ9û&åcaȯث€Ôìó½ÿ–‡þ…fþƒTÀ# Lz“-ÉxKo²! S4¿Ctˆó‘Áa’CÃS¥°‘MkÒ4§¥%µfs0Bž¬!·Æù™KÞÚ~Eÿl‰¾¯ UJ¨R¢î€ctA‹Ì%«ß¸¤ïÏ1ÑpËd`£úPÕ6Y²m,Ú3ö»„\T±ƒºÑp“‚ÑpÉ4˜1Ñg˜eûà Ør;Å’çáŒa¸å<šv)×ö»QÝ«>[­ÏcuvRzÆ|=¥,«>A9vɕϡŽÉkÿT°î½k ¿åè‡8qÁqè‘ }œa…¡Iš'‹ùÓ9›§úV"Ð)„ÂîUؽŠëþo{(j—Âñ)ÆE峊#aC÷%Øá”⨱%¡& 1æâgä†Gm¼ð>17,õÝòŒÇî åCç‚t­­Qš&;#f­õX‹ÕC6gù7«ùIþ]ü u3æsS µPô]ÖaŸ¬ñ©k‹æ»Î1­7Șùçdu@³4xªG<ÕC–õ)U䳞Â1q´g¥†¬ª«rÈJyªÇ,ƒ1Ù ´ ¼%ÓpÁ™œ3yZ@­¨Z“R³¨Íé° ÎMƒÝ4x² ˜ÝAy Ùî˜h ÆÚžC«³ª'Ìë)‹úŒE5åûâ-ßË·,åÕ vöo{ÅæØ'6÷8êô\ªG|£DšsHj%TµOZÄÊ=Å)ô ¶NÂΉÙ: {ë4SZ.ey:'I ƒ}±– Ùc#ŠÒ¥- âÑÿ¿dä¥Ï¡:µ/ª˜:²‘B¸€qZP2 ¶ &[jC/:ÐNr(h} ‰ø²*h‡ME‹Áqï³yì±~ì³~ì±^ X͇ìÕ€æÊ‡È†Rÿ²a³¡ æ[¾i\Êý„³_ªC¬;ÄZ¢¶°êDp•|$o©¤CÕZTMÝXдˆ¼¢ú®ãþ›+j±ÏZÂé†áÙ’JwX¸}æIŸjìS41œÙ'ëpêB£ëkHWGbЪ/G2JC)Aè¤$Ã=½nOâí±õÝ“¾D÷%‰½cjÎц™9aÕöØì{l÷=6»>›²Ï“7båŽXz#VÆ€âÖ'ÿìÓÞZðèÑ( ]Jr„*iÈ0TEõØÂËÿà—Ý3Ï<óÌ3Ïü;ñ£5~ÛÛ€?þW¨ØD½vQ¯=Ôk.vhßë4ï5Ú÷:í­NÛ™´E«,è Ô¾†Ãök(Öìš–mÈ^þ”ÝO©Œ€?d#”®}Z³f>*̦¡ÿ‹5—þ-×îg&çsôD¯ZôJ"jXxæÞ”¹{ºæ…O™{()h “Ú²9˜Oöˆ;ï‚ÖÖÉ=ý¼¦÷ÓQ¹eÊœé—H3/¹Ÿ ¹Ÿ¸û~È1í~µeúÕ‚\·`(¨k›ã1`{°8ž“w>²hb‹.ÒpÂQÉÿÃÞ{´˜½¾k‘\{?­ÐŠ Qròâ#'/ÎxqxÃÉ‹SªÌ ´MŠ¡Ii›œš'|ï¾Eç‚éÓpküÚkö¸å•ýÀ Ùà²ùTŸÒ`Fƒ ›5Mä'&©QTÿéÛ?E½xr\VrŸµð9‡ô¼)ƒöd{×Éš dÍÄ0Õ¦r@VÙôì)}kÂŽº¥Éš!MÖ4i° Í##2lra30¦Œ­'Ý vÜ©]¾¯¬jul»Ð*GPÙ‚Ô´XÈ÷rÌ­ØeYµ ò„Ýͯ×g˜«ŠWoøqý9ѪÅl=Dô í»L{=®úû4Åš  Ù«¯xSý•¤ð™äCn‹]þœ}Å*j“Ì\â™G2ó¢f}ÒáéxÀus¿³ˆ;,ã.‹¨Ë2éh—¤á’.â°¢—Mx¿ãËü¯¼}ú¢0™É63·Ã¼ncÚ½Þ’n± g- Š«¹ s±Òg±Ùöš1¾™ µÚÞ=Íßò}ö%?äo™G]æq—EÜ¡Ž$‹a‡Óå+æa—Ég—œÔ§¼ª?²_ßÑ4cæ^é "¯ÂM‹Ò1(-ƒE£Íucëæ>7î.ë¨Í:þ›ZŸjØž)¤ ›Íl«tæà47´÷–´÷´ö–dÂáaºËýl—tê’ÖvÚäj„¡±dθqÏký‘×ÎGކW¬›ëF@èù¬EðÓW69ŠhéótÖçæ»n¿ÛewØX‰Õ Ø÷`lBhAXCX“›.w†Ë&s·|MÈW%\WpU"ï úoô>ŸóbxFïÅ‚p‰ë€¨ö‰ª€å­ÇüÌe~æ1?kâ63v1§ÿå‚ÝÖœJÙ(¯"mù,†6Є}ã“ìitOPw•«þ¾’©u½5 7ä ÅK£ DXªÀR9–Q€‚Â4( “;cL6x\y<Ýj:éÿ”€œt<Ï£¼4).·I³\±MmÿvP¤5ɪ X§$ëQ¦äÕ³ñ{æ™gžyægËÏÖø­®}V700a@€@éÀE ßVðçñÃ6Rÿïƒ^£õè;ÖE‹°qU‘z ÊÙ– ;*‰Ê‹í:á“„ï%榤Õ\²wxÃgö;ŽFgÛZ±+Ij.8"/QdH,Ý&Ê*¨UfRKI"<æv‡Û`Œ4+Ò‘‰Å†O8¤qÁK.8âc’#þ÷·<ž:̾=àúý˜è+`3¶ÐrÛG¯,&]&Ó1…on'-jVø~Dßpà\ò¦þ‘MìNÚ\^(¦ï†Èòä#^±c?òF}Üöjõw[aëŒxîs»Ùƒ{ȵM!,|ú§©™Û3q<ßçÎßCû‚ÎË9/ª ^xç´Ç L+gú0äáÝW8âéÇ1²ÒˆªFTG¦4ßF¼ŽOÙ÷ü6øÓvNæèí]Àžæëâй`–÷ù½ÆÎJÚ¬Ù±yéŸÓ6Ä" >sÑ¥ÒŠˆŠÿ§èCl9«O!³‚锘ƒ«Üj‡;=æ†]j-é«)/sŽÕ9¹2‘ºæ\qa¿äÜ8"×ÿ`|M[ÍÙQ÷¼â”û­µ ÆgI맺€1æ+õ {Áž{Ã?û¿çFPUŠIÕçCõÚ”ޤ0 Re —¹hóÀ«ú€°jò*;cOùluÊh6Áz*YO:œ=}ÆjÒ¡øÜdÝnr×á¿9â3û_ðC}Ï[þÊÃj—ÕS‹Û§þþއÉÎv:r\‚)sfUFs‡æ‹%¶›²ŽÛ„i‹pÙ"Z6‘íÙ.Pí«•ÒŸg÷™š]æn—™×eæõðë˜n¸`œ>r”^#©È‡Èm2szl,Ÿ„FÓÌc"f%3LY"¤¦’ C”xrCÛX¢…DÊšG=âÏÕW¬Š“|ÈÕÜV{¤µC½Üܼà›0!»µéOTŽAí(ö{´xÄZ”L–C–‹.r ×Õ>QۧטðGDìWÈý Ùª²¢¬ ªêR1©ÆÌÖ}>®^ó°Ø%;°f;ÕR@ZKòÈ&9÷Ñ•ÀºÉÉ”Me(”Uâí†ôì)]kF¯šÒ‹gô³¦®83Yûm*OXÃf#lì:Cçsc IDAT½BØä.S£ÏÔì31û„FcûºÌ”PÖ“|€i|ÙøŽÑð< ÃöC~Ķ Âè3 ûLOû” ƒMÇ&ìÌ:m„kÆ[û{,+'3löÔ µ„3yÄ#ÎÊ—œßqqý’§jmKšÖš†rؽ  ªI˜5 Uƒ–¿d0œÐ×úî§£òœúcÍE¾ž@æGùö-yóS‘ºk±1l¬:£•®ð¢#.ѱ Ü4¸ßìrºyÉÇô„NsA¯9£×šÑkÎ(×ó¢gȆ±->ÏL*¨j¬  á$ý˜`?Æó7˜«“cv 5‹IÀ¼0·"¤.1tŽ¥3œ:Cå5ªªqËíýdSn°v‚_‡t¼:P´¾(ˆ÷[|t?C’ª¥ØÛ¹¡S,‰£ËQ‹Õ¸Å²×$ö\¬õ’ò.f椡&Ö‚X+bm’kÝ1P}°ú~ƒ2 Ñ>KѦPÓ¤Íå|ÌÕ|ÄÕ¼ÍÝÌgöä°ÊMò±ÜvzŸ¤@æ5~+Âÿ,"Ø‹ð¿ŠÈ»Ö#-³5/Ps…Áúkñÿö4zæ™gžy晟?_ãgZà·À•`˜€…‚Z#»5fP`¼Ì1ó ëÓ /ûÓ™œKâsλ”eíZ`Y[3)®©Göä-»òŽÚ3¸ipÓ~AÞuˆeÀBu©3ÉjÖbr;ä ûG<+cß¾g`Ͱ휶½bǾg­†Eᘔʤ°-„¡‘V…´¶¸ J:z¹],ÔM) m° –¢Í\ ‰DŸRvѲE­*Ã¥4,rÓ H%ÕDPŸ øš'+^¸¼Ü9ãØ;¥\V,ï]§ç§'D4ØŒ:lÆ&Ö~‚l+V‹wÖk¬<½Ùš¾Oæ¯Äà©1äqwÄÌï¡w=9ã3õ7êoä;–n‹;oÌý'-¦]ÖM‹å¹A¾´X?¶©ƒÐh"šø> ²ÊÆô Æ;¼Ù}Ç›½wœìžbö2Ì^NÖ38ëÒY/éÔK:é'ËhU+Žë3|óB\ñ” xŠLŠù1:€îÞ”îÞœ®5¥a†4Ò3*±¢’:S\{\û\‹= k´5~ÕŒƒê–ÏÊS²Ð&žû$ ŸxîsåpÚ{ÉGyLØxUB'\2ž=r8½FQõšÌú=î­5ÂÐUBPÅ[óWǸF†e”j©0d…KB[HLY"•ÞåÔmÞ石Î[ï7¼3Þpoîl ¾s UV´‹%µàmã¯´Ô Úü}í²€ÓÅ ï¯y7ÃrѦ)RÏ! æ‡mÍ®žò–œ®ÙHÜ4ÈMƒ3ó¨¸{ØÝê~Ù²GwwNgg¾=» î«]î³]ˆ5±òiûKŽg|îüÈëî;²Êà6ës:àòtïØíLÙïÞ²Û`õ*›>OÆ€¢V47k¼Õs^¢ç‚hÒàa²ÃÇÉgüyò+^íâîgìïßqppOºö¸+öñŒÕ0 6 «·ÆoQaõb:GFý ã£)ÝñßñÝÏEÍÙíg}j뀘’CXuŽS§8u†›e´²ˆ"·ðdŒ?ŽèzkFG VN›Í¨A2h3s˜²¦ßœ³·sËÀœcdWí}®:\µ÷y°ÔwÅiBv–³8ÓäZkEŽI¡môKõ ìÏJ|/Eúš¥ð™Ë.sÑá!ëpuÛáú}‡ëm&sŸØqHl“l¬¶ Kb®Aš 1Ü{`è?2ô‰<ŸÈ ˆ<ŸØ YŒ™D˜I™Hd¥8½6~Ï<óÌ3Ïü|ùù?ÿ .`ˆmTf¢Ò¨î¶ËÍjeØ¿ÝîJ~ºåµüº Í6eÕf3í ]V ª¡q冑ñÀ+ãŸ?Rùv3#o;̺–ºÃÜè±JÛÈiE[-ñ¼Œ=÷ëzs:ÞŠ\+ ©(,…Víl×Gµ†H¬D‹•l²-LŠíâ”Þ.PU<é!Ob¸-;gg;ñ“} ÙÕ¢6¶Æ¯0m2SQ¤Šr"©ÏüZ,9]ðUþ5ÿàþ³&¹ûŒó?¿â/ÿrBèµð~'p÷Þ«±o±ÈZÜg»l2Ÿ<µÿ>ñ«@kAÕP”¾A5V ¡gÌxm¼çŸá?©ÿ›‡æˆ÷­>´^aµÌÓ éV”¡Iü1 ]VmB£¹]çt žJ굤®%MoÍxç/¿øžþâ_øÇ×âÑðäôy²û\;;ìàR§›Œv¶¢U¯ðEÌ¡¸¤ï³Ïøýìw\ÌŽùnö+’ÀåezÊ‘u†Û‹é{Fé”ÑzÂh>ÁÞä|[|‰-2ÛeJ@G ª)/Š[^§È°¦žJôƒ¤¾—üÐyƒ/b²ÀâAñê­ñÛ¹äðòS—Ìó÷Ö˜V'¤V ¿ŽiÔ Í<¦YÅx:ŤBÈíj©žÚ`ꟘµÜÞù[V]VE‡,w¨jEYTµÍõú€ûpµ.Ùwünø¯Œö÷Œ‚VI‡I<äß’ßò]ñ%ÇS^¶?r|rÊËãSVªÅBµYÊ6KÕfQô˜ä}曋MŸtíR­ÕBQέñ+ùiâWçÛ‰_ñh!4*Ḭ̀Üó(ÃÛØ ¯ù2úŽß„â7Ñ×|Åô?qfžðÿ?â»{öûÆ{⚺è\ “­ñÛ”7ꀿ8¿æÿ2þÌÏ>?ðÒ„â÷ '¾ ¾ç?ÿ‚¿mvƒ„ûøŒMÉ2lsúñ„²RlömÖÏü°ÝÝÐÍf¼È®ñ³ 1>ïœÏxo¿âÌ>â<=b~Óg~ßgöí€Í¥OóWMcÍÑÎ'Ý|È^#bMl<ª1É+ç”ÿØý#ÿ\ý “ÿzýÜ^w¹¼ÞÁösößÞrøÅ¿Ûùšno͇æ Ýc>¨ºE+]ã®6˜“}' ϛܟíðñâ3þ|öXŸ—ì}q—ä˜wÄëçEˆÿ_Oü’6$V¼¦³÷ÀÁà’“_^±ÿêž¶\ÐKÚr aMóü—ÔŒ™ísKõ·‰_áÔ)VQ"R±@&Ð1–tvVŒ^ÎÙw:\›ûœ©¦ªÍ™:Á®r:­{æ-¿iM¿šñ­û––÷Ü’´DaJxšýkNô¯úSØ’Bc¢±Ñ_¨l¯ÄßKÉl“Äx#.ŒnÒ.7·>×ñ¸ýÅÂG¿v¨_›ÔGr;ù]þ]rS소^>ðòå)GGg,d›¹è2—¢‹ÒŽÞ`׎H­¸ûßäÿ”ÇÝ3Ï<óÌ3Ïü÷àgküÃ'Ž÷{ ß"D; Âaƒ¬eaµ2œÖ§•àøÔ*G/ ²UM¹$ï$Ùµ¢œèó®R°Sê<%<ɣׯõ^PÏ žn[¬'‚|¢ÃÕ¢²LP&›Ú£hYTm… 횤h2ÏÛÌU›¹h£T…¡ Y`¨’0˜¯ºÛÔ¹u™—4õŠKšz…pj’vƒ¸Ý$i;h¬~NpÓM¨a~)™xC~X¿%ûhs¹~IæÚôgü"û†áÁ#V³Œ[|<{Íã¼ÅMyȤ½Gøj@bh_£7 ¯425HM—ÔrHM‹Ú•4‹FÒ”k\RVºÅJ·XÖmVu‹H<椮 ¾3­»\­¸÷™=(§& B¼ñ†½¯n¡ÙÑÈ®Fuj*S’º›®Cºë`ŠÿxMu ËÝ&×Ý]fF—™ÑaftXM¹aPø Õ­°uŽkV°”±I”‘A­ÚÛ;&H£¦å¬Èɶ¦#~d7zÀXW<­Güyý·bŸR Ì ¿°¿#°CFÕ=ãõ=£òžN±ÀÌ Óå®3fVö¹5vx,,–bå°&p#:XRÉ“èóN¼)Ð? îŠ1©6ñ̈ýà oS½«N@(ÜVΠ;Çr œ“œòÐ`9n¡»ŠÌ71œ‚¶±Ä9޽¡óNQiÂÒCÉ‚®7ã¸uÊþþ-ƒÝ)Íæ[d˜f‰òkdW#6, +µUm"lå ·Æô ¤W‘h\›Ìë9&WÆSgÌ&h¡Ûyà»-–f—'1 Ž%ÙƒMöh‘=Ú¤M‡ÍØ%ÝqÙt\BÝ$\ú„K‡õÒBwö€Ž}ˆk§ ì3£‡R%{êKÆÌ[ŠùždþZ2ÏŠ‰D‘#YÓzµ`3¶¹ô±ªœMèpŸ¹/ÆÜå#ž.LÎ,æ·&ñÌ"_¹ðä€'ÀL!RÛ4ÓÍVº„lkS0ÉæBµj²v†ÑŠi¶·w uaVM6Ej(jçö£ï™gžyæ™gþ?ó³5~{{7üçÿå¿lëûÜ4¸iì³ht°½ Ž—à›1nSWòÑÚgu˜‡mæQO'ôÍ)ý ƒƒ ¾cZ†UaÚ%…´˜Õfu—YÕ%5lœ~LØó9í±´l¤Mú7áÛa3`mø^€·VXË{™#³‚€­KVô­'–&u_Rõ$•+XÉ&†S¢5”¦Â.ræn›Ô±Á¬qÙás&y”¾—o‘Þ§ÂW#:š•ÛdÖì2kt‘FAIÙ6¥Ï$èbéœMËF¶JÖKdre¤jJ%I ‹D9D2`E“&k\64Yoïw֪ШŒXsŸïpæsjœÚ¹¶þrbAªnƒ=hÃlÐ#èEÜæ{Üæ{,òÔ Ç5F«Ât l‘á¦)½Õ±¹Ö´Ì\Aäø<ºCèÔXVŽÝʰF9z!Ù‹ ÍC9æ.Ùa™´É–6V]ÐoLØkܰ׸aè=b‰œƒ☠ÐRP ù“"°n4±w^¾ù¸MDH“rÀ¬êmïèö=ÊCÝ$>Ó~ådÚä©3Ë{$Ÿ:$Ë“Ûç¼wˆÝK¨vÉ^@°J9^Þ¢Ì wPõ›œõ_â¶R2Û¦° âÊËËH»6ö€U³AÔõðbWç8˘Ïü3ö×´‚%Ò©¶wØþ¶æ à ðØ ZÚ·¨m“Zlp‰ê€¸Ú&t®‹&÷bă3dÙAÏ'mµXû=žì17ê€uä1»i1{×bö¾E=40>(Œ,²6ÓË6ë3›ô´¦Ê .Æc²±ÅÃÎ.ýÞ ·Œðªˆ}Ç:çqÔäémƒÇVƒÉËKL",ž01pºIßå‡Þçœéc6+—Õ¼ÉzÞdµh^[„§‚h")R¹‚™ h7Ь¶["ÊeS‚ðÎàqb‘š3£‰}baƒ}œ!›* ŠÄq@7¨*ƒ$õ¶ÿoÏ<óÌ3Ï<ó3ägmüþ×ÿü_˜‰ßÉ/‘² ”¡ò°Ì×Lð¯ŠYO ’á Â?ZTé¶€¸Î4:« IÑ‹5úbа&$]“bÔf>s9j£ A~‘ßDkHÖ »ŸV í¿›¾Oºj-™U}>äoøCõ[þPüߎh²¤¥´X¯\çmܪœi$ ’EBswÍÞoçìsv‡s½Q¶ äI‰›ÄÄ îvˆ_³yò9Ÿs8:çhtÎáøœ»§=.o_rywÈÅí1‘ç‘$ù¡¢*ôF’_*Š …¸’H©1ÞæF1ÎiúKÓs~ËWê¹æßÊß ÒŠUÜâ¡áãû^·A5‘øåÖ˜YI`E¼h_ÒNølø#‹f›k̃=âѳ–Mp¶ñïi`cÕ93Õa#„Ò8¤„"àQ I„ÇFzàiä'Ó'k F°4ÂÔHUcÈ’¢£ˆŸÉ°‡MÆÆ°‘fEÓXS IC†Øb²¢Ð’Lš$Â%”>+Z¸l0)h²bÌjE»i§kÚQÈi}B`D¤ŽÃµËZ4aÃöƒ¨ ©±5~³v÷ýרQEZ:?Ièí´UµK,»À&£‘ÆË„ài+«Q÷|ž¬!Ž£Í¯•àÕ[Õ3e—èR¯lŠ ÍðÀðK­)¯íüSöG~1û–oÖ¿æÛðWü°þ‚oÂ_óyûG~eÃçÖü²ù-Ab†%ƺÄX¬½½6½!×Õ·w;,–mò©…™åôÅ„“æGÞ6¿cpÅ=;ܳÃ%Ç<0¦Û¸ E%A3"Øhä!/ó'BÝd*†<²Ë¤ÒIDv@eH,+EÊŠ§²Ç¤ì3)ûL˵cRõL*iÀ@…g°¢Áºj³ÎÛ$IÏcâ púG/®• _¦7ÛUTKZ B«‰aTx*Á“ ±É¨<ÅÆ²‰[u)Ñ%¸EÄaó¢¸`§xb'¤U¬Py½5|íOo’[ãg  Ñ-›Ú·Ñ–E¥ 6Úå¡sSîs[ìñ˜H…Kf»¤ Ý3ÈÚ-V~Ÿ‰=æZ.¹z\ÞŽ¸ü~Ìåïǘ‡š¶‘ÒꦴOR6‘ÅìªÅúk›Í4if1æáí.?8Šn3ä‹ò{¾¨¿çXß³o\r7Üá¶9¦ùrŒŸÚ¸D¸¸ä8äÌò¤ÇœqÌ“Þa³t)n Ê+“âÊ ¼‡ò¡¢šT”i E ÓÖ%ÜnÀÙ@Ûß~AÑ6оI*²Ðfy˜aƒÁo5ƒL0hä‡9enSÄ6ËEÇù˜¬pЩ­ÿŸuÏ<óÌ3Ï<óß‹Ÿ­ñ3ý‚ÆÁš´²p³ VV 2(ÀÔ®Hi¨k”R–阾"35™«È ‡º¡4Ò¨Qf‰4J´))3A>1¨CW¸IJÓžáí—æ |'ä}ýËWœå'\ÔÇxvD3[ÒtV4%éÒf½hl5o מ%ðíÇÊqìm|ª|¨!Õ%™cSº CxyB”7‰>“bÈl9ÀrS|wE×$ÑÂfþØàñªÇÍù˜´í"T¶µá ЙBG =—(QaDFQà’аִ}Ê0d·ºå…9`ftY RÃ&ÉÆ%Lg-ìUŽ·Nñʾ•r\rÔ¼à¸sÆqÿŒ®» \Z”‘E¹´ÈK «ÓkÏ‘vE+X²T-VF‹¥Ú¦#ªªBU5FU¡êŠ2µØl<´É"í᯼eŠ—¥x2E:%:ÐèÔCMÙøT-$µÛ¢k+ë§¿ŸŸ …ENU+t)!ˆªOÓÓÊQ†¡þ^ù^ibí3Ó}LUQH»Ê ËaÖ ¬5¡Ùdiv˜™+„YPÉvÊØ¨B:õ‚a5a·¾§—-è–+º,é˜K2lÎÜc?Âh–Û’{c;…¤©©$M—½H¡±ÛÉh7çxNBË_ üŠØrydb‚«Rl#¥cÌšìš·˜¦V‡µl"*È\£6­jESÅÔÎ#uSQµU[Rµ$nÒ5§8FFQ›¬â³¢Ç£roïp­÷i©%;éËY›(  UTÈ¢BÊŠ•Õdæt¶‰©A—°Ð M†Œü{¤Ô¼´Ï86N9‘§ìrC®,¦²ÇF9LdÛ¨·ŽÞ`[)–È0(P¢ÂJsÜ$¡‡T±I[.iÔ.)¦*ÐZP!)0É……VÚTh[@%È…MT4(#E¢\ØLQÒñftz ,(&K¿Ã­Üã&rîp>Ûåâ~ÏÍÉV+ôfU-É1Èk‹¢²¨*“u&È–%ùbM6-qņö-;ã[vÚwXvÍ}ª¹ÏîÒ>‰ò™¸}>ø¯¨pßrš¼â4>bžtЉ 0¬í:S’›6ùÜ -]2סY4û!û':§¼èžáŽ7ć-â6Öyî¢T…’†*©ÔR •´)X/nãåeÁÌ´™Í?¤ºVÜ/Æ~„Õ˰{)ö8£h©­ \ÃÃÐ%½æ ¿Ž;÷Øi¶-ò¶ÏgtkÚöš¦Ò°#+¤«tëùöÔs6Â!þ¶óOô1ªšn6g/yÀ 3:,ŒÊÆÕ=±åÑk‘ਠÓ(©5T™ %z%)s“l£©#A¹2ig :ÖŒÎ΂vwA±±H—͇Í.u`Є4ö÷NH¡·¯¿B›h%0íÃ)0ìe–P (¢JYu¹=u‰ÒÛÆÉÌ6)í&¡çQä•åøyˆN4æN˜QÎОp0ºâÅàŠ#ó §ÜhŸµl13{D^€=̱DÝÈq^ä£5j\µ|îÄz¬’ÒEÓBc`Qã#mÕ/-ÄÆ‡E¾.$õJPZ$µÇÚk2º<­GÜÍv¹™½àbvŒ™Ä˜q„ÇXIÄÒ2otX.U Z#ý yP"Gz¦©oÄV®Ž$8l3Ø0NÙNØNèw,bƒyb|:¬±C±ã2·•ƒ!j Q2ðŸØqîZóWgÅv¼ýÌ3Ï<óÌ3??~ÖÆï†–e›iyÔ‰i\2šÎšž?E*„S"öJä¯J®¦šë©C9í°œTÓÄéÛø¿ŸR>Ä߬)&kµdg|ÅÛ“+>ÿò ¯½wQ÷]‡”Ub0ñúTLm~l¾b^ö™‡ý­ñ› a¢•O¦l"Ù žIÊBQyõX¸‡ûO|µÿž_ïÿ;F¿äÿ9?îÍ=&Ùˆ†¹¦alƒV,‘£¥Ü¦…šmÂj/ÇÌ–6çË.ÙÆ#Il6eZBS¢7 VL 0$¤ SJ <½5~憆Œh|2Qwû IDAT~µ‰ç^q”Ÿ±_\Q&Îßð—›7¤×o¸ûÞ¤õ⎗_¼ç—‡øåSZ„´XÓÜ„LŸ<~ØáÛw¿â/?~E’z|ñ꯼}õWŽósúõÑ‚¸öy2†ä¶MR$‰O$q€y^`|(1?˜ï T§BÔȃµ_c6rL/ŲS,•â’ˆèS H„IADÀ‚ :Äø8¤¸lp>%¿Ê {é={Ñ=»ëB?`!š,­ ÑâVïq]½ Éâ" Ë]–y+ϱ²¹ÑTkE¹6¨B…£7è…®%µ-Ù4¶&²FÒ Ä"g¯¸cosÏ~|Ï^ü€gÛ©•]"ÛõvÐðÉôÑá~ª1·&A„šê½ O ?HÔº¤õ«ûÎ5G{gìtnY©m’ì“°¢E阘r»Ö»Ó5°„¡ù€2 ºÆ”ËìˆÓ§ÏHÎħMœ8£ã®øÂyÇ/Ýo6‰>áÀ'ø¬MÖ;<…cÞ¯ßð”H›†MÚ°°¢wçWG<|Øá›¿þo'Âÿ2Âï‡øã«—b˜%Ê*1Œ“¿c9v7§‘GŒ‹GvÊGv²Gü4¡å¯iÕ! Ò°"võ‡ú’Ãú’£ú’±Ç¹|ɹ4yx¿‡jÂÑñ5ÁqÂ~yÇ 5¡®%µÞª2$eCQjIiH´!0Ë+/±Ò3«U½U½=SÛ&u,²Og¨=ŠZ¢ª¿Z£Ê·Üàœ"e,8°/9´/9².¶åç²Å\vx”CÖF4c‚½/ûØ{“ɲ¼^ó»ól×fsó1<Â#"‡Èʬ*¨|¼©Ù‚Å[A­Øõ¡ZÀ¢H%µÔˆZ°CÍ•XXú 5* =u?ŠšÈL2#2fŸÝÜf»vç¹æ•Õ©§·hDQÉ?é§ãæfWn~e×ÎùÝó"*C 2EÓb-8,háÑ!¡M…‹@ŒŒJNŠ ƒÒ)Q%&6øø"LEê ¬R‰ ¯ç²(;L¼£ËÎÏ8>=B\øˆKi .}ÒžKºÝ"Ù6)wDp+D§@äÈNNíAÙ’)Le³3»ÀQÁ©À©›½AÀƒÁ1ožpØ9á¼Üh %.±àâ .ÉÊ¥£-è#úÖ˜>B—.õ0üéN~·ÜrË-·Üò/ä§füþîïþŽ?û³?c4qïÞ=~ë·~‹7ß|€ªªø“?ùþöoÿ–º®ùå_þe~ó7Qüq)m?s8ññ‡É¤wÕ$½Ð©‰*¨kTQSM°ú!Ö0Ä”"¸´‰/;Ì/3E@h(H=¹g¢ö $!¤ÅVˆ¤Ä4åíÆœnÏck7BïHŒÊ+*‘e(áå.q¢1 Ú(^J¶PɦéD¥ž&HJ‰¬¨Zªe½iEÑ-gÊpwÊöޜݽ•+p"@*ZL…—Å6[‚ˆ.&(uŽC@¨„hF‚âdHÍ’"‰slå\nv$ŠR§(eê²Úì€E5¢_#jµ*R•"U)Q‰"‚BU#¤5bX!ú5µ¥(Rè2¹.#'º¸©:©”ÓJc’ëŒbƒ~hÒ//Ù2/ö.Ø>¼ ­¯Q£)ªÈCuâ2 úœ{{¼X®½bǸ¢T¡DMs4!C× +¦,ŠL#‹+DÊ…By­žð òžB¦ªdŽJÖUÑò§XÑ(=œÊ£UÏ‘ë‚Fíc"S6%`³š´ª%FcV1íjI/›±•ÙÉ®ØË/ñJ½j£Ö)’˜—AÙ`7Y¥^,“ÅAÔ ‹5Êð¦õÁŒ:BQ ­¢ÒE"Õ@j¡Bjd¡DŠ*„ªD¢H ÐT·B”*YC4+,+¤gL)M‘Ê„Ò(MÊá D¡F +ôU‚„4r¦° ­ÌÉE™@°6#žÒ`©4™ÑaL:(r5Íhù+üé’él5Ч)v°%\sÏxÅ»úGlÛ—ÌŒS¥ÍLh#U–u› …-.Ä]j¹¦Ö*j£F² rA¦ˆ©p"bŠ!ö¡‡#ZØÍ5f+À6íW$¡D® t5Æ’7ýæœÔÇ "„¬&uêT"C§’Ed½À ¢SÏÙ­.¸_¾äÍò)&1K¡B'¸ÉŠ­lÌAqBSð6×d lšÑWŽàÓ–æôª qaGñJ œ*TªD¥Jª‚ ÖÈ[%meÁAë„w:óz|/mÁX`õ¼Mà ¨ÝÉèô–ô¥Y©þXŠ‚$”HŠˆdŠÔ€VçhåFjQPÿ¨Ô¤@)Ê$šJh$•JžI×ÈUŽ©•4íMe£~9¡—Œqbi™S•5‚Z!ª²R ª¶²©”Ú’–4¤5ëÚÅ«\ÂÚÆË]BÁ&1lhjл5r]¤%M@m•ØUJ[P2ù¹B)äk•*“ˆ»«^‹ÉlFÍåh‡Ñé×/·™¼ÜÚ„…Nu˜i0Uîhȹˆ¬e8Ý5Š\¢6Ô~‚2H ÉLÐÉÑÈ×*…­PØ2…­!º9z§¦Ñ‰év [WTŠ@­¨Љ¤8Læ Š¹ÎrÞd: émçÙ p릠Tñ¿éÛ'˜:@Yˆä ™úµFÑ(ÖÅ:¢Z°®hõV ·Vl —lõV(u¹i£Ô1èBŠ­Lâ>ÿõäç ‹Wö!§öe#›.Û\qWôÄ)–!ökRIóÜ­9îá w±ÑÚo² º,ƒ. ßBl[ ú ÃdT•D¼0Hæ&ÉÜ ôE’‰¯¹Tµ„°‚5£6t+ÑC—˱Ë|Ü`9iàE){÷'¸»z¯DÙ–9ï±íc1–a‰¦áo7XTM$'c¸sAìÔ"œI»ä#w½"¾« *M{ÅÛíÇ”(Ÿ©BØfSÈB‡©Ôc¤ -†Œ1!;w®Øã”=ó”¾2Æ­Ö¸å·ZS# ß4O¥ K d“Ò ½lŠPÔÄ‚Ésë>/ô#BÃÄ7-ÍÂ,ŠZŬ#VÏ9*^³JÛŒ‚!#o›Ñz?v6 sh@)Èø•Ãd¶EÊ,ÏÚÊ&?Ik¥b,ïp*ÍéÈ :­9†™ 5ô$AORÖE¥L9*_àúã°ÏXí3Q{ŒÕ>af¢Hò^‚¢èiB½ óA‡ é|€¢nÂaïª'ê„ç;\8\:»¬F#¥j¬Q¦æ6E¦f‹¬»ù_wrÚ_šÑíNÐz)ÚQB¼­s­n!K9ºsPsWyM,™L«Ӳϴê“+ÚœOöÉ+\žïr}9d|±MpéÀ¤¯„0‡,B,ÍÇušh€ÝO0ÝË 0¥€Z‰ºqiß`Y·YÕ-–u›{üío›o|ã4››òt¿ñ¿Áþá~ÎøyóÏ>zk³Ëu¥_)¤W"eTø:eÐÃ]fÁúÐ译¥’¶³À)ÖQ„²Îæ5y “¤E*“¤&Íf‰»½¢¿“Òß^!‹ѼÃxÞæõEßkáÅM¼ØÅêT \HÔ‚L)€(TiD•ÆTYiDëáGæ9oïžñvïM˨Kêf· [\¯†\¯¶ùç«w™J=–ý«¾K Ø(fö™ñ;â%{â9‚U“ˆKÛeÜïÒMælÇl'lÇ猦;œM+ꉅ7‘‘Ýk'ÁÝñhìxT‘Œ÷º‰—×ä3e³è›”µL›0 ÛçÔm£cgŽŸïðéó»<{yHwgAowÎîý1½+©Ë„mÎë{LF;(fÛXÑl,q‚]9ÒnÆöúœd®S\¨œ]îq|q1®è zö˜îÖ„6ST 4JT T °ÙD[é@^­ïñ‰÷°8icÍ#vê+Þ¶žðNï#¶+ô2E/6JÑPÔI«¨°ˆØÍ.Ù /Ù .F×\h;\ªÛ\Z;\jCRY#SrE&:õ‚íjÌv9b§¸f‘vøÄ„¼¬ðæMüÌÙ¼?° ”$ü¸A1UX'.Z– €^#è€Qc·|ìV€Ýò±š>ÚÇ)|ŧØìr™«”{«—<ò?ašõx,¾Íñ-Vb _’‘•k/ĺ + µ*°P;Ìé!ÍKîX¯¹cs s 3§ËŒ.—ì2¥KäÙÄ'&ñS‹ø©…£ùôv&ôv&ôwÆléc¶£[Ñ#ŠÉ|•Ù¼Çñüˆæïr–íqçàŒýý3ÕódýOÖo’x:ÞŽq˜ŸðvãSÞ¼û{+@îÈZŽ\$©ÊZqXË6žè°(Ú,‚ÓeŸéb@4Pª¥ÊQ«bÓ3Í‘Š ©ÌQHë ©®Ë©„fä#zç´Öw¼3æZ‡©Óaêt™5’jê&‡V*åMʰ†¸b(]’× Oã·½Špì0=ü¸AüM“x%,0â7 è¦K¦‹5V£êb¯ÞTÛl³1~ÆÆøÕû<Îñqøˆ@´Ù³Ž9ÈNدŽé2%’-"Á"’MâÒ¤ªªZ¤¾yMC^oFÖHëšêT"}jåKʧü|÷)f#¥EJI¢E^LÓë.ß¿ü Õ.B]"è%B«ÀÆÇÅcP¹Sp(ã›s³Ã•°…I@›9;õˆ#N¸W¿Â¾¬(Î\V§ÛHg2J³ÂÚOh,éL(–2ä5ÙL%m’È ™K$™3`«A©HE…fg„g&çO†|øÁ›|ç£÷øòÏ?¦¹ï³}oΗþžûo2p9:äûWïS[iJ§1¡kNp­fSCsÈ‚l¢qöÝC®ÆCNLJDW_p?DÛŠ9^sT½Â­|ÜÚÇ%À}°¡Vê–@½+Ð9“Å*ãå€/îc,bö˜ûý—|éàö­s„œ²M~hin*}¢„)Gì'gúgÜYžmrúZ/›÷8ÖïðÃæ{‚ ÂMO¤ú9÷ÊSî'|9ÿ€EÜ¡DV«§Óe{³È7Ù,ôeHCt¡³ºnÁjK ²ÅMO9[@)R-Eé$(”–¼¤ÃœŽ0§Ãœ;³3ŽòWì/O9ò_3÷»ÔµÈªnñºº‡d×h{ÖNHso‰ÚJñ¼žç²òÚdK·ôxÀ öä ~Fû'>ámæB‡k|ÌX­[Ä6Ñc›è{6ýL;âþÃg¼ýÆÇì9ç8“{¢ObVó6Ëi›³W<9~ÄÉúÍØçmó oíÊ{AFØœ]_èXRÌrΛÿÄ/ôþœŽ¿9WPÂ2s¹b‹+ÔbÍ*o6×ó^]1ñ¶¨~”ß* HjÁÀº¦Ÿè—× *¹*K ”(s3J0½„­éa /÷ðe›Y³Ë/°4›ÈŸ©Ãœû¼ Ç˜£ò%fQÅ2ëu“ËÅ⤄¨¨A F-s¬*¦Qû´ënêc1ªž#ôjê–@Õ©‘ÂH%‹3öù(ÿÿwô ¬—w’És ³ò1„ˆ¥Ôb!µYÐÆÃ¥¬%Ê›¼À²–Ø® #$1§)¬À¯)Îe’u‚tpÜ+‹Ù6Æ<ÜzA•Wœ_ö¸þ´Ë¿÷ˆçWGÔÛ&õЀ¡‰¶[“dSJYFlT¨U†Ai„žÃjÝA± ä~ë.6. %“)=âÚeJó-Ÿ°m^ð.Që"BYTWõ6i@xcò„E K¨ã›¢S1HQ Ey uJˆeÍé5 <Ø[0pt™Ñ©çtë•$²Òš¬:MV4¹ ÷® ’‘Î,é3ÍúÌf=æã.\ƒ¾NøÙü»tô9nwÍÅ3üµËõõ6Öëñ“šd-’¦ ËLCHM¨DTåˆ)ó–[n¹å–[þEüÔg±ÅbÁßüÍßð»¿û»ÿ¿Ž»Ó8åË÷þO²Lf½m²^¬×&i.c÷’«Ó² ±w—UÙâõé=^ŸÝcqÑ¢ºÊr‚Õ¯H‡ óý6ªz@¶PA+[¬wT"Xw׸‚‡+z¸‚‡IHËä‰LËd‰LXÖ72ˆJƒêá‚òþ5ÅÀ&Õ5¢Âfžt™%æI—«`‡ó|²%±uÿІ´Âè…˜ýÓ q$Ÿv¶ Ž,>)ÞåuuŸ±ÞÇÓ›ØzÈ‘þ' HR“³ôË´Ëèz›‹Å>« M™ÊˆYŒRfèU‚]äš‚ßNPö „´†.7‹Ù2_aTvùduDuqª6™.ÚHbÉ[‡¯è¹Kzï,éÜ Z.OÄ·8Ó™¹ÒJAUbJdrIÂ÷T‰H¥ÈrŠ+ìÈ—°(Ö:ë¼Åµ”²V]i‡ãé=ª×"+©Í@œÐ' ¤ ƒÖ„`eãÇ üuÙàåäˆ'Þ[Œ’!i­¤§Ó;¯c"Ťۚ!”  ”PKP5ʆ@×]ÐQ—ˆ×ãë>³QaZã \òÂþà ·ïš&‘nê‘n¢æ3¿Ã'‹G,æ]Š•ÂrÕ¢NùŸÊÿÊ{|¸9PpÓ³Ma– Sffw˜ÙÝ›±CÝÜì jÔ×"¥‚* k%šš’ÉÁÚåõüˆ,ÑX˜m:æœÿhþ«F“ØÒˆÑˆ#¤61„vt‚‘>ÃÌbÚ³9Â^ÖXÐ!T-rEgWÑT}fóS­Ïô¨ÏÄ裵câû£áM ¯v7EUò1j²É¿sÚkúò˜ýá1UY#æŒî ø~óË\Û<³òzp€¯šèÍEH‘„A¨7ÆØe“ó*@šé,’.çÕžWGÌâ.,%v×le¢Âbžw˜f=fy—ƒFºf§q¯~Á!¯ÑòœuîòIþˆùC¤´DT ¤v‰d\–Û¼òïq¼ºËìñ¿¶(É‘(HÙý›k¶1Š„«Õ.±dÒ|°àÁðSê›·º†íö­ö£!´jÈjˆjˆ7cè\ö‡<Ð(Èk•O㇌ô-bÍ ¬%BÙf&v¹ö(ðq>SPY¤St¦~¦¤£’uò®BÑ•W=V…Mœ‹TiB™'¤UM(*xŠ…då(‡9½|ÉQãi$TmªMàK¯uÖRƒkutOkr½2^n,mê•@béxn ±Q‘542S!Ð-RÃ@Ôk2Qc\lñ´*+%+˜¨ÄvÁpLÇ™¡­2t/E_¥È~ARj›±.}ªÒ§*6cç(ÃzS&Ûj0QTrÁ$¬-<ÁeAµÎ khUEª3J=¬4FN79ÕJ3G6räí½ŒH; ì"Ÿ}‰eØâ勼<ÀÌïRŠnJÛZÒ¶®h[¯PåÇÿjsß-·ÜrË-·ü[óS5~ãñ˜?þã?æw~çwÐ4í³ßïììpzzÊÑÑÇÇÇìîî~îØýÆ)þùßÈk™¨2Ij‹¬21ßüÿçû ¬kJËX±Ê[¬ò'«{|0m2?m³8k3¿hS^­¡_ð iSea·ÉU•Å¢ƒ ÕDªI¸kRm XÕš¡pÁžpΞpN—aaæ…É4k2Íš5‰2—j8¡Üi‘÷m2]ewx¹¾ÏËÅ/÷Y— JU¤jŠ WèzLÇšÓ¶æt쪘±ŠÚ,×m>öw ’R3GnfØBˆ«yÄ©I웬¼ñÚ›»x‹+¿I™Hˆy…ZäUŒ]dšŠÞNPörD¹‚)Ÿ+H’ù £U—²¼Ç´Pé1¤eû´œ5oÞyÍÏ=úˆäÀ Þ7 ÛMfÒ±¶ÅÌí’(*š“…E$ã{ ÂÐF¢f[ÓÔ´ ”°`½n3ÎwÐäŒB“Y$ê©ÀJmqžìsÐ>á }Šß¶ÉÛ"ãx›«b›‘·ÃÕÕ.“IŸ±7`’ôÉj• ±9Þ!V .â],;D¨Ø˜° ,5b§{Ávç’î®îqy2äòd‡Ë“mÆ—º{sº{sVçt¢X¶šL›Ô.E¦0÷;,f=>¹ú–ÑJ–ôâ)ÊçèRòcãWÞŒ?2~ ¤¹Ê3ûÏìTÎfv‹J$‰:)™ÂRÀ‘œMNI ‹ØåõZ'ŸkhEFK[Ò1æu_’7޵; w8ï°N´“Ó³c¶óóU›¹×æÕêßóZô­)}k®=¢oM¸·8Öïp|ïŽ*„FMÔÕ¹êmê:«¼IVê¨YA;ñPª»ãÓŽ9PO¨õ ©Qråö™4:ˆBÅÂn±TÛø®‰±¢U›RYüø¼èlŒŸ¸1~ó¨ÃYtÀÓømÂÈb;±_°“Ž‹ŠçÁžúoû i®ákvê+Þ_ð¶ô £|›Q1äE>dTl#Ê›Â%Š•¢È«i“ñù€ëó-¦g’PE G$G ÇÇ l®òJˆ0ÔºPw ù`A³¹ D¢B¤¬E*D†Ú-mŽ¡GÚM3õìÆ¦iránƒ[â¹e®pís¥ok:E%È63©‡!„D7ýý’›š³I¥LMÂg&Á³Í˜ÞWÉ(oÈ”-‰qÝcUZĹpcüRÒº&TVŠéƨ‡={ÉÑþ9úuÅä®ïãúkŒ(a%5X‰.žäàI Šª ¬rŠ*§¬ 䎀ڗÉÅ%¤'¸8µ#ø¸õú³<Þfé!f"­ÔÛä€&BU¡¸)º£[†‘*çá.˳/>}ƒÙ´ËlÒcîw)% ¹þòÕÿER̈ª)¹œÇðÅŸÔ”xË-·ÜrË-?Q~jÆïììŒ?ú£?âßø®ëò‹¿ø‹Ÿåý}õ«_åOÿôOù½ßû=ªªâ[ßú_ýêW?wüÆ)ÿÇÿn°”š<Õú<Õð©ö€¹Úâ®ð’»âkîŠÇ ª Œ¿Ì?¿Ì±w—Æ_¦8(ÏÊKò²«Øìø½ÂÏ@ª)d~›¥ßAX€(WˆíiP ¶ ,Ûg(\ðPxÂ#>aO8gY7YÕ›0£EÕÆŠï@¬%³x›ÚQØ-rÛ"Ó5f~‡—ë#~pý~pþJMdkçŠáàŠ­K¶—ì—ì —ì²÷¹òöødò.¯ÖGìg'ì 'ì'ìpÎizÈjÝålvÈéôÜS(ו/R¥"R^}¶ãg ªÚÆøÉù¦]@¸.ÿÆø-{LWO—}ìô_yûÞûcÞ¼óŠŸ}ëž7ïóܽϳæ6ÏÅ#VZ“@±I­Ž©¦]¤žAz¡c¤9µ)ãZw¬ Ì,b¼Þæ8_¡K)¥*3O»¬¦-NÓm‘2»Û×ò®„ÜNy9¿Ï‹Š=͈ IDATò!Ͻ7y~õÑÔ¤ô$ŠD¦¬$²D%žlLŸ4)ÕêsŸž1å?l}‡ÖpE/\p`0Õaò´ÇŸ~‰_÷ï}Ÿ÷Wßg?>ç+å¸NœÖ{œª{h”«l‡k›ëé6×Ûlû#¾R<çýú»ìÊŸßñSذ!LZ΂ک™:m°ïR…"u(R†"„¥«B- +%š•–6—ñ.WþWó]zÂŒ÷;ßåHÉû½ï¢¶2¾Sü~ÙàEôuÑÂ(žqXóóïðVþ„ïÎÞçÏÞçåé¾wö¾ÒüÍÖšÝÖˆÿÐúGηwqv}„ÝŠpÏÀ³bQ#’‡\JÛ¬²jQÒÎ<ö“KŒ:Æé¬éo_ uêNɨ2*¶¸.·˜T}d«@nHr®hY„’¥HY¹Ùi†ÏåÊ%±ÆbÝå|y‡O—oSE"ÃzÂ^uÉÏÕßÁ-<ÜÀ#Ÿ©\O·˜GÜzÍ®xÅCå9_T?"-LžoðIñß)~Ñ-ÐÍ­£·#²T#òmÂOm¢ï8SËȨ âŒVÆðý †ýK¶\ÐûÂä&(T¢D¦DbX\Ò*çE„ø£ ¡eͦ`M¨˜\C<ÝâÌØ¡NDüÐÅ×]"Í@,êãסÄÃaÓ¥oó7ŠRf5m°|ÚÀû‡å?4H¿¢— eK¦:’™W –¥E”‹Ti¼1~ÿŸ?š5ªSÐÛ_¡–Î8CÿŽDéY¬×]¯%ÖzƒÀ´7ˆVM5?S=H,ccú\±Q£ R´*FU´FL&ªŒ ‡‹T#K4µÏ¡úŠ»ÎKÔö„3úÑŒ~4§ÍpÒ€±Ñc¬÷nÆ.9òFµL†L,Y„’E$Û¬$ …“Sˆ0‰è3å :§U¬içkŒ´ •®°’9-«ÅÍ0vCì½5f;$úÔbù¤E|n?±(3‰"“(s‰R>üy~æ 2_~÷{üì»ÿH³‘ð¿þ/?õ ™[n¹å–[nùóS›Å~û·›årɯþê¯þ7Ï}ík_c±Xðë¿þëüÒ/ý¿ök¿ö¹×Ló.? Þ R Fr_rÌ S) …EÙE(¦ù€SXê-І„Q…dSÜ@„ªÐI±ÔËN°Z ªQ ©òrA!4MBÅ$¨-ÊRY@”kd¹@ _!fAŸkÈ4êâGi$@”tU®^rÕLñÔ&ma¶6}ñòRÂH×Ô—1«¹L­¹djI¨i,Õ&‚ pïá—‚YaIP-MfaÓ ;Øaôð‚&Q`B ¢^¢¨)R§Dned-••ÚDÎwÉ•ŬK0±)¦2L*¸.`\ÀuN½,(ª‚ÂVÀt)d•ë-Ÿc3Ã)¤…ÁLl³V]d« _OœzU¬ ÷ªH@I ”2ÁnɘY@Rj\D;|´~%Èy>~Àõl‹pm!%%NsMÃ^Óèy¸[[ƒ+ÜÖÌšµÔ °,â®N¶'STJ?Å sÔ C sÊL&®t’Ê © ©Æ4# 3Ä4#¶ìÝÆ”fc‰¥†Ätœ9{;,ÄEG ×ŸRö%.]þ©®‰j¿¶h³ ª,–y‡* }‹(4)% I.1¥”UÙd•4ñD—¸4PUÏP”\—™k-|Í!Ó5Dl5ĪBl1ÂVBÌ:Àš¤s;¬§.“ó-fã.«¸‰hV\ÉÛ¼Öq,ÕÊ8Iö™Æ]‚b³©PÅS‹pUÈRÈÖ*þÄaœ8Ii$>J\0‘z¼29;x­&U%b ?8l{+äiÉx:àƒé1Š˜¨©“T-m vE+xU“2UðSwÓOJQÅQ­HE _²™ËM®•>nå¡Ö9j¡V9u)RD2ùB!é$këb‹×å]œÒ§/ðS‡Fîñ¶ù˜¡6b¿>…EÅE¹C5…gö}®>±­¡7£Í¢ß0S ( æ0Æ: ‰£€b!ÞäånTfy`’&i S¤:Ƽ…zš![u.b7|œF€ãø8ŽéÇÄ+“W«#®W;<¯îóJ¸ÏŒ9 …$K&•$’Ê:u!’†idPF2µ\‘¤:ëÌA( òB¢Qø4ò`SÜ'‰Y×6^Óf}hã%6Úý}§ÙV‚ÃÜlv[”û&uG§è¤ŽA¤XhRA%‰È˜Ätò%ùÞʪ܄Ëv/YøÝk±A°vÀ6©Ê°]Œ1ÝhsMuCôvŒæ$hzŒ&%$±ÎrÒa9íŽlüžƒ×wYõ]L½EÕ¬Ç"㱄éY¤‹t !è -gI†JŠF†J†Šˆ7ª)b™(°›Ú i  ëŽ’‹ Qef*e("Z–âÐR8¶ÇÂéR44ü†Œßt67hnÚyPBlÌ’§—û˜âG_³^=ÅéýĦÅ[n¹å–[nù‰òS3~ý×ýß}N’$¾þõ¯óõ¯ý¿ûš³ä€ÿ<ýOTº°¹¡.Ce‚Vgø¹Ë:iò:¹O•Hø¥ƒ¯Ûˆ½‚aë‚p%\Ë„¦L!ÈXâš´dK^²¥-p¬]J0Œ½‘”6gpZpì“%:™¡“©©c°\´¹ºØåäò.§WwðBu`†P‡þ‘ÀÅÃÈYuš¨Z-ëÜ%÷TÖç.þ‰Kv¬Â¨‚U^ «ò:2ôèj”-‰rȧªÉ:òúÕ[Yˆ!†èfÈýö ¬eêuÊú•@úÚ¢’kÌ^‰Õ+1wKì"!šê¼œÜc<PNe.ç;\ÎwðrQГ'´OØ¿{ÊîÑ9r3Cvs+'À"·Ö¨Z‚ÓñP’; >Sâë,]‹åRF”JZý9½þ˜~®{Î!¯é  "亠7œò°ý ã(`/;!—u2Yç©ü•w1åKò±Ÿ&KÂÊb–÷ÑÒ1® aSœDˆƒ‹|—WÑ=^çw™gyÓð°›käfÁ+î2f@(Ø…ˆ+û ­+¶Í+†\‘Lu‚‘ƒm3½lrÃÊL&²M.”m­`e8ÈFÁY¹ÏyºOPÙ›ìM«ÏvÕ› (Xm^Ô÷ ‹³t_±™i¦J—™Ü¥i.i W Ç Çè^B0j0mñêú>u%ÐnÏhEsZÅ·^” fY-Î –¨k‰R”)ä±R1YJ.c¡Ç¹¼MTj4ʧ Êr³øŽØÄ3ƒ‹t—*™¥]ºõ ÝN°ì÷Z¢h9Iª’®4ßä‡Ù{x‡.Þ¡KÝ,n]`X¶îcé>¶èS¸ Ñ¡E¬ZDC‹<”©¨?‹ÊÍ ÿ¼Ip!\¨¾F°tž×$ õó&‡Ç´÷<†cîì°w™wy}~Ÿùy—«jÈ¥¼ÃH’ËU-“Õ:u%QÔ*µ PÈ …¬RË"•©£$6Uu­Ø£͸Ÿ²]HÁ®Ah›÷ –½‹A—E³Ãu¾Ë›À1 ‡&勪R -R×"VL J$j2m¼]Щç¶^áÏ\N¥;œKœIá¦] >›p¬fH_ÓïŽéŒ1ÚªuF+exQ“ËË”ú…DøÌ¡¨e‹¼fÇÄ¢Œ8i#>÷Ÿ­‘¯C܇%‡%®VÒèGˆ”ÜdOP²éá*Q¢„ë+ÿÒe}éâKM”a‰6L1·BjY`U7ˆRƒ"½-LqÒ5rNK˜ƒ!‘µ ‚acsýŸ—'8œÌwIV×OèBÌäzÆÎ­ñ»å–[n¹åß)ÿnãVNãþóä?¡[1yJÇœÒ)&èuÌ,ë3‹úÌü>^ÜÂ4nîôCã‚åHGli†F$èX”tÉ‘rÅ‘zI×\ÒÐ×8•SúÌÒ„_& 5ÆÁ6~í5t2A'SubÁ`9ï0:Þáõã#ž?{HdAFágÔÇÚ¹;¬» ÎËCvôûò9{Îûýs¼×Ï.vY½ÚeôA‹…ßAÞ2·Lä-m(àl¯hl{4ÚmgÂ2è°Z¶Y>o³zÙ&· [!·jGD² 47Á[•"‘”:ëÒ%Ë5Š¥J~!SåH|Î]ñ»¬ˆ+ »г1¹1~7¦ñÆø»üsñ¾…ó|—®;¡«Mè6'XŸ‹lŸët@9‰4Ô5»Úo¨Ox¨~ÊÕr——³ûL>ésòÑ]‚ġР]¦Ðd"ÉäBÞa¥9ûFE6‡°´1Êdó~69tÿñ›WÏLŸÇŠLªªdòF¶á ÷„~Vüµ'ðÑè]^]ßç£ëw “GÃæQôûù =&LËÙZ’S‡"µ(QÉ¥*“—‘`²’šLä <ò›Ê›R^bÞø]Cterî1 z<Г¦¼³ÿ1ï˜óNócv:||þ6_?âñù<¹~«Œ0[!–±5¸¤¡­q¤5 É£!¬) áé ß¶ÈJuSåõ&´2šY(ŸÔ–Jš[¤‰I°rH–Ëgjö»Ê^1T&¼Óù”ÇïñúåŸ ( Ç8à¨l+F±JJKR‚ƒn“K¬²ÈR“r¯ÿYw9)Bmð”¡5ãEðí°Eê˜d®AêèlÜ­Sb˜^bF/Ë<7\É;.äql£¥%qn3©NX‰^º'8lim·” •õºG´ñ(Öb/°ú)n‡§îqÝ}9Ç)™ÐYÊ.U£Iè0oB8ç‘S6¢E.-’‘â©.hpкފ“Θpä’ ÊRAd5zšcgüÖŽÀßx{g‡Vhûq€ô`Sh…£S9Ñ©JMÓ(4µBÕhSàíèaM÷°#qf‘äÇó "Ó!Ò]BÅc/….)mIÑ—T=‰,´¼Àʼ<²Ú€Ê Ê¡.Y¥q¨mvøh䨔h”hH¥B8 8Í1û(Ô• Ù@³ð">ÆüŠ µAœÕ4Ú¦uK ìücMBZ˜XÑ}}@Nb¨%r¡D9j‘#ëš4³ØìmV«é´B½[¡õVh¾n­)m…ÊQ)…ÒQÉ…,VÈ*Ó‚r–¢Ä1–á––`È­)‘eLkdX#6 ¬åR#]Ä —ÈK¨2CËiµ7”ªJ¾ÓÉ÷ùN%?hä© ¨l"©"LdYÿ‰·ÞO<ñÄOüÇøÙ¿§F’b²ÇG'%‘îRÙ]Éðì-mcÉÀ˜qª=rƨ§¤†ÁÖUAÀ¡’LÇ‚ƒýÌÅ5˜d˜ddD2à^yŽrÂA±(PXVJÝ"®¸¥Â¬ì2+=B_G¾©é5[.›[.›¸lÞ3;?e|ùŒ±sÅ8°fÚ †–ƒ‘m0]°ûìœB® ¦ – ¦Bc7d¦q\æ.Û”Š„¶À{¶Ã7÷4£;RË$³LÒ"hApj*))#I}/h>jä¡@× ´^~Rà×kFñ £ä–“ø#¸S^pŸÆÜ½ƒå…3áÒ™pL¸8Ò9YÒî­h;J¡à¸)ÏΦQÄ )Ú¼Ô §Ñè*‘R‘LòZ§ôTÔaAú£EªXd‘E©,²ïâ×Ä;›ûõ†‘b)¦‘b+1‡ïÌq¨Š+—xí2[™e8uÄóà_¸mmKßYÐWôwsŒ(g}è2;œ²Nºd…ÉYúÀyrÏÙáž‘2aTÎùL{‹ã%\è÷t­%C{ÂH™2¨˜z†Ö+é4k®üœòÀ•~ˉöˆ®§Іӄô›WÍ5B+‘í Ñ©H-ƒL1Pô_n1µ„@Û¢i•*‰p‰-›¬gP^ª4‘ÀÏö\êw\êw\h÷ÈVÅÚ Ø˜-ÖJ‹mÅ>b#¨fúq.Ëã˜$š€bUôYð¦õóyʹþÀ²ÕetYµ:,[]<5¤§¬éÉãþÀ‹â+å–s°DB,ìcÑ>~ݬ6˜2B ?'œxéŽûÙóK¶órSÓ~¹á¼¼ãܺå|x‡*JQ¡ˆŠ=>!>¢ˆZ@-XÊ>7æ3üs’¾}¬¤æUnèL¯†|ûì3’KûÏ(M­Ÿñùóoøtóåy…ú¼Dí•(²"Úxìï}Vw}öwE Ò\rÔ¶F^ä¥IVheI×^sq2¦Smкcq˜Æâ„­Ö"97Ÿ ùöì5™£²; ¢ä*ø@ërÅlÒa2î2w˜Ž»NAo¸§w²§wº§ru–²ÏJé³”}pFΔ ó– ý–¾2C¢ÊåëüKþœþ QTPVˆºDPJ\Õè‰_*«¦Å*l±·X¾kQ¶S[°ïZ¬Š°ˆ±I€†ÉŽ€‹‹]p¾`<;%ºvá{ ¨‘A8«AMv¦²¹h¡vÎIU.+Ú¬é°AÐP"¨©¨I•‡9]æœ2Ã1ŠÒ¦ÐZ„F‹ƒæ°Ùö¸û!$MBw!Úe‰vY ^hVA¼©9Ü7Dw ‡»†º,‘Ú†Ž_ÐûrE/Øñ¢ÍóÎ5gbLuPií÷ØÛuYRMÂÀCqF¦Áš.HP”Š¡;aLØ–>›…Ïvâ±½ñ©UN…ø¤A8 B‘ˆÿMü¿]CO<ñÄO<ñ³àgoü*RLB<%±°È4ƒJ 4#ůs:Ê’2åTyäŠ[2Õ`gv±Ñ 8äõØ`7óxøSMä(Ô(4¨Ô¦Mt‰‚‡À¦R`µ³ˆw-¦»!Za’Œz$#x¤#‡ }}Ãý†ßä×ú¿ñý ¾¶Ub{Àmb²k:L­œFRÕ$µt¦'Cvʈ¢=€ÐƒR…BR¡6*rC'ÒŽOž E¡ÕÙÒ2w´†[‚dÏ^õˆPõïØ²gèºF.5ªP¡zÔnàßj¤Ò ½N±^'XŸ&ôƒŸ„·¼ ¿ãMø-îfÇW1úöc‡ÍÆbðê–Ï^}ÇoξãË—o©[‚2TŽ ”*Ž›áŸx)J¿$vl¶'m¶½6½…ÔùP£ôTª3<)‰qh(Ç*ùÞd‘ˆûs¼õž3÷Óú‘SyOÛXÿdø2 4Â8 \ø„·>Ñ]À@ñzð–烼î¿åĘ`§ N–`ïbâÌaZœr“?ç/ù/™5C¾Ì¾&Ot|mÏ¥¼g$æ8ZÌ…þ@È1ÕK±Õ«Šié;º½5WÞ ‡sç¸ÏN†x2DSR !± é1å EæD†óQ.‰°PÕ UZŠjTørƒ.3*©‰Æ¯ûÑø5?Ù󼹿×|Íoš¯AŵsÉ­qÉr‰¬+D"¨¶:éÔ%ÐâØ†šƒôjÌ±Ú çú_þÈM÷’›Þ7ÝK®{W ’Ïöw<ßÝòlK·\ãâaŠôØ.ªq\½àAVL›¢Ðãnr…¾Ê‰]c—èÑE,Úåšgæ5_ þÄâOì¥Ç†ÑfK‹]Ób_ìëû* >¡éqß:¶©þ{Bj™¥39Ÿ<œèö–<ëßð,½æÓôš‹ìŽ,0Iƒ40I¥ÉýæŠÕ}¦_róÕ Êíת’¡ r*S!-m²Ü"ÍlZåŽ {Ì«Ñ{~á|CçjÍ7æç|k¾¡6!1ubGgì É…™Ý#8Ùá{®.®ñ“7ߎxûõ%åöŠÕ¡Â²R½Ï>ŸóüË…oq½D Œ˜ÞoB¼8<¶ÜŸ…„ۜݛ¯J¶_x­’Ñë5½×KF¯kN;[δ1çê#gbL;´Â=ö&A]VT3…ÐõÉMƒÖÆlz9ýîâØ‚Ý™3^ г!åtÀî;‰8Q=ò©@¾–W ¾’ÿ9ÝO<ñÄOüOàgkü45Çv¶hvŽcDjŠ*J¤¨ÐÕ ©V¨ˆ¦ÁΘYŠ–ȼA¬%"Ö 6@sÈ3“2Uˆ QØPÖÔ•JS©4•®†êÈZG Õ‚d©-êÇ6Ä*Ú/-ÔNƒÑ:`¿\rjMyf?ð©}Ëö{²ºÅ¤z†[%ˆJPV*E¥“Ö&qcS JWâ˜%½nŠ}T‘Bu8 ·¤1űR$-ºîŠÀÝrÊ#§ŒYÑeM‡]E£S4»•(uPv5õ\’?(N‰ýú@ÐÝ|ºãìôçû{> oùÅþwºg“÷xœœa/cä]NÐ^svuÇû;þvô?XØ]æf¹ÚeY÷°„ ½ÇQRZþžP¯©|›ƒ_S+*µ*QýË?¼±m¨V*ùÔ ¨ ¾K¤{4•@IJRÍDê5^½£BŽ!úÇö²(õÈV&Ûû‹ï‡(nMn^cœftûKúöuS£ljˆil³LܤÏùKúwõåѸ)}}ÉÈšÑ"*|±Ãc²ùi'_"mj)P_ßã4Š(1”]æHYlPe)RláŠ=‚\h(¢@65jS¢5zc4ZS Ö%Ѝ1dŽç„t{+¢jÊyzϳúšOêw|VGíBiJ¢ÊaöК5,Q’YTȪFT5¢¬eƒ( 5C8 †™á·ö$]ƒ}×eÝ °»ÚÑšSå‘õ|^|S¨…Z•$ªE¨¸äµ²ÁÐSŒ2£056j‡uÑ¡)u$©B…z/Qön1Œg¼H?ð«üÏLÔw²$“+Ùå –¢Ë\Œ˜Ë±îP¹*UG¥j”V‰*•;EVH³"oëÌ;}fvK=Ci Õ)¶s¡>pPÒá mÂaŸ’/ 6w]îß^RîL/ÆìĘƒ™ÖÔÍq.NÖ5žÑQ6ŒÜ}æì\Ÿ½ë²ó\2[EŠš“GqÊ„!—òŽ+³¢,é–K’mÃöAaç öF祜g\<ŸqùÅŒÔõ g>Ëyµ*¨ åø}›ˆNµ¦]8Ì)¡ IDATnøP VtùA¾â[å ±!`CPm Ê š,ÄGè‹9…hX—6FÜBîrP+Ä¡B¤5²hUƒ Ä18¥nÂÂcVŒ¸ÎŸó¸='YÙ$‡dg! šÌ1‚ã2ÁøEB#e­²­[¬wr©#>VÏ ™s(5"Å&³TêVl* 7Á6Ce‹'r\­À4TÛ£vú¤UA‘â…œÖÅ–do‘g:%*I‡òeN=N‘eŽ~Yâ(%_âz{Œ4†CAžA1kÛ'ßÓU Ì¥r\÷’didâÚ!M )ºcW[˜‰‡ºÍ³µÕ [5ÆYñ«Ùi8´ Ž)NO<ñÄO<ñóãgkü:ÞŠOžnäxÁ1-ÑÓ÷èdü5|Þ#®mÊ…Æ|2â0ñxœ\1~8còpÆö¾M½UP­mP¡·KôvN] òH#4ŠÈSbœÖ'1úi„$#ÓBò¢$[+è´ˆ®—ÐíŒé ^hë+*C0Ó{ì¼VPê¯Þá©;.µ[.”[®š[Q©‘åq‘îÙ.aêe.)"¨ÁozN†GH› } ™þÔöº# BÁ©I‰^á•+ºÜy—Ü^’½¶Qí’ÎÙ–ÓÖ#'ú˜sùÀИbÖ ©Ô(Ê€°ö|Êž‘ ®ºì¥Ï£8ãGñ‚÷â9jYa‹[K±­„L3ت>;¾ÎŠËÉkn6Wì'e¨²xÞã{ù ´kN›j§ü¤z¯[f;5²]#:u!©CåhÎC…@ì9±&œXcN­ ’XuY¨}îÔK•3¥B“C9cÄ”8uH›8vØ$=\5FÕftÔWê=í(d­x^ݱßâ[!§Æ†ž²ÔÛ„Òå¾9ça~Îãìœy9".2Í@<«Ñ®RT«@1+„ÕPë’y8`ž0IO˜„'LÓ!ÓÍé〩=DUÚÊŽž¶by:g¯8ÄÒ&Qlbi3«¬Ó%-%cdUPk’Z—Ôš¤ªâÀ&Ø$çÇýŠÊE…Ö+1›kžáZ1-cOl¬É )jL5Å'¤#—ìë€Èðˆ<‘7ørœ#{TQÖûÈ#Ü{dÒfÞ:áûÖª–¼Õ?¶’Êc;©BMlØd¾AÙWàBP ÅV‡o¡Þ*xÃ~oI»·¡Ó_Ó²vxMÄ:oñ¯ÅßbT¹¦£h5¯µ¸RîY‰+Ù9ž¢Ü5$;‡ÅnÈÍîÍcEŋޒË_Î0†îUŽÛ)¨5•¸²É“b§Ñ,$Yv¬ž~+¾ ·á:ÁöŒ]à#õ’Ž¿âJ»åªºå*º¡V¡Vë!nÕ+¦FŸepÂaØ£º 0ƒ=½àÀ3u§ùúñ E)ŽkhÔ‚CîÐ,$ÅB'™;DsŸ|jÕPAh Þ'ÝÓ9Ý`AW]<¶›»íG©&vCnÛlí.Y¤23Û¬Ï[äiMÉ)?Ù‘=ÛE)™nP¸u["‡ ¶ã¸!޳ÇñBôW9ú«­_PJ ·UÒ{±Ã,f˜Þ ¤It(–=~ü}—{™ã§ ütŽŸÍ‘iE”ê¸Á„ßþîŸø„wìú>û^À®çsè8ØJLV˜L¦gìæm–w-–»6-êÀÅ tœ-]sKGÛ¢«;Žƒ³O<ñÄO<ñóãgmü~ùìk 5Ç7vÆ–@ß¡Rüµm‰«ªG¾0˜¿õ(¾5Èÿbí=ÂÐ# }êP¢û æY…ýºÄ~SÖ*ñRÀB£ZZ ̳ÎY‚sv@©¢,ã°.©nU©Ñ1ö\¹{žwv\ ÷ÊŽ@ÙQ*0W{l—¼QPš·Ù13®ä ŸÊïyݼÅ ©f’)&™a°«–eŸyÕgQöÙP¹¡Qè’ =-6ôX2dvœÑ!@¡¢BÁ­\\÷\å÷<4çXnNvê0+NQì’öÙ–óö#Ÿèï8•Fˆ)cRC#o¢žOÒõ){Þ±ýÔµA×r¥Ç£8ã­xÃWâKªR9Ghš]R) ™ª‘¡‘—:*žúÑ–‹ÃÈ)OUJS¥8S©™&Â0i Ae¨Gã§r€ ¢AP#idzÇÄÁŸŒŸÇ}ÿ’pãq>òcQ¢X%ŠYRå¸ÏjÝgÿÞ§œ«,”´k6Ïî3ª•F¹Ô)ï4Ê; yZ"¯ŽKÈe§¤ÉʵJ5Õ¨¦*§bÌ­o-A¯µGë.K£Ï~Å£~JO]ÒWôňIzÊt«“læÛ!§æÍhè˜;ž”‡)qvG\;ÄÒ¡ÒÅ1`#¨YúmféûÉ9ósÆ“sæåêcè§5Z+E•9R–QS5 ‹ºÏÛè I¾à/ë/ˆ6"q”ÑÏéW Næ G¤Y³‘m6¢ÍZ´ÙÕaé#Ë‚A9Æk¶”ŠB%ʃ͠Ívß¡ÚK’ƒ}Ü%i•MµÈqݘÀÛ“ “B×Ðe†§†täšê²V:,ô ·OÕȪ¡'çŒÄ”‘œ¢ç9“Å)ãùÙÂâpð˜ŸP+¬Íï•´Å–ZbK‹í_ß@¥9Ô±B±Ó©w åw:ÞIDï³%Ÿ~þŽO{ßc[1³ü„#¾/ßæ&Ú=çê=¯Õé(+ÞÊOù^ù”­°•m’½Ãr2Ä|Ì1Æ9gé—å5/z×\׈ACráwbÝ%.ÒÄ Ø«Ô+Iv0™rB*-&ò³JÙ4[5`øˆ ¤­­y®]ó«êO|ý‰©1dlŒx'<ª',Œ>K¿ËaУº 0íÝàÀ•6á‹ì-½xI¦ëÇÏ£ÔHs“f.)~0H~p‰*U9Vy*œ7xÏCNN§\×\©7LâîgWäwË;ƒnPt,¶í.ãö9U%9˜&‡3“Ü1Qå¹G6tI,)¡6…«Q·$bXcŸ&tNÖtOtO”m…ª£R¶ ©Ñm•œ?Ûrî>r~ùíºÇ‡MÀõªËõŸ‘TôdŽ‘NΜœNøäó±0qN;'Lœfætc’n-vóéÖ$y4‰÷&1&obù!gË…yÇ•z‡¥$Ü‹-pöŸ{ù=ñÄO<ñÄÿG~¶Æ¯ånøüê/èäõŽV³%hv(eu4"E­1_°zßcñ‡³ÿó!¤¨¢A•%–•ážgø¿Nðþ!!otäƒM}¯=šQ£Ÿ†8g1ÁÙ5;À ê;Aæ)°ÖiY gî”×þ=¯[c**¡¡1C6dBC®ØÑ­gœ•÷¼¨~ä³ê[±£VŽ•“F‘le‹ιç‚{.˜1à€K„׉˟€-ífòé£79¢n( ;O8Í'|ž¿åËì/¼gAìzŒGèZ…bV£ˆ‘7ã™zÍ)­Ah ©0Ø Ÿ¨ã“v½£ñÛ;à™`üÕø¤ÃLù ^ð~I‚M€*²FÈI(*üzϨšb¨Ç_º’‘õt²F&4ÊF"Ó‘@“Jš\Pè*¡rœáÌk]äèh¢@'G "©‘ûeY“dÉúŒÇÍ9Í^ ¼ E/~’(jêJ£Þ©Ô*Ü5lñ ƒq3@33òÜ"[šäï-ò?›(a¦ehí ­É¨ …j§QM4Ê÷:¯Ä{´^M¯·æevƒ J"Ûcm÷˜Ø§L8ÁmŽsr#9eÄŒ2ÕØ†]ò•Éj1 ³m»&°CÎì z–ÓäÐ4Ç×rí´˜uúLûfƒ>÷ë3¦çŒ—gL¿;c•wÑ™¢Ÿ¦h—)ÖU„VdÈ¢¢*$ij2‹¼S>áÅßðßàN%M¤‚&/÷,ì‹Ë‹“.•+™6#f͈i3"m 4 tQÐeñ1ÌC¥@£@%­-”¼¤Éy¦Qe ú¡@=”(q2=«°š W9š[t5#;2å¸Bb® Ð팪Dƒ¤¦+æ\ˆ^ˆXQоÏ)í¸ÃzÖgÓtÙ[w ´:ã\W¿E°V;üP¿b+ÛT{•j¦QßhTïU~g[œµç\ô·üCû[ª®ä®wƽÆŽ.aê’DÅF£žCéÌä¹:<ÎQ* Ò¬e ½rÁUyÃ/²oø»Ã¿ògëì-—¤¶¹åеè9>‡¾O}éa VÂ…6ãMù#ÝdÁ¦i±Ù¢É$å\#{oåp¸öàœ£F œW8ÃýáœçÞ5Ÿ©ßb¥)ÙÒf}݇ïbË&ºˆ!Cc SÏ3Ac)Ô-—²m“ZSQ ¸ t+Œ"Ç}ÒyµfôjÊèå˜H¸DÒ#.‰Ð±ýšs;âWg3~U\só#D_Ã÷z|øú5Ó© éÒ9¤sNz÷üWçÏ>»ç³_}ÏÕç>(/ø <ÇQö(Uδ>e¿ ˜.GÌ>œÒì?>@€–ÛбBε)ŸÊpEÈ#üO»óžxâ‰'žxâ?ÊÏÖøÕHrtòLç°wïÎ;h2A¨”‚„Æ5Š ùÀ |Ö‚uC×XÑ3—ô=s‰ýI„ùiŒÙ1´˜mÓæÁ»à±A.4ÒD%O2¢Sê´4¡\JtWÐùD¾©aä³—¼ýÐf½ü©õíß:{×#sMl7¦ÜÁxÞ¢Y—t ~?!Äýœcú^%’5*UšÊå¶¾b_û¼¯^2YŸ0YŸ0^X®ÛôÝ€Mà³ \öÍA·HÑ)3…&$©ÅÔaêoÈ4ƒa>ÅÓ÷xzˆ«ï)¥Fj™”-z ©ŠC Í±ÛÉ€®¶æSù íjK¢X?U€JEA65ZU¢–%jUBZQ…UX³ U aö,Ò¾JÝk0ýGIzƒ"¤zL¬ A•k,÷CZú]ßàhÚú»•`¼È°³× ‰ðHú6©b‘Œ-ª¤©ꪺFKrüõÇMq~“â|ž`¿8à#œ&œ&Lç'L—§L×'̶'øÑž^6§[Í鉚Y"Z1PIühO»Z²˜´øÇ‡¿¥rggÔ§5—§7 ô)ϸåYyóò–n³æÐx,Ÿ}×'4]l#¤1BÃf¢( Ðñˆ²c»od9›È²9(6 ¥ÏÎôI<‹ª­`)oÊИ0úÕœn±%J]¾NÍûäseí†Wò~kCZ˜$…EZ˜¤…Ig´B^”¬:ÞªoÈ:«mÕ¦ÇrÛ#ËLTYþ$!J¡P •J*4B É‚ ñÈ y‹ANo»„äÝö ë]È· —}Ëc¸ØzL îÔCe…¥ç¤†ÍVï R4¸Ån±á,ŸÒŽ·”=ÃW3¦ƒö¦Ï.ôØë]»„€e'E¶ÊŽJf›Xƒ˜«ê†žµ@A[h‹}Qà¶BÚgÇ¿ÿŽ´2x7ÃÝì’hîQ%’øÄb}Òbì qŒ=“zÀ¦lç.eýqέ]¡>¯ÁËH 甯Ü_‘8:¥TXD}aÅû>‹u‡ù]‡ÝJ~#ë%Š'PÕí’¶ÜÐ’kÚõ†v²¦¿S¯|¿î±^ýŽý7ú+>ç¬õQ¦E¦Ót%+¨ú‚¢­y*¡î2.O¸Û_p¿9çn{ÉÝî“ò”ƒéBÀ1¸GrÜiw€,5 eÕã‘S×Ä9‰¸*o°˜JWPZ²U#[5 6›¸Í6n³MÚhjW†ŒšÏå-=mIÇØ1̹â–U¯{|à´®9|åðá›W$“´c’tçDŒðÙcŠ¡5L¬Sü¶€r¨¦4hÒ®ÆãKƒ¿ô;”ú£rÇŸ½ð9HCäèvŽÚ-PŠ¡•ð( –Gx6.³Å ê¤$íšXÛ„M|ϹóŸuë=ñÄO<ñÄŒŸ¿ñË öË€ý}Àþ¾Ejô.æô/æô”9®’;ûAÀâj„H¡ë­øÔÇkÿ{Þøo1G1ò¤@J­à±9C÷2rtVV›ta‘?æ4ãŒì1E‹ÌŽ‚Ñ–xÝQŸeÜfûAå‡o•ãÓnKPÛÇ'ßÊ BK”a‰e%T;˜\·˜/ùæ»}wÍÕ›ÏÞ,xæ.p ›…!ÖL8A£ FR5 Qí–>×åsê\²{ìß»„?ºìß» .6¯|vŸ¸ì{±n‘6:E®RG‚DXÌôrÕ`¡ èsNÜ1'Θ‘£É’Ì2)ZõP“ûü?Ÿ²âµüV³åUõDdŠN¦iÇ™¨ªÂHsŒ2ÇHsöK‹»ûîGõØ4>òµ‰|£"õÓÏð•Oð”KKY¥]Viï§S·KZÎ׉h ¼ Äzy4}Á³-›¨Ã&ë°M;c*ÑiPšÃq>Òï¬v—Œ.— Ú+Úö––µ¥]ïp§ßÍ?çÛeB±6˜oGøÑž‹ôX¡}!À5c´V…VUhZM<3ØL|“6ï&W¤º†רzÅåàG‹9+Ç5!(÷Dø„¶ÏÖ ØuöY<ˆÆ.¤‚Cc³vZL†Ct#aš Y™K™éG3Ü.Q½å¼$S5´R]ãA;¥Ü©„3pv u‰fÑBr˜KŠÅa$h#Ù Gàu2ž7<+nyVÜpš>²™il®U¾¿éñO×#ÖÊ%å’µzÎZé‘6e[£ìhÔ]AÝTù“ñk¤Ë8<á]ô)ß…Ÿs³~ÎvÛf[¶‰Mç˜k P@sd‰N˜û,ë&1ÂkpNClçÀÅèö8»j•¨Vf–¬â.·Åsnòç$+ ¿ Ê9Ïõ[ÎÝFÆŒÍð–MÐb}è0Œ˜ŽGÌ&C¦Ó!åKâ¥rARº¯à+´«`_lþÜfùçÛë.»·š€ãþ´gK:Í‚®½ Û ‰÷0¿n±þC‡õ?JNÚK~Ý \Iç*Æ!Ç&Æ#D¡"ÁB¥¤FbᲨû,‹>‹¼Ï2íQ?6Ôß@ýû†ú ë_lk]Ï#ÔºIöï¿HTÖGÓ×G¡¦S­xU}O& 43ÇW÷d–q4~yüki}üþÝø±¦%v¼äU¥h±4‰u“Ø4Qó;˰Ë;IyXöøçß0ÿÓç¬þ<ä¾òqCǸ' ¦Hé(+Fʱ²]mø1ÿ”"×™ïG¬¶CZÁÑH-¦oÏ)× ®¶ì«Îdˆò¾¤øQ#œø¤:ͲUX63Ãÿûg—w|ò›kž¿¹g°[µ_Òšîpç1ÅÒ`¾!·5~´ç<}àÕ7üVü޹Á 2,5Ãr3nªKþõá7¼_ò/_ÿ–PqxiÜðrxÃEuË•þÀ Z2,— ’%vž°7v–ÏÆl±1=ÒÐ › šsÞW¯ø±~Éûú%Ç•ÊQ¹b²3÷XñsŠ˜‘7å3ã-ÿEþwFõ„?ÿ ÷É_G¿æ]ü†ßùÿÊïüßó‰ÿ=¿õ~Ïœ!SFÌšã¹”=Ö²ËJvYÊ.áÁ'{¾s9|íQ®tÐÐ@è|lI„FTð.ºü]ç÷|éÿ‘žÿ=ÿ:íòýä5ÿ2ù;JK¥qÄOú•ó'†ÎÓ)8·ÇxˆIu‚¯„hn€›èî6œm¦<Ëoµ¦Ä“CÛb­´ù·¯~Gu­±øvDþMø»c ê¡e³}Þâʾ¡g.¸ê^ó¢ù@/ZìB‚}H° yÌÎùçæïù±~Å¿ãvwEu§PÝ(Tw v;ëA›q5¢1+¦ÅMÕæ¸T‘êÔ( ÝÉÐí„T¨<4'üþÍß@“–æTQ‚¨ÉU•H³ -Ÿ±ú±â§B[…Àß¿!õký’©_¢è%vs*Çœ*cN›1±B³s4µ@ñ İ@îUê1 $ñÆ!]X,ü!Ò®NƒŒ;ÿ¿ÞsO<ñÄO<ñ?“Ÿ­ñ‹—Ûꊸt˜&#Vaý& ZS•¤Â*|Bì&ƨ3Ôº‚j)© I᪤8WدLö‹ÝÁd¦õI½†¶?ãsïÏôŸß°kÕì:>Â4q:ƒVÄ…8÷2¤Ê3v»šd!ÐtÖhmÐΚQíbïRxȳg]àX9Ÿô»;ÎÏ×xíŒJÓˆpÿo!&â§½u)CfhuÜ5Äk6’ÃÒƒïK¸-`^¾$Ž Vy‹Çê„–Ø3/»Ìᦤœ¬±HŒ˜V+¦¥&J„›ï¨·*ãä‚™,ØÆ-t™sÖy mmð‹Qèðýú5E©ßüuI¸ f“`Ö1­jGÓH Uget˜Ö:÷Öõ«æŒC6$Oz¤KxðA€Z¢©¨’B5؉6“Ù)ëY—xæPÎT§«óÍ)ŠSi aL L«s~zÏ ^P;À°€]Øæ8zÈÕËG®†\ÙcΘâi!¾¢×)MÓ€ ùÑТF&)61M"Ø.ZÌfùÌb20OÔm•öç;L3C¿¬H<—iyF¾uXìOx w´Â=Fœs#¯¸Q®Ë3vJéBæšìÝsoÄ<ð3ÏYG}\%Â2W ¬%gÖ#ùÎ@—Tcð±Eži¬ë.wÙ~¼gÒ:ámò·É3qŸ¨p) ¥n°DJ[Û³º‘Á6ê0ŽÎYÖ¶lðÙâqX;d‹,5É}JhPq\mQ€Þä´Ü--gKËÝÒµWœ)cšDð0=§˜i|»üœëÕsfË!û­­Æøú¯âBF͘&ƒñò”Ë~ÇÖ x·|ÍdpÆaå„ÉòŒw«=ÚªfQ°þ/öޣɑ,ËÒüžr FÜÝœEFFDfuW-jæo×nv3Ó3]Y•‘™A78QÎÞ,àÙÕË®–N ûDŽ<[`L޾{ÏÇÕ1=wE+ÛcWš¨iT…2ÕQæ6òƒB¥é,Ü–Y¢šP[I~Ëqu‡ÓdX"£«-9׬i“ ‹P®ÙtC¶Ùç“ÐR¢ k´V‰aØ"¡«/ÈM µnØ‘Kƒ"6È#ƒ\ÔÆQÔ¨Ô(XËœ Þá1þ“Â’$kH2IœI*GAš¨•Fuee*ÙˆYŒ–IvI‹é¾…0-&G{þ³üÈzW°ÝI6;ÍÎÁÉ+|8A;fhNqw;–KŸ?—_Æ6?n^r½°Þ´I·DìKØWP6ˆ¾‚”®‚ÒƒÚ¨ˆ× «TP}RH\‡Èl=‡•×ÁR t ôÏžó퀻Ří}@y-h*…¹Öå½÷ §3—=*¡Pi •¡k6·ö §ÇÞ (]“–½&Ô7„Ê!¤G++”º¦ÊMn”Sö›€Õ®GyT‰†‚DÕ+´àPU#©s…úA#»4¨¤å¨~ƒôbÇg÷Ø$m²ÄAÆ*æ4ÇR Ì“SÏ1Ú%úÑgJ„Õpmn€îßpç{ä‘Gyä‘ÿq~µÆo'}myi±-Úl³€"6Т5­Ñ˳ɰI0«ü0Ã/i ‚"׉‡•ÒâÁì³ßêÜ]…Ü_„Ü]„”¾‰ñT%|:c`-ÙÙ>—íWã>å³U*h/·#ž›Wôå¥Úå{–IQ‚¡(x¡‚{*p¿PÛˆf¹#ºˆØ­ zrËX]3îo×´û îY7.ÁVÙb“a‘bS¡q˜ÈW2æž^½ Úèì®Cf—c¸Pà ¸–°­A¤è, ¹f‚†d]:L#ý²¤º{Àkv0» IDATU+NÃçÍœgÖ ×ªX—mVI››â„D:˜FŽif< ?b´ ÔÛ†í4àÏ·_óÃí—p œÊƒ|sÇ©¼ä´¾¢UîɤÉJíð`yЇ\·Æ|ôŽ™ÚÇdú„&)vî z+(²†ÜvØÚ¬#,-c}Ýa}Õ&ºòá â—.³j@e)lû>µTÈ¥IÞX­dtÂ5ceJ;\cG "­J*,%eÐ[ÑﮈíÝUVhzMÙÒ(\Ÿhj“•­ÌŸB‘ðyþÙ. ¸¿™p÷æ˜û·ö¹Gá*(cÁ“7‡>ÓŽAÜ ØV}>Îö:ÃYeØëm[³,:UÙ!:j±œ pŽœIÂ~é³¹Yß·ÉîÚú–^{Åyû‚×íŸÉ# í²O³O#ö™ÏÝnKXÍ;¸­˜ûúˆ»z¶A‚RH”²A«ô¦¦¸·ÙÜu¹½;åÍÝoØT):  :…ШT•RQqèûŠ8„`D`*9GÁçƒ<|dìÝÒ×?Ì¿äë¿ç6špMXì{ÈHô¶×Ÿ\19¿ÁØ–È+…‹é>]?c­…ÜGL#¶ƒ6¸\<%_ØLçGLä-g«KÎâ NË ‚î+*Л Åj T)& ÕFgÑR…&›°ÃmxÂyý"µ±Ò’aºÀ1§æŠUÓ7g\9§|TÎù`S‡*qå ŸVXý ׉h‹ BxVÄP}à™ùéjÄt}ÐnÕ¢”:PŠ  mv77<]òdp¨ fuȬj1«[lê…4É+ƒìOþ³†Ú@Ô´¸­Oè5 ,¹Æj­y,ùúõ{>]oùx•óáJ°|mÇ©5åÌ›rÞcÈ‚b¡0¿¹½é°Ù„LËSîË1qiCÞ@T@”A”!dâé(¦†:ÒQŸ(Ô‹œdQRÏ+¢EÃzèá…ØGΑ†fHþÍÞjÔìg.³iùmìREi·îz’eÙ£#V(Tj**¡pcŸrßš |8ôkžµ>pnà\|`Uµy¨FLë!ÓzÂnÑ"^xÄ+—z­¢˜5¦Ì0­ ³“"tI¾±È¯LäµE³Ñ‰{¢'È»‹VJ´öˆÖñʧYëØöž¶³¢s¾¢óÛ^á†1në U¯ù'{Σñ{ä‘Gyä×Ê¯×ø5ï«çÔ•F‘[ä©M‘hq‚šÕEUç82Ŭ3´¢DMëƒñËtâÚe­„<˜}¦‰ÇÛ«!ïþuÄÛ?Œhõ^E÷¼²ïyy|On{8¯(Bæy‡,³hM¦µ#^X—É+ÒjÏ2qâ嘊‚ªtÎTÚ¿U‰~ÌÙ^dD?fì¾-ðû;º¯ïøí«kþÓëk¼aE¸$Cb9lñÙ²¥Å†…SFLò€]§ì7-®Ž°¿Ïá{6Àºm²$AcIˆ ä¸ÄñwÍGþÞþ„ik|›üŽíªÅÍêŒi9äÉðg£Oœ…ŸxÜ<œr½<ãæ‡Snþx _K¨$øŽ%_‰ïÉ“ Úóœdª}H>4ÎùIyÍu똕×aiuIRº{¨îŠ€x-ÙT¿B j«¡|¯ôNG¾ƒ¸p(­!›~Àm1¦‚ºÖ¨ºÖ˜ˆ[Æ­{ÎÂO|ÁOôåQ׈¦A©ôºÄ«¼:Å«¬}And¶Af$ºMܵɃÚVA‡ž'…_†_ïöŸnžòÝ÷ßðÝýl}sÃÑË[ž~s ¸)N¹)ûÜ”§¬æ=Ôy:kPç5b!)¶:åÖ Øé”{õ‹ú ¦Fõkªíð¾ßÞ»aUôÆkÎÇüÝøÏ$©CúÉeþqˆõ1g¸[NXκ¼»‰ÔäªI¦ZäšuШ@­$Z#1dCùÑbýsëŸÏøù§ß5Õ/j:òLEž)ÈãÃ5`Æáz`ÉŒIpËW£ïøû³?p^ñ—·_óÝü+¾›~Å~óKpLVZÈRˆ-§­K¾<þ _~ù=ËËï§/ø¸~Ƈ·/X—òIÖ7ɇaÙùÜá~>áÇyÎHLùOûA-kÆbŠ[Í~1~ªÝ@jy‘P­uÄI1´ØŒ»hãý¨"-¬¼bX,(rƒ¶±æÔ¾b`ÍøMð×Ê1ÿìüu¨2öIj½[bw3|;¢-ÖxzÄHRZ:emðÓú ÔuÍîcHþÑ¡h ¤zøîHUàt2NF7ünô-ÿyôT·äƒxÊGqÆñ”»­ÍæTïMò>ɽG¤¶¸UO1´׈ùzü-_ÿÄëñ{¾>ú–ý.Å4`Û\ÞtÔN­w|ã½å›ö[â­ËÏós~þþœŸÿ圇ùˆÜȹá ÄÄ1Äh)ʉ‰j™h#í¥NÄ‹’èO5òO êÓå‹jÜEU;[E‚ÃC‘j.(îUŠk…üBE•›î˜ÅqŸ7å˜X$‡êT¥dkuØ„möÃq*è V¼ ßóÖ?óâŸyS¾âÙ#îÓc¶óõR£Z©Ô ÃË1dŽcGxí=Biˆy)(ÿÅ$¿Ò‰&ÙÄa=é¢vê•ê^£šjÈ©ŠõeN÷«%'çWL~{M×YÒÖ×´µ5m}.JþÙ™¯ÿ&{Þ#<òÈ#üGùÕ¿|%X§ÂN ¬k%Åî—xV‚tJv©Æíµ‡Vu¹¹n±ºvH¦:¬ é:,ö=®âSô4gZø|¬|dÀ¥:` ®©9…²BS*3ÇnUØãhRØdU‹õ¬‡NÎvÚ!Ù”• šŽ¬UšX¡^©TS…â¶"»VI/¢ È„ ªx Ú±Š1l¨õ†F¯¢ ®2 RJiPb"¥ {B¹¥'WØIBk³Ä™-ÑoWp¹‚¼†¢†F‚©¡C­q” OFPK¬\CO5D¬C!ª¡ä«]¥( â•Ëæ²Í&éP7W¸VÂQwÊ™þ‰Ìr™ºGÄÃ}gˆl ¤/‘6H‚rKg¿¤•nñ³ˆÄ²¸ &¬Zâ–®Àë$˜ã†Þ“ˆÌ°ˆ-›8·‰ï-ò½:¨R¥¶T¿A±l?Ámרƒæ0RÁËÑÍ]äˆFN¢ (`¬Ý3¶ïéÛ3:ö’P[ÿò£T •„X!N<’ا)TÕ"Õ=G‘épÝ>f5n“?5ÐâùÒÅÚ™*#îä„ëú„«ò”‹ü †Yà˜ƒöÖqŽ6¬cöjT#3A"JtŠÆ ªôCJjÆám"i…D4¡4ÈJ ¹È™‚êHl;#ð÷ô²%…Ü32§ŒÂ{Æ£;²Ì¤ Tª@cïû`ƒ¥f„ÊKÍðµˆ~3‡L0ß ø¡þ-o§¯¸¼ÂôîˆÕ],S@æÐdÐäXM‰ÛÝàŠ%®_!A¡†An„lñO¶Ø“}œ#‚e[£ì>¯Q…Ö”R ‰5ú°GRV:ÉÒa»i±ˆûÜ—G\rÆ^ ºS"¬]­Póµ> ŽPE‰Ú®P¼,‰¢7øÞžqoʹòÈñˆ÷¯Š\*M'Uø¥Dµ%vôËírWD ½ 5?ô癞¾Ç.ô¬@Qkh@ Aó¹üº–*U¥“—&Ea’&j,iå;Žë[*{Å'ÖÍ!ÖC j£“eÑÞCSJrß¡òlðMÔPÁNJäf>—¤Û„L±È‹0×ûtÌCkÁÄž±wîÉ»!LLŒ¸Ákbìã µÕf‘.v»€uÚaAŸ©=bn÷‘µÌTdR¢5)®˜ãê ÜöËÛS ª¾OÝõ©Ú."Ü@kƒÖào.KEBÓ(Uû´…IAÔUE“×4QެуAtí@``ÈšNwA§Ûà({|;Âpk‚^D~² h,Î:—t”5ê¶!þä±ÏöI‹}°OÊÈÀÜgøZ†ÕË0Û)V/Å L?¥©0¥n)(‚FU©4htAm44UMe4³yYÓí¨ËœÂ†b` ØOÄ Äœ ·X¤¸Jú7Ûóyä‘Gyä?Ê¯ÖøÉëŒêŸh MÁv쯮’S57‘Mú§#Þü‹Îõö”ëmÕÆAnaúÜ…ª¶ÆºÝa[YÌ€Õó€Êô)C“ý˄ŠãÆ<¢]Ë£‘ÛŽ©÷ Qæñqõ”èÎÅÙEÜ\†Ü¬B¶„ÈV‹ã2;c&ÔŽz˜aV ¨T(5|¶œŠN•)§ÊÍnXCVí6ëÓ¡5hœu7àm眹ÕayÜÆÐžuÞž/XË6Ùf-CÖ²M£fJŸæZa~7d³ ¹[L˜«}ÊcáH”£ õ¨F9ªð¬=ƒxN?™1ˆçq˳þ'ý;Œ~FÚþ’Ÿ#ö—\­OÚœ’®mjU…xv‡ŠOåSd)˜}†ÝÚÊ’¶·¢Ã’½â3Ïzì×åTG¦‚²ÖÉ4›È÷XË6«¸Ãz×eµí²ÞuÐã “’×ÝŸùÚúž©:äZ?æZŸpc“”×é ò –oz¨^Åú4dsÒb}Ú"7L¬AJ«Úaz<Ì«Á/Ú5-ævŸŸÕפ;››ê˜EáóÐ(íÝç%ºa²vŽx,¾{F\;L›˳>ôL¬uM}ŸQÝçÔS³ˆ9ê^qÚ½â´wIo¸bõbÈêlȺ5d£t±û ¬× l{}¼@í.PGw(#uà°7Z¬iÿ¢dg{ ¹)ÉÕ†:RaZÚÀ´Û’îùœ'çŸxj|bìÞÑxÍ@§§¡d‘KÞ_<çÛsn’c.“3¦éˆ2ѱ­„~8£ß›Ñ?Ÿaö2äšÁ¡77-Ê®Azæ¢Æ b ÑÇú8ÇçèaNQf›œÂÌ(Ꜥ¨Yä uÒgu¨[Ɉ–Rà“úÄ•ÿ•;Ý#<òÈ#üÏãWküš«ŒêŸæ¨!˜/!x% _–”o3nÞ:|z;¡¸è7'D²GÜ8 ! ªPgÝîpÙ~BѨd¡NjTÂ7Ø2æÃÏjPõš]àÓXàt"ªÂþÂ%º{ÆÅÅ3š…(2‰#ƒÙ2Ès¨¯Ù½`«Aµ[Ríªm…¬RÅe¡)\>Âpl,7SÆõ”°Úá6É¡tQjTR…Z`T9FU`–9ù^EßD¨ÛÅÁøí|0»`vÆÏrq݆‘±â¹ò‰¿k¾å®¶Éšcæò‹LØ,Ô6 Â:BÕ\®³SfË>é……òÐ`Y9AÑë­ufÜ»s:O—„§+¼zCåjÔ®Jí¨Ô®Brcsy{ÂôÏC¾ÿöKÚƒ5½xNÏœÑÍé:kÂÁŽ-í`G<²øöÃ+Ô¯ØlV˜ã_)hµr‚Ówãf1ná¦1¡·¡åniyBkƒgXU•XÛ‚Ê8œà%¦EÚXìñÿÛó>Ra3ÕG<0bªŒYÖ]MШ 4R!-2Ã"™˜¿I¨mÁÆ ¸vIT‹­2 Ž~1~ÒU¨z¹w0~ªZa9]ugíé˜K¦Í¥®)¤E„ÿW#ç-PÆ5j¯<œhú•«S:Æ!mÖRÿýë]0œÐX1ѯÉu WÛ±ÑB6jÈF Áóô=/Ów¼Jß3Iïx¿{λí Þí_ð~÷œýÚ'Ê<"áÊZi W@ªPiø¤<Wü^üÀïÕï1‚ëˆksÂyÄÎòÑÌœµ[Ï±Ô [O±; çO–¼Î nå1·q+‘4ÔW óË>ó‹âR56‰îè.屎è7¨'ÚI‰vZàû&åçÕΫ÷œpMÛÚж×èVF¥+´³%všp–]‘¦.ßNý’67ò˜:ÿlü¶@ »ò`üæeŸŸ«× F{W¯8‘WTBe–Œ_q§##A¥kdžÅ¾ç±nBnân§\Oϸy8å•õ–Wæ^wßðòè ͧüÙøšÆ”,djqõî„Åe·ï¾@u+š¯Ml?¥5Ø1ò¦Œ&XIƧä-©H‡uÒaž÷É2‹›Ý1žƒä(½å¼ æ4“õ¬Å|fR°(-b Rž©0P±vÅŸhjš‡3_sä_ðÕ“ŸùýËŸ8;ŸrÑÂeï ­œ[¥!ìÏiÛ3Ú“í¯ç–D³Awš-˜+n8æ– :ǬW.ñçÔßJ:Ó᡽€kýSF7™ñÔøÀ7ƒ¿ðòèŠ/Q(žDôï/^ðþâ9ï.žóþâÛ¨Å>õ‰R2ÕiŸ¬~9åÙ³<ûí{ÌaJb;Äö¡T~#BÒŽCt–£*5b'цv?ÁDnDºwQTIRgmöÉ€ibHÉP]P*¶Zâ‘ ÕÚ¯x×|ä‘Gyäÿïüz·°eA³ÜÁD¢j\£!™³½ló·XÄc>©=ÃÍ0Ì cœ¡·Œy ÷1¢ÓaΤËÑÑŒñ“ £g{'aíd8j^VØV…ïÔ´G =¥Á( ´¢BËKôäp’W˜*¥¡Pš*fË&iCÜ“$CÈRƒ¼ð)6ùÌGYƒ-îÙš0]Òs «ÂÐ+t¿B+¦‹!Yipó0á?}C‘›Ðn£H0êŒÀÞ0L9}v=HØã³ÃgZÕ$ŽÇ®ÝF-+$J»AíT¨A‰nT~ŠÑލúŒñé™$M‡xëÒÜôéÙ}”.s5d¡Ô¢¦H lóo¼÷=òÈ#<òÈÿ ¿^ã÷¹YG I“3h0‘è記(蠘චï@O‡‡tK »ŸÐl ÌÃI’¡ˆ¢&-îÊc„&‘Þ!â_ñ,5#ó ´a…²o†D3Kt³D3K4­¢¼Ö©ntªk21 4¡@§ŽNäìô ®KŠm‰ÕÎéu<¢®EÕU)\ƒµ²V[l”¶º¡­lh‹-J]¢M4,aâu\Â-3§eÞÓ2îi™ðôè‚Éñ5Ö %1Òv@s àwLÓ¢ÿ"ft3rbÀ¦ê$§ëmI>´Ø¼lq}:!¼" tnÍ#"ÃÃP †<îë9Œ›0HpP¨‘@J¶×Y\tP´Štg±9j³k·È;Öa¸t Ø8mÓ§R\¤tÈ “(nhÖ5ù¬f[eXe†U¦Øe†»ÚVßÞø;‚`GÐÞ“H‡‡tÀÃjÈ,6²h*rÕ`Ù²jw‰Û´Ts(E5gt´%Ë}ÕªËruX`E¿½äIxÉYû‚R5Ø´BÖÇm6v›¼6i …f¯rÿáP‚ú VM‰Î²°KZ;eÛÐ27´[kÂÁж¹ÂkGxa„§îq“ˆL³ˆûqå.nAQòi9bwÿ÷4ŠÂÆî²±;¬í.u ãww´{[κ7´ý5Çõ-GÍ®Ñø€¨Q­=Ì1G)½dNÿ³ÉŒõ¶ÅîÏÃvÀt; è;lŸ·y8r1–Ïø¸zÆÇÙ3fù€*Ѩb*Ñ0ë‚^gìhØœN{ƒ£ä(ª W¶jL0Ž ¬:Cm/È÷Iê´p°µ”QgÊ(¹eTßÑJ6è÷%»{Ÿî¿ä}ögœàÅ8ã+È©æ:õA}­SÞš¼[¿àýú9óM¹VU%¡V P+³‚õ; -ï“?(èí’X JCûxAÏn8\rÒ¿âĺf"oqôŒ³àYxÉ¢àæ1êªæÃý9Ó|Ä3áƒ÷Œ[ï˜Ôsq¢ŒaóÀh8cø»ª_³{ᱺìl¦Qˆ —»ü˜(oá)d‚N¾¦Sÿ‘ß)áN;âÞso¹wÇøfÄXòB¾ãyùŽi>ÂJKÊÄbõ© úF£TLd®à+ýlG¿wMÿw7tŠ%î°!îtùSÝæ»…ÊÔ2uL“!s»GdúlÌ6s«OËØ ¬kÄ]ƒ¸?¨T걎:®˜ÝräÔ0)àË´œý‰Éý¬ÇýCŸûY—´1yÅ^„J‰) L­D£âòœÛzÀ.·q‰pˆ®@tA<©‘/¡+”¦† Xd¨Tøì1›‚´pÙÆCjìF¡L ÒµKã(†ŽÜ«ˆ¶‚ó‚5Q)u›Â€â.¡\¬Ø*”ByÆZ©q‰¹Ÿ}dzðo±ß=òÈ#<òÈœ_±ñ“@õoQ ŸGÔ4LT,ÿ`üzœèpÆ!P#ã`ünÁNzÆœqï†#÷– UÜaµê²^u¨U§á "\3ÂÒ2Œ3~µD„Ý«0ýËK1ÌœìG›\·‘‰ |СkÀ3žéðÌ'sv³œüª`7˱ØÉsŸø…Im*ä¶ÁRms­s­“(6§Ê 'âS)ðE…~¬aw-Üaê3Ñ–©MÔ%mMèo°üÿÎøu¼h‚~{Ǩ½ãؙӔIÇc}ÖEoJâ½Çú$äúd‚:ÈÙ©j“jºš3ä “ ‹‹ •Іƒéd;ŧ6éÖfþqÀê¬GöÚ¦ùB õK”VÉÆm“•êÒH‡<4‘B¶VØÏZV¡¥ÕaÍ*ô‡}Z ?”Ó’`²¡ýjMøjEûtEVØÌWæ×æ×}’¥I‰LKHJ*C!}žµHŸøˆF¥åEœrÍsý§â‚»ç|¸~Ará“r0Æ5ƒ“/N>òõ'¤*ض6vÀv0Û¹ßq·™p¿™©.ê¸B—¨zEc â< Ž}ò‰²«i 6L‚kNœ ®Õ ¡º¥­m“-±ê°ílƒ€ÝŸÝËîƒÍ§û1ùðŒxï‘é>¹i>^'åÕ³7œ=½áÕ³·œ]ài¾¶ÇÓ#¤uKQíÎ1ª”AyÏËò-/Êw¼(ßq³>æ§å°PX--—íi›é鈋Ñ)¨ðqñŒ«s>-Ι/4+å³nsúäùDÅy’Ó•-CÑ…f³Õ;8fŒ}´%hïð_lIn=VŸºð ò…‰MÂh8åUü–WÕ˜MÆÝõ˜ûÆÜ7&Þ{¿Ý|µ#pvØnJ2÷‰ßøÄñ‰ðYgmVY‡u֦ɨr¨R¨¨âÃs#©@£‚TÈËšUn’M,ß„XÃói‰ñ´¢}¶¤u´åÔ¹äĹâľ椹f¨ÍÉœ ÒÐ!ÃåövÂírÂûÛçÜݱr:¬[!ë0$ ]ÚÖŽ3í†/G?ðåñ(aÍÕè˜ëá1WÖ1˦C’»ì£G¢² IDATב†™–k\!{’º'(M‰À"Ãã`í&c“wxˆÇèÛ¹”k©(”ª¦ÙŽŠÙV1&*¦£\Û$WyR]¯Ø”D‹•xÆ;ÑÆ `úp˳—Ãmï‘Gyä‘GþüÊŸ)‰éW˵TP ƒPC0CœÃ‰ß‰Ï{àXV[Iéôœ4Wœ»oÙ—yn0]1½:"W zÍ Åjp[†W 9j»AÈÑ’hÝ«“âvöØ^Œ¦|1y¥Ð ͹üÚ¦ùJR^”ëŒè>ƒ?dø­‹¢ÅÖõHŽlè¨ÌÔŸxÂÏâ‘âQj:zS²ÅV3h›è¦c¸´L1÷<çò/x‡àäÑåP¥w(½6ê$Ä‘:%]¥f(ö)H¡°iw˜×Cl;a—Ä=‡ioHÙWXøíÏöî`óz,þݬÁ ”†ZƒBSÈ •26‰â‡PIï] µÀF´ÄÓMÙÛ-R˧Ò¤b“—:y¤ÃR‡{ýЛ•‚ø·õBÂ¥D\þ~³¦ã-è<[Ð ä±É*ﳺï³ü±GzmÀ.‡}û a5ˆ‰( „màmuéyÍošùø-nˆnߟo¡okz¬xê\ò»þw¨~Å6ðØ;ÝãÃü9E¦s³?ááÈY3D- 4£D ­¡* ªÔ Žt´¨&n9 nx9ù™/žý@'ÙÐI7t“ hCd:l€µ°u|Þ[g|?}ÁÍþ”ß=gußCH ‰ÀbÒ›q¾½ ¬÷*TV¨þ‹ÂéÓkt«b4|`TL™´§tÆ:í Ý'kc‹FÛ³Žs>=4 7¨²Am7¬Ã‹^‡eÙeyÕ¥Zj š0Rà+½?äòäN “Ê>æ¦â6s›q›É¥HªÀ <ºÞ‚OÚ¦Ú€TµÑ)s 뿎 ë={Åc£†¬Ô6KµÃt7âv>áv>a¹èã«;š¾ŠÙ+{[,=#·,ôVEKÙ2+ˆ Ax è 1.9æçn¾ ê—OCÐà`…)ýó9uy(ãQ ”JA”‚vËäÉ5'Þ5ÇÙ5u­p+"ܰD?S@1á%û Þ×°ÎP}P|€28­gœà4}™‚t¦ ƒ P¤Äò #¢×¬§3òÅýzÂÅúœ|cc:V`û a°gT/XöÛ¬¿ê°q:„«œ ÊñëÃÚñ·ŒÏï©ÎÞ=gÞî ˜5ÂlPÌ© –JG‰y%ÞÐ’ZûìŸvÏYíû\mÎx·~ÅÃft8! akµ¸FÈRb“¢k%ÏìOœy×ÈŽz¸‹øÀô¦¤ÿtFùTåÇákn½1?V¿ámñ‚eÒE–‚\µØ)!Š*)TkZf[úÁ ýùw´Úkú“D(¹1Ž¡‘ˆäôü;ÎY/B²–Aº4Iÿ`°xçS-ºÓý²¢5Úx  ?רĨìQÙ£±'ߤKde’®\4µ!è&´:s‚n‚Õͽ±-ÙüAR²ðza×¥×óè¶< µÆÐ+ £B©j‚Ꭳò†×ÞäÇˤÅ.³Ùf6»™ÍŽ’Ov³õ%qaáW1ie¡—5/Ë÷tó5—Oѯj²+—|mÁè–ÏÁ·îÅ!t «¤Ã;ž£Y›Ðcë†<÷°ë˜×­Yí:ì³à0! hA%r]'µMLÏ$—•*htв‚–uM ­ ±#Ju¢è­N”ê¸Ë ¯HñŸ$x^Jo²bøÅÿ(¢25fuŸEÚGÙƒ²lb‹÷~›ùË6ŠÓ¡[ºt¾¨éœoè´Öø$ ‹tn‘Ì-–ó€ÝO6ûŸ ò¹„&'dOŸ ƒÏ²öÚª&_Û¼_¿âªxŠõo DFRº|ŒÏ¹‰k÷píê¿JQ|wÏȼg¢ÝpÄ5«®Íê¥Ã²¶Y…éÔ&]Xäs›tnÓÊçÍã‘Gyä‘G~üŠŸœRÍ$õÛ†$•h}Aª$†Iþ€/L°U°5°þã÷yòÁ¡9ä0 LQT”ªFI%b+a¢÷M¢ÔCÖ 5ÉÒ#ûdQÿEE<4YŽkÄ„½ =eNØÙžÿì½IslIv­÷ùñÓ7q¢ Ðß6ÛJ¾b‘”žÆHÿVÒLš‹E‹•ýÍÛ Gèãôk`–ÞX´÷,MøÌ–ù Ì`°0Ü—ïí{­é´W´ÏÖ|*^ð¾xÃûâ ëËUj‚Ô`O‡–I两­7¼F®k6-6÷-Öª‚úÌ >óXØÚö’…ì°Ð:¤šý«ñóŠ„ ˆi—[b=`c¶¹4Où(Ϙ®‡,Î{,~î±x×EZ ͉õ¶ ´Öt{ t»¦­­9pn™Õ}v‡¥ÕfavXÓB žŽÓ;íê|Ù¯òÛ[ü—[üÖÿt‹¹­h)È \;%ìïª5a¶f›´E„–èǘ&”%lKXVð¡B{%Ð_ Œ1è¯ý½xN/šÑ‹æm“hè="Ë£&;À´2´QEk4¥zØ2e¯3e?|Ü­­FÆ=#óž1Å v¸3~†“¡r¤W¢OÙqR¡ÐžŒŸIŽMQš”‘N=¨›ªÕW42 Ѱ3~ž€¶@h +Èi}µ`œ>p¾Ý2«œn‰Óq¾\ã´+*$:õÓj’`aaÝ,>™,>HŠÚö2¯b^ÞqðòÓK˜/æK‡Å…͇Î[—Þ=ÓgÛ põôi*Œ¦&mû·d‡&ÆW)7W}nÎ;hç]’i‡m]sÑ3FÕœ½êžQyÏQù‘"¾Â¼¯É>xLØ#´á »¢e”Ë®Œ¹U» ëG˜7]ÞÛ¯X·>V'X^<¬°[1oOd=ë0™Œ™ÜÉ'6ªÔBR:™c’¹Ô)MÆVÈ¢ k?rl]qb]²¯ßrsÞåæºÃÍy—ŧ½Ö’ýî#Çg3Ž~ÿˆ;È1†ú°¦´ ¢ªÅ:í°Y·Ù,:lb‡m ±}£¡½Ôèé{à £ášQ¸!¬3&Cî~1×bò®G>•äS|ªPuF›^pÉg\ò¤Ÿ»‹îÞpþá€lccˆ]Σ.*JÃdáuYº=bÏßmÍ_¥É§ìG{Â+ý=¯Å;»^w˜†]^vY½×Xýì°~çP¬Û4Å¿ß>óÌ3Ï<óÌo“߸ñ;¡Î!žB’Ârô@½4/ꥀ#± Ê.ÅSÈ7­øÙì*~–ú¯+~õ_+~b¦¨¥$ßZ¨LQÖ:¢l(æ6Å…Mõ­Žv¥0Í·ž­hv¯9 ¯9:ݽúóõЮ«Ë.çW¯@êàé0RàA交ö€»Fª±†æJ£y§Ñü¢aäI¼3}“ƒ-gM…Ül…ükůLieílÃ5fMÈ•v·Æ7̶=Òsä_<’tñÝ•HL§ ¯ÙëßÚkÆÎ-). ÑáƒxÅñ’ð‰ñ °VO•6+:,qIpIµ8n98½å ¾ÅKôH¡oôm³«¦Š)´¬á¾Ñ1n»DW¸ÜTpSÃMŠXdh†@k˜À|)è2c¬n8l®9lnXÉwrL. 9 0L «Âä8MŒPP«]èv­4<‘p¤ÝóR~àµöcí _ÄxDx"Â9N+ÅtRŒaŽ^HU¢Q#hv?AõTûÜUü,Ê­ü«ñ+Ô¡¢ÙìŒJ tÆÕPí]…Ùòs#¢ß,ÙO¦œ¯^r?æ_/ÿ–ÿûò?óUû{D¤çÚõ-lX z,Ϭý†*yàMü·ñ{¤jø¾õ?ŸóKðŠk÷K<½¾91gœóB}âŒsÎÔ9ÚþóÉó÷/ù—wÿ@œzÔµüUÐX÷Ú$‰Í¼ìÐX'ú5/ìsþÎÿ§Úåî2åéBekùü1øÁïù±õv¿¡L,ÊÒ¢\[¨<³)2“(k!2EÇYÓi­ù²õÿãÁ?Rõ$¿ ^ò¾ý’ã4x3üȱ~Ûîô»’üé÷D·ï3{ôþÊp”ÐûbEÿk J JLJŒ§fä——„ùÏ Ù )*õÌÅöj/cÎþpÇgø]Ƽû§!›‹ë͇‘á²ûDÒ©! …ÙT¥¼ cãCÏèêSZÿ¶‡VŒI.Ǫ.Qu…ªJT“ÑfÊ Þó·ü…ÿÌ_¸ÛñOç&çzŇzËt:DBP¨PМJêSæTî*~êéûS ¤ÚUüì{^É|Ã_˜ôöh·Ç/KìZbÿ«‹‚rã°ýÔyÚ0Œÿ¦»Ü3Ï<óÌ3ÏüGòÛ5~®a5˜£[`v ´vEÙ‚¢”(7‚ݨ6 JM5U£ ´~CÝl‚€I5FLâûû›©C9kPzA=k(g’æÑFX Õ êM†Š3T\“­ ¶ó»\@I²Ìb›ú̲6“d€H*­+8€Ü´i<Æ(O#Õ¢&`ÛlóJooñ÷¶øl±› qÜ@§Ù²r• T& ˆ\q/÷ dŒ¥•(SãCõ’óõ nçÌëåÄÀkbºƒÖ—ûþ„îÙœf ñ`È ‹hã¯=¢µÇ¶ Xµ[èí’ýö?ˆ5P‹ÝÚ@ ¶´Ô–@mÔ«ÌQ¥Î´ØgUvñš„@ÅVD`E ÒÔ%‰]’Äc‘w™×=|7æ ëGÚ­9kÃa¥Û¬u›­ë ,A³TBDZÀ’5 :‰ï² ;ä¡6hEC³Ö(V&åÊÜU'Û ÑníížÞ?ʧi¤–ÊiÐJa4m±âиe-ßQ[’·Õ/”7„Õ ­ªJ਌V¡*A*\’®GõÒD¤ ³¦Où™A56(ƒRšä8•M^8Ô©div¹°OhUk*¥qežPÃþ”ßWÿʈ{DÖp{³Ï'`Ó¸q98f:اel)JMcdȪ†¤3‡eÝå¾ï"*´S”82A¶ôV jd«fã´Ð:5½ý/Ê÷$…GјʤPÆ.§QÓ¨$Ea³jºÜ­y¿Ü`-+VMoá"¼ ¢ uòÒ"Y¹D›2Ĩj̪À3ŒýšâѤˆ-Š¥E>µØ˜!wÁ˜÷ÁkìVFõ(¹¸;â²uÄepˆX£ˆm⸅¾)ø¾f쓾 ÐŽ$îç“ûà þ”eÒawÉb—uܦq$†W¡¹1¶WÐn¨Ï¦ÈLáÉÇI~>Å?‰¡'(„E¹ïQ¾hQmÛds—ÙAÍ¥gc¢Åmµ¦Í†P[:F‡…Ñaþ´>ØVz@*tšªÄhbÙàZ®¿¥ëÏѬ’­éqcŒÑŠÅ°MõBÃÍ"ZãÅ+ƒÛÞ˜¿hß°Œ:|—ýŽ‹òŒeÝyjc•4JMCHƒUò˜ °’™@±6I#ÓϼzÀ9•#™¬Æ|ûÓ7˜·9ïôϹÓˆõeH ,é±¶BæzµÛ#ét)ö:4Gmb?e–E\Ý$˜fв "BbÂݪZT5´ë9¦_PÙZ·BëTȰÂñSl*45™rÈ+‡¢p)—*rñÂ^;Âk¯pÛköÆ °Ó‡>ßþñ-›m—xcÐj-xóÅOtGs6›Û'e‘ ‹Ì (`Û€a‚n€a ,ÁÖ¸÷÷ùà¿FófqÀ, ˜mf‘`õsC|­È— MÕ°ëUÿ=w½gžyæ™gžùÿÄo×øÀ©@z5Î~B°¿Áo1‚”h!ˆ°ýEP®%T>ÔÔ>T&Ú~¾¿{¦KjKc%;Ô…Îâ¶G~g°¼ XÝû”³ edÔ¦̓»¡Ye4IŠª2𦠉bfSÜŒX{}箇´æK‚Å «Saö+Žú¼<ü@ãHjSR™:µ%™—}n¢#n£#ÊÔDU0ì<0n88»ÁÓ#fƒó~¹Õe‡°Ôv£êWbV§¤éèÄYÐãv}Àåò„ÉbÌfÞÆË"úŒýWwìŸLh·–xã˜j¬sÓä',oCVç!Ë!ÙÖ"x¼Œ9zy…ç'èUƒ^ÔèEƒ,ì&{RŽÕd,â.ÓhÈe4`p­˜Që½Ö=£ðÆÐxÌFš”ŸL„P˜/s¬9¦ž#Ýš —%»5J LUà7ºªè²àT\ µš ê §êšn½@/k¨^• i»xMSȽGKiï-™Ñ#Ú÷wêøDz@¤B¶eH딋©>ä'ûs6UÀ'uŠíæØýŒWæ{¾jG17ÈM.'‡¼›½`„,z,z,Ç]FÁ”•vK"=*©#2E9µH§Ûi›Õ¦‡”5º¬zeæˆAybŸx,[ÒÀEŽ+í+ºƒQ)Ÿ­Úå¡E‰O´õ‰&Ñ;ŸMÔáb{F9ÜGìYÆonÙ÷î[·˜­ŒÕ¤E4ñÉïÔ£ÕÏú‚þ– ¿%R›y›Í6¤¼6X«OÎ rÇâÖ9 ±s«ÍÂl3·Ú ÊCîÊC~É?GŠŠûVŸû^ø¬ƒÕ†à ¥°bÜpÊ5b£ØÞ·Hï]¦÷ûT}cTìEèvMl0Ž*BsÍxt‹nÔø{[¬QFê8¤´ˆ÷{U¦Õ£Þ„,z>Ÿº#6õ×Ó =kþ¤]kÁRß½§]È. ÑfŠÅƒ5àȈ¾µfà5 šn˜àè1+½Åú[š@cr<&1,œ½ˆÎZ’µM.ÂVz›o׿ã69à®<`®õÀúk·‚0„^“--fתk‹åU]Ô4-–ì}q‹.jªHr=;bv9 R:ííÛvHÓÖIjŸ¹ÖçÖ<S1iYŽH·c`ÄV®SÈ~’<¼·PÂ$'¤ ENˆÖt÷6ïÍèìm݆Øu‰=Øp©ÑЩ¨Ð‰ð)0Ù’Pá!° ú5{/×ì½¼eôâ£ÚETüró‚ïÏ:HWÐ9˜ÒõÈzÓåêâ„ë‹cªKƒ,’°IAEEà—àù¿ªnY,¬Ÿ¬WĶϭuDtWÝÖÄ· Ñ]M| ÉmM:)iŠ‚]Ïí³ñ{æ™gžyæ·Ëo×øùÀ)»íÓ˜ö‹%ݳGwÃüÏîù{Aò£ªJ2@h¿¯Ñ‡%æ(Ãü›Œ¦,—m‹j©Q]BuÛP>4”³ed435ÕáÞ§†eŒŠT¹D4)IÜ"ŸµØ\·ÂC¿ÉЯSôëy“ñö«|þû_xyô‘Ïß¼G÷+JaPh&¥fpµ=ÁmbÊØà1@ƒö”×_ø¼ó·æxK)t&bÇds u§Á†¸‡æD+Ç Ç•{ÀjÙe¶0»²ýÒò· f¼=yÇ—ãï±Û)+«ÍÊnse3Ÿu˜Þõxü¶Çô=êGÁÿŽ/xÇaïŠ×çXU‰™—Xi‰•î†ZÈz7UU«~X~ÁåâæŸñ§Åßâ†1gGyá~$vÊÊàbñ‚OÙ+Î/Q™àkë[~ç|Ë×{¡çÏøgÿïmeÄÕ4 y5…úxàWÓ'E….jìÏSì4Æqìq‚Ú ò ‡ìOñ?ûMá­#¤¬±GÚ°ùÕø­hc¨òWÓ×4½©éjK¤¨éˆ%'Ú--¢ËšN½F–šRhZ‚#2j!qe†»—ÐÞ[²Ç=3Ùen÷™[½ÊsšB'O\Ò˃=dí|ªNpHøÆýޝÍïyÝ~Ïïêïøøó™|É»›|÷ý—,½.å™E¹²)cú’¥Û%öòÏŠ ½¥ûÍŒîþŒî3°ú¡ËÍå«»lW-ò#“âÐ"?²@)Ígaö1Ü‚\˜<#–ã){¨`ÄæF'»‘<ÜZ˜7>& ­'…œÎèÿí#Gá'¾îþŒw˜2‘{Lä>÷rŸ5­'ã'‰ñØ5Y·ÉžŒ¦կ¿Yñúïoyõ÷ïxüØáúÛ=®ßïsý—=úÃo¾¹àÍ« Þ|sAœ„xލ„Ál5`¹u`›B´‚ÉŒ º=è]“¦pX˜]bËçÖ>Ä´sê‹õsªçÔ?/¨7Š:o¨³Š¦ÈŸ6žšßò¶ùÌ3Ï<óÌÿ¿ùÍî`ö‚÷ßbµ2£%íã%áÑËŠèÜ)}ź£X’89 NJâT%>jš¢îšû„f’"ˆÄ„ÊDèÒѨ…è€ @¢4‰Š$ÜI°Ä:: „U`ެ~†€idµ$-6sìFÒ=Ør”O¨t#,М†¼4)*“$wI¶ù\£º¯P·1†( ´)ƒöÇþakÍbr½¡6)éJÁLÀ\‡™XJ⮇™åèM‰Ð+2ÓFYàØ)]wA·µ ÕÛàíÅXÇʃ¤ò˜Õî²1Û!³¤Ã<ï0¯:Ȧ䴹E«ífþšÐ ?µ—é¤sHù IDATšƒ’â)Xc7îå¾q·q3Ùãúf«—¡ìŠº§(”†24níCîý!‹Vi6l¬kZ¬ó[f]´cÆæIx¶ ¢VAY¤‰E[D‰…e4x^Aãh +êÊ©¢Î¡±¦YØ[ú#¦të¾Øâ‹ÙÔ¤[›ÇMŸbkðuÉ,›ÜrÈ,›Ì´ÉK—¸™å9N‘¡5”»5•k»ÍÚî°±JÛÂV9}æ´´ˆQóÈBÌXê=Ö.t=Ò\âÒc»m1Czõ’aõȬCæ›.ÓlÄmsÈ¥~ÊF„Ph°•0“¬ª÷Î>çö ºÎ3.8¿?ãa¶·;ÐGöî=들¬ÉŠ5eeÒ4Âxlô4E” ªÔ¥¤(LÊÒ¤J ªµN3—3‹¢´Ø@ ±åÒ*WtydhÜcÙ)•+‘~ÛŠi‡KüÖ;LÑÃB…ÝK錖ÈÃo“n]²Ê&®\æUZÐ;éZE£• •hšBôj,‡ òªÒ".Û>“¡Ñ³¶¬õ%•c!z ç(¡“Ì)¼†"Š)·åªÌØe6xÑV˜~‰k'xzŒ¯"”œ¡¬Ê›¡Z3*;¦¢¢¤¤¤Ba‘Ýç<xyæ™gžyæ·ÊoÖøw/ù_¾þßvƒÑË1{9†U õ‚ª_R¾.©DIÞ\Þm¹º«¹º3ˆ’fžP½QELsãô¼ŽÀ뀷'(<›µã± |6=:±ÀÔ¡ÔáF ¨h)xk ¥K{?¦¿?g°Óî¦Ì²«³‡¹Õ%Õ[,ôwÚ!-Q«m‡UÔaµíòxßarÕááÊ!»Œ°ô V1Ó BoE§Z\¯°o–è× xX@í@ãì.¡‘H J,2\/#EÔò‘*4h»+œ~LÚ±¹3Æä•Å$3I˜$cæ«‘æõ<Š×.Î8Aži…i•uÉB„ÌÍ ­ÏÂìQ7M#ŸVËåÊ—åU‰JaÞ {$™ƒôj²À…½†žóˆLòÆà¼8e{à‘ÛÊ‚“ðœýþí.Rb¬¯b¡¸¿îrÕerÕcõ¨ç5ùûòŠòNGP©5*1‡a¸åðè†Óà ^ØŸVèZ…®UH­DTŠdêp}1æÝÅK’‡²eQµ,ÊЦlYT˜ªÂhJLU!¶)b•Â“ŠÆ"1;¤V—Ôì ‡ÐÛ›Óߟs¸?Áñ2bá{>ÉÀgm…\qÌUuÄåü˜›ù³dÀ»ä-yâp—p ¹L޹ïP~á€.wo[- 2ˆgWâ€%ô¼âbuÊ•:fÓkí&ÖZO2Ax î~J·³`lßqÊǧ”;XÑfE›eÖe¶ð¸2[ Y_‡D³€$÷© }µQ=©jGRš¹4)t9¨ð_o¸'Æa~P’vl*1Àì–„¯— Í)æ~ÉrÑaºÚãa=bºÙ£Ö¬]Eß|0í‚®¾ +ôôv³=öÙžølCŸ\™¬¢6—ËDËËåK&cî.Ǭî;4KAj¹ÌÍ> QÖ"®hu×;õV´´-­fKP¯h5[¢­Oqm°¼ 0¯†°©Ð÷ôQƒ1j0 ¬H-›=¶™Gúè’N]Ò—lêRÎmêµCí¨·©ÞaV¤¨)Ñ4Az‰ã’¸.‰ãRh"- É!É1TF8\³7¸§=ÌðF3»ÏcgÀì ÏlÕG @ ¾BYŠ:0`¨¡NuH ¬ÛRÂGlj¢4Á6ÑÙæ’r( d×½· aºæ@»åmøŽ—£÷DFÀÖoi[·EbAÚU$'ŠôKEZù¤Ôd4¤(,JÖÂãýã˜å ¼0A[pb#ŽÁµã_ã`t*Ð.¨¿ÐѼç$¡{2GžTD[í€i{Èú´OÚ„¨¶K¬ nš&óY¾?@ÒÕ>ÍŒ:ÜåŠÍ­ÁæÎ`}RÅìyp쑉vØ0h?rÒ¾ä8¼âØ¿¢9ˆh̘zѼ‰ës"†lYSaòáر}æ™gžyæ™ß¿YãwÔ¹äýêÿ@饭S9:•­Ó°)¦H±:ê¸áÏ?ÖX¦Iœ¶¸šìÑÌ#ª"¢žD”?D¸o ü/K†aÅp¿$¶¸÷÷Pd’ÏXj°0Pkг¡§CÏEö]Â~ÂaÁ‹þ%­ çë/È—™i’K9àN‹0)‰ Ÿéféléã›k“ä¼"ùT‘ŸÇhæSÎñüíÞ’N½Å¿\bÿ¸Dþ¸€Ë´Z»3HË€´Ý};9 ¦W¢Ë=¬5º^¡Û™½3~Û¢Å$=à~5æ~=fµnS ²§SJ·©ÐŽ$zOaYF] —[ã€ÆK>ñ‚RíŽoµÒ©”dqÓb^†Ì–ÕUI•iÌGñÚašqü×Oqœ„îàÕä6§üòð2iïß0Þ¿å$½Öá)œý„n{Áع㟞 ß®5qI‡yÖg¾0Ÿ ˜ß Hï]ʹA™Ô†¾3d»Ë† TKи»6ÉB³(tÙ¯ðÝ-ƒñ"­É=‹Ì³H]›!£ÎCcÊþÞ„ý/'<Üïóþî-ÕÎò®K¦[0¿Ê :æ‚cãŠóÏŠ¹÷GÜ#”¿G¡º¬£6ÑC‹›Û´[Erç‘L\’‰‹Zh¤¸ÔJåÓõíÃÝã=ùH¯e¡ŠN½¢W/9ªoH#›åu‹›ïö0¿MaQ!¿)±d‰}Pb +*%I•M¤<ê\£z4©>šT ª&JkhìÔ¨AC–ÔÌ—Ñ§Š‡eР õÚ:ÖÀ:†U ëWÔt¿ž²ÿ»^n9Í8ïœq^œa§d…AeKG£q¥!|ê4ñnúlù(Ø®$Ù'ÕÒ)vß]I9 Ùe>I5¡¾aܺãÍÁ/|Óü™Ì°É|‡Ì±É›u×c}ä±Ê|֙ǦÉYÓ°A±òX¿wY~óîCˆcdôÿ&§¯rú ¿Ÿ<¿]¨ÐõPGsk¬Ã” ^#ýéWDG*-Ã>«ÓYØB:Ä—ÛÏr;æbšãñîéÁ†QwB¿<ü<@ü< Sm’E{s¤Ã+yR3t¦|æüÌrþÌߨÿFmVTÚêuMUÖ,UŸKf¬™±¡Àæáñ—ýî™gžyæ™gþ#øÍ?×KÝR=µ¦Â!ÕêZdz ¼VGަ5 — ýUDg½¢µžSeUœR/Sª¼Diú^ŽÓd„í Ý€ÖÆÔ4SÍ€¤¬†‡­lЃÝo0N¼“Š®Ñub:öŠv=Çoº8*B)h%¥¦‹ÝÁwÊ€UÞánuÈÝäÛ«#Ò+àj ×k¸[¡¹9Æ<ÃZ§¸qŠ§ÇØ1æUŒü9†Œ4JIÐ5H š¬¦Î¡.uP:–̰¡C#5jM£Ä!ª6yÈ2î2_÷‰âC/0»~'¥g,ñ»)²«Èm‹5-VZ›…Öf®uyÔz$¸¤Â!Á!Å!ót2G#·$ÒÌQº¤Ò$‰°É•G©¥H³Â3=F‹Qð¸è3«F”‰ªB¹Ät úíGl± e¶I±EJe¬ï5î|2“Xu‰™XëéK4i£lÄ—6þp‹Ÿl Ò ÁjƒWE¤–Mcj4–F–Û,WncÞÏ^òóÃTaÐ$&jm f&´@-Å ™ÎÛúj©N#»(½G#»TjÍqïš|à –Û)°«â×J™WÄt·KüY„1-a*v ×-&` ì…èÇ QƒZ‹Ýgk¨2¸ò( ƒ(óÐU…ÀJ:Á‚¶§Q::¥cP:ÂU£Ýß½”©Bi’BZ$šËF¶X×mÖEÈ: YÇmòÄDå *PT ÅNh€@‚Â5IL—­ pµÌµi,Þ*qš„ZjiRKLì¾wÝ+ñŒˆŽ· Ó<"Lr4¡Ðì}\"Ç»Ja¬waójIÈ_D”–¤25CCW5yeSäYlSllŠÄ¤È-ªÆ ŠÚÜEH¬P¸z§ÂO·P dQ#“-)wšhèw9æ}Š5M±W Ö¢Â\—› ¹m(*‡¬²HK—´t…v¯ ë± q%•®SKåKÊBP&°ì¢úÿ/ÉLx,¨¨Ì ½½&Ø pË Ë ‘f¥™ˆÆ€Ô@åZ©v# ¡ƒr š¦&_Š¥š€6ˆ Â<ÈÀ2¨Is§ÑÌ$,ò°ÂZå¸YBÀ–@ß"Lµ›m¢)Õ{5Âf¡\šZPUPUŠ¢n¨„Fq«“V6Ù\#®uäPÃ)ÜQ‰c+ ³Ä2S<3Ã0JDªµk¯… (w)ye‘/,ÖyÀš€Ì5idCÙXdK‡ÅÜ@]tüÇÁ~¸¡ýj‰¡—TšEªB¶¥$öÔ¾ h4¡†ð+,;'°7ôícû–Êר¤¤Ô%¥”XZŽ©m±5W4ÂÄídÿÍ÷ºgžyæ™gžùâ7künÅÿ§ö?¡žòÔ*± kn*‰\4è7 y£`"xÈÚ,ü6Þ×5Ÿ½¾bs§³H¶‹íGIALΊ “œ´n±)Z¤±C½–°ª`í†lS •ÒQ);¡ÓN Û ö*£zиZq·rÞcrî³½/ Ÿ Ê9Z½Bªx2œVh³qY ~Êá^‡•¾„0 ¶†Üº„ÄnU@šÃr M éŠÌ-YÕm“ =Ìu†1ÛÉ|L Zíñ†öxCgƒOLÞì´õªÂR#ë¡õÀкgàLéù3.œ²M&4ŽÕ%Ãæ{±Ç#Q£-/kLUâvA̳ ë¤Æ *L£Â%ºV‘áPë’¢m kl3F Ҷí@Uë<®†Œõ[Æòޱ~Ë@ŸãÖ%–Ò¸­C;ŒÙL&ì÷ïá…Îö³.Û½[»‹™Ö,oC~¾}Íò&À"жEÚ¡EbyÜWC¦{C꿳h'”‰A—”‰AyY ìª)Z(ÐŽÞ0&Ø[œÍ æ÷ˆB£ÐRr™Rh ®Sw\>/Ic›ï/¿Úå¯m “›W|X¿b±éî>“ìüTè‚Øo ĸzý¡| 4ÜÛ…ÏmvȺãáý]Â~óHíJêT§üV’ýbQ(›B™TŽR§Žð›ˆà8Â?ˆHS—mÜbµˆ¦ÕZ‡%³«Âš@]evÐÔÕ®Õs™Rų{ƒ?t(òcn.[Ü3âž÷""Ë£1%©ÓXRC¯°õ9®Ñ‚zâ¸D|.hà m¸@4•G2sI'.©éR ÉRëp¡âh ¹fŠõ_Åš¬±™×}®êS>Ö/XE’õ.&Y{ˈNuÇéÁ„О`T)…gQ.mþè°xgs4šáì­itzµf°Ôº¬µ[qH±¶(&ÅÜ¢XX$±Fœ²$¦IbX;°ôQ+Vôl"ShuƒîVØÃ„ ßбf4s( ‹\ÚS›z-yìõy×{CÓ‡©Û¥®$U!©jº‘³AX šU£[5ºH»¾úgžyæ™gžùMò›5~7âÿKüÏh¢A…g\û‡T©Æ42ßôù%mèufôÚôÄŒ¾ýˆîT¨® rtò®&l²% ¡Ž Ù ¹à¹àIê–$ñ\æVMVlŸMÜf3o³~l-üÁ¿¿Å×¶øÞ–r¡³xßáá»å÷‘õC¶ý²gà…Ý`ÉžwǾs‹‘dlî6?zÜþ0B‹kN¾¼æäë+N½köºˆ€]%2€f¤ñcÿ+~ì}EÕÕyèŒvƒv­ª8”A8ã(ǾXœ_îsùÃ>ç?ìñÿ°÷f½qdY–îwŽÍƒ»›Ïœ)Q!)BY•™U5¼4î¾ï5äÍÊÌÈŒQ ¤8úìæ6çÜWEuá>vß.ÀØ0‚àç¡Ù²½÷Z«¬>qЧ.þIÆa8cw²» (~ IkJå²lF\Vç|[ÿ‚xÕ£¾µª©º¥ß©xqrÇËÏÿŒQe¼¿;âÝí¿íS6þ[Ž?¯ˆäŠ“Î’µ1@’Øìq-O¨·õG›úƒCõÁ¡Þ¤Ô»„:NP»ºôÙ·%4Þþßc¢‘…F*…éÔx㜎»¥šš°U¤óɼƒš”±ËülD«a ø^~†ª Ú¤ÍMÚÂdà-™tóÀØzÀ‘%Íÿ™Ü#<òÈ#üÿÀÏVøÍ˜ðOâï‘(ÌO¦¦n9¤ËÙÇìûúù÷ž³çï9ù³ÿ2CºUÑ!¾sFŸEIIJ 4Ê!«}ªÂF§v $9$1¤ L{FÄÇöŒ—Ýƽ‚ïê/˜Ý ¹ùó!o~û ­Ö ?•Ú@“BAYB© Ö0kÑW ¼® ³} Ñ7= 9ŠÐÝ­íQi‡²6©“¦5PZ‚Q•ˆ¦@ä")iÔKdÕE¯àc ßð‡þX .jÍ;œqÎäù¡™qÛáW FQb·-CñÀS÷-¿ìþ‘Ãè–7ò9±|Î<â^ð õ SõÀ ×¼Rß"iÉð˜éÉÞÒ˜Aƒuº7OéˆÝ'Û ‘ÞÐb°bÀŠ9µ´‘¡Æ s\ršÖ I»l’1iÚ¥ÞÙØnà]q¡ßch…¥ÀŽiãº.ÃaÃÓ'+¾üËü×_QŽm¾w , <òØfy±ú¡Çê_#’»}î ÏmHmD-ñüƒþñ>Œ\È5o¨ënÄT"kÕ˜#IØË1grÉSãC(¶¤ÄzÇ–˜U»÷]_ Yþãªï¢_(ËDM$–[Ò±·L¬ÎŒKDÝRÍO™½rû»ÔZ0fN¥œŸ}à õ¦ÝbXû`zHO‘xnƒcD ®B*d ý„¡¿âȺåiûždgñæö€ë†üî_¿`ÖŒwrF¿Èý"'š”èZ’¿s©0Hþèa}*L‰ó·½ƒ-ÓÉ=g¿ºÄ³sê›]ÒE¾W±7¬ñ5 :11ÖˆCÄb™A¸ƒuÊ.6ØÆ=ôåV ”þT)"òýÑÙ7/4¶[àÅt£v¯B B#…!À5¦h¨g6zUh“ØÁ§x‰.8a#;ÜÊR ´¦£w¨{veȼsUœòº|A2ï ®|ð^Ò¶t^Ô<™,ùëïeJ‘;¼ÿnÂìO!«E‡Óêå6t§Of\šO0ÐäÒg!FT±K}ëRýàPÿÙE/°)ö“›%P€cƒ€Ý¢CЉ@ÕH0fTãõ2:ÚDÅÀ7šffP<8´—K"ÖaÈûÉ)R4¨ÚD%&jk¢bƒ‹Î;>WßâšÇþǽðcÇï‘Gy䑟1?[á7fΗâ·Ô¥E²î¬C’u‡lPÞyT­C{h¢]Az²ð&Cv㳘÷˜o#’¢ƒÒ>)–LYpÀ‚¹w¸ïQ \ªXìG´\~ÚoR´Ÿì jSÑN x†PX“›¨mˆŽ%*öÉÉXÝgÈ?d”Ûœô.dñ]DrëÒ–Ë«p§9îy‹s®ˆú32³åÇÍ€ö«ç¸Ù„ïÞ=áÝõˆíÎEš-á¸$g„㜑ŽC’Q”†äV£g¶ŸvUCØì÷«pH–šòr‹úñš"ñ¸ï|×?¡Ž`2Ø}ò¡Ï`´¦Åœˆkr‰«Š}öÙÊ…"[4$‹š¦'1Çkä`Ž<+ÇSS=çT]c«Šê¨D…”Úù™È¥r¸m޹“GÜzG¬¬![ò®¹Àص¬â!k5 ›\üâ½ f2qòì#œ)®ûGÄÊãýݘ«¸ÃõÖ"^‹;úÑ _üFCc’;dãù¸CÑ÷i•¢½W¨;EÜHŠMÊ+‡¦r rЭDÝJš?t,ч&Ö¸%˜dôÇ|'£¯6T­C©\嘷e‰®Lâ:b«ØŸ6èƒÔŠN/þT;Âގ첓vY—Ý÷ô­@õ$²g ºíîã0´-ÀdÂçvuÂ7:§Ô.ïäs:nB褄nBÛ1xm¾à}õ”»ÅëÕ¶4‘´„Ý}œÕV$Ë€ë‡SòÆGõ ZØÃšÃá=㎢yÒÐæ ­ßPeEÔÿTMà"ÌqW’Ï* S!厮̉Â%²k`ú 5é*¤Ì]ì¸dâ/9¹¸ÅÖ[Ñeî˜o‡Ì¿QÝ+Öãk|H=1ñÚœ¶•LO þa…Y5 Î7¤Ý._ÇÅÇ7ÈL!S…Ìöëuþ9¯ó—,Š:—ôÄ–A¸dà.FKFÖ—œëâ”ÿ^ü_…ä¶?ÀøÂáŸ3*sÄÈAî¶¿±t\â»;R= !´÷±±€†]C¶tX^¡¢Ð>Ûë‹Ù„Duh#l¢¥ m±Ã’PdAN8ÎðÂÛ^` æØg Xfl賥φ>qÛCÍkÔ¼A/ö/&‚nNçdFx¾¥sþÑ­Qº }W°½+ 0zˆÐEzÃn1ìÃiirI\$ j3´ji)h¨©dÚçn{ˆÜB¼‰¸Ú<åCv›ô óÌ£ÉvMÙ ÌŽÀü °þˆoÖ¿ ü“ƒÎj~¸?áJžÂÈ€ÓøàZHÝÒ%æ[^ðšJ˜¬Õu=bUYg)óõB IDATºq@vÁU{3+á‚åƒeP[6[qWQo-œû‚,öÉwYì“-]Ò&ùeEs¹‚y Æ>–§2ö‡sWÃM5\kÌÉÿÉœ>L:ô¬—Ç¿Gyä‘G~¾ül…ßDÌøø’ªÃõüŒë÷§ìÞ÷If=iÑH‹öÐ@ Ò(oB–û,¯G¤s›4¶I ­ |rÆÌ¹àŸña¹-eè±êH·„bŸßgüÛP©ñ“/]m)ÔÔ!0† ëyƒº1i¯Ún9ëûœ*ÎØ¼Î©66é, ›»´•Àî•ÓŒÞóŒÞ_fþ–üFñö¶ÏõÍsÚûŠÙjÈl9d›8H³!œVL^fL^ÆŒ^$Ì곦`Vפ·ü„_ ä? ¿>e)~í·7”óû@R'ÌÃCÊè³5½çúÖš~´bʱ• A½‚ò"û¡e÷CEsba}na¾°°zCcƒ×LÚÏÚ÷ôÚxoØÐØTµC£Ì~2|~0_àšµg’HŸ8íð6»`•x½d¨W Fk.ü÷üÍù¿bG%Ƥ‰â&:d¶éðþ~ÄÕn~4QEÁYµ¯§K:QÃ2± F¬Â+£Ïö£Ëö£ÇöÊe{ãÒìLšÄ¦)=tßCµnAÅõ£@_X/[‚Ïs¢î†µF4|*Á¼˜ K“¸Š¸©Nþ=÷Ù"vK÷tËÁɧ·Lﹿ9âþæn!½ Q†@»åj„c¢Æ=–è1dÚçf}L±qxX00—Dgkúgû\KcØr•Ÿs™?á>?bS±Û-ñz9¶S"oéCH~ís{sLx˜ÐùlK糘Aw‰ÓÉ0Ï L¯À<)¨j‡­7bëŽØz#vuHz#Èné­ ÙAtº£{Z•tŽjvE—]Þa·ê²+:œ¥9öïxrñ'“Kî6c¾_?ãûõñ¥A麬'õØd;Ðïl™wLŸÝã™±›}îvg¤q±TÈ¥F,5¬anM˜[c–ÖeIzþ†sñžgÞ<ë¿AiÉ.ëq“ó]öж3Ê0¿Èxz1§J7¬×SV›€õÕm> ðJÏ¡¾°á¹ WÀ•†+KE¾²Y^(pYïF±K:IUHÛ7ÀRP6PÖרùŽˆ%“`Åt¼¤?] –ø§+‚x i½üÀå#ЦGû}Iû}I£K˜CÐ-˜o9xUqð—%i «Áê`}/¨Ý¦b ¦DßA„í¾ó¶¨\S”š¢†ºMA§(­h´¦B’kûí!»«ˆÏ ®2Ö±Ç" ˜ï<Úd‡1ÈpŽî‘À9HÝ0_(V׫3Ú`^õ˜‰ÉqÛ.á$Ú ?ÇD*EGÇqG……IÅGuÎǦ¦.m6ùjû“ð³À Aš`z`ìcN*{/üšÒ"Ž{˜ª¡¾±¨ï,ª‹ú^R-rêEA³ˆ!«aãC@íïg\ÃM ßWðmõdA fDÝ“ã{"½ÃÑ%?e <òÈ#<òÈÏŒŸ­ð3ãoÅ¿°¨Æ3ÍîuÄÕLv·ú 8ècàPªL,³1"QèYƒÚ6è¢A韂 s.xÏ/ù3+cDéº,;#¬º†ØÙ﹟ [ñ©ãgü{Çï@"F`¼ÐØeKó½ßÛ(ß‚Ö&ßä”w9›mŽˆ ¨Aµ&º5P­À÷*ÂéŽá‹“¿Y#DÎr¿é³üªÏîµA«lÚÖ¡U6¦×Ò™”L_e<ù‡g»Á¿ÂUNvÙ0¿f6 òtCƒø©ã·f@Y6$KEy£¾i)®úÜÛ̬# û€îØàÕîk¾0¿áéäÏyMGìè㈅¤^CñF“ýSCò5Í+…ÙHÌŽƒõÔ£qLü¶`RÏù¬yÏ´~@W] ¨ºO ð !–]¼° ¶LÖnÄ;%®;¬â!MbÑ.l~ãÿ–¿ÿ Á;þ.üg2×åΛrçN¹v¹ZöyßáòO®ÿÑ"$!ø»;ž=}Ëo~ó#‡Ÿ%ÜÈcnä7Æ17É!×wCê»«ß ‰çC`¡¢ Ú[© MAÿÂÀª‚nFÿ隃à¯-ñê¯*y(‰Ëˆ›ò¯.öÂÏ`?ê§AöÝ1‡¯nxþê5O_þÈÿ¼C”šäMÈÃ÷‡èê“s濹¾/$<`CÖú”Nxøpˆ|¯¬„ÑowfŒŸ?àsf³6‡<,Ùl†ô&+<7'ìÅôÆkv³ˆí2"þ&"þ]Ÿƒç·ûŠ^wÃW÷¿æîᜯïÉ›ûÏḮ5ÜA;4PCãÓUÒlx"Þó¥û¯üMô[îÊ#þ˜ÿšïŠWüaõ×Cñ¬ÿšgý7\ .‘[Å›ñ‰¯ŽÙþ~Äíý úèWýLÀ ðU ­‚E eK¶t(ðXíFÈ[¥ZIT$Á¬÷FQy i‰oé‹{N‚žŽ¯9zò@OmˆÔšH­Ak¾ÆÅdBŠÉ¼Œhhµ´Bt·LN–\¼ZðìïÌ~´à>`ýÖgûO>©eÃ…¸#hèë}ç1¯ÑÕ]'è6Eè¥m,*mƒrØm#ê6Í×õ76j•Ñnw´Ûµq¿ÐØÀÿ‚¿èÒeþ§ßž‘ÿ) Ú:´‰JÚ#É`´‚i8R«Ÿ:~–(艎®i›M9@fš¶uÀ°Áꀡ÷&HRìËÔ¶ÁV÷Ù=D¬ èú5ðƒ@_UèbŽÎc(V 6°@Ú@ýé`î¸Éà» ~›aÅs‚ÎŒèèi}O_ïp‘ÿ‡ït<òÈ#<ò¿Ÿ­ð[φ|ó/¿d›D|¼?g©Fä#í ¬ãó¤Æ:®1¦ ªÝï}èF¢ZIÛ+~Ak—@Iž•,æ>.°¾Õìœ>7É)›¤OZû‘.Ó…Q>Ó4Òdwêò0±­>›¦â®9bQOH›Mm£]‰œhœºÁöí]‹º7P÷.6!PÉ}&›’hÙÒš•åR¸ É ›L[¤µMZ[ûyÏÛ@÷ œ¤C“uÏÆ |6Öˆ´íPålØ å êt FÐ h´˜žÆž8/l¼Ò§wbá›9ñ€oîè÷ZÎ..N¸þ^è¸h%;:4Ë`’òùÓØqC|1&;‘õFdæ%$;03'¼çœuQÇ6Õʦ^ÙÿÑðBAa:|<<¡:pˆŒ5Ïü·lóÛUŸíuŸä*`æNøà>¡ëÅ^Kn»Ìœs{ÄÌ1_ùÌ‹¢gc¼²®$}9áî´áõÐbÌÔ”™š0k§Ìê˪ǮêQ”=tâ Á›îðc¼#MY8”©K‘¹©ƒs^àç~J·Jé$)nUáTn]áV®Uàô lQtwô’˜nÓKcºML8Ž œiò~ùŒ»ì˜•;>º'° Û/püÛ+hû&ÕÐ¥t\ªÌ ¦Û`TXnå¨ A6õX}l˧ôlœnÁ¨™Ñ1bLbÎRšEF,*Œ»%£tËAtñÊdröÀÑô†#ÿ†£ö†n³Ýu®™³kºl«!Mé°-û,î'l.ÙÖ¥L\t¡±›˜PW Öœì²ÔcŒ¦¥)LJß!s|v½õ°K\tÉV!Õ6@%.žVD“%Ñ8'šdLf<=xG´Bô4™í“ÕÙR}ÐW%Qž±£?JèvR6ˆM7Ú_;yè±òÜ8ÇôŒç̪ 7«Cæ—}¶¹ò¶ìcWzøšfˆ>ËeƒýZ¢s‡¶cawz¶[! µ…j\š& ± TÏF¸páá%DƒšoÍSñÓé²îYx‡C¸8À´»øgÿdMpXâvPaÙ%¶®¢¦TTÏj*US+êcŸºö©ßä‰Gý®¢~gS¿+¨olL™c…n?ò ÌéXè…EñG CIìUã”DO¶{7ÚH ûAm8ˆîéE[¬°¢6$»­Ã, ø˜F|LF$wšN2ãeÓ¿˜ÓeIÚOiæ°‹]â­G¼õ™&lJ£"ôJ<¯Âœ¶˜Eƒ¥ŒNnÖЬÑÍm¤¿˜P>™RöwfN! Ðš¼1(ª¬žðОóNÕtEʆLþón{<òÈ#<ò¿ÄÏVø=Üð?þÛ%Çc!Ç,Ì éÓé(ìQ?LñG)N?§Qæ¨ú>§êåÔn†9»¬æú!¢|ã3O(œ³z¼šRVî~Dú0Ðsi¼íE„eNŠW5l‹ˆmÞ'."êÜÅP FÔbº%ÆIC}eP_JêÀDYz#`' ÐšŠŠœ†-ˆ–L¸TÂGI,B¹¯ŽD5ùÄcÕ Á‰ÈIX6cÖå€<õб€DïÇ<ëæ“ð«0(±¨ö™iÄ;7LŸpaÅ6S™25fLeÊÈÛÑ9ØÄØÝ’ ŸB~ª&2™•v@¿¥4½`‹ßO¸K±-õ¥Ãö‡>+¼ÏI¥Ï•8£²M;dç„$vHnKJ«¥>lñÎZ¬ÈfsdñöhDÜyŠ‹fÛDl«ˆm±ÝuI ]ãQà‚í7Œžl½\3z¹!n{¬«ˆMµwât»)þ0#Œ2:eJÐæXu‹Y7ÈZ#tZ¬q…=ÈéTÎ’Kž$Wœ'WL‹KÀŠ>Ëåˆ7Ù 6ó›ªÏÎï¢öã¿Ýé–îdCw¼¥2â&"n"ÚÌ ^”âOR|;Áé ú’N€)],¿¡Ë–½Ä²;Mz«Iï4ë{ͱ·æÈÛr|´åøÙ–ÁhCo²%Š6Dí·È1e%*LY£J ½5H¶]î·ÇÜÜžÞ[d±EÝšH£Â6„²¥/ÆÌ™ë)N±Tµ÷Âac÷¸ó'|ˆÎ¸)YMŸÖèÊšóñã+.ƸÃwS8.YÝcû¤÷P¿M1ßÍ™F7<‹nxv|ÓÞ=oÍÏøÑzÆ;ó‚­Ùcu¸ ŽvËNl³.7³#ïzÔÖèT±ðlZ¯ÃÖ›Ð·Ö eÆ‘ñ†Á³o1}“›Ó#nO¹98b6a·%v§Ä:.±_•Ä×ñµO|íSÏ|tk`ƒ°÷_zôøeG°F¢îCvå˜íÍòÄÅ8iéœìUiSåUîR%>ª±h}uTCÞàžÌéõ4s–ÞÐÍÝðÿYÃ:Ãu,F ÓÓÄA˜Š„ŽHE‚)+v›Ä¶ØYÄ[—EÑe™÷X|Ó%þº´ I»¨…„…Ä>lð‚Óÿ¤AaSçõMòÖdzj¢nL¿Ƹa¹™÷%Ê“„^©÷¾·Àò *a°\ù\}ðÝåß_žÑwjúΜ“Ñ ýãšÖ1¨l‹Ú1©“‡‡Wo‡|¬†”wC S3i¶š[Ž:[ƒ_xšco 4Zï«1jVGǬŽ×,';VVÁÖ Ø!• ÙIŵ4²K,ñDÁBüßÂï‘Gy䑟-?[áw{Èÿøoÿ•¶cPÙÔg6Õ¹8T8aIîèuÖ„~L…C©m*l*m“_¥ˆ^‚rS »4¤¼ï1#âM¡\ gÿóÂGBèÁÔ°¥ŽZ¶ã’|\±°+Œº¥Î\ªÝ¾šÌFú9F¿Â rœ §ºˆÀC™òжÜþµ@.hÑT4äû4B@“‹Jvhe– Ø[þê@‘MBDo/>7d¤M‡¬ìì…ßV@ª P{ÛóŸ„_…I‰M‰ZxgþÔ#|4‚s1ã™øÀ3>05æ4ŽIm[ÔŽE†O‹AóÉØ¦Á`Ð_1+†ý5ý‹oƒ%_÷ZŒžKlöÂOF 51!¶XÅ#–×c–ߌI¯Ã}”A½/Ç+8Ö9é\q|ø‘‘ša¥-ÍÜa{Õ‡ïaY I뀫ê·*Q¦ qLZÇ ± ÌÓ û‹ç‹ïóãÀcë ‰]É;G ´EÑø¥G‘û”‰K[4¤‚`¸fútÍù//9ÿ›ÌŒ ·ê©j mâµ^›¨”°Ê³Qƒh4¢ÖCc ¦¿ÿèÎvø«ÝWüj÷'Γ+þPüŠ?¿âõò%,¾¤^[4µEí[èCsRÒ{3~6crqO–˜[šk‹ô&SãM2º§ú'+¬QAi»ŽCî aè-éØF%|Ëí½ÇíÇêwóß{œ¾šsô—ïùÕÅ{þú/ßÑ r,³Á6k,Õ Ë¤FH†&ËCôÚ`÷Ðãþáˆë›'´÷’6´À73é E_ì˜0ã– ¾J±U -”Òecw¹&tzgÌôdß-7¨ ChÌ9ßó«ÑŸø/ãß2è®Ø¸=ÖnÄÚ‰˜C6±OvÍ» óõŒéç?òêø[~sñ_¾ø‘ßÖ¿Á¬kvM‡wõ»Þ^øíì€qH™›Ä³€øm@õ•F-Ki³5ºÜ ‡‘¢ûì’£‹K~uqÅø,ç»Áç|7x‰9(i{/ÌðNr¼*Ç-sæÿÚAêY‡ÝºE°?àÀ„¾¡ }à*ÇaS$÷-ZÖÝò•";Æýœ¨ ®lªÔ¡Š]Ê­‹4*°5Î4 )¦FÌivK.}ð­rz†í6Œ O†sž ÞqdÝ3*VŒŠÃb…%kÓˆåqĈ˜•ï¾¢ÿ”³ýº&ÿZA­Ð•B× *…u, Žѯ%Ñ_ Š{“ø+IñÖ!ý*ÀèÄø_î8<¼æü—WDG1­aìK¸FÁ‰¼¦/X² , Vë€Ë×C¾ùÝ¿ÿý~õùŽ_Þðêø¿þü*”äžMá:ä®ÍÛ7S¼ê”òîŒûôK(&õŸY¼ìÌ8.éuvtzé¿ÌPF‹’-Z**SòÑ[óÑÛqå|´¬)˜¥Ñ'6úì¤ÇGÑe+ù(¶˜¢aÁ?ÿgÝòyä‘Gy䙟­ðËw>ù»Ã}صÅ~oVUc¨KV8VëæèšÊ€ÚÂ@Å&*³Ð•½o1I ,\¹7ßð5Âh‘²ÁL‰¶öbL—‘*è~zÀW S4¸2Æ4·˜–°Ú×è.¨žFw5VÞà—ZÇhÓ   Ë£¬]Š­‹ÆÚïÕàPâ‚€Êôiíà;`ï;´û"j…nhÐ,·Æë¥“ï4§¶*jQR×P§.Òt0¥Ä– W”`*‚°¢6ti(†¤ŒYsÈØÑ%¦C‰CJð©Whú=m”kBd"=3’$퀬íR,ª™KeØ(Ó ·|Öæ€fc±­öÆÛnD5²që§.pëßK±zxšÚ2)„‹vV§"î,P…D—‚²´ÉKU š Ú ´ØRã]t¢‘µ¤ÕšZ[ÔêSI‹‹VìM€´e`ôœãš ɱ¬šî‹ û¬EM òžOQ[T94eƒÊrr¥YЉ—lUŸP%:%$Ù‡qÛá+DWT4¹ ¨MâØa½ðYUVeU9`YŽ›„޽#ì'„ABïlMÿlùS%Iˆ¥̶Á¬mâùŽ,ѵ Þ9Ú%×>™ö0 …áΉ¼˜w‡íGö){I_Ð¥ô§[FGK&'3|»D(J#4TÒ¢’µ°ØÊ­aàZCgIêøä–CnØäب¶!ßYlº<¼›â{Ûm„Ê ;á`z‹ßI© ›Y1¥f½íó°™°Û4 ¿Ù"üÙoÑ=( ‡Øè°0FÌ䘑÷}Ô‰Q(ìó ï<'|²£÷dͤ¼ç¬¼d]öÈJÜ0i2(oànÖC^5X‹‚I³ã8¬©ó–$kIwŠ$ˆËÍ±ëæ §sNž¬‰ƒ€8ôÙ¹eïE¾QCUx†¦ÓMÇþnM±í‘§ŠŠÔEK‰è€<Јg„ ½µ¨c}/3Ž1¡+ðÔ‚íÚd¦ºäÚÄP=kKÛ1i„Aã›4}‹ÒÙˆw«Þ¥Ÿq­Ÿ°hHÚ1­ŽMAx”­E–¤ÚÀɬ,Àȶ¬ÉÇ!ÍØELlKàϺýQBÚT¹ù© ªÆÙu Ú‘¤92ÐÂFÞ œQƒ?Èñì Cf´EN¹*HeÚ‡½ p¨…ÍLLh…A"Bœ2çûë Þ/.¸Iž0oŽY™Û0&-ÈOt (]›Ò±¨‹:±h-Ô¡GÊ‚Úõ(Ÿt²s D^¡³iÊZ£líX(Û¢‘6µî`}£ä ­g‘G]6 qîPõ%q«(g'‘aK¶±÷÷œGyä‘Gùò³~T@ÌÞä°ÙìM0ZèPÐî,ª¥K¾ H–ê7.õO»+@¸AKoÚ=_}þ@Óq‰e‡è°“ÊÌDÍ[ÚEƒZ¶²"È2ºFNwÓµSº~BÇHé8 ~'gåE¬¼>+«ÏŠ/Ì23#ˆrâ°Çœ1‹dÂü~Œ†ŸŽj¬}`¶c ‰Ž€ž£‚¼€ªDäö8%ØfDeFWäû‡±“Ö2i‡&é;›Ý[›6»]„´SLÓÁ‘àQ"©èÐeKDÐ$¸˜ÔôÞÀ‹—”€‚½EKC&Cî­C*Yñ°œr=;áfvÂz6¢–&YPc…vXƒÖ4˜ˆCEرʊQ»`Ô.¶ :ÖŽöTÒœ¬{}ærD:èÐ\„Ζ³é{šÚ¤­ ÚÆ¤© Ê™ ¿âŠA»T·B“†.r%PCÊýÕÙbÚSÖH©ñÎ3|'Ãgø/sÌiM}`qﲈÇì6Û;‡í½M~_0÷mÞ )F·£3Îì›}еqÅ™yµa ´±7ù(k‡ÛÅÞÖ, ˆ>®¹tžqé>aéôŽfh-9s¯8——œÉ+œƒ³_az¦¬HÜoTÐ;áŠ$ )k‡jî°½¨›J}*mãYö´¥°ådzËÓèVŠñ¼Bº`œÚLNk‚SЇ6‰ÐRë})M.\b±? ±ì°vûÔ}ƒ‘ùÀ/ƒ?rè\qŸFÜÏ#̈¤pYÞ›¼ûá¼r¸¹?'}²À£ny9ý¡Bk–‹1ëùxëß:4wE¿a%|>vè½ c¦¬ä€•ì³NŸíaò/";˜¯Lš£.ÉÑ€Åá˜ÛîÝh&õ-U767Ü-ûÜÏúÜ/úÜ-út³„£rÁQoÁѯ+ƒ«û!W÷.ï‡hÙCÛ!màÒô,Úl· çl80ï©”E¼êßõØÞEÄw]¼j‹om¾\á=Ù²¾›0¿®™}´™_G´£ó¤Áü¬A·‚¦´h&MaQ%& ÙÅLÈn2º=v“!ÉTLÖœŽ?u|²" +<²Üg»íòvû”úÎân{ÈB¸4ι3© ›ÅBwAMItÃuÓ'¨‚ª!¨Z¿E¦÷åiš1ÔÁ+É‘_œ)¶÷=6÷Û»õC:d6€ nÀðò¬%)ñ;KТ`97H] B”è é¢è`‹ÐL Í„ÐL0uÅÕjÌÇ|̺?F¿²yÖpybcºdḚÆ2© ƒZ˜Ü{®¦SÖŸP×SêV2‹ˆüˆäCÌ‡Û Þf»ãnØEŠ:?kRbM+¬IÉÔ »¬G8Ï+„Ò(ÙÒT¼)hoR„QÓÞ7Âï‘Gy䑟-?_áW;ö»a{Ñ—ÿOßsô~¤JA›”·.ÙUÈî2B]Ö¨Û×hUã+KŽ>[pøë%eße΄¹ï‡.ïš¼‚÷ê‡£È ÌƒAÂôÉŽ‰µe"gLÝ“vÆ ]óÖ¼à­ùŒ·ÆÑ¥ì80î9ˆ88y`fNy—<£}0ؘ}J¬OÂϤa¿¿õ“ðë èê½`žBž Ö öIJï…ßPdˆ{<.`Õí3#ÚÄ#½‹öÓrq ðE‰AKçSO/eƒBR< ,šÿIøÙŸ„_†G†O†OŽGi8û±Xá²’»ñmø»»o{´Ò@ÆP!G-VTãôrœÃ½³dßYñDà\à‰þ@$7\g\…g\gÜÊ#ìA…íÖt¦[†Ÿ/¨•E¥,êO'ù^`þtÕ5´[ê6¤!e"Vâ¼E4-ÂUH·EJµÏ2³¶[9¢É†è³ ÝåUEõ}IõCAõCI;¶É^žpûù_GÏü+~¥ÿ€@3Ò ´ÚÞ ?… ¨\næS–o}ÞüþóuÉn<"™ I&b¬¹ ^ú?ð«àüÚÿ=íP÷rß!—6;¯Cg´cÐY±=x`91ûpÀìvJü¡O¼ì¢Z‰j ÚVbx`?o鿌95oy¾ÃŒ*ŒO¢OÓ°&„6‰RË ©?ípjEL¹3cÌ\Œ)¥ƒmVŒÃÇ£kÏáõüyyDb±)G,LòêûÙ)þÕò6= IDAT’èÅšÞó5ÑtÃé‹lV}–³‹Å˜Õ|HvgRÞhÊ[MsSR5,»>WG¥ñÍjÿF„û«²=ìP„!ú¼ƒYH¿GôYcn½-R)¦ê–#ulßmÎùúá)ù×\ýÙÆöV¿ãËãùòøGÒÏïø­?g¾9@ËÊ h}ºgÑöÁ1rzƚî–’í»ëï\Æéé{†'+ΞÎ9=yÇÝÛ”·_ÙÔ:b½Ò¨@cì“ûy.ÕÂ¥¶÷£ÆÕƒÉ|×%½9àÖxÃ!Þ/ ¼_ üñšhœ°©#6uMDU›lÞt¨î/¸»<âϯIKâ…켕g#ª–EÒ%I¸O,ì²Âl,ec*§¯é”[B7&<ˆñ˜ÖøAMpVr¸Í¹û!ÀüÁ¡v‡l«#ê2[Q EZ+B?¥{¾%œdt_ŨیôMÅâAú¦KµtÐŒ€šB†XNå4˜N´‰ë’º.Iß…#—ÍS›Çéè€Ûð)ÂÒh J ´lýËÉ€Uݧv´‰ÉLU슚›÷5N¶Ã˜ÝaÌ0æwiŠŽ&ÐCoŒ1ìrzqÉ™ºäÔ¿ä`òÀ&Ò9L°U‰4íƒBÏjÚë‚j–"Ê ã®Ïÿîw<òÈ#<ò¿Ÿ¯ðÛ·ÈJaµ5VUcvVâÇ;ÌEê(JaPÝKš¹D­ä>|»²AXàihŒQ5‰qÁQ†=¨)¤C)-*ib˜6õMEãVÔºÄ* ‚]B°Jðæ AÍØ¾áÌþÈûŠ#ï[”(!ÈqÙ10Vô­5kzƆ¢ëüI†{”# A”ø;B#’ Æi8ˆÊDÍ ô,Ge)¢þÙ{¯%I²,ËnÝ«œçæîá$"3#³2³ª«º§ºg_üê¼|HsduW² Λ©šrrñ`ÑUxœZRÄ—È‘óêbbê×¶ž{öÞcïv´ã£|ÇT†A);y¥§µ} _¡YBóÂFSTŸÄ]F“€‡… ¥vx*Â&CWµÐH…M@“µè’~ºŠzè[Ñf«µBIµÈëÃŽc±¶(ïMtYa–9š*±dŽid˜~†ef˜Í «•âêM}GW_ÑÒv<ʥРd“¹Òñ7XþŸ.k’Ì%Î]âÌEd.ÙR¢µAú€unPï¹¹‹QH=ÂñÜ^„ÑȨäa稖©×NŽ¥§8NŒ[Dìömâ½Ëj?à1šR¿ÝÃÏ;øq?däS‡P¶ÀmA§Å¾è`‘Ñ!=±B7 Ve°j’)›lo- Ê»6åeEõHlP6˜6²¦“ãoð='sM¶Zƒ²ÐˆöJH´ªÂ¬2<—r[QÜiì_;ìg.šV¡k¦^àø f3Ck(·¢ÒjøtÙrnK!-ƒÜòØ™fz…K‚¥²C‘‘bŸ•èq/&TJ£#ÖX*Á«¶•À¯LìÊA¯=êÂc¿ë°Ï:°é Íœ5.±Ob;b:¾EÕ‚Ý®MRÛ,£y¤ IYŒY&ˆ¼$JfájëbØõá kíÖ6 ‰æ8•瀙Þb§÷™ëŽžÒ*v´Ê·ŒhÕÝ£wp¶!Æ<ÆîDøã޳c0Øà72FáŽQ2Ž"r¡¡û‚TÚ,Ó6æ&a‹G„NEÌbÊ5É¥Ið¶Éòõ®¾¤êé˜fAkEþb·Šq6 ¢_côr ¿@7KD­Ðí ågÔm*¨)êŠ òX…cľŠŸÒ§Øë'ˆH¤…!]4³DØ5‘îæ-ª­Au¯cjf3Çje åœ*.È%ÑÜa=¢R‰aZ膅aZØFM;ÙÐÊ7´*‹¦4±íG¦ØvŠá8¡4ÐvmØö©;5¥WP%–£|¡W¸zBæ”wÛÐcñ¦AtåpXNîJóF7ö§òL5˜êÐÓ`ª±ïèT¦OXôxØî1íÓÈ1ÌÓÌI4—Èj“»-êfƒƒ<)PII‘”°1(KŠ(nu Æh£Z1Æ1XqB?[ •-vxzˆeíÑÝš)j•S¥%Õ²†@,°ëÿ óî‰'žxâ‰'þøå ?è€ÙÈè¬è,鞬ðú ÉúP0©4PzŠÓÝa ò…A>7Èæ&ùÜ 9öÙô¡“¬hª¤²$¦]0²fôݚꤢÊJªF‰Z—hnIU,¾ÓIÞº¸#“þH¢F5ö  «m8Ñî¨¤Ž¥eT;z¡1[NyX³Û¶Y×]Ê3Fg‹ÕM>Ÿ38™1tg`À|0b^Œ˜Û#¶ýùûŒ\ËÉc¶Õhª„q½ày}Ç‹òÇí˜ÙnÌf×çq;fûºÍîc›xiSÇ ™—eŽUe8*Á!&gC…<Ê(Uszõ†Vbª‚ZÓØËsmÌGqò'7O‰Â"ÇP%šª¡VÔJRÛÕ—päÐ!ÓÎ=ÓÎ=“ÎÒ®Ø$mÖÛl®Û9Åh¢9—Ý3>ôÎØtû¥Cµª©ÃO&JB©B‰Ú–²Ïký *Kcî )•F;Ä+‡XwHS‹|o‘…YdÌ}V7mv·ÅCŽ^liŽ"Z£ˆæ8¢ÝÙbÊÇÄãŸ~üŒ·?·Yj=–Z—…Öe¥µÙNu6S‡å¤Íb:¢ÏŠA¹¤_,i•!žL°õÃ(ÐôŠ$¶YÜwY=4÷SâÛwî?´Ùï€R;Ęⓩ¥Bh ä!•Ðp ìALC´ýåD!w)r›!·)†Q!;QÒ¦ø©…x«‘gÆÁè$7(0É}“¼q袡m!f³ ô4Ì¨ÄØ•Á¡/6 f|Õ`2Hð¤dçLø©vØ^!jE Û4.R~=ù™ZÕøîŽÍÎá»zÎ÷<&ÂùÓÄ;¬|f}æóûÀB™6wï;¨ý˜Ý‡˜}ÕeZÔGÞ‚Ôt©|IµÖÈþÙÁ®R:Ñ–ÖhGû?ïàÛ’Uê±üT‘j42¶«Œú»ŒðCÉ¾Õ j5‰[>eˤuÊ—0–³cÚ»gÒ}`Ú»' 5îý.÷F—ûªGUitþ’Î Æ›f𢆠-EX6ˆ–>bbÌë]ŸÕ®Gìx¨ ÐO*ÌaŽÙJ1­ËÈPš ‘kÑ%G±G'ûdÅ¿åP1(y0µÊÅá¤>” ¨}>åF'ßÛp¥¡Ó¬ð‡ýÑ‚ÞhIûÜÏÆð.'z+1 èµ¶ôÚ[ºãÚ8d%VqÂj‘’Ä5~gƒÿ¬Æÿ,¡uas4¹¥;]a7”‡¿ûÞnáívòð'{<7¡RðÑþ8ížxâ‰'žxâß…_®ð³˜œÞù‚óÏ/9ÿì’VwÅ퇷zW}–æ…Âzžâ\äX{¢¥G´ðQ ba“ú>ë®N,š¬6CUH³¹¡Å–¦±ÅtSꓚÚWÔgŠ|.n5‚;õ+ƒåÞeð¥É³/$5 »™ÓÓ·TÆ-–žÑÑÖÜÇÜÝóøvÂý»crÛ„¾BA£·cÐ]pÚùÀYçŠ3÷H¸œóÁ>GˆñH‡8RT · •0©ç<¯.ùº|‡ÜÁæ¾Çþ®ÉÇ» ¢.ÙG“li~~z‘cÕ1å³§F"©±ÈJѯÖôÊ ­"%¨u½Ñd&F\ËÓ?‰¯Ã•ЃMUª([ úŸÚ hŠ€3ÿŠoüïùÆÿž2Óxµ|ÉÏ‹—ÌcVªÇþ¨Íãñ1o"¬QFåJWR ùIø.—zŒSÂu‹òÁþ‡&Ëï‡$™A© j TÆ¡r wŸp´¿ç›ð¾ ÿˆï†ü(¾æG¡ØÐ#*šä76ÑM‹õMŽqW’&6Y|Èí#BûÁQipoAjÀL°·|>ŠSÑäƒ8Gø5»i‹íQ›í´E¡ÙÔ+…ÚרüSZ}¡A¢r"mX}*Kcáx•¿¤N%E¡ÿ©ª­N9רÕR'ÛHÒ@’„’<,0½=íÆŠñùšÉ×+ZÀôcÍã•ÏÇ«ÏHï>#6‰´ÿÔ×_»¬¾iÓÑ2:£Œ3q‹Ì¡•†8iA¥¥8v†I®Uä±NpÓ üÞ!øÁ&¼´7áÆ :hhŒOÂÏtup »9Î ¦áíè -ê´,GOs´,§ ²­K´ñX?¸”Eµ—Ô‘FI*¡Q5ª¡F5<äe£6ư@’Ès(#‹baR>˜&ÒÈ‘~†dLíjì–¶Ë3~üháë{ýçœ> êŒùmƒùmƒ7? ج\ 4J$¹2‰êCnf\™` ƒÚw®&ÜH…6µ'6â$£s¼ Í|â¹O4÷H^ÙØZNg°ålô³¯/ÑÍœá)ïƒ3’ Ã>’9Õ:'¾Ê1’ŠâØ&?v(ŽÊc ö¥ª!`"h·¶\Œ.ùfô=ߌ¿g·ið½ñ%²ú’MWoøB½¡F µ*жNˆÏ~`¡våIê€CAGLêgÕGfû)Ö¢ »qX¾‘>Ô3E½QÔiYy‹¥5$ =+qd‚’CÈZÑ*B¼4ÁL+²Ò"3]vf›™5æÖ8¦Ç ¥9’]•ªÀ$ÇT9ÊР%©•Feƒ/÷;·|ã|Ïÿàüïä+ «yŸ7¯aÒb·ïvÓ ‰°jÅ¿ÞÑP;l1eŠ¥¥X2Á–)Ú®¢ºÕI~pÙým‡Â1aªÐ& ]q0þ "(h!ÓôÏ÷ïøíæ_h; i³–}>Èç¨L#{pÈ.]xê¨XR'’:–‡‰Ÿ’ ÌOÝ@& +‰ ò!£Ò5–¢Ø Ú âOñ(¤„‚:×PD1H(ĵ‡¸» î¸ ™+d\#c…Œb¦à–?•Ú—Ô¤T¤Ô¤8^ˆ×\Ñ?~àøËš“=WaÅëWzÜý¡}0V¡BR#TEZZÄžb?QìJ°EI?_S¦&fR`i9:R*”&H#›õC›Ç×ÿ¡Ëî½C]WÔª¢®«Ã`çß&~†C!ôÃs#„BPc8¶“àuCš˜ªäÆeóƒÇ~é\u‰?º¨ ÞHê8|~gÀé¡Ë¬&M°YÛd§„q‹pÕbÛ"¼l18š3êÞ3¾¸gpqÏþÁfþÃÙzÂ|>¦ï,ø‹£Š“³^|}^EDù 6o'|ÿú9—?” $%B*êV ÕrQ-Ѭ‰“dé³Üõ;Aó75­!´‡íßm1ÖU¢¿÷(^[(SÒð&Ý[¾øæG¬~JµÖØ­ûܯ êY›ìuIv[ ^—p]Âç&*4 4P†qx)àCðû{ަw|9ý™¿>ú{–«>Iæñ>ÃÚ˜`š´_dLþbÁóß\Òz¶á–#LƒdïmÄ7>ñÏ âï}êcIu¢Q·$j,Ð%v;Å÷Bæ–ZJ²Ú$«,òÚ"ÏMŠÚ¤–&ºe"옺ÞQ×{êêX¾&µúÔu AIš Fƒz/©o5Ê[ƒúFRm l‘Ñk­99¾ÁÞ¶X?8<\¶Ð~ècz9É#ÇÆŸOßaÚå}‹àC›§…4%N+¢= +¦ŸW4eˆ'C„¬Èj‹2–)úÍûí#´ûÔv—ºÙ¤>í¢\þÅúÿç€{â‰'žxâ‰ÿøÅ ¿“ÁG~÷ûÿÝ(q½ˆj¥qùÝ ÞWg\ÿèqå³ß¨zA¾¶‰?Øàú¥E’ùÄ©G‘Y L7;dr9 N#ÆUú¶ |lržÑ°ZýÍþŽVo‹k•”Ó¾.‘º"™k¸/L’=nFg¦Ëvë°Ùü¹>.N¸ZôÙÔÕXàŽ3:í ÷ž©¼¥o("“Ñ9«hHªlní#n#î£C0{e ÊÔÁ©XY'¼33 Ã"ÐÌ[c˜Ö\Èwøe³ÉJ÷Y%>«eƒ0¬¹¾êc¹_Ç>“Ú Dïhý‰b6›Â£€GI´kðÆxÁ;ý9 cD¦»„u J×&aíaµ ú­ÓÖ#V+gµé3›~LÏfcjGP $¹®“u ô~Î8½çkùGÌFÎóô=‹þ€EoÀBî]ŠME’ç§TuŒ6¨‘}1h ‚´g£½(h•ŽZ×`Ñ)1:F§@£B‹?URѬ,-æa?âoúœ)Ë~·ñ›Þ8m} :þ”3Ö–”ÏtÖë.›U—ͺÇzÕE%%¤éŸªéí ö !ƒA®d¯ûìu½æQ5$ö æØÃ¥ ¶u›ì°µÛý&蟠ÎA0ís¨3Ø¥p“Ñò÷ô}?¤7±F%b¢g –% ,h² Aé6ú;“껾, jG§óm…y¼¡Qîñ‹=~â{¼/î\Káîa¬Ï™ÖØFB,mVu‡Y5ä.8æjwÁvÓÄ62žOïùü/.ɇ‹ Ã"<Ô6in¦¢q dˆ}ŽÌrô2ÇP‚šIŽI‚ó§ëÃÿb:9þ(f’=RšqßfûÑgóÑg›úD¹ ŽÆ:KÊžFêÚYQ傤òȰ)¥dµE´‘›šüÁDD€+螬h˜!žµ‡©âÁŸRUUñ¡;âñ‹™b_xøb‡/|™²÷j"W²wM"×ÁÜhƒ/qâ9²o¡:>jë³þŸ,÷ˆsr¤¡ýeNMÅʳ¹œu)ÿîºLù¸oóJâpŒæ˜Y‰Ù­0[¢[“wò®KÞqÉ+ã`j‡¬@ve‹Ëýæ"g_úû&¯â—ÜG$=‡ÒÑØt:ܹÇ­¢ÉŽ= C}ŽÞ™¡Öè¹Bz°Ú€ÅlÀrÙÇ;‹s&öãÞqd²\´Y,ÚÄ‹6Ú:Û”Æ ¡ùŸSêÏ3Ö‹üSYi›AwÇ 0èmi÷RªéŠjrO5ý@5°®z¬ãëu—µÖc4¸ÿxŒ®•Ä;—`îpýÓ˜åÀë«>qâs{ûœîY@ç‹5/V´Ý šV±{ì¼î°û¹Ãö®ÃRïöÂô©tQ• «LÂÊêڜ^stöÀÙéGÎNoø¸9åçÙWˆÁú¦‡j J]Rt4R݈۠k÷XÍŒãÉ÷鯴—¼Ò_’éAäRÌ*Ô¬ œ¥dÛù²F¼4î-‹¬k£}^Òj¯±.’ƒ‘‰ã: Ž“v‹£(0‹œz#Iï\ïÆ\Ý#*E÷ó5Öü¦{ƒß Éuƒ¼cŸš¤¡Å‡»ç|¸½@Ý ¶wmªMydÛò=-ï‘óÉ/_Üòåó;èjÌÌ3ë°ŸX8-GÓÛÑòP‚+íŒ+ûœ²© [ Èøs2ØP†P´Ÿ=rñüÏÇ÷|öüŸr˜2†ŠyÞç5ÏyÅ ë¼Í.0©v-‚›1n™ wbŒNDû×1£FÀ81J挓£tŽ9T#0L0÷ ÛʰõÇHˆm‹uÞa¸Nø°Nj<Ó?pz|dzÆ´Ó‚W÷Ÿóêá ²û>ÛeçÓ—€B¢GöZúIøQ QTHr b ,2$ ƒÏpG Ž•â¢Å•5âc6"›ˆÊ.¸t;¨c“ÂמE%!Ë ŠÊ&WÖAøéá·‹[ä“P4ñµ=¾Ðy¶¦q é•£sïq]œ’ÔÛŽÃö¥C6q±#EOŒDÂH¬hË-sS²0Læ¦Ke4éä½bC¿XÒËÙg6©Ëfç² ÉL‡Ê“Tc‰þ¼ J+Vs›bÖcñ}†Øel²6ÛLå!BÌI…?©ð¦Î@ÕMöµ€Ú ¯ø³ð“€ÛªÍûð9aÑàcxJšÛ,âscHÒsP Ø´;·"ÒmŸ|„K,ršZH¯»¥s¶¥çli #^?~Á«Ç—ð«Ç^1´æœ÷/yQ½a½óÐ.'į _éØeÁ°÷Èé`Æù3ˆ Þ¿îpùªM–´‰+‹É0àåó€—Ïo9=StïÈ;-òN“¬Ýæ2zÁåæ9Ü?g«uÃwŽˆ¶—S²@²}tØ>ºä™MU*æû ùªÅâþÒ«ØE&[a·Lª\±Ï¶ÔW;âÙ–å÷!ƹ‡yæbœ{ÒehÝ1xvÃqû–Á·ÜÖkÞ"x'š‘Óð{â‰'žxâÍ/Xø]ó?ý~Îã|Â?~÷{^O¹ü¿_ðêÍ9*»¥În¨ÓU/)66EÑ#YxˆwCTK¢š@K ZËÉh±eä>0éß’d.³í”Õë&ÿ89äM%{¦Îþ4¢7\¡Mk¬±À­4%Ò$‘=®µW¥àqgòøÎäñïMÿÖ¤š ©OûÔgágÓƒðsîy!ß±O}–Û!W÷çütõ5ójD=Q¨j jÔ%%Ê”H––ÅÞìskœãj{¾m}Ï7?r¡ÞòmýG~(NÑV_°»Šù i„Á€(éswÛBMz/Bž¥WãçŸ~E¾5ùkñ÷uoøuý_¶&íX$ò°÷)ö»-êl>ç`• ÈB6´ük.¦?óW/â¿üö'ÄXçÒ=åÒ9ãÒ9#3MbÎP.Š9*—¸vDÙ0Y÷0‘°ÖúJ„ß:„ÍÖKÚÕ{.&oø]ã ¿¿xK×Ð …–+ô¼æC}ŽCL¢\n9c¾h°û®Ep+ØËŒáz`4} ómÈø› Ï÷w<?p^q±¿Bê ôÃjžØCZ›ÄžM¢[ÄžÍjßa¶q»;ájñ'OùܺäùÑsñÏøñÿ dö€‡Rƒ¤I EI¨3ä>G¦9ZY`ÿ¿&~‡“AINÛÙ2²fŒ†sFõŒýÀÀN/ÈçÌÝbÀiâZÆ:êØ¤Ô5jÝ"“:²p¨+¥tj©£ AVÛä‰E¸n!2Ÿsß éöV<ë~ &×éwÉ7É)»ºè–ˆq‰°J|#¤'ÏdÂ…\1\  ‡R4 D‡¶ ˜ª ',8V3ÞkÔ¯†¬vY¿’uLô/sô‹ýËœ*¨XÿÍâ‡ÕßéÔ2jeP)I­öhÍ˯ð¿®éü¶¦ñØÌ@Í ò¹ƒ˜+T-ÿ% Ã¶l† ®Â34U¡„8<ÆFÕ×í’M»CìÚÌõ>!}–ôXÑgÉH›sÖùÈ™}ÍùðšÉùŒÞw+ÔR°œõ‘ßÕ¸"fØ›sqvÉ·Õ÷ÜíÚÄ—³Ò©þ¯Z#bð7W¼üü ¿û›7Hjïs²äsoG”‰ÇdxÃ×_ü—ßÝðë_½'qlÇ&u,bÛ¡½Þ [¯Í•~Á>ho</§ÈºF%uVPçu^R”0ß·X® ä z/¨%Ô-*s¢í#ñãŒÕN!²ñë!"6Bt†ü¥óµùÌ™ñ—öw¼ÝGè»&a0åjW< ¿'žxâ‰'~Ñüb…ß|æó{ÄjÝçÍëwt¶³œ,Þ#%rd¢5Z˜>8¶Žcíqì[; ®="åÕñÊ£jjä‘IR:ìå2Q IDAT…ð,]ÒÄ&Mb屜¹¾=CjZõ–P5þT™°h¸!¾â;!¶“Õm¶eR›4jSÇMH]ÈL(iâ° \oOÑ­’´²yPSB¯ƒO€ß ñ›¾b“À@".Ô‚z¤±˜ì‹èÅfgð µñµt­ Ð,._¸¹›²Ûu©*åJꮆêHDW#žØ¬Ýú&§ü^C–?™_µØ.tâ´:„·Ž@¸‚z]Áº„UQÁ.7¹W]Þ§xnÄeó÷½ AØ¢Š5â¶ÇƒsÄ+õ%b¯êsl‘aËÛÉØ©wË.ë™$½ à~ŽzŒ!’(£èIJ—Ôº@h¥)ÔV¢vj+ )Ô¦Y¨‰}ɶåá´ûÈV ž ±L;§g/iy[l+Æù·Ò#|aÔŠM=$RÔ˜%cBÚ©£ë [+ðµ˜AwE5¶0“’– È›â¤FôkD£Bˆ9Ý!?Û"“- ²ƒõ)Jh(Û¤>jRi-êy“Ý ªÂÀ)RtwAëhG¶°H—&éæÐM»Ài¥¸­§•¢YõÁ/E ÐÀðs¼ÞÏÝã±ÇÚ§`¿kR¦¦Wa¹%¶—#Û5á‘G‚SGôœîç{Ô9„Ýú˜yí±-âLQÆiY°¼ñøØžb›:Ò‘ÜìÙv§T¿i#3‹øåùg¼?.­IâÏm’Ä&ŽîÉ•IëhË ý U®ž•R!J0Ê«ˆ0‹«ˆÈL›mcÈ&°ý8 t4˜/YÞZ<^¹Ì—.eé"zòT¡½¨/2”§Øj7f¿lÀ¶&¸¶o,² ±ƒ®‰87àÜ„¡†¸Ìá2EUl26ºÉ•=A¹‚u³Ïœ WÙ‹ºO¡ëì­7gäµÁ|;¦]opí׎píˆLi\î†ÜßXD?ðñþÓˆS‡vÙkÓg7÷|¥]ñ«ì’°ö´Þd'„ûÁm‹ð¦Éþ¶ITèY„–EèyDR9¬Ä1+³Kò……ݨ(ÎM’c‡ Õ`­wX‹kÙe-º¬èqë±îuI°P®Sœƒgd³Cq¹ÒÈJûÇg1ÆC Ìv…á Bå³`@ŠMX4yÜN˜ÝMØ¿ö¹`- ùçÞ/Cž—÷K¿Çc1$6Ùd¡õ¹u¦‡IXÑ+z¬x¨F|(ϹŒ/øP^PÕcï‘çÞ;äN‘ßY,æ=îî¦ó÷Á”û`J61¬ŠÁxųñ{N'ï9ž|¤šš”Sƒ²o°=J l2,è°!V±òˆ”ÇNµX©³j„S'8u‚©%èãG$|6˜qºÚðU!1Ñ^ãîc—²h³xü ­k°rš,[ ÊqÙ”lGS.GŨÅõœxæ_»Ä7.ÉKåiÔ®¤ùlÇ—_þJ!ê?—Wìif[Zù¡vQ›w»Ïy¿û‚âÊ#ÖÝ㣣GÆÇôÛøûþ~.1ö{Þ'5ïc‡wûì~®Øè&ïŒ6‘1áÆxŽ7ØÇ!ÓãW\_#ɵy~O<ñÄOüRùÅ ¿ëëÿÛû e¥“åYfe¸ZßBÿÒÆø+û[ž¼çD,x&îy&î¹üñ%ÉÒa±RvÂOËšT Je°¯}²Ê¢.%El°XÙݵ¹6NÑ6u%©Jº’¸FLçl‹NMß[ò¢ñž“Gz8H  Õ¿ ?bAzºÉR øP昭 «‘bvìfÌÈzäsùš—ò/ÅÏLÕÃÁØ£ ò’À柾ÿ ~ø’å‚ô§n“µÓçÊ10]“|Wm3òMFYfˆ††vúoK´¿ÊPµÎþ•Ïþu^ êÛš2Ȩ‚œ2ÈÀL].ø-ˆsÕÈ¡Ja•1[Íäʳñz|h~Nd4ÙÕvz‡Â1(•An0WCÞl_â–~óRï;²ÚÁêFÿÀ»ú]èu ßA Zã;Ž!_iWü>ýgæªÏƒ1âAŒPšb6 nÛÜýxÌý'$sˆÃOµ§nhäŠóùs ó$%ïÄ=‡°å³ÖÛÌÅŸ²ýÔˆ{wʪß!vlT·æîÀÞµ"-²•ÇìUœÐØ0U[ŽÚ[ŽN7èÀžjÂ#c–å€xë“ÜyÄoç´¾f\ÌñdD>0È':…®³ÑÚü ýŠ\ûšký˜«âŒ@6Y}îì)¹áD\óŒR $шwÅ ¾O~Í÷á¯ië¾ò~àÂÇ×Þ÷TšÆO7_óÓüWüüÓ×ÜÞž)›‹LY˜nN²ä³_]ò›¯¾ãåËy°¦<Ú¬ sÑÃ"Å%¡Í‡„5]îÕ”­j³¨$µƒ(Õ§ ´µ gãKN8ûj޵Îxó½‰úc›Ý›Þ ”y0ÊQ&C¡qÈú´?õ] ›Ö)lRÒJPj ÙF×tÚg“¿ºcìÝ39¿gؘÑ bI_,5|_}Ë.ëpŸð&ý‚Rè‡B§¥c]«°Hiy)sŽÖ¯‘EM! Ó!1lÓÁ”Ý“%ÝÞ’î‹%nQKq¸Î-AÚâïtŠw#n/m–÷#F_>ÐÕ7 '3ÆÏx˜÷ÑêÙªb÷ÎÀQ[úÏî9mÝqúü§›¢ „@!ñÙ3©gLªãzFèüóõ_²û×Á¿v¸|<§øIŽE64 ]—Í´CÒ7±^Ä ó ³ °tv@÷ÙR3G¢(‰(÷>÷»,g]ÞþÔE;rPß*êoê× í¼dgIJ³ÅÂ:Æ. ¢À'¾ô‰ÿàÿ«Çø›{Æ_ß399tÝ(?}ïk¤R´‹-ÃtÁ([0LÌoGø?•ä«WǔʠÛ^qê_ñâÅN/>ÐMWt“Ýt…¦üÓOÚO}6W§\þ\²&±hs'¦X2糯—üê/7\t¯ùUsC£óXKà›ÿˆ#ï‰'žxâ‰'þ»ùÅ ¿(neŸ&À‘à èJä@C^˜çÖ™{*ñŸ„Î]Œefhe¢šëd×6¯©tIJ²Ø¢nHäó’:=Ü7Qµ„¤¨‘²Bj5ºSY&‰n“H‡Dó( ŸÚöÁkà5^k‡ßYâõJèHª†FéjT–D· 7ÆnD8­˜–Üb† uX…ÛÄAÔB•ˆº$KKò$Eã9½Î–Bµ)*Ÿmءۨ4…4á´ ¼^†?ŠñŽkôØJÔJƒ™$$‘ÄBI 8ƒgãÕ˜'Šä®"iU$VEBM!‘f¢t›Ü”ÔÒ@àŠÓ,(*ƒRèäÒ –.jà$ œ²Fˆ !S™RµSô‰ByÊ6PÊD¤Z!±ª W%4dÀ&v©²Œ(¯Xe‚å­ÎòÚaµl²Š»$™™ ™YŒôj4ÛBï Üã÷4¦ö!ð|îí 5‚y:d–Ž˜§#ÙÕ§éNZ8¨R@ÊÁ„¥JS[£:µ0 +0›%žÑÖ¶˜ eRÖU­#jAhæ„ 1¨›ŸvbsEé R×%t»lÍ)‹ºÇ}zÌuxÄ:&êQ*FÕ_Å×÷ ê%mµeS´ØäMB岫ìÊ&AÕ$,[„U¥WdzÍ^S¬tEíè^€í4¼›²ÉrÛ`þàóøà‘ÙƒAƒõ°ÉÆlSk»ÃºÑeÕë²NZT)Ô)TY†‘Ç”¢"µtö-Ÿ ß%‘>…f¡¤D§DÄPFiU¤j-B³Eøÿ°wçarTåâÇ¿µuuõÞ3=ûL2ÙØ7ý¹+î"!$ ¢€\V¼‚\îôŠ0(;H ðŠ‚rA‘ìÉdö¥÷®®ý÷GOÂ&Ù ñžÏóœ§fªª»Þœô’7ï©sô$ÅP[.íP› &¢™¤ÕÍê0ã•>bF‰`(BІpÎFÒ‚±R% ˆHÑÚ–(ø1/âà^ÄÅq lâØÄkÕº”‚·¨ 3NßH‹ÚCL*£D˜*¶¯ãº•j”|)Åp)S«$Ž6É 0CrzšP31½DD­R,tÕ&¤Ú8²ŠY1¨Ê¦lr-Ôª‹byÈUË ×†xʵV²â8Vˆ‡Ëdâƒ4ÄÉÄÈŒnÍ”B!!ÔdC[€Ÿ–q4 ËÒ1‡ $@ŠHɨMªcUuJNŒœictF õäJiò¥ùBŠÁÁJW7éRVeä(†Cc¤ŸæTÕÑ{aMÙ`XŽ‘ŠxXøx¸N×ÉP.5ÈA­ÅA+ب–f;”Lª'ï¹Hf€ÕÆ*X² £§LŒd™XªH"EõL$ÓB2dÓ"$[T4ŸrR¥’‰à©*±R™–B{ç_¦PѤ÷sFðGlJ††æDQÜÙÑ›^ÃÐ]“ÃLh\‡â÷¢ý¨~%(Ó]EÆ!LÑMà9Ž_¨­G/‚ { =6ñCŽAhD€ %h’Z$Ô½|Bí>FÜ#B‡ "qL?‚åèxUÊ^¯„Mˆ àn¬%<> 4ùhMUdÉÅ“kExŠ š„± Em´ˆM4VÄ«—ÈÕ%ÙéÀ‘6iŒ´RNdêbÔ5 0®½‡ñ{7±‡ )aF˜3Æ‹( À@ PË…ÍQVmì¤kCÚP)0‘?ðÈÉäô0Ñý-¦ÐOa8 ?¬QŽ’¦6ÃûöþAòzœB(F>§¬E¨ª¦¦ª„)™…î(]Ï6ÿ›¹^¢¶*y)( ëb{kÄö Ý«JÃÄ~úWk¨«#¸«SòêhÒ‚ vï`&Z¦Sïf’¼Ž†è ±¶2±T‰hg™Â`’l8y½D.ÖLµ¥¾±› é^¦ÄVѪw³ZkDUš0å&P‘QÇ?‰˜V!-ÓKÄâe*A¤6g ”\*Ã1¼A«[Ç[¯áW@n©"5[(-JÈÅ}>„ûœFÐÀz¯Á§:N¡ì…ȇ£ –¢t¯²þƒ—þnPÔuì: «NÁm@‘ÁÖÁQÁ1P’&FgžD[…TCHºŒ$ûä”$E%†oËóIŠ]I ë“”6&qäÑa|’F )ÐëB·}ŒT1âYꛇwp/‡ôÐÜ2H&6BCl„†È0ÑÀ_Fr%peŠ$x1³/ÆKø RÐ1_’‘^’ñ×É8/Ë ÕE¨¦ÇÓ]×γu.nJÃJêTS!¬¤N`Ê0ÔfÍ…öñ½Ç%pbV Ó×ßÂK/îËÓ/ÂË›ö¢Ä©1ÊA?P±$©V‘“lÉ$õ>ôûÒaƒúö$¥²Nµ×Çy¥D𿃔bQºÊ)Fü kà ¡z >RÒ'4Å"=bRú;P·[ÂÎÃ`>D%×Awn<±4EziŒöѤôѨ÷âdCTÖEéþG=϶SIE°'èX!l'D$S%Ï1Ní¢S]G‡Ö5:<±V¯ˆlb4XÔņiïÜDÁN K~mxÉG–$ÙGV|äÑmÅ3(»JNmÛ4ÓƒIˆ1=O]lˆæh/ã"›H9h¤ % ‘Þ …g4ñ+…k‰ß 04º„¢DZ4²v›¬ Èq9 ¥|äd@‘ðt´Éeµ·ˆÚWDí-"\ÀÉ À@‹JÔï3Dý>ƒ4Mì#=yÕpÐ"µÏ$UrÐS6Ú9%Äf_¿/B©7C_Ÿ‹‘11ö+QJueÅDZuÜr7¯S-”ü%#F©!†L¹ÆéJ_ CŽFtß"÷+1ÞÝÀÁÑWX@†¬œÆRuLRØxÔâ®_Ö^m¶Œ?¤¬Wñl ) å}¤‚_Û:>ê^.ê^ê^6ê™irÔ!åƒH«úaUVÑ"=$JLkÐX_bœ¶‰q ]tLé"è÷yym'/¯ëdÓÚN6÷· *Z­©!t]¢ib/“zhšØKÓÄ^’ö k˜¤=BÒa“<‘WÔvV©{³*{%9Á€õçÚwŽ ‚ ìvËÄÏ÷}n¸áV¬XAL›6yóæ!Ëò«'I2È!äO(í£µù„ör Mv0¢6FÔ&± ³Ç†Ž©²‹¢zȡ€’룔j‹~ëõU ½B¤©‚±w?.SHRHPÒ¤Ú?^>rÜC‰»(1_GÕ0e)ð0%[Öp T-d •I†òdô!$ÃÇ0JDÃQbF”¼Ÿ o§ ”¶tœÍ!Š=q†úR ¦( «( #BAAÈh’K]Mfb…Æ÷HjËI‘/ØHýÔ†&z*øx*²¤¡Ù.¹D†«Ä¤2 ¥À³m`úÑ*JÂ'îU›JACRÂh…pÈ%.›$ƒQ"„‰£ÖÆ>¢ab$ñ‰I&Q¹BD-•*(’‹¯H(²GH©R1£XŠAÕ5°ÊnU# L1ðãþˆ„´VË'èw1ûr1zšØ0Ðɦz66Ð;XÏÀ`7BÍxÉñ¶!‡ <‰À•<‰Q%^W"ª›YÔ\K7°õ–n`ÊÕ•bœÊPŒJo¬6œKåÕ­)ÕÖLÓ|ˆyÈIPÚ#\ïÍqP‘yâþa¦¦£J.†lVl ÙÆ-z£ÍÄâ%t¹ŠRuP†ä2’'C^¡D„’kÔî%,Ȧâx(’‡¢Õ*$JÙC)z(9À’0c!r‘(}‘4Šeí†VV­Ç‹ÏMâ•u“AV@Ñ@QA¡–ÌÊZm<¤"—6®¯÷ˆ4ø ÷˜Cr¾Bܤ¬T­ e+ƒke0ð© R¤>1ˆV,3RÔÈ«È}+ŒMaji|?Tbi!4×¢ÞÂL$Ìr„l®žîvlWGJHeÉP«.…?ücZ13KDΣzž'Sñ¢¨¸º†öˆ¦Ê¨!]±Ð«6´R±ñk÷ƒ¶œ—"ëÖ1âÕ¡º–\ÂV³øŠ†¤BÒÏ“tsè®…_•1«rjŠ­‘Íj;=´’%…ƒŠ.Y¤¤,n â¹ ®¥â™ VAÇ*†ÉRµ™2£>$«õ&|aÐj ÜTEÊøñ4R%Æpo†áž ÃÝ ”²^Å'’réøÐÒ!U" ½ÚB9“%â“!Q'E¦N2œn@oµ‘JŒøµI-rä<*Ý ýz=²7‰R!F²±€‘4ylÅRäJÅŒ²®8‰¥NŠå8NEe¸\φÒ$ìRˆ®hÝ•0ݶNÞ P%ŒE›&,Z°ñm Ë 3bfè«„QU‡°aÒé£ÓX»AÇvtlC§âDɶ$É6¦Èê)Š^ß|‚ßwгþ•ñ¸~˜á¡VúÍ0}ž91B¤Ù œIe²$3YR™ÕÈš‚ëk¸¾Zkv€Sµq6Ø_¶qUZüVZe¼˜‚Rð£AJªMÚ§½®¥hA(+˜†Ï¢"mŒQÉ6°Yˡȓ÷mD«~ #ji²Cka IDAT‰4YDšlœ¸Î:kk­‰ô[-Kil[ÂŽËx“$eðCà…jCK‹ '-"¡2Ñt‰HG™hP&Ö\"V,-•ˆ[Y"Þ}ƒaþÜ?…jNe͆ÖwÅ(”l³ 6"„ ¥!$C(J©n˜þbÿ…0¥~ÏQ°MHuT02.¥D@±U¡Ø¦Ð#’°h2zéÔÖÓ)­#*ÒÓRGÏiz"i‡T¬j‹‡Õìá>~\MÁ–5ª„±!ܯ*C万Úî ¶9(-.C~žÍãÁÌŽcs5A —xàÃAÓ줆• a%C ÈÄiˆ‰’‰ Õ¦5†ÍºKmt;è.¶ã…d´¸Mk¼—ññ„<-ïÐ_hf¤Á Tr‰¹D’\"I)ÃH$Ó9bJ‰¶H…d‚bcœbG‚B.N0 ã(ýµ- ² å ˜&$T¨¯%uDŒZeZÕj‰ž&׆z'BÔ!©à7‚9)B¶1M_¤™À°u¬»§¶T 5RÔRøš}2ôKP’ ðQ°6Lò€aRuäk 5‹’ÒÓ*rZE’t†Fbé¡«6 ‰€ãˆyÓUè÷ë)—bô´nvP[\ºŠç7ƒÓq|\1M®œ¢T‰ãV4FÊì²ÎP1C8R¢dV(Ú&%ÏLÂIR¢‰ã(‘³3ô[Éæ3ôåZH…rŒO­£™~:C눆K¸!#„Ó¤‘óR¬v²!ÒIU‘·âø¾KøKà»d‡âxA˜‘‘Ö­qqZ|¬V{’ÑêÓËѢ͢ÍFU|¬@§„±ÂPˆ54FÖh”¬0êÊ Fe¤¸‚’ ¢2AZª-¢6b-4Ú‚ÑÄÌWÀQÍi ŨlÌ08TE·L4Êô¬û.û8áL•èþ6Ñ,¢)Ò ý¥fú Í äš)åSxx o¢ †eVj-'¡;I=G]Ý0éöa2úõö{ˆŒ=Œ;à2¸Î ½Áóë÷b¨'F6_G.£¸%ñ3bµ…Îë4H…F@ "iÊ•ýEb¿J_Y"Ùh‘l÷HvTH¶)§ú#aú¢qìh•¨^¦Iëe²¶šy–„–gmó8"Æ8”v* І‹öð 7ìãëવÄÏ’t¬ÑÄÏ×ehÙðÐÒ6¡t=]E¶±-…Í/¦é{YAn!$k„”!YCލx ^“‚×$£6ºL̬abý$Õ'-Œ}L£ëW3lÇê½YÝ¿©X– ëh¡— Æ:\G¥;ßÁæ¾qt÷uõÓ¸Í2®¯àê2RØ'aH(9F‘pºJC3ýÕ&¤ª‡i†ð6ªH¼¨ ª *E(ç ’ƒªjªv ¡ÑJ¬V;WÕj³fhU EÁo 0'dÓ¨Q›ª¢2¥ür”ÊóQÊÏE©Ä¢˜ñ(•D?¡BA†a©vÿa ø •j«¤£.šR»797‰Q¤Åé¥Åí¥Åé%f–X_ßÉúúNìú(Ù¾Cê8<%É@vŠj¡¨¦¡Óg4“5êØPž„Ök¢­2Ñ^® ½dât„©îÅJDÒEôx…¼âíÂo>AAصvËÄoóæÍŒ÷êÿªvvvÒÕÕµõIAœõ„<“:y€Nm#4ÇÖ0 Ÿ"Qr$ѱHyšè§3ØHŸÑNº.‹a™HJ@¨Î&ÖR¤¾uˆæÖn&¨˜b­cн–)öZr^ KÕPX™H [Pq 2tÉÈÅÚß1½LsºŸÎô:²ŽOOUÆ(iÓÉù ä¼03ËÐà ÓÞLkÝfZÝ.ªå0½›[éy¾žÇ:PðÐÃ6Æ~´2LÇ>›h¢Ÿfúh¢Ÿ:²TÑ©¦J30H†sD“eB–S«tTvÁ³¡hc–L3ÍPV‡î´)£TÜCÏÈgkÃKÔªZÀ„l%M¶œ­t¹`öÝ~/%D‰Y2ŒÐF–À ÑWn#7’fÃÀDÚ"›é”ÖÓ ²ü"¸ºZ[Ï Á Ås¨ø½^3^EÂ÷üÀƒÀÁ÷]ò#Qòù(lŒ%òÑFs‰Èø‘—¨é Ï^l`2« ac¡2Úúä8îËIF6')=™d(§| 0:%TI®%~©¶®^•ZÒm:RF›!¨®ŠRÍBv3ð7`Ø}`#ý›>H¨Ã"&YÄêmbS,TE¢ä$(“”†T†cµJbŒZb¦ëF_ÛùÚßAȱ‰iE꓃4·tÓ–ì¦nÚÙLÝ ¯‰PîÄÀÈ$žúǺÖ6òhs@σ!A2 h’ †D¸6ïF*«5*¬`•KÇAyŒL‰x‹É„—(§AòT½29Ï DtJëÙŸ¨ÓF5:Í:U¹ŽJà"ÙžåQµ}p||MÂUYÃBljk¸š‚_'t‚¬y¨aÝ01Âe¼‚]•éYÂüs·K- Z¢¶MÐA­ðRÃ2±|M³©‹à°y´ÞWð9R­£'ׯºÞI¼¸ñ@&¤Ö1^ÞHSd€C꟡dÇ)40ÔßÀß6|€Í~;:&ºaJ›$ä<ñp‘x¸@;]Ô3Œî›ø~@93ì¥ @¸v=É‚ pÀ,CeÀ@\‚:‚xmâ%EMþ¨½ÿê€6`ãeÌ&ƒ|&I`”üÅá…µI O%)ü1 õRmr«¹¶ukï[*@0:I•¯`V£µ×TÜ"-6LŒh…´>L+›™È:&²Ž´CIø˜É8‰‚Dœ‘bœ‘Bk-i+޾ÌGW8! ‰Tžhc‰H¬B:6Œ[Ð6Ó¢²)›FÏß2!Ž3úzo’`_ö—P£.áX•X´D’vÁÂì®R|Å‚§,⇠Ò:q€}:ûùÀ'èë²±³Iðÿb1¤Ù'•$È $5„Rç Ô;µm¢6Ä_UjM–|ª¦A¡šÂª†±LmXgÁ?,xÊ&º•xI|r•x¢ŒZï¡(þ|³ ‚ Â{Kþç§ï\ð^ ‚ l ñ±-‚ ü±[VüÚÚÚØ¸q#“'O`ýúõ´··ÿãÿôÿË`7üî®Z{Õ[=ß_Þp…GG[Imb¾çÞ2¢°¸íM–€ÿm¯zyë“¶ u5: ÿxËkÂ3á™7¿ä[øû??¥ ô¾ÉþG~úæç¯|û§{åµöVV¶Ûßú€?½ýE¼Ñ6ªòÛZ~Í3ü“0ß ¼¸ÖvØ]0r{­m¯—aà~xömÏzê­YÀÆÑöu=UkøÉ›ï^mµ÷Ï£íÍ­moÇ¢ö.ÛÚ[Ÿ`þœe«?“Ií=þÆ÷ùkmý{~´Ýô†½7ŒýVmýÀê·}þw ´ýõmÎÙÈØG“Kíš}»çÜòAòÏÌ«½¿íÑöÚç|ã»ïwïà _UmÛð2ƒß6jÎ^Þüci‹gÿZk¿üñ–=/¯ûàéþPû1àÕe·Wù©Zë»æuÞÿñxVAAxïì–‰ßÔ©S¹é¦›¸è¢‹ð}Ÿ… 2uêÔ±ãG}4O=õ|ð{¥ ‚ðøÞAöT»eâwÜqÇ122‰'žÀa‡ƬY³ÆŽÏš5k«ßAAA„·¶[&~Š¢pÖYgqÖYg½áØ;ZãOxS¿ûÝï¸å–[èííeÒ¤Iœ{î¹ì»ï¾€è×që­·²hÑ"}´6FOôå¶{â‰'¸å–[X·n™L†SN9…Ï}îs¢/·Ñ3Ï<ÃÂ… Y»v-S¦Lá´ÓNã ƒ}ù=ÿüóÜu×]<þøã<òÈ#cûß®ÿDß ‚ {‚=î[éµkümù‡â½÷Þû^‡µG¸âŠ+˜;w.=ôGq—_~ùØ1ѯÛgåÊ•<öØc[í}¹mžzê)nºé&¾ño°|ùræÎ;öÚ}¹m.»ì2Ž9æ–.]ÊÒ¥K™9s&—^z) úòºòÊ+ùÀ>@l=ëËÛõŸè[AaO°Ç%~+W®dîܹ¤R)êêê8ýôÓY¹r[§öø¿éÑGåÐC% 1uêT …W×;ýºíž~úin¾ùf®¸âŠ­ö‹¾Ü6wÜqgŸ}6“&MBÓ4>ýéOUOE_n›ææf$Ik---€èËwê–[náè£~Ãþ·ë?Ñ·‚ ž`·êùvÞÑÂ?õ /0}úô±ßE¿n›uëÖqå•WrÅWÐÐаÕ1Ñ—ÛfÕªU<ñÄ\zé¥X–ÅAÄyçG[[›èËmtå•WrÑEñÃþ€½öÚ‹«®º ¯ËwJQ”7Ýÿvý'úVAØìq?aÇŒŒ°|ùrN9å”÷:”=Ö·¿ým†‡‡9ãŒ3øÌg>0¶¶MµZ%Nsçwrß}÷qྡŠ*¼3×\s ûØÇX¶lË–-ã£ý(×\óúõAAø¿hKü¶¬ñ·Åë×øÞ^?×\s çž{.º®íýºm/^Ì£>:Ö€±­èËmÓØØÈ1ÇC4%‹1gÎV¯®­š'úrÛ<ùä“üñÄb1b±'œpO>ù$ úrG½]ÿ‰¾Aö{\â·e¿\.ÇÈÈÈÖøÞÚ¦M›¸êª«8ÿüóI&“[U¨D¿î<¢/·Íg?ûYî¼óNJ¥år™{½÷Þ}¹­ÚÚڸ뮻(•J”J%î¼óNÚÚÚÑ—;êíúOô­ ‚°'Øãîñûgkü oí¼óÎ#›Írì±Ç¾á˜è×í÷Ú¡ž>ú¨èËmtÒI'qíµ×2gÎ\×åàƒæ’K.Äër[]rÉ%üìg?ãöÛo`ß}÷åâ‹/D_¾S¯ý±-?ÿ³÷µè[AaO ú±üóä†úÞò¤T¦™ÜPKx£:ò ¿¿Ýã{ì1<ÏÛ± ‚ ¿EQ8pß)oy|Ë÷îký³ïàm9÷·ÜŬSÏ{gÁ ‚ »Ìâ_ü”/5ç-/}àA€wüùпysÏ:Ïê)‚ ‚ ‚ l‘ø ‚ ‚ ‚ ü‹Ûå÷ø©êw¡ ‚ ¼«Äw¥ ‚°«íòoš~ô£»ú‚ ‚°G{»ûìAagØ¥‰Ÿø"AAAxï‰{üAAAþʼnÄOAAá_œHüAAAþʼnÄOAAá_œHüAAAþŽg‰Ÿé»´m+9á‡Vî²ížÏîfw{ýìéD ‚ ‚ ükÛ#*~…]üç'?ÁÐÆ »ìK–,aæÌ™o¹½sñR¦OŸÎ‚Û–0uêTþûæ{˜6m‹îX‘GùO¿«ã¹î–û9üðÃwY<ïTzÖÚ/¼žô7ì²kìnžùdzÄSõïu‚ ‚ ‚ð–v«ÄᅩG¯¾”G¯¾”¿w¹5ë¹yöÞ—˜ÈóÎdds×.¹ö[%IGuÿ}ó=rÀÞ|áÜ‹™Òšäc§ŸÇ>­I>1ïÞ{ßúÙÍL:•;îyëdkgÅsä‘GŽÅ3õœoųwk‚Cϼp«xn½{çÅóN%Ú}_"ê{»ì»‚Û÷2öƒß xû<×z¯ÃÙJº¡…tCË{† ‚ ‚°Û­¿p<ÎqgÉ1'퇡[ä^^ͯN<‘{í±> µsëܹ»$ù{³ähúôé|å’±Ok’þ{!WŸ:›ïþî/,:ÿ .ýŸ§ùùé'ñÕ…·3u¿>uö7ùÌ¡aÑ»®â7}útNúÞ•8>à ÿ½ýË|÷wáÆsærñoþÄÏO?‰“ÞÎömçSg“ÏrçÅóNŒ?>žàÉŠ/1þüù»ä:;S๠.ÿO”çî¤åŸ¢nr;ö ¿~WcH7´pèg¾ÀŒ£Kò^Ûøp!ozl«óAAá-ìV‰ßæªëÈ8üêk_ã#ãßGD Q©T Ùû—â»$ù{}rtøá‡3õœo3oú§ùÁŸþ΢ÓOâ‡ÿÀüYÓø·¥¿åºcã¬{Wò‹Sfó­âê¯Íæ³ç^Ĝ̷ïüŠß–xN?ü“|ïÑ'·Šçüepýì/röý¿aÑ)³ùö¯ÿÌÕ_›ÍÔó¿»ÓâùgÚ/x5ÉS| O®Ý×5þüvúµvwÕ£X÷ŸÇ¤ƒö&óþ÷ØYÔX–ê_n|Wã8à€xüñÇY¹r%¥R‰b±H>Ÿçî»ïæs>Áá×Μys8ìç‡qî¹ç2444Ö^~ùe^~ùe®¸â ‘ü ‚ ‚ oI}¯x3ƒ ºÿø>2éÃ$$J¥Šä:˜¦‰¡èì_¸uî\¾|à dÆwî”k¾¾²6íÂïóÃ/‰o­ü‹¾|4ç=ü‹¾<“3—®`áì|ýŽYxü æ-^Áüã¦1ïž,8ûTŽûá¹ëâ XtÇN9áÕdË·+;%žïüöq~ñ壹à׋gþ¬éœv×rÌ>‚Óî\ÎÂãgpê­K¹þÌ“wZ<ï„Hc¿Zòžµ€ìâÓwúõ^Ïõ%Fª2¯JD#[;õŠƒX¿¿šdk‰©G˜=xÅ^<³«š"ˆ´îòX_+‘H°víZúúúåWÿ/æšù× ü@¡Õk¥InBÿ´Îžü ùЇ>€®ë(ŠÂ§?ýiw(Ž'Ötsõ²?“3-Ž”ŸáÀÔÀX_ž‡¬(øž€„ü¡¯'ÃðÑ)íüûìÏíÐõAA„]g·KüúŸ{Ž_\3ÂÇ'~˜¨¤ó»#™H AŽÉÙ0©pŒò·ŸqÆNKþ^{OßÙW]Ç÷Ž9œ‹~û87Ÿ8“o=ò'n:îHÎ_ù‹æÌäÜ[ïæ¶SŽãÄE÷0Ö4N¹u)ó›Æiw,ãúy_cÎ×ðÛk®àŽ{–pÂq£Ï{Äa;Ïw~û8‹FãYx쌱xκ{ ·|íXNúå½,<~§Üº”…'|q«x~sõåÜ}ïf»}ñü3›¯™@û…׿ºïê3wê5ÞNoYÁõl6†qF Ù’$£.–×H,¤Ö=ªùòÀs´: ¿¸ ¯² ÇqY+á'ZH÷­w-n€ ð}Ÿ‘‘V¯^=¶_ªJô|µ‡zÆöÅb1º"]8޳Õsüñ ìPO®ë¡Þ³8t¯fäÞvêÚ÷Àõ·–<{^€çûµÐó©n.ðõìÃü‘ø ‚ ‚ ì¶v«ÄÏ+”ùù9÷ð±I „ÂâõsèÅñáÏ]×)®^Ç/.<}†K¤Tƒòqn?ã ¾rãÔµwìе·TÂܶ„/}p_.Zñ?Üxâ—8Å£,‚3–>ÄOfÁʧÿÁÿ\z!ŸúÁÕ,<~gÜý07Ì9‚Ón_ÎÏO?‰ßù÷Šçzí0ÏwƒëKô•eÖ†P0u)¤ –œx¾„Ùd•I˜ŧncïq:Ñý¦áWºñªµ*_>—¡Ü]Àøä¿¡6Nz×bß"<ÏÃqzBS4öFÓ&}m&ûh š*£nCš‚¦*šL]T£.ªq@³A}hÇÿ>Y¢hVyeó{ï÷ âÜ«jñ‡§ŸÇªš¸¾ëzx®‹çûh†NS[~ó—Ð ‚ ‚ ®´ÛÜã—[³ž—\ÎÇÆ}˜áþÍãƒœËø¤©© Ã0ÐÇ·3óÚky®Þ!X„e•ý ±rÏßÌ™3¹ûÞ%|î#rîÍwrýì/rβßñó#§òGãÚçò{ïçŽsÎäÎß?Âi_:’ó/çºc㌻®%w,cÁñG0ï®\uâ1œsÍuÔQÛ}ß÷ŒÆsç2n8þ¨×ÄóG®=|*ßêi®?rç>ü{Nûґܼ|¿ûî9œsß ®;ö0θë!n8~:óîZÁ¿zÜÅóNÕ†{¾{†«2/eûH$#4%"Š‚ª‡ÑE–ñ]v)È ½Ÿ`°¿/ÿ"náE*Ù^zžp"›yå{’ôÁ«?Y–j‰ž*3´öiž]6Ÿ¿?p=Oßÿsž¼ïZž¸çgü鮟⠬¦=­ÒdYÚi±„ðb U¡\,“ËÈgóò ùÅBǬÍ~Úezhi±œ… ‚ Âîl·¨ø<÷¿:åd>1ùCDÃ1î\ý8k>„ºº:¢Ñ(’$aÛ6uuu}õÕ,>ÿ|>\Õ‰:ÚXò·#•¿%K–ð¥£fð©o]Ê‚y'sÖ}+Y8gg?ø;ƒÓo¾•›O?•_>¼‚¯MŸÆK—ñÓYµ{ün˜=Óî\Î sŽ`îm²à„#8ýwsó¼¯pûâøÊìí«øÍš9ƒÃο„'ϪUçÌàŒûbÑœ™œùЯùé>ËÙÿ–kû4‹–=Ì)_œÎ¢eóûïƒ_rÕXÅogÄóZí^âKlüɼ7“‘ñÞ2wá|$Ÿ7}춨(¼˜$“ˆñB®L}TBsMlEÇö}×Åôl»Ší:4$[‰g'Øð;VD)U£lúàiØ‘z¬`¹.'´×íp\ÛÊ÷}ž}öY®¿þzŒ‰cÂÔýùÛâÿ¢²æ1’É$ƒƒƒ¤3×þ̽OÑÜÜÌ]]ƚÎ帳¿ÃÅçÍ#.Û;%MUPFï3t]Ïõìæ•¯VÑÝ}§\WAAصÞóÄoKÒ÷ɽ>B̈qw×Óì{êÉtì·?Éd’}öÙY– ‡Ã†A:fÆ~Äßú&—›ˆxaö/°C¾lVyÅ‘_àÜ¥¿¯ —\ü0‹¾|4çÞz7w\p6·ýþN>EËæ«Óã⋸ÿì¯ñ“ûä7ß9›Ïýð§\?{§ßñóOžÅi×/âo‹®ßî{üܶ„K¾tØX<ó?ÌM'Å÷\ÁOg‰?ø?›1-^ÊU_ÿêXòwÓÒå<~ÅE|øÛ—3Î4æÞ¶l,ž§qÝÝã7þüùHx2oX®Á“jÕ'yì¸'ÈH£U-d™ô7ý¯íŸðÅõ%,×&lÄC*ºªò©¶F4UÁq=ߣê8T]Ë4ñè.›T˜Nÿã]üÉ™Äö>t«ç\øâºíŽgGlÚ´‰ùËç#ÿ§LñŠ^4Uæ¥ß߯å—_Î>ûìÃÊ•+‰4€ÞW{ì±d³Y.øÆ·8áÜ‹ŽlÂÉ~3æ` uÅXúïp¨ÖŒA˜ #UΞÍwÿò×mŽeÉ’%œtÌá|èä3¹éü38뾕\wÌa|ûî¥ÜsÑù[%}_þÂç¸iér.?íd~ñÀC\~ÚÉܸd^0—#þóæÏ™Æ×oyëO<–_.~˜ÓOܾŠß‰3§ò¡ÓÎaÑ9§Õf5ÓïYÎݧÈý=Îå'}™EËæ?N=‰EËæäÓ¸iérN=ên\²Œ¿^u ¸ð,8áNùåR®?ñX~uïŠíŠ'=kÑqÈ øµªÞ–{ù¶Ü×÷úíŠ/Õ*€²„ìKø¾OÂuÝ¿í™f¤*³¡0L:@}Mö!½I&b©äKûu%±úÝ£R•nh!65FüÒ8RÏÉ&šZfi¾ï£i{½2¹Mz\á1IDAT²,cåbU‘‰«qö>d<ýÏ¿’þx Ù?÷nw<¾à¸ÿX×Ãs›úñG'u)Œët]Ëu±lÏq)U«;Ø‚ ‚ »á=Mün9ët>6éèZ˜ÿ)­&tøT&t0ñxœìK/"÷ýÏÏú$3‚WifÍßŸà–¯ßËç¿ý#"Í-tLœÈÁóÎä¥[~I§â…üF¾vÛ¯¶+–™3grÝ-÷sÍ©'Ô&F™=³î[Ƀç}E>Ì©GÁ ÷-åäÓøÅqêQGlµ;ó‹üÛOçUün:éHμáW¯.1à ù_ʦ…ë{TìÚ¤'–ëò¾‰-ìÛÒ¼C×ÝêzÂ7†yúƒO#Ë“i« ¿ãÇ*²„Tß\ó wv(騚–$¡‡jï¯ ²ÃàÀ®ëÒb„(:>®ëâz.kGÊKïÐõAA„wÇ{>¹Ëy>4ösXý,oƒ[$ðmßd×T–,YÂIÇ}‘#/ø×3u«dkþì#™vÙU¬¸ìÛ[ïüÔGøÒÏnæÚc¦räÕ7M¤²à+38ãæ{¹çÂÓX¼d9'·}¿¯Î>’iç~—ëfM‹ç´;—³`ÎñãÌ?nGüx×~é cI߯^ÉÜ£gðþó/cþœiœvûrn8aúÇóZ;²0ûŽ&|¯¥á£È2¶ïQq,·6ìð΂ÀÇõj¯•êè1Y‘Þûü›Èd2œy晬X±‚ìûÆ#Ë2-íãxæ™g8äCÞô1Ïüÿöî=8ªòŒãø÷œMÂ%‚’¢BaÔVtÔiU†œ©’ R‰B¥¨µcP.!h‰!€²¹Šj-­Åvtkë8V¬(Ò‚ ¹ìnv÷œþ±É’…pI²1)ü>3Ì™ewÏ>ü“Íç}ßçÀú ˆé0IK˜Gß›½ìms-nÓaâiÌ?v›sþÆ·Ç¿å¥5ÏRS[KÛÇãaCIÛþ³EDDDD¾?fŽ_slvÀÝÐõóƒåÁ°üDÇt!`Û‘žœœLYY9‹ç1oSApBakÇÇ“^PÂK'òв˜úÐr\eü>TÅ?¾9ÆC•|òõ1þùMцƒþ=zpM¬£Ýëk©nݺq÷Ýw3覛1O¯ÌbTÒX ÃhöϨ1ãXž· Óa’˜<‘øøøˆÔáöÖãñx©÷ú¨÷x1û! N×Ôâv{ðx¼x½õtiòӣ횑ftÆHÀöÕaû=`[Ø:l;–_½ÓŒlfu¹\$''“¿ÝÅúÙiÌÌ+&gZ³_ eŸ•_Bö”xê·¼½|΢2V¥$0kk Y“G1sK1SG3+·„ì´~çz‹·×½ºok:~MëIÏ/ ÖSPÊÆ) ¤ç—✚HÆk嬟œD¶«ŒÙc¸ë¿9ÓékØÛ—5u4+Þx“½Y«Z]OKئÑ^Ù0±Ñ=ÝNGwÁ¨Á_Ü›åÀ&x6‰i˜‹zô kT4×_GÏ®/ø52MÓ4rïpvþùS¦iÁ£J LÛ0CWË0ˆTÌ>Qã¦ÎãÅÑ0¼ÝôÔÒ÷Úk°‚¼×ãÁ[_\êé?Ô¥ý£¾ˆ´·›×tt ""ÒŽ:mð³ v  ¶åË Opùg;HNvÂÒ&%óÌ+N²Sxt[§$YXÞäšÈÏ?ϦŒT&g†-§œWFvZ‹òvð¾óÊËËC÷mÍ¿³ë™]Pv™WÎ^XAÑœT†<¾ çÔDÒ·–†…ÐHÔs1¿À™C^ÿ®ök'w¶~fßùôéjã·zã;u‚ë»wçèé:zÅvaø­Á¿ea[6^›[úà‡½c.~ãä0 Ÿ/.™Kå¡/1æSt‹½ŠÌ%Ïóã!wac`ÙÁÐe47â…޼—Oþ}”}y8øyî`ÐûÑ-7àöx‚Cݼ^oè}1Qî¼ñú6¾ˆtœø±“;ºig*øùšv Û_†l–¯Ûöƒåk—Ïn섹\.ž[ÁÄ…KÈš<š¿ßŦéc˜™WŒsjbèúðº|6N<½sZB(ô-Ì-bÏË¿åwÞ Ý¯-¿¦õlž>–¹»Ø”6†ôüÒÐÕ95‘ ¯äáœv&ôEºž‹² 6çŒ{0}~NîlýžÀ‹‰ë 6º7ßssÝUGk‚så¶…òq˜×õŠe@¯Ø;šhGç[”xäÈââ∿ãúõ‹`uœ9}¸½ïí ê:ˆƒîƒ|°âúzþý}Âÿß}×ö:zt!wÎ8žyý=¢LƒªÏ>gËÎÝ¡çwÿñð׈ëÍÐ[Ó³[æ?xOÛ ‘vÓ©‚_ ¾>0ü¢ÀöcûëÀ_‡åûîsêá=~MÃÖë«^ éñE=–Jšs&$}k)Îi‰ÌÊ-&;-‘Y¹%8§'’žWJÎô$–ºøÃ«+Ø¿ÿ9÷kmÇïìz 3'“æÜ<=tKñYa/¸¬3=×EÎŒq,}mWÄ깘ëæ0ð‰¬°y~ËàЫó#ú9͉¶©¶ªùIÿÛ8U<ÖÆÍë»&ÖÑ©—w=z”>úˆ#FP]]Muu5†a6!5Ï®Áz΢2º’Ê7+¹'æÌ¡C‡št#h{taõ´Efß ˆˆˆˆt¼NüÂØ6–¯È, «Û ßWäŽÐ/»Þak¼–­]ɼç–ãLKâ…×wS‘ÂÔ¬¢P‡/ç‘$–UP™ÂËo¼É¾«Ù³gÏ9÷ikÇ/¬žç_ «gšsYSF1kK ›gŒeIQy)¬v½Ñz.E㬿Æð×–Ó?[ªÎïcÇ—_÷y @”ãÂ᯺¾c†‘ŸüïQúº™'Ÿ|²ùT‚1ÌÀ~9xrçÊ•+ÏyÉСCÛ¹JùÖ©‚Ÿß0éÓ§õõõüøsržYÖiÛÁn`Ï>?Àî^‡ßï'::šú@dNi.¹\.Ö=óùÛ¶³yñ<žXEÁ£“X¶e;…MfÅöR¶/OÅ{û)[»²Ù÷Gªãªç׿"Ûv6-šËÂ5)ÈHainEsSÛµžKUûµƒžý-jÍï·Ã–qSÇí1»óŽ!TŸ:Ѧ{þê‹ó>×»ïuØûí6Ïè‘+W§ ~5Q1|XYŇ¹ù0ñ¾8]·¾ùÃ\þº.€ª“§˜ðàmþì …¤´)“BË-].ïmZêÀ¹\.¤§]ðý‘êøud=—ª=q¹Ò)ð‰ˆˆˆH[Ç µ÷½¿ŸSÇ÷EW_ÛSÇQ\Rʸ±cÎy,"""í§ñ{·©–|ëûZDäòP\R ТŸéU‡¿böÜ':WÇODDDÚGã/ ""reŠìtétÔíuüDDD® ""W6uüDDDDDD.s ~""""""—¹KZê¹e³ó‚Ïç‹O´¼"‘+ÌÍ·ÝÙÑ%ˆˆÈeî’‚ßÙû.uŸ€¾ÈDDDDDD:ž–zŠˆˆˆˆˆ\æüDDDDDD.sQõžºŽ®CDDDÎãR÷Ö‹ˆˆœÿ}vyÅnêjNwt=""""""'ª*™3!{ßÝg„–zú}¾Ž¬IDDDDDD"Äçõ„=6ö¾»ÏH™8žêS'p×VwHa""""""Òv'ª*9}ê .bï»û hXêÙ(þþûl€åÏ.%*:†.]ºvD""""""ÒJÿr1@(ôÁYÁ¯ÑðaCíï©&‰ ?ýåƒsrÞÿM­‘D~]¶IEND®B`‚traitsui-7.2.1/docs/source/tutorials/traits_ui_scientific_app.rst0000644000076500000240000011453414046644454026072 0ustar aayresstaff00000000000000.. _writing-a-graphical-application-for-scientific-programming-using-traitsui: ==================================================================================== Writing a graphical application for scientific programming using TraitsUI |version| ==================================================================================== **A step by step guide for a non-programmer** :Author: Gael Varoquaux :License: BSD Building interactive Graphical User Interfaces (GUIs) is a hard problem, especially for somebody who has not had training in IT. TraitsUI is a python module that provides a great answer to this problem. I have found that I am incredibly productive when creating graphical application using traitsUI. However I had to learn a few new concepts and would like to lay them down together in order to make it easier for others to follow my footsteps. This document is intended to help a non-programmer to use traits and traitsUI to write an interactive graphical application. The reader is assumed to have some basic python scripting knowledge (see ref [#]_ for a basic introduction). Knowledge of numpy/scipy [#]_ helps understanding the data processing aspects of the examples, but may not be paramount. Some examples rely on matplotlib [#]_ . This document is **not** a replacement for user manuals and references of the different packages (traitsUI [#]_, scipy, matplotlib). It provides a "cookbook" approach, and not a reference. This tutorial provides step-by-step guide to building a medium-size application. The example chosen is an application used to do control of a camera, analysis of the retrieved data and display of the results. This tutorial focuses on building the general structure and flow-control of the application, and on the aspects specific to traitsUI programming. Interfacing with the hardware or processing the data is left aside. The tutorial progressively introduces the tools used, and in the end presents the skeleton of a real application that has been developed for real-time controlling of an experiment, monitoring through a camera, and processing the data. The tutorial goes into more and more intricate details that are necessary to build the final application. Each section is in itself independent of the following ones. The complete beginner trying to use this as an introduction should not expect to understand all the details in a first pass. The author's experience while working on several projects in various physics labs is that code tends to be created in an 'organic' way, by different people with various levels of qualification in computer development, and that it rapidly decays to a disorganized and hard-to-maintain code base. This tutorial tries to prevent this by building an application shaped for modularity and readability. From objects to dialogs using traitsUI -------------------------------------- Creating user interfaces directly through a toolkit is a time-consuming process. It is also a process that does not integrate well in the scientific-computing work-flow, as, during the elaboration of algorithms and data-flow, the objects that are represented in the GUI are likely to change often. Visual computing, where the programmer creates first a graphical interface and then writes the callbacks of the graphical objects, gives rise to a slow development cycle, as the work-flow is centered on the GUI, and not on the code. TraitsUI provides a beautiful answer to this problem by building graphical representations of an object. Traits and TraitsUI have their own manuals (`http://docs.enthought.com/traits/ `_) and the reader is encouraged to refer to these for more information. We will use TraitsUI for *all* our GUIs. This forces us to store all the data and parameters in objects, which is good programming style. The GUI thus reflects the structure of the code, which makes it easier to understand and extend. In this section we will focus on creating dialogs that allow the user to input parameters graphically in the program. Object-oriented programming ``````````````````````````` Software engineering is a difficult field. As programs grow they become harder and harder to grasp for the developer. This problem is not new and has sometimes been know as the "tar pit". Many attempts have been made to mitigate the difficulties. Most often they consist in finding useful abstractions that allow the developer to manipulate larger ideas, rather than their software implementation. Code re-use is paramount for good software development. It reduces the number of code-lines required to read and understand and allows to identify large operations in the code. Functions and procedures have been invented to avoid copy-and-pasting code, and hide the low-level details of an operation. Object-oriented programming allows yet more modularity and abstraction. Objects, attributes and methods ::::::::::::::::::::::::::::::: Suppose you want your program to manipulate geometric objects. You can teach the computer that a point is a set of 3 numbers, you can teach it how to rotate that point along a given axis. Now you want to use spheres too. With a bit more work your program has functions to create points, spheres, etc. It knows how to rotate them, to mirror them, to scale them. So in pure procedural programming you will have procedures to rotate, scale, mirror, each one of your objects. If you want to rotate an object you will first have to find its type, then apply the right procedure to rotate it. Object-oriented programming introduces a new abstraction: the `object`. It consists of both data (our 3 numbers, in the case of a point), and procedures that use and modify this data (e.g., rotations). The data entries are called "`attributes`" of the object and the procedures "`methods`". Thus with object oriented programming an object "knows" how to be rotated. A point object could be implemented in python with: .. literalinclude:: code_snippets/code_block0.py :language: python This code creates a *Point* class. Points objects can be created as `instances` of the Point class: .. code-block:: python >>> from numpy import pi >>> p = Point() >>> p.x = 1 >>> p.rotate_z(pi) >>> p.x -1.0 >>> p.y 1.2246467991473532e-16 When manipulating objects, the developer does not need to know the internal details of their procedures. As long as the object has a *rotate* method, the developer knows how to rotate it. **Note**: Beginners often use objects as structures: entities with several data fields useful to pass data around in a program. Objects are much more then that: they have methods. They are 'active' data structures that know how to modify themselves. Part of the point of object-oriented programming is that the object is responsible for modifying itself through its methods. The object therefore takes care of its internal logic and the consistency between its attributes. In python, dictionaries make great structures and are more suited for such a use than objects. Classes and inheritance ::::::::::::::::::::::: Suppose you have already created a *Point* class that tells your program what a point is, but that you also want some points to have a color. Instead of copy-and-pasting the *Point* class and adding a color attribute, you can define a new class *ColoredPoint* that inherits all of the *Point* class's methods and attributes: .. code-block:: python class ColoredPoint(Point): """ Colored 3D point """ color = "white" You do not have to implement rotation for the *ColoredPoint* class as it has been inherited from the *Point* class. This is one of the huge gains of object-oriented programming: objects are organized in classes and sub-classes, and method to manipulate objects are derived from the objects parent-ship: a *ColoredPoint* is only a special case of *Point*. This proves very handy on large projects. **Note**: To stress the differences between classes and their instances (objects), classes are usually named with capital letters, and objects only with lower case letters. An object and its representation ```````````````````````````````` Objects are code entities that can be easily pictured by the developer. The `TraitsUI` python module allows the user to edit objects attributes with dialogs that form a graphical representation of the object. In our example application, each process or experimental device is represented in the code as an object. These objects all inherit from the *HasTraits*, class which supports creating graphical representations of attributes. To be able to build the dialog, the *HasTraits* class enforces that the types of all the attributes are specified in the class definition. The *HasTraits* objects have a *configure_traits()* method that brings up a dialog to edit the objects' attributes specified in its class definition. Here we define a camera object (which, in our real world example, is a camera interfaced to python through the ctypes [#]_ module), and show how to open a dialog to edit its properties : .. literalinclude:: code_snippets/code_block1.py :language: python The *camera.configure_traits()* call in the above example opens a dialog that allows the user to modify the camera object's attributes: .. image:: images/code_block1.png This dialog forms a graphical representation of our camera object. We will see that it can be embedded in GUI panels to build more complex GUIs that allow us to control many objects. We will build our application around objects and their graphical representation, as this mapping of the code to the GUI helps the developer to understand the code. Displaying several objects in the same panel ```````````````````````````````````````````` We now know how to build a dialog from objects. If we want to build a complex application we are likely to have several objects, for instance one corresponding to the camera we want to control, and one describing the experiment that the camera monitors. We do not want to have to open a new dialog per object: this would force us to describe the GUI in terms of graphical objects, and not structural objects. We want the GUI to be a natural representation of our objects, and we want the Traits module to take care of that. The solution is to create a container object, that has as attributes the objects we want to represent. Playing with the `View` attribute of the object, we can control how the representation generated by Traits looks like (see the TraitsUI manual): .. literalinclude:: code_snippets/container.py :language: python The call to *configure_traits()* creates the following dialog, with the representation of the *Camera* object created is the last example on top, and the *Display* object below it: .. image:: images/container.png The *View* attribute of the *container* object has been tweaked to get the representation we are interested in: traitsUI is told to display the *camera* item with a *'custom'* style, which instructs it to display the representation of the object inside the current panel. The *'show_label'* argument is set to *False* as we do not want the name of the displayed object ('camera', for instance) to appear in the dialog. See the traitsUI manual for more details on this powerful feature. The *camera* and *display* objects are created during the call to the creator of the *container* object, and passed as its attributes immediately: *"container = Container(camera=Camera(), display=TextDisplay())"* Writing a "graphical script" ```````````````````````````` If you want to create an application that has a very linear flow, popping up dialogs when user input is required, like a "setup wizard" often used to install programs, you already have all the tools to do it. You can use object oriented programming to write your program, and call the objects *configure_traits* method each time you need user input. This might be an easy way to modify an existing script to make it more user friendly. ____ The following section will focus on making interactive programs, where the user uses the graphical interface to interact with it in a continuous way. From graphical to interactive ----------------------------- In an interactive application, the program responds to user interaction. This requires a slight paradigm shift in our programming methods. Object-oriented GUIs and event loops ```````````````````````````````````` In a GUI application, the order in which the different parts of the program are executed is imposed by the user, unlike in a numerical algorithm, for instance, where the developer chooses the order of execution of his program. An event loop allows the programmer to develop an application in which each user action triggers an event, by stacking the user created events on a queue, and processing them in the order in which the appeared. A complex GUI is made of a large numbers of graphical elements, called widgets (e.g., text boxes, check boxes, buttons, menus). Each of these widgets has specific behaviors associated with user interaction (modifying the content of a text box, clicking on a button, opening a menu). It is natural to use objects to represent the widgets, with their behavior being set in the object's methods. Dialogs populated with widgets are automatically created by `traitsUI` in the *configure_traits()* call. `traitsUI` allow the developer to not worry about widgets, but to deal only with objects and their attributes. This is a fabulous gain as the widgets no longer appear in the code, but only the attributes they are associated to. A *HasTraits* object has an *edit_traits()* method that creates a graphical panel to edit its attributes. This method creates and returns the panel, but does not start its event loop. The panel is not yet "alive", unlike with the *configure_traits()* method. Traits uses the Qt toolkit by default to create its widget. They can be turned live and displayed by starting a Qt application, and its main loop (ie event loop in Qt speech). .. literalinclude:: code_snippets/event_loop_qt.py :language: python There is a `similar example for wxPython <../_static/event_loop_wx.py>`_ and a `toolkit-independent example that uses Pyface <../_static/event_loop.py>`_ as well. The *Counter().edit_traits()* line creates a counter object and its representation, a dialog with one integer represented. However it does not display it until a Qt application is created, and its main loop is started. Usually it is not necessary to create the Qt application yourself, and to start its main loop, traits will do all this for you when the *.configure_traits()* method is called. Reactive programming ```````````````````` When the event loop is started, the program flow is no longer simply controlled by the code: the control is passed on to the event loop, and it processes events, until the user closes the GUI, and the event loop returns to the code. Interactions with objects generate events, and these events can be associated to callbacks, ie functions or methods processing the event. In a GUI, callbacks created by user-generated events are placed on an "event stack". The event loop processes each call on the event queue one after the other, thus emptying the event queue. The flow of the program is still sequential (two code blocks never run at the same time in an event loop), but the execution order is chosen by the user, and not by the developer. Defining callbacks for the modification of an attribute `foo` of a `HasTraits` object can be done be creating a method called `_foo_changed()`. Here is an example of a dialog with two textboxes, `input` and `output`. Each time `input` is modified, its content is duplicated to output. .. literalinclude:: code_snippets/echo_box.py :language: python Events that do not correspond to a modification of an attribute can be generated with a *Button* trait. The callback is then called *_foo_fired()*. Here is an example of an interactive `traitsUI` application using a button: .. literalinclude:: code_snippets/interactive.py :language: python Clicking on the button adds the *_add_one_fired()* method to the event queue, and this method gets executed as soon as the GUI is ready to handle it. Most of the time that is almost immediately. .. image:: images/interactive.png This programming pattern is called `reactive programming`: the objects react to the changes made to their attributes. In complex programs where the order of execution is hard to figure out, and bound to change, like some interactive data processing application, this pattern is extremely efficient. ____ Using *Button* traits and a clever set of objects interacting with each others, complex interactive applications can be built. These applications are governed by the events generated by the user, in contrast to script-like applications (batch programming). Executing a long operation in the event loop blocks the reactions of the user-interface, as other events callbacks are not processed as long as the long operation is not finished. In the next section we will see how we can execute several operations in the same time. Breaking the flow in multiple threads ------------------------------------- What are threads ? `````````````````` A standard python program executes in a sequential way. Consider the following code snippet : .. code-block:: python do_a() do_b() do_c() *do_b()* is not called until *do_a()* is finished. Even in event loops everything is sequential. In some situation this can be very limiting. Suppose we want to capture an image from a camera and that it is a very lengthy operation. Suppose also that no other operation in our program requires the capture to be complete. We would like to have a different "timeline" in which the camera capture instructions can happen in a sequential way, while the rest of the program continues in parallel. Threads are the solution to this problem: a thread is a portion of a program that can run concurrently with other portions of the program. Programming with threads is difficult as instructions are no longer executed in the order they are specified and the output of a program can vary from a run to another, depending on subtle timing issues. These problems are known as "race conditions" and to minimize them you should avoid accessing the same objects in different threads. Indeed if two different threads are modifying the same object at the same time, unexpected things can happen. Threads in python ````````````````` In python a thread can be implemented with a *Thread* object, from the threading [#]_ module. To create your own execution thread, subclass the *Thread* object and put the code that you want to run in a separate thread in its *run* method. You can start your thread using its *start* method: .. literalinclude:: code_snippets/thread_example.py :language: python The above code yields the following output:: Main thread done MyThread done Getting threads and the GUI event loop to play nice ``````````````````````````````````````````````````` Suppose you have a long-running job in a TraitsUI application. If you implement this job as an event placed on the event loop stack, it is going to freeze the event loop while running, and thus freeze the UI, as events will accumulate on the stack, but will not be processed as long as the long-running job is not done (remember, the event loop is sequential). To keep the UI responsive, a thread is the natural answer. Most likely you will want to display the results of your long-running job on the GUI. However, as usual with threads, one has to be careful not to trigger race-conditions. Naively manipulating the GUI objects in your thread will lead to race conditions, and unpredictable crash: suppose the GUI was repainting itself (due to a window move, for instance) when you modify it. In an application, if you start a thread, GUI event will still be processed by the GUI event loop. To avoid collisions between your thread and the event loop, the proper way of modifying a GUI object is to insert the modifications in the event loop, using the *GUI.invoke_later()* call. That way the GUI will apply your instructions when it has time. Recent versions of the TraitsUI module (post October 2006) propagate the changes you make to a *HasTraits* object to its representation in a thread-safe way. However it is important to have in mind that modifying an object with a graphical representation is likely to trigger race-conditions as it might be modified by the graphical toolkit while you are accessing it. Here is an example of code inserting the modification to traits objects by hand in the event loop: .. literalinclude:: code_snippets/traits_thread.py :language: python This creates an application with a button that starts or stop a continuous camera acquisition loop. .. image:: images/traits_thread.png When the "Start stop capture" button is pressed the *_start_stop_capture_fired* method is called. It checks to see if a *CaptureThread* is running or not. If none is running, it starts a new one. If one is running, it sets its *wants_abort* attribute to true. The thread checks every half a second to see if its attribute *wants_abort* has been set to true. If this is the case, it aborts. This is a simple way of ending the thread through a GUI event. ____ Using different threads lets the operations avoid blocking the user interface, while also staying responsive to other events. In the real-world application that serves as the basis of this tutorial, there are 2 threads and a GUI event loop. The first thread is an acquisition loop, during which the program loops, waiting for a image to be captured on the camera (the camera is controlled by external signals). Once the image is captured and transfered to the computer, the acquisition thread saves it to the disk and spawns a thread to process the data, then returns to waiting for new data while the processing thread processes the data. Once the processing thread is done, it displays its results (by inserting the display events in the GUI event loop) and dies. The acquisition thread refuses to spawn a new processing thread if there still is one running. This makes sure that data is never lost, no matter how long the processing might be. There are thus up to 3 set of instructions running concurrently: the GUI event loop, responding to user-generated events, the acquisition loop, responding to hardware-generated events, and the processing jobs, doing the numerical intensive work. In the next section we are going to see how to add a home-made element to traits, in order to add new possibilities to our application. Extending TraitsUI: Adding a matplotlib figure to our application ----------------------------------------------------------------- This section gives a few guidelines on how to build your own traits editor. A traits editor is the view associated with a trait that allows the user to graphically edit its value. We can twist a bit the notion and simply use it to graphically represent the attribute. This section involves a bit of `wxPython` code that may be hard to understand if you do not know `wxPython`, but it will bring a lot of power and flexibility to how you use traits. The reason it appears in this tutorial is that I wanted to insert a matplotlib in my `traitsUI` application. It is not necessary to fully understand the code of this section to be able to read on. I should stress that there already exists a plotting module that provides traits editors for plotting, and that is very well integrated with traits: chaco [#]_. Making a `traits` editor from a MatPlotLib plot ``````````````````````````````````````````````` To use traits, the developer does not need to know its internals. However traits does not provide an editor for every need. If we want to insert a powerful tool for plotting we have to get our hands a bit dirty and create our own traits editor. This involves some `wxPython` coding, as we need to translate a `wxPython` object to a traits editor by providing the corresponding API (i.e. the standard way of building a `traits` editor), so that the `traits` framework will know how to create the editor. Traits editor are created by an editor factory that instantiates an editor class and passes it the object that the editor represents in its *value* attribute. It calls the editor *init()* method to create the *wx* widget. Here we create a wx figure canvas from a matplotlib figure using the matplotlib wx backend. Instead of displaying this widget, we set its control as the *control* attribute of the editor. TraitsUI takes care of displaying and positioning the editor. .. literalinclude:: code_snippets/mpl_figure_editor.py :language: python This code first creates a traitsUI editor for a matplotlib figure, and then a small dialog to illustrate how it works: .. image:: images/mpl_figure_editor.png The matplotlib figure traits editor created in the above example can be imported in a traitsUI application and combined with the power of traits. This editor allows you to insert a matplotlib figure in a traitsUI dialog. It can be modified using reactive programming, as demonstrated in section 3 of this tutorial. However, once the dialog is up and running, you have to call *self.figure.canvas.draw()* to update the canvas if you made modifications to the figure. The matplotlib user guide [3]_ details how this object can be used for plotting. Putting it all together: a sample application --------------------------------------------- The real world problem that motivated the writing of this tutorial is an application that retrieves data from a camera, processes it and displays results and controls to the user. We now have all the tools to build such an application. This section gives the code of a skeleton of this application. This application actually controls a camera on a physics experiment (Bose-Einstein condensation), at the university of Toronto. The reason I am providing this code is to give an example to study of how a full-blown application can be built. For more information on the example, see the `archived page `_. * The camera will be built as an object. Its real attributes (exposure time, gain...) will be represented as the object's attributes, and exposed through traitsUI. * The continuous acquisition/processing/user-interaction will be handled by appropriate threads, as discussed in section 2.3. * The plotting of the results will be done through the MPLWidget object. The imports ``````````` The MPLFigureEditor is imported from the last example. .. code-block:: python from threading import Thread from time import sleep from traits.api import * from traitsui.api import View, Item, Group, HSplit, Handler from traitsui.menu import NoButtons from mpl_figure_editor import MPLFigureEditor from matplotlib.figure import Figure from scipy import * import wx User interface objects `````````````````````` These objects store information for the program to interact with the user via traitsUI. .. code-block:: python class Experiment(HasTraits): """ Object that contains the parameters that control the experiment, modified by the user. """ width = Float(30, label="Width", desc="width of the cloud") x = Float(50, label="X", desc="X position of the center") y = Float(50, label="Y", desc="Y position of the center") class Results(HasTraits): """ Object used to display the results. """ width = Float(30, label="Width", desc="width of the cloud") x = Float(50, label="X", desc="X position of the center") y = Float(50, label="Y", desc="Y position of the center") view = View( Item('width', style='readonly'), Item('x', style='readonly'), Item('y', style='readonly'), ) The camera object also is a real object, and not only a data structure: it has a method to acquire an image (or in our case simulate acquiring), using its attributes as parameters for the acquisition. .. code-block:: python class Camera(HasTraits): """ Camera objects. Implements both the camera parameters controls, and the picture acquisition. """ exposure = Float(1, label="Exposure", desc="exposure, in ms") gain = Enum(1, 2, 3, label="Gain", desc="gain") def acquire(self, experiment): X, Y = indices((100, 100)) Z = exp(-((X-experiment.x)**2+(Y-experiment.y)**2)/experiment.width**2) Z += 1-2*rand(100,100) Z *= self.exposure Z[Z>2] = 2 Z = Z**self.gain return(Z) Threads and flow control ```````````````````````` There are three threads in this application: * The GUI event loop, the only thread running at the start of the program. * The acquisition thread, started through the GUI. This thread is an infinite loop that waits for the camera to be triggered, retrieves the images, displays them, and spawns the processing thread for each image received. * The processing thread, started by the acquisition thread. This thread is responsible for the numerical intensive work of the application. It processes the data and displays the results. It dies when it is done. One processing thread runs per shot acquired on the camera, but to avoid accumulation of threads in the case that the processing takes longer than the time lapse between two images, the acquisition thread checks that the processing thread is done before spawning a new one. .. code-block:: python def process(image, results_obj): """ Function called to do the processing """ X, Y = indices(image.shape) x = sum(X*image)/sum(image) y = sum(Y*image)/sum(image) width = sqrt(abs(sum(((X-x)**2+(Y-y)**2)*image)/sum(image))) results_obj.x = x results_obj.y = y results_obj.width = width class AcquisitionThread(Thread): """ Acquisition loop. This is the worker thread that retrieves images from the camera, displays them, and spawns the processing job. """ wants_abort = False def process(self, image): """ Spawns the processing job. """ try: if self.processing_job.isAlive(): self.display("Processing too slow") return except AttributeError: pass self.processing_job = Thread(target=process, args=(image, self.results)) self.processing_job.start() def run(self): """ Runs the acquisition loop. """ self.display('Camera started') n_img = 0 while not self.wants_abort: n_img += 1 img =self.acquire(self.experiment) self.display('%d image captured' % n_img) self.image_show(img) self.process(img) sleep(1) self.display('Camera stopped') The GUI elements ```````````````` The GUI of this application is separated in two (and thus created by a sub-class of SplitApplicationWindow). On the left a plotting area, made of an MPL figure and its editor, displays the images acquired by the camera. On the right a panel hosts the TraitsUI representation of a ControlPanel object. This object is mainly a container for our other objects, but it also has an Button for starting or stopping the acquisition, and a string (represented by a textbox) to display information on the acquisition process. The view attribute is tweaked to produce a pleasant and usable dialog. Tabs are used to help the display to be light and clear. .. code-block:: python class ControlPanel(HasTraits): """ This object is the core of the traitsUI interface. Its view is the right panel of the application, and it hosts the method for interaction between the objects and the GUI. """ experiment = Instance(Experiment, ()) camera = Instance(Camera, ()) figure = Instance(Figure) results = Instance(Results, ()) start_stop_acquisition = Button("Start/Stop acquisition") results_string = String() acquisition_thread = Instance(AcquisitionThread) view = View(Group( Group( Item('start_stop_acquisition', show_label=False ), Item('results_string',show_label=False, springy=True, style='custom' ), label="Control", dock='tab',), Group( Group( Item('experiment', style='custom', show_label=False), label="Input",), Group( Item('results', style='custom', show_label=False), label="Results",), label='Experiment', dock="tab"), Item('camera', style='custom', show_label=False, dock="tab"), layout='tabbed'), ) def _start_stop_acquisition_fired(self): """ Callback of the "start stop acquisition" button. This starts the acquisition thread, or kills it. """ if self.acquisition_thread and self.acquisition_thread.isAlive(): self.acquisition_thread.wants_abort = True else: self.acquisition_thread = AcquisitionThread() self.acquisition_thread.display = self.add_line self.acquisition_thread.acquire = self.camera.acquire self.acquisition_thread.experiment = self.experiment self.acquisition_thread.image_show = self.image_show self.acquisition_thread.results = self.results self.acquisition_thread.start() def add_line(self, string): """ Adds a line to the textbox display. """ self.results_string = (string + "\n" + self.results_string)[0:1000] def image_show(self, image): """ Plots an image on the canvas in a thread safe way. """ self.figure.axes[0].images=[] self.figure.axes[0].imshow(image, aspect='auto') wx.CallAfter(self.figure.canvas.draw) class MainWindowHandler(Handler): def close(self, info, is_OK): if ( info.object.panel.acquisition_thread and info.object.panel.acquisition_thread.isAlive() ): info.object.panel.acquisition_thread.wants_abort = True while info.object.panel.acquisition_thread.isAlive(): sleep(0.1) wx.Yield() return True class MainWindow(HasTraits): """ The main window, here go the instructions to create and destroy the application. """ figure = Instance(Figure) panel = Instance(ControlPanel) def _figure_default(self): figure = Figure() figure.add_axes([0.05, 0.04, 0.9, 0.92]) return figure def _panel_default(self): return ControlPanel(figure=self.figure) view = View(HSplit(Item('figure', editor=MPLFigureEditor(), dock='vertical'), Item('panel', style="custom"), show_labels=False, ), resizable=True, height=0.75, width=0.75, handler=MainWindowHandler(), buttons=NoButtons) if __name__ == '__main__': MainWindow().configure_traits() When the acquisition loop is created and running, the mock camera object produces noisy gaussian images, and the processing code estimates the parameters of the gaussian. Here are screenshots of the three different tabs of the application: .. image:: images/application1.png .. image:: images/application2.png .. image:: images/application3.png ____ **Conclusion** I have summarized here all what most scientists need to learn in order to be able to start building applications with traitsUI. Using the traitsUI module to its full power requires you to move away from the procedural type of programming most scientists are used to, and think more in terms of objects and flow of information and control between them. I have found that this paradigm shift, although a bit hard, has been incredibly rewarding in terms of my own productivity and my ability to write compact and readable code. Good luck! ____ **Acknowledgments** I would like to thank the people on the enthought-dev mailing-list, especially Prabhu Ramachandran and David Morrill, for all the help they gave me, and Janet Swisher for reviewing this document. Big thanks go to enthought for developing the traits and traitsUI modules, and making them open-source. Finally the python, the numpy, and the matplotlib community deserve many thanks for both writing such great software, and being so helpful on the mailing lists. ____ **References** .. [#] python tutorial: `http://docs.python.org/tut/tut.html `_ .. [#] The scipy website: `http://www.scipy.org `_ .. [#] The matplotlib website: `https://matplotlib.org `_ .. [#] The traits and traitsUI user guide: `http://docs.enthought.com/traits `_ .. [#] ctypes: `https://docs.python.org/3/library/ctypes.html `_ .. [#] threading: `http://docs.python.org/lib/module-threading.html `_ .. [#] chaco: `http://docs.enthought.com/chaco/ `_ .. vim:spell:spelllang=en_us traitsui-7.2.1/docs/source/changelog.rst0000644000076500000240000000004014046644454020712 0ustar aayresstaff00000000000000 .. include:: ../../CHANGES.txt traitsui-7.2.1/docs/source/demos/0000755000076500000240000000000014046644526017346 5ustar aayresstaff00000000000000traitsui-7.2.1/docs/source/demos/index.rst0000644000076500000240000001051714046644454021213 0ustar aayresstaff00000000000000.. _traitsui-demo: TraitsUI |version| Demos ========================== .. toctree:: :maxdepth: 3 This section contains links to a number of TraitsUI demos. .. warning:: Some of the examples in this section may be out of date. We are in the process of updating them to the latest version of TraitsUI. Standard Editors ------------------ - :github-demo:`BooleanEditor ` - :github-demo:`ButtonEditor ` - :github-demo:`CSVListEditor ` - :github-demo:`CheckListEditor ` - :github-demo:`CheckListEditor (simple) ` - :github-demo:`CodeEditor ` - :github-demo:`ColorEditor ` - :github-demo:`CompoundEditor ` - :github-demo:`DirectoryEditor ` - :github-demo:`EnumEditor ` - :github-demo:`FileEditor ` - :github-demo:`FontEditor ` - :github-demo:`HTMLEditor ` - :github-demo:`ImageEnumEditor ` - :github-demo:`InstanceEditor ` - :github-demo:`ListEditor ` - :github-demo:`RGBColorEditor ` - :github-demo:`RangeEditor ` - :github-demo:`SetEditor ` - :github-demo:`TableEditor ` - :github-demo:`TextEditor ` - :github-demo:`TitleEditor ` - :github-demo:`TreeEditor ` - :github-demo:`TupleEditor ` - :github-demo:`VideoEditor ` Advanced Demos -------------- - :github-demo:`Adapted TreeEditor ` - :github-demo:`Apply/Revert Handler ` - :github-demo:`Table (read-only, auto-edit table column) ` - :github-demo:`TabularEditor (auto-update) ` - :github-demo:`DateEditor ` - :github-demo:`Dynamic EnumEditor ` - :github-demo:`Dynamic Range Editor ` - :github-demo:`Dynamic Views ` - :github-demo:`HDF5 Tree ` - :github-demo:`History ` - :github-demo:`Invalid state handling ` - :github-demo:`ListStrEditor ` - :github-demo:`ListEditor ` - :github-demo:`ListEditor (notebook tabs) ` - :github-demo:`MVC ` - :github-demo:`Multi-selection string list ` - :github-demo:`Multithread ` - :github-demo:`Multithread 2 ` - :github-demo:`NumPy array TabularEditor ` - :github-demo:`NumPy ArrayViewEditor ` - :github-demo:`Popup Dialog ` - :github-demo:`Property List ` - :github-demo:`ScrubberEditor` - :github-demo:`Settable cached property ` - :github-demo:`Statusbar ` - :github-demo:`StringListEditor ` - :github-demo:`TableEditor (with checkbox column) ` - :github-demo:`TableEditor (with context menu) ` - :github-demo:`TableEditor (with live search and cell) ` - :github-demo:`TabularEditor ` - :github-demo:`TimeEditor ` traitsui-7.2.1/docs/traits_ui.ppt0000644000076500000240000721600014046644454017475 0ustar aayresstaff00000000000000ÐÏࡱá>þÿ ¼ ˜ þÿÿÿ  ¡ ¢ £ ¤ ¥ ¦ § ¨ © ª « ¬ ­ ® ¯ ° ± ² ³ ´ µ ¶ · ¸ ¹ º » ú {ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ Fð·–Ø› £üR¸´z 8ªÝŽÿÿØÿàJFIF``ÿáÇExifMM*bj(1r2†‡iœÈ``Adobe Photoshop 7.02004:08:31 17:31:47 ÿÿ j S(&™HHÿØÿàJFIFHHÿí Adobe_CMÿîAdobed€ÿÛ„            ÿÀ`€"ÿÝÿÄ?   3!1AQa"q2‘¡±B#$RÁb34r‚ÑC%’Sðáñcs5¢²ƒ&D“TdE£t6ÒUâeò³„ÃÓuãóF'”¤…´•ÄÔäô¥µÅÕåõVfv†–¦¶ÆÖæö7GWgw‡—§·Ç×ç÷5!1AQaq"2‘¡±B#ÁRÑð3$bár‚’CScs4ñ%¢²ƒ&5ÂÒD“T£dEU6teâò³„ÃÓuãóF”¤…´•ÄÔäô¥µÅÕåõVfv†–¦¶ÆÖæö'7GWgw‡—§·ÇÿÚ ?¥ÿoÖß _ûyßúE/ük~¶øbÿÛÎÿÒ+Ø’RûóðcöaÛñ|wÿß­¾¿öó¿ôŠ_øÖýmðÅÿ·ÿ¤W±$—¿?{0íø¾;ÿoÖß _ûyßúE/ük~¶øbÿÛÎÿÒ+Ø’Kߟ‚½˜vü_â»ëg†/ý¼ïý"¦?ŇֱÛþÞwþ‘^¼’?xŸ‚=Œ}¿ÈÇø³úÔ;bÿÛÎÿÒ(ƒü[}h±¿í×é%ë #÷œžb-±û_*oø¹úÎ9ßöë¿ô’#ÅçÖQÛþÝ?úIzŠHýï'‡Ø´ò˜µóÿ‹ï¬ƒ¶?ýºô’˜úƒõˆvÇÿ·Oþ’^–’?}Ëý_±oܰøý¯›¨XGlûtÿé%!õë†?ý¸ô’ôd‘ûö_êýˆû†ë}¯ÿÐõT’I%)$’IJI$’R’I$”¤’I%)$’IJI$’R’I$”ÿÿÑõT’I%)$’IJI$’R’I$”¤’I%)$’IJI$’R’I$”ÿÿÒõT’I%)$’IJI$’R’I$”¤’I%)$’IJI$’R’I$”ÿÿÓõT’I%)$’IJI$’R’I$”¤’I%)$’IJI$’R’I$”ÿÿÔõT—žÿÏþ»þ‹üË?ôº‰ÿ=xÄÿ2Ïý.­}Ë7‡ÚÕûþòûDIyÉÿ}|Äÿ2Ïý. Æ?ÖþüËôºsËáö§ï¸{Ÿ±ô”—™Ÿñ•õ„Ãÿ2ßýèC?ã7ëÿ…þe¿ûЇÝrø}©Þ#Ôý¨$¼°ÿ¬ƒüý·oþô(ñ§õ”€Âÿ¶íÿޔ߻dðûW}çsö>¬’òsþ5¾³ Áÿ¶íÿÞ•þ6>³ÿÜ|ûnßýéCØŸ‚}ü}ÿÖÒ^GÿŽÏÖûƒÿmÛÿ½Iã³õ£þãàÿÛvÿïR^Äü>ÔûÐîúâKÈÿñÙúÑÿqðí»÷©it¿ñ“ײñïu”c:öšÅl-k63{lÊ~Neme6XvúŽ}5×éÙúKr,£†czPË /¥$¼¶¯ñ¡ÖßîéÕÈ~Ï’F¿HÉÝíþ¢Ÿþ9½`4““ÓI˜ n6Q$~÷»!¬ÿ¦—³>É÷aÝÿÙÿí ¨Photoshop 3.08BIM8BIM%F ò‰&¸VÚ°œ¡°§w8BIMí``8BIM&?€8BIM 8BIM8BIMó 8BIM 8BIM' 8BIMõH/fflff/ff¡™š2Z5-8BIMøpÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿèÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿèÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿèÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿè8BIM8BIM8BIM@@8BIM8BIMYSjblue_blue_gradientjSnullboundsObjcRct1Top longLeftlongBtomlongSRghtlongjslicesVlLsObjcslicesliceIDlonggroupIDlongoriginenum ESliceOrigin autoGeneratedTypeenum ESliceTypeImg boundsObjcRct1Top longLeftlongBtomlongSRghtlongjurlTEXTnullTEXTMsgeTEXTaltTagTEXTcellTextIsHTMLboolcellTextTEXT horzAlignenumESliceHorzAligndefault vertAlignenumESliceVertAligndefault bgColorTypeenumESliceBGColorTypeNone topOutsetlong leftOutsetlong bottomOutsetlong rightOutsetlong8BIM8BIM8BIM µ€`€™ÿØÿàJFIFHHÿí Adobe_CMÿîAdobed€ÿÛ„            ÿÀ`€"ÿÝÿÄ?   3!1AQa"q2‘¡±B#$RÁb34r‚ÑC%’Sðáñcs5¢²ƒ&D“TdE£t6ÒUâeò³„ÃÓuãóF'”¤…´•ÄÔäô¥µÅÕåõVfv†–¦¶ÆÖæö7GWgw‡—§·Ç×ç÷5!1AQaq"2‘¡±B#ÁRÑð3$bár‚’CScs4ñ%¢²ƒ&5ÂÒD“T£dEU6teâò³„ÃÓuãóF”¤…´•ÄÔäô¥µÅÕåõVfv†–¦¶ÆÖæö'7GWgw‡—§·ÇÿÚ ?¥ÿoÖß _ûyßúE/ük~¶øbÿÛÎÿÒ+Ø’RûóðcöaÛñ|wÿß­¾¿öó¿ôŠ_øÖýmðÅÿ·ÿ¤W±$—¿?{0íø¾;ÿoÖß _ûyßúE/ük~¶øbÿÛÎÿÒ+Ø’Kߟ‚½˜vü_â»ëg†/ý¼ïý"¦?ŇֱÛþÞwþ‘^¼’?xŸ‚=Œ}¿ÈÇø³úÔ;bÿÛÎÿÒ(ƒü[}h±¿í×é%ë #÷œžb-±û_*oø¹úÎ9ßöë¿ô’#ÅçÖQÛþÝ?úIzŠHýï'‡Ø´ò˜µóÿ‹ï¬ƒ¶?ýºô’˜úƒõˆvÇÿ·Oþ’^–’?}Ëý_±oܰøý¯›¨XGlûtÿé%!õë†?ý¸ô’ôd‘ûö_êýˆû†ë}¯ÿÐõT’I%)$’IJI$’R’I$”¤’I%)$’IJI$’R’I$”ÿÿÑõT’I%)$’IJI$’R’I$”¤’I%)$’IJI$’R’I$”ÿÿÒõT’I%)$’IJI$’R’I$”¤’I%)$’IJI$’R’I$”ÿÿÓõT’I%)$’IJI$’R’I$”¤’I%)$’IJI$’R’I$”ÿÿÔõT—žÿÏþ»þ‹üË?ôº‰ÿ=xÄÿ2Ïý.­}Ë7‡ÚÕûþòûDIyÉÿ}|Äÿ2Ïý. Æ?ÖþüËôºsËáö§ï¸{Ÿ±ô”—™Ÿñ•õ„Ãÿ2ßýèC?ã7ëÿ…þe¿ûЇÝrø}©Þ#Ôý¨$¼°ÿ¬ƒüý·oþô(ñ§õ”€Âÿ¶íÿޔ߻dðûW}çsö>¬’òsþ5¾³ Áÿ¶íÿÞ•þ6>³ÿÜ|ûnßýéCØŸ‚}ü}ÿÖÒ^GÿŽÏÖûƒÿmÛÿ½Iã³õ£þãàÿÛvÿïR^Äü>ÔûÐîúâKÈÿñÙúÑÿqðí»÷©it¿ñ“ײñïu”c:öšÅl-k63{lÊ~Neme6XvúŽ}5×éÙúKr,£†czPË /¥$¼¶¯ñ¡ÖßîéÕÈ~Ï’F¿HÉÝíþ¢Ÿþ9½`4““ÓI˜ n6Q$~÷»!¬ÿ¦—³>É÷aÝÿÙ8BIM!UAdobe PhotoshopAdobe Photoshop 7.08BIMÿáHhttp://ns.adobe.com/xap/1.0/ adobe:docid:photoshop:7ede65d5-fb9d-11d8-b5b7-f5f4d0bff19a ÿîAdobed@ÿÛ„ÿÀSjÿÝŽÿÄ¢     u!"1A2# QBa$3Rqb‘%C¡±ð&4r ÁÑ5'áS6‚ñ’¢DTsEF7Gc(UVW²ÂÒâòdƒt“„e£³ÃÓã)8fóu*9:HIJXYZghijvwxyz…†‡ˆ‰Š”•–—˜™š¤¥¦§¨©ª´µ¶·¸¹ºÄÅÆÇÈÉÊÔÕÖרÙÚäåæçèéêôõö÷øùúm!1"AQ2aqB#‘R¡b3 ±$ÁÑCrðá‚4%’ScDñ¢²&5T6Ed' sƒ“FtÂÒâòUeuV7„…£³ÃÓãó)”¤´ÄÔäô•¥µÅÕåõ(GWf8v†–¦¶ÆÖæögw‡—§·Ç×ç÷HXhxˆ˜¨¸ÈØèø9IYiy‰™©¹ÉÙéù*:JZjzŠšªºÊÚêúÿÚ ?ÕÞeu†{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷]~ëÝsóþûýçü=î¿·ªýsáþñþÄ{·¥z×ÈõÌ~?Ãóþñïáê½dï¿ß°÷¾µ×5ÿ}ÿþ¾íÕOYçý÷ûî}ìÛÕ}:È?ØŸ÷Ãݺ×åÖAþõÇ»Õ~^]eï¿âŸ{>}T笋þûýçþ#ݺ¯YGükýæÀóý=Ø|ú¯YGûï÷ßÓÞú¡ùu» u_ðu”÷¿÷Žûvªyñë(ü¾üû°=k:Ì¿‘ÇÓéîßáꇬ£ñ÷ßì>žì:¡ë0ÿ}þûü}Øu_N³/ük݇T=eSþ·»ŽªzÌ?ÿÄ[þGîê³/?CÏøû°õꇬËþÇý‡û×ì:©õë2ÿ°ÿ}ý=ÜuCÖeü¾ÿŠû°ê„õ™ßÿØþO»åÕY×ý÷ûëû°=Põ™ØÈÇúßÓÝþΨzο_ùüŸv:¡Å3Öeú¯îýPõß¾ÿaîÝPùõâ¾ì:¡ãÖeÿ}ÇúÞî¨zοÓÝú¡ÇY×ý÷ôçók}=Ú¾~}PÓ¬ëþûý÷×ÝÆz¡ë:ÿ·ÿaþÃÝÇMŸçÖuÿoþ·úÞì:§ÛÖqõÿ}ÿý}Üpꆹë2Ûú¾ÿ{÷qÕ:¿ƒõ÷aÕ:οëÿ¾ÿ[ÝÇMœuï~ì:¡ë:ÿ¯þûý·äwPõßO÷ÇÝÇT=g_ø×üO»¨sÖuÿ}þÇÝÇMž³¯×÷ßñ_wÇT=H_wó6zο゚ò?vPõ™~¶ÿ{ÿ}ø÷~©Öuÿ}ÿÿwãÕóêBÿ½ÿ­Ç»õCÖuÿaÏôÿŠ}G»¨xyõ™oôþŸÐÿ°÷qÓg׬ë÷ßñî:©ë8ÿø×{°é³Öuü‡»Žªzξì:lñ=fQþûëîã˪u™ß~?ÃÝÇT>H_vꧬª-Íÿß»|º¡ë:ÿ¾üÿ_ø§»õCÖeãý÷ø{°ê‡oY–ÿï_í½Üqꇬëþõþûéù÷o>¨zÌ¿ï¿ã~ìT>}f_ùûÏ»uC_>²÷ßñÝÇT=gì?ŸU=e_÷ßï»uCöõ™ß}}Ûªpë*ÞÿéîÃÓªž²¯û÷Ž=Ûª³/ï¿ì3ÕÃÖAîÀuS·¬«øÿ}ÿîÕê¦eï¿?ï¾¾íNªzÊ?Ãýë݇Të ÿ}ø·üOÓÞú©ûqÖQôÿ_ý÷üO»uSÖAîÝhõ”Åß ý}ìg=S®bßë{·Zë˜ü¾þ¿ì=ìuSÖAþóø?ãý?Àûµz¯¯YüSý÷û~kÈuÌéîÝW\ÇüOÓݺ×\½û­uÿÐÕÞeu†{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷]~ëÝrñO÷Üÿ_{]k‡Yûßûïö>÷Õ:ä?ßȇ×Ýúñã^²§û÷ß×{ê§Ó¬ƒþ)ÿþž÷ÕzÈ?ß¯Ï½ŽªzÊ?Öÿ}õÿ¯»µ×1oëþ?ï¿÷ö¨zÊ¿ï¿â¿áîÝTõ­þñovëX =e_÷“þûúOvÿTë"ÿÄ}?O{ê§ìë0ÿaþûýç“îžGªŸ—Yõÿcþßúû·U8ÏY—ñîÝTðë*ÿ¶ÿ}ÿ÷n©ÖP-îãÖ½Tõ™ß¼qï}Põ”¾ÿz?ï^ì:§ÚzÌ¿ï¿Þ}Ø>ªzÌ¿ñ¯÷¿Ï»Ž¨zÌ¿×éþ6ÿ}Ï»y|ú¡ë0ÿ}þÃýëÝÇ—U>}fï¯îê³/üOçéîãÏÓª˜ÏY—¯ûïøÙÞþΨzξî:¡ãÖeÿëô÷aÕY×ú¶÷qëÕN:οøŸ÷¿÷v6z̿ﻎ¨zοë[éîýTõ™âxÿ{·»tÙÁë:ÿ¼ÿ°÷aÕY×ý÷üO·ÙÕYÇ×þEþì:lõ¯çý÷ûÇ»Žªzοãõç݇T4ë:ÿ¾úÿ®}ߦÎzοëÿOøõ­îÃ˪<:Ì¿ï¿â¿ë{¸ê‡© þúÿÓýèû¸õê‡Ï¬ëþûý‡»ôÙë:ÿ¶ÿŠû°ê‡© þûéÿ#÷qÕY—éõÿ}Ç»ôÙë:ÿ¾ÿcovuCÖu÷qåÕOY×ú~?§íýߦÈêBÿ¶÷qÓg¬Ê?ß¼û°ê‡¬ëþûýñÿ_ÝÇU>H_Çûo÷Ü{°6|úοï¹ÿn¨z̶÷`z¡ÇY×ú¶ÿ}Ç»õCëÖu?ãþøqþ>ì:lýgQþÇýÏüS݇T>´ë2ÿ¾ÿ|ÃÝú¡ë:ÿ½[ÝÇT9ë:ÿ·ÿmþÛów]Pýf_÷ßò3ͽØuCÖeÿ}ÿ÷aÕóë:ÿ­îãªu™äv·û×ô÷aåÕ õ˜_ý÷×üx<û°ê§¬ë{¯×þ#ݺ¡ë0ÿ}ý?Þ¹÷qåÕ ÇϬËý?ؾÿ_݇T'=fw}Põ•Gûï÷ß_v½Tž³ñÿx÷n©éN³Çûï÷¿­ýØgªž'¬«øÿÅ/Ï»¨zÊûïëÇçýovê¤u˜¾ÿ[ý‡»ª|ºÈ9÷a^©Öeÿ_ú‡»~]Tõ”~=ØuSÖE¿ûïö>ì:©ë ÿ}ôþŸ×ݺ¡ë(ÿ[üßqô÷aÕOõ­þûý½ñꧬ‹þ÷þ¿»´zÈ?߇üM½ïªõÌßöOvÅ1ÖY÷¿Ëª×1ýmþøõýî´ë]dÿcõüûßU?Ë®céÿÿŠ{ßZë—½õ®¿ÿÑÕÞeu†{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷]ð÷î½×!þßý÷üG»‡­‡¬ƒß‡ªzæ?ؼ±üþ=ÛÔu_—Y»u¯^¹÷Ãý¸÷¿³ªÿ‡¬ƒÞú©ë ÷aóëG¬ þ?âŸìÖ÷ºuR8õ¾ÿ_ýð÷aÕOYøŽß[Ÿvüú¡òë/üVÞì<©Ö¼úÊ¿{ûz¡óë(·6ÿoÿ÷aÕOϬ‹þûñùÿû·ªzÌ¿ïwÿ{÷aÕYGûﯻªzÊ?ã_ï»uC^³/üOûõ¯ô·»ªxu˜qþûóîÀüú¡ÏYWý÷ûïð÷qÕOYGûïøÇ»¨zΣþ$¾ü{°ùõNoY—ýõÇü‹Ý½=z©Å:Ì?ßÄ{¿T=f_öý¿ûÇøvꇬËþŸø§ûÇ»|º¡û:Î?߇»Ž©Öeÿ_ýo¯×óøÿvê„u™mþûý»Ž¨~γ¯ûïÇãëîã˪ž³¯ûßûo÷Ã݇MŸN³¯ûïøŸöÞì+Õ—Y—ý÷ú×ÿwꇩñî㪳/ûëñùúû°ê‡Žzοñò/¯øû¿T=f_§ûïøŸwz¡ë:ÿ¾ÿ[ümõã݇M‘Ô…ÿ}þ'ý{{¸þ]Pðë:ÿ¼Ûýç݇T=g_õÇüký»Ž¨zοáÇû×ø~>žïöôÙêBßýaÿ"ü{°ê‡¬ËíÀqÕzοï[݇M—Y×ý÷ûë{°þ}Pž#¬ãñþûóÏûÇ·T>}g_Å¿ß}Ö÷aÕ:ηÿ}þÿŠû°ê„õ!6ÿ‘ÿ·ÿ_ÝÇ—T?>³(ú¾ÿxçÝÇÛÓfg[±ï?ì?§»åÕORñø÷qÓg¬êmþûúþ>žî:¡áÖe?ï­þÃýëÝÆzlùumÇûcîê·Y×ý÷û÷n›=fSïcªšzuãëÿÅ=ߦÏY×ý÷?ï¸÷qÕY‡í½ØuCÖuþ¿ëû°ãÕ:Ì¿ï¿â¾î:©ë:§ûï÷Ö÷aÓg¬Ëî㪳¨üÿ¾þžìU5áåÖU?ï¿Þ½ßªŠõØOñ÷aÓgϬËþµ¿Çý‡»ŽªzÊ?ä\Û݇T=f_÷ßáÿ÷aåÕOY…¿â¾ì:§YGûïëî겯ûïñÿ‰÷lõ£ÖuÿõýØtÙë ÿ¾ÿy÷oNªqÖUÿoþñù»gU?>³ ¾ÿ÷¿vꧬ£ü}Ûü=Põ­îíu”}?ß÷£îÝS®cþ7þ÷ïÃתýeýãýïÝú¯YGãê}ìu¯^¹éÿ#ÿ_ݺ©ë˜?ï¬ß[ݺÑùu”}>¿ï_゙÷éÕkS×1þõÿ÷±ÕOÛž¹‹¾þ¼ûØê§®bãý·ûïëï}kr÷¾µ×ÿÒÕÞeu†{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷]÷ßëûØôëÝrï¿>÷ÕO\Çûïöí½ïÏk¬ƒëÏï½õSŒõ¶ÿ_ÞúÑë˜ÿ}ùÿ|}ìuSëÖAø÷aÖYûïöÃݳåÕO¯Yû×»PyõSüúÊ?ß¾ã›{ßUë ÿ}þûëîÝWë*ÿ°ÿ|?â¾ì?ŸT=d힪zÌ?Øÿ¬Þ=ìuSÖEÿaÿµ¿Þ=ÛªŸ³¬Ãý÷ûo§ûÏ»uOZu”¾?ïì:¯YG»©öõ•lmþñý?Çý‡»pê§Ìu™~¿ï¿ä~î1ÕY—þ)ø§»}¼z©ë2ý?ÂÿíÿßvSÏe^>Ÿñ®?âžíǪ‡¬ë{ÿ¾çvPõ™ž?Þ‡»õS\õ™í…¯þ·»uCÖaþûéþ¿».¨zÎ-îÝP׬Ëþ·û¯ûëû¿U=f_÷ÇþEv6ŸY×ýçý÷ãñî㪳¯üSý÷úÞíÕY×ý·ûÅýØuCÖeÿoþ¿Óþ)îøê‡åÖu÷qÄuCÖuÿaÿÿ[Ý…<º¡ÏY×ý¿?Ôÿ¶÷qÕˬëÿþûú{¸ê‡¬Ëþûþ+îãåÓg© þû“þ÷o{Püú̼·z¡êBÅxþ¿ë~=Ø õCÖu?ï?컎6sÖuÿ}Ïû×ûwϪ³/ûë¾î:¡ôêBÿ_ø›÷¯vPõ!ßOñ÷qÓmÖaþûýwPõ?ß}ïì:¡êBÿȯþøû°ê‡¬ËþûŸnuCÔ…¿Óý·» uCìÃý÷?_ñúÿ»Ž›=gSÿÿy÷qåÕRý¿ûî?Äû°êž¾½f^Þ¾¿ïï>î=z¡óë:ñÇûïÇ» õCÖuÿcîý6z̿￯×þ)îãªN³¯ûïë÷v¦:¡ë:ÿ¾·ûÇ»Ž¨iÖu?Oø¯ü݇T8<:Ì¿ñ?ë¾·»ŽPõxüÿ­oéÿ÷oðõCöu™oþóþÀû¶:§Y—ýñÿ{ÿnuCüºÌ§ýïýç{]TÓ¬ëÿÿŠ{¸5ê„õ™ÞýØSPúu˜‡ûï§ûovPŸÛÖQøúÿ¾ÿŠû¸ê§¬ÃŸù»yüú§Y‡ûï§ük݇T9ûzÊ¿ï¹ÿ}Ï»cò꧇Y—þ$û·T>}e_öíÕOYGû÷ßwS¬Ãþ)ïcùõR:È?Ûsý~¼{µz©ë*ÿÈÿÖ÷aÕYGï­þ·ø{°ê¤u”¾$ÿ¾ú{Øk®bÜ{°ê‡‡YGûï÷ßëû°ë]dë°÷¾ªzÈ?ß¾ú{Øê´ÏYûnâ=ÛªúW®cý‡ûÇ»u¯—YãúÆýûü=Tõ̼Èÿ¯».ª}:æ?ßÈýï­¹{ßZëÿÓÕÞeu†{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷]øß½Ž½×1ùÿ|?ßsï}k®cÞÇUõë˜ÿzãý·çýý爵d÷n´zÈ?â–ÿûßU#ç×1þûýoϽӪž²÷Öÿ}þ>ì:Ñë ÿö#Þþ]WYGûïø¯»u^s_¯Óú{·U#‡YWþ)þûý½õSÖaù?ï¿â¾ì:¯Y݇T4fø×úþì8õCçÖQþûý÷Ó݇Zë*ÿ½ÿ°ãú{°êŸ.³-ÿßsîÝP㬣ý÷ãù÷aÆPÒf_Çûïñ÷qöuSÖeüŸ÷ßì=ØuCÖe÷aÕY—ñþúÞì:¡ë2ÿ¾úÿ^Þ=Ü|‡U=g_ö±µýØtÛW‡Y—ú½¼vÿU5ë2ߟ÷ßAÏ»õSåÖeú¾ÿy÷aê:¡ë:ÿÅ>Ÿï¸÷qÓg‡Y×ý÷õü¯îê³/ãýãÝÇT=g_÷Ÿv˪³¯üMÿÞ½ÜpꇬËþûýðú{¸ê‡¬ëøÿcõÿîýPõ~¾ì:o‡ÙÖuÿ÷ßò#îýPõGûïõ¿Þ½ØSª³­¿äCýñ÷qòꇬËþÃý¿ûî=ÜuCÇçÖuÿ}õ÷eꇩ þûñîã¦Î:οïúßò?wS¬ëýÿÖÿŠÿ‡»^¨xõäCý÷ô÷q^¨ßË© øÿø“Ï»Õë2ÿ¯þÃý÷ãۃ˦Íxõ!xÿ|~¿í¿Ã݆z¡§Y—ý÷ûáþ·»Ž¨zοï¿ß¯îæÏY×ý÷ÜóÇ»ŽªzΧý÷úÞî=z¡ê@ÿzÿ}ùî=zlõ™ß¾>ì:¡ë:Þßï¿âžïÕ+_>³¯ûÇûov6ŸY×ÝÇT=g_§üPÿ¾·ì:©ãÖeü~Ûßýñ÷~›=H_÷ÜÿÅ}ÜuCÖeþŸï_ï_vTâµë:þ?§»Ž›=e[ÿ½û¾:¡û:οï¿Û_ŸvSüfO÷ßëû°þ}PùõßsþÃ݇T=e_ëþõþ¿ô÷~ªzοì8ÿ÷ßOvꇬËþóîÃùuCçÖUÿˆñ_wÈõCÖeÿ}øÿ‰÷nªzÌ?ß~?â¾ì:¡ë*óþûþ'Ý©ëÕóë0?O÷ßñìU=e_÷ßò?wTõ˜¾ÿ[þ#Þú§YýçÝ«ÕOYWü?â}ØuSÖaÿþúÞ펩ÖEü¾ÿ}ov}Tã=dAõ?í¾Ÿï‡½ŽªsÖEÿaøÿˆç݆~Þ«òë0ÿ}þ¿ûû°ê§=sï¿ß}=ï­²÷×÷n«ÖAþìäv·>íÕzæ/þûýïÞéÕIóë ÿoÿ=ï­õÌ}??ï¿ì}ïóëG®`[ݺ©þ]woõþ–ÿ}þ>ý׺ÿÔ¡øm_æ3ÿxó_ÿI[½?û÷–?Ö>^ÿ£õ—üç‹þ‚ë¿«|ÅÿFßùÁ/ý׿ᵘÏýàÍý%nôÿìß¿¬|½ÿGë/ùÏý׿«|ÅÿFßùÁ/ý׿ᵘÏýàÍý%nôÿìß¿¬|½ÿGë/ùÏý׿«|ÅÿFßùÁ/ý׿ᵘÏýàÍý%nôÿìß¿¬|½ÿGë/ùÏý׿«|ÅÿFßùÁ/ý׿ᵘÏýàÍý%nôÿìß¿¬|½ÿGë/ùÏý׿«|ÅÿFßùÁ/ý׿ᵘÏýàÍý%nôÿìß¿¬|½ÿGë/ùÏý׿«|ÅÿFßùÁ/ý׿ᵘÏýàÍý%nôÿìß¿¬|½ÿGë/ùÏý׿«|ÅÿFßùÁ/ý׿ᵘÏýàÍý%nôÿìß¿¬|½ÿGë/ùÏý׿«|ÅÿFßùÁ/ý׿ᵘÏýàÍý%nôÿìß¿¬|½ÿGë/ùÏý׿«|ÅÿFßùÁ/ý׿ᵘÏýàÍý%nôÿìß¿¬|½ÿGë/ùÏý׿«|ÅÿFßùÁ/ý׿ᵘÏýàÍý%nôÿìß¿¬|½ÿGë/ùÏý׿«|ÅÿFßùÁ/ý׿ᵘÏýàÍý%nôÿìß¿¬|½ÿGë/ùÏý׿«|ÅÿFßùÁ/ý׿ᵘÏýàÍý%nôÿìß¿¬|½ÿGë/ùÏý׿«|ÅÿFßùÁ/ý׿ᵘÏýàÍý%nôÿìß¿¬|½ÿGë/ùÏý׿«|ÅÿFßùÁ/ý׿ᵘÏýàÍý%nôÿìß¿¬|½ÿGë/ùÏý׿«|ÅÿFßùÁ/ý׿ᵘÏýàÍý%nôÿìß¿¬|½ÿGë/ùÏý׿«|ÅÿFßùÁ/ý׿ᵘÏýàÍý%nôÿìß¿¬|½ÿGë/ùÏý׿«|ÅÿFßùÁ/ý׿ᵘÏýàÍý%nôÿìß¿¬|½ÿGë/ùÏý׿«|ÅÿFßùÁ/ý׿ᵘÏýàÍý%nôÿìß¿¬|½ÿGë/ùÏý׿«|ÅÿFßùÁ/ý׿ᵘÏýàÍý%nôÿìß¿¬|½ÿGë/ùÏý׿«|ÅÿFßùÁ/ý׿ᵘÏýàÍý%nôÿìß¿¬|½ÿGë/ùÏý׿«|ÅÿFßùÁ/ý׿ᵘÏýàÍý%nôÿìß¿¬|½ÿGë/ùÏý׿«|ÅÿFßùÁ/ý׿ᵘÏýàÍý%nôÿìß¿¬|½ÿGë/ùÏý׿«|ÅÿFßùÁ/ý׿ᵘÏýàÍý%nôÿìß¿¬|½ÿGë/ùÏý׿«|ÅÿFßùÁ/ý׿ᵘÏýàÍý%nôÿìß¿¬|½ÿGë/ùÏý׿«|ÅÿFßùÁ/ý׿ᵘÏýàÍý%nôÿìß¿¬|½ÿGë/ùÏý׿«|ÅÿFßùÁ/ý׿ᵘÏýàÍý%nôÿìß¿¬|½ÿGë/ùÏý׿«|ÅÿFßùÁ/ý׿ᵘÏýàÍý%nôÿìß¿¬|½ÿGë/ùÏý׿«|ÅÿFßùÁ/ý׿ᵘÏýàÍý%nôÿìß¿¬|½ÿGë/ùÏý׿«|ÅÿFßùÁ/ý׿ᵘÏýàÍý%nôÿìß¿¬|½ÿGë/ùÏý׿«|ÅÿFßùÁ/ý׿ᵘÏýàÍý%nôÿìß¿¬|½ÿGë/ùÏý׿«|ÅÿFßùÁ/ý׿ᵘÏýàÍý%nôÿìß¿¬|½ÿGë/ùÏý׿«|ÅÿFßùÁ/ý׿ᵘÏýàÍý%nôÿìß¿¬|½ÿGë/ùÏý׿«|ÅÿFßùÁ/ý׿ᵘÏýàÍý%nôÿìß¿¬|½ÿGë/ùÏý׿«|ÅÿFßùÁ/ý׿ᵘÏýàÍý%nôÿìß¿¬|½ÿGë/ùÏý׿«|ÅÿFßùÁ/ý׿ᵘÏýàÍý%nôÿìß¿¬|½ÿGë/ùÏý׿«|ÅÿFßùÁ/ý׿ᵘÏýàÍý%nôÿìß¿¬|½ÿGë/ùÏý׿«|ÅÿFßùÁ/ý׿ᵘÏýàÍý%nôÿìß¿¬|½ÿGë/ùÏý׿«|ÅÿFßùÁ/ý׿ᵘÏýàÍý%nôÿìß¿¬|½ÿGë/ùÏý׿«|ÅÿFßùÁ/ý׿ᵘÏýàÍý%nôÿìß¿¬|½ÿGë/ùÏý׿«|ÅÿFßùÁ/ý׿ᵘÏýàÍý%nôÿìß¿¬|½ÿGë/ùÏý׿«|ÅÿFßùÁ/ý׿ᵘÏýàÍý%nôÿìß¿¬|½ÿGë/ùÏý׿«|ÅÿFßùÁ/ý׿ᵘÏýàÍý%nôÿìß¿¬|½ÿGë/ùÏý׿«|ÅÿFßùÁ/ý׿ᵘÏýàÍý%nôÿìß¿¬|½ÿGë/ùÏý׿«|ÅÿFßùÁ/ý׿ᵘÏýàÍý%nôÿìß¿¬|½ÿGë/ùÏý׿«|ÅÿFßùÁ/ý׿ᵘÏýàÍý%nôÿìß¿¬|½ÿGë/ùÏý׿«|ÅÿFßùÁ/ý׿ᵘÏýàÍý%nôÿìß¿¬|½ÿGë/ùÏý׿«|ÅÿFßùÁ/ý׿ᵘÏýàÍý%nôÿìß¿¬|½ÿGë/ùÏý׿«|ÅÿFßùÁ/ý׿ᵘÏýàÍý%nôÿìß¿¬|½ÿGë/ùÏý׿«|ÅÿFßùÁ/ý׿ᵘÏýàÍý%nôÿìß¿¬|½ÿGë/ùÏý׿«|ÅÿFßùÁ/ý×cùjÿ1ÏÀ?šÿúJýéÿØ'¿Xù{þ¶_óž/ú ¯Vù‹þŒ7¿ó‚_ú®Cùk1ûÀ?šßúJýéÿØ'½ÿXù{þÖ_óš/ú ªÿVùŠŸò@½ÿœÿÐ=sË[ù‹ÿÞüÖÿÒWïAÏþ€ž÷ýdåïú?YÎxÿè.µýZæ/ú0^ÿÎ è¹ÿÃkÿ1qÿr óTÿå«÷¡ÿå݇2rïý¬¿ç<_ôZþ­sÿ–ïüà—þëþ[Ì[þðæ¯þ’¿yßÿxO{ÉË¿ô²ÿœñÐ]hò×1ùl¿ó‚_ú¬ƒùl1oûÀoš¿úKçÿ±=ïúÉË¿ô~²ÿœñÐ]Tò×1ÿÓ?{ÿ8%ÿ zÈ?–Ïóÿ¼ù©ÿ¤³Þcÿ”_{þ²rí?ä¿eÿ9âÿ º©åžcÿ¦~÷þpKÿ@õÌ-¯æ+ÿx óSÿIg¼ÿû÷oë/.ñýÿeÿ9âÿ ú×õg™?韾ÿœÿÐsËkùŠqÿ8óOÿIg¼¿û÷¿ë/.gýßÙÎx¿è.«ýYæOúgï¿ç¿ôYòÛþb÷4ÿô–»Ëþ'bý}ïúËËŸôÐYÎx¿è.ªyc™<¹zûþpKÿ@u-Ïæ$ýGÍ+ÿâ­w—ÿ`¶÷oë7.ÓAeÿ9âÿ º©åŽeÿ¦zúŸóB_ú¬ƒùn1/ûÀŸšWÿÅ[ï÷¿î/íýfå¿úh,ç<_ôZþ¬s/ý3×ßó‚_ú¬ƒùo1ûÀŸš?úK}ãÿØ/½Žfå¿úh,ç<_ôUþ«ó/ý3·ßó‚_ú¬«ü·¿˜‡ýàWÍÿ–¹Þ<ë‹ïÖ~[ÿ¦‚ÇþsÅÿAõSÊüÍšrõÿý“Ëÿ@u‘–ÿóÿ¼ ùž?ò×;Ãÿ°QîßÖ~Zÿ¦†ÇþsÅÿAõSÊüÍÿLå÷ý“Ëÿ@u”.æÇüàgÌÿõÿÙ\îÿþÁ}Øs?-ÓCcÿ9âÿ ú¯õ[™¿éœ¿ÿ²yè²/òáþaß÷¿3¿ô—{ÀòŒ8÷a͵ÿM üç‹þƒê§•¹Ÿþ™Ëÿû'—þ€ë*ÿ./æÇüàoÌïý%ÞïëÌïÖŽYÿ¦ŠÇþÊ"ÿ ú©å^góåËÿû'›þ€ë"ÿ.?æ?îC¾fÿé/wÿ`Ü{·õ£–qÿ"+û(‹þƒê§•yž¸å»ÿû'—þ€ë*ÿ.Oæÿxó7ÿI{»ÿ¯þÞíýiåŸ>c°ÿ²ˆ¿è>¨ySš?雿ÿ²y¿è²åËü¿ïþfé/÷}ÿ÷‡÷oëO,ÿÓGaÿeÐ}Tò§4ÿÓ7¸Ù<ßôYGòåþa?÷‚2¿ô˜;·üìÇ÷aÍ<±ÿM‡ý”EÿAõOê§4ÿÓ7¸Ù<ßôYGòçþa÷‚_2‡þ[vÿ¼_cÿOvÕËôÑØÙD_ôUþ©óOý3[‡ý“Íÿ@u™—Góÿ¼ù’?òØ{·ýr8÷oëW+ÿÓIaÿeÐ}Tò—5Ó3¸Ù<ßôY—ùtÿ0oÏÁO™úL=ÚÞöG»kåoúi,?ì¢/úªSæ¿.YÜ?ìšoú¬«üº¿˜/ýà§Ìÿ–ÅÝŸñ;#Ý¿­|­ÿM&ßÿeÿÐ}Tò—5ÓþUÃþɦÿ :̿˯ù‚û‘_˜ÿúL]Ø?ùI÷oë_+ÓK·ÿÙD?ôU<£ÍôÌnöM7ýÖUþ]ŸÌ þð[æ7úçãvõ¯þüvþ¶r·ý4»ý”CÿAõCÊ<ÙÿLÆãÿdÓÐeË·ù~~ üÆÿÒdî¿÷³²=Øsg*ŠÈ—oÿ²ˆè>¨yC›?é—Üìšoú¬Ãùw0ÏÁ˜¿úL½×ÿ²}Øso*ÿÓM·ÿÙL?ôU<ŸÍ¿ôËî4ÿži¿è³/òïùÿÿx3óýÆnê¿þñ<{¸æÞUó³íÿöQýÕ?©üÛÿL¶ãÿdÓÐf_åáóøÜ|ÿþ+/tÿöovÝÊŸôÓíÿöSýÕ'ówý2Û•?çšoú¬Ëü¼¾Þ |ÂÿÒgîŸëÿ†W»nå?úiöïû)‡þƒê§“¹»#ú­¹Sþy¦ÿ :Ê¿ËÏççóƒŸ0ô™û§ÿ°¾}Øs)ÿÓO·ÙL?ôT<›Íþ\«¹Ù4ßôY‡òôù÷ÿx;óÿI£º?û þ¾î9¿”ÿé¨Û¿ì¦úªSy¿þ™MËþÉgÿ :οËÛç×çàïÌö?{£þ'eû·õ¿”¿é©Û¿ì¦úªžLæþ?ÕMÊ¿óË?ýÖeþ^ÿ>ï¾_é4÷?úß—îãœ9Kþš»þÊaÿ úlòg8Ó)¹Ù,ÿôYGòøùñÿx?òûÿI«¹ÿû ÷oë‡(ÿÓS¶ÿÙL?ôU<—Î?ôÉîöK?ýÖuþ_?=ÿï~^ÿé5÷7ì¹vãÊ#þv·þÊaÿ ú¡ä¾qÿ¦Ksÿ²Yÿè³/òúùíùøEòóÿI³¹¸ÿZû/ñîß×Qÿ¦«mÿ²˜?è>¨y+œ¿é’Üÿì–ú×Öeþ_=?þ]ü¶ÎåþŸøeû¸çPÿ¦«mÿ²˜è>ªy+œ¼¹Gsÿ²Yÿè³/òýùè?îI>]ÿé6÷/ÿažì9Ë”?éªÛì¦úªIç?údw?û%Ÿþµõ™—÷Ï+Ù|ºOû–Þå'óýveýØsŸ'ÿÓW¶ÿÙTôT<“·þuÓþÉgÿ­}g_åÿóÇóð›åÇþ“wröîãœù?Ï›6ßû*ƒþƒê‡’9Óþ™ ÓþÉgÿ­}e_€àÿ_þxïwíÉô×íöUýlꇑ9ãþ˜Ý×þÉ.?ë_Y×àOÎÏÂï–?úNÁÿØw»]ù/þší¯þÊ ÿ­Tòyÿ¦3v¯üò\Ö¾³/À¿œß÷†?,?ô{ÿ°ïwñÉ_ô×íöWýlê§¹çþ˜ÍÛþÈî?ë_Y—àoÎQõøeò¿éÿxíÛÿü“íîÞ9+þ› ¯þÊàÿ­Pò<ÿÓ»ÙÇýkë*ü ùÈ?îLþWé;vÿ×ÿ@ÿvóÉ_ôØmöWoÿ[:¡äzÏü‚·oû#¸ÿ­}g_ÿ8¿ï þVÿüã¿oþSýØsÏ$ùó†ÕÿepÖΨyžÿéŠÝÿìŽãþµõ˜|ùÃÿxkò³ýö^;wÿ°ÿÇ»Žzä‘ÿ;ŽÕÿepÖΪyžÏüé[½çŽãþµõ™~üàüü6ùWëþËÇnþT?ì9ë’3ÿ#«þÊíÿëgMŸoùóþ˜ßþÈî?ë_Y—àŸÍñoùÕOÏÇžÝÿìCëîÞ¹#þ›-«þÊíÿëgU>ßóçý1¿ý‘ÜÖ¾³‚Ÿ7~¿ìœ|ªÿÒyíÏ÷£´»{äúl¶¯û+·ÿ­Pû}ϹÿFïÿdwõ¯¬£à¯ÍßÏÕ#ÿ-ï¶ÿû÷aÏ|‘ÿMžÓÿevÿõ³ªŸo¹÷þ˜ãþÈî?ë_YÇÁo›ƒþäëåGþ“ßmÿ±ãû£îß×¾Gÿ¦Ïiÿ²»úÙÕ?Ö÷Ÿ¿é‡Þ?ìŽãþµõ•~ üÛ÷'*?ôžûoÿ±wùÈßôÙí?öWoÿ[:©ö÷Ÿ¿é‡Þ?ìŽçþµõ˜|ùµÿxwò›ÿIó¶ÿÛs´}Øsï#Óg´ÿÙ]¿ýlê‡ÛÎÿ¦xÿ²+Ÿú×ÖUø3ó`Üž|¦ÿÒ}í¯þÄ}ÛúûÈØÿ‘žÓÿe–ÿõ³ªŸo9ÿþ˜mãþÈ®ë_YWàßÍÏÃß”¶ÿÅ}íŸþÄ~žì9÷‘é´Úkÿ=–ÿõ³ªnùÿË‘·Ÿû"¹ÿ­}f_ƒ5ÿ?¾Ré?vÏÿb^íý~ä_úm6Ÿû,·ÿ­Tûwîý0»Çý‘\ÿÖ¾²¯ÁßšÃþäÿå'þ“ÿl·ÿK݇?r&äk´ÿÙe¿ýlê‡Û¿p|¹yÿ²+ŸúÕÖaðwæ¨ÿ¹@ùGþ?ñ€;`ò¥îßùÏvû,·ÿ­Tûuîý0›Ïý‘\ÿÖ®²ƒß4ÿï~Q±èØÿ‰Ú^ì9ÿ‘?éµÚ?ì²ßþ¶uSí׸?ôÂo?öEsÿZúÌ¿þiÿÞ ü¡ÿÑÚÿïïÓ÷aî!ÿÓm´Ùe¿ýlê‡ÛŸp¿é„ÞìŠçþµu”| ù£ÿx‡ò€åí~?õÓ÷oõÀä?úm¶û,·ÿ­Tûsîý0{Ïý‘\ÿÖ®²¯Â/š?CñåþˆÖÿìNÞì=Àä>?×}£þË-ÿëgUÿ[póÿ =çþÈ®ëWYÂ?š÷ˆŸ'ÿØôkö'ïëÈôÛíöYoÿ[:§úÜ{‡ÿLõÿd7?õ«¬«ðæýâ/Éáÿ” µ¿û÷oõÁä!ÿ;¾Ñÿe–ÿõ³ªŸmýÃÿ¦ zÿ²ŸúÕÖAð“æwýâ/Éáÿ”µ¿ÖÿžOÝ¿×é·Ú?ì¶Ûþ¶uSí¿¸ŸôÁo_öCsÿZºÊ>üÍÿ¼Fù;ùÿš Ú¿ýŠ{°÷ é¸Ùÿì²Ûþ¶uSí¿¸ŸôÁo_öCsÿZºÈ¿ ¾fÿÞ#üëô'jþ?òT÷¿õÂä>xÙÿì¶Ûþ¶uSí·¸´ÿ•zÿ²¯úÕÖAð›ægýâ?É¿ö= Ú¿ýŠ{°÷?é¸Ùÿì¶Ûþ¶uSí·¸¿ôÀïöCuÿZºÈ>|Ëÿ¼Hù9ÿ¢µ?ûü{°÷ ?é¹Ùÿì¶Ûþ¶u_õµ÷þ˜ ïþÈn¿ëWY™__öR~Mÿ±ènÔÿìP[ÞǸ|ÿMÎÏÿe¶ßõ³­­¯¸Ãþt ï‡ü ÝÖ®²…?2‡ýÊWɯ§üønÓãŸü5}Ø{‡ÈôÜìÿö[mÿ[:©ö×Üoú`7¿û!ºÿ­]d ¾dÿÞ%|šÿÑ Úñ;WÞÿ×Ûÿúnvû-¶ÿ­½Tûiî?ý0ßýÝÖ®¹…2??¾LýxÿŒ Ú|~ç•÷¿õÄäúnvoû-¶ÿ­hûiî?ý0ßýÝÖ®²…1ÿïþLÿè‡í?þÅ}ïýq=¿§ü¯[7ý–ÛÖΪ}´÷þ˜ ïþÈn¿ëW\ÇÂϘüÿÎ&|™ÿÑÚ_ïïÕï^íþ¸žßãþG[7ý–ÛÖδ}³÷?ó÷¿û!ºÿ­]s >cÞ&ü˜ÿÑÚ_ýŠßÝ¿×Ûÿún¶oû-¶ÿ­½WýlýÇ?ø/÷¿û!ºÿ­]s ~bÿÞ&ü˜ÿÑÚVÿÞWß¿×Ûïún¶oû-¶ÿ­½kýl½Èÿ¾٠×ýjë˜ø]óþñ7ä¿çþhGiOü5½ïýq}¾ÿ¦ëfÿ²ÛoúÛÖ¶~äá>ß?ì†ëþµuÈ|.ù‹ÿxò_ëùèŽÒ½¿ô÷¿õÅöûþ›½›þËm¿ëoZ>Ù{‘ÿ„û|ÿ²¯úÕ×/öK¾bÞ'|–ÿÑÚ?ý‹{ßúâû}ÿMÞÍÿe¶ßõ·ªÿ­—¹øO·Ïû ºÿ­]ÿÕßãߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×ÿÖßãߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×ÿ×ßãߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×ÿÐßãߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×ÿÑßãߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×ÿÒßãߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×ÿÓßãߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×ÿÔßãߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×ÿÕßãߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×ÿÖßãߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×ÿ×ßãߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×ÿÐßãߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×ÿÑßãߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×ÿÒßãߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×ÿÓßãߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×ÿÔßãߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×ÿÕßãߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×ÿÖßãߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×ÿ×ßãߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×ÿÐßãߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×ÿÑßãߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×ÿÒßãߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×ÿÓßãߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×ÿÔßãߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×ÿÕßãߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×ÿÖßãߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×ÿ×ßãߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×ÿÐßãߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×ÿÑßãߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×ÿÒßãߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×ÿÓßãߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×ÿÔßãߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×ÿÕßãߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×ÿÖßãߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×ÿ×ßãߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×ÿÐßãߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×ÿÑßãߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×ÿÒßãߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×ÿÓßãߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×ÿÔßãߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×ÿÕßãߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×ÿÖßãߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×ÿ×ßãߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×ÿÐßãߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×ÿÑßãߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×ÿÒßãߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×ÿÓßãߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×ÿÔßãߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×ÿÕßãߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×ÿÖßãߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×ÿ×ßãߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×ÿÐßãߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×ÿÑßãߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×ÿÒßãߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×ÿÓßãߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×ÿÔßãߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×ÿÕßãߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×ÿÖßãߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×ÿ×ßãߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×ÿÐßãߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×ÿÑßãߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×ÿÒßãߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×ÿÓßãߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×ÿÔßãߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×ÿÕßãߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×ÿÖßãߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×ÿ×ßãߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×ÿÐßãߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×ÿÑßãߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×ÿÒßãߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×ÿÓßãߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×ÿÔßãߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×ÿÕßãߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×ÿÖßãߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×ÿ×ßãߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×ÿÐßãߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×ÿÑßãߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×ÿÒßãߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×ÿÓßãߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×ÿÔßãߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×ÿÕßãߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×ÿÖßãߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×ÿ×ßãߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×ÿÐßãߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×ÿÑßãߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×ÿÒßãߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×ÿÓßãߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×ÿÔßãߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×ÿÕßãߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×ÿÖßãߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×ÿ×ßãߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×ÿÐßãߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×ÿÑßãߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×ÿÒßãߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×ÿÓ¹ãÿ "·ýÊþÌÿ¡/yÿ_þÿöcÿoaüùÎî¡ÿn]q?ð¢;ÜŸÿìÀú÷ïøÿðÿÿ³û|ëðdç9ÿº‡ý¹uÑÿ…ûÃïý˜ó÷¯øÿðÿÿ³û|ëðcÿç:ÿº‡ý¹uÄÿ‰­ÿr}ÿ³oöÿñ„¸÷¯ø?ðÿÿ³û|ëßðcç9ÿº‡ý¹uÄÿ‰íùÃßý˜/ÿB>ýÿoþÿöcÿooþ oüç_öÿn]q?ð¢›ÜžìÁú÷¯øðþÿ³û|ëðbÿç:ÿ³ÿûrë‰ÿ…Ûþäóÿf éÿ°GÞ¿àNÿÃûþÌíó­ÿÁ‰ÿœëþÏÿíË®¿è"ßü¿ý˜/ÿBõÿþßöcÿo{þ ?üç_öÿn]pÿ ‹ÿðÿ6ÿ²ƒÿô!ïßð'ÿáýÿf?öùÖÿàÂÿÎwÿgÿöå×ÿ 1ÿÀ:ÿÙƒÿôï_ð(áûÿf?öùÖÿàÂÿÎwÿgÿöå×ÿ 3·ýÉÏþÌ'ÿ ÿzÿGÿßû1ÿ·Î·ÿþs¿û?ÿ·.¸ŸøQ¨÷'?û0Ÿþƒýëþ/ü?ìÇþÞúßüÿùÎÿìÿþܺàáFöÿ¹8ÿÙ…ÿôï_ð)áùÿf_ö÷Õ‡Þþ¿ø/?ìÿþܺâáG6ÿ¹7ÿÙ†ÿôï_ð*áùÿf_ö÷׿à¾ÿÎyÿgÿöå×ÿ ;·ýÉ¿þÌ7ÿ ßzÿSÿ¿û2ÿ·¾­ÿïþsßû?ÿ·.¸øQõ¿îM¿öaÿý{×ü ¿ø}ÿÙ—ý½õ¿ø.ÿóžÿÙÿý¹õÀÿÂ?ð öaÿý{×ü ÔÿóþÌ¿íï­ÿÁwÿœûþÏÿíÏ®'þ…oû“Oý˜ÿA‡ß¿àWÿÃïþÌ¿íï­½Ïþsïû?ÿ·>¸øR-¿îLÿöb?ýuÿcÿ¯û2ÿ·¾­ÿÇþsïû>ÿ·>¸øR=¿îL¿öbýû×ü ?ø}Ù—ý½õ±÷·¯þ ÿû>ÿ·>¸øRU¿îLöbý{×ü _ø}Ù—ý½õ±÷¶¯þ ÿû>ÿ·>¸øRm¿îL?öb¸ÿßï_ð-ÿáõÿf_ö÷Õ¿àµÿÃóÝÿn}p?ð¤ûÜ—ÿ±ÿf/ÿÐO½À¹Šÿ^ìËþÞúßüŸø`Ù÷ý¹õÀÿ”­ÿr_ÿ³ÿè#ÞÝwÿŸû2ÿ·¾­ÿ—þ?ö}ÿn}p?ð¥kÜ–ÿìÆú÷¯ø¿ðùÿ³/û{ëcïc_ùÐìûþÜúàáKÿ¹,ÿÙŒÿôî¿ð/ÿáñÿfö÷Öÿà¯ÿà þÏ¿íÏ®þ·oû’Ïý˜ïÿ@çÞ¿àaÿÃãþÌÿíë«Á]ÿ†ýŸÛŸ\ü)zß÷%û1ßþ½ëþ/ü=ÿìÏþÞúØûÖ×þt/û=ÿ·N±ŸøS ¿îJ¿öcÿý{Ñû±ÿáïÿföõÕ‡Þ³ÿ ?û=ÿ·N¸øS¿îJ/þ·Éÿ@¾ëÿ'þÿögÿo]oþ ¯ü0ÿì÷þÝ:àáLÖÿ¹'ÿÙÿô ï_ð2ÿáíÿföõÕ¿à©ÿÃþÏíÓ®þÓoû’oý™ÿ@žõÿ7þßögÿo]oþ ü1?ì÷þÝ:ÆáM¶ÿ¹%ÿÙ‘ÿôï_ð3ÿáëÿföõÕ‡Þ›ÿ Oû=ÿ·N¸øS…¿îI/ÿ—%ÿèÝOÝ¢ŸóºÿÙŸý½u±÷¥¯üè¿ö{ÿnp?ð§+Ü‘ÿìÉÿú÷£÷j§üîŸögÿo]X}èëÿ:7ýžÿÛ§XÏü)Úß÷$_áÿe)ÿèÞ¿àkÿÃÓþÌÿíë«ÁEÿ†7ýžÿÛ§XÏü)æß÷$?û2§ÿ´½ÀÙÿ‡Ÿý™ÿÛ×[ÿ‚ƒÿ û<ÿ·N¸øSå¿îH?öeýuÿ·ÿ?û4ÿ·®­ÿÿþÿöyÿnp?ð§ÿüÿý™oÿ@ô~íÔÿÏþÍ?íë­ÿÁ=ÿ†GýžÛ¯XÏü*ß÷#¿û2ÿþ¯þëÿþ_öiÿo=X}ç+ÿ:OýžÛ¯XÏü*ß÷#Ÿû3þ¯Þõÿ‡þ_öiÿo=l}æëÿ:OýžÛ¯\ü*$û‘Ïý™ÿWãï_ð9Sþwû4ÿ·ž­ÿÏþ?öyÿn½p?ð¨ËÜìÌÿú¾û©û¹Óþwû4ÿ·ž·ÿÇþ_öyÿn½c?ð¨ûÜŒÿìÍú¾û×üŸøxÿÙ§ý¼õoø%±ÿ*_ýžÛ¯\ü*Jß÷#û3_þ¯žõÿ¯þöiÿo=[þ _ü2ÿìóþÝzÆáR¶ÿ¹ÿÙ›ÿõ{÷_øÿððÿ³OûyêÃï'_ùÒÿìïþÝzÆáS Ü‹_ÿ.sÿÕïÞ¿àxÿÿþÍíç­ÿÁ#ÿ†gýÿÛ¯\ü*rß÷"¿û3¿þ¯^ô~ï?øwÿÙ§ý¼õoø$?ðÌÿ³¿ûuëÿ…OÚÿó‚Ÿû3ßþ¯>ëÿßþßökÿo=oþúÿΛÿgöíÖ3ÿ £µÿç¯ÿ—=ÿêñǽ»å?çnÿ³_ûyêÃï_ùÓìïþݺàáTÖÿ¹¿þ\ÿÿ«Ç½Àûÿ‡wýšÿÛÏVxÊÿÎÿgöí×ÿ ¨·ýȇþÌÿÿ«¿ºÿÀýÿ‡oýšÿÛÏ[ÿ‚/ÿ ïû;ÿ·n±ŸøUe¿îCÿöh?ý]ýèýßÿðíÿ³_ûyêßðDÿáŸÿgöí×ÿ ¯·ýÈwþÍ ¿ùݽëý`?ðìÿ³_ûxëðDáŸÿgöíÖ3ÿ ²·ýÈgþÍÿ«·ºŸ`©ÿ;gýšÿÛÇVÿ‚ÿ û:ÿ·n¸øU­¿îBïÿ—GÿêëïGØ?ü;?ì×þÞ:°ûÂWþuû:ÿ·n±ŸøUÍ¿îB¿öhÿý]=èû OùÚÿì×þÞ:ßüøhÿÙ×ý»uÀÿ®íÿrÿ³Iÿêéî¿ë ÿ‡_ýšÿÛÇ[x*ÿΣÿg_öíÖ3ÿ ¿·ýÈGþÍ/ÿ«ŸÓÞ¿Öÿ¯û6ÿ·Ž­ÿþ_öuÿnÝp?ð¬/üýšoÿW#ï_ëÿ‡Wý›ÛÇVÿ_ÿü4¿ìëþÝúàáX–ÿ¹ÿÙ¦ÿõr>õþ±?øuÙ·ý¼u¿õþÿÃOþοíß®þoû_ýšÿWuÿX¯ü:ìÛþÞ:°÷óÿ ?û:ÿ·~¸øVU¿îA?öj?ý\}ëýbÿðéÿ³oûxëë÷ÿ†§ýÛ¿XÏü+6ß÷ û5þ®õþ±”ÿ£þÍ¿íã«~¿ðÔÿ³¯ûwëÿ…hXÙý*¯ÿVÿzÿXßü:?ìÛþÞ:ßúüá«ÿg?öï×ÿ Ó·ýÈ ÿòê¿ý[ý×ýc¿ðçÿ³oúïÕ‡¾õÿWþÎíß®þ­oûýš¿ÿVïzÿXÿü9ÿìÛþ»õ±ïµçUÿ³Ÿûwëÿ…lÿà¿ïÿ—WÿêÝï_ë!ÿ‡?ý›×~­þ¾ŸøkÙÏý»õþ‚ÜÿÁìÖú¶ûÑöFŸó³ÿÙ·ýwëëçÿ†¿ýœÿÛ¿\Oü+~ß÷OßýšÏÿVßzÿY/ü9¿ìßþ»õ¿õòÿÃ_þÎí߬gþÃoû§çþÍoÿ«gºÿ¬§þßöoÿ]ú·úøÿá±ÿg?õî'þÇoû§ßþÍwÿ«_½¬­8ó/ý›ÿ×~¶=ðÿÃcþÎë‡\ü+šß÷O¯ýšïÿV¿zÿYoü9ìßþ»õ¿õîÿÃcþÎë‡\Oü+¢ß÷O¯ýšÿÿV¿~ÿYoü9ìßþ»õoõíõåŸû9ÿ®p?ð®»Ý>ökÿýZ¿§ºÿ¬¿þŸöoÿ]úßúöá³ÿgõîþÛoû§Çþ͇ÿ«W½¬ÇþŸöoÿ]úßúõÿá³ÿgõîþáoû§¿þ͇ÿ«O½¬ÏþŸöoÿ]úßúõáµÿgõî'þåoû§·þÍÿ«G½¬ßþöoÿ]úßúôÿáµÿgõîþéÿ‚õÿÙ²ÿõh÷ïõ›ÿÃþÍÿë¿Vÿ^ü6ÿìãþ¸uÇþ‚öÿÁzÿìÙú´{¯úÎáÇùçÿ®ýoýyÿðÛÿ³úá×ÿ ù·ýÓÓÿfÏÿÕŸß¿Ösÿ/û7ÿ®ý{ýy¿ðÛÿ³úá×ÿ ú·ýÓÓÿfÏÿÕŸÞ¿Ö{ÿ/û7ÿ®ýl{Ë_ùÖÿìãþ¸uÀÿ¿mÿtóÿÙ³ÿõg÷¯õžÿËþ¨×n­þ¼ŸønÙÇýpë‰ÿ…Ûþéåÿ³iÿêÍï_ë?ÿ‡ý›ÿ×n·þ¼ønÙÇýpë‰ÿ…€[þéãÿ³iÿêÍï_ëAÿ‡ýPÿ®Ý{ýx¿ðÝÿ³úã×ú ÿãÿ³kÿêÍï_ëAÿ‡ýPÿ®ÝoýxðÝÿ³úã×ÿ ·ýÓÃÿf×ÿ՗߿ևÿú¡ÿ]ºßúðÿá»ÿgõÇ®?ô7þ ¿ÿfÛÿÕ—óïßëCÿ‡ýPÿ®Ýoýx?ðÝÏüô׺?ð°{Ý;ÿÃþÊÛÿÕ—ÝÖ‹ÿú¡ÿ]ºßúïÿá»ÿUÿë\è0üwþÍ·ÿ«'¿­þõCþ»uïõßÿÃ{þ«ÿ׺?ð°›Ý;¿öm¿Þÿç8÷¯õ¤ÿÃþ¨×n·þ»ßøogþkÿ׺ÿ Â¿ð]ßû6ÿþ¬žýþ´øpÕúíÖÿ×{ÿ ïú¯ÿ\z÷ýÿ‚îÿÙ·ÿõd÷ïõ£ÿÃþ¨×n½þ»ßøoÕúã׿è0¯üwþÍ¿ÿ«'¿­þõCþ»uïõÞÿÃ{þ«ÿ×½ÿA…໿ömÿýY=ûýhÿðàÿªõÛ¯®÷þßõ_þ¸õïú +ÿÝÿ³oÿêÉïßëGÿ‡ýPÿ®Ý{ýw¿ðÞÿªÿõǯÐa_ø.ïý›ÿVO~ÿZ?ü8?ê‡ývëßë½ÿ†÷ýWÿ®={þƒ ÿÁwìÛÿú²{÷úÑÿáÁÿT?ë·^ÿ]ïü7¿ê¿ýqëßôWþ »ÿfßÿÕ“ß¿Öÿú¡ÿ]º÷úïá½ÿUÿë^ÿ Â¿ð]ßû6ÿþ¬žýþ´øpÕúí׿×{ÿ ïú¯ÿ\z÷ýÿ‚îÿÙ·ÿõd÷ïõ£ÿÃþ¨×n½þ»ßøoÕúã׿è0¯üwþÍ¿ÿ«'¿­þõCþ»uïõÞÿÃ{þ«ÿ×½ÿA…໿ömÿýY=ûýhÿðàÿªõÛ¯®÷þßõ_þ¸õïú +ÿÝÿ³oÿêÉïßëGÿ‡ýPÿ®Ý{ýw¿ðÞÿªÿõǯÐa_ø.ïý›ÿVO~ÿZ?ü8?ê‡ývëßë½ÿ†÷ýWÿ®={þƒ ÿÁwìÛÿú²{÷úÑÿáÁÿT?ë·^ÿ]ïü7¿ê¿ýqëßôWþ »ÿfßÿÕ“ß¿Öÿú¡ÿ]º÷úïá½ÿUÿë^ÿ Â¿ð]ßû6ÿþ¬žýþ´øpÕúí׿×{ÿ ïú¯ÿ\z÷ýÿ‚îÿÙ·ÿõd÷ïõ£ÿÃþ¨×n½þ»ßøoÕúã׿è0¯üwþÍ¿ÿ«'¿­þõCþ»uïõÞÿÃ{þ«ÿ×½ÿA…໿ömÿýY=ûýhÿðàÿªõÛ¯®÷þßõ_þ¸õïú +ÿÝÿ³oÿêÉïßëGÿ‡ýPÿ®Ý{ýw¿ðÞÿªÿõǯÐa_ø.ïý›ÿVO~ÿZ?ü8?ê‡ývëßë½ÿ†÷ýWÿ®={þƒ ÿÁwìÛÿú²{÷úÑÿáÁÿT?ë·^ÿ]ïü7¿ê¿ýqëßôWþ »ÿfßÿÕ“ß¿Öÿú¡ÿ]º÷úïá½ÿUÿë^ÿ Â¿ð]ßû6ÿþ¬žýþ´øpÕúí׿×{ÿ ïú¯ÿ\z÷ýÿ‚îÿÙ·ÿõd÷ïõ£ÿÃþ¨×n½þ»ßøoÕúã׿è0¯üwþÍ¿ÿ«'¿­þõCþ»uïõÞÿÃ{þ«ÿפEÿ ¥*LÿËÒ¢7Ôl±|­Že+abYþ7ÀC^üXÿ¯ïGÚCå¿ÿÕúíÖÇ»£Ï—Ïüçÿ®=eÿ Áñß÷¯Šßý*ˆ?û}ûýiþãþp×^½þ»«ÿLùÿœÿõË£ Òð¥?‘ß%±»Ã5ñ÷ù=wraöFGxåºû½«÷7 4K<”µÔŸÍ5Fe o$xêv›!,wd…” ¯}¹Û¶Ö‰/ù¶^CE þÙ¸|ø^Œ¬½ÆÜw%™ìyFiR1V+)4óò‡‰ yùtTÿ¿éèêªèk—~VŠº‚ªzúÏ”+K[C]K#CUE[IQñÎ:ŠJÊY¤‘H«$n`·µãÚRÀ2ó*EAðë¯Hݯ Š?.°aäfÿ®=bÿ Áñß÷¯Šßý*ˆ?û}Ûýiþãþp×^©þ»«ÿLùÿœÿõ˯Ð`øïû×Åoþ•Dýξýþ´ÿGñÿ8?ë¯^ÿ]Õÿ¦|ÿÎúå׿è0|wýëâ·ÿJ¢þç_~ÿZFÿ£øÿœõׯ®êÿÓ>ç?ýrëßô>;þõñ[ÿ¥Qÿs¯¿­#ÑüÎúë׿×uéŸ?óŸþ¹uïú ÿzø­ÿÒ¨ƒÿ¹×߿֑¿èþ?çýuëß뺿ôÏŸùÏÿ\º÷ýŽÿ½|VÿéTAÿÜëïßëHßôóƒþºõïõÝ_úgÏüçÿ®]{þƒÇÞ¾+ôª ÿîu÷ïõ¤oú?ùÁÿ]z÷úî¯ý3çþsÿ×.½ÿAƒã¿ï_¿úU÷:û÷úÒ7ýÇüàÿ®½{ýwWþ™óÿ9ÿë—^ÿ Áñß÷¯Šßý*ˆ?û}ûýiþãþp×^½þ»«ÿLùÿœÿõ˯Ð`øïû×Åoþ•Dýξýþ´ÿGñÿ8?ë¯^ÿ]Õÿ¦|ÿÎúå׿è0|wýëâ·ÿJ¢þç_~ÿZFÿ£øÿœõׯ®êÿÓ>ç?ýrëßô>;þõñ[ÿ¥Qÿs¯¿­#ÑüÎúë׿×uéŸ?óŸþ¹uïú ÿzø­ÿÒ¨ƒÿ¹×߿֑¿èþ?çýuëß뺿ôÏŸùÏÿ\º÷ýŽÿ½|VÿéTAÿÜëïßëHßôóƒþºõïõÝ_úgÏüçÿ®]{þƒÇÞ¾+ôª ÿîu÷ïõ¤oú?ùÁÿ]z÷úî¯ý3çþsÿ×.½ÿAƒã¿ï_¿úU÷:û÷úÒ7ýÇüàÿ®½{ýwWþ™óÿ9ÿë—^ÿ Áñß÷¯Šßý*ˆ?û}ûýiþãþp×^½þ»«ÿLùÿœÿõ˯Ð`øïû×Åoþ•Dýξýþ´ÿGñÿ8?ë¯^ÿ]Õÿ¦|ÿÎúå׿è0|wýëâ·ÿJ¢þç_~ÿZFÿ£øÿœõׯ®êÿÓ>ç?ýréßþ‚ñÇÿÞ¿k¿âÏü[þÊŽ›éÿìŸ?OûW×ý§Ý?Ö¿èü8ÓûúëÕÿ×ièÀ~ÿmÿ\ºÿÔ(gßcúâ'Û×ý?â~ŸO÷z?oVëæþëÖþÞ±ŸÇçý÷Óü8÷®¶<úàÞÿÇýñ÷£Õ‡XÏûïÇôÿuõôêìgýðÿ}ý}èõn±ŸzêÃçÖ6?﾿×ÝzßXÏ>êz½oXºŸ3Õ‡§Xûß½}Xc¬MþûýõºÓ«±Ÿuêýb?áþûýõ½Ôõlõ‰¿ÞÿÖþ¾êz°ë ÷^®:Äâ¾êz°¯§XOøÿ½{©ùuqìGþGþÛ÷u=Xu…­î†½\yzu…¿ß}yOu4ÇWak[þ5þûú{¡¯VaoÏúßñ_¯ºõqåÖÿ}ǺŸ—Vao§ûÇü‹ý‡ºžœ`?ñ_¯ûïϺ®?ŸX[þ5þÛÝNz°ë °ÿ}þÃÝÓƒÌu¿Þï¿Ö÷SÕ€ë ¾ÿ}õ>èGíêý`sþÃý¸÷^®:Àßë[ýçýïÝWûxu…¾¿ï¿ß_ÝOWë¾ÿŠ~}Ðôàë¾·ûÝǺ®>Þ°õ½ÔõqSÖüÿÿ¯øû¡ê㬠Åíî§çÓƒ¨íþÃý¿ºuqÖÿ}ot=\u¿Þ¿Þ9þžèz¸ëÈ¿×ÿl}Ôç«Ó¬ þõîž}\u¿ß¾ÿaî§§XÛg«ƒÖÿ}Ïûî}ÔõqÖ÷CÓƒ¬ þû÷ßOu=YzŽßë[ýºŽœ¬ þúßœÏX[éþûëôÿa u­ÿ"ÿm\u¿ß[ýçÝ:pu¯þûý·üGºž9êãˬ-þ¿ûßèz¸òë¾üýÞýÔõqÖþ¿ÓŸ÷Üû¡éÁÖÿÇüWéî‡çÕ‡Ÿ§QÛŸøŸ÷ßëû¡éÅë Æÿ×÷SöuqÖüþ?߇ºž¬½ao©÷Nœ¬ þÇý÷ú÷úû§Waoõ¸üÿÄu=О­ëÖ#ùãýêÿò1ïG«QÖþûþ7î¿gWãÖ3ùÿ_þ#ÝOVbksÿ¿ºç«.±1ÿaî¿áê•ÏXÏÓéaÿ÷£ÕºÄ¯üoýöÞê|ÇWòc?ïñOz=l|úÆÃþ)þëùun¸÷ßïêz·XûïëþõÖúàß×ëϺõaž±Ÿz=Xpëÿ}øÿ|=èõ±öõÄû×ø:Øë½u¾½ïÝ{¯{÷^ëÞý׺÷¿uî½ïÝ{¯{÷^ëÞý׺÷¿uî½ïÝ{¯{÷^ëÞý׺÷¿uî½ïÝ{¯{÷^ëÞý׺÷¿uî½ïÝ{¯{÷^ëÞý׺÷¿uî½ïÝ{¯{÷^ëÞý׺÷¿uî½ïÝ{¯{÷^èRéžî‘=ˆê®‰ëMáÛ‹.q»Kdáª37‚ Z¢¾µ£ GˆÄR -=md°R@€´’(ö–òúÏo·{«ë”ŠÝx³°z“äOK,vûÍÊt¶±·i&nA?êÌùq=nGü»?á+¸ŒiÁvóÝPîÀaÈSükëå\~ñ+¥föN?ìr™Zˆeb& ÀIOM©Gû¨BÈb`÷=ÛĶ帴¯ÆÚ!Àû[?ÑL<½í„iáÜïòjn>·aOÌ/˜øéŽ®O½?›gò¦þWù“ñzŸpíͽ.)A¶r]]ñÃecw/¦1Ï ¾s±h¶Ì´8ì tñxÚªš6¬Üåû9yb²å^hæU›r1³TT<¬Aú%jOÈá<ª:^óW+òчm*ÐФJNjP UÏ¡é!òÓùVÿ-ç+ÖÔ úÃqmlNûÝ´&m­ò£ãüØzÙóSÅ3K-cmèd§Âï©i§•£«ƒ&”¹ÚFý¡ULT¯·¶®hæ.P¹61±Na–¸ÿHx¯Ê•SƇ¦·nWåÞn·¶î¢vá4tÉóÖ¸ }kG*8u£oóþP?3?—.V¯#Û(o~˜zØép zÞ ìÇ\Ö¶¨û=β@™~¿ÏK9ÕM”Š8ÁÕ5+ë3^ÁÍ»?0¨[Y´^S1>zÓɇÍkó¨Gäýã—ܵÄ>%¥h$L©­hšŸ‘åQžªàò9G±?A^½ïÝ{¯{÷^ëÞý׺÷¿uî½ïÝ{¯{÷^ëÞý׺÷¿uî½ïÝ{¯{÷^ëÞý׺÷¿uî½ïÝ{¯{÷^ëÞý׺÷¿uî½ïÝ{¥ŸÿažÙÿ úþ€ëÿÕ(gßcúâ-zÆxÿÿ®=èõ¾¸~Ø~=׫¸­Ï¾>õÕ¾}p?Ÿõ¿Þ¿¯½u¾±Ÿø§ºž·Ö3þûð?Ö÷SÕºÆ}ë«uŒÜñþßý{ÿ½û©ÇVb?íÿß[ÞVcn/þûýëî½[¬gü?×ÿˆ·ºž­Ö&ÿŠû©êìGÞº°ùõˆñ÷ÜñþÇÝNiÕúÄßï?ë¾úû¯çÕ‡Xºž®:Âßí¿ßÄ{¡êã¬'ý·ç÷ÇÞ¸u±Ö&>ëöuqÖÿ[ýëýïÝWa?ï¿â>Ÿu=X|¸õ‰¸÷_Ï«—Xýñ÷SÕÇX[óÇüWÝWaoø­ÿßuêÃùõ¸ÿ÷ßãî‡ìêãˬ-ýØßþEî§«Ž°·ûïéøÿy÷CÕÇX[ýoÇûu=\°7ûÏûïøt=8XýãýãÝz°ôóëÿ{ÿ_ë9éÖÿˆ÷SÕÇQÏûïø×º¯Ö·×ý·ëû§ÛÕÅzÀßÓý÷õ÷SÓƒÔu¿ßNÞ}Ðõn°1?ìØÿÈýÐŽ®1Öÿ‰ü¼_uûzpp8ÏXßï¯ÿ÷CÕüºÀßã_¬ Àÿzÿmþ÷î§§XûßÓÝOÏ«°·Ôþ¾Û>yêã¨ì?ßsÿ">êzp£·ûãþúÞèz¿§X[ýîÿñÿ{÷Còê㬠þÆßì}ÔõqN°7ûïñ÷CÓ‹Ôv÷CÕÇX[ýðãþD}ÐùôàÇQÛóùÿxú{¯W`o÷ß®<ºÂß﾿íýÔõqž°?øÿAî\zu¿Ãýçþ'ÝOWê;}?߯ûߺ=8:Âßï¿Û>}[¬-þûý‰ÿl}×åÕÇòëÿmþûñî§§X›ÿ¾ÿŠ{©ÇWaot=\°÷ß×ÝWaoÏõ÷£OË«Šu…¿Þ>¾Ûêì î½\u…¸ÿ}õú{©êýaoùûu?>®:Âߟø¯çþ5î¤uqåëÖÿ}ý?ØÿOtÏVao÷ÇŽ=Ôÿ.®:ÄÞêxõo³¬'ý÷ûëû¡êãùu‰¿ß­þ>õÕÇXûïéþûŸt=Xu‰¿Û¾¿½W«³=b?ï¿ä~êz°ë ¿øÿ¾þžêiÕÇXÛþ5î§×«±0ÿ}þ#Ýz°ëÿ÷ßuüú°®ŸX›ý×ý÷ûïǽuaÖ6ÿ}þÃÞ±Õ‡XÏûßçýõüñîXuÀÿ¾ÿ‘{×VÁëÿyÿ[ýçýãÝkÖÇXÏõÿ[ú_ýïÞ«Õ‡uŒýØûÑëc®Ÿéþûý·½pêîò/z=[Ó®½ë¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷[sÿÂx>L Øyogp›—¿³4Û³]¢¦ÌähqÛ ¬Z•(7T߯)…k§h ™ç¡Yfvðws>í]É1ÙDX˜’6šà,À8T€õ ôë!½¥¶ùvú` Lo]uS$¡ Æ€’@ò$ôU?™wü(¯åïÊœ¦ñꇒ·âŸFÓärÛr¾Ÿš’nâßt« “‡tö%¥8 >Eü¬(0qÒ¿‰•'«¨Þ@åŽ@Úvø­ï¯@¹¼e 5Å­¢y‘êÕõtæp7[ùn,lOÓZ+:O{q­Œ|–ž„°ÏT½ñká·Éßšý€uñ›¨·_jn9'×›ÊPÄ´[Kl¤Ì\žøß™™)6ÎÚ€ù5j­«Içb$–FU#=ÏxÛ6h Æãv‘GLÄ~J£'òo@½³eÝ7¹Ä;}«Èääù™c@?2=8õ¾ßò„þKÕ?ʶ“p|„ﯖ9ßïnCoTM¿öÑÞ/±¾.`±‚…×oµÜ+HÛó3¶Þ¢G§ËÖÿ ¦¤bJ@AÖ`¾lçÌå,,vµðƒv³.©‰¯á¥tƒæ¢¤úõ;rŸ'žXV¾¾ÝÅÓÜ¡´Â1ø«MT9ПŠ'ó9ÿ…9tÆÐÆnÎø3´¶¿È]Ã¥¬ÀnNâìL,Õý§©Žª‹)C·v•rÑWö¬àÓ lƒujèÎ’mË^Û^LÑ^ïRµ¼`ÔF†’|‰að~Uoô§¢že÷*Ê–Ëf‰n$"…ØV:Ô?çEÍ@aÖŠy\•Fc)’ËÕÅAVW![’©ƒ Ãc!¨¯©’ªh±¸|]=&3A’‘ 54QÁ`$jª  ½T"ªh2I8õ'$üÎOP[±wg Tšà3èØ:³½ñoâ†7ã_Jw_se~G˚퓹©Î?©1}ËAEW·³9 "d¡m³YYަ–Šž"­,òy%/kaßsG5IÌ›Ö˳ŷm4frÈHuް ­xAN¤ý¿•y\rîѼnÓ_ø÷:ñ†£À­F)ækŸ!ÑjîÌÃJl^ݤøñ¸ûã)¼gÝÔxíÉGÚx¬7I·dIàªz#ŽÅÑT.j,‘‰tIuT×u¸ö$Ùgç–áù‚ÞÅlÄ$¡€±büEjHÓJðùtÞíùB8àM‚âõîÌ 8˜ P¹ÒÕªŸ•z18?—¿û.¸š^ÄêL¾w{utýõj£Ý; 5]MÈeÿ„Qã£m·œ†uñJi£jY3$¨þÃü•ÏÿÖ_oÝ¢H7"Iˆ¨!%Q‚Q=êFF£Qà ŽùÓ?«ñ.á´ÊómÊ”1âc[HŒ8`ñâ:BTôÆî¼O[ß¹÷7jcz—¿1U[›äCgœ>Ktí͵ŽËÑÐä%ë:ÀT*×­5I)\uä¿6 X›íûöï¹^s¼xö2ªAPÀ1e'õ¬ä~8è¦ÿaÙöë^P¼¹žqôLóP©+¥ÂövŠ`ŸŠ¹êív—òìþ@û×áïiüäÁ÷Çó~ˆéÞÇÂuf󬪢ëÊm×ëܵ£ÇGŒÛÓÆ«#-¼(µÎ®.÷ƒìŠ^aç¸wkm•ìvÿ­š2ëñÓJÖµ:ð{N:ÅË|‰6Õs¼%ýÿÑE F5Žº›M?)Ü<ú(—ÏòýùÓó åZü}ßÿ(rßzâg»ú§5¸ÿºØÛÏöfÞ“i㲸-ÏE&ÁžŠ·l¶g5Q<4´Õs"Ækܱ¾í¿ïÛ.ѵÜßÁl7 nÄn¢Uî’HùtQµò÷/ï;¶émaqrÖPÚ´ˆIMe”& ‚*Í€+Ã=ßå±ü¾wGË™ýÐ}õÖ!zïª{"»sÓoá†Ø;hdp‘b6æÜ¸ç¦Ü[¿eåvî/îsXŠxª :HQlì¤ó0E¶l××ö7IuT° Õ€8 Á'¢Í‹–'Ü7»M¾þ ’Í݃2б$Ä ÐŽ„ïŒßʲO”?5~ZôÎ?³#ê‹ w—iÖ÷wï… ÉÕl®¨Ø×rà±o,Çe7¶àÃmš©ƒè‚†£¨¨‘4¢A"}Ïš?vlûUÙ¶ñw;ÄAKQ©ÝA>´PHõ9çÕö¾Výç¼îÖ¿Sámvnþ$(Œ@¯ ±ú åNÆÍø·ÿ ãù½±ÿ:_å×Í>µíýчiu¿zwÖÚÒt~òßI š·6ŽÞÊã19\£G?|Û}dó*ýÈb²™wN~°…·ͪÎKEž8Ù¼EQ“C¨‚@ôÕötsÑÈ7Ó.ÛiºÝÇvN”’@ž1áP`+릞g áßò§ÞÍ‹yÿ-—Y½Ó·ÎÀÚý—šËnn¢Éãñu[6Ö×Åî͹6Ý~ìÛYÈ»;³ —§«ñÏB*%ñ1ŽD{.Ýù°ÃÊðsÒˆÞ# @M*ÚX¬2¤ƒO·¤;G($ÜÍsËû¬Ž¾j˜ÈÑK)”àŠ‘ê¶~t®Öùóã‡ÇÍé_ÆlÎßïÕû—%¶ªh©7%snŠ|%}^¯#A“ÇÓ墥”´O54ñ,œ´l8ö#Þ/eÛöÂþS4P3€kBUI¡•ùôÙì¢Ü7{ ™„2̈H¥hÌ¥A¡ôêÅñ¿Ê»¸¿šÇÉ?½½ê¶—L|rÏî ÎÿîþÔŸ–Ÿ¯:ƒlbp5¹-͹[M¶1¹¬ývG0´tPà #‰f1SÁ<ª<Ú-9_oß/`ypXÒ£[±4µ PTñùT:ÿSþ§™ïv[9ÊÙA©žG¡Ò‹‚MðÆ8ù :AÑ_ð›|žå^–Æü¬ùç~j£ƒ‡å-FÒÛRôdyÖ”QC’©Ãp ÜíIj›Íçl|TëL55b§î{EõÞâ,Xv»”¯ƒ©¼JqÁÕ§WçÇËË¥Ÿ»ý¼ñ —ï;ÐàÓÆ!<0kL®t¯Ë5=Ë‹ùl|{ùó7åÇ çtoËë^ŒènÕìÞ¶íž• þä?fæ¶>êÙ8 j`÷æØÜ™öæZÉ>ªt„KQ,hôõ +È¿˜ypÚv}«pK4ŽæyÑ$:´V$UX Š ðõè»—ùonÝ·×ok×–Ú wtxûu•*I¡Ôqdžz/˳àíùKó;¡:¼ºÇäÀê®Êܬ^óÝø¹vžGEA³·vŽz]Å»6fSobÚl®*KÕA*2ÈT l¤.ßù‚·g¾¾±¹‚K¨ÔRÀ‚KjpOÒ=ƒ–®wâÆÊþÞT´‘ˆfZ’E qÈô8ì†þQ}_ß_1z[çjüÇÚµ]=òo~õGG¿Iâ¶®zL÷]lýɘÛI•ßõÕ{5LÛ©ë±èÓEE «Hll¨§¿æË›¢óeµ³a5º¼ž&¡Fe‹F¹U`zw§Zàë©6àë,–êÝ{n»'×4{Ÿ=‹êì+Ç…¬ÉÅd|sÃ$–³êÙG.ïüå¾ [Ï£±cK¥ÈÖ(j=sšVó.r~Æ·Vß[xw%Œ”ÆT±PTÐhj+O8u®îEÿ'üÎO¯é÷"cþ7Ôqÿ@uÿÖ(gý÷üßcºâ(ëþ£ýo÷¯Ï¿u±Ç®ýä{©ë}p#ëþûý÷ÓÞº·Ï¬GýõÿâŸOzêÃùõÀÿ½ÿ¾·ºüºßŸXÏûÇûu8óêÝc7ÿcô÷¯³«±Ÿ¯ûïö6÷®Xq½c?ëÿ¼û¡ê½b?ï¿ßsï]XuŒý?ß?ßzêì,>¿ï¿ßsî½X.±·ûïñÿû­z°õë ÷ßQî¿àêãùu¿Þ?߇êz°ôë ÿt4óêâž}a>ôz°ëÈ¿ß~oŒu…¸ÿ‘Ä~}׫°·õÿ}þûŸu'«Ž±7úßï¿ï~êz°òë[›þâ¾êkùuqÖ½ÿ×ÿ}þóî8>Þ°Ÿ÷ßñ_u=o¬-þûýçúû©éÁÖÿ"÷CÕÇ u­þÃéþ¿ºzõa^°Ÿ÷ß゙êzs¬ý÷ûoéî§Ï« õ…¿ßÈïîž]\u¿Ûÿ_ø×º®:À×çñî§«Ž°7ºŸ^œóë ÷Ÿt=Xu¿ßÅ>žêiÓž|:ÂÖüñù·º®3Ǭ-þûê?Öúû¡êâGnؾüt>}8>}aoöÿ×ëõÿ‘û©õ¯W£¨íùÿ}þóî‡ùõqÖâÿï\ÿOøŸt=\|ºŽÜð?Þÿßqî§«Ž>°7Ößï¹úqî8:ÀÞèz·XúŸöÞëÓƒ¬ î™üºp>°7çýñÿ‘{¡¯¬:Àßáþûü=ÐõqƒÖ?ï­þßÝéÑÔvÿ{©ãÕ‡X}ßsî„õqÖüÿÄû©û:pyu…¿â?ß_t=\u¾ŸáÏûïǺŸN®8õ¿Þ?ØÛý¿ût=\|úÀßñOt=8Xý÷û÷¿t=Xu€ÿ¶üÿ­î§«Ž=aaþÇýãÝOW½`o÷ßþµÿÇÝN°7úÿò/u=[¬-þÃ÷ßÐû§N õ¿?ïï~êz¶?.°µ¿â·ÿÏõ÷C^®>ΰŸ÷ÜÿÅ8÷SÓ`?ìâžêz·X[ý÷ÓóÉ÷CÕÇX›ÝxW«—Xÿï¿Ûñî„õaÂao÷ßï¾¾ê~Þ®:Äßï¿Þÿ§ºž®<½zÂß_÷ÃþGî¾G«ŸXOúÿï¿â}ÔõqNbo÷Ÿö?áî§«åÖ#þûü??áî‡íêÝb?ï¿Þ}׫·¬'ý¿øOzýþ¬:Äßñ¿õ¯î½[¬gýðÿ‘û©áÕ½:Æß¾ÿzëŸ\üoñïG­ñëÿ}þÃóý=ÔùuaÖ3þñþûú{×Vû:áþï¯þÇÞ‰ë}uï]o¯{÷^ëÞý׺÷¿uî½ïÝ{¯{÷^ëÞý׺÷¿uî½ïÝ{¯{÷^ëÞý׺÷¿uî½ïÝ{¯{÷^ëÞý׺÷¿uî½ïÝ{¯{÷^ëÞý׺÷¿uî½ïÝ{¯{÷^ëÞý׺÷¿uî½ïÝ{¯{÷^ëÞý׺ÙOù9Ù2oüOû§ÿ}÷TûÆÿx?åe³ÿžÿ«³õ‘ÞÐÿʵyÿ=ïÿV¡ë]=óÿÆ÷ÿÃËuÿîÿ#ï!¬Ü/ù¢ŸñÑÖ>îîuçüÕoøñëbïå‹ÿ /ÞÿºLü{ìOûµvØÄÔ·[åúÔ`:{xAœZXá‚>Ç’ƒ]„ßI’zxÅNi©âÍ€¥çjæÒ̾Þþ^}}¾âñNÍÞ²-?¡R ÓÉk§Ð/CîZ÷]ŽËè.6ô’S¤­µyj¢ÕÀ,F¯2O[?Ìù³|ÇþcyÚ˜û§}¶ÜêX+Þ§mt_Í[„êü‹OzoüÛ»ó‡ê§+j V5ÂŒÔTy‘êI>”ê³ÿ( Ò:E(,òHì8£EžI€ª$›bNƒ hzvÎàs»_1‘Û»Ÿ —Û{‡RôY|Y‡Íbkc ÒQäñYië¨*ãW¢–4u¿ {¤rG*,‘8hÈÁ ý„`õi#’'håB² ŠöƒÕïtfnè>üoÛ]%òË¡ú#{íá¼dß”‘Ú’äj(jw6f|-ð¬­^§<29œ–ŠñȦì,=Á[ÞÙjÜãÌw;×*ß_XÉáøF’€„PÇR•yq9©ÓdÜîW”9~ßgæ›+ØüOJñÖ…ÉQ¥•Èó<j3Õow‡ÇÖЧhä>I|í¬®s°±òeðk»#Êî¬Ïäêr¹,ü¸è¡† |T¹™”*DePäm—˜ŽâvGË—ö±%¹ÒÓG¥( (ZÔ’Äpó4=G[×/ ¼~ò~b°º•ç–)5X–-JF}*::"~dcº—çåÜûW)·;w£wïZuÞÑí¡ˆÊcw&ÖÞX%ÂTPäã†Jiê1o¹pQTÈ"Ô܇x%²HJƒ9“¤Ý¹&ÚÚê)-7¸.e’ Y6ÕUâhj þL2:s8Eµó”÷6²Åw²Ïi:++¤‹¢„`‘©ji_šœÐEüÅ÷Hd¶_ÄݻЛú66ÓØ»Ò›EGš¦ÊfvÞ3-•Áäñ˜ÉJ’üFB&’ R$Ê!*u,Mý¼¶Þâ¼æ»öÍâ½–xÉ%J«•VVd<®3Ñ7¸w;4¶œ­Çx²ÙÅ”ƒ2e`®8©"C>=žƒíN±ÅÂy¾rõ&S±v6;µw?Ì.´Ü;o­+·^“n WG5^o ´'®LþSL¸Ê“%Dï iu0ÐÖ5¿µ¹~~Ù.ÖÝͪٸ.éø˜-J‘‚|ú,±ºµOo÷ËF¹Av÷ˆU d ¤-jF@ò=(ÿá:=é±~=üŒùq¾÷§hìN§¬ÿd²©6s~î]·¶¨²[ö›xl|¾‡;¢ªŸšÎI68Í ‰¤boÛe{oÜ÷ »k‚W”}jj !t¸$éÈãåÓÞÞßA·ßî³ÍuMôRi,Ê*Ú€5`œ`yútc¿•—óáùñÚß:¾Ó´¹Ü.-+šêPhºq_#ëѧ.sÎ÷sÌvû¦ì£mgmZ–%Zb*ÁE2j+ÃÏ £á×Í/‹ûåßónøÃòSz­ñ“ù‹ï>ãØ ò jJ™ÜfÂÌÃìú}¼dŸ•”õ»'/Œßõ Œô¼ï5ée–X•ï>å6ÕÊ»–Ý­ËoHßÂlR烠Sf€£Ù·²ךöÍÆ}vàò'й u¾†Ç:ɯU=`ëäÉñ‡¦û; Ü¿$¿›'Á|¯Äݸ0›ãïú‹²àÜÏÚ8\u>v ³ŠØ4“W ½–Í­ÛWŸªQðSÈähÕÏ7îw–¯g·rµèÝdR¿¨” Æ¢Þ`qÈP|ÈêÖÜ¡µY]-íÿ4Y­#ÓTŽQÀœBÄz–Ý;üÞ:7|€ª~wöL™.¾øÛ»°{‡¡vöàÌbž,¦ÓØìÙ»7{o,n;ïê)+¸èÅfD;bé2Qu¥>Ø»å+Øyl¶ô“qB$ 3kÔʤӀÀ᨟J-9¾ÊnymÚà”Û^±‚FUtV4¯B}Ƥc¤ÍdV%‚©è²Y5#}½4®ë·¹sEöé³Üí1rÅøÜçˆÆAŒ„RÃI:Žh<ªÌŽ=[låm¿kÞ-÷YyšÄíȲ)ƒ#i!€ÒB( #ʾagÆæ¥ñ¯üÔ?˜_göõ>äÛŸ¿˜¾#³:c7¾(é+tuÞÑΨÁlήÃSQUdV)ŠŠS§Ž'¨ÆÿYtËöŽ’)ܹ_q<³°ÛÚmÛod.4³ ²ÃàiLV¡»›6ææMêK°Ë´ß,‘–U[ƒ‘dž¢µÍ(lGù}tÞöþ\uùþoʯ)ð;sv>'µ÷Öëݹ=·¸;Ësmê1zݽAµfÎ&;ngr›_´£Å˜©µr4ÉNÎL?¿]ÇÌ*†ï•71½¤eT0ŒR `25øEF+çЇ`¶^_i·4í§g’A#1u.x4x@5ÔSÒá—Ïï»ëùäÿ2O–»Oµ6oZuFðøºöçPo^ÉÊàzÿº÷.ƃ öÖ.£ I»¥ÆÁSU¸ò;&«!AC,wQFºÞu¨Q»ì;Œ<•Ë»T¶¯-Ò]©‘P*­â“]5À <óéÓ¿íÒó¯1n‘]$VÏhÂ6rQ L’¤ÆœEj:-Ëùòÿ0ÑùÑñÏaü±ùyµé¾=n]Ëž¥ìù·ŽÂè~ºÛqâ Øûž»ü[zQì¹S€‰·- I¶œ¼¥c,C•&\ÉÈÛ ¶Ç¸Oµm,wQ£KJ溅hºq_#Ñg-óÞûu¾mðn»²½œëÔ± ¦–"¬išyލç6¹þwüºÝ;k5ŠÜ;gp|²î¼öqa2¹Lo’í|ý~;3‰ÊÑK5C_C*Í DNÑKV*Aö7Ù#’-jŠT+*ÚÆ"„€AÈ ñw¹#“}Ý¥ÃD×RA¨ ¹ ‚0AVÿ ìθíÏæc¼w§Tïý—Ù›>£¥ºCOºöçÃný¹>C¶ªáÈÐÚÀVW㤬 •‚ͼL@`ÃþßÛ\ÚrôpÝ[¼Sx²,¥M cЗÜ+«k½ù¥´¸IbðÓ(Á‡Â¾`‘Õ9ÿöìaÿAô ÿ :ÿ×(gßcúâ'\?â§ýqÿõ÷^­Ö2ß¾>õÖúàâØýâƒÞº°ôëÿ}þÛú{ׯVëüÿø{©ùõoðuŒûÑë}c?ï­î½[¬mùÿzçý÷×ÝiZun±÷ßñOz­:°ëÿ‰ÿ[Ýz°ë?ìÛ¼~=×òêÝcoø×ûϺž¬:Ä<ßýouÇWa?ï¿ßSïG«u¿ã^ëÕÀë ¾üÛþ5î§«±7ûþûò}Ðÿ>­öu‰¿ßÄû¯Vùu…¿ßüoÞWao÷ßï^éåÕÇX[ýñ÷SÕ‡XûïùÓÝWäë ~Øÿ¾ÿu=Xu¿ß~Þ}×§X›þ'ýu=\|ÏXÝWaoøž=ÔõaÖÿ}þ¿º®:ÂÞêzpS¬-ùüÿ¾ÿŠ{¡ê㬠þï?ï¯î‡«.°·øÈýÔôàë¾ÿmÿî¹Xu¿äí¿×¿ºœaoñþŸïñOt=\q¯XZüÿ¾ü~}Ôý_‡QÛý÷ÿ{¡õêâ`o÷ß_õÿ×÷CÕÇQÛþEý=ÔõqÖ·õÿŠÿÆýÐõqÖÿÏ×þ${§ÙÓƒ¬ ÿêz¸ùõ¿â?äíýÓóê㬠cø‘§Xéþûý÷÷CŽ®:ŽÞëÕÇX[ýo÷¿t?.œ`o÷ܼ{©Åz¸¯QÛý÷øÿAî‡«Ž°·çý÷ûë{¡òêãGoÏõ÷CÕÇ•8õ…¹ÿyÿ}þÇÝONÔvæöþ¾êz¸òë¾þ¿ŸÏºÇÓ«Žaaþ?ë_Ÿt=\pëÿ}þûϺ¯Öþ£ý÷ûõýÔõqóë¾ÿ}ot°·ï¿Öú^=ÐõaN°·ükþ+î½\u…¸ãý÷×Ýz¸õëÿ{ÿ}þÛÝOVõëÿ}oðú{¯çÕÇXZßÔÿ­þûýotêÃìë¾üû×Vb?ï¿Ø{©êãÌu‰¿#éÿÿyOuû:°ëüÅ}ÔúuqÖ">¿ñ¿ø§ºž­\u‰¿Âþëöõ`?gXÏûîn=ë­ŸXÏúãú}9÷CéÕúÆß}=èõn±ùûïǺŸ>¬:ÆÛÿ¾·ûß½uo—XÏçý÷ûî½·Ä|úÆOúßï¿âžô|ñÕÿ,uÀÿ¾ÿ‘þx÷S׺àßÄÿ·÷®¬:àÛ}}ë«u×½uî½ïÝ{¯{÷^ëÞý׺÷¿uî½ïÝ{¯{÷^ëÞý׺÷¿uî½ïÝ{¯{÷^ëÞý׺÷¿uî½ïÝ{¯{÷^ëÞý׺÷¿uî½ïÝ{¯{÷^ëÞý׺÷¿uî½ïÝ{¯{÷^ëÞý׺÷¿uî½ïÝ{¯{÷^êÿ?”Gwõv­·'Jæ·†/ Ùy~ÕÌîüßÌIüSÿ)œUv|oͽ}M}fG3“êÝÝZ‘V5U\YSÏÝ‚wžªG)I’1iÔjM‚ûSÊÞëF‘ÁaÌpéUDñŠŠ EâJÿ¥é?4{W,’OËÓêv%Œ.hkéð?cÓý1ê’÷nÑÝ;pd¶¦÷ÛÙ¥¹pò´9<~†|nF×ûRAP¨Z¬ŠZ7^UˆçÜÕiwkoÝ•ÂKlã ¤1þ#¨^îÎêÆâKKËwŠå ° Èÿ/^¬¿ùÿ'OšÿÌJ¶ƒ1Õ›l.˜–¢Hò=ýÚ0×àzñRžX£«‡jÃ<™ÞÀÊF$!bÅÁ%*¸Ó=U8õ{ïÜß³rú²\Ïâ^yD”-þÛÉGúc_@zl¼ïì¯s#Ô/— Ç?„4ëx/†ŸÉ£ùsÿ*}“Sß=£‘Ûó±6N2|¾èù1ò£ŒÁlÈ¢´ÓTl­·“©m›×ñDbU‚¡~ë4ÌJ ×ã÷ nüßÌ<Ñ8±µVKw4Xb©-þ˜ŽæùŒ/<úšöŽPåîW€ß\²<è*ÒË@«óPN•ù·4Ç_?ßæ5Ùûº¾{üÁíΰÜTû»®»äaº(éë©h÷ÜÊf$“–¤§ÉSQWÅMYÕ–Ü¡H¸÷g`î¯âxÜ×LSÿ‚¥p»^‡OŽÛ¹,D¸ÿ=,ÔR(â–&â>Z‹[€öõ¯¦5£-*$ÇMH5¡ÁõµÅžò[°lSTPÕ5LÖ€ EA¨û)N“9ýÿ‚ÏÁ•Wëm™ˆ««ëm­²1u{wG\FãÀ×`k2Ýö¸º*h2;—tE«‚¤Ì˜² ‘nGnñéáÈñMj4\œ¨#ìé¹.ÒVÔÖÉð*€1M$ã‰4 ý¿.”Û÷¶6.óÜ]‹šÆt7]ll~éÛ;Onl}»´Ö²ƒÖ²í¼îÖÉä· Hÿ/Ü;‡wã0•ÔYš™Êeåhô,QF­Ái41Û£^Èì¬Å‹R¯Pž€) €?„z“Ó“ßG4—,‘ÑTMIS_™ küGÐ’=±»ö¦þÝožÚ[×W¤†v–+ød¸ÜsÇQU*ÃGQŽÂá*+ ¥¦š:t©­ûœBB$©ªšVgöõ¬2Á‰g2=~#ZŸÚOÛA@<€'º'—ÄŽSá§ÙZ ,Ôž$“М½ÍÕc³Ó{ÛUö÷e0ÉÖÒI€“ ŽÈ­|f¾ŠgÚ›(‚'Ç}ÆZ–¿,iªsY÷±ÁQcgrm¼®oUuæ¤Sϻͅ¨¥)QÒ¡}¹‹1 -ÔcìíôÅMZ™­hBj§´zú^™Éu¥7Al-ï_¹²¹º^í+º&Þø\5vs“¢Ù˜Ì|Ù&Ûòa1xüd”IQUF@ÅS%§Pίqk8»[“!„(I ¨šV¦µ  c‡UkËshmÆß”µuÕ«Lb•¥1æ Ï•UÛÔ™>Ѩßy‹=]Ú‘íÌÖ[>»3ƒÀ ®ÝÈÑdSpg+²;Y•¬ÝÓII™­'ÜRÎÞ€9ilnRØB›”†]D—` ¡PR”§㑚Ž}Ên“–ß­ºquTX&Ý9º 1’­þä×T-]’IC¾"A#Ús¥µQH¯áÕ‚)ð­G›KËT˜Ê,» j¥ucRé«N § × hxQŠì,5_bóc²³t{7pnlÎnOá´˜ü¶ü Î-'ðÍ¿¹s”´Åjq»jX§jmrKÄáH$³Ínå§u¸p]@¨R+8TùôÒ]ª¤µºŒMx‘Ÿ“9Üy /;3„ì}‡I¶¶V×§ÏäkéúƒtÅIJ*w¶ÓË䨦ÊKSQ•‰ê2KŠf•À2š ; –Šw/ÕÖµøHáŠúæž]Y¯­™îÛ÷zÒD ‰Ðh2 ÏZ#JùôXÿ_ù‚íôüÿ_jÿè>‘ÐÿÐ(gßcºâ/Xÿâ¯üoý~=oìë‰ÿ}cǺž¶:Æßï¿â¿ãï]Xpëÿ}þñþÛÞŽ:Øëë­î½[c>õÕ‡XÏûïøž}׫±Ÿö?Ðý?Çþ'޾έŒuˆóý?âžêz°§¯XÍûëþxü~=Ôüú·XÏû÷ßñ>êiÕ‡X[ýïý÷úÞëÕ‡XûëûÑêýcou<:°ëÿ÷ßñ¿t?>¬:ÂÖüÿãýouè}:°ëÿ}þûú{©êã¬'ý÷ûÅ­î§«Œqë ÿ}þ¿üoÝOVçÖüž?ß­ô÷CÕÇXý÷êz¸ë s~?ß~y÷SÕÇX›ý·ûoð¿úÜ{§W뺞¬:Âßï¿ß~=Ó§ËX[ýõÿØþ>êz·¥:Àßë}?ÇÝOœõ½Ðõo.°7û÷Ÿùºœak}?§ûïëƒÖÿößï¿×÷SÕÇQßýºŸŸWanÇý÷ût8êëÖÿor}ÐõqÖþ§üÞý×åÓƒ¬þÄÿÅ?×÷N®=zÀߟÏûïõÿ>èz°ë¾>èz¸ê;u½\zu¿ßqþÛÝW`o÷ßï¿ÃÝ:¸ë{©éÁÔvÿ‘[þEî‡«ç¬ ù¿ûïöÿëÿ­î†½\u½ÔõqÖÿ?Þ§ºœao÷¯÷ßã°7ûï§ô÷CÓƒçÖÿ}ÇükÝsÕÇXý÷õ÷OðuqèzÀßì??ñ>êxõ~°7øȽÐùõqûzÂßò?õïî‡«Ž°7ûn?ßu=8:Àßí¿ß½{©ôêã>}ao¯üt=XS¬-Xóý?ß¶·ºãÓ«Ž=ak_ý÷õ÷\Ó«°÷éõ¿ºõpzÂÞèz¸ë¯þûñî[Ϭ-÷Ÿößì}ÔõqÇçÖÿaþ·ûﯺõqž±0¸ÿoî§«õ…¿ß¾ÿû§Vb?ï|ÿ_z<:¸=a?Oõûïð÷SÇ«.±¯º^®8u…­þð}èõ¿*u¿Þ?ÓîXuˆÿ¾?ñëÕ‡X›ú¾úÿÆý뫎±žÞ=׫±ïGV:ÄßñOuêÃÈõŒÿ¼¼}?Öþ¾ëòêîý÷ûÁ¿½yun±÷ÃÝz·\û?×ÞºØûzÆâŸï¿¡÷ªùua×ý?ßqþ·ºÿƒ«|úàmùÿ}ÿïY'oä:àMý׭ޏû÷[ëÞý׺÷¿uî½ïÝ{¯{÷^ëÞý׺÷¿uî½ïÝ{¯{÷^ëÞý׺÷¿uî½ïÝ{¯{÷^ëÞý׺÷¿uî½ïÝ{¯{÷^ëÞý׺÷¿uî½ïÝ{¯{÷^ëÞý׺÷¿uî½ïÝ{¯{÷^ëÞý׺÷¿u+©etettb¯¡ ŽŽ¤2:0¸ ‚Óß½AáÖÁ ‚z´Ÿ‹¿Íµ:qûG¸#Èvÿ]Ó¬t´õõH;mRƑà c³Ul ÜXúdN)kÏšÜ%JÅüÏíŽ×»ø—{A[MÄä€?EÏT|ÿãÕORw,{›¹í>¦îïo€“ú¨Åü` gÑ€ëeoƒxŸ…ÿÌ»:c)¸ö¯W÷þÑÀesy‰1ÛKY“ÚµØm«˜ÌCæÀä–•-eS==bɨ1"T÷ ø<ÓÉ×òYHóÚ4 ƒ¤öH3B¬*¬}î.¦T›–9ºÎ+ØÖ ¥Œ×¸wÇê0ÌÓóèï0ïøQWÃÏ„ô™N¢øáK†ù3Ýø Yð0m݉]?¥zÖ¶Š”SPÒîÍñ…±Ù5ÆÉ¡[·…Tª±43ODàbíƒÛíßy+w¸¶²cZ¶dpxÑNE‰éêtßýÀÙöUkK 7Š)EþÍiŒ°Á§ð¯¡”õ£ÍŸæ-òãù‚o?ï_É>ÒÈî =tõ»K«ð]¿ÕÍPhÛ2ž¢ZSX …UòÏ[“šÇ]C^ÞæÝ——¶­† n¶ äw9Ë·Úß䃨C{æMÛ—ÄÜ. @pƒ¿bÿ”ÔŸ2z$Îú!ëÞý׺÷¿uî½ïÝ{¯{÷^ëÞý׺÷¿uî½ïÝ{¯{÷^ëÞý׺÷¿uî½ïÝ{¯{÷^ëÞý׺÷¿uî½ïÝ{¯{÷^ëÞý׺YÿöíŸú§ÿè¿ÿÑ(géþûú}눣®éþÀÿO÷ŸÇºõï.¸ø‘þ÷þ÷ï^½_¬gýÓñôú¾ÿaï]o׬gñþø{©àzß§XÿâžôxõoN¸Ÿ÷ßñ¿ñ÷£åÕºÆßñO¯üOøÿOuôêìGóþ¸úÛü?߯.±¯ûïëøü_ÝOVc?_öáï][¬môÿaÿ=ÓÏ«±ö?O÷Öÿ~êÞc¬Gý÷ûsî‡V:ÄþõÕ‡±§üŠß_öþëÕ‡X[éþÇÝ|ÏN±·çýñÿaVòao©ÿ|}׫a?ï¾·ú­ýÔõqÄ}½a©ÿ[ý‡×ÞV:Äßï¿§ãúþ}¶xõqÖÿ}þñþñï^½8½a?øöèz·—Xý‡ûïõ¿ô|º¸ë }úÇÝWëÿ}þø¾¿ºž¯Öú§üOü‹Ý=z¿XOºž¯çÖú~ßýñéþ~®8õÿ?ì~Ÿñ¯têãˬ'óþ¹÷SåÕ‡X[ê?Øÿ¯ÿ#÷CÀý9éÔvüý?ßǺž=\yu…ÿ?ëþß}§ºuaìëþûýãü=Ó§=:Àßï¿Ûþ?6÷CÕ‡åÖüÿÄÚßuœê9ÿ}ÿ÷SÄôç—Xý‡û§çé°·ûøø§ºœGoøø‘î§Wê;¾ÿxÿaou=8:ÀßñOmž=\që¾ÿoþõî½\yu¿Ø~â}Ððêã¬-ùú}?ëþ}Ôôàëÿ¾úÿ¾¿ºuaìøÿ}þÛÛgϧÔwúö?Òßï?ï>ëÕ׬/þûWÓþ)ot>}]zŽÿì??ïãýu=9éÖú§Ôÿ¾ã›û¯§W`oø¯õþ§ý‡¶Çœ:Àÿïµ­þßÝOWŸQÏûï÷ß×ÝOŸVaöïÓýëÝW`?ì~¿ãþóîçÕü¿Õþ¯ö:Âßï¿ÞÞ}Ðõqçöõ¿?O÷Ÿùºùôàë ÄŸ¯úßï~ëÕý:Âߟ¯çýè{§ìêì'éÿ"ÿˆüû©êý`o÷ßñ¯ð÷CÕÇX[þ+þô?§ö½ÐùôàãÖÿÿ[éþûý‡ºž­þn°·û§çëÿ÷SÕºÂßì?ßþóÿ÷SÓž½ao¯ãýæßŸ¯º>¯Ö&úÅß}}Ôùuo>±øŸÏºúu~°ø§ÓÝO¯æ:ÂâŸOø×ûë{©áÕ‡ŸXÛóõÿ}otòêìëÿÿ\ÿN=èõqÖ#õ?ë~×?[þ=èðêÀëº[¬gþ'þ+þÃþ7î½Xuˆþ?دôüºŸ>®:ÆßŸ¯çý÷õ÷_N¬8uˆý?Ûÿ­ÿ"þ¾õÕÇÖ3õë¯ût=Yxõ‰¿?ìâ~¶ü{Ñëc€ëõú~?¯üÝ[VôëüÆ¿Þ=èùõ±Ã¬MþÇýúçÞVëúÿ°ÿ‰ïëëÖü¿.¸ÅâGûöÞô|º¸üøõŒýßÈ¿Ö÷£Öúàß¾<û¯¯Vë¯~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½×½û¯uï~ëÝ{ߺ÷^÷î½Ó…'ÛxÛÍü?V³o»þ+äÓ¥m§ìkEïkú¯ŽÔ×Ê¿Ëü½XR™§óÿ'RÈêÍÿ¯½wKùunßèÿ>‡.„þüw~êÿLVÿE;ëþÉëûÍüþ,µ?ñÿø¹ÿEó½ÿ¦'²ÝËU,¿Üí×ûj|ÿ²ÿ†ÿçѦ٧üwýÈþÅ¿±­<¿µÿ…ÿåÐ Kö?oü{ß À_ïÛÿÓŸöéìË»ú_Ë¢×Ó­þÓÆµüþ~½gÿ!ÿ«7þ¼>ýÝý/åÕ{£üú÷ùýY¿õá÷îïé.½Ûýç׿ÈêÍÿ¯¿wKùuîßèÿ>½þCÿVoýx}û»ú_˯vÿGùõïòú³ëÃïÝßÒþ]{·ú?ϯÿÕ›ÿ^~îþ—òëÝ¿Ñþ}{ü‡þ¬ßúðû÷wô¿—^íþóëßä?õfÿׇ߻¿¥üº÷oôŸ^ÿ!ÿ«7þ¼>ýÝý/å×»£üú÷ùýY¿õá÷îïé.½Ûýç׿ÈêÍÿ¯¿wKùuîßèÿ>½þCÿVoýx}û»ú_˯vÿGùõïòú³ëÃïÝßÒþ]{·ú?ϯÿÕ›ÿ^~îþ—òëÝ¿Ñþ}{ü‡þ¬ßúðû÷wô¿—^íþóëßä?õfÿׇ߻¿¥üº÷oôŸ^ÿ!ÿ«7þ¼>ýÝý/å×»£üú÷ùýY¿õá÷îïé.½Ûýç׿ÈêÍÿ¯¿wKùuîßèÿ>–äõiÿCþÎ_ÕÿFɾÙîùü.žíù|ÒëÿÙnð@= yªËÔ]‡õvƈ†îÿ‰PNG  IHDRç¿í²ˆ™sRGB®Îé pHYsÄÄ•+@IDATx^í|Õ™÷ÏÜ›„þ‰$£H•"Úµ±¼Zd-fmÝXk)–´¾þén‘íëŸO»è¢v?Ë~bÞ¥û¶ÀR_Eû/ÒvÖª¯lü¸Ûj V¥ËZ+ $X Hrsï¼Ï™¹ÿ’\È›áÎÜïtLçÎ=ç9Ïùžá7Ï}æÌŒqÿý÷«¤åþ7®3Œ ì0C£ôî ý²¨Xo ª‚ ê Ë_#4æꋨ@@”ŠÄ¬ôÉ_ÐÍâF¯œÄE3ù”l‡û!é±?ÉP©Þ>Ud)fo@è}ªO¯!Ko M¥ ¬Â*dªž¶û«žM6eÄU»nó—tùÉçcGŸRU¬‹•.VcÄH±mù´¬‰Po‰Äå›QÌm'ÄÜv<ï¼ãß”_†|À¿)¸pŸÖÌøßãuäXhà7–ÊìR‡;ýomUGîŸûk»PTµE²ÓÊ ÆŒí+ ;¥HK¾-Ü£¬˜[ÎdÇùh/rÎ` ÉAØ‹-•öǾîØÎâjèS‘˜J¡žh0-ß«x¤KÂ=íGUó‡÷NÝZµï_ÿy5¡L»ÓO“]fì|(,0Ê(,(,è1Í ©ì‚€)Û£ -ëöN{|”fXÉŸ>1aÜ!éÕÿ¾Xrœ@ È‘2GiU ‰œƒq,l„L#Ráp$T`ŠJ†‚ª0,£ÐJGk݌ſ’s.(³@íŽ&¨ ¬´I÷1uà ê}ÿU 1ÕTNO@‘´HAÀDÁE»íýZÁ³˜‘>£/)÷Oèä8l܃ p2D¬ÄGÄŒ(ÓèÓ§ÞH8"õN¹(h/òeò†µß÷‰’ëL·]L®)ö„Ô‘nµkçý·½c¨KÖ«²ÉÊ8¤ŠÇE+*Ô–pëú–vG¿ X_Ù‹íµ‘ˆ)g{‘s‹?prõÇ8á¥o ¾!6 Èׯ(ªýŸ§O:㸱oÊ>þ¯å»~ú«B¢Ýò{+tT—iþÐRmY&Œ6Æ™£ÆèíAª7—oK©e¿Ž¦$F¬‚ì°¶O&,€ò‡@<±mXa®Dë;òªQ«¾Ôuè©D~9Úeöt›}!3Ô«çuôé$¦•Ÿ0{­d¶$Rz»ûºæ9ßY}ßšq?~ªU!Õ}Tõu©G uÞjüäAª]¨3ê±X{vQjÙkÛ³X‘Áþ ˜{ÿiæGçóÊgFÊ_ÃWí°¤¤#’îˆ<÷±VÞœ8ÉDŽ >höö¨Þ^ÓšebI¶Ì¢ɆÙ×+_™ÝGûºr„€ëì<$kްâ\½Š^'‡ÛÖñ`Š.ËuÈcGÌž‘lÙSöoOX’Ý+Ú-’-'E²eÿ)Ÿ½^ßL©“ÌƒŽ¤ˆ¾ti_ë¥ ­Ù#Ñ$z4¾Þõ³ŸŒ-_j¯3þöáâÙ8b¼³¦ø¨äqä›Ýuë †VÃÇU»~àÛ`*Çš¿[Ÿ4™qØm`'ƒ€üÂfÍ}'z3Ô‘Ë=½"ßíßþ»ì¤<§Zâñp_Å/ß°w6Ï.{ } Z„;¦ÜaëVõ€Îq÷¿‰1ÿ݈L¿©çÚÛe ]{gïÔ3$Ë¢µ]nÀQ²a‹»l¬X¹¯è’§Ö{Н½D©Ð[ÿþcŽ©á莭øîÞ¢OŠÏ,€Ü `ŸW’—þ÷®È„¿ˆ5çOæöµý}]pòêßÊ|³~ñZT²¿x¾ KI‡‹pËuEKµMë‚dl1Ԥߪ³&ª1cÔ©EªXî_è<É”qþËhãg?¹ðçW÷~l|Rùà¾3þÖÒøŽƒ«ç=ùÞ?ß¶L”ZõÞscçô•%·–žý¯Nã»IS¦Žýð»c¦$lõ=úí wÈçQMO¿ò¿Ž>:iŒ®k×J*¼î‡û«^VÉ{,ñêý¾Úùüsÿ]~G °3n·þ_÷¨ñ˵Ï=÷|¥s…üRs1 õžëK¬˜#‹ @`$Q¶yžŸžÅaEÌÏŸÕòµ+ K+ô£¤LeöÉl?ÉŠ„&­jLF±çz‰²­‰€F  ©íùÒï÷—nSòÜÇÃe´ª–MòœÀStÔ-×!u:F,J-3µõsFÎùÛ¿;ÒtNoý„œ4 ŠänIK²Þ{Ι\û³ìG>ô¯W·Èÿï ¼üÒí‹ÚôM;»7][¶t쵎ýÓ.}°W+|g]îû]Á­ß-|´"º_]r̸ï7£oh¼ï_;:$ú®_]¦[¹ò¶3×Í:~õóôÉÀ.|Ê?mŸò…ÓÖÍ<ý ‘°¹òï?ÿV²c?XøÎ£Úç]ß½\˜ÊBõߌ»µ¬wõ º§÷ýì[¥˜þ1²Ö‘üO‡¾AÀ+[«~äžu‡¹¹éØòD(¹³&š³–©xæÞÛ¹ä½7|˜ò§€ H^ÜìÓt².fªB‰¹­p[î²)ß?C"ª$O*ÑÏ. H\SØýû‡žt)uvÁgKÕ®ÇäÀ‘ë¾)“GMY³R‚ò¨kkã¢i˜ñ³BsîìúøÇ¬2ö˺|즣WÞ¹lm÷.uêUŸh*>fù݆o½ø:ö™e‘Ï_q}éÕõòÏ^RçÝô«µÅ딚ó©Å‡SW¿æ²QñÂ]LÖ…?ýNñŸÚì­˜Úϱi±ß2«f§°°n»ü¶)ZðäÍw^zç²/øÍy%I‰÷ÈçrÚg…\$ F)àZktÑñ®lJ:;"wÐD²JÎZÇÅ5é‡kãç–IO¾¥çîiá– zòø)'1"V´nXÓ²{ÅÔXKgÍ1Ê~>T<##lXÏô“Ðþ¢…Ý×ÝÛ=ïÖÈøBU9öJ»ðGûØ ‹µn;–xì¬ñ‰É©,4l½fÍa™L³¬ñ4óûc¯šrih`w<d‹€ÜBÁê AÉ0[«VT[»í±ÕîÑ7=J¬-93bšfùCÏÙ2ÕöÏØ¥?{Cßd#­úD¯¾Þ@<Ö–tˆLΖ%0ʲ}È«Ü\#단¤JJ@Þl“4c\dìüÒðø‰*(wõØ õûVY´–€lËsã«6ý& ŸO˜ô1º_n²Ê¿Ý&z>îã³Î OçÆ J‚"Uõ·›å\ôÑêyѹ.zÆËWߊRÓ‰Úà˜*´' kÿßÒÍ ¶|ñ¹`QÕt"¨¬è‡×l+ìßä®ùt[gÃX}AÀŠÁXýD ¡ÝVCT[mnù+·°GÂåÿ7úzš¶Û¯’/Ûo½L‹Ñ˜ñ¥Oï0äf™@"¶•û¶TJbíD^Ä <õR$ânK¶ý²˜’J²ÄšÇ-ÁõëjNvÏùV—$ŽåþËX™d¥VÆí1ÕVfÒšÔªì/¬¿­pŠêxøÛR:n(h—_ûZd—:㪹*x´ ú«…WªžÕßëxÕ›^’LË îº<ò™{Þöïü÷?~¦úÞ® 'Å;`Û”n%;–ôË"ð’ÕÜ ¼¼¨(4åë¿Úuê.±ÚÜٙܰ­ón¬€€[D*«u–ÕA·G•'CEcmI•”?¸Æ¨ÖÛ¯Ösûôô>sÿßü…½sâš½’ Ø’mgH$Ê”[áÇÉ„=E;¦˜òˆn+s"’Ô‡þŸu5ò…ÒðÃFߪ‚í_Ò·È_³hïz5í{/œÙóPð…«bÑýXÜ*!íÂ_u«³/ÿÏmWô~7X-ßÄV;.65•™?-¼µ´ûÞ ~øˆº0|Þ)Q…•FíÂ-á)?ê8ço¿|ì—E/TëVþü[¯N O’4zªê}ERX}毤°Yxé¡Më~ÿZì‘àú—@Ìs€c‰3“ÕÜ@ 3¦\\`þTlÏik¾]Î.’JêÛÈxM%q¹Ë燒;Q.‰ëí_¢à:I"Q¯¥Úr+Lûëí–ˆûèï~¥%ûŸµe]r´òÝûo<_öw¿øïúcŸ¼FR„ÛÎk[ó¨eʶõ4CóGuÖ©êÔÑj\P’¹#’R(?î׊^Xg??Ê^ŒOÝÖwÁ†z?øØSñý†Y¾öïºÇt¿ôÃàŸ/êýò\¹äio³ñm]å´ªÞªËí{<#ƇßV2›pÆ?F£qÃŒ•Wïÿ¿§‚S¿r¬R;m/q#z{ö?uϽ&™ô°VÁIqÅU{ú/æõžw†Ó!fu§ÍQ€@úbcÚmþ4¸íÓ‚§ŒŒ>E?ùOé'r*!¶ÎjèI~=cD„ÛRm ±C½}½¡CÇ"ÛŽ¨š?™ÆuGT¨O ©ÞwU³<‡¤ÿ"—6 ûÙÞú‘ƒú[#¢§öÞÎ~ã7\&ÝdHÈ>h•췸˔N¼s˜Õ3hqÄWÉàˆ¤  pb™[_bÛ{ÿé:}Ò¡®c:êì<ØÙyà`çCòí΃xõ[7jÝST(I ™’'üYWåQØá Ü¿ $·­_,)#½’è.;ç3?ü%MSüb kïzÝVíÓÔ©cu^[²-’ ­àZRà£ôÍ&±y€rñ2ªÜáxˆÄ@ÞØ®+Ù=Yrž@8œ4Y(ç½ÅAøƒ@4+{d«=Ä }vßn½›7½žìý(\×ÐõÓ&#Ô-¯š±òÚ’!é§Ún=$zû‰5wÛzÁ{°(–±ŸÏ]Šä¦Ë‹¼ðWß‚©óÚé9E)  Ú@ÚÍó^æ´QyXPtOôS2Ì’^6dZˆ<$v7¢„¹òQˆ]L~Δž."Ó¡Er t[÷%‘=`±óÚ Õ–¯OUª³Ck¹±Æ¾Ä)´ž ¨S%ÑLŒKH×qû-;IË §ÊzȦ!0Bô Ú~I==/¨B©Kröîø—FDOè–ñØId]öhq·_žnM—RLî I¥ÚÝ´FëÿâRÃJ$Hì-)ßð^|rO-|A dä —óÔÉ“ø/ªû4u¸Oì‘9$ƨ™Û'\ZÒ¹ÿ@˪Øó8݆ »J®¨½[Tgó ätîúŒg€ 0à]6 Ü&@¬Ûãƒw€ú@µ9" ø‰ªí§ÑÂW@C&„çÂÒ©©4ç‚'ø@  Èlî>ýæ/÷bm‘Ý[Â%ÖZ³ÖT¨pŽ:.Aþ'àšj×.VsW;“50C^^xº.Pá@ô€@NpMµ¥Wç–Ú]3êÑXÛŠ¸kku^û¦ÙÝPö·ö~ë«$&‰˜=Ò`¿>Aï‰mç<œ uFqå¶ñ³ÎttodKk›Üwõ¬òrÙÞXž»^©9‘l[jQ+ïPwë9Í-;Ék§“’€€¯”O”—è:›~íLµO`}nsľ´X"9è;Ò˜=²Ã¬´ËKR;1ÛĨ[al]½JY n_8 d@Àé#“åµ%©f f×ãiî ºH@#ˆ@šºša^{¢+€|IÀi†Ä¥NrŽK 1ä€é0žo€è/ \!`Ý ãQ¬+ ð€€Ï Ú>0Ü…òœªç݇|FÕöÙ€á. çPí à3¨¶Ï w!<'€jçù@÷!Ÿ@µ}6`¸ ä9T;ϺøŒªí³Ã]@ Ï  Úy~Ð}@ÀgPmŸ îByNÕÎó€îC>#€jûlÀpÈs¨vžtðTÛg†»€@ž@µóü û€€Ï Ú>0Ü…òœªç݇|FÕöÙ€á. çPí à3¨¶Ï w!<'€jçù@÷!Ÿ@µ}6`¸ ä9T;ϺøŒªí³Ã]@ Ï £*ß›0kbçþ-«BC²him=«¼|Èb# ÀCÏï½  €@îøæÎIéLšºZ2¿@íÚ º:PíÔc*ª}ÿ‚«sg¼ñð5ûWÿÚ-Õ&Câë#ç!o´ÿqWäm½ßî^÷f¬/oéþͺ^Ü|líGeýÕkÝÏÿþèlêú µ×]Qmwyb È û;SǧŽ/”õôSõzƄ’ £O?ê´ñE²Êþ §Œ7ºèƒfT;/ : ä4žî¾ž> GÂa#R²öö¡°ê3Ã!Ùc„ê/¬»` w{B¬í.O¬AyA 7‘µ'lô‰R[«^ÂfOH ²öˆpG´^”é.TÛ]žXƒ pr ¸¦Ú5¥ÓKë†æ“ë÷@ëÍÏÔÜðŒn3¾‘Ýöi È+!‰²û”¤A$ 6#¦½*Ãúh-½KþsMcãxݳXµtKû{ѵþæ F°bþÓOÎ÷ªqúL³€@¶ D"f8¢,e6¿³|™0d=ÜÐb­Ì‡V}/¢ ÙÕuÏÜSí®Y1oC]4¯ÝÔ? ¶#býwYí ºLí¦= Ñ Ë|Ü­°=amÙFùôÄÂX\oõ{îYÒÔ´¤²tzMݲDе «$Y°›‹·2ôÏ‚^cD—kÝ©+ÞãúÀ`Èe’È–‹r)ré÷¾'~ÊßîYT jÕªe²çK¸eÃþëââžj[¢S;YÑ´äýÏYÑ÷š?hí¼4m?¹U`^­²7tÉ×kgîXd‡í›«ïI¶vïl¥*n¬õk¦-ZýºR“o^¾´Ê öŸ^0ÕjD,,™±F[Øòýísë¤Lzþ¤òqÊ­/Ø?y̦‹>¼NŠ Þãâ` ð¾ïÛ¶·+Vj±þÁCú¯,·óÞ“Ô ÷T;9Cbç(ª–.¼Ür»bjÕñܯªž#E¥@|CJ6ïÞªVϵÏ3%ˆÞ±;Ùš.‹Äç­VïîNq> ±Ö+®¨®zd·û#é”ö4’9ñкj…zûƒbjðž“4>˜…r’@4uÑË⻣m w\²MÔ¹RÒݸ§ÚîúÕ/K®ãëÄ"’=síÜÍv$¾ô¸ç·ü>÷™ùZ±ö‡õÕ¶dØãV[Ø|B@®:†ÍèZ0¾½ø¾¸ã‹î¾wTaô“äµû".w)»ªmGÍ+¿²¶é©8{FÓ’z;õœr±óvbÆõIt[w\ÙO÷ã6uÌ>t^[UÏ¿jŠ®³ó¥gÖÚuïqy\0ä4°)ÓEäšÄzïb*ùæ?Ü×Õ§dí3¬5¢\ŸFâžj'çµSJaÅü•’b¶òw¿?í„1ò¥u›—n×?KÁŠù‹.ˆæÐvdç:©R³z‡U0a¡ò®iµ—f>þSn½ï¢…çZW#oï"kÞ“¹ujB¾$ Óþ¬«‘Ö* ®'‹˜÷Xwa!«L)Yaw} ÏüK}ÄðÌ?_þKÂid‹À³Ž6®¨ hµ—ýv[ .‹DÙ}}¦DÚÁpïu—å™ÙÚ pkË*¼úBÊ^C2‰[BëøM72íϾûÆÕŽ ‰«na €@.©#òä(‘iy\”5‘D/’61{M<‘ Ùßgß7‰jçòHâ >9µ@…ºÍбp¨'¾š½ò±×°×poA¸7]pv»HÈk“×v÷ˆÂ ‚€‹ym£¸ò½ñ¼7rdÞÉ¿<@À]Ã}YMúp£:ºÕvw\°@ÀtßöSm®F:ãKi@Þ@µ½åO뀜@µñ¢4 o  ÚÞò§u@ΠÚÎxQ€€·PmoùÓ: gPmg¼( @À[¨¶·üi€€3¨¶3^”† à-TÛ[þ´@ÀTÛ/JCð–ªí-Z‡ àŒªíŒ¥!xKÕö–?­CpFÕvƋҀ¼%€j{ËŸÖ!8#€j;ãEi@Þ@µ½åO뀜@µñ¢4 o  ÚÞò§u@ΠÚÎxQ€€·PmoùÓ: g¦³ò”† /˜†2t»ÄÚ^ЧM@™pªÚ–Ô³@€€K ‡²êLµÅúÞö}.¹Š@ùN ußGÊN|¤½8SíÉee‘Hxo{GÚö)@© ´îë‡{EW2FU¾7aÖÄÎýZV…Ò¬ÙÒÚ¦W1Ó¤E1@) †aN.+O“NÉüBµkƒêÚŸ‰j§ÙÅ @À-qÕv–!q«yì@€@fPí̸Q €€7Pmo¸Ó* Ì Ú™q£ o ÚÞp§U@™@µ3ãF-@Þ@µ½áN«€2#€jgÆZ€¼!€j{ÃV!dFÕÎŒµ xCÕö†;­BÈŒª7jAð†ªí wZ… T;3nÔ‚ à TÛî´ @ 3¨vfܨ@Àg/,óÆIZ… S™ú%bÄÚ €üDÕöÓhá+ T›c€€Ÿ Ú~-|… €js @ðTÛO£…¯€\Uí7#%·„£k½ž¡2ôÒ©©4]Ž€   ¸¦ÚÍk#%+TãcÁkmTæFC€€Û\Síõ¯ªVfÇü›½00;9ŽŽmkq·ãqb› ˜M;ÌÊ[Â5kM%e¢¡zD+¾U¥¶V®}ÓlˆnX è’‘†v·a`€@Î0Š+ß?kbçþ-«BizÛÒÚ¦T"rVy¹T]ôXBµ£ÚúˆZY¨°uV¶ïPw/Vv±õe+{´ŒY{KD-Ö]¬DÙ+[ŒŽëÌšÅjîŠÀÍm:Š—S‚ÞxVmƒRËþª4êrKkkšÎS €@n0 Ü\¦õ3¥d~Ú¹Aíp¬Ú¢@á¤Ò’ÍH\èø EŽ©vQKäae4Æõ=^f@awQj[ÐS–I§—” ÃZ÷u„Ã!;ðr‰«¶³ Éž¶¶@ 8X²¥½;Ôú¡SFÎz¿Ö™+ Â@ _ ”O, ‹DWp¦Úòè’I¥S6°ð&µhqBˆ%¢Ey‡Úm•nÞ¢šäÿÚ#µ’¿V¢Ý¦ªm•·Ë”3v˜õoÆ Ï1â)òÍ‘×v4Ȇr•@ùÄ3’Îé¸éLµO`½¢:°å&576óo®2f—VÆöÜÝ¢ª,iVÛW##³ •. ,šcJ­šµªn…±u…¾öXù¸j\ȳÓ>Ê@¾'`=ÈÏÁâ,¯-Ií4S0\ ( <&¦®f˜×Îc°t€@Npš!É §q€@Þ@µóvèé8 àK¨¶/‡ §!¼%€jçíÐÓq@À—Pm_NCyKÕÎÛ¡§ã€€/  Ú¾6œ†ò–€¨6w!æíèÓq@ÀW,µ&ÖöÕ˜á, ÷Pí¼?øŠªí«áÂY@ ï  ÚyðTÛWÃ…³€@Þ”sTÅØž£Ýw>2$Î#GÆ7d±‘T`ßÁc/miy°ñÿû±×ÿ{‡¼.Èóx‹iêê²§êÐn:J¬}ÜÁŠDÌß½µ÷Úzî÷ïvÌ¿â¢ß.¿å«U¿ñþAÙ#ûå[‡y¤6g¾ië¾/]>ý…½aþŸx}Û˜Ÿ¼‡ùÉc{’,Ë[¶ŸufšïhOóéÝ'É×,›iþåº×_ññ¿¼è쀼.3´þ7¼Ýü˗ߺ~öYŸùĤ,»4â›æ¿xùOófŸù…gY´ ô›Þiù康¿<»æ®0w©Sƒiêª~+® ª«ƒX;5aùÁø?|e°d‹”\ùÉ©7~ö“ò­”é_yOà ÓKnx¦Ùé QÞ"`3,Ù"Üs„ùU§`¾iYIéôèZ÷: pʼ¤tYì%ݯ×&¶6Kùa@µSãûý»mŸûÔT;Ê¡¦Îu_ëëÍÏ “=U—œwÝ_^$eúUn~µQ-¸S­]lgtL Ï«.™2 ʶâó++Ï»nö…ÉÌ›ŸXX2O5¶¿×a­j]LP2j>/+9eÞxÇêžØ#¨šŸø±Zsï‰^É—<³ÓiT;5çÿ°[TÛNŒ¼zä÷Ïô<}´ ë{[¿ûÜŽçlù¬ ¤LråæWÖª/Þtõ_чµud/ŒE‚ ò¡ŽháyUå”äÄH\²mæ×ög¾þ9õÀæ„pÌ®µ·%ŒFßµ›†j2ï¿wÊ|ví¿Ï¸«¶aÓ3w?W½ðò(íKÇUó35¥çÙ8¤PíÔ”7okŸùñI¶j447|ôç?w=ÚÝZñúr‘Ã0f]4EÊ$UÞ#"2÷ŠÉ³?· é¹Wm‰®¸±Þ;ÖL[´šßïCÐÂóSç—ÇsÙ$[°`ÞØ4íÜŠ6%Iõ5µ&}×iYa9§Ì•ºtá÷Õ¢ykç.Ÿo±¿´nóRu×ãÕž†{ÖÎÝ\óÀ¿ûPíÔLg~¼tËíöåÇ/Ÿ1¿mOÛ¾öý‡Ü}Éb‘lQ×¶6K™De©ž#‡ìåWÞÙK’èèÊûæ­Vïî&Ú>ññ+<ßÜÑa_~,ÙÂüõwû3¯šzö‹z–Z1 KZ3—XdÊ´~¦+æ¯üþö¹¥W5~±ÉN ú° ¡Ú©þõ§ÎþÍ>´µ£ú¬êEçÝ8RðËþÏW.üŠkžß´UÊÄ+Kz¤©iI¥Öè¯=¬¬$‰HöL‰>¬¸oóÒªaÕˆ7 <_Ú²óx’-ØŸßôn2óñ³ãˆGsÒ:蔹N@ɵùíxOâªû@?iÞbØ&€j§>>}AÙÚ×¶Ë$?‹q£ÆÝrá×Þ¹õí• Æ/’Ý´åO¯üQÊÄ+¯nñækbI’*+ú–ŒŸh:GÜP„ç‹o¼/“üì,v쯵æ `®ªÏŒOiPë–m¬˜5W-©'=êø÷N™G/B^~Ó Î–Ž·[ùn~N¦M~8]Síh* z!(ë%$°µ§ÜÅ7†CE©‰§Žþ·Û®yÙ¯üq—-vbÄ–ì†ÿ ßJ™x#ý~˜ÛI5Ñvô=ýî÷§k9 QæëÞÞðV”yT°-ÉÌ\.lѿͣ×çª+g«É7/_ºuW#‡„-à”yeô"¤ÍYN™ríW.$ÈuàKë$O:‰¦ëåœpí.Í•OÚ(¼XD¬ïQî: ÷Œmx§UæË$?™1"—Â$—-‰‰øD²ÿòÂrÑp/º:’ÛL0Ÿ}¡Ìæ’Ë–ÄÌOÞ¨Ãüä±MÓrÎÜecż uIQOrloë¿ËjåΔÒéµ›¬[Tô†ÕÓøu<{.QšþEÿÊ'¿¾â'Ï­û‹sŠeìG²Ó<"K0?wìêÿÜP¹àß~òÜz˜;bè´0Ìó¼¼{±véôDê¶jé–åêî™Kf¬yOϾ’Øœª÷ÄÃa;4Öe¬ÙBÍËJæmÀÞ’Ož]_ºîêvkúm¢dÌZ23±ü›+;j/“`?t‹=LZ‰¯|ÿ v× ðÇ.l;àÙoÏ€<&à]¬-J»K­ÃN•TÅæ`UL=nV×¾^'âZ©woU«£ùÊ™DïÐw³Ä­%GâÇ›Q'bå+®¨®zĺkn°?óŸnG²=>dipDÀµ«‘ŽZºpò9Àºã 3ê†ÆG @`ÄÈ®jÛQó3á*ΞÑtÂù[)gÔÅŒë’,èYwwÈì‚T ÷àŽØ›ŽA`Ęn̓ˆÞcb_~Lu‰/zU:3áôm²ñù[Ÿ¢W‘jFì¼C'UjVï°Æ*a¡ò®i’øf àoQ±6F]²m§y¾¶¿ï!ÿHûjd¡Úõ Ï×öï@ã9 §²›×ö!dylüs¯~xçªõ—}ó)ù+Ûƒ^†àÃ^å¶Ë0ÏíñÁ;  ÚÇÞ§—ýcæÙgN‹¾#@^û¸C6¬÷é„;ì}wleàð°˜h!È`¨âòÚîPwú>½ä‡gñ •ÌÆæ™q£V¾ C’zľOOn¼ŒÞ*sä…¿™ü;óy±'ØdÒ2u à'¨vêÑrú>½„•æMœm=×dG½õ<¬Ô³×ýtdÉ×̙˓ â'ËøsÇäYYrœf U¨vjÜŽß§¿ÉHƒµÀº©§iûùËõ‹l¶ÈÃû“^ü‘ÕáõUcŽ™'÷Nß +wÞ¾^k=#Œ÷ùjäqÖT;5/ÇïÓKdHªmŽÝv¯_•|·½³Ê£ÒŽ™f“ôÔ°<GWóŒªzÀ¿O/f'ôåÙqäFw3g.­k½ôò_7¼ÂrªzDœ¾O/aeÓº‡ûËlj_•k‡ƒ§þdÎÜNŒ|k~…>e®]o½½wuz:˜4~  Ú©á:}ŸžJäµU£ýxñØyÕÞ_•Æ1œ9óÒŸ¿ÙzÿFôí…é<¡, ‡(œ$À]6ÇÞ§—ý#æÙgN‹žpz— ª=ÄÉ­2X&¥É ¹\&¹Wù!Ÿüvvχ|ä9ó‘7¦ôèPm@~"àTµÉkûitñ€ªÍ1@ÀOPm?¾B@µ9 ø‰€SÕvëÝÀ~b„¯€Ná¬:Sm±¾·}ßÉóË€òŠ@ë¾”r&ÛÎT{rYY$ÞÛÞ‘WXé, “A u_G8Ü+ºêȸQ\ùÞøY;÷hYJ³fKk›Rfš…)@©†aN.+ONÉüµkƒêêÈDµÓlƒb€ à¸j;˸ի¼<º-²ûˆZY¨ÐŸE£Í« Ì–Íø~ÙX¬=f|Xkª;7—&}e[¬æ®°ö[KKkkš.Q €€ß†aN.‹éçPÞ—Ì/P»6¨®Ǫ-JN*-I\ÇU[K°Ù”(d4Z Þ¼6Rù¸YuS šBé'ôCyÍ÷€FÖ}áp(øž°kqÕv–!ÙÓÖSKöàöb9nò¶ƒn¥*Ò=¯Œ ‘¡+€R(ŸX ‰®:ÂãLµMSM*˜V¥ÆŒfý›Êšµ+”Ý37­L·µìP»í òÚi‘¥ 0r”O<#9áœNÇœ©¶ëFÝ cëŠØt@=½O2ݵX‚n£N²Û‹#ÅÁÒÀ¢9æÜøUÊt\¦  D@¢aG‹³¼¶$µÓLÁ8r‚€ò–@šºša^;o±Òq@9BÀi†$GÜÆ @yJÕÎÓ§Û€€O  Ú>8܆ò”ª§O·!Ÿ@µ}:p¸ ä)T;OžnC>%€jûtàpÈS¨vž<݆|JÕöéÀá6 §Pí<xº ø”ªíÓÃm@ O  Úy:ðtð)€áô)>í(nCð5ýuý±¶¯‡ç!¼#€jçÝÓa@À×Pm_ÎCyGÕλ!§Ã€€¯  Ú¾>œ‡òŽªwCN‡!_@µ}=|8äT;C¾&€jûzøpÈ;¨vÞ 9†|MÕöõðá< wPí¼r: øšªíëáÃy@ ï Úy7ätð5TÛ×Çó€@Þ0Š+ß?kbçþ-«BCö¾¥µõ¬òò!‹€=¿kô‚.@¹Cà›_8'¥3iêjIMÚ¹QuíGµS©¨öý ®ÎñÆ@À×î_ýk·T› ‰¯œ‡òŽªwCN‡!_@µ}=|8äT;C¾&€jûzøpÈ;¢ÚúUíÃ_jJ§—$Ö… ÍÃ7éÄBó357<£ÛŒo8©MY@~!à^¬]µtKû{ѵþæ TÌúÉù.6¾óÑkŒèrÍ£;u§ïñ¨«4 ä#÷T{=+æm¨‹൛úGÁvD¬ÿ.«½A—©Ý´§!ºa’¯¢‘»¶'¬-Û(ŸžX‹ëí ~OÃ=Kšš–T–N¯©[–º£t•$ vsñV†øY0åÖL{iºháÃë¤Úà=ùxàÐg@À#î©¶%šQ1µ“MKÞÿœ}¯YððƒÖžÁKÓöó—[æÕ*{C—|½væŽEvؾ¹ºñždk÷ÎVªâÆúhP¿fÚ¢Õ¯+5ùæåK«¬`ÿéS­FÄÂ’k´…-ßß>·NʤçÏ`ã¡uÕ õö;“ƒíøf!<$àžj'gHìEÕÒ…—[H+¦VmUõ)*â:.Þ½U­žkŸfJ½cw²5] ‰Ï[­ÞÝâ| b­W\Q]õÈ:nöGÒ)íC$s®9÷™ùZ±ö‡õÕ¶dØ“‡G ]†¼#àžj»Û‡~Yr_'‘ì™kçn¶#ñ¥Ç=¸åOõü«¦h[;_zf­msð·Ú ¡dWµí¨YbåWÖ6À³Š³g4-©·SÏ);0`'f\‘dA·uÇ•ýt?nSÇìCäµï»há¹ÖÕÈÛß»HÇÚSn¸g(Ä|@ÀEî©vr^;¥VÌ_))f+ïq÷ûÓN#_Z·yéÖyý³äñNWÌ_tA4‡ž°#;ïÐI•šÕ;¬‚ •wMk¬½4cdW.^Œ|aùò^¸uŠRƒ÷dlœŠ€œgþm?ëLžÔ:Ïüsz$Q8žùÇá@ O ¸—!ÉS€t€@V  ÚYÅMc€†IÕ&@ªCÈ*®F¦ÆÍ{#³zÒò€€[o Cµóà`¡‹€@pú¶_2$9<˜¸@`T›ƒ€€Ÿ Ú~-|… €js @ðTÛO£…¯€PmŽ@~"€jûi´ð€ªÍ1@ÀOPm?¾B@µ9 ø‰ªí§ÑÂW@¨6Ç ?@µý4Zø @Õæ€ à'¨¶ŸF _! Ú€üDÕöÓhá+ T›c€€Ÿ Ú~-|… €js @ðTÛO£…¯€PmŽ@~"€jûi´ð€ªÍ1@ÀOœª¶á§Îá+ œ'`8”Ugª-Ö÷¶ïËy8@ÀZ÷}¤”3Ùv¦Ú“ËÊ"‘ðÞöðÀK@9L u_G8Ü+ºêÈG£¸rÛøYgvî?в*”fÍ–Ö6¥Ì4 S €R0 Ü\Vž&œ’šµs£êÚŸ‰j§ÙÅ @À-qÕv–!q«yì@€@fPí̸Q €€7Pmo¸Ó* Ì Ú™q£ o ÚÞp§U@™@µ3ãF-@Þ@µ½áN«€2#€jgÆZ€¼!€j{ÃV!dFÕÎŒµ xCÕö†;­BÈŒª7jAð†ªí wZ… T;3nÔ‚ à TÛî´ @ 3¨vfܨ@À¨¶7Üi€@fPí̸Q €€7Pmo¸Ó* Ì Ú™q£ o ÚÞp§U@™@µ3ãF-@ÞÈ%ÕnÔÔFš3àqÅ Ú¢  O ¸¦Ú5·„K¢k¤¡Ýµ>5¯Ä̆kÖš®ÙÅ pMµÕTcËcÁYW¨ÆÅ‘nàÉ®|UEÍ>˜ñxávƒ+6 pOµãJñmÉ]ôÀ“bçXH/³ØlêGÒ¬\=pG "ºÓ¨[a¨WÍf+ÒP íkߌ×1jñfí-–}mÜÍØßÇCë€Àˆ `Wn?ëÌÎýZV…ÒìQKk›R‰dÅYååRQ”te¥°oFJžU[ô¶H§yõcÙ²SÔó-`7#ÅÞ0:*‘Wµ8Xwñ 2ƒ«ØW¨›3ì*v[w¨»mãQ›F̸¡Û]¬æ®Ü\í\KkkšÝ¤ “IÀ0 sr™ÖÏt–’šµs£êÚïXµEõÂI¥%š‘˜:)KªÄ–o­˜Éá³Ñ( ž¼SJÆw°²Ÿ@µã'»LÂHô<¡êÿþ–¬³@ÈU­û:Âáø¹ÄUÛY†dO[[ ,Ùº=;¯½Â¨Ú¡vÇÛ'»uÊÛ–l‰|íô·Qub7%Ó²C­O¾°ÙnnªÎ>Q-ãê9æ¯ß4½Þ¸Éò(  à)ò‰%Á`‘èª#/œ©¶iªI¥OÔ@iàiÑå[¬«‘ZvÍúDÞÙª7Uͱ’Í[”ŽÍ“¤9º'aÝXx“ZôH|. Y»ØT³ŒXš;µ³¯3¶®ˆl½ÉÐiYÈk;:( d—@ùÄ3’Îé4îLµÓ²~q`ËMZ¸Úõõí+b3e.vi`Q…Yi]Ÿ¼»EY±¶Q·X-Zœ¼'ávEu`Ë,e—/±ÒßOWCôªÔ˜;Õ˜[9T±tØP€ÀÉ' Ѱ£ÅY^[’Úi¦`9áfáĵP7­b €ÀI"¦®f˜×>IN»hvãæ×Ç' ºhS€r‚€Ó IN8}'f/dêH®þAÃ!0ÒT{8,¨ @ ÷  Ú¹?Fx@ AÕæh€ à'¨¶ŸF _! Ú€üDÕöÓhá+ T›c€€Ÿ Ú~-|… €js @ðTÛO£…¯€PmŽ@~"€jûi´ð€ªÍ1@ÀOPm?¾B@µ9 ø‰ªí§ÑÂW@¨6Ç ?@µý4Zø @Õæ€ à'¨¶ŸF _! Ú€üDÕöÓhá+ T›c€€Ÿ Ú~-|… €js @ðTÛO£…¯€PmŽ@~"€jûi´ð€ªÍ1@ÀOPm?¾BpMµkJ§—$Ö… ÍÙeÛüLÍ Ïè6ãÙmŸÖ d‡€kª­ª–ni¯#ºÖß\‘ÿµR1ÿé'ç{Õ¸G}¦Y@ ¸§Ú Y1oC]4¯ÝÔ? ¶#býwYí ºLí¦= Ñ Ë|Ü­°=amÙFùôÄÂX\oõ{îYÒÔ´¤²tzMݲDе «$Y°›‹·’úgÁ &7šGG ]…r‡€{ªm‰fTLídEÓ’÷?gEßk<ü µgðÒ´ýüåVyµÊÞÐ%_¯¹c‘¶o®n¼'ÙÚ½³•ª¸±>Ô¯™¶hõëJM¾yùÒ*+ØzÁT«±°dÆmaË÷·Ï­“2éùópPƒÍAÄ@ ¸§ÚÉ;GQµtáåÊŠ©UÇCZU=GŠJø†Ž‹woU«çÚ瀙DïØl-9Ÿ·Z½»;Åù@,ÄZ¯¸¢ºê‘u:Üì¤Sړ̉ûñ&ïɣㄮB¹BÀ=Õv·Gý²ä:¾N,¢ž3×ÎÝlGâK{>ž?›ÈJ£Ãs™Ú€@^È®jÛQ³Ó¯¬m:ÞŠ³g4-©·SÏ);0`'f\‘dA·uÇ•ýt?nS‡ÏÇ™î2¸‰”æÅAB'!"àžj'çµSJaÅü•’b¶òw¿?í„1ò¥u›—n×?K‡V1ÑÑzÂŽì¼C'UjVï° &,TÞ5­±öR§È6‘²Q§F)@`ØŒâÊmãgÙ¹ÿ@˪ÐÖZZ[Ï*/² @ MiêjIMÚ¹Quíw/ÖNÓAŠA€À0 ÚÀGU@Ù#`(S7†jg9-A>T{ø ±@ {Pí챦%@Ã'€jŸ! dª=Ö´@`øPíá3Ä ì@µ³Çš–  Ÿª=|†X€ =¨vöXÓ á@µ‡Ï €²GÕÎkZ‚ 0|¨öðb€@ö ÚÙcMK€†OÕ>C,@ÈT;{¬i €Àð  ÚÃgˆ@Ù#€jg5-A>T{ø ±@ {Pí챦%@Ã'€jŸ! dª=Ö´@`øPíá3Ä ì@µ³Çš– dNÀ4•¡k£Ú™3¤& ìpªÚ–Ô³@€€K ‡²êLµÅúÞö}.¹Š@ùN ußGÊN|¤½8SíÉee‘Hxo{GÚö)@© ´îë‡{EW2Š+·Ÿufçþ-«BiÖlimSÊL³0Å @ Ã0ÌÉeåiÂ)™_ vmT]û3Qí4Û  ¸E ®ÚÎ2$n5@ÈŒª7jAð†ªí wZ… T;3nÔ‚ à TÛî´ @ 3¨vfܨ@À¨¶7Üi€€cò)žå˜ xJ€XÛSü4@À!TÛ!0ŠCð”ªí)~‡ àªíÅ!xJÕö?CpHÀPå[ŠËÆŒ9÷”‚²Ñò¼V³wÜzzF Y†€ à®ýêàn½í0ÔÄgUq§eZÞ§àâS³Ó|;ƒK-ºd&ŠaHÒé4—Îk…¬Ù—C/é˜JgìÌ4ÅHÇ¥4ì Ý+«D:­¥c*-·¥¹4ŸsRGB®Îé pHYsÄÄ•+5IDATx^í ”TÕÿ﫪Þ7µÙAbŒæhˆ 8WÂf¶™dp3F£¢“ù'$'1Ñ93“ˆ˜Ä˜hÐx㎇Q"¦5ãÄ™1d‘¥›E°éê­ö÷ÿÝ÷ªª«šªîª¦ëÖçžGQõê¾{ïïó»õ}·ï¾û,Û¶UJ²¼eY^Ùa‡Kôn¯ÿ²¸T¿/ñ*ŸWE¢òjy½vÔV‘˜òx”G©X¢”ˆ| åíqR>°BùÔZÚj§þÄä}´’ ûI|Z¬BUìˆiÈ£Š}zŸŠè-ìHq‘ȵÏÉìSa[Ú¯~¤“€'Ýóé¿éüc§Ze•¥ž’R­L¼T•K!¥ªÌiƒ×)M4üx)–Tv¼˜'zñfžXPpÍäW–w.ïò+F#ZN“¯Ç³¨=Üõ¿s8ÖªšýÑÐ;[”¿Å~k¶›Ér]ÔÜ:ÚW^)Š•VU볫é%ÎH]N24O&ùè&9 @ Ôp“«¢îÇH ±³´«z"*–ÐXÉŒáãùƒ‰[Zõð9x¨MíÝm¿®‡êZЭ¿ûoU3JyÖ)Ce—8•xŠ|–ǧ¬"_‘/hÛ^[Ë}[Þ—XZñÝîù(;í¨’—ˆÁ \ˆ…:EJsU åf‰€§Ø—Ù%Z0£VGÃjZaÛò†U4 ûlаWE%Äb9¡o-©‰Q³Ä·}eûT[  ÷9q˜@»j<¦BevÝ”„ —{UÍ)—8‹Ïcy="î"ëî~-îÇIv,bERðÑ΢,A¡@†ˆ9‘”˜S¶ѧçX4&õN¹6é&ù2õ³ßŠFDäuTÝÍ&—6ƒaÕPõ{ì÷?c©³ÿ¤FUV“*­Š\R¤ß8š®wd=þ•ÇùÊMnƒœdÅb¶œXÜ$§Ržàœg£¹ùG ûu‘ï¨]dž<·ø»ʘaÇ1÷hì×~Xÿ«ކEÖåϵp›Î³w·#è’jʬŠb»¤\¿ï&èÉâ:”ÝqÙoGc–-‘ç\!;ÜF»ç èanbÌd9ƒcwè­æ±k/*¹qkÓ?‹;kkµƒ;¶Ã!=ó$¢ç¸ØNÀÃ9s‰Ì„‘@{Kõˆ w=|ë³U>ñ¾²Â*Ц"­ª±ÅRS£ªÇvô"½OŒÐ»xDD\ö$tÜmY"K—?ðe^Hþe—­¥‘IEEÞH zTÂß1‰ŸÄžŸrôG·zOcy}±–¦hó1;T¡í̃qÔ\f‡‡å ÉWv -ÒÚ|¬©é@QÕGõ—±—þ¯ôcå9ª>x×£Zœ(JÄc9R˧…GL‹VNl/ÛR:Ò_5º¹jdÓÐQÇʆ7– k´«ŽÒ¨†6ªÑ1»èC=$w¦Hê$Rœ‹t\ˆ-äݯ‚C ïHCD\„Q掚'-ˆú­â«¸X¦1Z¾"Ë's ‹d„n{ôí>–Ç«<2?Å+—1•¼:y<¾¢–ƒûÇŒ(Ö…„œ™ˆN꘎óè½mÍm‡´¶´´¶·´…ƒí¶V¿¿õÃc-m­íöÖyÓªBÍ­ó?:>Úx©*kWíûz˜‘.µ²å¼ûmÐ`ä­àŽØê7‰y×qs»µ9Öâµ6ËèÛ¶Û€h·ÛÛìÖ–˜L5÷‹6}mi’Ÿ¤Õ¢ÔI€ Aÿ†…Eµ“”Ì' †F¬ü‰[ÎëJÐ\…ƒ:tÕþî¿Ýý{¯:SFÜ-áØö£ݷˉ¡ësD‰*ræ·¸{= ï>M%¹GÆùúÏYÉE^=^™è.Ãy+q¬ª_ó‹ŠÑwºÛÌ~°tS7;›­mÏ•¶Ç›ç©û“üÍ BißWuYZH4SO Ûë¶™“F@~‚lyD ×Žb‡ƒ1¹ áºíj7=¯—ÑF:Ô|Ñé²ÇÒ³ä]B“£Î=ýOï|Kg4ùQT;%Öãˆ}¢I¢ãzxàD,=©Ý땾»†W"KlòUms¿ân±ñàNw‹þýîÅg=áœÊ®<[þ0xÇóo2¡ìÚ°”6Ÿ´ß2CyFÀ=÷¤¦Î·ëÈlŘ3aQ&&¼ù³nƱo;EÇýö/îǽ §©¨dлhºGë½¶s]4‘œË¸SUy¹R¬J}öoG;‹~éˆy7MïÔžÚùóß·©Ê ²WOC—K·“KwßUi­ùÅ鿘;$%·ï—÷ ½fTrDZ‡—üvëÊëï9Gö¿ù¹¶ÓS¿}ËoݲrÁäŠÝw—Oì(+òÐm®‘ÙòŸ¨ž÷VÛCcÊuÉîQ)™_}àðE¯¨Ô=NÉÃ;}µg]£êRf¢p·ö·üßTÕ?”n³_‡‰RªK”ji"['l|€ •€èµ›d%EY®E’Œ³×Û·lnÑÈZ½R—\¯ŒÈTE ‡ÇÜ¿6Óþ¥26wf1Zž˜ÇÛVÛ¶,þ¯Ö¹Û”,½ÙSÖûjßÊ •z¬.«ãʪ¹ÑÔ“H—zÈ’-²pnüîP=@—UœÅ^&üÓ?·ÿyšýÄÐ_NuFðWãZ¾5]a®\sÔ]:rõ÷Ú'ÿ×{ê^ºþ–ƒúÿ¼rÔWÞWñ^½3ôw×õ&Ã8·Öù®¹»è¡Úø~uv»uëËe_X{ëî«( ‹ô«µo”ҵ̻nÄ«³øT}žp3WÞ¾}â‚¡¯~¼)þçJG™?ºùŠwRö³¯nN´ù•¢žJ¸ìêªkF…þ‚¶ôÖ5ÿ»¥î•"O¤EƒðM¡þ¾°K@FÓΦ;tnÅwc"2Í\Ü’›‰$Æ¢'|˽šöë:"оðËc‹æz¬˜G&ÊØ½b–‚WE"¼Î ]n,*ªîrI®~ž†•ž˜Ìu—5bŠd‹ÆŠBui ñ½û懟*móªÉeRõýö§þÓÂÞ1D¢5ÎØ_n\r«‘£ªâÑ êÙ’§õ´)Nw‹·06å‹món¸çÅ@½rñG6–¶;璺ח¯ß©Ú/¸'vÅÜ¥#'ªÖWÖüQMýâ /–¾ªÔ…çü¹´¹çÃ/?¯$™¹uçXù›K?ìZf¨vr§†M¯M¶ùâó{(áÕíòwTñWÿÒ çÞpÏú3^ž:<ŤEƒï Ø œP%ÊWßâ+uø[Bç1¹ò‹Ê&e½ò¡GyàŤ yüýÔ ­é1K]–]‰†­˜3Æ·œIè!)ªÂS»\¹ËouŒÎEO¼\¢ON&V‘»é…Ád÷Ä€=6}YÛÅ7·Îÿb Ê§&ú&*µçÝCÑÓÎ K´ÝY¦Q'w¥Ó"÷–Tç­Géˆ|ê–øJòëýGa©cñ‹ªjì't-UÓfMo{c¸:ux²@osâ’lçÃg’Ì_yveûë“ìÇ+æ¹-:z8ÞŒD™áªÎ ëXAØúÈØžJxlËåÏ6+5ñžµCíW\<ñ\mrN{ …&%›ØòŠ€Ìq7-¶Ž²Ç=(‚Ô·€Ê]‚*vLVÀ½úyW‹^{ûfäšÿÖ÷‰¦«ˆH¹ y’#t‰¯È¤sIž§ôøÊ»r»¿«¶îbŠk\×ÿ$#˳{lGã<ò”£K7ÏMH¼»éA¶(Ü´‘ªj¸þ(!·Š"¹ÿÈÍ-ï“âî‘÷Écuþx“âe¦~Œ×%wR9‡l:(R_uÚìÑY2Q`¼º®‡oÚ+'·£/‰ÏÆÑsr>ÿNœµ”›(³KÃRÛüŽ®®{ ÞõÏ{‹/ú¹Ž,*~àòmEÍI5mð¼×'c¶ü"à ØØò’@‡¬ËXV‹ 31Ñ™ž(÷úÇ¢£W=ãŠÛÁë/–/]sžVÉòê‘Oî²dµ‰ÉÈð܉³;ò)#ôŽñ·3"Ö©Xt_yÝ ¦¢†®6KeÇ;ºnYÉ×M—-¦‡ÀÉr}¶Šoêuõª¬_xS«_vÆUX—œ|/GY;¹ßÈûŽcü©eýòº¢‰êÈOn“Ürܺ^üK¬^ »x‘ò¶ù.û|Ñ<|øÇïïð”ÐͰ¯üË'c|«íºooþ¿o_pÙ·ZgŽI4Ïë–Ù¥a©mþ£S]·Îxå–âðÄ/¿P?¤^Ê ÿÕ»G[=È7ÑcƒrG@ÖïØœ3±VK7ú* oÅGè{}ß³® ½ý%zb¢ž›h¾úLwç©Ïx‹ÇUs7ä"#cY3 J¦´è©ç–š²E’).%J%%§Öÿ*8óÊ»Lré:3ÝnüpêUÍLÝ g"£=Æ·ûvkbBåÿ=ëÓŸ’}ðê/Æ]ر_f¹â7;ëõß{S$ö·E¶5EmZ—É£-‚ª]VåÚ¥½i© o«qCÔ2UåU%>+ÒnÉ#5Ü™zñtw$. ä†åk<`¢ƒ<ú[«bdÔ™º.Ë¡ë²>{ë–¾¸1çÐ_y]hê°˜ÚQúôÉý–=2zÙWGK7>àýpVèªEbeìÐÚò?oÒå ½(tÑ']±Zk÷mJ¦BÎøv| oÙ‰üN™ÞÉŸkÿØ´¤7’…ècÏ¿=ðñã®3$ktÚª„½•é4ì4omN–B Õ\÷Ê/(2#¡ ì5ÊØ¤ïœ5uí_ïš;Â[3Ô*«”G9Ëš‹Î¤q¹ø©ï²lWЃ"èz5ÝPÀ…"Á¿-º­Ù^¼-¦Ý+¿Ì¦~Oíû™‡þW5i˜+èVi‰DÃ%~â º×'²-Lr´;©æ ´îÊÑäEΔ{‘mçYIIA?ý·KäÄi™ý<<ÓêÈ@àx:†²nÿÊ»í5ÞÊjO™ŒÐKDve½,=%QGIô E™O¨¢¢éŽ Ëê.áP$njmkQŸ}϶>Ý¢ÂÕV¡wÕÞ¿uÍ"ƒoË]‹]/ö¨¿µbzþc÷&Ê´uIÞäí§)SØ-Ÿ•­M®nº—Nå:eÊìçá}¨1á ÌO¦ÄûÆZOÓÔÚÞèonòûùýÇüM²â¹ÿرæcÇZšümMþö¦–бÖpS[¤©=Ú°EÀ­Ñú¦ÎN)ì4B×+íyÝAº–r¤Ë,A½&¯ÓŽÄÌ7Þâ¦î#ô,ÏÝ*Ü0Žú¨Ýôz?ïC@ ;®2g~íyíw_¸óå_hzq‘DEdª¹G¢ØZˆõs„¢²j–‹zdú‹~è¨|Œ…dÂú¨ <ðÜÊ“\ïé¡×K ]‡\†ª!:†.á™]îõy‹œ!¹Ì1/ÑwÊÄ'ËžÄLóhr`žÒj[&~é= ÁåYgŽF“ÓFó¬å4ùD fI¬£ëÎR±£_>?òóëtNÏžG£w<Öú«V8 rbèré$螀ÜʤŸ<çÔ¢'HÊý>2V/NÄ[:n’ År j—$ωÖ7¤êi•é5Š\ƒ…‚>X<‘v;x®wÚ¨CF‘D‘V‰fK(ÛŠêg/Ëð×½)ƒcù¨3$f¿¤®À‰(9 H|Fæ—K÷” Aó.É¡wº|=D)ÿŽ[:éì±"g¡Ž½Äk°õ^òI‰wŸ¥”’º| (iÌ#DÐóÊ©úƯ ÷ä5 Џ»“_Ê|A™¨.“-Q|Ù£ußÑ^™U(NEÜÝir§h´¼'A4jùÖÿ’/=S눸¸ïôŽoòŠ32 ùE ÷•óòË–imc¡ª9¢|ûe–‹Uòñí5ç÷nÜw:**ø˜ @ o _êQþªü{O¼WÞØDC!6½°ýõ€€Atƒœ‰)€@a@Ð ÛÿXDA7È™˜6½°ýõ€€Atƒœ‰)€@a@Ð ÛÿXDA7È™˜6tï]½N?#“@Oà¦ÝV?OiDòNQ«ìãÛ«Ò¸õ_ý{_¹dàÍ F@Nà{¿tAÿŒOíy]µ!äRà]ó!#Ðøáh4ƒU³Ž=QãôŒp‘€@¿x½E@«ß¤±ñ èõ‘#ûÞ{èÐÙÜ-ÛûïïÚ¿{K‹^û6l˨2=#\d† Ð_¡P{qqiIIyII™óZ^VVUVV)[iiEii¹¼67kA—œU† g„‹Ì€úK Äb1y›œGÈw~MV "èý¥Íñ€rH@‹w,*›#ßq—I¡—ºÝçÆ…ÃÁŒÚÁ=#\d† Ð_Žšw‰oÛ¶Õª'¶xy¦h& AÏ„y!d‡€iÑÑQsyݹs§¼º{’QÑýŒjCÐ3ÂEf@ý%à[´pK\ÅUs7íܹ+UÍ÷zis< H÷n}×­fêÔ©î›]»v»šÞ·G·{ìhŸFC$ @ ? ¸z›OŸ~š Õ§L™’ªéN0]k{F&rÉ™!ôŸ€žž(:.Ék"®bOš4QöÈk¦‘–dƒôþû† d@ 1=6mÚ4W»“!uWÍûrÉ d… lHªvòö¢Ô ¹{‡Qêa„Þh@ ï܈’7%ÞÈÝ¢ún£äM¤Núö¢ô‚ž>+rBÈ!CN•[@e …²…Ã!y‰„Dè­—[FÃÕÕä¦ââ’ŒêCÐ3ÂEf@ý"°wïÖªªSÆŒ™:zô”Ä69ù^öË6nÜiÕÕÃwìxKÞgT™Uú±mÕ³Gø7·UzyÀEFXÉ @ ;Y½¨¸lß¾í­­~ŒG"ážbå–Çã-/¯œ6íìöö–aÃÆ¤ÿ€ ^@`€hA÷•踸Ç#sÏuòxå²¼²Ã˜»ß¸ :ÖøÁÐS2tB.äHª kz® S> "à±3¼µt€ÚE5€ >'HÃ=}`ä„ 0¨ èƒÚ=4€@úôôY‘€À &€ j÷Ð8@é@ÐÓgEN@ƒš‚>¨ÝCã ¤OAOŸ9! jú vƒ >=}Vä„ 0¨ èƒÚ=4€@úôôY‘€À &€ j÷Ð8@é@ÐÓgEN@ƒš‚>¨ÝCã ¤OAOŸ9! jú vƒ >=}Vä„ 0¨ èƒÚ=4€@úôôY‘€À &€ j÷Ð8@éð8O%A€@Þ·µ–3BÏ[Òp@ èô@†@Ð q$f@@Ðé€ !€ âHÌ€ € Ó BA7Ä‘˜@A§@0„‚nˆ#1€€Ç† ä5¹MÔ¹éŸz^»‘ÆCè € Ó BA7Ä‘˜@A§@0„‚nˆ#1€‚N€ `ÝGb >@Àº!ŽÄ @:}€€!xH´!ŽÄ @ € ØÊÖ˸0B/à>€é€€Yt³ü‰5€@@Ð Øù˜˜EA7ËŸX0½€é€€Yt³ü‰5€@@Ð Øù˜˜EA7ËŸX0½€é€€Yt³ü‰5€@AwM‚ ü%à9#ôüu -‡ Љ‚N‡€ `ÝGb >@Àº!ŽÄ @:}€€!tC‰€tú C è†83 xln¥@Èoqg„žßn¤õ€’t: C è†83  èô@†@Ð q$f@@Ðé€ !€ âHÌ€ € Ó BA7Ä‘˜@A§@0„€Ç²mCLÁ @J .ãŒÐ Ôÿ˜ ˜GA7ϧX(½@Ù€€ytó|ŠE€@@Ð Ôñ˜ ˜GA7ϧX(½@Ù€€ytó|ŠE€@@Ð Ôñ˜ ˜G@ÍS¢Ís+A…H€z!z›!# èFº£ B$€ ¢×±0’‚n¤[1 (Dz!z›!# èFº£ B$€ ¢×±0’‚n¤[1 (Dz!z›!# èFº£ B$ÀC¢ ÑëØ E@/à¢ÿ1B7Ê­2½½í€€Qt£Ü‰1€@!@Ð ÙûØEA7Ê2½½í€€Qt£Ü‰1€@!@Ð ÙûØEA7Ê2½½í€€QDÐõ £$@ÈwŒÐó݃´€@œ‚NW€ `ÝGb >@Àº!ŽÄ @:}€€!tC‰€tú C è†83  èô@†@Ð q$f@@Ðé€ !€ âHÌ€ € Ó BA7Ä‘˜@A§@0„‚nˆ#1€‚N€ `ÝGb >@Àº!ŽÄ @:}€€!tC‰€tú C è†83  èô@†@Ð q$f@@Ðé€ !€ âHÌ€ € Ó BA7Ä‘˜@A§@0„‚nˆ#1€‚N€ `ÝGb >@Àº!ŽÄ @:}€€!tC‰€tú C è†83  èô@†@Ð q$f@@Ðé€ !€ âHÌ€ € Ó BA7Ä‘˜@A§@0„‚nˆ#1€‚N€ `ÝGb >@ ß XÊÖ& èùîHÚ@ NA§+@0„‚nˆ#1€‚N€ `ÝGb >@Àº!ŽÄ @:}€€!tC‰€tú C è†83 Â%`ÛÊÒÖ#è…Û°0Œ‚n˜C1(\záúË!à è†9s Â%€ ®ï±0Œ‚n˜C1(\záúË!à è†9s Â%€ ®ï±0Œ‚n˜C1(\çQÑ$@È{ŒÐóÞ…@À%€ Ó BA7Ä‘˜@A§@0„‚nˆ#1€‚N€ `ÝGb >@Àº!ŽÄ @:}€@¾°”<'š‹òÝ´€@’#t: C è†83  èô@†@Ð q$f@@Ðé€ !€ âHÌ€ € Ó BA7Ä‘˜@A§@0„‚nˆ#1È eÕÕÃ**‡–W )+¯)-­,.©(..õùJ|¾bÙ<ž"Ëò¹[LßÏŸ^²t6==Xä‚ ^oQ Ðê÷il¼÷С=²<¸[¶÷ßßµÿö––F©-l˨N=#\d† Ð_¡P» ÉKJÊKJÊœ×ò²²ª²²JÙJK+JKËåµ¹Y ºą̈2=#\d† Ð_Ñh$‹Ù‰¤d¥D[v¸{ôk²‚`Aï/mއ CZ¼cQÙùŽ+¸|L ½ÔmY:(3j#ôŒp‘€@ 8jÞi$.%:óä¯"‰dT‚ž.2CÈ ­Ý[·¾ë–‰„5W;wîJˆ»Þ/ºŸQezF¸È @ ¿œ`K\Í·mÛ*‘ °ÈWÍÝW7I@&£ÊôŒp‘€@ ¸—=O;ít· ÷Þ{O^wíÚí~œ¨-¦q€Ì%庹 ° €@~H†\¸(šßޤõ€’t: |' ÓÕõŒu=ßIû!Ä èt@†@Ð q$f@@Ðé€ !€ âHÌ€ î¢ÑX4Fc‘¾­Ò hœ\‘Pðä6€Ú!&_bA.Y]’Çò•–x=Þ^þÙ"çÖÿÃé z ­ÍãñÜ¿në“u;vìoJ³edƒ ¾8uhù’ó'ßñ¥³åp_Qq6½­µù?ìÜq0tÃÒó/lnþ°ù²õUUC«n]×8áEãˆäÜK–«-»^ÛµE­¾B¾•mæò ¶×/À=ê„î_Í_õµ¹Ni¦Î—׆n¥5l|N%ò¸‡oX>sæöo4ß1—H:”@’ž™ çüdDH%0ç¿íòûºD½å–昊Ͽw“ÿ¨?¾ÝáRºFk'ÎØðÜF' “šRññ£ŽSZǨ~þ½¿¿ó·'ÿhÀUÈyæ1tý;bƒ@n 4üzÉÊ×ãU4ìÞ|± ±XŠÛ÷ê^¾ïâEóæLš±á–ëRzcG¼%‘SçŸsíjuã¬ïÖ%úmÝÊïÊ4—ŽÒÜ÷µÝJ«·ÈN)ßÉ6áŸZ§-ydonÍç'™ º˜ÉY™…C!è•@í…‹7/ª©¦·Yk¯úR­ôÑ?Þ2ËݳÀ^÷Œì9ÿ›îݼÀÙ#ÛÒ_ïíÔ;ʯ]öä¦Õ›¸Ùj†-PŸšÏéæqS÷ÒÆ-[ÕQþw6Ƨ-ÎýÁÚ™7µôцˆ;QRºh¯:-C K?$ZÖrÙZ3ûTÿáÆ}÷‡{9½õ¿é÷·¹Wœ29ý&°÷±«nQ÷>í(; @À¶c¹÷?û??ñEŸñ©ú?Ëzè}ˆ¡K“&˜@|€L߃@¡s,fËå"ôè;”ÙýȳßpC4NñéÖ‘N;È@‰‘‹‹Ê=(ÿ&^½¦éùåáp[/p†'Fèé z{kË97?ÿ» ¦ŒªŒÙ1K6NȆ@Ù%àŒÎEÑÃ;û§{ÿ´ó±ë‚6=h¿ã7Û÷AóßÏtÎä¡Ùm=¥A€@’€„Øö{›ö‡í“kOùáõ—··ͦ G£¯×·ê¹·eÏ¥çAÈ5y¦èç.œ~÷u—x=¾Öæ²)èòìi·Èç+õúŠõs¨%€NÄ%×þ¤üìðx{{Ænöê¡$ô—@,Já‘À¶„_ÚÛŽF#É=”Ÿq ½¿mäx@È ¤ g6m17¡T@È= )€À` àDÃI€ ßôBŒÐóÛ‡´€@’‚Ng€ `ÝGb >@Àº!ŽÄ @:}€€!¬Òm«ž=BpñØU ± 3  «>­uÁNUÿºj=Ò!èíOL. @À=zï 3Çt, `g-=B÷ØÜ(j–k±(8"㎔sQ´à\Á€€©tS=‹]€@Á@Ð Îå ˜JÀ*9{[Í'ô´E.ŠšêcìêN ‹†Áh,"ƒ>‘P0wµøŠKÜÂõƒÛõãļE¥%^7µFìÍ)ù¤ûwøg}j÷ŸUÛáÌýÈ‘Ææ–ÖX,–S:YxeEùÈ‘ÃW#ö¤/rQ×ñühkóx<÷¯ÛúdÝcž‘+ \rþä;¾t¶ôuzäöæ¢w p™½ø·/‚.ê¦,ï)ÆWTT°%9ª. |pè ²£Ã‡í^öæû€Û‹ÛZ›øÃÎC7,=ÿ³ ¹cËžCß{ø¥é£J–/Õe„޽ÖërWQ/þM z1t››¤æÂ½¤¤T,»zôöæ®kLɽûWÆæ__òÉ >:I¢.f¤3&Œøú’ÙOÔm÷y‹ºÆÞ|÷rïþu=ž K¤Å˜±y²»‹EÇ‹ aïÀÈnNk9žå·-‘– >:ѶÅÏ’¢lÑhô¼é#Å.O7AÇ^³ý›üe è9ýáQ8’€\<”ê¢r­Pþi57 ECÁ@(»\ëRö濃{ó/‚>êA]ƒ”€£¶¤ úÌD#‘^XcoþHÇ¿:äb Ĭ­þýž›·¼¼aKsÿÊȧ£ ÍÞ“ç›ÄØÜ„x‹¶ÅCN(èƒ)¾´çá ÞÓçx×`³·ŸæœC/öŠŒ;R>à!—.je¼x‰O?þT|{q«‘ç¥ÜÙ˜óî!¿ìo k–”—W¹ÛÂ5õºŠ†G.|¤Á­«îvÙ¿¢.ûõ&léå ÙJfÇ·uYâæ6µ­ÒÇæÆÞÔV¥º¯‹7;5>+æœFo¸ Ÿ¼áØI«¹æÌK¯úÂgd»düÞ—ÞØÒÚ‘ËŠóÕÆìO|¨_³äôg½ÛÚÔª·u3¿>kášçö%§®úG^¶ù§ï6Ý57ûU»%ö.p}«UŒ*¿L½7ªéE{}]ß êvTK?JË…½Ý›Ó¥ÇkvÿÍ9!‰ÞƃCÐØÖ7ã#Ù78mNŽû^z»É5¢c$˜Ÿ²XUS“ôF‡-‰a»ööb£60é¸ýoºï»pèè ò­ë_Þnjz{ýÓ¿¼ÕŸ‹ÓQ‡Îžðg”n†×øºúÉ}ÿXÏ?ç®-÷©g^©w½þ‘Eg<·dËÓË_§[jùz¯&Ï+(Y^yFýdË÷ç$Žšs—~_¿fiEE³-]#Šu‹Y³ÂÝS#‚8éµñ<ÎÉ“zHÛ“Úú\ØÛž½Gs4‡•+uáñãç>Áï`pº4²émÿ8g;{Bɘïó¥·kf»Û3ìØsé̦7ÞÌÑššê¸-M3’Ãö¿do/6V͘Q[¿ß=[K¶ÚñcµO»pHö„ÙcUõéçYãŒý?uºƒ-Û)[?²Žrêwmž¿h^ª^×Nš±aÇ=n^»|ÆÚÅ›ŸÊ¥šŸ`„ÞG{ë7>»aƤn'¡ÚeO577êí…7<ðšç Ë·]êî¹iÕí·ýûšf1¶©=!ÛòÝSy'ŒWö?ƒ–,½mP‹ï?ãÆ›GÒû8î¥a½I\Öó§NèÞà†G—T ­’íŠÕjË.m×üU_›ë4lÂÔù:Ö¼ñ9•Ø£?îÚ¢V_á2sù† Ûë³!övoØüU››?lv·Í«ëŽoÎü…w8̽d¹FÓÿ^”ZBo?ŒA3Bˆ_ïIªÃ/Ëß"ÜÉ&$ƒÎzœ.£ÑÑ& õø:ì8AÊMM½ø7h¿ã7Û÷AóßÏtÎäžW•›åªT=aĶß;Øü³?lŸ\{ʯ¿¼½õhjeØ›+ôRî ýÛA—–óŒÍq_+áª.Üh4âõúV=÷öã¯l3院Ÿ»púÝ×]âõøZ›?HíFØ›ÃÕ@-Ï=žû(èÕrê@n X–Gëãó•Êò^{;g§o§G6g§ÐD)±h(ñÖ#O¶ðK{ÛQù»3µì5Û¿zvS”@à¤H :³\Nš¨€@v èÙåIi€Ný¤¡§b@Ù%€ g—'¥A8i,5ú¯¥£ÊË'UúF•ù7Ú¡–>ìÒº`°ä¤µ—Š!@ •@ëau¬Aorc‘:õUêÞT&ó¶Nð8Œ 1¦3,{5f¯¤tg8¥S£Ì#K'¥³>TšE¥ãD;V9O#¥QT¥è,iV˜Nié4>îÏ"k)›¦Ñ¨ü­. ãÒÌ’®—Óa•Í®fóÓÈ&-÷êU×eöj ÉRîl#ŸEŸ ²@0ˆÀÿÅ)F¬…ß¹IEND®B`‚nð`?û¾ãDUMÑþi$rNy$­ÿ‰PNG  IHDRðäèþáˆsRGB®Îé pHYsÄÄ•+>ôIDATx^í} xÕµÿžóÈ“$Â#! ©­µEi«„ U(TDiÕÛ^{+¹VJ}µ¼Öû¯½Wï'Âõ‰ÅV ØúUkñùA‰ÏD©xÕ« `È‹G `È㜜çÌí½gæ<“Ì™™“œÇšoΙ³÷Úkýöœß¬³fïµI’HÐ!,ýH¬pBòfÒÓVAþ0#‹¾Î´›•øüðW°Z%¿D|"±Xˆ…Q‘âƒ7x$tÄñH&O2i‹ºJÁ_1xíÄÍßÁ˜fd02õXH†ž#>Z¼ŒŠí@×6VÙF¼q·Ku_ !p•Ð-ßÿ„Ö/™&äfȲdfÑjÙ@àY$„d‘l¦ƒ•IïïUfÇQLÍ$± íÔÄoYÒ yØ· FÐï£tªþíÏ¢>oø'ÝìpÎAzºýžÏ’î^飹¼’À Ø\(oËÉõÙýö¬¼ônÀ9=“yêp«×\=à-?àv‚"€ ˆÀ@PƒœEù[ŸK9™N¤Ž…JnÙ…—뻕†½ê>»O9I[“ô.uÕ)¡ ÿô)(&V—0ªNIÊ­Äb· ì6»Í-IV‰ºå6‹¯3Êøü$?oá¤ä'ðÇGC0x ˆ@¼=!‘ÒxuƒrMBÀ’!ÀI™”0ýB ˆ!ôù¯$X½Äï½6 Ôk%v?„X; }SJU¼fˆoÛ,D²§K†ÛXÆÕG:ÏO¶´§\!ô+)Pâ,6‹`µ¹­óó”Üû9$Ñ'ø‚xh„È$PP "€ )‚€È")¢$IðÑÛ³èá-= Ï&ù¿`ç¿HžFÕy5x´éö’^ii–N®È×ß&Å%Dè"YyrãL;}Á8¶g´.dañƒ+ÄA%¸±ðn#x$xN²Cu“Èç@ß~É.ˆ?½4ã7ך0º_9ª±?ÛÐòÇ¿Ÿõ­ÃÏ5¯“Öikb„GA¶›!eæÐׄ®Š 0;#q8/ùEA‚H »WÀ ®4¿Ïà ˆ"@Ý\Åg˜sÌ]oꘋ7ÍÏÜt•£ë¹Íâ¹³¢Ó!¹]’Ï+y=tæ‰Îq‘XÀCò°À9Df<.Ÿ«¯7Ì”û¶­{1ïÏ$‚—¸œÄç ½™ö’_Aèv½W<ô°‡3 sÍ”*a?p,“õ—]Rh‹JªŒ€P$*¡û!ü-BüD|¥üìƒë¬c'V›ØÛåï9'yÜÄã‘Ø<Ææ0;Ü /$Ÿ>’\NŸ£ç\W× {ÞWÿø~ÉRB?ç"–³äôçÒË¢(>‹À¤æL÷Ž™îQÚ—]Ò›5®;o|OÞ¸®ÂâsÙE™£;¥¼³öQ¤°“Œ%û—Ô%gS$éTÎÙîE4.„%yHºo*Œ$ÆbÇœ±¹j¿»SÈÈ22`£`³ 6˜Sh]²Ðå>‚ÅJ,0?Å 1 üeu,6{oûñ c2¨›‰ÈŽÀtÑBÏ:{œg½½Ž¾^§×Ýçr:º»_žëu:ú\}ŽÊéyžǯNöw^A²ûHß±(3Ò¡W,É…@Ò}7PaD ¹  ÎÈ–¾P/Ð;›Kޱ·[tô€÷-¹û$—KrõI}NÉÑ+ÂTóîsþ®/ý½]PGröÐ à¶Ãt+{l™ÁLjZžuÑ¥í¿úgâõˆ^äs¯—þʼnÙ×ûÆ ¸¸×ë;|¦ëê½­ÂÅŸ§“ô³#íŸdÂdR±e’‚’m—vL&$beR³í+ŸnÛþB»˜DèeyMÿ=¢4¨róÎÓe Yz´è†±»—’­wž®:JÖÜ9aÃ×ûªعqÈ`5ÜQ2êlØhxà‚¾ÄMOTýäê+í“ÊÌ't{ÆÜý8—sbÕ•4'^7 {=“þú?ßvÍàq÷zÅÃgC Ýv”ÅÐé="“ØÙü°§yä4õ øùôgdr¿+Ltw^PÚ’–íO掿——Ùÿö‡¬ã]vö‡^Êê“Õ³ìy~3QJæ-ÒÉVЦX×D`Ø€¯ –$B`À EòºEx êâöžºó'¼î„ͯд@ú~_€Í—Í„3ÅèNö³5ýO]ÒéWßkÅzÙ+*S÷Àêó tR»Õ !|žÃK©"N½Æy鼸JäàN¤Eï?‘ñµçØý({É×á‡Ág–ÿû4Áˆ2\± ‡í»Œ#ˆ@’!Àï=ÁGèr˜­(² ‹01±ý¶ðŠ%ÛÞ€•¢ŸyŸ¿m»r:ñC½§S?šž•ØsQå`!—‰cIN™A²lÒ3ãYÒ/1àô}Vomüý.'1ÎÒièðèvjVÓ}#„íOÎ|²ÒU22¨¶mË£…+‹Õç¶-¦áîU\gÜÕ?tÎ þô£náþ ÌSs›îÏ) Èòm½³Â50[¾ö¹üÊœ['äPɼUPåº':æ¿E‚Ï0jóšwv²ÐP˜LE8ïý£îj’¿nš1‹…à‰ˆ—9é°°ÈžrQ³Ÿk°Ò"Â\wÈc‡â3˜P*M!ßûoÛ¶#Ëi%S³“–§Ÿù]÷ ï¼Õ☑­a¾?,\âÝ@«<9”?ê8f”³:¼ÈŠå?rV®~ ÆÕBF.øJmV»—ìy÷ÖWIßeˆß»ôêq¥ÄñÖö7É´ý½&«ŽyíÍê‰Þ|ñÅ™jeGc ­|ɬ/Ãez&M Qì¼IªÎ ¾EBÝaø•qã³?^=gõ¯žÿú´¢ CT‹ï¸XD ®LbË‹L°ð–†¿!t.“OÑešùÐB&%G’‘Ù$ÏJ2m‚¯O€-5øL š<{â × ÏXå€ òÐO…Üq~6uÒ¡Ó·ŸÝñ^VM­ç ]p³gÚh‘Ézþ9õ¼ ó/ªråžÍª}Âúe…çše`¥xê圽õTNá|ÏüoqÄIBÓ¦BÎúwÙ‡$¥>“iúþ §«£¡ ¡m¿ýk×7úmN+¨=2}<¹á@2™b3¬QuV%!lH¼¯”ŸVÀŒ„´²7¥ŒUÇŽåÔ•þœqôÒ1Ö‚B!{lå 9Ù¤qxøIW 't7:ͦëqIÏíévúõHW)¡K^Ò ³©¿ Çþæ¡LÊFsB²2!ñNèVÐ6l™Ä¸[esZž™À¯>ä Z‹,± 8L9TBŸùÌr¸1Ä*Ó`óX»Ãúˆ"€ô‡@ÈmX¡uéÖC—XGä[²ÁCÏÚ…|YtJ"’Њ0ŸøÓ¡Cv¯Ççñvõ‰‡zɾ„ï÷¯ty‰çsÒöIølp¾ž‹&{¤Ÿ "ÿ©"L[‡Ãª.? šÂ.س <ÝäNá9¥™›ëè1›à7@† ÌWåõ‰/EǨ ]޾Îîž®îîsÝÝçº;» ãy÷¹s=çÎõvu;»ºûºz=çÞ.§¯«Ïßå’€À…ñtQgÈ!ºCB~Èš%ˆ~ L¡›ŽÂ[ÑÖ‹§\öÄKw×Nýë–€‡Þ1tr)$#si Â70»Üj³Ú™KsÌ3éJyò7œQfšûUÇm?8äÙ[ïªûÄ å­]¯èxõûj>pBùûû®ÿp¾ôž£ñ¤'ٌӣ/°yáËÈ|ûÈ{aA”¢‘Ö¢‘Ù£ò3 ó2 ÀG¹#²3Å ˆNB—·ÀÐc¶AR «Õîr9º»Ïtv¶_Ÿ9s¬££íÔ©f(ííMPNž7q{ˆ×+AEñÞõëû<‚ÓC ¸½t9Q²Â ±ˆ„+bXˆ‚€ß%Ä@ùÁ¶‚ü ý«¶q»Ó‹Ð=^ŠÛ/ø€ÄY¡‡_Úrz(nàtæêà¯d¼Ý¿Ë%A¢änŸå¾Cyô~lʬ ÅlzÌaD JÞà…Š@W@ß2ƒÃ[•è©Êvvôz݉`óÖÅ‹·6'º–ýëú³‘áP쨫–OT×Éí8Ô.þ lx²9?6?x­¯g‹»W¯¯'l…¤0ŒÍC<ñC‡¸«®Ùz„HõQxJƒ áfg/øæ4dLãÂòÍö8Ø[ù÷ Å æxh0F[•憊Z.»¶¢jÜšêªçv¦iKý|Fé‘g˜è5r;i÷ÊRm}«¥²ù¯îXk”ÓÙ>³æhÌ0l$?<ÒB'›Ã߯ÆFøËϨQà}]–ÖU—íXѤðTC³.!ÃÐns~‘°-Ò},”—E„SDzlÓz‘ðÂLϲrÆJniéÌE”½wm\³„)]°bQ}#0|Ä™a@º¬þåZ(k~IÙüç·®]u -FTAB7‚¶EdX°…7ü\çlÎÆÆ£ÁlÎ^ë#thZQ^Ê¥*ŒðÙYh:ãÕÕJ¸y¢Í[WUÕÔT•ñàCÿõ«ëäÏ”DÃã²%h¥íÖ­4¡1¢_ 4‡gžðDžûA øëòJvÑ/M›h„áwŒÓáÿkæÑüæ²b \Z^Qz3 9³q~H ÆL]†FúÐàŒ½¤8ªÞÐð97uÚ´iüÅÑ£Mð—»ÖP¨\²†ÑM€?ÁgoXÇå6­ØAC „ÔÔÏÜ̃ Pª–®Ü¼eÑ¢-àÙï^ÙÜo}Zy†ðb}ˆœ¦-DZD髪a ô¤xÃÙöëîäU6²¨±/6è“öß-ûM³Y{ì¤rS Ô fžÏa•Ð7§´MÝeúèÆYci™=¶±b\ã7'4Î) */š|\˪¢`=ÐõŒ ¶AÂàL úæç7¸·¼¼<˜ÓY0r»>ôd¾Y²‹:‘ÀÕÍõDö(…2pÙã¹HqHÿ .ŽêCd‚7ä!Š 94F’£·Ý²ºrpS(.^a-¨œ/8›K‚ÝðÂ4gžëg6E„ÂÁE3ÁÐXÂÎPܺXkÀJÑÿmÒØ9íhçt(ðâ`Gyý©òN”ï?N ?ùÁ±i+ÿ¨ub¬©Ðc¬DE€òð8|•¸ŠTVFÙþˆ´„vGyé]u”v©ë­<åXë÷¬·-]>#ÉÅfî\³N•zû/×fÚåwCçëàM8ht(˜Íé†L \Ež¡ÏIå?J%4‰&‚Ýßè£{|áw1ù$¿ÃÅ~ïGBÓ¨¡ØôB@aUqúô霻ù7œiÎæ¼‚~P€¤Ô` w3ið·êqÆSQxì§zëÜy¸~?b(¹ÁE]m¹H˜L Eix\)k×ÐØË-¿Zçð(>H_bÒDª3aÏ ”€xå†Z¢ãeUµìÆyüòzAW+é-­-£^F.$t­Ðc=D``TÖ8ÍA_MvÒ€ ±™o€qxh¸r…:ãZå1˜§Çã ¥+×±àûâ­¥Qê÷g’"‡Î¬¡ ­/mÌYdEYr§n§TÍüt»M€“^€ñiTJWîƒWÇDœ j¦áÇŽ6ã«Óá‰Âÿ<$?T€ç ÿ  <FB rüЀ_@¤.,R^À/kºÚH]DÊ$éû¾Ó”Ž<ŒH‰SmVÞ*¤ò"ZWý¶ÕV F€ÞÁØÜM«ÅrWµ€úÝ£ò’"xt )A¬ôB‰ùRÑIè†~<âð")‡ÀÈ‘ca (ÇÅëõÀkŸÏDϸ–ŒzóóGƒÝ™)gý ‡HÃç%¼@®XêªóEµ0挕_¤<8<†îó>QRƒáðˆ˜Ÿ”Ÿc =å¯40hkkÈË5a´ñãË•2U} ç¡Lœ8#?¿èÈ‘àu¼LP=îxu G.{úç‡l\|® ‡‘<\ÐpÞÇW‘xÆ Gµáiãt ]}„K`9!7™p›üó³Û×Bf~&ï»|¢+öì“:=ôáA{EÂÂq ïøáëû÷ï~ï½Wöî})¢¼¼oßÎO>©+)‰›'$2 Ôצڈ×%yûü^·Z$¼õ¼ø=6¿Çâ÷ž?Ù–¨F˜©¿ÁÞÕDøùFïw^iÕ/Ö >ú„ŸôÓÝ.èJÚX;2/l(˜;w,Š8¬p`ƒ »-“e „Ø';,VxÙ¬á˜óOxýs§ GMи/îX4èe–,©;}qÌýE›r«!r n¯1súX8ò âbÉàwÞÄl-k‹èt-ïÝ‚®! }Ы+ ý oBOCàµlΧ‚{ŠE?°‘¦½ÄÙ„ž†ß4ÙLâJèf*вR•Ð1†žºƒŒ–!ˆ@š!€„žfŽæ"ˆ@ê"€„žºc‹–!ˆ@š!€„žfŽæ"ˆ@ê"€ÓSwlѲ!A ®Eëjß#°“EàškoÒ6mÑΦ-v ¡'è@¢ZÉ‚@¼ }ï¾’ ÔÓ\î¹çÿ圄„n.ª( ! ôeËŒc†\øÕ©±:ÆÐÓð:A“D 5@BOÍqE«´@ ½tíÚÒöMÕR'UÀBBO•‘D;Ò`¨Êy•¬¬Ý•«Çn.aóXµíÇ›çUÊŒQzÊݵVÖ„ë£G¥`Â¥Š}s—ÌÐc7WÎþ86ó¢éó¢.ˆÔ~ƒÐf†ª¤ñn¡eÈ4Šš=DHÆn¾n̼gß®«ƒòyY«^¶šsæÚ¦)2u¶—>Ó䜣Ç’˜&϶̙Óò,Uéí–8b“Tì,ÛŸ{’µiÿp ™CZå79Msãc“MŸå1êÙ£bÃüÀ…ÁŠ›x ¹x%M²z¼^4«zè±]/XHœd 9½jÕiæá‚£ÍÎì§›¹Ì›£{¹ŽKæ‘·?¤÷ƒ_œR6¯C¶+àK2WT“¨PH"õárd^uÀÕV§/¹6çóÊO¶:¯¿ÞÙt‚Ý¥Næ’yÔÐȶê™ë¦ì×6£UCmrØmG…wöÇZÝêÐ!»¾©ü¦á€äîzpÊþýS®Óý«‹é„®}±&"ýÝ0‰¢Öþ)­—0ßù¡3}&z”yü’–² ¥@IÏ4µ,¿ˆË_rJÙC´á³Õ9wð˜ŒQƒábs¯gþ{ݳo?®ÏøÉüÖ’{‚8Æ_ØQöö ¸ÿQT6œëȶ%é/ƒÁú6ÁƳ ÿ²ûœŒI¨·Þ¯&Q†¬xÉÌ߇rnxpv,ù¥ü+'æŸ8Aý"¡k¹°"@\¸ŠÁ%c(ÅÅÁCTœÓ²œ‡Æ;ú§×¦9}.ÆÐµ ŠuD`|}õ{QKBÁc‘0;WB *ƒ ˆ@ÌÈ<Ž1ô˜‘È"€$&Hè‰9.¨"€˜Ž@]õâ­ÍF¤NšüÊãßúˆ•W–çTGA.Õuä„7EB7L…  Š@óÖÅ‚0£AíJ²[ÿÌ#é‡[Ψž¤W\Ý.RË2˜KM¤~=1t“ Ñ ]ï`;DHJWî–š¶,2¨ð?ýâ\„³EWZ¹ÿÊ ¤’¿l&5¤Ô ZæHè¦A‰‚D ]˜Tt)9[ÓfÄÜf²¢.»ˆ´Áˆ”°¶m\„"€ ˆ€6Š6Ý9úm­Ÿi«ÝO­R²B.Kˆ°ØŒ‹Lãè¡lŒ i†@ѦÇ'µÜÿñCY%YSc¡Ë‘ÐÓìjDsD@7t–‹l¾µZ!ñ:²qÆÐu6DtD€Îr)«ª©©*Ý¿òÑIöõwž¹XNHŸ¶8ŸÔîFBOÇ+mFÝÐY.ʱ¡R§˜Ï^ü8xõÿ•/:u ‚Y.tÎ"+z•‰Ú5†\tŽ6CD Ñ@BO´A}D à D#KBé ɹ0;WB*ƒ ˆ€NÐC× 6CD Ñ@BO´A}DЉºNà°"€ ‰†z¢êƒ@ Z ‹·h_W-¨‡±T³Š$#RXŠÄ C÷ò€ #ê®*>ºU¡B‚ÆHÍ£[m`ÔM‘ÐM…  €°9YcX5µò|íÝ+Kõ Þƒ3LŽ)$xòxí²h¦>…š·®Ú±¢‰iS[QµJwJt¸-(VÕ’ùún [ÓÅDêQMÒÙè[ꉑ{„"“sé½d±"PSÌl"«g&‚Ru»ê·4é^¾Í‚æ­ë7®Y§ÿ£È,i ƒnsCÍš%•LTå’55 Í:°^¹›4mQÚÁºÿ5ò¢+H}£yr:W‘þC]?†ØH€ÍÉfbœï¨=ç³ ‡>”R·k#[bÏ3üNR÷xÙ²šsiì8úë¸>e;Vl6S}£ÌâpgP_Ç®Qd‹ÒrRÓ`\ºq Q"0¼4“5¤ªŒæ)«"5UÂè•äx‹¡ØD~ä¸MÓ–úù†)ݰ{^Ç"Ýᢦêñ:½£U¹¡iÅùFya*ÊKõJŠ[;$ô¸A‹‚!B€gÖf~Î/ÚBv¯4ܳ¡ØD ÷Ò+ {²ÆÜsØhëúzîÞƒ«w˜õºƒè >ÜôFô£Ms#<"01 ÕG~à Ñ¡ÉÙ«Èfýë3CÆ*ó–Øø%…„nC”€¤*uÕFˆ2|Ýý’]1Ǭ H&gX‡´µð*æ0zÐO„ÌlŠ{Žzª~Ñ.DÀ84d AÃa®‰î=~Ô[cbš·v‹JÅJêM3ò›åž#¡¿èQ"ŠÐ0‰ lÞ¼µZI>Û™›A\ì ™Ø,÷ ]×5ÄA ,+(yFƒ¶”Ày4ƒM/¤iÃ!Ç«²œöG˜ØXM{Åàì‡ÉÑ`Aô*árôæ“£??pøè4–X·a …¬ åÏÓÝÑyl“wP¡íl¹çÆË­†ôA óËv[&Û ×"o£i±Â+"Xᄼu/û„cr®ótᨠ÷l{í–¥SE©®öí½û>xðá'­‰Rîsmù#'=}hPÓŠ~`#Í{‰£ŠŠV@D 9@BOŽqB-D$ôA! ˆ"€$HèÉ1N¨%"€ ƒ"€„>(DX@ä@ =9Æ µDD`PÐ…+  Ž@P:VÈñ$çb]LšcU;jšÙX2ºFIº«$™¥³Û5ý&ï’Pw ¡‘rô¥È®XÒFG Ê‚+Yÿj,Þª ~+"¡Ç% Ç@H:VX¥²ƒ4ID’HmYA„¦‡…w°ˆ-µ¯%ócXVžt·®Z–Ésçk§ôhÉ{£&Ô÷H9úÒG¶Ò—¸¹P¥£°V­ ÜqÍ $Ï5á@B7D ý¥c-“J¡éa!Õíš%•L@L)X“îÂrYNl)O¢%ïÕ“7R޾´Àɉ%-påÂQ%¥DMU ·ä™M$Æ´Àý .zL—=VFR²{)c{ß”í ›Wе¾±Y¦ž™‹ÔךåE&Ý--¯¨iEjCSMÞË:‹”£OrH+i›ß$d°:ÍÓ@6Oƒ®"Š„®ý⚈@Â#ÀBDj"‹jÈãuzÕ ¤*h†—6¦`=š’t7®rôiÖJwZà:åvÛL eNU»WAîãat$t½×<¶C xæV¿…ý¨W½‰Ô¯ý¹¨b'+9]mL£õ“t·¹±>¶d‹f%Or­bŠIÑ»}ôšvS÷œ©K¤i Y´…ì6ò£ŠŽz¢})QD@/Û¼<î—Ãúš ÆFŽæ­ pÅ­b“îÙmÜÅô¡éµ;ú&%ï¥ÛÖ…%Ö'9¢•δÀt–‹ÊæFƥ߶Hèq…"C„@H:ÖJêèÍWbèM´ëžfVžmûŰ™DdÒÝÊ 0K†fš,«ª¨Õ¼]Ôä½:êFÊÑ—8²•δÀðD€ÔÈ9 Ì6sQûhõ_Óçš"ÊHc0}n~|MÇô¹ñÅ¥#ˆ"È`È%‘GuCD@ ‘h5$t-`aD@’$ô$$T@- ¡kA ë ˆ" ¡'Á ¡Šˆ"€hA ] JXHH¢¤c……ˆl:-š3èFM*«$¾Õžl‘-ä‘Þ*è;¯1áâ@iocP'Rš–@VP£*|ÜÕVª úäÄý*BB;ÄØ"/¢§c]#¯&—øúr G”ô°Õ‚’@w÷JR€¿ÃÓçªh"Þ5Dëâÿp9°`V8ñt¾U«4/ȉ”£/-pD²\i5 …Î*<Rðâ,ða3D ˆšŽU‡béaëvÕoiÒ¼²Síq€ä´Í[×o\³Nã½a9¥3Õ¼³ƒ.ÇxZ`ž,WoZàÁ56Z=t£b{D`øPÓ±RU6Ê!ÍŽl@9=,VMU™žØ„,*"9mÝãUdËêÊX‘’倣¿®ëÉ6k¼-uÐGwZà~’åêK +šë#¡k† +" Š€šŽô«Tâ-¡{âhÒ<8=ì¾a‘ÛVC¼›ˆä´1¹çUr”GÓ–E5U1§VåI ¬;Y®&èͪ„„n’(‚Ó±+´'Ž&½úIÛVCŒÍÃÂ)=îy¸Ôs÷Xî0ëcùíªþ´ÀĈd¹1§Ö4º+!¡ë†"Ã@d:Öºj=és£¥½•Y3¦¼·Q“ÓêpÏÃäа†â—ׇZli#’åêM ÿëÅÂà Iˆ@d:VØJTNŸ[Ejµ¦Ï–ö¶iÅ´¦ tµ>–œ–QgŒÑó9¥häG‰¡ÑGWZàÈd¹úÒÁ&d^x¨`î˜îŽÎc›¼ƒö÷ØÎ–{n¼|ÐjXH0}núŒõ[CúÜ6Ò²—8:0ä2Äc„Ý!ˆ"/Ðã…,ÊED`ˆ@BbÀ±»D ;7?7tîˆÂœÜ‘Ù9YY#22s32²l¶L›-ŠÅb/">¶JÁK QLBBO”‘@=’«Õîr9º»Ïtv¶Ÿ={âÌ™cm§N5Cioo‚ròäÑãÇ÷öv‚n·3y-EÍ$ô T/9ðxúÀ%ÏÌÌÉÌÌfs²³ó²³G@ÉÊÊÍÊÊ¿==”Сfr˜„Z&!HèI8h¨râ!à÷ûDQä‹+á °^S‚ü ý«ªìv#¡'Þø%½F°½ÆÐ“~$Ñ€D@€’·è‡Âè[fpx«=( ó¨á¯×ëN…Q‡”D =%‡j›‡xâ wÕ•"«äóù†Z9ì/m@BO›¡FCãŽåÏy?>¬Ô£¿‚*äNÏïÇ]ì ]@BOבG»ME€[d6?t¨"-`3œÍù_~@@ÆÔžQ"@ ¯DÀøcÏ3frY_|ñü=z´‰¿:µLyXjB_(è$t¼6Pç·œwÞŒ`Nçl®zçÜG7¡?„!€[Ðá%˜‡žÈ¥©œ¯ËÊJ®ÇH‹y`£¤~@/ DÀTÖæÓ§OŸBË˧ò©Š|"cðltºDˆ@HèxQ æ  ²6çîòòò`ç+ŒÌé ¥ è¡ã5€Ä¾€H]X¤¼€Õ¢tµ‘ºˆ”)À‚x q@=ô8€Š"Ó‘#ÇÂP( Š×ë×>Ÿˆžq=,õæç`222Ó´xˆ@B" ±›F ­­!/oÔ„ ÓÆ/WÊTõ5œ‡2qâŒüü¢#G>‚×) š6<òÔ)$ôáÁ{M% Ç54¼ÿᇯïß¿û½÷^Ù»÷¥ˆòò¾};?ù¤®¤Ù<•F>álÁ=EnHP¡t@àžm¯Ý²tÊ –ÖÕ¾ýÝ+Z +¤*ù#'=}hPëŠ~`#ÍïÇ™˜ }PÑX@´  …ÐG•—)iˆuR8zJâ…F!ˆ"Ô¨:ÆÐ“zQyD@ ¡ãÕ€ ˆ@Š €„ž"‰f ˆ@#«Õè‚5$ô4¾ÐtDH-ÐSk<ÑDHcÐÓxðÑtDH-ÐSk<ÑDHcÐÓxðÑtDH-,˜Ê3µ­A´D€íj‹zZŽ= ©ˆz*Ž*Ú„ i‰€uá¡ü¹cº;:Ÿ¾æ´DFD ‰¸æÚ›„yGIÓ;Äy&@è}ÏMMb›PuD@Ò(„~l“7]Ñ@»DHbŠ~`çºE"òÞEIl ªŽ ˆ@:#S\Ìå’ÎWÚŽ )‡ÎrI¹!EƒD ]@BOבG»D å€=E 掅i‹øP4å ê¿è÷ºÜ~Ñ'±õuñ>|wüº°edrá;,‚Õž•iµXƒ{D{ã‡?Höñ-Za#-{‰£#6B?s¦³§×!Šb\ÑJá#rsÆ+ê¯G´w(Ç"}õ7¾.§Ób±lÚÙð·=GŽïŠG×C/slaÎòoOýí¿]ÛìÁ  ½C?¦÷8Àøê!t`7"XG.ÊÍaº®Ã"Ðív>ÕN$QQa¤hï° Š‰0¾NGÏ»´{V_ýíy_K‘›OݳíµóŠ3o½º"ÌCG{M¼®†KÔã«:$çÒšž |óTbs•ÌÌ,°ìŠ:Bhïp]¸fõ;ðø‚oþóåߺì«euIãü)c~¾|îs{Û¬öH ÑÞdåÇ—° è1<…HKÊøæêåõAB{Í"Öa”ÓßøÂw"-—}µT’`œáð§@ñûýŸ7ì²D:Ú›Úã«~Åb ôaüZb׈€¹ÀÃCè‡g…ð²y ~Ûåñ¸À.n]ðö&ÿ4¾HèæòJKJRÀkSM w&¿Ïïó 0hoò" e|c ¹ ÛW¶çàëoì¶î‡¼ãt³wÈV;T|óTˆ·P[$0dPBO¤øRó¶¥K·5ëŽw%š½Í‡ÁìBc«”'/0ðùgwÈ¥¦!%ïKñ³1î—?*Ù{.¸àŠk®[åòÉm¯í;žìæDÕ?Ym4âCËöå3_Xö¹£ËAËÎÙ?¯¸r{+[¾ÄújyêÊE~÷y×}—šß5—8àõ¥³S0*g©‘ꪑ^Ý£SRx3Òâao¤:azö§¶qsE"º½@ãŒÊã¡(sÄöËžìþLgÕï{íSyáGÀLNZÌ+(PG#`‹â¶§†½ØH Tîø~þ: ‡À•Ÿv7¼ÿiW×§¯>ÿìë Ýñ¸xvЯ‘Ö ï<ñsòø£ÿ2I®ÿû>J^x«…zËSËÎiùÁçoP>Ö*5†zá¤×ÞÖ·^ üÏï(j|ç>úºeûÕ¹¹¬\½,ë–=µý.~¦~‚°ã»ä:ì Ô n¢Þçb00¬j<ì¢MtBjÅáî»–…á ßÂЖƒ|ƒÐAÉ®O»'27vî”Öƒ1?¾ÿµO ærÇöƃ3WÌîÚ·? =Ý­­ù²-]³T·ýý²wófÍšÔrœß­¡Ú¤É%tLÃpP¯„¹%$æÅ0ßÿ»3lff}ÉrZŽX¸¬2˜¯'•ÍzãH3õ›_¾uÖËWØO6ÄC×ioKí‹oÌ*‹¸ MºaGOO'-Ÿµú‰w(9¿që¡+ø™[ùŸ?µH­Û¯Z*ýéé¼÷;ïÜ5ëÈ/y“Ë^¼*ÐÕ©•Òl€‹Â ä æÔ´Y#FŽàeÖ­°»½WE7*œþˆ‚Ãâÿ0ë× ×gà/AÂzÁçO`ªr¯§«K=Ã-:“W2¹ ­5iù˜4Œ~°àŠ…³ò¸-¤e? ¿?ººº“Ý^-6R2qJë1:nÇuUœ_ø,lÜÍ&ñPyƒÆ+W ”EËäªMçÿâ¶?É‘t£ãˆât¬N›©p럖çæAùÞcäàQj×ÂG~v)SlÊ´…4Ö\ûQÎзG’ǾǛ̾õ7·˜BìTlá#z¾ìáåÀ#̺þÍYxåüÉ ‡K/¿•Bcü* –0ÐW"a=¾ßÛa•ÎãËð;ˆ[UD :S?¼Ñ$?4Ú8avE7܉ïž\Bïl”¾å Ãyœ"iRé¬7^ª…øƒz´4\8m28V ¿_yÃoë¯ziö¯Á™ãa¾Çi¨ßò§å³_ºªþlw÷Ùîú‡à˜ó°‹¿T,|¸êËå··1ì 䱚ˆrÔ éÇœ ÊöJ4ú$–˜Ë:8à]­Ç•É=Ç[»ò øW;äªFëpϽëÓÏÙvz†þ`Oª#oÖwç’}¹>ü˜xÃ#XÊ¡ýï|û¿êo ®þs›\Í`DÂ|{#Pâ]¨zò·ý™CÈ›22K¥/üîzú`ï§U4{¡FåBÖ…‡òçŽÑ’½ñhkÅW¾f*Ã%„°úÏþ¯|êäHUÐÞ„ÃJD_È>8ù†¿víº“~M{ÐdX…¡Ii|^Xùï*ùçߟ{å>/Í hïPŒï£íékn'?à…ÏëKÞfxÖýoŸ£÷¢Û^ùë]KË‹Gˆ’ ™¡0‰lgÞ›øúȉsÿúðÛOßìv…,ÅB{S{|ÕK „~êÔ«-#•ö¸à;Úø}ž¨»Ð¡½IÄhQU`|Ý®¾ßþå“c§{®¿´ì¢©Qö«J.Ûé„Iú¢½góîÃS'Ú°jqŸãl° hor h˜¶ƒŽ¯B‡>pͤ¾,@yÜC• ßï³Zm¼ôé³oJ¥=E8ï¼ûo¾Üj±9zN_«ho²sAØS´¿ñÕIè) š€ÐP£`m}l¶,øÑ ¯iÐ9žYê,Ö-›ÍÑïQZ`g ¿ô9ÏÂïÎà^ÐÞÔ_JèÍïç™B.æ^…( @DÀTBÇY.¦à‰BD~Ї PD@LA ÝQ"€ Ãúðj€ ˆ€)düÇYÅ99e#lÅÙÑEòDI}Ö“ÛiJß(@DÀ(Žr®•˜åBƾ@²ø¢2º-QÑ!íµL3¯Gó$iᤥG˜G¦åÐ’J£(-ƒ¨e'Y­y8µ¨ -•´ÕÑ¢¼ø×´CË£±3-j%owAÐPMë(kÁJ æT2¹ hn¥Y×aöª«K E¿'RJîEo2l(@Gàÿj:8™bÓ‰;IEND®B`‚nð¯'6ûpl…;ñP²8šÓM;óÿ‰PNG  IHDRa“а?&sRGB®Îé pHYsÄÄ•+'CIDATx^í} xTE¶ÝÛÝY !¬a $3n|8ìÉ5*‚è8êcžÈ8"²è8ó€ÿŸ>À1(u!„5Ž‘Žô¹Ì8* tBLÒI¯w{§ªnw:k§—¥O}Eè[·Öß­úÝsN-WX³f ñqk¾¼E  IÑ4Ø è7£bèïh1ˆ¬À_Á`ÐÈ*E"¢zr‘á_(ÈèZD@p#8~Ð|»üVÄwñ+€1ЏeÅÆ§[$QFFdê%6ºM!FÙH$¸Î­ÉÚ囕à刵_ͦñâc{ĈÑ14Z,pB ‰ƒLbH,«ƒå´Ð’S½d¹eZa°µ¥4êEš"ÓêýÛR&©ñ+ã”j©µ*îïŽkÝšœðH:GAIqñ²I1Å$ôˆ¢Ãi"šÉÀ> @x\r …@.= ÍsÇ&¿”žÀ˜ÆcS”‰ê¶É¥ z|—'a¾ä]çí¤âÔšë¨@A9bÍ'7‘Ädbp ½“ Hó°“h2 ¢‘&£ÉèÒ4ƒF…£¨Áïh’ä!”MASü‘©îÕM{ºV£@I‹¦cPê¥wÁ¡’&$¢(ªdÔ`LJbR@·LÌŒ@G©çݶ£H4#±;u‘) N©ª&îØ5Ó·{8"Î@{×W £(Dà ` Nù¢§©² ûˆJCÕ5"€\T¦B¨šJ4A¦$«**\Ò@0r7}°pA‘7¨…‚GË£K"uNb)[sÿa\ý IL„“ 'Ž6ÑŒ&hzÆú-‘ÝâŽWˆ9AU5à*ÐùGiÔ?FÃMÍ6ÀŠfÔ{¦D­þMïA}Z|¯7›óï7X^¿R¦9N²Ó8§G€KŒ⣴è8ú» Gx³«' Æ ®)ª ŠÁèx¥9u¡CöCÀkØ+œ T|PïËŠÞ<ÛV³ãEµºRµÛ4—S“%MrÓ¹™ÎjhLÒ×ÜÌ*‰Û);u=û {bëÊü„WvüH‰8íD¶‘ª: ‹ôÜ„#LÔâ‘#5xB<ÔÀkæ‰ÒH°i?€ºzÎ^‘¯«7¤êø´X/G(`JPAqP÷\VùôJCÿA‚Á¨ÖÕ(µÕšÛEÜnÍ|0‚€U üÐd7ÜÒœvÙV[]SsÖ”pÅ럾។#ªD¬$?}/’:¦>È¢Àìœq#¤~#”©ŽØÁu1¬ kÔ$%WÇö­ŠîS¥%TšzW‘¤*2PÕL?SÁͳRìÀ è*Dè[E í=c"-!ò;ðŒ5Ax#*Ö*!*ZˆŠ‚¹PÁhŒ01i9BéÊ&A4f$ `e$ð—Ŧºsgõ‹¢™¸Ùt&sõªHCíµö muu6G]r9œv›Õjû¹ºÎns8¶Ì îZÛŒ+†*U7Xqœnf¥”ŠÞ/Øï ¤ÀÆ/ýáq0µAh¶ZµÎªÚjAFÐ\ÍéÔœÍa×lu*,°V+5?+u5G³×Ò \À…Y£˜Ü &òL’ü.8˜ôìAâ£HTÌ¿ž‘/ÔÒ LFà&sýM/¨l"ˆ‚¢jvCüÿ|Tóù~;‰KÑk‡ZFˆ“#!ò;›Ðg •ö;·ìVSúå #h[ÿȹfʹ?ÜI$·*¹5ÙE$‰þUÕ!o}VW´«ê•u0¨ë$ùØÅš9Ë…k¿#v;©²8MÎ}#AE$%‘£Ib‰5i;‡ÒdV3U7Ý»½"o×95Ö‡#ÒNý¿©>‘Ëöþ”öFƒUVÙóú0“¼öèO N’G´ájÇòÛ«ž šÜëÜ¡€[8®Ík;r¾3‰ŽøqÑ,SJII—»ßªçyfgΑ\Ô !¹Sþö%¯¸õ— ÔIê±Ê†a<Éì”v¢‰‰ÍhpãšNLxC@¡Â ìÖ€¿¢`€Ð!xÒKÞ«ñ×q?æw¯Äœ©iÒØZ¡twŒC¯žXò H60ö´ ÙmÇåRÅl®b¼ÎèÚèbè[G Uô5É¥‚‘Ò\ ô·<î ÷ÐuÚÀ#Š\O9£ D Fb° y†¹ÂY‹Ô6ÑpA¤â½"ðQrxªÔ@IÞ Ë]la0€9„oýòDQÓoµO™Ï½s°®Õ4mÑSOžºr£¸Ø›¯ñå;ñßßv²±×¸b>unÇ‚Y#þà âë®L‚)O•ÍzÂìæ¹¥·ñˆƒ·Á:Ë!oÎ/+f D3Ð}ÛÓP™-=ŽéCú“¸8Ò+ŠÄµ·²½bÔúЄ&ÔgÑk'^~ÏNz ƒPº<,«é1§žè!ä½:êÕLçà^>±[6&Ý›ì ¨ÞšûöÑU ×_!®å·ÛGùÞý—UxÒg)yzü©'ãRëó’_{´ ôXÅaÞÑ3ó_ö×ÅÑœy*ŸÈÅ/]ÈÚG|CXÞä n•í­b:Q£<=™óÒÿe]Nzn.£u¶Rýȧ8O¾-õDk^ aE(€;ØÓ [2À4°wÈéySLRè/0'Ê0ß fiÐæß²ÏÌ ‚M… ¢*ê$r¬²nöÿžÆ—Øw[«áGrúSØ+ÚƒJ°õ¶„+¾¼ÔHŽhÔ0Ø–»Âõµ•TŒ€eÞlCǰÿúãàmGÒ–áLÎù°©[1’j7çUòM¬›þRõÚiøß"–ücá²st!Wù§7'¯‹¿ycü& ðä´\¯þ²²Äx×RôprµCXùQì+ß+›‚Ïb“i)™÷÷+žÐròá”zxä:–:3©x\.TÕçùôÒ›¾ó­Ø‹ {ê¼ÏÔ\Ù¿M¸7Ù½õÚÒ•yÿÒ^Ôüwî^4~ÑúG4¼¯OC¼-b?€àÑ#!"@¢‰1J÷:ãÀ%5%€B䪀‡×9݃)’A/zyiÐ;ßу_(M¨pl­P$Ae’ˆÀG¸!«x6>µ8ÂwmÕË0®üoÜ4? &îé~28ñÂ#V¨#çÙ§/µÍ¸Ë™`$©ÆTBʾ?¯\~­– ¶a”:>ËjÄt²Ÿ"¡Ö _ï¹ñi¸Èm5©Ömždð¯h) #ƃ /”~Ö—ôïëÍÐP뱘6L>6"ÇÏÏ_å8¦½ŸÉkTyA¯†'O)¡aÅê·Ç ¿Ü\Ûܘ_KHêú‚$í™øé©ãi“Cì‘™œ€a ½?`Æ€{:~Yè G¸èJ#@›ÐTMÓnÚû÷¹û¦òò¾¤K¨€&ˆ ì ÈnÑ+G€b‹!À‰Ñ,w}[9¬¿æ¸Á‚-}Ø4þ48ÎBÔØ°áìªhV;QÖàžŠ0hF }é%ÈÞ¼,µâ±á·—/DøíMKãëUÒóô½ÔË‚Ec,É¡sÀ —Oè§$ÂNXO†zq“ª¾¬Üš«Ï¿ÐY˜_§c ùzòlT1ß:G‹kšƒáÃ=†¨¬—©J•õÒ¥¦†Í©‡(}+°wú¶"PÏðÆ¥ãŠÍn²9NX|­*ŸÓ–:·p:Ü<ïµtàÅõðîI–oƒ2B³Y° rD½”ÀÞÛÔE•·gÂãà k‰É¸±¶© @àUú¢öækÔˆîÉRLÓÛ¬èajÀð2 tâ¼Î.îMËâûæiÚr¿)•\|þQˆ]?Ãã~®ZHŸé9Ä`7fÿÚ”I\[Ÿù®¥äæAgé3ÿ¡‰êÔöûÿxøßœš½Â6f§Jžg£ŠùÖùcV\“Fï[%¥Þó¾¥—ò’¾6”ÑV7õT{D„‚œÕPïŸÒÈUZد¥Ë t ܘÏ;ö ¯§³›t‚S»ðÛ_òÀþùgAÑ9Ap]Þß°ˆ;&1è’\v„$äF4‰=:º¿åuYr²õ¦5¯˜¥ªŸ‡ßEÇÐ ±ÙPmñÔŸ„TÏ8ƒÿË>”ÒwB~*~uÈ´úp˜×ر(îžÍO›îpleòágn¹Yš¨j÷°)ÙóÊ«”=‘µa†S« >y:WŒ~ê…ª1î[nùÇ«ÆÌ’‚ËGØ9œGׯYµßƒ €ºâ§_™¹ž( îý~]³Éo–ê#k¯­:ðà߉2yB3y6¨˜:wO›æp×ÄcÞÚž«¸éÊmæ± \i½} ÁŸmB@ó=ޤM)"0_d ŒÀ bW0ÅzÅÛ1§²’ú‹ñ=„¨˜¤ßþ!nêM?Þ7ƒÍy€Zv· ;Apè÷Öqç‡oXŸ],;%«].­QrŽ*B6œ.ã"ØÌu’œÿB þ%Cz‘^±$Á@¢‚ìàTíÝæ*/Àîo L º¦@µ*Ïñ¶¤Ž —pž…íÓ˜B³WÀ§·~y¿{x•ùûo¸  P²8ã+cÌ/~ë¾5Z©ž/ˆ;xˆæ“”åΚÈPS„S˜OÍø£.iš'>ËÓ~»ãªÞâÍ„¦ô'縓ÓÞY}Üñaky²Š]nh¶ÎÞ|ðmHváPš ñP’G\Z/\løöfÔÉ)ý ‰IBl8™v²Å `›¤ ¥s„ 8‚nw;5·[v¹­v¥´V›]ªRŽÐ$b…YþÈé¯`}Ä×$­ç!&,  8pŽ0 à ,F^‚ðÀÏ—Š+^¤ÏâYçåˆQoçךgˆÉ-ã#—dêa íuCé¯ =zб GDÃH†mVt^“ªtš&%‰4Á8vpHnÙ-Õ8ÔÒ:rÛšpK‘dR#÷÷¤â›Æó "üì ºí”ÞT:‰Ú´åì„} Ï-Ÿ¥‚Q—ã#·l‚1ˆø€§dÓDÜ4Š®UÅ;Ý‹H!!  ëžMâ|^BSî™$¿¼ÐsBmÛ²?[©¬Ýn{Ý,HN8&ŠÙ#@×hÀ¢Vmy¾¢ÁÖJ°Cµ Qm¢~Õ” 898ö–.ç¤s³m«TDÇBŽhýñã™Àþ†Œ2þÑ<0  =J^ÒÜ>¯p¸¤<ó¾»,døB—F\úˆÃY ·GÔsÜîEˆõ" u4ºjb“‘TéÐKШ ↗5ø Y>®Ñ¥¿fâ}D y\Èþº]Ãd Rs@Áhì½ “ް€.½ï& ¡T†3LM‚]ø‚Ï¥Â:K%®9ŽpVQF ÿ¼š¯h½ªÁÑs«äL"µ21žy !zܱÄñ}­ªNonËñSm©9ÆA.@ß9"9û5±Vøß»ÕåÛŠ @@ލ|±~õ4dõ§g¶ë?X ¸åSa©Ð!ˆ@'D€~þž+Úf9âN\Q@æ­þ´¾5)wn¹xþ(õùú0±.ç?Ÿ»šðA+ùbõ¸“Ëx̯² –£žÒ {V h@8‚IóסcÞã¼ÒAîVò}9 ÏÊž–BHJz–÷Ê­9\Ž·Êl>Y)sß=¿ånˆŒ@:1ð­¾@\ÊܧgnÙïQÆæ|Å¥ƒuY­g“µîk.GP¿bR eb\Dè@Ñ`Ÿ0LŽ ¯ÿ;ï#­2ó*sa…ýðAΖ]ÊÐ óª->J K ´GtÀ£Ç"€˜#¿6>-#eî²Ñ«®bÄÃÇG¶*GŒ_ûÕº#¹Üº9ª/Λôˆ02"Сà¾Ï… G:6ìû4ºïóBÛç>;¨)X,"€t ÿ@gºFÇÔKEA9¢C`ÇB.ƒrD—yTXQD CÀó,;v,èxÚxV]g䈎k€D<ôÌ[<Ï2⻀øG@d;»Ð!ˆ"ÐÐf‰=@ZC9û"€ G`@`¶Ü"€  Йu ìˆ"€ºöD”#‚EÓ!‘¬À‘ñ¨±•ˆ@P l˜ˆ#"æQcC @Ž 6L„D °ïóhÏ ý­ªNo–"¦ÕØPD 5U‘œ.E•µK²zHv»Úïy£¢yæs¢`0ÅDDƒßûÞf$eá<ËNÊ›öZü¶#pZ? \(uÝ'>N»]ÅÍ{¾[rüø™špaرùôOŠË”¾öî«¡FS”ßÊtŽX3ÿz¿ÍÀ~O7DÀ]ñ‰‡ÝVûÒ'ŽŸs/š3iÚ•éá°có9RvЙ½dÎØ€ä°GàÜgÇ>;,=~¬R¾µ¨_–ºrã¿ïkçGÿ´}ø•£ðK;ø÷?wîý_ûîOm'~to“¨ A<;qêi nt7zX¿r'ì(9f4˜Bm–Á…‘; V¡WœÐ«§ |ï^Ô÷I4õMŒíÝ3:©gxOìu¢"xŽRc꩚¦2§t¯(ʵ#@»DäˆîÅX|{"àrÊ.™À˜UA‘x·,HŠ&Éš"Aˆ (DV˜‰Î¼€ ¶=ÈA¡¥pvèNq»œn·“"à²I”#Ú³GcÞáFÀ-©à]Š /0O¢¹$b—ð.  •Žp‘„º¡¹ÈÞ&P²SdE–ƒx Ÿ#Š—óIayqíÃ$ˆ@Ùk7ÞøZYV ´¢=D˜²­3gn-óU[š†´«R£AC:˜#Îl¿#üßû-^žEÌôUqjË¡,d‰€:=ý2»þæÛÞ:PÒNY B-€€° ©`. Ìîô’9•Á¿°¼ü@ Ô[òf%ÄÍÚVÞLBªo†MC-.ˆø?Û°@ÉJ­ø¬€Ì_D ?©¸­$xï©GnΤ÷S§ÏÍ>t¢ë¾” JÛòZ=®0ç«£σ#ãx7áU…·!a< =±a=, _ë)5mÓæ¿ªD`Ÿ© UÑàã9`g1ï"K–’ü}–f’6Í0˜"®Sƒmë; b…#*ö’Yw]?ú@Á~Owôyõ½c'¥ŽúÛ9•ÐÏïÖ«ŸzÙØÂ£È<ã‘i)<úøµ«Ç{Ðæ’Çü‹ÕFé"†÷Aø}"TƒX¾üF®þÁE½¨_Ѐ†:FýPu0@€I –ëþúWhüuJZ”IU²yózyÑüàCql‘e`#Ò²o7Éý]ö˜wí+×SZ¶åÄ'ƃ½¸ˆçÖ(.s¶å=qV•øÞŸ“Ljƒ7‡&Ÿ³ ]V¿ ˜3\qæ“=$gÊàI×Í7ïùŒ ÿ/V[•‘ÏÞc_­ËÒCN.£¯5É.XÎX]»!pý[s€Ö~á)žH#üǯýjyèÿ$g¶/¡cËÝ:§ø«Sá¡Q/jšù‘§²þã¯Ôîzïz—5]ð|±'—âåiGWò§æî\ ÅŸW>ÊóêiJ /n¢Á-\¼Â_íÛz?ÀáÑË÷å“Ù™C&ß°¸(ßÌøþÇ2–d¼_U[[U{xã J9MC)ZRzÄùËdz÷øÃ™ÆÏÉ_ò†ÅòÆ’Eï³÷3Ž—5º ¼Šmm¼O¼0qU4²§A›˜¹ÈÌÔŠò#YëLô) BëµàÇ­2›O–ÃÍ”¹ïžo[×,;q({TjMŒÔ$“V3:¾®˜LÑþO?s,gÀô‚Yku‚hËÉž;žDê¨lï²W^ÈzŠxCxpä©,nwN[Pš0¨›Ø\ä#ëtÀiÂKš Áì'“BtjûåæÝdVÖPL¹~IQ¹\#å'Ìxî÷S|òij‘7Ü%›nJHJ?fIQÑ1Ëд òçýD›òÄÚ).6—ƒIx8 ³yÕUtüÏ{ž0u£â¤¹éÊZ÷5—#¨_1© OðæGžz¯˜u¿w޽ 9¢ ˜5Œ2qØ#½P|‚›Ã?%udÀy6›"mçÜS\^Ø’í'{ fnCfåmRÑto…GYéÍlÙÃ+¢= Á!«!Ã’ú’¶˜w-“Ð;!á–äãÝ@ µž¥oÆÍ„ÌxöµÒªûµ“µ‰ëèïë i¶ÿ]Òø2Ð:vG|²çÀ"®V€Ïgê†W ð>©”¡æU[>møäüi¿™Ì„½ƒÒŒ5‡Ô»Bí1].ým^-ƒÊtéC›ÅTÂ\RF͇Vl!jŠ+8¡{ïRC’掊Slÿ€Ç¯x„*‹ÿ°Ò&ð²À¼JBŸÚ –Ï|…9ß¼doeM ó{,Ê/.OIË ͧÜ\P#´iå :ÝAË¢w—½RâSnù›«¶UhÚäÇkþ½iúá“% /YÎù àQ@|Ô Ư͹lœG³ U£Úï‘\}6N·bú¯ræ†p¼ü—Óíbä|?™'A³+ÌÙ07¥üÁf9äƒ@ÇÖz*kíRï]9vAS)ë#Gdn ×ú*—FÖÌ@Kƒ‰Of³dø‚N`hË™4a2 àašHh$SèŻɳ÷yÕŠ)×-ù¸À\1éñ½‹ÇöILì³ôxÆtÚÚ¦!^Ö¤Ç={x&Oýœ7+RÒÈâ+Ùå•»g?=oJÃË”@j¨(ää’|7üÓõ}?ʼÈMëms]t—aÛÎXÁík ¢ä‰ì:àHJˆ2òÓ|^pNÆà@‚e ¤ƒâ¾åÚøàð}ŸCçý­æ=*¡„îÞaNKFd –b;ßùrõže‰.ÊnÝy÷†‡GŽh¶°ƒk="H³„¿ÊãýˆFäð0te‰p/Á¢ ¼Kª`⓯­ Í1ù•I$ÝÀÓ¦"ÜHجp;r„nWo³y2´Š©#¶SR€M\ÞV €hnª!ðÂe¾3TŽ%ÝÁY’»®‡f¸Ý.ðÐÆ†#"¢Ïb#/-W¦‰äÔ$‡"¹¼^sÃ¥[à^q·¨H£‡ƒ®Œ"8µé»N;êjlµU¶Új{]Wö´þ5[-3í !sIì?«N¢ý^ñK"8};ˆZvÑ'>.§cí[ßœþ©ö7SÒ®IO ®N•„vµÎÕ¾øÁ±ô”ÞÞè°Uú­¡ïYu¥='ôëlgÞvÝÓýBöAœ×Dºî E‘ ãs»¿}g_iw:Ïòöi#Ÿ¼ÿzƒh´Õþä·tvŽðÛŒ€´0ƒ ‡51cM X…¬j¢Áÿ ´åè[U¼çqÁ8jëuØ+Ùÿ!]}o3‘Sˆž‹Ý删Á„ˆ"¼ÑŽóa©(f‚ ‹rDÇâ¥#˜€ " èû4PŽ9ŒDõóh³Œ¬'rkéw.œ.E•Cÿ’E[ê"»]m‰\cT4OÈ¿8( SL´AäŸÓ]¤µ—y{l–ÈÁu*LEœv»(Š›÷}·äxw:<:wRúÚ»¯†l458Š6ÒÚ‹ƒÙHk/G9"’ÇxHmBcê©ôk³Ô)ÝÀ+ŠríÈÐ.ø¾F#t"­½Þæ#G„4N"91Øö ù ˜òà%ˆnà·Ëév;¹ñ²ÑôöÖsD`ŸŽä1mon ;x›@ÉN‘øúxË.²Ú‹{ÃqÔ‡Ž€G‚èŠm‹ ñËI±*Û:sæÖ² =íE{Dècs€Õxá÷åy¹qq ÜÏʳÐ"Ê·Íšµ­œ—Uò'¬$üåzÚÒÊc ¡PVmÝ?V&ÜxUC¨MÛšƒs±ñdlç¡ þÉ K^î¨]9ßÛjlÔïóÀØYyål¥+˲mVöᾯybJø‹æ9¶ G…B£â²I¡Þ¨šBíÃ’ sjœL‡%„Üšo/ýN5E Í2”áié¨ ½6ìÞû_z€<¿ñ?SôÐÉOÙHví³ð‚,ÛrFïÎ=ò÷yžÛ! –’¶öXƒmoù¾]äù#™ì)sòô·%oN||"ósò …кœmyñD”˜Ûÿ˜‡…@ß$aÀßO7FŽÀqᢖ“‡gädúR@JZFÑñ2úv/X’Q0ûðÎö$?rDíµ˜ó‹2ÒšðZʼµµUÔ¿Ÿ±è¥ýt¼-)½‡,~îÞ°håy³gjï³Úªu“÷?–qüažäpNþˆÀ4М]#¤‚‰P5á¶(Ò}»ˆÌÞ<úÁ¥oèV‰v,ºì3†kZáò7r’Àß´‰9IÛ5ã¹ßOa˜ >ƒZaÌ»‰'„^ž–7rÇìž}¨Òj­´z¡‘"ÃåƒFR™ñì!ˆ¯ûµ °„,F´bÁs±ƒ˜Èè¢áö“ïÛD\úf¹žóUc—i |С@߯)ÿù̦Ã9¹Û*Â]n}CZåˆàÚË5v5LÅðj—¬ZM'6¦Ó†Áe¹¹ H×hiÞÞ”ÌmÙ+%žB©ÚåséÚS@]u»"Ðe!°8)óÞ=4»`lbŸDêsÈÞ‹»æ ñ´²2oWÁ˜ÅWÎ#<’vÓê…_× Útx¦Þ¨>3ÉuSRî~hÌ2ÞÌ¥Ç3¦×—ÉëÃÝyÏ={x&‡¢ÏŸ÷OzüPýeâœ7+ôh!Ü·ÖzˆsUiOvv>žÑ®#©ûeû ‡Îû[Í{RkŸù®ÑzØx"K°Û9øÎ—«÷<(KtQ¶×EZ{ûÎ5 =?BÔÐÑ5:p'­%SÏÕv{Ÿ‡øz 09mŠªh¸æFµ`ì€sŸtìu•jÉ’îà‡,É]×C3Ünxhcˆæ9"ÒÚK¡ˆ¾º4ñW¨kt•!Ù‰êé°Õ]³tÏß›yYrUSaP5Ý+Ù‰ªë¯*L†P€ŽŸ­þ¯g?9±ý~—Óê›(ÒÚKÏ¡:uØ/ Gøë;x¿\NÇÚ·¾9ýSío¦¤]“žÔÕq¢SšöùÚ?8–žÒ{öJßFEZ{ë9m–]½swTýE6ŒÏíþö}¥Ýé<ËÛ§|òþë ¢ÑVû“/¶‘Ö^¯Íç5:jˆuùráøh8¬ÉhŒ1£èQÒ-ªðái©hhpmx2õä¢*nÏOö1Þá°W*²7Ù0#¬½Èáíc˜"ÐݨŸûìn-Ãö ˆ@¸`+¹pî3\pb>ˆ@÷D9¢{>Wl".#Â…$æƒtO2ðë˜ä¸¸´ÆäXص¡¹Zj¨Ë¥±{"­B/¶ ¤ºœzûEôßEbøz2º>;X”ZÚõT†A%jñŒVrkò …úæ·²I©•T-ØÊ®ÏÜ›C>¨½4A ×JZ«y%ˆÊñžÙ’ "Ãðæú>ˆæS†½?SA@¾‡¬˜vÖ¤ïËD« &Lƒ €Àÿ"±¸$©_éIEND®B`‚nðå"òópjÑæD³b5x÷ÀôSËÿ‰PNG  IHDR¶T¡ÈýsRGB®Îé pHYsÄÄ•+"yIDATx^í tÕýÇïÌîæB$@ „GD >9( Hþ EEB¬UŠ©EQ í´šÿ´ø?hEÁ*F¤´@x¨¤yù—Ri òHH„˜d“}ïÌü÷Þ™ÙÍæ±›d³›ÍþîÂìì{ïïsg¾û»¹#,]º”x…¥ÿxX p@qÅÒÃAý2&ŽîLjÑ@Üü ERˆ[&¢HDBd-7|À´â0„š€à uŽ˜U(ï«ö¥zTüTM qºI “'§HbŒôqÓÍÅÄͤbd‘Ä¥ÇÕ¥Ù[½“t‰Ì?:•ÆÏ($Æ'ʼn±q4Z¯tPBËÀe¥qÊ/0‰„/$Æ(± t¿DêÉy´’É"W$YP }ÍÔðBs寀h'zg¤À8îRçQ~&;ö­©–šMïÊÕ•²Õ¢8ìŠÛ¥¸œt”ÙMdzÖÌUœ¬ÚãN»Ûn«ëҽ߫/nK~ÓwDp»•¸-¤ªN 7’. $ÒD{A5/ÒÇFE8¢)#/™ÅÇ­m':˜l£ôFò %ÄJÚ óÒ%R‚nDZÍòg7V¾þ¢¡GoÁ`”ëj¤ÚjÅé N§ÂƼ™>ÂlEì(n'|¥Ø­nKmuMÍSò­}ñãR‰¬¶±’|J$u¬íì6Ä“0ÈÕ}”ÔߟQ×Ӝܫ6¹gMjzu|ZUl·*%¹ÒtCI­"½dÅôuÙ#@¹>‚ºÓÞÜBN ¼W*æŽBL¯ ‹ 5à<2}Ôó—ÌUBL¬“€£I0ÂŒx‘ŠH't ¢ˆ0m€YÑhª»z¹w÷šˆ“ÍãaÁ3ô,‹ô¨µÖzíº¥®Îb«³º6»Õb6[~¨®³Zlv›eü dg­eâ­}¥ª“x±]jd†$äŠ[X„øÅì@ PMdòEw´àÁ¤ýŠ¥V®3Ë–Zð‡M±Û»M±YK SÍÕRÍR] ÄQ¬µ4¸–04m`*1Ìk”Sx¢IßLze.I$1†ÄÄ}³Ò}­–ÎÜW¾dA¡ûôõLQdÅjHüã5_°’„LµtØÄãå‚Y#h#W6­.”2ëdÜÑïêÂGLY7‡¨Ø,Iÿ•wçØ«¿yœ¸œ²Ë©¸Äå¢e¹ÏƯêöl­zhZË}æzÍ´CeÂ]ljÕJê@+/‘«ÿHï=$3…cIJ‰7)[úÒ`îy#ôMOo(_·õªï%‘’/üoR¯Èw|?`}½Éå“fõøÛdòáKßÏ9Oþû¥Þ+î°-z´ê‘S»‘XæÈ¡™%ŧ'Â[oÞSh4‰ünÞSæ³qÎîyoó^yv t>—ƒvAºœ™þ?^þÈ-àÖ¹ä3•õ%ÒxžõERÕ%&6–Í;>©ÓØpHZ?¾(ueá mø+`â%¸œ‚v.)]÷Ab¯e|ö‹÷ã.×4X+”l³©Å÷ ~-H²*yRxY7–{c+çeÆ€(¸p =f/>Ååa|ÆRèªxéI·÷»ŸÑ‡AF%·Gs†À޹Áà¦r{²P¤ý’õƒ‘ô ƒ^-|&ŸZ‘@éï¦Áíè$KƒºBùjZ9ëëØÙ|³g¨Mú†ýáµ+1·mb ÿÐà¼ÿõŸ&=¾ó*3ê@á#ÀEÙ;ÔŸ s}d6ݦõ\]0ƒGÌ(ØO×ôùäkþ±|Ê "A蕤¾=ª°-°†vŸ$!t!qFå“^ly ÚóØ@%ë•gÞ‡çÞû«•$õƒ£tZ$ *eÅ]x5IX÷ÁÆÛ3ºzÅ6®]•útº~ º ÷“ÓyÏ.¿Ž8=jâýí7fá5¯ç'³/¼–Ðß“–ûת ‘³7‹6uÿõÃÞ 4e~–Wä}k®eï%ÞGXúéõ¾º¸£Šuø¤©%ÎsÿƼˆtYRNËl¦^Ùi)x[ªE«‡ ? $< €<À*>ð6ðwô¹4k¬©g&]ÓFRÜ0Ѻ ]½ß*ôÎøò4ðÙ A”EC‹œ©¬›úW„‘%Voª•‰ð¹tVJ¢þ$¬uk IÞ²ìãEúXbÃ2hê5Ô‰„gÙCÜý~þ Û¡AʦԵ™—)rÕ¨[<˜6½ZWÉ—-Zý»ª/Áÿ¥âþÝÏ.¼J篗~(}YâC«¿-eî)?æ«7Þ_Üo|ú5Ó‡™êqr‡Mxñ‹øÇ _üýªÄxˆ))ü*>æ2~n÷}£š>} U^9é•3ý'§îQ£ºÔž4__ðàq;ç¤V潦ÆR˜ôdòÓé΂Ǩ¥/®ûgñþ½&Q3D·¨ýv‚wáaJH B€ÇÇ6ºÐ{ ·„aÚ#,MÓÅ¡eM' Âó-Ê•¹žž¼+ýHP1QEWÜtm Ö•IL eÌ‘„©ã¦.õÚúêàe˜{ Ï~›`“ä–(MM“³×l‰³HVü„tRºá“wÌ7¹î'wï mtæŸÂÔtž œ•¬ötq,7ÝÈâðM-¡|ãÖñó–ï´—’®~Tgcê¼ÿàü]çˆmÜrùÁ±Ózö'–½ëþN>ñùθ}„Ü{ç¡¸ÚÆOà®X=²å\|÷ɸ|ÓtffÕ+ØàL½ÌÆ4’¾3àëÇÌþt漑ó–ïºù‹i^†èµÛüf↢‡‰%ÆuS% >ÒnDè‚”aLF–`gŽ®º#’ÞkvêÂÖûÓãt[ª’² SK.Af~¨À&E:!©D&OJá Ux"óÚhˆ%%>”úÂÕ2kêÇwºl¨$l2uÓôt Q7r죔÷¾`1ÃAMDiç¥.¨Ñ¹ U\á¸~.‹ï¦ií\Srýí— ¶gðÇßùµ\JºMÈ!«qÒOL㉣`åñ¦N/ú;4Ø»ÍþÕhyÜbëÜßžü×oÇMZlÖ[+’§éS0ï2ÿe× …›÷.ŒqõêóÒ®¥–ë˜á"µ:4íŽÁ D X›Ñ³±Ÿ(ª?¼ –¨P½Hhq÷Zµß×ß={?ÖCgö(מ¼…ì±í ´²E®¼¡ Þ<¹˜ Ã×t*¤@n,&é0œK ¹Û£ô#·ËÎæ9ú hûΔ]U? |‚¤ £bÓ€”ÞÆ ¯ý5™ÿ/îrem}¿ïƒ>÷zŽÃˆö¦y O½õºééžg^L?¹òá‡\£eå)6©Bz OÚ¥EVú.ä¼Ò´/¾ùïT s>üðîŒã÷&-d½e ®Œ0+¿„î?ö½þþäåDšóô©ežþËYù0ïàó!Ò=£I³^Áäé˼ÊÜ0…'FŸÑK{µüÁÛ>.>Ç1à/$¸ÛÙ(Þ+¥v6ã:²=üÑD¾à8ûsk QýIÜ…ì^†Ôbb’—úäoÆ=øÝ3Ùh7´©¡ÏÑ)¸íà6vßxÖ¾k½ùÜv—Ùê.©‘rNKÂ$XL×Al°~ÅyRqD ýþCút%]ãI²Ä·M€E|ù¨+]\’{‹°Ü™ FÔf2mÚÓo…Äž›J ËEÒ°~¥åpÜÎ"½uK¿ºe®s`7™œûË&ý¸ ô”&ͱ'VÆ­1ü0ÜùHX)W&:AÓIÍvfæäLáÂK& ý­êg ŠŸ¥iÈzÔvû ½&õDè¹c^±hòtAÏ‘•Ç™›K“ì&C£eÖSð"àmHG¾Ö°lm!Öm9Ï ½ Ø iÊŸbÎínHIâ“à%\°Þ›ÄÃ2t~¸ p‰t€DҵќvÅét;œf«TR«L-‘©D*.b†Ù}ß’KGa^ä12 —H!.z¡ÕÌ%Ò`!„eÏ™êú¨ÄŸ”ôá¯Ç°¶äoP‚.‘C>É©mišm<½¥Ùa|$€BI Þï“&”ÊG†’»S I]Äxð"cAÈ`e :¡‡¶éü˜C$PI&‘ðÔ¶ËévºjlrI™ñ­"<\G\nRã"ÎS¤üß¾#×à |­JºÐýVé졆f³WÉ‚‚j_yM©ŒB°6wáƒ:0‚ÒŠ4Ûxz+r ã)¡¼41/$Ј0‡QÚþ•dË ½k,¶*smÙ\m6WU›«j`EHsuumuu]ÙZc¶ÕÔ9«-®«»Æ&ÕØD¡}¦^õ¼HºnšÉÀI*ŽàHºÂ+‡6JÌ[Ù<4ô"ƒèBò,xãÜJì­¨•6žÞŠñ$€BCÀ·—ƒ9’ÏÜe{íÞs_ͬæ»Ë1&h ÃÔGz©´ÑµÀ%X_B%†ºéËmà£ì„ ”éýÆ­ÙžW”õþ.ÑãE–B_$mh§’®‰´/R{­¾~3‘X:ZŒG´™’î"­HOq¿÷¬ö2®À v¥RÊß`ù¨HpÙaQpÖ íz)Úa²ºö¶l6G’½>Ñ£5¥=“½!ÏxlÇ'À¾èCúÞé‘Høº+!æëà2 4Ð貉Í¡-n5…º™àlê¢É×C÷ >ƒ SC€%2µB§nˆ«1øðà?¬ ³m`â$|Ô½ÐP8B•”©ÌÉ!K>‰ž®‘“H{DúOÿÓ¸ñžv6ߣ«”k;áÀ…y˜Š…BO ùå^B_žèɱ/w{*©uãeÑbGœI™f¾Vué­@þh)@ÑK mšH®#ærÿËUD/$´ ¨'€õ—@H i(‘xu $€š$ƒ:@H >F7]”¯ $€@Ó^$²AH ¦ˆ }{!$€h„6´ñ²@H `C¯$€@Ë q·—tÕ½c>]³z} $€@Ð ¼0¹Áê^y¤M7’‹‰õº{ûé”Q=:¬D.}ÐÑ`‚H D9¥»ýKdéAb¹Ž}‘Q~© ùH 4G 2$R] « $Z‘!‘¡e‚¹!$€T(‘x) $€š$€‰@H íY¾eFÏ!il›±ñ2MŽ<¶¥¼ulÛrnërij@-'ïk(,±3çèéë°­z–I$$€@g%ÊÈÞ†xC{ð€Lcdþ’‘„\Þ°(¯¨(ïvp*ó—ƒ;¹!Ì凸w©ú›s6p'Ó÷ˆ×¹àÒoµ˜7Ú…@dT"ï® „/ÿˆffÆÌ˲³—«8½yv)Ê;{8˜‹Ç#KFœ_HÍÓ×N*\-ñ†G¼Î}<#2¹a©‘ˆ b€ëüŒYÂTï¾}´;Ò#”£ìesFs‡±¬˜01…m¸™çËñ›9}sÅÚ™ª‹ÐÑH$€::he³^È@½H՞ы¡/rÞ;ûhƒº©À\KÖkÉýJBéèx°|H –Hä Ýs¯0;«/§N¢¯KØwhQÞÚÃ^G3ñ9û"ñRDH £Ô‹Ì95‹ÏøIƒ¡íÓi³8súBÖA9£à¼—u#ó.+ÎU§¥ÑYA xËça@H tH°Úé.~¥xF[Qì5혱PH t$­ôÃC Ô‹ ¯u¨áå¹#¨%µÕƒ†#$^ ‘>_ÞrbîH ÐhͤŸÐ–sCH „—¾»&¼ü1w$€ÂC À3th‰ 9Ì ¨'@_ïÅß]óÀ€@ÞTeÄm¼,@M@‰Ä‹ $дDÂc+ˆ $€êP…½H¼0@ØÐÆk $ÐrèE¶œž@Ô€I?8ë'jj EH …Ћl!0ŒŽ@4@‰Œ¦ÚF[‘h!'ý´FGH ÐHö¯#¯:å[½£4 j#8&6ÿX~pòh:¬©À ·_Ma-«ÒfÉÅCÄr-$réìû7;jcú]h¾½ÉÀ͉5äv­)¬…@ªâø­]"±/2@¤ h$€«ŽGc­£ÍH H½ÈAa4$€¢‘Jd4Ö:ÚŒ@€P"…шFí ‘‡—§õ¢nùGHù–m)¶úN4r«Í@^«‘/Ó¢4_XSaª® i7­¯9k÷N˜ÊƒÙ KdùÆ9i¹¤°âôu¶’}‡2§oþtz&Â%#væå5²~èY&‘:$™Ÿª7Îõm³Iö¤{Gã½þz ²D~ùyãèâ1š]c–,£º$—7,Ê+*Ê»½çÀ¯å’Ã<Ò‘%ðk N&õt؆à<@ý™¿d$!Þuq™þª©>&ç_ï[V/ܵÑjk*øä“â‘%¹gÞX1=“ß;ôïò%šƒ©Þ8X í^ jA–ÈÂ"ýnô± cæŠeÙÙËŽUœÞüøÈ™óg¿ýÅãð¾·Ÿ{f&:™íYß÷?Wj𮋌ÌÇ×r—ÿú¶Á Ž÷·——Œ8¿{tRá"Öa‚¡ ÊŸU¼2¿ÞMQtfÐ ^G³ßÎ]~¨ €É{²D’쬾=~Þ;û ¦}Q0ï>ðköxÅZÔÊ@àµ4Θ%ìîºou=B©%£û‰¹äTY=,/+&L^a€óeXS-¥ßÒø‡—çœZöúãõ΃F7w#àÆ!g.@%áýÒR°­d‰Z´óË€<‘àÚì>|d÷;³ïÝÚ²ãy-"0z1ôEò_&O}Ô{*.Ën˜ süU7³ÂÓ…Ò¢œ1rÀ´&vÀ'`Äö&d‰œ³’,áiʯß(àn cf/+Î…ÅjÇ%ö­´[UÏÐ=Gð u7_¯ ÍC)?°³H/ƒê0öZ”·Ví5öö:±×¸]j«‘&¶O>Ð1Åë ï—v©F ²DBÇÖ±•gÔ¦YÏ!9d¼>tMƒ…¬SLw’9*'ûžœ±õ¡2;ªòÉ95K‡Àx½.ŒZx3Cƒ¿>;Xõ"=5•‘~É´™(|ò†v#°ûRô« Úè™—{ÁÆ9éq˜.‚óCÚ£ ÃJ?%]Fu7_«ºô–+¤YÃôÉUYÇüÕ7®\`¥ø]¹$ÀtZ k*@t-®)p‘×ýÝ)v«UÅ·vœÞ¼ÿìÙË5ÃÀ© ¹c²ògÞæM1ÞFE›½(‘ã’F+ÂFÀj©]ó·sg¯:çMsïmdNqñÅŠ¥»§ÇΟ6ÜÇ‹Œ6{u‰Ä¾È°Ýc˜q¤ÿñ¹ÜÑãnmíÎnî×ý¹ÜQ›öŸ1L k'Êì…)?tÖJd¤ß§XþðM„öõ¸[û+ŠÌ‚Ô 6I’îÜìHd´Ù«_U(‘á¹Á0×H'Ã`‚£ðêc'’Óaw:í|ÜÆ§‚¢Í^”ÈH¿C±ü‚@'ðu¨ÖKnÉín†l´ÙKÚ¾?âÂÃB È  ù¡•MmQÀ¿Ù‘z.Lž\p±Õ½ÍÛ˦saC;2nE,eG%wQð·²u¹ É|›²®”fQöñ”)—ñ¼ö¿Ç_Þü|5[šÝ†LY±ÕíåýAâÆ‹Ú†RÑs› (‘õÖÃrEàe—®Ë²5甥ÆB·Þ>e]› Îò*ýxʤ“yulð³æ)6 ¾•™‚Q “ÈNÕ¨šÊ®ý­LÉ÷4KRó#‘Š?Œ K‰ÂAÀ£\m¸EëŸz`ÍsäíU?ËTÞójñ*²uo)—ÈÒsnÞž[ü—YÚ×AËÖ“Ps[koÙÞ­äíâßÝ£årÏ«t¿tÝ´ÄĶM[‚u9¯{™I7™…/«q؈ã}ŠþËÑzMØKߣ“~ÂqSaž‰@ëo̦Î,=rbÎxoÌ0tÏÙ‹Ô·+œ?´pêÉ-í©~¼ÈVÚ[Z´mÏÐ d=sÖ–ÚÚ*º}>tÞšTîöÌ/ù1?ò›\_ª”­›:Yùœ©­ZvÏ—‡žý5?ådζù5³Û°¡Ý™nI´¥£hc/X §k}m{ÈÔ·n~~ÁzµG²­pÍdÝ}‘ökXà²õ¹É©É°=¸šŸ§vM|ó—cYÁú œH{`‹¶íýx¾˜¬~Ÿ2lþž=gJƒû";Úm…åé,Úæ¾4vvfÿ¡{¶A«S¥çŠ'ì .ÖćÇÏÊ?1uû°WÀájÇМ@¶.Û†FA:¥ës‡mŸz¢Òl®4ŸxѧϽC‘L|ãÄW·|h­·Ù‰ô7\#°‡l0 $Ð p‡{»ç™Õäù*SS>˜7|¡-oªÔ»ÊüÙÊÕ'sr?.v¾Cš•ÈÖÙËŒ¾áy±÷ç-¡CÚ¨a𱬨pÚd¦6Ò8ÜÞÌñ9ÊÂ÷÷k™Ò>¯z´¶ÕBÓö⤟VÜx ¨G –rËâdÎÚ|bjáð”n)tË!;®oÕGË’ê3kká°n› îà43/ø mjÔê““U£ºM&÷Íœù«a ¹™ ÎàÉ“—‡‡>³Þ|ãädŽ¢Ûÿóûž)ÓþT®FkáÜš»¦…¸ÛKº°—Äâbhxï#À ÀÊ7}gý¹æ¯/Á)¬=ñ6w»àùC{ÆãïUö¼ÛEŸDÔC´Ù›6ÝHJéz‘¢‚í숿¶Ñ€°`]sr»ysmtŽZx:5EV˜¡q]ˆ"{Gœ:¶» 3îÜ.5ÀŽÛåŽÜ Ìp:°!L —Èh³—¢ˆ½£$ånlhw‚»M)›¥îΟýùåÉ7¦'ÉŠ šÒpuœ¨m™1R<{¥úço|ynÃ\‡Ýìd´ÙK—Ô½pˆX¯¡D¶íʳ£•€ÃnËßøïKß×þtì€;³R#V”o¯Ö¾û·3Y™7¬xö›¥ÒÛ¨h³×#‘8\é7–?,$Ém0ßÜþŸO÷–t¦w×-WeŽ{!B»Ã½@í¢º¸”yþvWÎVgÇo„øÖ5³ÆÕñEkhr}N‚Ë!¦¤¤Ê€¡–”T—Uµ&¥§%p%–zš(,T’i2I=Ž>JGR K€:ÒÒI“]6÷ɤŽ"fr1Í­oÈn˜®Fx»;bS37í5-¬ú”ëÓ::æbªüÓç,#“™mÊè”î–q“Õ¢˜,L±Z¬»®›unŽZL:'*\måIy†>ÒI]eôÇÅ»ýp ï4G»1´xÇÑGõ7%(Ôz"+Uië8+­ªâÔ³“©ªæ´è$^N3³ªÔ­W¬b¨“Ë™ÛZ¤ñL‹‰éÖb3?-¢ïokeµuÌ‘ì*;çÓ3˸¢­²Ô··˜³‰„•$UžçÂÚÓ5—âò2\Õö£}Ù‚€@4Ñ{×t銋ÿàiªFùIš’޾ô>çÕEËGQe0šF²;Y“Užv¢°ï|Ê2‡3¥ž%¥‘­ü@è)/$ÕøÊ$¾’NH8EÓtuéHÂá"‚~Ò"¢Pˆ¾'Ðyôš¤“‘Ë©Ð+·VÒ¡KCËÚJ.ÕÓ% UÒ_Í=µHg ?Y}Jˆ)¹Œd%5AOLáÇÄÔ“b›ª kŠN½{‘…– }NÀ3hª£Pª§K·š´ÞœXpßÀaWvÛçî²ì?zæôoÞ»ä$Iu8™âd¶æjfµM ·™õÞIL­|´Öm™vH‘”θ5T–̤ƒ©Üç㹞~Jàë„Aõú_³,¥Ôv±â”ä>DÈuŒb€@ßà*„ÎPRQ1ã£6Ô* ‰JB-:U,VÅB+@­¤iº‰›’ŠÉÌL´¢ÉÌþŠ0&‹µéüÙaƒÄìQ‚ø«eÈú ËtèpÖ/¥&0z̉z÷CÎó‡HÅɵ*&]wrÖ„Dj³& .ÿâ«[n¸æƒ?ß`¶¾ÁN»Xê‘bû¹°¾Å‡ÜA@@ AH¯I%CR5UoTÍÊI˜xi¨ÖÔ 57èv»N–©“¼“Û¤†zý´DŠþªNPކ––c_}}Ï_¾T®ÿ‚'ÞÒšH/ϰóëBLÿºÖ~¡‘¯%#—ÄV8V¡¼|AWLŠªé-æÔÿþ¨þ/Ÿ6±´QS\· J {1=¿âëØkÈêÔ[›Óþ)/é»3Ïÿô^æth¤§.;s’€ÚiR}ÄæÏšv¼SûZé^“ÓuìbýÝ{ªºÓa;XV³$²Œ–L&®E{˜aû`c½Suñ–síÄtTÚ©gÒG{E<ýÞWcÞl÷˜TÎâÁšË^â«¥'ÙãO [ûÖ•ß«}6BÛ¡‹bEc™£‡nl•ÏFT{z¯Ú–é—ËçY³Æ0Zýiw ÊIöܲy4HÊœv>Têtdýþsy¾úžo’ÙäÔŽ]ê$¦–“î1S=‘YÅÔ“œí’¦¨°EÛ;ÏZRÊÐN'&š˜ÒɆUŒ¸&nÊVnüuêÐ"é¯ý÷×’ÎÖwJªQ9únR«QHÓÎOiìDJ1='¢è‹ÂtU°jYf8¸ºKàûœ@÷-¤;íõëí¼__óÄdÀa¯lçík*ýmSÒÜ tFá3Š´4U(¡)ÿUÅC÷â¸ýsŸª÷GRL÷–QFi<i •ÿæš].…™Í4j+7—jÓb¦½§eæémÃÚΕzö™s ß~[ü"$ßñ2ˆ¿0ýßß#L¤:Ì«ÌPˆ' ÕÜÛy=WD+¢4±(Š?t 5¼x=K:âw‘«ç]Mc¦Ü뤧Üx4Ó…žºÂ¨›?b0KIaýX=‰oÒ7RñÒNzÚ®HË_?ñ«?¶P7Ÿ/< USŠÊƤžz:MÙøë ¿žeÞß+´eËîÏôœ¨+ÎûÝ‘üek¾Kgì+¿×2ÁûÛ¿6(Ïxí.06õÔ3)£ÛÒr½þD- Ðʃ²·ûÍúkËëÃRxÊ2–WàòW/d¼ψ4<ÑÛ}uú½Z1Ñ!Mwâ2÷¿6¬dýÖ’èó27ð¡ ¯ìÜ)x×Ô¬6|;’Kéh{=ÚË„Ômûˆ3‹gZ‡dñý£hVÈEË¡h¨Ô9l}‰wáÎÞM6©X)¥˜4“¹ÉÉŽ]jºëÏç”iGùf~´Ëb#MÎÉÎì¥mûÒ¸Jóø´©J‰zïý×Á2íPÚÒİx¹aJýS\±ʨû÷Ö=WëoØ0Ž,W…Æa…’6­Ï;þwl¼$·\÷Ÿµ¯Ÿ¡ÿWšv~¸lÅyþ$VÕÞ;2‹Rïx1õ•<¢ôÂ\ö ¬Þi¹ÿëëYÆyöVeõGÉ KVÿ׋©ÉN’]VòYr&ÏeÖƒƒÊ§u}×h8íçÇFÏP>…Ö‹‰:¶¥ùÜ£·á]°W–r—ùkW)äü ýþLGñB^ÓÕÿ·bç'VúðÔ%œa¿\‘!D0²"…ç;àÏÊó){ÚŠOֻ쥴†^?÷`ÛXã¹…ß ó’”Τh&Z »ø>N4@Ž6-±’è 㔞€²ökßͧ[]n…âŸ3i´E*í hUµ‘( 1OÐ-|Ïuùš&~4n WE<5 ËýÞƒð=˜™%Áð†¸q¤¡Rf™h2JŒ‡ò½ðLlØ«¥ýöÖ|ï{®§šBbJ’¨NE‹$zŠX›ï ”S…Šé)\bɵV ò½ž…ä\±’ç;V‘YJËþåƒR”ÑøÅ-³m¾å>[º…¶Œfìôáõšë4À*¶ïãÎ챂IÄÝÙÑÀ+„õöî¯(MïFÑèYåày’Ùôk¦ R3h_Bw‚FvüõÞ©¬¦Ÿ—KÅyƪ¾öàû_x~ Hè·/˜w™¿àÙuNÁüÁvsBö¯øhFf«·µ¶¯ŽwÕBz,F]àû”€°jà#ˆ@›¤r鋟Ä(z~TS‡þòCI—ͦ/kkSJ¿![N*Œvt¢ÇLŠW5”‡[¦mF§0…̒캕”>’ÉIuʲ»9 ©ë3yì>ž”'i‹Î Ïv³r>zóÃôŒA›ÌÇYÝBM±”5ò·Åá½Ó´nxÐ:š]|é í9OOkñ(¥Ñ*Ù•³s™¹Å’ó}ë,f/~žžRè:zÙÇ4\på’Ǧk7­jyðg‡þïg7å¬j¾–ÖØJg¤Ù¡`ÞeþXd×)…‰Ÿ¬HpŽþáû•ý+)çói^ëð{>6 @1·yñÛÆM@±ý3™¥Â2¥þþзÉ;ÿËesøâ'¾þI¿ðƒoÊ“ƒ·£>¾I*©ìæ'ЊRšsJ`é4uÏ—–*ìª –ISù‰Œzʉd^šÞàrÚ™üv#¨Wž*ÎÚÚ1÷²+&ó‘Sn3›Ù(åÔÏ•ÑnA¢ÿŸþÀ9v+•ë«ò_¸¹í<Íæ¿½<å‡ëŸ³Þ?äØêÌCÏßy‡sº¦ÿP,ÚªQoËW?pÖG™O国Ҵ­šøì˵×:î¼óÃ_[fí,I[yuË7ÇÉàú”ýG4LÉ]ùs¯Í]ÃÔ¥÷.ê2úζÀúëù»ü¦Þ8­‹4ÛL›_äUæÎ)Ü7ý˜§´ç«oÿöe“—ÚÇ\á…‡ñB@÷Þ1=^*õ””’zÊ7–ˆOª®oN<•=Ô<`°)5MIHðƒŸ¦Ütû—Ü"V’RžÆFŠËF¦è ÍÇm¼ÙðÂÃ.›³¡Åu´^Í=¢*9u<Ú¥ÕÄšN²š} õw6¢?ëŸÌÒÍ,ÑBbª°V…¶KGÍ4¾ÉÍO¡©´ªqÀßu"™iI´(‰ï MÇòZóÞ¤Ò2OßšŸù惎qWjìxÒÞöœWô!jÎR[ꥤ²WÍ_OvÜ“KÕjJRöäI ÈvdO— ´,åÔŒ–[Mú™a»*º;¼HÓ<ö{­×]íiCO"<ۦtðä(ÊãH%—KSìs—eö¤àEÀ»"x•¡H!%À'há"Š€§E\ªþÛ„“3™3(ÉiôQÚ;J,¥‰&¾2_Ñ¥˜ÚILùŽ|=¶ï²Ó³ùêÑFý®£šrgsÒ'k ¥’ÿ`göÓ:ÓlÌ•RL•¤Dý¤>;WTúc!ɤ÷¦pݤÓî±NƒÜ:@õÌ&y=9§‹ú‚å13²p=–i%™ònþÖ?•™Ò¨-5[ÌVaoÒÒD¾ÝXÙIgh‡Táhô¶3)zñ3$§ºàúš€ªz?ÌÖ×¥Aþ зŒÑR÷Ûò\4¯ýðׯ–¥õ¨\ç.©…¿kþÍÅI[M{ÆL©›ßNLM6zL€oÍXs*ÞmNpëfÛ{ @OWup4›ÏŸµâ«·zT<ˆiˆÀúŸ,^ë?«…$9"Y£ÑKº¤ýCè­$döÉ.5…ô‘pÏò{?»Dï"% ¦î<-ú¤0RŽI@;89fÚ&¦ôuÆ.’ªpǃkV±P‰÷÷tnº’ë‘WÏ;UÜÉ{¿ dp0D;Ä4Н˜§.yWmAqyÚó%­I¢…¨ôÑcŠÚÒ®¹B÷håÍS‘°Ê¥Vô”šÒ•˜Új¹tòž?]³hëåË#¾-¿û è¡âG7˜k*€´z°ÏE/RG¿ „ðN° `.f9K³ù z qxjÆÔ jϬw?&åw)@â–ÀÀ e5ìÜÖPí{7“¸Å„Šƒ€€ÿ ¦þ³BHè–Ä€Ä4‘€@Lq €€@ˆ­ƒ’¸$@«P]ü­Ò¸l~T@ Ø ¦Á&Šô@â’Ä4.›•6þTòðÔô(yjÝ{ü½Jpþxx®Øu@ døPÍØéݬåbô‰éSK愌Lì$üTñ‡ÓØiNÔ$R x‹)ïæë´3€€@0fý Ë^2i{Á&(h€@  ˆÔÇ2elìÒGƯ(ÞçÍ¡zóÒC&¿”ë,·X×,äg öžÝdˆô•wH㌈ Ñ@ XbÊØôU%lqÁÞ¶JgÝ»ábÍî·¹u¶ìØÕkéã’—ò ˜7¯tÃ.wÏ}Jiî~ioe_žEvÑi™r¿jF4€CA@À›@PÅ” Ê{`å—ɤùI¦ç®RãL—ì³FN*Ëßà5> âÐ(*ÆLq­‚D ‹)cS ·-áµÏš¿bbþu¢óþ“ãã/k™N-Ü_T‘'§ª& IJª¨¹xPP6|רÄÌäŒiƒ.ÔžYïŒp6´vò§°k”?”$`ìU¹›5_ ºe`Ù@¢’Ä4*› …ˆ4ÓHk”@ * @L£²ÙPhH#À' ’2“ûEÏT¤ŒØòàµ%Û4(XÌàP-Ø©=ô7ÊÄ4fÚˆÞbŠn~ 4(ª Ð÷ ¦}ß(€@ €˜Æ@#¢ }ObÚ÷m€€Ä¹Ó>€€@¯è êNû½*"€@¬@7?VZõèSÓ>ÅÌAb…Ä4VZõèSÓ>ÅÌAb…S1  Ð :Óù’¨({6ŸvÚïE]ã3Jx6:‰Þ Ÿø¼öâ§ÖÆNû§w³–‹Ñ'¦xm‰?WjØ^[¥/’  a¢—€·˜bÌ4zÛ%o#ðe­ú÷Jíó£Ž=m峓ÿä€í£ÿmþ`kéç-äßÿ‹í½?·¼»·ùÄ—€P€˜†‚*Ò 7 Jÿ¥?+ù+úse†u`FòýôK Oç3ÒÓ“NTCLÃÝ:q’Ä4N:Æ«i·¹ì.¦©šª*ª“‘w¸§ª;]ºê¤3Šª2—Ê!(fL¸ÆøÅÐWÕ“bŠË«¯ø#ßàp85òvUq‘€ Ϫ۬ũ·“žjü:7a/Šà G*^¢üÙüò•Št+ËѬÑEàôë·Ýöúéè*3J ¾„¡›vÓ n­öU”}_¾2›•qããÔ†ƒÙÓ±«Þº`È„Â/Ø|¶GQ#6°“lR£¾<™Ÿº¦KO=.þQ8Ÿ¢a¸à# Z¡¿¶ª?+aK–³ÒOƒª¦|öñ;fq4£gÏÏ9xfŽÿ—IÁ”ÒÜýG.ÖsÒñSMÓU ÁÔŸ^»F1)äm&®¡L_·þSÄÒjì7éÿ•‚=#r1­ÞUÊæÝ7gâî’]îûÖË22,Ö¶3K7IÍågÜÇ—¯Ñè«&—˜ö¤ÙÇÉ’Á§LuÓ–¶ªd¾¯Àc´zÂg‹ðÎûÊ•·É‘úÐ6c|à'ÚwïÛ¾´ÛOƒ¤4¿D³OE¿øU€þÚœz‚US¶~ý:ó²ÐS:á@ èB-¦g?ÝÎrgŸqë’²íŸ ÜW0%Ò6aí/Ê6Μ\Á %:“S²2ÈAGí Îy¨8—t³pŸ»"Ô"øO-Ü_ÄûŸ=ì즕dÆnXdˆ¯¯ª—œðŠ®—=þlö2&~ÁÇFGßÿ'Ù×ÖË&/}©ÜJùÊ1GVËó§æo]œQÔÿXý„LÿÙ縆¾²Žÿ%·ìáU¾JïA b§ýÐýTó>~ÎÍt+NŸµ¼Lôô««*²‹–N÷*4aâö&?%¿¬ìd}™5K÷ðés&ŒB|EžQ ~·n-çÀIR»áÿÜóÇr‡Ì.™Wh(©?-’36µÄè 9ž‰Öcf?ËYÖ¹nÙE¤eÊýª~TþŽÇŸýc¹¸O?ÞZ:ù*ˆ©ÌÚ™¾ŠÆL—¿\¾‡NwÅ?kôø§ÙeRÒ1[矒è†ï09äiáÖÎ ?šhRuÃ[Lʯö$¶â'«­Æ'3uidƒ¨ Ð=Њé§Ûw/—=zòÛDOßc¢zÊ”5rRYþ†½íËèk„nÖÚ2&¬š1K'—tÆÝÕ±ÀÓÁ罄±#»äO£1y¬„f¨+èñ(vg¢ÒP•¿|žoù`·W§?°vPuš¸ ¦Ý~Õ㼿ÿðOW7»y—"¼Æ0¡iÄî–@hÅ´„yõè Z¸müŠ)îN=/¡«È3ëø½ˆjÖÚ`X4qxiä^,×E ¤iýµó³ºàOP‹Ù6ê"ÈÆZí×^»Ñ÷¯ž¼tŒèÍ/;2ÙË2µ–¯k3V w˜šêin´.JL@ OÂʧíõ•Â>µZò4¹OjKz‹ ýž²Ex? ð]£‡¦dÜ0¨áBí™õN?£'ØÞ5?šuQN(ûç¢t"ÿ*ÌPaÛ)BZäÝ­Ò,fÁÐËB° a%G6©Ë¥“]jVw^Ÿ6>ÁlT¤yÄ®QYå.úZ˴˺ï)t¡Ô‘쉒FI”(‚eJžº+.'“ÞI‹OÉõ¬á§uQr1?„€€Øi?¼ó›Æl²ßsM!¨5’Œ54‰O›œzÒÎ&bJŸ;êûëÐwɧ£ ¦±Öú}]ãŠêË´¯kŽücÀ·ÇZ˜Ó¦;[U§Ýãu}t(Ò«‹ê0©Î‰#-1XT)@L# P„€ Œ‘˜3­ß?OMŸ35ÍãéãÜëS¤§qÒyÓÒr§§‘pnHº }¯-A3úI <ï8Â; ül‹IÆkK*wÓT”‰iL¶* ¥¼ÅÝü(mD@ ²ÈgóC÷p~dÕ¥€e"°H@ ¾@L㫽Q[€˜†,’ˆ/ÓøjoÔ@ D ¦!‹dAâ‹@<›_€Q[Ø&ÀCñ°Lc»Q;0€˜† 4²ˆmÓØn_Ô@ L ¦al@b›Ä4¶Ûµ)¦x6?L¸‘ €@¬€e«-‹z„•Ä4¬¸‘€@¬€˜ÆjË¢^ a% wÚOé7mPÃ…Ú3ëaͼW™Eï{2zU]Dž¾ì‡ï´ßrÞÚ/D¥˜>µdNøè"'ø ðTñ‡ˆ)ºùñq™ – !&1 1`$  ¦ñÑΨ%€@ˆ @LC ɃĈi|´3j  b‰iõÖC& ~Áæ³¼¨tfáÖêÞ:¸½Ë±@@ HÓ‚)¥¹û\¬!ÿæ¤ãBLá@@ . $¦Œ“%±M-,˜ÊØÙM+óËÊò¯#Cµp ™¨› Éh]³GZ¬† »t“4\;žñŠKF.ÿÖ2.•ˆ.‰éœ‡ŠsI" ÷¹ë<|ÑÚ¢ìì¢5G¶,ËÊòßJFëªl_Á”“+¸{äâþœ’•4ÐùŒWÜ{‡GD”@ÓBo-çæm’ꦚ]´tº4B«*˜]òSÈt=YÕùL‡¦Èš¿¥fÃ"ÃìE3€@¤HLÊM_Ec¦Ë_.çÝùîœ0WÅ誴Uë|&ÒY¡|  Ð-€ÄtÇ%K3{ìH™ žÍÌ‘“Êò7ìõ:›ÕéL‡¸3ÅE  UÓÜË庨4­¿v>ï”gÍ_!RŸôâ0µpQEž±ˆj _;ÕùŒW\¹Ê @¢‡vŠž¶BIABI»F…’.ÒÿÔÍ÷/ „Ø'1ý6F AÂ@bÈÈ@ ö DåTì7 j ÐymIô‰i_Fž  Ðïê¡›K@‚@bˆH@ ¦¸@@  ¦A€ˆ$@@bŠk@‚@bˆH@ Ž (L絇˜Æñ5€ªƒÄ4x,‘€@€˜Æqã£ê Á#1 K¤ Ç ¦qÜø¨:€@ðDå³ùëÞ« O©§7ZÊž¡k)´BèZ?›ß|Uî¡¿Ñ*¦O-™ã? ¸ Ù‹×0—ÝÆh)†´¥Ð þ4…éE+x‹)ºù~rF0¸ˆ)®ˆi " €˜â àb*ž+…è=pY¦{× 2Áð…ûXõÖ ·VS±=½¯böŠ‘w·È‚Így—o ´T¯0iÓB÷ÃÛk馽î{'ð¤‘BP „CL«7/˜ÇJjŽ\¾„•ïÉš¿å­ùYA­ ë‚)¥¹ûe‹¼9é¸S¸ˆ$°è-ãÆ¹¸m Ëιy:îˆl§ðìõévöÂþU3Üf¬ša˜9g7­Ì/+Ë¿nÈ„›÷Ñ/pÁ^h_ý“áÊ­'q|ãÇ¿fS ¦2æÝgùïŸa·Jþí¾í"Í%wë ¥‚ß@RÜWwì…µó³ä½Ãÿ®)p­ÆƒVy+\.ƒpX¦%ežû¶CQ†/Z[”]t æÈ–{§.zdÉKíã!ö–¿ôЋ`¸†òʘóPq.©! ¹λ-†gÝ»Av#.n¿¢˜Âx{¶`ÊÉòÛý9%+Åp \ˆ ì)\\ñ|a»›¢ìØÕke-y)oÍžÉû$1eÙcGú,˜>kùËåtMìù¨xù­d+1F£5 ªþÀëi˜â>¼µœ˜m’êNÆc{æ³ÃUí䲺ª‚ !&?…:'«ÐR=¥ßÓð{×ä.zîÞáíâQ—_tã°c§¨‘p¿ôlPÇCL'••~ê—õ2•Ì¥÷îûðå%s¦µ–H¬;ÓWј©ü ks¤¤žÕýEÙãŠÎ„aºÖ´ àsh¸;ø¡I©L€vÚçK¢Â!¦KŸg+¦´uCö¶ï’HÓF¸KŠ*ò¨;sŸ1ÀŠ1 €Û¹»x¬Q²4=]O[¸­žê]¥ež$ #t䤲ü Æè¶·%‹Ñí´Vüùа˜l/Ü/!i ‡˜ÒÜçÃ!rÙ,ÏduLVˆÁ;cuNÖ´Üìsg¶ïÎø[„ëÜË)&2BiZƒ¢zÚb×´ù¬ øÉññ†eÚÖRà ÷Óož{½Ž\â2¾ÌÊ›ížô2DÄÌ-?OKe°6&düýO˜ï•˜™’1mPÃ…Ú3ëþÇ IHZŽúâØ¾® ì‚ã'ü^ì‚ãgÊ~CKù ªÇ-EFèJöœ¯;EæŽVU+0&vºÈNïb-Ãa™úY ƧžÁúSÿ!$€@¤ˆ,1¥)æBL=EʵrD0<öyYby|P"ðE@á ¦¾0á{ðƒ@„M@ùQb9 î_@„b¡{³?pÑRþP’aB×Rh…е‚1U¹‹¦¡¢RLýGƒ  :ÞbŠn~è8#e8"1£ÆFUABGb:¶H@ (Æ»J ¦qÐØ¨"€@è @LCÏ9€Äˆi42ª zÓÐ3F q@bŒ*‚„žÄ4ôŒ‘€@, 'óùÃùÓXndÔ @ l ¦aCŒ@b™Ä4–[uˆiØP##X&1åÖEÝ@ÂF€‹©Ø%@@ Wtþx>ßÏ4)3¥Ÿx;é¦{vô*%D¸#pÏ÷Pnk ÷’²Süí¤íÄ´õí±qÇÞèVLϬwö6Mĸ#ÀwÚw[¦˜€Š»æG…ABAb ªH@ îp1Õé?8^ ©|Ïæ÷¢€€@W䫞“3¦ ¦¥Q˜€ÂEÁ% jªÓfW5—.–"†Ú¹öÐeaIH”‰+™³5)Ñl2{çoõ¯z¾À*÷Ð_ˆiè®=¤ ÌÖÒb2™Ö¿wdËÎãÇÏÖÇ‘ÁRòfŒ-\ôªŽÅšà]©x«/Ä46.iÔ" ´47¾ú§ÇÏ;–ß=ãæoÇÈ:îŠÓ5O8>3ñ‘»'w°Lã­¾ÞbŠÙü(¸!QĨ&@6éCyÓoúÖêédž›8jÐCyÓÞÞyÌb¶vnšx«¯‡€|6OçGõÝŠÂG.ROêÝßô­Ñº® §Æ€WUõúñC¨^¦Nboõu_y|@–iäÞ‡(Y  ‰ª…Jó2ô+i 8Õa·969Õ¡â­¾ÞÕ‡˜ÆÀ ‹*D:°F=Uà¿ ªKu¹.=Þê+Q@L#ý>Dùb€€Û&…>>¯‹Nñ)¦‘4¦qºxîÜâÓ½cñU_ˆi ܤ¨B´ 1µàûªy))éÒÏÛXɳ¨zcÞ¼7ªd^;NçŸÜü|Ýu¹ ü2Å6ü“;ƒÄM5€Rùñ˜(,Óh¹QΨ&üiüÊyÞÉ=Ü\ßÌý{×>4yÞÆ*ñh€È«òy9‡^>\ÿôÌàg-S¼l{ô2SªTJ+5*U_ª°³—)uŒf` 5Ÿ×Ÿx6“ù>9!@ M㸙ÛGÝõêCì¥ÿ5Ë8{ãÓ/²w>©”bZùFîÄwó*þ°ØýuвmKèr8z[ߪOÞa/Uüçî\n|šWn¼;55Cø»7R ©v¹ol|RžÉ Ó[¸]OaÄ ãÅóÓ{Ý×—ôSh(,ÓnDÿôþî.fåÉC·äÎòÖʬ1“v?ÍíÅ’G&•Üuhk(•Ô‡eÚËúV–mÛ1iL§€¬Å[k¹ÒòWwqaÜñÈÑ–gþå¿Y©Wm¼k®þ¾8ÓX[tã®''ÿ‰Œr(wÛ#@tòs>›bê€@à­ó'º{Lp»kýÄ?ú¦1rè@áe²Á˜é-ãFu.pÕ›yéÒÉß¾ŽUœäõºå—?š) 6jÜ-|¤¸ì]æ>Ã?ž¬`ën—Q®}dÇŽc•Áàã2€˜~Ÿ ðA 0“¨«ØY£'íx·Œú¼Wy¢â–q#Él»åÎY‹ Þõîµ?'#.„îrRÚ»l;WŠÒ©|3ïÚwï:x©¡áRÃÁH:;Œ!H‹³ƒÝÉnyá …7|!l˜úÞ§b ! {9ØþÆÖ±?úÛ*#åÝù“WèÔïçšÁ-¶¬}~ݡܼ7ªƒo[E.+¦½«¯¨ÔäZ€ ‹½3¿€OçÏæ£Ue%;Œ»Ø†YìÄÌë›5+W_ñÚNw¦|ÄÃë£'X`­àó*˜úD„ 8úé= “µxËÁ»J&g\™Á}.{ïâ;‹G¸ JIXüNɵûnêî§“Û¹xÁïæóJ­;4רԕsÙ­3³=ví YÍGOšÝ–§,t#ÿò…Cs%Š+ÿc׌ÿ:Øö1ãîßVÁzF¸7—A»·“b?ÓÀo¤Þh¥‘‹_ÿÇ'øˆfX¶4 5ÚdÀ大ImÃïýUÝö»œü¹R‹·úºwÚÍš/Â2 õµ‡ôA@Î#k!³4¸zWEÓU‡\×Ë*ã­¾ò‡˜âVp9 G.§+z=UÃá°“§Š)íZLã­¾òB7?ä72ˆg­ÍMß}tû{Ufš¦k¤>wZŠ">Â*UI+Ÿ«û·>=±éA»­Á»üñV_ïn>Ä4Š®d5úØm­…›ÿvæ«Æ™9æ»cD_Ú—˜OŒëú?Î7¾ò§cc³®X»ì¶ÖæKÞAâ­¾Óh¿¤Qþ¨! ª.³ÙòËwÿþÖ'GcéPß»yü3Î1›,Í_y7F¼Õb5·" íè%ž´½Å’d¶$ðz†ø½&s»×Û—ž¦:Ü šhWhêò·¶\R]ž“bÜ0Îêkˆééݬå"ºùÁ½Þ€@ðSÌæÇQ㪠¡#1 [¤  G ¦qÔØ¨*€@è@LCÇ)ƒÄc*eLš%3¹áB­îH¿|ííöÄ8ƒª‚€Àe4_`uUÜ{fó­ƒsºÕÑLûøØ¶Ï¥Z}³ φ>ß¶âû},¾÷(ô]Ùnž¨k‹¨ø“‹¯Êi§·œw¬Ï\|¦@)úLÄ'1? {íäWè®ùbÎãøj;Ÿiø¾ýÈÅw}–#\¹ø¼Ú}ñÅœÓðY_Ÿ‰øLÁ7t~y8šh‹Öð%k®QØàwX’| Œ¿ÊÄŸüã³ ÁÈ(ð4|ÓŸ+Ч¾ø¾<ÏU_µõ}R.¾ñ}ú*¦?Ä|¦á»œ~¼¹Ì'QŸÅðGL}'âO9|¶‹Ïl“‹ÏbøÀç…êOëåBõ£°¾‚PÙíùB+pmõ ø+¦7úŠƒïA@.Gàÿ„R'üjWsIEND®B`‚nðå!‹ÁiÓ%/!‰É·„ò!ÿ‰PNG  IHDR°˜1gzsRGB®Îé pHYsÄÄ•+!yIDATx^í] xÕõ¿3oÉF!ÂH";¸!_0˜m£"„ÖZ¥¨‚R+‹Êÿ£´Øº°(ZD@>µHøC¥$²©ÕŠJØeIÂ1ë[çÍÌÿœ{gæ-I^^ò^^òÈÜïfæÝåÜs~÷œs—¹ÃɲL<7ê[Ž3ÀYˆÂÇNùÑ×Qb4—9ƒAeâ’ÏžI-Å7áHsøç _]¬&Ù³p-zà`w@•™8]ÄL…áä‰ÙˆÏˆ £@Eiqib#dâ¸,Üì üƒßcú®=¹¸˜6Ñ|T4&‹D“X($šÄP ´4À@]AÒFžù¡§)¨h mDŠCû[WKm‚ï/•@åRU):%•Õò·CX"ŽÐÀ%v6ÆÆ¹L¢):¾ÑÄ0E5@ Tƒà–€£ÂÀPÊ,0)°[—]}í+ÞE$UFÈ¡¨%½CÍXmÁîë¸b%%gåý¨*ܽ_“„b°síᑬv7Þdäx#áLF“Ñ!ËÕ‚‘—á:ŠC݇ì B‡ãd‘Àš9HN/;†¦òf*•£á"çVœMä™3D%Á(ƒ1‰`"85ý(µ×‚}7òD6«]qŒÔŽØm¤¬œ8cä½7©€ˆ5„öî†0òœp,ØsGA–\œËCˆÞ. k…UHÔH²DdÎ…•D nñ!øv,Àžô9'º$èU°dà:Rm'EçäKã92ès’Ò•p$:^ÉeÂ Š ÌOa¡üÄÓŸX`ÑÀI’ Àd`Ø ¡@°¦çâe'=ži^ð›ö]’êì±µ äÉ¥Eïî, ð+¦)9K!!†‹3ËQ±x]ZqndPÀsY”8,Å<`D3œê!„МŽvNÖõQ1HOdG­k©Øô¦T^*Y-²Ã.»Yp¢çïÂ1†L¶ì¤ŽX§Ýe·U·íÐ㥵s?Ž{Ó% Än%. )«æHÏ÷IÛ®5aBïEÕ>íÀŒ25‰Ê !Gü¥éÆðÔæê<¥Bó/þ—¶ßTúÊ\CÇ.œÁ(UWˆUå²ÓAœN™ŽC(`v@€ Ù償d»Õe©*¯¨¸hŠ¿õݯºþòˆr;áKÉÕc<©¦VÀÅsÔí%tè%¶I³Åt­ŽîTß¹*¾SEbJyLrYTR™_jj_FËHgI6ý„*q­ÀÐXF»Þ4o- †ÀXP  9begŽâÌf†rFg„1¡ 4„ÌãtÇã¸þÒ4¼ÑT}ùB—f,ÄIG’4¸‡O­UÖk×-ÕÕ[µUpØìVKe¥å§òj«Åf·Y²zÅ;«,#oí.–ý’ÄØˆí|-3PkøcóŠ* µ#¨°ðB ÀýÙR%UWJ–*èý²Ã&Ûí²Ý&Û¬²¥Z‚©†Êr±â'±ºÒÈÖ*Lj† êö™©FX¡IùˆtîJÚ¶!qfbŽþöU×µ*;‚šiñoPëp<'J²Õ÷÷Ï*¾Úg%±© uÍe, Œ–P¨a:6Pƒ…Dƒ=.ÏzÈ”Ñz¿l³´¹77úŽÌËz„NIpÊ.ü+IÝÞÿ¢z÷–²·«×Éëãsw&V+©dœ'—¿çH—Ý$5£HB,‰1É›»Rcf«Ž˜&o,Y·å²ãˆôø³k“æ‘øÜŽ«é¼¦®r&vütygÞÕ)gÈsóº,d›ý«²e-ãÑ Ð<®ùhöÄ©€¸4}´)5ÀxÐáì0kÊÅi£Ái ‚]Á™úϯÙó’‡n_-H'K½aŒ-»îG!™ß^Õð¡7Óˆ‹t*™õh˜f€+˜Œ~€„|qªÛ_|øfÑ óœÄ3@ÀŠuAˆ G•LL™Úz› m÷C”òÌuÀ‰ ¢(™i¡Xš*¼ÅϬÝm5Œ˜)¤hãoTöî™.uhGA ‚‰/V äŠW¬YÛ!ÆÒç&š†E…Bé¦ßZ³¦/ɳ‘v#nζQ,îÝ?s×ib¾Dº?s\§4bÙ³~éùÛyÑ„ÜsÇÁhKmÙo)¸oH”–Ørº+&r4º\+ó +ÓÙ#˰¾Ý±ÏSšGdÖRBÁ)P«æI>:ýgÓ—ìê÷YÏdè¸D’H¢ˆÑ¬DE@p‹æ\ À¤>Š–®¬œÃt5“–×,˜Âßÿ8ô!@<”G<ì²ÿCÓ<a‘Ú8’Ö«‰OÆ[^­ÂóW ³ ]¨¥‡k-/¦WHÂ=9>·J˜‰£p,¼P‰ï3¤ƒ»zÜû‹4G Ï•ÛÂbè¥ks•Ñމ~}Ø£ÐXd¬!Þjý„;|ª«QÇçýË`Î| -cŠyõ¨ã&Ú1Cݰ€¾„-¢K:¼„¹jIìüúFõåi#àÇ+“ïD¡Æ¶íôÑf»Á¦€zaŠ‚Î/ †p÷Ú#1˜7ÄÀNà“-TVÀ™‡•x0QÂ.¨•k”‰É~R€ŽÅ=3,•ðP<:nîôjFV‚­pkZ3Õ”F®¯š©Ý"Lf6æ}#‘¤c`øcÌyÌ”Ek_=ìžH…fšMkf(Ùó÷€éIšôÇ¡Òð9Ö©Ïùîùá9s,·tÑ@†F£Jt.öDAÿZ]úåÏ1 =ßYÔ®Êr2\¬T‹b66‚éqGŠ0ä¶âT¢z lGçå³V\šö XâØR¾ö»[ØÃŽ_ä$gh`&z&Œ'âÍ$§T©À–Š(¼î”½Ü%Øé¼‚ÏÀÓwf‚ÊÀZÃþ4;l=ƒNc Sù{…±çv ›¥ì?œ/øGï%ùd‰ üßÓ5ÊSvÚ'?>ô“„\ï›/îRS².êQ¦}N¿ÕobOVД²¢Î‹io•ÉO>Äj/xeýÌ/:ŠSkÏî2§½u]~ò^*Tùùû ¾$¦»U/T+“ø¦¼8rޤ­.•§ª%<°à 1=24íVN~—Òs¹ä~n?EfžMo̵‘MSBipaD~³9&o00 a—iß¶îÝ;üþKOŒÄEgMˆà<‚Ú¸öH¯ïÚ€·.Øbé’Ù *5©º¢Á‘?níH»oLp.[r˜‡›'˜&€n|TEᣑÂ_¹¸N"º€‘ÞÂþ ËÁè¼|Å,ÐH·LuöL’È©èmÒžsr'1gŠ=®4:µá§Î‡ÆiÒ•m± ±œÄlgöPÆ)•;;pëþÑÿyE‡p²šž–iÈø•íö^‹µB0ï°íƒëÌŽ ´)=Î8jû+“ÖÇÀh=îµí±_RšåŽâÈ)vècÖ/¢w+àÚe;3‡2ïÛ0ˆÀæX¨Då÷Ìg2;¹˜6°Ö<é2 /qÁytr.Ø\ wÚe§ÓåpVZÅUòØ—S€"•€ŠÉùo`êúIOb€à¢£ÀýÏa0‚ØaË•½†•v6³.jN¢Ç¬„L7ð„$h€èûA.«¡e™½¡Õ5uzع«P¯åw 'îJ0´iËÇ´Á5OXÌ‘b@-#L0AfÅér 6éD5™ð£Ì=X Ú‚TÄyŒ”|ï;š€ÎÏ1M‚‹­ø+ó€†nÖ¼¨?y˜ÎÈ…*‚¿È¬6øŽ~ÊljI´òy˜3Ђz}ñ'ÉÒ¾K…ÅVVYUQYY^YYV^YV;*ËË«ÊË«+*­•¶Šjg¹E¨°º*lb…]p{ø¶Krxi\)7˜’@(€’€Q®©S:4[õÕkÕ!TŒ\f†È­hz!˜ ³7¢Æ¦Ëâ¥! ª$ž¸Ó¶øžÓ_Ì|¸âÒ³ ´:LFÂT¦„‚D[&ªx<ø¸én%'8)=†¯Þ:??ãí]¼[Cý—"‘´‹CBÝåoÀ×9¨»…3-Êàž¨3 ¢÷ë=Œ°3yMi7s¼JEmছ§ÅL¨ëàl” ‹s½5MÝeKÅ…-ïæs‚64QL† x;L…©o_Ð9 ºeÛ`V‚{* ê4èO€}¶8!ŠÃâÀˆ eª0"ì{z¥ì90å `~¬)ÕÜÐ9ᨻ×YpðÂF傿€Ÿ²æú•ã?V±’²×R¸´*waËÁ¸üwÁà3³XÊor¶ÍØÜ|Yzp`Òx›Þ±^Ák|¸zþ-–=5¶;Izéƒy Tbú”X‹ñ *Íobnô€/{áÎÀà5rjؤEGQÀjÐú}îZr¬ŸgçÜV?5#[»@eP|”¬Ã4ÄàùùùgŠQ6ã?º²æQ?~"Vr½ 06ý®äÌ«¥!U$¨!0®?¥YˆjSZG @НŒÎ[³ò Ð08oÌ7¬ß/ÊöÏÇìE‡˜†À8gXÀLß|Èú›Çºº®ä€>M¯nœçÃxõ'â' 胎ݞ¼Ë#_j÷•¹`•ß}p56½€Lw‹OÈÎßAH}ä òÇùù¬$¦ûà•«ºCj÷þùó×øÌ:¢v©Ç‡ÀÁjÕ^”¿¸;–)ü—R¬xP‘JŠ7¢-Ø>øzi0ñõ§Ÿïþs*©Yb%#o£··eþpbix½æÈ£¡E°÷ýñ´ˆà¦®aœùʇã•þspIòòŒCŽ/^ØwÌOM"Ç2^YJžM0»æ F‹ /¦AS‹Õ€ÕN}꺡‚öLïwêÚDpêúZ°€†¾†æÕÑPŽù¤¿a$_Zmö@Šag«eð Õpå0š2n(Ö´êÆè€hÕâ¯ÙøÛB§K/HøÛBG7ÈD ‚ä…žÝp“­¾cJ‡HMè>„Ž /àÑÇzÐ9 R«k ÞBç‡ÎOÀ¡Å¡ZïÔÑP`ÃÎãmý¾¨Sÿy³4ô¡_?QzCw‡æ¢¤Yšß•Öd©V‹6ì¬I›mC¡ š‘’¦O³”éÃÒÆ¢YèÖ+ 3ÜSp4r˜ëÖ«kÉЇ-Y:Í@›ˆf`zK®Rv¶dé„‘6z–5üÓ5D™ U逈)…‘Æúç!ÂHL=U野/‹:7ÈL€CÇà6üÈ:…N?t,LøÛu­B7Áp¸™ó^*(’¾>áARðɲçÈ"³ÓÏUTËøÍÓ" »þoî²­™ž•™½h ;SÎ#cO:t¬Žfj½?{)< Éz@ADÁ'…k¦g‘s§ ɲlæz¤OÉ£0ŠÜ ¸ †çžUdÏ0¡¡A†¯Áã× µõ¢~Þç5¥ø±b@ZƒŽ!k„|@Ì9}Ó é›Ç3ÏâìšVNÖô5… #ãG¤Ñ'šóé–f5¢º“œGQV¢‘çæ=7W#mÖ³s¢ðëÐÀ‡pI]? ¦¼Jf  „ 鵟cŬR%ì¤Aÿé}Hm¨V`ÊÀ¹“QÜ9ŠÔÏýgsžRlÚˆñ…ŸÌVñ€ÆÉà»ðàT¢{ Æ9Ï¡í˜ñ§¹èâh”à[ßõ šñ¤þt`þ½zR9M²Sß1$kXêøYýÐ[OðÙS½UOýGtaHÂFì)<†r¾!µ¤R&ySÒ•QçË}ÏÒžÃ@åá´ã Ë hŒ¥tT¢„w+aÌIJ8œgS=a2raЈÌ>ÐÑj§v¼\bö›];t¬)+‰¤²·ì·%ƛ߮m§à€ºÁå’A?DçƒwÆé«‘$ÝÆÑ "xC.°(Àä(mž ÆœlÂ*°P¿É¨œà'šªFOäÅ\À V³èPØÙ)£5 xîb³˜a„.©æàÀmF"ØeÁ& -ÊN¸ur,ŠN£èäE¡_wc}rl>3D>D}µ…äw݇’~}9 ß팴-tArDÏ^÷žÊ„.Φã@ò!r*›ŽR½äðp¼Nºþ¥"<üŽ˜Zt@DŒ¨ÂChÈ> rõZššº†hjGXù: "L`MM®ˆ¦æp„•ŸX:‘0¤Cåµ²íŽ0ÚurCÄ8Ž~†œÛG¬×Ý€°mÊQùz1‘ÇZq~¥yíÐ)’Ç›˜†Ð}ˆqô(FŸ©¼„ò&è"ä,ìu@D¶üBN½{”áߩĭZv‡(¹ߌ ­.§#˜ìþóÍQ,Û{ÍsSt”g{U•ÐÚÚ›ŒG Ѱióþa·Zyž_¹ãøG{OºPÑtÒ gÉcs‡e,|tTj4™=«nmím0 ¬–ªÕŸž>uÙ9}ܰ{n»Af,Žž»»Êz§DÍ7ÐGC´¶öj€h€ºá©Ü¡ÃoMW^¨üÿúõèðTîM{O êkoZ¢•µ—½üð>XŠá·¦ÁÄ Š¢xgïNÐ.¾ Z[{µŽ¨†ç òˆx¾ƒÂ D§ÃîtÚ™wéã»´¶ö6,à  ´& ²E—¯³ÔZ[{Ñdz²ˆ7ˆ½@aÉuQºmfÿmclnJ4`{üŒÆµ·(ÿãÝýÓk€8uâæªª2Œ;ûO_½kÞ=óÄ/Ù“¯ÿ}C‘\¼nì(y'}RU¶èî}/ô?õ,ËrdÌÇ3!5Á…z4„ÿŸkü¤õ $»j#w“±+û=ýÌÅ“Öpú©º |ˆ‘={Ô$¸xCn|b<ÄûW£pØ’LF¾þd&%¬GÏ‘è9åo%ê¼=s”¬¸Ÿe0s÷î“E¡a‚?™7̇šµåNMë¿{k>èO->:²gwè>#Ìš¸°pìÖ/BgjÂz Q³Q@~цÜ[Ç–VV–V¾â÷±G¬çûô2òµBH¯Ä…`w‚Võx0ìlÀÀE q¼û‰äégÞ+VŠÝ?à,l¶{Nêc¯®82&w}I¨ëu7Ä/ ×^Ú¨ ``ÄÈÞ;3F`Ãà¶8ÛnEùÓ㟨‡íMÍ#Ïz{¯Z)ZO[-Yp"¨»½-cØ™:ñ£Â±Û&$%`Cv\ß2±›Ç(·ÛÄ-Û̸m˜ŽÐ(Ìš¶#ô&µâÈ(¥QI£ÈÏ3Sýã€Y¬™Ïœê?Â]'£‡…n_íÈ(ÆŠ¤ÿÛ7쯅îÛ„qï©ÇCbyg">0VÿºOügÅ'xêG¬NI³%‡E—3×ö®¼U¾ýi—€sØZhmíõüÔsDB-9=åîˆØ8‹‹éY»ÝlEíÈ vº%À…KpEn„f8ˆÐ ‡ÚÑÚÚ‹¬ˆt"á.|sËÿŽ)›¥úŽg¶ÿó…Q7¥´Ó÷ƒ5W jš;)Õ"ÈûÔÅòß¿öùéSöJO¢Z[{qƒÌÙxÆT€€pØm ßÿþüÕªßd¦ß‘‘ØÜ ¶~zæ«üãåª7?=™‘Ú~é´ûl–RÏB[[{Ý€ð»¢è2Œ¯oýáÃ='n¤=•¿º§÷â©¿0ðFKÕUO@´¶öjNe ÇÂædØVd4FŒfܨ\§Ù ¶ï²ü¼ÁkËkh UK‘Dí›…ð 4Ù¬¥¢ËëC†­­½ DhE¢—ÖÒ8àv¶4Êtzštz¬akÍF«^q¸8 "\œŽzt@Dˆ ÂE&G:ŠN‰MocL‰é)Ù¯Uíp(ï@†‹½žfâ€å)/ÆG ‘Ž[H4›¤Ãél¿yÎïÖ‘ÒOuåöy'Âs “×OEÓYww€¯•zÜÔÞ„ÕQ²¿}uç“'dõlP¨¥9h¾?¹ð¢³D`4n¯àHò[D®j&dêÕ¶8ü?`[Ö1QÉfIEND®B`‚nðr"ÍŸü(6Ë<î0`ß:ìÿ‰PNG  IHDR°˜1gzsRGB®Îé pHYsÄÄ•+"IDATx^í] |ÕÕ¿3oÉN@„%vĸ`ý©@ÁDøÚP”ÍÐZ¬ªˆ mÙü¤?J?ìO¿"ˆÚ€€ü¬Eá‡MdS+•*Y²° 1ë[çÍÌwν3ó–ä-É{¼¼—Ìý]¼;w=÷?çœ{î3œ,ËÄ#p÷|ÅqH…L6pÊMs"^'ˆÑ@\"üå Y”‰K"G/pÎèµÅZ’=×¢WìôÊLœ.b¦“áä‰ÙˆiÄ…Q Si‚é6ÒÌF"ÈÄqI.¹Ñ  ø{¿Æü=p)I©‰|B"fK$’d¨$‘$Ñ>hm€AÒEšèϵèE,Œú ºp:´¿þFj|ïÔQÕXH}èn¼ÉÈñF™Œ&£C– 2²#/Ãu‡ˆa‰,¡Ãq²Hà EH[’ÓKÎFa¨¼™ƒFå$¸È¹™0g9Aæ EI0Ê0‚˜Dœ‰Š~œõ©ùnä‰l$V»¢ ©±ÛHu q&Éûú«€H6ôëÜ9aä9àX°t‡Ÿ K.ÎåÁ@Do ‚µÃ&$* $Y"2çB€J¢?1t;à¦çMçD€µ – TC‡@줼L¾XÀ‘[?%™= WKӔ &¼ ˜ÀòÊ-žÞbuˆN’d& ÃVí‚5˜~Q6qÒ££Ì‹~}]Î~ŸØ&'äñååo~X%,€á VÌSy–Bz—b–’ñº ´êÜÈ  €tY”8$Å$°N3œê!‚ДŽ>œìÑGÆ =–—°j’¥vó©¦J²Zd‡]v ²àDÍß…k ™2lÙI,N»ËnkèÐ¥Ï ëæoK{cóE Än%. ©nàÈ€·I‡žaBíEå>ã@ŠŠÖ35‹ËŠ EW¥ñÆè´åæ<¥Bñ/ÿ—vô¯zi¾¡kÎ`”jÅúÙé N§L×! `àBv9á–l·º,õ5µµLi7¿ùEÏŸÿQc'|ùá;ž4P)àâ9ªˆ&º S³mI=»Õ¥u¯OëVÛ)³&)£:¡sµœVeº®štª&Ý%Ùô#²ºÄU¸C`åZtctpк­a1P4hÝëª9sg6Ã2”3š8#¬ MÀ!dÍEo <¬  øKóðFSÃ¥ó=º˜±']IÒà^H<¦Zë­W®Z,¶«à°Ù­–º:Ë5 V‹Ín³äLsÖ[ÆÞÜ[¬þ9I²Û¹&,ÐjôcëNUZGÐÉ 5ÔdK½ÔP'Yêáé—6Ùn—í6Ùf•- ˜êjÄÚņZÈ#[ë1° X.¨Úg¦AJg•r$ó]Ò½'éJRÌÄœøÕË®+õ¸v67iñ ×áxN”d«!å?ªýb¿•$g)½k-a…Ɉ…&€ Óµ,$ªììsiö}¦~ƒáé—m–Ô»''þdÔ¥?<@§$8e—ƒþ•¤^oÖ°wkõK`×É«µSVpw%V+idœ#—¾æH½$+Hz2I2É[zÒȲÕEL36U®ßzIJòDß´³IÍöÈ\¶ó‡¾½LWùӺ¬]ðCá2gAå·Úæþ²zE,P<´>(}žÒz}ö\Ä©€¸8k‚)«/õ ÃÙeáj6” 3'€Ò@ª‚3ë_²ôÊûn‚'¾ANVyÂx†êˆ±b¢ë ¦° Ch¼LÐR€Ï ›‚ øËÀÐì„SË’òõK龄Å~ûFâùÚF¤®çN¼ŸhSºÇïûxZ^™–Ú¬D3WS«ä}ŠÖ™hÆ€c–‡Z¤&^¸¼à–·ÇšhÖЈ.7&•bPòÔ9©MšG}ÂÛ¤(j?aÖ=d‹Ú%À>ô—‹C£†Á* ÛS³HýšÎ¢½§"œhÅÒ æ[6S<'¿ÓQþ?ßx:¢9ïþÚòí˜GŸ£Û=>ÏàmîÕ¦Dœ°°¼ôìT–±çº½`©ìõ÷/”‡oÂ@"BP=øcºLõJ5xtÔmÖ)‚—¿ù­íà@ys§¢”ƒðF ëŒÌ†yƒPˆŒ__Ŷn_ùsõÚsð9¿ïŸ3g_BëXÅ¡ñ™KRƯLù¾œ²VÛÕÄÐü}ÆKMk³”tr«›ÿQÒýÛçÿÏÊ”$áìÒdòþ¡¤Ll%÷‰.%Ê^£â½é—¢eN}þdö=J~R£Œëü'­ó¥gózvlÍôÒµ•¬ÏŸ˜šª!ZÚŒLçºûq¤ó×ÿûd øT5ÿ&<Í4âf#5%³'Ì °aÆ(¸àHÈžpKà ÷ßÈ!dž“xØq¢*1ÁÄQ&†)So‘¡~¡§¼¶Ø#1A%3­kS'oé³ë¶$Z ¤_Ò˜LR¾éï¯Ö îš%uéHA ÃkJ¥)Ò¬ÃpÈcÜŸæaQé¡ÔÿAkî¬e»íå¤ã˜‹m‹û<³ç4±^&ýbÔ”nÙÄòɆOÈ€?ÜXBÈ]?9”hiªøM%ã†'h™-§{bæáÇk´:ϰ:}úyulHo|æiŸÇŒj¢†’SÀVÍÓßyhÖí³–í¹þ£ð<àuD"I F³• ‚Ÿ(þAu@s”€= ~€;<éñÚnm{¼sO­h¶D˜fਠU1!'¶}åæÈŒ‚BÂ`äL,âÆœàP†4hšu̳–±ÚÓŒ$Û˜MHÙw—ÅÁw mÐmR lL{ÄL¢ôø¡ùÔ[ÉÊÓª!5ŠRJzÞ‰­¤ Ìé^9ñYéš¡Uh¨WUZïâ9™9eú¶…¶}åwRrYª®(ÝP뀗zvÌ}€»±GS5¼õݸ­õ„d/ÛÞI~9eL¯; O¤èï,âdQd(5 h‚!¹dY‚ìî¯ì`¿ôØhvÑmý—h—L*/\N^ã ÀèO µ+;ç`®f³åeS(âû‡:L¥§¬@ÿÐø#ÏDX¤2ŽdìFÒ2ð'¯6aû•BlB7jiàáZ+‹ù•.ᙟŸJ °ÄQ8–ž¨¤ ÞE„S=îóEš¢ Їtågi<Uë&+«!\ýê¨Çc@k`‘†øS{N¸£ ¹F5püî÷ æQ¯£dÌ4¿vÏq}0#ݰ€g GD–ty ¶jIìþ×­¬×—fŽ›—gÜ“šÜ¡Û»g8°vƒLö ‚‰‚ÚC¸ŸúDb0nˆ)œ@6·Ð˜?€3;ñ`¢„ V¯Q&J$H *w=m©ƒDuâQépƒ€p§/«€P ²<ú ?MEO˜²ÉÕÕ ·{A„ÙÌÆÝ‡¥rÒyÌDXþó6åǺ—º ©0L³©èi¥xñ' z:OÿÝiô<ëÏ}ûŸçFçϳÜÔC iŒjÇàáb) ¢øisj¸¾xžYðè‡åË¡.×Ã…:µ*VaK#ˆw¤Cj+J%²Ê!@vt_¹ââÌŸáÂ×–ò•Gnb‰]·]à$gh`"žLXO¤™I"šÔY# xÝ-o¥K°S»‚ÏÂÓ×2Á Õ ­á| жŸAͨTþF!lÙ¡ß)ï·çJþ6hY1Y¦Bÿ÷Ô_rá‡öŽøà!—Åq Å=jNöˆzÔiŸwýk¯’ݬ zʪ:'f¿^-?~k½ä¥ Ï|ÖU,ìÔtq—9ûõ«òãwÛ¡Êk(ùœ˜~ªj¡ZħcÚÊ‹#e$ûµ*ù µ†ç•"¦FdßÌÉoÒþ\ªü÷zeÎ<‡Þ’k#3SBmpaDz±96ß 2Àa—é³mÝ÷aòè_\|l,n:ãjB娯•vyû”}ÏFüé‚#–.™í ¢Ps0EÐ Žôù†ôêH:&‘4`‚sÙ88’Ã4|<<Á8lp  £* …ÞåRº‰Ôt+ü ç3,‡w+bŽ@ºé ç€Î9•øÞf-“»‰ù…ö”ªÄâ× ?æ8ï›]“.oO>XŠõtÊsæ`²¸³ ·þoCŸSx'«ùi†~¿´ ¨‘X«ËŽ|Þ~›ßâ˜Ak‘öÇ™Kí@uÒŽ 6°>O˜€ ÷ÊŽäÏiŸå®âØB;:ÒõúLõHlh=»P%.Þdy³˜ìp ‰ê 2¼ÁÛÁ¦¾}AmôȶÁ¬ ·) Ú4ƒ Ô'À9[4ˆâ²8´NE2W”õ3½@RöΈr`ŸiJ97<œð3¨§×Øý67¡á(\@Lí6dêÛç•^Tn™zÿ–Êp»¼|Ùò1{üË>ÞB Æd/¢ç‘á‚äMºcѦ( Àc@c4D”G9p9üœ¾zò"Â.V‚pù×¢ÛÎÌf9çoŸ²¸É?gÅ%¤ìtéœñ¹-í6”Ë/šÅŠCMdEc}©/Ða 2Ü倘¶ðe/\w†Ï!R#§/9†¬í¹Ÿ¼Ž|Wéyùww²¬~yÚ2ƒŠcdÝDÆ!n[X\|¦³ Þ½\ôêÊÌÏ<"JO—|¼%',¼äØd¦~ÉhÞ’ž]·hÏž±‹qû]Ë—ïÚ5#~Ã_Ú-ÆúYš¿<˜O»Ír+唲1=—í—0ìxúð®ñ²ý­ïv†3ûw;M¤ü±\‰N7õ²±DH,;ciñ ßd¦¿ï ?i0 þ…6Ë´òàYÑaÔd²]uë±” Àà&æ‚ ^b·¢9|¡~Ú‘‹²H’ ß꥓.¿°||òb½Gù•U/Jða_ü\b¨ò"$@|ºƒüßa·o—‘‹ð:€[1êY j>¿i.x BGà·°©ü[*)ŸØ´Xñ¡x© ÑaˆFðë˜xݽx0êIkP)™ëÇÛ\øðn­@iÀ/»ŠÜ’_„>À_» ›M|ÿG^>©x“ì6d"ÉÙ¤[1ª?âê–$lÙžD7”S÷Ù YÈt§‹ixqÈYê~ 4†%ÑÓ"ba€iÂÛ\È Æ`FXsR¥’F.'ä¹”O˜ŒDXtb3¡/4"´Û õ\òR˜+É`$‡ío}·Ó“H[Ø:¥™ßGÛNÁxƒË%0ˆÎ{ïHÑw;ƒA,þZ“K , `œ† Ù©`ÍÉ V¡…à"#¤zÂ74…ÔŒžÉ‹°¸€-@ìfÑ¥#²SFiîbVÌ(BŸ©Ö À-ýŒD°Ë‚MZ”ðÓɱ(:¢“…ë{ƒucöÌéÁZ‹È}]‡“Œu9 ß팷#taRD/îÿLeÖ´úŒ†IØ%h²†Œ©ñ ˆaOF`«5LšÆoñ#¯Žô ôB‡§®#´Êˆ_"é=÷¦€^ˆØT¢G׬Þ;VøJ«îŒ^Ëí¡¥øä?œ{dÖ¡[!.=×ûá:&"ˆÔø„F€ÊŠ €‰Ÿ÷¾‘'SÙÆ°¹øÁ7`$ƒ ”œ«Øµ›»Ðù·±´s.(wvQZµ…d¬Z´Qa-U£¦#ŒôàCøÄÒ‰ôá]àK›îÛãÔ)¸ÿq\vÂS><¿¸â¨ûéï\2ëÄH_ЫK™îüÕ°ª[×\-˜9¬ïÎ#ˉGÌTõ(ãcŽh÷`Ù¹å×W Þé¸ÑgHÙ~b½ê„ms¿ˆ¶ùÊàìC€`øXG^XÐyÿÒ#Ëáp—1Ése]\•»(ùuÀ‡/’"ßïáo—« @œ[%ÄøxÀRÙ  "ozê¼›m€2±á¦*äT±x<ÓÚûRå„mV"ƒeþ<Æz­ºÐ0eb">uˆ®½6(Ëάò¥t‚AcøAI|!ÓzN%éÑÃU½sÈFD„«OÑU‰¢{.ÒuoäÑ“ún‘7âZ=?m¿Þ ¢|¿þ•¶‚æŽ0Î8Dè'šKˆö´rÿ›[ð!Wä¡jÙ¢äŠÎ”¸œŽÆ34`èèè´ÞVÁ€¨8ó%ÏL‰ žÍUBº¢aÓìu»ÕÊóüªÇßÝwêÔùÚÖ!ÙÁ¯ëÌ$kÔ·N?cµUÄãK×/~èVè Ñd VKýk»NŸºäœ5eä]·´ŽÅƃ€À7´ wÏ)Ö¾¯ñæ•]CfØ_M8õe&<3%LJhƲxÓ“GŒ¾¹/ó=ýàcþœ9ì}oek_,ÍÇ÷àU_Á˜Ó““‡oÞwÒhP_ósçg/…ðæ+Ó’bôÍÙpÄŸ1úÑc°CÆ-#"JVæÐ=,àÔ €€opšSöŽ—çí`”k£÷ïÔ æ‘oÊ€Cå@N(!¢+…VžsDßÛ[]‚ì¡hÖ˜F³àÈ#Å2pŒ¶ùþ‹áêtÚ¡,›Í&C¨€`…£Ï<[ô¾éŸ§½æëy^ûì{|>S1ÚÖûÿ-ÆVP„×w>TÏ"n@´Ž¼dø ÞôÏ'èÄ7䃛!ÍuLzÿ?|@À›]~+¡ow5CÐo·E>V¬ŸœœœÆâ„õåØDņ 6T°¶ö=éÿ½¯ÑËhè0†²Fäm "Ï!²²‡î}¿¸Ü£âòÓÇÆè :ÄØ{s§-.ôþ Ïïg·cšÎqÒ¹ d„eg3žè5Âñ§½Bžzö­ ¥Ú sfË CPSA6‘õð˯|;qò†J\@2ÆÆ²3kÚ»¥“¶ç¤wNÇ8‘켺ušrvšÊŽ^Ó¶n¿áé[¦€èpÕ!e»_54%1.2¨,èõðæšš+,þù§,éÁ÷Þ{°—"IFü¹æÊ{k("PŸµš3ÊæS¥Ý–.2äfH f ^îZ'ú™G·kÕ<éNÑyˆÑÀ%ýÝhÖ!B¡yJ¥KP\¸W”£8PÇ¥ÅU4A!$ô -¿&ŽÂ!ìÍ-¨¢k§ä£ßŸ³5ÔZê«-õ5Ö†hǦG‰~Ñ5 ’1ùàì\ßÐò/•]†yä ~}…Ê!xƒaÒˆ~Ë7ñé‘3ÖºZK]MCmu”c3¿¾¡å‡X+·-= ÀyˆP½Ð‰¢Ë`0þõýoÞùäD¬œ©„#0àÖxWÿÕž}€m.<\‡ûÞÎÔ±=xRL×O­Ø´ô‰Ÿx£¥þÏ[ÔtMÙ&;Ѿìø-¸MX‰£](C˜Þàu”Õh6'S%ÏP®ÀàôÐ;e‰)êIKwŠ;WºçU ö: ¡ÍZ%º¼>ÜØl@Ä)àÝΠ«¦XègÌö!à{ ‡U‡ˆÙAꋨÉ*ΡžkÐÿo BN¨:D(uéyâ—¨CÀ›[ñê ~ ó=çH÷#‰™ÉÉ}S™I°ÖiZŸŽ„˜ï¿ÞÁHPÀr…ÔT`—B¤ëV’XGkEsvÀê=í~r¨À_iŸw<7h½nyTí³_+u?FÙ@óSs ]Õù” %[óÏy´`øæ:/þJDt{-G2^'r}$`¦×Ñ(ðÿ•Q’-”ã½IEND®B`‚nðï(.„çûQŒ— cãyyñÿ‰PNG  IHDR°áç¨[sRGB®Îé pHYsÄÄ•+(ƒIDATx^í] tUÕÕ>÷M™ c„È,(KŒ&…Ú¨”„–:Ð6RQD+C•¥ü?v)X&Ñ"‚²¬U „啚0ÅV­T‰ŒeH 1ã›ß½÷ßûœ{ï{I^^Þ<Þ³á¾óΰÏÞßÙgŸáíˉ¢H\7å[ŽÓB‚hOÂd-'}iHÆç$-Ñi‰ƒ‡¿œV+ò"qD£!B¹|@šÃ8[øÚb-‰®„g¾ Vö ¨2›ƒ¨0lbÐaq`´SQêAÜ:šYGì"±ž+¯nšŸ‡ù³†ri)Ý’5Iɘ-LR¡’d’BiÐÒÚAAFyæžPP }xŠCùÛYOÍööß4S5IK3o;p4·ŠßŽg™8@׳¿.5Í¡çõÉéÝ ˆ&†‰$ª)j ”Y8ª! ¥Ì“ûè°È‰Éí¡qA–d²J*DÊo• ¶qøZ/˜HÝIq/ª ÷“¯IF?¢µpWô„$Qn½ŽÓè§×éuVQÔŠ¨tž“8D Kd)Žy8…ÄslmæÙ0tUcà Q1 ÎsN%Ì™yÎ.rZ;áyÁ®Av-Ñó0Epz:õ£HäQ ó»NCD1Y$c@Gç‹™44[ЏûJ©Z’q…³c0Oè4œVàX°tG'AœÃEðmg¸00,›èL ˆ9Tàøˆ‰`Û±_º>ÐtŽwHЪ`ÙÀ4´ÚI«…ÔœÏMçÈõ»H¿,Â5‘ät©p’(&°<……ô•†~Å#ˆND& Ä€`GËÄÏ‹zNømž¡ôWW èÕéˆu+‡WÔ¼õq½` Ïn¼8äí6[W…³ú|2…¼¹øâìäéÅV\o^ð‹†£ãÞÑ Ñ<-r4».âd@œ›;UŸ=„ÀzÐjë½d ëÊÙ9SÁh v+šv[öß¾féu÷\#¾Õ.­o Ý jC Æ’ˆž®/˜Á‚ ¡ã2AI=ƒj N2à¯F  N8¹,©Ùø—´þËX¼êwo$ŸiêÀêîÈöd³Džf÷.ÐYÀhqez¡wR g.w„ÕiªváîL8£Ç>‹v«V¤o¿°ø×,ï€×và¶6€†w8ÑP4R84ŠÁÈ“eÊÓ=i Úm·yå#HÝe®¢`‘Ià ×:njhµ`°309‹{)¯„EK–49uìыϟ5\÷>ÅsÊ]׃b: ùÏ÷.á”{gmµ'Ì…æð’ÇÀçÚn÷ÀjS  NXXžb˘µa'ìTü뿤Á7uá!˜€ ǘ.R»R.€5I‘:E§`×®s¶íqÐ’UbÊú•Ä÷1~2¾‚V¸ÇÿˆmÿY0çÖÂ×Vö̇¶²'|t´Ð¶¸[›²¹=NÒ‚rì³>—UÛ­÷jf¥\2Wü„fë´x›¯NÎJqW'TÞ†0ÔÍ“ím+—kpöT|¿×Óm˜àÊ¿Ÿñì#Ø’ :X24 ØE€¥¦ÝK•l¯J釭ä?Ò»R:ÀëP| !¹iJænÏ͙ҳò†F©‡Xçg´Î—ž(<àJØk%ÕoÖ1š¿Ð»«¡pVúƒýlfbOmü÷AÈæqTùþ%Œfñ°‘n%³ Û p`›Q0Gà‚ !ž}Ä9Ÿy5‡h5œ a€€'j‚=Ž* ؘÒwo;e(·¼ T#À^œ‘è!ò‚VеÉÂ{þ‰ [’MZ’›2©©Ùü×µÍ#ì·Íz÷  ÁÆkJ¥K³Y÷ñÇ8âJš‡E‰BáÊûLùs——[jHIWW$›)wï÷éqb¾u¹pgÞ´¾9ĸŦ/ÈÐû>.O®$䶪’îŠ_SyÇø$%³ñxf0¹Q©ó«Ó68· a#ᘧ4OÊsSCå1P«†’÷îŸ{ãÜ城ú|h&Œ<¢J$IDg¢$ øˆÓ?˜Xލ´ðäQC¬+WÄ8à½xkEÑpìÀÛAI`ŽnBØ *¦!ÄTÂŽ¯œÚ•Q—Ð9=‹x°78d…! Ÿešô„qò}–tÉÑårêÐ~ÄMv°6è1)¶¦±-Qúú°ûä¯ ?²UC%ÔH%£”dÝŒ­¤3*¼täËLÒ'S©PÛ"›´m‹é™ÓJ¶-1ï"¾—–Ï(ª¿$‘!×i]êJ˜ówõw5¼s莭-„ä,/ë)¾œ6iàMvàO°&°ßYDaQdH5 ¬¸ Bpˆ¢'ØýWí`„ŸèVöÐwã׸/˜ t¾pØ4І€ù6 h’híÒÉ9lW3iµÙ“8Òþ?må‘nYý¡èG Â"ãHΰ¾$=?jä&ô°%1›ÐƒZ4ð¬”ÅüIx'§ÝG©ìÄQ8VŸ¨¤ß›‡[=ÎûEŠ¡ Їtécu- Žú ÅÒj×D¿<à2 h ,²³!~TÆ wà,4סNSþw­!ïuœûÖM9¬§3ÈÑ KØ#º°¤ËKØ«øþ¯neTŸŸ3 ¾¼ðàM(ÔÔî}?8ÁÁn7Ì) xØ¢ û ¨!œãŸŽH À Ñ2ƒ¸Àd up6ÁÃI<˜€(àTêÕ‰DŠd/©DÃâ¶ÇÍ( 'wü‚ ¹ «Á…Vø¨_ÿˆ>‡\^³r;D˜Í +ÿF¨!½&ÁòGWø€>ŸX7¼|À¹‘ Ý4è×?.¯ø¦ž^%ONn]hzä?üç·.4^3@NÒeÂ`p± QšÐæ:Ô0ªb¡Á>ô·×ô¨ºûµg›åªX…þF˜zœ‘" ¹-•¨¨†€¹£ÿÊm¬çæÜŽ K\[Š—~} Kì³í,'Ø5 lÊ€‘ ë‰tIÆ­Y*p¥" Ÿû¬tØ-t_¡Ý³ý΄ÆÞ³5ÜÁi‡gÐm 4*#1öÔ§öÜ-BÁïNWþeøò ²\†þïj¿êÄÙ[ü턎r¿c ÿ©œ“ Q—:- G­[K®â‡Â²‚ ”UušÏy½A|øÖzåK›æ}Ù‡ŸÝÓ}q‡!çõËâÃ?1£Bß\²·òŸD‹l…*u’v„)+/Žœ"9ëêÅGäþPUYEô÷Nȹ–ߢôœ¯»€;J’™k×ýyÖ±mJ¨ tÈo`6Çä SlBXD:¶M»?N½õÎsMÆCg\Mð`<‚Ú¸tï°Þï³|ú6~tÀK‡ÈNPqR³ØŠ 'ü=؃ôH!éZÀç0sp%‡Yøxy‚i8ඃ*)|œ¤ð[.­/O·.`¥ƒá~†±*¹¼Bšh„k± í%cÉ_Içľ|álKZ}rÅ:ícl÷iÂ…²Ô}ÕXOÏ[ÁÆ!›;¹˜pÿ2ú’áD9?­S›û óØa ‹•J°ìÄg-ã:-Ž”)=¶4Xj{ª“6BËhž:ÿ¤4‹}øÉ³-0ÆL_&ï”8Àõ(°å÷fß×7ˆÀåX¨DÅw 'òzk3zr)Ýà*,œyÒcX^âÞ'‚ñhãV˜#ð4Üfm6‡ÕÖlâ´ˆw¸ÂFiTü—œþ¶®÷“!½ ¸ä$°@ÿ3@hu v¸²Ee¯ A¦í¬óŠ‘è²+!Ò àEþÊe àt\°"Ø‹lÖÛÑC¡–D”Ô¯=%ÈÏgŒW h2šš[šš››››šàÆCsccKcckS³©©ÙÜÔjk4Ú›LŽ&3ßd\ÿÁíû%XÛh<)×k™’@(€’€Už©S:‹[¶ÕÝjˆ ªF.›†Èµ8õø!˜‹ûÑb芴ÑÐ UÝd~þ¶ã_ΛÙtîŒAZ6#a+S@Aâ\ÆÃ©X°#ðÒ%|l`Tô|ëºíK*rßøTãÔ5_1@ô$=ÒІoùkñçÔÜHÂiñ)òNßöç=Œp µÙÒsÚÔÌóÊÂ5L-F¦išÏÁÙ*Aä;ÑñúùJ¬w”­ç—n6¾UÁÙ-p¡‰Ú0e´„Æ[aò¯/èž½²­5È“‚s+ Ú4Àh»÷lqC—ÅÞÌ\aDØïôKÙoæ`*ç`áûÓ0›RÍ ƒ>bùöšë °`iÒµ ƒ í³!œ€€¯{Ò|Ô‡³ zz*Šs‡Ô‚ˆ*‰v—Ë%´ûL‘GS]Ö°7†´Äî®]Ø2fÉÊ—°Þƒ ø¨ @ ¤ n¨ì`U†'€ƒ-ca§’OuKŠÿ)Ü‹Á9c°'¼a%?DBpí~¡jÚ‚P·&Õ´•[Gz-=I‹ƒèÎÀ*ƒKw4ãÆÌæK §WÁ&V©ÍÌÌirv?i®ëú+à¶Ô b‰* bIZa UD˜KM¨€ˆ%i…Va`r,5f×+±ÄšÄ¢Œ—ÐT ‘Xrï²·* ºdQbeP‘Xòî²·\ʸ£é1µS¹êC¼­¨_9ðø”·\ªÈœ®#§öÓå˜ÄKn÷• žÿ>óÉP‚3Lí¾Ì.yì‘îã{ÇÐáLLC\?·*ürÜ¿vb˜OVƒÒG4DPÚS+‰Äõ*#{ÐŽÒAWǬÂÒ‘„‹°S”Ž] »²qÃ7^ƒ)8€˜ÑwäŒwÏHÖm™1sK×øqéUÈ@™GêËÃФߴÆNÁà‚”ŒÞQº9¼")ÿžä£ž²RÈ÷—¸ª6*!uAÉÀ}nZ3aÇœN½Âòп æLøv͈鈭A;ÖÀ3DIå\]<–~œðmbÌ>𻋠ÜÕË=oøü _¹Ž„ºwggöIãlÄ jŽå¥31¥´êÌfé–€¯\sJ)´TçáÀ9ÓÀ~ˆéc{Õž£žyÝÓŠ §O_<ýë¹US?”¸æì3pðþªëçÙB2W/Ny{.h¢¢Š5F@ÀåÇð¡>QBç”xÁHñ¥©åë÷PžÆ•}ÃÆý²Ï|,X¶ŸiŒ 'zÍô-ûM¿z``íþËR Óôéêq½ÀT› E<ä}ÐgàÃ7»”Ë´ºf%€Åþz1uHõšî(ÎT@ÀÀ¾÷!òä’ Öa¦{à§™‡ìA£+–¬o·ëˆÚ¥ k„YƒÈóE]í³;S™Â®Ÿ š)¡®öíjœ vŒ»ÜiÌ|ù±çOz€•ÔŠ¬3‘É×Ñ×å}dEx­æˆÀ†K{8c|Ÿ·®aùÒ{Ó¥ñSµÀd!Áh”Å<¨`ÜÌêÖµ@ñjëºf/1^ ü Ñï"* ü`]B¾$lïd"a97W7¢ NGT@‡qSKL•qÃýpv¤ë+tl•‘<öp÷€—áì˜ÚV(89CGNî#¦Kê” öÆp* bXx¡ ]D(¸Ãuª€ˆaá…‚t¡àj ×ÉÞG¢†„ç{ÿ¾=ûÓÎÊŠ]áÙ=¿|¨þ"¼4Á"EIDº¬F;²±]Í™Óõ÷!.y ˆ^}"v¡° "HI°Ä‘zÚ±1P@D¤j£a〢!T£2l<†T@ĆœÂF¥ ˆ°±:6r}=VlP¬RHïsS5Dhسµª€ˆYÑ…†ðØ»¡:ó ]_aNÇbr ß?¾$f)¯n]S@¨SFL"ä\ÿ}ðõÛ¾jKåwVˆ_ì·|þoã§ß˜Ë¿6Aüø_–ÿiÚ^e<~ÎæSy_ODª™ÛsàR3×#•ëÑ]ñŠ{eè33R®èžÔ³»"¤gtKJO1¯óAv J-Œ°ZV¼ƒ^ÅÉñðÞ^x¥žƒ³ó"¼ÐÞÉ‘gïÆ—¯úD—:eøÄ®hÉl³ ­<¼…YDÀ{T!ð¢ÕNLv¢0oÿF ¾]pP-2Ž:|ü¬[rü32siïAž:ãÁY€îÉN½y}Ç( *£„¥á úÞÖ ¯u8Þ×N#¾û>Ò `üóE¾”po  Ã¨bR&»õ(#•ûï8¸‰QœøW[áú“Œ'×W$&A„÷xS¡‹Ï­XÎÁk¾5\‹Eƒ8 âªÕ/ðÒo|•ªoóÂåÅîžd²kyå§o—‰¥øìÁ­õ,žÙ¼¼-KýºË¿¥Žê‰ÍK™{2Vй!óÂaˆBr΃Ÿ&^xó!.Šãù³¢>*0Ø83Ñ<±ÀhÀ·>óܲ^Úá¯Å.ô¼Xyõêå²–bØ_/‚”Í[ QV1¼£CNÝŠ¡£1ð,¶|ɺŲê1èƒ{³Üäg”V,9öS枌¹!ó+ä\9¦ü0°Á´†X1föšJø¼èé?BRùÑ‹Oß•O* 9¼HR-ӷ̉EHH,úŸE‹ÙÓ‹/!^[…!Ìy|¡_LôzÊ ¹ƒ:¶Ð™[1È9!.9z²l;ægu,›=>€?2–â•Ó±Nº¬Œþ‚Iõq€Hþ]"*?ª^?7Ÿœ:^M^,`¦ÇÙåF±$3AÀðôS’ì&4ˆœ O_]µ{«!FW”ïê(]ïÝŠ™>¹!óC> æÂ‘9€†![¦3ËâäúBVOþÜõÕ #Ó'åÐÅøÀ|+òýh.¢EÀxäE)ê4Üâ§)äÌja¾9ØÁ7B½Äì—Éüq0HaßRúìÁ­XUåù[Â< zÎߎl_mœfYô Š»P’ú©l)—ªÍ™4½ú£2prÁÉ$v/‚‚n2ËqáÓ8w<þûEFèàhˆ¯ oÓÿþ—JÞ$ûŽ,"ù³§Ï…Ö"X‚O.©zj?¢yK¶‚€l¢Ê{ƻɠLÊg‘V/ŒjÎ'Ò‚jCøÔ²¿™UÂÎyoCÄ$ üàˆZ¤ë;•’kãëdÜK¯iTE à›}ÕUF(8ëuu•ëÌPé÷þ>„Ê«ဪ!DÐÞvS„·œJ|* DÐÞvÓÛ}ˆH¹úRŽy+Iùºv:¾®OíC§c^þ¶3‚®¾T§cAÁDNÇ|DPhR+‰Z 7|ª!T"jeÂT@D†ïQÛª ˆ¨MdSÝD†ïQÛªª!¢V4‘!LDdøµ­ª€ˆZÑD†0‘á{Ô¶ª"jEÂT@D†ïQÛª ˆ¨MdS¾Gm«* ¢V4‘!LDdøµ­ª€ˆZÑD†0‘á{Ô¶ª"jEÂT@D†ïQÛª ˆ¨MdS¾Gm«bõO+õ-@ÇÕ]qÚRa.mÁµò€·ö A‡¦¨!ÆÇ|êíÖWלgOüiÉšÏQcíûüè+%7ºo%!%íe§ƒâKSË×ï¡-úäÐZ1 PO8ß½Ð5é&pÆî¶­ ÷½rÞåñÕg‡( ޲ñák+]Ó‡9‚TÝ‘'—T0þxp€íÊ@TûKÖ3õ®olœ–ŒžGý&»i+ë¶©G?[ZypêxêXÙ]+q(Ç u)8€ 䯥ÛJ(·°ÝS{ãRº^“3»²!/Ú}ßöÍá¥ð:…NÚÊÎ+<¸–Ì¿7‹6ëc+Acl¬V¿þ>Ò}¼ê….Vå,ºÕû‹“ñVO°¦ŒxãKÂöGDŠÞ}ÇU@¨€hÃ* T@¨pÃ޽ôUÕ*:T ¡b s¨BEG˜4½úÐ冴â€û ò>÷RvCIq¾PÔ‡úÔ¬î82 Q÷e)™K:¼Øo1TU’môÆÔ…¼rèÍu¸YRÊ6RLäùMb<  êö”“©÷Ý>joÙ—K—Êgòëx—ÉÃiç„…x …áÌ1|3=ü-¹¥À{Æ•—ǃP"Ñxy¼$8d«Œ3»v¢¼,¸®R±ãKzç’žY³!þÍ2ú`?î2±x•·K—'”—Íg +èðâùHp5Ú †Àù‚ÞOÁ±Kg ¼Ò²l¶4Ä)ßü¹1•uÿ{©üÏðv$œk–cVŤù¨3â@‘ïBHóE…t}aÖBgºÒõ×.ûy—éÆÛÝ{ @†÷íd•¨"ÏÌx  $€Øµcï\ÉÄ+µ8k(ªBaš7¦êÞ].ß÷ÿê³µ· sêƒ3›,!ì~”æ@HQF\f p¥jø|¦ááJ-ÒíÛ]¦ì"ï ‹‹õ÷ƒü«–³ù¢lê?>îGÌ„¯ 7¦@Ÿç_.½1á™E  ïí¤¯GðíUátaßRy[©˜”©h€“!-Ê%=’¡Þ© )c¡r§†ˆjUÃÇ•á#_m)ØPlŽÆx}* b\€Á&_D°9«õÁ:\qª€ˆU†ˆî`"Ä΄BÔsµZ·ð.îžÂyUÉåÆ”ä Æ›”޽þªT¹Mã¼áâ, Kx“'>å œÂ}U©¤Œo^ g¼IqJŽº ‚X9Ô®h\x{ô“’³,oòÄ'h¯ü„—«J»äiɽsðÉŽžfnÙÜi_|L tA$]Ï¡µ8oaÁ©^oò@B´ uï¾±†]D¨Xrì§tì‚#)tæ¼µÿå£EìN¬›<¾ú˜’\9}!ÊN‰<¦x!åF‡¼Þäñ¢©èÍâÿ:ÙwÇØ…ûßcž\äónp$]îGûŽ‚µàãÇ]ß|LݸTš/õÞuŠâ¦Î1%ð-/ZA;Òið&OôÊÚ{ÊüÒÊM'†¿ƒŸ7¦œê]n¹ÓÅM]ç&À2—4ŠQâ¶3Þäñ› ÑUÐ/@tÙ—ÛPxÝv>Þ˜‚ë0²uòe»AéMŠgRÑÐé Þäé’!±“!4€p¹ 5öÉáÜ~ðíÆx5”Ráímê²Î›”¶’À] .Û}á"XÉ^ù"–´òô&OìÈ×gJÕû>³,. dNדš=Äx9D".™×⤫s* âZ̾wN„ï<‹ë* âZ¼¾wN„ï<‹ë* âZ¼¾wN„ï<‹Ïp’‡* âS¼~÷J„߬‹Ï‚* âS®~÷J„߬‹Ï‚* âS®~÷J„߬‹Ï‚zoJ *ˆúCn8àô ³ùž*‡“÷üò!î¶ääbºì„ùýÜÄd‡Úkà€@œ^mWY“°Èœ¡gB]e$,ÜwœŽ…Íí˜Êú(æúºV·¢X@‘"M2"Åù(m®áÎß§ùRƒg£’x»ÅÊ ‘ú upج¡kBgHb•s4h8­>9I«Ñº¶˜hýUÜz ‹É¤ÑhVxøƒÝÇŽi ´ÂYsŸž©Ås—Þ=4ªÓ\›N´þú “±eÝ'Ç·Í6ñ¶ëâdÇâà© ÜðÙð~Ió¦i§!­¿NÇ¥{‘ŠtãÅn½vÌñF îýhñø÷wÕiõhý…à `‚·F% fŠ[¯ÍE>"Ïó7 ï ýÒtD¢õWÞŒ/(íÿ qx›Õb³Y˜uÙNC$Z}+ZAé"›wð‡‡Ù2ÑúëÔáˆ8™/PØ"¨º.Mý=µaÊ” §üž¯»ê¯Ï€ vGðcíÆâÔÔt§n¬Á&j7Mº©–µµûYHfwðÛ•ûâAGÐ(%[ŠÏìß©PÕÕI…Fôv‘!‘ôõEÍÆâ‘[‹›Œ?¼êÑ1S7ÖÒí/ÚTͦ©…?¬=Ôô\^Ð[–*ô¸Àò³QèTj!)—:ÕT.~ºÛÏšÚ“Ø@mîû 0 PðÖ¨Tà8Amû²gÝ£dÍʲ¥Ô[ž;¸’lý¢†¢fSѨíÅÿ>Kþ:>tVÔœ¸ô­áÚ/¶’5ÿ÷¹Ô-ÏásÍÆiii4NÛ=„ÞmÚø KÉHÞg¤<4ò¸QƉoô¸æîbƒÁg@øO‰Û’5'~˜\”ï*ïì!£w;…Kâ²y£ËîþaK(Ñ€4yš0üëmMŶ£‡tqö¬--- ?=wÝlyç¼#?c)¿úç·kÄÚwO?¦)- ËnÙóÌècO±"?m›è„XðŒßðìåÍä'Ï‘;ÉÝ«G=öÄÛ’%èÄé¡éØ“‡îHpíÛÅé=Ó!Þ¹Š<ýšüêÃy”°ÁC'£åT±È)øñÄA²êNVäªy;w­ bÖßìü"qþ»åFqötù¨d LÑ>edÏú úî²1½20‘/o5P&˜4pÖÖ²«¿nLÁQ˜çŽàOØ©U?L‘:Õk ùi^öýO^5Ÿuó‰c£'9Ûdô°0pÖ«¯ü0…±¢×ÿì™øÕÎÓÞ÷[‡zÙéí‹\áôoЬ¿5}´˜5]˜ª±ð5Ê8ì°smɺ÷õÆ9츇­„Dë/=íÜë³[B:“ !©Þ˜œÁ˃]DÝà~7&Ñú Œð͆pØ¥»#v#tÃf³B„ŽP8¸D¢õY‘<öHw/Þìk6¶ÞðÄŽ¿=3åÊ~ÝQvüŸísRGB®Îé pHYsÄÄ•+ÉÙIDATx^í `åùÿßÝ$áTÌ´Š6m½IÄ#„бÚj姤ZÄ5ª(P±Š‰¢Em@°Ö¿U¬ÕB L¸­m@’ ˆÊ%g ÉóÞcfgìNv7Énò}—Ý™÷xÞÏ;;ûÍó^6MÓ˜)ØFf³%Ñ ÍÙ‘ŸN²©‹:ñ÷“Xrs¹éÕ–”¤¹5æò0»Ùó蹸è´gü„í‘€­¡=ÖuI@3?üé½ÛL½üDß‘¬ÁÅ:ÙÔ`g’ù9æâ‡Sˆ®fÉ"r2sj¬þ;­üÇæ¬l†t³_û_¿ßl]:wídïØ‰GëLR­K¥L:±Î†$‘©µÆ‚ÇÐphKh—B|;Ú%TºÀó¿56ªŒ€ßóŸ¾nNÆkcØN8ý¯RïP-;zÄÝðùvä˜öÙII7Òm¶“ú$§vq¥¸S:uëÚë>©Þ: ï‰Br·>Ê@Â@@@Ú9ê’”Aê%ùÑU§Ÿìä/™ì.æÑÕEªWn9¿^Ox¬–»Äê÷g»ªµõÜýÆ¥›íŠYÓYRíä“蔦‹F{J²ÍžÌl)É)Éõš–¤qW[²]£÷m\ÛÉ“ò }¤“š›Ñ‹‹w "€€´/žŸ8í«ò¨m»'`ï`£¯€Ö‘K#·ÍÛi;á¶95[’“¹Ýg²FRÉ™ÄRÜÔAjKCÔ¸xÒ=a4-Ùδdv¼N ZK½¨u'ØÁC¬¡³¶v .ÝR“X“½Ø©—4ÙnK²“Œ#'Ïs×HÐ<.›Ëä”sûöï¶ûævGÀ#úA=š‡i6ÿÃÆãöÐG~’f È@ÍoÄy›ÛErŽ~“Ñh²A½“«c5íÛ<; ;½³fº©ÄSø¡Þxz!àÔ%»¸$ƒ4H›Ç£‘„”#´køÓ¥]7?* Ð~ Ž÷$¡Fò‹‹7¡ŽteFo…8SÊÉKLj5—p‘ÚóèSÈ¥í<ÎOîªÒBζ.´Ž©ü}€t3rôj8!×DÁ›Fý¤¢$:!–Š@@@Ú c°›M8¼¤Vsi)vÏmÃ;N¿¹WßSí½ JèΧ¯,;à$×àd6'«;Î\µìà1ûÁë¬{¿é–ÂGÙé^7¿I®Ñ]±IËô(~nÀvÒZ¨&˜ Þo`öF7{kqÔ7(Cº¹i˜šçŽœŽó~^{øÍžC<Çkµú:ÍåÔœ |µwªib˜™Ö &&Ðx¸†:W݉cÝOÍxbÑ”wº½üæ·üÛµæ¿QëŒû PrÍLÀÜL[–±wÆÏ9Ÿ³Öa6˜(üÅÁâÖµ¥ƒ€@"Àþ:‰Øj°9æÌ«¤ ¯Û·“Ƥ¤õg´ÚZ}Ã©ÓæË¿™8†·1ê$¥!nΆ´¿~,Ïïºþ'ä?;æôl; ÝD‡©œ¿Ú‘¥ˆ rN„8%¿`œ¡%ÜøWÚÞNÓ4òÏÙTZZ5´§º±¿oè|ú¬®§ÿiQ/ÏÂÎ51ÇË …nÓ ~wÍÎÍ[Ö®¡õë ¦öÕ^è–£’b›[ŒŒB6  SôË€Ú-Æ¿Lš³ÞC=¤õ¼‡tÏÔñ2bßïñÍMi¬›ÛåÕmcÑ6JKÁ ÝeïÀ_ÝbsRñÞwÇ*·ù#é3Õ]ªc|¤±oüo«$—ËÆ’’’“Õ^ ¤ü´Ne¿í̾Ù2é·elàõµ—šP°wÒ¦ÍâÙï–™œÉXÍÇÒà‹² lt§ Á::ŸœŸÛÿó?Ó2Ä?ãb›[Äf !€€€@óšÕLóvhMX„–ÿøî¾d¬~‹VÑ.Xgü¿Ë»ÆüƺñC#õÆc*3M¨7¯£Ó3z³ÔTÖ³ëD;–Úµ×O£mååȶõæcÒ¤…;^Z~œ:Lù¤RZ7ÄæfÃ{hwvZóȬQo]Üpîy>Ý®ºT?•J"‰Bù‹ûr>`ŒŸé°z™{Âh¾Å½cÙÁ‰¬ÛŠÑ¼Þô¾ÿ«.A%é\ §̯âï ¦žZDÒÊçdDz7»³Ïê³Ïç¹é‘“K^8i;>òÞÚR~’ÇÉþìˆí)Ó.¯ª”m]uRßÄ•‚Huº^YŸ‰„ÇöMåç½gTV¹·ž´b4ÓÍ3%ÿŽŠ®Ï ž[`Ziž¹”z3…ŧð@@@ n8“¡ÁÎh‡yÒRïñõ­ÃRNKcIÉ$¬h2©æ¦!nξóÞ5½{ùÛÄZ!6»ÇžtÌɶ8öó¿± ÙÊÈcfk`GiÂè·ìëvÖ¡+÷¿ÑÜR[sS¦¦­Hý½n~\h£yåÍ£nRZ>„ÒæžAÂëÈŽ-Ìy¾“ÎǸcïn¢^ÔQ‹dÿöÔò!6áòKžð“/~vÙ_édæè“^<ñM‡Ëˆ÷ž…=iý^bÍâ?ué3‹Ž)k“'<•²0g[\´¿ÃùÆÉc…õ27–ÝëÓŸÿWÞQ»“"Óy÷ÒOØé'n°ÿ‡V9aWtÊflÍÛ/tùªÆk[ÍñùŸRÒ3ŸþשÚï:ŠóîüÉßñ]&vnuú¬.£(þ>žûù'lSþÕù¦w§<®Ÿ9V¦²âÉc¶­K;Õ“ü"±xðgg ó¶QÑŸL š[´‚°¹”ÎNƒ[×G¶¢ò {-7Æûø!7  ÐâÈC&ŽÉÆž¢|i}ÍKà=¤B;‘Sí›ßzÇd}sÓÉuFºÊnóØinªæ¢ƒ÷¥R ­äSHb Çí¦ÒݷÔ~üäõÖ‚Ýã¤UäXRŠÛÓAd*ûXÉ?Ø‹u¦÷Þ#whÇLVûÁâÕì7ÿ³´S9cÃ/ØÐé(/½æƒO×îíõ¯:¾ƒªã?¯&±Üò÷§ 'Ç!?¿zƒ§†2"÷PÒ‰¤‚Ádäî.dî^Íæì0~#‘w^wíÿ%pýÚM¹)»qŸT{¦pÁ­]ïÊìÄåO{~Öf8åÈH£sÙÆ®êpîüµŒ'|zý·Ûv$–ÏÑ7­¬‚©”aãN3¸Õîèǹ]òE§>lÍÁû¸ @Wáh‡XG–ÜAJJqÉECÜ<4¦,ˆql´†ýþ÷}QtŠÐ÷Ïio;WoI7Ú&Þí´yÄÄ’X6ÑØ@9wÒAK傎‚O-I _ULÌ%“x´¥ÐaKIâî:{ÇÒÝ$xz<‡~@}~½²ú‘ÚØ·uS/Ö»—Ü_‹BÒÑÃò»ÏÆ÷Ýzñ­!xØÏ×VQ“D†v!§±Ë:j¿íàxç_äÖ"ˆr ‰<“2t;ÅIÃïlT*ô@R¥sÞ§,ãŠ~9‡Ü£Îc5oüs>äîíÿãêtÿ8s\ÙCk)}Ï»s?IÑäÓ/(7ãc¿Kêº%³n?tvÓ‹£dorÒ©Ü£Üï8ðbnFR²óœ›ë̑͹ù¦¥ ª*è¥dePºÜþδëûkotÉ–ÜËâ@⣱Á8@  ßqyPŽ#HºÑBn|¹]Þ%JûhZŸ¹ïÉ_üïîà.( §-þ˜DWoÌE¢Íæj°K¯[‡ÜëF½£´þ.{G‘»Gª6ÚüŠú åP8é< ¨3–\n<Úp!©£ÍFI7yÊÉ3tMÖDzÎ8*¾#ÑÕí¬!§º{$1Òy2P¦zCõÔËJ"•f¼÷FàêP÷æô§’Ž~ðê¿=ƒþïœóNQN/#Û$^®ž¹Š+þ‹¥_:åŽÚþ¬~õ_÷¸Ï¾Äe²ÍkgÁEeN1Ö‘´Û˜XaçûfÎóo¤¸²oˆ[·çœÊº{«ïL‚¸ñ´¥n]Çû^Õqãç43ÄÌïãÿ3´OÂo€@À$ฒˈE@hç+»Ïó“B绉#èâž ƒ¹ðJí~Ú[U6æá£ÑÈå&ÆÃ)=Ľn^‡šp)ñÐDž®Ûè#©'9±’ŠlL>‹¡l´ÙBr’\"«Ù¥õìò±¥CKÖXÊŸžJýà²äÒ‹^˱,éxrî)Ù¬~ÑZذƒ}ï=IY•ü6%“íŸ?u0ŒäQoÖû´A¼ß’ü|Âù¨ma¸ù(<¶ž•“ ¼9#㛽K7QªÞÂ6ãèðÁS¯ÙIìøêw©ÏYÏÖlÏ\ä/ŠË#ßüWz³9ìÿ+vrñÆýÜ>XwMîñ×÷Ô…TÝ¢_ýyRíøºŸÑîì%O–?ûòè§™;—³’l‹ÿ4èµkënî­Ýf§©©¹Õý´cý ;;VÅö|dcÿcgôd=;³n´÷|2I7;a£Ýø¬Qz‘®5¡à< úê¥UšÎÓ‰¼^6ØÀÔfêbMúª$åÊmeӲܹ—5t9ųçÝÔ ’¦gè# §1OíÆN¥eì§¿møºªÎ‹˜ž[§}9›‘¶;çwÞ¬®KH<ì@§²íEV?Éaÿå™ÔýàûNo¿™4à'Îû!7þ«’ÿeîÜü†.ìêël+®$iµ`Òq^–_‹J3d-mÚi2 ÏY7ØvRNCΩI¦ÌU-L52§õ°íd‰ÂöU¢on—:ƒ¥­ëÂUð+Ål[kÜ”(@BàS×@ˆ€ñ]p¹µ?w¨vjR“l»Ú;v²ñññ|kxê%¡aÓ¤t«'éÆhs¾3}ƒ«žö0uo=ªý|«Çví1æ¤y©Nv„±ú¯Ø×ŸØXßͬÿ)RºÙ:u¤QkÔûÉõ½$“@K¢‰ª\”Ø4ïÐ4Ñ*r‹U·><_©Ky‰Öx‹Eð¤Ùª§ré6èÿ]¨·šT—n=ʺ^û•!Ëš”‘A@@@ ,Ÿ?`„€Ó^IÚzI¤®ÝíÉëÖ‘ÔíÏþ ¨Ä: ´^s“zÒwª6¸œ‡Ox¶c7|¥q鯵 ‹v²†/Ù.Ú~ÞWºÑURoä~£7IÉv®áø;aª1«@7<„z [7+ìg°í…Œ:Cô渺ú»Ê¬äÀ­™dìc#ÇÿiÝááuži1!¢@dbõ§Kd¥#€€@ëðSo»Ÿ±}wË´ƒûh–h Y#¯i6¾D­îF^77-«+–qkôJ+À¹œ.§ûpƒ¶ç䌼uÛ¸ZîÃ3¤[ u˜š¤eG“õ¤ãªMº/ÇaN8CÀ‘~Ô{Ké\ ×-¶¿[æÕˆ[Bf’t2uz^*;¢@@@@ æü‡ 8µ;†Ô?5lû¦{o:üíî)Ô¡IK·Ù™ÇÃõ¦å¦áI·Ùiê©ÛCÞ¸$ÍÓ@ Àžqù‹ŸV6àå’‚J·“XÏ.|¬)AZª-)9)EôxÒšm©#¶ƒZOÎØÕTuX[MìÄ V‹9 d BÀMA!€€´Oj”›î)rÑôPÏm—¸^šØµI<¾9àžùÿj_Yesºi‚>Ö:Lu¯›nö:Z˜ ›ZãÖ¡%ÿ[]¥ÑòÞÐvjð 4ÔïÛÀǺ5ÉQj;A@@@ Í€tkóMŒ ‚€€´nm§-Q6OÒ­Í7qëW°cê)z%wè–d7O†n}Ã`€€$H·„k2    Ð~ `†iûmû«9yÝ<ž:ÍS¯¹N¬^½ºÅÊEA    ®¿ñŽ{·Æ›g˜Bº%h›&’ÙféÖ³×ÀD2¶‚€€@+ˆJºÍ]VÓJf£ØD%pÏè Ãt³t;éÔ$j•`7€€´ ý{*#÷º‘t›qûÕ-h-ŠJl3½Bºa³Än]X  ÐühOÒ¸nçOÚØü•Ç>›i<šÕl6…–nÚ MÚ2Dlœ£ÿkXd>p1Àno ÿ¸rOßÍyTqI³ÑÅ`4j™·pM¦Á›gðìô>ñh{bJNJ–¾ A+¦æürHr&² ÂA¾ï¸‡Õ·O <‡ãð9l·Ûc/Ýf¿´’Û)v¶o¯ üµ¾Á9çÑ›‚ªH·fKñ•qhéævËÝwi§O.YøOªëÒ!BHÑi:)·Å›é*q¤ñëò«d—Hã«“Fz¡Ÿ”03k-‘VH%ŠÀ£øÉ7õ‘cRQÉÂH‘•2YÖ›ô“I’QžÓ›¨±¬¶W2ªBM©EÕ%#Î…WK˜Ã/ËJHøE„AXÞx¸‡ñ”ÀS"1ŸÃIIIÍ"ݦÜyM d¸ÿñ7ºwMyÿ˜ÀKnñ¥°šÍšÐÒÍåtJÁ!õ•RcBFI)bþ–É_.ã„f1¥ñf Îrߕ߯ïF|%Ÿ¼1¸è:GR2Eø”¤t¤×hCÉ4þuñ¯ž·ŽÂQ'e¥*[JTg ª@á“—hªŠJØŠd"ŽOÝu ,t7«?äæswxo_¿ï#îa)wð”P= xëÓ|§¤¤4&Ýb³®ýbz4ÍéÖ\¼/ìæ¼+§Ïy/6 -ý½éé?Ž>¯Xå½%í>Ý,ô½q{47½¡ÿé•Îñ7tVEâÿˆót†ßj"¥àoägñ†bÈ2È(â’¼ÀÓÓ ñ†Jyº©(ñ/}æŸxÑ"COfÌÓ)‹¥ízyÒ\UÝeµÈGf#Í’qeyZTÓˆ"Þò3d“<­**s<ÜÂn¯ý²–2W_aÆ=Œ§„|„à)‘¨Ïáb!réFF#_ú›Ÿþf3:·,~ïȱãä~ R0I¨ù—ÒØ/ý8¯0-˜y-£´B—â5õ¬¼v¯·b@Š%ÙÔ³Ei©´¸Œ‡„ ?„°’І:[¥¶I$b ñe RìI]¨. ™Æe˜JjV:ºú㥈ܕrTo¤6òɧ0% …¢Ò5(ê ë"Íäå*Y¨NðZ(«U•(²’f¼ž< ¯ŒS„¸ÔµŸTr‡ÛÓS"ˆT°Û™ëL¶É!6¼oôÓÍŽO>slú¸z퇎²MŽUkVnعú£ÝÝ»wu»ähôpA¸¾ '*?ܼK(~jáígœÑûŒ%ó/}otgúœës•1?˜Ùyf¼7»÷ô.Wß|L¥\—ÆÊ FRŠ^ót÷¡0Áõó+SÇ¢1©©]RõÐeÌ+¤Å¼GH9£?SºàäϸÐ7ü.”d‹®Ítu$ò1™t„é¿þ“'žê‰é½¢»·ôëÒ÷šßåVÌßrôè±£³†êJ¢ú•1c^©‚,‘‚ÏGÝÈä‹ðöñ¯Œ¥êþnò•y‡Û×S"Œ×ÍÒïm#‘Î?7ã‚ó2_9ôâÌËg\1$ãê¡éW Iç?eÞQ辉…&S¦RTõ>#c³pÂýùÀ¥×ЙãE‹¤»kã˜e'®öš7õŒæñǯJ}xb¯`¦yãœOž3#D)ïÁ?yjáô3™0ƒŽ»? ŸbH\6)‰Ã}[ìÊyGަÿ(þÛ-g¨NRCL)Ï—>êtý—]J7ï/½®”dW«èñ”ÊÉ[ þ³¬:b•öðÞM©±Œrx,ÓS³ã vNmè%;1åoº˜H Ôèz=—<]}è~?ánSc׸`#î½÷‹b©üƒcñ3_\y¥ò Ë¥ãQX.{G¥UvÑÒ*ÂEG×ù TCå(%ʳô!,Õ©9(˜rJJ+ ×8a)ÝZ„°Ñ’>„EŸ4Bõ8[!¬‹eÝë*Hr0,aÁZ"Òû¾„A8ØS÷°þgµþ§f¬ŸÃíŒp³H79Ômí¦ª5›ªÊ7íø`ãŽUë«V®«Z±¦zåúÞ±ÕX±æÓ™;?§h{¿~IJŸÝ'”Ì2§õ»š–š®Ÿùü“_gd š)Ž7§Ð¥„VþfôÆt³Ã¦E³CE=êïVþ8¬Y<îºG¦]×£{îÓÖì\|]wñÆí®YrݸiÐÇî=ztïþÈZá‘÷Ö,¦è­‡8ív;ëþÈ:©ÒÖ>Òãº%;I{-Ç“Òÿ×-vMµsÉ8þ‘Î]·D¸Îäþ†2åð ù/þšG²î^Å^M§(3©Ì´‹ï»{Õª»³(Ç—h›9íƒiÂ4²vø¡§ŠÈì»[¼ÓøK\x½Ø®Ãþþw´­yéî³ÇŒÑ˜Ð¢"¢*¬á(¨Ê‹?¢L™¶ŽŒs,¾ïžU«ï¡Bǽ´¾d¼PQʵR¯^—•T=Òm$.*1«K[áÈÒ»ˆõasÒE'¯J#Æê#•PŸ¥ÁÏ‹jñ¶P• eï¶²èKXHQC[Ka¥¯ðZZÄ’ý׺ÎJTÕI,n]1Ko«_"#YcUu]ÞëŸUVb†Šh~AHøÛ„ÞS:Ý‹ „¥šaÜÃxJ4óS¢Y¤›\Ñ-ɮѡ&(è««ÒŒj±èj£â­Ù•L¿Îg4{( B†¾™±Õ÷þø¤“NêIGϓƑˆÒ<«+>sàÀ»wϽö^|ó¬Wò<:3úQ.ªøOòúGrïÙïòÓÿy~˵®Õ<ýn¾÷î¹¥ëø/þÚÒ¹wß{KßµþxÛ½¾ç‘þ{í;÷-qxÖLãgDàg×"~·×š2¬¸öQ’—ÎøÏs99Ïý‡"¿yK_åÂé{Ë3êä›zVß»íJºü=·íÊm-Ï_Èó¿wqê¯QOÚÍ÷ž}ïËkk?[ñÜ„ËeEÖ<úcQ‘ï¿ÿÏsTîzÙ'Û%팛ŸÕ Í7 @æp*ûýKѦFJóHvJ†èF ¹&ûåE‘FMóPHh4éÔÕ´^¥SÑd]Uºü3«Rp`”*õ˜",ý›*% • “0¥¬ÚÐИÂli›²TD4©7‰@©1!D.D¨ÊSÆÑ¯Ù°d ÂÞ¯îa<%ô¿åC'VO‰f‘ndžTgä^#7‚qP?©|ï]®*²ŸøÞÏ šp×ñ½Ï¸SŒ-ûñ…§œQq€Ï!Ð#ó3ôñÃ{Ÿ’tîª_žÞR¨ôÒ÷Âz3’ïÚ¿Ž)3Ô9>ºsQÃ7¶®"„L¢ßÉœ9ŸíÛ·—þ£ðæÍýÜ–3æò~wÚÀœœ1ÃúyMÁ7Æþ»Ÿú:ý×|´Ü’+ÿaÁ~¶kç#4èMŒŸ{âôã¢ËuÿÝ>þË©bDÝÔ3õÀ¥pÅ–šÑûĺOLƒÞHŠQZnmPAÆäI3èÀ4…ð’MA÷¸>ÔŠk¹®šñk-DÝB¼÷’_Z…ÿy ÷¿‰ßm~s©?hè—®/¼,ôVtÓ]zåÄùï¯_÷þü‰Wr¦±ìg?ÙóÝw{¾ÛÃ_§¡X9â ?GáÑ!2îcâå*#ÅM,zç„^Â@Ñg'ä”\wMYË4*‘ç¬ò¿Ô4‡•ÿYãцÜöl6›8bˆÊG°W¤8<{9Ã@ ¬ Ìñh²C’*ÑIóÄjT—.Ù¤Ø1sÏU8¯” R(¥ŒT§«(_öLêhÕ¯*ŸÙRæÉ˲ÓR@Tž.sáa]G‰Ž7iŒÊÄäÓå›^¶ˆ¡Øý²Ê¡¦7œY2òÞož·”~ÊJYŽì•‰Œ:é"O.BCiÅm)"ªù „u9 Âê){X|…ñ”0ž'±zJ4‹t“Ò¬A³;5»›Ù<|1|ZzÚÎìv+9ñóhÅ ïÊ bqwŽ‘#Þ(ÐUýýÒ|øÿ˜[ƒ\õf¢–íøüÍrº€7þ‡[Õú#>ÀöÿÜ”sRhšÂ%§\Z±Ëg¥s)A“›ê§)ðXF$¼„STºÓDˆÝ㡤“üä"H:\¸–3Ï']÷¯?f¾¬Ÿ8ß7íì²ûŠÞÅkÞ+›8âñ£<ø¶g¾¼nÜ—ÏÜv åÔ7}Pù išú©ægÎ.gt!ÿå y‰2¤Áf<Ã+D†|N€4F)´[ùvšì)äžw­²ŠJ\ïÍßè–S‘)˾7½þÍ£džP¢š0’*Âm Š”SET¡’Ž(A–U¾FÉ|äeïŒ ¡J„^Ñu‡QI%W¤lÑ+¬l”Ùx«hÄ5Ž.°¤`3²0€˜’©ø „¥eÊ •™WiúVâÎ[žIAšŒid­Õ‹R¤²’R!*ée´´©qT»šTžž‘Jèmt]ª‚°×£ ÂâÅ=,¿kÆcO‰(ŸÍ"ÝNÔÕS¾žŸ&ŽôÁ¦¹(}ØàôáƒÓ‡]”VçÎÖ yúz"ŸýšqÏ\¸ðã>©7‡.\OÀë¨÷µVþàÅ}ðË¿8ôÕÞ¸ZQ? RµxcæioþùÆ>2‚gð#mÉã9\üà 7!¡%Rõ:jøðQCûˆ‡Éà‡õ8<Þ/ÿ²Ó}‰‘JÑ£ÝÊç‘®œdîâÕ÷wýv•üËEÛÅU)dÌKüKôæ/#È/µ6¢¦^#yE¬ Õã©TF¡ E¡º×ÌëÔÓ}`J˘‹1ɦ‹a˜þü5žÄF1ºWMyÓ¤\Ò“DRZÉä²òð:»ta§~÷tu¥–Æ…ÌPdº0Ó…¤ñá$žAXÏÉ+g•‡O5šêªÒ{zS›T¬ÊÏçaù·—j+–áV ä O ïãÞòs8į©õÙܹ_—n÷:²ïà×óœA£Î]V3ãö«ý.Ýýh mkï‹ ”štʼnánZ’Í>ïñ|s*ìa^×´‰¡÷0­©ÙI÷ˆÜIÞ»i©ØM]í¨oð)î%=|ýÆ­³?¼zÓbÛ±×'¿dþûÀgÆŸHÿãÀ ¯þ2MdÊ£™v5mOè»O¨wWSoÖrŸGÓ§¢LŸýQÕ.«Ê(c—R}÷LseMéŒ][M†{w#•yª,|l—HôDb+úæŸ%ݦöæi°"Ä-aqG…»‡AØwïbÜÃòÉbl.k<ñ”Ðw—n×Ïጌtÿ=Lk÷1Çzv|äÒ-é´DLZºUWWë•" Dû©‹‡—.5Ä7Õ*b²‹œÀ¼û¯ãIº-¾±¯iË5_8FTžÅ¿ÿÐÿƒ+ª¾De§ò‘yû%“ÏKùË«G7[¡I‘(¢JY$ä‘ovÁò÷–æ5P¦Ö«¦2ó±M 1`ÎÙ—n´SêšBX7ƒ§  ägq 9 þaã¾Â=ÜØ“O <‡Å3¾"ôo éöö__¾þÆ;»!q¾ý-Ýv|µƒÿÈ)¡$CõèzGi-oG©PCBK ‰$Tz« 'U°êݪÒ,9½ Ñð&(›•Èóí÷Ôí×Ð1wHɧŒÐÉx»–uó|þ6W_]æÊŸ*ööE™»·9ZÆ=,ÿ0ÂSÏa½Ç:þž?<óÌ–nQzÝÊŠm—M:Òùdz²¾7Ý6f&¤[‹k®ZºUVVRÅ·Àà§½n9³„“ÊIýEø^Ê8ósYe.E˜1Ê̤ûL}¤j”™áï2I+]ñÉ’¥?P¦ôÉÓ¯b†ð4›ll~“zI˜u¬¡k±‚ºh5 ôâ1ÙÂÁîã.2ßTò/6€á–;ßx<%üJæ§‹ñ¸Ås8ȯªÕçð AƒZBºEü»¿éy›³iz ¿oŸÌÒ-b˜ñ0´tÛ²e‹‘&M¥:"}µ†W$ÖMwÃÉ'ªá óñØ™ó9HGX êóf¯üp&e¦Ô’î 4©FÙ·jt¤ Açýf}šSUÆ`eý—Á×N)•´hDù*ûƒÊ>Ccš+¯h¨tÁÿTáàwïYÜÃâ b¸/ ÿ…ßí†{X=Hð”ÀsØ÷ÏuùÕPOxýý9çœÓ\ÒíÝun¡ ƒþá’sÒÇË ñ~/…·/„t[½zuøôˆ  í›Íû<°w«Á ×ø>L_„ѺnÎÛÚû®ï;ݰƒô]Ðcú•|µø`aê‹Ë].§Û­zOòëÄñ£t>hüusìëæõܱþ±ÕO³Úëönøà®'ê½ 5”huó¾ýßo꽩iÛÞœ"¶2‡ê’ÜÜ’jãŒñ‘Þ¨š‰Ëü|A~Šœs¼Q˜§¤„$"£ë¦ô”NO[P¦ÎË̱ôRd<ˆ8>vøÕ½¶zžnótôè±Ã‡÷:¸ûྯÚj•Q/ˆ-ó/)Ë=̆}ÅÒ³SŠùºnQzݦÏFÍ t6œ8vøàÜÛƒzãÊŠí—Ýõï”Ô³VÍîq唯ÛÀ\Næ©ã‡VO‡cKuæ…oþô¦¢Æ½n¼¸òBÛòQÚ¨åüUôJ§×6±ÿÒ¼jÑýIQr˜oN&š´ÃÇigx˸3O¤uPŠùfö êç)EwûQž<΄LŸ|*§«Ê YQ̺vå/^7ÚRŽ…… é_p4æMzù@@@@ b ݾ'gÛ7Õ{wWïýÆAê>†nd²–œòñ›OpqÖp¢¼n®=Œ}ðÐwU›·m\ñið-KóûË~O>¸Lzز‹ªK*T©Í6’+&fD£n4-s”,•pbe–ç&ŧ¼×uäüÊFˆ+%0ª‘Í¡TÒйQ/:ƒfF   mƒ@´Ó"[×meQŸº£ß}à9vx1³×Üsìë­Gvׯ=ât5°Ÿb¬Ð7&¦)ÄA#À¶CÀ,J·LS0*%Wq‹ Dœ0‚²@@@Z€é¶ž©¶žÝSè8¹'?Né‘Ò«Gç“»w<©{:è|®»uî°c—ZUÍŠU±”nrý¶BÄ eYŸÎµ½ÿ¤­ô Û?·½ñ Wµ    кÈßVïbäes»mn'££Áesº5§Ks;éŒJs‰…lmIMP/±”n;Ï"N(›äH=Ë™| ÷ígj©][·™P:€€€pÔOJG½Ûæ"¹&ÜZ½“wÚè¨'õæá¢Í.vµb)Ý"vžEœpÓó¶µE6{J¯”Î'[¬0¢€€€@âàÒMkŠÖ QÕ&9ÏhA¸ß½ôÏÀƒÎ‡¦ùñ<Ûg¯Ÿ_ñî¨]ŸÍ:wü†>ðÍðûvÐX@ƪõ­Q}3060‹ùZÚ—Š’ÈÕ}ZŽ€ãíq¶³»ÛηpwËŠ’@@@ ¹ÐÔ—‹Q¯(¹Ö4&fE 9 âÕ²Mt«ZŽm¡^Mrž}¸eç“wþ,ð ó¡‹:ÞÀÎÿÕšA×<Ö£ï C»ßÝõñŽM_­ûßÌž ¾ù©±)m½0Û‚&Ëœ°‚¶a°PeD‰Ìëÿ¦}YQrYìrDN   ЊÄ|R&ä™öDÑÓ6»Ž£u|V)yÍæÎ›ía6zÓTZ,¥[“¼n„ÒívyhJ¬8è½Ûí¬;q¬1ÄëŸKZ?ÿ¤ª ÓIœÿþ¿¿~ÏãÚvò'e^p^æù?íÚ³CCí—Œ ³ù©£²4k`¦Ù©¦¿÷úæÈß&OŠ×……jï-å®ó‰Çõ;p½ï™.z÷«#¹Ž#ßbÞ{Fºåv.üŠPø‘ü8náÛÓd[Ѻ®;LhhpÍB 9 ³fϦÑkSëâ¡uBæÍ{šÎüQ¨7z#_-†XJ·&yÝÈ>§³A„zyÔ;üý>ê÷ h:ÆàÛÞ0ôAg©'÷9õgõ<ý´ŽíÌ}ˆyŸ>°Ï7_þƒ±Á½nÞ]M+J&e)À±pb~V™ð^–e™¶¢/ͯ%Ïswm{_9Ez9«ó–NäòÎ'acùXl DÓ ô»uÅ—G4~,Ïšör9)³wg-g–œS¹›•e培œ\5¯bü´ržnU~Õ52IÁ¢9èuÅÍ  /2UšRü,Wl æòW ïy(c)Ýšêu#g[çÎ]:wîJGjj×=Omh¨“uY™_=ZÒ¡oiߤc¯VË<˜v€¹¿W‡óûdÏAƶ÷ºy;L…Þ ä”90‹Ñôܳ–]$öµ—!WWz™ƒø¾õŽ<šýóKK+~ Ë'‚–içI §Ú¨b¶eÇîôg²âñݹƒíâYEïܱíÊ’_ ãŒúeç]öÂrîxÓϰŒAèumç·ª ñ@@ góðPð€RiR½QºM³i´<ˆ\¡×bˆ¥tkª×Íív:´ÿÀo÷ïûfïž]»[]Nµ$ÌÊüêq»j>z‘±:.ÎÜÙ‰=ìÄ·¬þ;VGoö°úýýú¥~¿ýýà^7I+Ò[AØdqÀ£–‡É`¨@ŸDž_BËùXlŸ¶Mºé¾´è&Ý–µ4·B¸ÐÔè·ìBîrµ†÷‡ŠRˆo4Á­©#Ùn›Z0ŰwòuLQŸh¬›‹»¥¬†XJ·¦zÝŽÜ·ÿ»]û¾Ù¹ïÛzspÿ·ÇŽç,x¸jªöýWå®ã[¹8sbuß²:Òmò õvÀæ9”T»=ÌX·òåŹƒ2©]À9V/-¥Ž……ÜG«º$·bG0qÇÍâÊ/~¹ÉB¿„åÖò±Ú:í/^MåzYé+ó.Içÿî._ÊÏì\Xô*o Â#Õ³®¬ØÅž¹*ÿu1 G¸wÔÅíj   çÜM&¥õv½ÇC¼çôž§Ôº.›8<¬ “L[q†)™þ=9Û¾©Þ»»zï7Roô1„t£øZrÊÇo>ÁÅYÃAv\ˆ6òº¹öPN}WµyÛÆŸÚ‚úu¼cÝXMÍœ° ¤Bö{N¬Ìâ=¡™Y~Ùº4oAã“K³‹hŽªê1µÙh*ƒ_Âl‹ùÄùÍÖòæ•É9£*f=7¡_ú„ßœ“¥83c[ïýLÈîî/¦ ô/ýù‚ëÓ³ +J¶â®¤1p³²[Þb”  ¡ ÐÊ bš‚8HÆñ©¤Z¡ð½¥$Ûè  §¤íH×4i’©õÙÜñôÎ=†ô>²ïà×óœA˜»¬fÆíW‡m!òºYï3¥õÛ‚®rÉ9éc‡e5VÖÊ¢>uG¿ûÀsìðbf¯?¸çØ×[ì®9^{Äéj`7>Û„®â°ÕA„ˆ øo?ßå »N£ÃSGS‰lå}…íç#挄  ñI@n?ÿ·õ'NêÖ!9IØhêæ¬2ŽùÛ\.|nIî†kw ¿ý|ÍzV»?–¦Öu™Kú,èºn!t¥êÐ¥7I׺½«>_÷ÕòW¶}ðæ®ÊÏç>ÜpýSt[|Þ¾° @@Ú-òºÑA£ã]N&'-öFN6c…^ZD.Õk9ÄRº5u¬›a¤õ„9wý÷èQöö‹Ëþ÷é±Q¹®Z»á™&ÔÖ2D¨ÐÄRÚzž´-p&¦™ò@½¨ZƒÆûRé wÉš fb)Ýšäu3ÃhRÂñ/h7?«Ý<§ •Œ <ƒ€€€@Ó œ; ™9ë4ç ·³Þ8´úØ`“‡»!ÙÝ`w;ÏNO¶ž}«u3›Ø¤Ar1IhbF@ IcÝ"ÈI@@@ í°8Ö-–Ò-n!Î~i%Ùætòò òµ¿Ö78çžß¨¤À&²´ù©£¼Ð¶|”6iÇÈþ•S´¢lÆÊ YѨå¶VÆ?S ~…GÈÏg(†mö js&Í\ëVÌÞâ4…ò²5­h$Џ"@}‰ön jR[›a*ç™6öJfÌùûŒû¾fãÒn4Gæ'8Ý´Õlö—¦Orñ<+Ò+²üR 5·¤zÅÀù¶œbV µ×k†Â“Ú­zÐló?ýW÷KL±(ÝNé}VL‹Ef   ØZZºÅ-­Gž^úÄCyë?üФ›Y·5P7©Ý–3$c擯Ì{ü7Ú/5Ù6±ÿÒ<é7óñÑ?M8?¡é¦íØÈöóq{ÃÀ0ˆ+͵8HsO „h±DÚ2ŒÒ’n“½¥Æ!¶åù…ÁQ©{ÚòFn#å¶z)?ãXXÈG¸eñ‰ ;ØÀ¬Òüùåz„‚QÙqÕì0@@@ ñ Ärš‚ÅùžÐš;a˜aZïbõnîu£C qãÝHÔñM_ƒ+7r§‰SQ²`Bfæ„)Yùýʼn‰•Y|Îiæ@¦N;ŽbdU—Täð|„›èDEˆ¥t³è ´¾¹JiÖ ÙšÝÍlfÓl6Ù™Ýî±q%Gê-Sr§É &x?­àçŒz ±–ˆB¸ÑGc^‚ù} Y€€´'±”nÍí<‹Ø]w¢®žÒ^x~š8Ò_˜>ä¢ôaƒÓ‡NvQZ‹ºLCv˜¶§uˆg±\Ä⎢A½n‘É>‹%Þýh‰ÝN"U×gB©©µBøp7-Éf5Ã4ž0.m³8Ã4.m‡Q   wškq¸«( j%n­Å‚€´Mín†iÛlFÔ @@@ ýˆe‡iÜÒ›ýÒJ²ÍétÑkƒ|mà¯õ Î9Þ·f'®aðº%nÛÁr8$àßaÚéôÎ݇ô>²ïà×óœAÍ»¬fÆíW‡­‰Å‘gù4wB’nSî¼&°Üû£{×Ô™÷ [5DhD‘ntc7©^ˆ   1'pÏ茰yrév|«Þ@¯Üë+é¶àÖŠ`–nr7ZÑþòä›ÿoÌ_–®ŠD½nlÚZÕ‹¿rHºYù›$þÃ"6BÀï³±Z™¥[,iîåÙ‚ºë¬4yÉ]¾`.cü,~ïȱãä~ ’‰3Š\Xn\âKôŽ\è óôj¥`Ęˆ¥t‹lªNs'¬»)øò½ÍšrÃcŒ›|ÇHæ© N5·  b¶’iŽ…³+rÅ& ¦…vcÚÈ @@@Bˆ¥t‹[¯­ÝF>Ýìøä3Ǧ«×~è(ÛäXµ±f冫?Úݽ{W·‹6¢ÊcKWs[ùüü¬¼<ÉÏë¦|qâ¼Ü8‹»æp €@ì ÄRº5·ó,°öM*ñüs3.8/cð™C/μ|pÆC2®š~Õt¾n˜ù´jQ*6ݼÂþKóTã•eYTÝ>ÍMnW UÅ(I @@ 4XJ·–÷ºYl]‡Ë3±o)£­æƒúIå{å—k,;úÅ•®µ€@WÊXÚ–90«”:V-Z„hM#°OåþOfåäÌÚLoöT¾5ý¡·ÞÈKkZ¡cg TÚ+»ˆšZ¸ÇÒ„bóãÐx“p7œÒófçœ179LL} ¤ßÐÉLŠ%ä  /b)Ý¢tž5’:1ôÞÅêÝÌåá­ëæÖ4z%QGÛÏËÕÈBvQYV~ÿ‘ 3‹ªÉ§æ)Xëu‹¬@¤bL9Ûv¿V8­¬lÚy§ ºaQ•âB—”‹.ÿ5ÙÊÏèïÇûÄýtZi~å¨ÞSê.×[[5·J¢ieÅ|^2 ÌÏ*“ÃÉqk Abú ” 6t2¬I¸5@@ÚXJ·¸õºIiÖ ÙšÝÍlê%µÙ4fgv»ÇÆ•©· mؽ%Ϙ_y²ì"ÏSà‹†¦Ö:ÐÚÁ Ö¬UìwK‘rŽuûQÒGÓ/¬š,lpúðÁéÃ.J«sQ—in·øhHXÁ ìÚ¹…-+½n’C®j'LË{kOÉ-VºW¹‚#Ùòò˜ÐtT–ZÏ'p $†NZ§‡˜  ОÄRºÅ­×-%…Ý;}Ѭ§_•ÇêXòdÑ’§ŸYòì³K’“’ÛS£·éºêãá¸ãmÏCC­Õu¤1ׄ»Êqš9ðag¦]5¬åÉhjr©\0\(‰¡“á˜á:€´[±”nqëu›÷xþ 3oaæuü~ÂÜßO “tÌü7 fÝAoÚíð—®5ÒÒÏ)›V²Ñ·Nƺå£iªéK³E™y¬[ð±r¤¾^L(ÐÙ%Ï$|C¡  1!Ké·^·˜B&ñH -oò]¼‡TŸ¦pñÌOfm¹N_IÄòJoþ£ý†9N16kä£äVLÈ6mf$Wcèx7,£9¬þ£$M›ª”ô;ƒ…EâñþƒM  Ð l¬ÏæN§wî>¤÷‘}¿žç jÂÜe53n¿º¬³Vä§smމ¹¢vä»é \³®ÙbÍXôþ=£3Œì;v9Ãã®ÓèðÔ¹Ý|½8 Í}cÓi9Ų®e¬/'(`€€@«ðûÅl̆^ãû°ãûXõzå^·X)Öòº©g9“ä>¢ýìQ-µk«G¡ „€átÓ Ûpƒ€€DI@³1±¡@,;L[~¬Û¦çmk‹lö”^)OŽHTÉùô¦…X£Ê ‰A@@@ Q±”nMòº½»®âw/ý3ð ó¡›ëãy¶Ï^?¿âÝQ»>›uîøÿ }à›á÷í`ì[ƪ;&öM¡w¨lÒÎ’Fdoªòœ ¾-ÉËbEæ"KéÖ$¯Û‡[v>yçÏ:º®ÇØù¿Z3èšÇzôth÷»»>~±©à«u¿c¬–¤›Û˜š¦¹CedÀT|õT±Rdù4WË"_6H€OSèxz籘¦@^7ëêüm³ò¯V›Á«MD5gCýÌW×’ž $½þ¹$–Ò½ï¹÷:6þþ’ ëj¿_‘Ò©KçnÝ:¦¦2OÝwÛþ{ò€«:t9÷­©gÞð”ßà=êÎ\>ʰ‘wyAIIÅR¶€Ä'GZÿ|±Œ*-‡ºb[8r"ËËÊÏ#ÍÅ8sSŒ‚V1hÁŠó‘èzºLÚI?Ù>G§'Ð4…6øF•@@Š€yb_c†ói µûYÍzV»/–Ò­I HºMŸ-’p¥E;Q9N;|pîŠíA¥[Y±ý²»þ’zÖªÙ=®œòc˜ËI¢Z=Ž-Õ™¼QøÓ›Šüç](%å•Q\Ñž‘jKyú4‘¤‰0]áÉ3 ØD±%FYÌDrŽË;9Ä›«Í™7 J[‰œ(Ò­­ðF=@@Ú8³t‹e‡i“ƺcÇÕ¹s—λґšÚµGÏSê${™•ùÕ£%ú¶FÍVË<˜v€¹¿W‡óûdÏAƶëæ¿C¥cõR°Ceè]#å®”VBÐÌ­$DG –ÒÍzo©´Êív:´ÿÀo÷ïûfïž]»[]ÎyIfe~õ¸]5½ÈXgîƒìÄvâ[Vÿ«£7{Xýþ~ýR¿ßþ~°±n:ƒ°;Tb×Èp·K4×iN³&6#€€€DA –Ò­©^·#÷íÿn×¾ovîû¶†ÞÜÿí±#ä9 ®šª}ÿU¹ëøV.Μ‡XÝ·¬Žt›°Š DMÓ<šætk .Z ŽÝœw%Ô[ [$â¬n8mP/u<½!â\¢JH{ÜÊ@;Ô’r[ÎÔçê’ŠÙ\ªñ­pÕ9Ã?–S¬Ÿ./T±)}ŽW“ù”’9a…*SÓÊ Xî  ÙFU'$hsb)ÝZ~ä™Åé×Ñh8îä >b½“xÁâ÷Ž;¼çÔ×%‡HóÞü9³6ï©ÜOÇ;ll‹úÛ©VvQQ¶¼ä¨,͘IZ®¢¤Z?,×aÕ%ú^·åË‹ F‰hMèÜŠ¤ýBÇÂÙÅS‚)ÂæÅŽÜA@@,¥[>°(qY,±¾^mj.ŽÔܬ)7<öÀ¸ÉwŒdµí½¿=Æ®¦Üs‚î¬(›ËZòK³'•Uíq×ÌT®¸éÅgêE5{æD§êkÆÉMv¸òTúûP&ðM2TG¦Š&ÅûòQ)6’b¥ùýU÷fÓt<ßcÍØ<-°^Xùü|V2I(=E –ÒÍ¢,† bµD÷~ºÙñÉgŽMW¯ýÐQ¶É±jcÍÊ ;W´»{÷®nmŒ2GEï739ãİ&þÙ<˜I¼÷Fj|XT A´¡¬v½þòüœéT£²iÛ¯’~¸Ûç¿@ãÞ>š~á´sÞág6ÏÙ6væG¼ÒAâTM–Þ»Orß-´>Z.»Hõ\–eåOÔG²ÉþÌQËŸ4Æô¾N½ÔhdËm´~·ÀåÖ†naT@š—@,¥›EX +Ô¤Ï?7ã‚ó2_9ôâÌËg\1$ãê¡éW I'÷ÍÙo•î;ñŽO¢_yÚÄ^ìjºœë5>@Jô’•ö¯œ"¥@uÞRC „/£Ç(›vžð¨÷^îæ7òÒˆDάüK´9ôºkçýLÚ°Üœ?–ó!qqØ¢±Ò3wá´2é½KË{kOÉ-Šz½è§š©~1[ÿüRßßý&ÕŽ"cݤn‹8ùpßÛCC-æS^¨§ŽÕKÅÈ6ÇÂBÝ÷Fzœ”od1[œd*Nȼ›Â= ‘\n Ñ@@b-Ýšä‹ ~YbèWŠàtºè5ɮѡ&(ˆi \±ÙDgª¯›ônë¿4¯ZzÔô1éÙ“J*H»‘rË‘)jf ’ãñBm ‡v‘IZú9eÓJÄ ·]ëJËîÊ"ËLq¼L¬ŒuËDcy蟟UÆÛ+s ÓG¶ÑDQîVË."ªìÆo€ mÊ%=Wê< Áì¢2&òÔ³¤LýKáÂm"F¹µ‹û•Xh ^·°,<.ÏxǨÆ<¦ƒúIåGå— •õægÉ€¹JŸqç‹JB]hË u寻VyW*BL \<ó“Y[®ª÷Ÿùîô‹ƒeîÃûL­ÏT5­Ò¡D™1,Í+½ÃtšWú™Yè:/°ên_!#AKb)ÝZËë¶¢ub†i½‹Õ»­æF‡›M£Wu´Ì[£=¦Þ9…³U ïlËR•Yư(®ÝŠ™¾¸9høŒT,b[‘6á-¿~R fœ1ÞóQkb ‚ì §r¿Ì¡icÝÚ0cT @@ -ˆ¥tk­±naÛAJ³ÍîÔìnfóP/©Í¦Ñ8?»ÝcãJŽÔ[LÌ^“gÄð¥¬(*Za8LxdS'š9-œ*a[@@@¬ˆ¥t‹[¯Û‰ºz¢qáùiâH|aú‹Ò‡ N>8}ØEiu.ê2mÚDkl @@@bL –Ò-n½n))ìÞé‹f=ýª<žPÇ’'‹–<ýÌ’gŸ]’œ”c®È@@@š€õÙÜéôÎ݇ô>²ïà×óœA‹˜»¬fÆíW7CéȲm˜±èý{FguëØå »Ž¹ë57¹8ƒßc­7v«`G¡  ¿_ÌÆÈô߇ÕîcŽõìø~)ÝR»95zéF^·î3mùq·Y!@ÒÍJu@@š€ÙÙFºÕ¬gµ1•nÍW«(sžýÒJÊA®îÖ _øk}ƒsΣ7E™9’H醶„  ¼nBºµ‹±nÔ*Sî¼fÚÝ£èøýýcéxjÊõtÐùésÞKˆ6ƒ‘    @b)ÝZ¸·”¬ DZ(„–qºµZ„±›ó®„zÃ7@@@ QÄRºÅí Só’»|™\ÚþJl„EaÁâ÷Ž;~ÿãoi0¹W©ÚÛ’_//´Ù¬¬¯K e4ãM¢Ü°@@@ ¾ ÄRºEà‹ŽÅëÅn ~Vr›5å†Ç7ùŽ‘ÌSÜ’Ü‚‚ µç8ß&¼"ר>Á’å´0/ÖãµD ‘@@@,ˆ¥t‹[¯mUJ0>Ýìøä3Ǧ«×~è(ÛäXµ±f冫?Úݽ{W·ËÝ­A£òØÒÕ܃V>??+/OF“þ8„{Mx×’OŽûèø†ârò‘……Üýæ½Ê˜¼x–Z‘@@@@À KéfÑCúM*ñüs3.8/cð™C/μ|pÆC2®š~Õt¾û|ã»)ˆ=Kç—s—[ɤÊvï6Weü"?[š_9Š:fi/¬Ì JrsKª5mŤA*ºªieź/†€€€@;!KéÖZ^7Ync¯tIîPºvSÕšMUå›v|°qǪõU+×U­XS½r}MˆÝçÅM=ª 8§~–¾·šO¾W:h6:dòüàŽ€K[q¤ÐaŽ/ÏÈ«¿ä=ôK2I2qèqÌg¼ïõ8þgDÂÐÑ’<¶$Ç·8:)/‰ƒñÃp˜Ï˘z»‡ÙÕUïÐÉ çcª36“‡Ì*ð½¡ñ7šÍC¥•ȯÊ0t&ŒÁêùð¬|žÆ|äk9ù^2Θ/É÷Q¦ô›aã$½ Á“¸=šß!rö¸-2­ÇÅó{•\œoåÃéñÐa6Ã|F¾z4xÚô‡‡®ËyJýC~μ¨jXF©0Ó#K|­EFMiH¿¯†uµÎäÀï\£ÏwSTùÐx+ò ŠÞÂ=O3b5—t WËV»~çÔ’—žÊß[ë”7¢(;OÉÝàÑž)~åÅ?ü¶Õìks‡n;ª¥€FE ##­Ù¥›EX Êb‰w?Zb·Ó¨>¯¯AH7ñ÷î¦%ÙìóÏ¡aí<+l?ßÎoT@@ ¶Ú×-¶ø[Xna!€€X'à/Ý:öIíqÉ©GöüzžêRôËk·_¶‹>°°ùXÐò%Z·­=Ç !ÝV­^՞ɠî   `…-|v`ïV#¦nûYÍ:zåÓb%ݬ˜Ò*qf¿´’Ê•«»5È×þZßàœóèM­bRÛ.4„tëÑk@Û®;j  1!ÐÒ­å}`K$é6åÎk9ÞÿøÝ»¦Î¼LL#ƒ@éÖóÔ   –Àþ=•A½n±\’·µvS[ysš@óœn­Övcìæ¼+§Ïy¯I9 r”Ä6   ñSKé·»)˜—–±Q0­àº`ñ{GŽ'÷[FÆF¥<­°%-‚þ¯qÉ|"àbÀîáW.°îÔ qI¼V@£–yóR©Íh4;½oÙtF~ %Ö±!¨a~ôB’3å ÂAo£0÷VЖñKƒ{÷pˆÛO õˆÅs8‚_º’nqëu«¯oD@KƒÌšrÃcŒ›|ÇHæ© Î(·¤ZþTV—Tä@½ÅF}êâƒ$ _š…+Æõ‹.¤ ¹¥´ _ÇEÊ,ïã³.€T Š+S)a&ñ3 42â¨LZ‘™G¦w*™°Bž‘ˆ¥JR?âòŸ¯¨´/ÞŠÔY%ÌT™ò¬ÈNÔWÅ3¢óõ }'Kà9•QURÕ2.òS߈Jð>#AXoKÑ6 ¬ï…{O ïcÏaïc;Ξ-$ÝâÖëFÍA>Ýìøä3Ǧ«×~è(ÛäXµ±f冫?Úݽ{W7m°:Ð6¦¤Þf/t+näB‡Œ,ߋׅ…Â5çuÎÑVXÞ3&ÿHóO¼h]4)G¿î––)]¤¼c&Q¥«#™¥¸ ò‘åJ;•|TÊP”¢rÕ5¬:C6ªM­²àÆ »½öKò7G‚QAXÞ ¬nVÜÃxJà)‘pÏá’n­åu“å6öJ—äŽak7U­ÙTU¾iÇw¬Z_µr]ÕŠ5Õ+××ðæŒR–ä–LÊYdÊåÞ¸ÕK™~ÆðÏImJ_±ƒ;íü’Di@|'×4—D6—fçk²Hñ¡$›É¢EÕ½UôÃË!¬(.ð(è¿ÉêÏe)•„ó âA¥t¡º,d—a*©YéHyÅË‘ÒQ×`êúsLh=saJ E¥K5þk)êÀ• ^/WÉBãÏ|)ÅtÙÅ+¨K3^O~É+ã”fâR—„RÉñ\e\£Ê ¬nV7¦¸iÔ=¸‡½ <%ä#Ïá¸|·tk-¯›,·±Wº$WtK²kt¨ ©Ým¢3ÕŠ×ͱ£"wPf"‰|pý—æU gPu ×ví;¨ç¦z\ðO^Õ%%ˆrPéþ/)´¸H’^7¡ät­¤$“þ2©7!ÑŒ¨Ê£¼SFjY¸UJF ÁÄýsz^ÒýÆ/ /žøŽZM¦'˧vaj¹¡×tW›cÑèk_©¦lEž2‰ôª&×™´H Y½;G÷Úé6šQåë¹vW/=ú•o‰Æ»„%l–纖í!¼¼áZ’pÛ»‡AX¿—ÌϘX>%@„ÕC?üs¸…¤[Ë{Ý,J %Õ™ÜrÞ8Ä(yþQùåBeW^Ø??kÊ.ÝônSr®•M’9"©~Qu=7o„}&±X“6M)"á˜ò8IMí’ªÂïÖŠŸaïϯrF¦tÁu²ÑO¶þEP¿ÝŽÅcƼâ0™t„éúLxò„üÑÅ•qEœ~3y,¤|”©¤´R–é O[35·bÞÇŽ;6ë2UEOõ+<­|äm”šÊ}ÊW&ò¶)Ý5¯Œé’ÚåwkD½ùÉ5SSSE>Þ¢¥ Â5'µ¬.âi°ˆÀÇÆ ƒ…CÏ™1",[*zÂFí…Önœ°’Ôæß>ÕFŒð§Z"l¨[°$©7‚~¹1ÂÆßÆ=Â~÷0JàŽô9Ü.Ÿ-$ÝZÞëfQÉÔ‰¦õ.Vïf´šn:xg–˜e¢Ç´4¿¿šl0{PµF£ÖhØÚ>Ù”‡‰•Y¸ÐL‘hâ‚c”,•OãI,V¥-Dã²Iõrß»r^Å‘#‡é?R>#»>¼Fu’ZFy¸ø³òzOEõc«–ZKüsÀ¥¹ÔDÞu¥¥:b•ÓKØÃo©ŒrD,®ì¥@QÚJ<|„_N9ãøGÇW[Ø9ýÏãÑtõA÷ïÖÈžbÝ YŒ×wçÓILÑ®¼÷ÞŠg;Ä`-Çâg¶Œ!’ W (@ÿäM¨T Ù&ækˆÈ¼L%:…‚)§¤4°ªQ„„…ZŽaaMxªÇÙ°t_ w›íg<âC:_JYÉEçj°hdãaqgùÞà ì){Xÿz*moý9Ü.Ÿ-$ÝâÖë&³5hv§fw3›‡Ù¨ßTcvf·{l\Éñ_ùÀà\@¬7ŒÓ+ŠŠVÐiúl\4Þ›Ò’àË.RCçC%i ªÌRÌ.+Ùg(»¹ÜgÜòÖÿ^øâÙÅ5ôѱäºÝùݯ£Ïšcñuã¦=2Ž>Rè1m ÿµ¦sòc÷×-Þév×,wÝâ%ЙGÖzjßw÷êUwgõè~¥7mÚu=(ñ#ëT¢ik…b¯áYÐù=®[Rãq烙,™&Šå‘©š%÷ݽjõÝYdLJTGüw›ÊâùÉXô+¾vZÖ=«Ø £èä¸Å5ê±$Ò®º'‹ì{iUón›4Cˆ/Çâq" YG)E$¾~pÕXíjèýÚ—î>{ÌX!üÜÂ`2çA5 ë®·xñ#ÒÞê%ËxÅã…jPuD *‹Ü•˜åï¸^}Ãz±>lNºè„:QiÄ8C}ä¡rQ©Îc‘¯²Ð¾Êm&µ³ìÝ–C•¢ÖÇ ñcxì¤VºRz<•–±dÿµ®³yÖR¡«;G(?Ã_'… ”·"#YcUu]ÞëŸu_¨—È„„¿M¨¥Ó½ØTÂãoE „MP@÷°ø£Èø›O ù0²þn!é·^·uõ„àÂóÓÄ‘>øÂô!¥œ>|pú°‹Òê\b‰.„–" ä€î!“Ž!õ+Ø/ãìÕÛª=kýɶ{ˆðŸkß¹d•dzºbà³âÌ»wϽöQoýn~S|þþÀ»gßûïjõ¬¾wÛ•ôyÆOß›Ÿy~DÎsÿ9pàÍ ¥}F$}Ÿ‡2¡7Ï’KkÍ4YÊ÷¢”{¹|’9¨RžYR£õ½ùÙçrd>7÷Ó kýñ½gÿC¤{®b4i"Ïÿ•Ѿçñ”bÐÓÒ¹ õœÉÚ»çRÎî5~uäÂPˆ )LÒnž|ö½/¯!—[Ås.—Baí´Ÿðr9•ç*®FJÍdð?¨Rdp¿[ ƒõBÉN½P¥xÔ?R—é !Û@ú“øI½Uä¨?] &”¡ît£§ÐŸMJ5I?ŸÔP†¯Ê(X¨#o©R)Ž˜¸¡[¢D¡d2?)ë„644¦0[Ú¦÷æês>¼„e¥…Ú“A‰U.BUž²Vú#;^yéYõAgº‡ÍŒA„q›:=ÔÓEý5¥?äW O ý¹l<‡[HºÅ­×-%…Ý;}Ѭ§_•ÇêXòdÑ’§ŸYòì³K’“’[J· уèu±ˆ¥ÉŒo.ý,ÒÇšª/ؼ±§ˆpîä²²íUt:gÌå}Å­}éˆIì‹*R:5¯æñ'Ÿ2v Ë™sû¥ºô ˜b¤W2ísä›´9tÉ¡—r²*¥Zæ0DXG‘)Ž‹Þò±¦ŸcòV}AÑ.ñ¸H>^>&gÞû\6ªhRè~yRx”môV”î¨cµ.(½(qðˆIóÆžKîf2™Ÿ¡$9sn»„篗+³Åõ»=./TÔAVGX#«¬ óÊe+¥’5TÚÑÛ>ºFÑ/Hy&uœÇ-R™ä‰®ïLɈ†CMÿ(µ}â„Uæ:d¯ƒŒ{/RÒ‡°ºwŒˆºþ•5sé:T¯š²ºòU}êƒÑ‚†×Hç"óâ„*£V ‡¼¯¨T ¸‡ÕI¦?|Œ¯?žÏá0ÒÍõâ²€¸õºÍ{<ÿ…™·¿0s‚:~?aîï'ÐI:æ?þ›³î 7T-F€àúP+¡ÔääNù“[ãØ’=04WγŸ|÷Ýw{è áÛ׊ô´—tçk¿8ÿ½k?ÙóÝž=ß}2'[n‰ µšïė뙪"øôT%æäR6¼U/El¢ Ÿ*Ü+µwÉŠ?õ mVOa~‘_®[¡—x÷ þòΈcÝäO¼˜CÙf?KæSùô²ç»G/U€’–¹mN6›xåžD,6kÝz\ÝñyÂ`)GLÓ “„åúÚ'B]ðKÜWÅO+÷™Oe[¨.A¥½Ž)ƒ°¡âT| üãYzÒ”ŠQ,ô+ªš„Ò:zw©AXªCIXvÕʘre;3aÃc&ªh–Œª^MâÉU޲C–— Ï “ {aÕ›«à1¥A>÷°LmÜà ¬Ú „q+‰¦þ<’<%äoŒ…çp°eÕC˜Ø{˜¶˜Ú@A1$àý•7¯’ün^7ãÂûÝ}Sß¾ig—=°p½.u¤þ2\_ëÿµ ûÚ¡ý<,{ôe}ù/ëÎ5ï–‹M ¤ŽÑ”=¬l;ŸhéM«Ggú¦¥H=% “ÚN ïʬl›æ¦2¯œ ©¹æ½²‰#KA!µ™¡3¤J+—6(*l:LfBÃéL ô'½Rž¾7¾þÍ£—HÆ –årë¨ÊTî%†ÁÊx¥:52X¨ ±¿„W/dt¥a&lª $àU+Jà(áã%,íUEÈ«J )Ù¦j&ÂJ¬I£ =ã­XWm*K¥±¤<ò%¬o¨/!Á„í¢X‘“’gªaå9¯åÞº¬TÅÈê¨ËºIªŽFöJcª jJ˰­ãaÜÃxJX~J´P‡i”^·OçÚÞÒVú„íŸÛÞxP,¼†Ð ÈßVÃÏ¡•?xq_æøðë‡/¡«—<òaÑ–"·¾7Þõ[‘Ï_vê?åƒÖÍ»øÁ³Þsy¥vê·ž›Ai• Û wžÓ› ¯'Ï]ç"³R.(ƒýÊUF*¥ öT\ŠU]¾è*I×hJI~º{JÂÔ™¡§aÕ†º°óz° '33å¨T“9ªüU×eœ.–¤2RI Á¦t”‰°·½½*K9Ê”nÔuƒ®æô«:`]š©š{Õõ›ŠU:ÄçV²Do ,[ݸ…AØûWŠþm2þ„QÊV}ýŒ¿p«‡÷o½öø”ñûoc}6w:½s÷!½ì;øõ‡ñ”0ÿ†4ÿs8##}ÿžJY…^ãû°Ú}¬f=«ÝKéfÐÔ7›ž·9˜Ö¡×ðûöÉ´1–n´ŸÁD¶À»¾GS Dü¦-ݪ««õì¸D"Ât1gújÈ-/ÄåÝOÒmÉý¤¬ î“•QE"!ldPïõb¼|ŒàÅë[l˜þ‰õD.¶Hr©¼U"¹à@f^¥e†½FK³½¨€*™Ê2ÌäYr#} ²DØ”„½Ú]' Âú×Éï¦Å=¬1xJT<‡cõ0 sI·w×U|¸…œ(þá’sÒÇË ñƒÿñ<[ÒÉçuèÒ§GÚ^®íЭwRRÆj«cìÔ¿?ÚíçûzÝøvRù¦Ý rKª-k1H·-Ñ —BK·_íàšD $áà‘.$Ý¡%_ä~R‚N\P~9¥Û ß¿"œ\\³Ï“ôFÉäÒ%ߊxꂸ"ãJõ¨»ÙÔ/µˆê+ËTZ¯—P—p¢`ž‰rš~ËŒòtßš¨¥r‰)ýÇ çê*SÞõ"Kát“RQwô ›¤Q\Ò#*Á&+bTTæ  ¬þÒ÷?îa<%ð”HˆçðÀ›Kºýî¥>yçÏý;oÄ\ó¬møG\u[ŽÚU{`KýѽLkp¹~0¬€ü‚o?Üçú?H·ˆ=gnÍ ÏBdZºmÛ¶Íè¢EuJ—™ÔaÞnFýwFª/Ù(TšÐ(zZ!h¸®QÉnG£WQõòîHCï(™§'VI zMuá¤wB ¡R•fÉéUˆº™¨^TÕ¡ªÿ`È êºRjÞŸS!·d-õ®S£Wª:ýŠ×ù¨¾*ºþÑTja)þqã)¡ ÆšxJÄ÷sø‡gžÙ˜t‹Á S7_ÝIôÞívÖ8ÖØïúúç’ÖÏ?©jÃt·›ÿþ¿¿~ÏãÚvò'e^p^æù?íÚ³CCí—Œû… $ÈFŽä{R–Óù†6 õžWgŒœT,ã4ÿÌ“ðP^h¹Ð!’«Í¯ÄG g£„³×½øy5?Ϙ« ÏBÓ§ÞŸydï 5¹Â¾­òËøj¨;ÏNíÌÀ×VUÓLéQ÷jû#}â›>ø\-Ø/”KMˆÃjõ a¸=OïÔ²²}&„>*^ŸWé “eIr•[£tÝ}\¾,Pg$ ä‹™˜)‰Råš²2¹”ˆ Œ{O µ˜6žòªÿPèk%Às8„nˆts:D¨—Gí±Ãßïû¶±".mðmïú ‰³Ô“ûœúƒ³zž~ZÇÎvæ>Ä<‡OØç›/ÿÁØ vA‚wGQ›TY¬´bÐM++(Î!œx3Ûtž~¼ù%]›‘8£-äËøÒ Õ´)?9aJAñr¡ÝÊ—Ðöò§r B‘ò–N¤ÜÎ8NTÙheY•RÝ!X'`Ò,Jxéÿè»éúC×mJE)Õ#ÓË™Y\ªÛ,‰µÚôé~ò»„ {È)Žº.Ò߲͸¨åõåÈäoƒXû_>Ä£RšdH(™­ÙCµù˜*'€zIȼ½ö‹ÕÄÔgc*«7[55Mý\yU¡QIiƒ°úÞɺ¸‡ñ”·„÷»áóèñ^4DwÕ<‡}~ibüù«J3LÏ«ì}×÷nØA®¹ Çô…+¥˜ S_\^[{د€êíÿ£óyé/ù½®z:yïWoiÚî• >£ÿjîgµ†ÙÚñßkÇÖŽ>¨º{׿GkÚ›y@¬>jÕ%¹4¼-èã’|㳬€å–”œ§8¬@¨8ŠÀߨøys(( <ÃãRÉ‚ Æ|#9zèС=‡Ö<°ÕºÂCLhÏÌ¿¤,÷0öK_ÌN)Žv†)i{øW|¹wê'JÝ]âxÝñ£ ×î :î_OÙNÊqá/_.}b`îÔrV·‚ѲžñJëG¸4§çàñîËç—üú¹pcÝŒl~o°‰ÞQqÔ :{PYÞÒÙlù<Ÿô@Þ5Úžw”.UÆr–¢£â'Gérй€ã™ ˜ „ë¶ú_Âlj   Ð8ZmíÀ^¯¿#–‹ƒt»{äêNw9¨Ë‡<0ôÆírþõ? A¥ùþãÉW<ø•Å?õÐßYíߘ»A—nô†1»íðú¿/Z3þ…XH7¡Üª•h8ߖÄÔ2)71”­>SV¹ “qôpƱ°põˆ¢ ™"eÄS'Úò Bºõ<ù̶\sÔ @@bD ¥Û¯.L=vä «¡A®`@ê-))yyU—ƤÛÊ';wïsÁ~džkx…þ4±”¬Ùµƒß7¬9ºõ‹ýû¾;vëóᑾ4Z!$Ðëæ]FDxÅÌÔ%³·ÌW™W!‘+øŸá°X4LSV(‰QK&B6!¤››oŽŽ   бôºE¶®ÛÊ¢>uG¿ûÀsìðbf¯?¸çØ×[ì®9^{Äéj`7>ݯ{S}aÒ3gy‘¸&n¯Q!ÝÚkË£Þ  ÍB –Ò-2ËþøÓƒ»ÿ÷³ñ£·T¾³êDÝ1š—Ánx&:Åf˜ÒDé&ƺaÀZd-<¤[,i"/vOÀ,Ýøâ jaûä’s×eo¿¸ìŸõ˜ëú§µ˜é6ªEæ„Mq¡eA·µ`Û£((Ä`]·ÈJ§Y7?«Ý<'Fž¶ÈŒ@*H(­&ÝÌ”ÞþëË  Æ‚€€€@ëàëºuì“Úã’Sì;øõù̱éãêµ:Ê69Vm¬Y¹açêvwïÞÕír‡i3ZòÔÛì…±ÿ¨î‰©6D-Ó+Þ{#‰8 J`]áÙÝmt­KÐ ÀlPâBºYôºI“Ï?7ã‚ó2_9ôâÌËg\1$ãê¡éW I'÷›ÜD5œz˜UZI2ŒTõÀòP–•?¿œ>O)(^ÎõcåË‹ Fe³òÂþ•Sdœê¼¥!Þ±øúÎ…¿ÒŠŽß¼ ‘é긅»-fnDö¦*/U1«Bû²¢dÛËùX,Ñ@@@ e Ä…t“^·Ð¯Au[»©jͦªòM;>ظcÕúª•ëªV¬©^¹¾† ¬&±3WåW]#Î,/XÄ;C3¯®ä²+KVÑþtÇ ¥+Ôê0½ŒŸòÍ|XsWùƒ€€@, Ä…t³8Ö­NÌ0­w±z7£ÕÜèpÓ¡iôJ¢Ž–yk´Ç´4¿¿š’0{PµðžÑȶ,urbe–òºÑiÒnÅLJ;ò‰©*`¢B,o<Ÿ¼.ž%ä×5˹cŒÜÎÕ¥¬äW~¢Š÷{êÎ3r¤­ªäÒíJ=ZÆ !Ë,„ ™[H‡(   âBºYôºIiÖ ÙšÝÍlê%µÙ4fgv»ÇÆ•©· L½ó(ƒJ•q]¦f)¬(*Zaœæ‘M£æ´Þ¤ñÐpmцaE4Öíö–ÔXå„;Mºâ¾»$9)¹Å¢ ÈÝ’#W9›¦š>G“Iùµm£ôù岨ìBZÝC?©O8°"}ÂoÄȹ߼\Ùˆ…¾™cšB Y€4?ë³¹Óé»é}dßÁ¯ç9ƒ–8wY͌۱Mxó·F[)ÛÏ·•–D=@@ZŽ@˜íçïcŽ ¬v_"yÝZJ¸$ÒÍâX·Ù/­¤cÖ¼åt<6ç]:¦Î~›Žà»ÎÇ%n   ш éfq†)ÕsÊ×L»{¿¿,OM¹ž:?}Î{ÑP@ZHq!Ý,zÝÌ@iaZ ÄéÖhQÆnλê-!n8     ¸n½næ%wù2¹4GVl„EaÁâ÷Ž;¼çTîUZXn`*/´Ù¬¬¯K e4ãM4¤‘@@@¢&H3Lg>ÿÞôûÆU&%çÖhCtkpº;ñÜ‹ïÌ™þþLHxц ¬bб¨.ÿ¸”±<ù)Tà1YøhQ·AÛËÀú Ó¶WwÔ@@"&pÏ茠i{ïÃô¦q!ÝÈëf¥ÏtæsŸ>ùçŸnvТ«”5xXƒ›ï‹E¦#.IŸþ‡Å/<>!˜tcSò–Î2Œ\nË•T,åíAŸ/÷/¥}æÅç‰,/+?¿¸ L›´C¿˜[PÀ…ß6Q]å (¶£oìÖ´(Ý"¾³‘@@Ú³t‹‹S+ºÍh¡óÏ͸༌Ád½8óòÁW ɸzhúUCÒùîóï¦ ö,_îX8»¢dÒ•™w›«2~‘Ÿ-ͯEî/xf*(Î韟¥ï-ÏÏÉaprŠYÅ.ÅrK&e7Žß¸š9ÈØ±¾+Q‹âƒiV Í+¡½Ê@@@¢ ÒMzÝB¿R§ÓE¯Iv5AALSàrÀ¦ñ‰¦!÷0ÍžT’Ë FÊŒt[ÿ¥yäU£PM—@@@@ Þ Ä…t³8ÃÔãáòŒwŒjŒÜ7Æ!\:ü£òË5Æœ÷úŽOËÍ‘Éc;V/•CÞüCi¥#Þ[ö€€´#q1MÁ"ïûg¾6gú-«ÖE"„šÓÍhM7§‡Vw#¯›=çÒôYO¾2ÿ îÀó Eõ3ŽBÞSJÁ<Á<¥”æ4P„ W1ù4d›ùMSHé|šæ®Ó<õš§NÈoÊËÖXlzD6O€ºìÝ´š‰:ÃtòŒ??7ã×ÿ\W%j¥¹ÜŒáŽ\nŒ œþ‡§-øÃm¾iã¿‚¥Û)½ÏŠÿºÀBh1Ö¥[j÷!§ÙwðëyΠÆÍ]V3ãö«[ÌîÆ ºsjÉKOåï­UFò±ïzç)_ÚÍ£=SüÊ‹øm«Û ,J7€°B ÐëÖÊÒÍâºnw?Zb·Óà<}–¢’nü£î¦%ÙìóÏ·‚qš•¤[³âEæ  í@ÜI·öÖm¾¾nm¾‰QA–$wKòZœaÚ’ŒP€€€Ä!9ô•;L-r™ýÒJŠ)Wwk¯´cõ Î9Þd1Dkðºµd  Ð~$°×mÊ×L»{¿¿,OM¹žj¹ésÞk?퇚‚€€´[q±$o“ö0•ME; м± =_(ìæ¼+#To´BÛHìFÚnïT@@Œ@\H7‹cÝøV˜zàÒB¼b#, ¿wäØñû#~¹Qia¹q‰Úµ‘\ƒhK°{æ‚€€°¸n½nõõ -FjnÖ”{`Üä;F2O]ð&¥ý*f+ßšcáìŠ\¾c)틵bB&îHq!Ý,zÝhí6ûéfÇ'Ÿ96}\½öCGÙ&Ǫ5+7ì\ýÑîîÝ»ºiƒ…àaШ<¶tµƒ.–ÏÏÏÊËã±ü¼nÊ'ÎsŸô¤&Î KA ­ç°…I8H‰wÍšxmµÅq!Ý,zÝdeÏ?7ã‚ó2_9ôâÌËg\1$ãê¡éW Iç;+«õpÉœ0%+~9w¹•Lp™äZ+ÓÈ W^Ø¿r uÍR¨Î[:ÃࢾÅ€€€@ìÄ…t“^·Ð¯Au[»©jͦªòM;>ظcÕúª•ëªV¬©^¹¾†‹­P\²GçôÏÏšÐIZšßŸËµ¢lîŠÛQÁŠs¤Ó­~ii¥#v¬‘€€€DI .¤›ôº…~¥rE·$»F‡š  ¦)pÅf©{ÝèZö¤’\V0Š 4ß[RVR‘cÌcÈ-©–^7„žCø KòZÜÃôwO½ùäÔ_¬ûð+r¯9=Ìé6^5ÍfÏ’ñø“‹æÍâ*Ð'PgèD¶À<#AžYÀ&¯+&8 m³U‹y×)$[4÷gÜ.É;wYM4õBZH ÷ŒÎð³–EÑ_ÈönM ZÀÔ°Z«Yß|û·) Hïhꇟl§(L½3l-¢‰Kâ'“ÆP$ê¦÷Ï|mÎô[V­ÿŠÜlRonFkº9=´ºyÝì9—¦Ïzò•ùOD(Ý2ÍSÈ©(©^1bõHê*•ðȇY¨MÿJųt›qûÕM¯R€@‚ðûJë[ë7>ÁØ%š¹­Õ¬¤u&’ÿC„¿ýmÙ¸Ó—2‡lòxþ¼ó—#FŒv»Ï?ÿ´ßý¶Y¡úYrõÕªh*½´t™EKâ'+Ò-.:L-Î0•ƒÙ4»S³»™ÍC½¤6›Fë›Øí—q´Ho:."Ϙ_y²ì"ÏSà‹†ý¥ÐmÍú…Cæ Ö|{Ðý¿ÏÇ[6TÔ•ÿ·žŽ6×ýëÓÚ•Ÿœ(ýø8ÿüwݲÿ}cíŽoƒ,¢d­Ä&ð^.•š<¢¿4­©©Ã t·–]üdbÅÞ¸ng˜ž¨«§*]x~š8Ò_˜>ä¢ôaƒÓ‡NvQZ‹ïñ|+ÕFœf%€ÓfÅ‹ÌÛ!ò·‘8ó¸=õN›tjP?=ýøZ–bŠýKï=<4\uAt˜¶Ÿ›¤µ:Lÿß›ÿêÛ7“ÿþ ©Ô©ò)Ñ[Ê‘¿ïÿ°è8åÇÿþ÷¯Ç¹«±æ¸õ¶n¿uì™ç é{Z‡Mmß½{w¯ž¶ ÿ®¤ßúTUUýí-¾Eèàg }Adéôj¼kIüdÒXeu¬[¸æÃõx!é/-;Ú ê'%éæÖl.§k"hní8)9/¢I8Oýˆ ºBºµ•–_V”nÿ÷wKéöÏ.»±çæqIÅôê÷w\q…1Öí¾ÒíÚŸßvÿý÷'''ò/±˜j×®\!uî܉eþœõ:_*&é‡ÓP™þñ÷WV­ZåiØW[[›——wÿ}“óÿïº.©ÝßûçúO?ù„fCøÑ¨¼IOL{.u²Ãe'=mÒá—šÊrr." é ½†í05ª“šÚ¹gO–’¢\wÖ«Ó˜%Fd -möà—çEyÅ…t³8ÖmöK+é˜5o9Íy—Ž©³ß¦#ø®óQ‚AòÖ#`úØýÚMù¯mŒéO‚¬—Øî̻ә%V^ȧ Ó6%ÆŽ¸*+l™ÖzwK;)Ùé¶©qDZÄR“#'}ÁÃOÑÿ‘<Òo8mP/u俽øŠPoÑ—}P¯ðâï£é†µ3?ò¶¾Qh„¥·“û(–ÕìÑ£Gý†ÖåŒ •“–ä)¿qÖ±=ý¸zÒMöWŠ#Ìô?<þÀ üK—.]>ùèÃuŸí¼âÚ;®»ïé½ß~óÙ§ÿëî®iýlÝ:të=ÀŠt“ŠÍ8(Iú»§Ÿôª­÷ŸékÆ’ž={6lTÕÉìÀÊ.¼È³yC‡ª«cH7?K$ Ò‚4»ògKjêl¢l‰H¾çQ˜Üº×mÊ×L»{¿¿,OM¹žÊpúœ÷bn2l-cYéùû±kÓ»,wø¥yo½‘—skr ²š´Óßi#k`&ãs1õ8æÍ Cðx47ýry¦=Qô´Ín£ãh+6¦Í7›Ï¸¿2‘€Ì™µyOå~:>É}÷§7D’EÔiø—ýöIÆw¿±ü6–³w„©{V?÷åË^¡™ÖÿºéL¾y¨³lg ·™,þýÉŽ‹ž[Pþ—ÿ8ë¤ÚïŽvþÙ˜súÛ¯þý“¤Ÿ²³G΋Ұ<ýÔÔO^y¨âÝ?nXü;IiöS…ÓïÎyâ‘ÛBC£"hÝ]yÌ¢y ݺÆýmwÝúÌoU__ÿÈ­¹S}s†aÑ 4ªÓáú;Î8wè!WSE¬W'Ð’þðœ®lkjN/ßÿ“••ÉIžsF=Úöi”·A\H7‹^·úú ë‘CtÖ”{`Üä;F2O]pƶ¤ü(ï™æO~iö¤?–o`»«¿¼ýjõ6 ´[Ø¢±òoè éÏzúñ¸øê»¶Uïb;·Ÿyõí¶üë#çìtþw8õžì)¹ÅB'+ílë¸F]¢¹%“²y3Gäå//oR]yªî–#]i¥ƒ’ë6)'D?j8›Xü£à¥Ò¤z£ u›fÓhî©õ_JoÂIÆ¿Y/ Ø,'~ݸC޾€Ü«=tz f ÖbIûbÊ¡T0}÷ËôñÞýnyƒdöû¡=ëAžŒåˆRÒäoøã¢éUà ÊX¯>Úsß ÙWÁNÔu99ùûüãØA;Kêbt˜ê#ޚЉ_®^û¡£l“cÕÆš•v®þhw÷î]ÝÆ¤ùƨÐ(%9ÆÜ<,]¾÷öm™sú”BÑãeòßùu‡ÁŸå}è—\h²›Þ=;Ûç¯jcDÿÓŸÿx¤ÿmßõÑû_HO2öËò »ªÎ¹ê⦙B^³¼¥óW7-Q£±?ø/-™•#ÜØ*øÝ.žÉ¿w$˜HäYg5 9Îek¯ÓnÏÂõ™*ûè)±~{h]À£.Víl"Ö6}Ïÿ{}ȵ}¾øtφJ;zâÊaÉŸ?²€ý`”1ÃTŽk`L0Ö!ÕøÝmÚÞßhªÃ´Ž}~«¶}ÒöÆ|óÚŸ}ªsû*ÿF9VN2°R@K¨·Ön·m˜3tÿ¡†_^Ò=opjL˜Ä…t³èu“ÐÏ?7ã‚ó2_9ôâÌËg\1$ãê¡éW IçËóZ¢›90KºCƒêÛÒ´²‚b’w\ªñ­èe ßaïYeú)ÿ$-p—¶‹"†^uæäë¦ùè0Þ=:­D L1BÚ°\öÂË[h<ëG#äÞÿû¡ô´Y릲ɜ0…å‹]kù½¡¿9V/--•m¶¼£LÉ-¦C4°HÀMKЯ &¢Ž‡ xÏé=N©u1:\4ªGíéS\bï0éWãŽ(¿¯Û®¥Ó_§a ¤rV?—ýÝL×y\xùUC^ LÒÈsÍ{ë'©É¼3DŸé®×ŸÖ§&|ôþ/Sß÷ ¥{b§h§ÅVißÑz¥ñ÷Ww|3ò·ƒ–­XVuÊÊwó<8ýíêŽo÷¸ã«¯Ö¼üò/½tß‹/Þ‰¸‰`©ˆ·Þ*úôß/Óѳë7›?~y]ÙËëË_Þ½û?äi›=wu•vî¼cݺu!2ö÷W«öŽžÔùoþ³º×ûwO)x¨ì_/¾ùeëÕ ´dÕª×+*>ÿàý·®°¥çž÷Þzçƒ-[ÞŒžI¤_ò&’ ]zÝB¿R9Åxí¦ª5›ªÊ7íø`ãŽUë«V®«Z±¦zåú.¯¢´ÊèÛÊÄ3ѯ7SÝg*cÃí–SÌ*vð_k¿$Q€äê7a¦ÞR~þ♟ÌÚr¾Š\D -•ñ!2üm&›ÿåÞÒä@CÞ D"> ºÔ)ð1o½f$ý x?éÈ…™FržV irC A£èow1MA$ãøß©Z¡ð½¥$Ûè  §¤íHÝYú ¶±r.}hóœmcyGdÀ×¾k÷ÓF¼;fæ-—æ=ËcòïãÛÏÌ1g˜–7ù.>¶áú¡4'iü»ù.›•o ÙgJ_óÉʇÀ­ì`ƒ"ŒÒ_ï䉴â~U‹äÒoÝ3__0ì‹Íçß}3U~Èê¿]¸þŸƒ®8/;g8S ó™z'­Ä;ó±{fÍœÜÜtÆß2êöñcdÑæ#­oçý•ûW¹ZeÏn®1£Œ›,ˆE?|mþ°/>ûÉÄ›2Ò» ^õök—–ÕÔêZrÍ•<9ëAÊçùÇo%&ó_˜9"û§Ñ3‰‹°,¶ë#O/}⡼õ~Å'üz˜“ú³Åkï°Ûr†dÌ|ò•yÿÆ?7Ò[Ùc5ùq›hœ´r†+¹…#û/Í«5–kFúØMÁâ-h `‘ÀßÖŸ8©[‡ä$Ýôwqè‘Hk2Ð6DIî†kc#,‹\ÛB´ÖÚM¡-°K¨:$ên 4>—8‹}Kù>iÆ!60;§…÷»‰)„S¸úbz·)ï Ú~4Rù®‘›7‚§äþ¸àIê>€±  D€¼ntPï‚‹¶ù‡“{“û7ËzieýMÕ ¦‚4•@\t˜ZëV'f˜Ö»X==ÂèOLšHBí€!WOÑc*–Ýaö j1zœ/é {Æl+³Lk=˜š"Ñ4ÇZLæÓx’¦òG|O€þpu{ܤ՜.ML3åzQµ÷¥Ò:ï’;-D;r$¼5ˆ ЪâBºYœa*I šÝ©ÙÝÌÆW·Ñâvš¿Aû/“’£‡V˜ÞÉ”·GÓ8½¢¨ˆ/Žo^"ßxoJK‚/»HMY•¤U›…ƒ´IçHfÎ:ÍyÂí¬7­>6ØäánHv7ØÝγӣ]¨½MD¥@ -ˆ éfÑëv¢®žÐ_x~š8Ò_˜>ä¢ôaƒÓ‡NvQZ‹oÓ–ÚuIàgtÌÒýš‹»]}qWã £§ÊƒÆ·Òuì¥ÝÎ<£3 ´mq1M¼nVÔÛÝ–Øi2CŸ ¥&]qr¼G’Í>ïñü¶Ý` Q»xž¦a$DOàžÑ~™`<{ôTã04k6Js˜dž¦Ò­9*‰<[‘@ÜJ·Vd‚¢A Õ à7¾Õ› 9 @³6Õ8Ì3Qg˜Æ!J˜   -I ‘ƺÍ~i%³æ-§ã±9ïÒ1uöÛtßu¾%)¢,hq!Ý,Î0% Sî¼fÚÝ£èøýýcéxjÊõtÐùésÞk\(@•€•!ʼnZ·vl7šµ6~"u#—I7ÙHr7ZÑþòä›ÿoÌ_–®šyÿ˜vØ„qXåƺÑp8¬Lf%@âûÀÞ­a‹ˆ»i g˜>õbéÔßzWÏ%ÑF+‰Óêá$ÝŒ:Ïyô¦`õç›Xñ ÆsKäFVÍJ évJﳚÕ$d  ñI !¥›E”3Ÿoú}^¿š”nnF º58ÝGŽxîÅwæLÿ¿FsóÛÌÔb©ˆÖtH·¦‚   Ð^$ì SïaúéfÇ'Ÿ96}\½öCGÙ&Ǫ5+7ì\ýÑîîÝ»ºi‡? $œÚË6r¡ƒ'ðž‘'¼Ÿ ËåÇ‘ ªD €´¸˜¦Ð¤Q–矛qÁyƒ/Èzqæåƒ3®’qõÐô«†¤óåy­í¦àÝݪ,‹o/ïX81?«LìqU–Ué`b‹zñ¹šö9•J­4¿r”ŒQP<[ê=Ë4’Ô$»éÀv–¡!"€€#ÒMÎ0 ýJä¥k7U­ÙTU¾iÇw¬Z_µr]ÕŠ5Õ+×ׄØ}Þ¿â†S-§˜UìpdÌbÅ96®Ñ²‹Š²;*rK&eóD™#òr‹—sí¦Ÿa™ƒÙ«÷€€€4;¸nÒëú•"8.zM²ktØlxåŠÎ&:S­8uøŒ…¥yÕÂ…V]"t˜ÜV~ÔrÞ#ŠîÐf¿çP€€€@Äiqß=õæ“S±îïÈýæô0§ÛxÕ4›=gHÆãO.š7‹«ÀࡼÐ6{Põ6q"[ æ™*·€Í_=¢H kS*ûç°2­([D¨œ¢MÚ1ROÂOï#¦ÞÖúOSèÔKóÔËÃã‘¢Û?<ñ‡â¶NõkiwL¸¹¥‹Dy  Ðt§žÖ'l¢¸[$¬Å2Âý3_›3ý–Uë¿"7›‡Ô››¹HÀy4zÃHº]š>ëÉWæ?(ÝH²QÏ(µ4ˆ÷sA«´`ÅÀù*‚C_K„±.áÌr ÒÍBkE Ýâ|q&ÿæÙçþd¡êñ%¡(ÕÒ-bzH Ð’Ú²t›<ãÏÏÍøõ?×U  M'¥ÅA¸€£ÕÝ>8ýO-Zð‡;[7Ê J 2éVùyyÜò|yá_HºÅ³…!Ð%´ñßTkH·ˆé!!€@Khªt‹‹±n¨«§˜žŸ&ŽôÁ¦¹(}ØàtmÃ.J«£åݬŒu³X¢€€€@üH$é–’Âî¾hÖÓ¯Êã u,y²hÉÓÏ,yöÙ%ÉIÉñG€€€@Ì$’t›÷xþ 3oaæuü~ÂÜßO “tÌü7 fÝAob€€€@üH$éô`€€€´(H·ÅÂ"$ðÍòßü$ç7ÛãMÎϼøQ„Ù5g2aêÙ>‡ngÜÚ 5¥Š?ôöÇÁš¦Õ=2bH ± é ŠÈ£E¬ŸñNœÛaÉ„ªY¥æÞU¿4ñc³5>}/̽ôãi¹|†¯)$Z-¬Õ±@@ ÅØXŸÍNOí>äÔ#û~=Ï´à¹ËjfÜ~u‹Ù„‚ÀŒEïß3:èEJ§^š§^-híNé}Våçåq[ñ—þåÙçþφ@—ÐÆG|KP­ï˜psÄÉ‘@ZŒÀ©§õ [V¯ñ}Øñ}̱Õîƒ×-,.Dx!é/-;@@@@ ,H·°ˆ@@@â…¤[¼´ì° ÝÂ"BˆnñÒ°@@@ÂÀâ a!B“ D°8È(nr1H! `qÜ  A ©‹ƒ@º%D³&˜‘H·þC:Ù‘Ÿõì>бbÑG#o7íDŸ†6bUB1iªõÐῈ89‚€@‹8°wkز°®[XDˆÐÒâV·ˆx¶­¥Û 倴6xÝZ»ÚbùxÝh7"Aþ­xã!uÛ†5oÂëoMÚxÝ«½`-´gðºµçÖGÝA@@Ú8Ì0m㠌ꀀ´%nm©5¿.ôü|G&õQÇ?n‰¿J™,ïy¹4ð–Su›û=asÊóåª.ŸÏHi´&<ÃSïò^6R™Nê-ÑBA2©–ti߀ÖU6[n!3ÿÊZH‚(  &n¸â@íÔô&Ž}lff(ÑÓ*¶Ÿ’±~Ÿ²0ûÐZ²äÈ̯üBØ<½á¶7•š¹kI¿ÛØ¡Ñtò‡Ø¯{›$Ùî.ÿx³g†éOUÃ󟺾ËS†´ ,ô5Ý^h-cµ f8Ãò02öï~%ãÔ¦©7fnÕF [ª9§‡~YX  `¤›HˆÒмJÈÜ))zú|ºÞx'#ï]õvê™;.cX”³2œü£QÿÖå3zßUû6ɸ R2YÃV©ç _qŸÜ_0åfNõ©Ó¡T`¨BE‰‡Š^³Rdžª])·Ýkê$5|`Ä­üÔðîÝ&v€ÊbE[<Ï•(ï‡õ:Jõ^ÝÏgôüÇÑ"F«5–$h žŒÒ`+´@â’¤[\6 ŒòàjcÀÙô¹‹ð-ÉNÉZvYÏçYí»ºŒ”ƒá.èr#ùB]>踌)ÎÒØÏÈáe¾êPÈ‹e¿fÊÓF]œ»œLW3Aí­}­–ûäÂ‡Æ e)×g§¬)¾½ðÁy_ö¾5—éÃòüº¥ua%¼“:dof—§|#šú[© öÊÖQŽRS?ò‚þ=‡1/ µrl¤Y- b€€@b€tK¬öjÏÖÖ^;Ðq­ô-qWçÛåÎáWqÒå×vaåµkoIU/çÐ+†°‹!6îc<(‡y kã%p–ÏX7–Ös¢®f†ÏŒÂ ¢PÒ¬iµ+,¹Ü$ŽQŽ#TÎ+àœU_†%0Öm<ïÛAwF~é”ý¿Ô(ëÉ~dÞù$oÿ$,h 6Ú¬V [#D#é–` ÖþÌ%‡“þ íí5;UºpÖþ£¶&#årîybª3­ç2åêw[Z3Ðòµ&‡µ™‚¹‡wסIrêבÜw(·5}jgã… yt<¢QÿBÃý‚ƺõÔçO„ëÞ ƒ3drÞù‚% Ú‚Á›5Jƒ›áö@–  Ðü ÝšŸ1Jˆ†€áq!Ýft¥‘ÇHæùé¡5]®¿…úÝÄð2 »ÄŒNýP^ºh ˆ8-9ŸÒR²|“¯±[ÙæuVùÆðŽo³4Z.«Šÿœ‰ó‘g¾CÙ>¥NgÙÝ< k„ãÐRÚ‚ñÓ¬–ê€H  ÐŒ Ýš.²Žš€ß&rÑÐ1}Ôÿ]K”×Nÿñ_ ·ÍìÉ{Kéy¼Òº\¯Ü`]Ô¸ø¨ðÉÀ¬~HŽÈ AO’¬\ße¢\Îí–ž·YíÖ¬]±^Í$¸ëޞʣ4ž/M_`Ž¯Â¯ ¢ª :‘Ÿ2Ö¢£>ͽiùkSšÌ‘ûDõæàÞA+mÁhV+¶!€ÄH·øhXá%`*›nŒo²Cô6N¬Þ'ûyà”Æ’fµ×þ¢öŠ7åJ«/ØC¼¯íýçj¨þ›) äºnAO’¬¿ûƒlÑCjuñnèÇ«QhO]V;U:çÉŸ1So²¥:Ò4ÇÔ£O9sYvíhYßp×’Æ–Ó ˜¦°CLì ¨Ÿ—¯rÇ›c>«UŽÒ0vmÁæoVKô @â‚¶Ÿ‹fhcF`ûù¸jPÚˆ}äí·²I¼¿;eA .Æ‹íç[¹ÅQ<€€e–·ŸßϪ׳ãûàu³ŒAšDÀÔÏË;Lw9+š”‘A@‚€tÃ} Ð<^ÛÇ÷ò}ÜË~Ý05XÏlóŒ\A@ -€tkË­‹º@ëøãxïv´­`Òºæ£tˆGë­’è6E<Ö-n+¾aÍ›­?\,R:q1Ö-Rã#N‡±n£CB&€±n- Å…'àÑ<š á##€€€@ðºáöˆ=?¯[RÇ“™§AóÔkôªÙ‚–Wùåcorl߆ÿEû€Úƒ$¦zÝ Ý£]ËʤÛ)½ÏŠç:R‡iâꀄ6>⻢}Ö:b\H Њ¬J·Ú}¬f«Åâ ­ØV(@@@šH3L› ÑA@@@ õ@ºµ{”    M$éÖD`ˆ   ­GÒ­õØ£ä@Ž…#m Ë}.•9iÏÍ/+ ©ÂFQFr›l#:d|i£Ï):ëjD ’½¿F*“ñ…zK Rpã•0g@:tÝ}“êõm"áfj”°­†  ÐV@ºµ•–l;õÈÍÍ-^nÖnåË‹éœÅ š•Aæ„ZQ¶Å„Ö£9*K ÊÔBu+&dJ…–SQR-Εeå÷Wj¦¼°>§«KXþD]åù•Äc•šÎñÏY<ÿ²‚âCš]¤¯–Ç£2V0EØ:™‹´Õ%9M·FÍ›H¸™%\Åq@Ú H·6Ó”m¦"Yyy¹;F}H¹äåÅOõ¸’ä+’¸‘"ޱìQLšÏ#–,§ÍL5n¬œŠ‚“0©&eóœ&•"6H¡Þ|Ê sŠ Ê¬H(oæ"uæ„Þ"â‡0,AÒ ·GÜ8"-]­k7®ÜF0iî(”N)R@# EW«{°ŠsdG¦áoÊÎXS'gD5wì¨ÈÍá+Ý|ÔØìby"²¬FiN!ŸÜŠIƒ¼˜SeÌR*0T¡Ž…T¢{aCæ ÜÒüùš †Ì˰‰ 2ŸÆë5ráÂB‹´“9ðd”‡E…  ¯ ÝâµeÚ³]™&í&”›I–H“ìš,`ųU/di1›¢ús]×}`^ŒÅKÙ™ÊW¼44õ\²¥ƒ‰@!/x©ô´QÄÜAL׋AQfv6>4^(s¬^Zj©¯T)5Þ «†©ùÙ¤†öÞ‰‡º6õ#O©Ì/RÍÀF¡Ý¥yþ]ÏAO2fÉàðp@‹¤[bµW;±Ö«Ýü•ã#¼”¸à]“Fðïà ¥»ÊÈñ EîcyBjÚ”J}X›ÒE¾cÝXiþl]/焚¨Æ¢… åfÖ¶á*g ‘Ó5œWÀ…eHyŒuó*=ÂfQÉ;ƒXÐ(¼GW÷iÆAOòܬŽ®ƒ€@¢€tK´köêÚ-@¹Qõ½}g9&GN¸®É°}—ÁúZ3ÊYxǺ‘´P81l­´Òa²½IÝ’Údåæ­¦ÐpÕ4ÖM÷\F‹(dðÎßÀ,Ii~åÑ3Mßz2Zƒ-69¢€@|€t‹¯ö€5ŠýÒ—.]]NãÊ|gn3:ÔÄ¼Êø |\©5ŸÀ5˜ uKzÇ·Y-'ze3­Bà#Ï|5#iä@+­fg!ž¡l…ãÐRÈUSu}8=i);D¶FÒ­­µh[©9¯Jósò™ßŒ>èK¹jø¨·àµ ð„ÅŠYý“‚žÌœ0¥@÷h•ÏÏ·Ú­)*.fxÍŸWÊÊTSåE¤¹çÖ±p"ͳ6šɅ,TóM¸wÐJ¼öƪ¶èezÒJnˆ m‘¤[[lÕ6Q'1’-`.§¢Cmö 2Ù é„^ .·&uH6Xv‘X MÎf­œ"§C=)Nç-½Vïà†d©QhÞD䯦Bp ,îõã Ïés ¸3pF‡X`¸‘¡yÓB,ëK¥é…MdyÖ\¤^fD•|HÓI‹UF4hkl¬Ï控§örê‘}¿žç Z¿¹ËjfÜ~u[«:êÓlf,zÿžÑFöIOfžÍS¯Ñ«f Zì)½Ïj6sbñ†5oþ‹dÔYÄ…ñ¼§»rJs¬ÜÒ¸¨uk47ÊH8ön ks¯ñ}Xí>V³^áu ‹ @""`êçå¦M”QqH 탤[ûhgÔZž€ÑõË—»ËRŸ-oJ¶EÒ­mµ'jñDÀ´Ïª•}ºâÉtØ ñJÒ-^[v€€€@H7Ü    00Ã4aš* `†iå—ÿM  ÂÔ„ ¸“‚/Œˆ¦Î0…t‹yäã%tÃâ ÍwµÏe2Úg­›ï.BÎ ÍG ©Ò ¦Í×È@@@bLÒ-Æ@‘€€€4H·æc‹œA@@@ Æ Ýb Ù€€€@ó€tk>¶È¹éh§K}gtùosí"ßtÓÚJ _ÄMâÐ:‘4ϤI¥¶ð¨€Ĉ¤[Œ@"›˜((ÓŒPÆrl#:b–w»Ï¨¼oI¥ó­.©Èi¢Ž2·ŽÌ¦‰Û$dNXÑÔ$í¾Õ@Ì Ýp?Ä3¾ fiþüòx¶1‘l+_^œ[2)[79s‚’ÜâåÀ›Hm[AÚ=H·v Ä9€ìQ¬bùÝÌmÆ{ñf¡ÞËêõÏ™ºö¼så…ÞÎXy¶±äqÎ$ró2åú*aÃF(Fòîêˆz3#©3¹pa¡ôŸ6¡íLþVoƒê'£48r†H  ­EÀÆ4ʆtk­@¹ pµQI?ù†â¥lï¸óúçL½‚¼KPj‘òœbÕÛWVÀŠgëݰÉ-–ˆÑH©•ç( ë'ÒJ‹Ù”° Fb]{3 Iê*§¢¤š7ΔÊüâ À‚¶ÝÒ<‘D+ËÊﯷ]ÿÀ“ŒY28› 6ƒ€@(n¸?@nÞˆL^Òx²*æ^AïȪì"cX÷ä! y¢óc?ç •‘Òp^í•;H€ ƺy‡ºù“t¬^ZZ0e‚È3{R‰jŸÜƒ¶jO‘Fôæò 8Éó±bp¸ á:€$H·Dk±vg¯£²4ô/tÖ@_ÁáØQ’·Ó-ÇäòOÞn WMêÈp@F‰"dòÌYAÈKRšß_yôúç—êi‚ždQÜnšh[ ÝÚV{¶½Ú˜=.Öj\$n3:ÝÈád-«¶‹<óí%Í‘¦?::b˜" ê€üse« Ê©ôdt¦!5€$(H·m¸vb¶ &ûܸ"S“!yO\ÔjŒÅçž69:¾²TwÒðLÛ ?¿jŠ.ÈŸÑÿó™iÊiL±Y¸tµÐnašÌ(—·J‡'ʶ z2¦¦"3H n ÔXíÄTó@øVf,&uïK›ÈòBºÍ²‹Ä‚e<ðUÌVpéçMm›=¨¬¤Y]MñÛP|èý¯Ï1àŽHÇ/è¢)°&ÓBLIå“"TaášÌ«ÝŠªó–*û¨õ¥qÔ 'ã—2,f%`c}6w<=µÇSì;øõ+ž lXóæÐῈg CØÆóëÊ)-¸o\Ô:Aï˜  вìݶÀ^ãû°Úý̱Žß¯[X\ˆ ÓÐ:ÞaŠù QD"ð#é†[@ yð½0T«ÑqÝ<%!WhG ÝÚQc£ª ÐÂŒEäš¼Õi Šâ@@ q@º%N[ÁRvOÒ­Ýß   80Ã4qÚ*q,`†iå—ÿMœúÁÒÄ ¸“‚ƒ/¬ˆ¦Î0…t‹xdc"t‹óÅAм   ÐLš*ÝÐaÚL lMH·ˆ1"a£Ú€tÃß*¸¿A@bHÀï—±©9›¥:L›JñA@@@ Õ@ºµz    M%éÖTbˆ   ­FÒ­ÕУ`h*H·¦Cü„"°ké 7-ݱɎ…#m*Œ\èŸ)¾Hf)£TÖ"†71@@Ú:H·¶ÞÂmº~½Nd>n˜ù´jQ*6Zaÿ¥yÕšeY•¤%Ì-Q)xª2-4@æ„Ö"ZÈ Q@@Ú8H·6ÞÀm»zû÷TîÿdVNάÍôfOå[Ózë¼´XÖ9k Ò^ÙEEÙÒ=¶°Üi…åKñ&á^8•Ììœ#›ôº…‰©ûå¼iÅ™L²h9¢€Ä%H·¸lålÛýZá´²²iç6è†EU*'º¤\tù¯ÉT~FßHq£ ŠsütZi~å(r§‘Žk$”æ÷×ûXU©JBž»‚âÙ$·Ê ûçg• _^uI®9› 1+§H¯_uÞÒ‰2­ßÆÂšL¤ˆKnqÙ,0**ýn)R®¸·n rúhú…U“…gnÿ'¹ïZý–]$dÓ¨å^YnɤFU›(ÊÜa*»A$™ƒ¸Psì¨h,“À˜LhG ýóKK+”ÖïŒ9ÿ¨ !1€€@b€tKŒv‚•Qصs [4VzÝ.$‡\ÕNÊ.-ï­=%·Xé^å ŽM3LÛÍ­ŠŠ‚€@ËÀ Ó–c’šJ  H7¬†ÓÔFG|ü~›Êʆ©Æ´¦fø    -G@Ó˜ÍFÅa¬[Ë1GI    %H·("9€€€´H·–c’@@@@ JnQDò–%°ké 7-ÝÕre–ÚŒ0r¡ƒ 6),W†èçdŒ`¡¼Ð{ÍÈ! =/ŠÇs,é-–Þ[®â( @@ N @ºÅiÃÀ,Ià†ÓõRÇÓZJA™&Ê ™¤Ü–3õ¹º¤b6—j¤ÄrÔ9Ã?–S¬Ÿ./T±)}ŽW“ù”’9a…*SÓÊ Xî  Ù¶ ”   ÐÚ ÝZ»P~h9³6ï©ÜOÇ;ll‹úÛ1+»¨([^rT–f Ì$-WQR­Ÿ –ˆë°ê’\u©|yqÁ(‘C戼܊¤ýBÇÂÙÅS‚)BÜ8  퓤[ûl÷¬õ¥Ù“ʪv Ã×ÌT®¸éÅgêE5{æD§êkÆÉMv¸òTúûP<ŠsD祩3Tög.¥‘b#)Všß_uo6­c3s`Vi¥.ÝKá6•ÏÏg%“„ÒCNÒ ÷AbØõúËós¤“±eÓ¶_%ýp·Ïƽ}4ýÂiç¼ÃÏlž³mìÌx}‚Ä©š,½wŸä¾[h}´\v‘ê¹,ËÊŸ¨d“ý™£–+9§÷uê= ÆHµÆ‡¾ù1Z ùõàrKŒ›V‚€@K€tkIÚ(«éʦ'Ü÷öÐP‹ù”ª>PÇê¥bd›ca¡î{£®RR^$àŠÅlr’©8!óæñ——ûF(E\†ËÍb#!€´/ní«½Û`mÓÒÏ)›V"½íZWZvWvYfŠã%`e¬[æ  9Ò­~VŸ‹9é#Ûh¢(w«eUç-ƒÝú/Í 6_÷ŸöÏ/#âHf•1‘§ž%eê_ n1Ê­ Þ­¨€DOÒ-z†È¡u \<ó“Y[®ª÷Ÿùîô‹ƒYãÃûL­ÏT5­Ò¡&‘ÃÒ4>IA„0¤æ•>D#‹€ |ó ÓßÚºÔQ:€€@+°±>›;žÞ¹ÇÞGöüzž3¨s—Õ̸ýêV²Å&‹Þ¿gt†a·-©«æqjZ=½Úí)ñ_ÜðñßF°@‹€ß/cSï5¾«ÝÇj6Ð+¼nM¥‡ø    Ðj¸t³Ñ    qM@#ëàu‹ë&‚q    `&é†û@@@†Ÿ¦ÐéôÔîCNÅ4…„i´¸7´ LSˆ{Æ0@@ Á˜'ð5Õt}šÂzV»Ò­©ô?뺽výª¶U;Ô@@@›Àõ7Þay$ø’¼'ÞØ•ƒõ    Ðæ4*ÝÛ«Í@…@@@@ a`7…„i*    f|š‚M8&@jM(6Ì0ãF‚i    àKÒ w€€€$ ¾8H§ÓS»9õȾƒ˜¦0íCA@@ÀDÀíq;ëêÝ—¦µÄ((WC}óáOîÐQfnÁnKJéÔ1Éžd.±½Õ—OS¨ÝÇjÖ³ÚýnÍwï!gh!uÇÛíöyË*ßZ»}ûîÃ-Tj3Óû¤Ô놘yËùTNrJsií­¾nÍ|¯!{hYÇk¾¸bÇöï&:üÜ6²JëÇž‹Þ?óôŽ÷ŽËò󺵷úš¥ƺµìw ¥€€@ó Û]×]zùOûSŸiÛggœz×uCÞ\»-9)%Y{«¯AÒ­y¾@È@@Zi5ê'½ü§™šæÁÝ·Û=øÌÓ¨^öéÖÞêk¾• ÝZð‹…¢@@@ yÐp~ÊØM£÷é®ÛÚ@p7Ô×54ÔQ½díÌ¡½ÕÒ­y¾7È@@Z•@ð´UàÔír»\!ˆ¶·úJðºµê— …ƒ€€@ìèþ¶¶Ð[Êë¢QEÂJ·xêv,=z‘#âÞêpõ…t‹Ýw9€€@\ EÝbì\|]jj7yŒY\Ëعd̘%;eYk¡ó¯}¹z]B¢Pa¶:^#nÒÔ(¬âiÃxÝÂÂuH±ŸZZ³øºAûeíáZ~,ûÑ]Ycï ÿвj–ŒÉýâ_~bXì‹–9†da¡T©Ô\Vª*u¸T[¹6œü“),Qäö^ƒt ‹@@@ 1xUÒÁ7éºïbó_øuš:{Ù[^`û FJ·š%cÏþûu[Þ¾U¿³b½…"i}w~ð76Ëï/ÓK¹ì þ¾fñ¸.]zˆcÜbª!Õnì’ÅË3=È­(º‡Uq†â˜“Š6ráï4H·ðŒ@@‚@ä‚¡±”5U_\96Û¬ÌÒúŸ³j»ƒûÂÞ½÷œwþÅÒæÔma¼nÖ·¦ìUçô›i·.=zô ?þyΤ×q¶êÞ­×È3÷<ÿÌ«5ÚÎÅ?­ýSœ9zpÖeë>gû2Écß¹—"ðÛ$B«ôdaï4H·°ˆ@@…@”£¬¬$çâ„«ØÏç}÷}¯ªoÑð QtøV çÊd¼óÕëºÔŽŸÍe[ªx½®|þÎa"yÆ®ä#üÊþÎô3ücÕ6÷g2Éî]µj[Ml „¹Ù ÝåÛ;A@@ (ý=A’§ež³êïeÔ{h„š[®üA:¹¤®¼6ûÖ™?ÿû!U3†PÂ-²b+EùÔ¼zÝþþóŠGŽ8Rñ 5¿ÞXéMóó©±+Ÿ« øê˜I½®Q;ÝBŽí!Ýð 6B€”C¬Ëî˜Ëî¾ïÏ;UÎë§eMÖ¨•+îJûõœ¹_Œ½nÉ®X—ë­HHéY}E¥²¦Ó¤XiöÚiÓùÓ¼bôqgÙ»«T×'¯##ë›–=V›üòZ½PÞwlúhD‹®ÂÞ‹na!€€$ H;ïéK»õ­ŠŸ¿›Õã”üË–íÿÛ­gè8¨¸3nýÛ»?ºçÜqÔq›îÂÀ*ľÔWjî£U¥NÍ®–vËý?š,«yßösFxË”öÈpÆ­Ï?÷Åh‰â”G× }¼Âû±Ç¸?ïRÑ¢l…07›õÙÜéôÔîCN=²ïà×óœ‰roÂNƒÀñÚ£é·þõðò©tFôë%| ÍX]NÚ«®ß¯^:ôÞÝ.'ß«ÝÖ·×ø>¬vs¬gÇ÷Ãë–ð77*  ’€úåi6ïW”Τ&&çUñhŒªCÁÓöY_YkH7|ßA@@ p9U 7.§+qªFCC=T!Ü‚K·öV_y›¢Ã´|]Q öLàDí± î{ï¯xzWæ!­C!q››”Ùöoýßskv¼öÛúº#æê´·úš;L!Ý÷Ɔå    Ôטùú¿Þ{ô—Ãú_0à¤DçÂ'kjÚWß]°bÛ€´“‹&Ž8¬9ûKíIš½ÇÝ gn§^_ê<=qü€ÛeœäÛ[}!Ýšï~CÎ    cX$Æ@‘€€€´ ,Ò2œQ €€€Ä€¤[ " hn-Ã¥€€€€@ ¨uÝRûwM>½3mcª5t‹&×úúŽÑ$GZ´é¡ü8¾_I·”Þ¶¤n) µ´ÏkT{ÖºÜ)QáNès£œ†­E›>*òÑ&ŽÎx[Tw]c{ÛY­SëÞuQ.w¥ñ­[z³.]`©ù£¼ñ,•Ñx¤è¾5´`i4!Ú£MíQ§mÇÆGù°måß©Öm¸(Kò¶ÕXÃ1V»Ÿù–Õî±±ÞcäædVtÏ‚( S6D“K«Úߪ…Gû#¥ñ­«¢,=ÊÛ>ÊgY”OÒh>š¯[k?0¢EGöG÷,Ž.utè)u”_Ú(˲ò0>Jþ­”<Ú¯L”íå]×JÐbS,¡KbÌÃhÅ»ºÃ6Öë%¦MÎÈ@@@@ 9 üô&ת ¦IEND®B`‚nð®Ùþ€F®çS?߯ŠGÃÿ‰PNG  IHDR°œP»¶DsRGB®Îé pHYsÄÄ•+¥IDATx^í] xÕõ¿3³» !„gxÂCÊËZH µ± !•ª¥(iû Z¥þÅ~üÁúà¡h1¥TÑáSÀ $¼«µÒVˆy‚€$›l²¯™ùŸsïÌd6›lv7»›Íî\.›Ù;÷qι¿9çÜ×'Ë2ÑnÒg'@‚ìJÀdSnZñ:A &¸EøäAeâ–ÏžI­Å _"æÈι¶XK²žA¸=p°o@•…8ÝÄB;ÃÉ‹ Óˆ£‹v¥ºÛD3›ˆK&Ž+rñ­ÐÁßÿÌßk —Ü®}"ŸˆÙÚIT’HÚQZ` © iȈ Ì|Ð*¢G AtcwhŸMqZçjxÇJTi#ÕVÑùy ±ÖÈŸd™8@—ÖÔ”ì6‹æÄ”öDÃDÕ5P Z€¯, €Rfõûê¶«‰‰ ;‚wIí#ÈäPTˆ’ß¡¬±áãë¸ZK*.ÈGPU ¸ü“¤¦ÁÎuJƒ$Y}Üx³‰ãM„3›Ì&‡, 2ª/Ãu‡ˆa‰,¡Ãq²HàÃ&$–ƒäô°³`•·pШœ€¹z%ÌÕ‰œKæEÉe’¡\1‹`"835ýØ%êS öÝÄÙDjíŠ3`¢vÄ^GnVg;ùÐIIíTÏØ Ï <€`ÁÒMYrsn=-\‡MHÔH²DdΕD ¾b"øv,ÀMýMçD7€½ – \C‡‹ÔØIY©üõ4ŽÜq¤÷"\ILQ '˜ñ‚bËSX(·xz‹F œ$ÉL†­â‚Þž t¿(›9éc,ËÚ©gç&ŸØF;äWkÊÞØ}ð…çªÅ<( ¤¶ã’-rB^{B«®.‹'ƒ¥ XƒF4éB(͉àèÃÉ}T ÒÜì„õSlUÛ^‘*oHµ6Ùa—Ý.ÙåDÏßc ™*lÙI°,N»Û^WÓ¡kßgóŸÜ‘òÚ¶¯ ç"öZâ¶‘›5¸•tèå3z/ª†hÀ€RT0ÊÔ, TV%â»*M7F¦Å7§gJ„æ_ý/ípãù'…n=9Á$ÕT‰Õ•²ÓAœN™ŽC(`vÀ²Û ·d{­ÛV]YUuÙœrÛ÷úÑ¿•vÂß ß|Á“jÜ<ç鈲.g0dP IÍ•‚H¦C\ †À2ÚµÈÆÈà u[5 ÁBP4häˆÖ›œ%³X`ʙ̜ Æ„fÐ2ÓE/Ƹ>iÞd®¹r©gW Vâ¤#Iê‡OSÑ^Põ@o1LÀ' c¨‚,„j# ‹÷ ´ùغ]Ö´³ðB .€ú ²­Zª±J¶jxúeGl·Ëö:¹®V¶ÕH0Õ`­«¾kª \[@mÀpA nŸ…j)UÐàâˆó\Ѐ@$l[ñ ê±£˜à™“ 9 ‰š雈0aÀáH§ëÀB¬OAª©=!Ù¬í×uÙÉf“m6ÉV#Ú¬’µRª¾)U}ÛkÓG©/¤€ps<z+”Uõ@ÐñiˆTû&Ä3Q™É6w“7w“ò»²xîAlž}Ž:rft’ßê´©^?±$]þkÚmÊ•|⩞ò¶´'‚.3”‘Œ@'`"BA§$(ý²Ë%ƒ;YW#;‰wŽ”ô?m•\Np~:1½·‡ôö¦âÔ&t/Î%ô@™Ëš@Ìt|¡8,J{eNî±’Å¡nH,­ôª£†;µ#± Ü)ç‹‹Í<‡‚^›’œ ÃYª1Â*øCu#i¿›5áè“4ÙåÀ‹t8WŸú9ËÛó•]Ø÷’Ÿïü“%Vä†bÀ„ ‘ÎI+Bß’¨¹Ê…4øaÇÄù]8ûw³ƒ°9+0+„á.MÏ=ÿåŽm0%qℸ>çÿýß`íwž±]ž[uÙò= ¹†?}ðœîѦDœ0°¼²h:ËØ+Œzÿõc “o!"d×0î!„LýJ5p¤ç>Ò»IJ"-$&ªy4™)þÐŽ+øó°Í÷:tÐå^y¶ÃìîZBe~ÞÛ_þ~Þjq.yÈ:øù.³ÓÕ»ŸY¹Uº¡Kÿä «’2ëër¿þÔÍ9çá{BѶYŸÕ¾Þ3 ˲RºÌůe úZ‡VÜãVéû7û½ ª¼Ajå¬õϬKH‡5H³cÉO¬ÏÁ_]sj ¦MkÓT^Ôl­èo`%ý|úœ¿ßûâÌ1æî¸Ò%Ù CM0®žë õô^š ºŽB9^â…9s£fÊ?.s#NX¼­–÷5¹x VHÛ£®€Õm´OP#<ú0k}ýeMQ_ç¦ÔWú œÉs— µK‡ ™Xpƒ-®ûceþEø[ÊØ?ñœç*?61}eòĵÉ_•!¼X¤JG3CO2Í^e~=CI'wÔqO~ÔnFá“X›ÜÎÐ!…ÇÛ¥c+Yóºlºø@ÄÙy 2·æL椴â;+A`§u>¿(çs=a¯Ì:ùz’Ã:`¦hhPCÎÌ”ÙéÎüÈé“ÿ*l­Ž$žfq±‘N%3UÓ °`“QŠã@ùò¼z»}yÆ­/Ã2ÏÁxÔƒWœÀš@0ƒ¦ J&¦ÌÇ~ÿR{Þl©ƒ™d}A”\%ß½tä¡Yàò«€PÇ hz`zÄC|*ø`ø‹élèZI*ëº{}ßžb")· ï Ýyíôñ.¤[6[ A¨®R²yž™“gíXVw¤ŸüvrË|ãZƒ:])j댰úµ|îÖ^Õ°¥ä¾Õ0ÜZ]˜&¿<>s„KÏ¢)âQkN#vƒ£áÀ)HÐ`d V°{¬ÛÅ$peîXvѽàŸ8/˜ n€çvòš†ûLAÆ'ÐÚ••s˜ÝNo(½šöOy r2oé.vèF˜º` yè’+ <1 °«E¬\¹Ããʬsj4ÿÉ+•”ïŒì*¦ÂJ®Z!8²?Y0¿‘Ÿ§Œ†pLôàçº 7 ‹,À">~ÕT#÷ù%hλaï{‚eÌ«hÓ-sN›µzà‚>n­ëaA5:ðê0Ÿ0W-‰=^ÚÎx½2<ܼ:ûn짤Ýß=ÏÁl7 1@=P?ƒv hˆzCA À CÛB§vˆŽÎO€Jø„£c1n¡­ ¿j•èA@¸sWU@“¬‹ºV!ݼiž9“\ßðäÖ*Xþ½Ke¤óø\"Ôšr4gGþ ú>ö(^´LOçY’Æ.­÷»SÿþÝØœ¥¶ïöÔ@†æ£J<&,EÕjû?Åæ¼jR´Ôâø‹ÝeË .÷ á²U­ŠUÙè1F±ˆª‚ÙbX¸R4ØŽkw0Þ¿ž/,ql)_ûùwYb·—Á^ð Ìd˜A ’C œzP;¶TPShàÁà?êTîé.nàÜëMg¦à\ø}‹/$ƒþoOWÇ:aÏxÕd¤Ô9Lx çì¶“>£>8=ƹJÈ;jdþÔYW”.¿ažÝݾtÈÆ—É0q`{¥ó Q–ù¢˜ùêõ¾>P÷ŽeOWüüæ…Ç»‰=Áei¬¸Û™ÉØ@fy9¿ݱâ|¬ná@ý¥ 7 ¬ô´¹†5 à2o3Éo@Bß+ó¸`$5^ê#ÍC ó…2íš•n_| Õ€g•fŸ`Ìé´ƒž¨=´Ñ0w]Ù¢ž#õ-®=t ¤Û?|¿ºa‹%`‚ùÔ™‚©º¢Á‘¾ÿ%½;’ŽíHŠ@`tJÛ¼ýcËžb¶¼Åwç<÷Î9+¼µMKçäîâÄ_Ú“®'îß(|;Üù@.x®ÒÕ¤£'±HZ¶3{Ûª epž"0”ú;E‡p²šŸœMüÛ6¡ÿOênG¢YÐ*ÁëÑÏØïj²¸>3Ò“3Ç™ Ã1_uR¾#5F³VƒíXâÞ"f©ôŒ`s°=µƒÖ:]—ß²œÓUHMãÚµ‡­°°æ‰Ï'¸–te“ÁytrnØ\ Ð8n‡ÓZ+ž®–§œ–¸œJ±Âü+rñS˜‡8Aúuf€à@=ȸ£Š0z€?0RA‰p2Ѭ8•Ýu« ÝæJ™.ƒ5 ÿ5Ï9°s òlañ@›‹Îü@Ta!¿!œþ~ªÐ¾ß®=®yÂb&ô(Tó8ÂäqL˜ €Åàrº®ª:ét ™þ•ÌÝ_C\nRå"Î/HÅ<‡¸ˆ û±XWÃ+Þå$¿z ˆy‚6ý©›Gã@ÑxEð4vÀwl4ƒïDßÅ£³ÿBNsZP¯/+Ù:õ¬²ÕÝ´VWY­•VëÍJëÍ*Øñ`­¬¬®¬¬©²ÖVYëªjœ•6WU­»ªN¬²Ë®Œ=ƒäðиRnF”B”Œ qMÒ¡ùé:Câ­!U¬Y‰*arÛ¼ 4DË‹‡¼{"_aCSE•ÄÜ»ëV;w|ጪ¯/YÌ Õaª‡­kÔ„­ "œŸá$‘?7]ÂWÉ NEzß±w.+êÿÚ‡|½†(û„"tLFBÝå/àqên$àüŒ:T…èy¼‡‰ö`SÒ ;óEÝZpäû)r-*fBÝ@ÊF ²ø‹ÑîWç«[bý£æò qÅÛEœËš¨&üʌ “ [¶‹j/Ø~ %Xè– ûlqB‡ÅþÊ\zÚBYouE|O/ˆ”™SÎÁÀÖ0Ô¹Ax8á+fPw¯é—Áp@Ã|èMæa§¡A`>D= àvGB¬×AÀ\ó%3]EÛ¡´ £ E¢A„íåÒ¯¥útN+4áˆ8 pl(WcíÂØ’%k7áàLTÀWí1Ä@ â†m‡¦Cd€l0S)&5ûMì~ü¯}4.íz‹Á® ¿vÑ ýGtèùDˆá0rhO#Õnbº£ .á®3©#ºX¯Ý¼¸Þë`„85ši} t™Ê“Ë'ˆµÂËh}Ú ZS ZSúQضˆ(ì”Ö$)Â?¬Ðš¬mû’žûÃ)††0pâ! @hZ\âí§;ŒìmóëÞÇmJF¹~3Ék…“¶Ñeš‰”!µ×£ÿ3ëÞ‹#Î+üŸü¿7 Ljs4d?Ú¡ž0º-B€ 0a\4‰F3!‘]²‹v NJü—€ÿe9Äôo½¤H¥â½é3Þ«ˆ Å“‚dϺkù1@AúÏY8hqþ'zTlÓ¥û`ç VPs¬^>S–»´E¹ %à–>§’BK!j$ µ´Ì\~¬žüŒ‡6]¿ú%Æ*VŠÎܲ¾ÎÚ·œ°‹µ`\>Y~×ùÅ,ç§9…K s5ð$$@@2zÖÊì`5hÏ}^>ù¢Ó³sÆe’Ñ?[»@eP^Bòs™†¸kYQÑùrH̘öîÕM@f#D<çùCVÆ´ç'ïÝtXµwíÍý”=÷+³}Ï^y‚iŒKGûÓ–‘'bÀã 8°†Àû¡¹äñeEŒV¦@†3YM‡Œ>C‹–mÒÙZ¼ LjXŸûÕP0€ dÄŠ³°úŒi‹‡,»‚ßžäSCŒXñéÊ’<æ~îb YýêVÈ«_vÙ- —¿Ùj'¬eDøÌE+tB¤šôµÚ9ÝD.%µ×”ß(ŽI·c !`‘Wc-#8ÑÅv©à|ˆØ–I\sg"®»ß›ùèu*Ž ‡šÝB¥€‡,Œ:}H@Ûdk˜ '0a¢! Zå×/Œnˆ> óÑ×'­OQôÔi}ÙÄ"¾FeGˆÍ8¹‹½ÞO͜ܢ€À×'Á€öš c”a€ÁvhZ††0Ðá©!`ÿIt‹¤x ýi]Ž[RÝ„¶qê„JCÐ#aØW¼$›Á.ù¦“Ù$º¢âx!™µ€ì=êS7<÷ÄÄ,Cæøi9'Ï•†_"qÞBh[®Éä‡ïr¤ð°îð§rNKÕ-<¹•9`øÞ/ @„¯øjÏ·qéà.’;¦×èÎ*Úuœê8§µlèýy ãäV‹Å‘ B¡!Ð^ÐÓ£²Q«ç´²WÎ¥ã å'·JÏÌœ¡Äs#!Ñ)b§3fn ÔjTœoäÐNP'·&>ñÜttQºÿ½½Ã€7XCˆƒ»Ž,`ÖüR«¡© ü`One­)"Ù8èì7gxÑê^!œà[>QHtÖAí´ø.õh/2ôÉ­¬58ê„`À!œ@ oÌÁÿa?¹ulu—²®/7ðÃ¥ÆïT$127sr«ô(±] Éh””£+Ôcœy¤0@4øÃ›‘'L F/7Nþ‡©ËÂ[-¢åóá%Ѩ=’—†ˆ$F[!”€±§2„ÂlU5¹§~€:•Q ˆ6 ÚØ"±‹ ÃdÄVǶ˜-alU`"¶ú³ÅÜ€h±c«‚(u*wn… fmu”a¬e„­¹–~Œ:# Lj€ÛR ÚRoE€Vr[j"p@DúåJÞ'·üIÑ÷?ùýÉÓ–ú5hZ›„úØð²úhÐí[Ðûä–?)žphxöËŸâöÄXó€ Úné$7 ‡õ|CÅëäV±)xð# u‹î¶PÎ@hlàZú&Bª;ä”×-ÕŸÊ¢Z„š•-MæQß‘Ðû2¼Onù“¢ïòû“§-ôkÐ4ˆŠ­¯mÈîßš*Zvö‡Ê¦{õ}ZÊ9­/œÉ]AßÒÖHžÈ½s«ôõû؉ñû^?´hâ³ €Pá ¾}WΉ·§áës´SYðb-Ôõç´2Æäd¿\ŒJÂ;O ß¹å}r«é”ÌÙ{ØÖý=³Ô÷k 5ø*ÓHñšÁÐtÍÉ­,¯³\Þ)zýÉïOž Ùn+9öx?Ñ,GºSYx¬ï±¬F^°º“[Þg¹|Ÿîò'¿?yšCld t§²n|P§0BxrËû,—ïÓ]þä÷'Olôx3\Dïò·qr+äô¹Úi&Žà;·BÞªQa›”üÔ˜ñ[×m²çÂL´¡!Â,à¶V½ˆ¶Öca¦—K¸ýtêÈ®Qø"×03§Õûü5|zr+:§ÝÕzlã;·ÊÂùû­ÇšÑr‹$`ø-_ì6{}G°–‹ ‚_Ì–2³]c ‚“[Ì–2³]0ct-£~bËû®Â(xàÁ¹ÜØó¤ì0¾¦Q›˜ªÛÖ?&¸3˜FââzW05ebB]¦™™†0|ˆ˜èÏ–3Á…ø[-§È¨!*$`hˆ¨è†è!ÂDôôETPâïò·(‰.»C”Üpú%„»Žðµb²$°ÊÙé.ž̉ /è[Œ7~»L7“Rx¼ßû!ìµµ<ϯÿËw={©*|½Éš»¥%åî¿â‘; Q“Ù¢o:Þø µ¶ê{νâ\0uô¸ïÅÈŒEIéUØ™>(=aáÔá 4D¼ñ«"tÃcy£ÆÞÖOyåQÛÿ3¤o×ÇòFn;tÆ$˜½5S¼ñË$Àûù¶ è}°coË”e‰1¢(Šwê|ñ^€ˆ7~ í‡ç ŠˆàkÁDC Ñé°;væ]6ÐñƯÆ~&ÊÄ€VÐX@d‹nÑíöáÆÆ¿h2òêUÝ öy‘‘fMö±4Ò¤üÒ íusü" dö³þÈúX^—””Ââä‚2l¢|óäÉ›ËY[‡žô§…¾]•Ì· QJ¶Ÿ>"¹1R[@USÝg;Ñn¦!Ðñu(+ȼ=÷ [• ãûÃ>¹ œNÑ–Ê6OÎ9õòUÏŽ uÃj}>Ÿ… ¦’rÈ^…©ª½ò‡‡‚¬©a±–wïg?0@Ô÷SˆØ“åÃ#Öþ,C©ðžgKÖ’íÊ Ê6çÙ™Wò·™êí5[_‘/ùËoùídCÉÿÞ£¶rϳx]V0599•Æ©À!p—»¹ài–’ *†ÃO+yh äÑÑž“àÑŒ-ÁSÒhɲó§&äféû;£ßÐ}gKÑŽ.Z8åÔ{áDÒäË`ÇmYÑŽ}Cûy8cæ{ÕÕ71îº`ãalyßÂÓ?b)¿yéOo–ÉåS&É»iJõÍ•÷~zèÙß²"§rw,„ lxآЌ†à{og ­—?ÅU¹LY?ä׋ÞT<‰–NM‡Á‡˜0°¯7Áåo楤¥@üñ:R?ð(“ /ýj %¬ïÀ è9í$j ~=_BÖý˜¶pß¾3e¡BSü~.£EÈl´pFæÐ};‹@j¡ì\É„}àñ™pÖÌ'§ìö ³”©áËa`ÄÈ>´l93Æ#c𵼨pŸ¢ü‘GÌÃøÍÈÊ•¿vHm­§î«–­e]J§²ÅžFôvÆÌwON)žÚ9c.yÿúö™½U¢!ï™Û ‡ýæ{SÁt„FazÓz“L­;5Iaªó$òÃ1<>l1csÑÙ¡ãëÛdô°Ð{æK/žšÄDÑù÷‡Gÿádý×Ô©oU(Ùü±¼Á™H؆ÇéÔï7ÿû°ú×gæ;U<Åœšf\Õ¶peÜ.˜¹¶÷zèÕÊ]¿v»p[ ñÆ/¾ÈõÂÑ€tŒZr)lOj `qdE’ °¡ñ5¾xã˜áv).Ü.wÛÀ†Ó逌P84ˆxãEá§É¨³Õܹh×;OOÞ^’% ÷ a[0ªFí BŸ½\ùè‹Ïm™ç°[õôÇ¿šÉð÷‡Köº[ÿsñ›êŸŽéwgÿ´6Ô÷’Š»,u¥ú•=gúgtZ3ÿ¾:Û }Îxã—þ¤쩼î/ DÑ-¦—vþ÷í§ciOåOÆ Z5ï^7Ùª¿Ñ"Þø °9¶™L‰‚É‚•›4»¡Ñ¼à±å54•ªµH¢S½äa…<ǺÚ¢[K¤Nfœñ0 BÛ%FmÑ& 2¢ ƒžPJ€Î.€¥Hc .1Љ¡dÁD(¥uq¤Ç‰Äô¤¤~íMéíà¯egŠÆ•ᜌ> |IÀvT–c¬½Î‘nÛI"›¤ƒé[ß«VúùÝ&rú¨ ©Ò ÎDèWÎ!_·„TγÃÃHA° ”hŠS5Ò$‚!/'}õ±bàfå'¬¹ÏØüÁë\Sg2òV ï°óvžù;ðƒ' ›·‘‰Œ,6‹ÃbnëÞkà mK}냟cGrQcƒ¿‡º÷o=ž½ˆ­_Hq@)³¸©¬r¤óª$ÝšCÜœ¼S Xþ9ÐÿÜŽ«^^¤ÍìÇhu\[3ÛÚÄÛ¬ÈfãÉ:„ vìpÁ;lðˆ·˜ÆÖ¦ææ úÔëßþºÿ]ÿÆ€h² Mºü£µ‘QÀ¡aÈD4yˆ½×¶[Ž9©[bï–Ô¾­©½›{öiJÊhLHoäSôW5¢ž¨/ÇëÁ*,q­@ÑXÆãZhchpÞV@ €± $rØ–FÆÀ ° etzFkB=h^ƒ·‹i`} …i ‚¿$F§o»x¾_/®ÄFV’$8—œ§šZMWêmmFs›Én5[LÆ–ã/Mm&£Ùb6æ Iµµ']?€m¼ %™‘ùœ‡ h5ô1¼¢ AëDXøB v€ž7ðÆV®­…3¶ÂÛÏ[ͼÅÂ[̼ÙÄÛ8Øjhib›aÛš!ojÅ@mÀrAK¦}¢¸4Z)ƒú|ˆúöGÝ»¡2$~Åq¥¯AÍÀCx|o°Öa4 Ëñ&mÊÿ}Öüõ>JΨ ×`aDB †ÉÚ@™|4ðâüûõ¹ÃàíçÍÆn¿.J¼qÂÅÿzÙmœÝÆ;¬ÈnÇ9.ë½/Ûvom|kH°Íî8Yß<õ@-sóQd2¡6@Æ9tñ;õÛ²Ó.¥%£$=¿eBív¶{‚õ ÕÖkÉZÚ• ³§À¤Ù­xê`·eÿó[š^wÿuðÆ·Ù¹“ ®€Ð!sŒ±¤'ë :aÁ ¡ý2AJ=ƒÕœdÀ_6:@0bYT³ñï)}—ÑxÍŸÞJ<ß܎խ̉í‰f<ÍÞ= ³€ÑüªÔï¤Ê\ž«Ó܃wgB;í3o·r0‹´‚àí—?Jóö{}ÞÖа' ‡C ƒ'Å0ÉeÊ’=i žO¸n)²Ò-H]6V°ˆ$ðK¯u8¼©¡Õ†ž‰Y¸ÜûMŠi´ô§ö=zéÅ †_}@ðœtï  ˜Žjþó½l£#”rï¨-wÂd4‡–< >ypÝîÕ&Gœ°°¼øÔtš±ÿ†Ý°S™õ¯…—oÊÄB˜z&ð{ŒÓy2¯ƒ 0GM¤NÔY°k8ùX u=ŽÚA²RLZ·ªÿŽ;'Ã#h…yò/øÖöŸ³o+x}UÏm ‡âAäÞ ôèvõÿ4®?ÿ×hö~:{þE¼;V{ðÞ>ËRî]•òS Q=´8nW†íÕÍ|Q¿>[HG7˜™EŸ%=P¶èW¥$ÙϾ˜Œ¶Lêƒ[É{¼W¥p€×®xB¹)Rænϟ̙ܳòÆ&¡‡¸ÎOI/?UpTNØëÅÇÖ×Qš¿Ð{ª¡`FêÌ>¶ àž.Úøï*ÈÖé[¥ü!¼Í$âÃF²•LßhØf€+ØŒ‚1/øü…Ç#ð…®e0x Ãi( àĉLAG”lLé»»’õƒ”j8Øë€3=D–3Jqm¢ð^|jÖD“å&Mìƒj6ÿãµ–aöÛçr½zP‚`ã‹6¥R…ѬûXÈcv5ÉC£@!wõC¦¼¹ËË-5¨ÇÄk+Í‹{÷ÏÛu™o[ÎÝ3ajïdübÓhðCŸ”'V"tûžŠ_Wy÷Ø)³ñtœylUb“TçZ§m`® aÃàwžÐà#ê€D”€t! ‚[<üÃÔƒ™#êÏðÉ£õ{£\c¿÷b«ICÀ±k%30dÂUQ Á'#z|åÔXu €‘ÑÓˆÖÀ‚CTÜЦ‰O'=dIÕ¡]BÕ?^b‡Ýl‡Ù9&Å.‚ EtK”\‚>tcŸøòc¶jˆ„šP“0)EýoÁ­¤5*¼râË ”™!U¨m§´®ÅGõÌ)ÅÛ–˜÷âßOÉ£5\Èë´ƒ.•æ´`®í穆w¼{k+B9ËËzò¯¤L̺Ùü ÔÀów±°2„šV¼ ‚sð<'Ø}Wï „_œu½è½ñ[¼/˜@d¼pØ4’†€ñ6 hHíÂÉ9lWSi¹ì‚ qÿÁsᑬ¬`þ!éG B#ãPÎÞ(5ßjÄ&ô°%0‘ƒZ4p-•Åù’°MŽÛ­Pv⨤ۋ«§}‘4ÑèCºp{¬^ކ EÂj¯‰~wTöh¤FC|+½'ÌÑ Ð\»Mù¿´† o⑱áÉÇõäÅ ptÂÞ%Ü#²°$ËKØ«æØ¾¯n¥T_œ=^šy3jr÷Þža`·ÆP,lQý¬!œï?y#q0n–N8 T¶ÐXG§<œÄ3€ ˆ~¥zu<"Ú*ñÄâö'-( O:œ @ÌéK" Ä‚´­p«_÷¸>Õ¯] ¹ "œÍ +?ÄÕ ô‰…°üÑ<¢ÏCÖ ¯un¤B7 úuO Å+¾€¡'½øéqÜm Mÿù‡ÿüù¶‚…ÆëúI Ã4Ž"aðrÑQšÏIsíjQ±Ð`üÇOjzÔ@]Ž#Ú -bU´B_# =ÎH†¹-L*±z ÆŽ¾«¶Ñ^ü<ûN¼°ÄkKþÊ£×ÑÄÌmή¡h C¼™°žH5 D¼õ JL*ðuïüU»…ì+¸-<Ýw&4öF­Á>;ô<ƒlcàIåÆVï²çnáòÿt®òïC—W å"ðÿòù«Ž/ùÄ2óã>>Ð%öî%ì.1'}EeuZŽxã5t ;–$¥´ªslΛüc÷ÓÖ+_Þ4ïËL¶¤§çâCΛõüc¿6c…ʯ_²¿ò+¤¿Uœ…Ju"7¤•ƒªQÎ üãb >Xyé—s=ÿMè¹Xww„ 3y×}¹ÖÑmJ¨ .t˜ßÀl†Ê† Ø„°ðäÝ6íý$ù¶{~ž5 :ãÕ “GPWÒë½S–]ïà[˜X:xz‚Š5+‚­r¢Á ß£¬¨GJÕ&‡™“:ÃÇÆTÀ·樂Âǃ~ʤôfÉÖ¬tð-Øg&–WÃéwÝã¶Áé:•ø¯¤t†ïÍ”XR+ÞÐþ2Êv!Æ]*K>p ×Ó3ß–?Ž2€ËfÎ.FÌÆ¿ü³ C^ÌOêÔæþÖàE|$¨óE:jÃܱ“:ƒ-‰©_{R¯/ü¯ê×l47¶´6·´4µ´46µ46ƒÅCKSSkSS[s‹©¹ÅÜÜfk2Ú›MŽf3ÛláLßîýâ¬.Ÿ”ëµTI`(€’€U>S'tH3nq®îQCP=Pré0„®ÇC‚ñ³¸-¯ˆ‹†€fˆ’˜u³ùÅÛO9ïæŸÏô Õa3¶29,H<–±pê3 Ì#°Ñ%Ür6˜TôxÛÛ—Tä¾µKãÔ5ßP@ôD=RðB´ò×âŸséFÞiÿ"î4°®?ï¡,l\ÈeK;xÌq©™e¥…kˆZ O3Â0!žƒÓUÏþq¼ãÍÙ¢I¬w”]h`—n6¾]ÁØ-`ÐDæ0d¸Bc­0ñ×dO‚˜lk â àÜJ‚6 °êÀÎoˆâe±wD2Wˆr›^`)ýÍ å ,`FS¢¹áå„[œA´^“¯àð‚ì M²6¡‚Iƒ[ s' àq„ZêA08à윞œŠâ±ChÇ*‰jË% n·y$Õe 9 ðÆÙ=µ [Æ4Yzë=ب€[é5Ä@ Æ ‘¬ aâ à ËXØ©d“=ÂÒˆÅÿI<‹Á9bÐ+la%^„Cpn¿P 6 ®/A°[êØÊ­=½–ž¨Õtça•Á$Œ9™vSFË•Æsk¿`«Ôfüæ@ÆT ºpµÔu}ˆåw[jÑÄÑ$­Ъ"Lަ&T@D“´B@« ˆ09šš±ë•hbM|ÑŠŒÐT _rï²·* ºdQ|eP_òî²·LÒ˜“©QµS¹ú#l­¨¥xrr;ëYÓt¨z?2ÕG% þR|§RvÄyþ¿løÔK@ho@qÎ0µû"Ô9„Ѝ€P?€¨^÷Ýë«U‰+á@k™°»’|WÏ•p,ÆóÓ{ŸþÞyUu[¦?°¥.ø|›†¶|N_ÿêÏ· is‚ßd´@ üâ‘;J7‡2‘L”Q}ãA®\TBõúÙ%åå%ƒæî œz…æ!×/3Ò•[ëï&6¥—6íb𻋀Øêå–Ì:Ã7rnÕ½W’Ñ{8‰%+Xs,/}§”<¿Y¸ %à‘<§BJur®U~ ­òã—F]݉~È™ùúº‚‚ugy~çÜáê+/9~/e®ÈC• _—ÎNÛ2Ãevɨ ’P1Š4ÃXŠHC@Mã–¡¥ Ë~p]ý¥ã8n±RqrÈ ¸-^[TŠèÅ*\¾)sf>Íy¨ l×ÃM޽Ͼôq%ª>}ìÙ{óüTÁº¹´8Ô„^ʧ b(•ãÕ:œ‚•GÞ @Lì‡À¡ñÅ˪°€Å ½÷Eе8=¿àvðb˜›/]`eP[…6R 1fIEÅ™ZHÌžöá¥u‹.; âØéÊÏ·Œò .•E"@@Þ |sïÇ#dL‰õH@€_žR¾ná aLyá!úÞ/ËïœùËŽP ãÂñ^3=ïÞQ%ù%N<Ð!„Ì2îthmâ#éÂC<•¬•‹½zý<•Xœ]Wpì4­=¦C@/öƒ³ÐÓK*(˨l샟fv²Œ¬X²N6Öx¢3Îè$ŽxªpŒ*üÙÇG¹¸¼Ì™¹èY<ÜýùÄóà†òVœ« ÓÊœ«žŒâ!dË´×gætEOô?0 ºié¶bÌ–ìióG,M‚gN íTCÜ´ôвª":ýž¡lÉ ï®shÏ™¹“jû+VìÜ93îá/Uý4­£<8Ÿô˜æÊ e£_Ü]÷€I}úÊ´ý ñôÏ6Eä Âò½ EDzÎ|äµñð»¸ú+1âJ Ó#™éÑ]ñª8¦§é3Ò’®êžÐ³»"¤§uKHM2œ®óôp+qô‰îc{Eã/· £ç²¢¤ €¾ôi1Ð rŽå¬v†%ß^sÀgúàSßø“Ùøþ‡kÛ7¦x5dDû/·¯%¢ ™òþÚìD+ _aæí$âÀòV;2Ùˆ(ðõoìD™CÏ!n˜ëö‹ñ@ð={ÀŽÒ×¢¦€×”þ¶£R .] ÏXêâ=¨³ÎwâƒÌ?÷d‡gíX;nGQ²ÐzË2 àk;èøZ'|Ö•cxø^;‰øÛïpK‡“àŸù*½-€F¡2Ñ­Gª Àè nbÞŸÖ…—˜ŽyyÂdt¹¡öºa |®" ‚ U%r Áq<|Ç›aÅr>ó­aZ-Œį^ó7>ú?¥ªl¼À€}ؽ³žíÙVrúv_Н;q+F<‹A…ç7//AØQø-ô”KÑ›— þ!/UØQC¯0!d~s—é÷“3\HU±v¼O‡×›ˆæX0›¦Œ[s‹,/~4lM©‡Gצù¯M—¼ T*›±†&:o…†H»®ÏY–Yö·¿A;ð×bç 0ËdК5Ë!å5‚ ¸ ½B6o5DYÅÐAí^ÄÝŠaGcàYlùÔÿáËò‰Ç ìï!?¥´bÉ©;¨{2ê†Ì«€5„¯Nü •‰9cÍâ¬ÚwÂûôèîäçf¬df <‚Snx·aÜ]®S„Ìäš â£Gœ‚<ºí΋PÀ™Vìj7šÔvKú¸cu+ê ¡¤whž&“j…†NlñªÊ2yœCü÷¢Å´–—^Æ8x}5þ aö“ •Õ.æö(?w@û:r+9ÇåÍE'Ϻɶ}~Zgþ²ºbd4Å §cDCà°å£s$1g'¸|îͯpúÑC çF¥ã—ULAçÍçÜzq¹¡œùUÃA”<¨¿øXzûIG™ÉXØÔ6mtúÁ#õBéÏQ-²8++3 ÛJ ù&NKÉ5„0M ËÊgŸdO1¢gxX|J+U/)ò#+Ê÷´—®÷nÅ€Enȼ _иæÚç¿OlŒe¼ÌhXœ¾ïEúöŸ1T_y,=ï–Œ¼Q •p þG©†À1(ZAN¯\CÀä‘å…¨Ó0‹Ÿ]$åœÿÌÂüåx`ûŠ‚·€(yÍC€,%׸;X¹V|Ѝ§ÁÎó»QííB(vt[𔕅ÁaªÍÌzŒL®“žu¬Á[í h Ñ?3LW©æÀ•ˆ´aUôÈлëp²†qÜçÌr Áò°  ›Ìb\ø,;žü¯EF‚è`HäÒ…†·€€áÿÈ+'o’½‡¢¼ñÝŠ‘ù#^Â’„® Ûì†rú¾±^»!óŠiN ³×?ñn)VÿÄ‹ 6¬É7M2ýõõú.êÊÌÚDÕþ#è¯KkÒÜuµï\Ò_ècrŽ2uõû.›÷¢C•³!\<ø»r kN2©$À—ü¢'ô:",:1€¥ €žvÂk½½ìÇJÒ H§°•;ó‡Þé0 Åèy ]Öu˰Ãw™õ>—*ɰþšÒVýÖýæž©–”—½Ô ôƒ–µýææøØºÍÎ\dx:¹KÔ"Jd¼ný Ÿ_ØvØœ… íSÁš“nX) `‘9ç—Äé§EG²’GÙ½(]¿‹nÆÑ15®þJN—?ÜÓ¶ó[ë®Ãö݇mRÜuÄþÉ¿í;H,ûÖö¯¯­[¿2o?Ð¥€iËMø ؈Ò_ 衉¾fV d€s?³þTge´Œð‹LÂLÐvžŽ"øšîcŽ š•äýi§ _UåbQ%‹H!¶k›Jêt,á†i·D“L¤08¶èÀ_öv™Ø’H¤ôÆÛ©H¡W¥#ÈPdG[õ* ¢MbA¦WDmÕ«€ˆ6‰™^o7¦ÂåêKu:tít |]WÀNǼümg]}©NÇ‚‰.œŽ)D@hR+‰X`oøDC¨sˆˆ•QxS¾Gl«* "V4á!,ŠÝ„‡a±Þªª!b] û§B!Ãb=» ˆX—°Âþ©€PȰXÏ®"Ö%¬°* 2,Ö³«€ˆu +ìŸ … ‹õì* b] û§B!Ãb=» ˆX—°Âþ©€PȰXÏ®"Ö%¬°* 2,Ö³«€ˆu +ìŸ … ‹õì~b:ñO+°È?ÇÕ]òÙéf›85s¶ÛeI5ƒø”_³qsB[è›Ò®œg«ø pa¼° Í™ŽYÚ¡lìýº­ZS:æÌ|ê^ÿPAÙo]\‹bƒâKFnÃűMú¹wŸÙýžW¼ö3ò©Î™õp|øÍ÷Ù~¡ñÅ˪äË;r€ ~¬©o[êк®¶ a‡¦XCŒùÄÛ­.®Å)Km•è!;{BAþkäs í}fƒËmòèÀgæÞq“?œŠ“²Hñå)åëöŽ)rhM¼ä‹îòœß^(ëoºsΆO~óékÅwÆ×™|äb ‡‰Yèé%”†N`ˉÌ0²bÉ:·¯$y?‡¯ÛW^1'¾ßá1`V4£ê•‡:Êà#çb´X`ÐMK·“Ä4¯Zß´ôˆJønJÆJçÎ⣟ZVÚñp=¶0ÿÖ êªÄ+Gßg½ê–<|*lUî‘ {àVLU„ˆ£ûâéä<ß¿ìa‚ :92‚N¨Ï Œ/=¾TNz;Ø„׬P3b¨€PqàÂ* T@¨ðÀ†~ôUÕ*:T ¡b c¨BEGˆ41}P¼!ݵxÀWÂ¥jaR5 êšg rMCÔ}Y†Šç¢vßV@›‡¬€†•¨Xø4 ¾JÎKU*ÿøê,,@À $šòÐ#ö—í“]Rëˆôwš>c-"£FÝÁ|FÎ%S¿/ÚVQÛë÷g”ªÂ'Ï†Äø;z$ë#¥A¼Ís‰ù+ŽÛȨ!© §ý³˜BØ6n%ýU(¤Š¡ƒTZ1àR,(€(CËJ¤g `R5TòÁ¤Óà§Å_úyá:ˆ”ª³Ë@ ê‡Å,?Ë«ïÄè-@}S«ñžä»äó ¿ï}î9ñ†]sÂæŠßÜ’LÂèicÕ/û—Ë‘_»SCD>­*…¡ä@P&•¡ì€ÚV`9 "°üŒúÚT@D½ÛågôÖ&txÅ©"zEʈ ; J¿ÕJ;à€/€×R¢Ç§Ð1ÊÓÖ—~ãMŠK¯æ’‹*p+#ö…ºÂ7¥íl½\,µbO¾ür~¶¡Â Éyä¶Ó1Í¥ãesPþþÞ¤¸â õ8Sé‘O×X+‘òùÊߢβÎàÖ%¸XjÅ.üžCàƒ+âù¡=âÎt;ÿQ9€Rl1%¢nËÊ׊çËŽy“…Ç-äÙµÂs¦œ?%ž—bœ &jˆ®â(¥Sç7/p›=x“â¤[z"§¡6 "Ù9H´Ûž¶ j2ØMâ’Ñ’ƒÕ®û;9T{ˆØ‘¥?=ɘ¦G5û±Þ§9„?-«e#“Œ`:§"2å6ªT@„õ‘Ù° ˆÈ”KبR6ÖGfÃ* "S.a£JDØXa ÃI>ÌPar 79* Â-k_D„ $Ü䨀·"¬}&p“£"܈°ö5ÄnJ *úC8àô ³ùþÝ*‡â“÷ÿnsûtv2Õ;aþ@pŸL‰ó^{Ĺ5ö8gJ6 J.@åB§šËù]{}¬É½˜À?jóÜ_€‚·“J þäÚ—}oÌAkW=’-¤ÞúBÕ*´õ‹ ˆšM…#¶Uýk†øØ>tT´3<8q©¬áÚ/¶¢µUÿs«XêÖðuÍÆ©))i$NÝ=„ÞnÚøMIH¾ç„<$òÈ‹Hï‰2zä¹»Ø`P ß)ñX²æÌ“ óäòÎ4r÷©j¼$.›7²ì¾¶ ˜¦Î ßz[S±m÷ÈAí@œ=cKkk#ŽŸŒœûÆ>Üòîy'î¢)O¾úïÔðµï›ÌBRZ—ݺ﹑§ž¡E~(Ü62ÿÐ9"”ÂïÑË›ÁO#w£ûÖŒxâ©w„™„¿g'Ma1iðÀö×¾S”Ú3â=«Q8|åѤW›@8xž9UlGb ¾=S…VßC‹\3o÷î“5aBgPÿ é©tvÎÈÝÛ+@J¡ætÕ¤Áàõ™ô›¼KÝ·ýšçáe b¼†hß) ¿æ¢k¶ßw¬¡¥¥¡åØJ¿ÛxDß|·÷MZy ò q)Œ;~+ˆ.Î&•Ûj4Þ:k5zâ©wk…j÷/5Ÿ‡1„…ó(û‘WVÿPX´©. ºt¡S@øÖYÒ©Q¥°0¢dï]RŠ—qÇà¶¶¢l· üqqÚßì¼B~þ[{ÅFñè)»•²ù'‚H2²g|xì¾²Qiéi8¢ê·Îȉ&eÍØZvÍ“¿š CG`fû±#ðCîÔê& JŸŒî˜ýðÓ×̧Ý|êÔȉÎ6)=4dÍxuå“)+Òÿ{ßøÿ=æ¼M›ú®èYÕ›‘×·!Òë¹Âé߀ÿlþx1Ôt1U†Çp(ã°Ãε¥ÿƒo6íxÂaÇ{ØRˆ·þ’ÓÎýŠÝ’‘œ Ú›ê'ðÇ]áxÝày7&Þú ŒP6‡pØ…»#z#tÃf³B„Ž8xD¼õ³"qô‰î^|Ù×ll»ñ©ÿ|nòÕ}ºq<lB …@#Ñ,ÈûÔ…¦?¬ÜszóãVK‹œþxë¯4dx «Å¼ô½ïÎ]nýý„A7æöŒ"Ù{$OØyþ§‹­¯ï<™›}ÕŠÙw› òœñÖ_Å€`Y‡V«{uû÷ïq"–l*{ûпS«Ñ[/ËoýU 0N³".Q«3`Cå‡ÝÀèÖÅä50•еp¬M¼Ô€e fSëÉ$3Îú‹Q½ßåǾêo; »èªM„²UFtuR¥Ö¨€ði±\DD,Kׇ¾©€ði±\„A}$öINÔM×' ~áÉÛR¥îZ­Âo c™j߀Æ+¨©Gp)„2·¢DºI‡Íê:å|·ƒœTÐQi·ßDÈOÎ\ɪv3?$öÂS':#¬ƒš;³6í¨:·2ÞdS~RèC÷;“+?tæ¬Æ-Í Êxñ­ê{¢r€ràÿÁà¢(Ü®zIEND®B`‚nð¯+šñˆæGèDÆ£ÕÖË#ÿ‰PNG  IHDR°áç¨[sRGB®Îé pHYsÄÄ•++CIDATx^í} xU¶ÿ­^²&ìBd7ê |* š Œa@gG™Ȩˆ"ú0ÊûÞÃù|.¢N`Pù;Ž2`øTpDÙt”‘™!"ËYÙbÖ^ÒÝUõ?çÞªêêNÒ]½¤ÓKݯÕ·îzÎïžsîR§8Q‰*pÓ¾á8#DˆÎdŒ6rÒä¼O6“‘¸xøË"/—@ b DKqÁÈlsäçˆ\]¬&QÝA¸ç=ÐÊ~A«’ˆÃE’(3’dÂ8âÂËIYiv›hbqФõ¼Xqµ@~ú/L?`(—žÚ-Åœ‚ÉR)$ I!©´ FZ` £ (Ȉ Í|´§3Z }„6ð.d‡ò·£žÚœÞOš(€,¤¹‰w>BšZÄoƱD ëÙÏ”–î2óæ”ŒnIˆ&†‰d*)j ”?Y8ê!¡Ìãûé²Ë‘)ÞŒ0¸ˆ óµJ"DJß*gl±àðm½`%µ§Å}(*Ü¿&™}‰ÑÎ]Ñ¢Dy¸Ì&Î`"œÙd6µŠ¢QD±`2ˆpŸÌ!bX$‹AèpœÈøãBÏApxèÙtÕÄA¥b2œçÜB˜³ñœSäŒNÂó‚Ó$œFbæAEpfªú‘%ò¨ýn2ÑD¬vÉ0Q=b·‘úâH÷\)"ÍH2¯pw ô„ÉÀ €‹GptDÁŹT„÷Ôp XV!PM ˆ9Tàø‰‘`Û±Õ74žã]´*X20 [¤ÅNª«ÄïgsäºÏIß„k$)Ræd3ÞPL`~ é‘>b5ˆND& Ã. Á¶– °ŸÍœð›‰I+~qEÿ¬Gl» ypMõŸ>ªs,@à9­˜¦ö4„ÌT.=ILNÃû6€PŠs#ƒ‚âE^àDÐkÁÍpª‡0R@1"8:8ÙÐGÁ ¼t%q·§ŽçNëYq}ƒÔC,óo´Ìç+:¬n؆¹•kY›?3·WBÑœŒy}›îÁž.Ýü#Ìç¨ ü!Œfzáf#]Jf#–`à £@Gà„ !ž{È­ÏÝs5‡h œ``€€'j‚30Ž X˜2w÷TÊé -5°Ö{$f¸x!‰Š¥ÉÌ{æ±M[S¬F’—:©/©ÞòçWšF8o] ôêAA ‚…/V äÊ´Y÷qÆ2âJš†]R …+i-X°z—½šô˜tuyŠbqϾ…Ÿ$¶[V wLœÕ'—X>{ã32ô—íJ© äÖë¤XÚË~MÅ”qÉJbËɘxÜ‘”¥ÌS¬LÇà<†„cž¶yÒÄvJ¨8b5iî;÷-¸aÁêG}24ÆnQ‡å"ÉÄ”$]ƒà'ª0°hàΣôu—ÂÆþïÆS+Š„€mÞ BptÂE1 !¦¶}å–(ŒüBÂ`äÌìÂ58Á! aøë¤Ç,“iÏ0‘\S.!Uß]àGÜèkƒn“b`“`Ú"¶$JoAz‘O~鑬Ê¡Ò ¥dÀMXKưüÁPà¥c_d“ÞÙJÆfÙ¤õÌžß§ÏݾܶoˆøNzkQÝ%©r™N¥ê†¹OpW÷o¯„·¾›²­™ÜÕe=ÅÒ' ¼Ñ ô —âû]È,Š ©dD+.A‚„\¢(Àv¿—w°†ŸàvÓgó׸.˜ T_¸EB€~€E†dZº´sËÕŒ[«`E¼ÿãІöPà”ØŠ|4"ì¢:ŽäëC2²ñ§A®Â ëW± ݨ¥Á÷J^L/5 Ïäxý”rÀJ…cåY€Jƈq½x8Õã>_¤º}ˆ—~VÖÀà¨Û4Sš áœèç‡UÀ–À.@âOeœp‡ÏAumJà »þjLšøjƾI¯N;j¦3Ì—0–°GtbI§—°V-ðý^ÚÆZ}~þ$xxaÞÈÔ´î}Þ;ÅÁj7è<,QÐõ”îñOG$†$À 12ƒ¨Àx •up¦àa'žLÀ%àTÊ5‰DºÈ>R†Å­Zš Rf<nîärFV‚ª­ðÓ\ú9—\^¿ R»'D˜,É´ë PM²&Í€é©è~siÝôÂa÷B*t3É\ú¨”½ü3P=Ys/ܲÄúÐï¾ýçïn)Zb¹¦¿2TÒxÉ ƒÁÅb$D>¥Õµ)aTù’$çÐß|TÝ£Êr2žk’‹b{êq_aHmɨDñ@%èŽ~k·³^|?ÿ6œXâÜR¼ô«kXdïíç8Ái`h`*F&Ì'2’H .=È\#Éxß§p­Ëi§ë ^Oï• ƒ³´5œAµÃö3è2•¿–[õ±3o«PøÛ3¾ºœ¬–!€ÿ«íW“Xü‘}ÞoÆxŒ ü”åüÇrJ6DUeÚ—Œzõr?¦4@KYQgøÜ×êÅïbµW<ÿÆÂ/zóÅ=ÛÏîJÊ}í²øàm(PÅË÷U|IÌ7ËV¨R&ñj˜2óâHÉ}µN|H.áw*ó½ãs¯åÄ?Ñöœ¯½€;J♺ëÁÜ›Ø2%”7&¤7›cü•‹v‘ŽmëžÒn¹ãû&ã¦3Î&x0Al\ºwX¯·OØ?~ºàˆ¥Kd;¨¨ÔZ ,EÐ Ž þ7؃ôH%FÀç²qp$‡Yøxx‚IØàv‚* |TRø”KïÃÓ¥ ˜éàO8Ÿa9²«\R ´Â59†f äDÊ_ßUâ9±_TlO¯K)ÕøC¾ã®Ð4áBYÚþJ,§g¡£p<#€Ã^F¸Íý;I†p¢œž–iÌû™mÌ0…ÄJ!˜wÂSö±fÇJ´=Žt˜jû*“6l„‘µyút¸—v¤}IÛ,öæ'ÛaŒY¿HÙ-Q€ëQè˜8N˺o`ñ,PŽŠo%šØË˜Ù“KíGaaÏ“n3Àô×8ŒGçj»á»èp¸ZMVþX³xç1+j@‘&@ÅÈ™ƒ°t}ˆ Éb€àR’ÁùÏa4ÛáÈ彂¹íleWŒDÕª„Hð„%(€ù癬@Ë 1{ Õuvz˜Ø¹«ïÅ?Ý”iìÖÝÚ ÷HxÀª‡Ëál´ ÇZÈÝÿ¹Ÿ¶€´ NâøŽÔþË{6ƒŸc’7[ñ)뀆6Ö¼ÈT*€3qáºÀ^dZlGev6'¢¤|¬(A¾?÷ƒ`¹¢£ÅVßÔÜØÔÔÐÔTßÐTß'ššZ›¬M¶ÆGƒÅÙhu5ÚøF»àú öî—Ðê!!p§ÜldB¡Bfy¸§NÛ¡Xܲ­Þ®„£x`Íejˆ\‹ª'Æ„˜=ˆ;/‹‡„€j¨xàFÛ3·žübá=ߟM2ƒT‡ÅHXÊ‘¨ËxØuKÂvº„Ÿ‚ŒŠ¾ƒoyõýååy¯lpKˆê¯ z’éhCȧüø:57’q¥EšüCŒ¼ÒÀ{¾ÞÃHg°1“Ç’vçÇ£džW&®ª±kª‘Ô„¼Îf "ÿ› ®×æËGbµµì\¿r‹åOåœÓš¨ *Ã;,…Éo_Ð5 zdÛ˜$+÷RÔ™K ^ÎÙâ‚(N‹µ5*œ©" ˆˆŸé’²wæ@•s0q€õiЦTrÃà„Ÿ˜@>½¦žÁá„&ìÀM:7a£Á+0 x܃¦Ë 8 ˜\0Ó]QÔR "Š$ DØY.UðúN–GSY­. ‰³½zaɘE+a¾ ðS&€ˆAÜPÞÁ¬ O›ÆÂJ%ŸÖ ìõÈ~ü§üiŸ nÁîð„•|ÓŒózCµ³›à9:»6©ü°ÍÜÚ¶×Þ“4»ˆé,Ì2¸ä±Ç3oÈnºTf]ø'Ì"•^MÈÈže 瑦Zÿ›X!×¥KÐKÜŠ@[u@D€È±T…ˆXâVÚª"DŽ¥*"ìz%–H“XmÅ7ƒñš.!‹ï~{«Â/‰+ˆÄâ·ßÞr©cgÄÔJåËàiE=JG§µ9ý *"{¶‰Tí#ÖË1 ˆßϽ-Pr$xúßoú›F@$o@ N0½û2tBÇ‚t@è€H@Tmœ2ec•Îñ@(ÃBÅlœ÷÷<ŠÅyÚðâî>#ï~û¬DªÚ­wß³µ¶óé6›lý” ÿªO·’Ù“r;¿Ê¨!<€ …sGïX±%(P±d’‚ˆª£ˆµð UçïÚU<„㦔”¸å KCÿn,c¤%ˆ­Sè™RHË”M›ˆ8¼w–³zyÅ ‡/Úô•šZµog÷I¯bÄ JŽÕ+îÁ˜În‘nhx¤N)ÅÐ\‡Ü+ówE¦U|ø\þ•>äCî¼ ¥EE¥§Eqç‚‘í”·«øèT8”¹¦€T” 9ºn!œž½u>Âe~q~9(ϧ•Åq 'EÃ$! ¤ñKÊÈœÜ˹·ôò…£xm—±R~|Øø9wýÌ„ݬåòÕŠ±§±”‹ÊJ4«›‚©‹Ÿû°‚T¬\<µ F•.`Ù¡$ò\!C@¨­Ða ‚5€˜øá!æ®:‚ –ƒ2îgn"ßÕ`|aÑ­àÅ0'¯P¹AaPs„lšÁ$ÄØååå§j 2gö{Jï“]vÀ@DåÉŠO·æ‡„© ‘  ` þ˜ú!b„ê”xápñùé»J÷RšÆîšqûU…¾éX¸ê“x-™ ™èSó‹ ‹Ýx`*„Z™nw:¬4ù‘rÓNTBÅëÕl¯ÚX‚¦ÀâtiQåIVz\‡°ö½Ç——3’11ØØ ¯fvr._^ªÒ5ž˜åá;€Œ ²¾@S¡’ üùGó=\^æÎ[ºuÁ”O'u˜+*XsZ.‚™•¹W4FQ…l½a^®¿öÄþó0‚VnŸ‹dÉ™½hÔò1Tb¹v hSõôÑEÑÅ.oˆ.gAt5@Dtñ£Ë[“Fe—S-àÿ5*¹”1G»ÇÔ,#™ýmξÛDNï'ÖKºÊˆ~fE´…: "Jîè¯LDôó(¢-ÔQrGe: ¢ŸGm!û‰žìûøõ m›[åŸw ÍîúùuᣠîÐU-é’Ҷdô*9{¶™à:Ä%­€Èê="\ ´/@taKmyT¥÷"c¨€ˆª¾é ; ¡•a§ml¨"¶ùöÖë€;Ic»@õç±b»'zëC£€ô=7]B„FƸ˭"îXZ‡bï<„ît,8Žû? ÜŽÅÜý~€Ðt ŸBWA·ë³|_Ïÿ»Zøú˜c¥½â_­p}vÈþÉ?,´íúÚ ×G·ð¥õý–“ß;j.¢K¾P#õÄÞ¸ÔÄõHãzt7ÃuE¼²2ÍÙ™©WtOîÙ= .ˆÏì–œ‘št²V3 Âì@çZ)Ðjwµºàœð)NއïöÂ'õ\œ“áƒÞðMn¼xöhüøj@íÒUF@䊖ħW+_aðU¼Øê$V'W+`¾þ@;à "Zx%íVË.‚Ff¯ôðä«3>|…èžÌíþ)aÜyÈ„v‚l€¯uÂg]N„ïµÓ ¿ý?i0 þÂ_Z¸Ö è0j&)“Ýz”‘Šý¡CÜļ3Û—ßµ(_¨_‡„pñB ""|Ç›2]|zÍj>ómàšíÄ_^÷¬ýÆO©¦/ª»û¢ýç;È‹ݾ]&¬À{nŨg1(ðì–ð„Ž"Àoa{é·ÖR9±e¥äBòR…îˆ48 Qš ~Ï¢»•à žäð·•Š’¼Í…ïH–F~õ™çV=û,Ô íN1É,À‡•×­[ 1¯PL t´Î"%ÛS«„(+>¤ÍXîЭ:Ïb«÷“÷­YUH=½wï€vÒ3*–/?ñ枌¹! *È^éÜ>?ÊóÑAuÎÉ0€Ã:t8ÓÆÛ\PFC¦ÿ^ºŒ5ã¹ç^Æ¿æ?º$¸æi)ÌÔ¶†ŽÜŠAÊñ ÈñÓ^¼m›ž•Y¸ªx<½d,F“Ó±º¬ˆˆÂçõ %¹«Crá—}cw–áþ¢…~§ÚÖY†öjõ”ÑJÑÊ™.jWÌ"Ku*Tb@•D=.¥Â츔?r„ô\ë:DW¹újë- ¦¸ *c>Ù A ξ”pNU}nI‰p?îˆ;¥w!!‘2š3Ãv°Ÿi'øº®ÚNÇ4¾ÛÙ…®¾¼¼eù)–>É:##¢¢dÊÉ;çUäáâr5Œ¢™«!´-ü€¡1aÎÚ> ØXß@æãq)*7Ü£îÖ_¹sê‡x¤ÊC´„¹yÑYœv@IJQé¦}b—êTÌÅ2 õ¸T§B« Ñ©¨pIe”'á¤2{;8áiçˆe•ç¬éšîé€èºGm­q ˜[Ò÷:õ(blsKõ¾7¬?q BÀ3}̺Q´x1{ßBÕÆg+‹ðÅ=Ø×p¯g‡F›„ÌË€ #§Î&[?EDT¬/Ο=›!ÃCYHrCí$@×%¾Ó€`ïí­¯@ñPº`R›~8 I¹H÷3†]ÊN›ž½u¾n^tˆ‰Ø{Ó¿PyÍWÝMXÇDàûžqðþÄÔW¬ßô/"èÄ;•–ƒ›!ÅêŒñ÷ÿu@h¦:Œ¡b M€'å¤M†Øÿ_39BMóÂ7 Ö€[¡!S6殡^ɤ ›•S 6·Žuc/êúk¨£&öó´¹ûÝÕ{> ĹÊ¡¥$‰ÂiýÔ¡‘P‰’,$@ÜMýÓJ¤ Ñqµ?‚C]ÌÓ¶*¡üö–>kðG=íÏC)œ;zÇŠ-AzžÕÞHš’ºÃõ|¹€ú¬UœQXžž¼] „’W¼pø¢Mžñ}8À^qàì–{p”«Z³q/»µØ=e;ò½)î~ÿS—!Zñ" À…ñ’22Gb0­´CØèýzY£8´þjÅØS‹˜{ýƒEe%Áº¸–zJOâ—3ÿµlÅZßÐÒ uºAÈ„¹«Ž¨=–wäüX3ß¶Ì¡umÍ‚MQBŒùÔÛmÐ.®Ñ¯1º±†>J‹ÀÙyì;´†Ÿ!ç  €‹ÏOßUº—¶% ‡Ö²Y€Bâ‚ûÛ !wJ.@ßÐ œ”᪉ÈãËËYõ>`«Û—3htùòRü¦†*aCTÅ79UÛWèâ¶?õ ­ÀÑ9ÂBnX¹}.µ fkvh}Ãʃ«ŽÌ”&“Ù÷ø³!d/Úr7ñ,†ÂÊÒ ð.g²}…¶nºc0™nVjǾ¹¥N1žJßÜŠqv]ó¦~&礷ZíOÜà§6º¨Ñ«Ÿ[7£÷'S7º¡úý¯F œÿzÓ’’G|plõ{ÒPKœÖ˜TcÃ'»Ï]PíÆ«J®[p@£™p•í'ô°SêË´cÅ «;¥è®,tÞ·k´W“€ÀóÖß13MêjœòR;#}¤ hüÄ$ ¤^¬«¹fDIH‚ Á£½m‚c}I@È=´½ö±õÓ²=B%Ç7xÀ7¹¨ä(™ÏbƯ»I•X·¢GWÏÃÒ³~ \ZÉ %oö:é®Hþ)UDë¦0ˆþå±?á*6g¯[6°æ­`CýjwÚ“ó)Vz|c®{«nüíž&Bï´êMò£ûÝŒ<¼ý¦Ç, pÖ5×CK»)k|eíšZ¨(õM–智‰si±REǶF -Ú$„Ô蘖؇­œ¤°9'mÐÅ3¯}‰ñ‡ÖÉÏÂÁ*dz¶3^¬ºX·‹æø²îI2@~¬Œþû³Hï4d6$ ¥Í“uàÐe‘¬'™Y6p`ïÔꊢ Q"!èÑ¿ ÒÐî«ò‰)ÖÖ<õï¬ÇPŸ¤€†eY{Ÿa£ÿŒŒ¡Ë•Y7eä×UPÀÎ~Å$^Q'Ô}Œ QûE™»€´ùpÐŒ;PA¶K'¦¼zxx{-™

    ªpU±<ÄÙ@ üÄÔ€ûÞÁG1 úßqWÓ^˜“ÿ¤HèõF¸MBFg§H8g;æñ}Ê(|áÓ÷rÿŸ,*dy°†<Ôw¡õ°'Y4|„Mò†þ—}a~qb!Õ0­ âõa©.p« Y‰(]ìXeÔ¾½úó‰K¨*í#…Q”Mÿô½{•YcpKè\ô«|¦2ʈJ;HZŽT _4V>R‹ÄìÄTN.‘²£-BPC+UGC8¡Ü)*ÃO‘Ÿ\^qC8û¡—Ü"°O…‡Pëþ•òñÉ™¤LGC”ìÔ¬\ò˜c™1å0¤SÉ‘°…w® ‘°dƒŽwÎ:D&Q» "Q9ßA¿u@è€ð €Œp„gœ: t@„]Bt²3!c‘¤@0Bq÷”Ýguߘ‘NL©<Îh‰iK̯V(ç¸Ü2Tβ0‡–4‘dSäê Š»§ËÛÉŒp’óÛí¹eÌãÌåÀ„–w±ÔÝÑœõJDí©ÑôÖå oŽ~\r–¥%߆Æn‚ ¡t7®¨çB>—W¦Ûø¢R„ª•-¦ ‡) L@wGW¡ÿܧ° “cµ¤ÑPU¬& µo¿¾¾0oô½|ù‰ŸÐ¡Ž¤Ð½øZÎß¡ŽÏXI½’µ“&PS’ "·/DÙ)‘Ï ¼QNôøH«%†ª¢7 =B dßcvÑãqè3P: ¥ø’cr&¾RB¢mšÀ|LݰRÒŠx÷£¸ÄS!¦-G¾»f¬¡é0hI½¼ÖÞ² ¡ø†bh:écÊ-Þåš;ŒQ\âu||Æë¸M»Ñ’&h*DWÆ á· *ÿQpüºüá|= ã?ÆwSq–¡>|Õ^j-iü$vt T§¡Æ<>¼ƒÓ˜g†’C*´NèYm-1žœ@ ‚.—¡ÎS¬dŸ|KšyjI;ü ¸¥úyˆ€I—²g›Iõ^b¹ÜI".‰×⤣s: âšÍwNDà4‹ë: âš½wNDà4‹ë: âš½wNDà4‹Ï°“›: ⓽A÷JDФ‹ÏŒ: ⓯A÷JDФ‹ÏŒ: ⓯A÷JDФ‹ÏŒznJ:ˆþ¢Ž‚v(àö ³å®Ý:…“wýüîÖSäô^b½ì„íݼÄ$‡Þk @;€8³Î©“&a)}·™I}–‘°h¿ã‘}HE Nôu­on%8Úë¾®2tPxPŽáÍ×»éR½o£’x§½•\"õ3ÒÙÁåhí¼*LIɬpöñpg4§$ Fu‰Ö_Å-¡V@Ø­VƒÁ°îƒ£ïí9qâlcçq+’%÷î™6sBÞÊû®ƒJMæ$uÕ‰Ö߀aµ4¿ºóä‰ó޳&Üú£8Y±8Ruá÷›þ6¼oòÂYù^"Ñúëv\ʱ©h ž9þ–k‡€Öˆ0jp¯‡gŽ{wÏq“ÑÜ–‰Ö_ØÌ"h5* )n¹6Wø8¸xž¿qxè—¡ ­¿ÊxÐ 0¾ ¶üC4ÄAà­v‡ÃάK/ ‘hý ,CH¥ ˆlÞÅ»\>´e¢õ7•¡Dœè d¶¢Î/ ¢©¿U›¦MÛT´¾ö×߀AíŽð_5›g¦¥e°kúæj¬¢æéÓߨauíy âŸÜþzå¾ø!TJ›-]Oî ÝXSCh•¿ ƒ¨u’!5%ìó‹êÍ3Gn›ñ¥Ñ‚×W=œ?}s ]þ¢UU¿1½èÛW¾k|zbØk– ô9Á ²RèTZÙ%uªq—øñž KòÎ&‘%„ÒÚï/À€BA«Q©À!ôyöeï«“õkïÏ‘bo~úÈZ²í³jˆê7fŒz摿Α‡@‡Ž²úƒ—U\óÙ6²þÈÿÜ,çºùi¼¯Þ<+==“^³6C¡w3ÞØü$‹ÉHÃÞ'¥44Ò¨³(ã$°ö¨SûY`Á·¤ÝœÕ§¾<£@Íïœ!£wŸ¨Â)qÙÂÑew~»µ3Ñ€mò¥0‚ëmuùöÝ£‡´qΜ­ÍÍõx}4zÁ«{±æÝ ÝÎb}éÿÞ¬k6ß9MüˆÆ4ׯºyï“£O<Á²|;cûBH@FhÁ7"DÈÚK‹ò“uänrçºQ<ö¦dI„ª8}TÝ 6Ä䡃Û6¸æÍ™=3àºãer¾ŠdòKN¤ q®á×/~~rËC­ö&uû­¿ŠÊÐ ˆV»måÛÿ:s±ù‡\Ÿ×3†xßnSÑ`ÅÿœoÞ°óx^ÎkæO±YêÔ)­¿‚ç]F£é¥÷ÿýÎgÇâéLåÏnþÌC· &KóE5 ­¿'ñ"“)ÅhJƒÊªÝðȃÑãÈkx •Kx‡|k€“1`9Ú¬u¼K‰¤Ff‚õQµÏãe_ýÝÎðÂ.¶JSØ,#¶:©·6 耂hñœED è(·×;ê3Gª¢½‚ÊŸ’{Ñ^'|5¬ƒ’}6í¨8¯Ï ¨@ï8Ì®¹€ž@Õ XIuz˜èu@PÃ’êÍLº’ÛIÿñfÂ9S‡¢5 Ç?NhQ²§Ûõ5è@$ymJ^ø}›ž2VËóŒÆà BëŽ@§PÊŽV FéZØŽKOÿŠûöÚ6ºìÑéb{þpè˜( !©œÙšYíÏ·]'j¯Àj·¾k Ô,Ïiû¬w::©¯×Ãßc£z‘²î±ÎXÈ­m¸ÒyèX¢5ÏŸ»î}Ö^%ξ‹Ãº 3"µÏ˜[žýÿÚ1$"ÐN~wÓv9 ÌÆIlB&Þ.>1Ÿ{¾i'¬´ñî7üµvîX"‚èú穦®2·S SéG "II¤_I0Èïe›rh½çÛägñÆSol·’>£À•NÃÃÐbV™çú›ÿ8á9¶áýÜ|6¬íÿàÍ¡qÓ¼w-_´êÇàÒZô3ë÷_¿3 Ï»­ ÎJ>ó|R†+.çÆ§ ;«Êßï›óuã°$3åæ¹âõ+¹_w‡¼ÍOUŸ4°®G»8ÕÈyêß™‹HßÕÐ0Ñ<›i7Ä-95÷’ªÞÚÀ†/ˆ€w€ÏÜÀN8X.äô'#Î.˜aœNwÒÀxš¦â ëî¶®Ô=¢swƒlg³t‚NÒé›äD}ó]=/ÜpœÀÞÄ&‰ÈÙ}°Ã®•õ°ûvÅŠîL; ß.—°d6Æ*«ë¨€‡U»l±ý¨ÿ–½cå÷ûoÃ4ç@óÒqTÉŸ½¹žoý{å6ž…ÿ«u»>_´ä"]ýS³oö•ɳ×&ÿ«š©<8MWë&,ÛexðyãÆtÅ\ß",û"ñÞÒeÿ»69ÑM)ÝŸ8„¦’óðÀŠ©Þƒ¡í÷ÜçÙsúWL1)êŽ+Ο¸ã°{Æ^+<¢æù+£§ò~•òàû¦{iI—mþûÑ]_u¬hŸiÌ,ݬƖºr¦ÙaC ,¶žNxÓ]®çvõ€Ïß{ ƒm¯²Nt0Ð/;éŽ6@Œ@L&äaá±o[•¾;Ÿ¦N‚¹~X£o+Jq,R›JÎçŸØT’`Õ“¬Ä™CHõ–w_5wܺXØzLw€…=•¢ô6úN?–ñ£™n•J£ï·æ,^Uf«&ýf^SžÐÂÚš]{ßqдܲJºcÆÝƒ3ˆå«Í_’1÷Z–PAÈ­?Þ›Ðä9øí7Ækž-§†SÏ7Iø¡}œöô¬6—®åyæt1Tœ=,ná{,¾añªW1&M)´ÍhÎ ñħX¥u€WÚý†®»#s’-ݹ¦#Ã^/ÓÚa獵RPÎK–½‹Ab:‚À&áíU2#›œDøö—t’t½ÝÍ`ä–nÜüªÀ—Æ-°Î|Â2ë~[Šd2©úþ’8þFôöÙ6;jø$!Ë_ÒÇu„ޏ[õ'ðOÝuŒ¤Qô#Ão¢©¤ŒÍ^9¾? JÓ"Ô7©C†mƒgÏÉ ·.oÙ“)¿—œÃsTEɆ§#¥mÆ\;„…k†{ŠaËÑÛ·6’±ª´¿üRòÌŒh‘ñC´m€ñon)óˆ€ð­t HxPÚe v¸}eÿV/>t ¼ùotÝ pž8ê‚Ó®Ó$<èï0éFÏbWvÖÂrZÎÆ6«|´ÿ: °=_'3èà”œxfšn©ŒLRÒè+¨¸< #¬Ïá¾áY#¿žµ°Ô¿’%%N÷W%-XiÄ‚T^„¦ eüÔb*ìT#T’k¼²¿úMó”Ù:§ðóà Ö¯g»Œ¹çù0M®c úÛôq¹oО˸×o?nä @kˆÖ&ÐzFÀE{…”$lâM¿ÁZZIú‡øÇqÑLøñÒƒ7R%õüÁiVã‚Îâõó½@»ä7“¨ÔÄA»@ô|@ØÂ¹ ‰yk†yvê Ày°¡Z¼™(–ì!´cëc38*,¥1kÏJ8u‰ÿÏ®°Ì¿{œÆ 3HÝú§Á·kB§UöTMÌÌ'z«!ïçÆÒºé¥ÃÞ‚— ]ƒ ;Mºe©õáÿ<òÿ¼%o©eÒ05{zg»Œ¹çùK–\‡®þjIœ#ãןV÷«†¸õU¬ÔÐ%C‹t‚ì=wYÖR6ñ^-lŒQ$<èöC×nå_é…E?¥otîM¾ò«k¹ã ­çAŸ×q¶s•$+¬ÉM!y:õ.ÑGÉ¢' ÇǪþ“ÓacóêíéÛÏÌë ?Œ¹Ÿ¤N¢buò0Ùg… •4ðÕGV äèrÅGÜêr‡Qú÷'ýz݋ƟX6äÈKwÎvL“ä_³ÙÂKâíËŪgy”þÌr½[œ¶¥W¯yµa’ýÎ;?ÿ£!gWiŸ¢±ÖkÇpïò³üè6SSñâ›sV±ðÁïWz >Ûáò,o\¾çщxóTq¶É˜T°Ò-Ïc¸Ú -·kï¸î­òìÂÖÌ«Ü ÁGVSî§' $¾ÌèÍ»ao0ûêû» gr‡êûÒ%÷âúÿêwI·Üqá¡Yl´wè«Û§ DúÀwNÚv¼m~ù1§Ía¶:›Äüc¢G_´’Ø5sš\: Q‡Èˆ~¤_"IÑ“xƒàlàÈ >BN7ÏsI`0¨(ä´A’‹lê¶ÃÓWØŸoÙ—PV®éÑô§k¶ ‘“ ¾¯¹ ò`1¯Ð–\ŸPþºþ‡lû=ùPJéRiÒÞJOÿ\{î4€”.œyšÀTßÄÿTtAVý³8õY?k™}u‰ áã–°Ÿ…N¹Q-œÎÀÁ|óŒð°ºÞawÚ¦éx3™ÿ/Y¸³™8œÄä öïIí?ÛÆƒðø^|ºYþ*Ht~¯c1ØaÖШ?¹Má !P¼øÐŒ£ùgƒû‘¢Ç =ù0lì  ƒ9sͨÏç,W 3YZÌM&³¹Ñlnh47˜`Ç»¹±±©±±Ùd¶šÌ-¦f{£Åa²:M-¢É&Á…¡tQ\#µ¶‘ðt'­QÏ…<¥:y˜£{nY>Ô‘o®ÏsÓQÂP¼ó$x7üˆv ü¨û÷#E ‚ø‡@ûžòÝØòü­§ö?~¯é¹8#hÝ0Õ®ƒ^4%*=‡F„]-‚$ê`øžz¯’&쇌ºåõ——g½¹Cç’ðÕЇ§*}Ò/™öáÕS°õô8{ˆÌHâéJeò\Ô™vQìn%ƒ3li >6ˆÆ QÔæDÀ;Нî“å£ì²øëéÎ7©GNú†ßùzqÅ˟ʇ ¤a}xPéÛ^gƒ¥>êéólNžy«S•v×RH3–ðµ3pŽ%]ÐGÇ`}ËT ùB·«l<Õ³- @~§t¥‘ž â“p…WêA½w_ï„;gdº~æ×Áo2 ÓÞÎð>¼‹ððs?BÌu Îá"žddódT·WR© Š€Öð³xÜe®¡fÌÿ¢¶"áÛ‚G¾è‰Ã,°¤•;k?Â|LÔë&G EÚ.0n¬ ìùù4¬´“<ÞÖ@éMÿi<שK£çOô„õÁÿ¯ jCòë}Ðh Xèø1ñ±õ'MNb8£ôBü”©7¤™¯4œ]çËA7øÑ"ˆ@ä!v·Žœ?H̵]o’‰¼ÂaŽDÀ Hxü4B C•EEðø 1„>†*‹Š áñ@bí"è*3ˆ9èU³ôT8!qʉ”™‡åzŠ Dð†Àcs:ìc^Ó ¤j±ÖEáÿ{áO±²DÀ#ÿ½éó. }xüxB "%üõ‹÷…¾Š¾:—ćvLÑwPÂûŽúDbLï…‹:“>r[ñÈk¢®XX D ‡DdÞÌIEÅ“‹Ô+ê=`Ìïá‚Á£ ž~þà óß9§`R[2ÿÞ’Úà´› Èã$OO›AêËBdð …) !@ §„'¹ 'n+ÞZÊ•"3¦Ðk4ÈðDr¨î°»o#Ò“ŠŽ1hÄ[ë§m[4Þ¥p?ìoÑ¢iß­_@ÛŽ‘ÛÖÃ3XEe¸fÞdö:í;ì„àKÄ$B‚@ O² ·dÓ÷ÜÖ¾S˜6x³…´- ’Uñ½Ô¥xß¹-Ê ?¹ûT\X(ïæðë¸-‡‚Éj.X½{´®Þtöì峿Z¼oî'êå“î¾upßõ‹—´uO'¾½ž÷]ÿ|ýŒ…´9xn–õ÷Ìå÷—LJ¤20D Øôœð„L[ZJ»Í”¥ß·¡îÒ1j·ªmAù‰±«áuáúyÅ„?¬åÿ@ñ”ÓK¸ÏoóJ‹|îüµ~_ö€’”9¨¾â¯=€èòÙ7xðô¤‘dÀ3\ž? JAâøZk u¡Â¿ä5hРр@ OÈô…+R«F“Ûó6‘ïk¨{nÞ­ÐëNÏÊÕ¨0¯9J6ås ?eyyùéʽ‚.mx “q8šH]EeRæMi3.׌ŠL žZ`xÝ£ô¡>‡¶LçGƒD>pÑD ¦åÒ ^œ[¶a7ÃØ>¥,ÿ[.·WævŽQîʃ\ÂS»tºÏ€–´þâ—#jÖ)!@&³§k¦ Ñ.õ'Ò‰çƒFüæ&·é#×̓^Ðþï^NÊì¢ò9ßèè-ØÉ¡‘ðT0ß÷ùíòr^.Æû»áÊï&}äÄòåÚ­š£ÚA}x#hõDÕçkkžÝ™Äòç†XϺ'X[óv%ÕÕ·M©óê‡ú¯{ôù³#ÉíØ(]­•ÌºŽ½^7ãÐñÕ¡•ì­OÓz„øÉÇR§òûÔZ˜‡{ñ½Eþí[•¶6ëà{5+&ä¿ÊˆÿÈBò}Ö‹«É“E„z2w|e^i&VBXê‡*´zØ-Ç7ÏàÒÚ¨ÿ.±€~ ÐÅÒÚê=ÄR×SÂû‘-¿ƒ áý†ÆQKøX¨<,#"Ð]|!|ÀúðÝÍúGÐ#€„=æ˜""Ðk á{ zL=6hz€0ED ‚è숫ˆ¥ Ü1«ˆ@X!@±d„G•>¬ê3ƒ$|pñÅØ°B VÕ™A‚‹€Ž­¨Gƒ Qð\¦\G ÕÕŒ…CÚ"€„Ç/ˆ!„„ÉÇúvº[®¢üë^Á㞟?Tù¸{Ò½•“^)>&ŠtŽ”ÑbH›o göë•® ?`P¯è֎𽘓îBþ^A eü!|¯äE" Ix8â "€D;0DØ#®¢0," à(}4Ô"–ð$¼@¡7D @ÂGC-b@ÂûzC¢<#jË€p¼€adûá}Xx>PjÇT‡O–0'ˆ@ø ÐÅ©µU{ˆÀŸêœ m¸Ð ª–þvܾ·ÒVñÏV°_´}ñwËŽo[Êþfûé7¶OþjýxŸåÔ»àaÞG Ð"j®˜…~IB¿¾F°Wõ£v@ª1-5ñª¾ñýûÆ÷Ô>ñ)‰q§j‘ð¡®L0­6g«“H¢$Š‚è `íNÁ!ʧ,:ÀEEâi¢‚Þ×s-P¸’0:D PØØVQpÉ™¥F”[ÄêÀ¶ç%~¬…¯Kä‘𪌈€ð¾*aTšª· .STFYì BÀ²ÝI@o1.K2·ÀWúÊŒDàŸob;²7Ïäm8à }fCe®€œÔG†ñ„’$‹a¤–Ÿ[½JÐ `›l:Ês"¿²î‰ðÖ÷<ûÖ6ø_è}f<øpþ…U„¸ þÛÕw­)¨(âÍ‚ËóƒW Ócr0b·ò… ð×æãŒ’(uëVË«ŒóðÀÿúb"ŸðPÊŒÑÙeÇ€¼À}.õåòìÂõð¾ì©5Û¹Â_±}ÍS³sHEQæ±eŠjPP²)ïËG‚~zÿZö4ÏÁš)Ï_{…þ³è±¥ÝÍYT^+´&½s×ÊSÐäÌV_±½rÃâRuª’¬ÉåÝÿÌÂ2ÖL AÂ¥›.QóÔ“ ·9ç5¶Ë‚ sàÓÇ"DáÆy2€í™%¼gfC gñ†JñÀ÷‚™ÌEëüS«s|Ä ½!!GçDY±ðôSË´,,yri¼Qyƒ>¼Sò5sQ@xÐÒ ³—=H霧°ºêË’2Œ™•Û‹T¾SåŸ*ûhðG@”a@žM£©véST·ìwË,NÖ)0+_êaÆž]G¦¬0S™˜{aÂ&©¡Çž­8.:–­HxpƯ!¼A‰¿šê+‡í"°æc'Ë0'Çí˜òÓáx¹ˆÉy£A ƒöÐ"@›àÃ@½ÂóÈ”ð®Ñ9PË?S¸LÙ¬ŒÙ}¶zõgš3õ즺»‡u¯KÓD&ácºÊ°ð1„Hx° Çœ­&çA këp`NŽ/ÈñÍ á}à }!!Gçaã 0v˰¡zj@Ï—í2ÕöáÜ|>äÕƒ "Eàº,qØdG‹èhÕ¬l‡W»À­h7ˆvè¸z¤ÁǤ…øë§Þ4Ð|¥áì:‡azËžxÓ[Ècº@§'ÞÀW»‰¥®ë»å§¨@øðÉ æC¼Ÿig`gÚEáÃ_Ì"¤(„ÇA»ˆ¨/Ì$"ðÁcA"$|DTf HøÀàˆ± @$ÒW”˜b&^AàžŸ?Tù¸Ç¤µA»Hš‡0h|¯àˆ‰"‘‚@T>R@Ç|"á†NË…[`~P €ƒv¡@Ó@Â$|˜TfHøP Œi a‚€î°“¬`6D XЮø-thD f@ÂÇLUcA”ðø 1…@$-­íõŠÁ8z½ 0ðv腻ϴùRµ—X® á»ñ á[Ý ½†N޵òHxìǤZ0D <ÂGèÕ3áæˆ(PÂGTuafž!€„ï~ˆ(ðþT×íêm”ðQ…?1`D WˆxÂϸ´áðì£çMȶg–œáÒ{C›³xC%Èxà{ÁÌ æ¢uþ©¿Õ9>&Þ!%„–¾8·lÃn† °}JYþ·\n¯Ìí©Ü•¹„§véônà Zzaö²)óVW}YR¦Ä“1³ r{‘ÊwªüSe "Ð[D áA0ß÷ùíòr$ãÀýÝeŠ‹G€ÓGN,_¾Á­/ ´¼ç߉)+ÌTfæ^˜p†Ijè±g+Ž‹Že+œñko@â¯f£úŠÁa»Þúêc8Ýè!ãoÔ|¦p™²YuZ½ú3Í™幩=÷ 1übÑC‹ì–;Þwê@󕆳ë¡M:òRÃÝr‘WgÑžãàì–Û·Jåš¶¢ÍXgxv² &d+d¢½¾±|ˆ@·èZ¥§sÚóH©:²UJ*öv+Ïç‚Þ+ð} ¼ç b ˆ"tMø¯·‘—¿u _O/¦Ï¬la‹[ æs[Š`¢‹ö¥aé«'ÿ%µLÎoY¡t¡•‰t:£ÖÕ˜V"€ø…@ׄ/-—ÙA{]ÙB׺Àâ–U{ÉðV¯Ìe“^Ü7܃žÝòå'ÂWÈð•0hD ˆt=hBøÅŽê7ëÖæÀV\Mž,"ª·Ńßûí†HÉ|ÍÑ£÷PàÁC Ü“¨ñL»ž ‡aƒ„@wÏ´ëb”¾xp!e¯»WV¶0GNÔÎ ïͤ>H†Ñ"ÁF@;IJk•¾ð%²d ¨èŠÙ»‚=w²²e_ÅzõW«vî¿]Y±ìÊÇøc® Ýïƒ/PœžOr¦{\ÙÂÆçèì éó.x{„®TŸ¿{ªÏ+ab¸*°èˆ@ðèºïS"¡îSAÐ"tC¥Æâc™E @>6ÐÃQúبç+e€Gé#¬ôÁÌ.®¥&º·?g-½?9Á0ˆ"vt=JvYÆ !ˆ€¿ áýEÃ!ˆ>+ ³Œø‹Þ?äàœyÕ(gÏk.x-…b¨P Ý„gGÐû|pU7ð®ØNÊ•óåÙ5pfm®âRNrñ°ºn@‰^CŠ@T¾v)Y¸˜”}ðm·9«Õsꪎ•e΀¿ô¢ jà0z

    ¤ß0&Ö ¢™ðpd-™{ÿO¯ÞSºÛíò9åžUòûó ¿wbûlåŒJvõ5ò´çnÔzE‚‰€@d}þœÕ“?cøôŸ,,ß¶ŸÉx¸gfùÄ­îçÕ÷äæ~íìíhðpþtA‰rr5Ü)2?˜u‡q#þ"½„§ú<;~ZÎâr¦ÕÃ=3¹+ §¹A€›gT ^;®‹hü­ ‡¨%<½‚BÙ±»`=aZ}íi—RøuóLÕÆ"õ"H¸&ÒßUõ^© ÖFŽø@Ôþëm{sí˜GµzMÔk8ù{óLÆh¢^=ƒóìÒ eVŽÞ/纛 Á ˆ@0ˆZ—7í]¡:\M3nÉõêH «Ÿ7ϸn™Ñn„TïA¶ósŸ{Š@¬n…«5¾È©+¾¡[øán¹nÁ…žC€€Ï»åŒäÌb½µÞ#Ö{Õ3ðé9\Ýd{*“@‚…€,Æ[„Ÿ^Ü“›¡ƒU/"2b‹ð!ƒBÂ$|xÖ æ  ±:hç˜x¦_°a à"àÓ™vR½—X® áƒ[;"¤©„×±õhD &À>|LT3à áñK@b$| U6â'O:Ð|¥áì:ÂÑ98J_H"нQz$¼ïUˆké}Ç }†_×Òk£ô¡É¦‚ á€öáá0ˆ@°€3íè<>Ø@cüˆ@!€„£ÊÀ¬ ÁF Z§Mã ¯ð»ÝöîºU†iLíßâÕOá~# ¥>wö¬Ém¯~ûââÃ7UõeI—']ûâLJ¤ÐK !G\Õ¾óæúܬ‘PoåËOþD9”zýÚ’Z·{f¾t"ÅZµüœ^²þ6¯´BùhÔCjeMýîÚEë¤wzÙdEuý=ùÚ»ñÅAo±…@ÄJxå’‰ “·å|¯.˜%_¹U&=+— j×=3é3òr_­ B¾£²)ŸLY^Î5…ô‚.mx€Æè‹q©ßªo¯.Úå4Þ²†‘¿&tq°½/~|É9ú‰E"–ðZž³Ýoã×Í30$¯Üª5¿IΗÎ3I€®Øî‹¿¡À€1€@ľ˺q»U†^;õHÎôŽAü½ynˆ­ä=øÌÂìrvs´/.m3@É O–Ñ;l ù Ma/nC¾øé ô€hD/áÝn•™üÛq^N¡÷÷æM;×nžñÅ¥íwç‚Þ8íþ ·Òrµß?ø5#¾#€Ûc}ÇŠàn¹n€…^C‚€Ï»åŒ¤z7±ÔE±„ Þ˜"Êá•Høˆ¨.Ì$"ðÁcA"$|DTf 8h× ñL»n€…^C…€OgÚÍ7ª=0h‡„Uµ`:ˆ@ï!¦UúÞ«L°u†îžA‡rL èuð½^˜D t áC‡5¦„ô:Hø^¯Ì":ð¡ÃSBz$|¯Wf:vÐDˆvðæ™h¯a,"ÐTéñ›@b$| U6&ï;u ùJÖ{v"ˆ"}Üóó‡„[O“3»‰µÎEø–÷³¢¯¨X"D\„Ÿ|,uê ðg×9DˆJÒ ¤z/±\Á>|TÖ/ ðŒ¿ D †@ÂÇPecQ$<~ˆ@ !G\á ] Õ··¢Š’è°µŠ’.½ N{kðR1ÄÅóÈù¥]:AoLˆ×ëôî)ÆZyµA»î¾®®¡©Ù"IRðj+Ä1÷IN<8Í[¢±S^›ÕªÓéÖ}rìƒ]'Ož3…¸‚”Ü þIó¦g­xàzˆß`ŒsO%ÖÊë"¼¶ð¦Ëi9øú‰ ¿j@ZrrŸ ÕPˆ£mmµ]¾t‘ÈbZZÿŽIÇTy­–¦×?;uò¢}ñÝÓo½.JVd­º71ÿøÝÙí$|¬•—žžZÛ><Èöhb;0<>>JåòØÐÄZyA¶?2oÚ-?Ê­>:ÌÕ£>2oêû»NôÆŽUkååtƒð ÉGlתJä­‡S冃&Ë2dÊ FŒ+ŠâãC¹tkåÕ>øn>Äú6&J`p ’a, þQ¶Gí­6»ÝÆGïÚkåE‡’M“VHu­´å¢ÓÙ ú±VÞî©ô½öÙ6ýbçѦ^K>ä ÷^yUÙ ú<-‹ é’ðáÔ©Ú4gΦ*¿ûS]•—^ñWí¾æÞû¸CÄc(à‡ï•(¶ìX¸·[0 x[³y^RR ·s7WÓ$jÞš;÷­žÖ®gÁý™]OW-K'U݃DY¶ûÌ®áÆ³Úƒ\Ѱž МQûðÁ'~êµ·ÝsoØŸŽ¬ý|ÿ¹à'؃?<_½yÞ„ò¿·˜,Ô~2é‘ì¹›kØò–Võ[só޼ú½é¹OšÇØ)~& …JÊ#eJ¡LeòŽ]~ÆÔ>˜Kbë¼öÃðLÎ; HÂçYž5Ùøù!e!ˆKZ†9m¼`ž’šªýâ*‹*öà¼.öàƒkt÷ëõk™®¸ÞüÜѵ䣯ª9á«ßÊ¿úãyG?\ þ°d]uöýû[Þš¯>"ëþÏÍj*7?GŸ«7ßœœÊìÝ›¡„Pºü·6?Ã]RA…af÷3Šæ~܃hí ÿ@tÑÚ‡á!“¦CæL NUszìç|~(u*Œ×2ž¸\n›dÚ ¼%¥GØÏ×Ô¤¦öUÊbš¨‰ýoÂ¥¼þfÞBVŸ>2+?ÇÏé™wž¬¢r·ôñ‰¥w) &Û»ð~–·º|ëΉ™©ô%MM Ô~:qñë»)yw>~ü6îòØþïíj¹fó]säO™KSÃÊ›w?3ñä“<È‘ü­ƒ¦Ð÷ÌD‚„‡<¦^{õ0–U.›L&Í…—ÀÍ%eøÈÔÚšˆa¼éÐÞ‡?šzÛ¬‰)¼,¤z?wýÅd2‡Ky{Ø{ô%8ý¤©ÝIîZwõ£O¼­ôä{Úqí$éN(àK†=ù™5fTÇ ×¼=/¥ Ø;^!GOÓrÍúÃof°à£ÆÌ¢#åÕ…¾ž>J^¹ƒ™ôøÎ'ªBg” ߃~g¸å}xÐS€ØZ^µŽ=•óS‡‡Gz&Z<…NϘ¸óãrÐo5S}êè¬1#Aüͺ3gÁŠÊ»>žô,à šÎèî_² ñT¿=oÒÇwUÖ›ÍõæÊ—Þíú \r·“ßdÖË•à_±+ _ÐcßÅÞ§¸©æœ:XÝt®ÆÔ7• ½vÆÍõÃ%¿éÐ÷¬{O]ÒG† I|¥jÊÄŸL%û?d£neQ‚‡Gyá{ ´½ù¡WÈ£Oü¹F‰yÏòì%2èøô»¦’/ý—/½r$Þ[µN×UN ï_yY¡²‹abg{×òb:L?“ ^kÊKw*Ê9-#õÃË›ž“//ys—š(íݸ½jÞzV ]¨ôB(vCºçaø t°ZŸÛqväm7xdîð¦¦V2o5ó±.x­i?uÙq$uªçP¾²¯wü ›JG>„Q:WY¨VOW„IyýUq½ë¢é >¨¼«4;u@*µù䓺ŒPñ‡äF,ø¨tÒc×Ý ª}`ÚŽE¼JO õÊ‘9J¡Ì!?™‘þÀo'-áÅ|âäÄ™®4y~¸±à/™Ã¡ð_»§ÿo¥ë5õî?×*ÞzX žÊ Q2ª»N­ír·Ü©Ó5Ù×\×;T fª•‡ÿ1:kdÇbª¼°{lä‚¿˜¶? 80Í3â l p:`e­mø}o4n{Ôé kl5kåõg·\ÄX€®`]Z8ì ‡&<‚Ó¢H2ág7x^^kå BÞ‡ïê›Ãß{§C1ðàt8#×B1ìöV°PFwÏ„µòv[¥;nì!ïÅ/2àIÃ'Oó¦ÒÇNy[,Í?~bÛ_ž™3zHI–€!w˜üàEȤ»|>y¾ñß_þúÔ–‡[m®H7ÖÊ«©ôÝèÃ_ºT§7ÄEÓüÄÑi÷xÊUL•·Õֲ➽Üô‹™?ÎòpþOðÈŒ˜é€·,ÿëbÓkŸÈJ¿jõ¢Û[,õî ÅZyý!<à;g¼ñ#vÊ+ŠN½Þð‡½÷Õñh:Óîg·Ž{þáŸêuKÓewÂÇZy)á«ö´¹[®ËQú`´Äg˜ ‡»Â±0C(qô W¯ÝÞÀäW§os¤d`"Uc‘D»ú¨ƒ“/@½o±ÖƒçžJ¬• Øo cCÂð8JÖõ„™C‹>°xblˆ@X#€„ëêÁÌ!E X<16D ¬ÈЃ C’’2û†$š¯4Èv[× ­­Ê}]a]Ì"€tDÀr…4ÖPk­È H_„DϹó .oç`v?¶î‡ð²hÒ{Q:Qî*²·M#^ƒxÏ®·³A½nNìþY¢þ`å%L''™v;_þdËËW×»QuŸ Ý®tNº`€.Ò”ÌVÚLI{ƒÈá~–j°!ÁøAàÿmLÕ\xÔ%TIEND®B`‚nð@“| þ&œ©Ÿy˜#z÷¤sÿ‰PNG  IHDR›ÑªÛå¤sRGB®Îé pHYsÄÄ•+’ÔIDATx^í½ |T×yçe~lLâtó‚„…Á‘:ÛÄy#*R˜!5Øéf—ªñKT[ªÆØdWYJ½Ñnl0õP).±qª’Íã—Š‚ ²3DPEijÇiR#„…‘A4NR7Øpl£·ÿsι¯sÏ}›¹3sgæw?óá3\sžçùž—çžçœ¹§l||rjjJ õ* ©´©° R”²ðLœ* I­ð°‡¥¯·¬£’Â30¤®qa ¯i†¥QxœÂ³-Ävj#©i†8‡:„d^ˆµ½Q%ÄF€“ƒw¼ ¬C9   y$žGø   ¡€G % <(Ã:zPúXG÷K,z+^–©¼Œœ m—GxËpXG÷ª5íïá‘ò+Ñ#ÖÑý‚ô=ªLÉz{Y˜;ªüªìžNªgТÿß™a‘sô èÂ'ð÷O=:m:cø`ó[âž'¹ðÂÈ==ä— ¤‡B`Ú´2óç=ï»F|0GŒst¿È|?Mû-0ótá®áÎÑÉ£þ _¦€YF&†g]X%…1¼BŒÃ²Ï£ºÈ£SµNLxcÀÝoË÷=ª˜ç¾úÖ¯”h§»|î"rçR1-ˆvÕA;ðGÝ'¤hˆJÔýþm2Ú  „Fà«ô9SY,$‹¨»'ÜP塿¬:¢î›ð€#ê®(.Q÷yô-·ÞàÙ«‘ À–ÇžƒGO£Ãó $<ÔÂàѽ«3<à{ôÇŸúþ„éª,¿Ü®þ~|œ’´¥ÉÛ² R¤­IV=º÷¦?&ío£û…4Q#ð‹7&^ÿMٻ››`#×ääÔÄäÄäÔb»Óää“S“ô¶å_5}Áûgp³ÍÑwñqYâû?}›î —…§Rˆ{Ç”°´òüÌ¡w!Z–q5ÅÔÌÑòèwÞy§Pðïþîé?øORe¯¬žœÜ=úŸW¬¸ibB¡O"ñg_ýo*„ÔÂÈ£›5¹áU4Iïí}ÚEÏqÔ0ÓþdÕdQ'@î|Î¥es.›NŸ¹sØç=—Oïå—̽ì¢+.›Aºù¬‹f_2ãÄéóQ7úeùl—«L¡÷„ó!ßÒÇ]å@¥ÓCBúøöUN5™úð$¸ødpýIóWƒæñ1NqAkéAÀB€fçïŽ+4'Ÿ˜(›Sès~¼llbjl|jbŒî”Ñ@!æÞeøi2Ú䊀ù É,ÓìGY(jlL·{tOw»qÓ׿ö¿ÿz÷wê;ÜýígV¬XñŸHnúï[ýÛ—¢‰x³_2Mæ îŸ?R‚€„ÛéóîDÙ8yqþa×ÄÔ»cÊoÇÊèó.9õIu¼€EÂpä“õN ¶Óç©§ž&úôÿ•}~púéþœþû½ï=L>}ð ýÉ­·þÑ—ÚnªûÔ­·Þºþ‹«.šù™3g^yÅ'Nœ˜3gyú?¸ùË~,LÑdÿþ§)ØNŸçžcŠùÔ$E<ºòé¦9¹kÕª]'ÓÍ| S»n¬ßu*œ²¼J9¼iúôiôÙtØ+%þy"@+ÖâCñ³›®ÿM{ßM»ò¦¾—Ô¡ÕëÏ~ö¦ÚÚ›ÜU{ã7&/¸â•W^ùû§~ñ‹_?~üÑ¿éùÕ¯~õ©ë}ë[ß:|ø0MÜÿçÿÞéiŸY“•+oúÜçØ‡tÐ5¹é¦›–.]êYŽž ˜G¿ñÆÇ´qáÔc7Ö?vø1ÓÿB]S’,+3ü ‹SÌ£¿Ì£è0£˜°Ðn85h7Y¦¯Òfjš—‹•FÚÇÿ Öׄz7rïÈ?õzßK_ó4\;uô Ú{iç+ãccã÷/×Ô<µ«~Ú…ÓØg•ź/ž3ô/醜 à—ï”ʬY,Ð~É%+ó×*ïý=¶9ŽÞígÙ‚à6Gß·ç[Édròüëo½õÖºuëþ,~÷íÜ0óÒËöîÿÁ‹?þñ¯ÿíåʪ×5}ãWrQ‹Åò´|MßI ±KO|.½”mâÜ0ôýÚô½îŸWž<(\ú©ƒO)ëV,¿õ™gn­ð/ÍgʺKŸ¼s[Ÿ´,¿øÎv…{í©Ž­”]PFŸ³ï°ýíÔ+ÿªóþI…N‡`=4=oøæ+cÌA޽²î©«ó0ï}ì®'?Ï=ôXòÃMwy=Tœ9¢|xeD8õØO®;1AÛøÇ“þò¦PAÅmû÷ßþè‘eä)!—_~ù»ßï¯]1gŽ2ïÂÉC_øÚ¹_}9uîÑMÕ£Ãþ¯ÿÙ¶ãÿ‡âí?~þGý?ýìê/7Äø·_¼ö“_øÞ¿LÌš÷Á²Ù3f¿¯ÒGŽ\ÿw>}:m½™ªï>õNÙ ÿÕlÞ°âóÊSÂ¥Ÿ|YùüŠ z~³ö”yË}1 Ñ-þ…¥ôœm\Û¼iéí]‡,fð¹;¿îá8¹ëÎÛ{{o¿Ê<¡g÷Ý£&ãéRrñ¹õ.-…š å/[“¥ ÌÅZEÛëw®º½×U ea …sÚøFÛâ¾vÿýdýûÎØÔŒé“ôC¶ÎÎèÎ7¸S§/âß4¯ŠJ#ôf›7Ÿz¬žÍã§]8f½æ‰¸eRNÎõËÏ=÷å«§]H½öÔc«Xz‘…uÌ]7¦Ì¡SMêû" 5D?´éê/?§<#MŒ`ž©”«¬%¨SsU«Ó.dãBÊ„ž¥¹wS=›âo:LòŒx¾j²“¬4)#[ñX¼xñPÓ®þðÛÿrÿ¶ÓñÕšß¿ðÅ{¿¦Ì¾ŠöÇ .>~®¿{â›Éï}ïgG†ßÿ±O¿zV™¸|ö´‹.yzß¾S¿|ýO+ƒ£ÊÙ_¾â^NÊý’K”þãÿFSó~tñŒÊWþ~ô§'ߘ÷¾i~”i‚yôŠ~îåW)Ûáý.5Å©'¿|¯>“ y}ž{ù$›É?¹´MÙϺû«/+×Ì÷¯WÍÖ>¥V¸n~ºçªÛ—ö±iЫá˜ÛÃÖÕ=úêÔÔÛô‚É—Ö*<][kì¹¥÷öc7ò?÷mÜv?¤Þ¡\Ç6‰"^]ǃ)ÅšEŸ´%6„’®uþMFÊ'ð?6}EX°m;säÿû—®;ÿôÞ,;|`û ¢ÙºÛ©Çîjúp’:àøDòìß9\·>üÍhÒ?>ñÌŠä]_þpr|Â+‹rë3÷¾|5û_ýäç¿aÈ1ÿ½4ɦï¯ì|)¶‰ºdÍý¯ðòI#tWqëþM//àQ÷O®{Ø>)Wµ:1>±ÿÖW7-xù^šÍÓçëzìQã¹—®y˜æ÷¶ÇîT¾A¡‚ Û`Ï#ªÉcãÉ¥.&‡EÊŠË^»ø eÎŒYk–žxæçWniyî‰]OÿÓ/É£‹mq}};ãt&•Ø24øÓ#£ç_üWå•yõovm{챿<þýÝ?~ü¯òí¯lû_m.ôÈÈ­pô!×Nâ^~ùèÝ=ÿß]ÃGþ÷oõ~§ÿÔ‡.}çÚÙçüWA0®,_Õ¶ýÀaåÔ‰#êu2 µñsÖíi@¬¦¾í¥§h&ÿáú»®9²ÿBḥ•,ÂVqë3cûýDêkš="<.]'O©{´¹†}¿b]ݶghü\'>©¨Ésiå(ó¯UÝmÊ’¥l«}šd÷;™R¬Y°$±¡ªÿj@ÊÂ% .•O²kc›ê¼…S§K¸ó©²)úýšûîY9šR‹žõÀ5¯7É"ÛÖîÆ¦ït‡M”—ßÿ€Þ/ÝV,`Y¦Ýkd©¸í™ñöŽyxSLanûÄΞkú†©Û‘7|ó..¬bźذ ¿mZ¡$ÉI|ó†ç¾l.ÁžüÔ‰—˜VÂý³‘„ÍnX·‚̦ù½ø"B“%ûÂmEÐ÷ndá÷?ݰé­q…>ãeüC‹simwgTÈŸ&1 gÓÓ”îvê±MÌO’“ÙyÃK'hb«¹Zöz.…ªøÓ©]–,”ÛaÝE›aŸ3íz3©Á¤´Yñu¡l¡N›™ŸJ>ù܇y¤Îv‰é¸9±{cÐMfÁÄ> üêÿûΧV¿ðÅ_ Wξ«žöRûÃÊÕ7ê{Ýý¯£û”è”̼×]xtúÕÌ” üå²óüþäeë>q©Ï}]D`ÎïŠ)äÎJbëgGbÚÏlĦ˜ŠJå9¶yŽ÷Seû‘kø× -§oäyj¶²õs_Ú'¦Íäð7²ð¸é'ßl…[$ã;èd¹¼U0r±RXé)ÅšEÏ×Ó“ÎKÙ†½²²;-Å:º7ïOAïŒãòîlSûÔ=|¦>}Z}hë;¹|rú¦íîæ—.û³ùýl¹ší*µu7êkM øÎ¸Ê§>ÿð­Ëoý¥ä»Þî:öa£“ šz”ßzo kßH'~¹’ïŒãYÊ5ÕôßÍhJ]›ÖÑ_1Ç· 5®¦Uüûy—´]SSË¿þÊ7_Š©ëè¬#ú%”ššÒ´ªß5ßHL÷ú]'¹æ<‡µhÝäé ˜þAÇ–Þ’êã…¤BmQݸ"Aà½ó>´çoO¼¶êO®}úÀÓ#ïyöŸfOnøó§^½è©Ë¿üÊ+‡¿ùͶ;ãý×-þ£îi[E"žxbë‹ÿôMúÌ™õÚ?¿ðÍdò;G޼ôýçžh¨<:çW{ŸèùþÑ£ÒDœ½æoc_ÚŠûȈ“Z|@B’(ø»¼}ÅìÓ.亙žßáÞ.šÓ.Zš¡_8q~õ'fò“ZV¤Xò÷O…qRKñ”´N¨ÖuÙÊϾáã³ôý÷¦O\*>´v¾æS³þÓ§g/úÐ%Å`0lÈ7‰ñ úh¿ó4¾Dhg\¾A>äˆvÆåt¾Å`g\¾k ägðjhÉ/(¢âѳ >j)ºEr-4’öM…¤tRì†þ¢¬aTkQVk¸Fe2JÚGFDÝí”  ù!žî   æ·Mýn§‡¨{àÉp&‘›¬­* êî»q‰÷EÐ>ß9° Z  ’ŠKEoNKAÅe2¬"$À=ºx¼Ã4ÏémsE&€€@Á0yôðl Ó C*,´`rY˜¯ë I«Ð(±ó·CNvaÕ]x‡S„gÜTx BT*¬º ¯æŸïƒªj~·vм©é#Ø…35Éœ?´Ú›* §m†8„7ÐïµÂ±ŽÍaC*)´šcÝ.Ó°3.ÌN‰²@@@ _àÑóErA@@ LðèaÒDY   /ðèù"¹   &ïq÷Þó'a DY   ¡øòmÿ…ÊóöèÓ¦³w_à @ÛÝwlè‘ЋTy·1ï d»:ŠÞÀl4—˜¹¤ Y! ¦À£{éPˆ²Q” ðÍ]ÿ‡ÿ|hXŒ2sïÑõÔ®ïÞºK¯Âܳë áù˜/|mËÈ#ú¤¿+,c›òèúOÞª|÷°yV÷ÂS¾°ç|§ð—ò«ržÛ ÷¿ê%þÎç7/ïý¿?µH0âçö˜ñs²Â¸-¦NGþð«?Ìq-JõIÀSÕü"úOÞp½¼³û 3b6òjr5'Ÿu$óW)´'¨wyoí'žuU( Òëb©Ömãç?:¬èË1…¡ØôÌê(d†åTïQ–£^Á9÷èæg1‡ >W@µ)Ž'UšÂ*¶õGZ:aÚ]oš£{ôéÉPöôzÉñýwßø_¼•Þ)ä®hË1ž­ rI ¼QȤµC½Ëdå Ëçg¨²rîÑöû¥ÇŒUp¾{è¿èï× /|U̼™'Ð_åÓCÙY¬£·õu/Ò—`þlxËÿÕÖ]ëÓ\Œöˆº§Œ5àoYȬÍä$wš]L®í|l˶E·Ýè¼…6'FAˆœ@¨£I„¬Þ%²rÓå ´òÙùè““.ÚOŸ>-'~²°Þé;‚¼m&âUøèÆ$ØÆ°ë,ï „mPjyÅi`žšzq · fµjR Ϫ¬p±ä»4ëiªò׿j/„Í·® PRØú‘y9¦¤Œ/acQï™W~>¢î™k@Š’ß0£îû]‰+J ¥gê=¤:/ŽW@ƒ@HÅD—€ús€âÚd]ÜÁ5ËÒ($­÷,É ntå(^@P¡*€€äœ}Æt¿E"]‡_u«ñ´ Y &íǞϯyW ÛUUôf ¹|ÀÌ%mÈ ‘5ÝeËoñëÑ/[p2DÙ(ŠüæÄ|xô´„¢£‹ÞÀ4]`æ’6d…H@÷èXG‘*м€GÏz À£‡E€€@Þ>åúÉ›r9üÑ9/¸’më׿äT|¤šGÈœé‰CóiÁogûÅT æÿæÐœßI‰–‘a¥g˜½D¡ggè@]ä²9¥O[ÜøðÕ=3°Öé‹¶ˆò=GI^`;sŸáÅ7?¼àõoä^®‰žuá™À¿¬ðRÞÕýÁ/zvY~å3¿.mñ‹§Wü€%`Ÿš7ÿ!<Ñ(É›@$ÛŒ·ÚyO‘ny.ê"0ÁDÜøðõóoU\™ŽSƒ°o†0”QÂf®úÌØ·v¼E¾±ãÍSŸ¹Ô>M¿ës3O½z¾„ÁtB$` n\û±øù—Û|zô™ûŸS¡Ìüú‰&>ʵ2¤æ;W&¶|PDM÷ýWå÷Mßµ,–ŽæñÇ7sQjöCWîca[=6."´šŠ!Q( .] óM7²Öð»®ÆK[´ßåÛm§âþë•j¸X¹P2³ÂŽ"Y¸FÕ–—¬~§Eä9µd[]h ^jÚ˜ ѱä mYD|tú|åüË/ò{/ŽTf\#’qM¿¦bìûûƲ¥˜­Q¥¶Ïl Îa¹©-‹öÑU#ÚfrHN"Ê‹üõ5‡¢Ô‡ZólU¯Á-sö™F6}àýW&T2æÈF*ùxèSCÇòñVÒÞ$p-&ÜÕm S3 )†'õÒöl-ßË@“ªöAÛ\T€!ýüÈéé_j5EÚÍ^Ób¢1ü†&:®OþÖê[Þ<¥¼õ•?³A™êcæ÷oáÑÑ??ÿ¥ÇõeÑ™ŸUþß|kù_ÌïÒ¿ß®¯‰ÎüÒUo²·¼9ÿ/ O,ë¹²”óf*’P ‰Ëøèœ®õç¿"b¶LÕñKn) ‹*ÖÏá=PjûÌ}1ó🫢•ÏÌQŸ{ …]DŽ=uhlùçxkX<]9=6ÿjæ˜ÿê§½õ$.µdk]Psù‹ßâuñ°2³‚•’RYLç¯î·,ä,éŒÊyÊgL}J U¼gû UZŽ “´·®jí‰Úf²‡Ø{ˆã‚nÌ{TóhiSÞ\ƒWÍYnü=¥ÿÚ…šŠJcä¾4$9–òµ\l<^À‰[б¬A»éŸ¯™~ø{,˜G¥Ùü…WùR/`6ЬªtÐV5 4¤Åk^?ümRgYR4±ÍŠè4=º5Û½tùé·žó­o¿ù­Ó3W©bmŽ54vJ1}Ÿ7}©Z€wU^|óáLÿìj—·ÑISŽ ñ‚Ðf~ߦåX}-\zÓçX`¶ÈEô[«œ\ýmä·‡²5…]¥ýþ·NUL§éø]Ÿ›ñýGßR®š¡(¬YŸ|…&¬N%«%þþê™?x“?fñh¶\“ÕKT/6‰W¾¿?-x³ÒxL QaÏö¢¬\%o Î]U¬€8÷ÄBh3Ùcìkˆ“Š·qc û­Æà`Nyöå@u|ô­!WÔ\þ›[…]ú”Ô‘›kU½øÖ÷u'òÑ™Ÿ§áRl^ÀWù¶Ÿå²©ê1´ÒYz>vi®]øõ\ˆ¶°õ9G·ÕǼ9O«Û’?ø¥yú_µ°*»aþ.MàÞ½²Û VuË[Ÿ}\Ý,­É¥7 25¤¶¡•+M×R+lâ) =oæç?Jaçó/{ì$[c¦ «Ö¬å%Ël`ÑléåOX²” "$.Ç/Ùží3ƒ²#•Õܼ»jÁ¶™¬2‹í÷<=vDU•…g+ûÐÛÒ—õ_SbŸƒd0 Õò)ˆ(7CÎÍÝd#NI¦Êî7µÉ¾‡_½xـ飯ûКæÎ];…´y¤6·¢…t=úé7oRI؃‰:=õn¨þ‡i¯”R˜WàJ·¼©¬Ÿú–ÞôVÕ9…]4Õ½¾ AÏh ëÀ¦W®¦˜0õ|ú>ãš-—.ÿÁoY³öS2Ÿß³‹Os#z™×ÎÍkêU·0Õ’¶yWõê_… L­Óâl*P`ÌRÒ“ºkÜ.ܾìs ¤¡fß?¼â°‰5-nÿ°åÍÃl&C±IÅ´™FÖJ=Ë· ørU݇V?¯^ÕlQÜú‹\u`nYmkn<ºÍøía6§…Í´ìàðèRÚöιó3îÛ \SRdÛ®@êÏ!øóôf&ý^*šrµ˜Ä]Ýæ9º_IßøÞ[ókf*lá\9òªòÙšê®oÇ’Õº`ûysîá«wµÒîEýŠÚÍžZÄæ¦§x^1_æ^A.__Öñ‹°ÔÓÉ[‚´¹2TÒþµ6“¿:uä&UÉ•{–ÕÖ%)+ ÓM¶\ÂKå5¨Ž«úMg^•åô­¡EV¾:òða–ï‹JŸ3Wm¡Y¶ž+m¥žåK|©ªîƒv !/=Ýô ßßò¾/)<ΟmÑé{tþÐñ¥ÇÅFAÚ× Ç·¯TþÜ,uï„o}ëÕ9lO8ÛˆážË=¥LßlÞ=ãëb-€•Ï×Ñ¥73(d¢ErÑw¾úú·|ÖÌj )óÄÂ9{¬«˜§=¨JK6×=ò}ˆL´ò–ºLn©¬Œ¬ 1ó7Õ¦¯æ­¯4Š/ msU×G¾ýúMFõM¿GŠ^Ú»ª­E²Íe^zßCœ77¶ l>ï¡¿a›XÅþž·¶îݶKyK걤­sÖ›R“¬BNdIì{äûû|i˜Z¾–ËÏÓçF³šåëçœ|Ôü" »—oø&uUÝmCº ;íŒ;ù•SúJôü§kÞºIÁ²"Ú¥‹ÓTÝ~24}ÆŒpÎ^cqŒéûyy‹ÿ”áõà—„³×r¼èOÓJÇÀè_éµ®t`¦'É3W ÖQŠÉ%HÀ³U8'ÀÙkÀCV€iá‰EÝýt¡KŠbüǶŸ(ji­£‡m‰é§÷ÆëYh=ÆÏ^дuqšú“´ #€'ðí×Ù ’ùâÝÓôjâXxò3Þò4Ìdm1.8;äP ä0êæ&ˆºç¦9D(Žšƒ‹ÞÀì`“— ˜¹¤ Y!@Ô=D˜( @@òOÀ×=ÿj£‡_uëÇ‹Ñ2æ¼Ozò®@¶ë·è Ì6@sù€™KÚ"}ŽîíÑŸÿÇ=! FQ   áX¶ü*ÐÛ£Ÿ?¯þt8\ñ(í§/~ï#ý\qs ßó{¬åëúõO/nȥЊrÖx3g¨!(\Ôt…GÏë^÷pmBi   PÂàÑK¸òa:€€@€G/¢Ê„)  %L½„+¦ƒ€xt­2Gw¯½¹Ÿþ§‰Z5GV±¨‚>6• ³—,ÿ ¹e˜]Çî¿ÿ)¥uš³ì *¥éÛ£—Óòõ{ÎÞWËFP:lsI²@# „+ʉs?‚E™F‰éÆ<ú¤2åò)1 0@@ ’€Ï9ú@{U<©t®š}s÷(·“=ÑÏÅ>æ;›»»oæ7ç¶÷+£¦ïZKG`|º`.JÍÞ°¹½ ×cãVH)M¢P@\Ò›nue ¿ëj¬í>­•h³þпYÎ>í…EšØök‘–øtw·B+yíÎãzáXZ-6]¥m*µ}¦[p„òÉšŠŸ®ª(¶njÒzWŠ¥9PÅâ´ÁD:.9ib!MH×vïn×GNi ™d÷ÁüµÞA,¾1ºóª¼¬!%Ûzæ å\„O¾¬c0SZœ}¢±œt¤þ¿·að̹³gÎí_Ü\Å],»:{”íüfK¢~n«þ}ûnñ@ š‡ïf ƒõZ[‘Û,K™ìTÚH(…Äe ŒînmY|€ WP¿äfʆEÉ–G¸™RÛÚë;ãûUÑÊŽ‡ÔçCa‘&¶Õ5 ±Î^AsôP’hªØ½¶~¨‹£Þ t&E1Y±4”‚MêÙ> Ö2Þ*$MŹ«Z{bJg]uUïJKW*d6Áug8U¢G³ÁÊâü`¦ìúi® áxÂM§ ³›‹¶`¾ÛIyãZ6ïdó“þq¥óg{çù ™žò¹×Ó‡)˜Ä§G·ZÖÿl"¶¦–¹vE©¾£KwBÊŠ†Z^å cæïÉã§ÔVt5-c_Ë×oh=ØÓ§Íz%à¤)W,ªàIÏÕ÷qÇ/.éMŸue¶ÈEô²Ž³g:„¼ê•q£lMaŸÒ”yµkW$zYíÛ«¬­Qúö&[ïæOQJu=TéWè–úU±Óy¶Ï6ŽŒ¤©8wU¯ž¨u@Ö—KïbÜM¢G[–¥ý`£#ƒJK1 °Þ*¯ )Ú ³[ÊLÁµ“ꎟu]ÝÞ¾yÕÑÄ_îœF®ôlϹžEÚ¨ÓòèÄ"_¢™¯kVgŽtwq¥póì2w¿)Eë•Ý®u¼Á5=Ujè[ ÝHo¨K™RÛ@ÓjÓÓ·Ô 7ñåµkbG©ûŸîÛ£¨GzòòÊ*ñ=+–€R°I=ÛgÁZ–¢¸ÞT|uUÿ°XøxÙ1:2äÄ_>u<[(fÔ]ÅksížÖ—¥b2Ìn)ÓUaïv2¯±­%±£3Þ¶ÞÚÝ饩|Îõôjú÷t=z,qTÄ·ùGžz3Ðf–™§”*Àž¦Õ@™ÒÒ¦†¾¥7½pNaMî\_†8»Ï4G.†¢KööõSÈ]‹‚0Ï/öð«]¹±4¸úÈ‘OÒ¦"ïªþ{b> Ê—ìòÊÅ¢ýq£À†˜Nj±:iÙ%e˜Ý“Z€vBë‰C]ûÍë^¥‡¨|Võô²£@ÿÈ£ë‘Þ•ñäÞ>ÕÏ xlñ°€QWehÍïÁZ˜ENÎ5%E¶í ¤þü†?ôIofRWRÑôXªÅ$úÛÍstÿ’Œ‘¢ºnqs}œBî¤>›²'ã;ùÊ:-eéëèêOçÕâ³c©Ý‘2äMEÚ\™¶ÒþåÏ]EÀج«À¸©ýŽ!ú¦#›ûjb(€Ï^Aê°ÉBß.6d˜Ý•NvB›sWvno¬^¿£shUƒ¾Ê]@f¶ëséÐ'oÏié™õ6”¾=z9mÚ:Ø\%¶}Ò>=¾½ZÙ/¶Ëù¹Zº=Ävƒ³]'î¹ÜSÊ(çÍN¬°òù:ºô¦MÓÈDóÍBôƒ‹öuÙƒlî-lÅJ|˱jEsq¾Í•¬´¨+š9²4#LÈœkÒ¦âØUmý+¥æZû¨Éc[y¿³V’q©¿}®m¸);ÛÙªŽE{Ø.9Vf«²Fäe˜=08ßí¤¿ýºfE]>/o¼›q–ð_ñXVÇ=ñ3Î!€ínÊg¬g`2E‘¦:>qÞÅ–ñó¿ ÇRš>¾ÁÏË[ü§ G³ü”R G7â4Õl·­tZQiô¯4È{À ‘[†Ee˜= 4!f)håCäjQ8M5Tœ( @Ü °_W«¿‚cQwcëœ?pf÷'$[© ZùlAÉJ¹¾£îÙnz‡ƒñzZ²JÙ®h'¡ÚOæÃ•†Ò@@€¨¾ï@«£^BoÎèñ½{\à³g/ ¡,CÛÑ€|ÈaÔÝ·N%’0xi¡¡AÔ=Û5V ­(Û õò3g¨!(\–¨{ÙÔ”Ë'\Á( @@@ òuφA(@@J’‹ºOŒ¿ëbû ?Ú[’d`4€€eËo!E½=úØØÛ…aP¡iY ‹vúêN¾*gàð㢡ëE~䣟+VërlW)tÉ#…¸ÜÀ¯×rÃR@@@ G°Žž#Ð  Y%žU¼(@@rD=G !@@²J]ëŸÒ–z\[Vùg¡ðèêrת2~ÝsHj·þwJ²j×É,°Q‹d‚tpzè®»PŒJÐ44}å™S —ZítÓÐJçL+{xйä¬öŽlž2‹¹‚3³-}Útþ?×G|ø‘6Á®ôE[äøöè!É fd^R³£ÇùYI9»Jƒí¡{®º}ißÔÔT߯mµRzòXïF–€]n›Ÿ3þ¾zf[Ý£¯ªŠ<ø¤²n×ðP×íK7Ê2+{MJ­–Ü$¾ªëØRå™Uâ™AG¸9­T­#ÕŠ"¥Œ¯úM7Q^,Í‹Ðt Éó &ÃØ9uKö;{†~Öutu:N= ¾=zÂPF à.ª¹†Ô4?Z·í™C6,ŵó㺒'OQ–.Pµ3úÉ]÷V‰ÉyYí‘ë Ó¤VËnÖlzøÚ#Û¶)›øÃŒI\ͷݟ͈E 7J˜aèݱ¢«i™VÔ¼ÆD"¶ãYvðxÎ/Ÿ} ½*žT蘛»Å‰&Æ!æ;›»»oa:F}Ôô]ËbIàh,|3¥foØÜÎ"üü"»tO“(—ô¦gkø]WÃ8Y&Za‡ YC.”̬°£H[­¨µÝ»Ûð”¢ì²¨p=×Îã9oE>š=âüK•#'N¦ä¢uê¼×Gyé$ÑÙ46²¡~S _O¹kÍwÚµŠÍ¼·Õª '©3tÓ\J\°‰Íᛯ5nzЭ–£ yû±MlBnG.½÷Ƀ©¸Rd³‡J;»¹m§6H«2æÙ˜¹syugyç¬wx q|@°a7õD}r-Õ!ÊÌÇn  ÝçeÊ„ªƒuÌñ=HúÕ0e 2ãf¬¤"-&Ðëæ-±)j-õ#¿Y‚|À—ª*Hõ² éå‹b›wš"íæ@ovE§Âe}J™rùðìû˜Òràìå¢Iímä†ý‹›«Ô#¥³GÙÎo¶$êç¶êß·ïÖ6ël¾›%L ÖkòŽ+K™ìTÚH(…Äe Œîn¥D܃) :~ÉÍÞÀ°(ÙòïRÛÚë;ãûUÑÊŽ‡ÔçCa‘V¶TýõC]œí†áxBÏg¶Ý.ËœKéL00:I)æ®5µIÙ¦ÆÉ>¹Žßœê[zûU|1ÀœòØíÛèÎüÛ¼úh–¶Öðˆ¸˜®“CïÕ'îÊüšv3Í‹&éT6ý{à¶«8eþµu½ÇNº—›½êÐÙÝdŠ2š»wgi¦Üõï!ŽvK;Wõ®´ AÜW©ƒƒy´´YèdM¥,eºâMcô¯!©l)_³‹ç 8qK1ÖbBu“yF{ºoÏÁx˜ïÚ½€WùR/`6ЬªtÐV5 4¤ÏkìÙß±Z¶ˆnªý¬ˆNmE>çèÖlýÏ&bkj™k§3þîèŠuöªO›+jç±› cŠé{ò¸v>ªš(_¿¡õ`O=ä:]Ò”+UðôŽ ˆg‡êû¸ã—ô¦³dË_̹ˆ^ÖqöL‡W½2n” )ìSÍÆéàäÖ»ùc“º¤(‰,ç\¾ç=!›¹*ë«è›Ž çÞÅœïFu½›…ýEÉ,þ­Å´ÅyJ“&”iã5ì{ÉÁ%i¸ ±‡:¥vFòjòÆïIƳ;§–»Þá  Ô@màbc ¿FG•–:cpІ#[nëÔˆ®^¦ZOª¶ñз†\¬¹üD“°KŸ’:rsm å5 º=Ô“Ôp)6/à«|›,—MUvtHgéù"ºæÚÅæ¸\ˆ¶°MË£S Éø5È|]³1%\\)Ü<»ÌßÝoJ+Û+»]jUƒkzªÔз$—ÞôjŒ25¤¶¡•ÕÆÄZÁ·øòÊ*©&rYZRK.ß²òžæÁ–ípö°|x*2©]½·_%âeÖ-mâïæ”j᳑]ù±‡zåÞ ëÍÔ¹ä"ÜÝ@–{‡§Õríl#Æ©ãÉØB1!×GáÙam~ãfžSß÷î®T¥ãa0 ÕòGG†äº¤Q•ʼڵ+½ÌÒcÒy‡6ó=üêªÈ tTսݦ9¤s×N!m©Í­hF!]KUI؃‰:=õnmŽÏ§¶¬^)¥ °GEþ 4˜PZÚÔзô¦·ªÎ)좩îõezFˤpÊ{T 4ð§{Ûå$Ë=W†*ežÝ<Ï´ì2˼hß%è < ^|»~± :]Ò”"ƒÙ¡{†Ã¥VçEˆ=Ô½¨P¿msÖ;ü«äÞibm)G‡“®q»p{±ÏA2†š±å•‹åv§Å­¼ñî8ÛJF!wE ô²Òe^À³|Û€/WÕ½ÝjÕlÅ]_zæTXÔ=ºe]´­yt=š±2žÜÛ§®¨»·|«ÚöÑÝîÐÚòŒ®))²mWÀ¼Á„•ÉŸï¤7}©êH*šrµéx»yŽî_’ʶ¼vML3EáìÈdñ\ñ|í£'íaŒàÅöwÝÞuˆùÄ®Û{Õ°µIO¶M‹´ga“ÜüëêTù\!Ù²éŒý€Œö”ó”êN4·²$Õìº;ã–Zí…"µ8ÿO@Yè¡ÒoÖбñkʰ馺0'oÒž"t/’³Þá[%®šëôÃd>‹ÁŠBÆÄ»ï[†×œÇÿ é[C‹|V¾:æða–ï‹JŸÛ²ºÖÎÞîC=жžË„Ù¼€gùÒ_ªªû hHçKÏ«ôíb´»­Yáqþl‹Nß£ó‡Žæ*±‡œö5èñíÕÊ~±]ÎÏÕÒµè!¶}€mqÏåžR¦@ùúC«ÄZ+Ÿ¯£KoúÑÔ1L´¨Q.úÁEûº|Ötf¶ô€É6²¢Z•5’é¾TËÅv#2”Óê{F¦†›¹f+û!:E·k·mìSçŠêE™sÝúê£GØŸYüûئÐNQ}U~ÙýŠþ3’ºîI5ì^«ôq©,%í’cŠÜ©¬Ûh¡À6·¿°cÎ_ö;àËTu´} é&ì´3îÌ%úJôÜ%{Öí†dE´ËÈÌNSÇ%Åø˜Û_ ú,Žq|ƒŸ—·øO@|ä’zÝXø þ4UÚ÷Î~T¦=€ØýýNåáÐ?,rè©çþk_uæiª…ÕÞ² ­w—ÌÙ(’ër¦{š‚RL.Ai‚cÙpšjð²šÕ´$ÃB”Æžš¬JEá&¦ø?‹º»Nçß¶i©XKÈÚÅîM/¥ËšœB(¸¸{Gq[çÕ¾øVÿ•9}Y§—J…ø÷@ëèahúé½ñzZñ³4m]œ„j?™O»àp2Vßw U à/¡Ÿ×«¡›pÊF)¾è1q¶ý}©ˆÄ;_ô£·#Y|¥›ù¥t¾´/ŠDN´¢¨{GQö}?ã-OÆ»ýµkEÑŒóaD£îù0/Ê2#â˦‚ºgLX‡uK§‚-§ºdÁVw#€¨;Ú€€¼FÝ‹Š$Œ|àQ÷±·]Tøñ?=O!@@@À•À²å·Ðß½=úøø» ™ ¥°h‡uôl´s™XG‘p)tÉq¡¨èÀ:ztꚀ€€@°ŽD  y'ž÷*€   xô ¢È;xt­ ôC{ROïÉ{¥«@ä ¡— ‹“X´3ÖR,ÓÿNIØ)hyº˜& é¿\örØü*–'Q¹¶Í!eC«l”ņNéÓ>ÝÝÀãŸvvÖ{°+}Ñ9¾=zHò‚™—Ôìx]q>®0 º‡½S•N"gG I}:1¶‘%`Wv?qµ‹Î^3ÍÂN[[·b>;¥þ°r§ÓI˜´PVÈËÀ˜¡áVH˜`Òß~]ó’}çΞ៟u]ŽSƒ°o†0”Q¸Gl®!ô&té¤,…qRiDPiÝÿåQj€äˆÀ@ïŽ]MúKéç5&±ϲƒÇs~ùôèíUñ¤B'ˆðcíé2Þ¿o¾³¹»ûfv cÔGMßµ,–ŽÆòÇ7sQjö†Íí,²±™‘²+@÷4‰BqIoºq¶†ßu5Œˆe¢vn’5äBÉÌ »ˆ”ÚKéµ2×vïnäSÊ´ 5çÚy<çÍÉY Ù#Î_°T9râdJbJQÇ&ÃYºx,}—-îoŽô«KÔýä1š¡+t¦êí½ ?Ý]ý’ÇU@Ùî5æI•¹xõJ¹ºÑoÛ^Cl£©êCÓh©Qf°v,ŸvŸ—)ªvÖ1Ç÷ éWÔñÇt ‹›±’`17ÏhÙˆMQk§QQ:üšDÈ|©ªÒñS/*À^¾(v°y§)ÒnôfWt*\ŸÛSZœ}¢‘ãNõ±·aGö/n®â.–]=Êv~³%Q?·Uÿ¾}·v°YgóðÝ,Á`b°^{÷xYÊd§ÒFB)$.S`tw+Þ#âLÕñKnð†EÉ–G¸™RÛÚë;ãûUÑÊŽ‡ÔçCaO‘6{©ÔuqȆ㠽3»Ps.¥3é)6B (殪š(_¿¡õ`O=ä:]Ò”+UðôŽ ˆg‡êû¸ã—ô¦³dË_̹ˆ^ÖqöL‡W½2n” )ì--Õ^~ZðÝüùIa-^R¦D¨s.o òœ‚Mâ•u ïºéØU»ç2ÒR û+tªùÆÞ'žä…iÑ‚š­S¦ås!‡M~cMF2sš9/½Æ³W¦"(€¶íkˆ“V­Vl ä×èÈ ÒRg ÚpdËí‚Eèêeº5*Ïê°‡¾5äbÍå'š„]ú”Ô‘›k7(¯iÐÈ衞¤†K±µg_åÛ d¹lªÒÓ˜|ЪÒYz¾ˆ®¹v±9.¢-lÙ}J™rùÈ«"_¢™¯k6f‚‹+…›g—ù»ûM©¯ìv¨U ®é©RCßj\zÓµuYÿ(SCj»ZYm̧åüÛ«¥,¯¬22™T’ •æ `s~’²ýh扯=,Ÿ¹^4ݶÂ&ßëž¼Jì‘Bsèž.+½ÆÔ åÂûhÕ¶í=ÄùëȧŽ'c ÅL„\…g‡µù§.ïÝ \«C:ÓP-td(ˆkp×{^íÚ‰^æé±Fé¼C›Œù~õâe:ªê>~¦9¤s×N!m©Í­hFÁgÔÝV±ÄQõ‘„=˜¨ÓSïÖæø|jËê•Rª{TäJƒ ¥¥M }Koz«êœÂ.šê^_† g´t —Ù{T8ðÇ|Ûå$Ô=W:º…‘Ǽvž·]f²§ö$Á¯WUn¿Óò›¹‚sèz8ʩƲÝkü ÑoÛþmqï4±6‚”£ÃI׸]¸×guÒP3¶¼r±Üî´¸•7Þg[É(䮨^VºlTô,ß6àËUu´ élÅ]_zOnu`nYm«ƒ@]f¬Œ'÷ö©kãê¦-_þ¶}`t÷ƒ;´€¶<£kJŠlÛ0o0aeòç;éM_ª:$’Ц‡\mzÔßnž£û—”joy횘f# ÇÙK’ å¹â;ù"HÿNÚÌ«æÆ½·w"…uÝÞke³Ÿ{k‘ölm’S åóû·ñ]x)?=W,“xÒÂ!äžøA(5•Í^Ãfêúš¼AJ»†Ì¬hÛ¾máö¹N?LÜX V 2˜ÞX,0½æ<þIßZä³òÕ¡†³|_TúÜ–ÕµvövêQ´õ\&ÌÖž=Ë—øRUÝí@C:_z^Õ o£íØmÍ óg[tú?t4W‰=ä´¯Ao¯Vö‹ír~®–®E±íl«ˆ{.÷”2Ê×ïèZ%ÖXù|]zÓ¦Žid¢ErÑ.Ú×å3°fa³—ž4Ù®CVf«²F2ï— e¹Ø¶D¦‰ÒbZ}ÏÈæP2×le?D§àví¶}[kD™äÇÕ]p5[Ù~5þ¾êئ¬ì<Ûøèµ÷óòi;0ÿ¶‡ ¡tSS‹©Æ~·&ù1Ýüëêzo¿*š¿IÏj¯YÖÔ¹B4-yƒô?,@Ûö=ÄYFiGa»À9·Yl¯«Øß#ƒé‰E/Þ*”öŠ¿Ä1Tð=Hòý}¾4´ØgÊeŒçés«®kI´Ä«ÚÖ›œ‰½=ËË7È|™ªîƒ¶!Ý„vÆ9°D_‰ž»dÏš£=¬ˆvÙiªcc¿uI11~>”=ÇUßàçå-þS†£Y~J1Žnô´×3A~,ð–¡ÓTi:N ¶½oÞ6D;…qšj6’(©¡ÓT£„%G= Åä$hœ¦š¼Üd5­Í° §±¹&7â!²Fm[ж´±ð­þ+ñ²Î {] uô eÙ²›~zo¼ž…ÖcüìM['¡ÚOæÓ.8äŒÕ÷hU#ùKèwöj 'd!(²HÀ©¯U m˨e—÷3Þò4l”ëÐ_»–ÅVYÜEç0ê^Ü ƒ[¡_på}æˆPÔݧƅ–̈ºšæÔ·ºd±C¥Ì êž9C”  "ר{„8@(lÞQ÷ÿé™Â6Úƒ€€@QX¶ü²yôóçßbßÊʤö†öëµ¢¦™†q¥°h‡uô4F ,XG„Ë=q)tÉq¡¨è¬£‹WaÚ¯è( M@@@œ`m@@Š\‹O;;ë=Ø•¾h‹ß=$yÁŒÌKjv¼®8)¿×@ïŽ]ƒgÎ%”Ö”Ãwó«WºÒÝÃŽ<£­—ì6©O?y¬w#KÀ®¬œ½–®ê‘/R=4RÊdµúòbi^„†‹±L0éo¿®yɾsgÏðÏÏºŽ®NÇ©‡AØ·GCÊ@`tdP;s=@®è&=ô̶ºG›kHÁšæGë¶=sȦ*K!9¾4º&A3P>ûjÒ_J?¯1‘ˆíx–<žó˧Gh¯Š':8„kO—ñþ}óÍÝÝ7‹°£>jú®e±$p4–?¾™‹R³7lng‘ÍŒ”]º§I ˆKzÓ³5ü®«aœ@,­°s“¬!JfVؽjSÊd' àì¬÷Ü‘Ï^û;y∲tÁ|.`þ‚¥Ê‘'S„QŠºu+DŠì\t;¿Vu3¡~õ vö'=å®]úîZ޵ݻÛõÁ6µL™Pu°³Ž9¾I¿¦Œi¦SXÜŒ•ԑŶ¼h S³›þ+õl@gǺðÁVs=Öòå¾TUû m.*À^¾(v°y§)ÒnôfWt*\ŸÛSZœ}¢‘ãNõ±·ÂaØ¿¸¹Š»Xvuö(ÛùÍ–DýÜVýûöÝÚÁfÍÃw³ƒ‰Ázy}h ÊR&;•6J!q™£»[éô÷` ¨Ž_r3À(`X”ly„›)µ} ½¾3¾_­ìxH}î1vÉÚw•šó¤¡g¬rK>P“RÌ]yòNÕçî:jÙTùãÚ#¾Ê"ú›”m½jñ´ðä:~sªoéíWqOmNyìömFJ±h05õê£GäËaë ¼ìõP‡În?E3Ü»sÛ³‘Ô{ˆã‚ÝÒÎU½+-C÷ú–Þí¤/ ýõCl¡íì™ Ãñ„‘,¥LW¼i ’þ5$•,åkv±ñ\x'n)6[L¨n2ÏhO÷í9¯ó]»ð*_êÌšU•Úª¦†ôy=ûâ;VËÑMµŸѩɧG·fë6[SË\»¢TßÑëìU]úІÚyìfŘbúž<®ª…&Ê×oh=ØÓG¹N—4åŠE<½£C#âÙ¡ú>îøÅ%½és0[ä"zYÇÙ3B^õʸQ¶¦°»4`o©3²k Ûs傼O2a'c“xeÝÃb}Ó1á\ûN|²wã¦Ûæ³YØ_”ÌýZ\@[ pN) (ÆpÛ©­âkD¯Û‰sQjg$¯&oüžl<»³g YKà  Tº6p±1_¾{7? ün>eR˜“3Š·•éf·'UÛxè[C.Ö\~¢IŒZú”Ô‘›kM•×4èNdôPOR ›ðU¾Í@–˦ªG» :¤³ô|]sí"ê Ѷiyt*!_¢†>®kNê%.®nž]æïî7¥•í•Ý®›×®é©RCßj\z3À8 SCj»ZYmz¸–Zaêx2¶P<«Pç Î°Ë ñY'€N˜I™›4o‡³‡åÓÆÂþÚÕ{ûUj(ýªÛµ™»!IKÉŸ7 ê ±x%oüž¸L½C.³„l&ð´Z.ÜÖåõn½ÌòÊ*£|È}àõ9HÓPUftdH ªœW»vE¢—¹@z¬Q:ïÐ&c¾‡_ƒ›Ä 8ªêÞnÓÒ¹k§À*ÔæV4£®G%Žª$ìÁDžz÷/çÙgj^¯”RØ£"PL(-mjè[zÓ[UçvÑlÙ[[† g´ …Óã¼ÆNºÎì³N>¨öþÒ›×ÎÍkêþr‡“JH0ûç:‰W/uêmKi~G™l—b;q/*ÃÆ/8¤©m6!†¥R Þ}T 2ò™}Æ—ÏA2†šRå•‹åú¥Å­¼ñî8ÛJF!wE ô²Òe^À³|Û€/WÕ½ÝjÕlÅ]_zæTXÔM̲.ÚV<ºÍXOîíSׯ,;8<¡¶}`t÷ƒ;´€¶<‹kJŠlÛHý9¾“Þ̤§HEÓC®“èo7ÏÑýIbÏãÚÊEi$á\’÷§sàT57nì½½ëå;Ôu{ïÆkRJ`›Ñ´H{6ÉÍ_±®N•ÏÒ™RO<)þC°Íq<¥z“Eà”B}ñsvÓ6ºÀ(²—! íDÚàÍ86~MSófe»õž"²Ì©ä`*¹N?¤½[Ƥ¼vMLÖä ,ÚzÍyü’¾5´ÈgåÇwŠõV6Ìò}Qés[V×ÚÙÛ}¨GÑÖsY¹6/àY¾tÀ—ªê>hÒùÒó*Ó‹CF»Ûšç϶h[öíÑùCGs•ØCNûôøöje¿Ø.ççjéZôÛ>À¶Š¸çrO)S |ýŽÎ!¶9\-Ÿ¯£KoúÑÔ1L´¨Q.úÁEûºÜÃæ’’Ù>‘Áz®9Ûcý5|®ÉgDÇ%sÍVöCtŠp×nÛØ§-C«^”²ÕleÎDüªc›Bÿ=:EõUùe÷+Õut&uÝ“jؽVéãRYJÚ%ǹSY·Q5ɤû]}èúeŒ=[íÄ«³K¿U™¦Î´U–šw«²FÁò‘1›àøVÉb©TŽ´w/“0¡É%ÛhìJ+ß*”öŠ¿Ä1Tð=Hòý}¶ñG¦¡Å>S.càËTu´} é&ì´3îÌ%úJôÜ%{Öí†dE´K{6NSuJ491¼?Èr°8Æñ ~^Þâ?e8šå§”Üݘ?žš*MÇéñ"Âûà xGÝòüþ|*Ù   ®–-¿…þîíÑCûõêÃJ íÈÆ÷ükgùº~ý“Ç?òÑÏåKzä–B+ÊF!0s†‚Â%€uôpy¢4È3¾Ž>5Å>¸@@@ –€igœðëöOÁÚÅA@@ t`¯{éÔ5,(f¾=zê™66(ž "ޱ ô/%#^ÑPOoEîÍ -hSÉX~³5é#IÀ·G÷ÔžJk=4Ì3KÞ˜»P!êŸw€P   ¸·yý¯zš‚FåA  „çÑ Êl(   EF ˜Gé¾Y©ÂOIçÝ7lno ;›û­¡¼n-¥qp¯ñÊþ›»]ŽEáåèÙ%‚„\q:ë"Š’ærJ©êÌŽiO*t4/Ä<‘©:ªYd˜^[ÎÎbfÎÕ>`’vº»ÁTzuPú†Ý8qF^-NíJÚØ¬7õÚQ[cxõnI[‘©Í[á¨}Víí¦nBgB››"“hi™á”×ÒLGŒ£½µ8é(î´½¶{w»>vIKÈ0»¹Ì‹Êk…@¸Å|?Œ=ÓÈ h¯ïŒ«f¶(;2=Í«]»"ÑË}ü©ãJlÅàÈiöô22[[c1ÅSti%µ+E~SoÀ‰ú¹­ZcNlðSàV”R÷ö>+,ë0u“ê¦DldzjßWN÷í9¯+Êó²Lƒ …ôñJÚZì½H6F‘g­êâcà†áx­ëe˜=e4³–4)­¢¬ äÑWt5ñÞ[}GW¬³WíÖ+UØ9¬h¨ÇîV,Œ‰?ö?›ˆ­©ÞÆ’]ÊPT¾~CëÁž>æ®E4:2¨´Ô‰st«WÆ•¡uZjËå(Tª³¦‰c.MPõ}¶'˜Ì[‚½ðegÏtfZD”×®‰ev÷÷5´­Q†é+^«*9v\ròv¥¶jkc35`ScNÏêI¿×[°Vdgë³RmÊkô¾?z¨'©õÄŒUVlH4‰ÞgÙm mB6Ýec?ÿûn1y`F.g˜Ý\rˆEE«† œ@ ¾¸Ò4óBE±ÜÔ„Èn&ãKÔòuÍI÷úp-óÔñdl¡öQ¾(vpXeý •–oRÉ®*õêÁ5=Uj ÜXJ¥]9n„ËV§>Ñ—WV%÷öž9º¸²º²ŠM›F‡‹ux r ¶jiÕ^­%4õ2+(VdèÓL#>D.Jé¼Cx½"»(Üå`‘?JŽc”V*õ_df7—bQEVÇEjN ®Ï†ŒÀÓÁX⨈Zó:û”cµJMBó~cªDnLŸpËrj’#ÍÅÕ¹òƒ ¥¥Ím+@mÅ^8¹s}âì¾xj™ËêZ÷êQèᆾt?›h]Y”Ãk8²HÛ•kc Ov.J ÜŠÒQª¼ñî8{‚¤˜¢F2Ò)&ÒyÊ+iB¶´Nc«±‹M¯ ³› ±¨H×”S òèZ¼ÿ‘æ ÓA ³9¥:à±+D9ؼ“/î~p‡ Ô«Œ=Þj1 ŽÓ)[._Bmº4Wêxü=ªûlfÒÂéáZ3­¿Ý6G§À]]Ëàž½ _8¯X¤ôìŠ-º;qi»rml>k0 ÉÒjE¾7wz‚ììí¦§ImÍw)“ ñúþ_c›¿Ö"£ØJ™6²¼ ‹ ³›K±¨‚©¼’V”ytz¥»¿·º·4(mlß5Ûßô§ç´¿FZ¯Vö§lFK©ƒ–®E1Alœ=%Ûª3XÏàMì¹¼„²EÁƒÍUÚ¾qU Y®òõ;:‡V‰U¦UPó]™´p¾Û@H|pѾ.cqA+ªb¡’TÎiJ‘Lí„)¼*mWî-<áÙ.)½VäG+[7¡§ÉDK¼ªm}ñ>BšË($i-´ÿß¶ '£(‚Â6³ݪ¬Ñ£n¡fWG ñ®UMü´¤‰8všê»ïžsÑrjr<§6°hóñ A_V“^®œ–*¬ŽnŒÐiªÒR€Í&¥å§>7i×÷€¢Õ•av³ñ!•×á´Ä…ã4Õo0Ò'À·mcÓF@€ìÇèê¯à@c{¯¿r2ÌnbQþtGªœ´ŽªV¦8ïQ¡õªhÿ<(T(  ï¶KèÝ Eù3ôlVGõ}ZÕ¨8ØpÍ"ÃìfËB,*›ÀPv¢uOÈÂÌ’ŸxinYE(êž[Ãs&­Z`æŒ(DÝ ´â 6€€È ä/ꎀwÔýŸ_8ž8”   2eËo¡½=z®½²™Ñ-®V@±ŽžíöW ­(Û õò3g¨!(\XG—'J<À:zž+âA@@ ðè¡`D!   gÜ£OM².‚%`š£ ¿nÿÛROv²Yì™ âŒ ]ÿˆã…z Pô2Cò›½èk§4 /êÎÎfõD²T€¹ ¢þ9@  B <^ CM(JÁ<úH÷ÍâT•ö~-ß°¹½îlî×ç»üK·–Ò89Ø8šåæîQg˜ÖìAê?ªœNvEIs9¥Tuf'':;bž¯ËTÕ,2Ì«E8™l¨r𰈟ìä“sXÊJ96Èz…mL œT%ÛÜYíÑ57½ŽCíEÖ°%7S;ˆÖØô ÈÚžé()"mÒn¨µ¥µÝ»Ûõ±+ÙÍef¨It[<4“äÑ;›‡ï>wö̹ý-‰zõX@%Ù©´9—oïìQ¶‹”É–G¸÷h¯ÚÛ0H)éæâæ*-»¼R4Aƒ‰ÁzÍg‚¨¨xÕ~{Qö\BբΜLÄ”–gŸh,7ë!Ë5º»•ŽK"åSÌ­QÉLV¤Él·ÀñÏ94í ¤ £Y&êç¶jM4±}·ö„)^ßW[‹²ã!·‡ÑüSðì8¶¶!mØZ{q¶=Ó ÃF!}¼’öS{ÅËÆ(ò¬õC]| Ü0O¸µ– ³§Œf¶#€&ùoÓÐ @}EW?B±úŽ®Xg¯˜¦++UØ%®h¨ÇîV,Œ‰?ö?›ˆ­©ŽÓ’]ª­&¨|ý†Öƒ=}§-‚FG•–ºjQÔʸ24¢ŽÇ¶\ŽB¥:kš8æÒUßg{‚ Ä<€É*pƒ³íj-㜹څU‚¹Yš¾'kGøÚÞ²Ž³g:ŒÆq{];N°†í¿µk½©˜Ú³%Ñ$êݲÃFJØÖ*dý”*·˜ øöè©Ç1Ù”öLO3}ÈŽŒþtr{‰^Ãnõ¤:º#I0‘©ë`j#uÄ dØ®ò›=âl¡ž?Ì£OM¹}ü•£(ì@åÐO$ó+<Ítæ.”Gý-=y wÇŠ®Á3炾$2MÈV,2ôábˆ”2ᚆÒ@ Â|ÏÑ#lCQ©6:2hœø^T–Á¬æÑGºo§ª´÷s­èI¼as{ÝÙܯ?•ó/ÝZJãä`ãh–›»]ÊÖìAB®8ªœNvEIs9¥Tuf'':;bžUÈTÕ,2̧fÚu5úé$Y¡',5Ó \çLéu Uhá¨WD¥°#§ø¹Ñ;VI›¥ž²{w»¥‰V§µÿ±1µ"£Gxô‘Ô“N'⇉i¸œöE±*“Ú³xóÐ!í§ygk:JÊ…L#›G/óß®¤–f˜Ý\fˆEå½R €@½³yøîsgÏœÛß’¨WT’JÛ™s©ñöÎe»H™ly„{êä{(˜Ìn.n®Ò²ËõÓ &ë5ŸmbãEÕ~{Qö\BբΜLÄ”–gŸh´œ‚$Ë5º»•ŽK"åSÌ÷âëãïË:t5ª×ïQ¿Ÿé¨v0ÓÜàœ¨ŸÛª1OlǼ %H&ƒ€€@¡À½Ðj ú‚€€€Œ<:Ú€€xôb¨EØ  ðèh   P àÑ‹¡a€€ð³×Þþaƒ˜ ¥ÀpJ᪔•…¢+$4­B+H Ï8².ÄÂÂb©ð¬£ß‡„b^˜ÀËÂQ‰õ—J ÕºPxóBB².4L!ªÄG»H……)$uD1aå‘403Z˜£gƹA@@ àÑ£QÐ@@2#ž?äh€GF=@ ÈŒ€÷θÏ<ž™äÈ:æÑßyûM93g]‘u- @@@ 3Þ=³ò‘@@@ °Žž Ê  Ù&žmÂ(@@rA=”!@@²M=Û„Q>€€ä‚3È’üz„}?Ñ“Tbk”3s”®A5ò‘l9Ð=j5¼ÿÙ%š½uÊ1.CB&¡,<éøÍIA@ ÐdêÑO ¿®(ï© ‚fîÊ„IÿïhßpR¹²¡ö úcyí¢˜òzO_V”x]%»YùúwpD½)ElyžfºÕü‰¡\q)“9t™DóM¥z%¹ÃŽjy­Z²7~2®¼Þ¼S]ÚOUXVްqø”¢œúu2vm<¦}Ê?¶‡L8ÅfØä¹íô÷’¿vC#ÃU]w­SÃ3kRhú‚€ ©G¯Xt¥:¹ Ô%éëÍU¹ çºRÄ™ÕO›š¸øTX 2+ÇzU—î^fú3~š¹¢r‰’ÜóüÎ=¯ÓLšHŠïÊ’¹Ì¡óøA×àJ‡ ÂõtÑ,?&$(B™zt¥úã]1%±]Ý¡&6séëµbRÈãÃÞ—ˆB«ë4~yeú—ˆÏÓå^¦ô¯ö›ê¯Âl˜—F»” Üäðâ`‹–'%’|#ͳÙwu‰KJ#;eQwiW&|ö®¤(X{t¶뺔%<ÖM+¾ñý|á¹z%mO£met³Wq\åµp£°ùà²í`gÑæc´ÇÍi[Q*ëZù^wu8/†&è|#›%»{™Ò¿ZoÒþ»=l­Úا+ÍS*\â¶‹-øOÚª²-~b#BùÜ*öýÚ:>+/o\Å•ê‰ê¾ÁÖkÕw³áÕ+)o#,#S°­Šƒ€ø'P6>>ùÎÛoúÏ€”   $ù=‚FA%(9ðè%Wå0@@ ( À£eµÂ(’#^rUƒA@Š’›ûÓÖÛî`èŽZ,+¼=ý¢5\|˜þ§üœáb™7w«þv Ý QHr½ñçL·*H  0=úžÁD,–8zö¾êptÓJaež9GŸÁÄ`}ÆN½|ýžžõåîúIãÃÆªäñS<Ùhß^%¦ «ÿŒ-¬ð‘I@@@À?0=º!•O»ÛÅ”û`vgs{CÊ-J¬NOwÇãÉd|Éì¹k»OKl GKN};ÏeÌÝÕ¹ïh÷ÍBÜ,5øLSaM\·®Ïæ~!Ë®b’Þ¾Y^RxàÁn—ª‰>ÿ¶h]×:4Âç姆oh[<8Â:u\Y[C†ÂêôÝj~ІhkDOVO á’ŒVòfKw§}æšòßv@@ J²ãÑÉÂd|¸ŽO¬÷·$„N-Jhwꥑùy 1Ë?³§qžœRy%Ÿø´Wß NÜ×ôÄ™‡nmY|€ß9°„œînX­ìçâΞé¨Õõ1ÅRõ1IoZÈ¥“”x/ähçЪövÏn—suV,RzúÈ‹ŸQVT¯¬Úsˆ8ô÷vVU2ëÊŸêÛ¿¸y'n64Õ@C´9bhHŒ˜ª³•Œ„¼ÕÒ E©éB ¬yôX¢Iß+rO£(±5µ"Ø]½2® ˆtz×èÈ Ò¹JLÁinJ>ž<=»Ãª;î«=Ô£h ¨Ò­ÿµëcßTFR4+Êk×Äv<˦év»(rpö‰FYŸr)ã S¦²\)_¤°G‘£-u‚Œ>™®ïTŽŠÉ¼vÙ 4‹6'Óõ7å­äS,µ[”^¥ €€@^ dÍ£gÉ*æeù"´¾¸Î¦¹4m]ÖÁ¾¬ìÍpk^¸jÓs=œ:^U·Œ¦àµk•‘ÑÑaš¯ w^µ·aPÝ >ô˜¥§è[³´3ú–€„  $Þÿl‚æëäÖLÇÔ5`"¤Ý”ÁâAæ¶õå,ößiÞ÷>º»-½“_ÿYWlhD©iP¬ \Ø }Ä$Û,Ý$…¶¶%[WÊwüYö±§ˆYFKénZÄ7•W*=ñ‡ù":»4¡¬p=ŸPÀn T–loŸs«…¸gt²4‚ *€$¦G_Ëà´¯Íá×k|Ë‹“×+h·yùú´8Íï´/V'©åë7´²pºegœžqöC‹Ït0¿º¬ƒï{7¶Â‘·l¹Žÿ÷ºžµÛËÙR±ž ½OF%EæG5é|¿˜YÊZ¤ï yvà‹–Ò“Šö¸P±PI‹èLÖˆÌüòTå’—uÐ|•™¡ {L±’—XØ.dˆ²ññÉwÞ~3ëjÑD6®ìðüÙXÖõÐDMŸì^:–f!JB æ½ì…Ž   Pœr5G/Nz° @@¢Bsô¨ÔôLÀ£gByA@@ *àÑ£RÐ@@2!ž =䨀GJM@È„ú…¯rÒÖ2”Œ>*ôal(ê È@Éxtûƒ†-uâ~s7_ÆÃ7·7°SOÚûOw«_R&ì~»:¼ ´ÏÖ2Š/ÒyŒ~ˆ»ø«~&ºžWÊåRŠÓÝqqàÍܵüÀ˜¾võ@Mn†5Žì àA oÒ5H'«Wu‡úÝÒÅ´ÕÔk´¬~ZZsóæ~gnðt|bJ±t™¹³H¢å¶qMºY7¡ÿì¡Ræ¹a¦U4J%:´nŽÐ ä•@Éxtã75ê^Þø„˜‚œ£ãËvò¸brhQ‚þÛ’¨oSÄ—í)½t^c[K¢—'¦“I[ïnTF•×!;ûu¿ùt: öø!tpMOœ.„25H. IìÔ¸Ÿ:ìi¢³ÚâÃuÚ_S•ÉkÃðâ%Г\\ioØNM1µk\FI˱õ;Sƒoµu~€rj'Rï¥ÃÅŠ€ª=yë¡Æ±„¾ãlÊŒîn¥SE$c ?ä•@Éxt{xMŸ Ôw*GG˜s–W,Œé_ìuS½2¾ƒ!û{;ãuü|UŠÈ}BêÚc‰&ó™ê£#ƒ ;+–ÍQØÉ³|Ðf§’•!®‡éÒK ­òÚP ¼„ÄVØ­ujŠ. XZ޽ßé²ì„îØ;‘v§¼vMŒwFZS3:Zl1ήLyeëÑ,T G2J¨ÀÔè(ž‚ž†•ª½ ƒæ ´ÏÊYV×ÚÙÛ?л£¥Îì­}æö¹nç³4$,¨JîíË<‚LÞÎ^Žg¿Ké §Ž‹àv+³D’¢,ë`ô•½¾¦øÁŠFjHƒ@©ztÓäx´oo Q£º)1X¿z°óÕ¡³9‡|]ÑTlŒ‹ï”ì2âGa|}º#¦ï¸@ š:•æ*ã÷ ýíþ~bnÀLíeòr´Fnéw¢ÁÛ;M¸S LiX ­+íÏÕþ{¨#]­Z”4=£¨÷Gw·ÓÚ?óë?ëŠÙlù¨;È,q¥êÑË×oXÂvŸQ¼uxq°€vyMClECí<ϦÓA+ôUfË:éi@Ýé¦nóÑøiw±ØTOºµ²à¼Ø‡ rL€–ºÙµöƒÏUŠÄk*Ù°ö7I9Ò~§7øîr[Y¦w"¶PÅô4Kh »ƒ¯|¥\¾{¨lùúšùÖÁÁPF½_^©´\Ç7ú]׳v»û®šW"Ä•&œ¼Þé'¶Û å'm4¿+;B)*¸È™Èe¦~×»òœÔ…§˜bÍòƒ@N ”ê=ÈlO\ŸLãÈ2~í×›ì'ò~ܹصŠšåzAñÑ$€9z4ëZ€€@0˜£ã…Ô   MðèѬh  ÁÀ£ã…Ô   MðèѬh  ÁÀ£ã…Ô   MðèѬh  ÁÀ£ã…Ô ~ ˜%õ›é|XJ3 ДOÖÓɘF¥¤ÊZÖÁD¯ìeÏ"ä×Sþ\@Jù—†Ñ!P¨g¯m}ü…è@Œ¸&÷Ür½§†ÑäéGsOÓ 7h¥v «QÜþöÍJÓÂãʱNœ¤žPZõÅý”³Ì-®´Ï^ ç$rñôLÊž5Æ=½ú¥rçìÕÊþ3úz¾ñ@ ›¦3WGQz OɘZòúr³ RåuÐf+„&™¬ö¾šŽÆyŠB{Ú”¶5Ã#¦ÿ&lš;Át‚`Ò'`n¤äŠ@{ô-·Þ+J,gËcÏùñ‹äÑ£ÆÓ§æ\7E§:wêU³Z÷ka^\êÑ)$®¦kÑÔ鸞ÅäïOµÏ]µƒý=ÖÚ¢]¨>PÉR¿«NO" ›âËïtþ:•ëüÙžÚCkÍuœ"‚î;)oöè)i,O*"ê `J²‘ÏÎ4¡E}ËÉÓ[/.L6—¿Þ`Ñ5Â7½È€O¿˜þ‹7&^ÿMٻ››(#î““S““SLMMñÿ^0959>9õ᫦/xÿ Ÿšyý¥y)î­°lô£¼Ÿ4…e5´-XG/Š*|5ÉϹ´lÎeÓé3wû¼çòéï½ü’¹—]tÅe3èC÷/ŸuÑìKfœ8}¾ðÍ…¥C€"öêÇÔŸØôP ØÊטJñ(¤ˆÀ£QeFÛš¿;®Ðœ|b¢lbL¡Ïùñ²±‰©±ñ©‰1ºS61¡ŒO0Ê.d3x\EK  _"Q^ld³~<_¤ víå{mÝP8’xô¢ªÎ(CÁvú¼;Q6N^œØ51õî˜òÛ±2ú¼KN}’ùò „Ç  ˆ@><ºxÕQ 5ݺ§L\÷’$ÓÿJ Ví:šT  ‘"¾G7ykú%ec6¯C÷Ô*}l²÷ê£Gj¥>]ÙÈÿN×ÛægS”íJ€vÃ+Z§‰øÔ䔸(eü¿ü¢mqüßðÛ$j@J@ø£gƒ¢½hbôPÂßë”Íë™mo¬aæ¯XWwä&ááÀ>¹kÕª{îY%BôLjq|g»Â½öTÇÖÊ.(£ÏÙwØþö)eê¯:ïŸTÊè }ü—‰”  :ð=zíZ¥§†x긲¶F¼ÂrÊ‚n޽ëßmð# üMôç/XÚ{LæÑ·Õò I?dëì|€î|ƒ;uú"þÅ  ˆ@ø½¼rqr˜…Úû{;«*Ù»$‡Èu vÊ‚?;k¶ª!÷¾¥·ß™‘Gò'¯xRÕ­[1ŸB×Öé_B²ílúŠ(iÛvæÈþ+ö/]wþé½!I@1  PŠÂ÷èìô‚t4òé‘£-uâ]ŒöC¤¨Ó>eA”vòÄ‘ºkÉ9\äšJ±‚£c³ºT>É®mªóN]wçSeSôû5ñÂ\ à‹€éPÑ,oÚ±©cßäò¶__tYðèʲºÖ¡‘þC=KV2‡è€à‡%ܸqÛ3‡¸C?ødïÒÌ£³e_mÜ¡{ÔoÆŸQûù!@;à&¦ÔÏ´ ʾ²q“®ÇÝm÷^4]ý­£OæGCHÍ µ¦×³ØÎJÏ‹F2¡î®Ž<2UâŠdã+Õu‹›ëãUuËT¸ÚÁ‚£}{µ—9󿈳Éé‹ût†`2¾“4_^ëè5[û¾N~ÕíKû¶Ö¤VçükˆUtùŸK¼ösjþÄmk§×ÇŸ{7²ðûŸnØôÖ¸BŸñ2þ™T°Ý=§“waúsü õÕ¼+@ ÐdÅ£ócƒµ{ùú KâKøcxëðbã$D:-±sHœd¬Ý_ÖA]º^{Ÿ¢ß߬ë+åš?ŸÛ)ówu!Ýîî ­²r¨/1¿õ³IW úéßÇ?äÝÙ¦ö©{øL}ú´2úÐÖwrùäô±Ý=]ÆžïÔñä’JvʈÞ÷MõîvudPçñúZ^Ê+Wƒì®U±,ìlr~ôûbÛÌ{º;N§­³qlm÷icQmúëÎãTJ_Šª^-P¿€dÇ£³ó}ÕC‰Eu‡ú~Ä=÷í¡—#j¯QÔwÌ©÷Ù4}ýýeŠâ5Šì^yX@- ª‚@@ÜS²ŸÃÔu5i½”2’ñá:>ŒìoIl§÷SÑ.ÚxÕ~û‰éÁv×Vñ0!Å«Z•^æÒG‡•…’ͼó‰%°ƒÑRE›þÚ´PIU5 $ dÉ£g ²/š£Ó‡b&ãcŠøŒÑÔiJ®¿p†ÈÆ~ Ž«tQ÷5=q‡·IÆMb›mÅBç£]´ú3¨€»kÙŽŸQåÔð⺦…ƒ½¬X °òiÖ.2:•£”Ät9‰Ö“¤¨Z:õK#@=•P*Ðw:¥…\8ÍÂ7¼³‹BñSç§X@ž¾Ðýqñ>9xôÒh)V²4êÞšôí²»¶b‘2|j ÷èŠòš†£ÏöŸ:ÎvÿÚÌ›¾¢È á€GŸ)J”øHå4e쩱·'ÆÞÕ?Sçé¿çËÄgâü´‰óLŒ-.Ÿ†¥H ÿÙDŒ½S÷ÌÚY0߯¾›Ò²ß6àîÚòÚ5Êö‡Ù‹°æÑ«±z{•EL¼¢H7óŠ§ 'Ñ™?‹”b•Ãæ À£‡ Å9¸úCÕ}겕Ÿ}ÃÇgéúïMŸ¸T|VbæšOÍúOŸž½èC—c 0ÖÑ•|ŸmϬƲŽý‹›«lûmiO Ýµå•JRi¨å/ªTG²·VK7óÒÍÖNÚÉ»¶»\"Zÿ+߇ òE€Ϙ|çí7ó%>m¹[!í¼¥–ñž[®÷49š<ýhîi€€@‰(T^"Õ3A@@À'DÝ}‚B2ˆ4xôHW”ŸàÑ}‚B2ˆ4xôHW”ŸàÑ}‚B2ˆ4xôHW”ŸàÑ}‚B2ˆ4xôHW”ˆ.óÁ¯BKûèjÍŠÁ gåkÎ^”OâêÛñ…Éh¯:¾A¤\Óמ!ìDZÓy¬U­J/SqtXaǹÚÄ™Um¯ŠWí"1V²é¯M ;ŠŒé¢ðIÝ'($p&K4‰à{ÅBîäŒ#Æ•ê•qeh„-àªnJ Š'qéÓâúNåè»/Ž0'qú–ldPagž²Ù}M]È"ùRq†ªå´–_å`߇ òEsô|‘‡Ü’&@ýйxç·ÎŸ{bb|rrrjŠ>S““Ä…¾ˆ''Ç/¿üÊY³®xíµW>ð«£5Gw©@ËT»¤+ƃ@. `ŽžKÚäÎg̸ø¢‹.½è¢Kø¿—^rÉìK.™EŸ‹/žyñÅ—Ò¿gϾAy(%Ø€€;xt´ÈmvN³qv©Ór6_gós1S×»ï”G/_¿GÝ—7¶ %H½+&G…Û)ÌNî¿UNÿÕ==)ZVVFÿ޽¥¡€@T À£Gµf W àîÜ2ùåcb²®}T ããã%À&‚dD=#|È Áv`'wNÿž8q‚þÕ7ljòÉñg,€9xô"¯`˜e<ÞÎ|9…Ö…;׉#ºSw(&eC €@À£G¡ C‰Ð'âÇŽ W_}µø22òªpêæýq%Š fƒø#îR@‡­ÏÎ-º†&ë ,0;u¾ Îœ{ä£H¢"^TÕ c û•9rR›þÕBëSW]5Ÿîп%lWXp†¥aXåDUVTË·ˆÈ £Pxô,Fñ àL@ýúÔäÂ… …óÖ—Õ…;ÏcÔ}­z¹éTr»!ÙÕ#ϵ3Ñ™oŠÍ~óÊ–VÍs#%sZ…¢§°T?C/í'sæAJ€GB iA lºÛÖ¼»eá\¼j&l™þÊã'—«§’;œFꯠ4RÍkìÑ ×ÔH=C=R‘¥´ ´³zDÞW5ìñŽÿâ`^õ+ ’€x“Œþ†í {»»þSumg{ÏL^/:sL›(³©ÏÍÝ£§»ãâ°~ߘÑŸøô¨aww;M¯7÷ßÙl»½ŸOŸºoÖ¦à<½÷Å&î"/?¡õæî~±¹½A=—EýSŠêDÍA„£Îºž&ù),}Ì"à “ÕüÄóVÿnš)ê‡ÇX˱’ÔQ˜ª†XB&Cq&!ÈA™”F“9vt©•bÖs Íê0•™ª¿U§’z?Õ(³Ò‹ùq÷t-ëèX¦µÃä0Dx7Ü\¦€GÏ%mÈ 9sÞG/ƒ£ÏùóïÐglì<}?Ožž;{zyÜØe—½‡ò̘qQ®Ù釧ѠÏ;ÖLiy¤_¡a]N:¯1‘ˆñ9ôžÆÑvv.ª˜X¯é‰s“Œ×Ñv‚ªöý̹ý-‰íì¯åO¨:Êlç€ëæ5¶µ$zyÊþg­w7VP±C‹\([OnŒ¦e65œ‹vÖY×ÓdcÓB›$.^µŸ)p”N–k—Za¤97˜PSÉȤ4²ƒàŒË`h3mtwkËâœù%ÇO1Û=•1W =!±“gE-tTûAg®ñe™VGªþ)ú8¶IË1·4ƒÝ²:~²ß,£^Bá£Ùæ6 6{ö\:Qíýï_ }*õïtŸ>úÐ5—]öÞãÇBßsMÎu/iWOD½®gív:ÜrŽ *|ô¤;e•Œ¢ÄMú9åú÷Š…ªWÓg„õÊÑ_³ôê•ñÏÒT¸¿·3^ǧ\±5ìüSºèOÊÐH¿L zɼê›Îºžf;S¬ «µ;åµkb\·ÔË”Æø“†Síê)í„Ë+«s6¯î¸¯Ú2æJ=Ô£˜*HZƒîm.½êÐËLÕߪ%sj!öûæ–fÒ¹ºƒ?¯Ô=Ëš%ùõ“Ñë^é%Ý‹þÙ!pÅ¿sìØ?½øâ÷žþÀ¸w``íó÷ÿøOÿìg‡>øÁœ»s“Ë+;°¬»óy¹ËEƒ²¾Æ©Ï\½9³YWoÿ@:'Ô”Ø[=YŠSÇ“ée´çJÕvY›^¯ìeR§Ô˜F†ÕᪿS I£åTßGëèâYÐr…("çl&†GÏ&]” .&'ç}àêk¯ùØÒªOýÇ,ÿèGc×ìs×__÷‰O¬úÄ'êéó©OÕò“u¿û»Ÿ¹ä’K/Èû2:3d ½^9@›ŒZÚŒ•o1§ùV2¾S2Eu¶_›^öíõï󪛃õ«;ïHu臧«ej¨«þMüê,l´_&«™­+ùú‚šXµ‹&²É½}~Bº¦°ÍCÛ în§í ´rög]±¡ŰÝQ³ å5 Š©Êü× ‰FºÕ¡.ó[õ·êCª:µ÷–£Ó£/z¼0V¤˜œ¶ˆkð讨y$`^Ggûàh-»Òä{Y­|WñA¹|ý¾T¹¶»œVÙëÕ=Gúþ/Gõ)ã¶¥ŽÂ¡­Ã‹Õ8¼ciPŽ­h¨Õ›u%éQƒ- °Å~ÿjøJ¬ÛÈwÆY/CÜZÒ¦½Wê„Ù.K[p²Ñ INZzÙL+¯TZ®ãÛôÄ:ˆeÌ%³EqU{¿?t)zfR©ú[õ9åÐBü·Òíèju÷%„Ô<Âá§Åæ6MÙøøä;o¿™[¡ù‘¶õñ¶ÜzC~dC*X ¼qæµéÓ.bï . ÷Ä±ë‚ é›Rv!Ý ½ëùÞ|ãß®˜û-=wÏ-×—4Ëþͳ¶/<*ÖõiWvÐAì¤|ïÊsê¦ë¢¨Æ‚®Ž¢¨#0G/ÆZ…M P¤Øž¸6îÎ çê×~ð6‹ …äÎß¶9ýΰ«£pN:šbŽž5ä `Žž!@d°À­@@Š@¨¿cÙ›…äôç÷ïëç¤q´€·*H  E@ L®á`‡²ß/Šþ¤—ôô—÷ï‹Sü-à|*CÔL¢%¯6ôŽqÀŒËxU´ÐaX±Ó£W©¯/ž×ØC'*jçú$–Æû÷©äÀG øÔÉ@µêùÙdË k³íônò¸ìöð/zSýP×`Àñ*[V‡oJ,5azô¦N¥Yœ‹l¾RÎ-b§¨§ç4xžÜàçh¬£—Z†½Ù$°‡ÍÙs³×Yj!ëÀgì¨uõüuú¾'åàðP$²#DWÖ+èB1…)0=:-„]»Wœ¾@g$+kkÊ%çÆéê9 ¾Þ¿ŸÖÑEZs0 rJ€OL»µš¶³sZNwÇé(tvà ›@ë«fìXþÒu5ýæ~I^ÛNXocØÄË¥‹^Pzsw?‰ØÜ.ÖøfkJQƒÒ:?å·³m¹üXwm®É 5,‘ºc7Åjoµ‘rGoÍkH@Á¼V? …­‹Å«öŸé Cõó9Œ³RÈÅ>['¦òâfBiÕÓKóê,Äù%M#’cWRÎbÑO:ѳ°CÖŸh¤I6Ýa'½ÒaáV5è·²êŠO–r™­c‡¾TîdçË1Ùoq‡ï¶œª¢K/¸bÐñJ†@˜sô’CA $ ÄMâXr±SÕ|±ð5ŸìŠù®XkÓÓ›¿ëyí;a=¡ÒYã;ž¥Y:; ¤nK®ÿ¾†þ¤ ôËÔð¿[Ö´c·¼vMŒË2fíõÊÑ?{Ú %ðèY‹bA ÄÚ¦šÞNXeY]kgoÿ@:ñla¿©áYEiêéY.€@VÀ£g+ R! ¦ãl¯k|§ºÈíÏtϰ²bª›ƒõ«;ïHuèýÏ&¨Àj™þwËš¬`;v[W2)R=µ ¿þLE*Èxô†(D´vÎ÷¾9üz6´¶²`ûÚîòŽAòµê&5ïßvûÚ +F?x‰­h¨§þïËc¡~ZDg¯—^LT Fö%-‹ÙYæR= «³ñƒºBl&Ð9*°3.*5=JŠ@Á쌋Z­è›òH1ìP‹Zí@Ÿ|À=ß5ù ¾ °=qmúá¾³!!”xôÒ¨gX=—̼læeï™9ëŠKgιäÒË/¾xÖŒ‹fΘqñ´iM›6ƒ>\0½¬lšøLNEÏ€|hTÝÁ>'.ä˜*€Ì(€Grí@·b&pá…Óßyç­ßüæßßxã—¿þõkÿþïÿúúë§õ«“ôùå/_¥Ï/~1òóŸŸ;÷Qx÷Ýß3 Ø xô0(¢ H‹ÀùóoÓ¤ü¢‹.½è¢Kø¿—^rÉìK.™EŸ‹/žyñÅ—Ò¿gÏ2N)Ó’€L %D½„*¦FÀÄÄøäää”v) }£âûWWøÝwáÑ£V{Ð"G=rU…J‡óÞ“ôáþ[uáô_ÝÓв²2úwlìÝÒÁKAÒ#ž7äpwn™‹S¡|j®T)ããã!ÈC EM½¨«Ææ¼šŽqw®œ81¢ywvŸ˜AòJ=¯ø!¼´ ðx»êÎ_~ùÛ)ÆNw„;ÿŠ‹bò¥ Öƒx€G÷f„ %bïÛ5×\+Êå•Wèß‘‘WÅ++¯{æ²$Å‚xô"«P˜SHô]î‹]cvêÂk–¿^H5 ]A /àÑó‚BA@`¿Rßt§N߯ºj¾æìlGSðKÝ/)¤Ð èn[üzmáÂ…$bÁ‚Jñ‹5ñ{6DÝCÇŽA X À£kÍ®  »má¼,X`váâU3…a ´È7xô|×ä—0ñ&ý 3Úzo{íŒþ:9NˆÍÚq€€ xt4È9sÞG/ƒ£ÏùóïÐglì<}?Ožž;{zyÜØe—½‡ô›1㢼i Á B½@* jÓ§Íž=÷¸úýï_ }*õïtŸ>úÐ5—]öÞãÇBß‹ ™@Ùøøä;o¿r©‘,nëã/l¹õ†Hª¥JŽÀg^›>ã’ý×á·Þú MÇéUq²õò² .¸ðÒKg-\ø{o¿}î=ïùÀ–Çž»ç–ëK ðGÝ'¤€G@%@ˆ.ÒòèÑ­hþ`ŽîR@)(!^ŠÕ ›A@J†vÆ•LUÃP¢&^ÔÕ ã@@J†3»›+!rG ’€R.ùÛ¢<^@0)Ô† Á V-m5µ"-bŸVé“òûˆA«¢-"(RÅTÀGLlÁ ¶RÿÚ*`!7@Ü6ÙìîÌüß9gfvv7›ë&ÙÝùŽc˜=s®ïœw¾ï|ç&46|C˜ûÝ“ßý„"{­ Xà§âŽ¥¾?%1qô>ÖB¬â‘à¯`±(’B<2E""«‰~ £š× .óÖ×\16¸—|iá¿¥âòF—Hb¬ÔxèåfÔ³)„XY`+q+¤ålÎà¯_Ýrµžš 8éGÕ4üÈ+…Äø~qbl „# H‰ge°°Ô€³Áœ¬3ÙÄï° |Ì€ ¶@Ž&’‡ÒGÿ¬%4»ýŸÔ3Â×:HC½äúü©olÜ?žR ì\nMHôØ$[\R¿Ê~ÎáX&‰áÓ¢Wwð“;ø| C?@I厳†ÿô85Ï8âˆ"kœ‚@-ªˆV÷hT<¶œk"5¥£T÷›û%IN,NaàðR4ñ!Ú¬‚h%‚Íj³¶(ŠE¡b×**p+P†sOîC©.ŠDà‡ªÔèÌ‹€ì¢íÁÌNŒ%–D¼J©Ð, nE°¸‰$Én«„q[ˆM•Y°±®+¥&¡j‰b%MNµ3kezµ³™\ª%®øÆwR L œ`!ɽˆƒÞl‹dsJæ N‘=‚Ç  %_ßÌoëŽpd¦ËŠLÁC?p²$ÃOê ¶$îà¡ñ†ù ’HM{Å<˜¢ZܤÑIª*ÏÈÕï“á#‰PGâ’Ôȱ6zÃ8Lã3«DöÈX v/Ȳîà³ÎÏh€˜@KÐURl‚ü³é1…?8bPP‰Ø*Z¿(ªzé‹n 1(8î&¦¦‚\r¼£Ä&ÐûëÉy™ÌH þŠ$ hÎìÛ¼Ðü»‚0-z'X`‹V*xåû2c×ÏsÔíØ(×^”›J‹Sñ¸·‹Z†=Ô­0Vq±Ž/hÚ.§ÇÙÜØÈèÇ6¯Ø™ô§_ÁMœMÄã —råvÒdm´÷­I`¿·¤·¼dZ?•À´ïỎׅ€É«o|é:%è¾Ê Ëo½øÔ ËЂÅ*7ÖI µŠ«…¸\ ³S3öÂè¬n )Î&£¡¶®îŒ-é;/}<òÿG \ë$âEòõ"idZ±G| _œ¢ü³Á«~B˜ú®²¼Ùu@]Î^øöP=ßÜ—9y‹µ6"j)ˆ”aìÕJõ—„˜X!&†•«M°Â $°"Òé‚h!"Ø-`v"ð—…­¶Æ³§G ‰¡‰¸ØÈs^s±,2_ª?3ñËqÃ_0s3,d 1k:3 ñ„\ñ¦lr(c¹èæÜ@gÚïU rc½ìh骴4+N§âlVš›G£ C½õµRÝ7Rc„QšhË`N¶03S “¸r²À °>‘`^d`!2Í[íÙz¹®8,òN®ÞéÕ‹¨ÛÓLþþLþ ƒ “_l:£×%¯ôxåÆZò£¾ß÷r‡¬Ü ;ŠÃ!;%G½\_+7\’ë¾¹éïÉw-aö¢r˜&¨hâ8K?âÊiª[)‡¹ÊžšX±u¨²u¨¼y¿NÜN³Ù*°Ž1¸¬;*¯ Ü”Fï – Wþ2  ¦«¬…C•#”C7!ÃÍ€š@¼<ŸMÊ29í£¦ú¼ceæ ^%p.J]ƒf¯Xq»0_57*--q×LŸáOn—Ý.èôú·>jû?À¿ß¬ùtêí4™Z¼¸‰,–ؘýYíp«ùUmùsâå«ù5ñ§â*kÒhïŒkEžT‹ee6Q ´ FÅï (™c-[ó\âå?¸e—@cÕˆûßWǦ\Ÿ‹ÿù îÛJ!jšxtWÔ8“_m¾_ÅÝ"ƒÕªÅL>÷ðOxØߢ\•%ø›òú¿¸gMÎxð¨Q8¬‘Xbs$U lÌIÒ»Äê<þ®–ìEp¹³»Æ 5œÒæx€šM8ÏáÖºö©¯c®Þ±úÄeÃDk·JE¿Z\OÈ©’?~#§ßã˜1¯hÍ™˜ïB,?ßF ÑÝì±vуÿ~ïô=’Ù }p8ró^°úËÇ*{ç^E$]gà0˜£fÇÒœ@Fì%£†’„rY ‰ƒ‰“"U¤S“*~/lùó¤­7»Æö7„·l|¬ÿ½ÃtÚ͹¯•ÿöþ'èêײ;ëÇ?5øÞáÚÓ× {MÛ)ÒQ”=~ϵüg˲Ûê×’XûŽþÕeÏ"ó÷OõOaLbÅã ©,ÕÊ·/¥½ š ÿï¦G$ÐÀ¾EO#ÀšD:ÀOî`¥µ39úö¨S §Û†¥Ð• Q<0tj³{ÄúÝÆêžž²—* ¢,ZÝäØÅÆyÿ<#\{”Àb¯™_‘SÁ ¦~TÃjAª¯CŠ Za˜ÎuýÓŸ7ÚG»6%oL³Ö˜›ÅØÛ´|Uª³·\䋤Öý¡vó)J.ñ½}‹–ž¥óB€ŠÃW'f?›øeý°kmÑ…åÁ³c+†¯Î^õÂú‡/½HcU‰ûß³ymáÿâÝÀ^²ûñÃW÷{ôXêœeSêTÛùÕÍŠ¿Çß±{Åï}2ÒsìË›HoyXþÐ Ò’]t1›ÚÈ›: 󘼡öoa\G9s¿×tæŽÿD–ˆØ“Aüzè ЮÁÙ@3! 9lý}WÓ`¶4?MÍÌZø®Û.:¹Â:k©zõÕç.MoY"‡•̰f±Âtkæ µ$UOïƒû¦ÅŽoeaÔK šºoÁ#ç@øLè±t Óo–JïmÙG®¼Ëqbd!7]8î~ÿKÞ=AšgL%À˽QvQrqsX€À-tŠH`P’YQ”Ë׽śôÙûfð›a[þEçq‡‰¨+x\¢.A_Nd1–¥®®D„ù ë²°€S˜¬oÊÁ|R¯&õJ,0t¬rNåÿ‡-‰bN„{X!e¼4ž 4èÍ:Ÿ}cS8t rqs®j §&ñÛ?WA¡åóÏÂ/ǾúI{"f¾˜øÀKEÀKc¦áAü‡á/Ì”¥ËŸy“·ù³‹fÂÃs÷^÷BBÿaoœ`ö%˜ Aü²~2 D%°Wqfr’ºà9g/ßRGuÐaD8 "÷ )£ã›–8  ³½´0FúáÄ9ÀĪø^^fªƒ zH£õÛ'…Òå*2螇¦Ê3–7Ýÿ›ÃÿùÍŒ¬åŽI#ôòùe&?iŸ/3#à3…}˨(æ}IX¨ J`Ð¥/v'oÌ_-º™ѱ"åüO¾Í=‡î<ú³ÈÙËUh|03 LÎtèWc,)fª5°WݘþÇŒX%ä ‚g½õØ<:7söÒ3ï“qkJ†´¬³”ÀRDƒ~ ²4ÿ'¹bꞣÓ][²à‰áÒ‚iƒ„úgÂ*ïù úØS—ߟNI©/\ 3¾×üzŒR(î[÷QÙ??ÖV(ÓÌéã}˜ Ð7vƒµ¥ï  ƒ3C|È€ÏT‹YÈ7œƒA`'¬79Ü´ÿÊÞûf±• ÌRÅúÆçï¼ üï¾Lz`‹,à0ï³i0ÌfD dôgdÔeä²x’d!±`}¥Ô DçÇ1%e|9wÂ5÷{& ÈqË+;tA&eÿÜ™p!nßó–oÒ]·æ€¥L>·;áÃC4Ê€LWæTãê~˧ŜԂ‘‹qvo,xd« ò´G]ÃüSpë BvYù®D°Æûë˘ۚ'Óz¢ +dØ~ Ž€Ž[c¨¼srúKò!¾l=k’¨`S›™,(`¬r žЙéêB ¹ËåiqÕ7IG”yGe!«>¤F`¿$§>qàOIÚ N`!.įBwœ¤?`]†À’Í$³BØîØ.` Ó< ›c)lÙ:DÀäø|È4+/YŽ^Ÿlé×_ŒïG×$Áb#`^ªöÒ#‘ڜÌÀ xÝ.Ë]×,m$ ¾T„[‰ÛCêÜÄõ©ù¯?qªBÇÒŽ±…îªÃøÉ;ž¦ß’à6ù›ÃO˜É€^ý@Ÿ~R8{÷$åÒy˜|aa+ ©"L“`4$0,z€Ù” ‡%þˆ±ÇíqKu.åÜÀÑy*}\uЇÀtå¡öAS© B¬Ñt¢Ætß-¯(”ÀØv±í"ÿ®Â÷]×üøM'þ±äŽº¯NÇØ@Ë…¡^¶²aÆ'Xº+Á~ëÀ^úÁtÓ,ø)» S<|ôŒçw­´ùÓ»¢Wk@.K¤}`m×Z ÝNšu—cA/Ñ•@«jIŸWmTªÙfÖêp³¹ß¡dX;fn$Ì]{UmÖ¬@ÜŠ¬H?›æya‘¶]Ç:sQZµÍñ’]p;aà ÖÚ‡À¢“¢ÕùlL˜mii‰Ñ:´|=±êbØ’aûÚÑ _t˜«c…ŠæP¾ËA£¹¦­ÖÍôÛ’ø&°B^Ã2ÌÖæ>ðƒŸ4€¶›qÙ58+t¾$˜¬! ÿ@§×Ïñ>°—Àðø2Bê/€¸…¹Ü2%ÛØª%ªK«9(TDƒ Ö)Í÷ 1¸€¥¦kºXa@ Åô¦c=ân +âÞúCØ8Šá§þÙ†ƒå9ß.’™Ì‚ÁL,)¡5;/QºÒÿõ?­·G¯Íï ¼~ƒ-˜š Lm‡÷_ÀnÊ&у-À9€4xˆõ4µBÇN9–|íàúó—N­8’Å”¸c¥ðG`ð|‘œù”Ô×tdÿìXBDÐ@c[@"$p¿<,:"`òƒl± ‘‰=‡¥ŠŽ82ß–` ±! Œ€èwüBW‹Ž˜!nòÑþ7 ‰ÊqàuoW™ï…b£ _Í}èZqƒó¬¤òÒt!Ê ü»{nŽª÷‰•1¿Ûü·v Œ}`3µ¬kÔ!ë}{pÎfÔÁ…BÂ6ã%pؼ,"ÐyÀÇ c aƒ@W \S¼àŽâš°©F˜¤l™ Ì~±’–’Þ2·¬,Ì Å‹Ú'ð‚aã{¯'>ô£®)˜\ùâì®ó (»†ðƒ«Ê–e;,V*6Êìz’‘в°Œ½‚@û&™«?=W~A½–OKÉ{ãµ¼”^)\¨2þ©bO“ƒÄà¥úy}TYiÈ=õÞ’ì=Dà“öŠ©®_Q²x<çïžµÙô.uf^Ö¡L&£CºŽ@ì—¸È=½mÙJ»}åäaãl‡ýŠ5q¿ ÔkrÛ*àO|¨'âõ¤‚½8Jj¶çkB^øDá<Àémê KÂ/ ՇŠî€Tê³§ço(£‚0-?IB…L6‚Où ¦"¯xWw.£m$‹|”_]Ö¾¾Š1°wÙXroj+EK›^ZŽîzËŘ €½žqaüÔf " 9òî¢Õ™LD¿qçéÂ)'—rAýIÖîe¬‡l_yüûà³|š1YÕ³üÂÎ{6ìn[¦¯ÝÃr¡%I‹îxã­" žÜ-t¸°M¹b¢}å&Ö§í´ãbDìR{‘[Í‚JïvúÀ+Ò¹"+,*Og=ÞŒ"è s/P˜¹µ û›º´²€ NÅ®Òzw¶Õ…Œ Ë…öÁƒˆùN$‡AM‹èÏ¡™‰•’·ôª9/Ø>rÕ'«äj½åŽC Ônö¯kS_Ûµ,tAYRTTÂI¨{Ù —„…7€¨ð¬{lƒTòëw/AÓ6\¬¸/Bìäòä†FërÂ`«‘@!{sö`=^l+ˆ@Ÿ"Ðæj$©ú€8·´ܧµíTæ†Î+JÂN!‡Ã  #…W±4ˆ"À2BºŽÐ¤›" £ã=b-LŠ@”o©cÒ·ŠÕŽÚÚR‡±¢zO¬hy‰XDÀº©#0ªÐØ8F Á/‹ŽˆlI:Dˆ,TÞ¢ެ׆¥E|@cƒ@"Q`ó9Ð!ˆ@D! ÒÆËû·¹˜¡Ìþ~DTìÖÛï»øõQcQ#¥ä/²÷lÒzôa¤ö ý㱜U©·š&ËåYÊü9]ºÂ¡À ÷*OÊÚ´8Ã|ÈÚLNôüÒ`Ôâ_*Œ9‰ §”ròû5\¹¯¸´4?MK3?möšC*.B:Š@ÇlT¡¹r›’÷jØÌÝsW©ufÖM\ëš±˜«ne®ÎŸÊ|jªÍ9\OYi·Ÿ¬N¹b"õ¡<ŸV¸|šßO^xˆ¥¥2=+ó¹2úQÐÓL“Ƀ¾}®­~vZq^…AÞV–—⓵‰ à¡‘çLß“­µm ìüTÎCú%+ÒõÄèGd|jG_†CZG cn-nJê¸N€êÓ‹™|í**~3þFY 4öûÙ‰„;4+o&ã •‰ðOFvAiñ¾JCTªÐ2å:¨c\…ØGʶ-Ó‚Œ×îa¹Ð’¤Ewèõa àt™À sÉîs/O|¨p›Ÿ"ûQÙ]óŒAÀÚWnâ]VîjŠ ix»ïéÌcùþä bÕ(µ?1­ÕjÐ~r;}àé\‘•§³oFt†¹(Ì܇څýM]Z† ‚S±«´ÞíDû‚Œ Ë…öÁ‹2:ƒ"­!Ð1ûÀ”-`ÄZHv2AºsÜÒ)jw2W’Øþ6dÚg>’« DA/:å òÐLfÄbJøTߟªÚk2t˜ ¯íòÔeIQQ '¡îe/ \Þ¢Â³î± Pɯgܽ»ŒFŒ.B´ Äà2òTHÇ~º3,' ¶ b°g1W`÷± MQ½'VŸ¡Ž#=ŒÀà*Q…îa¤1yD '€c½Ù¡fHàž@ÓDz $p/Ù =€ÈlÑèD "@ ‘¯ pÀØF Á/‹Ž±“&ß0¤þü¥m·îE8D ü¸õöû„'IåÒtÁKàæc¿èXBDZ!ð©õn„@"Áy6.±ï ‰ €3±°Q ‘ŽJàHƒX~S#€6õëÇÊG:^+4±"ý]Ë/É’ÛÙ"ÉØ ·êåqµô\.Ö˜Xž8ßõW,¶¸X‹h1s}/°’ʈÃ0Œ„î¹&Øû);›šDQ\ÿvùû?]×û艇HÈ6fÕÝWCâV[Œ1 ³Õ Ü ,ŒÒlr4<_râøY×âùÓnún”Œð©<;­Ž»d~ºŸ6[}uc8ŒXÚ¢€ì} wêŒï¤y|Šð» £‡<{ÃŽýǬ[ V&«/ "Ñq$$phY.©UAsžñTE‘™“¢à’$éºqà^bÍV_½!Ã…r¡-{ A lYð?eo8ÉÕât¹œÜšå—Ùê‹-_Â4µ(ºzè—HòHOX›­¾T…öÿ”…iSÄbuMöFƒþLë¢@EÚ%p8õ*7Ï™³¹²Ëý—¶ëËQ…î 1"'¼ãÐ_Õ[r’ø5wKÍ¢zëܹ[«y^ûÿGö‡>_­.mÀßLY±Õë‘ý!µ¥âç/wHàÈ!cWJz»sÕ–Üñoæ|á¨sÐëíI¤ÏÝRͦ‹°¼ª¶ÎÍ:üÜuM}Ö<Å6aèb¦P©„,RªVª®TywSò¦ÂÒÔÚ!°ÒÅ»Òl0Nx àåU7oÔÏ?@6<ûãÕ÷ÆÇŽ —Vßxà‘‰ÇÍ£ÎÙ¹0º{Uèž#Hø§ÜÍÞWG¢k}¼½dÞú ¿|ðeµ'ÜÝŽ_Y÷@xÖ•£ \ýrnÒ€$¸~¸Ž9Ië5ë™_Lg}å,Úó·ï"šýyòY÷CeÒ’½{U…ì‡?Ñz¦„Ýûô·;%uâÞ]vÐ'uWuâȬ+¯ñ4ë–Œ…«ÍÛ5éQV=èÚ¢oײ ¬¤Sõrî¤]ó]¬¯¿Xèi «Ÿ~Î%«Ÿ|%³ž>áÕkèáÝÀí±~Ä ºhDÚO¨¯ï[G~ùà+ÕjʬL_ª€NMÛ)•L)?þãºÃ9¹[kB¯·"m¸kõe•J/Ã9/öþ•…Ô =“V ~VÛwïU•aZG†×7%#GYú§ýZ¦´7aø©ëÞ[^_FŠFÒúÖ©#:pç¤,|ãмÝéɃ’é•CÞ¾ðæÂQZ¦Ô¨…oîžô«ïÎU:4 d`ñB¯BÓJ­;pôÓ3x auÎ _¯Ûó0í¡öÊ’àžF&u{Ü0“Ò9òÎjßú¥ÇMçTêÎlõœg%Ut=°¨ ÝÓM¯ïÒg]B¹Ç$a7K'£ÓªÈ ê€k½Õš¨¾£.Näè;zõ|ηêàÆãöDîÕp¹Zà‚Š0ú¶N`³Õ—B{õÑäëéÉ ¸#GϪ÷rhv4^óà[¯?2gìð~²"C‹\ÁÓ{¥évNLúJÀÏãgjúôû'¶Ýßâ¬7¦j¶úÒý’¦óHàn7®°L ÅÙ¼jûO}Ýð£éi׌–eìD¡¨AWQ¾<Û°±äؘ”E‹f7;.ã›­¾^ÇM>ÚŸ„¸ *ìƒJ’Çb±>³ë³×Þ;M{bÝvÓ¸Çï¿Ù"Z __‚Ù꫱Рö\ìRaóFضÂj³XcèFŽA»]J= ’hñÙb.4‰j©È’K»aþ/¨ÓÍM%îÉŒZ&«/8´m SCzï0R¯f‹™!ˆ@¨`ÓIp)Tpb:ˆ@ €îÐ1KD T C…$¦ƒô¹üÓ¸á iý¬Ããa0Iq%µZŠ–õ|š>(#f‰ FçIm5½š.dè›$ŽOj¡Ó+;T°¹ÔLª“Áƒ.‚ –NÀN´¦Áfù·˜EhŸ`Ê… ¥éΧ³åì\q:ßNBÔH:ýÖ;[¯ÖÂ÷ôËítáåÂÁn2Ñ5g@¿@”†N'‚D ø/eÀn¯ 7IEND®B`‚nðW5ÿV¢iÓ¤³kO}²Ô¬Èÿ‰PNG  IHDRˆÀ+ásRGB®Îé pHYsÄÄ•+4ëIDATx^í œÅÝ÷«göb—S¹]Ð(Ñ}ŒIÔGPdWЬˆ Š1 My1æUw£ñ @@DÐ| lØåŒ‘¼Ñ *‡À.‚@`f¹úýWõ1=÷Õ=;ǯlÆÙž:¿Uó›ÿ»ºJ’e™‚4ê_’d§²«Ÿ¶Kê‡Eü}¡åÙ™ÛC¯’Ý.{dæö2›Ùój¹¸éH1>h²–€ä4¹i²qÀÐ{_þmÊ_ThsºYP7§äñsÌÍ—ÐÆ|ÒÏ<9¹dÖvdý­’Ä?R¤UÒÖöƒóøý.J:t,²ñDHQ‹X1Å,bDì"7ÕpÁ«K­ÉH„%a@‚Z°BUÆ áqs}Ó_Ãqkq~Ò$ù”ƒnò8?ùŒ5©}1ßOaI^¥n}òŠKÜùžü¢N ¸+"[(lYÒn2^õ@*ô@2‹]‡+A‘5åOw«v²(PÙlnæÕD"µ©F®¿MKxÆÁ ̶£Íìàþõ¿ãg¹ +]·uéÍì­ÒYÝ蔬i»-?O²å1)?/?¯M–í27\ól2½/f°rR9CÒIÙÃèÅͽ  `¯ÓÏ™™|¦¶‰ò” ¹‚y$ßu·Ôâ‘\²dw1ÇëÊ“IÑ\v–ï!¯€”/ܧ\ã4»’|¤y6&ç±æVÕ¡š'\­-ìä)æì°þÉSšÂÛY—³|õ&×@žM²ÛHmIg•ó\mÃÙë–Ü×ãïÔHžrK xÅÅ¿Wö2YrsA÷z¼ô'?I7œ”@߈ó’ÇMªË=³J4º_ÕæbgZYCýú•$ö ¬w?&5²¢NjâÂ|þFˆ,O/tVýÈ&>R‚R!$¯W&¥Wé:¤š~ÔSM<ãË vî’ž’Jr"¦ (½ª œ¯áФº…IK¢ìÕnÇ‘Åíjæ'î K¡K©¤@.,æïƒVÏÑ'µBUEÁ^I&ç€(‰N(•V„@Ò“€îˆ•„ù¨Hª[ηy2¬ð‘uï{vØKö úéãõ\uÂE:ët1ÉÅZ›™ÛÁNž‘Øo°Îý‚6Ÿ{€56 GRU:£ «R3-J€QžpQ«ì# _¾e_ÓLiQ»ðQÄË”`]ýu…õ Õ;¥¢ðù›Ëæ{Oð6;ä¶VÙí’]N>}ÊÍMTY¸@e§¸·E¾Zg«»µåLçç=¶höÊN//ûŠŸ'…=ÕÊl'Ø×ŸK¬÷[¬oOVRb+ÊóvÖmX®°|Æ+×QñŸ]Àî õÙ­ºÑJgu»Uÿq0…,2Hž€u ¡ni®°üÊÛÆìäPfý‹‹ò•çxj¶½g_Éžç=Óè9}Jv¶1§S“¹„¼ÒC.z#»ô‘ÜÚìvœ>ÕØx8¿Ó·þøa?šóJ6¬ËÆš…õýÈxmbZwVÌ iU^i²‚"¯äö¹(JðDDŠRL y B9E€«ªP?U^EãÅ­%OÓI© P*( É±R^¾”G3UóIèd7:%›Ùh’•«½Š8¶¼ü3Gõí!nSˆWo§âƒ ô”Ä<ôyìÌËÏ«ÞU; §ò–DÖ¦8Z6¬ò™~Ó-§z mw)ôŒ+Ž&¥þ0‘’é•O®úé¬G=#;N{Ï4y§É>•ÛZäÖV¹µEni–g¼ôDAÓ)Oã¼»tT·ºËi®™hïwZ¤Ùïw¸ýÝÙÿëW^"Þä ¸¾Wˆ *²7ÅÁT× àÓ]i±,zÊ@õ±ÒüTùðTߢ÷ÿ—d“i‰+›D“®È€uóÕ®È@VqÉ'sV˜±ôLW~g/é ­ #V‹¡'¿È¯ ùaûÀ³¯ÙŒ›7¢køÓh¼È[y¿·7­Å%œ ^šB«T™2줺};v »ÏqÑù"ŽzÈä$àá"ú¨õ,’r=•>y"0‡¡·õ*eŽõ‹×± ~äØÛ¯Ž±aW}Zôãæûÿ¶—µ\û¤÷ûÎþ~ Åûì'@ˆ‹+dÜj‡Opù./=MàõÐA>V¾Œ õ}±FÿUêûæ'|×.²^~›ŒVhñ¸$¯x°Õ[À$1[ËIÙ–A”‹¹îRнrms/Ö'äIÊ&·Ý<ÛuËDoç|Öß~]§v”]:Ø%åÓÌEb>T´Èá@“uڬͩåùVœ Hå—CY?Ó’‰+ç´l ¿YR.ò¶Ÿ8¦–ÒïªÖNy¬Ó7\ô_DÜ!@¥þ0¯•§¹QÊÁÕOÑY~Çîtñ‡µÈ†%?€ì¥õ]û<÷EmŽL¹VyÓkñ6þÀ‰,s“¶Jn§M±aé9²aÉ%P"TÛV(rW—–%;”®åÅyy.mÿ»&µª¢1Vú^žÎ=Y!9mõs4ÍK•U&VQÁFïiQEãát9L*c;ŽM|bÑuJŸØ0þ• ×ÚÀ"JÄŸ¹@€{·pD Œ®T&öˆ¥•÷鬨ý… XYz¥Çd½ž>ϬPåuÚpúðè¤ÿ¦?¥âνÞÚ'1Z÷Šž¦uIÂW«ª·a}¾af í%-VäUÙ§‹¿¯ú“Ô–?+fg²:îœv¿£ÑN¶jH}dÒÞ£šÂ²<ÙÿðI§:yD©×‰ÞøåPóo;{âƒC¼×Îjžú«O?þÕµ•³—ôÕ²¢çŠKÁ™\#Àýh8@ v~‰‰ßnÌŠ5¶É€6,¹ ú<»RÑ™¯¦ÝÀçcñ)Yò±».UNö\y˜\6E^/AÍ|¥›[¬MàS`5]£E¼…÷€äÕFûxÑu¿0]éNWËߺ»ŸÏk{ξ{ =Ænœ~x»ð‰5=èÌšë5/¿¾Ëyò_[Ù¹CVïê|Ü^I–®á𙽳%ò¼«·“ŸwȬ‘íŸÃ—žÒ—޳k¯kYZ ?b[÷ÜÖºþ¡- ÎŒùã=€@0vqÄ›Øæ×_`+n‘.“àrG77¹¶ÒT-g+Y²ÍÿÊåuʱ싸%ü³ÇîøoýÛ«üOZ–?‰ -0HîSn™ÒF4\R%vÞvvNWÖµëd§ RXÚ5†^Ènµ9>(XS'Ö~QƒtùT÷ ³%ï.ö§å|ª’ÜËóýÉ­%'ŠÖ½hÿO™ó–Ñäð}·xËþi· gÅãòÈö+اEc'Šj}©è£üýÌ{õÃÎ^9¸ô ©¸ÊÉΚ㻧èíeö·µ|›·@ /mƒšò`#¤IÁÚúëpÜùµ‚}C{Ø»t“:t¤í`i…-nÒý.±‹$Ó-§än#·_ÌTØét·9›š=»NË7ïòJ?8Ã\ô”—‹5Ñ4Ô/Ø—ÿ¤ù°±g+ +’+óu ¹ÂÚóH]i±¼Í,Ð5UPSýöè^ZÖˆ²X… @Ò™€Ÿp •ÿhßuU{Çζù [´té™®ü*O̲ñ™$²Ba¹'Áévº[¼»Î°[¿¹ÂR ‘mt1ççìà¿–>%‘åw±øÆÝ´U—øR³þ YdÓ+ê–}ð£ž}}ššˆì¡ßIGî¼D>yŒæØÅ†üBŸÏÙ¢Y±dÃÒ\ôà,Y²™^iæ¬Ûåvyòѳη©^ë`¤ÔºÂ6|è§°|­Ã|î‡%3–Û­dÆÒú.|UDƒÎòÝ}ư ‹±žš‘R@’$è|pÉS·=>tÏß�ñ«CùtOS^m´9—EîõØéY¯ÇF¾X¾O"ýéu’c¶÷y×¾øÎœÚ/¯·‡TØn¬k ÷Ã’`“7מgÏ—ùä²-$ïC×Y%h‹x”eüííÍ)÷Ô@ …<Úâž),Ee>Õ«Ý'rÓDïO®r¿4­c\m;|ÂóèŸ\+¹h™.ÝK^͆ kkåÓ Ô§ÄÜXñp—½@Se‰Y5ˆEºým7ËŸãÊâª"ƒ@òüTN>¿lË¡]öâ5±SÌ®?iimyE›H4C€ǢŠÅÕ9™ô' í@h\#†Ïùc4ñ€â(Mª?¬Oaé㮌5'ƒ•OÖyóÅ\Ü] – s#—L]]sõ-n´ìýWZ̶QŠö€@†h3[¡báPhžÂš^>¥Š®èCa¡ëxå´þ¡äåféO½A$Át† ±²Í¶˜@jK(=Óå)¥°­'¹žòúKh>'òŽâëobA8 `*z´ÑÔü²-3Ó¦MÅÆÄ.±¢þ&V/Jk7vÚÍò‰¹}>*ìWÒåÊîMÇN~ù¼öàW<@@@'Ðý®>ìôQvø#Öt0È™ N  &€ÂšÙ€€@(,€XE kYä  PXŒ°ŠÖ*²È@ °  `®°PY«è"_Ü$@O|¹[ ®¹Ùùh5€@Šðgº:ô+é”ÕÏt=·ª!E8Q €@øù(Út;làÏt9ޱúͬùx®(ì܉7ä@¿£‰ –˜»è½Ø>XËû€ä,(lÎv= `9(¬åˆQ€@Î€Âæl×3V¿ðÆÖ› dVu3ÅjîÒ̺xÊ0±Vñ›¢¸ÙݺA̤b¸ÂÊ´BÂáàò[o_~0áä9›0Â7Í¢/¡ž­EùveÝÌŠ öÓÒØrUylÝœ¢ŠÅV™È±¨ªÊ¯‡$Eú‘J5s3š†NüxÈrmÙÎð—Ó¢ÄY edq(,«˜÷ÑÑÇÕcÖÕýǽõæ¸þ˜.ŠªW®ê¥k -ÂŽ™3…}2³NýP½ÈõE ¶Z´ëaåŠØS$†Œ¹õ §M®©™<@X@¡ê ÎF¨­üª® ª=e(ú…T»uþ@ôþ Y«z¾–˜\ã7HƒèLu…°ñê ¾(5T2âåkîÂÊRŒŒHI’`‡FÖúGy™è&1Z*"dx6 q~Fë¡×gΩ­óí^ƒn}ƒv§Y®¼“_'‚ˆùú£d?¹EÏÄw’›Ælå|c²f&ë Ÿ|äv%¡×Õ7"‹€"Ô3"U„P3yçHÅò˜Qýÿ’‘¡˜"d‹L~ë!«Ù1h¾ˆP1)oxL’Œ³•˜ûÇ-Ÿft_Ò׫‚ÕªÙT•sq)î_°£B‰ÀrK'Í_PYɯ¡ÉZ Q¥ ©¸6*ûNÁçC7AÉÔPô}ƒ‚*æcŠL=_K©©•~ØË«èŒh µ°’FG€ƒÙ æÇ.>ÌHñ(¬PM ZÉÞïΪyÂÈ}ëŽC\¾oºbêþ³òÝ™ÂK[;gÏõtfÖÕFJêÉÇWN|áY­ÿ Tyå…Ó}ÈãÖîþF•ˆ0榼á1? QD,ü+ÜW®èÌ UtS­¢šíØ[OUŽ^*"èoè$¿æ_* dÕ® ë×-gZ¶JL­”Òáã*‘.×XÛà:(Ÿ¤*=¿Œ×k¶0œ´|>dBò‰P±düéZ…}Œrá:Æéqék®_,+:”P^¥þbêÿós&«\í»‘g óXÆ0âdx6ÀK®|ÆV´ør2l÷ ˜ó& J Ÿì?°BùP·LÇ,bŸàÒ\Q9Œ<Aã…*‚¼GÜ—Û‚¾ùºC-Ð ª­b‘馪YÝG”ïµñk­T"Üù$ªG­¢•’xVŠÄFØÀ²ã*+R‡F¶aµb9xºÆQ,mA …`ŒZ!Éëå5£ÿ©¿óTÍ WhbE禘dz®[îïIôJvbêẼ,UføÈ“çÖú"'€fÇX‡ú…3¹s‚¾Öôk ØÛ"„;¡¿Œ6x¸hQkÅ[º|¨FzQ³ S‡òûÈÏB3Ô ˜`ŒeEèP^LD–t\Ÿ€Æ ùAbE ±0–>Ï8¦*¬b®ö?÷âÚ9 „_5î ªd¤nª©8dÜþæ‡ È“|}eüv…i;Ëü=‰Q¹cq‡ê&˜¡Ã=›úG3ë|1¹?6ÜL%áf¤ün\7<Ö:”žÏÔÊ’á=ßç— w>@½hq§+tˆ‰Ly9¯¾HôbÊ*\5ÈÏ¢If,ƒ)޲"th´’è7Uïoÿ®ˆÄSéîÌ£‹Ï3‘_ù¥°w‡.ƒ{6;ùåó®m »UO'¢ÍdOU±_Ы8¿åÑA£ÿÀ*ž^÷ÖпßJþ%/26 q|ù+É• µ÷D<ѽÙç}™ë‘oŒEP>ª ÂQ@kkaå—Lü†Óƒö[1w-#q ÒiA Ö•_63‡X[+F…M‹Æ%T (lBØÚ? ìê‘ú ôÝŽ4ò¤B}Û¿›r­q)¬©^‚\#öZL€¼¡/K°oòjq û¤ @a“Fˆ @@ (,†€XE kYä  ¹r§ =  fˆi™Ü™K`Vä Q ¨;! ……— *.D @a‡d  •6*"D @a‡d  •6*"D @a‡d  •@óaëj7DÍ."Ü2~ʉ¯wk’)5Oz¨€@dÁ ß8[‹+lQïcX½ðìže ú…Í šg aÔr™@€Â„PØæclÿÖ|,…Íe h;€ÄH€Û°šÂÂ#4D¸ @aãF†  #(lŒ  @â&…€€@Œ °1‚B4ˆ›6ndH 1à +ÇÑ@@b! KLâñ`ÃÆB q@@ PØD¨! €ÄB  %ÄD@a¡†4   (l,”@!…M„Ò€€@, °±PBH„WX1m @@À,2“ù“°aÍŠ|@@ c@¬"€=¬"‹|A¬#°ìíõCxn—à²>øçŠòðC? W S2 Î\ݧ«~3k>…µn g«8N›6MÉ}ÅŠU7Ü0ÊãaÊQS³jøpõÏgžypί¦FPØä3‰¬°ðX5/€€udq)É`J&‘ë…M²@ Å‘ÄV9‚Cd 5%“ȇ— ŠH’ÀŸ—½ß·o)e¢h+9èÕëõ{Onßþþÿ<|o¸²LÉ$/fÄ&ÙÝH jä{U’×ï}oÔõ×óƒ<°Tz½îºQü}ä`J&¡‹Àú°Ñàãs4%@øú­-ņ%‹•ŽâbVQqEÇŽü ½FõPZŠFÉ‹‹;tíÊòóUCX÷<ˆ7‰û|á‡MÓ„jD  +¬"¬úAIÎ}·w·W¥ž¯IQűk׮έë7U 'm--`µ—_áýhKAêyP|Q3‰ÜMPX cŒ$`ÃvèÀJJÄý.7{fÊzµÙØôéÓ#´íÒK/ýlʇþWËö'ªëÿçWCZ>þÙÝŒ5ªv€ ° £CBv#@6,Í{U’Ú÷Þ[ÕØx´Ëb©ëB‰´Õív3'ë9_º`ɪxNŸ¢¯ŠÎb] :®y旜ٲú«îϽ¼jÕ{ï¿¿Š”zíÚUëÖ­ª­¥÷ð´[G£`v @ªG·³”ƒîkuêÔ‹[¯÷NøÝÔ;ÚÚÚžPùЯg®(u»âÙ?Ôýéß/êæ8rºà–)ç\võàÁ7”—ó»gô:l? °íÐÁ(@ } è^ºœ§÷.S'{à©Wùԇ㱗jŸÿ>kTdž—ß:òó[˯?‡µ´–œ•×øÖ¶Cõ’¤ÞìRü°â6lûv5JH-ã\EaIüDþúYõ´²O&È{îÛ¡^‡_mðú|úÿŽnÙéf§[F\þ˜<^™Z ÜãR\±ÉþÄAaŸâ.Wõh:vòË磙ÔÉ…´  `%¯¯¦U]‚|9ÿ¢+¿ýÆ·¹sÀþxà‹7Þ4rH¸2÷Üyß‘þÞåg³ºŒydâÝyÎÖ®=qÐ}‚â+«ÆèaÞ£Óc¯¸Xùå8kØD¯PØØ¹!&€D'`TXÌ%ˆÎ 1@@ 1PØÄ¸!€D'…Î1@@ 1qøaëj7$VR€@òÊ+†%ŸI rHðN×Ù=/JAåP€¤9_ïŠPÃ6ÍÛŒê€@:œKÀ— A0€*ª¸ÓeQd  °  `(¬Ud‘/€ıâc¿­/ÈeS&ýˆšß£WŸÄ®c¬a³º.AQï÷ŒºòK2³µ~1ýž§~ÿJ.wL»´=;°gG+Úe Ps ÐP´Vaw~R—X_^ø'RØ„“'V(ReöìhFc ¡¯Â›ýŽ&€¤)®°2-ê  `6ذfE~   €Âb,€€€UrOa¯¾çÒŠ{Võåg^üÐ*Âé™ïÇU—V|S9¦®>dus‘°ÕLõü¾=µâ›O}PÞ‡O…8©ÆAw¤¬sË=…p7Ï]™c’jSü ö [Xûùv~¬½aÃ+~`Œ_ã¾#_Ù>õÊë\*ª×-“ƳÅøç7,f‡^–KÒ´­¹©°ãçÍÝ÷ŠÑŒMÓÞ±¢ZGßþM5›ûæÌ+ÔÌû}rÉÝKï 2‚¬(yZBàŠ«&²¥¶òÞöÁ"6~˜ÖÅ–ŠLc#œÂŠ+nq±9ëíâ@:3õÅ*ºl±Â,Š­I±Äê?ö—•ï…2c·½¨^;S£Ñ¶ØÛ+f)ç«¶±C†÷†Ë.±T¢]âþgÍÖñ÷Œíe,üÊ¡šÔذ èè@nWUVofKïR†Ñž 9f „ý8í‚(ó ½lØÝlÑ&1\EøpÓÒkæŽQ/‚‡´/°_4_Ype“t©1WØDW/äߢ •‹Í…çTjݳu)›D'Óüª®­XáöqÕ¤¥Õ‘輡þl°¥5ì—¢™ãMª˜«¿_¨x0‰Ã†Êš éÒÅ1Ô£_ÿk|±–Ω¿ƒ7¶fÆîIÊg˜ú::˜Ûe3kf\ÃÆ/Ùþä-}3f „sÚC_…ŒâûrÃâ+*¯R~Dà é%eþxN£™éø Xþ/ öð¡Ýú•¿NÙwP1cÙû™YU«òºb̼ݺ†*…\6s{­zùÌ[¤m¼r%2¼ßz+,]‘ v•¢#”çÿë5«jŸh¾‡nŽ’ôŠy·_Æ£ôyÏÝÛj>8¾zG‡ãTRø1£*‚ŸÖ'ÚÆLgxÆvH‡g”Yã9íû: …¥ïêþš–ö8dÛ>õžôÀþ~fKÚ2èuËÿ «yóc¿úù®\äûÀØ¢P­ÛZ=Bõ–Ü>gkÚ¶WT,¤„ùÉnì 4Ä Í-EÆ™´íÜ^WÝp…â(à.‚.÷91v±e4žÓ¶C´Š%¡°ô]UŒ8¾Ú·5CLWc—™Æ¬ú@;EcQ¿Þßþ´Á†ÖCf¬÷å•C¿‰-Y{|Þ÷òÊ!KîòÑw’Ý}•v¯_¿1T/rcç–c¦=:-–2û]5ìšQpxõ+‹ ~öØ»ÆXFçXдkœ$¶o¿ õ;˜üÞe¦˜®~¼¯¼}Æî¹tOFnÊ©­øð)£ ±‹ÈŸ°uꇄæ™j7ýÚµ_ÃN–û 6÷vºe§6zŬ»_ò‹Ë´$Ûæ(v=ÿ® —HÔ†å$ÖY1fÒ´c•ßÎßlØìû±Œ6¤ Ýqèƒ ê· jw§iûÓ´ZI(,¹xøÍq}Ò¾y5i~k+Lô9w®6«E8³î×û¯”>=Ïç÷ˆÜyÄaXM¥2—€æ™ÜÛI¿Žç³SŸfJÇ]Z1â½akýnKŽŸWúÿˆßÆTÚ­!¹ñ/ü¶9•|ö…!dŘI¿.5âc7oÝæ7 6ʾ쎹WÐÍ[êî¹l˜vÑ­»Ó´ùiZ­8Và¦õa^~ еKÿÇ_T¼'ÍæÄÝŠvaBs€@«6cõ[hîdlØ Š&‚€@…Åê…I DRC6,††ÀpS @aMʼnÌ@@À@ ‹á V€ÂZEù‚€€2[«¸óàQwó~ì·Õà ¹L Ö½fµÙZq(,͇M˜ì– Ë®v[ÂÉ‘01Ù}î¢÷k>R€éæN¼ò<ñõ®9w¿«ƒÂšŽ> 3Ì…U†5´/ú±Waá‡mß.Cé ÙL ›Í½‹¶´/(lûòGé ÙL ›Í½›º¶Õ/¼QšY—ºòPd(lfôS;×2ª€–NZ#W•§¬–¼>4½n¦~2j…SVU”Û °¹ÝÿÜúÊÊÊêÕF³¹nu5SZ”bÅÏ`Œ¨ºµR®°Â¸X¨˜ ’tãÂzµ}Šý¡Å4ñIçTÃÅhºè§ 9Y ,ss÷±2Ø~ÁCtPÝÌ“kXu…9Lgñn Ó¿†ÂÍò&”W¹c¯6~#1n\æöjž•R®°œbõr6_¦P;£fò BMëfVTϨåçè$«~B^_Lú~OÓRiŸÓ7ù¸ýJª²ÉàŒ0D¹J–)„÷/ØQ¡°2œôÐAåUûT2êŸ5“J#t–^zPÿÖ/œ¦Ný[­–žìêüáãØòuúO4 ìÈáZžð$KéÍ!Ð. [9n8ÿ¦²ÒAê5+¯’57^ùȾ¦cÞ×ìäß+~U¨æÄÊï[pÍhŸlÉ…³Zp_¹hŽ~]¿w›1R9ɱëap9„ë,=NÈäZæ†ÔÉÂ-5H,·`Õ¦$›-Òƒ€yÚEaËÎë|—‘†åŒ1C¥ª™<@õ,ðëX„p¸–‡ú5•ƒ´® Ÿ;凋B(ÔÆä¡;K”œ4}ÿ¸åZWù\CÉv˜Ob!°É²Dzk´‹Â†’WýzŸ» b• 'Rx3;æ¦GÄÒóËBTÄ(ªÌOn#Õšä5Î↳ê£`“§éî÷$ñh M$’[E Mvgf7qlŒ¥ ÛÝG7_̳b¬@Eã¬TŸ·¸%XqÝÕnÇ“FE1]µË|’âx;+Ð+ÍFŽ,5Æ@ÝÞ>c<öĈ –H…^Ô q½ÿÄ Ú¾ËÕÈí§;0úµg«Uîà „$ÀïVíPó[^ +ÃÉŠ ö‡¿ [±’{dø ²:«tÒ|­pQº‰â§£b2Óòè~H+X½0­ºÃäÊdíÚZÜS±s¶â¢«þó ~3ôóÆ&CEv¹KkkånßçVËðÉ Úå‹~OäÖ€HßÖ¦‡— }ù f  8(lâì@"€Âb„€€€U °V‘E¾  Ç\‚Ÿÿ¼@ õÞßÛût¥;J &À\‚8{Ífܘ˚ÙZGÎVñî„…ÍÖ‘ÀÛ• ›­Èæq–3mÓ‡bì»yÛ3£ H9(lÊ‘£@œ!…Í™®FCARN VÝ‚$±•°ôUš°ˆ}ÊÇJzhÜ&h/ÄU 9`0ŠÒ£S³¸©WX±Ú>­êšØJXxÞ<‹c M3ì{£î‡ë¶_¾°ñx  Å$)WX¾Ú¾y˃šDÙdãf8Te¾*"6ʾËÑj¦VaùšrÊ®¥ÂòH`Ù Ë:ž‡a ÄH—}¹¼Í­µÿ–¾5ðù® ÚBâ¢âþ–©¾‡qˆ‰Õ‘´o.e¢ÁÁVš52£²©UX¾_“²k)-í™Øþ²Xý·@¬_·¼&â†x¹ºÍ-_â/0˜¸vª; ¾W­ß®ï¾²#ïL¬Ä Ø7—ÎTW¬©lrlÖ&¸©¢r2€@jÖHBûË#åËïk[¡DX†mn3`PF¬¢þ[¡I­ÏòŒ¸3qØLµ=x};g:"Ô?´£ÂŠéUk$žýeéù$––i[V‡aœ«ÛÜf‰—ÀØ«Bjé’¨ú m_Åh;‡¸+Fz”}Ui?…MlËÒP=P:iö nÅr{»¦„«‘YÛÜf‡— ÀéÎý°|1mòìûz¢E™K@b2¯|;*lü[–†¥MÛáU¯^˜ˆÀòM¬ãÝ9•{ó°Ím{ }eFÃLêú…Ó&G»l UQmßÜöhÊÌ)í§° lY¾g¸ÄNž\6;þÝf¬¶¹m—¯ Ÿ:P[F›ÞªaÀòqʈqã¾¹q$CTH„@¶¬­…½ECõ~v¬J•­HäÛ‰4iF žµµŽ³ý›Yó±ö³aMe}©Å!3ˆ…@æ+¬˜0`rY­>½ÓÿÉuí‚2±ubaˆ8  š@æ+,wÍQ0LŸWÏL°×]‡ ÉÈ|…M–Òƒ€€U °V‘E¾ ¹K@–™Ä[Ç\ì5›»Ã-®v½Fß§ËqŒ5laŽcq(l2{Í¢w@@ kÄ®°ðdM§£! iG ›v]‚ d (lÖt% v °i×%¨€@Öà +ÙB0™lX“";Ð @a1@@À*PX«È"_€Âb €€€U °V‘E¾  …Å«@a­"‹|A@ ‹1 ¦ Ý¼ù“PXÓÉ"CP @a1@@À*PX«È"_€Âb €€€U °V‘E¾  …Å«@a­"‹|A@ ‹1 »yCa- ‹,A@@€Âb €€€U °V‘E¾  …Å«@a­"‹|A@ ‹1 V€ÂZEù‚€c@Ì& ñÅa)@aÍ&‹ü@@@#…ÅX«@a­"‹|A@ ‹1 V€ÂZEù‚€c@¬"…µŠ,ò(,Æ€˜N€V‡å ÄBaM'‹ A@@%…ÅP«@a­"‹|A@ ‹1 V€ÂZEù‚€c@¬"…µŠ,ò®°b[oóÈ|‰XذæEN  àO@b}>*ê]Üyp¦c'¿|Þ>  Éè~WÖ|œíßD¯°a“!‰´  ‰ã@¬"…µŠ,ò(,Æ€XE kYä  \aeú@@À,4VÂú°fÑD>  м  `(¬Ud‘/€ðgº {wè2¸'=Óõú-kA@@ a·ŒŸ"ÝØÄÇXÃzõSØ–eÎ A@ˆ@X…ź  $¾.fÛ$L$°”õa±B,†€˜KëÚ˹€€?x 0"@@À*XÛ*²ÈÂðx=®Ö6×-‹F¬ng›uEä*™K"Ø${~Q¡Ýf7–˜kíÕîtmfŽãPXëÆrÐZ››m6Ûó«v¾µqÏžCÙ©g·â1W|ôÎïPsòò ŒÊµöBa³cH£™J ÙqúÅ5{÷qÞ7öêa—eÉ$ôÏêÎ]ôÞ…½ ï[`ÃæZ{ ?l¦~KQïŒ&@Öë½c†\û­ä(ÈŽðÍózÜ;fð²»óìùÁ]“kíÕ ˆÕ 1Y+£¿¬¨|¦ I%çÀµß*•e¯ž,8<Ï_Ø‹Úe RØ\k¯pK«Â 6Ó¾¨oæ ;BÔÝ¢\^³ xœm­Ng«rË+ ‹r­½ÆæCa3ÿûŠd&,°[õ&ðŸ ÛãvGèŠ\k¯‚ ›™ßNÔ:ó hÖk6¸x[djHT…M'—Hý¢Q£Õ'좉Ö^(læGÑ‚Ì&@“aÍ?,S\ÜI9nZÜÀ‹8°ä¦›–PÊÚø0ÿõFóËÕÚ¡K’(TT[=~½Ñ$nJU“¨U ûoÁ†Íìï(jŸÉÌŸDаxÌ £?w4:ø±ê’{ËnZ|@<× ÊjXrSå§ø¼ñ±¡æ­ä±;,”U\ÉjÔF5ÖÈÛ˜`NÉT,IäuøAa£"B°„€Oø’ø†û'Ýôâ½ì…gÜ_={ÍcŸ=ËV¬oP¶aÉèo¾3æ³·'h›V¬/£H mïõ+Ø Ÿýæ­”kãï-)é"ޱ‹©…ÔºÑKÿZ9Ó…Œt6ýZ#ÎPcý‡'qÑ6:#Ä+$þ½—²aß§#F—´ÿ€‹×î©ç–å»÷_üîÍŸ.·R^£Ø° ¶·¡våÚ‹ý*ôŸ°üôé“üøëÅ÷½¸‰«åÚûw}O9óóg~÷jƒ|`ñͣ俊3§OλfÓ¯/Þó %ɧ£WÞO„ ¹u`ˆÕ SñltÔš ä$=€±$×üŒkÙÍÏóg¼ªzc“u>F(Ú?ìˆ Î ®ðWÇtêÖ‰Žï?Ç>ÛÇÛ5♟;ï‚Üû\ûÓÎð?÷}Æžû¾’ä’û×®ÝÝ`„0í¥Ša… ›kßj´7]$g<…JÝ¿ôâµïÔÒ%³ö~6â‚sÉÀñƒò î¸ùK&sÏÂI_+6¸Q”Oëc.yçæ'ššN4íø=éi€ B±M,T6â÷;(¾z¥6êìQìú¡ýï|ð’éJ3Øsñp_™J}”p΄g~ÿé(ÅÙÿgÓÕÿ»Ã÷g—±¯T£ÅG8ˆ[”±Õ -úò [K€Öš:wÂÒÆÕq/iJ–ˆµº3h·‹šmíwÇK§þò3·‹?>«‡\k/ÖÖ²z¼!ˆN@¸%½–Ù’Išfq&çMñÊŒšC!ôRR¹Ö^eÀKý›€ `·K ôÆírgîAÍp:Ûè †} ­°¹Ö^eÌÀK`Åwy‚@$-Ž3ß}à/K=êüÞ½²—$)x=ª "(ìW èžÃ§îþý†½¯Omkm2Ö?×Ú‹=2hô¢ªYH ­µåÑ7þýå×§8tÀwvËôòÛò²üÅ‘Óó×ìØÿ¬ªi7¶8N•kíU¶~3kÆ>]™>ºQÿ $àñ¸íö¼gÞÙþæú]Ù´O×mÃ.||ê v[žãôׯnɵöBa3ðK‰*gÚ’•6ÈË+²çðíYú.Íi³Íî·/¡9™j¹x=Ní­–Þ&AKó [?)|‘9Ö^(¬¹c ¹€€€Qa1—#@¬"…µŠ,ò(,Æ€XE kYä  êÅ:æõîÐtì¤ìì/”¶¶Âx“ >€d-Ç1vê?ôù°ù=%{§|§ƒÖnˆ¾âa·'?Ré¼àEè§þ"¶RN e7íDPó4ñW/Á…Ùã/(e#&Å"Õ- ·¬ëÊD†tâïÞ‰)+(Þ#êæ<ÃÇYÓWÌqTb=W°"å7jjõN J’Ȧªz©*'u L—ðž@A ŒºD¾ü‰mæû(MÙ Iøg 'ò«;á8ëßnÑi$Ø-‚C3…[%Öý%&Ÿn·Ê `È^ÿ’³Ìá 5;KIEND®B`‚nðÄ3ïer¹ ìÖ.£¶³`J†ÿ‰PNG  IHDR&?w¸|sRGB®Îé pHYsÄÄ•+3XIDATx^í} |TŽÿœÝÍ(oˆ$h%×ÒV¼€ IA*±XkÑB¤ ­`À*·b/Þ¿ªU°  j© ‚ô%U0áY+½W‹€^‚@!!›Ç¾Îÿ73çœ=»{v÷ìîÙÍ>~ã!ž=;ó›ù}g¾óûÍœ™Yá‹ýÕDnþu'A0ÃÑžA›éËôLzŸa&3q8á¯`6‹N‘8\Äd"&B\²|Hî@ñIÎ Ø’S/®•¨®8¸wz(ÛÆ?éÄæ é¬AÛL$ÝBŸ½ìŒi"!ÙBì"i;7ãžNjQ‚Bª[žêBã÷¹AÈÉêiÊȤѲ€D™$„d’,V3“<ò\ »’´~èžè§ZݾNmÒÊ_5Øb÷þ¦‘‘ðŠ•\mtÚ>?D›–?ÛŸG’HŒºô²dç8Òœi™;¤SFr^e0‹t¥øÈP"€ƒÅoÉü££U~˜éݘMâ’Û9Dj“L™¿MNØd¥f¤í|39uâù=%RÝ<+‡äö$æVáj¬D¹+6¥Y“…i–4K›(šEjž,&î3Ê:þ?¡ôÑIàƒºƒ—Öc²Sº Š´Ñ:·C%´8»(˜íÄétÙ-"4b»™¤9ÁÝÒØPˆ6kÙzÀxÇb"¢…4·Jƒ# ó [[Èå+Ä–õ¬j©(©²Í$÷7šàóYL‚Ùjñç”`~‚èr•!szz«ÉZK¨W¢#àb^KtQpÐÅåtÁGúæ x€/Õ7ì¹àtÑè(‹Gƒé†6;ij%õu¿ya¨@¾½ƒôìC„’ÙQJœ‘Fo¯hzF-é+ûŠ^ —KróTNò€]FÂV°ï¨(Ä ´bíVæ Ü2ÚHmÚ­0g‘ƒ.à¡KžÚ#oo¦O`¤‚›%䤋ÙôÞ‡TŠD7»‘XÆ.A¯åx¡9×1 q…€2¨˜‘à,rˆi&×OGf<ó㮽¯õë‹iêñ³çëþ¸ù’¨e³ÁNZ›‰ÃJ.7 ä†5¤SR¥ÑÑœl©¼$‘à‰Ì%^29Š—éŒ+L*Œâ%0~ä$±jjR9a8äš^œ±t¼µaÝ2וK®f«ØÖ*:ì¢ÝFç¸Ô‰l8#ÚØÔŒ»l­ŽÖ–¦NÝú=·rÞÆŽ¯¯ûŠ>R]i%¦Käë/Òó]Ò»;ÉÉ1eZ\KEIEßDQê°ÿÌŒÜÌï”uRL“Ú:)ýAü´,‰N’žTÔ¥23¸|ü,ó¶6ö»ôâ+>ÌýñãŒTÁd{¥©+˜³.ÔxÑ™ 5V| ¡_ΉÕÝ]+»ñ˱²ë±É0®6{Aé(’’®ÿÔuEýX>·—øç.å:-™Ò]\×[\×}ERþ$ÜðTYÕðð•Ž%:$`”h!À¸%í¨±‚‹Ú(yQ+ƒR´ÛE˜¢hiÛÚ2¿3žôüݗ݃(Bÿ¶ëú®ù;<ï0z"]ÔD§àµ*Ͱs÷/ƒ¤±) iV„åÇþÔ¯z#§×B~Ýòð«™uW|$5 7f6ó"ž4íÜä¥TñGïvÙ:ÖR³è9½žŸµê}–ìOEƒísÓgûƒHˆVƒB¹l™h_þkX´·¹`f¢Íì:ÿäC;Ÿ%¬Û|¹àMðQXüÿk®ìM#{fä~@Ômx€mtR›ˆé{zʈ´yt½:,®pÀ4:¸|öÞK7©Ó™6ŠÍ° &—ÉÜd'G.5ÿø¬0ô0ÝD»f®ºˆð9½¶‹t 6 ¶KQ_„‚ý¡¯}aB¸ÕïáGš¶ØVä.ëŸ.XÒaíc”uîMÔ!,]u‰oJYòÿ®Tž†ÿŸ4}´}æìstУçœÒWr¾¬gV^‹+.ÎÝ ß™×sa鳯-}ò2KUoÚùQšÛdZ½%dÙQdÓß³z.ìðô‘ü±]jnƒLßo·ó>̺Ó¼ÿöÈHÉ1*7ØF°*ì¢;/¤µxô5,;‡¾Òx Þ‰gg¸øgïÿÁ$Âbq“3ã`¦tÝ8x†`ql-f¬`EEZ'O÷š>,¹e‹paÝØ6yLõ?³^yËd%ä:Ëè¤þOkþÐp“«äqWOXÕμD¼ÚâHƒÀŽ’Qì4Ô>ò1ëM׳8Ò%‚÷GÃMðUë5À^%•2Ýé-aÄ{äëG«¶“~l=Ö§†‘Cfþ›Åß¹ûñ¿#-w¾àú¾-Ï##u¦ßC†W‚"@2µ ì’½¡” ^캜pÁx‰îÁ0‘ÞË«”Þ£÷;ŸÓ½¸”W.:Ë _vÁÅV¹Ò‰À¦Ôm 6‡q@̦Tƒ ¸›¢6ÿ¦±Í4IaYÛøyö{§º:¥‘CZ;ZHÇoØáo‚ÖtüÞû'÷Øü¢ žS‹Î‘ÁD]*– <Ñ%Šb¯%á ìÜô;ùMUûè»_àq‡ÍÄ-¼2K¾^#ª)ƒI—¶bµ'}a±Øåôf™]R#&$ÿ=œº“ €)Ï`.^ba[PX0Á=ìHQ_Ñ€Š~R©%8–ïÒÊ Ò$$Šœü¹„ ¥—w^9þ‘zÈÉz±Þ8%.7µh¤ë€WðÖ%¹œ½^Þ 1jæ(øòü´ÿ„Bv§ï¬ ‡åKv»¤†J-•ÛécÆ„Ñ èÇÅϨ 7ì¯>ÁèJ 3ù„ÔÐÖÈÇ­ f°Hš” ±ó2©ˆEô¼Ül‘æn•˜J™àÆCBÕ?\õäÚ©O sÝ9·yƯ~öë;KæZö–EÁB.ï\¢ú„úâx%"‹EXßAMÛ†fŠY*ð{½²‘7­¯fÞM'Íé¼¹xá¡[ùÃîÏ‚ïgâŒâî_:¼‘‚¹‰tÒ¦úè«)¹)Ã>Gæ£L0h”10QÑò·®Ž¥–¶%æ#`]3ûìr㢭ÝàÉÖ»d÷LœÛ¯ËþÚJ®¶åðÛóæ°gªËmܼæ7-®-ûaÌ6lîÁNzJ8íÌí"¹ó»-kÓÅgLÛ—ì­ùøòÎIJ}µ|¼ƒŸª±t\H–^Á±‘À:™¬§o­aKj¥ Ü6Ã1àZÁu˜üi=dA{8¿_Öšs)sûró¿ m÷ŽOÓu~SöžôÛ.Ŷâaêm}æOŸK?.G#—2«Ý©à«´ÄuÇÓ¶ÞìŠ@È®¤Ì–ïÞŽf¾·ÎÜÿ‡-ߢÚbˆœ ”"AÑÔáßJ?>¢›9·‹Õ<‚µê´ë‡é ¶¶UaBÂ&8ÚÀߣ;A€x6›£ÍÖØì<|UØ%ü ‰Øa…4Âë¡/ÉéÂ{ªOIÁµœTBf˜)‘nú ¤2[€P°ŸŸ-T‡¹@…F w¾/Ò©Œ¸T'Àˆl=;D ðè8µÄ?šÉ5wèdÊê@תÃ"thê` ¨ûEgÏMt®xÅHE]D›Ãfohqn"÷})RRA^5؉í rê_Þ¤‚oWt‚žFÇT0{ÄYž¤ Ì«8DÓ¨"a—a’í%Ç‹Wg~'œ{p xùÌà™ÙîêÁщux[– –²ÃJ%°WNþÂ-‡Ýaw6ØÄó×ô›´«N˜h¥§ÿ)¤ªÿăTt£HS±¢Ö Œ,›¥[JTÔ¢‡Ë¸=B_K…m®½Ú æ«o×.NÚöüˆ£üþ†¯Î¤§{¯¢Lp0eÝ8áÔX`” ÆUôXøè²Á «g¿;—¿?¿ºÿë™5IÕ…tΡc*ùXA3=ƒ䥑 p+Ó)µx:ùRBÏ–ÑD|J$yƒSÞ„“¼*&µfÒhJæ;`êÎõÓ!Ž×fvIí³—œÏþÙúÇm‚¼+c*pÿdKÅHej¥€Ò YöΊ-­0§Ëüá[²¤Îö1z8P‰®Ý ³þ!/á"{îuK¸â*pRÍ’Z[i˜Óƒeæ°„¹]`$à# ¸¢^zKçúDú†¦ !§%É+ð1•›TðugB/‚Y¢3ê,#W[ÍNý@)‘š20h Í”½þ²xÏm*IÕÞRA™¶¤&÷WMKG˜:ç•/á´Mx‘•.XO(÷øÙalê ¬¨pfk‘ªõ2¥ý§üÑnJnïßA|å&Ù¬aIVUoO’SÅ(Ö\krÕA,gØì_¯O3úääÞÞµñÂåÓK}ŽaONlQ+DÀ`º>Ô‹\=OÎ~JOù Œ Î Å!)‡’*媎6Hªh#ŒòS$UÊU9*mTÑFå§Hª”«rT8Ú ©¢0ÊO9(©X)Wí¨p4 ?½Ó‚„Š´(3Õ +*²úätLêK6×§z=£þ#ð‹±p’˜ß@WTX/ºÝ¤ùbªjÁÔ»#F¤. V~ ŸT8žJ݆‚šG $U”€E±©‹’*uë5Hª(+±u•cÆTÖÈ-h„X•4uò‰˜T§ÖßwÿúS©X˜šÖÌaªi˜SÃd(O¤Ïa N”d¸>íkæ( ‘öìdôÄ1DJ*¯Ìö—Ã}=tu_/ìñ¢SJ° ª.,Ôl!Õ°c‰UÖœbéI5)lj ®ñø—?mëÖiù!–‹‘¨x±’ª®¶PB¸º°l&·Ýz℘­®è¡Xªâ…Ÿž¯½(]sïÈ›ôî;“òtå/‘4º3Õ#7n÷߯õ_ºzÄPiPTQQÄA¨«­*¼>þ–—ò'E¥åUµ¬ HÁ»¬#¯”-Äi%RA™û÷^xáÇÌ™#wÚJ°Ý_rn7g¡¡­ÛðÒôîû“VW9³¬ªª¬€!§© }ê£f€ª€š€ÊýRn„óÈOõĉFÓ …T^ù{˜¦3oÏ™_]=ÿ[=Ü·¶é¯—ÍZÙÛಘo? †î…=Š÷CjŸ¡?GN­)“¡’ð…gîçμ-Ý0^YHOX*ÿ¢Ìtg¯Bs¨™SP&õpR Á“Úy’Q™´^êòÔ‹*àÛed¦Û‘ƒoUÞ§“çC–-¥"ç×c“ (÷ô ŸBRUV[Ê‹]¾ìœF±UùT°LŽ\ÌZ¹ÿä`7y­8þpP™Y”qcè_Zþ´e+JJVœE°I òâ{•“2QªœêB~'P×m_O&Ê…è‰P@à/C!ãŒÜèUô 9ôy°ba13eï>pæ™ÛŽÏæíŸ%›æ°Wõü£wÁ“¹w¨‹#=¬½¸qꫯÐhy¬,áÆg¯ü„Æ­>ò aÂ3„ßИŸhd¡¥ëÇZrݱ%+cm\ ð„,.æÄ#àiCÜÑx» F‹7IÆ4 [&4ÐYUœ˜´úm)°]ê2ÈÃ^HøF)$ï…}‹­Ö½DnR`yzÿÉóGM*Y¼…ªàÇ´Eª@SƯ4¯ªñªå[¯2ä__HË@vÛ¡ µ _?iY`gRO=ÉoœPHååþù“yêä!²r§ßm`¾ŽŸ„˜Å ˆù$Pæõ/æ_*ögÂJòÅIÊÆâ’‘àbBå†FÓÊÜÑó+ èŽÄ¡·dCÖ:k=|'^Ö¡ÊÁ—,o`u$³£ÇRqé²·§t×P’’ù 6 Ù«Õo‰õà†øä]ó·åé€B-,p"ðøLOœ0´òH ©ô祓~^Q·Uû'7q %šùË4¼,ä^z[J'ÚÂ×o¯Så½cs ýÆŸ™„zXnƱTu•säiïš-‹=94³ÌÛ[ñ*¤oIh!¥bKŠh––f¥å©t¤ÉåÁ‡Œ8€="*ˆôH㢳TA_B °…ŽÇÃCÖP—vsÁ¥'ŽþFî?¦¡¤âF)ïº[ªç¯`c¤7G`ŠvUUH¬™µrAÆTó éX™’¢¶f‹*`pÅI#~pÌ`œ¡=;Ë,5OtdŠnù×)&ýXbɶQ«ä!,šO!}sr[VD‡ÍÐ gå“Þ­#Qjã8Ð’Ñœ=ÒèHq^9õ«Çl¥CAVd7j.%õÏ©²à ²ÎEÑ\5å,N(Õ¨7.]P›Ù3»ÓÐnAÏýƒÉ†ÕÓ}Јç+È/á/{¾çÙãþ@Š_Úþߎ/˜Uw¹xr.P¾?É$ÐDN%_ôw W"«oÔY€ÉÐix€°J=ø‚ZhåÊ$‚^ôâ/´5°¢!r>þÔˆ»…´ –¦Ù3+wh÷ ¤Š;Eu(©€JòËŽòj•?§[vœEDRE§Bô’ª~7±^4Ôý‹Ž>Q•ª ù™“ˆjö† ëEªá¥Hq©Nª¯~T? ©¢*ÊLiT)]ý¨|4H•‰Šh`‡2S ]ÛéÙDEJ*¥ê•m¤ƒ_pö¯]ÐÇL“S%}£‚±FIkÄ1¿¤GI•ôUŒ Æ$U¬Çü’$UÒW1*kB˜R¯©ÞëÒ…•ß½“§_úú°:i¢”<,u1Q,ðmT^¹ª§ÔC ÕµÝoŠEñÈËT Tr#´GQAÀ«QCª¨”…"I¾üMŠjD%â:Q!Äká°\ˆ@"!D)™pö/‘j Ëš ©¢š°‰„’*‘j Ëš ©¢š°‰„’*‘j Ëš ©¢š°‰„’*‘j Ëš°}Kˆ’b!8G^R±w¾h©â¼¢°x‰‡’*ñê Kç ©â¼‚°x‰‡’*ñê Kç ©â¼‚°x‰‡’*ñê Kç ©â¼‚°x‰‡@ÛéO9,qr!°î½œªÐÿº\_ý>þçQˆòô“?ó§º!B|…³¿ =öùÿyÒ¬NIýKŠÉÕ´RWàÃÌ™3¹þ6l¾ûî±N'áWUÕæQ£¤/¿üÄü_Ï@ªÈ…ø!ÕR·›4§ü/)¦n M@ÍáÌ#/µ!BÇT‘WJˆj>¿øåÓÆ!F÷/F ³‰?¯û°wï|Ãé^üu¹<îáãþýþæéGýegˆtÿ"¯M”/À8Š_À¨ï}oì]wÑ FSP>øûÝïŽ-.¦÷ƒ!Bdî_°ÀïãðÜ”™ n©À.Á•MŠ‹wè@oàoP÷ÒB4HžÕ¹3IK“ÌâR²›ðÇoHª¸i2X`(¤â\R.Hwݦž]Þº¿%åCçÎm{?ÚU< 蔟NªoìútOzºäRrg2¨œ¨VWø}â àe©²²HN›®p—§O¿&™={v…n½õÖCÓ4â?Zö/Z\÷›_kùìçÓc¥&jبpK…Çi† &Œ`©à}¿€]|°¹¡á|î*¡s¥tr8ÄFº/nX}C€2õí•ùUæ5¤sz‡­/ÿ``Óž-_u]òúæÍ|øáf ç¶m›·oß\] ÷a¹¸I1vÍs2hè0Á/hó0-ѱcj£ò»´µµ==¥äÉŸÜEìA2üÊjþô¯þ7u±ž»š~ïô¾ƒî:ôî¢":ùGޤW˜¤b9ã˜ÊˆÚF±B@qÿÀOƒ{;ðÇFf½øæ¯^\cµZŸ{­êùe’Ö@¥©ýÝs¿¸¯è®¾¤¥5çKû•mgêAš«àc*ö7,K…¤ŠUKÀ|ŒA@=ûÇI-ÿÜOů%÷¯•|>E<úØÑù}û­¡?èuðÏï©u«-£‡“/Ë&óÉ@>EÁ‡U‘þò7»ÓÐn.Ÿ^ÌpF’¦E"C`õÛ[`±¬ï:Úëoºý[k¾E½>'ùrÖ—;wî¼§t˜¿¬Ž>øØ¹Oÿžûó¹¹¥¥ç¦>l±µv~nÑ)Ç%ˆÏã*aá³³õ—×ûGßTú±Ã˜ˆ€&øûTØ0("€QE§&ì0M|M•š•ZŒ€D$¶ó·WvîàøïWŠÓ@QñH±Ú?мówìÿ Tøïí_uX‚öC@ǯÓÃvúIÕ~ê`Έ@¼# ¶T8Qïµ…åK8T WeXàxGIï5„åK8T WeXàxG „Ù¿çþgq¼kƒåC¢€Àôi?©Ýzô Û{J]çaš)5¥þËÙ¼øû7¢PA¡‰Œ“b„VhŸØ ­^7©.°jÙ{*ý¤ªý¼&B|%ùë•Rµ»¾qRŒk-¡µ€Â‡J*SEØ`09"à’ Û"`0H*ƒEqˆ’ Û"`0H*Ý€žÝòÈ­Ål8ïN@Ÿ,ÿD·C#~VqkñÍüš±åŒ¡¢5„ÅTÓóïÍ(¾ùÅϼŠñÉ‹¥81-^p¬‘TÁ1RÇØ½`c;±HU Ú†ž •Õ_ì§×¶»wŒŽ·Õ-µwéûgÜTaÇîqï´ÉdÕÇž8¶c™:bPØBc™oRÄ]Š:1Ÿ¼pÁñ7ÔÆJg:#£ï·‹É‚wæ –„ö™øÂê‡×>äÓµ™gŒe 2•¬Ý±O•ë¾W’É#e•c\œP³CKbyUò–±Ú·\rÆÀãí›õôïm˜ËŸWì#gT÷*¿…{qsß;«¯$gÿYµwò#{¨cß>BîÚ}2õ›Äœ±¼-nå¼ËÿYEÉâÝdíC¼`j«ÅÜ`2{fêá!ëÓÉ'Ö ‘“•»Œ,|²kíð$Sé µÏ»œ²sî[æ0 ¦+’JLªHàœ³ðYÅ´µS¹?V í{̵UäWüáÊiÅ ”ûJ> ‚†»£¤Š§ê?¿$‚áYŸ¼áî"®_÷•YU~d窟Œö®%Ó wðë|Ë?hNUùp2yõþîí­†ˆ’íFISu™Ýšâ!»» ÔŽUƒK†ð~ÄÔêÑ8œõ5$•>œÔ±OXxD¡ ÿbМýÕ’?F]%ÈM6zÕýÞS”TàÒ 9„7Y9ÌÓáñW®3§v)òà…÷¢Qz—>òð¾ªÏûÏhpÿ>Ëï“ÓÙ3G7Œjzü”d`Õš†©o 5 j üBí?ÓðpŽ@ $Uàõ¸÷7#«ÞùÌ#¥ÛÁxb¥û‹þyîn^}/ÇØ»x´äJÝ?¯¾’x%9‰Óôg¤Š©]~Ÿ"AFÃò$&’^ý‡í;.ͬ|›Áã—2÷(YïÛJ†­õš,fG"ÏÎ)ÖC%&pFúË”æf–†¯ŽïUl]0MCÿ¾Ï‘Ãaðì–7V©Æú‹ªÎ1 œC/°’I&x·ß_~d åY †Bêª?yQw÷ îÓÞKî¼wÒ9Wv²œ,¸f>¤Ì7Ì}hÕäÕ¿$k²o>·¢´92¯,hF~ËïÃÏÞ}nTæå茜áJU¼ûøíŽÝîþ"Ôªâùx‡T;AÕ³ øM†¤ ÑÞ¥ ÈS¼lðóIÞÈi¡Û) ,&FV•Hž ©ôš🖾5z‰L“^þŽþ`ä6—H“毡ÞQà2ƒe¤Y~Ú¦÷Í/¡ó–ª@'0Žð¬§_XÕ—Wô…Õî½û<^OzÐ Üo)» ÁÔ· øKÂ&EØOÕî[!ŒV߯¼8Ù­r1¨wtê‘Ø½¨ÕU!!k¡KjŒ"…¹õƒþN*Dˆº†‚þC÷/B 19"à’*¹ÚDLé%tÆiƒ¤2K”„0T؃@R (ŠCB8M ÏýÃæ’šè=M©ù©ÛC¬B UJû·gǺ;Fþ°ÝÛPœ#BZ ¥ðÁJG&wÿp“b„Í“#npL…­0$•Á€¢8DI…m0$•Á€¢¸ Ô̤0¦²NŽ[W9†?T=K\$‘T‰[w Xr Oñ'Dª Ë æÔP%jæ”öôĤõÒ³TN)rôI=SRt?í\ËÉcþ´­âÖiù Ë¢ÒrrૺcHù<ö4Ú¼òŋܬA3ûÐIå6ß²Úáø{^T!.#3i\Þ-%`P«¦(!?SYéî67ÆðŽÄŒþ`{˜ë*-.™4Š,¹B褂Úõ EÐñøyÎúŸ­4Ié–„ôškæ/.¯æK9áý¨Ê™W[&ÿÂ$¸1ë'yû6ƵMÀn\ÎKb]õø–qót}!Y¼…õ¸”i¤ªNä:©Â×–×ÿ¼Ú‚Äri±i¯z,¬î·¯¯’RôØŠŽIÍw×KŸJ %|À´S&(Œ*exïàSUœXq ˜ö¸3É<M£a‹¡¼ÐIªûçV†§\4à„ìUÇPψ²r;uÅ?{L;Z9T•HNqAYUDyúOì cºî15VÜ—ñ©­*%èb$6tR…áþIrK)Ç-± ƒÂ+NõÿäÀÆØÌlÁ8[%ÒÌw%ûfTUj˜ˆî_@(˜…×'V ñQ'tR…ÚD +I–E¡…Z0ã×ÕVÉÕLGWLJþ¨I%Uë·3VQW‹çP~Èæm õrFµ«òTðGš¨pcUójYUyiQ˜U/É¢O*èJÍ8yT1‡<×ê%l î ðaÀ$Ù|ÁØÞ³pÿ¯˜Tªv¢Ã(õ;Êè f*jçIUÈ`Ò—XÛ÷v`ZôIÕJ›¥ìïSϵ|yÒBšíÜ:Џ=w\£}?cuj?iÚ)N¬¡Q{i‰¤ y•CÝ¿„Z‡&òƒ’*¬¦K¹ä”ëè…U LG ©Â¬ Õ¬[âÂÄ“i#€¤Â–Œ’Ê`@Q"À~Éî4´[ã…˧—Ú RûÅ¿/D àGé?ø%RáiJ±oO }‘WBköiJ±o-˜#"´à˜*i«k/Tí…<æ›´ ©’¶jQ±öBIÕ^ȧd¾îiÒ¶³„=b!Põ!©R²q·§ÒÒÑü|Rlì™öTLÉIÕª… k(«Ê^­I.ý‘TÁê“z,s*}{ô=bÉ3&86гãvrÂ>n)q·ÍX9¨ ¢yAÊð”ù&À`õlà÷H*=`.^Ï÷.»»U­#–¨$wLXÄ.íx†íÒQv·”dÛæÝ¨çàû>R^§VØ_-žlÈŠÇŠ"PO=I¥Hù|:hRt#–Ø7ꘪ{©ÙÄæ¸%=Åa_H驜U”SpF`ŒÎ«Š$•µŽ"Ñ>bIS+UØÇ-%«ûGà y§¤”Uô€‰S´ªÂPO=IþŽX *,ìã–’ÕýSŒ&¤p táúí5ÜNqW šçU­>}TúpòŠ¥uÄRpAQ=n)xöqƒ£ø1ê~ -*-,+.“8• "©ÂjjšG,—Íã–‚ç'1¤cä3§”ƒt´N­‚"ÓéAù4`8[’¯y™d#àç(¨©-kœ¥>3¢Š¼~Þ øIòǸa„âþýlºWQ úcÆ «¤r„N*ûºì÷–~‘¼t ¥–Ú¸Ç~‹³¸¬vuNN¬8àvNo)•=ÞÌÔnLaYÒö´c*X? uxÔ1¢N‹Rް·oE S,yãõw”’»Oë*gÊóЧU~Q-‚ŸPW¹H±ZúcÆ[3 TákÀi7¯¶ áx%{'pdByÕúíÌ;Ӹˢ±Twì)/eÏØ~Uzd )° Ä ãT µ¤ŒôçèQkþŽ‚R"ùž_Éê¨R‡ß´RÒS*ôý*¹þ˜Æ–P§´ÐIªûç.O¹hÀ ·±×YÊöަu.ñy¨:ˆQMߘ Oˆ§Qúø†rT'×> J‰á£Ðؽ=*Îã Yq"ød‰þ˜íÕlB'UîŸT…Ü[J8F©:éÀµ¤æ‘úä-ÍT!ž ”}¡†˜rTÒ‡w”äÃS˜”ͬ”Œ°1íV²<:Ú†þ˜Æ”,,)¡“*ÔlÀ>I'µï„B•«øòqßÌå—ËòÉœ6|ùDUðÖ4 OÆ©@4‰|è8í¤˜ ­?Gš«ì¿…q”÷Œ¼¦é·6è€M—‚ A½1Ã-‹!é¢O*¹CÊ{!å+,¢®k—ŸÎ(æÇèÉ„q*J¸»ºs¤ÇRR“Î0„qTþ´e²f #ûÇšWafÒí ˜&Ö3öMD#nýÐÆß½ç‚:0÷gd3Ò_åI³õcxÑdмýº·{L¾D}wÍZ½û©¬Hýb½@-U")ÚîHc`Dßý VüH2TÁ*4¦‹â‚¿OT‰PKÉRFé‡~äa£Ž¤ :Lˆh#@gÿ2zfçíÖxáòé¥ö8áiJ؈RPgÿB UJ¦”š­µ€À¥¯ø¶ëC½`2Ý=¥ŽP"ˆ€à˜Ê@0QTŠ# Àëm€I•âíÕ7$•ñ˜¢ÄGI•â Õ7$•ñ˜¢ÄGI•â Õ7$•ñ˜¢ÄGI•â Õ7$•ñ˜¢ÄGI•â Õ70O¨5´ ( H>ÐR%_¢F팒ª+³O>TÉW§¨Q;#€¤jç Àì“$UòÕ)jÔÎ ©Ú¹0ûäCI•|uе‚t,-’ª*³M^TÉ[·¨Y;!€¤j'à1ÛäEI•¼u‹šµHªv³M^TÉ[·¨Y;!€¤j'à1ÛäEI•¼u‹šÅØME7T!©b <æ—ô ©’¾ŠQÁX#€¤Š5â˜_Ò#€¤Jú*Fc’*Öˆc~I’*髌5HªX#Žù%=Hª¤¯bT0ÖPR±1 ˆ@Äà/)F ! @4@÷›"`0H*ƒEqˆ’ Û"`0éõifÏìNC»5^¸|z©Ý`ñ(H º>Ô‹4_$'vÁ_´T©Qç¨e @RÅlÌ*5 ¤á? ˆ"!ð’JÀMŠ‚ˆÉ-ÐýÃvŒ’Ê`@Q"€¤Â6€Œ’Ê`@Q"€¤Â6€Œ]Q‘Ñ3+whwXQñö½Û â@àÞÉÓ…1ÄzÔï¿Ë”ZÖõOPEDÀxdRí&Ö‹¸öÏx|Qb "@×þQKEI…cªl¨rt@RE_”ž‚ ©R°ÒQåè"€¤Š.¾(=À‰ŠUºÓå´·¶9]‘¸íà°µE/ Kz.°`Ìi™f“Ycªé«ž¨@RE¯íyHnmn6™LK7×¾»óèÑ3 1Ê5ÊÙtï’=áŽþÏ>ømÈÇ’–®Î-ÕôERE¹­i‰o¶^]¾õØÑs¶Ç&Þ1rP’¼ÉóÚù4<j§ñùʺ@2‚LY±¥ë©áÆ‹A©t=†–*ÆÔ2~Ú¯~Õ„Æ}am°ÒkóÀG ïYu’½bfyÕ¯¾§äà¾hxn„ñYs‰ 3SP*»„TIJ5T‰Û¦$ïd,H ÚbTA!22‚»­GP©žIw-”¼úÊOò¤§ÃŸ;ô ÙðQ='Uýêq7¿?áÐ{Sä¯ ËÖ-(>áê{ò£ äÕC¿.ç2ü9z_¿jbNN.»&® A»q«W=ÅŸä‚)fa×SRö⨓(}Mø@oìGßb±n&xQR!FøUé/eýñƒ£Ç©9“Wp˶£u´N7=~˦ñ×G“QA,U˜úÖWoÜvKOG7eýÕ«—éõ×[[¾‹dÛㇿǟüâåß½Y/ž\5~¬øWöäêå…Ãw=uËÑ_ò$Çm|"0ç/²à·¡‚pÆ%´T1ær„Þ¼žäò˜a¿ôæŸÏzSYE:uÆT£oèç[à“oNèØ¥#\ß_B§z~ùg#XÁúÝ0šŽ$«ß'òúñø!²äû<ÉÀÇ·m;Ro AÚ ’*¦¤Š¬‹ÔJ—˶÷«ÁRBý±C£o¸ºñÑ?(šòìñï|:õ(†@” /[_¥@Ný›¾?þÀ¥ÆÆK~òò-¹ò²Cdôï@|éz|Ȉ Up¿IcRAÍ{ Ÿ¾„ü|Ö['%±»çÎÁ¤m‡öày?yiÉÁqVŸ2:_·Iž²L©Âg`Â’{çügèôß(ª|‚ ¹®Eû°\ýi ÕÞØ¬S¿F>ÇÜQ 4“ëég¥ˆ#ÃDóô’˜ÕˆŽ³Sd­uWh-G[O-œõÝ,[ü†"iüŠXÏ ¤û’ɘÐSkCa‰þÂiIÕŸ•þ|ô·`͘šêkÖ–~¢j‚î~¢j—Jí…P‚XUžþÂk–H7ýBë¼t– ð„=qxƒ×Ú ®¯ñªÎ¤ @‚"ðÿw½z1"ñIEND®B`‚nð7¢虲NÛ,]°×b"Y¨ÿ‰PNG  IHDROÈØø™ÄsRGB®Îé pHYsÄÄ•+¡ËIDATx^í `TÕõÿïLV a ¢?·"«$‚6”M0¢m*¤V@Ä*-Ðbÿ"TA, J­bQ,„U¥X7v„lY% $$™Ì¼ÿ¹÷¾mfÞ̼Y3Ëy>ÃÌ»Ï}s¿sîòžáÂÙ#Du$O¬1¢ @0ÅÑà(ƒøal<}E¢£H£þ¢¢³@-Äh$FB,R.ð$ &@¯(<€HÀЀ(€B@P÷ðÚl§ž¿ƒk&–44’X¦4 FMÃH#=ML§bB¢YähbHý™ ëcÕYdµk;©ŽÆO¹Öجy¼1.žFkêO “xÒŒÕ!Šåçè°È²‡í‰'W Š@ØED`£;7Ù¦‹€+ÄÜHµFþë(ùU“í'ÕL+kÈåjsÇHõ• ×ðH¢ÚÔZwŒNHlŒ1ÇÄ·hK¥’ ^óñ@GÁ©“xËÐZ<@H xFÆ ùÁ%†¿m¤Î Œ·Uc#±HêEçOŒ_/%¼RC¯ú³µ¤¼øÂ‡ÔÉ£j—ü`5Iê@¢ê ×´† AÒYcL´ÁM 1Ñ1Ñõ‚%P‡.Ú(Àë8•CÈCà- féÈ&H  –Ú]à8c¬. !Žª‰Ù Œ ®š &Áe"f³Å-€º˜¢HŒF. 1lºêäoÁœZ´‘Ѥ¶Nœ€‹fÛuWÉ¥JÒÐìB~£¤v Q$It÷D=6¢Œ | y¼NTù‚¥ÑШrýÌ֯تH $€t°°J‹`!‚¡‘þ6²˜-ð–Âb~À‡ê,Ü`n¤3y<¬5©7‘+u¤´äÂw7È­;H‡b¨"ñ-ÄÄq1²àÑôLóÄŒì#~ð ±Ã`± ºüÅ XÀ_?xA $à˜€ý\.h(Õ;&(’˜ÁK¦g¢Ø(9rykd®¤EZ  ¦ZX^ÌÔޤf†ÄX!.¾¶S;9GEö˜Â±‚-0YIÀ+ÍE$€@Î ÈwæVqykbŒ–GÇÍýmr§6‡53þË%onºhÍk0ƒ‰ÔÕ’ÆréŠ\ûi™b§v1tƆA™og“#( EŽ×LŠbãlb3#ùòEH€Ç PÕÎ Sn–G³â–Ý[Sµ~…¥ò¢¥¶F¨¯M‚©.òn¤®›À¦Ì„¶.æöêë®^iÙ¶ë «goh±rýO4Ô®²Ž/’s‡ ¤Ãû¤S;’˜hŒ¶´”};ªvtGÕ4ö×<6„*?';s*ûs²PcC"$€ì  ÚáUaC€ŽIŒ^òÞlàpC׋/ÏŽj×Ém¹Re¾\)4Ô“†mP`R¾MðBhl€„ºÚƚ˕UU§cZüß›ûRF~G};“‘ÔVqµSü6‹‘m5ˆ‹IèRÛöººæ¯Äw¨Šo_ݼSuËN—[w¨l–|)®}¥ÐúçØ¶UÂ5?“T I¸¤±— ôO$ &€ßm$€€#TᘉRÇâ±e!æêK†Ø8Cl,l¾3DÇ¢a'\ ˆŽ`¤Î˜ÁEŒ°q Š*üeqŒÑ1WÎTtjË–˜Ä²¿–$^2óí:¦–ÍIb,¦Àfû3t×:È,xt1£ ˜¨ˆZ˜†Y23Úýpnhßë?û²oTÌZRÒH;³­Ì`Ó"$€pI&ÂT+ODͳ˜…M]ÏÎúulÏ[@ä,Wª-5ÕB}½¾ Nõê  lÂNøk6Á8§¹¡¡º¶öعŸïûê'Ã?Ð’kkÉ´SäÌwj÷¿Eõç/Ó}sà&‚²”I#) FƒÙ"ÔF%þýóª¯v\!Í»¢Ú¹lPŒ€@«Ý™÷Åt»ü6ájMó»ÆÄß6èÌÓ¿!¦ ^c=1ÂÕÃÒÈÎï|qe뇗V.aºbj•> –Ž4®˜®3uZ¶QMÅXðêØ†ƒÑbŒºb"Ç.^¹÷ËÓ†~G鳃àñR—a‰åOäÔ^xJPsêåÁjLx¬2U?jÈÆ·³©)ÜÿYô©k·à„´ìÎÑ]÷û«{®ַλ|?Ì2©»òL:¶9|ÍEþ£×þriÕ)ø·Ô¸sËägè=]Êöï° qøÒÄKiB~2‡S½3zÒ‹1«RÅprëUÃìÏ›=¸qö_—&63.’_4ë@KÉ|¬mQ?Çɯ¥"Ê#7þXÚˆÖE·Ã¶ f£’çËÓõƒºb+rJuÞ£•Cö„“:4¬~Z:{ÍׇvnÑ]Ù–È|_r$€€ à‡±“>pvðÞ&ðí`Y ºdr®ÛéÇ”ù®ÓÞH‘Ñ`1ÂjN¡‘>•9á€;<Ç€*1÷î¥ÓÒz$úb~ßh}‡Ñ̃ÇŘ-±,SPJš¡¤L/N__Eº5Ò”®û÷ëÕ×›Oµ´mÅbBAp»^¤j!:Ÿ-ûAœšë»³8ü+iéþÛÚÌ©/Ô•’VCn,Œ¿Ê„yçîiŸ Wï|Éò«AcÛ§‘šík¶‘kûŸ‚ø"Bß¶'þ²vòawÄÉ‘kN¤ÐÈ}Æÿl›gCj7«ŠõH•ëzÇH:½Q T§w O§‚g1€ÚÁÝ›Í&ƒ…­ƒU2°Mä s"“!j V#§ ®ŸÚ zkˆ“>;ØŸ.ÝfÌÒc|íé5C[×"š¤E§Rrø¬ùú;L0ÉÇžD(Ù••ŠƒÉ?:¨>¥ > 72ù©$•â*’Ò—–ÒâºÞ]!ÃóG¿H&í’å £.Kkd¬“÷î‘'n˜suwºðnb&¯ÑÅóbݤÜQÌd`s{¢4PßNqÛ˜#ÅttQ’:x RÁ—FB‘Ž~ƒðI5AˆŽ‚ÓžÍJÎ:Z âIv“":™7ø Ø ¯¸t®ORRHe8q–¿ƒ×JZ_gLÞc1iäÂòg!¶÷}¡I ¾²”’6CF“¨Úèìb2IýêW`;½vòÂm0"Úfâ“ý-w>SûØ~ûÇ;³Ÿ©¹öòCÌÓ¦bê:ocÅÙåÐsûŒXSÚ#ÿ)mU Ù˜¾‰*¡VGòIâñDH h€'§*'ûD(ö¼Vpì˜oCš—nà]óO“ï¡{ è6áü„›x`» §aÓÈ¥ŽdÆÂÎ:X˜KZÀLºÅÎ@º"`AfÁÀ8pТږä5šêÅõ˜V³x¶;ð ¦K—ÒC®éMgï¨×EºŠŸ7¤IŠÿ–|fê–õ:WôÏ΃•pX“¹~jÂ#Ë^Ž™ÔþØì_9ÜÔß"<ÂöFœ5›cþLŠ,t*ž¥Ê³î™ž‹_¿tCÃÈ‘[þ¹scóY×ÕÞt-.Ü^-ü¦ÊèQôòÊ/sî¤Ã 4“7)‘…Usv?þ1ì§‘§UÅ,9 Tu¶Ïá·ýɵ=Sþ«›×öέO¿F…_"ˆ& ¨ŸüÑ$ÐxN€?°ä½à70 Â;qÅY£Z·3&67ÄÆ·žðt¿úéÑ¡lG ZÂü\ƒ¡±œ¹¶ï¯ûì­êWŸh¬3U×6­2>b6dWÒ|àFÒWäÊIrvŸtýžtnEZ5#-¢H\4¨\5À-9Ùº(˜c£=x>žø†OE´ÄÃÚú0Wøœ?cÝR³7¾ P>¤!7=Öpm 9ÿÁz9Ü ´7gçÖ%^Œ/|#êçÞ ÷C-g7&ì9@³jÕÕŸ3°¤ŠŸ%°«¡×EïÏ HñYžQÝÆ]½å:ù‘3¡i<_w»Ãä4‚\"«OC"€t–'«ØõQšu–sPP‚—6@ôK‹Ûð@šäk£Ñ,¼{rPÛ¨¤Ö†fÍqñð$¶-V£Ð-ä«]=¨}PCÜB³±î“i>zY¸÷¨Å0ò 1ÁJN©†-c?’Sû ¤Ó7$½ W;C|ÌÀÁ°$•<ø šK;©üi¾M¬#¿§Y^r¢ºÀ ä«CV»ŒÕt7[/“»[ÆGH w Xýbš'¼u´oRTó–ÆfàÛÅ Á-šéî¸sÛl›ˆ©ílhl0U]µ½BîÿQ j^•‰4&åßÙ.¼„U/þ€:Ø1În­b°ÐÝ öU‡íypDñ{´À¡ZÒiÑw',áŽ$,ñ [/“{P"&±!àîuñ‘ˆ4FX?)ìõéŸ-5×tªª¹z©úrUuueuõ¥ÊêKUð»êÊÊË••Wªªk«ª¯V]i¨¬1UÕ6V]5WÕ m†ŽìAê á­¥ÞÊ·£ÏЉâîÕ9pï`µ?}’«‡´ÈQƤšhçÛùÖ±ãæóÑQòtDÔƒ‹ÀË䔈I@H@?Ûñm“ðh¿úÿbÚƒU?UÄÆÀH#l©3¨D< f¸Q³Áb6ÂbM³|¾(ÁÒó:t½óæv[¹=Š€(ûv¥0oGG2[“V‰tÞFa ]TtT óØ`/]Ý+-îpƒxb;`ÑÞ Ý‡EÜÙ§ßJŒîÌfõ zÂÝZ´ ˆ3v|µ]«c´<Ò·ñ“›»•Ù鋿ùÿ®ys«Áφ•çí`$ÓJíŒu°Ÿ>Í•lïìø//V6e38Dˆ…û´Ø°&“Þµ…n’p«z9ì  Ú…}»e Ô£¹•#‡+РИAƒé3¸Ù²–\ÂôP· ÞÒÒZMõ]P©÷#–°ù âp½…³9ø¼¢vðq+Bª/€#g n‰aûè¦X‚@?peýƒ¹=ë;Ù¼ ׿A»ð˜@=ªÇìÂ1!ÝÚ £ŽZWŒ5ò`ùCXúòà­üäB¨(2a‚ °˜”ïh€{©˜´Ô®îÕ6ú¿üG®2É_ÑK/±9Ð&oÀ†o’cÚ0#àÆ­xÃÌr4Ç?vu­ÉåF]k2 ¤ã7q)‰I}’«Ï_:µLºá ¶ @H '<¡#¹|–œþ†T—»¾õsˆ‹ÕGH $ ãA $€@¨@ß.Ô[ë@®  Ú¹f„1@H Ô  Ú…z bý‘@HÀ5T;׌0@H „:T»PoA¬?@H ¸&€jçšÆ@ PT¸£M»ëPHج¤í¼,T»ài ¬ @H ø‹ª¿Èb¾H $<Pí‚§-°&H $à/AtŸÌ×6•úËJÌ 'F°Ç+«˜à¹ïG/ž;d5ÅêxEÀI³®ÿ`»Yutë’d_Ò—ûC”çŸýƒW•p•Ø'5 žLÔæªï“\j7oâ=®Ú?G!O`Þê-¨v!ߊú p®v“'OæÙ|øá¦±òÙ£ÝèÝÞ.ûõ!#ÌðÄ73Y²äÉ9|L_iÆ¡R×äž{Ä¢¡ô‚‚M:k<™8R;:’‰£™^#˜ 0?]2_jùïц=ꊾ«‡sû7uŸ]óÙþ«ÿ­…ó?_Õmú²ö£½5'~j@fH€°}7~zq<6uŽ»©}òL®àÉÄÖ|xú]ãÕ Uºo^ϓſH È È_ªóÕ†V †V-c༦=Û$Å$'5»¦e\ë–±pBxRó¸ÍbO”£Ú¹Û‡m|µ<ÐG@šLÆm§v.Udæìü¿7Þ~g3ø‘k×}:dÈwßß:û¹EúÁÙÔ*£ùHJç5 žLNG2›¥$¶‚çÛÁ¼É©»eÊýM…1‘@à €Ë_oðê@Ï,fK½ÉÀ—7Ò)¡^[è[ø^[èÑp÷m‰8’øöjªŒdþ{ýç:¥1'žñG^dØôɦ?§?ÇF4éùý÷Ÿÿùù)Žê?þ‘§&ŽÝ£W¿Níc¿Øw¼¢¢"¹•aÏWGŒFãÅ‹Ož<ùáû+]ÚnS¸†yéðW~í²&Á“‰Ú^:oWsž”ì&µ‚qóËû»lŒ€š–€ú*m0Yà¬7Í‚‰ô0 õ&Rk2ÀIUÐBÙm$~|JsÓÁÒ= 3düQñ‹Ž#no7âö¶#nK†¬`¶ì®»Fdepží¥K—,ÆÖ?þøãÆM{~úé§ãÇç­ÙpöìÙ~¿èñæ›oîØ±äö¯ÿï.릮É/9âî»é uÐ_ˆ˜LFŒÑ»wo—ÙGFµ»uê^,!}¯‡Îe} IíòñÜ.7z’ ¦Aºxx•êÊÛ‘Êóï0¿ÜWóÜ|›§¯ê:ù°ßD¤ysê?5kOÒî%É·R—Ê ?—D‡½pö é“Þܺu«¥á|MMMNNΓÓgäþnLbBËÿ³ûëýûa‰o·†çL}qæœW€¡¿Í¤CîÏq·2!deýj/à¯Ë‘LÙœ„„f­Z‘˜ÑAÔoŽ£šÈ9@M òôá[ý1 þ÷lç—÷ÿxL‚h.éJ^öp¿_Ü{ë‹§ºüR¥sºÒzÀ “D:µog¯ŽO¸X ‚Eà'1°·ì°Ð øßí¯P¾¿}F²xæ®ó^¯<”(ø²g$»ÔKÈ\³ªr¡–ž[RRRýží»²†€0¤FYŠXpål <¦v| Ñ¥Úš¿ýõ©¥¯ÿ+11qÿ¾/wý¯ì®‘Ž™þÒ¹ŸNÿïëÿ~þ½¹yjŠ¡El‹vÝô¨9ù„$]6vhý–¡ÝÛp%»P»V­Z5ìÍI‹%…·ÿÂòÍžØXÑ æÈjgSŽä“„_­-­3ÄzpM¸ýõM vð¯\ùIöàþ9ï¿›“êAÉŽ“Ü:+œ»XvÓõ³ô盚ЅÔCÅÊËFÍ/ûÁ§õÁÌ€=µog±f蛨¢ /,zÉ`4Ày¹ÎHEޝ-[hï(ûÖ{B2kÁ7g\€söÆÛ_jš múeŸ8Uþîk›Q±nVÁèý¬ªz̘¥r%S}ßKxB2ÈÒôìÙóð~=èÆ«ß/\\>NæQ_?³€´H‡µ*ò¤túz˜œÛúùçß8ÖñöþÅ—‰9©Et\³MŸ|Rzæüåä`¹|æGçùØøvÍš‘ÄD¶V¥‘,yt<ü……3fÌp’ÉM7ÝtèQÑœ’?ÿ1«ÿÕoTvïÔ ênMv?.Ým·õí|vcÙ·%—RÛEëÁbÇmµ<ŠlÜUÁÔî$Õ/Uý«Mý³Î*œEáç!{A:û•ú¿Eµ„\ýÇgµ¿Aǯ•56Vù¿å×çX}¼ìÙÎI›çø§Êf¬‰;·ë¼–{ŠJò[¨Ž2·oÖdûÜ<ÀˆI"Ž€µoG¤˜Í† ø[gbaÙŠ,[ö„¼Î^ð¿©]zÉ)í¼¨òwrEÐfŒÑÊAšSX8ç–ö÷¿Sa•Äé³|WõÛ{zî¿û. Hí–¥Ž#ÖÁªtÖp·•õ4ÎKsÁƒlŸ1w/s%é ÖÓ¨MsYtèDèÖµåéøÖ¤UlóÍKFõ¾²çÓŠ¶óßòþªM_™ÙºuÓ¶m› 7¹\“É-~mɼÿ=PÖðõ)òã÷ÅkV-^½ú•ãÛßÞ¿þÿ­{vñßžrŠ€}uüÙÛ²eSUÕÙ¤5†V«  s0pÑ@Ú­0\»öZ'™tîÿSü5Üœ‘7€9?%¿¶rÓ¦-Ÿ&è5Ǿ&GšñêgÓÿßòc‡¶=÷fÁ;»J;'Ôe´¸âA;»­v©i= SµÛóùê^i)R‘ûæÞ~r†ü ~ÖÁ7³ðd\©» zM![èU[qœt뢣ŽÔ·ƒãË£#=è$œxPI+{{/ü¦ž°5á¹Éj!¼ðø‹§N;5a*É<¥Q»hµ>jC²g›½hœ‹ƒ&²ÑÎv»~!GóuÔ £ 5Íy»?Í~–ÇYü2¹¯Ñ¿pL~âÐÛ[´<‹ƒì¾nåùO=Ùc#ûnìI¿wŽ”‡-ÈbÎâûƒ¾Ð—„~sw|LFJp÷ÄÂÁUpœù»¿ Øí£Ùù¨JÿM…m¹»nø…—™Kø‹¥tvPw=}À8Y|µÿÄ/^]Qô¯ïº]ߺæÌåf¿Õ+ÝxϵdÄMI 9™™#¦§Nµƒš¿ôâ³ûß|æÀÆ×÷¬ù#7dዳæ>žõÂó8· Š€)üe‚Õ1-Z´§^Ý”ñì7õõõÏÏ~öỉÉž_,}]6'ö¾G;ß< _¿{ÀýæØ×äºëz57ì(íPtá¦ÏŽDGY®¾2¼çÃ×´”ÛjGúgN}½h©(><ñyídyÙ!²z4ÿ¥v;üx„ï[Ÿ{¦ƒ¡Å²ã=î™ØíÐçû`ŒñPÏ.tl†5Îæ=äx”’ùvôÈß¤š„ƒ±Ês§þñ% ÿaÿÅS½ÛX»w®l§C’óŽ`»fôÙ*R†®ãçHÀ–€Ú·§æØƒ™O‰ÂÆ.u‚A€}ú{.¥<æŠÑoÖÒnßðYû¯uûà HÇNÌ}f€žæ²Oâè‹Éç, `øîJZEì™?žlÅÝöjÖî«÷9«…FAH+üBùí.Ü7MùA'yß¾³Óïϼ»3¹Z—xMôÏŸ|rå’‘D%Ê#™Òìà‹LþóãCÞX>ß]ûä‘L¶J†îýnúËo=ýò;°þå…¼¸âsRç,×Ò•ïŸyB1§êýUõ%°¢Dº?Œ¼«Á…965äSúüœ÷qQù™ µ#“_ß.é‡<™­r_í¸ŒíýbcÏL«/•<»@`Òï[—ëÈñò}[wë’Úoôá¢=å'{ÝÝGOˆ¾ûV?ÿ}›?Ü®'‘Ž8ÜùOôçtÃ(Ž ¨};XbÄ3Úhxvæl9ÝŒ§ž‰ƒ©uvÀ¼ìÃsûà߬ý ²Ø`‰xØ~Ýú̧߻Ì-TuÎíéMÃ3|ð3¹ýøåÄñ`fyþ«‡äÒ_À)½»íÕÃ+]¬©±ë1Ñ[O·Á6u‚³ÿ~§ßÈŽ¿>»çH#¹|uè èž_A®.¯Éäs]8Ô+!¹ÚОyD8÷{Aɬ#?ŒŽO=î¤2§×½meÎ@òcî|Å)_c¢ÇûšÀ0ªÑhØóÊ€ • ¿îÛ2玙x vdÀÝ=fŒ™c%]tÜrNžõÆÔAÙdéÊC0·GR`¶oËçä:îÏéš·©þ°¡œ …99HU[Ö®óØÀæ··é|à¢ÞáGîÆ©’àêÁ"ž€Ú·3âmè•`JN:Ÿ™I‡4ŸxzvM#³¦?à„ÎË£e™&8^÷Þ¨»cóu+ÏŸûÌ/€0€_EÇTˆ$T«lƒdŸÄÁsÇÇ»§R/?q<˜©®¸ƒ…=Ò5ÇoxéZ=†ö5c_Ïp¹¶’S;ôÖ‰ÓÃËØ´yÓÉ6Ÿ}ÕÂòôÜŠã>HzôÇw¬\ùÔ?þ1ý7÷d<ÀMDPÄûï/úú«•p¶j~ú›ÿ®ÜU¸rwÑÊŠŠoÁŸ[øÚVÃlÖìÄ®]»œdœÜ%õ£·Nž1µÙëëÿSœ¼å¿-cf>SøùʾY©ßûšlÝúÎ?lßòþ˜n‡Zýøý ÛZïÏonû¢{˜G¥kyXàŒarð«¹@´•×ígƒ–{_RÃ@LX»e;˜©ÜKåçëË·=//­„t¿¼:ÞººŽ‹³™lƒ&š„¿XM^ào É™Üÿ¹ÞäÔÖoGíO–’Ó1Ì ª8n^ õ½T>Ü}µu‹Øè(†Eõ²T Û€ÎÁ:;к(sÃÈ;Ü»— ìù¡ß/–7¬×¸åIò*|wˆÍ×­Ku¼Ø—ï•mïÿ&…ÅÜMßN™Hw{yyŠOaÆ}~Æè×!Ú‚^OÎQ'¡ße­/¦ºtʾԲ7.%ê<Å BéÒJÊj'÷JéÛ`âЪÇk¨îRhmM ­‹mÑ´í¥¾— U»ø -ûµ­>éÔ2W³þ¬¸¬vÐL:èÆMÞüY)Ì hXuÃ,ùþv~U;l€&€j×´Íìw ±»T4mcbéMDÀæ*…pÂK#ÜÚ—&Ø„ÓòfsØ~Àwã@SRߺ˜Á¿H ˜ Ⱦ]þΚæ 1Æ(c”jÿ¸Ù÷Æ„9~z€È5Z`U¦Åh6îßï Ý}]Ó”‰¾]Óp—J ö‘̦¥ƒ¥#w üxªþÇòzC,·V6ƒ_gøT]Éï´Ò³KtÎÍPíÜ%ºñQíš¶í‚}$³ié`éHÀ]×vŽËî×ò—}ZÜÓ§¹|ÂÛw$ðV¦Œê×¼::w3ÇøH ø„@pdúÄ$Ì ?'Ftµ©$:ÁßjÔ›Õh>L¤#™>´³B!G»Åk2=ÆfÕCÉqp$Ól1g$€FžÜK%íÀ:!$€pLÕ¯$î{àÑ ¨V§°Y}ŠÓ«Ìt­R¡g¯ ÁÄH $€üC~R\h@HÀ†ÿþwïYiÞ¤cw¿ÿðÓEò8§2 çÆÈgêØ§³·h¹wR´ —™gÉF?øð^ô¢ÿ’ ÕkœGuðt«<%[ Îëim2Àœù€p›€Çj÷í;óÈ‚o†û z`÷–ýâÐô¿“N.( w¿/Y¼Z¬Ï·‹²wd³ÀëºÍÉÖ?ýÖþ¾Id×3åøvѤ÷&®â¹=@Ö¼#M¾W@žæ«'eÍ“_¯âÆnÕá[®Óû^–ÔÔm°T|øÎêþƒûvâÞ›°«¯TgŽ깸‡hš•b4Àë–E¾3sBH „ OÕî¿_*]ö/úNÜ»øæš0‡ï7÷±®¼Ïƒ3r"V‘Ç,èÿÞÙq‰ìc“õŒÇ¾yÖ÷…³~Á^BÑJ¿ÈîÛž¾KIHT¯÷–Sµs¯7ÏUþ˧)O½2qÍ“Š×å²¶ÚÞ› Z¥2t^·µo Ocþ‚ÿb`ufÇéŠcäÁŠu'ËÅ1Oµu^SõÐL†Už©]ŸBö.*vâO‚·z×·¶ :¥ôƒ”ÈÎÙë¬ö÷ýypÍBe-ÝRE‡ Ô¯¥ÏݪÃ/[Ûcñ¼;΢ž¢~gTÓ4«U*‡¿¬vYhEùîþ©’vìÖÿ¿'E¯Ùk‹Ü¢Ž‘‘@áEÀ#µcëSÔë Ì((«F5ÁM‘Žþ3·ªÖ%Šž™N”05Hž\ô¥¤Nýþ•oç*;÷ë°»ä'–©ì`¹*ÂûÏÁÉãÎ(=~:¹÷Ý$éÓÈÛ}‹¼¯ æ€Ež¨Ý¾wÓõ)jséZ•ÿ|y6¥ïàÒ‚C:ªÉãСNy¢8%æ,=6o±˜x?’ë¶ïeµoç4Kwëðß7&›¹õ)Âæ_âc³8¨C,ôÂ諦“ê#ª0Ë@H ÔîÛk¤Ù&• t­ lë4üŸt ]9 –¯›g .`=oz’x †Ï›Çç²@;éÌŸ ûgÚ+ ”±>çDݪ,„9¹àÏÃ+@M÷Š{ž¨·í õœylcE×û¨‡=m²vË"o«…é‘@!M@ïóíX9$€]jÇ+N˜Ï@™‰å $€@DpCí"š@¡LÕ.”[ëŽ@ú¸©vE³`šÃV•H%”¬f¦¯t»XrVR1³Š<Ì)pÉÔu–©è´¯(M«²[••- ý1‡KBH #]k2“Ûg@Ý…â¼aéù9Å›'¥²—E …E™ìÕ< }oú‘Ù4L÷Á—¨ì.zO\“i›…’¹î,ÑjY#ÔñÓá¶Vë´­/5y1™ÉØÂ¡€V‘æiôÇ´*CsM¦Í3.zþ±¥ÁEÝGGI+rcãéë¸(EÍð×%˜Òh!F#ßN©¬F7H¢ÝB½ Ú"xø’€¡Á—¹a^‚ú…×f+$õü0% $–u FMÃH#=M¬«‰‰f‘£‰I õg¿vQUÆ™6°õ¬ÉtGí¨|@W»04ލ%N LÓÛì®ÔΪ·×›©ÿã©CÓfýêÊR­Ï-Èž9“,&⯫Œ”ßúcÚÃp®v½žkM/¶”k ‰ÍšÇãâiÍ@ÝâI´¼‚:yR;îV(Z¢ê‚Ù'òœž†wíÛYNíÇôVÉÒЩ¨/Ý—[I#kõý¡R;*Ʋ ¨ÀÊúª?P«nF„•_r"ý1Uå8òízNO$IHTáêÞ Ò4cL´ÁM 1Ñ1Ñõ‚%P‡.Ú(Àë86Íy¼…@Á Û(…F:²‰^–õxUðÖ3TjfŒ5R!Žvfƒ2¼c¸j6˜C”‰˜ÍS´„)ŠÄ˜aäÒÃfLh—!ýd†i‘h#¢Im8‡͆7ë®’K•¤¡ÙáååR;^%=L¨;•W˜“ŸåÖÌ;j§nqÑá²MôîìÅŽ(2éûKE + ’&ëôjVMKÃãÞ¶â­?¦NµKˆ"I×(qaø2Úhˆ2‚òæñpª|ÁÒhhT¹~fëQ{ß·æˆ@p°°J‹`!‚¡‘þ¶°˜-ð–Â|??àCõ n07‚Ò™< – ԛȕ:RZrxKr`ÕN=À¨ÐöóH¦$«¬@æHÁ¬!GÕcÉ%ª¡NÉ-GSÿUãàæ[úgëTj͇]ÕµÓ0f7јÕSe›få ·í$Rˆ¡ŠÄ·ãÆÅÐLðèÅÇ4OüÈÈ>⿚Ùa°XøÉÆø†‡ à¯Åì|OÀ~.´Í,Ä, Šûëk:µqøsY³2XTúæ.š@óÀ7ÕÒ8åŹ 6‘õ¬RñéXSɉ¤w÷4Ÿ,útqvÎÈSt˜øí\ gòBÒ&Íî¿­h[>aqàTÝñÅ/㘾³/mÒf±²Ž+*yu®ç õÇÔ¶àL©5êÙõ¤u€˜ñ“*œtŠ!¦FCƒY¨g5šHC={Ñ€§O ÀÈžH ˆ Ô5Щ98Mzò×uðÖôÈ€èe£.Ǿùì¹9œyjÜOSGþÃ°Š‰C*rï®øÝ`8O=<Îòn§gÎ-¥£zž¸'í»œ_,UýÈ/¯!W¨ÔÕÕ’+ç=Ú麦›í¤_ l\„¨“'î2+Z³vÃ3=®‹F¢YY‹gÎfkMJŽHRJC¥È™Ã{çfåŠb—9|fAþ¶þ™R1_ÖÈ&/M&ú]Ö¬dÕdêÕéPmý15 ­®Ð Vùpªe…#¦FÒ(P‘k´0n þœTzÂÏ1<}H¥ÎçL&èˆñô:`i}ÒÑK KþcZ‡êü•ÑRãn¸=®çÍ1Ý3bÒ{ĦõˆéÜ-&õÚèNé1©Ýc:v‰éÜâDµíݦ}t«6äò¥/ž?wR'±û©3K©?á²ã´Š ›øsÇ·Ë\Tœw ‹ïû†Õ!¢³‘¹¨°wn: £ÛîttË®*ºX,‚e©¬3Éœš—-~´0£0/»àW5P8" "¼YTœ“Ï*ÃÒºö‡\UÆÕçšLôºÊžþ€ /?m·×S»Ì+LØëeQf€k…~ÉÒà$\Ál>¢›í ˜m•¡×9ßl{ÝÛ0Ä-®®ü 4=úóÎ@¿ûÐEÀ e.1W_2ÄÆbcaG‚!:Æ +¼c`“`¤Ûv Æ(b„qQ°4€À_ÇsåLE§¶±Ô®¶.Ü‹ƒî·‹ëÐ,ÉéóíÄÝåVûí¼(S•Ôv•Šorõ{.!ýÐíy»Žù¤S;’˜HIó(B'íbØ:bX¥¢<ìÉssl,&œ…h&uüÁããõ\êà?ò{kDLòd~ÄXìwC©oSy³9`H“†›ºžõëØž·€ÈY®T[jª…úz¡¡A0ÁI§?‹^Óå™ð×lM憆êÚÚcç~¾ï«Ÿ }÷“3¹+ N’s‡…ª¿ØãlÞ®æ)ÝMjô=ñÇ·@0· % Àï,øÙe f¸ÓÌ$G è¶Ö-<^<#—6YêdÃPêüÑÆð›O߀Æxú»“r€ø™•1Ë•Jðð@êšß5¦íœå–𡦯RsÅ\Sm©®´\¾d©ú9%ïó¤ßNê¯ æFƒÑSKɱƒ>ÊÓÑLOËÀt!@ÀØšÄÆ°ÑÈh*xЧð£kbñÚv–ÕmÙ™ô ƒN×ÀjÒ×x^Ú׬p}'áÙf.sÉßN€˜ëÛåus# ø<ž¾"ÈAðà¤:gÛ/€'ÔÖW¯€WÛ ˆÛáïïXÀ·ƒålôo=Èaçw¾€ðæCÇÒ›¯Ðq~»F„y;OT;OÉ…_:øõ“@ÍâRÓui‰ÅI$ŸîmÞaAów”í?øŸmš WŒQ°ë%™T ~êåtegâ±Rg‘ïj½yDtÑÂ×;¾8}ÍGñWõfŒñ€C0„§ 8½ÔS½†.ëéÐåÙgÅ-V|L…Íb†¿©ïý—gP>:B tœOžawu Œo§¬”ðÝ+ü#³ô¨KL!¥{·›{þ¶nÄÀ»ÿ·½u²” æAaã9uÅ3 朹Èq±ô@𜲘Ùœ¿S›_ùÙÒ{bÍ÷Ö¹vƒ-Ö „3.œêÃzÛ­P_g©¯ƒ99¸©Ê™é÷óˆ)«·Â¸ÎÿþJ”ºQ×Á¼=<ú#š† ž`ÊÕAß.œ¯=OlƒSqº>äªÌ\BÈàÆ=‘؆=à ›yÀ­4Ï®ÍN¬Nn„ó­6'~-ŽË?õTáívÂ;í…wÚäuc3L¤9¢l•·†áEsºò…4ßBÈÒVÙ4„åpçè+ßö“*ÙÕ9óÙN‹hÉž™³ù>öQ·VÅtT“ž…wñÈšÅÙfe“3¾EHÀ×è­é 7Á„n€þ8¦ßq ì–ƒ¸tMŠY€;Q„Óæ}Tç·÷ðc3`‘¦Á`¡#¡B£nÏ$oWoa$Íàf‰žtk,®5™Gçq˜0 ˆÏWRÕÌþéЊ´lNAêb¨ÔÁ½é¢³¦µ~éïû«ÑËLQÆ(¡KìñçbÈöÝ0q ™4îÊ =vü½tÈw d$æÐ cyü½9 ï,~ft‹EÍb ßm™I.®žð¿©õµÓêX^úëMÿëžyæÒ¯î\¾ã2Äœ|ýëÿ{ŒÜ±¢•íÞgûÒ~é¾ßOìÂ’³QUù˜õDòKýÍî°~™Xrž:üZÙøEÏ?l»ëÅÉŸþ®ÍŽW.d~e_\vÍõiAÈßÃ*áÚÁa²Àh´™±ƒ»LX„;ŸúMßèäN†˜Xø)LÕ¼7XŠinèô»Ÿ!§¼‘Þ6á„{‡ŒWLäè…š{÷5 8Fýw3ÿH. Äû‹È†éY“©KíÒûy»ÑÁ9ìÍ«÷ ›Ø'° âUi!WaµµPyjË¥nÌ O¹‹6|{|uÿ®4‹ªg‹þá¾f›ï®[=æåi5¿kHk³ee³Ì›½”e“Ð0IŸ¸zÌöÇâ~µåÝDø´ù¸ŸÌw˂ŤÎh€û<ßžöЮgvÂgISû~ycG¸f&n˜seKç:†'j©+ùhkbÇÃ×ðç.^Œ‚ç4ò#¥o]‹hÒâº!Ý ÷Ë's÷>&:ÏmêõÛ: àG‹64ÐÀ6?Ðä4‚rJHttïˆpþèɤ]2¿'­ÃEé–BRq&(T¾F6¬Ì}= ‘£è°`Ÿ´3ßÍ0߯9À£¡aƒ]xI,°]×r'KÝ™GïäßâökþK7—Ã`&aØ FXÀGŒÀ£¤ÙìÑCï ÕNìiñéIS°©–ž°«*:Z€§“û}_Ýma+&O<ƒ àº-aÏ~Ü ®¿ËÛ×~ièùH¯[Ú0¹ÇMÚj7Jˆ¡gÁO0gÝ¢{¯¶¤¥BŸ÷aMÚÐ@“óTü”·ùAø30qÝâú~mÍIêäÒÅ,§N¯ <O߀ãé'Šæ±iP»FXYOÿÂó ,æŽK>ä½î™ÉCàó“î€×†„–íß? “tA¦Ùd0Ãζ;Ý=Œ·jåmz‰0!N=bá—:pì`+ݶ¿FÝÃ]šR]ÉÕmÏî(l(%m&>Ùß2ì¦'Ÿ?ôÝówÞ;Ûr $kgîØ.£¤nÕ½\ßòÕYEÃIv“"Xöò‡³jàmÌ?_LØ>ʵŠ&ñ„ä4‰|Já9ºà+Þ6CF“¨Úèìb2IýêW~°/N< ^Ógé≂™€ÕFuöK‚:yâ*êØ1ßv t\º£š|Ýc@·ç'ÜÄÛm8m°˜Œ\ê,ìž„1F èZÄ’xÏ''hGãíæà0éïÑ ¸¤Ì„ ð1L’fHoµyELã²háaaÕ³ŸMû¢©Ïxó"¹ó®««£ž!Ûþ±w×®ÿnûˆ¬: «7½ú¯˜îßÕ‚˜vH†+ †'ÙiÉúý©]úÿgS¬ðfÌo/ [üRüÏŠÀÑQLùr“ˆi­ÂO™Óþq¡ëïî»ú^ìælCÑËk¡bæë¨Ì²ÚËÅá $àŒ€ÔóîO¯ ˆ[÷¢è„¨2ˆÌ„ öÈVÐ9Ø~ÐP^íÎÿP©{t(,HWî·ƒ;‡YÌçs„×}ö}ÛOÁcjg`}Íðøs†1¹š²5™ñšµtzŸLÕ*•˜%E)¤ÒrKß®¸qó1j[=Ÿ¯ 5½9®bú×nˆ²èã¶V?¬oÅDˆÇ޹%#×±×ô£˜ÝÏ¿®™½óOÝ®‘‹V«TÔu.¯‘YIg¸ôª‹Ò$©d¥Â+Ê%:*ÔÎíU*i?έH«f¤Ü$“ÎØÁ³Êá±î«ØÍEü¾Ð¡½yT®Ð‚Þ=ÅðÓFã¶r © ¶_Œú|…ñi¹)‹|WHþﱺkŽÿ`}T·qWo¡1?,ä8ò;°Xnz¬áÚ6_¬ žy˜”ç™Ú¹5o—8l éͧ™ïòuåÝ™'¿€Àuµ;Hìõ·ù°ekFέéúp«)>ÌÒ×YM¹;±´ØöÖmú•êh’¼ îfR³™y·;çUŠxYà æXÓÀ­–0æš…zf.¬—2°_dìul¸6ƒ‚ÔÙü6°QòÝ}TwR0€‹ˆ§ïxÖ”˜ ˜€ÖOʇôúôÏ–šk:UÕ\½T}¹ªºº²ºúReõ¥ªË•UÕ••—++¯TU×VU_­ºÒPYcªªm¬ºj®ª@Ý Õƒ},_‹ÝcÉôYèŽÚÑN¶á¨ãÊ;çµ\^óû#™Îª*+(¸>'ÚŠ²G_§U³ó“‡lSƒ»£®ˆ»±b®ïjÚþ ÑUµ°î@íâ’_×l/OÆm|(Á)^Íš¸k/˜øH!}úÝ;CM0¶²â'=Áô`ÇN8ì};pìðô-OÚÓ €Ðž¿¾6ýïïžmÞöØÅê*?ž¯üñB5=ÏCø•“k~¼XwüRCqµùÄáÜ5]¿ñÑ–Á¦wÔ®gL×raZb+'L~6=LDÏÏ“³h8YÓ­§:ÇÄOÖ·*™[Ò²{IËq•ió% äQjˆû¤Ù>_ÖD3¯Øn©ä®¿séMá>ÌÏê´ËÓ–¤izfÅÉ\–®IœüÚTBD ¤ºH8ÍBݲ_¹¥PWonh4˜êà$õf‹IÔ<½ºF¡A€“˜,æ3?!Žxœ3Ó9vË<}I:<‘@ð 7=¡'¬1a'{âü›»£ž-êö«Ïÿú@õ}ßüœó¿‹ã¾>?÷}}aìׯüïÒ¨oªG~W3üû«£Ö:Ü8üˆeÌq¡ßG'ælíöæVÍæí¼;ÜQ;()µÕdrŽÊÌÜšÁóåÎgB`Ã#뭵ǻÊi§¦.Nå"¾t…–«Z·âéÄ¡çÕ¤þ.Ùþ4“Þî•ݸùúí ¶% St)wU@þ#Š7‰ÞmÍH*óT—“Ê7ËY.š…z`XM ©¯‚UQÄ|Å\×`†g* uæ«°÷åªÙTGOª|uü„qNðñlOh¡ öšëðô%©á] ž>! õÈr׌/¼!px TÞàçoC#©k WAêà9æÈue¡Ñ0¶Æ0®†þå/äsl•ad¥þòOG^¡gveÊo/¯Ül^‡öd|Y¦‡;«T@Kd÷‚ÐÅ™Ýòl\(èš[tY¦ãU*`™”']C°€u™5¢—#[Î×(–W>[”z,.õ‚‹ó¤î¦i¾³ÀFÂÂÖ„»Ï[¯s±µš­Du;Íõ±ŽW©´¦…´"¤ú‰…MåüÁòÄôA\%NÊ ðî›èø/lže¥ñc¿5fŒ<&P/Ú{œ&´"@;³("M…X}Dï~Édä Ýoå¾Â  !þòn¶&ä"@4¸—Š9®R)ÝçæÃ ”7Bˆ[è¢|{çÏú¸Œ«TXÓ|ýê’´IÒ_0’ Ì­w ˆ>4ÝB˜_¨»!4Õ.þÇ“ú$WŸ¿tj™·ƒã.éa$€€’ÇÉéoHu¹pái›äzöÛ¹7o÷ú„Ší™l•ÊüÄsلٺó#ÞŽ}‘¯„‘F÷¥ÎÎæD17š§¸ÕÌ:Ž2kUM—«Øîg§‹òS[-Ÿçí ¯®ÆÐ4_ º m’¦éOW’‡)sºhŸ¤„0EJ™Óí|«ŸïBŒ„ îùv~2)ä rV7úv~ºŒ1[$€üJ  ¾_-ÁÌ‘@H ø‰€{#™~ªfÛäð:hò&À $à‚¬Øl¼ê1%ÞËáÒ$bB$€nLâð7}p7Ö $€|AÕÎ1$€n|MfBË~mìµ:rø»à¶kçƒÇÙ$HøÅñ¸ßÎ=Š €HΉæOªs{¿]énR#>ßÎ…Úµiw½_mÚ³c½}ÿë×½Ì<ä*¬¶W³òÍn=æü—Ä09@HÀK^ªŽdzÉ“#$€@@µ FÂ*"$€€—tÍÛáH¦ åÉ<õÓ¿ÞñÕËë“#$àÑ+BJ‡Žš¶x9’‰jçÉ~jëѤ~í­T:õÓOFcL§öÉžÀÂ4H Ý~:wÁl6uî¨!xTíØzÏV©¸9’Y4‹=ö Ža«J¬«_²j˜aV‘n“´#ÒLlš©óÌ5?õI}ô˜£®³LE ºM¼šYñTj•´ŽZH1q*Μ1£Pê<ćÉp‡@ÇvÉQQ±Ðí¸“HW\wÔúÖ¬yÅð˜-A(ì›®Ö¶¢Y鹺Jtif!+A>e’6i³@ÿ Æ£äH\åÍ“ÒDÒ(›ä¯fþ,UÑróÌE ²Â™„Ìœ-ÕÅKhðTµNíÛy™ &GH è$б]Ì›¸£vTr¤î/6õø“<æ¼ à՚̜ö4Wî@Hïç…u®“n^½oØÄ>®ãMŒ«°šTÞ^íšÝêí~»ûÌ÷^{ß²ک6;ÂÝzØžEõ>M¦„Hq¬jÌ6{j~âÔ0Èu2Y±yÈ6öO÷墨± Ð=¨0ðp±D$`GÀ;µ‹&%»I­»Ï.÷ÛÑ‘Lƒ?%„ÍéöÍmŸqÿ;øaís×íÍ¿ÿÁ—æ>˜‘Üžžs÷²ðó×͇·/í£ñOsו³tïäòÈÉæC€Õ[––Æ¢™óTR&bžR)rXžŽå.nð¤bz?ú€bñÙôž5p@Ü?ß‚.'_ãtì67+}$†2i÷PyÕg©3Eƒ{½)‰ô íG^áá¼—1¹D pÎ-¢êpqê3ÿòä¿öŠu³ FóÍÂc×-:ráì‘ &.ÃÄ©pÎñ»!ä™dßÜÛO΀àÜŸ½qV~yyþSOöØÈB6ö»ƒÖ7#Í%yŒ€€¨v: ED/¶±8據Öà xj½¤Þ^ŸùT;3·ˆ£”6oÝÈXWT鹉ÔÛ‚V÷gÐqEñžã2dÂ3mVÏæpîÛÙç‹Om¤5ñì&ߺ ÆHH  xÑQy¤v·µúáDÛ) ¨˜%EiÕ'èùü¯øÙæLˆ}ˆWø!1­¡h~uQ«;y úÕ5z¨-ÇX}"eÉmÒª¬>yÈ>P;¦R?X¬;Ë}sÇgßêõä\>§{‹–Ë~×­pNLæÉGyþ\:í"·íÕ¬cÅ{­ßò U©ÊwNÉ Y9>qètLsvoñ¹‰“ôf³t™‹`?Q¼zæ¢â¼ð€%›'Õ‹%‚OG:ÁëE%P0a¥ÐyC×xên"Œˆ"†€'j7eZ+õ-¬§¬My„TŽè^Òr\%y¸ÒMGÄž1]wŸo æÃ™Y¹“[­?P¦ª6?öÍq,Ÿ¹ ¬ç¿'?Yߪd.¬<Ÿk›8âm"ÅtPhÀZA=oG¥V©Œ'˜‹¶¡ÇŒÛÅY:qnTÐvóç;4F\ÃBgþR»'‡°å'l,´¿õ[qç’ê˜ä›ëùÊ^ÙÛ¼hÑf®XrPáLñAJªqG;UƒÏ¼“&È@TJ¹`ï2 XÓcAH ¸¯vµ}±«Iõ””ÄaMo>Ízù¯+oì^1ýëP°ÛwuœrwbiqƒM~ú•„jzëjwØëAØJ\^¹h‹µ®òÍò˜n=ÁqŒI#5›YàÎy•bLB4 õ¡.rz_ž´£/`’Œ<ÎçsrýŸaëP茚4·ÇÞÂtšZóèìšzæ]Òóýߤ0'OõVN«¤²ËÓ*ŽÛûÿ” ·,‚>VÀ.$, ø‰€»j³$—<ûtRÚó6 ŒÂ)}iÕkiÀ*jû Gm;Eõú“µRVÑ;祈ñ}O1æú®¦íŸ˜¬3Ö¨]¡;çµ\^óP]w^ñIl7îÐ|]³½ÆÏq•Ò¨iÍÈî%#Å1=è“ÓÉÃv¯ÕÞÏm‰w¥Šã~ÞTK;-umÉö§ym+»ñÉ6ýö™ÒñLõ¼ÜÓM7<+ [â''Rî*ª€BG%nâ+†4 õ½Á˜#@H $ ¸¡vSÖ¶%yÒ* µ±å•¢ÊK~B¡¬Nl;X)B=Ž*¿6}Pd|7í¼sd"yÛÚõaõl§*Ùd›î@:ÄÊY>0+ò¼ aRGÞÇüWQØjV°Ÿʼf¡>´³BH „2zWèøÍZökW}þÒ©ev~³Ý'ü µÆÐpWy¸ÕëcVðD[RºåI˜n.Êm'AÏ”ÜxÏ.…ЉÛÇñU0P™V'á5QÅ·M q6w¯¼¾¨yÚÇkgÜ'Sª•Õ,¦þ@5/%•èÕ‰„­™Ðwnç¯yŸÌøÛŽ%õm«y è¼+´îÖ®ˆpŸÌàªÖ „;'F¨õk[«Ùí$Ó»Bï"5îÞ'ó<»—ôýj§ª“µ®LY›6¹¸âFp5`É|ò¬º_Ö×lºÔN•9”ø",u¡v¢ +®LË$Såúêã2–RaµÉ€åï¬,ýê’4SYi¼›þª€‘L`®h¡fr-KütWh—Ð0@H@'jÍuK¸ð´M>ÏÕÌ9yBGxfOåÆH¦£Z¾>¡b{&‘£«H¤Ñ66éF‡IÅ,“‹Ï‹kñ&ýóšÁ·*Ñ}Õ_®ó˜ëÎx;V\V^)—Uýê̵R±­1¬—v¯‹ë€LÓŸ†­”¹2©Y¨¯ÌÄ|@!N@×óíBõ‰?öã¢>j-|â@b6H  AêÛm[Áú”®»k­öKm]±bH $àO>Éôgõ<Í[ܵÖðì?m³ó´b˜ $€š‚@˜ªßµæþz™¦h‚ (S0xµm3(lÀJ $€SµÃ&GH $ "€j‡—@H „?]k2þ.üID’…³17bw—GR³£­H døcM¦.µkÓîz¿BÚ³c½}ÿë×½Ì<ä*¬¶W³òÍn=êè~:§~:Ó¹c/‰ar$€€~g~JéÐÑ&~òýѤdìo²Ýåú À˜¡HÖ¯œ>{.kŽuFH  üt;дçíBñbhS:t°X̧Ï^h©X@Ià§sÌæèv|n=Ždz‚4¢F29 Ï$Dð¦AH è%`0û1LžÚË‘LT;½ ŽŽjw¬e?íg xÓ $€|MÀKµss$³h(/;†­*±6¥dÕ0ì"_™çÛÜ|U+Í|hUí¨è´ÊSI¦ð•ÃìJNZǯ0s$€@РjgôPAßšu ¯X GaïÜt+m+Zž[ôÖú¥‚%G f2(‚°yR/C ªNE³Òs \œGr'³ßª°œ|käÄŠ¹ÓÖñ‹á˜)@H ø ÐûDÑÿÝñíÒ&m–»óÌá3ɲ{W4+ë@vvð›í‡}º8;CÔ89{ýj±ƒœòV0½”Q—œ8@fÎÃfÏ\¼Pq©m˜;i?XY"$€B‹€;j§²¬dÕÂÅÙ9C$GfÕBR¸"Ç_–k ï±A<cªþª‡f¾ G )†þ@5S¶ÞÝmuÓ‘1Й[·N@q`aH à$à¾Ú1™¡#nÜ A»U“ós¦fúË>:”×›*瘟ã`LÕ_ÑΆ,IþdÝÕ¨V»#ÙDqq˜8­{o²øÓ"ÎyábRp¤Ä)s»Ö , , $¤ÜW;:bf%<Ëós$áóƒ‘l(o8×Ryø”JžeæÔ¼lQüP¼«,iõHÎ >k7ûŸXÓh“}AîBÂò*œ¹8‹/JÉ\Tœw ‹ªéd2;O,.rÈܶu\Õ?GH D÷ÕŽs‘„&ŸVòÓn’2-––‘-:7¤ 7]ÉLoÊå1êÙ2J€ÍeêT†c¹+'MÛ*á’¥\Àè ÂY¸fn3«ê§¦Ál‘@¡CÀSµ-'‹,fž n°—žïBÐÜu 8¶ÒQ’¾lqq(÷ªe†rUM%!cXYªeuabϧÌCV $à6wÔŽnç’´L\‡‘¹H\zOÍgºßsáQÏQmËuMHh?ÏÖq€ïR¿ ¼(z@µìw¢¹ ÂÃLXlA9T—š6IYsI÷ðñ[Å:)ÌsÍB=´ “!$€½—J|‡fŽîÏÍ•ŸÞ—4nÂf­kô³#³=;åÖ$Ðeg-feªòWJ‡NÚÑæ¬*~o$õ½T4+¢?к®J:Å~™‰Êz1•5sH<ÁŽTðÎa~¿ª°$€ˆîV{ž?9Á=µóS[„ܸB®Âê†ó@íàYSFcL§öÉ~º0[$€'Àî mêÜÑöq?ð‘‡w“ÔΑLlˆ$PqæŒÑ…R‘F#@èØ.9**ºŸŒjçs¤á–!ÜW®SûváfÚƒ@°èØ®?ž¸‚j¬ DõÒwÕ ª0V Ð& óæÍn‰jç.ŒŒ@!I€«½?4H $€•_“™àüIžG®öG¦]³1¼Ù­w À‚LÍõQ‘‰­FH 4»/×dêR;y¿ŸŒ ¹ý!Wauù»ÕÎO—=f‹€#þP;œ·Ãë-\”çßÿ`~¹­ñy†>¬f…€›Pí܆ѭì›Û>#™Ÿó÷)ŸÈ:œ‚œµÂK @µó'ݰÏ{oÙpäÂY8·½zxå:Ù±JÍyÿݜ԰7 DH t Ú…N[aMû?3¿?¯VÅñÂé²¾‰ÎSźYs çÜÒ>ãþw*ŠŽ`.ÕE祹R¿pîÞŠuâ šWù;¹¢¿h=2in“¡ÌG#\ñAiYNjE‹—êyûœÂ dŽUBHÀ#nªò@6Õ“}”@¯ŸE feóÔ z{ñ©òS4äo©˜(cШ.žJIWY©`ù°%ôSáBUtÏÙgØ&JyhÑ‚¬¬ßœ=òþo*æÞ~rõ\ØŸ½q›`+f.á/–æ——ç?õd,æÆž'ËTf¾O#CÙ>j8^òAÌïï¼V|N/î°î_¥ÆDHÀï Ä‹{]¸¥vE³Òs{ÃC}¬®­ç‘\þðn¯Žìl›g‘Ó'•g‹Oí¦O„óü™B^ÕËQbxè}Ò‘øÄÕ4M œ-HUÖñ©}…½’Yi6<(=—° hKLf>À‘òл  ™[Ú3ÍÑQ^vˆ¬Í};ð™ ™Œeew0µ[–üS»ô¢1_ÚCÈ€¹*µ ×Ì’Û‡—±‘,È}PëúiD.;”å rXbH ø€;jGU'oj&«‹üpmúˆQþ$6xd÷ì™üáÝ^½sr²Õ¹@±3sr¼ÊÒŸ‰)x ¸õ¡?PI§~â¹êáãYi6}úŸôìsÛ‡§ûÓ~1ï>÷LÙ}Üù‚Hæä±I>8íA¹’}æÓ Ÿ Tó¤Ã.ÜQ†z b»9 ±$€üCÀµƒÇˆJO—cÎ «QÚÙ£ýmÎÛžßíŠw’CägµÒN|æð!R&Z˜|üNt*=˜'>ÖÖÚHýÚpJV-”Hje¥Ùâ“ÍݦíM‚òw^’ü¹}[^xæºîÆgV8'o¯ŽÒÊóçÂ$mÛöjÖ±bYAm‰ƒ í Jí7šØí¨V4yÁVhù®œ·ÓÑ` „wÔNe뎹Ÿ~DqÆB6Ù´0C~تWÖƒ‚ÊrÇÄŽ–ãèFõØø&¼ÉÏ¡cy‚  ôª6ÎSÕÏŸl3Ù¦?Ð.s¦ÖtDrÅ$ö³A3+%•Ò1;ƒ0áW´ß†Ó¬SÓÈŒÛù˜Ë{È^íRsfL¡˜÷¿“2ÿ‚Cc¤í N6Æ¥v!OayÙ8j¾’§mxÚ‡Ó‰:¹è¹ ¸ÎjÕgþ†ܨ§Ž÷Ày;?_A˜=p‡Ü+Ú‹Û\zr/öŒl˜¿ãógôÑÚ0Ý^Ÿu¸6(w÷ƶjØd²ò„Ü?.,‚÷üÁèòÓºù‹B’•E”§¨ClEq½x˜º«º[Wô•û¼beY%õ:–p·K3+)•pöˆsññæJ›h€÷RqÕ¼ø9@ML@û^*9Ѥ”>…\¸ð´Mý.ž;ªYãä ‰ÇOse=,¬…–аy»Ù¬³÷Ѽ­³äÝ9÷ìg-Ì(Ì;°P½£ 7]\Ö˜žËÇZýzØÎ± GÝʰ«ÍâyÞN3+f‘mC@4m§ÌªúÕvÌ $:ÜÉ”œ eúÎ_–¦uï]¿­èÄû J‘3 7OÊœ4»·zý!x7âúHúO-ß´¥EµŒnVT£!Ò2² Ž€Ôâ@öÜQ»’U“Õ^ÏŒ­RáÞC"½»§ù„3x7¹Y¹ÄõªX*­·§‰äõ-0œçõþ?—¦Ðr’_&/(ѨÎ_*톀±bC¢å¹Îg;m ób‹KF $ÐôÜP;Ú…e PZ ‘6iÝgo­F8½6æ]K<éj÷ï2çä‹C™0ñå Ì;ÅÇNa‘¨?PMIw* ¡2>kñÌB7½E¯Û 3@H 3OV©øÜž{€NÈUXÝdš•¿õXR¿¶Õç/Zf²i_|âÏ/xÌ ç‚b• 6@H #àÆHfÈÙ†ö/v¸ø¨˜ @EÀà‡^Õ.¢.!OŒ…ËîôÙsž¤Ä4H ÷ ütî"ÑÞFw…ö|EªûMa)R:t°X̧Ï^ˆ0»Ñ\$€š€ÀOç.˜Í Ðíø¼l\¥â ÒˆZ¥Âúé ñæaž`Æ4H DXÝ.¤tè¨ivrN )ÙEj/xv/]jwäðw‘†<¼í0xœNÖd†7 ´ P!µKïçW›Wï6±_‹ðmæ!WaµùPyT;ß^˜@ @Õ®t©ñзÃy»´@MLÕ®‰‹GH @µ d, $€š˜ª]7@ à‘ÚÝÖê‡m§Èµ{¨mõ‰4v¦,¹Íû:Ç,)â¹±sm¢³åšØTÉûZèÏ-Õ¶¨Õ<¡þ@uAJ*‰¤ÂV,â‡y1VùË%:Š©ßŒ‰fÏ·–ƒYž¨Ý”i­ºÊD ƒžû渒–ÝKZÎmxd½J=¢6emÊ#¥çinô¬x³k[‚çQ)¾LÔ3¦ën©Â™•;yÖú•ª$~²¾UÉ\jøˆ·‰HrŒðÖR³bܵ™Æ$oWИE‰›ø혾4óBH „.]ûí¬v €‘[šÚ°¢ûù×míNüäD«“ã*¦íÕ‚~»@M×Çh•%¹PüSçÑÜ«ŽëØêSÖ¦M.®¸‘ŠrèTÒX™`OBÚ’¹%#×1ÇQaâ4¦–)Þì@0[̦ºz³¥@ë“×1ê½ÎÃaѱâ¾þ¼&£!*&>.Ê¥™ À†«ëàWrAÁLïÐp=׿ÿ¾†nåœ|4)ÙíñwÕ†[}Ú4YK²)³f„ìßè¶C%?óí&€cw€ÐΗ6Á‚8r¿/½ kÓ^$JrZ¥ôJíÜtWÏ>¢u…Û‘§m¬Ð¨Î›ÚÞ-éýIaR“´bëTí\¶‚7jWW[k4—m:òþÎãÇ+ª¼@DIÛµN3 Ûü‡n…:EÇÄjÖ,, ×´4bi áN®ÿ ùºTí ']NÎÝøI¢­¿Eû_Þ4½é¾c­7kS'f0§Ë%M­˜N$/ÇNö˜ß©ÒŸ6—3šVÓ5 ͧþ–¾@›j1±‡¬Ê+­4Ø¢  ÚöpÌîóé3Ùµ«­¹üÆæÇÏ4L;`ðÍÝ| µÉ2;TrvÞê-=:ÄMÛÛ‘o–†k×Oヂÿ^ù\“5› þõ£Ëɾ6Ò.=-îØžd™|?Ü9 |»óžÝ9Ì­y»ÄY™5S­‡ìÄ*]y£æí`jj¤8iw~Ç@¶þE\¨BÃÅ>}]íG¬¾®Ù^ž8ì!öñm‰w¥ÖleÀ¸®ÓÜ“FÈö§ù,ce7>m©?Ъа”»Š¤Ù8õ: [CjFŽ«L›O×­,'•o–«rñ¿ÉàÕMÓÿÎÿK‡ÁÌð8zvm;eL¿õ;EG±@Žð3\³ùôÓXþÿžüùâÕp:Á¢¼ t¶¸ëÎ0èc¸1’ sQÃ>·Ÿ7R›èý¼0ê´%nç.£èAò8Ì‘²÷í‘G/EOTSž½kwÓ4ßYà#©gFë^ìÒG³qNÇc­ò×3rëoWs¥ºë„õæ/B•ÙÌ] fï¼k+ש¡Ó7Õ×%dÿåÒÆ©æFí™Â°4\~[V̇DzÜÕÆ~Ãá2Ø~¨ ÷Lþs¤]zZÜõ·( 1æÛ%H3¢šZ&¾x"íîBùð Ëè­WuR_-¦[O.u {Ü‹:ïз#dç¼Ê¦˜û2ÉöO¬ø°¦>Éjç<êÉÑSsžR*£wzLiqƒv‰Ôl8*- rÓ5† mÈÆ k6à œap˜êëêÀ.næކk¶[4–E˜\XÌT¶#ì2ÐÕâ¾è<š>ý#™òcIËq•¥¤æY>®¨Ö'èyËk>psA¦ƒu0.—ø¢¼‡Œ:jí!•‹  XÓ/uëSÖJ{Úk6ïN6/ñ.â]eô´Ž¦ùúÕE°1ØÉl;ÝóZ V4,æú®¤äGµlÓ1O¾µ‘îÙ]+-޵©ÇÇ­³.LN*ÛæFsc£Racµ#CÜ¢a6 p†0¼.‹%Ò.·Z\¿Çñb5¸~µs`źó#ÞŽ?ù|1+Ü_i¯izfɳ¥­6Iûµ•Ež\Yøäâóor‡ÏÁñúç5ƒnU’'í~ó_ hš¯?Ъb¦éOW’‡SÀÀM“7Çɯ|AžoJᛜ]­Áu‹‡z Ô.è¾sd¢j|/è«zt½“ }ípMUxþuPêÃ7>œê*]û¢:ÈÐi7|8}M©dó©óÌÜŠ¬{³¼F™>²TÂU@²G­•,vÅKþ\^ÝÙérqÀ±3éÏÑ6æÎ?fl{˜_!›n8Z¢™“þFÔÓQ•Á±oUßwÑs³yÊÒ5c²Iô)>ÛIè¼ÍÖ›ôú íXa§vìV“›nxÖéºÐn´¦®=Óß,Û¥kG^[Êþ®y.)1‘žÏÁWœ~õ׎fo{>±ÕFíȵxº×”7vñÂÄ<åø‰c™îz.1iôš2)+,[óÄ[·>ÑSwÝ èbªi¸,•ª8ðžé[•( æPH6&Ó·,œ`þœ¯UL)!ç±×¥kÆrþ‰òG¶|tÑg¨ÏÊè•.þüøÂ ­®±eµ¸ØèÒUäAskTÔ¬Ñc¹žëß)•²í’å‡þÂl¦ÇÀèk»Ë[lbÛö²½þ=lëdzìù8a§vâ` ý]ÍB¾©üj€àÎ"r_/B¶NëÕ¼UsñüÓNÖÐoôÖiGyéòåK—ÿóÄ’¿¿U u¯i½þÃB.j%,ÉÀ¿üGÁt‘çñ?‘iüѦA\J¦®Ü)”­™¶ñÞƒùãS;_²tèÐ¥/_Ú0¾³ŽÚÒ(zðjeå;K¹$­yeÉÐëº(  ´39õ᧦½¶™ËÝÎÏ–L»g G„ypÙ¡aÏÁ¯ìué[Ó¦öúøŸ^ǵ]*}4L0ÑEo!çÙ1à—Ó^—­$?ì[ÖQ‹—­¹w„À¯™Ë— ô¤¹í+Ýhstdzf°’ª´pÃVYéå`ÙXë´m/{JÞVG¹8ô|š6\™ŽN»¬ZØ©K‹1‚è˜JºäàåŸ/‹çüAòTÁÐ%Ä’w½v(ü-;yHq0ß0èK½ü–8çñÉk¿jѺœ7LÛºõX)¤êòÐ’e‡~Õâ¦î}y ÏN=\´rö‰¥[§ÝÀŒºá£Q7<ÔL±h™<(ûñ¥»ÁÒ]‡–ýa€4µ©Àì’5jèÒÏvÙ£è’Þ‹ü|4èU»ØÆtMƒ-bô 5M5èvydF›òùÝôJ°oY~…Ø„—~D¤«Èö֨6˜úíÚl¦JÞžC¯íª™‰êë ¶ M{9¢ä}•ôYÒ±PíBºùš¦òz~LÚuòu¸£ÕÏ]ö2õ¡Wïýè…bZ2ôÕÕ«Ås>JMç+t•ª¹kµ±BJMÃ}c©lÔ‡ñá=+[ìM˜»ìLö€ØÌd ´`RvLú/ èî.hqM‹–†Cm-ÓC£ÑLL0üçå1p~uõÆiKÙÄ•™¢QÂÕ%»Ûܾ¸ªæ€øv©i½¶~Th77ë mÛKóú÷²ØuþG´áîz¢y'ExS=û´!Waš/9Ë’u³VãJ*)œ†¤¦÷ÚújaÙÃãSIyáÆ­Âhu*9“Ô‡g¤Ñ[‡¼Êâ^¹óá¿R—¾ûOÃɦª[’ž\› #™L÷¶þX"öÒE=¡_vMÃ}k©\W%[m“S3G\9‡›ÊxJ0E8æ´â—%"Þ²·çfþuüÀ¿V}{ÝØ'O–‘*F…NtÜOwdÛ6({ìÊôÿ:†—rí£ZfÚ%f¦ 7Û\:›ÛÑ¥éÆd?©ø+W×–ÃÏ>úÚ«½{ÏM«ßš»þ4—¥.µ0xœ_k¶gÇzáÛú‡\…ÕæCåíiÜÛ_οè.¿îŽ"¨ÃüuÓ–¤Þmž dÈ´©C4²å‘!ÚÔ¥¯°^Û»M·aÈ«>L_™4šlºÇ šÕŸÓ¡I}èÉiÉ#’– y훹ú9<äQ)=׈#Ã}h©º’í¶&?&¥f>øÄñ'«:«B gê¦*á°äµû{'µ¡¨8ÞÔtòÄÍI€BH¥Õá Ø & èéAg'uð½oI[1ëµïƒE¶-»„'±oñ‡Æ/Q®i›.üuþævTU¾DÅå%Í“ë¼þbIÿþ"¶ 4mc)¦W·•±¼‰u{¥­‹ÁýSxш^”êERm¤Q‚®ûd¶iw½•s4äÄ#ä*¬nÍÊ7»õXË~m«Ï_:µÌÙ½ÖàQ]Æ¿Wõé³ô?ÁÒh‚‡Õ¥üæ•?Þh¢·³?ÂÏpM3Ý¢ñòÓOÁE0ñ.íg$¹þÚS 0üÍ";áé¿¿Q—Î’¶JΉ&¥ž?ßç키C©l’f8ä_…¡ü‚šBo‘ÈÀÅ ÔÂÊpÍæs‡½ o ƒS 7‘fí"é2p§ÅC©“Òª+ª]¨·`Ô¿Ñ$ð¢ÑÔº'˜ÑÐP'´ÎE76†k6™»4@à„TáqPsØîòȹ Ümñ&èk|Z$Ždz‚3bG2¯Ö\¹múÇï=7¢{‡æÁý‚“Æ{B6°iØïZ3tÖÇOWþîÕ'Ö=V_W­Y…03ÜÁ0¦{4žþÝ£m®@”ö÷5+#ç2Ðý½Ž2¼ÉtSíJV KÏ-`ÕšY(,Êd¯4uT]Ž"Ї*Uêì¼âÍ“ÒÜÉÎÿq­ÔN]m¹²úåÚÍ2d-V×]ÌÌEVj>JT'Ô4¥:þ¶cI}]ÏÛÕ×]ÿÎw§Î]þõ ôÛºµö?iÿ–@3 Âg.¯Ø|¬[ê5‹&»ZsQ³È03\[íܤ±coE›vŽ¹Ñ¿ÀÜ·ÿwÅ;S#ç2Ðý°œ•|4)ÞCj=|v¹[jGûcÂE޾<ÀtH3Ð=8¶ý/í´Ì–ÄÔ½¼ÛªÂàÓá¶•Õ¨YaTŠÚ6åc¦o½mÛ„†æç8ø•àÚÁsQ¢¢¢—|ôý»Û¯¨ l¿Ò®u¸Á=^|ìž(ctÍåsšå…¥áš–F, 4ÜÉõï÷/¡¾¨vÐÇ.̺PI‘ˆV ÷ùt!­vVT$“õjARk;…:mõk@þ\³Lì½Q;ƒÁhŒŠ‰ŽŽŠŽ…×t†Ã­'ãé¾$xDc”×ûYÌòrp7"Õ¹Z{ÑܨýÔÜ®æäWrAÁLïÐpøž¹¼þÝüâú+zÕÎÊ«YÕÉKΟ;öºV;û!:ÖãçäÈe«0¬:õ„8Ȫ ±ºS·âª* õ˜LVØŒµêÔ(ÖÚ1s”•äüʧÛ!öFíÜ¢„‘‘@>$à¥Úy¸&³dÕÂÅÙyS3­ Ñ ô…©E³Øh= {ç¦Ï*3]œOV°À™‹³  9âë…«J|Qª¾aæÔ<…’k#0@H ì ¸§vÒ @+·N3ЗàÔG¬¤Ï—¥4E^Tù!ýxðÜ<+JMa –‰bî¨]ɪÉv^¸u¾58­{o²øÓ"–iѧ‹›ÊÓ4 Æ¿ìÄ>žª?Ð6OêµYy©šY¥ ÉÉ^Ìg'é\)OA½<1-ϵò}Û˜@H ô¸¡v´ %¹éâØ~Ó ô5†ÌEÅy²X¹t“ŸÕ ª¯Ër3?UÕ °L’;½úíÔN=hK?ÔÌ ”mEa-¡U†¸tRZ<³0˜(¹ £#$€´ x±žÎ­Ýåþâr7â ¹ «[Λg øë À|‘@®Ð;‡•ì&µ„ OÛĽxî¨fêä áÞ+¤d©9ï†oçª&ø9@H %€j¤ ƒÕBH À‘LO`†ßH¦¡Ó·ñÒ›GwhÏtZ8áR_ç 5Lƒð˜@ÍyRYFOOG2QíC€›lâ@H ‰ †@¨Åb‘ Ùc7—–þ• WØ}h‡G‰a—ë*+Ã6oö‘`€µ pX3u>,5;ÄèìíúòP«xpgm$^3‘ ËéÇNÉ©È"a$¬Ñ­ü€×0ö‘ÖGP;³ÙÌ¿]´·‡¯ôÙÚåC×Í´‡>^ ‹ £@?çW¥¨T,  ”Ó3ɵÌVæ¸ºÐØ4™u‘Ôë´úösA’Y%¹tò*K_•ä¨úSYe­EŽYÌÍVdQ,TeKÍLçäL(j«Ó2f„Œ„†È5CÂò Þ¬H¯aì%¸ªa/µk4™xÍ%I0¦<¼÷V{AÜ¢ÊǺyU%1”zH6ƒ¤r|Ñ­RbÐÎ5º¤·\eå"¬J¥W©´ì¥ñ4¶¶Øš§ØÈ™+±X6Wu e Š:Ca•U5ÑDñ·KÆâXÙ.AÂì§ =ñ ÍêêP._›ï#^Ãüw$ö¢ïnýpLLt Ô®¡¡žº'*¯MòÂ$OJQə㞛\rp˜“¦¤õˆ¨˜@úQÏÝ=qÔ]Â’G))ˆ(\?ÄN±sàž'#ýpÑâý©ìˆ2'•FdÊ,—¢xb’îZyŸ²kËRÚ”ÀÜ@ÖgËÊ¥²ÊÊžžâ,³Š!a¥µ0^Ãâ÷WòøÅŸŠ¬[Á^‚÷£|\;"úá¸ØØ@¨]]]èËXUJÊ`íâEïEód>‘µÄña>©‰Ä"²Óç¶ø[Õ°% Õ@¥ª|¤ŒÕã…rÝä|¥*ó¼0q–eÂÿˆ*ÛN³à£ª¼ö\:¥L[Q¥–Ý_±2üÚT¦ðäz«ë!Õ¿ã¬JH K_õ^Ãâ㪱—×^">>>jW[[+©“¤Cò5¥îµ­;hYö%±`óuU„F•Ö>S•©¾÷Üa³:•µÕJa­>µ+¥lͨÇÉkOè¦ØÕª«(*ŸZ¸å ¥bTÅ)ª¬žç”ëhc|¸–Tœÿ\@ÂÔå÷í5Œ„­{$lÓß(¿ã­~úS?¬º†¡vW®\QKõžw=ßüWKDXÓ7_Y0Hñ§¹o&¯ZQ\4õ¯.BJ×Ü;ݰô#~¨«?¥¤¹*㤊$:elT“”Ý3&´âÊ1ò”ŠåVí3ÒÀ‰*[;fšÕKåÓÃekïF–~4ÄOÕ/‹KRÄñHqÅS•|@y᎘L\qc}Ù©œRÎQÓTÅRJÕÏ5a-ßÔFUÔ#- ‘0û›0ó”™Í«.$,^eâuáé5Œ„ñvÙ‡N/Ñ¢yó@¨]Uu_¬Ág¶Êß¾¯÷ã½6UÿõNÖWíüÓ²äŽ/×wˆ‹/i7&M‡)îëÍËß;¼ºa|*ïéd÷ˆ¿ú@yÁ>›¯§ß~>&ÎÔñ©>¶~„É„8[&vŸÒD ëL•AHEwTÍ%Q’\BÊÞ;Ãðê‡ oò’Le… •:KÚ$NŠ¿’¤é@Zci+1ew÷híø¯NõÜ!‡À'#¥ù<7 ³¬åU±AG˜5&¯£´è ûôFÂìû,®ÑöG/„H¸eË$wÕΓ;‡Y,l¹³˜Ùi)ݾAXúýüb€yÀ_þ2 dÍØ1k×Ìi™ÔrγÙRºflK¨[Rˤ±kJhÒÒ5c €c Äl)Y3ýñ­Ûïݲ%Ä0—¬“ñá¿1kJáS³@ »fÍó4d6g›Í,sš7D.³%kÇŽ]˳“4g'«áš±Ïï¤Õ£ÿY Âܵ–ÏCõõù]`T‹e””DãÓtc 8¨Êœ V´fËÎ9´ ]kÆŒY[JÍ멞ßÁ"ðúÐ*‚qkK*jAÙš±cŸŸÃ@Ðv@UséZj) b––¬…lÁ@0* ZU‚)F¨0ÇòüNx ‘Ç®YK«Gh’¢&C‰´yàû—ý'Ðwôc¦¡´ÅÚÉ„i  âÀGÌh1•d-ƒÙÉò—¼8þ#¦Eñé¿,-—F«C³f©h:–žÂ ¦Ÿ164…X…5ŸtÙÉï% ® F+ÆrkÆÓ²üÄëV} ËðÜ娬ª”«53 #a¼†ƒ¡—PÜ%ݯþÚ+ ”;ÿtã±i?³ˆLÄI1y"‘¤™ ŠR*—0Iþ˜йˆßQÃD¹dJÈDX–e–¯„ŒË©(Ï’àqø¢$Zf¿ŒÄ•.±¿1[ Û‰}Y•Ú=‹zc,ò5,+2ï?dÊÁ“¥ `½†Lì~póNKÉɃ½¨KG_ˆEÒt?¸e'­!D€hyÚyvºsTÖ2ø€Z!ì×¾@ gÜ|óñiççög:ÔþaXý:wÏ‚–É#}yY,ŽÔ‹C’¬Qƒ:±Î¹ÿ©äàɲ¥¬òÛ@Ò·;X? ²M9üÜÓ¾sçö‡JòÊ€^‘µ dšEîÇàðÒ•Î[’'¥¿–.>®_¢ö›YEU¿$‰’èIZÀ4NÔ9×=ÈBþ%!"VܰF^—Z‘i¿T9•#JjÊã4JÒ-é’(œ0ÿ+æoøÏ ™‹$çÜl~ÑŠÿˆÕQ.WW¬¸Ø¨Š1²™ –.,³ KW&^Ãþê%§vâhízÓ2 7¯Ä{)ú­‡ÿéì‹¢2&d¾²ÿÌÙ3âñ§~¥ëî¿uã¨ýgÏœ={fÿ+™„°ÛlŠ‚ÉžEãÃÇ,ÑŸÁ¯êÓ½ç\?¨CÁ^Cæ/ïs†ØµJ½V8VºûóCצ¦ uhËîÒãCAx¥~F ÇJv}~E8¸eOɱžCûQ &4c±þt ÕˆZD¥eÃ+ÇÌÝ-¾eÕ¦uàfÓ— ¾Ç Ùˆë“iuÅn ‚Ñ))Ö£µ'ìÞk`)­ázɾÍR.Ò8¦(5bË”¯ï]“‹>Þ#’¢&)ã9ðZšwoY‘9bÀ`)­¼È’}Ä ¤€Kÿ5ŸtÇœÓûþžy¸ØÂ,ÝE )Ýñq!«ž¤µ4[*¾p”ýëÁ¼- ÞºÛÏ£ÙC"xÝaÇÂÿá»x¯i|ÖÉCÚöó¡¡hãÒøÒë²=Àó„h쵘¤h\véPÚBÒIÎÄ6å+*¦›Kލ“\œ0rY¤Ôüº¯.I•¸lIB.I(·^êŸÕ×°\x Ëj- µoNñ–»{ñºEYÒbu=e¢Àó © ç5Ñp–-AÂ25 [õÃw Níø×”;=°îËE‡r:‰GŽc¼ggÑîxNýñ¯ÿUÖiÜ”Œ§û°è³Že æk:Ž›òØ Èä×ÿêl_¾´y¶¼{_ßñ¼Mæða§T¡H> #¹âP7Ð=±×àI;¥Zhª·S-,XÓWΪÏÓׯ¾¯T„¤®¬ž}Ÿ_ýÓ}~½ú7P\ºÂLe¯û>G?g¶õyš ¹Ò« Eâ'r„õoë¤*‘Æ2’´ºPu)£‡¿ø@§¾2^=¥tÖo32ì•=Þ…Ò_RÿÉÃ%t4\dÂZÉFŸ%Ó²œ¬ógýTÝ2+QÔYixÇ­(!ËI%[r-•öUúy±“—……Û$é—¨y¢«¥æ?‘D‘…ÂJ–$\q¥kXºX9!n‚|Hé%«"ÁTì’ÄV¤É ‹E(ݳÌ@}«JK‚'öè²þ!a±½ÔØ‘p_Ãî¨xïAOžøSZZ&/e绲ØÂ^¶¾]Ü+ ÞD’­›WâmÂØ.~›ëâçbŽ<-{¾€¼ùKÞ{%.%7 Hÿðšð%þJÖì%/”òŒ¥ì~'O±Rò0¥;4J÷hBU:ùΠê¤;^~ù·®Ûî*ÓßFÓpê݇Ÿ#ÿï­SdR"~o~#Q©bbeÅÝHت9å{ŠòV“/e›fWš óëV¾œô^Ãân‘0¿–üÐK aOûá®]»êÞp”ì"µ@ÕΚ Á”z&Ùz$l})¨Þ‰›ÕŠêµê2b/‘°ý÷ÑÁ ”‹OþfY;ðvÐIØõxHX¼r|Û§§§BíNüx‚v2¢¦¨îó$¹MâNþX¾›\öþD©“=,ú‰t·æ^‰¿ÈÅ;5³äòM›ù®kÉâqy&}÷Dcþ r—®~¼Ò²/*©¿‡¼\tÅo»Xžä[*N˜¸÷›.ݤŒeÃ5•ûüÉwò³!¤]ï¬2ÒCñ8 ÑfˆèÍ"aéf8H˜÷¬x ³/+öØK¡{÷k¡vÇŽ“ŸP#IïâY—Í»yÞå󝍸¿5†x©ŠÝ:Á£Š77PTBIix’òçËÉã‘|’ÿ‘ÆY-Ôw,5—Gãƒ_ª;°ˆ·{–DUþÍÊìof.á/–˜羹·ŸœÁcîÏÞ8Kï(hæ"&lÃ?¥w\ódç.k19p¢Ä¦-2A©ÜQ±žb …ÕEH /øNí0qÁ!ª^Ò!{lcV“Ãe4<+{p*!©Ý²äX^vˆ¬Í}»Ûçž,ƒÀÔœ÷Ïæ=‘]Tô ©ŒÔÉ3yÅyÙ ¹Ü¡Ø¹dŠ@áFÀ—jõò¨‚¼]ŒHÝí£÷smA–snY ¾á¾=Ÿ ò0y ³äÄìŒ4H•3„þCJ¶åhe’95ï@VÖ¼©™úŠÀXH $|ªvà’ýæQòäœBΆ;p |» ÄMf©]zÎÉS ŠbÉgû9è´=À¥[1) &æz禳€ÉGzkùv0³7$'[’Äðh@´ $€tð±ÚÒgþ†‰´ÜÔœ=çÜÂÆ'Ÿ:Þéo×gþþ‡Æðõ,ɺw/ÈKRa3_r"ÎäÁûE‹6C¬Z‘ÿrEËs‰èÿ逃Q@H LDÖ3`çÁ§Ã¶[$€%>¡ö<)ÙqÏ@ç¥.”®n¬+@HÀG|>’é£za6H $€|GÕÎw,1'$€V¨vÁÚ2X/$€ð\¥â;ó1'$€OŒèêV]“'t$Ò*•ÐS;·LÅÈH $±Ôj‡#™{ áH "€jA¦"$€"–ª]Ä6=Žˆ ¨vÔØh*@H b „Þ*•×6•Flk¡áH H&Yk2AíæM¼'’ÛmGH D ¼Of6:šŒ@îÀy;÷xal$€)Bà$¨v!ÕjXY$€ðˆªGØ0@H „pP;xF«aتʾYE!ÕXY$€ð#¨]ź3’Ì/÷ o ÉÌlžyѧ¤P`GqÞ…\ñ@H $àµ+ÿb#™8•ìðƒÜ•¬¶0£xóÔ ±!3I&/9Rл{¶/@H JÀïjW¾«€Œúí==woÜU!"/Ï¿¿}F2?¹Ï§„ä®ã¢HC¤×Z ¤n2Y±y’¦A0Œe~:\„ $€"ž€¿Õ®bÇÇdô ”wO,üø &dûæÞ>§×†#ι°A–rr¼¥!ÙgéóÜ–_P›NgéÒsé+qê.mÒfÉþ©4•ñMŒ@HÀß¾ÆÌœJHÿÌ©…l0³¼ìPÖ‚Üþ*ôBVæ®Þís O–Á‡©9ïŸÍ{:>˜ª‰“tÙÙyÅV^^æð™GJ°‘@H Pþõí`³°pÎ-TÉÆ/'l0³üd¡=ù¬ßpߎžÏ ð´iJVÍ’V¦}º8;ÃfŒÓÓl1@H „:ÿªÝŽwO僖pn`ƒ™²“'“KíÒ«pNÞ^k’:æíìѧu'|hÓ`È"…v3z¡ÞVX$€ð”€Õn#Q ZŠ:×gþ†3n—Æ-i½ûÌß¿àÐëu+nÙSu\Ú2Iƒ›¸FÅ-‚ $æšô‰?{_Jþ<óÂÜ>n1Æg ¸… ##$€ƒ€§Ï@¸@Jv“šóÔ·£÷Ë à±g¾äÆ!Ý”ºV‹BH ° `†G259 ˜ëƒ)aÑh@H ˆ@¨]€,Ãb@H HPíðZ@H ð'@W©ÄwHhÙ¯mõùK§–™‚ßbX¥ü•Ä"$€€Ï <1¢«[y&OèHj/â]ð7ôÔÎ-S12@H D,µÚáHfÄ^h8@H ‚ ÚEPc£©H ˆ%€j±M†#$€"ˆª]56šŠˆX¡·J×dFìÅŠ†#$á"kM&Þ'3Â/w4 È$àù}2ÙÉŒÌË­FH DT»Èjo´ $™¨Ú ðH $€Â<Á@Ÿôƒ¾]øµ-Z„@¶|ªvåù÷?˜_8ÈE³ ò1lU ¬'DU¿’UÃÄ xr¢ððYEª<éqg3–„@ðJíîo/=—µýK{<(ÜIf üØ<)g§'„Ç,Y59?§˜¥.ì;™ê]Ú¤Íb~6“dgUò/£d1M´‹#ìk0 $€ð¯ÔŽd-øæ,{4ë2: ^¯a¤edÛdY²já♳'‘#3‡g²Ï2‡Ï,8j§bT;_7æ‡ð5ïÔN®MÿÌ©…'ËØÛóE‡oî^ö†7Eùl´sÃ8¹ëøH(M%½vfóâ,6â(DÒ˜zBxŽà¤Í>’ÎÒ§ç笜CöYÑò\’75“¾Zy8'gpqöÆYúgþ2‰ÃŽÒ@$q"ÏÌ@Í⣔Åyٹˋ°ŠÓ–¹¨8'Ÿ+¢!=· w÷4):v>½13$€€_ x§v…sna~Û-gónN*Ô4kAnVáÔnYð·¼ì’:(;ëõ"êÞÙÇ!«Gsÿïö9…ÜGLÍyÿlÞC4G=‡ý@¤ÃyÖmóm p÷ Šó,ä UàP9vªi:ÐÄì Yì¬âè©#ÆAH ¦#àÚÉóv\ê<>ä|¨‡÷ÌùÍ’VInËç^—ž9ó´î½e®DÊ>ÕvÚ`IK.É"ª:v:Û£!$€‚ƒ€wjçÒ†Ô.½ çä± ¼ò]…S25”LGÉOϼ]ZÆ>k—žÛ»pQ&$Ö¢”£”yR°8“å@jÊ3v,ª¸©föŠ¥uŸvq\rÀH $Фü¬v¤Ïüý a£OöØ8·–±J:˜©m§j+W*õæ‡!ê(9Èhü†Æ•¦Uvqš´ ±p$€pI€>ñ'®C³¤~íªÏ_:µÌä2A“GÀg 4y`@'àá3jΓÒ=¤æ¼¿}»ÀÁ‘@H Ø@µÃk $€ŸU;ü‡@H ð$@Ÿóƒ¾]x¶-Z…@jt•J|‡„–ýÚ†Ð*lB$€ˆ@OŒèê–ÕÉ:ÂúRº›Ô\=µsËTŒŒ@K@­v8’±—Žˆ ¨vÔØh*@H b  ÚElÓ£áH "€jA¦"$€"–ª]Ä6=Žˆ ¨vÔØh*@H b  ÚElÓ£áH "€jA¦"$€"–ª]Ä6=Žˆ Tí¼)tµ8šŠˆ$ pLä狤VG[‘@‘JÕ.R[íFH DT»Hjm´ $©Pí"µåÑn$€@$@µ‹¤ÖF[‘@‘J€>ß.®cBR_ú4×u÷mTh7@H „ûxÔ0¬šÔž'Å{௕Ú]]ß-¬lEc@H ‚ 8T»SËLŒMGH °"@Ÿ].ùv8oVM‹Æ $€€&T;¼0@H ü  Ú…£…H $€j‡×@H „?«5™¸J%ü-DN ˜-fS]½ÙÒ(BP56Ôû¯”èØ8ž¹FCTL|\”1J]"Úë?þs“·¯z• U»ø -ûÑýv¨v7ü… —._©±X,çl ›'&´oŸì¨Vho°µ—»õqÔ¾uµµF£qÙ¦#ïï<~¼¢ÊÝlƒ3~»Ö ct›ÿЭP½è˜Xu%ÑÞàl2·jå¤}©ÚÕœ'¥»IÍT;·¨jG†®Ÿ¢®i“œ˜ØÜÙAõõuçΞ!‚99¹µ}uÐÞ h"¯ªà¤}kk.¿±ùÄñ3 SÇ|s˜lÀ=TrvÞê-=:ÄMÛÛÆ·C{½º’‚#±“öU«ÎÛù ¹À« '©"qqñ`Ø¥IíõÁEÓ¤Y8o_ðꦌéçÿ¥Ã`fx=»¶2¦ßúÇ¢£bìÁ£½¡ÞÊÎÛWnqT;ô:0€6^Œ,r40‹öúà¢iê,µ/t|0€yçÿ¥ ´3æ08Ífó=Úƒ]F;µC{û}Õß3T»¦îu°|$L`5TÇ ‹7à*uap˜êëêÀ.nú@{C¿µ/ª]0õ.X$|Âà÷¾l•ms£¹±Ñ f´7t èi_ÞôèÛ_O£¿F—}¾õÐeýñC=f¤ÙÛtí%yuá0ŒImÀ—jLö%«GŒX]âñ0r°Ùë¥9.9¸²Õ®éúÍ’mºò°ïÙÁÀÞÍÏ‚#a)Úþ³Ñï—l¶óýY¶fLBB ~ŽZSJ‹([;jÔÚ2^ÖÎç!ü¹¾/W²ÅÉWÞ‹BYµÅó¹>âÆ«êE­hZÿØ«®•ºùlZÓªò>1Ç% ]:úvA¦yU¤›~y߃9pÞÓ¥|Ëai{¨Úèûez¥kÆd|8úpMU =7Ý0¥÷¨5el;+«tí¨ìƒ¯®zaï‹æ9:ïý=+ŒJÈ&¢QUÂg;=ËÈ.•ˆÅ‹Üüa¯}ulêé¨Úޛ㒄ËþÕÎ%¢&À~ÂÙ'ú@ûN³ÊÈÖïÅÝ¿ŠššÑ")IƬØ"9|áa¯©rÃUìã¯m8(W|Z}ä«ï«ª¾ÿìƒw??Rí T!—}ŒÞ»Þ˜B–/}8UŒ?ð…CKɇÛK¹Ú•®Ýó£1‡>/}¬7W7â9õtdÑu#CˆZ¶ýC²üÐ_J©¾@_—®›˜˜ÄαkÀB°nôÚ5Ïñ$p^Ù±ë91 8ê$ÖG]{Ø«AG[í4Í¡æ<7Ú†ƒ{ÄÇvý=@µsͨ‰cT}_Ý™9@ýº–‚YºŠ}[¾OêÇ]¢›˜H(!¿¼¡ê‹}!è#.+KJj)ÚRÕKvø¾ #{ØØ¢W¯ÔÒ þS¢¥vI¡mjÃñJè—BZfÜqSóïÎ`Ø|}øªRò)=ypèèLµ˜¥¦÷Úz¼„z\§õÚxïÁ|J ßÎC{K 7lí•n§Ð©ãó/_¾DÏÿôšúÆ.ª\[§ý%ybÉßß*ÊÖÜ;Bø ¹|iÁÀ]Ïõ:þOrpô†i¶¨‡µ’’9¹(¼ÌY•œšÖ«y«æüì5m+­¶#s ò¡ë–H†ýÉW~0¯Ë/ªKDM!馞X¸sp¹ªJáUS…´Hé’T^2rǼ:uw(é—C{µà¶Ò/x x®UUÕ¡n¯ Iéܵìm·ŠSU½{¦hp€ÏlÚÝ¿¦Ë9ï#Ðþœž[ɽËz>>ý-qöÎÛÉ*'sÖÿ{8I6ôÚ®ö.{kL‹Ö-àüÕkäÐIj×Ð%Ä*ÖõÚ¡t~«ð#"…з'‘×~Å“Ü0mëÖc¥¾à{í+6tÉÁË?_æçÁ%Ì:Çæ •Õ…qtÏ4ŠÆû«Hƒ‹¯ªû ÌÝ>§*¨šOžè¢ø1!~è´±Ó ½«ágJEEu—*ûTÛÄIͦàà»ßþRN©i½¶~TÃzòQzâÐÐk»ÀOò¡#3ÇÏ?pïG7<nßû:öFAõKßsÃG÷¸X]}±úÀ«Ðû3·C±‹¿¶úêˆ/žóa8Ôk×Ι¯ãCÊš#™Ä9ªÈpKa‹·Þ«µ.{ T;—ˆ\·ª² iiâ劲ª–I¼ß³:TÑhøŒ†|˜ƒÑ:RG‹^w÷#_ðÉ*•-¢ áa¯s©©-S:WUì+«êÜ™6º=û&UÿDðuƒCgëës࣯‘ǧ¿ ¿æYλçôž!ÀÐ&íÿèoýÔ‡_yíàè1kË}]®bˆSµóÌ^fTï¹°Œ”W{眹tQæj¼-+ܸU“¤6Ò8ÜÞÔÌÑÂŒ•;¥Bé ®ê­Í»Vðƒ½v”¤æ[M´Î9êÈ;?_*QòU‹;û°V@µóu?áy~)}èÒDqAÊg§ºü²¦l¥ôé—t€Eû²š/7U}AC>;˜ÔO;•çÕ DÊNýèŒã°,E±…fÒÝ„áb¯3)c…®*'½Äy8{6?zèT ùúi•ЇÃzNÇßRÇ¿àÞ½“Ú$Ñs4ÙtáÃñ%« 7ê<þÃ7üè<~É«Gpmþ´kÀ_(o“ƾ].Fór Ï÷öÚQâEÈõäo™CÈ6‘LÒaÓ‡ÁOϰ;H墯Âg ø 3?q²¬÷7û £ ËâÀßvïÖžRho5”‡ÕÑl_x&@—ñïU}ú,íÃtÌü{Xv“Á ?Mpã°º”ßü£òãÇMôbòö®)Ê×Ý7ƒ¼úˆœ/çí+>¡d7©½€¾/¹c^H <° ˜YñíOï&Êšb`–ˆ¶÷Éäí…ö¤­EØ>.KGûò‚Qí£wB+€/ 4šÄ^4šC÷3êáC˜Öi«Úˆ&îðÀ{ï>Ðѧ—“Îöåß ÉôA#{×õÈ€g†ù ¯ ÉøyüØG#™hoÐ4”‡qÔ¾Wk®Ü6ýã÷žѽCs‹`y°n€‡E6E2ö»ß bvütåï^ÝqbÝcõuVûñÑÞðn_õH&ª¾‚gÏ^ˆŠŽ §ºòg[›Ú·O¶„öúà¢iÒ,œ´o}ÝÕùï|wêÜå_J¿­›Æ“ë›´ânN—7 Âg.¯Ø|¬[ê5‹&»ZsQ Úë6Ó`Jà²}Qí|ß\.\‚'z;zü©ïËóŽÍ4¥Ž—Œöú¿ü[‚£ö5›£¢¢—|ôý»ÛÂãOý[‰@åÞ®u¸Á=^|ìž(ctÍåsêbÑÞ@5‚ËqÒ¾¨v~äŽY#&`0áßÑÑñ0\¯éD—öT—o¬4FÅú&#­\,æ)Øq…QÍ«µaÄBí ïöEµóß÷ sFH `!€;‚¥%°H $¸!0œ±$€hJ¨vMIËFH À@µ g, $€𒀏ß.!½yt‡fÕç/ ·ÝwTÁúú¸¦¬;–@HÀ šó¤²ŒžµDµ‹igˆjÓP÷NuýX9çFsŒœƒá³n­¥Ü‹í ÷¢ºS ƒÍçèžÚµó_óÁÚp‡[uП-”îVÎ~\²íVó餯£é†L#»S ý‡âÊ-n5ˆ[-âÖ÷Ú_œõ·´›—[(܃,†+¤æ©þ‰Ôœ5v’x~+0ƫܽRýù}Ó_ÿÙçÇ+Á¬ÝêµÝÒ·® ·¾on|“ÝA¡ÿªp÷»éVÎnXß?w t'®[Uö[?àVCñ»ê&f?Ewï*ÒÏÙ­æó“mîf ÖEÑÇÆÂÎ˺*Iþ¤Gˆº›ÆGH $ þ?WUaG#4†IEND®B`‚nðFRˆÅ·\XHÍÁ¤§â({;c_ÿ‰PNG  IHDRBdCØÃásRGB®Îé pHYsÄÄ•+QÚIDATx^í½ `ÕÙÿf7÷p-!$@ €"`jë å&‰¨¡h¼´µØBjE¼ r«åWà_쫆×+x¡€¨¼TE4 ’pÕ"Š rH ¡@ !ÉfwþÏ™™Ýlvgï·ït¤»³gÎyžÏ™Ýožçœ9#ˆ¢È4›0â[A0ÒÑ”ÈåÄ$þ:ÑÈ⌬ÉLÿ F£hY“… ÌÀ˜ÅZK½Áü*»„ÆØõžËDí½6ÛißÑu’À›X‚$!–DZ&¾›$Š'‘Š“ Ç1“ÈNŠ¥?×V%¨2f¸ã{^¾ËeBjr«$Cb/–L²•ÄR¨’$–,Ù`”j#åji³¨z†¾Œa.®¦C®ãw †:»eW~èª07qQÿméÔK&ÇOj$Ù;WË.Ô˜wía5ÅoÈ…# ÚgÆ¥¤6Å›ã“Z·Jà(+Y¢•‘@R¦nôVÞHD±€€€JÛÉ›¬òÛ¦zëÁ$Gù041‹UY¨Pƒ®)å¬'^¬å¡Ré:VqDÜÂÃ2.cÂÍ_³¶ÌX/ü¬=­jˆ qLˆ‹kE£ÈC°8ƒH¯®sòAù½¥ƒ¢™Ñ?M<Ɉ @ v XíF+bD {nHè2¹L˜[šN¸dL¢`41³ÙbŠI6LFo¦$¢/ iq!±FH4ng`b««W¹â¤Lcý%vökL7õ²ÊXŠ‘µý™ 8eã ‚Ñ@’Fb&ç’ÖÂ&Zš„&M°f¶ÏÆpGÂu…€EÊZD …&þ‡ŽÅl¡·ü Í´7úPûB:.˜›HÚøh™\Œ&j4˜ØÅzV^&Vìš,£ γ¤ÖÊɉñü…¤dü|IÌ” ÒGò&$m‚Å"’œÊ‰'6pÎ$Ð|Œ”D‹¤ˆ ™¤V•¢—’P)*bC%ëV“œ‘òY¬S‡(Ü7ÕñƒG$£­m²š &¦ð×ÍdL­Ñ¦g’tI [‘r‰RKt@6ZVWl  1K@¤@HÖ­&1Þ`ùÓÐÄ¿OëܡŠŸSfy¶ì­5gL$f&&˜X}kªeg/ ì²¥¬M—f2ÏGå¬Ñ˜C$]tĪ^²eÖ"áaÌöW3@›pÄf¿;õZ•13 kYÌKœû›ÚóË^·œ;c©«êÅ&“hjä3à›x°%JÃRb£4©ƒÆÏë›ê/]lÓ±û3‹¦®l=Y%?N2v®žΰÓ{–±œuNg©©†¤8K5ã2Æï ãb%ýÏ(É©”ÍTQ¦†_tTÀTF/‚Ä,ÈXÌv½Öqž¨30#%å[¥ÞÊîg^˜jLï,ã,Ï›/œXc£(ÍÇ—4ŒîH6Ñ ±©‘>ëëšj/œ;þD|ë_¼µ½ ÝFјÉÀêÎË2f›Rh1H3ëãSºÕu¼¼¾U׋Iç“:Õ´ê\Ó¦ó…öç’ÓÎ&v:'¶ÿoBÇóâÏþ˲,,嬓;ÈHx±ƒ¾Ã 1N€K—$1ІI8¤9æš³BB¢@7‘ qñBÝÑOj"xø$ŒÌ@óä\Jè_©Œ!.þâÉã;Jó3¤-meÀR4–Ù…µiÅR-ÕA¹ÄN'ùmÕ¤ŸƒÅ Q4qu´HâdÉí“^ºëô-7^ñÙW7ãßfeM,µ«T£ýl“ï?¸ 1N€›4Ó61³˜Å5ÝOMþmBß«I½,k,µ5bCƒHј‰vè åiâ=ýk6QÊÑÜØXSWwàôïúO¥pÃ.ε®Ž]$¥:ÆN~ïDƾ-j¨ºÀïÿ¢ÀŽdNÚHÒ$ÍãIKQ0f‹XgLýßuçÿ³ñ"kÕ2ã—+ÜG-ËØÉ‰wÅ÷¼‚"-ñRm«›G'];ääS¿c¦F )YS3‘t5ЄÁ®K¿¼¸þóóg“â\45¨>çÖ£Îd¬óz–Õ–Å%²¶),™Âº8qYg%ðsÓ-ñã–T,Z~ÂNƺ·:òlëlë‰ekN÷x'úÖùH.YÖ>W…sòÂí](ÓKX25¬- Sp0ËWÑ÷½÷•H Ÿ¯½ KŠÆ*'ŒŒÏêÁèn®†ÆŽÓçÉhNŒIƒaÌÔÀ‡ÄLYï-¯¸ë*Š«.š,Î4“±¸ÃÖ±11‘ÅK“;äù$|£à«ù¤yõÝ"Æ'JÒÚÀšú!RÜ&(çxøV¾ø_©™³[Þ&ŒHŸ àäûIÓ:‹¯´ÎÌåá¦òM«¸«6f´þt™qr`lðO­» ßý ¹ãÏ?µ¢pE€~!°Ç8–¯ÑÔ`¡,bÏ"žšö€\°óë«ùb‹3ýkÓ°Q}èˆÀg Ñ­f’šø¿fi±DéµýªQfí[Ò*ëòöŠ5ê[+ãk›šf4Ò蜼¾M™¥ç]µñÙ}t‘Ý´0¹<0_øäá×PÜ ßh÷• †ÕÞt}îÿe¬ÓðË7B'Ó˨@ 2 È*®Ý4kcÐ<{‹4Õž¦ÔŸ|ün¹T—Eëi%ª®ÿþü¶bäå46Æw‘”ŒLJe¢¤dÖM£[4i$QÐ,,©Ÿ«Íd°¨‰£²&¿MøÈüøâ¯ å¬Ã°¼Š¤Kñ¬g»#Ë:SÆ’ö#c’éSíéxú‚ž¤|ç‘RX=ت„ŽLk·àé#þ¢}.™—5píüÆi­¤ÚÒŒé 6‘?&Ý®9û¯¶dšr–Õ†dÇÊ%«¬»ºì÷‘±T²"ûò‹Æ³Î|”êט݊ ¸Àì0I®V§äf¹!§†¹8î´uÕTêh­ x  Á!À—âå;­ûK¿C4ó¤…î\¦Iö|B‡™æÙÓM\'%«M×w·Ê/ŽßÙ‡¦. ‚E É!b“@Kj×im`É4'‘ÿüÒÃ]Zñ¸Œæ(ÒcÆÌqöOˆqˆÆ4V¢<ŒÑrôtiù`¾Ñ :JGþæ<ËŒ;òl [õerÆìV;=¢}éu4åŸ&g iŸº)nܳñ ³ø‰sŠª®Q^œÜÀ«âÛ5—„©ë’ï[5õ/<þë]|’£Û†gÌNþJjå92bÜU?þzðûß¡&Þ¸t"aðëÒkËÂvçÙe©-Ù›öͯ¯y¿UÆ¿%¨9sáÄ“v•ÿTÎÝ‘wUú)ƒÊ=ç”Êžb=ZôQcö+¿4.£qÑ}’w‹¿Ù³iC¼Æ0²6÷¡Ž¥”VšÖòñ–½“ûƒÉÖmw¸Xð@ F Pä$íü9)ʇ|:"-YÏ'"6I S‘‰'² ¸ïç4Kž4Æ X ²ŒÑšó”o¤–ù'¹‘2ZÅ#¾}R‘~ãäŃõm =ÂŒžo¶$H•’̪ÒkÛÛ¼[S³Yí†Å_°Ë~_{¨K)cCoü1é‚RØÒë÷u¹ž/®/gí†ý¼$©ÎȆ¶iüvzmåôçn"SÚô1”ÄóÚÛ´å±Ï±K7=oùucVO%Âl3À4tBm¾´qù†o6N[WÏׇ,ûî#Ëÿ„¿îЫãúÛoHtbÃ¥j˪6]LkÌ-X¾‹fyÊ͵¶«üŠ^’;ê."•N.y(ØûüB–—ߦÅú5f¯;C•$Œ}ïþ ý'<ÿYßu—¥ d3ì“â$çÚ­I-æÜà|M%6Âr%²©vök} Ìkz¦v'ÀY\‚²+¿E\~hHÌBó8hº‡4îÅŸ˜b`ß°M•ëüÞ.þìwuIW&=‡†otw<ßmGHq5§sÝRƒ®¦Êy»;³A£»¼NÅ$MsRår‹víJ3ù~õ¿6µÒ8ð†]'Ý×/×ðÙjcBÞ›\¡3Þ¸}ÿn~bë+t4·Õ8åÖ0‰ƒj°TI3Âj%ͼÐzˆ×R†{ þ–Æ ›˜ñŸ}iJ½4±žVŸ²˜3_þPѰñÃèÃSãnà"”Ò¦ÓòãÕçi‘*“`¦[ʬUáј-Ð’âIàHð¬ƵBÖLIÏZ”ŠD1ÎH»…ƒW¥V'N*ú+ÿ½Ç¾L/ù…æzŒ}b å¦)uýõÇïþzSþ”Úî$Qò'²øÅg³êyÓNIGZ÷ê—ÎÒ;õÉ ×ízõ³.j"é˜ÈËS[Â!¹,oÔ®i­êë’Îl¸’n’“7^­õ5ñÒV.·hmWñQȺ³. íµ˜X\±Síë—jHØ01Á”ý§OÊÛñœ¦¥«jùD˜QÌX—o|.kXôâ.mzÖÞ0[ÚV{¼d‹kï8"­~ÍóàØAb™=¢Ò¶KÓð?¬y`ÁC1)£ìbæ++åÞÊñ·ñ)õ|V½XõÀUòÁô•'‹É k˜œTL ;ÄhVGkÀ’ø­bÖßDzò¦”l¤°ªSÞ+uTÔaðK†¼ØaH‘u¾Ãí>gñâ•ÜÊøx‘‡x´~0àñ »ÿñÏ—J2Äq†Ò¹+ûMûrYŸ`MÂJíH»XøI=ë6píþ!Ïóm˜ýú³Ø™ åâ EudСr¥E)éhŠÕ&s_??½—ý‹8ñ-â`ì~²b<ÉöÁ‹§ûï"8Ÿæ ¥/¼MÂo¾œ ¸Ô%R£6ÃlRkwü¨ÓÖ-k`„hÊï¹Ù6SñL Øc±AúEsz(·ÍQ„CÚ#IÏ+òP.`4Û¾±žb²ºMŸp {ði]`i‡4fVõ»Ëéxýgïð·ô¼1¾À‡un< fÑF·Ž5rÝX÷X×v¬]2kmd‰q$c»$ÐòÒ­`Fe¡ô#JÏ+“sn<“©ü¬Z’è×–?5“×%?k¬v[Rq‰š/´ ú[c'å—×rjUÊÖݼ¤ØÉœ_XßG82 ‹ÿÕï¯JT%ˆ9w¢ô§…I*yÃpVªðª<ö} ûÅCõ—ý7éƒeÆž÷\ºš»'o¶:Ûç5ögÆb^²ñ²òq¹õæ¯US©­ƒÚj?-Høž‘yü#Õ`ªÅDÚ4kψÒó\Ün–,EÆúü{4 Ûò(  Yìþ ‘ÄL|˸ÿƶÆVm É­ø:÷´€=© a”y’æÖÓxf&%“dŒ'›Mç/Yö_dwÿ$r£”켉5îeß;NG¤@KFω‘õèÖ4Ò°fÝfF›Q^„6ÍDG‚:;%e ¤É zÊ£Lˆ¬o¬ 9©›ôúÄ-µ?ë|¾öÒÙš çkjÎÕÔœ=Wsö<=Q¬æÜ¹ çÎ]<_Sw¾æÒù‹çjMçëšÎ_2Ÿ¯I³„Lizm…ôÖB·k¢1þX—x£q£€ŒæÀóÀHvXŸÔŒ"»fјÎPLöKÎ@ÊiÀADµ  ¡"à˜^6‰hxvÈÁ/»ï|åñ„xJúÑB´Æ‡…kr2Ój½‚Ål ñ1³…¢4£hi¤Á²Œî7½ñÑô’žó7Euj4V¾]–±ö¬]*£%°ãŒñRŒEÃh‰”¬LPnè¢#Ò:"\½Ô LÃF¤ Ö•h-t$ÇŨÂVÆf޽-Wê°"0sÑç±°ê‘À?~¼lÿ‡®¹í¶f3“÷ââ5Æ)o_~ù‰é}È…Œ…I%:e IÅÀ]±¨9F Tž5ÿPnùzãÖÝõ¥ß7оagýºoj?Ûq©øë:Ú?ùOýš¯ê>ÚV{¨²1FÁmš0]G)»"¢‹›„u×>•è49dlçkƒh‰cü aN@ýÊUÕíR„vmâiÿY;¾whŸÖ6ùgmÛ·I Ž·m•Ø:9áPdLç/UL›4õÙÙÿóÆ»K?¥ íí%k‡ öÞòõSŸ.Òï¼VHÑä½ùæZ¨Â§އõؘœT$ »úá­:ýA1 ’XõËOq •Åli0 ”Ì¡­ÉB¿&b½¶ð·ôÿôÚ·Æ[¯MER1$]’F]$ÇüéɱcFõî7 s§„/·<~üxZ;aëö †3gÎ>|øÃåóÝÚüïeë:wΦb²€ÑåGÿZøåg{MoøaÝßÿöpKµ…O%Z ]ŒE@4öí¼n;@ ´´Wi£ÉB{ƒYh2‹&iç›Yl0±:“@;—7‹@ð0¿Ðv[8µ~öìY‹¡ýO?ý´jÍÖÊÊʃ.X¼òÔ©S®ïýÖ[omܸ‘$ðÿó¦[“iiÊ^¸Äw!òR{èËÞ'ͽnŸ¡Z;k»íšPõ²õ¨½ºþù'_yíÿRSSwlÿjó·Go¾ãÁÑ?ºòÄ·ß|½îs«¬.Bë„Öé=õȘ¬^êN§t[•Ñþ!ý]ºÝ(P»ví·mØœ7Œ,;•\w½eçÖ„%Q)§(ÝV¢Ê˜ƒ%ò¹¤‹Lývy½à{wzóEÒ¶:Šo”¿K_®bùC,¯ Ëw»45\39…>sôª+&ë¯7+¥«;B†U9ëè.¿ÚƒÊ@ 9m4f±ˆfúªs©Ÿ)z^0´_¨7põbâ«sŸ³Ð7Xúð†dÞì§öUÓ¾#ÕuχfИÙÇNP¿û-¹±­”­”L=õÅK{çÛD7Ëÿ¿Þ Ëshlýºußï>yÝÀ#˜¹më¸Ää5\~²êË öãQváäO® wˆÆ’“Yjª4Ñ£‰½üàú×``'NtQÉUW]µçÁßùù¥ž›Sö÷¿æ ¼ôÝ#ª™V=µdóÁÓ„]{m_Åi«Ž~Wv6+=Î÷~ðUƆŽd«6—dì09 Kûw–öoF»ãòwþ “^ÐG\ý]ùmQc—Þü¬î·#Òì¦ÐJJ~;ïŠ»ÒæNëÚ•uxZþÔ–NL™<¶k×ô®o˱íô«¹@JÚäñÍkó2jˆ~öÑŸÍa6 ³Ÿ{Ž<§ëMbÍùØÜ¹ÏÓ‘×$%£ò¿^nYÝú©gò/‘¥)_¥Š¥…JÐæî³ €Ž/™<½¤dúÕúܽô¸Ý).¿˜›‹ÙÈßßÖw‹òÝoÉSf)ãÚÇ–ôî¡þªØ`׺ô; q—y~Å|úÌØ&ü…ôK£uÍKva}Ú«/ÏÜûãw»6~sŒýôÑŠç,ZôâÁ ïîXöÆ·K¦Íùç“.¬§¿œèþ0y'=ûüó5çÏŸj»Xh·P k¢,A#K]¸ìíË\TÒ53©2ég¬]B«O_¾ãÊ‹[×V¦½:ÍšÏ×­[Cr¸~ýš/¾XSRB¯Ý$,Ù¿ÏÄ—>{üæØóÅÓo/Ý\Þ5¥¾O닾w—1/ÿ*”ÏÊî]rËØÖu‹úew±´}Æu‡'ª3N^QA_¹’ÃGéÜ\Üïaö9¿d=»éð€Gc´}µÿŸ¬7èR6®UGßÝF?°>åéñZ…«~äÙcÇN{`O*³5QW´H9>reÊÜiÉïP^æÌ±Râ1½k÷tdÿ V¡h 8ûS§Éeæ¼ÀÕëõWù¿´tŠèm+—'ƒš}Ý*V<ùDïUÒpU_þ½kaërÑì<)¼[>äK}§ðoîÆÕlÔ.ƒn[²š"×›¬@¥·š2ȱ ¦õßwüÅ Â%./ÚW½rì¼Ñ3˜üâ>§ÛN?0UÏ?;mÇ[Sv¯zmëâ¿Ê6<÷ìää=ó·?¹6‰¤…æqÈ;© MèhݺÃó¿ý®¡¡áocò§ýáVf[¯Éy}׿òZéÿ}ßóŠöµ'/$Üõ`×_0à¶Ü\>m„þ:”ïneÌÁ’Ë/ï×*IØXžQZ}Õgû⌖K/ï;BøÆ'ÈÒß¾Fcl`î„×J·²ãGö޽MQXqt[4JþÛê:ús¾Hýo{øeùŽì}ÛØž{Öm§tßž¾Ýøßg”a8µàþ–†R4Æ·k4]”6<}ìͯøñ];ÎËé`¹#óŽÖpB·ôdþH k…îNÆç àH@)Ã_Ò„úIO*Š%+m²†‰‚HÓî½¹ÏT žø7땞;å~ó¯Ôè ȳƒf4×gÝ×ü”–¾˜òð5Lßýë˜B‹WD—ûß#5ÍýÜeÆÅ‰ TažÔJVÏ<õÿ¹ðܵȼZçÌÿ÷G†½1o–§æ«IEÊþÑk)V#{ü…wžza)MyæÍâg__Çê]ÕZ>ùÉGïνµ+»TŸú³¸óË6/£éò¨˜æ_7YqKèćûÿ7%)quiÅÉêº;Òö^‘Þv×.?Œùø,c²>mûrUß\»¿¶Ô >ÿ“‘º]ÎVlÿ|oÏnYFí-ÝZq¸ß­ýõôI_׿ýÐá/×é9IG9\SvD`:ˆ¡HË´ÑMå0‹Êg¦Mšªž7ñÉ)‰4¸-m”¡ûÉ<ÞäoÖŽÙyRzCÙ¿nýgñï‰ žÎñ3½§PBEÎC¦u3¹Ë+*öѯĖƒ®·f¿-Ñk§Ç`£âíü@YÆHxNþI<ýgQI*Ö³]căºp÷Ä’wÜ‘ùã7§¶îkb.Ý2˜ýTx¯kH>{eþ?c]hDíóuìr9Ó56¦¸³ke»…ƽ謺£é]ÿ"å~]‡®»ÏèÍÊ—æt¤P \ÐFcfšèL_rJwX÷)“xvñѧ¦Ö61Ú›hœ‚vú-ðj²"7ƒB¥•LŽ·x€âðu«X1c)¥úéÿ‹—òx„Y5‹ƒòGÍOiዹqõ– ÊÄ žès‘W¬Xú¼uZÇöÏ_¬|ß¶îìÃ9íævâºÔ ñX¾¼è›ÿ̧½]«;¿ž¿¹dþ–ÒùÇGØs¯®§tbrò¡Í›7»À–Ö-ë£wŸ1!ùµeŸIûüë6ñ“¦”¬›¿kçüŸ~Ú8þ“o¾ùøo<â6©è`ÉúõKwïÞµáóå£{îiwjõò•öìYæMB¢™é~1ž[`šŒ"o£ÿ¬³÷Œ¶Î –'æfuc%<¥Î_f³y{{òŒŽÍñÂÕ¼{F:‰€uûŸÄñö-uÿ|½ZGM<ž{g7Ï%®]§žn? DW5(´ÑýÕ)Mñv’4>ø,N–b²ø8vš¸H:GJç˰48eç‹Fñd]³¯}מ&Mñ¶jä¬û¼ÀKòïã“{çiMÏ*˜ø0ÏÿßM?kÚSZþn®b³ Õá—yEúšO¼NþÃV:8P[_ÚÅÉ/†Ó‹ÌÁ5}¿!±s¹>pÿð±ŒÌÍê°guN®ž´¯ú¯ûª§ïk׺iäpWkJ\¾dÞ¿½jü}Ý»µ¾aý×nZÛkHŽ\á´É…´4>­2ëïΞ5ÑØæ–üê–kÿgöSTÉËÿC•Ì{eÖ°Ü_¸®DgÇñŨ3’ÛHõȋQÑ2?ã~ô`U1ž£ø‘ÀÂ+'«K¦}¸åRûÖ qF©zÍŠõ’¤ÑFqXS¥fD£¹ñް•û!Ü« ô ÷áî¿ö9_Œª| «­öG4æƒezN°õô¸„2QGÀá*¥hŒv¾Ž¢‰É»‰n&£àK½šfÛË·Ecð@dDcôA©?ü áL@ÆVlªm•o0ŒšœÍO$6I_WR¯& ÍU´̦Q[ci`ß~Ä"élDc^÷–‹h,dÌk·q"„„ÀOÇ~ªhŒ4EÙvw3Eb&QÎ3ò!1y¾ÝâzwM†Œ…¤›BÒ(dÌkì‘TôÚmœ!!pY×Äüm~Õ¿õmý[©;½qCмÓxØÈ­(# ‰…h¢‰@XGcѾ€€ Žèîð)þlÊ Ýêu·FdRÑkoq"DüÞEA'6wÝêu·"©è5:œ  Ö"`Â}Xóƒq  !% )~4-¸ëÞÁ&ú [ѧÞLñ ôn LA  ±L€dþÌéýN øyŠG‡t¾¸.6ð/ ɘFm   àšf*â ˆN˜âý ¯@@ F@Æb¤£á&€D'.c¶åK£ÓGx  uHºD._|Â}RFrO›ùÌ?çDhsèÁq¿6—à€@ èØ)Ó©—N¦xÔU±#[Y]•72ò ÷ONüó /ý+ „&g? ^Ô  8Á“±}»Jç†Ûšç/ü?’±€Ú„&ܺéu22æ5=œ B^Ȧx„°¿Ð4€€€¯ c¾Äù  !$ !|4   à+Ș¯q>€€@ øCÆN¬ýóUyþð”Í ~äí!qëë7ú^5åƒAl[r¿¯Ýnõ=„‚M€@ øCÆ$ó·Ì\ݲƒwꃅïýcÏéï}\¦÷¾ýCÉ^ë¾~æáZ{<¸ 5ˆM\ÆD?¸~ï왇ÿ¥ ÈüP§çUœØQ¼íÞ¡÷e ^üU5µË¿»mãWÁŒ=G…3@@ ² ÐÒT~‹Æ²î|*ÿsgÏòYsn/HA’”jûàÃ)òñ¢¯ÙqÍk«-SçA†ðøW·üñÆþ‡ÿùïÛiªÕ†?¸¶HM9zÕ„7½nm¸h\ÞLõõB9÷]QþÆübù¬žÓóu³}·t&›}ß/éüþCîÝòù%­GJ0îðl©¶?—ÍY¤Øæ]º:ìø‡K zcg¹ðûl¾Ñê©ì5=§·ÂDë‰5C@#uy‚B  öü(cŒ]?zöU¨d×9ù‡’É×K/¯¿q¬ Çõù7vâïºd fš×Û*¸ö|ý•M¨ÎïoTã@íκqì¶9K¥³¤íwwI¢Òÿ¾Iƒå¼k¢ÅÖß@3Åã–™=ß~cx¥ðõ²²JžJÛ‰ãؽCmLW(éG-“@ö# Ï øUÆ( ûûÐb‡é¶´ØÖHˆÌ왥+¯­l›s‹" ÷MߦÇ->¹ƒÙÎâm-Úüã™»ôVyÜ„ 3ì¦xìýá¡þ¶²ZO¥£Ç+¶ ̲Š\fÏ_VÂÆf%©°?Ôƒe@@ ÂøWÆ£q)öDÑWV ¤ajzð‡5ј;L'­×ÌýSâ9'I“;´Ó÷O¬æ0·&)²nž6áÎd½ŸSX&|«<¼íúžVMsRC¨ŒÔë Ê€@ˆ ø[ƤÄÝ™s¶È~Qäa ¼¶¿ Æ\ºMéGÛL¿ïl“2Z>iû{søäm>Ñãëâ¯Nu¹qè`km<Á(—ñ¼ ¿u­iRÊmÚ¦ö„ÐH¿y‹Š@@ °ü/cÍœ)üH£e•q£e¿8Û–@síÕ/'-Ηç7>Á>/lµ¼}·q±uJSˆOô »Ù:ÿŸ'Âk›É†Z#BO›ðc7PÓ“Œ“¼ãsO´H‡VBh¤ýEU  @üyc‰Ém=yl&=o, Iqë®÷OQáIΊ?Û]9oÍû&ÜZøxPKࣀðàA-µÕ¬| «­ @4×|¨”ß¶¥LÙçIEÛô êÄ©  áA dìú‡Þþ£’Ø´Ÿ =+@@| ÀeLZÎ#š·þOª ºˆŠfð @¢Ž€ÈD¾–b DcQ×up@@@%ÃÅ  Á cÜy0@@€O¸OÊHnãÉ„ûgþ9àœÀƒã~æÂ<hNÀ“ ÷U¬l ««öFÆz H¬9”ªhÓ«ìÓEÛok·d‡ß B~·Y­Œ4ôžÀÕšA@ @ΜÞï´æc••]33ÕÒȤ;Ædó&©B #BÛz€zÕ‚€xGÀ›hŒVñ Æ(*ò®I_Î’5lëÆeˆÆ\`D4æË5†sABH HÑX=DÓ    %àMRA@@ LÈ2æÕ:×¶Ûu(›²|êþñý¡pêþŽVº¼|­ÕÕ¶Òv7ùn”ÖSµBý›ÀÏíø°z\S•#Cý%}w5€€@d´ËÇh¬vZ¯2$“ö*6+{×Ìø B _ùY oÝ#0£ñOËdmHýxY;öîq:8¢4uÍÛ©¾šÔ7¾û–*ÅÍÜs›äêôtlž›×Ýv¿-›!»P;t–FŒ%Gô•ôÕEœ JÀGÓz]{ÇŒÚîhg 2‚€ä›s?ïuüño¤––Ômd WP@vm|6«}}¦‰Žmšynãàv¶(Í+“¾5µüH£Ã©újO¼if—šC³·Ô–«GïOZq®h‰ì¹·*â{öå/õ—ôÊ'œ QBÀ2¦‚cËõe×Ph àWS,Ò05aØ«JŠÆøOÿëå©wÝOEkVÁЬ­Ñ›©ò°©q¿ÿÌôZ¹i&Ÿ0É÷j[:G‰®Ô¹*-×­¿¤^ûP@"œ€eL[ NÑdt«x<ü¶Ñá×Ö5þiV;žQ¤7‹rëaéä…9%"ßJ&ÍÉ“µÁvðÈVØÃAh=7¨l_ñ$¹ Qüt\¶\þƒjƒ¤Ay»‘­Í±æ¤*§~IŽ1©îØx?(´ç0p€„e,§  ÷!.òF*6©  xrÕ\0A–ÊÜ ò‹÷‘-e‡v³IÃ¥ƒÙã¦NbZ½17ÒG/­§:Úšäºn•ÁÜáªaNêwê§›¿àuIGµUyãÎ(!࣌±^à ؊/¬:ÆUlø0+g¹D9)¦ÄG¾gÈr‹lᤦ³‡¨1"ÿå/æ¨Au©bó*ôtÞVÙÂ笆9«Ê©_\žszùä‹GŽ£0€D_eŒk†ªc’ŠIQP ›5U&¥éÍŠ‚æ6o¡I Gfªéóœ4õ\Ÿ#jÐËš¹:®ï0 ¥ÿ`³V%ñæÉA9®’Ô·Yý¶³l~QÁü>L‘l6&é¥s8 @"œ€Ï2¦Ñ17*F³òX‰:Z¦“x>Ð~ŒÍC¬$ |ŒLQ,jIQÈ#+z8NBñ´jŠXÁëòÈØÔ}òHŒôlÞÏjÆÆœVe=ËÞ/ÆŠ Ÿc’)¶@ÝAqˆ.¾Ë˜ªc®UlNÞs}Jì~N;-¡¸°‡2m¯G¡œôj“~ëiæƒu:‰466UBòylÌqJiÓ}Ж7u˜h¢Ž9­Jâàè²Ù½"†“@@ jøAÆXv¯œâ_”ÒR³‰6N“(TÊ75G;¿._™µ'G:ÞMjTâÍYXõzyáž¿²ûÈSX°€¨ü!cŒ"‹â¼Bæ~.e­ÅùIêäJzuƒWÙÂñÚ8LvKšâ!‡}|`ÉÇiüN/k$¥ÎÆÐP{­é?˹_4íRñ‹•Î+,v=‰‹@b‚—1Q|ô•gȘ®||±‘åI#WÒFƒfÞÌÄà?æ4^dMMZ'>d{ß/Foí’Þ9If.Ø'›ÙcßTÙLýµê>«¿4ÈòæL*ñ.|õŽÎ0%€µ8~ÖID¦_˜ ž<¨¥Š•oaµÕ~I*Å94  Í@ÆpQ€€D0ÈXwL€Œáˆ`±î<˜  àÍLÅ}{¿¸0'0hè=an!Ìæ¼˜©èŒuH¿"´ôƒ0¡<MŽaD8,¨@ ü x!cH*†·ÂB @Æpq€€D0.c‚(F°0@@  ðUùˆÆb°óá2€DȦ–ÃÓ´‚ˆ/ïðhfkëþ2ÌöÐ0Á¶¿þƒv0l§Ù–ôW5_åßÁÎ9šð!à ¡7ô+Ÿ·[yjYIN¡ühfë&­ï­l_ñ¤å±aêBüújMš,­¹OuQŸXSj;F+þÛÿ=`ç‚Kgýá'êÈ#á2¦}t²úã3å}N'MH~8¶ÛÂA­¹Ùã¦N²ÎDäSé嬉õX .8mÔx8@¢€€·ÑèðÑ9æÉ)Q óüv.Y>è Ý%g󘵨Øiz웪ÞÔåŸÚ¥Zœ6¡ÿ ½%6ys&•Xùðé0•™Sûƒà¬¹¡* þ –¤Œ”6:ÖT=6פ6z¬²²kf¦Sð – t÷àA-޳Ù !%àÁƒZêªXÙVV[åu4RGÑ8€€H c¸@@"˜d,‚;¦ƒ€@Æp €€D0ÈXwLðf¦â¾½ß\˜4ôž0·æ€@s^ÌTôFÆB>á}  •¼1$£òJ€S  + c±ÒÓð@¢’d,*»N€@¬€ŒÅJOÃOˆJ±¨ìV8 ±B2+= ?A@ * @Æ¢²[á€Ä ÈX¬ô4ü¨$‹Ên…S  + c±ÒÓð@¢’d,*»N€@¬€ŒÅJOÃOˆJ±¨ìV8 ±B2+= ?A@ * xó –¨§@@–À±ÊÊ®™™ªyid²º*V¶•ÕV! Û^ƒa  î @ÆÜ3B °% Û®a  î @ÆÜ3B °%àÍÒ’aë ˆPwÝûà™ÓûïbЇ72Ö!ýŠe³A@™@d,œÀ6è#€ ÷Ñ×§ð@@€À\  L2ÁÓA@ c¸@@"˜d,‚;¦ƒ€@Æp €€D0ÈXwL€Œáˆ`±î<˜  Ã5  Á cÜy0@@2†k@@ ‚ @Æ"¸ó`:€€d ×€€@ðæycÍÝ=Vy’11‚1Àt Aì’‘©³M??6Ó¡UªÝ`ˆïÜ)M§5(  •§«ÍfS×L]JÀç?yÒ`0BÃpE‚€xD 3=ÍhL ñè¬æ…}EÖ¹SºFàt$™ÞÁ÷)_eÌw b°çà2€€€L€b!7ßeÌGp:€€xO2æ=;œ   :‚œŒ!©> K@@<&óN±ðé X  à1ȘÇÈp€€@øˆZ»–´n“KÃ8,ð'`ÈØÝúܽô¸buÅŠ»ï[QáOZ¨+ÁQÚŽ,Ø'@É‚€M€€@ð CÆXÞØ~«g, †v9˜=îSR²ç–1V¶P Òn·¾W®t²,v¶BRl  aL (2Æz>Ö{â¢íZK Ó:õ‘öB®p’$R49BKr ç•Òû©“æ¬åÚÅXéÚ9“†ç²ÒÉ=öMU¸‚ã!d:£€—­Æ(ðƒ#cŒ œ²Š™±ÍædÖïTŸÚÇ÷•V…+9py½;oô &¿x…ÒÛg\wx¢\rGþªÉ¾%$ÕH+oÛ}ˆ„-w¸¢c¥kw/˜ËÊífsòäAµ…Å’øa[Á’1ƽ‡Ë’uSc¬Ñ‹ØÞ£üx^þÐ,Ʋzæ©/xàut[4JŽÆ®›^Rrø(Ì*X~jÁýTXçFâ”ß'›4¬ÇŠyÄìÈ‚|ùÜÜ vSeǘ(OX˜3u©|E«Ê¾XQ¬Ô“=¬`÷ÚÉVãéGžnÄ  ‚(cDýîAöÄôŒr‘¢m.VŽ8–Õ­_Éôšl¤¢‚òˆš‹­¸°‡2áþ¹>G¤¨ŠFÂr”ƒã÷å(Ñ&›Ãd™£è¬HšÙ¨l˜äW1ŒˆaA•1ÆúÏZ9–ÓÎ*˜ØwúÕRªðɃ½]Fcýg혽g´<¤OšîÉúÖ¹”üTQ(®QÊ O‹Š>Uó‰šä¡mˆöÔ¾Fà:€„1¬pÆÓ@@ *d…ûÚ*V¾•ÕV9‹Š  aC26]C@@<'óœÎ±°é   à9>Å#1#¥í€Ž5UgÍ5©5«¬ìš™é¶BÅÜÖ㯯®)÷WU¨@@À_ÑÝiU:EÄ¡XÚ™4¹Cžâm2æ/â¨@@ |—1$ƒÐMh@@ P c"‹zA@‚@2Èh@@ P c"‹zA@‚@ Ú¦x`¦b.4 žÀLE½ÄHÆf޽Moi”<¬©xÆh@@ 2 `l,2û Vƒ€H c¸@@"‘€ÀD2‰=›A@l¢8+,X·É¥’Çêå=.H'r;¾ä¾>i÷­¨ð;ÈÒµ¬D”¶# v?·°¬láíyÊ‘–wûÂ2¿·ˆ A@‚N Ô2Vñå*6v+ÞèwË-*Ê•q–í+Îé•MÿN.É>©xd,èÿ±ŒUl.f#[ß-«6Wœ«Xqw§>iò.Gi¶#…KdµãG¬¯]1¡ŒòŠk‡‹²¢í>¤hWvŸ|õµÿ™¢F ­Œ߸šÒeЭcKV))Ôö×Mï·r_õ©}Õ;fç)GO¤·üHþªÉ¥³Ç}JIÅákÊ!æ)XÑC-ëQÈã³ AFC  "RãÅü¡YŒ ÌP"å+ŽîÉ›]8Pã-a‹FÉÁÙuÓKJ¥³ –ŸZp?¨k³æeQ“Ëòóû@ÅtÁC!o¡”1Ê(–”L¿šKÔ˜yLÊ+V.iÎ+oöN9ãû”Aú€–-œlÅQºvŽVµÊŽ/dà cú@¢€„5PÊØÆÕ[&ÈùCÚWJyE5,S¡euëW2}Á6{ˆ:ÆÆ²{±B%…H?Gª¥Ì·ï±¢àˆô€€@Ä¥Œ­bšü¡"`ýg­ì=ñ:k ‘ãí?kÇì=£í'}èÁž[$giS¦,Z@ÃôðCˆ¡”±åïh†·úÏ’‡»NQã3Ö·/ÀG¬A›|ŠgccÑ0@@ÀC/JsjïÖYÖÀk4[5£¿‡>¡8€€@l;4ÃãÙ±Õcð@@@C ìd ½  ú @Æô³BI°# °Ì‰)mt¬©:{l®I5ðXee×ÌL·öê,æ¶xuM¹¿ªB=  þ"ðèˆîN«Ò)"ÅÒÈdµÕ¬|3ým2æ/â¨@@ |—1$ƒÐMh@@ P c"‹zA@‚@2Èh@@ P c"‹zA@H@åÊ£mŠf*ð¢AÕ  à-ÿÏT¬«be[¢p¦"ÉØÌ±·yËç€øŸÀÌEŸNÆTô‡¡F €Œ 5ð?Șÿ™¢F €Œ 5ð? ÊXÅŠ»ï[QáZª±t² n·/,£bzŽ4¯­t²|6me o·V©“>ÐS&xž£%ˆ”±»;Y€Ùéù­¡!:©D”·OÇeËè9b³U’­¼9ê²}9J%9…ãeqÓS&4Þ£Uˆ”1–7{ç)é˜+Ù¨ Æa~ë·ìqŸŠGä«õååÊo²ûXê)ã7ƒP€€€=@ʘÚÒÀÜ %‡Jo7ÎRB´Û¤÷”iT‚6)b“KZ,S¸DNJò³¬¯]õèœ<)¨Iê9¢ã)ûb+–í²¤ž2:šBg¾‚cÁ±Š¥óçåõìF­•L?x«Ÿ÷ “mŸqÝô~+ù‘/5k;7ÔI™Ãå¨nGþªÉúG×r‹”Œ¢štDü²úrX:¹ÇЂ׭yJç×—ž2¸2A@|%H+™~µi]½:ç{YdjÞìÂ’ÅY=óxPutõHÖü¼×Jy@Ö¼ [4JŽØ®›^"GuYËO-¸Ÿ×¨g³%­¥[<Â3„öƒiÍ y"Ïõ9¢¶95@O=–£ €€€”1ulLÖ0¯7µ“M¤³žÒÉ“K¥¢”Ü+Îé•ͧº?âºr¬¹Ó0=etº€b  îRÆÜµÍ²ºõ+™¾@$«Ø\\òp®‰Ò”±Õ§gl,»Ïnyd¬GaN‰43CÏ{›¹$õ(,..ì!$\™ôF3䦧Œ[(  àÊë?kÇì=£¥Äã½WÍèïÌ[žWÔ?ãQÍŠ¢2½PÏ{ 4gðJ´oÕYüzÊx×78 @@À-(|P V¸wÛë( Á$˜î«¥µT…6 &F´  … cQØ©p @b‡d,vúž‚€@€ŒEa§Â%ˆ|ŠGRFJ›kªÎ›kR=?VYÙ53Ó-ÅÜÖ㯯®)÷WU¨@@À_ÑÝiU:EÄ¡XÚ™¬®šÙLÿF›Œù‹8êße IÅ tšÈX È¢^ €Œ2šÈX È¢^ ð]ÆøS˰€€€Ÿ5ÄW# Nœ:í…é8@@ Æ Tž>#?ÁÙ—ÍWë’‘a±˜OœªöÅœ   k*OW›Í$">:îë}cróÇ*O2&úh NˆôØF±K†ûE6¬*c·"‡ãíωÉm¤{·ŠĠ£  !#àdÚ*V¾j Y— a¿ðulÌ/F ðŽdÌ;n8 @@ ,@ÆÂ¢`€€€w cÞqÃY  aA2Ý#@@¼#óŽÎ ±°è  à2æë:WÞ„³@@@À€‹„¹Œ ÎVfÄš¿¸Œ@@Â@Ë+óE[ŒÆ°æo8tl'àvá—–ÁaÍß¿€à>€„”€ó„ùÒÀ|MÅ-¬¶ÚŒ…Ôz4  Nhe 3q‰€€D0ÈXwL€Œáˆ`vccKîZÁ®Àt p×½ ·×8ŸâqiYÏ A@"›@‹2vl®)²=ƒõ  1@3c “á"€Ä>ÅCÄꉱÑÙð@¢‡)—¤^˜©=} O@@  @Æb°Óá2€D>á>13¥íkªÎbŠGôt,<Ø&`¶˜Mõ fK“(òEн556®‰¸„D¹rZ^6ƒ`ŒOJ4ŒÚcÍ_>Å£®ŠÙJÿBÆwí¡f¨¯«3 s×ì[¾éàÁãçCf‡_NoŸ2zPÏY÷_CµÆÅ'hëŽ5!c~½²P€@ø¨«½ðƧ‡žlœpç ¡¿Œ’;b÷”š¹èóމݙãÅš¿ZÃØXø}ÿ`€€?Pöðè7ý¢å£cëÛ½ãã,Ût ÎßœP¬ù«€Œùãë‚:@ÂŒéåoúE¶(Z¤Í»Ùl¾¡w'òËÐLÆbÍ_íå ³/Ìðš AÕ˜iæýÇ5, 6scC}cc=ù%{§ÝbÍ_Ș?¾%¨@ ì DA¦ºÀõØÜdnjrA=Öü•QðhLÆ|Ô°¿Þa €@Ô°ÆaÑQ侈äˆ[ § jÙ¢#•yÑuí/)—¤^H*FÝØÐÏ\ ö£‹G§¤´–÷‘‹ËyCGß9òí£r‹›þFÇŸÞˆÖ]t°ÍI+ûÓ›üÄM6Õ«ø¹n6Ș;Bø@ ‚ jŠbùâÑ}>µ·ö|-ß×\ùpÎÈÅG¥[­¥Ëß™ÿãk{Ï?3Äÿ¸ì /›#wRòY±âÎùbñ³M^ÖäxšćÚÜ^}1·ˆP@ R ØtŇŸQg§n~ãa6ï•?d)Ÿ ~fÏ+ìà 岌•¿=ªïG£÷|0Æú±_wÕÞú{tÇlÞžÿo°ÕÐÁÏð×å‹ïLMm+íw.&ßȯQo/~Z>Ò–MiÛü´RF:Be´§¨ºî=÷×dÌ=#”ˆPÞÿxº>³üð·ŒÊÕªTV~ë–ñتÇú­úÍ+£aÜ,W)Eï./Y¹¾_f¢›5fÅ… gùþI¿ olæ-¯lÿ¯ä#¾ü¿ï”‹Gÿf„ø‰täÂÙÙƒ7?Ýïà“ò)?ŽZùRоmn¯=Ș[D( ¹|•Ñ:ÿ¹æûzö›¹}yüe„Ì×a!§¸2/¢n¹¬{sS¾3ºuûÖ´ÿúU¶ç0÷è–—ÿ2D2©ûe·ð±À’˜õ{x{õ×ò)W>¶~ýrÿ¸±±ÈýÂrßø´|vVv¿õ•PžMÝÊí¹å²n°ÜrGî˜Y»óÑ•£ð% ›ÿ£±æîáåò£ßì>SSs¦f÷K$ZK9ÊrˆµØ-/í¦òÊ>‹2“>c˜âáÛwgƒD4ú Ì>øÁWÙ#¿{T©Ëôœ‰"eùo6U²þðâ«?ŽývE Zw)cÞù+¹“3ƒ¦UÊoš>ƒOUÆ]¢·GKV­WÒƒÜ;^Fö4+w”8qþ&k£<³ªy«ó­Ü^H*ºE„ ‘K@Vг’Yc–ïþͪœ¶Úò}[SýᘮVLTU×1®ºòÑ_ÞIÉEÿ$Ö´æù?©ÈÝyõÇŠ;F°[‡dÝÿÄ•e?Øo˜­MÙyë:æå—~!Cèðÿ6úÇnÛÛ¶w¾[¡óŒm3bn.?þ –¤Œ”6ð¼±Èý¢ÂrG´â{·1ïŸ_;>p=-"RØÑâM&Z‹ª¾ËïÞ<·ú‘&_•JÝbÍ_¾Â}m+ßÂj«EÊ5 ;A<& MYù^xu:wÅ"2r‡6Ç5e4±æ¯ì5dÌã/NˆM&e£M¦¦ÈÝÉÆÆÚÉIÄœËX¬ù+g7‘TŒ”ï#ìð€À¥Ú‹×>¾úý§GôÊhe-ô»ß|Uxª uQ)3“J€@4Ô_šµôûc§/üvHk{¶@ A­’OúÅŸN^xýÓ=³~V4þöKµg´Äš¿± ^h @ øÌæ&£1îå~xoÃ~zÎdð D‹éíSîÚûÙ‡n3âj/œÖ6kþBÆq¡N0" zDr\\’1.^óÁ$çÃIþ±Ù`LðOEÎj±˜­‡ ô¼LJ0^ª;cnRòcÍ_ÈXà®7Ô   pZÃLÅ€ãF  # [Ô   p±€#F  # [Ô   pÊ}c)=ZÅe$×T[ëo³¡!Qa”ÿ Ïå»zûs|º`lßXKëNº¸‹jD“9^¯A.ŸXª·ËéŸn+ê/J6y@Ì<±AÐoƒ'Õ¨×hʰÎÍ#ôWË;-0ÄtúÅ‹é7ÀƒJ[Zj¯…*<±Aw§±ûúxÁƒ®ÐÏ‹:Í<ÀëIµÜŽ j=€Ë¿>iQ`VSÉjO ,ýC–$/jBÜ=²Ï£V=éÔ™ çäY€~”=ªVGxðÕòèKë\O.È@] ºëõŒ˜'®yPV·µÔ)ÿ’èßBnC€ ÐOÀÃ’ú¯Ôѳ^óÐfÿ§^32Z%™î¨«?/°´7™xÁÿ­ F<ÿ;RVq:r‘IEND®B`‚nðú-Œxu\~*y³E¸!:l’ŠÅÿ‰PNG  IHDRDB,KsRGB®Îé pHYsÄÄ•+-ŽIDATx^í] |EÖ¯ž#'!„ûH8"ˆ\*Ç'aAÔõÀ]E•ý€]ØOÅ“Ã[åóåú\Eà Š+—Ü„r…œsÏtÿ×ÕÓ™Ì$™3IÒõ+BOuuÕ«Wý¯÷êUõ+aÖ¬YÌ'ÌÚ9BŒH\Ñ”l”›Q1tmd&#s{ðW0%ÄÜ"3˜1Ñ[Š?"*Ps"(Î"Fòe®=%hsð_ 8Š9Ý,Jîc§E™(¹)ºä7Ä,1f’3›˜Kb޳³¯ô-jæÌ™Ôê:JŠ ‚yö®‘Ô)m: ñ± b Ñ1ÔâX€7†Å¡§bX¬ÜÑF¹Ë€ß²‚¨¢:2XV©5B`„óäyÜÔËêß²¸dsùß)ÁŸga…çžý¬ hVÆ7<“f ^6Ì@²ÔÊï6{Ì1 ¢h¸åxŽ–%4Æbˆd5à'¯õP{9‹Þ¹ü§ÛîMŒñï_ƒ›‰Þ®G&‡"º•üïƒEÑç¬,ûø¬HDë`Öà%!0ÏÚt KlÉŒv¡qª”¼²Ì`6 Ì&³É!IF‰Ä±É á:Z ´óDžB°ÉÃðÇMj·Jç€è$^EH0D  GЦ~ôÅ:•`ó.I0º˜Ç#ºLúÕedfÔjÁ,Ϩ§½9¦Z&“LÌjWæe&Y÷¶ÛXnsÆÎ²L³=îsœ‘%6.®ºµÉ  6 ÍÓ ØeIt nÁí)9õÒ z¡â€(kÏ¢$2IpÓ¸#zDü¤D˜HxÀMß 9]ð¸pšEól°°8\¬ÈβNÌš°Os¨ú§œrÖkkÙ† ù,&AÉm¦ ÏÔI2¤•[ù¼×å ˆ¢„‘›ŒÓ‘ô‘¥ÜþœÄºÉ,ˆ÷§EÍüsãÖMÊÄK-÷oó²>ø*ÇHCqY)Oöqéü}‘õRÔEjd0#$Æ ñQRt]€Ymx1ªe#]òˆ‚íZŒ‘Àß >ë!ò9 Nšy¼æ"—²øÐàè…#-ùËßórD«ErØ%·Kr9Éøé&[¶$ë_’Sž(CwÚÝv[QÃfíæ.ž¶*áå0ÁÅìVæ¶°Ü"̼ ëø1kØ&Ìf2‰x%³0R¼æÝïÍâ§iЂ U¨:aМÚdˆ4zx«U0{0Ý¡3‹k/Ëyeš±ykÁh‹ò=…y’ÓÁœNI¶wËHÆÂ¤ ’Û‰[’Ýê¶æåçŸ1'\õÁmnú™Àœgg†vþ€”ÿm¸[Ÿk1°"YsvÙ2×ÉÕ¬“§A{[l›¢˜ ­ Zä'µÌ‹mšÝ$WJÈ17ÎeI¹¬•(™/‘(–×)ÆÉìiÂ1±>woEÚ­ FA ËHVòä QÑBT–ª“Y0aIà É,h—`02L¤FðWÎc0™‹ÎžnÝ,Š qÊ !zЊÅfgÑ@¬·Z/\´YlEV—Ãf·Z ,—òЬ›ÝfÔ)ÁYhzU[OîM,ÖÆl§JYqF×FTÔŠ•µ²B¯üÐ…7¸mš'K–B±¨@´BêJ›d·Kv›d³J–"KÉyžüKž¢|䑬…”âS£l=‰’…„˜X+ÙR;‰XˬUÖ°‹bQ1¿¼ê¾PHëKС˜Ò¿]ÓR©ƒà%«1þåoóÜbeq)JÃ#PÁ®]¢)ÕЪd´8¤Ey2üe»³“o3§v†Ô•l–Ó;íìSw1—St9%·ƒ¹\ôW“?ÞQ´aeî;sðb¹Ü‡.æÞvR軇Y­¬¨>ÅÎþGW³5èV(HI4ˆ’ªlÂrBÏö—ÝØ£ÃÝÛߨ£=ý¥ØRð³G‡›¯NM¿²Ã°«SÇöHîÖ¼¡Ág4'Z;$_ÞZò‰ÇÇùBÓÇ5—–7/•²?=™“žÖ •¡«"4ó‰I„D¥¡'I2û g™cà Ó—­Hr8€d¤´|ùcÉN@H†= HFzƒ¡£iËÍ­x-FÒöÕн X·aF3³lÇæVêÀ>QS DD±3 F쀼ϲ¬%ïÆ·šÃc·¿¾s:? Ù…ÂÁÕ16žœmؼ d~Bzäq¨4š«H,˜9±Ü6H.‡‹—à TŸ›®¬-µ~s-áÒÛãNùl§Ò‹W E Ûðì}U<òBƒ<ÖCø9Pr«–Gý Äú‰]õ'0LrÜèv ´3Àh„]„áÍ"¦ÞfMÏ£½M™³¦—ž?uõòEôdì°^Œ¹ö~ýÍg!;ü­^ƒ?a>4¸äàÊo(¹K+R¢¼(…ŧ³åÛ,Þ€`ÉŸü¨ ùÖÑ ˜jÏ4´Sº¤cXëþ÷3Œ–Ñ*bå!¶¼à2ˆ¾Û²¬Ä÷7xA€J5ƾ7_Q¿¿Ž[¨E˜4‹Rœ¿Nyx`ú›ó“¡®”þÿ>”îœÞ Ä³©JªîPÑy± 2¡ÏOo¤”ÌŸòÉœù'9[™—¸u|\lie¢ð„É:6§y¨«dáÞŠ[*-oòt &ø2$Ò®i›.EؽðFÀ4ÍȈ%b•ËQ.V(°"…ýgÍà/EòGÛøÅéÑWÀ¼-"©é’[À^@uJ‚ÅbëQ¼Ö/u}­Ÿ³5 E_8ÒÄÉw”ö“Ì~Âl|ü¨ìú"ÁŒí¸òæívù«m['L†ßë(Knƒ x eÑÔËIñ¶$‡g·à¹ïŸÂÿY†Íß<<ù,í\9¹}XË9ñÃæÇÉ’E>œêUU÷i›MÈ›FÌ kj9•%Õlõëå ´Ê bÃ6Ö›=b”ÜsTšxÏ?¾øó«‘¥Æiɲ–}òFAg×õÅfäQèǦ^ žJP¦Y û!¥óer ÅËî¶šøâ:{k4¤GfŒMG6o}lýQfø¢xKÚèí™åû%ß±Žwµ.f#c×÷ÞSXÚãWn¼¹_4e^ú=2[޶¡ÌýöÇä©eãe:Û¥– 슶$keš‡¤•RÂÆÃPg¢ÆzÏÄk&¾¸¾Ë·›b,£ï #9²hfŠR¢ÒïøIÓ]L•El!–i>L×Xë·Ö©oGëO÷ÐÇìªdÆ_ ™2ò"³Eé’¹p E˜¯âÿ”¢X*“¦´pFkÁÌ#}I5Û+¨ÅËÇY‡30}ªåÊÖêA³GŠ^ }xŠ2¾ÛEÕ”Ð%sj”«ãý_e5ÊBYîÝÆ3Þ¢x1 (ŽòC¨ÀH,Ë’úv«ù«8sþxøFZ|¢õ'éÂ}WòÄæ«Î¢ËÀ‘ÌÕl Ö0©&D±yÕSáç€À.ÛÏZƱFÑ Êjttó¬Ü.»¼nì·8å¿òlpå^êx7Kì"±ãžþ¶6NhïCô‰õ®ÔÏÑíç7¾›|}qzÞâQË'ÆÝ¿ðó-Mk¹ïÕÃ\ýEé~yYòœçæžõÞÌR;ãñFŸ2íS»¼ôFn7çˆß¼k´yMƒ)¬WväÙ¥>Òßšò민3üEæyðsJ}|˜«8³ôþŒ­~Á<×õ+¥Ì„‰cæøÐXÂÝý©ÔžÍ¾å꥙ÝtthìÛ’ï‡ßáïà`5ðí_@/w2"ÿÂnm¨ÔŸÄÜʘÔÜß@ˆŠIºï©¸·üñÐPy%5æÆNÁm‡(nöñaûú ^›ä¶» ¬îƒùžŒß=B:Ü8˜ ›ÿ±s?Iç'£D¿_]¬Ýo,¹kËŒ,Ú$¸m|NpK2}aÎ%0>rtÁh©(É4{¢»B| ¼4e ú‰Ø-ÛcÖeúî ¯œàìØDd‡c¾X®¦ R Oúƒöøœ˜Ì·Œ—º;oËÀ«$ž[·m/•“4Ø9¸?ËÄáøt&,y·ë3Šì$o~¹Lcêí¶žT6¨…гž³÷)óqÊ Ö(ÓãŒÇ{Z^™2a¥Ò¬–àÃ߆Sw‘TÂäï"¥¢Ž¥53&& ± àßNÉ;z±EË–‚ÄÁì˜é‹H§]r:ÝgÕs°PyP$0K.V4GØ©]:˜5èsµÞÍ:4á`b¢1û…ÎÌÁl4²ð'#ãVE²—(¾¥×£´|V%ÙCEH‚ æ+>…A¡²eVóñÊVWKóc]¢˜rïµôñ൉Æ ±ÌÑx°-Ÿ–Hi£U(,g0ð,ƒ™Tq§ÛéÊ·‰‹ØØ#’0¢ˆ¹Ü,ßÅœXöt0kðnø›( tþÁ:}Gwl’‚ìX÷ÞòY¢LB¨",Y|– ;WÊ,¶¬iÀËZ[…kÂjð^Ÿ¹$Z·Î·Ør ó ò ró róñÅrA^^a^^Q~5¿À–_ä̳¸ò­î|›'ß.¼B«vþœK:þ«µŒŠpÂKHfú$Õlä™` ጕ úxUîlÕ²ëµ —*™C(–9ï¸êή"u½ ܬæãU¨±Ö=RB2ƒzY8?Ô×öüõGw*ä93ÔlÌã^5sù€Ù`Ç^ ¯wlyÍYöŸjŒò*ÒÅÛZŸ¬&U¡}<ÒÀIÑSüˆ̪¹pÈÌí ¯ñ“2x­Ü¾›}Ý8Ëk…xIL”‡˜$û>gÖÁÚ7ºŒÒ¼`ÆíFŒ\„(PvÑ,¯‘¾­t£D¢\…7w4㾉դµªG$™ö™«4’°Ã'«7±\…hüT‡G )„yù•À¢Œd6_êÂ0OœfÍÞÎ’`¶çtéŸú§tJеl~EžI¼šÑ^±Š°ŒV±Œå*ÿûˆð©&ŒÜ±'±B73Ö­ÙÚt«ÝçPâ5M .äžZpv6$èµÔ]4m`gv³‚léâSu·•‘Ò2}÷l¤ô„N‡Îjr@s5¨?®s R8ižF _t:BÃ:þÂû±jhJÔK)“ºdÖ_u„:˜ëHGêÍÐ9`PÎ|Ó9¡s@ç@-ç€.™kyêäëðr@ˆéy°a¿f5µÎ¼àKrÈ¡‡ÚÎIþ”’›ÔtŒ‰ØÊ¬õuf ºXˆîù{b¿æ5æYãoÔ záãÀ¬Åß”欭̢ƒ9|ì/.YW³µàríªã\ÏoYâ΃Îm{íÿã@ü~·ýÛŸ-ëwÙÖí´"~õ£ýˬ«·[Žþþs¤.\`S§²¹skk„ÚHóî7àóýo r@}ÿ.â„F ͈Ql’hnšÛ¸atRÃ(D¤'6ˆNˆ:šN0swèÀæÍcKÀ£vU)j6ÜóåÄ“ÚÅÁºA-õ‹ÈdÀUôˆxÎå~þè48‰<ÐÈgÑicô¹$‚ó†Þñ¡W³cø7Š1üÌ3ì_ÿª¬_+"E2ÿ²¨ø©—”¾üwºDD‡þ£$—)x$‡‹Y]"ŽýÈÝq¨¿¹ŠiŒ“¥³²ØÙ³AùQ"̽&n¯ _RÚ®Ù¶GUžÔŸ)Á*ò?„\Œ>ÌÒÓYƬ}{ÖªKIa ·rð`vÿý!k4>^º4d¥ÑYÁ Û⊦ÅñÅ ªpöçcïü<eªÁÊç÷uÉ\1>…+—/ÿ]ÉpLï#tL…|. ¼À%'~ÊA”ª‹Ï÷(›*òÎì‹£ÈC†°#GØ{ï±Ù×_³¡CÙc±W_UZ8}:{ðÁpõAµË­€de¦y\Öbž’ÓÿÞÎcJM¡|MNý?û|NÚx}]–—ÈSªfô÷iÓy¦—^! ¿¹€þ"<8S.¨Úº•MšÄ6m"”B¨vêÄ žÀ„PjnŸ~šMœÈzˆýö[¹’=ò­ßvýTCr2)𰜽ü2{öY¿£ä©€÷ßÿÎÞŸò`оc ö/¾¨,‡*æÊY¥ü½î¼¸vz“-Ïs銮’áü©û¸d¦xðóJ>­g÷•Ì0ty$%š Âô§§©ü™üäÔhïÁ½˜3cý¹Ò†bH0ȫٳI팴˜HKܧO³ýûÙ¢E,5•a‰ûöÛK'S?7mJð.]”l3—G=(窛jHà¢"*\ ùùìÀá S9·ÞJà ]ÉÜš¤ÀÌc'åÙ[pêDÉà½U¡9ó<«*u{ôi’ìWÔµMúC&ŸöIõMɶžlžü7LªõPUøJf:˜(åÇ€ÊqêÓ¤oOzjšÅÍqø/EœcÜ Í •…4ÅÏ‘ mô£ëÿ—]€LˆÙõëÙ?ÿIH;t¨”VÄùœV«\ZÛjH°ùx_),¤FµhAú¼GbW_]ÙάždNóÊ«‡2äõ“‡/ì[yʘÉ,Æ-2€U @x>y©¬*ÏmiU$ss%å—{Ù¿fŸÄiË,0… ¿øèó§ÚÞ«˜Ê~ÑWž+Àp¿,¾’RA6€ÉÀ&³µ4E–Ïfœ_„ƒÄ Ø4B›ÁªkЮ,¤+ß®Ê=û‰'Ð宺Š~aÒ[åpìXñ£¿ÿN3(ðjhÞG)³[n!˹±† v%>ü½a|5…í„ì›W‚xL¡Ç³ç8†yL©dkõìeqàýnSÔí´+·Ú’¢äãÆ|δgÌ.2Ù ¯÷¢dô8Gô ¶³‚Ÿ@°×^£˜KÎÛýƒ6Û9a¸ºöZZ‹ÂôC8wŽedÐn0D̨¡CxrÜdš¹¤öæÌa99 Ù?NsŸ€n³flÛ6š~cD¸ñF‚.ÌàüÖ’%ì¾ûhŽ ˜W÷7@ÁT>|8íf­äšvõ$sèÀ¡¯3‡Ž—U)Éÿ̈´ÛÅxtañ‚XÝC"ÊM Ï¡ ‘ ¥ûô¡y2@“p…e'ìÞ°O?­–Å;ÉPÔf 'O²·ßöçÙüù4åÆÒlé;Óú6F €¼²Î š?r)fìQï¶uˆ3ß_Ï7ñ9›þ·9À;aŦ¢¯w:ÖÿâÚð‹Sëw»¾úÙµVŽkv:¿øÑ±òÛêmÈN,ëåaiGXÛ%¬ÉKjáºÈÏ—fÏ–’’0T(ñ™g*ô`H2egK HO>Iñí·¥K—ŠK]²DZ½š~8 Íš%9Ê­;¤^(Îöõ×ô hžZ¹Rzâ éå—¥œœâl(á×_•Ÿ6›ôÁTã”)ÒªU”•5ïiDwNPÙñ7ÜùœrÉvà_ß5bHe—|Ê'™¡ä—­K[Óåɱ¡ÿjŠWã«xk£f‡ƒ³ª.ŽÂK–)jvø[ª×PQtLŽNï×ð¦kn¼¦ñsxß81O¾µ_ƒŒþ @rE ­B>_Å»Q£*Pߢ{L¼V÷Vßú=Äí-Ûm™em©×nƒ°v,Mvt×0˜CüNéÅEšŽ©÷`Ö°Gt5[CfëUé' øD5œåëe×sèo—v/€.™µãµ^“ΰr@sXÙ«®s@;$¬ƒéAç@„s`ùòR6NE8Íš“§KfÍY®WX)ÆØäxÇ¥·T©¢êzfÌu½‡koûTïÛW{¡%åº5[Kn׿ºhWùy\$ÀBâK©ê|ù¨yoë’Ys–ë–ÃH€1œìÂé6â#'ø¸î:öË/Õê4<BáÁÁ¬ßìóy¶µ;ŽO\¸©ï¤åø‹k¤„¿ùªA§­Blªf¦H€1šðñÇä+ÛlfŸ|B®³ñ½1<øÛ{Š?«¯tCÇŒ©Öã®`¦…Ùo6>öÚ¼ç̰çÖþpà☴îæÝ{Çà«vÎC Òq·Âm }F•¶íûÏìÅ×ÿºsLZŸæê´…’×c4 žC'L _ß}Gá:nýàfîฯÊA«}YÁ?„7ìW|ýÚà ö–ÑeÆä7ƯٕúڦܕÓ_™Çž¤”~›î2Yö 6øÕïV¤íÛg]Æ®Òt±Ÿm<6:­óuÝÛ £Ñ(ÿ1nÝ›ýÙ÷{FHØ£u•Ù¨<Èi«¼w~ÐöÉ÷GF èÔ¿[²L•‰þ™LÛ÷úlãÞÛ¤„€¶ª¶Mk򻀾cqØú6f¹Púaë€ñ?þÁ*hß‚ëÖ­É måc•ÉãÝ»K܂瞢©2|ø†ÿ›\(ÁÏBZƒ¤…/àFî'!Æà=Ö,vô(¹Afœk…ÈÿÃä6yî`dÝ:ò¶‹ªccÉ *å^Màâ~ÿ.»Œœ–ÀIذW^¡Šàô½áµ3ØÑyÁÕlxÉŸßlh°O½µ%É@Π«Sïz5îèÛ§—ÝyES~N8§-ÉÀóõ mÈU~´ùÌG‚âSm²#™¶ 5® ÒøüyB2þ†*úÑúã¬cG$#ϰa ’q èúZÅ „óóå0$Á7„94søÓ]³†=ù$¥ù@2 \ @æÃ%|€¾óùÖÆOÕE6\ÁþÿýaÀ~óMÖ¿?9Q‚ÿ xƒ[ßíAÎc«˜Ãé7û‡goèÊe²Kpel¼Ïýk²×Ú<6¤ îÕqÄuÝ‘§ϳw¬aã'²u›ÂŒfÔ;¤W{?™ÌÐ6¨gǺ• MeÔ*–æ±&’i fˆ>¼µð/iN¼àâ§j޲E‘M›F†+|œb¹7D+liƒ)ÂÒõ¿þ‹mØ@‚R.ŠÀpƒHf8ƒ+?Hu¨!ð:†Qgå@æÃû§¯/îÒˆ¬˜«Ö¶Š=µþç“3×®wýð¹c…Õdyaÿók­å˜Þ¯ òøŸ¾ìÖ»oì²uÍÙï'ˆóâLÈjÙIèL ^)êótPÏä¸síE6gê4OöX¶jü¢Qü€þjö96™Ÿ€·+}Í” Š:êíÝ©•:OöC2È  M!3ûãw Nm[Zu)w½§¸ËZuùäÅ?ÑÁÏú)¥ß4¡ Ó™ql•â nvšJªÌçùÕžæà=®¤ï½—ðŸ™I³ÍPE?ÖvëÆà 7ð\¬-ATÂQ`P[é*Ôã3gØÜ¹¬woÚµpÐ$0ï0Á¶Û•_GÜH*ÇwèÁ\m¿Ù}:·Ø}ô·xÝÖdÌÙÓgÏŸ»PŸûd¯§dæÇýÙÈSL9éØé×Ãw̤AŽ+û¬©›z·ýöçã*éÉé“;>a(2Ííû?·w»]–̆/·ïGµ¥tn†‚™q‹˜WÓ®8#*³Ì†z¿Û}¢,$ƒ¼/·𥠰TξUÍæ~ÕÉdÕçªÁœêà!’i«xoç¬8¤«Rz…Ÿ«Ý#‡ê1 Vn.61¦ÀjÅ¥7,RÐx€^L†¹eîr1è À^€™°Šœ/‡C3¸KmœÔLb¡ÁÁŠZÊ,ãÚ.-×ýx«PÀFBtÂ½ÝÆí{`ïøžãÆ6’3wY³å7äQŸß´vëD¯âe¯XÓæ9¶o\¤ÊäÀ””¶]3g¼Ä"XL*ê]¿ó0V¡ø ÙûW¾4€¶£~´ù7²Ôê¼ä•ršOe­m)ý2X%ØUòËÈ Æ:&®ðJi GÖ85`øñÂÁn<À:õÓO Ó~þùÌ×<`š6T´ê:J€% ¨FÀ9¯ðŒ ÷÷X»Âq˜ #¤4ìa(£@(B ƒ¹y£Ø—'¤a=yËoY-\»æH^¶þgÜEµ¥%?UÓVÏF±5\*¦P×ÌÞ5gÿ(ïñ´Á Î m÷nݣЦàXFr mÝPŽì颬óùŸæSɾԄ6:—We7€ijÒ˜ÐBØÂÚü׿’tÅê. ‹.Ô“ß0+†ÁG(ã88L’q¬Í0Yc&o¸$-V˜°FÅNÀ@9˜#`õå£ÀÅ‹ Û@;ðÒÎ ôf?ü0ój€³aÕVF7ß4îþÃ.«­ûþÀš-V¡`»†U ódh×{@òuÝZÚåѸ™¡JÛJ­¢˜¶Ý`»m˜'C»®(máä]$Ó¦¶;Ȧ‘ üÁ&J¼ëPz1·Ä²-ŽDÕCÙ¨y0sÚ° k§Xq‘íÛ-0'„&é+“ËlB8Á\]ÚÂÿæUoá§ 5TÌœHi,öà°U=D>˜õ>ª“ ˜9k £r{’Êà@ Ï™õ~Ñ9PQèHÆ)ÌÁ8¤ß×9PK8 ƒ¹–tTm%S sõ  t0kÂf½áç€æðóX¯Aç€&ÐÁ¬ ›ëm%ø!˜'›zË›7\sÈYª¨s f8P¼idÙmj†½Ö:ÊÛîxHx”e•í6¨Ž6¼¦š%D÷<˜Ø[·-O­)"ôzë*t0kÙ³Å`>µÐ¥eÅz]õMǘtɬYGësfÍX­W¤s ¼ÐÁ^þÖûÒ±iDß5¢Ñ[ ƒY#FëÕè7t0‡›Ãzù:4â@ À<¢ÇewxD·¤‰2æv:ÂÇWS”â$ÎRÈ_Š`4ÇD Fßë[{›Ž1³¬-Ìr±ô-Â×õ²ä³Ýj…/ž…_þ¾bóáçóëF4OŠ5 uö=½Ð“9Ê·Qõ­½:˜µ|¥kÌVKá[_=|Ö9qôœù¢eËÃW×þçf-þæò–Ñîî'™ë[{u0‡ï5 ,¹æçÌÉŒê?ðªдëFèÒ®Ù#£ú-ß|Èd4r¼~µWÐMÙÚÁ¹†Á ôB»xU{Iåà©Ñãñô½¼Úes}k¯v/²^üó×,`(Ø…ð\‚Çé°;tàoo¨oí­Ù·«¾Õ^Ã`æì®ÒXmJ·'!”ê[{ë¨jª½‘æ:¢cP%¨AÁIí=±xøðÅ'ª<Ç)¯½ÐMôš5BwD€™‘Ÿ¨ÐÇ“KFÅÅ%ðxë’,ªâäÒ[o]z’×µù9¤?»9ôõzÛRNV£R™l%>»9D|ã¤Vƒ*ÝÓ—F€-¯šHsÈíØYKF]±2ã€%ßBñËnt¿uÉIykŠ\UÖÒ[Ó÷½q nZÈkV ,·s«X)—ÎÖ)Ê_'­ß\Å’üSØRÒ"àe®ï$”ô‹FÜ)ÆX5^¦’nyë¶hþ½)Jêus÷Ïg+¿Ïâ`ÎZšÑeõ¨ý_ŒóÞYµÅ•Ǻª¶÷ä÷+Ù¢ýÿ¸Î[Ëusé:kÉèøøD9Ž^‚¢uK—<ËS¡zÈa˳J9y|QǸª3¢ìöj²·O£75²«‰É\õW¨¬'³Žíš1È«)ºn8|‚V=×<ÖuÍÈ}Ÿ‡ÉDVyJvÕœ•¹jC×PÊ¸Ï s)~Õuâ[[¨æ ¼‰§Lzý峤“KF—¾’S sç\·åÙ®‡ŸäìËXõ2ÈJvõBd¿çõ‚ºˆsµgk™ìyç„ØÈ…]}üCeæ\݉b9U‡aÎ<´c»@‚O~8*!)ñ–l?N—ØÐ×ÿ–&Ö®ãP²d®fÞúyl?[p ¤Ûc6Ê ê`"¹‘)LÕ ¥=Ò¾ë†Õ™Ð9ÕutÿÐŽm!¶†Ž4nöÞ‘«»=!ÆzÉØ(Ÿõá¨n«GîÍ)(È)Øû ë§Ãs‰ë'wÙÐ×ö"¿gCW¯¶`.C!5[£ "$3z<Ôñº‡°Gÿè¤RòÖÝ'Kлé%‰•rï« öeŒZšêz‹R.˜«Ö^¹QÝgÂÏÉÞLJ¡¯“­$ÁJÜ"ü¬VY”‰[" ±"©µ¸á &“ SŒÉ¼§yû†=£ú¨ýÁk±“˜Dœn’ÄÄÑi!I ôqÓÃŤ5ä7eN .™8NÈUud@[þãsšÌùB¿Ôþ)–äš-9…¤A%)$•õÁÊjMî*I¥Æ‰4+n¦Ï¬]ޝ~á—Èüóíó%‚)ÝT=?»B‡Ë÷“&èMmäl‹èür/ii•÷Lå™.РÎÂàQ iý܉bbÊ€þITݹF'3K¤LgO‚·<Á¯LH ¸"Nž¸*ò·n»z2ÅW-n"©š ™Љ­äw¨[Û¨yë8ÙN×Ê;©)MZøáGdÐHbµ ç†S²ú«Á’˜ Xˆ˜˜àe«LÍæ‹ ¯“ªàü$?oá¤,øá¦.LH „H@rvr<†X  K’s$'S¯Ó@è—,X]D%W‚ ‚è²’D\B"sS‰T­Zð'Xˆœ@ÚíŠ39ù=줱‰8SåíTN³’Açz‡~‹`µ€XƒLóóT¬»H²äÜ[ìì‘ &¬ $` ó\H²DdÁM¿J¢oéI¸WÇ|¨}ÁÎ ¢D›z¥y6¸Õçp‘V;©³ÉÇ 2y9†Í$e€R89‘¾`MË3™V>²°xâbI$~Qð¿0™þ5û aÿÌNÀÿFÈ1ˆ,•h¦ªþÂK&ÁŠ>zÇÅÙÍ jÐtI½3 ?¹ÚéÉõL ! Jú%ÉÉiôµŸ@{jô*5eÖ°$ÈàÙ`-Á Þiþ{@H & xœÐ3^¹"»åD‹ô_3’Þ9tô.ý yÜ·Äö§·\ ÓN\ÄÞNÜm¤±U çÿ• ã'ЉÔû­ZÐ>5‚(ÃU—yÏÔ,>&}LÎM Êó§V Œ%&‡€-ÓêhÜÇÒ½¹É+nik~}•ÔÔ µ·É»ìvÉ.']÷榲ÌÜ¿²“Ý?µÓî¶w´6î™5óßðÇ×Óó ÐMvbi §¾ÈÈ7Èèá¤_?KJ‚4ÐcAS¦+© ³ÿ¬ìó­(§Àjö˜ÌpÖc5{~·D bì'0h³Íˆ¨ÛÀB¬àÖà‹0Â[㞟o>Z°&H­ÍâÙ&Ùé N§ÌVá1u†gG\ðBv;á#ÙÞîn;ÛÔÜ|,qÀÅúp ¬u Úe!íÍ\ ½Ë-$ [O—œ˜–Ñ>ì;öþc[SF6§Œhé?ºeà賃G6¥mLÑ$>“4¬Y>÷ I—HZc€Ñð+“0ÿÕ=Df&@E™‰§¢Î¬¯ì®œØÒ($% II°(ZHH`…r"è¤l¡&¯`± ¬Ž³R‘„Ÿ,%!±õÄÑÑÃØ¾$öSÄGÏ,èQcÈÀþ¤_ÇÁ³1â}~3€Ýœ(XdÙEu_b²+åd ¯úòÔµW\¸ùƒ+¬‰ëˆÍMúe5v¾_if¸Ø7$€@o€SWsãO‘iI”ßw²ä?“¾; tYjm‘ÚZd‡C Ú‡‹ÚÎ<°Ü~Š.p€ˆNgK{û7§ÎÜöïã”/i§ÚÛI+hðrâó½§ÔQ–®gcœ%k¦æÔ…" A”ävk¿ßý«ùßÛZIÿq(н™k,‹@”èZ OÌ»-ñ¼ Á:–;ÚúÿpvÊ¥ÓOüò'Äå”@£ÝâQvÀbбÝݺå\ ZÚêrsºùÖ÷èÑ[Hú ’L¥‘T0Åä×G+ÆzÌ ÿrxÍÇôyj— ÈäÅ÷4 K:ÌN_ÛaÒQò£Æefï1ö/¦ àºÑ2½ÚUÅÌ‚>>÷æÄôñV';œÃ¬äã86çfp:—ƒºž]Îô¿ÄϾíû` ·º¤oü:¡FõAËÉ$‘Ýäw$iƒÙ©œç ,y¦‹H Z’nÊ`k JYXeýÃÁò’äŸï§Ž\Üäÿ®*­N­35m¦Îj‡7l;ôéÞíÛÀTüØhù¥yuÝØÚ êVcVðõÂÃ̺¾pd—CŸ†ƒú4N>v7Ï8zÕF¤Cá§WgeÁÞ†¥ÓL]-Iô§È‚l°×ŸÉµoA…ÕPvJoûBópNÈßgck ¹X #ð_Ú¤y>V×Il,¤;ñ‹Ûy®1k¶ÀsÞcÿöoþöðÍß4=dÐhjä*•ÉL£Õ$pqŒNÒÒÈ9I$"oX俎`ò¨ÇÙO£;uiîꃯlj]p+ð‘Ì$ß—²í׋ó߸ÜyɤNa›ÎëW»$ ¤RÕËõ¹ïBÏ$m}[,¼‰. ±½Ý8‡ (¿‰Ž^ÕÍ2(EX9÷êÇ‹jè«âdž•‚€v:™\ùú@²Ç‘3™-GQ2'”½4¸´Ï|¨­‚ž¤yrö´K4ÑJ”V¾yôºÁ¥4 $Vj¤:XšŸ°‚í«G§ÑóÞ3JUyw .¿‰¨ÝÓ?M; ׿_–wOÛŠC AÁÒið @}D$˜'% ñ@17Ž=r×ôÄé4®ܹsÃÒ:p=»F¯Ø íâÑ[Ávf«î‹d±¶ºÈ7 ­·|pL˜ºŸ.…`³gaQÆqrd„(íOmiX¿a E¨TçÔÇ‚ö¡a‘ËœÐæC¶æym9¸—ˆ™“]pÖsœO¥–lØ ~üµ 9÷«š*0ó=¡ðû_ÝxÕßádæMƒ_î8–tÕ*öZZ}¬¤-Ö­ýß~£Ã1{Bá’ÄÕé´Úe¥§“&{N¶–8xm$gè'7Nþ;u­‚Ìp^\ÿ‰“Œì¸ÝòY¢Ü/)9„l{ó¥~ßÖyûV×¾ò(zÁsÿ&?žÌ΋EóNÐ',íʹ¸_>䯧µOîæÿ+õŽ óŸVÏ´V*UQT­Âþõ)Yø•Ðxã¬{ß@ÓÏ X[€²Œ°¶•T—‡[ÿ_ˆª.köö\K8¨×}t=c³H ¶€µËíS‰A—j@x:ºHÃÍû†çFäc÷{}¥Çî¸Ì`PO‹ Y`ý‡ì¦ñåÀû %‚2#ž$LØÙÅ_rNI_²Hbb &ŠR«”{EÀÖJ#IÓ·Ê‘7-9“´½·v+9ÿÎw*Rª™qéû)giëuï}²ýÔÐÙi$Ûg¯ZIÞ;ôõ ö¤8”îIîlÏ™û\…½ŽœsÍE•)íV2c sÏ‚¶ã –^ åfY*i[PEýö֡Μ‚7¾„?èù­ïKudÈ5yMÖkñèäÑwVqèm÷–-kLº{õ”O(ÿ-¡˜þ– üÉ1pªkÆÜ¶ ˜9½}çC›’Ž«Ÿ“nt¦{ lè¤Ç$ëØï€å+·Zð¹U–û¿9híT­±sY>M+ÓoááÖvp åvÅW) Øj¢÷5üzÇ Þ É$!I9Á¤Â ®g î Cæ_¦q?-dôËìx–F¿ö%Ýã„j´$€@CP#Ñ%Hì¾0©ÀN¨¹9Ê6¤N.ŽžC†&À¯!IDÍ’\qdíœ Y`Í‘=4¥~ÿî¡døPþ9$ëÙfþBõ—'Ó€¡êÃ/§é5JVº¢›Þ¥o›ÈUÉòýI¶·þ&*˜Û,KƒþÊàiÀ¸Å4Ú`ÝçZñ ÷Ã1¹Mbþ$R÷Ú;+I–8ÜW¡\âE™·V>ºÊŸó`Þljj'©c.5W+s…}@ð×õ d€¾±ø«r3 Ý³ôoˆ —ÓnX\ï´k3kkë\¨ Am%{ ¡ß=o-èØ9^~­_çÖæ?*lL pãs€o+?¨x2¥¦S Ÿt™381d â9Z¾‘¯OÜKÍIH#Ö~DŸS&nfÁí´p o üðT $K2«] % wÃ_÷ÜEÍ áî¸OÀ|¦5X`›,ˆ EwKU`åÝ0Š8­ Úž£úHë€ §AtTÕ‹>ž@=ž+h±Ú®gÃ-‹…þP­ûÜñÐÒÙ÷^ý·”õ󉓆(¬§Zx\^+• ÐܲÏÜ$ãÊù÷¶'Ž­?)~÷ ·¦oÞ~šRZéb+NlÖ£žÛšÚáΕÓú»h®òp0aâ02Ð;|oføµ×uYÿV·†5³©·D9~ü%Ü—Õ² á5ýmЇ™ 0 è à•i*hl![NÏvKâ¨ßÿCQç9×À‡' §PyM8â@¤9xÜ%0?µ¢zÔ‚öÇÌ@mþe½”V8·{¾RºúÑöûÿê³Ç¯Î{´í{vî¿v,º^S—H „L‚ã{ö«”šª,$?˜ÏÌ‚_Ǩ—Þâ"r|Îõt!]K'×ßý}~rø[ÇÀ¿aáêÌ]I°âî &‘°dƒ.}Vbþ3טÂ#r_rUéi¥C®zqÈô†L/Uç†L×ËÖ®}‹ö21Q¦f9DT‚× ›ßf¾Ù4ãñ‰òŸ’ä?%ް×l]—²GÌ|åô¸ŸßÖñ÷¤ò<¡êùuí.ŽVÖLÐqy¤Xûš÷óÿî¨É«zô»/ÿ|oËfyõ12ã™{;þž8á³V°y3¿#uÛIêÞðøÒ©·CÚô­ªî݊탿+¤<™ dް–ÓÞ&É…Âê_n†¾‘ыޱƒÝ½iÿtçkžFðÕ‚RîŸZh†a¤Ð7¨žý‘’ åþ÷‘mW¾ó6þ5Ÿž¹ì¹”3rçÚº*Ë'Žv^iååF®þ!p“Z¶.ßUõÁ¿Á#¥í?¾Ž=zï%hnó`‘ˆPÖhƒUÊö¤^*TšaÓvtûöw¨:ß{-‹”Äî2ßtýO¾çí›_¥o!4}ÈP}6 œÆTK`×,ªÈ÷{9'• °’ähtöƒ¹¬àZ¥f2S;ˆ'­¼ ûdq%‘RÀ‚¥ñúi]§ˆõÛ²Ä/T³Å¼«œý†H'7¤½_­œökç"µíJ©¨$ßï<_ùTâçYNé®_/%ÂÚÿø¸·*çm³@%ÒRù²¥‘õáû¹äsZ‰ýü3)o¾n=ïG“èø¡IŸ1¯ÈÙ\?[(¿|«æ¶Ó¶T!TþÏ»Á'È#xZ³Úaap®3w˜US¹2 ͈´e%rz¢Ðú¾ÒbçÚ®t*kïG z†àÓŠ¶o>CÀ·±D€Þ}Ç-<“åå?'ÕLf4XHíoCL;¶\nÒ§Qn:·|4ú(ˆ¸Óév@,qÿYù–ý’ð­Äk?\¤vü–ùÖAJÆá-¤$ƒ7üT¥áGÈ0ì¹Eu N«^]"ª7Ǽ!¡©ƘËKJj£õ·ÙþªÔôQTÙÿ?¾õˆoPÅ13@HÀ×°Óþe¯å?Y÷_1ÈÚ %µ?iÁê@?Áp†¿‰ÙŠ:XùFDÐh&ÐÔ ât;]ÍÒþVrû·2hH ÑÍ.âüšþÜw©Ütx@gxø„=X(HtÉžÿÜÀ²iHVþ„"$Í" q#¸Æ u¸+r…ÖL¡f¥P~1™¹ð[2a†kPèU…ܳÄo@½'`×®'±×ÇÎHmçŽnnëhl9ÛÜÒÒÔÒÒØÔÒØ Ÿ[ššÎ65µ6·´7·t4·:›Ú\Ííîæ±Ù.ƒ £XÈ9m…ðV‚ç;44 NšhåF4•f0¢aa cÊú¡.®ðø7¨ŒûYÐF™Ï|àZHÈ@y%ÖsÁMq%nÆ2F,ˆ€–€¯'Ê%ß;Õ±dúÝÝÑ|ühR"¸ `©³b×QU¥îSâ ’h?4ÝRÞJNpJwõËÿ\PyÞß³°Ä=t݇\ “súQ4xLÀ“mM°&2»ÜÕÉà:IRÖÈ0Í’è1œ5ý•ÙSˆÊŠkœIEíó¢&î(v ˜™€ââP­>7,Áþë ÷+súÕëc ⢿µýi‹à‚ðÿ4¸8: ´ÅNr0Û™.­ƒEÇðtØÒIªÒyS<¥è“`coúÌ"õAÕ=Ìy(БgT‹ø—^P¸"ž$¤¼Áà †D°£˜§ÜÆ+¼¥ÔÍZµÏÒ5°.Ô5æá¢ì“¸Ú+Ððñ9Eã4˜ËM4»”È¢ÞQ_‡Ò‚LMl0´=’íÙK­^»LÄ¡aƒH F8P Í=“t-¸#M8!øiχ°¾ JÃ[] g¨Ž3-…Upp/Ä2@6x’PL $Ðvºl/ÚPÆäõpðWtûõ…¹Ábï€,“Df&D@3#¦ûƯ}09ë& Ga‡@F}š<¦ß Ë‡¶Ô7YÑ)>hLãÅÁ!$€ÌH`èÝ£ÈÙ“äØ§¤åpÏ‘Ì8ì@H  @ÇÁ$㑈N(ÐÑ9oØk$€†tL2 è$€ó†½FH  @ÇÁ$㑈N(ÐÑ9oØk$€ ®uÐËßfû@aB¦'Pü£i’d—%Øs¨Cä»T`BQE@»Z¯@?uÏõQ5Fìl<xjÍ»(Ðñ8ñ±5f|P%¶æGƒ@Œ tê˜~º}Ô\þôÒW6‹Ãää?ô§Ãézá‰;bËÔЂ6õô`çô t[=±í$í§{%Ðóï»Á¿Å‡Ÿ~m`ÿ´E߬¯3˜ FÀl7o ›ÚX©ènb;§t›ŒhˆŽ±`‹øÿüg_Ÿóó›ÿßú-Æh´mõÌ9dUyafO£êás£êée7°x8 ˜P ñæM8'<Êê†ë3X}™6d% íÙýjÕÚ-­í`JàBÉN«iæj[ Ê­‹OŒœ“î[ñvµ¤ÊÈV±.$€€.¡ ´ÃáôoìèÅóoò‘[çÝ;“HöÀ]È+«¥&7O½·u3”L™…åµey´·¥9¡”Ç2H ^] ‰ Û’O>µ}¼Ç¶û£ÚíØ*wÛ¶ìªÛüþ¡­8°¿Èwï113vu‰bR3cÕ¶zNQEEÑxA˜¹r¼ßÚéSú¹j†+Ù½æ¶Ç(Öšêª1Þ¹M+ÍxM×t>­Rû% Ýã%@ZCÙ ÖÎVq8ÜvˆwÃöá]-Ê2üé–ºñqh}Ð]Ibfáüâe¹êMÂΈrJ©ï™:±©/¼¿ÔeÍOsöe3#%§´2[qu/êÒšö´B¿`uç\“ém ¾$P–ö6 ìjZP˜ûô*®ñóŠº`Þšµ…ÿµhèˆ,vQí¦–õs ï gî:úå+is*gX)݉™Óü¦K6ý%OoWó»*pì’@wY|oèn 3F3Ð-hîdvÊ—l‰ _Cdb!‹$P½@Æ{mªËìr Ë=kíàSõuN)[…WZàSo%ÊÍ9Ï o~^žÝx$Ù255ƒ û¶žðªMËŠçwºY¨m%`qÍXh?è[¼Y ߆+Ý@îZ¸ËÛÕôŸ”>¹o©Ú]ùÍwJáí=+g/$üÅKà ùpáe5óxÎó6”„êñȹËHõAüQHÀ¡v@NiiNÀ»,½¼ƒ Ó‚}ô'º@wØPÝe“ÓÙ‘1岌©?Ș>%cÆ”Œé?H·»ÁÉŠanÔ$yWÀÁR ² _ î,Á¦Ý³x/\5yìâÙkÈׇèùܼ鄤Ÿ—ëyAåC{ÉšYÜ‚¾lAeeÍ!8™^ðÆÉ²ŸBf‰þe¶¾–(±uHÊ|ôMþ&úG zÉtrŒ‹l¡ tb"yhášÅϽÊg”cݳ¥ëžûݺçŸ_—`MèC„Zç80uÈx›6”@zÁó7W”í`u‚:_V1ëcn/Îí¾ÜÅŸr šN ªSž{ת/M¹eb[]BlpÍ‚`W$î²ÕfŽ¡ ôЧ‹^ZtÏK‹ •ã7…ËS'áXùô¯Z|/¼ˆJ8Ž$þ“{Éà *ùȸ™ Z½£B9pÄé+”i|#оsÏu×Iy )·ºlU!xÛæ«÷G”[&™ˆzÃd}äð»ËƒøqHº„.ÐþÕ¿ù÷?êj3!S¸|Ñ[÷ÐŽ¤Ìûî‚IÌqñÈ ºµ /_ôñâ½³ùíĬ¡º—è©÷C”,ž?ïÔ[&Þ¿÷”>wYº¸ƒb ŠØ‰p áFSF¦ œ:¬¥¾ñÈ WÀ¶ƃ6¼WŸ,ZÙ ‰´4‘;~×—.lÃG‡F€F³‹dl"dfg¸Ýâ ¹óò~-ßø„œÖ?dX $#ŒtqÜöã{C£²û÷ÂöRÁ’841õÜÐjÀRH Ø#Ð[Þ°£úñWÞñ?à|÷°>Z!ìùëäê ù‡÷,¾äîϦ=rlÆ/rœZBZÙSŠSç@ÒF®E2*ö´QõÄÞU†#BH $½èözö¾ý8ß}ÚdòO¶eÝðä ÑYMG7þèÛîâow?÷¼ë’ú]òÆcܾ¤óMBŸ=«ooR]T´ >Ÿ{ÐS¾¸˜T^¶¸²6k)­—× ©ÂÓ ¯ÁÓJ§~¬"s´Ê ëbå*Þ$ÄÉAZAlyU·“´±Mc{)РLÿÉÄåìhmn\^~  @W.³\õÀ¿Ó.ܲtеó¿%ä}âvѽWàpØöÖf^VüZÉÅw”v+Ð4Xþ¦|úðüd˜pɦÒi±ÕJ…FlÖ<€Â 1M†ØÊ´ž•µAÁj*÷ðbiVmù„•ZQk€:ižÂÌNõì›Ïª¯*)!ðð.^¤!`6ŽÈ ±‘X# l˺·.`#IîÔÔ~©©ýáHKë?èœaN§²Ù_­ý)ÉÖ¦ãuª—¹H Dn âåpI ÙÀpàmÄ€%؈Àó„<‚˜v4Ò&6}@ótÊ™—…°ÔžTú¶Òu kŸÐ ±výàxˆZŦ¦Ó ÇO×;uòðaÛ~·KÙ®¯ëÐþ”Dw݇/b§,6’Ž“¤ã8qœ vxq’8N“væÀ»}ÐZ&4 Lh)uZ(Q‘ºØØ$@èƒàáöØJ§*ùsZ!xÎX  º¥±þô‰ÃõÇÕ¯ƒ§·¶€8]÷˜|æÛ*wû~*Á®&b?Nì Îün¤&kÛž,hbÏibChÔqCØ'ôÖ®bOóœÝ·¢­×ãZžÂ„š€} çcµ§ŽÖž:f†·Ý4tPNHüèõg¨;I;“f° Ý' 9ÓØt¢æÓov•â¹ëØi@Þ@ÒàôådoÔêåPw8Tö<4¸†ýCøPê.ö4ϨԞz¶’Ρ‚ž,€½½I뮨»bbƬéÙ]!Þ\:Ê~öĬG^$Ík‰ÅÑx²õÈþ–£uím-.·“üøù^<äí³Ø'9žЛ„?ž&‰vÉ.ŠtW¶>L#¡[ǦMH Ò«8BCPù‡‹~qãÝ7ø°êPM‡½U”Dr»!Á7P C›’˜(eB~êžëc-ÂÁÅâ0j‡§ãú£Ùå>ðùÙ³äÍ—ßþâ“Öü'Ý·='£ÎÐmÜ/bH >#`€ÚÓ÷ bqÜý’|çóò/ô›Ñgаa$€@$)Ðú-hŸ‘…\0„° $€@0R ƒ² µã ¹ ¯I¿û¬PñŒðÎÓÂk¿úˆ$6‹0˜€‘²!rAI|Q`uþ`ßBÝû§৉ÅÈׂö:ÇnTê(¥«öžêÁÏMCÀHÙ¹ ’6Í…ÝQ¶°âYȺ}ÑsŠ÷R—U*%žm¼åÊlö0SÏ©ÓëÊNX=”Â;ä=c²F tP†°©Icdç(»Œ{Û]e?ouÇî7>úÆklY£Rö„L^UÅ.°Õt+YÝAs½Eè#YJ1­¡ ¶3¿n{È©ÚØÞ²ìL]2Š ÖÓ5#:(C¸ÏI/Õñ&Z"qþQ ç£)YPYI÷“½}M‚>R mu'oz¦‡]½ó‹YH/­WíËï"z oÉûܬ÷YVD–+‹—Ñ˘<¨dgjËò´S¦T®Í áy΂õsxYŸ3´ÅºçWE_ ßHÊ‚†Áƒ^ ðZ]öŽÖ® @ é+×¼¿‚x´Ÿù¼ñÈFÉý͹cg^:)sòÅýÏIr¶}MÈÙ‚xØöU€)£5Õ×ì‰`,C„×Sž;ï‹IÅ6 "0æ§¥‹s™YýÆ=ç±:?\xYͼ“û˜Å·¡dýa}-)»vkÃguOÑS¡ÖÅÁ=ž"mÞÒxa]eìjÑ?c÷õ sE€€‘” cs¹œ,9øÑÖÚ|¦¶¼ œ\nyʽ{Þ´_‚§;jØùž3rDrª…ˆMDj9aÔ±¯ÿŽÀað<ÆDyž› Ûê9ª-ÒÉGØ£%âS°«z"0“ØD>´—¬™Å-èËÀ¸®¡û¥¼q²ì§z"T§ÁúÝTeHWÁÚÐ_8Æà4êo sIÀHÖ‚Ž\ iï^Yüï;¿ÔUg›Å'ü´OAŒmäÅiʺT?55¢O>:M_gzœž0¹Ú‚ô¯0ÝÎhOAw^±~k€«9Ðå]Q´RûkA€F}Ä\a"`¤@kA÷A iz]¼‰®;‚³¯ÝáSPw=ašO¬ÖpÜLæ)=cb傲]ÛÐáƒ.€=4•m%Ö¬bþГ֨_–SZ™]Ä#7*¬uU©8F}{ì$f3#:X ºIÓÑ,Ì¿*Ó¶­ëé߉:#8ûÛ>«V—PdîÚð½[0E3ô‚yPŸ†z“ðòE/Þ;[Y7T÷ÊèÂrϦÌìsÞj7f`ôŒ6•æ–{ÖÚyŠ+¾mê8!ps…Ÿ×Vîy­­×ãsoŒ›ò:¥mÔ³wÁZÐ}HZ½Šn Nl0Kï·dNÐÁÙÏîð)˜£³S^ qÞ)p%{–Öi^O[Ho zÞQ3»Iϯßm4aØSIpaãΗFãíËú@”e*Ì4tÊÈÔ¡îê­XÐú5Út¤ûr6°mc`¸Qc8b-á!D¸ÑözRû>i¯7R Ã3¨Nµ†1tzM„™ t˜cõ½"‚@÷¥Ú3VýÎë0’îy,Œ0ž€‘­ß¿á3Ž  b i㯬 S0ÒÅ”:dçµ!{œ‹És}ÖRõX"Ä {V^bI,æGÀ„.œ%$ % wOÂ(õA‡6ÙK_Ù ].º…¨“ÿtÒŸ§ë…'îX' th¨û¶”Ùºoi`ëQJ`èÝ£àö ¿Ih¤‹C¿+Ù\ οï†æÃñ›‡gÁ±dþmp@7¾°1Jg»@Ì0R ƒr%kÉF² ¬þ—dÙ%ÊN·}¸³àZÔ蘿Êq€H J )Ð0„C3½A”=éÂ~Xþ­>œ³jíÆ–Öö‡Ÿ~­‹ùK+Yx%¸‰÷,̸(Jg»@Ô mÔÆÚ‘4„9p-:Nÿ ‚Q/žû“Ü:ïÞ™D²w1ƒí¥‹vM^räHÔN0v è#2#’®âH™:(âOj‘…{ùÇ¢ÿ¹pÞ-Ÿ|jKš97ˆS"N‘8DnŽk®ÈXøÛµ/=]¨íR§›„éï!¿^tˆÌž´îÚT–­ãoK>-=L.òœ9uäîE‡¾„œK34üvîþõ¬àŽScÿ3›žÚõç]~à{©à*¿hîûîê'eHÛw×lÛ]Sµûà{»nÙY³yGMù¶ÚÍ;ëhÐ0Ó1ø£áøÙ2<í¢Ãí‡È_­¼°€õ«À^NË8uäf#ùqÑì!pž¨gÈÑô“èÄŒÙàŒhaô½,È‹wõ>â+ ­åö óïP]dº˜Cžº/†ìX² ¼ªWúôƒðz.ΠÚT¦1!$€ $`¤@›v‡Äv*9æþ Ï!êè€C±±»â:&•¹•Án¨`›Ð]tÙz&=cÅì4B@¦?ûÛ©´ñ¤ýÐð±÷]¡f¨nצ>!wX­ˆjF t/ á8êlÑÎVq8Üô® ¬~†ƒ¹ž©¤–EwáãºBqh¤ýmÍ¡/zõÔØuìÌ3#Û©¿âp;¹öêñXyÉô/ö—>ýà’#?£Ö]ÛþÛU§CAH x)Цµ ¹;e‹K¶ˆDÀ¯¸w,I z èšà 8è‚ HëWñ·»n^µÿfz»Ï“a×ÍoµÓ‡ݬ¡wé[Ï]Aík¼ûœìS¥{?#:ë­¯î÷®9ãÙP=73ÐÆ™¬U%ÞÏ<5ø•Ww•÷n9Ïû¿ñ¡cÇ:B'`¤@ë´gý;î‚v4zÙätvdL¹,cê2¦Oɘ1%cúÒínprè½M:i,Ù§nç[qÓã¹÷û¦'Å•Ê&VlË©ªMDy_[V½” 2è-lŒÂòx6·Òö”©mî2õTU‰’Êçz•·S+Úm­`W,¾Ý¦("`¤@›Ö‚NL$-\³ø¹WùñŒr¬{¶tÝs¿[÷üóë¬ Q4gØÕPxvã~‹ÌЍíÜEgsJÕ=ªlû*`?APìê²Úîö­¢j []*õÁöšÅù9ôMæ5=ïi[½tYñ|}ÛÕ†‚Ë„‡€‘nC8dÓ{ÅÓE/-ºç¥E…Êñ›Âå¿)„“p¬|ú¿W-¾^„/Öj>WæÌU7êÞ¶H1«òà²tn•ÍÜ é2OÑ_˜ã‹•R_w7Üe|Lû‚{ 6åÓcAp½ûxçŠè´W½+´OU+‹HÙ\¦ç˜¢‹ìI8ißðΤÜ~PÙ Ó³'¦úbáêͶîâÍú×^Ñ“Í?Oä †ÖO,erp¡žmmmn>Ý|æhS}§ë9Wµ ?}á*¯?^œKÈÜ·ØÞ¯oÝCÏœ|u®z†æyàÕÓóܳ/àS^'ÍvÕ‹«;Éj¾>¾8ÔÓPV«ÉÏÀOÕ;AÍdúÚc.{ À)å&?ÝÓÛãÙà5wnE­ÐäÓó݃ë¡+Õž'yÍdú·$}-²,.,hˆ Çâ›àxò… p<¶ôM8ºŽ‘]¿c±·:T.˜Ä¬ãIó>å»qç..â›%¤Ÿb wt÷ªgÒ§çåþ¡Šºªýó5³¸•}Ù‚Jn‰·«wf–ê¤P;“_\±Ï¦‚ê³ðxº¤½l«}½ËZAóYÇõaÒ,F ´i}ÐÀãA›ôŒX·<>h®Î!'O=ÔR~tšÎzªJ¯…mëzæq¶­.QWj€sôdz»WHˆš§ÛºiþMU³ûµÂ>Fï³ÎI2c6#Ú´>h-xÃâAƒÿ°ëÅPfœjìS÷Ò3&V.(cÎèÃ;**È ¾š<ÞÊôø 3³ª¹z|Qv%½˜9çkß`15‘sJk Ö³Sã׺[H=Öã‹*˜§ä>§´’°:Õ*¡RßV¨<ÏAïs_úF ´i-èãAó[8šû5tÝ)ˆ2Js_ðÝtýòE/Þ;›¹A¾`ÃÂËeõæ¡^ý«A4ëÝ”…9¥—«ºt£—†vÍ+â©Â¯™Þvd‰êÁC›³#£2rÓXÓ"Yôû q³§{ðÅ€v¢$Ãh§Kliíxñå·^XøsßþƒÏÙ—Mª³V±+œ¾¥qëø;ö–(¯M;ò8ë˜'š² Ü]} Âb4»¾SµL4»zbÛIÚOÇ… !7`ž ôÇ{l»?ªÝþ­r·mË®ºÍïÚúáÑû‹n±‹‰ÌÊ/ ë·ÚàS¸Ó’]À"ùXЊ]ÍÎó¿Yµ+©Lu`gˆ*F ´É}Г/wé¤qS.ÍœvyæÕSÆýpê¸ë§e\75ƒÆJêúIÂÌÂùÙE+«àNKuÙÜküæD™>ÏFuUÉø}óù_­àKœÓ峺Quy`g‘èKF t_ù ÃšÞ.Ï…1þaÁí*ÊÌÝKˆòŒ»“ÓiÝT_Î0¶@Ô0R ûÊ‚w<蜹ôÁþXm§”WV© ƒÐéùƒîžÙÚ«;Ž@D ð›„i§k©o<²"ðM÷:½µ`È`_òú³ýhÇßÒ= %Ø–ÐóS–KîÔqO?»fÅbõ¿Sò¿ ÈϬ"s¢@C”fˆsS~ÍÖ™àÜàÀšÆÅM¿ Ì&Ѐ Æ¡w‚íb¹@é∼Zçl„–úˆ,?£ýI{@—£ÒŒÚuª¨Î:ç³!$Ð5#:ò>h3‹ñ u‚ÂlH ˜Š€‘.Óú |¢Ìb_EjT~¶ªŽ›Õl[BÙ*X0⨩®ËÐ:ƒ.ŽÐ¸a)Sк8ŒhS ;‡P ãpÒcoÈq烎½)Ä!$bÁýÉráÝg…Šg„wž^û¥Ó†cDH )Ð}µŠ£ÅArç5äýZ¾ñ 9­<ÌŽ ¸ `¤@G~Çîß ÛKKâÐÄÔsûrºh¼$ÜÕ¾/gÛF1IÀHʂް£úñWÞñ?à|÷ ?Z!ìùëäê ù‡÷,¾äîϦ=rlÆ/rœZBZ%·Î/yãÌ 4T|gOfo©ªúœ ÝB®ZÙ#&/@‘&@Z6Èm”ýÁÞCÏÞw£ÿç»gÐî$“²-ë†'Îj:ºáðGÏØv»ãqBÚ@ ÅqC!ÎlQ¡l¦™íÅÈÿ=³à)EÃ$ÑMŒèƒ*ø|Št˜ (¢Üg4tOÝ’¤ðZ]öŽÖ®º½óEëΕƒkÞ_Ü~æóÆ#%÷7玜yé¤ÌÉ÷?'ÉÙö5!g[Ð\@iÊ)U‚e¨^ Ø2eµºy•O@gf#¯V¼|gºßshfI Ûò ÔïVãØ)›`i*§¥0!$€B!`¤@eACg].'K~´µ6Ÿ©OEàärËSþëÝó¦ý$8íÜQÃοðœ‘#’S-Dl"RóÈ £Ž}ý„t² Y¼ÐN›W)Qœ¹Q]ªDyй¢h_¾²=ÛÑ3³p•²ï}ùÜ,EñaO{ÇŽnnÏDœ…ˆV*Ï eV° @H)ÐAù ¡m0ŸSSû¥¦ö‡#-­ÿ s†9v>+þ!ž%ÙÚt¼Nõ2·©È D<£®3 R#!ûZÐÊÞmù›”y°k2)›ë#:ç©Ù:mcßí•°r¼Ö"E@–ÝtG3Á-[Ü‘jÛAá"`¤@kA‹¢ØÔtº¡áøéúc§N>lÛïv9ù@ýCÞÚVpàtÝcò™o«Üíû©»šˆý8±ƒ:ó4ºAš¬mXÐàrðìÌ fr^Vfæ5¶±êÜPæ„ì ¿“ûÒýn)+ej° @ñNÀHÖ‚>†ó±ÚSGkO³FÃÛn&JNHüèõg¨;I;“f° Ý' 9ÓØt¢æÓov•"ø¯HŬ¦.hš`9Ç*tl…¢œ+ÙÊ/‚œRX'§žìrßWØ£y´g®Ü×ŵӹrŸ_ñ~½áø‘‚ –”<*mБÞQÖ;\QwÅÄŒYÓ³»ÁæÒQö³'f=ò"i^K,ŽÆ“­Gö·­kokq¹äÇÏ«ñê‚ €Yc‡Kúå¦H¢ƒÈvY²‹n¼bgrãg$,XÒiR·CÙQÅ(ŽÁÊ?\Üxô‹ï¾éÀ‡U‡j:ì­¢$’Û‡ßð‚&P £`’°‹=Ð ´‘.Ž`}Ð=õ3Àç¹|~ö,yóå·¿ø¤5ÿI÷mÏɨÎ!`Ä"H D*Ð ]ßû¬:´ï~I¾óyùÎŒésh}ÀRH pPô-Ê,h"°ÙÃ9X7@H ;|G•ÔS‡·Ô7Yá ˜wùÛuOÝs}ô‚\úÊfè¼ËEŸ\pòŸNúÓát½ðÄÑ;.ì¹ôAã%L·£JÈLõ[Ðóï»aÁƒùpüæáYp,™ÐîÂ6†Ü:DH „•€‘.ŽÈø µ8BhBdÀ.±.QvºidÒ; ®E놕#$2#Z¿=rw} êl‘oàÍ}:…þTÞ®Z»±¥µýá§_ Ð%MéN¡–Œê=փ薀‘‚=ÛËÙÑ٢á„øÐ6š½xþíO>rë¼{gI ÒäÛOtö¡ç‰ñ^v‹#$€ô0R uÚ³zº¥3ÞeêÍøäSÛÇ{l»?ªÝþ­r·mË®ºÍïÚúáÑûC0êZ„`üê†)¾Û³Ð÷é†HÐJàè™Ê“äJˆh#ÂlH #Z§=k ý Zœ|ɸK'›riæ´Ë3¯ž2î‡SÇ]?-㺩`JËð_‰FS¢Û±€V+Áž+³it%cS+_µiYq~â¿o>ÏT[°~’Æ„š€‘­×ž º“]ðí sôöÝ5Ûv×Tí>øÞ®ƒ[vÖlÞQS¾­vóÎ:*£AuÉcBç.#ÕA|éŽL¡«6UÓÒCKÕfFH °?({Öøþa£ýÏ@C|´Õ"áÜd7 ©. Ìý¡Ç‚æ¡JA=;*[¨€BÏ-«…}.¸&“ CK2ÁX ˆo|ÓXcví+ ºÇ”X”hêʉ¤9À³Áß*6vwѽ³çC¨R_E…aï” ¥ iº©DÕgý¡¥{ì:f@H Ž éâè+ ºÇé³³U7qˆV?Ã!Â;#I°ít×>¶?,KK³jeºß,xœ³•“söe³Mi¢ ½Œp×ZºÇ~c$€⛀‘mZ š °S¶¸d‹H ü‚ Ã~Œ‹$P½pxïBåŠöRõUî–—––{NÓÌʆáL°=wµEãûZÃÑ#$$#Ú´t‡ÝX.›œÎŽŒ)—eLýAÆô)3¦dLÿAºÝ NŽàn ³#$€B!Ðg;ª„ÒY¿2`³ëù­ðàe ü*RU˜é17«™Z¶ –OÒ%¬¤ `°¤>„ME@,ÉH6ªX thܰ”©Äc4;SMv $ ‡@\XÐZÏ¥yЂŽIÄ!Ä£ñ ñºGH êÄÅ*í¬`<註F±ÃH n ¹i¬É×Aó9:´&Æ(„ªô§ƒÇÁy6Ï‹¸½¾pàH „@€>ÜMÿÅ…Ý‹xÐÅÅÕK•`t¶ÕK«ó<êb«xpÑU3!$€<ŒhÓZаÖR<è¬ü²~+µ†«VeppBBÏ\½ìk Ú¶zNQ{F|fI 5¥™Í>¥ £þ‡õëG—·ÃÒvXÜNc¬`BÑMÀHÖó̈±´‚j1´xÐ,öÆÊ*j>—ͽFé¾oHh8]Q´/ÄžöÎ,\U–Ç¢Ù•ÏÍR (ŸÊreñ2Õ"7Ö†@ì0R ûÊ‚î>*4ÌYïâAÓhϹžPv>&´â‹B è.“çÓ̬àœ$±wÅáˆÐMÀHÊžÕÝÃî2F&4D{Î#t£% mÈx°$€€†€‘ÝWtÚÛxÐ>‘ê ½!¡;÷‚mŽ… $ÐF t_YÐ=Ž?ôxЫî"$´7/Û¥0n®Ü×cß0@H +F ´i-èÐãAû,’S—Íù†„ö[NÇ3(£µŸâÂ;ü."$ ›€‘mZ ãAë¾0#@&"@ƒ%¥ŒL8uxK}ã‘®€][þvÝS÷\ßc¯uFgî±ýt¶ˆñ õ#êœ,é‘Û/—E»,9dÉζ¢Ä„¢Œ –Ô^Olï“¶z.Ði§ë½@GìnÌ@޹)ÇiÚH‡i}Ðñ8É8f$€¢Ÿ@\XÐ:ú/T]#@ Z&ÌdnñhAchø0´NP˜ Sˆ ãA›êš _gЂ[¬9b0tÄPcC%€QÜØXx„ËÅaÚUáÁˆµ"$€ÂKÀD«8>Y.¼û¬PñŒðÎÓÂk¿äË•1!$€â—€‘ÝK ºÅArç5äýZ¾ñ 9­üN Ž $À )Ð!¯âØý{a{©`Iš˜znX&Fá(, `¥H ã ôV 7ì¨~ü•wü8ß}g?Z!ìùëäê ù‡÷,¾äîϦ=rlÆ/rœZBZìǬ‰Çžù€8rÆãÀ‘@æ!Ð[þ`ï¡gï»Ñÿ€óݲÝI&ÿd[Ö OÕttÃáž±í.þvÇã„´@‹b Òyjtf®¼0Ó<±'¦! Ã¥Á¡#¾ŠizA ôV ¡RQtK’rÀkQtÙ;Z»Â½óEëΕƒkÞ_Ü~æóÆ#%÷7玜yé¤ÌÉ÷?'ÉÙö5!gXÐþ5RÇEIÉLRY1°KªÑœgiJzÍp~š¾W3@gf•{ó¨Fºßÿ,xy!$€ '`€@»\N–ühkm>SžŠÀÉå–§ü×»çMû%HpÚ¹£†á9#G$§ZˆØD¤æ‘FûúÿélA{#c¨ŽŠê¬U²\Y¼,wá/ ¦>´ÌÏC¢y$šÈE”Æ UÂ4C¼¹<.̽ úœŸCóe<’0¾¨×ùŸÈý4øœR@ @H  hQ›šN74?]ìÔÉÇmûÝ.'﫤fIt×}ø2!v*Áb#é8I:ŽÇ b‡'‰ãô˜1ig¼Ø‚E¡}fâ®õt3ýõ=“SJMìüM¸_UXf+EH@!`€@·4ÖŸ>q¸þØ¡úãuð¢ñôñÖ°‚§ë“Ï|[ånßO%ØÕDìljÔ™ Ñ ‚Ôdm; Ë­gAx=Ö4ݳJ ÓLC9Sƒ™¦œ¹àïÈ­æ¶µ&R½ÿÛêêG™®-ËSÍs=ÁV{êhí©c6ÐhxÛ@Cßä„Ä^†J°³‘´3i Ú}’3M'j>ýfWù'ʾ'>#Ñú »_fçÉ [z—{䔲͹™÷"»Ò㜠þ¯OÄ“G]Ëç-¥œÉœ@”ðÎã׬ÂÅ$Á\o˜ ô6š¬w¸¢îЉ³¦gwÕ‘Í¥£ìgOÌzäEÒ¼–X'[ìo9Z×ÞÖâr;ÉŸïÝ)Xc· õ/ÃåŽ_þ ðbÖˆ Á’ .•%?$ D”?6f¾fWù‡‹~qãÝ7ø°êPM‡½U”Drûïz§Ë6A 4èó¦|¶[ ¦('€åˆÝ§ÂÍN?ÝÜ>?{–¼ùòÛ_|Òšÿ¤û¶çdÃÔ:‘YXŒ9 ¾dTgýs‡9‘ˆ|Сõõî—ä;Ÿ—ï|Á «9´N`)$€€‰ ô™@k™ô2 ž‰ñb×@¡èíMÂÐ[¾äÒW6C!—Ë ?ü§“þt8]/èX›Ñ¸Oßû }°ë· çßwÂóáøÍóàX2ÿ68 ¶…/lŒË©ÄA#$ËLáâ!4<É'ɲK”nXPMî,¸5:–¯SˆK¦h4ˆ²gŽè3#„xžgYµvcKkûÃO¿`;’îÜ..§@´0…@ë´ %ć.höâù·?ùÈ­óîI$%H“/}O0 ö$!jt´\ØO$çL!Ð:-h"SoÆ'ŸÚ>ÞcÛýQíöl•»m[vÕm~ÿÐÖØ‚Q÷0°D4š…$ÕÖž0КÀ¤\Æ1ðsœ?pøH O ˜B uZÐÔäKÆ]:iÜ”K3§]žyõ”q?œ:îúi×MÍSZÖ³‰ ~Dƒ8ƒVó°ÏÔ™†PÒ„†VcúdžîÓ¹ÂÆ‘ˆ3¦hÿ°Ñþg`^¸ zûîšm»kªv|o×Á-;k6ï¨)ßV»yg•Ú &Ïcç.ã!£ÕÐРÏ,¶$è êÇÌH Þ0…@û‡ö?Ãä+ ­åö †CuY`î=4 ÛŸ• ê ¡èj™ AC9Dx‚÷ƒ>³} ùdžîn,ÐOÀ­Ó-±(ÑÔ•!Is€gƒ¿UlìîFÏv½‚­¨ø**LcC+E ðhõ¦UŸý#AëçŠ9‘@½&` Ö郶³U7qˆV?Ã!Â!Ëð¤–Ewéã𒆸¢,4xœ³• Îsöe+4œ…^F¸€Óüjüh56t¯ycH ÝL!Ð:-h.ÀNÙâ’-"$ðk‚L,ÄbÀ¿ × Ñî½h£÷+÷ËKK½ÑïhfMl;mÙ`"äéæ‘@]0…@ë´ ;ìÇe“ÓÙ‘1岌©?Ș>%cÆ”Œé?H·»ÁÉÜmB¼.@f&`Š`I`AëÑèŸ(³Xà7ŠªÂL¹YÍÜвU°¬xºÈ̸±oa%€Á’Š+ ¾ßQ%2ãÄVâ t¼ÍxLŽ7Š£ÙÅä|à @ ˜ÂÅ¡sn0´NPq› -è¸úXx[Ð:–.D @݈¦UÚ‘`³¤„šÒÌŽfŸÒ„Qÿ¼ ±.$€0…@ë´ yÿC‹Íbo¬¬¢æsÙÜk¾!¡átEѾ|p_ÂÓÞ™…«ÊòX4»ò¹YJåS!]¼LµÈñºBH „‰€):"ñ i´ç\O(;Z ñE!t—ÉóifVpN’0ÍV‹@L0…@G&4D{Î#Åùý :¦'‡@t0…@ëôA÷6´O¤:˜¨!¡;OÛ @H O˜B uú Cm!¡½yÙ.…¹p“på¾>™l 8'` ÖiA‡Úg‘œºl.§´sHh¿åt<ƒ0Zû).¼‹óï  D„€)Z§ñ #rI`#H ˜…€)‚%a*40r¹ÜðÓj‘áøC¼ì'ý#È’ú²+š¾ñ =ùòÊ*˪s={X±]TÔÄT@H /˜B uú ­‡û…•$—ºœ3'dWÀÖX}1Ø&@H 3S´N´Áñ ;ƒÈ)­Ì.?sufi-˜ÓÊΰÞ&Ä/ @}GÀ­Ó‚684_fç]lGƒ?ÓÀÑÞ­dù{LH ¾!` ÖiAc<è¾¹F°U$€úˆ –”<2mÐÔa-õGV¸vcùÛuOÝs}øzˆñ ÃÇ6®jÆ`Iq5ݱ:XßxÐ}.б Ça(ÐŽÍ…ƒ@G³ ¬ $`N¦pqèDƒñ u‚ŠÛlÔ‚žý}ØìJ’°ñ! q‹½¢Ø‚ÆxÐÑ{ÙaÏ‘–@4­âЎͰxÐÁÃüH °ˆL‘6…@µš“ :´úè‰ç‰î°Æ@½#` Ö¹ºñ Õðì)AÔèÞ]3X 0…@ë´ {Z¥ O ‚F/]mÓƒæ¯ÙÏÕ%Š¥­Š8ÍœñFŠæÏ€.¡™Ãfˆy¦h4ŸŒÐâA{'’†Cê"ˆhEѾ|Æ®²xˆ8`%š'ˆkç}âvðˆJ¾Ebþ‚Á"$9¦èˆÄƒÖÁ4¯lnË–™•?m[×õ /í1¡s—‘êƒ`CŸ":Á,H L!ÐÝG‚öØ×½Œ­üyY™:ñh³:__ÀcE×–QÇ„'S´NtoãASް£UQö|£Nut€¡\qæ5¤sl輂k˜´wY$œS…u#$oL!Ð:}Сǃ†M­”[}K³jÙÞV™…«Ô°Ïsöewak2ÁMB[á|ˆÍêéºH¼]?8^$€ÂHÀzëŒf7ï©?¿øÔÏÞÙQÃxÈn‘ˆ2q‰Ä-ØïjÆ”Œß.Y³ê·÷…‘Vmnø¨·¹ç{§‹{Ôû4±í í§£É‚Æxк¦3!$؆«ÑdA?øD™Å¿QÔ]ÈeúŠo³/%Y¶ –OÅÀÔàB#€thܰ”©(tݰ£M!Ц¢ƒ‰^(ÐÑ;wØs­@›ÂÅ¡sN!@H ®D“ñ ãêÒ a°hA‡ ‹˜@[ÐÚlö ð0…‹Cç:h-Œ¾kkFHÀ$L!Ð:}Ð|ÁOAă¦ÙÕ ,&$€@T0…@ë´ CÍãÐa¨¸$±“H ¨L!Ð:-hâA³aû†uÖžá&¶7‹ qŸñ ƒ@_0…@ë´ 9ŸÞƃ¦q8ÀœæqŸYXgÛê9EÙ<ìse6„Šf•Ø{º ÝqŸûâêÄ6‘@œ0…@G:´OXgáO–ñ°rJKshH`O,% 4û\œŸ£³˜ $`(hèPãA«¿æV—­*ÌÌô ëœ9(qžaÇÈ‘SÊ6ÿ†D}Ñ4z4&$€@ˆ&æë ²Å%[D"HDpÕXˆÅ" Ä-h!÷`@*g;©PSYy_ZZNÏyN¨9¼·™<Ã[¥hç×}0_Ø$@qD šãAÇÑ…‰CEHÀ$ñ uNÆƒÖ *n³a°¤¸úX8 –Ô^Ol;1t,M+Ž…€@?4ë{²ä’eü´X ˆ:ZŽ&GÔÆ#$€zCº7ô°,@H ŒP Ã«FH „D¶Œ¥»Æ¢@‡D !$€ÂO:üŒ±$€@HP C†…@á'€~ÆØ@H $(Ð!aÃBH ð@?cl $è°a!$€@ø  @‡Ÿ1¶€‰ tHذ@H üP ÃÏ[@H „D€ 4}¢@H ˜‡Û~-hóLö $Љ 4^H “@6éÄ`·@(Ðx $€LJÚ¤ƒÝBH  @ã5€0)h“N v $€×@HÀ¤P M:1Ø-$€hþÄ@&! ¸i¬I&»D]x] $€LJÚ¤ƒÝBH  @ã5€0)h“N v $€×@LdQ"¢ 7ÁY8]LH ª  @Gõôaç} ˆn§äv‰n·(º‘ˆv(ÐÑ>ƒØÿN::Z;ìmv{[‡½Ñ h' QŸ&L4uxK}ã‘®€ãYþv]´û'n¾ÈksŒ—'£ÆaÆ¡w"mõ¤î}ø©K cið8$€€™ hšo‹ÛÆšy¾°oH Ä!Ü46'‡Œ@ôÀ›„Ñ3WØS$€⌠tœM8 è!€=s…=EH Π@ÇÙ„ãp‘ˆ(ÐÑ3WØS$€âŒ]22màÔað Ê_nÛgÃÇá"$€LDà¶ß+Ìlaªì$m§; tÇë癨§Ø$€@üèR »zÔ;þሑ@}C@}’ZÐlÓX|°o&[EH "šÌtoâõ0)h“N v $€×@HÀ¤X¸ÑQiƒ® Ëìð&¡Ig »…4DItÙ¢ä¦;{…?¹Žð5’”Ì+X²ÖÄ”d«Åªm1ÞÆKo¶×“Ú÷á' tø®=¬ „…€½½Ýb±¬x{ßÛ8Ú–6"^éðÁi³§·è§“¡å„Ä$mûñ6^èˆ_}Ø 0Ž@{ÛÙ—Ë8áœ{ë´—Äȳ {m'ŸZóî#“º5ÛÇ‚Ž·ñj}ÐÆ}o°&$)`;?0ûÊ«/^ŽØHß7ìÙS_ßþM‚5ÑŸb¼×C:R_)l D<W_œ)ËKb ¢(N¹`ŒËâ'Ðñ6^íe‚mЗ«A‘"7Ó )îÁ?ªÎ1D§ÃîtÚùÝBñ6^èH}“°$61`5{†@ÓˆnÑíî†V¼—£`›ÆFb­NØ®S¬ Ä%ÕvŽÿ‹ éQ Íäϱ­¹é¦5¶ýKÝ4™é2º8âò˃Žð6þ8´vvZÚ~ܼ¶Ž6qhÝÍ7¯;ÄÛÚþk8ÿ«íÆ·«Ž¥›‰éE£¬ÛÊñ«íqã]íE¯hÙ tO„ðs$`RÆ/ߨ[;;ë³¾nkn£ÇÛß{ û浇Øã0¬­ºu7ç}õ‡¯›Ÿ™n|Ó¼ÆnI‡Ø( *-T(ƒj®7o±&ßb –^ÔÖã•…Ý#"Ì€ÌHÀ«›½ˆÎEw¼üYùÒÏÒ•³W=³÷%ò÷ê¸@×­›õÝÎÞûæ]êdž5ë­¨;ΡŽ÷Ð{ÿ +÷þæ*µ•«ž¡¯ëÖÞÚ¯ß vܺF£›µní¯ø™Að'K;~¥äag ¶ˆç÷Vè z¾®P {f„9€ „. ]•¬«ùêÚY9ZýM?q˵k7<4qÃ-_­§:÷`A‡8޺ʷ¶Lï÷K%ý®õgÏ6Òã‰s_ÞAÅvËCûoàgþç÷¿{µN>´ö–›äwØ™³‹¯Úñ«‰áE¾šõÖC98z—z¼®P {D„€9 ôÒû©§¸êcÝBnYñÝñªâ‰î­ãµ›¦»A­§Ãò\{þ8ÿzuö€Áà¸q9Ù[CÇuíïï›ÎŠ;ÿZêy¯ü'QÏз5{Éòy‘ï=´eË7uÆ@@´9¿\Ø+$Ð;½3Ý•NÏœ¸åŸ•ð÷¾'ÕÜ{íù`^^û9w-ª¾åŸßû5›aLÝÉshÍú ê©{uö÷þyKuCKKCKõ‹ Ç>þnûØÇäÚ«!¿r,?I¯ h¼IØ»ï–F¦%ú`ôqÕ½ËɃ¿øó!¥æ ²çÉàó :D-ËôŸ½°ü«Y³×6º]ï@ºèÐÆË•½žðno_°.㸆 ުܰEqVÐ1Ò<|¼é9³äyÜ®6J½=š·žl½›…¯.tqôˆ3 sõOþ®ÿ6O¿ëê[6d2ˆ³ÈÛ§ÿq×XuðÐÜØ»þ±á{ÿsÉ­àê0æ|ÿ!ïâ ƒZþÕMÊ †ÜD®›žþÓ‡¿7ó&^ãm“÷‡§±wýþůnâ(†<±cÚÓÕÞ·ƒnýóa%[/g¡‡K«Ó®ÞÚœ_DìЀènwý½yÓcp’ý%õ ‚Џ]ð¤·}ÌO^iÚø ÛEŸùö¤x¯ï¦±Q?½8$˜KV ›%ÛKÃ0Èât(’L`8oboãå¦<º8âï›#Ž n—’à…ÛåŽÞ†át:à€0y,Ðñ6^~‘¢‹#&¾¬8ˆx"ÐÑÖzé/6þýW7MÙ_’%P4ÿpQăYÏ"èïcM?qÛÁ¿Üï°·hûoãU\¶¤ý4 t]ÉØU$@ 8ì‹þúù‘SgÿsúøKÏíPè‚YþöÄÙUåßœ—~n霙m ÚAÅÛxQ £ý’ÆþÇ5Qt[­ ¿ÿ篽·?–ö$üÑŒ –ܽՒÐvö”v‚ãm¼(ÐqýõÆÁG;Øü¶IHH±&$Ѱ»tÛ3P‹µÓ®ÆTªÖ"‰Nõ¥"õƒ»££½At{N2?lœÚØk kCH F@+иŠÃ0¬X@HÀX(ÐÆòÄÚ@†@6 %V„0– ´±<±6$€€a”uÐiãû'ŒLm©o”z¬ÛáHî1f@H P´Õ“¦Côð<¨’8\°Ht¶A¼’žc¯¸ÅÄž[d —À†v+SÏãÒ•CO[:wS×Q•Q¨a•SIO[FÕÓÅ#¿=öÑ/CÏ—´¾:uðѱ ¨®a™îr5Š!Ö‘mhÝC2 ‘Žþè™V=ãêiLìs™8[IÛiÒrœ´Èðþ`%tT]m蛣š3ª×†Í”žŠxÐÙž’±ÓƒQÏÕ¬ç[aÔU¨cè=¡á×¬ŽŠt]Wk:2éèŽZt©˜žy7][º:¤+“®iÕ3ú¾­ºúdH&賕@Ü(X!noÈÐWˆ|ÖŠ±$€0Àÿs’å\á8ØIEND®B`‚nðÀGæm+eþu-Š,m%€’±H3ÿ‰PNG  IHDR%VÉ7¿sRGB®Îé pHYsÄÄ•+ÿµIDATx^ì] `ÕÕ¾ïe_Ø$ìˆ0ZQD‘D”FQ(ÔZ— iµ ‰¸`#[!q—¢m .h­ÒR¬H@!Q\"dBHB „,o™÷Ÿ»Ì¼yK^æ%/É[ÎuæÝ9wûæÌÌ—sÏœ«³X,D•t7§ÓA†ÅF³ƒtâdh8= "ÁAÄd†½.(Èb¶“Dôz¢'D’k1ÁLˆ€ß#@oLˆ€Ÿ# 3øùqxˆ€Eý0‡c³ $-üÜ¡Ä`"¡Œëô$4˜æÝŒŒ)…› fÂÁÄh!-'—=uûßúϾ©6냫u ßÒßò•’ ‹Šˆׇ…ÓBÀ¯ÂI$TN"X‚Xm@±ZK’B¼ð*"þ‹€‹[À# 8ðyp—< l÷<µ7›(ÛQö­¡Òd´?SÏøÙ™óä\½ÙðÓ~RßðÜôCiÞ}¡ñ+Á·€léú ŽŒ2…˜CÂ{D‡R²Æ)W³s“Ö’à'OÀö0!ˆ"€ ˆ"à‹ÀŒOœäðŸ¦f93ÜžçèMD’)µ˜o‘ 6œ§Æ§–ªFRQrfǘ¨jÆ·t×}Cz $Aͺ úÀi‹Ìôô!Á:}0Ñ…‡·X,AjÔ Ö[à8LG Ïä9ð2-f;_Ä„ ˆ"àÛH‡ß öp†€>Tzn £|Ƭ³ÎÐéšÌ:£Ed$f³d ¶¿1‘3ÌêB˜Ûe<²Í |«‚õÄL›…#V0›dln"ugˆ!¢éÃc2ߊ "½.°ö&ƒõº =p/`]<Ÿr¯V’E2éL*ó—Ùvú¯1"€ ˆ"€ >€Ä¦ %‹D,:ý“C2Kð“f‚Û:OpR}Àòufp0êÑÅÅÀë½ÅHšIYé吝ё˷‘Cˆî, ï! ‡…ÐF¹hyƺÄ)=;ÅïK:I²ïã X&DÀÿÀ?*üÿãD ptTvœ‰2.Fid:‡ŒQ ºc‡,3wE“äMÀBll¤™%ŒoAê¡‹ µ„EÒc¾¥Ôh%^Œc±†%¦YKÁ;Íi &D@D@¼ÅKÇLKœ`™,!zéþ)aY¿‰Ü·ÕÉ=§Ãú¿Jÿñi­X—ÁHtFÒÜHLçI]ƒŽ$|@zqà[!ÔsL¶oÙÕ rdšÅ{&‹Øܼbì"ÐcrG*Á²ˆ€—#€zîå»çA¾e×+é÷)aoüêüÙVJgj¥Æó––f‹Éh1h€5_Y˜ë”ÅÀ<äÁÇËÐljnjèÙoøó«­ëñ·*i>ð­3ÍD_KNБ“ÁýIT”>[” LYƒ‘Z¹Ìð!£>P´€Ã–Ù$[Àîeii276œ={¶¨ªvöÞSº«÷ÒÏ›I8Ä•í[ƒ†žÑ$*”@y˜Fp’ÆQ¢V­Þb1R'ÁŠà´•œØ¿à§S×_}ѦÝW…¼CJM$j(£ƒ¶®û]¶‚ ˆ"€ ˆ@»‡(•¼0qIfà[U™¿=V ö­zé|½¥¥Åö- VF#µl L/킽™ò0³ÁPߨxèÔéÛ¾®Ô]õíQc#å[¡ÇÈÉØ|¢-ßú.»¥ú£E­[b9fé¢?¨åL§×™%KcPÔ‹ŸŸýz[‰Ž|«Ý "ˆ"€ ˆ@·!Ð:ß:¹à¶}¥é|ôu³Â¯˜|ò±»ˆÑ å2µ#p¬˜âúÁW _ü§îoK5M‡jÎÞº³Üßü‰íE‚ÃH¯HBôÁ–0¥µB殩Xýñ 5ßÊ}yÐ\rîÆGÎå‰âÁ¹¯õç9IO ξ¼)óöºœ¶kv)1¢GÉ =âT"¥ŸžŠ×&Î}ê½ý7ÞLV=q*ý(Éh½]§´õ1"ÿ£>ÉŽ¢'Õ´Y«Ä½"mÖ‰ˆ"€x\AÄ(b¾€:š³oUΟO *V‹¡ßâ|'æÍ‡-sˆà¶e4Äþëž_qÛ¥`©j0J‡jø›Oä_?†‘æ)ÏóYÛì’’¡¶èç‘°`µüè-` Óñ²k¿5‘†ÙúEœ®S’mo¾ºãû™¥¬B¿}›*„Wû/AÙÛ´”oÿîoáÇÏ:ÔuNwð¿áMÞ.,Ëk=RmD;Ò¥¦”Û¿Š¸4zàzT£|×ô¬Kcéxݦá'½»EÚ–DD@ð¤Ç ðoZ¿,Æ &[èbÕ÷qÁÁ+?¡ +‚ÿ–Ùd%[3!GGý!d#KúPº7³…Ù±íÂ;fõO Ub6QîŒòü¹è_=A&“Ž‹èõ:}ÞÎæ2Òwjj}#:©×DÄ‘ª oóðK³_8zÙG‚j»Ó]KI#nkœ<‡oÍCzµ&œcm7búå`¹³2Õ©vwhxóµsÎ_{­ ¢=ÇYÎ_v© a»[Å‚ˆ"€ ˆ"à8›T'UÔv!±Hñáäfs©!«¿€Å|†þókþ³bÆ…à¿E7 P.j‚•Yå’“ŽÀ|âÐþ$2’ô%á°Z¢ÞòÁX‡š{k9P.›.Í_uä­ 0ŸH?I„P:àaA¹/ÆÌ5îºé×ý6‰É}­Ïܲ-Ñ3küìŽåÀuHKæíõt>qDTÉ ‘q¬²ÒOëâß%T’4ÞøÈy˜ˆL½·ÏJrŽMÂt¤5_´ÍÊêÞþ{âß“›‡ôVuˆ T2άžõÏ¢Åó–_ÁÛmLTŸý®>“ô̶v),ÿ£žä»–äËÙêÜÄ´ê‰:˜‹„Ùx³õR¼Y²ÕöƒOûÖõ Ÿ_6V0-Õ­¥œd:+ëØæ ˆ"€ ˆ@'!ŒŠ'ƒžÀ’Ô@€>zìÞÉ!bIP0°!øÑb·-ãà7Ö«»püV°l±ð:½¤j0’Cµ ¿Ú}B7á N¤3sð¹a%9¶KOB£©¥ ¾LÔ3TªZÑÞ¾e7JX™ZØÍ` ˆAËZÈÚï dØEi±¥! at2qãWdðÈìåu«ŽAñ2ýö­! ”0‘õl&îéCq7÷)W›þß20ò‰1߇èƒÓÆÇ-¹ñÄYÂkxó¥ßC>˜ÒØÆlpÃû»¦Z>ê“›À39Ùjx|Ñ›þv-Xñ@ìõç”v7Ï[pÒ:ë7ýµ•é?[»ÄêLŽùö¦Ëÿ=ðï«Ëƒç¾ÐÙ¢#×õ²U°|%Ô¹h;ˆÔƇï ?#÷„÷GîCzÂrTc„Î$?Я`B+™V“¢\V©¼Nºç±ZD@n@lQl VÖ3¤!¶4ƒƒ<@d„ÌW'°:%¸ó0RÒë$=|Ùh1ÁF§!ÁÚÓ!À‹˜‰ âˇô´O„×_ÑZ[ÒKFˆöE‚BÌR(«¸ZPÞN‰M)ž¹þª°8rŠN&ÆŒ¤§„‘H?uäŸßúö’ð›óG†2åêŸÃÿ££×5]5w ¡Lº|Ñõe©T’Õ7ÎtÕÏç@eÿ­þ°zmxcaŽbekþù×ú‹ŒSæKýz3I‹µ]Bzȳ~@æü¨X¥KLLmÕÛb Éiÿ潞‰úüÌ«`PÇ7¾T+]2ù~Èì[z¸’4–Ë=Qº¤TèÍd=cü,/œíŠ7Žs’~Ú¾¬³ÊÕ á±w ñà† ˆ"à0*6Á(O·- œâÁwžùfAØ ƒß”?_®‚hózJ¹$ð-XWÚlÔIì3àE:6cf€š£à_ðv¤, ’Íü%ð[*æŒãÓ…À¦ ËVчÑ7P¹ù‹J2üº_,D¾þé¯$ÑÜØ¢Â*t— ã¨9ë7}où0*™ÕT{xÃ÷„\;:ïêÐÒuÛÜrfÊ ³Çªj°^QÑ1iÔ½Sÿpþúß4÷&qÁqÀ—T™/ºÊþd^¯µ]¾<MàÚ2ª.YOõèËŠP°¶°fq‡Ü4—!udž;²¿†ô¸ÐþEkWsPpcõÁ¯bHÿ¥òK9É ª­¶é•(.@ü_þà†ø;ðåß(bÄ‹ª=ð-¸Ec™ÒCˆøn± zýþÊ>ùûkùÁ€·¿NA)1ÓÒ™ znß ¥ö-˜<„à¦ôa¬v‰S-XÃæÂ¸{]ÞøÀ“?ÿ䵩Ÿ¿ø"ò%¥>ëON‡¿±ª8ôÙJbîOkP6UïU™¬ìðßNy"ÀZÛ¢neVŽEtGªø/¿M—TuBX}¥ˆŽ¤„ÍLÊÞ±'¦çT›ÇÝßimWŒ× (­2óاÎ$AÁ©w„$“–Õ/ÿ´mÓ9ÇLUÓ¢¬z°xìµÐ9~ÜD@|}0¸€Ëûë‚’¨¡„·˜} &½¶ŽˆÊyÓhÄôÁR}ߥ<³ÿº0™¨çd‹Ï'†B¤-p‘%=àcDrKf^!f˜¾¤ôJ4 åµ¾×d÷”Ý÷šWúN~¹ïäly[Þw²zËyûíu´‹!!j4ƒE­á8vº`iälëÏÛúŒ6÷d³sêÉÊc渷jȵ×5ý+Ô’¥ßòú®‚Ý_Ô&/µí­­¼TÎ÷Ù}`¹Ø<ˆÖ lÜÕŠúËç´ü#¶’;uP6åwǶ‘QËYæÆTy>QÝn°%ý³f2lↃ“ /¥Úœ’Yă|Ň혥ÚúÍïÎW.fÛÓo\mÓÞ+RÇ»ÊÆ8ü··Á¡3/½óÈWýÍ-=d^ØF ½zü7´õHñ@îEÝIÿG@DcÞÞÀÕÐ)EJتˆ°fb3X¹·FÉÖï¯g‹U3§xæ×U}×…ß¼é]ú–S¤¡çå0Áàp Bp(ÁÒ‘á?’¡½IïÒ«¾¥#M:ˆ/O¿9„7b1"ä˜Ä”D ‡ :‰-ž¨³ Ú÷|P }9—‘Hmxþ›A§“ ·Í„¹M©j}äÎBZÊ2Àœšn Îd4ÑRƒŸ6@H &ubLÓX:u’Îï ÏË“~¼òKiC9þï”|^ssT+íöI1¤\$wÉÈʸ7TœúâoÜyè¡ß~ uê,—l89sÊöüˆÕÉJo•^ñ¦ƒ.€:'²™[Ñ>FÚÃIÖA9f¨CJ¬2vãÅŸˆ"€t ô›(Lˆ@à  (¼Ély/ôèä~A½úè"¢õaá:pʤa²À/ž5ÕYÀ/Þ 3µÀ"pót)kƒ©ÖO4¤wõßú^`AÁA!lB\½Â`ž2”².žô"´™/Çh›,,6½ˆô° ˜áoLˆ"€ þ€ðÜ’°Mðq¡tÿÕ¦·æE»5¾µæ%ÿ<ÿ/tF3xÂËþ[0Ÿ(Û·ßÒ7ÓOEP‹ Âx‚¥+T¦VÖØ¡Ðz(Ä®·ç[Æ Éž†¬p«{(Œø"È·|ñªaŸÝE@ùþÇÝ‚(øt­æ b‚ÉA¶ ´ëö‰¨é`Z‚ŸTÖäaÃQG6 _#ZhPSø˜ÎrÆË.qÿ-+߂ӽ ©¯c–Ž&*.…„óRÔ-Ÿ% 5€La`˜P´©Ùî§ ÝDDp‚@ ò-Ô G€m€¹?gª3~<[9  @üTþâB9”–1jáÀÙ¸€Ä—7G:ã[Íu”]Ñÿ•s ­Ó‰üä•¿48>D€þíálJ‘Aü 7ÖÓõ³‘ãp N ©Ð܇œ3‘àãìûÄAû†DõS_]wì 9} cED@DÀãÄÜ7ˆœ«"'ö‘úж¥öxóX!"€ ˆ"€ …ò­€ºÜ8XD@DèouèØ$"€ ˆ"€íâ[kgß¹¶¢3p꼚;£·X'"€ ˆ"€ pÉ·€ý HŒ±nËwvœÙ×™¾Æ‘¸)­¸ß\ÅéJ‡gp¼U:ЄTQ@D@+mÙ·R–î«*ªÛã“bÓ>þ0-¶ƒÚÔ™{·cuímÈÖØORå¿;fáTW”‹¢½mu,Ž ˆ"€ ƒ@[|Ë ;ƒ“ÕXåÌL¥E¥žq‹ó¡”håøšÌÅùù‹ÇHl›6Ѷöä.$¯d+tpü’½KÉ'_UÐÚ–gÝ) uY»@RUó’åbnÔ:–å;å>¬Y¢.E¬Æ³NšNÕŽJ"ˆ"€ ˆ€ï ÐßbtGž¡cDÄšöd;º€›¾ö¦®ÏÔìÑ¥®“¨gñ˜u¼ž¥)Öú‡Ü½4…Ã>¾kHÛV”ïOI¢¶–Å“´Jæº0›Õ¿nΊY0 UÍsF°š­}Ø÷ò¡™KöмüŇoK½¶xÛ£ G­gã]?šU‹ @D@ ´Å·ìæÕ5¿!«gr6v)Îl´$u0;IyÒÒô‰ZJ¶WFáa“ç“C%N<Ƭ}ˆœšò×Ê,•^ÅŽ ,Ø/%“²ŸÔÞ¾`9D@D4Úâ[®ñpÁƺHjÍÊÛ¦æR”É汞Œ_B[É›)Å´3õy¬ ¬@D@üð-ÊoçRw¨Ž%OªØ‘Gý·ÔI»ÙŒŒO™,°NkÒ)B2c‚;þ®‚Š­K]³j,´&;1_U¬Í¢<ëÚòJŠ3#YÇ`ÀÒˆ"€ ˆ"à¯t€oóØ»tÿ,Ù»K» ¹O8Ú_²nÔ‚q´žGRùoÑ«ôWÁq!ˆ"€ ˆ@Ç€õªáÃÃLòRÇÃXt h, ˆ"€ …®WP—‹ ˆ"€ ÝŒ@G滹ëZ›Çˆ¦Z‘B9D@Dè€ou nX)"€ ˆ"€ Z@¾¥)”CD@D }P¾…œ«}Øa)D@D@\! ×SÐï#†DõS_]×ô_Ü"€ ˆ"€ ˆ@‡ÐÝXOÎW“Ò/Ic ß:ö†±CcaD@D@†!ó-œKD¥@D@D s@¾Õ¹øbíˆ"€ ˆ"€ ßB@D@D s@¾Õ¹øbíÝ…@XäÐð˜àÐAúàîê¶ë£ òøè…Ãn#ÞŒò-o¾:Ø7D@DðoùÃUÄ1 ˆ"€ ˆ€7#€|Ë›¯ö @D@üMñ·b$úÃXq þŽ@MU‘2DpÁ‘¤f‹Ôb15™%“’ÊìïZÐÎñ¡ò´8,† „¨ j<Ôñ·´ò-‹Å‚"ÞŒ€N§ÓøÊDeöæëØ-}CåéرQDÀ?°{€t”oI’$WÄKG啪Õ'PµJØËrfÇÚ°¯›²èळZ홺Vš%!ÎþqÞ_žk#g!:še±ÀN µ1rzÚ%r*dawÖëõù*3×iø •™ßߨ<òsŸ„Öç=¾klÞ”.˜QÀ¿Íí å[f³™súˆ¶°G”Ž’ Œý@6dÂÓ[<Ãåëd¡ç9{\‰•¡â"S)ÏHÐp{¢Åù P»&©å͆CqJ-³NròÆ»,Ó8éQ=^žgK³Øˆù°­ÄL4ª+M__¥Š ë{ª±A(Ð¥gˆ°BoùeÕŽpPpF¾…ÊŒÊl}‘°‡APP0*ò7.> ñ]ƒos·ÞæÁA6oŸŽò-“ÑÈY'E‚B1îÃùƒÚÄÿd¤Ü‹ Uk"—Z‰ì¦*yaZ²JÐ×/#'2ãã>/§jL=Ýg3kÇhŸ˜ TLqœô(ó¼ËÜŸEàËAVÍUŠ3bn“ÿ²™(”'å©CUik»¼Uyàj ¬XŠ~(P"¬LΪÐÈ·P™•;•™?PÂÃÃQy¬Ï|⻆½þð]ãô]£PåmaûQ¿ºÛó}bcc##VÂc=t$M6D :gi´Æ²wfR=8d”Þ«º«f_Κae«ÃPµË œ{©ø c'TÍY‹Ûq«Î@ئ[¶´T}E¯š#…õb„##£4¾2;Q™jáÈ #¬µòăÏ*sdd$*Ó‡—õ¯@|Zþø®–§69Óoß5ŽÀ(ÛHk|‹Æ;µ˜ekR+œ²á“.š,fI*ýÇ x:EB"EEÎøG™g ѽøßÌrÌf dÀ¡Eœ5ñsœ¥6 z’¤ÂT”×VúöŒÿ(•4«IT¦ª‘6Ñîñó¼<´°R4ƒµÂx{´58ËO*IÔÀ«þYkâ%”Šå6Trò¨ø¿¢Z¥iÞ–õð³Ñ¹ aÖt’ö„ý¤2¼åö!¬›-¬Q+kÕwn]yíÏ8øÐKWƒŽ• ¨Kÿ1sÆ?¶ ­k—2Ô2€þ£ÌíTvŸ–­fDöLìØ“ÐAyÊø³–?nŸÜÖOBxœÃ3ž 0Œÿ(QºÀ Ê3Ÿ„òóß5âlóÖTÞæúÔøÑ_ž¾‰/r÷¿ÏÖC*|cêõ¯ÂÁÙúß3T¦UB+黌q úz§TÈJx>!s0 \œ 1f&“-hÖ§zÄâïG8Ã)–ø¡4É$y«‚O°—+­ŽB] .3ü†=¯€É0ŠFÿåÂôÕS‡ã‰U)÷œäop¨S$Q-ï벪 x¤Ñ*U FÆè ­ ,J'‹¡É¬Ï‡Ö¨ñ fõä_‘u[átë:˯¦Lºçßÿ¹gˆÂ¶ø…̵֪ÿ)s;•Ç,•¾ó«1ÿýU!<é“°pæÁ­”»xJyàù7õ³gÏÖŸ=»ÁrãÌ·ËøëÌ“OBöç.< ‡ÜûŸß‹OBÏ#Ì®¾käר¼k€ Zù–Ú8ÄÕv0IȨ·¼}kÏ^ì¿[ß.…?úÞ¾uÖÓOß ¿{=½­ìíY½zõìùôv³¹ôíY?‹ÊÁ9P¥[fsÙ;³XqÈŸõv䗽󇇷|ñPR¯ž³Þ.¥õÓÊ ±³’¹ü¨…VÒkÖ;ðb|‰‘1a8bä‰÷ŽÙŠzƤõ’MdŒc bNi'tÀåDyÎÞ8câípå¹jó[T#€V)ùbblŒìÝ-¨ŸP?^›•º)ÊfØI^?kÖÃŒrâÎùS˜±P¹B6^nBdÈȦ2…±«Ç«(ƒ’0<ÊdDùB{1Â5žk9KæP™2òn+XQ%séAËÌk‡PÕ c*ÍòR¦ ·¾C-aeïÜ šK1Åæª@PûŸ2·Wy¶¿õåµ—~3DhÓ»Ÿ»{<©f½óöbPÅÛ@)@¨ Ásj1¨ UÐ.~ŸÒ‡á;¥ D·Â£’?{>½ÿÑ&ÿQG¸ Üb™8íá-K@xÖÛï@å½ï MZ9­ÊA‘Òwn½u1TÅ”¶×b0ˆA*{Nö¼õR*ÃjàM•¾ó‡‡¾ ÏØ^³? ê dä¹ÚÓç.{°R}ç ž´ø$ÄwMÀ¿k€ šù–L ø›¿­TÿìxæÒCÔ²ôý-ëþ÷µD¶Ž|±¶ö½~Ë#¬èõ)1’hþi* 9·<³MÌ–IƒóQmíizbýèGþ¯³!¿yñ•””W¿¯­ýèî’ż~8 õ?©wydôzÖàúч¸œ3,NiíP:Ë,ì47A±3ô/A…8Iá´D¡|È2íádF͘ kMp!¹}V#O‚ÿ@“ŒsɤI°"¹ìY*Ì[ʬРN ƒ.+ºÆ”±ŠNqú-†I¹oDˆ)–JAÏĵä£UXžuðªWoFX£ÆS¾e«ÌC†Þd–¶ç½>z8¼:9#ÝþÌ%V•^ÿ‡wʘÜQxKnY7ú!K}™=$xPûŸ2·SyÊŽìO¹åZ™mYïÒ-ºžLÏN”¶/¾T<§¾µðæg(Sž?Lž)TÂÃO<ÅãÃúŒ…?Tßyùõ”‘±T˜U~úÙ TEý?öÐ}¥ð`wJUâéºx»eÛb•¯ûûìÉüÈ¡ið(…îñgì+ߟ®ýhîHÚó6«ÚÿÀž´åvOZåÑÆÿ´Å'!¾kî]ãøÔøÑÌ·ÄpŒ5êÀý®Ø3¡´øgòÆÌ¾,]¶ ?ÿp PŒ”ôI4dd =0K±#SÀU ,äü'œ8u>ùùèQˆ\ÏøQÙ»i}/¸j˜ùd3ƒ4ÁJ¥GEýpš×?xøÚâ·KÒĬ¬‰ 7a“L4¬Ï?™ÁBzœiÙ2öÌàBAÅÄR%’ c4NaB‚¤@«¼mQ¿BÄdú%Ñ+ñÜå ÆÄÊY%äÂn¥Jñ„Ì’7¦b¾Ê0yçäQ vÉšySâ´`…*¦§TN@UµXé¥W"¬Qã¹3¢ Ô ‡olÞN•lþÔ‰ôUì2Yå˜Jo•£úúóÑ2©äðè©sFþ¼i»d(A 8¨•§€Ð0qÅ•¹½ÊÃó0þÒwÓ裫ïmð'%<â^¾"ûÛ4„C2yF U3>Çoaþ|ãDö÷!$Ò¿Jù}j!ù ~Á«ëoþî£ß ")/Ï¡Z LZùœ«i]ƒ¯•+çOWøWµÍFóó±'3”Rž„¢?´-øKDyÒB“¿€'í!xÒŽ¦OÚgàI;ž´ø$Äwêñ)¿Ië]ãøÔøqƒoÉ ~ÃQ zï{úØ[u²êäIöÿ3ÀñÊB BŒvzåÓçäÓ'p,úõûÐ"•¿ûåŸÌàUì})™•¥-Jg±@ý¬ò*VÿDó„gàß“×oîé_Ê´€M­ÁÆY²©IùsQä²É¡4l¦‘;qq‚¡Ø¦XDÅìUB'ÖhÝ2'S±3>_É­CrÝâ/?fG£Sròd'²J²ðú’Æ{¡ð'Nä©?áëe;@^T\æ€&F)F*¦â‰Áþ‘|t´Ö+sB&Þ¤ì à­kÔxηl¡ž0õÁŸKvl[?úú‰ D>çH’_}d þùã³9v¤åPéŽÍ?'ÄÂËóÀç_–Nd% jÿSæv*ϸÄüõtîyȯ?¬ªÚûr }b°Ç»ŸØü<ý+S<0ar~$& ;1Â%•üÁE×MUöJ¦Ï=ª†þz0`´ˆÿUÄ'ÿùSª’ zîãÁV¬zžœBå'3÷@`ÎÿD ¬·´EEþð¤ý#t ê†Ïûõëß/ëK|â»&àß5Ž@­|KÌñW<»YÙk‰ûA™Íƒ‡%æ/\âIAOË5*Ÿ zFóù+üËÍM¾åš!‚·Y’ož4˜Ö]¾í“fÖ¢-ÿ08ƒAý£¡~ƪø“Æ\þþ’÷Ë%éªgNìy1ùÀQ8T'ªY0Ö[ù#x–è‚xX)ô‹?«ä;J™”Yo›þ/ó5A‘Tçàð½x02aV‡r¤îÏTÈŽ‚°¨I¦p‚YëVŽ”N ƧbsbØ¢q¥ ™vò²lù_+|°^ްF§þòP_}ÝèGo}tôuW±Ñ3E•.xTZ¾š€Á×ÜB^{íÀ-× 6žt³åóÍ–„¡Vâ8PûŸ2·Wy®ºÿEòh}ñ››ú#Hü†W<¸¨jÐÇÚ¼©W‹gU›òmë ;JÈÛñùJö”ÿÒ~ñxaIù˜›>AEá©H+_•_ÅÉîøž®“®ŠeONñ8âÚ¬ÌK°ûÚbáÏXÞíÁ±J‡…ê³'­Ù|Õbú¤ÝOZñpÅ'¡rໆÿ鮼>d˃ò´¾oøûÅÇß5Ž@7ø–•È7¯bÞ2KW=½;{Ú`‘~M@Ì6ÄžAòô.—·<6žË¥I­¹c0tǃ‰üÌCMáE óÿVB­¿~¨}ýƒb%!>þ“é/ÜN‰šBøU7Šë(ú ŸRcŒ ±2üõ*Ó%_p q^ùÁ£pP1u(*5)/d¥™ Ê]jÊ Ö•ìÈŒˆçðþ)ŒR:ÁZÇÕ›‹©2yÝ¢ yŒ lVù[¾T\KT«ŒŸë•Mv'Â5žó-{¨¯Nù?ò@ÊÕb8LQ¯¶W9(68ÖR`™>i}“ÆZVî1iP B-n®A²2 -ðMen·ò ¾cÍî韈ÚøÇ@9ÄMܧW=%?Ç?–øÑÓW™ßþ‚ü¤Ì<”ÈtêG¢å£÷îº%îSåá©Ü›â¹Êï:ëSwücAåŽO×AŽj,ê”oqxÆ>Àž±«1µwx’¶ÒŠ—ò,âLå¦Rñ˜‘߸ü᧦ËöðH£b•CeqAkcêÅ•EÜQ¹ j/ʲcê•„ø}lÅmÖXj³ì¢2XU9eÅHUÇ­+!ò:Åâb k§¬àñöù“rÇDg;а‡õÂÇײÒcʨP ÝRÝ®¾®ÌÝ©<Ç>¼—=cUŠv> ýëÞ§,ôéª~8‰§> -™Ë–ˆÃw¼ŒŠ›os|ò··N7lØ0­ëùhá[%%%ò œåÑâY0{;NÄNÛÆ™V¯¼sü_÷ÁÃå;†ˆê¬¢,­œ+V=Í8>fP¯Y¨ tÍ*µ18¸¨¼ø£CxuÃŽ|Ó~,öCS÷ͶW" ¾ÍTm)ÝäkKÚ¬TÔ„í‡(ÇÇÇkä[Sæ@…ZÜ]~¤ÌÝ©<â‘xû`õêdí{ÿð¾§tôéÊ/ > mîÐ@yúßíéýos»ˆZïì×óÑ·ŽaK(6 ùš2LÆäå˜9 £nli~×ËKÞpþC3xAnb±†4+®,'m]§G^ÍI,Í×Îã¶5¹Jûù?Ü„$w‘Û”D%Â$§"QJ{²}Íjˆb¶0ÎߨÚ¬VαxýlLô ãw²åJ,ëÍÌ€lÜBP°,꣪ü•…·á‘#Gjä[¨ÌÌì‹Êl}\ òà“Pº”©þ^âæ|×àÛ\pN:ìßæ#G&xÒ¾uèÐ!Æ 7`Ó‚å0þÁˆï !ŒT1K—˜ˆ«?³LY”ÍAÊÅ•Y9ë$Ÿ>¤í*$ÅJ²ø&ç5ìÞ‡2Û ‹)BFà?âµÒ:å¯AÑg™<ʬQPF>x1PõÜ$g“œ8rŒz'¸ rƺ씠ž27å”n7£.¥‘o¡2 -FeO Ý…£.DåáfëT¦p·à²ò¿ŸñIˆïa ‘©¾Íé«ÛîÂ_û<µÇ¾UTT¤r P׿<[6fsÛ—Ì»8ÝQ(ˆý1ç^ª;[¾÷9sR<§8›á–-å!{N)–%¥câ@˜Áds/iS§zXj¶¨î²ªVÅ‘ÍɈ¬4ËÎ{‹‘S…jÉžc2C³Â£ê "ìLgNLLÔøÊDe7*3}°Ðû•Ÿ„Ö7¾kì^…ª÷,¾ÍUo#ëÛÜîÒQ¾µÿ~›K`å0ÂM^áNüQΓ:ÓZ\6x),É’*Û˜º~VRv‰W¸–­FØ20«íÉúך Õã¾_Ê<#ë«•Ö¨ ŽCGÔíZíªvlh˜uH­ÐUW\Mù“R=x"lEŽëϘ1c4ò-Tfgwf@+ó˜Ñ¨<Êä> Õ;½W¬íã»Fxq˦ÏÀ|›Û½}:Ê·Ø f ^‡€F¾åuýÆy¨<^p° ˆ€¯"à1ÿ-_ûÀ„E•¤f‹Ôb15Á‚IŒÝmPy܆ ˆ€3Ôþ[Zã"’ˆ"€ ˆ"€ íCùVûpÃRˆ"€ ˆ"€hEù–V¤P@D@ö!@×ó ÑkBëù¼þiYûjÇRˆ@W"ððÍÕæZsÁAeîÊ+âCmiQžŽ§JšýWòÒ=,ÝÓjÒ"ÓÑ~`yDè"„ÿVÙ—ä|V¾õìœi]Ô;lhÏ®Þ¬å• | •¹]ûs!ÊÓ&³³$WtJ —Ò"Óf?P@¼5ßòùÄÚS}bóŽëëó½¨;}B’œ/îtl ïócÆ ˆ"€ø5]Í·6ïúNÿ7Òæb~ ;® ôúÊ:ó¥æovþÔ¼í‡æ­ûš¿ø®qÓÞ¦¼o?ûºùÓÝÿÝuþH¥*:{¾CáP'Q; Š<)æ3Û¤5U¢‘Ü,Û0h9È€¨µl–TÑIýÃjD  èêùD`Zo^ÑÆøÞ/#;jˆô{«·º“ö7Õ·ÿEí/Œ%eÀ^Õç‚Á@¶úDé[LÄ`”̰êŠÙ"I:“D$‹d–tf3Ë7¶Lý}ÑÑËGhœrœOlŸNâåò'4*zÈÇ*OªWÐ:hœmu>ñ)æ]Í-–ÙdfŽþî”NýŠì[¢Ë½Ç2í=ý$(Ìg$ò}YÀòwæJ$ r¬²ÒŸ`DZ >‹]íxÈ@z×»NÝé¿ÅßmlªqÕÅèhÞ¹|«bíìLòÒ‡i®WÛÂÑñ<ò-÷1sR‚ó-°lõîܪÅHÙ0-XZÓd&D"°ƒ8%Y 7\µuïáëÆ]¨ñ•é”oÑNÔ¸§“©g*)]uã<²r%™ûsã¡Ûǹ÷—§§È‚òŠ"@…të!‡Ê“VÀONÅ0!ˆ€—!PyªÆl6ò?´\$Oúo­ßQøä[Ÿ9nßZÀ|Ebb\mááe¯¹31f€Í6ûƒã‚?P±;×¢¿S°u§RƒI V‹Yg2[ŒfàZ0qµI£QG˜DW7׳ÅÍšÜpörÚ…Ç¿¹èÜ7oÈ2æ-1þ'Kþóºí Ú™þíÇUnº²zÃ…%N ѹqU©8Á~¨s4ŒÖ¦Bì~j¨Eºã'OêõAŽd˾'ŒQÍÌ ªy/¨&G—ÒZG‡€Øv¥[Bst›Ù\äή$¶ˆ .Ô?&((žÚqê¨ÿÖîýåù¿›7Èo­«.-ÛÕ¡ëèþÀ”↻ɷWWÍ"_&—ü’|>²øçÉŽE‡Üýa¬OT³wiJÊÒ}pPUôñ]C´%}ƒIg2°lµ²HØžÏYNé!ü†ÿ…ö6µ8_]û{õêÍ·Þ½ûDDô>{9ÔõÚë/XˆE":ØÃÆkXû›a%ƒY ÒC:tð¨Q #FÄGDD ÜÓeÍ*ÂUZt+N1PÁÌïÓÄ,`6ù™´RÈâN’µ´ªøªLQ£(¦ŧç©ëpÖ4+ÛjsD/ðŠ·®oG-ceç÷ô bÅÏGaß’¨óVºŽ2ªÝþîAoŽQ\ãèÈûÜ×^Z?Aþ^˜DÀ €÷öä¾e4XjáÛù†³§«ÛpêLHH€.òýÈ‘tO÷qqt?lÝkH{²Æ]Àl]5{S×g²IÀüCfÕ¬›³bVᯩòA’žZ®ØçcïÊ¥Åiþ¨«÷2äîlaBûø®ãöõW¬}tá¨õL~ý裭Zð4tEÚDæÁI Z0q¸tÙ2Eþ7–ƒ÷¶œ”.& ?N× n[ôV%ê©]&ü¤§ø|"Ý>N¥JŽ @|ð-0nEDDEDDÃÝ«w?ƒ¡™ãòïýÍnÏó¹eëСbI¢Ç°o}«¢|?Y=“Û·ÆQŠ ”Ô)àŒ;"E9àMòŸ&&Ï'‡Jÿ,Å‚5k59Pnã¶åXì°1´EJ×&e=Ž~¬ªý”IÀÄ¡$ýiÙ ¼¡ŒGç+_§” X–bâê`O€ðå=Œtúô¹¦&cc£¡¹¹%ië ê‡ü³õÛ$yzFЧÒ#…Ó“å^À/’“ÂYP(ÊÈ@®ðH)¬¤éó y NÐRsK·R1'ÅF•’Ch9*6Ÿ×—HÙWrÔƒwÒ´ªlaÂâˆ"€ íEÀ|Ël6Ÿ9SS[[YS}âTUEEéA“‘FE‚tÛ4¨ƒz?Á#ìX|:Ç'€E.66Þv`Ù‚ýСí[À¢„/³Q¹O€€lË›¹Wö sѾþñKhCÉ›)ɳÉÚ >–s… ú`Óˆ ÷DÆ"˜U\ ¦\Ä-Bê8ë÷gØšúôé{þ|cllT||4(61‘W~/ìAEoæ´·ŒH€ÙÊJ·¨œšEY¨a).‘•l(LŒƒIH \”yqå€lůMã,ÌÆv¥MašÖV ¥D@:ð­úºêš“Õ'Ê«+Ëà ®¦²¡¾ÎE— rà@1싊Šo} ö`ß‚·ìáÅÆ½¸ÚN`mÊ_œ«rÆj»Hì*X¡Øºà§|\±#ÏêÐÊMeŽõW¬Í¢EëÚòJŠÊH¦©arpÊÿ­'2A1Øó D³N÷»G¨• ö,—˜u+,\ááQgÎÔŸ?ßl4'|=öôÒ=î4²íA`ìÈbl¶›`‘DØ$£Áb€cƒÎhЛÁfƒÞd=,ªîÔžä2 l×mäÛ°ÏÈÀÿ’ëÈ¢ý˜Ö²7¾ËÖ£Å䡞ÕÉŽôË"ˆ"€øOìšñâzÕ]ƒ³—´ó‰?W꯹x –þ¬Ûy"y4ùGSBŽó‰ZZAÿF@£òpÚœAðo¬ptˆ"  ÐæÓ ³Ö«ûýànjwAwByŸ@ø–%¸ç–}§Omnh„۶ÌòOÁCœ"$XAtØ× ÖO{œo¡Nú„ªxª“È·<…$ÖƒÝÆ·:åÍ»¾K-¼¼Í&`nhÚĶÅÚ¬ºà[5W¯ÑØî_¯ñ•‰ö-¨”˜Fåᘴù„õè@Ͻ¡ØDÀ?xøæáNÒæÓÀ'í[ðaã›W´qáÞ/#;jˆúÃFÿ¸Ò6 Ο*ȩ̈ÎC‹Ù`ÿxŠ„ã‚€óì@Nô&ÉrI|ÈÈA¡'O8p¨ÆW¦F¾ÕûVcccM-AG—ŽŽŠ¼à‚>v}k¼•Ç·øÖ³s¦ùÖUÀÞ"Þ‰€ÝóAÝI·ø–'ýåÛ7™]×^ðM5.¶ÇÄ:BÞyͰWn!d«O”¾wÏÞ½Búô…­o¯¾=Ãa» gX¯è°¡G*èJ%§ZܪY‹°vt¬í7‹þóØßŽÜö§RžøþÚg Gß²FK‹mË(‹^·-Ê$Ü•×X-Š!ˆ"€¸€'ù––ï•Bà®'ßúÌqƒüÖFæ+ãj wRÖæ­Ã~Ð]©û`a‰®D ²º¥²Æ|ºÞÜpÞr¾‘Àv®Y×Ðlí ìBG˜þ<ÖèñŽiQæúúsÇOT*˜µ ›7m/­.½*!tÄpÃ…£ c¯>žîãâè–etZœ®á[|ŠlÈI'ËdÆ-²°T’¶vÞªRY¬`IdC}U¹\VØ4‡bƒ€en:o<Ü^AzÔEõ©î][}ª¡úXLLß¿¿<çàgi5;ï«Ûsÿ™Ý÷Øû„sµ¤Ë$®( Æ­ÜùS¹ˆƒN’¸¹+sSSsK,–óI^zÑt¦±ù9Ô:òéIùL…aÁFʸ¬9Emf”°qK~» 0y3°ø˜ë¥`¡óZd¼yŒØ7D ð$ßÒbPƒ f­ˆˆ¨ˆˆhØ"#£!€Á ÞyUê=/È-[‡C,&8†½û,<=#èSé‘BÕºÂð‹äˆ5…Á@È)’•4}~b!/¡"h©!:hG t̉04ï}·ÀðYAÐÚOCÿöÁÄQaѽB**Žk†Œêe ¦Eòì¶´­,5w~2ˉKd\êH¡œVÜTPrUŽ( EP=§\,9;›—ÆÔ´M§º±sØ4"€tžä[ZLêÀŠxgÎÔÔÖVÖTŸ8UUQQzÐd¤Ÿ›AâU©÷ðX;ßâvÇ'€½?6–.¿–-ØÃ‚Œ­ÅˆT˜­¦Û¼o˜Ù@NôU—HŠJ 6&ÆÁë e^ø†ê4íóâŠ5Ð1gÇ'óÊ6Ï®ÛuϹ¯ï;·ë®ÿ|œqÓMcóòvU;^°ãe+üù`kMž&(Õß ç “)9›ªøô ªIÈ׉ ˆ"€¸‡€'ù–»ö­úºêš“Õ'Ê«+Ëà ®¦²¡Þ©§‹’Á@(†}QQ1ð-°oÁì[ÀÀ`Ü‹{q9MÉÓ“ÒSÒmÈ=„éqêêµlY!øxz¸aÎ&º§O^$Ý1w•™|Ê”ñ[·î`é¦?ýçÌcïÕÌÏ­z`uõµ¿ßÚ*,qs7ZT6'g:IËòépǤ’‡Ið<`n4G|Bs HéªLꜬ æ©ù“W!PñAzÌ€D¶¥¯©à];š{§mL ÚË0Aš¯”òªaagDÀOò-wí[§Á¬u¢äÔñ’S'JrÁO×| Øر`6-àX`Íâ6-`Z|ù­^a°pÙà D}^„÷1÷˜'q#Iu©ç‡9…‰ìS7 @24¼)ýº-ÃŽó°œÝ‹Îbfß-vRÏÜUfÞðððk&Ž;V©›8e ‰vzXBÝ/®j1i_NÛ©NÎ]ÓŽ²¿¼íx­òÔ‹2·äìü$ê]¯ÓÍ+J¢sŽ Çü·.~mÚJü.·“¦ÝÕÆÞ•[SUD·u£¬ÞCëÉ?ta6ÍÙ÷2Y¹¶‚ìÉwt—Ù›ºžæ`BßCÀ“|Ë-“ÀÕc†}°·ñ“CaŸ•öØXÚ¶¼²^ŽFA~k(äàÁbØ>L÷ð}"p¯£G…} ŽËÊZµo±¿ïeCx<j]“ˆbr¬Õ¡ï]XìqÇpK™ÕM]qeKS]…%úDHïs½œîÙ×I8E•’®t’ê.¤ÙÙÖ8&NäeõæÒVyù7ä Ûê˜VtJiÅv5k59PN¹TJê”XÚTìäÔ”ü£ååûÉê™Ü¾5nq>ä(ýˆMû¸*÷n&Œ @¼Oò-·L3''9¿ù­AŒ ìX|ö­!C„}K±u ܺ}Ë˯vÏËpK™Õ}¿úê+gNTüîÇ·¬»ð³w’>xuêÀ3^68ìŽ× dk\Þ̽Üvµ4¥µ~¥,ÝÇí[t{|’×t;‚ Úð$ßj·I@KAXˆúšÂ„¡Ÿ¾¿vBü&rÝ¡„Q[IjiÂ%;ÉÌÊ„+¿% ¦}ð(‰´†€l­ìŸžþõ—ëÒ÷}þо­ ö}ñ‡Ï>yqFZE@¶fUìÈË·¢9&OŠ6&qî.g ÿ*"à;x’oµÛ$ ¥à´‰—CXù67óð±§Þ‹€ôÞÞcϼüÅc…óûò±i F‹Ÿ%ì[²ÀØOR÷e'dü’½K÷Ïâô‰1mFçòæ±cßFÀ“|«Ý&®/ÀW‡® v뤦ÚQ(€øØvfpR–˜(ü8ëñ?L‹¥.YòÔ!üä@ÙeÂO~ ý·X‘pè>‡€'ùV»MZpó®ïô#mn æs;ÜyhÔÉWÖ~³ò+ʯç׿úùé—7žzñ'²×•/ûøè_þyèù÷ö?õìÛ×I¬@DÀW |ËSK„µÛ$ЩS /ó âz›C@ÌW®ö³ Т“¯­Û7mòó&„ΟùpJÏ?ÜpÁÂû?vËàÌYÃÍñä¯G=}Ϙٿ™‰”« ®6 ˆ€—"ËBy–ÿÛ·øx`S‹mÇ1±Ž—^-ìV—# Å¾2ðâ1ô›Žmed÷q²ï$9PCŸ&GëHùY±]<<*tÀ˜Îí¾²Îzç6ƒµ#ˆ"€´Oò--&§=íì‚ï—ãj o Bx—ÉQEHÔöƒ%}-:)AlBn|÷XT-<˜„у¨PëXb—¸VÑ% E*È„x¦,â.&D@D@Gí ÑsBÿúêºcoŽñõOËž3ÍG‡ž[‡®+NHH€õ`S! =ì!ˆÄM… ^».ÞA?~t|-BLî&FÙ25CFvº"Ô>Ñç‚Áyß4ö‰¥Xažþa`†pò (ß,ýA‚¤æiã¢ßþì§ßÞtɳ«7?|óp¥saQC%s³6©Ùl¦Äˆ'*3ølÁ4¢þ7°XJ3‡oüð-_’`?÷ÿæCsAãs+vÿiÁdÔ€oAôwR˜¸’éý¹–4þËíD‹“v–u»1ÿ, QyøàUV4ÈË=÷òb÷B@ýrQw»Í§AÌ}ƒHc5)Ù {Oò-0 h™…q„¸S r¾&üc!©?KN#ƒ‡*ûml#l7–%8ð-0:,K”Ù–è6{·¥%¥§çdäCÀzøŸNW©#òOåÍÇß‚+É<úfÍɱ ùŽuOW9ßÚðuSŸ¡A:J°ÌÜÉÐ4ßj1=,çdj¹i|§ð--: òà³¥¦üç? ³VX0Y÷Þ›œlAz衇hÏÍæ?¾¼ýù ÛH–L7¥­]ÆhèÙ†Äܵì‡U£`åês‰¢o²’ũؕc¥â(…ŠIWÀV×õ{.¬÷¶ê|Ë{±Æž!~„€[|Ë“ó‰í#[€|Ë%[7]G/´jGCÒòŒN ôHa*_JÑ6å¥M‡÷)¼´ 2éªuôåJWbTMÙÈ3{çÃ2x­ ù‘úÅP´è$ŸOËL#Ù "¿MàÁœ?>'[ôz½s€%nî¢$X0½tÕ²ÂÜùSùiШ¢Eœ¯•¤­Çf…¾1ýYÖÊœ£¬c%¹$•².UË)òUÙ­zëW ˆ€O!àI¾¥ÅåÅ)8,È‹·¶ç-¤!éÙ‹|¶•þPíKK©é«¼ÜÅ‹p^vââ6©¹ó“Y¥”‰ã¸©i©9ØkÍ!)¤®™]x„VÉÛp­Tü¬ R’”°üè ¥Gû<{$òiªH¯½öÚ«¯¾úÊ+¯¼ôÒKà¦%9úo‰ÑƒBä¤e_$O#‚Fº45[]:=/¯ÈFßâéúÓ.uŒê!/¥8¦ä¥SôÖÛ±Çþ!ˆ"à‡x’oi1 8…°ƒyñÖöp ÞwÔŽå̾–-˜•_.'‹™”·v }w1cAIn«o;?TŒ@’k¥âg9ß*ÎŒ¯\<‚H’áÏ#¥eT‘`J‘'°RÑŸ*ï1;X“çƒReLOVeÃ쟲†z»'þèl"8r;êm +3Ž@¼Oò­š©Ú‡Æ rà€lß2©}KÞ—”Ã;‘[¹¼ ÅìŒó¾QB&æjJ·¬ÍãïMn]ûäØ+Øãt‚²#Ç"Œ€Õ2é÷%ÁzºÁ¬"ݳ´`Á‚… >úè£=öüäb­¨0y•7•J£\¯u³ê¡¬iNô°“¡ÃêD@𤿼wâ þòß^Y‘Ò&«ß1s<žºÅæ[0;y•|jL&RyÙoYøÔ{'LÞÔ+î/¿i/õ—×|ž(™Ù÷‰ôCE ZÌ:°Yê!„œÔrø¨îú>ñù÷‹žþM"„Ú‚ýþxˆ¥(½˜ӈܸ•™™Ié×½òÂí6;~Q¨äØ)ýÞBþöP–z®SNtL¸Ëƒ#˜&mdðÆÖ•ÜÿüåñûDoz¤a_|ü>‘úlµ9 |k÷eVó¼§áµA0ÇüãD8žYéø}¢'T¿ÕwEoà[ZTëOoÿôÌo/á|‹Çßâ)''‡O >þøãðó‘Œ^˹Ë}°D×!à—|ËwƒøtÝ…Ç– Ø=Ô%ðûD{ü€Q5‹ïcAÌ-î³ǰ‡c°riÀE6y<`¡o:¶ïpÝÀC ÄÙ‚ÐÜa+##,[œlíÜ]Ñ@ÀáPD@œ!àÿþ[yIß]S˜0ôSÂ÷×îOˆßD®;”0j+I-M¸d'µl]ù-±NÑpµo_ËNé Vª-þ[OÏ»ñ³Í»þ¼êû¥oí]òÆWϼ´íÉ>üOŸe<ûÉ£‹ÿÓˆ`Ùútö¿üi®ÖVQ@DÀOðÿ-?½pþ<,o˜Oôg|qlà|"*"€´†€7Î'j1 8O×DÅB\#ÐnD`D@G<9Ÿ¨ÅåÅé5èÔ‚›w}.ómn †úáUP‡sÉ">I„å|`ÓÃNügÑY`mº†bç$-:‰ªÕ9Øv­kgß¹¶‚ï ="àgx’oµÛ$ЩS /ó âz›C@ÌÏ.­ß gÔ° Äa:Ø.®KŠ×ÃÖCÓ¢“¨Z]p!|« ’„œÉ·.öèd<ùêÒbèzûoñM5.¶ÇšÛƒ3Äzà+ü¸HZdÚÓv•9Tn^ý…A½ýXÂ.ì̤]™;Eµ:shX7"€ ˆ@×#@ù–§¦d´˜œŽ°³ ¾_FHLŒ«-<ÜIÇ*u½>:kì[s®Uo—ÆË¡®<ÚÃõ; Ÿ|ë3Ç ò[kǪÅô¬@w÷è`±².C âƒô˜‰lK_s„Ìîµf ÏIÌÚÅ:™\fÜâ|uÏ”|û²ËwŠR¬NLˆ"àµX¨ ¤€°o­º´Xú=9tÝWͪmºFœ¯šE¾L*.ù%ù|dñÏ“½öBaÇH—Ù·vï/ÿËÿÝä¸A~k—a[þµRì³Ò¦.öNʲ҄/ÍÉ~"iS“1nˆ_¨zþⱂZY™Sì]¹5UEt[7jÁê=tœù‹ßÀsæ¬x ü´öd[}¦½výÝÿ¼sóþÿ Жñ¡/;¶rby¹ÓõíC„N$e±h…È“s¬BmÎ5Žšµg¤fIg†? $âľ52جӳ¼‰®îãÉd6›$Ilpl6››\5г—z9NçÇ® WiЭ8Řj§?6ù™Œ ­º‘`ò>R–îãôH͜լÕä@9åL)KÓ'²ÎÇŽ ìª¢|¿’£ä“Õ3»WþQJüÕ’±iWåÞë}8`DÀOò-í./vÝè‚‚ À”šŒ¿N¹eGå/ì^rñÅ áá!°¢"tfØ0Mñå!v)_§Å’Ÿ$֩΃%iF‰XÙº 3¾h—)I[;¯-ï.ÔH 8±oé,ÿ-£ÑÀR ßÎ7œ=]]éªõgÉMבàW{gåéÊÔlesXÄír<ñqîõe/C=´d‡0»²¼8úouùUÆö!àI¾Õ]ö­6Gn2Q-°c‡Ç\[þÖЦ~•4ñ‚ †ߊmž•—/ä3 âæ.J?ç% û–,@-_Ô˜•œ]’[(&u:ô˜oóÚ´.D`Óëõ4¬¼Üãu’¤ƒˆó°3 †«It!zö•­çÒi0k(9u¼äÔ‰R \ð³ ¾Õ~û³pÕd"…3ý‰Iò¨K=œ†ÃœÂD>… @DÀ‡ð$ßÒhmrD§³ äàÁb“ Ö€ ^óÏŸ®6ßó—ñ+÷í+>wÎ_)++sfß²ºÇ‹™Áäl1M¸1;{ãÆ¹qjøÉf— ?•S>¤ÙÕ«Ç û`oã'‡Â>+í±±´'lye½6‚üVñè€}‹²+eÆYÑ'Jb²©òá DðU<É·¼Ù¾ZuŸÏýæŸ3ón»è÷g fav¯Áƒ5øoùê%Æ~kE`æä$§ñ· ¿Õ*:bßÒÚ/”CDðy<É·:ÛLÕ>ÃX^Òw×& ý”À¾÷‡dÄæ¾ƒ?!×Jµ•¤–&\²“̬L¸ò[b>1q]‹èŒþ’íúŠgõ¿<êbªÕµ—[CDÀБAûÂFôšÐ¿¾ºîØF§}|ýÓ²gçLóÆîcŸüºÓ'ú\0xÓÞ¦>=Baø®T2Ó? ÌpÿÒbÖmROÀ¥«å†qQoöÓooºäÙÕ›¾y¸‚GXÔPÉÜlMj†È¥J>*³?ªLGǤQyx3Ç*+‡ÔÑ&;¹<èy'·€Õ#„€úå¢v›Oƒ˜û‘ó5¤ìKr¾Ú“| ì[í›Rìú‚¤&>8TŸæ[íVæ6/Ôåó]bj³´{ß­àáÏ%ùß ”+‡ãDº·ø–'çÛG¶«N-¸y×wú¿‘67ëÖ«†Û#@¿M,¤Ÿ!Â*]ùS¦- Ä÷€%}¼ 8-ÊŒ:émW ûƒ ˆ@g#àI¾åþ[©…—¿yq½MŽ! ÖÙXcý€€–»u24Lj ˆ€Oò--Ù;E¿ >°©ÆÅ¶ã˜X³•è Ú•u²ƒPcqD@|Oò--Ù;…¦³ ¾ž£11®¶ðpç×LY0±Sc—B+Õ‡n‡®®ßQøä[Ÿ9nßÚ°Ú¯“„\2k,øWñí“Y‘¾Œö@@AÀ“þòÞ‰xnº®8!!–¬†=>…hò°‡È[‡Bó!þÖÅ;ˆDcT§‚LݲÄj² 3“dwÒrˆÀ·æ‘•UÆžûËç}ÓØ':|¶ØG‰ìûDpׂàò„4KÄD ©yÚ¸ènÿ>˜îrÔÿÖòÛ§“Ü_ÈÖ;—ÖÞ·¤ü'Ú^d漘¼•üØ“ ýå~ÜÊ!nÓCÖ“W¢½uá÷‰íEË!NðØ÷‰á#zz"D»¿ÌêÔ‚üݦàq`9Eˆ)Aç•=ÜX–àŒom˜n·æ4]µ:-ž oœK€*%‘œ–•‘O¥­"V’–”žžCÏÇ)ð³q¶5NÝ"×Ï*cTL)›7ç[¾¦ñ ‚t”`™©· <ùy‚¢`g4´,yw»S¦èdÂ?Ò¯O#ƒ‡*ûml…tÔIÆ·bÞX[öÂ¾ì •*ÄûdÙqj诓jÿ<ÿàZøùÄСô¼üsyšó3&ùôjòüœˆrÒwb*´ë½]í¶W,ä[~À·0ˆO`>žîãâèVWtvÅ`}»ºbf|¶ 3¾h_Ô§$mí¼U¥p"¯0q%ËÉi*j]‘%?I,^—^4], äp6nîÊÜT ^X´¥43>=)ŸUË0òvUe;]­°ö"`4XjáÛù†³§«+]WFµ‘‡§‡¤Ú»ÒÉØÈa§jóÔd‹·Ñèð}».²„쉡åïÁñ®û¾ˆ|j^Œó>ô,[Me.¯vâ=¥µwÔX@D@#žä[í†å8$Þ¢ë=P+ÂÃ×&,šû‹žš¹èÚ±K§õ{îÚ‰/NžsíÔ¿Ný×kâ%Lœ¾.Z ì§ôH!a X¹òŠ(ßJåK óå‡ @–âõ•’Ã3À’5?YnÁñ¬Ò6Ô/KÆMMKÍÙP`WVãUE±.G@’LQѰEFF÷êÝÏ`a8ê'ïLd¾ü"$Õ¾´”šcËË­éiWdfsáÊv dž:ö·QQB&ŽÚ[{,©¯s.¥¶Ýµ»Hd|l—ã… "ˆ"`x’ou™Êîêð]ïigVG»B«—žÒ.0^ ö†(99óç¢ÓƒkÓ¸PInª]¥®Ï˜òùÓpÍfó™35µµ•5Õ'NUUT”4 |€Žú ™0¯MíXÎ4¬­0S þ…Nð©h,ïß7•Ò£Æì%».áØ1Ç‚ ˆ€ÿ"àI¾Õ]ö­¶¯·"˜Œ®ö޵7Rf©å)1.ndRž˜!tÒhÁ†në’-^¥[Ö2·.Ûäô,7•©ê§e3¦'·=6”ð êëªkNVTŸ(¯®,ƒƒºšÊ†ú:='Âdû–­f–”ƒ·r9¤š·¾ ¿žÃlZN%dCÿïjzî’q}‡Ö®…£þ1ašcWêê¾NPz¨Ø D@üOò­î²oµy5ö¥½|véö}Ïæ×=·}ï3ùU‹·ïZ”_ž¹½`aþ¡‡·oz0ÿÇßmwR LéŠÉC˜¬VÂwŠÉÙÔ¯ŠO(Ê!"òÒãùÏ’îïqs%‰𤷷o9= ™ÌQìÆUqJýÔ«“>‡l/ï"°éõzVÞ¢ƒM’tð}"ýDÑL‚%Lt!zÙG½»û|ÌZ'JN/9u¢(ütÍ·ÀìX ™Ž: –-à[ð­Ó1ý´nß}?ö}‡Çƒxb(ù±ÆöãÄš‡^86ìzöëÿ¼²†T”? Ž\LþùÂÖ¨¨áògñ©cw#ˆíwª°6ð)í´v°bDp…á÷ß'î¾ÌæûDx™ÁÛ¦l`N‡Ç3+¿OÔ :ÊAHîŠøÜú‰gk÷þrÇa^=fØÌÉIŽùð}b;tÒcë'ò¯]Ò,ü>± ¾OŒ¨Ö”—·||×wo–Öä•uÙ… ƒ7Sº*sËÔlâ"€hC¿O¤8i´¨£›ßÇ‚˜[Ü?ŽaÇKì(…8AHÄ}pÜœ’-^uÒû5‰.ÖiéDjMUQÍÞ¥))K÷ÁAU‘É–Ûé$—ÚæyŠ› d‹X^•)zm51ÿ uøe~L÷™™7 ³¾õsmï¿„ØCDÀ›ðä|¢wúoå%}wMaÂÐO ß_»?!~¹îP¨­$µ4á’Ô²uå·ÄÚs] ºÆ)mp]¦su²Mh+Êgàb›(u½@ÅÚÙw®]³$1fÀòÐ:üǰ¥¯á@œçÈg[ép¡òµZÀebÜ8Ä q¬Ê!êM×Ã-"¾Ž€'ù–Fk“#dZpÚÄË!i›ˆùúµÄþû ¨“¾r¥ººŸù‹ß¶®Ç'‘=YãŽ.`v¯š½©ë3×V8Éq«w²‹;p)jœÆ q¬Ø1ê[£0"€¶LЧ’wÚ·<5:¬èTÚ¼}”5»à SGŠ•·Š@ÊÒô‰ìdEù~²z&·o[œŸ´Ü1ÄbÓ>®Ê½Ûeø´¤¼µ[(Ãb–#ÔàÅ@®BÀ“|«SÍTNÑÒâæ]ß{r›ˆuæØŽ&h3ÉB×N”]Î6øP\jèŽXtXÛ‡®¡è/ •Ù_®¤‡Æ!ûuQµx☣¡©ù¹$¯„á49AÃÃÓ€+—cD%ꆦQ@Ôx’oµùzkÐwjÁÔÂËß¼‚¸Þ&ÇCÍ@º-w*s7^ .m:vؘüŹtr99æÀêÑÕ†ÿص`í1³&>ÈËaÈõZc܈4t1ôÆÑÆ.êM—b!~‚€'ù––?ÐÂÖØTãbÛqL,½â'W‡áƒh¿ <¯ÌêOÒ|:ìòø%{—îŸÅýåcîÿ-Ç­ã¶®ÙJi£S‹ê¯|¬§EÄ?%ccv¶d ¼²ØQµBŽrˆ€<É·´üîô"tvÁ÷ˉ‰qµ…‡;×U @Œˆ7Ç€À]O¾õ™ãù­µÕ!eæJ¬°+¤Y¿¢îVX¦ ÿ+õ1ÔC}³˜¿{þìÙæs °Ajjl‚­¥¹ÅÐÒiø@ªÀz…ø.`ÙŠˆˆŠˆˆ†!DFF÷êÝÏ`_o8ª4&Ø·¸Jƒ2Ã1,H¥ÍXÛHNuµ­Bx@D@ |½êÈžúÕW×{Ãè´Œ²ô©–½M"oI?]KnºŽä¾KÒïmm¯¯x¼»ZO0E¸azIâ²yd¥ø´r–%æ§­M/–Å×®^IæYeäLõ×@¸Äu[*ëU¯ÝÝô»›F¶%Hϼãøõëú\0ØnIѰ¨¡°ä01·XÌÍ&ɪØ^¥Ìà)ÿÔ]$I‚iľ}ªªhijln<·j{øu9”Á@¼P¨ôÙÕG.†%Aa–ö@¿`1PX¥Ê‰2+Š×ÚêjAß_d4*î±ÊÊ¡ƒyùÐAϽ¼‡Ø=DÀ‡xøæáN{ÛæÓ æ¾Aä|5)û’œ¯ñ$ß‚?ǵOð©»Þî‚Z®å[e·ú³¤¼„ ‹om¯¿d»ý+ ^K+FnäŸ?;r)F·JT¯(¡îõ§n¹‘Î ÊŸMƒ^´~E|«­Ë|ËÜóŸ[OÔ7ŒÔOË óÐëÂH¯èð;¯¬7žö]¾õÐ ÍM&£!ñ’«öÿ° Ì&㿾7´Æ·~˜@} /ùp!Wéoÿ˜o40qÁÖ_‡e°áà–ã ÎùWL5߲ɹÂNWÛºR~sÞÿø–ß\"à͸ŷ<9ŸØ>²P¶» ÆË°/íå³K·ï{6¿î¹í{ŸÉ¯Z¼}×¢üòÌí ó=¼}Óƒù?þn»“ªâ¦¦‰°0¸6m%µa땈$ ¬Vqs%‰96 *\ uý²†¤SŠUBÛ5 %-¿½®ï™Cž˜=ä©ÛcŸ¾3î™_Ç?sWBÖÝfÝ=Šm>yרg » :X[•^*uºúÄ©%§Ž—lËûgueül¨¯sÑW`Tàn*Í•yèÐ [°‡ ø>6Ö©3"õ×ZÄüoT¼ãísPW½TI°[ˆ"à„}k÷eÖÏÁï$xiÁ[ŠÛøñÌJg&»+Œ¦©.Qy°o…‡Áú=D¯ßyêƒàˆè‚ ƒ­ì#Îð;å£ö-ˆ³å4ôÃÕc†ÍœœäĪ÷7â1eî’Ké+ }ËW®öð*оe9€QÁŸþ| Ü\¸I޹y\^¼êbg UNão9%[TæÑ &"€øžœOìàg†„l^Òw×& ý”ðýµûâ7‘ë%ŒÚJRK©g1X¶®ü–€XÛÀ¸mc„íD@ËíãIeng7±"€ ˆ@{ðä|b{ÚÇ2ˆ€3ŸˆßKps>ñäÐA½¤çØ DèFŽŸ¬2ÐÕ×Êêïýß¾ÕW›F´# Å¾¥½6”ì<À“ðDթΫkFŸ@ òT-÷'Ö˜<É·Úý™¡–‚›w}‘ÚÜ@LãÈQ ð*ð.ðªËá¢3C„ˆi'ªj|¥ÃØODð8•§jÌf< ´×ìÉùÄv‡ÑÒR˜Ö›W´1®÷ËÈŽg‘µã’^€@`Î'â]ЪçÖ|"ïç±Ê“taOLˆ"ˆÀ§ó×3‰•ΊwÚ©˜s¾õÀ&—SFG“ðp—aâ;µX¹gL¾¥».º /îI;ø––ë…2ˆ"àx…ÿD‚ÅL7Èoíò€ùŠÄĸÚÂÔåëªÖœ†ˆïw4Àï/~×ÝŽ†û£ïz‰`7D è6ÿ-óè4òÓðüB¬º´lW‡®£{XE®ánòí•ÅU³È—IÅ%¿$Ÿ,þyr+W,5#£pÙªRv¶tÕ²ÂÔÔ¸´8DïG Kïï‡{ˆ ˆ€ÿ"àI¾åîVf³I’èæ'8†%{››\C Ëñ‚ßý°/)¡ûÒRº//·Æ‘·­'qzY»…®‚éIiiâ,7})ëì°¿øWõ‹%jSÛÐà¿·A7ŽL¹ àFèÔ»ÀVÙKWÍKÏc‹SݸªnÙþ Æ_•ÕËîéF˜°iD@|Oò--X©á2 ,µ@&ìÏ7œ=]]éÏ„žïGޤûøxº‹£{XW®µâlÃÔ¸•;*—*Ȥ‹õ²T’¶v³å¥Mg9ù9²EÌÇ/1vß«Pî¸:ñ. ü*)Ÿ«vRQ),¦¸2755·ÄbÙ87™.¬¸þ¼€{bCNÆ"¶Ph+7ˆWc‰CDÀ{ð$ßr×¾ÐGDDEDD<‘‘ѽz÷3š9T¼*õžçsËÖ¡CŰÃ^›} %O‡ÅzãÓ“”·Ié‘BB—ï¥)þÖ‡—!©¹ó“YKq‰8çè½jëG=Sî¸´ß ÿXH¾ö¢§¦i½ âF&Qm§f¬äìl®ãÖDoJ¸(Ýš.Ÿtzƒøò8D@ºOò-wí[f³ùÌ™šÚZjÓ:UUQQzÐd4ðÁóªÔ{ø Ë‚‹ïa¹áÃ`åéØXº"X¶ø’ˆ.°KžŸ›J¬o*Éþ¾—“ÃK¨+¯¶¨(wAMõ íw©?Knº0Ó|$gSEŸ¾Až*wF¸lèÞ ª’8nDè<ɷܵoÕ×Uל¬¨>Q#ƒƒºšÊ†ú:£4ÈŰ/**¾ÙÃì[ÀÀ`Ü‹{qµš`õC‹ŠTÁ_üy0ÅØ¬Üî®\[Öæµ%‹çwPî‚êÊ2íwéÙ‹|¶•˜ŒZï‚ÒU™tÂXWInjá®Ó²nÃ!ü5R˜’“íÉÊ4Þ îدåggI1À*©³jîŒÞbˆ"à Ê·,nÄ£w…¢»ö­Óðý‰’SÇK¶åý^6ðÓ5ßvv,؃M 8X³¸M ˜ßC¾;W99»Þ1Â;Þy„êå"Dæ%á £;ð¢¬&”»àÔ‰RíwÁ¾´—ëžÛ¾÷™|­wAÜHBãéÜùÚ´•ÔC \a†] 75-55m*œP’†DÓQ@@F@p,_>lPd¯«ûÕW×{Ãè’×?-{vδ6ÑÒ [©"9 ýpõ˜a3''9¶‘w_f5_ß‚Ü (Ã?žY™€ñNÛ¼R^.8ñN½è.€—%–l”}å½\E<Ý=OÅ;+ÔKKô±r÷*ò¤±ïóôºWrôw°¬É’ß´äôïܬ{,B&‘fgXò™Ìú÷ô“À”õW"*ǺmYÒ‚£T"å7úS=ô÷±§1ÄúDÀï´†”퀽'ùV§b | âlçLÂþèÑb°fÁ4"ü}ÇC†ÐýàÁ W~‹ëùtêuèŠÊ‡o¹‹fçÝ@·6LWO·»Û5ß–oß²[Ïgè Aß²‚òƒó®&]GìHÖ=É  Œ’³cºš[,|K«&a¬Òc•m|ÊíÛ×{x;n­çÓ |Ë-û–L-a!êÔÂËÛ¼yIßM›Ø¶X›õ @7"€|«5ðñ.è$µt—oÝÑëCˆ±ë=ßž$lW„ŒÐí£¦/jÖšöžžäš7_´d ­5+ƒ,È!¯ØÛ·œð­N«E°õªü-Imßò¤¿¼»þ[Jµ…mnH¶4ê Šù"xxÃU;~ò¤^äH¶ìûFÉ™™Tó^PMŽ.EœÖM›bÙüƒeó6Ý4:«ˆ @|Aýc‚‚Bái ½÷žä[î~Ÿ¨ô²Ýµ%EoŸ.¾²à9:x@MŽ SPÁŠ}„yhÑ4éÝþiÿot“àÇݘ£–Üd™),ó(¡ßlÛ–R25µ‹Bˆ"Ðù êß1µ·ã3þ[8“¢ý¢úº$Î'vÆüç×õg¤pÉdjm ;s"ãáë;£iï¯Ó­ùD˜Llmaö=f™WQçw˜4œ¹Ž>eŠŽTÈ^ð¼æ-äApŸgÀX癿<Ð,ÙË^]j'« ýå½_—°‡…€‹§Ç¡³ü嵸a9½Z ‚§ð›W´qß/#;jÐ_Þçµù–[—PËíó¯o/>f€+{ö¾Ãu[ò¾ LÊå)¾¥éÂËüóå„ ¾€[|Ë“ó‰ZܰœB«½à›j\l;މ倲yÙ±æîÛED “ð$ßÒòw¶z8F£¥È„ýù†³§«Ûšœ@WHäû‘#é>>žî!â<ìauÅÖà‚Åâ’`qjjÜÊ?•KÁK¢h‘…¥’´µó€qÑåSSé¬ÈÆù‰$/½h:;›Ÿ‘C§HèK%)Ÿ‰Ã¢Š”qYsè*À‚°qK~’X躓¯ Vèh¹ï”ùİ jÙ:ÓDÍZÀ´€~)©¾å äNnºÒ"¿qÄ•:¹}ìn7ÇšýRâøDÀð$ßÒòw¶J°lEDDEDDCfddt¯Þý áðΫRïyAnÙ:t¨–J„cØk³oA¡äé°:/¦Eò qtDþ‹þ:Ïs G©¹ó“Y«q‰ŒK)”sèÚ¾9 T9b\q#“h”‹%ggóÒ˜NEÀñfqÌá| ØçX½#H@´Ût’£ÿ–£’·yãðÑ:Þ>v·›cÍ VŽ ˆ@·"àI¾¥åïlõ`Ífó™35µµÔ¦uªª¢¢ô Éhà¼*õ~»ìX|¯áà 𠬢¬ ,[°‡µ]€™<LPÓÕ$ˆÿE.’GèQr6­mú:­¢rÑïÖkŒû7Ž7‹cç[A:¤'`â2²åÞí6Ðê¿Õ¾§}¥üûâáèD `ð$ßr×¾U_W]s²¢ú¥ u5• õu.7ÈŰ/**†×Ø·`ö-``°‡—÷âj5'¯zA^°EåÁ£ƒ¸£¡‹‹¨äK·¬ÍæFs¸W¡9ôŸU™Ô X̯a§0!Š€–ûÎl4BÀ²[0D-[މ‹Ù$G%oíÆq=HÇRŽ5w*LX9"€ ÝŠ€'ù–»ö­ÓÕ'N(9u¼d[Þ?«+Ëà§k¾ì ìX°›p,°fq›0-¾‡|wÀ¤N'…ÂÅWö˜?/˜v”ýåmk³ÊS?.jKÎÎO¢Þõ:ݼ¢$:ç7’ðߺøµi+å™Kw:…²ˆ€›h¹ïÔD <·¸eË1IŽ|ËQÉ!ÇñÆi»ÏŽ¥nŸ¶+A D@|O®ç£%ε‚ÄÙrúáê1ÃfNNr„âËï¾Ìj¾¾/ à^@¹àøñÌʈɧÀøòn]>-÷ÝŸÞþé™ß^¡MáËDžœò­‡ûàõïr«uÿîÒøòþŽ@q;¾¼Îé£×}(µü­Ô ¤Êiü-§d‹—Fv,¾Ž5dˆ°o)¶®ÁƒÝ²o¹?B,xZC`¹ž†–ø"Øh2™ÁÍÐn(;wǽÀûƇ=BDÀ§[OÎ'jñ#qŠ™–‚yIß]S˜0ôSÂ÷×îOˆßD®;”0j+I-M¸d'µl]ù-1Ÿ¾,ØyDÀ]´Ü>¿ÿUâž+Ÿ_õýŸÞÚûì_-~iÛ/|žù§ÏËúdáÓÿùâÀ²µó«âÇb$`wáGyD@4!@çÃFôœÐ¿¾ºîØÞ²¬’×?-{vÎ4Mõ¡"Ðap>±Ãbî!€ó‰îá…Òˆ"ÀÐ6ŸXMʾ$çk|ƾ…@ÚmFèD@ºŸ±omÞõ]jáåm‚ó‰Ó&¶-Öf=(Р}«3Àÿç×õg¤pˆ°ÕÚvæDÆÃ×wFÓÞ_§Çí[§Î4í>prÓ·å{V»hÀ/¯võèý!Î,&÷@0ÝǬÕ¦Áô[û­7¯ ®·É1D 'ó,ÜX"нhñßú×·¿ˆ‹ž7!tþäȇSzþᆠÞØÿ±[gζhöˆ'=êé{ÆLM½"çõ/ºw,~к$Y¶ÿtbúÓŸì>P“69é‹ì{îHùÅ7‡Ï@äÃY?c— As×þS¿š˜¸ñÏw¦M¾dÏÁ:³—Álhž-âÉùD-ßI9í½ö‚lªq±í8&–ò,F­­Ý[ÚÑZ°<"à-·ÏiCð˜úMGȶ2²û8Ùw’¨!‡O“£u‚DðíâáQç‚{¶r×(s×´Ò9 õåÏ•ÿ*8úÂï®Ëº÷Úk.ví¥ñN¿áµ?ÌøÏÎcp¶sšu¨µbíì;×VtQcÕ ÀõÏ­ÅÏßíâ»&Nº86*"|ò¥Ã—ÎúêÃ7ÿ{g…Û`ú&íÆºÓÁt^wåÛ=r¯)èI¾¥åïleàëÉ·>sÜ ¿5pÞ/#$&ÆÕî¤,<»m×)È”£›:o‰°IÅ—|ù½â5:èÑrß)ëU'Ç‘ CÉåƒÈ˜~dT_2ò‘+*”n,Žë':ºî&k{sÇ­“/º&i¬ÿÄvtŸ|Ùˆ»®¿ ΂ŒRé쉳?8.~ÞëÇ5¸ÌY“.œxñPc0ý?˜î§˜Sa&$ư͊ªc θ»`r•ÍžîÝ"-íI¾¥åïllvê4þ–Ó ¨¼ÔªK‹!–é¡ëèþÀ”↻ɷWWÍ"_&—ü’|>²øçÉ­\ËÔŒŒÂeÂÄTºjYaªË¯Þéº?4Á’<òŠo1T|@ß&^=x-÷ç[aÁäÇ*r¨–”!'HM#9×B Ü|TÝà/ ­ë'z5èœÅb²XÌÉ¢§¸iOà³uÃ#8Ù2êŒùõ÷ÿtÿúŠOšÌM“ryÂ-×$ŒµÂ”9c>ÉZãëf(í¹# @M½<Αl÷0“Ç&Ü2éb5˜Yãòfî-ª©‚íÝ1‡eëØblÚǦźÓ?uL ãÞ¥))K÷Q<‹>¾kˆ€ÐíCð$ßÒòw¶zÀf³I’èz86›ÍM ®5A€ï¡{X9ö|åÄòòÖÖOLœžFøJ‡+Ò“ÒÒX+ÔŽ%¯) 6¯¶lXV³“¤¦©ÌLf Ë,çhmª|»5«Uv3ÞVéªyéyyt úÛ®~Þ?žÚêZ·«v Ðrß ¾D×O³Ø´FSŽlÝàÖ ß¢až2·Ðn‘óÛÇ^±™Õv•­ŒZHè³£~+9ñét5RLà |‹[¶¾jؽ¶åãÆàóËö¿ðÉÑO8K¸yÂhQlDú#£¬Þc3V«fùN8ÁÌ0k–€±aùNz¼<ëNjxÈÚu|8 ¥+>H—­éþA਩cãì,[F¾Ÿnæ¨xA£Æ/ÉÏpX1¸dŒ…YëøšÌÅùù‹Çº6†ù :í²û`ÚWãLÁŽæ2 Œ ¨œCŽU™e%gÜâ|Wã8<É·´ü­î–Ñ¡®!µ@&ìÏ7œ=]݆sCB Ï÷#GÒ}|<ÝÇÅÑ=¬®ØÚ°a]Ä$Xœš·rçOåRl­Ä ìQ°!'c‘KVAf|Ñ"fö²”¤­ÇøR^aâJ‹%\œGø7¢ñ|Hô”Ìèh{Ünù´/4c¥0¡mœ[j_?%cIùB¼ˆV‹ p†€–ûN™O ¢–-˜Ñ³- _Jj…o J!\-–l¸wòÒ‹¦ËêÍÞA±eàö‘µÌÆì–s¸¡e|ïz³¯ó Ä5kjOŸ>ߨØÜbÌÙ“ ða26›øøzr¯• =YãYG û^>4s £bù‹ß9O¢Ç‡.Ì.ªY7gŬ,Â^£~Z±wå2Óä88ß’ö€ºâÂAêiD5Ù<íÀœöàê™ðîçˆñı¢˜\Œ¼ZÓ»³…ý&Œ7î‚é¨2NL†wßËdA&s´Ïe>º€«åÞÔõTƪÞÔ~曚Ùî^{’oiù;[ÝQ°lEDDEDDCfddt¯Þý áðΫRïyAnÙ:t¨–J„cØk³oA¡äé@~࡯¦U4.J·¦'»±ôH!¡ëX³¥¨Á(ÅPjÚÔ8xÛ$¦*¼ þ“·I PQ–”?ßSrÔÙì”Cýq#“h‹”®%gÓű1!Np¼Ys8ßvÅ9Ä%ˆ ˆv›Nrôß*ݲ–äÎWë_ªü4¿5Ŷ“õVrD…w”ñÁë ¡ö©â>[·õM;yü䩪êú³u^žO _ﯻ‘Mš³t?ãL4U”ïOYš>‘ÆNNMùke rÍMIVœØ)Ê(({/ÍZM”ûÁ%õÃÑÅgËŽl˜{Ø€9)‹½×o( κ8D&&Ï'‡Jü”öÞî‚é¤Å.¥(˜ /UÔü£Ôlk—ÊL † ¬Y £RïöŇËy’oiù;[ •Ùl>s¦¦¶–Ú´NUUT”4 \€W¥ÞÃOx€‹ïáõ1|x,KWQËìa]E—"y>üamG«8áj›nÑje_.þw~²»ÈVüÚ´Ù3̱¸}ýÉÙTvú>céns(08Þ,Ž9œoéHž€‰ËÈ–{·Û@ =þ[m*6Ô[Zäd~°ƒ7”W^_ˆ³õù·%ܾ•:4uAÂB}CðóWýåö‹ogö-ý§»öƒŒ}ßcÓ^š‘—»£C‚w¡â½ä/fj˾Rî ïH¶ÏOwpæÄÇÁk>穘dÚ ¦`»LöcÆWf  àäI¾å®}«¾®ºædEõ J‹á ®¦²¡¾Îŵ0ÈŰ/**†×Ø·`ö-``°‡—÷âj5Ñi{ž$¬0%æÛàO`mÊcs€n% rŠ­ ÊÇ`2°¾~¸©Ì±þÒU™t®XLÀ¨Œdnu…†€ÙH—êËl=ÂHHµl9&.f“⦦‘¶4ß©b«k¿kò¸ÿ¤œžæ›ħ® 5ÍûúЗ…Àz„õ¸çâ{ž[8g윞=låï+^¿ãGqSì]¿' ™;Kì°1ù‹s™³QÅŽ¼ü“µ¾¢dÓ-åS µÖYjÓ7‡wý|Ì)ÙÊßwÄÌÙÊL"5¢Œ°aµ» V(¶.u{Ü*É]0@Òº‚9*ªÈQ)³¨æämc†F¿QTíêãI¾å®}ëtõ‰S'JN/Ù–÷ÏêÊ2øéšo»;ìÁ¦ ¬YܦL‹ï!_ûÈ…$¼NÄt ë¢ÉÙ%ÀÌd·a×ìÌž&ð{Q¾ldd<^Q’˜ˆa.dPë«âìëI„8˜ÅVâ÷‘n_Y, B@M¤Às‹[¶“äÈ·˜—¡¢ùÜ_Þ&9Ul{¡älðYäÚ/|áo(«Œõñµ‹ä_|`ò¿¶þ´ãÇ2Îø4"'[k6} g[‰2?~ɺ9l¸ã—ì]º‚»pÔzðûÖ’bÓŒ¦®ßPêÑãüÃ-F€YPøåOLæ)O-G0g¸W|1¦¾lö"s‡§™³ÈzÇo4æòÁÜÓ^éœ*˜ ïØOR÷qEµÏ±*3½ 4 èù¨ãüJQµÜ \Æ“ëù€}K;å‚8[NC?\=fØÌÉIŽÐÿì¾Ìj¾¾/ à^@¹àøñÌʈáF‚O¯–%–x0ÞL¯€÷¼+tc0~"ŠëùxüBþéퟞùí%Ô¾LäÉ)ßzø±^ñ.·nS!Üq¦·cB¾S{e·žOhä@ÉÜB,Í©Ùl²g¦®W¨…(ÞXBCAèø|ºÁg ¦Ádëš‹ûêÔ±øSåV0'] _#˜à³ÓˆšÀ„)°LòRà…~hM:¦?i•GÇÒmëUk'[0^ UNão9%[`T`Çâ{àXC†û–bë<ØmûVÛ&zôÚ`eˆ@· 0 wȾÃu# --ðE°Ñd2ƒo ]Ovî.ŽzA'uÏRŒ¾î{?vR¯:£Z S×^2xÃó3.‹‹\õéŽËîÏùû'—‡ÈG²åæV0ã£VoørìœÿþÉ6Ó- a³}¸y°T·Ù·Ü®Wí.b¾+ö­Î¸voý{ÿ‰S .Ö«²õøB—‘€;£[ÞQ§í[Þ1 ì"€tnÙ·(ß Ùëê~õÕuÇÞpð–e~ýÓ²gçL늾cˆ!È·P ºä[] 86‡ønñ-OúË»û}¢À£ðNÚ½$‹w{… ˆ"àÓx’oiôßzeí7+¿2¬ØÑøz~ý«ŸŸ~yã©ÿw"{]ù²þ埇žoÿSϾíÓ˜bçD@DP#àI¾¥Å¾õÚº}Ó&_1oBèüÉ‘§ôüà ,¼±ÿc· Μ5lÑìOþzÔÓ÷Œ™ý›™H¹PMD@DÀoð$ßÒbß xñ˜úG}4##ãq–žxâ‰'Ÿ|ò©§žzúé§ŸaéâáQ¡Ƹ1["·Ô½2( ˆ"€ ˆ@W ÐQ¾a´ž|ë3Ç òvŸ/ÂcÖA$@¶P[íðØ€ `q²ŽÛªåh£ì_gôJa]H¿ºBy° D@DЄ@GùÄ,uFËi,Sèç[?üð#<ò–,Xæ.HÜÖ†. SÎ×q³YpÍYDQX±jºî(„ ˆ"€ ]‡@GùôÔl6IÝ€'Á±ÙllnjhmœH­`é –^ýu°i½öÚk/¿ürNNÎòåËá§ÖusÁŽÅ^|‘aÖ*]5/=-ªC`Š _õ™É¬Ê‹@[Oâtd×i¶„ ˆ"€à[F#D¬†ÔÈÁþ|ÃÙÓÕ•®ù–jY1:¥Üç±Ç®E‹‰«U¾¥¬K(¦ 2ãÓ“ò!P¶…®élm’®ø–ÊŒaç–*2týCƸH^zÑt(“L‰™¨ ?‰­ @D@O#ྖ­ˆˆ¨ˆˆhè[ddt¯Þý †fÞOþÅ¢zÏ WŠ#–âÅõÊ+¯€}ëE–è|¢£ÿSÏ'¼aé‘ÂÔÜùÉ.!QÉЕ©s6PÂ¥”Š™D`¹hÊÂ’³ýz‘Oë Ö‡ ˆ"€ Úðß2›ÍgÎÔÔÖR›Ö©ªŠŠÒƒ&£÷€±¨Þs¾¦,0hÏì!‰ r233¹} $3ëü”œMcÓ7PÈm_˜D@Dð0à[õuÕ5'+ªO”C×à ®¦²¡¾®µnštÉ —^z ¬Y¯¾ú*7k• ö Æ-pá.ÖFëTÞÚ-¥TªtËZê¿¥Nyl~ʤ¯`LŠÊdLOVË”®Ê¤A$€uÁ|dáV&D@D@<‹€øÖéê§N”œ:^²-ïŸÕ•eð³M¾·ÀŽ$‚M öŠ;÷å‚JNù–Ú‹ºÂ'gç'Q¯xn^Q’ÍB»qseÀD!ÅeS¿-îRŸ”o7g7’ðòºøµi+çÆy[¬ @Sgš>ùªdþÛ®zø#ØÃ1ä(6‚Ùa±¯@ £|ëê1Ã>ØÛøÉ¡°ÏJ{l,í [^Y¯ G£ ßéø8‘Z¶l|‡˜ Ö,HÁÁÁJä- \”o±iG›±˜g¼œXà>~ñÙÙ4„*?C…¬Û²‰!—ç’˜Dè’dÙþÓ‰éO²û@MÚä¤/²ï¹#åß>9g;V}`•VÀܵÿÔ¯&&nüói“/Ùs°Á ,=ð—ÑêÈ }aƒ"{]ݯ¾ºîØÎgñ^ÿ´ìÙ9Ó<2äçWn¼éú«!‚<ÔÆ97n©+ß¹»øÓ Ûþò§¹i+ñ9êNŸ £:Átƒ&}Å…lë>´3u§ú\0øÙÕ›¾y¸2ØÐÈ’¹…Xš-R³Ùd}ÉyP™}XìpkhT^üXeåÐAƒZ« HÕ¿ ŽÞ:ù¢k’†É‘œá¯È / +þµõ§[' ½ö’Á]w!*ÖÎÎ$/}˜ÛuMz²%óŸ[‹gMºpâÅCYTì`úpð®Ÿý« ð¶I±] ¦Æ‘ù8æG‰bZž sß r¾š”}IÎ×tÔ¾¥]Ëú‰OÏ»ñ³Í»þ¼êû¥oí]òÆWϼ´íÉ>üOŸe<ûÉ£‹ÿ³à‰ÉøÉª2"€ø"0óõØ›;Ép…äËFÜuýepV=±8ûεbœÇ×Ü™¾FþÑêØá]΋(¾“¶>s0ÉP®)æÔ_´¦6|:‚aGÊj>Jùžä[ZÖOŸž?ýÙyãŸ{xâÒ…×þ9󺞜¶ü™›ržñÒÒ[_yáö×rîBË–ÿéŽv8yÃ#¸e˨3æ×ÜÿÓýë+>i27ANÊå ·\“2 3IÞ6α*¾ZOR§h7CŦ}ì³V+š@M½<ÎβÅV~£‹¿%M¸eÒÅj05Vk ÝÆ t&žä[Zì[9¬@îD`Ó·åÀ·ø4âW »×¶|Ü|~Ùþ>9ú g 7O 2J§Ì ëwg|ë(™1Ò-0œ HŒ¡3w1;Êš%ðsùNr|MæâüüÅc$Î^²\¶íÉò‰Y»HÅ鬬\¼;ÁèhÛÔÔ±qêiD…lq0§Û‚é¼=+ž -žÂF–EŽÝCÕ%°+" ¨/ÄÇý óŽ^3,ïÊ·tϸpj´o=tШúüpû[/Ÿœ1tÓë¯+ýl8w¯"€ >‡ÀÞƒUã.ÌiÁšŠ5µ§OŸolln1æìÉæŽª’â@FWlܨüÔoíü|õ˜¸!„ìÉwtAUQ l{S×g²©ÃüŇo€œÇ'‘!wg/MIYº¯ªèã9#X%Àî%ë˜|UÑ’‰$ö®\~\³nÔ‚Õ{|@u‡¨+.¤ølÙ‘-ÀÓL ˜¨`NãçÓºÏÅc>û^>4s ÄŠ'omÈÝrÄæ”¥é]¡2+^ƒ‹¢ºw ñ'Ì}Za¼·óÔ嘹{°‹Zì[Û2ï)eû„qÿúxí_ßzë‰?/ËÚúuXpýk»öä¼üòGÿþÏÞo Ÿÿß'÷`ǰ*D@ºq Øw¤Š™d‚në›vòøÉSUÕõgë½<ƒôõþ ±ödbòü¿€áªäÀœiÁ²R¾Ÿ¬žÉI0†ü£ÔFI@+}§³¶gsάÕä@y›þ`]€I»› ~8ZÃäÉ€¹ç€-˜Œ‰ º¹wi 4 xÊèÅNNM¡P·‚'à6ëÐ+Ùi±®‹ÄŽ ÕÚ%?¼Ý jAÀ“|K‹}køwŸ9K>¾brÁ¶íU%G~ùIvö×ÿÙ°ÉpsÒèâ#G÷~»o#éÜÓùáßµôžÊˆ5ªµŠ£"€ „À/¯öù·%œ¤M]°PßüüU¹ýâÛ™}Kÿé®ý £j}ü´•ìújýèäI"ˆ€ï#пwÄ‹L†8[;~,ãü€O#r²µfÓ·pdl SŠ„M&Ò4~ÉÞ¥ûgÉNHÖh ÁJ[ð pœ½ú(Ë¢ŽDŠ|VEڂчéÑã|ݾ%À,(üò'¦ ZŒl9Ó^…¬xŽ]8j}#µöiOîÂ/É_ïeŽ_à ¯¥0]ùBì˜àO˜ûþ-èÕ# ñNÃFôœÐ¿}ñNÁ²µ4}š¯”yÞ[Œ†–%ïnætèo½õVXXØoûÛ²#GöÜz‹®üøöëR_û÷¿¸ðæÍ›wíÞýìÿèP¶ S·,±Dø×<Äl¬æCrr芩¹ Pš©KÉá‡q”£¥³¥ùo8€zà4Mù%‰Ë¬§¡&{Y¯¾v~Û9Œwê·—Ö[æÁx§ýËŸ+!4„~€¯Á§|¶`Œ1@¶®¹x‹Ù‹IV0'] _#˜à³Óˆ¦&øP¨ópýÚ§ñN«IéNˆzÚQûTg4XjáÛù†³§«+] 3::úìÙ³ 0|äHýŸ^ÈŸ9óÂaú‚¿ýiii‰ wR¼ôHajÚTJ˜äD×¢f‹Rç&®¤V¯’\’>.«H—Ÿ¦R™ñE‹¸=¬$m-œ¢Þ^)$_˜È²“ãæ®ÌM&ëùLÝ2Xdgò“Xµ˜Dp Sô|Ãó3.‹‹\õéŽËîÏùû'—‡ÈG²åœV0ã£VoørìœÿþÉ6Ó- QØ{ðß’$SDDTDD4l‘‘ѽz÷3šùù‹ê=ü‰šº3ppîܹ㥥§%ÝÃÇ×oüâ‹¢ƒ!³©Åí@2‹›š–ÊO@Ñ]µš¯V§J·¬%¹ó“Uì gÐUíÖµv¯;( ŽÌ…͘¿â¡)_¿~;ìáØ~1Àrgø¦;h¡¬÷"à¾e6›Ïœ©©­­¬©>qªª¢¢ô Éhà#æ_,ª÷`=¾þ/3÷¿¿ê–›<ùÔ±ãÇ{EEÿ»ÿœÄëoøëßW½¼$+fëÛá_~VS]mµf­Ýb%SŒN¥&ƹƖٮääšEñµ«§o ìŒ².Lˆ"€ ˆ"€xð­úºêš“Õ'Ê«+Ëà ®¦²¡¾®µÎ5558øÝùШ²¨¯¾ð—™3fDôêyÛoÜÿûß½¼ì/úºSc¢=pü³ÝŸ~êPCò|>](NÀ\a:±`ëU^Æôd¥$¥hé+ÔÔ ,`Ä6„¹I¬tU&­›OFQ; • ˆ"€ ˆ@ "à¾uÌZ'JN/9u¢(ütÁ·"##÷ÍÿGyèØæÄ1/¼üʱ#Å5-ºãååÿýßÿ–-_^ÙoøÖ]ÁëGûå/¯|t^Xñ" uÃÎóyé<“~½hcÃJÎ.É-Š:ýš‘:l)9ÔŠ7wQs¼q !ÖjV2ÏzLˆ"€ ˆ"€xŽ~Ÿq¶œ†~¸z̰™““\tP’¤W^zéÑo_È0:èÃ]kîrÆ5nž>Ýc‚*¾eôLµXK— €ß'v ÌØˆ~Ÿˆ°"ˆ@à Ð¥ß'©rË5Ù‚‹AW½ázr¦%¥â»>’½(ÃCd ¨–N—R˜‹&ªÀQy)"Ð¥`@‡.…C¼%––z`>QK3Ne.úÅekcgúmøÿ{ºWïÞí®Ç¶ w{W…éòP½X "€ €QUÓ½ÝÀÖD ¨Ùaµµ§µÔ€2ˆ"€ ˆ"€t1Ýì¿ÅG«}2–ÓZ»¿qù^éé=ÒC{É?žüaß±¦úXv1**R+v°ˆ"Å… @D@®@€ó-7ì=Õ)Üõä[Ÿ9nà =9_OÎÕ‘sgÈ™†óç‰d C wºÊµöîj'aÚ%µ·Ž’ˆ"€ ˆ"à¿t›} ¢¤: Üå4zª‚Hp0©?KÎ7†säü¹†³MÄh¾¥kêè5‚èõD¢£ byD@Dp‚@·ñ-è‹Ùl’$±Á±Ùllnjhí*AL­]ßüðú'?‘úsäÌÒÐ@Îß:d‹44†·ÔÂÊŒ­^a°H‰U€”…¨‹Vˆ,6³È‚¤²èBв°2éÈOó…¬KWÍKÏc+áœ$ÞRˆ"€ ˆ" îä[F£¥¾o8{ºº²µNßõÚ–GÊ’Þê÷+rA?R]CJÊÈñʪc§Éé³#_|ÛÍ–•Ýü§ío}ð¹C teë¤|•®¦ÈW^aâJžÃÖÀæ«TÓ \´ˆžsikéòØÀ¿èZ1<ì$"€´îä[f³ùÌ™šÚÚʚꧪ**JšŒ>þÅ¢z_Uuzù×-~-}ZI*vî%¦°šá£¿K¼ô/‡u[kÈ€~¯¾¿gçöýCŒí…B.ÇlWrÊf< "€ m#dkìWdß{A5tÓy_rE¹x}ô/ÑǶ]7J ˆ€o#Ð|«¾®ºædEõ‰òêÊ28¨«©l¨¯k Ψ–3ät5©®úîèy øÈMD i®8w¤âÜGŒï”ÎË–ù‚pÁجõÄLÊK_Q@3ÀV•—1]M¡ìsT¢°‰QÜZ§Ú$æÛ €½G!û>yåA…<é–äèÈW– fÁÊÊF¯¬ 9Ëš¿ZòZÆ‚ ,Weè†1i'ˆ°RkrÕ¥ˆÕxÆmc˜DÀwàñå#{NèW_]wì çÆ¡×?-{vÎ4Ï "AÜ5.–É`°°e1À¤¼áh|·èØÖå|ô½þBJ¢"†ž8z¬°”\GúLjvI¿ÐŸÖm…R¿qfãߨmÌ& LÒ¬Œ|pÁ²þ„‰ÅÜþY"dÎ#+áØñ¬*‡•§îõ)9Ö¢žEkÃøò¨]Œ@;âËÛ­ç3t]ÙÒK6Æ*KÖ=–i9ä• 23G÷B~brÈú÷ô“€Ný•Paq Ë½G"AK~AIÕØcºš[,³3,cX-õ²ïAòhYe Ù™+‘tzéXe«n¯] #6‡ í_ϧøÄÙrúáê1ÃfNNr¼f¯¿½aÑGç›Ã¢I¯ž=ÎÖ—#Æ’ž½HX ‹ÚKwlçÄl\8¼¸øÞö\ràPË÷jOy,ã1oy J¬Hv|+$b€ÅÜl‘Z,R³$9©(Ž^2x@ŒÝ¹Vù§VTš2° {[¾\J‘¼ Xš:‡SN¶‚è(]Ó6.”BNB€­Wmäh¹H^±ž*§ñ·œ’-Ìÿ^ñÞõÏ%7 8yÀtöÌŸî‹Y‘:$ç©_ëõíDƒ€„ÑNݽ (" < ¿Ó‘§ÿ†,ø«âYeÉʰ :_ø,+F)0±é()Wj sÔ’K]»HÅ>’?EçÄ‚U%eÑué_AJÔÄ.¯Žèfõï kíh;Ñ^y§H÷èуW f©¿¼vëêßûtοšÚ)ía¥ˆ"€Ø Ðê66U¿o/x‚úc}œÊVKc®ñ4œ·øÄâý‚)–™à/ÿ?ñ0çúý9Tfìûd}º³5ÖèÈû<Ø„´~‚ŽzƒaBnEþúÒž|o©ÇÆtaBDÀKÊÅ‚Aкºó4B§‰P W“Ò©ÌÇér< !’ 2ê8â˜Ï'²RœÆaBßAÀ·ùÐÕf‚@_EÅG?Ú´ëéU›nYþy\ÖwOHþc^ö; n³8 ˆ"€ ˆ"Ð|›oi±oe½_ð‹wïØ5ø¹“W¼­»~sŸëËc’ZúÇn¿èHÒ¥o‡ÏßöÀ_þ½{/sÀ„ ˆ€gÀˆ¦žÅkC|ßæ[Zì[ôÁK{ÜQø´Ø°«ú]ÒKÓ‚xE’¨¨á±}/JÒ<"iµiâôW{æ B°.\ÈÚ3Pb-ˆ"€ ˆ€Ÿ àÛ|K‹}«ù|ó—5äd3M®íGnHÒãÉoc¥ëûNŸ;x¢¾úô9S‹­úÉ%Åa ˆ"€ ˆ€—!àÛ|K‹}+º¥fw-ùª–ÀþŒDë¤å»N¿ýõ©/œ®­k |Üàe—»ƒ ˆ"€ ~‚€oó--ö­~R]é9Ë·u–=ud÷iÒÐb’‰¡™47 ²ÕÔDΟé°ð"[ãBN°Äæé\af¦œ—Yà,G(-Jh‚xª8Åè'7 @Dh¾Í·´Ø·úë‰ÑÐØl*®—¾Žˆ.2`'å ¯öLÝ©> ~võæ‡o®49P2·K³Ej6›¬“Å^«ÌnA„žEÀNyB"XÌ 9- <’dßÔ±ÊÊ¡ƒ9íÀe|¨¥cß¿y§1_” @üoÈþ7¢Î»•\< x£1÷ "Õ¤t'9_íÛ|K#ˆËþ±ñÉï†þˆ>èÒÈ–ª.aÜb&®˜ s߯ºqð v§‚‰DH©0y˜¸ØU|zžÊÈ·d'3FeŸ£p2ÊÓ¬?4öÅ<·Z{e"ßBsDÀƒ|« û^¿^¤   `ú0ÝëõAÿöUÿæ[»^½‡# ÓY!€óáCÖè{_ö'€øÙaD®ÆÚ’nñ-ßžOÔò}"·èþß¼¦J_^F̦ºó,ÔüÑ ›ÁÐWwî¹›u‡>¸Õ‘lAÁälá.¿1;{#7R¥æò F -~MìrÀÇ^1g¬H'²¿—ö ˆ’ˆ"àã´F¶ ¿‘U¬}çÚŠ¿#•t¤¬ªÛ­‘­nF@Ëè´È8»@^:dÞÕ]Ëc$–µË Ýj¿;6Ò^T[í®[º%ìBuó»W[WK·9™¨tè÷wÜðþŒÆ#E§Ï›±À'ŠCÌU/ߪ+ûpÖâ‡oëÝ»Wgt?Lì T±NDÀËpñ–}çáMÀ^„°ÍþÀC«\t7@N™Çeÿ½œ!ãŸx÷÷dÍ:ôÊÞ¢šª¢%±Z }·©q»¹Q» vÕýâÛ|K£}‹ƒyÇ-Éÿ½7´ïѽ—šÿý6éè‡wüaÎŒÈÈH7 VÛ®x1ÇUu`“`n4‚¢ˆ"໸~K9Zw²ÆåÍd/šªwÇö¾Õó€kÊçí.® àíC®(ßOFÅǺqW¡»–fQßæ[Úí[§N,ýׯ¿ï¾¹¿¾)$$D3J(ØÕDF÷ŒêÙ7*ºOdTïˆÈ^ááÑ¡aQ¡¡áÁÁaÁÁ¡°éõ!:]0ߺºsØ"Ð:Ü„cç³Å3ù;Ì¡¨ò"¿$k[`Ùââ0|ø¦«`ƒø Û­8ÈÈXq”²mÍðò+ë%C¶¿pdO½¦«gw.ÏÊ\œŸ¿xl[ÆT¨±þ(WÝIþž,ÙÄ›µëøu…•EQEÍ65]÷Öu¸“Îø6ßr˾ÕIbµÐ©Ê:ó¥æovþÔ¼í‡æ­ûš¿ø®qÓÞ¦¼o?ûºùÓÝÿÝuþH%]à,#Æ„x®É–#ßšö {.Ùcí}þâÃ70‹×º9+^_.ú¾³Žæì{ùÐLŒ6&ÿh9‚yc$›©GÎñÃdÄ05ù‡.ÌæEÈ‚Lg•€°hèñIª&jö.M¡õ@£GP«[QÍÞÔõ´µ¼+¨9߉+7\ ‡ Ù*ºó­®C€õ1ö®\f;0G-XÍ@v‚ŒÃH)ÛZûèÂQëYÙõ£)Ú.’7 ÙñÂ_×4eé>ˇ/ÉÇß5Äåˆ\ýÍ á":Óçz*ÜK˜zÓéΉCî¶öð¸ƒZïYQ•A¨ ÑpÝ»áqáÛ|K£}Ël6ýhÓ®§WmºeùçqYßE½Cûö éÛ3ü‚ža}z†Bf¯è°¡G*(ß:ƒ|Kž(Ò5¸°l9µoMÊboš ¨ †³®”¥é9YA©LÉ9±“SSþZ°“ŒŸöà¡’ R~xÔ´9#ö¾‡ÊŒf3_”’:…ý¦E€œ9©DÕê¬@‰Î@1"È-^ŒÞY;æJþ"q$[À¸ìJw¼Å2k59PNY£#2Ž#¥À Có©ñoRPRWÉ‹†ìô¹¯úUãÖºá˜_ñÕz"+¼]?[ï…6ÆÔæuw“Ž—ðm¾¥Å¾•õ~Á/Þi¼c×àçN^ñ¶îúÍ}®/Ijé»=rü¢#I—¾e>Ûù÷î½?tM¬ÁƒZÌ-&"™%³Yg†¨&Ñl1š,f£"¦™Ìô³]›8Ý?0!^€:ôƒz‘“-G¶!:=ñqðßšO¹”¦4ìBr¸bÏæ#†ÅN˜y `gÅÑ17ˆ¹HMåµq‹ˆØÚ êúø4â÷¿úNÉT,[0|gó‰L°3€—®â'ìvÎFî|¤ã—б'o¦¤Ón®Ö¾/2%”í¼pêQy@[ë†[ÝsKX€Æë®å.ð¨Œoó--ö­wÎ]úà¥=î¿(|ZlØUýƒ.饋éJ¢"ITÔðؾ%i‘´Ú4qú«žªtujºJ5¦nAÀ`’ F©Å¬3Í2³fK‹‘4u-@¹$JôÀ¹ihr§·[º8Jœ-§dË‘mÌVf©‘ÉvNCIgç²Ïøa1ÿÁd°µ€Õмö·ý3&Ä’!SfÍŸ“ [ñ†EœUb½RôlÞ6ææEåmu÷‚*q¶ Ó~„²vd««­Yb\ªÁ8"c3ÒŠµYôsQ`][^I¡ÖDÉ‹†¬ºÐ­v˜[+]¦ŽªqkÝṗ?ˆPokx;(ªÝ(”¡µyÝÛB 3Îû6ßÒbßj>ßüe 9ÙLFD“kû‘’ôxòÛXéú>††Ó瞨¯>}ÎÔ‚rµ/©iR´öa謴`É%0eµ²HØ€`Ñcz¿á¡½M-í½vžë-Ö„p”W¯â ¯X¶œšvf¸W8tƒ%&;Ík¢þ7ûgÑ©½±àQÄ}êc‡‘|2s2uÁ‰#+Œà³‡ª7õ‰¦E>IÝG‹8«Ä*=~ ¸7£òÅü·¬ò´{m9Œ«[V <¨M²;  MÚ‚Ñy\Ô ­5dlF /œÊ.ÍÔõ3–Üíòã>/r›0a.ƒ®ƒtX[ÓÇ|êwÅÕ[„³öpˆ¢ùò¥qTT•ê)wLÐpÝ»á‰åÿñåþü£4üÒØ[B4 !RÖÎ3R¬¨+ù˜è*ŠðJ×éOÿ¸ÿmZ\ÁáÕb‹tÃ…ö¥&!¾<¬Ïò½{„€ëÙ¿,[¼h  ¾QL ÞxcùC=Nßm–æ©WD¿¿©ð7¿LÒ"ãËû’*tU_5*ïŽëõ|~~û®-[±·.ñ§èêv—B“xw¡‚wçÓˆ Ýô3üoÈ0¢Wcí·âËû6ßÒ²~â„¥Û¾Ž¹62„ ŽÐˆ"c£ Ë N3[¦š¯Z æ-–ä [ÿ*–¡Pñ­¢$’“C×ë(òçÕò<‚ZMÝ"/蓚›Ÿ¶6…/îC¥­g䕿‘´¤ôt¶@ËbË2Z °øõ˜á| >EìÓ#té²e’ŒG)Á‚ÕÆW¾¾œçåÒI-7Œ‹zç³ÂûnB¾…ªÓ~<È·´t¿ùV !à« ú߈´èdûdˆoihæŸ7þ¯Çuø ý‘aú6½´õ81É| Œ[lmŸ;ýçò{m*‹TÓÕyœ¬W­˜²œÛ·èÒ‹D!UE‹,ó·Jb9Öµ®ãáÏÈ$ÙUÀÏùÄ}è YÏg ‚”+ç%q<ïáÇÁô$5O|KË€2.ðßBD  p‹oùƒÿ÷âjmß?ÌDšš¨5Ë`h0)Aes6ÐÚD‰KL¥'F‚ñ,E— §’‘l9` ®Zf ݞȠ“‰lÈý<Ñb¢³‹ô@û•AID@D ëðm¾Å¿Ot½ïA€NÑyC:{h< 3RÊL"äpÊÕÜ<èëâėÞ¾:6PÖ…I€ÙÞñ|äa{"SP.øÝ#›t„n`—”]æ:D@DÀ›ðm¾¥åûÄ«.ìKΞ¡d‹R«–ºFÙMr¾ÕÒ2°¯«…K·¬Í˘ž WR¶rÑåªM_ülWyé+‡²–µS„ÒU™4ܰ®’ÜÔÂ#´&+À!Èï…ø[’ɬ\?¶(–ðÑÓØ€q!dˆ"€ ˆ€÷#àÛ|KKü­™7LüKR ©<ÁL\¦:°oÑp™ì³DúJ7Á|bŒ¾þ†É—9¹Zyéñ쳚øµi%à^7wena Ë™W”Dç)µš»(¦u4V—õ8.»DˆR¯-§®Yq#!4…\ýJô–·ÃLÀ·`ƒoù…ZðèãÀ±Dlú‘p.ï¿Å°‡ˆ"€ ˆŒôå¤Å¾ã[tÿo^S¥//ƒuçY¨-æ#¯¾ºsÏݬ;ôÁ­ƒ ´G"nîFe“&ê4ÏÉ•ÈÛ˜½QÎäó‚ü—õØZœ±-ø)ËËÇ\V]½/_ O÷]’hly£Dcʳ(óf \ƒ…~Qj¢çhT.æ¹E#ŸbBºÔ·®Ã[B¼'˯·Þ]ßæ[Zì[|ì¿¿ã†÷g4†):M×Ú³–æ!檗oÕ•}8kñ÷õîÝË›¯h`ömìÈbl¶›ÌÆØ$£Áb€cƒÎhЛÁfƒÞd=,Àéåì[‡ÀD GÝùÀöDÕ©Îo[@¯F òT-s1Öš|›oi´oq0î¸%ù¿÷†ö=º÷RÓá¿ß&ýðŽ?Ì™éÊmK+Š(çi¾üùdÂÐ°Ô =9¾Ç´ñÑ|ƒã›¯Š„í–«¢fLˆž9©Ç¨¡ëvžH¾é²§/Ö×:Cûꉪ @ÊS5f³žÚðíx§Úlj’>„Äß²÷ܲïô©³Í °x¢ÖöÙC‰ý%¡D© Ö_vçuƒõÆÓ¯Kc%Œ/ïCšÐe]Õ¨<êþ«;EõBFÇì§u¯ÎaÇá|#lS~ªóÙq˜jÏÊ›ŽØíu¡4‡îÙ¦§{‰n!ì Ž-ôøÌ~Â>˜Ó½ú€ý ’ÏÂA…IlS$¢gÇzºéØÞfÓA89‡Ë›…ÀžX7º: ;kÚ8nòÂ6~àtƒ í¬‡C7ž”c‹Y¢‹â®Þ “†ogÜÅÿéÖf”$õf$3?†=l-âÀ -ì•å§¹Åln§èA3üd9âX27±LºgÇMpl6ž ¤»Çê›TI³³¤ ußs|sdØkDpD U¾¼Äf2šM“ ~‘îÍF“‘ÐLƒ™FÝà§ÉHBYYVdáùl£ùÛó*Ì6“|@Bå¬ÉÈ¢&Q ü¤9&ºÇô@ôª•»¡jT©š£õКå.±cØ ŸUËû/2­Š ; bt“ÌtcF¶™`ÉZ@‡éY€‚×,J)Íßh[¢­„ _éŽ"ú&ÃË;ÉÛ²öGé˜ê€®‚Ã~ÂrÌK±+IëQâ=g#`ù)º’ލD»ª etâR*ƒµé†Rƒ¨×)ïa¹u[¼Ï¼F~($à'Ë¡eÙÄN@ zYïvD ë˜}9FlÒÎv7¬«ÝÐaADÀ‹h5þVCc³¨ž-R§Ä¬w<–cþñ3ú¿W¢êX`@þ“×$„ms XêDÅm3µDTúÚŠ0=¯tНÅçÐ?û®¨äÛ¸®Ê:®@ÀkP#¢ÔiH •UÒ‚Œ“zd°Ä¿‡í5WPt–IÑcu1ZF¹RP\G—”¶Mvp:\h.­aÈêë@k‘uŽ•c_Ì K1„uA@ÀSß'‚½ê¥%úX¨ñ)æ?d?n-¯ú+ò\Æ1/"€ø2šâA”•ÙØ¹}y¼Ø÷@D !qò­@¼ðí³çù±dÝc™öž~Xž4ö}ñÇÁ+9ú»0R•aÉçý¡£œÌ.çAò(ð0¶ŸkY° ÎÏZò geÛ5^,„ ]ƒ€&¾Õ5]ÁVNBãou°~Ym;ø–Ýz>CÑ•=ûVЬ¯lí[`ñúFW“N²î‘ˆBž¨}K—k—£ð­ Ë.)¬e’²ýìXe¥_^"à­tÚz>Þ:`ì"Ð*È·P9´#à.ß~£×‡ c×øoÙ®à´SÛçI|ö³+ÇœÖòÕ’®ç+µ%DÀMØzÕFþ‡–‹„ñNÝÄÅD8~ò¤^äH¶èy˜|/¨6…e™9,'G—ÒA OAæ:XG#0¨LPP(< ´×„ñ·´c…’ˆ"€Ðo3诈d ølR±±¥º1Gɶ*—9­Uý Ý|¹¬ÖÖQ@: AýûÚÚç²­V¿OT—ŠØiÆŠ!PSU¤Ô…ó‰ƒ5*rk>&[›D°~Ÿ(ƒ¶3×<“9¼§LÑ‘ 6oÎX9Ôƒ¾Õ•¿¼Í<£ª,­‘ûÚÀÕÁ!"^‹€‹§ï³ÛþòÀ·?ì÷ÚñcÇp_D¾˜—¾ã£ößêxO´Ö ¼ï•˜-ZË¡"€x·ø–ÖùDà[r‚Hæ,Éÿ:œpzRU}qûŠx¨tÛ$2Ø)vì ¡ÊsvNé´õ¤µNçÕɹ6rü ÔÞJ!Ëýv‰œ«q¨ ¶ÑŽM÷aÞBX"à€µLÄSÍ!ëÓ‘lyçUÂ^!Îp—oÏ ”òÀœ°ÕaûQ8#"pRP2v^pΕQQýM£SÊJüæÅ­¼JnÚ„n¨0‰b¬r£¬vZ¡è¤Ü<ï2m‹VÍÉkDü#r•žr!–˪cãUÆ%*$Ôãæƒà™êA3ÞvZáŒò <Ђ•!Š1]ÓŒ0Þ∀ß#0)¹ÞÓM?ÉïG‹Dü Í|K¬¾ÇM;2ա܇Ò.ö›¾Ùž¯Õ'³!Æ.”•û€´ðs¬"*®”kû‰|©?A]8GS‘!ù'1¼ÊÚ€rY‡hÇx—)C•²¥WJSŽybX ½SuÄ:N"©-¯ŸÜŠøÓqžÉb|P]RÉË ÂBodrÜ6ÂþucâhD@ü ­|‹3Aµ8¡ ëÃüϹ=€\!$x•cÖaÕ5¹ÙJ¶X)ÌIX³ø"Ê ¿¢å!ƒ¿|YaÚ"­þ…ßômZf:²=‹ö„÷LapR1!™Òð*Ù V§p‚éñ߂αVD­2ñ9Ð'…jÑfyM XÙO´ÊûÏÆ"˜ŸBJ9%D„;€°_Ý—8˜îEÀb¦+ÅÓ­«cuo÷±uDðB4ó-+ ,G±:ö”Gæ%ÀGèÆØÊÊ ÉTE˜8¿a Ê&1’"Èœ8͸åN¢¨à^‚œjD)ÄIˆŽ2‚¦nLð9Fƒd~EGÄGÆÆ"¬_Юàr"ƒŽIôZ „Ÿbk(³¦eî%N0F(ó8N¿h­\V2",T¡{áÝ…]BD@8Úù{ ®%ò$ç ¥ÿ¸ùæÕ¥ÂtÅLTÜfÃŒQÌJ%udfÆþµc\ŒW)¢Â˜Äé hÖ~0®ÂËs«µ„ÉôMØ‘“{¢^¥óLVݾ̩¬F-Ú{nF゜ŠÉäMe¤âÈȶ+Q·ÊYû¨îŒA®]é· „yeˆ0Ÿ¿å×]…0ÞÒˆ"€ ˆ€×"à&ßb& J €Ä<ÉSTdä“ÛïPG%ƽøÿbº»œš³@BÌFr–Ĥ¸¨ AJ{¢UV“l—²Ú¬8™c*~ž—¼6#øè™2C(Xš é5ðj˜]ÊÚ¤ ˆª> @„“0nì}‘ùï­8+s<¹ j„9uµò>D˜__„½öÃŽ!ˆ"€ ZùTñˆÒw~}“åÓú³õÎÖjÙX@¿½“Ù…b£¢|EØ—¸HNV$Ó6Ș KÖårbžRð,Ö:ùlj‘Ò•b’œ· –Âx ³€1÷*N„Ät!ó±’I™lac†-î_¥°7æK&Ó=1ÿÈ*S™œ,ñÉCÑ:ïíýWôÒŠ=­Òa1­*Ó=*$ˆ«è¼è",#Œ73"€ ˆ"àµhå[‚+ rT¶uåµ—LdÁ<é¹çà˜‡a({ûÖžzÁ³Þ.£³‰eoς߽ sÖÛ¥f©”ý„ÿzÞúv)°Qòf½]NiFÙ;³èyH³Þ)§ Œs!îÂŧ&¹“˜ :²wc,Ö)Fn/FË=cR|òQ¦nª¹J1ÃG)hX¶ºqÆÄû™¥àzŠ9M°;¹g” ÒαlfÙb¼JP?™V²l…)ô“6$Û±¬¢œ²©SyUvãõ3–Ê*aãXÑlÞi1ǘ-3›Qdüa¯½Ç°cˆ"€ ˆ€Öõ|jkk­`U¼wûeÅÔ.¹†fAÌ= ÑéHù»i ÉËkïQÖ—Ð}™uÁç7Ôþ®$íÅ ˜ð—YY$=á•Ëàçs× ý¹ä†Ïû‚Ð’ÉPKÅ{i u¯¼lY@hÎ*@%y#Jk6Ž×G´ù®ˆ–çÿëh.9‰j•ÚUMØä©Ø +%0ðY;*#CÿeEìúÏ»Àû{°ýJÕŒŒ°„Ò˜“©Zç°°á³&yGÕýcWÐçî{A_Œ/O´ö!`_><Æ"µðM’ìʶQº}}ÀRˆ@"ðú§e>1ê‡oî´Ÿm> Ú³žOuu5{I[tðâ®Xs{yñ£»‡ ªÀº™‘œîŽ-_sÇ Å:ö)/÷Qܪ~³V×U?{ -ýåúsþºê¬kà%¥.—…i-ýBäe^Àš– †Ì§X_8o ‚ñ)Ψøÿ6èÈTPÇvâ4“fÅé‚ýÈUpiQ—̧h•TsÞ²ÒIÖÑŽ›üÓZ›z8¼CV„ei™Œñ¾Š^q$¢&ÓZZŸè¸ü4û)#àG÷ï×ù–O<¹¼°“È·¼ð¢`—à[ÏΙæå#µ{>¨{ëßÒ>Ÿ(¼èœÔ¸Äüõeêù4˜«b¡ÛËÞ»ýŠõ·ì=yòdÕɽ/'ÓÙ¿ ÏÀ¯“×oî/Ĭ/¥‰ÏÀ©*ö³ü´XR^Ú[âU[uò$E¾_¿þÜÁ§º¸ã”˜cÿÊÿ± >1ï&{•ói;î4%'1Ó&¦Ù¤!Ÿuc3^Ì«Œ7e;@>—)¾‡¤ÕñÙDko¸+&&ùiAØËïXì"  °§øüׇŶcÿD@­|Kñÿa<áªû_$Ž[ò¥xw›w,Y²C^÷†$ßrÍ`z¢|Ûúøb±üý%ï—KÒÕÏœØóbòþ’k–¼_&™¯â?JÃFç?º Ë\E*ãò\à@I™ð5·úL ß)AKëà,Bfí/wBçu —t›¾ó«dõZg.òV/vÅ¡n'ÂÇGÿ­Ž< ¹lWúoÁLbòØ áÏxUÕ©¿¯Ý”y¿·»°²zàØ;€òßÒÊ·JJJdĹƒ9÷ïVÖmÙÕþèŒêÐÓö_ùðú¬¢jwoßwΞTãŠG»•ŸY}ÅÎõü#EíqV¿UÀ~,*W{Ñ•¬M¯d¦(jëî/NÊ`r*&"¬º@¶WÇöºÛ |«ó‹þ]³çøÖž¬÷® `ÍY_õø$g¨9å[£bÂüaŸ!ð›»c6šÎŸje\{²î,Oÿ0Å+Pn 8¾æ•½¹w+Q qÆ· 2u)9´`F¾%;Ù €ó”¿¼V¾u¤øeWì=ȇ`X²éH|0§°0fîáÌF&[Š•‰žaæ$jc6n÷úéo¹‰„¡‹þbg¸,'$2Ç/g&jË¥˜‘Lõ-!“à6%Q‰0ÉÙ|¯(wDX±¬†(*,¬^´+¼]Îhâ²3¬näß=2ÎÉ>ld½–Ï?dq‹"Ün„Gމ|Ë M>ÙOñ­K7ßP´d"©ø }ìáß×dw„Ã)ßzzÞ> v:P  ­¯+s€*ÿÂ/IÊÒ}V¾U0­•??ù°­ Ó)Ï*]uc|Ñ"o`\žâ[šý·èçnbjñ wâAHå%x„ë÷¸–C| pî•ÎW¾Tôë89'¯_”ä®FÖ+NÏñxòb±C«ç<¯BYM[ UVÓaÝ•‹yüxî4ÎÇ+âùèevÅ™µÅ¿nä}äƒ`™V Xïøpاƒ,\+“K>ò2ˆpÔçŽÛ‹Øü×9Ó&ÒþÄNNM9P^¡¹k’© 7DÀ‡p¡Ú±wåÖì]š¢Yùm 6ädLO¦yqSÓR ”¶³o,¦Õ¾UTT¤v´R Åy¶­Û7UÉæ ^X]N3Sw„RrW)f\²+F*ÙÌfõœR,K*Ÿ+¹Þ²µ~»:m/0°©ÜјÝMþm:ÕnDÊE{ªßÖAãšÊ!NxÆÙuÄÎ#NŸŒ"LѾåÏ_è“§ì[Y–ËÇÊó¿éÚ·^Xô°/à„}D--ç]Í'V¬I^r˜OLyyËÇw Qƒè`ßRÌ[ ¥>îNä=eßÒÊ·öïßo3\5r`Š÷ Ÿg³O‚¶p&"fûÄÔ›L‡Zw‰·§jÖÊU LEæd~dKïøÔ£`7‚Z%œRAgTÈ«ÝêïÁކᵦ3ެf—Z‰†ß&ÂcÆŒA¾ÕÏ$_n»»øØËOªÎý÷fô—÷eõÁ¾; `÷”³ðGÈß.là ùÖ€DT(DÀû@¾åý×È;{èy¾åü}CGÿ¿¯O<zÿ÷)¾CºiÛÍwÖg>õûéÞ‰ ö hÎõÿøš;³H¶kyß®yd对qíé'Ët©}Ë“Ǻ.A $b€ÅÜÌ–Àk†X¼Jò‰Ï»!lÄŠ€§ø–yhuÑŽÕ[#ÿµkì—W|t娳)ïü_^ DÀ¯Pó­]˳Èãð ÌqGØ:Σ¿¼_]w "€ ]ƒÀ¤¬wɬʉcŽZïìãDÞe“ç,8óúøÏ¯N«]€d«k. ¶ÒeÀ÷‰1ãçç/; 1k|<2b?») sÌ:çARÔ}KÎÎ')ðž.>=)ß+ÂAx 9­ß'z¬A¬è,OìZ°9w#ìš^`+†Àø%UE0¯]ÓÊ×ï ¿™:jî™?ýqþ¯ ®ÿ#@¿OwBbÓ>Vÿl€äl˜k§É¿Ø!È·Ú¾ø( ˆ€Çxè:"€š¾O„ÖÀ@GéÛ<|ópe!á1Ìy‹n’¤|2ë4œ±o{ßq<å¿Õñž` ˆ@@!àµ]ê/Žâ`ÐøÊDeFåi·òð‚Ç*+‡Ôq7ämžžÚÑe½§Ä{:ãg=ñ?l•ÛÇ'Èžâ[žœOü÷¿þÖñgÖ€Ô>!IFí8€¼va”DD@º­ó‰ÏÎéèßamŽíÛ×uµ >݇­þ ¹óEtsn3ÿþÔç‚Á•uæSg‰¡Ål0H&‰˜A1èHtIÒñI²\2rPhiEy\ì0´où§6tɨ4*Ú·\_ ?³*yÏpüÛ¾Õ%·xGQ;«¨ëjÓÚsß ÒXMJw’óÕžä[`ߺíŽß·{Xù9ºkæ×†D\5|’¥›±ùV»±ô킜oýPjî¥o1ƒV›Ôѵ2%/κÌf–ol™6>úû¢£—%ŽÐøÊô óµo_?ì½Fåñ,ßòAœ°Ëˆ"`ƒ€[|Ë“ó‰í&[_½ªÛž­Ó‡ÄXÌnÌ"© qho\UÚ-ŠàVÓn +ñ–R—o_]Ý‚Q»Ë-¶d¸ôÂ`ÒÍ£ t„’-D{€59ƒ¨#üéø @DðB`]:Ú«Žò­õ; Ÿ|ë3Ç ò]ú›7tß}pyáúéß-½ì¾ï'=ZyͼŸLæòº’\³a§: ¸ðâF&åußr«i·„•Û—òw¦Ån0I`Áj1ëL@³Ì,‹ÙÒb$F] P.øäPêKµ¸¡©4]‹j¡ "€ ˆ"Ðq:Ê·vï/ÿËÿÝä¸A¾‹ÎÁÔa£\~×ÿ.¼á©‰SƒCÏ[ »$ó¶ÈÈ“ñhPÐ 0`¸—’§gäl(p¯Œ‡¤ÝjÚ-a¥ƒv¥âænô‚%¥<_«Õ€AËd"  ÔgK§-Ëó9Ë…ÿý ÿ ímjÁ©çξX?"€ ˆ@‡è(ß‚ÆÍf“¾Ë’ ðñÙllnjpM¶FO]ÀUKXdShd}Hdmp¸b"–z"'Ò™Vì[°’¥H™À­ÀÌ£Sf­”„fó'é*ËÏ,`Æ¡UrE¢»µ©…ýäMY+„#^³š ©z¸ ŠdfÊ}‘;Ñz?E¸ íHmšPu†­õw×lj‡”ÏuaàSà#6-H:½îùìå ÿÚë/XˆE":ØÃÆkX'ö«FD@:Œ€ø–Ñh`©:ûó gOWWºèp©àÐHƨNRK,5„Ôé4±œ&älKSð-gö-à7)$¿Õ8ÿq‰©…GJ̓E—˜T~RQiÜÜEŠá«`CNÆôdh6/½h:—ÈÈYÆX”}NAf|Ñ"ÞTIÚÚy«Jå)½Ò-k“2³¤•‘Ä86NÑ4åbªN…j WÊ ¥Æå¼ŸÖ>À NF*7a‹«\I.I‡NvX¼ª˜C'-0hÁÄáÒeË”¾½ñÆrðžÊ9’…î©/&D ë°†Ïíº6±%Dð>àý¤=y€oe+""*""ZŒŒîÕ»ŸÁÐÌ{À#r©÷ô)cãyÁ·¤b©%¦jb®%FØNµÔUY ÕNì[ÀtHîüdÕÐ`ZÍbW‹›šFÖn¡Äˆä¤0›Vr6]}I1(l(åSåz€ÅðúìrJÒJXŠOÏ£®aP £sEIÓç'ᙤ‘q¬´hÚ±‡©iS¹”&´¸UØ¡ŸÖ>8Ö£4awaåú¡©Ý忦]×Ü”¤D¾E”¤?-{Íxôq~°òuJ¹˜Çs¦¦¶–Ú´NUUT”4 ¼yþÅ¢z?K™M•”QIe¤ùi„í8Ýša_)™Îž>ú³Ûþ[V"׺œ¾r%fRJžŸKùÐ-™ýhÁ&5·D˜ÒĪ™q‰¤¨*IŒvRæ•,j„KK½ urè§ëÒn5¡­#^.Eƒ>XÄ4"tõ‰ŒE0«¸@M¹ˆÂC@BÖåå—ÒϺ7dà@I2Ÿ¨Ã<&DP*OÕ˜ÍxhGãoÁ—‰ݘÐÜÔ+ñ’«öÿ° Ì&㿾7€½Ó~l\ªsÍu…Û·NìQÒ\C=¢-Ɔº3æ–¦óõçúï]üSõ×›~¾ï5;Ó̲ÑI>ëŠá4ãÿÛ{ø(Ê{ÿö–pM DˆR«UÀcJ¡DZÿV^m%}õZ¥= ÇO‘­”üzü÷”ÃßÓ þ*Xÿ§ñTZ‘ õn)x‰¹!$°%w’l6{ùŸËÌÎîÎ&“ds™ä;>.3Ï<×÷ÌÎ~ò}žù>%õ!Lz:º´XÖîÛj§³œ¶ ÈYØÛ_“S¹ô!~À£å$„m1Çí7‘‘Á°ÕÉîÜVRY@J„Ýý0šø­‡n¤êõK÷ªZªŸžÞ»Ti©F;w”ìe…-ª§JK‹+K„¬ÁªfkgÐŒ±”ÌÿÖŸ>èž’`±OïÛûÏ;wÁÐ!è*$xüÒoýËï?ò˜ÌAÿí7'¿ðúgßÝp­NJèkŒ]í1Ñ7º­—‰ÔÇ ‰H :ÒÜŒþ×õ¢þN[…úwÀëiôÖ}7&»º:>33€9Èb±=79–ÞzýßLó—_uîÓ/6=ü-ÁÝåéq‚¾”©VÁLÞê¯~§ñü¹îöÖžû¢ýËYQXJ/íCöH½EU°£¨¨ˆ¦•†€QË ¶¯¡·ˆ¤Rê’ R‰¦pý¤.顳¡WòÖ²öæ)7et;×–Éâ&Šè)ËI*­Ì BzK¦¡êêx¸ñ™ÞúŸwz§§&X-`®5Ifzk ’W£—f-˜#zË"zï¸9õÖx¸ê£Ú‡Aè­Qm/VŽ€1ÄSoŸ-M×+—ÍÛ|kŽ&×ö˜ffÎj¾Ø¼ùÿþ’3½LAÁï«ù{kýOw·)Álþæ/ÈÔûAmÔÌn–T9ƒÈUµZØE–7¸v.× ú2ÊY˜Þzåm÷”ɉ ·,fxI‘Œ‘ƒêòöÉ0"XEÁª5à»c5ê­Q¾^ã zÔ[ãà"bÀ$ Ö[C¿¢JÓÿV,±8nß-Ø".›Ͼw´îOÏy¾ùüÙäÛžܳ×?±eóYí£}@U(±Ò›Áå ñ¨fʃoy¿H|ÊS/óApÇ%ù$ø$îG˜W.jR%žOqCH $0† Uo©»ÆÞCÔ³mþ™ÔÝ-”v5^žzÇϤÍÿËýŸÄç}Ÿ¼}£æ 4²ê>½’®ƒË¥çŠŒÁ4×/² ~äï…E!ˆ~Ÿäƒ}ŸÉïƒi[Ö Ïð_3Ï -Ÿ2Ù2ÛMBH $ ˆ§ÞÐú‰0þÞ}bÁ¿Ï-Ü@$w>¿|UVbþª)߸)V¤föav<„M7O¾cUÊæ[R—d%ýñÝÆ¼k§"A$€@c™@<õ–~ûÖX&‚m –e§üáÄ…ýªÛûríS‡+ú>ßýÂgÿúB%ØgáßWï?rî«×Í Æ6 $€èƒÀPßOŒ#Ü¿ÿ‡©ÍE¼sAèº"Üý~b+âÆ0˜/o³&’9Yf3_šÉl=Ádæ_Ža¸ÒÑ óëuNyFcøÊZÓtÞ<#Ѿ&ñîÿ~µÇœÇʆ£Ì86‹Bã—@<çË«) ѾÕåÖloËÿiÿJÉÄY=nH £øDLÛä¡x°º@!íÐõè¡ó€2•’ñPÓÐ í³¥Ã\Æ2xŽ'hþ–Êûÿé¯ûLf[š-icCÊrÒ#ÏzðU>gx/û+§¿óÚÌB¹ÔùWÖÈ_¬ ŒG©˜V$yÑÒJÃAzwp͘mþC„‰+:fp%³\ M§åF¶¾h¾öPÊÒ‘7¾×Q!&AcÀPõøßóÑâûîíß~c:õÒ—+ltœzêKßùø–7æ>zV`Q zApi¬ŸØgqòrÒ£@xÀUŒdQÕ2àRŠ‘¹F¦ÙòLN™2yÊÌÉ)Ó“'OKJž:iRJBâä„„IVk¢ÕšÁl¶™LVFáªc•H@‹À‰÷…gŠÌ·È§n)¤û!{’Hä5ö*æ6°ÝŸÐÔJšR¹œÆ!H‡þS*?']¿%xw±ÊâÅ­S1K#²ON£Ïv%í†*J©5Ž´D<ô ©n÷nU#CÍ–ë ¯"T)µÌ…ª­túÏ,|¸!ñB`¨ó·@iiú‘¯p;ñ+S*÷GO[•·»|+¾«nÝ!i¯ü$ó®ŸÈ?о@Xµâµ/‡¨¹¿4Ë ‹` yår®hüÃìsƒù;uv›;Ÿ7èó¿-Ò¦ Ìí“ÈøÞ§\QºvmQfÂåË32²tNÁÁù[¹·&JZ7GÄz>Y™deP*Û_ é-š¤Œ(ì°ìYA$ÈõM­›¤»wHËhŒƒÿ#œÞc*–Ó¹ó·~Ìfq)S¯øN(eìÒTs¿ ü¿ÑÕs (¦êض.VÑaû‹¦úÝ’ð ù~n.¢¦/(ŒvEÂ3J³I§¤õ¬§JƒIvón±(l‚Äᇤ:Wgd‚U.:Éú¼¸!1C`0ëùÄÁ6~(å‰Ë°˜y¾ø}1Ä¿óŒE°M™ó¥GÀß©»ý“žöc¶I“gdMOLž+ˆžËuŸøzª&)†} À¶VOÔz>à tÍÑŠ}yyªµp`AX«'´¤¡¼Èá6¡ §°ÄˉˆÉS¯¨C—äÅCK’UƒUzBU‡×Ís…Õ•×pp[ai©°ÀT˜¿”åÒ²¦PKÂê¥Kijˆµ†Ž„—£ª…´>6Þq¶ÜP8Þ<9——×>„šý·™ŠÈ²J¡“†ã;bkúd³7Ñìó‹Ü¿|PE2Gä—¼qùų/è­úfï@Ö ŽÆb™‹üüƒ…uÎì´Èn/æED5IU M¿i%Ù× kKïn"§ÆÂøT¥é‡£žÒH*EµPа1¥®l¶ùW߯ß"®ù¶ù ±`F×B!—3®0=$Hõ°\¤Òlh† íß” 0]˜mZ&ˆ›·ˆG@r°‰t\}Ø$>Þ͘("Ëá509‹;`½jxèº3AÑ—»†:žEøý>ºyYèqu¶·Äü[Ì7ïøÂ[þ UòŒÌô«®ž–1;1É,¯bgÆ¢ÌÆê? B/¨±¨ ~ðÉÒl [Iš&µ/ͯ<Û²`[aKUžSÓ`ߺkGÑÑ š¢âhÑŽy°SZX³‘¥ØQ´÷`ƒFLÅN¢ÒèV_P²í`ƒ<ºÖPV’³C 6ÀŠÕvuÕ W"ri”lßz 8„Š${hiTK ÞúúâÊ5;Y»#¶P©¾8ŸŒì‘ªº¶6œPFÀ©—犨¿´ré ¦X(2ZMŒKœ³Åël ¶w]=R[€Ðí1¹<„+ðéWó&vÿÖ^tÇ¥F, è!péòe³Ù¢!¶aÙ9áÄpÏ=ï·‰ÔRµ¹ˆÎ!+2=§oˤ Ÿv‹`ÚC&„™ŽÓ øïFêkIQŽþŒ˜ Œ(ÌYiK< ô×½%Ф¤ÉII)’“S¦NK÷Áªˆtco,ª?EÉrÅy^ž¡Õ#ˆm‚Ô&Ûyð·[ÅøÕ°oÒŠÊSu ¸K¡‘-ûÚ¡¤Œ#¡h‰H•¼}D••† ®Š£•<¾\ V^DLÃÙJRÝ`MèÒšy¥ †šœ-­„!MÎ";ÍÍ«ÖÈUrÄ•‰®WŽ2óe¡– jQr)'¢{^Q,8¡ŽGãUúÙæ‚µ´Û¤…„Ìpm0hHÌZt$Öí`†ᆥ!‹³ d!EÜÀ€{qÎìYš•~[ؾƒNo¢Œ¬½ ›sR1¤å8-”çš”Ù]¡H.ÔHšˆ¢Ï ”=¥AbÙ4¥QZLXÒn2Óß¼ì°9åëi?˜¡Ê©jmw“é_ –ÌÏ,ê? ?d?IzQΨ‹×¾·°:CÈœ5“ü:éÞâ ·`a»+WZÛÚœ­-ÍMGCmÀïc `o,ª?Å`àüGÿ¯ xˆ¢ v½MB¯Sð^<°Ó$x[çÎMn?s\˾Õ_Ÿ¸¦ÈÛGŒ/­D Dy}r‹ …þ ¢ç© JÞˆn³/j ¥v¨ $Ê ¢éÆ«ÖÈ¥«®%j¨!CyÝbÁ黥_­.éa¥jf³Ô•Iye‚ÁDX2‘¬š¬¢`L6⎠7$0Âb>a³óͧ¿-l–½-l@]™ö™ªŠÈÄóë G 5ïXÓ˜´´ƒ¤ùñE:¨l³ÍÛs%(ðn°û“MGi%›L±×(M)–ÎÁWÍ©g“Ì`²k •ŒJÐa‘þÀBÍ …ÀÄöÙ&á0›¤/YeºEø!×jzžq¸_œá«wè*½[ôVWGKëeGKã…çyØéhuººÀF¥½­ûg©ý‹Š€»–(*ÿÁã< ¶XÉÕf¯XzÎhØ·Èoáþ U±0fºM5 EÇüÊî$Q º`° 0R5Tytç@ä))¼.¦©öì=*&’Ѫ\Úb™…Tõ‚½©”~r‰âÀ^W v<8¬–Xpär¢ñ*ý‚×Fµ¶P u´“ B$sASWà ÇÐÙßjçÊþ žë…Ô„*Í-…¤(¯¯4–%”+ÂC¨=,LŠ'£xdþ>l¤%´¡èf‡5ÃÒJÔ¤•æ§Äa‡JúGQιk°›‚@ôV;˜µë›/Õ776€ä‚Ã>ô@•¬¶¿ý÷ÿ"ŠÊ×!¸©ÒûV ÇíW.Ÿ;]÷Þ±¿+ðUÌIªäƒ|Ìr¹‘¡Ãš¡p,)8@'/QÁU$ìbº¶¼}dþ÷mÎE}‘P*0ìU.eÃjl££–‚F®èêè”2(û¶ý5Ñ=PJ ó¸À¬¦êô¶š:ú™·¯ŒšÞRãcºpCH $€À¸$0&ôsÐ…P@§x? $€À¸!0&ôÖ@í[ÕŸŸzõùíï?·âø³¹¯üvÛ¯½ðÅ™j°ÿ›«‚AH $€Æ1¡·tÚ·œŽ²W÷V•äÎoÝõÍë<_Y¾bñÌž”–ÃMo=Ðö—[?<0÷Øþü?þÙP/¸QU{Qtqñ*gÐ 0xFô/oð ˆÍGH ¡úß4Ë:îzçІ%³ÝÓS³mIÓ»Û'Î_“VfæüŒŒ´`Àãö¹:ÚÛ—|wîá«7¬m ¶ àíFeg`ù£Rk–¯Â‡Ø¶±ùßúËÉÞé© &ÁtUVä('¿ÁŸ,§h½ënœŒþ·Æöõ4@ë"üoYg¢O½|Â"žá[¿w Ðá!4<Ø !7fE†$ðÃÛçk¶»ß§ÚÿÖ¨é­ÇŸ}¼vEw V|ÍË‹æf\kIœ^WûVww[j’”ž~MjêL¯ÏÝãu¹Ú/¶w¶üÒ•NëOñÕvUQo Œ×0¦ŽÐ[àîôXþ)l[žmE½5Œ×`‚zKÿGÁúYaÊñA âù îÔ€ôÖhŽ'ƒQäöƒA¿§×ëòH¢ÕfK6\®NGr‚{á’MÉ©Ù>ÑÚÜr®Ùù©Ç×–`“,X¶K«²Ò"ÛèH!é;({ ¥K5ÜVXJWªaËì”…¥Yx ¼—/ˆK²,|=A®[`•LH0âc7$€@cžÀhê-¿ßG7/ =®ÎögLbfë¤IS-ÖIYYKl )½® 5ÍÎz\N‹Y‚õÙty­Ió;Ôìbîtê J¶Q¥SZX³‘Æ”ï(Ú 1dõÀüüâzI:öÐÒ¨³P,gH €e5×nBiÈJÙ¬}Ô2€ÅÇüM4Ì ¬»|îMŸ:|Zæ:±x$€@ñ$@ôÖh™À¸•”49))BrrÊÔié>ŸzÅÞXTŠ¢E°$€Å#=}yvöjXîÚb±šL Ħ+ëy Ë`Gl g+²>4]ÃŒX5Doå?”GÓÙ—rm¤ÎqJc`éëü¢£Ñ—@•&t²ïZâyÇaYŠ?ˆ%ó¢ì[‹¬A“ Œ[èË=I`—@HÀðFÓ¾ ¯\imks¶¶4679 µ?ŸzÅÞXT~Ñï }€>A«Q,[ °£í‚®·ŽÞ+ÜPSª7)¦ ûÖY´o Œ!¦FH Ñ%0šz««£¥õ²£¥ñB‹ó<ìt´:]]±pø‚’Ïç <Á xi&~` ú| ~?‘\ö-û¢œÒÂý&©¨ª˜é+zS•ÐPVRºcc¤‘“8„eKKÊ´ó‡—«–ѽÆpíšö­1Ü^lÐGà½_¦Í^ a÷{úÒ«S9Jî¾·ÄÑo>Éú- $0d£©·ÚÁ¬ÕXß|©¾¹±$ö¡·ü ¸$°~eË záSý ¹ÜnÁë%z ÄL®¦­Œb’·ÌºâÓÝÙŒy-Qµu×2ìÈæË‡o¡È<®}ytº/r[M‘ÌÛWžCæÛ³QËXÆ.ׂóåû»wÿ[u£æo XEÁ*˜lfÍ÷#ú+Ï#a#p7•P:„ÔG»¿U÷ÌÉšÖ“OUýZ‡r¶cÁH Œ QÓ[+—Í{é¤ûOu‰¯7¤k˜¡ôüÔ£ç&C¼fÏV<ûfuÊÙú³½î.³´ˆ-^—è-¯_hØ'¯|ùÞÇÿª©¥Ž)Éàa˾õ|²tªý¼}$ѱ}û4ÎB2^¨-žE„Ò³üt¾³¨ŸZp¾ü@nðÕ‹mn^dûÊ" „ëìÖ䯴H` ¬yêtSM+Rߊm»r\¨–,È„ì‚?¼\ÿâ†Àø&0jzkó­9à+:@¼&ñW~mÓ÷_\|÷é:Û£§êg´¶µˆ¢fqe«×?E¸êé‚Ç«s×ß3ŠW«Bv!aZ#nC# øƒÀl f,fø€WQÉèbht1÷ð!¥Ø®`\½ ‘QÀvßøD¹ðÜf #ƒtàïОpÃXd.APbHvÕ¦Œ’¿|—œ¹tè^¶#œè»Ø˜U³¦â†@|ŒšÞ\óSRS×Þþ½ ¿9ë§>ó>RÝhwÏúAî#g6Ý÷XbbâàÊŒW.ż%I¨¶âËAF&=oYù¹ D]ÛÎ^ùGvÂèáM{N>µ†YÂ`‡u±ü‰3ë¨aìì'#ŒÑ¹ˆJ[öGn<ã¹X^^‘àx»tÙƒÂq2!ìÒa!,è¿Øè4FfŽmGc•€Áô–‚1{žý®ï>qÿ“U[=––>Vñb»˜ðÈСlÊ»Q`ZÛš§ W3ñ´h©è\£¤‰,à¦õÖÕ;„ g–¬`aÕ‘ì×Ì#Ôý†´¡àMÅ÷ã0ç„¿y@ Uo1ÌAnã’€â z®¶ À>0¤Èúß—}¼uŠ($jdR&u+×c·èìç@rÍ[,œq|t¼zá¼ìU›«+Þuœ[¶î&ízR¬Î–b2$€ú%`l½Åtá†{èðß#Ùd°ï‰â:}ˆÎEbJOÐ9U0n6 R·æ ¿þ¯ª;Ve ss!,Ö´Nél ™†ó·ÆÞ=…-22cë­Ú·ª??õêóÛßnÅñgs_ùí¶7^{á‹3ÕÔo*ncŽ€â‚L“‡›$“(š`EEBP@cî‚aƒò'®çSãÿkñÉš=dˆÌÖ‚w¹Ÿ=~³HAѹnÚóÇ%Ûo$åüøÌ’°ù[<{žP.l¾u.Ùµ û«æj®1xu‘*“y:1#yêªô®–Ž‹¿ñk–gôᎪ^Ê ¼nOOHNY¸Žªººº–V×â…3$sB‡t]`ÚêMßþi_8a9êmÂÅ‘ÄPÉcþ˜:ڧϘ󗓽ÓSà]DX²Z ’? ‚°G^V¼A¬%Ë&Ñ»îÆÉ/¼þÙw7\±„»mRš$zY¡¦Tfô›ï›á qóXg¢Þ<àZ9ÒÇÛE§3+3s8šaˆ2ñdˆË„Œ#ˆçƒºä~ŸißÉzZ„óï§ñì[GÞ®|üÙ×£Äkò}çÐËç[¾šQ¹lñŠ ˜R[s´¬ìPmí©ŒŒ™ë¾~Cö¼Ì´Y‰i¶÷üu?ãåÁ¢@H $ 0žÞú ê‚¦ã.ˆ×¼®iÖÚ$Û4¿dýøô‘+ßèímÏYþåÕ«ÖÍ™“Õë´·]n¼x¡»ÓEŒ'¸%èk,] l @H ‰€ñôtÜʃ§S°vìƒ~O¯+I´Úlɦ€ËÕéHNp/\²)95Û'Z›[Î5;?õøÚl’ÅBÝijl!'¦;ËÈé2Ù©éÎ rcŒQ멲@šP –7$€@H`Â0¤Þòû}tóÂå‚ÏWg{‹3æ¥3['Mšj±NÊÊZbKHéu]èì¨iv~ÐãrZÌ0 ›x€MkÒ_ÇÓt»\­nw”Ó®aE mÖ»ëa«¶ˆ òêCev”Õ©ó‹ëÛÔsê#²,¨Ù…®çuÜÄq™/kÊ3ÎöÕq&\œ/¯ÿ’Ã7HbL‰ÆÞ>_³#š/oH½õ“ûV‰ðÊZÐ?sffs“ÃÛëö¸»þµ ôV4‘O~w͵׬™å÷÷úýn¯× º{zZ]®f°|DlùýBG§õž_ PoºZPRPO_YdÒ õV<¾[Lo}qÑû…Ãk²Ðå ¼žÂ®_²À ¬kæ[—d%{·æ¶[–êüÉD½K4ÞÊÐyó°n÷û„ot°?H Ä ÐïÓÀØï'B¯»:ZZ/;ZÉyØéhuºº:bݾ äó¹À¸ B€·»aâW6fÖbb T—=]Þ¾¶@ ƒ„}lùkAlÜ*+)…"²Øå”òH‚óð®ÕGà·¯Ÿ½*+1Õ”oÜ”ºþ¦%À!„ÛoN¾cUÊæ[RAlýáíK+¯™¢¯TL…@H`„ ðyK†œ¿ÕÞÒØÜXß|©þDéï[œçá°½åÁ%áÊ'о`\1ÁŽ$—Û-x½DoØ’@lM[uì[À¬+>!žÍ—Ûì[wå. ç·Õää“sáY*òö‘y[$™Ç…ËXë¾Éïú‡Ùû_­{êpåO_øü__¨Œ»WõóÃUûœûÚ—fê."$€ÆO?[š®V.›·ùÖœhŠ'?xËùÙóY–÷Ó¦§ØÌ^o ,vw_¹xÉeeø$¡K´g­~:wý=£s°Ö(0žh³&’AD³™«]³ö“"Ø«¤ì Ëz¥£Æu áx"ÞqÑtÞ<,c¿#H B ß§OlÞܭƳo¨Òô¿¥)¶à’߸òk›¾ÿââ»O×Ù=U?£µ­E=àK,[½þ)ÂUO<^bk‚|7°›H $€F…€ñì[jLì=Äs\høè­C½ /IÓsoûöÏÒÒÒ”´od¬BMí[úï|?Q?+L9n íýDnß2¶Þ7×;¢&€z ï‡&€zK?p‘×Ï SŽC^?Ѱã‰ö­ñq9±H $€À8&`¼ù[ê‹1ÐÁÄq|!±kH $€À˜%`l½ó·D¶úóS¯>¿ýýçV6÷•ßn{ãµ¾8S ¾ ˆ!&FH $€JÀØzK§}ËÙè({uoUIîüÖ]ß¼Îó•å+ÏìIi9ÜôÖm¹õÃsíÏÿóáŸõÃ<ÈßFÖLÄ $€@"`<½þ·` Åèñš=çÐËç[¾šQ¹lñŠ ˜R[s´¬ìPmí©ŒŒ™ë¾~Cö¼Ì´Y‰i¶÷üu?8LŒŽ’»ï-q¨‹ŽŽÑYñ 3ê,“!$ ›€ñô8;Õô¿¥é8¤Yk“lÓü’õãÓG>®|£··=gù—W¯Z7gNV¯?ÐÞv¹ñâ…îN—Œ^ÐG7ELˆè“€JB]:toá¡÷¢DdGy„w¿Œ§·àZƒ°" àaöaájO¯+Ö5’D«Í–l ¸\Žä÷Â%›’S³}¢µ¹å\³óS¯-Á&Y,ÌiyôV±“;87±õ|ÊäãäÆåót¬‘Ž9$ivVý;éyzÀvÆï­„=CH 6ÍBé f³r¼DÈÏ]]ð‡— ²#ÒgkE"U$€ÆCê-¿ßG7/\øìqu¶·8c^³uÒ¤©뤬¬%¶„”^×…ÎŽšfç=.§Å,Á’0’D²²Ïð DÒ¡æÓ“mßZA(-¬ÙHÊwí%úʾõ?]žÃ¦æièZ‰¥•KÐÄk¶ l‡æÂ ‰F ÷áÈÛ—¨Þ:'ܱ*[6e9^*L›½”C Ù·ÎßK#gR,B–8:ž A’¿|—TV4¶#œØÃ²,Ýý=Ž(„VzH#MxÕí‚a‘@¼ Roe+)irRR ÐHNN™:-Ýçó02ìEõ§(ZK‚$‰éé˳³W‹¢`±XM¦bÓ"¦2 >rk(+ŠÊSEçˇö¥tuj•kM‘Py¶b”4d¿`­DÙÒ|e'Þ×ËCHÀ²íKÊϽõîÏ-³Ïåmv”üøGKŽ4Õ´6Õ¹æÜ¥'åu‹÷‘ÈÓÿ.lß©Ìåúh÷ç¶ÓÄ­'ó„â!{Þ²r’Ýñvé²…ãDW]:#,œÿ–?qfÍòÇöÿŠÒ*$2!ˆb#‘€ÁRoƒÁ+WZÛÚˆM«¹Éáh¨ ø} <{cQýøE¿+ô^ø­F@H °@l$ÀŽ–}«¿k ö¯%õÔÂU_ÌX™ð<@‘À꼇þ³â]áR}õëWË@' Ïm¦©[v?v‹ÂeM~.k̾5 Rds\¨"‰©±êÆ'Ê•xrî¦õÖÕ;„ g–¬`aÕ‘Ä×Ì#e¬yªU—½pM¬B"ÒÄh*¾?r¼s"^7ì3ˆCê­®Ž–ÖËŽ–Fò‚ŽV§««#_Pòù\€'„à“$˜ø‚-ëU³à÷É¥aß²¯-ø aLÜÌpv®²’Òx], qH€J¢÷Þ?rM^HW 7í!öª¼ãDEñ῾º¾æ©Ó̾E‚JŸ ¼ÅÂÇGÇ«ÎË^µ¹ºâ]ǹeënÒ.*v!ã:v Œ†Ô[í-ÍõÍ—êO”þ¾ÅyûÐ[~\X¿À²å ½ð)Š~\n·àõ½bK‚ÁÄi+£.Š}ëâÊ5|B<›/¶Ù·îÊ)\@Ïo«ÉAûÖ˜¹«±!H`,¸eÝ’íßz"L9Jv¿ƒŒ ºÊžYC TŒ–?(ë32høD1›ƒµ%LøõUÁÌ0a.Ì;þ†°XÓ:Õg!¡RÉ/œ¿5ï"l“q Oo­\6肋î?Õ%¾Þz¬a „ÒóSž› ñš—!aųoV§œ­?Ûëî2›A{Øáðx‰Þòú…ö€}òÊ—ï}ü¯ÙCóá¥}[·;¶ÕÎA<ÝÏÛǧËÛ·ÄÈñê4JâÐŽqïl9@ƒ&CŠ‚j0ÊÉž'üh-̾öÈ{BãwåO\OÇ ¯ÿSþéÝŠ™ê¦='ŸªúŸüNæ×«[E• ›o%3òíÂþê…lD2jë³Aw 3"$ÐêÁ$džNÌHžº*½«¥ãâoüšéÇÁ‚ð®îîO”xÏN<•šbíîv5œ÷–) K²þ®GñV;:ÚmÖDršÍܺh¶Àž`²@sÝÁΰ6_éhž>cNÄî–Ä‚è“D¯ŸRÈÛÇ8¸™ÇΕ7-Ñyó°þ^t:³23ÇMßÚü ”¦7:ˆçƒº;ý> Ò¾“)ô´ ç߆OãÙ·Ô]Õ¿~bJjêÚÛ¿·áá7g}ãÔgÞGªíîY?È}ä̦ûC±eô/¶ $€À'`l½¥sýDõ5Èžg¿ë»OÜÿdÕ–G¤¥¥ñ˃ÍCH $€Æcë-ýö­qp©° H $€€A [o ¾eÐë„ÍFH $€ŒKÀØóåÁ¾5 ÉUýù©Ú~7[*ïöOë6/›’yó‚«o^tÕReæµq/äxj9ΗOWÓ}Áùòú/̗ןS"ñAà‡·Ï×ìÈ€æËé¼ÎFGÕG/e^·§'$§, ÜGU]]]K«kñÂ’9¡Cº.0mõ¦oÿTg˜lX  ÞV¼Xx4Ô[xW $0Ò[ÆO<òvåãϾ ^Ö;‡6X>ßòÕŒÊe‹WŔښ£ee‡jkOedÌ\÷õ²çe¦ÍJL³½ç¯ûù XBXDè6\ôzÀc•H $€MÀxz냪 ¿øÁ†èñšÒ¬µI¶i~Éúñé#W¾ÑÛÛž³üË«W­›3'«×ho»ÜxñBw§KF/X=hª˜ $€@!ÆÓ[ÐvðËNC€yW° ú=½®XWU­6[²)àru:’Ü —lJNÍö‰Öæ–sÍÎO=¾¶›d±0'šÑ[ÅNîpÓ´³VI{\í-ΘÄÍÖI“¦Z¬“²²–ØRz]:;jšô¸œ³.Ê%‰deŸáè5B9_±g_^ÅÎ…9ô°–Ud©´réI*ßQ´f›ÀvöÒÁ>9I5óÖl”Ó\¦f«­¾ d+'" YÒ1?¿¸^’”µ…Œr«a;‘€aˆAI Š,ÿ4L›±¡H ŒmÆ›/3·þuË?Lžø×&Ð[Ñp?ùÝ5×^³d–ßßë÷»½^W0èîéiu¹šÁ¦±å÷ Ö{~1ÚzK-ïÔ õ®Ÿ¯Ç–£Eõ–þû×OÔÏ SŽzýĮޖÖËŽ–F2Av:Z®®ŽX×Õ”|>·‚A°t1Lü ÂÆÌZLl꣧ËÛ×…û+ä‚í‹rJùaCYIéŽyzn¥Š£EùkótäU•ßOÁ¥5 zªÆ4H $€ÀØ `Èù[í-ÍõÍ—êO”þ¾ÅyûÐ[~\®|¢è ½ð)Š~\n·àõ½bK±5meÔ!“¥*×(3äóö‘y[äÌãÚ×§Ü¢SÚÉÀȈ¤ž¼¡4$c¬ùðö­»`JΗßl@H =Œ7 üliº~X¹lÞæ[s¢û|òƒ·œŸ=Ÿey?mzŠ-ÁìõöÀÀbw÷•‹—\³”„.ÑžµúéÜõ÷èá¥+MÄÄ/]y0QˆÎß»a„ àx¢~à8ž¨Ÿ¦&îx"ˆ*Mÿ[šb .ö+¿¶éû/.¾ûtíÑSõ3ZÛZDѾ$À²ÕëŸ"\õtÁãÕñ[ããþÂ^ $€@ñ#`ÈñD¥ûð¢N)©©koÿÞ†‡ßœõSŸy©n´»gý ÷‘3›î{,11Qg!z“Ù·Co zaa:$0± 8Jî¾·Ä¡fMHOÈ¥3ÙľØ{$0¼LÜÝ”±õÖ€«f@³çÙïúî÷?YµåÑiiéÃKKGH`"¸{öÒ´P(<&£&ì+@QŒ­·ôÛ·ðÒ#$€†Àš§N7Õ´òP|ö°Wˆ $`ÆÖ[ƒ°oåÂ`;‘0<:œwh7zí~tÈñR¡lS `çŠïeiÂMb[Ëäx%æÆ'ÊÕt”qC’à—ï’S—ÝËv„á ƒŒêbµIÓ }Îð7 v`L0¶Þ¨}«úóS¯>¿ýýçV6÷•ßn{ãµ¾8S Ë猩K‚AHÀ¨ÊŸ¸^Od³²ÊŸ8³ŽZ¼þøÀþ_“˜ìûйìK¶?÷éiyÝâ}$Íé¶ïTær}´ûÆsÛ™©ìdþ1O,û#‹yjšQö¼eåçÀ!¡ãíÒe lj°»tFX8O£ÑÅj4Ò¨ü±ÝH` 0¶ÞÒißr6:Ê^Ý[U’;¿u×7¯ó|eùŠÅ3{RZ7½õ@Û_nýðÀÜcûóÿ|øgcø2aÓ0õxâËd8qÍS…«i˳r…¤˜—¾õœP}h²5ù¹tä1ûÖü5T6‘Íq¡Jxn3So`Í‚xˆQJ‹„qÓúëêÂ…3KÖ?°°êHökæi4 ºXÍFfü¡ ÇCpËaCÀxz üoÁ’>Ñâ5±¿shƒåó-_ͨ\¶xEPL©­9ZVv¨¶öTFÆÌu_¿!{^fÚ¬Ä4Û{þºŸçªaK‘0&[7–n>©e£ŠîPØl°Çné³Çó g¯^8/{ÕæêŠwç–­»I;Ç@Š5&el5‹Œ§·ÀÙ©¦ÿ-M'¨€<ÍZ›d›æ—¬Ÿ>òqå½½í9Ë¿¼zÕº9s²zýö¶Ë/twº„`ô‚>cñ‚a›06Ùšcas°èh`ùƒy\W‘!Â'Šé”/¾‘˜ÒôÇè¼`~ý_Uw¬ÊææÞ!CX¬9[?ºXMš8ËØ7¶~,0žÞŠÁ ¬H,{û°pµ§×‹®$Zm¶dSÀåêt$'¸.Ù”œší­Í-皟z|m 6Éb“f;ùr>¦‚Žã•Õ} 9Þvð IANªÎÆZ‹g,ÞØ&$€âF@=Ks¾yvÁökø¯ŸYÂGå\×ÿ)ÿônÅ(uÓž“OU}Kv0AfƒÝ´¦|ÝHbByUjL(6ß:"²íÂþê…lŒ2j‹.6n½Ç‚胀ñÖó‘ÄÝßÉ£]’’’RÜn—ß×ëêìøcgÀîÝÕê——_³ø«°ducãߺºgÏÎéííp»›]®"³`aEºjuk»õ®§`™EõzjAÍ.I^)´¬†Hù‰‡ÎÞFVRd àìÑl×óÚw×ó?Ì=`¸ž~d¸ž~V˜r|êz>î¡á¡§Õö-°l%%M±×299eê´tŸÏî+{cQý)ŠÁ’ IbzúòììÕ¢(X,V“)‰­`ˆÜÊJ„⇘´#*êle>?´¯-È/:Z‘r 9+e¤ÙrÖ¥¥5 ããFÃ^ $€@C&`H½ ¯\imksB÷››Ž†Ú€Ÿ›¦Ø‹êÏ@À/ú]Á /ðÂ'h5ê²5 G“IDATBb+ vâà"¿¸Šæ›lòÂ@H £0¤Þêêhi½ìhi$ïMÃNG«ÓÕÕëJø‚ &ž`‚O’`â¶ F„à÷É¥aß+–P¸ŸX±èf_”SÊÁòUºccžºJÕY£ßØ~$€@H ¾ ©·Ú[›ë›/ÕŸ(ý}‹ó<ö¡·ü ¸$°~eË záSý ¹ÜnÁë%z Ä–ƒ‰ÓVF‘µo=P\ÉÇaJ|Þ¾z~HfmE°BgÉ"Θï}Š¥!$€02ãÍ—?[š®V.›·ùÖœèkqòƒ·œŸ=Ÿey?mzŠ-Áìõöøý½ÝÝW.^rYÌBPºD{Öê§s×ßcäë8®ÚŽóåÇÕå4Bgp¾¼þ«óåõ'Æ”H`|øáíó5;rÑéÌÊÌì£ißÉäùòÆÓ[ƒ»x®îîO”xÏN<•šbíîv5œ÷–) K²þ®GW,樷†ƒ*–ÙÔ[x{ $0Ò[†OT è_?1%5uííßÛð𛳾qê3ï#Õv÷¬ä>rfÓ}¡ØÄM†Y@H ýŒ­·t®Ÿ¨Æ‘=Ï~×wŸ¸ÿɪ-HKK×O S"$€@H`pŒ­·ôÛ·Gs!$€@H`茭·aß:2, $€@úÀrdÅ@cë­Ú·ª??õêóÛßnÅñgs_ùí¶7^{á‹3ÕÔý)n㎀”Ä (7à¸ëvht h/¶:ºmÂÚ‘y¦< Œ­·tÚ·œŽ²W÷V•äÎoÝõÍë<_Y¾bñÌž”–ÃMo=Ðö—[?<0÷Øþü?þY_—Š.MÝ"VüÈ_v¬ !OØÆ¦æ© +AH`ìp6·1ÕÎÍØzK}ëC,ŸoùjFå²Å+‚bJmÍѲ²Cµµ§22f®ûú Ùó2Óf%¦ÙÞó×ý\'2L†ÀD&07#&76µNdØw$0Á 8›[axèç0þýoÕ¼¼hnƵ–Äéuµouw·¥&Iééפ¦ÎôúÜ=^—«ýb{g{À/]é´Þù_„Qر¶ ŽmµGœ‹¯ÿ `Ê(ññ¿e›*ÁZ’Wá²Z•JÀ[㓬GêH@M`@þ·XÆ‹Î˰ +bDH`B€ed¤¹}y:eX¨¿ÓV¡á¡§ÅØz ì[ý)V¿tõ‚ù7H¢ÿï§^Iš$,¾æž ,\-úšœ÷ô\6›$XÏöië°ÞùoQz äÔ‚ÂR† –£½Š¡Çè°š¡¨ˆ$Rbde¦¨±èr&䪳Ө·t‚Âdñ"0½¯ª±$€Æ1µÞ2öxb¿b‹\E³uÒ¤©뤬¬%¶„”^×…ÎŽšfç=.§Å,ÁT 6]^kÒ|ÅN²P"̧—¤úâ|’ bjvÑ©¾ dÑUZ¹ôK"²˜È-ºœq|wa×@H HÆÖ[lþVߟ¢h, ’$¦§/ÏÎ^-Š‚Åb5™,Â"äâ#·†³•ùÅå©¢!F(â XƒÝ«´†¨«ü‚µv’ƾ¶ ŸÅDlÑåà}ˆ@H L$ÆÖ[̾Õ÷g àý.˜×€aÄ OÔ„ Ä &B€½N!`ÌٷȶO-ÆbÞ6 5|Dr"ÝXØW$€@H@!`l½¥çýD_Pòù\€'„à“¤¼[›Ï'°à÷É¥aß²/Ê)-)£«†²¢™HLáþ íû‡¤Ù±‘(0ÙÊÅsåmÜ!—ƒw@H $0 [o陿åÁ%ÁDx°lù‚A/|Š¢$—ÛM¦ÉƒÞ±%Á`â´•Q—?o_yNáx Ásâéü­¼}õÅ•|@Ñdb¹JYÓ‚’‚z0xÙ·“„rÉ嘔Ù÷ð^Ã.#$€˜¨Œ­·ôØ·V<ûfuÊÙú³½î.³´ˆ-^—è-¯_hØ'¯|ùÞÇÿªqäíc‡Çöí;ÆœAØ·S†!&â¡Ä…rÉåHå;„œE¤Ü˜˜šÄ»w‹Ží»thw0­x½Wè飞4#JI_eŸˆi[ÄCMúc*$ "`l½¥Ç¾uãʯmúþ‹‹ï>]g{ôTýŒÖ¶QôÀ,.°lõú§W=]ðxuîú{†õ®¨ØI-`°­ÊõMúÖö`áH 0!5H=AµÑ–°pw©>©£FG©´=ÛÜZ8GØ1á ²Sƒ‚Q=Ü §X¼p©Ôä»ÅÁ4P´}4u(½XanÝ!lÿÏṼˆ™Æcë-=ö-<%5uííßÛð𛳾qê3ï#Õv÷¬ä>rfÓ}%&&÷EQÌ[z§Øwƒ°|$€Æ(Óý{,­/ZZ‹LkšNÃ΋–?äE*IŇ…g6 ¥©Ùæ?ì1gºÂh8›a¡é!‡ÄmNMâ3øÃv8·¦g©ø“á¬ËŒ­·ôØ·"®Zö<û]ß}âþ'«¶w›‹Ì÷ƒ‚)AE–FÙXbnLÑ^ÄCØzÑT¿[¤å„eážø±`"2šžÔx™T÷ Ûùá´Ú^-ù›‰ŒoЖ1Õ5¥.E“…xªK‹(YZýR ¿õ´@É]@_†µ^©íôê¼[, …ô2)|hÁÎ1{ocƇÀ`Öó™pö­áA¥"$0Àï«Ùl¥Þyy!U Òff=õpN¸ pbf'ØV˜„ú>¦`k2Ûü«o ›·ˆGV™ˆØÒ³±3„5ÊŽ¢lX ‹$Á!‘¹üФÒ» 0þ&=ô­±È…¦B&­ 4ÚÍ#‚ÓGK #JF^ul> šgÌÂMës¥Í;¤ewp¸S±®±¾G·p¶i¹‚"и…‰-ÖkŠnê;÷' ³Ù6Pml½¥þûVT~êÕç·¿ÿÜŠãÏæ¾òÛmo¼öÂgª©ûSÜ@º\º|Ùl¶Ì™¦+u„hˆ0bé-"\yÈ…d÷¿Z®Ž ¸ÝKž4Æsùrüéø Óz¦«†oS‹ªAó1´ ¦m °µÑ}¿,„Y(I¯M{È,:Óq:Þ ª‹l,Û4Šó؆ïj`É: dÎJ³Xài 3=$#z+N)õW·”:ço9e¯î­*Éߺë›×y¾²|Åâ™=)-‡›Þz í/·~x`î±ýù>ü³ø4 –¦f~¹”-:&>5a)H ŒømÎìYz+ëȹþæV+S¬bª]ˆ´›ŽB.;,O‡ìjû- 4Yùû!KŒv ²¥Íq:¤6@¾T‰Uß6…rÆnáfÍ)är{xɤ# jÉSÅôÇG'k˜Ë¯_®) "ú†=¹…¼Ú&q7y?T—ù™…Ü ép k²t6 “[™³fÂdG]Ý£fãÙ·Ž¼]ùø³¯Gˆ×ìö;‡6X>ßòÕŒÊe‹WŔښ£ee‡jkOedÌ\÷õ²çe¦ÍJL³½ç¯û¹.j˜ ‰N@ß–S2í)á"ûwP{Þ¢sÛé(žp¤Ÿ—þ¢ !ÓØ…0¼eÚ³‹vP»ËlóvS‹˜/- ".äÊæ-ùñE:8È¶Ù¦Í M›¯×ù÷¸éþCÝÜÍæËóOÒG¹dÖÚð˜X|†~›)„»ïš ê´)ªï¡’ñ_ÊA8ÌÞ'P†n¥ïKË2u’z7°„±K`@Ãcd¾ü¤Œä)«Ò»Z:.þƯ٭ÿxíü“¬#=¥õ‹lˆnL¬øš—Í͸֒8½®ö­îî¶Ô$)=ýšÔÔ™^Ÿ»Çërµ_lïlø¥+Ö;Ÿ7ôCÞÀšµM8Àœ£²-:fÈ•Œïp¾üø¾¾c°wš/“6Øìø!mšS¶‡TbÌÌ0eþú‹tü€6>~€Ó¡TÅO>)>ÔX$3Æ/Ü6¯ß§AÚw2w«Pÿ6|Ͼ$Á;<8,…oÀ~0è÷ôºb–D«Í–l ¸\Žä÷Â%›’S³}¢µ¹å\³óS¯-Á&Y,1FUA*qG¥tŒŽ ”—î¬àjJvfªŒ#ÖìçÙÂG#JÁ{«BH`ÂÈÎ7=ãê_žÌ”èÜóq˜¸KUìŽÑ"•¾Lú̃X†Ž‹«<*0¤Þòû}tó2øìqu¶·Ä~×l4iªÅ:)+k‰-!¥×u¡³£¦ÙùAËi1K&“ÀìZVÁŠ jv±Õ{ê J¶ñÕk6Ò˜òE{ILhEX$‘­e]Z¹ôÍT,²\dÓ*mT®9VŠÀ¨Qǡԇêí[·ÊÎFÕÈ6:N^/%!ÜCkø—‘zßÀ €!õX¶’’&'%¥@g““S¦NK÷ù<¬ãìEõ§(ZK‚$‰éé˳³W‹¢`±XM¦bÓ"¦2 >rk8[)ñÅ©aéÒ¢œò‹Ê£ íKé ÖÔèÅ×ê)*ÏÒ4kí4ÉÚ‚|–‹$Ó*m€W “#$€@F$`H½ ¯\imk#6­æ&‡£¡6àçS¯Ø‹êÏ@À/ú]Á /ðÂ'h5êBb+ v´g½å×+«SKZ ‚ØZPRÀÕsëFè·4#ÞAØf$€@H ?†Ô[]-­—-Äq ìt´:]]±zê J>Ÿ+ðƒ|’¿@°a½jü~"¹4ì[öE9¥|„°/Œ²5«¡¬¤4<‰Ù±1Eê,­¿ †ç‘@H Ã0¤Þjoiln¬o¾T¢ô÷-Îóp؇Þòƒà’Àú–-_0è…OQôƒär»¯—è-[ &N[uñòöÕWòE“)«WQ[wå. ã‰Ûjr¸}«”ÇËWÈ(¦£4ÃÝ>Ø`$€@H@ãùƒ?[T…–ÄPú¸rټͷæDwùäo9?{>Ëò~Úô[‚Ùëíñû{»»¯\¼ä²˜… $t‰ö¬ÕO箿G.L2ÐÄHPÆ:TFÁòGHÀøƹ?Uà+:hŠ-¸š7®üڦ￸øîÓu¶GOÕÏhmkEÌâËV¯ŠpÕÓW£Ø2þm=@H $0v r¯öJEÇñvaã‰&KŠ$ú%É Ÿf³-¢1}Œ ÀR#Ür¬  ðÃÛçkÖ2 ñDcë-°oé\²z®V/¨·âEËÑI Žzkì,}¦³ï˜ ¾ D<Ô‰¤·Œ=žˆb ¿'H $€€ðÇ<,¨'%KÓÖÖ¨?q¿)­·ôÏßb ª??õêóÛßnÅñgs_ùí¶7^{á‹3ÕÔý)nH $€À8'`±Ø<žž®®ÖŽŽË §Z[/¶´8šš \¾\Áé_oB¤ÄÄäÄÄ$ú™œ”” +B˜4iò¤IÉðÙÝMô¤Œc#Œ§·ÀÿÖãϾ ^“Ë;‡6X>ßòÕŒÊe‹WŔښ£ee‡jkOedÌ\÷õ²çe¦ÍJL³½ç¯ûy±bQH $€À$ Â23¢²V¬ï+,Ë1$^i³×o½% FPg§šþ·4 µ4km’mš_²~|úÈÇ•oôö¶ç,ÿòêUëæÌÉêõÚÛ.7^¼ÐÝé‚Ñ VÁû›„@H žÑVÄç ¬=êŠ ,ºÐ×aP4¬Ÿ~¿wðÕ(9AÀÑÒŒgß‚FS($؇éož^W,(’hµÙ’M—«Ó‘œà^¸dSrj¶O´6·œkv~êñµ%Ø$‹èjC„t­¾š1<¸“Gí¬ Y”4 ùú‰¡\åACiÁ;ÄÀg|‡•ÆOo­\6肋î?Õ%¾Þz¬a „ÒóSž› ñš— aųoV§œ­?Ûëî2›A{Øáðx‰Þòú…ö€}òÊ—ï}ü¯Ùí[)ã‰Ç¶Úá>Y:e?oKrlß>~6” ÕÖP¿˜ $€@ È¿êââÅ‹™´R¦s1±…㉜öæ[s4ýoA¼æõ¸qå×6}ÿÅÅwŸ®³=zª~Fk[‹(z`X¶zýS„«ž.x¼:wý=q¼–X@H $0f (¢*4C[5‰›FÆs¦<ã`<û–úúé_?1%5uííßÛð𛳾qê3ï#Õv÷¬ä>rfÓ}%&&ŽÙ{†@H Ä‘ókªø;•wà-:âUq=OkÔôÌ9ȶ[oé\?QÍ&{žý®ï>qÿ“U[=––>Hl˜ $€0 iÓfãxàI xô„ý@€L4¢R ^¨óO™2z–OsŒ±õ–~û–o l2@H $OGMjêŒ9s®ÊÌ\$‡…Ê>ÄCÈʺzÊ”´3gNÁ~ë6¶Þ„}+Žì°($€@HÀ@¦OŸ]SóáßÿþÆG{ï½?½ûî«QáÈûï¿öÉ'sçÆSl"cë­Ú·ª??õêóÛßnÅñgs_ùí¶7^{á‹3ÕÃáÖÌ@76 $€ÀD! ŠÙs®Zzõ9ËW]ÿ¥ÜnøúWn\÷•¯äß|óm7ß¼ªUV®Ì¿îºHJJ6Çsú–Áõ–Nû–³ÑQöêÞª’Üù­»¾yç+ËW,žÙ“Òr¸é­Úþrë‡æÛŸÿçÃ?›(wö $€YƳoy»òñg_¯‰îC,ŸoùjFå²Å+‚bJmÍѲ²Cµµ§22f®ûú Ùó2Óf%¦ÙÞó×ý<>äÞ¦í5>Åc)H $€€áOo}PuAÓÿÄkÒO³Ö&Ù¦ù%ëǧ|\ùFoo{Îò/¯^µnΜ¬^ ½írãÅ Ý.!'gjŸ¨†»°ÁH $€À00žÞôM`ú§ßÓëŠG­6[²)àru:’Ü —lJNÍö‰Öæ–sÍÎO=¾¶›d±Äð²Æ*¾œµYQÛÕÁºŠ¢b»ZS$Tžm€Â•¢XÅšÕMŒ/ö $€À°XlOOWWkGÇå¶¶ÆÖÖ‹--ަ¦—/×Cp:Ï]ºTçru@c¼^w›dH½Î_¯\imk#6­æ&‡£¡6à÷1(ìEõg àý®`Ðxá´užû‰Ò H€-ûQWõ¡Õ•b,>÷Pq%X¸@n¬µ+—†­b½ñ(D¤ƒŒ J XYÌšÕPS}õTÇ‹E!$€˜`|¾^0h%&&'&&ÑÏ䤤T°à@˜4iò¤IÉðÙÝMô¤Œ#Cê­®Ž–ÖËŽ–F2Av:Z®.‚Fsó%ŸÏx‚A>IbÞúƒ°^5 ~?‘\ö-°Q•Ò¡¿~6ûÚ‚Ê£;ÃåVÃÁdøTÈ+0gtãj¬¡¬„(-0‹•–”A¼²é­®¿æày$€@H ¶~¢bK!ó‰ÀÃcH¼’Ïëðz«½¥±¹±¾ùRý‰Òß·8ÏÃazË‚KëX¶`u$/|Š¢$—Û ¦B¢·@l‘…À§­Œº4yûê‹+ù€¢<¥]ëúÁU$ìÚjW‹'¡p v­[ó¶îÊáÇÛjrè@dÞ>˜ÈÅ“R[—ÞêðK„@H Ž[¬ZY¯š ,jˆá: áÇ>a]ÅÁU¡™Ëxö­•Ëæ½tÒý§ºÄ×R5LPz~êÑs“!^³‡ +ž}³:ålýÙ^w—Ù Ú ÄY–Òã%zËëÚöÉ+_¾÷ñ¿jdÍr—¤c[íj_û’<ÚÈãÙx"Ù Sòá¾}Ç"¢Êw9‹H¢ˆêâx±($€@H€J+fÍRÃ`äÀÏÀ¿Íxzkó­9šþ· ^Ë+¿¶éû/.¾ûtíÑSõ3ZÛZDѳ¸À²ÕëŸ"\õtÁãÕ¹ëï‰R½%÷¾­ÊcÌ Ó[¦‹"À¿QÔHŒx@H ¨iUSSÍb`ž7UZÂÙ³çàS‘bðûGhÆÓ[êÎë_?1%5uííßÛð𛳾qê3ï#Õv÷¬ä>rfÓ}%&&ƨþ¢B0Å6¦?3¦DH $€N€Ž$r±U[[ã]`û€&¶Ø'Û`^×À‹™ÃØzKçú‰êÞgϳßõÝ'î²jË£ÒÒÒ㈋BH $€Æ8f¾ºúꥬ_|ñ|ž;WÏ.\ÀfÿĽÆÖ[úí[q‡"$€@†# ¼™¸dÉÕjÉÅĖܦ·â©ºŒ­·aß2Ü FH $€âG€8€`¥)’ ö,°ËR,žÃˆJ³­·jߪþüÔ«Ïoÿ¹ÇŸÍ}å·ÛÞxí…/ÎT‡Ù0~·–„@H Ä€"ª@uAX¼x1½hÑBæ‚Fâxbmö-g££ìÕ½U%¹ó[w}ó:ÏW–¯X<³'¥åpÓ[´ýåÖÌ=¶?ÿχ¦}1åוU©ãvͱ $€@H`Ä (¢ŠI«E‹©-/4.þ&.ãÙ·Ž¼]ùø³¯Gˆ×¼dïÚ`ù|ËW3*—-^SjkŽ–•ª­=•‘1sÝ×oÈž—™6+1Íöž¿îçZÙ+v®©dkú Øc¬ás]â7$€@H`l`~M§òø˜'NP×ó´±Äâ¯Íxz냪 šþ· ^Jšµ6É6Í/Y?>}äãÊ7z{Ûs–yõªusædõúím—/^èît A-1KÖf®HqCH $€ O`Ú´Yà8‚Ïçà÷û`? ŽÐ©Góþ)SfB?âé.Êxz P"$Àh+ä÷ôºbÝ’hµÙ’M—«Ó‘œà^¸dSrj¶O´6·œkv~êñµ%Ø$‹ESÅVì\+íñ}n;xx(¥ãŠ`»â¾JeVdLÃÁm…¥¥dÁžÛV@jy8†'iÄm;wÊEðSÑeþ®Æ $€CŽšÔÔsæ\•™¹H •}ˆ‡•uõ”)igΜ‚ý86Ýz Ô(ÝÈÂFðÙãêloqÆ„b¶Nš4Õb”•µÄ–ÒëºÐÙQÓìü Çå´˜%˜ǼlhùÚ æçÓáDØ)-¬ÙÈÆA‡Õìb£¾õ%Û`Ð0:ƾõÏ{Œ¬ž¸£è(ÑiBÅÑ¢t¡ÅÒÊ¥h å;ŠÖ€âŠ.!ŽW‹BH $€„éÓg×Ô|ø÷¿¿ñÑGÇÞ{ïOï¾ûjT8òþû¯}òIÅܹñ[€Þz ,[II““’R ÉÉ)S§¥ƒIÝGìEõ§(ZKÌ}KO_ž½¼ó[,V“)Ø´ˆ©Œ‡þ½öç?”Gë ƒŒ²Ñ `¥5 Ñ1wuÞF&¸ˆÜÚHKÉ/X ª 68%Tž­ˆ*¿H $€@üLŸ1'%eúÒ¥7ßpú›nºmõê;n¹å›QaóªU·¯X‘—œ_a`²¤H¢_’¼ði6Û”ø1u3—+fø~è¼yX?/:Y™™±•†g@H Š€úÇE}²§K–öLÁÝ"Ô¿ Ÿ†Ô[ßv•§×ðû–^{sÕ'ïÁN0àÿÿ>öiê­¿=¿ôÚ%+|>w z fÆ‘—«µ³³é-[ðÙÙm½w¯>½c&XbZýÆbt •edØQ~¯‘ ÅõDS©õ•[õÇí,sâÞò¨·&îµ¥žÇKoRó±Z$€F‡À€ô–!ÇÛ[›ë›/ÕŸ(ý}‹ó<ºº:bÁ1&I ¤|¢oxáSý`s»¯—·@lGÓVê¾\d^W%ŸEOæÃ7Ñ1‚`'³¶ ŸQo_[¯ "Âü-2•žl ÜˆÓ*Awƒ0!@H $0– Oo­\6肋î?Õ%¾Þz¬a „ÒóSž› ñš V<ûfuÊÙú³½î.³´ˆ-òÚ§ÇKô–×/´ì“W¾|ïãÕÈnßzŒñ);,*+0) "b`jÖ>Å +ö òœ-(MÃW;öŠ.s,ß8Ø6$€@H@7ãé­Í·æhúß‚xÍ^߸òk›¾ÿââ»O×Ù=U?£µ­E=0ã,[½þ)ÂUO<^»þÝÄ™Py1qù1@H $`XÆÓ[jÔú×OLIM]{û÷6<üæ¬oœúÌûHu£Ý=빜Ùtßc‰‰ñthëN[WÈC}„µÌ°w6 $€ÐCÀØzKçú‰jÙóìw}÷‰ûŸ¬Úòè´´t=Œ0 @H@E žK| X$€ŒK@~K^WŒ­·ôÛ·tÁÀDH þÀ¶±©¹¿Tx qNÀÙÜ6 ­·aßç×»‡À0˜›‘/876µs=X<@c—€³¹5ôÁÓ@çKÝ7°o HrU~ªö£ßÍ–Ê»ýÓºÍ˦dÞ¼àê›]µTñœ©¦>èkøØbÉšä‹•pÑy–CžH LH ¤¹Ú~Õ@Œíït—ÖÙè¨úè¥ÌÀëöô„ä”E€Ûᨪ««kiu-^8C2'tHצ­Þôퟢð˜Y4Îdz‚q[ê­q{iÇjÇ¡·ÆjW°]H Œ!ÆÖ[GÞ®ü êB4Nð¿¥éâC–ÌvOOͶ%Mïnw46žl8 <ËgfÎÏÈH?\nŸ«£½ÍqÉwç¾ãÀ®U,]…zk`C©‡[o ¶]˜o<гÔxî?ö a `l½ë'j®Û+¾æåEs3®µ$N¯«}«»»-5IJO¿&5u¦×çîñº\íÛ;Û~éJ§õΧ¢ÖóÑCõ–JI3¬zk Á´”€dNÇÈ‚H‚Ù’0A)`·‘2µÞ2ä|yðK!À*ìÃÂÕž^W,,’hµÙ’M—«Ó‘œà^¸dSrj¶O´6·œkv~êñµ%Ø$‹%ÆK ¥ø‚Éòº<¡˜¤Ê†ƒÛ Kéâ9Š!+( eßz 8Ÿ.Îsl«pð6²Ž5_¦g-Y$±f#=*ßQ´—ȱК=å9…û©`à 1F ·×Õëéñxzz=½c¬iØ$€ŒJÀz ,[II““’R€zrrÊÔié>ŸzÅd§x`§HðwCˆõKlH½ÕÕÑÒzÙÑÒHÞR„ŽV§««#V}AÉçsŒ O’ÈÝ ¬WÍ‚ßO$—†}+oãŽÒ’2µ ʾ(§”‚1«tÇFnü*­!©Àä%ô7H˜_°ÖNí\ÕÑH€«­ÈNHÐsÙ!œ"Y`‰ý$¨"iJZ8L÷a!è÷…™DËNÎòÄ,’eç…ó4¡xƒðk rzº#ËöiÉr¤|^,M{¨ ”LÚLƒÜHÞ?ü¡Â»¬dýdb“šÏË¡ XdDPê¢ñ¬Ù$0hÊ~Xgåî«©îÙ?Åàˆ¡F†()×B)A¹p´1ì2AûÙ>éˆ*žc1êŒ óˆÒäC(D)SÁÎ g0yafª*ð[‚&ÂO’†Ì[åÍ£…@$¿ý€<=K’‘¾°³4}Ø%UÊïÞYZNXá¬USi÷I4ðö°¶…WAn•+R–W¾oyÆP4šJ¿†rÖ<¥wìFr€‡œáDÿ'/P‰1ÊäÙô>6˜6@~0ðŒ +P.SWÉN(±bèµS²¨óñ6É­ŠhÞúöû©Žá´ûDÊz)w$„Žæà7t‹2TüW:ÍvÄ ¼ IU"ZSˆýW]µðâà, P&Ý ÛÈ]Í"C'iáôPî/šu‘Ò<ºÅúe3ž¿Sxñ¾“A`|>‰úk =7Yó½Å÷ž]|ýò¿ßíóõB xà½Ä¦¦+f3L”D¡Ëö÷>þ×HL0ýþØ“´ŽmµU!•J;Êå¨Y*r~m™|VØQ\\Y"€,D^¼mÙoËËß±C¨\ÊÏŽ”ì0J=q?Ñía_€ˆeïä){ì_Í5ñú8EîË eï+QÞƒÔ}»"E…RD»Ò!çÃ=¶ð4Ô— 8µ%<5|ºÄlYè¡wd÷8¬šK»½,6T7]9”¸C"žuLÄõN´_™~zNN÷IN… #aÇÞÃüùO‰ð)¿WŒò6[Ìzì[ÆÓ[õ¿õΡ Kf»§§fÛ’¦w·;O6œ¿¿4™™ó32Ò‚Ûçêhos\òݹ‡/Â7ÕƒzkP(‡[oÉþ©Þ ¾áâÎÏÄÔDC$[Êœùgd‰œgÏE®•h’œG*ù©èájJ-h^ªoHy$[x•Ìõ JC1I5ÓFÒ¢x“å´Jô¨N<©,°d™E{̺f¼RUGhnÚu†@Ñj„ émƒBÛòX¨Ð ýGÂÜ=$…„„ñ¦Ïþ”Á§{²Žƒ§„ÅbŸz üËkú‘_óò¢¹×Z§×Õ¾ÕÝÝ–š$¥§_“š:Óës÷xÁÏüÅöÎö€_ºÒi½ó)¾ã D‚V&Ô[ƒB z Ö ×ï4 ÒOŸ1çÉçŽÿðöùJ…&KŠ$ú%É Ÿê¢`þ¬ÉÃT‚ìçZq¯Ì¤ŒrNquMµª<¡x,±Eø]VÒsÓR(ùù¥êEV|Lç)U„û\fâ/ÔhÅRÅòDö%²{rŸ¸dZ×­Í„•ÜO5IVùà]äj”=/©8S÷]‚„©X–/Æ{8⛢zÚ„;ø”0ÜsØj³éÑ[†|?‘, F×ò„‡<[wÊÓëŠõË.‰€"Ùp¹:É î…K6%§fûDks˹fç§_[‚ –Šá¤ÔÁ¶Û6Àámt‘Õ9z|ÛÎrIA·2’žlJÌ DÈÄÊ ÉÙü¤!ø·Zß»ŸyN|âyë´çÍSì-ý›ûõ=¯}à~õ½ž³N"‘;{¢ëÈ’ÿÈ °C–š…øŸ¬1+‘8A¢Èù‡ÆCŒ|ñ°¢,õç‰è²¶ªi$+”ËòÓOÈt‡,GKâƒPýŽÉ©š¯†+/ºKÎYËXU¬Ù¼^¾~.k#+Š¥¢å°zÙ)¶/_|—eç¥òÎÉ1Ð&ZûŸvšAKÛj?=ÏÆÓs‚H ó›žÝ¬x³G>%äg!–ç°Î Cê-¿ßG7/t>{\í-Θ6['Mšj±NÊÊZbKHéu]èì¨iv~ÐãrZÌ¡?=µÖƒªØ¹ 0§œ>,ê‹óY¥…5áx_¬O½õÿu-ÏáëT—šˆ4®|GѪ¯xz³÷`ƒÎ˂ɡ¹S˜>Ù>õŠyäRŠ¢E°$À/AzúòììÕ0U·6™ˆMKàëUÃzÞ¡)Ô ¹†³•ùŰRoêÅÀ«UWž%Z*¿`­¦ÎÛëQ“(%½})Wl:¯Ì„Oæó½ŠSÐ/ø&Pò¤ ŒšBV †1 òkwÅ\]“"Òñï8•"ŠPbº›‚dK“lÝ¢Æ'ú—:WR\ñ°Üì©¡Ú¨®R’rc×6Š¡‰UΔ×>TåK˜\SPä4µ—ÑÊX¹Jã™òSU.kªQ‹´ž™ÑXBnŸã‡*#k«“þCSóŠå6ªC““•„Z&‹=¥iHX!Ž„ñfUáS"ô\RöŒôÖùsmH½¿EW®´¶µ›Vs“ÃÑPðó©WÌã¼ú3ð‹~W0è ¼ð Z ~1á·ùÙ;ö­†šÒ>(‚ØZPRPnýÒI“é à ˆ>¿è š ³¨Î½àõ n¿É ’K$“‰Ìtî«W{õX•ðŸ~j"Ú£þùÍÉ|»ã…†p¢Ê€ýχû˜±‹©‹Hq'¸$‘T!)2Š™œä|ÔfF5 ×O¡34ŠZ¨ØyV"Ó\Lñ–É?Yt¸Úx ¬n&S”·J…ÚÈÈÓÑ xyÌØ¥¶OºÆ¤§,´Ô ${L ƒ2Df ±@Âìú"az_à=ŒO þx3ÒSBÇIbH½ÕÕÑÒzÙÑÒx:;­NWWG¬û‚’Ïç <Á Ÿ$ÁÄ/2VâóÁX$ ~?‘\ö-°Q•–”³UŒM¶f5”•D*³Š£EŠ­Kç¥ÀdáÀ Å¤0H+flEö™U€|ò»·×Ë&¹ëÝˆÖ éˆ?YþÇoVvuÂ]G—ÕÖaÀe•lpⲉFË“—BÖ'•’å\„,¶èà—M²&aã”\¹ÑÓdð #¥R%­–é6®R¨Ž¡0nöb‡l`"‹2ùogjØ¢Ö:þ ãÕ„¬dac¨ÌÄG+cƒ‡¼vÖ.Ún*™( EüqyHÚN˜¹‡„ÉõBÂx³ >%ä¿Û¨àæzÓXO ¿=†Ô[í-ÍõÍ—êO”þ¾ÅyûÐ[~\X¿À²å ½ð)Š~ø¦»Ý‚×Kôü¨KàiÚÊ(dyû`bÖ:×}Aa¤¢²oÝ%ŸÜV“£ÌîbÉMk„òc[í:/&Ó"@ø½ÿ·§Ÿ6™Mº=fò/H¿ùÍ/áS~‡Æ¦·ÔÆ!"A„kìs™•å–={`ÄY^¸sÊTúß'@[œáÎoá‹ê™†¾õ­ÿsž|¾ð¿L™2å_þJtlj™:…¦§à,?üÖ çé•Íx"{L ±)\lh’M£6Òg¦À¨b 1²æq‹•e\žÑTlðQ–n|d©%Å6Æ+æ¶%ª¿¸.ãI¸ÖSÌi\ÝÉ-#­'£ÑÔ²Eu—~\LR%F÷Cæ7f¼a&0z’›sä_jÐGPå©`¬|ªRy:wNžMÇA²= #áЄë~å ÃoFö2 ÞÃükˆO‰¸>‡uþ†ÿ['?xËùÙóY–÷Ó¦§ØÌ^oßßÛÝ}åâ%—Å,À/u—hÏZýtîú{úBV±Ótt#%{Cï:oºþ’1ÿð*âôÔ„§öîeÉwüø1øìñ þã—,æá‡3‰Þu7Nþ?¯W~gCŽ~mmmê&¼·{æ¦ß@qGÚöÜJ'…½·{Æ&ŽþAp¼Xð¥/¶·Ößó#á—lɆÙb^,ø‘ðïÿ.üèKÛ—Ó4‚pñÅ‚Šì“WÿßÞ=óuäÈdrüî.H\²ewŒî»!ÂY„&Å%Eè¬ì4Bv%ÁÏhø`Py8 )Ò7‘R•–Îh¥¤RÜf( cía¾¸ÂKUĨ$ÈÙ5›q’*®9”šH® #aæVïaîÁFqr£úžDx›Q¹é š„}·T($Ì9ì ïêîþðD‰·áðìÄS©)ÖînWÃy`™’°ô'ëïz411Q3¨,˜ Ï~îËûQ[ÔÄ6ášµw…T¹˜Þ¿ÓS úíã $Wѯøþ¶>?ÜѳþƔꭖ–æ*ä¿ÞÙ=ë[ÿ)<ôÇ–­ ÷ü“ð¿ÿûþ,HráÐ?ÞðÅ#¿ê×;HL6Ä8‘³ÿ[ø§Šþûþy ,.féá,)àË?*uçÁ?¶PU¦8ö¢U«½S£j‹ìˆ‹}“ûpáΪœ²ÒÔ4;s[¯x¯g'd?§¤¼$Ž»]T4 mKÈ×ڃ)÷Ü¥8,ã;aÝQ\¤FV¹Ãg¸ƒ/•P“±…®Ü?V§x¢¥±2$Œ„e!÷°üUáîDñ)Á ÏSbÖ¬t=zËã‰Êo{QÏ–’šºööïmxøÍYß8õ™÷‘êF»{Ör9³é¾Çb‰-(6owøÀ@ô³[ýAÒ¦j%þyÇ.–+LlQ‘  ó(‹: ç¶Ùd(6›lË«~z¹éîã±`>Ÿó$ dÄMG§AщP¤^2dA=!=þ¢#f’´æßO^njºLþ»|ù§«Øl&2ˆÈfq‘B¸»¹ry¬04îÆI 䣉¬¼,yø³ñ‘::ÒÈ&q±åÔ´ÎÐ<Z8ÍÇ纳A;^¯dcyrÙ¡ö²1y°“% ¥¤ `Š|ä0D84bÉçxÑQMN‡7Vî¡jL’Nµç½ä=åÃŽ´½|À ËÎò­(_#aù®áÃÐ䋈÷0>%âùîÿ§‡ê*ŠO¥æx·(H˜ßDHïa|Jð¿Gå)¡ó—q0?W:‹dúí[#Ь"¾ˆ«x9\£ÿ-IØI­\?ü§]6ðžf&1@q ¢ÒIžÒ™·l¬*˜Ã¶›þ´ñéÌoþ—ö±¸›þéêÿþÉÍÁ9÷<Í#æì%ä?hU»²¿iØŸòÃ.ôÖù34QæoéÄÉÆ6ë•·ÝS&'ZÁ[­ƯèÜ3¼hJ|C€e‹ê0Ñðݱ:å…×?ûî†kõÏ—?<‰ð¥§Cs¿i |MCyqA:X©ÚäIÝtš$]µ9<ö sZ(IšEB•©ç¦++*†Š–§@+‹+ҊæÛóiä¼QrËÔË.ÒùR¡VðDÆ©WBdeò¹íamgH”9êt=[`RŽç“I•Ji‘0㦬‡„UóÙ­Æ–ð$”ø· ïáÐú¨¡ç >%èiÌ<‡çÏŸßÏü­†ww«±õØ·4¤Xýù©Ú~7[*ïöOë6/›’yó‚«o^tÕR2e·1C€é­?œp¥NN0[Ìú+ZA4™a„ÖJ¤³åeú7¯Nè|ùúúz¹¯Ê¯™o]’•ôÇÕßʽF¿}ëìg‰fáê†y8P¼0 5TQ« ä*„¿'§˜¾À\Aϰ?Ϲ݇egF¶KßäåÒ3,-$¼²P¡IÇx^^+o"³)ñBØëŒäXþ‰Wê“-[!Cµ#â¤rù¦h,¹ä Õw²åŠ¿¸HŽé)9!m8í0³ß°Ž2m†„‘0ûnã=ŒO‰ñù”¸jÑUãSoy»òƒ*âY>b[¹lÞæ[s¢ãß9´aÉl÷ôÔl[ÒôîvGcãɆó—àW!3s~FFZ0àqû\ímŽK¾;÷ðEy!z´”ž4(¤HôÖçNó?,ÏГïï6æ]#€>Ó¯·@j+c:TiP•@ô Lh0ÑÁ~$ø9ÙOWTXÈy¹î‘%Õ)\¦)RE)\ …÷äÌ\×ÐV0‰£¨>>Ç}WÉ>B:1$ëdåÆúÃhwDò&wN¤øÁR*ø¨3ö)ã^òà'#¡œ ™ù#E´2`\F"a gÄô:æš^¹mðV&07/ܰÏÿ‚çÄ~/Y²x|ê­ÇŸ}ý?ØýK+¾æåEs3®µ$N¯«}«»»-5IJO¿&5u¦×çîñº\íÛ;Û~éJ§õΧø"Œ¼p=ZJOšè¶bLŸ@oIÖ)e§Û›;=.7,žè‡µ}`ô†Ùï8Ëm³šg¤$Þûµ9fû€ôVMM¢/¢2€É&L‰q!—ÄË .°Â$—r‚¹ÈS¹!äORÕ"Ÿ9¥X–TzH–i¬>fyc9ÃÊŒè3°©f›)މ0§ˆ=bE©Å§rÊÆ•¦„‘0³áÊw:ÞÃ_?öÅçDôñžÃW/]:>õj$ I@¿}«ªª*¬•ŠV\Ü©•Qy%Â=‡FÚÆÔåsé¢Ö)ʸ¤ª`•S©$ù1®›ØÐ£2ÎHUX(E¤ÆÒÔRT?…œ¾‡ê “a!ÅCLñDŸEÂHXeårÇ(ã÷x‡}9Õõ!@4ž.²E=ôd‘] ãSBþó4òÏÌ!^¶lY<õþÆ#±Oà‡·ÏWi²¤H¢_’¼ði6Û”ø´ÙKÇ~G°…H $` qÓ[ê36 0’9I’ü‚H‚ÙBÖ $€ÀHHûN¦ÐÓ"PÆöw:’Ô°.c|bÀ ‚Að @H Ñ$€zk4écÝÃG ·×Õëéñxzz=½ÃW –Œ@H@Ô[z(aãhommoíhoïîèp¯õØb$€_Po¯ë‰½‘ ÌŸŸ­¤‚@H`t  Þ]þX;@H $0þ  Þÿ×{ˆ@H Œ.Ô[£ËkGH $€Æ?“yzRFrò‚kFRWK‡äKt§½ÞÄAçÅŒH $€WÀùÖ• $¸[¹Þ²Í2YRm¾ŸÏ£,²0à.‚!/ÞÎ ø¢ÁƒÉ:šy”_Ѻfí¶Á_¬!T Y‡Ölº"ô`·¡U=Z÷XheçAõ{(ÍŪ‡xŸ •œi(÷ØP*Úý©µ¶“ÞÖ µæ¡ä-ÚC|³ÙCz~²Å¾½ …ØPê%ú`ÐêÖ*&Íö¹„žV¡Ë)ô4™„Yÿ#Lê¢ö½(ÚêÔ—y(×c(C_ëb¥½š‡ôs6”fâOø«Ê—v(Ï©!>"‡t¥y{‘Ø.ÖЈ )÷P¾–Cªxh¿IØì!ÂÁìCúj åBå÷}ùĹ* fQúO§IH{Vºã\‡@H $ øÿš¬QÍ‹à6IEND®B`‚ FðŠ3~²IÚ)™áh¬n¤?ºÿÿØÿàJFIF``ÿÛC     ÿÛC   ÿÂ"ÿÄÿÄÿÚ ðP$€  €¢€ªÐpŠ  Ù<7àÖÙ<ÒVÏ<ä±^@ ×naäÙ71ñGYÈéäpy€:LmÜ ­a¾x‹ƒ †¦þ¿67g_&A½b­AÕó»¸+º9ÀšÖ|yà`ÈMjÂvx½|ejó6…Â(4»´1¬RÐ:½Œ}ÂKÐÚ<ï–ì¸Ù»‚ÍŒ]Ô1RôüÊô³:žõy¶ù]Ü ·Ÿf—9ÏCãQ¡‹×ó#¥e˜ú¼fî_yËÜÁÂÝÌ1ÕáolìäîzžOÕr}‡/p溚›ºóšÙùã•™½¿/c*½n–¿´íÝ\¸w¹LsÕäíúÞð^—›} lv‹›ô.C·™e-n+J§ÈÜÁȳÖíb󪮽ùÉëËžš¼O p6¦®Œm¦ZXÞÁë^æ¶ç³ŠLž·çì[ÔÛåºzõ³}Îùùš'qÈŠ ( (€›ºIªpÂÖÉØ:nëK+³@òþGªåd* )zo?ÔòÝ3n÷ÔóYiéX“ZêkXä7yìSÖrÛœæ;tPíò×Í:¼.ËW-]ùìü°Mæz›Ç—v½Í ÒævÖ<<*í½¦EÔÔÄèüòö¦]”ÛfÖ>7­àúý<¼Þ]êܽ¥G7OPóÎׄîóû~G æ¢zŒ{¹F¼y½ÎJùï£ù·IŠÔ´v23ךï|ã¶Ão;è0¶¹›=?Ôò[Ø}GŽè3·õö¸^›ˆÖÉé>o×oå¯9—¯Æèlz—#{k§©‘Èõ¼o+neEæmŽjˆ€N\Ú{!;U ]œ}“¤îøD:ÎkѸ#Ä9®‡žÇa$r‘Ge ë8D“"°¬¡YÓƒ^G*‹!Ü¥vÙ^õ+¥€‰dfB˜#lÁgA‘YBH¥eœÙîõ m” tªG­,VB¼ÎP@^¢ž¼ °êØ®cíân?¤ùϦ¡æ>§äLJalãH'˜€ÞͼSõ&‘<H*( êõƒÑR ­=r ó×2wp·Î§Ô<ÏÔÏKñ¿gñ#Äò´s¤§¹yƧgC ×ù›s®ú'úÂxÎc¢ê°ßÍu–õðcWÐõòù1ìK—Ž—½‹ü8önVñ vŽÀ € "€%ëÊFª ­b¹yë™{ø=×z¯—zÁè^îž xµ+5¤¥çÞå×çüéÚzž®<ž è^yé3z—§˜{¼ßEµ‡Íz,Ã[/I‹‰×lcñO`ó?HÖ˧Âß¿›ŽË Ü^ˆ¨(   €€Ë=T3Áæ‰W=¦½kÈ+X®gt ÙúוzÑÚø¼øâñ9²¯D˜Ö̈µ`Ô¦VÉf¹1£A„Ãݱ™ hƒ^IÖÄ´6TZ\  ÐAP—?¤‚"´Jx’.Ÿ—ë‹•¬Ö ­b±K¢çú¹õÏ(õ³£ðyùüñð$¨€E uÅ•T‚5ü±K<˜wWÆvÄ•¬V «f©CÏôG}ë~SëEÿ÷<¨ ¨€$ƒQÈ"(4PhäAPÑ46Õ ƒ¨”9ƒ‰"˜¾ä{<•¯ZÕ\W­RÝ!:.¢=Ö|«Õȼܼ óP$EÎu½m8¹ž«’ÖÊà4ó€ˆ P4+H›+Û#F5íŽA¨ ÑP@HúòõùnBzÞBS|}!]¶må¥Zv£+SïuX]!‘Ÿ©œfeêe=G3Ôžè¾yè'ä¾¥åGÉ#HˆËä1èB²jÚ1Sr¬ÆríäÂU­ èqmd¥¿Z¶ŠÌi1¹ó¾Ì"¢ˆ  8PDPSY“ÆBÙXDÙF×´c^ѨäŽA£@.Êê ö¼ð繓¨fkyh¹×*e­T¿®Z©i mìíƒ3g(ÅÉÖÉ5z¾[«=¼á{c€óHó3ŽX¤ýÎúíÍ{¯Áƒ>=£ŸÐ¬è·*„OK/-zc¤¥–ËÄû•°ë;–¹gC£^v[GW‡–CZ¤o‰Ñ³‰Ýd§;W.mÛyŸGîæIJÑÑç¦Eã¥ÍÊZÎK£“Ÿ´ª€ ¦äs°“FBÙc#d#kÚ5®A¨æˆ*"‚ú^W Â9³Ì³pµÔËbõ+ÝÎÏJÖ´u1ÎN­:Z©e)mý®;˜ç9“©–muœ§\zcÇõgžy·¡ùÉÌC$rðˆ”#$Õá FH„dJ, E"¬ÅgÊDƲK DJ«ÁŠ €(ÑG eFèÚé^nW¡pUP@A@S§ŠXˆ¢–"(刎9#ǰk\Ѩ¨4TÓ¼ÇÔN§òXR¹Wd¼úNËŸÞå ’S¶ú·oYJ÷2UƒeÅttSÖ}Êf>ö çG½ŸÙ­üûG ç~…ç&SÙF|ñë~kÑú$ÞiÝyIBvO|^—‹·]l;¨ñ®¦ú n¿'¢óκ]0=B¿[•æçW—,ƒX2M„"  ’R$ô¸í_w­¢ŸÒaå÷+·NØy9‚PÏMy—Ô“/Sç[`l ( ( ¢ˆ¢€ *‡M ±E,DqIrF1`Ö¹£QZ}WË}ZÜoÑ$\¿‘ªu|¯AË—%§!rzZÙin¤v‰kÔ\v±s?J–îêÏ\Ëçútó™«Ù7{N7³; !?Ìý/ϱß3«§Öq».׃»áw1úE±Ïßçgd÷ÁèxÚ¸ôÃSžß¥‹£Çbwùû<³õ/ïðs'ÌOQæ{=/;E<éÇ¢Ïæn=.?;ìð©ë™I±\ÎŽò0t—8oÄbšèdš¨ešˆÎêcÒÙÖ±ö¾v|·Wš]aÏeoó›œmÄêËQP‰6qµ|NÄ ¾h@QPPQN†)"#ŠH†E$dl|cæ kš"+D.zOÞCè~/ѼtùÁи±µ‹¤t|¿EÌ¥©)rÍ=Œ”µFŒ±6¤­--g[pìà’#?›éyƒÎnѾov|wduQ>¹Ëù‡¦y©jØ£þtú#ÈzÝ ¨œíx18=ý¢ó¼’W‘³‡cjfÖÙ¾_éžcÚãaí|h9îˆ'}PÑ“(®m‡â-o¯ IÉfg:U/ÀûSJ¶Ö¯C­Î>·V¾žÌýŸ¡j`q÷Ó¦Ï ÜðÚÒˆ%d4ó4<¶{`¿;ÛEPAEG 8EU6â’"8¤ŒŽ7Æ1Ž`Ö9£Z¨5EC î¸ïA‡Ñ=} òéäNc ë^69½¬"{tg˜×¥^Y‹׳¹ ³NÇZ—zs¥óyº¦+ |§WÈž{§™ªov<‡^tµ,Ñ9¿7ôO: cÙ-_|ù÷Ô¼Ÿ¨ë¸./Õüa½žKìÕméµ£É&¾CÒò§klzÏ’ý͵ÅPk“fž«Ó}gCM…Áj¬ºÝ˜ÂóÏQóúÉÆu<®)j)RiZàåÑPùŽè  ( Š (( áAUAUMheˆŠ9"#ŽHÆ1ÌÇ4k\ÑPDT;?HóÿQ‡²ü…õïÄÇ0æÎYÛÃé&33eŠ&IašXd'Û¥­ëuù«”/`µ¾«”ëüÎn*qÝ—pzøûFÿ]Éõ†þ}ìÓó¾ûÏ’,£• y"ŠÒbËIšM¥ý Í:¦^]™±å©ffíi‚q( ’=³á½ ìøe5--xè¼®>*ÍLʋϽ•®ýÊÈ1Û5[5§çßYCå›ÂŠ Š (( ª £„pá88цhˆb–2(äŒ`ƹ£Z戊‚"¡èž±åþÃBø;î„„¿CHN“#YÁc´ÔÛáäŽþÖ¬¤gT¦ÁË_ÍÒÄ·Øñ½·ŸÍ®¨¥^»à/opèz¾[©6³4rŽgνÏÑ4²êŽ--yG‹!¢ð,Mª3ØÖÙÌI³ªÕBJ€ ( €¢(¶ŽßÑ<'7êš>ÃÅyôZ¶ØÌ99ÂÇ*õ‡³ ŽitކÞXmÙthz‹ç󠢂ŠGŽ#ÇñÅèlBWŠxH¢š"8äa^Á­sDEAˇ¢{g‰{ì+|[õÇÉ#7ò:9„¤MÅ£ÃíaV þçgÅ)Øó÷yC†Mš—8ygîx~óÞsT¯ç>æ‡/»‡ºt=O3Ó¹Zy'=Áw<(‚¨ÖÈDÂÛ-+:Ãfn«Mk|â4xz`ÝÝiyÛ=¦cÃÓÕ©l½'<0TD@QD@QUõE¯d»*¶á•ÍGÔú}â÷Ÿú’ê[©ÐYÙŒºK‰ȸlŽ((( ¢‚Ž 888®+‹°Z€­ ˆH"ž"I^ÑsF£š&¶O@u¿Güíô„<«æ_ ¾}4ôª[˜Z¸ïÙa»•âv©IîåŠYG­׃S¶<ænºåú¾Î;.hƒË½CÊ mÜ=ã£é9ÎÐÉÕÈ9¾#²ãAQ#*”D­Z¦m Wjlâ60¥—§tž VÿQhü™±5÷BŸz7áþ¢ëφ“ì~ùÐö^^\b@PAAÄÃUTP-›ÞÙÉØ¬ò<­˜@@?§OÕòïåËëØ¸gϧÄèÒ¢£¶ Qdª(8p9\‚Ýr¬ +Ãb匉’0c\Ñ­r êy~Äì=ÿÃý¶?ø¯©ùiµ-9Ñ£ÙUµz¶"Ç•òFüØd–9ó–öÞ.L¬>^ªåúa¯`Cb+ù/¬y O{té:. .äjä·#Õr²怨"€÷žôf×ÛÓ‡9²j‘¾ÚEr_µ$½¿ð—«ôçQñÛÕûK†ùÿ¶šhaz>Ñó>ÜçÆÉôO#/$;þ(„%QU°TT Ô;è¶÷-­‹­ž‡ç¾÷Tpî…G£ÁèðxðxðyvµÚÅJö +Cb¦ˆ‰’F1®hÖ¹¢w\/¡Ã¼õÏ1ô³å^7n Ù2ö²EÜîoËÐs¯;Öò:ñ6(mØ´Põ¿3ëy7³­‘ç²ãô|ÿCì0J"fо?ë~>.öéÒt;Åœ\“æz.vHÕh¢ˆ "‚¢(z®/!ë0ó žû“ǽšþ˧Ðõ~i­ê‘iú/,빿Wǹä´{qnBº º<œ}L¹¸ö¤ÍÛà_v)½åº“Ï´f=§©ùȈú‡Wä­ûOŸMÛLyO=ô=¬±òË~ƒó‰žO¸ã¥«oêŒ>©ñ{¨ø.x½–*™!H7wFÞRˆì̱¤41%“äÞËãžïTr?×`ÃÂD$IBBÝ{5ʵíÖ+Af¼SÂE±‘µìŠƒ}3Î=6•ÚóGÈ÷hhý&VÝ‘ó R½½-63 ØËÔôï+÷¼½ÏfãýÏåâò®æó/Swo×k¹®‹*‡úÇ‘—717N—sp“+S(â°vñ$Ö¹PAPD}ÎÔõm®g¯ógšÄscÚ–•ê95|‹Ðüç½9º²ÕDzŒHÒæ5FÍ\º4€ô@Y¬¨Ô\µ†œØÎ;^×È/ËܤðT=¯Šä:ØžO±êïëOU×ù.—”Ïìö<§Õ¼¾tÊÕÎÑ·’CfR %@ (ü×<¿Ö`Ëz?ÝëIDx²$‚È’ !!-{uJõì×+Abfˆ†9c#cÚ1®iwÑ8^úÁ¹ÇŸ8ìåô&'G‹½‚ÙX]zÇè| ê÷9ˆ¥ª±5k›\Dì8þ{Íf¯O?K©wk3W£VÃ,G“ú–{˜»‡Kµ°.^žYÃâëäɨ¨ €€ è}ÏÜyŸ¶Xš)¢ÒÐÐϾ·Ž÷<'jsÕg­M–6ó¶xÙÐèØÜó¸lé ¼îfikîùÙÝI ïÌd:rhu‰Ê¸éÓœy»c“r8X½^¾‰­ÅÉç=×OéL¼Ÿ­±ü,‰BýM ù%\‹Fj ’$¢ žyè|? Å˽ômEzË”ït¹Ñò=_5¥ÏÏ‘dízYŠÉÐ2zåûÙÇÈtüɹ½…¼tZyÚ%z7hkårF ®GEý¸óÞ—Î}“}9<¸¿u‰ÅâäÒƒoŠ·›²Ì·bÝÑJ.Œ— «,24ÎWäqŠ_¨¢_¥Ú“æípܾ=7êvH´?é\*:óîxÞ!Î|»wÝq¼7?z¾×‘ãµ7ëê¸þwõz¬\ó~šsâ­ žUqOgg‡±Ý'¡‘bFÉépºFÊ:VJ>fL:fN:vN`Ôš±y«Ã$DpËrF5ªÑ%‡Höž³”ëa?z×[fέ-äÞ£ká ¢½%Ó¼×Õ9|^Ks  ïkû^†[U­KTÊ—óc ÝÞÂß: ý¥¹Ç Šò’F *(Õ/£ Jš>¡õ9Å6úµÉ[lMsUg¹&‹1óΊz„¶Çßò-lüžD»M)2Š¡sÒðnòxsy¶Æ5jЇc½g×°;jDu¯5´¤ˆc$r®ÛEf¢^XP}çä´·C`~HsÚû#^>FJ:VJ>VL>hæ$™“Oƒ®úã+¾º!"tcXæÕAwpúˆz‡aÆvfW’úG—½ ì,6¤¦;ëÈXš¼åCóµçrt3êÍ›a]¶÷¬^ξnѳD£™{0àhÙ®nt ½z•Ò–v†iÅAb¼¡ŽHÄQÀªÒ%È€äTT$A J^ß„Ð41:óWO‰_ußàùŸœ.ý3G[Sι¯Lç9ü¿)‹Ö!ë÷<·¦èû¾¯nN-<ç©Ù†4TŠ¢‚ŠGI\Š9Èá^ítŒ||¬”|ÑÌI4s’Mä³Ç9çõÈÐcŠÑ¨5ªÑ݇ÝïkÄöpáüÿ©åKÖ9Í¢K“å¥9zÍ;Dîb‹÷WqoGLÚ¡b‰O.öYÁ£$6ú¢7.T´RÊÓË9 ö+ÊäŒEDTQ "Š"Š ª ª ª ª  Ñ¨ªø&ÖNå/gñÞõþÃÆ½oÏù‹üÏIË£—åú.k²‘é_-þ~SÔû(3z>{³ßAWkuEŽ 9ÈáÏkÇ=¯#$,rš9I&ŽbI✖x§%±ƒÉ£c øÑ²F+Db´F«DEhzžúD;ÑêÏÃ}2]:,'u6µlÒ¹Bá`j õ®5°µz3R*å_É8»m›}?ÑV«X(ejd­{å rF¢€  (Š(Š  ¢*¨ÕUr£¬U®rÀÙÈÔÕÑú&…Í/|§Æû+™wËé<ßEÏ_'ÌôœÝ1Jزwzh:Âs9Ëô~­£Ž÷¦j¨"¨ (9Gs^9íxçµãäd„’Ç)$±ÊK4SÏä¶!°Mb‹5Z VˆÅhVƒD=7ÍýMÏìŸ9ˤ\ef—«¥RåìÍRíĬtDußXR.lóÛ†)idèdœ¥ìý#g¢çº3bx&(cëãœÍk5årÆ   (Š( Š¨Šª"ªˆ®Qªå®QŠõåtUªåˆ/T³ƒ[èM\m_™|~Ä?cnÆÎAÃó<67¦\ÂVã{>?Ózö=¬häTUDp¢¨£œŽö<{Úñò2BIc”’h¦%š)‰gŠriá°Mf ‰0`4`4AAP@BÿuÆõðôR|3ççB¥‡Óa³ IËÚyZ†­êW…†jåz“Ó±´µ½ÍtÊ’T!ÉÑÉ9Ý<½cc£çº#VX¤(âìâœõk5årÄ"Š ( (( ¢‚ªˆªá\5ÎQªõ¯Q‹"‘«Õ s–!²5qâ÷ýngWåÔ~Cm}ÜÚ´/~kî^Îä‰dÉ2D“'%ÕsƒÔÂ==7¯`ôUªŽW£…{^=ì|Œ’Xä%š)I¦†riàœžÄ ìA`𦠢 KƒÒÃÓxž×Í %²R][&ûÖŒ]{Öå`³B&XR £¤„¬•ˆ²trŒM|“c¢çºQñ¸§‡·„a×±^PG,@ Š (( áAUAÄr¸kœá®s†9î¯q¤R2U"&‰„u ÊWóžS­‡“Š´êhaÇ“=´ªllÜu7D[Z¯'‰ë»Ð$MÞ„cÐhäUE#…s^+ÚñÒ1ãåŽBIc–h¥&š‰ç‚r{NX³^Áàhˆ "‚uúùóÃw.š AÈÖ#BB ”… –' Êá`®„µVŽY—³‹²ntþù¤¬B¾Ö“^ÅyC‘‚€( £GáÀáâ9\#•ã^ç {œ5ÏpÇ=Än‘ÄK+ˆVU!' Ð…'Bd!I…&BÎÒ•RV‘¤ˆF=*‚*‚8Q\×{\:F<|±ÈI,R’ˤÓÁ94ðNXž½‚ÅšÖAAP@;¦ÉZk{XƒÑˆ=ƒÑˆ=F!"1 ˆHFƒáXȳ4rÌýœ]“{whÑF´¯…µ„gמ¼¢íQU*Ž+Äz¼G«ÄsÞ1ïy¤yÊâ%™HVe Y‚p®–¶@“´&B»ga 'a fiei=£¢€¢ƒ‘G9®ö<’H¤%’)If‚biëÌXž¼å‹§-X«`ðD%ŠÙÖÕ}x=ƒÑˆ=ƒÑ€áˆ=ƒÑ¨=ƒÑ äj Æ3/K,¡µ‰´t;Úåö£9ýÎ|¯°Ê&¨ (ª(®G äx=+Ò@y =dë tƒ^÷Œ{ÞFé\D³8„H ¹a í²…d°Ò»l4®Û +²Ã ì„,™¤-•„m‘£è5 (®k‡¹$o%– ¦‚Ry«ÌXž´å™ëNZ±VsÁ@ÕPÙ¯“7ß͡ӻ•­y7YÌÈtI‡!°™r IŲ³‰ˆ”‘ÊÓÊ(íán®>™~×"ȽœC ‘J0QU*£…z8W£ÅzØž‡Æ\Åý t±eçLuÍæc‰}zv1åðôT‰@ÉB»-…GYqZÛYlddªŽQÜŽö¼tt”t­”t­˜t©0³$ÂÊL$«0Ù ÇÉ!¥q:%€¬–ZVe¦£´Â¬v£+Gf2¬V¢+Ef"´Vb+ÇìŸÊéïÓÆ2ÔW"lÅ çušÕ¾õ*í°ûXØ«ÆQ¨Ë)z„uYõ[‰‰Íµa›ÜŠÌë5;«=ø£ídf&9 ÑVþꉔ¬Uô´D"òé,ÉøV¯ ì=¸'éø'¢I¢|ä²öà^©6XÑvÕƒ$ñË|²Ü©Ý«_GÂÕl\–"f6WÎì ѲÆè_J£ê²æ>[I,}ŒµqÒÚO`¸µŽ–ªFÞÑòb$â$Tñîd’@ù›nÖ–¶"Y›ì-bå¬Ò¶6[)ìjÖ6ZÈVÆËe=„âÖ>Z¿×Chçx6R¯•_& šN‘{ê†%?k˜Oˆa“Æyû³-å_u”ó­³^ºøc–(2Ÿ œðòž±ùØŠîVJQ×™&ÈK^i¢eLgÞ¹iÂub>õäý»L7ÛË'í0J›»B܈ÄÉÔe«2O%û½[«zI1î±Ùæ"á%/áÚÉ.<³imJZø2ÌÇÿ ÞOÙëO%%ªÙ qùØŽîRJQD½úóܬÿ$²|O…Ùd^„ù·"â2/åbëêÇ5Îñf<äŽHcÈO<ÛáZ$’ãæìcvju‘ÙØV*Ìm‹r=Íb{G´w'Ã3{)“ú¶µ\±ÇÙ2O)|ëyV!h‘ŽN)Òùžþ%?kšOÓ ç™þ+P¡tëd3rÅ%NÑÕ³?ÉÇ'ìsËÁ}¬Ûc†´’¾rtã«ÒEžL§ÛÕŠ“…©é¬ð®ÛŒÅ¾´Yɰӭiò·ñíÇæ»ñžcJoí+ÞËØ§4y<Œ¬É[³:cÓts7Zzø2¿ÍÆ'ìs)û¼*~Ï9÷0_o6ÅX±ËØÜsß~ßµÍoäÚ2GË’‘<<݇OÝäÓö´ IìºFU‰3nXz|4ŸÃ'<*øû¤©/øâötÚ•²{ãbgm+ÖöI©3Ý$éý]X;6©'”¾ªÞU|ë7c!ð¶ÞH>ÿ¿‹ÊCF<¾B­i‹¹7e²P]¦?5l›-iW=.RÄV¥ÇeëÔ­‘°ËVq—’›×=@–æ¯ÃÒ ï2¸Ø—)˜ïhί%Çt—»'ù5úSg=‡Û—‘u.n„蹺Ùzë®ËÊ:ƒ“7•'éf2Õ§Ü–†fµZÙ ÙfÒuÇÒÑG~vYµŽÌW©[%a–¬ârR‡+r+’c/%9=CWflö¨g[S5E¿Ò½µŸÂÄ™ºŽ¦>vV±‘ËÖµ^¼«‘g*>+9šÑ53•{ zô…¾ß¤ds함ªQεŒLÍ/çÒFù¯õTàæª8“ÊO]r¯ª‹6CÛ–og¿—ïªDêâ" ‡‰ÄÐ4+DAPâ#DëT8oR´â#M Óˆˆ*Ñ:Õ&Ž&Ž&…hˆ*N&…h‰ÕÄЭ8œDAPâqC‰ÄDþª–gµ¨Æ¨áãþä?¿ºËÿ?ú ’ý…}RÅ9êõGFÄÌ– +¯úeJý³ú”p£þÈJ&) ÿo8»µ”]ßüümÈZ¯ley:QF);Jù:ÙŠϵÑÙV,oHÞ«u?Òãe|q¤LêQE'Ü„¢†)¾Îawk!ãwóú-‡H,::h›+e­S‚ksÚ\þ«¤ŸÍèÖ:§cw;W±OS-[+U´®`ñÕ«S—¥U«Í‘—~½j½âîéáëÕé=[’gã¡+Ð*WìYÖ£…3× A R ðƒ*»³wÆßçôZDãÒUôZbº:ü­lŽÆ,ÁêºKüÜGF&ÉBì&’T–´µºKü¬&r¿cݱWR÷E1óC¿~–[r7â1L÷F"§¿£_~êŠ(ï(ýp” J á_$»±ewgóñ÷V…š3VÈĽÆ:I¤‡g%߬ôv5“ÒdÕìL‰k‘è­‹¶1µâŠ.“µ[o„ÃÞ‚ÇC&[ÛÙÔÙ5[¹—ô_5lwDmÓµ²Êu›ýõh;w¢i:ã%zŠ(ÿL^¨Lz¤%ð«}~t¾2þz‘Xš²§Hr–r® hÌ…˜#šyl¾µÛ‰³—ællVI­Ïh‚ÔÕWü‡ …œ…«ƒP‡+n²;¤$²ÉaíOïXÕ{¡…!®ý¾Í1iòÔQGú!õBcÐÅ!k¥ϺåÛ¿ Ñ£‰£F4hÑ£F5ýõ*Ý›zíÙJñªò\b~ÝŠIöàó„Ç¡ŠBúêÅø¿Û¨Öí×4© &™g Þ5œ(¤¿n8 r´ðÉ®©^_‡ý¶VyÔcz•t—-w‰"1´Õ]YŠMöà óÇ!ŒòË®©dPÿ¶"rZÕû¼}y|Ô›$zÈꩪÊ(â·\¯çŽCå›]SÉ/í¿Û1õ´y‹HÙÚ:Y9 o7FÞ18QKŠåž‘/ÉÌóÕï8Šçªx¨í¸ñTäíxªŠ÷¹ªNUSâߎܮyâ©ã¯Ox¨ŸÛR­Ø0ÑéL…Îõ Æö Ñxò/Nmw6cÍ|ÿæõ†…;=Þ+Y¸*c¬E5z61]Þ–:•Œex²wc¡ ùX¨QL„lŽÓÿùGÊßzI*WÅÃ,Ù,diBZ¸Ú§w­O=~H2øèM’£ŒlKZìuú°A‹·Œ­ß;¶:l†-ŒjÍ^ŒJÍM0Û$‚Ž.³jÔ»’lë3Ñ£]jÉ1ôó5«2êêÖu©`®‘²8†G£¤¹~¬uNɺ"o„¾ž'bîωÄшg„ˆH„ˆMë_\%F¿]w>_î;Õøè¼UsШÜË’§•mgA’l8ÚùˆÙ®ß#bêMÊÞL…‹yfX™Ù†.R “m,¥–mbõú’A{*Ûe¼²O~ÖV´¶ý®ÏkWÌö6íæ!îqfáî2äý¡u°ÎËe™ZJù&ÅŒ«•®”}¦ßdǘ¯,V3.’÷·kF•²‰?hµqW2-³M?ªF«—î±GÈŽeÓ®×C¶4²=µÕ¬I‘µøWíj&¥-4b›ò¥BT$'ûŸ÷„ P¿Qw>[ï?Õù8œN'‰£‰£G‰Äâq4q8œN'ˆ¯•[Àâq4q8œN'_”¿ƒƒÆ‘Ä23)‘RÍ™-Ï¢·%Òi‘xKð'´Ôoe§‘4hÑ‹OÛJ„¨H„ÿq=p”J"/Á‘_Ÿ•þBùÿ§¯Rþ#·§Š#Y¢yã«_(ü­ºµŸnfFÈ"cX‘Èî1.ܵ‘;Xœûe›Ny£Fôý¤¨J„¥¸ÏT%‰¿‚òîlŸò—ÞDä©B£à’?ô…Q~½jï·= -§SFôt7í £Ò¾D«‘¬NEâÅUr”!íßf~N×^SU%BT%'_Ž?T%åø-ýÜ’þé}Ú”d¶êøÖTf*¯xžÆ‰c ɺ;’à%i&:ÄB¦¿ÐÔQE_«Åw(SÀW&ÍðB…NäÊž3Þ_ÜòßZ9[×­']dÕiIIIýQyÂRò¦H¿.ÏÜÈÿ+ÜÇá])V‚5.Ä‘ÇÑÄýý–BÕ$¨Õ$¦>¡5HYÁ¤𺼿ÑïóTQE_©ÑÚ 4_HfóÏÊ®\unÉ9äåbÛ÷gfÍ›êF£QÏçîDœb”˜›Î8J^U<¥_—7®úþ㯠‡NΈÁdÓåôi?òzAè9¡i Ïòÿ Uв ÉLf9.¤Xœ“8IG"þJŠ(¢ý^' '…ìƒiAfËíÍJ²µ{< (Š"ñTVÖ9É;˜‰Z7H².ÄRŠr´<¿ö$ óªAåm~SŽêªè»µt©f&£:AB#ÛÑ­DË'Êè¯òm/‹ÔrH[3?É÷y*œŽbJ$ªGnhˆúC‘°ñoÂñ_UçNr ³ØÒÌã´„ý¢gÍŠ{>AhNÑн¦†úáoÁÀàq8ŠÒÓH׆C¤ ûŸz?ÿEQEútÛÊÛŒ3;ÚÇÌ:«Úprf=)«KMð»á.câ…}êþÄQEQ~ž»·]­´?UfùýU¼žœó¾j@ÎÒI%lL؆År¢Æ»D1?xpó/öꀭçX‹Êâü}©|ú±_û;i5˜ê·%Ò78±mÒ«—bHæ»#Fe„y‚<ÀÌ¢(·Zó$ô’Ï寖:ßÐEÇ!â*Yðä“K}yQ_?v·â¨¢‹õpMñ³µÌ!ú7<÷VøU7&uÛÈ ƒ¬AÛÈ•w,^Hb<Åf~Êú¡+yÖ#ò¸¿ ŸãËçÕBD†å¼ë`ŽÞIó9òìUêàäM{£d²ž˜¾XuÜ4q8ŠÒÃ> ³|'z;¾õoWâ(¢õ/ÔÂ'íú,Îy¤:}7kÒž©ÊMå&îwÄAñ8pËñEéCä‚3_oþЕ|ëŒò¸¾gø¯VŽJ¨­ÙÙ¨¬^¬MdÎt}Sй ‰¸k¿Ÿ]×D8œNfNÔášriò~Û~õ¹øŠ/R‹õ1)ÆCY¼Š'›·é yH¿¬Ro#aܬ ‚!Mœ?ƒæ/JŸ°‚3ž”õBUó®7ÊÙ‘þ¿u:ñW{…®“ã’tTÔOèz:¿%­8žKm‘%¾‘Á s¤ÒJMaÒ¯h§3‘Èß\wñ^¥êRN4zΫÒö÷J¾ Y»“÷œ»ru ØÔb¬dÛmr?JÄÕdyQ¾¨J¾uÆùZ2«ª<ŽG#}{7Ô¨`/²Jù\{ñ×àþ‡£MIi¶ßI+Â[éD²ä%VMœû›9ÎeoŽ_ÄQE_©pƒ¡¬Ö>ô½…êbj­f|Xÿ†­X{yçÆÅÄŽ³œ"#NH…¤¬Ê/vGéCüTêyž_‰ž¨Š¤yZóÊ'*kÅzù ’­SŠ)Ù)ÅPsžñm=`__ŸÙiäeVMœõ¶¼¯G1Ì÷Y^GŒ¢ˆ1ˆÄüEQEúlNOyÑfpÃt¢nãÝJÍ7‹!^œ}»'cní`€}—ÊlCßÛåmöÓFœÜÑ IªÉÔó:¿2?8ФyYõdÿ޾fŽ(p8MTeA¶Ôlñ8k"yܹǹ§sä;a¢³F~[«±Ã© êoAa{Fµ\ìF..ônûû&Ú““Ѫá´Þᔚƒck?!EQEúT›ÊÛÌ#; F ÌWcz“©µÝqÜWŒLà­áu<Î/΋Î"©ÿ=Y_ãý 8œ 9Ù‘„9i"œŽB ±ò«"íØL'èæ7kЋsz;’ÇœM~_Dðì™3¹ûryY¼hy~ZŠ(¢‹ô±MåyåVvU¿Reã„Sð¾4㟠6›Ê­»soù=hH×ȶ#ìÖ8Ý"·aGFèqbu<ͯϋÎ"© ÿú²ßgÜÙ¿~´ŒŠ|Ž5Ç&3ö«NÉFK=r[iôþx’.’á/”]QäØùíú'Žy/B±ó-¯ÓÌÌ)on‚ëñ¨Ô}ûv§n?“•"b~jŠ(¢‹ô°­Ý˜™ÚØCõ6_”âáI¾%ß ÷ŸÙ»#w¼§RWo9Ÿ¹ìS ˜êÜ‹þ6N§…ýÄ>qHz¥õf>×VþžÏxФÆÖJŸtœGª©ò\wf¸îÓ0­žÊP(~¥d*•ÿS±×R¥Þ‹ßs(ÚXît{·.ô;áÿ§kd»Ð|ÕX µôthѯw£4› k6VylÉÚËî5ªõ«Ñœ²€ÚSü šMл,%èÖB"ZsÁøj(¢Š(¿GÓÎÓ*~¤ËË"áë¡‹áw×sÆýÙVÌíðDêA žèæ(Éy–•ÔQæUq [Ê#þ$õfWáú¬{¢}¦·+B-e(ÈÅk½Ä{š%¹ï qªï;¢8…×è­?Ô åêì#é¯F3H1v’Æ3$ö]è½)K= ÃH³þ›äøÝèþGkêP¦ì…Ëvf,$1'U>ŽäoÿO'yK ˜è ¸xê·¹xY‡‹p3¢Iuÿ;´;BjUltb„¤Ýqcz¸­V/ÕQEQEú8Vê·FÙÏ0túNyï5°ÇEj/ÇÅzû¿wwR!ˆ­Þ¦c6ä׿ñ¾‚ Iå’_Ÿ[Ê!|ŸêÍ}|G¸ZÉU~!—ª’5~‹ds/JwˆvUd„…lÞkRýRËÖ*þ«Ñ²Ør}Ê:lŽmì%É‹ÝÄt*­‚ßA³5jÒ×w¿‡‰(cawg,î‘KŽý9¥Õ¢6’ ¬ÆˆÃ‰¢û~r,ví/Íär9Žg3¤´‘ÍúšQEQEú´Õ‰³y¥²ö¹èÎÆAÜò|fõd­;v¥*㣜oF9¢ô]è?# (I мÚiä"º™?¼'ŽA:”—Ó}w4E(…ò«4¿×ÁÈÜþ2ƒ»Þ¨µ'êkÄtžñ1/c`¯ÚسÑu‰¯Å*Ǫ MPZÎ!ÅPŽäñÑW¥9ç„u¯U*ô×;Ž)~­[`Þžt{,•©ôvÚ̓ʺ;ýqkŠÛú/:–ñvèšêÇÒ~Få¹vîjÊ1:;ŒŠ†%q5îßO^7.}ßsfÌ«{J?UÃ…QEèSo]gÄfdí²X–sÉ+¹­ùÐøÝ‘7$qóv‘®ŽÃã#Ë[`Üýô=½:žÔæ²–\—ß#þzu):ü»Ÿz"¿”c¼ç™û¿^©(ÙÎÕfb„¼rxöR’U­sˆ0±°Š«—!ùP¿†BÕ¤ìß7‹ž‚ª ˆ+,h>$%[^æ+rVwèä5JA(ì†æW´ÿQó4È?U"°ßhôC23¢tl6ÿ@ò¨]è媊‘¾»ë[ž›ìÈéßé¾%õ+Ú†Û=ëÞ™þ—=^õ†òZ_¦ˆ8QEQEßcxEÑ6êœìã°¼ŸŠøeF”[óªù}Ùæ¥5FHÄhƒ#â• šüØÚ=ƶApWñ¸JZ_•gîÀBAåï%óÌ _¯ÐìÊQ¹wLÄP5‚4D»öSù–òÞ¾*¦ÍœŽC”—Óï²Ä‘ ‘”ïÞvUÜ6˜Ué.cTýQÈD7§<š{+¢ybÓNÙ.ô -PZ·q²ãºy– ¸ž›¦F(ºCVB)ã°Î«¾›ß »^^óü¬·…Ÿ¢‚ ‚Š(¢Š(¾ümå#ŽŽ3†/-'eŠ“ÎŸÁEíF”<«øS#ø_ZŸ+2¯ƒÓ’£R‚¸è’x—ŸûŽE?ú”¸¿"¹ ÿ%óË'ðq¶¤ºæˆ …ï³ÿíÌ¿-ëâª*›êQI=?GFŽ*2Yš5ü¢ìâÓsHlܪ´úw˜¢Aú›Ú§µú+•¢˜knn7LÄÎú™«žŒ¢jÄþ1/¼ã&Þ7~‚ ˆ* (¢Š(¢ûÔ[ÊãŒC{- Ñ=/He×ãÎ"±„ý._ÀÂJŒ…×t?!¢L£P“.…ŒšÈ‹?Ä–ÕNðvÇj‡h‡3‘ÈUËsx;߯'³qQÕî4í9_`O>®Žâãè®:tóÚéeÏ üâÌ=GddpëOp²9Mû›6r’‰ª6³ÈâHúAAA(¢õ¯» yÍ OìÊî1XóÃ3öÌþBxESøëçÕ¡©ȳã-Ÿ¸ ƒÇÉHHeWæÅçXˆBaþ‡ /ÖN¨n,É’z¶ª:À³(²*›6r9¢ª²ºà¤Þñbå}¤±{ôêÉzÓûÙÊH‘±ÎW¸O3¢™ ›rçofòûDÛ”àÓ±iØ!Ø‚ƒŽîã»(•NìÑ bÔO}AA£…QE÷ñ¬ç~¿Ù¼íS™|hüºmRgq«ÃK­"øbw,ÿs©üÔy!!“_›œEb#þ%'û._¬ZØêíQi‹MÇuyÝä;'›Ž*pr‰ÔJQ)‰Uˆ5hž:çmÚú&fýì+V‡$Qä'Y¯¢}öÜùl—¶¬å²M‚'9fá ‚ ‚ ‚*Š¢Š(¢õ/»„nòø30þ4$w‹ÙÀ×|Ÿª¯^4úAž§Øll|é·;’õ!ÜQêH¤ŠdæCçX‹ªRÂê /ôH±>9RÜ2çKf½M‰ï޲å²ÖÀéyä®êèþ |þG3v(á»q´aše°ÿÃAAAUEQTQM‹ï`û˜|U<¤2p§¾N»'Íå¦[˲íA±A®–kÌ6-{ˆ¤qTz’)"—WæBDV"ê—ÎÏØp¢ÿCRÂÀùš“2½x¯ú-OŒX(c‹Bzcòuc¯'à,1¸uwˆú;ˆ–fІՅ°ÿÃAAAATUE_z:<…oN”˦WøìZ—§¿ÂwnK®øQDQ¢{›6lE*¯ÌrRE%RÒüPˆú¥ó»üg /ô106l…ú.ÄØHÕ®Á]ï0 †YÜ]˜~çÙ³dr7ÇÛâë–aèšüDAAA¨ª*‹Ô¾þ 5[ãdé\ŸºÇxÜŠNÒg|NWr³uþ(£Thj¦Í›J¾·(õ$RUð±ê€ˆ®GÕ'ßã¸Q CºÉØ£J“£—n•…¯-y’hÌǧ+âþªÑ£Kv‰d|ï±Y+ÔüTAAAq¾¥úX”ãKãdéD¼²”¥­°æBîV­¿æ"Q£zÕESfÄR¢ø¹G¨õ'_‚oTE(ú¤ó½öQ Cá‘­èÊã#ÈÇÅbvï¡™ûY!HÙÍÖ¬on°WläÜ?„H ‚ ‚ ‚lÙ¿§I8ÔÂø¼ÏËÏ-MêÖs9•¹¬;r5F(Á½j¢©³b)PrQêX_—/ª"¿”}OóÈ}— /çk¯áz¯ÛC-ŒíÓ‘ÖËý›ÿmGIÁŽ^K|:­xÅøh ‚ ‚ Ñë58³Ÿ(ÈKÚÞu!\R_·µF Ô£”U6lE)ú\£Ôz–WåÉꀈƒÊ1Gùä>ÒŠ/æë¯E/ •>Ú{™_ãÛû (ŒDë›Ñø¨ ‚ ‚ ‚}X[ÎU0éªr;„n'1u!]áQÚ‰]âÕ##©G(ªlØŠT_–å£Ô´¿-þ¨ˆ<˜(ï<‡Ûp¢ÿC_ÂÅ?¶h¦KƽŸã¯»'¥|ÿ AAAêQNVÜcS¤–;glôȳ"¤/Ô;ñaJ9ESfÄR¯ÚrŽQÊZ_}P‘ù0Q|òN_èXº}%øM›6_ñ¯:þÝ}×ù;Õøh ‚ ‚ Ñ¢ú˜´Ý·“~’IÙáz¼Îj¨ Â"18rЦÄR¿ÙrŽQÊZ_ƒþÐŒ_<€áEü}uhÑ£F{”gjGÞØwÖù‡irò,2XÜJó™Ìærïz¿ AAA¿WŸ;ÍSÁ:a'?¸ƒHȈÄTذìîÍ;¬bAÖ¡±Ê9G)i|?í ÑOùÈy¸Q]Z4hÑ£FuhÑ¢›[ åÚ.aÌ ¹´%Î×=ª{Mi¡í$=¤ÓÚïÄAAAA>®>éÊÑÓwþÕ°Há´,8LTê7ñ¸†ÆÂѵbhˆˆlÙ³fÍ›6lت9G)i|Õ ÁÝWýn_ÅÑ£F4hÑ£F Är-HÔZ1)ìèÏfÆ{.3ÙqžÌŒölG³â;”HwhÐF#:AAAú¸¤ÕXåXevj–-Ëewô6lÙ³fÍœŽG!TrŠ¥•Õ ÑÞEß[…ðôhÑ£F4hÑ£F4hÑ£F4hѯÄN¤êAAA>­ãMzölÙ³fÍ›6lÙ³fÍ›9EQKyÂBF4‘oÖáEü=4hÑ£F4hÑ£F4hÑ£F4h×â H ‚ ‚'ՃᬪlÙ³fÍ›6lÙ³}[6lÙ³fÍŠ)8ß8HÄäYõ¸QF4hÑ£F4hÑ£F4hÑ£F4kñAAAý_KvlßVÿ E'ç ƒü¿âuø”QF4hÑ£F4hÑ£F4hÑ£F4h×â ‚ ‚ ‚'Ô‰9Jõ6lÙ³fÿE&ç Áù/”«ñ(áF4hÑ£F4hÑ£F4hÑ£F5Õ¯ÅAAAêTMØz›7Õ¿¡¿¨¤Ã|à! õðUð“ÍEü uhD4hÑ£F4hÑ£F4hÑ£F4hÑ£_Š‚ ‚ ‚'Ô¬ôŽi/0KÈwÄ;ÓNðÓ¶iÚ!É ›úêL7ΆǻÁ^?ÍEü †„CF4hÑ£F4hÑ£F4hÑ£_O[UèŽY(}$AAOª±5Nî‡`vOCR¡ÎD;ÃïJ%±-‰lïGy;ÉÞÙÕÑhrC~â“ ó€…F©²Gx (¿YAD4"‚!¡Ñ£F4hÑ£F4hÑ£F…CF}t6æ}!èÖ¢-ÿòïåÁàºfÎô*îè ‚ ‚ ‚~'S²iØ4îèwu;¡ÆD6ô;e;u;ÁÞðvçnvçlvÄ«±<á#pÙÐ|ž¼Q~ª ‚‚ ˆ"‚ ˆhÑ£FM4hÑ£F4hШ* ‚ ¿CŸ†¹zÞ^Î ôâ{%ìö¡µó&½žy~7UZ/eì½ÊQó[ÑaòùŒ•½LN=.”ÉB¬kѬ%h¥Â׎®v¹ñuz?&G£R`¥Çtgn½™lÞï‚~o©Ø°îí;±ÝÜv/8= ¹jsÍ’ñ`íô%œŽM¢¨¿UAADADCF4hÑ£F4hÑ£F ‚ ¨*u/¿CÿŒé^V:e -Ì”EÉèܳVzõ²/º­›²÷»¹œ¬y:Qe#Na²±ã±ø¬Ü ÇCšÅáY‡ÊAF¼Ù\u\MµY1ÞÙ¡£.N)0u²ÑC†Å_‹3TOétŠvM;ÝÀìNÄj"'#Q:AADADAÑ£F4hÑ£F4hШ* ‚ ¨(¢‹îâ3A Ü6›_ zÕ¼éÄ5Î’ô»Ž¢KnYÜËF‹fUlV$…Y3ØÖHæ;šðﳫ»Wé“=‚Ný¶G5­‘ÈŠåsÎ7«Ž^)ýÒ ‚ ˆ"‚ ˆ"‚ ˆhÑ£FM4hÑ£F † ‚ ¨(¢Š/½K%5`º_ÇÕÏtÞögê ‚ ‚'÷H ‚ ‚‚ ˆ"‚ ˆ"†4hÑ£F4hÑ¡PTAPTQEñPAAþåAAADAD4hÑ£F4hÑ£F ‚ ¨* (¨(¢Š/â ‚ ‚ÿÄ71!@A 2Q"03Pa#`q4BR$Cp€ÿÚ?ý¶õVŸš~&œJ«SOÕVl°ºƒoVUl¦3„18¸ñ¥eca¼ºƒo6æbÖV6Djjþiq2öŽ%%e7©SHíS7 ”ë1l¦#]í=þ'ÞUªéaŸ6·ÝWæÊß.Rl”‰‚£·;ǪQ.uœW5ãÖ9 Iª9é’‡žq_1Q)ÕrÙZüO¼©X ¼â½=MåZÌ-–1¨P“¤Ãæ¿(Z§­¥¥ÍÚ •*v#½ŽaWrleÅù¿#q/iX„ EJ§9•³s”‘•îD¦Œ*^ÑՕÊñi’Þè´µ"NeŒÎÃ- B”ì![9ÃI0;À9[,¨‡ JBʇII?1T½¢£q/hêËS0­6{8-ûJ´É"Â0ºXJJÁLU<î%:g˜13Ó¸´Pîh§"/(­¹Úß»3õú¤³e†‡ø™Váâ¾TÎ?{CPÍ8¿hõÁWˆúÅ@UóF¯ËÝ• ( —*‚ѹg»^^ÜÔDZµõˆk¬åQÚXa¤Ê=%†“*ŽÐ€u@ÐÄ@ߥ¬lG8*2¬â·¦³ˆÀZÜ?¼ByX·,±]…Ìâ¹…Ü‚b³f@c~Bn—”å»”´¶ë ÊXKuìÝ¢‹tÕEÔÚ Ê]î Î&w´.Ò見Ä5̩ک)’uë‰íïÔÜ@AÓq·x>Ó_ 1°Š;ž– c¤ÊÒÏ·y•¹L­,ݦW™[S°žø„°™Z÷‰u¿(ì³À®RM¢‹ë Eúî[˜t€wøiMª6T2ŽÊýCÎ>Çÿ³q Úñé:y‡ÔI´ …lK冞l¢>†aۖ⡹´ð´Ñ3 ±èK…Öqý‡x:²mðöC-~ð8iSC0úL]|M#úC”üÓ¼˜LF=± ‘‡Çjª±ª³nðˆÙ‡Rw߯ˆ\ØL.˜¹©iD-O—Ú*e•|¦aÇ!-xô)¿&„£Fžuü¦[xðQêLà^Òæl–aQo•¢LÒój|¤XN0î¢q)VÐZY;BúË)†šÆ6ðÒשÑ„]~ʨ‘¼­‹ì±Ø¶°11¼\k f3+&AñŽzËŸ?7TÚÄ×à«ÐÁ]à¯ê"ÔÚ3åª3t}¯2L²Ñ<Ý=,;UÝhÑ>(ue³t6 Ì„À‚[~X§ÊËFɼ@´¶ëKu ¯9UÕ®ûLž°ô ÷è‚1í8m#¥Œ¨ù¹ïQßqסÓÞî³Üû‰v3!ø@¤¼TkUÒ_yë %1—)·ImÊw‡ÁWÅÒRfÙ¶×ÖûJ;7†ò¥ÏÞ( anQ°xWóSö.§öZ?³”Ëb&;cVÂ!¨`!7ðÛ}æmãÃW£¡DÖp¢bhÓ§@Øn^‡g¢ÒÂS 鯔tßy÷°î>ÐëðA#H*zîºt'vÌc6‡ÿpä%þ8Öa¦§üF(黵)`›#s2§´mý‰*íÌMPWšø9n¼¼:L­úÃÃSN„‹rݳ‡é±›Dþ˜—÷­ÐÎa¿§OàCQÓv/gPÆÎ9ÃìõÞ7³ô¾hÂÄÖûËKK mÔ¼Þà/@¢äBnwaë T-Ü™‰Äçñä%JÕ¨Bô#Y‡þžŸñ }%ùL«ó‡MôüÃu¥·//¸éÐ_/84ß|©oY‚>ÿB&¿ÓÓþ.%Zʲ–1"`Å!ï!}gF¨2Êß0ø4”±‰Ä!¼Ìâq'g2òòó4ÏÐ0¸·ƒhÀÔè¨í–JB™FÚŒýãb‹êÓ?Þq¬üAÝ?ËÞ6ѪE„ןƒibxiÃ]LÙx~q§Åyyy~ŸAë:å˜|?ߢ¿†þ EoÃŽ!£ûFŸíÓ&?´8Ï…a*m«S;‰Oo…4æi./’‹Aõœkû/¤ÂãN3 ”Ÿ|Œ/iˆòA3²²ÓBÖ°™†ÄŒH,º_ë8Á|;´¢Åtœï+y"Ê`Z=f# <¦Ä?¦GÖqôX}¢ ¨}Ø»öó¬ÔB!º±4-qhªfY–lO3}d‹ò•6 3– ‚ž±v-5Ÿ–SôŸ•¤ü©&˜k‘ÿAoûë-=m/Îk¬°×v›„6"«Úe_Ia2‰”zL¢XL¢eŸ°¿ÿÄ5!12@A "0Q3Pa#Bq4`Rp€ÿÚ?ÿ[§¥|÷ÃÙ~™7áOJø-¿‚JW±çDØ^Z_l‡‚:I$ˆ4QBé]º©à|Âïs6RÒ>ãvöÁ#›Œ ‡­.8B’‚H™Ä}’)ä‹Ù:W|¶+çe ÝS(l¦áO 4 ƒ¯e tø/bJ«¥cÁeš%Ÿú ¥lÒ–öS@òY„ʆœbÇçeRÈ"iky“y•yý€¾RÆ×»%SKˆÁd _/nÊš•’¹Ï: ÊÃ(!¢ÅRÒFðàýBŒS6PÖêÐ,6æ™9ÝUQµ¯hgtè)©À*hbÆGUò°Âpº¬¦lVs4={¦gËa¾vTŽ ”«Ù%¸+ŠÃ *™Øøpƒu<Íu8h9¨^É)ð8ÙSài#ŠtÍlD=×EQÔ±¬á½F) v0Sæl³bq°L3F›Ü'ÌÛ×X*©ØK\ ì¤àÕìVRºžÞÑ:vÊk¬ªäò‡_ý¯Uã2è´ûí;ZÆc(V|ÁS–™ )#âJ@_*44Êw=å¾ÈÓŒìTTæKt6àßï8>< ”¶>ukd!º ÐùJg•äZÁî)€$8(±6ṄC\È[ﶈÈó‘(4XïuÇ2V#{Ýr%è‹ÜíOýBôOfŸKFØd0N„ÖÍ‹šFGI=ì²BìSbÔ”¾PAœû(8‚Èsøi3\ÞÉ«,SGZçPhNrR`òU¹·Ë " I=¸¬RG>ÜzÞöH¾ Ç “=d¯FmMt]r&›ÝPø!ÝOï&HmUÂ_‚$›‰M†èzN³é¶VO,Äì¸IHC¬1ikNåSkŠ 1ÇxCŸ…¢w£êµo˜M‰):rL{pš«T›‰B#(Õ›°€š)L39Ì‹Ô. úsO‚ÕâT/Šd‡Ä¡Ö³e«Cj©ÍŠ÷I…>0½•XM¹ þ•‚c ÛT¡°0L‡ H’ÞÑ ¼$¹¾mÕð’­Ïã0ƒk²ahmúªœØ¯t‘ý”Û€NsÛQÛGVV:Ç¡‡Ýèq7;æÄiË#ÌI™ÉJªgt²T¤ ʳX"<]6ÚœèÍ™&äןšÇ¶±”®Uáά¥j5õ ˜Ñ;NÏŠ Œ*»ZÐìC-U!6«qË1z”Qâ­—‘E°›>W’ŇbõƒÀ…(,Õ9I¢à­ÒgÙi )BÇ‚®ÿšÇ´¸Õ•ʼ9Õ–ÜÇ2©5¯±³WzkÚÆR¹W‡:²•ªQc;¤˜aNBw£XMŽS'p)ñIj©Hl÷ªß2U`ÈíLªµ\9+¾élNkZéJä׋Â-„'z, ~ Ù*¥¦xÉ=Ì6NaUŽÙïWËÍU‚ß=ª¥!³Þ«|XÉU€%½LÚz®¹Õ{Ÿd¤.ϧñ¤‚–ݽÈQà?sŽ¿gB29Dðûu XLtCƒDÔýËÖÂ|># s(ñ^ÜZÂT¢Ãt3ƒÄ¿Ìꎈdr‹Ô …soqÜšÖ€Á€U ›4dÐf.ØT›ìÝkS6ØlñM&ú¿ƒB ÈåPF~ù(®Û†Njê·‚õ±þ*Ý3º„zEX‘pu²UH¬èM{H²É¢ÖjZ›,13„ô¶.h²R¾Ë¬t&ÄíLL&À­0]*ᢨ™t­U :1hφ؂ö´‹Ìëó˜àœ£wÏPFfÙÍEZ-Èb6'6g¢,+×5µMÍ*Ý3º„gÄ!l7•Z“H|yvŸ ¿e†eU º›’CKD­S0á¿|¿4çQÏ4ï•Óún¼7!]Í­VÁ†8 ¿dcQ\d-,&vnüÎ;à9B ÜÔ^ñêöÜá¹XqUù±À<€½UVUøV‰¬ÆíÅC–þ)Õ °ž%PX¹Þ}áüû£@}f³D¸â¡LlMxcÜH¸½W¢Edgáq6 È‘¹Ç5¶¸íN4‰ó°d2Ã\Ø y±5°Zg&“jtÜ •Q×ÿ(½K1à\ݹ‡(A;‚r¡œ(Žgíÿ´/[ÎlÈ3šÑ°*Ñ^^q+ÔÄ,U]ËuˆˆQ\ÉÚd‡;¾WMNG3‚öÿÚ¢Æs†2JwµKŸþЫDyyß×Á¢òªŒÎmºÆýÉüsP‚wä×v±ÌùÁLÚQïf¡î ÿ‹ë»Tf9žÛs Ê/ø¸4x ÑpË3r³P]“œwôŒS ´œð‚*1ùOâÙ Ô¾#~g4ÍQ~Jα‚õ?!‚‡ÝÏ"£÷OâÞq×į̀ÝsôÉ€Úp@6Æ 4`3‚dè|3nôØõJO2œÐÛ[xDµ³õ ÜÑi?ïLs™ Q —ê5Sæš6Ï ÑÓ,ÅÈ8÷QÉÄý“ ƒÖᡌ¥î¸"÷yd«ûí»vFˆ™ðMª/h3F@†Xž~ Ö>y‘óV™«LÔ§b•c%m¹$\Hâ¬2ÉyS™šœíZDž*S2RŠS±Jv+LúÞg\å™RÌ]’¹ö‡Ta¿#T7›Iš‡;fážÈ¸þ*ç]vÌÎb³â99Çêì¢M¤§“Án·$>9á xõz·Øžç@™‘µ2?>Ö}auª£‡C}•È”“ \Èun`ø”0‚Ù^EëÑšàéÛZëÄH‰—¶¬“é%Z¿ “i宸$˜IhŒï‚K›¯¡9ÉF¤7œù¹(s™XÙ3ð'4:¸É  ΤµpÚ 1Üå{r,Ƙ NUQñÖ²øEèv^mžÕßL„ºÈm¼¬Á‚Å=ÂÀ*Ø«,ŒÏeî Œ"Ä œ‘ýº1>B®9ÎÏŠ£1¯í”Ç‚dVGš=žÒ¨…‘ƒM»®Mˆ^eRFÅ)<ë¢\À.Q`Ɖ̗8”Èp"V-6z¢¾48ðãÏE•d &#ƒÍíTǾ ÷µR!Dˆ!׸•HkÉŠæêe1‘ÃÁˆ%¢¨­cÁ-”Æ Fº» É>´ m¤ ÑârÖ6»á§=æn*¨ñ8 ÆXÁÿ&Žåàå=™|3`ÊÎ=UT<“!¼ÖqËŒ2kõºëœpÒ?L®ˆó&µްl Ö‰¸Ü6Û{NÅ´n2MnÆæ;»˜3X~ôÑ7‚0â¶«ÆÌøL|9:)“Å©´s ×8L6as;Ù uZé^ðO–k`Ô")øM‹›ŠÚÃ9î„Êá·Ú2•6>-i]Úúå™U!ŸPË·ïÉo¶uÿ(Á '$Â4ŒÑmâwæÄ;º–¼µ¸™*<Üöȵ”VFg8Þn`NV¨ð› õá¤ÛäŸÌs>"ëJ‚úDH‰|€TpÖ“/ÀJvÑÜ"9í½ÆÀœÖÑÏ:öèéõÉÕ­pÖyv sõQEÜäZ®?(’‹HlBˆ×†Ã0Û%JŒøF4&ÂVÊÕ϶è±[{+V ŽèkÙT?n%BŽk4Z ÎPXî~¾“ɽ: h.‹ÍœëH%Jtj΃ØÙÞ¢R(ÐMðöNsTXŒ‡(¯‘.­¹PàCa`|ëšÓšôvќʂgLé*{‹¥À'F£At73âs­*‰ ے?Ò"¾óX¦2Žç6 µÛ”Z+hî†æiXÍRLvMÐÞEpv(t¡ì†/Ö¹@G‡Í5û'>¬ %´X2š$üÂ>Ùw3¨0ß‘½é¦5¯.ÚrW–Œå<ȇ‡@2Îó1xL{¨µ£·âÁ>“Íš®eZ³T¢a“ÏÊ%°—8ë&B¦Q¹ðˤT*A‡(pî`BCf ˆÖ–Ù+UâÉïM¥óf¨lª¨…Ó„×:»])Õ+J5C«4B›Ü2ýThqè°"ߤ¹º5›ùÞòJ£I…¼×ÕA¤26Èk¦âMëÒù³VR«5üÝh1M¬^C£ó 7ÌÍ2j7<øbMʈaú‡´ë>ä羌 Ò Ó.Ü©¢©xŠëQ(µ s޲m“ÑCp2B‰Íév¼SM¢óå—Siá¶m (‘!Q*Ò^$^J¤B{KŸ“Y %C[µã5aøuXÒWÎo9y¸gö‡ÝòŒTÍ랊=P¸vжò‹¤5gj0ÃtÎÝÙ ÝQ‚ÒT)>whæ?@2Þõ}Zî«„ú×Ò;£)ŠûMÍn%>,SYîVèÂn³Uh°±W7`2kºVxd-xªíö(€B%µA·e‰­†Ú¬oÔæöaÌ ßÄ–û&ß•Ñb:«&J1cŒnlñ8ØPõõÞ›´ºýÈOâS6”m ÒU¢Zk}‚{éÃ7œs[˜ìÁ¯ ù Jöei1Íâ? 6‘M†Ý›qËÌÂ?³°ÿ¨ Æ Îu€.išOv»±ÿeUצ“ó)œ`°–mEŒÕÃô·˜ìâ¢$ÞÒ°MØ•R[ªÒ†‚Ñ›x-ƒÆÅl2xZ­³ð­w\û÷nÊhp]¤}£‡Û%g{wôŒS— ¶gÃîæ;(ÈQQ3CãX;(Y!“Ã%ÙnZLˆZ3aÜ‹xü$c¾ÐÃ&ùdÃëß«»z$™“µïÖøùäj‰Ç8f°nÌ9FBŠ‹˜ÈÏ{­³w þž¢³$[æÑ5)¬V ÃÕ@ââr:+ü%:,C79s±=˜ÙÚ*g'œq9¥nC<æ …Žd1»1ÝÜ®É\ÓýkÙ¿ÂEZ"7Œ2½¨l@´‡ lê ,ÌŠÌZÇ2õhVu<ºh¹ÆM•Zæ P­±ƒX¡+, RŸƒlÜU›v)œîMçfFŒNc³BŠ‹Þ9D„÷/dÈ#Ì«b;Áû\ §‘ü2½•kÄÄÑ [Tý$½w%TþTg7ï5w(Qû±ZÿÈ-Y¤ÃÝ?³—«åŽN‹üæ9ŸþW«g'R¿“Ioê¦îEÆ ­ú¯[E¦Qûð×ø‚Þó&ãbÑ,…ì]à­c‡‡ºã’ångŽpêxMÁ¡Â¥6•G6ÿøÎæbB`¬ç1÷ÍAõÊJ¦¿t³l¸\{ÅÊï$\í›TòCï ÇðÌ )ür î'pB%u²Ø®ZJBÌ‘xfV"NÄ+ô[ŽR%“ï+ÁSdG0ü®’ЧÒ@9ÂT¢Å‡Hþt;ò^»’y6'5>ÅzÎE©¾ %Ãï5gÿ%Fî½ýªåÊD-Ñèÿ¡^¯–y>7óAaúµh RwÂŽÏÕiò5"XÙR‹‘ï Èîoy«F“ ñ±hº¸#>«F”ïkØþ!iQá;ÁiQeÁËV#U‘œÞ-Z4ˆ~6-ÇprögÁZÂ<27ŠðÎõ-V€¿E¬BÑŠB²‘æ­©À-:+<¤¬lFwb+#Åox¬ ÝæµïåÄ1‡zaŹã©aî™É –€¨pç­~Cýò€B‡òÏ2A _‚™¿7Ã0çœÊ?|!”Âi¬âŒŠµ^µ•ùžëdGy­yñ ØPŪÚ+ É~õ¾3^ÕíðZ4°Þðÿu¡¼W³cüWøWx+aÄo†I¿i˜ÊÕü¹çR“ƒTvžNO…ƒ\ï¶W;™½@gfÊæáøç»»Ñ¿†e¾„”â;ÁÃÑj¿%…^­W­e~C,=ôhù/Œpˆådz@ÿÚTÝ$]Ï9@9îêXÎਣ矖HLì@s”üÊ x'neѳ2iÜrÄðèâwNdºÆ‡ZªÃ¿féæ##qͽkKߙà‡»<õ,C‹”#Ù?L”¯–«~™a±BÔcóg€ŽXžƒ>' ÙO7ЫV¤Bq}{µœ.ÞŽ\:™Ç þJ7’TgáóÉÊ¿×8dh^2@à¢ùÄà‡Çw³Ÿ‡D2Ö:ÇÞ7ø!ÊP@á”v¶á¹×ù䳨GË\°Ö;‘ Ñ n3èR¦©oî¾Hñ;q ¾¹þÈMóQ݃J'6Û›;S'~gŽ`ωÿ6ôV'Ñi^ȶ£ñ©°í*$’¬Óx¸„qM¬Ý\z…Ã+\°Ö;—«ÑZO'£áÔ°ÛƒBŠîÔOÉR"v!¹ßL§ºIÜ)û“Y‰NÑe±^§-©¼r ŒÌîô7«¼–V%ò¶Õ̸NBjmZO':bˆÆJÑ,ÝYqZF|š%Ôœh“õ\ ë½Qve„ÎËf¢öŠç>`t1!‹ŠÐo8q6i³v_Uº­Ì‡Ã£ñèíV´xX¬{›õZ&üdV”8Œß)…£‡Š|ˈŶ«l÷Ý_%c•’*Ö•-«Ò¢Ac¹J“l2ñ3 xMßéBRØ‚jݤf¬hO¼2QGÈ ¤üÅ­úäcq*#öOì¢щTqâTH¿ÍhîU±Ì‡Ã0çŽ=5þké’õÌkûìš›kAv0bKèP•1‘f™U§ÉãüüŸß+T½*—ÉÎìÒàLy…:&‰OÝ 0­äd¿h Ç†;U ¼ý÷Ò#²°}ÖZ5ˆÞlhâžòG5E²º{eöà+V|z­›¦rBge (,íFc’$_á¶h7râU¼¦ +Ç7pPáöõRh.;—³*«„ŠhÀföñéXèŒç!üMÄ! ¬Ëç‹vϱÕÛ´]%|•†kEÎo&CûÁU‹\· ÖE~ÓD€Ú¨aŸ0‡ r­.òˆ¢+<—­o%ò¯óásQ1ùAùèq9Ö©Q9jü:d3 ªÐಖÎÕ *TŠ4hÌaï 5že<7¦Ã¢è€noÃù»‹š„&ìêס³´à2Païs¾Ù?šÿ ÉbT5¥bcEòRÍ`ÞŒ„ËÊßháiÉášìöôƆûH™‡=¸·óNØ/D|ã’´€*âÕ£x©·ûJ“)1ÁÖ…(áÅ´OÑT§ÐÝ/™¡áNH8§l(† DÑ9\Æ…Ù¤±±Añú_!PiŸ=üÓ¿çŠÒg(òS¿Ì‡]ŸIý×ý»•htÏ”º«¼‘¯@ˆñŒ-?²«Žc°p—¹>•{Iü±­ædß5‘ÐÜ1G6MÇ´(èýÔãG…»¤½]%Æ_"Ð Ül^Æ¿t¯Yìï7¨£QGù€ä£3³ \Y±Œúœ”v¨#e‰ñ6NYÎe«Òb õSrK†k³ÙÓ5ì5\Ó0FÄÚT0þ&ŽFö¬ÕDÆm…_>+JJø™õZZxØ«Á‰ønR4žta³@Rè-vøN’ý®†ìbÂüÂÿ¶ò´H86"cý.U]‡ÊPû4¸û~ˆúWý8øGøœŸK>ÊPyR-ÿçA—ÖÅ^ˆú5=˜À‹ú¯Ú(QáÑež},*;,/2žiMÆH”jþgú“`7Ç(樗iÚ#ê§I¤²æ ËJéç*P`C‚>VÉ^ŠŠÂÇ/¬£Ãvú«D:uËÔÒÜð­ƒ\bËTœ$p>úóó(_,ÏÓ#Ça"µö„0Grˆ8æÃ7=Öð@ ^˜QÏgO(ŸáâèÄýPˆßfëAM¥B.Öú)µÄ-)?¼&´àK¸U‘]¾Õêbµý×Z½]&‘ a;£¶ |Í‘ú*´Ú ›Y8*Ìs(±q„~Š·'räRÜ"–ÆúW%òo)üÌÓׯäÞRä³Ú‡ëYù¯Ø9n‹ö)„å[Ш?ìªÅ†ènÁâ]J[ý¥#ÕÃî|^wy§ÒbZS£šF+Ì‚“ñÏeš!b‹íJß5iWf9ìÿImŽ;¾·y*#°‡ùä¦WÉCn.T“þd‚gÀ(œV²µþEM¯‰.þjȇÆ^֌¶©àå ïi!³¹vâ¼3Š9ì÷òlSûD!8$íÍÊ%=ÆËS¡Ÿ ¶ú)–y¦BºeL<pZ«nK•ËF+€ÂkÖB‡úeöZP¢C?)šõT¦ð}м»Œ7)zTG²%¨ UQ‹lR¦Ðª“µÌúªÜŸÊO¡<ÿ9oЩBå8¡øtØ!ßUû_ý7 ßærtZ¿Ú¥éÎNf—°ó öZUš?ËŠòt—¯£E…ÞnXTv^ó)à6”Ø0, C(ÿ“ñB nj£B`œ›~'o@QâŽ|a»ßa•R_Ý)OíDqú¨Vš.í:iª1N;Ô–Õ£#x£LŠöì½d1?¥iò{?¥B€` m(ç9öp÷qá=†j,Q¿½nõX"Ãú«Òâ´´• ïèlË6¸·‚‘}qƒÄ×­£0ïe‹Z$."kÔÒï)Ât Fæ5U§Pñ¹zÈ^Šó¶U~Ëþ×Ëndþ óš”jhÄ ¥vƒöÚáÄt7J]’‹›'w­S*´žb+Zç›/­Ê¼ÌŒÜaº~àá»ßXÜŠì_/¢s°D¨Ñ;ž~‰;pQÝ¿#x£Å5ÇnZϰ È#Ëb gmrvGæ9öð÷Dm“¢Fþ~J4k2Ç -µX%˜SxûŽ‹Üߦ¼œ »ØVŒRÞðS…·uËB‘ R¤C‡o TîM 8´/SI4W„ªÔ*|(Ãzÿ Î Yj¬m‘½%˜D¿ÍVÈÖmÄ-*Ðø…ZÃÆìÖž‚ ù½í£‘Ÿ1%RÝ„'}²SŸòù”ÕÊ!Ç#NôçV¦ðA[k‘sölT“Ýüò?$C˜äsü=ÈFŠfò%>f”Þ>í¢â^x“³FÅìÞ `¸q p¢¸w\½»ž0}¨6›B…p^¾ˆhÎ;Z«òw+s/Ù3"¬‰ ” ïÖóLc¡:v‹›šÞ‚'½Áïd£–j•¼KëâGhMà¢YsW®~ ”åU–»Úv(™ÞU ï§)üÇ#ž}ɹ¥9×+ÇžKï%ìܵUµGж,1â­ŽÕí§Á«R;¸1{(£½b,ñŽßÕ~å¼_?²×weߢ2úaº×ˆDûY殉þ°?%¨|\µã2µaýaVÑ;œ&¬¢°ÿ,–«ãÁò!k”| Šl¥F?Ô…"!sšËKÝ´ìÌtÄ{Û7O$&àЧ’‹½ÏÑ2x¨§Á”÷Q’³#‰ß¬D•Ù‡ w¹74¡Å µ9ØPlhÎR1ƒû¦ÅsöóƒS[‰–H ÅóÉv`}ÊePîrù¦Œ\¡Œr!Á6~­ÊxôŽãîMÍ+Å ËIZËÚ/j<Šöí[K†­¥7ȯñðj×yþ•«ÊȈ>[õRè#Ó¿}txþÝùx¦Öö¿ôNžoÿ+Ndé±D¨ðNÍéü¡Ju³­ôÆâà2¸îÈ1ÝÅ8§œê9ì„î9£4çŸsZË[¥`uçj¬Å!ý?¦|*‘ÆCô6/(»ÑáÿºçôFD†×G¹…|þw/_¬YcGë‘î‡@¢ºDëjZ6´ÌTkl¸¦R(úTg:Dv ”}Jn¨‡º!rdh|‰Éî4¨\ã„4n¹R='Ó=.Ǻ@†ÈY5Êñiôx%ÜϪtËE•)fÓ£Ra„ýFÊò|‘ Æ @¡Òœ ƒŠÚ¶´.VˆøM1á>kȵºV®ZˆøL|Hl‡QÄZÛMÊ‹LEm6“K.¨ÈšŒhÄmÿu$~CFsEvÇ¢ÁW{U% Ò XœìC&¸ŠÎ•»U5Ô¨0ÙH®*=¤8 šuay²å“*DçßIAJCô\«$8Žu&† E6ÞÉÜ£G}"‰Z¼3]‡rˆy*!ôǶ¯?J–€Ü¦P©Ð¢>‹I·7®Â-*M’áÒ?h-çcR¸\“h<¥G‰'B‹éÂ'Š¥Qù=´ÇÄ¥ ®}5÷ uB¡ÐÈœä½åÆR3$þj—@-;áÀÙ!,|”wÄw9ðVWº_§SÜ®ÉyZËYk)uëhñ…P.zç(ò†óh«ªåèШÏ|\6y¦Åå'zDOà·PqÅGäú4£Et3¤FLJüŽtGV.¤‘±85ÒmCÁCms(v³åM,yilÈ#b¦@Oê$Uf™Y=xPÝÏ>´1&êðN¬uûÔÈ6ÍD5­‰­½9 èºð„)N^"J¡ÕSÚ‹gc…Wo²H ‚ïÅz&lÚÃr¤FŠ÷V2”4‰µ:¢Q¿‡ ÚxŸþŠÿÿÄ+!1AQa q‘¡0±Áð@ÑáPñ`ÿÚ?!žî§ÿìgПC/ñÕUHšÝ"Å×’ÈW8TÿÀÏàÏÿw¾\fLZ­Y½ädõ%gÄ’§›è÷ˆqàû£ô%DÓΟ¢k1Ù6”øž7Ñ1——±ªé¬šGð‡B˜ªVDñ#´FSËm~„Éö—èc³B¯!?V. AOÄYª. m²Êª±z|Z ԹъRw© áž…½+ábÆ›IX¬Å¢, €°Pz¤OšþG¡ÉÚ ‹L%¨;ÜÊÇcžºc$eõ’i†"TÝŽc½¥RûT‹Û“/ìn€dÁaʆ™{FËÀ–4ZI4‘ÊêVÜb'0½9Ñ,pÐm?èCJ›ÚÑ8$‚/±BAY{¯r`ÿé1æ~‡>d‡ìÒMŠé³y"b¦æü»!©1CEyeDÚþQ2ö!´(d ¡l²’aÌ¡Š#• (6ð]äA"{iÚ.%"‘æ åcò‚bä8¼_ö>)"ùÐõ­&ñ,aŠ)¤Ô†úfäsQ¨”™X³ä"MÅI¶¼‰¬ *»½ÿzŒRJ¼Q®„Šé¶o"ú|Æg…]ܺ+¤>Ù¼Ôµiÿb×`æ'Á™ä2<—b(•C‰FØS#U>íÄÉ .sµýžØn)k\È¥mSËA „‹ßÀ¨Õ¼!O6/“DKqS¥±šc59è^ìSä*³Ì‚Òê¬-Õ†fP°Yd;3oúcWQž‚È¢ûÔ“õØ‹™î 2·4êoSòÛ&N …»J¨¬ØÊ%*ÛŠÌ®ƒ¼¿JW¹:nê=\êΆF›…O$N“‰ùO6¦?º’¹k _{‹|Õ>bâ.K¢ÝXrš%üÔIáQ“‘1BK…›‹Ed±È‘#ªd-Ê^ïQT®G:ºÏÉN$­]^l”–Ôu‘Ÿ£;ö*¡Æ¢©îC®½&ª¼òE’™)ýWhm2JòQ;I¦‚ÃZ½‹‹¥;E€‘ʲ܅mC—pGøŠj–Ä!o›Ôl)hÃ&á&žÜl›ªAËû< ?~bÄ5\B›$º«¢ãpb DäÓ‘GÕvMö\HäýØ“÷X–GVÄjÅToD%µ'ÊôH8Bµí5˜ôÁveRRÃ5Ù¥”†Bc5;©èvEÊeõª _¸¸ád57DˆÝžÒò?à½JWÉ‚RB†W‘Ñhï!áÓÉlRv¿»Ã‰Ÿ€“ôØž‡ÅuÉQt0еëgk5‘{²ï#žÅØÅxdLy³Ë|`ªÜÃA$–’^¡UÆ~PS,OÝ p¨ÉEDBâÜŠ(§ÎF%ÞZGwK_øû© TY¬ŠÊ7&¹ìOävb8Sþ=ø0ß,‰Adœ‰R˜&§»ßˆ'8ER%j³Vx*($¯L›QºJQT8}Q’DêÐñm" n”¨i°ÃK‘:©@Z± Ç1âl£Ð$Åe4óP×âšîÌ®è÷FÚb–¦BU4>kº)O ªQ_(UÚYAåŽ.®Id‹M¹- çµ ¶ŸÅtëÙ¿ÔXŽ‘Ë0¯ÈJæñì6ä~Ã3:–ñË6r2ÐYƒÅR‰‡’Jž—"t!:Á¡»ÝK;ˆQÉP’Ö$JÆE@£Ð#"5‰Ü]³$ÜϰÆúv•–†ÒG]¥t×TâŠ2ÿmµóÛ9®¡ÍŒUúç&>ƒwe™@NÉLPÊ}‘ú™BCN§šJ6S˜ÞFlûNJ™¥îlrÛÌ^¿Á£º¾mBÐHDm (ò½žïмH’â|d]$*ð%#J<ˆà#à¦R‰“ˆ:E•V&Q”„hrb3cÆJ2Œ(— z ŸðVV‹7 €¨Lkp­BRH”&Ñ´UïèÆ1ŒAaAAa„ApAAAAAFAcFG£—øR%º$%yµaŽ6ŠQ FM…´íÿáéÁqÏÿJ*³LM…ÆlBцAÒIÎvþðw©)…l{µûÄåœiõÁ‘”X\êS-çüñÏÑ·ø@÷ذø Â6¡*U 'Q’Òð¿ÀAQÈd7žíQïÉ­JÉE5pËT<ֲ҅䴛|ØÄ“Œ“Œ“øïü«Ø¼ô,°e¸ùŠØÊVEp°ÜޱüF¥§ßqÌ•.Ò\`Ö‘¹©¡ÆÙ5A;>áG×v*²µD^Z‰“ÝÉtÝsg•ìN4q<–‚ó!a5Y/Øá0ñ DqùQ͘¤ë˜4ÒítòÉ»®Ì݃„J-G¦G’ÌOü¿:%”#[m±|ÎB§ÅŒpºŒj¿£ÿL‰ßÿøpô§>‰¹)H¥nC9„¦ýü Û÷§»ÕŠU¬d„‡ª?Så3IYT™9r67„Ò³‘ËýçVûòÙ±:ü#Tê–«ú…޲ôŸTî!ulÈ*¤S~ÿÆGåNŠŠß‘Œ|[ÜÂâêL«?{üÿ@f¶J¥éóòå´:Im¤‚îÈlØ¥d³Z3Q¨kæÄ42$ôËÁcÖÜò‰ÉK¡Íͽ.Szµä™ %ßJ@ôðQåu‘ÒÎ,ó6/‡nsBIÉF÷S7ÄÃ$”âèÓ £btMØóø±ê¿Ì|;Œ!H¡+. Ï·>n™q“ž<_ßü&yÎtdoŸèGI;¨Ê!i&¡h’ŽzéUvc=•ä„H»"júRD—yQô GÑÐIÙ?b!Ô6r¬/ÐoíÞH¿ØeþBY›•ÌÞ¬x2eºÅ­kñâÔ½aiçžHÛÿˆôôŽÿv–i­ñ™_þÀö²J¶È«{.&ªÂÐÀ5YÚ¿ø\¿Ê¡{¼XΨ¼—£vZ,|w *±!Ò$ ÿÁ™á8ØŸQð_ñmvÑ F,b§2­±ÙK/œ!l¬Üß¡ÅÔ6úð±jZÀ®ak¦øÿÂOá?Çz-D…"êŒ< ”f¥fôÁ*Ù™k²'J+"É¡Øñìe ¨W _JËÿ ¸ØÿUoÎ0T:5z0l‘VYEd_/q÷+\§¡fK 1ø–àrRtÝEÚ3d”ûI*<á(3mÄ ì"^JŽcLiÊkXårˆfÓ#dy‰fIzéQœD’DNë<jôœ¯©7“¢Ê"oÝ”Y!G*Á¦¼ ²J±"sZŠåÏ Q:ÔGjêj6&¥\œ“ù±ùT—W}ˆŒ ̖̚ŅÉdL ¿_ú:’Õ“Ei2êÜ‹EÖ2Ђ‚‚@Bˆ‘ì—•þÝŠ½ ˆ‘œ¹nY¹s!H¤ @ë='Ø]4_ÙAØ3-TË1c‚ªÁ+ •Ä$•d©ú†Õ. ~õ¶df䓨rVUÂ}ÕT íš]Fùûµ£ø^¢0Ë×Qú׫~WEä‹c¦F„*‰:Ù«GÕHò;Ši î˜Ö–° ¡Jè«Gç¼&“răzVY,±µdªœÌmVf™IEBªSD:¦m«"†Ðq°ž$Ä*I²-[ÝI¨’@ËTÔq<Õ$¨ÌK&É¿lšâ2l¤®³dÐn9!«=a—àÁqÇ’RÊ+«¶Ä CIŒ„ªÛ+Zï„M†tT$ÆP!Í: ŒðÇß§˜´ô-„¡B"¾Süˆ ‚0‚ Œ`‚ R?¢#á@hµæõ#ž ZÏl!4£‡çý0Å:mscÑ«q±ÇHL9K%ˆBZŠT¢nª?Ï*FäûÖ£ÀšÂ‚¨\‘ý°¼ˆ;ØF³ŠÈƒ2 CgHS† ê˜½-÷$®ÁÚ×ê]ó!su, ;|¦J[yØçhèPõh%KšZw\µ°žîB°ÉDÕ‘ºW³nº›%Zˆ‡™.©“ð]äeäCüeÆÑD`×§>‚•J"„‰0)C·RäŠv²Ü|ð¡6M 0——²RgJoLd“%†n¿³))zæYˆBZŠ£C}Z?ð'@á=Fd€´Á™¶eæÎ(RGº£¦…Èí.ÄÛ Bnka\µM˜I¹g ¬ó(w šìS6ª•èPJªFÃ)ß7«hí©Uo©/˜Í)f¹O -‚Ãé$5<Ççü –†—ãDú“è4444@×à|j¢T$W)ßQ“á>Ö)ª%e±6Š»,š²59»z·2²KdJíSàyÑEä£tÙÊI€¨Ú… Z‡…% Kw°ÿ='ñ€[\JÛ µAU­09ð~cCCCCCô¥“®‹A!)--š\aû„fO´×VÒ’íÀô¶ß"Nµà3»O’)à&²´BP hRrôweÁßò%5cQ™ #9ã…ÍH¤Ü,Èf$¹ÌdÆÖr¸¹ì;Ó›ô9Æ2IKvH•ˆ¬Wy°É SR~ØAXfƒ8#»Á”‡´ž XÎ1ëG x>‚›‘ ,Å%55þ#d€Œhþ‡Ždµ[b±ðÞ×-GRT¸±1®RågH¤T y YÙ6R›—…á×µøâŠ5\…SL(°Ååuü”Ç>&¯JÍ{NLNL3³õ^úpWÄ*_ŒÐÐЃCðcÒªw½Í²¼¢Êd¦[¤êUì·cB:y2ðTù¨ÆT"D¶ŒØ©MÈs_N¢)R¯qLx¬Þ ð~èø.p•² l(: 9£Ï)îÇ—ÿMà…ø‹†hhhhcðx¼s%Kšúì-I(J‰ajxe÷2ꎭ¶sbÁŒçwÍ·&E? ‰šÕIn¿£0ÝÆ(¢ eÉHõDÜÔU_iË”à«$¸gÎûâH0Ôr DX‘Ô#Ël¥Ï‰¨Ce’%KÄw|gþ0ŒAÆ1Œ| xÎ)½·=.Ô͉ SD‡o|»Ü´å¨±ÊÉÍ¢Ùý,P#8(v‚TËJ,ü™)ÉbhCɨ_‚Äl…ù.„¹Þð² DXˆŸÓÏ:J^Ã_‡™¬J(•¼CÔ¸]¢Z[WQ-ݧÜí²¢ÕÚþ¡ÛGþ.xO­˜¸#âAà cÇ‹ K…VÌ—‰‡Q£`¾«‚›'öUçÛSº’#D—‚H“r¬D’6mÎÔ8ÐTî]Q1£ØAn-Æž~ÈP±r“ièûØ¥.–ò òs¾bI*ìà "aSJ…ôdrÃ&…<Â]¦éCö‡bœ#ÔB8#âÆ1âñW_¶„!PFŠ4êÙ©mvÄ«×We¿ã¹S­HΤŸzA$•&¶Ê\¥i-it©ö[‰F4·| `–K³y$òšÄ5ø‰TUl-²Ña !—¢ÈÅ¡¢¼|,kWpG z>Æ1ŒcÇÁµ À/eÚŒVÄ UÚÅ®áìQâέ«Åºh­·ó>WŒ„B[J)ÌÙ$3ð²' ¡+!1bý$n˜sóCU™ ¢Ö(5g~IJå}ÃÊ%BÚ8k±îV›%¹%: «…Å ,/T>i}èÉž×1žOUBM÷Ò95Žãý‘K¡…èS³d ¢g¼‹Eµ¼FIoøð«#6UÝ ×_ìGq:2}5%ã÷~ÑöM"ÚüHãéÞiz=5÷Ào`ÌÙî<¶0Ù]zUBY¸¦.ű šŒçQÎNF>4£âÄÆ1„™!àÄ6óˆî‚ùXZç¨gb­Ô\×Jur±¶Ã:ïHN¨È–=݆éŠÑÊ¢°­`Æì+9j¾ƒÑ†µ;ÿE”‚ž~’J¬$Ü]n Ê‚Ö,7»¡jl(1¦lGî¸FÕ›D¾cb\2p©Dú¥a&’ Xˆk9v‘ä'ßä_VþèE™›wæK¶U_ ‘ŽRg„¿b ¬ÕGØlóVöi•ßSЛQÕðßgÌëä“ËÐl®ŒþŸqt°.\9\*t w°ý¸ã‚=ãŒcðcÃ:?pçÜÓSò}n¤XDCuÀ ü‡#ûJ[ÊÂb…,õ¥dXƒ¤KðN=á(2+G  ›½Ê‰ó÷Ù››ú¡ã€œ©çœ.{3ÑeŒW{É(€\ˆ‰ V2!]Ç©º4kÁ °Òœ¾ïðàMØÚ-@&Š!’삈ì®ì2:.b~¥O!>ÈÊr+?"Û·àX›N2G;’j•«‘„Ìp(ÓäUd=/LJ³7wC#ð Ž0Æ11›Ä¿(§3CæðMýÓà‘2 ±Mê´÷g"a†4&ïé#næ)9n[¥ jl6 ÇÞÝŠÑׄ”“ Ø#Ã71ðÒNŸp…¾PðÛ=É_“[`(.ÈCDfr4šaæ^mSiVœÏ(|ø{‹êÙ¯n '[œ¾Œ'ÂörÂ1\1ÇG1Œcø¹'¿è¦s ï|`ÚËݘ"§›F¡ªÞ a†í´š‰)a²È¨Jw æ1œ|„ñÚoj“ Ø#ý †·ÓÛBÄ/Œf1êä“åUÑQ“Ђ Z¹äm-ËüˇKEÃìÌC=ʯV/âj{~ D pŒcíNËú}SY|à½h«è¸!ai©hVš#j© †&É+º Ÿ‘#·=Ì>_˼$¸µ I”|võ] F&±™¥c\<ªˆä4ÑꈿÉ»Ô{ dÈŒW•WWùý (!Põ ”êœÉe¢IàhçàF Ó!!,GˆÆ1Œc0Jþä|põÝ?X+4"=“Œ9˜<Ï$§n ›Àü@ŸBQÒ‚j,aú.ÔŠ‚Q A”pö žhPÈl¸cSrÒKP%.íÆfÚ·<‚ŸÐ‘@šRºòã†DhËÉ µßÙ$†#M0oe·2$A$çöÁzh‚„„„„±#Æ1Œ|z¦¥Õh¿/‚aKÎýÉž -f²`ïV·¹àBÀÅhî$imÂì;bu-auLÝ®c±P± A`õ'ü½˜H$yáT'L²¨¤„ÉÜt-Z~V[6¬‰în•]’Cê*g$ÎSÅþ=°Ë…F‚H§vJ£’Éê:>¸?0åÀœ2BHjÕ¼ âBX$$$$%Ä1Œx1âÍ V®‰?l[{vFeM¼6ðN_Q´qºA ˪rÖÏ![BRÉ7 %xËôY*uUeÅÛU®ª!ÌÐ-Xë{àv3-°­BÔÊ8b·6endNŒj!¢Z$1 wHÕ!Z/Rœ©w œÛs& • A"fËt,¨7ü¼±+¼+Þƒ³ëƒó ˜ñlOÃæá²Á­aû(!Á6õ H‚„„„„¸€Æ1Œc;2,?`v_E•ÓQ¢¶|ßü%«¥*‚-ÔÏz–& ÙØK÷ÐHÃ>è®þÐX•-©'Bn“Lš±Z²ù±¨Yf$(XZ³ÝذµÛÔ)“ƒx‹ƒÃ&CA™’ÖPÒ·©šðòÀ’Š—%ùBYØ­\ÑçäYÈl<xFû¡™,d•ƒü Œ•Rö‰ô Þ\ê{1gÅ!S“ˆcjMgYÔ4TÛT«Ïï¹CÿQü;‘¢MÙv6Ùþ­¡!!!!!!0'cÆ1ãÞúüuù!ëùWñƒeÁe2¥Êƒx)à}@×§âlAuŠ`K]ØÙI::£BÜç.øH}°2ÌiÊ!L0xúlø˜˜ê@ˆÔØÅR§¡™_q¯¦à¤È^/%Q!"§âø1²h3‹Ý‡‚MµôöB²Iä‰Hvgv¨8Œa>š%Âñ­HjóÌtÅï/çl˜@9›™wÍMjI BÂØ,¦ˆ¢ 01Œc,úL (¼‘¨.vÀ¬Íšœò5‰Bw>£Q÷R)ù§…ò%ºY „,¢!]i®çå³ið’,˜¹´=Âr3ž–aÙK V/CêŒx,O’I$‹B§ ¦¤hô"ŽdÖg³B"¶T¤u.bk|Œ}<üÆD'3ºQdÚ›ªE§LžMBÙ~J.ªøÑÞrE ‡’çCŸaÿB²êÿFÏö/£‡àš·êÊ&GàLˆ¢]YdͶJ_Am4Ÿ5¯8mö4gÂò)/̬Ćt¥Šë“ºç1­—2ö„P|7…uCEÑd}ò*1d_Í'Áãs|Ša™Ï‚-…ä¼îAf烒7äyFçþ¬Ääw¤L4_0uÊÖ½¤÷|‰B_=Íþ¡º ¶*ÜwèsÛ8Ù)}£µædˆðmÝ4«w1)pªK¤ò|!uÍÝÁ Ñó§ÙAÊÞÂJO°èqÄÝ%<ÂmJ®¤—y’{’2ÿkȤ¾N|¯Ñ*ؼßmÇ×tCX! (¢ˆ&†1àdžáÇÂý’<“Î_"g×ÅOÈÔ+WIŠ'”(ñL¹#ÛSÐ@Š_Éý¸ ²ä)bƒ "•}ÔBí¸ Ý‚n~ ¢PZ0¼5¼þ=)áLö@ê–>Íê4y§ì͉H~Œð:¦Y2öü…cîÞLöiCº&Ë<¾5Æ -gwØÈTýÀ%®<ÎɈÌí7ÖÓ§y޾IbüØoW>ãsÐãÖ¡»–Y|•d}Ðk/º| j{ºÞEÁ(‘±$\Fpu.hQ#%˜Ý–Žîú©ôÿWàOnwª/yò, ÔB²ÀÌQhGn*ÇÖ×¢„àFR…¶ÉˆBBBBBBBBBBB (¢Š&#Æ‚fy{ RNÄnHkû¸öy9fžkÌÅ&q9“I´‡ã¾Ÿ²º±QØ=ÿ œ­}(ñ¥5¦7i`²ý}°!ˆ¹Ï4[¢ÁhÂèô°;pO ÑêžÍPœÓÄYç³êž¨PîÝ…vt©ùƒS®P…ID£"› ä‡2ÂæRblÆt Z܈=眃s*Ï)à z­ÙŠQ ÛQ¤òM,½ë³'QÉž@ŽÏ,¤H·ª‚8ôs ÖtV†q7¯qüV¶$¥ö¨ŒÅÊ/uŒp «æY{I$’I'Ù²„î¨! bQp§cdžÂ+Áõü“ön¿àn““þÓgKbH¹±^½ª:¶wpl5fXB$ÈZ‹Ï#q]õvl›£…kg‰È9cÏ8È\… ´¾^q¨Â0œ$žÃ?\³lö˪ÐTt ©„m W äB°”ñƃLœŠÌ&[Æä¨¯âµfˆ1cÙ3#}0ÌÞèOáC2‚IÙ†… :i±QÙuЛa.äîM¦&ÛdæÕWT6"rAÚÎWóèS'ó—ƒ}jãÁ Ôܯ`2xjfÞâBBBBBBBBB`'^cdžŋ Ïþ´|wòKÈE{O(éOè•|ί<¦HÈ·>WãѤ”³±5 ¤‹$OÉ |Ì=Éî#!ȹ#O8È\‹Q`Õà<á>8Ç>á ÆÕÐ^ ã‚uäVã 60ÅïBž„´' §¡G£¨ùÜ a çÁœîkÉÜ!2 ’ˆÈùÌÄ~Å(£gZs©ÌDáµÝÇÖ4ëyÚWlPIJ¦]Á$–ÞÓð!!!!!!!!_CÃÆ2 ±ö¨†ZSÝ_’S0ÓÞˆJŸóÆ“oàŠ^îí‰UAÄùÁTB oØ“¡’’'¾ƒIøHwP8ކ¼1°Ü1Š¬ØŒ=† l1W0ÈZ,E¥ñÜiØKØÌ~›¯ pO ¤ä=c•vR ªë™[W’Cô¦y´,÷0¦@r_•KtÏ¡dª"¯èÎTE¾ñP:œR¦SSÚdVÕBkäiµiët%S@sË«°âUÜ9`Mn£ñ1þ‰c|¢ÿº’­Ñì1wÓå*çEòBzòÐ2äÔW‘žRhQ=» ˜œ ÆÖú!!!!!!!!Ä)ônÆ<&ZÆZûaö^—ðW"zŸDKÜ€ÔŸŠ9‘ð4"ŒHø6k–Î3§5JGDÙS÷ƒÛæBƒeÊQ„j~e…‚ÕtcÏÓ%ƒüìp§„v¡ë|XízŠ¥yx+ÝE¥ÈÈTÝ1Ë„jÜ@›VÍÈÙªº‘>rö'OÈ6+.éL7Ì òÙÝT2»˜Ø'ɉ¹„Üâ²í ÿ¨[S0æ n—Ó&†,ÛÍGì¹:üE|1–炠€_ #¢×6L%ƒBØq¸’IÂKgM  ‚ 7£àÆ1ŒúËTmÐ9œì_Ò©Iâ§Vü"Å:§ ÆÂ_¼F«D{“ȳ"Q2ìO¢b„?8HM­E7,)!aFF°¹•72ÔX2Xñ'øn"<ÐìCÖ1&“‡¨Œ„„Îî‹¢uLbéúh?±Ð¦ì[b>ȳ<â|^2‚$övsƒÍ¶2+Ë\¤>A;ŠHè¹¶ÉKè&gêêD÷wê=×yõŸ²:îêAÚƒ»ôú¾ÜyPõ$’IÅ&ž"BBBB ‚&!‡Çq±Æ1“>QäCz\ÄÊ›skôE"™pd¿´›÷>-õm#«Èå„iNÕE® µB-•×­æ Étà2LGjƒ!n*ÎÞ0ש `ñ¦"<,7j¼ x4†\Â8Wå7üBU¹ÀÉFÜo<-á3‘;¥úàž*ÊP‘CT’I$‘²]è1!!!AN1î7lcÐïd‰Ùh—á‰n%U^¥µ¡wüãà™n®JM¹6MÉÖQÎFÒ§$jrÚµyapIæúã±D+6!(2a»3¸ýÄõˆXx˜ˆEîX.ÈTŒ6666Ik3#†1‚ cMdͶJ_B@¾º5um؈S\[ç÷vjÍð>G-åg’4Eb(T ™ GáÒò$$$$ ‚ ‚`'£ðÆ<$ú8ø#Ð7º.Y ìZ’¤©\ê%¢wÁÀ¤s¥Aõ¥³~ŠYCج)Tˆ%*!p^Ö3Ͱ’ˆ´d-C‡fVü§ïëÈ\„ư^=ˆz†,¼jOc=S}Àë€ÅÝÆ6\¾¼-Ηw>¦ ƒEÏ¥Yœ¯R׸kÓbrCE; —Qâ?¸B ‚ ‚ … øy†1ð#_z“¡ÑI'0"­JÖ yg”Z¦~ÁVÜFµU"4d k¿ñ$+•™‹€W)‹09L¶Âµ Fp. W¯¬ÞqÈ,ÌØÎ„Ê¤èJ•Èñy±¨Å±O‰éŬ:&;-[Ù\w%ä¹Úz„QK‘§ÝĉD‚ž:¼ÛË6G9.먔МfÉ´Ã15,vȆ'äjy¦¦d±l|+ ÔN¦¡ ]HHAAqÛ‹Œx44A³ß€½@æ7dFÖlËø¨šÝÔÌWà IÝžf¨}§WöZ9/@‚ !â`q‰ß–¨¹a°°hä¿SÌX¬'MX¬Â‚è‚V–E I ‰X•á&f%ÔŽ¸(³•e̾æ=]ÖdaÆ7ŠMPè×PJ‹ çYü>£N/>Õ05š»AúÛé4 OsVLu1ëœ9rrèÃg™$“‹#Û¢4Ï1Sß!AAað>3ÀÖ f{À¥Žl¨Q<¹ “¢_´5˜”ŒrF¢KÂBBÀ!±uû 9`&Aba¨Ø„ª2– ¦èÖ"d‰‚Ô É;’oAIRP©B¢î¹{þ¿Þ8LR÷bY¸Ê¢nÜåÔŠeôîV5’ð°!~J•yP³¯vjnfÍ>Ô^ƒP%ÜÖCIÝ ÙÜ y-Ÿx6‡(Mþ…š¨F}ˆIÕÔÈKz¹! BAAD\†ÆÆÆJæ3`öT´ðI.òw/ò¾Ïr%z dÚ ÕˆB R‘¢’Æ–Áaò† ã IÌÂÈ]…`ù_nøãŠÌ$3% -ÜŒ‹†½\˜Õý!¯õ 747í ÁÝ õ¡rê3ùˆ¿§ÌÏ ˆfɫЙ¦Ä¿øž£)>˜MŸÛF0Z¬Ñ¹°iΛÌŠ¿Œs6׈šUƒêÕÝø]IyÌ4ZÉI$’I$‰‰‰à„! A0 ‚ ¢Š.4ãŽ6Æñ“ÿÈ‘è"EQAÌ"FÁÄ*ù¿øD)MI¨ž"ÊucÎa4ÚysÌœI„2b+“ üú¨’I'‚8`ƒ< pD×EF@¥`úŸ_¡©Šª[TA˜aŠÄ©q,H´H%/÷ˆ_Žv&Ù:ª°‚4W®m±}MŒ­yy¤û¾B¸H]X'ÑB„!HXˆ ‚ ¢Š/ S 0Ã)HÄæQò¿G34Š’-ƒ+S™Z¥oîÌ-Ü,àÚÇ#¦‹y²é„‰á?t¥Œ\$æ‹S ”Á–œ3â>(ãXåèG 5¨@æ&‡8äÙx1J•›YÐCX—$V1Ç4î5 iòhƒäŽA,LR¼Šùm9,–ìj†£Ë!Õ¡‰BŒ#‰p!HBà&QE^ œa†Æðc$O`Ê¿IÒM/oØý’IYZt»ÁN|ã‡$lx AÈ¡ŒP> ‚P´ËéçÀ1èÁÇaa$ Âb»b MS²ÝºkßÒmýÄXXƒ%îA¾º«-)T¶ýùܺjdRÛÔ@à‚8B„! €&AEQxtoÁã¿ï²»~ :èîÿƒMɤ2V $‘ )[bŒ8™8`™×¢(ã±ò†’–2–ŽØo~ïèF+ô ‚ ‚„„&»×†$ê2›å! cɬ‡#Çû@™|*z¨Þ`¥Fç¥(ú&®6Ô’z¬‚1Ž5‚„!\QEQpla6<þòN&BJé?°ùª²ü,<°z&Åî0˜ßV·”qèùCÉÈd,Ø>ßßÒ™ñF1ŒAA@ƒÔ‡7²)î‰:˜ô¿%s²÷*Nn+nJ­ õMªä"mà¸c‰`„!X"pŠŠ(¢Š<&‘±±±±ƒ‘V"ƒªE$’é·$8‹Ã l'†$oea^¯•¸0K ƒ¶Qè”b½# ‚ ‚!烓ԛu֬IJ­ù-7 bYÞPZ¢ÅÁ+!B½PQFHÆÆ7ƒÔˆ¸®ª9/é&ˆ¾»‘›¶ÆhPJ`8ø›xëU߉OÅÈ´XY‚ô=Œ#Ђ# ‚ ‚‚gÞF a111d^[±p“AÄ¥\³É ‚Æ8„!B¤QEÉÆ>‡W‘È—ªø@0ßݛ#;ÜGÂbÂÜ~†Áƨd/E‚ÔYè4+â‚0‚ ‚ ‚ HH|ªäzĶ“zð×È¢ Ž4!B½pØccccx>×?jŒF5gÝŸW1ƒK; \ µƒpV>4ñV…Ý·ÀÕnRôZ-,Ãz9WРЂ ‚ ‚ ‚ ‚Ãb‘᪢h$ç\$’KÂw ‚âX!B½`°ØØÙ8>OõŸ#z¼¹ˆ{ÑHÒ¹HÓ'aê>%¸~/"Q…¢.Eˆ´·íç£Ќ ‚ ‚ K\`A 2 ÍìÞ<Êœ8EîAŒp¡B½`_666HßÃ’áçø5]¸!+*_}?’H˜Ãb!BÉ&¸ä%ߨËj>u,ï§*\—"ÔZZ1î½qAD —¢*Ü ÈÐ;š_q\Å2&‘­ÜƒÌZÂÕFê7ãò!»Ü‚ ‚àB„! ×ý±²FO¡µ§¹¿ñ$9Îп§ƒ§,‰ì/Kêä{6!ã fñòcl³®Ký@(0,.Eˆ°°ÌjpŒzŒ $ ½@ˆ$7/}ŒŒëÿ1úô×èÿ¢¿B]ßÕ~„ŒØG“…®óa|í+AAŠ„!`^¨_¶Hß ðïÑì…¶™”¬,H©¤” I8I$“Âôõ•d/FA¨8‘åxŠ8–@‚ °á s—äj’7ø é8øyKÑ”aª$iéáKÄ‚ ‚/Â^Àa† ‚ ‚âB„,EÆ;ú}âÉ• ƒÀ~>€q냔¹az Y4[Ô  ‚ ‚¯XþLja†hh¢ ‚#,…„/HãñŸä ˆœI$’I$’I$’I$Ž8ÕxKÃŒf¢GôrAAPXkÕÿƒÀa†a¡¢ Œ#B¦¸ãã>Žð*óè I$’I$’I$’I$Œ8õx9p¸ô5GpÜK$$$$$$$$ ‚ ‚"Šõ?ýà<a¡††ˆ ‚=!Bô¸ãŽ?£8õ¼ð$à’I$’IÁ$’I$’HØØÞ«ä2ájb)‰°>‚‚BÀ ‚"Š(¢Šôì¼&Xa†a¡¡¡¢Â1ŒP„!\ ØŽ8ãƒ\ RŸc,¾£ ¢`™™&dãxޏ$’I$’I$’FÆÆðµÆ9 P¤¬)1êÄ|B„„„„„„„„ÀX€AE†¸~ñì²Ã 0à 4444444F)”’–è’%œý¿‡‚B±a†qÇcôÝË«aä š»ØÉ#9ΦiÌÒhE¹ˆ x·‰„ÂxµÍÃp†£ccc qŽB‚©*å> ø„$$$$$$ œ €¢Š(¢¸~ËÃe–Xa‡€a† Ó<âí¼ü-Ç:¸Ø’´Ò™*]­D÷éBûŸL¿iX¥Ñ‰×xê%Ïa§‹š¦ !X†qdžî‘ôrú®LyN†‹xɧÔÓ3?Ø! · p·‹yÌs•Ãz"5ƒÏ†¨>2àB„!!!A=QEQ\7xl²Ë,0Ãá ÐÐÐÐÐÐÐÌóJ¬WVe3ð:ß!nHœzmBùŽÞO…½ µ'2¼åì5ÒòÊVmØìÅü<75 âqYÚÈÎfU¶%ª½´r–_Ò;šY4d-Ç­ «JÒ6Rè-F”äIË]‡fIé3Hgu9Z¬‰÷Ìqœ¡xÊâçÃ7<<ˆ? îYe”Âì"³µ´Æó¤9I+!-Ìæƒ+¥J&Ù(£Aæ•<1RäC–L¢iÞffèB²ŒÊ©Wå¶ìŸ†©çhlþÆÌÐi—€Õdwê1„×4D7jái&$ÝDˆ´‘)Z“Œ>!HBBB ˜ è€ "Š+ pý–Ye–að€hhhhhgÙß "ûfÐÊê6Ù·Vóe ¸Àcjst²„») •ëUA-¨†µ%E"ªã3mZSËtE¦ÝÆ-¦CÉczûÖ´Eæfȇs QsgGî™¶ùÈÓF×]ç-}z ’;»8Ù H®Ã’‚²»d +ÄXÕ]üÒpÁÅLÒ_<—XKšS¬¬ö nSh™MÓØ4ü½i•9k²» viÁ#ÿÞ#rÙ5É!D×ò'Íûa)3žb a¼VB„AOHEE†¸~Ë,²Ë,> ‚ ÐÐÐÑTÅW—5]Gç ¨ŸÕÐNÐÒ¡jìäTVXæ/๑1Ž–T”¦‹ÆqÒ*–Èp*ÖsÆïhœÑ1Øo~d†ÍCeD¢”J^à”Ú”–j óΊ‡oÒñµ)Z$v]ß%Ø`“ŽR¬ú4îéõC½Pd)²¡îãRFL"6¯í÷gmÉ9o4å1x¨ÉU­a‰-Ï”¹cÿ— pI>ÿ°¯¿,¦{è‚ jŠ¢*Œ‚=tÖÓøRÊ3I2[ï¾û+¼2< ‘5ŒàºÂ C¿ðS6>l¨8.¾x*’™â¬‚‘ áÀ‚4Rˆ&«ï¾Øïœž¶äá÷ö¶d3/ë%v…*2b¢(効®ºÙ§@Œ,³Â Ê$# 6 ïºûä‰uîÞÙnV€û†²úh’ `²èä¶¹§– +‚)ï áH‚(c„ ãF6 纺&º‹¦šhëÙ¦M©£àdéj‚«d‚k¦úç¾Ð¨žÊf€Ñ $“‹ ,BKïºhª™ ®I§F0ãfˆJmž«ç‚[à–;¨‚{¦¶8ã¤à‹ CJ$cÀ`0Ëdšéc’ûà‚ #Ï2ùzKi²™`Ž[è¢&¦ºn¢ÈdŒà„,#ÏƒŠ›¦–˜#‚訒û'±îýÐ{B›b¶ih¾i!¦(è–Kæ‚æ€P‰$ðΑÂ8°†˜£¾úeŽ‹(²j'–Ó“v?— aš:¢¢šm¦xí¢ª"–‹å( K82L<ÑŒ<"Goº+â†úi†:îŽHe®8¤ª˜)®£†º"–«ç¦Û¡–ø¥8páʼn4ÒÌ>ú%Ž{¦’ˆä¢éí¾º®–š«–É/šø-–Èæªº)†#¾Ú 0ÁN,ÑEqB rÇŽkeŽ*âšIç†9îž:$¦n¾hgºI¬º{ë®:¤†ûï®úáˆãÍaÊ0 ‚(qBšé§¦ˆkŠj¤Žê(‚ê膚邫á®+jJ/Ž*ªŠÛí¾ûï¾úç¬p­®òÈE˜!®«,ŽË­šû#‚Èm’Ø`¶éèºÖÚñ“#Ê*ùîZç¾ûï¶ûï¶ûï¾ûë–aä" 厉 šJ&ºÛ'’je𸝂Kæ®õþ+Š˜÷‹Ûç¾ûï¾ûï¾ûï¾ûï¾™kšÉ%¦+é‚zm® m²˜àª*æ†ÚâºÚf†l¶º.¢ÿÄ-!1AQa0@q‘¡± PÁÑ`áðñp€ÿÚ?þ6Ànž'¤¸åúsí·.ßFà&Ñãí¯s\A·.ß@@ƒî·ì•tº†ª tãæ(:.&®cRäß_«C}‹õŽ¥jé(<([Ö8\Çñ3^QË-¿Ô:‚ù4~ @ËÒ# ŽØšyYŒ'ýá ò¿ˆ>kZž9½¼&ªµt”g#1`yTUhKšØ6Æ‹<µ†Uˆ£Ô±iª³q@€ç_™s®wó[UÃbÜ|’ )¸“Z0€g j³,±5LUæ@*¿ßV¸Y?I\܉P΋¨ðÑ·ŒPdyæk¥z f¸V¤ Œ¬À^ªÜùK0Ma9 É @õܰ Äd Ô7ª]=!ÐÊézBÕK*°Ü"ÀJ9Æú¿Rýïåj`ªŠÁ½>ûKt"äëJÛ…`ÿÄ=Í/‹@ÊR­c7Þ là æ@¦›8#¥lòØŽü¢‰c¤D®Rû ”Á–Hà%ËŒ1(1aˆ2Áé¡s&þB [/µ§u©Xºk”)›sW¸KP‚¿7á-rÞÜ¡‚: ËÔIsï]N}‹‹jÙ`èf¡@n¯oÀªÅÞ¾1„­[ñö 03ÝQk)Ê%-¸(R‡ƒC…Nÿc_öe|ëÝ—Ì®1T:yÅ]]¿ÚÆerq]`6ÊY·¬§y vÎ4–s¨Û\ÄVÖ6ÿi ´æKC­Þ+–“_¯‰YïÕ Õ•ªî—E°D³Š† £5ð/e(ÙÁà"ÐË;ê`}Ô`ʳ§´¬¢Ê ÎûÄ„Ê_<ÔJYÓž÷i‰6¹¼ôĬÓo̸\?X‚Qm[ñàè ÒyÊrô=zy@!.¯KÍB‹[§}ïõ ÆöøÌÇY·ÛœÍ»Õ¾:B¦¯móÖU«wÛ¼¹Fãh ÷ô{ð¬f g·fZÁ±g9 Ç›¬D»¼OÉ3%]Ø(õîÀÕ/Yìtž^Gîk%»»'F-Iw ¦È æ°7Ó¸ëH‹‚y&®ïcªi—X:^½)n•‡ms¤r‚:ðØ±…ik­[~¿ˆ®õW¹‘²öíð³`™f¾: 3νå‚sšeÖd¶¿]¿öü¦E“k°ñÚˆL1¡é5K˜ýLŠuÌqI°×œjñÚ´C”"¥M\j,§yY£YN]{ `EÊ\CO×ñK$à ÊE—‰Ø ¬g |Aù‚뼓ᜓà§ÍŬy†;Ï™_ ó¯’;AŠÚ¥€†¼*TZ{ÃuŽ šäö6Û7ø%Vøœ†Ž‚Ã{{cjA™Ö•2¸ªÛ¡Ý9vB·T­ðF<ÚLò\Ä.;wH6•,ƒqQD´Àwb!(Õ¸#‚ öw.8fùþû…Å’·†¢ÒT©Gh"=ÕÓ…U¾ï»T©R»• ¤éX™9”;»“D39ªâH M}d¾._0] ðGÚ¡OerøN í5Cº1‚¼ã>®%«†§pº€hZå·¤µ›¼«ãž§¹ú–i¾6>ñ2êÎfOYUØ£C1™U9’ LåËš2h‰c¸»q·Ó†§·«õÀÁ⸎£ô2úè@,|Ÿx°qSYGÍNttSÛIŸS­$º¬d9×( á|*RRo-Š¥¦Y–Ëú‡#ÜR“‡œÓÈÞWÐõ7˜ƒëÛW« ₾±#Ã\¹how_SJå3._ U ÀN åËà0{Šxdåëÿ"ÁUWšþ¸ X¾ÜFàŠiŠ.K£—ŒS@x«ìTR•ßÅи³—ÌÃ@—ééÔÁ Ðáª:ýßqd­¸UÌ!ès Í>&]æ[Ü0&þ(áÐÅÀG UŠ5Êf†zFe{~£Í§œ·7´ëY_ò΄. Æ:ìÕô ]Â¥Í%ÃÁÔ~#YVH 5Ï¡žå{gÁ¢Ã.\¸ä(z¿J‚Þ.¤™‚àÁå8.fŽà°¥é|-ž+T`†÷Ü¢·?€„‹nr&ÒÞXMŸ7çèw0ùõt¿W$_$Dy"‘L´¼¹hî £¢¿;ñ.·!î&“9¢Ì0M*“öD¤¤ÚŽ‘±ÂUïR ñ[žwCû—cÉèo ¾6ËKKKK¾ìa »|j 75]Äx.\¹| ÇQZÔëî”@¬·ðDµÐymTOõZºÖ|* +ï+¥"¯ÄjÕ:%fÍñéQÙ:ÞYˆ#Q¸ÁåÊ:”gï êø†Û§¤ R;óŸ0b¤´®–_ɧ¹ý}ÝáÖ%ðʸw9¦ 0& îï [rX›1H¸’¡-,CçïAD±V¹^ÐÂVær¡M¥ú³P+ÿÀ¯$óþü=N±¤¥_7æ)D(E2,#I©{©F™˜¼GÝ^±Î5ÿ¿P¤ °J´&®5™î“£( 8tP£øÿÄ,!1AQaq @‘±0¡ÁÑPáðñ`pÿÚ?ÿÊß ðX«¢í­gû1±MUMé^ Zµoœéˆ<{ŽßßÍZ÷Î:BôÛž!šn¯ ø„‡h¥¬7Å w¿¿1µhîÇ4¥çξˆ ‘®Ÿ˜0tMõøš›^Ð…VX·Ñåb¬/^ü4X·¯|ÙŠÐÕSNP¥zéÿc¦A@k—¼V6 ´õtઽã¢ôc{BgѸ‰ ZøeÖäö‡TU踌‚Ì×*ƒ%‡›ÍrÄÒ–w‰–b…Ë›49[ ÒaÕl{Ê«8õÓþÅ͹¿çIg!¢Þ}a‘’µaD»Öå*ºB0çUyÆ‘ ' _»±1b:¥ÑÄwI½¾¸½#/Vª»¥ëÊ*{uKǶѻZTìù³À°N¯1ò ¼½¥b%@CJå}JÖúÌ™ŠÕË[Â\€ÅçUTÝs½ÜÌý@MœâÆÞ üL¢£eÓ:‘÷kF»>í5+F*SÉi}æê/©¼[h´ ³÷ˆ¥ B䈭‹¬ÄÀ,¶hÀÚ€Åç Œ ^p9Õ#uÎ÷sÖMlvŽGÉUñLUå-‚ÖÖTPUÖqy4:…ZrÆÇYt=¢Dί;Wæ;\¡[Q­½`MçüîJG¶ê½Ãù{óÏ–ÑÛÌF…ÄU?Ã>]eÐÚ81tþàŸHÓÔƒþV’å 6© Ðe6Òǧ§çù…IÈ'£¼°h.5É/­¶—û° ]¬yQ×õ—êØêÆ o{?˜µLÊwc¶ªJ¾{ÅÖo»7UóÞa;±«hô…R=ß>ÿ>ÿàÝÔ /•¤À ïÖ8¼X4 ¬JÆ’9-­+¼Éf† 5ÕMÎrÈ œmÐíp€¹(Pæ\sY(2 Z˜P-@júÌʲÌÕ0¸(^i 4ïpŽ€èj¹{ùý`¶%øÄk6òº‚:¦÷Xn¥¢í®`'^e«:ó©æß>—âYÖžY£?él ‰Ëœ¢FA3ïONP&7¨…ûEšŽ.ÌhÝï¥ FíZç$LVïUa.Û{õ:Ä!UŒX¥™»±×}¢e]³e6óÕTiñåZ"*)⋨굦ü¦9ü´—Ëí37ïzÄ-SÁ F:ÄMO:d@'¿í5ò„*dU—‹Íu‚YÖÔÛh@k–.÷;Bš²îmY¯Xª:ÛCkWÒª ~/E€.¬»ÏÚT„Ž›cH ]µ+ ëR j»ÚK6²¨ÇLÊ*´ot(å¹´n£ß[cQA×Cµõ€ ïåž* @,Hª:``óé£Í>Í,¬j£Ýúoˆ Ø¢¤nÞ} ¤õ‡ðÌ;wSòA¬GDUÖ EZКM'ŒáI­pßÔÑ cb&IQKiÛE—”¯#RJç¡îÊÓMCÕeê'½>Î%ðCcܲ:Pø´M bßZ®ƒÆpò­y7ªÆ²ð³B Ä—Òè­ [5ÑiîšÞ_ÕŽÉ» t7”Á^è8 ‹¡–I[¹‡í¬4ä®Úõ&ø"Öè¦ÀL{^2­¯öÜå[½Rö‰G,êûÊt‡Y`•’ÌǦ> kE.œ 5™R¸Ü¹råøË@Ny œ˜¦˜ŒXK—/ä÷ɾ,…b> B™06Ã1béù‚àQƒpˆKC‡gèPÅ?ë/²û~IVŸdª?i{ˆÖ*•‰Ní{Jk‡©ú•@⡎‡ =>+ɾôŽºGažÃ÷/â6hxΣù”Ô¡4š„jꊉµY±¢Ï¹Òô?QFßhýCÀ–ý"â\¹ØýÏ-±à)ίc©ñã%ÀhÜvŠ$ rk,k4³?]¤s‚‡Dy–“5TBËcÖ¦•3)Ö¶|³¬6°É.ÃL`ßñôèà*BrýCëTÔM:€$ÁØÌz¢g [#4vdÃ;t«èëåupº .ƒÖŽÜ zQ[Œ‹RåË–xoéËáˆc³5ûË„,MX¤›ÝvŠ«|›Äª%L]ð"Xiø"ÐÝ߬×qÄG2¸W ðSyc“…ËñÚSÅAÀE¸ÕÈmö-‹ÐÄùšøìŸ¸yxª7ÒÇK]9z !£è|x¦¶jVÇýë(ò~ÒÛ’ù¸Ü¸3âµ ¹j­î’Ñüà£ÝýK±ô }Ü}¢'+kÛB gAêJ:+kÚ. =J}ÈS¢rMO×ÖxÜ”8Ü‹mXøvôE°?Ü ³«ú›*r1¶ó57ÝœýÜ!ðlì} WTÃ’î÷ŽÝìþâ߯ˆ¸… .°R‡¬µª!¥ „eXeJ•.å‘÷+ë½Ï¹~a íÄ dc£ï2%¹Ës”ÞRS” ÐˆÎ¡—Ü–ˆf¦R¥Næ¾<‚¢\ø%»HÔCÅïÛÉ}ûó «Š¥pô|*aÀÅÊÞÔþ ®atb:ñ1ÕF­ Er~þ@:K-Kð`†÷ä°=_˜&2é‰mÊZ-Í?•òúº_b:KLŨ{•¨LÈZæ©£5cƒ„ª)_]oࢽÿß§É.¹›‚vJò”v”v‚mà7Åì¹ {ý'÷.]Dê‹j"Ì  cB–Ò_âmŸ'R¥J•àÃ5­N±?p¢ :·ðD¹ëÏí*‡&#au¨T©R¥JòOðJ]"®õ6-÷7¾x–”ŽÁÔ‚ó-Ô¿ ¯°t¨{`hêQŸ.ÿÊ5ñ2˜ R;õD¡b},å“ã˾DúìgQÄ«sš`‚ˆcË¿ÀÔ­±¶6‚š-KˡÐùòïðB+(-×+€k ÛžùÖŠj_þN!^@óÁÎ!W¼­J•*Wðº}b±Z ýŸˆŠ°ƒ’€âˆ‹‡VhÖÿ×îX²PÒa‰[|­P]^Ÿí¿Þ±v‹”©vóK:L5lëE›X®Vub®_üÿÄ,!1AQaq‘¡ 0±ÁÑð@Páñ`pÿÚ?ÿ`Yö,û}‹?Òú}ÛüÄC…È <õõˆº zC§âX%¡Ìðéû+RÉd³ìh–}«8Ù÷K>ýœÿÝ€T ¬Äí-‚Ò‹£±„×ô]¥8ªzÄì”úýEr ó26@»TC´H¼X,$‹s×7<´úV¢,I+ðƒÕP®ehè:N¸yqÑ*aù:¾ú€hÍ wÜa¹‘̪±kF[ Œc\íGöˤsÀ³í­Cá›´U¢$åà"ú:›ÚcÉÑ(°a¥«æûA¿®íJÈ6¾ÑA8½+±r÷c)t«kñö¯¦ß´=?ÑÑG¥y½e‹,¨\/@A¦­þû½ŸUP]aplà箥p­Ìi…Ü‚©aqí®ñøiêbijN¡ªŸ0Å *‰ƒÐí>Çd_Ä} ¥UºÖ´z‰ïH‰þeo ¤Xèl†7 ‚l_”}µâ­+G1™fËd`)º…’«x!,JÕsŽ€J-$Y|á€Å‰ ÷ž!?ñqé-XSѽ0´u(Ý¿™tèß8Àž›þ'ôï2:š¼ˆM{b“Õai§>ã ÙYYõd¸rË´}W”ÍAOº?Z&nxgÌqæ‡JèÁIñ)Ê¡‹ÃÚͳ:É^°´{c‚/õšœ– c¾%kag"Ë^Ð Iò‰c‘lNHô…Zöµ`aºŒ†E@ Ce":­EÓ@Ùkæ; «=¿äÍHÆüŒŸ$i6Q}jYý¹±¯EíV²žÙýR®“³,"Å4Æ Ëà ZŸ„bhêz·« &£öÙAÕ\¼0’CŸ+=œþ õ.9:÷{7lªåâáx g-XëÌøŸ(È„à;¿Ør~%Ÿå›>ÆÏ±³*&n×HÌðLï’±‰‡SÒp[ξ¨¸qL!f†%5rÞWžÊ^ýT÷‡/îÙɧYC$%Í¥eVdt¨Ù<©+IJ‹RÁß=Å÷q%wa¿`öõQUYn&¯¦©– e‚ènÆyaé 6·Pu§¡Òb`åä"…!Náýø†2>nI¢r~{&¹à5Ú\GR¹Ûù—ªÿ×2 èÄ\?µaÆ Ã›/‹ýBZ•UØ1’Y³öbûAMÆÈ»þÜ YYâ]Γz/#´¯v^ªŠÏ<¹­Ë@¦š³®ÏIs §gH/Ùiªs^Œ A@¸_Vi5fˆ)Z€*YjËbK²Õf¯Ü£Äg RwùƒÌ$óA+ò‡¼«A´;äSp?lu´ã´©+AxÙò‡ýh²ZäŽä}çàëû”Uئ²Òu_y*CÙ–]ÛU·ñ…ÖŸ³÷²â«êå€EÔÕ¯Q{걸üк gQ¾VϾVØså(4i}S“]¡pа»W,Ù«¸ván¨µëUë.R®£Ò] ­îo~!'Ça}ɉ€ÐÎßáªÈOOÌLgªìëû„À"»v+ ó rE½GÂEg?Ô-pè%0»u¯Xåp<·u.˜CR±U‰Œ¹——ø}b‰S ³‰èÈ¥a(½öþ‰qlIš¨·<‡CþÁò…6²ÎïÒšF-J¶9b¡«Ù Çå(rÄÖ˜uµÊ1)Y1š|‘b4á©}•úo\Ä!Ìíxƒ§þËå.À™¾ŠO‰Ÿ~bgÒ0ªªuÊ'¬Rél(ùÿ, §‘kï^òÅ&2æ7‡Ãè^Ô >"¯h¤uUx9üÄÀët.|WÌ:ç: \sYô‡€•F1cúŒ8-ùYÏ®fhHî‚Uàïñ.KCs* ëò’˜&¬ÔÔÿ½KL¡º¼Ú‰‹án¦[Š÷0C8ùlk-ľŠ‡ºD™ÞÛZ–j³z¾òÕÐÇ{ª«¬khV;å{Œ™Ü)”drFBc}3ÿ òõ•ÿNâœ|ÿ‰w+RSÖ«Ö2ØÑEt ±%/³ Êñë=õ©}rãÕióG¬:JÍ5_²yˆÅ]N§x‰¢9zÈ ½¦JÉA#Îñ*ÕXF—‡¤mT]íU]bÓC…g+Äs “¤rjr¤Yõép`y"Ãò.ò¨d\Žè½IXŠØÀŸ×§Ö11éÈŒáï_ÕÀ×L¦ ¢lÐfæ/ÜŽ£W®ž%@ÐM7ÃBÖ¥ W¼àºQo]þ¥$ Y¥ÙO=±aÝbäïòŽ*ÑDý‘æªFÖs®þ!„~æëQxp+AÏ(¥* ù ú‘kÜ/¨»{PRóÑêû@ 2ò!Hša'Z¡‡ß“ÆO+Nëá(µö‚÷¡¯xR-Hˆ²ÁÈõ97ÌìL.¡å€(߀OZ£Ýƒ®g5¹ÚîüNü‡6ÛŸÔRƒeƒáG´¯Q«Et0Ž]2ZCûuo?i¹:¼»Æì«s,_æ1ÃV]ó_´±¦Aòe08Œö '|ï”kPÔ‘²½’[ÿÕõ„‹ðLš]0ÿQ;Qκe¸Çc[ ëJŒäÁ¨€çžP^E9µ‘ñ¾ÐÃ+Rt¼ãÒ… ùËãÚgFf×Ì2*¬»Ù®‰ck s§dmOâe^:>]à>6­¡¤õh–jDæX"_ô¶( = _oX`ʘµmLäçíHºjQmü_Ä ý(òd||B>h­G½£5å9_?3›Snowp£ ¬Ù'fGÇüŒ\`å=/9E¹”C½9^Íbu™{S•Y‰Ä/ý;›§ûQ0Š;pÙóJéèòÑ4¬L¥uƒ§×¦8A©JVœéC€]Á±YIb7*#‡ l\AÉ)C¤ÃæÔê7#0R´²Kr£ˆGÁ×Ê]¥„¦Õ•cÀD¸ã+%Ýp–9R£S ‚&F§E’-ê9Ê EtŒ2¤1þ¤½ý½4E "Š®eH/׬i¢CGDñPD*ëÝ~þÅQ/€*Q+ÃIN Máxi¾…e` DGŽ @JL%i)À%J8ÔGG.88QÃA2”OGú¡|:†ÖcãŒszx&²©²=LÏ<.ù]èÀ.9K@ä±Bòµþÿû@¦ÁsruõŽ¢ÄªãŸ‚füðÂÏFQ±ëÄ{Í€×úœ/¢¨!€¼Ù´%RHí£èŹtiÇ“M9—€QÔˆ7þ…uõf!Í}ÎQ@ ÀM£ÄYxwx™/0T->’ÏN[¿Ö'ªŽ×Ä/×úó 2[®íÝ”×4¯VØð|D`÷‰Zç¾_æl,7®×Yèn>C/£^bëa+ â Å® ÜS€ÿjlû>ƒ*×<ƒšÂŠ|ךðQT;›3_}D›“¹>]z?ĵ÷ËÇyí«gØÙö6}‘j¦íЮ‘öª=…@‹UavUæ«k, W$sA‚XìÿjÉ\1oŽ•UÛ«*³aøMÃG0 “3¶ÊìKE94ž°ÂfÖQO:GÒ¥lE…À†ö»ìE‘a5½ϱ\_"CeôÃcÎ#Zµ,U‚£‹i»ig>†ŽÈ(†ˆ†éT¾Ìn>=D³U7fó|¥ÿãV?Ô„*´8W}®\¦‘Ñ\Qúmw˜&ï\ÍIšè¿óßJÚo°ƒü÷RÁJqÔ ýw˜õŠ~L:ƒ14Bѳ6iÓ9(СXp‡øYS…±`Ù•ïU9bÍ=/åÔÔ¬e¹¼óÞq<Ž LP€oæËÔå¡b„> ^V¼‰_‘Š©§¢aîKÆE$G—¢cÞÅŸ[¨F¨u£uÜA²…‹³ÝÛn3ÜöInõ¬,UùYvÛE¦Õó±WI^´%÷«ˆ”ß{{Ï}B7Î š(Cgujƒß4}HVÛݶ«e°Þ@h°x¶¨'@-"”G f®âú‡C±(Ã_æ•‹”ÿn BU£·?˜Ì#¹¤Ä8ge9yŠøüÔçœÜ*›¬6¼Á§Ñ—þémóèà1éJ9@¹JtˆMJôérˆyJÊô€h‚ò¨”)þ5cì'rŸó5@2où˜¸¨4n½]ˆ›Ò¡•eÝÎ|®QG^H.ÝøN/D£Ó–{þˆÔ,½%ŸüS_{Óüj›©‚cøŽ¦’›‡€ÚäâCÈ rƒ…”°¦—´çáQWr”²y=2¯Oƒ–®„LJÿ‘¹DJá¤wþBÎäHtM@àꂸ ³&*N¿ww…Üœ—Íìç×]id‰Nj™Ï7f¬U8\rz%>Œósõ@%ùÿ¿ôûMý„‰(‰ˆ“IËü ŸR\m «•€ù½<HœÙ2µ~çÇJ®]çà·”Raˆh{̽ü¢ÿsŸŒ*…ˆÏsŸ(ô¥'©*{®o«ëÙö6}Ÿcd²Yö,ƒ|¥’Ï¢Éd³ü=Ÿc”Ò%Ĩ‘%&“Oñh±ÜœåøŽ¸xË^_Úßï(안GTv¿Ü´FT¾>Þ½çÆR¼/¢ôw`—@}T ›¦ìÝ—y'yÔô¶/w /6{§ùëSOô毬1óaeˆôó)P›Cz­ÞÌsÚ.ÀÝîIŠRŽÍ°Zºè—# ’Îhií!J—ݲš[¢àЫ|Z߬fÈ C¬¼\À°s”4¾úÔWu¥°5Žã ° e\XØ¥•ÑS^±#I,VðWX©\ÔiçÉç¨Wj."ëFð2’Ž_ˆÕÔÌq¹@<üÃÙþe„¨œ(áYáOøO|²ÛÍËù@ ÊUÂñBKË÷Ç÷qi0¬M« ”ªHOéËÕ焱ÓÍÀ~b€ cu`–J/A—ˆ7ß ¨ûL³É>zBe “ ]û‚ýË>ÅŸbϱgÔóáG“axHýÃÚ_îP‚œ²ç U­U7¹dl“¢ú5D\tN~(õ…Í—î,³>2M h®¬LÃ&Š­¤ó¯˜½òЧ&’‚®ïþÇRdjq ßÇ}0) KXuu)ë´kÙüÂÊtr°£KÏ1™°t¥š³½{E–jKcžQ~:¢ÕØÆ:äüâ*ªävC_l?àH•âDŽ¢Wø`6ß/!ÍeG/5Í{ðY*£m­®AÝŽe^ Ç( P®‚tLmËßþ:Þqœ*XVW¸Dl- mùfdÁ¹Ï7EŠb‹<Äøx}¦×)Ø­‚ϱgسïâ€: ùŠH«•b1d”Õt?[UˆKf–kÞh !àˆÏ'gPåqÃlXÄÒNä;eˆöaÁI©UáÒvßYðó3yn«.·'4º=ã´´<â”õ¾˜œ¤°7:jž@v‚5(C㕟¡†%ĉQ"_\w÷ˆ*à °õŽßG/å3á‚Á”(k/iÖó®Þ^xÈ\î~ï'¯H¥r»X¾[CÝ ÚÎQ´/lDGh\ØJ\Ýæž±áàù'ÆÏkž”” ÕÓïq—ùÕdVˆ”DÀ“HÈ%TK•””áIHvCü2ž??Xà $J‰\ Ä—÷«3\Oè9BUu(.Ðô½º{ý¸R{›ý9¼ðsÃçU§9‚#ƒÊ˜ùx´ôô]é‚jÕ¢‹äB{fU; ÌÃÕ”5 üÓããô2Û¢a-7Âþ ³üçRMÅ);ƈ.b¼ßHœñ>$nyh°®ud]¬ŠX¢„«nãÖ5²Viµ9ݹ.£º‘ t·¦[QáÊÃ5Tã<ºÌhô,¯Pô”T Ò£{cÚ±«Í9«ã”¦ÎزÅÈ=*ñ‰X´ýw¨^Œ÷„ÒGwuAäNØï¸ò6«Û»Ã]³+_`¡êeü³IAT)NÖk´bŠàQ`Úú~¥e¢C¡š ¾~øžÙÙÊ›3R›­ÔÙcM<á“ïkëÓ룔x¸ Q.8Ôu¸;ŽþÙ˜4ƒÈéåX h sSIZüÐíüž^þVʪ¹VŽÃzï>2ò†)v´è<ÛXô\±(…Jµ~,?ÒäÞ/©S9ÙUÌ"vè|\~Š[ÛD’8NÿÍu ²VmC$;G4IMÅj«^±Bpòyã—LÂOÕ›F7ájQòÙÉJ90.MüÆÞB´'Ÿh†d"äÛªåG£™.Àl-å]`®qÏgAÛ w‰„ñ…ÁX´ºä$»i-‚\DR¶¼Ë‚ì QŒP]ëXUuv­}ºwŒŒ@²Â|×hKàÀwJ jÜ6‚7æÝ”€¿MÌAX¬ ½“Z†5_ój,}XúLŽPx‰Q*$Ká¤wöŠöˆA§¢<Ìdb3X…9·óü&×ö‘r®þoèí ‡^÷Ø>Z °*l×e¾â¥tG×ÀVºøæ_CÐo@/|L9F´äãÐýÊcv% >tTá•Ü0ô®&é´¨Ú;ÿ5× å²VáàeÎTtcBâE¸€`;L\5U´ W¶Ã9;½%ÉHÓ”(Ê Ç×uð¨û‰Q"Gq#¨“N5­Ž†teltb51ýŽÛÐ:«€—H;örÏ<×› *7 –’“D`]÷äGã‹3Âz%åºE"™ã²KÇv.Ê©lã^+!cæÒŸZІ¡ÒiœÌ¾tþYŽeÃ6M¶\}؈”¬EO¬>ÆÏð–âà­+êÂÛC¡‚0<H"ªY‰!ìÊÛr{xxÓöÄ.p à CAÐ÷™pá4špmÁÜÃUŸëI:g*ZF‡íä ÈÞÐä€ÁrÕb¬ú(êl¶#r(:h ©rØð°þÅ&R²½Ûá÷¸ëš¬_mtwaPC¡ÍHayÍØ÷þx w¡¨PY 1„KÉ~%ÏzÃŒ¢.¡°EÏÝ„Á¼Q× wftÓ‰O)ì¯Ì¹týŽºÆæŠ+r(ØLNMcši¯¥ˆ„[+BžÂSDâôYþ~ÊÞCWtç.–^lé³Äê%Cs™mš­ŸC|4å @¸àp8»Íà‹‡i¤Ó×¹ÊëYw?hÑ–Æ‹ƒ_YîÛèr˜02ºšÊàa U¡:u^j¼çrX2}3)È}:àGV»–ñcê{hÇ»PÌPkjYTÄä‘õríé,JÌ:"|—;Üél+V‡ ˜Á†!l|O‘NGŽ:áIcw`YÐ|£¨=˜¸R¾„¥ïWAíc¼ÏµBmÄ’‘z´…ö”¿'æXz~óøk&öºM,õŒÝ…–­˜OF:Jüšð’oM âA_vY]P½!EJÎm]qûÆ Ëvœò'´hÂüÆãÖ*è% @æp«Õ?ˆ[Å´½ô|ÅÅ~ñ …fÙéróÓ~£°'’%á¥KÓÒ7M´)=Øà4òŠ÷€ í5¹hø ‡ê¿¯úFmÿÔBßxRXÈ?ŸÅÀX«k8zÅœÑj”긽ð³Lõ²g_:jôD˱¼ 㺟‰†Q­ïx§X–Xü¤S¸ŸŠ¸ãÝoÔÛ§’Wo²QjËðá´H°ê3Ó‚úJ0K.€'öÊɳ4úl€Fxiúr³À/€@P.@p8Sš.7ãm4ŽømÁö}Z€hщs$ çd>Áp}ßáp{ÓDV-(ú„d=J­úR\ Ì¿×S@é0¿ÛÊ"ëAVŸ,·sƒƒÍUöša7¤ÿ¹ãrž¡OǰÍYeÕ²fy𡙣Â*…0yp!p1“•®XüÁÇ•ºìFbD"Nä+ãq½ßršTÏ"%ø¬~㶇^~óIbþ‹†ôó0“d e·7M‘dñ,é‹~¯âUòˆL’¨Åže¨i¹uªy  V1 S™“´vbùD ¯•Å‚÷nÜzJŠYü0y¹_7‘ñ!Òºú“ó Ë»öe(CeÖ!è(`äy"Ú!š~é.¨Ü'¿S )ùbÜ3ù]7Ùå碙qtBï{KêÓ[ÞñBÂÙgò’ºïkcÚ]úÜM€y 0±¨P= œ QÃS|ªÓ’ù¦•ü$ÅM>šÑÚ{bm qñ@à P.á(¸\.8¸Žø6á‡@¢<À/Á2³¯K|“ƒç$däñeLu.ŸZšŒ5Þ¾‚µA…G0"*€€¾G÷D "-¥¡g`}åJçAø>^¿D²¸¾8Çc4b³Ö¿1Ûójh>%ywHÖîá6}wòˆ ¶òß©±ï7µõ„eŽ*ñ&8FWÕᘭïbc¬º¡.h¾°›Ì°e×O_öŠt™.³ô"9@éF€&¢\äKÛVË'>Þ`ëý;JCÌZ=ÿitôT}IóGáÊŠð” gß]à°¾¬±¼ëox ¨UüJT0^ HP¸dþ”ÊU\¶ËÖÁb†€Ûó4‰à(÷!»^ ï†9-W®‘|‚aç: >Ìωž×(¹%ÌÕÍü-âÅK¨|¿Q¾ T. !TQEqÌcŠnM¢ß ¦“1.õUóQ¨-^SKšM`?R›B³t·–ï2ðzU“} ÅÛiô£ós’–GuÿÉ£<@ F/@uaæE Rï¹hLµx{‡q¼èØ~k£<ÔK½Pa=Ç…¨ÊÙ0]Ø×¤ÁëG\ +Ùõ=ˆ7la¬ ®‰KÙ%dU‹YŠá•–½W(©õ`Œ 9¼h§”›?ÂÊt›‰ê)  ú¥ñÛ§ä™%›IѯOhÓváoìcâT=V¤}`»­\Ìj‹q•¤U˜VLu:K½C µ¹6—ˆe§·3wâµ ’cj^ÕEtå挰~.'–^'˜`ÈJ‡Ê?ÖU©{k”§ös“à˜9§ÑÍ/æø>jJÌ à*5Àá8¢Š(¸îsð.-¦’ëÑÏt? * ïé+炊LùÏùÀ¨¬†ÿ½†#•o½F:ªîxªYÖI uØŸ 9½òã”er­]¼+n‚4]ªŽUm× &EL "²2Ï;ýb¿TÀ–yf1Aš€Øç³>/qSÄr\"sÂå70ÌòúË]Ìu =beX¡£¼®Ëј”•˜¾XYîáÇÖ Ãrz¿¿ñý>„€+ˆ¯"±zê'WÞ\ŠëøÓ(0µX¯s0mè£è õ¹@0£çæÔìÜÁ?ß4úOFWçøúæ.p¸ \Ð!CŠ(£Ž8øÐuÁ.YÓ/ª¿I‘˜1Á*7gŸá’ ÅA«îF=&T'´Uì\¸…V­‚SSÔzÅ—@Wx;«;Ìß323J5 ÖBÿ1E‰£;¬ÿߪ…“Q˜Ê•þŠ\:çfèÊ÷ Ùé9¹¡cå\×Ò-Ë¥²ˆ#M:iÆ"6Ú6ˆ%ôXÉUìÅ]_®â„&Uçõìÿ_peÞîÿ¸­L¸j–*”tª‚µ*<岨¼.É_X_gþÀáÊ@¸jàTà@Çâ\>èãú"Í8:á¤þöÅŽ‡ÿBõ•¶NVÚõ^ ˜›uÿYA°/´5ìG\@嶤Œ¦÷É;ÜߘëÔŠ<Þ§¤+"ÄÕöV]>`®œE`²¢¼w+÷3Q&IVÂÛÐ[¢d7"ˆµ·éÈ‘V:H€No¦wà\M8qa0õ ÁÚÓѯð¢•qAJλn` ¾ ±ˆÈÿ 6š¸zQçoçƒh¢Š‹¨ÕÿÈ·‚Àº»Än—yc¿3ùŠXZiUˆñ5e}ƒ>xUÒh#´íÏ’,U㤵±é)˜³¼ ]/¤Ì¡kp'DÚòK­f H§åF©iµ)ˆHa¼ÕÞæ2 !2Ô6Ë2à¨Á¸ë‚Ô³üPýsù§óJËU´,(ÐØºó§¼ÇE/œjἦ $ésªÁyÀ`^p¿8E9wO”74p+€@¨ úÀo¦wšðm4šp:àêcª³î?´KÜ>ðJÖeQ¡|ÇÎ?£âä^m,îȾ˜Š£j¶ùœœ.¦ÝåB ÏwÁ¸åJ-ªýÔ+UM]K üÿ™¼¸Š;à üŒX‹ 8eoBÓmò@`¼º»ÓŽ 6N€ót†VÁ Dm5|¥0îÙ¹žÈøˆ¼‚ïUcÝaEÍg9Ä$-(nc9´‚`í¿í²ìá´5Áßä I“bÂBÔˆK%ËI{‡[2Ð×%F•KÕcóE<. ˆ"Î!›¤”òPzJÌÚ@à6 Ñþ þÅÞ £®#®JC—°%²€ ·æëb­ùçX–6¶ðU”©—ò÷—Iû˜#—•iå„Á¡ãoél*Û8:Ám BwE¾\½L¹*7ù {G!¿&g—D×5PÞ~5,ƒjfX+¸_ \æ³ß8ZG 0\`øšEh"J€ßaPTÀ.ç$¿GHHæ¬ÙO$äëÝrŸ‘¨½êˆÊr  ý Ð^ b-·É9'_É2‹—Xë7‰žòØï‰¹u¹gß×Ö åK!ü¡+R÷g<ŠÁ¹}§÷‰AªŽÞ UË:qh-yJåW²þeRŸß‰Ìå×3ß®à@ TFAõ 0A 3^6“N\?÷Qj*(Ôê“XþÌ%*h‹¨¡ëŒ«‚í<§¿GåïeÇ-þ%׊%v8œÀNÒ—;âèæ©ä^ÑiìöO¸„WBÄ¥Wæ?ôù†f:÷Ü7Ä*À* P!àúÀ ¨fh ‚Ð4àuÁ‰ê< þ¦ÈŠ­&®õ’ïo ‘vsTÛÒÓå?EÝw¨{@•­~ˆ½ã´DNIÉÁD§ƒ?JÎK%×LïJuúv†ž À€FL , ö1Ð"ßhôþc©wÛ1ù[W'×À@Qô46† @¸ÔP A¸>ÈÑàa†~;KÍXRüÃå"¶c‹)+âHgg?’X#nÞæÊ¹‚ÖLº¶_x§7|ÔÖNǘ¡ëP!B›æÿ\8Íx Ô WGõƒJEš‰»Ší?,Rµí·W’_Ë[ #ÄÒnž¬†Ì(L 5(#0·þžfÜ4–²[/Ç £.è0² gAUÉ (³šfì8q†ã¯Þ•ùHñœ“’ÿ`¶èÉÕ´ˆ–¸Gð™TÚì©?1ðk(Ï[l¾ÒÞŠÃ>žLÄÏzÇÕ…™aÂWêØäŒÕà{tw<± wx\ê"úB–¨‡ÂïláD¢Q(”J>ÅÖ ù¢²øÑë+H%ô€G¢š÷-Ü–éå#˜ò ƒóÚQkoÒ¦i6”@p T´ P ûöx®Ï¢PÃÒ®7!eg¢‡ââš8Sm'î*Ö&Bû*#æ6…YO;ç|+Ö&†ÏÔM¾pcoñ)Ìëh¿™–A»*¢Y¯£F/Ò&þ,™EV‚,^h®À/Ë.óe¸©B¦¤Ö:¶sAcÌ9G€Yº^\ŸnDSôPǧ 8sà›â¶ß\°è%¦YD /O“ôÂŽpc Ôv6Jð#ãÚ:Šº“ÜJlß\Ü6’ÖÈÂ{7ÔûüYInbQfGhä®ÌF²*OQÎXò õq’h)ÖlõbÖ,œïˆ,8žæ[â±Ý ‚{ݲ«å&ín¤i ò‡ùÄ9\G§ÕV@ƒ6y°&ó€›2žçETä¶õåLŽnÎg’§H:"þ…6yÌ 1ô0Бì Õ:ä/ Ê8«öÈoÖ ¨ãØ {ÁJžM|” ÃÿÇØüD#hþéP. p bÛý³wÁ0ÁÒ;á´Íù ÖÏà‚þA\*kQ]z&ü™Œ?¡£Þ|CÖ"Ùg€?qÖ¡ƒ ¥¾ÄÊðÁý’˜ç·ƒS‚ì#}\W²ûFh×WÙ¿_.ÞaŠp€·Yë£_Ìä‹bTݧ«؇1D4Gy%üá{ãn¾•B:bT ý€¤¬Hƒð¢a ÃW­Œ0sl†ý?Ä@ ¡+餣9 ½§)4Pš…£ŽÝø¨øˆe®Ÿ%b½ËÞ‡ÌhØYîê*Rå:(ü¥3rÂׄ>ðz…·‹µãÎ#-»yf=1DXºh±æ}}ùæÌ;˜‡kGçy$ôXŽän ݇Š/°±W¾Ñô^ŒÂE›>µLåÅ%ÐŒö ;)ÖqP{÷•ÜÀB*XçXz ÷§Ie½±àsž0Þ»—/ûÒÖ=0Þ!Ïûçé«ÍÁ‹%—šgÖ©CB 1±6Ãk™/´ ¯3º@Þ Í'ÀEüË£^hƒâ]°Ç|Æä1ƒèý#ÚAÔ ‚¸þþcŒ4ÁM8N¡üY~›Ú|‰Š Ù=Þw7( q#)&g±æ0Eªcš­N¿?+þJÿ ½ÙÌ {U/œ‚ þéÍEêbP  ±`†æânEˆ±(nŠY{¡Éx D¢ù!¥Ù-Áxúög€×ÐöÁ!Λ[¬¡)´EOÙ‡HÖ,k0Taší:ú©xj ÒÄ„ 6Œ>¢þb€ë¶W½¸ó÷Ä™Àq>EùP"˜†WÞ¡ø€©!ôÌz³PÛ¶÷É.KòWÒÍOt¤nx²ð%ç.±ß Þª #S¡ìÌúsIb¿Pjyeå_ (f¥a鯠©-¾i7lߎSF‚;mt£ ˆdÙ{|¡´¤h5eÕ3$û.|à ˜G×±ûÊ_ (“žP0ìL9Jj:B_U«`† ¬+Îwn!Îh]Êþ y ¯ ƒîý¿‡³ˆnƒpc„ð‰ÏGSúä¢,ûSô|sš xÂç¼9Kh½–áÅ0ø®,¦»$ÞòåýÀꎱªjmIX Ø}óZ0£Àq¢ ·üYó [“š~3æQ ÙLæ.V*Š^VÊD¨ÖÏ2Խˈt¶õ.~&ätED´w~%Ϻ3Õ(^"¿$¦žÛ~¼RÉd³èu6p³è0VÑÈ »L?Xˆ( –tÞ¹Ò V9c•D¦ž\®ê÷‚Ö/P–(ígÚ= +† ‰OÕÕ0ÂYß”¹¬`nW’§í¤°ö)J‹¬ûØø•ÅóùÚü"L¨ÍÑê+ÖW!Zñ¸ù”_äàïÂ×LV'§L3äø˜¨qÜ¢0¦C3ä§z˜ Öw%|ÜrÙr¿p½¦ ‡šl®–o2k¸F2¯¨öt+|ŽO£±›*Bô3КvQ4¸ †×¸QÎÎP¯EŸ¡ùt‡ ?ä6Nª=°r‚€TÀ'T6K;ÑRÔN´Ç)‡å¹2®q’-¹ó‘øûÀWþÙ¶o›¸GpA 0}& ¢Nr×,ƒ–Vþ8<¢Q“MÊ…[g[&Ùêßî8uTôìÃÓùýúùÆ?ð—²…ýA ·Òhùƒñ R+ÍŒ%Fk5~ DF9¡}™^iµ¯àŽuG ¡ÖÙ`ôÔºi;E‰‰–^Ž[»¸SÑ2|G~H¯ _Ý­ Kx-ͦßE#~Ý4(æ,£JÆ·emÕ¬¢u[ÑÏ_Ü ñBÌ¢Qä} l “ƒÚcD>2Ÿâ8ó6¾ßi“ù±G$½ºeÝ·¤ä“Ä´Ö#Ëò„!»³§öU¯ˆ-=4>¡~a`MüµY>'7>Bo•ÊŠáü…Hxü9©b‹¨“ØÂ•Øhö&¸<¤øŠ Ë];Pù&Záõi}XÁ·ôìýÁK Ä©S’(—I¸©!¢†íȈúÆíJ÷*åhÛlYäÔZv&º\ßê¤&#nã©zîKGϨÊaô pG´}øT}°©¼r뛸C|#ðŽ ¸`*Çô N»/¡?´%µÒôŸÔVܺõn Рo£ò*#ƒß+s~ºmé Å»ge±¨Ú«Zwk÷(#!êÃ$-´ýGO>å®7iÜ‹ÏÔQ4ê¾G‘wñ&¿î[ãþ'¼ñ$ZEÐ.Zêhùe½¾Ãa®ë3ú‹uN¥n+êÏÌOsÛ~àvý¸-ÖrmúŸŠFõ) ™@7×GvitÈ ±Se×2Á—×(Ýòëžåˆ® ÙÌë&=6 ò‡yDȶr,+Æ{n<„ZeöPïEx[ÃC¢¹^ùòŠ‹¥fýµìvù‚Uõv¬ÅSa¼ëâ4¹à;ÝS7Eæ;HQe}J•WÛ;ÒüP’óµ=P„xMÈ?Jñ7iHzGì°‚: ÚeØî&Ñß Ôç9dé,^ Qn,VåAÏz‹ÿ>ØUrÙË€ÔÝàXfPp˜8üü Q¹¾ó÷,˜™ÂÝ”OÔ§\ú8Gc„ÙœÓÝ{D³’¼ùŸ‚:E\ï(F4ªçõÁ{€öÒK¤££1©sÌòxL¥«¼ÌóeîB€«L8&%•r¡ ZíæÃUȸ?ÉTªç›Ea±5E%–&_3Ëõlú–àÁÇ <¯Ë5 ÄùÄtÿÞeÞ,÷Þ »*×±ƒjðeÆn˜¥Õ”1é²è¾Ë•ûæ  c^o%»Å|ÀBØl¯o›Åw†œ‡"ÞmX K¿cþÎÌÆ·J½`%SÅ.Y:¬µÇ¹T)¶ZÆ 1^ð“8l Ñ}fl«¶&˜Ê¬/ðLFP2¹ÕÄ008< eˆPo/ÁÃsíºâ57ùß–!‡SYŸŸøŠ¿¯sÛ?‰ï¼$}mLV˜éˆŸ¿_êeF½Ïâe¼ä žµ-Uä§ÁÄò/⺮Jü˹^«íŸî#bÐ,¬Ý³.)íô—Zœ-¿H¤©Ù2—·ßòËWW%èTôŸ©Žü™²ÃBG¢_ .öµ=c0Ó”†i‹êôF²êØ~!;kGtÿÔšF-ðZàêzNZº#³S"<€·˜cùƒ÷j…W–;J¸\ñnlà8óˉ¤¸³Üþ§6ă4~8gÜsÝ ¯ï1m€çl6µŽ„>®–«×@ù–!š=‡ý€˜þ?Ž2oó“ ÂOkP÷›•¼Ã`³G±ÿ³?K°9ƒÖèõ™nŵr0LóLÑ*{§ñ*&7JíÃ+Ït#8¸g+kÖ¿R©Tå÷tµ€!0jß–`A6ŽgæEG·ï=£øžëQ_x‡B#‘“àJï4•Û‰¹§ÒB7ÄèUp=Ì.D<ÝtøT¾ÅÇPr»Ú½ÕWÌ.È&+p#âTô°JΟLtF¢Ô[‹QÔŽiÚg‚e0ñ¾©˜Öÿ)_¿¦§G×Á×ôqÅQf-Í“$CyDG’–¯£ö–g.ÍÂHTii)DŠt½6没\šë£15Z§ ÷OhfŸ°Cõ)MÐxËÈL¿¨¶êõO:¯Ü¤ <¢£Ek?7VÓÌïõ1ŠM`ý²]Çõb%är÷CW0¹²SÔ >D0÷˜1˜²Š Õ?ÝJ¡Ë÷˜pä~Xh81Ž£¹ž}¿yG/ò}Jƒø¾‘%fxÊÇ0÷s9Bƒ˜fšÂ£«Þ,a¦¹z \Jêë-5T‡Ä-ÊT»G’Wî^Zna½!˜Í:léj¡Êžn·Â×5Êù²7åW;² úø¨,]I…e(žPýûHj|òÊQ%“ ÷DUÛ_™nnY›ˆ(±jiÃ;û/ƒº.¯"g”Èãv´¾´;TETm]«ÝUõà$’è¡ßòë(Ú!ç4ËÖ[ÒÔ9¤|²êƒÄÂÙé{¦²¤QÔm9±Ì`+}Y§UîEh>³çs‚+û²ø‡ìƒ¯‡§a˜MÑÅ\fób,Z–þßnþRÇCÍÍOÄ$ (O®šýKÈ9 Ô½¤_}ýë6ˆ|qÈö!ÌØ¼Ì´€`´< šV]ªz>âñRã¶ÀyGîÉ;SD –l ß¹9ÁàÔÓ*ƒ>vlÍþðÔKkìù•“Ÿ³³ïhBrre‚ÞoÌAô#+1o9á3”•`˼ß/>büøO²$Ï;Êäž@±¨-&í°ê[»…ÐU[½+߯=[·,Ã\:ˆ'* ÏÐTš#gsJç“•uò1AH\ЕrW=¨3^ð¾üœÊ˜t) »˜2õ–,³¼xœºAJ²£'ÖW]ýe ¯¼ ZŒ)•oÞ˜ôõ_±@N¾™ªi+)lÙÊ8¢ngxè2ï5®#'VcEõuBiô© ÂLÓ/yX»“´a³1²§•2zÈ̼syýeÅêטG±Á·H<áê‡ûåMœ<Â_²QŵÃ^/â*ºm”Ž€‚DŽ Œ¬eâ‰W«sž(ïîšð¸_‘ƒàûËÌO,¹Êè7/‡ëÔ\óqšr·…ó6 9·ÌŸ0Ü8;¹F[èmJNvSÔõJÃFM’vLÊõâ£QL_¦zB_Çz®8@]ŽmßNÛM+z£‘úᮀ­¯H(—N¢ÊÒÕe]ÚLÕÙdA@€™"TÜôë0Q/s÷–¶OXã˜y‹;]æÕzÌ¢Ÿ3n “pG88¾B[Luaû•~’Wê…Mþ®ýUôS¯èÖùƒƒduqÌçWÚtBé¹E9æÐ:Ø?s B%…º0ÎëYOvÚ†esæd|²øþ×´Éų˜ hïu›üÙ=à±ãD'4 ÊÐQ(²m•Ÿˆ`x1NT*òÄg<6ú}>Á¯@X»ïié„A|Ä+ÎÃp³›EX ›æÀy à|à9üÂͰgR²ä;ºõ‹¨Ôa¥Ut¬T<¡hfÓ«›ê¾¸UyáO¶AF­`²­y×,ÂjÆ—StWꆄ•]9»]ê.¾‘¶c¿êQ0òLˆZ³¥EØÐ ÄÙˆV#|õy³  â÷ÌfÎBr€Ð>Is~–&¡ø1Zq½ðò×ÍÇ–¿Y̘wÁ[9©ô?qü¾_àLОKùŸaÃPý0¾š~Ïd¶æv+¸ p±ñ…Uo¤ah¤sÿÂ," 1¼Bs_ÅÉ”m óp>Î-ü‘Ùzø%,äSÚÆKK¸CrÉhž"> ‘lðP>!®£öÓ"cfÙ]ð`ÜœA Ty'ö=_CÛî´pd<¢ª?²$È[Çý`>zÏÔÕŸÔç6v🹵ô-/èW;G@yQflÕéÎo¨üM ½¿s2KÿmTÚ'\žñZA‘%;QIw´Š*^-Ì™ôXõñ±4«îƒµøJ`c€Ä^pÍïþÅ<ÉŸ(íÚ½ïæ<ïM?~Ò¨à`yޤª…´ ¼‰¦ys C`qŠ=#=Hü-­¹÷ú_(AGna‡„x€à`úª\3O w•›å‘’¥–gˆ•Y×ÉaI€hƒÄÚh¼ÿÉëè»1]oðö”-î _:ú±ÂÅñ3\'uÁÔ>`â)ÕÚ (=`Ô7ÈD7F|Ý7M“ÔOÌ;wƒu58ÄÀW_‚îc ÛíÓÁQÄô}’Ÿ¨—ˆzÂh%3-Rm®{JÍÙ¶„VüÏßþé8 DrÝ?ALn^ªwbÕ‘e…?QPôœ£C€*š²Ã©VN©Ð¬+à9©‰dme° ^AË*‰ W¤a p^áNÒÙoI¸nH ‚!†xF>°ª³‹éù‰˜vM²þémÅS¹¤Æõ¿ÌŒbÓ¼°„è8øèþjXÊS݃iK–Ñ ^ê5w²">geD˹t¾¦¤Ç×U<7Sâ§BÝE  ~‰e9à8Ù²V)Ö™þgÍ‚0 ÁUˆëúØÿ¸ }À _2˜•Øjð'ZêH—f¬21…hVVöß¹ÍviH³ßbÔ8iïRÀP9pÞJ,YY‚„-샥4ÃÑCÄϽÚaYd˜ F…† º—™•Ð7á!e›lÜ28‚ÀP8 \ ‚ËÆž‚4~Š4qmsneüøñžô²:‚â©„RðzÅ-µIw‹?’g:¿ÎBŠ·¼Êíòé¸l™Í‡è%RæŒKçt~!Üä/ãlÊMe_LŸvp{æùO‰–wk¤Œ«…OÁ? §ÛŠ~ئqOGNé´2™eïXœ„šÂöÓ.c¹»ž¥=j·¶¦ë샠±>²–À&Õ_†,­Ñ ¿X «Ts”Q¡PLSåí(ÌéMt×kÍçíÖRwÉ-ƒAêõâÄ ø€Aá‚8…«Œhâx%—/¼ñËg­±'”ZŒxÝ…9Ý@?7ÂaKì¡i­¿V.ÊvŠÁ½Ùïn4^¬ÍY„Þ×jf_SŸÏ~wcª0¶ôà13d¹ôRÑï ƒF J¸×·O„yŠsMŸU?KhĘÀ.@„z¸À³”Ç9‘‰ò ÷0}‚cž }Ë3bþ›˜™ør3ˆ¡¤çÒW]“uш¢ŒÌZŒÀ•¯7XÕ#´z¿Ò ›oTò&Ýs»~:¸â \&A0à C.úh4pµM| ¹ËçzeÀ‡®-p:–4E‹ó€€hX ɰ¿—Þ@±OzÃ3䋯ŸÌ9®îycL¬Ê^‰užDµ32—ÔÀq§v9neÜË9ï'ç„Ù7ËéË0ÀÌjйò¿çœßp£èð¢ñà8“·‡'*0¾è„%¹ÑÊÒ2+³‡:Aƒ„5#õÀéÉ,†úy3d-w×´dZ®‘Y”‚AÎì¥ÊQ(ú @ ‚a‚ š!†> STîFœïé¥<äÇQsÁn~^¥þâRù2ª|‡t!Õ~‚PN²OÄ­Üzs.ma7¬\Ñ™¦k˜Ed®w¦I—|7ËÐŒ{›³6æX»åÏŒ…K+q´uÏ s+†åV~ÃhÀ \ àBAA|4šá)ÐÇU¨r°&‘ûGSú¹“ Ç@vWµp ž‘èb<¦…w(…©Ô;jøœ±å'ã‚™L§ˆ. ¤ ‚ ‚a‚ †`Ôƒ€q¥}¸Ë€æ·QÜXµ6õgþ8 JûDµ’ÿ®PŠ—×t.¾%ÚÏùŸ©Ÿr•™{]©q»Ë/ImMà—DÇ6L³$3Ü×¾RcþÌ{›&ùU<ÊŽß™‚ CDU Ô®?†sðÞ;ãOÐÀÀ/€TôB !Aß„¼ìBLæ ‰n°zeóÅÇï–N“Íl€TXìŠèu9¨±J¿Wøèq p AC˜a† †j¡º‚&©«…„Dpà(¢Š-Eà·1(ãÞv \ftoŒ~‘dSÀŽE¥\ånd¬åŽùÙ™×Ô²í{eÕ,©£„¸”“w½ ·Â¥¯kðNôÝ6Ê»¸Šß0b0àŦõ†sðˆ™`\ÓŽÐ*\ p BAA$’pÎ~6 yQ–ñ¿јhv—+Õ’¥7¢Å¸)uRîñ:§ªÀ¨* ‚ šÃ 0Aˆ †C C¨a‡Pñ0},QbñÃWCÚIMÏý¨G÷2%+5»œ*€QÙhÓÞ(§) ×1iæ^‘d™ÄЉTÙ7Îü2ÜÕ™}»ôÎ_©›e÷*.¬Íù‡.GTríFÌÉUß̇…ß®@®à@¨‚ ‚ ’I$’I*°‚B‰€¯Ö™{/U78;Ñ*ý3"ßë>3+ïÌôGè @p.Á 0ÍxD8ƒPëˆuô˜0±E¸±× &7]/ˆg–fÒòºrûØËÂIø!ÙeÑ”p€—Ú\]C‚X˜™]Ìžô<­ÛòÌ ß6Mñ_¯ŒSÕ~"ÏÌ æeø˜ÜÚ™x‚àTÜ „ ‚’ $áN‚Èp²å ¿YJƒqÚßú’| |ãÌ]¥†ÃVbe%# SÊ¥Êÿ˜ÃÂõOT¦Âà@¸CÂaƒ€ÎHg”0M9Ô_B·âË"Í8ÿ²l°CÕ„•ÄRªÐ;ú8-ÄrMˆn¦" ¨ã Ìžñ—¥Ë` 1‹õIñR@ë)T dCˆú&<-“æõÁ„25„yÍóâþÝÃW™ãDP.‚0‡AÆ$AN|¡'<8wÐk!_ö‘‰G Xbõp‰«‹auñgã³ëÀGýhÞŽf²Ü¡{2×XË/Ôsh ‚!†mÀ8ƒƒRo9fÿVan,uÁkh‡Ð_²`õ ×J\"ÍñÍ>W¬ýJ,‡Qù¤4ôѯ”MWsýMûvÿ%çÀÀDçûÉÏ÷¡£ÄîKõâé»…ˆó3>aÂc 1gâ-¸­ì-^¯ñ7xwŽø(à*À }B©ôP-$¯(I$’q¨»įú‡&S{ÜÃ’®çüÆ@CŠ8 =“)olâϘ£VzÃ÷5iê~f”uˆüFYa‡êž®C <€ÎXf¼:Mg/,åà<Ÿ±kj[Äè)uöù™šÚ,÷¨þ'Ý+(b mè:q]c Q8ÅzÏ)N²¼w¦zfÂW¬ß™¶o–Ú/”xàKP”©šÌ9È?,;š<;`W@¨Á}ÀŠ€‡vöIøC†Ã,²Ë~Q‡ˆa–Ya‡ˆ ”@ †>‹É98ušMŽ.„åŒ0¹‹qb× %²Þ&4¦ÿ«ýT;Dc 0Ã,²Ë/tߎýç/ãv¾‘ëÞ.ñ Ï,ó ~fw7œò³shHÀ¸xU¦vx©A;FÆYe팲ý Ye†=SÕ)P.@‚&³®wÜšÍ\.8·¢Å‹\túNK¢£Õ-üÌŽÀ0à 0à 0ËÀcѦÞËÄ[w-LN»ÄÚùš¸ážà@p €k@®œNÄìÂH#œ °Ã^QáYgÔ¼+ 0ýÁ§ ¸ø\Qj(ãŽ(¢š¦®¸±b× %¿H]VØA\ô*fc £,=ñ–Ye–Y¿Ñóã¼.%;õÅÀ(©„™Ñö«·XqGÀ. þô~ˆp}à ²Ë³ƒëVaú@†àpÛƒ–(âŠ(±qÅZš8Z¢Å¯¡oÕÿ»Ð˜˜åa‡€Ë,²Ë,±xËÃa‡…°›8[ùG˜Ü•T¤LùOŽ]GèAP. ‚Áþý_÷ývCŒñŒ0ÃÏbÊ‘NÏ”~åfS™)¸¯yÿ¡À‡A†ƒèûË´YN¼:ñÞ °ÇœÁÅÍ?6(u BUš(WŠ–yãÜ{›@¨k€‚ ‚ ~É_î¢~ÏV'bv8$vxþ1žÌa¤ì}"½¾=ÚúÿòˆÂTHáœjºT€—Ñ¥ÚÿóªÌ´òâÒ›p8ãŠ.%«…¢d>‚4š}µA4“öÈQÒŸúÌ…''^"sçÀ°O¾Y »‹ÍNè–ÔfoäˆÚDòMÍ""þYf„’^%à~DQYŒÎªa¦ýÊ<¾bËÉÁtŠ”·ô«YÂí} öa>ҩ邌‹k¾9ÇÇŠ)Ù¡bA=:€Ü&{& ð{-Úæ0CfvFà©d Æ…ÆÊݲöR BNî1ëué #˜Ù-´”P(.x’ÆÒ¶§‘P‘WNáDF>”6 ¿,]UPä1Ê„† SbS Þ˜äiˋԭ;ä±-£ ´ÎéóU¬Ž ÕË-¹/\Ãtü‰äzp]ÿ¤>r ›³ðWâj<Ò[÷ªa¤¿¿3ôý@sCƒVyb¼KåÒîpAýhšx¾¿ª­ìp{±;\`žÌ8olbŽjv¾Šû@´*T=ç7ºUfVrVëqx„°suU1Aܧî+^å/q:Ð.GL <Ž`‚W…çsÜSÍÂá®Õ½E´ì¶œÁ»2¦ÐóåAëdUÇ; .Í¡®¹æÊé<`„ìP íKèÈ,”$8£ÌCÈ©ÅR)UTÁÌV¡Rk˜(@¢pà̼( TÜ"4T´[/WJE¨§>ÝòE0T[%âוC¤€5RÏ2ÁÚ€y ˆ˜¨nŽ„´= ¤²«3Bæp¤ÛPҦёÌ[½Ä$`€0   ª#0 ,Q꯯ßÞÙö6ˆ¼’Ä1å¬ À¸!‚aƒ£_ôõjšøx濨ª ·‡ëÿgîs ¥T<‡Þkwt.ê¥üï`„‡Cƒ'6¢Vçc‰ª s“#WÄk¨5QÇõÀV©¯ƒ§ýX Ô ÃsnAC ú@µðôðÿÙèšé(€àà€   •Ì0ÍÃ6ƒÌ0ÍÃ@ƒÌ0Íà EƒÌ0Íà IƒÌ0ÍÃJƒÌ0ÍÃLƒÌ0ÍÃRƒÌ0ÍÃSƒÌ0ÍÃTƒÌ0ÍÃVƒÌ0ÍÃPWƒÌ0ÍÃXƒÌ0ÍÃ[ƒÌ0ÍÃ]ƒÌ0ÍÃaƒÌ0ÍÃgƒÌ0ÍÃiƒÌ0ÍÃkƒÌ0ÍÃmƒÌ0ÍÃqƒÌ0ÍÃ4tƒÌ0ÍÃ6|ƒÌ0ÍÃ7„ƒò`/È 0ÒÕ˜·DArialUnicode MSh–h–’ðƒÉ 0ðƒÕ·DArial Unicode MSh–’ðƒÉ 0ðƒÕ€"¤€@ÿÿ¥ .©  @£nÿý?" dÿd@ÿÿïÿÿÿÿÿÿ  @@``€€ æðÞðxŸ|    !"#$%&'()*+,-./ÿ0@12345678:¯<=>?@ABDEFGHIJK  OPQRS   XYZ\^_`b¿defikmoqrstvwx yz{  ~eFƒ„…†‡ˆŠŒŽ‘’“”•–—˜™š›œ¯ðxRð$Ø› £üR¸´z 8ªÝŽÿ¿–bð$= yªËÔ]‡õvƈ†îÿ‡@¿–bð$ýÇ\Ü:1àƒðør¼’ÿ5F×bð$û¾ãDUMÑþi$rNy$­ÿh?Ó bð$6ûpl…;ñP²8šÓM;óÿ·';Lbð$òópjÑæD³b5x÷ÀôSËÿí"òsbð$f‘Yœá£Ê1‹ŠÇhV×CÿÊ.ß–bð$‹ÁiÓ%/!‰É·„ò!ÿí!©Åbð$ÍŸü(6Ë<î0`ß:ìÿz"–çbð$.„çûQŒ— cãyyñÿ÷( bð$}Eþëéu @÷+ÀÃø øÿMÊ3bð$®Ùþ€F®çS?߯ŠGÃÿTýbð$©×heé´Œ™ƒÊ§i—èÿa*mbð$šñˆæGèDÆ£ÕÖË#ÿ·+ÎEbð$ÚhÈ•=Ö”ñe*Ðÿ*0…qbð$| þ&œ©Ÿy˜#z÷¤sÿH“¯¡bð$Ì•T¸”;ëc&ûáÿ!÷4bð$ÿV¢iÓ¤³kO}²Ô¬Èÿ_5†Vbð$ïer¹ ìÖ.£¶³`J†ÿÌ3å‹bð$虲NÛ,]°×b"Y¨ÿ?¢±¿bð$ˆÅ·\XHÍÁ¤§â({;c_ÿNRðabð$Œxu\~*y³E¸!:l’ŠÅÿ.>´bð$á‘Ô:6$9’Jôãÿ.Z@âbð$æm+eþu-Š,m%€’±H3ÿÈGn<ð$ÿRð$~²IÚ)™áh¬n¤?ºÿ’36„ ð0e‚˜²ƒ0e„˜²…‡ˆ‰¿ ô   €ÿÌ™‚ƒÿÿÿ„… †A‡Áˆ‰Š‹ŒŽ‘’“”•–—Á˜™š›œ@¿ÀÁÂÿÿÿà ÄÅAÆÁÇÈÉÊË5%ÌÍÎÏÁ×ÿËËË 8c8c     ?€‚ƒœ1„…ðù†‡÷ˆ ¿ÀÁÂdÃÄÅÆÇÈÉÊ0uËÐÌ0íìÿÍ@T‰Î€Ï€ÿÿÐyÿÑ2Ò NÓPÃÔÕ'Öp”×°<ÿÿØÙ'Úp”ÿA¨)BCD|¾E„|¾…†|¾‡s "ñ Œ0e@žÿÿÿÿŸÿÿÿÿ  ¡Á¢ÿÿÿÿ£ÿÿÿÿ¤ ¥Á¦ÿÿÿÿ§ÿÿÿÿ¿ ÙÿÿÿÿÚÿÿÿÿÛ ÜÁÝÿÿÿÿÞÿÿÿÿß àÁáÿÿÿÿâÿÿÿÿÿÀÿÿÿÿÿÿÿÿ Âÿÿÿÿÿÿÿÿ Âÿÿÿÿÿÿÿÿ‰ÿÿÿÿŠÿÿÿÿ‹ ŒÂÿÿÿÿ‘’¿‚‚@ABÿÿÿC DEEFÅGHIJK5%LMNOÅPQRSTUWYÿÿÿÿZÿÿÿÿ[ \Å]ÿÿÿÿ^ÿÿÿÿ_ `ÅaÿÿÿÿbÿÿÿÿN€‚ÿÿÿƒ „…E†Å‡ˆ‰Š‹5%ŒŽÅ‘’“”•—™ÿÿÿÿšÿÿÿÿ› œÅÿÿÿÿžÿÿÿÿŸ  Å¡ÿÿÿÿ¢ÿÿÿÿ¿NÀÁÂÿÿÿà ÄÅEÆÅÇÈÉÊË5%ÌÍÎÏÅÐÑÒÓÔÕ×ÙÿÿÿÿÚÿÿÿÿÛ ÜÅÝÿÿÿÿÞÿÿÿÿß àÅáÿÿÿÿâÿÿÿÿÿNÿÿÿ FÆ   5%  Æÿÿÿÿÿÿÿÿ Æÿÿÿÿÿÿÿÿ Æ!ÿÿÿÿ"ÿÿÿÿ?N@ABÿÿÿC DEFFÆGHIJK5%LMNOÆPQRSTUWYÿÿÿÿZÿÿÿÿ[ \Æ]ÿÿÿÿ^ÿÿÿÿ_ `Æaÿÿÿÿbÿÿÿÿpñ»àãÿÿ™ÿÌ™ÌÿÿÿÌÿÝÝݲ²²@ñ²²²÷ðó€Ðå±¼8Êš;­”ÇÊš;úgþý4\d\dÄ'’„É 0Žÿÿÿ4ÿÿÿpûppû@ <ý4dddd4„‘w 0h–ì’ÿ <ý4KdKd4„³x 0h–(ˆ¦Š0º___PPT10‹ ÀÀŠfº___PPT9‹H®@¯?¬(€ÿÿ?Ù Ú %OÙ Ú =ð0ó‡ió‰kŸ 4What We re Going To Cover& Ÿ¨`The MVC programming model Creating Traits UI Views Creating Traits UI Handlers Defining Editors óŸ¨4GUI Design 101: The Model, View, Controller ApproachŸ¨”The Traits UI supports, and is based on, the MVC design pattern. The MVC pattern defines a UI in terms of three components: Models Views Controllers¡&||óŸ¨GUI Design 101: ModelsŸ¨A model is the data and behavior that represents (i.e. models) some aspect of a particular problem domain. For example: A well log contains measurements that model a particular physical property of a lithological column. Models do not have an inherent visual representation.¡$vœªÈ ?óŸ¨GUI Design 101: ViewsŸ úA view is the visual representation of some aspects of a model. For example: A line plot can be used as a view of a well log model. It s possible, and common, for a model to have more than one view (e.g. a plot and spreadsheet view of a well log model).ó Ÿ¨GUI Design 101: ControllersŸ¨ãA controller defines behavior that mediates and controls the flow of information between the user, the view and the model. Having a controller helps prevent the model from becoming cluttered with view specific details and code.ó ó Ÿ¨Defining a ModelŸ jDefining a model using Traits is easy& Any object with traits is a model that can be used with the Traits UI. The object s traits define the data and events that the model provides.ó Ÿ¨Defining a ViewŸ¨•A Traits UI defines an MVC view using View objects. A View object defines the general characteristics of a particular user interface view. A View also contains content which describes the individual items displayed in the view. A View does not reference a model directly. In general, a View is a reusable object that can be used to create multiple, simultaneous views for different model object instances.¡–Z–ó Ÿ¨The Kinds of ViewsŸ¨tThere are seven basic types of views supported by the Traits UI: Modal Live Livemodal Nonmodal Wizard Panel Subpanel¡*AZ4ZA4ª>L ó Ÿ Modal Views& Ÿ¨ Suspend the application until the user dismisses them. Are displayed in a separate dialog window. Always make a copy of the model, interact with the copy, then update the original model from the copy when the user clicks OK. If the user cancels, no changes are made to the original model.ó Ÿ Live Views& Ÿ¨Allow the user to continue working with other parts of the application (they are not modal). Are always displayed in a separate window. Interact directly with the specified model. Changes made to the model in a view are immediately seen by other parts of the application.¡Zó Ÿ  Livemodal Views& ª Ÿ¨QAre a cross between live and modal views. Suspend the application until the user dismisses them (i.e. they are modal). Always appear in a separate window. Do not make copies of the model. Changes made to the model by the view are immediately seen by other parts of the application (even though the user cannot interact with those parts).¡RZRó Ÿ Nonmodal Views& ªŸ ÔAre the inverse of livemodal views& Allow the user to continue working with other parts of the application (they are not modal). Are always displayed in a separate window. Always make a copy of the model, interact with the copy, then update the original model from the copy when the user clicks OK. If the user cancels, no changes are made to the original model.¡kkª Oó Ÿ Wizard Views& Ÿ âOrganize their contents into a series of  wizard pages which the user must process sequentially. Suspend the application until the user dismisses them (i.e. they are modal). Are displayed in a separate window. Operate directly on the model.óŸ Panel Views& Ÿ¨Are displayed as part of a containing window or panel. Allow a non-Traits UI window to intermix Traits UI and non-Traits UI elements together (e.g. within a wx.Frame window). Can contain the normal buttons that the other View kinds allow. Operate directly on the model.¡6ž8-ªžióŸ Subpanel Views& ªŸ¨®Are nearly identical to panel views. The only difference is that a subpanel view never displays any of the standard Traits UI buttons, even if the View object specifies them.¡6¯Q=ªCdóˆjŸ¨VET: View Editing ToolŸ  VET is a tool for building Traits user interfaces. We ll be using it today to interactively illustrate many of the Traits UI features& óŸ¨ View ButtonsŸ¨dViews (except for subpanel) support a standard set of optional buttons: OK: Allows the user to close a view after having successfully edited the model. Cancel: Allows the user to close a view, discarding any changes made to the model. Undo/Redo: Allows the user to undo or redo any or all changes made to the model. Revert: Allows a user to undo and discard all changes made to the model without closing the View window. Apply: Allows the user to apply all changes made to a copy of the model to the original model without closing the View window. Help: Allows the user to display View specific help information.¡HZZ.NM HV m ªKóŸ LControlling a View Window s AppearanceŸ¨šA View defines several traits that can be used to control the appearance of a window: width, height: Window size. It can be: an absolute pixel value (e.g. width = 400 means width is 400 pixels) a fraction of the screen size (e.g. width = 0.5 means 0.5 * screen width) x, y: Window position. It can be: an absolute pixel value (e.g. x = 50 means left edge is 50 pixels from the left edge of the display, and x= -50 means the right edge is 50 pixels from the right edge of the display) a fraction of the screen size (e.g. x = 0.1 means the left edge is at 0.1 * screen width, and x = -0.1 means the right edge is 0.1 * screen width from the right edge of the display).¡¤VP'PP"PmPP m  ó“uŸ \Controlling a View Window s Appearance (cont.)Ÿ ÐAdditional View traits that affect the window s appearance are: title: Specifies the contents of the window s title bar. resizable: If False (the default), the window has a fixed size. If True, the window will have a sizing border. ¡ˆ@¨ 14 0(óŸ 8Specifying a View s ContentsŸ¨ˆA View has three primary types of content: The actual editors (i.e. widgets) that appear in the view, specified using Item, Group and Include objects. A menu bar, specified using Menu, Action and Separator objects. A tool bar, specified using Action and Separator objects. It can also have various optional buttons (e.g. Undo, OK, Cancel) specified using the buttons trait on the View itself.¡4+ZæZxZ%K& &  V óŸ¨The Item ObjectŸ An Item defines a single editor or control that appears in a view. In some cases, an Item corresponds to a single object trait to be edited. In other cases, an Item represents a non-editable, visual element in the view, such as a separator line, or extra space between fields. The type of Item is determined by the value of its traits, which can be divided up into several categories& ¡nZNG}\óŸ 8Specifying an Item s ContentŸ <name: A string that specifies the name of the trait the Item will edit. If empty, the Item defines a label only (using the label trait). If =   (a blank), the Item simply inserts extra space into the view. If =  _ , the Item inserts a separator line into the view. If =  nn , the Item inserts nn pixels of space into the view. object: A string that specifies the name of the view context object the name trait belongs to. Unless you are editing multiple objects in a single View, this is typically left to its default value of  object .¡6IZZÒZ4 !":9  / G;ª,òóŸ \Controlling an Item s Presentation and EditingŸ Èeditor: The editor (factory) used to edit the contents of the trait. If not specified, the editor will be obtained from the trait itself. format_str: A string containing standard Python formatting sequences (e.g.  %5d ) that can be used in conjunction with most text-based trait editors to format the trait value for editing. format_func: An alternative to format_str that specifies a callable that can be used with most text-based trait editors to format the trait value for editing.¡åZ„ Ek  \ª>Š ²  vóŸ @Controlling an Item s AppearanceŸ¨¥label: A string specifying the label to display next to the editor. The default is to use the trait name to automatically define the label (e.g. a trait name of employee_name becomes a label of Employee name). style: A string specifying the style of editor to use. The possible values are: simple: A property sheet style editor, fits on a single line custom: A custom editor that usually presents a more elaborate UI that may require a larger amount of screen real estate. text: A single line text editor (i.e. the user must always type in a value) readonly: A non-editable (i.e. display only) editor. The default is to use the style specified by the containing Group or View.¡&#Z8ZKZœ  L%tHiª,¡ xxó”vŸ PControlling an Item s Appearance (cont.)Ÿ¨Cwidth/height: An integer value (default: -1) specifying the desired width/height of an item. If the value is positive, max( value, minimum_needed ) is used. If the value is < -1, abs( value ) is used, even if it is less than what the item says it needs. A value of -1 means use the size requested by the item itself. resizable: A boolean (default False) specifying whether the item benefits from extra space (e.g. lists, tables, trees, multi-line text editors). padding: An integer value (default 0) specifying the amount of extra padding that should be added around an item. ¡²^ZâZZ R!  nlª,„»ðóŸ VControlling an Item s Visibility and StatusŸ  defined_when: A Python expression evaluated when the UI for a View is created. If the value of the expression is true, the item is included in the UI; otherwise the item is omitted. visible_when: A Python expression evaluated when the UI for a View is created, and also whenever any trait belonging to any object in the UI s context is changed. If the value of the expression is true, the editor for the item is visible; otherwise the editor is hidden. enabled_when: A Python expression evaluated when the UI for a View is created, and also whenever any trait belonging to any object in the UI s context is changed. If the value of the expression is true, the editor for the item is enabled; otherwise the editor is disabled. Note: These expressions are useful for relatively simple cases. For more complex cases, a Handler subclass should be used.¡öÖP{P 2t 2My 2M{Vª6 ª  €óŸ¨%Providing User Assistance for an ItemŸ êtooltip: A string specifying information that should be displayed as a tooltip whenever the mouse pointer is positioned over the item s editor. The default is that no tooltip is displayed. help: A string specifying a complete help description of the item. This description is used when the Help button is clicked to automatically synthesize a complete help page for the UI.¡bv@oaPª6@YÈóŸ¨The Group ObjectŸ¨{The Group object is used to organize Item or other Group objects visually and logically. Groups can be nested to any depth.¡H| Dó Ÿ 8Specifying a Group s ContentŸ fThe contents of a group are specified as any number of positional arguments to the Group constructor, or by assigning a list of values to the group s content trait. Each item added to a group can be an: Item Group Include The contents of the group are laid out in the same order they are added to the group.¡pËZZVZS>.VóŸ NOrganizing a View s Layout using GroupsŸ Ìorientation: A string specifying the layout orientation used by the group. The possible values are: vertical: The contents of the group are laid out in a single column. This is the default. horizontal: The contents of the group are laid out in a single row. layout: A string specifying the layout method used by the group. The possible values are: normal: The contents of the group are laid out normally, with no special handling. This is the default. split: Similar to normal, but splitter bars are inserted between group items to allow the user to adjust the space devoted to each item. Note: the position of the splitter bars can be made a user preference item by assigning a value to the group s id trait. tabbed: Each item contained in the group is displayed on its own separate notebook page. More complex layouts are accomplished by appropriate nesting of groups.¡4dPžPZPÃPHP YR :Tb qkSHó!Ÿ @Controlling a Group s AppearanceŸ $show_labels: A boolean (default: True) specifying whether or not labels should be displayed next to each group item. show_left: A boolean (default: True) specifying whether labels, if shown, should be displayed to the left (True) or right (False) of the group s items. show_borders: A boolean (default: False) specifying whether or not a border should be drawn around the contents of the group. label: A string specifying a label used to describe the entire group. If the value is the empty string (the default), no label is displayed. Otherwise. if show_borders is True, the label is displayed as part of the border drawn around the contents of the group. If show_borders is False, the label is displayed as a fancy text label if style is  custom , or a simple text label if it is not.¡þP P u W– Z jª _ „  b só•wŸ PControlling a Group s Appearance (cont.)Ÿ êstyle: A string specifying the default style to use for each item in the group. As with an Item, the possible values are: simple, custom, text, readonly. The group s style value is only used for items contained in the group that do not explicitly specify their own style value. padding: An integer value (default: 0) in the range from 0 to 15, specifying the amount of extra padding to insert between each group item as well as around the outside of the group. selected: A boolean (default: False) specifying whether the group should be the selected notebook page when the containing View is displayed. Obviously, this only applies when the group represents a page within a notebook, and only one group at most within the notebook should have a True value. ¡þöPV~°X ª,Aó"Ÿ VControlling a Group s Visibility and StatusŸ Ödefined_when: A Python expression evaluated when the UI for a View is created. If the value of the expression is True, the group and its contents are included in the UI. Otherwise the group and its contents are omitted. visible_when: A Python expression evaluated when the UI for a View is created, and also whenever any trait belonging to any object in the UI s context is changed. If the value of the expression is True, the group and its contents are visible. Otherwise they are hidden.¡èPZZ¤ZkZ 2"g 2M"Eª$ Ñ ó–xŸ fControlling a Group s Visibility and Status (cont.)Ÿ ¬enabled_when: A Python expression evaluated when the UI for a View is created, and also whenever any trait belonging to any object in the UI s context is changed. If the value of the expression is True, the group and all editors for items contained in the group are enabled Otherwise the group and all contained editors are disabled. Note that this can be used to control a user s progress through a wizard View, by enabling and disabling the groups defining each wizard page. These expressions are useful for relatively simple cases. For more complex cases, a Handler subclass should be used. ¡à¤Z;ZvZZ 2M"ÈBUª Kó#Ÿ¨%Providing User Assistance for a GroupŸ °help: A string (default   ) specifying a user-oriented description of the group s contents. This information is used to automatically create a help page for the containing View when the Help button is clicked. The help information for the group will be combined with the information provided by the help traits of the group s content items.¡n^û¬ m&ó˜zŸ¨Special Group SubtypesŸ¨ÚHGroup: A group of horizontally laid out items VGroup: A group of vertically laid out items HSplit: A group of horizontally split items VSplit: A group of vertically split items Tabbed: A group of tabbed notebook items¡dÛ)'&$#ªH)'&Mó$Ÿ¨The Include ObjectŸ †Include objects are references to other view elements, namely Items and Groups. Include objects allow for factoring views into smaller pieces that are dynamically included when a user interface is constructed from a View. This allows for several interesting capabilities, including: Parameterized views  Visual inheritance¡¨Z)Z7L-?)ó% Ÿ¨How Include Objects are HandledŸ¨ When a user interface is being constructed from a View, any imbedded Include objects are logically replaced by the Item or Group object they refer to. For example: The process is recursive, and will continue until no Include objects remain in the resulting View. ¡´¥PPeP2'^!ó&!Ÿ¨!Creating Implicit Include ObjectsŸ¨ A class View containing Group or Item objects with non-default id traits is automatically refactored into an equivalent View using Include objects. For example:¡š¡P 7ªZ =ó'"Ÿ¨!Using Include Objects EffectivelyŸ ²There are several possible uses for Include objects. One example is creating  parameterized views. For example, the traits TableFilter class contains the following view: This allows TableFilter subclasses to define a new version of the filter_view Group containing their custom content without having to redefine the main TableFilter view. ¡šZZ$R 3 + E ªP} 3 + K ó(#Ÿ¨*View Objects as Part of a Class DefinitionŸ JView elements, like View, Group and Item objects, can be created and used in any context, such as module level variables or dynamically created within methods or functions. However, there are some additional semantics that apply when they are created statically as part of a class definition& ¡J&Zþó)$Ÿ¨/Defining Views, Groups and Items within a ClassŸ ÊViews elements created within a class definition have semantics similar to methods. In particular: They are inherited by subclasses They can be overridden by subclasses This leads to a feature referred to as  visual inheritance & ¡6cF=cF=ó*%Ÿ ( Visual InheritanceŸ¨žJust like methods can be overridden in subclasses to customize behavior without rewriting an entire class, so to can view elements be overridden. For example:¡ŸPŸó.)Ÿ ( Visual InheritanceŸª ó+&Ÿ¨The trait_view Method¡$ª Ÿ ÜThe trait_view method allows you to get or set view element related information on an object. For example: obj.trait_view() returns the default View associated with obj. obj.trait_view(  my_view ) returns the view element named my_view (or none if my_view is not defined). obj.trait_view(  my_group , Group(  a ,  b ) ) defines a Group with the name my_group. This group can either be retrieved using trait_view or as the view element referred to by an Include object imbedded within a View.¡XlZƒZ ^  / + *ªÎ ^,# 5+ Qó,'Ÿ¨The trait_views Method¡$ ª Ÿ¨#The trait_views method can be used to return the list of names of some or all view elements associated with a class. For example: obj.trait_views() returns the names of all View objects associated with obj. obj_trait_views( Group ) returns the names of all Group objects associated with obj.¡¦‚¢ sªb s9AóŠlŸ¨EventsŸ¨nIn the context of the Traits UI and user interface creation, an event is something that happens while a user is interacting with a user interface. More specifically, events include: Button clicks. Menu selections. Window/Dialogs being opened or closed. Changes made to a field or value by the user. Changes made to a field or value by some other part of the program.¡@¶¹@q¹ó‹mŸ¨Event HandlersŸ¨OAn event handler is a method or function that is called whenever a specific event occurs (e.g. the OK button being pressed). Proper event handling is the key to writing flexible and powerful user interfaces. In a traits UI, event handlers can either be written: As methods on the model. As methods on a special object called a Handler.¡XJ öAóŒnŸ¨The Handler ClassŸ¨nIn the MVC programming model, a Handler class instance is a controller. If you are using the VET tool, it automatically builds a Handler for you. The main purpose of a Handler subclass is: To handle events common to every traits UI view. To handle events specific to a particular model and view. To help keep model code separate from user interface specific details.¡‚½²  ; ²óoŸ¨ The Handler Class: Common EventsŸ¨JThe events (and methods) common to every Handler subclass are: init ( info ): Handle view initialization close (info, is_ok ): Handle a user request to close a dialog or window. closed ( info, is_ok ): Handles a dialog or window being closed. setattr ( info, object, name, value ): Handles a request to change a model trait value.¡~? ) 5+%3ª>vF-QóŽpŸ¨'The Handler Class: View Specific EventsŸ¨‰Event handlers specific to a particular View fall into the following categories: Trait change handlers. Menu and toolbar action handlers.¡8Q9(%9óqŸ¨(The Handler Class: Trait Change HandlersŸ¨áA trait change handler is called for each model trait when a view is initialized or when the trait changes value. A trait change handler is optional. If one is not defined, its corresponding event is ignored. A handler always has the following method signature: object_trait_changed ( info ) where: object: The name of the context object containing the trait. trait: The name of the trait. info: A UIInfo object containing information about the current state of the user interface.¡ÒZZZ·Z7Nª,tNórŸ¨/The Handler Class: Menu/Toolbar Action HandlersŸ¨kMenu and toolbar action handlers are not optional. They are explicitly referenced by Action objects specified in a View. The signature for an action handler is always: method_name( info ) where: method_name: The method name specified in the corresponding Action object. info: A UIInfo object containing information about the current state of the user interface.¡þªZZZ§Z%.1   1 Nª>ª  HNó‘sŸ¨The UIInfo ObjectªŸ hA UIInfo object is automatically created whenever a View is displayed. The UIInfo object is passed on every call to a Handler method (referred to as the info argument). The UIInfo object contains all the View specific information defined by the View. It is basically a namespace containing: Each context object, referenced using its context name. Each trait editor, referenced using its Item name or id. The traits UI created UI object, referenced using the name  ui . It is your responsibility to ensure that context objects and editors don t use duplicate names.¡v#Z²Z`Z,%%  `$`ªPC\có’tŸ¨ The UI ObjectŸ¨ZA UI object is also created automatically each time a traits UI View is displayed. The UI object contains all the traits UI information common to every View. The UI object is returned as the result of a call to the edit_traits, configure_traits or ui method (on a View object). Although the UI object contains lots of information, the parts of most interest to a traits UI developer are: result: A boolean value indicating the result of a modal dialog (i.e. True = user clicked OK; False = user clicked Cancel). dispose(): A method that can be used to close the dialog or window under program control.¡^…ZÖZ<@3 _@ QªPØ ”Åó-(Ÿ¨The Traits UI Object ModelŸª ó2-Ÿ¨What Editors DoŸ ¶Editors are the heart of the traits UI. Editors create a UI toolkit specific user interface for displaying and entering a specific type of data (e.g. floats, colors, fonts, file names, & ) Every trait has a default editor associated with it. However, the default editor can be overridden either in the trait definition or in a view Item definition.¡*\K ó3.Ÿ¨What Editors DoŸ¨OEditors and traits are loosely coupled: the editor only ensures that the type of data it understands is entered, and relies on the associated trait to actually validate the data entered. In some cases, the data allowed by the editor is a subset of the data allowed by the trait, so no user errors can occur. In other cases, the editor allows a superset of the data allowed by the trait, and catches exceptions thrown by the trait when invalid values are entered. The editor then provides feedback to the user to indicate that the entered value is not valid (e.g. the entry field turns red). ¡PZPó4/Ÿ¨Editors and Editor FactoriesŸ¨ÞWhat we call an editor is in fact an editor factory (but editor is a less intimidating term). An editor factory can be thought of as a template for creating the real editors when needed (i.e. when a View is displayed). Because they are templates, the same editor factory object can often be re-used in multiple views, or even multiple times within the same view. When a View is displayed, the editor factory for each Item in the View is called to create an editor for that Item.¡BßP¬ó50Ÿ¨The Basic Editor StylesŸ äEditor factories can create any one of four different editor styles, based on the value of the corresponding Item s  style trait. The four editor styles are: simple: Fits on a single line. Can be used to create Visual Basic style property sheets. custom: Provides the richest user experience, and can use as much screen real estate as necessary. text: Fits on a single line, and is always a text entry field. readonly: Displays the current value of a trait, but does not allow the user to edit it.¡˜ŸPTPm,S];QªšQó71Ÿ¨The Basic Editor Stylesó82Ÿ¨The Standard Trait EditorsŸ¨ÇThe Traits UI package comes with a large set of predefined editor factories, and an open architecture that allows for creating new ones as needed. The current set of predefined editor factories are: ¡ÈÈó93Ÿ¨The Standard Trait EditorsŸ In this presentation we ll focus on six of the predefined editor factories& Three that are simple, yet very useful: ButtonEditor CustomEditor EnumEditor And three that are extremely useful, but require more setup to use properly: InstanceEditor TableEditor TreeEditor¡^tP%PMP&Pt%M&ªtt   N  ó:4Ÿ¨The ButtonEditor Editor Factoryª Ÿ ¤The  buttons trait of a View object allows you to define standard and custom buttons along the bottom edge of a window or dialog. However, there may be other cases where it would be useful to define buttons at other points in a view. This is where the ButtonEditor comes in handy. Traits defines a Button trait, which is an Event trait combined with a ButtonEditor. It is a parameterized type whose argument is the label you want to appear on the button in a view. ¡„ÓZà " fª,ý X fó?9Ÿ¨The ButtonEditor Editor Factoryª Ÿ¨ For example:¡  óA:Ÿ¨The ButtonEditor Editor Factoryª Ÿ èThere are several ways to handle the button being clicked. Here s one that treats  spell check as a model function:¡uZuóB;Ÿ¨The ButtonEditor Editor Factoryª Ÿ xHere s another that treats it as a view/controller function:¡=Z=ó;5Ÿ¨The CustomEditor Editor Factoryª Ÿ :While the Traits UI can handle most user interface requirements, occasionally there are cases where it is useful to imbed a non-traits widget in the middle of a traits View. One solution is to write a new traits EditorFactory subclass that creates the needed widget. However, in many  one of cases it may be faster and easier to simply use a CustomEditor to imbed the  foreign control into a particular View. ¡žZžª,Ô x 9óC<Ÿ¨The CustomEditor Editor Factoryª Ÿ¨œUsing a CustomEditor requires specifying a callable function plus any additional arguments the function may require. The signature for the function must be:¡,P ‰ª ‰óD=Ÿ¨The CustomEditor Editor Factoryª Ÿ¨EThe following is an example of using a CustomEditor to create a view:¡,FP' ª' óF>Ÿ¨The CustomEditor Editor Factoryª Ÿ ÊWhich results in the following display& Note that in practice, more code is required than this, since among other things, event handlers to handle input from the control and set the appropriate trait value also need to be set up.¡ææósYŸ¨The EnumEditor Editor Factoryª Ÿ òLet s start with a trivial example of using an EnumEditor: Fruit = Enum(  apple ,  pear ,  peach ) Unsurprisingly, the EnumEditor is the default editor for the Enum trait, and will automatically yield the following results when used in a traits UI:¡r;Z)Z–Z/ ) UªP/  1 UóuZŸ¨The EnumEditor Editor Factoryª Ÿ 4Now, let s make the example a little more  real world & We re doing an interactive menu, and fruit is a trait in an Order object that represents the diner s choice from among the fruit currently on hand. Current stock is maintained in a separate Stock class instance that has a fruits trait that lists the fruit currently available. The diner should only be able to choose a fruit that is currently available. ¡n›P]}óv[Ÿ¨The EnumEditor Editor Factoryª Ÿ ”We can still use the EnumEditor to create the UI, but we ll have to provide more information to help it tie things together. In this case, we ll focus on three of the EnumEditor traits that are of interest for this example: values: The values to enumerate (can be a list, tuple, dict, or a CTrait or TraitHandler than is mapped). name: Extended trait name of the trait containing the enumeration data. The values and name traits provide complementary means of accomplishing the same task: providing the set of enumeration values independently of the trait being edited. In this case, we ll use the name trait because we have access to a Stock object whose fruits trait contains the enumeration of available fruit. ¡dàP²P8PP ˆ /<  D±#4ªt ˆ _ “ów\Ÿ¨The EnumEditor Editor Factoryª Ÿ¨8The resulting Order view would then look something like:¡J9Z &ó<6Ÿ¨!The InstanceEditor Editor FactoryªŸ¨;The following type of trait declaration occurs frequently: manager = Instance( Employee ) Amazingly enough, the InstanceEditor is designed to edit these types of traits. There are multiple usage scenarios for editing this type of trait though: The instance is fixed, but the user needs to edit the contents of the instance. The user needs to select from a fixed or varying set of instances, but does not need to modify the contents of the instance once selected. The user needs to select or create an instance, and then be able to edit the contents of the selected instance. The InstanceEditor is designed to handle all of these scenarios, along with several variations on how the editing should be performed. However, in order to do this, the InstanceEditor requires a more complex definition than do most other trait editors.¡¼;PPšPKPýP;vK—Fª>pÅ—FóG?Ÿ¨!The InstanceEditor Editor FactoryªŸ ‚Let s start with the easiest case: The user only needs to edit the contents of the current instance object. In this case, there are two choices: Allow the user to edit the object contents in a separate pop-up dialog. Edit the contents of the instance object  in-line , as if it were part of the main object being edited.¡R$I%°’ $I%°óH@Ÿ¨!The InstanceEditor Editor FactoryªŸ nFor case 1, use the  simple editor style and specify some or all of the following traits: label: The label on the button that displays the pop-up editor dialog. It defaults to the trait name. view: The View object or name to display in the pop-up editor dialog. It defaults to the default View for the instance object. kind: How the pop-up editor should be displayed (e.g.  modal ). It defaults to the value specified on the view itself. ¡®[][aS3<óKAŸ¨!The InstanceEditor Editor FactoryªŸ¨ For example:¡  ó=7Ÿ¨!The InstanceEditor Editor FactoryªŸ ŠFor case 2, use the  custom editor style and ignore the label trait:¡.FZ9óNCŸ¨!The InstanceEditor Editor FactoryªŸ 6Now let s move on to the next case: The user needs to select from a fixed or varying set of instances, but does not need to modify the contents of the instance once selected. Within this case there are several important sub-cases: The user must select from a known set of existing instances. The set may change over time. The user must select from several different types (i.e. classes) of objects, which are only created once the user selects them. The user must select from an unknown set of existing instances (e.g. by drag and drop). ¡t$P‹P8P4PP$‹84óODŸ¨!The InstanceEditor Editor FactoryªŸ The InstanceEditor supports all of these sub-cases, and in fact allows any combination of them to be used together in the same editor. It does this by allowing you to specify one or more InstanceChoiceItem subclasses as part of the InstanceEditor definition. There are three predefined InstanceChoiceItem subclasses, each handling one of the three previously described sub-cases: InstanceChoice: Describes a single instance object the user can select. Note: If an instance has a suitable name trait, the instance can be used instead of an InstanceChoice object. InstanceFactoryChoice: Describes a  factory (e.g. a class) which can create instance objects the user can select. InstanceDropChoice: Describes a class of object the user can drag and drop on the editor to select it.¡ |PP©(L^/ HUª˜©(L‘ ^UóPEŸ¨!The InstanceEditor Editor FactoryªŸ¨bThe list of InstanceChoiceItems can either be specified as part of the InstanceEditor itself, using the values trait, or as an external model, specified using the name trait. Or they can be used together to create a composite set. In any case, changes made to the set of InstanceChoiceItems are immediately reflected in the InstanceEditor user interface.¡˜c (5h"ªP (º"óQFŸ¨!The InstanceEditor Editor FactoryªŸ¨ For example:¡ P óMBŸ¨!The InstanceEditor Editor FactoryªŸ HAnd a slightly more complex example& ¡%P%óZHŸ¨!The InstanceEditor Editor FactoryªŸ lAnd here s an example showing  drag and drop support:¡7P7ó\IŸ¨!The InstanceEditor Editor FactoryªŸ¨Which looks like:¡Pó^JŸ¨!The InstanceEditor Editor FactoryªŸ¨ŠFinally, it is possible to combine instance selection and editing in a single editor by simply combining the editing and selection traits:¡‹P‹óYGŸ¨The TableEditor Editor Factoryª Ÿ¨TAnother common type of trait declaration is: department = List( Employee ) In the case of a list of objects with traits, the TableEditor can be used to display the list as a table, with one object per row, and one object trait per column. In fact, the TableEditor is the default editor for a List trait whose values are objects with traits.¡r-ZZ Z-2 t -ª,} t Nó_KŸ¨The TableEditor Editor Factoryª Ÿ ŽSome of the features of the TableEditor are: Supports  editable and  read-only modes. Allows object editing either in-place within the table, or separately, in an external  inspector view. In-place editing supports many of the common trait editors, including drag and drop. Supports ascending/descending sorting on any column. Sorting can either affect the underlying model or just the view. Allows the user re-order/include/exclude any of the object columns, and persist the resulting set across application sessions. Allows searching the table contents in a wide variety of ways. Allows filtering the table contents using a wide variety of user customizable and persistable filters. Table/column/cell level context menus All changes made to the table are fully undoable/redoable. Colors, fonts and grid lines are fully customizable. ¡R-PPP ª> t a9óbMŸ¨The TableEditor Editor Factoryª Ÿ¨An example of a TableEditor:¡& ª ó`LŸ¨The TableEditor Editor Factoryª Ÿ 0All of these features and flexibility come at a price& in this case, the amount of work needed to correctly define a TableEditor. Out of the box, a TableEditor will display many lists of objects without any extra work& but the results will often be non-optimal. The traits that can be defined for a TableEditor include: Table Attributes: Colors, fonts, sorting rules, & Table Columns: What object traits can be displayed as columns and how. Table Filters: What standard and custom filters can be applied to the table. Table Search: What filter can be used to search the table. Table Factory: An optional callable that can be used to add new object rows to the table.¡ò>P[Pa    ‹  " : @ / Mª>t  ‹ eócNŸ¨0The TableEditor Editor Factory: Table Attributesª "Ÿª ó>8Ÿ¨-The TableEditor Editor Factory: Table Columnsª Ÿ fYou define the content, appearance and behavior of a table by providing ordered sets of TableColumn objects. Each TableColumn object describes a single column/object trait. You can provide two sets of columns: columns: The columns you see initially other_columns: The remaining columns These are the default columns, the user s most recent preference setting overrides them. There are two basic types of TableColumn: ObjectColumn: Used for objects with traits ListColumn: For lists and tuples You can also define subclasses to get state dependent column behavior ¡þÒPLPƒPLPGPX  U  v   Gª†X  | Ž   HódOŸ¨-The TableEditor Editor Factory: Table Columnsª Ÿ êObjectColumn traits: name: Name of the object trait to display/edit label: Column label to use for the column type: The type of data contained by the column text_color: Text color for this column text_font: Text font for this column cell_color: Cell background color for this column read_only_cell_color: Cell background color for non-editable columns horizontal_alignment: Horizontal alignment of text in the column vertical_alignment: Vertical alignment of text in the column visible: Is the table column visible (i.e. viewable)? editable: Is this column editable? droppable: Can external objects be dropped on the column? editor: Editor factory to use when editing the column  in-place menu: Context menu to display when this column is right-clicked¡dPáP  +%,   (1-+/ 4;<ª~ ’   (1-BóePŸ¨-The TableEditor Editor Factory: Table Columnsª Ÿ „For almost every ObjectColumn trait there is a corresponding  get or  is method. For example,  editor and  get_editor() ,  editable and  is_editable() . Defining a method overrides the corresponding trait. This allows subclasses to define values that are dependent upon the state of each table object or other values.¡RTJ¥ 7J¥ª> R  ªófQŸ¨-The TableEditor Editor Factory: Table Filtersª Ÿ ´When applied to a table, a filter reduces the set of visible rows to only those objects which match the filter s criteria. A TableEditor defines two filter related traits: filter: The filter initially in effect (defaults to None =  No filter ) filters: A list of TableFilter objects that the user can choose from using the  View drop down list. ¡~¬¯} $.  Iª,}  Ió—yŸ¨-The TableEditor Editor Factory: Table Filtersª Ÿ There are two basic types of filters: Normal filter: An actual filter that can be applied and modified. Template filter: A filter which cannot be applied or modified, but which is used to create new normal filter objects of the same type as the template and with the same initial filter values. A template filter is simply a normal filter with its template trait set to True. User created filters are automatically persisted across application sessions as part of the TableEditor s user preference handling. You can create your own TableFilter subclasses, or use any of the standard subclasses: EvalTableFilter RuleTableFilter MenuTableFilter ¡ö&PP,P0PP& 5°5^ 5 40ªbÔ 3 4óhRŸ¨-The TableEditor Editor Factory: Table Filtersª Ÿ¨(The EvalTableFilter: Allows a user to enter a Python expression whose value determines whether or not an object meets the filter criteria. Its use is obviously best suited to users already familiar with Python. Trait references on the object being tested do not need to be explicitly qualified. ¡BªójSŸ¨-The TableEditor Editor Factory: Table Filtersª Ÿ öThe RuleTableFilter: Allows users to define  rules using drop down value entry for trait names and operations. Rules can be  and ed or  or ed together. Rules can be added, deleted and modified. Introspection based& requires no set-up by the developer.¡:ZçZéª>knólTŸ¨-The TableEditor Editor Factory: Table Filtersª Ÿ ÖThe MenuTableFilter: Is similar to the RuleTableFilter The differences are: A rule is automatically created for each object trait. Rules cannot be added or deleted. Rules are implicitly  and ed together. Rules can be turned on and off.¡hZ7Z Z ª>…+ónUŸ¨,The TableEditor Editor Factory: Table Searchª Ÿ VMaking a table searchable allows the user to search for (and optionally select) object rows which match a specified search criteria. A table is made searchable by setting the TableEditor s search trait to a TableFilter object. Doing so adds a  search icon to the table s toolbar, which displays a pop-up search dialog. The search dialog allows the user to search for the next or previous match, or to select all matching rows.¡B¬P¯  Òª,¯  ÒóoVŸ¨-The TableEditor Editor Factory: Table Factoryª Ÿ¨ùIf users can add new rows to a table, then a factory must be provided to create the new table objects. The TableEditor traits that specify the object factory are: row_factory: A callable that creates and returns a new object instance when the user adds a new row to the table. row_factory_args: An optional tuple that contains any positional arguments that need to be passed to the factory. row_factory_kw: An optional dictionary that contains any keyword arguments that need to be passed to the factory. ¡–£PWP-7 - gbeªbk - gOeópWŸ¨*The TableEditor Editor Factory: An Exampleª Ÿª órXŸ¨*The TableEditor Editor Factory: An Exampleª Ÿ¨The resulting view looks like:¡óx]Ÿ¨The TreeEditor Editor Factoryª Ÿ RObjects often are connected together in such a way that a hierarchical or tree view of them is a useful user interface feature. Common examples: File system explorer: files are contained in directories, which are contained in other directories& Organizational chart: Employees belong to departments, which in turn belong to the company itself. A TreeEditor allows interconnected objects with traits to be displayed as a tree.¡X‘ZÇZRZ‘Ç FªZ Fóy^Ÿ¨The TreeEditor Editor Factoryª Ÿ DUsing a TreeEditor, each connected object in the graph of objects to be displayed becomes a separate tree item. Some of the features supported by the TreeEditor include: Full drag and drop support: Objects can be dragged into the tree. Objects can be dragged out of the tree. Objects can be dragged within the tree. Structural relationships between objects are enforced. Objects can be: Added Deleted Renamed The contents of objects can be edited in a separate  inspector view if desired. Each object can have a standard or custom context menu. ¡ÒªPP­PPP‰PP „  ­‰  ª, „ ƒó{_Ÿ¨The TreeEditor Editor Factoryª Ÿ¨AHere are some examples of TreeEditors being used in the VET tool:¡.BZ ª ó}`Ÿ¨The TreeEditor Editor Factoryª Ÿ hLike the TableEditor, in order to provide such a rich set of user interactions, the TreeEditor needs additional information to perform its task. The extra information is divided into two parts: General information about the editor s behavior defined by traits on the TreeEditor itself. Specific information about each of the object types that can appear in the tree, provided by a set of TreeNode objects associated with the TreeEditor.¡žÂó  @ dI o ªb @ ­ o ó~aŸ¨The TreeEditor Editor Factoryª Ÿ¨"The general TreeEditor traits are:¡.#P   ª  ó€cŸ¨The TreeEditor Editor Factoryª Ÿ \A TreeNode provides information about one or more types (i.e. classes) of object that can appear in the tree: The object classes the TreeNode applies to. Which object trait (if any) contains the children of the object. Can the object s children be renamed, copied deleted or inserted? What object class instances can be added to, copied to or moved to the children of the object. The icons used to represent the object in the tree. The context menu to display when the object is right-clicked on. The view to display when the object is selected for editing. ¡tnZÁZd6dª,{¢óbŸ¨The TreeEditor Editor Factoryª Ÿ¨The traits for a TreeNode are:¡.PªódŸ¨The TreeEditor Editor Factoryª Ÿ In addition, there are several different types of and ways to use TreeNodes: If all the information about an object type is static, simply use a TreeNode and initialize its traits. If some of the information is not known until run-time, create a subclass of TreeNode and override the necessary methods. Each trait has a corresponding method that can be used to override the trait value (e.g.  get_children() overrides  children and  can_delete() overrides  delete ). Sometimes you have data that is not explicitly or conveniently hierarchical, so you need to build a model that exposes the hierarchy. In this case, you can create your model classes as subclasses of TreeNodeObject and create corresponding ObjectTreeNodes for use with the model s TreeEditor. An ObjectTreeNode simply delegates all its methods to the object it describes.¡4MPüPB Di  Ë >ªªB Fi  à >ó‚eŸ¨The TreeEditor Editor Factoryª Ÿ¨An example (Part 1):¡PóƒfŸ¨The TreeEditor Editor Factoryª Ÿ¨An example (Part 2): ¡"Pó…gŸ¨The TreeEditor Editor Factoryª Ÿ¨An example (Part 3):¡ó†hŸ¨The TreeEditor Editor Factoryª Ÿ¨The resulting view looks like:¡Pó/*Ÿ¨)Saving and Restoring User GUI PreferencesŸ¨eThe Traits UI allows some user preference settings to be saved without writing any code. The preferences that can be saved automatically are defined by a View and the individual editors contained in a View. Some of the user preference settings that can be saved currently are: Window/Dialog size and position Splitter bar position User defined table filters¡ZZQZš+HQó0+Ÿ¨)Saving and Restoring User GUI PreferencesŸ îUser preferences are only saved when you request them to be saved. You request a preference to be saved simply by assigning a non-empty  id trait to the corresponding View, Group or Item object. In order for any preferences to be saved, a View must have a non-empty  id . The user preference values for a View are saved in a global  database under the view s  id , so the View  id should also be unique across applications and views. For example: View( & , id =  enthought.graph.vpl.graph_canvas , & )¡ÆøZ¨> ~ªÑ ó1,Ÿ¨)Saving and Restoring User GUI PreferencesŸ NGroup and Item  id values only need to be unique within the containing View. The currently supported preference items are: View (Window/Dialog size and position) Group (Splitter bar position when layout =  split ) Item (Splitter bar position when editor = TreeEditor) Item (User defined filters when editor = TableEditor) New editors can save their preferences by implementing the  save_prefs and  restore_prefs methods.¡Ò|ZÇZeZH0#/& % eªP + >   êø¤ï  0`ð ÿÿÿ€€€»àã33™™™™Ì`ð ÿÿÿ–––ûßSÿ™fÌ3™f`ð ÿÿÿ€€€™ÌÿÌÌÿ33̯gÿ`ð Þöñ–––ÿÿÿÆÿf̨`ð ÿÿÙwwwÿÿ÷3ÌÌÿPPÿ™`ð €€ÿÿÿZXÿÿ™dbmoÇÿÿÿ`ð €ÿÿÿ\ßÒ“Ì3¾y`ÿÿ™Ó¢`ð ™ÿÿÿ3fÌÿÿ3f̰fÌÿÿç`ð ÿÿÿ3f™ãëñ3™FŠKfÌÿðå`ð hk]ÿÿÿwwwÑÑË‚€ž¨ÿÌféܹ`ð ff™ÿÿÿ>>\ÿÿÿ`Y{ffÿ™Ìÿÿÿ™`ð R>&ÿÿÿ- ßÀŒ{p_/Ì´Œž £>ÿý?" dÿd@ÿÿïÿÿÿÿÿÿ£|ÿý?" dÿdØ@ÿÿïÿÿÿÿÿÿ € Ô €" Ð@€ ð`€»€ £nÿý?" dÿd@ÿÿïÿÿÿÿÿÿ   @@``€€P£R    @ ` €`£ p£>€£> ÖðÎððfð( ð ððt² ð C ð>€€AÁ&blue_blue_gradient"ñ¿ð€àðÒ ð “ ð6€Ät’‡ƒ¿Àÿ ð0@ðà ’ ðTŸ¨ Click to edit Master title style¢!ª !ð ð ƒ ð0€°w’ƒ¿Àÿ ðð `ðà ’ 𞟨RClick to edit Master text styles Second level Third level Fourth level Fifth level¢!    ª Sðº ð ƒ ð0€|~’ƒ¿Àÿ ðð àðà  ’ ðBŸ *¡úðH ð ƒ ð0ƒ“ŽŸ‹”Þ½h¿ÿ ?ð ÿÿÿ€€€»àã33™™™™Ìˆ8Š0º___PPT10‹ë.ªÄà'{O ºDefault Designðúñ€ 0 zðr@ðð ð( ð ððÈ ð ƒ ð0€Àœ·ƒ¿Àÿ ðP ðà  · ðPŸ *¡ ùª ðÊ ð ƒ ð0€Ü¡·ƒ¿Àÿ ð ß ðà · ðRŸ *¡ øª ðd ð c ð$‡¿ÿ ?ð°Ð ðà ·ð ð ƒ ð0€ð¤·ƒ¿Àÿ ð° °0Ððà · 𞟨RClick to edit Master text styles Second level Third level Fourth level Fifth level¢!    ª SðÎ ð “ ð6€øª·‡ƒ¿Àÿ ð_Pðà  · ðPŸ *¡ úª ðÐ ð “ ð6€8¯·‡ƒ¿Àÿ ð_ ßðà · ðRŸ *¡ ت ðH ð ƒ ð0ƒ“Þ½h”ŽŸ‹¿ÿ ?ð ÿÿÿ€€€»àã33™™™™Ìˆ8Š0º___PPT10‹ë. ¶Äuíîöï€ 0 fð^ ð4ðöð( ð ð4ð ¢ ð4 Ó ðN€€×N…‡¿ÿÌ™¿ Àÿ?¿ÿ“"ñ6@¿ ÿÀ¿‚‚N¿NÿN?NðÍú4Ç  ðMŸ¨Traits User Interface Class¡<ðE¢ ð4 Ó ðN€X’…‡¿ÿÌ™¿ Àÿ?¿ÿ“"ñ6@¿ ÿÀ¿‚‚N¿NÿN?Nð@ ù  ð‰Ÿ¨7David C. Morrill Enthought, Inc. dmorrill@enthought.com¡88ª!ð`² ð4 C ð8€€AÁ traits_ui_logo2ð€àðH ð4 ƒ ð0ƒ“ŽŸ‹”Þ½h¿ÿ ?ð ÿÿÿ€€€»àã33™™™™Ìˆ8Š0º___PPT10‹ë.SµÅ0îaî$ï € 0 ”ðŒÐð<ð$ð( ð ð<ðr ð< S ð€0,V¿ÿð0@ðà  V ð žðr ð< S ð€-V¿ÿðð `ðà V ð žðH ð< ƒ ð0ƒ“ŽŸ‹”Þ½h¿ÿ ?ð ÿÿÿ€€€»àã33™™™™Ìˆ8Š0º___PPT10‹ë.˸Å€>âî$ï € 0 ”ðŒ`ð ð$ð( ð ð ðr ð S ð€T V¿ÿðÀ@ðà  V ð žðr ð S ð€,V¿ÿðð `ðà V ð žðH ð ƒ ð0ƒ“ŽŸ‹”Þ½h¿ÿ ?ð ÿÿÿ€€€»àã33™™™™Ìˆ8Š0º___PPT10‹ë.¶ÄÀ•Ö î$ï € 0 ”ðŒpð$ð$ð( ð ð$ðr ð$ S ð€äV¿ÿð0@ðà  V ð žðr ð$ S ð€t V¿ÿðð `ðà V ð žðH ð$ ƒ ð0ƒ“ŽŸ‹”Þ½h¿ÿ ?ð ÿÿÿ€€€»àã33™™™™Ìˆ8Š0º___PPT10‹ë.&’ÅQbÕî$ï € 0 ”ðŒ€ð(ð$ð( ð ð(ðr ð( S ð€ˆJV¿ÿð0@ðà  V ð žðr ð( S ð€`KV¿ÿðð `ðà V ð žðH ð( ƒ ð0ƒ“ŽŸ‹”Þ½h¿ÿ ?ð ÿÿÿ€€€»àã33™™™™Ìˆ8Š0º___PPT10‹ë.(’Å @£î$ï € 0 ”ðŒð,ð$ð( ð ð,ðr ð, S ð€ MV¿ÿð0@ðà  V ð žðr ð, S ð€|V¿ÿðð `ðà V ð žðH ð, ƒ ð0ƒ“ŽŸ‹”Þ½h¿ÿ ?ð ÿÿÿ€€€»àã33™™™™Ìˆ8Š0º___PPT10‹ë.)’Å ,Æî¬ ï€ 0  ð  ð0ð ð( ð ð0ð ð0 S ð€|ZV¿ÿð@`ðà ÿÿÿÿ V ð7Ÿ¨#GUI Design 101: The MVC Big Pictureð£ ð0 ƒ ð0€Ô\V…‡ÿÌ™¿Àÿ"ñ¿`ð€  ð P  ð5Ÿ¨Model¡ð¨ ð0 ƒ ð0€(’…‡Ìÿÿ¿Àÿ"ñ¿`ðpÐ @ ð:Ÿ¨ Controller¡  ð¢ ð0 ƒ ð0€ä_V…‡ÿÿ™¿Àÿ"ñ¿`ðp@ @ ð4Ÿ¨View¡ðR ð0 s ð*¿ÀÐÑÿð0 Ð 0ðL ð0@ c ð$¿ÀÑÿðØ Ð ØðÌ ð0 # ðl´…‡¿G™mþÿH9úþÿI™mþÿ¿ÀÐÑÿ?¿ÿƒ"ñ0@ÿ€¿‚‚N¿NÿN?Nð@h è ðÆ ð0€  ðf…‡¿G—ÃüÿHÇI—Ãüÿ¿ÀÐÑÿ?¿ÿƒ"ñ0@ÿ€¿‚‚N¿NÿN?Nð@ð ø è ðÆ ð0€  ðf´…‡¿G£ýÿHôI£ýÿ¿ÀÑÿ?¿ÿƒ"ñ0@ÿ€¿‚‚N¿NÿN?NðØÈ Ð € ðý¢ ð0 Ó ðN€ÈdV…‡¿ÿÌ™¿ Àÿ?¿ÿ“"ñ6@¿ ÿÀ¿‚‚N¿NÿN?Nð` X  ðAŸ¨Data and Events¡ ðý¢ ð0 Ó ðN€,jV…‡¿ÿÌ™¿ Àÿ?¿ÿ“"ñ6@¿ ÿÀ¿‚‚N¿NÿN?Nð` H  ðAŸ¨Data and Events¡ ðõ¢ ð0 Ó ðN€àmV…‡¿ÿÌ™¿ Àÿ?¿ÿ“"ñ6@¿ ÿÀ¿‚‚N¿NÿN?Nðp° X   ð9Ÿ¨Control¡ ðý¢ ð0 Ó ðN€ˆoV…‡¿ÿÌ™¿ Àÿ?¿ÿ“"ñ6@¿ ÿÀ¿‚‚N¿NÿN?Nð° 8 ] ðAŸ¨Data and Events¡ ðH ð0 ƒ ð0ƒ“ŽŸ‹”Þ½h¿ÿ ?_ð ð0ÿÿÿÿÿÿÿÿð 000ð000ð000ð000ð ÿÿÿ€€€»àã33™™™™Ìˆ8Š0º___PPT10‹ë.*’Å`ufàî$ï € 0 ”ðŒÐð8ð$ð( ð ð8ðr ð8 S ð€dvV¿ÿð0@ðà  V ð žðr ð8 S ð€tfV¿ÿðð `ðà V ð žðH ð8 ƒ ð0ƒ“ŽŸ‹”Þ½h¿ÿ ?ð ÿÿÿ€€€»àã33™™™™Ìˆ8Š0º___PPT10‹ë.-’Š슎î$ï € 0 ”ðŒàð<ð$ð( ð ð<ðr ð< S ð€¤V¿ÿð0@ðà  V ð žðr ð< S ð€ì¤V¿ÿðð `ðà V ð žðH ð< ƒ ð0ƒ“ŽŸ‹”Þ½h¿ÿ ?ð ÿÿÿ€€€»àã33™™™™Ìˆ8Š0º___PPT10‹ë..’Å@â}}î$ï € 0 ”ðŒðð@ð$ð( ð ð@ðr ð@ S ð€ˆ¼V¿ÿð0@ðà  V ð žðr ð@ S ð€0½V¿ÿðð `ðà V ð žðH ð@ ƒ ð0ƒ“ŽŸ‹”Þ½h¿ÿ ?ð ÿÿÿ€€€»àã33™™™™Ìˆ8Š0º___PPT10‹ë./’Å@:`¿î$ï € 0 ”ðŒðDð$ð( ð ðDðr ðD S ð€0ÈV¿ÿð0@ðà  V ð žðr ðD S ð€ŒËV¿ÿðð `ðà V ð žðH ðD ƒ ð0ƒ“ŽŸ‹”Þ½h¿ÿ ?ð ÿÿÿ€€€»àã33™™™™Ìˆ8Š0º___PPT10‹ë.0’ÅP¾®"î$ï € 0 ”ðŒðHð$ð( ð ðHðr ðH S ð€PÐV¿ÿð0@ðà  V ð žðr ðH S ð€(ÑV¿ÿðð `ðà V ð žðH ðH ƒ ð0ƒ“ŽŸ‹”Þ½h¿ÿ ?ð ÿÿÿ€€€»àã33™™™™Ìˆ8Š0º___PPT10‹ë.0’ÅÀhW´î$ï € 0 ”ðŒ ðLð$ð( ð ðLðr ðL S ð€Ø½V¿ÿð0@ðà  V ð žðr ðL S ð€”¥V¿ÿðð `ðà V ð žðH ðL ƒ ð0ƒ“ŽŸ‹”Þ½h¿ÿ ?ð ÿÿÿ€€€»àã33™™™™Ìˆ8Š0º___PPT10‹ë.1’ÅÀ }î$ï € 0 ”ðŒ0ðPð$ð( ð ðPðr ðP S ð€íV¿ÿð0@ðà  V ð žðr ðP S ð€ôíV¿ÿðð `ðà V ð žðH ðP ƒ ð0ƒ“ŽŸ‹”Þ½h¿ÿ ?ð ÿÿÿ€€€»àã33™™™™Ìˆ8Š0º___PPT10‹ë.1’Å­§ûî$ï € 0 ”ðŒ@ðTð$ð( ð ðTðr ðT S ð€ÔúV¿ÿð0@ðà  V ð žðr ðT S ð€¬ûV¿ÿðð `ðà V ð žðH ðT ƒ ð0ƒ“ŽŸ‹”Þ½h¿ÿ ?ð ÿÿÿ€€€»àã33™™™™Ìˆ8Š0º___PPT10‹ë.2’Å µ î$ï € 0 ”ðŒPðXð$ð( ð ðXðr ðX S ð€XÔ¿ÿð0@ðà  Ô ð žðr ðX S ð€Ô¿ÿðð `ðà Ô ð žðH ðX ƒ ð0ƒ“ŽŸ‹”Þ½h¿ÿ ?ð ÿÿÿ€€€»àã33™™™™Ìˆ8Š0º___PPT10‹ë.2’Å …¬î$ï € 0 ”ðŒ`ð\ð$ð( ð ð\ðr ð\ S ð€´Ô¿ÿð0@ðà  Ô ð žðr ð\ S ð€ŒÔ¿ÿðð `ðà Ô ð žðH ð\ ƒ ð0ƒ“ŽŸ‹”Þ½h¿ÿ ?ð ÿÿÿ€€€»àã33™™™™Ìˆ8Š0º___PPT10‹ë.3’Å@Ù‡åî$ï € 0 ”ðŒÀð8ð$ð( ð ð8ðr ð8 S ð€xÔ¿ÿð0@ðà  Ô ð žðr ð8 S ð€PÔ¿ÿðð `ðà Ô ð žðH ð8 ƒ ð0ƒ“ŽŸ‹”Þ½h¿ÿ ?ð ÿÿÿ€€€»àã33™™™™Ìˆ8Š0º___PPT10‹ë.[µÅ@ÏHÔî$ï € 0 ”ðŒpð`ð$ð( ð ð`ðr ð` S ð€Ü(Ô¿ÿð0@ðà  Ô ð žðr ð` S ð€´)Ô¿ÿðð `ðà Ô ð žðH ð` ƒ ð0ƒ“ŽŸ‹”Þ½h¿ÿ ?ð ÿÿÿ€€€»àã33™™™™Ìˆ8Š0º___PPT10‹ë.4’Åp\n_î$ï € 0 ”ðŒ€ðdð$ð( ð ðdðr ðd S ð€ÄÔ¿ÿð0@ðà  Ô ð žðr ðd S ð€È¦’¿ÿðð `ðà Ô ð žðH ðd ƒ ð0ƒ“ŽŸ‹”Þ½h¿ÿ ?ð ÿÿÿ€€€»àã33™™™™Ìˆ8Š0º___PPT10‹ë.5’Å@Äeî$ï € 0 ”ðŒp ðdð$ð( ð ðdðr ðd S ð€,LÔ¿ÿð0@ðà  Ô ð žðr ðd S ð€MÔ¿ÿðð `ðà Ô ð žðH ðd ƒ ð0ƒ“ŽŸ‹”Þ½h¿ÿ ?ð ÿÿÿ€€€»àã33™™™™Ìˆ8Š0º___PPT10‹ë.ڸŠ}$Oî$ï € 0 ”ðŒðhð$ð( ð ðhðr ðh S ð€8RÔ¿ÿð0@ðà  Ô ð žðr ðh S ð€üRÔ¿ÿðð `ðà Ô ð žðH ðh ƒ ð0ƒ“ŽŸ‹”Þ½h¿ÿ ?ð ÿÿÿ€€€»àã33™™™™Ìˆ8Š0º___PPT10‹ë.å–Åóæ°î$ï € 0 ”ðŒ ðlð$ð( ð ðlðr ðl S ð€ÐcÔ¿ÿð0@ðà  Ô ð žðr ðl S ð€”dÔ¿ÿðð `ðà Ô ð žðH ðl ƒ ð0ƒ“ŽŸ‹”Þ½h¿ÿ ?ð ÿÿÿ€€€»àã33™™™™Ìˆ8Š0º___PPT10‹ë.æ–ÅlâHî$ï € 0 ”ðŒ°ðpð$ð( ð ðpðr ðp S ð€tqÔ¿ÿð0@ðà  Ô ð žðr ðp S ð€LrÔ¿ÿðð `Vðà Ô ð žðH ðp ƒ ð0ƒ“ŽŸ‹”Þ½h¿ÿ ?ð ÿÿÿ€€€»àã33™™™™Ìˆ8Š0º___PPT10‹ë.ç–Å`{ß î$ï € 0 ”ðŒÀðtð$ð( ð ðtðr ðt S ð€P‚Ô¿ÿð0@ðà  Ô ð žðr ðt S ð€(ƒÔ¿ÿðð `ðà Ô ð žðH ðt ƒ ð0ƒ“ŽŸ‹”Þ½h¿ÿ ?ð ÿÿÿ€€€»àã33™™™™Ìˆ8Š0º___PPT10‹ë.è–۶ î$ï € 0 ”ðŒÐðxð$ð( ð ðxðr ðx S ð€0‘Ô¿ÿð0@ðà  Ô ð žðr ðx S ð€’Ô¿ÿðð `Àðà Ô ð žðH ðx ƒ ð0ƒ“ŽŸ‹”Þ½h¿ÿ ?ð ÿÿÿ€€€»àã33™™™™Ìˆ8Š0º___PPT10‹ë.z—Å`²Gî$ï € 0 ”ðŒ€ ðhð$ð( ð ðhðr ðh S ð€¡Ô¿ÿð0@ðà  Ô ð žðr ðh S ð€ô¡Ô¿ÿðð `ðà Ô ð žðH ðh ƒ ð0ƒ“ŽŸ‹”Þ½h¿ÿ ?ð ÿÿÿ€€€»àã33™™™™Ìˆ8Š0º___PPT10‹ë.Ú¸Å`€–¿î$ï € 0 ”ðŒàð|ð$ð( ð ð|ðr ð| S ð€è{Ô¿ÿð0@ðà  Ô ð žðr ð| S ð€D|Ô¿ÿðð `cðà Ô ð žðH ð| ƒ ð0ƒ“ŽŸ‹”Þ½h¿ÿ ?ð ÿÿÿ€€€»àã33™™™™Ìˆ8Š0º___PPT10‹ë.}—Å ^"&î$ï € 0 ”ðŒðð€ð$ð( ð ð€ðr ð€ S ð€l½Ô¿ÿð0@ðà  Ô ð žðr ð€ S ð€D¾Ô¿ÿðð `ðà Ô ð žðH ð€ ƒ ð0ƒ“ŽŸ‹”Þ½h¿ÿ ?ð ÿÿÿ€€€»àã33™™™™Ìˆ8Š0º___PPT10‹ë.}—ÅàUlùî$ï € 0 ”ðŒð„ð$ð( ð ð„ðr ð„ S ð€LÌÔ¿ÿð0@ðà  Ô ð žðr ð„ S ð€$ÍÔ¿ÿðð `ðà Ô ð žðH ð„ ƒ ð0ƒ“ŽŸ‹”Þ½h¿ÿ ?ð ÿÿÿ€€€»àã33™™™™Ìˆ8Š0º___PPT10‹ë.~—ŰiHÏî$ï € 0 ”ðŒ ðŒð$ð( ð ðŒðr ðŒ S ð€ ÛÔ¿ÿð0@ðà  Ô ð žðr ðŒ S ð€øÛÔ¿ÿðð `ðà Ô ð žðH ðŒ ƒ ð0ƒ“ŽŸ‹”Þ½h¿ÿ ?ð ÿÿÿ€€€»àã33™™™™Ìˆ8Š0º___PPT10‹ë.€—Åip¦î$ï € 0 ”ðŒðˆð$ð( ð ðˆðr ðˆ S ð€ØèÔ¿ÿð0@ðà  Ô ð žðr ðˆ S ð€°éÔ¿ÿðð `ðà Ô ð žðH ðˆ ƒ ð0ƒ“ŽŸ‹”Þ½h¿ÿ ?ð ÿÿÿ€€€»àã33™™™™Ìˆ8Š0º___PPT10‹ë.—Å”öºî$ï € 0 ”ðŒ0ðð$ð( ð ððr ð S ð€ ôÔ¿ÿð0@ðà  Ô ð žðr ð S ð€øôÔ¿ÿð `Õðà Ô ð žðH ð ƒ ð0ƒ“ŽŸ‹”Þ½h¿ÿ ?ð ÿÿÿ€€€»àã33™™™™Ìˆ8Š0º___PPT10‹ë.‚—ÅðÅZšî$ï € 0 ”ðŒ ðlð$ð( ð ðlðr ðl S ð€4 ¿ÿð0@ðà   ð žðr ðl S ð€ ¿ÿðð `ðà  ð žðH ðl ƒ ð0ƒ“ŽŸ‹”Þ½h¿ÿ ?ð ÿÿÿ€€€»àã33™™™™Ìˆ8Š0º___PPT10‹ë.Ú¸Å(«ïî$ï € 0 ”ðŒ@ð”ð$ð( ð ð”ðr ð” S ð€à¿ÿð0@ðà   ð žðr ð” S ð€¸¿ÿðo[/ðà  ð žðH ð” ƒ ð0ƒ“ŽŸ‹”Þ½h¿ÿ ?ð ÿÿÿ€€€»àã33™™™™Ìˆ8Š0º___PPT10‹ë.†—Å0§>¹î$ï € 0 ”ðŒ  ðpð$ð( ð ðpðr ðp S ð€è)¿ÿð0@ðà   ð žðr ðp S ð€À*¿ÿðð `ðà  ð žðH ðp ƒ ð0ƒ“ŽŸ‹”Þ½h¿ÿ ?ð ÿÿÿ€€€»àã33™™™™Ìˆ8Š0º___PPT10‹ë.۸ŮfXî$ï € 0 ”ðŒPð˜ð$ð( ð ð˜ðr ð˜ S ð€œ:¿ÿð0@ðà   ð žðr ð˜ S ð€t;¿ÿðð `ðà  ð žðH 𘠃 ð0ƒ“ŽŸ‹”Þ½h¿ÿ ?ð ÿÿÿ€€€»àã33™™™™Ìˆ8Š0º___PPT10‹ë.‡—Å0¹/µî$ï € 0 ”ðŒÀ ðxð$ð( ð ðxðr ðx S ð€,Ej¿ÿð0@ðà  j ð žðr ðx S ð€lÉj¿ÿðð `ðà j ð žðH ðx ƒ ð0ƒ“ŽŸ‹”Þ½h¿ÿ ?ð ÿÿÿ€€€»àã33™™™™Ìˆ8Š0º___PPT10‹ë.Ô¨ÇÀ¹Iªî$ï € 0 ”ðŒ`ðœð$ð( ð ðœðr ðœ S ð€˜I¿ÿð0@ðà   ð žðr ðœ S ð€\J¿ÿðð `ðà  ð žðH 𜠃 ð0ƒ“ŽŸ‹”Þ½h¿ÿ ?ð ÿÿÿ€€€»àã33™™™™Ìˆ8Š0º___PPT10‹ë.‰—Åp´¹îlï € 0 ÜðÔpð ðlð( ð ð ðr ð  S ð€¤W¿ÿðð €ðà  ð žðr ð  S ð€hX¿ÿð0@ðà   ð žðØ¢ ð  ³ ðB€Ä[¿ÿÌ™¿ Àÿ?¿ÿ“"ñ6@¿ ÿÀ¿‚‚N¿NÿN?Nð€  0g  ð(Ÿ¡ð`¢ ð  Ó ðN€D?…‡¿ÿÌ™¿ Àÿ?¿ÿ“"ñ6@¿ ÿÀ¿‚‚N¿NÿN?Nð€R  𤟠$my_view = View(  a , Include(  my_group ),  e ) my_group = Group(  b ,  c ,  d ) is equivalent to: my_view = View(  a ,  b ,  c ,  d ,  e )¡““ªH -#ðH ð  ƒ ð0ƒ“ŽŸ‹”Þ½h¿ÿ ?ð ÿÿÿ€€€»àã33™™™™Ìˆ8Š0º___PPT10‹ë.‰—Å JE3îèï € 0 XðP€ð¤ðèð( ð ð¤ðr ð¤ S ð€Xp¿ÿð0@ðà   ð žðr ð¤ S ð€q¿ÿðð `Ððà  ð žð¼¢ 𤠳 ðB€hr¿ÿÌ™¿ Àÿ?¿ÿ“"ñ6@¿ ÿÀ¿‚‚N¿NÿN?Nð `€š ð Ÿ Dmy_view = View( Group(  a ,  b , id =  my_group ), Group(  x , Item(  y , id =  my_item ) ) ) is equivalent to: my_view = View( Include(  my_group ), Group(  x , Include(  my_item ) ) ) my_group = Group(  a ,  b ) my_item = Item(  y )¡##ª ?.ðH 𤠃 ð0ƒ“ŽŸ‹”Þ½h¿ÿ ?ð ÿÿÿ€€€»àã33™™™™Ìˆ8Š0º___PPT10‹ë.‰—ŰÏ/;îDï € 0 ´ð¬ð¨ðDð( ð ð¨ðr ð¨ S ð€ˆ¿ÿð0@ðà   ð žðr ð¨ S ð€Üˆ¿ÿðð `0ðà  ð žð¢ 𨠳 ðB€0Œ¿ÿÌ™¿ Àÿ?¿ÿ“"ñ6@¿ ÿÀ¿‚‚N¿NÿN?Nðà0Ò{  ðhŸ Øtraits_view = View( 'name{Filter name}', '_', Include( 'filter_view' ), title = 'Edit filter', & ) filter_view = Group() ¡$íM†ªH  7 \ $ðH 𨠃 ð0ƒ“ŽŸ‹”Þ½h¿ÿ ?ð ÿÿÿ€€€»àã33™™™™Ìˆ8Š0º___PPT10‹ë.‰—ŰÝVBî$ï € 0 ”ðŒ ð¬ð$ð( ð ð¬ðr ð¬ S ð€hœ¿ÿð0@ðà   ð žðr ð¬ S ð€@¿ÿðð `ðà  ð žðH 𬠃 ð0ƒ“ŽŸ‹”Þ½h¿ÿ ?ð ÿÿÿ€€€»àã33™™™™Ìˆ8Š0º___PPT10‹ë.‰—Ű9¿î$ï € 0 ”ðŒ°ð°ð$ð( ð ð°ðr ð° S ð€ª¿ÿð0@ðà   ð žðr ð° S ð€ðª¿ÿðð `ðà  ð žðH ð° ƒ ð0ƒ“ŽŸ‹”Þ½h¿ÿ ?ð ÿÿÿ€€€»àã33™™™™Ìˆ8Š0º___PPT10‹ë.‰—Åп2Èî|ï € 0 ìðäÀð´ð|ð( ð ð´ðr ð´ S ð€$°¿ÿð0@ðà   ð žðr ð´ S ð€è°¿ÿð0 `ðà  ð žðP¢ ð´ Ó ðN€8¶…‡¿ÿÌ™¿ Àÿ?¿ÿ“"ñ6@¿ ÿÀ¿‚‚N¿NÿN?Nðx@ 𔟠†class Camera ( HasTraits ): manufacturer = Str price = Float traits_view = View(  manufacturer,  price , Include(  other ) ) other = Group() class FilmCamera ( Camera ): film_type = Enum(  35mm ,  16mm ,  8mm ,  Polaroid ) other = Group(  film_type ) class DigitalCamera ( Camera ): storage_type = Enum(  CompactFlash ,  SD ,  xD ) other = Group(  storage_type ) ªò $ b  @     $ ðH ð´ ƒ ð0ƒ“ŽŸ‹”Þ½h¿ÿ ?ð ÿÿÿ€€€»àã33™™™™Ìˆ8Š0º___PPT10‹ë.‰—ÅPpUÔîÔ#ï € 0 D#ð<#ð4?Äñð@!ð( ð ðÄðr ðÄ S ð€Ë¿ÿð0@ðà   ð žð¾ð` ðÆ Œ + ðÄ# ð ˆ#"ñ ‘ðñÜô ÃðÀ¢ ðÄ C ð€èÌŠÄÌÿÌ¿"ñ¿`ðÆ Œ [ ðbŸ¨ ViewElements¡  B ª ð†¢ ðÄ C ð€¨ÓŠÄÌÿÌ¿"ñ¿`ðÆ [ + ð(Ÿ¡ð¿ð` ðÆ Œ + ð Ä# ð ˆ#"ñ ‘ð Üô Ó ðÁ¢ ð Ä C ð€ ÖŠ ÄÌÿÌ¿"ñ¿`ðÆ Œ [ ðcŸ¨ ViewIElements¡  B ª ð†¢ ð Ä C ð€¸ÛŠ ÄÌÿÌ¿"ñ¿`ðÆ [ + ð(Ÿ¡ð¤ð` ðÆ Œ + ð Ä# ð ˆ#"ñ ‘ðñŽtÃ𦢠ð Ä C ð€XÞŠ ÄÝÝÝ¿"ñ¿`ðÆ Œ [ ðHŸ¨ Camera class¡  B ð†¢ ðÄ C ð€ðãŠÄÝÝÝ¿"ñ¿`ðÆ [ + ð(Ÿ¡ðÂð` ðÆ Œ + ðÄ# ð ˆ#"ñ ‘ð ¸ŸÖ ðÄ¢ ðÄ C ð€DæŠÄÝÝÝ¿"ñ¿`ðÆ Œ [ ðfŸ¨FilmCamera class¡ B ª ð†¢ ðÄ C ð€„ìŠÄÝÝÝ¿"ñ¿`ðÆ [ + ð(Ÿ¡ðÃð` ðÆ Œ + ðÄ# ð ˆ#"ñ ‘ðñ|u𞢠ðÄ C ð€$ïŠÄÌÿÌ¿"ñ¿`ðÆ Œ [ ð@Ÿ¨View¡ B ð­¢ ðÄ C ð€dóŠÄÌÿÌ¿"ñ¿`ðÆ [ + ðOŸ¨manufacturer, price¡ B ðð` ðÆ Œ + ðÄ# ð ˆ#"ñ ‘ð0|p🢠ðÄ C ð€Ø÷ŠÄÌÿÌ¿"ñ¿`ðÆ Œ [ ðAŸ¨Group¡ B ð†¢ ðÄ C ð€ÀýŠÄÌÿÌ¿"ñ¿`ðÆ [ + ð(Ÿ¡ðÕð` ðÆ Œ + ðÄ# ð ˆ#"ñ ‘ð wuÝ 🢠ðÄ C ð€\ŽŠÄÌÿÌ¿"ñ¿`ðÆ Œ [ ðAŸ¨Group¡ B ð¾¢ ðÄ C ð€|ŽŠÄÌÿÌ¿"ñ¿`ðÆ [ + ð`Ÿ¨ film_type ¡  B ª ðœ ðÄ £ ð<¿¿Ñÿ?¿ÿˆƒ"ñ0@ÿ€¿‚‚N¿NÿN?NðftÜfðœ ðÄ€ £ ð<¿¿Ñÿ?¿ÿˆƒ"ñ0@ÿ€¿N¿NÿN?Nð^ ŸÜb ðœ ð Ä £ ð<¿¿Ñÿ?¿ÿˆƒ"ñ0@ÿ€¿N¿NÿN?Nðfô |vðœ ð!Ä £ ð<¿¿Ñÿ?¿ÿˆƒ"ñ0@ÿ€¿N¿NÿN?NðOô |¥ðœ ð#Ä £ ð<¿¿Ñÿ?¿ÿˆƒ"ñ0@ÿ€¿N¿NÿN?Nðu ô w~ ð´¢ ð$Ä “ ð6€P Ž‚ƒ„Š$Ä¿ÿˆ"ñ¿`ðók‹ ‚ ð@Ÿ¨parent¡B ðÕ¢ ð%Ä “ ð6€Ž‚ƒ„Š%Ä¿ÿˆ"ñ¿`ðA M ðaŸ¨ traits_view¡ B ª ð¶¢ ð&Ä “ ð6€ØŽ‚ƒ„Š&Ä¿ÿˆ"ñ¿`ðò` ‚ ðBŸ¨other ¡ B ðµ¢ ð(Ä “ ð6€dŽ‚ƒ„Š(Ä¿ÿˆ"ñ¿`ðš Á q*  ðAŸ¨other¡ B ðÕ¢ ð*Ä “ ð6€Ž‚ƒ„Š*Ä¿ÿˆ"ñ¿`ðÐî v_ ðaŸ¨ view_elements¡ B ª ðÕ¢ ð,Ä “ ð6€|"Ž‚ƒ„Š,Ä¿ÿˆ"ñ¿`ððï w} ðaŸ¨ view_elements¡ B ª ðÆ" ð.ÄÀ  ðf…‡¿GŠÐÿH¾;I`±C¿ÀÑÿ?¿ÿƒ"ñ0@ÿ€¿‚‚N¿NÿN?Nðñh ùòðÆ" ð/Ä@  ðf…‡¿G`šH>‰IÀ]jÿ¿ÀÑÿ?¿ÿƒ"ñ0@ÿ€¿‚‚N¿NÿN?Nð h ö ðÆ" ð0Ä@  ðf´…‡¿GŠÐÿH§?ÿÿI€‚ë¿ÀÑÿ?¿ÿƒ"ñ0@ÿ€¿‚‚N¿NÿN?NðOÜÝu ð¿ð` ðÆ Œ + ð1Ä# ð ˆ#"ñ ‘ð’ ï eðÁ¢ ð2Ä C ð€Ô(ŽŠ2ÄÌÿÌ¿"ñ¿`ðÆ Œ [ ðcŸ¨ ViewIElements¡  B ª ð†¢ ð3Ä C ð€,/ŽŠ3ÄÌÿÌ¿"ñ¿`ðÆ [ + ð(Ÿ¡ðÅð` ðÆ Œ + ð4Ä# ð ˆ#"ñ ‘ð’ µ§bðÇ¢ ð5Ä C ð€¨1ŽŠ5ÄÝÝÝ¿"ñ¿`ðÆ Œ [ ðiŸ¨DigitalCamera class¡ B ª ð†¢ ð6Ä C ð€ 8ŽŠ6ÄÝÝÝ¿"ñ¿`ðÆ [ + ð(Ÿ¡ðØð` ðÆ Œ + ð7Ä# ð ˆ#"ñ ‘ð› Š‰o🢠ð8Ä C ð€¬:ŽŠ8ÄÌÿÌ¿"ñ¿`ðÆ Œ [ ðAŸ¨Group¡ B ðÁ¢ ð9Ä C ð€T?ŽŠ9ÄÌÿÌ¿"ñ¿`ðÆ [ + ðcŸ¨ storage_type ¡  B ª ð– ð:Ä “ ð6¿¿Ñÿ?¿ÿƒ"ñ0@ÿ€¿N¿NÿN?Nðî §ïð ð– ð;Ä “ ð6¿¿Ñÿ?¿ÿƒ"ñ0@ÿ€¿N¿NÿN?Nð  Š 悁ð<Ä ƒ ð0€¼DŽ‚ƒ„Š<Ä¿ÿ"ñ¿`ð, Ô „¼  ðAŸ¨other¡ B ðÏ¢ ð=Ä ƒ ð0€üIŽ‚ƒ„Š=Ä¿ÿ"ñ¿`ð‚  Š  ðaŸ¨ view_elements¡ B ª ðÆ" ð>Ä@  ðf…‡¿G`šHW¿I@¢iÿ¿ÀÑÿ?¿ÿƒ"ñ0@ÿ€¿‚‚N¿NÿN?Nð’ { › ðÆ" ð?Ä  ðf´…‡¿GÙÓH™qÿÿIêSØÿ¿ÀÑÿ?¿ÿƒ"ñ0@ÿ€¿‚‚N¿NÿN?NðOÜï ðH ðÄ ƒ ð0ƒ“ŽŸ‹”Þ½h¿ÿ ?Ïð€ð ÄÄÄðÄ ÄÄðÄÄ ÄðÄÄ!Äð ÄÄ#Äð ÄÄ.Äð Ä Ä/Äð ÄÄ0Äð6Ä3Ä:Äð2Ä8Ä;Äð8Ä2Ä>Äð2ÄÄ?Äð ÿÿÿ€€€»àã33™™™™Ìˆ8Š0º___PPT10‹ë.C˜Å  ê€î$ï € 0 ”ðŒÐð¸ð$ð( ð ð¸ðr ð¸ S ð€$QŽ¿ÿð0@ðà  Ž ð žðr ð¸ S ð€üQŽ¿ÿðð `ðà Ž ð žðH 𸠃 ð0ƒ“ŽŸ‹”Þ½h¿ÿ ?ð ÿÿÿ€€€»àã33™™™™Ìˆ8Š0º___PPT10‹ë.‰—ÅÚgÚî$ï € 0 ”ðŒàð¼ð$ð( ð ð¼ðr ð¼ S ð€|hŽ¿ÿð0@ðà  Ž ð žðr ð¼ S ð€TiŽ¿ÿðð `ðà Ž ð žðH ð¼ ƒ ð0ƒ“ŽŸ‹”Þ½h¿ÿ ?ð ÿÿÿ€€€»àã33™™™™Ìˆ8Š0º___PPT10‹ë.‰—ÅК™åî$ï € 0 ”ðŒàð@ð$ð( ð ð@ðr ð@ S ð€ˆnŽ¿ÿð0@ðà  Ž ð žðr ð@ S ð€^Ž¿ÿðð `ðà Ž ð žðH ð@ ƒ ð0ƒ“ŽŸ‹”Þ½h¿ÿ ?ð ÿÿÿ€€€»àã33™™™™Ìˆ8Š0º___PPT10‹ë.͸Å VZî$ï € 0 ”ðŒððDð$ð( ð ðDðr ðD S ð€0zŽ¿ÿð0@ðà  Ž ð žðr ðD S ð€¬}Ž¿ÿðð `ðà Ž ð žðH ðD ƒ ð0ƒ“ŽŸ‹”Þ½h¿ÿ ?ð ÿÿÿ€€€»àã33™™™™Ìˆ8Š0º___PPT10‹ë.θÅàÚ™fî$ï € 0 ”ðŒ ðHð$ð( ð ðHðr ðH S ð€ˆŽ¿ÿð0@ðà  Ž ð žðr ðH S ð€x‹Ž¿ÿðð `ðà Ž ð žðH ðH ƒ ð0ƒ“ŽŸ‹”Þ½h¿ÿ ?ð ÿÿÿ€€€»àã33™™™™Ìˆ8Š0º___PPT10‹ë.ϸÅ0Ëúëî$ï € 0 ”ðŒ ðLð$ð( ð ðLðr ðL S ð€P˜Ž¿ÿð0@ðà  Ž ð žðr ðL S ð€(™Ž¿ÿðð `ðà Ž ð žðH ðL ƒ ð0ƒ“ŽŸ‹”Þ½h¿ÿ ?ð ÿÿÿ€€€»àã33™™™™Ìˆ8Š0º___PPT10‹ë.ѸŰò¶,î$ï € 0 ”ðŒ ðPð$ð( ð ðPðr ðP S ð€\žŽ¿ÿð0@ðà  Ž ð žðr ðP S ð€ ŸŽ¿ÿðð `ðà Ž ð žðH ðP ƒ ð0ƒ“ŽŸ‹”Þ½h¿ÿ ?ð ÿÿÿ€€€»àã33™™™™Ìˆ8Š0º___PPT10‹ë.ӸŠ5î$ï € 0 ”ðŒ0 ðTð$ð( ð ðTðr ðT S ð€ô¦Ž¿ÿð0@ðà  Ž ð žðr ðT S ð€Ì§Ž¿ÿðð `ðà Ž ð žðH ðT ƒ ð0ƒ“ŽŸ‹”Þ½h¿ÿ ?ð ÿÿÿ€€€»àã33™™™™Ìˆ8Š0º___PPT10‹ë.Ô¸Å`d‘7î$ï € 0 ”ðŒ@ ðXð$ð( ð ðXðr ðX S ð€(·Ž¿ÿð0@ðà  Ž ð žðr ðX S ð€¸Ž¿ÿðð `ðà Ž ð žðH ðX ƒ ð0ƒ“ŽŸ‹”Þ½h¿ÿ ?ð ÿÿÿ€€€»àã33™™™™Ìˆ8Š0º___PPT10‹ë.Õ¸Åë…î$ï € 0 ”ðŒP ð\ð$ð( ð ð\ðr ð\ S ð€$ÆŽ¿ÿð0@ðà  Ž ð žðr ð\ S ð€üÆŽ¿ÿðð `ðà Ž ð žðH ð\ ƒ ð0ƒ“ŽŸ‹”Þ½h¿ÿ ?ð ÿÿÿ€€€»àã33™™™™Ìˆ8Š0º___PPT10‹ë.Ö¸ÅçH<î$ï € 0 ”ðŒ` ð`ð$ð( ð ð`ðr ð` S ð€¬ÑŽ¿ÿð0@ðà  Ž ð žðr ð` S ð€ìÕŽ¿ÿðð `ðà Ž ð žðH ð` ƒ ð0ƒ“ŽŸ‹”Þ½h¿ÿ ?ð ÿÿÿ€€€»àã33™™™™Ìˆ8Š0º___PPT10‹ë.׸ÅÐ%8Ïî;ï € 0 ~:ðv:ððVþÀñðš7ð( ð ðÀðr ðÀ S ð€ãŽ¿ÿð0@ðà  Ž ð žðL² ðÀ c ð$X99¿ÿ?ˆð¶›6ðØðL ðd.˜š# ðÀ# ð ˆð(Ð À° ðº ðÀ 3 ð€låŽÀÀÀ¿"ñ¿`ðd.˜š# ðbŸ¨ foo¡B ªð( ðÀ ðRÈlûð( ð À ðR— lÉ!ð•¢ ð À 3 ð€$뎿ÿ"ñ¿`ðúûRÊ! ð=Ÿ¨bar¡B ð½¢ ð À 3 ð€ðŽ¿ÿ"ñ¿`ðúË!˜™# ðeŸ¨wxPython controls¡B ª ð~ðL ðÆ Œ + ð À# ð ˆðôĤ𚢠ð À 3 ð€õŽÝÝÝ¿"ñ¿`ðÆ Œ [ ðBŸ¨object¡ B ð€¢ ðÀ 3 ð€xúŽÝÝÝ¿"ñ¿`ðÆ [ + ð(Ÿ¡ð‘ð` ðÆ Œ + ðÀ# ð ˆ#"ñ ‘ðôÜd ¤𙢠ðÀ 3 ð€ÌÿÌ™¿"ñ¿`ðÆ Œ [ ðAŸ¨Trait¡ B ð€¢ ðÀ 3 ð€0ÿÌ™¿"ñ¿`ðÆ [ + ð(Ÿ¡ðŸðL ðÆ Œ + ðÀ# ð ˆðô< ¤𻢠ðÀ 3 ð€ÔÌÿÿ¿"ñ¿`ðÆ Œ [ ðcŸ¨ EditorFactory¡  B ª ð€¢ ðÀ 3 ð€ þŽÌÿÿ¿"ñ¿`ðÆ [ + ð(Ÿ¡ð~ðL ðÆ Œ + ðÀ# ð ˆðÈèpy𚢠ðÀ 3 ð€Ìÿÿ¿"ñ¿`ðÆ Œ [ ðBŸ¨Editor¡ B ð€¢ ðÀ 3 ð€ˆÌÿÿ¿"ñ¿`ðÆ [ + ð(Ÿ¡ð: ðÀ 3 ðшð`Ü`ð: ðÀ 3 ðшð`d < `ðF ðÀ S ðÎÑÿˆð8 è4ðð` ðÆ Œ + ðÀ# ð ˆ#"ñ ‘ð@ ¸ø ð 𘢠ðÀ 3 ð€„ÌÿÌ¿"ñ¿`ðÆ Œ [ ð@Ÿ¨View¡ B ð€¢ ðÀ 3 ð€ˆÌÿÌ¿"ñ¿`ðÆ [ + ð(Ÿ¡ð‘ð` ðÆ Œ + ðÀ# ð ˆ#"ñ ‘ð@ Ð ð 𙢠ðÀ 3 ð€!ÌÿÌ¿"ñ¿`ðÆ Œ [ ðAŸ¨Group¡ B ð€¢ ð À 3 ð€˜&ÌÿÌ¿"ñ¿`ðÆ [ + ð(Ÿ¡ðÜð` ðÆ Œ + ð!À# ð ˆ#"ñ ‘ð@ èpñ 𘢠ð"À 3 ð€è(ÌÿÌ¿"ñ¿`ðÆ Œ [ ð@Ÿ¨Item¡ B ðÌ¢ ð#À 3 ð€x-ÌÿÌ¿"ñ¿`ðÆ [ + ðtŸ name =  foo ¡ B ªðŽð` ðÆ Œ + ð$À# ð ˆ#"ñ ‘ð(ÈØ ð–¢ ð%À 3 ð€x2ÌÿÌ¿"ñ¿`ðÆ Œ [ ð>Ÿ¨UI¡ B ð€¢ ð&À 3 ð€`8ÌÿÌ¿"ñ¿`ðÆ [ + ð(Ÿ¡ð: ð'À 3 ðÑˆð¬ ø Ð ¬ ð: ð(À 3 ðшð¬ è¬ ð: ð)À 3 ðшðl Ø @ ð“ð` ðÆ Œ + ð*À# ð ˆ#"ñ ‘ð@ Èï 𛢠ð+À 3 ð€p;Ìÿÿ¿"ñ¿`ðÆ Œ [ ðCŸ¨Handler¡ B ð€¢ ð,À 3 ð€ÄAÌÿÿ¿"ñ¿`ðÆ [ + ð(Ÿ¡ð: ð-À 3 ðшðØ èè@ ðF ð.ÀÀ S ðÎÑÿˆðØ è¸¬ ð: ð/À 3 ðшðl Ð l ð: ð0À@ 3 ðшðy4,p𘢠ð1À C ð€øD¿ÿˆ"ñ¿`ðH @   ðBŸ¨.control¡ B 𘢠ð2À C ð€ðI¿ÿˆ"ñ¿`ð€ 0à ðBŸ¨.control¡ B ð­¢ ð3À ƒ ð0€,N‚ƒ„¿ÿˆ"ñ¿`ðØ p h  ð?Ÿ¨.view¡B ð°¢ ð4À ƒ ð0€hR‚ƒ„¿ÿˆ"ñ¿`ð €è¯  ðBŸ¨.handler¡ B ðТ ð5À ƒ ð0€ÌV‚ƒ„¿ÿˆ"ñ¿`ðpÀ  ðbŸ¨.foo¡ B ªð˜ðL ðn *àÇ ð6À# ð ˆð €POð´¢ ð7À 3 ð€ [ÌÿÌ¿"ñ¿`ðn *àø ð\Ÿ¨UIInfo¡ B ªð€¢ ð8À 3 ð€bÌÿÌ¿"ñ¿`ðn øàÇ ð(Ÿ¡ðœ ð9À€ £ ð<¿¿Ñÿ?¿ÿˆƒ"ñ0@ÿ€¿‚‚N¿NÿN?NðOèè(ð­¢ ð:À ƒ ð0€”d‚ƒ„¿ÿˆ"ñ¿`ð€Ø ð?Ÿ¨.info¡B ðÍ¢ ð;À ƒ ð0€À £ ð<¿¿Ñÿ?¿ÿˆƒ"ñ0@ÿ€¿‚‚N¿NÿN?Nð Pè ð®" ð?À@ Ó ðN¿G@WÿÿHv¨þÿIÀ‘¿Ñÿ?¿ÿˆƒ"ñ0@ÿ€¿‚‚N¿NÿN?NðãP”ðÏ¢ ð@À ƒ ð0€|s‚ƒ„¿ÿˆ"ñ¿`ð€ °`   ðaŸ¨.ui()¡B ªðÚ¢ ðAÀ ƒ ð0€Äx‚ƒ„¿ÿˆ"ñ¿`ðT ¢ ðlŸ¨.simple_editor()¡B ª ð²ð` ðÆ Œ + ðBÀ# ð ˆ#"ñ ‘ð(ˆ À𺢠ðCÀ 3 ð€d~ÌÿÌ¿"ñ¿`ðÆ Œ [ ðbŸ¨ ViewElements¡  B ª ð€¢ ðDÀ 3 ð€¼„ÌÿÌ¿"ñ¿`ðÆ [ + ð(Ÿ¡ðœ ðEÀ £ ð<¿¿Ñÿ?¿ÿˆƒ"ñ0@ÿ€¿‚‚N¿NÿN?Nðð Ø Ø ðØ¢ ðFÀ ƒ ð0€`‡‚ƒ„¿ÿˆ"ñ¿`ð ð À ­  ðjŸ¨.view_elements¡B ª ð´" ðGÀ@ ã ðT´¿G «ÿÿH(4þÿIpÇ¿Ñÿ?¿ÿˆƒ"ñ0@ÿ€¿‚‚N¿NÿN?Nð„ (¸TðkðL ðÙ-Ì$2 ðHÀ# ð ˆðÇ Ð pÁðž ðIÀ ƒ ð0¿ÝÝÝ¿ÿ?¿ÿ“"ñ6@¿ ÿÀ¿N¿NÿN?NðÙ-Ì$2ðJ ðJÀ # ð Ìÿÿ¿"ñ¿`ðªt.@/ðJ ðKÀ # ð ÌÿÌ¿"ñ¿`ðªC0@Þ0ðࢠðLÀ s ð*€Ž‚ƒ„¿ÿ"ñ¿`ðÖt.Ì$¨/ ðpŸ¨enthought.traits.ui subclass¡B ª ðÝ¢ ðMÀ s ð*€Ü’‚ƒ„¿ÿ"ñ¿`ðÖC0Ì$w1 ðmŸ¨enthought.traits.ui class¡B ªð“ð` ðÆ Œ + ðOÀ# ð ˆ#"ñ ‘ðÀ @ p𛢠ðPÀ 3 ð€d˜Ìÿÿ¿"ñ¿`ðÆ Œ [ ðCŸ¨Toolkit¡ B ð€¢ ðQÀ 3 ð€¸žÌÿÿ¿"ñ¿`ðÆ [ + ð(Ÿ¡ð¢ ðRÀ€ ³ ðB¿¿ÎÑÿ?¿ÿˆƒ"ñ0@ÿ€¿‚‚N¿NÿN?N𤠤 Àð¢ ðSÀ ³ ðB¿¿ÎÑÿ?¿ÿˆƒ"ñ0@ÿ€¿N¿NÿN?Nðp Ð l ð¢ ðTÀ€ ³ ðB¿¿ÎÑÿ?¿ÿˆƒ"ñ0@ÿ€¿N¿NÿN?Nð l ð´¢ ð÷À s ð*€¤¡‚ƒ„¿ÿ"ñ¿`ðhÏö ðLŸ .trait(& )¡ B ðÑ¢ ðøÀ s ð*€t¦‚ƒ„¿ÿ"ñ¿`ðgù 9 õ ðiŸ¨ .get_editor()¡ B ª ð¶ ðúÀ “ ð|0e‚˜²ƒ0e„˜²…‡ˆ‰¿ ô   BPC€DEÁ(FÁ€ÿÌ™‚ƒÿÿÿ„… †A‡Áˆ‰Š‹ŒŽ‘’“”•–—Á˜™š›œ@¿ ÀÁà ÄÅAÆÁÇÈÉÊË5%ÌÍÎÏÁÐÑÔÕ×ÿËËË 8c8c     ?€‚ƒœ1„…ðù†‡÷ˆ ¿ÀÁÂdÃÄÅÆÇÈÉÊ0uËÐÌ0íìÿÍ@T‰Î€Ï€ÿÿÐyÿÑ2Ò NÓPÃÔÕ'Öp”×°<ÿÿØÙ'Úp”ÿA¨)BCD|¾E„|¾…†|¾‡ ðÿ€pŒÐ˜@Pèhàp¸\P  @­ ­ ­ ¬€s "ñ Œ0e@žÿÿÿÿŸÿÿÿÿ  ¡Á¢ÿÿÿÿ£ÿÿÿÿ¤ ¥Á¦ÿÿÿÿ§ÿÿÿÿ¿ ÙÿÿÿÿÚÿÿÿÿÛ ÜÁÝÿÿÿÿÞÿÿÿÿß àÁáÿÿÿÿâÿÿÿÿÿ€ÿÿÿÿÿÿÿÿ Âÿÿÿÿÿÿÿÿ Âÿÿÿÿÿÿÿÿ‰ÿÿÿÿŠÿÿÿÿ‹ ŒÂÿÿÿÿ‘’¿‚‚@ABÿÿÿC DEEFÅGHIJK5%LMNOÅPQRSTUWYÿÿÿÿZÿÿÿÿ[ \Å]ÿÿÿÿ^ÿÿÿÿ_ `ÅaÿÿÿÿbÿÿÿÿN€‚ÿÿÿƒ „…E†Å‡ˆ‰Š‹5%ŒŽÅ‘’“”•—™ÿÿÿÿšÿÿÿÿ› œÅÿÿÿÿžÿÿÿÿŸ  Å¡ÿÿÿÿ¢ÿÿÿÿ¿NÀÁÂÿÿÿà ÄÅEÆÅÇÈÉÊË5%ÌÍÎÏÅÐÑÒÓÔÕ×ÙÿÿÿÿÚÿÿÿÿÛ ÜÅÝÿÿÿÿÞÿÿÿÿß àÅáÿÿÿÿâÿÿÿÿÿNÿÿÿ FÆ   5%  Æÿÿÿÿÿÿÿÿ Æÿÿÿÿÿÿÿÿ Æ!ÿÿÿÿ"ÿÿÿÿ?N@ABÿÿÿC DEFFÆGHIJK5%LMNOÆPQRSTUWYÿÿÿÿZÿÿÿÿ[ \Æ]ÿÿÿÿ^ÿÿÿÿ_ `ÆaÿÿÿÿbÿÿÿÿðÀ`@ ðÀB ðýÀ@  ð`…‡¿D¿ÀÎÑ×ÿ?¿ÿƒ"ñ0@ÿ€¿‚‚N¿NÿN?NðÛ µÛ 𪢠ðþÀ s ð*€À«‚ƒ„¿ÿ"ñ¿`ðá K³p  ðBŸ¨.handler¡ B ðH ðÀ ƒ ð0ƒ“ŽŸ‹”Þ½h¿ÿ ??ð`ð ÀÀÀðÀÀÀðÀÀÀðÀÀ'ÀðÀ"À(Àð&ÀÀ)Àð&À+À-ÀðÀ&À.Àð &ÀÀ/Àð ÀÀ0Àð %À8À9Àð 7ÀÀ<Àð 7ÀÀ>Àð8À%À?ÀðÀCÀEÀðDÀÀGÀðPÀÀRÀðQÀÀSÀð&ÀQÀTÀð ÿÿÿ€€€»àã33™™™™Ìˆ8Š0º___PPT10‹ë.®—ÅûÑî$ï € 0 ”ðŒ@ðÔð$ð( ð ðÔðr ðÔ S ð€„³¿ÿð0@ðà   ð žðr ðÔ S ð€\´¿ÿðð `ðà  ð žðH ðÔ ƒ ð0ƒ“ŽŸ‹”Þ½h¿ÿ ?ð ÿÿÿ€€€»àã33™™™™Ìˆ8Š0º___PPT10‹ë.Û¯Åp!<óî$ï € 0 ”ðŒPðØð$ð( ð ðØðr ðØ S ð€@Á¿ÿð0@ðà   ð žðr ðØ S ð€Â¿ÿðð `ðà  ð žðH ðØ ƒ ð0ƒ“ŽŸ‹”Þ½h¿ÿ ?ð ÿÿÿ€€€»àã33™™™™Ìˆ8Š0º___PPT10‹ë.ݯÅ@øÞî$ï € 0 ”ðŒ`ðÜð$ð( ð ðÜðr ðÜ S ð€Ð®¿ÿð0@ðà   ð žðr ðÜ S ð€@/K¿ÿðð `ðà  ð žðH ðÜ ƒ ð0ƒ“ŽŸ‹”Þ½h¿ÿ ?ð ÿÿÿ€€€»àã33™™™™Ìˆ8Š0º___PPT10‹ë.ޯŰÇî$ï € 0 ”ðŒpðàð$ð( ð ðàðr ðà S ð€ˆÝ¿ÿð0@ðà   ð žðr ðà S ð€`Þ¿ÿðð `ðà  ð žðH ðà ƒ ð0ƒ“ŽŸ‹”Þ½h¿ÿ ?ð ÿÿÿ€€€»àã33™™™™Ìˆ8Š0º___PPT10‹ë.߯Åеî™ ï € 0  ð €ðäð™ ð( ð ðäðr ðä S ð€\í¿ÿð0@ðà   ð žð|² ðä0 S ð0e‚˜²ƒ0e„˜²…‡ˆ‰¿A  ô   ?€ÿÌ™‚ƒÿÿÿ„… †A‡Áˆ‰Š‹ŒŽ‘’“”•–—Á˜™š›œ@¿ ÀÁà ÄÅAÆÁÇÈÉÊË5%ÌÍÎÏÁ×ÿËËË 8c8c     ?€‚ƒœ1„…ðù†‡÷ˆ ¿ÀÁÂdÃÄÅÆÇÈÉÊ0uËÐÌ0íìÿÍ@T‰Î€Ï€ÿÿÐyÿÑ2Ò NÓPÃÔÕ'Öp”×°<ÿÿØÙ'Úp”ÿA¨)BCD|¾E„|¾…†|¾‡s "ñ Œ0e@žÿÿÿÿŸÿÿÿÿ  ¡Á¢ÿÿÿÿ£ÿÿÿÿ¤ ¥Á¦ÿÿÿÿ§ÿÿÿÿ¿ ÙÿÿÿÿÚÿÿÿÿÛ ÜÁÝÿÿÿÿÞÿÿÿÿß àÁáÿÿÿÿâÿÿÿÿÿÀÿÿÿÿÿÿÿÿ Âÿÿÿÿÿÿÿÿ Âÿÿÿÿÿÿÿÿ‰ÿÿÿÿŠÿÿÿÿ‹ ŒÂÿÿÿÿ‘’¿‚‚@ABÿÿÿC DEEFÅGHIJK5%LMNOÅPQRSTUWYÿÿÿÿZÿÿÿÿ[ \Å]ÿÿÿÿ^ÿÿÿÿ_ `ÅaÿÿÿÿbÿÿÿÿN€‚ÿÿÿƒ „…E†Å‡ˆ‰Š‹5%ŒŽÅ‘’“”•—™ÿÿÿÿšÿÿÿÿ› œÅÿÿÿÿžÿÿÿÿŸ  Å¡ÿÿÿÿ¢ÿÿÿÿ¿NÀÁÂÿÿÿà ÄÅEÆÅÇÈÉÊË5%ÌÍÎÏÅÐÑÒÓÔÕ×ÙÿÿÿÿÚÿÿÿÿÛ ÜÅÝÿÿÿÿÞÿÿÿÿß àÅáÿÿÿÿâÿÿÿÿÿNÿÿÿ FÆ   5%  Æÿÿÿÿÿÿÿÿ Æÿÿÿÿÿÿÿÿ Æ!ÿÿÿÿ"ÿÿÿÿ?N@ABÿÿÿC DEFFÆGHIJK5%LMNOÆPQRSTUWYÿÿÿÿZÿÿÿÿ[ \Æ]ÿÿÿÿ^ÿÿÿÿ_ `Æaÿÿÿÿbÿÿÿÿðºk4ðÁ à ðc¢ ðä Ó ðN€`ï…‡¿ÿÌ™¿ Àÿ?¿ÿ“"ñ6@¿ ÿÀ¿‚‚N¿NÿN?NðQ¼x8 𧟨CFor example, these are the four styles supported by the EnumEditor:¡&D8 ª8 ðH ðä ƒ ð0ƒ“ŽŸ‹”Þ½h¿ÿ ?ð ÿÿÿ€€€»àã33™™™™Ìˆ8Š0º___PPT10‹ë.â¯ÅÈ£Hî>>ï € 0 ®=ð¦= ðA®ìð>=ð( ð ðìðr ðì S ð€ä÷¿ÿð0@ðà   ð žðx ðì c ð$€Œø¿ÿ𣠥ðà  ð žð <ð  ðgr^ ð®ì ð#"ñ:Ÿ Ã. rÇÆÈÆÆÊÎÐÎð³nŸðà ð  ð¤ì à ðH€’J¿ÿÿ™¿Àÿ?¿ÿ“"ñ6@¿`ÿÀ¿‚‚N¿NÿN?Nð’À  ðMŸ¨Flash¡¦ø @`€ð  ð¢ì à ðH€~L¿ÿÿ™¿Àÿ?¿ÿ“"ñ6@¿`ÿÀ¿‚‚N¿NÿN?Nð— À ’ ðMŸ¨Value¡¦ø @`€ð  ð ì à ðH€|V¿ÿÿ™¿Àÿ?¿ÿ“"ñ6@¿`ÿÀ¿‚‚N¿NÿN?Nð¬À —  ðMŸ¨Shell¡¦ø @`€ð  ðžì à ðH€`Á·¿ÿÿ™¿Àÿ?¿ÿ“"ñ6@¿`ÿÀ¿‚‚N¿NÿN?NðgÀ ¬ ðLŸ¨Plot¡¦ø @`€ð* ð›ì à ðH€ º ¿ÿÿ™¿Àÿ?¿ÿ“"ñ6@¿`ÿÀ¿‚‚N¿NÿN?Nð’ò À  ðlŸ¨ KeyBinding¡  ª ¦ø @`€ð  ð™ì à ðH€°¬ ¿ÿÿ™¿Àÿ?¿ÿ“"ñ6@¿`ÿÀ¿‚‚N¿NÿN?Nð— ò ’À  ðLŸ¨Drop¡¦ø @`€ð  ð—ì à ðH€  ¿ÿÿ™¿Àÿ?¿ÿ“"ñ6@¿`ÿÀ¿‚‚N¿NÿN?Nð¬ò — À  ðKŸ¨DND¡¦ø @`€ð  ð•ì à ðH€4’¿ÿÿ™¿Àÿ?¿ÿ“"ñ6@¿`ÿÀ¿‚‚N¿NÿN?Nðgò ¬À  ðMŸ¨Image¡¦ø @`€ð+ ð‘ì à ðH€@·v¿ÿÿ™¿Àÿ?¿ÿ“"ñ6@¿`ÿÀ¿‚‚N¿NÿN?Nð’( ò  ðmŸ¨ AnimatedGIF¡  ª ¦ø @`€ð  ðì à ðH€üÖj¿ÿÿ™¿Àÿ?¿ÿ“"ñ6@¿`ÿÀ¿‚‚N¿NÿN?Nð— ( ’ò  ðKŸ¨LED¡¦ø @`€ð  ðì à ðH€(%?¿ÿÿ™¿Àÿ?¿ÿ“"ñ6@¿`ÿÀ¿‚‚N¿NÿN?Nð¬( — ò  ðNŸ¨IEHTML¡¦ø @`€ð  ð‹ì à ðH€`?¿ÿÿ™¿Àÿ?¿ÿ“"ñ6@¿`ÿÀ¿‚‚N¿NÿN?Nðg( ¬ò  ðLŸ¨HTML¡¦ø @`€ðþ ð[ì à ðH€4²?¿ÿÿ™¿Àÿ?¿ÿ“"ñ6@¿`ÿÀ¿‚‚N¿NÿN?Nð’^ ð@Ÿ¡¦ø @`€ð% ðYì à ðH€ èÜ¿ÿÿ™¿Àÿ?¿ÿ“"ñ6@¿`ÿÀ¿‚‚N¿NÿN?Nð— ’^ ðgŸ¨Tuple¡ª¦ø @`€ð  ðWì à ðH€XXÜ¿ÿÿ™¿Àÿ?¿ÿ“"ñ6@¿`ÿÀ¿‚‚N¿NÿN?N𬗠^ ðLŸ¨Tree¡¦ø @`€ð  ðUì à ðH€l|J¿ÿÿ™¿Àÿ?¿ÿ“"ñ6@¿`ÿÀ¿‚‚N¿NÿN?Nðg¬^ ðLŸ¨Text¡¦ø @`€ð  ðì à ðH€(’¿ÿÿ™¿Àÿ?¿ÿ“"ñ6@¿ ÿÀ¿‚‚N¿NÿN?Nð’_ (  ðOŸ¨Tabular¡¦ø @`€ð  ðì à ðH€01’¿ÿÿ™¿Àÿ?¿ÿ“"ñ6@¿ ÿÀ¿‚‚N¿NÿN?Nð— _ ’(  ðMŸ¨Table¡¦ø @`€ð  ðì à ðH€:’¿ÿÿ™¿Àÿ?¿ÿ“"ñ6@¿ ÿÀ¿‚‚N¿NÿN?Nð¬_ — (  ðKŸ¨Set¡¦ø @`€ð) ðì à ðH€˜C’¿ÿÿ™¿Àÿ?¿ÿ“"ñ6@¿ ÿÀ¿‚‚N¿NÿN?Nðg_ ¬(  ðkŸ¨ RGBAColor¡  ª ¦ø @`€ð( ðì à ðH€ 4’¿ÿÿ™¿Àÿ?¿ÿ“"ñ6@¿ ÿÀ¿‚‚N¿NÿN?Nð’– _  ðjŸ¨RGBColor¡  ª¦ø @`€ð  ðì à ðH€ÜU’¿ÿÿ™¿Àÿ?¿ÿ“"ñ6@¿ ÿÀ¿‚‚N¿NÿN?Nð— – ’_  ðMŸ¨Range¡¦ø @`€ð  ðì à ðH€´^’¿ÿÿ™¿Àÿ?¿ÿ“"ñ6@¿ ÿÀ¿‚‚N¿NÿN?N𬖠— _  ðLŸ¨Plot¡¦ø @`€ð  ðì à ðH€h’¿ÿÿ™¿Àÿ?¿ÿ“"ñ6@¿ ÿÀ¿‚‚N¿NÿN?Nðg– ¬_  ðLŸ¨List¡¦ø @`€ð ðì à ðH€LY’¿ÿÿ™¿Àÿ?¿ÿ“"ñ6@¿ ÿÀ¿‚‚N¿NÿN?Nð’Í –  ðPŸ¨Instance¡  ¦ø @`€ð) ðì à ðH€Tz’¿ÿÿ™¿Àÿ?¿ÿ“"ñ6@¿ ÿÀ¿‚‚N¿NÿN?Nð— Í ’–  ðkŸ¨ ImageEnum¡  ª ¦ø @`€ð( ðì à ðH€Ðƒ’¿ÿÿ™¿Àÿ?¿ÿ“"ñ6@¿ ÿÀ¿‚‚N¿NÿN?Nð¬Í — –  ðjŸ¨KivaFont¡  ª¦ø @`€ð  ðì à ðH€°Œ’¿ÿÿ™¿Àÿ?¿ÿ“"ñ6@¿ ÿÀ¿‚‚N¿NÿN?NðgÍ ¬–  ðLŸ¨Font¡¦ø @`€ð  ðì à ðH€¸•’¿ÿÿ™¿Àÿ?¿ÿ“"ñ6@¿ ÿÀ¿‚‚N¿NÿN?Nð’ Í  ðLŸ¨File¡¦ø @`€ð$ ðì à ðH€4Ÿ’¿ÿÿ™¿Àÿ?¿ÿ“"ñ6@¿ ÿÀ¿‚‚N¿NÿN?Nð—  ’Í  ðfŸ¨Enum¡ª¦ø @`€ð* ðì à ðH€h¨’¿ÿÿ™¿Àÿ?¿ÿ“"ñ6@¿ ÿÀ¿‚‚N¿NÿN?N𬠗 Í  ðlŸ¨ EnableRGBA¡  ª ¦ø @`€ð  ð ì à ðH€x±’¿ÿÿ™¿Àÿ?¿ÿ“"ñ6@¿ ÿÀ¿‚‚N¿NÿN?Nðg ¬Í  ðLŸ¨Drop¡¦ø @`€ð ð ì à ðH€üª’¿ÿÿ™¿Àÿ?¿ÿ“"ñ6@¿ ÿÀ¿‚‚N¿NÿN?Nð’;  ðQŸ¨ Directory¡  ¦ø @`€ð  ð ì à ðH€€Ã’¿ÿÿ™¿Àÿ?¿ÿ“"ñ6@¿ ÿÀ¿‚‚N¿NÿN?Nð— ;’  ðNŸ¨Custom¡¦ø @`€ð ð ì à ðH€ Í’¿ÿÿ™¿Àÿ?¿ÿ“"ñ6@¿ ÿÀ¿‚‚N¿NÿN?Nð¬;—   ðPŸ¨Compound¡  ¦ø @`€ð  ð ì à ðH€ µ’¿ÿÿ™¿Àÿ?¿ÿ“"ñ6@¿ ÿÀ¿‚‚N¿NÿN?Nðg;¬  ðMŸ¨Color¡¦ø @`€ð  ðì à ðH€ÔÞ’¿ÿÿ™¿Àÿ?¿ÿ“"ñ6@¿ ÿÀ¿‚‚N¿NÿN?Nð’r; ðLŸ¨Code¡¦ø @`€ð) ðì à ðH€0è’¿ÿÿ™¿Àÿ?¿ÿ“"ñ6@¿ ÿÀ¿‚‚N¿NÿN?Nð— r’; ðkŸ¨ CheckList¡  ª ¦ø @`€ð  ðì à ðH€@ñ’¿ÿÿ™¿Àÿ?¿ÿ“"ñ6@¿ ÿÀ¿‚‚N¿NÿN?Nð¬r— ; ðNŸ¨Button¡¦ø @`€ð  ðì à ðH€ôù’¿ÿÿ™¿Àÿ?¿ÿ“"ñ6@¿ ÿÀ¿‚‚N¿NÿN?Nðgr¬; ðOŸ¨Boolean¡¦ø @`€ð¶B ð!ì Ó ðN…‡¿¿ÀËŸo×ÿ ?¿ÿƒ"ñ0@ÿ€¿‚‚N¿NÿN?Nðgrrð°B ð"ì à ðH…‡¿¿ÀËœ1ÿ ?¿ÿƒ"ñ0@ÿ€¿‚‚N¿NÿN?Nðg;;ð°B ð#ì à ðH…‡¿¿ÀËœ1ÿ ?¿ÿƒ"ñ0@ÿ€¿‚‚N¿NÿN?Nðg  ð°B ð$ì à ðH…‡¿¿ÀËœ1ÿ ?¿ÿƒ"ñ0@ÿ€¿‚‚N¿NÿN?NðgÍ Í ð°B ð%ì à ðH…‡¿¿ÀËœ1ÿ ?¿ÿƒ"ñ0@ÿ€¿‚‚N¿NÿN?Nðg– – ð°B ð&ì à ðH…‡¿¿ÀËœ1ÿ ?¿ÿƒ"ñ0@ÿ€¿‚‚N¿NÿN?Nðg_ _ ð¶B ð'ì Ó ðN…‡¿¿ÀËœ1×ÿ ?¿ÿƒ"ñ0@ÿ€¿‚‚N¿NÿN?Nðg( ( ð¶B ð(ì Ó ðN…‡¿¿ÀËŸo×ÿ ?¿ÿƒ"ñ0@ÿ€¿‚‚N¿NÿN?Nðg^^ð°B ð*ì à ðH…‡¿¿ÀËœ1ÿ ?¿ÿƒ"ñ0@ÿ€¿‚‚N¿NÿN?Nð¬r¬( ð°B ð+ì à ðH…‡¿¿ÀËœ1ÿ ?¿ÿƒ"ñ0@ÿ€¿‚‚N¿NÿN?Nð— r— ( ð°B ð,ì à ðH…‡¿¿ÀËœ1ÿ ?¿ÿƒ"ñ0@ÿ€¿‚‚N¿NÿN?Nð’r’( ð¶B ðlì Ó ðN…‡¿¿ÀËŸo×ÿ ?¿ÿƒ"ñ0@ÿ€¿‚‚N¿NÿN?Nðg( g^ð¶B ð)ì Ó ðN…‡¿¿ÀËŸo×ÿ ?¿ÿƒ"ñ0@ÿ€¿‚‚N¿NÿN?Nðgrg( ð¶B ðnì Ó ðN…‡¿¿ÀËœ1×ÿ ?¿ÿƒ"ñ0@ÿ€¿‚‚N¿NÿN?Nð¬( ¬^ð¶B ðrì Ó ðN…‡¿¿ÀËœ1×ÿ ?¿ÿƒ"ñ0@ÿ€¿‚‚N¿NÿN?Nð— ( — ^ð¶B ðvì Ó ðN…‡¿¿ÀËœ1×ÿ ?¿ÿƒ"ñ0@ÿ€¿‚‚N¿NÿN?Nð’( ’^ð¶B ðxì Ó ðN…‡¿¿ÀËŸo×ÿ ?¿ÿƒ"ñ0@ÿ€¿‚‚N¿NÿN?Nð( ^ð¶B ð-ì Ó ðN…‡¿¿ÀËŸo×ÿ ?¿ÿƒ"ñ0@ÿ€¿‚‚N¿NÿN?Nðr( ð°B ðŒì à ðH…‡¿¿ÀËœ1ÿ ?¿ÿƒ"ñ0@ÿ€¿‚‚N¿NÿN?Nðgò ò ð°B ð–ì à ðH…‡¿¿ÀËœ1ÿ ?¿ÿƒ"ñ0@ÿ€¿‚‚N¿NÿN?NðgÀ À ð°B ðŸì à ðH…‡¿¿ÀËœ1ÿ ?¿ÿƒ"ñ0@ÿ€¿‚‚N¿NÿN?NðgðH ðì ƒ ð0ƒ“ŽŸ‹”Þ½h¿ÿ ?ð ÿÿÿ€€€»àã33™™™™Ìˆ8Š0º___PPT10‹ë.â¯ÅðÃìî$ï € 0 ”ðŒÀðôð$ð( ð ðôðr ðô S ð€\“¿ÿð0@ðà  “ ð žðr ðô S ð€Ô±’¿ÿðð `ðà “ ð žðH ðô ƒ ð0ƒ“ŽŸ‹”Þ½h¿ÿ ?ð ÿÿÿ€€€»àã33™™™™Ìˆ8Š0º___PPT10‹ë.å¯ÅЖÇoî$ï € 0 ”ðŒÐðøð$ð( ð ðøðr ðø S ð€¤'“¿ÿð0@ðà  “ ð žðr ðø S ð€|(“¿ÿðð `ðà “ ð žðH ðø ƒ ð0ƒ“ŽŸ‹”Þ½h¿ÿ ?ð ÿÿÿ€€€»àã33™™™™Ìˆ8Š0º___PPT10‹ë.æ¯ÅÀÜ)hîöï € 0 fð^ ð ðöð( ð ð ðr ð  S ð€à9“¿ÿð0@ðà  “ ð žðF¢ ð  ³ ðB€,;“¿ÿÌ™¿ Àÿ?¿ÿ“"ñ6@¿ ÿÀ¿‚‚N¿NÿN?N𙯠­ ð–Ÿ ¬class EMail ( HasTraits ): msg = Str spell_check = Button( 'Spell Check' ) view = View(Group( Group ( Item('msg', style='custom', resizable=True), Item('spell_check'), show_labels=False)), height = .3 ) results in this display& ¡×¾ªª  ' H – Dð|² ð 0 S ð0e‚˜²ƒ0e„˜²…‡ˆ‰¿A  ô   ?€ÿÌ™‚ƒÿÿÿ„… †A‡Áˆ‰Š‹ŒŽ‘’“”•–—Á˜™š›œ@¿ ÀÁà ÄÅAÆÁÇÈÉÊË5%ÌÍÎÏÁ×ÿËËË 8c8c     ?€‚ƒœ1„…ðù†‡÷ˆ ¿ÀÁÂdÃÄÅÆÇÈÉÊ0uËÐÌ0íìÿÍ@T‰Î€Ï€ÿÿÐyÿÑ2Ò NÓPÃÔÕ'Öp”×°<ÿÿØÙ'Úp”ÿA¨)BCD|¾E„|¾…†|¾‡s "ñ Œ0e@žÿÿÿÿŸÿÿÿÿ  ¡Á¢ÿÿÿÿ£ÿÿÿÿ¤ ¥Á¦ÿÿÿÿ§ÿÿÿÿ¿ ÙÿÿÿÿÚÿÿÿÿÛ ÜÁÝÿÿÿÿÞÿÿÿÿß àÁáÿÿÿÿâÿÿÿÿÿÀÿÿÿÿÿÿÿÿ Âÿÿÿÿÿÿÿÿ Âÿÿÿÿÿÿÿÿ‰ÿÿÿÿŠÿÿÿÿ‹ ŒÂÿÿÿÿ‘’¿‚‚@ABÿÿÿC DEEFÅGHIJK5%LMNOÅPQRSTUWYÿÿÿÿZÿÿÿÿ[ \Å]ÿÿÿÿ^ÿÿÿÿ_ `ÅaÿÿÿÿbÿÿÿÿN€‚ÿÿÿƒ „…E†Å‡ˆ‰Š‹5%ŒŽÅ‘’“”•—™ÿÿÿÿšÿÿÿÿ› œÅÿÿÿÿžÿÿÿÿŸ  Å¡ÿÿÿÿ¢ÿÿÿÿ¿NÀÁÂÿÿÿà ÄÅEÆÅÇÈÉÊË5%ÌÍÎÏÅÐÑÒÓÔÕ×ÙÿÿÿÿÚÿÿÿÿÛ ÜÅÝÿÿÿÿÞÿÿÿÿß àÅáÿÿÿÿâÿÿÿÿÿNÿÿÿ FÆ   5%  Æÿÿÿÿÿÿÿÿ Æÿÿÿÿÿÿÿÿ Æ!ÿÿÿÿ"ÿÿÿÿ?N@ABÿÿÿC DEFFÆGHIJK5%LMNOÆPQRSTUWYÿÿÿÿZÿÿÿÿ[ \Æ]ÿÿÿÿ^ÿÿÿÿ_ `Æaÿÿÿÿbÿÿÿÿð® ä ðÁ à “ðr ð  S ð€œI“¿ÿðâ~þ Šðà “ ð žðH ð  ƒ ð0ƒ“ŽŸ‹”Þ½h¿ÿ ?ð ÿÿÿ€€€»àã33™™™™Ìˆ8Š0º___PPT10‹ë.è¯ÅðëÚkî“ï € 0 ðû@ðð“ð( ð ððr ð S ð€€O“¿ÿð0@ðà  “ ð žðr ð S ð€ðO“¿ÿð `×ðà “ ð žðg¢ ð Ó ðN€ ) def _spell_check_fired ( self ): # Perform spell checking...¡,ÖuMª†  +#/ðH ð ƒ ð0ƒ“ŽŸ‹”Þ½h¿ÿ ?ð ÿÿÿ€€€»àã33™™™™Ìˆ8Š0º___PPT10‹ë.ê¯ÅàÔK§îï € 0 rðjPððð( ð ððr ð S ð€Ðg“¿ÿð0@¯ðà  “ ð žðr ð S ð€¨h“¿ÿð°ý=Ëðà “ ð žðÖ¢ ð ³ ðB€ôi“¿ÿÌ™¿ Àÿ?¿ÿ“"ñ6@¿ ÿÀ¿‚‚N¿NÿN?Nð|äÐ~ ð&Ÿ¨.class EMailHandler ( Handler ): spell_check = Button( 'Spell Check' ) def handler_spell_check_changed ( self, info ): if info.initialized: # Perform spell checking... view = View( ) class EMail ( HasTraits ): msg = Str ¡*/æ6ªª  (B' ðH ð ƒ ð0ƒ“ŽŸ‹”Þ½h¿ÿ ?ð ÿÿÿ€€€»àã33™™™™Ìˆ8Š0º___PPT10‹ë.ì¯Å P (î$ï € 0 ”ðŒàðüð$ð( ð ðüðr ðü S ð€ü“¿ÿð0@ðà  “ ð žðr ðü S ð€Ô€“¿ÿðð `ðà “ ð žðH ðü ƒ ð0ƒ“ŽŸ‹”Þ½h¿ÿ ?ð ÿÿÿ€€€»àã33™™™™Ìˆ8Š0º___PPT10‹ë.æ¯Åÿoîï € 0 vðn`ððð( ð ððr ð S ð€¤Ž“¿ÿð0@ðà  “ ð žðr ð S ð€|“¿ÿð” `ðà “ ð žðÚ¢ ð ³ ðB€|“¿ÿÌ™¿ Àÿ?¿ÿ“"ñ6@¿ ÿÀ¿‚‚N¿NÿN?NðKÇ‚ ð*Ÿ þ function( parent, editor, args, & ) where: parent: The parent window for the custom widget editor: The CustomEditor instance being used to create the custom widget args: Any additional arguments needed by the function to create the custom widget The function must return the custom widget it creates, created as a child of the parent window.¡Ê6 m  F z - + A¬ª>$L A»ðH ð ƒ ð0ƒ“ŽŸ‹”Þ½h¿ÿ ?ð ÿÿÿ€€€»àã33™™™™Ìˆ8Š0º___PPT10‹ë.ð¯Åðò@Qîßï € 0 OðGpð ðßð( ð ð ðr ð  S ð€¸±“¿ÿð0@ðà  “ ð žðr ð  S ð€²“¿ÿðœÏ/$ðà “ ð žð³¢ ð  ³ ðB€»“¿ÿÌ™¿ Àÿ?¿ÿ“"ñ6@¿ ÿÀ¿‚‚N¿NÿN?NðZÙ`h 🨻def make_calendar ( parent, editor ): import wx import wx.calendar return wx.calendar.CalendarCtrl( parent, -1, wx.DateTime_Now() ) class Appointment ( HasTraits ): description = Str date = Str view = View(Group (Group (Group (Item( name='description', style='custom', resizable=True), show_labels=False), Group (Item( name='date', editor = CustomEditor( make_calendar )), show_labels=False), orientation='horizontal')), height = 0.18)¡ ¼—%ª "     §  C €ðH ð  ƒ ð0ƒ“ŽŸ‹”Þ½h¿ÿ ?ð ÿÿÿ€€€»àã33™™™™Ìˆ8Š0º___PPT10‹ë.ó¯Å0…s­î® ï € 0  ð €ð$ð® ð( ð ð$ðr ð$ S ð€”ß“¿ÿð0@ðà  “ ð žðx ð$ c ð$€Ü³“¿ÿðð  ðà “ ð žð|² ð$0 S ð0e‚˜²ƒ0e„˜²…‡ˆ‰¿A  ô   ?€ÿÌ™‚ƒÿÿÿ„… †A‡Áˆ‰Š‹ŒŽ‘’“”•–—Á˜™š›œ@¿ ÀÁà ÄÅAÆÁÇÈÉÊË5%ÌÍÎÏÁ×ÿËËË 8c8c     ?€‚ƒœ1„…ðù†‡÷ˆ ¿ÀÁÂdÃÄÅÆÇÈÉÊ0uËÐÌ0íìÿÍ@T‰Î€Ï€ÿÿÐyÿÑ2Ò NÓPÃÔÕ'Öp”×°<ÿÿØÙ'Úp”ÿA¨)BCD|¾E„|¾…†|¾‡s "ñ Œ0e@žÿÿÿÿŸÿÿÿÿ  ¡Á¢ÿÿÿÿ£ÿÿÿÿ¤ ¥Á¦ÿÿÿÿ§ÿÿÿÿ¿ ÙÿÿÿÿÚÿÿÿÿÛ ÜÁÝÿÿÿÿÞÿÿÿÿß àÁáÿÿÿÿâÿÿÿÿÿÀÿÿÿÿÿÿÿÿ Âÿÿÿÿÿÿÿÿ Âÿÿÿÿÿÿÿÿ‰ÿÿÿÿŠÿÿÿÿ‹ ŒÂÿÿÿÿ‘’¿‚‚@ABÿÿÿC DEEFÅGHIJK5%LMNOÅPQRSTUWYÿÿÿÿZÿÿÿÿ[ \Å]ÿÿÿÿ^ÿÿÿÿ_ `ÅaÿÿÿÿbÿÿÿÿN€‚ÿÿÿƒ „…E†Å‡ˆ‰Š‹5%ŒŽÅ‘’“”•—™ÿÿÿÿšÿÿÿÿ› œÅÿÿÿÿžÿÿÿÿŸ  Å¡ÿÿÿÿ¢ÿÿÿÿ¿NÀÁÂÿÿÿà ÄÅEÆÅÇÈÉÊË5%ÌÍÎÏÅÐÑÒÓÔÕ×ÙÿÿÿÿÚÿÿÿÿÛ ÜÅÝÿÿÿÿÞÿÿÿÿß àÅáÿÿÿÿâÿÿÿÿÿNÿÿÿ FÆ   5%  Æÿÿÿÿÿÿÿÿ Æÿÿÿÿÿÿÿÿ Æ!ÿÿÿÿ"ÿÿÿÿ?N@ABÿÿÿC DEFFÆGHIJK5%LMNOÆPQRSTUWYÿÿÿÿZÿÿÿÿ[ \Æ]ÿÿÿÿ^ÿÿÿÿ_ `Æaÿÿÿÿbÿÿÿÿð/ þÀðÁ  à “ðH ð$ ƒ ð0ƒ“ŽŸ‹”Þ½h¿ÿ ?ð ÿÿÿ€€€»àã33™™™™Ìˆ8Š0º___PPT10‹ë.ö¯Å0Ðlfî® ï € 0  ð @ðÜð® ð( ð ðÜðr ðÜ S ð€ê“¿ÿð0@ðà  “ ð žðx ðÜ c ð$€ðê“¿ÿðð %z ðà “ ð žð|² ðÜ0 S ð0e‚˜²ƒ0e„˜²…‡ˆ‰¿A 4 ô   ?€ÿÌ™‚ƒÿÿÿ„… †A‡Áˆ‰Š‹ŒŽ‘’“”•–—Á˜™š›œ@¿ ÀÁà ÄÅAÆÁÇÈÉÊË5%ÌÍÎÏÁ×ÿËËË 8c8c     ?€‚ƒœ1„…ðù†‡÷ˆ ¿ÀÁÂdÃÄÅÆÇÈÉÊ0uËÐÌ0íìÿÍ@T‰Î€Ï€ÿÿÐyÿÑ2Ò NÓPÃÔÕ'Öp”×°<ÿÿØÙ'Úp”ÿA¨)BCD|¾E„|¾…†|¾‡s "ñ Œ0e@žÿÿÿÿŸÿÿÿÿ  ¡Á¢ÿÿÿÿ£ÿÿÿÿ¤ ¥Á¦ÿÿÿÿ§ÿÿÿÿ¿ ÙÿÿÿÿÚÿÿÿÿÛ ÜÁÝÿÿÿÿÞÿÿÿÿß àÁáÿÿÿÿâÿÿÿÿÿÀÿÿÿÿÿÿÿÿ Âÿÿÿÿÿÿÿÿ Âÿÿÿÿÿÿÿÿ‰ÿÿÿÿŠÿÿÿÿ‹ ŒÂÿÿÿÿ‘’¿‚‚@ABÿÿÿC DEEFÅGHIJK5%LMNOÅPQRSTUWYÿÿÿÿZÿÿÿÿ[ \Å]ÿÿÿÿ^ÿÿÿÿ_ `ÅaÿÿÿÿbÿÿÿÿN€‚ÿÿÿƒ „…E†Å‡ˆ‰Š‹5%ŒŽÅ‘’“”•—™ÿÿÿÿšÿÿÿÿ› œÅÿÿÿÿžÿÿÿÿŸ  Å¡ÿÿÿÿ¢ÿÿÿÿ¿NÀÁÂÿÿÿà ÄÅEÆÅÇÈÉÊË5%ÌÍÎÏÅÐÑÒÓÔÕ×ÙÿÿÿÿÚÿÿÿÿÛ ÜÅÝÿÿÿÿÞÿÿÿÿß àÅáÿÿÿÿâÿÿÿÿÿNÿÿÿ FÆ   5%  Æÿÿÿÿÿÿÿÿ Æÿÿÿÿÿÿÿÿ Æ!ÿÿÿÿ"ÿÿÿÿ?N@ABÿÿÿC DEFFÆGHIJK5%LMNOÆPQRSTUWYÿÿÿÿZÿÿÿÿ[ \Æ]ÿÿÿÿ^ÿÿÿÿ_ `Æaÿÿÿÿbÿÿÿÿð~ %xðÁ 4à “ðH ðÜ ƒ ð0ƒ“ŽŸ‹”Þ½h¿ÿ ?ð ÿÿÿ€€€»àã33™™™™Ìˆ8Š0º___PPT10‹ë.†´Å !Q‰îÜï € 0 LðD`ðäðÜð( ð ðäðr ðä S ð€ìý“¿ÿð0@ðà  “ ð žðr ðä S ð€Äþ“¿ÿðð ` ðà “ ð žð°¢ ðä Ó ðN€ÄcŽ…‡¿ÿÌ™¿ Àÿ?¿ÿ“"ñ6@¿ ÿÀ¿‚‚N¿NÿN?Nðº _ô ðôŸ Zclass Order ( HasTraits ): fruit = Str # A simple Enum won t work anymore & class Stock ( HasTraits ): fruits = List( Str ) # List of fruits on hand & ¡®®ªb ) %ðH ðä ƒ ð0ƒ“ŽŸ‹”Þ½h¿ÿ ?ð ÿÿÿ€€€»àã33™™™™Ìˆ8Š0º___PPT10‹ë.‰´Åp#b}î$ï € 0 ”ðŒpðèð$ð( ð ðèðr ðè S ð€ ˜¿ÿð0@ðà  ˜ ð žðr ðè S ð€È ˜¿ÿð£[—ðà ˜ ð žðH ðè ƒ ð0ƒ“ŽŸ‹”Þ½h¿ÿ ?ð ÿÿÿ€€€»àã33™™™™Ìˆ8Š0º___PPT10‹ë.‹´ÅÖ¨‡î¦ ï € 0  ð €ð ìð¦ð( ð ðìðr ðì S ð€@˜¿ÿð0@ðà  ˜ ð žðr ðì S ð€˜¿ÿðF Jãðà ˜ ð žðÒ¢ ðì Ó ðN€4"˜…‡¿ÿÌ™¿ Àÿ?¿ÿ“"ñ6@¿ ÿÀ¿‚‚N¿NÿN?Nð>öò3  🠘class Order ( HasTraits ): fruit = Str & view = View( & , Item(  fruit , editor = EnumEditor(name =  stock.fruits ) ), & )ªb O ð⢠ðì Ó ðN€ð(˜…‡¿ÿÌ™¿ Àÿ?¿ÿ“"ñ6@¿ ÿÀ¿‚‚N¿NÿN?Nð¿ ü¼S ð&Ÿ æorder.edit_traits( context = {  object : order,  stock : current_stock, view =  view )ª$( .ð¶ ð ì ƒ ð0€d.˜ƒ¿Àÿ ð Mà  ðVŸ äThis view relies on two objects: the Order being edited, and a Stock object containing the available fruits, referred to as  stock in the above view. This requires providing a context containing both objects when the Order view is displayed:¡Vó%–ðH ðì ƒ ð0ƒ“ŽŸ‹”Þ½h¿ÿ ?ð ÿÿÿ€€€»àã33™™™™Ìˆ8Š0º___PPT10‹ë.´Å.YÔî$ï € 0 ”ðŒððð$ð( ð ððr ð S ð€Œ˜¿ÿð0@ðà  ˜ ð žðr ð S ð€ø?˜¿ÿðð `ðà L ð žðH ð ƒ ð0ƒ“ŽŸ‹”Þ½h¿ÿ ?ð ÿÿÿ€€€»àã33™™™™Ìˆ8Š0º___PPT10‹ë.æ¯Å DTvî:ï € 0 ªð¢ð,ð:ð( ð ð,ðr ð, S ð€àN˜¿ÿð0@ðà  ˜ ð žðˆ ð, S ð€DU˜¿ÿðð `ðà ˜ ð"ž¦ø€p`PpðH ð, ƒ ð0ƒ“ŽŸ‹”Þ½h¿ÿ ?ð ÿÿÿ€€€»àã33™™™™Ìˆ8Š0º___PPT10‹ë.³Å°0bî$ï € 0 ”ðŒ ð0ð$ð( ð ð0ðr ð0 S ð€@`˜¿ÿð0@ðà  ˜ ð žðr ð0 S ð€a˜¿ÿðð `ðà ˜ ð žðH ð0 ƒ ð0ƒ“ŽŸ‹”Þ½h¿ÿ ?ð ÿÿÿ€€€»àã33™™™™Ìˆ8Š0º___PPT10‹ë.³Å ¼#øîðï € 0 `ðX°ð 4ðÈð( ð ð4ðr ð4 S ð€\k˜¿ÿð0@ðà  ˜ ð žðx ð4 c ð$€4l˜¿ÿð>Ä´ a ðà ˜ ð žð|² ð40 S ð0e‚˜²ƒ0e„˜²…‡ˆ‰¿A  ô   ?€ÿÌ™‚ƒÿÿÿ„… †A‡Áˆ‰Š‹ŒŽ‘’“”•–—Á˜™š›œ@¿ ÀÁà ÄÅAÆÁÇÈÉÊË5%ÌÍÎÏÁ×ÿËËË 8c8c     ?€‚ƒœ1„…ðù†‡÷ˆ ¿ÀÁÂdÃÄÅÆÇÈÉÊ0uËÐÌ0íìÿÍ@T‰Î€Ï€ÿÿÐyÿÑ2Ò NÓPÃÔÕ'Öp”×°<ÿÿØÙ'Úp”ÿA¨)BCD|¾E„|¾…†|¾‡s "ñ Œ0e@žÿÿÿÿŸÿÿÿÿ  ¡Á¢ÿÿÿÿ£ÿÿÿÿ¤ ¥Á¦ÿÿÿÿ§ÿÿÿÿ¿ ÙÿÿÿÿÚÿÿÿÿÛ ÜÁÝÿÿÿÿÞÿÿÿÿß àÁáÿÿÿÿâÿÿÿÿÿÀÿÿÿÿÿÿÿÿ Âÿÿÿÿÿÿÿÿ Âÿÿÿÿÿÿÿÿ‰ÿÿÿÿŠÿÿÿÿ‹ ŒÂÿÿÿÿ‘’¿‚‚@ABÿÿÿC DEEFÅGHIJK5%LMNOÅPQRSTUWYÿÿÿÿZÿÿÿÿ[ \Å]ÿÿÿÿ^ÿÿÿÿ_ `ÅaÿÿÿÿbÿÿÿÿN€‚ÿÿÿƒ „…E†Å‡ˆ‰Š‹5%ŒŽÅ‘’“”•—™ÿÿÿÿšÿÿÿÿ› œÅÿÿÿÿžÿÿÿÿŸ  Å¡ÿÿÿÿ¢ÿÿÿÿ¿NÀÁÂÿÿÿà ÄÅEÆÅÇÈÉÊË5%ÌÍÎÏÅÐÑÒÓÔÕ×ÙÿÿÿÿÚÿÿÿÿÛ ÜÅÝÿÿÿÿÞÿÿÿÿß àÅáÿÿÿÿâÿÿÿÿÿNÿÿÿ FÆ   5%  Æÿÿÿÿÿÿÿÿ Æÿÿÿÿÿÿÿÿ Æ!ÿÿÿÿ"ÿÿÿÿ?N@ABÿÿÿC DEFFÆGHIJK5%LMNOÆPQRSTUWYÿÿÿÿZÿÿÿÿ[ \Æ]ÿÿÿÿ^ÿÿÿÿ_ `Æaÿÿÿÿbÿÿÿÿð ` ¦r ðÁ  à ˜ðÆ¢ ð4 ³ ðB€”q˜¿ÿÌ™¿ Àÿ?¿ÿ“"ñ6@¿ ÿÀ¿‚‚N¿NÿN?Nð“ç€ x ðŸ¨ìclass Address ( HasTraits ): street = Str city = Str state = Str zip = Str view = View( [ [ 'street' ], [ 'city', 'state', 'zip', orientation='horizontal'] ], buttons = [ 'OK', 'Cancel' ] ) class Person ( HasTraits ): name = Str age = Int sex = Enum( 'male', 'female' ) address = Instance( Address, () ) view = View( [ [ 'name' ], [ [ 'age', 'sex', orientation='horizontal' ], [ 'address', show_labels=False], orientation='horizontal' ] ], buttons = [ 'OK', 'Cancel' ] )¡&íÀ)ªà ¶ L’ ð|² ð40 S ð0e‚˜²ƒ0e„˜²…‡ˆ‰¿A  ô   ?€ÿÌ™‚ƒÿÿÿ„… †A‡Áˆ‰Š‹ŒŽ‘’“”•–—Á˜™š›œ@¿ ÀÁà ÄÅAÆÁÇÈÉÊË5%ÌÍÎÏÁ×ÿËËË 8c8c     ?€‚ƒœ1„…ðù†‡÷ˆ ¿ÀÁÂdÃÄÅÆÇÈÉÊ0uËÐÌ0íìÿÍ@T‰Î€Ï€ÿÿÐyÿÑ2Ò NÓPÃÔÕ'Öp”×°<ÿÿØÙ'Úp”ÿA¨)BCD|¾E„|¾…†|¾‡s "ñ Œ0e@žÿÿÿÿŸÿÿÿÿ  ¡Á¢ÿÿÿÿ£ÿÿÿÿ¤ ¥Á¦ÿÿÿÿ§ÿÿÿÿ¿ ÙÿÿÿÿÚÿÿÿÿÛ ÜÁÝÿÿÿÿÞÿÿÿÿß àÁáÿÿÿÿâÿÿÿÿÿÀÿÿÿÿÿÿÿÿ Âÿÿÿÿÿÿÿÿ Âÿÿÿÿÿÿÿÿ‰ÿÿÿÿŠÿÿÿÿ‹ ŒÂÿÿÿÿ‘’¿‚‚@ABÿÿÿC DEEFÅGHIJK5%LMNOÅPQRSTUWYÿÿÿÿZÿÿÿÿ[ \Å]ÿÿÿÿ^ÿÿÿÿ_ `ÅaÿÿÿÿbÿÿÿÿN€‚ÿÿÿƒ „…E†Å‡ˆ‰Š‹5%ŒŽÅ‘’“”•—™ÿÿÿÿšÿÿÿÿ› œÅÿÿÿÿžÿÿÿÿŸ  Å¡ÿÿÿÿ¢ÿÿÿÿ¿NÀÁÂÿÿÿà ÄÅEÆÅÇÈÉÊË5%ÌÍÎÏÅÐÑÒÓÔÕ×ÙÿÿÿÿÚÿÿÿÿÛ ÜÅÝÿÿÿÿÞÿÿÿÿß àÅáÿÿÿÿâÿÿÿÿÿNÿÿÿ FÆ   5%  Æÿÿÿÿÿÿÿÿ Æÿÿÿÿÿÿÿÿ Æ!ÿÿÿÿ"ÿÿÿÿ?N@ABÿÿÿC DEFFÆGHIJK5%LMNOÆPQRSTUWYÿÿÿÿZÿÿÿÿ[ \Æ]ÿÿÿÿ^ÿÿÿÿ_ `ÆaÿÿÿÿbÿÿÿÿðòP @%ðÁ à ˜ðÀ" ð 4À  ð`…‡¿GâˆÿÿH’Iœ¿ÀÑÿ?¿ÿƒ"ñ0@ÿ€¿‚‚N¿NÿN?NðŒ@¦¹ ðH ð4 ƒ ð0ƒ“ŽŸ‹”Þ½h¿ÿ ?ð ð44 4ð ÿÿÿ€€€»àã33™™™™Ìˆ8Š0º___PPT10‹ë.³Å0;[çîøï € 0 hð`ððø ð( ð ððr ð S ð€ð˜¿ÿð0@ðà  ˜ ð žðx ð c ð$€È˜¿ÿð™ s¡ðà ˜ ð žð|² ð0 S ð0e‚˜²ƒ0e„˜²…‡ˆ‰¿A  ô   ?€ÿÌ™‚ƒÿÿÿ„… †A‡Áˆ‰Š‹ŒŽ‘’“”•–—Á˜™š›œ@¿ ÀÁà ÄÅAÆÁÇÈÉÊË5%ÌÍÎÏÁ×ÿËËË 8c8c     ?€‚ƒœ1„…ðù†‡÷ˆ ¿ÀÁÂdÃÄÅÆÇÈÉÊ0uËÐÌ0íìÿÍ@T‰Î€Ï€ÿÿÐyÿÑ2Ò NÓPÃÔÕ'Öp”×°<ÿÿØÙ'Úp”ÿA¨)BCD|¾E„|¾…†|¾‡s "ñ Œ0e@žÿÿÿÿŸÿÿÿÿ  ¡Á¢ÿÿÿÿ£ÿÿÿÿ¤ ¥Á¦ÿÿÿÿ§ÿÿÿÿ¿ ÙÿÿÿÿÚÿÿÿÿÛ ÜÁÝÿÿÿÿÞÿÿÿÿß àÁáÿÿÿÿâÿÿÿÿÿÀÿÿÿÿÿÿÿÿ Âÿÿÿÿÿÿÿÿ Âÿÿÿÿÿÿÿÿ‰ÿÿÿÿŠÿÿÿÿ‹ ŒÂÿÿÿÿ‘’¿‚‚@ABÿÿÿC DEEFÅGHIJK5%LMNOÅPQRSTUWYÿÿÿÿZÿÿÿÿ[ \Å]ÿÿÿÿ^ÿÿÿÿ_ `ÅaÿÿÿÿbÿÿÿÿN€‚ÿÿÿƒ „…E†Å‡ˆ‰Š‹5%ŒŽÅ‘’“”•—™ÿÿÿÿšÿÿÿÿ› œÅÿÿÿÿžÿÿÿÿŸ  Å¡ÿÿÿÿ¢ÿÿÿÿ¿NÀÁÂÿÿÿà ÄÅEÆÅÇÈÉÊË5%ÌÍÎÏÅÐÑÒÓÔÕ×ÙÿÿÿÿÚÿÿÿÿÛ ÜÅÝÿÿÿÿÞÿÿÿÿß àÅáÿÿÿÿâÿÿÿÿÿNÿÿÿ FÆ   5%  Æÿÿÿÿÿÿÿÿ Æÿÿÿÿÿÿÿÿ Æ!ÿÿÿÿ"ÿÿÿÿ?N@ABÿÿÿC DEFFÆGHIJK5%LMNOÆPQRSTUWYÿÿÿÿZÿÿÿÿ[ \Æ]ÿÿÿÿ^ÿÿÿÿ_ `ÆaÿÿÿÿbÿÿÿÿðØV F´ ðÁ à ˜ðB¢ ð ³ ðB€’˜¿ÿÌ™¿ Àÿ?¿ÿ“"ñ6@¿ ÿÀ¿‚‚N¿NÿN?Nðœ'° N 𒟨Œclass Address ( HasTraits ): street = Str city = Str state = Str zip = Str view = View( [ [ 'street' ], [ '13', 'city', 'state', 'zip', '-' ] ], buttons = [ 'OK', 'Cancel' ] ) class Person ( HasTraits ): name = Str age = Int sex = Enum( 'male', 'female' ) address = Instance( Address, () ) view = View( [ [ '9', 'name', '-' ], [ '17', 'age', 'sex', '-' ], [ Item( 'address', style = 'custom' ), '-<>' ] ], buttons = [ 'OK', 'Cancel' ] )¡ªÎ  MåðH ð ƒ ð0ƒ“ŽŸ‹”Þ½h¿ÿ ?ð ÿÿÿ€€€»àã33™™™™Ìˆ8Š0º___PPT10‹ë.æ¯Å€E¹}î$ï € 0 ”ðŒðHð$ð( ð ðHðr ðH S ð€ˆ¬˜¿ÿð0@ðà  ˜ ð žðr ðH S ð€0­˜¿ÿðð `Üðà ˜ ð žðH ðH ƒ ð0ƒ“ŽŸ‹”Þ½h¿ÿ ?ð ÿÿÿ€€€»àã33™™™™Ìˆ8Š0º___PPT10‹ë.³Å Fцî$ï € 0 ”ðŒðLð$ð( ð ðLðr ðL S ð€²˜¿ÿð0@ðà  ˜ ð žðr ðL S ð€À²˜¿ÿð¨P„ðà ˜ ð žðH ðL ƒ ð0ƒ“ŽŸ‹”Þ½h¿ÿ ?ð ÿÿÿ€€€»àã33™™™™Ìˆ8Š0º___PPT10‹ë.³Å°²›Ðî$ï € 0 ”ðŒ ðPð$ð( ð ðPðr ðP S ð€4̘¿ÿð0@ðà  ˜ ð žðr ðP S ð€ ͘¿ÿðð `ðà ˜ ð žðH ðP ƒ ð0ƒ“ŽŸ‹”Þ½h¿ÿ ?ð ÿÿÿ€€€»àã33™™™™Ìˆ8Š0º___PPT10‹ë.!³Å qù`î8ï € 0 ¨ð 0ðTð8ð( ð ðTðr ðT S ð€Û˜¿ÿð0@ðà  ˜ ð žðx ðT c ð$€ØÛ˜¿ÿð< ðà ˜ ð žð|² ðT0 S ð0e‚˜²ƒ0e„˜²…‡ˆ‰¿A  ô   ?€ÿÌ™‚ƒÿÿÿ„… †A‡Áˆ‰Š‹ŒŽ‘’“”•–—Á˜™š›œ@¿ ÀÁà ÄÅAÆÁÇÈÉÊË5%ÌÍÎÏÁ×ÿËËË 8c8c     ?€‚ƒœ1„…ðù†‡÷ˆ ¿ÀÁÂdÃÄÅÆÇÈÉÊ0uËÐÌ0íìÿÍ@T‰Î€Ï€ÿÿÐyÿÑ2Ò NÓPÃÔÕ'Öp”×°<ÿÿØÙ'Úp”ÿA¨)BCD|¾E„|¾…†|¾‡s "ñ Œ0e@žÿÿÿÿŸÿÿÿÿ  ¡Á¢ÿÿÿÿ£ÿÿÿÿ¤ ¥Á¦ÿÿÿÿ§ÿÿÿÿ¿ ÙÿÿÿÿÚÿÿÿÿÛ ÜÁÝÿÿÿÿÞÿÿÿÿß àÁáÿÿÿÿâÿÿÿÿÿÀÿÿÿÿÿÿÿÿ Âÿÿÿÿÿÿÿÿ Âÿÿÿÿÿÿÿÿ‰ÿÿÿÿŠÿÿÿÿ‹ ŒÂÿÿÿÿ‘’¿‚‚@ABÿÿÿC DEEFÅGHIJK5%LMNOÅPQRSTUWYÿÿÿÿZÿÿÿÿ[ \Å]ÿÿÿÿ^ÿÿÿÿ_ `ÅaÿÿÿÿbÿÿÿÿN€‚ÿÿÿƒ „…E†Å‡ˆ‰Š‹5%ŒŽÅ‘’“”•—™ÿÿÿÿšÿÿÿÿ› œÅÿÿÿÿžÿÿÿÿŸ  Å¡ÿÿÿÿ¢ÿÿÿÿ¿NÀÁÂÿÿÿà ÄÅEÆÅÇÈÉÊË5%ÌÍÎÏÅÐÑÒÓÔÕ×ÙÿÿÿÿÚÿÿÿÿÛ ÜÅÝÿÿÿÿÞÿÿÿÿß àÅáÿÿÿÿâÿÿÿÿÿNÿÿÿ FÆ   5%  Æÿÿÿÿÿÿÿÿ Æÿÿÿÿÿÿÿÿ Æ!ÿÿÿÿ"ÿÿÿÿ?N@ABÿÿÿC DEFFÆGHIJK5%LMNOÆPQRSTUWYÿÿÿÿZÿÿÿÿ[ \Æ]ÿÿÿÿ^ÿÿÿÿ_ `ÆaÿÿÿÿbÿÿÿÿðùXxGðÁ à ˜ðþ¢ ðT Ó ðN€ Ý˜…‡¿ÿÌ™¿ Àÿ?¿ÿ“"ñ6@¿ ÿÀ¿‚‚N¿NÿN?Nð lÕ ðBŸ Pclass Person ( HasTraits ): name = Str age = Int phone = Regex( value = '000-0000', regex = '\d\d\d[-]\d\d\d\d' ) view = View( 'name', 'age', 'phone' ) class Team ( HasTraits ): name = Str captain = Instance( Person ) roster = List( Person ) view = View( 'name', '_', Item( 'captain', editor = InstanceEditor( name = 'roster', editable = False ) ), buttons = [  OK ,  Cancel ] )¡$)°@9ªª 6G ±bð|² ðT0 S ð0e‚˜²ƒ0e„˜²…‡ˆ‰¿A  ô   ?€ÿÌ™‚ƒÿÿÿ„… †A‡Áˆ‰Š‹ŒŽ‘’“”•–—Á˜™š›œ@¿ ÀÁà ÄÅAÆÁÇÈÉÊË5%ÌÍÎÏÁ×ÿËËË 8c8c     ?€‚ƒœ1„…ðù†‡÷ˆ ¿ÀÁÂdÃÄÅÆÇÈÉÊ0uËÐÌ0íìÿÍ@T‰Î€Ï€ÿÿÐyÿÑ2Ò NÓPÃÔÕ'Öp”×°<ÿÿØÙ'Úp”ÿA¨)BCD|¾E„|¾…†|¾‡s "ñ Œ0e@žÿÿÿÿŸÿÿÿÿ  ¡Á¢ÿÿÿÿ£ÿÿÿÿ¤ ¥Á¦ÿÿÿÿ§ÿÿÿÿ¿ ÙÿÿÿÿÚÿÿÿÿÛ ÜÁÝÿÿÿÿÞÿÿÿÿß àÁáÿÿÿÿâÿÿÿÿÿÀÿÿÿÿÿÿÿÿ Âÿÿÿÿÿÿÿÿ Âÿÿÿÿÿÿÿÿ‰ÿÿÿÿŠÿÿÿÿ‹ ŒÂÿÿÿÿ‘’¿‚‚@ABÿÿÿC DEEFÅGHIJK5%LMNOÅPQRSTUWYÿÿÿÿZÿÿÿÿ[ \Å]ÿÿÿÿ^ÿÿÿÿ_ `ÅaÿÿÿÿbÿÿÿÿN€‚ÿÿÿƒ „…E†Å‡ˆ‰Š‹5%ŒŽÅ‘’“”•—™ÿÿÿÿšÿÿÿÿ› œÅÿÿÿÿžÿÿÿÿŸ  Å¡ÿÿÿÿ¢ÿÿÿÿ¿NÀÁÂÿÿÿà ÄÅEÆÅÇÈÉÊË5%ÌÍÎÏÅÐÑÒÓÔÕ×ÙÿÿÿÿÚÿÿÿÿÛ ÜÅÝÿÿÿÿÞÿÿÿÿß àÅáÿÿÿÿâÿÿÿÿÿNÿÿÿ FÆ   5%  Æÿÿÿÿÿÿÿÿ Æÿÿÿÿÿÿÿÿ Æ!ÿÿÿÿ"ÿÿÿÿ?N@ABÿÿÿC DEFFÆGHIJK5%LMNOÆPQRSTUWYÿÿÿÿZÿÿÿÿ[ \Æ]ÿÿÿÿ^ÿÿÿÿ_ `Æaÿÿÿÿbÿÿÿÿð¥ Xxó ðÁ à ˜ðH ðT ƒ ð0ƒ“ŽŸ‹”Þ½h¿ÿ ?ð ÿÿÿ€€€»àã33™™™™Ìˆ8Š0º___PPT10‹ë."³Å Ytîrï € 0 âðÚðð Dð ð( ð ðDðr ðD S ð€Ø÷˜¿ÿð0@ðà  ˜ ð žðx ðD c ð$€°ø˜¿ÿð]ùé 7ðà ˜ ð žð|² ðD0 S ð0e‚˜²ƒ0e„˜²…‡ˆ‰¿A  ô   ?€ÿÌ™‚ƒÿÿÿ„… †A‡Áˆ‰Š‹ŒŽ‘’“”•–—Á˜™š›œ@¿ ÀÁà ÄÅAÆÁÇÈÉÊË5%ÌÍÎÏÁ×ÿËËË 8c8c     ?€‚ƒœ1„…ðù†‡÷ˆ ¿ÀÁÂdÃÄÅÆÇÈÉÊ0uËÐÌ0íìÿÍ@T‰Î€Ï€ÿÿÐyÿÑ2Ò NÓPÃÔÕ'Öp”×°<ÿÿØÙ'Úp”ÿA¨)BCD|¾E„|¾…†|¾‡s "ñ Œ0e@žÿÿÿÿŸÿÿÿÿ  ¡Á¢ÿÿÿÿ£ÿÿÿÿ¤ ¥Á¦ÿÿÿÿ§ÿÿÿÿ¿ ÙÿÿÿÿÚÿÿÿÿÛ ÜÁÝÿÿÿÿÞÿÿÿÿß àÁáÿÿÿÿâÿÿÿÿÿÀÿÿÿÿÿÿÿÿ Âÿÿÿÿÿÿÿÿ Âÿÿÿÿÿÿÿÿ‰ÿÿÿÿŠÿÿÿÿ‹ ŒÂÿÿÿÿ‘’¿‚‚@ABÿÿÿC DEEFÅGHIJK5%LMNOÅPQRSTUWYÿÿÿÿZÿÿÿÿ[ \Å]ÿÿÿÿ^ÿÿÿÿ_ `ÅaÿÿÿÿbÿÿÿÿN€‚ÿÿÿƒ „…E†Å‡ˆ‰Š‹5%ŒŽÅ‘’“”•—™ÿÿÿÿšÿÿÿÿ› œÅÿÿÿÿžÿÿÿÿŸ  Å¡ÿÿÿÿ¢ÿÿÿÿ¿NÀÁÂÿÿÿà ÄÅEÆÅÇÈÉÊË5%ÌÍÎÏÅÐÑÒÓÔÕ×ÙÿÿÿÿÚÿÿÿÿÛ ÜÅÝÿÿÿÿÞÿÿÿÿß àÅáÿÿÿÿâÿÿÿÿÿNÿÿÿ FÆ   5%  Æÿÿÿÿÿÿÿÿ Æÿÿÿÿÿÿÿÿ Æ!ÿÿÿÿ"ÿÿÿÿ?N@ABÿÿÿC DEFFÆGHIJK5%LMNOÆPQRSTUWYÿÿÿÿZÿÿÿÿ[ \Æ]ÿÿÿÿ^ÿÿÿÿ_ `Æaÿÿÿÿbÿÿÿÿð' ˆ¨mðÁ à ˜ðŒ¢ ðD ³ ðB€£¿ÿÌ™¿ Àÿ?¿ÿ“"ñ6@¿ ÿÀ¿‚‚N¿NÿN?NðwÑ ðÜŸ¨Bclass Person ( HasStrictTraits ): name = Str age = Int phone = Regex( value = '000-0000', regex = '\d\d\d[-]\d\d\d\d' ) traits_view = View( ['name', 'age', 'phone', style='readonly'] ) edit_view = View( ['name', 'age', 'phone'], buttons = [ 'OK', 'Cancel' ] ) class Team ( HasStrictTraits ): name = Str captain = Instance( Person ) roster = List( Person ) traits_view = View( [ [ Item('name'), Item('_'), Item( 'captain', editor = InstanceEditor( name = 'roster', editable = False, values = [ InstanceFactoryChoice( klass = Person, name = 'Non player', view = 'edit_view' ) ] ) ), Item( '_') ], [ Item('captain', style='custom') ], buttons = [ 'OK', 'Cancel' ] )¡*C”  § ªL ) yO ' ŽßA§ S NðÔ² ð D ó ðZ…‡¿A ?ÿÌ™¿ Àÿ?¿ÿ“"ñ6@¿ ÿÀ¿‚‚N¿NÿN?Nð …¥ ´ ð Á ðÔ² ð D ó ðZ…‡¿A P?ÿÌ™¿ Àÿ?¿ÿ“"ñ6@¿ ÿÀ¿‚‚N¿NÿN?Nð#  8ið Á PðÀ" ð DÀ  ð`…‡¿Gº×ýÿH­¥I€S¿ÀÑÿ?¿ÿƒ"ñ0@ÿ€¿‚‚N¿NÿN?NðÉ’¨Ê ð® ð D@ Ó ðN…‡¿¿ÀÑÿ?¿ÿƒ"ñ0@ÿ€¿‚‚N¿NÿN?NðÉ• r ð® ð D Ó ðN…‡¿¿ÀÑÿ?¿ÿƒ"ñ0@ÿ€¿‚‚N¿NÿN?Nð´ •  Æ ðÔ² ðD ó ðZ…‡¿A ?ÿÌ™¿ Àÿ?¿ÿ“"ñ6@¿ ÿÀ¿‚‚N¿NÿN?Nð&r’lð Á ðH ðD ƒ ð0ƒ“ŽŸ‹”Þ½h¿ÿ ??ð`ðDD DðD D Dð D D Dð ÿÿÿ€€€»àã33™™™™Ìˆ8Š0º___PPT10‹ë.³ÅðÕ}ÓîÂï € 0 2ð*ðlðÂð( ð ðlðr ðl S ð€à£¿ÿð0@ðà  £ ð žðr ðl S ð€ˆ£¿ÿðlû;Eðà £ ð žð–¢ ðl Ó ðN€à-£…‡¿ÿÌ™¿ Àÿ?¿ÿ“"ñ6@¿ ÿÀ¿‚‚N¿NÿN?NðŽ)Ìv ðÚŸ ` view = View( Group( Group( Item( 'company', editor = tree_editor, resizable = True ) show_labels=False), Group( Group( Item( label ='Employee of the Month', style = 'custom'), Item( 'eom', editor = InstanceEditor( values = [ InstanceDropChoice( klass = Employee, selectable = True ) ] ), style='custom', resizable = True ) show_labels = False), Group( Item( label = 'Department of the Month}', style='custom'), Item( 'dom', editor = InstanceEditor( values = [ InstanceDropChoice( klass = Department ) ] ), style='custom', resizable = True )), show_labels = False, layout = 'split' ), orientation = 'horizontal', show_labels = False, layout = 'split' ), title = 'Company Structure', handler = TreeHandler(), buttons = [  OK ,  Cancel ], resizable = True, width = .5, height = .5 )¡@±Ë 7 5 § Ó ªy a ž8f ‰6d¬ N V uðH ðl ƒ ð0ƒ“ŽŸ‹”Þ½h¿ÿ ?ð ÿÿÿ€€€»àã33™™™™Ìˆ8Š0º___PPT10‹ë.-³Å ^„Êî® ï € 0  ð  ðpð® ð( ð ðpðr ðp S ð€Pÿ˜¿ÿð0@ðà  £ ð žðx ðp c ð$€XÿV¿ÿðe Iðà ˜ ð žð|² ðp0 S ð0e‚˜²ƒ0e„˜²…‡ˆ‰¿A  ô   ?€ÿÌ™‚ƒÿÿÿ„… †A‡Áˆ‰Š‹ŒŽ‘’“”•–—Á˜™š›œ@¿ ÀÁà ÄÅAÆÁÇÈÉÊË5%ÌÍÎÏÁ×ÿËËË 8c8c     ?€‚ƒœ1„…ðù†‡÷ˆ ¿ÀÁÂdÃÄÅÆÇÈÉÊ0uËÐÌ0íìÿÍ@T‰Î€Ï€ÿÿÐyÿÑ2Ò NÓPÃÔÕ'Öp”×°<ÿÿØÙ'Úp”ÿA¨)BCD|¾E„|¾…†|¾‡s "ñ Œ0e@žÿÿÿÿŸÿÿÿÿ  ¡Á¢ÿÿÿÿ£ÿÿÿÿ¤ ¥Á¦ÿÿÿÿ§ÿÿÿÿ¿ ÙÿÿÿÿÚÿÿÿÿÛ ÜÁÝÿÿÿÿÞÿÿÿÿß àÁáÿÿÿÿâÿÿÿÿÿÀÿÿÿÿÿÿÿÿ Âÿÿÿÿÿÿÿÿ Âÿÿÿÿÿÿÿÿ‰ÿÿÿÿŠÿÿÿÿ‹ ŒÂÿÿÿÿ‘’¿‚‚@ABÿÿÿC DEEFÅGHIJK5%LMNOÅPQRSTUWYÿÿÿÿZÿÿÿÿ[ \Å]ÿÿÿÿ^ÿÿÿÿ_ `ÅaÿÿÿÿbÿÿÿÿN€‚ÿÿÿƒ „…E†Å‡ˆ‰Š‹5%ŒŽÅ‘’“”•—™ÿÿÿÿšÿÿÿÿ› œÅÿÿÿÿžÿÿÿÿŸ  Å¡ÿÿÿÿ¢ÿÿÿÿ¿NÀÁÂÿÿÿà ÄÅEÆÅÇÈÉÊË5%ÌÍÎÏÅÐÑÒÓÔÕ×ÙÿÿÿÿÚÿÿÿÿÛ ÜÅÝÿÿÿÿÞÿÿÿÿß àÅáÿÿÿÿâÿÿÿÿÿNÿÿÿ FÆ   5%  Æÿÿÿÿÿÿÿÿ Æÿÿÿÿÿÿÿÿ Æ!ÿÿÿÿ"ÿÿÿÿ?N@ABÿÿÿC DEFFÆGHIJK5%LMNOÆPQRSTUWYÿÿÿÿZÿÿÿÿ[ \Æ]ÿÿÿÿ^ÿÿÿÿ_ `Æaÿÿÿÿbÿÿÿÿðà8çðÁ à VðH ðp ƒ ð0ƒ“ŽŸ‹”Þ½h¿ÿ ?ð ÿÿÿ€€€»àã33™™™™Ìˆ8Š0º___PPT10‹ë..³ÅÀ-éÏîeï € 0 ÕðÍÀðxðeð( ð ðxðr ðx S ð€Z£¿ÿð0@ðà  £ ð žðx ðx c ð$€ÜZ£¿ÿðð 5iðà £ ð žð¯¢ ðx Ó ðN€\£…‡¿ÿÌ™¿ Àÿ?¿ÿ“"ñ6@¿ ÿÀ¿‚‚N¿NÿN?NðšpÆ ðóŸ¨Åclass Person ( HasTraits ): name = Str age = Int phone = Regex( value = '000-0000', regex = '\d\d\d[-]\d\d\d\d' ) traits_view = View( 'name', 'age', 'phone' ) class Team ( HasTraits ): name = Str captain = Instance( Person ) roster = List( Person ) traits_view = View( Item('name'), Item('_'), Item( 'captain', editor = InstanceEditor( name = 'roster' ), style='custom'), buttons = [ 'Undo', 'OK', 'Cancel' ] )¡*Æ*‹ªà 7 1 P  ¡žð|² ðx0 S ð0e‚˜²ƒ0e„˜²…‡ˆ‰¿A  ô   ?€ÿÌ™‚ƒÿÿÿ„… †A‡Áˆ‰Š‹ŒŽ‘’“”•–—Á˜™š›œ@¿ ÀÁà ÄÅAÆÁÇÈÉÊË5%ÌÍÎÏÁ×ÿËËË 8c8c     ?€‚ƒœ1„…ðù†‡÷ˆ ¿ÀÁÂdÃÄÅÆÇÈÉÊ0uËÐÌ0íìÿÍ@T‰Î€Ï€ÿÿÐyÿÑ2Ò NÓPÃÔÕ'Öp”×°<ÿÿØÙ'Úp”ÿA¨)BCD|¾E„|¾…†|¾‡s "ñ Œ0e@žÿÿÿÿŸÿÿÿÿ  ¡Á¢ÿÿÿÿ£ÿÿÿÿ¤ ¥Á¦ÿÿÿÿ§ÿÿÿÿ¿ ÙÿÿÿÿÚÿÿÿÿÛ ÜÁÝÿÿÿÿÞÿÿÿÿß àÁáÿÿÿÿâÿÿÿÿÿÀÿÿÿÿÿÿÿÿ Âÿÿÿÿÿÿÿÿ Âÿÿÿÿÿÿÿÿ‰ÿÿÿÿŠÿÿÿÿ‹ ŒÂÿÿÿÿ‘’¿‚‚@ABÿÿÿC DEEFÅGHIJK5%LMNOÅPQRSTUWYÿÿÿÿZÿÿÿÿ[ \Å]ÿÿÿÿ^ÿÿÿÿ_ `ÅaÿÿÿÿbÿÿÿÿN€‚ÿÿÿƒ „…E†Å‡ˆ‰Š‹5%ŒŽÅ‘’“”•—™ÿÿÿÿšÿÿÿÿ› œÅÿÿÿÿžÿÿÿÿŸ  Å¡ÿÿÿÿ¢ÿÿÿÿ¿NÀÁÂÿÿÿà ÄÅEÆÅÇÈÉÊË5%ÌÍÎÏÅÐÑÒÓÔÕ×ÙÿÿÿÿÚÿÿÿÿÛ ÜÅÝÿÿÿÿÞÿÿÿÿß àÅáÿÿÿÿâÿÿÿÿÿNÿÿÿ FÆ   5%  Æÿÿÿÿÿÿÿÿ Æÿÿÿÿÿÿÿÿ Æ!ÿÿÿÿ"ÿÿÿÿ?N@ABÿÿÿC DEFFÆGHIJK5%LMNOÆPQRSTUWYÿÿÿÿZÿÿÿÿ[ \Æ]ÿÿÿÿ^ÿÿÿÿ_ `Æaÿÿÿÿbÿÿÿÿð)² ’¥ ðÁ à £ðH ðx ƒ ð0ƒ“ŽŸ‹”Þ½h¿ÿ ?ð ÿÿÿ€€€»àã33™™™™Ìˆ8Š0º___PPT10‹ë.3³ÅRt_î$ï € 0 ”ðŒ€ðhð$ð( ð ðhðr ðh S ð€x{£¿ÿð0@ðà  £ ð žðr ðh S ð€P|£¿ÿðð `æðà £ ð žðH ðh ƒ ð0ƒ“ŽŸ‹”Þ½h¿ÿ ?ð ÿÿÿ€€€»àã33™™™™Ìˆ8Š0º___PPT10‹ë.,³Åp–»î$ï € 0 ”ðŒàð€ð$ð( ð ð€ðr ð€ S ð€”‰£¿ÿð0@ðà  £ ð žðr ð€ S ð€lŠ£¿ÿðe%eñðà £ ð žðH ð€ ƒ ð0ƒ“ŽŸ‹”Þ½h¿ÿ ?ð ÿÿÿ€€€»àã33™™™™Ìˆ8Š0º___PPT10‹ë.ͳŦ9tî® ï € 0  ð ðˆð® ð( ð ðˆðr ðˆ S ð€•£¿ÿð0@ðà  £ ð žðx ðˆ c ð$€¸›£¿ÿð²/g ðà £ ð žð|² ðˆ0 S ð0e‚˜²ƒ0e„˜²…‡ˆ‰¿A  ô   ?€ÿÌ™‚ƒÿÿÿ„… †A‡Áˆ‰Š‹ŒŽ‘’“”•–—Á˜™š›œ@¿ ÀÁà ÄÅAÆÁÇÈÉÊË5%ÌÍÎÏÁ×ÿËËË 8c8c     ?€‚ƒœ1„…ðù†‡÷ˆ ¿ÀÁÂdÃÄÅÆÇÈÉÊ0uËÐÌ0íìÿÍ@T‰Î€Ï€ÿÿÐyÿÑ2Ò NÓPÃÔÕ'Öp”×°<ÿÿØÙ'Úp”ÿA¨)BCD|¾E„|¾…†|¾‡s "ñ Œ0e@žÿÿÿÿŸÿÿÿÿ  ¡Á¢ÿÿÿÿ£ÿÿÿÿ¤ ¥Á¦ÿÿÿÿ§ÿÿÿÿ¿ ÙÿÿÿÿÚÿÿÿÿÛ ÜÁÝÿÿÿÿÞÿÿÿÿß àÁáÿÿÿÿâÿÿÿÿÿÀÿÿÿÿÿÿÿÿ Âÿÿÿÿÿÿÿÿ Âÿÿÿÿÿÿÿÿ‰ÿÿÿÿŠÿÿÿÿ‹ ŒÂÿÿÿÿ‘’¿‚‚@ABÿÿÿC DEEFÅGHIJK5%LMNOÅPQRSTUWYÿÿÿÿZÿÿÿÿ[ \Å]ÿÿÿÿ^ÿÿÿÿ_ `ÅaÿÿÿÿbÿÿÿÿN€‚ÿÿÿƒ „…E†Å‡ˆ‰Š‹5%ŒŽÅ‘’“”•—™ÿÿÿÿšÿÿÿÿ› œÅÿÿÿÿžÿÿÿÿŸ  Å¡ÿÿÿÿ¢ÿÿÿÿ¿NÀÁÂÿÿÿà ÄÅEÆÅÇÈÉÊË5%ÌÍÎÏÅÐÑÒÓÔÕ×ÙÿÿÿÿÚÿÿÿÿÛ ÜÅÝÿÿÿÿÞÿÿÿÿß àÅáÿÿÿÿâÿÿÿÿÿNÿÿÿ FÆ   5%  Æÿÿÿÿÿÿÿÿ Æÿÿÿÿÿÿÿÿ Æ!ÿÿÿÿ"ÿÿÿÿ?N@ABÿÿÿC DEFFÆGHIJK5%LMNOÆPQRSTUWYÿÿÿÿZÿÿÿÿ[ \Æ]ÿÿÿÿ^ÿÿÿÿ_ `Æaÿÿÿÿbÿÿÿÿð_ 5?ðÁ à £ðH ðˆ ƒ ð0ƒ“ŽŸ‹”Þ½h¿ÿ ?ð ÿÿÿ€€€»àã33™™™™Ìˆ8Š0º___PPT10‹ë.Ô³Å@íøî$ï € 0 ”ðŒðð„ð$ð( ð ð„ðr ð„ S ð€¢£¿ÿð0@ðà  £ ð žðr ð„ S ð€Ü¢£¿ÿðð `£ðà £ ð žðH ð„ ƒ ð0ƒ“ŽŸ‹”Þ½h¿ÿ ?ð ÿÿÿ€€€»àã33™™™™Ìˆ8Š0º___PPT10‹ë.ϳÅàÝæVî1Bï € 0 ¡Að™A ð@¾ð1Að( ð ððr ð S ð€,­£¿ÿð0@ðà  £ ð žð@ð¤ ðZú¼ ð¾ ð#"ñ>Ÿ Ã2 ðúZ¼ðà £ð* ð´ à ðH€Pö·¿ÿÌ™¿ Àÿ?¿ÿ“"ñ6@¿ ÿÀ¿‚‚N¿NÿN?Nð1 ¼ ðlŸ¨ row_height¡  ª ¦ø @`€ð, ð² à ðH€àºæ¿²²²¿Àÿ?¿ÿ“"ñ6@¿ ÿÀ¿‚‚N¿NÿN?NðÆ 1 ðnŸ¨ columns_name¡  ª ¦ø @`€ð  ð° à ðH€Šæ¿¿Àÿ?¿ÿ“"ñ6@¿ ÿÀ¿‚‚N¿NÿN?NðF Æ  ðLŸ¨rows¡¦ø @`€ð+ ð® à ðH€æ¿ÿÌ™¿Àÿ?¿ÿ“"ñ6@¿ ÿÀ¿‚‚N¿NÿN?NðZ F ðmŸ¨ reorderable¡  ª ¦ø @`€ðþ ð, à ðH€Ü»£¿ÿÌ™¿ Àÿ?¿ÿ“"ñ6@¿ ÿÀ¿‚‚N¿NÿN?Nð1¼ ð@Ÿ¡¦ø @`€ð  ð+ à ðH€ÐÄ£¿»àã¿Àÿ?¿ÿ“"ñ6@¿ ÿÀ¿‚‚N¿NÿN?NðÆ 1 ðNŸ¨search¡¦ø @`€ð* ð* à ðH€,Σ¿ÿÿ™¿Àÿ?¿ÿ“"ñ6@¿ ÿÀ¿‚‚N¿NÿN?NðFÆ  ðlŸ¨ line_color¡  ª ¦ø @`€ð) ð) à ðH€äÕ£¿Ìÿÿ¿Àÿ?¿ÿ“"ñ6@¿ ÿÀ¿‚‚N¿NÿN?NðZF ðkŸ¨ edit_view¡  ª ¦ø @`€ð ð( à ðH€ôÞ£¿ÿÌ™¿ Àÿ?¿ÿ“"ñ6@¿ ÿÀ¿‚‚N¿NÿN?Nð1 ¼  ðPŸ¨selected¡  ¦ø @`€ð/ ð' à ðH€é£¿ÿÌ™¿ Àÿ?¿ÿ“"ñ6@¿ ÿÀ¿‚‚N¿NÿN?NðÆ 1  ðqŸ¨row_label_width¡ª¦ø @`€ð* ð& à ðH€,㣿ÿÿ™¿Àÿ?¿ÿ“"ñ6@¿ ÿÀ¿‚‚N¿NÿN?NðF Æ  ðlŸ¨ label_font¡  ª ¦ø @`€ð) ð% à ðH€hû£¿ÿÌ™¿Àÿ?¿ÿ“"ñ6@¿ ÿÀ¿‚‚N¿NÿN?NðZ F  ðkŸ¨ deletable¡  ª ¦ø @`€ð  ð$ à ðH€¬¿ÿÌ™¿Àÿ?¿ÿ“"ñ6@¿ ÿÀ¿‚‚N¿NÿN?Nð1 ¼  ðOŸ¨reverse¡¦ø @`€ð. ð# à ðH€ ¬¿ÿÌÿ¿Àÿ?¿ÿ“"ñ6@¿ ÿÀ¿‚‚N¿NÿN?NðÆ 1  ðpŸ¨row_factory_kw¡ª¦ø @`€ð+ ð" à ðH€ä¬¿ÿÿ™¿Àÿ?¿ÿ“"ñ6@¿ ÿÀ¿‚‚N¿NÿN?NðF Æ  ðmŸ¨ label_color¡  ª ¦ø @`€ð ð! à ðH€¨!¬¿ÿÌ™¿Àÿ?¿ÿ“"ñ6@¿ ÿÀ¿‚‚N¿NÿN?NðZ F  ðTŸ¨ configurable¡  ¦ø @`€ð( ð  à ðH€¨*¬¿ÿÌ™¿Àÿ?¿ÿ“"ñ6@¿ ÿÀ¿‚‚N¿NÿN?Nð1 ¼  ðjŸ¨auto_add¡  ª¦ø @`€ð0 ð à ðH€¸3¬¿ÿÌÿ¿Àÿ?¿ÿ“"ñ6@¿ ÿÀ¿‚‚N¿NÿN?NðÆ 1  ðrŸ¨row_factory_args¡ª¦ø @`€ð. ð à ðH€\=¬¿ÿÿ™¿Àÿ?¿ÿ“"ñ6@¿ ÿÀ¿‚‚N¿NÿN?NðF Æ  ðpŸ¨label_bg_color¡ª¦ø @`€ð  ð à ðH€dF¬¿»àã¿Àÿ?¿ÿ“"ñ6@¿ ÿÀ¿‚‚N¿NÿN?NðZ F  ðOŸ¨columns¡¦ø @`€ð( ð à ðH€àO¬¿ÿÌ™¿Àÿ?¿ÿ“"ñ6@¿ ÿÀ¿‚‚N¿NÿN?Nð1 ¼  ðjŸ¨sortable¡  ª¦ø @`€ð+ ð à ðH€Y¬¿ÿÌÿ¿Àÿ?¿ÿ“"ñ6@¿ ÿÀ¿‚‚N¿NÿN?NðÆ 1  ðmŸ¨ row_factory¡  ª ¦ø @`€ð  ð à ðH€$b¬¿»àã¿Àÿ?¿ÿ“"ñ6@¿ ÿÀ¿‚‚N¿NÿN?NðF Æ  ðOŸ¨filters¡¦ø @`€ð3 ð à ðH€`k¬¿ÿÌ™¿ Àÿ?¿ÿ“"ñ6@¿ ÿÀ¿‚‚N¿NÿN?NðZ F  ðuŸ¨column_label_height¡ª¦ø @`€ð* ð à ðH€Hu¬¿ÿÌ™¿Àÿ?¿ÿ“"ñ6@¿ ÿÀ¿‚‚N¿NÿN?Nð1¼  ðlŸ¨ sort_model¡  ª ¦ø @`€ð- ð à ðH€œ~¬¿»àã¿Àÿ?¿ÿ“"ñ6@¿ ÿÀ¿‚‚N¿NÿN?NðÆ 1  ðoŸ¨ other_columns¡ª ¦ø @`€ð  ð à ðH€„‡¬¿»àã¿Àÿ?¿ÿ“"ñ6@¿ ÿÀ¿‚‚N¿NÿN?NðFÆ  ðNŸ¨filter¡¦ø @`€ð7 ð à ðH€È¬¿ÿÿ™¿Àÿ?¿ÿ“"ñ6@¿ ÿÀ¿‚‚N¿NÿN?NðZF  ðyŸ¨cell_read_only_bg_color¡ª¦ø @`€ð* ð à ðH€°š¬¿ÿÌ™¿Àÿ?¿ÿ“"ñ6@¿ ÿÀ¿‚‚N¿NÿN?Nð1¼ ðlŸ¨ show_lines¡  ª ¦ø @`€ð ð à ðH€¤¬¿ÿÌ™¿ Àÿ?¿ÿ“"ñ6@¿ ÿÀ¿‚‚N¿NÿN?NðÆ 1 ðSŸ¨ orientation¡  ¦ø @`€ð ð à ðH€œ­¬¿ÿÌ™¿Àÿ?¿ÿ“"ñ6@¿ ÿÀ¿‚‚N¿NÿN?NðFÆ  ðPŸ¨editable¡  ¦ø @`€ð) ð à ðH€È¶¬¿ÿÿ™¿Àÿ?¿ÿ“"ñ6@¿ ÿÀ¿‚‚N¿NÿN?NðZF ðkŸ¨ cell_font¡  ª ¦ø @`€ð2 ð à ðH€ô¿¬¿ÿÌ™¿Àÿ?¿ÿ“"ñ6@¿ ÿÀ¿‚‚N¿NÿN?Nð1¼ ðtŸ¨show_column_labels¡ª¦ø @`€ð) ð à ðH€Hɬ¿ÝÝÝ¿Àÿ?¿ÿ“"ñ6@¿ ÿÀ¿‚‚N¿NÿN?NðÆ 1 ðkŸ¨ on_select¡  ª ¦ø @`€ð/ ð à ðH€Ó¬¿Ìÿÿ¿Àÿ?¿ÿ“"ñ6@¿ ÿÀ¿‚‚N¿NÿN?NðFÆ  ðqŸ¨edit_view_width¡ª¦ø @`€ð* ð  à ðH€Í¬¿ÿÿ™¿Àÿ?¿ÿ“"ñ6@¿ ÿÀ¿‚‚N¿NÿN?NðZF ðlŸ¨ cell_color¡  ª ¦ø @`€ð/ ð  à ðH€x嬿ÿÿ™¿Àÿ?¿ÿ“"ñ6@¿ ÿÀ¿‚‚N¿NÿN?Nð1¼ ðqŸ¨selection_color¡ª¦ø @`€ð) ð  à ðH€ôÝÝÝ¿Àÿ?¿ÿ“"ñ6@¿ ÿÀ¿‚‚N¿NÿN?NðÆ 1 ðkŸ¨ on_dclick¡  ª ¦ø @`€ð0 ð  à ðH€¼ø¬¿Ìÿÿ¿Àÿ?¿ÿ“"ñ6@¿ ÿÀ¿‚‚N¿NÿN?NðFÆ  ðrŸ¨edit_view_height¡ª¦ø @`€ð- ð  à ðH€­¿ÿÿ™¿Àÿ?¿ÿ“"ñ6@¿ ÿÀ¿‚‚N¿NÿN?NðZF ðoŸ¨ cell_bg_color¡ª ¦ø @`€ð2 ð à ðH€<­¿ÿÿ™¿Àÿ?¿ÿ“"ñ6@¿ ÿÀ¿‚‚N¿NÿN?Nð1ú¼ ðtŸ¨selection_bg_color¡ª¦ø @`€ð  ð à ðH€ô­¿ÝÝÝ¿Àÿ?¿ÿ“"ñ6@¿ ÿÀ¿‚‚N¿NÿN?NðÆ ú1 ðMŸ¨menu ¡¦ø @`€ð1 ð à ðH€$­¿Ìÿÿ¿Àÿ?¿ÿ“"ñ6@¿ ÿÀ¿‚‚N¿NÿN?NðFúÆ  ðsŸ¨edit_view_handler¡ª¦ø @`€ð* ð à ðH€d(­¿ÿÌ™¿Àÿ?¿ÿ“"ñ6@¿ ÿÀ¿‚‚N¿NÿN?NðZúF ðlŸ¨ auto_size ¡  ª ¦ø @`€ð¶B ð- Ó ðN…‡¿¿ÀËŸo×ÿ ?¿ÿƒ"ñ0@ÿ€¿‚‚N¿NÿN?NðZú¼úð°B ð. à ðH…‡¿¿ÀËœ1ÿ ?¿ÿƒ"ñ0@ÿ€¿‚‚N¿NÿN?NðZ¼ð°B ð/ à ðH…‡¿¿ÀËœ1ÿ ?¿ÿƒ"ñ0@ÿ€¿‚‚N¿NÿN?NðZ¼ð°B ð0 à ðH…‡¿¿ÀËœ1ÿ ?¿ÿƒ"ñ0@ÿ€¿‚‚N¿NÿN?NðZ¼ð°B ð1 à ðH…‡¿¿ÀËœ1ÿ ?¿ÿƒ"ñ0@ÿ€¿‚‚N¿NÿN?NðZ¼ð°B ð2 à ðH…‡¿¿ÀËœ1ÿ ?¿ÿƒ"ñ0@ÿ€¿‚‚N¿NÿN?NðZ ¼ ð°B ð3 à ðH…‡¿¿ÀËœ1ÿ ?¿ÿƒ"ñ0@ÿ€¿‚‚N¿NÿN?NðZ ¼ ð°B ð4 à ðH…‡¿¿ÀËœ1ÿ ?¿ÿƒ"ñ0@ÿ€¿‚‚N¿NÿN?NðZ ¼ ð°B ð5 à ðH…‡¿¿ÀËœ1ÿ ?¿ÿƒ"ñ0@ÿ€¿‚‚N¿NÿN?NðZ ¼ ð°B ð6 à ðH…‡¿¿ÀËœ1ÿ ?¿ÿƒ"ñ0@ÿ€¿‚‚N¿NÿN?NðZ ¼ ð¶B ð7 Ó ðN…‡¿¿ÀËŸo×ÿ ?¿ÿƒ"ñ0@ÿ€¿‚‚N¿NÿN?NðZ¼ð¶B ð8 Ó ðN…‡¿¿ÀËŸo×ÿ ?¿ÿƒ"ñ0@ÿ€¿‚‚N¿NÿN?NðZúZð°B ð9 à ðH…‡¿¿ÀËœ1ÿ ?¿ÿƒ"ñ0@ÿ€¿‚‚N¿NÿN?NðFúFð°B ð: à ðH…‡¿¿ÀËœ1ÿ ?¿ÿƒ"ñ0@ÿ€¿‚‚N¿NÿN?NðÆ úÆ ð°B ð; à ðH…‡¿¿ÀËœ1ÿ ?¿ÿƒ"ñ0@ÿ€¿‚‚N¿NÿN?Nð1ú1ð¶B ð< Ó ðN…‡¿¿ÀËŸo×ÿ ?¿ÿƒ"ñ0@ÿ€¿‚‚N¿NÿN?Nð¼ú¼ð°B ð¯ à ðH…‡¿¿ÀËœ1ÿ ?¿ÿƒ"ñ0@ÿ€¿‚‚N¿NÿN?NðZ¼ðH ð ƒ ð0ƒ“ŽŸ‹”Þ½h¿ÿ ?ð ÿÿÿ€€€»àã33™™™™Ìˆ8Š0º___PPT10‹ë.ԳŸÐî$ï € 0 ”ðŒðð$ð( ð ððr ð S ð€­¿ÿð0@ðà  ­ ð žðr ð S ð€´­¿ÿðð `½ðà ­ ð žðH ð ƒ ð0ƒ“ŽŸ‹”Þ½h¿ÿ ?ð ÿÿÿ€€€»àã33™™™™Ìˆ8Š0º___PPT10‹ë.æ¯Å°è.…î$ï € 0 ”ðŒ@ð˜ð$ð( ð ð˜ðr ð˜ S ð€ˆG­¿ÿð0@ðà  ­ ð žðr ð˜ S ð€`H­¿ÿðu[pðà ­ ð žðH 𘠃 ð0ƒ“ŽŸ‹”Þ½h¿ÿ ?ð ÿÿÿ€€€»àã33™™™™Ìˆ8Š0º___PPT10‹ë.߳ŀá`Ýî$ï € 0 ”ðŒPðœð$ð( ð ðœðr ðœ S ð€Ø^­¿ÿð0@ðà  ­ ð žðr ðœ S ð€lP­¿ÿðð `ðà ­ ð žðH 𜠃 ð0ƒ“ŽŸ‹”Þ½h¿ÿ ?ð ÿÿÿ€€€»àã33™™™™Ìˆ8Š0º___PPT10‹ë.â³Å {žî$ï € 0 ”ðŒ`ð ð$ð( ð ð ðr ð  S ð€xj­¿ÿð0@ðà  ­ ð žðr ð  S ð€Ÿ Ã2 éèéééèéééèéðCIçCðà ²ð+ ð à ðH€d,²¿ÿÿ™¿Àÿ?¿ÿ“"ñ6@¿ ÿÀ¿‚‚N¿NÿN?NðpZçC ðmŸ¨%Layout orientation of tree and editor¡&&¦ø @`€ð ð à ðH€ˆ0²¿ÿÿ™¿Àÿ?¿ÿ“"ñ6@¿ ÿÀ¿‚‚N¿NÿN?NðIZpC ðSŸ¨ orientation¡  ¦ø @`€ð* ð à ðH€<:²¿ÿÌ™¿ Àÿ?¿ÿ“"ñ6@¿ ÿÀ¿‚‚N¿NÿN?Nðpr çZ ðlŸ¨$Called when a node is double clicked¡%%¦ø @`€ð) ð à ðH€ÈJ²¿ÿÌ™¿ Àÿ?¿ÿ“"ñ6@¿ ÿÀ¿‚‚N¿NÿN?NðIr pZ ðkŸ¨ on_dclick¡  ª ¦ø @`€ð$ ð à ðH€ôS²¿ÿÌ™¿ Àÿ?¿ÿ“"ñ6@¿ ÿÀ¿‚‚N¿NÿN?Nðp‰ çr  ðfŸ¨Called when a node is selected¡¦ø @`€ð) ð à ðH€„]²¿ÿÌ™¿ Àÿ?¿ÿ“"ñ6@¿ ÿÀ¿‚‚N¿NÿN?NðI‰ pr  ðkŸ¨ on_select¡  ª ¦ø @`€ð! ð à ðH€ŒN²¿ÿÿ™¿Àÿ?¿ÿ“"ñ6@¿ ÿÀ¿‚‚N¿NÿN?Nðp  ç‰  ðcŸ¨Size of the tree node icons¡¦ø @`€ð) ð à ðH€°o²¿ÿÿ™¿Àÿ?¿ÿ“"ñ6@¿ ÿÀ¿‚‚N¿NÿN?NðI  p‰  ðkŸ¨ icon_size¡  ª ¦ø @`€ð* ð à ðH€$r²¿ÿÌ™¿Àÿ?¿ÿ“"ñ6@¿ ÿÀ¿‚‚N¿NÿN?Nðp· ç   ðlŸ¨$Should the tree root node be hidden?¡%%¦ø @`€ð) ð à ðH€Hƒ²¿ÿÌ™¿Àÿ?¿ÿ“"ñ6@¿ ÿÀ¿‚‚N¿NÿN?NðI· p   ðkŸ¨ hide_root¡  ª ¦ø @`€ð# ð à ðH€pŒ²¿ÿÌ™¿Àÿ?¿ÿ“"ñ6@¿ ÿÀ¿‚‚N¿NÿN?NðpÏ ç·  ðeŸ¨Should tree nodes have icons?¡¦ø @`€ð* ð à ðH€x•²¿ÿÌ™¿Àÿ?¿ÿ“"ñ6@¿ ÿÀ¿‚‚N¿NÿN?NðIÏ p·  ðlŸ¨ show_icons¡  ª ¦ø @`€ð# ð à ðH€dŸ²¿ÿÌ™¿ Àÿ?¿ÿ“"ñ6@¿ ÿÀ¿‚‚N¿NÿN?NðpæçÏ  ðeŸ¨Ref to a shared object editor¡¦ø @`€ð  ð  à ðH€4²¿ÿÌ™¿ Àÿ?¿ÿ“"ñ6@¿ ÿÀ¿‚‚N¿NÿN?NðIæpÏ  ðNŸ¨editor¡¦ø @`€ð( ð  à ðH€¸±²¿ÿÌ™¿Àÿ?¿ÿ“"ñ6@¿ ÿÀ¿‚‚N¿NÿN?Nðpýçæ ðjŸ¨"Is the editor shared across trees?¡##¦ø @`€ð- ð  à ðH€ »²¿ÿÌ™¿Àÿ?¿ÿ“"ñ6@¿ ÿÀ¿‚‚N¿NÿN?NðIýpæ ðoŸ¨ shared_editor¡ª ¦ø @`€ð0 ð  à ðH€(½²¿ÿÌ™¿Àÿ?¿ÿ“"ñ6@¿ ÿÀ¿‚‚N¿NÿN?Nðpçý ðrŸ¨"Are the individual nodes editable?¡#"¦ø @`€ð ð  à ðH€$β¿ÿÌ™¿Àÿ?¿ÿ“"ñ6@¿ ÿÀ¿‚‚N¿NÿN?NðIpý ðPŸ¨editable¡  ¦ø @`€ð] ð à ðH€Üϲ¿ÿÌ™¿ Àÿ?¿ÿ“"ñ6@¿ ÿÀ¿‚‚N¿NÿN?Nðp,ç 🟨#(TreeNode,...) -> MultiTreeNode map¡$$ª, ¦ø @`€ð+ ð à ðH€ÐᲿÿÌ™¿ Àÿ?¿ÿ“"ñ6@¿ ÿÀ¿‚‚N¿NÿN?NðI,p ðmŸ¨ multi_nodes¡  ª ¦ø @`€ðB ð à ðH€è벿»àã¿Àÿ?¿ÿ“"ñ6@¿ ÿÀ¿‚‚N¿NÿN?NðpCç, ð„Ÿ¨Supported TreeNode objects¡ª  ¦ø @`€ð  ð à ðH€d䲿»àã¿Àÿ?¿ÿ“"ñ6@¿ ÿÀ¿‚‚N¿NÿN?NðICp, ðOŸ¨ nodes ¡¦ø @`€ð¶B ð Ó ðN…‡¿¿ÀËŸo×ÿ ?¿ÿƒ"ñ0@ÿ€¿‚‚N¿NÿN?NðICçCð°B ð à ðH…‡¿¿ÀËœ1ÿ ?¿ÿƒ"ñ0@ÿ€¿‚‚N¿NÿN?NðI,ç,ð°B ð à ðH…‡¿¿ÀËœ1ÿ ?¿ÿƒ"ñ0@ÿ€¿‚‚N¿NÿN?NðIçð°B ð à ðH…‡¿¿ÀËœ1ÿ ?¿ÿƒ"ñ0@ÿ€¿‚‚N¿NÿN?NðIýçýð°B ð à ðH…‡¿¿ÀËœ1ÿ ?¿ÿƒ"ñ0@ÿ€¿‚‚N¿NÿN?NðIæçæð°B ð  à ðH…‡¿¿ÀËœ1ÿ ?¿ÿƒ"ñ0@ÿ€¿‚‚N¿NÿN?NðIÏ çÏ ð°B ð! à ðH…‡¿¿ÀËœ1ÿ ?¿ÿƒ"ñ0@ÿ€¿‚‚N¿NÿN?NðI· ç· ð°B ð" à ðH…‡¿¿ÀËœ1ÿ ?¿ÿƒ"ñ0@ÿ€¿‚‚N¿NÿN?NðI  ç  ð°B ð# à ðH…‡¿¿ÀËœ1ÿ ?¿ÿƒ"ñ0@ÿ€¿‚‚N¿NÿN?NðI‰ ç‰ ð°B ð$ à ðH…‡¿¿ÀËœ1ÿ ?¿ÿƒ"ñ0@ÿ€¿‚‚N¿NÿN?NðIr çr ð°B ð% à ðH…‡¿¿ÀËœ1ÿ ?¿ÿƒ"ñ0@ÿ€¿‚‚N¿NÿN?NðIZçZð¶B ð& Ó ðN…‡¿¿ÀËŸo×ÿ ?¿ÿƒ"ñ0@ÿ€¿‚‚N¿NÿN?NðICçCð¶B ð' Ó ðN…‡¿¿ÀËŸo×ÿ ?¿ÿƒ"ñ0@ÿ€¿‚‚N¿NÿN?NðICICð°B ð( à ðH…‡¿¿ÀËœ1ÿ ?¿ÿƒ"ñ0@ÿ€¿‚‚N¿NÿN?NðpCpCð¶B ð) Ó ðN…‡¿¿ÀËŸo×ÿ ?¿ÿƒ"ñ0@ÿ€¿‚‚N¿NÿN?NðçCçCðH ð ƒ ð0ƒ“ŽŸ‹”Þ½h¿ÿ ?ð ÿÿÿ€€€»àã33™™™™Ìˆ8Š0º___PPT10‹ë.˜´Å0ÄLÈî$ï € 0 ”ðŒ0ðð$ð( ð ððr ð S ð€¬¶¿ÿð0@ðà  ¶ ð žðr ð S ð€¨^²¿ÿðð `îðà ¶ ð žðH ð ƒ ð0ƒ“ŽŸ‹”Þ½h¿ÿ ?ð ÿÿÿ€€€»àã33™™™™Ìˆ8Š0º___PPT10‹ë.´Å`Xù î/#ï € 0 Ÿ"ð—"ð%Eð/"ð( ð ððr ð S ð€”¶¿ÿð0@ðà  ¶ ð žðx ð c ð$€<¶¿ÿðð HÐðà ¶ ð žðý ð” ðkó[ù  ðE ð#"ñ.Ÿ Ã"&$&&&$&ðók[ù ðà ¶ð  ð à ðH€¤¶¿ÿÌ™¿ Àÿ?¿ÿ“"ñ6@¿ ÿÀ¿‚‚N¿NÿN?Nð Ó [ù  ðLŸ¨view¡¦ø @`€ð  ð à ðH€ì)¶¿ÿÌ™¿ Àÿ?¿ÿ“"ñ6@¿ ÿÀ¿‚‚N¿NÿN?Nð» Ó ù  ðLŸ¨menu¡¦ø @`€ð ð à ðH€¨9¶¿ÿÌÿ¿Àÿ?¿ÿ“"ñ6@¿ ÿÀ¿‚‚N¿NÿN?NðkÓ » ù  ðQŸ¨ formatter¡  ¦ø @`€ð  ð à ðH€(2¶¿ÿÌ™¿Àÿ?¿ÿ“"ñ6@¿ ÿÀ¿‚‚N¿NÿN?Nð ¯ [Ó  ðNŸ¨rename¡¦ø @`€ð  ð à ðH€DK¶¿Ìÿÿ¿Àÿ?¿ÿ“"ñ6@¿ ÿÀ¿‚‚N¿NÿN?Nð» ¯ Ó  ðMŸ¨label¡¦ø @`€ð  ð à ðH€LT¶¿ÿÌ™¿Àÿ?¿ÿ“"ñ6@¿ ÿÀ¿‚‚N¿NÿN?Nðk¯ » Ó  ðNŸ¨delete¡¦ø @`€ð) ð à ðH€¨]¶¿ÿÌÿ¿Àÿ?¿ÿ“"ñ6@¿ ÿÀ¿‚‚N¿NÿN?Nð ‰ [¯  ðkŸ¨ on_select¡  ª ¦ø @`€ð  ð à ðH€¸f¶¿ÿÌ™¿Àÿ?¿ÿ“"ñ6@¿ ÿÀ¿‚‚N¿NÿN?Nð» ‰ ¯  ðNŸ¨insert¡¦ø @`€ð  ð à ðH€lo¶¿ÿÌ™¿Àÿ?¿ÿ“"ñ6@¿ ÿÀ¿‚‚N¿NÿN?Nðk‰ » ¯  ðLŸ¨copy¡¦ø @`€ð) ð à ðH€Ty¶¿ÿÌÿ¿Àÿ?¿ÿ“"ñ6@¿ ÿÀ¿‚‚N¿NÿN?Nð c [‰  ðkŸ¨ on_dclick¡  ª ¦ø @`€ð) ð à ðH€¨‚¶¿Ìÿÿ¿Àÿ?¿ÿ“"ñ6@¿ ÿÀ¿‚‚N¿NÿN?Nð» c ‰  ðkŸ¨ icon_path¡  ª ¦ø @`€ð ð à ðH€‹¶¿Ìÿÿ¿Àÿ?¿ÿ“"ñ6@¿ ÿÀ¿‚‚N¿NÿN?Nðkc » ‰  ðPŸ¨children¡  ¦ø @`€ð( ð  à ðH€•¶¿ÝÝÝ¿Àÿ?¿ÿ“"ñ6@¿ ÿÀ¿‚‚N¿NÿN?Nð =[c  ðjŸ¨node_for¡  ª¦ø @`€ð) ð  à ðH€œž¶¿Ìÿÿ¿Àÿ?¿ÿ“"ñ6@¿ ÿÀ¿‚‚N¿NÿN?Nð» = c  ðkŸ¨ icon_open¡  ª ¦ø @`€ð) ð  à ðH€ð§¶¿ÿÌ™¿Àÿ?¿ÿ“"ñ6@¿ ÿÀ¿‚‚N¿NÿN?Nðk=» c  ðkŸ¨ auto_open¡  ª ¦ø @`€ð  ð  à ðH€Ø°¶¿Ìÿÿ¿Àÿ?¿ÿ“"ñ6@¿ ÿÀ¿‚‚N¿NÿN?Nð [= ðLŸ¨name¡¦ø @`€ð* ð  à ðH€º¶¿Ìÿÿ¿Àÿ?¿ÿ“"ñ6@¿ ÿÀ¿‚‚N¿NÿN?Nð»  = ðlŸ¨ icon_group¡  ª ¦ø @`€ð* ð à ðH€ìö¿ÿÌ™¿Àÿ?¿ÿ“"ñ6@¿ ÿÀ¿‚‚N¿NÿN?Nðk» = ðlŸ¨ auto_close¡  ª ¦ø @`€ð ð à ðH€Ô̶¿ÝÝÝ¿Àÿ?¿ÿ“"ñ6@¿ ÿÀ¿‚‚N¿NÿN?Nð ó[ ðTŸ¨move¡¦ø @`€ð) ð à ðH€$Ö¶¿Ìÿÿ¿Àÿ?¿ÿ“"ñ6@¿ ÿÀ¿‚‚N¿NÿN?Nð» ó  ðkŸ¨ icon_item¡  ª ¦ø @`€ð  ð à ðH€ ß¶¿ÝÝÝ¿Àÿ?¿ÿ“"ñ6@¿ ÿÀ¿‚‚N¿NÿN?Nðkó»  ðKŸ¨add¡¦ø @`€ð¶B ð Ó ðN…‡¿¿ÀËŸo×ÿ ?¿ÿƒ"ñ0@ÿ€¿‚‚N¿NÿN?Nðkó[óð°B ð à ðH…‡¿¿ÀËœ1ÿ ?¿ÿƒ"ñ0@ÿ€¿‚‚N¿NÿN?Nðk[ð°B ð à ðH…‡¿¿ÀËœ1ÿ ?¿ÿƒ"ñ0@ÿ€¿‚‚N¿NÿN?Nðk=[=ð°B ð à ðH…‡¿¿ÀËœ1ÿ ?¿ÿƒ"ñ0@ÿ€¿‚‚N¿NÿN?Nðkc [c ð°B ð à ðH…‡¿¿ÀËœ1ÿ ?¿ÿƒ"ñ0@ÿ€¿‚‚N¿NÿN?Nðk‰ [‰ ð°B ð à ðH…‡¿¿ÀËœ1ÿ ?¿ÿƒ"ñ0@ÿ€¿‚‚N¿NÿN?Nðk¯ [¯ ð°B ð  à ðH…‡¿¿ÀËœ1ÿ ?¿ÿƒ"ñ0@ÿ€¿‚‚N¿NÿN?NðkÓ [Ó ð¶B ð! Ó ðN…‡¿¿ÀËŸo×ÿ ?¿ÿƒ"ñ0@ÿ€¿‚‚N¿NÿN?Nðkù [ù ð¶B ð" Ó ðN…‡¿¿ÀËŸo×ÿ ?¿ÿƒ"ñ0@ÿ€¿‚‚N¿NÿN?Nðkókù ð°B ð# à ðH…‡¿¿ÀËœ1ÿ ?¿ÿƒ"ñ0@ÿ€¿‚‚N¿NÿN?Nð» ó» ù ð°B ð$ à ðH…‡¿¿ÀËœ1ÿ ?¿ÿƒ"ñ0@ÿ€¿‚‚N¿NÿN?Nð ó ù ð¶B ð% Ó ðN…‡¿¿ÀËŸo×ÿ ?¿ÿƒ"ñ0@ÿ€¿‚‚N¿NÿN?Nð[ó[ù ðH ð ƒ ð0ƒ“ŽŸ‹”Þ½h¿ÿ ?ð ÿÿÿ€€€»àã33™™™™Ìˆ8Š0º___PPT10‹ë.š´Å@:pïî$ï € 0 ”ðŒ@ðð$ð( ð ððr ð S ð€ï¶¿ÿð0@ðà  ¶ ð žðr ð S ð€0Ͷ¿ÿðð `ðà ¶ ð žðH ð ƒ ð0ƒ“ŽŸ‹”Þ½h¿ÿ ?ð ÿÿÿ€€€»àã33™™™™Ìˆ8Š0º___PPT10‹ë.Ÿ´Åàç7îžï € 0 ðPð ðžð( ð ð ðr ð  S ð€Àþ¶¿ÿð0@ðà  ¶ ð žðr ð  S ð€˜ÿ¶¿ÿðð `Þðà ¶ ð žðr¢ ð  Ó ðN€, ·…‡¿ÿÌ™¿ Àÿ?¿ÿ“"ñ6@¿ ÿÀ¿‚‚N¿NÿN?Nðãb† • ð¶Ÿ zclass Employee ( HasTraits ): name = Str( '<unknown>' ) title = Str phone = Regex( regex = r'\d\d\d-\d\d\d\d' ) def default_title ( self ): self.title = 'Senior Engineer class Department ( HasTraits ): name = Str( '<unknown>' ) employees = List( Employee ) class Company ( HasTraits ): name = Str( '<unknown>' ) departments = List( Department ) employees = List( Employee ) class Partner ( HasTraits ): name = Str( '<unknown>' ) company = Instance( Company )¡>>ª !  ) C s 3ðH ð  ƒ ð0ƒ“ŽŸ‹”Þ½h¿ÿ ?ð ÿÿÿ€€€»àã33™™™™Ìˆ8Š0º___PPT10‹ë.¡´Å@KÅîÚ ï € 0 J ðB `ð$ðÚ ð( ð ð$ðr ð$ S ð€$·¿ÿð0@ðà  · ð žðr ð$ S ð€ü·¿ÿðÜ `Êðà · ð žðä¢ ð$ Ó ðN€H·…‡¿ÿÌ™¿ Àÿ?¿ÿ“"ñ6@¿ ÿÀ¿‚‚N¿NÿN?Nð RÁ¦  ð(Ÿ¨*no_view = View() tree_editor = TreeEditor( nodes = [ TreeNode( node_for = [ Company ], auto_open = True, children = '', label = 'name', view = View( [ 'name' ] ), TreeNode( node_for = [ Company ], auto_open = True, children = 'departments', label = '=Departments', view = no_view, add = [ Department ] ), ¡++ªÆ  # |# Ž?ð¢ ð$ Ó ðN€0·…‡¿ÿÌ™¿ Àÿ?¿ÿ“"ñ6@¿ ÿÀ¿‚‚N¿NÿN?Nðuž ‡¼  ðŸ¨æ TreeNode( node_for = [ Company ], auto_open = True, children = 'employees', label = '=Employees', view = no_view, add = [ Employee ] ), TreeNode( node_for = [ Department ], auto_open = True, children = 'employees', label = 'name', view = View( [ 'name' ] ), add = [ Employee ] ), TreeNode( node_for = [ Employee ], auto_open = True, label = 'name', view = View( [ 'name', 'title', 'phone' ] ) ) ] ) ¡çæªà# Š<& „J$ W(ðH ð$ ƒ ð0ƒ“ŽŸ‹”Þ½h¿ÿ ?ð ÿÿÿ€€€»àã33™™™™Ìˆ8Š0º___PPT10‹ë.¢´Å€³­Üîðï € 0 `ðXpð(ððð( ð ð(ðr ð( S ð€L·¿ÿð0@ðà  · ð žðr ð( S ð€8M·¿ÿðð `ðà · ð žðÄ¢ ð( Ó ðN€ÌO·…‡¿ÿÌ™¿ Àÿ?¿ÿ“"ñ6@¿ ÿÀ¿‚‚N¿NÿN?Nð>/:  🠮view = View( Group( Item( name = 'company', editor = tree_editor, resizable = True ), show_labels = False), title = 'Company Structure', buttons = [  OK ,  Cancel ], resizable = True, width = .3, height = .3 ) ª>b d ñðH ð( ƒ ð0ƒ“ŽŸ‹”Þ½h¿ÿ ?ð ÿÿÿ€€€»àã33™™™™Ìˆ8Š0º___PPT10‹ë.¤´ÅðO» î® ï € 0  ð €ð,ð® ð( ð ð,ðr ð, S ð€àa·¿ÿð0@ðà  · ð žðx ð, c ð$€¸b·¿ÿðð &Êðà · ð žð|² ð,0 S ð0e‚˜²ƒ0e„˜²…‡ˆ‰¿A 7 ô   ?€ÿÌ™‚ƒÿÿÿ„… †A‡Áˆ‰Š‹ŒŽ‘’“”•–—Á˜™š›œ@¿ ÀÁà ÄÅAÆÁÇÈÉÊË5%ÌÍÎÏÁ×ÿËËË 8c8c     ?€‚ƒœ1„…ðù†‡÷ˆ ¿ÀÁÂdÃÄÅÆÇÈÉÊ0uËÐÌ0íìÿÍ@T‰Î€Ï€ÿÿÐyÿÑ2Ò NÓPÃÔÕ'Öp”×°<ÿÿØÙ'Úp”ÿA¨)BCD|¾E„|¾…†|¾‡s "ñ Œ0e@žÿÿÿÿŸÿÿÿÿ  ¡Á¢ÿÿÿÿ£ÿÿÿÿ¤ ¥Á¦ÿÿÿÿ§ÿÿÿÿ¿ ÙÿÿÿÿÚÿÿÿÿÛ ÜÁÝÿÿÿÿÞÿÿÿÿß àÁáÿÿÿÿâÿÿÿÿÿÀÿÿÿÿÿÿÿÿ Âÿÿÿÿÿÿÿÿ Âÿÿÿÿÿÿÿÿ‰ÿÿÿÿŠÿÿÿÿ‹ ŒÂÿÿÿÿ‘’¿‚‚@ABÿÿÿC DEEFÅGHIJK5%LMNOÅPQRSTUWYÿÿÿÿZÿÿÿÿ[ \Å]ÿÿÿÿ^ÿÿÿÿ_ `ÅaÿÿÿÿbÿÿÿÿN€‚ÿÿÿƒ „…E†Å‡ˆ‰Š‹5%ŒŽÅ‘’“”•—™ÿÿÿÿšÿÿÿÿ› œÅÿÿÿÿžÿÿÿÿŸ  Å¡ÿÿÿÿ¢ÿÿÿÿ¿NÀÁÂÿÿÿà ÄÅEÆÅÇÈÉÊË5%ÌÍÎÏÅÐÑÒÓÔÕ×ÙÿÿÿÿÚÿÿÿÿÛ ÜÅÝÿÿÿÿÞÿÿÿÿß àÅáÿÿÿÿâÿÿÿÿÿNÿÿÿ FÆ   5%  Æÿÿÿÿÿÿÿÿ Æÿÿÿÿÿÿÿÿ Æ!ÿÿÿÿ"ÿÿÿÿ?N@ABÿÿÿC DEFFÆGHIJK5%LMNOÆPQRSTUWYÿÿÿÿZÿÿÿÿ[ \Æ]ÿÿÿÿ^ÿÿÿÿ_ `Æaÿÿÿÿbÿÿÿÿð³²¢' ðÁ 7à ·ðH ð, ƒ ð0ƒ“ŽŸ‹”Þ½h¿ÿ ?ð ÿÿÿ€€€»àã33™™™™Ìˆ8Š0º___PPT10‹ë.¤´Å0]f‚î$ï € 0 ”ðŒðÈð$ð( ð ðÈðr ðÈ S ð€Øm·¿ÿð0@ðà  · ð žðr ðÈ S ð€°n·¿ÿðð `ðà · ð žðH ðÈ ƒ ð0ƒ“ŽŸ‹”Þ½h¿ÿ ?ð ÿÿÿ€€€»àã33™™™™Ìˆ8Š0º___PPT10‹ë.ׯÅ ÔÎêî$ï € 0 ”ðŒ ðÌð$ð( ð ðÌðr ðÌ S ð€y·¿ÿð0@ðà  · ð žðr ðÌ S ð€Øy·¿ÿðð `ðà · ð žðH ðÌ ƒ ð0ƒ“ŽŸ‹”Þ½h¿ÿ ?ð ÿÿÿ€€€»àã33™™™™Ìˆ8Š0º___PPT10‹ë.دÅ z@·î$ï € 0 ”ðŒ0ðÐð$ð( ð ðÐðr ðÐ S ð€´ˆ·¿ÿð0@ðà  · ð žðr ðÐ S ð€x‰·¿ÿðð `ðà · ð žðH ðÐ ƒ ð0ƒ“ŽŸ‹”Þ½h¿ÿ ?ð ÿÿÿ€€€»àã33™™™™Ìˆ8Š0º___PPT10‹ë.Ú¯ÅPFO"p>xœì @eÿÇ ¥è¾ì¾ï[»SS2‰4MóNó 5Ó2²·ûPßÞn:­^­´þ]šJ—ijÚky ˆeBšw*ºÿÏì,ð,¶*¸ |Ÿ>š™ýíìwŸÙcqê¹c“OXnøµëúÆ.ÏFǼc°^é…à ãpÃcr—Çã1gÕÇÙÞõbˆa$Œ‡àa,t8GâQx4ƒÇb#<=jÕÚvâ®Pï„ZÈÚmÆþK4N3ZƒùÿPã!ÿ(Øm;–g»s{Á¬³+Èå‚m{zûUÝÜ|ûUùø›¯3¿|üàÔn‹Žøì2ܸø,粋λuŤ¹a‡’ë-}óZqëæíðþ½Owß8Ò¨f¾&™¯=ÁÞÿãÍ×­ˆƒ¼ÓaÆ­Æ n}oÛA¼"îMýöý¿žïö;PùÜÿ˼ÿߎۋÛ?Ô¼Ýz§K×3Ÿ“;÷Àà oÀàaæ1àõÛwŸÌ>±†ùØ›ûF­ñ<O“ñ<OÃÓñ <̓ål<ÏÅóð|¼/Ä‹ðb¼/E³N± ^ŽWà•x^×àµx6ÅfØÜ0û6†Ñ°ŽÁ(¼Á0Cø[c4Þ„1x3¶Á¶x ¶Ãöx+vÀކù2ŒNØ»`Wì†Ý±ÞŽ=±Þ½±öÅ~‹wb4ÄxÆáÝ 8ïÁÁ8ïÅûp(šÏœD|‡áƒø/4ŸÍã#ø(>†ãø$>…Oãp#ñßø þŸÅçðy|_Ä—ðeLÂWðU| _Ç7ðM…oáÛøþGã|ßÃ÷q,ŽÃðCü?ü?ÆOðSü Çãü'â$œŒÉø~‰_á×ø NÁoq*NÃïp:ÎÀï1gâ,œ?àœ‹?âÿpþ„?ã|\€ q¦âbLÃtÌÀ_0³p fãRüÃeø;þ9˜‹fÇ{®ÄU˜‡«1 °×`㟸×á_¸7àFÜ„›q nÅ¿qnÇX‚;qzƒ‚ÀÃzXÀpl€ 1ă0ÆCðP< Ç#ðH< ÆcðXl„Çáñxžˆ'áÉx žŠ§áéxž‰gáÙxž‹çáùx^ˆáÅx ^Š—acl‚—ãx%^…Wã5x-^‡M±6Çë±¶Ä(¼[áØ£ñ&ŒÁ›± ¶Å[°¶Ç[±vÄÛ°vÆ.Ø»awì·cOì…w`oìƒ}±ÆâØà@¼ ãðnŒÇ„÷à`‚÷â}8ïÇD|‡áƒø/|ÆGðQ| Ç'ðI| ŸÆá8Gâ¿ñü>‹Ïáóø¾ˆ/ᢄ¯à«ø¾Žoà›8 ß·ñü/ŽÆ1ø.¾‡ïãX‡à‡øø~ŒŸà§øŽÇ ø9NÄI8“ñ ü¿Â¯ñœ‚ßâTœ†ßátœßc ÎÄY8À98Äÿá<ü Æù¸â"LÅŘ†é˜¿`&fáÌÆ¥ø+þ†Ëðwüs0—ã \‰«0Wc>`!®Á",Æ?q-®Ã¿p=nÀ¸ 7ãÜŠã6ÜŽ;°wâ.ôvÖè8™§zXÀpl€ 1ă0ÆCðP< Ç#ðH< ÆcðXl„Çáñxžˆ'áÉx žŠ§áéxž‰gáÙxž‹çáùx^ˆáÅx ^Š—acl‚—ãx%^…Wã5x-^‡M±6Çë±¶Ä(¼[áØ£ñ&ŒÁ›± ¶Å[°¶Ç[±vÄÛ°vÆ.Ø»awì·cOì…w`oìƒ}±ÆâØà@¼ ãðnŒÇ„÷à`‚÷â}8ïÇD|‡áƒø/|ÆGðQ| Ç'ðI| ŸÆá8Gâ¿ñü>‹Ïáóø¾ˆ/ᢄ¯à«ø¾Žoà›8 ß·ñü/ŽÆ1ø.¾‡ïãX‡à‡øø~ŒŸà§øŽÇ ø9NÄI8“ñ ü¿Â¯ñœ‚ßâTœ†ßátœßc ÎÄY8À98Äÿá<ü Æù¸â"LÅŘ†é˜¿`&fáÌÆ¥ø+þ†Ëðwüs0—ã \‰«0Wc>`!®Á",Æ?q-®Ã¿p=nÀ¸ 7ãÜŠã6ÜŽ;°wâ.ô ù¦0¬‡õñ ÇØ#ð@<#ñ`<ÅÃðp<Ä£ðh<ÅFx'à‰xžŒ§à©xžŽgà™xžçà¹xžà…x^Œ—à¥x6Æ&x9^WâUx5^ƒ×âuØ›as¼[`KŒÂ°Þˆ­1o¼Û`[¼Ûa{¼;`G¼ ;agì‚]±vÇx;öÄ^xöÆ>Øûa,Þ‰ýqÄ»0ïÆxLÀAxÆ!x/Þ‡Cñ~LÄp>ˆÿ‡ða|ÅÇðq|ŸÄ§ðiŽ#p$þŸÁÿà³ø>/à‹ø¾ŒIø ¾Š¯áëø¾‰£ð-|ßÁÿâhƒïâ{ø>ŽÅqø~ˆÿ‡áÇø ~ŠŸáxœ€ŸãDœ„“1¿À/ñ+ü¿Á)ø-NÅiøNÇø=¦àLœ…³ñœƒsñGüÎßðgœ p!.ÂT\Œi˜Žø fb.Ál\Š¿âo¸ Ç?0sq9®À•¸ óp5æcâ,Âbü×â:ü ×ã܈›p3nÁ­ø7nÃí¸Kp'îBšƒõaXë㎠°!FàxFâÁxЇááx‰GáÑx ‹ð8<OÀñ$<OÁSñ4<ÏÀ3ñ,<ÏÁsñ<</À ñ"¼/ÁKñ2lŒMðr¼¯Ä«ðj¼¯Åë°)6Ãæx=¶À–…7`+¼[c4Þ„1x3¶Á¶x ¶Ãöx+vÀŽxvÂÎØ»b7ìŽ=ðv쉽ðì}°/öÃX¼ûãˆwaÞñ˜€ƒðŒCð^¼‡âý˜ˆà0|ÿ…áÃø>Šáãø>‰OáÓ8GàHü7>ƒÿÁgñ9|_Àñ%|“ð|_Ã×ñ |Gá[ø6¾ƒÿÅÑ8ßÅ÷ð}‹ãðüÿ?Âñü?Ãñ8?lj8 'c2~_âWø5~ƒSð[œŠÓð;œŽ3ð{LÁ™8 gã8çâø?œ‡?áÏ8àB\„©¸Ó03ðÌÄ,\‚Ù¸ÅßpþŽ`æâr\+qæájÌÇ,Ä5X„Åø'®Åuø®Ç ¸7áfÜ‚[ño܆Ûq–àNÜ…4OÔ…a=¬`86À†âA‰‡[c÷»öp¼ðÖ;O“ñ<OÃÓñ <ϳñ<ÏÃóñ¼/‹ñ¼/ÃÆØ/Ç+ðJ¼ ¯ÆkðZ¼›b3lŽ×c s £ðl…7bkŒÆ›0oÆ6ØoÁvØoÅØoÃNØ»`Wì†Ý±ÞŽ=±Þ½±öÅ~‹wb€ñ.ŒÃ»1pÞƒƒqÞ‹÷áP¼ñ†â¿ð!|ÁGñ1|ŸÀ'}çW}/Þs¹æe³kh¶.M¨í%ÆB±ßXÖÜøþb³gå¶Æ·…¢æCt+·…ÂE(·…Â](·…Â](·…Â](·…Â](·…Â](·…Â]8?ç®ÜBˆšr[!Ü…r[!Ü…r[!Ü…r[!Ü…r[!ÜÅ>æöÌÅ‹S„Bìf¦¥íŸÜæææ¤§‡ü¥G!ÜΜŒ 5È…÷:·g¦¥ÍVh !D17#cfp½î½Ïí _„BC£%{ÛÁwé…BC¹ªÜBˆ‚r[!ÜE¹úûõæOÒ+·…"ä(·…Â](·…Â](·…Â](·…Â](·…Â](·…Â](·…Â](·…Â](·…Â](·…Â](·…Â](·…Â](·…Â](·…Â](·…Â](·…Â](·…Â](·…Â](·…Â](·…Â](·…Â](·…Â]™«ËÈíS”ÛBzB˜Û†e”¶f†1bRÒˆ¨¨ìÂT®± Øšnörªµ@l|sF,HµæÛ 8'ì Žˆ2ì%}·ŸìÜŽ5ßšiϱ·kÙ…Éö–ûÃD3#*{AR€»Sá&Þ¨Bì#!Ìm¿(«˜“do,!Y˜ÌÜ™Æ~¹=Ž4²'%ìfkÖ´µkEkã·À2ãâ=Ím¿›p¾pØ7ò‡[Q ¨á¹]Ù¿Üöë]WÜš¶;êo‹H± 9`òW†ßM°ÁŠ7ò‡[Q ¨5¹íu‰5 gêZ«;GQª#·Þ„ßœ?ÜBˆZ@ ß¶˜cTÄN*öjðëIJ@3ð&Xr\aj¬‘`¨8“Ü9rbÁòãâì ï€ã$~û³ûq’Š7±›9B±×Ô´þ¶Ÿd%9xÄ›e¢X`Ƥ#*ÉZ2ÛÑݵòÜÞšu’Ñ>¿i];ƒW¨$¿“†ÏK:÷'»ü‹~7pŽBì;5'·÷3sB¸”2N²ÿ{¤OP†ü±Bˆ`Ðçn„Â](·…Â](·…Â](·…Â](·…Â](·…Â](·…Â](·…Â](·…Â](·…Â](·…Â](·…Â](·…Â](·…Â](·…Â](·…Â](·…Â](·…Â](·…Â](·…Â](·…Â](·…Â](·…Â](·…Â](·…Â](·…Â](·…Â](·…Â](·…Â](·…Â](·…Â](·3G&gOKùn!D(·³¦gÅÙ…©!ß!„†ævV\”–YcS³¢ìô¤¬ôâÌè¨Ìh¬8¥?ì»82ÊZ…¤õ›Sn³cS­kÁêH³M{1k:+=Õž³ÄÜ“$nÚ·: DGÙ…¢¦Qݹ=3ˆÜ6{¼dla2šàµ(¹d{œ±„Üfo®Zsœ¹íœcmmÉØ¨Ýç¶õJÁbe·¨ÜBÔ`RÒÒ‚Ylïs;-mvzzÀ«|g+' “³Ë§´oGŠŒ\çòfϹ4ÒËV´Šsýù%Ó̽û „5™¹3«9·³½]ú9¢Ûo<$»´ëkrXp¿‘“ÝävÅØ·’<+=¹²ÜöE}a²ÎN !j>s22‚?i¸/¹í-Iq`Í,7Nân;E³ö½§/i8ÇR‚Ïm’ß·Š÷¶ìܶ¶io<;Ð8IJùBˆ`ip=í*É퀔;3èˆk«wm¦Ìvœg,›SáÜ¥3¥+'É™dŸ¬´æ/)LÍŒK²òÜ^WãÛBˆÚAµæ¶sˆ{϶P±Oè¼d0+ !D-£:r»¬Ï\Ú‘ÞSƯó}€C»²…¢6Q¹½ïìuü*·…µžš™ÛB!*C¹-„îB¹-„îB¹-„îB¹-„îB¹-„îB¹-„îB¹-„îB¹-„îB¹-„îB¹-„îB¹-„îB¹-„îB¹-„îB¹-„îB¹-„îB¹-„îB¹-„îB¹-„îB¹-„îB¹-„îB¹-„îB¹-„îbs{æâÅ)B!ö3HÓÒöOnsssÒÓCþÒ#„ngNF‰äÂ{Û3ÓÒf+´…¢Š˜›‘13¸^÷ÞçvÐ/ B!‚!ÈÑ’½Îíà»ôB!‚!È\Un !D A¹-„îB¹-„îB¹-„îB¹-„îB¹-„îB¹-„îB¹-„îB¹-„îB¹-„îB¹-„îB¹-„îB¹-„îB¹-„îB¹-„îB¹-„îB¹-„îB¹-„îB¹-„îB¹-„îB¹-„îB¹-„îB¹-„îB¹-„îB¹]ULó„BT!ÊíýÛ555µ*jÊmå¶ššš»šr[¹­¦¦æ®¦ÜVn«©©¹«)·•Ûjjjîj53· #Ê(mÍ cĤ¤QQÙ…©\5bA±5ÝìåTkØø(æŒXjÍ·pNØeØKún+>Ù¹k¾5Óžco!Ö0² “í-;÷‡‰fFTö‚$å¶ššZµ¶š™ÛÎ\uf£=MöÆ’…ÉÌ!Àiì—Ûã ‰÷„ìI »Ùš5mmÇZÑÚxÅ-°Ì¸xc¯sÛHL±^#cFÇÄx<9ç„òhPSSsCsonW6Ç/·ýz×·f‡mÀŽzÅÛ"ÒG,H˜ü•aç¶Ì1£sFÇ£srüæ(·ÕÔÔþ±Õ…ÜvŽºÄ†3u­Õ£(ÕšÛ1FŒ'g4£sÌ '·ýæ(·ÕÔÔþ±ÕÌÜv&­5Âk¤"vR±ßµ®VÏ™š†5Á’ã SckDÅ™äΑ –oTìx'ñÛŸ ÇIgȱî—Õ»®8'”GƒšššZÍÌí€ým#>ÉÊ73ðˆ7ËD%°ÀŒI FT’µ¤³Gmå¹½5ë$£}~Óºv¯QI~g*ž—tîOvù!—ÊrÛn‰)ž”Dc÷sÔÔÔÔ6Wäö~&˜¡=¢lœdtŽõô°­á‘ŠsÔÔÔÔvßjfnû½0`'v?ävU¸Þ¨¦¦V…­js;[Ÿ»Qn«©©UsSn+·ÕÔÔÜÕ”ÛÊm555w5å¶r[MMÍ]M¹­ÜVSSsWSn+·ÕÔÔÜÕ”Ûû'·…¢ Qn !Dí@¹-„îB¹-„îB¹-„îB¹-„îB¹-„îB¹-„îB¹-„îB¹-„îB¹-„îB¹-„îB¹-„îB¹-„îB¹-„îB¹-„îB¹-„îb/r{i“†Êm!„Áævsã}å¶BÔ”ÛBá.”ÛBá.”ÛBá.”ÛBá.”ÛBá.”ÛBá.”ÛBá.”ÛBá.”ÛBá.”ÛBá.”ÛBá.”ÛBá.B›ÛYéÅYqQÙ…©öÅÌè¨Ìh²âŒ%…©™Ñ ÙÓÌ«¦gEÙ…ÉLgŽLf%c£ÌÕ££²Ó“B^F!„ØoTwnÏ :·—È¥)mÃ̬è„%…ÉüµòÙ—ÕÞWn !ê )iiÁ,¶÷¹–6;=½²k¹í×÷.[fZ±Õ»®¸ŠBÔ5æfd̬æÜÎövéçTÝ~¹m’˜ã$¥£"YcS•ÛBs22‚?i¸/¹í-Iq`Ï÷'1Cìï|k$Ä'‰K*'qvÑË“¤”¿!!„¨5˜A\O»Jr»2*;/iv¶Ó“¬o«§í ðô¤Ì¸$«C®ó’B±öOnWÓ*BQ©ŽÜ¶‡²íþs0k)·…"ª©¿-„¢šPn !„»pævvãå¶BÔp”ÛBá.”ÛBá.”ÛBá.”ÛBá.”ÛBá.”ÛBá.”ÛBá.”ÛBá.”ÛBá.”ÛBá.”ÛBá.”ÛBá.”ÛBá.”ÛBá.”ÛBá.”ÛBá.”ÛBá.”ÛBá.”ÛBá.”ÛBá.”ÛBá.ö1·g.^œ"„b0ƒ4-mïr{i“†{”ÛÜÜœôô¿ô!„Û™“‘A¢¹ðï{›Û3ÓÒf+´…¢Š˜›‘13¸^÷ÞçvÐ/ B!‚!ÈÑ’½Îíà»ôB!‚!È\Un !D A¹-„îB¹-„îB¹-„îB¹]å¤.Íš2ùÝ·ëöt×3ùË4sB¾WµÕ\Ô)”ÛUÈ’ü5ßOŸøTçÓ'¼<8sÞÔÍ›6dÏŸ>é•{™Ã|® ùÖ>TsQQnW!ÅØ§z.žóõ¦Í›·lÝú÷¶mÛwì(Ù¹sé‚éì˵΅ #Êð¶XÃÈ.L± lΈ(椆ü½«y3j¾ Éš;©Ø÷@ÄGˆŠRåEÍG¹]Uðsúx g}±nýúõ7VŒ®uþãÝŽrƒ ± ÕžÓìåÔqñFÈïQÍg¯k>ÎÌð„ìI L4c›á”]¯˜Â(·«Š)“ßýèÙ¸ÂâââuëÆÿxg{yg†Ä #$Ûsè{ÇL'‡üNÕpöºæV‘¹è|¹´æ(·EÍG¹]U¼ýX·§Ï+(¨,F²çOg{y¿¸ð åvµÖ<»’—Kå¶pÊíªâé®gþºì×yy•ÅÈæMXÆ^Þo¬•ÐhFVëìÕYóй=®0Ù0ÉVn ÷ Ü®*è×Íšòñ+VT#™ó¦ìûÅN*o˜}ì¨(#*Á﬙¨Žšg;RZg„…ëPnWS&¿;ößýËÍ­,F&¼<8àXkÅq±jNV[Ýì²kÕß.A¹]UXïmHùú£€1²xÎ×~ïm°ûxæOMJPhìÿšûmMp Êí*äûéßy¸KÅY8닱Oõô{/± ý_s=Â¥(·«û³{üã}Ö”]öëÓÆôlœ>»§š Q…(·«}W†j.Dµ¢ÜBw¡ÜBwÂÜvžÜof#&%UüäZ³—Sßùc¿YÎùæÛ€ïÂõ{[Ÿ\ñ»ƒ¬™ö{ ö=UÜç§c„"$ìMn7ލ’Üö;w_1'É^ûãÞÖG+Ëíq…©ö§Þ*Ûšý•MÖg+ìÏ’WÜ‚õµNÊm!DÍ$ÈÜ^¢Ü®lŽ_nWüЊßÖì° ØQøõ úæ !DͤÖä¶sÔ%Ö0œ©›]úù8çg™•ÛB—ÂÜv&­5bô¸âWRÛéjõœYÀúkÉq…©±F‚5¢âLòŠŸ‰³¾ $»BÇ;à8‰ßþhœDQ¨iým#>)àG¿ËF¼K¿|iƤ#*ÉþÀ²Ý£¶¿^ÏÚšu’Ñ>¿i];ƒW¨$¿3•ÏK:÷'»üKeè½ÄûÕ\5¯SÔœÜÞÏTÇЇýٽϓgý4mËæKõ[‡ÕŒ~_R5¯ƒÔq’ýÿÍ¥OPîû69hÇ=Õ+}î7Ö—?oÛ¾}GIÉÎJ~ëÐï» ­_Ë ø~E±ûšÿû’ÙÞA0û¨³GÌìC±âÀšØÇšÛ_k6r~áyì¤bëß¶!¿G®#„¹]˰¾›.õ‡/×oܸ±ôxvF·ÿwÓE%Ù)ð'&õ]ÐAÖ<øß—¤ªÎ ˆOžAŒ8Q5§¼3¼ý‹ö/{Š=E¹]UL™üîÇÏßm}ƒèêµo-xç¬7ÏõÓ[n\kE·ßo:;~æpýËQ߯òûU“ÙÓß—¬ªsu×ÜJéØIÉÎ~ë˜ùÝq)ÊíªâíǺÍû~¢u<¿›þþ¹Ÿ\pÚ¸3õ¨QóÞ²zÝKý~ë°41œ?)®ß^ÙÓšïõïKú= !¿/naOkžíMi¿P«Ó¢ÜÞk”ÛUÅÓ]ÏÌYž³zÍŽç6)íZüpÕS¯9}ìég¾yŽ5`²eóFçoò/Çfü˱ô­Œ~Ña¿_Qì¾æ{ôû’myFù+Qå5Ïö¦´3·­î…ÉÖñò{äF”ÛU}Œ¹ÓƯÌÏ'º?ZöiÇÌ.-~huÎ'翵àëxÎúiš_?„ã™.‡Ÿlw<üÞ¯ò;UÃÙÓß— ãÌSä :/YM5·þ9iûUmë€×§!öåvU1eò»<3py^ÑýGÁ ¢›^÷»éï¯^[`¦ü<©Üof[¨¨fQ:;³÷5ߣߗ¬x^Rof¨îšÛÝëeÈ÷¿v Ü®*¬óì?LýÔŠnkÀÄ>žÓç~ãwž=»ôéÇÞÇšÿû’Ù¥gÄœïÕZsû…Ò:A©Ê*A¹]…|?}âèG»UŒîÔ¾÷T¯=ú­C|Í«ê÷%…jî”ÛUˆý9²ž8wÚøœå9ó¾Ÿøñówësdû¡æú}IÕ¼î Ü®rô½ ªy]@5!Êm!„pÊm!„pÊm!„pÊm!„pÊm!„pÊm!„p{‘ÛÙÊm!„{Û'+·…"ô(·…Â](·…Â](·…Â](·…Â](·…Â](·…Â](·…Â]„6·³Æ¦fFKFÎ9Y#£²â¢–r1Á·ÀXßçfŽL¶.f¥gFG™ G›¿…ÄEVÉ.L <•®ŸqB¸žêÎ확oŸˆ¶òÖwq$Á›l¦«wŽymœ‘•žºd¬ù[¢K˜—Dðú¸0™9Dzö´kab_¹-„¨ ¤¤¥³ØÞçvZÚìôô€We‘ºåƒÔŽY¿i+¢+ëTûŽŽ2c¿’Üy…¢J˜›‘1³šs;ÛÛ¥Ÿ(º+&jÅܶÆIÊuË•ÛBˆºÊœŒŒàOîKng{GKRX3í!›Š¹•žZ6r22ÙÙßÀ^E¹-„APM¹-„¢šPn !„»Pn !„»Pn !„»Pn !„»Pn !„»Pn !„»(ŸÛ •ÛBQÃù½¹1öå¶B¸å¶B¸ å¶B¸ å¶B¸ å¶B¸ å¶B¸ å¶B¸ å¶B¸ å¶B¸ å¶B¸ å¶B¸ å¶B¸ å¶B¸ å¶B¸ å¶B¸ å¶B¸‹}Ì홋§!„ØÌ MKÛ?¹ÍÍÍIOùKB¸9$j ïunÏLK›­ÐBˆ*bnFÆÌàzÝ{ŸÛA¿4!„† GKö:·ƒïÒ !„† sU¹-„5„½Êíå¶B„Š suÙõÆØ“•ÛBz”ÛBá.”ÛBá.”ÛBá.”ÛBá.”ÛBá.”ÛBá.”ÛBá.”ÛBá.”ÛBá.”ÛBá.”ÛBá.”ÛBá.”ÛBá.”ÛBá.”ÛBá.”ÛBá.”ÛBá.”ÛBá.”ÛBá.”ÛBá.”ÛBá.”ÛUÅÔ1O!DR¥¹ÝP¹0·=jjjjUÔª ·›ÜVn«©©íeû{åo뜲á§o7þ4Õ†‹›ç}i±iÞLÞ0wò–•K=Êmå¶ššZ¨Û¦Yã·ÍŸ²cÑÔ틦ÛìHºcá7;~Ûç'oûéó­ó&Ýå¶r[MM-ÔmËŸ—,œV²øûé³øk±#cFIÆ”iߘ¤’Þ“ˆnzÝå¶r[MM-ÔÍÌm²:c¶I¦ƒ_¦Ý&i_’ÛÛçOÚ4ï OMÍmÈ2J[3Ã1)iDTTva*WXPlM7{9ÕZ 6>Š9#¤ZóíœöGDö’¾ÛŠOvnÇšoÍ´çØ[ˆå>&Û[vîÍŒ¨ìI»Ïm#1ź¹ÄĘÑ11ONÅ9¡:xÔÔÔBÒjGn;sÕ™ö4ÙKH&3‡w¦±_n+$Þ²'%ìfkÖ´µkEkã·À2ãâ½ÎíÑ9;™cF猎1FçäøÍQn«©Õµ¶åÉfbg͵ٙùÃÈ~íÈms„¤”íó“7ÏûÒãæÜ®lŽ_nûõ®+nÍÛ€õŠ·E¤X0ù+ÙÛ1FŒ'g´§4ÃÉm¿9Êm5µºÖ¶Ìûª$s®BÛbGÆ “EßÀö…_oüékOÝÈmç¨K¬a8S×ZÝ9ŠR­¹íñ†³aÄX7gõ®+Î ÕÁ£¦¦’¶ùç);²æùȘe‡¶/º½¡m²ð›ó§zjjn;“ÖaŽ5R;©ØoŒÚNW«çÌÍØïKŽ+L5¬g’;GN,X~\¼Q±ãpœÄo‚ß¶[bŠ'%ÑØý55µºÐ¶Ìÿ¶$û§Ù?ƒ£§=ËÝ% §ìX8uÓ‚ižššÛûÛF|’•äfào–‰J`“Œ¨$kIgÚÊs{kÖIFûü¦uí ^5¢’üÎT¬«¬þù‚=:ÁÊêrQ_~œ$¥ü!„ë0ƒ4¸žv•äv@ì¼õÏí¸¨Ì¸3Ò§%Xç.³§%X×Zósœç%­œÏÖø¶BT_n{£u‰yŽ2aW×;…¢rª%·ïß[26jOsX¹-„»¡:r{Qn !Änpæö¯WìÁ÷J !„ ¿65>=]¹-„®A¹-„îB¹-„îB¹-„îB¹-„î™۩'¹M½´5R[Y„-¾ÑKëz•r£o¶–·'„[(}¸EÍ'L¸„ê:ˆèe—³š¯ãŸÛ š› ˜Ojo8g·1,–µ ³Èí`¬lg¬èàcy§²i ®BT-¹Ñ ´5V¶ |Õ²VƲ–^šûøõúÒ‹-}Xsø»ô:“ìk¼¯4'øKD¯¹ÆÌíçýí¢¶Þ#¤³±º»IQw£¸—±¶¯±¡±~@}‹Mqel‡ø0?v0¶õ3ékˆšO‰p !?TDPôò>X½Œ¿{›o76v7¶t3¶v7abScSÇÒ¿ÖD)u4ÖÝbþµ®Ýx‹Éº›ü ˜Ûk»zúþ®ï[¶ôóEô¶ø%ƒ|ìH¨_‘]ñõ`»•ê¢ÆÃ묢jñ©íe²¥gø†7zö°•ç­O¸áÖp3´£ýs{…#·7÷ #®· ¨Û½‰MJïÒÐd¨]÷5°ñ ­ïc°+½2§1¼QDQtÄn–©¾Õ…¢º ãG \œµö¼¿>äÂŽ¸l‘ÇÝäÓ#/ûô¨&Žjòùá'rYòA—|qñW .H®^rع_gM<µÙ„Ô_Ö¬m Õý®,· m+·­þ˜_bïJ¬@%јçÂ=žÜwÞË-¾9ò–¬ŽÕEB~„ Q+©˜Û;ÿÌ;ïæ…G]³àÄëœ~cêÙ7¥žsSêYÑ©gÞ´øôè´SZ§ŸØ:óØ2j™uhó̯Í:àḚ̂ËÒŒ fŸÚl<ïÌm«³MhïH¨¿}ˆ™ÛV8ÈíÊC;à}ñ©“a];ç|ßœ]Žàµ×µ—_o€,½6Òy÷íÀ®N»Yݹ0û³«OÄ?n“+ЏÏö¬a™ŠwDˆýLÈÇlÅžRvNÙ;¾MöÝì÷³Ûæ6î¼üÚž+›÷^ռϪ¦½W]Û;ïêÞyMîX}QÏü³»œÚ¹ðø…G´)Œ¼± ¼ùªz—g…3‰uíñíûr;ëLó¼d~[ó=$VnÓå.Á å:GÈwNÏ¥ï7$Âã™iÏ\çñ¼Óa )ç)½Ôã™ÔhØÎá[ß5|ƒêžmýc|ï0éV2Ü ^{Ý­Ïðó˜Ø(rGÿp'eò,OæU‘öÂEoö’o¿˜òv£È’G"®¾­¸½ð.gö#£gŸp›ÎÛÞ?ÆS`îóÄFÃn¡dx¸}s+ò=ÃÝœß*ÂÞ”û“¿¡Eƒu"²¤üÉ¿{˜ï'!FŽkùÇ%—_×kå ±«¾žµ™9­¬Ž°ºyÿÕ×Äæ7é[pA¯Â³z¬aþØo·Sx`˼ð«–Ô;w²•ÛQfnÏ»¨\næEÍܶ¢ÛÊX:·1fuG‚w¬{†dÝš˜a\Ü5=†Ü~»Ã˜í=#ì ÜÞ7œé¹Ë=³Ïi³­o¸óM2%Oú¶™ß2b;ÿp(]Dö6z`]Ë_Æ^éX2wÂ{¹ÛºFìšó7‹uSÔ/2àêãX=wÆ, ³bIAζ¾1;̘”Û¦µŠ½cÖEkŸKž ¸…‹Sì±n7ôo4BÔXz•±ùvß[­wú‘½§´Î¹ªû Bûæ»òìþgë¸ÕQwå7íŸelÁŽרóérrãêȦK\˜ÌEò™Ü^Ñ´Ü8 ¹½ŠNxó=ÛVt—åvëHëå¶ø;Ç‘ofnëÁÅ]Ó|¹½µ«/·'Ðwíkf;ñ8óœ6›û†[':-¶—æöÊ–΋–ævú•‘Ö’du1[ë0f³7ù­k KsÛoõão.ö»sHgù•‘~Û´¶cïØ–ÒÜfŸ­›óÛ‚µâ[-Ëßkýžÿa®ßÝ© Ün!ªÖwñA†œÝ6·yï•1wåµ´ºÃ=«íˆ¾!.¿Ù€ü«b ì9Çw(<ö–‚£nZux‹ìƒ.6sÛ íe—S.(ËíeÍÍÜÎëâû¸ ¹½ÝîdÞa¿!ÐÊíáÏ\Ù:rÓ] v}kæö[ås{KO_nN› =Ã7ô4l¶=êKÚå×G8/]ïËíÔ&‘Ö’žÔÄgT£a:FlééËí‚>‘W÷Ì{ÀïM,œÓ$Òo›ÖvìÛÄÅ|sŸÇ7æI °sʼn1ÖÅmùž =cœ÷Eˆý‰ÂE؉ýWGbäÂ[—ßxçªö «o’ßiH~ÇÁeÑÝ|@¾5±~ó®Ó;œØ¡à¸vùǵYuì Kküó—·ô}ÎÝÎíy§™Ÿ£4s»cÙÇ$·=Qî$à¨F‘›zElé}'Þ‡¹E®±sŠ™Û£:ŒÙHn{3ð³FÃ6uóåöô³Û¬í¾¶»a³õ!ß6ÿhQz1÷³÷r7µ÷å6·²¶}ÄÂöFÉä˜MÞ0KnêæËí­ƒ"®^2ùæŠ ojí¿ÍMíËíØún†½Ï%_¸¹m/±s€{mû¸¹éMÃýîŽBøaÇ5u,ƒ0iÒyEÛ»ó:ß›ßõ¾ü.÷Þí­.ßaôœÓ%ÿôÛòOj¿ú¤v«OºeåIÑYG^nŽoÚÙWšcÚä¶õ>@gn¯)íro}²ì¼äN^FŒ¦ƒ½å.sìz³÷„ a^ü^›bon¯ëáY9† ü¤Ñ°|3·gõa™ù#‹¼Ÿš‡Í•{-ðÌFì ³Þ•ljZï1“»E ï0,¯·ÙµþqrÎðFÖ0EÑK3+[Ýšo-¼ôaVôüöìÌŠÛLoéܱ_¸¸r´µÏ› ¯¸…_Ålãžv3Oæ¾7ì“FmŠº…Û÷¥vÀÃ-„¨Zœq äêÊvfn_ÝceÇ{ò» -èqA·ûòo¼º]üê›cÝuË;§SÞòNi—wj»¼ÓÛ¯8ýæ¬c¯4ßOb}QÉâó çør{ú FúUæ÷™¬è`~3IA£°—±¥t"·eäÚ;ÃmÖßiF·}CVÛ³Ðg åŠz$Ò‰µ¯]¿Ðã¼;›,÷~’ÏšG¯ñ þ¤l^è±ÖµÖr.¼fTÊnV÷»jí—9·iOØ;æY˜ÈÄßl¤KbÀ-¬íbث؋ !ÄîÉëè#¿mé7ƒµ5s»Ù+{$Üñ`Áà z Íï4duû„²Ð¶Ú¹WyëªÓnYyF»•gߺüì6™Ç_mæ6¡MJ“Ûô·;´\n/kã½¹.ftÛ¹ýGˈâ;ëƒÝEýêCñõK¾ñ“wŠ ê‡7ÿ¸QäZkœd…gÊÙmòº„³µÂZo’ûíØðKÃ?jY£öSán::¾Ë±­ù%¹ÞÜŽ×÷á‚ØG øÛ3± óà|;®¯ëµÒž>«ÝŠ3Ú®8»ÝŠó;äžË/'^;ÑÊmB{Þif»bn¯ìlÞ.¹½éÑrƒ¿EEZ¡]xG=ØáÍí7;Œ)èáY”¸Ôãù¨Ñ°ÕäöÂÄ ùž¼.1¡/`yüvŒ‹Ö>+·…U@iO»Üwð:r;î©Âøák<^ØûÁ²w´ê·ªù«®ê^Ýç¶_qA‡u̽ ]ÆI×~Ϋ³í—Ûó¯6Ò›š¹½¼“yëù·ûrÛÙ_ûm®ÚÎÜÞáñä?2šå=©‰[=žÕÝC_º !··xˆq7í³¨£tn"`n·‹_=ø™¢{Ÿ+"ºí\m—wSÿU-û¬º®çÊ+º®°ç_|ÛŠKn˹¨]ÆÉ×ùr{ÞEfnt–/·Çg~v2½…ùûæÏ"t6s»°—QØÛdM¿0 +±™°BÛ¤·¹ [X_Üú#\!BBÇ?"cçömCòz¥øÑ׊ï{®höú¹s”ûž|¢;ºÿª(ot_ÓÃìuþÝÆÆ]V\Ö)ç¢öþ¹m÷·ÉíYMÌ_ºYr“ñk'#çvc9\>´­Ü¶&Hlóoo_°ÛÑmå¶¢ÛEð-\ÿ5¿ÿzÂvnwO,xvÌÚÇ®{â?ïóöºû?VØû_=îÏï<$¿ã=«ÛÆåµ‰Ë»ñÎU-ú®º®ÝïÜ nI?îª ¬;ÿêým+··®Gn;£ÛÌçXßߢaà‹nkf þ6„ü ¢–òDA’[þs½,kFöx¢pÔ§½3a=éýð+ÅCŸ/ºg䚸§ <^ûha¿G ïx° GbÁmCVߟ×êÎUW÷X~^›ôc.7¿ðÇÆfnO=£,·™ ·Ž2ßæ—Û䳨N¬ùVtç[h´Ä…„<ŽD„<ŽÄa?j+¹=ìÅâ¤Ö½þÑ_#ßYûÀ‹EƒŸ!´× |¢ÐîóPAï‡ zÕBמ 7Œ§q8ŽÀ‘øo|ÿƒÏâsø<¾€/âKø2&á+ø*¾†¯ãø&ŽÂ·ðm|ÿ‹£q ¾‹ïáû8Çáø!þ~„ã'ø)~†ãq~ŽqNÆdü¿Ä¯ðkü§à·8§áw8gà÷˜‚3qÎÆpÎÅñ8Ÿq>.À…¸Sq1¦a:fà/˜‰Y¸³q)þŠ¿á2üÿÀÌÅå¸Wâ*ÌÃÕ˜Xˆk°‹ñO\‹ëð/\p#nÂ͸·â߸ ·ã,Á¸ =h40Œ0¬‡õñ ÇØ#ð@<#ñ`<ÅÃðp<Ä£ðh<ÅFx'à‰xžŒ§à©xžŽgà™xžçà¹xžà…x^Œ—à¥x6Æ&x9^WâUx5^ƒ×âuØ›as¼[`KŒÂ°Þˆ­1o¼Û`[¼Ûa{¼;`G¼ ;agì‚]±vÇx;öÄ^xöÆ>Øûa,Þ‰ýqÄ»0ïÆxLÀAxÆ!x/Þ‡Cñ~LÄp>ˆÿ‡ða|ÅÇðq|ŸÄ§ðiŽ#p$þŸÁÿà³ø>/à‹ø¾ŒIø ¾Š¯áëø¾‰£ð-|ßÁÿâhƒïâ{ø>ŽÅqø~ˆÿ‡áÇø ~ŠŸáxœ€ŸãDœ„“1¿À/ñ+ü¿Á)ø-NÅiøNÇø=¦àLœ…³ñœƒsñGüÎßðgœ p!.ÂT\Œi˜Žø fb.Ál\Š¿âo¸ Ç?0sq9®À•¸ óp5æcâ,Âbü×â:ü ×ã܈›p3nÁ­ø7nÃí¸Kp'îB yþc=¬`86À†âA‰ã!x(†‡ãx$…Gã1x,6Âãðx<OÄ“ðd<OÅÓðt<Ïijðl<ÏÅóð|¼/Ä‹ðb¼/Å˰16ÁËñ ¼¯Â«ñ¼¯Ã¦Ø ›ãõØ[bÞ€­ðFlÑxÆàÍØÛâ-ØÛã­Ø;âmØ ;cìŠÝ°;öÀÛ±'öÂ;°7öÁ¾ØcñNìp Þ…qx7ÆcÂ{p0Á{ñ>Š÷c">€ÃðAü>„ã#ø(>†ãø$>…Oãp#ñßø þŸÅçðy|_Ä—ðeLÂWðU| _Ç7ðM…oáÛøþGã|ßÃ÷q,ŽÃðCü?ü?ÆOðSü Çãü'â$œŒÉø~‰_á×ø NÁoq*NÃïp:ÎÀï1gâ,œ?àœ‹?âÿpþ„?ã|\€ q¦âbLÃtÌÀ_0³p fãRüÃeø;þ9˜‹Ëq®ÄU˜‡«1 °×`㟸×á_¸7àFÜ„›q nÅ¿qnÇX‚;qzЈàùõ°>€áØbˆa$Œ‡à¡xŽGà‘xÇà±ØÃãñ<O“ñ<OÃÓñ <ϳñ<ÏÃóñ¼/‹ñ¼/ÃÆØ/Ç+ðJ¼ ¯ÆkðZ¼›b3lŽ×c l‰Qx¶Â±5FãMƒ7cl‹·`;l·b숷a'ìŒ]°+vÃîØoÇžØ ïÀÞØûb?ŒÅ;±?ÀxÆáÝ 8ïÁÁ8ïÅûp(Þ‰øÃñ_ø>Œà£ø>ŽOà“ø>ÃqŽÄã3ø|ŸÃçñ|_—1 _ÁWñ5|ßÀ7q¾…oã;ø_cð]|ßDZ8?Àñÿð#ü?ÁOñ3ðsœˆ“p2&ãø%~…_ã78¿Å©8 ¿Ãé8¿Çœ‰³p6þ€sp.þˆÿÃyøþŒóq.ÄE˜Š‹1 Ó1ÁLÌÂ%˜KñWü —áïøæ`..ǸWa®Æ|,ÀB\ƒEXŒâZ\‡ázÜ€qnÆ-¸ÿÆm¸w` îÄ]èAã@žÿXë㎠°!FàxFâÁxЇááx‰GáÑx ‹ð8<OÀñ$<OÁSñ4<ÏÀ3ñ,<ÏÁsñ<</À ñ"¼/ÁKñ2lŒMðr¼¯Ä«ðj¼¯Åë°)6Ãæx=¶À–…7`+¼[c4Þ„1x3¶Á¶x ¶Ãöx+vÀŽxvÂÎØ»b7ìŽ=ðv쉽ðì}°/öÃX¼ûãˆwaÞñ˜€ƒðŒCð^¼‡âý˜ˆà0|ÿ…áÃø>Šáãø>‰OáÓ8GàHü7>ƒÿÁgñ9|_Àñ%|“ð|_Ã×ñ |Gá[ø6¾ƒÿÅÑ8ßÅ÷ð}‹ãðüÿ?Âñü?Ãñ8?lj8 'c2~_âWø5~ƒSð[œŠÓð;œŽ3ð{LÁ™8 gã8çâø?œ‡?áÏ8àB\„©¸Ó03ðÌÄ,\‚Ù¸ÅßpþŽ`æâr\+qæájÌÇ,Ä5X„Åø'®Åuø®Ç ¸7áfÜ‚[ño܆Ûq–àNÜ…4âùõ°>€áØbˆa$Œ‡à¡xŽGà‘xÇà±ØÃãñ<O“Ò˜sMj÷6"G•þi>ð¾vœa=Éãùâ3’ËÔ¿Žø|Òç]ØÂœþµO6k¹²Áæ™7˜–nÛœ_º]vËÚæ_GÇ­Mzô¯¯:ä–·¯2zç[Ãú­1z·ç½ ͉^¥t/ÁcWÞ*{ƒ»65ºó¨‡='ï¶6…»µbn›³§„ø~ù`ÇÂ/eŸkLý;¬0œâ“ê¥õl™kWÞËúÑÎX2ëÿÀBkz[b¢ÑùŽ+®7º¬)ãÁÍå3mÇè­«Ö›•Y¸Ù·®µ–cá”Q»_½ÜU9_® ´ÍÍ~;–èÛç¿+ÝÂZÇ*¥‹U§Í3®É6¢Wyþ5æ (ÿ({rknÙîî=b}ƒ»6…ßµÅ[üÍœgÆQ›÷Š=žbïñ¿nÌJë¹üIx·ü™L.ŸÛ¦‘7²Ï/k}h³3Ó†Íò>|C‹ŒnÞZ±©ÞÓ"ºMÖaxdï<–Ì™ücD#ëV<3_ª|uï|káȇ—š ?û[€m6N/¿c¿Œ¶÷9Ðb¾"]·éæ½­÷X‹»V=CÐÎú[Åï»Öxb›óÎF6ÑkSøÈí<(¹¾ÙhBÄ€õ1Svúò§ëFï¡Â}ù,¼Û¦ënž=,2º;xh«µÍˆ¦XÍ­½÷YD{ï*³&›·Ò~­Ñ~aÌd’mÓ˜ÃÍ%»ù®xõ›.ÜÚ›áíËïX·õö>Ç|h /m³ž ´7w>¼i…»SUœšn4_fÖ¿Kiýûl0žô–š;{c~½ÛêÇmo¿-|ÜNóØxxxdë•<b¾Ýå­ÿ[]·zŸÜ— á=·øîæ9߇÷Ü`8yÔ÷˜F\¿¼üÅ"_­š¤ZKz{S9Ã(]G.nñ]Û§ àêÌóø7sS9~Û4üwlSiýÇ?p ©17ø.æo‹ñ»/Uõošë­ÿ_ñax‰uï"[P|gýÍ tÚÆÅ˜iVýß.Wÿ¾ÛJïæÌð¾›Ãð˜ú Øreù‹újueºµdÌ”]Þdck› kƒ\Û¯0àê7ßá]xx¹®Ú•Ëý¶i”ß1£ï{ŸKoÎo æŠá-ß²0÷Ãù~w§ª0ÎÌòÖѱÈ*¾9Ó®LA½ø]õv4T>h§7T—‹YÃŘé¥õï¹½ô¾L ïë6ïæl ÃÉ“%¥Ì7¬Å{o.ÀïpìŒu»Ûª«þmóÍðñ¿~¿-ƈÇë¯Ùr§ïl8dgļ™åfSÿw"úì]hÝ—Iávïnõ]Éé¿-¬ë1u´­¼ŽGr÷û—ÖêªÌ²…ß*²—KyñíÈFoG:-/›¶àZ±G8ëß*Õ¬¿÷!°…€X ˜ØË;VÁÓðŠ__Ñå÷âÂl±ÿQýUÿºŒê¯ú×eTÿÐÑxi¨zVT\Vj¨«áâúSÀèLÃKÔØ%{\OÕß¶“•”nM/I¹d· úïsý“+ÖÓû7!Î|R$L[’ä›ð]kÍwÎI-t>JPsŽýàÖ6ö¢þ‹Ï\¼8ÅÆš™<Ò[4ûÈ·ëo•nZ–aO8çú®JöÕIÙãXî)Wç­»=­?«¤§Ï©t³˜ÞGÁqü§úÓ9ßĬyÒ4ûñò=)¬§@rp{å^ö¨þii3ÓÓgÿÓbÞcx¯ë_Ç^ö¨þ$OeWEULž ëo'’/¼/Î+ÿËêŸRÙUIqe¡aÖêëï2^3Jò¿6QUõß3ê^Ψþ5“ÐÔ_”Ò°q¶ê¯ú×YTÕ¿.£ú«þuÕ_õ¯Ë¨þª]FõWýë2ª¿ê_—QýUÿºŒê¯ú×eTÕ¿.£ú«þuÕ_õ¯Ë¨þª]FõWýk OŒ™ºPý+«¿g¿4Õ_õ¯¨þª¿ê¯ú«þAÖ?ªÜ¯K7KZ°+¶`DTÔˆTçD]«UÜë*¨áúú{ ’ï{>$L*_"kÚü›e-0#)ªtIkçS©lk±É…Ù©/7+ÿDó­K‹Š-{"øæ™«Øß2ŸªÎú猎)½¹˜Ñ9焾þÎø±jkßÍI±¾9ëoÝ}°'ÌeÆ%XE+·déÖœ°|ü¸rÇ¿o‚-ø–7,–©¸?A׿¬¥$‰)ÿ0'TõtüW8Ú+™ã7Qvè–À~ñâ\ ²-8oËo A„U¹ú;wßñ^qN-«ÿî·f´Álaëo–º´ÄL3YqŽ[ê_š*f&ì¦þŽô¨tkÎíØE´…²ü©¸…`òÇQa_á+Ω õ÷ëN pí×Mß«d¥õ¯0åØäҗѲWÛÒ™»ýÝ›ú{3Þ—4‰‰Vå+Î yýk®ëÖ2TÕ_õWýk}ý#TÿJê¿PýC‹ê¯ú×eTÕ¿.£ú«þuÕ_õ¯Ë¨þª]FõWýë2ª¿ê_—QýUÿºŒê¯ú×eTÕ¿.£ú«þu½ÿJõ¯Ëìaý+ýýS±êÜïÿŠêªñ?þþµ¨æúWøýw±/ìEýE¢ú«þuÕ?´Ý‹BÇZÑü O¨h1Jx.L¡¤þPR¬!ÄèU: …Ñ}µ%]òBFç•B„ÿu¶þB!BÉJB8þòû^õx]§çBÂúnÆíb³Ñw›!aýE(©¿Kˆ:KýÁžPòû.Dý¸í¡Â°S„´÷U"Œv+E »qq¨0Z¥Š¿X!„B!„Ø„ü ê8!?„B!„B!„B!„B!„B!„B!„Ø OŒ™*BˆGMMMMMMMMMMMMMMMMMMMMMMMMMMM­ŠZÈO€ÖqBþ!„B!„B!„B!„B!„B±G„üÐë8!?„B„£ûZУ ¶Òb”§æÓüZË…I"”ÔêÂíª­Ô°^„£W¡%ÝW‹PÒy¥ è´¼ÖòÚªþ5ŸW©úè’'Ä?бöòÚ JÖQw ùØ~§çÐ}c­åöÍ"”ôÝ&BHX`ô-©­Ô‹ßUó1쬭„¼¶Bˆ:KȰ®ê@p„¾£X]´[é¢sk-­Rk>aµ—¿X!„B!„Ø„ü ê8!?„B!„B!„B!„B!„B!„B!„Ø OŒ™*BˆGMMMMMMMMMMMMMMMMMMMMMMMMMMM­ŠZÈO€ÖqBþ!„B!„B!„B!„B!„B±G„üÐë8!?„B„£GAí¡{‘ƒµå/-òÌ¿mó½yÞ .zç´]iD¯2a¼˜oÎ^c´H²|kþ†§6ÑbT9˜sÝ+åþVFãü9s¤ÉQ{ *¡nFãí¢]˜ä©5œû¢çEë¾Ó§?[f:/žðt9(—EÃ!;Áè¾Ñhê;äÂíª5Ôêá¯qÿN&øk¿½Þ€mõã6Õ°>¬ïf£Ïãvïßž¸è›Ów­^Åæ_ætYã{^3:¯4ZeÍ—Q4¶S›¹³Ø¤_QX¿5õî(ãö|£ûj“.y>¨†E§å&r!¬Ý2£ d7-1a‚Š]=ß8nðͽSGÊüƒy­>køîû®¬¼û²×¾y¾’vm…!MršHÓßMdº®Pi’ü÷ýpÖ¾?%uÌìýÆîhxøf1V?ùjs~ýÄËwO¼¢r|„´Œ¬i±¥ygŒ‘ ¦Zå¿ÏðÍ™fúixäÖ†‡Fï½ÿÚ ±»/­Ÿ0¬îÞË*Ç{íúó i_+ Ö4Û÷´;Ô…Hó=;Ý'}¥üžý@Ó¬I¦%É`Acã/ª¿kpýø‹ë&|íoã¾¶üús•´kjC¥µdf}»«ÉT§Ì<4J:GÕEþËC’ÍŸ¼Ï›wwØP¶áÞKî²wÜ…{ÇÞsÏÅUw^\xÝW ize“¡ZfJÛŠªxJÚÔëšž¸×÷ôŸt—ßÒ8k¢â>vG0¿M¹Ì{ß%Þ ƒ½ãzÇ_P÷ êo *¼æ%í›ÛÊ&5­ß þÏ2ˆ¬¶ uªÝMá}ü®¦§&5}w²ï©,éL¿3>¬¦5e]Ò4qPãÝç5Ž?oï¸óªÇœ÷úU}•´ê”´!Õª¦)i3“ ºÙñ=÷|]Æ`yw‹®¦'ïkœuoÐÕŒÑúÄg‡Û|“ù&œÛ4~@Ãjn9gÅðPÒnÞ£¼]±SIëÿ3õ!IFªNv¼î®‹÷Ní}llãwîn|bBÐXÎ-M3Fù²ƒ½gó„¯úÆÓpG¿Ú›Î*ºü %ÍãÓn¨J›~,sxЂ©.ë ;¾ûöõ÷_Û}‹÷±o™~snozÌÓôè ¾ìkZ¦]ôvç—o;³æ†¿+úúiJÚ˜ÃÛˆ ~i„n¯#ÄáÔOµûÊŽxó€=÷^!£ ñvxÃJelÆ­3<ŽnÊé›>¢ùÁa-S/’ùGß*hû%ïÍ_¬¹ö ¯_Ú[I»ã€’6²E qEÚŒÎÌÄ4éW';¾kÔÙÒB÷L¾÷ë¦nxxtô¼Ó®÷N»®ñ¡M\æ›rqó¤ ¤mJ5óÝöw £¿P}UïÂKzÒ¤²‰4yçÞÿg½s?Ë0¢ª“¯½îKÜzÞ®qC?œøÝYWÕM¹º.kxÝäá{&_QŸ5¬á¾‹&\à÷UïØ~Þ[Ïl¸ñôº‘½Ë¿¡ýiˆ¦¤;¨¼‰4ó´}{Æ›÷£ÎmßZ2²_Éç–Þ6¨ôŽ‹K︤tÌEew )3¨âöU·Ÿ[uË9Õ7÷«ý¥êë¿XuÍç˯ìµq˜¶tÔáÒú½`ûv¯±€´™¿:¸¿ºlåmC—|ýÌeW~yé𾯎8ûÕ+û.Ñïµý–?«èÊ3W\qÆŸ/ïS4ì´¢¡Ÿûó¥½–_¤-uAËßJgþ¼-Lšýɧ»²YH—ú…ŽÌüå'' okÇÌü¶/ÜóI0§éÒl'¤vÈ¡g~é1õñÆ”#Òu*dBÆ÷2~ë&2w@ýÖŸ•z¥W­0Licê2õÆÞèOݺS»ÙÏè7î0Þ@Ÿ#¿å¦0²ÖxË)ò[Þ¤õºµ4“кým”¿÷´ý œ4B»a‡6èU­ßOlß’4iHCšcAÒzHš êÎiHCš1¥Ùþ7Y¶R\^žÀ…QÓt*+7ÅÿÇtH³xÛ\^^Œ´D‰³‘"ÍJœ-iHCÒÒ‚¤ DÒ†4§ƒ4¤!ͱ iHs,HCÒ Ò†4Ç‚4¤!ͱ iHs,HCÒ Òz@Úó/¯v©’–èÛ¦o M¢qGy]ç_kmª<º¾ìSaÝûG×”zkë‘U=,¬Ürôÿ;\¸ùÐÎFu‹ ¤Iˆ±=-Ÿíhüìo{”=¡lWÇûtþu{ç–ÚvasuÇÆÊŽµï_ýÞÁHó‡Ô11V»·£üÃNq¥ëz¯¶csUÇæJ…{»LI“êwiþV©×±mtˆ+-Uí"ê/ïwšˆ´µ%Ô4#–DHæWIl—?‰U·›ˆ¨5Û:„ÕÛÚõ ¤™!}¥Ô1½šd^ÓʸdÎ*¿7ifÈÐB,ýµ¶Süèl¨lÞ|¿Ýœ£{£#0ÔæÍœ{H ¾šyÌêÊ4f -t+ÍÓˆ?o9¢†dLcë*Û×UÒVn;¾’Ám Šþïˆ _eØoòN•j§kþÖ±¢´Ý¤hëñ7¶>4¼öÎ’môü7Vi«*o”wnk/Üz|ÅršHK"Dš \ÅÛ† õ.@GR™èz³¼]¶)Ò^{ïXÑ»ä4#–n8´jë±Õï·«7JV—ªîr…Éfblù–£¯oV÷èCšÄ{?]õnÛ[ï}²ú½ƒ&òPÒ¾Ž´J©cblûÞ#'–T¤PšíŸÛ§Ó9‚wjçp6 iHCšÃAÒæX†4¤9¤! iŽiHCšcAÒæX†4¤9¤!ÍYÒFïÒ" iÉ÷]â‘fÈ÷ M7–Ð7_Òìþ–“ôúŽjZ iHs,¦´Ó‡×ž“»¿OÖ.Û7Éàÿnÿøw3øÇ¿›Á?þÝ þñïfð7Óÿøw1øÇ¿›Á?þÝ þ3ÇÿšjmL•Á‚š¸©¨öäT—Ú-!ü—ˆüê¢ÀâÁiü÷€ÿüœêüŠØnÓþÃäo êaM~ŽÑ^<5ªŒÑ|üÇοHž¿@Þ£dÞšÀÚÆD¼\z’„ÿ²²bëå|úLϘˆ éßïM/f4`™š¼€^uŒÔ%«´˜Ð Gø·û‚ÆäIÔ¿,RQ±)r~”4¥þ+ÉÖ4,VXÊD>•‰É*!ÿååÅ£>•™¢åŸÖ@U·&üÇé_2O¬§¢ô¿–l£žõ矼}\TcôÁ2ÑòO,ÿnÍÿe]^èì[ãOsŽg5ÿ:\ãHuÕÿâ?~ÿ€ÿ´ÿøw3øÇ¿›Á?þÝ þíö¿ÿøw-øÇ¿›Á?þÝ þ»¦z{éo__5å¹_™ü}ù-Ó2ÿ=@KSÍòµoš4oæ·tÍæÝ{v/{Ëã/üAæÈ|yÿÝŠHž2÷7¯®~ÇëÝÓÔ´·¥¥±µµùÀÖ7Þ)}pÞbyÿ݇$©ç‘òÛÚ<Øöææ y6"­Ë÷hšg~BWà?*’ç%íèòë}¾ºsÉøõw¾Rñ[ßþÆÃ‡=zdVþkR&d©’ùOvžgT~ þOéj%çë5_ägUÝ{ë;7}í—¼Tò¢È?vìÓ5ïUKë"¥ Gy®+ÊÕä·9G3"æAÁTd´#®žv¤æßòÎM#W_3¨`Ð%¿"ò?vðð)cYD’_rav”$3sã?~¤nËhGÏù’v†ýñÒÁ‹/ì÷³³^Üò+‘ßÑѾvëöú¯’®}qžYÛef ÄêðÉí2ÔÔ;\Éù’v.úåE/¾÷«ý?ùO-*´æKªñË–¤ä[þAÿÈPSF;z‡«§]þÚ’íaãùä×SŹ::Ýìßc=ü±»›îÂÜÙØ5-Qd„/ã|jFÊŸ¾`IØø?ôE$}±Ñr³»»þ§j¯OÕê0ßÿÊPSF;ÒáJΗ´ãÌ÷¿á»ï’¨ªmZéÓÆ€Y/àó¢Zq°çò7¥àÚ²‹¢ŒëŒeCjZp j‘(Ûc”9ISM—ÏBòîÖÜ͈|ô¯Ælšuð&í7»(¼¤%Áš˜ãºðü#k0Ê«ƒ%e"·'>ÿÝM·ÖÿˆÚcNØ„uئWà°ô9®‹\ƒõµÂÖÐ É*Óüw½¶ÈqþãñÈ*Æx,–=Köˆ¹6ëzLÉÑÖÌ?‘kp@þ9}D÷Œ? £ì¯Ùo½dLÿ&´ÆF×é3»î3Ø?à?Á×t÷øÿ±0ßÿ>úƒ‚?¬Ú°c玥kÞÍùÑ’Ô¾ÿÅ,DrÖ³/-Y¹¾®îƒúú½ÞzŸÏÛÚÚ¼böæœäüoÜC\üGEÿü3R¾þ‰ôÊMeaŸZ‡á¶à?q$ÏKÚ‰*ßÿ‰ô¡Y —Y?ÿïêÍ&þGºZÉù±ä=zdõ–*ëù¯ mý#)ËG‹]ÿ¨ÈhG:ÜXòûô“C‡­ç-ù'ðm@{'_ð ÿõïÆ’ßÞ~|íÖÚèõ?ÖPøOÉí2ÔŒ%¿³³#ìü¯%Ûû?<Çÿ©¡d¨U~äùßüyò7ÆÅ'øïáË8_†š‘ò£œÿµž­hŽëÊüwMðüïÂe2Ú‘Wr~ÊÏÿâ¿køü'³Á?þÝ þñïfôóþ“Ðþ»¸ÿ*ô€ÿÖØ÷†ä8õûoéÀ÷_Ø þñïfð7ƒü»üãßÍàÿnÿøw3øÇ¿›Á?þÝ þñïfð7ƒ{IôúÀ&‘*ÿÁo¾ýz듉_én‹ÿ$eâ¿ûü[¾ÏÝÿ]íêËßva|{M~Ž¥½dзºw«ÿ°ë?cøÛÕEaóý†‹šE{À³u‘ÿ¶_œÙ¤òúçp™ÖÁ8¥Õ!½ù'…×ÿ‡ù*v þ“÷’¿ Ï?UykÂÊèIIýækš"ÿŸÄ—ÿ³ÿ­ÒÔ|ËQ­ÀÐ^´€þ—¿¿Ã¿KÁ?þÝ þñïfð7ƒü»ü¤/¶ÿ¦Ë±½d0ÕÛKûúª)ÏýzÈäïËo™–9¶o•hiªY¾öíA“æ=úƒ‚?¬Ú°c玥kÞÍùÑ™#óåYÛ·0³ÉYϾ´dåúººêë?ôzë}>okkóŠ Û˜W ÏÚ¾…Œ$©ç‘òhmk;°rS™<žˆ ³53rÛ¾ iäyI;Qå<Øvøð¡Y —I³|éÂQš–]xX”œ†$®Vr~,ùGY½¥Jʘåó=£òK"׳8/Ð ò íß©4BF;ÒáÆ’ìØ§Ÿ:,eÌò-²Â¯Ë÷ =I¤nËh'–üööãk·ÖZë¿Ç3?ü› JæG™ ñ!¹]†š±äwvv<µ¨Ðšÿó´ˆüƒÿS@ÿÈP3ªüµ%ÛÃÆ?Ñú_òÏ)!#|çËP3RþôK"ÇÿþC:þ”&@ÿ›,æû_jÊhG:\Éù’vxÿÛ“ðù€{`üoœÿµ—Tžÿå³ÐIôü¯'øÑ[´Ú🠉žÿ êõæ~🠉žÿ ÑkÚ¶|þ¬á?>ÿ¢wqž:£N¾ úŸ §vþ×ïßêÿ ’èùß(ùÿ§@¢ç-zÍ´³Ø<)¯NMâ?A:ÿkZ.„\‘èÉͦþ' çŸÿ@w`û ¨]ŽíÒÛ/€t9¶W€0lÿL—c{È0ª·—þöõUSžûõÉß—ß2-slß*7ÐÒT³|íÛƒ&Í{ôXµaÇÎK×¼›ó£%2GæË³¶oaf#’³ž}iÉÊõuuÔ×èõÖû|ÞÖÖæ¶=0¯@žµ} 3I2RÏ#å8ÐÚÖv`å¦2yÖšˆ4-»È˜^œœ†$‘4ká2)c–/ÊÕ< ×ÉDéÂQy…öoº#]­äüXò=²zK•”±,"Õ~T~á|g~©ñÐ8"­%ó=òT‰ý;•FÈhG:ÜXòûô“C‡¥Œu©ùšÕ³Ò.‰h]¾ù #u[F;±ä··_»µ6´þ×¶fk¡õÜD­Ar» 5cÉïììxjQ¡5ÿÝ®#ÿ˜GÿÉ d¨UþÚ’íaãŸ@·+ÙF ô¿ú@Èß/GFø2Η¡f¤üé –„ÿƒÕÞHûªÿ5„jŒHÆ|ÿ+CMíH‡+9_Òï{>ÿ€x°ýÔ.Çö i‡í@ºÛ+€ËÑFïÒhý~bû–¤HCÒ Ò†4Ç‚4¤!ͱ iHs,ÚèÚù¯ iHs HCÒ Ò†4ÇbJ³ýoXl¥¸¼Ãkñׂü»üãßÍàÿnÿøw3øÇ¿›Á?þÝ þñïfð•ç_^Ý3à?–ÿ=øÇ¿Á?þñøOÍõ?Í£òKzÖXÉ|g~©uÂmþS±×)ðŸ"Lÿ»36P©Æþfwô9Nôï’Ÿklh^a¨"}ZýÎÎóèÖå{%õÖ¦\[vQsméÂQ¡ ÍXV“›lÆ<µH”í1ÊDoªQêÿúÙÚìõ'™c£kúÑÝš»Y˜m̉ô¯ï¾0'T™Åyº´’µY‘ò¹‹Cê¿1!k0Ê«ƒ%e"·'Nÿ–ênÔ÷È9Nð­þGÔösÂ&‚U7PÃÒ‹µ@¬5X_+l q$+ÓÿXS±h—I%?tNFúïzmf¥g §èß"[Óý‡ÍI#ÿ¬¢rBþ-Ù#æÚ¬ë1%G[C0ÿD®!Žü#9ÞÈ4³gëæ#ç8ÂØø³0Êþšý¦ÑKÆô‘aBklQ  ö¶™]÷¿IøïîH•ÿ ÿøÇ?þñüÛâ¿§ÎÿâßNð7ƒü»üãßÍàÿnÿøw3øÇ¿›Á?þÝ þñïfð7ƒü»üãßÍàÿn&Aÿq}#t“ÿòò⊊¶os&‘ÿV ª¨Ødûfg ‰ú÷‚b»¿9sHÂ?¤üãßÍàÿnÿøw3øÇ¿›Á?þÝ þñïfð7ƒü»üãßÍàÿnÿøw3ò_QíÉ©Næ;’^ФʿgL•fP_‘2ÿ¥ÕÕVy jðÓ¿i@lŒ©.J…%?8§&/Ö!À¿Õ¿ð¯ŽEH£°Ôç@3 –©ÒB4ªõ„4%ݳÿwþc‘¼5¦ÿšüÿCë²þÊd{tªÿ°ë?Ãý¯1+mè«¢RlA^« iae¢Ôjÿ ýÇËXD-³¤±NËD„Û/ø<Åë?Ëb\ÿ¥[+¶¿ÂEÖv«äøý‡-œcñ¢fCp:©ºþß0`Mþ‘­µ1\]dù®òO ÿºyK»s<©úû—ücì¾%·Dô­AÉ¡½mäœ@ÿÛ¥½}»éÌÊÿe±ÿþËZuý¬Ùý…䥢@¿éY`IÚasÂÁKWz£øW½°E¸kü;…5áÈád˜ÿ4êy3ÒÚü»üãßÍàÿnÿøw3øÇ¿›Á?þÝ þñïfð7ƒü»üãßÍàÿnÿø€Sçù—Wƒœ ‚ ‚ ‚ ‚ ‚ ‚ ‚HQØ~ÔåØ~$DYÙz°Û+¤¶_érl¯à*žy5ØÈ ‚ ‚ ‚ ‚ ‚ ‚ ‚ ˆ…í'@]Ží@B”•­±½@Úaû.Çö .Äy¾6z§6ð­ßOlß`'€4¤9KÚ"­iHCÒÒ†4Ç‚4¤!ͱ iHs,HCš3¥=ÿòj÷*i'\HK"–D -‰@Z´$iIÒ’¤%HK"–D -‰@Z´$iIÒ’¤%HK"–D¤PšíŸÛ§ã9‚x g-9¸2 âl¡HCÒ– iHs,HCÒ Ò†4Ç‚4¤!ͱ iHs,HCÒ Ò†4Ç‚4¤9SZŸáÛÏÉÝß'kW Wñƒü»üãßÍà?3ü{4kŒÊ/éÙ)™ïñÌ/µN¤ )óoï^§›ön÷ï’Ÿk´‡¼ÂPEú´úçÑ ¬Ë÷Jê¬M)¸¶ì¢æÚÒ…£B𱬄'7;ØŒyj‘(Ûc”‰ÞT#^"Êgù·¦Ý­¹›…ÙÆœHÿú¾HsB•Yœ§K )X›)Ÿ»8X,8!k0Ê+oR&r{ºôå%º˜ãÿÑêDm1'l"Xu8,½X ÄZƒõµÂÖO²Šúas2Ø×k3+mù Ú}v—c{°ÛoÀîrl¯Ý„ý7`w9Qn¥ž*â»%{Ên8ß“¯•º—³ûì.Çöçy@íÆ*óPi‘†4¤9¤! iŽiHCšcAÒæX†4¤9–¸¥íÒ¿Öö vHCÒ Ò†4Ç‚4¤!ͱ iHs,HCÒ Ò†4Ç‚4¤!ͱ ­¥æ¼'ÒN‰òr¤%Feåæòòb¤%blSü÷ú3¥Ù~sB[)޳aRÓ’iHCšcAÒæX–¤´ó_AÒæ@†4¤9Sšý÷ KÄØåoÒRxG²ÈÛ¦E¹‘Z ï6Ö“ÈVýNMœû?¶ßž+M±=Q¤æÛ¨ ÏÒ4­·5ΖŸÇµg´'µËµ‘òïíz™î®—üœPÓzE_Þí1 ìñ„ÏÛ²AdpS*E÷2~Æÿ[ã‹òóÌ·Ÿ~ü©ÙWä>ã0û{ß™qÅ·ŸyF=;2,ë¥ÿ)êë|è/9Aëo<>h.ù¯½úG]âóûúÊïþÚˆÓÍýŠLÕžÑßÿ¸xÆ`mgK_™ ?ê« ØŸ?w¤”¹ZÊ´,ó9™pº¾Ìô¯ ÖÎ’çî—ŸI–eT®Ê.=mÑÜ}ò£Ö9vúô9þ};Éó±â© {«5½å…<·Ñ2}ÖiÁéb£œú__æÒÏöC­Èwš¾eßÿGs™óö÷Cóôò—ÕW|FÈQTûðƒ7ͽÐ_6iGþ\åÿ7­}µ³³}þíü{KùºG}½{iC´ÏÔhGÖ¥–¹ßðý¢ñšùoênÔz_\¡^·¿ÖësgiG9½æõª»ò¿æ¾%¯1õÆIs¬ÛxÍÿ˜¡^GöCŽGÇèIsÔºU¼•GÜü‘¾%rÌUtÈú^;sâµê±ÚFUæË2ý9‰ÛÎ,wÿÌÁþek—~E{PêØÆ:Õã|cZÕ‹>½ûkÿ¥YG/ýµÛöéÛr^›¾¿Ÿ¦ï¯Ú¿sËõX &_”×úÇ/f͹Zê…züÊ3ƒBüÿQžãï'Îk<_,ª<úÚÑÜ_ö×ëÖé›6ÎQ+T¯ãûý`m¨ü¨ÿUÜ¿`°öþÕ“æübð8¨*ÿÿy¿î¨NöKÕ‰ùgMô×ÏO?î«Ý&|é?æÎ”ŸÀrjþ…òÿ8ùQûç?æ2ýBï‰sÞ꥖ííw;_æ½Ü[_×ÿÊôªU‹æV­ÒëQàøö1Ú±Zç£~ ý}/-P×^—åÓkezéuzý oDyƒ¼AÞè:oΉ<þÄ#Íx&0¶éjÈÈp’‰ÿì[vI_išxœì @TåÞÆJѪ¥¶š™ffæ’K*.+b â¾ ‰š äžÚîívÛ]3K+«Û×b¦išÝÊ%+M DPD”u¶aDæ{μÃa–Ѐ‡ç×ó£™Ã™aÞÿÌ<„Ð[b·î¼#Nr ¯ä"Y®•Ùm»:Ÿ¹Y’Z_#IN8Yd±XäM.›$W(_®1tƒ×Âë ;lƒÚÂ`;ø l‚ …Ô*—a‘Ú7‚¨ÆH)ÿ-–î•JAøÿBi¹cTJ3<Ûí¯¯*—)ªâ~UåJ?~uSŸ?~uÞÿòç‚»ž¿>dì_·|…OÍ¥‡ï·ß·S×Wg$}û›Óýèùþ¶mžøèòÇ ´¾]t¥7_j"9;ÉŸ“äÏ=U]ÿÃøøK=ܬ§¤'¤yøèWËuøŒx5ó¿ÕögÛÇ÷Åä±þNÖÿªN‹«øø×Ã^‹õ_N~N^®‚7à27›$ë!€õ˜  lj[Óm’ü˜ï{ù¶IÒíðx'¼ Þ ï-á½°¼¶†òƒ¥ l €íàƒ°=|v€ÃŽð(Ï©3ì»ÂGa7Øö€=ácòZaoØzHò±$õ“Äcp|\’‡’äÂAp0‡ÂaЇ>p|úB?I~IÒ(8úÃ1p,Çà p"œ'Ã)p* €Óàtø$œåGâL8 ΆOÁ9p.œçà  Ÿ† àB(?sÃ%p)\Ÿò³y\ Ÿ…ÏÁçá ðEø|®‚ÿ‚¯ÀÃWáàkðuø|¾߆ïÀÕp \ ×Áõp|n„ïÁMð}øÜ ·ÀáGðc¸~?…ŸÁÿÂÏáÿÁ/à—ð+ø5Ü¿Ûá·pÜ ¿ƒ»ànø=Ü÷Âà>ø#üü þ ûáx‚¿ÂÃð7ø;üGáŸð<OÀ¿` …'a<Ãa< ÏÀHxFÁs0ž‡` Œ…òw;À‡aGøì;Ã.°+|vƒÝaØ>{ÁÞ°ô€}a?Ø€COèÂAp0‡ÂaЇ>p|úB?8Ž‚£¡?ÇÂqp<œ'ÂIp2œ§Â8 N‡OÂ0΄³àløœçÂyp> ‚Áði¸.„‹àb¸.…Ëà3p9\WÂgásðyø|¾_†«à¿à+ðßðUøø|¾ß„oÁ·á;p5\×Âup=Üß…á{p|~7Ã-ðCøün…ŸÀOágð¿ðsøð ø%ü ~ ·Áoàvø-ÜwÂïà.¸~÷À½ð¸þÿ‚?Ã_à~x„‡à¯ð0ü þÿ€GàQø'<Ãð/CáIOÁpOÃ30ž…QðŒ†çácaŒ‡ 0ê  &Ádh‚)0¦Át˜Í0fÁl˜sa¼óa¼ áeX­k8p’žœ¡ ¼ºÂF°1tƒ×Âë ;¼Þo„7Á›á-° l o…·Áf°9lo‡wÀ;á]ðnxl ï…­à}°5¼¶má°|¶‡ÁðaØ>;Áΰ ì …Ý`wØö„Á^°7ì=`_Øö‡àãÐzÁp ‡À¡pô†Ã¡Ÿ€¾ÐŽ„£àhèÇÀ±p'À‰pœ §À©0NƒÓá“p „3á,8>çÀ¹pœƒ`0|.€ á"¸.Ká2ø \WÀ•ðYø|¾_„/Á—á*ø/ø ü7|þ¾_‡oÀ7á[ðmø\ ×Àµp\7ÀwáFøÜ߇ÀÍp ü~?†[á'ðSøü/üþü~ ¿‚_Ãmð¸~ wÀð;¸ î†ßÃ=p/üîƒ?ÂÿÁŸàÏð¸€á!ø+< ƒ¿Ã?àxþ Áãðü †ÀPx†ÁS0FÀÓ𠌄ga<£áyxÆÀXãaL„:¨‡h„I0š` L…i0f@3Ì„Y0æÀ\˜/Â|X/ÁBxA ”¿hr‚ÎÐ^]a#غÁkáuÐ^o€7›àÍðØ6…·ÂÛ`3ض€·Ã;àð.x7¼¶„÷ÂVð>ØÞÛÀ¶ðØ>ÛÇ`ø0ì`gØv…Ân°;ì{ÂÇ`/Øö°/ìûÃðqè ½à@8†CàP8 zÃáÐŽ€O@_èGÂQp4ô‡càX8އàD8 N†SàT§ÁéðI8™pœ Ÿ‚sà\8·A0> À…p\ —À¥p|.‡+àJø,|>_€/—àËpü|þ¾ ÿ_ƒ¯Ã7à›ð-ø6|®†kàZ¸®‡à»p#|n‚ïÃàf¸~?‚íðø)ü þ~ÿ~¿„_Á¯á6ø Ü¿…;àNøÜwÃïá¸þ÷ÁáÿàOðgø ÜÀƒðü†¿Áßáð< ÿ„ÇàqxþC`(< Ãà)#àixF³0 žƒÑð<¼c`,Œƒñ0&BÔC4Â$˜ M0¦Â4˜3 fÂ,˜ s`.̃a>,€—`!¼ ‹ Ê/Ö;Ag诮°l Ýàµð:诇7ÀáMðfx l›Â[ám°l[ÀÛáðNx¼Þ[Â{a+xß5â5Á¢*¾Ñû?;Áΰ ì …Ý`wØö„Á^°7ì=`_ØO~ €COèÂAp0‡ÂaЇ>p|úB?8Ž‚£¡?ÇÂqp<œ'ÂIp2œ§Â8 N‡OÂ0΄³àløœçÂyp> ‚Áði¸.„‹àb¸D~m .ƒÏÀåp\ Ÿ…ÏÁçá ðÅkÄë?¶‡‚õ{9òyùSƒŒgW̳ GÜð¾kñ yV¾k¥éÖ·².NnÖïö¸[/"ŸºÞ¹[Ï®òž7ÝkýŠy¶“|œ*_“|}âUy‹üÕ“õ5"Ü|„_o”¬³éVéͦ Ã0L½ÏöfÒÇ÷ÈÙzíDuekRñîêKõ}Ī akõ^UUîš»ÿ>Õx/W5U¸UULu ak•Ç^Ëvm¸ê¼åÕø€©“Á ûÔzâƒ;å>¹]:ÛÙM7²IÚœfçýÝ’Ÿhü·1‘†a˜ºhé—‡åC>ô9Ê\4ydR Ã0 Sï‚JgŸ3 Ãh ìs†am„}Î0 £°Ï†a´ö9Ó•œ“šn0g¥æä¦çæeä^ÌÈ«ÁäÔ\”’‰\Ì7ç]¼šÎõ6¨õ^]ŸÿùÓÑc?þqT39Áõ6Àõ†ë“ðö«MÏ­ÛfqIyÞ§ÙgoÎKÎÎNËÍãzÔz¯¢ÏñÔøótä…¤ääìm$>5 +ªè)ÏõÖ÷T²Þ8ÝǯÎ\·`ØîíŸþzº¾çphį!{öî\4ä“7昲s¸ÞµÞ«èsíà ¢ú“´ÚŸòX×ÛÐÖ{üBŽvþücÿé˜øð ±âp¢þ·?,:æÄ™s?ÿ¼ëÒ›³¸ÞµÞ«ësÕŸž5‘JúMõÛÆõÖÐz]ˆÇ°zSŠÎd²&E_Ÿƒ%Ä“¢âÃÏÇb]ñif®·A­—}^ùóëÕL*ésSFF²VbLK3&ŸOĺâÒ2¸^µÖûΩŒw<=“3NÕæzÙç•?ß¹^ͤ’>O1›<ë5¤ôô„dÓ¹xÖ[A¿q½µÑ禌Sµ¹^¹ÏïQ§ÏrÖnݱvëVäÀŽ­ÉÙFl9°cNˆ÷ŠÓ;£rÄ>;Ù!¶(ܹ—Šªýf¿4ä“ãÆOpã 'Ê¡þ®·êk;ïܺCYŽÃ> Fû«BÖþ…wEßQ½ëÏ÷ÔÌLD<ë«1Ö…+¿:ew¶¬7¯öôL1‡ãôN³Y’‚BÖyVïÅS>Ñ” ¯¤ßþÉzíµ3H®J)h·8;7È«[®¬QY/Nˆ¿’&Favµ§d‘º¶^ûØß}­NYÞ*çbÕæÝµpÿªÕç!x¾oÝ'»òÜùekÙ>É6*»a<Ó±e-¶DíW.Ugû­¢®Cc‹fÆ”µ”K½[oרÜã;Ù/ú¹ì>ŸÊ¿×+žïi™™HªÙ\Aïá©jO-®îÐuž¢°1[<×aKõ~P$%#CgJ9_i¿]õz±¨yµ[œ´{uøn±"eÉ¢ÍıÞPs8›º;H\JLC9«ì&.R§Öë‡Û)ÎîÄêÊ[Žýæí6+†½Õêó²OXœµ?*«â–þ4¯¹~+w½ö·Ùa[êÝz«¸F$…¿ãDHvÔû¾.«äááp%Õ²^Ûó=+ GqÕ’™™ð_¯lYž¹ÚËK~Ž{y¥f†XŽƒÛjüˆJp§KI=Ÿh¨¬ß®j½e%Ö5@òÖXîe£r¶Ü-ua½eãp;Ë]]¹ÛË]MÜ¿ìóšë7‡õ–ûšƒ²Q¼œrÀU×[Å5âöãè]|¡ñÉ/Q/È”CÙGK5®W<ßÓ³³ñ¬¯–¬‰ÈZãå•–¡lÙ••5O Z±ÇSòš·~ý/Éþ½Õ<åõ©itÆJúíêÖ[vQÊvñ׿Öµ&"BÙM\Ä~‹Ãþ’õïÀc,å^³ºëýÛ («+w9ö«Æ½ï)¥E¬¯éû·®õ9ž×âën<å^mP^©/¯?T´^±4œÁi¬Åî8¶^¯·ŠkÄÆµ¨ñâ{+*»ý#¡ì£¥×+žïÙÙHzVVuemDÖZ/¯ô¬e žÑó¥ µès//TzzÄújüpöIËÌ4¤¦ÅTÚoW·^,j>nyÖžŠv˜¿'kW´ÖZ×é{‚Ä–µ^RXV„äµ^lQF!®G jmD„øêÂzË€}u¬nWVD¹ËÁ[åŽÆæKR%£«®õÖµ>ÇÛµ¿œÇiJ­•ý¶i½øþ`Eëu¨/±ñ­Ãz½Þ*®Ñþ« e·²ûˆG–µv‡í!QCß5çä âY_-Ùí)gœÞ lY{:[~ŽŸ>-Þâ™nÿÞj žòÆ´ôX}R%ývuë=…Eym({³=7œ¶ýdIÂ{ÅJ¥à bcÆÞ`1I V¶`QŒöÉÈ>]§Ö[6·S9[îrp/ÏǼ‚íçPÓ÷oêóÊÀªå ­6û­¢_Å—MêÝz¯bWqÍÕ»^ñ|ÏÌÍÍ´>å«1žïžYç…&9ƒÓ»srÐfáïz­;“³ÎË q•n>ónõ~PÑZI鱆äJúíª×‹EIXÔâlPðÊée,um½•ßΊnö?YÎ?\/û¼æúÍáÆ+GÝÊ¡x-”Xm®÷*ÖXõk®Ñ>ÏÊÍE2«;^ïF*_˜£Ì±e}dîz/œˆÄé r±=󇧫÷ƒâ)ŸœaŽ3š*é·²^q³ß?-UËm¶K][o%·³¢›ýO–ó׫âÏŸ«ò¤¾Òç;׫™TÒçÙ¹¹ÙÖ§¼‚QS†9¾Ò~«k똕©õþ“åüÃõ–ôy—Æu¼ÏUy¾s½šI%}žwñb®V’“——fÎÒ'§VÒo\oýMåëî+m½›}^áóëÕL*éó‚‚‚|­äbAA&Ö›–QI¿q½õ7•¯—}^ùóëÕLÊ]ïŸçãð¼(¼|YNaá%M¤àÒ¥Ìì\¬+¦Ì߯áz5JÖ{}þÓÑcZúc"XÖÅõ6´õâømÕØ6Ñí/Ò—‹ŠÎýµëŠJNåzÔz¯¢ÏÿˆˆÔä߯Áº¸Þ†¶^<߿ذâ“çüχ°hcLVô冕†$®·A­÷*ú<²!ý}I®W©h½Å$†Æéñ”רߗüø?³Â×Û Ö{u}Î0ÚŽpð”ÿó|ÜÑèØZÈ¡ÓÑ5å£`98.źÊ¿q½Ú^/ûœaFaŸ3 Ãh#ìs†am„}Î0 £”ôy• Ã0 SSö÷q©ýÕ„B®†²}¾é‹m Ã0LýJ¹}®ú— Ã0ÌU„}Î0 £°Ï†a´ö9Ã0Œ6Â>g†ÑFØç Ã0ÚûœaFQú<²3ÿ½?Ã0L=ú|+ûœa¦þ‡}Î0 £\iŸG%§Æ¤¦ÌY©9¹é¹y¹3ò¦Þ$· €aêE”m&r1ßœwñBjzõöy¸^þ G_mzNKa¦ÎæyŸfŸ½9/9;;-7¯zû<$N÷ñ«3×-¶{û§¿…žf†aj(‡C#~ ‰Ø³wçê !Ÿ¼1Ç”S½}~üB>YüùÇþÓ1ñáb#.ÄáÃ0 SíAÁ†EÇœ8sîçŸ÷ xõæ¬êíócâqü¯7¥èL&kRô Ã0L gLŠŠO ?‹âO3×DŸ›22’¦ÖóΩŒw<=“3N©~K¦vbLK3&ŸODñÆ¥eÔDŸ§˜ÍZaj3¢ÏM§T¿% S;IJOOH6‹×¡xck¦ÏS33Ñê SC 1›%Ïu’•’”¾nu¸Y’<Å–¹ØbÞÝì7®ö”V‡‡¯öôoSÌáöW8`]¸TÌÎ ìiVöQN;\›ã–uAb·¸mRPÈ:OÕ§Äh;¨ôDSJt‚þŠú¼Š¿¿EôyZf&’j63LÍEº3ÈS9­´tª9[æíÆi§”º;ÈþR{Š ÌçIRªy·8;/h÷êðÝÊ>âRe¯-Ôú9EÙ"vÃE¤ Ý¡ë¦!‡èº”Ô󉆚ëóôìlD´:ÃÔtæíÉ’$iW´&"k—WZV6îÊÊò”‚ÖìY/I^Ê«(8_±û¬‰ˆPöDì/¨Ä~£8K•{mö׃°=-kêcaBPéúÔ´ :cÍõyFv6’ž•Å05)hhrqvm:Ü+=b=NÏß“5ïÊÚ3_ JÏÚ#Þ»ÖËkmD„ò6=+B¹à|\к›’µÖrNß$®m­®-ÂáÚ²"$¯õbûQöÚ¦&’–™iHM‹©É>7çä ¢Õ¦†²;;{¾œ‘½WÙ²ötö|//É+X?gì ÅAµ'¶œÞ€³råž>·Ù§ÅOeg{zmÀ{í¯_ì)o¨äÚÄÍ$ÛG\»!X\íü½ÙÊ SsA¥ÓÒcõI5×癹¹™ÖJg˜šËîœO)Ø|æ]qzwppU.µîLÎ:/¯ugÎà­9猲ÝóÝ3AE~gƒ‚Xwæ‡}ªxåWt†ù'A¥'¥gÄ’k®Ï³rs‘L†©á¬ÌU^Ð׫ŠYïåµ>2o3s#íßôC®òÚø÷OKbO‡}ªråWt†ù'A¥'g˜ãŒ¦šëóìÜÜlk¥3L]‹}ŸgåFþíž•ïóÏ/Â0ÿ$™99¦ s|MöyÞÅ‹¹ Ã0L ''//Íœ¥ON­¹>/((Èg†aj8 2³s’Ó2®°Ï«ôïýÿ<‡«-¼|YNaá%†a¦&SpéRfv.Š7æïþ>ú¼øßûWõ÷·¬Û&ú¯ýE„BjžËEEçþÚâJN­ö>ÿbÊOžó?rÀB!¤†1ÆD r¿Ü°2ÂT½}þWLbhœ•οÊ0 S yÞ§ÙÇÿ™–hDª·Ïñ •þçù¸£Ñ± Sïrèt4ÃÔ‹(Zôí± ñ(Þj?>g†aêfØç Ã0ÚûœaFaŸ3 Ãh#ìs†am„}Î0 £°Ï†a´‘è¾ÒÇìs†a˜úŸ+íó}[^`†aTIµ÷¹Ú¿Ì€B"ìsB©kèRÓÒ²²Žœ9óãñã{ŽÝùÛoß>ì‡ïúý÷ý¡¡æœ]JŠ…}N!uôù™øø*î|"*Š}N!uô9Þ¦ffžÓé¢õz‘óÅ'lG"Lf3ö<faŸBHÝCô9Ñã““L¦Ä”'l‰MJŠ1/ hxT:öüñøq ûœBê¢ÏqŽ×§¦*Ñ•nuTúÙÄDì¹}N!u¥ÏÑᆴ4%‡ŽêÊQ:ö±°Ï !¤®"ú·¯tÑç¿„„XØç„R÷}ŽêNËÊJÍÌ´ïsñSè"JŸ:uÊÂ>'„º‡èsCZš9''#;•®¥‹wÁ»PìèsñýУ‘‘ö9!„Ô=DŸ£À³òòPéâ(ÝþµQéJŸ‡ÅÄXØç„R÷}ž—‡öFoëŠÿMhŒÑ(~s‹øå-gQõë¿$µ°Ï !¤î>/(,¼‚ý«öûrÙç„RË ÏSÌY)æì´¬ìô윌œÜ¬¼¼ì‹ùyùù/]Ê·¦àòåKEE"âx¾J}~7ûœBjö9!„hö9!„hö9!„hö9!„hö9!„hö9!„hö9!„hö9!„hö9!„hö9!„hƒêóhi+ !„Ô"ìsBÑìsBÑìsBÑìsBÑìsBÑìsBÑìsBÑìsBÑ5ßçnìsB©Øç„¢ Øç„¢ Øç„¢ Øç„¢ Øç„¢ Øç„¢ Øç„¢ Øç„¢ Øç„¢ Øç„¢ Øç„¢ j¨ÏÏ÷•¶ÞÍ>'„Úƒ}N!Ú€}N!Ú€}N!Ú€}N!Ú€}N!Ú€}N!Ú€}N!Ú€}N!Ú€}N!Ú€}N!Ú ¦~K_þþB©UØç„¢ Øç„¢ Øç„¢ Øç„¢ Øç„¢ Øç„¢ Øç„¢ Øç„¢ Øç„¢ Øç„¢ Øç„¢ Øç„¢ Øç„¢ Øç„¢ Øç„¢ Øç„¢ Øç„¢ Øç„¢ Øç„¢ Øç„¢ Øç„¢ Øç„¢ Øç„¢ Øç„¢ Øç„¢ Øç„¢ Øç„¢ Øç„¢ Øç„¢ Øç„¢ Øç„¢ Øç„¢ Øç„¢ Øç„¢ Øç„¢ Øç„¢ Øç„¢ Øç„¢ Øç„¢ Øç„¢ Øç„¢ Øç„¢ Øç„¢ Øç„¢ Øç„¢ Øç„¢ Øç„¢ Øç„¢ Øç„¢ Øç„¢ jºÏ#Ùç„R+°Ï !D°Ï !D°Ï !D°Ï !D°Ï !D°Ï !D°Ï !D°Ï !D°Ï !D°Ï !DÔøïoéÒ˜}N!µ@Mõ¹‡ô1ûœBjö9!„hö9!„hö9!„hö9!„hö9!„hö9!„hö9!„hö9!„hö9!„hƒšîsþþB©Øç„¢ Øç„¢ Øç„¢ Øç„¢ Øç„¢ Øç„¢ Øç„¢ Øç„¢ Øç„¢ øïý !DÔPŸŸgŸBHíÂ>'„mÀ>'„mÀ>'„mÀ>'„mÀ>'„mÀ>'„mÀ>'„mÀ>'„mÀ>'„mPã}ÎßßB!µBÿþö9!„Ô ìsBÑìsBÑìsBÑìsBÑìsBÑìsBÑìsBÑìsBÑ5Ýç‘ìsB©j°ÏïfŸBHíÁ>'„mÀ>'„mÀ>'„mÀ>'„mÀ>'„mÀ>'„mÀ>'„mÀ>'„mÀ>'„mPó}Þ˜}N!µ@ õùyië=ìsB©=Øç„¢ Øç„¢ Øç„¢ Øç„¢ Øç„¢ Øç„¢ Øç„¢ Øç„¢ Øç„¢ j¾Ïùû[!¤6¨©ßßÒWÚÊßÇE!µûœB´ûœB´ûœB´ûœB´ûœB´ûœB´ûœB´ûœB´AÍ÷9ÿ½?!„Ô5ÕçÒÇüý-„R‹°Ï !D°Ï !D°Ï !D°Ï !D°Ï !D°Ï !D°Ï !D°Ï !D°Ï !D°Ï !D°Ï !D°Ï !D°Ï !D°Ï !D°Ï !D°Ï !D°Ï !D°Ï !D°Ï !DÔtŸŸíìÆ>'„Z ûünö9!„ÔìsBÑìsBÑèç´¬¬#gÎüxüøž£GwþöÛ·‡;dÇáû~ÿ}h¨9'G—’baŸBHÝ}~&>¾Š;ŸˆŠbŸBHÝD¼~’š™yN§‹ÖëEΟ@°‰LH0™ÍØó`X˜…}N!uÑç8DONN0™SRœ@°%6))Æh¼`0 áQéØóÇãÇ-ìsB©{ˆ>Ç8j\ŸšªDWºÕQég±ç>ö9!„ÔI”>G‡ÒÒ”à¬8PWŽÒ±…}N!uÑçÑz=:<)=ýÐÑ£x+*}Ž2ÇQéØÇÂ>'„ºŠèóóz½(sQ麔e *ýêú<êÑkÙç„R ˆ>¿`0$gd JëSS•ÓâU—óÖ>¿Òï‡²Ï !¤v}c4¢ÌMf3¢Ô¸Ræ"è| ûœBê*¢Ïqø-ÊÜá(]|KT¼}þÓ‰ö9!„Ô=”>O1›SJWºÎú³èJDŸÿbaŸBHÝCô9ª;-++53SésDüºˆÒç‡N²°Ï !¤î!úÜ–fÎÉÉÈÎF¥+GéIééâ]ÄÏ¢‹ï‡Œ´°Ï !¤î!úž•—‡JGéö¯½ˆJWú<,&ÆÂ>'„º‡èóì¼<´·ø™sñÓ‰1F£øÍ-â—·œMLDÕ[¬ÿ’ÔÂ>'„ºú¼ °ð ö¿Âß—Ë>'„ºÌ•ôyã*ö9Ã0 £J*ïç¨ÞÒ—­® Ï†a˜ºö9Ã0Œ6Â>g†ÑFØç Ã0ÚûœaFaŸ3 Ãh#ìs†am„}Î0 £°Ï†a´ö9Ã0Œ6¢ôyÈRlok¼¥O§P/k:W/Û>ØY쯜`ê]Šïw¦ʼn©o©©Ú;º£t°‹´ö¶R}~ÜC~¯ü·–vä0I$ÚÇI$ÖWJð‘â}m‰UrZïe¦¦;ˆ©Wñ–¼ËW´§Ýß[¢úŸío‹Ø‚·g{ɉìi}ÛM>·hïäžrŸ¿Q||nò¶>NFKúqrL㤔IRZ€”9U2ºˆdÏ.I2ÇÉ!—¥üNr$¦¥©oQý1Ã\Y&YïµIÒÅñRÎ)kœ”;VÊ''²ý¥l¿â·âDq2ü¤ôáò[ñÞ¬árÒ;¦lŸ§“2'ÚÞš\Üi¶êΟÓH¤pž-—溔MÑg¤@´=S‚OÄ ÃÔt?O’“;Ñ5óÝ™Wút StæÕ33Ÿp•Ë|P©>·ëóœ'Ôx~ 3R`mr´÷åàÆrÚR´ ‘ËB[‚l­^9¿¥Ó¶&¿¾µË—M:}ٴ˶¦]¾¹¹óö:í¼®ãwnïnÔ~§K»Nì–îß޲϶ðdóº™âp½Ü>G™‹>‡mM^´¸L*¨ôêÌë®KìûŦ uWáâ #ª?Φ¤lŸ_NÕµz¢iÏãwö=ÞÊ+¤ÍඃCîÒzph«A'ïvçÀˆfG4íúFˆk;}M·§N'¥ö‡Zöùê•÷¹88G™_šëR,÷¹(írú¼â2¯Æå[^•,–òÕ`ÿË3 ÃTWÊ–9‚N¾±Gä]žçÚ ?ÿÈÈ ]ýcÛÙ?¶ó˜ØŽcâÚûÇ·•ØÒ7ñöẦCt7xê÷Mtî+=rRjý•CŸ¯½M ki÷zËT)i¢“~²³!ÀÅø¤œ¤’g52=ÕH?ÓU7«‘þ)9ò‰™®Èeô¹(ðyNrŠ_ÜXÕâ:%¢HÏÎ)µýýæîESÝLØø Û·8=Çû|;Jï=ü mK‘]!+—Uö×yö1wû‰)W‚r«äâö;‹Ûó·×‰fšãZîmV®Á~ö a˜jŒê/3W’oj[_?G'ßÚç|ïØÎ£ã›˜à1%Ñcjbï)‰MÑõ˜¢ë2Yßa¢¡ÍXcËÑI·û&Ý2,ÉÝËèê‘èÜõ´SÛoqYåõóß;Ë}~ºµüýPƒ·ü3-èó5ý›½Ö»É뽚¼Ž·}JòZ™<ÓãÖSm.ñó-Eÿ’ËÓþEû‚bòg8%ÌÀöÊÆt‹e“ï–‚ nãæ³ËöæKóg¸æ}(Ù^ç7Zòg ±ýœÌ §ÂU¥®3ÏbYÕnÉöæî—f¸Z,ûw´DtwWv6½'){nzkÿ¦æî…+Ýʽ8>¢²s‘ÅrhåæCíÜʽNûV0cˆým.{ …«\•o°¬j>Ôàé¦\ÃTWTÿæŠ"¾ZXú;¡ÇË?ß‚®hÑÿBG¿¸^“ŸžøýÁlñ ÔÔ{ÌÐ÷œnè`l?)éþñÉØ¾õ‡¼‡$]Û_çÚýŒó;DŸÈ}~¤CIŸ£áM~rŸ—T±År©âï®^¶XŽn\ô×ë÷L­ß<Í/î^ ú»)ßý$A±hè¿g‹ö±õù˜’>/pÅéßâ,‡ÚËpµÿ9ŸÂK®³WeÜlB'7_’ÞßÍÖ½ÝÜíöŒÝöQlþ7|”‹ØÍw‹iš{¹Ïš‹Çþ|ЂqÁBcL~ÀqSí¯S\D¹a⬸ͅ/º–{ —B÷+7Æa Ã4ÐL*IÎÛ,ŠŸHDÞ30¦û¸x”ùÐY:¥cÎÖ˜eè=ÃÐmºñá)ÉÊv¢ßà¥wï}¦ÑC;qÕ>ï]òz ú<GìþòϜˢÖ2¯<ØçÈúE!£å&Ïæ"RPܽ ýÝÄ·V‘K›åëÄÆoy£èó÷|·ä÷ù6ëÈƨÍm‡å¸*—E®S9›ZÜçaÝÜÅž¸æ\›ï–ëgñÞ¤â>w¸ø¥¯‡¦X ßþ¥¡¸nî×)®G¹a¹Å}ŽÛ,>œÃ5ˆ ¾×ß5å£aXõ±Ïb–SG3Ab¦v‚&GÌþ¶ (ÚxÇzLI2K7bžÞw¾^©îÇgúºO7*[n÷Mj6ÜØtpâÍý"¯{XîsQæÑ¥½ím}í!÷¹Î_~ÉÅb=,ÿÛJÇ>Çß]pÂÏVæ¢ VÚÚ2®¯[æDIäÒ&ù:W­8 6^þ^îó¾[²ýÜ,¹¿n¾4w¢­Ïi;,s¢«rY$ÿÙRשœ5õµõyHw±§%dq ®¹ùÒL?·Ü‰¶>7Nu/÷â–#K¾âÀÎ1]Ü®S\ròq¶ø6[Bʹù‚Û‡ˆ³ùKæÄ!öka˜êŠè¦>Fiò ?9芇žˆóz2qÄ\ýÈ`è`ƒ_PI¥{Ä sNQ«ÑÆ;}-| -†%6{üÌM¿Ãö¸þ¶ï/úüȽò?•ûÜÏÖçùU8>GŸ‡nšÄ×YüË#ñË[^ê››»§p³mü4ö+œëZ¸ÛÖçæ¶>ÿªùÒì±¶>ÿ©Í0ì“6NR¢\ç…ÞnÅgc¿ú(6{„­ÏÅG91B*Ü1$ÛzÀŒ=³ÇÚúÿ}G̪ænâåÓÛ*º¸Ø.v>»´œ{í@Ùë ëìnÃÂq¶ø6ç,w-{ —vÁôV•_„ùí£¥_4f몬¥Î÷;Ã05ûGP¹ >råöŸà7ß0v¡qü"ãØ†‘AzŸ9úÁv¯¥w«k;JwŸ¯î]K]«ñ­†žnÖMþùñ‹\B”¶µ•ûü§;¤°îò/{‰÷•s‹ÒçÛêg6Ï9áWR樅¬¶òŒêåf¿Š4¹Ò•Û–nísËqùõŠ‹8”õ_lÿ^ó ‹ýes–•úù|šH^¶9ÙöºÓþœqYq)û“7î¯äâïJÛSö:•Ê ³œX,ns²ÿâr¯Á~¥Ên Ã0ˆÎσwñ¯Vó–+·Ïä„ñ‹“—'/5Ž_h¬1·¤Ìø%¶~"ñÞá ÷ù$´y"®Í°ˆÛ{È}Ž2G£Ïq|þÜ%}=Lþ@¢Ï ­ÕWI™Ë‡£ÎVú(P°Â8ýY#ÞN\ldPj¼×¤åôý>ñ÷yÇ·ñ‰Ð7öÁááw>¶]ô9ÊüȽòñ¹CŸ'Œ¶õyÙƒseËeë[ƒ˜OÿôsNšìŒ&É*ýↈC·Û÷9wÏZ,Ÿ7_ŠnÄéLƒEç?Dý™—ŽÃ ³¿Íªß6†aêGŠÌKýÒc»>ŸýRÒœUÉÏ'MYVòÓ,žÓ=&'vWR錈oïßÁ/¶½Ï©»û[ÄÁ¹}Ÿë!…õ–ûÿt:úÜ0Aѳõ¹ý×I»bÖ…>Ç‘¿nÙfµsqÚ±úÓ®rêãmf4?¦^¦Ü>÷™£zÕôôë&TºRž>³uƒg$öŸšØkb£câ•íŒï82¦ƒÏ©»{ÙúüH¹Ï?¿_îó¯[ÈÿP4¬Ÿüw+b}¥è˜¿Î†í‹:µ/J¼=µï,&ŸÅÛÈ=gOî ÙöUø[=þô•ìûQÿqÎ0 S×âWÎßýQú|d°aùš”g×¥,xÝtèx¶È¯¢Ï7 ÒÍH`­ôžãå£ôoþ—ÕÙ?¾Ó¨˜#û\Ÿ£Ïv‘ÿ2Ñ™ÁRÔ(éØ\éä\)4H:9_ [èrrëÉ )d¾$¿ –tû‡Ì‘r?ñê8ç2Ξ%%M*Õç¬ôú˜„ÑL= ¾”fêQþŽ‚ƒg¥ÏÇ-6¾¶%í­­é/lH]`=JŸñ\Ò”gŒãFüæë½gë†ÍÖy=™Ø/ ±×$®Ç¶Ö¢û6\öXÇãsÑç¡ÑçÏ\ýÂmçV\nùµç–»E¯¼!úÙÏ=×$jùuQϸE.”¢–5Š\$VJ‘3KÊܾÏU¨3Œæ£zA1WšØÒ£3Öšh'trà I¿Ìx›­¾bMÊÂ7Ló_IžýRRàóÆéÏ&M[™4y™qübãÈ`ýð9:Ï'{Œk7,ì¶®òïWü½³Üçûî³õ9Þ¢Ïÿ …wBŸ#1¤DTô)iºS “CÄöäiNISäÝäðU—úÕÛ‰¹Ò¨ÞNÌÕE¹ûâíú|é[)«?M_ÿyÆ+ï§-yËô*Ê© ÏSgIJ”nÅ.§Ìk/ Ã0Œò‰ØþJTºaÍÌ踂Eo˜V&ù/0øÌÑ™©{|Z¢×“‰}§Êé=)é:&é4*¾OlËÑŽ ‹Lyu¦èó½íå×Ï?¾M>=L:á-‰2/·Ï•Ï|ª$Ýž ‰¤LbêY’†©á(/bØ¿š!wûפu3/¥8þ¢¿%öõ™'ú»÷@Q–£Ï±çèsQãöe.šÜ<ÏY$'È¥¢à½Ù³]”˜†a˜ “ò¤Ó4ùõÉò?ä)ûzµÃËkÊKî8&ÿ ‚§<åJÿº…í·£Ïqä#s‡UD‡»-n|y‘$þ®œ8-þäœØ(NØ6Zÿ2]É¡c¦bû‹`L=‰¸ËDaж)˜ã”è,Žsœ2§Ê¿Po3'Úþš3NÛ¿ô·Ø’ìoûÍKâëk>*=Ú£ä¯W„—?GdÏj„G-[V4•óòr^k%ç­,«*ÉúζØod†aÊý)bö•Ö¶à´¨Y%ØhVT±ÑÏ+š^nŒd“ÿA¨Ã«1¨t•.`+e.>Ö›Öê^ÓKÎ9ûU±SRɽÉÔͨþ˜a®4eïAQ§ÊÛŠ‚úuˆø,°¢iá¼FaýäZÑkì'¼%QìÊ‹3"±ÖŸœ?Ç(ÞÚ~^q‚õÕþ)%/û«þÛ_™+꿚¹Ò(¿4‰©qxº9>‹}®Éú«Åoÿ¦3¶x[£·ü+Í‘ëYù]Þò E™;¸‹T>#ŒZÁ»ê!EWú½c¢)œ$ÉYíÇ Q—®‘¤—á*ø/ø ü7|þ¾_‡oÀ7á[ðmø\ ×Àµp\7ÀwáFøÜ߇ÀÍp ü~?†[á'ðSøü/üþü~ ¿‚_Ãmð¸~ wÀð;¸ î†ßÃ=p/üîƒ?ÂÿÁŸàÏð¸€á!ø+< ƒ¿Ã?àxþ Áãðü †ÀPx†ÁS0FÀÓ𠌄ga<£áyxÆÀXãaL„:¨‡h„I0š` L…i0f@3Ì„Y0æÀ\˜/Â|X/ÁBxA ”\%É :Cx t…`c诅×Awx=¼Þo‚7Ã[`ØÞ oƒÍ`sØÞï€w»àÝðØÞ [Áû`kx?lÛÂ`;ø l‚àð#|v‚aØ> »Áî°ì ƒ½`oØzÀ¾°ìÀÇ¡'ô‚á 8Cá0è ‡C8>}¡ GÁÑÐŽcá88N€á$8NSaœ§Ã'á gÂYp6| Îsá<8Á`ø4\ÂEp1\—Âe𸮀+á³ð9ø<|¾_‚/ÃUð_ðøoø*ü| ¾߀o·àÛð¸®ká:¸n€ïÂð=¸ ¾?€›áø!ü~ ·ÂOà§ð3ø_ø9ü?øü~¿†Ûà7p;üî€;áwpÜ ¿‡{à^øÜ„ÿƒ?ÁŸá/p?<ÂCðWxþ‡À#ð(üƒÇá ø ¡ð$ ƒ§`8Œ€§á ÏÂ(xFÃóðŒ±0ÆÃ˜uP Г`24Á˜ Ó`:Ì€f˜ ³`6̹0^„ù°^‚…ð2,‚(5Âó:Cx t…`c诅×Awx=¼Þo‚7Ã[`ØÞ oƒÍ`sØÞï€w»àÝðØÞ [Áû`kx?lÛÂ`;ø l‚àð#|v‚aØ> »Áî°ì ƒ½`oØzÀ¾°ìÀÇ¡'ô‚á 8Cá0è ‡C8>}¡ GÁÑÐŽcá88N€á$8NSaœ§Ã'á gÂYp6| Îsá<8Á`ø4\ÂEp1\—Âe𸮀+á³ð9ø<|¾_‚/ÃUð_ðøoø*ü| ¾߀o·àÛð¸®ká:¸n€ïÂð=¸ ¾?€›áø!ü~ ·ÂOà§ð3ø_ø9ü?øü~¿†Ûà7p;üî€;áwpÜ ¿‡{à^øÜ„ÿƒ?ÁŸá/p?<ÂCðWxþ‡À#ð(üƒÇá ø ¡ð$ ƒ§`8Œ€§á ÏÂ(xFÃóðŒ±0ÆÃ˜uP Г`24Á˜ Ó`:Ì€f˜ ³`6̹0^„ù°^‚…ð2,‚(5Æó:Cx t…`c诅×Awx=¼Þo‚7Ã[`ØÞ oƒÍ`sØÞï€w»àÝðØÞ [Áû`kx?lÛÂ`;ø l‚àð#|v‚aØ> »Áî°ì ƒ½`oØzÀ¾°ìÀÇ¡'ô‚á 8Cá0è ‡C8>}¡ GÁÑÐŽcá88N€á$8NSaœ§Ã'á gÂYp6| Îsá<8Á`ø4\ÂEp1\—Âe𸮀+á³ð9ø<|¾_‚/ÃUð_ðøoø*ü| ¾߀o·àÛð¸®ká:¸n€ïÂð=¸ ¾?€›áø!ü~ ·ÂOà§ð3ø_ø9ü?øü~¿†Ûà7p;üî€;áwpÜ ¿‡{à^øÜ„ÿƒ?ÁŸá/p?<ÂCðWxþ‡À#ð(üƒÇá ø ¡ð$ ƒ§`8Œ€§á ÏÂ(xFÃóðŒ±0ÆÃ˜uP Г`24Á˜ Ó`:Ì€f˜ ³`6̹0^„ù°^‚…ð2,‚(¹áù¡ ¼ºÂF°1tƒ×Âë ;¼Þo„7Á›á-° l o…·Áf°9lo‡wÀ;á]ðnxl ï…­à}°5¼¶má°|¶‡ÁðaØ>;Áΰ ì …Ý`wØö„Á^°7ì=`_Øö‡àãÐzÁp ‡À¡pôvÓækeO7G4/y=`º< - ü*h†ºÈ拸d¹^cÛÿE›OÃÙò;Îx²‰ýJ^l:ð¸lñuËÛ‹¯7Ëúÿ›3šH-ÒV?›Ñhͳòm5áÿG=´ -æ$¿ÿ/œn|øÐ2ù̽7KÅ—µGò>á4<‘Ÿ‘3,ÒßXiTœ4!Qšbo¦%KS’¤ iR’|bRqÆ™˜ªG™¼{£YÙ^nºÂrÇËrZ¿byà-Kç7-×[z­‘ã±AN¿FìÀT1Êð''aøÎóÌaþÊ]Ðê59¸Z]Ü"ö™«ˆÜ9þ”|ã¥QQN&Dš•*‚ûÂ%(Ç%¸÷ˆ´è²ËB "Nã­²Qœ-(ÂÓGìÉT%¶ù{Ÿ&Ä”%?=IܸDäû¢‚Èï]’@3SÅH]JâåùвÅî.Pî[žÊ,‰²qVª¼O@š-“R˜+æ øS>æ©`þJf.oÁâ@Háp§gªšû?/oþ‰åÎ_™¹ÝØ Ö#RC©Éû똪¦Å×òü=Ž;”çÝ3·½}ýŠs×.?ç¶üÜ +£o|6ºÉsç®[åöL”´0²Ñ²(iQ¤´Ò ÍŒ,yÀÛ?æG'0WâùË_máÁ?÷˜4÷¤*Í?é²0ÌuNŸ”æ‡ÈoƒCúoÔIsB¼>ɽ<§#ÎJ£N”Ó9ª?¢êW0ÿοKýÂĹÅDï ;»ïTÔ¾°(ù­œ³òœ ;»'$rïɳ»C"¿ KèñV¸äû'›çŸæŽŸ¤ǤÞaòQШ8ëWcUú»_Ó?wö+=ÿåY1¥_͈ٕäðá†ìºd±\Ú¼L>½øvÉ]¬ú®$Õ›1ÿîaRÿhyþ£ÅŸk«ÒßÑ ü$óÇWÍÒx£-ÖùÇ~ôþu-V)qëuºÌüÓ¶ønp.ÖrvióÏ]ź ™CÔoù·»aö·¹úçï§+žÿßÿ]êÙžsñ;á29‘? `þ+lów˜yEóÇY×GV¹ËkIÛkŒÿmX›½Õ¶®êI97¬ø6W÷ü}ãÑ!Åó/(ï)P*s6Ÿ±›Šüj^Éü£$ÿd»¤m6Ø×Rúßw—§/.vxï s©Ë.Ë)Ýiè.ñ.³<™9¶ËŠKÙí¼cå/õ®˜]iå]gŽÃ ³>øÅm®èì×R¼[å¹÷ˆÔ3R”ˆ?ÎÚÍ¿ò\šûA„˨P1Û]°Ü~±—6/·¾Ä:Vܤ¬%mä:öQŠÅ’‚ù»HÛœ žË_¸Ž5Àɸ߆5—÷qï|¬äZëu*¶ô õî[ˆ«µÎ W5åG·±;–ú®rŸ¢Ãž1;~wk.>ŠåÀÛ_ܺ]ìì¾â¬¼ókçʹÎÎa¥oXxÉm.ï†ìƳ;ËXëÇú—ÂÒþî%hûùÛ^Ž®Òüço uö=â`F¤‰™r–çÙ/Ö½ùF Ù¶ñÓ÷Ý›å:6mÈîBëãï2[ï¬Û³÷‹e¶ù ûHãìR|n½/ˆ³±òÙ¯ÜFX/rp‡í£Œ81d®9{‹ï*yϱ¶÷ºÍ+ÿâCËÝy ãuºŽ(}ÃÆ–ÜfëBÊ\ÃÛùâÙ°d„|ã]{—YNÙ´ “<¢åùû+ó¿díÿ¿™ÿ‚w;£¦å"N9Ò„iem±}ãl÷²é’üØX±JlòýeÛüý²‹×òµëÄ\Û2Ûþâª\PäÙüR×YrÖd›U—±çâyáK1:?œÍµ½wª±Ü‹/9bqD¾ª‡ë”oXÉm^Rî5„ Ùži;kÈâ°–rƒù÷޵Î?b½äß)\´þˆóèçÀ|q Ò‹Åó{DDÚ,Ï_Þè-Ÿ²·È:ÿ÷ÜÆän6еls È/^æ×â Ú.^ú:íΦÚfÕ-Lìi½f4®-GWˆ÷NK*÷âC¿¾dÝy•ý¡š{·8‡ë”Jß0) ä68‡k/èÚÿ=Q€±ŸsXNÙH­O[çŸ,ù™¤©Å÷Lõ‰P—m<ê<æ/—Ù¸ §ùÒªÂâÅpË‹sI^‚åìëÆâùorSP¼–í®ÖÓò2¹–\Кí¯S\Ä´¤ù*·þéųŠPö´vË6·1â£\Äpܧ™Ê¿øì¬Xùâ?cgùC ‡(7Õþ:o˜Ým¶~¸r®!ô’ÝqEyó÷6ÈŸ ¦f6뿦Iïךôz½Iï×›ô±Ïk¹µÇ3ÎO9Ï)Bœæ Ò¿ŠbJßI1?È÷ËŒ„¥6[ç?Án-ØçÃ<Û;±ò½)"îS;ò–´Ãg\¤xVÝ#Jv~¯äÛ©ûßÚäÞ|“ÛÊŠ.n¿sÑæ•‡ÜÚ*ÿ:Kݰҷ¹ì5ØßZCüPÜÑž'»å”µâ%o“ü¹`j¦ÓÄ$çÉz—ƒË“F¤ÑŒ¤F³’=er©o4K×è)½œY:œ•·,¸ìdAœæ!¸#¤©‡Ýš—zJº 2ÉÛ眵ßîÞü}·©Øhr{§¿uµÞ‰Ò¨omï}ð°Ø"o|ÕSúkº’ý­×éþØYçâí¯DþУ*»x©h½={ÖVÁmV®Ánö ©(Ò!ÊüQG¨q¹Òg¸Ì½Ô(¸ qðåF lßUßsT"¶—|+-¨$•Ä+Š2@q?ÖòÅk!ów<ÿÙæbþr^.;ÿÊï‚êŠëëQ¤îCSjÿâµûùãpHy ˆgA£9ùŽ÷ÂBÛ3¢¢áWÿ#ÄúŒ¾êð?¼x­<þc•ù‹·â«*ë!Ûv/ˆÌ+A;•¸BñÜaª˜’ùûX¿cû6ŠI~=!@þŒ\òÍzûŸp˜] Žyì#^¶}N¯üˆ‹±˜¿|ÄÊßó qò u(GùáC'Ÿhù§q7ùÆÛ2*®ä´ÞË\Qìçï"Ïßz(÷B¹;ÈQö·» Sõ4~4ªÙœ47ÿó)I‘Lí‡óçür8ο!‡óçür8ο!‡ó¯óaË>¦&rm•ç_ö{ðäŸÃù« ç¯.œ¿ºpþêÂù« ç¯.œ¿ºpþêÂù«‹[糜¿ŠpþêÂù« ç¯.œ¿ºpþêÂù« ç¯.œ¿ºpþêÂù«KãΑœ¿ŠpþêÂù« ç¯.œ¿ºpþêÂù« ç¯.œ¿ºpþêÂù« ç¯.œ¿ºpþêÂù« ç¯.œ¿ºpþêÂù« ç¯.œ¿º¸qþªÂù« ç¯.œ¿ºpþêÂù« ç¯.œ¿ºpþêÂù« _PÎ_]8uáüÕ…óWÎ_]8uáüÕ…óWÎ_]8uáë?êÂù« ç¯.œ¿ºpþêÂù« ç¯.œ¿ºpþêÂù« ç¯.üý‡êÂù« ç¯.œ¿ºpþêÂù« ç¯.œ¿ºpþêÂù«Kã.œ¿špþêÂù« ç¯.Ò8SHZƒÇ‹êé·±áæ¡ÕŒšqYȨš@3£b¤I)u I 7ãôŒšñשŸÑ £NTð7ðÇ¿êÃg†aÔI2£fÔñÙ¤þÔœ¿ú¯7èLÌdTŒS@Žê‘&4àä3*Æi£fœç1LƒKEõ¨>¦ÁÆevê‘/7ܨ}fMaÃO£bœ¼BUäÒ`Sù=3 Ã0 Ã0 Ã0Œ6ò–}ŒŠQûßB!„B!„B!„B!„B!„B!„B!„B!„B!„B!„B!„B!„B!„B!„B!„B!„¢&Ò¸´z™ñFm¤ßFK}ŒÇä¡ÕŒšqYX/ã4¯Hq 43*Fš”Ĩ™qzFÍŒN¨—§‘¨>Iο>Fõ¹UWüu sÅñÓJTŸ$è™d†i¸Qý•üž‰™õ2ã²4’ 9Œš ÈgTŒÓŒz) PqžST#^ÖFTŸ$Ã0 6ª`CÚWõ«'> õ2ƒb5Ïú'­$%)’a†a†a†a4Ÿ¶ìcTŒÚÿþ˜B!„B!„B!„B!„B!„B!„B!„B!„B!„B!„B!„B!„B!„B!„B!„B!„5‘ÆDÆ™ì’Vú¬IòÑÉo½ Ö:ë œµnñN%ÊÁ ù¬AÞ>(Yêæ0O %ý6– ¶ôZSêmEéü¦cZ¿"§é K£y…©Ôùwež­nyà-[ìÏŠ± 8ÝêµRÁFû³w¼\*˜¤Hãàˈ4.Kêm{ :Í+jqY(¯TZt'ðV‰ÓœçÀ|—ÙÙ.f§€ij¦4Áúvb&ÎÚ¶¤Ù2)E~‹-þɶ¢Àdt‚äyJòˆÆ#'0ÌǤ_ËŸ&%5”`\±ŽÎuLÂÌuIº”KWú©|æë±®ýOHÇåav9(ç¶m÷ˆæ£<Òìx¾ñx¼Í\c(ˆ‹6½±(ie€a¿~ŽnæÄi'>é•8µ/’0©7?¦«œQb}ÚEl:êÑôȰ™¯Æà“‘<Éö{¥¶ÛäyŠGrÉòüµO^<ÒRÞZšþéêŒÏ×§½ÿŠé­%ɯ%¿4;é…™IÏN7.Ÿj\>Ÿd¼aá}¯nöÐÄ€~±þ]BµÞãÝI—œo›ç}û¤û?—n|NýÖZäö‹/žd¼R†˜gÒ _n4o{?mËk)kV˜ÞX˜üÊü¤—fŸÄH“VN3.›l\<^±’·Ìĸx&™¾õ­Ô /˜^_¼jNÒs3ŒÏL1,o­Ÿï§›í­›=Ln€€~ “zÅŽy4lxûmÝ[ÈóDybž÷±ÍSù\¦íàëûaú$È)ž§!xdÊšå)ëžÅ0óŽ’·,o˜?J7Û'qÆ Ä©&öJßÛ³þ÷M¼ç˜QNèðM¯»åyv³Íý‰yН­NÄ$KÏŸƒL¯™^LåÓ·u˜ƒ§öÇ0ãÇ<ªlùpÌÈŽ§|Ê̳¡=>+ž§.pÚR~š?h\6E]â4ÏÄÉ 㺗 sÄñ¾ícý:œòiÿÍcwÙæù`hÉãSõ•ÖòTK†YjžÆF|6ÇÛÅ A£•¢-K†és¼÷}ñ>mb} þàöÇî”çÙ-²ô<“P”G©·A™ª<´É}ðé[þ$¾t2šS¡/«)ÕÏ\Ò¥c;èFµÕùÞ§ó¹GçÓ2~D«ÓC[}Û­™<Ï^gmQ<>›¾a}1°aÄß\»©ÊOäÑ]tOyžmX0Æø´?>Ýëçù8<> þm #[éGÜ¥÷¹+aø]§ݵ£kyž½cåy¶>-?>åyf5¸”L5ÁLâžxÇ–ú¹#0ICð(}_É=ĉ¢³qt+£ïŸ‰ÃZœy¼Ùwo’çÙ?NiÇhyž·­•_žjh)=UÌ$Ö»MÂݬ!úy#ôó}K†9ûqC`ãô’ÏïI¾·‡7KÜ4²ßÍ;¾Nžç£Ô;¾džù "“ì¢LÕ?ÁLbÞ?®{âôÇu³†*£ÓÏh˜5À0£·qz·ä)—ŒtØ-z¯ÎôvßùP#yžƒ’m#írÐ:φ1ØÂRãQ—‡™\èß"ί#0ÒœƒßËà ôÔÐÏð0Lïi è’4©}òøû±=ICnÔõ¿öLw×8Ëóœ.ϳg²|Ty^npQ†l*fr¾Ï­xÊÇîœ0ñ±Ä)‰S=§ôÖMyL7¥‡~rÃÄƱm’F·Ä“N£—{¢‡ëé®Îß¶u²ÍQ̳ó󜢆“r§Š™Dö¸ñœç]燷»0ò‘ÿ®±cõï;¦sܘŽñþíGµIôm©~»nHSç ‰}Çöt>ùˆôUkIžçð,y¤˜§õù®úU©.õò‰¡íŽ÷lz¼ï!^­B· Ü6dÐý¡ƒ[ŸÔ*là=ïŒx¼ÙéþM#-çÙô Õ¨Ú0‹ç9scVÚéÐï½Ú}þÐ Û:Ýòuç&_v¹õËNM¶uiúM—¦Û;ß¼³Ó ßu¼n÷Ãn;Û7ÚÙÎe÷NÛï—¶õi™2sÙažê·™ ÍY꓾ëÄÜ™ïfZ®]JáÌÕf×'2KúSÌSõ#™Z;^Ÿ€ð9],ÍÅ'w98'¿lÛ[qB Žù‡§ËoÅ{ñhH‡(óÛ "¿””Pþ»<£¥þÖx§o”ílÿâˆ-x‹¯Ö‘ž‘¶/ÛqoñõQñ<•+,>FÒ)[¬ó”ÿéÜñãû,œgÅÏ3#ÃÇœ£fRR,çYÄ<ñUžàbŒ"â˜S<Ó1L¬øÊˆó¬œÿoïÜcÛ:Ï;|œ±[l@–ÔY¶ÆF¦@ÿi±–MÐ@üô4öG‡¢éšÚr²p—9é†vKˆmÉF½-€í´€—v©=+²S´–›9IíØ–aëEK¶.–DŠ©‹%ÛÚ{xÈ#Š)Ê|_Z|ÿD“?’ß÷œ I‘ï‘ïSì‰C?ÞOß§ì`å-ç,>—ÂóÙÛÛ*Þ¼—FÞj™¹fzoá/^l›åùh)<ŸòÎHVQÙC¦Ó韗v‰È”—RÒóܹßÏâ37âSVÎ;··Ÿæ÷uùŸòνµõ²!Ÿ8QÿÞ{ÿõ‚xÿýCgÏ6ŒÇð™×gl$!‰GÆ£ãÑÉÉø•©Ä•+“33S33W$×®M_¿>ãÅÛ?à3øÔŸºès=>ñY,øÔŸºàS|ê‚O]ð© >uÁ§.øÔŸºàS|ê‚O]ð© >uÁ§.øÔŸºàS— |>Üá¬Û‹O| >uÁ§.øÔŸºàS|ê‚O]ð©K`ï7;õøÄg±àS|ê‚O]ð© >uÁ§.øÔŸºàSê uÁ§.øÔŸºàS|ê‚O]ð© >uÁ§.øÔ…ïÓê‚O]ð© >uÁ§.øÔŸºàS|ê‚O]‚ü|Ÿø,|ê´ÏÕ_þèÎg"kžìÌß_îÐÚÄÊÿ¶àßüÛ‚[ðo þmYsþ Á¿-ø·ÿ¶àßüÛ‚[ðo þmÁ¿-üþÁüÛ‚[ðo þmÁ¿-ø·ÿ¶àßüÛ‚[øý-ø·ÿ¶àßüÛ‚[ðo þmÁ¿-ø·ÿ¶¬¹ŸßÿX‚[ðo þmÁ¿-ø·ÿ¶àßüÛ‚[ðo þmÁ¿-ø·ÿ¶àßüÛ‚[ðo þmÁ¿-ø·ÿ¶àßüÛ‚[ðo þmÁ¿-ø·ÿ¶àßüÛ‚[ðo þmÁ¿-ø·ÿ¶àßüÛ‚[ðo þmÁ¿-ø·ÿ¶àßüÛ‚[ðo þmÁ¿-ø·ÿ¶àßüÛ‚[ðo þmÁ¿-ø·ÿ¶àßüÛ‚[ðo þmÁ¿-ø·ÿ¶àßüÛ‚[VãßüÛ‚[ðo þmÁ¿-ø·ÿ¶àßüÛ‚[ðo þmÁ¿-ø(=‘p_<6’Ä#ã‰Ñ‰ñèädüÊTâʕə™©™™+’kצ¯_Ÿñ"ýåV?|ý‘Ëmyâ<Ôé¬ßãÜñªõüJ >uÁ§.øÔŸºàS|ê˜Ï|â³xð© >uÁ§.øÔŸºàS|ê‚O]ð© >uÁ§.øÔŸºàS|ê‚O]ð© >uÁ§.Aù|X|îÅ'>‹ŸºàS|ê‚O]ð© >uÁ§.øÔŸºàS|ê‚O]ð© >uÁ§.øÔŸºàS|ê‚O]ð© >uÁ§.øÔŸºàS|ê‚O]ð© >uÁ§.øÔŸºàS|ê‚O]ð© >uÁ§.øÔŸºàS|ê‚O]ð© >uÁ§.øÔŸºàS|ê‚O]ð© >uÁ§.øÔŸºàS|ê‚O]ð©K`>;uøÄg±àS|ê‚O]ð© >uÁ§.øÔŸºàS— |>Äûw|*€O]ð© >uÁ§.øÔŸºàS|ê‚O]ð© >uÁ§.øÔŸºàS|ê‚O]ð© >u Ìg§³Ž¿ÿŽÏbÁ§.øÔ%hŸ«ïÿèÎg"kžìÌß_îÐÚÄÊÿ¶àßüÛ‚[ðo þmÁ¿-ø·ÿ¶àßüÛ‚[ðo þmÁ¿-ø·ÿ¶àßüÛ‚[ðo þmÁ¿-…û'A¤@ÿ$ àÿ•üã¿’ƒüWrðSø¿<Ð|©ûLOçÉ 'ˆb ô/òû{ξ¸sÿç¿ù#ç+/­è¿·ëC‘ÿäKûŽ5vZÿÊdEQ¸YóÎt\U ô/{~ÙX®]»*I2CT²¦àõ_üO»\!ŠY–ÿ©©É©© ¢˜eùŸ˜H$'ZY¦ïVcD+Ëô?6>.‰­,Ë¿w“D"J´²,ÿÞMâñQ¢•eú•Ä㢕eù÷n26&ZY–ÿ±1‘‰ÅÂD+«ïo[Žw‘Åb#D+ËòïÝ$&ZY–ÿäM†ˆb–åd¸x¸O2⦟Ÿý_ì:uçc/7|p²·»åBWSOW³œ!ŧ@ÿ}=O¿²çÑçjÞx«®åì{D+ú¿Üß$§/í~“ϵ?ÿ-Èx¨}4Ü LŒ‡''F§&¢S“D!ú'ÿø¯äøû‚ÿüã¿’ƒüWrð_&þµ7)}|ÿÖ_„¯PØÿØfõ—ñÿÊ þñ_ÉÁÿMä¿­ùƒOüöÄ¿Y1i>wÜv¾…û—Á´µœºÜ5žZ‰„{eF2/Ãùî_Ö„•$ß‹ÌHæe8ßÂýËÆb®+ˆÈ¼ ç‹üW²ÿÂÿcæàØÇñ¯2ž,™…¸½©ýËà÷îØ›Ê¾Óø/¹ðî²8Ø^†þ“§§¦Ö“†ökŽw“¹–ìYÜþ þÈÓs)ÿ¾ööƒIÛ2ÔŒ1¿eðÔ¾½Go>ÿ©©Í[åâ?s#-¤Eo(ÝþÞøSø/ÑúŸ9挹”üõ§lzs/R{’…¶3º¹}VÌþ'µææbðúÑ'ÖlÿÞhÝ>Ž<°Bž“kŽ·^Y=ÿ–_*ëýWùÿø/Ð$Ük®K72£<þK0ßÂý7Ÿ;¾"?ÿÊõdi滬ï¿ñù¯zøþ¡mðÿJþñ_ÉÁ¿mœ?k”Epûã}ÞRXýõ¡%ãlˆµÜù–³~O2{Óg´²·€è=Ü:½(>â’>³Û¹ãUbëú3¸q~øú;Ä0æ_@%„B!„”,:N¤£åÝEcþÐ+<Ö¿ÿ¨t®ƒ)W¯ÎÃLO_!†™šš †™˜ˆ´Õ†BµmÞi!=SÇÈ"ENŠÐ®¦Bo2çþUGªŸgßžÈè3># R·Ù©ÚÕš>¿¹® [µÖ„B5­ÞiF{ë®*Ç©>’¾xdsõ‘Œ>‰D”,ˆøßt8³¥eG(´isz“Ø|8ݘj¨ÚÙâõÙÑâÎÝöüÎPòÚì{Û±s³{Ëx|”,L½·Ã¨>”jiÕUµÍÉóõ›gS}üPµ{š¾6´£9óÔ¿+÷†énóêzïb„äLýÆÔRhÞ moNµ‹ùªÚúí!'“õ^Ÿy=#ñ¬‹ ÇÆÂ$oV;ßnÚ mkšky¤öíÌ–d¼>MYíÉÎMóï3£O,F¤i[UõÁ¹óU®U÷Ôk©Ûè¸çE¬S]7ÿVY=“iªyD¶ŽºôźêuóúŒi¬©òw,Ô4¸nçv5߯óºe6úæSnçÝar¤‘%›Ñ'&KçükUU¯ä·ÈÒIù׿ç‘á~b˜Þîb˜–³ïØZᙚŒ’dzzbј†B!„B)A~µ71Œõ÷ß+ó B!¤4¹<Ð|©ûLOçÉJû{ëe2_‘ßßsöÅûÇC%K$ÜÛÖrR$ç’/×]î*嬿ÛÛõ¡Èò¥}%’è•5|QÿÒ¾’ä矯øÿü7Ôp¦£ôC’­rQÿÒn®«dó•=¿ó•®]»Z&ã©4ÿ²þ‹ÿééé2OeúŸšš\ä&Ç86ˆÿàýOL$V‚ðÞ{SÙwz@o´*òú¯ÿþ€Ýeq°ý¦ñ?6·Âd®EރεèÍ(hÿ‰Æ´sãOÎqÞ¢Iw[ØçÀ±ÓG½)wœ>ràÔ¿PÌãß­ÈN ^Ƴ£¡=s:s-ƒ§öí=Úxsøo?˜Zy²D²±ýhzŽÒÍÑ‚>Éőꓽdõý'ÑÔêµ {# f£vÿ?oÌþ“BzNi—áoóûd Üÿè"t3úŸÛaf¯óó;Ë.E:46øý³ú”Ö<Iw“-1õDàîmnêýOjdìQ3"si8z0½?_Ðg¡ÿ¢W¼<þÇÆ"sÛ¬;òäs ï&~þM®-{ì^rmËY}¬ðíG|þ kYµô_ÞÉã?)“ñT¦ÿht¸LÆS™þG†ûK<˜H¸7¹Ö\Wiæ{±ëÔ½ÜðÁɦ­åd®ä¤}E~þµè|ûzŸ~eÏ£ÏÕ”Éç¡^*çóßËýMrúÒî7óØ Á%<Ô>îŽÇÌGB!„T`œ 1b™õ{ݬ۳t¼žKgÏÒY·wér?ë U)dT¦p w¼J c]7Î_‡Æü ¨„B!„’¥£å]bó?€^á±þýG¥sL¹zu†fzú 1ÌÔÔ1ÌÄD¼ ´Õ†Bµmv&ËÈXAIù/¬3)8î!Ð IkM(TÓZ`gRpÇÙ|8šHD-;BŽGÕΖdK¢nsªÅÙ¼sG(´£EoÊè@ŠM¼~“ÚÑ?TílªÆ%Í®êæø¹ÚS]ŸlñåÔïFTÒ¼=ÚÞ,§N&ë½öx$î%Õac½ßB42Ö´-ÚÖ䎅Çüdµ$/¾]ûˆS}p,³).±¦mUUÛšb«§º.‹ù9[S•ђꮫvªjÎft#Å%%vÄ=ãï~´Tפ»%—TUMcÌ=OŠM4:LL3D 32ÜO ÓÛÝB Órö=bó@+<ÓÓÄ0æ_€!„B!„BJ_íßM cýý÷JÇ|$„B*0:N” –ÐúÒÓy²·ëÃKÝg.4gMSZ¤]:”Û|?ÿÍ™ª•;{ù»?Ù3xéœ$Ë¿Èïï9ûâÎýå6ßcÖ/Õhî|ò¥}ÿ¼ó¿®ÿ²]ˆ|¹¶Üæk]ÿªËµ†3Ëj_è_ÚÎtX0›k×®&±¯„->33Ó‰1Ù¨GÃÝYþeÏ/í2Ùr›¯y¬^¦ÆcÑÈxŽF.,\ÿ“_¶™¶䊭ÿœÇ"á¡þ<þ§¦&Íǹ þ7a]«“ññ±Xtxx°7ÿädËi¾mµË(.8m»æŠÉB»šÜÆÌòá#ÕÒþìýBÚXthx°'¯ÿ唼 Èºe‡7r½jV¯v8³1YYì¶W‰üÚæ  iÇÆ"‘ðÀ`_wÿþ’Zö¤òW=×orª%»¥+¦SUÕók¨Y7‹ÿQ͂֬ªa7ò Éjb‘_»ÑɾV¯v, ÷öuåõ?z#ó]dRéö¹ç¹d µßͯª^¤†z^‘µ7r½¬v©mÊh™__ÜXq,6é¸Ô™Ç¿¿¤Š”7/¿qa õ¢UÕ‹YËf«[ÐÚTóH²|ջ諞õˇ½²â *ˆ£Ñ‘‘á¾þ‹ùüËdol¾î¤œué‹uÕëæf”žrFKz¾ók¨Y»þÃê5­ÉѦ ‡ë’~•±›@*ˆ£Ñá‘áKý;òúßð|3'%›°´Ô¥_VU¿jÎÿüùfÖP×-(²nÚ¶bJ€GG/]ìëý8ÿ²,y¶¯U‰¼øì¹ÔûQÒÏ¢þËp¾ÃÃ}’7öŰ7™ÂeW~û…Î&w=ô.êßëYVóíín¹ÐÕÔÓÕl^ [LdüÝç>n=]ÿ»ßÝùØËñX–ÿ‹]§¤½áƒ“å6ß7Þª3¯->Íg77þßÁÃõª·=óÓ}ã‰á,ÿ}=O¿²çÑçjÊm¾åöyh1‘5|ã«?O$†&'"ÙŸ¿÷7ÉéK»ß,·ùNŒ‡''F§&¢S“&ÐÚŒ»2565 weùµ†»ã±r›o!ßQ!„Bˆnœ 1b™u{—ÈzÅìÑËJy¸;^%†±þþi©‰„ûⱑ„$OŒNŒG''ãW¦W®LÎÌLÍÌ\‘\»6}ýúŒé?›ü+ÉKìÆêtÖíÁ'>‹ŸºàS|ê‚O]ÄÏÕ«Ó…÷)Øçú õ)§““‰Xl8]Ãdžz»%]’þþÎK—>ŠÇ#Ò³¯ïãY|æÆó)2e3y_ÇJÉÄýt~tôrÒó%±*=»»ÏÍâ37žO1æ}±6-3eÒ“÷û>ÛÚNÌâ37žOÙÌÓkæÜ7F’ûÒ¹$¾ô<þÝY|æÆó);ÌÌme+o9gñ¹žÏÞÞVñ&ö¼×H™&½wñ²ƒ½x±m¶ðç£Êö)ïŒd•=d:þyi—ˆLyu*=Ïûý,>s#>eå,°s{ûéB_WÁ>å{këdC>q¢þ½÷?þë9ðþû‡Îžmá3 ÷)=I!)Ðgþn¤ÀàŸåçáN÷+gøÄgYŸø,çà3 Ÿiù&M!ˆÎåÓ¼@µœ“ç€Ï¹|Z¿3.kòÀ9—Oëã—99Ȝ˧ùË9y°œË§ù~Ë8ù˜¼ˆÏä÷iÍØ[¶Éä\>íÁ[®É@ãÜ>•ë»b’ÿŹ|ª§wÅ$ÿ‡sù âл+#ù œËg@GÓ]É@àÜ>9:î HþüæòÄ¡nWFò°7—OõãÖ®˜ä?onŸÊ¿]1É@ÝlŸuxï7­æZ¾É€ÜÜ>íÑZžÉÀÛ\>͸ZžYò¶¹|š@µ<³äisù4? jyfÉÌæòiþM9'Ïcsù ôHª7i 9lÎ磼ÝHÁ'>Ë9ø À'ß§Åg™Ÿø,çàŸåßç¯öï&EfvvÖ÷iýËÛ{@Û»ùHVFÜzÃu¼ßÄg™Ÿù ¨kZ(ÏIû”aŒ)TµÖÌgÖÅ%Ûƒ/GÊð¹£%€òϧ?’bÓ²cÞ8ý‹rÆñ¨ÚÙ’nwO7mN_±ùp)Ê‘2}6PžãùôGRlš}oiÜaªv6Õû¤Å?uªj›“íõ›¿OåH>·7Pž“ö9*Q¨jÞ>oœÞE9§xc½ß>×Yœ‹ÛÀË‘2|nk  <Çó館4m›7NïbVãâí«Gj›/Gò}VUmk  <Çó)ÛˆD¡¨iÛ¼q¦.Š+§ºnA·ÌÎuà²æ;ß§~yNÚgjÉ›”¢匿¹û&3ïו¤É÷PyŽçÓIIsþµªª×Η¶)Ãg å9žÏäHJ^:”òYÒr$×g²Þ0 òϧ×S2âÆ¾ª(¸r$ßg@å9»NI{Ã'¥ó…®&éo^Rh9’ï3 òœ¾žÆ§_Ùóès5o¼Ug^LT‚r$ßg‘Ÿ§ä*ϹÜß$§/í~s…}~”k¾¾Ï€ÊsÂCí£áîxl`b<<91:5͸•~ÌË‘æžæ·“ >ñYÎÁ'>Ë9s¯—6ÄH±™_<šò)ïâͺ½¥ {Û[–‘½ážùìº>‰jî¹Íqœ[œEùŒü|ÏyÞÙì|ÑyPþý¥ó×rîþäu«äÇýŽ”{þ®U‹ß¾Ò¹+ëò7>i2 XÁ°ÿÕÃÝE¯Jý|-õ&Ÿ’Ÿç¿ýß{ö…/=ó|ò ÿ´ñ;_úöóÏ»×>˜µ‡woý·‹>N²ç7œµ©ËSÉË?¾ÏùÁªµ~¯ôóš‘ûœOß.çÖ:_^½}ëŸÊ¹¶O¯M^>ö{Ž¡Û“ýî ßîÜÙ¶õAéó€ô0ã6Ÿsw­ön³á®{Û产ä牌۸Ïènß_Þº}ë°ü¸÷¹á[ßÚ’œÛ×Â?ôÝçÜvËÜüÞ͸î¶[çÎKú¥ÿwoãŒÌÍÃu2x«7èÖù·¹;27_¯^å¤Çé|uͼ¥èÎáßë·o½'é|­³ê·%ýÿ—<Æ Ý·`Ìœ-Ÿ\å|ιî¾Ú‘ûroóTÊ÷ÏR¹­ÞsãÞïÏþ×õâÝoÚÑS«þuÕ…¿øÉÖ#òóð[2Ç“~ÌAy÷>î–åqõ¡'¶¸÷ÍWÃÞOÉ2w¹*÷÷?üøwŒîewŒnŸ?‘óŸÈºÝSOßëßö¹üiÇ[ÛÓ÷•œë]^ŸŸ8™¯^Ö:¡ao,wǼùFoõæëÎï³g¿¾ÅI­Ç®ÉŸÉ}ÿù§žÜò€¬îåm‰»çùß/×ú#sêúcr¹Aþ¿0*ëëÚí[w­õÖ­ÕÇßÝâÞ¡û8_øÅ½Î ü¸ÿ'}þ۽ΙžØR™[._ÿë"ž£Á£ŸK®?¾íñäú9½Ý Éå¿ûÙú´ü¤oç¶ß#ÿM~Üù¹\ó?½åñ-GV¹·½%¹þXÚ^¿Å»¯ŸËùÇ·om>ì­Géå»&µ»÷yWjýüÅ*'½®Û¥ÏÿVÎÿò¯¼õƒýF~Øo°ß`¿±p¿Q(î&ò½MÿÝï<Ÿ~m“ï%c9¿œü©mI³s xœì] `Uþž¶[¬²º**x‹Šž A”‚(¡äV.‘C°¨x¬»Ëúw½Ôpo¿y9vL6·¡ ~îÿ#t!tô'AêØÌØ‚ÐÍԦ˶O°mÏÖM®„®‚®†®®…®ƒ®‡n€zB7B7AlgéÝÝ ÝÝõ†î€î„î‚î†î˜O} ¾Ð}ÐýÐP8Ôzzê €† ¬o#||zL`û¡ D@C¡aÐãP$ô4„¢ QГP44Z`Ç ŒÆB1Ð8(M€ž†&B“ ÉÐh*4 š== ̀؞8 š ÍžƒæBÏCó ùÐh!ô´Z ±#'Z½½ ½±£ùUè5èuè èÏЛÐ_ ¿Bƒ–A‡Þ‚þzúôô.ôô>ôôOh9´úúúúúú Z ý úúú7­‚þ} }­†¾†¾þ ý/ô-ôÐè;è{èh-ô#´Zm€6B?A› ÍÐÏÐh+´ Úí€~vB¿B» ”í†ö@¿A{¡}Ð~èw(J‚@¡CP2tJR¡#P”…2 L蔇²¡Pt:i¡\ˆu¼ó¡¨ÒAE2@ÅP d„J¡2¨: * J¨ ª†j Z¨: ÕC P#Ô5C-ì ( þ…B] ó 0è|è¨+ôGèBè"èOÐÅÐ%Ð¥P7è2èrè ¨;Ôºº ººººººê ÝÝÝ õ‚nn…nƒn‡zCw@wBwAwC÷@÷B} ¾Ð}ÐýÐP8Ôzzê €†Bƒ G ÁУÐcÐ( ƒ‡"¡' áÐh$‚ž„¢¡ÑÐSÐh,ƒb¡ñÐèih"4 š M¦BÓ éÐ3гРh&4 š ÍžƒæBÏCó ùÐh!ô´Z ½ÅAK — —¡W ¥Ð«ÐkÐëÐП¡7¡¿@…þ-ƒþ½ýô6ôèè]è=è}èèŸÐrhô!ôô1ô ô)ô´úô9ôôo(Zýúú Z } }ýú_è[èÿ 5ÐwÐ÷ÐÐZèGh´Úm„~‚6A›¡Ÿ¡-ÐVh´Úýí„~…vA(Ú í~ƒöBû ýÐïP"”€B‡ dè0”¥BG 4(: e@™Ð1( :eC' è$t ÒB¹P”@…*‚ô*†J #T •AåÐiè TUBUP5TÕBuÐY¨j€¡&¨j¤Î{ÿC!РP¨ t]u…þ]]ý ºººê]]]u‡z@WBWAWC×@×B×A×C7@=¡¡› ›¡^Ð-ЭÐmÐíPoèèNè.ènèè^¨Ôººz€õí ~ЃÐCPhô04=Âú Ð£ÐcÐ( ƒ‡"¡' áÐh$‚ž„¢¡ÑÐSÐh,ƒb¡ñÐèih"4 š M¦BÓ éÐ3гРh&4 š ÍžƒæBÏCó ùÐh!ô´Z ½ÅAK — —¡W ¥Ð«ÐkÐëÐП¡7¡¿@…þ-ƒþ½ýô6ôèè]è=è}èèŸÐrhô!ôô1ô ô)ô´úô9ôôo(Zýú2˜¿lqÐ÷\ƒy¾ƒ¾‡~€ÖB?Bë õÐh#ô´ Ú ý m¶BÛ íÐèh'ô+´ Ò@ Ðnhô´Úí‡~‡¡$èt:%C‡¡(:¥AéÐQ(Ê„ŽAYÐq(:å@'¡SÊ…ò |¨*„tP¤‡ P1T¡R¨ *‡NCg  ¨ª‚ª¡¨ªƒÎBõPÔ5AÍÌwH„Ø›&Ö÷7Û±H`ÏÙŸ† S½ùmx¯ÄÞ5„ä°M+ì‘Ù!AaÒh_Wi6õÇà݇ÜÇæò§¤S¡”S¬&VïÕ³’Bé{H¯4¯ðÞV0™ñùeÂû݈D"‘Øé¹î á«ëW_gšðW;Ao¾âµÞ£÷^ÑV{·*g6͵禷²³tb­œ¤·LXí´í>ÞÛýûå¼¹æ^Üa:$±bßHÿ¾šåyÊ•Âñ>aº§.-Ÿ{Åɘ°’'Ï;'+""‘H$væ vÝź|Ès„9Oò¬âR"‘H$v:"Ò)ωD"ÑHyN$‰þAÊs"‘HôRž‰D¢òœÈÌ.)Ó–ÖWT•ÕÔž®­;S{öL];²¶¡¡ý(¿J%x¶¾¢î쩲ÓÔÞ€j¯{yþ{FÖΤƒ;~OòîMË ö`{ãñûÏßXÛ+îaÁ?øç¨+þûþ¼’êêòÚ:jo@µ—åùu®å9™Y§ŠKJªküƒùeåhQ[‡<µ·³ÓA{Sòt_½=ëãEÃ7¯ûf_jfgçÞÔŒßR2¶lݸbAä×ïÍ5V×P{ª½nä9z;8@T?H½~È£]ÔÞ@kï¡Sèíø]“©Í?z*7ãT&:/±þi9Úäc'~ýu ÚUTQEí ¨öº—窞íAù¦úºQ{Û©½Oåã l‘±Tg4J,-êÌDò ÅÙù…GOæ¢]ùåÔÞ€j/å¹ããÚë7tçÆ3gJü…†òÓy†’ãù…hW^ùj¯Zí]ž~fù!%gÒ}Ù^ÊsÇÇ;µ×oè ÏK+*@õ~ÀâÓ§ JŒ'òuhWnùFíõyžϤû²½*æy‚¾æ£Õ>Z½Lذº¤Ú€’„ 0Áÿʧ7f×ðy6îÚÀKä7®ÆRÙ"ß”M¿>dø+¯O¶5¡ó¶×ù6ò™7®Þ 7Çjž½AYøÑ®lü)çÐï¶—ïe•• ?ê½ÈG?>*ߺtó”¬8Z±bÈÒŠ£˜ÞXQ! R>âÝÅ!_h,Í)(rož´WÙ¨ XT 6ó§Ï/‚Ö­8zTn£Ü^Lð_ÉáV(Ÿ®"(éhíUR¹ùÚjÜ<Ê…Ï£Õ›}°}-yÞ÷<_æy Ž÷Õìò±Ÿ²kµmž§TäÙ0Žt”|„’l¼T‡Í·¶²‰Í“&Èm±µ¥Óµ×É6Ê[|ã. ÏgÛy¬N VáïÅöòã½¼²,«¨ð"‘{8´Ë*Ž–™£;õã!<P˜Š’!£Ä»/ –ž9£3–žt˜on·š' Q›ùÓy 6¯8º™·Hn2O3^ÂÛ›Zq-Û¼€/ÅݟʳñE:T{­hµžüéF´Î^s”>ÌÛ\!ï íº}s±»þú>ÏmXñâË)Y^Y©/+×:Ì7÷Ú‹FÍÇšWmik†ù[ª6->’âúô–¼ä£!­*Cˆø„—ÈVðz¸QedXÙÕÚk×ethݦª »ÍÁ£¼¡áÃ|Ap`·ÚÛÑòíJæý49Öl?6ퟶÕ^«øâmávêö:ÙFå» y6Ûyøž€&çTg´Á´K´Óç¡55 ?ê½ÂÍÕÕC„…g2?•K>ʬfÇxf&Ä‘®ü«‰CÞP~:·¨ØA¾¹×Þt4*âSÛÕòi¦éå-~Ê Ïl]È „…r æáÁ¨\äLuf‡j¯-­ÖS~j·9ØÊóáCÄB¥í½};Tž;î€y¥“æË|kkå6étíu£nÔìÝöòã½²¶¶R:ä½È!Ÿû8Ir Ó›kjfG?‹øøXÍÇ(Ä"½âØgÞ}QžZŧÏäêKä›ÛíE£hÔ6þtÁÂmò´'”méhíu¼žm­¶'Íñ°½–<÷íõŠ˜çr¯[îŠû Ä|Ù^7Úè|ÍíšçUµµ`¥·ñY–üÆaŽ’O²j?‰ÀD¦l«Eyå¶¼û¢8äKÎTäŒòÍ“öòÕæøùÁ+무¥£µ×Áz¶µÚž4ÇÃöv¢ïuº|£öv(:ÈóêÚÚjé÷¢#jàžÌœö£ü*hú¥h—mÿÚëßí¥<'‰Dÿ å9‘H$ú)ωD"Ñ?HyN$‰þA9Ï¿þœH$‰' _µ¾¿¢ÚWÁØæùçkÖ‰D"±sÑnž«þ–H$‰nòœH$ýƒ”çD"‘èTä9]¯H$‰˜ÈsóõŠ”çD"‘؉IyN$‰þAÊs"‘HôRž‰D¢òœH$ýƒ”çD"‘èÌ$ÿ4å9‘H$vbRž‰D¢н<ß¾êM"‘è:sÄ©}ß>‚úh×cá"µ›HP”ç‚ò¼¡©É…ùé~¹ç@yN øÈóÒŠªÒŠêòªêÓÕ5gjj«êêªÏÖ×Õןml¬—ØÐÜÜØÒÂÉûó”ç„s‚òœ@ð1(Ï íÊsÁÇ <'´(Ï CÅ<ŒÁBm¼¯µ<5Î6!2^+( ÔŠ¢éH^¯gõ`ÂÙUi£©]‘ž¯OœF”§_y)@Ôĉ’µ‚'HrÁháVž‡QžnCÅ¢d˜Kg™8T$U‚WÄšhãá_T£qÞhAyN øꎷhDëHç@Ad¤r‡õÄÉ©‡i)3¥zâï+ë‘!Ÿœ‡²¤i¼¹1^Y«:]Ú¢ÑÄÉþ¸]3 <'| ÕÇÏ5ö"Ýn¡õ°èÓ(òÜÞµÆ&BݨĪÞÖJýjWûÚ֧>nãÞP ¯ ''ÙÂ+¯ƒòœ@ð1TÏsÑÔKd±Õpº«à½M¨åƒÃÊc7êQžNÜè¢+ëјǫ]?·ªí’ƒ]ëb?_+Jø)@£Èp å9àGèy®5®hD†ÍÛ¨‡¥ûàÐóM=r‰{]t^ëc®Í½ñ ^çýj¾{«@ã-‚?BÅ<—?ýÔ˜GW4nå¹TOœ¨š@‰Ã¶õ(ÿê|ݪežãOñN$ÙÖƒ>6/q¯­ùå9¡@yN ø”ç„v‚ ×+¢ë /€òœÐN <'| uó\yË\Qc¹"ÝÕ›·(/5qîÝWÖöþ´·®Ó¶­Çv Ý«ÇnÍnÔc{]çê±¾¿± ùŽ JPž>†êýs«›·¸q¿\E=­¾º®uñ¾²vï»ëÆ÷(ۺϭ«_®·­§­š]­ÇöºN×cõ)Ï „ހޓçÊLкx¿\±´t5B5mÜwדzÜ^»õحٽõáÏYN×c§”çBG@ÇÉs‘e ‹ -ëW»|[DeZzr_Y½ûîj\¿ÿ•Æ&BÝ»ù•m=¶%îÕã^Us¤k¥Í¤±ŠtÊsÁÇèPy®Ý?i©Qd”ÖÅûÊ*«Â‰ÅÃûZ¸Û73´]нª¬~YC¾ƒ®[ëÃ&dk©N ttœ<×*ÆXìæƒõ˜òÜÃÖÚÜŸÖ“ûÜÊg·ó\ksV²-q¯ûþ˜ÚÁë£<'::Âõ-¶y.ÝÖ…VðK8ø-dµRÏÓ“ûÊj<ûM»÷ÝU®¡Ûõ8¾£¯õh]9/ØÞߘUÆÅQžêCõþ¹F´DÛ×+šë‰ã‹iܺÎÐ[÷§µ{ÿ^«5t¯ž¶jv»]ÎßXTlÛ›þ ”çB€êyNðWPž>å9¡@yN ø”ç„vå9àcPžÚ ”ç‚AyNh'Pž>å9¡@yN ø”ç„vå9àct„ïÉ÷˵[â ¬îFëÞ}emëqï¾²¶õÈå®~EÔªå•䞬VúÊ• ÕåÒ—L­¶ŽTO›Pž>†êýsÛ¯Š»ñeQ´¾—÷•µ­Ç½ûÊÚÖã¸Ð…õј¾×)ÝO8Ò¥ïé+ëâ4ò”ܪ§ÕÓ¶¾DyN ø~™ç¢»7!´­G†K÷•m«ó\†Öõû·Ø½¿»õ´*iËfÊsÁÇð×<Ýt»ùéFUr=Zóà† —îââõõÑ´¾¯»‡ýss%væ¤<'| ?Îó¶ ]ªGëî}e•õDÆkåñ OÖG£¸ïŠK?¥'¶Îs¹WÇáÅ6¶ŽÝs å9àcøwžk=—Pj\¿¯¬U=<Ò=Ïs7nok[ûQ·>\ÛØ:v»è”ç‚Ñ®oQæƒm‰3°º­{÷•uPÖÅó‚Ý»ã qš¸¸H7®o‘ëѸ›ç¶írï—,l[›)Ï Cõþ¹F´ÎÛg QÜÖ½ûÊÚÖ£që¾²¶õÈ@¤»4xî`}\½ÔÐj}äK1ÝòÇ4­¼|Ñvä†òœ@ð1TÏs‚¿‚òœ@ð1(Ï íÊsÁÇ <'´(Ï ƒòœÐN <'| ÊsB;òœ@ð1(Ï íÊsÁÇ <'´ÜÈó,ÊsÁt¨åy€`ßÜ>vÙ~¯HyN ø”çÊsÁïAyÞ) ¼”ݽ[ ºk™¢,Iù¥À½<—.ηÜ5·-Pž>åyg'_ö¥åygçyG/]ܧŒt×ÊÁý(Ï ƒò¼³À+yn鞬’ÆÛýsºþœ@ð”çÞÊs>ðRP\°oî·ó\+ݵÞñ iœÏó“”ç‚7@yÞYàÅû¾Þg5äâFUÒï´² -»—¯Æ[(Ï ¯€ò¼³@ÃnTçáõ-¢XÀŸò‹ÝËsh¹^ÑÁµ“”ç‚Ay èÈß'¢<'¼ÊóAçÈsº^‘@ð”炎œç9”ç‚7@yNh'Pž>†ò< <'| ÊsB;òœ@ð1(Ï íÊsÁÇ <'´è~\‚áãR´½ó\0‘Gr¬G–?DÓ—LXŽG~¢±ZÖ™Uê˜y.o²{ƒH”ç‚êð}žóæ±à ?M}Ýå ¶ã òèŠÜ½çgw¼ÅqUÎä'!žáv¯up KòÜØ%˜™÷ÌÑL¼.ïÐ*—U®¤“ynÕWóÜö„"Wèdž[m2%°JrÂSžêÂÇy®Ì·¶²”ç•kú ÎvàšÏV³d9£FÚä.‰uðy¨ƒªÚZ«i¹ZùA%jÝ|ä|Çå9àcPžÚ ”ç‚AyNh'Pž>†òœ˜¤<'|ŒöÎsb St9ÏézEÁ}´kž‰Î0g°š®?'<å9QuRž^å9QuRž^å9QuRž^å9QuRž^A»æ9f @ºeª¯­Kírcs1ÏézEÁ}´wž«Ý>_ÃÏ«wÿPwp[Ãáõ‡wrbº1yKCòÏ 7š “ÖÕ%n€'"å9àC Ïåç;9srvv å9â«þàÖÆÃÛXp™Ø˜² Ö˜üÈB,éǺÄu<¾ü>Ïkû±1y{Sê®Æ´„¦# l"}ç[Ó£ln<¼‘Jž¬«Ú·Q¤<'|>~RVYyB§Ë)*â2RµíÒNwøjJÞ!Å×nä4Ç—WÆ[äæ‹æÓŸÜ çom¬J” ÁÆî̸D­"¾=óVu˜âëÐçqœç¢"Ò• çÓ¬kÞºDÙ×(Î^„«ír‰”ç‚WÀó\k0 Ì ãr˜s"óEwó\c;¢bÈ—§1ëKG"‰ãäA`­âSTåç¡¶ó³AiN,¥,·ýìU^©.ÄÅ+?xµ 9Ï•aÎxx‹\Òy.ÚëkÚÎsyD{åÆžàmŸÛ ¡·~ÃByN ø <ÏÑýæanÕKç‰òGžç;““E·ò\9€ ‰sö;7.bôîuu‡m:‘̘•Ä¢›_ªwø8(‡9Xuh§èÕ<×J#'¼ïpb¼EcïŒéEPžrž—VT”¶Žtt-ºLžç»RRD·Æ[”àÎw UÏ󳩚¦“©Í'7?`HÏLD¤³ï%ï`_–”&¼•çò'›óIЙÏC5jä¹å=KZ‚õg nåùq·î¯HyN pðë.¼wãwÿv׿.½7†Ü¶1èÖÍÂÍë®xmÊÑ’ŠgñîºÝ¤a!ËsÚvò¼í0÷bóÅ·QÔ"Ýë`{¸8‘H$z‹¶a"“/ê—uÍ·ÙkDnŸ±yM,8¥pàÔÂS š¢ë7E×wrÑõ½b ×-¾2ºø’áÅ]# ¡ ƒïË ºe=–•ÇÏ÷÷ayžyû3•><­7g/:ÃúÁaòg¸ì …¨¼O[¶Fšò|œ%Ϧ…bz_ž¸ç–áõÓB•×ù4ýÅRgª2Ä‘ÉÝ—œfÊÞº*æÌ]ûený¸0¼ÊY̽Ê8½«ÝÅ«æ`ñÜ_w‹˜ 6´õÓ"ùª*ëä‹È+ÆŸòunúK¨ÝS5òÊXYA$”“,¬yÚtÉ"¿"qzÝPmøø|„ù³urÆSôèlý€úž1Ü5¥D.Gýˆ¢®Žu¹c#ž"º‘çù,ã-ÈóBôØcØ5ç¬#*…¹cbžÄO^LË’¼vzgƒ9{ ‡ñVÁÆxV' kF°BžçÿŠ^UkÎóµèëNccÄfÂ-Ãk¦…ÊË‚VuÊOËÌyžö@W>'j.EmÑ«j¤3ÿk±9Ï­oüá‰R)ð•CCytµª“×#¯X­9ϱÎüå¬jà þkphé—ÃÑêƒÿ͵jNåÓ‘Hô ‘ä`EŒ‰Š^#rN)ˆœ­5¯(z~‘ÝÍÑ?uLHéd3' 5K-Ÿ]bãÒxœ Ê¥ ¬BôõZ‚/ýrx©(~½ )°l\Óý%=ËóÄæ²îÃ1ÏÁ>]Ò=ÀšÖçq÷K8¯ª"U혲jClزè—tSXW|ÿí²îa|¸ÃøÏ„¶çå|æã¯bAñÄ; ¶u¦õéª\±£xj^皥¡¶54nŽ„{Ëb٠̾/_ZÓ}¸16TnK‡%¶;‘Hlo*cDäD±Èí7¡`ô|}ìbÄ ±‹ôO-(Šš[ô¸b,ýÎXÝ-ct7F뮋Ò]¥ë9*¿ç™W<À®oá7rI½]X{ ËóW iáìf/ùÑìÎ-ržŸ3ÕÅÏMm sÄBÕ«¦ðÌî¦lEy ‹tyÝNKy.bãgÑ•‰Sþµ"YT.[ór«ë[pš(y9¾Ä4Iù²|)åÌ%+5·úSù&­mò„¼bbr_ç’˜8»5([*ÏF$‰ n´‰úæ[«`‘ûðä‚ q†É/&¿d˜°X?faѨç-aÎqë蛞,¼adÁQ½žÌë5<ãÊ~,Ïæpä9úço\dÉóœáì…xž7IÑç ÌYwô?sälFá£R¤?8õÒü¥ªOLþ½c´w޲ÎsÞ?GžïîË~™èØãBöáàó‘ç…Ô‘ùBÚâ#‹B,Ræ ìq¡ [98e®PûuÄÝs›ñ4yŒP<©UžS¤wFŒ%v2â­4±ÑêwÜ@tžå<gxgUù«O¿ùiÙ"©—>ãâ)¯&¼¨»P?z~ш9ºástÏ>2­°ÿ$t×s{Lë¾ËìgÝ?çyž:4yžñÊ9o^~âÕ?žXzþ‰¥a9¯]˜óúE'Þ¸4{éÙ¯„e-²_î’õ¢ MÈše sež«¾«‰~OÕŠè*s[ÿFg®Äœ¨ dòÌ7‹W~w拵HõW?,]üžqþ[%sþZ<óφg^/žþZñä— â O-,9W7äÙÂ~ònžvù}ìþŠûû°<ß~£)ÏñˆjnQä,ÝcÓ #ž-4•qÀ¤ð¾qùà½còo‹Ê½~hÎýcRÓ²NkßžÅó|ko6~þÕål:g¸.´øãY¥Ö_ :'rß•<8ôÐ@v"ï–#ÏQŽÎ9òœÇ¸2Ìy’WÌ æ¬YÒñ×ê9!2+f‰D"±M–>ËhœÂÆ7&³/òØŽW[ ¯ÉCîèg gW°€˜HÂ"ý‡¦»#ÏÑóGÏÜjP…gxÖ¸óš_øïÊñiþ“s¼O˜ ¥_¦³ü‘Hlš~ŒØIÈ7Lž–œ sƒêgó>pÍ´ Ê©ì†ºx¬œhú5gL+‡>ðˆ’’Ó—øûk>"=g å×+RG²sDõì.ÈpIJøj7Æ¿]ÅøNOÆnWÜaá'}LT‰D"Ñ–ÈONåÓ·n2Ó´Z½-‚C/BqÐè%èeèh)ô*ôô:ôôgèMè/Ð_¡¿AË ¿CoAÿ½ ýzzzzúú'´Z}}} }} }­„þ}}ýЇVAÿ¾„¾‚VC_Cß@ÿ…þúú?h ôô=ô´úZ­‡6@¡Ÿ MÐfègh ´Úm‡v@¿@;¡_¡]J€vC{ ß ½Ð>h?ô;”%A ƒÐ!(: ¥@©Ð( J‡ŽBP&t Ê‚ŽCÙÐ (: ‚´P.”åCP!¤ƒŠ =d€Š¡È•BeP9t:U@•PT Õ@µPtª‡ F¨ j†Z ©{ðÿP0ý …º@çAaÐùÐPWèÐ…ÐEП ‹¡K K¡nÐeÐåÐPw¨t%tt5t t-tt=tÔºº ºêÝÝ ÝÝõ†î€î„î‚î†îî…ú@}¡û û¡ p¨ô ôÔ= „A@ƒ¡G¡Ç !P4=EBO@áÐH( = EC£¡§ 1ÐX(ÅBã¡ ÐÓÐDh4šM…¦AÓ¡g g¡ÐLh4š=Í…ž‡æAó¡ÐBèh´zŠƒ–@/A/C¯@K¡W¡× ×¡7 ?CoBþ ý Zýz úèmèÐ;лÐ{ÐûÐÐ?¡åÐ èCè#ècèèSè3h%ô/èsè èßP<´ úô%ô´úúú/ô¿Ð·ÐÿAk ï ï¡ µÐÐ:h=´Úým‚6C?C[ ­Ð6h;´úÚ ý í‚4P´Úýí…öAû¡ß¡D( :„AÉÐa(J…Ž@iP:tÊ€2¡cPtʆN@9ÐI褅r¡<(*€ !Té!T •@F¨*ƒÊ¡ÓШª„ª j¨ª…ê ³P=Ô5BMP3Ô‰Šã †B ?@¡Pè<( :ºê ýººút1t t)Ô º ººêõ€®„®‚®†®®…®ƒ®‡n€zB7B7A7C½ [ [¡Û Û¡ÞÐÐÐ]ÐÝÐ=нP¨/tt?ôõƒ„‚úC ‡¡Ð èh0ô(ô4Š€†BÃBç}Ñ Ý‘#Ý-ýÁ™9&ô€Øiâ Þ$ \ƒ±˜¬ÆO'Ò›‰¿˜ô4ƒýÑ€Ò>ŸåÍFÂcL溃Mu3`µ¤ÿ/>s©Ð£|Åëgº|ø:[W#þOúmÏËH± ö÷Ø>oïž—Ù“.ÌË*!ŒH™ cžebt®0&OxºP˜¢çAÓK„)ÅÂÓzaR1›˜dæx#ÑyÊÎsۻ̮>oqs·WÅ«þÆxÓ[â­ˆ}Þû|"öÿqà§Œ¬l“|¢“”Íž\ óƒçUœ×ÿåMÐóFl…;VXˆÍÁ©,$ºA–9¢ó…1ÙA3 0»ŒÛ"dAMÈÂláÅæÅ"ȧñ(ò ^ØeQ >'Ñšü‘,<­µ!ÿL1ߨ œl[´Aö×9Õά :I¡ïnaxóL¶‰ŠM oŸ«´P.œ]Ææ™Vnâ¤R¢ „ÿà£XŸ§ ÿeZyÎJ0ïñ.ºCàø"¢³¼ù[{þÚõ_ö\a»^ê‘ê[9£#:Ë?0ÿ Êü¿à•ŒËßÌùã«'Î_z"lé‰ _˹èõœKß8qÁÒì°W²…ÅY]^Î^Ì^Ó ³²,;¼rŸ[@tfÿÙ»-ìüÏž?",Hæ YœºÓG„ù)ìqaÊà•:anJÄ×µÍsïÆSaL²ÌQ}ê\„ÿ}ö ¤ñ7¹‡µ9ÛÓŽoOÏÞž–ͳgU§ÐzÅ„i–u6¿œU lÁÐÁÿâ˜û߃Vͱ¥pS¦ä‰0Ú(L5o;†é@h Í/®L w8dN64£^XÖdn¬knf#k‚x|‰Thöÿó°q 涬 &M³fî µ,(ñ/Ê:ù"Æ%Ý—… >mö*CžSÊ–µaãø«œ…9]§í/>§*—-þ+ff/ahŠ”WUY§õŠ)ÖYz9;5¤6*VÆÊ {äþгsÁÔÊ+xé€w.íÿî¥Þ½ôa%ß±âeý^ ž˜<· šÛ oѶÞHÚm l»Ì(HhU,ùÿ´¢-˜ç?u¦?¢!3ØÖääÛTº%·áÌ‚EÌ^…gXfþ—åãTÍŸwíþyØkm-®œ¹%þµ=a·í±_g«k½Î¶5(×VŸÿ6ô}¢9¶”ò'_adç‚©•A‹ƒ'…LÓ‡Tڈ˜õ¦¿Þ¾——°Â·Emë÷t–ù¥:»>t<Ø<³²öÒc-Þê¥õ9gÒŠµ±Îr ” i‹ÂU)²ÿˆ#Ä8‹ô9 !Ï7vYØpÞÂæ.‹LŸ*òÏeòrËGi ,tüŠ.Q6oG/îZùÏ7óNC—yMðŸqq³­ÿŽ7·ú®Èƒ´ë¥¾_ÜTúî|ð£ ËÜzë­°ØtD´e¾÷÷éˆv{öpqŸìÿ¹²ÿü‘¿«’„jÓVàœ×ĉt²%¯;D'iñ?Jú8Æô1Š‘'LcgdˇõÊ+æ4ð>’ÂÌfÓ9Ýq‹¨$÷Ÿm‚\ö)Ø” ˆÔࡌòŇAQ9œì*Dl¦è|ÇäY¦9ñW¢KTú?$…ù/my+Ø%ŸQž_± ÑyžwösËÃbN–g}OòŸüd’ÿä “üW—ç“ÿä“ü'ÿ™ä?ùÈtÉÿ7Wm'z—a}Ž»ä¿í•(O@þ« ÷ü·½qÁ=ÿê‚üW俺8¯Où¯"ÈuAþ« ò_]ÿê‚üW俺 ÿÕù¯.ÜóŸà-ÿê‚üW俺#ÿUù¯.ÈuAþ« ò_]ÿê‚úŸê‚üW俺 ÿÕù¯.ÈuAýOuAþ« ò_]ÿê‚üW俺 ÿÕ}ÿN]ÿê‚üW俺 ÿÕù¯.ÎëKþ« ò_]ÿê‚üW俺 ÿÕ¿© ò_]ÿê‚üW俺 ÿÕù¯.¨ÿ¯.ÈuAþ« ò_]ÿê‚üWÔÿT俺 ÿÕù¯.ÈuAþ« ºþM]ÿê‚üW俺 ÿÕù¯.ÈuAþ« ò_]ÿê‚üW俺 ÿÕù¯.ÈuAþ« ò_]ã€åËŸŠªó‘•Ë;VÕdÈb¢ªœYAT‘¤ÒÀâÀåø"¢šŒÑ©Ï±D¢:T}çðý_uó‰D"‘¨KˆjRýÁg£ú&¨é¿úcà͉•D4­Fu O0§ÕUdÐ ¢š žÛB$,CˆªSuˆË9 ªS˜Ù¸T»&±)pU@T‘A©ªS’°tæ²g"‘H$‰D"‘H$‰Dbç囫¶U¤Úß¿'@ @ @ @ @ @ @ @ @ @ @ @ @ @ @  >„ñå’ þÁGVŠ‘?õÞ±‚¨&CwJÍkñ†Ì¬ ªHaR1QMŽ/"ªÉ±’còü„ª;IþwFªî›·£#]æh¡êN‰j²„H \ª>’àœXÙ)9¾ÊOøt QMN«'ªÈ ’´&ÿ`ðÜ–ÎHaf³Pu'‰DbÀRõ tªÝp—êw½Ã¨‚NÉa¹~Â!)‘AþÂÒâ,"‘H$‰D"‘H$‰D¢óÍUÛÕb_=ßP­ïÝ;ï¿ZkØYP^¦kjjp~þÒRHþ•7Ém>U¿7½N“züõpÝŽCÕÛÖn=PãyýðuuÕÆòr=ì5 JJò -¨×Ÿ‹ŠN¯ª*Çœ:Ý 1ü‡ùy%-ÙE-Gó؆SO6>Ñ|àxsbV£çõsÿa~]]UMML®¬,«¨(•h)«i_FÓ¾ô&ÏëçþÃa˜_]}Æl¾Éyn~YY‘ìVV’Hþ#vøžŸ|¢ ¶s&f4îJmúåp³çõsÿ;æ=Ÿ9Ï)Ù®3³A„9ÓÓ÷ˆÜm|dd¼ÖK•ùƾ2sÀ¤¤=Üv™Üÿ””]¢{þÃÁìqÃL¯ú. ü“Ràg6Ê„ù;’½–?’ÿF¥ùœ°§cþÈýONÞ)ºã¿&Îâº&.Nãìú©í?z;ØóùÎ5ý-¾ÿÃüíÉ çõsÿÑÕí|ÈæsÂyNîÿ¡C;D7ý·1ÝrDH~1ßââÌEÒÜ­çh{þ8éol©Võ˜·„eããã̯Ó6ÐτᲚa>çîôFpËáFL{Ëxkµç#ü•›?ÿºë?ÛB«æ*¶ßc™Ef»ØÜæ-`*k{~6³y¢u=æI»ËžËz ²ÿV›€O¸a¸¸ÿð]ÙpsŸS'—HþçˆÌf©ûç_¾ÐrÅé@waKn˜óJ.t0¿Õ„²¶”|p´õZŽ€7YræË¶ËôÈz fÿs`8ßÜ|Þç‡íÜüââ\ïøÏ í¶œÓÿ¶æwÆG¯å›kYW_AÙü_Ó½–ÿxW‹Àá¶sò>?O˜çë¦ÿh¯|´›Ú.GŒ=OäÓ57ÐTÔÆümûo^Úák9ÄÆßk÷¤7íË´ð· D;Ž6ý”âMÿá6<—É"dÿq‚(,<.º¿ÿ+#Àöœ(˜s[æ%ybµ>ÿšçoË›—jsÙsáÇßjÑÕÇ&`̰þoõÞûßüücð™w5ùn¯ÜóùPAA–èÁù÷Üðj¿Ñ[ðÿxç‹C oæIyå ÌG×s¦¥í̼ÏÂ&ØÆÞór"ùaþ–#ÞÉìüNΜhãÏ?ì®Þz°~ûáÆ‡dnOiÜ’Üø“—ÞUU•;–ˆ`IJÚ²o߯½{×ÛpÃþý›RS555æÿ‰‚³[÷WlKªÜžT%O7%Ö€ž×Ïü¯(­«ÊkªO×Öœ©««ª?[]__רx¶±±lnnhiiääy8þ·7ÚÛÿf÷ßïIþ“ÿLòŸüdvpÿ×®ùÜ¿Ùñý_´p†³SøŸà¿ ÿÕù¯.:¥ÿkrÃQ¾ä ;Íæ5ÄfÊËcE!-=.‰5í±Ë¬!Ͱ|I ßW±óÇ.1Wb9¸¤W9gUm­ƒÕ´¥Zyçé¤þKY¡L»þË^-7Ú Ó"Ò¦Tl2©Ä´àš%5ì%ÎY•Sþ+ö™ÖGJgôß¼Œ¦­ÐÆþoÇ »ø¦döÚ]PÞ:ªrÆÅ Ërduvÿ;°[þ›LnkA/ú߯‚Ï´Å*ydyh¸ä¿u‰½üqëõQTÛéýoÕå3ËX3yß/ÖèÚþo[bïüëšÿ¶ëÓªÚVÝNè¿_üW俺 ÿÕE§ðßó•ôcÿê‚üW俺 ÿÕù¯.ÈuAþ« ò_]ÿê‚üW俺 ÿÕù¯.ÈuAþ« ò_]ÿê‚üWËÿ8AŒŒ÷ 5¦›Ì¹z“K5µ÷Y:ÿ0?.Îcÿ¿µ¥Ãj¼Rè(þÇGŠÒ®:‚ÿš8ß݇¨CøÏÍEoøïyú(C¬Ýƒà¿VŒlý 6‡òv»n,«¸Yh;o࿞îÿŠŠÜ¿—™2ÄÚýžh~å¿|ciÏö[ËÁCû¿KPÜdÒ3×äŠÚýDܱü<ÿê‚üW俺 ÿÕù¯.ÈuÑüרôùmKœbØÌ½ßZ²­G9Ô>ïÃTö?>ÒzÀÇ¶Ä ˜ü¶ó K® µ]O{ D¨¿ÿÛ¾çuï]°}‡\÷Íþ^údÁ~î¿~>Œí5 ä×þ»5 ÝæþOùsŽzZûæ®cm2í@þé¿ò§Ü<¨GgóƒL^F‡èÿpjÚ(qÊ_7²ým7糪§ý»Ÿjûð ÿ=0ÁoT°¼õS£0šSÇGè¥ 4§RɈaX!#&ØS=+V"<’fåçÀO…¬lE”ôÿ°Õc[ìó¾5oz‹±Û«b—yM°Tè³_öóŽÁ[?0Qù”Ûbºç;­ˆBåÓ«þÖŠp’ó¼…Í 0¾J`ÚQƒæµC³– /6c2ƒæ6Ϭ™S2³"hZ0µRxZzœX‰§¦’iå&N*e(‰)1JÀ±Âta û5UÔ |¶”qº1hzIðäbPxZ/Œ/bŒÑ™£8Çä1Fç‚AQ9Âp0Kxü#&`f¿ƒBØùhRq vYQ².t\Á¬‹u¥.ÿ4Þ¬wsC' 13ûîf¼ü+Óñ{Ê{šrÇ‹ÎÇþ6ëC}C^Žñ½‹_›¦_S47J7+²púc…ÏFNLæ»q̽¹Q·å ½>uÌý§³Òf½­ÅɈ9Ù{«pËZæ'ß“‡òñ+™‰ƒ{Zé/þfÅ™o?)ÿâ-ãKJÞ^Pò×9ÅoÎ*~ýÃÒ©†¥S K&è+Z­›óDá´Grcú¦»iˈ{u%õ&?oÜ.Üü­pÑê7Ðgdé—ov2_CøYüæÌ3ß­¬XûEùªwJ?|ÕøÞâ’·æÿuŽáÏ3aiñkÓ /O6ÄM(Zø”nîÈÂg‡äMè—6ü¶ïﻜ&ü¼31àü4y¨d®0‚žâÆÃÉÓ«?(ûôM㻋J–Í-~c†á•)ú'èŽ-š?Z7g„nÎp–Ó)˜Ô?wÜýi#{¯ ïÁüDxÂÏM~Êç2ÿ&Þï(ÍŒ*`4û©_øTé‡KK?~fÖÚÃJOÐÏ£›U8cXáÔG &ö/˜ð Ê«~ù1?¦v̽é£îü±ÿµÌÏð4“ŸÈOøÉß[¹“­ýÄ9Èøöã»/`Ï”Oß’™N 3óÇÝ/—ç?u—ö©»Ó£lü ´ý³m?u3‡!-Ùaþ癆—§ÈÖNR8y`Áøp‹™£nÍî;úÎô¨Þ?>tÉÏÛS-û§ê-õ±«3[ùixušgs<ÆMÔ/+ˆ´´˜usþˆó£zåFß~täí뺚ùù@Vk?Kˆò^:B/»ÊL›ü0Nßì$þÒd$gÑÂ1ºçGYõÞ GßZøäM#o(ˆº1ïÉ^Ã{­ïw¥ÉO¾‹¢ p~[“í®ÌÏ ýôóGÇpB_[´à)Ö«Ÿý¸%KcïÔ¹E}£.ê:]Ôõù£zf>ÑsýW0?û7í¢Ø?»½' c*,T¸Êä±}uÏп0V¿hœá…œî‹æEYíŸú˜[ôOõ,uMQÔ5#¯Év͆û.e~Èe~Þ”ÉöOægUÀÑâêžä=yú–EÏ‚“ú…cŠŒ¶Ø8s Ÿh©©0Œíiˆ¾ZÕ£pxc]ñSŸ?1?ç1KïÎa~^þž 4¶vžäŽèU0e nvdѼQEó£-fÎyL?óaÃ3–ó{qô•†‘W>Þ-ë‘‹7ÞuóóQƒ0 ßâç´ú€à$eWcªAx¢z]þøðÂgÓÍ~B¶®hÎPýìGõ3žy dÊ]K‡_Rqá±]7ÞÑ…ù9¬ÄdißÝ’ŸMAnlS+{'œÆ×Á“Sƒ{ä¾]#XZ³ûgfæÌ!E3-š1Pÿ̃†i}‹'õ.™p3Êë¶­.޼H7øücá¡n f~>~šùù` ëÕÃÏ™ÍGÙdÉUxròáËpÈçíS0ñ¡Â) §,œ2@7å!Ý”~E“ûê'ÞiˆíU<özìØ9 ] †fÞ¼þ– “ŸØEágŸýð3xnKàЮ«ð$«ßE'†\sräm§žºGs_nìý¹1}rÇõÉww~LïÂ1½ £¯×¼RÙM7äÂÂAçå>|äáû›æçÈ*f)ü”ŽwÕÛ¨º¥º²æä'n;ô`·Cƒ®N‰è™òx¯”ÇoIvsêã7Ö3mèuC¯ÎxìŠÌÁÝ2^”ùÐùüáȽA{z ?<|½µŸÝÞS½ª™iösÖʪòÌÔŸ#nûöŽ ×Þ{É}.ý®ïeßÝ{éÚ¾Ý~ìÛm]Ÿ‹7Þ{áOw_°ù®°½»l¼-dó­AënÖ>|}ÉÑ”YWXù©~š©œ­Nú¡kg}V)º]iÓ¬¡OVZò“û©zOÆgý%~Â9w–bkqrgÄ:N£«M|B&úü#O³GþWì|‡´¢ìç°Ü€ J*°ÿ§!9Â`‰Í”mz:ØL^‚G¼[Ì2½mÇñþÈìgД¡Ð~äï7¥ó»3ÅÏIa@¶Ðó;¡Ûûª¯‰ü$?;2ÉOò³#“üô²Ÿè¬^ûùI~vL’ŸägG&ùÙN~¾¹j»-]ªÊn “X[WÇ9—ü´]Ü ?ÝXIßCö³¨¼)õTÓ¬ú½iu ©Œ;×ï8T½í`íÖ5àωu›k6ì«ÊѱOë\òÓ´øï5ë÷UçÕ‹à'ÌÌ+iÉ.j9š×tDÛ ¢äpNóã͉ÇÁ}™M{Òaòö¤*ÑE?³øâM;7ðÅýÞOì™0óXs6r'“²šöe4íMgÜÖ¤9ÒÄwZÑE?÷¥33w¥2?ùâ~ïç®Ô³ò™t¬ Ä>5ý­)Í;’›”ÜyÈåýó—ÃÍœð“/î÷~"â3Áß3q\ƒ0“sËáF “·ì~Ú¹Ù—|ßù® JÚå6¿mù)›im©[~b¯ÞžÜ¨Ü½½à§ÍÍ»ä[¯È·£¶-i¿;D9ðS¶1!Íf/uÕÏ똟X|«d)ØÇ;¿µJëûÛ·2Xy÷üäÇûîôFø¹5¥Ñ£ãÝì§l©÷ÏG¶î™¦mKD/ý6„ú~bÙöñS¾Ã“~Ú.è}?Û‰²Ÿ¶›ÃK~*=qòx—Ñ.·:”÷ÏmëÐÛ<Õ bbÏÑV;'/4í`]éJ~þšnªçç䆟½ÕŸ·¹™•Sç#/ýÃ9ýT￵>Øy¡ÛÇûO)œ6àM«Wü´ws*'úK^ûmü´ O^è¶Ÿ[Ó›6iZŸÜ¸þ`ÃO‰ñþÈn ~ÊÓžìŸè'ÏO¡¿g6Yõçy¡Ûù¹å;ØáçIõ÷ÜûMžŸÊž¼§ù™Ì’f®K¬Û°¯R ?ü­ûÞ®Ô&ÄfÂi,H²t󑯇y!': Óý¥“ÂuÌÏE gÛbÅé|WýL ´ òÓ»PÁÏ5¹áá¹k<Ÿ§CÂM?•íÅ´P³Äô$3V0.wü’Ö^\Þê—ØÁðX£G~²URVØz•œÜXŠJ—t®-nïŸßÖ,© ¯‰ýÿöÎ66Žã¼ãKG±œ \;RÕÆ ü%A¸­ $F òaÄHaØ[AŠÔvíH”]ÑPkKn §µ %QFÔ*);©â¨®³”Û:U‘¢J–DBæ‘EòøÎãïý…'Rôõ™Ý½}»½}™ã,ïž¿þ¤vçfgçùíÌìîÜñ¶ÍvUËåÑ#<½6oPÕH¶ÚÜ‘žÒçCè†mۥݵm¶µE¥#¨,”®\+u›±ÇóåíR~r°Ñ6f(m³EÛ¤£AË4A•z–Ò€]ó$Í’òéËÛ¡nƒÛŶmcWWFª<¤+´aý"ço‹þNyêú»º@{­·MÓ– U¢éìÚ') ʤ¿É‘€ôw™p*Ò(—‡.³hŸn@§P5v1†²ËÓ[Í5۸^’‡a÷¥Ðó{i¦ŽÑõ’ÃóQ} y²òd+äÉVÈ“­'[!O¶bÍÓäãpäÐñÅŸº/_Š®­ûkQÕ|úrÔðY;†keúÍÿ.&XŒ<Íg±ÊýÝ*±RýÍ6q^ù“Ü”£çiÖ8‹ë‚§—/E7}Ê{û,Ó8‹Õ8¿(‡<õå¸ýRtC}”‡GW?_'~J¹Lx=ÏVÈ“­\ð¼ãÁë›_ˆßñÔ˜­ÖËW%¯#!¾Bþ|…üù ùóòç+äÏWÈŸ¯?_!¾Bþ|…üù ùóòç+äÏWÈŸ¯?_!¾Bþ|…üù ùóòç+äÏWÈŸ¯?_!¾Bþ|µùsòç+äÏWÈŸ¯?_!¾Bþ|…üù ùóòç+äÏWÈŸ¯?_!¾Bþ|…üù ùóòç+äÏWÈŸ¯?_!¾rÊÍÖŽø£™ù#ÿz6òGþõläüëÙÈù׳ýýùט‘¿Oø?v½öVøóžˆ­SáøÃ×FþÈ¿nü‘=ù¯#þÃÁ Ÿ^üøâ…_׌ƒ×Îñ×>¨Ìðà¥ÈÂx.© ÇcSÄÅ1^û×ÿÐj >5DqqŒ×>è,ÜqUÃÇx‘?òGþ¾æ?æÄ‰3aäϤ>:˜vØ®kþPù®]’^™×gØøMä_eþJåɱèñ!ñ÷•ÓR; ŒZݤ”¢b}ðÏö”šË±ø…¿‚}¤[¤ UUmJøòÑ®Ó}뿚æ@ø…¿º“ÚIa×Önü×Ô_JDþkÔþÕuVŲÖüI×+]H#‰‘¶*ÉS3ãtJ±p¸þ7=±êùÓÚ’<'NwŸ¨‘ó¯Ørh»’cY÷_Uv}ÝùÏÈùÛäMqÇÅÖ‘ÿ5ˆ×>ÿàµs5ùþW¹· ×&^GŸÃ÷™?È×Èù׳‘?ò¯g#¾þ Á]OÌÒ£°ñ»‘ŠšShfÞü°­St—¼ÀÊ]6Ìnw[Ù™á+øÊaáî·Ñ¼ÌûïÏP( …B¡P( …B¡P( …B¡P( …B¡P( …B¡P( …B¡P( …B¡P( …B¡P( …B¡ÖZÿô“_¡9šû¢Ñh4F£Ñh4F£«êãÇ£9š÷ük½‹{D£Ñh4^/ÌgBW'Ç.ÕÛóv}/ÀŸ›ìåбµÞ4@.¿&Ÿ¯mïÔø§ÿ©}G׸J€Z¸)H¯%øÖñÿ¯m=putí«t±üóî¹ãZ³xaä¾ÕººzË'õ©7þÐþÿòò²OêSŸü …%“MæÏœ8q&Œü«Ï?ŸÏÖ¨p×.ÉG¯Ì³«- –ü35Â_©09Ý#놺Ô`Ô­ˆî´”Â.¢jóÏö”Ú–ê/ƨ94r6cžg®œ¦!^9!9qÙý…¢ÿ\.%Wês 0¢§”¾|´ëtßúà?Ò-5ÝGNË1B6‘!x8¤<ú#Ëž6›”š·® ÓšT§SWwü×ÔY9)È]XÂBéÚ<:àUçŸ0ÙÑzä_0õm^›†ÈÐPòëò¬-ÿL&.gƒž(Èh³®Çé¨FT•!–Àény<7ä1ò÷Üð,ø§ÓñRŸ%5Ï5P½u|þ[K—ax)×—uy ~ätÏ¿étŒUžüým þ©Ô¢OêSŸü“ɨOêSŸü£sk\™xlÊ‚?¼Ê×ÚÄ;=~yóã¯.\ZãÊ ^*÷–¤×äû_¦ñÎNö=ûFçc/ôÉû¡ÔõóþïÂÜüÞwø} èê9IÄB™Ô<÷š Ñh4]‡šShžÞÖE¼µ³²iÎÊî¬ì­]•m§œmökeÃvjeÓö!Üý6š£½ÿY<6›I-fÁäÝœD>—\ZÊÜ,doÞ\ZY)¬¬Ü¯®.þù 5ä/Šß{fgx<~ìðK»þÖ{%kXÈŸ¯?_!¾Bþ|åþbói1t¤(¢›‹!§¡Z›„”eª5`¿€Ð‘fi+A.ÉU9NÄ™ÿ‘fB[â*6ËØ­¥ƒbC9‰Y“x¿ÒA©¤@«LYÚ þ£)ª‹û‡6oä_J´-`$¡V°é––¥Ú¶T8cù‰‘ŒE®Ç –+pÒFÞceù‹«P$ABGŠNÃU“Vä·nåðÕMGPE6eÚÒ7uß©·ñG|r¢Ðê,D¤8ÀfÈ^ûç_zýCpý©o'ù²ÑQ›Õ ZÒ¶µ~ýY÷Bþ|…üù ùóòç+äÏWÈŸ¯xò/]í Ey¾·”bÿÀdÞØÕ-€¡ÝA5nxò´Jw»;¥p|Û[4™7á;‡e,Gó¢³»9›òÇø£Ìö¸â¯*Gž¸ôˆÊ0—Qµ _ð×MiF$'*Í{3 ø«Ôø‹¾à0êM+”c2oì¦Ý`Woö?ÿrœÎ?—™7v ;¹\ §Ó±TjQt4™Œ$ âq™£9C¡kEäÏN”?øÙlR†/‘§ðc±9…ÿððÅ"òg'ʆ¹åòÔ"öYÙ30AÎÏ>;[DþìDùÀ¯s¨)vÅ”_ßé"òg'ÿ(øâų:ø¿á¤Lù_¹òqù³å—:ÀPSÃÈæJŠÂÿòå_‘?;QþÀ–6{õ!PÇBϿȟ­(`K¯vÀ v¾Ì´HøÿªˆüÙIæ? ×™ÆCØ©&5DùÃ]- 8p+§] NôÎù³•ÂhÓÓ.5ˆPøÃ bfæzù³å?55œ6½æT“§³@p‚˜ž.âù—µ(¸ó….#¼ì1eÒÁî çµkÿ[Dþìü¡ñÛÌ<2rçŸÙмÿ’‰ ý ,/öž?ß}îÜ|â·¿ý°¿?Ë¥¿dŸ*1Uül‡?ïfRuÙ€F£Ñh4F£Ñh4^¿>~ì0š£yÏÿÕ»¸w@4F£ëУ×À£ƒg«ge/“c—¦Æ? ]]˜ê„H‡ ~‹÷kÛ_¾ÕZÞüøkϽÙž¹Öñøs“ý¯:æ·xÏôñ¾f¦`(üÔ¾£¯ú¹±ýC¿øðªßâý¼¦´¸zZx,2bäé«£¼k¨×êê-Q+5à••å|6 : éøÃÈé¬ßâ]^¾Y+.ä²éd<œ“ñ cû‡ôe"îõÔ¸PÈ׆—–r™T<™³à_(,q¯§Îù|6ŸÏÔ€s¹t*†§,ø‹Áú)Þáq!ÍÖÃï4)ßÕôÎIîhjê¦Nµ@ú‹§ï4—K¥’‘hxÒ’Æ}¼bµ%½ø?lª=ÜÍjÎÐCï4 M‡¤Õž]â!È l¢‰° 4¾3ÄrÔÙl2™XˆÌOXòO»‹—%´œ’WOí*-{òÐAZsvà‡U)ƒšš *¿u¯²s&“HÄà sVü•#åПj2©öà¡F¹?ˆ¯Š1Ú%%í:©Q¥šMhÍ™9HêÔ$~Ø"ìì%é¿#Èn_Z§Óñxl><²à¯)ÇAAzw -ŠÙ„–^9…p¸ÖÑ$§((Ô ‚ÀVãÌÜßÔ´?¨I„îè…t€ß±CпÊÌét,› ÏŽ[òO¸‰×$(9½tžÛTg£Ëº Õù‰ZsvîníP¥ ´75µÐßéØ@Ç£BK7Ó=JN¥c‹³ó3cü•#å5(—’¨Ñ4=(}lwšLF£3sÓ£–üc®ãU]Rzä ÒÆ–6–økã…5 Õ*=d´æ5àDb!™žºaÁ_9R~r¤6 Ÿ‘ðäÌÔu‘ÿ¤)Æ΂‰çÖ¯!„dbl€´óø”)šÓWñN…'Æ&ǃ°°~ õ^»1t¥÷“O6?þZ&5§ã?=~Ò.ù-Þw?èì?¿Þì?ìûM÷ÉÞæ–öÞ:šËFuüg'ûž}£ó±—ú-^¿½êÅÐÂw¼ý^6YÊÇõï¿Ï Àï}‡ß÷[¼ù\l)Ÿ(ä“…¥*zy9_=«v”¾YH–R‰Ø¸Ž,2’ˆ…2©y¿Åkç3*h4F£ÙZhN¡yzkWocèNv®•ÝÝý6š£yþÔ×J%¦ŠöþDNxd”täi)äÉVÈ“­'[1ãiú|v"‡Ï©6–S¶d‡å¨Ùlÿa§&ϯ—Õ*ÈO”.‰O³ç¤K19|Ö®ñ¹íO`wUŽ“çÿš<^Àlm­"Ï’´µuúìârå¸/˸•úÙÊÊ)=ÍùH³ô Û5à©«¾kžUÁI{Œ«G+ô(LuŠJ¬yš=—Ü Oc×v÷„mÓ­\¥tvh¥‚æ‰ÌZ¤LyšÕÓ ÏªÂ”^pÒFË<Ͻªí³ÜCªò4–ãîñ׆­BGZUϦ·] ñùìê—ªÆÓì9àšD›íÁXŽiÉ.Êqw¹dò¼uÕ>Öäü^×Bžl…<ÙÊ Ï12·<-…<Ù y²òd+f<­æÙœ\[ͳ9ºï6^nº+Ç™˜ñÔÏ©î‹Ý,š”£âᦩ&Ê=¦ªDörÀóÛŽæëT<]N‰ÐÍÔ·ÚîæÙèVªmÝO!V{ž¥Ú*ýËUíKÍJÙÜÍ\€Ü»½[bͳ¾\i1(ÇÕWaÔÜŠ»kŸLÚ¹-1å©… ™Åuøž“©*Uq­õÖßõóc¤³K8:”s6mgœ[_ç#“ù1W×KólÎÚ”ÉìœÏ®—ìžßëZÈ“­'[!O¶Bžl…<Ù y²•žcÂÖNäi-äÉVÈ“­'[!O¶BžlåŒç6äYAÈ“­'[!O¶Bžl…<ÙÊáç?‘g¹à › -ì”'ï&°䈧Ìhä‰<×µ‘'kžcôý#î5© #Oäég#Oäég#Oö<·âõòô©žÇF{t±XTxòž¼©a¯Rç^“Ú°òùOî5© #Oäég+Oê¹7;Ã3×Àºòa§s“ý¯:æ·çIU)^& …ŸÚwôÕC?7/8Ž^=Ó7Æê»,âUx~îI««7 Æ"#Fž¸:ê­|¿©l¼"OrýyëÖŠk¯¬,ç³iè‰XHW> 5¾ºz ,Êý^üc‹xžËË7ݺ˦“ñˆPþy¸ËD®Ë÷›­âUx yw^ZÊeRñXd΂g¡°äº|¿Ù:^…gSSÇp>“wî\.JF£á) žù|V´›òÝx¸Ãu8ãÕòLç;—K¥’‘hxÒ’'­Œ›ò5–@•Y­˜ÎÂÖñªxÊ¥rÎÍ&“‰…Èü„%O¨FÚEázÔÔS·Z1…­ã%Ÿ¿¬©éÀ`6™uîL&‘ˆ‡æ¬x*5ñêÁšz*«° }‹Hã¡A9üÞ¹K~a×IÏ{·¯šg0“È8w:ÇæÃ³! žJM¼:¨p“Eªýa‹°³WÉ)Êo¡±#(¦÷î”<Þl¯Šçþ`&žqît:Í…gÇ-y&À. ×;¸_SOº ¿5ˆwô*é¥ÌÀØz®@¥xU<ÛÒ±´s§R‹±ÅÙù™1 žJM¼z ]SOºªK4Oïníð\Jñ*<ÛRÙ±“ÉÅÅèìÜ´Oè#`…ë=Ю©§´ ¬„–C6uæž‚Ûū幘rîd2º™›µä)Y¯–VaAéî Iu¢ðÃï{·¯r½ÙÜ9‘XˆF¦g§nXðTj²¦þ¬­±±í3ÖÅZÇ«âqg¸xˆ„'g¦®‹åOšòkâ²|÷–x2.Ö:^…çbtÎ…£ÑÙRøÈÄØi‡ñ)Sž4'x‘ØÍŽ|âŠñ*<§Bƒ.<9 ^»1t¥÷“O6?þZ&5§+zü2¤.\‚ÌãßÝŽ|âŠñ*<ûÏ»p°ÿ\°ï7Ý'{›[Ú_xëh.Õ•?;Ù÷ì½tðÝzÜíÂW®¯ÂÓãû);Þ~/›,åãºòæà÷¾ÃïרûGåâUÍ'纰””¾YH–R‰Ø¸®üXd$ eRóù\l)Ÿ(䓪­ØÛElã%<ñó6ìŒ<‘§Ÿ<‘§Ÿ­ðšSh¯˜_?-ñ„«¦ªzk—-Û*­Ë—†Š½K¾ú„'š©ï½S„ÛS}~žv »„¯ ÿ?þ –_k€ò)²¼¥Á|ûz×Ýú_làR  UÃÂñ—ÈÝ ý|Gú_­/ÁÏîüýó/¶~ã…ÝâJë?îxæ?ؽ›¼ú°n„'[ÿ•´ü ›ÄÿÃgçËœo‰âä|†šEï‚ß›„onÜ¿÷÷aiøË›Äõ3ÏÜ'ŒFîóÜ»KØoßû0äyò?¬Úf¢óÀ†-é6Í[îî„מ†Ÿ'a²Ï-ùÛ¾HÎè$ï/nß¿7 ?¤Ìæï¤[½^NGço#?d¹p|U!´?gáçØ/Y¿óöÒ6I)ß# Ò6‹¥8HAáÛ7 Ià˜”X’úß/Å~á?A®çÃ|Q<¤žÃ'W7Èÿ'É>6 _¸S ±}lèZ5œ£ŸþèÕ Âýâ>HYd›§%Þ?–öÙÞKÙüüÿã_.¥rI¾¿kø—†‰?zsï)ØÇ_>òäu«’÷Y€ý2îãqëÛOî!eëõç1ZÇËp̉nAyÿõ»Oì!u$ëŸÃö$ÏïÁòtÛ=ýì}ʶÁú—ÚÚå²Äc¹…æySP_½lš¢´.÷¤h¼ÉÛi¼$¾¯öwÉ#CÂÊþÃ/=µç!àMÖ_ ܯéEÇàõç‰=ÍÒëg`ýuÀ:‘€öºiÿÞw6ѶµñÜÙ=¤@²ŸðOï€ò¿xLþõ>áêCOî鈗ŽÑðOœ2 Ÿ¾_l?ºó ±}’w M°þ×ÿþÏ{Ÿ…y;’~/üÿø!ñMÀò[·=±çTÙvQdû#HûÉmdý— ïÁòÉ“û÷ᇴ#ùøÊm™”9,µ¯~Ú Èmíl'/ Ë¿øSÚ>pÜ0 Ç 7pܰ7ìŠt‘çwþÍsÏì–¯m¬.ñr²võÿ7g·\Hêxœí`eþþß$¢œž‚vQP¬'X@ HÌ †z H3@"`»úólgèâÁ©x?ÿ"‘âÉQ,GOIHÝ’lÚ¦’ºÿçwwv²I6›ì&›d¿/Ÿ'̼;3;ï33ϔ݉‰¾)åËÈÛR™U̼XµñZÖAQç yš{nd¬ŸcÃ¼Ê ºÆ4Ü3xad¤ÒªKTíê™ â²2†-Æ¿pv{ž…áÿ¥l¥uØ,]±µ+§gÏ8Õvgoiìû;»´å÷wæòçû‚Ã{ÞüSô„37}wcÝØ£=•þ£ðµ[÷üîÑ1ÕùãÝùûΑþ.kìì³ÎÌÓƒï“ø¾ÇÞöÄûÿy‰Ø“y°ÙB¼{SËuØ#6Åÿ›Mÿ{šÞ?ÎÏAû—þÙ_º7áýù>}îLÑ~óx|›¬R¨#^ó®•ÚÈX'èOÐõРП™tÀ°˜± ëbjÓ-Œ¯|ÙóycìVè6èvèèNè.ènè¨t/tÄW–^ÐýÐPoèAè!èaèèQè1è/÷©Ôzzz zêõ‡ž@¡A/ãÇ6Œ=ËÄ:è=ÇøzȘ z ƒ  áÐh$‚^„‚ ÑŒoCŒ…ÆAÁÐxh4šM†¦@S¡iÐthÍ„fA/A³!¾&Î…æAó¡—¡Ph´Z…A‹¡W %ÐRˆo9áÐrèUhôÄ·æUÐjèuè èMè-èmè¯Ðÿ@k w w¡ÿ…Þƒþ½}}}} ýúŠ€ÖBë õÐh#´ Ú } m>ƒþm…¶Aÿ„>‡¾€¾„¶C_Aÿ‚þúúÐ7зÐwÐ÷Ðèh'´ Ú EB?B{ (è'h/´Ú€~†þ ý„þ‚CG £Ð¯ÐoÐïÐСcÐqèt:†Î@ÑP tŠ…ÎAqP<”‡¡ ÐEè”]†®@ÉP ļӠt(RCH é L( ÒCÙP” åAù*€ ¡"¨*J¡«PTU@•PT IAÁß!OÈ ºò†:@!èZè:¨ô'èz螟ÐÐMPg¨ t3t Ôêu‡n…nƒn‡î€î„î‚î†îz@÷B÷A=¡^ÐýÐPoèAè!èaèèQè1è/ÐãP¨/ôô$ôô´‡8ƨ¶ÊµA¨÷…CÏò}ä=ùC*èyh(4 €^€†C# ‘P 4 z ‚FCc ±Ð8(M€&B“ ÉÐh*4 šÍ€B ™Ð,è%h64š ̓æC/C¡Ðh!´ ƒC¯@K ¥Ð2(Z½ ­€^ƒVB« ÕÐëÐЛÐ[ÐÛ"ÿÍçmLô›ÏñV#û è{b_áÁ÷^ë¸åì5é/ÃËÃG:Ûë$»þäÙçÏ«{ò!üÿ|´Å¬—Úȧ´Z:à©ÎkÖKïØ]z§!žìWìV¸ÌeËÍì£.AuÃvve_ÜÅùò.SGø²š8Á;›Dã§VßlÙä±êóçÎzi‚« Pÿ{5elŒØøysîÚÕ´ :}öš2-¹>4i1}%uüãv)#¢oeúø¨ÇtÎ íz9Ø'ëÅŽõa`A¸I¾ì?ò="Ï„H‡ÄÌl‚ b‚2‚ ˆz¡Œ ”AØ‚2‚ [ðŒ¸‹2‚p€‹Y9É9yZCaNqI^Ii~ÉÕüÒf¤¤¼¼ùߥ\-3”^½’“çæí¥Œ %N“‰¿ßmycÍ„^áƒXûàÍÀ®ÿúhaVQQnI©›·W‘};RFM :UýÅ{s×/µó«ßcÚ:¿ÅÄÿ¿w_dDXÀöCõEÅnÞÞ¤Áü;]”DÓ9u%{¡ÿ=”œw%%þJ*:Ú.˜ÿؤäÓç/<¸íÒ ݼ½”„£œ¼’†ƒU>[­×KdkÚ2hBª.óbZFÜå´+-×àæí¥Œ El3úüü¬ö‚.7/U—u!-íJÍÍwóö*2‚®YMBl3ÙÀ–ÓÈÌËKÏÒ_JS£])õd„û´—>× El39@l9NÄo}œ|û‚ì¨0ÔDÄ"üý³ qèŽ4 ‹^ïïÜ7Åf“¡ÏNJרÈGÚ«lTd%z„ù£uqqråö¢CÜTGX¡ìðgÊQœÛ^ÊÂQÄ6“[Pr '‚m kŽ!.Ç1ëýÅ6ƒÊÔø¯Gsßdçç«õÙ—mfD“Û‹F-dhT”è]%Z$7Ylð¢F´7Æ‡ÆæD…‰±„r¯<˜Å¹í¥Œ Ŵͱwu ‘~Ø â6È5q*ß~Tªœ‚8¿ qØ ;ñe°kUgç\ÎÐÚʈ&µ·v£D»ü˜JTZµ±Î¹Rî­³ÆYíµdDbºfI4±Íä±å8…µñ…kUªÜÂx¹fOaáB¶6~¯?S-ܰa­Š)_u"Øl49¹WÔ:Ñ´öÖn”\/n̉‚v­—£(k¬†gÒ-3aKSv¼½Èˆ/)#GÛL~QÈ+,tëâ שTy…ñr 2b [‡ŒP©yñœøvJp¡ÍÉM¶™Mk/µs^¸·¾í-ÜÆÖI·7LÔ¬S±ØÂx¦Ú jd+Ät„Qëâã­ìrV{)#GÛŒ¡¸ˆ-Ç)Dù³Åù åšu E|cHHÊW6]n^Š&ÓFF4­½çÐ(ÕÆÚ³í¿1Aø3†WEKÙâ¢2ßbaˆ¸±¶¨Á0âPB9J~Q‚ÓÛKA8ŠØf JJ ¤ÍƉøo:¿^…­ñ<º£Š‹±…ÄmR­?_¼^¥B%:†ó›œû¦bËÏÌËOÑfÙȈ&· chÔ~Ѷx¿Üí²-No¯%#èš%Ñ4Ä6SXR œjS¢|Ö€@͆Ē *t$¢;l?(AÁþWœû¦Øl²ò ©:½Œp¤½b¶Eùéæ”yVÚâÜö^L÷ Cl3E%%EÒfÓÀ‚>ßf3#Z[{EF–$:½½”„£ˆm¦ôêÕ’öBqii®¡P“•c##ܧ½ÊŒ ëDSÛLyyyY{ájyyAQqVn¾ŒpŸö"#äë”DS8q9ëVeU§²²¢]P^QQPT‚v%׺/“»µ—2‚pìW×Lè•tæPu;*UÕÕ—ÎB».få¸y{)#GÁ6óÍÆUÛß¾}ØØ^Š.9-úvãêxm¦›·—2‚p”3É1©l6íìþŽ_üm^l†¸y{“[~ÓEA4ìy°Ùà,ýxRJ p4!©ùßÍÁñÚU{¿êní¥Œ ”AØ‚2‚ [\ö¥Œ ¢~(#‚°EáêOj©P¡ÒŠÊeßZ¿×ØòÍ‚ PwF¸ü؆ ˆÖeA¶ Œ ÂÊ{ÕQFa eA¶ Œ Ât_l‚ lAA„-(#‚°eA¶ Œ Âü~–ô ‚ êƒ2‚ êåbVNrNžÖP˜S\’WRš_r5¿´))/o>äw)WË ¥W¯Ôz”F´öŒ8°í-ÂNh‰8ÝŸ8 ¿ìw[Þhg·Àþ×G ³ŠŠrKJí1!ipë¾EëêŸÏ·Ò’áê¶6¥4ÍŸèTõïÍ]¿dxÔί~IhëüÿktüÞ}‘aÛ? ÕSF¸Qq·Œ¸š~ÉðǾ‚ãû Aoñ±=‚¢c?þYðûî’ô ƦúsêJ:öº'þ{(!9-îJJü•Tt´]0ÿ±IɧÏ_:xp/Ú¥1RF¸Qq·Œ(:ò}ÙÉ}g”ŸùE¦"ú@Åé½§å'#ËŽÿPzl'bÂØTÄã5úlµ^/‘­iË  ©ºÌ‹iq—SЮ´\CkÉɤ2‹±ÄÌȶ¸F¶þânQòë•§®ŒùOEìüTœ;Xyn_ÅÙ½œh$Å.ÄŽ&ŒŽe„>??«½ ËÍKÕe]HË@»Rk="Üe!3kWööPÖ×ÈÖ_Ü1# çŽrâÄýŒ˜àœÝƒŒ(?¹ 'FÇ2"Û`HŠv@f^^z–þRšíJqIF¼ãç—˜-º·gfb OE ˜¹¼ã‡Œˆ~çjü¬j1? Ü:×ÈÖ_llÌ/BX=Çq’ÃVþoÏŒfXR»ˆ‡{ .‘­ÉÆ­Fcrí~HL<<<5[““å /m `¨ir{[2#r €HЉˆ3DøûgâDo¤ÁàDzãÖ/ˆ2ˆ†/óXÕDÄÅ)GÄtóDø³HCca¢7z½?&«ìµsÞDÒe賓Ò5.ˬŽbUk›XÿDRˆU!¢\#-áÒÐyȈÕ+œI’ú¨Ô(6¶í¡~²Éõù@ŸÅlÏŒT.¬¦e„œ=ÈQsÙÁ‡ÂÒÞ’ÿFòtHø]¦*þ×wg"#øY†™ò“‘ÅÇöØö§ÁŒÈ-(9ƒ=Ä`ëõ_Ÿ&zFÄŽ¤È‰[¿õquÖˆŒÈ1ÄåHÉ‚'’#EFÌú01}?ÿõQ땽b:öŸ¯Ög_vaF ú$š)ÊÁOüDRˆƒ ±Ž¾s*Zy¸ayÄ®I¬^Xí…3§¬gí©Ø³ ˆ xçTdþ‹Ã=,2;—ˆŒ`蓇¡ÌÇKɱ¨Êøß• çrÎìå§*<þ“þÔ›……@M؃߆8åV³AW¡RåÄáUÑÍ¡¡Ñ­$² Ù±áÐæ§Ú½ö€C uvÎå ­ëÎ5N™N7ä ¹F™ònƒ2å52» éðA^#²ªµ›Òà6 "`{(Sžh(ýùîxFÔ>§3B®tüx°øÄ¾Š„c&ΑÂR@pNï-²•u±7륜 ÙÊqHÑME.¶®GHŸ+ÉW‹ÅÑDmÿg1¿ƒ8×_¢}çâxGxØôE‡ÕUéà‰ìÀ¹†ƒ¾ääþÊÄãU‰'€ââˆ2&*Oï«8} èÔ϶ýi0#ò‹Š@^a¡Ä"Tòâ7,Ú[¸NÅò¤°À&·7 ¯®‹G¥jOa¼UͺxÔ¨D †_„W ÷*_]„W¥šEa{×ÅïUöŠ{ÀI“6'7Ù…‘(펰/Âz)ï‘ê¼B)j”WÑ(#)6¶9d¬ü9.–—¼ ìɈð¤¿HÄOÿ¶¢C>‹[dGíã QïH{åŒPçÌ^¹ÆYa(.")ìÄc¹*¶xþŠšu Eò¡‚#¿(Áªf]B²€-Þ¸ˆáÕ}ò«þèMØ(¦©ݪ×ÎCLèróR4™®Ì¾Gòóä· öêÕè\ÃÎbc/Cnç×/8k‰Ø_šc‘•ž9Xyé4'ñ8ƒÄã<2Îü¡ä€…§~±íOƒQPRR Å„ý¬?_¦Rù«ÎoªýÒz•ÊP|ÞFMó˜ÈÌËOÑf¹2#JŸnÈ×)µFÒ5KÛÅÆ6 <ŽkðrC[Ɉ«1‡*/ÇT]>Suá„åÂDÂ1ÄÿnÕ韑¢ÃñŒ(,)!®¤„©6mP!_­^ÚX²A¥RÖ×®i>Yù†TÞ•á\è³O;KkþU³Gœû­25®*å¬8”TÄ«ŒùbB¦üÌ/ŽgDQII‘NA$BaI¢šæDú|CZ»Ì*¶KkΈæ(-™¥W¯–´ŠKKs …š¬Ê·+î–e‰'ª5+Ó«®œ­ºt†sáOŠøß+Ï Ž"/Ž_³,///k/\-//(*ÎÊͧŒp»ân#ˆê¬TÒÑ? ¸#’¢"ñà_¾ìê8­è’ãÑ¢o7®Ž×f¶“Œ ì„–ˆÓý9“œ“ªAL´³ûY~ñ·y±:Ð2‚ \ö´ˆ‰—S'¥´G’šù]С]>Ž¸Ð—žN„5I¾ì Ê‚ êƒ2‚ [PFa KFÐ5K‚ jCA„-(#‚°eA¶ k–AØâ2eA6 Œ ”AØB‘tÍ’ ˆZ$QFaƒV.¿ãA¸öfD+ü~ĶyË#*TÚP±+# BÅ] e*TlÊ*T¨Ø*ʈV÷ýÊ*Tš»4˜—}-÷¼µ+#Þñó“ö;kW¶xö/ œê‡Þ9-{çTvíùù´bÜúžaOA…J ”fÌˆí™ØÚ`;—•ƒ>‰VÖXeÄv¤ [¸«Æãí)#¨PqaiÆŒàqðÉqÔ oä" êËešÐ¹*­¡4*#ìºfYç6oua##äÁø‰ Þ43’2‚ –†¯Yf_6ês ±Í³ÐHœ2È ¿:kWööP&Ÿ> w¦,u ;p®1 çR.(ãƒÎ5¨PqUi–Œ˜µ+A ÜÎqÞ! D" ~–Ÿó[€šƒ»0¿tˆËò‡’®GP¡âÚÒ¨Œ°ëz6þA~ ”W쿾ÐX(#¨PiîÒ¨ßkØ•8 8ø‰Ÿé˜‚2‚ •6^œŸ- e*Í](#¨P¡b«PFP¡BÅV¡Œ B…Š­BA… […2‚ *¶J#2‚îgIîIÃqgkÍ‚ \eA¶ Œ –Œ¸øäµ”AXAA„-(#‚°…2#ZÝ÷#‚p9²o{PFQ”AØ‚2‚ [X2"ú6–2Pb‹öxĨ$ž÷¬•i ,†—;{0[MÔ‡aÍå?!é1v¤/[wKÍŒ8åË_–Ó!q8$zR‚Xz K 2‘:ÖÒ-À«á8)C‰†ÁÒGÔýR’?K"ákââ`sï¢/ à$ö—þ>Å;ðÕŸgćòq„~„´lÆ1ÍDŽ~"ËžÊrCXÁ f˜ã%(šo¡„zXQ5‡•Íöà„0Â6•„M\¾€ÚS%£¦²«“XñdV8‘•L`¥9è( fE£ÍE‡™üÑ,o$ÿ+^-ÉÉfM‘;‘L1ý5„x’™¦8( í ¨\h¢bWmªC=A¹HÂ&ÈS‚pëHÊ)™â]°inc-^™­6DÌ-xÑ›ÄК‘¦ÈˆâDCÙO Ò‰Pµ¸#g©‰ê%dŒK½L„™IáD~›ÁÖtóÑõqÉèÑš©32 7ÏIÈí­úéú‡¿¾éñû|sßo;?þm—¾;ºôýáÆ>;¯<òºÇ~ôy4ªÃC‘^½#=ˆb=wÞ=hGt\–aý\qXQwF DFˆ}U:T‡×¢ž˜p&x)Ÿ}ž’ýB'ŒÞl¸|Ý"Ú µ3¢*GÝû…Ó]úŸº}ð©ªè^âïÝshô}Ãbz ={×ó±·?ßõ¹ø.Cnð¿ö™„kžŠ÷xü,{èè݃¾ÇE!"8w(_Ì3BAQ@8±ýÆ÷˜Ñ˜Œ¼iŽN­œÚ°ßÐ/ñÿK½G^þ˘+O'?9!¥OpJŸñ)O}(8­×ØŒ»ƒ2n©î ¾Þ_Ýqp†gÿö—³ì¾ï¬2‚®{·â\cËœâ¡™æ© ñÒ½ÄÉœÝ!k^ýË4s½Õó:h^æðŽ¹Þ  !Ba¡Ç|`¿¦ûu2bã¼Z£þ³nªgøèQù Ï.t‡zc˜]c™xõ·M5ÕŠ\W^LóÂ3”–ÉÕc}lŒ®XÌOƒÓÄŒéC½ëœgy J” !š¼êv^•¨4_Àv~ó Ë½F¤ô—úÌ”tßé¾32NÏxfººßtußišG¦h{MÐÝ=.óÖ Ì›†gvRé¼}3<ŸHð¸Æ•¯GüÑGʈ„ûø5KíþY2bí®ïìüÁ€Îàï ï×âµ~7Ÿ›bZ¢âsêwø©¼ R¾?¹l¶GúlÔ–+óŒÆ-AÛÊ'ûu[/;»½Z6Û»ôŸÌtáDg,›`ú|d¶GåšÓ,5×ô^¾³[§ŠÙ8‰8´ûˆ1þéNòÀúO™<ä–méÖ©rµO£ã嫯£«·ííSç4•3V>;@9ϵ§P¹Æ[~»4­qM·´þ>ò¤ûqù+­ù2åÕÊ«“øçXýº¹òØèÔSÓŸ›•ñÓ‘bÔøÏÑøÍÑøÎÖôŸ¥í¢{hjfÏIY¨ÿré ™×Q{?}ÞóÝ"#t~<#Ž=¢ÈĆ~4ÏËæm4VÔ ´Êh<¾yÙ™ñÒuMé§¼=c§­â#_h­àG>‡°]i‡,Goõ¾SFŒ·dDyˆ7ºO5½xYˆwÏß¶L³“ÒmÕc;ï¶ùé‰iˆæ©åÍöùù¿yÚ³µOÍÒ=:=K®Ç¡Äõ*M§ç;<‰^¤2§–s dD-‚ùw"øS Û`˜c–EãéP2ÓKPnÞžÓ‡øˆËŸ b+Ÿ&*‹GðJ‘Ÿm+1gÄì“Cø›âáû‡‡xËã«iʽ9挈}ª“SÎÆÔ‚¶K)#^Í4g„Õèß¿-…ˆò´(õ©NVÓÓ‘g¬Äœ˜gñvVS#~:Ä;ûóáhõÉ¥X5ÇÂdFÎé Á&°îáDÃwzzÀ<õ¨…š E9ž›¯4Gûô,\ƒÓ®#u]†eÜølâuòŒ‘ôÛ÷9#’|yF¨ƒùé†Q:|h0&0Ì©MKN6„XéËW›¶ÀÔÁ>S˜ b ŸæšU‡EeÕO<#6m+ícÔòííûn¯–L1eÄî^0Å[”½^cšr¯~°)#¢ûvC£Ãq”¿¹Û«£}J¦˜2B7£S£-·:2ÂÀÉ};YMSLGž±"ôšçÙ]Çøˆ;Do™ÖX0%@ÙÂ~ÄJO؉œù£9Xý~1UõRƨš1‹µckG‡YbÂwŽVtŠ«{ŒÓݤë¨í><£ësçÿÜçGÔ§1}Û”Çîáß¾ä1Ú”evG #b¶,:ä)¾m%–kéÊ7wë”;ÊÇTùUÊwèà]eÊÃ(SF|×íÕ¢ ¦Œø¥×p “;‘ÉÈÓ¼2ÐÇÜ›òÝç)E£L!Þåô(V¹; HÚ±cÈ¢ ¦Œ(]èSçè•»_¨=pÑóÖÓ,UcÆ ˜<ÏhHí)”ýSà$rG-ÇÛý2ÐÛª9áDähúѰö—6âeõ¸W´ã—hƒ_Ñ!)jŒ5ËýÁÚc´wŒÒܨ¹cdúC:?Á¯G ŸâW!ü³OeFd7"#âÿ± f¬Wö438)Zi¹¾ˆô+·"tr¥íª›S¯å„ã}SÐ6l„Æt¾½}ÓíU-ÏˆÃØ×tŽaNö餗¾ŠkæŽñÈ«ˆýÒmi³Ä¤~ž¾m÷Ÿ5A¯ª§óC†?v'¯éæ#õõ?\ßè¢^ |aF4^zÿpíiÆö餜±8ôšç¹x¥wí)TDÀ½5ø ÈúM·áú Þr[”Àj‚pe4lÅé|+î7)}ô"í„¥ºIËt–hÇ„iC5Ã×&™ ¾¬úÞ õ]ê»Õ=F¥õx!¡ëSüs ñØÙŽû¥Œøå6û4ÿuGZÿ¥†œ &Åù­¡§G[ë}á*Óyq€²¹Á<&ä™Ë“2ÂxŠ«_Å.78\ùªá´Q9nñŠŸk z²VlÍ2t*>m㊱”gm>dct«—r÷$מ¦Ü!Ϙñt¸˜ç¬àð:§ l©<A4êÑ&´#Ì¿ˆÁ·âAÓÒ'…릭ÐM{U7i)N74£XB”FgÜ÷bÆ=#Óï Lïõbj¯áñ·öã€@& #pñÆ ŠŒHÎßIdD¥´9Ù¾Ûüç|9#2§2Ý$KF$ ðQ³:©Øk4n Ú¦ɇYóï¯q`,Ò§÷õ®ö®oÜ–'WJ «óܪæ“p_F+~/;‚ÿ4Eʈ¡sÔ!«t³^×áï”pݸ0­ ¦¦ËÝ=Óî‘Ö+0íÁ ”GÆÝþÌN‘œaà8Â:#ÒÇ™2¢öA„\S%}%yûœ£=3§y"…5ìVy¡Ìì–qÜþu·W±½¡»@kT¸ÞôšX͘rž]>o„[c>‚¨ñ›zEFÌÿkf蚬9ofN_aùÃf†ï´Œ§'ZbâQi¥=2:å¡Àsw<ójÄADŒ8ÙÅä‘:–O½Á‹â8"í«YÈíd&ÀyJáÊö(™{’­†ŒÀŠzÅVµ´½• ;8ÜõvÛM[œç6ÉhÂ^ê̈ÀPMØ{úW>Ð#&äí1p¾zØìŒ!32LIr|š\ÿè˜´ÇÆ$?xîΦŒ8öψ¯{Jñ}wþËØgù½dR‚XRò™ ±.ž;pQü=wàˆå½ø›½÷ÂÙ}‰ÑQé±ßÅ}ÜïDSfpýºEnÂè:nï$gĘÅÚ•k³__Ÿ½äýÑS¥¨áW%iCggøI1Ñ?šøáß…}‚Ó›üÈ(ëŒ0G #Žôåw :?Œ]ËN.`g°˜0vv‹]êuv‰÷Ù0½ˆñ¿‹™zóèPV²]õXhzOe™Skdńഎ°i ÛXÝ`/gÄÄpÝûÛr?þ2ï­9K¤£‰ÙodNM7i™vÜbíèEšóÕÃç«U/e<’1`*+RÛýé'ÖÇ"#bž÷DFÄ¿v]Ò[·\Zõ§K+¯½´Ò'iõõI¯ßpéÎW^wñ5ŸÄ¥ì⊉˘v5Kœk eF¸|õ"Ú.ßÛ)5o™"‘èí|Î[™›¿Íÿl‡I±jmöÒõ‹ÞÍšÿ×Ì9oêf½ž9suæ´ºIáº1‹5#CÕþ/eô›”Ú{xì-Oðß}âÄqà^sFà?dÄ ?3Ò’'³ löÓYæ,Ž~އ¢>k¦Gæt>‡Î8è8‚2ÂEÈŽ¥)2âÕ³#¾ÊÛðuþ»Ÿå.ÿXö"kî[™ˆ+uÓWê&-×_ª Ó¼0_C‰¾Á)÷ y|ÄÞ²,52™`ÉôÔΈäz2"g“‘óB„§ÖyAÍ„œ§Ê½Žˆ íÚ¹I©åË>Ô‡¬Î ^¢ ÕÌU?73gƒgpNMOŒOMë˜r÷óIOމMÌK~o®Èˆ}ñë_Ü"eDÒpvzQgFȹPð²«¼È a‚ì©DÃd„ÃÈÇïÊyžã½3×ϭȶþÒTƒ%價§‡xŸòåŸuŠ£žo¿ý6""”!ÒÁ°ÐSPæUxUy×lùVÚA´Ù/qô3½ø¡ý4þÝ¥Ú§ÿVgsò%Œ$é)ç‡qÐqΟÇÄ÷Ýy>˜2‡(8‚°:¡¹P¾Ø«:¼cÕ2&îI'ºÅíêD¥è0UJwµ³ÜÀŽ š„éÎfDý—Ä6(6@Ay¨GÙO±«.ñ(˜Á<Ž¿âŽÖ¢FyÔ/‘‘lú%‘8ÎEˆ &’|Í3’OѼÈlêÆU]8ÿsçýœ0F2öÙ`°–㻑óìæz¶‘í’Í÷œ– ó=:†WÃyôxŸƒ¥ðp„,²’hbHÂLþ8Í&'[@ÈÏÊËKAÀ—E=ðWçY˜c ì„õ=†'qÿÇ^4¡XòR0ñr¹r^&$×ÄÔlÂ̇+ðøàÇ<õø/cå9¯Áâ@HápLÔöÒóëºüϨÓÙs…íZéˆT[Ãù`5ÑãÒMtÿžûï{Êóyîÿu¯ÅßòVÒŸV]ºvå%Ÿ•—®_tÃëI߸tÝÊ‹>¯]dK;¬¸È–%²ÕZ67ѲÂ+×yyÊ„=˜ýçg[Xùœd β°¶è¬×ÒXï%è>ËEó¿‹£‡lV³ÐhÕö’ªÐÇÐËÆž®#s\¾jµ ”þ÷ùƒ=+NrÏ$'ˆ½pàÜűù_Î^ƒÞØ {£÷½ø]lz¿ãXÐ JG¹íÖï$˂ƦJ×Xìºw׬¯Ò¼¦SŸ“–ë´Ò4åL{õˆ´ø–b²’W˜ÔôŸ}&ì~5hM§éj ™¼ûŸnâ]Œ‡ÿ^ÿèR½¸Óª |à÷/Õ1Í>±5g,Î2ÏuM! [wÙ¶ Ò{}Ž±Ð´z®?×éÿD½ýþ/ÚãtÌ+ÄØ”ÎÊRec;uÛ “M•_}Ö©ÛwÞr¢*¥õ/¤å‚¶ ¾èhf¯_0Œ|mœcž¦ÏÀ+¢7…÷~ç3JåÈnÓ»Œ:°S.Ú´†9ÁôªÏºG¡ÎŸ·ž¦÷¨š36Á2ÏRCjMáïebkX>ŠÏ¼÷ÀZÍ©ÍݱÌ7‰û,ûo×3Ù–l:å‰ü™YãK¶êD[vx‡”™›yØÛ<¢iôšÓTô昼z*V )MɆ©31A¼:3³ÎÑ_ø¾BxòP­ÓS©VÓd5gŒ…XæÙüvVSà#zùT`Ê¿NZ5ÇÒ®ÉfîKüÏb£õl†yÙñRnûÙÆË6÷Æk~9ð˜]ÆÖTš«Åœ›©àM0^X.Ušýßâ3¾ÜÜ–Þ!R7oæQoˈo+§)FÑ/ï¶ÆgHžÙ«xyH)[vøŒïrætš©¯{ôù…)|ôƒ˜¿…®2@žUå4­gL1ÏÒÛÕ1…˜ ÅÌXYQÂÿZ¾S˜QÐuÈÚÎßï<àƒÎ?èžQà1%ÓsšÆ+Dëõ’t˜Ùa^V‡—õÞs5æ©;¼¬áÌS£—×,©ò 3…Õ ‚ÍøÍ§[MÒg¨ž×‡^PÖwêö™Ï Tê}D÷.oi!²±»L¯>ø›¨á•ï“kžÓY†—¦Ùé™ žæ•áo=ÖÖè5ÞQšŸ§)ÍX=ó,OAဲ!õÁn‹–ýG.!Æy¤Ï/÷ZPÑaqyÇÅU–˜>UŸ9ʈzËGial¿c£ ˱…Go¬ü‹€û?¿¼ÃÂJøÏYZUÛÛ‹ÀYx`AÚé…ì–½ù¨ÓÉ›€Ø :„–Y/…¥¦-¢>ó¿†H[t“W`Go‘õ?Eö_ügUÒ†PdZ ‚…•¤SmÄŶC؆ͩ2!û(}`úEϯ'„ð=²åÃzå7æ—‹c%˜šiŸnûˆ‹àTšþóEÂ?óöPÅx>Ï‘¿|è˜$àßBÄb J316ÕÒ-À«D£PúïÍý—¼êD À‘‡WŒH4ˆ°t|òb×Ð\ŸàËÙ™‰DËCþ“ÿî ùïZ®%ÿÉ7†üw->}.ÿä¿ÛBþ“ÿV¼µí€ûбOb+ô¿öçýíµÿ®-ä¿k ùïÚBþ»¶ÿ®-vúïǘß'M½§Þñó{'šüwF±×¿Y üEœ"ÿ\|ìõÿè]³Xèv¥ÿÑŸ 2ßœHZ4¼‹‰÷/Øu0ÂÔa^dÊ!M5ænòßÿ3#C%?k¯ÿbÑÈ–¢WîàCn_ÀfEZeù/•Fùor¯†‡æbUo5|{™—åO#òß´Â#s|"»Zs`ÃÿÆì/Èþgó0©¹¶‹ ÿ¥QL;Ê©4Þ9ÕùîÀ”=¡³l­ÿµ“Šü7:ÿrm±sÿKþ7S!ÿ][È×òßµ…>ÿu-­Ð·‚üw-û’ÿä¿ûBþ“ÿîL+<þw+Èòß!ÿ] íÉw†ü'ÿÝÚÿ’ÿµqùeù¼þßJýwõS-TZçõòŸüo™Bþ»¶ÿ®-­ÞÿC᦯†r¡MÍVœç¿ôƒ'ý.Iöî ß“·´Ë%à4ÿM?>ªû+ÍMö?\6 `k²«lj¶â,ÿ£?ä÷ÉÁÈК?“¬ã;çvý ¬ÿ-›B»*Nòá£üÁWb¶ò7–_aØû+0ò¿ñá#Û.ÿÒ¼/hü¯À(>JgyY6„¦ü Œö¿G>–ŸwY~sjõ{íFü ŒŽ?EÍÛì<ÿp}ûß~Fç_ÎDþá¼ÝÿŽ#ÿ:²Á\“ÿ­øúC;/ä¿k ùïÚÒjýwZ§ÿîùOþ»3ä?ùïÎÿä¿;Ó‘ü'ÿÝòŸüwgÈòß‘ýßñÍ¢å‘ýwõ…p7-”?­$\>'î ùOþ»3ä?ùïÎÿä¿;Cþ“ÿî ùïZèó_òß!ÿ]K+|þ”[Aþ“ÿî ›˜KÔÁ$]Ëðìf#Qß-ÄÄ+ñZJÔÇÂê–ÁkŽp!lj&áJ&jW2.¨ƒ±©-„Ë[Ú:!ÿÝÄÿ`5A´:F·.o)A¸’,‚p_\~¥ÝÍ™R@ÔÁÄÂbr1áJBÊâ1›¨RÙ2x†VµasªZ—·” ·¥Å‚ލ›–ÚÑ·5Zê40¨ƒ¡)-„4Q–Âå_&‚ ‚ ‚ ˆÀåÀrs\}ÿW*T¨P¡B… *T¨P¡B… *T¨P¡B… *T¨´Ÿâò@Ý—€ ‚ ‚ ‚ ‚ ‚h—´•+Ø.¿PßLþ8þñM‹ùï”Ï›Z¸ÿÎ-šÜʳ)U'Ë~;Wz(æ*8x¦ôçSEûO–ì;Q ~:Vºç¿Å»~/JÒ”Ég˜ŸšU}QS—ʈ¹\yæRÕ‰ UÇ+Àï •GÏUþr¦üÀñB#ùïì‚5æ'¦Wž½RÛ…óÇ+¯üýæÿ'†ûÂHþ;» vÄšúR%l‹¯€çÿ>S%ÿ9åöëòÖ€€­É¶°fiKþŸzÇ™Šß'Û‡ÿØáòÀ¿,~B… <ÿùt%8pºBt¸ÜÿlPÄ)ѽ}Aèööá?Žv°æ‹•?pæ»bý‡ù° fŸ´@+ðVd½[„X4ÛÈ›Iª”;êóŸ»À§~=¢ÃôŠyƒ“|—ý·¼àèòÀq& ?‘X«GÎU€½g*ä±\¾ÿ •ZlYó·[–Lö{'Úd;*Fø™=·Çaã¡p&wXùŠ,“ÿ¢Ç<®cK@ößjÈÝX­Ä»f™–‚bw Ó²ˆþd=;ˆšë¿y­®ÝÁ[€¨WVZ¶•&œaÉ™¯´]6ß"褫÷¿¤5_^çëZ@Nð_Þ.”5ò_Ûi.QÇJø¡¾Ùüƒç*ž3ùÿÓéòŸ\}þå''Éyžö vÕµhøßÆäO}þ+ì·¬ÿRN9´Ò+JäKp†…“\™_ãyýWùct…LäÉò=ÇŠmûÓÜþGXâFé­|HZs‰ð­@J¤&û/v"{°V.«\r ½?üZ‚Cý£ÒyîÑx ðß9Ξ³•»NWì:Yþã±Ö‘ÿN¢•œÿ’ÿ®-ðçVXGbù9¯±ç÷ž­øÿÃñ²È?ZÏþ·ýøÿý‘¢}'Ëœ©àẄæ#ùLêå)IÇ[€¤„£ÍËml20_“³jã7½&¬aƒÂÛ(.·±É¤]9 óƒßØ~8ú²«â›^\n£#þcÍ?t&©º-—ÛØdüØ~«ª*T*Ú".·Ñ‘õþ—óRÖvq¹úõjéÕ«%m—Ûè ÿ%%E…m—Ûè°ÿ¢!Î%q“JþÅ’jS¯LÜ RmHìCý+ûðF.·Ñaÿ Š‹Á‰œßäÏTëÏ›z£K‹ øüz•¨DóßtÞ9ïårô_´¢¨(ßyÀpÿ Šš„u*Õºù¯Õ«Žárô_´¢°0ÏiÄsŸãkTî c‹öòz˜¿!ÞyïU˜Ç&éÚ*õ rköêÙhšÿ¡•:ÔRz¥šélh¼WËë‡f±gcß®Y|7Û.Ïn®j¬­ñ·>ú|dÍ}ïrº¬2vXX —XŸ?d‹Ž0¶QøØ„²W´ »Çû5@¥²÷¶ÿ©Ìt\\ØÄB6д:y,¬n£x-5â/[V…ü•ñ-÷œSæ5¿ÈkŽÁ#¤˜Í(`“¥¿S Ðkª É515›ÿEMp–i E —ÎüÏ1ß$X„é´^ÊæÌÔ{ÌÌòœ– Ød-›¨á«M í‚±©œ à˜Ä†ƒD6ì<ð§ßIÖý{XĦf¶aà€’ÞãÓç®ÏTgW4öâáÜR¼‡œf¾§¸?}pnùÂdr[D^”«GPÖŠ¹kµå©Iú—e®Ñ. Ö„ªçdÌ|.ã%UÆŒÁ }ê@6þ ÎØÇS{'=wÌØ'ócç¾—Œ¬ææ<´Ý¿ƒ[$Ö·6¼áHþ`«á“?~5靖ü¯7ä~ö®þãåYï…eýu~æ[s3_Ÿ¥[9C·rºnù$íÒñš° õü2BžM î3ô¾½#Wg•™,º÷ëù5»á ×7Ðx’¤™ÍI“ƒe¾5'ÿÛ͆Ÿån{?{í*ý‡K³Þ]”ù×ùº7çÀ¥ÌÕ3u+¦éÂ'iQ‡ŽÌxÉ?uR¿Øá½¿{âŒË-zäX{°Èd‹’6‚ƒfêÂ'œ¼/?ÎÙø–þƒ%YkB3ߘ­{mºvÙ$íâqšE£ÕóG¨çç›^ȳéS¤Œ2väC;žîÎ-BÁ¢{Ž™,’£¾Í£e¥?é³EÚÅc²×®Ì^ÿ:ü)=u”×,¤]4V=?0cöÐŒ~éS¤OêúÂÿÜ'yìãçF=òÀ;¹EOÇš,BÁ"qdÞ¦æÔ´­/LÿÁ+Xä–äϰŒCàOÚø'åú´1&yì\`-‹ÚÁZT¿Eê9C‘<|ûzsŽnÅtÙŒ™þÓ|Ó'>mñgÔiA¥Œ~ä\àC?¸ó™Û¹EO%Ö´(«m#¯K8U7Å}˜6;,¾ÛzuRH³x¬zÁ(«ÅŒÑd¼x_úÈ{ÒïM}±Wüð^»úÝj²H¬H84jékÂW*nѤ~ÚE£uK'è° [2A6†@ÎfÉ¥ ¨ÇÞ¯ºWx—:ðî´Q=^è±ë©®Ü¢L+Ö¢.JWZÚ,Á £ø4®¯úåÚWÆi—Œ×½Œœfa ÕZ¤ ¾_;¦‡fÔšÀ;ÒGÞ‘0ôŽÝOtæ LáÝ—À×"nQa{ÀbT>@3S_|Ç<š£`ŽvñXMØh‹3s|EGu±A7®‡.èvm`÷ŒáÝÏ?×õÇ>æ Iå.=–Ä-ºe¿PШiš™2¢Wút_õ¼ÍÂQšEAæ?§3H7˲GË ºU7²kư.‰ÏÞùèuÜ"?˜f±(¤¬­2UlTp@3“Ÿ¿+mâÓ³žSÏ{AvC3ÿyíP=ýõô~ši}µSÑMè•9înleX…tªN¾Þ OxîºßÃdV$X„óÙ[Öy†V·iê4 ÍLìwÃ%ÿ;.ì}eÌ_’ƒŸH™ðdJpŸ”ñ}RÇ?–üPÆØ^Aw«GÞªè¢ö¿>cpÇ”þžgÿ¾»q‹Fr—`‘´¡¹¼Íá’:§êô ½OõïrjðíѪÑÃzE»?zhϘa÷Ú#öù»âŸ¿=þ¹® CºÄûÞð̵ñO]söq£±ïÝmmQ—]Þ@gúc¶hîæÂÜ„˜ŸT½¿~øúßô}ŸÎßö½ùÛÇ;ïèÛ凾]vö¹1òñë|캨G}"êÙÛ+ê=ÙŽAwgÅEÏ]o°²Èõ1✪±›óžR2wS±‘E]97Âàýb%‹„E.ßw;²ÓùŒ½˜ØãO(ÁìýG™þŠ^ŽÌãÅ«XgÄjc…lÑД¶ ?©O¯û%ÿ$6DÂ×Ìà‹¦Þ!fD þ⌠ôO4š¡qtm¶ÈÃ?ºíšq"íÑ\þí‘V x‘õø–uùÈåsÒj!‹È"²¨%,ÂîïÎ/È"²ˆ,"‹È¢VŽl‘ËïyÞjo·.[ÔØ+í¦ØeÑ]dYd«E ²¨ÁB5XÈ¢ YÔ`!‹, [4‡Ž_’Ed‘B5XìÈ¢Ëì.²ˆ,²UÈ¢ YÔ`¡ëE ²¨ÁB5Xì·Èå[õµë»è²ˆ,jn‹.“EdYD¹Šk²ˆ,"‹ZdYD¹Ü¢öñàü.hNÚ•“hZg—Eƒ“ĵë:_mÏF±¢kà›óþö….#8nQûx|‰U‰OÖ¡E«7~딵¨}Æ<}¿õQ5{ã윷œüüìl½Z“ît‹LþÛ…©¥r°"ÛµÀ¾a LXÕXˆ^yE4Yjî[m°îµoÞ Ùùùúl}†&=ɹÉoäåeê³ÒÕi—œk‘4ñ¬ööøYºÔŒ´ ’E©Î²([¯ÑëÕ ›£i»  ™ÜŸ‹)—ãøÖ‘›æ¸EéWNu |óÐO¤%'¤\‰K½޶ æ?9)öÒùÓ{D» Ç-R§FÏ}ï‹áKÖµ3*!æ÷¶N|ÌoñÑ¿FîÛúáöâ"½ãejâð÷-ßµ³k× ?úWQQViI®ãåd]ÌËI.4hKŠsJKò®–ä_-mFÊËKšÅ”]-¸ZjÈ˹bŸE—Å/‰ìØ=!‹È"'Xäk+‹²ˆ,"‹È¢VYD‘E-bÑeº#Ÿíøf Q£Ñ([äêÞBš]}©˜,"‹šÛ¢Áôí}{-²ÿ+îîö•~Ù"û¿âîn_é—-²:°ñwwûJ?¿v-£ÙÿwwûJ¿l‘ý_qw·¯ôËÙÿwwûJ¿l‘ý_qw·¯ôKŸ£ñ¸¶ÿ+îÍò•þæøQ€“¾Ò¯°ÈÞ¯¸;ð•~3ûåoá1öÊOÎùf¾?°Ý^Ù"û¿âÞô¯ôKœßäÏXØ~sïþÅ–n‡pà'¶Û+_˜µÿ+îMþJ¿Ä¹*Ó·ñ­¾í/»“¿jù&?/‹÷‰Á¢ÌRÕ×û¥Qìÿ¿ýí•-²ÿ+îMýJ¿ù«øÌæ—í÷.ba{ •ßä7ý vƒJþn=_ï7ýR ÑØn¯lQÇ>‰]Cs}‚/×w6G4+>}.ÿä¿ÛBþ“ÿîLǾä?ùï¾ÿä¿;Cû_òß!ÿÉw†ü'ÿÝòßµ°[£±:Q‹¥ÐñŬú`ÂùtÝÉ¿æÄùÒÜѾ¬‡&MíÎ&Ñ„©Õ;Û_6q¬zçáËz¹y ÿá"\€M¦‰·8kÄ=Ðdö„±…{ùÍü7lXȬ_u—Ûè ÿ½šðÛamˆSÔÔ¼…¿[X¤³ÞÎå6:è#oÎfæ[´YnÅæ¿>Æ`¹?¿Ã›¿éökŽârö¿1w~³¾Ì%,ªö]ãÄBiÄ]ÝêÃå6:è[¿­œËmtÐÿ¶~Ï:—Ûè ÿmþ†x®¶±É´»í¹ÜÆ&Ó>nåçr›Lû¸O Ëml2íã&„.·‘ ‚ Ü×çæ4åSE›Øø¬­>l}ic¬&àÜOW›6ÁšSpõpnŽýøqèó¾:>Ô«õ¸¢ŸmTçã꛲Ã4’"jÿ#~ûH®Öçnâ£7¹ÒžgÕùx£zxäè#äçÛÿˆ?5“>—Yeî [¥xnQO22u×|(R]7R<ü¨qØn¯Â"{ñãø[ÊO¯XX$j¢ÌwA¨ãIFr·âyFü3/«ÇY?5©Øn¯l‘ýøiŸ=Ùß^…Eö>â§}|kÖ¾¾5»3‹Ëè)­Rο¶'Æ¿Oz>->ÎDøÍ‡ù4Wø±Wxó¿øÿÓùûÞÂ<¼ndfæ{üÕ#åñ¿½¾ï1ið¸|~|LÓçíôÆÿCt=ÙÃøÿ,Jßq+ø´ù»Mô²¬CðZü?è¸ð±Óûáú1+¸Ÿ¼Tcø07¡ÛKŒr£y¼c‡·ïx‚¶\gž(fäo¦N¾^ð÷ûÃXŽ^na*¬'A|Þ ¢½ùD{yûnyq…ÙGþfŸâ½n»6xÅ“ð›÷óe¦ÜоÁë{þ4fE€éõÃèÿÿ§äa}Åze^·:þvtŸ ŸˆÝ÷2öÖ½Lúåjt7væÉq+6äŠõþSÓÿ½ñT®X޽ñ¾w ûÇHëçÕüÎL…þ©Ÿ½ýú\È<¯¿ÿ„xûxIA÷‡žcVì÷à㮕ÖÏwP·ÍSLë_èÞ·oíëñ_ÌË×¼.ói~c^¿Þò`æum7Æ3wÿ‚îïû‰õƒr£v¡Ü Ü Ü°ö¾‰¼¼hæ¼9ËÌÇ6¶ép’ý=/«BÔxœí `eÚÇß¶ª]]9TTQDE@9ŠÔ(G±¥”û(•(rËá± ~®k¹EaUÜÏÏ…®º+ ²ºë*ØRÛR Ð3MÒô¾€RšïÿΛL¦iÒ+i§mž‡ß?L&3“ç}Þ™æH'q±·¥}sg:³Š̃Uodíãø°»ùÉ­Œ-wc `:£‘ò€n€<¡•xa´2R´Ø¸U©…j1‰-ÿU¬;Å¢ðÿ ¶ÎÚ jÎØÚ•Ë«ÏÉÜØ3l Þ½±q>SÿÛMÿ»›Þ?•@ûûIÿê]ñþüsüω¢ýæùø6y]¡öxÍ ºQj#cÞÐï ›¡[ ß3i€¡›ÑŒu4µ©ãëï{žcw@wBwAÝ »¡{ {¡îPè>¨'ÄW–^ÐЃPoè!¨ô0ôô(Ôz âuê €‡ž€Bƒ ÁÐèIh(4 ù0¾oÃØSL¬ƒ¾ÐÓŒ¯‡ŒùC£ ÑÐ( ƒÆC @h"ô 3¾ 1M†B¡)ÐTh4šÍ„fA³¡9Ð\( š…CÏBó!¾&.€B‹ ç Hh1´Z EAË ç¡åÐ ˆo9« ÕÐh-ôÄ·æõÐh#ô"ôô2ô ôèÐ&h3ô*ô?ÐkП ×¡7 7¡· -П¡·¡hh+´ Úí€vB» ÝÐ;Ðè]è=h/´ú ô>ôô!´úú+ô¿ÐÇÐÿAŸ@ŸBŸAŸC / /¡ƒÐ!(úôtú:…¾¾…þýú:ý:€¾‡NBÿ‚~€~„þ ýú ú/ô3ô t : ý ÅBqÐ(ú J€¡$è,” ƒÎC è"t J…Ò ¾ãeBYʆ´ÒC9Ê…ò |¨*„Š b¨*…Ê rè2tº U@× Jè:TIFÁ÷ß!wȺò„ÚAí!/èFè&Èút3t ô{èVè6¨Ôºêu†º@]¡; ;¡» nÐÝÐ=нPw¨tÔºê==õ†‚ú@C@B}¡Ç ~Phô8ô4 ††@OBC¡aÐpÈ=Å?ƒ _èiÈò‡FA£¡1P4‡&@ÐDè( †&A!Ðd(šM…¦AÓ¡ÐLh4šͅ yP8ô,4Š€@ ¡EÐsP$´Z-…¢ eÐónb_ªÊ†¯Åk/@ë õÐh#ô"ôô2ôŠ›ðóq›ÏÍÇxþ0Ûm0û ø¬pãŸóTØ[Ò#ŸÃÃÍK:Úó–fáC¿sßv‹ÿ£| ¿ßw—¶˜-쟜ññüîê|Ìé»Jï”àÎþ…wâ2ÇžÛÙ[ ‚ `O¨3ûà·÷˜äúp»Üí0¿EÝÍt| u–úî:p¼³ê¦®L²î%8Ü„V±Î7Çfåx’-a…tÆúð‘4ðÞ]Â#cï`çú{i&uÈì|1Ô+ç™öµSÀ‚ Ú0)>ìŸòÉ#a“õ¹A€M’GAØ<’ Â>ä‘Aö!$‚°÷È{È# ¢ÑœÏÉKÍ+Е䕕”_.,¿Rx¹ )¯¨h:äw)W®]¾r)¯ÀÅÛKIŽ‘­Çãg{^Ü4µ×ªá¬mðR`翾µ$§´4¿ü²‹·Wé‘Ú“GDC‰M×|ðÚ‚íËÇþò£ã’Z;?Ä%þ+6ñÈј言ýoFJË\¼½)#ø—ÞÉ# ¢±œº”‰½Ÿÿs<)5#áRZâ¥t ´^|Jê鳎;‚ve•¸x{É# Â1~¹”ƒµlC®Æ`ÈÍnÍ  é:ýùŒ¬„‹ihWF~‘‹·—<’ Cx†¡°0§­ Ë/H×åœËÈB»Òó ]¼½J¤k6Ñp„gä8G@_P™c¸¡A»Òìx¤ë´—®k„cÏÈ+.Â9œˆïöùî…¹‡£0&:¡(ÚÏ/·(Ã1EEŒEÅn÷sî›Â6² ¹)™Ùµx¤#íU6*&ŠÛ-‹:,ž.ŽòCë¢ä6ÊíÅ€¸§®(…òi´SÎâÜö’G„cÏÈ/.yEEN^‚­?¯(!Ïl‡qÛý„g`dÆømÇç¾)È-,Ôr/Öê‘n/µ„¡Q‡ÅÓ%Q‡£‹ÉM†'ƈöÆ% ±y‡£Ä\¢òSy21‹sÛ«ðÈäþt>’ ŒÉ3JJ€Ø»r 1Åž°„ò˜è„âhîþþyÅ ¾;°æÄw”Á®•&7ïb–¶6lT{k6J´Ë—ù‹‘Vm´9F)?µ9ÆYí…G~HIGxFAi)Îá¶&–lõ÷Ï/I”Ç|UR²„EmM<âÇü—ìØ±ÕŸ)_u"°ì¼üK]-Ù¸öÖl”<^ü. íÚš˜(O&fQޱšžI¿ƒ²Ø\²ãí%$ÇžQXZ JJœÅ¶Ä’mþþ%‰òxäRµ éï›,HÜáÄ·S‚ƒhm^~j­Ù¸ö¢QK‘yÉ{,=RòUÛ&Y`Á‘(1f›?‹/Idþ;Ĺb9¢PÛ­Êå¬ö’G„cÏ(*+Â9œÂáÒR?¶¬0i§ä‘Aö $‚°y$A„}È# ‚ ìÃ=ÒúïµÕþªEK [¹ç“A„T}ç– ¢…Pí>ää‘AÕ $‚°y$A„}è7¿‚ ìCIaòH‚ ûGA؇߇œ~;– Â6ä‘Aöi=ùí¾—‰zB=ÕZ ^h Ô^ÉVå‘jÿq{ëˆ&Ýò¨§œMí‘j·¯uD½2¢µ\³¡>¯gG¶– l AézAÙZ‚<²%DkðH“|p1õ¹³‚<²µDC{jó©Ü;¾ÉúXê'FkðÈðƒèyVgÏSŸ×3È#[KG¶„PÕ#‡¿Ë̱?’){ûŽyìm<Í=†)}£“OEË+Âpæ+?¥>ohÔÒçÌ7ZtÇpÆä Ë}!ᑾ5{ ý˜¯˜@|¦QO9µõ[,o;á(ø©ôÈæS±r`d²>†¶ÇC=„AÊÝÂ#cD?‹m+½j~Il|Â/©ÏZú|¤¥ÈV}¡üCßÉ.(^Ý/mµV§D¨§ŒÚ<22FÞ"äþ‚GÊ}$}Q/8*z$6©êý¦Ü.•‡ Xö\ŽéÍ®iêózF}Žàày¢àÊN‘7µš=EGyMµ}šUß‚jzä~[›õB#B=¬¹IÙÜàäµÎ+7ÔçõŒ:û» âìGrõS\6¦å.“_RèQO9µ÷”ò<=ydÓ…z©<š®Å#±"ˆU c£ö#8Ù­:Åjë´rPù£Ìª©§‰:·Nùˆ[öH¹àè#ñIE½à`¨x¬­¸ £Üécå+ûßöŰØ}”?©ÏŒZúÜê„Æ1ÅUl‹ò56qEÇêUyWR¾ÞC=å`Ô¹u*7 á‘á¾ØdL—sĆC½à`´¤k6Ê‹4õ?¹E}ÞШ¥Ï壳ýüúÍâ:û‚zªI£>gŽëùÍ8ê…F‡ªßýç½j~÷‡¶¼&Zú\yZQyG©JÔç[ZbÇ}óÁè†võB=£5|‡œúܹAß!o-A‹Ø‚<Òõ‚<²µydKòH× òÈÖä‘-!È#]/È#[KG¶„hˆG&“G¶‰ l-AÙ‚<Òõ‚<²µydKˆ¶å‘D=¡žj-P/´j¯dëñH‚ ˆæGyÍf@{òH‚ %)>ìòH‚ ÛGAØGá‘t>’  òH‚ ûGA؇<’ Â>t͆ Â>É# ‚ ìBIa¥GÒùH‚ ˆê¤´Tý¯Þ ‚h«´TûJm0È#)(((ìGC<²%?’<’‚‚¢)¢^y7y$…kF›óHä©jA)((ÚT4Ì#ëõýHæͤŽYNE›FFÆ`Lx¤ïf_ßd}¬¹ùT.c¾bâ; ãkŽ‘ç=ö¶/^Î|åe’GRPP4uÔé‘}¿ÕP/Üé+[ pD „ÃÛô1ò>Ì-N>¸Ø2c1b!b^1LIAAќѩô¼pxžÂ•©¶òT+¬9’<’‚‚¢y¢É<2ü v ÙþHfµC©ôHù°š†ãàúTŒÕ«]OòH Šfކyd½®ÙˆÓ‡ÂktÃÅÑ´¼—)O°_k5¦¦­Ò±6EsFÝ×lF°v][ö9Á1ÅUq͆EFËûˆbÇQ¾ºc5F9/]³¡  hþh”ll?¿~³8¹ÞçmBÇÚ*FÃ<²^ç#•'±óGIAAÑz£a‹ØrïIIAAÑAIAAAa?È#)(((ìy$…ýhsIAAAáÄ ¤   °mè>äAMAÝywË÷H‚ U $‚°y$A„}yþ‰É# ‚ ”GA؇<’ Â>Õ<²å~?’ BÎcŸö $‚° y$A„}È# ‚ ì£ðÈØ;YÚ0‰ñ,ÖOàç/1ÊÝ.þ¦i0±˜^ ÔÂÜ}D3ãF¨DSõ)ü0¥/û~ÛÖÉÊ#Oùð×ù'aò8&H t¤±Ì@–d"=Ä2,À«áR¤&Ô`<Ëoû¥?–2RÂÇÄùæ§#Mˆ1x<7”“0&öþѱ=ÇÄõ}æžQñwJìütbÇ‘I·ø$ÞødÒ Ýúa}NÞ;üsìPÖå‘b'‰cçŠeÜ#…ÚðHûéÄ_cFc*L®q;‚ÎNDK¦¦AøÜ-ƒ“»ù]è=áâc“.=šúÄÔ´þ¡iý§¤õ’Þ'4£WHÖ½AYwLÐt ÐÜì§i?"Ë}H{ì ëù™•GJ×µãïUkÏeú™nٳݵaºg9úùír¶3<×.{§fa»ìç8|`'¸¦¸Äc>°ÝÔõ&aNç"«·‹wÕ\/F>äuÑž˜æ`¯þðiL•ÂääyåéÅ2Ï=é­¬™¼PâUËìʉE>u.‰"=mæ,/AYeCˆ¶ŠêçäËõ3é|$|îöá{Oë?9ýÉ™™>s²|æf ›“õäÍà9š³³™©í5UwïdýAúÛÆé½ýuž>Yî'¹=póÊç#ÿÝ_xdRO~ÍF;ž_ˆGnÙùõaÞÚá <·ðz ^|ûo3M«‰¸®]µ™’ò4hÅ7©Wç»eÎÇøòÈ£qOоŠ^FÝÞsFã—]Ö\ïyù/¦_>¬Ô¯Î0]ŸïV¹©Ú2/›z¯þ²‹÷µù8ˆ>~è{câ oybÃ;–ŸOÜ³åøž.Þ•¼lÎŽw”'®2OnØ{²·—Íe*«˜ Ì¹æ*7yÊo—¡5nê2Vëç%/Šh“¨~aÝ5i*«_­¹2_ׯÖ×u䥾ÁéCge>žõõ÷eã‘í‘í3?{H¸v@˜®Ï,ýýÓs0þÃo.ß ¿q¤ÆsÐY÷ Ôùrüé¥GÂ7 ÁÜ#-öf4^³ èºÑøßÝ+"]ב.ð\5ûvÚ´#½ä+M×ø®ïqøŠväj<­:`òÈ)¬óÄð鯓Œ»橼Â_ùŠe™X”n¯>×euÁH/“Ÿ ôVL™vàý´«S¼ð.W0YÐ>ÃRxä;AûÊÍyûda|Vtâqeažò¼Àj™òÓ<³GÆôSbɹXZо2ÉeÅ«z³GZÍ~íó±¹’‰*O ¤ô¶Z¦XŽœX¹Ù#‘³x;«%ˆßé™ûþ8´ú—¿¦Y5§i™ÁÂ;‚¢PØôp í3'3`¡fâ’ì ¥Ù²>½H;gß¡©^›‚Öhæð]ÆJÝÔÅKêþ|ÂÞìb¼˜øÜzÌh¼ðú‰šËŒïï­L,OÍ9—­ó¬¹„k‡P½MSùøï¯ù¤Ë8ÃTO¹-M º \ ¥5˜Xf 7±ÁÓ3ƒ—j§®ÐM_©›º\;)*;02{ŒâÜä#S5„hî Òܨ¹7PÓcbF±IòëÚâ·ãbùÝ,~ÿóîŒ þ—Ú²GÖé”g÷Fž¶$¶Ñ’õ&C:?ÔKÙŽüPn“rv’GOñcÕ+Øå ]¥|µè´Q9oÙÚj×µa½9k÷æ˜Î:/;m󊹔çì>^ËìV/å•Zs™ò€œ˜ñô*‘sNè*›KP¶TžŒ ˆ&BlB;Þ|—‘ñÜĆÏΜ¾J7{­nöÝô8ÜΞ¸Øb" ÎêùLV÷ ™÷föz&½×¸Ä;s„AÂá‘Ø|ñ¥G¦Œão%<²R²“Z ’ï6ýe‘ì‘úYL7Ýâ‘IC½4¡Ì&×¾ È7wíÓLàÓlzÌóc؆J‡´Æ£½ÆiB=íÍÛüäK®i•˜È¹EåI.J°âLãùÍ€Ò$¡ [¯ ߨÃãÌUºÉQZÙ‡ÎÊ”‡ï̸o|F¯ÀŒ‡‚Òšpד_ „Aâû‘5<2s²É#kîDÊc®K_D¤îø9Ø]?Ûî((©~`+°òK¥Gb· Ç­wY¿Áp±Ö¨ P¿êÕ±JL™³ê¹„ëbÞƒ¬vŸ:…G.úƒ>rSNÄKú9k-W±ýæeùÌÎ4Íb“NÌè”ñHpZŸÀߺ=ùƈÈêùË`?Œ{dz_|'#Å~dÆGáðHí &Àqzɺj¶ýW©V-ƒGbU³v¯Fò›r ‡®R¿Þõ¦5æL4-Á„šØôÈÀÈì¨× Ï¿a€MÊv¸H3f~ÖȹYCgf>1%Cÿ褌¾“R üíî¡&üéî‘ß/<òó®üOnâŸâ÷ÒM b)©¿ž‹ÿöüoßž¿}{Äó§xLŽ=rîÌÑäØÃ™ñŸ%lüsSz$P…%¶qwoÙ#'-Ó®Ûš»q{îò7 'O]Æ~Vr©69z~–¯d“C¦ó½É/þQÒ?4£_Hê#­=Ò¼ ü~¿ùÙ1ì|ûe1;³˜ÅE±3KYü 3Ë=ÏD±Ø¥Œ?.cšÝ#c#Yù~ÿ¾‘×ñôtÓϪæ‘d“*’9™P}ÍÕ/ ìâÉ9m•îõ}ù[>,xygÞriorþ‹ú9/覯ÔN^¦ ^š=~‘fÜ"ÿ³YO…e …ÝÊ´>â»:€yq\]c?RxdÜ(wxdâ 7¥¼ÜéÂúß]Xwã…u^)nNÙxË…;œ_wÓù¼’W°ókÛ%¯dÚ ,yÅ •©ú:K͉ênᲤUÿŘ4‰”@7ø\ÄËúÝŸ¾{ N¹~kîŠ7 K_ÍYô}ÄKºðúyô³×ꦯÒMZ–=!Rã÷lÖàéé½ÇÅwzœß÷ÇÕðÈoï“=ÿÃ#öeqÜà‘ uË‚íÍaúpŽ!ÂÍ 1>gž›~ŸŒCGÜ-ÕÝÂ5QÝ*\¹2¹fKnôG;>.|õÝüÕ[ Q¯Á s¼¬‡AÎ]§›³N7}µnÊ mPTöØEìJMë9:®ßø#Ws4ðHX¢Â#ñ¬¦G¦Úñȼ…LFöKa–œÇÝAMü¥ÜA6©Ýº %½b囆° úÐåÚÀÈ쀚§çeáÈzÄ\ΰY™àñ) _HFïÀ´{G¥<Ÿ\úÚá‘Gûðó‘t™2ŽÏ„AÚôHÙ‹Ÿ³`å—ùaL;‹P=A¸òá«ò8–ûåOýö×r­¿4^g¤½±àôHÏS>ü«>bçQòÈW^y;‘ðHaJƒîX´Ä]Påa¼ªüÕDù§ ‚ š‡Üg9†yüÈv6ÿêvͳVgHäS˜)ÒdŸÃÁÀo~Ü&?ïÊíÑì‘ØGŤյðÅŠeU«Ú__ÉÄo2ˆañs b¤0”~ÕÁòÑÖ1Ý„Ÿh^Då… ÿTDº]p{jeanÅsùÍÓðX<Óô{]VôŠ_ÈÎ 5Ýô@’ÁDa“)>²G"â&pç-]ؾ«3®ïÈùãœ×{p¶†þúúú ú:}} „A1Ðß ¯ ÃÐ×Ðè(ô ô-ôwèÐwÐ1èŸÐqèô=túôô#ôoè?ÐOСŸ¡_ SÐièW(ŠƒÎ@ñÐoP”%Ag¡dètº¥@¡KP*”¥CP&”i lH é =” \(ʇ  B¨*†J R¨ *‡.CW «Pt ª„®CUßðù–ï¹CÐ 'ÔjyA7B7AÞÐï ›¡[ ßC·B·A ŽÐíP'¨3Ôê ÝÝ Ýuƒî†îî…ºC= û žÐýP/èèA¨7ôÔzzzê =õƒúC Ç¡' Ð h04z ƒ†C>Ðè)h$ä = ùAþÐ(h44 €ÆBã ñÐ(š=AÁÐ$(š …BS ©Ð4h:4š Í‚fCs ¹P4 ‡ž…æCÐh!´zŠ„CK ¥P´ zZ­€VB« ÕÐh-ô´Zm€6B/B/A/C¯@€þm‚6C¯Bÿ½ý zzzz ÚýzІ¶BÛ íÐh'´ Ú ½íÞ…ÞƒöBû ¿@ïC@Bû¡ ¿Bÿ } ýô ô)ôô9túú:‚b ¿A_A‡¡¯¡#ÐQèè[èïÐ? ï cÐ?¡ãÐ è{è$ô/èèGèßРŸ ÿB?C¿@§ ÓЯP,â¡ß (J‚ÎBÉÐ9è[â»/)j¿ª õ—» ÇëôÂÃÑÐåH¢pÏñý™e°ónÀæ ÐQeË*Ð#låuF †ñ(bd»åUØ|Ä”D}0Õüi6#ÕL>\/ú½ à}aþê¢R ED=a¾gãRxýCΛPtÜ &ž+¶ \˜Ç§ Ë71+—h¨?ðý™ïóØ©¿ŒUÍùL v„Ä.v‡À´l¢¾Üÿ±­úgÙ¬¿\sEÙµÒ©¶ZåC5D}éú9¯¿Ï)÷Q¼þ7½Øéå”ß­¿p㺠^ë.ܼ!å–)^¼pÓºó^/œg+’Û­=ÏV&³ Z¶ Ù²Â+×ùÉ™D0ןmaå_ü [|†Eű¥g¼ê4&)_¥z‚ósFýų‘)¼þ“ÅÍ´ëõ»ûSQ5³é:RýÓÞ÷¦®›d¼†&Õ¨þ¾ ^D[έéò±§h—¶8@íòÚ.¸"1eÎί°Æ\ÿºÛfÑ_.xŸö˜ ø§ê¿ÞT«šÛ«?žz>¶É›·%ÿ8–˜ñã¸^GÖ.ç`#1sÎήP<Ä\ÿº-rïYEýsùÙUÄåÕ½ñÉ‚Y̵”h™øƒ<Ýñ-{¼»ìñÚ`ovåÄU{7œôê}Òö2«%V=çšKPf«Í‹ŽöÓº)šSÉ2Øxÿ,˜[ì6Sï>;Û#Lëñ¬´›¯o·0§ÝsÏÙíjÚ=—ÍY¨ÁS>fùu(#p[RÐlî^]ªm’^£ ||ä9åxï.ïzÍÅHƒ×C>è)u" 9hzõ¡Ä>ò5cjõc:ËôÒ2½Ÿ<çnžX¹þÖ!µÍ^í¥|ê\¦”˜œå%(* lˆ=رrýaG°qné‹*<_k·¬¢ý²ëí–›®*ŠkŽ2b¼åRZ”…Úß±AÈýØÌ³7Võ]À뿨¢Ý’JÔŸ³âzÍú×ÞÎÂó £0Rï±¹Í?{3 ¬?v‡äM@lí"¯Z÷ Óa¯øÎ_C¤-ºÑ+°ƒ³7ËúŸ&×_<Š£*iC(5õ‚`I¥îT±@±íõÄRÿ@érŒé2ŠŸOãŸÈ–‹õÊo8,ªû%†÷/ŽÜOõwVÔ»þá1ÕÆ‹6o¾‘á(ft$¥i,[Š¹Ë¬Ç(æÅ¦Ä_•;—êo›˜H©^bÍ·Z‡¥ò.>hÞ:äž2MPsLõõßµëß°Ï߃á–^°[Le„ÇÔCþ£ˆ†ïÿ˜×g{õ·*¬ÍRSýÍQÏúûÊÎSÍvj®ÌèÙ‹ìQÌKþS¿úG[LÄR+ñ¡ >c«ÕVÞUµ|@T#ÏKŸ¿tü¥j´Šú·á ú«-üú—Úåiò ú«-¼þmž–\W ýª?Õßu¡ú«KKÞÿw¨þTW†ê¯.ôùKõwe¨þêBþOõ¯ÕÏ5ýù·–^µÏ7mPýÕ~þ™êOõoÒ ú«TuÃùõßÑeæïKÛüš(ÕßέìÛÙâ/b"5@õ·έ´ooršÊ®ü›‹ýVü½€4‹oRý„¯õŸÉØùš:¥Êï¯ñgeT‡°ñù[óï5ä~‘ÿ”•üÇyûŸRØÚÿTþÍz¬Ú‡5ÕßIõ¯/øämÈŸ€µÕP«þu~òRý[Tª“Õ_ÝhùõoÛ´ðú·y¨þTW†êOõwe¨þêÒžêOõwa¨þTWF®ÿOöÍ\µOD¹hÿ´ÿQ=ׄêOõwe¨þTW†êOõwe¨þTW†êOõweèú#Õß•¡ú«KKþýAW€êOõwe¨þêBŸ¿TW†ê¯.tÿUuaÓ Î#Ÿh(>;Îâ©ÝDƒy8šP„ªD*Âfå:=Ñ`¦ejªq“3 ¢•A뛩?AÑšÈ!ÔĉçŸUoKkDíà®ÎÌbBEÜÂÊœ›A4œ°«„ЏÍ'ÔÄ=²Š \(£³P½-ÑP<U8 qh0ÎÜ›ª$L`&¡"nþq΂ùÅ Eõ/AAAD3 úð¹8jßÿž‚‚‚‚‚‚‚‚‚‚‚‚‚‚‚‚‚‚‚‚‚‚‚‚‚‚¢í„ê@]Õ¿@AAAA4)mæT’êg҇ϣª^gµ¥5Õ_Ý ú«Tuƒê¯nPýÕÚêj³/3…ïÛÇLc|7ÇÖ2}-¯RýmE-õ_̆GŸÃûGî§ú7EÔZÿð˜jcŽEûZ6‡Ø·‡›7ÑMÕ^Ul;æNäcä¥ú›¢–úÇDJõk~-køÁpf½uì·ô<’êo+êþüEyå^PÖ_ñéÀä [J­ «íˆêo‰úíÿ˜×g›+³r¤Õù]QKý}eç©Vöê¡OæV¯òþb‹Öøt&ÿ©µÔ?Úb"–º‰|š>0.÷…üªmw¢ú×:þR7¨þêÕ_Ý ú«TÿÆ]ÿUu‹FAAAÍÃOö*¢öù'WÕ7@‚ ‚ ‚ ‚ ‚ ‚ ‚ ‚ ¢Uæå;ÊtÑhžÚmtŸDãy8šPŽâ¶¤Šh4E„аYzBM¦ej29ÓQBÒ‰ÆCõ§ú»2¡¢uL8€êÝGj’C®‹ãçÿ G˜Yì(ÓJˆÆ3£ŒP“°«„ЏÍwVI4÷È*a׉Fãxý ‚ ‡êèê8áC\ý½¸VL`¦£ŒN#_¬ƒ¸ ú€ ‚ ‚ ‚ ¢Pýø\µïOAAAAAAAAAAAAAAAAAAAAAAAAAAÑvBõ  .Žê_ ‚ ‚ ‚ ‚ š”6vÒIõói E•3®MZÿæoQë ª¿ºAõW7¨þêÕ_Ý ú«µÔ?Ú—)bxôÁ;¾›c©þNz­ÿÃY+Oõ¯gÔ£þûcå?•œ{JZÿùcøb󦱸 4 FŠi¨þ Œ:ëÉ|ß>f*²¨¿\jl,<†êï@ÔQ¥óXÖÙ‹Ì›ùOc£ÖúW//Õ¿ ¢–ú[œÇ^ýå­ƒü§±QKý+w?áóÿWŒ”»†êߨhðñשPýë ª¿ºAçÔ ª¿ºAõW†*=›´þ­‹¦+AAAA´|²‡PµÏ?¹z¨¾AQôÚĬÔ_Ó/þœ–òßf %édÓ!¿ š“qé´ ­kžö6ºþH&;=nýÎOzMÝÝjt|iáŸ>ÐeŃæio£ëõÉ„¾¸ÿDìEµw¢‰©:´hÃÎOk®ÿMÔ^Gê5áø¯)Um*®ÿõÚ•—s¾yÚÛèúà ±ù\¿^ ¤¸Ö¸v­¢¼´í*ÈKmžö:²þ#Ÿ WÛ WÊJ‹ ósЮÂü´æi¯ƒõ¿råò•+åmƒË—ËJŠòór²k©¿ÓÛë`ýËËK%JÚeeÅE…ƒ.£–ú;½½×_,§Ø¹$ïò—¿ñï¿+LÞáï¿#YLðMÆ?ÿ“ß´¬¬¨¨0Ç K¯µþ´WJÛÏ-F:\¤Í3w"gwù1ÿígMO/“º ììv1Ìo×Yg¾£ ´´°°@Ÿ£M«µþl/o‹úÆüô›e¦aë/gî»¶ú7¶½¿íô·‘vÒN?ë/gî4y«ü*Š-=ÂÇû¡ø;÷^Õ).ÎÏÏÓê4©µÔ¿‘íEòh‚­—®()Éw‰[ýý·&V‰ú/9‚ñ(þŽ%ÌúU§Q\œ—Ÿ—­Ó\ªµþj¯F™Æ;X9sçÅ|w$(Æ$DûûG'ˆÇ⼄¾,*Æ©ïh¢¨(7/W£ÍºXKýÛÞíb¾ÖÛ,(*Ês" Û}™_t‚é)2g~Û㊢ýL#ã¶ûIcœú¦ °07× Éά­þn/o[rØüôpÔ’ÃR‹®¿iÍq.R¶¦ˆ:,4Õ_L :%Ö¹oZXhÈ5deg¦ÔZÿÆ·WÙ(lÂs8Š9X9ó6@AÞ“©É¸PKýÞ^ë/-$§m€Ï]zVÆ9©þéÍÓ^6]×H¦äWj`Á ¯•4ÒžJcÆg²ÑY ð§Z>~t{*þ•êá³ÓØhžÚ] ŒºµÚ£=ú¿eMÏW9×Û-©D’¬ÿ¿å Ž66Ž·˜P>o0Üãõj`¤òé¬r´_v°i%l˜©˜nKª‡Ç #ÙÊëÀ£Œ[d…{ÄUE¥Enaeln1›!=Î,ÆSÓ˜°|³rù#Æ„æ˜VŒ“3™ßoÌ'b9NãÙ\Î<ƒÛ¼÷ÙzÀfhÙ´lN¨ÆÞZ’Î Jn)lHfcÎr0€ôÿº~Ž Ù,}ãAVHÉxNÉ\°]¯É½ÖÐËF ÞHóyšùœâé øžÓéS\ eq‚2P“[µé)†7Wê7„i—‡fGjdÍ{:ëYÿ¬¹#@æ¬a cÊãœ~i½SFÝòDArü‚×R±™ðÜúeàŠj;‚ÜkRzè2~mËš‚¢ ?Þ‘ÿ-«s^‹ÊùÃ"ýË ôÃuëæêÖÍÑ­ž®]1%;*H³hlVØSi¡âF÷<2¾Ÿ&çª)Ãû¾e÷ÌnyÑ¡ÜøZ”aÎ-C^©¡þåˆÂOwx7ßë¹[×Þ\‘óêRýé^Š@’ú ótkgëVMÏ^6I9!ëY¿ôéƒãÇõþìñN˜—gøÈONÈД•’46žƒwÑ­š†Ü >Ü’·óeÃËs6Eê_œ¯{aŽvåtí²ÉÙKƒ5‹ÆkãýöT次iSžˆŸÐçÀ ®Mà=šÀ{3&öHÛãàÀÎ<áçLeD ;¾)íÚ5–Ð" Šb ª¬H7¹‡.è.m`׬q]Ï>ÝùoýÏ3™Î“ì›Â3ì´ï9Nõ<ñ.iã{eÎñÑ, È^21{i%½EOk#†ëÂ-Û²>èÝ„ÎYc:&?ukÌ£7ñ }ulX†%ð«d–9ÏÐR€wIuOÆ´AYáOkŽ•“É^4J»ÐW;˜.|`ΜG-IŽ»-Ûÿæ³Ã¼cnÇ3ı€H’ïÛ ÃÊÆ"R­¬–ðô+lÚe¼Ë¥‘]ÓƒûÂXdÙ÷_óô"ü²#|³çûhÇèÂègõÉ™~?Æ_þæC}À-š‘7žäyèAwžá˜žáîÛÈ0âºÓ–òÄ»\~;::}rÿÌ™OfÍñÉšë“5g˜fΓš9ƒ³gÐÎ|D7µ—~ò½èbPçïåã™ô¸ûÁÜL¢ŒÈ»¶¹GV9‚Í<ñ.Ƀo¹à×íâ„Þ—&=–úxÚÔ'ÒBû§MéŸ>¥oFhŸ¬^YA÷j&Ü¡ è¨ñ»9kDû´!îgcŸõd<à %·$=ycâÀÎôs;Ù‡}>ü^ë ;¾éÌôÌ.Ø]’Ÿ÷µï¾ù@¿Û>ïßáӷگÿÐñËþ·Æô»ùo}o:ü¨WLŸv1½=?èöåýìÀð{sbl/²ÊÐIk`µ Üsfù‚]ÅÆ†&·rAt‘ç3Å–õPdèˆÛˆMÛ¯°š©åØ9€í—šÅ€ \}B¯¢b¢hVÈŽNk$|7&ÓöK~)l¤„™çMOGšcðˆOa0$ÙôqŒ<â3Åœ¡›_l£aM‡øÔ“¶åFŸÙkjذó¬Ç§¬ã[ªgBºt†Øðïþ€2¤ )ÃzfØboÔ&gØÐ}$gE½2¼‡2¤ )Cʰé3?ü2lãú\d÷P†”¡ê¶†½/ÊÐñ [ø§ž9Ã}œrO‹?Öké^¤ ] Ö¿R†”¡úP†NÈÇzÒ>vËÝs0gØr÷¾(CÊ2¤ )CÊ2¤ )CÊ2lš [ðqÊEqÕ¬öÉT„2t‰ }L[Šê™P†”!eè” Uÿ¹{¿á¯§¨zõ¶Î3T½7í÷rkȰ…ŸÇ¦ —a‹ý-é(€gØbï–/g¨®éÕr?y9CçÞϼáa÷Žë|[úÔk±÷$—3l±wí–3l±÷µ–3tô^ʦ;ÿÎÏÒ±ÞR†ŽÝâXy e§ÞYÎÐÑ›Ë7vö݃å Í÷¿“îF+ÝSwç2Ó¨eGåð*Æð;îZÏ’Ô÷ו÷±M·f=²”E}%ݸ•E1áw¦ßáo#ßœVyëZ7°uÎhå ÷æÞš¨¼µ©¶ºÙ)¿q«2¤[¹6ö&®µß£UÎÐt«Ïêw.µ=FiukP«1Nº‹©œa‚òVŸ–{{æ™ï3ÉoòuX¾&¿á¤âi^‘r§ÞçSþ®ˆi¥Zìgɰú01 ¼I¦â)³šÅ©w”3l±÷ŠTdØBï¦(ÿmEûç:Gæ{…^lþý|Pý©þ®ŒWª?Õßu¡úSý]ª?Õß•¡ú« »#]Ða’FôBûgrj‡Τó—üT çCó€ƒ|X¿ÅÝãø[ÔÙÌz.áö=ü\¡ª AAAA4Ꟁrq9Qv÷‡uà„“uužærGÛèjŸ€rqm\â÷ˆs Ùƒär²[/h‚ž]ð|ÚÅþ;×ùÍÔÞÆÖ?óÒ©Î/ÿÏÏ©Ii—Ò/%b õ‚üSSâ/œ=}äØ1´«¤Èº2MÔÞF×_“»àµÆ-ßþÑ—‡“â~lí$Æýû¯˜£G¢¢#ßÜ_VjýËìMÔÞF×_Ÿ€Ç÷|Ökê&uÿ ͹Ѷ䭿––æ\.Ïožö6ºþy9ç òRKŠ´åey—Ë ®”^¹Ü„TT”7Š7*¾z¥øÊ墂¼KÍÓÞFן ‚ ˆF£þ (Ç9_{kúï¼5Ç[8L#Îõ©}ÊÅi±ç»ä¿m±g„ä [ì99Ã{VAþKí{ÜÝ ~»¡UdØÒïlF:-Cõwêl‚ôý§)C§_uHã#>p×{ªïÔ‡î·2ÆÜ™Í¸zŽ­dËØ£lþ dOb¨¿ôš$ÝÑÕÍöü®]­žÝ Jm8ÈÜ¢ÝLš`ú_7B+Ÿ]ñÜó«úF®”ž¬Z·$¢ï³+WòW‡X9<Ÿ{†iø·NÒÿïLéYã]»}Õ4gÔ |Øzš~=µî7:`¨Ð~ëÆ.J¾©“ô\w¸;KÉé M×=¯ëš½q¦yÓQÌsèq­{×öbžèŽ÷±[ñÚ4h2æ óŒºáƒžº¢ói?o·u£âË  [+µ ãk{½>ÑÏCëþ©m¡“P4Þ—?¿µeºÞ˜Žÿ¿ÅMÌÃr-íà/èÚub|9æeñÚvË·´}×,ÆÌyÊr—úç©ñªÔFþá^óNlòùèý7mݸïqàÁWk|FÿÔ÷ÕÜXOé=ø²ø<ÓLõ~ÇôžÑGDmþÿ¿ó7^—NÌÍãVf®Ñ'npKë÷§ßà=¦˜¼V¹V™ßsÑc"·nèJŸÉkù²­cdžÈ±}ΣËûâæIkyŽüyæçÓ܆a«ù^ùº»<ïx~k»yY<øzÁ§ùSî½tbþ‘K·"ÑÞÂv¢½¼}wÅ=³–O#õ!¯ –}ç¡kŸ@½ùóÂU=ªmEŸàõ¯~7im€éõxþþO+ÀúÚ }×I¬[í8¹–/Pê¯}ÝY÷÷º3þ?;îg¿>1yíŽ|K?Hë þ?œ/jÔ»ê~iØ|ë$iý¼RØùãù¬w_Ù¸2ÏÇÇwÇÿ Þ>i~Ó}ÒÚoÜø¼Û¤ÚnƸ}îbYÅðÑ£[7&B|=2÷¯y]æËÔ™Ö¯îï¹1óºv󙇿ÃðçƒÅúA¾Q{oooÔôúßDž[:oaÄJó¾Mm»Œ´;ÙÔñÿ¤<5TKUX xœí`eþþ'‰(§§ €½b×,¨$&B¨†Š %ÒL (Eëxží*œ‚÷óoA1‚ žÊ©‡H(ô©@ ù?ï¼»³“M²Ù°e6ÙçËç ³ïÎÌÎ÷ûÎ<ûΖلøKRWÇ^‘¦XE/ÅO9[{¾ÒF×väk¾q±¢ Å Lž­­­M~Ðy?$–k Ç<áÐh$4 ªexLÔ@gÞ†a1T™‰s”ë”Ç”hü?K™om6£#ŽvýúìYæ¬óÙÍ}|gGK~|gö¿x.øiýˈ¹û’/.Q”NÊ]7éç}fû_j®Zÿ«Ï0<ô6µãÑÅãNVÿÎnîæ+í_ñœ$ž{ìÍ4x÷“óÔiåqe:ý\ã<#žKý/5ýïkzü0T~2ò¿Gýgt>‡Ç€F,•ù›—ÇdM:_‘Ïûí ?@BATÔ!€‚nF(JSN—)bŸ}/¶MQ.‡®€®„®‚®†®®…®ƒ®‡n€n„ÄÎÒºººº ºººº ºú$êÔêÝ ÝÝ=u‡„‚†z@=¡@EŒmåEîƒAÐ£ŠØ%z êõ…B¡~Ph4 †‡Â !Š8†e4 µ…FB£ ÑÐÐh,ô$4M€&BÐSÐ$Hì‰S ©Ð4èi(Š‚¦C3 hh&ô ô,4 GÎh.ô4zGóèèEè%èeèèUèÏÐ_ …Ð"è5è¯ÐëÐß 7 7¡· ·¡w ¿C‹¡h ô.´Z-‡ÞƒÞ‡>€V@Bÿ€VB« BAC«¡5Ð'п ÿƒ>…þôô9ôô%´ú úZ}ÅBßBë¡ ÐwÐFhô=´úú7ô#´ú´ú úÚýúúú ú´úÚí„â ]Ðn(J€ö@{¡}Ð~(:„’ CÐaè” …ŽA)P*$ÞéP” eAÙP” åAùPT‡Š ÐI¨*J¡2¨ª€NA§¡3P%TUC5ÐYH5 ¶ä ùAçAþP¨-]µƒþ]]ýººju€.….ƒ:B ÎÐåÐЕÐUÐÕÐ5еÐuÐõÐ ÐÐMPèfèèVè6èvèèNè.ènèOÐ=PW¨t/tt?ôÔzzzêõ„¡^Ð#Po(z †B Ç >P_(êõ‡@¡AÐ`èq(  …†Aáph4†ž€Æ@c¡'¡qÐxh4Š€ž‚&A“¡)ÐThô4 EAÓ¡P44zzš͆æ@s¡ç yÐóÐ|hôô"ôô2ô ô*ôgè/ÐBhôôWèuèoÐЛÐ[ÐÛÐ;Ðß¡ÅP ´zZ -ƒ–CïAïC@+ ¡@+¡UÐ?¡ ¡ÕÐèè_ÐÿAŸBÿú úúúZ }} ­ƒ¾b¡o¡õÐè;h#´ úÚ ýýúÚýÚ ýý mƒþ ýý ýýÚýí€vBqÐ.h7%@{ ½Ð>h?”€BIÐ!è0tJ†ŽBÇ (JƒÒ¡ (Ê‚²¡(ʃò¡¨:A' “P1T•BeP9T‚NCg J¨ ª†j ³:Xçï/äùCm ¶Pt>tÔút!tôGèbè¨=Ôºº êu‚:C—CW@WBWAWC×@×B×A×C7@7B7A] ›¡[ [¡Û Û¡; ;¡» »¡?A÷@]¡nнÐ}ÐýÐPwèAè!èa¨Ô „zAˆ1(= C!ÐcP¨/ õƒúC Ð h0ô8 ñ•ç3gmŒ¡žÀ´zzz zzzÕWŽÿ̯ۈ]BÜöUdlÂ@ë s—b¬è£`$è÷¦(‡òŒúW,áç ¾ÚÓN]DLýÁ÷`ÇMw‹9‚ÿxúŒyT=®ÄšÄúä¨N´U±³úH+ß=Où/†•BæXq©òvB!ñuGåãk«¯1M8Îê¦pÎ]í0Îx”¦“µcK¯Øê«›Æñ޳ ;¶ÄÁí´+_gäâ†c¡=ŠSpNï{Ø’OÔ‰\)¼4þråP×€Ã}/L~ñ¡~$g›£½”&It ½šàh`8e3š~”¦¶3Ù]%uüQœÒûMVÌÜÐqv=ŠÃ;¡åâ”GqËQéøJœµ&tW~¼S8ªæ¥YCÛEv<ÿx[Û‡*„Bìô?w‰SKÍK¥‘&åB±i§ôRBqz)!„8½”B‡^J!ŽC/%Ä=Î?žrüDNqéñòЧNVœ>yÊ…TTVºíQJÀé3ŧN;~ÂËó¥—âögçáï+^Z8²ËœžJëàåAÿõöôü²²¢ŠS^ž¯ÉK¯¡—âZâÓ²>~}ÊÒgûoøú“_´t~IHüo|âÆM±1Ñ¡kÞŠ,(+÷ò|饄¸‡¸cÕìøßÖ)éû¥&KÃDËÛ¿79e×Á#[¶lD^ÙÅ¥^ž/½”÷°óX:N³ ³ T ³[2H!-7ïpzæþ£©È+½¨ØËó¥—⤷œ<™ßZÈ-:‘–›(=y¥ôò|饄¸é-…ÅÅÓ È;q"#¿àHzòJmÄK½'_k/íÖ–^Jˆ+Þr¼¤H‡q"AK÷k".Ü–˜ýÅ1ÁÁ…Åû1[\¬(ÑñKƒû °—Ì‚ÂäŒl^êH¾ú¤b£…-+Ñäͨè`d³¿–£–/&äÏcÈRèoÆ+úEœ›¯ðÒ^âRôRB\Šô–¢’p¼¸Ø‰ÀsàÇ‹÷7ÛfÂÒ`é-hL@KðR´8÷AAáÉ“Y…Gmzé9狤¦+Hjƒ¼9=zCÌþ 2#-eiŒ²Eæ›P¼Éß-—’ÕÐnj³ÉEœ›/½”÷`ò–ÒR GkN!¶¤$v±™Ö³¿$&$DøLHÈñ’ýAËöcPçÄGÔÀP-«ðøÑÌ[^zNùÖOJ椄ÈF«lѵ› ¶8+_z)!îAzˉ²2 Æ),I,]RTš¨µ¬/-®D/Iܬ„L_¶lIˆ¢¿×‰À^²Ëʵá¥ç–oý¤´vùÓ–äµ$1Q›M.¢o±š_QteipÍŽçK/%Ä=Ho9YVN”–:‹wKß 9Qš¨µÀKg(ÑïÂKCB`§'—9ñáôàä=çxQŠM/=·|‘Ô ly鯯f˜±±t}´ò®j•'6FË–wC”½¥‰JÈ2Ù¢•B®GêÝÄD«r9+_z)!îAzKqy9ã6”•+3OX®µ¼{ L˜Æò/ìT¯½äHÍγá¥ç–ï>$²¼þf/? G˜ÁŠ‚{e¦ÊÌå²ñ䦙² ò§Îe æ‘CSý"'Ë8=_k/åg¢q Ò[J**JT{q"Áï\×:ˆé ååp’ýï…,=X¾4$˜€|Ϲ*2ïÄÉÔœ|^zÎù"©hI}/oFÏü^›v­,NÏ—Ÿ/%Ä=Ho)­¨%Î&ä½$íUA)Z–%U, ÁD¦£¿¯@{É÷Ï8÷Aa/ù'‹Ór lx©#ùÊÍ–ñÝ3ŠS¶Y_çæK/%Ä=Ho)«¨(Sí¥€gÁÉât›^êiùJ/-­Hrz¾ôRB܃ô–S§OW´ÊO**.ÍÎ?nÃK½'_z)!îAzKeeå™ÖÂéÊÊ’²òü¢“6¼Ô{ò¥—âvMÃ1X]S#¨®®jTVU•”U ¯”z×™÷¶|­¼4©+?EˆKÀ8máÈ.É»·žmEQsöì‘Ý[‘×áüã^ž¯ôÒÕôRB\ ¼å³å Ö¼~4þ§ÚÖ¹)‰Èèóå/$æäyy¾ôRBÜÃî”Ì„´lØK+ûý£ÿ6uof.ðò|饄¸Œd`/;ަýžœê¶HvÚ£ Œ?‘Wýqš·åK/%„Ç¡—BˆãXy)?E!ç¼ôh/åc^Û„B€^J!ŽÓ˜—ý1.ƒÁhIј—®øl-!„{°á¥†˜ !¤QÏKù™(Bi6ÒKuŸ‰¢—BH³¡—BˆãÐK !Äq襄â8ôRBqz)!„8ޏ¶I/ýï=ÑK !¤ÙÐK !Äq襄â8ôRBqz)!„8½”BG|&*^J!A/%„Çié^ºyÕ+ÄNØS-ö‚'ÐÜÚ¶/5ú§ ZF¸ôeO91\í¥Fç×2‚^Êh,è¥-%襞ôRFcA/m)A/õ„8w/õ¼ß(Q"c“ÖEqßpVÐK[J4·§Å. JÊ‹g/81Z“—F¬Ã¢4¹‡pß°3è¥-%襞-ÂK{.ŽW̱&RÑï ‹¢qËbÜ,Ü‚9ƒb’âb´¦§¤Ýä¾Ñܰ±o(A1²;z*ŠVa­/ä""2¨~O¡_%HÎ ŸûØS†­žR¢´c'‹E,Š‹×ºIy±<^Ï÷R©ÖÝ "2VîòŒ@ï›ï’©ôUîއ}cM¤¥ÈV}¡¦Cßin)ï]£ÝV/ۧ [^«ZÁKµ>Ò뾯 F ðRzuûWüêOU°Û¬YùÍîÚ Ü7ì {ö x£,¸¾S´C²~OñìÒaëY¯îTßK×4tˆ±Î!<ßKëz ˜ÚAÝä;PÜ7ìŒ&÷ iä«.Iu_‚kð,^ë2í.ý &{Ê‘°ÝSú÷襮‹sóÒä@÷ýF‰þ,Þ†—b‡‘µ6ÁsÃö™£æ¢Vbu[9­ö”gÕì)G¢É£X;Ó×¼T+8úH>£± Ï÷RýÛIúÃvK^¼öÈšÅA˜–ÃQíy–û†ƒacß°z!e‹îÝ(³Ú{…ò)«{µ¡©ö¾{ÊÁhò(ÖÒK#‚pȘޖ’{ÁÁh^Zï½'ý›Mö¿øÆ}£¹acßÐΠ׈÷¡¢šì ö”KÞ£ØÎO ²Î9<ßK“̯ËÕÿLP—†}Cÿ²§þä‘^jHØóé5y"°h]Ls;‚½`g´/u.Ü7ì ~V¿¥¿Cê á /  —¶Ê —¶” —zBÐK½´¥½Ô‚^Êh,è¥-%襞ôRFcA/m)A/õ„ —2 ziK z©'„wz)±öTK½à 4·¶-ÝK !Ä×6饬¾š^J!ç½”B‡^J!ŽC/%„Ç¡—BˆãÐK !ÄqÄg¢zñ3Q„âôRBqz)!„8½”B‡^J!ŽÓ¢½Ôð«BZ+Þæ¥F_š‹Á`´Â —2 †ãA/e0 ǃ^Ê`0޽”Á`0½T ŠQÔè©(Iq1¦ÆÈX´DD- JÊ‹—‹â %Hμ(HA{ýmÙ-‹ƒpoO%H['½”Á`¸: ôÒ5‘AšUJçÄD<0/Vk³Á$•¨¤uQ–ëµÈ•Èeå4½”Á`¸3<áÞoÔY¨ÞKõÓVÞkå¥õé¥ Ã=a¸—F¬Ã SY©X Põ^ªÎ‹ÓœÔÇÅZµX eé¥ ÃÍaäë¥êË›ÒE­Æ–Ò?åY¼6jÕfX“oÕRß~yŽÏ`0Üz©æ‡’-ºw£ä{OJdŒ6æ”Qí]*«ý²|ï‰Á`¸? ôÒžðRÕîÖˆ÷¡¢’ì~ͳAxŽÏ`0 ½TÿB(“ôRƒÑrÃð÷žÜ ½”Á`¸"è¥ ƒáxÐK Ãñ —2 †ãA/e0 ǃ^Ê`0އz)!„¸¯òRBñ襄â8ôRBqz)!„8Ž•—&ÑK !¤ùÐK !Äq襄â8ôRBqz)!„8½”BÇú3QÝÚÒK !¤¹/ T>¦—BˆÐK !Äq襄â8ôRBqz)!„8Ž•—ò3Q„rÐK !ÄqZ®—þ-öˆ'Ô‡´nZ´—ýûZ-#Üé¥Fçz.A/%N^ÚêÃÛ¼ôtÆ‘âß6•üþ}éï›5p³|ûzIÙöoK‹-ùõ›ŠŒCµôRâ$襭>¼ÍKË~þòÌÎMU»7WîþQ£*~sÕ®U»¾•;cÏüþÕ©í_ÃNké¥ÄIû™(%2VQ#BQ’òb›µ¬‡¹žÞæ¥ÿýªz×Õ ÿ©Úû3þJªöm©Þ·©jÏFA<uì£ÓZz)qðÒ£ðùÒˆu…k"•f-â!G®ç‡7z)üsß6A¢Žý?ÀN{ÖÃK+w®ÃÉ~-½”8 ·y颠 ¤¼x9½&¯°§• U̱(^¿(-AV-=• ÌlµB9r=?lx…#KÝçj…­ê¿&/^AO­‹JRŸïäéC“=²2¥vehhmmJý eÎV¹ò9sBѲ2%E›AQBå]+C´œs¾ôRbnóR¶òLRJyœJGMRa˜­þÈÕhòÈÝZ‹ÃpŽ¢J½Å¨6¼bMdVäÆê'¾%jM^¬¾³ÎÍK5çÄ<¸Ï”-[á±ÊœÚ­sœ’oÅÿb…‹øU£&ñ¿¯M/g÷f*wÆ–o_o»>„ØÛ¼´çâxE[IG•ƒUy,/Š‹×_m£¹êÈÇçÖ9ŠSŽÇÖöx…4ÌEq± Ö_ž> Ëìì^ª„â–6ôR½Ç:Û7T'þªF*©Ú·E°{#¨Üõ]éïßÙYBšÄ}çøq¦Ó|í_kIÒy©v‚ÙäRÚ‘;Cu8ª¹N9$[M4éÒ*×D*ú|}ýåó ã^Zÿ\^óR­Ññó‹ò›ªl7±ïgÍHMvª©`×ÆÒ›í©!ö`í¥.ûLÔ’8ÍW_#•ÃQ˜ªvF©cbt$_Íi›<£Ô¼t«nš¡…­×KÕÏQhïúÉÑiýúG(A[pޝv_’}çørü‰3X¤œ°zT=™P¤Çâ߉Oˆ;¿¯Nú½&iÐHÖÛiõ®MU»6—Åý`»>„Øõg¢\ùùR o0¶Áñ«p|§I¶èß ¡—:6¼BsN «úËç;Ù_ZGØã¥sBá¦âElñ²KèJLh¯ÃÈî–[¼*ÛÉWóR½‘ voÔZè¥Äé¸ÓKÅ'(¨gPTýÃðà9¾aÃ+´·“Öˆ÷¡¢œÕ#ö‡+ºìÔî-ÕGv ’~¶™ô»°ÖÝÿ†yÍHAiܶëCˆý¸ÓK·¨ïækï79ß{²3lx…þ¼ É—CíïûÃ^z:akõÑ„š£»kí°¼pz`;ìT|†×pQ9A/%NÄ^ê\ø™(;Ó?«ï’qé¾_ªÓöפî‘CSIUâöê„ÿÀN5*wÿH/%N¤x)Ãvx²—º"è¥Äxm“VÞæ¥g’vœÍ>\‘TslO݂͑C;„£&þZ½O² ¾ /å{Oĉ˜¼ôjzi« oóRŒHÏæ§ ;UG§b€z4A:jUÒv ¾ µo›—þÎÏ—§A/mõám^Z]” ÿÄè'û§¶‚S»·`Z±óûò›À©íß•ÿo}Ù¯ëÎd'×ÒK‰“ —¶úð6/mnÐK‰ShÑ^Jì„=â õ!­›–륄â9ÔóRc®M!-ym“Õ×ÐK !äÜ¡—BˆãÐK !Äq襄â8ôRBqœz^ÊÏDBH³Ÿ‰ê¥¬æçK !Ä襄â8ôRBqz)!„8NËõRÃ/ˆÑ‚0¼³iõÔóÒó™¨Í-ó oîz)!n Þo”ÐK[[ÐK qôÒVôRBܽ´Õ½”7@/mõA/%Ä 8ÝK%åÅËéˆu¸©à¦«¨„ÅÅËÙÅÖŸP” 9³\-=• ¤¸«¢—ÚôRBÜ€ë¼tM\1 ~¨9'{.Ž×·Xy鸮•´.ªÎ 饎½”7à:/¶¹8JŽB53”žÙ˜—ê]·Iè¥v½”7à"/­ï™ú3w^ªÍ&^PpŽÛØÑKí z)!nÀE^ªDÆâT]³JíÞˆu…k"í´7{Â0Õ x,Îñ#pޝú§ÞfyŽïHÐK q®ðÒˆuñ0Ì$â|_5¥s¢="(H ŠBË–uQJP &äˤÚVΙÄ×Kz)!nÀé^ “ì¥uÔÎ×?› ½ÔΠ—â¬¼ôÃ×6Á¨rËâ 9M/õ„ —âL^zµÓ¼ÔmÐKí z)!n€^Úêƒ^Jˆ —¶ú —â襭>襄¸zi«z)!nÀÊKßw>½´•½”7Т½”؉áEH«§åz)!„xôRBqz)!„8½”B§ž—¶˜ß{"„Ï^z¸‡òùõôRB9w襄â8ôRBqz)!„8½”B§Ž—^¡¤öP ÄK|BTóm”Ó<˜YίMÁÜ›Ä@|ˆgàª.†s&ß­üÜMy÷²:^(îG¢j˜IýIò Ij˜’1HI3‘6Ì2-Á½„Ijâ P24|Wr°’Ü[%ÐÄá^曽MÈü=ô° éAõïýbáœù /}Ë<.- öþp%{” `”R8V)š ”ŒWŠ'ûIʦY¨‘>VÔLVÎLòLPˆáT£1| ‚±j_ŒUNVÊŸPJG)#•S£˜( Wʆ˜ÿÊ 3'‡('Š¿òÞÒ‚}­©ï¥E£”’1¦¿Åü@ÅD“mž‰l#©žn¢*ʯ>g#}A¥tZb4xj#„H¬ŸÝÆ*§Æù—¾7¥¹W³¬.Ì*^:¥äqé«ù}êxiºÎKË'øÀBÏLö•ª‹Â9kf¶Ì2qöÙ6µ³üLD›Žê\~¯,ìPÐ'ÀÅ !-úÖZ¾bJ¢[C¾»ðŽO/¹gmû®_^Úíóö÷|Þ¡ÛÚݾº¸ë×Þ{ÁÝßܵ¡Íí±~·ÆúܲA¹éëk{®ßŸ;•#U«q©æ¥0Ré¥r`cå¢gçÔ£;u2oú×Ö¦~øQja¿v,Þb1|ï%Ä£°òÒšãY·öÛÕáÁ¸+{Å]ߥoüÍ}ãoêcß„ëûì¹æ±½W>–ØñÑĽ\˜xþCλ?Ñçž=ÊíÛ®íù%¨Mz©”ÂHqÎ^9Sx©4̼´q#unj_WjkS`†ç6°tpqBH+ þù>üð¢îIW¹uàÑ? =voxÊ}#S»†§v‘z÷ˆ´ÛÃÓ» ˼6,óòYB³. ÎjÛ+Ó÷ÁTåO{”¿À²Ú˧ÒKß½LÙ{­î¼°Ó ¾9ürŸäMj“?µMÁÓ‚¬©m²Ÿˆ‰)þ’³Ò<§ûÔm–'Ô ;_ !MìPdö;µ;;> ·¬Ãt¤?æY7L‘÷þr›©å¬Î µeµùå:=ÔN_4m%àì°‹ëg–ÛÓä:±a‘þ n³¶}ô‰oÃð ‰–·Ç /½´çÑ.R»O{hLFà¸ÌÀñ™=Æe>4.«û¸¬nOfß9&§ËÈÜk‡ç]–wIÿ¼v!¹þ™¾÷ð¹yôRíõÒߺ /=p£xï)g€xï^zé’ÞßìÑþ͇ۋ¿=-¼Qç»wØ;Jì3Úûøg ãÒ¿T[ù}Ê™I>“Ðþ“Öx¢¶vEتÊ'jsWª­ýºÓsg&ùŸú§bzu7·ö̤PÓG&ùT/¬³ÎSµµ oûu§vU“pò¾õ›Ÿkh§Í\ð¢Í¹â­+:µ«~! ÁÅñˆÚÌgkk·½°rÛ­ ®S¿a•“BõÛ\ Õ ýµ‡KÏ©]Ø©_Np€¶*âUþARm~³©Z÷®“|OGhçÞÇî’öðØŒG#2¿û¹-Á“³ƒ&gNÊ~0"§Û„ÜÛÇæÝ4:í«¿?uQhÞù½³ü8è{Ë7ÂÄÔ7ñsƒ„—n¿Óâ¥pׂ!ÂKÅkk«?«¦¶ö÷÷gïá+ߨ2í<¯š9½´·ÌªÄpz+ü'§÷\Ü<»)Ôä¥#,^Z9ÁÓ¿¦Õn»¹ÿ™ þú4è×Y‰Uå®,€vš{¢w€É÷îo§›3uíG©gFàQNc¶°UÛ5¸xé4,žºåçZÌŒ«sSÎL•›ª_§\DÛ0ySnsõ«þ ®¡*a«¶1V¥ „¸›±ÊŸ0},ª,\Ý5¥<0*FÚoj–ælMËššÓcRÎý¹wË×Ú14½0$»]ƒm^ Û„—â¼^;LJ—fb¤.>S*½´Z5RÛ`žíËfÇ÷­˜è'Á˜¶Òì{½ä;Y j¥X'ˈF饄­ª0{éZŒñ&ˆ!,ë§›û—Oð×–­¿Níæq³—œk.ÄÚÂV•«n,ïÍ3{©ÕâU_ö+TÍVÿrDÚýí¬Ö)×£mX…ÙK±Íòá¬Ö ü ·áGý‘õÎ¥Z¥ã>žP!zࢠ8\€Ã'øã2B§f žž6#[³ÍG§åôœœó@D®Ö‚ÓüŽs;ôͼø‘¤ î^ •Fš|·²év“—& /Í 7}D¿VŽ6i§˜'î½gw ñ•.*7õÌ‹&§JëP2F‘T­ë\¸à'ÙXóðÒ÷ÃV• ¨Í¾ôe§ç*Ƙ¼ô?7÷/ã¯- ¬Ö©Ý,èeòÒøní䜵ñspvý~§çJ†TŒ1yiîøv .^»}®ÕH3§tkgµN¹mÃÊpӼ͵ñ ¬A,øu¨¼y&§¶dL¨>âUÈ#—xÒE‹ÕÏáã½ãñ´§2Ge™3lfÎh‹NΑÅåg¯ž{eXnçA9ûgv|ôà»~+½4­·é;¤ÒK·_'¾ %¼tˆÅKÏØ1.…—&¬˜±=Ì·x‚ŸÜsŠF)§æ×y£çýN튘?Iý7GúWo0yiñ`“—~Ñé¹²‘&/ý±K̃Uihë<Ö#À|3õ‹RË›¼T>Ê®ÁJõ7¡eê@s–4yé©é .^ýM¿ú3—=f½Î²Áu6¬x¤¢m3©¿†3ÇÄ ¦Eƒçâá~ìáo•!ÄÍh †˜ÀqÚmxú€§³†?“3âÙœðgrᨃ¦g×Ö›Ãs®šsÕàì«e_50ãª>Úß+^/MW¿zŸt¿x™^úV‡:^š¯Mí÷ÒÄDÅ…ù>©2V,[>ßò>f(˜¿Eªÿ”ÂvºÌ…Áâä§Æï…­‚YÕf_ú¬Ós9ÂK‚e-ìÔóììÚ®@ý*«¶NÍŸk~V\0kU±j_XÕãV}32`aØsYãÄô·oRv §Øÿ©±Åe»œùÐ,X{äŸê¯so×vú Û›æm.Ÿï_ UBQ½…#ʼnÿ¯=÷Y§þ#ýµ\Ü z“"Ñ,T’¥zi÷ÑCf䌜•;zvîÈgs†FgŠÌî«{íôΑY7˺!,ëšAY×ʺ~púõýt¼_¼ÓyùÅü„Û”µ7 /ýñ eïâËûéaâ›ø¹£-^Ú¤£\¹kˆÅH±lé“q~8@ŸHQ¸°Sm O¨^Z'ΑOc>Goñ®Zý²åó꼋Ο·2ßôŠÇÖò]µrY¹”~æü÷·ÚXÜꮢõ)õשMhV»kŽÜæüð9 ®AŸ©6!ÄX²†˜È`ºò ŽÐžOfŒž“ûä¼Ü'ŸË= §ùÙƒ£,F*ã–!™7>žyÝÀŒety<­KÿÄË» /•×6yÂK1.}é"‹—&÷W+Üä¥ÕªíØ0R1 ûç4é¥yc…‘ /5<€U5HÕúТÚÚåa«²ŠyþÉÿSœP‡«§Òéµ›ºôÏ ÷olY÷S¤º«Õ†Émö¨í$„Øbˆî^ÄÅ£à`}&gMXñb.þŽ™“;<:G³Ð‡ÇfhÓ7 J¿a@z—Aé·…¥Þ6pÿ•}­y)Œ§ö—ZyiÆpñ ÒKëJµ–õ㔈”5“w ñ•. 0¬-­{B-±òU½—b˜‡óåO;=_ÂtINmVx¨ñe¯‹Õ†é·Ùðm#„4yDZçrˆf/öç¼È…ù“_Î7Ïò®}ðÄÌÀ'3e±Ó[§ß–~çÔÛí»ê¡¯¤—ÊA©ÞKwvWöö^š6LÇø‚ÛMKÜfb CˆQßKEfG¿^ðÌ›°SͲMËê;)³÷øÌ‡ÇdÜ7"]k¿khúÝCSî´ïꇅ—ÂHÁö;…—~z“ðÒ/;‹/@í}D\óY\êy¸’œ²ûÐÞ͇÷m>,ÿîÛ|ì7ñ7)~ã¡=›’â7dìýbÿ;Ý­¼Ôø½—Bô iàzõÒK‡ÎÌ™¿¤ðÅ¥…ϾY°-îZÄ«¦3r`§}&e©vúàh1:ýêߥ]ÃÓï–rçà¼TŽKë{éÎ(eO”’­ì™¡ìå·çYÿ=ÑJü Eü©d½ß;>R©Xrwd nî|œ^Jñ`÷ÒQsrßXUôÎê¯,?þ¬::ôRÞ¸çsGÏÎ>3gÈŒìÓ²úOË y*ó‘ ™Å05õö{;?°¶1/ý¹›øu’ƒ}•ÃÔ”'”Äç/H~å²# þpdþùGæ$¿paò‹y©ýáù~> i–rx^›¤ÙJÎ JÒ%ol/¥zxZ$Æ’6ŒÕï( ¥—N~%ïýÏO~¸¶Žº`Iᬷ f¼–?íÏy“_Îx1oâ yOÎË='wèÌì‘YÁOevvkÿ½—Ý+®µ³»xuÔê_ziÂc¾ðRi§™°ÇqJþDŸ¼Óß‚É>Ó–Æq#Õ{©á;0!‚á6B$©uŸ.U~øÜ;…1ŸœXöéÉ×>,šûNAôë0Òü)¯äÁHÇÏÏ7?wôÜܳr¢³ûMËÂд[xê}î°±2? FŠ3zxéæL^Š¿ðÒAJÂ@+/…gj.ªG¶K;Í‘<Á3}Ãp'!†{Ñ£uŠ´Óœ%S’Ó*g¿U0á…¼ðgsEf‡NÉztb&Îè{ô›î‘î–~ë ÔkK¾oXÂÞ¤)¯O‘˜§æ¥˜®ï¥)xéñ©Š†æ«¦1ê¸Î÷ !ÄX´§6ýCØéPØiU¡õ‡ó› i\9.…ynº]¼^úñeb:¹¿²k€"´A/Õü³äi V¾Z4A‘Ž%A!DE;qÖŸAK_•CVyÖoúñúþŠ$IÇÁ¾‚}Á‚½ˆE%pT9…—Âf1(…—J Õ©tÑâé¾’òh¿ÆÀ½ú_|Ö~šB<§ýÄ9õ“¾ þë“V/ÔXÌVg­˜€µÂN¿ì¬l«®–^Š/F¤V'òÒ?+gúÓ¶f¶"×INËŸ|’rÂÔ¨þ2”åG ñbL¿ÝC Ev„4+éT’ÊHŸ3“}娝|‚øU‘'Ôëá1ýŠ(¦õ§Ûø‹–üpÓµƒäÙÌvšhòRDÂ@áÏeSÛÀ?a‰µ :þr…àëïÜRs‡…e]Mè !ÄÓ€wIô7_»Ñ¦¥Åi QSÚ †ôÆäo4—Ž_…‘j^*íÀNÅÀR3RùXo«¶¹äaÁò@Áû4ŠœŽ>"îÁð}€Hê÷‹´2íocÀú¬¼ Cõô6{o?I#Õ{©Œ]iªÚ ’TõÓYò³R–OŸªŸ†¯î޳¼Ìkȵ:I} ¿/Ñ.ûC Äê °>RÌ—3-P/Ç'¿¹/~Ktˆøufq¾âòÎ C½)î ~é Fª¹¨ÄOi8 î×È]g›ûÑF« EñµÞ'r÷]aÄ®È0 þŒÞÿ ´Z½ýzúôô&ôô6ôôwh1-Þ…–BË åÐ{ÐûÐÐ èCèÐJhôOè#èch5´úúôЧÐÿƒ>ƒ>‡¾€¾„ÖB_A_Cë o Xè[h=´úÚm‚¾‡6C?@ÿ†~„¶@ÿ¶B?A?CÛ ÿB¿@¿B¿Aÿƒ¶C¿C; P´ Ú ÅC Ðh/´Ú%B ƒPt: ’¡£Ð1(J…Ò t(Ê„² l(Ê…ò |¨*„ŽCEÐ è$T •@¥PTU@§ ÓШª‚ª¡è,T+Žz<ù@¾täµÚBÐùÐP;èÐ…ÐEС‹¡K öPèRè2¨#Ô ê ]]] ]] ]] ]]ÝÝÝun†nn…nƒn‡î€î„î‚î†þÝu…ºA÷B÷A÷C@Ý¡¡‡ ‡¡PO(ê=õ†‚ G¡`(z êõ…B¡~Ph4 †‡Â !ÐPh4 ‡F@#¡QÐhè h 4z‡&@¡è)h4šM…¦AOC‘P4šEC3¡g g¡YÐlh4zš=͇@/@/B/A/C¯@¯B†þ-„A¯A…^‡þ½½ ½½ ½ýZ Å@K w¡¥Ð2h9ôô>ô´úú´ZýúúZ ­>þýô)ôÿ Ï Ï¡/ /¡µÐWÐ×Ð:è(úZm€¾ƒ6B› ï¡ÍÐп¡¡-Р­ÐOÐÏÐ6è¿Ð/ЯÐoÐÿ íÐïÐh'í‚vCñP´Ú íƒöC‰Ðè ”‚CG dè(t JR¡4(Ê€2¡,(Êr¡<(*€ ¡ãPt: C%P)T•CÐ)è4tª„ª 1l­ÎBµrŽÈòƒÎƒü¡6P[(:ºjýººú#t1t Ôê] ]u„:A¡Ë¡+ +¡« «¡k k¡ë ë¡ ¡› .ÐÍÐ-ЭÐmÐíÐÐÐ]ÐÝП { ®P7è^è>è~è¨;ô ôô0Ôê B½ G ÞPô( …@A} ¾P(Ôê €Bƒ ÁÐãP4 ƒ†CáÐh$4  =ÆBOBã ñÐh"=M‚&CS ©Ð4èi(Š‚¦C3 hh&ô ô,4 š ÍæBÏAó ç¡ùÐèèEè%èeèèUèÏÐ_ …Ð"è5è¯ÐëÐß 7 7¡· ·¡w ¿C‹¡h ô.´Z-‡ÞƒÞ‡>€V@Bÿ€VB« BAC«¡5Ð'п ÿƒ>…þôô9ôÅy”»|&¥ïAAÿ$a©Ê°4å‰Le\Žüë31_—§<‘£ŒÍcÍŒ* ö£U^–½ÍÔ²¶³j:,¨½â/‚_«½åÚ®o×v]VûðAàrÁ#ï7ŠœØ‰V|ß'óP|ßéÅmçœEýµ.¸þ zᎠ艾‘œÂs‚v(aéʰÃ>“ €2õ¸}á]î7³=¢Ì®ñ›U ä4þjrB6¶yö,9'±SýìRžH±“È“}^ˆ¾hqï´2 “‹‰(Ý~Vú'‹ú;lB×Z/˜xºÄ‚Ö8õ¸˜gB‘‰±…¤ þ h‡ó4R «š‹Ì Br„á•Mìå¦Oªfƒõ×j®+{Ž:"Í©Sùð,b/¿õŒó}̺þ¢Â²ÎZ/LÌ·4êwxý>?<ƒ4sýÅÙ–Zü žO¼ì•ä?,8rþü#ó\øBòE/&·éÈó<X™•ÔfÞaev’òBŽ2%©Ï1|jY þ]SÙk:ÉEDíT¢ö(Ñ ÊŒ=~³öú?‹é=ÊŒxñwf|ï÷³”Èø55‘wã¦òøN:së¿;%yóÞC›÷Þ¼÷°ø+8$Zpsï¡ñI›öÚŸôÅÞŒîïìWogý⊕î;•{Å(tXZÔb»~w&â“tëúÏ+I©û‚RÊú<«G ]_U[[µrž˜ž³ ³TÌ1¼ÍÁÉÛŒú?°Wé,êó1Õß®ßP›¼&ÅwÈet® Ô~)êŸúчt^¨ððzõ/Z¶<` ÌåÐs>õ—y唄]Þ† ®Û0ý6;¹þC²tõoú÷@§ýóˆß]~OŠgaÙæú[Õ¼±úã¦ÿŸ¶¹mÅÓíße“sòr l˜y›Zÿ°t±Î5׿éß¶Ž\yÐ\ÿBñj*ê¿@«ÿa%<_GÑʽ-XöÞÜ89}zŽÕ½»Šë,;¯¼®§Á»ä]Å¢2»ÊMËÊ¥t3o}ßöâuîJY_ÔÐ:Ë­6LÝùå67¶}.æÙlpÝvåÁ$¥O¦ºóç›_‘nòWÅAUÔ?ýÂâPKÌ×'[µr¾ú*÷H¹I¥s»;êÿQamm!ê0¸he†<–?ó™ó&Ó~íßIÌÓ®ëNË‹äê:5O{îgµûfaµj­°ªq?Œüæ¹°…íÆeaΔo~ è$¥ö§¿7¾¸Ú.gn·à˜ù# ¬³ëÞº¶ß²Í ­!tŽî3«Fªõ–Bj6ßÐ×7ÇÚ_ÿ+|öûM(VÆ”F)óOé“m×é}ÙÔøÉ‡í:}á?²(tCµºÿã®bµ_ Ú˶Ê4»üˆyĪ4Ìë èqLÞL7¿¬.òó7¦G¼+ô¬¹lUØB1çHÓ½Ó^¼_ƒ3?f½NÿÁu7l¤e›ÕDê­áïgäÑ0w°ØxÿõÒ±âÚ½J`²¨¸¾þUªÿ7Qÿgß‹ó…ÿL¬ð™P®<¡òâS²½ÒLVT‰}cÁBÙú]©þCÊ̹|é?¦Â”æÍÿñ×”X­Ór³ÀT«nñrÎ9ñ"ñçPº!¸Yaºw|nƒ‹ÏÝ^kbU)VëT¬7̲Ísã\C|è×%¦›9gB­r©êß#U­¾ðñrÙ&‹ªg/Ûî;<õ—ˆ^xµÒ”lï Ü”(+EýEãq3tÓYµþŒ¨X™+sYë?áŒ9ÍŸüÍ š¯»NÝÍã¦ZÝ¿WΩ®Άµ•+r…¸wb^ƒ‹÷û²Jy¡~¨Öîþ4«u*u7L™`ÙfóÃY­A,èßûi€©ÿÚi•ŽÊÔúç+C P|sýeTªBcQ3ûýß}Gìö|øL(¯V›“ÍÁ–›©)Ôš«6šë¿"`D¥9—¯ý'¨Ó"Ímþ–Uê¬S.R0·Ó€Þ'̵JÔæT½emÀù(§Qœv ^|ZiªX| f‘[ªmª~Ö¦ÛfõáXCB•nc¬JQYÿ9Â|Æ— G:ö^ҾǛí~Süí©ç +:tÞwÔ^ßȳ>‘•@™\£,:›R·“R¾¯ý2)ã§:ÍjýŸÐå‚yþyÊt'™dêP±ìÂêºë<5÷V<³`s­H´Ìüåí­ï¬h×iEÀ -®Ÿùìʶܺ­áuÖÙ°ºÛ\ ú­ÍIÎñÑ¥c…ê?éÊ€ñ\ ÖßwB¡ß„¿§rA›Iym¦æ·yº@05«ÍÓÙ‚©YþS²%~Ñgý¢k}¦Ÿè Œÿ% SC2 Oh<¤oo×éÀñh,¸ Óëüå²ÃÖ™î½íÙ"_¯M©{Ng™_]g»‡ùšgÖ¯D<ô0[‹×yDu{š\§ºal³¶]ô‰4ˆrE¼V63ñ›VéUÕffeÛ™5mž5½«+ßóÕí–·2£-Øx¸s@+ ìG7/îj¬ê/»@ÔZe›éÕ¨¿`VMýúÛî'âÿf­4Òvý Ý¿¸«Ñ×Ã!íGA›È3Ö½0ËtD4V|—ì$ê}Î;°ƒ‹»~ÿOÕê/ÿâ”J „2S/H¦WKàNõ‘+”DZKý©o‡™ÞÆ'bâà ãK,–ÐÂdZ¥óèÁøÇôœnc¸E¬õ]*Þ… Ž÷ Ið}L }øÓgP²D¼Aƒn K71,Í2-Á½¤Yèë/ê¯vÖ "ghóë$ö£\ßö¾Ã#‹Âæ%7Ãú³þÞ ëÏú{3¬¿áõ?Ÿõgý½ÖŸõ÷fZVý_Yµ¹•Ñâê_ÿs-:Pÿ€®‡X£‚õ76Xcƒõ76XcÃ)õR” Å[L7ã-Šgýí ñú[×$GëÔ3&Žõov8©þ‹â×E(‘kôõ_ÜÓ|é(µkD;ºIÜŽZ·%Æ4aî2ýœ¦ó4ëoOýó’b#ÕzÖßÿe×h%ÅMmB̹&J‰ˆµò.Ö¿ùõ7U¯N ÍaÕn5+³™û‚þÓÜú«žµX«jÝgõ·ûù‚õ·]ÿBa&u÷vùD`£þê"¦' úÏ9Ö_suñt`òžÈ[û}§bý=ÖŸõwn°þÆëol°þƆúú[Kª+£eÕ¿õÁú³þÞ ëÏú{3-küÙú`ýYo†õgý½ÖßðúsüÉúÛ‰á/—yùëo¯ðõgÖß©Áú¬¿±ÁÏÿ-¶þ[ç˜>°5g«ås8\_õ£æNúF€VT_Ö=eeh‹î—×ßô±ÿ>LèHýçhEG„®L1ª|‡«ë¿¸gÐâ-±‘u¿ ÔÀ§=›÷ý Ký-‡B‹ ׿£ÿªER¡þÓΖÏ?7ûû­©þm»¹¬þ–O¡£ÈÚ·ÌÏ|ÿ¢5ùëê¯û ˜j6° ËàÐ÷/ZÓó¯ëê‘å‹–o{Y}SòܾÑzÆŸ®«ÝÛ\yñý»Æž½òû®óÛh_YµÖßq´ï%Ù~ªõžúóõ7ƒõ76Xc£ÅÕ¿•Ѳêßú`ý ¯¿aãÂú ëÏú{3¬?ëïÍpüÉú{3¬?ëïͰþ¬¿7Ó²>Ûú`ýYo†õgý›…áïºàýÇV£ß3wf°þÆëol°þÆëol°þƆCõ×}nßôõ:G~|ʾeY Ë7YòÖDÕýñ)ÖßÎp¬þVà7ýª—ö›#1‘æù7ü S}‹nYJ|ÿ…õ×cú&…þ;,uÒÅü­®úß0mä;§ú¯æ±þv"¿Ïeå?ÖŬû Ó¿sJÿ9·úë÷ðÆêoUØKÍú7³ìAšóÔ±ú;sýo˜6öS)Ñš"Æb"–ZÉ'Óo~Õ©mSß9Õ–åó¯ÓÚê?ªÀe‘& \^ë"yŸ4Í1ÄHüfC™\L D[è2òHÓŒÊ&Fžå*†gâépÿo­õ'„BH£ä#qÝëÿ†§Ö"0ú ogL 1Ÿ å.By‚ØÁ„3Ä@|&#ñ»?MtH8Z½ûHÍŽC5Û“ªÀ¯ª·í«þqwåæßKkYgö|?)£zϱ”]Vþ÷¤ê_«Ý'@ñÿ“ ꃢ–õwvÀväž¿ëH5Ê.ÙžX…šÿ{wêÿcœ×ïÿ)+CCW¦85ß–TÝ/_‹ŸºnõÇ®0ü£ªá¨Ò@ÍØU 6朗†×?ÊòÃâk¢´_oáõÇh{¾ÜùM|Mîÿ(>ÊвIíàõˆmôˆ]³&J;4´‚oäá-õU3'T¬eÎVܦ{ÌœZw­þ–;íŒ3QðI5(µäç}U`ãî*­EváÏ¿±‘jÆ–=¥GPä Eñ¦²£qKL¹æöÔ_–qëE›°ª+ZÐ%¦úËæeë­þV] M£#<¤þ&ÖE˜zA÷t †©/â÷´ç ¢îþoÞ«ëO(º#@¶ë-ÇÊ9ΰ4Ï×—]+¾ XÐN£Ÿ-¨{¾¶Ï7ÔAN¨¿v\è[´¿NÊwÃö 1Ôס˾ª-ûLõÿnWåwFŸiÎcª¼pû¨u uøÛÿi¬þºò[öÕ§Úéuû¿ œaá$W㿉ˆ~Ø_ým|•FìÎÊõÛËk ­ŒÅnôµÕ†¤u{Dª#sýå‚ô"ÄHò ñ^\úþ i’1%.dT)i‚'ʉ‘L8C Äg’ Q&TÛøFžuÊäb—ÖŸBl`¸z;®}~7~€çé Êp!}RIǻ҆_€…B!„B!„B!„B!„B!„B!„B!„B!„B!„B!„B!„B!„B!„B!„B!„x¯¬ÚL ¤–Á`0 ƒÁ`0 ƒÁ`0 „2:×åŒ*ÐQT÷f2D’%þÈQ'²Ô ÜT[d(}2˜7sD{Ÿ|命ÕÕÛô.¯u¼_´<¼¤Î߯èú¶57¾&è° ¶Íôj¤£týMË厘ZWsË;&ô7å&L_ÿFШ¿yÅ_ê€,$mgÖeT©ÒÃÔA>ÓϺ¿Yµø«Ì®ÁþjøDVúN>ã7­Ìor±Ï„re|‰ò„úwL nšZ&™[(þ¢%<ß´s¢ ÏP‚÷)ÉÈë1€§  |&æû>™”'r”QÙ‚ð,ØHɰ4AX*ð”¬ôIJ߃L ‘î;•Î_"elž;À¦Z!7»Þ¦š·Ö¼Írã±å‡I`œ $ÒígÁe›ªáR´ ë –î?4uÊ’œ¬Âªæzï”×Sü{¨YtýMdqû&åæµ"Y÷ í3aéè$R™–\ðÖì¼&ä<ž9(kJhæÄG3Ÿ Éß dŒíÒGÜ+vOê [“»6aØ}'’ö"‘ˆÌå†ÍÊMŸ*½ä¦,Ä.”nÎ"]îQ¨pá;Ïø$æä§ËŠ>|­à¹ù¯GçÿyZÞ+Sò^ŒÈ?>wþ¸Ü¹£sfÈŽËšÖ/sÂ#©áÝúܸqÀ=Yù•¦~¹s»[s1m¿žTe€È%ï•É'?¿xí‡E«Þ(\² à­Yù¯ÍÈûó´Ü—'#¼&æÎ{2wÎèì™C³"f>œ6ºûÞþ·~qïeâY¹ärÝvS.šo¸<ë”!PsÉ3 YœXýÎñ导ùlþÂȼ—&å>?.gö蜙óg Éš6 kZ±×Mx$cìé#îÛ;ðöµt¹<°W sÁñbt.93‡.™_¸ôE$r*n›h™5:gư¬iƒ2'õÉ”1æáŒÑ¢½ôß_¥‡wMvϾÁw~õðÕ ç"Ç?îAf¡ËÇ{ÁëÑo>ƒÑlJM¤oæøÞH$}Ä}Z{úлR†Þ½oPC¹¸sk$—¬É}ptˆ]ëåɹóÆi›918óÉÀŒQX|KzØí©CîÜ7èö¯ºJäò`’Èå¶·îcZF–D,¹ä.˜ ×Âß9cr¢‡k£Ã’È ›ÒÜ>¨KjØmûÞöõCWšr¹?©n.ùnBë ÚÕŒÄ?Ù6%Ìê¹'q¤dÏ–5Øê™1sÈ-™ß˜1ðºŒA7¤=Þ%±—uÝ/·ä"»O—nÍ¥ .Y"—ÑÝsf É52ÆõìÈìè¡âsj_˱3òάa7g…Ý5蚬Aצ¾þ@¿ë×ÝßQ䘬<|ÈÔ5è—o©'G®'¼Ø‚9±ó ï–õô€œg†ç<;"÷™pØZöôAVý’~sÎÐë³_•=誌WèsÕ7÷¶¹ôHWz¤Š\n< úEäRêV,Äö¤=~ž;²£#‹œ™Ã²£‡XR˜('Ζç¿>7ìÊœA3ûw>øhÇo»þQ䔫ôNéÜ,r¹ì]qÊàNta{Rtɘ554{úàìa–D¦=š3¹gn„ÅÇòÂ.ÏØ1³o‡¤G.޽ëS.½£å2áŒË«CË(¼ Û“òØ5é£ÈŒx4kj?m³³§=–35(gR܈ûóÇÝeI§ÿ%Ù!ìÑ.öŽ6"—¾'ÄY¿LGŒù‘Kµë‘IU×ImôilϱÞ ûE:å?'™œ=9({R`Nă¹ºå½=ôMh?õýê¼Ð‹²zŸðÿonñ5å˃ùâ¹L®q+Z‚cÏ`{Žö¼»YÚð®cʘ9>0s\¬qeëžýd·œ1wæŽì’7üZì`è”Üv™þîõ]w³Èe`©©k Ì—½ëyÖ=ÔÏÛ“Ôý¢#ÁWx뱡J ¿7uä}©á]SGtMqwzøí™Ãºd†]›5ðò¬ÐYÁföj›ú ïž?)_ܨ˜r‘é us[.õÓÉ:^³«ß­qvˆëue|Èõñ}»Ä÷½9¾ÏM }oÜÓçú½]“øØ•‰v<лCbàE:?ñþóöÜã³ívå˞׊\†”ÕÉ¥Ã[Æ$¢æ2eEyÑ„ïBnýôŽ ×ÞsÉ—]ÛÞíÒÏïi¿¶[‡¯ºuøºëű÷\øíÝl¸+ öö6±·úm¸Åçë›”µ=¯Íß?eiqý\Ü~¤XÌÍÜ©)ï•Ö63² «‘ˆÿã%uŽ™‹{ÜÈó¯ZyS/°þ΢ç_}ý•ºOÇâ¹`‹î&ýÇY]ÐÐøSÝçKÍ·Ôy²fýÝ žyí޲þ.¢Ég^Öß`ýYgëol´Ðú·Zbý[¬?ëïͰþ¬¿7Ãú³þÞ ëÏú{3¬?ëïͰþ¬¿7Ãú³þÞLKüüykB_ÿµŸ­ nF_£ß‹óÆ ÿxŽÿ¾1^ëoxýÛvMbýYï„õgý½ÖŸõ÷f8þdý½ÖŸõ÷fXÖß›ãÏn¬?ë殺þ¬¿7Ãú³þÞ ÇŸ¬¿7Ãú³þÞ ëÏú{3¬?ëïͰþ¬¿7Ãú³þÞŒ¬û¡Y² Ú>žo%´˜8µþö=|ñð” ú:/(É6J¯£M˜ìz5EàѦpÊ–4õ(¶7²ã×Ê5«¬6O8Îê¦pÆ£\í0Ny”&“µ½ø¥+”o£0úû ƒÁ0& ¿²—cø !„B!„Bq)­ûõ%Ã_^kW¿¸jxý]š ‡ëol°þÆëol°þÆëolتÜ¢ ÅA‹·˜Z‚ÅÛ˜ßÆ½¬Ca£þQJϘ89½&*r ëYÿˆØ:-[b‚,‡CüâžæƒCvS{uÇŽ¹E‹Ö¡¬¿)lÔ?6R­ŸÜómìáë"ë£c¥ï´FÖ¿¡húùåÕzA_ݳƒ¢UØRj}XG¬¿%ìÿ˜÷çwf}£Õý¿©°Qÿ ÍyꔽnGä%‰'«{E)Qëê=;Óê…úÇXLÄR7ù¤€gXÓ³¦##´¾ÐîmØXÿzÁó/cƒõ76Xcƒõ76Xÿ&ƒïÿ‹±õ!„B!„B!„Bˆ+XûÙ b F¿ÿæíaøH!„B!„B!„B!„B!„B!„âá(¡ÅÄHz%«m‚Àd'àø£4¹»6õ¨3p¼ êz®þXpÍê¦ø¸ ®^Ý4M®¤éͰ{¶ÄÑí´#_;·¶ÃÛÄ@ŒþþƒÁ`0Œ Ã/€ìå~H!„B!„B\Šá/@¹á•(ÃS³Ñ¯¿šÂÕõ7:?OÖߨ`ý Öߨ`ý Öߨ°Qÿ˜ E=cÖ- ZÏú;5ìÚÿ×E(ͬ<ëogØQÿ5QØùã’ ãÔý_üˆ2QëÔyÐ(çaý›MÖ?6R Z¼ÅTdY­Ô8.”ˆXÖßh¢þzç±ìÿš™ úϹ†Íú×-/ëï‚°Q‹ó4Víè ÿœkب”~ø Ÿ·ø¿®QëÖÿœ¢Ùç_qÍ8 `ý› ÖߨàëÆëolxmý TÃ¥õ÷X\—5!„B!„B!„BŒbíg+ˆýþ›·‡á !„BœN^NbfÊî´£;R“wɶ¹íQNú±È Ù9˜¯«ëÉNKX°ü³.#*=ç´:zyêß>ÎÍÜ Ì×ÕõÇ~‚ iÍOñGk;-Sr‘Ñ Ë?¯¿ÿ77_7Ô{ÂÖÝÉg[UÔlÝ}yÏ?ì`¾®®?œGYMM5P£ªPUUYQV‚¼NOq0_7ìÿØžJgZ §ËËJNå#¯“E©æëžúŸ>}êôéŠÖÁ©Så¥ÅEÇó³mÔßþ|ÝSÿŠŠ2•ÒV@yyIñÉ‚‚Ütõ·?_wÕ_>\‰sIz/DûdÈ{ûEcÒ²eIr†ï£ÑþÌ÷N~Ðòòââ“ù¹i6ëoo¾îª?6[l¹9ø^°²ô é憙j”\"1¡¿wЙ()+;yòD^~NªÍúÛ›¯{ê¯m¹ó@Áƒ—еx7$äÝÚ_«{Gié‰E¹yÙ¶êo¾î©¿¶åN#QÔ9±NãúheÆFÑŒâ/KtÞcÕ¥¤¤¨èxNnVŠúÛŸ¯»ê”–9Ä%!!Kë4¢þÓ7¢Å_6]±¾×i””/:ž›uÌfýíÍ×=õ×¶ÜyÄF+AËöëZöÇ„„Äì—KŽï_¤DÇ:õM/ÌÊÉèÉ“…™ÙÉ6ëoo¾î©¿¶å­€'ò ò3²Òب¿ýùº§þêcå·0øÌÏMËL?¤Ö?ÍÁ|ÝSÿ‚삂,P(Èn¹ …ï‹îàµÓ͹O6úãŽ^‡\Ÿ‹á—ìvðšÞú\Üt™kÓeœ}캹Ի ³zÉhS<ós.­¿$µS¯5­Ï¥‹3+Ñß›o~?Ó2íÚå}Ýf}.u/¼oyH—2>°<ØÜOê½êu—Ï45Íܤ]$Y×"®Šl½È\ÙôZŸú™^ë‹+36Ú¸ïÆJôzu6%z£¹E\gxï²s‹v©aý…ˆ¸±s®'\7Ûà5·[®É¾$Q?›œ¶ZP?¿õ¾çzñ^Û׿ÕçÒÄÅlåõlµÆº×¶m¸Ek´Z‰U‹“®s«Ï¥ Ã*Ó7˜onˆž¾ÁrUXóecu-æk–Š ÆFoÐÖ#.^ª»y¼X¿ˆS¯[7[YU¢cѲÁlÒÁÑQÁ–\ê^úK³ên*V‹8õú«ú\ ¿T©ƒ×2Õ{²á—ýtðº ú\ ¿Š¦ƒ×ØÔçbø)¼^¥>ïîèàµõ¹~.oçù~c×Q¬sþÒ¯IhÊ¥5½ÖÇ\< æâ™ès1æ_N‰ÜõS.çx}-Ç/ÒeÏ•¾ìx”î Ê?*×|"r±º$ÔÕv^«Êžk^¹E˜¸òn¾v“«¹îbœ,ù* Æ¥ÐÓÊle¦r—ò þݯ<„©®ê}>x ^LwöixyoÎV·ÃÎ3d3 F+ú¯óBX´IMÿëã|höS³ž~fÎÝ‘³ÕsæOŸ|÷S³g‹{´rx±ô¦éç}.SÿO-\Tïy õ¾¹¦¶¥ç‰éW¯ÿsy’î\tÞyí1u™Ò­í’;‰¶ .So?¿ý&%9¿½:ßuÇÛ+‹b^|ó܇ùÔ-Ð{îyÛÊeÂ^ºA¹÷‚†c™¿dû&}òþyâ]Ìûe›%/@b¡&ÌSsC»­û퉀ë÷7SnÐ6h;Wܾ¸nÆëdþê'—Q -yˆÁJn›Ë”\Ô1×TKQÛ«Š,¹ÏZ¦(æíŒùä<µÄvöF}EâÿPH¬ÓÇïbEä²qé_^¬×7' nÂò7ª!Ö%–eª÷¦ÇŒÙ(kóWüÿÁ·¢.–õªóùüÙ'õž¿½ø=ct¯áóô{•ù1c oRGTW¡?ª‡Ïë¶ŽÞÇå6.BŸ‹¨Æú¾ºpè<±"ΊÜ0Ï%˜ö³ZîâßoÒ–½·/PäÞn^—±_ˆyþ¦èG/—)!r[®*–ùžl#óù]™ðø<1Ú‡"W¬ûŠóÃç݇z‹Û ŸÎ;OŸïg¸ý†Î 5Ýÿn_ˆ¾O=ýõ²%/¾w™Ü·Úþ²mžX¡xœ˜onP”WnPÔÿÅ2ËnRvß7|Þ²"K?ˆ¸ÿo(’5ºõìMê>±èâ¡êþyúd{%·Ç~øê‹S ór¢ý:ü?ù‰HÅô[¾Cç}ï#–=«nþ"´­ò•ëú¦7mZòb"$ö#sÿš÷e±ÎÞ¦ýKyÅG1ïkß`9óô˜þ²»Ü?趃¾Aß oÔ÷ {C"OϘ8uòlóØÆÖÑèáäÿ‚"œrq=jxœí} @TÕÿ)ªWšKe™™fV&¶h*&Š *î"š¨¡b*j.½zÏüÛúÂÔÌž¾ÊÞß‹¹¤¹Tæ’ôÜde`˜}•uþ¿sÏ;w†apœa¹Çß7œ{î9ç~çû~÷;çÎrŒ»_ö͇2‰YJÜH­þNâ!*sƒ¸î#dþ¸@jõz½áüí½”ZDªÔ:[ )9-'Kð/Š€|ùò1äÈ¿ ŸB¢!› ŸA6C¶@¶B>',Æ×Šxõo”í€ì„üòäkÈ7]o!ÿ…ü_ÈnÈÿƒ|ùòäGÈÈO½}ýŸ!!‡ ¿@CŽ@ŽBŽA~…üùròää$ää4äOÈH ä/Èÿ g!ç ç! !±K8H<ä2$’I‚$CR W ©4ÈUÈ5H:ä:ä$"ƒÐ…wDɆ( Jˆ ¢†h Zˆ’É…äAò!BH¤R)…”AÊ!7!JH¤RC}á… »ÿ ëvè±aß7ög¸Ù+\h$pû/u7ù{¥-Ü\<¹hâÅ5¡¹»]?»·_{ZÃïoqû„óí‰öÇîêý„1É…‹°äã.äO\‰Š!m€|ÜA‚{;‘¯¥øæQ>S¾¡ÞjÔzª}cÖs=§L4yÄõ)i‚GêE½=×ß›-&²±šu›[nÞ„á[Ë·\æßS>Ä=HÒ¼=ãÛçEtºâ©}­€Â"¡- ݇üñ,½Á1!U“#¡Í”ø A€Ä bH| †Ä bP><Ú>\Õæfäæ« ‹sKËòËÊ Ên”ßF”UVÞ>W)nV–ß¼‘›ßÆÇÛX>$)5xýaûÛë'÷ŒBZþØé¿/Ò–”ä••·ññùп-|ˆËT|½qÞæ¥£íý6&>¥¥ãL|òŸqɇˆŽ ØõQ„®¤´7}(}kËv>\¼!»ÎÿïDJFVÒ YòLdZ. BzFì•kÇƸ”…Åm|¼åÃ…Y8J]ŽB§ã£lÉÀ2Õš«YÙI×eWV^aoÓø +(ж¨óò3ÕÚ´¬lŒ+3¯ ×ÈÛÖ“Ì>9……¬Ô  ÉÏ—kuײ—¬>´ñ6öù‚Ù'·¨`V²#|7' Ÿ¿çŠDItRa´Ÿ_Naò ‰ŒÛìgß‹ÂDÙºœt¹Ò ne¼âAˆ¤Ô"‘‡ØáÂH?Œ.:)I£0^dØ·‚˜)ćÑ~DÜľãmòŠŠ€ÜÂB;vÃHs “r ®ßìÇìƒÂx”ømF‰}/ ä`UpÝ*š<^ jÁ ±ÃE‘‡¢“± CfÎe%l¼ñ…Ilî¡HÖŠYC8ª±&ö¯À‡TïF¬òŠ‹vרŠŠ|1ä¤-BItRQ´¿?µ•¿nQ’ï–$Ü\v¼¢Ü2ŠœÜëÙ*k|hÒxëŠË—ø³B³1Z, …C‹%ö/øðMãù_R0+Ù›’‹7ùûç' %‹‹‘ÈMɇýˆÿ¢-[6ùñY;&RææÝP¨­ð¡iã­;(¡œ}; ãÚ”œ,TcMÄ%fõ ÷½M˜ÅbÏ·>Þ¦ñ¡ ¤È/.¶>K.þÌß?¿8Y(“ÈÏÀP"?y‹/'&Un^†U>4m¼Ôbh^|¸¾ ‹Œ$ŸqîÎ?ÉJ>ó' ÅÉÄ +LÁúa†ú,9ÙÌ\öoÓøPXZ 0+Ù‡JJüÈ’‚”­BÉg)%tà))씟µ#`"<‚É”+|hÚx1(ÿ­uÕöÛšÂît,q–”,ÙÊ Ž,aaßÚf%¨ÃB„¸IAIŠÝÇ+ð¡QëÉ¢²²"ÎDv„ßçW6ûÃòW?TZ k$}î¿ùJéf"J^ùܾe^ÖäÈTZ+|hòx1¨H‚Ae‡‘KŽ ù[`»÷úÐÆ}ÞÍìS\VÙþŸ§ ³$È€’-©e[ü‘IE>ò(ý&{ÑÑ7í{Q˜H[P˜©ÖYá팗©ÍÒ/o»è,6‹}ÇÛ4>””••p&jÀ¯+(̲ʇæ6^Ƈâ²T»WćF¬ÊoÞ,k-(-/Ï+,Vjs­ð¡íŒ|0¬Á‡ÊÊÊŠÖ‚›••E%¥Ú¼+|h;ãm,Î_ÏD?Õ55ÕÕU­•UUE%eWFï µµñ6!>¬ŸÜ3ýÒ‰ÚV”jjk¯]:q]Õæ¶ññ6ßm]³ëíëq'³qE³NêŒdŒèû­k“Uš6>Þô¡ÂçY6ñáRFv|¦&jeß'üúýù Ùj ·±|£`"̪çÒeÀé”ôÛá*âÆU÷~ikãm,$´n\÷‘ø Á‰Äø A ‰ĸîcþù…³Ž¥äÌT—Û¿Û#¡mÂ"œ²$8¢ïGI| ñA‚ $>H£±ß§•к!ñA‚$ˆ!ñA‚×¹ÿCsÀ±ïH¸E´2>8ûmÝ–$>´îtS~­ð¯#E玟;&‡¥g2”œý¹ø¯E1ûËäiz‰­=•œú±â‘ªKÇ*/ý. *îXUìáªØŸÊ *ÎýT~v/(¡·Ê‡ô¡ö\O¾w1ç=_ßTMœÄG¦²?ªŽýµ:þª„Sxe¨J<^x¤êòaŠ8°b((¡—øÐÚå8xš"Y„¤_A ŠËÁ‡Ê û0qèíLJ!ŸÆ ?UÞAPB"°Ã9¾`Â{ãØÿ‘G¸ÿ¦.Us€5dÕŽê[·¾ðÊX$0 ™!Ä7õb´>ìÈгÿvpô;X9‰:Á £¢vèõ¬rAþDݶ;«ÓB“Sø2ˆ]<'âÀ{~ÄÙ÷|‰Ø³söÁ³„yv<«9 Žâú·ÂÁÝ'èn¥?%. Ø‘!øù¨¨(‹+;Áy·!•ýïeBJŒ€šä?7ÌèLaVX[êíŲÐÌ;b—1?Š=»ËÐÄ¢‹Åõ-òÁ–ùBìzápGFFâ+„ ¨PqBbG8aÖ°¥§²³‡ª“cİР¸t¨Œý¥øÜ/z;ñÁ¢›à>a‚0‹uùP_}{ñᜎ»N¯3D Qô· @.c‡¸áþçTai‰©ôü‘ª”³<O dà)Á‘"öpñ…cz;ñÅüzÏîËÁŠBPÂæ‹.ê «ŽÔ} Íf™FÍzC 4 \N(×l±¢ìÂÑêÔs5©çQd8%¦Du쑪Øc%ÕÛk¾ð®ëa…9®çBÁ__â»ÂÅDZ˜ôf‡XOÖ­/Ä-´2›Œ5_às†x‘)^Iž¨CÄ Ñš>ˆÉ@qé°Pb>ÔYOZ fsŠ}B-òù·Õ,•Ê/¯¾K‘zŽº>õ¥Ç¥ß@@ P|ñw½ýž7ÌÍž7o‘M£ŠÅçM¤¶I¤›ñ'ª¯Ç×\¿T“vÞ¸H9 JÐ÷©bXƾ|h&Þ2Kå‰gª3“jd—Yˆ`¨J>[ÿ(! òÒïÚB’øàl4¯T‘z¾VyµZžZsãr͵Kiç)+’cªNƒàƒדÍÌ"C­6“R‚‹4P`9Á±¢*õ,@ß´L¤¶(>H¸E´&>H¸}ø A ‰Ä0®'mûÿX%´n4öÿs—к!ñA‚¢ÿSZ?HhœøþIóѤդ[çƒ7=k&š´Ø…Ú¤õ¤1®K| ‚Ä bˆö3—ÖDë‰$>H0EKäƒÓ¿LÒ Ð ZÐûǤïËÝZj€H|h[I⃔ÄÉ6>´˜÷$>Üb²Â‡ë>Â÷åZb"¼§zÒ>É|ÿL[ØÓÃâîal¯ºñ¾16î"ñ¡iÉ‘|Ø¥gšíd¶Û˜v9d!ÛÄØ¡m|H‹ðÎÑÇÄDl`Î*û-”ÊI”Ë5rùÆP¼ÆD„R?&n@yÜor+uùFx\Î*È5ú´TŽa‡hÛ–øpKëI׺Eƒúv3ヘ9/rvQÅìŠa®ÌÑË7àtxSðµpÊJÆ.tÆzè÷=ŒC}ÍéH;¥~cç ‹þ­o·±º|ª™m\Ù Ê7ÈwíNK”3ß žey1Ì2uë˜õ ãI½â§zÒ>Éa|À‚a¿î®/f»áíÅV˜/æ`¾à8Шý'Ùd±!w.wïß:„É)‡^bƒÀ„¶°~ñáV×söűM„ŸZÙmìø¾…lŸ1a÷0"XÍTÛÖ˜,Òõlm€ ßd>€lޝF„³Âü’ƒ«´úø`|¿ú–øGñ](^-ܾ]¬>`ÀÖx 2õñ!kB ?ï³5dÝ:úÄÝ,!¢ ‡w‹×¨XlÄD„:ÃvNàîîãŸúò±Âa|àxVæ}‹aAzÞt ‚‹…Å¿Ä[RkåCƒ¾³# $>4[HïOÞb’ø ñAœláCËú~”³-Ú²“-ŸwK|h;©õñAÂ-¢5ñAÂíƒÀ‡«/Ü)ñA‚Ä bH| †ˆ-æý ·W“ï»K|ÀCâƒ1$>HCàCÜCD6˜ÃçÇàïÏa¸k½ðçë 2«/dœƒæƒ‹3p»†ï§÷%§ú“Ï:šðá¢=+0!u4aHtay É â‘9Á˜gÀÙ¶Ù‡c ‘±|*ݤãàÃãêPÃá0¬¯iƒ(Rr¯/Ò ^á}í@ʇ ñA7†éD¢œB¡›Brf¼0R4‹†»1”,0¢ˆp1CM8©˜ëBFŒjÇÂñ¬˜Á]w¹9•”N#ÅSHÙdR>…™’Rlxe ‚IþXúÊÎ¥ÈiŽº|È›BЦó¯…an@ÙlÞõ Õ‹xT-t«‹ÚW ’±Å±ÛÌÙ8ƒ¢lº{ÑçóûÙVuŽ¢0z^Ñkî” #Lø%âCi˜ hPî 0&Àû5KÚQ,ãQ»ÔC€~™HŒvÄ™Yd}gOÝO§4oV°HâmóâSòzûÿrÏÓ»ïï·§½÷ôÿ¾}¿ï;ôßÓ¡ÿO÷yï½§ß»úþìùì!>Üzpyòybo·!{â’´…›ç±pa‘ ã»é̘PUõPžøÐ]¯—}ù•,g”—•jõP¿‘èõhÞ:ø`F Ƈš\EïQ±^|xèÅîþq=GÆõ÷Ĉ¸#㻸üèð„‡‡'wz5¹Ã°”{}’ï|9厓]ú]&}Nwò#…u>°à2 þW.¡|`N·À‡úÉ`ÇáߢC[ê’€OïÚÕïZï±×ŸãùŒ&˼CdÞ“d}'eö Éê9!»[Pöƒc÷ø)Ú Ív(#Ï]&=~0ãž/º‰æ‹YD3ÝE9ÓUæ¦~B3×C;ßC÷†‡rž»b¾‡ò š™çÔ€Œ‹\( Áy}—»0G¤E˜”ÙÙ«v–§…OyîC>ÂuöM ìì™§ø±C…¶B}ÖgÚË^b‹ µ<­4Wfú4Ø'ÓE¸3kÂÝá”}Aü©í(™î‰’3Ó#=Ó›¯v;VÕ†õ|úÀë=Çȼ'f¾<]îší3+{phöË¡Š¡Šþ3•ÏLWõœ¬î6Qó`æþÑ/µ»O¶ëó).½ö¡­°~øË›ò!¥]OªÆÐg ðaÓ°N nÿá öâuˆÔÁ[HœÎ[Œ=_Ô¾G/^´TÍÀã†|.ÊO …ùzýö •Ó<õêizýÞÎ++溗ÿ‡ðëµ¾bnÿœ2×¥z½IŸåzýúÞ+övöªš‹yäÄþSúä—¼„ʺ/ˆPsû''à£êµž›ãŠBåZ½þôÚ§{{ZìS¬Xåܦó¾Î+«ÃÜs¶{8óÖŽ3½¨})Î>cä¢ ¦|0ºR¯¯ªuZ£×ŸÛ¶üÒ$nÍÉ->ßáfT óÖÀU4 € UÃVà°öHχIF>T†¹#“©?ÝktE˜»Éƒä»Æ>+Ñ•z‡>í¼"˜'﻽D5e{¾’ULòÄUn¢ZÐNÝl/‹Í‹ ¹ìø)=*£aµ:£",€©*î“5c‡Lçjêz =TÅŸ”13Å->o Àó&{ädO”pÇ£Ã3^š’2Œš¯|4|Òw¾jð\Õ‹sÔφj…r„ˆ{ü•^ƒ¯x<}‡p=ø€9B˜/À‡lDŒúž½82XêœÝ²ìA|£7&Ì~²×èÒ0w¡-`Ö§p˜kàC‹^´æ4R{( ½í,æ^1÷¬fÏùOÔ©\Ë7¯úaTGñÔ–Ùߋﳿ³9ë‡*Ös4º-áŠ×™]άÖð‹!î9_ƨ/|+C+Ö•&…!¡ò€ùŠq‹”A‹•‚ë_] ®ziŽZ(Á”Ñi¬ºÃÈìû^I½ëYÊF†ô¾äHžé>”Š:eè¹°Ð %PçâçKcƒy20ÖÎê‰GW†ªí´ÏõkN²Âš_(¶í, öd¶ý±óJ}²~ÅJ¦Agý% =Ä{{ýÀ+TúâÉÌwö…À„‚` \ëé×2ý_Ï·P9~‰jÂUp¤‘>á*–),­í>QýpºK ªËèìN¯^ù›÷Ï(ÏÆ¿_Íøpö1ú¦%åC0χ âø¿}ñÙ Wöγ^ùj“ÅÛ¶Î^yã<ùÂoe?àp²{õ!ž…ãx>üÐyeÉdž¿÷:XÙ ú¼1ØÓp(ûá+YÉ8žì*±ãHõþ€î†EÍ’É<ÊyZl^½TÝÊ%ÃÍû,g¢Xád"èŒÔí¡â_è. òÆ­Àå~ìn6œ[@“»\±ÿĬ1o(&¾©š´Tò¦¬\¤Ô›¦^!ªîãU]Ç)»*»Ž•w‘Òþyº~R_¤ËðÏ›b>hCÁ‡ä/ŒŸà–3ÓÌk«k?TЭÞ‚åq6,†éz®IHf?Ú ƒëåÔ¶ßu^©¢|8 ³¯ï<u.x{é¸÷ÌRSŽéO­tËvr.@W¿†îÜ?Ùs}ÐJE( 1û2°¼gáZû¯“¥«,4×.ÝÉÊYå´5h¨¿úþI.öÒ>úLxÎK¬X"³xKW¹×í¡ê`¬·~2Db¾Zù]çÑÚwXÕ^Ó€ËäÔe¦Êƒ«&/SO]®ž¼T5>R¡)ZK<3YÑk‚âñ Å£ŠnŠî㲺Jéô"}¾`dÄ?Eöô¢|øý!’ðý°#+ˆ~r!ð¡AV\Ùl$|W¼†7þÕAžâQä…PJºås|Ð_¤ñ«¾¼(ñÙÂX½¸-sœp4Ó®Ú¡åçÍ¥±zÖ–µWÖn;a¥¹Ù©¼ƒuû2‚búØ(¦³6$Êbâ‘ ÕìE0ÕÇkc¨Ë†Ì”ORÏ\¥ž¹R=u¦ 帅F2°ôdpvײ+š^ˆñ¡š32 ]ûÏšD=Õȇ”AžXXî <½~kÐNÅXZgýsC¸°œ¥?Òs´"Ľ¾¶ŽGÇ3ŘÎÎÑ3Xô1ëú¡§ŒãÈpEØõœuj¼NROŒT 4ÀC¨"0ëñ1Y=³ž ’=56éá—÷2>€ ˜&Ìø ŸÈó¡npJj¸Çm¤Œ]áçƒ]53]Á†bÓØÎ`Æ 1p»!öîî¼¶E¾H¥W„8f0SL¬³ƒ™ 6åC  üC±^þwMè*ãÓ„ßìlŸ™Ù/M1RâÉqY}‚²ž –õ LìúòO(aÁȦ HÂ`Ê‡Ì ´ó,>d};|PM# ˜kŠW›g$ÍÁ ³qˆ<ŠU;˜mˉrºÓEªsp”à Ã"°ZˆÜ¨{óC(!?pbäÜìa³²M—¿0)K(v|VßñÏ&>2ˆçÃÙg(v?AùðcúFeÂ+ô{/² ’žq)-áØÕÄcWÙkâ±4 â55îpÚå#©q‡ä ?$}2à|ópº¿Z-‚-|ïHà(VoÊY·9g釺ÓËQBW‹U Äˆ¹Ù¾%N¥Qâ§ßнC²úMÈxfœ9X|Nõ§ßŒº2’\@.,$—’øHry1IXævy©ûåH·˜Ð×%D±mX\)Ûåß7¢‡±Vb>8‹˜é RÃì{hn^S¢ÔìÌûä›üw¶æ.å¢ÄÜ·5¡oáqC5q‰*x±rÌÅè ÿ׳_ ËÆŠâ…I²>cº¼DÿGNÌfññ!~¸+øüÖ]éït¼¶æîk«ï¼¶Ú3}í=éëî½övû««ïºú–gê2ru•Gêr¢ZKRçÉ æƒƒ]ã8ž€Ìô;Š2é.ðiø;šmß|¹§¬X³)gÙGºÅ´XQ„ÿ‹LÍ최÷%ñc]À cɆ‹C‰f….ÜÅ ¬\;ÛEJ«Q8{Öh |`Èñaå'9ÑßæoÙ]°á˼Ÿè"7‚ Úyïh@†Y«Õ¡«ÕSW¨'-SE*G-P Dô‘õßoÌá ­|> _—õð!w> pƒƒ¢ÎÜ!Á^¨(æ?£„jÓ¼ôÌÊåéÂÖjB–ª°¶ ˜§xuv6f‡¡³(ÏÏOÊúMÈê(ë6<ý… ñ ©ùç1>éC×_w¤yúi#¶xóJ¸}€ýćzð@ž¹I Ň̕˜×t`ß—.žBß4›M@ ” 7¸@v­9×oD±Õ‡bÛ+õ‚Up0¬ès;Ðƈæáµ>À}f`,ZÓ¡z‘GÂ+ô ÉúÖXH0b“ ƒŒ{òeÏ¡ì•ޜƭvBËá£jGÂ^ß1°ÂG6ƒÙ`Í-`øø[Ç}ô)|JËÇp†Ž¡_iäÜ!=5†~Id0#€±œÆùŽUÏ)¤ÚÆ®•¥Ôª’ !®æœøQwgPQJNH.”7Èwˆ¤Är'ä.ˆänÈ={!ƒÜ¹ÒÒò¤#¤¤3¤ äAÈC‡!]!@…tƒ<éyÒò¤'¤äIHoÈS>§!Ï@ž…ô…<éñ†ô‡<ï"Ų¦¤7;BÅ~¦†äSµöC>á%΢bžî ,Py——~{èIJ¤“¬ž1Øœ|•Š¡oW¾oš ÷÷¾‚ö¤K^ôºM먮:ü=÷çéU„¼ÍU¼„|»3§WуÇî#†¶âDÆÄºŒÈÈ+£SyÉÈ„L2-›„ªØ«Ël- Õi*2CC33 ˜¢sòŠ©j{A°<3»Çü’vËj:¬Ñ?ôOŠôO~¢÷þXï½E?h…ÏVŠW¶Õ VÁÁ°¢Ïí€5Œï:Sã».*lU û .èþ¼ðt´pƒ¸PB@cŽïy”E&\u ×d~.|áY궤!ËkÜ–é–Ç«PÈ2¬Ðci-nV³ÃeQ­½ÀÛL,™–a‚ü ó¼À@}QèÙ%F„J°¤ÿ)2:ÚÂU"^àñF‘Báü\Z',ÇŒg@ÓRû¾çéš§û 0³9-A¶bK ,‡€)J ¶â‰Ý–ìŸmÑþ‚ÍEfWq+R•‰åCŽÆD¹C¥¸½ÐåGjŸ‹®Ã©ýïz+¹ã;éw¯¹vçêkž«¯Ý³6ýÞuéíß¾v×꫞o]%ËR=V]%ËSÉZ™—j$¼˜ó6…SpìOŸ¶@þ…ÈÂË$2ž,¾ì¶,Á})ò—Éâ8úº$nØ6‰ˆóßUVчdB¬…˜ãxò·tþ{ÿE^I`¹—2Ò%¤K¼z,á*}¥H£%8LH;—zärÚ¡¸Ôä>I"AçyZ:ú ¸@'ÐUЄLîi̦ß)Ìù6Ë5ØÔþ«‹3LßÍÈ8¨1»\ÀÁ*½¾jÇ*šŠE•²(§[ 1àuV{ö) K§öŸÈ~^bÓï†ÂweÀþxj6¾›ÁÙ_öÕ—wuY/ÀsPJûçí Úê9–%meçÝîl\ª¢g›×²ÁEЉu¶Ï%ÄöVìßðïøüçš[p¬Û̀ΰÿÞþf6¯Ïþ8tn½KÞ ô˜3ºç»Ë>° ˜Ag{Û?( 1Ä`ÿ†W±ãŠÈþ9ôMH£ý¯’­y;Tâ°”¿3èóYþf”ÙÙØB“¶«JMcb;UH-[Ê·e­D•Ol³ÞÜäTÆÁö÷—·CÎîåïÜ'«è¦J™1£;Ó:^ÞŒo,s} 1må)Î}ËÐ-g+tú«çäý+ƒÖ{…*P3c_ŒggvýÉñ&2o¾”/g•½Ö¤ÑÊï_åíOû<Æ÷ù\‚‰bÏ%îÈ2èl©îî®Ø9™»ÖWhõ{£ì?Eg»ýow :ëVéE«ËŃõê¼ Fæ ¿ýÒ«óî“óUsüÇ©BÎ/ ÊKN°aöüuLÞi7ôé9ø;”ÑÃ<ÇqMNíç¯2.6`?z.Ù´žÖœÌŸõ\d¹ù(‹•‡›÷é>ÎT±ÉF¹Ôéá_ìnX1Ž*ï>¸Îpê¢[ñI§öìoÓ>0K?¿èŠø3» p +%ÓJÉÚJ~°C3yÛéfS'׬g…¿Ôðö.1ŒåG÷éeü0{ýá.4dXWaÒ§ñPÇÛª«G¾¦ Æav–Úbógõæ‰v•aÖ'1W̨óŠK–zðŽø©ˆ?TUL.&Sì?XÆÙ_‹µ´i_¦å[κNŒs ¯`.È»û“Ã# dµ?-CŽÔröÿÂsRÙ5Ë÷° Ã0OºòÍMûæò¶z1y?àP-Ùö¸ƒ Ó* ö×ðõ‡ÈÅ õCWy½x©æÕ?Ó`ÿZYè‡òÿ$×m™Áþ{ —3ë6tò €²o/¸óýÔ)œýµ$XGf|GS¥õ}Ò–o;ç:é’Û‚J¸p™[AÖWŒ£"aTÑ!èÓVp…ûo÷œTi°ÿ^÷0.OíÚÝØÃ»â>YÝŠÎë=‡åìŸ,ÔäbËÏIì*7a¯Ù:ËÍËhóã¨L/¡®T÷i®˜Hgîrzˆ¯)cf K`ö£¢“ݬ¢NÃ6µüAûA¶üaû!b|`†¼å:=Ñ5¢p‰¨È{µ¦NÊ8ZIý2W~Ò¤˜³ÿ4ÑXPç?åüI d.õ&ó©(•¯è™M ¶z)ÙXù PïÄ'Û½:o÷\[_sqåÚkO{ö>m¹OÅ÷¹‡U“m9ÆÞ:ãÙëŒû»" ¨²FQžh jZ?Yd ÷ö¬"—é×™J·0•ÛëjÀc®Æc¾Öã û<¥Ç|…ÇJŠù Ò’¥5n‘z€}”GYg<;›Ü’ž#t´<"M\îÕùKÏY(Ôy>…ü>wΉdÂ>þìSgX -ܨÏ0}¦3Öçúôz9ÍÕPYÜ ½ôkÍM®ÈéÓ`ŸœbÃk$ô°Ýs:W2Ýh¯ÞgøjVðPœ`R„qÒTº-¬òXRÙnIÇRþSEö™£VnüT.Ò±ò·Á€Ìnî˜ÙŸ¹€ÚA¥Ç¢jØŸbYM]û[w½àþ¡žR¯Q9VªµûcÅ%Üì.ðˆ¨0÷Â2þŽ¨Ïøö׋iM6à-6wˆýe‚ýÙ+{ªân„Þ ‹ªê‚uÈî£Ûœ!Ø?ûdÿEGßO£3²ñÃzñ7T²5è_3X_qÝX]cØöӜٟº@F?ó‹sñwN!|ùÐ%0~ n Êâ1!Ó˜gÀÙ¶€2»Al¿8j΂,‚U ê‹:Ls‡ÁÅ~h÷ÂÕNyž!×s4©Éþ’ýÛ2$û;wJö—ì߆!Ùß¹ðôN“ì/Ùß¼³óXëC˲¿ù§ -?IöwnjçÚâìïãxHö—ìßbì¿Q.×ÈC%ûßû‹l·[S¶{cýö·Ÿ#š§ý} ñýô8xñ=_ß÷ân¿ý6¯Ï¼mÇþ¾sú‰¾èPû‡þV&ÿ-ŽšeW͈Ìò| î~˜òÄ‹uv'âdÎVÈ×å‹«ð\Ãæjÿ÷âöÍ!»ÄöûtˆaÓÎ5´n¢Ç ÷æ3—‰kò%†|=ö‡Ùõ‰i0цD}Ì®˜úí_Ï ÔÑsÍiaZ ó‚ÉY¾dC"ÍÜ&û{Þºý5©"8{Öå?s`R Zs×B2ç€Yì²Åþ¼¹@ou›fq‰‰UÐmZ Ÿ¹½ñÇ.öç­gbCC2+7«o²'’Á ÅŽ“e»wÉåÜ]`û[ž&Œ^hÖöçbÎÂO«šÎVìߘùÂdý¹‹~÷•¢XAƒ¶™ý὞:;bßg ›b K¬Ûd;Ä>`bÊv6X±?ׄŸØL#¶h®äçY‘m7$rå¿ÅY©c‚hyš`q6×7{û QN|쉘cÿu#U#ìïh4Oû;’ý›‰ý[SºÅùW²ÿ-&ÉþÎM’ý›ZÖç_­-Èþ­’ý%û·e´ë/Ù_²Û…d碭ÿ[%´ÿžï¶;x6i&šÜV4h'>6Mn_’âs!Í¿’ýÛ2$û;Rü—ìß–!Ù_²¿púg%müó—w¤Ï%ûÛ;Iöwn’ìïÜ$Ùß¹I²¿s“Mö§¿[1$öS#[`åëýMú¥˜Ñþ;D?Ûˆ:áLÞbjÐþܹŒ¿L9ÑÀ¯TnÑȶÚ?`G†oÉ.hÐþѾ¾oåv†ßÖñ¿³#ÜT-Õç!neÓ÷ÿMì/:ݱà™Q,o¬$îÂi©AûûZÿY–Ù/ìø`Å5±È¡¾á÷_¼Ù ¿ÝhŠýÛÖ)0žàs¢šæ8'5l‹1¤¾_ØQìZ(&¹•úf V Û_LËý`ü-Éö»–)ŠŠòòrUjE†û7q¼PC°Ráðby«Fiÿ| ¸8ÏnHÞäï¿)Ù¤ö_tå0þ–EÄü¬ÝPT”›—«T+nXµ“ÆkaP†rã<·)™«Ö(û šÛ"‰ï–$QIR´¿t{-ÊMÚâK"ØõŠ< srsªìëVìßÔñÖ—P(c£æ_ܳ@aa®‘´Ù—øE'ñ‡ÐœømŽ/LŠöã ã7ûq%v½(PP“£S(åÖìßäñÒA‘E‡ ‡‡"2ŽÈ0d®¤‘öç™c_pÚò)òWÈkË*0§ÄÙ÷¢º]¶RžnÕþM¯xP¸…QrȰ õ‹\è×$û š·äçktZ¹"ëšû;`¼6î¿Êôášh[°øÔª3³³Ò8ûg:k¼dªÚ&Lщgz¨#Á ú:FÅe\‡\É9‘M =TÑòZòJ‚Ùûá>[mÅ+ÛL€’A›L^ëƒ÷Çæè±¢Ã½Ç¢j¨D¼ÿôy:Ú&<ù ñ!ë@¾û&@¡øð¡šš0´[R)Åd0o(—Eµ¶Àm­I–× ƒW.•®án JÜ ]ÂJɬ"2{^„C¾$,ÇŒúŠ’-ïh”åÄ/‘ø¤CôÓD¼žC1[ç2[ë:Si*2EI¢à 1LȤ’.éd4JF^¡@Ê ¸@ºü}È ­ÀåÌÀ]Ú}’|Þf"§ª±åÌûPæ>,–ø\¤Êô?EÑñk~D B©xàAYï¼MªÊÌtÝGË5kÃTKC”ŠyÙ³_Í~Ý?{ÖP@>c05éyŠ ýd½Ó‡w‹ŸðB~j¼ 3Õ¤ÏÒkÕ‡YÒvöç”ñ1ÒœOVæ]°{KÞ—tŸ¬ÐnŒÔþcæyšusÔ«g©W‡ªWLU-›¤Œ R,•öŠ,¤üˆ‡ÇôSh+x}?FžØMî}»šPïg4ÉÈ}4ï„|¿­pÏ—y;?ÈÙ´F÷Ñ2í†Åš,Pÿ=*iÖÎV¯š©Žšª\2^16ûu¿Ì©F÷þáùŽ”0Ð癳և×A C>ÕQS Iþ7Ÿän}G÷áRíúÍÛsÕo…ª–OU-™¨\¬X0F±`4õ`Ø+òƒd“^HÛgÏK]¨> ôyì,¯p/Xâ­X™@9…AÕ’ñ9›Vçl^eÊ/ž¦%˦ªOP,Ìž;"{–¯|ú ùÔ(/þí§¬ïŒ ýÇ=óÓ G¨>/%ðú€?ЇÅvÛÁ41ÕÖmŒÔ}ø&,#Ü>œ2#³g ƒ2Y“^ʳÆ?›1¾ob`}kŸúõQ„[¨›þ®^*\:{¶_öLù”—ŒÊŒ{2+¨,ø™ÄÀ>?½Ü•×ç©x£}lÔGÐʨŒ‰>ê5ajÜMxš®Šœ((¶• |"kÌãY=eAO%}jïËS}^L5ÕGÛVÂmЊ^tæÜ>ô&Z9ÌQ.™ X8Î,úe?™ýZùØÇäg¾Ö3ytÏ}äõa&Bj´>:SPsQ}¦P-V/›¬Æ µt²2r<ŠóG¹4ùÅ„^Š Ç*»eëž2ªû¾;Q}¥ñ&‚}:|Ä-flCH¡"­¨#&öW¼1FõæDÕÒIê7Cp»)šÙGÒK5¾»r\We`WùØ®)#ºî¾=Õg°ŒêÓ#…Ú‡êSÜhµ*ÐgækO#¶(Žƒ&ª%”‘ÁF5Â}X¦¶´P=±»:èaU`—ìÑ]®¼Úégï¿Q}†eR•ú¦S}:~F—…©VèS6¦§<ÔG1?@¹hœrqQ™¯ªÂ‡¨çï/MЃ걲GvH}å¾ÏÞEõñU“ÁYF}Â*l ­BJô™1üѬ)/eÏyU1”piå‚áªù¾ª¹ƒÕs^Ô†>kTiôýJÿ{® ö:ð´Õ«V¦ß¡Oµm`ŠU›¨7õ&™RŽ>o ë’Ü·6T*=õ U&ÜO룚3PÖ_3£vê(/?ú&à^Ű;¯¼ä¾ÿIWªÏÈ|ªÏ@-ŠÐ'¼¦Ñ”ä´BŸ×‡<—eNô–O9;Ô'{–Ovè`EèËŠÐÊ™ýUÓŸQOî©™Ø Î‚qÔþ^Ù>î)Ï»îëåÂëAL¬?s¨µµBŸ©î½æ×õúØÞ7Æ?—ò¼lò ²oÙ$ïÌI}³BúdOè™ÔM1öAE@…ß=ÙCÛɺ^~ŽüЃP}ÆS• ç¯FécQ%EnMì¨Þv¸8ôá8ÿîq#{Æì7â‰ø‘=.èž0üÑäá'¿Ú)eX‡dŸ{S^¾3ùÅ;.÷s9݇ü8¤›¹>>jº2}æm+ÎK‰ÿÅ¿÷î§ïÙÓïþ½ÛßÿïûµßÓ¿ÃOý;ìõ¾ï@¿{~î{סg=ôñ8ÐÛíГ.{Ÿ {†tÓ&ÅÍÛ\h¦O“˜crÓ¹O/›÷y‘¾‘I‘S=/ºÐýµ"#˜>¶ßïŒÀ¸§ØÍ>¹ 72¸ñƒKøW–€˜96Ÿ¾²³°3ˆ}FÈlÊå–Où¥“a| z•?f+Á+f+``*?m!ƒWÄgƒ>.~q6‚Ü>°ù‚»¿¬¿ã0ÁWI÷ïI‡®‰¤O‹Ô7ã#_Kú´8}¼}Mƒú4v¼•$ésKú<*é#é#éÓ6ôŠøó¤O‹ÑÇç:yTÒGÒ§Éú4¿õF³Ô§­ŸmfÏ’>-IŸë’>-Jž?ŽÜû!±A}ŸmÑÇéž’ô‘ô±ƒ>x¾àÖ‡Nפ™ëÓ\Öc} o·>ʼê˲šó©gËOÄߎ_*ÿõbÉÑ eGΗ¿œ-?ø¿Ò}1%éÊ èe2µµW•µI™T1 þzõ¥k5çÓjΦV1)Õ§«¿Tyì\±ôe Lª¼úò¨Á49—Z“\“Heþˆ§úÀhÐnb–‰½V 5Î&WA‡ß.Õ€>¿_t„}š›> 0%ÌuŽ0)U Ã¯±ÕÀ±Ø*–qŒ>¸›`fœÀÙ˜}  ÔPr„S pŒ>¸¯¡ÀùÔ\šáTbpøR•PÂTr Ÿ}ÌTòPÌ‘ú â œ«!(Ã.»à:[FC‚2Ç«Ž'òúü[ù‹Câáÿ•!â! ø3™:îפêŸãª¸Pyðl©ôùéÏ2„šÓ\>lô9’Hqðrõ¾Øª}*>ëþ4C}ë Ò©“@hrørgAŸŸÎUøËüùñTÉ‘ Ç.UÑÁ€cqô†ú™˜eöž-ßSä}®Éoù«ðè¹",'àìe€›`(“&/kHŸëÍëóƒ>ÍfýÌëS_£ÙéãÓÌž¿$}$}Z£>Nßpž½ïJßvøç_V’ Ó=eðWóÓ§Y½(éc›>Íd?an½Jõi&ûë ú82ÈXÙoVÐçvïwjšêÝ•®¹ù¢™ìG*èÓLöçôi&ûU ú4nÿC~›AûïßÈ=_|ÍéÓ˜=ÅÛÚu?CAŸÆí¤'lhïýý}¶.á7¥YrDØOTBwÀ3ß2.å6ìw'¬#vH£ûÂ%lñ'|‰°5œxã8 ÛÇÙgÿ7AŸdñ–bf‹‰÷£‰Û6­©¦YßMÐ'ÉÒ.a&[‡™mºeVb§ýÁŒú°=¦øýšèfY‘‡„}¨èÆM¢Ã\ѶZvÞ/Kø|™ß3JØ? ñÖR¢Ca ¬¤&íïd}ÿ(AŸf²Ÿ’HŸf±¿ðýÞFí¿”£Sêt ‡BÙr!h¨q®Ê®'Ñ}®ò²œ5^í/¿q«Ùÿ;Ÿ•‘"»‘”y#™– 蟑žpíJìáãÇ1®âB¥³Æk£ý™qó6~=zéæo÷J‰iéHŽ?“÷ç#‡"£#>ÚUZ¢sÖxmÜO£LÂëÛÛheÿÿË¢ÿ[R¢-/ËsÖxm´?žñPV\¨*+Í-/Ë¿YVp³ü6¢²²ìöAt¡¢Š›E7Ë óso8k¼Òÿ?î\Hö—ìß–!Ù_²[y0.h?^Á¼Ðî5­P(á¶£Ó^úÆÅ7†L}øF„zêÍäýáýäfò¼Üì~_Ö õi^ßç‘ô±Iç/(óì¼> ¬‘,.Š¿\i`íñ-Í<üo§ÏžuñØ}„Wb1=yƒ,'Kȳd þ½H^FΛ;çᾈÔÅÅrû¶žº˜Ýá5¤$%)µâ$Å_û%¢]xËÿ§;!Ë__öÆ›Q}#–sQ«…÷}}ùrzv Y„§­§ñù·\:rß-Œª3|qGG>y‡¡Mwóez¥ëºöÈu$ýÛmZ×¹Ô»:rÇo}‚¤kÛsõËmOºäE¯ˆ:/ þ@Q›û^_yG—v¬MÐÛ“ûpn d"Ú,èºáŽ£¾}ÑiÝ=6­ÓAhŸaa«¸±¡ÜÚy[ÒÑ2¥«a¬5Óïp]z|Ÿ‡±Þ~Ô£?tamHŽqô„Ú£#yv|Ÿ·%µY×<ãØW÷"Ä çÙç]8?P=ÕŸ®ãÆHÿ@hŸ.n÷:–¸Æ…ïÕñMÁOѾw Úm3…·÷ü5£3Ûüüýâgjc¿´Þw.ÿp‘õ{ÝQ\cêЉ«Ä¬2\3zognEÕþ¨ö™¸Šömž†å2߃ÏiªF?Ý3~Õ‘¦Z´§uîGÞͬÝ}çžÚ¾€ã»c»¡/š(/h÷‰xõÒ‘øë˜.] Ùx <ØxéøŽm­ÃùÚ}?tgȪ`oz|ó·ÇLî¢ïpþàÝãWðçOâ8>ç„‹,¿=yàMë>ïȸÕîÌéU´CzèýòÎã„ûKûŒëL.½0qÕ–<£h꿇ò˜z×>Áqâ½ûÆsü¼YОøãxÆ—ï®ûúŽ·] íhùcø;BÇG“ ù\ǯ:êBÛºq\|e²êh÷³Ë‘?rdÓºdå‘Á¿.Ó>Õ<¿È;.ÄÀµýhgÈÿŽü?¤¸a=IqCŠRܨ7lMôycñìùáË kkKF{.'ÿ?’jš„ =jxœí} @TÕÿ¤xõJs©¬4ÓÌÊÄMÅ$PqÁ@E\MÔP1uÔ\ZÞ3ÿí/MËìá«ìýû—Yjšfe¨eÏ A6AQ†ÙØ”UYçÿ;÷ܹsgƒAÆ™îçïï=÷Üs¿û}¿ûsW’ïT|¹÷žb&È'©×ßB¼EežPÃÌ„lÅ2h½^¯7,oÝÕKÒ"¤Zïj#$q™L KðONº“$ÿ/#«ÍSAƒÒ™x™ëö¬Sog={¥©Ûw´´äí;2þ´/8²ïµ¿%Fœ½sç„t!?$®Ûý•¨}ö—}Šéá|Y ¶N·Íý.oªù¤ñÑ>‰ö=öîÿgпž”qÓ2òY„­ß¨ÜŠñFüÿ¿¿ýPx>ûߟûg¿t½í{AßíÉöß°=&ëx¥}~{¨ôn ñ…þ zôvèß 7 3b@HG~Ÿ:Ê {j!wCïÞ í½z?ôhwhèƒÐžPJ–^ÐÞЇ¡} @ûB…>}Úú”úÉ:ú$ô)èÓÐg ¡ƒ ÏBC‡@‡Bý Ûòa €>O( ‚ހބނCGCÇ@ÇBÇAC ã¡/@C¡a„C„L„N‚†C'C# S S¡Ó Ó¡3 3¡‘ÐYÐ(èlèè‹Ð¹PÊÄyÐùÐЗ 1Ð…ÐEÐÅÐXèèËÐ¥ÐePzäÈ¡+ +¡« ¯@éѼººú*ô5èëÐ7 ÿ€þºú&tôÿ@ß‚¾ }ú.ô=èûРÿ‚~ÝÝýººú1ôÂr|½ˆWÿFYt;ô?ÐÏ¡_@¿„î€~ý/ôÿB¿†þ?è7Ðo¡;¡ßAwA¿‡þÝ ÝÝ ýººúôô ôgè!è/Ð_¡¿AC‡ÆC@BAÿ€þ =ý ú?è èIè)èièhô,4š=M†¦@S¡iÐtèyh4zzš½½ ͆* tà UBó *¨ªj¡:h>´Z-‚C¯@¯BK ¥Ð2h9´Z ½½­‚VCk µÐ:(—(dìø7ŒÛiF ó†1~Øá`F®ÑLàù_nò.÷K×ð”ùpÙÄ—[…NýÍã£Ûûw 5ÿÞóØ\œhK´=vTï!ŒI2.GÀ“ÊÈØUƒl»‹¼ßQ‚?t&_ÜOñåýü„-|)‚Íj÷Ù†j_šµlc‘‰%÷™À–‘&¸Ï&l¶l»5{\dgµ†}n}õØý÷å+nâß÷R>$ÞM2ý|T:Çt¾î“ÿB{%ÁDB[@–?ùýqz‚ cB†®PB›(!ñA‚€–È"I³¥•ñ¡)×t%1‰’ˆ¥>Üß>\È/Ê.º¢))+ª¨¼Ryíjåõ«×n"*««-ÁøO÷‹^ ÆlvJâ²õì*¦œVˆ—@â‚Q˜íÊ0¸À¥×«J®]¿\t¥™|HUëð»sÛ«ë#zɇ—À,?Èãõˆu¼>DÐÇËQ—/G‰^(‘D,pàß_”_^^\yÍ&´·‡‰9ª/Þš·yé˜ý?|u<)Ý%0ã’@\0(_–P"'”B‰$b7Æïx/¦ ¼ÂœÃè¥-ûùpæ²òµÎ§þŸž›zY‘v9N†ý|: q'" ¼qøðÄQ]RÖL>œ¾œ‹Œ­.(Tp(T;Vù`µ¿£Ä0r… p`ê%â˜[\â>\½šï:XåbÝÀxRsJ¢çø™›‡8æ_µÉûÆ“Œ…%%XáØâƒ‹¼Ûò¼˜«B–|hâùãCQi)ÀXá@lNºûÂý±(Ù˜Z²10°°$Ó{KJ‰MÜ(ð!»'K6Uà±,¥Ú|(.-ŠJJac )*I-2„>is ã “P¸%Et‘t=ªY^jŒ~M?—•,K8{KKHlQê¡dcj鯠 ©©ø-*M Ø’º7–ÏKš)”y[|ø²é|¸R^0V8›ÒÊ6—¥ %ûÊÊ‘ØMiIТ-[6a©Ä‡f xY¥u ®–—WÊÊ…ÒÊ> ºR–&”€‹IìGàCP(q%m‹°HâC3Ìv(J**Æ ‡`yy Yr5ýc¡ä£ôr0ä£ôtö JK%>4Sà@…Z×0š4ž,­¬,å(á@~r~s˜vÓû+*Y’úIÐæó›ƒ‚Pˆ P¢äü'%tåƒåi¦øB¥p¹2ž»‹éÞ– ”š|«|¸4¬i÷»Ê*+RG#è“ á|d@É–ŒÊ-A˜ÈÀtìÏôIöÒŸ_nˆ<SñÒ½-‘À9Úò¡¼²²œ£„K`Æv·B¯·äCp\|¼Ü:yÚ²À¹ó¡ ã‡kׯWºf|@ %ñr3> w°ú „to PçÙâƒaüÐ>TWWW¹b>Äë³åDÎnm‹3ƒðËRG¼toK$p`~ñU‡ðáÔ¥´S[WGQ[[ã ˆù€§û(‹“[Žäñzv3Kº·%†•W"ŽÙÏGÝ@~XÑ+ël|½ëDàƒ|– ËQvˆhãI ¡÷³ÎÆ#Žò‹šÏ‡o>^³ãÕðK‰G\¸;zÀ ùr¤ˆ`b–\e¤; ˆ~ûñÚ4ÎüúÃ0á~–]|8›—”£%ÜçùI«"å‡üâíùÉyZ ™|£@ Œ"Nf)œ€céY–®O6Sà@äyıùùÁ ñ¡™ÒÀû—ü[$ŽÇøI¸aH|Ðêù |ËO¯W²X©×ëk¶³ú” ¬°0E©Ô)ÇD²Ê…zLo`uÄë*uzV§í µòAw&h ?~|Çqqa寑B¬1]˜r<ñW¥¸²Ëãâ¦|0½áš!NSÄ’¬ò­ÈJä.Wcü u_gÆlPêÀH³Û [òaÛ7»ÜVù€£¾G=‚nÑîðËLÁ„_eÊPE\RˆdaèGÚà@«ŽµÊ—w7Ð_ˆù ìµ@Œ(XïÀJÄ5Ûf®hø}ÿ&]¯v4Ð_`Cvà³A¦x$i™CÄѶƒVÏß¶´¤ï¹Ü¥-$H|Ðvø I3Å–o/5ñûî€CÛ_—ÐL´2>Ü„«àmH$>´n¹®¼Xò×ÁÒ“?—<$³'ö1”Ÿø±ì¯½¥Ç÷T*3õZ»”ý®êôÁš³‡ªÏþ& &ñPMš„êÓ{«N~íÄ „¾A>d säxòÍ3…odè%>8S*ÿø¾6á—Ú¤ßk’â—¡&åpmÊÁšs(ÁŠÝ ²„^âCkÊp åEš©¿€çöÕ§w£ãÐ;ŽC?LNXvÄÐs³—ÍΉ Þ<“ÈþFáþL]†n/[‘U;üa€e}á—±H`&†’€Œ3àƒø­Lñ[WìNˆ\nò†{wÏrÝ–þú¿Kø2ˆC<'fï›gö qÄÒ7ˆ8²sv#²„Ev"«Û+ÎâúÍáƒîxÃýâÂà¸l!Ö˜–Ëåìå¾øÖõúåÿöR&¤P—ödžÙ!àí) À(cK½£ø@šEG2GqdwV±bq}«|°§¿0{éFx¿;yÀð«€Hñúø¸`9ûD@kz[§òÄþÚ´ãb€ EPœ=T'üTvò'½ƒø`5LŸÐA˜åK>تï(>Ä^â¶ì ä ÷f_0¦DïöòÝJ ý¿âÔÁšôÜU¬žoî“A®ŒŠëäzR|í¥¤ºKgë2Oé'@ z*á0M8–néz”™\Kù³6'µNqŽ¥†š´µI¿ƒªÏþ&ñ¡-ˆÄWGÀ½¤*ãT½úB­2£îò¹º‹g)2OQV¤¯Ma8n€Oº$>˜ 2C}~¥—%h¢Àp‚cEMÆ €^´L9FóÃI‡]pH|0“Úb58€,ŽcKgH8­8u¸vâ§Šÿí+?¾»J¥—ø ‰©ØÃ‡ŒÅ ÍDk⃄›‰Äø A ãxÒ¾¿Ç*¡u£©Ï]Bë†Ä bˆþþ¦4~Ð>¸ðú‰ûXÒj¤ù|pÕ×ä,wùîZ: mÒxR‚—$>HAâƒ1Dß3—ÆDã‰$>H0EKäƒË&ih”-èúÃ!éy¹æI#|¸OâCÛ‰’ˆÅ>>´˜ëš) ðá’¿ð¼œÄ‡¶"Nàƒø5má›V¿ƾõa9!þnŒß‘äÆÄ™|ØA¿7¾ÐìÛAf_3ãÃ0‡,dŸ16hâM¿ #| „}Y..;[ø@ûè\6Wj«ŽÞâ»sñúlî{B„­ëÔ°Ý4±ÍOš„þÃ…,ØúÚ˜ÄÌij!× _~†}YNˆµ°¨:zkßCýì8:‹ÅàNKÿ’ “FÞÇqÄù…ÕøÚúÚ˜%„jf®l”Áòø8ü“Ó#×ìs1âc_XÔ@½íoIÅsx¶ú}«iA'ðÁ™ø „8ÛÆà_âƒUi­|hT$X•6ËI¬ŠÄIÄbZÖóQ®öhË{îwK|h;Òúø ¡™hM|pó ðáÂS·H| ñA‚$ˆ!âC‹¹þ áæáÂòm‰xH| †Ä b|H¼‡(†pKdIAFxØD_•Y}aÂ%0Xî4È\›µ;ˆ~V?rtù¨“ ÎøÓ¥2Ɔ¬ƒ"”(CHn(œ‰Æi,m PŒt:ÆåX닲IÖpþ<. 3ÌçÁJð›9˜"c÷û4À/¢Ÿ?ˆòá=C~(Ëíé$¢žBQ0…Î ÅQ¤t)‰öd(_`D5#3C]4©š+£ˆ"NF­sáü¬šÁmw¹>•TL#eSHe¹6…åá¤<ÌðË& ¸F®Œ£¿liÙ8Š+£Ìaɇâ)¤t:ÿ[å TÎæC_ãÍP»ˆGÍBOKÔÇxÕŒ-ΨØ`ÎÆ•Ó½J?™×Ô{[µ…ª’óJ_ð¢di‡\*¢d AU´À˜€è×-iO±ŒGýRoúež{eï'ýðÀÐ]‰©ù%›ç±ta• ã;è̘P/·€ J8ïzéõŠÏ>WŽöm š-êߢFcõÖÁ3J0>Ô©úŒNè8è̽ÃÎôJì5*±÷¨Ä‡F&ö•Ôcä¹ûG$ß;"­óói‡§ßîŸv˳éížN“õ?Gú{`èwH ó%ù¿z å º>Ø&ƒw¿™me|°$€˜Þ>0£[àÅ>ã.=1áò“áÙOE(üÂ~“ý&çô Ïí51ïм»Ç©:«n Tµ–ç1HAž8Gzî4ãÎ/’õ³ˆnºL=ÓCå©}‘B7×;¾wÁKÞêy^ªùÞê—(èÄ(|Äg7¦c¼Pg÷D–þù_"¨°®PŸµ™ù¬¯ØcB#@ýDŸVWfö4Ú& +ˆñb6×E{!(»CùEÛP2Ý%N7îéŸ}øj7cQk? ¦w ½Ôk¬ÂoRγӕþ‘yþ³ò†Dæ=©©0SýØtM¯í“tw‡êî£ó Òzùçy<™.ë½ë ㇿü(Ò{Òñ¤f,=§6 ïüÎïîð.~‡ñŽ^xWÊtÞcìü¢þMó÷VªÎÆé†r.Ê…Wôúm¡Û«§ùèµq™zý]VVÍõºöÂs´úª¹ÁüyÊ\Yíz“6¯éõëû¬ø¡‹oÍ\ô#ñ{ŽêÓžñ*|J„šÛ>ˆGŒj×úX][*×ëõÇÖÆëãcµM±aÕsƒ™Í»»¬¬ò*ÜjláÏWâþìíSÿ†—°¹\~}—ÑùÃ}xFSk:’ĹÎ/°­®Ã/÷ Ëž£?Ö{LU”—ɉäÆ6«Ñ”6®1í²âÊp>vOûŠj*v}®¨šìƒ­\GµÐí³}­®^¶«+Õ£2V¬ÕfWE3SÅm²UÃØ,³¹–†ÞJ 5Iñ‚1f®hæù¦œo²SNvF‰pÜ?"û™)¹ Ãèù*!F#¨æk†ÌÕ<=Gûxd¾PŽq[ÚwÈyïG÷b¡ÐGýø‡ŒN¯9Ð#CÃ@[–'N¢LÀƒ¡Ú;åp64jâh›(¬K > Ý^iàÃ.ä‡(z`ÂíGz©ˆòÖÌÚf‹ |H~Ú—ÖœFê÷¢µÐíÓ¼ª¦ñ‘ÕÍâù êƒ:ÕkùÕkvŽ.ä#îÚrøòmðe>gíPÃzA³•˜Õð6³Í™µÀVüt¨Wáçc°×§¿R`-Ö”&%á<°!tþ‘Êàùªñ‹Ô¡‹ÕBèŸ_ ­yfŽV(A—Ñyœ¶ã¨¼;žË¸õqÊF†¬~ä`_žYþ”ªpÚeè¹´Ð(%PçÌ'KÂx2°ˆÞÎæƒSW†šm´ÍõkŽ°ÂºŸ(¶†n/óa¾ý®ËJœA3·ÿÞ{L)Φ ëUëLÚf †ñ|HàËjêåÈÔ[»¬, ó©œÎóAkàƒÙêú+Ì2*gø ´ÉÚ +ŸN›õg­´äç[ú=ÿñ*¾,"˜Åα˜p5ŒÛzô…œ óÆ/TOX¢™¸Dk¤„´†M”TÔ÷˜¤½7TÛ5DÓuL^ççÏÿÝïG”ç ç¯W3>œèN/ZR>„ñ|¨²#?€IÛŸõ`W®˜÷®­6¼míâ[<Þ‡/üJ±³^µûy>”Œçù°³ËÊòž¿õƒ:Ù Ú¼<ÄÇ0«Øù¹¢|<϶•„ñ¤vOp9wÀ¢fyχk‹|¬®^»g´eåòæm–71¬$‚6cG,[¨úZ ˆâñ+°¹ß†x™íNs Ð@ç.[0)wìKªI/k&/Õ„¿¬+B©õ¦Ò;\Óc‚¦Ûxu·u·qÊn#Ó;à|Ṡüð&ð!íß “&zÎ4ýÚjãØ VÇ`ÅœËàº^+@$R¤ÙOB·Ãáz%õí7]Vj(ŽÀí뻌AÓ~¾Ü5s Â”cú£+A§‚eÛK¸ ©_"·ï‰ðYºRISÁñÝÙÞ³tÿ¯#«¬¬ž¿t;+g•3×`Eý…·p¹—¶yÈÐfò¾bÃR0›ËÛ\±Ê˲…š}ÁðÞúÚ‰ÿ|å7]Æä‡{Á«Ž‚˜B¦ ¡!8U¶X±L;u¹6b©fB¬:$F=J4–x,BÕ{¢êÁPÕý!ªBT=ÆçöÞùiz~Ánd$=Bvõ¦|øí’ü ½Ù‘Jï\|h”çãbÂŒd@ìÊÖðο0ØG¼ÅᔂmW8>èÏÐ|‹Q_q¸\¼´$A/^—NX šå¯ŠËçûÍøŠ=[—­%®œ¿5¾ÕÍï˶lS˜ Ó'È™Íùár«-ˆ÷T¨æ@¨ÂxhÆn®¥!:S9U®¹J;s¥vê2têñ d`òpX^ÏòºS>¢ìõBN¯1iw¤|@ðùáÕÛ|ÈC7ÄøP˹®2@.þgÀÝ ¢jäCú`ŒF¬GP±^ÿqèvÕ8Zgý^_#9‡si9W°×U¸—­ubŽ!f†1›]cg˜è6ëXzÓSÁñad´*jvÎ:-~§Ëµ“b5 p*L?’ûàØÜ^!¹„*—zï³?0>€ è&Ìø œÄóÁ29%uÜé6${Gô©0ÝL0¡Ì4·3˜qCÌnȽ_wY ßbºT£W…»œf03Ll³“™  3åCˆ üC³>?ú5]ä*ãÙDàì<ÿ™yÏL1Râáñ¹}Cs Sô Iéöì÷(aÉȦÓIòʇœ‰´ñF,?ä~5|ÐL# èkÊV›$gˆn_¶Ù~È<ªUqÌ·•˜—»<èM¢µ9L.ÈɰÊŒbß*xùÝPBp~ÈÕ¨¹yÃgå ž®|jr®Pþø„Ü~² I¹o0χQ>|ýåÃw]é…Êäçès/ŠP’•}63ùÐ…”CØoÊ¡L ™Îâ7#ñ@湃‰û•É;S?x*”ˆù¸<^­aVž;ø€ŠÕ› ×m.\únÁ±3×PBG‹5 Äȹy%M¥Yâû_ËüÂsûOÌ~l¼9X~Ž OFE.L$§’s IR,9·˜$/ó<·Ôë\,I\Lèï¢Ú:<1†TîêS‡Ù„‰#1\E ôtΩ“aö€ƒWàùöíÅ|yåõ‹–rYbÈWpº¡™´D¶X=vjÌUЋyÏEåaDñÔdEßqÉ]Ÿ¡‘½ƒY~`|Há>¤½rkÖë.®ùÛÅÕ·\\퓵ö¶¬u·_|µÃ…Õ·^xÅ'c¹°Ê;c9Ѭ%óŒdóÁÉ¡q œÏ@aúŒ¢‚CVˆ 1~]·õÛ«Ÿí*+Öl*\ö^Áâ ùQD¿†A¦nöZN=p2a‰z\Œ*ðżSsúŒIîô$½¿‰Þ|8ô Ïü‚§HÒ8ødO#yq$ÑÍ¡(ˆ–™•çÏ–é"i5 W÷m ‚¹">¬ü pãWW¶|}uÃgÅ+>(ˆ} dÈŸ÷ºd˜µZ¹Z;u…vò2Mh¬zôRÄ€pEÏ‘IýǨÊW €ÀL[ò!ÛŠæ71(,ú Ž‚@E1ÿ%4›æeåT/¯ j­.|©cËàyªçgç¡w6‹bÈ %ðää\ ÿÄÜ>!ŠFd=51)9ãJö[óö¥ã‡/:ÑiœY$Œ%Œ Vù p ô%#̸QE g¸º6! ‹³1åÆd/Ýæy5…æ Å»ó†{a¨€!K àÊ‘ÀF1Jy0TÄzÚ–ŠŸ¾É–póPø"EÁlOšŸgÒ A–ýµY' 9²¸×(p`"%R#IÆð™™Á¬S`¨^âY/o_·œ°çâØ4{d޲ ¾{²Îø]+ÿ<˜Á6ÊμÍP#«Šö`Ç`E”¬t½!Ž_öh4+§nöE~8{ˆeW”Èò7>ý‚ÁV>ß@Xõk:RüóŠwzP|ð°~ã£Flñã!.”póÿ3ˆg7ôäi&(ϲP `ñ]Ó‘=/]6…^4ëM@ ” ¸@¶­÷¹ÐoLñ±?ÅÖçl‚Up2°çfÀö%,¯- |f`,ZÓ±v‘wòsô‚¤­1ŒBç àÎ|Ùy(ûåÏ7§q£Hã°G¸UíL8ê;!ܲqÌvÖ܆ÛßÜ­Oá(-ËÝ Ki”Ü,]4–>$ 2˜À“X—ñãGÛXä©oêXY’V%2B<Ì9ñƦ{]AEI\ 2J¨'´Ô ê mõÞ½ê ýô6èíпCï€Þ íí½ Ú ÚÚÚz7ôè½ÐnÐû ÷C€v‡ö€>í }Ú Úú0´ôh_è£ÐÇ CûAŸ€ö‡úA@Ÿ”I¹ìFäå.„P5ÈÔ‘¼t…Ò^kô^“,ªæÒްDBõ ^ûCo£ )‘ްzÆdsäyª†¶=ø¶©èéÇ‚ÜqµéZ¼qÝUïM먭øÿäÇVò*Wñ,¦Ûÿylé~1¬+26A6. £ÎSŒÉઠsÈ´<©a¿²Ùù$RG¦iÈ ˜aÀ”W Ø©˜ªuÏ3·{Ï/o¿¬®ãý=ÿ¤è¹Aÿðz¿÷õ~[ôƒ7QøLñÜV›`œŒì¹p å‚ó=fêà|E%íåõð¿‚ïP n4á`J¸МpŠ„æ’‰dÑ™_Ä€XxÆVx.©FDÈò:Ïez€MãW(d¬Ð{i=V³C¶¨ÞQàý?6LË6I~ŽŽÅQ` ±°ºtA¹Ñ%ìp”ŒÉ¢þŸx‡(Bx¼Tj„P8¿ˆÖ‰*æ1£ÐеTÀÿ@À):æ±áf>§%¨ÀBl„á0E-Á^<ôµ5ÿçYõ¿às‘Û5܈Tcâùp•³1IéT`(î(týŽúßÿŒÇêÿ[_IëôzÖßÖ\¼eõEŸÕo[›uûº¬¯^¼uõŸW.eÞ«.åd­†ÌË0^Ìy'»Â%¸ þ§g[ ÿÂÓdá9›DŸó\–ìµÓçÈâDú»$qøV‰I ÚQYÓ³db‚•œã|ò·tþûýEžKf'¹g³³%gJ¹p(ùý¥È¤%˜MÎ<˜qð\æþÄŒÉʤ’ÐS®Ï<-÷üFž&C’é(hbw6f×{ s¾Êõ3õÿê²lÓ«Ùûtf› ÞW£××Ä­¢ÓòT©”»ÜMos˜Š8 ðÿ3Édxõÿ$öz‰]ï EïȆÿqÖl¼šÁù_ñùg·v]/Àgpº…ÿ‹·‡~ì3ŽíKæÊ._{±ýÒ”»Ú½Ö.2Ll³c6!ö˜ÊàÿÆßã[🋞a ž3 Ú Àÿkxÿ›ùÜ–ÿ1ëõÄz_º/Åñh1÷ø˜^¶_Žà 6;Úÿ¡¹È!ÿ7þ^mLÜy‘ÿ éEH£ÿ/ð|Šã4â´te{è'+ΰéër³¥ %&뮪0ÍiÈ]lQ õLB¿.[KT9~kë›,ÊÞWl­Í 3Ã8ò3›mµ ÞCµ†Ñý”AFæÑ\ž/ò#ï¹/üwšçÄ$æ>«Å;[·š»2ÁL*[Ñ‹¦£1Ÿêõ…ð¿Ïøâ8%;–¿ñŠÐÐ*åÓ…Öñõ;m¼°Ìµ)ä´•G¹ð-C³œ¯ÐTä/>{V†®÷T¡föîã>]ØVôGþÅ»È|õ¥|9«ì»&“V~ûïÚæ!¾Í'’M {"%.×`³µ¸£»j{·­Ï±Ö7^Mòÿ”ûý¿x[’Gè Ϩ€L/¥X}M¼³¾]¶ÂÉ|áWŸùvÙéQ¼¿–ã?•pqÁ¾ ¼<žíf¯ßPÇäJ»¡MŸ!—Ù¬‚ÎîôÏ­rt¿•ñ Á{ÐrùöÐõ´f¿Ôg‘õÕG[­<¼M¯ñ¦†EmævÄ¢…U±£aÅxj¼×‹Ý±ÄÉÄ?‹ú?\ð¿]ßYúÉäŸÙ•€,ª‚L« k«ù–ÃGØF?6udÍzVüSïÿ°rþ|ç5½’ßÍÞ¿{ +2¬«2iÓ8[Àûj@"«)O¤;¾® Ãl%¿t–Öêê+NèÍ…6•mÖ&17ÌhóгÖZðK þ¾”ŸÕTG”‘)þ¢àüŸ­i×w™–o9á1)Ñ#ºŠ… oü?\‰ˆ08êZ8–άçüÿ©ÏäÊ8-Û—]^QU†Ý<âeX‘_Ý´MÑlï«§“Yôƒ÷×s™m—˜0­Êà_¨RÌÑ;k¸ÊëÅC5ß9ÿ'ÓÊB;”ÿG¸f+ þßeØœY tE¯¡Ÿ²¨øê´ߎmôLçüŸO È,Cì¨T7ü´å[OzL>ë¹ !ds«ÈúZƒs4$ªÊ€º úÌ\¡ÁÿÛ|&WüÿƒW7MýÌ˸"‡7Äm²U VtYï3üŠÁÿiBM.·ìò™Ì¶rÎñ]`}õe ºúaT¦›ÐÖ ¦ŠÛ47Ld3·9+-$ÕˆŒ1s…50ÿÕÐÎnViçá›: y§Ãàw; y·ÃP1Þ1Ã]_ñ˜žâSÈbªòf}¶i²®¦q™«AÍ@óO.ËÝžU*›®ó˜©öŒÒx¾¨¼çê¼çç{¿Tà5Oí=_åý’šb¾ ³´dig¬`·r2ëOŸ.&‡¤ÏÈZ“).÷íò™Ï,ø<‚éÝ^\ÉÄÝüÒGþd%´ð-}¶é9±>צﳙ†ÊâFè¦'6´ºÉ9{m“3Ì`stB…¶ùLçJ¦=àÛçO¾Z¸'Qð?)Ò8Mé ª=Öx/©n¿¤Î{)W‘ÝsÀÊwåbßLdqtòêN€™ÿY¨ÿT{/ª…ÿ)–ÕYú¿á8 ^ïêY"õ]Ø@µÖጸ„C€Þ1UæQXƶœïx ¹œvÃlæêNñ¿Bð?ûegUÜPÎGaQ-²“%XƒìØq2ɱî Áÿ!Üþ6J½žE{dãÍzñ ªÙ˜G ´ÆqÝ48Æp<g9ó? ‚Þ L”%yŒ >”…d1Ч¦Ð\sŒÓ XÚ0Rá0ˆý˜HýÏ…@ˆ‚U° B}ъγÜi9ퟺÐ9¦Ø'üR¡.C‚ó!ù_ò[†ä×âÉÿ’ÿÛ0$ÿ»>~™’ÿ%ÿۃ׷j}hYþ7¿ ÚòEò¿k¥½_†äŠä×Jëôv\pp\öMt›Ã¤%ú_ä[ŽŠÝ>Íô!ægϼðfâÍ÷¿Ñ§¶ÜÛvü0gaÀÐgœê£SãåtBìd6Í—à?þã%Ár¹Õ:qr,”dzBC]VÏ¢À=ýÿfâî9$f‡Øÿ‰5|´… -G˜èüÂ݇7ò†‰kò%†iþ‡Û™Ïøÿmú߯ Ôá]/jÑd)_/7,º âÓ|ÿë2öÆpþ´ä? àRÌ ´æŽ…dÎ^³ÜeÿywÁGêÞ˜ÿÅ%&_B³ñrBŒñqoÿóÞ3ñ¡AÌÊÍê›ìµ!å=K<ñ¼ûãëIæ¦GÁ1þçrίšö ø¿)ý…Éø3^nô‹(WÐI3ÿÓ»:†æL¼œ'o¤wŒ8 ÿóÓH&¦lgAþçVá;vå½IÆå¾ŸùŒ1Øï­×1i‚ïpÙz7»ûu ÿ…¬N»>÷ÄÌiˆÿ–™ª þo%ÒÏ¿Z“Hþw­4³ÿ•üßL‘üïZ‘üïZiY÷¿ZZÿ[%$ÿKþoËh?@ò¿äÿ¶ Éÿ®E ÿ·J4êÿ]ßls pnâ&–ÜT4Ꞻ%7O¤üãZHý¯äÿ¶ Éÿ®…”ÿ%ÿ·eHþ—üo'\~¯¤ßy]ºÿ(ùßÑ"ùßµ"ùßµ"ùßµ"ùßµb—ÿé{+a¯Ùƒï¿¡7ÅŒþ7}]妿£r3¥Qÿs/sßLÙÓÈ[*Ít²½þ7}u¨å† Qÿo °ò4~oØÞ­ãß³#Ü ªÖêóïlŒ¯eßóÿ–¯Np³¢ÃB˜"cx_Ã9¯5Ú-ú? áײÌÞ°ã“·ŠUþ õ ïñn7¼»q#þ7}F\`\ÀOY¼çx3}k4î«9ÄÖv;ŠIÞ@}³ %«Æýoþ‘8æGˆ›tú¡%xÃΪÿmÕw”ÿoìZ¾ÏÞQåÝï&œËô¿ ¼agžIÌ‘I}«þorþ1¼º(*4 …\.¿çzÒ‹Äžñ§¨÷äÇŸVÞ°3Ö‹ï­¿‘×ÿ7g Vdöµ±Ë-s”KÅ1ç_7ùËæþoE"ùßµ"]p­Hþw­Hþw­´,ÿ·>´ ÿ“Ö(-Ëÿ~1Ç[$ÿKþoËþoßâüÿ–R)?ßáz¶9ÿ딑Ì~.-:-Ûÿ¢ÙÈ_+ ÇDå×o±Ðnà«egÓÆc‡«ãjç·ÿ ¾°£PŸ’‰‰ )†Cƒ/Õ4oÄõþwù›€¢ÿ‹ûVÁላiÔ\íÿ›y’íi(ÿPßRбBâ×:89ó8›uÎ[õ¿ËÓË åŸK2¢BÚˆ¦§*M4©ìjŸ·xÿ c7ŠlÏD ‡› DyÆ2G¹-Ïÿ­ ’ÿ%ÿÛïçvøÎ;ý¯Ó¤åeŸÍ¹tJ‘uÒ ÈJ?f‰¶ì8_“´æãozE¬'Cå®=þw¿'¬;ýŸ{ù4œþêŽ#‰.;SàýÏà=ÑCû¾gÞzýæÇŸÍªwý/~¾ŠÎÛñ—ÜTìô?2?2@]]-ÀIó!ò?ýÛÆlãDÌÏ- fÏܺc`ìç?ü_M¥ÊUû?›=Ùœmáyó¿žãvœ›I“üýúµë×+]Sÿ‹þ4‹¹çE݃û=pn&vÞdþ¯¬,çPæ˜ùßäo»˜ò?^ ¿[r^,Mô?sE©c‘ñI@РORiaÆ–  -¬Âϱ(ùçRsÿ b™¸£C8JÜŽô"i¢ÿK+*€âü'$hóy~vÿ.ç7±BLÀOÎÓ¥Mò¿±v³ÎÍÄο?ÂüÏy.ÙÌÿíÅs[M€’Á›L~mÁï}sôÜ@ÑqÞ{Q-L"~ ö<ºÑ.<üñ,kÀtwL€Bñì=ÿ4,ah¿¤ SÊÈÞQ²EõöÀs­I–×a¿d1ÕÑUž Ê=£KdQdV)™ÆýN/Å,_UÌcF!ýEIx>h”“”$0…øgÁ´sƒx±bvlv¾ÇL@¦iÈ5E¸Š6Ä01‡"TÈB²È ƒŒ:O 3ð4éúåó ½ÀæÌÀmÚk²rÞfª°¦©‡Ò¼w^ÈÿjÌ€£¾à÷¨Q{*ÞñÐ\ìï¼Mšêœ¬‚÷–ëÖFi–†«cBTó‚óf?Ÿ÷bPÞ¬a€rÆ wò“û+Búdx iâSW2’罕 2SKú$½wQ{˜'í‡àÎ8{ZøÁÊ+_m¼úõ–âÏ6|°"ÿ­Øü,н>O·nŽvõ,íêH튩še“Õ±¡ª£ó¢žS„HÙóÀØþªü*Þž‘‡¾&·¿ÚKhôs –ä d€=º×£¯~»µd×gÅÛß)Ü´¦à½eùëþ±@ûZ4LÒ­­]5S+Ÿª^2A3.ïÅÀœ©“ÇôÙùd'JØó؉&ÛÃÛ †‚Œ¥@›ZùXråËŠ>~½àÝ¥ùëct¯ÎÕ¾©Y>U³d’zq˜jÁXÕ‚14‚QÏ)g VL~*y\ß]Ït¥ö€<°§û ÞáXhÈ·bcB”{4K&nZ]¸yŒ¹væ-Y6U³x¢jAHÞÜ‘y³”Ó+§ByÙ¯ßç†ûeOìŸ2þ±ïßGíy&™·ü=,·Ûf‰©=àpÁ[±ï¾ χg̨¼YÃaLîä§„òÜ gOè—baOSýcÛUôH°…†éµhíªHaÓy³ófú+§’:½—Úót†©=ùM€à%tЫèFgÅáC¢•3Áõ’‰ª…ãͲ_^ØÃy/ôTŽë® y0ç…^iczíx7osRP“í)0uµgê@Íâ0í²-¨¥êØ 4+ÎeäRÄcª‰½U¡ªBîW…<;¾Gú軟îLíœÉ»þéø7˜±á%Fˆ¬¢˜4@õÒXÍË“4K'k_Çá¦^bæMxoÍ„êñÝÔ!ݔ㺥ì¶çÉÔž! jOÏtêjOY“a´ê*€6s^x¹E½p<,Ñ,™¨Ž 3šíÏ&ê+J´“zhCïÕ„tÍÓõüóôû;µgx5©_µ§ÓGtxÐT˜Z…6c{)#ýUóƒÕ‹Æ«‡Yð¼&z¨vŽñøÒ…Þ­×9oTÇŒçîØûø­Ôž-’k´'ªÊ.ÌA°*¼@›Ù#îÏòLÞœçUóG ›V/¡™ ™;D;çéüÈÇ&¹StÛù!¾{õ¦ö`ÔÊL¢ý;쩵̰Zó¦^'S®¡ÍËûæ„õá “*ŽþD‰TG¨çúkæ ÒF ÐÍè›?õ!”_ûùK]ðíªá·œÆkÏÃÔžQW¨=ƒòiV„=ÑuM†`$gÚ¼4ô.„,g’Ÿrú³y‘þy³üó"‡¨"ŸUETÏ ™þ˜6¢—nÒœ£ òÍó÷JÒcwoo\{бvúÈ#¦Þ~Xµ mf ¼ýb`·Kãú\žðDvø“Šˆ§á~ŠÉ~9“ûå†÷Í›Ø+/ôÕ¸»UÁU·å k¯äqî ²³'=_#ãʨI°‡‹W“ì±j’ª¨.atŸ3ƒ:žvobPÄQ½GõNùPÒ¨žçFöHqÚˆ{Óžïœ>¼cšÿíéÏÞ’öt»sýeÇú’ï†>`nOÇ÷n܃=ó¶–§'ýÔçëGoÛÕÿÎïü:|;à®oûwØ5 ã÷:þàwÇÞþ·ýØïÖýûìíë½·çþ‡e?{í—3å?Ÿ®t²Ì öÀ30&CY{îrÌ`–œÌ¨=žV{<…ÆüžDíÓœ`ÂÄ<“p±f0œH« ¿ž­{~;ã ÿ¸›= 0%Ì%Ž0é5`Ã/ µÀ¡„6á{p4Á3Ì9!³70ÿÀ˜ ä gà{p\ÀSuØ4ÃÑ”àÀÙ¡„™ä> ö˜™$LÃ0gÚƒŒ'pFl†` „ì´3âµÿD%M5"ÆN©9œÂÛóSBõONɇ{ÿW‰Œ‡$,à4¸_RkL¬°÷tõ¾N°çû?*‘jŽqyøXš°ç` žsµ»jvŸ®þñ„3øã†ö ×Á¤£É4'3€6°äÀ¹Á‚=ߟ¬Úû—3øóÝÑòƒ§«­¡=‚‡éõ#0ÆüpâÚžã¥N°ç¢òúÁ¿J~>YŠá„Ì‚½ <c2••Ùsɽîìq›ñ3oý™Å!Ò¨=ÎüÖeCöøó|–ì‘ì‘ìi5öغîJ¯?s÷›œl­®ÄUöØŽ—ûÙs¿dOãö8qø£wC{r/ŸÎË>«Ó¤YŒ7\p?öÌû m^2à&ö„¿ºcíÇߺâÏ^ì±¾(ÿ‚•ñ¡Ó¯÷žÊòR2T~¥(ÛMì¹ZœO¿;Q¬p{ŠòÕneO6צ=N¾…³'Ç­ìÉ×(ÜÊÚ†=þ.¸¿{´ªl7³ç²[٣ɻäVö¨• Øã>«•Yne*÷¢[Ù“—›ÉÙ“ce¼Á]ÿiÒ÷— Ô* Bíd˜Ÿ¾?ÄmüØ07åîßÜ‹þW^>Ó9äµøÿÊÍNW\N͹œ† 'úÿÅfpûon‹ÅNÿ«rç½õŘ¥›¿úazÒq—  þwo΋ÅÎïïéÔ©ø}uÛN7úû/ü'¶­æ÷&½Hìô?ÎqRVV¢©¬(ºVyåzåÕë×n"ª«+-að?ûð?1~[¯¡ïï¹ûøZÖßwµ·/’ÿ]+-Ëÿ­OZÿ[%$ÿ»äîD„ Ã‹Bûòà 7 F(¾4LØÂ—"بsŸmتfÒì—¶‰WÿÒ67k¶Z¶ÕTCŽjzµ»¶Ñ§’$¸Îk¡»W\J¥ß±/Î5Oƒ®xßö8|¸sÈke%j7±'8vcÌ{;*Ê ÜÄžEïÿ·¼<ÿZe±¹=.ºž\u½ôúµ’+E—ÝěݺÚÃÝïsòð¾Q{\>ss{\?@`Ìã¿óö42F²:(júp¥‘±ÇWtâÞ»¼÷´D÷;ÀzëÃ]ЗÈr²„Q2bàÚ¬g˜þ Óß düòFÃ"å )oHyÃ2oØ+ôyiñìùÑË c›††ŒŽNþ)1íGÈxœí}`TEþÿ$ˆrzH±‹ˆ"6‚”"1B &@è% Í‚@ËÝ!ÇÙÎ âÁ©x?þ#HQ9ŠpG idS6»›Þ!uÿŸyóöílɲ6»)3|¾Ë{óæÍûÎg>of^›ÄÅþIõeô]éÄ, "mHþfÒ–‹» æiX¹üç«Óëõ4ªœ¦V Ó‹ÐäC-¬ÎÝNˆà¶0†,¿HòB"ðÿ²Ò¼)°:/“óÜž}êìLgopôøÎÍùøÎ¬ÚÞýÖb'œýÓ·"¤ yâ!“ÄKg¯{l÷qB,–£üptzÜ9ÒïRGÝ'ˆ§í“hßcoùK`mÓ=¤eò2Y€£74Ü‚±!üß!ÿï)?ÌÏAù{Kÿì]p|/Ø©8V~Ã~ôœ¬•öùí`Þ°›¥2ÒöØ­°Û`$Ò€ šQ„t”ËÔ‰PMк§¾r'ì.ØÝ°{`÷ÂîƒÝ{Ö ö ¬;ŒŠ¥ìaØ#°ž°Ga½`Á‡={öŒòäë{ö ìYØs°¾°~°ça/ÀúÃÀ:¶!äEÂ4è {‰Pâ  € ‡€„‚ÂFÃ^†Á‚ =‡  ‡M€M„M‚M†MM…MƒM‡Í€…ÂfÂfÁ^͆Q%΅͇̓½ ƒ…ÃÀÂ"`‹`¯ÁÖÀè™ [[[{FÏæU°Õ°7`oÂÞ‚½ û3ì/°¿ÂÖÀÞ­…ý ¶öwØ»°÷`ïÃ>€}ûì#Xl=ìcØØFØ&Ø'°Í°Oa[`ŸÁþ Û Ûûìsذ/aÛa_Áþ û?ØØÿƒ} ûö-ì;ØNØ÷°`»`?¢a?ÁvÃöÀ~†í…íƒí‡€ýûöì ì?°C°Ã°#°£°ßaÇ`Çaÿ…ývvv vv; ‹…ÅÁÎÁâa °DX,v–»»»K…]†]¥ÁT0:ð΀e²`jX6LÓÂt°X.,–OXÿYgvΖ"¾ V«€]…]ƒUª`Õ°X-Ý&5ìü7ŒÛi‹@× cüÞ8±}q"ÿm…m ÚøS—H/é—îÑÆÃ[jMÚK»Ð¥?xúvéݦðûãcéR=Ñœh~ì¬þQ.¹‡ÔF %Á~G³BͶÜA>è( ã‡Îä‹û(¾¼O^¨_r¨7Ù½õ£žd_šå\Ï&Oî5A}NšàÞzQoÎõçfEv&³Í¹õÝP|›eùJZøçÝT±w’ >Þê1 Â:_ñÎy¹‚â"Ð:üç zBSBŠ.O Õ’zP ô ÀCèA€‡ÐƒGõp1'?-¿PS\š_^QXqµ¨âZÑÕFDEUUãA9J p­²øêµ+ù…­¼¼Žê!1[‡ßo·¼¹fBȤeà­ÀÎÿþ`ANYYAÅÕV^^ª‡ûÐClºú‹us7,±ç‡¯ŽÇ%7w‹Kú=6iï¾è¨ˆ€íï‡å–•·òò:ª‡3W2¡®Sÿ;”œ–‘xE•t% Íð?>5-æü¥ƒ÷¢\ÙÅ¥­¼¼Žêáô• 48Ù¹yêÜ\ yÙÍ(BºVw1#+ñ² åÊ((nååm˜r‹ŠrZ ´…éÚœ Y(WzAQ+/oÃôW\ €¥]aafNî¥ 5Ê¥ªG­§¼F=ôig¿òKJÆ’á»!Qyþž·'1Q‰ÅQ~~yʼnXŽ..&$"vƒŸs вróR3³mèáFÊË*:‚J‹Dìa«á~(]Tb¢RF¥¼X`o1*øÕ(?ÂïâÜò¦¢JÕCAI _\ìD€7”4¿81ßPõqü?ˆŒCŒßÄ8÷ @^QF—mê¡ÁåE¡j[]±'*q+‘RdV¹,†•7®8…ÍßÁöbl(«J2¶‹sËÛ@=”–ì¬q ¢KJ|QäÄJLTbI”¿?åÊß?¿$Ñwc"N.'QNu^þå,-=4¨¼–…båò%þ,Ò¬ŒVc”HeÕjŒ³ÊÛ0=–•Œ%§`}Rézÿ‚Ò$%fwié±>i¯ñ_°qãzÂou"@Qv~ÁµÖ†V^ËB)ñìíP”k}R’’ŒíÂǘ¥'Ò{› ÅjÎ7^ކ顨¬ (,-u>N*ýØß¿°4I‰’ˆ¡H¢0i£Ç&¿ ͦV^j!ö'ñ¥IÄ#‹Q¨`ù0¢>NJ2£ËYåm˜ŠËËÆ’S°§¬Ì,*JÞ¤Ä|œ\F žœÌ~! ~«Šp ¦ÊÖÙÐCÃÊ›€Bùo²tÛoS2;Ó1@ÄVVR²h‹,Ú·ˆÂÞÚf1HÚ~—¢²d§—·az(©¨(‘(r"ü>9¿ÁÌŸÇòžòr°‘ø‰ÿ†óåüý‰H¢øü'Î=(«e]a‘J“cC ./ AP¨ýl5bÑ~eùF ÐâôòõàÈý‡ÒŠ  ÄÙðÿ$Eé%!ÄlL©Øè…,Gì§o²—ì͹E9EÅéÚ\z¸‘ò2·Yøù5âŸyZœ[Þ†Ý*«¨(“(jÀ‰Ÿ[TœaSM­¼L¥)N/oÃôpõÚµŠ–‚ò«W ŠK³sòmè¡õ”·az¨ªªªl)¸VUURVžSPdC­§¼ŽêáÔåtäSS[KQSSÝ"PU]]RVr¥Y¼/ÔÚÊÛ€öaÍ„©gÕµ P[Wwéì!”ëbN~+/¯¢‡{¯7¿Þ´jû›!—c;0oEÓÚ´$”è›M«“4ºV^^èáKGôp6-+.=µ°÷ ¿øû¼ø,-ÐÊË먠(P„^õdªÊ8šœÚxPŽ‚â @¹,Ï—ÖV^Gõ в!ô ÀCèA€‡¢ñ½žpyø~SÀK=¸ûâXwK=lùz§@ë„U=¸½Ép#„xpz×›T†ëM¡¡=ðzà!ô ÀCèA€‡ÐƒÔAÊû´BB&zà!ô ÀCèA€‡ÐƒË®‡w|}St±ÆÕ3Æe ì¯jÎ"$Em; Â;¾„Å ¾)g¢¬”Kœ²+ÜÎ3 ø(V™“ øU„ƒùÚ™¦å¡Qõ°]ÃY€ÏíaÄv>«úô0kWžRé³FmOŒU]ñžX=œ=iZUåcP5¶‘Æ!„Æ|£ø ²'ƪ·Àv¤„,MSÚ“¦…áFô`ÙÈ7LJ>J·bÏÑ-kÇFŒÒÚ+í¼Y][ÝÝž4- NiÀ6$Áj–5Ôh±cµ¿°L3 i$ ð#ŠúçíT‡á|åÚcÅy‹º¶Œ´'M ƒSôþQ§ìÜ'aQV‡vüx²¾4#iÀ¶ýØc§Ìú{Ò´0\Øð÷'®Ø™Þà‘€CpŠX÷Áº¹nŒÊwö¤iy¸=(ý¾åµdãï X{bOŒÕ|Þñ WF2JYøþÅž4- 7¢3´ì޵•À‰zhzà!ô Àƒ›ÿAèA@èAÀB<„x¸^$,ÚÑGW.ƒç›µ+o{q;<UV_€ ”§ÛʃrûßâwWž“¶øÛÈ.C£êøF)/>)O·•‡A |?ê£Xoö\é t8!‰D£êÁòC¦ §¼•" Ex!‰(7ŽÆí/ ¤œËVß¡ºÁ÷£øîFŒQoªåÕ¥Y`O¢•×`XáÐûQ)†®U=ßk´ì7U\ƒÆ¾¾@—n ;ÿâ¢åèÑþ÷£°—^¶ë¢9ÙóZ”€m4¶èk´¾¾|öB‘òžk ž‰RF­üàD a¸ìàßcu¬mwb5ñï>±ÛJŒ<Ü8[Í B<„x=ðzà‘:Hü½$#„x=ðzà!ô ÀÃ)zàß:P"ß“ óåßsàb6`þ(%%ÿ¡®Ù±øH”;Ø–Gq;ùMÎÕ{”`öí¿2[ˆU=8ú~”Ù±°#ÿN;–²<+,œŸ!ÄêÜb<œ«Z…³Ö@©P³÷ ÌôàèûQ–ó·X ¢¥òÚ®‹fì‹W§ì„õ`Yï|ûlC½eöŽ.{áÁ²/P^Þmö•xê=°·-ÏDV5J€UÖõ7lþ(«z0;V ÷j%‹áSжÂz˜µ+–U„¶ò2-«}öb ñ¥/*ÜN|£Hƒæ²:ß—•cF’–mH}3Æ8KüP}öñ—ÊTu΂Sô€z±1¯£sÁ„œq?J€‡Ðƒ¡B<„x=ðzà!ô ÀCèA€‡Ðƒ¡B<„x=ðzà!ô ÀCèA€‡¢‡¡¡S=ðzàá¨ôî MÇ“fœ«‡-_ït , â.Oš5ì×Ã…>âïg Ðù«¿z0@èA€‡Ðƒ¡B<„x(zhv÷'l{[ hÁzpó¾f„Zv¸–y©ø¿ûJNî/=y@VËOìf(;ñSé£KŽÿX‘yA/ôÐÒCÙ‘ï*Oï«>{ êìo ªcTÇì­Žù ¨:]yòû«'~€$ônÒƒk&pz@¨øýûš˜_jâþS¿ Õ köUŸÛK Uì‚$ÐJè…Zz z€ŽR$qHü’ 8·z¨:½ ‡Þ=ؽÉÿUne²G³©ª­þe–ŒýyVË©­ù‰j홈RÑÃÖ4=!,Cü§OÛÊâIä!°5 @¯Oc‰# –Yî»5€°4Í(8]—Ôš«âYaÑ®oªênzseNHËé¦o\Ju‚ H¤þP$°5M©k,GFFbO솊tR¨ø_4UBòqµI¿¯=ОŒ"0¶Ô7†ˆù_Úå«ÌrJjË¿ä^_z«z°§¿à«^YÝš–€v@j+”H¦âþÐÖh ÍlÇæ*Nì©I:Îb`À(‚âì^ *æçÒ“?ëAV«©¾©ª­ê¡¾ôÎÒÃ!T:ÎzTºE_ )DbA€¥´­|Ú­ ¯1ô#Í%”ŸÚW|BFÂE ²$$1PÄì-=}@ßzàÿ¢„•­¦SU³Ö¿X­b%½2ê0ûKÜŽözN iŠ ˆ´¤Äð)›i[QqzMÊÉÚ”S×2á%Q³¯:æ@Ù™_ôÑ_øFYÖŽ©ªÙ,²ì¯x³UŒ'-Ó+í ‹âçžm€”Uôü “I²hCøh3 Šx1PœÝ«Ä4Pö]oZŽ'íüÃN¿µªV¿ÍzˆèP¸zö`Í¥Š”“´êSNRyœý1¥g~Ó;t½i÷ý4æf×›7¨‡†IÅêõ&B뵸C5—ãj/Ÿ­½pÊ8H>IÐûT1¿@ l¡ñôÐD îG!\M8V“žX«:Çš†ê¤5qÿ$TýMè¡5¡¡>T¦œªË¾X“™R{å\í¥³NQU$¯I`8 m@vŽ'…šu@ËP—“N%!µ´¡ÀpBREuÊ €Þ´L8JÛ‡“vÝÏ»›u¨)ȆÐJ ãÀØÀš\‡–ŸÚ\=ñsùÿv—ßU™ª·S÷ =´–вõ дT=4„x=ðàô ¾Ç Ï³ ó==˜@èA€‡£zpã½”¦ãI³ÎÕCÓ™Ëíss5G8]-œÄýi¾Aq?JÀ¡B<„x=ðàôÐÌ®7ÝþbI3Åuô`|²ùéÁÍwúšazB"ðAèA>´=óq=è‡ÃÍ0¸XügÚÊœVgcs}X.ðóÆØ9ˆÐƒýÁ]zØ®C͆›Íd6Û˜™¶C9$œMbÌÐ>=\óÉÓ?¶–UVůÓÙ¦¼„ÌL]fæºéø=6›ô kûk¦4@æ:½>“%ÈÔé/„!ñq¶Š}…Õ­úÂYkPßlcfzà•ãh‘·Ý‡.l?Ϊ2OŸÉ´JGm*u­l²‘†© ™±ÜyÄþJWc‘^·ãøºBöëÁ²Þ­Î6f©%™ÙÄ•×ÕCEÂÚÌí;.$d²ºSj–-óz0[°Lc–¦“´=ˆ`°_Ÿ¹Yè¡Å‡–­ ¥êA 1 ô ÀCèA€‡ÐƒNÍìýIÆÀÅþä›nB2„x=ðzà!ô ÀCÑCì]DÕ_ÂHëÇàç/aˆg½ð—Ó 1K¯,¸Ï]w ±ŠƒÚO}’éC>îd¢‡3éVE )#Cj ƒ*ˆd’Œ écË ØÚ êrŒ$™#­oJõ#©ƒ% ”qqau° ƒß /P¤ô“~Ÿ¥ øEíçô£zxßÐ>䎔J:ŽdO¤ÈHò¦’‚PR2ƒÏiÃP6߈* Ìà µsHålŠPâbÔ¸®/`åTé¸SɵI¤|2)H*&«)°PBÊ‚ ¿lÁ€¢`R8Šþ²­¥£( ‡™ÃRIÉù·8´ P1S®úʰ¶ 5 dT‡·±D]˜'PÅÔâZ@Š­æjœJQ1ū䓹Ž>¯ÉSGÍ-yÙ‹Ša¨‰28=”‡z@•s<¦Ô~í¢vKdÔ-n«@¿¤ŒLNıdMïÜ¡ÞnÙ½IÁªû\•7¼½dõ¨_Gôú4ìÞ2ô`& ¦‡Ú|uÏá1û¹{Йnþ±=†Å><,ö¡¡±Ý‡Åuzî¾!ñwIêüRRÇÁÉ· Lºùù䛞Mòè}Žô:zÿ€ïÐPØÖk ´ÿU‹¨X¥[ÑCýbpbño°B[˜,Å Noë›rߥž£.?5æÊÓ!iÏLPù„¨|Æ«žŸÞ+$£Çجûƒ²î¥î ¾ÕOÝnP–g?yêéþ­™p}?×_Ì º)ÙÓ<5¡m´¯Pèf·Í™×6÷Õ¶Ùs½ÔóÚf¿JAæzµÐÀ C㼦ë- XE\3‰ÿ¬KûºÞ¹ˆ|Ô{–üf×X¶{TŽá+TÙWIÏò¼ð|{ž1% n¬·ÝùÄÌŸëæ Çrü˜Ïµs¼P)»‚äM[3Å1ǦKz¬§œ¬1F5†ñêôŽ—{ŒTùŒK~JæÀéYgdõŸžõütußéê>Ó²Ÿ¢é1A{ÿ8ÝAº?е÷×z Ìò|:Ùãá]ØW?üׇê!¹;OjFÒk èaýàÎïöïðÞ ÞÃï#ÞµÀë}ïH˜"3Æ®/êÞ¡äóƒ–ªýi¸ÜÈœøÃJd¡^¿%h[Õdo½vë½þ‡.Ë+g{]ý—üÞrV_9;@¾N™íQ³Æ$Ï«zýšžË~èÒ¾z6ú‘C?Ñ'=×^Iœû©ñåç-BÕ¬ö¶º;ލ$®Óë®Þz´§·Õ¡Ú^SuMÊAü—û¯Þ »y°Úë¹óžüÈô õ¥z8ñ¸QPHn0Õƒ±*õúêúG§µzýÉÍKÏŽ—ÆœÒàS©;œŒšÁÞʸš6h‡À¡fð2¬Öí õ0Þ¨‡ªP/,O×}xDe¨—É…äŸyV!+íÖ\Ôi—e…ƒ½åº{¶=—RµósUåxoå’mËÙÞêî¥ó±»êà=cÇmZehs•Ï“í¢8ÆV™Ï5´ê­äPwHqÆŒŠ¼ÞT€ëMvÉÉ®(Q÷ I{nbÄ0|žZ©£!ó³}çiúÏÖ<;KûÄô%MÄ­þÙíûŸoûX4VQõÐú¥¿€²Ðb„Ð{ôDÄ`HsbãÒØqT r0Tê.s°7šÕ[ižˆ,I#™> ÚVaÐÃN´¡ôÄí‡Qê¥ì ˜å©¬æôÿl{šr2©Û‡Ü‚¶•Oöªœ,׬n†¬‡ÌÞHSµZÞ½úÛáy’`ø®-½O{9Ï>íç,êXȶ«Ùgv8³ØŽŸðÊû|J}ú+öbY9PP"Bg1pzfÀ<õèÙA ³•ªi¾fÀÍs³´J ºŒÎ£´‡eÝþbÊ-OP=01¤>Iöõ’õ:êAB» ½Ô,\WHsæ“Å1Á²X(l§òÆ¥+CõšçšU‡YdíÏT›ƒ¶•{3n¿ë²WÐŒöÿ<<¢WÓ†}Ê7LòTVsÉzˆíÓž¥ÔÇF¢¥ÞÜeyI°wÅYZƒÌvןXfÖâ!qšAJž,ű²)DñYÖJq>íK¾`«•}é„VwÎ…¢„¢` ë±—Óý_Éž=f‘fì"Mp„QçhØBqy]·qÚ»ƒ´]5]Gdu~éü}~B|ú`ù~5ÓÉèMKª‡`Y•v´ÐCÜ–…'‚<Ù+ÆÞÕ•&ƒ·Í]ÚŒö–#¿R}‹Õ ^5{d=–õðm—åed=üÖcÒ`d«@ÉóJoêêÛÏUe£e=°£ÄŒ&5?”I',R–Mõpu·ÕÝk~n™¸lˆyže£M+ž@ŸQË*ÿè¢`ô2î·þ^fŹ(2й+ÀûŒËùªzÜkšñ‹5!¯i¡ŠÀÙzÓðpˆ¦ÛÍ=£³ï ̾gTæ=C“;“rûu—媇à}M—HsÚ§}®tÏ(7Õ˜þÈrÈ)wɶb© Õ/Ó·ý8Á{MÐrõtÚß•†á=k®sþq¸|…•Ýsocñ,ñ…UØQñ¶—æyÀgüSíyǰš!û\¾ÂË2‡êÝ`oÍÚ‰ÿ|ù×]Fä„xUg—€*Ë ¤UÖwRfðBÍ„%ÚIKµkÆDd†eãÆOP?qÎæC6v7ÛT°;Í2OeAqLÉ|Î ‰´š_R%™¡–¡ix¸6’VÙ€i™“"µÓVh§-×NZ‚.#{t¸Q ,<œÕýå¬Fe>˜Ùãåô#’îìKõ1@ÐÚ‡7o3ê!u=ÓCD 1 \ú×|Eº©D;ɨ‡ä¼1± œAzý¦ mêQ4Íš§¼v q‘šå ý¾#Ô!^õíëzH 1sŒùì?ƒ¹Ç¬#éCO•¤‡¡sÔ¡«´³ÞÐâwJ¤v\„F‘.B•å‡3™Ñ#0ãÑ Õ££ï~þ¦ˆÝÚ3=dŽ“õ`Ù8(1µÒå6BÚö9§‚=uÓ<¡†RÓ¶ÁL¼pº¡íÝÑe9¸År‰F¯ p»Ì`æﳋ• 6ÕC ‰æÿE¶&gÎ[ºé+ŒW~3³NËzn¢QŒÎè”ñx°ªW`Â=ÏÖ8ðz8Ý—Ä÷§zHK3¿îàµ_Í‚4“ úšÒ•&3‚nwšY¹ ´<ê[·X‰t{¥;$êsp¤RA.†U=`´±.÷µ÷r! …üÀùêa³³ÏÈzaJæ3ã3”ø'Æd<9&íñÀ„{_õpâqª‡Q=|וިŒ‘¾÷¢ "©ig/ĸ˜pà"ûM8pˆ§«øM‰Ý{áܾ”Ø=™ñß&~Ø÷Táõ¸½¾Z,‚­¼w¤è+×ç½±!oñ{¹GÏ\E E,Ô@CggùJ’è7‰¶ßÿZê’Ñ{lÚã£ÍõÀÚèáHúfÔùaäâXr:œœ 'qäÜB¿¤Í¹Å^ç"HìBBõæÁ±a¤b»ÿ“aµXK0ràõà.I §s%кfï¡8y=LŒÔ¾»­àÃ/ ßÞ”¿Xj%f¿©›þ:.74ãi‚fœ¯1_íÿJÖ‹¡YQ<3^ÕkT|×çèßíEï`Ö>0=Ä ñ„’^¿%õíN—VýáÒÊ›/­ôN]}kê·]z³ÃÅ•·\|Ý;e ¹¸¢mÊR¢YMRæÅÀëÁÅUã¸^€ÊôE•„Ô@Ô霷u›¿)úlg1T±j}Þ’÷s®ÍÁˆbÎ[dêf®ÖáÒ ce Sû½’ÕwRzÏñž¦Ï7Ñ;@”õ€_èá”/‰å=i“Iªx:ÑÍ¢ÈãaŸ3ÓC7&£pw¯ÑôÀ 8Áéaù‡yQ_nÜQ´ö³‚eæF¬ƒræ¾­ƒf¬ÔN_©´L;~‰&("{ø|5šˆ>!ªîCãzÜ[™£† EX¶ÔCZ=zÈŸG(Ú` °è;œEмþ™$4ë禦W-}?7tµ.d±cË€¹ê—ff¡w4ƒ¢ÿÔLàéñ@ï±=U÷I}fl\|JaÚº¹LûzÑñÃè2®,bF&«zP4PòªfÚ(% ySÝ]+€Òó­1ÕÆx/݆¹Õyæ7 ®TïÍì…¡†¬Y€Æz`2àÅÀ”P¼À“¡<¢M}ÀVþíkå•lÆCÞ+¹3ÛÐöy½dÙ_›upÊ#UúŒWü¨$0’d:Ðò e0똪µ©‹lW»”°÷âØ2{eŽE²9Rz³Îø] …ü>˜ ÁÊgl3T…yTÎñdç`y¨GÉ ú@¿ìÕhÃ7Ý슜ùñk]!H"u ñí  °²ym¡T«~UGŠ¿ÞEñn7ŠÑG=fÄF|¤@ãü3ð«k»ËÀ2«&ˆäWYU*`õ»ª#{_ºt"½!iÖ›@$AOpE ìXHU¿þŠM)6¿X/XÆ?¦PFİêP~ëªÏ LE«:Ö,hÿ"½!Yß & ¥saPIW¾ì:”ýÊ×›“¥ÑÎtã°GyTíJ8ë;¡<²qÌ k΀áñw®ôèSyJãGJCGÒW€Li•nI_’„ÌІX£}G¯g“× uŽŽõEhQÁƒOsM|ú‡?¸C‹"¸>xPÀÚÀn‚yÁÚÂÚÁ¼a7Ãnµ‡ýv+ì6Øa·Ãþëë»Ö ÖÖÖv'ì.ØÝ°{`÷ÂîƒÝ{Ö ö ¬;ì!XØÃ°G`=aÂzÁƒ={ö$ì)Xo˜¬ìiØ3°gaÏÁúÂúÁž‡½ë{6æ { æó‡ … ƒÀ†ÃFÀFÂFÁa£a/Â`Á°1°±°q°ØxØØDØ$ØdØØTØ4ØtØ X(l&lìØlØØ\Ø<Ø|Ø«°0X8ll!,¶öl1l l),¶ ¶¶ö:l%ll5ì Ø›°·`oÃþ û 쯰5°w`kaƒ­ƒýö.ì=Øû°`Âþû[û¶¶¶ ö l3ìSØØg°¶¶ÁþûöìKØvØW°Ãþ¶öÿ`_þ} û¶ö=ìØ.ذhØO°Ý°=°Ÿa{aû`ûa`¿À~…ý;ûìì0ìì(ìwØ1ØqØaÿƒ€„‚†ÅÀÎÂbaq°s°xX,–K†‡¥À.À.Â.ÁRa—aW`i0,–áá¾~øµ.ÐQc{PB’CWuýK—ívššy¸‰°Ž„ÚŸeë ›I7Ò†ä0Kgìl¿DÍ·§œ7 pKúÿö¢¤kAÔEm׿A}ÍÅÿ'?º‚©õ€åvÇŽR©“n'†}ù@FÆxŒŠȰó#Rd©ÈØt29‹L×°_™9dºŽLÖ©:º0Õ€‰¹î@K1Ië,(Ì3ÚÛÎ+k·¤¶ã*ý]¥è¾VÿȇzŸô>õ/¬§¸‰âÅÍõ‚%p1løÓp¢ç ùžÓt ßsAq»È:ð¯TA·w)P Eê`à#Úæøž"AdìE9¹™—Ï€ºhQÞfQj„,­m³D°eü*‘lE¶]\‡Ó‡¥lÁðXPç,ÈüŒ!“ÓŒ@#?KÇêµÀ@ë¢ЭóËŒ˜S,`'HŸ#dD*åìE\(µ ãÕ#”Èyù4MhŒ©y¹ü¾§è˜§þ˜qNc€ „ØÃ!`b¶€½xh‡5þ³¬ò¯pÎÑ®‘F¤æCԮƸL—Cqg¡ëw”ÿg<‡Pþoy=©ÓÛ©Xuéæ•—¼W^ºuuêmo¤vxóÒ-+/z¿~‘,Ii»â"YšBVkÈÜ£àyÍ»˜ · ø§W[øi~ŽDÄ‘…çÚ,‰÷ZŒåsda,ý];x³š„Åúo¯¨ {«dlŒ•6Çõâoîú÷ù/y1ž]äžMK=á@ÂÅñé/ÅƒÕø {cSö»°'6åÛøÌ¾&’ Sîoyš;îúô=MúÇÓQÐØtéjÌ®ïlf}•álÊÿÊÒ4Ó»i»uf‡ Ø]­×Wo]A—#c¤"Òí 8Ùç`5qÀÿsñdp*åû<Ê®ïÞælOÿ¸j6ÞÍøW}þÙ-]×(ð~!Ù‚ÿ‚mA›¼G±²\XÞe‡+—¦$ÀÝôZ'œsŒ÷Ù9‡àùVø¿þw¨óÿu©MpL›iyíÀÿ*™3Îëã«^O­iOËRp9fÑcŸÓÊåXqÌà³³ùÊ@bàÿúß…‡m=ÏñŸGoBù¿HBr8lÕðÍRá¶ O–aË×"Ͷƛ컢ܴMCÛÅ6SfbÊå}Ù^\âC›mïn²)mwµ<ËÍ“ÄÏ|®/¾,†d¶ñÀ Ò/… Í¢mQHÇÿuæiÿgR›±qŒ¹ Vò…­ÞºRº3<¹Tº¬mŽF|ž§×çïÑ[3Ù¹üµ× ,ýøˆ.4M{ŸÓÆËRžJ›¶üˆT}K­Ä²šþ‹÷„—­i?]”i»Ž{waGÑþ‡L‘ùî‹åx–¸ýª 4ñß/ÊüÓ<Èy>oâØS [3 >[ËA:»+·MŽõ9öúÚË!þ'æÚÏÿÂ-qžA'Ú„dJ ÅÊ«|aÛwÙ ’åȯ>kßå[¯ {j$ýcS±T/( â˱böø iLî´òôî…­ªèê·Þ£¥]Žü(etLÀȹl[Кr‚¼Õ{õ݇[M<Äü/eG†7*Mò4®æÊ\õ‰e)#ciÁ—ƒº`¬VÈ[gh­î¾ì„Þ<ЬÒÌò$æŽ}^vÖZ>qß—È«šÊ€ ¥dâõþû«$þsІH{Ú5¯ØÒ'<ÇÅzΩdU?øœ‰a [)ÿ4r$] ØW'ñÿ©÷øŠ­ZV–^¡•†bö2ì(ïnš'·š/sõl<«ý€=uRË¶Ó J˜\ià_'§É+dø·ÕRâ5üP­}Ÿtÿñ4±’Õÿa)Û ÿ; ‡3Ëîè5àSÖª¾:í%çS?º'Küçà\2ÃPw4TÙžçoéæ“žã϶™_…*O¶Kî².k¼øORRJmËNïñì(×@Nû™¹ÖwŸ_ª¢»DbzmM€â*Ÿ§¹cœÏÒá¬äWÍ9cF…50þGjhg7£¤óàõú¿Ûá…÷:ô¯Ãïšá޾¯{NIð «<ªòN]ši%¥í¯¢õ2;ó°I´Äÿd®,Hó¯«òFd6­MV§\¸º¬'zìbàê¹$câOs•t‡>ÜÒ¾ËïÕõíÎ'®Ûºú¨wÏ£Öó4qLñy—Wh ÙœgÌáõcÞóú3Ç€&c8ÕIAJ íO)=žQâ1Eç9-»M¨¦Í+Z íl]Ûy9m_Íõš›Ývžºí«ÙóÔX¥1‹kÛDèö(AfóîbrJzÍ¥ñaøøö]>óžÈ\ïG±¼ËKªD2v—¼õÑc,†F®Ó§™^ÓÓKy¶þ‚§!1Ÿ =ôX[»›QòçºyJŽ|žSK€ %‡-ÞS¤˜)FÚ÷<&'³»bþÑ¢§Múüª6áÕmUµ[TÛv±üT‘=sTÀâOå"Œà¿A(²ztñî.€ÿ¬ (ÿó«Ú.¨ÿKj-ù·]΂×{zÖ¶žg#YËà#.å`gAÛ°JóZX"Ÿõ‘ï|¥6­ÁÞàî.á_¥ðÏ~ÙU•t"”ɵÀ° †­“%X†ìÜq1®ÓÆ6e(üJOäÇ(¹ô~B(í‘ëù7æW±1ä&l¸6Ç·óz[ÿ¾³Â}Dq)ÿÓ­Èü5–Ò²=.ð$³e9g‡\ØÌ„<«iv$`cÞZ)§•+G‘#¤Î;ŸgðÿNì®Y$l;ÏìG SIUCãQMt=|×Á(yÁPe|J9ư\ÿ ]Ÿp­MÐß~¼~þë9”4ziwyá8«“­rÌÚºÐtù×¥D‡I|ZêŸUB)V•šr{8™­3=wìá_¦ ò6H·aüó1&Ü [B¯W*¥ió/³g¡!˜Å›¥7™ÌP×k$MVìØž™)Îáßz7a¬…&Í¿Ôæ„¤°jÚ#Øàß‘þÂdü¹¾.·\[Am3þÍ{=i <Ú"9Ï㬋1 ±š8ÿy´11U;ëlð/í"w ìjL[l®¯”ûYŽÛµ Rü¯±6Ò˜7A4ž)_Þ·©·?:Ckoèä¶'l–-ý[¶Tðïj4Mþ] Áá¿eÁ¿{ƒàß½AðïÞÐùoIðnnü·0þÿ­‚Ák†àß½hvãÏ;ùßùõ·W(MÄ“F‚ü»ñ ±éxÒA´?î…à_ðßš!øw/Äø_ðßš!øü;·?1iåÏ_ÞnYÏÿî Í÷û—–ÿî ‚÷Á¿{ƒüÓïV }jdl¼Þß /ÅŒü§m à>Ûˆ<äNìä_ú˜ËøeJtØu¾R¹A’íå?`kš²Ü<« ]»øòµò6¾/ì ßÖÉßÙéUkéåï¢Âø½ìzÿß„n•;-”u¥fE²ec"> 7;ù÷µýY–Ùvrc%íbUÿJzÃ÷_2í†o7¿­E„qƒ¼Ä¥4ÏÄÕÁ^þ­¶!õ}aG±=œ¹ôf ®×X]Ÿ¾_` Œa~†¸½ë°“ÿpK5ÚøÂÎ*ÿõ¥wÿl•rkˆ5&ÀH–éw»æù`'ÿVú__Ø™·$æ ‘Iz«ü;Üþ@â’Ž¹H³ªˆŒŒ4¬7`'ÿ¦½­<þ´ò…µÏxY2ô¿Ö¿È»þ‡3­ ÂMHå–m”›‚3ï¿5òÌæü·ˆ øwo÷ŸÝÿî ‚÷†æÈK‚ýãOÆ€à_ðßš!øü·fþÿ­vŽÿÅ÷w;ùwãbÓñ¤1B³»þmaü þ[3ÿîæ_Œ?ÿ­‚Ák†à_ðßš!øü·fþÿ­‚Ák†à_ðßš!øü·fþ›/ÿ®ü³Ëüßè4ÿc…Íd’Ö.LÌåP`ºšK‚Ôôw¤FZPK X•bFf’¡YX «?4‡¼oö>ÆÀMöâÅÍ&@Ì ëM~ëƒÏæè¾–¢ã*}Û5p‰øüWñç±(»ðȇ2øU–-€ånïš‘üê]5ÿœ×xR†RúåÐVþÌ©uŠ“’WÈóò€;Peéã|2§<Ÿ5}`ÖŒYÓû«§?¯žÞ7{Z͔ǵzèÆÝÊ9ZÿöY½’ŸöÜõ°‡ì(‚?èX;}ìVg?¬z…w|Ó»ÃÎ>¿ïÓñŸÛ£{ßúÓ“·ìyÂ;ºWÛèžmö<âñÃCdç€ûscçn(6ó§AÊ19鼦TÌý¤Dï`PçÕÌ*öz¹Ä¨æýç;0Î)v²O¨ÀÉEœøÁeò/[P€6sT!ýe[Á#Ä Š?CUvvå™Ö7ù¥’Á0袼:؃_ôV@¿¹ÛÂ~Ñ>üñð‹µ¤ñÀú éürû ù¶Fÿ‹¤Û7¤ãn÷Dø#üiþ ±º÷ áO³óÇe›Øé£ã„†áðGø#üiÒþÜ'üþ„?Ÿ¦ëO?ß×”®/¡?ýRø#üþ4Š?/“û¨?îšv©>\Ó>ÛïÛkJø#üq†?Môþ¡Û=1ó§ ÇšÚý„ð'» æœªöTJ屄«‡â®Ï^ýåLÙþÓûN•?Ÿ¸ºû廎—¥fWºÀ8“žSw1».1:Ä]®9{©öÔ…Ú)ÕÀñ䚣 5¿­:p²Ô^nàúÌÀ™”ÌšsWjáóädJÍñ¤šã pæ?qÔæPMŒ™˜K5pƒáDR5|øõl­øóÛWðÓÔü€©`.K‚I®V~‰©ÄT³×øƒ³ Ì0rg®eüÀ¸ fŸäàp^ÃS)µ84Ñ„j`ïÙj%†¹d·ž/;Å3—”e8æJÐâ)šáÝPœ‘*;mg}Ý?{NTЦ†ƒâÌÁ„êƒ ²??ÇTýlo{xCþDÿ¯-a¿'ÑŠû%±æ§Øjѧ«vŸ(w?ßÿ^¦æ¨ÔM2þìK Ø}®fWLõ®ÓU?p…~ÁŸ:ßáÚ:¸t$ž¶É <Ù{®@eÁŸïOVFÿ×íÏwGÊö®°ñþ³Ï¿ Ù*­ vWRçn2› ÿÆ;ó–øç zþÅ˳ ?Ør#ÿÜcq©±AÄ7Ñ zþÅÃø×¼º›ƒcϨ㟶›=+tìùWìG³ ñ|Ë“Â%c/ÓÜÐü[<+WÞ¨¯ÿ½þó/~wã°G9¿ÜMc“âÿ:P^Ð¥´sÿÊ³ÚæÛW6kþÿM‚Ák†à_ðßš!øoöü7çÛ/nGø7¿ëè"þ¹ç_ò= {b¬åcú)“µ›ö¤qÿŠoìÞšëø7»p¶'ÆòYÎà @ã=={Ò4þYy%þ£ ·,¾í2ž#õ§±çù—øÏÓÕw¶š>Á±'Màßø…1{k¼·LÓÈ_Y¦qèù—±má¿­¸^Œ}ü›EÚ“Æü[Þ4¶ñl…} ÑÏ¿ìˆQž™<†6§Ñbw{Ò¸‘3ßÌådÙØS·Öˆµ'MSæßjûS“¬êþÂõÒÉbOŒmþë;œ=iš4ÿÖûßúÓØñü‹KlÑ}×c þÁ4XyNm_÷ò/ øo1ü þ[3ÿ‚ÿÖ Á¿à¿5Cð/øoÍü þ[3ÿ‚ÿÖ ñýµà¿5Cáß5FÀ ÿ.ûÃ7"ðA´?M¤ýq»'­í|Rÿ‚ÿV Á³à_§IÊJ;›~ù”*õ¤ š|´ñ ÅɸråBéÜU^;ù‡3Ùéq«6}ÝcÂ2 ²e sà[óþþ…6+pWyíä:3!on?Ûr®’Ò´(ÑêMßXêßeåµsü  „CgSëZT¨=töÊ•ŸsÑ]嵓´„8Yjkk)T·TWWU”• \…ùiî*¯ýú‡?U4T¶\+/+)*ÈA¹Š Tî*¯Cü_»võÚµŠ–«WËK‹ òs²mðï‚ò:ÄEE™„Ò€òò’â¢Ü\m† þ]P^ùg{•8)Ÿø+/Øû’H#S6úûoLa öG þµýN>hyyqqQN®6Ý&ÿ7P^Ém9¼ös}ÉÚõqˆ¸M=w"ÎâGü7œ—W÷,’ª üü‰â÷Éyg‘¡¬¬¨¨P—£QÙä¿å¥…"û «û—ÍàÿŠçÎ÷Û”ÌÅ$ìïÿq²òk¶Õy(--,,Ðê²mñßÐò&lò·âvò&?Ãù m•ÊèÿŠçNCõ!É$rwY¸—ÆûüIÎ;–)JJ ò5Zuš þX^8"ØH°w!‰Ø-%#ò_”–8 Iëýý×'™D‚ÿ{ò7. æ[†’’ü‚ül­úŠMþT^+…2Äû¹õIR2‡øWÛúQ_Îõee‹(Ǔݱ…tü@À]p{(7ƒƒR©„?ÂáðGø#üþÜ?—éNø#üþ4†?›Øù.üþ„?ÂáO³ôç2½á)üþÉŸû„?ÂáOãøCïÿ„?ŸFòçrÓ¯ „?ŸFõ§IŸ þ¸}Âd@¯×+þ4êä`ö‡&[_n÷¤‰úÓäîÿ4QšÈ|˜Š?.þ>¨¾ù!\ÙÈØ˜/Qñ§±çë3 õÎ(ùCÏ÷&2ŸžâO™_Nñ§‰Ì·¦øãØü]ò4YΟŒóÇ‘9¯øi»œ:—âc3A)ÓX9{~*z}*½°i‘<©Â¢}Ê„N\ ÁÉ|Ê£äF˜¯Iñ'b¯a†:¯QüF"Ç(SñY™þÈ9ó)þ$ñSâ˜MŒÃχCƒ4íOC'ü±=ŸâO¢µYnL¦¾1›4Æ,ÆIóÛýas¤ÈóÐÉ^"ö(ó¨Ð‰G¸Õ|nZ'Ï÷Âùc:ÿ ø©Q¸Ue —ÄÍOb{þÅŸ&2ˆÒþ4‘ù1šÈ|Š?MdþÅŸ&2Ÿ€âOù¾Þ8þiß›SšÚõ©ðGøsÃþ¸ÿCÎ<ñÙŸë|chõ£BÇ?÷»Î·{_Ñ…»ÿé‚ïËÅ·cdãI¬†;`¯’¥dy‚ôÿgÉóXò‘¶yÀ¤‘]=¬ïßÚCW³õ ›Üâ†"ˆÐ‚ƒhhí!Û(ù>Ü [úÊ’W_‹|2l©´¹rÁœ'_Yº”nígÖÂÓ½'Ë˯{t’þ:´È¢xí¦NòÒOÕ¦.J|{ùÿOÇw'7åvÀR'Ò§Ýú7hŠ”[:Ië½O>DRs:HéÈï@ºD½ÑižAú~Ü>¡>¿©k;¶OЛ’Û±m"lö)Š^}SQeº'íÑiÚïÚ®#Fó  ]!• ñ¶¶Û> ì®”õØQ˜ ǥ뷷5¦‹B:~ïÀö!yÆrÐÄÚ¶ÈDð8Qæ’r{O±ìÝbðÓ;ÝCªꧪ«J*#ý_ £yz´¹Ð²lÅ1¦úv·ðya¶§é.ƒæE÷™(óý©|̨½Œ›¿áÿO¢¼ó¥éB=þâ¡êý÷7öã“[Á«Êp̉EÙ’o÷ >jŽ[Aó6ƒó™Pç4Ô ¿ïo³‚úH×ë°?Mó',·1Ûïö1ìû Öo!L톼h º iþNøÑK'âŸË|¹§˜•·¨-+/-ßÝq/¯ i¤:¤œ ï»nYñ ø¦ëq;VÜÄ—÷klßý‡1+ä퇱~ T…Ðk§õo|Ò‰i«Ý±£+h†ô8¯ïx‡¾vý_âýo’³ÏŒ[±±ÀX4ôÄÿ{ G=ë’4ñÎíc$}^+ê@üé¶ÏþüÆ\˜a?ÿþ£å£A…å÷=Á«Ý·ZrÿÄmódyýËûö­# Fud¨_ƒ–iž*Y_Þ¡Ä µ±Ÿaù7,×—éC´¶ƒh7D»!Ú ËvÃÞ@O‘WΜ7g©alckÈ(†“Æðÿø­Ž7ªxœí} @TUþÿB§ØÚÒ+KÍGf/!SKQ T1Íš¨!béföص~µ=6Líµú«lÿýz˜ÍÔÝ_­æÖþÚÒ`  e€y2¼†§ 0ÿϹçÎ;Ã0Îà03ÀùúùŽ÷ž9÷ÜïùœÏ=çܹg†ì¬ë”¼©˜ØØd@ÚLW’>²´¸¿yçZBþÿùÁÛL&“ùý+àŸÂMܺ…µÂÛ¼7¯Ù²ÿ2È2¤ãÿ ä)Û®À¡ V׺3Ç´9™ÏYsõüî¶î|~w¶? Žùìo²’~¾î³ë &w—ç’”ûÞ_~ï÷ ¶§Ši8;=oŠðú„«á“~ÄߎItìq¶þŸÁÏñ¶ýÈÃ$ gï¬]…±3ü_/þï/ž?̧ þc„ÎÛÀNœ?¾ù!VóqôšlŽù}á ø•B ‚ÿ~5üøo‰0 hf´!ýÅ:Ý@¨&hÛÓØ¹~üfø ø-ð[áƒáCàCá·Á‡Á©XFÀGÂo‡‚ß ¿~ünø=ð{á”§x(ü>øXøýðqðñð ðàÂ'Â'ÁÃÛ2…0 †Ã"T‡„D§Á§ÃgÀ£à3áÑðø,x,|6üax<žÐkˆø\x"|< >¾þ|!||1| |)<¾ ¾þ(|œ*q%||5ü1x*| < ¾ž_¾¾N¯œ ø“ððMðßÁéÕ¼þ4| üø³ðçàÏÃÿ|+üø‹ðÿ‚¿þGø+ðWá¯Á_‡ÿ þ<¾ þ&|;||'ü-øÛðwàïÂ߃ÿ¾ ¾þßð÷áÀ?„ïÿ üÿÁ?&lŒh“éòs¤í…ßß??ÿ+üKø!øWðÃð#ð£ð¿Áÿÿ_ø×ðoàÿ€ƒ‡ ?ÿ'ü;ø÷ðÁÿþüßðá?ÁOÂOÁ†gÁ³áÿçÀçÂóàùðÓðøøYø¯ðBø9øyx\ §ïx)\WÃ5p-\×ÃËàx9¼^ ¯‚WÃðx-¼^o€7Â/À›àÍð‹ðx+å.t~ìú7ÏÛi@÷Ísü1¸°ã"Ÿ€¾Âöƒhsá•à§z“ áºõÿÁ׎éGsDüvˆÀØ.¡hI´é¬>Ù¹yÏ3‰ç²Ž»òÃ>mº¢<ÔèÓOçiõ½¼¾®êáç"Uv±õ°õ„¼¼*G¥zy}]ÕŠ0ªþ»PéœÈ/ì:HgAuР^í¯—ÞV_WõÀѳQ8Yz¾ÉõÀÁõÀa®9¸8ä8f«oßsó¦µ×ûŸìåè°«¯wY^ׇçÂ\{žÅѳÁõÀ!ׇ\rÈÖÓr=pp=pXÁÇõð·ÝÏqtœÐƒ/þþ$"÷ö'¸=и¸Éë›Ü¸¸Éë›ÜèáœÓ¿'öBxx>˲{Ò’"mcƒý¼å„è:Î{!œ°”I$¼àd&׃gÌ3zØ£Ï"dMÁþ5H™ôFÖžTâ8¼¨KêáýÛ•ô/fÐ?BwÌɹu®ÇevSóŒ^8™%OYNrÐA—Æ ’qÌt,Q»ŠŽe'SäÖ¹—ÙMÍ-zhßÉwNR9Ò°âŒ2H»éFs‹l» Ïêá¿ßtŸu…<þyTW×7¹q=p“×7¹q=p“[·ÖGW ›êÃÃàzàƒëC®9¸8äðq=x}ÞSÑ}õàí›õh\ÜäæŒ ¸zyQ$õ “Kg¹z¹¿BÂ3¥/^I«ë™* ºàûYÜ:mŽô ýéeëaÒYDfß¼ÎTÑEßÏâÖi󌤶Ò`a÷;\nù~VÏX÷î-óŒ¾ 0dsÖ-ì¡«ô×H_Ãaã…[¾ŸÅ‡ŒË1gôà–û &p‰W©Óh?{¼üïgq=\ŽyLôk¼áá“ÂרmÜN€]aÓÃ7Â]†4‡t£ø|Òæ1=¸ü~³+Ì3óÉ.Õ77š=œãzè}ÆõÀMn\Üäæ”|{>ÉÍæÔ|ÒWõÀÑè¦zàð0¸8äðñÏ£8<ŒBóßSãzà(àzà°†ëÁëóðž 'ôÀ?ê-æ@ç¤õÕ\½Å¸¸Éë›ÜœÓƒÎ'Yák¢ÜfŽæ“濇â¼ä_ –R[¾§™.ÿž…|õåüý,®7Zé-§·ùÛÒ_K±«‡N?‹ëÁÖEz MÿÆÖH jó=,=tþûY\î3çôàì|ÒnûÚŒôйïgq=¸Ñ.ñy”‹÷¬}1a@·ßþ¯`°ïõKCvÙ÷n.óïgq=¸ÑÜ®‡åû³Ø9Hm*}™—µ>ûb _C¿Ø» ϼ̿ŸÅõàFs¯äßÀêê¿’ÃõÐæ^=àê–=“ë¡Û™{õàIp=t…q=p“×7¹9£ß\OËõÐæÌz×77×7¹uk=pt.©‡³c¯ôA=px\rp=pÈÁõÀ!‡L¾øy‡‡qv"ùt(ׇ®9¸8äôuQNC²"ü²#Lóï‘bdfù¥ ¯À¹Çàç tUuÐú…÷oCÉ›7Xéád}WRBA4a(ŒõcPÆ‘ÒXR'¢8Á²Í€w{”Ó=ŽRcÿ­ÂR8U@˜ˆ³“Í»SE°¼žy¢`‚ðz?ÝÀ+Z¿lÕëæþÁ#Ôt.Ņ̃0Ì'å‹He2©YJŒ) u«-hRýlКBšVøQ$£Å³ð|› ç]D., õÚù¤!‰4ΧÀF]"©‹7¿² 3ªãIÕ,úÊÞ­EQ5ÃíõP9ŸÔ,_É@Ã2±é›Rû0´¤‰¸¸& =ÚRýf¦ÏRì °Uã"І…5o­tõÙVK¹Ú˜¹²æá@*†éVz(‘é¡>Ù2hJñ˜Ðú­ëúRlѶ¾Ó†é"˜*ì⻥dk°Â0]á O×Þ`Wµo¯ÌίùÕÕw~|ݘ½ýB>¿>ôÓ~c>íº·è׆ì»zÌÁ«îù«âîC}F uÐïöCdø¾Á“öfå–·¯dÝ…]=@ L좳QB[F;t ûx%ÐdR¾÷¾²|fÐ%rº~¸×[Ê+’`zh­Pšyªÿ„“7O>942kÄŒ¬‘3²†OÏ6#{èôÿÜ:-çæiyÊë?5ÿš°¼+È¿âþ<¿1ÿ!£O žô9: Çz`Ä€þ¿yÕkt;zèX v+bz‰˜LEhÐÎ]à—yxÏ@{1hÓkÆ ŠøuÔ¬s÷Î9_bÑØ$eH¢2džòžyÅ£KF$¨Ç©nœ¥î¥¾:BÝw²Ê‚’Üû2ì3=àþ"g°l¼XJ%ÁôðÏäÀ­ÁA[^%ÁœÉPÈÓß 2-WÒÈÖ;ûƒƒÚRöþÂÞýî1EÞ Ò±Rþ3©t 8ó@¼îR!@[‚ÂÁáò̈§m©â’e"0Cj Ý˜¥ØðÔ¾"míúm¯Ì"ZÌó´éõ“ΈQ†Ì-~`aiØUØRÕÄ%ª–¨Ç/Q‡.ÖܵP;"I7x®þÆ8ýuÑú H]`˜Êÿ¾|¿‘ûq¬4øWÕCþ0:ŸÔÆÐ{ ¦t-/à,Jùô£õk%ú õ:…Ét\J¬2™Þ‹Û öLú]gL¦ýÁÿ[\ñØ¢35­ˆï8Vøµl%ò¿vÔh2mõä¾à ‹+0;ð­)o\”ÙðŽeÙ仯{78¨åi…ÝÛVJ™ÛL¦Oï:1Ja·Ly`Í+¢L:ó¾àvKhÙ(®DkÚ´\õÕ·õH‰HÑ„§hÂVh&,׆&ëF/Ò_P†ô6^¥¿rª:pÜiÿÛ0=è©~¸Ë¢(ÄOõÀ$ÁÚ£.Š^_;è\"’ Ë¢6b·íë(èáݸÝÍ ·ÍÉØþ¾ØtbdtSr Õ-áób™Ú©Šfôrº]´ið“USbÛÝ$Ë©Üû¾²iž¢íHÔd‹ÛmXd÷ðÚÕ8\ùÍ·&dÆ-º¢¦ä¨‹´µ*“"ÆvYÌ-ÏÚ-ábö1)v^/ÜfZ €÷›ì–“ÝQ¢MoV4n~ Ä0s•Zºd¦­Ö„¯ÒN\¡½¹îî%eR:ºˆ«#5AO÷¹ó vÑôÐÆi¼€Tè1égL=L j6ßr¶îo&$6%(°ÛöwQóD=ìŵ–L5ÚŒ®OdT†f³J§*ä»f=äÜÄrBå(-nw½ (ö®Þ¬›Ã/~>³\Œ|h+ Ë bì5=BÄÀFD×?Ø€]­sÛ¡¨ö%°ß™Xþ~4jýÓGJÅŠò: À˜(áa°[RµJ=;M·V#5ýC«µ“R´ã–ë¤ féúÏP];¥àª»©˜ ï!GF‹z( £zP'ŠCAÍÒE©n<™¶n>^:-¨nUŸ¶£TïXë÷ÂŒöŒŒ®Á}ñB"¡i‹Ø‚Å“ò]ÃdQY¡A,§)+=õÛÁkâ E=è–Ù=ÜôÓ6wÖÈ\dÖƒT&+G ¬n¡¨‡Ïƒ7š²ì”@ÜÅv›´¦š…Qòº°ñ$%TÇS Â;.Ž|T5{fÎ:mÂ:m|ºEa)Z¶a¬o:Wwsœn`¬v`´jÀC§òW¤O?¯fzøaýÐ’ê!Þò±dÓsV“··ƒƒê)š_îøþ¢ÜdLQ´¡zx;nw-ô pûYðƺ$Q_ˆ®L ÄUBãSb™ç'*Ì»ÊÏÞWÖÍõ€³TÎVœšMZDÕ ,rÖ%‰zhLSØ=¼åÀÌö™ë¦Ù–Y7Û*0c‘bn9dçtMB tQ9ûIœîë‰6Õñ<$Ü% Îй%1©ç>®·^›ø¸ªˆMÓXkÜ42Q;tŽvÐlÍ XÍ Y¥ƒ¦ç÷»Î †‚ûé´zÀý¦\eæ.¢ñyË|²Òza:„†UtnP/Lä t¤å‚ª0ù/Ý n? Þ¨¥z8Ú·G#ÏO!AáÓo þ)+™¾Ý96ì6 M€¢þ¾d÷$ÅÖ¸ê%´+ø×"LïYwmøÓñŽgéßï§™ÏlƦ³/zQZæßÌeæÜ$ìì–ìb1×o l_ÂÅ/£šPÓ$:ˆ|ÿþÆO‚£ËÁw!—€&+¥z¿ 4~­6iƒnÁº¤õÚ9éšØTÍ Ù\â®$õÈõmqê[cÕƒcÕCg— ™?à~zÁddßAöޤzøú&’3Ž>ì(‰£O.t ˆ~i0÷ÆÊ©A•J0>J%!…õ¦S´¿{†¸è¤w§LòºÔo²º¿¸ˆ™Ì¦]eâx¬þ”‰ËŽ’g.{û˜ƒÃmÞªü²¨}™Ò†˜éý›ž˜©–%fØ-¡2‘H‡HÙ¼u¼mŒùáZ Õäť 2t‹7éoÔ-Ø€!C3{E ÌnW {X5dVém±¥#.wãxªˆ€Ð?¦ˆÃú=”ÎõP·Åªsfø5<ˆ‰A¿Ø¸(è᭸ݺ8…éç ô½oÔ@§2j´&ub”÷Ù³†M`Øe1w=˜{«Çî2=¬þ½>ukYʳú%›,wËTa‹Uãæ[$qûì’Ñq%wÅ+GÇþ2è/Â:¹~Or&R='ÐSkõ ïm**™äz@§­}zò㎠ÑdÒ$exŸ7WäÑ`‚<:s¼×`W˜-¤¿dxü$!5YìjõŒª©KU.,;¯DJ¿{NÉ=sŠîŠýå–E=üpÕÃÇé>H?¨Ì™B×½Ðå.s©Ðÿë—P”-óc`JÀÅš ™ØÂ ¯·rE¼uG’pCñÔ¶ò-ÛË׿b8q—¦‰Î"Öj!‰é+Tá‚$&, ½Äÿ[’X2&¡è®Ù¶z`ýôðm(]uz9›@Š!*´¯µ˜Ø”@_—ˆ‚‘$Áôà-I@Æž:RÃf€‹WÒÃü ÝwW¾þaÕs;+Ö ½ÄŠgôK~‡Û íÜuÚøµš˜ÕêèÕêÈGUS’U˜QŒ§=+g฽8£ƒMÿÀô=ÍzK‚¶ûrñÕ−`‰öúÀÃMãx^€Òz¢R@a¬Ú4å9ýÛŸV¿·×UlÞV¾áUÃÚË0£Hy“Lý²§õ¸õÀ ÈœušY©êˆGUãŠÎ¹á>ú|£ôð·ÛD=àzø1œdÏò³ÑÚ]R‚,IBËàíQ£7èA  D¦‡¯—g~Tµããêß«|òuCúKCÙÊçôÃÒ§tKžÒ-xR7oƒ6.]3sµ]Dh¢rØôì11‡›ÊÔÐ éÛíõPÔ*V ’6,ÃG»±ƒÃ]¤(×?“„vÛÊÂâæ'^5$?­O\¯ÅÜ2j¥ú¡e*Œ“—RL\T Ü7¯“P2*V9xZáØ„ìœ‚ª¢—V2=MçÜ@·qgq*†01ØÕƒ¤šÇ,°ÑFe2a(_äè{¤NXÞSmÌ Ôo_y±Üö¨Kšò••§¦bª€)ë ¤£s€˜ äb`J0¦ù3Ô§t¼+_}--Éæè:°Ï å7}íÇk›Nšr _£À€_"¨$0“d:Ðó g°˜š×´eôm}‚°uql›-™c‰lCLVÖYÑõP´¥ùy줌pÆ6Cs*]ÏÆ®Áúd?º|åaÑÂBq5,¶å]7û{PÅžU $QfYƒ„ÉV·ª4€f5mîOñ‡›(þ8”âõÛM™wZ°#D„<‘£ëþä»/mÖL(ßeM)µïæþl½tí|ú¤ÍhI½À%1°s½&4ý¶)v†Q¼=¥C° †ƒxº¾PG¤°æ^;šÏLE›û·¤õÉ™B?ìhމ†4¸0(…;_vjùtb‰ìÃLó´GzÀíIxx)‚n§aSY[Ì¿ £Oé(M†ÆÐ% @©°Kߊ¡‹$!û6;|öÌÞâæqksõÞ[2?Büm5ñÉË AÞÐ"7Ï›<~<ÞÞ®€_ ¿ ÿ üjø5ð߯…_ïï¿~|<>~#ü&øÍðAð[à·ÂÇÀ‡Âoƒƒ‡€„ß¿>~'ü.øÝð{à÷ÂÇÀCà¡ðûàcá÷ÃÇÁÇÃ'À€?ŸŸƒO†OO…‡Ã‚GÀ#áÓàÓá3àQð™ðhx |<>þ0<ŸOðëž}éãÁ„P7ÛZÑÂé(~¾Kôã Œº­]AXGBýyÑÇÀÑ7©Ž³|–ÎæøCÔÍeû‹eS3 ¿}U÷#+3·T÷Ù¶…ÆjÀÿÿþç‰M„<#düÛ}¿;±‰î ¹–˜•‰9å7+ 3NSDˆˆS’„bòˆŠ,ѲW¿eed‰ž<¢%‹ôtc‘ó Þ@¥G±@ç.HÌ3Úû¬ªë»¡µÿfÓM ö¢éö×M!¯™Bv˜ÜF¶“bÊÛ‚eð0ÄÓpcäùþ‹õ ß?ÍØ7£ üKM0ôh…;3-@s0È9:Úç„ÿHâJHÂY¿@VU0 -ÒëÖ5£EÈ­LÛÆ«”È6XbŸõm¸|XÎ ¿´6wAä?æy¤ÈtòËõ¬-Ð ´-:}wu)F'AB¿%Ñ…”ÿ„³"dM µ‚ˆÇj,WUÐ<É•"•{úî ð„ÿHç<ð/Á†sš‚ l"Ħ@˜ó5ÎbøÇöøWÙå_â\F»V˜‘j­˜OT{sK= LÅÝ…ŸSþÃNúO³åŸ2Ìx–ZaY™%Q.x¹æ=L…WÐüÓ»-¹ø—èÛ ËDò1Mµt8vûÏ‹¿»ë?ä_dJŽx“‹Â¥[ZY€ÖàŸÁ¾þ½B~·ÆM_“ñ?‘‰9t„æ@ ÈÜRWdý¹„òh%k€ñuø¢Étq×Ó”üŒ,diÌHêNügœBÌ ;<Þ}ÿãrÈÔBÊ?ÄÂèÿÊ÷ß»jàV Aá¿¶ã¿jwÜ[Š8]ÆÏ¨Ë™Á&ih½´5QÞ¦×>á²Àþ…˜½˜œÿxµ™ÿÆ¿bêù€GËÀG+Ä«`qyÔáÿ· tú²5(ø“*¡Z%ßG8âåzÙÂN`÷"fŸá?®„và ½º™ÿ ©J‰yÆ]:y·DùòÛnÊX`Ø¥•½yÊHË,ØToݧ]ܵ‰½e¤ÌœªeGÉ2{ÛñáVo}Yi¯Ìz›À2Ę/dtXB¥ìs¶®ÀÈ„2]%ˆ¿Œ~–‹ÛÉçe¿!ÕºëcŸUu«òëŸE»£è÷ËM¦rAÿU»KÙµüI`’–þÈTñ÷ÑÁB—ò“å#â§êå}ÚÆo…æÛ` IW(jÉßI6Æm Z¢F΢ÿR³³˜Žÿ©ãÃ…ô¢ýß#sÐæ34óËgEþi™˼7Ç*°{ÙUbŽy“¢¾DïÚ´;I8×û8ê“@ðÏÈO®$Ï5É+ü¶bQ]à‹Íhå_Þ Þ«H1FiûŸyµ‚TP—Ï“ꎱjŽø}‘ÕgæO5²2ϳ]ZÚûŸ)f ‡|{€žev%™}*êz¶ºÝq[iÎ$ñ]EšýÃgÚÍ<ͶÌÀÙÖ%¥˜£Ù+áOMìjxr6 >pb»ê¸ ƒsHX!å?ÑÌÿÒò¼@5*©õOi XÝÜ'µ)pO+ÕÆæ­AÓJq9DmøG1¯Q¸.P—½ ÄjŽüGàÂ"DZM“‹­w "W¡Y,§0›*Úêâ±Û ¾»Tg÷ð'0Ù-ªÈ¦LbX™ÿϟ̲[BVÔ¾qWÛeS—ùµnøŸ¨ø/ɶ¶°ÚMÓ|9ÿ”„&ìFýñÿ®ÿÉMæjL®÷“m*8µÔz·Bäêþ–3êH›Ð³¡´z ĻËôvŸùùE!óV«©Zh±™ÿòH½s`#ŽÒÝ3ÿ{£µÙ+8éÖ*?ú)P,ÇÝ–/ð_Fâ Œ|Z;‰ÿ(j[Àš‹}ÒZÓZ…NõÌÆ¨2ìF}mæa³™ÿ}ÉÂ6åÿÚ‚Èñ|‹™@-aÙL†'ƒ·*¦V™ùÏ“r Wß^ż&¡-.€œ eû‡¯®¥CÕ·ß 3=…®%ŠrѶLÛÀd1 §³SBöEY0ì¼Mîã?FK;ü€e ä…«ßpD_·ö]תX§>n• þßS,mÛ¥guÙ˜ÒJþ»Q|YÑägkS™5bBõW˜¹—gÉüŽAÊwìõwƒ‚ßU<ÝÑáòÌm»ž>¡uÂ~™VÉø·[‚ëŧŠì™£–ny*—n¼ÊþíøWL7ØÍà—y¸Ï†Ö☛Öþ)6´¶çßq´Gà+&Ö‘Í,wœ³‡{F·ð™•t HÓNÛVØ ^‘ïè\ÂÝi_æá¾ ¥Ä?{ H6RÐ ¡Nl†´ôNíÁ d׎‡áÎÙÃøž,ˆQÌ7ÂKk,ëå+V7û¥Ú¥™§ž‡û&$NÁ}‘3þi(éS°ˆ,¿ÈlÿiÒâC¿ØBú€ÍW""¡Ø²Í€w{¦+Ý9ÿY”¡ ¤V° –BÊ/;Ðó`‘{ ~îCß±g¤V*Ï•ë 8<Î?ç¿7ƒóï]\Éùçü÷bpþ9ÿ½Š3>Èÿs»ÿÖKà³ü›z‡qþ½k>Îûo(÷0ëRÀù÷¢qþ½kœïšóü‡þÆ7âîÉÂÃ_Èâü_¶¹Àøò5á“2OrþÝi®ðÿBÖþå$uœÿ¬7&™ŸEhšŽf¢ûkö“)n˜›LžSL1osþá__p0Uà³½þYÓH”bWÚ 9÷¬!ËÚô]œ×ùÙ³âÐl6é6ù­~þÈܽ¾ÿQ¸Ê¿Ðç¬yCbÕzDpÀ¿+ãçßÿå´3±V;ð/"xÿÓIþ¥^bß“ºÜ‘þÛ÷TœÁœçß“è=üûøýo7οwóï]ãü{×|vüí%ðMþ{8ÿœÿÞ ß|þÞ{Àùçü·‡×§%œÿø(ÿÞž˜{Èú†rþ½iœïçß»Æù÷®ùæý—Œÿcâ3³Œc^¤©ËÌMü K}Ü·"Kâì3Þ‹vEõÈpÿâ²+ûs/‡ÿ ‰t4@Ô®"oÑÔeæþ³Þ˜þÆ7S­ˆÚyÚîòú7 ÿ–K¡G™;Æ_t>ò¥nåòÕ&–õ'YÿÆùw®ó‘h—VšÇ‚Ë[ÿÖãûŸËç_¶WèlÐY.„Ë]ÿÖãÇßËç3ËÂ6Ëj[›•ê\ÿÆçŸ—„µ°ÍÌÓõÏ¿.¬ëñÖå÷_ÒW\çÿ2!­ ½äPËù÷íÏz¸ñç/Þ5οwÍgùï%ðMþ{8ÿœÿÞ Î?ç¿7Ã7ù÷ú´¤—ÏžãóοGŒóï]ãü{×8ÿÞ5—ùïâ_¾jÇûçΤȭs%xè¹ç%ù—­[ž¤x–ÿöÏßI‘[çJðØsÿKó/±Íž­{–ÿvëOŽ9‘"7gò»Z¦;ÍþÙ*ÿLóãÅv¿íf¹F:Îs9ëߎ9‘"7gò»Z¦;Íyþ-¿°$QjYm"¦Ð<â¯ÀµÏã–õoNqE; Á¢víêöü·_4â`m¥T¼Fºfý[oî¬Õë*ÿnZÿÖ{Çߎø·ÛÿtœÇª¨Î¬ëeóÏKóoüí8_ÿf1~ÿë]ãü{×8ÿÞ5οwóï]ëë«ü÷ø&ÿ½œÎoçŸóß›Áùçü÷fpþ}„ÿ½Ÿ¼ËáyHü{ûF¼—ï|¤ÿñz$½œÎoç¿[ð¯×橊~.>÷£²ðß@aþ‰®ƒtT§äüO¨jç­ú:É?‚ÑgoÞùɈ¤­dRFÏÀ€ØgW½üN•x«¾Nò ˜ÄgöÏê9w yE:Ôè韶׿ÇêKèœÂ|ƒ •ֻϠ¦¯1ZaC-l`WH‰)%ÓUØ »Zš>½ŒLɱ‰'l§³˜ò¶òà6«×Žòš-†½Hѳ©OZ B"!ÿ’â¹3Ó)Üþºù.+ÀöÐ?Z‰òÝ›þ`DÂÐw]+@æ×’‰"Q~imÎ `ÍIžhÅ^%ø¥6û§4¬® H1ú%ד¥5äáua vÅ”äJ‹Êé+RËĆF 0·”DüB Êé$-§Xfð[Væ¿XG´d¾†"Q-'bH(¦ˆS~±…$( 3NS`ÁŒÿ‰ üœêy‘ÞYàt6N8¯tåv½ºü¢«—ÒÊW”SO‘°“4˜Ðo)nø@¬Ñ%!ÕT^ñ¸Ôwå6msq¡áÕ'ôO'k×'jRcÕ+£TËR=©Z:(]4(™wEÂeì¨Âiƒ³ÆVä¬|©b¦‘Œ>BFî¥ñ0&‡Ä¿ ÈGMË_ßXõQfõÇ;*ß{Ñðú“e/¥—ý~µþ¹•ú-ËuO-Õ=µD÷äí†yšô8õꙪä)ÊÄÐìéÃÇŒQ—5‰ñÜö72ücrÍ3.DB[¿ÄI‰$Ä£.¥úÓ·{ß«ÜýÇòm› ¯n({q­þ÷«uϦ $ýÓËt›ë2hÖÍQ§ÎR=Q¼`|Nô¨Ïî» ñÜõƒËñˆ1È¡$1(S—1‘T}øzÅÎç ¯¬/Ûšªf…îwK´O,Ю›«Y¯^£^M[0yJ颕óÆæÌ½wÜ@ăx†ü Æ#] ŽþVLl)…9íº9åÛž*ß¾Á4ž=1èà}h<˜µ²èøŽxZœ ¬Å*¼ÈüF”y~êÀâø{pi#¤úo¿¢Á¤DhRÂ5+´Ë'è’Cõ‹F—-ŽôÆ£꣮QO½òô¸À·ûÓxfTÑx&”Ñ^ñ¤´º )H!*”ynÒõh²â¹!¥ P- S- S-™¨^ò€zÉxÍâPí»tI#ôs£±@Ž.2H˜Ÿÿþ‘~b< ñ``½áMÿÔ6ça7*”Y0þš_#›5êüœ{‹ïS&U&†(ç…Ï»§$q´*a„*n°zÖê¨þꈫU“û*'øÿç^òÙ0ú·ãɬZâÚË¥x솤®h=5sÔÉ ýON¾9+rhÖŒY3FfMž=cئ͙vkÞ´›ó?µ^Ø5ù\™wÿÿãwb4ù|Ò`Ûxú¿Úù`Ìñ¬|»¶2?û«ÈQßyõÞ1×}ÒïÓÐë?Óoohÿ/Bûï ¹öà˜«ÿzÏU‡îVÝç਀C·ûíNöN\–›µr»Ñ&žN)Çê¢ \ذò­“‹¦.oY™i |¸Æ¢ó×;0®)v±'5àâ¢À.üø:ñ•mH@Ÿ9«Š¾²wÁ#ÄR<Ó•Nå¥öߊ($S„™1ù¬¸;Õ –‚WŒVÀ„qØÂ^Ñ?›ãñ‹Èr¤ëÀÆ áúòúª dâY2ôSÒÿ5¯GÂãé–ñàb¼åO·‹ÇÃ_¸d<®Žƒ—c<žÏ­<‡Çãx&£?üÇÃãédt}ùÔ|Ãçâ9Çãáñ\F<¾¦g‡ÇÓkâÁý OÝ_ðxx<îˆÇWæÏæx:Êàaðxx{ìÿ~,)ÊWžÏ->Ÿ‡î Ä_T˜óëéS‡¿ùõª5j¼U_'Ç_uqÖÊ—>ˆ^¿ý£}‡ò³¿ïîÈËþ./럎JÏL}uO}Á[õu’½&¯Ï¼ûYûû/i¯ý¥®®¬±¡Ò[õu’ÿв³UEµFmC}EcCÕ…†ê ]ˆææ†®ƒìD5Mj.4«*Î{«¾NòÏÑEàüsþ{38ÿœÿÞ rcš ß5k…¾—I QFŽ.Ç€}tá"ŇæŽð¡ ä¹¥ct”ͪØ;~K~ø‡Vè0Hy±££’;*ÊQ®g»þ]ºJ“ÃKèêõÖÖázKi=ª¬?¾H×3ûÈz<)YŸ&ÅãÚz'qY‘û×kÉâqe|™“[×/Ißçrm匴ìÇÝëy¤xv®B­;"-€‘¥Ð/¶KDò»`}‹OúaóŠº$gG$S¤¥ ò…"v–‹¸g½‡Ož| ÍBùújÂ2‰Î.p¼þAú=±\{«¬– ØO?$=w¦je»²Çèn~>.‹Çúy16ä’e»Ò#ïÜN=Ïuü¼XŠÇGžŸJ¿î#Ï¥x|äùšﳿ/íõH,ñøÖ÷‘y£]´Ÿè³Äÿåv%ü‰G7<öxÆ=©O;O¥¥ÜóèOÐw'ØôðôèGÄík—v0ÎR`.üŸ{¹DX,ƒŒ¬¾Õ}X}iýnÎ~xÍ#´!åeßte⦱à›îÿpá6««è¼ÿåoælŠß?ŽýõVYÕL¸aÛ–·n`Úêû݉M´@zEòãWüîèm„þO˸L~;wÓŽJK;P…ÿU2ŽFµ 'ƒ°ýµs}^¨îG"±¿è½ç·¬„›£éCðÿ,8­5%¶_õŸ³é¨=¶Uÿ¤íögeýÛGŽlÛ’§:2·¯YË´ÌLQ_¿;êGÌZ;€ãÌÛ_cûóñL¼ßpl¼ßàýï7Ú÷νD[»lUÊæ¹£)£Í{Ë]97Çöÿ´b=NoHÈxœí}`TEþÿ$1åô<¢bA`i ”`„^ÒL Är‡žýNÅûñ· AŠÊîè i¤nv7½CûÿÌ›·ogK–Ýd³›dgø|—÷æÍ›÷Ï|Þ̼6‰ùKÚ×Qw¥“0ˆx‘뺛I+.î&>Áí„à?ØuNGäeš¦V Ó‰Ðäòÿ"Éýd‰ÀÿKÈJS)X ˆ·RÏ´þí~ãO1Îþåû¿Ò‘<þŸ6­úæŸï?æQˆåÁrœŽN;Gú]j×±ihK<=<ñ¿—¬7[ö)µJ÷–=È‹dŽ^ßp ñ4Ò¹­ûÝ!ÿï)?ÌÏAù{Jÿlêq|oØÉXV~zîÖrûÓezη†ùÀn–ÊHHØŸ`·Ânƒý™HMA5£i'—©=¡š uO}#äNØ]°»aa÷Àî…Ý»ÖöìAKWX7ØÃ°î°G`=`ƒ={ö$ŒòÔ ÖöìiØ3°ga}`}aÏÁúÁúÃÀÚ¶ò€}ûö1ì°O`kaë`ŸÂÖÃ6À6Â>ƒm‚}Û ûöOØØVØ¿`_¾‚} ÛûöoØÿÁ¶Ãþì[Øw°ïa?ÀvÀ~„ýÛ Û‹‚ý Û Ûû¶¶¶vö+ì7Øï°ƒ°ÿÀ¢a‡`‡aG`ÀŽÂŽÁþ ûì8ìì$ìì4ì ì,, ;‹ƒÅÃ`‰°$ØyX2ìì"ì,vv– KƒÑw,–SÁ²aj˜¦…åÀray°|Âúìë&çl)âË`å° ØUØ5X%¬ V «ÕÒýaú;=÷iÛy[•Öi{JCOœØ¾8‘ßC[áA[/êé!ýÒ=¼<|¤Ö¤´ ]ú“§oÇžmi ¿?ß/1–.Õ͉æÇÎê]rÉ=¤6- Žðšjú°ùòQ;?u _ÝKñõ½òB]øšCÉî©u$ûÚ$ç:6yrêrÒ÷Ô‰:s®;7[(²1™uÎ-ï^â[-Ë7ÒÂ?ï¦zˆ¹“\èå£Ó¶ ¬Ã埜[+( ä?Óz€˜’µyn HBèA@Ѓ¡B<ìÕÃÅœüÔüBuqi~yEaÅÕ¢ŠkEWUUå(%ÀµÊâ«×®äºyyíÕCB¶¿ßo~}Í„®‘HËÀþýÑ‚œ²²‚Š«n^^ª‡{íÐCLºê«wç®_Ayþž·'1kŠ×úùå'`9ª¸˜ˆ˜õ~Ž=((ÊÊÍKÉ̶¢‡†”—/TT•‰ØÃVÃ#üPºµ J•òb½ĨàW×ú~Ç–7e}Tj¯ JJ€üâb¼¡¤ùÅ ùúª]ïÇøAd,büÖ#ƱòŠŠ0*¸lUõ./ µ€ P{Øê‚ˆ=kö°)Ef•ËbXyc‹PØü=l/Ɔ²ª$c»8¶¼õÔCi)À· ª¤ÄENؠĬM(YëïO¹ò÷Ï/IðÝ€“ËGT€SF•—9KmMõ*¯y¡X¹|‰?‹4)£Å%RYµã¨òÖO…eecÉ!X—XºÎß¿ 4Q‰Ù]Zº€D¬KÜëGülذΟð[P”_pE¥±¢‡ú•×¼PJ<{;åZ—˜¨$c»ð1&é‰ôÞ&h±˜sÃË[?=••…¥¥ŽÂ§‰¥Ÿúû–&*1ÐÃBñ)ôàïI&npàáx #Pç¤ZÕCýÊ‹B-„ç¥{ëJ°poéîò©TÝ…{#X̧þ$®4‘øo`1 ,FÔ§‰‰&t9ª¼õÓCqy9ÀXrö”•ù‘EEI•˜O“ÊhÁ“’Ø/$Áou @.ÁÒ²µVôP¿òÆ£PþÍÝöÛ˜ÄÎt ±••”,ÚÈ"‹ö-b„°·¶Y Ò°&‚ߥ¨,Éáå­ŸJ**J$Š¿Ïί÷óç±¼§¼l$|æ¿þ|ùzDb’(>ÿ™cÊjY[X”¦Î±¢‡z—…Š (Ô~¶±h¿²Ü(´8¼¼=Øsÿ¡´¢(q4ü?KVzIˆ1’+6øc!Ëûé›ì%û_qìAAQNQqº&׊R^æ6 ¿¼Bâ3O‹cË[¿ûQeeE-8ñs‹Š3¬ê¡©•—é¡´"Ùáå­Ÿ®^»VÑRP~õjAqivN¾=¸Oy맇ªªªÊ–‚kUU%eå9EVôà>åµW'/§#ŸšÚZŠššêªêê’² ”+Õì}!w+o=Ú‡5º¦œ¾Þ‚Bíõë—ÎF£\sòݼ¼Š’{Ùz½ùíÆUÛ^¹sÈ®™KšrФ&¢Dßm|-Q­uóòB_Û£‡³©Y±éÙ ¨…½OøÕ{óâ²4€›—×^=@Q ½ê‰”4'àHRJãA9 Šƒvå2?_Ü­¼öêA eCèA€‡ÐƒEâ{=àò ñý¦€æzpõű® æzØüí÷„E=¸¼Ép!„xpz×›TúëM¡¡#=ðzà!ô ÀCèA€‡Ðƒ”AÊû´BBFzà!ô ÀCèA€‡ÐƒË믇·}}“µ1†ÕÓ†e ì¯jÎ"$Ye= ÂÛ¾„Å ¾É§×šô 6ø®=ø‰¯]1<|C¸€d³væ)«É;ÃÍ“)‘&ÅlyhT=lÓ‚ÒpF&èÝF¬§á³ªKlë,lÕFÙc%óYŸÄ°ÕmðÎè7Y¬z¡‡zëáíÓ1| *èíÓQVÒØerúÛ£À¤ÞMöRÄ)ô`—ÌùúéAÉGéVnxh{›¥ñWbQuµ¬â{©È®¯¾&¥¥fÁ6øa5ËN.ôȈ±Ø_˜§™…4R­ñ# +ý…¬Æ†5ÉÆg:«q5ò à?ËJ´7ÔN+Ô);÷IØZ~ fqó3Pu*ªòÄWÿI¸JΙßIÑ(:Ö«!È|·W¦6óXØtÓëâß9¶íXZo ¼Š*þø±æÌ¯5±ÿ©Ž;Œ_†êøƒ5ñûªÏí¥ˆ*vBh%ÜD8_œ¬‡¼mH¯³=½cÁ·TÐ@üŠD ¿BçvCU§v¢ã°K¶_oò•›Í1h>Uµ2Å(?¿(KÆþ<«ùÔÖüDµ¶LD©è¡[>ákS©,Ô²N—‰y:¬¾ÃWº‰””æ‰ÑÈññ™Ê.1a½*´Û½»Ý|w:óÝév©«¡íƒCõpÙN=@ |Ï ‹âçƒ5™ª:™›TùãÚ|ëÁ§¯·:¿zVáÿsÝ1TÊT¥îkÕ+~›~!^g]Ê*“«S¾f‘‰Ò&0Äü–©‘ï>ìmmÔ>ü/Š*!阂ÚÄ?Þ™=ОBŒ"0¶l=˜MæÉW™ù”Ôæɽ®ôõ`KÁ·´Ö~;fR•¨ <bÞ±E¨ß (jÛv–I….“µ|4¶˃ Œ›çèÁ¨}8¾§&ñˆ£г{ª3¿”žø¥1ô`±šêšªÚ¢êJ_o=(í«óS»Þzà;Ö  ˜ب’OÀºþ@Ý>”ŸÜWt\FüaE ²$$1PœÙ[zê@cèµùun5žªšÅ˜ÿY óôʨÃdÞi»ÆJaÕbºb1&BlRÚl²X§ˆG&æ Š<]AŠÊ½}8µ¿&ùDmòI€kó’¨9³¯ú̲ӿ6JaéOŠX™ªšŸAZ™QÖ<½Ò>ðóN'[ÈÚ¤}ÈÛ6U“r²[Oêâ·³½LzüÕ™_¡¶Ðxzh"pàýÉæ¥£ö!þhMzBmÚ9ÖD0T'¯‰ý$¡ êìï†ßŸl^àÛ¡s=4FûДÁ·•É'¯g_¬ÉL®½r®öÒYŠ '©*ÕÄ36 Ç“-@.ÚèÂç›h®ç¤SIH­m(0œTQ| 7-ãÐöá„M÷ZÀónw5ÙÐZ t[¸â@S€ëÐò“û€«Ç)ÿßî²c;+³St6êá¡w -[õ@KÕƒ@c@èA€‡ÐƒNâ{ú7Ws„Ãõ вÁéAÜæ÷£ôzà!ô ÀCèA€‡ÐƒNÍìzÓå/–4SÜ@†÷'›Ÿ\|§¯¡ø ô „DàƒÐƒ|p²øÏ´•9=,ÎÆæú0_àç±q>l®ÒÃ6-j6Üdî “ÙÆLô° Ê!álC†¶é!Z§‹$‘Òÿ4lIe¢ŠŒ Ø€µTüêt©ØD"£Ÿ*ÅÖ•aKªŽ–`K‰Ö!q$[E:§V¡Cƒ«ô@«þ“pÖÔ5Û˜‰xåØÛ_DFÓ¯zuÑ­ÊHÀ´jFm*u­l²’F'Å¢öYn, }꺊ÍÐVœVƒŽ .уy½[œmÌ\J2“‰+o¨‡€Èè-øIÏ\ÔR³l™×ƒÉ‚y“ø-é$’~^턺kŒà=`À€fß|Ö“ÙÆ°Êæb# ô³Ð_H°kþÉh©³HÅùŒ3W:÷®¥³ R?­‹nîJ`Áùz˜µ3†M"¤Ô©•ÙÆî góŒ)³‡±&‚¥L¶mü€Î":’N‰@¤¥zë`}D47Q¶*ýK$ŽÒlUa»2ÿ*z€o8?Zh¼Y¬=°úÖIÂÀB]zÀ€láÇæiHäÖ(MŒ”ñ'æ]Is ¶Ïë=àì>ø‰¯ÜV8Mú^]ý¾ÅfÁ=ƒ“õàL(zPª8µŽÁ¿ÐƒÜA7 BJzB"ðAèA>Ø®‡‹Oß,ôÐâCËÖƒ@=ÐRõ Ðzà!ô ÀCèA€§‡föþ¤@càbò]¡B<„x=ðzà¡è!æ.’Ö_ÂHãÇàë/aˆgð—Ó 1K¯,¸zÏW ±ŠƒÚOy‚îM>mo¤‡ÓéVE É#CJ CZÉ $A2ÒÇ–°Õ6ÔéI2GZÞ”âGRK(ãâ ýê`,¿úQ$÷•~Ÿ¡ øEíçô¥zøPß>䎔J:ŽdO¤ÈHò¦’‚PR2ƒÏñb(›o@æa‚Ú9¤r¶E(q2jœ ç°rªtÜ©äÚ$R>™”N$ÈÕ‰X( !eÁú_¶ GQ0)EÙÖÒQ…ÃLa®‡‚‰¤dŠü[êTÌ”«¾2¬CÍÕá^æ¸æ T1µ8¢;ÀTS)*¦x—|6×Þ'à5yªâµsK^ô¦bj¤‡ Nå¡AåO€)µ_»¨5Å×·R [â%#BS…qtYÓÑ'w¨KvoR°(ÒMsc“ ºûÿrë£ÛÿÒsGÛ^?ÜÑû»¶=¿k×{G»Þ?ÞÞë§[{FÝòÄÏ>ïiÕ#Ê«{”ÇÃ{ÈC?Ý7`GLBNñú¹¬¹°¨ˆét&J¸i†:$áH|à­Ó¥}ñeZÞð6V’ÕE î]úÑvoz0‘ÓCm¾ªûð3íúž¾{Ðé.þ1]‡ÅtóÐИ‡ÅvzîÞ!qwIìðBb»ÁI· L¼ù¹¤›žIôèyŽô8r߀ÐPX×k ´ÿU‹¨X¥[ÐCÝbp`ñX¡-LæbP§·õIîìw©û¨ËO޹òTHêÓÒz…¤õŸöÄøô!]ÇfÝ”uç(U»Õ­~ªÖƒ²<û¦‘'Ï‘¿7Ñ®/âîãú‹D;Å#{š§:ÔKó…vv«œy­r_n•=×[5¯UöËta®7P =0,ð Ð7Îk:Ý¢€UÄ…0£ø/:¶¹>Ã'‘øìÄr˜7ÒìKØÖ£È1|…*û*éYžžkÃ3¦d\ëcew>1óç†y±Ü0oæsíoTÊÎ yÓfÄLñAÌÑ)†’í.'kŒQD~ü€:½cÀå®#ÓzKnJæÀéYgdõŸžõÜtUŸéªÞÓ²›¢î:Asß8íAÚ¿ŒÐ¶ñ×xÌò|*É£ÛN쫌þÛ‹ê!éA:žT¤×ÐúÁÞïßöƒ~m?ÀïÞ7ë}"3Æ®/®¿múE[ÕþT\ndÎFü!%²P§Û´µj²N³å‚N÷SÇ啳½¯þKþãÔ5]åìù:e¶GÍ£<¯êtkº/û©c›êÙèG¢wÖ%>ÛFIœû¹á/\oþ8uTóšÅÝqD%ñuîÈk[Žt÷±˜'ïXÕìæóÎŽËkB½ó6r8úê–£Ý|®¿å­.C­[ÓqxÎ`^ÑÔ$q­ë «Óà+O§÷›šù¬¬_—#ÆoN¶ïœì³³ûÎR÷Õô˜ª}hRâ¿Þõ¶í̓UÞÏž÷|xӃƗêáøc=@!¹ÁT†ªÔéªëÖêt'6-=;^sJƒO¥îp2ªû(càjÚ EƒCõàeX½¾/@ÖÃxƒªB½±|,]w¤ÛˆÊPo£ É· yV!+Í–\ÔiÇe…ƒ}äº{¦ —2mÇ—i•ã}p”kH´5wf‹»—ÎÇîië;ÖhR+C˜«|žlÅ1¶Ê|®¡Uo!‡êØhÅ*x½©×›ì’“]Q¢:î’úìÄ ˆaø<•RGCægûÎS÷Ÿ­~f–æñé9J<šˆ[ý³Ûô?ßêÑ(¬¢ê¡ôJ=d¡Å¡÷è‰ ‰Á:æø†¥1ã¨0ä`¨Ò×]æ`64ª·Ð<Y>’F2=|´µB¯‡hBé‰ ÚuQê­ì ˜ä©¬æëõ÷Lšr2¹¾' ¹m-Ÿì]9Y®Yí Y™|¦ê5y÷êï‡çI‚á»¶ôÞmä<{·aœ³|¨c]G Û ¬ªeŸÙáLr`;~>À;ïË(õ©oÒ°ËÊ€€â8:‹Ó3æ©F/ÈZ˜­Tý óÕ樟¥QbÐet¥i7,ëöç“oyœê‰!å ²¯‡¬‡”TªÚeè¤fᆒ@šÓŸ->,‹ÕˆÂvú \º2To¦y®YuˆEÖþBõ°)hkY°ãö‡ŽËqÍhÿO·%¸šÖï T®6ÊSYÍ$ë!¦w–R‰–zSÇå%Á>Sd=hôz0Ù]w|™I‹‡Ä©z=(y²|ÇʦÅgÝY 9ÄöjSò£<­P¥ZW:!€Õc¡(¡(˜ÇzôÅtÿ—²F‡gY¤»HaÄÀ9j¶P\~½Ë8ÍÝAšNêN#²:¼pþϽ~F|ú`ù~5ÓÃñûéMKª‡`Y•6´ÐCìæ…Çƒ<Ù+ÆÞÕ•Fƒ·MÛŒö‘#¿Iû«¼köÈz(-ëáûŽËË&Èzø½ë¤ÁÈV’ç•þ>úÕ´ï¿L+-ëåÌhR³+ L:a‘²l‚¬‡« |,î^³k¸yâ²!¦y–6r¬xQ|FAÌs¨ür ˆ‚ÑËp¸ßû{›§!Pd sW€#ö—1òeÕ¸WÔã«C^Ñ@ ²uÆ¡[ˆºËuçÑÙ³;Êì<4©íStü1$?C‡ Ю7y=䄨¡‡Ä†ÇŽõÊ›¦úµ•†±ä®ÜH–‚º®Ë 4¤hf? Ú Âu™”Ûo;.WS=ík:Ž@šS½ÚäJ÷Ìrcé/‡œr—l-–ªYý:}ë® >k‚–«¦Ó¦àØÎT ïYsóCå+,ìž³x+‹g‰/¬ÂŽº‹ï’Ú^šç}žqO¶á‹Çj†ìsù oóªw€½5h'rìËåßv‘â V^ª,3VYŸI™Á Õ–h&-ÕLX¬‘–=ŒK<6AÕm¬ê Õ½ªûU]FgtžÔáz}ÁdÄ>Bvt£zøý.÷,}Ø‘DŸ\(z¸¡*Îo ;lê®t•LþÅ~>|) B¨$ß %=èNÓö£¾‚H~kñ¿/«8e+d–³bKŽÜoF—ŸÑ±}Ù^|âœMÑVv7ÙT°;Õd|3 zPO& èkJW5ÎÚÝ©&å‚Ðò¨VlaÜV`9$Òå•n—<¨ÏÁ‘J9õ€ÑBÄ»¹¯| I(äÎW ›5xFV¿)™OÏPâ“ñĘÔÇãïé'ëáøcTÛ¢zø¡½Q÷<}ï%-ˆ¤¤ž½wàbü‹ì7þÀ Ž®â79fï…sû’cödÆ}ŸðqŸ“A„×àòúj±¶ðÞ‘¢\P¬\—·z}Þârœ¾Š:ŠX¨†$†ÎÎò•$Ñwm%~ü­´WHFϱ©6Õk ‡Ã½é›Q燑‹cÉ©pr.œÄFs Iܯs‹½ÏE˜…„þ."ªMƒcÂHÅ6ÿ'Âj±zf,ÁÈ׃«$žÎ™@Cêd˜¼‡àäUô01RóþÖ‚¿.|scþb©•˜ýºvú«¸ÜP[¤^˜=r¾jÄ|•ÿKYχfaDñôø´£â:=Kÿn/z“öé!vˆ'ôøê-)o¶¿´êO—VÞ|i¥OÊk·¦¬¾íÒëm/®¼åâ«>ÉKÈÅ­’—õk$y®A ¼œ\5.óõ¤¿£˜&!%Ðu:çMí¦ïоØQ U¬Z—·äÃÜ…ïä`D1ç 2µ3_ÓâÒ ce Sù½”ÕgRz÷qퟢÏ7Ñ;@õ€_èá¤/‰å=©“Iªx:Ñ΢ÈãaŸ3ÓC;&£pu¯áz`PÈàô°üã¼µßnØ^ôÎË>ÎxbÈ™û¦b˜±R3}¥fÒ2Íø%ê ˆìáóUh"z‡¤=84¶çȽ•9*èPô€es=¤Ö¡‡üyD¢ & ³¾CÀQP¤ÈëŸIB½nnJzÕÒsC_Ó†,Vcl0WõÂÌ,ôƒfPôŸš <5>è96£{`Ú}CRž—\˜úî\¦‡}=èøá«ötWgF&‹zP4Pò²&Ú(% yS]­@i„ùÖ˜jc¼·výÜê<ÓP7 iÌ=3ØC !X³= ôÀdÀ‹)¡x'Cy„W]ÀVþíkå•lÆCÞK¹3½hû<Þ2ï¯M:8eÈ‘"}F+ ñ~TI2@hyÐ2˜t LU‹¼®G¶®]JØ{ql™½2Ç"Ù‚)½Ygx‰®…B~̉`e„3¶ªÂ<*çx²s°<Ô£d} Ž_öj4‹á›nö ENˆüxˆµ® $‘2Ððö XÙ¼VЪU·ªÅßî¢x¿ ÅÇëÖ>jÀ†^2øHÆøgàWßyP–Y5)@$¿ÊªR«ßUíØûÒ¥é I“Þ’ z‚+b`ÇúHªúuý(6¤Øô|` œ +þ4šBêCù­ ¨>0­jW³ UÜóô†d]c $˜0”Î…!MºòeסìW¾Þœ,v¦†=Ê£jgÂQïØå‘Ó`RXSô¿s¥GŸÊ3P?Rz:’¾ÒdJ«tÓHú’$Ä`"/b9Œö=¼ŽM"Ü0\·w¬/B‹ „xšj"ôP‡?¹B‹"8?xPÀ¼`7Á¼a­`­a>°›a·ÀÚÀþ»vìϰÛaµ…µƒÝkëëë»vìnXgØ=°{a÷Áî‡u={ö¬+¬ìaXwØ#°°GaÁ‡={ÖÖ ÖöìiØ3°ga}`}aÏÁúÁúÃÀÂÁž‡ †ùÂ^€ùÁüaC`CaÃ`°á°°‘°Q°@ØhØ‹° X0l l,l,6666 6666 66 › ›{ 66666ö2, [[‹€-‚½[ [[ ‹„-ƒ-‡­€½ [ [{ ¶ö:ì Ø›°·`…ý ¶ö6ìØßaïÂÞƒ½ûö!ì#ØÇ°À>­…­ƒ} [ÛÛû ¶ ö9l3ì Ø?a[`[aÿ‚} û ö5lìØ¿aÿÛû°oaßÁ¾‡ýÛûöl'l, ö3l7lìØ^Ø>Ø~Øد°ß`¿ÃÂþ‹†‚†ý; ;û/ì°ã°°“°S°Ó°3°³°X,ì,K€%Â’`çaɰ °‹°K°ØeØX*, –Ëðp]?üJG訣¡=(¡NÉ¡ŒŽºvÁÒe»…¦fn"¬#¡ö–l=a3éFÚbé Í¡¨éóö”ó¦AGÿì#]/jK:¬]]ÔjÝjêk.þ?ñÇ‘LŨ,·>z„JÜ;ÑïË2òŒÇ¨X€ ;O1"YFP›N&g‘éjöë13‡L×’Éj2UK¦ê11×(p*&i…yF{«ye­—Ô¶[¥»ëo¾£{øc]¯t½6èú­£¸‘âùMu‚%p2¬øÓp ç ùžÓ´ ßsAqëÈëà_©‚.ïS ]kªƒ¨h›ã{’e±=æäd^>êÂ+¢ÜkQj„,­õZ¢Ø2~•H¶À"[-¾ŽÓ‡¥lÁðXpÝQùy†LN5ü,-« Ô­‹:@·Î/3`N±€ ½“)”ÿ±epU Ô‚Œ—K P"çåÓ4¡2¦æ¹Úæ ðøž¤cž:øW`Â9A6bC ‡€‰Ù¶â¡í–øÏ²È¿Â9G»Z‘ª˜Q9ã2 Å…N?PþžöBù¿åÕÄöo¦üiÕ¥›W^òYyéÖ×Rn[ÒöõK·¬¼èóêE²$¹ÕŠ‹di2yMMæ&ÏkÞÉT¸À?½Ú‚øÃO‘ðs$"–,<çµ$Î{1–Ï‘…1ôwQÌàM*ã¿­¢6ì ¬’±g,´9Îsׯÿ’çãØEîÙÔ”qÄ_<w‘þR\ 1X»°7&yß¹ {b’¿Ëìóq :éú–§¹ã®ßIŸS¤M—®ÆlúÎfÖ7žÁÆü¯,M5¾›‘º[kr¸€ÝÕ:]õ–t9ò ’TDºœ{ û¬"Žø6Ž N¡ücŸGÙôÝÛœm©àW͆»ÿi_~qK§5 |ú%™ñ_°5h£Ï(V– Ë;n÷fåR—¸š^Ë„sŽñ>;æ<ÿÁ*=ÿ7þuþ¿.yŸñš–Ð^ü¯’ù7á¼.þ±êýäš6´,ÑÈ1ãØˆ®ûV.ÇÀ‚czŸÍPÚ=ÿ7þ./;k)‡^±?–È«êÊ€ ¥dâþû§Iüç  ‘ö´i^±¥Ž{Ž‹ñœSɪ oéùœ‰a [(ÿ4r$] Øw]âÿsŸñ[4¬,;¼C+õÅ<ä­ßQÞÝ8On5_æê™8Vû{®K-Ûo(ar¥ž­œ~@&¯áßWK‰×ðCµ6½ÓõüÇÑÄJ>Tÿ‡¤l+ôüïÐÎ$º£÷€ÏY˜öÍ)o9Ÿºñ`’Ä Î%3ôuGC•õyþ–n:á9þ¬×ü*Tà1»’¬©Ñ“£&¡•zTÓ"è.,“"õüoö_¥çÿ'ïPi™òÄÛ°£„·ø<Ù.¹Ë:®ñ\¨ç?QI)µ-;|Ƴ£\9mfæZÞ}~iÝý ÓChjWùhÛÿƒ¶x¼o‚;ú¼ê9%Þ3ì:àV·¯§WRêþ*Z/³3EKüOæÊ‚4ÿº*oDAfÓÚd`uÊ…«Ëº£gÁ.z®žM4$þ`y§·T‰dìNyë#GY |W—j|MgH/åÙæ¹ žúÄ|&ôÐc­íntDÉŸæ)9¦÷yN-‚”6ûL‘b¦hÓý¨œÌ îŠQøGCŠfœ6éó«¼Â«[-ªj½¨¶Õbù©"{樀ÅžÊEÀ;ß@(²ztòîN€ ÿ¬ (ÿó«Z-¨ÿKjÍù·^Ž‚÷:Ö¶žg%YËà#.å`gA«°JÓZX"Ÿu‘ïx¥6­Þ6pw§ðŸ¦ðÏ~ÙU•t"”ɵÀ° †­“9X†ìÜq2nÐÆ6e(üJOäÇ(¹ô~B(í‘ ëù7æW±1ä&¬¸VÇއãüûÎ ÷°ö´Sù7Ix’Ù²ƒÿä)|"#-¦Ù‰‘Ñ,RŸ–¥3‹pphÝ+Ùü¿³s ÛÆóóÉýÔERÕÐxT]ßyp­¼ ¯2>¥£_®ƒÐÎ8“ÿ¯“ÿ:N%L=—£ÑV9&:R¿©iò¯MŽ “ø4×?«…R¬* 4å¶p2+Jk|îØÂ¿L8ÒK·~üó1Fsd!ÛèHB õÓ´ù—Ù3âPLâMÒ•Z_7jt¬á‰–éw ÿ–™F¬Gò/µ9áŸ(¬÷Vø·§¿0FGxáÚ ºh¿¡y¯#>;#–S·DÞ oZüçÑÆÄXí¬#°Â¿´‹Ü(°©ýѵØ\û!÷³gLÁúöÞr£,ä—í×xݯÃùWZuÚÈmOØ,kú7o©ìà¿Ù‡ðïLþÿ ‚×Á¿kƒàßµ¡9òß’àÓÜøoaü þÝ‚Á¿;CðïZ4»ñg ƒüïøv³K€+”&âI#ÁFþ]x…Øtæ2|™vƒ¯TH²MúÏï–©Í;¦­Øþn3æ¿uo›ø_ëkám|+_Øù“ ù;;"} j)½ü]ÀÚ0~/›Þÿ§úWÛòtñŒ¨Ã‚<¸Ë{G¿=^Ž:¶Í„mÔ ·IŸÉôß*ô#DV¿1۵ʾޱHÃô«ò¤ã:”_ëŸe™|a'7VÒ.õ¯¤×ÿ%Ó®ÿvÃþ%ýS®Þ‰ç©92Q”CTÄ’L*‹—7ݤ?}¶Ñ?Œõ޹þ•ú5]Àô<³½ø9œ‹mH]_ØQl çEn%½I‚5V¦ú狯üè5¦Ô„^£UIÕÛÌO"¾Êd Õmt!e©îǸ¹­|ag‘ÿºÒ×—EÿLêÇ~sÿüyÁ¥‘˜×ËÞœíÆäßBÿkå ;Ó–Ä´!2Jo‘ÛÛ{L¨–Ú[øgM“ÙID31ªPeÄe8ø7îmåñ§…/ì )øÊ’û_Ë_äÕ—^ÿFm»¥þ·Nþù„KðŽ¾¿ÎŒÏãvA/¬?/ÌÛ¨zñïÈûo<óƒ©þ~ýk/c&Ý·#Ð|ùwÀõ¯üË=o“åß)hq÷?›+ÿ-#þ]š#ÿ- ¶?‚Á¿;Cð/øwgþÿî Çÿâû»F‚ü»ð ±éxÒ¡Ù]ÿ¶0þÿî Á¿«ùãOÁ¿ûBð/øwgþÿî Á¿àß!øü»3ÿ‚w†à_ðïÎü þÝ‚ÿæË¿3ÿì21†ã6sI›01—Cñj. fPÑß‘jiA%-`UŠ™I†fQ`®ªiüÐò|œÉû7ÚŠç71ýÖýÖ…^™âÁw(Ú­ÒµZP—H¯ÿ*þ<ºÖ&<ü± ~•e `¹ËûF@$¿z×ߌOZ/ªÈÄRÒ_&ÊcÁu[ൄ¦$Kk±€_aUžs*½æ—yÍ)ö-'3JÈdéwJ Vå˜ÐSóè/bBräŠF 0.“øÅ“)ðùÔ/åQÌÌõ˜™ã9M Éj21›"D%b›N”x¦@2vž p¦Ï)ÒéøC¦jmgéÐÞã3ç®×ªòªí}•hîiރϧ©3½S´ÿJ.Ñ ¡””/xPÊ;wº*=%÷Ã¥Ú×BÕ‹C²ÃUs²f¾õ’ÖŒA@æÔþ@Æø§(ÆöL ìž2侨±O&ÇÍ}7b¦žôØGºí þ0&m‡Â¿ä ÈGIó>^^øÍÚ¢í ¾x'÷ãe9ïFäüu¾ö͹ÚÕ³4+ghVN×,›¤^2>;"H5xVèói!½c‡>¸wdOUN¥ìÏÈCÛÉm¯Ûá ­ý ½'ŠàöÍ9Eßm*ÞñEÁÖ÷óÖ­ÊýpIÎ; µ¯yc\Ò¾6S³bš&rRö¢1ª°QY/ù¥Oê7¢û÷Oµ§‚?·ÛÙid$òÔDN„'…_œ¿ñÍÜç¬ Ó¾>[óêtõÒIêE㲫æTÍAk0ôùÌ©ýÒÆ?7ªÇŽg;Q øsÿqÙå\°´·¼3™zÔ‹Æä­[™·~5œ¹zúY2I½p¬j~`Öì¡Y3|3§ôËœÔñ¥¿ý˜Ò+ulÏøÑýØïêϳq²?Ðüam»í`žû 羑ûÁ+`F9}$g†eÍ g2Æ?­ÄgŒyØ5-è‘„QüôÜÝÔŸg’ýɱ Kè õ^уN€Ó‡žD˧A9ًƪÂG›´~YÁg½ø`æ¨û3H±k∮;ûÜ)ûÃ(Bd·?¹Æ tQ&õQ/ Ö,™ Á µxBvÄÚ*ÎfÐÒ„ÇTc»©‚PÞ« ¼/ct—¤á]v>ÓúÓï‚Løi÷¡4˜± !Åp^ÑŠ×[õòHõ+ãÔ‹Çk^ Áé–½ ЄuH7õ˜.Ù£;gvÎÕ9ihç]Oµ¥þôO£þ<˜Dù¡þ”Ú ƒWEòLñQ´-Ùá£á‰zÑØìˆ`ƒs²…ëåÅšq]4Aw«;eètþ…?÷ú3õgp:ué‰êOûOéðÀ^{…<ÓFvÍœ>P5/ {Áèì…Agæ¿ ž3@3Ëp~iƒîÔŒê5¬]òó·G=~ õÇWCúgü ­´ S9(^…”È3uȽŸÍšõ‚jÞpåÐÙó‡¨çùªg÷×Ìz&gúã—Fü%ÛÿÖóýÛD=ÚŠúƒQ+s‰öïð§Æ60ÇjŒÜ›tL¼Š<¯ î”üNm¸T~øêÌ¿ì9¾Ù³ªgõÕ„öÖNí‘3é!Ä_Ýÿµ6à6Õà›Ï?ë½ëaOêϰBêOßÚ*Ÿ9µvCqRò y^pª,}\¯Ì)ÏeM˜5c`ÖôþªéÏ©¦÷ÉžÖ[=å1Í„®Úq÷¡²@ŽÆ¿MÖ@蠟·]òë|yT÷+cžL y*mÂÓi!½ÒÆ÷JÿDFH¬±]³‚îSºSÐNåwkÖ Öi}=Ï=I¾PF•R—àT_vùcÑ%U~í™áÝO÷mwzÐÝ1þ]b†uÖ-fèC±Ã<7´KÜ{‡ÜøB‡¤ÁíÞ–ôÜ͉ÏÜt®§Ç‘ä‡÷™úÓîÃú;£÷gî¦Ò‚¤Ø_ü»oôÖ=ÿòC¯¶ßõ¾ã»žmwôn÷cïv?õº=ªç­??qËžÇ}¢z´ŠêîµçaŸ";Ü—“3w}±‰?õRŽÑIç=¥bîg%:;ƒ*¯fîÚbïK úaþØ~¾3ãœb'û„ œ\XÀ‰\&ÿ²h3GÒ_¶l0BL ø34Í&Ю<Óò&¿2XÂ@=]”WëÁbð‹Þ è›,w[XÀ/Úg½?~16‚4X!_.¿¡!ßÖè‘tùŽ´ûÈåž„?-Ð4V÷|%üivþ8mbý±wœP¿ üþ„?MÚŸ{…?ÂáðGøÓtýiBãç{›ÒõÅ ô§_ „?ŸFñgàer/õÇUÓ.ÕåsÚgÛýqyM „?Žð§‰Þ?t¹'&þ4¡ñXS»ŸÐ² jÎ¥ÕžL®<5:öpðìÕ_O—í?U±ïd9ðËñ«»ÿW¾óXYJv¥]þØ5?¿âœIϹ~1ûzB:u ˆ½\söRíÉ µÇ“«cI5Gâk~?[uàD©­þHãgÛÿR\Rü3p&9³æÜ•Z¸Á<9‘\s,±æX<œùO,õ¤5’?;ïÈ#2”•jsÔiVù¯gyi¡HÄ~ýêþE†eØÅ¿â¹ãÂý6&q1IŸúûš¤üšluJK 4Úlkü×·¼ñý-¸´ÑO>H[¥2ÚÅ¿â¹ÃH}H4ŠÜAî¥ñ~ C¢ãŽeŒ’’‚‚|µF•j…ÿz–ΣVì]H"vKɈü¥¥Câ:ÿu‰F‘àÁ^ăü ˆéV‡¡¤$¿ ?[£ºb•ÿz•×B¡ôñ†~n]¢”Ì.þχ¨â»!‹IXëï¿6ý–ä'lð%Q=¢Œââ¼ü<•:ë²þë[^³B±r)‘\íâç,P\œï@$¬÷%~käUxNüÖÇ'¬õ“#c×ûI1=(PT”——«Ê뒫ËK Eìѯî‰X°ÇP"}‘¥;ù—•ãXHÞÊ!b){˰J‰qìA‹Šrór³²3S¬ò_ÿòò…Â)Œ˜=ú©_D¸Ÿž»ÆÿŠç-……ÚÜœLUÆ%+ü;¡¼vñ/í’Ó2€ÁgŽ&=+ã‚ĺ«Êkÿy¹Ù¹¹* "»ùEÐRò/¦]N :/ÈpUymä?óÊéoDÿïdFjRÚ•„ô+‰Xh¾€ÿ©)q—ΟÙ{ð ÊUZœíªòÚÈ¿*=fî»_X¼þ›Ÿö$ÅkîHŒ=šóGÔ¾½kÃ>ÜV^–ëªòÚÈ¿6;¿¯oþ¾…=ÿ]ðÑ¿ËÊr®V¸ª¼6òŸŸs±0?µ´X]Qžµ¢ðZEѵ«ˆªªŠÆw ’Êk%×®æ_qUyÅû‡®…à_ðïÎü þÝäÎTAÛ1*V ­_ÌQ@Š~"÷~%ákýB]øšCiî©u%3Êöëº7ñ»m„:ä³­uå\WVÖˆ²?Ù›I»\—7€r38(…ŠAø#üþ„?ÂáOƒü¹L‡pÂáð§1üØÄÎwáðGø#üþš¥?—é OáðGøÓHþÜ+üþÇzÿGø#üþ4’?—›ÖxUø#üþ4ª?Mjü¬÷Çå&:Nñ§Q'³=4Ùúr¹'MÔŸ&wÿ§‰úÓDæÃTüqò÷AuÍ©øãÌFÆÊ|‰Š?=_Ÿq¨sþ@Éz¾7‘ùôšÈürŠ?Md¾5Åûæï’§Érüücœ?öÌyÅOÛåÐù¸ì› J™ÆÊÑóSÑëSé}€‹äIíS&tâbè N¦S%5Â|MŠ?{õ3üÐyâ6ø9F™ÚˆŸøÈÂôGŽ™¿Hñ'‘ŸÇdb~>¤iê;áõù|,Írc4õɤ1&1šßÆà›#Ežo„Nö±G™G…N<­æsÓÂ8x¾ÎãùO°ÀO­*S¸$Ôk~ëóŸ(þ4‘ù@”ö§‰Ì¡øÓDæ‹Püi"ó'(þ4‘ùšÈ÷õ†ñOÓøÞœúÓÔ®O…?Ÿûãú 8óødnð¡Å íÿÜïßî}Cîþ§¾/³÷ߎ‘'±L–’EäqÒÿž!Ïa©—´Í&݈DèäaywLÖƒnr‰"ˆ B ¢ýu\ M´‡l£äÿùp3léKK^~%ò‰°¥ÒJäÊsžxiéRºµ¯I O÷ž,/¿êÑ^ú¿Ó{šõ~¯öòÒÏWjÞVri%ÿ¿Ø’›nÊm‹¥ö¤wëu«;b)ù–öÒºfÏý$%§-Ë'¿-éT°vu_¤yéûrûìéMZ³}È[Û±m"löñIK÷웥ñ¤=:MûC«u«sa4Ï€ÐÐRÙom»-Ágð’›ôe;ëŽãÒõÛ[q ‘Žþ·Ê‹íCò å ‰5­Ú“ûÁãý2—”ÛΆ²w@ˆÞOŸt©¨ŸÝ½ÔRéÿ=a4O¯Û -Ëcª¯yÝøô\v“yP:Í‹î3Qæûsù˜k÷2nþŽÿ?ÿ™òbÈ—¦ûÖã¯i=ß[½ǘ4hÜ ^Uúc~‹ãÐ<:£>jŽ[Aó6 ƒó™e¨sjß·ŽYA}¤ë×±?Mó,{™ì÷Ö/÷+û>õ[S»>/)@4Í{„½´'þ¹Ì—ÎŬ¼E­XyiùîŽ}q…¤)Z‡”ä}×Í!+žßtýøµŒÎ¢o±}÷ŸÆ¬·Âúb8›V½¶_·ú³öL[­YA3¤ÇY»ëBÞ|€HÿÓcüýröéq+6ê†îøOã¨ûõ‡$M¼}ûIŸ×ŠÚºí‹·VÏ…é÷£ñ÷ãÿQ0Z>Ò°ü¡ç˜û=è¾5’ûo#n«'ËëßXÞ·oÝêDÕ‘¾~õZ¦yv—õEÞô z­íÂ~úåß±üC¦ÑnX¢Ýí†h7ÌÛ [=E^^8sÞœ¥ú±µ!£NÂÿ*=G)oJÈxœí} `EÚv%ˆ²º ¨x ¢ˆàAb"D Žp¹ ž»è罂€ˆVÅïã÷@A• ÙE®„\äœÌLNrBÎùŸêê©é9™ “™ÉLÏ;tWWW¿õÔÓUÕW%)ñ†ì¯¶ß’CLÂ@Ò†4é®&mqWÁüõ+×RŠÿü`M:ŽFµ‘Ó\€•Ãt"x|h„5¹Û ÜF‘…øKî$Ï’ü¿˜¬0m l†N$Àè<·gŸ&;ÓÙ=¾³Ck>¾3ëŸöûw¼þ—Äq'nøîB:“‡îQ¦Ýÿâµ{pG‚_–Éq!8:=î,éw‰£î“ÄßöI´ï±·ü°¶9~Ò²yžÌÇÑ›®AØþo”ÿ÷—æg¡ü½¤ö‡.Í8~ìH+¿~?zN6ÊFûüv°@ØÕR iû ìZØu°¿i@PͨB:Êeº‰PMк§¾r3ìØ­°®°Û`·Ãî€Ý ë» v7ŒŠ¥;ì^Ø}°°ûa=aÀ„={öŒòÔÖö(ì1Øã°'`}aOž‚õƒõ‡ €:¶!äiÂ4 {†P {66{66 6{Iè9DÈhØX$l,lll,¶öll1Œž9±°¥°e°å°—aôl^ {ö*ì5Øë°7`oÂþû;lì-ØÛ°ÿ½{öì}ذaÁþû¶¶ö l-ll=ìSØØg°°Ïaÿ„ÅÁ6Áþûö%ì+ØfØ×°ÿ…ýl ìÿÁ¾} ûö=l+ìذm°Ÿ`Ûa?ÃvÀvÂ~í‚í†íí…ý û ö;lìß°xØ~ØØAذC°Ø`ÿ…†ý ;; ;;;K„%ÁNÂ’a)°TX,v –; ;; Ë„ƒ‡eÁ²atà ˃åÃT°˜¦ia…°"X1¬„°þ³É䜭D|¬V»»«…ÕÁêa °Fº?Lj(üØù¯·Ó®ëÇø½pbãD~m…m Ú„R—HOé—îÑÆ/PjMÚK»Ð¥¿øwîÕ¦ùëc9R=Ñœh~ì¬þI.¹ŸÔF %Áþ@³BM6ÞH>ì( ãÇNäËÛ)¾º]^°†¯°šì6ë°’ì+“œ­l2òä6#XsÒ·Y…Õœ­çfEv&³Í¹åÝ›Q|›eùZZøç­T‰7“Ó½U£:”Fw:Xø|;Žò0"à È "ÿ~ˆž€ÐÄÀ”¡-ðY@BBJ=(!ô  „£z8SX’UR¦.¯,©®)«¹x¡æÒ…‹-ˆšºº–?Jp©¶üâ¥ó%e>^^GõZ Åïw_[5®{ìâx=¼Óÿ~8¿°ªª´æ¢——êávô˜£úòÙk Ýùã× Ié­‡’ÒþHLÛµ{û꘰ÍDUUûxyÕñóyPבÿƧg妞ÏN;Ÿƒ…Ö øŸœ™uüÔÙ}ûv¡\å•>^^Gõpô|.œ‚¢bUQ‘„â‚Ö !G£=“›Ÿz.åÊ--÷ñò6OE.z 4¥e9šÂÓ¹ù(WNé/oóôP\^€%/€¶¬,¯°èl® åʶ¢ß)¯A}ÚÙ¯‡’Š €±äD¯MåÏß‹wÆ fujùêâòT,o//'$&qmˆs Šò‹Š3ó lèáJÊ«,Ôö*-³“­Î‹ AéV§¦ò2òòb½ĨP®®!Ê]œ[ÞÌôQ©£z(­¨JÊËð†’–”§–è«>imã‘Iˆ Y‹ç(¾p£‚s6õÐìò¢Pó µ“­ÎÙ¹:u'+/2«\ÃÊ›TžŠÂ–ìŒa{16ø*OÆvqny›©‡ÊJ€5NÁöŠŠ`9uYZ±:4”rZR‘¼.'—ÈSFU\r._mKÍ*¯y¡X¹‚I(‹4)£ÅÉW-Æ8«¼ÍÓCYUÀXr Ö¤U® -­Lã1;*+瓘5i»BHèüuëÖ„åV'””žWilè¡yå5/go‡" \kÒÒx2¶‹2Æ$=‘ÞÛ-s¾òò6Oªª€²ÊJgá“´ÊOBCË*Óx ô°€Ä|=„†Beiëœx8%ШKJ³lê¡yåE¡ÀóÊ]Ö,ØU¹#†|"UwÙ®óI(I®L#¡ëX §‚åÈú$-Í„.g•·yz(¯®KNÁΪª²ðBúzóIz-xz:û…$”[P„K°ì­ =4¯¼)(Tèzs·CÖ§³3Dle%% ×³È »2BØ[Û,iX¡ÜåBUºÓËÛ<=TÔÔTH9!ŸžZ æOaygu5ØHý4tí©êµ¡¡ˆÄ$Q~êSç”Õ²¶ìB¶ºÐ†š]^*† P{ØjÌÂ=|ùJÀiqzy zpäþCeM Pál„~šÁ{Iˆ1ë2jÖ…b!Ë1{è›ì{^rîAAQá…òM‘ =\Iy™Û,üòqŠÏJZœ[ÞæÝªª©©’(òàÄ/ºPžkSžV^¦‡Êš §—·yz¸xéR· úâÅÒòÊ‚Âzðò6OuuuµÞ‚KuuUÕ…¥lèÁwÊ먎œËA>  õ^ºúúŠª”+Ëì}!_+o3Ú‡Uãºgžˆoò¢ÐØÔtöD<Êu¦°ÄÇËËõÑÛÞëÍoÖ¯ÜüZä¹ÄýÌ[áÙA“•†}»þ•4µÖÇË =|åˆNdå'å€"/{ŸðËwç$çk/¯£z€¢@zÕ?3³]€ƒé™-~íÊe~¾øZyÕƒ€wCèA@ ¡%¸Ä÷zÀ¹âûMÌõàî‹cÜÌõ°ñ›­¾ ‹zp{“%àF=(¡Ðƒ¸Þ zÐ_o ==AèA@ ¡%„”zPBèA@‰Ìü}Z¡¡#=(!ô  „Ѓ€BJœ j¾Þ ÎÐ&Vbø2Ø_ÕœAH†v»í4o3€g[má ŠÄÛæÙc‚'ò9@¹Š°ïã`;ÓxZT›µàp«ð¹9šØN£ÌÊšfl+æ•>i´Û퉱¨+¥'gO/C‹êá­c‰ÊTÍ[ǶÛHãöAcÁ«•dOŒEoÍH Y§´'—áJô`ÞÈ7O<Þ­ØstóÚ±Ã[{ÞΛԵÅÝíIãepJû¶! V³¬¡F‹‹ý…yšH#i@9¢°Ö8o¦:œ§¬\{b,8oV׿‘ö¤ñ28EàuÊÎ}½ÚâÐN9ž´–fb$ ØÖ×ý1vêÁ¤±'—á\Póߟä\±3½Ù#‡à=°îƒusŠ1ª²;°'÷áJôÀû}ókÉ–ƒ²/`í‰=1óy+xÉð²(û{Òx®D&ðîŽÕGàD=x„”zPB1ÿƒÐƒ€Ðƒ€„”zPÂõz ÑÛ}t%à2¸q>±ÛŠ7G·3  D‹êÁâ˺͔Ûÿ~”rwþœÔëo#» -ª¼š¿øÄŸnó‡AÍ|?êãDoò\iŸt8!‰+D‹êÁüC¦ §¼EDhVp£ø.~.[|‡ªyïG!q¿õ'¢{_áoÞ;½»vêš=ÕÎôº”·ûMéwåÇu˯{õÀ_áÍ{Í_ƒaý…CïGeè» ¼r@yÚ<èÁÎôÅ›‘^gzÏ$á^=dH]º \c*_\4=Úÿ~”Iû`R›¼²¯ÓåétºbVßV&3Ù…§4OŒ¦@ŽOÉã»$F÷®ÑnIxg‹ùî8tÞ;SR—‹áv=Ð×hƒƒ;í…"þžk”•{:U“€J9ªÔ%$lN@dÍoSO§èlë¯29±:UÖ,2ám@âoyüˆì@æ¹yìiÎ9ø÷XkÛùòÊ¡|÷ɤ} µö[‚IU"A±1oÛ£Ôo µy ˤF—ÇÚe4§7'CÆÍŽçëÁžö¡¥õÐr0iØ‚ù©Ýl=(;Ö  ˜  4 ʬ»QÈÓà íC‹êAÙ>ð ªÅþuÅbL„ØÄÛl²X§ˆG&æ \\W"?»õÀk¡xóTVMÊæÂ|<©KÙÂNd“¿›´ |ÏZb‘5ˆg F’:Œ$¥}YK‚H~ –†ˆ×íðÁöµY£M0ïè› \ ¼[ Æ£}¡Û°ëþÃÀÖú÷’øýI§Ã[õ`Ïý‡Ö¬·ÓÛºà#íƒøuæó‹Ö¬‡ü;R^„DP×èAù”ixO2:Xùžƒò!f3æR>Gãic±†Õ¬8ÄÄeé¤5+m7Ä Ä…!2ËUâÖàb=°‡ &ßþóÙB,êÁÑ÷£x¶&íCl¼u¯Ë‚tñ±ˆ ‹ËŠEŒŽÇˆàb=Ъÿxk x…š¼e¢Gß²¦4qa@~Y €˜XBEÁcDp¥Ìë]Ù ØÐƒCïG5C¼³Pv"¾\© Ðì›ÏÁÞ«ç]VÙ{/Í›?ʶ,ö±ˆÑ$|¼­p™flKdSð:å/Ó²Úg/Æ`úê¾móØ o͘?ʶP×6Æ“|Ìé³Á5zP¾ÕÒ³Ä\Vnbºu×èg·y “ëM¤ ĵ¤=AÜA„DP¡”AèAezA¼^旙ʕüve¼ô+>þlKèm%±ñXŠ÷ùg[¾£ö´B§‹7×CX\||¬eñøZð=  1ñ±&z@ï`ñEß|¶å#zˆ×eÅ’Xöh[Ù2ð_ÖtÄûü³-ÑzT<-ol|\\¬ùø!6^Çfùø³-_ÐC,ôË_–£êP¼Ⴠà zÀ¹Î†‹r‘ÑD„“öÁmàaÁëõ`;ˆöÁ$ø¸D0 B"(ƒÐƒÊ`¿2„| x½”·•·ØíJz2Öèò“ݘbi|ðÙ–/èWw¼þq•2ל¼®±Ëî\Åûä³-ŸÒƒNñp3 í€þK€h*âuñqa±ìù—^Š:]n,‹=zˆ×?¡0ï b!é¶U–7®}êÙ–Óõ°ñ›­nÎA=p¸ ˆ´Äcâ}òÙ–×›}ZÙßϲÑ_`}†r©IÆ›µ!¾ólëòz"_z‹XýúÚÑ¡à zP„l¯×ƒ¡”AèAeðn=ˆÐŒ`§ZÝýɽ›Þh¼Xîn}[_zðîp)ïlùvWü¹§òϽX­>¼ƒ¡êðÏ•ÿÙ^‘ðSMÞiЃ·‡ªß×Ý]bo݉ß9ê÷ÖßUüg îèöÚ?¸xøGHBç&=´ô”AB<ÔüñCÃñ_’þ]Ÿ|¿ õ)ûRvןÜE‘Ulƒ$ÐJ脼=P=@))ÒHý’ 8¹z¨;º ‡Î=ؽ©ü«ÜlŽAó©ªù¬_ÊùEY2öçYMÒ›LTkÏD”\¾üŠ”ÓõpÎA=@ Ê*ž½ý­cÛ­MU¡˜ÞœÎ?‰šÕnW¶ÊôW¢Ÿ}Eªæ¿Û©Ò8Óþx{z8ô@{ =0ŠÀØR×z ¦iWYeæSR›ÿ%wké-êÁžþ—_‘ª9¼³!-A ˆ£Š»€ºã¿Tþù‹®ô`±š¬MUmQÖÒ;Kñ¾ôŠTõ‘Ýõé‡e¤àb%!‰âø®Ê£{u- Öæ[ÝjöŠTÍÑ= 6f-Ã¥$Žï®?¾·êدº–è/‚W›×Ž©ª‰4I5û+ÞlãIóô¼} Ñ«ù^6'²¶Ý_øÈ+R\J1PœØÅcš©û®7ÍÇ“¶ÿ<²OqîE¨E=øÚ+ROìk8{œ"ãOZõRyœø ¸€Êc¿ëºÞ´ûþs“ëÍ+ÔCó¤bñz“øØ+R—’âÎ%5ž;Ñxúˆa ‘~’ ÷©Žÿ %°…–Óƒ‡@ÜB¸˜r¨!'µ1û$k"êÓ7$ý’à¨;ñ»Ðƒ/¡¡e¨Í8ÒTp¦!/£ñüÉÆ³'(N¡ªHKhHa8m@vŽ'…Zu@ËÐT˜C%!µ´¡ÀpBRE}Æa€Þ´L9HÛ‡?íºÿ žw·êÐPZ  •@DZ%€+4¸­>²¸xø—êÿî¨JØV[©³S· =øJðn=4Þª–€Ðƒ€BJ(ôÐʾÇh œ âó==AèA@ GõàÆ{)žãI«ÎÕƒçÌ'æ.OZ5œ®ï†Bâþƒ€4ß ¸% ‡Ðƒ€BJ=(!ô  „B­ìzÓí/–´R\F†÷'[ŸÜ|§¯¡”AèAezA„DPëAù™6ŸÓÃâìal®óå¼1vÎ"‚ýÁ]zØLçŸg2wÉlc&zØ åylC†öé!ÞxN>›Y..+‹OÁ&Ë’b­¥Ñ™Í;¯Ë’æ"l_—V¡Sƒ»ô@«þãy¬5°6Û˜‰”Êq´¿ˆ×ñ™”óÀ°™åx]óM6Òè,Í;‡ôYqt›¡Ö8“ nуy½[œmÌ\<™ÉÄ•—ÕCXl|þÅÒ3×dºå¹Ï7ÙH£³>—T¼¤“Ö8ínÑ höÍg}1™m «lþ(6Ò@1ý…¤‡æŸŒ—:‹,œÏ8s¥sÿÊõ`2ï\¼.¾µ+×ëaƶD6‰¯S³íÛ6Í3ÆgcMK™aßøÁdú¸fëO<o6ï¶òþ%Giµª°_N™ÿ= xžr´Ðr³Xs=°úÖIÂÀ‚5=`@Ââ,Î`ÌÓØ8Ö˜Ï;ÇÇŸ­qZcìÿž×)zÀÙ½ïã`¹­p™ôIõð¾}(&•t )OQ4žO&¥Q¤b)ŸÕ†¡j®u@´Ÿ g‘Ú™~QÄÅhp-\_ÀÚÉÒq'“KHõDR9žÔŒ#ÇS`¡*’TÔÿ²=.Œ$eÃé/ÛZ9œ¢lˆ)ÌõP:žTL’Ë£Ú5Ó媯nËÐ0_Fý¼6æhŠöê˜Z\ HÑ`ªÆÉ5“*>íèð†bUùêÙÏP1 6ÒC®BÕQ~Aí,€)µß¸°ÅbM‹Úrè·‘#ƒ©Â‰84¬êX48Ð-»{,Ê£rÃì¤ôÒ¡¿\ûÀ–zmíÐûûû|Û¡×·ûlíØç‡ë{ÿxm¯í×<üsàC;ÛöÜÞ¦Çv¿ûv’{~¼cÀÖÄÔÂòµ³YsaQÓ;éL”Ðk+’p&ÞÐé²?ÿ"»ø¹ö6’Y#P÷ýh»{‡L$ÁôÐX¢êñÜñŽO»uà±n¡‰Ý‡$Þ;$ñžÁ‰wIê6øäíÏ&ßúlZ§gÒ:J¿.(íê§Ò¯z<ͯ×IÒóà¾GCa[¬q€Ðþ×-¤z`•nAÖÅàÄâ_a…z™ÌÅ N¯ë›Ñ5äláçuþÑÈ¬ÇÆe÷ŽÌî=6ûá±9=#s»Î¿#"ÿæáªŽaªkCTíæû?™M9IîþÎD¸¾H¾CÑ_L#ÚI~SüÕQm4/Phg¶-œÓ¶èŶ³TsÚ¼HAfÐÀ|? }㼪Ë5¬"NGÅÞ¹}Ó´À"DÞ¸ ËÑH³m4a[Ý/Ç(+”ïËÓ³°«¨zè}ï/ ‡|´‘ôž=$1ØÒ^·$q U† uúºËȆ¦@}Í‘ÕÃh$ÓÃg›jôzØŠö!Šž˜ }ÿ½C«£ø¾€Iž|µD¯‡äÇÛÓ”IÓΰb䱩zb@íD¹fµÓd=ä DšºWäÝë¿{®XŒ²kËéÓ^γO{Æ9ˇ:Ö}(²­ÁªZö™Î$¶ãgŠ¿ŠRý:{±¬œ((”¡³šš6G5b~AÄ‚^õÏÌU˜¥~b††Ç Ëè4\ÓqHþõOg\óÕCæÃdwOY™ATªHÚeè¤fá²’@šcŸ.:>R«ÎvÎÀ@\º2Ôo¤y®Z¹ŸE6þBõ°!bSÕÈ@Æí÷—á šÑþï{‡VàjZ¿/PûªQž|µh ¬‡Ä>íYJ]b,Zê —UŒ ¬™$ëA£×ƒÉîºÃKMZ<$ÎÒëçÉòáŽUM"ÜgÝ 9$õn_ñƒ<­P­ZW9.ŒÕsÁ•pa$ŽõÀó9¡/ä˜W0j¡zôBõȃ$‚f©ÙByuS·1š[#4]ÂÕ]†æwzæÔ_{ÿŒøœAòýj¦‡ÃwÒ›–T#e=ÔÚÑ>@IŽðgw®{W Þ6tn_:"PŽü:û;¬Ž hØ)ë¡|„¬‡ï:/«'ëá÷îC‘#[žçùþúÕìï¾È®!ëåøÒðSX•tÂ"eÕ8YçZܽá§çÌW=kšgÕ#ÇÊÇî3 bžCí?@”ŽXŠÃýÞ?À¤8W.;ŽØgLî°Uc^R]¤Ž|IU„Ï/Ї{#ÕÝF©»Ž(è^Ðux^×Áé¥ãˆ!ãq:l€p½©ÔCa¤zHû缤ÑmЧè~m…aì‡E+â °R‰ÃJP×})D‚†Íì§›@¸.rûMçejª‡ý }Uç¡Hs´wû"éž9Pm¬1ÝeSÑâMåR «_§núi\ઈeª©´)HØ–…á=k® ÿ±¿z¹…Ý mbñ,ñ镨QwæÝýRÛKóÜ«Ï3ù‘öJÇR°š+û\½<À<‡úa`oÕ8Ú‰$|±ì›ÎC #Àª³ ”€*Ë §UÖwBÞÈêq‹5–hÆ-RŠ).¢K<8NuïhÕ]ªÛÃUw„«ºÈíö\z§Çéõ{‘t?Ùz/ÕÃï·ä'èÃŽÜúä‚ëᲪ8}|¤A ¨»Ê•2ùgú*KQI%Á}+“ô ;FÛ[ŒúJ#c•[Ëë”û²Šã[!³Âåq…r¿_}\Çöe{)nˆ·±»É¦ÒYæyòî˜îx,ó¹02ÖbÊ’òdN„j¤ õ0ýõa´ÊLÉ›«™²\3e™fÂbt#æÄÀÂ}#óï~>ÿÎáyw…çu>§ûд›ûR=@ ô€öáµë zÈJÄôÐ QgC gÿ5—ëA;™h&ôÞ/£‹ÀTªÓ­Ø¤NÓ¬z$` çH©YÎÕíî>T`m_×£TRˆ‰cÌg÷ø9Rñ˜u}è™-éað,UÔJÍŒW5ø«£æ2ÀE(_¾'<÷®a¹ÝÃsïȾxê­OýÈô1 ›@û`¢‡¼1²ÌÓ(]n#dmžud¤¿vŠ?”ÀPiܶ3˜hC©œnh{·t^n±\¡Ö©"ÃÜ®˜8¦ôÙÅJP4ÖC¸‘æþM½ªpÖëÚ©Ë W!Óóƒ¦ä?1Þ ‰ûFäöŒÈ}pdvÏð”®Oý€Ö8(õp´/IîOõ3šf~ÙÁkr¿ž=¨'ô5•+ŒgíŽ,“rAhyTËã·5XŽŒu{¥;$êóÈX^A.†E=`´óNÑKïAœüð¹ª!3óMËï7)ï±±¹<þ¡Q¹Êz0<å¶~²?Hõ°åª‡ï»Ð•ÉOÓ÷^²#HfÖ‰ÓÉ{Ϥì=Ã~Söž’é*~3w>¹;#qg^òw©õ=A”zÜ^_^‹‘Þ;âzÀÅŠ5ů®-^ô~ÑÁcCG ÔÄà™ùÁ’$žœ@[‰~«ì™ÛktÖƒ#LõÀÚèá@úfÔ©!äÌhrt99$Å“ Hòâ6'œŒ!‰ ý]HT%F“šÍ¡G7bõøh‚‘ƒRî’z:W ©‹aò€“—ëa|¬æ½M¥}UöÆú’ER+1ó5íÔ—q¹¡³P=rAÁ°¹ª¡sU¡/ä?•Åcc³{Oîòý»½èLÚ¦‡¤gý¡‡´—¯É|㦳+ÿrvÅÕgWf¾rmæ«×}­Ã™לy90c19³¼mÆ¢~…dÌ6ˆA©W[àz=ÙÆï(fKÈ ÷CÎzC»áÛ Ÿo-‡*V®)^üAÑ‚· 1¢˜õ:™Úé¯hqé Q †G«B^Èï;!§ÇÐ䛥Ï7Ñ;@{ï’õ€_èáH0Iî=YI>ªx*ÑΠ(šåg_8ÝO;•&£pw¯á z`àä*ô°ì£âÕ_—­ÛráíÏK—~TóÄP8û -Ä0m…fê Í„¥š±‹Õ1ÏÍU¡‰è™}÷à¤^ÃvÕª €ëËæzȲ¢‡’9„ƒkƒ ƒÂ¬ïp¸•úg’P¯™™S·äƒ¢¨W´‘‹Ô[†ÍV=3=½ÃÀiý'çŽÍzÎíž}dz™NJÎ(Ëzg6ÓÃîžtüðåMtWLJ&‹zà¨xÑm”F†âÉn€ÖÀaekLµ16@»vv}±é ¨Ë†ì÷g€¡†¬Y€Æz`2PŠ)¡|¾?CuLkÀVåÛ×ü•l–Cñ EÓÛÐöy ½dÞ_›tp|È‘)}F+ )!TI2@hyÐ2˜t Lu Û4Ŷk\BØ{ql™½2Ç"Ù‚)½Ygx‰ÎK!¿æB°ƒ2ÂÛ uÑ~µ³üÙ9XåW1>Ç/{5šÅ(›nö Ea¤üxˆµ® $‘dxûƒ¬jN[hÕª[Ù‘âï·P¼×â£ût«0`]oÊH–øgP®¾}· ,³jâ@¤r•U%«ß•ÙûÒ•ãé I“Þ’ z‚s1°c}(Uýš~ëƒ(6l,¶öll1l ,¶¶ ¶ö2ll%ìØ«°×`¯ÃÞ€½ ûìï°U°·`oÃþöì]Ø{°÷aÀ>„}ûìcØjØØ'°µ°u°õ°Oa`ŸÁ6Â>‡ýÛûì Ø—°¯`›a_Ãþö°-°ÿûö-ì;Ø÷°­°`?¶Á~‚m‡ý ÛÛ û¶ ¶¶¶ö+ì7Øï°}°Ãâaûa`aÀÁ`ÿývö'ìì(ìì8ì,–; K†¥ÀRai°tØ)Xì4ì ì,,vv–ˆåÀrýÜ׿Ô:êlh*¨Sr裣®Ÿ`9²]BS3 WÖ‘P{S¶^°ét#mHö³t†Îfÿ3ÔôyûËyÓ £ö‘®_è@º”®~õBÛ5¯R_‹ðÿŸ\ÎTŒzÀr»C©ÔÉ×ý¾Ê@†÷ž!§(†fȈÈ&£sÈÄ|2UÍ~ý¦’©Z2QM&kéÂd=ƹ¥.ųÀ™g´·SÕnqcÇ•º[þNq÷Ûºû>ÒõþP×{®ßŠ õOo° –ÀŰáOKÀ‰žsòý§hA¾ÿüòv±MàŸWA·÷(P ¬6ÕÁ Œhh›|„Dä’ÑgüfdN ê¢MLu›…u¨²¤±ÍbÀ–ñË#Ù‹l»¨ §KéÅð›ßä,Èü;N&f€F~†–ÕjÖ…Эs« ˜U.`'HŸdh&åôŠ*ൠãÅ x䜚&ªTÆäbw@ÛZþà#tÌc…Îi °a8Œ/°÷l±Ä¾Eþ9ç ÚÕÒˆTmÄ|¤ÊÕ“çR`(î,tùžòtÌÿYÊÿ5/§ÝôFæ_Vž½zÅÙÀg¯}%óºW3;¼vöšg_>Cg´]~†,É ¯¨Éì ƒà•šw1nA ðO¯¶ þyGɼ“$&‰,8ÙfqrÀ",Ÿ$ éïÂÄAT$:1tsMcôÃX%£[hs\/þÖ®ÿÞÿ!O'³‹ÜY™{“OïM9³7ù ý¥8Mc°š|zWbÆî“§w&f|—œ×÷£TqÄý-OkÇ-¿“¾GIÿd: #]ÙõÍŒ¯sýGó¿¢2ËønFÖ­ÉáÂvÔëtõqËérìq$©‰u;Ž@öy¤Š8 àÿ‰d2(“ò?†}e×wo³6g\5îfHügñù5]VqöK7ã¿tSÄúÀá¬,§—uÞÀÊ¥®s7½– W8¦ôÙ9‡Pò?R¥çÿòß¡Îý×Ù6#·™R Ð^ü¯”ù7áÜÿX xdU{Z–Òx䘛0´ûn§•Ë9°à˜Þggó‘‹6DÏÿå¿ Ž;¥à¿˜Þ„4ð†D*P§V6Ke›">]zŒ-_Š5Ùz¼ÜhßåÕÆmÚ.¶©œ2s¼ZÞ—í¥H¿ÁöîF›²v”ZʳÚÄ1IüÌgk9(Ë¢Ofw&OfÁù´-Š,Tð™yæý3­Íè$Æ¿\+”…­[!ÝÇ\ª\Ú6GC¿(ÖéŠÁàˆÒ¸K1ËáµìlX:‚:Ð߬8æ¸#™eRþ#9ÿvÍc´èÓcþh¦×~QÕdb5y¥N.ìÀ¹F€t²´ý+W±È°_eþGVéËò}À¤¹˜÷þ;€ïÈðj­Qž†Õ"™«>‰,el"-ø2P7«5òÖi‹»/=¬3 4«,“<‰©cŸ—ž°”C擄*äUumظJ2þrÿý³%þ цH{Ú5¯Ø’u‡ýÇ$úϪeU7õüÊC08Ê?FWÃv7Iü8¶&NÃʲ5 ªV_ÌýúåÝóT¬–È\=žÌj?lg“Ô²m €&Öêù×Êéä)òÜwõRâUÊ¡Zû>9zþ“ibžÕÿ~)Û=ÿ[õ‡3Éî0à3Öf}4@ÎÇ:îN—ø/$#‹È4}ÝÑPg{ž¿%þô{¢ÍÜ:Tà7³–¬jГ£&QµzÔÓ"èN/•"õüo [§çÿÇ€(i™ò0À°£„7•y²]Š–v^8¨LÏO)µ-[Dz£\9í§YÞ}ne6Ý}ÓCh¸«Êo ˆj Š 9¼|(ðÞCo*Pç>GuRHÒhû“K†I°§UøMÒúO)h¥nó‚h;SÛvNaÛ‹f´£jûbÅViÌ¢Æ61:€=ÊAEi‡;’ƒ‹h|ôie|ûΟNCdQàýXÞ U"½MÞzÿ!C#ßÑe_ÓÒKy¶ê´¿>±2zèѶv7:¢äÏeó”Óû<«‘<‡“¤˜IÚ÷8$'³[9ÿhHÑŒÓ&}n]›yõmÖµ[ØØv‘üT‘=sä`ñ†§r1(¿BpY=ºxwÀ„V”ÿ¹umç7€ŠÅæüÛ®g!à}kHÛ?Wl#™wð?ØYÐ6ºÖ´Ëg„5òï¡Ô¦5›À+ÜÝ%ügsþÙ/»ª’N„*¹æ70 u2Ë;.ÆeÚXOç?\z² ?F)¢÷¢hlxX¯|Ãanó(Üä1ƒíW‹ÀæÃùpžçŒZÙô)XH¢_h’ÿ³üåC¿ðLú"ª)"WÆèÃ2¶úg; JþC)ÿRðZ°–€‚§Wìèz0Ï]?ç¡Ýcg:E—Fž+Öf¸‚Á¿/Cð/ø÷eþÝ‹«ÿ‚†à_ðïËhuü¿±i¯7¡5òoú.@k½O þÝÿî ‚÷oæ?+.,,.«ÉsBh½ü+¸µB4öàŠp ÿÁ„¼O^=öVpð[‰-Ï¿SkôúÿÁ3æX}Ì¥üH¥ J’Ù²ƒÿä)|Âbc-¦‰‹ÅÆØx©OËÒ™E89´ëá þßJÜ6ƒDoVòŸøñýÔERÕÐxT]Ÿ·mßjyA_eÊ”rŒ~Ù ÿ q&ÿo•+'O#S¯ÈÑh««ßä™ük3¶GK|šëŸU §«|¦Ü<ÌØ®5>wìá_¦ é¥Û<þ•1Fsd!ÛøXB õãÙüËìq¨&ñ&éJ­¯‹Ëµ?:ÖðÄËô;‡ËL Ö‚3ù—ÚœysV{ü;Ò_?ãc ¼(Ú ºh¿¡y·’FŸËYq±—éã=‹ÿbÚ˜«u6ø—v‘;»ÚQ‹­h?ä~VÁS°¾½·œÆ( ¹Ãeûµ\÷ëtþy«N»¹í‰žaKÿæ-•ü·úàþ] Á¿à߉AðïÞ øwoü»7´Fþ½ ­/ƒà_ðïËü þ}‚÷¢Õ?½ vò¿õ›n®P<Ä“‚ü»ñ Ñsþüå ïzþ(øwoh½ß¿xGü»7þÝÿî ðO¿[Ñö©‘=°ñz³¾3ðoü¹J ~£Ò’ÁNþ¥¹ _¦l¾ÌW*WH²½ü:Ô« ]»ø_lám|_Øé¿­“¿³#Òª–ÒË߬ŽVîeßûÿæŸNH«ŠÓ‚¯óšÑ¯ÑÒŸ5Úìä?ØögY&_ØÉ•´‹Eýóôúï¿dÚõßn4‡ãoa”† ò’ÙwŽ-ɰí`/ÿÛk_ØQlž§¹ô& .×X]žÓoˆ”az†¸½ë°“ÿyæj´ñ…Eþ­¥wÿ†/vÍ¿‹gߨÊô»]óÊ`'ÿú__Ø™¶$¦ ‘Qz‹ü;Üþè?]TDšTEll¬òk<é¬íä߸·•ÇŸ¾°3¤PV–ÜÿZþ"ïJø7θ&X”ÉlJÊÍÛ(7gÞká™Lù÷Š øwo÷ŸÝÿî ‚÷†ÖÈ¿7Áþñ§‡€xWhü»»Ípfü»7þÝZ+ÿ^ñðKתùoý¿tÞÁ¿®µ>üÒÙ=þ÷œïï,óß:~éìæß:Æ«zø¥k…׿¶ÚŸÖöðKç%ü·Ö‡_ºVÍ?1ihhh]¿t­—o ­îýOÁ¿à߉AðïÞàü{Ø ÓFh­ü³1ŒbPCG>|>sÁ¿ øW1éj˜IÁãBkæŸþí Ã=†8…ò³ˆÉmϪ˜VÍ»¹“eƼé_Ïñ¬{nÊÐÊùWüiSæ݃‡ÝsS†ÖοÑßv1Ö<—¿‡i^Z=ÿ<˜·?ÒÙÁϽ"x7ÿ†Ø“î¹)Ckåß[‚àß½AðïÞ øwoü»7\ ÿ®ü³Ëʿѩ÷]?¦ñ¤ñŒ£LÐØ…ñE ”¯‘‘ *ú;L--¨¤¬J1ÃòÈà| ,ÐU5\HžN6ñ'h½½xzƒÓoѯ5ôþÐw¿MÑq¥®íü¸Dzÿ‡ûóÀj»pßG2”«,[ËÝÞ3"•«·üÝð„¡ÝÂF€Œ¯$ýe¢üæ7Ùƒ6‹iJ²¤ øåð‹®óŸUÛfnU›Yå~QÕdZ™(ýNªÀªU*cr1ýELd¡\шÆä‘” O3ñB1Åô"¿é…þS´™¨&ã ("U2p †Ñ9Ù€_x& d!§(°gú%]¾§zž¬µ8œ ¤CŒÍ›½V«*®wôTšý~vÀ ã$èu¦ÏŠ›¾”KtYð’* ‘‹òÎ^£®ËÉ,ú`‰ö•(õ¢È‚èpÕì°üéÏ俚?m 7¹?;öQŠÑ½²Ã{d>{GÒèÇÊ2’g¿“1SOzî&÷n¥þ0&íç_r䣤Å-+ûzõ…-ëJ?»è£¥…ïÄþm®öÙÚWghVLÓ¬˜ªY:A½xlAL„jîsùQOgGöI|÷®a½T…µ²?wí%÷l!×½æ€'´ösõžär1Àí³.|»¡|ë祛Þ+^³²èƒÅ…o/Ðþm®æõYpIûÊtÍò)šØ  G©¢‡ç¿’3¡oòÐß=z üyð°ÃþÈ>(‘M†Q OMìxxRöÕG%ëß(zQáªhík35/OU/™ ^8¦`ÁHÕÜaª¹Ci F=7¹_öØÇ’‡÷ÜúDêÄî<,ûÃÏÛ@{«t&¸ëOv þôϦþÜNù¡þT: ƒWä™óüh[ æ€'ê…£ bFܘÄšªË5cºi"nU‡wÉÚåÔ3~îýWêÏ êÒÙԟ›>¡ÃGaìòÌÖ=ojjNXÁü " ÎÌ}F=k€f†áüÒFܬÞ)HÇŒ§¯ßþÐ5ÔŸ` éŸkð'ªÖ.LV€{Y ϬgoÏÿDþŒgTsžã‡.˜û¬zN°zfÍŒÇ §>dpiè ¡×žêß~ûm©?µ2—hÿìs¬ÁȽ —Èø‹Èóü .9#Æ© —ªüB™R0+¸`fzÆ“š¨>ÚÉ= '܃ø‹{¾Ò†]§tõ©'~ºÏŸú3¤Œúód!máϬF‡Á”¼Bžç܈*ËÓ;oÒSùSƒò§åOí¯šú”jjß‚)}Ô“ÔŒë®s* ähBÛç¤?ê¿í^?ÙPбÞô‰t“ý°èòÌè{ÝÙ®ç†÷8?ꑬÈG³Ç=–Ù;{lçFöÌÝ=?âÕð›UaU!׿l—ý¤ÿÉGÈwwÓ+52¼’º¤úrÈ‹.©J?×ãØ“ ¼51´[âî‰CîM|OÒ»Oî–üìíiÏÞšöL§ôAÓ‚®Kêê´Ç¯:ÙËï`Oòý€;LýéøAóÑû3{CeizÒ/¡=¶é°ïÄÅ_Uí9Z³ûH5ðËá‹;þ[½-¡*³ ÖþÀ™œÂ¦3M©9Ô1 é\ɳGN7ΨÒ¦4ü~¢nöús×`Îdä5œ<ß7˜'f4$¤5$¤PÀ™'Q@š üA51fŽŸm€ ‡ÓêáÃo'9àÏïÇ\Á§ùSÁœ““^Ï~=Þì=^Ï\ãÎ&0ÃÈ Ÿþ6ãÎÀ 1»%—×øƒóÉhÄ¡¤Ô»NÔóæ’Ýz>çL\âËpÌ•þ ÅãšQºÁ‘*;jg}]‘?;×ЦFî̾”ú})²?¿¯ûÅÞöðŠüÙþß´xh„9þH£÷kjÃωõÛÖí8\í~ø£MÍA©>˜füÙB±ãdöãõÛŽÖý|Øúi®è|‡?hëàÒdÚ&3@6ðd×Éz•~ø³vû\Ñþ| j÷ÑÚ½'êi ÇÞDzBý,Ê3?¾øSB… ü9›wi÷Ê÷üYáV¡^T˜3§ój\࣡õÞÏ$® U_ÂáðÇþ ÌtåýLáðGø#üþ„?ÂáðGø#üq½?W4ÿRðŒyÁV“V[zþ%}æÄdþ+ž[Õžpeü¿•¸m‰Þ¬ä?ñãú[\RÕÐxT]Ÿ·mßjyA_eÊ”rŒ~ÙQþ 3|šO;ì¹5t¥ük3¶GK|šëŸU §«|¦Ü<ÌØ®5>wšÏ¿a†[ý„Äž;ç¶2\9ÿ2{FêƒI¼Iz£ûÁúºh^ûcúç8¥IÑò÷Ìé‡Á¿ÔæÌû˜³jÜ#Øàß‘þ¢9ü{ªæ•Á)üÓÆÄXí¬#°Á¿´‹Üp4£ý‘§Ø¶ØþxªèÁIüóVvrÛ=ÖþÍ[*Ûü+šÉqÃ_ºSüÅAký¯çöÀbþU÷Á¿{CkäÿÄú~½£¼ã·5ò·½­‘¦çã¼ÊG]rëaxìèøó/}¶Äi׿Ž2fÒ}; -¿á)HæOõ}A³ž™êÿÊï½¼“×µSשv§ÇIÑoJë¸ÿ£x/56h‚ 'B3Ÿ)ù÷¦Ðü£•0<Ø28þüK¹»\kú˜ÖK~ ñðW†´í\Å?.lWë pÿ‚„à_ðïËü þ}‚ÿVÏ ùâÝhÿŠû–Ò•”‹ø7<ÿÒ?/°'ÆR>Ê;üþ‡ÑM {Ҹæ:þM.œí‰1‚|cVá¿þ ážž=i<…V^‰ÿÕúÛ fßvÎëiìyþåþ‹µÖÎVý#ûÓxÿ†/,”÷$ï-Ó4òW`æizþeh[ôí€=1öñoiO7òo~ÓØÆ³J©|Ž8åù—¥vÀj dôÚ”F³ÝíIãFþM|k6ÿÍ”“y;`OŒ5n-kOOæßbûc=QVÖŸ¿(z éd±'Æ6ÿÖgOæßrÿk=Ï¿‰Íºoë1ÆP>˜F Ï©íKã^þÿ^Á¿àß—!øüû2ÿ‚_†à_ðïËü þ}‚Á¿/£Õ}íeü{ÿ®ùÃÖ&àü_Áf"4?ˆöÇCÚ·{â›h×;Cð/ø÷Yþ[ÿZuZ~Ö‰œsG²3ÿt2Ó¶øQPœÜóGQ.”Î]嵓8S“´rý7ÝÇ­"b½Â_Ÿóî—šüdÀ]嵓èÎD¾¶y¢÷\)¤eiP¢WÖk®—•×Îñ'üâOd6yUhŒ?qå*)<ã®òÚÉ?ZBœ, €ê½õõu5U(WYI–»Êk¿þáO µÞ‚KÕUJ Q® ¥Ùî*¯Cü_ºtñÒ¥ïÀŋՕå¥%…6øwAy⿦¦JB¥ ºº¢üBQ‘&×ÿ.(¯ƒü³½*œ‹ŒOCù ö¡Ÿ¦ÒÈŒu¡¡ë2X‚=1ˆi“Z]]^~¡°H“c“ÿ+(¯ä¶^úÅZ²v}ânSψSŸ†Ðµ§äÕ ¥*¨>µ6”Eb„|zÊ™Gd¨ªºp¡L[¨Î¶É3ËK EböèW÷,4,›À!þ¹çÎYŸ®ˆIÿ$4ô“tþk²Õy¨¬,++Õh lñßÜò¦¬µàvúúýù m•ÊèÿÜs§!úf¹#†,ØEãC@þº4çË¥¥%j*ËÿÍ,/œGl$ص€Äì’ù/*+K†´5¡¡kÒŒ"Áÿü]ˆùëæÓ­NCEEIiIFuÞ&ÿÍ*¯…Béã ýÜš4)™Cüsχí1$x]ª"&uuhèêTö[Q’º.˜Älwêe”——«ÔùçlðßÜòšŠ•‹G*Êèÿ8gòò'"um0 Y*¯Âs²6©5ç|Z/àVfòÙSÇwíÛ‡rU–¸«¼vò¯ÊIœýΗC­ýúÇéI ­iI‡Òÿؾ{WXÌêè6WW¹«¼vò¯-HÅïk¿ó²ç¿ó?üߪªÂ‹5¥î*¯ü—ž)+ɪ,W×T—\¬)»TsáÒÅD]]MËAq ŠÚK—.–—•œwWyÅû‡î…à_ðïËü þ}äæDTA‡Q*V íž/ä aå-ŽN?’Û¿”ð•~Á¾RÀJšÛ¬ÃZ2£l¿²¾I¹ûWF°ê¤2[ë°–³µ¬låx²7’Ž ¸ -úr)„Ë4ƒ3©„?ÂáðÇ}þ8÷¯»Zûµßçþµ_‹€KåàÇüœ£C8âÇuþ~?-ÎO‡µ?AÖéý!® vúc;™Ë üþ„?½?çè OáðGøÓBþÜ.üþZÆzÿGø#üþ´?ç¤iš;áíù|¸?©–f¹1šúÆdÒ“'Íocð‡Í‘"Ï7B'{‰ÙÉçQ¡(VKÓÂ8y¾…?ÆóŸ`A_=tjÅ*ŸÂ%µYó“Øžÿ„ûã!óðöÇCæÇàþxÈ|Ü™?ûã!ó p<äûzÃøÇ3¾7§þxÚõ©ðGøsÅþ¸ÿCÎ<ôoÙŸË|chñ£BÇ?÷»Ì·{_Ó…[ÿé‚ïËÅ×cdãoùÏa/’%d!yˆ<‰“§°Ô[Úæ“nD"tñ»¢7I½6t1Y¸Ê-nˆ ‚^Dûë¼@›h?Ù†Ëÿ+ÃÕ°%/,~ñ¥Ø‡£—H+±+æÏzø…%KèÖ'MZxº÷Dyùe¿›¤ÿ»¼{·ãÇ\¥OgæYQüÞDú´[ójg,e\s“´®Ùy'É,ì ¥¹³¤éRºúÕ'‘æ1¤R±ÏÜ´/®êÒŽíñÚ]äzlƒ}ÿu9Ü#ö*Ú£Ó´ß·]ójŒæµ\*âmm·îlÃʦâc‹°ƒ°=8.]¿¾­!}˜œNs•¼O±¡tƒ¦íMäNðx§Ì%å¬k©¡ìÝ¢÷30ÇOªêçž!‹¥2Òÿ÷Ãhž~m®'´,q8Æ€ûß6룻”Þƒýï–ŽAó¢ûŒ—ùþL>æê]Œ›ÿÁÿŸýLy1äKÓEùýÍ/»×»¯îÁ1& ³\©*ý1÷à84®¨† 1ËiÞ¦aP ó± uNCòûáÚQË©44ašæ,·1ÙïÍ_îäû>†õkS»>/©~  šæ]¢½ÜDB‹˜/]ËYy/´eå¥å»5éùå4T‡”ä}ËÕ‘ËßtýÒowEß`ûŽ¿ŒZ&oßõ$8›]½Þ´æÕOobÚjwèàrš!=ÎË{î"Q/]Eÿ§áRbgrâ±1Ëוê†øg)ã¨GÓ=’&Þº~”¤ÏK:P¬OþüÍWgÃôûÑø;ñÿp- ÙXþÀÔò=~tß&Éý··ÉŸ®ÿì÷¿XÞ½{Í«i0ª#^¿²–iž{d}Fù½Ö~Â~úåß±ü}_¦ÑnX¢Ýí†>ˆvüݰ7ÐSäÅÓçÌZ¢ÛØ2Šá¤!üE!oÃŽk'xœì `SõáÇŸºÍc:oçÏÍ[·9M‡:ÎxN7×¼ðBN8<QQñ”+¨€ŒCk9Ën‘[)¤4€èEËU ïÿI¼ÿ3IÓ4M›—öûÝçÓ¥¯ï%¿—´äëï½$‹»f@Æ/×a¹Ú8ÄØgnüıì\<øÀ7ÇÆÔà ã .î3M3´èüþCÛЇ!«GàOñH< †G[Wc‹Çáñxžˆ'át6œ3qÎÆ¯p~sqÎǸábü—àR\†ËÑT"²÷¥zJÊòO£-ÿó§×møÿ§çÃÿ)ˆ™“økw^_<Ûì‹s½xSÝÛOvÒùö“ùø‡ž ¦fvÈø‡ÑŠ[O4GðŒ˜ÈýÂþÿ?xÿíßÊ=ÿ(ûÿ‡ŠÿÅŸ“¸ýŸãÜÛ¬ý?°]èoro’=™ëÿþ…¿ÆSðT< OÇ3ðLü †~YγñÃêçáùx^ˆáïð÷ºŸ.Æ?â%x)^†—ãŸðÏx^‰ÁFx•ê6†qaý6Æ¿¡ßCÃhŠ×âßñ:ôàõxÞˆ7áÍx þoÅÛŒÐßaü oÇ;ðßx'Þ…wã=x/þïÃûñ|Âfø0>‚¡ßÄÇðqlŽO` l‰­°5¶Á¶ø$>…Ocè/Ç‹Ïâ±>‡¡¿æðEl°#¾„ðe|_ÅÎø¾Žo`|ß·ñ|»b7ìŽïáûØ{âø!öÂÞØûb?ôaü?ÆOpÄAø)ÆÿáŠÃp8~†#p$~Ž£ð ÌÀ/1Gã‹ãpŠáãØŸÀØ[aklƒmñI| ŸÆgЋÏâ±>‡Ïã ø"¶ÇØ_ÂNø2¾‚¯bg| _Ç7° ¾‰oáÛø¾‹]±vÇ÷ð}ì=ñü{aoìƒ}±ú°?~„ã'8â üãÿpÅa8?Ã8?ÇQøfà—˜‰£q ŽÅq8'`NÄI8§ §â4œŽ3p&ÎÂÙøÎÁ¯q.ÎÃù¸â"\Œßà\ŠËp9~‹+0Wâ* `®Æ\ â\‹ëð;\ßã܈›07ãÜŠùX€…X„Ÿ K°·ã܉»p7–á,ǽ¸+ÊÅ)TžÆCðGøcü ЇááxþÄ£ðgx4ƒÇâqx<ž€'âIøs<¿Ä_á¯ñ<OÃÓñ <ƒ¿Å³ðl<ÏÅóð|¼/Ä‹ðwø{ü^ŒÄKðR¼ /Ç?áŸñ ¼ÿ‚ð*¼¯Á¿bcü6Á¦x-þ¯C^7àxÞŒ·à?ðV¼ ÿ‰ÿÂÛñü7Þ‰wáÝxÞ‹ÿÁûð~|ć°>Œà£ø>ŽÍñ l-±¶Æ6؟ħði|½ø,þÛásø<¾€/b{ì€ñ%ì„/ã+ø*vÆ×ðu|»à›ø¾ïà»Ø»aw|ßÇØ?À±öÆ>Øû¡ûãGø1~‚p ÂOq0þ‡àP†Ãñ3#ñs…_`~‰™8ÇàX‡ãqfáDœ„“q úq*NÃé8gâ,œ_áüçâ<œ p!.ÂÅø .Á¥¸ —ã·¸³q%®ÂæàjÌÅ ®Áµ¸¿Ãõø=nÀ¸ óp3nÁ­˜XˆEXŒÛ°Kq;îÀ¸ wcîÁrÜ‹ûÐÄÐ4„ã!ø#ü1þÅÃðp<ŠGâQø3<Ácñ8<OÀñ$ü9žŒ¿À_â¯ð×x žŠ§áéxž‰¿ÁßâYx6žƒçâyx>^€âEø;ü=þ/Æ?â%x)^†—ãŸðÏx^‰ÁFx^×à_±1þ ›`S¼ÿŽ×¡¯ÇðF¼ oÆ[ðx+Þ†ÿÄáíxþïÄ»ðn¼ïÅÿà}x?>€âCØ ÆGðQ| Çæø¶À–Ø [cl‹OâSø4>ƒ^|ÿ‹íð9|_À±=vÀŽøv—ñ|;ãkø:¾]ðM| ߯wð]ìŠÝ°;¾‡ïcì‰à‡Ø {cì‹ýЇýñ#ü?Á8á§8ÿ‡Cp(ÃáøŽÀ‘ø9ŽÂ/0¿ÄLcp,ŽÃñ8³p"NÂÉ8ý8§átœ3qÎÆ¯p~sqÎǸábü—àR\†Ëñ[\Ù¸Wasp5æb×àZ\‡ßázü7àFÜ„y¸·àVÌÇ,Ä",ÆmX‚¥¸wàNÜ…»± ÷`9îÅ}hbh²þ <Ááñ'x(†‡ãøS<ŸáÑx ‹Çáñxžˆ'áÏñdüþ…¿ÆSðT< OÇ3ðLü þϳñ<ÏÃóñ¼/Âßáïñx1þ/ÁKñ2¼ÿ„Æ+ðJü 6«ðj¼ÿŠñoØ›âµøw¼=x=Þ€7âMx3Þ‚ÿÀ[ñ6ü'þ oÇ;ðßx'Þ…wã=x/þïÃûñ|Âfø0>‚âcø86Ç'°¶ÄVØÛ`[|ŸÂ§ñôâ³ø_l‡Ïáóø¾ˆí±vÄ—°¾Œ¯à«Ø_Ã×ñ ì‚oâ[ø6¾ƒïbWì†Ýñ=|{`Oü?Ä^Øû`_ì‡>ìáÇø À8?ÅÁø?‚CqÇÏpŽÄÏq~ø%fâhƒcqŽÇ ˜…qNÆ)èÇ©8 §ã œ‰³p6~…sðkœ‹óp>.À…¸ã7¸—â2\Žßâ ÌÆ•¸ ˜ƒ«1ƒ¸×â:ü×ã÷¸7â&ÌÃ͸·b>`!a1nÃ,Åí¸wâ.Üe¸Ëq/îCCêƒñüþ‚‡âax8?Å#ñ(üÇà±x'à‰xþOÆ_à/ñWøk<OÅÓðt<ÏÄßàoñ,<ÏÁsñ<</À ñ"üþÿ€ãñ¼/ÃËñOøg¼¯Ä¿`#¼ ¯Ækð¯Øÿ†M°)^‹ÇëЃ×ã x#Þ„7ã-ø¼oÃâ¿ðv¼ÿwâ]x7Þƒ÷âð>¼Àñ!l†ã#ø(>†cs|[`Kl…­± ¶Å'ñ)|ŸA/>‹ÿÅvø>/à‹Ø;`G| ;áËø ¾Šñ5|ßÀ.ø&¾…oã;ø.vÅnØßÃ÷±öÄðCì…½±öÅ~èÃþø~ŒŸàˆƒðSŒÿÃ!8‡ápü GàHüGá˜_b&ŽÆ18Çáxœ€Y8'ádœ‚~œŠÓp:ÎÀ™8 gãW8¿Æ¹8çã\ˆ‹p1~ƒKp).Ãåø-®Àl\‰«0€9¸s1ˆkp-®Ãïp=~p#nÂ<ÜŒ[p+æcbã6,ÁRÜŽ;p'îÂÝX†{°÷â>41tþ <Ááñ'x(†‡ãøS<ŸáÑx ‹Çáñxžˆ'áÏñdüþ…¿ÆSðT< OÇ3ðLü þϳñ<ÏÃóñ¼/Âßáïñx1þ/ÁKñ2¼ÿ„Æ+ðJü 6«ðj¼ÿŠñoØ›âµøw¼=x=Þ€7âMx3Þ‚ÿÀ[ñ6ü'þ oÇ;ðßx'Þ…wã=x/þïÃûñ|Âfø0>‚âcø86Ç'°¶ÄVØÛ`[|ŸÂ§ñôâ³ø_l‡Ïáóø¾ˆí±vÄ—°¾Œ¯à«Ø_Ã×ñ ì‚oâ[ø6¾ƒïbWì†Ýñ=|{`Oü?Ä^Øû`_ì‡>ìáÇø À8?ÅÁø?‚CqÇÏpŽÄÏq~ø%fâhƒcqŽÇ ˜…qNÆ)èÇ©8 §ã œ‰³p6~…sðkœ‹óp>.À…¸ã7¸—â2\Žßâ ÌÆ•¸ ˜ƒ«1ƒ¸×â:ü×ã÷¸7â&ÌÃ͸·b>`!a1nÃ,Åí¸wâ.Üe¸Ëq/îCC'è„ã!ø#ü1þÅÃðp<ŠGâQø3<Ácñ8<OÀñ$ü9žŒ¿À_â¯ð×x žŠ§áéxž‰¿ÁßâYx6žƒçâyx>^€âEø;ü=þ/Æ?â%x)^†—ãŸðÏx^‰ÁFx^×à_±1þ ›`S¼ÿŽ×¡¯ÇðF¼ oÆ[ðx+Þ†ÿÄáíxþïÄ»ðn¼ïÅÿà}x?>€âCØ ÆGðQ| Çæø¶À–Ø [cl‹OâSø4>ƒ^|ÿ‹íð9|_À±=vÀŽøv—ñ|;ãkø:¾]ðM| ߯wð]ìŠÝ°;¾‡ïcì‰à‡Ø {cì‹ýЇýñ#ü?Á8á§8ÿ‡Cp(ÃáøŽÀ‘ø9ŽÂ/0¿ÄLcp,ŽÃñ8³p"NÂÉ8ý8§átœ3qÎÆ¯p~sqÎǸábü—àR\†Ëñ[\Ù¸Wasp5æb×àZ\‡ßázü7àFÜ„y¸·àVÌÇ,Ä",ÆmX‚¥¸wàNÜ…»± ÷`9îÅ}hbè伃ð`<„?ÆŸà¡xŽGàOñH< †Gã1x,‡Çã x"ž„?Ç“ñøKüþOÁSñ4<ÏÀ3ñ7ø[< ÏÆsð\<ÏÇ ðB¼‡¿Ç?àÅøG¼/ÅËðrüþ¯À+ñ/د«ñü+6Æ¿alŠ×âßñ:ôàõxÞˆ7áÍx þoÅÛðŸø/¼ïÀãxÞ÷à½ø¼ïÇðA|›áÃø>ŠáãØŸÀØ[aklƒmñI| ŸÆgЋÏâ±>‡Ïã ø"¶ÇØ_ÂNø2¾‚¯bg| _Ç7° ¾‰oáÛø¾‹]±vÇ÷ð}ì=ñü{aoìƒ}±ú°?~„ã'8â üãÿpÅa8?Ã8?ÇQøfà—˜‰£q ŽÅq8'`NÄI8§ §â4œŽ3p&ÎÂÙøÎÁ¯q.ÎÃù¸â"\Œßà\ŠËp9~‹+0Wâ* `®Æ\ â\‹ëð;\ßã܈›07ãÜŠùX€…X„Ÿ K°·ã܉»p7–á,ǽ¸M ˜{Œ‡àðÇø<ÃÃñü)‰G…Σñ<Ããñ<OŸãÉø ü%þ §à©xžŽgà™øü-ž…gã9x.ž‡çãx!^„¿Ãßãðbü#^‚—âex9þ ÿŒWà•øl„WáÕxMè4lŒÃ&دſãuèÁëñ¼o›ñüÞŠ·á?ñ_x;ÞÿÆ;ñ.¼ïÁ{ñ?xÞàƒø6Çñ|ÃDZ9>-°%¶ÂÖØÛâ“ø>Ï ŸÅÿb;|ŸÇðEl°#¾„ðe|_ÅÎø¾Žo`|ß·ñ|»b7ìŽïáûØ{âø!öÂÞØûb?ôaü?ÆOpÄAø)ÆÿáŠÃp8~†#p$~Ž£ð ÌÀ/1Gã‹ãpp©½õþÒžR#Rû'SSj¶ï©½ëjþØ¥öÎOí?w|äAÿs—ê¿÷AúýÊên‹~a¬¼ø°U×¼ý˜•×‘ÝøG5aõÕFMȹ*¹ºF¬¾ªF¤vßk:øÞuéü[—ÚÁ§øÖSMzÿÕÔý{Õ0ŸÎ{ZßzÍ¿øOƤ C ÎÑݾÿçq-NZ}Ça›ÿqhM(öB!„"‰Pߦ\:ÔäènVqËÎÛ*„B!\…UßÔÝ„B!Òu7!„BˆôAÝM!„"}PwB!„HÔÝ„BˆúŪÍùÁüÂÅ%ùÛwîØY´cWÑÎZdGYYíaßÊ6ص»xç®Üü¾¿ênB!DýbÙ†<¾ïÓáÕ;Ïò62êo>éÓwZm.--ر³ï¯º›BQ¿X´öûOÞx¬ÇS7Œþ|ЬÅߦ;3/Ÿ±hùØqÝÛx¾ÝbKéö¾¿ênB!Dýb~îwo>iîWþoƒë–å®Yž»– é ã_’\°"0yòXökCqIß_u7!„¢~1/w·‘±aËÖï·l©`ë†t†]X»)oÕºõËV¯a¿Ö7ðýUwB!êV—ÙRT´¹¾°© pí¦Í+×­g¿Ö5ðýUwB!êV—ÙZ\ 4šz@^aáw›·Ö}Ï~­©¤»5œýUwB!êV—Éß¶ ¬F“D÷XfÈÖÑmXÒ}Yq÷&M¶/ãrFq±a´YÔ£Iro”:³~ËÖœï6Äèn5Ù_çNe´ Õ@£ÍhëÛ–mš°wÝ—-³÷ÑÞ_.Fû®p~Û½‰áÜ$¹û«î&„BÔ/¬.S°mä':­$¿xYþš¶¸G«Ë°p1Kšô`Iro¶}¿eëê˜Ý-áýe§ZìÔhëÛVmFw_6ÚÚ#{—­"f-±öwqñ2v6tk+ëÞ°¿µW³6Iîþª» !„õ‹ý]¦¤¬Ù¨¤±m[cêɲžö’î˶uoÚ4Ôkš6Íß¶¬qÏemŒ$Þ¢ÍÖââï·æ¯^¿1VwKh#wÊÚ¯ÆFSkaØ>F]b/´¿º$Yû«î&„BÔ/¬.SXZ V£I ï-/y¯iÓ‚’åö’Ì’’VF›÷–mb4mÕ³ç{M çO“ufC~Aî÷›bt·Äö7r§ìå†ÑÔ:Ê~½·|¹½šµ‰sIØú¤[-õšk¾¿û»Û©ênB!DýÀê2E¥¥PXR’,Þ_^ò~Ó¦…%Ëí%t·ÖF›÷énM›Rß —÷LâÍ9)ضmc~A0fwKlÙ©ÖŒ¼dle+´[’ÙÆx¿¢šŽmc-y¿©±¤d¹Ñ´§µÄ¾+¬ë±î¨÷—/»»’µ¿ênB!DýÂê2ÅÛ·ƒÕh’ÂèÒÒ&FÛ¢o?°—¼ÿmi¨¤|û­õ•úæüi¡Îl*(\³!/FwKl—²SM?ˆv“¾µfК?µöÔhûµ°h\[ë1Œ¶öÖ±¦Þœ›•~›ôýUwB!êV—Ù¶cǶŠ:“Dš|¸¢GSZÒ .Þ¾æ²ìæ=VlïÑ´) ¹@}+^ñaroÔjdy…Ek6nŽÑÝÞ_vªÁN·¾mÓv¼}¹&ØwKÒ÷WÝM!„¨_X]¦dÇØ–lš~˜mŸÕEqcIÏì=›r!›ËmÆï`ù¶ñO&÷F©3›‹Š×nÚ£»Õd­a[󤑔1;ï–ä›BQ¿°ºL鎥u¦°mûö-EÅëbv7·í¯ÕÝJvd'}ÕÝ„Bˆú…ÕevîÚµ£¾°}ç΂⒠›óct·†³¿ênB!DýÂê2eee»ë »Êʶ•nß\P£»5œýUwB!êsW¯å9¿|ïÞåå{êe{öl+ÝÁ~ó øþª» !„õ‹y¹ë^½ó¬œ…þ}õ({÷í ,ô³_«6ç7ðýUwB!êt™¡¼0°Ã«M5ëK6—³GÃ>xqùƼ¾¿ênB!Dýbapý⵨3¯Þy–·‘Q?èxóIŸty|ÉúMÐÀ÷WÝM!„¨_,ߘG™»zí×9kê€éßæÔö­°;ór×±_‘óP mÕÝ„B!Òu7!„BˆôAÝM!„"}ˆìn!„"íPwuË¢ÜàüÜàœœà¬@nÊ#„B¤ên¢n lÜ´bæ¥ë7.üncÊ#„B¤ên¢nY»eKÎæÍ+6m^²asÊ#„B¤Õïnú¿$Dµpþþ¬ßšÜÌ…-K7ª» !„Õ&¡î–êƒPÒ)ênB!DQwSj9ênB!D‰ìn¦î¦$1ênB!D u·«ŒONUwSj)ênB!DQwSj9ênB!DQwSj9ênB!DQwSj9ênB!DQwSj9ênB!DQwSj9ênB!DQwSj9ênB!DQwSj9ênB!DQwSj9ênB!DQwSj9ênB!DQwSj9éÞÝ¿B‘\ÔÝgBúw·Tß…Š¢(J½Šº›â)Š¢(Š3ênŠ»£î¦(Š¢(Î$»»e_|¨º›’Ĩ»)Š¢(Š3IénÔݔڊº›¢(Š¢8£î¦¸;Iìn7ÎÎ[ôÿßÎÿÿ%öe.Fc~™›Fv^FìuHçÆ†µ¤‘Ñ8{~wýÂ+Š¢(µu7ÅÝ©Ëî60o‘a´ÌÕ’%º-ØÂˆ½Žóªªìn¾ i«ñ™~/K¼~Ó8kIÐ4 ϨXÏ ú"ï /èÜÄÏú†×¨Ð4ýQoźΠÏS'—¢(ŠRëQwSܺìnç/r.if°$#Æ:ñ`ÿ‡ŠVE™¢^y Oè.U4~â1¼\6¼~«dÙëDÞ!üÈçñTt2“õ­ë¤œù½FÔ[‰}mŠ¢(JÚEÝMqw’ØÝ"t&ÖÝìë±­ÆÓÝì©Z_Ø´-Ìï÷zip +ê:VìîÆzöúÎBõVìV¨(Š¢¤{ÔÝw§6æÝu££V ³Ž~6ÅO¨ÇL#×iÆ:}Íy\üç»ù̲…-¡\9»˜5Sf$µ›WÔîæ¼õV4õ¦(ŠRo¢î¦¸;µÑÝRÄŒ–ÖœšÑ¢»Uެ‚õµ •­Óˆ%}-žîæ?pnš³ˆ+NF³ÎVs®`Ÿ­™ØÝ-ê­XÑÔ›¢(Jýˆº›âîÔFw³fЪ{æZb8»[ØÔ˜ûG¯?êqRgb3q+šzSE©QwSÜÚ8ß-òý?RÒÝìל›Æû£QcBõyŒÊ^«y+ÎhêMQ¥DÝMqwjï½yë¾»ÙG3­·q.±š—éxãÊJ[ù<^«»ù#Þ#$òVœo+â¼!EQ%M£î¦¸;ú\EQEqFÝMqwÔÝEQÅu7ÅÝQwSEQgÔÝwGÝMQEQœIvw[yñaênJ£î¦(Š¢(ÎÔ¼»­¾Úøäu7¥–Rº›B‘\ÔÝgBšw7!„ÂU¨»)µu7!„"‰¨»)µu7!„"‰¨»)µu7!„"‰¨»)µu7!„"‰¨»)µœtïn)-’Bˆú‡º›ââLHÿî–ê»PQE©WQwSÜu7EQEqFÝMqwÔÝEQÅu7ÅÝQwSEQgÔÝwGÝ-v ¯ß¨ˆ×0LÓ_«·¥(Š¢¸!ênŠ»S—Ý­óü­7ÎÎ[vÙh‘Á¯w³­%üÈ0[©scÃZÒÈhœ=¿{ á½~Óï5êæ¶EQ”FÝMqwÂ~C7®ÝZ°jËÖeµ0Gµ»q¡½,/ÃZ20o‘a´ÌÕ2lÃ*»›áñYuÏcfÐç š>Ç4ƒÖOùÖkxœg,©X×°·òù}ö&öæT6{ŸÇðƒ,·¾†­é¼BÖŒ\âÜJQEqmÔÝwÇ ÝÍy¡óüEö:ñ`ÿÂû½ë‚U¦ÂŠRÔîÖ¤œK¬Ë~3è1¼”°°«ìn¬i°¦ßk_·¶$òEQ&ùÝíPu7%‰qaw³˜†¤Fv^F<Ý͎ߤ¦y}Aì¢OwóúƒÖ šYUw‹œS‹}ýŠ¢(Šk“”î6àTu7¥–â¶î60oQ3£¥Õל?Šó|7ë§ßkTY”âén•u´¨ËG`½ðG.QwSEqÔÝw'µÝmrÞ"£q÷ýSl¯UhdV_‹ë|·Š„Ú/'°Î5s² KØùnÖùhö&t@–8„†u·È5½¬YqLÖ>жĹ•¢(ŠâÚ¨»)îNªº[ä¨?­ûÞ.JV¬ºdx}•½·Geónlbµ9»²E¾ÞÀúZÙšÖ‹%"—T9$EQÅ QwSÜ:ënÆãœeKJw³_Tà½n¡ê¹-}¦(Š¢Dº›âîÔå¼[ljØÝœdAŸ§Ê|«úU¹•Ÿ¢(JýŽº›â»%†~áEQ”äFÝMqwÔÝEQÅu7ÅÝQwSEQgÔÝwGÝMQEQœQwSÜu7EQEqFÝMqwêAwB!’‹º›ââLHóî&„B¸ u7¥–£î&„B$u7¥–£î&„B$u7¥–£î&„B$º[ÎÕÆ'ênJmEÝM!„H"ênJ-GÝM!„H"ênJ-GÝM!„H"ênJ-GÝM!„H"ênJ-GÝM!„H"ênJ-GÝM!„H"ênJ-GÝM!„H"ênJ-GÝM!„H"ênJ-GÝM!„H"ênJ-'î–ê!+Š¢(Jj¢î¦¸ t·>CG!„ SÝMqEtÌT!„H"ênJ-GÝM!„H"ênJ-GÝM!„H"ênJ-GÝM!„H"t·ÕW©»)µu7!„"‰¨»)µ½Gˆ¢(Š¢Äu7ÅQwSEQ”8£î¦¸ ênŠ¢(ŠgÔÝDÝMQEQ⌺›â‚¨»)Š¢(JœQwS\u7EQE‰3ênŠ ¢î¦(Š¢(qFÝMqAÔÝEQ%Ψ»).ˆº›¢(Š¢Äu7ÅQwSEQ”8£î¦¸ ênŠ¢(ŠgÔÝDÝMQEQ⌺›â‚¨»)Š¢(JœQwS\u7EQE‰3ênŠ ÖÝ6®/(\½µ`Åæ|u7EQEq¦Ýíu7¥–’@w6u¦É%ÕŠ¢(qEÝMqAêß¼[Z´|Âi˜{­(J:FÝMqAÔÝ\•´|Âi˜{­(J:FÝMqAÔÝ\•´|Âi˜{­(J:FÝMqAÔÝ\•ÞðúŠx Ã4ýuyÓiý)ŠÒ ¢î¦¸ ên®Jªïõ›veóø‚>—ƒuvëiý)ŠÒ ¢î¦¸ ên®Šï Òãá4̽V%£î¦¸ ên®JZ>á4̽V%£î¦¸ ên®JZ>á4̽V%£î¦¸ ên®J oxý‰}üB͓֙¢( *ênŠ ¢î檤jð^¿iW6/èóŸÉUGIë‡LQ”u7ÅQwsUÜ0øºÿ{7ìµ¢(J(Î[±ï´È…U>ŽênŠ¢¤KÔÝ$)ÝͪVƒ°—;ñ‚Uîžùita/‰ÝÍ9®ŠFB÷‰ºÐt4 ç ‘‰ìM~¯á¼PÙõ+ºaŒV6xk}ç±KûPfÏÏOËÕÍpK¥qXíBdÍÄEžÂî¬ ¬Ï©g•Å.þŠ>ex<ö¬Ÿ½Žu+öB«qx|þj½V!jw‹q£Á8Nys¶ÿÊ9÷g߇1ÆùZ»úEÞÃÎzyrbÔMüŽYÅØ «°º›¢(éu7Å©awóýöéøþŠi¦Š œð—.:‹ƒ—^ãñÚË£žïñíÉg•'ˆEÆyº¿Ý+£¦ZgÿûC/œ VÙÝbßh•oöZ…¨ÇXíû0þ×TDþ(ò®òu¦‘›Ø ÑÙR#V9`u7EQÒ%ênŠ RÃîÆó¹³^^¿Ïçó@gb‡D«Œ³Ä~y€?Ú«#+‹uú›×ë©òµ 1nÔŒ=øÈ!Uëû¶–¢î¦(JºDÝMqAjÒÝ<ÿûÁ±°Ð±ÑŠC†.énÖaܰµ†½‹‰=WÙÉYþŠæåœ<Š|¨7êLìÁaÅÓ¾ž`åÓpQ£î¦(ŠRQwS\št7£âا³ ø#ÚMœIb×pçi_öÁJûà óH_ÐñÞ¼1¦êÂÆioåÜåÈ|õee7á¼sHa§¼U™¨ç»U÷q©³¨î¦(JºDÝMqAô™X®JZ>á4̽V%£î¦¸ ên®JZ>á4̽V%£î¦¸ ên®JZ>á4̽V%£î¦¸ ên®JZ>á4̽V%£î¦¸ ên®JZ>á4̽V%£î¦¸ t7ži…H.©þ;PE‰+qv·ÕWNQwSj)õrÞ-xæQiJZ¾&{êßEQ”¸¢î¦¸ aÝmkqñ÷…E¹ù…+¶¨»¥¤Å¤| )ÙëTÿÖ(Š¢Äu7ÅI¸»¥ü ?k`i]Òzð5ÙëÔý(Š¢T#ênŠ ¢îæ*R8xsF;ë, =¸íêx¯SóÛ¯(ŠRͨ»).ˆº›«HÕàK;eW¶²7®ãòu¹×©û PE©FÔÝDÝÍU¸að…wÐãÖÔåÔ›º›¢(éu7ÅI¸»ñ oškœWì8Õz*^OZ÷‘µpóÀ5\¶~´ùLJÁT»8¯ÁÞ¶&XWå¬?eo´:F]èsŒÁ„õšÍ¡Ïõ³fû~ÇGU¶˜ìÑ㘡;üÀ\XØXgýÀ5‘ã {tì]snî¼\ÚqÿX8p5Tû§•mõŒ\XeTwS%]¢î¦¸ 5én‘-Æz®v€£Y”q¹¢³XíÀ*Î.g¯©nwsƒÑ®ãvoŒºÐÙ€œ+TÙÝØjó Óy¡²ë·ºa•Õ¼µ¾óØ¥}(3žy±ëD-b\(ãBÅCÀ YYìîõŒºPÝMQ”zu7ÅIVw³j‹].ì"à|2/›Ñ®°ãGv‡JúIUÖÀ¢vŒZ£–‹Ø%˹¦ó:£Ö“°:AVYw‹¬öÀj£»9Ïq³¾ØÝ-ê#u¡º›¢(õ&ênŠ ’ÄîÖeìgö$­mý™7–Q@îøÈ>Bg§æ‡M­ëI »9‡]‘ìCŸÖ„ZŒâSåõ[ßr…ΫŠÝÝ¢v®°J•Üîf-²ÒVÖÝ"Á¨ ÕÝE©7QwS\$v·¨3Vv°ÛÖ\µ.%·»…Mÿ9Oµ ˜$²æ¶œs¹lä³ø„õÊn4žÎUYñ´Îª³î@çM$ÖÝìÍ£v·¨ón‘›D}£.¬rÀênŠ¢¤KÔݤ6º[عoT¡õw|d·3knó™7ÚsR±O1K¸»Y}Ê\šþ «cÖ´ óD<GÙÀý/ ˆóµ Q»[Œ§¢:»›]Ù̈¹?ûz¢¾VÁ®~ü(ìä>g½²OQtv·ÈMœ³Š±V9`u7EQÒ%ênŠ RKÇLÇΨ QO(³ûEŒy®št7nÈ:>[ÙúÕ:ûsÇÃÖŒÚÝbßh•oöZ…¨ÇXC·K7\75þ×TDþ¨làþÕÚ§àUù:ÓÈM¢>‚‘ «°º›¢(éu7ÅIîkêþ-ùct·`U/ˆúêÈE+/±¦Ê×*ĸQçŒdìî9¤j½íZÝ¿G[MPwS%]¢î¦¸ É}*_GY«Xsv7êdØÔ•óà`Ø{™D¾H6 ký4ò=B¢Þ¨“Ø 7¬xÚ×c.*ênŠ¢(µu7Å©÷æMÖ0œõÇ9Hû`¥}pÐy¤ÏùÞ¼1hX'²·rÖ±È|õee7á¼sHæOy«’¨ç»UwV´Î  º›¢(é’8»[ÝíTu7¥–¢ÏÄri=øšìuêþEQªu7ÅQwsi=øšìuêþEQªu7ÅQwsi=øšìuêþEQªu7ÅI¸»¹6i]Òzð5ÙëTÿÖ(Š¢Äu7ÅI »Ï ?óÞ=I÷ú“Öƒ¯É^§úGQ%®¨»).HÝí‘¶O ‘\üKV!„ûQwS\ÄŽ™¦ü¯'—°¾¾&{ò1!D<¨»).ˆº›«HëÁ×d¯S>!„ˆu7ÅQwsi=øšìuÊÇ „ñ î¦¸ ên®"­_“½Nù„"ÔÝDÝÍU¤õàk²×)ƒBăº›â‚¨»¹Š´|Mö:åcBˆxPwS\u7W‘Öƒ¯É^§| BênŠ ’ôîæ¿âN£‘É{Ée&Ýi,ºd…qeg£"Ý:5ⲿ3çú1.F#kC6‰ý‡ý‰jÔEÉeŒd|çd9Á'FØ.ÛßÚMä#’À^Tu7!Dº î¦¸ µÝݬ'«»ÝÙ…uåÆƒ¬úSewëFû3šYEÉy¹2j¯»që·^Qaì}Iʘ|bTÖݸp~ØFÞ‹ê¢î&„HÔݤ¶»ÍÛ©YdA°»@•Ý–ä½’–4)Î?¬ÚënÎ…±Ç_Ý1'0øÄˆÑÝ’¸ ìumß„B$u7Å©ÕîÆån6ªì\œón4㇉}ð®öº›³ËX+;æ[Ý1'0øÄ¨nwKl/ª‹º›"]PwS\Úën´›Ëh7?lg6Îy+çѺÈ#wQSŒT«»ÙEÒŠ}H7êH*›w«ù˜|b$<ïV­½¨.ênBˆtAÝMqAj¯»ñÌßíAù$ì|1{Þ5´S#k!¿çöe«88Ï´rž1W5™w»¬Ó$ëF­QYã·o´²óÝœã·×¬Ö˜|bT«»%¼ÕEÝM‘.¨»).H-u·¡t·+;G u†s6»Ë:u¶ÊQ ÂŽÐE¾º35énag±ÝÙ@•# ¿Uâª;æŸQ»[·%ìf³ÊŽb'°ÕEÝM‘.¨»).H-u7ºŒ³ÅTvZYmÄîVgcN`ð‰QÙ~UvÖaíußÏB‘ênŠ RÝÍ~S{Iºt7ç1Su·ºÜë:¾Ÿ…"1Ôݤ–º›=éæwww‹ñZ…úÔÝ"÷Ô: êíß9r7ÕÝ„¢2ÔÝDŸ‰å*Òzð5Ùë”A!âAÝMqAÔÝ\EZ¾&{ò1!D<ÔëîÖ¯}Ëþ[ûl:@+Bßö-ú¼Øœ ©£Šº›«HëÁ×d¯S>!„ˆ‡úÝÝÚ=Æ×²Ò¼ý”l*+ÙX¶mCYñúÝ…kvå¯êõüã©£Šº›«HëÁ×d¯S>!„ˆ‡zÝݾԖ¯«§ðgäLùᨻ !Ò…zÝ݆½ñ__MÌž˜9)0m\Àÿe`ÒÈUYCs&ÙSº©Ï‹±Îwóú©]†/´Ë—Ç´–}^³b‘Çãó}”6ÓïµVð{ u·ê&îÆ3­É%åÿ !D<ÔëîöÙ›/˜¡î6#TßfM LŸ˜::0yT kXΤa{¶oîóµ Ví¢©y 5ç,bþŠé9¯ASó;›š×ð„-Qw«2 t7!„BT†ûº[Ÿ¡#ªüJFu #gÖÔœYþÀÌÉ¡îæ·ºÛðÕén[c¿ÎÔ®]ö!QâóÖ1Sëð¨ùÃv¦î–XÔÝ„Bˆ$â¾îgFuëÄ×}VöîÝW¾gïž]{Ëv”ï.)ßYT¾#¿_ûV16¬]^¿i¥ YÅÍëõ³,ò˜)]ÏZbxUw‹u7!„"‰¸¯»Ù3k±cu·àÂùÁórçÎÎ=5wfVî´Ñ¹SFæNù¬|G¯}ë›ÛÝFfMºÙ¯^°—X½,êk ¯ÏZÇ*qJŒ„u·ÂmÅ ‹Öäf«» !„ÕÇ}Ý-Îdtïäü¶bö-4õV¾»twiAѦ5W¼µ²èpgEÝM!„H"îënqλëõ†óÛÝm÷Wž´‰ºaÐ4 ÏžV«ñx•*’@wKõEQ%5IÏîgÆ÷îb_¶ÎyÛW^fu·íëVftí˜Â±)Î$ÐÝèïB!DCÃL×îÖ'¾y7gws†î¦âæªè˜©.ÄúóLù0DrÑÃÚ@p_w‹3t7ÝãUø¢kÑ¥Tv¨TIUÔÝ„p!ñÿ¾H#ô°6Ü×ÝâœwSÒ%ênB¸=É×Kô°6Ü×Ý”zu7!\ˆžäë%zXîënqλõkß²ÇÖ>›Њ…з}‹>/6ý¹ JÅµÝ Ñ@ˆüýד|½DkÁ}Ý-Îôk÷_ËJóöS²©¬dcÙ¶ eÅëw®Ù•¿ª×ó§zŒJ(\ÜÝR}ß(J]DÝ­á ‡µà¾îç¼ÛÀ—Úòuõô1þŒœ)ŸçL–“58'kPYñºÞÏ7¯Õq*qFÝMQ’›]ߊgÛöõø’¯'Øðíö9™¥s¾,™±mÖ;¾[iª»5$ô°6Ü×ÝâÌ ŠM̘˜‘˜>>àÏ LµjâðUãçL\V²¡Ï -"·r~ò¼ý!X¦ãs°¼^ÏÃwÁÈœwnúèS¯¿ÊMêêÎpuÔÝ%¹)öÙîyãö,œP¶p’ÍžEö,»gÁ—P6/c÷×#wÎùœúfª»5$ô°6Ü×ÝâœwöÆs| |5=0{Z`æ¤À´qÿ—I#We Í™8dOé¦>/F9ßÍÙªü¦i}μóóçé`>YÄ‚fÐðøìO/u^Oe›¨»YQwS”äfÇŒ‘å ²ÊOÙ³d_-ö,\¾tÜžoƆXDƒE}+™aª»5$ô°6Ü×ÝâÌgo¾`†ºÛŒP}›5%0}B`êèÀäQ¬a9“†íÙ¾¹o´×*„µ*ëÛÈÚ{‰µÐCÝ«˜¶«lu7+ênŠ’Ü„º}méôË,Ë¢¾…ø&“îV6oTéœ/Mu·†„Ö‚ûº›õ«û+Õ54ŒœYSsfù3'‡º›ßênÃWO¤»mú:Ó°Vå7M¯áõýÕínæ¿jÞ-FjÞÝæmmf´ÌÎËàrçù[;7nœ·ˆ †Ñغÿ;76XÂjXm~wVk6j«µÐÚ¤‘ÑØZõ79ìñòúMë³ní‡ØkÖ´¬ç‘ô°_ë`:ßÇø Q”š¤V»›õ÷e]nÔmQ#Ãào'ìÏm`Þ"Ãhi};¹[ckMëÛf-s ç/²¯Çh‘Úª[ã°M*ûÃtÀú£î<ª{ØuZðgnHö¨–ÿ ó·†Ý:·¶ öµ9ÿIáB䮥ên ÷u·83ª['sÿ'™îÛ·wï¾ò={÷ìÚ[¶£|wIù΢òùýÚ·ŠÜ*þîÆ³®u„Ôz&;fê +ø½†õDíÜDÏÒVjÞݬ¡­›ÿ¾:ÿµ¶~Ô¨qKëŸÛfÝ5k±¿ÇU«»ù+ޤóðùyÄ+©›‡Åyˆ;UYw³¿û‘ܤnîv¥gÇW¡Ööí,›½Ëg¼öÐÍt·ÐÑÒ”ÍËØ>'ÓL´»ñw׌¿»¼ TØŸS“»…¾L·jÜnÕŒ?±Šÿº¢Ä…5#ëGa›X}0ê¦ÁOÜ–õaÖµEénÝY›;ÿ»-û‡ÿ…gÝzÔ]ˆÚݸ•°q¦üYºZ¤ª»5n2ûðFuèÅåó/Ì<ó¬ñC†Ì´> Óëõ>õÔSmÚ´iÙ²eóæÍk{$ï¾ûî[o½ù9¡‹-2ž5Œ' £µ‘““óÑGŸ’&×~uÄ £:uš2oÞ‚ .ó›s&Œñuuw'r$ƒ~ôÑG¹ðÂc÷r%wÞyç°aûOÜ×Ýâ<ßÍênÁ…óƒ æåÎ;{jî̬Üi£s§ŒÌòYùŽ_ûÖ‘[Uë˜)Oáö+ÌÏêöûå Ök¬ Ã6QÌdt·F-2xrØbÿ«GýW<»âIcਖ©oy‹š5îÞlTFX¹«ì79üìEŸ7ò·Â>#2l“Èîv!r“ººã•z›sF—/Ÿå„âf±géä ÇBÙ‚1%_1ênvëÉþá4–«Ñï:ÏϰWû ÛÖÞĺæèï¦ðìɯõ6F‹ÿÿ{¯¬—9·½N<ãt'©êngýå…O›'^ºìŒËfþüóÄÿ˜ç^:ûý¯ÍKú˜™½{›+V˜Ë—›K—>ñĵ=’®]»šÁ E¦Ïg®^mæå™›6™›7Œ¦«ÛOŒ$ĸ’³ÏÉ ÛËÿ<ÓÌÏ7W®Œw¢Žäý÷Þ+((ø´éþ.…¬Dï÷u·8“ѽ“óÛŠÙ·ÐÔ[ùîÒÝ¥E›Ö|Ü)Ê›:Ÿ?3eJí¥†ÝÍ:`:9/ƒ:fý×»õ¯¸}ø#t˜¦âŸX*ÿ‘ÜŒ¢7?ƒ¢ÇšVÝ«ò79j«yw³˜ZG]Ó»ŠR“lŸ;nÏ·sö³tš]Üö×·ŠâbÁØ’yÌjv·°S²+jNØŸÛÀ¼ gµq¶žÊº[ümȹ‰5›Vew‹1ïyŠ…µ vߌzÌ4[[쇵¶y饯?kö…›gÝgž~¯yìiß›PrÝ`órŸ™Ù§™mõ:ènݺu3×­³Èüè#sÍšPk{Ã0^3Œ— ÏÚ k.Æ•¼úêçîœxúÄà²MæÚµfNNü»e$ùùïuë–ùÀyÃo?5ãÖú=uWÂ÷‰ûº[œónãz½áüö@wÛ=ä•'m"· {FUq«ƒÔ°»5E ý‘Yÿ]mÿûvœ½¤‘u´tTË¡„–Ö?Éq35*Ž[ß&|ÌÔºà¯8oÕ½ÈñŠR“ì˜7¾<ûë½ÙsÁ1ã6ÍYßʌ۳`Béü,³ÇLí3IÃþܨQö¬œõ_KUv7çD›XÿõÓ>Xi Fw›\qŒ5¬jEv·¨»`Ý:·bÓgŸ g­¤“ªî6f̘)cWs¦ÿ¢ÇÌ___z«ÝæššW~bföík®Zeõ-ZÄm}ðƒmî¼ýöj$Ô˜¾ÿÞ"ó“OÌï¾3 wûw¾wOÉ»ÿÚú:õíÚÜçŒçbu7˜2>×ÞçžË•„ÊWnnü»u$ƒî>kħ}Õ³ÕÄGNßO‹üŸøá‡ Üáîënqf|ï.öe뜷}åeVwÛ¾neF׎)›âL »]lÿ)l£¶ÚGOœÿ!mŸKöÁ?êöT]<ÝÍëß_Ð"çÎÂ^«àw=w¾Á:)ÒZè|­BØQõÈW>(Jµbw7gq ±p¬½¤æÝ-¬ï8ÿܲG6g·eÿ°»MÎ[D±²}:7‰ñUö_=ÿ¹f¿ª¡Êy7{¨öúa·ù/F³ÆÆ¡—%LÕÒZÓ:ê6ΞWSH _«pÎÙC¯é`þúšÕç=dsæÌw‡-oÔqÂOgföïOßÉìÓ'³wï–-cÇâäÁ‡šížÝÓœß7wt7kÉÃ=Ü«Cëvm½a÷îÝ3ÜÏ€°iÝ:ã=ƒúf¼mPߌWCpF‡*ºÛ¹g³wç¸3gÎô/0dHæGÅ¿;‘#Y>wîÀÛ~Ñó¿÷ó0{çñiö•÷´¯?¸!{Û}Ý-Îy7gws†î¦âæªÔ´»8]¸²“nÆÙݼâu¾éK샛aGQcœæ¦(IÏÎ…“Ë BdªiÙ_‡ªÜ‰”5°‹”ÌŸd&ÚÝœ3eÕ%ƉfqnN±jÔ¸¥óo?êëL­¶UÙë ’þ†ûIUw›;wîI§N¿¢µùv—o.»,ã‚ÖæçMýx©Ùd˜:\˜›kæä˜+W¶jÕ*žk»ë®»»¿ó¶¹~ª¹i¹.ó¦›nºþÆ[¦êb.`ÎíóØÃÆØö½÷Þ37o¶ÈüôSsãF³¸8DQ‘Ñ-4ûf¼i𣜜œW²xñâÿßË¿dwοÐo–”˜ß}ÿîDIÞ´afaaÎ’%f~þ_³E-YÞåÌîp÷u·8CwƒÑ=^…/ºv€]ÚAÔC¥J SÃîfÿÓk¿¢-Yÿ;»›ax‚>ým•ýËošÃkϦE3­Õ»TiàÙµØ_¾zñÞÕ ÷®œûÿ'¾};‡úzÏÞY´6ëBÝÍ>/ÌžbK€v7ëH¨ó„»¨ÝÍ:‡Î­ufERn=­IUw0`Àäq[þö×é¡ß·Ñ Ïý½¿fIÇÙæu#ÍÌ?¶Ž6š@<Ýíꫯîß¿ÿØñY³¾bn/ضtl“k=öî»|â³h•¹iæ[/¶Ž±y¨1åç[dªN›6™6ЛŒ†5Ç’Ø#8pàäñ[­Ý™4~É¥—L™9µÐ,(ýŒ{w*‰u%7îÛ²yÍ[—|óô¸ÃÝ×ÝâœwSÒ%õõ½y½~Ó>kR•M©Ëì\:³|í²½k¾±¦Þ,ö,ŸS¾x õͦl᤺[RHniŠçu¦Â"UÝíý÷ß7·m ývNÌÈø4Û|e®yÓ—æ _˜¡S½Ö­ ½Ü2'§uëXµ {ì1vk+((ønÝz.7äÑûî¿Þ¼ùütýÒ…»3š?kÞ-4’¢¢……™C†˜[·î/MÅÅ›FaaèÛ¼¼Ø#qîΤ/Co’š¹«h^ñïN¥#±¯¤b$óž:*;Ü}ÝM©g©¯ÝMQR÷w7‘*Rõ°öèÑ#tH¶mË:ôöñæ­cÍ[F›7gš™„NÓ_³Æ\½ºM›61®äŠ+®>|øçŸÞ¿ÿ¾}û>óÌ3çž{î±gt¸ðÔ“m«5’PY³JÓÆñ¤î®dÓ&ö4;Ü}Ý-Îy·~í[öïØÚgÓZ±ú¶oÑçÅæQ?WA©û¨»)Jr³;{î¾ «Ê¿ËÞ›ûÍÞÀÂ+ç†ÜòYåK-¦Óãèn ¼VA¤5)ìn™#G†1"ó³Ïþòj敯d^Ñ)Dè4ýO> åïóÅ.;7Üpã_²d —333{÷î*kO=E‰{ðÁ¯¾úêFBiÊ2$sðàÌO?$î¹’Êp_w‹3ýÚ=Æ×²Ò¼ý”l*+ÙX¶mCYñúÝ…kvå¯êõüã©£Šº›¢$7{×|³oóÚP}«˜} MÀ­^l5¸=Ùs ôa K§‡æÝ¾®öû»‰´&UkÏž=íßOªÊ“ÍO q{–™9p`è}2*Ž3¶m[ŬíÉ'ŸìÖ­;òî»ïöêÕ‹k~øá‡IèÐgaa褳͛ã‰{®¤2Ü×ÝâœwøR[¾®ž>rÀŸ‘3åóœ‰Ãr²çd *+^×ûùæµ:N%Ψ»)JrS^°¾¶;{îÎ¥3w-öÃÎ…“Kçgí˜7~ûÜq°sΘí_e–ε{CŽ©îÖHÕÃúÁØ¿Ÿ™#GþgºyÏTón¿I‰sözYµ®ööj¾¹[äHB‡,‹Š"S쑸çJ*Ã}Ý-Î ªøØ„ÀŒ‰YéãþÌÀäQ«&_5~p΄Áe%ú¼Ð"r«Ê>©(ì­ôýoàùqâ:=¨»)Jj£îÖpHÕÃúá‡Ú¿oô”f™÷Í0­WóžR“‘$Ö˜Üs%•á¾îç¼Û°7žãkà«éÙÓ3'¦ ø¿ L¹*khÎÄ!{J7õy1Êùnqv7Ãëç’?âãÄ•âæî&D!ò÷_Ý­^’ÂîÖ£GîÝ»WöQðö§¸§ÅHÜs%•á¾îg>{ó3ÔÝf„êÛ¬)éSG& d Ë™4lÏöÍ}£½VÁùªÖ{«Fv7Ïöþúu¼kõ,ÜÚÝ„hȨ»ÕKô°6Ü×ݬ_½Ø_ɨ®¡aäÌšš3˘99ÔÝüVw¾z"ÝmkÔ×™:?¹ÒùÎ\vw3 ý‘E‘'®2J ênB¸=É×Kô°6Ü×Ýą̂nÌýŸdºoßÞ½ûÊ÷ìݳkoÙŽòÝ%å;‹Êwä÷kß*r+ûcƽ­Í6ãfµ¦äü'®9¸¢î&„ Ñ“|½DkÁ}Ý-Îóݬî\8?¸`^îÜÙ¹³§æÎÌÊ6:wÊÈÜ)Ÿ•ï(ðµo¹•UÁ<>¿õH†×ïóy#ÏwóúMûóÃ'žÜ=m QwÂ…èI¾^¢‡µà¾îg2ºwr~[1ûšz+ß]º»´ hÓš;Eù`ÓÈO5¹jš\«¨» !„IÄ}Ý-Îy·q½Þp~{ »íòÊ“6‘[YóhÖK¬„¦Þ›Њ…з}‹>/6ú¹ JÝGÝM!„H"îënq¦_»ÇøZVš·Ÿ’Me%˶m(+^¿»pÍ®üU½ž<ÕcTBQwB!’HDwËNuw‹sÞmàKmùºzúÈFΔÏs&ËÉœ“5¨¬x]ïç›×ê8•8gwKõ0EQÅ]IŸîgU|lB`ÆÄÀŒ¬Àôñf`ò¨U‡¯?8gÂಒ }^h¹Uä;¸…}:}è3罞¨ïÓk­ùS½+\ìÄÙÝèìB!„°0Ó©»õ‰oÞmØÏñ5ðÕôÀìi™“ÓÆü_&\•54gâ=¥›ú¼å|·Êº›³‹ñýI öš¡Óªø€úÈõÕÝbGÇL…Bˆ$â¾îg>{ó3ÔÝf„êÛ¬)éSG& d Ë™4lÏöÍ}£½VÁîY‘]Ì÷>ä4rÞ͹¡º[µ¢î&„B$÷u7kÞ-öW2ªkh9³¦æÌòfNu7¿Õ݆¯žHwÛõu¦aGHM¿×YÊ Ãc6:ï¦î–XÔÝ„Bˆ$â¾îgFuëdîÿ$Ó}ûöîÝW¾gïž]{Ëv”ï.)ßYT¾#¿_ûV‘[Y=Ëo½­Íõ¼6¯ŸJgXUŽKÎ ÝÍþ)ëÓõÔÝ*KXw+*Ù–WT´¶°h%õ-Õ¿þB!DÚá¾îçùnVw .œ\0/wîìÜÙSsgfåN;edî”ÏÊwøÚ·ŽÜÊj^ŸŸÂfV¼üÀçóZ¥Œ>fMºy ƒŠf­IÃóFÐô_ä+ø©µÐ®xJdÔÝ„Bˆ$â¾îg2ºwr~[1ûšz+ß]º»´ hÓš;Eù`ÓÐint7×>µ-Ôäâ8â©£ 'ÎîÆjB!„°IŸîç¼Û¸^o8¿=ÐÝvyåI›È­¬#¡~¯a/ M½ÅqÄ3옩J\ü™ww3·­B!¤Uw‹3ã{w±/[ç¼í+/³ºÛöu+3ºvLáØgÔÝ„Bˆê’VÝ-Îy7gws†î¦â檨» !„Õ%­º[œ¡»Áè¯Â];Àˆ.í ê¡R%…QwB!ªKZu·8çÝ”t‰º›BQ]Òª»)õ,ênB!DuI«îç¼[¿ö-ûwlí³é­X}Û·èób󨟫 Ô}ªÛÝŒ¦ÿÿö–uf‰oÙ Ãh´ÿ#/z6ó5mdn›ôƒ…M ß²IÖrk}û²Ñf@è]ùÚ4²·Š¼`_9¦YÊÿX…B3ͺ[œé×î1¾–•æí§dSYÉÆ²mÊŠ×ï.\³+U¯çOõ•PªÛÝümY¬zÜ6‰6g·*k¡Ÿ…F3gÕrö5g/ó\µ²E^¹BáªÓÝVþñд˜wøR[¾®ž>rÀŸ‘3åóœ‰Ãr²çd *+^×ûùæµ:N%Î$|ÌÔ¿æÕÌ·l€]Ê̽Ì9Ëæ\ÙÝb_ˆ¼!„ TÑÝ®2>qQw‹3ƒ*>6!0cb`FV`úø€?30yÔª‰ÃWœ3apYɆ>/´ˆÜÊùóÖg_YË­¦·?òÊþy¯Áeä¶úÓø“XwóŽYÁýìoc8K™éènöÎУÆ#â¨xênB!Ò´ênqλ {ã9¾¾š˜=-0sR`Ú¸€ÿËÀ¤‘«²†æL²§tSŸ£œïæüT?•Íðš~¯s¡Ç´{—½^¯õɧöÊÉÙɆ”jŸïVq†­Íú6Xq\ä1S¯Á’æÛœµ½Ï×Ôˆ§»é˜©Bw’VÝ-Î|öæ f¨»ÍÕ·YSÓ'¦ŽLÈ–3iØží›ûF{­BØ'ZYßú‚Aá±?áÔZ5¼Ÿßôû<^}VMRÝîf—2?õÍhVÙk¬—4X]ÌhÓÙ~ÕAÐñ²ëµ ÖYrölÕïœW®'„Â%¤Uw³æÝb%£º††‘3kjÎ,`æäPwó[Ýmøê‰t·­Q_gVÁü4ƒjæ<ꥶU|쩇KAŸsë },U‰êv7Ý­âå¥þÐëjT¦ÂŽ·ZK¬W/¤üR!„ˆAZu·83ª['sÿ'™îÛ·wï¾ò={÷ìÚ[¶£|wIù΢òùýÚ·ŠÜª²îf¯`W6£â’½Ä¹¦æàª•êv7ç›v{6 û]ެc1ˆþ/Ï6^úòãbóïëÌ¿®5¯\c^ºÆ¼dyÑâ‚Ó3VùúX£Í€°­ÂÞb—K>¿ÏêhvY³.ø‚A{Mëä+X?r~°|Ð4ÙÈþÈ«ÈϨ[â7ƒWPñá›>OÍZNýŒº›B‘D’ÝÝV®]¿(;çë¥Ù_-Y1û›o§Î_2q΢ÝíW&ŒÝ¾Çxyô;Íû·šwå™ÿÜhÞ¸Þ¼vyíšP›»fQ‘Ñú“°­"gÓÂ*›³»ÙkZsjÖ«sY‡GYÉúüyó@Y³Z˜ß4íu¬D.aý /ômð‡¥O±£»¥zhŠ¢(Š’©ÍîV°mÛÖ¢¢ùù¶lý.oóÿ±÷-€QTWÿ(JK__m«ýú~تmý‹}Øú‚4Q# *¾E|  ®¥ " B%(‚á³¢ˆ<$DÀ@ÙðHŒ@Hx$ÙM6ÙÝ$»›çfó › ó?3wæÎÝ™Ý%@’M²çÇïÌÞ9÷uî!˜ŸwfvŠÊl9§MÁ´YœýÉÑ(,JÉð ³›„™n!®^xºFxÌ%ê¸ìçž)®%36h:^œv3‚¼"ºCÇûù7σÑh4°—Ï›EQÒtüþ‚!„v[ûé6$‰D"‘¡)t¯vs77ä›,T»ÑÉùã×–îÛjvU€ðycï AXÞ!¼é^kæ6 /x„i Âè¯l[ vÖFÍDݤݠUmô‰Í•Yf‰£ÆíPµ…FíF@tݩݚ[[M”--Õ îâòŠ`ûn–¥iöºA-I3 ‡ £Ú…ÕmÂZ…×[„ùÍÂãG-'Ľ°MšŽUE¯„Æ‚þ²$‚ê‚ Zàý‚tÍ”ê¯`×L%ŦŒŠ”m½4ŸíÙ *8Bk·ÓœaúqFW}FçT+Yݵ±~|µ“u 4=Ïhk¹€Ïp§g4#êæ :¡v&íHlYA’`Býè˜a¿OÌ0fX½>rÌ0f˜oÕCîfíÖîóµwtÈôù¼>Ÿ§¥5˜v˜p軫Í?\B–î?TÛ<×äzÝV¿²ál¢WX}V˜”_µ¥©­´ÛlíW†Üw3Ä‚J•Xl"èÞó3OÀg`,èEÕœQÚ¡ƒ&¬ Õƒ'™ô“ø€ª¡µ[¡ˆ¢B¸üjÄc+éê¹r‘ܲ¨Ðï ´ ´Ý‹¸þEE…j«"MC5‚"¾_Q¨pƒsapãú÷ÕT`zæ)Ò»0ØaÌ0f˜k†îsîfívA~òVF£ d·¶o­r¿z²rê—–IY–'š ¡ jçhß’u¡ßüÑU}ÐÚ­¸¸ØdRÁDO¨S¤è—«å ¹ ´+–»ˆ“Ú„žÑîlüb®:¯ÉäWiR˜ÔáÙœWž‡N`’gRÇ¡5lD?- “[ ·µ@ÇPRÀ·´z%g¦b55˜aÌ0f3Œî³îNívqßï «Ž Û˜;rGÁÂ\k^}K¥Ïç„JA(ÔÎKÒ´×GHçðDíÖíÝJÌ%f@ |–ȹ(ƒ6PܪS¢™º%*^¥$}¨Ýi±Ä¬ ®ö– S˜åSe3s«PûÊ-ü†.‘ãS¨½Ì|7~AÊ™™…ÄE#—ͬ¯bòjø|ÍÊpfÌ0f3ŒÆ ÷õ w§vëYdéï¯ÈP=ó“»p|Ôn=ŒÐÚÍ¢ Tþ(•Ê¥¥œ³”µ‘JK[–Ü~»ÅrX¬(e•~(õï§©)-Õ¹ù¥J3Mp¥ÜI©¦ai©~¸Àãû­%Ø©®o©_DÚiÚ+ƒùÕù ûõÁ c†ƒ3ìWÖÇïßOSƒ¾  ÷”v£O’^4ȲôÚ¯\îRí†èa„ÖnÖr «µ\.Z¥é̪ºÊeàÍÌò7‡/·f*^«¦«¦¬ iU+­|]¹_ï÷˜aU#æX•!¤?~qY­ÜVMO«ÚÓ&5 «U;×VÍ£UÓð"2̉Ö€Ö,3ŒÆ kèŽ ÷ú}7 ²2‡¼±—,J!¯í&³´Ï™"úBk7ÀnƒÏeÙvB†ÓëàðaÏ^n»ÝÎû— '˲³ÙésÐ̾Z‘É[dÏäሇ6p´Û³íÊä9±Ásωµv[ö²l›R°³‚fðÛìÙÐ]n£Ùmt"¨“£óюb0¶-ৃ‹}íÒìR[»Æ0YŠÁ&Žfg-Ù tv›-›Ž/7°eÛèl,[¶f^ê—ZrÛìš…Ó|²åØ”íR¨Ò¹MNš´Ô€¶’üJ3?§äR`—»Úä®ê¸jÙÆ2COÔDÙ¹™• Û”ùÔQX$þf³Óv¬—M^Ÿ2©MmÎzØÔ3¹[ƒ2'[&?K€²5jD˜aÌ0f3|)î#ûnˆ~ƒÐÚ­’Ã[G*ß1¢²ò”·UV2¥rÛVØ ªßAÞ:r„yF¼uDã¡]¦8ÝÆúj Û*„˜…oLÇaÍøð`êmSˆ¦/? &ÖR?{À0xß…Î:à€µúéÑ ÑGöÝý¡µ›ÓétøHÈq.1ÂáÌOé4*!'gyÔ‡#Ç!¶ 9±™Cl¶ÝáA¦$$%D‘ΜåR/GˆËi/gŽ8<Y„õ]©õHí£¤1i0±Áˆ(:¯Ô=JêîLˆᔦ¦ Ý©gyŽs ‰r8“ }åÙiàt@yê„(¹v¹4²¸FiáÊRœtL9¨0§c;GîâÈ‘VUQËs¶Ó€ið46õ(qJ1‹ÓIÉS9Üô~pJœJX¬¡Ú›äîµVn ŒËJ\3‡Sù#·VÇr¨:N®½ƒM¬ XŸ¶qrÑk—ètúí䦓G Ÿò¨’%uN%õg˜KYf3ŒÆ _j†Ï§ÝŠn¼¼﻽?oêúùñ‰Œ/§¸n^ÜÚ—&C!Ü1ö+„ÖnÕ"\®jñOBn5êêcâIuuRuõT25áX!Qì™â©„€‡6£m¢ÈÔêÜ„„c.Ö „\±còPâHÕ ÇÄ‘]ÕÇ ™èwcsÑ*hp— ‚QsÉéÔlXÔN%PNbÍ\.]‹¸::5‹Aĥ̞«™]\™Kí‘“©Ibº’⨇.ÐU몖ç•–bc$äÒ¹rÙÂùZºWµòé’¦tq¾j…l.Wµ_ìUOÕz?®_/—j.åï^ñ¸øÁ«ýúëæw)>–a.—‹kåbksùÇæRçä‚tùM)Ó?v¿¹XKÿUûåPña†ýCÇ c†ùTøõáÆ WWëµ[I·h·^‹÷g? Go“S¦ÇáõTy+½n{[}ÙÙÚâ5sž wŒý ¡µ[-‡yµ+¢¢kkó \W[›\[;LK®M†£tFD­È;E¢jO¬TOI¦#ÔIè-A AIòÕ¾­Œ þ( ŸÐ Ä …Q$¹.Ož¥ŽÍ’§ŒPKÛÔÖå­8!VÑY:î'‚>0µ§Ô¬Ni&¯Žö­Ëc±Õ)#'׿iÖ¨LQ÷¶Ôk§Ô†‡òÛyyp„.ʼµt^nɵÓv²€ëèh|Bè¤4¼ººÚ@¨c‡@J¹Nõùw¨SOü|º!ô£×iò'7dÐë´ã×é*õSÖé†R#­ vU€ ú-3Œ–?1Ãþ¡i§ X8zDf¸§´[¯ÝwÛðÊ 8–Ü 4Éæôíæ´ÍæÔæÔ¼në{s&‡;Æ~…ÐÚ­¡¡¾¡ž¢ae~ýÊèèúúp_9͇!ÑD28[™ßM¢ãé.UýÎxh½2ŸžŠm VÒ¾$~%4*¨ßE¢WÒÚøøhÖ7W<õ7ìŒoh€ÙØ, 0B<‚<Ë®ø‚úz6NþÊèzv Zß°k4#rl+£aù°œ‚†>ÍÈt±üŬ4ȃCãè•;aF’ÄïZ¹2^LKC> 8^LãNmÀ;ãó¹€N*NÀ²ÏýEPw Bi×POpÝ”Îb# ¥VéK›7Ðõ²‡ž*ã³I¹æ ,,V¥L¯D"ÏÕ T©nÖ_™UùÇg•ÊdJ Ü*”á¹1ëÕåi×ΧŽõÒ$ 3ŒÆ c†/>ÿïöÑ‚™p4J3J5Üc2î4íO*NÛR¼g£yïF¯§ríÜ8}/þÛ€ù¯f/Ä2bõ¯¸×¼|‹H/å"ãy»ôT2z¡µ›»þ¸Ekl\uÒ½:&¦±ñ$œ®>ÙHHLãîéb•ò ”ª‹ÂMÍÍ—ÄŒ¶:&ºÑ}’Îæ¦U¬ŸÛ­ŽØH òŒrÛFZ Q¹WG‹ʵrµÛíæC€…L'1n÷ni¹ ô]ãn<¹J †.³±Ñoann ¹ zM‰Ž‰žî>¹š.$:&fu4]‹¨[ šud9€ö«¤…¯¢³C/64—¯Kϰ|J3w V2Ú:ô—²Nµâàyž 76ºÕ6\(Ï›a©ŽÛohÌ0f3Œî’ Gü¾ÛæÅâ ºL_4e0Þg:b2~nÚ÷Yqê§æ´MíM޵/¸ßWUFA ï±_–ª¼ˆ4Xb,Ñ 1‹`a¯IÕŒ¬KDi·& é¸útè5vÛWSÊ µÎ#J%©èñ4y·R'·ðøy øÎé¦wbbššNs~;J#zø1” ÔMÒ˜«é8žÓ´ÂÇÅMšÒÔC¦7ZÍÇñÎ)9†wN{@»y ˜&µº:nj)rä$eñ(9 ÓSÞ‰¼V#VÃõhÒ±ZY8-xh­ö3ìŸÑ‹Ï0?Tˆ +]tq(ý=n ¿¸´Vfõxø’ZЄ«Í°y1˜aÌ0f3¬]û¥e8â÷ݶ¾9WµÛ!Q¾e¦›î5eì2íO2¥n6ïÛÜÞìZèYª¢§zÙÚC± ÷”×Úã¾[ Es ‡föéçöG³z ЪÙßݬ8Ô˜ºø£ëѬÍיּe枪@[öÌÔt}·°åݘ˜æ–3þ]Ùþ…fÝbô!4óõ,¿.ïž'mi)ÔÛw3*t6lf¸ÿý c†CŒ‰æa†uÓu}†ûï¾1ô´ü8š33Ì™FÓáý¢v3Rí¶¥$ ´[MÀçL5ªÊ(bH´/T» þ—_qßí¬‚VvðG«älm¥µ­Ò)=ˆPº´êhÕ Æ:ÒOyØVݬþ>6ûhå\­:hGlmÕ[ýgUœ­êy«:ª8_k+ïaýÚz–_ºvÌ0)f3¬ 3Œö‹´·d8â÷Ý’ÀñEGÇ9_{GûÙo‹¯ÍãkmðµÔ¾?oš¾Wçµè2z…Ô`Ñ\3å ŒB¥ߥk·¦&OÛ]Qç.©o¾lóz½²Il!}*g^/;•Zze‡T–Úªç\¾$5PÚziO~lZ óÒŠ6yD…—ZŽN‡›—…¡ôðÊã´Ña½ÊQŽH©ÉËBiS›yÕø¨•c[5±M#f3ŒÆ c†û^†ûû¾ÛyAµ›åXŽ%÷h鑬ҬŒÒé¥v•¦Vš¾Õ×R—8/^ßë‚®™‚ªcO&ÊýqÌÃo Ï<ÐŽš.ý ¡µ[{»¯½]>Èð‰ô).Ÿêc§\µ_7µàóiõ¯æé{ø”¾½Õpuµ>Ÿ¶m€Åù¯Q]˜Ïonu‘>ÑåãÛ©Õjü~IÒ­3Ì͆Æ ³åc†Cfó÷Ž Gü¾[òŠü©´û&n½ùÚšÚšêeH¢jÀk7~§ q^„Ön|ôð¡ƒé§\åc­:”¦>Åácçj¥·|ôùõæ¦Tš±FJ$>yT¾ƒOÇçã&÷uthfÐÛÑá«_pòz¹Nš…ˆŸl(Ÿÿ >Ÿ_"¸e(#ù´1a†1ØaÌ0f¸f8â÷ÝRÖ,æOíÖ¶éµ™Œú^üMjýrw¬ûZ»SРР:`Û@í:4nƒž¾#ôÄ|µÿ˜¡£äf”ÚÒCà™B®;à¢;·Á c†ÏS2.f¸s3›Lõa†/8ÿï¶ç½%¬,gÈç¥Ú­ÙZ”¼|~cë—­ÝÂ@ ½¿ïÆk7 ÝP¸uBk7@ çEÄï»w­Zܱüeà¶%³/•".!´[¸CC ¢o ²÷Ý=ŒÚ þÊH$‰D†¦p>í6lHÿÞwCô0Bh·`?cH$‰D"ƒ´›¹[´ÛÚÞºïöþ¼©ëçÇ'2¾ œNàºyqk_šð½ ˆ‹j7$‰D"»Ý¦Ýz-ÞŸý,½MN™‡×Såm¬ôºímõegk‹×Ìy.Ü1ö+„ÐniGr‘H$‰Dž—=¢Ýzí¾Û†WfÀ±äàn hL6§o7§m6§n4§~äu[ß›3¹›#,„Ðny–2à óx–úŸjªBÔjÚ”£…#mlÉ{·XŽ[,þ]D—YÆÑ¢cÀZþ´3倞`3jyL¢n¨ÀUǺ“¹CT]$K,9¥KDÒ*ÞãÇRK5Ö]Ç£:»G$ó9/̓ùùÚ€-ƒu×µùJ¢Þó•Ù¿U÷1»—²T¢|ú¥D}³/Í¥-A(Öf™-µ‰‘ñeà4p×Í‹[ûÒä€ïU@\4P»!Ñ„[»õZ¼?ûY8z›œ2=¯§ÊÛXéuÛÛêËÎÖ¯™ó\¸cìW@í†@ DgníÖk÷Ý6¼2Ž%wÍ@c²9}»9m³9u£9õ#¯ÛúÞœÉÝidµ@ A¸µ[¯ÅGÒkL‡ÒL‡RM÷˜Œ;Mû“ŠÓ¶ïÙhÞ»Ñë©\;7Nß‹á<}÷õÓWÓ³W^±—Ì”ú¾‘ðS P»!Ñ„[»õÚ}·Í‹ÿ GÓ—MYL‡÷™¤˜ŒŸ›ö}Vœú©9mS{“cíKîwãߊ`ÉF ‚ÑÀ;c-L—AÙ`0Ð7Ÿ²Æ]³È>ˆ‹Ðn‹¢¢ ÇÕÓÕÃÊP $ ~hŸ"¤Ð™º `Q¡ž[ITaÎ Ônèm·vëµØúæ\AÔn‡Dù–™n:¸×”±Ë´?É”ºÙ¼os{³k] g4o´¢§‰K,‰eo8¥  …!6Ñ(c ‘ü*,†îÐnœÇ ™Z˜4<·&ßGB·á‡:¯vã÷I©è6¢€z, Éc5›°<à‡ƒïb”$<‘ŒnÈêg¡cRÉ@ ˆD¸µ[¸öÝBIË_£93Üi4Þ/j7#Õn[JÒ@»Õ|ÎT#ÁŒðûœÀï[£þz(üš¦¯=…’%‘oÀÿêŽt‡v[”sœ÷•µ$à5S}›§ ¤×ø;à:¿›QÙeÓx@\ñZŒþ³Ÿ¦¼j7£NõkfÁ­7ˆX„[»õZ$¯XÀŸJ»oâÖ›¯­©­©®ÁQöÁ‚/6åµÕb‘üøÁáR´Ûbd*ÝS#q+¨8¢-à³ ÁÚÜ I¯uF»•{Óx!f‘nF£—¼ùìn5=Bk·€³PàÖ@D&­Ýzí¾[ÊšÅü©¢ÝÚ6½6“QßKsÛ ·ÎãR´ÝA»Ð;×.޼vÓl1°*z3cè…‡¾fbÜzC ˆÈD¸µ[¯Åž÷–°2½çíœÏKµ[³µ(yùü0ÆÖ/q)÷»é¿ÿ#,Ú=W`QîMOèÇNè%Töµ1úgô³ðÀ­7ˆ@„[»õÚ}7^»ñí†Â­;péßÍÛóÚ]ͤ·(òª¼î‹C‚‰,èE¿'†“)>ý,ü׊ð!"BníÖkÚ ¸kÕBàŽå/·-™ x©qéÀ÷* Ñ\¼v»¼ï»!z¨Ýè :¯ÝJn#þ¬ËµAÚ @ ˆÎ ÜÚ­gvÁHüÉó“™÷À\ˆ‹j7@ :ƒpk·Àõ邏¹Ÿ.jýæGùƒ^ÝE^ÜFfm wP-P»!Ñ„[»]о[ÁÁ»ßû·žàÑ몥{ÈË;VÔ 7” ×Z…Ÿ­ûÎÇùƒ_O!³·‘ç?íüìˆnEÒnH$‰D†—aÕniÆœüíéYŸî9¸iÏà')[R?X—!oì¹åƒ,òÊ縅;­Âˆráæ2áÏeŸ¬Âóê~‘\òÍ7¾ Ó?Ôô²HߎÏ1ƒàÿ½»‰‰úÕ©š—Ì'Z,ü{øwŒ‹_ü`ˆe½ô6Nd~£ïÞ>¢ÝH$‰ììûn ÑŠÊíÇ Í_~™&ëÄ錜ü´ìã!´Û ×ö~ÑÜN^ݵ£U˜P#<äî­FÙ…;¬Âe¢š~¼ÄÿWÓ ””Ñà÷ºI‹`5ÇTuÁI ¼ÔÒ¼‹é2úý÷%›~ðÈj7$‰D"»½fß­®±±¦¡¡ª¶¶²ºÆæt•ÙrN›‚i7²85ú“£%PX”’áf7 3ÝB\½ðtð˜KÔqØÏ=S\Kfl1©QúbûD‹Qÿ’y~—÷ëµ[è‚~œj7$‰D"»½fßÍÝÜLü‘o²PíF‡â_[ºo«ÙUÚí½'ay‡ð¦Wx­E˜Û$¼à¦5£¿²mÚYƒÍH¿ßh ¼(8íÆ¿½Ô@/ñP»]j7{]ƒ¹¦>ì?þH$‰Dö9öš}·æÖV`eKKuƒ»¸¼"ؾۀeéGš½nPgKÒÌ‚ð!è©vau›ðŸVáõa~³ðøQË ñf´Mú¾ô5öÂ!‹tœþš©æåáTÍÑf ûè{*Ï«Ýðš©€Ú ‰D"‘È.e¯Ùwk÷ùÚ;:dú|^ŸÏÓÒL» L8ôÝÕ‡æ.!K÷ªmžkr½n«_Ùp6Ñ+¬>+LʯÚÒÔV ¢l¶ö+CŒ^näÞ,©V>Ò@µ1$²§,ÜcôYz—Û­£úŽ<2E\_Ñna¶‰D"‘Ȱj· B0âY òVF£ d·¶o­r¿z²rê—–IY–'š ¡ jçhõ£Q@€ÑÇK¡l4\’˜Ò\o¥úôÂ¥ Ûϰ·ïh·p§ @ pk·ø~7YudØÆÜ‘; æZóê[*}>· T B© x v^’¾ ÿ¥–ÄX}mçïPÓ_*5*Úð‚Æéß@í†@ DgníÖó +²ÈÒß_‘¡zæ'÷|ô)ˆˆ½Bªj7@ :ƒpk·‹~Ÿé%¾•,K¯mñÊåph7„¨Ýè .^» é£ûndeyc/Y”B^ÛMfxÎÑÃ@íFAp¦_9ƒwD"BÎk7óíäßv¹v ×¾¢·¡;´Û¢œšEQQ…Îãš2‰K†ã§â¢¨ª‰¢ŠiQ¡ž[ITaΊ0þO‰Á(°¯¨A ‚!ÜÚ  è1í…§@—9“©gƒó8!S “¦j:žW»iÞx«ÿöfÍ£ÄüÓ/´W¢1QÿMÎìFHþ ¹ß“«y—nè·ë"¢ß ÜÚ­×?oêúùñ‰Œ/§¸n^ÜÚ—&C¡[ˆ4ô¤vã ‹r޳6!ûÁÖ¼ñV#”j·ó¾AÍ(XØ—ÓðÃêµ›þ]ºFé+ƒ½]@ ýáÖn½ïÏ~ŽÞ&§LÃë©ò6VzÝö¶ú²³µÅkæ<îûÂ¨ÝØSñB*!…ÎäÎh7c 7ÞêÑíf0Zèšp>íú]ºÁ<è·vëµûn^™Ç’ƒ»f 1Ùœ¾Ýœ¶ÙœºÑœú‘×m}oÎän Ò.í¶Áyü)2•ê5¾ª“÷»{ã­ÑnÁ4Z@¿þ]º!Þ®‹@ ˆ~ƒpk·^‹Ì„£éPšéPªéà“q§iRqÚ–â=Í{7z=•kçÆé{ûý¬ù l”.oÁ‰þ–¥Z^ïCÏh·ýÎã$j…¼Å¦{VáVB¨^ëÔýnþo¼¥•!¾­Os¿½Móö[þJ¨æ'GßRó.ÝÐo×E D¿A¸µ[¯ÝwÛ¼X|Ï–é˃¦¬¦ÃûLRLÆÏMû>+NýÔœ¶©½É±ö¥÷»uR»éÚ˜QwƒR$£»µ›Þ°ö¼d?Øš7Þ²WÙûn`?üÛo‰§yV!XKú°„ÞsÞÑníÖk±õ͹‚¨Ý‰ò-3Ýtp¯)c—i’)u³yßæöf׺@Ï*ðÏÒ[ÕõÚ-6ÑH7kðv$]®Ýˆ?ø]¶.ÑnúÆ[üëF D— ÜÚ­ç÷ÝhÇÐG@ÒòWàhÎÌ0gM‡÷‹ÚÍHµÛ–’4Ðn5Ÿ3e¿Ÿé5ø®¿òÅ6A4Ñ"|s¤ç¿›÷µ[è7Þê¡ÿŽ*ýÎÛ @ x„[»õZ$%,€ã9ŠŽŽs¾öŽö³Þ_›Ç×Úàk©}Þ4}/þÎ#z§8¿ãÆŽtKÎÈ]wÃ_Ñø^@ :ƒpk·pí»T»YŽåXr–É*ÍÊ(=œZz`Wiúg¥é[}-u‰óâõ½¨‹M4Òb0&&ô÷»Œ»#IsËRĵ@ A¸µ[¯EòŠü©´û&n½ùÚšÚšêeH¢j ÞæÚ-VýzUQÉ龿'Ð×€Ú @ ˆÎ ÜÚ­×¬YÌŸ*Ú­mÓk3õ½è>ÿJqë-Л vC ¢3·vëµØóÞV¦÷¼óy©vk¶%/Ÿcâ¾[ vC ¢3·vëµûn¼vãÚíâ„"4úvC"‘H$2¼¼Hívy¿ßwîZµ¸cùËÀmKf^*E\:ööí†D"‘HdŸ ¨Ýn#ÿýY—k·^»ï†èa vC"‘H$² ÙmÚ  @í†D"‘Hd2òöÝÞŸ7uýüøDÆ—ÓÀ \7/níK“¾WqÑ@í†D"‘Hd2òöÝÞŸý,½MN™‡×Såm¬ôºímõegk‹×Ìy.Ü1ö+ vC"‘H$² yûn^™Ç’ƒ»f 1Ùœ¾Ýœ¶ÙœºÑœú‘×m}oÎä‹ ¨ÝH$‰ìBFÞ¾ÛGÒkL‡ÒL‡RM÷˜Œ;Mû“ŠÓ¶ïÙhÞ»Ñë©\;7NßË(ÒKåÕw\Ñ—Ò‹¯š7ÄÒWÒìæìµXô]ôüwÀEÔ÷Á¡vC"‘H$² yûn›ÿަ/š²˜ï3H1?7íû¬8õSsÚ¦ö&ÇÚ—BÝïf0 ìu T|Å&Z¨Ç’h$}ï)ˆ6Áh  Œ‚Úµ‰D"‘—ÂÈÛwÛúæ\AÔn‡Dù–™n:¸×”±Ë´?É”ºÙ¼os{³k]Èg¨ì¥KbÙ»M™3JÛsJÍÈ+5‰ÕxP»¡vC"‘H$ò"ØïöÝBIË_£93Üi4Þ/j7#Õn[JÒ@»Õ„~ΔÉ.vIKè5SzyTðWg¨ÝøŸŸ`Ú-Üa"Ñ»ÐãÚ­×")a ¿ÉôÜ¹ŽŽs¾öŽö³Þ_›Ç×Úàk©}Þ´Ýõ²Ë`è%QhT¸ Fð鯙‚Ö£záµïqD"‘H$’Rƒv[Û[ïw£ÚÍr,Ç’{´ôHViVFéáÔÒ»JÓ?+Mßêk©Kœ¢;Ón Èè¦{zy¨. ø¬1$Ò6TÄEðš)‰D"‘]ÈÈÛwK^±€?•vßÄ­7_[S[S]ƒ£ìƒ¡^lQ—;»¨ÝH$‰ìBFÞ¾[ÊšÅü©¢ÝÚ6½6“1`G‹ ØD¶­vqAF P»!‘H$Ù…Œ¼}·=ï-aezÏÛ9Ÿ—j·fkQòòùaŒ­_µ‰D"‘]ÈÈÛwãµÐn(ܺ¨ÝH$‰ìBFä¾pת…ÀË_n[2ìR)âÑIíÍH$‰D2ö¸vëµûnˆÆÞNk·pGŠ@ DoA8´AqaÚ­ñ ‰D"‘ýŠÎÚLƯöx¾Ú˧ÍÙ;)›²?÷d%7fîh±é{ö£}7ÿ_òüÇdæÇ7¢€Ú ‰D"‘M M¶¶Mi?¶×{lcûñ½í¹_´ç~ôMnûê³Öìí ßô¿=û˾Ûõ邏¹Ÿ.jýæGùƒ^ÝE^ÜFfm wP-P»!‘H$2¢)¡åÐg¾ÜT_^z{þ8R¶ì÷¤´ŸøBäqPpI ß’Ò~:[fÁ&Üdù& 7‘¹_xŽîÕÿöì•ûnÍ­­À&Ê––êwqyE°}·ËÒ4{Ý Ž–¤™áCÐSíÂê6á?­Âë-Âüfáñ£ÐtİIÓ‘¿CM¼Ê’Pͱ«¨ƒ‘í»Az…”^l‰g ¾ÓtäO#VÁ]ºvcÃî3ô’(4*Ü Ó?46~¨¿f Zzè…WÔnH$‰ %´Ýã+üª£ðÛq;ÀË7_nJ{îÞ¦œTýoÏ^¹ïÖîóµwtÈôù¼>Ÿ§¥5˜v˜p軫Í?\B–î?TÛ<×äzÝV¿²ál¢WX}V˜”_µ¥©­´ÛlíW†hîwq¥×nPfO/ÐÛߨ¾1$R?qL R(p=@GÍ8ú««‚K×n ÈT¹-]«@¦/’ÿ²$‡D"‘Hdx(i7^¸‰<öó„[»]‚i´Ï*P·2!»µ}k•ûÕ“•S¿´LʲgŠèy vC"‘HdDSB[á‘s•Å>[aGé‰Ó1‘EGDw*ÓW@yth·Î>«Ðöݽ ¨ÝH$Ñ”ÐQv✫\”oÒW’G\{a6P|ÙBÁAqßí«Î}¿[ÿÙwCô6 vC"‘HdDS‚¯®ôZ[á‘Ö‚ÃgóŒÀÖcû›rR[Žîi>’lÍÞÝüåΦ̤¶J³þ·gïÛw#ñÿ%ÏLf~|²ÑpaÚ @ Doßw»þt2÷³ÑE­ßü(Ы»È‹ÛÈ,íwê^ðë=z:¯ÝH$‰D2öˆv»¸¯i»jéòòŽõ eµVá§Gë¾óqþà×SÈìmäùO/E5 vë ØÛ9í†D"‘H$²3ìRí2͘“¿==ëÓ=7í9ü$%cKꡯGòÆž[>È"¯|þ[¸Ó*Œ(n.þ\&üÉ*ü1¯îÉ%ß|ã 2ýCM/ýkIõ~ú:+vÊÞ O FÙcˆÕ¼dž‚6 µàg/hf ø®:N"´'í.Nþôi vC"‘H$² ÙÕÚ­¨Ü~¼ÐüUAá—ùg²NœÎÈÉOË>B» zmïÍíäÕ];Z… 5ÂCNáÞ*a”]¸Ã*ÜQ&ª¹áÇHü5½x‰d•D ‚ÑÀ ›ÑÈó: d›ÆC»ÐÈ”lP0 –³ðÙ8–D±1TƒRd23r€Ú ‰D"‘È.dWk·ºÆÆš††ªÚÚÊê›ÓUTfË9m ¦ÝÈâÔèOŽ–@aQJ†O˜Ý$Ìt qõÂÓ5Âc.QÇ=`?÷Lq-™±AÓQs1”žêwÐ4O|•¼äZ,P{“l¬z}/ÚÆ(éJ¶÷Q@í†D"‘Hd²«µ›»¹™ø#ßd¡Ú>yÊ¿¶tßV³«tÍ{OÂòáM¯ðZ‹0·IxÁ#LkFeÛµ³6j&Ò+#è2‹‘W)%ðh´ˆªW<…Îi·³è{#XµQ vC"‘H$² ÙÕÚ­¹µØDÙÒRÝà..¯¶ï6`Yú‘f¯ÔÍ’4³ |Ú§]XÝ&ü§Ux½E˜ß,<~ÔrB¼qLûz„€ÚÍ(áH%ÓYl— ª5Šv RŽ]åÅí Íè-uôª«Q°èga#Ð6ÅG/žŠµâu]5€j7$‰D"»]­ÝÚ}¾öŽ™>Ÿ×çó´´Ón}wõ¡ù‡KÈÒý‡j›çš\¯ÛêW6œMô «Ï “ò«¶4µƒv›­ýÊ€×Lù§¨ÚuS,(0ùQ*¯@kñ9оÄ,‚‘Ä&²'X_ h<ÉOGÐÏBG`³@Xl‹¤îØ6_>ôB»…;4@ úºS»]Ÿ¼•Ñ(Ù­í[«Ü¯ž¬œú¥eR–剃¦A¨‚Ú9Ú¯ùÕÜbÆoœ]"ºêkEðëIBh·µŸnC"‘H$šÂy´[ñŸ¿ÞÃßï «Ž Û˜;rGÁÂ\k^}K¥Ïç„JA(ÔÎKÒ´çïYcÛa]Ôn]ŽÚ èºM»u ÈŠ,²ôÀ÷Wd¨žùÉÝ:#¢[Z»Öà ;Ð3ºê3:§ZÉêΨý;ðã«ü«…¤éyF[Ë|†;=£Q7WÐ µ3iGbË ’ŒêGÇ û}b†1Ãúèõ‘c†1Ã|«ÊpOi·µò>S=ȲôÚ¯\FíÖ—Z»Š(*Ô!€Ë¯F<±b‘®ž+É-‹ ýJ úGÛ½ˆë_TT¨¶*Ò4T#(âû…Z787®_ýHE¦gž"½ 3ŒÆ c†¹f˜á>—á^¿ïFAVæ7ö’E)äµÝd–ö9SDBhíV\\l2‰©`¢'Ô)RôËÕr…\PÚË]ăImBÏhw6~1×G×dò«4) LêðlÎ+ÏC'0É3©ãÐ6¢‰Ÿ–…É-…[Z c()à[Z½’3S±ŒšÌ0f3ŒÆ ÷Ù ÷‘}7D¿AhíVb.1Jà³D>ÈE´âVÍÔ-Qñ*%éCíN‹%fepµ·Â,Ÿ*ó˜™[…ÚWná7t‰ŸÒ@íeæ»ñ RÎÌ,$.¹lf}“PÃçÓhV†3c†1ØaÌ0f¸¯g¸×ì»eÆ ‹LvIöúBk7‹‚Rù£T*—–rÎRÖF)-9lYrûí–ÒêË¥þýȤM–M“XM©f\M×R¥™&¸Rî¤TÓ°´T?\àñµk xªë[êQ©®¥_ûR5™¥Ú†Ì°Ú§sÖÔ`†1ØaÌ0fXþìŠ wv{ÞÔõóã_N'pݼ¸µ/M†‚¦KØ5j·žAhíf-§°ZËå¢U:‘άª«\vQ¼™Yþæðáå噒תoÀºQ<»Ùúæp˜+“ -W²"7ëgõoƆ¥“ªó ¬ÊÒ¿¸¬Vn«¦§Uíé?“…Õªk«æÑªixqæ“Ñ™ «qb†1Ú™0Ú©0Øá Ïp7i·ÙÏÂÑÛä”éqx=UÞÆJ¯ÛÞV_v¶¶xÍœç4]zT.¼N'­ç}ý¼í[Ò&dnÈDíÖ%­Ýl» >—eÛ Ξ‡†Ò²-Ë– n·gCl6(Ø °,;›µœLˆÝ¶…úmRKZ%úí[ìÒÙ6t‚ÞâDv;4fÝ— ‡îÙüÔà{ØE@sÍ€´;JŒZ ÞF[’É[Äf“‡ÓH¤–v%~[ÀñYØâv;ëBWÊæµ) „Pí¬€<ésÃi-M#ki·Ùù Û鬴B:j\Ò¹Ò‡®Î®¨_iæç¤Ya—»Úä®ê¸jY.²AÙ©26ה˰: ‹„uTúÑÚŽõ²)KV—í¥] ˇznSædËäÇ c†1ØánÏp÷h· ¯Ì€cÉÁÝ@3ИlNßnNÛlNÝhNýÈë¶¾7g²¦KXö¼j6 +*8ÿÔl†Ú­3­Ý*9¼u¤ò­#*+è=šÂ[Gް–S¶‡P϶Ê#„L©Ü6üÐhÛÂÆ!d´€ò¶ÊJÖ†Bï XÅÔÇIS8·ñµ´ÌG¥A°%뢖f#ؤšðÑwÑ=Úí£3áh:”f:”j:¸ÇdÜiÚŸTœ¶¥xÏFóÞ^OåÚ¹qš. bl‹AÈØ˜§N6|bsÚ2ã&ÐZV¦g56}-„í©µ¤M ²ö ÅØ,6§`[‘E¢jóVLK®ñC à_‘'û¡x¦Aã¼äQQ;kó™V›< üÑoç%Oƒñë ÁN¥žd(iuµÉâŒ'`´¨äÚ<ðÔržÚÚ<¸Ø€Qò€bœ´MxüY‘WGÒ*¢ KD+_§¿NŠ6 K€¥Q·®®\¿~غº<6h-MÈŠhˆó„8A]]­uüG€zV¨Š÷Õq#ùw¨«ÕL°pô:­Cþä† `vü:]¥~Ê:ÝPj¤uÁîS¢Â ŸgZ̰ò‰öM;MÀBÀÑ#2Ãݣݒ–‹Nsf†9Óh:¼_ÔnFªÝ¶”¤v« øœiÏh7½RCíÖ“­Ýêê)Væ×¯ŒŽ®¯/Wƒä]YPM¢ã¡eÁÎx½ õ;ã¡%ó‹ž]ñ¬/¨„ºúúùõõЫaW|CCîú†hM`XÚ¬>%̶² yÀ#@Cãl¨ß¹³¡A*ŠXMh´ õ46±Y|4DBâåS˜ø_°RWœB^rôÊù+£ÁIâw®\’I#ðÃÂ’óë‚M µrNÅIÔ +Ç–áVç׬¡¡^É€Ò®AîÏuS:K³HPj•¾´ymP/{䨔 +c¨ÍXX¬ª…/Ô ­¬Si'÷WfU>äñY¥2™D· exnÌzuyÚµc†1ØaÌp÷f¸›´[Â8ž£èè8çkïh?Ûámñµy|­ ¾–Ú÷çMÓtÑßïFïDƒOzñ±fÃ0º_¦¹§Œ¯ xÍ4ÄuU&µBÌÒí¦é®¿fŠÚ!´vs7·h«NºWÇÄ46ž75·Ô¦‘wÊU×ê“Ð×ÝxRê¡ömläN¥‚[êݨŒ×HÇc#6Ò‚<£Ü¶‘Vºi,0×tsí’Ï¥h<VEG7ºOºåH”!™C™V Û==:&:fzãÉUà€¾111«£Åq”Y0Üji´n÷*q.±1¤nÌî>é7‘²–0·2÷Ed˜ÅÜVãæ2ì‚Û͆ a5{jJØçù3ÌFs+b†1ØaÌpÏg¸;µ›åXŽ%÷h鑬ҬŒÒé¥v•¦Vš¾Õ×R—8/^Ó%ľ›Pð‰ÜfC&½õŒžÒgøZÍSï‰Ó%@#ñ4 ‡ŠG‰ûÓXhÊ ÂVGf¤¼§§Õ•Ô;Z»µP4·phfŸ~n4«GñðnaË»11--…jm³¶17p¨1uðGÛcæž*0[öÌlæ[·4Ë‘4]–_„”¡Y·®š…øî¶|H³¶µþäB2 ¶;3Ì-O“ fMm0tm†¹zÌ0k‡Æ óAªÅ kZëO:—áók·Ë/B»¥¬YÌŸ*Ú­mÓk35]ô×L[ÀÉ}-G¯Ònúo"AíÖI„Öng´²ƒ?Z%gk+­m•NéA„Ò¥U7@«n0Ö‘~Êöêfõ÷±qØG+çj ÔA;bk«¶Øê?«âlUÏ[ÕQÅùZ[yë(ÐÖ³üÒµ³`†ùH1ØaÝH˜a̰_¤½%ÃzíV| ÙüËKÔn{Þ[ÂÊôž·s>/ÕnÍÖ¢äåóõ]ºJs…qÔnAhíÖæõze“Ø&BúTμ^v*µôÊ©,µUϹ&|Ij ´õÒžüØ´@ç¥mòˆ4 /7´7/ Céá•Çi£Ãz•£‘R7’—…Ò¦6óªðQ+Ç6> ¶jc›&FÌ0f3ŒÆ ÷½ w¿vãÚ- pð}¦ƒÐÚ­½Ý×Þ.døDú—Oõ±S®Ú¯›Zðù4ƒúWsô=|J _€Þj¸ºZŸOÛ6Àâüר.Ìç7·ºHŸèòñíÔj5~¿$éÖŽæfà c†Ùò1Ã!‚À ³ù{G†»M»w­Zܱüeà¶%³úK¥ a×P¨Ýz¡µ[‡=ÀüCè Gú)WùX«¥©OqøØ¹ÚAé-}~½¹)•f¬‘‰O•ïàSÆñù¸É}š4ÁvtøÅꜼ^®“f!â'Êç?ˆÏç—nÊH>mL˜aÌ0f3Œîƒîív»†BíÖ3­ÝÎ)èP è P°m v7wÒÑAÏßzb¾ÚÌÐQr3Jmé!ðL!×pÑÛ`†1Ãç©Æ 3ܹ™‚M¦ú0Üá^£Ý‚ÐÚ-ÜÑ!ÑÛÑÚ ‰¼ †Ðn@ ΋KÓnHä¥×náþ@ úøß¤¨Ý=K^»­ýt‰D"‘ÈÐDí† +yíö`H$‰ìsDí†ìY¢vC"‘H$òRˆÚ ‰D"‘H$²ïµ‰D"‘Hdß!j7$‰D"‘ȾCÔnH$‰D"‘}‡íö¿¤ì‰£ÈñhÊy1ï”1rhLÛ³áTþ!‘ÈHdd³»þqN3_OÜHVþ@£ÝrnëÅß?’@+I(ÍcP–%¶1Ä:Vfù}j™j‘H$™,»‰Œ`Ž"¶Q«ÌÑÄužçâ½TÙ!‘‘JøŸ$‰DF&µÿói0Øóî³úB,_M…{Õ³ÿLuœëNv³rÚ­yâlm“½’j¥Ö1ãr‘³dž{þ2FaÖ ™ÓeR×U<üYxåê;‡\ú ‡¯z.np׆‡D"‘H$ɨ—rÍkŸÍ;]wMÌîoýþ“ÿ¹aÛ÷†mýþ›¿wÃæ+nÜvÅŸ}wØöoÝüë?òÇ]—]—<èšä¿ÛE~³ýç·n;~ÒòîÄéöݘváFµÝ>Ш¶sƒÈ·.ãÒÁ‚P¶îƒ²š»‡^â ‚KXwwlÑÍ—0Ù9†ý¿H$‰ #5Ú­£¶âš»s¯ø[ÎoÏùeÌñ«ï:þÛ»ŽÿæÎ㿾+ï—wžøÙù?¾ãÔÿqꊧ¿}Û©¯ÿýô×þrjÀ 'Èu~ëVA:¡Ý覷ö©ƒ¼3DíFZí\¸uÕê…ÅD, Ý.qßM*-6ýˆ°îʡ瞸ԡH$‰D"Rýô×·o*üI´éšÑ%ÿïÞÒ?·üùÁ²aãˆ=Pvýå×·^}Ÿýçcí?]qElÅ·¢+.¿Ý>ðoeäÿ ¿Þ}ÙíoT»IÏ™æÿœ»fú„(ßj&¬š8Èñ´Hç3—¹ž»¬zŠÈŠç.«œ"R,<;˜òkÓˆäb_wçà…W}ƒ2éʡՒbJº0ç¹ûDI”ÖR?- ÿBµ?½îYG^;„:ß9„R'ŽVô÷¡,&Ö@»Õ±ëÊ@×w,àÃ×-ŠÌ®i éK#¡N6#?¬"`_Í4Q{"‘ÈÞ̰ßj„Döªð<&j·ïßZrõ¨²a÷—ÿýQÛmì·=a¿e‚ýï*nšPqãã•x´êê?¿ßù£±Îÿéã|›}àŸNømÕnì~·¬aT»þµø¬BÕ(ñÙRªÝÞñÃ¥·|oéÍß·ª|SÇßtEþCâ¿Wöœi‡ô¨iý¶Xv³]« ¬{x}Û=Cªß#̹ö-ãÚ+‡ú^’¥YUôŽÿkÎÍ€–¬ì›%6à‡Zx͋ۯê}f°P‘Hž=Fz]µýhlÜq@8õסù=±õ0ÑØõm Sá„C³ƒ×@í`ùyX‰¾…„ÍrN¶ÏJ„Ø WëÿÉûBû3±üà”îÿSW¨Q¦³=þ ê¬ÞcYxÍX?ZÛ3±û¶?2D? ËÄvð¥Äƒ0šüH$ÙKö]‘È0’>œàãžR ÏœÂoð«F”^?®üæÇlÿxʾû@3x¢'UFMª¼í™Ê¿=UuãDÇu9ó° üîiýv¬óë#*ÿõÌÀßí}ÈÔ%j·ì?ðÚ ô\õ8Q»™ ð B{ð' :á«5/{` }°Aþ·;‘œM…Û©72 ìHGb[¢Ñ·†-ÛöAYÛCΥĞ¥[`O•µÛˆ!‰Šv¥–}3‡°t¨jð_ùbûÖ»E87ÃûÀpÒrûŠðùËP˜f‘µÛCÚÅKx‚µBX{åÝàáê…ZŸÃØ61Ê0u3m„8rf¹pð·#Û&¦#°Ái/ð@ƒSIc£ÓÑ0Àß6ên¶|ZÐŒ¬/? ÍÛþÄ eŸÃBãD"‘H$Ù»ø˜ÊæGä¯ i/JšŸÝaùëCVnw?WÁtÔ“+£ž«ºå™ª¿<åøãóÿÏHç·b*‡Þræ²ß'Sí" ´›õþš)h7ûÄ5^üN7ªÝ|’p Mh“½ú…ã÷lyreóDQ»QõÑå`žuþp´ãŠ»ìß^ø?ŠÚ TnæëIÊuL»™oµ[Åxù+yi»í¼ò Úä¼û|î¸TµÑ`Û׊Ý×ÌÍh7¤ñQÂ(7XÀå¿Àßò¨¬\OÈÚ­üö!´#èµÆXµÜ?„5€AÚæÉÚ­y©¨R·[@ÈÔ|0ÔÍš±ë[ÆÉÂçøC¡qÇnQfr  ›ªo¿¬ÛT¶õJh0˜2}¼(ŽüAYË£ƒ©ÚJÿíHhÌb¦ƒ56]G²¬+a!ldÚ8Øh¬¯f 4ošíN¾‰D"{éï+$IU›[úÞ]øÝýû–Çx$‰D"‘a'“lÀêq2AÜx¿uÔ”ŠûgV=ð|Õø™Ppc¦©òâ·ã«~yoÕOî©üɘʟŒ¶ýäÎÓßû“x¿›Uzqiá_Ä›Ü@»IßÂk7—´õÖyívêý©9cÕ<.ñ1±oû®X7½_ìŽ!ÕÒ»µ(›EÙeÉÚaYxåšFÂÕË3¨3·\øô–»©³|KÙ»· ¦[i¦Iëiöœ©pà_ qªg­§c.6˜:KÁyÏ‹nEm}:ìîuWÊ×S?q©®¯A·FÞÑ;:l(ž#oo¹ ÔS%Ž–£-¼r$Ìb6Ç™°~ǃCŽýõ€’¢CµKúëݱëÝ’þª«^}·¸-xà_0u•¨+µ£ëËÏR1a(Ë[Ñ\( ¦73øÈ‘½ðï‰D"‘‘I&Ù(+$ívÓöqñUÎr<ü‚ãÁç«î^9&®ò.îÞ·?¦â—÷Xy÷éþE|ÎÔ|›übÓ¼kɶßRí¶ïIþ_ÅןZÇŠo2u<¬j·ó*¸3‰q¹ãTá}[ß“ÅÑÞ«‡ºÆæWÓ<[}œÓµÆH=í‚åìNù‰Ñº–ö±¬¬éB¯äºf'ÒÑ„\ƒÆ)]R6žÍ5òþ:pV%6W ®ñ±¬;WÐVíc^¤Ú‹Í íiÇæ\ú™‡ ‘³Høî0uÝøØ€£éûêgÑ$¦‰D"‘HdïdÅ8™UôMñcD]të㶇 ŽÇg;ÿ—ãáYU÷ͨ¼gª*Ü(~7ÎþëÚ1Úö«1¶«ÿY~õÈS?ºIÔnô]ô Õ@»¥\G^þ6¯ÝÌ#¥ÙÆËÚÍ'ÉŸÂMÜú¿ÉT»9…°NÚü:U!n0¾yŒvz>Ûñ°ÁqïŒÊÑqÑOÛoz¸üš‘ù?øÓè{ô&ñÞ6Ý5SªÝòîÚÊ7;ȱ ÄõäçSò±zÒ ”UçU¸ñÚ-ìÿñ@"‘HdXö_žHdxY&I¶òû8í6VÔnÿz«fÅGõ«?ix}]Ý‹oUO_ ÂÍõì+NnOÌqL˜ãxøEdzªÆN¯¼{rÅð‰öÇ—ýúμF}áuU€pË&j·½¿bÚ >A»‰"y£h´h4¦ÚxR?•oU”à•S$RfØ"‘ábØs"‘½ìŸ•oUo?k.÷¾°¬zâKÎñÏW‰«Œ}¶âOÚcž¶ßþ„È[³ÿô€xÃ}ÖkÆ”ýüóŸïËË/¬·,~„¤§ÝàL¯Ý,A´[ís„‘é8ynB€ë§H$‰D"‘‘@ö?1üÿÇ‹òíÞÁ ßÚk´_Æ{^€p˹e0Ýw©–rx¿Û@µ›y$ÉE¨p ¨Ý˜^kœ¢R£ãê&ÊšÇȈ¦‰D"‘Iv’¿IuÝ’£WQÍcˆI( 9ž¹KdA´Èüáâ-m” àèf›¤Ý@؉µ•l¼p£ªÍ=m eóôAÁµM“1º'!‘H$‰DF4kžYýä ñ åãú»Ë4·¨âŽ“rP)òmëU¢lS´›u¬¸ã¦¹0JõšwÆ s†Ë;^ ¬A@Z†#sÒ‚ì|þ²ŽY—Ó–H$‰Œ(ž›6‰ŒXÒTQ]DéÐ6i ÝÙjž8 ñ Òücã£N©‡¿x Gð¸Æ‹oŠÒ+: î@¾™ocÚ 7ZT„MÏ]z $˜0÷ ‘¯ý¯È7)ò­ß +~¯rõ0™¼‰D"‘H$22 J‰’?}ý×2¡L#8ùS*º©›{Enj˞‡ÄW`Qͦh7*߀ ßÄ3&Üèlÿ‘dÚÛ7‹|ç6‘k†%m€DF,Cüë@"û7Ãþ¯‰ /õÿ"¨pbÇ`¡¥!U|s¯ðM»,¸ø¸lœv£ÈE¨ˆc—X)ˤï+¡ß¢~û›ôí âýyÔõ豬C"#•އ‘ÈÈ¥æö·Ã8‘Ò±j”üæS(ˆþQbÁ6ŠØïi“NŪQÄu§øÄ‚Fª2ˆÆ=Q÷ܤª8w¡Â"ú2ðâz}¾?`ƒÀ¾6ì2°ËÁ†€}ì`CÁ¾ ö-°oƒ}ì»`ÿö=°+À¾ö°‚] vØÀþìÇ`?û)ØÏÀ~ö °_‚ý ì×`¿»ì·`¿»ìZ°ëÀ~ö°?‚]öÿÀnv#ØŸÀþ ö°¿‚Ýö7°¿ƒÝ v Ø­`·Ý6lXØ?À¢ÁbÀî»ì.°X°»ÁF‚ 6ì°‚v/Ø}`÷ƒ{ìA°‡À{ìQ°ÇÀ›öØD°'Áž{ì°I`Ï‚=6l XØT°i`ñ`ÓÁf€Í{lØ `°Áþ6ìß`sÀ悽6ìe°ù`¯€-{ì5°…`‹À^{l1ذ7Á–‚-ûØ[`ËÁÀV€½ ¶lØj°wÀÞ[öØZ°u`ïƒ%‚­û?°Àþ ö!ذÀ>Ûö Ø&°OÁ6ƒmÛ ¶ ì3°í`I`;À’Á>Û ¶ l7Ø`)`{Àö‚¥‚¥íÛ–fË;vìØa°L°,°/Á²Á¾;v,,ìØq°<°`ù``'ÁN;VVV f3ƒ•€•‚YÀÊÀÊÁ¬`60;XX%X˜Ì æ«««««ksƒ5‚yÀšÀšÁZÀZÁ΂µyÁÚÁ|``çÀ02þýƒ ö5°Á`—]6ìë`ß öM°o}ì;`ßû°ï]ö}°€ýìJ°«À~ö¿`?û ØOÁ~ös°_€ýìW`¿û ØÕ`¿ûØ5`ׂ]ö{°?€ýìz°ÿvØ0°Áþög°¿€ýì&°¿ýìf°[Àn» ìv°á`#À¢Àþ vØ`wÅ‚Ý 6lØh°1`÷€ýl,Ø8°{Áî»l<Ø`‚=ö0Ø#`‚=ö8ذ'À&‚= öØÓ`Ï€M{ì9°É`SÀâÀ¦‚M‹›6l&Øó`³À^3€½ö/°Ù`ÿ›6ì%°y`/ƒÍ{lØ«`¯-[ö:Ø`‹Á–€ýöΰ©jãXE}>î½×·"‚ˆ""Š€ Š,QÜÛçVDõÁs/D†  ˆ‚ˆìÕ¦IWÒ•Ú¦;iÒ¼ÿ¹gÜsïMB¶·óõÿ»÷Üs¾óï~¹MBy¼ ^¯ƒ7À›à-0 ¼ &ƒwÀð.xLïƒÀ‡à¿`˜þ>ƒOÀ§à3ð9ø| ¾_ƒoÀ ð-˜ ¾³Àl0Ì߃y`>øü€…`X ~?ƒ_À¯` X ~ËÀïà°¬‚•à/° ü Vƒ5`-XÖƒ `#Ø6ƒ-`+HiÀ Ò ¸AÈY äð‚\òA(>àE`ØŠA (PÊA¨U Ô€ ZP¢À±?îÿ %hþZƒ6`öû¶`p8üþ‡€CÁaàpÐŽG£Á1àXp8œN'“Á)àTp8œÎg³Á9à\pø78´€ ÁEàbp ¸\.W€àJÐ\:Π ¸tÝÀ5 ;¸ô×ëAOpèzƒAÐÜú›Ap ‚AàVp nCÀP0 Üîwá`¸ÜF‚{Á(0ŒcÁ8p¸<ƃÁðxL€GÁcàqðx<žÏ€gÁsàyðxü¼^¯€WÁkàuðx¼&·Ádð˜Þï©à}ðøüLÓÁÿÀGàcð ø|>_€/ÁWàk𠘾3Áw`˜ 怹à{0Ì?€Á°,‹ÁOàgð ø,KÁo`øü–ƒàO°üV¿Áj°¬ëÀz°l›Àf°l© 8A:p7È™ dƒà^ ò@>(…Àü lÛA1(¥ Ê@9¨•  Tƒ!P  ê@8Àý´­À?@kÐìRÀ¾`?Ðì‚‚ƒÀ¿ÀÁàp(8 Ú#À‘à(p48 ŽǃÀ‰à$p28œ N§ƒ3À™à,p68œ Îÿçƒöàp!¸\ .—‚ËÀåà Ð\ :‚«@'ÐtWƒ® ¸tׂà:p=è n½@op#èú‚›@?p3ènÀ@0Ü nƒÁí` †;Àà.0Œwƒ{ÀHp/Fƒ1`,î÷ƒÀx𠘃‰àð(x <žO‚§ÀÓàð,x<^/‚ÿ€—ÀËàð*x ¼Þo‚·À$ð6˜ ÞSÀ»à=0¼>‚ÿ‚i`:øø| >Ÿ‚ÏÀçà ð%ø | ¾3À·`&øÌ³Á0|æùàð#X‚E`1ø ü ~¿‚%`)ø ,¿ƒ?Àr°ü V‚¿À*ð7X Ö€µ`X6€`Ø ¶€­ ¤'H.à dl<À rAÈ ø€m`;(% @( TjP‚ jAD@ˆǸÿƒ– øh Ú€}@ ØìÚ‚ýÁà@ðOpø8‡ÃA;p8ŽÇ€cÁqàxp8œN§€SÁiàtp8œÎç€sÁyàßà|Ð\.‹Á%àRp¸\:€+AGpè:ƒ.àjÐt×€îàZÐ\®=Á  è n}@_pènýÁ-`[Ám`0¸ CÁ0p¸Ü†ƒànp î£Àh0ŒãÀ}à~ðÀCàa0<ÇÁ€ü¹é§ÀÓàð,x<^/‚ÿ€—ÀËàð*x ¼Þo‚·À$ð6˜ ÞSÀ»à=0¼>‚ÿ‚i`:øø| >Ÿ‚ÏÀçà ð%ø | ¾3À·`&øÌ³Á0|æùàð#X‚E`1ø ü ~¿‚%`)ø ,¿ƒ?Àr°ü V‚¿À*ð7X Ö€µ`X6€`Ø ¶€­ ¤'H.à dl<À rAÈ ø€m`;(% @( TjP‚ jAD@ˆÇ?qÿ-A+ðдû€°/Ø´ûƒÀàŸà ð/p08 ‡ƒvàp$8  ŽÇ‚ãÀñàp"8 œ N§‚ÓÀéà p&8 œ Îç‚óÀ¿Áù =¸\.ƒKÀ¥à2p9¸tW‚Žà*Ð t]ÀÕ +è®ÝÁµ ¸\z‚@/ÐÜú€¾à&ÐÜ úƒ[À0 ·‚ÛÀ`p;†‚aàp'¸ #ÀÝà0Ü FÑ`  ÆûÀýà0<&€‡ÀÃ`"x< ƒ'À“à)ð4x< žσÀ‹à?à%ð2x¼ ^¯ƒ7À›à-0 ¼ &ƒwÀð.xLïƒÀ‡à¿`˜þ>ƒOÀ§à3ð9ø| ¾_ƒoÀ ð-˜ ¾³Àl0Ì߃y`>øü€…`X ~?ƒ_À¯` X ~ËÀïà°¬‚•à/° ü Vƒ5`-XÖƒ `#Ø6ƒ-`+HiÀ Ò ¸AÈY äð‚\òA(>àE`ØŠA (PÊA¨U Ô€ ZP¢Àqîÿ %hþZƒ6`öû¶`p8üþ‡€CÁaàpÐŽG£Á1àXp8œN'“Á)àTp8œÎg³Á9à\pø78´€ ÁEàbp ¸\.W€àJÐ\:Π ¸tÝÀ5 ;¸ô×ëAOpèzƒAÐÜú›Ap ‚AàVp nCÀP0 Üîwá`¸ÜF‚{Á(0ŒcÁ8p¸<ƃÁðxL€GÁcàqðx<žÏ€gÁsàyðxü¼^¯€WÁkàuðx¼&·Ádð˜Þï©à}ðøüLÓÁÿÀGàcð ø|>_€/ÁWàk𠘾3Áw`˜ 怹à{0Ì?€Á°,‹ÁOàgð ø,KÁo`øü–ƒàO°üV¿Áj°¬ëÀz°l›Àf°l© 8A:p7È™ dƒà^ ò@>(…Àü lÛA1(¥ Ê@9¨•  Tƒ!P  ê@8þ…û?h Z€Ö  ؤ€}Á~ -ØÿƒÁ!àPp8´G€#ÁQàhp 8Ž'€ÁIàdp 8œNg€3ÁYàlp8œþ ÎíÁàBp¸\.—ËÁ ¸tWN 3è®]A7p è®=ÀuàzÐÜzÞàFÐô7~àfÐÜ€`¸ÜƒÛÁ0 w€;Á]`8î÷€‘à^0 ŒcÀX0Üî€ñàA0<Á#àQðx<žO§Á3àYðx¼^ÿ/—Á+àUðx¼ÞoIàm0¼¦€wÁ{`*x|>ÿÓÀtð?ðø|>ŸÏÁàKðø|f€oÁLð˜fƒ9`.øÌóÁàG°,‹Àbðøü~KÀRðX~€å`ø¬Uào°¬kÁ:°lÁ&°l[A*HN\À 2@&ÈÙ x€ä‚< @!ð?(ÛÀvP J@)€2P*@%¨Õ AÔ‚0ˆ€:Žƒqÿ-A+ðдû€°/Ø´ûƒÀàŸà ð/p08 ‡ƒvàp$8  ŽÇ‚ãÀñàp"8 œ N§‚ÓÀéà p&8 œ Îç‚óÀ¿Áù =¸\.ƒKÀ¥à2p9¸tW‚Žà*Ð t]ÀÕ +è®ÝÁµ ¸\z‚@/ÐÜú€¾à&ÐÜ úƒ[À0 ·‚ÛÀ`p;†‚aàp'¸ #ÀÝà0Ü FÑ`  ÆûÀýà0<&€‡ÀÃ`"x< ƒ'À“à)ð4x< žσÀ‹à?à%ð2x¼ ^¯ƒ7À›à-0 ¼ &ƒwÀð.xLïƒÀ‡à¿`˜þ>ƒOÀ§à3ð9ø| ¾_ƒoÀ ð-˜ ¾³Àl0Ì߃y`>øü€…`X ~?ƒ_À¯` X ~ËÀïà°¬‚•à/° ü Vƒ5`-XÖƒ `#Ø6ƒ-`+HiÀ Ò ¸AÈY äð‚\òA(>àE`ØŠA (PÊA¨U Ô€ ZP¢Àqîÿ %hþZƒ6`öû¶`p8üþ‡€CÁaàpÐŽG£Á1àXp8œN'“Á)àTp8œÎg³Á9à\pø78´€ ÁEàbp ¸\.W€àJÐ\:Π ¸tÝÀ5 ;¸ô×ëAOpèzƒAÐÜú›Ap ‚AàVp nCÀP0 Üîwá`¸ÜF‚{Á(0ŒcÁ8p¸<ƃÁðxL€GÁcàqðx<žÏ€gÁsàyðxñõÐd²ûÛá:j§0D.PfG8è·Ž¯Â&Ü‚rî³öÿÏ0®OÁ ô.¥~ú—M—^Mà±I?%_w&oOàîˆâIO”¶yû ’köý¾l"®âd|-Úûü±l"9 ï%°¹²9z®iqÃzÈqm*ÑõiL}²ýr·æ:†Ðm‹;üŽ!>Ç­ŽÁ>ÒÌ5°H©þ•§eosOÅ>ã#‡<=ê9¢“_ŒžþF´ýëÑöS¢W¼MÔñ]¢NSãŠ:(ÕS¢ø-o÷¡ø-Çö™P‡ú‹›àÄWˆp+œ=In*¹SiDsº¬rôñ8ú¥·Q9îÙN…Û¢Õ¸ÊV÷…p‹8Œ´…h[ÑI´³Íu¸ûPO¥úˆÕ¿çÇ­Yºð §Þ¸¨ÈmGdtd…®¥zÊqÁoŽëݤþýÒ™¤›@Ü L÷–é÷l'>Ê™oSÚ ¡þP—Uä5Oœú ™jNzà@_Ñ—@x9 ÌWª¯Nù2VýscÖ_Ô\*{öŠ´ÀPùþyJõÕß’úw\ÝòsýI…iÅ­p‡_ï”/xùš¿Ù«´âõ'¿miÅßï‘-‡=íÞÿ1×¾ºRuð¸ûÀ'Ü?éÚïÑô”GÒãÓÚLLw<˜æx¼ÀqwZŒÇÛ¯¨=K¨ûŽNÙ/¹¸EFÿí½Á1n½cì†Vã7¶~í Ž±ëÈö¾u§æ9F­ëöiUdÔy8tÜø·zäiØú¯Ír/Úè\´)}ÑÆt²%r’ntþ¸.mÁçüui36z/}c³£÷JUÿÝÒQ?;.ýÛÑa#yÚ/=Ú/Ä¡z(zçgžØõŸX–%Þ×XSlÿ9îPrÂѪ M\ÿK6::»IýñàÃêÔd*¸è‰D£ä=çŸfµì»Ê1¨‰ÞS«0”5û”vÏ·m÷áôœmÓ‡¬°¿Â;*>OxÎÒœå×·û²uÿ¼ k¢Ñ‚² ´JÜhrýûæIõG£µ‰¯ÿ‘ÿsµê»¦ÕíÛȳ0½ /Á@Þ–ëÛ=ŸrÅVm‰­)§¾›rƒÝEN í‚Yú˜HxEÊ© Z÷×NijüzÒÞýUâGõïã!Wï B^ÿP¬»€A£¦¥òúo#廉þïWÓsi{ê¢ÖýýY+Å}|ÉTÑS;m^ íÌšWÜc^­h›¦hV;m"‹F.'sgç¸dM±¿xZ.¼ÊýuŸèš@¬ÄœuÚ,ý!4À'V²~½‡…Ò2™HÓÉÒñ¢isOXé¸,ÍÑ=W»øýüéT^SíèÿniÕg5ê/n‚ó‘F`zŸçS®1¾Ñý(9Ǭ9+p¿þ£mä6z“uFsÖ\×ákÚ™=#§u‡÷´ö¶é#\Ô!û£÷;âyèáßàR2}<‹Ùº½èÌ|¨w‘c€vR9˯kÿµö¸Çú{Ì’h·Pä˜d—Gû¿åô&¬æÅY` –jÑpGÆ*mÛ»IpIJ8eÀœ‡ûðžßæÐPÚ‰—Lïó^Jo-‚âëN¥éÑ¥cE£såúcÝÁÛê_ÿ±¬oÙge«aÇmeD‹{ÌkiLMé]ŒC!­¿‚Ü.2*èê)cªiyÛžúsk^âÀÚSSÆ3Ò‰8Vg“Ã$¸æÃmÛô>3Zó°$Ú€bVvôK³&¬…GîÃxl¼ÆÔzÈòl­d€b–$*¦E9·m§Zï5­{óžök 'þ¿‰éDDn)q¢aîñݤþýåú×jÿ;¨ÿï­n‰ÇŸ;ªZ «tܪéƒZVº¾eìFÑ4aº³nGû«ØêC Yy¯ÊáŸOéQ¦·ÇuÄy‚¾ZIÂÍZŒk‰ÝYpâ}yØ ÖÁ¹ÇV¾eäòÆýâª"8dõaÛvß¶¾ÍSß_"÷&,±¸5M;íWÍÙÜaéË]72r¥õƒÇ†úwÈÖêï'!CË´úï°øPøÁ)+[Þ¼õ§"·Â° »¶{VâP¨Ç‚:­J3[K>mïð±zvö:¦ñš÷¬ÔÛ÷‡„ þ ;¼îÛZv޽ÖkJ}ÞO¹…‡½x#_‘öó€ŸggGkè,97YX"›­¸Wl©!g-x K¾ÜTšÑ=y­ïΧj5®®Õ¸h‹1un¡ÖÝÙ‹òtßnvÊÐ"t:úÍ)ýˆ›c(ù­'¥»>Êúiûáh–ôú‡†j­ÅwŒ*J9“‡ê΂8F9ÉïP—;Ex!”2”´{üDëÃÖ2‰¦Á—`Sä„ÛžùGkcp“ƒi.Í„§W+;tµNÔÅÇÃ8LZ µ]Ûæ¾Ð>÷EÚ<À>Õ¥Ÿù Ñ~ý£Ìqº¬'¸kr¼Äê³h;%RÿU¿Êµm&2ÕŸÞ¤þ#CmÆ„Q¢ñkýß ¢Ö¯FécKÛë¶íf¨?ÚãºÛ^álð$wSrýñJIÜ轠ͨ ùVÏîñŠßÀ—‡ôµ›Aè½Þö >ÖõŸ-êO·ø•ŠˆÜ*Ø­@5&L…G'«h@zßQª§ôú÷Ò>cc‘_ÄÈ—†–é_–¿a22D_óÈ¢/~è«P¥úŠÖŸÜÙäSÈ®ëZt[ßò"ñåϽÜTäÜL}ôä›s ‰/Ï„îî+Uÿ¦©Ì€¨ÿSoÎUõoÊú×ÕÕEêêBáº`mõwz*cÞ»’üK^¯Ï;d÷‹ÐPqšMý_šº@>ÄMPaõŠQÔÁÐWõåK ËÕ¨õO\OuÛ‹Yÿ}w©þÏL2\á´þ5µ‘Š`¸¸"˜]Xzÿ3Å®}êÙêßp«7JýßšíêµY¯ÉZ±*séŠÌÅdÎÿ-ó»_3¿ý5³¸*<ö‰iõª¿Öóå&æ³üSt®ûÒǽ›¶YF-W¦S¾áÄÂèI¼ÊOëês˜Óå•å=M]ÿ:Í"‘ºÚ0¹ø«B‘ò`¸´:¼½*<æ‰ÿÆ®¿ÜE+#òÿt[ÔtÙÇ%gM{†üTÝäŒU݇õ$^¥>wCótró%.{£Öÿé7Iý—.w/Yîþå×¢e®ùK\³qÍXìúæ§Œm•µ£ãÕ?Öõãêµ–HTRîÁ]`‡>1{v¶þ ÚQÿÇ^ùÛßÿt-ûÓõër­þKIý¿AývûIý?´­þâ ß{ëÿÈKß`‹âÿ¶Âõ󮿹¾_âúîg×׋ӿúÉ]XQ;úñv«þqÛc=þð—(¤‡ùðWV‰ë¯¿¶!'æ'‚õ·>þ¢5zýïæ3lúݵøw×Âe®yôÁç§ô/¦±È_õXœúúª¾ü4VeF-Q{²£Ï¿ñŸ[¥²GþŸnÓ‰W± )»t“éõä«ìè)žÜM[ÿûžþÛ–ehrÏ]âžõ«û›ŸÜ_,v¶Øí „F>ú~Œú7½pCà>ÒPn»¤Æ¨ÿÝÉÓ«¯"DUX*(å—…r¡ì’`úöš{jcý_Ü$–­×oO¸ÕóÅL3©?^ÞŒ}júا¦1=9mÌ“ÓÐ zâÑûõORª1ê¿ f{öîúÏüÚü„«l‡Ö”×b[=Ù±è?Ž/8~xÎñÕxó†Ý[­ù\ÿ¿¾æUm§í¹O©ú7Ýõ¿b’ã·WK'*zTýëYÿ9Ë6=òþV¡?ñº«Þq¬ù¢ý¦9×{Ö<_U²>ÎFÑ(¶™Ñhùì',õÏšÖCúóÙ–ìö™Ë‘{L˲)êŸÒÞ¹ËõG©wª_ØÒ7Pá²Úê•‚oó7?›õçè¬#\ˆF£¸á f>«þâì´Û¢Án‚=¼þápm$„v8ª®*Wÿßßjùû”ƒ2þxê—W•Û÷»+ñ¾XS:9š­™R°qD°bF4š>cbÂúˇúýB;&ý&ô0ÜM¤»Žð™6m—æcŸ;a ëg·rŒUhácð0¹7jý««+5U@UUÒ¢¼œôxõÿõµ¡ÊUx¨ùéeTØ~­ N‰V¿­z1ZùTÖß·G£¾š°£úG—L çM·’9sî‡AÓ½„º›î>†›Rk‘‰¼Aö1Wá]ÌÇG îànºûõ¯¬ ˜þoƒ,×FZúŠHÞþüê?üîo£Ñ<¼ÔD£‘7£¡W¢UÏE+‹–?-ãýë†htÆÖן1ëo|R`—­îÆK#»ÑêÅ»+Ål$^Å:K»ýêù¹ûõ/++.-ݶ}{Á¶¢|¿ÏëÍvº¶®Žwý/~Éñ÷—]£Ñ ¼Î†—F+&F÷GKFE·ÝõŽúÖåÞ²=}ø§÷ÕïñÇúk­ÿésV}êŸ`•õ«ïøVØýúçæ8ÝiëÒ6ý•ºñÏ­Vl\½tÝÊŸ<ÿ.z®UmåóŸuD«çD· AÍ£7Es{F=×D³¯‰zº—®ëôñØÄõ,–‡Ù^þR{€±Ö_<„Ǿ!®b}ØÉš6Áp{Ç«±Ý¯ÿÆÕKVü:kÙ¯[ø´tÁ—¿/ž‘ þ ÿ“²â£ß?íˆ>Bµ£9£ÙWD³/Šz.,^nÆÜ~üÏþŸŒKüúS:)ëc‹åUêþD©=ÃÆ¸ž©ƹ!â=‚ImGfÞáÓïîÖ×^ÿ/|õˆ9O:¢%“¢ÙçG=gÿ}ìÆÏÿ¹àÅÖ3':¾~`÷~ój¨“Me»Yÿ]³_ß=ï»ÇÕÎ6~¶ÿüg[Í|È1£¡ÞðIâúïÔû?x„ÿüÇç÷'Ëû ñÌ–ë_™0»®ÿ™¸Ø^pýïÑì×ÿýÁÁ}ýïïÿ·Okúë¿YpЄ/b°þ;e¶}pÐÌ~;°ëú·çƒñþ³å1¿}Ï·Æ7ù-Äúd ¾o=hfãõßt˜Þ8²ÖßôŽ}Ü7ùc~`œXïwþ©ÙxýÛðÁõýdéN‡µ¶1n&ãæ7™wâj6^ÿv|pÀ?µ‰ýŒÀ«— þ±UvýV°ñú·áƒñ‰€üp®õÞ±_’ènbú À4±þïüS³ñú·ãƒó³(ωáû¸S–L͇;¶=ëõ#~p`“Ùuýïš5â6™]×ÿ.OÜË>8س®ÿ½Ïö¸ë¿A&6K†ëþTQ“Y2\ÿ»ð§ŠšÌ’äúízþ©¢&³d¸þwáOqã¿n5Ú»ÖÉpýïŸ*2Xc~j ×ÿ.ü©"ƒY?#ˆóæ¿t¬¡Ôü ‚Ñ’âúßù?Ud0ëõ¯ÿ;ùÝ~ýÝ96óŸ m/¸þo£»ô§Š ¶ƒ7ߌŸˆv¢7ºuK†ëþT‘Áô_zÄzwÙø©˜Òäõo¶ÿ»ð§Š ÿßßíõø£®ÿ]úSEšéÿn@þgEq?5ˆÆ~þÍ¢Á’øúß…?UÔd– ×ÿ.ü©¢&³d¸þwáO5™%Ãõßœ-®ÿælÉpý7ó÷ÿSööë¿™¿ÿßPõo¶Ö(ïÿ7Л¢Épýïâûÿô—)é]Kög9vð]ijd¸þwñýÿ,ú§lä÷|z4ø?%H†ëßÿ—¾ ¥o9O“®ü,i`×¾ú¯YR\ÿ»öþ¿þ[ã7¢M[öeù§õËm/¸þëý^Fý]~såoþ›ÿi@½,®ÿ]|ÿ?Ö–1]ÿKÄå¿«O{ôõ_OÛÅ÷ÿ­%µ>þèŸ+ZÿØY½,®ÿ]|ÿ¿~õן€ÍŸNÖË’áúoæïÿïõ×3ÿ¯¿þ›ùûÿ{ýõßœ-®ÿæl{Áõ¿§ÿýŸ=÷ó/j{úßÿÙs?ÿj.ÿ‡h×~ÿÚƒþýotþþO4Ö—M£õë@~SBÿýËòg=êm{ÿßÿ1|󸞕$¾Åü¥x7þ/‚½ÿïÿÈï :ù;•Ó¬_oÖ¯ç¸äßòÄX_TÜñ ³÷ÿýQÃ_ü·þýÿÿ#ÿ±;wp ,R²Qß*Ù¨³')Ù©Vã•lÕˆ€’r Þ¦d§æ+Ù©þyJvêf¯’²ýPRRRRRRRjjù{Ì«Fk§Mô;úÈûÖk*§hïM¯ `Ô1±2K¼S>¯˜ô(5 õ˜ú—Lïó^Jo­þÑmÓ‡,N0çá>Ï·’‡âgÍY‘Òîù¶91¶ô—íï™ï]*î1?¬ÕjJï Rÿßæ´m‡v±£÷šs0T1½Ïó)2ØhÊ5Ř¥Ô0º­¬ÇVÿ¾U¬þ¬C?4aå3iTi÷ÕbXeuZýßO¹%ÈêñFôó¡m¸þ÷;B—UÚ}9†…¦FµúrK-¯ÿǰ Ñ3álÒó n´³ Ã=h¿R‰?¬l#õ¿•×ÿ’--†©ïqŸºi/K9cYk>¤´ûÒUÚ}˜2´Î1ÊI^ê\îl9ªNÈÑo¶ì#))íÑj5.ªd£l¿’\­F†”l”í/À’]½¼J6ªE·õJ6*ÞwΕ”””””öt•—WÛJKòJŠÜ¶'“„Rõo>õŸùõÍJ¶§‰ë_ß—ØTöôôE{¥âÕßÑÌÌîÛ¿Q,qýíÎnï·Äõ¯Ó-bÚ[bZ,£%ŽãÅÖ†"v—ªQ,qý#ÌÂa²a;lÉë‹–06fü˜º 1+,Žå¶_8œŒõ×jÆv¼Ö~jå±°h„YŸ<Çì /Ãp Ƀ-¶»Tb‰ë µ.´ƒAÞÒÚ!ýH3:¦µ‚ü(ÈF$'ÝØ„ ›ÁÖ ÒÖw|2{ %®nÕÕ51¬º¦šV“69¬®a»êj6…±–ØW›âðN…‡•gÛ]ªF±Äõ¯¢VY%¬ÒÐ’ÌF‡*™GÚ{ݺ½—&VZœ¡­fw©Å׿‚Y9ÙlÒÍðz¼Û»[Ùˆ¶e”k=d[®ýÐÞ­ïvÓÜÙXy…dåb#úË [:¡ÜîR5Š%® ,øAcó;ݺMÙ\FÙ.@÷Cg™£ò]Ùæ)Ú\yN ˆYZ#À'³aŒôÚ]ªF±Äõ/)--)46NîÚuò&z@úKJ6¡gìØ®äÎ0vhƒz²~Ò3_š»q²èžWÂŽÇÎ/%V2¬CsÚ$|ºNÞˆÕJKµ»KÕ(–¸þÛe[?©«üðÓeÒú ow!»íÛçŽqˆöë'±þíthÌ\ôŽyÚìí®hS‡1óx=Ún;éØ¾Î¢=Ûí.U£Xâúù‰ÈOÑš·ºtyk-=¤¶–÷h5E܇÷k³gvtyk¶©_›â=ÛOFÏÖv£fk1 Ï2£fó»KÕ(–¸þ>b…0_¡Ï·ú­Îß\­’nô¼‰z¢Î]Þ\~âóÖjvÖ‰ç¬QŽ.oΦýou†¡s÷ÎÒâ̾×qïìYØÌÂ:è§«ø4?é!Á}…v—ªQ,qýóe[õFçÎo¬ŠÙcjÈž3ïuè=8pÜ;“Me-vàà3tn¬ÇîR5Š%®¿×ëÍÍõæz‰å®|­“á‘¡Ók3^ëÔ鵕¹¹d 8цÁsä  ý¹r‘3š„Ó¼ìXž®uÓYv—ªQ,qýsr<9­¡š~Ì6ž}˜ØòW:uze¹6F]ÍÆCÏ7w;ˆ¿Ç#–ñÈN¬×îR5Š%®–n™„LÚʤ‡Æ-†ýñòUW½üG¦Þa1}¯F8F|%â˘ÌÎ25š%®†;Ãívgd ­•¡¸5ãd@sbZŸ¡¹ÓÉÍŽõén©™! ˆ2ì.U£Xâú§Ã\.W:Û³–v õ‹—&1F{´^}²îJ6bºÑ\b]—Øew©Å×?--Í™Óbw;å1§“8-†¶žNSØ9µÍì.U£Xâúo5Yª´KåGÒ`êVs§q®O•í¸s®ÕGÕ¿iê¯_üìß¡ÎU?M\ÿyPõo€úÓ‹\üqŒžm™¨©þ¾´¹£â=ÿ¢W=þ7\ýAªþªþaªþöšª¿½¦êo¯©úÛk{Jý!ÇÀ¢FP±R=ÕñÝhƒ«ÓT¥úêìIJvªÕx%[5" d£ƒ·5‚|JõÕÀ|%;Õ?¯áu³WIiϺþ÷¾ú+))))))í@~%;ÕïÿÛ~R{ìþ"Ùu[™’j1¬²Áå¸U©ÞT²Q-†+Ù©–£ê””’V­ÆE\¶Ÿ”’R=Õjd¨ÁåQª¯åeUX©¾êåU²Q-º­op9º®Sª§lÿ¶’’’’’’’RËöÿ€&Ée÷?ULvs(³Õì¾ý“Ýê`‘:«ELû˜.©­ïbO‰XýX—¶9)Áâ|Øâ‰}˜Ðoë<̾‘ø±#¢Fñ+ÆéGÂa Ùhš…a6*ŽYKöÒwÝÕ¸k°½—÷‡E‡Å‚bѹžü!pͱ˜Ì&Ø™[¼Ý¿˜‡Òh[ïÑ‚“ÀŽ1ób„-.Ö£m£ZÊ]'m Yo7Y±©iõ>1FLŠ¥c=P±¼·ôÆ KŒ_Ö£gù‹4[óV—.o­õk‡h;Fa¨h­ÖI˜_‘_ó\£úEçZôÞç=ÛïgS×ÒYþÙ£ùÂb [×O|°.ó”gùÅZzJr»H[‡L¡‘ôlE‹Ÿƒ_sö[ÆäÙ,ç;ùP:ðˤJ™rñëñ }…Ô|ßê7;wysu¡Ïç#mÔaš«ßêܲ§¯£Z'qÓ¦âùÖjÉŸÆ÷ÓvÔÙG¦wvÜ;«Pë3Ù¾µšúÓ!D @f½ÅÖ"n>ž'õçž>-3ºmú I²,¨/?yŸ^Þ!| Å$‘ù¤é¢|º/k[+ÌÊG¢äǰ™÷:÷Î$­UotÖ[ßXerÃò(këAÌf e™ÂÇ›xÑ=ÏØÃC§×Væzs‰€7wåkØÀȹ¤Ï‹â£âÐË:Û8‡6X@¶›Ì:„率Ä:n–¢–ùŠ5ÝâDôdE:|í HÏ,CïÌp‹üõs•NŒUHšî–šò‹ÄIÆ®p:ÌE7.Ú [—Ë¥ï\Ì…ºi-mÀ¥Msh¯ˆ'|ÙXº4ä2ì¤4 KOBïN—|ÙM‚¥*%ÂóEä8®tžºˆ%é'*M–S”¦»Œ§$rÔú]z`—<ÙZá4˜SløÖI7NvÌwiÒ±3Í8(y[Í)-¡O’¢šgZ#9MNã4§©#N*±»ås×s5§kjc1§ÓÔ#v¦jįpêÖX–*6b'µR ž©rOêVã±É×Ò% ÆZÇàšºƒ±–´.œjO•#ÇŽ&ÆSS U0D>ƒØ0¥„MâOç•5¶Ùþ¤$—}ß¼PFÌö/@*)))))))5±žž¾HÉFÙýú7Ù-µLIIIIIIIIIIIIIIIIIIIIIIII©!¥Ì^³ýÐ$—í_PRRRRRJBÙþ@’\v¿þMv³ý¨¤¤¤¤¤¤¤¤¤¤¤”$²ýˆ$—Ý¿+S¦L™2eIlYÓzð¿HÖcZÖNù×™U?Çd³ z—L˜°dÇT%Ô&8ŒE×Ê;m.ì87†µþú‡>M¾›ÀŸÎÚ'kêÙaJ{²-™ ׂ{¢ó4=þЪŠ)Kèý‰DÕË+×?†'_ݲ–ž¦´½p’;|x‰sýgÉíx=1û Ï&–ÄìIŠG<íÂkú/‘žUvXÿÑâõìEÖC~䱄\1ž ²âõè!Òƒy‚úËTÌ,={uýO“–“YÓëÏ%ÖªŠç•Ï¿fÏ,s ±Ÿ»µ {±-1¿ÂRÖ&]þªúÊ”)S¦L™n¶šä²ý I.ÇÀb%ÕijTÉF=IÉNµ¯d«F”l”c°OÉN ÌW²S7{•”””ìQÿ<%%%%%%¥&—_I)ye÷É®ÛÊ”ìÔ­•JvjXPÉFµ®d§ZŽªSRRRRJB9FD”ìÔ°°’êåU²S]×)Ù(Û¿€­¤¤¤¤¤¤¤ÔIJý? IrÙýï_“ÝÊl5»oÿd·ººH]\‹Hƒi{JÄêǺ´}ÌI ç×HìÄ~;XÇàaöÄ5е@ÜÌ$—H8BÀmðcÖŠDxhê½a©;„ÅÆØËûâCž¡¡>Ò0ŸÌW”3K±eµ‰¼;֘Ƽ¹¿”XDšdžÓfKéÉ— Ës‚8®eó†¼ 7±\Œýam“ÂrhÖ£ýh²D"½¼/,…ÔŽwB˜G7¸ˆáp-OÏ'Î*±\$°|–RƱ »Â¡`ˆX0DKÛ„‚¬/ÄȠ棻©W1‡ Á¶!C¬ ˜²®d!‚|5iÕ¥ aáØD–¼˜ªJ«‰ÔŒ§ftÒM/ŠtJ" qîlO-Ò–Ç©pfÕ5ÕhÓëݺU ±1ùh!¸ V­O#&÷H³õu«y‚ioÈÔO©š¯\-Γç$/#elŠ#U¢Zk,NMMtjRœjÃhŒ WÉV©I?`ÛÊ£±­²ªRŸ&¹›Z¨8Áø2ÒrúôJ‹¯µYY•0Ñʘ‘ôÑJã¡%tܘF_R «»¥Âåtƒ]yE9o³#a80vh³Äìòr†a˜–³p|[.zØ^__Ÿ*úË ‹Jùñ¼h&åf—r=8CcЊçfÈÞtTÎ&Ès Ù–‹ÄâW8PV ” *r ½|v¸õaãZ³Ð—I®tf@>á|r@r ”âÓx)Ï@™? ~ÄX@ä©§[fž#2³ØzýÔÊx0¶8/ ¯a€Ÿ—6ž Â%%¥Pi©·ÒÖ­µJ´ÍEkÍRmí¥Í‡”ð@4û¡C"¨fzieº ¤'H—i²5DÎ%béÙ­”MÕϵÔ0Ç2•§&¥\ZÊS,Ì•gÅýõ2&¬ðöâíD+›»·›½‹­}ÅqÚrtë4Þ.–V5Í.æYY¢›šV8éÇ P¼Ý9?ƒ{¼TM±ãW¸È_T¤a0Þá÷ó4à‡Q±ãÆ©~æK{ýE¢áר4¿´€ŸÏ•£ÉiI!ýE~ÙI>6åj3äá7—×`‡Ò_ŽPdH\ÎÅ/Ç—ÝŒ³‹Š|……>ŸR¨›Oƒn5ù4Ñ>ŸwKÞZ WÈBòHb‚ˆÉgû¤-›ÂÝh ±O‰vúDxž¹H¢gá3-$Ÿ ÂR“xD>æ“óԓ㾬­‡Ö+Fsõ‰3‰Sá|e¶Znn®7—l¼^ÒÐäÕ½ÚéfC´Cí¡;êÃûs¥¹ú š—ÕÖð²®\‰­Èh"^ÖçežR$–œ¾L®ä—+y{yš<•\qªb’±“/-VYp÷\æ*%-* ¹&ªpŽfmãÁz”£ïµ†GÛh?|Ã{™‹‡OæYûÈ1I’Ÿ”ˆÇÖ—ò1-šC“gǾ¼1 ƒ¹Z<1Úé<ÄÇp$Ÿ·ù¤õE ÎÊÌ‚im—©í2Y3“èfé0Žf&<´É dZ<3M™,¤!ïÌY[æ[ÒÈŒ{úˆ5±LŒi†s1îV8C7w†ÛíÆÎ­‰vdÐÚCû´cÓÚÈ n7í¥“Y‡ðÏà½4”X‡¡gÈŽ¼-ܬÏí‘Yò,žY†ÞIÍÐúY‡8Q7[ŒOwKMùŒEâ$ÙâRH©Rq*ìr¥“ŸtAºKk¹È€‹tiÇlÜ%è¾l,]rvÒ -æ’ÇES¡IÐ r2,8_DŽãJç©‹XÒ˜~¢Òd9EiºËxJ"G­ß¥vÉ“ùùS7±‹[á4gšfl—&;ÓŒƒNí'Ž9†(¬-E5Ï´Frš:ÆiNSGœTbw;å1‘«9]S‹9¦±3UC:}§¾ˆSòŠ]á­°Ô­ÜRM{ÚN•{R·M¾–.i0Ö:×ÔDˆµ¤uáTóxª9v41žšj¨‚© òÄ®€)¥óŒ{»?ÿOv³ý HI.û¾y¡Œ˜í_€TRRRRRRRjbÙþ0%¹ì~ý›ì–Z¦¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤ÔRf¯Ùþh’Ëö/()))))%¡lÿ I.»_ÿ&»Ù~TRRRRRRRRRRRJÙþD’Ëîß¿•)S¦L™2eÊ”)S¦L™2eÊ”)S¦L™2eÊ”)S¶÷˜í€&¹lÿ@’Ë1°¸5¨P©þê45Ú°êø®ÒNèìIJvªÕøV‹1uJõW«%åìS²Só•ìÔÍÞV¿¥ª¿ª2«ž’’Rƒ©¯ÒÎÈöÛKIÉNù•”’W þù‹ÒNé¶²ÖÀr¥Ð­•JvjXPÉFµÞÀr +Õ_-GÕ5¬#"JõWƒ×_III©ž²ý0ÙÕðÏéö¿¨Û“ÔËÛÀêž­´꺮aÕBigdû°•”””””””šX¶ÿ4I.»ÿýk²›C™­f÷íŸìV©ã‘vz¯l«ëÒö1'ÅŽd¶¸Db&ôÛÁ:³o$~lm(nIâf&»$¬p„X˜¡ïX3,õq‡°Ø{yXtÈ3ô ÔGæ“ùŠz}=¾¬6‘w‡Ãzx‘sØ7÷—‹H³ÂâØpÚl)=9ã’ayNXeÑS›¼¬®…éfaÃÎÐÖva1I;Ë.ìG“%éå}a)¤v¼ƒÂ<ºÁE‡kyzÖ8qV‰å"y„å³”2Ž] 1Ï0š¸Â¡Püƒ!ÝjGA­[kYÓœ‚Ì•6Cú,Ú#õ†„wnØjÒª!=KA,±‰Á`HÒ¥ÕDjAétc‚âìy¦t*?w¶§ é KÙi U Ó°T¸¦¦º†YµÞdÕ|@lL>ÕZ_µ~DÆÅ4br4»Z¬Kûdj¤½!Sv<¥j¾2 @Vá9ÉËH›âðNž?_³Úœ‡”‰ˆSm5œ”×Ð-ŸYUUe…îX+®UVUVrß*ÉÝÜÐBÅ Æ—‘–Ó§WZ|­Íʪ„‰VÆŒ¤V-¡ãÆ4ú’RXÝ+­ÑU¸¢¼¼¢¼BŒ¤‹“My9Ã0Ì©—¾-=lÏfñ=Ÿ&M1†•Xååf—r=P¹XÜ´"ƹ²7•³ òC¶å"1Ãråb}뢦 —i Û@€´´-Ýð!ÒKº˜ø@ Àç–I®tf@>á|r@r ”âÓx_Z¸r?þ#Æ"O=Ý2󑑘ÅÖ è§Vƃ±Åyaت¬Vì´¤Bðâñtô¥bV¸¤´VZJ7D%R³´”ŒÐ^Ú¤üHsfƒZöC‡DPÍô%"&[ˆ*eñø2,‚Xƒ/%2.‘bžtRÉKJÔ4•§&¥\ZÊS,Ì•gÅýKôüøLZÎ6a…‹·KVlØ:cùÅp]ÅÖi¼¡bsŸ8,¦[KÔbSÓê'ýXŠÙ˜ó3¸ÇKÕÛ}%_óà. +œ¯ÌVóæz‰@.iåj{.ÚCwÔ‡÷çJ3ré¬\IŒ’#ÍØ8s¡~ü@s¢ÑéTODbÉéËäJ~¹’·—§ÉSÉe~úyy|i±ºÈ‚»ç2W)iQÉ•Ÿ¿WŸÊ¢ójÄ«p5AÛh?|Ã{™‹'Ç£»³†µÌ“D`á!ùé‡-/åcZTkŠ=|yc@=sµ:xb´=ÓyˆáH>oóIë‹zŒ'¢Ÿ‘µÂ™Y™Y&³tG3ZŽä2-ž™¦ŽLÒ‡w²`™1æ[ÒÈŒ{úˆ5±LŒi†s1îåI™ºk&;JTaw†;#ÃMÑÚü˜:é¡›ºhM7í¥“Y‡ðÏà½4íÐ&¸Ýzí8Cväm1àf}n·ˆLóäôÌ2ôNšh†ÖÍ:ĉºÙb|º[jÊg,'É—BJ•’ªåÅâEŠWáôtWºË•NŒl].é@Ûk½l,]rvÒ NKwÉã¢)¸\\´W ¨Ïv¹ä8.­_t¸ä¥]âD¤ eWº›î2ž’ÈQëwé]òd~þÔMì\úÂé"º‹E‰_agšfN¶u²V s:uG}’S?0Ï´Frš:ÆiNSGœTbw;å1‘«9]S‹9¦±3UC:}§¾ˆSò2'î”SˆSá­°TülÕØJÇRK´å.iÐ:'Õ蚺ƒ±–´.œjO•#ÇŽ&ÆSSåìä¦qáÔ80¥cžuNü Ûýù²›í_@JrÙ÷Í eÄlÿ¤’’’’’’’RËöÿ€)Ée÷ëßd·Ô2%%%%%%%%%%%%%%%%%%%%%%%%¥†”2{Íö@“\¶@IIIII) eû?IrÙýú7ÙÍö; ’’’’’’’’’’’R’Èö ’\vÿþ­L™2eÊ”)S¦L™2eÊ”)S¦L™2eÊ”)S¦L™²½Çlÿ4Éeû’\ŽA…J6ªã»Q%uö$%;ÕbL’j5" d£ƒ}Jvj`¾’ê—£¤¤¤dúç))%¯ú*Ù*Û/%%;åWRJ^ ,V²UåJvêÖJ%;5,¨d«ÂJvjDDÉFµU§¤¤¤d‹lLvÙÿ,¹Õ=[ÉFµèºNÉFÙþl%%%%%%%¥&–íÿM’ËîÿšìæPf«Ù}û'»Õ-"mé.º´}¤.†Åì4[\"±úí`ƒ‡Ù7?¶6‰·@ÜÌd˺qÃY*Ž“·‘pXlŒ½¼?,:äzê# óÉtT¢¯Ç—Õ&òîpXÁ"ay±ˆ%±ˆ4+,Žå¶”žœqɰ<',‹²è)‡M^ùÔ ™Æ¬p­ÉškÐVm8,»°Mµa1Q sïpX ©Ëë™'r×°Ë ®åéYãÄY%–‹ä–ÏRÊ8VvR £aã&þéÉgÃ* a!mÒ,"-º%{Òd#Á =†¤ÞðÒvD=EP/D÷bŽM Crˆ~(­&RãXdƒ“nlB/â™Ò©üÜÙžZ(¤/,f§4T%dL#(¹òóKPáͪõM5Ýs«Öúªõ#2Ϋ‰É=ÒìêÞ¤}25ҞϋaÕ<¥j¾2 @Vá9ÉËH›âðNž?_³Úœ‡”‰ˆSm5œ”×Ðm=³x®²XeUe%kèÛJÍÕ:_ŒI{ÃôJ‹¯µYiˆ?F$}´Òxh 7¦Ñ—”Âê^i&¥[™0q–ûVÀÊ5ÑMy9£BXy?¤^ú¶\ô°=›Å÷|š4ÅVvbi”—›]Êuô@åbqCP‘‹!„”½é¨œMç²-‰–+ë[-×NØœEœ —••Êè&PКÚa€ Ì¡¬Lr%¾¼Áè,-›e†…ø4â¬øÒ•ûñ1yê閙爌Ä,¶^@?µ2Œ- ‡,õ§%‚Ž _=sQˆŸ]¢ —ÂJJ€¶%òS*Ž@I ,-aÃ%ZKs¦s©éJDL:Ì•²x|A¬Á—*)K—Èn¥l*_‹yI‰š¦òÔ¤”KKyŠ¥Â¹ò¬¸‰žŸ)BËÙJ™”ÊÇ¥¬˜ *¼V¼]ß2+ŽÓ–ºŠ­ÓxCÅæ>qXL·–¨Å¦¦ÕCøÄ1(6fcÎÏà/USlóh± VåŠ-¾±+\äÇÌÏá"zà'[?w¡Zï°i|÷ó ~½[?’Bú‹ü²“£gEc™Æ yøÁå5Ø¡tà—#—sñËñe7ãl^3¿q@«š_:¥Ø.俣[bÚŽl螎i=L>Þg˜ZÈ#ên4›È'±c¶mêãtÏÂgZÈW(›O÷-“xD>æ“óԓ㾬­‡öé+ùø <˜Ïw•ëùä‚%ªp¾2[ÍëÍ%Fv^lÈiÐ6§ZŸæÊFÉ‘flœ¹P?~ 9Ñèt*‹'"y½Þ\Ã2¹’_®äíåiòTr™kñ z'_Z¬.²àî¹ÌUJZT@råçïÕ§²è¼^S&bb çääx<9Ôi}QñDô3òääèIyô9ÂÅ”E–Õ23ZŽ2¥¾L‹g¦©#“…4Äá,XfŒù–4L13¶¦#–‰1Íp.ƽ<)SwÍdG–pqs3%˜•‘‘áÎp»Ý¬‘¡µ´ rìfÌÜ6…¸i·[¡gÈŽ¼-ܬÏ푵HÏ,C契fèaݬƒ/ÂŽõén©)Ÿ±H@œ$[\ )Λ¯Hçˆbñ"±Î )ÓœXNOw¹Ò±I×¶d£¥ëG¼“wSo6 ËÝé’/q¹¸h¯PŸírÉq\Z¿èpÉK»x&.)CÙ•.Á¦»Œ§$rÔú]z`—<™Ÿ?u;—¾pºˆîbQ\bŽžŽX3A…Ó$s:µ­Ü#; CfWÑã´;¥Cc‡5@‚n§<&r5§kjc1§ÓÔ#vNã9I§ïÔqJ^æÄr |¦µNú – oÕ,u«n©Ö.i0Õ쇽Á5uÌÓc/œjO•#ÇŽ&ÆSSåìä¦qáÔ­Ö³‰‘RŒyÖ9©<ò±ãËíþü?ÙÍö/ %¹lûâ…2Ílÿ¤’’’’’’’RËöÿ€)Ée÷ëßd·Ô2%%%%%%%%%%%%%%%%%%%%%%%%¥†”2{Íö@“\¶@IIIII) eû?IrÙýú7ÙÍö; ’’’’’’’’’’’R’Èö ’\vÿþ­L™2eÊ”)S¦L™2eÊ”)S¦L™2eÊ”)S¦L™²½Çlÿ4Éeû’\ŽA… ¬E’ЇE޾TydÛ³@käi j==½Žî¹DhÃÒßÝïè´ÑtÏíønëÓTƒÐsÅÛ†m<µݬ“_$:ä±h›1a$ïh¿Bd~ö¤Öéo0ɇ4í_1òáQÏ„œ©ö¹/9–;:°â·S×°j5žÄt<A[¡£B-G[¬h5"ÐbX¥ch™ãVm{[Yϰb¦ÁÛÈ=ýýì2Ct³×Ñu“££™#N£ë®mDwµ¸Ãßòv丵À10Ÿ¨R¢ê—CÔ'jÑËí¸Js\›J„Ò¾ôoÇß"sÇ`_à ‰™D“´$Æsã ÑT‘'„Ë»ãj&¤}ÁoD‡}Ìν%ª'³§õMÙw¿]·­vgŸýï~)«u-çö+HÎg-pœ6“dN‹Ð·~*Œ´C9î¢×ô=>¬àþù£zåÝÝ#÷Ž«sïê–;ô*È;¸ä¹åB¢~çg÷:Ã}Íñëû]T’¶É“´iæ'-rœò¥ãÀ'%gr1xxÎzm zÛÞx¸ä³I¥_N)þðÅ¢7ò¿4ÎÿìHßÓwûž¸³ðÑ¡…)|hPÁø[òÇõÉy]î°NÙý/Xßýä{žŸç±šŸ³²3gÙÊÊvô$™ûžQúÍÔÀÌ‹§¿²ííÇŠ^ïq¬ïÙ‘…O@ò¾Çï(œx{á„Aù÷Ý”7ê†Ü»ºæ ºtãõg̸ð0rDæ2?a%Ë\Ü»JxN”Óîå%Ò2/œ09—|òÆöwŸ.zõÿó£|O/|dHÁƒƒ î»9lß¼‘=óF^O®Ÿa¼ƒ¯È¾å¢7œ5ó’#Hæ—l$¢™ã:oÚÌ î»iÛÛn{ç ¤]½zé?¨`l¿¼‘½r‡wÏÚÅ{ÛÞA—¡¿ü§ï<ýÛgõ;Sïs¾»âØØ™ÓW!š³”9î•E/+zõ~T["Òˆ§38ˆÕ3®<LÎÍí½·]ž;¤cîÐŽ¹C:ä ¹7½ÅËÜÑìm­y‚Ìëêê"‘º:mGö´m²˜Æa‹K$öaB?ë: 2G¾‘pD³pXkaÇzH‡>&ÃÜGæ“é¨DÌfÞaÍ3Ì»Ãa=|D‹ðé 2¯­­ ã[²aæ?šjüWæÞt/ùÈa,¹kXŽe Mësd ‰°! é9½Ì%HÇCÔ‡yj=Ì)(¢ˆC=› †ä!ýPZ‡ d^SS]ªÉ–X5~Øq51¹G;’\Y«º¦Æ@´çób ¦-OW¦È*Zg‚Ì«ªª*«˜™•D¢Óh•Ì«RŸ¦O¯´øZ›•ÆñÉ6Fæø5䨑y±rÛ–ëÛrÑÃöÔ­‚ïù4iŠn密£Ü襯ÊÐ÷ò™—• Œ[€oeÞ`Ú¼©´NÉ1 ÏS5í0à!¸÷ã?bŒ/€V‚ÌKJKKˆa[ZªµKÙO‰6Äö¥ÔJJi_)› —°@¥,‹Ã#ˆ5øR%%|+/Ä<é:„™o'V¼Ýb¤«¸Ø2ÊÛ*6÷‰ÃbºµD-65­‡$ÈÜ_ä/*òÊ`~M¼á×ÈV Šq?Ÿà×»õ#)¤¿È/;‰0Eb:eÃq‚Ì}>_!ŒlH‹ËÇû ÅŽøØˆææó‰–Ä}>ÞçÓÇé$›ì3-ÄZÔdžß¼-Aæ¹¹^o.5m#/éñj-­ƒg.ÔhN¹^ÖçežR$¯×›kX&WòË•¼é ¯H%Aæ999íG3¶Óšhñðüô‡ÎñHý >ÃCB±c¶ñ˜ê1< 2Ï‚effÉf=Ê”ú2-ž™¦ŽLÒ‡w²`™1æ[Ò@G‚Ì3Üø!Êp»ÉV37ÅÍÚt„8º©Ñvœ!;ò¶p³>·[DÖD ¶¬›-Ä¢»Ù„™§Ã\®tfR.Úã’ÇESq¹¸h¯PŸírÉq\Z¿èpÉK»x& AæÎ´´4‚fN½)zÌæ4u:Óœ¦k€ÝNyÌIö 2ßj¶ÔT½)ö©1bè¶FŠ×“#(kêLy“þ¿K/sÛß ÚéwŠxæv¾%Q?‹—ùî¼Ë×ôR™«ÌUæÍYræ¶ÿ¡úwCÍüñ¼ž™7Áù—_ÞY•ücSõ’õ5Ð/k«¯®XøwÕ‚U•Ð+«çýY9{y…;?ج2GÚ9þºôüºÍ9ä õáµ®È*gdeZ-´|kxÙ¦ðÏkC‹þ*oV™£ÚH;ÍÞAÂ4ç¿ÒÂË·„—o"BÚ¿®'™ã†hV™ã"¡Õ^ã #aª•[j‘íOk#BÈüçÕÍ«æ{næ¸K’ ;C»°·Ö !ÛÅkÂТ5µ´QßÌk¢ÌñH‚jÓ‚÷ºãEZs¤„!ô,Ð’‡š[æxôCª«Ò"H’ê·MµÐkkEM¾¾÷Ð&ÏÜ”¼hãšgæx®×¶œ°H› ÌßÍëj™¿²Š÷Ï*<×à‰Rè÷-ä²Y¼9üýºZ¡¹‡æ­¬lV™÷{º—iϕ˶èBæ 6ÍÛž½¦vöß¡ïW6¯ë|ÎÏ2Hþ·äy“ —7rþqC-„K™÷WpîŠæuû[Å‚¿ƒ‹ÖÖ’çw®EëȃÉ÷šp…#íY+«ç,/kV™»¼5 VþU†±B8Äý‘  ª´Þªúgžè—›¬ž™Ûþ+ç®üzÜû»¿Ê\ež4™Ûþ©Ä?§ˆ—¹ÝÞ±mï¾ZlOFeÞÌ¥2W™«Ì›³šçoõÍü*·ãØOšÏ³¿Ê¼éMeÞô¦2ozS™7½©Ì›ÞTæMo*󦷤ȼãÿÙ{(·®óL3é>ñdÚg2íÄ39§­N{޳t’™I'Ι¸iY5d&ÛÉôôØ­$8½H&EIN*#Ƕ–ØL,/)‰²-uIi«µX6MQ²(QRQ»Dq·b€*U" ¨ ¨…U…BsßÝÞ½o à𾯾zïÞÿþ÷¿ÿýÞÅêáN\†Ìë€XeNþççªÿU™Wãß:43OüÒÑŸýí3ïÞ4õާÃüo®îkÊÅEû*ñ…ï>9?_ðüKÅpò8³ëPæöÙoü³\ê‡åòÛOÿS¢\~«¼r{¹øõòů”ç¾XžýÛrþš‘7>Z.?úàß$B‡ìëqÆèé+÷vw÷k»¨²­•KOŸé¦Ë žà•PGýW¦óÌÌT>?19yabü|.;2rv yúÐßg¾–xó¿®/—ÓOmM”KÊs7” ×—§7•'>UÎýE9û§—FÿÓäà§w]®¿v laËẵ›þ«]ÿ£çRgŽž9ñFÿñ×N¿õêñC޾¾?L†§¿ò3Ëó?}âå…Ÿ”'>Á4/_øåÑ”3P>ûåÌÿ•?ú¡¶øôg‚°5¯ËŽ8ÎZ×6et®±®¿ð =vðJ \ÿÇõ½úü_Ü÷ð ûb<ðÔ}é™G#ôß÷Oïxõ{ÿþñ›åÂ÷˜ÚåsW”Ï~ |öw˙ߙ:ö[é=¿üÓú;¯õ¯óÌ¢5l=½¦¶†c þê4ÖÝÓõ@pÏbt Zÿ?yñ“ÚOfèµïÿóOnL”§·—Ïþïå̯O½ùžã?øžúÇþØ ‰‡?}æiQP­ÿÚðüÝÿ뾘Xøèñïÿ‹'þágû»Ä£O¸íªõ_3ØþŸOüàúö–]£½Öç¡íÖ?íˆuÓÿ¾þoýî>ƯÞõã·ÿ„ñ†[c¼þ+Q§VOý[vý3ñíLÿ›nßS׌V˜¬]ŸjX,]ZZ^aúdæiAÖÿ×¾ó”Ye‡`yEê¯Ð;"TýŸ´«BÖÿ-Û­.ô_\^™[*MÍ-Ë_Ë÷ºyþþmÌ!ˆÃú¿eÛn¶=tdøÍÃï:ðêÐ3/=ñÂОúáóCSK[¾ÜÐ-ð2õ°Ðu}døõ½²éTáb\,Ö?×_~¤íʥ咳ø/Wf—Jù…ÒäÅÒ5_þ/ݼW2•¶>ƒÛ K†g¥Ë¡°þ£· 7ßîèà•Tß+©ç^N>ýbò‰¾äîç’>“|dzb~yóªô÷_Ïs„÷Rñ©#ëÿ‹_w¾Çó¥×’/¾–|þ®ÿGÿG˜þϦrŽþ÷t }›Æ¸ˆ*‹â·”¿âš7Ñë¿"¾ðµGØ–‰ÿ«Ég_N>õBòñ¾äžM>üÌàCûScsË›¿Ç’Q½;`=‡¢§§Ç¼D]å“uÖÿõ·|Ÿm÷¿”|æ¥ä¾“{ÅÉgÿàƒû|:u~¶¸é‹!ú'<'âú¿õ@Ùó,üžC â°þ¯»yÛ>ùbš3µ§/õãçSìO=øLêûϤ2…âÕÿÝgŠ8¬ÿÏÞà<½f犂c³Å ³Åó3ÅÑBñìôÒàäâUÿªÜâ°þÙË›-7Ý·å¦^É{¯¹±—7}ùÞ«¿tOð럦 ë¿•Áõèìõßʨ£þ-‹–¿þßáë¿å¯ÿwþú×å–¼þßáëM×ÿ?ªœ¿¼ª¹°à¿#+qXÿk¸þoü‰ëT»«º°³êë?¾þ×rý¿Oié\ãì   »··Gß]m_ p[.†Æbý¯éú¿qË´a‹+ÏžwÇüwD'Œ7ì°þ}ý_ÿß@à¶Þ;uËAúÝÇ+‡õ¿Öëÿž{Îýo´†þ-{þ¯ÇõÃâ À¯¿çxÅ{ý×~ý?ä?b¼oø<­ÿˆýúoùëÿ¾þ[þú‡¯ÿ–¿þßáë¿•áÜÿÿï:|ý·2ê¨ˢůÿwüúoñëÿqXÿºÜ‚×ÿ;~ý·øýÿ¿þ[üþÿŽ_ÿõ¼ÿß1!øò¾¾Da¿%à}¿ ‹õ_Çûÿõ÷^Þÿßû°þ›zÿÈúµh{ÈûqXÿu¾ÿµúG¾_ÐÖë¿JÔùþuj ¸øø@‘ïÄaý×÷þmŽº¼oPÄûqXÿ-~ý¿ã׋_ÿïøõßò×ÿqÿ?Úúÿ_:­³þÝ™xúŸOmM<ù•ÄCmþ©nÕ£uÖÿóßL/NŠòž› óÖÿ«Û/|#q`û/hKõ_Í ÉMÆõ¯íc<Þ•8üàoŸøÉ‡3‡¿zqúX©t¾\.”Ël;T.ÏîþrÐÇØZª°A;Wÿ°«ø[·1…g–^/\øáù“ÿ0üÚæáW?“|ñ¯Êevà.<ö÷Aú׬aGë_*-¯¬H²r©T\¸8¦ÿKÛþÛ—vü|ú回ûFb~ò¥\ò‹Ó#ÿ¸˜¿³\ì-/î¸pü3Ks–˃ÞP…þòÿ#Äßøòá¡îR–öðû–ÅåóBº5ܸß÷aÅîÇmÔð( ÄÚõ_X˜çœc¼xq®ûÜ`˜þÏó¿)Îd§šý·2…SåòÎòroyiGyá[å‹ÿXž¿iøÍ¿,—ßz¨§ÒùǼYÿ_мÞ(.›¹wòût×ÕúÑ=>‹qÐúzÖúžØÚõoÒÇø‡ß u¿·8$}AŠu÷>Ëè–a1þ!`íX»þMúÿFé/”7>[)l/êsÖ®ó>Æ¿ýõ)ìü#+ž–9LÀ÷ôø>€©f¬]ÿ&}Œ¿ÿõg_¸þÖé"âùW‡6dô¼W`qß[_û«*’×ÿýÿÕ®JßÿÄ5$ÿ6öcüW©¿ïc › ª÷_:ìcükFÞÿje´‚þq~ã ô¯­|Íhý;à6þšÑ úW‰V¾¿f´‚þpÍhý«D+߯_3ZAÿøÿšÑ úW‰VþÿšÑ úwÀÇø×ŒVпJ´òÇø×ŒVп>Æ¿f´‚þU¢•?Æ¿f´‚þð1>5£î«­|Íhý;àc|jF+èg´‚þ1¿þO®•èÔëÿäúÇüú?¹þU¢S¯ÿ“ëßã_3ZAÿ*ÑÊã_3ZAÿøÿšÑ úW‰VþÿšÑ úwÀÇø×ŒVпJ´òÇø×ŒVп>Æ¿f´‚þU¢•?Æ¿f´‚þ±¿þßïuîõÿöxÿ«s¯ÿ·ÇúïH´‚þ±¿þßë¿s¯ÿ·ÇúïÜëÿm³þu¹n×ÿ›r‘3­ ?Íõÿ°kqÍE+è_%rýúS]ÿ÷¬ý®Xãïù7Ñ úW‰:_ÿ÷l½ŸÔÌ÷¿Zbý7ûú¿õa†æ¿çßD+è_%êý_mûôòoúÓA+èOyýßxtèGI3ÿA¯ô¯u¾þï}ý©ž€Ï¿‰VÐ×ÿÛbýãúƒ€ëÿm±þ;­ ?®ÿ·ÅúÇõÿ×ÿÛeýërgÝÿßë¿S?ÿ‡\ÿ*Ñ©ŸÿC®'|o­‡µô¯­ü5¾´bÜj` Æ\?³ss…ÂD~jtz"¶Æ¨H-UC¨aêíüxècú×ППí¢‹¼°©; ?- ?- ?- ?- ?-ê ÿ¡­]][BÿšPƒþ]î%ê{ ÿÚP‹þZíݬ ý×€5éŸÝµ™=¸þÛ7ɇĿÝê¤ä{Œ„û¬Û~H[TúWÒÿè¶urýkIÅ#Â9.ÒâølÚ5ìÃyƒþ«:ÿkÑô#B”=õñúX·¯«cóÏ*Î?öê]­þ«yÖ€þ«Ð?ðüîc…Âù§ú?ÿ†û§2è¿›èO èO èO èO èO‹vÑ÷?P“Zª†úÓúÓúÓúÓúÓúÓúÓ"Jÿñ‘@ŽOdUYÛ3YÕaÆá¸Á ƒã7)âÎÂN-UC¡v,˜c^pæluô{^H9cÛ´æØ…Ô˜°Û¤–ª!ˆÐÿìð1η|<ærè˜Uõ4E´z|†‚9lZª† BÿÃ÷·©¥jðüK èO‹ý{øž–"µT A„þÔ©Åú'Z ÔR5ÑúSg×ùˆÖÿ’‹ÏÞרèÃJ@I×Ãbó¦j©‚hýW$J%g#wlëüHsI—4d{IVT]¸kÝ«¤ëfˆ9”¸´’h±Ï#ª ¢õ/-sÈ*—øÏ²ÙVÒ…’´™}¼ÞÌËjp1<ä`¥Žüàšhý‹Å%þ£ÈÊKKªÄËE·êC´ñÒ’ª-ÉÃÉ…ì°${ȱ–D‹,,-‘G#àÑf6ŸÏgóÓç¦'˜þ‹.°°¸ œ²S]X”»…ÙE4É’Þ/xâ(£ˆ¢Âš½c¨ÿEù‹óVÉhðB4͇xÌÛ]çý¡ýˆ¡þs³ÎæôŽ Æ«ñëžr[øVþÎr‹³å?ÚGcvÖ¶Ìξ{Æ»Ož³ÖVt˜¡þ…™Bý²V8y׆ ;NÎðêIçX\û$oÐ?33rçôáUµS‘ܽ°±hëYda/¨ÎªgA 3ÔR5ÑúOçóÓÓŒü÷øë×ßyBT˜W »|L8õ¼cß²E™¶ì•¾ ísB†ºs‹ÓþÄô ·?ë§únyBvÚ²7ïàøÔR5ÑúOš8¶}}×öc²259¹çšÄ5{äV:tum‹mlÇ-¬Q·Š^ÂÝñqöS²ã22"ÁKNG„˜aÊéF-UC­ÿøøxΡó3~x[W×¶#¢ê`÷æÄæÝG¶ÙÿFÊ-ÜMùtm;<ž3ÝX«öÉñP²šË‰‚1–lâÝ©¥j¢õÏ:cÈŽe³‡¶]qÅí‡x•ÕXµ‹U™±ëöCÜC4Œ 7QûñçWlÛ½íŠD—Ó3+Z·:tûÜàÄ‘EÝW;ˡۻºn§–ª!ˆÖÿ¼‰ƒ·]qÅmeå±Ï%Ÿ{Ì,¹±FV6,¬è±(+¡íÞ‚3 µT A´þ###££#£#F_ÿæ‡Üó̇¾ùºÓ0Ê`Ú™Ùr»êÑQ'À£W«ö«¯úðqŒòðNìG¯â­WñVW8Œðàª@-UC­ÿ¹s™sü7à ¬˜Qu¹Éœs›Ï½òõ}èë¯ÈºtµÎéžžr&£‡É˜ ÒJ-UC­ÿ°‹!çwH”†DÕÞªæ—o½üò[_~CÃ!p[L—!³Ñ×—R¦†!Zÿt*J¥Òi‡ì7ÍKi^Iq(§;I#·§Uî. 2RJÖÝî)£˜6tù~h´þƒ ÉdrPîe‰W¸]’œºMX¸Õíìº:Ý]·¸I=nÒ œ¤–ª!ˆÖÿÌ™3gl0ÛdeÀça•˜ç€Ç¢wü‡ƒZª† ZÿÓô»~U3ûO{v_ÝÞoxÚEcç„Zª† Zÿ–µT A„þä7\Åðþ+SêÔbýW{f£I-UCýiýiýiýiýiQ¥þÌœÔR5Õëß?S¦eGúÓúÓúÓ¢åôR~IðÆ'¡þ'{ש Âëv {Õc­zŸ­RjíìöêÛ˜èÞz28NGbµúK}„V×ö­i©ûEvnÏNœ¢ô÷ëÃ­ÄÆÆ’–6w=o½6aœ[†·ªÛÙ×]ÛÃ{¹q¸ˆ˜¾ÿ¨ÿN¡¡»òÝsµ\Ò}îa~8¤;Ã{N;¡+xG¢Æç_ñ,ÉŽ‚çb¨m g§éVYv#޼#±†×?|‘‡éï?±Cÿ ¬VÿuúÌtŠ0Î?ö È0ýÅi 矪õßêþ˜z!dœm‚žù3i þêÙD=ÿ†<ÿâï߆úÓúÓúÓúÓúÓïÿÒ¢Jý[ÔR5Пý 3Óùé Ó“g§Æé‡þ-Ej©èO‹*õ'ÿç—˜üÿK˜þÔiv,pþ¡ô§ô§ô§ô§ô§ô§ô§ô§ô§ô§ô§ô§EËêÏ÷ß[JjmšèO èO èO èO èO‹5êßÕµõ¨,?·½kÝöÝ[ KôîíNtÞJ¬QGóC¼|¨nÊèßÝÓÓÝMªS£°Fýn[×µí9§¼{£SÐGÔ·;ȲoÜ#/¼àXÔA Õ¿w¸¯‡T§Fa­çÿÝ›v±ÂžM‰Í»µÎ»6K‘½v¼6oÚèx2‹{DªÐŸR¤bÍÏ¿BXc13UÝÅ/ÿ-us€‘÷lÚ¸‡µ²C&¶Õž (aw+1µþ¾çgåïkž¬ÝâQý×üús·ó %RL÷l“ðÊ{hëæ.ùdqtÛFvrŸ¸«;ÿT›‚ ØY$ÿ̘“òe Ä}=î•%qa°ôôy¼Â/]ôõ¸m:‚¯¿ŠÁß…0?Ó±/0h À”±'ß×£êêR…#^”@RL¥¿ŽèØe?ß(v{Eª""”‘MæÊ…{YÏhôwŒñê7Ï †ÊbE YÌSG¸RÁRërà(²!Ƌ߄_ a±×3/ë³·Û¡‚þ!£Ä}ñ›xc€ËgjþæA…óOð(Xüî³­»¶{”$RW¥ˆåjèðüë¥B´øÀx!è¾TñžíÎ7!1DßëOÿ(Ü÷Å'¿s’ß‚ ‚ ‚ Žg8Ï1NŒg&d53!yNpÜ ²˜]Ÿpÿ³ã–UÏNpŽû8aÐßÁ ŽÃµÅlò»ù˜ãô[rA9“Cœ¢uÈaÎâØ…4cöBÊá烪:Æ©’Œc’Ü.}‹Ùšµh4Bw÷–ÏsúCwh¶Ja—ÕAIÓÍ*Vɬ³X;ÏcærxÖæððQ‡CÇ|dÆ£g ûØjV«)ZÂF âN«oX“²4ˆ‡ JãáƒûAB’? !É¿€&æ¤~ÿ'îH¤ >þqÇ%†•K~¬xö.+FÙÝwYñûIßvŠ\5û\V‚«‘~Ʊ<¼¾+á±W´Fá —ØôWJ%ñël¸£¤K²U×eÉôrw+®«½ÕcHƒkUö’6˜=Ü ÂÇhv3.: 7]¶á­éê8*˜•·ò7[1z•tÝš¶ÊM.ZáåÒ²ƒߕ䯻“(©ªÕZ²7A.¶]Ä/éN%3´´ðN_$Ǫl%#$¯WH¡¤¢[.:@IMÝJÛãí%ÈÅð(™³ U¸¸T,—œ²SåV^,E;+ ³lSÍKEÑ­¸d¸. /Q6‰r[´b-é.EÿK2Ä’ÍµèÆ“)èAd8ÙQ&¯»ºUc4š=5ÛÉ…+Š1%„ž{¤Â‹ ‹ ‹‹ª,~ k]ÐeÃÉtY´° ýõÆãÃCèaD ÝÍi1z»ã.èduÒfÞfžìTJ jä=O•“9ŒGs® nX[œÅÅÅÅ0…/^œ¿xÑ܈Âü¼®\t­®‡,Í»½Ønßõâ5Õõû|}Ï|{Æo÷_œŸ÷t,ðüã[IɸÝ=}úAÏØ>fÊ!ñ"¹­óvÕ:4fˆÂs.fgÝíÜ,ÿqxzdž wŸžÕ>ÜnÔžº6±aÇ)ÃÀpên§/s<Í ;Nóà†Ã윪CÏ:Îì(^÷”€…Nð8*;ÝÍÊYB$ìÔDf=#»ãÏš“×3´‚z&«Sž3=g­í¬Ø áf+Æ™™™)0œíŒ³-dű:M'wlX¿ã¤nÕ¾á¤|OÞµ!qí“å$|Xß wdeÖº™)d|F¡ 6§×ú ×^»žuàaœ ëׯç5é¡’•ãè §Óý.ÇÙ”tž…·›˜e”“ÓIÎɹ}fÜi+Ñ´jjj3*˜)Báõòï°õwžÈOŸ¸sýú;ïÜ"M[ž˜žvLÚãø4GÞ2oy©?±EÿEÇüòyæ”Ï}·lñFf>Ç­Øyù3-ÒØëlX¤< ½åNQ™Î»]¶ìÍûÞË:¯0è´ÚÊB^ÌH40‹øU^yíííê¸qˆÜQN@mòyC6ÈØyWÆüôžÉÉÉ©ÉÉcÛ»º¶cÛDâÇ49¹çš³°¦·xÓ¤ÆoK\³Wö“¤ÛÔ¤ a”~ÂqJFvvr(9ºŠ>ùÖ¼º×q‰ ‹wRk&¼W&<¥V­Sz:"½);I=®» nÔ}§ÌŠå1e¹û >—"6ï>²­«kÛ‘\n|<7~X”ÇÇ…qÜÀaiɉVÖqÜuË1°îãNŒœ6ê‚ò<ìtLX£ó.F¯ÜîÍNæÝÊ":Žóøb\å9n&pX¸©^¼Ñ7‹œ-'K9s‚2Ñ”ÓþÆÎ¬•œaܨËhFwi946–ÈŽº½ëŠÛñböKØ)³Â]Ûi/fqÜK–uI|nw–®ØvˆÙ²Y’ûºý µvÉVÇ“EAx Ý!«b^Ñ%zm»"ñ¹óÄg9.wcé±&°Lž¡Ç36ºÎÙ‹ÁÔÜÍ ”ï˜î$ícª-ktW¿†¯,› 둲r„Ï=vÞÅÁÛ®¸â¶ƒž2+$,¯óçû\BšÜF³¯P4Dvƒxáåë"G'ØÚbø>|蛯¿þͱíèÈèÈȨ,³Êè£WËö§êlFX«ìvգ¤ûJ:1½Š÷½êjÕêzADô_:Œð`Ò2êWÙ­„™¿ô*ÑË1ž¯†ÓWüŠ OœäTGU'Û8"»Hw½×î£ÒuĈ8ªb¨æÌ9¹ã¥ŒÇ"ЧmtCÆlÎdd×Ì9µQVé¢âšýü6§î¤kÃÏH$“‘Ãùx='’—õŒž¨Ð!]ý™€r&㙇®d¬š9omâ¿ÎvXÖÜýar]‡dM9kø vëPdÕW3òyy C2¤G‡uÖ¾þ¾4†Bgá¶øÓÑÃt³æbíÓ©t:r–‡ÌÄ ðö´lW ,Â&zÛ}DA”#ÉÎÒ ýÓÊ*BéqR2E7¬ôÕc¦Òz"n²:5vZr3K»ÆtJçïÎÕ˜˜TÈèž2ŠæŒuz’Á 2$Å&) Î6™Lº»¤tn¼Ä’¼“î#¬:žö•mƒFSÒÚ=DÀ¤›„k4|e‹HB¦j$#ƒ«AÌ8ÉA•ºŽe´¹5:›)Ý“ö”tŽÜžt'ÍÎ~…Ï0 èڈ̀¬«Ý£>pÆn4¼ý0†p;Q½=ý‘<ƻۀǒJ°Ùœ»›«7]O™ 60à±èGp…ûO¡_oôÎ(õ[žý¦¥ÿ´]÷øúLFcÐ8–k…ACúî÷¶÷›‘ƒ£éöþ~K æ ‚ð¤Ä6 €ä7 Åœtw^Èo€AAl2É?€(æìŸ)ƒ ‚ ‚`Ó¸ñIú@A0nÄó/‚ ‚ ØL’¿s’ß‚ ‚1$ù?€ÄœÔÿÿw?AAAAA°ƒIþtÌI}ý€JèëŸZÙÓW.÷vw÷SgÔ!¨JL¦>wκ Ä …«FCæÃ¾[…þk†TÔ3ážc ¨S€»þÝþšÛÛãH0Y“¹#²> ^Í< >`ýË`eÓÒGÃÓ<“ø@EýÝůA85U&ROoô÷¨ ý«?·¯åü#]ÝîÞ.@È/À‚ ‚$$(æ¤~þ s@þhÌI~‚ ‚ ‚`L8žr8Ιs™“L3Úö4§Ó:î4¹ÌÏ¥sœÊÁ´¸å0KnIÆqe4‚3£hâÌ:ÌùhÚeYd”­¹AQµ˜ ¶‡r@ѬÊòØù0žá4Ë«b?g˜½‰|›3Ô~šSOt,Xám‡¬À˧/°ª¶œ?åÐð¹à8H*ÿ€ê˜âðÐÎÃkešm¹LsÊVÃbrÈÇô¡ç°î|Ó` ±Ž<Èf9X)ÎôÁÃ÷ƒ„$AB’MÌIýþOÜ‘HA}üãŽK—V.…bÅh\1vÁ]Vü~ÒÄ÷"WÍ>—•àj¤_…q,¯ïJxì­QС™.+¥ç—ýˆ‚ªËÒÊŠ²è¢k-6åPÒÛªì%m0{¸A„Ѭ:«ÍÌôPrXÞQ™K%7¼Î¹då­üÄVŒ^%]·¦-‡r“³‡,™}Jú7Dáe‰RIÌ]ÉÞ¹Øöß•t§’ZZø§/’cU¶’’×+¤PRÑ- TZVéùㄌäbx”ÌY ¬pq©è`ii‰•ø¦¸$mEUq¹ëº$¼–D“t(Šr[´b-é.EÿK2Ä’ÍµèÆ“)èAd8ÙQ&¯»ºUc4š=5ÛÉ…+Š1%„ž»Ü ‹îÀFà…9uYìø¯4j³‹í¯7B¹‰` n7¦Åè펻 òп‹ÆÞÊÓJiA¼ ç©r2‡12öÄ1”XpÃÚâ,..S3â,X­ _41ÏéVäv> 5óçÝn†»·ÀC…SÃùÝç}¾þâüÅÈDç#¹­óvÕ:4¦íëHáw÷)<7;7ÇņífçfUYÖ4XÅ6ð^º÷ì¬üµšeuV†SÛYm‘{w|·«¶ÏZƒù©¼D&³^—Y÷× ¤gh ˜›•½§6+;˜}¬lgubá ff Î‚ó#èÔ Âª…¹ œ„lç&‰‚jpÏ®¢gÁ¬èðÕ¹`8f¬T7•CÁȳ0cÄ/èÝVÐyºéÎxûèŒt/9^ÁÚŒ &WÂ( j^¼=BáééÏòÓÒÌKÓ¼…»è:/æyaÅiG5L«@"„üM:(‡ÀY $¹ Šatšr ó´zÚtËË®î\óV_W•š‘r>¯RÌk骲Rþ®Œ‘ ONM:´0¥§¼æI¯÷”ß6R6£û»©ò”1ª§÷”ÊÊuÊSô{„¤`jÒÊÆ›Ÿå–ª'v¸Âã¹ñqþkAr9µ1r ÂCïTƒÝ5'}…57® 9·"»åŒrª¯ÍL˙ϙNæDdw™«Ýf味ƒ›cȪQəƭÄÍ\rf|ÓÍî=>žËf³âwÌE–ÿŠ-g–SزYe6¼yœ¬ 7&CªHºƒŽ©zg­ì¢ÜD =’JI³:¼Ê\'1¦²Èz2'(ƒÈÔt'QµeÍ<Ý䔯,»¡]ÅD®Y=“…Ϥu6##Ns„WGx“c–MÂàRXÄNø(û¨ÑcÔ{éV>ƈ4ªHrDU‰ŒHÛˆô4"ÉäÜaF ¿QÃ{D¥©RÕSÕl£Z®³Pî£ÒÕHZ+`¸F)|Ž#Ã7¶gQ;çîy!Ã7üGm”UºdT£ŸßæôÑt`íaø‰d2rx#Ï çDò²žQÃÛÝÒÕï (g2žyèJƪ™óöNÚÔRxxh˜oønˆï†dqHµ¸ðì֡Ȫ¯f0äóò†dH+Ž2ë¬}ý}i …ÎÂmñ§£‡ èfÍÅÞG*œv‘J§R)¶Kq CZ„EØxÝÓGÒ¢!•VÑY´ZYE(=Ž€ ÁëiÓQ•uCJÚR)Y&/¹™¥]£H4í†MIƒžhJ¦º§Œ¢9c€ž¤Üi(¢p29èü êßÁ$/%†¤câuÙž4*®¯l4š’ÖÎè!ÊÁ’f».-" ÑÁLFWƒ˜q’ƒ*uËhs'jt6S4º'í)é¹=éNšÕü…›Þ…*|fà ‡Ü1êgìÆþ‚+Š,Q½=ý‘<ƻۀǒJ°yÀlÓ¹zÓõ”Ù`‹ÞyÔ0¦?à2`x+|š¡ÿ´B¿g/Êý¦¥ÿ´]÷øúLFcÐ8–k…ACúî÷¶÷›‘ƒ£éöþ~K æ ‚ð¤ÐÏÞS¿ÿw߀sÒÝy8 ¿AA°É$ÿ¢˜³¦ ‚ ‚ ‚ ‚ ‚ ‚ ‚ X’¿s’ß‚ ‚1$ù?€ÄœÔÿÿw?AAAA°îÈÓˆ-¡?ô3ýú“¿ÝÁ¬FÒ‹¯ è__œŸ*½uvåà™¥—O,ô[d|îÈÂ3‡æö½yñ©ƒóŒO¾¾°÷µùݯ̥Î/•¡½ÁÄ?—»4xþÒÉsÎ`<–.I®XyýÌ2ã+§K/ž(={¤øô³eè_o°•ÏÄ?3Rzkh…É.”ãLé•S¥WN8dâ?ÌÑŸ=(ÊпÞ`§±ò'KLvÁ×O-3Í÷YÑdú?{ë¿þ€þ´`O¸Î ?ÍOø§—5™æÏ.1>}xY #À^í°•/ÿÿõ?ŠõÏÄg²32ËSü0BÿF€½Îd‚<³Â¤|áÄ2ãO,k‹8xþm´þžC Ëì@@ÿÆý…¥Ïù¦ìZ|Iv zçŸúã‰×/:/õ jñŸ;±üÜ ©ÿ“‡‹Oâï¯`ÏkÙ_Xì\Í—N9'¢gN–?º¬¹çÍâÞ×çËUë‚ Æ“äoÅœÔ/+è¿s’ß‚ ‚ ‚ æ²UqŒSLVáŒKÝeìLìç ´˜Mýõài— †Ù=­–ñ”Â甇coŸºÀ9æãÉ“Œ¾&ath•GO9ôµš–±QV>Á8ÆyUG™ñブEøÛ>²Ê›.ŒÖÇ9ýeÓÈ·8yy„SZ8-‹ã3œ>h1eдº¥#)ã¼áÐoqhV=Mãë-ÅÃ÷ƒ„$AB’MÌIýþOÜ‘HA}üãŽK+—VŒk5±â÷“&¾ìÉjö¹¬W#ý*Œcyx}WÂcó¦PIB33]"^qP’¿îNK†M9”ôƶ*{IÌnác4«ÎjD7ˆ;ž–wTæRÉ ¯s.Yy+#±£WI×­iË¡Üäì!KfŸ’þ-iYÜ”K/¿ÂË îF¢dí,{‰ïJº¯—LùÃé‹äX•­d„äõ )”TtËE(•–Uzþ8!£¹%s–FÆÁé~Vk´ÂÅâ’ó³´Td[^[âf^^’&ÑÆ–¤«(Ý^ÂbX‹Ú{IlähƨE7žLA"ÃÉŽKKE3DÑ­£éÔ–¬©ÙN.d‡%={•©èªæ.÷Å¢;°XNkÉR¥h§áSxqqaQbÁ-JÂjÐÏ·-¸5§]ws`ZŒÞ z\a3½•‡';•Ò‚YpFQ9™Ã{â(£Ê_¹àÍÃÈDÇY°Z­Iq-³9³‹ç/Š_±“¥PÌ_œŸW¾ wo‡ ¦†1†s»Ïû|ýÅù‹‘‰ÎFr[çíª/thLÛבÂï>ï¥ðÜììÜ윫ØÇ$êÎfvVþZͲ*¼Üí¬¶È½ì¥öª›ÑÅk:É4fg½.³î¯hVn ˜›•½§6+;˜}¬lgubÖp³z|ÿ …g8 b[(8%¾ÕäX“DA5 ªïŒá*zÌŠ_P †caÆHuS9 jhíªüÔn+è<Ýtg¼}tFº—¯àNmF“ƒ+aä¨R+9-C%žJÇ*Páéü4C>/6§b>ï´«( £ªqgÙÈCÈѤƒr¸¦uL9 ”—ñÔ02‚C ¥3ž6’žbœ¼áe$êéªR3RÎçUŠyí ]UVÊÚÍOõÔ¡Íl#žš40eí,c_€³6Mù»©2kšòÚtuJl}Q§bdtÄ!ûuJ£|¯(,b'|”}Ôè1*zªHºÕ©qÈvé"üT…;‰è¢«Œ§#ÉäÜaF ¿QÃ{D¥©R•~î¼Fl£Z®³Pî£ÒÕHZ+`¸ªù¸]et¥F˜Âç2Î/ßðµQVé’9—qÝeÁosúèN:°ö0üÜJ&“‘ÃùxåE=`F otcHW¿C& œÉxæ¡+«fÎÛ;iwÐŒ=wF~…‡†‡†=ðì֡Ȫ¯f0äóò†dH+Ž2Ê`Cý}i …ÎÂmñ§£‡ èfÍÅÞ›†\×!Y‹R8•N¥Ó)ñË˪®ÀŒ¢š.¼˜VÑY´ZYE(aàR)7¯§MGUÖ )iK¥td‘§ äf–v"Ñ´6% z¢)9˜êž2ŠæŒuz’rp#¤¡”¡VJ‹¥D Sxp09˜L:p¶É¤Qá{n•mƒFSÒÚ=D@Ñm0i¶ë¢Ñ’L* «ÐíLšq’Ü® Is褞ˆ‘¡é*†Ý“ö”tŽÜžt'ÍÎjþÂMï’îÀƒ:zRF Wxà Ç€ÜÈR\G·Ó€[ñöôGðìnCH*Áæ³MçêM×Sfƒ x,zçQØþ€;È€áåM|ÀL!DáÓ ýìç4ÿ=-ªvÝ(é²i2ý}úm×þ ‚†ôÜïmï7#GÓíýýfvfѸ?DOJýü}¦~ÿ?î ¿)椻óp@~$‚ ‚`“IþD1gÿLAAAAAAA°.$4æ$¿AcHò‰9©ÿÿ#î ‚ ‚ ‚ ‚ ‚ ‚ ‚ ðÐÖ®®­Gë­¾1[•]î‚®Û~hÍú×(ÚsÛYºc¨þ»6ëd7íªßè¤ú›³NlÜC¢¿Ókãæ.µÂôß½qón}¼‚VK[ëï¬.¥¿s,¬ÅÑmë¤Á£Œ¥_ÆÂkÛsV3ø!Æ<™ÿžMN¯(ý]©º²[£{§ ±Sß¼[zŠ£éÍ“JÿÝUöR(ËžM÷„êo?Ì.Qú«Å¬ˆÒ_Hg?N}SP£$Œáüy6Y}FµND&XVâÄkÏ(ZO—Z]ôZ­¸þC|ôí)ú8…ªólþ¾å~U©V¥¿Ý%<÷áož:*½þa'+õ\¢¿§o²£`dN2îìxª›Å™Yœ+v»ËQÏ£Bžm¬.‡BÏ?ì|âŽ¥Ï AúݶQu_ÿáSÖߟgÓ‚ +’ÿfÌIýÿtÈß9ÉoAAAŒ sNpŒóÂI‡fY:œlžà ³œçqÎÈòùãMûùãÊá-NeÔöóo9­ç½Ì^pè¶nF9G=UÍÖQGŽ9ÔÙëØ*yÔf ‘„GBXàa›Žq8õ:ãç°Ë×8_÷p(õÚl  j}Õ¦hzuȶ ËP’Ó×:œäÔΦoR–W8îÉW…]õ}¥zôØýn«‰ü2§.»M‡î Iþ‚„$ÿš˜“úýŸ¸#‚úøÇ—l¬[±[‘&¾_¹€@£ÝìsY ®FúUÇòðú®„ÇæM+a„ffºøÆ çS¸´âÀÜ®”Jzc[•½¤ f7ˆð1šUgÑjqÇSÃòŽÊ\*¹áWt°•’9ØŠ/±£WI×Í+r(79{È’Ù§¤KZ7å’ÇkÅœš•i ÂË”8Ù¯,ˆÒr©dºÈÎå’•w©d„äusïf¤;™¸«|çf9ÅfvVþÎiÌΩªðr·³Ú"÷²—Ú«nF;¬é$Ó˜õºÌº¿n Y=¸Tçb…0²÷Ôfe³•í¬NÌnVït–OØ›EˆÂ333…±)Ìx‘W ²¡P33†«ã« ²"zñ²sÁp,ÌX©nŽ3¯ÔÐÚUù©ÝVÐyºéÎxûèŒt/9^ÁÚŒ &/ˆªŒ$|õ´ !D«öu3×È@jvQ 禧Ù/ß:ç'¯kìwzZ6æ§eó4/qgÑWÀ 0­cŠf(/ã©ad=†jzZ=mºåeW5–ô2õtU©)çó*żv®*+å?íæ§zêÐf¶F&y³ž—bF(<É05én%¦BʆiÊßM•YӔצ«Sbë‹:å)ú=´O@‹'À”7?Ë=,UOloë”þ RnÊç¬ðxŽý0äÔ¯*Œ‹JÎÙæ”‹hà…œ[‘ÝT/ÙžSr®Ù­!sã9ÓI‡q³±*]¤µ†«šÿˆÛUFWjŒx2Ñ#>wî\&sN ã0£Ëªà·9}t§Œ"ãõs+™Œèc ¦~3ÖhzÀŒÞèÆ®~‡L@9“ñÌCW2VÍœ·wÒî {"îŒ2çιIeÜ>ÚœŰCC‘U_mȰ ù<‡<†!ÒŠ£Œ2ØP@_C`Æþtô0ݬ¹Ø{³Óë:$k¾p¡¹yN§Ó©t*•JËBš—¸…ÿ:õ”4H¤Ä¯ì"[R"L*å†àõ´é¨Êº!%m©”ŽÌ+:›YÚ5ŠDÓnØ”4¨AdÝíž2ŠæŒuz’rp#¤ž·QôÑb)‘¤1m$âé¤ðà`29È6ƒ|ëlxmЭ)£2 oÙÁi6̓†¯lI&…ÕèöN&Í8In׆¤9tRe’424]Ų{Òž’Αۓnà¤ÙYÍ_¸é]ÒxPGOÊ(IÝÇMG¡ð|kZÌú€ÕäuÕ–_}À¨Ú€ó€Ù¦sõ¦ë)³Á<½°çdLÀdÀðò&>`¦ zúurGð)|š£ÿ´‹~¿Éhì÷ú±½åÚ_!‚·{ðÀýÞö~3rp4ÝÞßofgíûOûgR@?Ÿ~•‚5lp|3 õûÿqù H1'Ùù ‚ ‚M&ùÅœý3eAAAAAAÁºü И“üAŒ!Éÿ$æ¤þÿ¸ƒü‚ ‚ ‚ VOñw4y±%ô‡þq&ô§þßþö·ïºë®íÛ·ßvÛmßøÆ7/ðöôô|þóŸïìLõ×rô£½åWþªüÒ_–_ü‹ò?ßµkïÛo—3™òðpùúë¯or&³³å|¾<9YÎåÊMÈ„Jÿ»ï¾ÛÒŸ+_îû³òsW®eÖûØÇÖ˜ILôß±c‡žõcíe²—ŸýOŸù˜9ëë®».:Î'?ùI¦Ì¶mÛØDØ ä;ßù‹ü©O}ªæLffÊÓÓúW̤½ôg§\¶ØÙ”øÃ½{¿úï÷~å{où}Æ;÷>ðÀÞûïßÛÛ»÷Úk¯òá˜åüøqVÞ»wïw¿û]Ve'ê¿ýÛ¿eÇåòË/¯!“‡ÞûÐC{|pï~°·úLÚQöHgdëM¹¼ïcåŸþ‡òRÞûÇlÖ##å³gËét9zÖ¿ÿû¿ÿè£þøÇ?¾ï¾ûî½÷^&{ww÷ŸÿùŸë7gYáºë+óƒòÁ¯”ÿhù'fKN<äS©ò–-[¢ã|ö³ŸeS`Ѧ¦¦F3#¬ü™O_ý‰Oüå¡7ßd­GNŒ¾”\úäg®ŽÎ„ðY&lå ñÇÆÊ…;óŒ1#«f³•3i/ýwîÜ9þÔs/^ñ²Ñ<ñtßÿök³{ï+¿zSùGø½ïíeKnh¨œL–¯¹æšŠ¡Øy†­ÿgöýô¡Ÿ¼25_þ鉙î?Xïw¿ýÐþSƒùòËcå-_úFD÷;íÙiGˆþ¼£â®DâŽDâ¶³T“IéðàÁ/{wyËï¿uë7÷¼ÿýå-¿qà×ÿMùÄ÷ʬgç[&>[üÕÎúÏþôO¿ù­íFˇÇÊ{3å~ô£ò‘?ºõûvž(ßs°üÉO}6Z¦¹ ;ç³ÓSž‘="Ûw,|"ñõkJ¥R¤?ãÿò«å?”þп*ÿõ¯¿üÞŸ?õÈmOß´nïßüÆ}÷í½÷Þ½÷ÜÞO÷nÞ¼¹Êhÿú“;^]º÷PyÛCÂò©¿þÔ–¿sÕµ7Dwdy±×9‚ì„ÏÈN;bÙ'¾™¸möÏ_M$þ!‘¸1ÑIú?ùä“éŸ>ß÷ÞŸ/ö·æþè_¾æåƒÛʻ֕øp°|æL¹¿¿¼iÓ¦êc~ò3×]{ãÝûØ•«Ê„½ve/2ÙS{Âeç|&>[ùLüšø¿t®û CøBGéÿÆÍ7¿ú¾w•¯úÍò_¾¯üŸyÿ¿þgŸ¾£üà–{­|!þ©SåÏ}îs΄éÏžîÙ©=õ°³Mâk‰Ä?:Ëž‰Ÿøb"ñw‰Äõ¥ÿã¿ò¾òßüæÉßýÅ—ßÿoÊò?•ÿâ_ýÝ_+¿qgùžßa§!þ‰ÍÐÿöÛog¯µÙë|öR“½ÚaO¸ÎQ¸1qCzCâo,“d2ÙIú¿º¾k÷/üwÏÜx#+ïýÍ»ï}ï}ù¡‡Ì‹]ìõ6;ù_}uÔKǺ0ì²ÛÑ£GŲOlI°'ßûï¿¿ù*Õ‘‰îBâƒéÄe;ïúy2ȼÅifNþf«ú33ó5Þ`\/ óæ™7«É<•xÏÈ|í@æÍ2o>yóÌ›dÞ| 󿣆ÌÉÿü\ýß¡©Äe´çßþÈ™#ó%2Gæµež;ÿ–dzœ~»fÖÇœÊ~”Ó´ÍJËQ³&Gßd ËüÂÈÆóœF¯šÎû!‡>ûyƒÒ'sèügÆ¥´Ÿ{1,ó¡äËkâ gUå—8…å%‡É MéÃ2?|p‹³ó¡äÉÔœ9ùòTü¸_æi‘9õC•–9õw°WF›j‘ù¥K—VV.]â;g/ÊífŸËJp5ÒÏ?NDæ,ß•Ò G©ÄKl'-ŽÁmÓŽ%åc4«Î¢Õ ¢{Kï÷,)s©ä†_ÑÁVT÷ˆÌ———Kì‡mDIýp.—”ÕmVÞboø˜a|•kÉŒeàÝKnŸˆÌ‹Å%‡lã`iiITœº¶J—%Ñ^>Ò“[¤Ó’Ž¢«n8Ùqi©h†(ºUc4ji)"óÅÅ…Eö»àl,8d?²¾àÀ´ðšá*K ‹‹ÖWý ƒñáÅÈ"€3 7Fd~ñâÅù‹Þ¼Cm´1/½æÝnn÷yŸ¯¿8o7Äw¶™Ï9˜•¿r;ëngµEî…ۜګnF³vǘµ½ÜQå¯ÈqŸÈ|f¦P`¿3 µ)ÌTAVx óäFñ`öÖ]¹?¯ *„òR~êG·©X)"óé|~ÚÛæó¼œ—?Ó¼IîóÓyaËËnó´ ”—ñdA¡†šžV[s é)Æq~#2Ÿt05éƒcššòµª2kšòÚtuJl}Q§?ßÚˆÈ|ttddT€ïYmıŒð7Èvé"üT…;ŽHÛˆô4"ŒŒŒZÃŒ~£†·è1¢S‰ÈüܹsþÃ!w¼˜Éè’ÚhÃÏ­d2¢OưËߌÛ#ã„’u¹Éxº12™3 ›ð׆ ÛÏsÈc’!­8Ê(ƒ ô÷¥Á ™§SìÇa:•r¶)ñ›’eÑâ8¦D‹¬§MGUÖ )iK¥td^Ñä°)9Œž’"2dH&%Œ3&…%i¶ë¢Ñ’L* «ÐíLšq’Ü® Isè¤Ê„ýFd>pæÌç—cÀ-j‹ã€ÝmÀcðˆ0˜mÎ>"óÓ^ô÷»E½ï·­IdŽÌã–9ù»ß§Ëœú‰`töj!O™·8‘92Gæ­LdŽÌãœy]¾˜¦¡ßn‘¹~YóWŠ4ô{aÂ2¯Ë—¡4ôUÂ2¯Ë׈4ô»HÂ2¯Ëp4ô[<"2_ûWWTdl¬|ï½÷Ö1sóë'üYV(ä÷Tÿõaß¡ƒˆoŽxçç߬cæ»víšØ'¿¸áø¾gŸÿß>ðòÔ”óéåÕqCØw.ˆ LùÜø¥ßùÆÙþ7oÕ1ócÇŽé¯|÷õÍ|hŸû1ûÿî L(±Hªÿ˜ýÀOÈߟ}ÿ__ùØ5;^ûåOïÿïÿrßûòì «Ž™þêW­¨ÿå_;9|Hªÿ€zÿg˳²mÛ¿þW{/ûØ£ïø{þôóÛjþ”û°Ì÷þê¯x>Úýåÿã÷ظlmWÿÑîŸÊ~ÇÎ×Üü܆üõ­}lÍÔüùða™¿öëwÿÂÏ=Ë-‡ß|óÉßú§õyã±ÇÌ×HÕ|(ºÿ…Öƒ>ø™Ï|†þóg¿È‚\yå•<òHmŸ¬nfžø¥£ïøíwošzÇÇÓaþ7ß÷t#.º/øUÐè-ÃÍ·ïfÛ¯¤ú^I=÷ròé“Oô%w?—|ô™ä#ûÓóË›¿ü_¢÷vw÷»õ¾žDOŸiåh‹¶ëÛ⻬~î­ •øâ×ȶ/½–|ñµäó¯pý8ú?Âô6•sô¿7 ›G™jÔÔß_Õú¬~R­ ¿^áÑøÂ×a[&þ ¯&Ÿ}9ùÔ ÉÇû’?z6ùð3ƒíOÍ-oþRPK¶øÙêb:û²Ö5@LÃÉŽÞeÕhý«Äõ·|Ÿm÷¿”|æ¥ä¾“{ÅÉgÿàƒû|:u~¶¸é‹!ú'̳†×ÜÝÓº˜¾ì@8¯b—U¢ô¯rý_wó.¶}òÅ4gjO_êÇϧÙŸzð™Ô÷ŸIe Å«ÿþ» ͳhý«Ägopž^³sEÁ±Ùâ…Ùâù™âh¡xvziprñª¿ÿuŽ«F+è_åúg/o¶Ütß–›z%oì½æÆ^fdÜôå{¯þÒ=Á¯Z­ œÑ úW¹þ;­ •¸õ»û¿z׌7ÞþÆn}Œñú¯vŸ‡E°ëëÿ´ÀõZàú?Pw@Z@Z@Z@Z@Z@Z@Z@Z@Z@Z@Z@Z@Z@Z@Z@Z@Z@Z@Z@Z@Z@Z@Z@Z@Z@Z@Z@Z@Z@Z@Z@Z@Z@Z@Z@Z@Z@Z@Z@Z@Z@Z@Z@Z@Z@Z@Z@Z@Z@Z@Z@Z@Z@Z@Z@Z0ýúÓúÓúÓúÓúÓúÓúÓúÓúÓúÓúÓúÓúÓúÓúÓúÓúÓúÓúÓúÓúÓúÓúÓúÓúÓúÓúÓúÓúÓúÓúÓúÓúÓúÓúÓúÓúÓúÓúÓúÓúÓúÓúÓúÓúÓúÓúÓúu[0æú)ÌLç§/LOž^`Aܵ9±q(ÚÚÕµõ¨($„Åq[·ýwÛ½Q…§²®äáÞîîÞaJ‘ˆzè߯äLýiýiýiýiÑÊú{H-UCвúûI-UCýiýiýiQƒþ=| ©¥jjП:åŽÎ?´€þ´ðê_˜ÈO¿==945ÞO.8ôo)RKÕ@ZÔ ÿç¯û4 ©¥jjП:åŽBmú÷ïk>©¥j ?- ?- ?- ?-ê¯ÿ¾žu‰Äº[¶-Wî„þAhþ SpèŽÆèåÖ[Þï> 8¤ÿÎãoý€ÒÜÔÿ¾+õm¡‰On3—°m¼¯ïY£l>¦¨¥j¦?—ÚP˜ë¿m£VÕ9ïߺÏ~¾àGÇ- çYÙËñ¤–ª!h þÎC@+ì?ÿHUy+/÷—Õqä‚Zª† ‘úó2{x,î ÈwtËê”E-UCÐXý÷íüdbã-Êb.okýWÒë¿Vý­—£ÎJ–Mì¸T»þqþ_‹þÇÅëýŒ O=ënÙÆÊÎsqeýñú×èO èO èO èO èO èO ÜÿC‹ôç{‡©³îàþ+ZÔ¬?{4™¤:5 ППµëÿñé³v¨7AÿUcmúÏÝàê“;P.ŸÝ5 ýW…úé?üΛæÊ ô¯„zêï<Š÷\ …—r¶óèý~²rÏ`ªô_“þJX~.’OÎ`òê&.{fú#ÞƒUùCªS£ÐýÙUtïu ÎÓÓÜ9 ¡ÿÎ?Ö«#n”ËžIÍ«æ Šú×áùW,i§IŸÒ݃rÃKÅûoGaØ^ÿxþ­ÏëOãœ/›nx©\¶Ÿ”ÕkTãÁb•¡ÿÚÿþrÎçgwåŒs;ÓÙ8dF„jþvkŽ M®?ÐúÓúÓúÓïÑ£ÿt>7=5:5‘žÌAÿf ý_>ð ©¥j°þiýiýiýiýiQ»þýÝÎ?rõôYñúzŒUÀ‰¶ú^íµéßÝíQÉï³…"®š›X›þ=½öws1ùô¯kÔ¿Ïúr4Gþ>SUq66Ç¿§§;a€÷×½Ôa5Ú:kÕßüv:.¿±ªõå‘pŠZge4”¥¿’ÝЩX³þîò‡œUœ'¥¿:^¡ú9t(Ö®¿:R~Ÿª!ç™ÏÀîп’þbm÷©‡AàJ¶Ö?ôwQýåÓ¬ÔZÛ=§ÿ`ý}§è¿zýݧWËîž}øÃÃÿì`ü ýqýППППП¸ÿXÿ´€þ´€þ´€þ´€þ´XóýÞ7U¡>×?˜×@jQ?ýcñvmÝQOý£ßä »±Á8¹á‚nœh˜”¨«þÃo²T¸±ÁxÌTºq¢A Т¹úûÞ#S˜p¸©:͸µÐäóÇh½Eo"èÆ‰ºÏ½Pçç_Ï-å ú¯ÿ'ê;ñA}_šïÇïÁG¼±î9ÿs©Cnœh”¤hÐß_º±»·7侬€{´ü&󯉯‹A\ ô§ô§ô§ô§ô§î Ö?-¼úO]˜š871>8‘= ý›èO èO èO èO èO èO èO èO èO èO èO èO èO‹ô§"µT ô§ô§EûéoÝeòŸOÃÆ‡q±‚ýòŽFóþ=Û EÀ^ª„$ ‚ ’ð±‡ï Iýú+î ‚ ‚` ùùë> ²Ê—IÕ{¶ Z9ùþã}ÕPL¡JçVc['ßShëä;` m|L¡­“ï€)´uò«žÂ¾žu ®Üé6©rk&¿*Ì”áý[ï šæÚæ¾Jý­ž½åý‰ô<ÛyúWÔÖ´Óéß|ÛF¶*öAÿùÙ×Dýï»R«Ð?|P.iTpïù_œî|'ž|tœà󿛤ìúdhœuó^€þåUëoÉÙ\|ëAν‘Rø£¦¢þƒVñ( yý£„+`…³e¥õï=m:L}ˆµƒ¥qõëß3ÎÊÈ׿:-ÈUúõpð­½èõ:¨5ÇÕé"Kíú{§`ç–«Óù§jý­l#ÏašÏ×´Ò‹[ÿ€—I*±é¯W`ðú_½þæœç,ýRÜg4ʼn|}è™WÀëÏøÕœüßéþ5ž¬Wõjaµú›'%þÀ¯ÏúwÏ!F2FójŸß;lÿlU¯V«¿yÜ×¼þg!Ï+égµU=ÿ:ÐO‘ãW³ü½^ëï6k}úOþs²ôÔ ‡{ß*í>¼¼ûÍâã¯;ß9uó}OûÕ~ìá{Êös.õ´ÚПLÿg—Ø!xáø2Û >wb™)ÿÓ·–?ºÌôÿÑK{^-Cÿzã‡/Ì=õæÒÓG–Ÿ=RÔ|úèòO/?ιçÍ"ÿǯ/üä•™2ô¯7’#‹O½ZØ÷ÆÌÓoÌj²êÞ×çÙi‡­|&þÀÈÅ2ô§F•ú37°A¬F°™„þÐ?΄þ´Oͦ…d¯Ïò‡$‚ ÆŸ¿îÓcÿñ>0š{eýi ý¡œ ý¡œ ý¡œ ý¡ësë>èOÉDâÊПŽ[?Øxô'c"ý;“пnL¼¿AOÁп*ýsòþä„þÐ?΄þÐ?΄þÐ?΄þUª„ûùÎ÷7ˆøpõjýiýiýiýiýiýiýiqÿ®¢(œÝ5*¥ûøôYÙX¼ÿãáFfÉÌÈ0ËÜ Ð¿VHÙošS2æh…£üˆ¸ ëMp³P•É›™þˆÔpôþ W8Ðèt1 п&Üð^Ÿþ6¤þ~£îý×€ýÝ¥®h„þõ€WóTï–ƒŒÐ¿ðéo¾Ô1ž^ýFè_àõ?- ?- ?- ?- ?- ?-ðåæ èO èO èO èO èO èO èO è_ z{»ݽÃÒ4¬L†-ÀÈ,Ý==޵§/(2ô¯R;%#+)…£üˆKÏý«»˜…–†Ò®5Ðèìˆпô‰©¿ ©¿ß¨»„úWƒ>± ^ÿÚ)Èýë>±sÅ4µÖå #ô¯úÄÎÓ}©cèë7BÿÖô§ô§ô§ô§ô§ô¯¸ÿ¡Sýiýiýiýiýiýiýiý«î î î EŸØáþ"ô‰î BŸØáþ"ô‰îè8@Z@Z@Z@Z@Z@ÿj€û ó0‘=‚ Æ–]][ªòÑmë‰uÛ™8´µKßñì8ìÚ¬kÛžSž¼ºi£ù«8{6 ·­ž.<&žÀ„3Ðºí»·zbJîÞ¨“Ú¼Û°Œþœw ÚÇ[ðN AAAÁ:ò±‡ï IýþCÜAþAÁ²ÿx‚ ‚ ‚ ‚ ‚ ‚ ‚ ‚ ‚ X©ï¿ðb"{Akãc߃§è[BègBègBègBègâRjÍdK$$Å{€ ò ‚ ÆýÇû@AAAAAAAAÁH}ÿ5€Ù3 ‚ ØâLt—§—íL¼ë[äÉ ó'2GæÈ¼•‰Ìi3ìá{ZUþjfNýw³‹ø¬òdy‹³32ï?Þ×"DæÈ™#sdŽÌ‘92GæÈ™“'ŒÌ‘92GæÈ<æ™S_{vÌ›dÞ| óæ£êÌÓ‰÷ óú™7ȼù@æÍ2o>yóÌ›dÞ|T›ùÛö/ d^? óæ™7ȼù@æÍ2o>yóÌ›dÞ| óæ™7ȼù@æÍ2o>by:ñžy]€Ì›dÞ| óæ™7ȼù@æÍG,2¿ ™×ȼù@æÍ2o>yóÌ›ød^ë™Ódîü¯b{gžø¥£?ûÛïÞ4õާÃüo¾ïiê‡oÇúÓúÓúÓúÓúÓúÓúÓúÓúÓúÓúÓúÓúÓúÓúÓúÓúÓúÓúÓúÓúÓúÓúÓúÓúÓúÓúÓ‚éÿèOèO èO èO èO èO èO èO èO èO èO èO èO èO èO èO þþËèOèO èO èO èO èO èO èO èO èO èO èO èO èO èO \ÿ§ô§ô§ô§ô§ô§ô§ô§ô§ô§ô§ô§ô§ô§ô§…sýÿßA2@ZT©?Ø V£?Ø8BègBègBègBÿÖÑÿ±‡ï›LSê¿ÅãœZçüCžL YÍõúw*¡?ô3¡?ô3¡?ô3¡?ô3¡?ô3¡?ô3¡?ô3¡?ô3¡?ô3¡?ô3¡?ô3¡?ô3¡?ô3¡?ô3¡+èÿ/ÿãÛâüìÿ[ Ýpuäú¿óþcÃ?÷Gÿ¬ëÌZ˜¸<½&~0ÕÆ¼¼&¾ûljËàÜ© „ܹ6’&ÿžšø ÷$Þõ-ŠÔÿÿ×Ü|ßÓæsÜôÔ…©‰sãƒÙ“äO¸RKÕÔ ?ÕÿÿRKÕÔ ?uÊœhýiýiýiýiýiýiýiýiýiýiýiýiýiýiýiýiýiýiÑBúÚÚÕµõ(ôoŒþ ]›6JµµìпÑë?PaèO¢¿,?·½+è!më¶RΉuÔR5Ôúû »6'6îñû@ÿæèï.~u,pþišþ!ÏÔR5-¡¿Xäîù'±y·¯c<Î?“£¹áñì™Ü…MÒ?{fϦ°ç_f×ù¿±ú¯ÔR5ПППППППППППППППП Ô¿Òý<п\Wý»<7-@ÿ*POýµÚ»7&"ïd€þ Ñ_ÜCÅõß¾I>$ä- î{ëîc$Ü'v÷¿ÕEÿ£ÛÖ%ÔTRRñˆ0î-q|6íšö‰ïýoõ9ÿûï§õß[%nû ô‰ñýou:ÿØ«wµúÇøþ·Æêxþ ÷±BáüSýƒŸÃ}pÿ[ ‘Zª†úÓúÓúÓúÓúÓúÓúÓúÓúÓúÓúÓúÓúÓúÓúÓúÓúÓ¢ôg©v$ÛEÿ8p|ü\.—ÊõçÎ'O&†»;ßaôÄ…‘#äÉÄÃCG‡‡ §^J¾BžL yøà~Mòd@Ap‚î{ÏÁþþ÷6ùAAAAAAAAAAAA°Å™è.€”¼<%ùÁôÚ˜"åÚ’×"ÔÈtí|ÏõáekãZGß¹&Žþ®o„$Š9Éÿ6æ¤þÿ׸ƒü‚ ‚ ‚ ‚ ‚q#ù§÷LJaúS_—  ?- ?- ?- ?-*è?ÜÛèî®Î𯾓ӫ:ÇÎC´þ=®€}==}•ÃÅXÉÚPI[t.oo[Ø!ï¿Û%áv3&Ì_ôªà©âz,Sjml?¥_©…œ{Ô<=硪îÒ'ONTW^SÿO5š<²>KÅ”ZÑúKˆÃÀ&Yñô²þ‡Ír˜%Ðn=›ôôZÚùŒWõë¾ðꢟñ¬RQÿˆha–¶B´þÝæ™Ç/ˆ³ž †Ã,î9Ä8™Gèož©$|–6×?úüc?Mú&¨¿çõgŸ_Uý¼ðüëõö¦üÜÝ0}ªÎÿCŸ÷VÜ@ò÷¯±üã­>®?PúÓúÓúÓ"L°9 ÔAÁæ“üUA|¦?õëâ¸úÓúÓúÓúÓ¢’þžw m‹~óDÙÂß ìëqÛúzÂú«þÛê>ñAú{ß÷Ü‘ð&¹ )¦Ò_G4Þ=ŽzÒ¼]¢ó°jý]È&se‡Â}—ÜKUä(þ·ø; •ÞwÏ †ÊbE YÌSG¸RÁRërà(²¡ƒy÷?ø•{=ó²>{»*è2J§/þò*^ÿÜgÃå35 ¿§Âù'x”Ž_üåŠúëg[wm÷¸w¤«{d¥JËÕÐ5àù×7J…h„ çã… ûRÅ{¶8ߘ0_Lò.¾×ŸþQ¸©ã™üþ·ØÿÒúÓúÓúÓúÓ"L°9 ÔAAAAAAAA°Hþè1'õýGqùAAAAAAAAAAAA°Å™è.€”¼<ø`Š’,µ°­Gÿ`:qÙÎÄe¬‰ïÙ¹&®qt':®qîŒïúHHò' ˜“ü`cNêÿ;È€ ‚ ‚ ‚ ‚ ØÁ$ÿИ“úú+ò7@cNò@A0†$sR¿þ s@þhÌI~‚ ‚ ‚ ‚ ‚ ‚ ‚ ‚àIþè1'õýGqùAAAAAAAAAAAA°Å™è.€”ü`š”)R’&9ç{vÖÎËX+×2º“-×<}Æw} $$ùPÌIþ°1'õÿ¿Æä@AAAAì`’hÌI}ý€Îù 1'ù ‚ C’¿ˆ9©_ÿÐ9 4æ$¿AAAAAAAAp$ÿô˜“úþ£¸ƒü‚ ‚ ‚ ‚ ‚ ‚ ‚ ‚ ‚ ‚ ‚ ‚ ØâLt@J^žª‘L¯)R¶Lò—=P+w®5[¶LòïúHHò' ˜“ü`cNêÿ;È€ ‚ ‚ ‚ ‚ ØÁ$ÿИ“úú+ò7@cNò@A0†$sR¿þ s@þhÌI~‚ ‚ ‚ ‚ ‚ ‚ ‚ ‚àIþè1'õýGqùAÁ52{áÔèð‘séƒgSo4©Ó/6Žz6ÌЛl^lvuŸo}õgÉœ?wì‹w?ü¾+¿šX×Ó|÷ßtÕ­Œg¬û|ë«?[',™ß¸ëÀÑ4õ+ëºáÔð›Ñ—î~Ä¿þ×>ߺëÏVBߑԥŽÂJß‘$›×dn°îó­¯þìLÈS++%FŽåàòrñâÜ ›×ôäpÝç[÷õÏò):Xê.ÎÏÍä§rl^ù©³uŸo#ô_\\X\¼Ø\X˜Ÿ-LMæÎGè¿–ù6Bÿ‹ç8g;€óó3…üøøX&BÿµÌ·1ú‹à3õå™ooH(løöIÇxfdž ;·}×2ûõûê<èü|¡Ï‹Ô¿öù6F–¶“yÙÿíõ‰ wõËê×ñC0ß×ad…Äúo÷×sDÁ¹¹|~:›»p6RÿçË&Õýuæõ#|ýݧ Ëé;7l¸ó´ÞzZëÇÙÙé驱ìù(ýk74DyÝxÊÑù”eÜ{mbËOûz&þŽSõËæÌÌÔÔä…±·‡#ô¯q¾,ùÄ–Æè?Í8;;U7žºcÆ;NYF¦ÿ5?ev&þŽkÞÖºqffrjòüØÛC‘ú×4_>©Fè¯3¯÷\›èÚqÒ°œÜ¾aÃö“b;3yrGWâÚ=uQ²P˜˜œxûÂh:BÿZçëLªú³Ç,c¡0YGž¼«+±~ûIYe™'Ößu¬prûziÁRá ÊÑúšÏOŒžIEê_û|¡¿Î¼8=ϼIFè¿–ù6B9×d/>scçF3\ÿsuŸo#ôŸ??>þ6ã„ÃóíK6…¬#þàÙôIgOeê?ߺê?2tèÝ|ÓÿßÞÙÆÄQ„q|î@ M¼@,TÒöC?ØZ ¦˜j ‘˜&‚ 6~À4­ÒÒ½&‹É™`ÒT’ò‹¥A« µ16ÛÇ}hµÁúš(¤)h”ÂÕÄ7ð€k)`ÓŸg_îæ–ãdÙ…¹…çáÙÛ™ÙÙßÌÎÎí.·ûÿâ›ï _»1<û:ð ]ýõ§—.A½nEôÍe¾¾Ö¶ÿï7úö¿Õõì«oŸþÔ?Øÿ•Ý} ÿÊ@ß—çz•îöÇ>¸=¥®Í××ÚöÿûkðùÆ;¯²ÿÿ6´™š™·¼¾Ö¶xô—‰ðÈ­ÈŸÓ·Ã3Ó³Ó“³3ËèwîL/ŸsºùïìÍÙ™ÈDxØòúZÛþäääääää‹qV!é¥CÆýº)/2å&·¾”úZW÷ùnê²™ž2åfNYì¹mä]øáo«2ù˜ÍmþèhôR£ä–þ:Û”%Þ–Ü[„ÃyŠ;‘9‘§²¹ òëʉºp˜5Hn/Ež|…Oe‰œÈ‰œÈ‰œÈ‰œÈ—B^(àî‘9‘yŠ“Ûò:´Ð¶÷[ˆœÈ× ¹}ÇûŽçö#ÇßêØóʂȉœÈ‰œÈ‰œÈ‰œÈ‰<¹}ÏÏíMn¿ëÐRÛþ¦ˆÈ‰œÈSÕ‰œÈ‰<•ÝÞäeCø("‘9‘§ž9‘y*;O.ü hCÏJóä+|§È¤­ŽÞ"f ‘Û÷üÜþäöÒ‘äÉ…¿o3á8R`xç1–D»'·P«Ï:[Põ'®ŽgH/'­+gLiŽ'.ÊfH£'_‘2U„Ëzu³8rYÞKµ¦nkä½xù0KuÁâÆsæj‚SÁÆXØ”G…·¬VÔâÉçKJ v”kû@œ’õ§:դƞ¨X—‚êTú,ƒË EÅ“’È1÷Yüˆ¹Z ª;]=^¡¥Džxù§"PÖ¨8ñä dŒPä(ª{çൔ°N‰_M–IZª@Rrý#ž–!{4Óç̓ÐÏë]r|çw[ÙÐh޼^Q8‡å·{K`bX¿„Ë“†åg*yªº·²lXV S —¿Ñqݳ>ïLXfe]$×í–/Ʋ.‡œ­\Ýz¹eÙ\ÖÓæ˜‡ý«.ø+C©Ç+'‹¢Y Æcõè=èd'«ËÛ‹X‡£Ÿ·Hnss¤eËíÿlãŧ·ÌcuäAþ-lÏv ,ÌS«¶w§ºÍö€Ò6Xnçyl¥\­ªo:B;[½AØÆ e5Ï£m³åDžÌVûãni„eëí©°Âøìs´»PÞ'ª%dDCF\ç>§éò} y´¼Å_ϔޮ•%sv+ë´2þìÅÅ*Æ–‚ˆRßÉ ¥¾X¿ýÏILíÇØ’Pöëž—Š¡_`¼ÿC)¯ïG°ü½ÕR¥ºü2ÄŸÜí<ýÕåóžp)}+óJ¯„âv²êšÒ›ƒ›Îåv?º™ýX\#í´m0÷+m´mn«Ü'ŽdWËýsv2‡Uà²w[¼ûaÒòazÌwÄõ“÷9„9«¥ óÎÉøG í}'ÆÏ;Î@¸§ÇçèQú‘¶³ÔãËÌWûWsÐÁ´¾öäÓÂ!|v—Ò?hÜHn4nиAãÆüqc±†‡Hý¡—^ÞçÑÎm’2Òé$Ù;Ú/´Sdxœí}`ÕöþMb Šú¤Ø ¢Ø (EbD J(ÒÒ Ö÷€ç³=©"¾ð|~"HQ1ˆ¢ô„@B€@zvS!Haÿß»;;ÛÂ&,™Ýsò}›™»wÊ9s¿{ï”›cúšØ[2˜•ug~ì¢ájÖD‘úšfn`,ɇ1ù žä^úƒ|¹cø2<ž dngµàEµw‚L5Ȧã/šÝÅz²(üŸÉæYWuZ+¨]¹>g–¹èd>g­¾Ûwµyòö]yüy[°sÓ[ׯ=tã772Öš=r¯2ï«ÇÒ—<¹i·O22ö0¦aë|»¤ÏYõÝ}Öœùúð6‰·=ÎúÛòŸ4íÃ^dS±õ†Ú5hÿ›Œÿ}ÛCä'ÀÿÇ¥?ç­M¶ß¼å3á¿i9®ÉZ+òöþjÉGƚׂ×׃cR€á0ã0ÖÂèSKÆË?ö|ß»™o ¼¼ ¼¼¼¼ ¼¼l òÂÒ¼¼l>>>> >> >ò8u;‚O€O‚OOƒÀÎà3à³`°+Øñ¾ cÏ1QÁç/‡Œƒ=Á^`o0|ìöû¡`ðE0 À¸†ÃÁ!àPp8| ŽG£Á1`8¾ ŽyIœN'ƒ¯€‘àp*8 Œ§ƒ¯‚3À™ WN48œÎ_¹šçƒ¯ƒo€o‚ooƒï€ÿ.‚‹À‚ï‚ÿßß???ÿ ~ .—€KÁeàrpø ¸ü\~þŒWƒÿ?¿×€kÁ/Áÿÿ\þøø5ø ø-¸üüÜncÁÀMàfðGp ¸Ünw€¿‚qàNð7pø;ø¸üü Üî÷ûÁàAð&€‡ÁDðxL“Ác` x<žSÁSài0 LyÇ;̳Á0Ôz0Ì ÀB°,Ï€gÁ°,ËÁ °<ž/€U`5XÖ‚A©¢àýwÐô¯ýÁ&`S0¼¼l^ ^^þ ¼¼l¶o[‚­ÀÖ`ðfððVð6ðvððNð.ðnð°-x/ؼ¼l>>>> >> >>v;‚O€O‚OOƒÀÎà3à³`°+Ø ì>ÇÛ 0| ƒÁž`/°7¾öû‚ýÀP°?ø"‚ƒÀÁ`8o[À¡à0p8ø8 ŽGƒcÀp,8|N'‚“ÀÉà+`$8œ N£Àéà«à p&8 ŒgƒsÀ¹àkà

    ø:øø&øø6øøwðàp!¸ü'ø.ø/ð=ð}ððCð#ðßàÇàbp ¸\.W€Ÿ€+ÁOÁUàgàÀp5ø_ðsð p ¸üüøÿÀuàÿ__ƒß€ß‚ëÁïÀïÁ àF0üÜn·€[Ámàvð'ðgðpø+îw¿ƒ€»Á?Á¿À=à^p¸<ñ`xL€G}Dßö¢ƒö4ߟOƒi`:˜f‚Y`6˜æ‚:Pæù`XÅàð,X–‚e`9XV‚çÀóà° ¬kÀZ¾ ÔYóí¿é¼'ñyÓ9þOh˜C#ž²Êß¡'àWÈCÀ¥O¾„ŸO€t¶ßLZ„O]ëûX›Ÿîá9‚þv—TcæK:ákâë­:OÉ—¶ØFÚR¶ð;ºœ&[uû°@оož¸ƒcÍƉúb4dm·×õ\•£½]SÿEêŠÉíöQßÖ›¨õÝÛ5u†ËUÝ=WÕ­×3ì <îõ?"_Jÿ¹•ë=þfv¼C@ÎÀæÅ‘­N…ä¿ØÔ.JB@ðD¤vc¿>Â[.èbJOÉ+$^ HžôN h¤wA; ½Úé@ÐHï%Nä¥Ñ•”UTž©#ç‹w'.›Ñgó÷_îNHötü‘ô{|Ò–­±‹£BÖ~YP^¡q¹Þ﨟ÞÑ: À¨^h].øEþ8…Öaß_qÉi™GO§'ÎÀ„çûŸ˜švðØÉ;¶À¯Ü’2ûÛ0½«^\¯êлêûÖhþî?‰anAaNA„Â\O\ÈÐçÈÌ>z*~e—hÜ_Ò{Ýå_kþŠò_pöl¾·@_|&CŸ<3~eŸÕ¸¿¤÷ºË¿Öüå¿°¤€ ¼ygÎdåœÌÌ_éô®UÔûN]ÅÒ5—®Yìܸ&¿\”7bB|+¦cOTˆ<±¿n)ò‚±k°Ô лÒ5`íýZì¼î mÔõW”ÿ¢ÒR@¨À…\vTþýuáæ(¤,>Z²8(¨°ä(¦cKJ‹Š_äÚBÙ…©Y¹uèýrüU:Å«µYÌN‰ ‚w‹•}”ýÅ„x+Œ…rvqS.âZÍzïØ´1õ2¿&^.ÿñ¿®±Õ{|¹^Ά[Á*E忬 ­žK[Zˆ"}t¹œ²øhéâà`®…àà¢Ò£Ë¢qtáe ÉË),:•­«Kï ò×Ö)áW ‰V>ÚM‘åY»)®ò—ôÞhz·ê·[%ŠîúNÝ wÐû™òr@¨À%X’T¶$8¸¸,INÙTV6•E-IÚÄ‚§._¾$˜)¿u! Ü¢âÓ9ú:ôÞ0m’ÓÅÛaðkIR’œM,¢L±ÊϤ÷*",v×|ùþº›ÞQþEß^«Þ¬ÜÃ÷‚þ¼Ld``×À)vÅÛØmߣE‡Þ4´DœÃÊ‘¹Êœ½ÿÞÝûï¿ï®ÒË×è\¨wyœ—4©5OK‹A[/_¨—‡ƒ!#»ÒFz¿rØno|4íÊ:y'kL#½7‚ÞÉÈÜÄHï¤w2íéôN¦#½“ÞÉ´c¤wÒ;™vŒô~EõN ¸_ïÊGÓ ‚»ôN hõÒ»ò·¥âµ0æCEZýÐLù+3‘M<Än•ßêç¨Îü\…@ 4 ÎëbWJx\dì±²NñíÂ@¦T®ü{4þø:”›«lý•ùIïBã zgÖ¿7QJÒöŶ¿7w”ß®ÞU à}p^ïvehõÃÒºõî(¿Çé]õ+±‚-\«wÑ'wø­ô¢We ŽÑÿ·+a9¿|Ö/^@¡< pÛþüvºÿNæfær½‹·ÄX'š®à‰×Dˆ_š³À)"¿E•ßg›_nßYäby©”:_7¡:Hïdîf®×»Íõ:'Gjðˆ.:éÌ£ÍåzO‘:ÛV÷ã.SïZÞÉÜÍ®„Þ ¤w2÷4­é]ÙO/úÙ}¼G\ ´ ñeÈ<×4«wñºi«›ƒVYé½ÁãËȯžÆ?ùU´,:Îø>êèùô1i†h"¿áJùÚjzÍÙå›fõÎ¥ýñÑš;zÈJï _F–sœôÚ:C\´r˜ i„&OGGG‹gäÌj” 2ï4mêÝV×v²Õ{ÃÆ—QŽ #”“–‚v\jëeí#šú8C\L4žFCϹܴ©wœ°£[n{Ùßêq ÌŠä$6¾ŒR¶q¦ÎÛöÕÅ‹é‘'S–cÐЛlÉ\bÔû¸ ñâ.¡¬Ù:Ú±aŠxH~¼§ãËØÕ»|d™ËCˉeNjëÉ\bZÓ»r™+}[¿Žþ²£æÈÖêÃ[8â¡ú ΧY-HFæÎV¹gsMÒn% vœÅsÚTü±lïÍè=¢F« QÛôÕ£!õhLB0•£ÌÀ»ý80õóÉÈÜÍ*öm­NÞcÄ‘ßd±%/‰ãà–²ýÛ ÚÓ»(YæLš’S”9©­'ss«Ü¿­&eomÊ>@Ѳÿ¦”|ÍÁ­Õ·—øÉ ½Ë³èÓ+/â)¯ÔÅÙô”úÈÈÜÐd½+ÅÎqh‹œ¢5½ ýÒ%82ï³s‡vÔœ<È‘²—K;e/—ÿ¡Ÿ!p@;PvàƒWë]yNb'óJ;ŸWs*¡öÔ¡ÚãûÌ'òÉ{ yþÎÁŸ t1á¼Þ=ë÷qj2²Æ³sGþ¨É8Z›~X4ñÕI{j~…äeTúÅ)½ßNz'#s_#½«}ÈÈÏ.¤ì»˜{¢&+¥öôáÚ“‡8ŽïãªOÚ]sD`´½;u½ŽôNFæÆ†–ýb~—¼ÔÊó†§ó’ê«Söü¡»#»xû¾×‰ûï¤w227¶šâ\h­<:öçâ€s‡v )¯Ü¿­bßVàÜž+þÚT¾{Ã…ÜTéŒLKæœÞ=é÷q¡8ÒΩnlͦwÐ0Þ í€ôN h¤wA; ½Úé@Ðz÷˜ûï¡aHíÎÖ8÷¼ŠÏ¸Ïž‘y„]¾ÞW}µ^Øî¼Z{B x\¢wàé ½Úé@Ðz§ûq‚—Cñþ:Ò;àå ½Úé@Ð0%™[#è}a``J^¼˜·³ ³,2VŒÜ:.2ˆÙ(´`,PdË"¥+ L9°˜ôNFV/kL½¯Íƒr§@³²º‘ØõãxeŠ•Þ×¢f`SR6L±X¡sz?١а{wä"!ÆÊŸG‹¯ deåee½;Ÿ»#Gã+ÑEHÿ9«Ž<@Ö» †,‘!+Ïp<™w‹Y,Kz'skL½si.0NAÊŽ SXàbLˆÓv¹' r¦8wþŽÎüñ#qnŽNxƒõ‹>¼òj€ü­Üÿ/ÄV¨}'s{k½CÈ]§(ÏÖ?¯/d½ã\\Cƒð1áHïñ‘£ yëÄ"âmÑu¢—›øJ̾»Ny 'ûXôNææÖzGë¼ãã@c[ßhz—. ÕqÞm·Y§ûqdÞm ÷Æ„¬wYÂòÅsÒ;™·êý’Út¡ÌIïdžbÎèýÄ“W{ŸÞ¯Hïdnn¤wÒ;™vÌ[õNFFfk¤w22í˜÷é@ ÔoÒ;@hz÷˜÷]„†áDöõݤwA ½Úé@ÐHï‚v@z'´Ò; Èz¿…¥w‘ЗÅ ø$KèéëÁÆ<È,òË[˜K0—1‚ ®T´¡îÔGÙoÙÒ–z?Ð++=¥H õHcY¡,3̈ŒAæi|K \é½–è˲úÚÿ*5ˆ¥öÐ͈ÝM³=Œ)ø<þ,GJgéó)>O¨;¿3×û¦ö½ ¯t ³ÜaÃXáHVÁJǰ’ ~å“ͨ"}¬P;]ïÃÁJÔ,¡úq;Œ”Â2’Î*^beÃXåPvn&ÊÃYùÓ§˜0áìv¦ÿß–õã8ÓÛ¶z/ÆJG?K"ü€Ê±Fi_ˆl"P3Õˆê)~¶¸é T‰Ú€ jBá’°® GrTŽð/ýdb};SS˜S²xbé‹þ\ì½,ôž©Ð{E„d~a‚/ ”u×NoÊ1Óˆ‹3šÈ0Ìô3"Ê¡zâ1lA뀂^ª,N 4ìÊ¿låÄ„äâöÁ?^÷к_߼÷7uüºùã_·è¸¾EÇïnèðýuÇ^óèlnò`¬_ûXŸû7³{¿¿³ëúø£ù%Ë&ŠæÞ®Þ!v¡wÑ*Y)ýb´ HÞ•xßß`Hÿìóôš©°¸‹ zA"x lõ^[”Óþ…ƒ-:¸µû»ƒãÛõŽ¿¯wü½½âÛöN¸»×á;z&ÞÚ3©ÕóI-z$_ß-éêg’¯z*ÉçñÃìÁ]wvý }Ýz;ÄŽþyÕt®w!j;zw,vºox— ilÃèË\œ@hLØŠ€f¯ï”r[ÐÉöýN=6ðôáiOMïžÞaHú£C2 Ïl7(ûΰì›ûå´ɹ.(§i÷lßÎéì±Ã¬í7Vz_Ú’%Þ©èÏay#|rGùê"üô/säo’?©IÁ+Mr'úçLj’û Ÿ˜èÔBïBàS}8Lçm®‘!„v<Ò"ý³ÖÍ.Ž (@â0é<1ñíS.*+/+çë<þL3eÄä•Ô±¸2³ØŸK®;VéowŸå5(# t„à¨`ìvãkLçïÐìM]Oµë›ÞapÆ3#²ºÎî6&»ËèìgFçtÓqTîÃ#tí†êïœwsXÞ}òšëý»eû>‘ìsß,+Ÿ¿ÿÙë=¹-¿^§ë˯ÉCïKz´z¯Kó÷Ÿmþ>>»šñž ^ëtÓ‘ÆÃ'®Ï_\ÈÅ¥¼hPµ-íÂxŸ¬ñHß)'ž1V…­®z)À 9n0|ßzÎ…ñþçþk|;\Þpa|ˆñ:ÿxŸšëŽòJÝùáüú<ÊR›§ñìȬçÇeÿø[R‚&äNÈí6>·ó8]Çýƒ#óîžô5ÛÎ]’wuÿ§ùÞ¿Qè]Èõ¾ça³ÞQ àz7KÕ`¨v|õ¯Ö`Ø»rÖ¡!Ò5=é➬M4¦ºò5ÆjÞ!‰ƒFt=fcöâÖ£Þ‡˜õ^áé݆]÷õ¹áoq'ëó:«°*}L4Ûzö™Fm>ÕL‘3}ýçé†`+ç‘-luÁØfv/›ŒÅÓwüf@f,X£O»"vU¹N±ˆ¼cbVìsÍ;þv×P'ïŒU(‡iFÅKÆ[râŽävGÏ´§‡eBì/LÊ‘5Øsrnà$]—ñº§Æé/§£‰¿.8·Y—cMŠÅ,¤ ½£/÷ç¡÷l´øáüž;oÈ$±× äÙ³|Vü`®tœò T™´™Õ#@\úªcø:‘XÑ—' ½¶ºÒ¤÷õh+#xà Yí¼¯OE„¿¼,`µNy¶È¤÷ħš‰œXs!Ö¶ºBª1Ä·y&½[-^ýí …R… <õÈxª™Õ:Åzä«4éû,6gµ±à§=ü ?ï¯÷ÿ/ÝèÎKŒ@pP:Pn :óÝFg…LÊé?57lZ®,íç'ëºNÐ==N/§ KߪŸ¾EïìžK¹æ®w!öÔGÙÖzOíÆõžλô©Y¿¤ä‘çÀ'30Š]éª×jÊèP:‚ T¯âë\0§H¬ý‘ë}eØêò×η­çTŽ0êý×ûú”Žð——.¼a±Ny¶ »Qïñ›‰œ†øhô¤W¶žS:  r„Qïú1Íì.nØ3۪ǂÌi›Y­S¬GÞ±rÌšöÙog |ÁïCÄì¡tDˆÒ‚ Q¤ v!+ý씥‡^Ì~9»ÿ”ÜÓuƒ¦ëD™%ßm‚NL”T\¼{°þÖ0}›P]›>Ù­ž?ö·? =£‡ñyZ¡÷=wñ‡î¸Þõ~Á‰özOX5mO˜¯x2GÄsó,.Ž­lݬ¸€1ñËôo0;Ô¿f³Qï%ýzÿ¦õœò¡F½ÿÒ®òc2äužî`šMÿæóôòþF½‹­ìÏj6†”K .r–5êýÜÔ»‹×l|Á6syOëu–÷·Ø±’¡LÞg8b»† ÿÆø |qÿÙØÜ/]ü­Ü!A–9€“k(Qgö}%gð«º!3tá¯ê¡úЩ¹K»/\w÷@Ýmýso ͽ­_Öm½’›?ÁÏß!ö”§øi;ôþA ½ç‡×CïIÿ™’0ȯp” 8ï˜g¾¶† óbPK)ƒ4ÚÍF%€Ž.ºÁŸ„­†  Y\;_µž£ãzß Y-hÝyöwhV =Ó TXÖ!†ßæ º(˜¹ºD’VõÓèÕ‡,›“3š7ånL[Ð:@t§ þ½ÓÑâ"]d>> N¾·Óv‰š)wì(fMû\1Ïßv Õ›C½Cy'÷çs¾jݧ`¨?¼@` „KB)s’Ì å’ì4á¶þ>®÷_na‰Oó‡í3Ãø“ó²Þ/©úc1‘˜ÅŽR]6ß(®Ï(½(ç’—÷팤wÃÞ>¦0ùïy‘ ò'¼•7z®ùj|ÐØìn£²Ÿf–üýý3 Ë|x@úƒ¡Gn{æ;¤ˆÆ]©÷ýXb®÷ŒA|å—9/ õõëR߸þä›ÍOÌ»æÄk)3Ù‰¹MRf1Ýë,e¢YìJ½«^–îÕõå†H·|G\º„ÔPhvÂÛy+¿>ûÙú¨~þ’™L[”3ú oéǽ‘7öõ¼Qsõãõ§çö‹Ì z9»ÓðŒö}[>Á‡Þ;ô¾ý£Þñ ½ï d ý| w í%– fyã8 &øXA¤çõÉͳqP¯žÚwÒ»+ Ç'S¡÷9.þòÌòug}V<û£‚¨w!öü‰oçAìcæéGÏÓŸ­2S•ûÂä4ñÃÓÛöJx¼ï– ù9Ð;.ëÓ¶zOs ÷¢IL†¬}!|›¾=@prM¨l „äuK&¦fTÍú  âõ¼ðºÐÈ܉9ÏÍFï½ûŽ.#³€'†dÊlš~gÏÔ'%$¦œI{w¢ÐûÖùùû-ùtjv°/b·«wY㥯˜a¥ýâ&P8’`<áR;ÉÊÞ2×þÿ¼e« ­°¹¤¥¿?ñ`œªã^4ëÐ;ÒѸCïBæJ± ¥—Lõ¨ˆòs|«|{­üJ[Ð0¾ÌQ0Ö÷ŸGñ]lÏ—­ÎäSþTé5òÇzs`âH—ü·mŒ¿v‡ÞÑs@ËnÕi¯šîw1ºií,&Þ[%¦Å+­D¢˜0&Jo¾2¿äŠ@°ã ‘&ˆ˜A 5 TEú\˜à+ÚЊŸÒ1ü³ø¯–)Ê®µx‡|~¸ñç'¢{‰ ’Oíf~»NÞQ”OjC¶†ù-8þq Ç{ws|t¿añCf,ï`„2‘@ 4 З€rvQ[#0-d(‰ÊY!UB¿ó[ˆ÷Í– ãÔÉbgŒ Éø4Þ{IºÚ0Ú|ÙAþ)+A†ê¿­v7È¿¹ X•ë"dúylôÓ9ù7t<½¯ôcº¾ü'í@–4Ë¿êË_R±[iÜÙ·þý_pð™×ÙÅú^û%ó*óaÌ׺L¼ã×R¢H¦‚ùàèû‚~àU ?Øl €Wƒ×€ÍÀkÁëÀëÁ¿7€7‚ÍÁàM`K°ØlÞ ÞÞ ÞÞÞÞ ÞÞ Þ¶ïÛ÷÷ƒíÁÀÁ‡À‡ÁGÀGÁÇÀÇÁ`Gð ðIð)ði°Ø||ìv»ÝÁçÀ` ø<ƒ=Á^`o0|ìöû¡`ðE0 ƒÁpp8_G€#ÁQàhp ŽÇ/ƒãÁ àDp8|Œ§€SÁi`8|œÎgÑàlp8| œÎ_ßßßßßÿþ\.ÿßÿ¾¾~~~þü\ .—‚ËÀåà ðp%ø)¸ ü ü®ÿ ~~®ׂ_‚ÿÿ¸ü?ð+ðkðð[p=øø=¸ÜÆ‚?€›ÀÍààp+¸ Üþþ þîãÀàoà.ðwðp7ø'ø¸Ü î÷ƒÀƒà!0Lƒ‰àð(˜&ƒÇÀð8x< ¦‚§ÀÓ`˜f€™`˜ 怹 Ôƒy`>X‚E`1x< –€¥`XV€•à9ðøø!øøoðcp1¸\ .—ƒ+ÀOÀ•à§à*ð3ð?` ¸ü/ø9ø¸\ ~ þüà:ðÿÀ¯À¯ÁoÀoÁõàwà÷àp£õ_/×^mrÔÚÜxžÛhmDÁÂÐIÌg‚8 œÖÖĘ—W+ïFò/Ïc;E>_y‰ÏsšÖík\77ƒtŠŠúålsÖ¦xñg›,yƒïkþïý}×\”bþý!L7ýc×\>s× Ì´¬Aq‹õ=èÓ/`½qôI1", Ê`/e³Ñ:ñé36ŸÎc/éØÈ<>1Ò„a;‚|ö&“ʛάm1ßpË?8Ú.2Üÿ‘¡Ã‡†Ë Ï.á趂㹕!2”¨#\ÂyßQy¾ïÔ’¦ÑùÜýŽÂC‹ÍÀáP&^þ÷±°L6è„Ï„€M*À±ð‹ªð›^…#ÂfÕúÍ4bŸr¢˜‰Mf\„|DN‚30Æ¿ïAöRš¨äÇå‰c£ À…ðo'—›1¡„à$XÇßXŸTÿA'ŒPù(ñJ©râ¤"ž'¢Øˆ‘…ä9âîã}ñ—asž‚ ¢#$º@èÃr ÎâÞuöâŸm7þrÌa×I=REäÃsœåm¾åñïvÀ·'ÿ5¯%µ|;õÚù'¯žw2`ÞÉë^O½þÔæož¼fÞ‰€×N°™)Mæž`³RØë:61Å\à•e¾ŽmÇŸŸm¡ðOÙϦfQ lÚa¿™‰þ30}˜M‹çŸÓã{¬Ìa‘ñÁk+k#Å,tÐN£zasCÔÿ²çÅIî¡´Ôí‰Ç·9±=ñÿä8ÎS0›x|K|ÊÖÃÇ7ǧ|“˜Õ飣,lÕ<—‹[~aö³.‰¼4(C:sê½tã¾Ìô`ÿyei–kÒ6åYm.dSµÁP3—OGD–ÊhÕ#P¸~Ÿÿ§YTÿÁâu‚N½tÂÚ4ÄgÍl¸Þ)þéŸvM›2žM¶‰ñê°ý„/Çç´^ç/üÒ•†¨^ûWì˜rŸ]ÿ9¦ø_ú½Ë“ÿ{ÒoÀA¿Q…oÿùÆø[ÅÜQü1ëÿØ‚fÜ—â8¬1swŸv[]æ—k`gÇLûìêø‡e¢1ÅÿÒ﹌9¦ˆ!¿ÊgŽÿ ž¯@qŒNY-YöÉìbú|´Õ·K,–[aY§¡î_•ðȬ0.+–RdŽ[Y÷â_¥m*¶·Î «“ ¿ØgGkPúbÊV7îÚÃ:§°^Ù(ü˜UÄÿãŠLùO’ß ã!˜§t¶:fžtéu¨Ø¥²ÙíxuÔçóBƒ¡ñè_“%´ü•ÿP$8cwŸÖk§E²ÿ—¾ ÏÏ¿„#ãùÑÇTaçf·GË‚EL±z:ÉœùÓ9_ÜG«šµ^ðº£Å•™/Ƽ¾+ ý.ûë´Ø1Ë}¶]ƒrou™/à@é|îØBª2Y_éñ˜RŸy¾£rý"t~/ë&ãóšLÊoòJÿÄÜ&“rš¼’Ë1)³Á ¾=9ä‡}BSøSˆ8La™F Ê0O à[B½ ŒP<¿tä£`"‡œ_± Á "°vÑôÉ­"‹ÂO楊¿–Añ§økŠ¿–q5ÅŸâïÞ^½ÝûàYñ·½êéFñW×<1þ"w7>˜å{ÿ(þÞÿ€ǽ0þïfeåe¦ø_™ø+b¿.¯rÝ»Žãïºážñd,ðãÆÙ Æ_ùø›cî(¼Ú‰à¸)]hÔøþ¹2ëçx–µ…|Bd1mL:Œnf)´›gÝ|Y¸H$ó.¶bLt×ø/Œß0ŽE®UÆ?þ㮦—¶H‡†§ã0ñù)v,6N˜™2§1Å4í þ»áÈq„hÑÃîµ»Çßä<iqžx|·8 ßSáîÿ¼”ØH)ž¶å_9¤˜•'xεSظX«ºË™øÃ…âm*º ‹¿2Å"*X-6a0ÈŽãoŒžE Mf•n•ßâH¦cq©úG*“•ëÖfeI*pMüí7æ£p…âß´CŠ â/Õ9S>–£jÙ"Ôÿú´ýϵüocí¡¨+x¥msõî )ΦºÈ¸ÎÝ¢‰1u±Ü<þ…¼2±,í¢!¨#þÒ"Ɔ@†Sõe­h+í¬"¶‹ŽHé?ÇבǺ âé¢ä—½rõëâ/×ê¼90Ö=‘ãê*ÿ¶5U=âߨpÏø7&(þno2Š¿ºFñW×(þêšgÅßûàAñ÷JPü)þZÅ_]Pü)þÅßÍã¿þ«Uªç&n²'W—Œ¿Šç†î³'WΨþQÔÿ¤økŠ¿–Añ§økÕï•\ xPÿÿmo¼ÿHñW×(þêÅ_]£ø«kuÍÿhH‹ Qül#:NÍ^¦yjüCbÒäiO>ŬBò¼|dâ¢Å´9“rª™7Ä_Ž­M‚ù ã”"§õJÔ1¯Š¿²]ÌÂZ!nÒtxCüÅ,­)ÕœS²1ünRæ•æùñG—ʱ"ÑêPDGG›æL™ÝÆšvôÌø3«Š†®HBÀ-:HŠÛÖQªšGÆß‹Œâ¯®QüÕ5Š¿ºFñW×<ëú§÷Áƒâï• øSüµ Š?Å_Ëð ø«þ[¡+êÿ«ÝU¿"æAñ÷JPü)þZÅŸâ¯exPÿÓ+Añ§økŠ¿§€î¿¨—_ ø«êÿSü=Š¿–!Çß…¿>óôø«2Ÿ }æññWc>þúÌóã¯Â|.üõ™7Ä¿Ñàsá¯Ï¼#þ<Ÿ }æ%ñoÜø\øë3¯‰cÀçÂ_ŸyQüo>š§Ç¿1¡Züy·Ád¢§ç ê¨]¯pG݃âφkÃõn‚çV4ˆn+Ü-&¨ ¿™Z„ÏÔ‹n¿ %ÁFæÔİ\‚šœ¥E Êp¨ Š¿¡zØe„çnÕCA ¨‰|A»PýR¼Æ1¢T‹Væ.x©‚ &".T„Ïx-‚EÔ¸ |#/jlB­›@õPÍBõ PëP» Ôïyš¥EôJwÅk>nÕ*&@ Õ`Ò8\þƒJ222222222222222222222222222Íšê7@5Õ @ h ë¿ZEPjŸÿiÝT @ ASPý„Æ¡öù™÷˜ê7@5Õ AƒPý8‡Úý_­›ê$@ @õ‡Úçßddddddddddddddddddddddd®76\ïV @±ål Ã?û꤉i³RJß,Ö+›|VÇÓ{å³çÍž2†Ïn+ÜÏ­´Rž]bñé>´FÛE-æšL­Ë¬ÃŸÂYØC‹Ý÷d„rVì6€é»ß³•³·üÃðT éôZ€ +c]ŒÚgêEw€ßL¾'lV-&ð)Ã'²Êw¿Éå~J|"*ؘRö’ô9¢³Æ”ˆb#FòO¤„ç…€`p :º¥Â_¬ÇMñr!ÇØŸ±ù¾£òö’Ž ËåÏ1Ž ÊàK|BSY …õ>Æ 8Ûi?kó-WñÈ»nyñg‹ >šÿnTþß'ç½=1ïqúycôóFëg×Í’–3ù…ìˆçÒÃ;&ôj»¥ïã9ùŒþ޳ݻŽ]ÿ¦úÊàêË4yš)‹þæ½=áì×+KÖV¼ú½Â%ó >˜™¿hZÞß'ëßš—ó^«Ÿ;J=*‘Îúr`ŸõÑÃàé™5­x»àýù "óÞ¯m´nÖpÝôÁ¹ÓäLî›3¹/áÏe|6}È“‰ý\ÿtî/Ä ïÚcôW®ëÔúKJgC³8Lþê¦,\2¯pÙpöÜ]£Gè¢ËB­fgCïÍì{Ofh»ô°Žö{àûgnåþ>•béo¾A>Ê8Á1yÍÕÕ/¯„猂rs§Ê™Òߪw‘=àþìÛfõ»++ôžŒÛ%õi·¡ÓÍFÅ!FìvþX‚nîïðNºiô3‡êQ!Ïš5÷:&õ6kyèÃ9ƒîË »''ôŽœÐ;3ûßüÂÝžjÅý}ö¸ñãø¶ø@:Ùt„—˜¡ðšÔÁs^é«{u°nÆý«á¨®s§†Z_]ø}ºwçö¿-7ô¶¬~·%÷ºmã͹¿]Ò¹¿m“ùñåþ–¹Ì^Ÿ°Ï/>„¶5wJxª›>(7j€ÙÍ ÝÄÄÅŠýà»õa·êBÛd÷isìùV?tø÷·GwùÑTîoË¥üôÊÝ`é5ö9½o»¬ÑÝr&…äNíŸ;-ÌììäçuºêÇ™ëç¼°›õýZe÷n‘òÜ ±\Ãý Ô³.™f#.¸F* {^`ŸÓzÞ‘9ìéìqÏçLzAv-wrOݤ@Ýø.úqOå~ÄìrŸsƒ¯;Ö¥YìCM¸¿½ò.£Íý­qÇk,Ü~ž ;‡}>Ý£MÆ€GÑôÀåŠß~äÎNʘ;¾›n\g}DǼ‘æ¿éç¶­É ¹>§ÇÕÇžößx¿/÷·÷îoç|Þ뀿jÝr$¯±Ï§ºÞ„"1¸CÖˆg²GwËÓ-{t—œÑÏäŒî”;ª£nÄÃú¡íò߉Œƒ«n–ÝÍ?ù ß ÷ùýÅ!†¿8qh¹Ô7ò¢ûÀ®×Øç”Nן ºíT¿ö§>–þDúÐ'ÓÃ;¤é1äÑÌð³µË»3§ßÍ9!-r‚®ËîÞ4½³ïáÇØ7mù5:Ö¯Œ» ¥ò¬º—t9§¨öà ítnq û­ñÁwÇ÷nßû¾ø^÷&ôn{¸×݉=ïHêykÒó­’{´Hêv}ò3W'=uÕáÇ}v=Ⱦíz§µ¿->PÝA‡Îšü¸²¬89áÇàöëºnýã7~Û¡ù×oúúñæë;¶ø®c‹ï;Üûøu?ßßËÖw½3ÿhüÄe%Vþª¯V;eØ¢ÒöQ9ñ“RC=-§°fââÿKÍúþªÞÉ®‰ u²hŒ†V¢ræÀ¦åÆO1!}’~gø§øGSP+ÈþöJw ðS¡,û_¥²º™Ðý„q¶‡ "Ÿè-SŒÝfLàý+“¿>Añnvå ú“Rý¬ú¦¬Ë v÷׬Ňªï ùKþ’¿ä/ù«iÑ9¹ý ø«úf]‹Kú[ß~¸;ùKþª½®4ò—üU{]iä/ù«ö>ºÒÈ_Mû{ùëÙFþ’¿jï£+ü%U¿âÔxׯ$eð2¿Þ ò×»Áºãüh ùë­ýU}À׎sIÕî¹Ø¨ÝŒŽ³L1ÎSü×À]wbbŽ\´)Êi1!!1iøT$Püóä».»ša¯þA¸xñ©L¡øóËVâÒ>ÍGDyÜ"Eq…ÖÁ(Ëøó2oªm”…^(‚â¿ÃxçN¾Ë/Œ+î²ñD¤˜®:qÐAù—¢-ŽFý›¯¿ù’”ƒûAÖ—m-®ÜÚ…ÝþuuS¿âïµñ·¸f.]WÁîm£KCŽZL´)ÄVÍ-—A}ÂïµñGÏÇXÕäÉUÐÚ)V·á”5’ gêÇÝÏzß‹ãoY°M‘çÏ8jÙ% ó/—A<†QÏ¥(þ— ù6è%›ZŠ¿‚âOñ×2(þªÇŸîÿzšRü)þÅŸâ¯ePüÇ•èÿPüë—÷ÿ)þOÅŸâ¯ePü¢Q~bÿù7ã-GgRl-ÎCãoýs3âoõ‰3)&žXñÔø[ýÜÒã/ŽÇÇ_9æÊ- ”—Ÿ={&/_—^güK׬Y{Pg ûš¥kDüÍ)±'%þòž»xЊdEJòÒàà¥Éò§Õ·®CYÙ™3Åú¼ÜºâÏý5–öø¸5KãN(Ë¿9E`íš_ã!þòž» I<ÎI‰›¢Ø´-<=Á_žäºmY¢´´¸¸H§ÏI«#þpÖX¼•uŽ˜¶JqêŒÿ ¬¬ØeHZ¼$É"ñŸºéþò©Ìú[—¡´´¨¸(WŸsºÎøŸ±Sç«yÏ]‡Ø(¸ü¨"åèâààÅGÅgiÑÑå,*Ö¥[4¢¤¤°¨0G—}ªŽøÃYSXPÛ^Û¨Tÿ@³@II‘ qtY Z|Ô8‹ÃÁ‚–%”]dLLX$¥¸t£ÀÙ³……9¹YuÅΚ[Û±¢ñÝøkìF•Ú_¹ä¸ü˜,j³”hŒ¿È J¼k7zölAaAvnVjñ/rUT]yϽgÎäägådž¬#þpÖ­â/íy¾wÏ|}Fvæq)þŽüu«øää…¹ž ¸Çƒ"ýÔQ^΋3ùÛÈÁ/.Ê´ÿ¬ÓZ…¾÷׾̴äôÓG3N'aÂsýOKM€oãŒ,û«öù\#™æÊ³VŸWQ}OÈ_ò×…þjdüPÙ_/{_«£ñ:e52>¦ä/oÕAÒµæp¬­´ ¾.¾Ì0c¼?5nsñ›âÿ§?ð¸˜×ËóEøüÝ'ýñ½± ÛÞ}ð\e©2mó®ûÛJ=ªÛpvÅ1çVƒõ}wÝÀ¹|¹]Äò<Ϙö³Zn–1-û$æ¯a¢´›ÖÅ— žç_LÙ{iÉ‚ ľÜV"ü=ÛDøËý»5áŹÿƒÏÿ0½uë’7’@^ŽLÇ×T–ù:CŒå+ ‡™ÊÚF,gšþÓßvåƒêºê ª7¨Þ°­7œ5.‘W¦4a–©oSW—‘º“žkÿf.r×çÄxœì]`%Eý^°¢bï±÷бæyÆ^»ˆ¢(1ˆbì]Œ&*x  þ)ÑÝ;à€pÜÑ RŽv¼ãHŽƒ»ƒü¿—¹Œ¿ÌÌÎîÛ·ý}ã÷áÞfwæ7³¿™o§¼ ÎØÕ‡óøÿFx]p¯àžÙ­‚ûŠsO·œÿÇCƒàE÷ ‚-pxÏììlëÔ½À{ƒ÷[÷áÏÁýÁ­À€n >|ˆŠ&xø\üRðeàËÁíÀW€¯_¾Ü| ¸øZðuà,CGánðž¢`(,¼/Àÿƒm‚7ýøÿ=ƒ¯™M7<µ]Æçž{b^7´›~Ú¡Êé§ùü[ZpÊè>:§óöW4ê ^ðtyí6~Ì.=s‹£Ý~Ãæs=H½•î®sÿÝ«]óƒ‡[nÑÒ¤–öÄÍÿë‘þo{1PïOŸn>Ü|Ør–g€ÏŸ>|ø\ðyàóÁ€/_¶Êé%àKÁ—/·_¾|øjp{ð5ààkƒÖ» | P>øFðMA˃ ¾\¾ìß ¾ |;øðà»Àwƒïß´êP¼ü¸#øAp'ðCà‡Á€?~üøIpgðSà.à§ÁÏ€-Oü,ø9p7ðóàÀÝÁ>ð‹`?8~ ÜÜlÕœAðËàWÀ½Á¯‚­Úüuðà7Áoû€û‚ûß¿~üø}ðàÁ?þüøsðàþà/Á!ðWà¯Áapü ø[ðwàààïÁÅàAàÁàÀ?‚‡€‡‚ÿ þü?ð0ðpðð¯àßÀ¿ƒG‚ÿGÁ‚ÿÇÀqð8ðxððßà‰àIàÉàx x*xx:xx&xøp ¸<<<\žž^N‚‚ËÁ‹ÀàJðbððRð2ðrð ðJð*p ¼l½x_^ ^^®oooooWƒ·‚Mp x¸¼œgÀuààzðNð.p¸ÜÞ ÞÎ5h°··ïÞ¼x_ð~àýÁ­À€n >|øPðaàÃÁG€>| øXðqàãÁ'€OŸ>| ¸ øTp[ðiàÓÁg€ÏŸ>|ø\ðyàóÁ€/_¾| øRðeàËÁíÀW€¯_¾Ü| ¸øZðuàëÁ7€oßö€ ðÍà"ð-`/øVðmàÛÁw€ïß¾|ø^ð}àûÁ€;‚w?~üøQðcàÇÁO€Ÿw?î~ü ¸+øYðsànàçÁ/€»ƒ}àÁ~pü¸¸'¸8~ü ¸7øUðkà×Áo€ß¿îî î~üø]ð{à÷Á€?þü øSðgàÏÁ_€ûƒ¿‡À_¿‡Áð7àoÁ߀‚¿ƒƒÿ þ ü3øðÿÀÃÀÃÁ#À¿‚ÿ þ< <<<ÿ þ ÇÁãÀãÁÀƒ'‚''ƒà)à©àiàéàà™àYàÀ%àRðlðð\pxx>x8 ^./W€+Á‹ÁKÀKÁËÀËÁ+À+Á«À)ðjð¿à5àµàuàõà*ððFð&ðfðp5x+Ø×€·kÁÛÁip\Þ®ïï7€ÁMàÝà=àÜË^œZ/O[‚÷ï Þ¼/x?ðþàVàÀ‚· >|(ø0ðáà#ÀG‚ >|,ø8ðñàÀ'‚OŸ >Ü|*¸-ø4ðéà3Àg‚ÏŸ >|.ø<ðùà À‚/_ ¾|)ø2ðåàvà+ÀW‚¯_ n¾Ü|-ø:ðõàÀ7‚o{Àøfpø°|+ø6ðíà;Àw‚ïß ¾|/ø>ðýàÀÁ‚;? ~ü(ø1ðãà'ÀO‚;ƒŸw? ~Üü,ø9p7ðóàÀÝÁ>ð‹`?8~ ÜÜÜ ¿ ~Üü*ø5ðëà7Ào‚ß÷÷÷¿ ~ü.ø=ðûàÀ‚? þü)ø3ðçà/ÀýÁ_‚Cà¯À_ƒÃàøð·àïÀÀÁ߃‹ÁƒÀƒÁ?€ÿþü øàaàáàà_Á¿ÿ  Ž‚ÿÿŽãàqàñà à¿ÁÁ“À“Á ððTð4ðtð ðLð,ð?àp)x6xx.¸ <<¼œ/—ƒ+À•àÅà%à¥àeàåàà•àUàx5ø_ððZð:ðzpxx#xx3x ¸¼l‚kÀÛÀµàíà48®ï׃w‚wÀà&ðnðpluš¶·ïÞ¼x_ð~àýÁ­À€n >|øPðaàÃÁG€>| øXðqàãÁ'€OŸ>| ¸ øTp[ðiàÓÁg€ÏŸ>|ø\ðyàóÁ€/_¾| øRðeàËÁíÀW€¯_¾Ü| ¸øZðuàëÁ7€oßö€ ðÍà"ð-`/øVðmàÛÁw€ïß¾|ø^ð}àûÁ€;‚w?~üøQðcàÇÁO€Ÿw?î~ü ¸+øYðsànàçÁ/€»ƒ}àÁ~pü¸¸'¸8~ü ¸7øUðkà×Áo€ß¿îî î~üø]ð{à÷Á€?þü øSðgàÏÁ_€ûƒ¿‡À_¿‡Áð7àoÁ߀‚¿ƒƒÿ þ ü3øðÿÀÃÀÃÁ#À¿‚ÿ þ< <<<ÿ þ ÇÁãÀãÁÀƒ'‚''ƒà)à©àiàéàà™àYàÀ%àRðlðð\pxx>x8 ^./W€+Á‹ÁKÀKÁËÀËÁ+À+Á«À)ðjð¿à5àµàuàõà*ððFð&ðfðp5x+Ø×€·kÁÛÁip\Þ®ïï7€ÁMàÝà=à,جßܼxoð>à}Áû÷·>|¸5ø`ð!àCÁ‡>|øhð1àcÁÇŸ>|ødð)à6àSÁmÁ§OŸ>|ølð9àsÁçÏ_¾|øbð%àKÁ—/·_¾|øjp{ð5ààkÁׯß¾|Ø6À7ƒ‹À·€½à[Á·oß¾|ønð=à{Á÷ï?î~Ü üøað#àGÁ?~Üü¸ øið3à®àgÁÏ»Ÿ¿îö_ûÁðKààžà^à øeð+àÞàWÁ¯_¿~ü¸¸/¸ømð;àwÁïßþüøcð'àOÁŸ?îþþGÀ߀¿þ\  þü#xx(ø'ðÏà_Àÿÿ þ ü;x$øð(ðhððXpü'ø/p Oÿ žžž N€§€§‚§§ƒg€g‚gÿ—€KÁ³ÁsÀsÁeàyàùàà$x!¸¼\®/////¯¯¯§À«Áÿ‚׀ׂ×׃«ÀÀÁ›À›Á[ÀÕà­`\Þ®o§Ápx¸¼¼ Ün7wƒ÷€³`k¢n pKð^à½Áû€÷ïÞÜ |ø@ðAàÖàƒÁ‡€>|øHðQà£ÁÇ€>|øDðIà“Á§€Û€O·Ÿ>|øLðYà³Áç€ÏŸ>|øBðEà‹Á—€/_¾Ü|øJðUà«ÁíÁ×€;€¯_¾|øFðM`Øß .ßö‚oß¾|øNð]à»Á÷€ïß¾ü¸#øAp'ðCà‡Á€?~üøIpgðSà.à§ÁÏ€»‚Ÿ?î~ü¸;Ø~ìÀ/{€{‚{ƒà—Á¯€{ƒ_¿~üøMð[à>à¾à~à·Áï€ß¿~üøCðGàÁŸ€?þü¸?øKpüøkpþüxx ø{p1xx0øðà!à¡àŸÀ?ƒÿ< <<ü+ø7ðïà‘à?À£À£ÁcÀcÁQðŸà¿À1p<<<ü7x"xx28žž žžžž žþ\.ÏÏÏ—ç烀“à…àrð"p¸¼¼¼¼ ¼¼¼¼ œ¯ÿ ^^ ^^®oooooWƒ·‚Mp x¸¼œgÀuààzðNð.p¸ÜÞ Þ΂­Iú-À-Á{÷ïÞ¼xp+ðàÁ[ƒ>|øpðà#ÁG>|øxð àÁ'OŸn>Ü|øtðà3ÁgÏŸ>|ø|ðà Á/_¾|ørp;ðà+ÁW¯·_î¾|øzð àÁ7=`|3¸| Ø ¾|øvðà;Áwïß¾|ø~ðàŽàÁÀ?~üøqðà'ÁÁO»€Ÿ?î ~ü¸øyð àî`øE°¿îî î‚_¿î ~üøuðà7Áoû€û‚ûß¿~üø}ðàÁ?þüøsðàþà/Á!ðWà¯Áapü ø[ðwàààïÁÅàAàÁàÀ?‚‡€‡‚ÿ þü?ð0ðpðð¯àßÀ¿ƒG‚ÿGÁ‚ÿÇÀqð8ðxððßà‰àIàÉàx x*xx:xx&xøp ¸<<<\žž^N‚‚ËÁ‹ÀàJðbððRð2ðrð ðJð*p ¼ü/x x-xx=¸ ¼¼¼ ¼¼\ Þ 6Á5àmàZðvpœ×w€ëÁ;Á»À àFpx7x8 ¶èln Þ ¼7xð¾àýÀûƒ[>Ü|0øð¡àÃÀ‡ƒ > |4øð±àãÀǃOŸ> |2øpð©à¶àÓÀ§ƒÏŸ > |6øð¹àóÀçƒ/_x?µ†àžç-߀xÞ¾ ìà›ÁEà[À^ð­àÛÀ·ƒïß ¾ |7øð½àûÀ÷ƒw?î~ü0øð£àÇÀƒŸ? î ~ Üü4øpWð³àçÀÝÀσ_wûÀ/‚ýàø%ppOp/pü2øpoð«à×À¯ƒß¿ ~ ÜÜÜoóú©Í]Á¹µ\­·††ZaMÏùŨ÷¯z0þ¶œdQëÏŸûoëŽ{mqÿ¹Õ^œ»¥uô -òâ5Ö=ÙfnÆlr‹ßÏýµu¾õÿ­YÝÖ™ÖÈùssÄð¤púƒƒ9·{6m"‚ ¢êPšÞœž!‚ ¢Ò ¦AD=@M'‚ ˆz€šNAõ5 ‚ êj:AAÔÔt‚ ‚¨¨éAQPÓ ‚ ¢ ¦AD=@M'‚ ˆz€šNAõ5 ‚ êj:AAÔÔt‚ ‚¨ºJÓ?h_‚¨: ¯GA”Ý¦é³ UÔt‚ < ¦30®¿µÙœž^rñÅ'œ{îØÒ¥ÇœyæQgœaàè3Î=묉 .X»nÝõ«WÏRÓ ‚ð‚šÎÀPH€¦_|Í51/^vÙeÔt‚ "AMg`($@Óñß[o¿ýò믿bÕ*…+çœ.¹öÚ[֮ŕ§^xá,5 /¨é …¥éèª_sóÍ×ÞrËu«W8pæê›nšºñÆ«n¸*YÇ•'œ{î,5 /¨é …¥éè‰CÊWÝz«Æõ •²~éu×áÊã©éADšÎÀPHК¿¡ÙÔ8méRÕa×½u\3KM'"¨é …¥éW¬Z¿iͺ]²Žkf©éAÄ5¡ 4ýÊU«lAWÐ#ðÔt‚ b‚šÎÀPHPš~Õ 7Ü|Ûm€–òU·Þ*eš~圦sA‘ ¦30”¦OÝx£!è¤\Ê:t–šND PÓ JÓÑ ¿eíZò­:ì×Ïý¨ Ћ唦Ÿ¸lÙ,5 /¨é …­é«×®]='ëJÓ¥¬+(M?ùüóg©éAxAMg`($(M‡|7§§o½ýv©éêWê ZÓO[¾|–šN„Ôt†B‚ÒôšÍµëÖÝ63Y×½uµ ‚¸CÓÕ¹¥—\2KM' j:C!Ai:D|zýzȺê­Ëqx%ëZÓ/œšš¥¦á5¡ 4}fýz(8´ûúùoÇMÝx£úÒ»úØû¥×]¹ŸûâÜ,5 /¨é …hú†M›Ú¸ž{­j:C!š¾zíôêµ-Ï\3³î¶uwL¯_?sç]ëïºëÎïšÃ†»ïÞxÏ= ª_OMúÇ›cêxhÅÌP£Ñœ^Y¸UQPÓ Ôôd胎JÇ©éa€šÎÀPH¨Š¦A­D_ ­×*Åg\09ÜÀIu1dwhÅJçõúXÝØŠ¼¿3òz [µ'§gz#Í#ê¯:EXØœ7N*õÇ™ž ¡n1 ã—:Ë*BÃN#×…7k!AMg`($TEÓmÕ3NöA.§ÇG[É€o†è¸>– Þ3¼ÒxpF¢Ï@s•˜Ê¿ªþû(^š¡.‹©éòvX5ÚÈ$”2×…·ia€šÎÀPH¨¦Û5ntCÁµÎÚ*ïŒDäѱ>(ïô¸ü+^*z‚¡±‘¶Fã û±÷ЊqÃNgf ¢$ ¦30ê§ézÄÛ?Vï¼%f?­Ô\­”sjºa†¿7©éêÍÁ̧¦å5¡PEM‡´©qi½PMÿU«mSô»õõÎ{u8cŒrÛ©Ë+å-º3PðÑéqÃŒ¶æÓí±wy±NšN”©k:*‚~IVs^úŒ±ÄXyâY3ã|·W/êñ×ÃPÓʪ¨é8úGtí›DÒÑ•]WÆüuň¾^÷Ùå½²e×{4]%§îÕ½ò>DÛÑf4½óéPpÝ^éÄX#gØiäºÀÖ› l¤«éz IS¼«ëÅ$r% Þ‡Q%U-³WÈØgTl“ÐýùJÝœ«×m­‡¡¦3”'TNÓüµó„²îËöø ±ŸN”)kú¼L7]ë^äçyÏšç*švk5¡<¡*šntZ d¤é²/lŒû¥‹ÑùV‹šNÔéjºòs]}í0M÷¯™ Óô¶ÖÃPÓʪ¢é¹¡(¡Ô“€Æ,?ATYhú‚3!¿K•kQ캬Àëjì±÷¶ÖÃPÓʨéA¤ŽìÆÞ<ßš°—·9×ÌëjFŲ¹F.Îzj:Cy5 ˆÔ‘ݹIÈkÿHœ±¬ÜÆÜ¨é å Ôt‚ RG¿e3àÿÞT¦ ¦3”'PÓ ‚Heøæ 5¡ 5 ˆÔQMÏ Ôt†òj:A©ƒšÎÀPH ¦‘:¨é …jz2¨Ý[ÔqU¾ýò¿¯^G}C£T]øí\ùó¢J?ŽzƒšÎÀPH ¦'ƒÜ¦r"¢w© *ý8j j:C!¡üš.?ÒˆÚèŠý(µ šêrªN¨ÜÃ%ì;ƱgÏ& [&&§gz#úc:EmO[û:Å´Y™ªw›jº¾~iïù¢¯×Ÿª‹“Š*IçWè kÕ—»äŒ"ñ|ŠÓ¹%–Û1æíLü8Tîä8€a¿²'ÌCüž£ã—_–0é<‰2ƒšÎÀPH(¿¦Û˜úrãèô¸þº”Ñ>Ë •œ:Þ´¾=ÕtíÙäŒDŸA›¬%@ÿUuå*å-ž}Ù"mv*lØÞ¬úb/¹_UØN2YªÆñ¶µ“í*a•/]aÆÈ¤å>wÎøÝ^!âLü8tî¤ý“°_Ø#c“ÆGzŽŒ´¿!c3¾Dš8‰2ƒšÎÀPH€F7§§—\|ñ çž;¶té1gžyÔg8úŒ3FÏ:kâ‚ Ö®[wýêÕ³EkzsþëèúÓÆN¬aßpjºgÏ&g$ è@Ž ¨B’§v_m«íc³3Nu†”¨]eå5}cŽÝ*=©„e?ld[i±ÞÐÖoLØ'~³Ä^ÖùãpÚß\ø&fìÇsìT`d¦I”Ôt†B4ýâk®‰yñ²Ë.+‰¦«±\§¦*Ù‚ϦÿÙ°PAôji–SDÚÚ×)ŽÍjº/ª¶4ݰvå0§†ÆžmÓî–XF™wò8´šÛöÛ&I‰ã9êET \d”Dy@Mg`($¨±ô[o¿ýò믿bÕ*…+çœ.¹öÚ[֮ŕ§^xálqóér&trz\N¡ª¶ÎÞP Í ÞƒiÈÚɹgS¤¦ë5fúÝŸRSü¹¶öuòجí4^Bä_cïžñù8©Ù×W:KXƒ÷¡¿<'ñ~cdÒöØ»]tv‰ì ‡ŒJÚ¿’ö,xL!bïöeúðÜ´¸^—hd9•$Êj:C!Ai:ºê×Ü|óµ·ÜrÝêÕœ¹ú¦›¦n¼ñªn€ÊCÖqå çž;[h?]õªôÌ)Zo5ª×8 -ÜPih~&Ýÿ5öcrîÙäÑtÙ ën`¢m Èh‡ÚÙ×)Ìf¡\g¥–K¹Z¸,-þˆDX*ò“Ú² UäFÖtê¿1:iuAä–X¤£ÃdC°߰'ÌCÂvû²Çô…áÆi%QBPÓ JÓч”¯ºõVë*;dýÒë®Ã•Ç­éîkÒûùRœ~z!ð×)§‰/gÒ£b«PöG÷²«ò< ¦30´¦CÇoh65ðOÕa×½u\3[„¦¿e ëçf¡é²?¨ƒsO¨@M/‰ ’–#$qü§*OÁj:C!Aiú«VAÇoZ³æ´¥Kñ_%ëÐt:Î(YÇ5³EhzÎ(sš©¦e(·<j:C!Aiú•«V)AWP²~ýêÕú d½K4 ˆÎAMg`($(M¿ê†n¾í6@‹øª[oÕÇjþÊ9MÏA•5¡ 4}êÆ!è·¬] h)ׂ®ÝŸ¥¦Ôt†B‚ÒttÕ ½uµLNýWiú‰Ë–ÍRÓ ‚ð‚šÎÀPHК¾zíÚÕ eýú¹ßªk(M?ùüóg©éAxAMg`($(M‡|7§§o½ýv­é€ú•º‚ÖôÓ–/Ÿ¥¦á5¡ 4ý†fsíºu·ÍÌ@Öuoý¦5kÔxõ[uµFné%—ÌRÓ ‚ð‚šÎÀPHPšŸ^¿²®zër^ɺÖô §¦f«£é5ø/ATÔt†B‚Òô™õë¡àê7éê—kS7Þ¨¾ô®>ö~éu×Aîgç¾87KM' j:C!š¾aÓ¦6®Ï}¯Õ­ÇæíBœ{zêorêm/ô¾j3u½Ú9ËÞ¼UýSo[¦.Ó÷Ê=1í¹aŠ_6ùIp¹aœ‘œaªÚ»ÓùWy†/6Dþ ¦30T(”JÓcn,®´Rn q—›·Ê®Œ=¸ƒ`ÀؽZݦércS§g_¶žÆæÍæú†Wöõ;ÄÙ¦Ê×û¯Î}Ù RD÷ Û4 ªŽÂë‘FLM×q:7!µ÷Ô^ §Ã*6-ÊFüFT2Ý8hí3>†$&§Wö5FúÆÆÕ–£FrÎø-üI݃®Òt‚ RD¦šnk·½¹SÓåvr‘»]÷ôC»ûúÑ¿íomÿ6îç¥{âÔt¢ü ¦‘ ƶñÖ#íº«‹3Î9w¿¦ý›»Ìƈm´?Ð]iüSí«ÒEw;P:.S {W÷¨Q÷±ÑÖ®ñvr265# 26›/‹‚šNä j:AÉ`(ZпyÇs¥Å}8Óg MŸ„pÏo’n¬‘ë(©^_§\Æ?96 âÑ:«ºØzÏwß|ú¼ýj6|BÜQ*/““û¹ÃT£/3¢ÖÈÉ¢(ü1]j:AÉÐùز³Ÿ±îi ÓÙå̬ì ò5 ˆdпeóÏY{àÔtDöÓ¶AM'*j:AD2ø×íDþ ¦AD=@M'‚ ˆz€šNAõ5 ‚ êj:AAÔÔt‚ ‚¨¨éAQPÓ ‚ ¢¨®¦¾åe…PÝò,ÜÍ‚ *„Jkú,CŒ_Ó‹¶Ô Ôô.ÞEfVo¡¢¶D‘;·êµõÍ8¯qn“¶‡‹ÚVï§·Q úÇeäòääpÃHZþUžá7åˆüAM¯}(¦ßyíåkÏ¿}éqÓK×À?×-U˜YrìôYÇÜ~æÑw\{i|ˉªC ŸÞ§Uí’Öœw¹[zs^(G§Wj-–×à¼Þõñ{öeßêóò}jÇÕ¹Mßtr*r¹w›| °ÿÊýÓ‰bAM¯}(¦Ïœú·»ÎßxÞñÎ;QcãùÇo\6¶qÙ±À†s޹ké‘ë—ü²ßr¢êÐÂ7:·¡¹½Óº­éagäù8€(Ž AÖÑñoŒômÞ´]¿øwi‰ù×ÂK˜èPÓkÊ£éwœ~ä¦e'lºà䞊ÿ*l\~Ò¦åã'ÇZ8Ê~d½õø–UGbwjºx³g\Oÿ8´»¯ýëñÑþÖÆèøoSlÂ.ð©éDùAM¯}(—¦CÇ—ŸÖ ‹N€¬·09 MßpÎQ3KŽo9Quhõì/úÖzkÔˆºŸ—cìRÓq=}¥ãRgÃÆÞÕÅ=jÔ}l`´õ‚1 UÉö2¶Ñ–Á ’64Ý0•šN䉌4}t¾²lNeá‚ýŽm¬„ik} 5=f ¦%‡œO‡€:5ÿ úGTË õT¶ö9õ†ÐôϧÏߢfÃ'aCcD©¼|ÍÀù ±9õÉᆑô$^0æÿªš2ÃT‚È iºZj¼Ê6®f±W´µ¾EkÐÄìl sœû×ìâ©ÙÁ WA¯ª_³ƒYËV C2MG¹-îENÙ‰-¹ã?Ç´Ô|å™w¯8ýûŸz'4½5ê> ç³nÉh|ˉª£ÃÁj{4>#]¶ùÇÞ "d¤é=ýãCc#zfÊXpb¯fIP+µƒJ¬{OM ³ 5T•'»*”HÓ—üsÓŠ3% è —ŸÔÂycÀ†eÿš^ú¯ø–U‡œOб¥¦„Fš®Þ'§ÇÕ(V3d”Ì©éñ×·h  u—Ü#:8ÛÛ»Ò”X’*Ê£éëÎ߸rÉf,?U úfYŸô–MŸs||ˉ.G>šîIZ&JM'ŠEš®W•ýãÆ[·œ/sþæ4þú[Ó'ıp¶¥¦‡ ~ú9ÇmºdéÝ—œ ˆú©RÖ7-ß¸ìø™sOˆo9A¡…¦÷ ¯Üü ‡±u`,8 Óô¶Ö·ÄÔô‰ùÙv„©Å½‰õ¨º!±¦÷½PòÁ ê`qoЦKAoá¼1}†šN‘™hzcÄø\ƒqA*ÃS1ÇÞ'¼÷n‰5}°ªÞzj-Sè]Üù"Ãõç´éòe-\²´%ß—,mIüyÿ†ˆZÐésOŒo9A¡…¦k½žú¾à‚T5Ý^#'Ã5½4¿e»ó‚‰MW^p÷•çÝ}éÙÿ›X_¹²ÞúͲ æê€šN‘…|s&]MŸ°~Ë&Ä{WcÈY+WÙBy4}ýò36ý÷¢»¯žT]u…+–lºàdȺƆóN¤¦A$¿#Wû@M'‚èPÓkÊ£éw]rö=«.Ûtí%w_5y÷åçµpéÙ-e_qæ¦å §Aß¡é\#G‘ÔôÚ‡òh:zè÷Üüß–¬ÏõÖ[ö+/Pʾñ’%@ëãrËOkõÓ—ò÷éuF¥Äm¯¾, )~éÝŽ_ÿ,ˆ PÓkʣ雚« ãè­¯_~ÆLëÏ; ]ò;Î9nÝÙãÀú%ÿZ÷ŸÑ™3ºkÕñ-'*‡šizÍ2HTÔôÚ‡òhz»š^9è/Q xvc‘_Œ4>i¨¡ÞÚ,l¨°Ñâ쥠b¶wf KÂc¼Ì…q‘/#-µÕ…Þ#FvÌÕ'>ìø=ÙvBXî3Dº¨´¦1QÝò,Ü͈øhíX*4NmJ¦ér/69L-µOI›”׿Â} lÁmk(õ'µ“”ÜAÕ°ÄÖô0ãí{õ5ò.gZ“íªßÿȆý8LÓíBÛH‹š^?TWÓ ‚(z # ÕÇÓO—'o4Õgx@]ïÜÊ/¸qàÙ{%ަºrÝ´ÞLp d:rû9¥õú½Èø§üͰÂ6Ò¢¦×Ôt‚ RgÛ²fûšnkw»ã‘û@5C«Õz! M7Ò©æ2þ¶6à +ÀÂ݆HÔt‚ RÄ–g”ލA`9-ûÝ8/ÅK«¡ÚÊîÒê} T ø§Z®âok(yÚMRÞ¨4’ð/£5®Á‚. gZºôÔœ…ügd?Ý(dg!بï"êj:A©ÀžùU‚ô¨î¡Öè–„á|c@Ÿ7né[©övÔ’dï¥c˜#:žøû@êFcœ? y>ÙðݾF…ÑkÖFê ª zãŸvüF?]²³œii{ w"-PÓ ‚Hþ5r1¡Ô°§1àß*-TôGg5›ÈÔt‚ ÒBߨŒžÆ5~˦)Fªƒ©ÀEM÷˜Í9qÂ5 ˆŒPQÅ,?X°D¨éAQPÓ ‚ ¢ ¦AD=@M'‚ ˆz€šNAõ5 ‚ êj:AAÔÔô$…6÷%êT¢âïL‰J#þ߯߱¿bšb %ˆjšža›&'5¨4òt`µùHÌ+Óª¡Q-t¦Û-ÏÿÞÿû‘;2ËÏ0N.ܮ³C„þT¦J¹e¤þ§ì†(Ûô]Mª?‘/ô–öW^íMÁ<ýh#ž¦UïTœê¤ÜHEo_"¿7«Îèkô~(FÕˆ_CÃ>]«Í6£FNã²½ LáO ºVÓe;€úëß‘ÙÞ¤Øø$uX‹¡÷VVI¨ÀÞ…JE«;­m,ævZ´Rj:‘ü»±„Õ »wìGU éðjßpYAäå*]Y‰CØWåcÖPg³ w>•’6j4ÎO·,™tmKGù£›5]WscC„HMGŸbtl@ïP'Ѱ=ds¤›/Ãj:‘3´rixúé¶«[FCâ1ê]ãŒÍ¾õ{‚]‰ÔË€½û[‚*³i$öb/3Ž× nZJ”]«éM±Å°£é¨¿ª­ˆ³ÇntŠjäP6GÔt¢$pV–v5=ÌcíÑuéðž SÓ“ÕPis|MWƒTs¢<èM7Ú YÕÚ݃À?{pÁÜÖz9¡¦¦õgdOê@÷t[¡ïE„Æü jâT \öCä=ò¬a»¢®¶ë[ìx¤"jñÂÜ\(šF%²ÇÞµm2Úx5Ôñ ¦é¶1r”¾¯Tv¢ht¦Û]½ F)x« j4‚FkÅËäØ@ÐÁ꯬ԓ¨ÔU©e·:t¶ÎÕ%QgìDUr“x(sIëu8AÿˆþkáÅHtì©aU ¤+þOÔ:°¾%lŠÙ¨wÒáå9õצ·Éw`؆N¢{ÞV m§Ÿn¯q•«éøÊM”ݬéíÝÞÙÐw[·{¦ "ø×¶u³'[ Ÿ{Ö·DÜȺI”ݣ鞱w?–·µj:Q-È_…­-ãœF<Îk ôsÏô½ßBÖM¢œèMïyöÓÓJ” ÒB—¸"ûéDÕAM'‚ ˆz€šNAõ5 ‚ êj:AAÔÔt‚ ‚¨¨éAQPÓ ‚ ¢ÈMÓËösβÙÜA‚š^¸%Ì)A‘ ÒÕt½±‚s‡DýFýiV½ýÚ¬DïN®vsPqÊMô¶Æù¡F ¶LÒ;A˜ ıG§®íqîal~êÙ!BåQn-7Ri…e?l+X#~ýíMÛf}cœœ6©þAGºšîÙø[J’Þ«QoS¨…ÏÞŸQF5:¿{鍨ÆT_69Üú§Ú jrňޞɈ$Ì™ºgWǶ5½¼§ñ¿Í(q¬_9tTvö´WîX­"‘6Û7†å”šNQ¢éJ‰†ÆFœúèß+Á¿£Š’B{/†8ö¨=¥Æ–‹A{üÁ¯€j?è¾±ñÍOãÅ©4Œ7;û1÷Œðç˾&,§Ôt‚ ˆ rš®TÚjl¨4:=®Ô\õñoùk:®ío¨ÿNÂòÆÈäô8þ«´7†¶ÇÏ=;F9ó幑šNQcd§ézâX´ën)Î8çÜãk:ÿ•ò-GòûúÇ!ÆØ»¶G_oØ#¢=cïF¾ücï¸kr¸¥æCý#ˆMõЃþq96®¢RÛPjT6 ʹx]ÚBm³}£?§vŽ wK‚ "2í§ý#ª·Éhõsq¦1 Ïš> ½kŒÈunÍð·îÉê…szÅ&¥wrìÑï­w€…ö@yuêþ5r2_ʤPM‡|+1íïW™‚tªm°Ê‚4@®‘SÕI›¿;;ûÆ‘95rDATizŠ1Òo÷USDêƒÏºË ùn­”jg*ÐÖ½ž‚ ¢¢HWÓe—6Y NM—Ä zIMKéäÛˆîËËqõø¶u’¯rJAŽt5(ÉÔ™šNQPÓ ‚ ¢ ¦AD=@M'‚ ˆz€šNAõ5 ‚ êj:AAÔÔt‚ ‚¨¨éAQPÓ ‚ ¢ ¦AD=@M'‚ ˆz€šNAõ5 ‚ êj:AAÔÔt‚ ‚¨¨éAQPÓ ‚ ¢ ¦AD=@M'‚ ˆz€šNAõ5 ‚ êT4ýÊé™}#ûBsl@ß·\9¬ÿ½r¸qŠ™}ƒÔÆ?õu—:ØØŒŽS«ó*òÃð§éq}»º@ÞîŒsxxå0n\1âü«qòÜþ@f)Ø·ë3NƒåI‰sm0 r!R=¬I4Ôí2ãȈQÂò‚ÃÆÆEGAÔkº’ž˜•Í9¹T:bëo¤¦«* Õ"è”H%ZmdŠú.gœZÓµO)·ï miº:/cÓ—é’TI«k¤Î¶/ ¦At :×t¿Z‚â×tÙ}öÇãÔt -ˆÎ8õIÿ_åI§¦Ë+õm))´ø°F°oc@½½¨c#y,ÍÀ½Æà5 ¢›Ñ¹¦;°™TÓõȹ÷nKÓ娻1:-㔢ìù«ŒÙ©é-Ež*O éjˆE„*]u¬=Táè\85]§®K’šNѵè\Ó¥²HtØO×НéRõIgœÎ޶ýWyýt•¢ì¡«c™º~KñkzÌ~º=œBAÔ…ôÓõä»óŸÎéi-¦rŠÙ©éz~Ù3åퟗ'u.ÚO7 vJª'†¡øácï1çÓ K w9‚ "#2Ÿ®VqC¤N‘ÿ”ëÄŒ{OPçñpåôJ½ \¿(ȱtm’gغwç-0[.AGŠÃÃãžÛmƒa¡³”ôÚB¹â]®9”ٱͨuïç7䇭ÔÚW,à'‚ j‰,Ö½;»íé"rœ Œì0Ŭ39öNAÔi}sFÿ=7AùÜþ„+¾’½xèóyoi+ãr^_@M'‚è*ð;rAQPÓ ‚ ¢ ¦AD=@M'‚ ˆz€šNAõ5 ‚ êj:AAÔÔt‚ ‚¨¨éAQPÓ ‚ ¢ ¦AD=@M'‚ ˆz€šNAõ5 ‚ êj:AAÔÔt‚ ‚¨¨éAQPÓ ‚ ¢ˆ£é³ ¥JÓ×L¯óà€ÃÿNADÉGÓ ™Ò”˜Y—fÒAšC.©•ùšé™²!Å‚JÕªÒxjž9SÆÜ­™Ie,ðÒ9yª Tz¹KÏ ÏK ¦SÓ©éI­*]SÓ©é):yŠ“Bî¨é^PÓ©éÔô¤V•®À©éÔô< ÅI!wÔt/¨éÔtjzR«JWàÔtjzŠNž…â¤;jºÔtj:5=©U¥+pj:5=E'ÏBqRÈ5Ý‹8š^ôÚ|†è@Mg`````¨G ¦300000Ô#PÓê¨é õÔt†z„Í{¸xºU´ ÑšÎÀÀÀÀÀP@Mg`````¨G ¦300000Ô#PÓê¨é õÔt†zj:C=BM?â”3‚ ‚(-âkzáÂÖx …ÛCgo¿¸@Ô¾kŸA&AD‚š^tCBMÏ¡„ ·¡6`a5½ 膄šžC nCmÀÂ$* CÓo›™ñ #†VÌA#Xz‚`hl¤/h4§ÇÛ-Á]…?…ÂmÈ!UÔô \9d_”Ü©Rô¢*V¢< ³óòéЯRtË y8eÐô0$«8UlލéåÔô¾±ÝÐõ ¯jàxeá%é)á´¢ªb%ʳ0;,Ÿý*E·¬–‡q@M/¨éåÔt‰òû5=·ÂL±|:Œª<–%AMW¾gxD7WŒ4úƒ>vžl.loŽ „Ù&ÒWާ£2,1îr&*£šœž #êO‘¦â…VÏxìoë)¨ƒH3üî9.¥ÒttO67ö7üÏZ_94Üè táÇqàüKØö"§µ‘Óa%Bnà×ÆèºƒòìCy.l%ÊS¶Ò[Ârm—OÐ?>9ܰKÕ¨¼a~•âíÆl¦q>2*¢ºH¦ép å$zè&¾¦¢^Ï{Ž<¶¡íÔqn_1"ãÄínŸ«PÒû.g¢†yêÊHS³MÝ€„™áÌ&5=™¦+Qå‰fP•gسÖb¤ZBù8ä…ÃéEmù°¬¹ *‘ÈEÁªâ2ŒÑE‡ò´=9~ã[a:·³|äí‘•×ö«,n—'“EETÉ4]»z ·;•M‡;Åœµ1*‹z kŽœí°¾Ë™hdËijZMºlýÅ¿YnRÓC4]ÎúŸµq¥zÖñ8ÿ¶½(™ç'®Dö»DÌ1µÅfX®íòq‹³ò:ý*‹ÛÃNÆŠ¨½ËѶ0© Ê`aa3<ÓÖtYÝœoMÑÙ‰ÆÑt§©rh˨ˉŸ‚e§Üø_¢<Ç…£Tš®zX͹ÆM;Ÿµq¥Ý – ašžÀó“U¢æÂª¡ûémizÌÆ!·Ât>ngù8/pV^§_eq»<™,*¢rH±Ÿn;O:]Ëi[X?ÝŽ³ÙN?Ýos¤©Y¼Í&ë§KãÃŽ©é~MßxÖ ŸæùþšÛŒ]‰$Úê§ëâ7¹fFýtÛ¯²¸=ìdü¨ˆÊ!ñ|ºòcÛX63äšy—oƒrÎÆPÈ|ºN(Ù|ºßfyv—s±Ã§ ³ì4#,›rÜ@—³=(•ú”GÓeÛåœOwÎ6ê bc‚µToM¶y<ßã0É*‘á¨ñûé2†˜Cn…é|ÜÎò‘·GV^Û¯²¸]žLQ9t¸î]G÷5Ac®2´b\¾dê+õ«ìkù¥È„tå ÚY÷¾àʹ¨ô@Ÿ³²MÍhÝ»ªtÁü÷väR[ñºÀe–µ…¥Z•]MoF­{\,G˜KU†Özêˆá0 *‘ªrð’g: å­Ñ¦‘ëÈò‘·$ð«,n7ÎsÝ{íÑá|zmPl¦üýô '­<–GÓKòÜS/áfªTÆ$(ÌBr]ìíD¥AM/C¦"GMkjz%\ÂL•ʘ…YH®©éDb˜š¾nê–H‡©ºGåoX¢>Å\ž9ñóHMϺ„ ·¡6 ¦EM'²x …ÛCK¨éuBí3ÈÂ$ˆHPÓË€nh@¨é9”pá6Ô,L¢¢ ¦—ÝЀPÓs(áÂm¨ X˜DEAM/º¡¡¦çPÂ…ÛP°0‰Š‚š^tCBMÏ¡„ ·¡6`aE[šŽ‹ ‚ ‚(-ØO/GtA§àöÓ³/áÂm¨ X˜DEAM/º¡¡¦çPÂ…ÛP°0‰Š‚š^tCBMÏ¡„ ·¡6`aE4]n‘ ·SIð5¤*~CI7 ‘›$VÒôЏߋˆd…éDç%¬>ÙÚE(ÑÞsÞžQTDàÖô7r¶-YÅ©bƒFM§¦§R•¶¿TÈTÓå6²=Ã+Ûýøs‡·gQ˜š¢æÔô¬Ÿ‚Çø*æÈ™GjzÖ%\iûK…¬ûéiEUKˆ’ ¦Ë½ƒ™;#»v¹ýtèþéÂñìŸîŒjrz&hŒó›•ûMÍhÿt–ãnfí*œ´ììÔÓʡ鷔~k¸öÖÎàà ^¤ ¼ÈïNÇöŸnôFe/›ïuR˜Î¼„UÉ |r¸aûUÌ]ËS¼Ý˜Í4Îsÿô#™¦Ã1”“è¡›øš.·õo'ªíÔqn_1bìFàö¹ %-±ïr&j˜§®Œ45‹-Îekì̲3Gμ;·j-ö­ÕÒt»Àå(%OÙ*–‘^ä÷¶ª°ö=ˆ{ù}¯“”™õWIy»³¬d=Õ· m_Jëvy2YTDåLÓµ¨Î‹Ý·õ4p§˜³6FeQo¡a ²lšì»œ‰F¶í‘¦:«s²§àϲ¿œÍrürÎÏÓª£éþ§PNŠô¢ø¾¦Söë³²—Í÷:)̰¦Ã.aã»X´ÛÈ™kÿ+A‡·‡ŒQ9${—CÖaR&”ÁÂ64gx¦¿ir¾]4…¦Û‰ÆÑt§©rh˨ˉŸBÌ,7]o)μÇ/çü<­:šn¸ñÜKØ£‰ïEm9¶}2ަ—Ê÷:)Lçʱ0±/pÖSÄ©úøÍ÷ôn—'“EET)öÓí±kçI§k9m‹ì.%ë§ûmŽ45‹·ÙûéúÊøåœŸ§•FÓås÷ûmÓÕb—³õ‹ïEñ;²è,´²ù^'…™Q?]+i²~zÌÛÃNÆŠ¨ϧ+O0f±Õ8C®™wÙÊ9JÎI+™P²ùt¿Íò8ì.ÙIåG)ΧˉYÎùyZi4]º¥î~êÖ;N—¼ŸYqb:väI£²—Ó÷:)Lc>ݳâBÞ.Ûÿ,¶smFZ·Ë“É¢"*‡×½ËQ»¾F#h ÀU†VŒ;×Û£y~ŠLHW® uï ®œ‹Jª?M–mj©×½{ §`O+¦å©¨¿Àå²îÝ”Ñ^å1×½‡Ž½—Õ÷:)ÌæÂÙ¿‡È[,\Ïâvã<×½×Χ×Åfª>DYM¯+jŸÁ f‡íI±·•5½ ™ê†Ö˜šžC nCm@M'*Š,4½ê•¿ýÝÐSÓs(áÂm¨ ¨éDEáÔôÛ×¹Q¸µuE7´ÆÔôJ¸pj&QQš¦æÔô¬ŸBá6äGjzÖ%\¸ µ “¨(¨ée@74 ÔôJ¸pj&QQPÓË€nh@¨é9”pá6Ô,L¢¢ ¦—ÝЀPÓs(áÂm¨ X˜DEÑ–¦ãb‚ ‚ J öÓ Ç]Ð)8‚ýôìK¸pj&QQPÓË€nh@¨é9”pá6Ô,L¢¢ ¦—ÝЀPÓs(áÂm¨ X˜DEQM—[$ÈíT†ÆF| ©ŠßPꆤ<š¹eE‘³©j[Å=×:/Ìν%èW ]²ìðöŒ¢"Ê€2hz’Uœ*6ÎÔtjz*%œ¢rî:!SM—ûÏ¢íýÙ3½=£¨ˆ’€š^PÓ©é©”pþ‰Ö Üfй.ϧÝëú(» !š~‡ê¹w°±k¹cKeëdÓµ±žÍĵã%Ø?ÝÕäôLÐQŠ45»ýÓ‘kÛZÛv7pì4R]ŒïrîX]6M³I½ÇKØúuâEþ:«d5Q ©Ý·S©¥‚,Ìøû§ýã“ÃfHs¹kyŠ·³™ÆyîŸ^cXšîVsCÓáÊIôÐM|MEƒ3ï9ò؆JHìḷ¯‘qâö·Ïk™¶Ä¾Ë™¨ažº2ÒÔ,ÚvgRËñ1T[Uå•-ol~"hÌõq©P*Mwú•ßÙ*¤é ¼(¦¦Ëj¢€¨†††šÙꔌß[äí² q¶Qú–V…µ^ÂÓº]žLQ9$Ótíê½Ýî6zÚ¸SÌY£²¨·Ð°¦Uj®}—3ÑÈ;ÒTguNö<‘ËTœ¯²]íéï)ág©4ÝéWñ­äšžÀ‹âkºÌ8âé &§Ç{ÐÔK ta†5¶·Ø%¦‹]Î\û_ :¼=ìdü¨ˆÊ!™¦CÖa­_˜PKÜÃî Ï´›YYÝœoM¡év¢q4ÝiªÚJ¥G6Ч#—'–ªž“+Fú#£°9Pÿ-¡â”GÓý~åÎI+™P²ùt¿Íò8ì.9PÊ:]HYb2›FK×JcV½lý¦RizüùtéÀºÏþ(çNìEþ:ëïÅ7£^Ϋˆ°ùtYJ©Ì§ëµ YÜ.O&‹Š¨½;V7Ac®2´b\¶úJ{ ÐïB‘ éÊ´³î}Á•sQé¡u{ù™ÓԜ׽7ÅÚTÝ’ÀÈÉéqÙW’«ßË&:¥Òt·_Å8©ŸN õ+±ÙªmÔYurÎ èº Ë6jöCõdëÞå- ®gq»qžëÞkçÓkƒb3•à—Å•{ åÑôº"/ªœ×åY˜)T±·•5½ ™¢¦SÓS)ávo¡¦§X˜)5HŒ,4½ê•¿ýÔtjz*%Üî-ΉrÏe…ç±Ì…™b‰QÓ‰ÄH éDO¡prÈ#5=ë.܆ڀ…ITÔô2 jz%\¸ µ “¨(œš>}‡…[[WtCBMÏ¡„ ·¡6`a…¡éajNMÏú)nCy¤¦g]Â…ÛP°0‰Š‚š^tCBMÏ¡„ ·¡6`aE[šŽ‹ ‚ ‚(-ØO/GtA§@{ZQ¡p²ÝàEyºká6DPÓË€nh@ —Ô È:tƒåé®…Û@ @M/º¡)\R 7 ëÐ ^”§»nA$@!šnæHî’ wTÉîƒHa‰æ¿‹An H˜*\R“ N(Ç ‚ÙÙ‰´J3¤èEüYášô+ÇKeçÇ2 N{«®1²Lol %Ñôί¬4¨éùH^»· NÌj)ï]<µ¸ÇS©–V ¦§ë®¦.7qî^Y¶=³†±Ç½±-PÓËjz>’×Éí‹§ ï½eîªSÓÓu×ÂmèÚgad¹ K $ÐôÉé™ 1"·vn.¬7ÿµ#w6®sWkùÄ š!ûGÇÜ÷)°áq{ž%Ÿ§ÍÎéâÜ`ö‚í`p=auŒNqê#ÞÒtÀ7Ç?Ø«•ª½êüìÄ qå⎽ÁàìÔâ°+ Ú‹²óTNç7ŒÑuph¸Ñ ØÛÇ8«sþpVIÊœF¶rÌÙ.“¦k[óÈD›s#örËûdL ãÄóQYÐy—ñÄôFY‘ŒÙhÇiÒe¢M1oÒ*11Æ’EÒž–6ˆ­éˆ³qÎ=îQ”Ûœ¿Éã8-²¦FWdl6œWÊ8ãf•3Ñ8šîLZšáɪz_ÓO€xæ·ŽJš‘[ɧ)©ï‰Á@È G¼¡žÐÒTF¼µJ‘•ÕÓ’­qe/®œ;‰× ¨8Ž'æ^HÔíò‚ƒö¢Œü$2ª0ç—Æh÷F{k¸w˜µùø§§JÆoatNÃZ »v‡•‰Ž 'ífÄ™¨³k+ mY(ã×ø½ÅYÔvàuhO›ê9 -/î\òÔœ×àEž.7®Tòí¼² ÁéE)úIœ¨üÎù²Ysƒ.ÌøØVNýå#çÐ}gœaÆo$ã[üGidéö“(tKç_bzcd4Úm5éR…”ÊCʳNZº®jkz°0øÇœ~è×tûÊHš G9täΓžD#5=2évûéò¹kg«G™–|êÝd­ãQ’yA[’§ Ôzpñ"þ9M7ÊçŒ+•%¥],¦éiùIdT‘ÎGœu*È*³#sê¯ÝÍ…š®‰Å×Vg#æ)U»=Œo¡<é\ÅÿQYÐyÇsÁãvÌFÃFúm»MºŒYérnI§ØO—> Ç ìñ¨Îûéúd¤aQùŸ‚­év.œIËxdeô'Ýa?=‹’Oñ5]hOÌkn*’§¤R;ûé`лØÐôôÓ;ô“øuÍé½ÍpM÷Wç|ü3¬JÆ)@§¦û/ˆì§kM—hœ‰Éøýtgüñ¥Œ_^™ÀÃJÀi•þîpü&½9?%aU2·¤;Ôt9‘!çñj¡_üì—À¡ŽçÓqR=Á0d›æ9é÷1y s¤§™ì¤ )ýf¥ { Ò <ó鹕|ꈯéêdÐÛZ„¦¦°Ó’³~½…[[WtCR¸¤n@Ö¡¼(Ow-Ü‚HCÓÃÔ\AQZÄ×ôÂß@êŠ#º SpDÑÝä È:tƒåé®…Û@ @M/º¡)\R 7 ëÐ ^”§»nA$5½ 膤pI-Ü€¬C7xQžîZ¸ ‘…hºý{§õeþ¡±‘ì>–hþ;GõUOõ9„wªê<…Kž:¨Ó·ãdˆô¢á©kåôíÂ5½œÅÒ â´·ê#Ë%ôç2£$šÞù••†¿5–; ö ¯¬èb©éY‡2kzJëÛÅjzi‹%Èí㛕òç2€š^Äo«[ Ôô¬C5½´¾]x?½œÅRH–»°:AM×ߨ×[-{†íO¶y’ýÓ>q{SÚ,öOwæÈHZ~Àt¸cœôI£5¶K&l3e§3QyW_£ðJ!5}¢åoƒÁÂ=\äþª½‹§”åa›¼$“ ‡ìƒCZ9ãw¢œ¾-5=f'ÆÈù¹.ÌÈbq&Úœ±Ÿntò¸cZ'þ˜>`dAç]Æãß?]žÔ%™Á ^£§I—‰6żI°pã­,’ö´´AlMGœ=ˆsîqËíb[‚†i:²¦wx×±Ùp^)ãŒo@ücjº3i9h†'«êE[šî̯."x©gX¢ˆJ×ôÂg夦û÷Zœ˜ÕR]ÜÛ›î¾ljÓ7•.Ž{!ÐS‹eç]ëȽnùWuoç¶¥"½(­Zƒ[Ü2çZpHåZ‘ñ‡Õµrú¶.̶ÊJç%²Üt¾Â Ó_,ÎDX[YhËB¿¾@Û“Ìšóš84<0Ôh(5túsdü‘ÔQùí¶št¥ÂRÇõÔIÖIÛ-m[š.kœ=×GÓåC4^r<[]i€ßaÂNÚöû[¶°¼Û/q0¨¤0r\^ܹä©C‹åø€q6Oîçn+~ç¶¥ü^”b­‰TÿÈø5JëÛº0ã7qqÚ=[gWÆ)ÿ~ÐÉw| #ãïFn_00‰B@·tþÉöçøñË4Úm5éR…”ÊCʳNZº®jkz°0øÇœ~è×tûÊHš G9täΓžD#5=2éýt;¿rÅHØ“µ5îÒczEÁ9=%Ù‘´%y¶³BÓå¦íúŒº—ÂŒ^|ç¶¥ü^”b­‰ÓÈ;ã·QZߖ𳉋l÷d«®›ú0M÷K»šóqÇ·Pžt®â‹ïFtÞqàœGК¿Á°‡þF;A“.cVºœ[Ò†¦¯[§Noqú€ƒ²Ç£:ï§ë“‘„Eå ¶¦Û¹p&-ã‘•ÑŸtd?]WpùFíŒSöeä]åé§GjºìGO1í\òìøgç5Ý9.M æúê³ÑôLkMX#ïßé¥õmg?=¬‰sjºÿ‚È~º¿Xâhz²Ç¿ŸîŒ_#¾Èøå•~½ˆŒß™ÁÈÞ½¿;¿IoÎOI@XÕ£Ì-é5]Ndèaõj¡_üì—À¡ŽçÓõlZ˜ö|œó¤ßÇäÌ‘žf²“6&¤ìé¿°§àϯ."ç”bX¢ò®ò̧Gjº:ô¶ºÌ`ZÖñçÓõ„¾qRßR~MÏ´Ö„5òþøÃêZ9}Û9ŸÖÄ9‹E?‚°ÆÁ_˜aÅbÄéÑô»- ÏH_Ж8Ç7äë‡>Ýd¥©Nóÿ5¬I×R®Õ\žÏ4i£¥©éÚ`½*RÈ3} —)êõ‡2G­{o4‚Æ€¬_AÈBM‡ëÞµö°¤LZ i?”{°’q/‚qډʻJµî=RÓ§pR¬3OQò¤ñ×½kS÷.žšÒãó*¤øÖÑaˆ^÷žR­ kä#ãw¢œ¾í\÷ÖÄ¡A0FuAߨ¸Q˜aQÙŠ¶î]Æi·Æ ±D;¦…añû£²ad/0RÕxEX«ÌuïͰFÛ5yáoÒÕ{ˆÌ‚ñP²KÚniƒDýôZ"ÿ fýcØ2<²¶ÖÈÙëÖR‘¼NnŸšÓ(?½«õØ{2K²°Êgªvù*ɬ²Wà'ˆ§Ã¡¦§^¤ÉžBÍräÌ£VÿoÙfÅ@wº’×a èÈãMcbþ„š^PÓ ¯ÚYä«p$¶J5ø»íHM¯=ì±÷¬Sì6MŸšÿZKØ'eäôŽAº¿O ÕÖ?–Ç«HІ¥¨ééºkÙ¬*C-î$.mù¡˜`á”zÖI+PÓË€nhËómغ†nð¢<ݵp"¨ée@74 …KjádºÁ‹òt×Âm ˆ ¦—ÝЀ.©…uè/ÊÓ] · €š^tCR¸¤n@Ö¡¼(Ow-Ü‚HjzÐ Há’Z¸Y‡nð¢<ݵp"ÚÒt\LADi!5ýŽ;ïô ð7ºâˆ.èQt7¹p²ÝàEyºká6DPÓË€nh@ —Ô È:tƒåé®…Û@ @M/º¡)\R 7 ëÐ ^”§»nA$@!šn'G~Ü^‡ž ÉîÓIa‰ÆÙ5õ§à<ôoÞ¯¡ð]ÕRÉcá’—à.õÉ8Ï'ïdPMb\Œ ¿bvAŠ2TžO–y*i¦µ£pM¯SÝWˆÓÞªkŒ,—Ç+’hzçWVÎDn Ø3¼Ò¿÷nùQEM×›®ÎÎéµÿc°émõôîÎPKMCÖµ£XM¯YÝorûøf¼±T ¦—‘ H Ê¡Šš.CäŽ-™vÒU€¤{Þ+ºJÓ³¶¶ð~zEŸEYîÂè 4]£^o¦lì ¶?QØväIöO_øÄíMi³Ø?Ý™##iùÿÑáŽq>Ò'ub”mØÊ**gZÍ’m›n{Úìœ.Î f/Жû«ê­ÌãŒxÇ Òˆãæø{µRËctwX_¹xq¯ÜŽmjvBnò>5·+щ6^œ¹vž ‹dµݼÌ`Ö5Ô•Ó! ct„K÷Á¥­’œÕÙ‰Lk‡Ôô˜(sÙb8÷1×e™;g¢Í¹ûÉáF'dL ãÄóQYÐy—ñÄôFY‘ â5Úqšt™hSÌ›´JLŒ±d‘´§¥ bk:âìAœs[n«ã´ÈšÞá]ÇfÃy¥Œ3¾ñwBŒ©éΤå ž¬ªñ5]–†<†sÚQ…¥…Ó¼<“qRRý{­ÊïÈIäøA ´[é/ PiI¹œ»©öâʹ“xÍ€ÞË-VqF‹¸³oœtæ:rÛYÉ”ëÍAf0ÓU˜CJcÜ5/îêâÈêVI3­º0Ûjadåu¶:ûÚ¼°2ñçΙ¨³k+ mY(ã×ø½%òQ6ç5qhx`¨ÑPjßÃJÀ™A•¿Ñn«IW*,u\Od´ÝÒ¶¥é²âØs=qZ ù—ÏãVWFàw˜°“¶ý~M˻ݜ¶¥éúJ9æ|Ÿq¦eÜUÂ~ºTÏÈí oÏ´­  3ãÚç°¶q¥Òwy‹VáHMwæ:NQØ/a#üN/J±†Æ‰Êïü‘/Û‘ÕY#ëÚ¡ 3~¶•SùÄÉ?èdd| #ãÿ(, ݾ``…€n©Õ»ñ{cd4Úm5éR…”ÊCʳNZºîæ¶"©¦ ƒÜÉé‡~M·¯Œ4 ¹p”CGî<éI4RÓ#“NÐO—š®Š„=P;-ã.=”W8d79æ`rœ â©éZ‹'æ¶é1vpθR޽+E֋✯2§Î\Ç)ŠÎ5=­U¤óÇQg²‘uíš³#s*[uÝÔ‡iº?wíjzÌF2¾…a½øÒÈ‚Î;œóo´c62¶à0ÒoÛmÒeÌJ—sK:Å~ºôçrŠýt}2Ò€°¨üOÁÖt;Τe<²2ú“ŽÔtù"íŒJöDä]%ì§G ™ñžHo1¹SÓýô©ù!nãJ£Ÿ>+¢Ëù™‘2hzZ54~]k¶ÙO÷Wg§;e];œýô°tjºÿ‚È~º?wq4=Y#¿ŸîŒ_#þ£”ñË+xcX 8­rÂߎߤ7ç§$ ¬êQæ–t‡š.'2ô°ƒzµÐ/~öKàPÇóézR,ÌÙ¦yNú}LÈéi&;icBʞŠ{ vÙÊ’qN†¥%ï*á|z¤©“Aok¹ššÂŽìA ßœóéZ +ùtu¥ýȱ÷T4}*ö|z5Ô•ß!#5Ý_Ã*i¦µÃ9ŸV€v # 0¬qpÞe«˜‘;#N¦'h$Û²ÐYÔú‚¶¥ÓCäëGLo ‹Ö™AiªÇoÛmÒµ”k5—ç3MÚhi•¦¯¿ó.¤ÁzU¤gú.SÔëeŽ:Z÷ÞhY¿‚…š2þ×½k3ìÁ|™´Ò~( k@ì²u¯}QÙiɻʹî=RÈ \rIyZ!þºwù"a¬{_<±X®Çm‹{¡°S†Í81•LÓ'æ†&ð²àL.rÝ{¦5ÔU¸CÆ„©Cduv"ÓÚá\÷V€hœ9íU€.E [÷.ã´Ÿõ‚F,Q#Ó°øýQÙ0²€©ƒj¼"¾7ˆ¹î=´ÑvM^ø›tõ"³`<”ì’¶[Ú ž¦)ÖùgÐÙêbFüyܬw1†yF˜çïÓ#éùo™R.Ÿ®~‹'_&ÚY#'WæÃq~Ÿ^ªç^*câ–à÷éaꜩÁ¥-Þ´Dµ¬²Wà'ˆ§Ã¡¦§^¤ÉžBI—êIÅÿ-Û¬ÓN1¤¥é ;ËZÊ'NýOÌýð|páðãü–­5òpkï b–ÉÅüŽ\©ž{©Œ‰o5½$¢rVÉ¡·=£I éµ‡=öžuŠ}´ªT•EJêÔܼpàýЊsö‘5~HKÓgç?¯ [,~Ao|JΈ|ʕ밓ƒèþ‹—Uþ÷œò|ú¬H]ÓãG^ž8‰ÔK[~(&X8¥žuÒ Ôô2 Z㪶ü¡¼(Ow-Ü‚HjzÐ Há’Z¸Y‡nð¢<ݵp"¨ée@74 …KjádºÁ‹òt×Âm ˆ ¦—ÝЀ.©…uè/ÊÓ] · €š^tCR¸¤n@Ö¡¼(Ow-Ü‚H€¶4AQZÄ×ôÂß@êŠ#º SÐò´Û/.µ/äÚg…I‘ ¦—ÝЀPÓs(áÂm¨ X˜DEahúwÝéAáÖÖÝЀPÓs(áÂm¨ X˜DEQˆ¦ÛßÉ‘·×¡'†ÆF²ûtRX¢qöcMý)äœbþ ¦çPÂíÞÂO“%+ÌÎË-èß¼K²ÛËÓ”åwÂ’hzçWVµ—›&5=—n÷–.©_©f‡å&÷í^éßV;õÛ‹E¥¯¨ée@íå¦IMÏ¥„Û½¥KêWê…™b¹uU¥Ÿ`¥/-hºþF½ÞjÙØ6l¢°íÈ“ìŸ.<Á¹)mû§;sd$-?à?:ÜÀ1ÎGº®n@Œ²Åkm0 otnýÜINóö´rhz¤^V‰KX;]%¬ªõK:aÊ'qaÆ,·æÜ¨òäp£ÒJÈÁp{{ôÎo·Ù‚Åô¦;ÔjÇsµ5‰4Øü7ÎûÏÚήBMGIö TçÜ.VÇÑt< ½Ã»ŽÍé“ö•2ÎøÄobjº3i9²Sž_ÓÒPž,k‡v]=ÖINóö4jzÆ%¬3h»JXMqÖ/í„u*Ÿd…©¤AK¹." &[ }»nä-xý¶'¾;¼ÝŽÇÓÇñõš§"瀹Ó7⟛݀dš._ŸüÏ7ìÉZ _öœ>i_i€'ÏIÛ~¿§…åÝ~áiKÓå•=xíjàÌJé¢Îä4oO£¦g\Â›ÝÆå*‘îÚtÕ¯:•O²ÂŒ_nÆvÓ¡ãy^ ’ÝîGÇ÷zØ¢å°)¦ñ¹ÙÙ è\Óƒ…Á3^ç|pÍ(M·¯Œ4 ¹pXFGî<éI4RÓ#“NÐO— AÍ'¡æUô8’“ï$§y{5=ãVNW‰¬ªMjzHaFvK=š.¥Gõ"QìÆ²Ï;¼ÝŽ'L+cú‰ºFýÉ9—çôøÆçfg7 Å~º~jÆØ=Ž×y?]ŸŒ4 ,*œšnç™´ŒGz¬?i§ÜhOÆr-;¬$ÛÍiÞžVM÷ûgáe•¸„ÕÓUâÔ§¦×¦|’fFýtù€ôÓý·;㱟c|?ÑÇ}ýÎÞq[ýtÛøÜììt¨éò-QΘ “¨œ\Îë§0Ôñ|ºž^ 3@¾uxN†%jkºÌ‘=¡#OÊ)$ÝOׇ=#i饪Ã>´b¥.(ç|z‚œæíi¥Ñt¿^V‰KXgÐvOUõ¬W‘”Ç—ò,Lc>=æŠ }e䜲^u“âív<Î,¾Ÿ¨ Œuq΄äÉøÆçfg7 ]MWI®c²V6ª$…êeØþU£a>éX÷Þhã{ Ò·³X÷®Í°‡¸«:t­—;Ÿ‚Q¶r>Hë;×½§8öîñÏŠ"þºwOU5*¸º ol¼哸0‡¬õÕ‘-˜ý^ÖJ8®wx»OX ÓOäJ<)»Nƒó Ö½ggg7 Ã~z-‘ÃÖÈ•ÇÂTòXM¯+œLà*Î9ÍÂsW†ÂLV†ùß^9ƒãßÞµ†¦ßu׺¤T©é呚žu Û'©é)f²2ÌÿöÊLMO 4½öp.PÉú)$³°ð²j+Ôô¬KØ>Y9q) ê¡é¹i%5½< ¦—µ—›&5=—.܆ڀ…ITÔô2 jz%\¸ µ “¨(¨ée@74 ÔôJ¸pj&QQPÓË€nh@¨é9”pá6Ô,L¢¢ ¦—ÝЀPÓs(áÂm¨ X˜DEÑ–¦ãb‚ ‚ J‹øš>ËMÀS˜Úvëz£ð<n3X!°0‰Š¢]M/ÜàúšÞ%0ƒ “¨(¨é…ƒšÞ%0ƒ “¨( Ñô5;n=3{õÔ¶{Ë3³³W#ÒHoÍ>W¦ˆ°D§v<8ÏG@MïJ˜A»&‰ 3]Ìž¾·j‘fZ­nPœöV]cd™^ÚJ¢é_Y]PӻĀf°êWn…™"föÙZëÚ†C߾濽ð2É ÈòͧÿOkè¥mš^8¨é]b@ 3Ø õ+·ÂÌ]øŒŒ,wa t‚š~d蚃[Çûœ2µpDEŸÑÀy¬6z°¼Ëóp+í'n05÷¦§‡wü'=eØ92’Ö…ƒpó¡Wãçý>ihºŠSņ×u=6åŒÙx¸~óxÝéW«åa¹ÈÍÓôñÍ­\ŸbŒ+Ξ¾÷u‡^m<©µ‘þ™[™dW¶'L…WU£~•ÇgJR˜1›¸8妣’cÎÚÛ×ЇuŠºR?AœÜ€“;™è”¨D‰ɘƉßyÒ†‘wS/œñ;›ÿ]þF;N“.ó&­c,Y$ít]uK|MGœçÜãFã¬üMÇÑtdM®ÈØl8¯”qÆ7 ~ëSÓIËA3‹Y—ž|Àêbã‚’h:ÌSÏTHÈœÂÎ5×\ÊÀc÷hºÓÂjг~•ÄgÊP˜mµ0þrS¯²úõ[?}õÝ®¶­FÀjFœ‰J$k$Û²PƯ/Ðö8uµ8íšCOÑß饑ñGfPGåo´ÛjÒ• K×S'Y'-]7¦ë8‘¨=×GÓåC4^r<[]i€ßaÂNÚöû5=,ïö O[š.ýyäC¶_~œ1Ëy·8# Eiº¬€‘fø[ƒd”§L2*a§'Dºë”«~Õ©|’fü&.N»gë¬óJã Ú}gœaÆo$ã[d¢NSUº3³§\‡B@·t¾•°½4~ü2†v[MºTa¥òò¬“–®Û¡¦Ï. þq'§ú5ݾ2Ò€©…£:rçIO¢‘š™t»ýtõஃï]ƒQô°NQÿµÇNí˜åÂU/Ê©éa='¨é 2èô„Ȫ:EMwfü&.²Üd«®›ú0M—O0¦¶J$k$ã[Ö›ÐKÔ†‘w8ç´¦GÆog0lÁ¡¿im·I7bVºœ[Ò)öÓ¥È1({<ªó~º>i@XTþ§`kº gÒ2Y=IKM_3?ÔŒúš}ÐC¿:2f§¦‡µ3αÁ|_Ó·SýJ“¢~ÿÌ­L2*a§'Ä©)NM¯Mù$+Ì8M\̺ÖV?]>AÏœˆGÓ“5’ñûéÎø5"›Gg¢òJ¿^DÆïÌ`dïÞߎ٤ë‹Õª!õ(sKºCM—m²vP¯úÅÏ~ \Óñ|ºž. 3@¾uxNú}LÈÙ”ι'½ÂMlCjº®ËƬ:Âbv6#r>ÝxåÓñçü»×øš®NÎ^c.ÔIÑ¿æV&Ù•°í žªêY¯R¬Ï”¡0ã4q1ëšs¶:R1åDª§GÓ4’mY(ã—3Åêg¢Î¢߯þùtgü‘”¦zšÖv›t-åZÍåùL“Ö®Û–¦kƒuc«ä™™…ËõúCÏj[Ïãv¬{GƒÍ)²~͆,Ô”ñw¸î]›aæË¤å öCi°‘œÖtãU®~WZcÄl? cµóÍÛî-/P¹˜ÙgïÈÈñ5å §Ò²3ÀãŸEüuj8U±>S’ÂŒ,7ýÊYnaQÙŠ¶î]Æi·ÒæddL Ãâ÷GeÃÈ‚±hVõqÂô"2þ˜ëÞ§ÂmëYD6éª ·×ýæ´t]u}²~z-‘sg;ø}ºç-Ý?Ç—?ÚZ#癎éÜ€ºÂ™Á½<>S¶Â,¶ÜœqÖà•3 ɬ²;)VÀ ¦§^¤í¢Û4}*ê·lSso§aﺩPKPÓ³.ÌbËš^ «d›æï¶gT ÜÃÅS¤ù8['š™…È“¹AæQK!løHR¥5ÇMMO€r¶·Ef±åֵϢ$.mù¡˜Ù…SêY'­`hú†»6xÐ%šž3²Ðô¢ð<n3X!°0‰Š‚š^8¨é]b3X!°0‰Š‚š^8¨é]b3X!°0‰Š‚š^8¨é]b3X!°0‰Š¢]MgÈ"tCRx 7€¬X˜DEÑ–¦f`‚ ‚ J‹‰ /böÓÕÅDºÀS¨}ٞǠ`+&QQPÓË€nh@ Ïcá0ƒ “¨(¨ée@74 …ç±p˜Á …ITÔô2 ÂóX¸Ì`…ÀÂ$*Š*júàqïì0qá!…[’âSh«l«X…7’…À ¶8yì°Sâç5+Ì,Q+ä|îUlñŠ5½  ¦wƒÌ`l·ß‰ûï°0KˆL[!ã¹W±Å+ †¦oܰÁƒ’8yýž/5½ ` (W¯ea¦‹Ly[¼¢P¸¦ïtP+iô‹™|‚úØ8Øn¿ï©»&ÚňÓv¼õ©ÁœÃ‘Óí7߸ÿ~;à·;“³ƒ`‡°; FÙÚ¹¶OÚ%€lª3ƒûí°S°‹Ì¯asþEäi$•È["m°sÚ‰í"Øùí´‡ï·C§5„¶?EwÊY†ÂšÙdþãtx§oäjºóéØ';i…ŒTäI㹇¥•i³\Q«éxpÛáY÷=ïß²a%둵ÏQ_¹NÎÅ a¿ãé ¤¨gjÐ2«Ô#ضœsÞN}œâShWÓíP¨%CeÓY>…QX#©êûvÛï ‡Úü68sšØ€v{·GŠ'j§U²é´úA„fê^”)Â,Oæ?ašÞ*íývÜ~U๚î|:©¶BF*ò¤ñÜÃÒÊ´Y®( Ôt՘˗+ý°â7êéë¾’ŽÇnì{µD68h¦t3žÑShWÓíðš‘bþEÖHª;ÄxÇðØ®mÁn:tºmI•íóYxQ¦ˆ“£øþã,(ÜŽŽÞᲊ|›kjºóéL¤Ú ©è3ösw¦•u³\Q¨éžÝGÓq¼ÿΦ§éᚘ9AÅ8O²±w£kz>EÖHêÅ0ÆsôØ®:mÌ'å1FïS÷¢L᯿íú³ ´oà ­R*ga–Y·BF*úŒýÜieÝ,Wjºç-Ë9P™ Ÿ~8¼bîMÏéT²!“³“–¦Úà ©<¦;‹"­~znEäl$å•aþ Ÿ߀vá×t¿ÓJ›Óê›§žÁNŠÂF|ÿ±äCŒ“V¥ ³œÈº2RQÿt>÷È~zÍrEQZM׳'zzN>ߘóé¸×˜ —Ó=z6_E¨^ Ô»Ÿ>VÊW9]˜âSðhº´M…]É4=·"r6’òJcvÌiƒGÓ“Ð.üšî|R›Óu§ü5]wÆå€C2ÿñ¿åßbSÓ'²o…ŒTìêçîL+ëf¹¢(óØûN"GT ‰\÷~8 þàjEu+$åLF¨—nÚ ,õ¢¾tŸ‚ì]Û&G¢Œ°kÓþ¢wqÚœ9I¼oË¥qrÈ%Ì>&0 s§ó¤ìQãuïÉüÇ~¸†oäüCujºýPRo…ŒTÔ?Ï=¬ÍÏ´Y®(JµFÎîÝ$‹Y;€ówF%„GÓ;ŒÙßOϳˆì<ÊÝÄBh+/‰ H¥»ôBZež^ ¦SÓS¬ÂiÖ»sGM§¦«’1¸èEú Ña³¦{_B8üïAA”q4½.Ø” Ï‹‰»ÓCšVmH…oPïØ…›A¤ >V"gPÓ©éÔô2/Ølüë>V"gPÓ©éÔô2€-ÁÇJÄ@šbDM§¦SÓË6þµ+õÔôãÚ— º¶ÿ³ñ¯%øX‰¨­¦ç¾êŸ¡€@Mïð±–—Ü´ºN ¦30dî¼öòµgß¾ô¸é¥ÇkàŸë–Œ*Ì,9vú¬cn?óè;®½t–šÞMàc- WáÔ5=¬9¢¦30tfNýÛ]çŒo<ïø ç¨±ñüã7.Û¸ìX`Ã9ÇܵôÈõKþYŸ¥¦wøXK‚ÂU˜šÎÀP•pÇéGnZv¦ NÞxá©ø¯ÂÆå'mZ>¾qr¬…ó¡ìGAÖÑ[Ÿ¥¦wøXK‚ÂU˜šÎÀP•ÐÒtèøòÓZX!pÑ õ&G¡éÎ9jfɱ³Ôônk¸{ã&ÂU8mMýf{M?qãÆ½‚=7m<Ç^±ñÀE‹6m¼A°(˜ . p—-ÂeW€Ëö:q£:©nY,Rç%´¦/žš]ÜÛ;;;¥þ98ø'ÎA/â ðωÍöNàÌÔâ^#}ÂìÄ q—Œ\/žš2ÎÈ´ŒÔU´2iûbجþ98Ø+óÂPË©¦«ú¥ŽpêêŽQÝNÜxEì©þyå‹Ô•êŸ{í¹1xÅ:ž`Ï[w°È¸%¬bê´TÒÎ?í…?-lâÄ /VVÁ#kÚrÙÔàÀÎr9!kÔoHSû±m Öš"ÚÉ‚[ÓߨsÖV<ê[ß:ÇÏ}þè¶Ï8î°ÃÎPVÜc=úûûwß}÷ÝvÛ-kiþùÏþ“ŸüD~Ùõ/ùË®»îŠƒ¯ö£°d§v:âˆ#lK6¥ªéhܵéÄ=u­TõK‘vÑ¢=UuÛë€+öÚs³¾ØŽ¦O´,„PNÌNá@‰)Dtb0PW½Zßgçî z«Ëôíò®8š.ÓrF+“–IèD{qfj±JT©|ûBÁP™pÇŽi©ùÊ35î^qú÷?õNhzkÔ}Î9fÝ’ÑÙ9M·[ÎHMG½SÒybkië‚ê†:uå­^õÿì œÖÄáþßO{Øû¾lmmkï˶Zj¶ÚK‹ÚªˆGÕ®» ÛÚ_[¶¶µ¶Šè®ÊP¨T<_Ý\º(¨‚.¢²€xS]”]TØò’¼I&Éäxß7ï;yß<óyÈæM&3ßLf’Ì$)à ›ÜÙ3yBnÔÎBÏNüÙ¹Noûõ–qga]gÿ°ù&ÖwŽÇæ*;û'cLL`&dGno [ÁºfÛ]0ÎííŸp Ñ3>Wµéó ´ù;{&ì,:û V æŸFªúíùâÂþeÄ6m½™åþa=ýþú$¢]($¤¨fÅÜ­ñP¶é5jÓ÷úø-Ÿ¯½ó+|dŸEï>D{ç/´O~åî‹—h_ž¬å/¿\{ðA­¯O[½úä“O®v›~á…j6˜ÊO™¢õ÷kÏÕ‡q\›Gº}|yzØí9£Ì»î=ã{ôþñæ!óÞ{®­×ì÷Üï½{ZÌ 1î½£ 6ç˜=õf .ÎÁ¶Ú°–qKßÜÄlÝwïÝÜ4ò,,&•mzÂ‹ËæÖ.Ù¹v)$\¡ß!6ë…åÝÃËçÝ;O«àÞ»=RÅs¸á¤ÚlRÑÊL˜Ðç:½Óº o®bÞ—Þ{ï1®…ý½á=ñî½£í6福1ØéÒ6KNÈM0oΛ3;ûûTuNè)˜ 09ØYÖÉ .âu:ÛôØm:ô‰ÏúÖ™Ú¾Õ¿÷±Ú[ö\tÁ5}#ΚûéñùüÔ©hÖqµž¿üò_ýêW1›æ±ÇŽÛ~w»voçú['šsŽ;ö¸ËÎ<õŒ–_†¯xÑEågÌ(jút¨oéÒ?~oûoŽFÉéþç/ï8f·{ÚöXÒq`õÚt¼Å.òžas@‹gŒœ=†ÇsÏçùö¥}œ6½­×Ûp{F»m0šoó|^#×k´ãácärmSĽ$"Å6×ÚÆùƒÓ]î¹`÷Ì÷(Évmz†ÛôéÓ§Ïïþßw¿}§~0޺ⓟïš<ëníû×kù+®Ð;µÑ¬?òHœ6}ÿý÷Ÿ:ujלywÝ4SÛ6°uu×Èï¾ôòξÛgjÏ?¬=½èüߟѦ?÷œ©üÕWëûÓOkO>©ßŠGJžzj×ÿ6o<ÿË+Ç¿ºzmºgÀLgÏä¤Zv±MÇE®}éÍ6!åáåû{ ý÷ïì_±ó¡¥NÇúšÅhÖõwÑ,Ÿ‡ÖÜœ(£M·û—ý’Åoª*iÓ;ƒŸeó«Gx‚ÕJRÁsérïm:Ûôè}Wq›~ñÅk[·ê‡î–-·ß|óUkµ?-Õ¾E;ð&MïÔÞ´Iˆ¾nÝ©§†5ÇЉ'žˆý‹ØÛô8¦O:þ„£Ž>zÙ²{ñëã«WldáI'„]§ë)yþy][¶ägÎÔž}ÖnÖ‹)ÁŸÏ<³ìôݫצWO ùζéY/­^TxôWš—ꦆûîÿ/šu[;Vô”Ѧ'ÒTÅoÊýmz©2Ÿuµï‡7Ó%)Évmz†ÛôK.¹DÔµuk~Ö¬Cçh?êÒ¹UûA^ËOŸ®TÃ¥zKKKHs¼ï¾û^{íµ7Üp®Ó;;;'L˜0zôè#<ÒÜã˜8ý´Öð³OJв›õ§žrRòôÓˆŸm:CÍBúÛô2”X Ì6mz¢J¤MÏ_½®Ù³ó×]÷?ç÷ûS~ßstéÕ®¼2?mZ~Ê”ð6ýÀÄÎ]µj¦óùüå—_®7â§ŸŽÆ}ìØ±ûᅵ¾xOJЬãj=õÕù«® OIm:CÕÂöµKw=ùpá±µ;ׯÜùÈ ]-Õ[ö¾» «M݉ömzcäÔ4UlÓÙ¦«n÷]Åmz{{»}ð¢13_ûY®Cçiù3ô'ËŒÛï­­WÙh»O;í´‰'b/_pÁ—]vb>î¸ãâ´æÒ”è=¸Tî9}È\hJ lÓªp…¾kó£z³n\­ëìý÷›-ûðÚÅþr¹Õwê×éKJ~>]MSÅ6mºê!pßÅÖ.AbƒØÑÑa¼¸FþÅÚ‘ ´#z54îbKŠö:~ë ZâÃéþ”è7áŸÞߦûS²+ªMOÃ~g›ÎP§¡0ð$Úq\­¿´zÑË÷÷B/­˜Kò—ÍÙ¶´ziñmÛîÉÝuãö'×ilÓ³Ú¦£¦ QR ñÎD™'¥ð¼—$ñê;\Amú¥—^j¼hI¹K;j¡f¶ì•´éeÈ“’”´é*¼)¶é  (êbmã¯ü+¨ÌTRõy “”d.s·ÆkªØ¦×®M¿ä’K.ºè"ÿ'Tl™s©A›^^Jê¥M§¨Œˆm:Ût¶éªÚôP]´ér%X!$•$•Âp"JçQ¬äè«åî°+[lÓÙ¦³Mg›Î6m:Ût¶élÓ•r¶é©­Uئ³Mg›®êèc›Î6mz kƒg›Î6mzú>¶élÓÙ¦§°6H!ðòÚtçpK0_I5(eÕlÓlئ³Mß™t›žP1HašÂ$Õ®M/å`IcmBà¶•Iæ+©%‰jľ„g›^Î.`›Î6mz\¥0Iê[p¶é U«¨8„ƒê¶éeˆmz} ‚b›K)L’úœmzCÕ*lÓK¨Ù¦³MOT ‚b›K)L’úœmzCÕ*lÓK¨Ù¦³MOT ‚b›K)L’úœmzCÕ*)kÓ_™“‡C¾sÈ?1„†]A#2þ_.÷ ÕeA]øãks¹?Á†Ï…ÿÿþ|üwø|øð?á à á‰ðEð$øbø¸î€/…/ƒ/‡'Ãð¿à)ðTx||%<žÿ¾ ¾þ<ž__ _φ¯‡o€o„o‚o†oóð­ðmpÜ ÏçÂóàÛáx>ü_¸^ßß /„ÁwÁwÃ÷À‹á%ðRx|/¼^ß߯„WÁ«áà>x ü ¼~~~^÷Ãëá ðFøQxüü8üü$üü4ü ¼þü,ü<oŸ‡_€·Âƒð¼ ~~ ~Þá¼Þkpn·\îÿÁ¯€_ ¿ ~5üøµðnðëà×Ão€ßï¿ ~3üø­ðÛà·Ãï€ß ¿ ~7üø½ðûà÷À?Þþ0üxOø£ðÇà½à߀? ï  þ4üø³ðçàÏÃ_€¿ þ2üxø«ð×à¯ÃûÂûÁ߀GÀß„÷‡¿þü]x$Ü  ÿ>þ!ü#øÇðOàŸÂ‡Â‡Á?ƒÇÀ‡ÃGÀGÂ?‡ ……ÇÁÇÁÇÃ'À'¿„O‚O†O7çÂ-p+||:<ž·Á¿†Ÿÿþ?øwðïá?ÀgÂgÁgÃçÀ„ÿÿ>þ üWøoðyðßáóáÀÿ„/€/„'ÂÁ“à‹áKàv¸¾¾ ¾ž wÂÿ‚§ÀSáiðð•ðtxüoø*øjø?ðLx| |-|<¾¾¾¾ ¾¾Î÷·Á]p7<ž σo‡{àùðá^x||'¼^ßß ß/†—ÀKáeð½ðrx||?¼^¯†€ûà5ðƒðZø!øaøxܯ‡7ÀáGáMðcðãðð“ðSðÓð3ðføð³ðsð¼~~Þ ÂCð6øEø%øex;¼† ðNx¬Á¹×áø‡_¿~üjø5ðkáÝà×Á¯‡ß¿Þ~üfø-ð[á·Áo‡ß¿~ünø=ð{á÷Áï‡?þ¼üaø#ðžðGáÁ{Á‡?Þþüiø3ðgáÏÁŸ‡¿þüeø+ð>ðWá¯Á_‡÷…÷ƒ¿€¿ ï þ6üø»ðH¸ þ< þ><>>>>þ|üCøGðáŸÀ?……ƒ‡€„ÿ> >>  ƒƒ‡O€O„ ŸŸ Ÿÿ n†O…[àVø4øtx<<nƒ ÿ>þ-üðïàßÀτςφÏÿÿ þ3|.üø¯ðßàóà¿ÃçÃÿ€ÿ __O„/‚'Á×Àíp|)||9<î„ÿO§ÂÓà+à+áéð øßðUðÕðà™ð,øøZø:x6|=||#||3| œ‡o…oƒ»ànx<žß÷Àóáÿ½ðøøNx!¼¾ ¾¾^ /—ÂËà{áåð ø>ø~x%¼ ^ ?÷ÁkàáµðCðÃð#ð:¸^o€7›àÇàÇá'à'á§à§ágàÍðÿàgáçàx ü<ü¼„‡àmð‹ðKðËðvx< àð.Xƒs¯Çñ¿~%ü*øÕðkà×»Á¯ƒ_¿~#¼;ü&øÍð[à·Âoƒß¿~'ü.øÝð{à÷Âïƒßþ ü!xøÃðGà=áƒ÷‚?þ$¼7ü)øÓðgàÏŸƒ?þ"ü%øËðWà}à¯Â_ƒ¿ï ïÞþümø;ðwá‘pü=xü}x4|| ||0üøø‡ðàÃ?  ÿ  ÿþ||4| <>ŸŸÿ> >>þÜ Ÿ ·À­ðiðéðxxÜÿþ |ü[øÿàßÁ¿‡ÿŸ ŸŸ Ÿÿþügø\ø/ð_á¿ÁçÁ‡Ï‡ÿÿ¾¾ž_O‚/†/ÛáøRø2ørx2Ü ÿ žO…§ÁWÀWÂÓáð¿á«à«áÿÀ3áYð5ðµðuðløzøøFø&øfø8ß ßwÁÝðx.<¾îçÃÿ…{áðððBx||7|¼^/…—Á÷ÂËáð}ðýðJx¼~îƒ×ÀÂká‡à‡áGàup?¼Þo„…7ÁÁÃOÀOÂOÁOÃÏÀ›áÿÁÏÂÏÁðøyøx+<ÁÛàá—à—áíðx.À;á]°çÞ€ã~üJøUð«á×À¯…wƒ_¿~üFxwøMð›á·Ào…ß¿~üNø]ð»á÷Àï…ß¿þüAøCðð‡áÀ{Â…?ïþüIxoøSð§áÏÀŸ…?þüEøKð—á¯ÀûÀ_…¿ÞÞþ<þ&¼?ü-øÛðwàïÂ#á&ø{ð(øûðhøø@ø ø`øð!ðáÁ?†ÿ>> þ<>>>þ9ü ø(øhøx,|,<>>>>þ%||2| ü+¸>n[áÓàÓáñð¸ þ5üø ø·ðÿÁ¿ƒÿ>> >>þ#ü'øÏð¹ð_à¿ÂƒÏƒÿŸÿþ'||!<¾ž_ _·Ãð¥ðeðåðd¸þ<ž Oƒ¯€¯„§Ã3àÃWÁWÃÿg³àkàkáëàÙðõð ððMðÍð-p¾¾ î‚»á9ð\x|;Üχÿ ÷ à;à;á…ð"ø.ønøx1¼^ /ƒï…—Ã+àûàûá•ð*x5üܯ„×ÂÁÃÀëà~x=¼Þ? o‚ƒ‡Ÿ€Ÿ„Ÿ‚Ÿ†Ÿ7ÃÿƒŸ…Ÿƒà-ðóð ðVx‚·Á/Â/Á/ÃÛáð0\€w»` νÇ?ü ø•ð«àWï_ ï¿~=üøðîð›à7Ãoß ¿ ~;üøð»àwÃïß ¿~?üøƒð‡à=àÃ÷„?  Þ þ8ü ø“ðÞð§àOß? þ<üø‹ð—à/Ã_÷¿  þ:¼/¼ü xüMxø[ð·áïÀß…GÂMð÷àQð÷áÑðððAðÁðàCàÂ?‚ ÿþ)|(|ü3x |8||$üsøðQðÑð1ðXøXx||<||"üKø$ødøøWp3|*ܷ§Á§Ããá pükø7ððoáÿƒÿþ|&||6|üGøOðŸásá¿À…ÿŸÿ>þüOøøBx"|< ¾¾n‡;àKáËàËáÉp'ü/x <ž__ O‡gÀÿ†¯‚¯†ÿÏ„gÁ×À×Â×Á³áëáàá›à›á[à<|+|ÜwÃsà¹ð<øv¸žÿî…ÀwÀw áEð]ðÝð=ðbx ¼^ß /‡WÀ÷Á÷Ã+áUðjø¸^?¯…‚†×Áýðzx¼~Þ???? ?? ?o†ÿ? ?À[àçáà­ð <oƒ_„_‚_†·Ã;àa¸ï„wÁœÛÇ?ü ø•ð«àWï_ ï¿~=üøðîð›à7Ãoß ¿ ~;üøð»àwÃïß ¿~?üøƒð‡à=àÃ÷„?  Þ þ8ü ø“ðÞð§àOß? þ<üø‹ð—à/Ã_÷¿  þ:¼/¼ü xüMxø[ð·áïÀß…GÂMð÷àQð÷áÑðððAðÁðàCàÂ?‚ ÿþ)|(|ü3x |8||$üsøðQðÑð1ðXøXx||<||"üKø$ødøøWp3|*ܷ§Á§Ããá pükø7ððoáÿƒÿþ|&||6|üGøOðŸásá¿À…ÿŸÿ>þüOøøBx"|< ¾¾n‡;àKáËàËáÉp'ü/x <ž__ O‡gÀÿ†¯‚¯†ÿÏ„gÁ×À×Â×Á³áëáàá›à›á[à<|+|ÜwÃsà¹ð<øv¸žÿî…ÀwÀw áEð]ðÝð=ðbx ¼^ß /‡WÀ÷Á÷Ã+áUðjø¸^?¯…‚†×Áýðzx¼~Þ???? ?? ?o†ÿ? ?À[àçáà­ð <oƒ_„_‚_†·Ã;àa¸ï„wÁœ{Žøð+áWÁ¯†_¿Þ ~üzø ðáÝá7Áo†ß¿~üvøð;áwÁï†ß¿~ü~øðáÁ{À†?ï þ¼üqøð'á½áOÁŸ†?þüyø ðá/Á_†¿ïþüux_x?øðø›ðþð·àoÃß¿ „›àïÁ£àïãáàáƒàƒáÀ‡À?„ÿþ üSøPø0øgðøpøøHøçð/à£à£ácà±oRßÿ~Ú»Q¼Ûéü³¢Þ“3G\üë(çÿÏôtÀÖí ú²¯_ŸSôûáëÓO#–ærNgó‚ïê¶âÖç[ñjÆûP¾ž[î=ýáù×LúƒžÖÿáÿ% ï<µØÿÓ_é×.ºó ý¿ÅŒÕ¾–ð ÏôÔLvüè®dT¡EþäOþäOþäOþäOþäOþä_SþgO›M¥‡¿âŠBÅü ‰(Ûü“aHþeòWÈ_m ÿ*† SFž²!t‘’øÕ¹®8Ý?yÔ¨É=œ„ø#͹œ“ê,ÄÈ]µBÌM'Í_g¾Î˜^—y ÿÑmmvºÉ_Ð:}ôëÓ=ô {/`¢ØKgì ×ü =ÅãŘÐçX;1ÿ” ½m¹¶^WŒãÂöÅ¿ÝYÄšÂržµŒØ¦´¹ðÌ‘Ç-FëþÙ¿°3Ç›¸ ù{n|&zÆã›3þ2!{ç`?A_sœ=ƒ¿‘a›Ï#ûwÏ®q8‹¡͵–A¦¸~Äêþ9š½ïíMx¢7í_ØÙhâå¸V(Ì ê~3è?7 ÷ŒŸÐƒ_±ËÌãÖ?V7ùØÿzûsç™ã_Ë3dzµG„à^ËŸÈ…“ço€í±`Úü}m^ò{Ì2oì¬ó((…¿1Ù6Eÿðh5_! Z¸ üõ*(—+Âtj›œïºÎñ£ŠÅºÉP 9 w¼úÇF­Rÿ¸k…XõO$±‘G+Îð/\¬ÅŠK%Î_RÛ‹í/Z`óXÀbgì2û)¿oûkïw… !¨ýâ/k@=ÑŠ›ö/lµÕây\rü«¢Æ¼þŠÈ_m µüÕòWÒÃ?›J ÿj«œNù“?ù7ºê—ÿìY“©êIç¿£ +€¿ê´ÿä´cx8!’RR 2”(#?ù“?ù“?ùKuzëñTõÉ_õ ZÃÀ×bœb™WõR‰‹üÉ?Ë"ÿ”ðß±cxGðiù׆ªÂNÛkÈÒˆsf 3ÇL—,é›§[IëfŠÿÔ1¹Ü>çÎ1ÿœ8ΆV!®â>b ‰f»_nÜTÏî0(%À̹çìq@¥Fjø‡01Òw‡ŠûÈ^ÞÂëúU3ö¯¿¸-+Z=Œø ,ÂäN=i°uÎökë äoÁñâ¯ú´ˆ½$ÖüõZ®HÕ®ýÄöÂØ;Ît1…XËÚŠžçoå×]짯ò2Ÿ>ÖÝÔºhã° û¡YT½›ómÚ•T_µY§ü#ëÏ´"š¿1CÀ¡|{G:-VYA•^Ýñ÷$»ìEóYþ‹ Œ;Gº®Xþ£øªuÌ_rþé«®ƒøÇ«ÿ?­ÓQ¡öÆ~‰[þÅúß5]çüWÉÎFbñsþãÌ1ÎgìÁ¾Ü›X<£ù»j­d+ÅüËPºOæ+â¿}GˆÈŸüÉŸ"ÿù“–“¿ò2­8埡aÑ‚kvßsCþXŒJVäOþYù§‰ÿöe…ÿa[6jCgˆ©â_“T¥‚MDþuÅó‚âIëŽi‡Ù©õÏš6£x½°à¬  ÓÒÂQx—ÄÌMC 6a†]K¸°§³E1~éÌ0þî ;g<.,éÝôîg 9gö 7K\OñÀî°6­o×RL¤‘gzÓ–ƒìdÛi/Aá[Ò˜i J€•Âð™%ðsd®+Û´Q>‹iÓgúœ(©®Ç§m2¶""õNÛÙq˜Ÿ±P(Q¾%Å™‘ ˆ*Lrþ¾\H7íŠÊÚA¡›®”¿;XÙ·N»+Ø(þ¾%#તÕEðùûrcÓBù<Ü’+ÿ2hü+,ÿ¡ ˆ,öÑ•^<þò¼Û1‹å?Yþ¾Mm.…õ¿¬ O@PªÊæ/ݴв ´T¥üuôpOo"럊ÎÄìøPóŸ€y",Â1ª¸ÍB{” ÿŠÿ»á¯5È_µRÁßuÎ œ<œUMþAsŽZ×ü)òOJâÏP“?£ª§HþCƒT5øø—üÉ?›"òϲÈߥ¾IM¹ænq"Uük•*õük%›ÿËÛ_ù§€¾µøæÈŽ>;µþ9Íí#͹­]k„iéá(¼KbfSs«¾U»–p'`ÐÙ¢¿tf÷„Œ¦ö•Â’ÞMu5;OÔ¶ä% ®ˆ¿§x`wX›Ö·ë)&ÒHŒ3Ý4il;mbâ%(|K3-€A °R>³þbŽÌue›6Êg1múL‚åo#Õµ²£ÉØŠˆÔ;mgÇaÞÝ"”( ß’âÌÈD&9_.¤›vEeí ¨MWÄ߬ì[ H§Ýlß’‘ °œÀê"x‹ü}¹ˆ±i¡ü‡5( •´@þ–ÿÐDûèJ/yÞí˜ÅòŸ,ß&‚6È¿Âú_Ö…' (Ueó—nZhYPZªRþºNz¸‰§7‘õOEç?bvü ¨ÎùO@Ž<áU\^hä_±âŸ`7üµù§@êù»Î„“‡®jòÚhœsÔºæOðßþòK!RžÎFù×å#[,ÿ)/ÿÊÓÙ¨"òϲȟüS$uãbñoø{2êúßÉ?õü9þ¡šã^~1D²âÁñ¾™Œ(•?Ç?x6튪ôñeðwލhüCEå_ãªÂŸã6]áø‡8ü9þ¡zãbñ¯Xì'ÿ4I=ŽÞY¹ …µ+1!ai“/¿äOþäOþäOþäOþäOþäŸþgOK)”ê· 1000000000000000000000000004NPÞšq ’P2ã( %’C;v&£“T-‘?ù“?ù—¬Ù³&S ¥úü+ëa8‘°£˜ ;R‚)ÚQð(¡xÉ?^ŠÈŸüÉŸüSÃÿôÖã)…R}þUÝ <ƒ‘ xpUoËÌ~–@þäŸå?ù×Mæ´È™^½ôèñçFœ3«f[ôeÖ¹ûårc'z›>V23‘ªáÁ?'þTkþ½N“ónqâ¸\nÜÔª0Iÿ1çž³sÔž¿Ÿ¶d¨æo2_ŽVÄåžYÌ‚˜¼â´žA#ìsîiü¨<«Ø¬`Ö¾-öx¶¾Ê>¦d› Ⱦ§¶ÁŸNyHÃtyNËL@<þVªìâanÈI•±9iªBËÿt3NOîÄb©oÑŽ\L†0½_[Oq-+ײb,ϾkI!†À4„ð/+±ø[ÑJgÚŦ<þú!àÛ}ެLy“áK’³#Ì8½Õx@ö…%]1¥!˜™ ˆÃ?‚jeüiò9ç-{!Ùw‡˜Ù×ë1ãtU>áiH4åòOªücwŽ4r_Ù‹Uü$ ̾ƒ'áiH6eò÷ÕÿBi4Ž’=Äßu:*Tžzû“¿·öön48ûz]1b¿}\§ýiå´ü”Çßwþ³Ê9'qNÛ8§z—ŒþãBÈHq#ž‰ÅŠ4š¿«ÆðŸÃ‡eߨ:Ü«D¤A–Ó Pªª}u\ÕÙýòOsÈ¿@þäŸå?ù§9ÊÀd\»ï¹¡µhÁ5O@Ƴ¯<Ͼòd<ûÊñì×4‡mÙ¨ g¦šì?>m“9è5 =zR­°iËA©å„Ôž/.þg,Ô´…›Å ¯Î’Ï'ÿ²¿y¶cÚaaIÂ~Ù8ãñšó×ÊgÙ ³¦QÌcvЋ2b+;Öùr/`fÖZ¦yíù»˜ ûÂÅÁ?3áL›±Ãæp1Ÿô ó¸;khã¦fÀLcB‡éì©m1Ùúq-/ÿš`Ý«ž¿>sã&wÑJ8Öñe”FçXÃOFQ?cáŽigmÙ¨³ w =ü}·gHýqà§‚¿˜N}dÒéN€ÈAL€™07kû_gÇiþ*ÅÏß^+¨þO3—"¨,>¨:ÌŽ‚Ö™€·TÈøÛ§j‘í¯Bþ1Ú_…ü½5¿5-ÖØFõnóóR¬©Üõ¿,³*ùGŠm“U!׎¿çÌÇÙûö5 Ú‹ÍV£Pœ),/žÿ¸H áÌÍIƒxÎyur’àIB\þ ªlÝHŸ”g_y2ž}å Èxö•' ãÙWž€Œg?2X€R¨¡Á2øàVM¡ž0ù§YäOþÊ!2ê›Ô”kîV´ùÇKþä߀üó­Å§'Gvt‰„Wv4åZ»†ºšÍŸ›Zší_×´´ŸøÖ— žIþbéí°‰Ë]°-ææÌ¦IkôŸFvôésº[°¸±˜x è{'x¦j¥Œ®©}¥ÅÇšv£ÓwJKÞœÀöŸ®Å„âH:SµRÆßâãa%]³Øë‚¾€‹¿^S ‹YU{?úf’¿²X?¸ÿìn1}/ü ÉZ!Å>5ÇBýðp‰µ“Q¤ÍA^ÿ»*¥€øÉ?‚Þì '-B=3ÈóŸðoX¥ˆ&Eþä¯ùgVäOþ‘)¤Jy­vù×”†È(GDþ ,ò'ÿð”#"ÿ„•¦›Kîìo˜2Ú¼;ØÖ+eaÿŽ0zʆêñ×7TLCòÄÒÊ¿·­Þžðü°gÈ¿bþ€k•i!ûü •ú’ø ãÌ.û†û¤Vs¦Þ)ÙÜÚdõ¿X èÁî”u(—“}s)i,‘8~7ýÀ3ê¶¶¶Àòïð`ñwõÎXÓ:s{ß0‰¨þúÌÑ£­ýEþzŠÑûÁLL¯‡¿oÀƒ¯[yó‘“HJà/ðI°%°àÚ¾ýGo[ ¯¬¿Ø¡Ã$T«”ò/†Äš9{ÿJù»<øø»Ž¡ü‡“PÎ?Fû[uþv”’ò/dô§ûø cÛ¤ DJëÿÈóOqnrM±û´*}Oýïÿ =ÿq µÈ;ãS~þcçÛ}ý%táò+±Ë€Xç?AJSM’¡äûBõâªÕëSõÇ¿X›¡¾ ]ð/v–§áá] igb*$¦²±x)UmCäOþäOþäOþ•óŸ=k2NÈŸüÉŸüÉ¿füÏž:·ö"[U¿÷òO–ÿ“…•w.]»}Ñê—zïš¿â¥y÷ÍYöb÷ÒmÐm‹_Êß³íÆ»†Ö=¹Ýâ/r+@ÿBEJŽ¥)±¹ƒ*çønÞõð“»xTßÐýý…ì\úÐÎÅk‡¡»Öî\]èY±cî’AòOœ?J>à¯}¬°rýN`7É/Y[¸«¯p×j]€ÿßûuþ8(È?qþ¨vÌ’¿ü‘°›ZÜ7 æ·¯Øi ü{îeùÏ$ÿþÎQ£:×Նϳïd|Oø£ÁÕ+ü~£Â_3l Ìç-/@s—›eðå t5y]Åüãï;Îu£â'`¸g¼{1r¿Cg¿ßHLåüq¶ƒ’oþû³ü>°C˜Ómì¨þÀåp˜ÐSsþ“GYçÎÑ×걫è˜M-ÿ©cœ*iìD{a²Ü#L› $Áß®'ÀÙ)Ó=+ŠÓö’uÉߊy7 [‘ªž;£ÈyáÓûµõ$Æ¿X¼%ؽü­%“SŠÊ¿#ì ›¿G* þ¾.ýÕ]x¬bÓ@ü]‡†Í_vø—ÊßÞ¡öá*¿+©É iáïÊ‘Xþáß;}l®¼¿§© áï;èÂKQòZ4UÒü­h}µG8ÿU³ÎÝÏiîúü§˜SÎDLëL”:•‰û)ù“–EþäŸe‘?ùW˜~J¡vßsC]kÑ‚k”§!Ë"òϲȟü³,9ÿölÔ†Î(;Ú WÏ’ã/®Bþ™á‹Çg©Ç˜ ÿ³†ÌAõ¹ašaǴüÓfì0çÙß¼@\ÆäoÅV]>ØÊ¦-©Æ˜Z‘ð Íä°v§1ÓÜ# 7»Öò–k{­*©Îë:›ÿA(Ï&11S®Òõø´MFaö”¹³6ÎxÜÇßu°iüõboñw‹¿“åþµj ‰¿]Ôåå_Ìrdù'ÿÒø›•¶ÙVÊë{:°þ—Õ9ä“ÿž‘ç?Ö™ŒäügƒÙ:H*¨:çSSþ1E¤äß("ÿúãO‘£¨Þù#ý”B Ôµ u-ò'ÿ,‹üÉ?Ë’óï›Ô”kî.;Ú WÏ’ã/®Bþ™áŸËåZ»ÔcL†W³ùhSK³¦Fvô9x;ÚGšsìç[ÅeLþVlÕ僭4MZ£cüuhEÂÝ-ÀfòX »ÎÓ˜iî‘–¼k-où·°×ª’ê¼®³ù¯Ay6‰‰™r•®•MFaö”¹³šÚWúø»ò/¿^ì-þî`ñw²À¿VmA#ñ·‹º¼ü‹YŽ,ÿä_³Ò6ÛJyýoOÖÿ²:‡ücòŒ<ÿ±Îd$ç?fë © êœOMùÇ‘’£ˆüë?Eþ¢zç¯|@ÆUúKÒÕyùWͯÒ@þjù« ä¯6d‡o›q»jô” øcÃ”Ñæ„kÒú;×ÖëþÛqf:7çY$»üÁÃÁ,0Ç|‰ÍÑøËžÏÔ£oÓÃhs3Îæ<䟪» ±¿«T;øÅÂo–éÑ:B{Ia¯91Hg×/þ!Îwíù†ão×b&­ƒô”)zæ{íe¬b+Á¯mèíÝ AêÛÒ™ÅbÞ+ß\ð°ø»0 Æö°ÆÓ ©¹µÉêå{9õnÙh Ï~±bp²f×:çØÏù¡Ù5‚·ª÷1/p$òÍxø{Š\à°½«Ñ"æL›}”Ò~±à¨¬¤Ó.Në 3÷ð7ÖrWêz6}Y÷Bs*d±N¯"ÿ°@Î?r؃´·QÚ/c… ±‹3’¿¾¤gx€—¿šÐJ¹¤„¿;„õ*º˜øÆEÄA!vq–Rþõ Æ„êGVþÅÓ‘Èú§¤ö7Yþòa±ÊdpùŠJÚÅ‹¿3±|:í«§þw£Gó}þIüúßÇ¡d&¡õ¿4*a€œ1îÂ7šBh ŒßÅ_8ÿñPÎ6ˆƒXed¼óì ©È™A‘Ä9ÿp `p× âéMd™ =ÿ‘Eem×hÐóÅÂûD«©}R«‡x+zÅ߃ÏÍ 1Ïÿ+—Š+y~ÅË ¾á—§ „¸×¿ Ã_¼÷ƒmu¨ØëÿpagL’Ô®´ixxgR* ù“DþäOþ䟬fÏšŒs$ò'ò'ò'ò'ÿò4<\HL¥ì÷0E¡0ù[XÈ_%ÿhÃ…¤T¥EþäOþäŸ,ÿ~°íï5ª³ŸüU•òWYþ×wŽ*ö5Žê\¯ï û¯~s×L˜`ÌßÓ?¹8¡3\7ÙYpù'SÿÌŸ›ÐS }w;¢g@O^WÆ€¯Ãü =ÌžñÅ ò¯”¿SøÍ0¡GüÉ,çë̉žñ欒åïiù›$ËÝ äïá_¬vPÿ`*ÿuã'÷0Ñ(õù—Å]±7R ]'TAf=ï)ö®úÇZ«ò3¢êÈâoþ™FþÊÕ?EþÙù“–EþäŸe‘?ùgYä¯Væ32Ê“"”J¡{P‹¡¬PÂÁ²c89Ò§Är·c¸_äOþéù“?ùךÿé­ÇS ¥úüËÒ–ž„Wõ¦G&åÉȬȟü³,ò'ÿkDnÌtLÌi+N¿‘?ùg’¿§þ™>6—;Ñþµçœ}Ä?É¿Úüݬs÷Ë›Z»Ä¿‹yÍ+%òP¨s01âœYµL ù3'ŽÓ§q ìs&†üÍ™h…ÇÓ6b¿¶žÚ&†ü‹ó§ŽÉåjÚòf–¿\Š.ÈßTOûÉß‘^òÔ\ “¿Z‘?ùgYäOþµÏ2¥P»ï¹!=Z´àåiȲȟü³,ò'ÿ,«Rþ‡mÙ¨ ‘lªªgZU‘OÍø7èN!ÿñ×óh†Ósr=mÆsîÆï¾çæâ2&–³†ÌY ΊˆJ²×¬u7ÎØ² 0N÷F=ûeÓЂMøÉˆÐ¿Ý=7d¥ß•ÂtHà¿yf=ïNv ìž™"IM[¸Ùµ€«˜ÓÀµì™Åž±Pܧ¾8ƒÊ¿±°E5( â¾RÎ\ÎiÛ´å âüǧm22%ðqCI†.`3‘ñ×K¦ÉYŒ*:NyxÒ'w°/-´²šÄžäÊ?tO…ò÷VeÞÚÆ©”¬c95 (ÿ²ÜÅç_Rù·7ê*ÿåò÷gÁ»ðåÌåüÅÊ3º(†·ª²ú_˜i4ˆÞ¨Œ™ñ6Ä?^”3àï:N…#×W¯RÂ*(WT’óãT'êü'd£Fc]¬I<Ç…? usþ£Z z†ŸjþNíän 2#ååß8í7Cæ øg\äOþµÏ2¥PCƒéQÚÒ“5‘?ùgYäOþYV¥üû&5åš»U­^F<}“”3o@þ¥lQ9sòO\üuÅÐÚåðéhéšÐY}dGŸµ@W³9«©}R«8?‘Õýñ¸ÜÔ¾ÒOK³ræüó­nìVvr¹–¼53 °ºžY{õâ*Ý-n°‰¬.çoaˆG9s9¤¶iÒI¾œ\#ñN‰’dÜ®IòfY]ƒrhî»ÈÝWÞêòx¬Å¬™žx”3—ò×)çïÔÏaü]»oeG“^˜]·¨&¹zø~”òÌËcPÍ¿Zåߎ³¼ò¾z|þB<Ê™Ëù{ë#³ÉÕÿ:„ÄWÇßÌ…yzë+qΜ¡¬˜ W/™ÿ`]œÿ„æ«rÕÝ•Bð·k’ ö½ª«×ƒª]þóv3”wu¡†Bp½”zñþ'ùgYä¯|@Æ¥¼d¼ü§JäOþYù“ƒ+ô¶RþÕ¸-Ó`·zçt±ª ®ßBþnùn%EÝ>òßǺMÍ­MÖ])kœÝW2èºã—¿?I’ázG‰³Œ‰ÅÚ–3@" ª°;óbî¼qº7êÙ/" Õ5Vú… ½™Â]Ö€Âà tèøzŽìĵâð—%)p8»ÓÄÜéNF‚:³¤=SòÜyã *ÿ^Ò,ˆûº¹8áën–ò‘ì 9ƒ¿4I²á>’¡ ØL"{Æ¥¹“Ç)/ŸÑY°%Öž#7„¿4/®ƒ®X„|kÅãïOR`¡•Õ$¡ƒâŒLÙS¡ü½U™—ªÀÇ9–ãõæÈÇ•ÀÀ‘¥–Yîâó/©üGç®þáTM¸Rå;¾œ1¾:Íœ–6åÔÿÑE1¼U•ÕÿÂL##Á#"7Ä?^ü•FPå㩼gƒÎn-wš’ŠÎ|]ÓÅ-VP®¨$ç!FF¢ÎB64‚"€ªìü§,Uád;E÷Òy…Uå1Šù§g„CpÏ~…CRÍ¿âe¨PØYíJLÃ;Ó¦á DþäOþäOþ‰óÞåW’™Jd÷‘?ùWŸÿ³Ï¬M§ÈŸüÉŸüÉ¿fü/½ôÒK.¹ä¢‹.ºà‚ Î?ÿüÙ³&ûÕÖÖvúé§W>R’Mþö[>¯¿>¯ÝuŒ¶ð(íÎ_h Žœ1#ÿÄÚ¦MÚ† Úi§Vþ¡W…T*þÕœGG‡‹¿A^ë=B›?¦þ‡zh©ü‘’æ/ b®ÛÛÛmþ³gç]ëù™®y‡Šü[[[Ãé;ûhâĉ¨¯P•]vÙeˆù¸ãŽ‹ÏËg?*{ð¯».Ÿÿó7òÚ/ξÐôéù+¯ÌO›–Ÿ2%ßÒÒ‚îÀöU«Va:ŸÏ_~ùåøMÆ„ °_ößÿ8ü‘’lòÔ ­[µY³òÚœCµ®i·¢åþ=¦mܨõ÷káü÷Ýwßk¯½ö†n˜:ujgg'°=úÈ#Ä^(Y³&·žÑ‚g“ÿÅ_ ò[¶h7ß|»¶ö*m韴[Ön:…߬|Ö­ÓN=õÔpz'žx" #¶Ç7=†éŽ?é裺wÙ2üºbõã Ù>ö„“BbÀºä?}úôÿuÏ¿óÛßÅ.XqëÜÞÏr0?U»û,íúï_qE…ýzí‘G´æææÈ õ Êÿ¼9]3oºk`›Öµzëèïì¼üÒ™·÷=ü¼¶èiíÔߟ²ú¤I“2ÈéÒ¥w~è]Ú©û®<ï7ï³vê§ìýmõÚ5#Qó> ÿCÅâqøáÿøçE ×–?­å7i|ð!pÞ¿L_­M^ª=îDò÷ð‡f}üÚ™ßêÿÖ´c÷^´ç[ú®¹`îY#òã?=uj¾³3?y2ÚÓü¯~õ«8ü¡qÇŽm¿{{ç½ÚÄ[×›sŽ;ö¸Sϼì—-g„¯ˆkÀ ò¿í¶Ûú»þÛ»ç[´?;tÀ–7­-¨Í¡]¹à?ü°¶v­öàƒÚ)§œ“?4ö„Ö–3;=tLüU œ»fÿ’³Ï¾{¯·k¿üŒvÔ^ÚÏ?|ûoœ;I»úûÚ”¯¢ä›ðûú´“O>¹$˜e(›üoùø^ÚøÏ<ð•w.Úç#Ú!ïÖ~ñλ¿òImÉÅÚä/£Ú1á¯^] þ^xaùß=ò;7¾ãuóÎ<ÓùÏ|jÎ^{.š9S¼í†3Tþ'vꘈpÕ¬fÒþ¦GÊ)ÕFÊ9“:¥œ ùgAÊ9gœ?EQE¥JÒÑ/Tͤ1( ;† AÞ‘ †“ÒŽ…¤”T°‘?ù“?ù“ó?½õxJ¡TŸe=<¸ª—¢(Š¢(õšÓ6"7fz#÷‡}Σ:×éQRüÃã©ê^®k‘Jøçž³YGŒ8gÖƒ¾™ã¦ú`§'Ž ¯[Üü§ÍåÆN´íAüøSº­Ub%Öˆ—‹¿…}ꘜ0³ÈJŸ6Hø—Xþ]Î:w?ƒ¶t[úžµ°Û©j$¹Z9•Î4Ê­¾ƒ*ço3ܘï×Öã_«a$@59þVcLˆuw[z™w…ìñ¯Fùï5*ÌA‘ºðòßˆŠæ/­“‹åP/Ʋ=ƒ¿NxÜ9m#l¼‘õ¿kºQ£þñŸ“ô8§ImãŠké•s`ý =:ŒºÅ}ž~þÓp•Oü½SƒÈyP[þvLþµæ_¬RÜ1“?EQÕ R>&ãÚ}Ï EQEQ*uØ–ÚÐå¬ûø´M°څ›Õç¥Z9McªÎX(27öEÊwACñß¼@Û1í° âÑ—7ƒƒ=‰MC ôÍúÓ:àœ•<ÁÎ2î³á ;ô?NÃt‰ñd­°–0ó¬!o!æZú«˜}G¡>tÓgX4Š?éóm¶2þN$ÂZÎÂBI°£Š,i®Ò¢çEÖL¶ƒÅŒ6*~/À!o]IsmDý«ÀP^¢<;"jÓÞì[ ä/dÓ–ƒ<ÉpÍ´HFò—”n˨`7Îx<:~÷Z²TÑóåZþkÈAíÞæ^ˆÞt´@þÅ™úa.åïñø[uŽ1¡sö-àðŒ_8ÞͨäIu/é+ÿQ¿†ËÚS‘›öEYþ…£;¢üG¦PÌ ¶‹?±÷Å(¼üÇ… _Ë¿/×á¿JJ¤EÐËFÔ¦ëa¦Ñ¢ùø{k6_ýì?+Ì~‘ð‚hà¬ÔFÖÿÒøåÍŠ,©4ýÀC8üW¯ŒöWà,ûˆMûŽD'Gö‰ÄÆ[HøGžÿW>vš}§žV)ôüÇ™Y<:ÜÉŽZ˹bÚ8c³¯Ö ÿÕ»Qk7YA,󡛎u ×F’›¾ „ƕݓ’rE¸O'¼Ëø«Dò§(Šª–-¸†R¨¡ÁŠ¢(Š¢j¬¦\swÙ«÷MªÑên(Å"ò'+fÙѧÏYÓ>Òž6mj_ ‹/*]]Íæ¬¦öI­æ|{uc¢Cßœ¹ÀJï*-Í¥3ÅÊó•oµ³ çº˜Ùî–\®%oNH2%ç¨r­]î¨ô%‹ñëqJø[ñ®RA:S¬"ä¥iÒšâÌ•M@sºEü5Š¿kf—^D >Ö~þbÖgúV© )V«/w°òUüÉù3’¿ ‘ ¦]†ÝõO·;Nß*¤3Å’•+Q«®z>vù·ã——×*¤3Œԫδ^zÍêÔE#œTýï4—¡üÍFÁŒG^ÿÇOgŠ%;¯ríäE§êmã„U\§.eÿxùFžÿD¤“’«qOæÓ+á\±îªˆÆQ‡›…Ÿ¢(J½”ȸ”Š¢(Š¢²®òïMé÷`þ€é¼ WnªìPg_¤|4±W¢¬xüwìƒúDšš[›rB¯Š¯Pzó_’`gwá±z݃"âÇ¿ÆZ%`-o—¥«Æõ>¸~³ï(´À‡nÚêT’öX…õI¹Ör–Oˆ(i®Òbõª›Év°˜ÑFÅïØìÍ +©b®Ý]B¿u1Û%ʳ#¢6í;¯sÜË_Ⱦÿ6~àø„Pþâ’ÒmÙn‘ñ»×’¥*ˆž/×ò_Cj÷Ž0÷Bô¦ òíF ŸÆßí€ ¡ÓYÀá¿p¼Gt »úO¥¥.ø×pY{*rÓ¾h#Ë¿ptG”ÿÈŠy1G˜`ï‹ Pxù A¾–+~é˜à_%¥NÒ"èe#jÓõ¿0ÓhÑ|ü½5›¯~öŸf¿H¸µ œ8æ$´þ—Æ/oVdIõ ŸóÿÕ+£ý8 Å>bÓ¾#ÑÉÑg@æ¤V ÿÈóŸðÑPÅ –ÀTÑç?ÎLqØaìó犩©=ï«uÃõntÈÕÁêÚᛎu ×F’›¾ „Æ•{À!ù'$ß-O-',㯟ÿððN— ±5¼+@™‹°0²­ôì3kM•¡äM'F°c.IŒP —\rÉE]tÁœþù³gMö«­­íôÓO¡®¿>?8¨=ÿ¼öÜsÚæÍÚŒù'žÐ6mÒ6lÐN;í´4D8{v~ëVmËI„­­­¾ ! ƒÛu×ågÍÊÏœ™¿úêüUWå§OÏ_ye~Ú´ü”)ù–––ø"›҆ؼgŸÕ“÷ÔS"|ì1mãFíé§µÎÎÎø„¨636Äðä“’‡üâÏgžÑv?}YüAÌrjÇzW\‘G:7ÿo×—Ïßøêñ+ãGˆHLbxáíš;žA‚W­Z‡­Œ›²ñ•§Ü·çy}ñ#ÄÞ4hÐÒ¥}ïýñŒ£ÓŽ"ýËvïvÌ{´Ýs`Ç’ø"w¦ {iÛëˆï1fvsû=>þö75ç†Þç/½ôÒø‚¼)”ìSdsâÄI{“ÿС×îö£›?}b_ŸvòÉ'ÇåÖÊ[¿¾O'Mºx``àõMW{^/2¾zuizê„«¯¾ú„NÀÄÏOüê„1cÆ\sÍ5'tRüË­¾ްÉM ËT¨@uaÊ%m‹+QPq*;ì.ˆ®80ÂÊ#LðRæ—¼’*-v„ ~bŒ2BFÈ!#Ly„‰·Ë ¾©Òl a’Vöšå:ŠP}dǗ¾ãÉr2ŸAqe9‰ïz„¥°¤Uø"¬øË ÞËû”@¬rX™aš#Lð‰63¤ú!#d„Œ2ÂÄ#d«—­+RUGær>PãKaOˆx²œÌ#®,'1†?,…% J÷EXñ(ko„å ŽU+SEX(ìzùåC”Ô)ÿ.À¿äOþÙ”Ãÿ¥m!Jð•ò+’¿òrÒ¨ŠYþ•§³QEþäŸe‘?ù§HÒgüÓÿáŸF¬yÉ¿~ø»^—d¥Ö?Çõº€5žW½O …wÉÀW?I^˜ Æ/A÷„ä«XÒ@•uo96ÿ€w¤ zÞ×$~CJ˜6_† ŸF ß’ÞW?Ià{ó’üuLñùû¾Š%T™·âËäø¾ Ù«cÂß§ˆÂ·d૟d ˆ*Lrþ¾\D¿`ª„ž “ÿK/ …HÎßß×$ÍW,þ¾%#`8ÕEè§Ùêo.bl:~7Jùüÿ…È¿Âòš€Èb]éÅã_ꫜã/}ñQèû²¼Ù©°þ—5@ñ_Ø$&é¦ËíF,¿çuIþw Å«*:ÿ‰zõS5Îr䉰Ì^×RøW¬ø'Ø ­Aþ)zþ®sá䡪Ÿq ÚhœsÔºæO‘šDþuÁ_ùÆø¿øâ Äò¯ªü›üƒ¤<*ò'ÿ,‹üÉ?ER7þ!ÿ†¿'£®ÿüSÏŸãª8þ¡ôòÏñ¾™å(™?Ç?x6튪äñåðwލdüCeå_ãªÂŸã6]Ùø‡x×_ÿP­ñ5ºþeÿ;ù§Iêùsüï¿©ù“–“¿ò-–ÿ”—åélT9ü·mÕEþjùHy:Uä_Oü#ï ÔûM…ý¿‰ð¯G)Íù×ÿ°1 å `Ròà‡ Îé’Ũ‚» c®¨-«OÊ=æÁÛ?R° þ‘ƒÄÁ!kã4BûŒb®¨5»0y¨dØÀ€lC²ÁÒŽHéZ±Æi„÷ð†®¨5;×zª¼}âå óü çã[«¼q% ®P_þcó±]þ¥ÝèñË¿lÿ–—Ô„Ž…2êo­^ÂÙ°ÀÜE~(½þ&ᯋJÝ‘ÿmÛ¶n+íü'´þ,aØ@ÿøƒâŸÿH£uD%µzç?&ÿ U¾¡ÒT^éªÃËòÏ4ÿd??Eþu%ò¯ þÊG4¶XþS^þ•§³QEþäŸe9ü‡ž×Eþjù¨¸<Ç?¤œ=*ýïä_/ü9þ¡*÷ÿãòçø‡é¯"ŽH ØWÀŸãrÞJU}ùçø‡šñçøÉZCþÿ îü§fÊbÿûóºÈ_-ÿU“³?dsüƒ þ™ù“–“¿ò-–ÿ”—åélT‘?ùgYä_Oü9þ¡jü‡†žScàMsò¯kþÿPûÿ±ùsüCŒôW‘?Ç?$Pì+àÏñ9o¥ª¾üsüCÍøsüƒä­!ŽPwþS3e¯ÿü³ÈŸãœñW!RžÎFù“–“¿ò­HþC5ù« ä¯6¿Ú@þjù« ä¯6¿Ú óÜ"Õ lð@þjù« ä¯6¿Ú@þjƒòÛàվǮod”#"ÿVúù+ïʸ”ÑŒ—åˆÈ¿Eþä¾€rDä_-¥`L¦;û¦Œ6G™¶õJYØ¿#Œž²üåßÛVoOx~Ø3eòàZeZ/çЉ…Xüƒ±žDkjŸä<†#>‡+>ªf>û#®ÕÒœ"þ.æRÒX"qüš'S|5 Å_úÈUñéžî–œðrÐs¸Òµêˆ¿>sôèDk/‹»>mlbÃóÁ"·¦ö•úãNv‘–í·ŠÏ©ùÖªþ6“âÉ´î8-¦Àáï}xÖERúà ç}­úáï ‰5 p6VþíÇ`¥ÏºÖÊ¿k­ÔðÑþVŸ¿¯üÇ«ÿG/}ü…× HˆtÕÿ‘çŸâÜäšâØõìóßóÆyç•é<ÿ±{®¿Ä‚.\~%vûü§1ßm•¢û•^ ^¡zqÕêu¥:æ_¬ÀÍP—…¿nø7®RÄ? (GDþ ¬ôóW> ãR^D3^þ•#"ÿù“øÊ‘Š×¿õyçAÆ?5ã„káàÄô¹Ô•Å¿ÿ¬ÕpüCþÒ÷IÖ›•ÒÿR»ñ~þž7jJ^Ž'¾iÓ?ÇÕ}°FööNIÿB-ù+ÿ 9ý£ÛÚÜüƒÞ(ë/ÿo^+L›m‡üå´iã_ƒñÅhý`&¦×.Ÿ²7*Ë^½ýFñÐ7¢Û/gNÿ*pmßþ£·-”ªôÕ÷®ëâÒ—“§¿+$ßÿîþ ð/³ü[ŠÅ_uùW=þÁuxyÊtý/}uyÔ»Á]1¨®ÿÓ1þ¡Xé{ê‘ï¬Æ )¼$ܵdøW<¼Gâó;ߪÆ?h!ç?U–º+ˆº¾ÿ@þ•ò¯ ç  þêDþä¾€rDç¯|@Æ¥¼ˆV»ü?¸US¨†'Lþiù“¿r䟘ê­/˜üÉŸüÓÏ_þqOÿëŠü…X‹o$ˆÿ‘ß òø®«·T»¾Ø.}½ƒþ«óœ{WsSÓH³?3kÖ±XŸü%Y»þ ̈¬SØ(êÝ-Æ3õhC¿êNþÒNp“ÿ «WÑ)þ×;ø> æøÓ|σú·=¤ž¿ä»öÞ4Ë_u"éjG ­íÂQÐÞ,¼y#-Jÿ€ò/í4|½ƒÓR¸jþ¦ÔUþéãPÿËÏd¯wð}$ÝÛ@«žnþç?«´ñ÷¶äOþä߸JÿLŠüÉ?2…”B)/¢/ÿ-ò'åÈ?³"òWü3«úàpkZþТôIIñ£þÈ_ÆÓìsqJÞîh7èIañ£¾D¿EIò–ŒÁÀ®É€™Ò'åæþW¿²gÀI@×¼dfø›"^Aþƒþ®[ÏgD*,ÿ¡/ˆ ÿhþÖÿ²¹¦É?œeç?åQ>®Žøû»&ëk¨sÚù‡ˆüÉ?ËüWäOþÊ!x )…R^D3^þ[äOþÊ!fUüà³içvÿMýMãLóoˆÛ>uÅ_ïR)ÞÏïrߺêСŸ†Ûþ)åôepyùêÔ¡Ÿ¦.Èñús¶9äP‡°é´Ô`éáï¼±DDÔÕÈ?r¨CœiÕJ)û]!ü#‡:©üíò,)ÿþÚ#j¨ù—Â_l:½õ¿ø… ߇:IüƒÏWéâŸ=‘?ù+‡@þ™ù“d )…ªÍgPJ ‹ê¼ƒC5¿Jù« õÎ_yPÆ¥ºüVÕyùWͯÒ@þjù« ä¯64 ÿ SFçÚzÅ?GOÙ i½mÆàic:=¡ù»ƒ€ßøß³wT‡Fçoá·±“¢ÒqZ¡ˆÕE¸· øÅ…Š!-ÕÐ"×>²·˜F½›]öíWÙÌ §äÊ{÷»õ,ŒƒZ¯ß}%3ÍÉô—ÿà·ø†½›Ýûòêx3]O)–þîwá»Ñþ’,¶ñ× ÿзX>Që+«3¥üK~÷»ø,ª&Ô-Å=ávð× ÿз¸½›]xa²ûüOéÆ~÷»‹¿t°î¦VÀ_'üC_Øùb„ðc!ÿx/^Ÿ\Âñ¿ÚõkZ_-VýúnöHª²¢Ö¹‚w¿ ;:øüÇ:óÔÄ™Å)gaÕ!úü'êÝìqÏ„™Mí“Z%üKy÷»UY©æWiªÿëEªùUê’¿pvªš_¥!Õü…êHzÍ_|É^#Õ?õ)Õü* ä¯6Ô;å2.Õå·Ò°¨ÎË¿j~•òWÈ_m µüÕòW¥óþCìĨæWi¨{þN€p·¿8Ö ³¦´Ùó…®‚”Üü×þÂ[ÜW•ú焾°½¤O¾ŠÃÄžG½ȘÐ^×ø‡âLc?˜ÓöÏéê‚ (ÿACB_Ø.íA ŽJö ¾(8Þ‹š­„Rïô{¹»}]ÃßÒäü#‡:H_¹,íAŽ?jBÜï±øëKzîM{ù[ÜSÖëë„@þîëåíÒ‘Q¹*¨Ð:G¶-ùð{f#”Y›9˜G^þƒ¢Š×­/ã/`GØ CäõZvÆ"ùø“ØC|urXý/JèL4zµ|ª8!?«©¿óŸ×[ÜÝuBØN_™ =ÿ‘«(n×hÐóÖ°7WbBNDd/M§:Òäõ¯Š+I–RZÓÈCòwªŸTÕ4òÐüë(ðþ›Ú@þjC½óW> ãR^*/?ÊÓe‘?ùgYäOþYV9ünø.FU‰•–Ï’êÐ3ƒ)ÿ°»”¿ô¡EßàYýãβûk×`½‡ÅùŒ²ç«Êåñ—¿3!åv—ð—÷I…Np÷| Y–ìÙ×uÃ^2›è;¤ãÒ¤EòþG©|½‡Òžß€£CÂ< ïLÜõi‘«þ: ¥or-ÿÁÃ!Ü·ëL8[)Ÿè;ê‹¿kGHûÁàoă?q D½ä'ÿÐw&ÔiR'”Êß…Qµ¶OjJ¢5ŒxgBñ—ŸÿÈ'”Êß3²¢¸[“9L!Ò²ù×NÉEò/C•Ÿö“™*žMÕ7´:æO‘šTïü•ȸ”€Œ—ÿzù“–EþäŸe‘?ùgYõÎ?dØCqÿø4i‘»ÿ¥n¾a+úí¾ñª™ó¯“ï_ˆ úÛµpè;ÕSÁ¿>¾Ìß7bP<¦J9¬ÔðË‘šï_ó-?õZþC_ áEQ‹ï_ó÷ÕŸÒñª™ó¯“ï_ò÷ŸÿH_n"EŸÿˆí P«(þþEÈŽ¨+Õÿõ§úL?ù“–Uï÷ê]äOþ¦ŸR(å ãå¿ÞEþäŸe‘?ùgYäŸþ©ºÿªÄÄ’¾¾E«+͸Ñíÿ¢DŠz,þõúý‹€!Å™BŸ—0"M%- ü×Ï÷/|]ö®‡ûÄŽÈô½|#Ý~ÿÂËߊPŸY_ü}ùŠÇÄ7‚¢Úß¿ðQu¡n„ò? Y r0O­¾0$ 8Óh¡¤õZB,’?©›ï_ÈÏjêïüg N¿‘Á4êDñ¯X)ɬp@¥¶ÙmdþÅzÌ ©HOָבxÿü³¬zç¯|@Æ¥úû- Õ Êo€7ÒÍüzù“í³L)”òñòŸ*‘?ùgYäOþõ¡ê •¬”5R•ÎA¡éá4ª¿ª9U¾SÈ?©ï?ÚO¸D<Ój,o?ÓÒ\uþQðOÊž´µñ¯t¯ùü‘Äé{ÖXLs‰¯[w?²ùL«ø\pUùÇy€Wú®Z«´~>üe澟¥q•/Ãè×­;z¦Õ÷\p5ùÇz€WJ2tÐgñä>GÇéá_êëÖeIr;Å’à{.¸ÊüÝ!ðÞȧê9„òÿ‚h/ÿÐgÝ`]o8z¦Õ÷\pÍÊ¿,wñù—Tþý>WÂ?ÆëÖ'|c=ÓZ܉5­ÿ£‹bx«*«ÿŸÉõ=øãIm9ÿxYð6ôƒÎqê{¦UÕùOø¼Â“¶aÇBàyˆóLî`ðùOÈF½ßª×áoVW~)Ä_­j…%UOø*æ¯âÁçT=᫼ü×ÑƒÏ É?ã"ò¯}–)…R^2^þS%ò'ÿ,‹üÉ?˪”vÆ?¤‡÷¿§Jä_þ‡Ë«Í?㌙e}¸¼ºü33þa°Ü—W•†Æ?”ûáòjó÷'©!Ç?xS¨Rå_–»FÿàJ•wZÿÌŒVT\ù esüƒ"ÔÑüÕªA¯°RÍ¿®^üÞ€ü9þA5ÿŒ‹üÉ¿öY¦JyÈxùO•ÈŸü³,ò'ÿ,«RþÞ´Q»z DþäOþBv$÷ÿ%ß'•Žè~×µ«{çF¥œyÙçæÅ¡Ò¨ð>/éð†ª¬.*"ªTiQtÿ¯ïûÔR²~@ùð†j¬8SUšdó—w¸3Æ_6æA>¼¡«‹ŠŽ*Eªzù÷o¨Æê3eQ¥IÁõ¿o(Zeõ¿ð]ûj¬.ª>ëÿÁÎäÃbŸÀ$ºº+øæ×ÑùL ž`gþT_ÿ ‡7$8:Bé geü+Þàè;*åÌKàO‘C+ƒü•ȸ”€Œ—ÿT‰üÉ?Ë"òϲ*åÏþ_òWÍü•cL†?Ç?¨äÏñJùsüƒRþÿ –?Ç?(æÏñŠùsüƒjþ~qüC]óçøµü9þ¡Bþù7´2È_ù€ŒKyÈxùO•ÈŸü³,ò'ÿ,«Rþìÿ%Õ É¿¤µêáû ?þ!ß¿ÈÌø‡´ÿBÌ`#ŽHß÷/²5þ¡ž¾ÑãÒùý‹,ðŸl(æÏñªùûÅñuÍŸãÔòçø‡ ùSäßÐÊ å2.¡AƒòàEeVÊ;€2.倢(Š¢¨¬«ü!¦ú³-NHåë=ÊiS¥§u˜û"å» ¡øû*5ÿ3Þ‡A¬gšš[›r¾§†…§fb=J¬?•c/ã.<ÖãiAOûFÅ¿ÆZ%`-a¦øà¡óX“•ké¯bö…øÐM‡>î$ãïD"{D7þ£ÄÒø­¼èÑÊŸöŠŠß Ð÷œhís/Äy¶Tš©@þ¡ÏàÄ”ØSû‘XLHž†ùGÆ/ïfT ¹ž˜“–ºà_Ãeí©ÈMû¢,ÿÂÑQþ#S(æÛÅŸØûb^þãBˆñ4±/×á¿JJ¤EÐËFÔ¦ëa¦Ñ¢ILö=¢ÿQbß± ­íhàÄgœCëÿȇХõ­¸S¬%÷9ˆÀ‡üê•Ñþ œ…b±iß‘èäÈ>‘0wõó<ÿ ”¸xÁâ9%ð´J¡ç?²G€K8ÿq®˜šÚó¾Z7üWïF‡\Oç¹öEø¦cȵ‘dç¦ï¡qå}+ù'"ßSùžZNXÆ_%’?EQTµ¤|@Æ¥¼PEQ•uqüC}¦Šã”¦Šã\«Çì•àøIiáøŽù•ã¢âçø‡¸)äøŽ(nšã8þA±8þA©8þ¡*âøŠ¢¨TJù€ŒKy (Š¢(Š¢(ªf’Êœª•äŸ2§j¦X}úTõ¤òƒ×Ë¿ZÉ?eNÕJ<ÿQ,v³*U¥Ÿ2§*S:?OQEU[Êd\Ê EQEQEQ5ïÿ«Ç?(û‹ã”Šå_©8þA­xþ£Xÿ Tÿ Vÿ@Q•M)q)/EQEQEÕL¼ÿ¯Vÿ XìÿU,ŽP*–¥âøµâùbqüƒRqüƒZqüEQT6¥|@Æ¥100000000000000000004hHð>v½D˜øÝãôg9ÓV6¤Ž"Ì!´ä½v5çì`ÿÚÔÜÚ” {à¤P_×åD˜oÍåZ»ì˜í_­™Y¶F{ʳ,þ6(Ë•e„Fz¬²¹x)t%&<ý’Þö*:·âº’_£"ljÏw4´UVvX–ý»V&F˜æÙêe+´6R‰GÈV­[=F(­#d„Œ2ÂìDÈV2BFÈav"d«Ç!#d„Œ0;&Þê1000Ô& »¶ nIZ‰(©ºÚ6”˜†’’‘0ò'ò'ò'©fÏšLUOà^rTŸ 5xˆäOUUäOþYù“–EþäŸe‘?ùgYäOþYù“–EþäŸe‘?ùgYäßü»[ÎÎåŠ y!F’ê›×Ôroyë®ioÏåÚKþ䟵Å2W¯ÿþަ³sMóÖT’µ’uo+öuMùW´Å*òïš)/óâ|cº©½_/B˜h™Ù¤)í]î?ûÌ\Ç‘O»5_ßÑÆwþô€õ†¾8]üý[tÏÔ“íÞbwøê’Ë)™å¶Bþe)˜¿Mö§‘_!ZcÝœsà›qÊJ£°ºQ:;Ô§¹t‹ÂL!Î#V—&XÆß\¥BþFNgJÞ·Rþͬ¹‰I‹¥þ“4ž`þžÄHã”ìÙ¯îIø»—´'XFÏØbíË(ÿ³] ÌN@ml–½¢ô!Ó 0ð×Hþî²W:£ZSPÿÇ)ÿáñDµ†ö/3 ‡—¨*”£ö¨ÂùSã µq4ÿbbRµsŸ¿˜Y{-Yœž Ü»EßLÏãÔÿÞ—Ò$Îÿ…Óa+öEAkK¬òïìçÄ#ˆ¿¹»éêïnfÿHW±÷²½ÅùêÖœ’øÞËë_µ"òϲȟü³,ò'ÿ,‹üÉ?Ë"òϲȟü³,ò'ÿ,‹üÉ?Ë"òϲȟü³,òoþÖÇËÿ¦¤ñÈIkÿl‹­ñ“9ǽ@k‹Éÿ^×&ã§œt¯QƒÆ ‘æ5éˆÚíi¶>Ñn}¾°½ø«¯x›uNwËÙAåßœ6÷¿t&Õ4³µéìâ´…Ýahï¯Á|f·°XXýú(@€¦Ζ{ñoqÚ¨[¬ƒB',-ÿ.þöQÊ¿Ø@S‚\%ߘjŒ°úÇào)ñÊ?ùKø»k~›˜Pc›­s™õ?ù‡K8óÏ‚ij¦–™MIµP/‰ç?ý®ÈŸ¢(Š¢(Š¢(Š¢(Š¢(Š¢(Š¢(Š¢¨úRy_ÕLâ[œ£Jh”´®øyGò'u>öº²ÃúøœþÝXϧ` P-¾ÏbÊ¿XçY±¹Õše Ç6d|ù®£Eü5{²¾+”Fß§` ª>>ƒ¾!+~@Pÿ.¤ñ«ûƒ¿Ö¹æ\öŽoÑõ‡Ñü¬´¢ˆó Y׊Ø;Â'˜¥1¨¢@~~ñù‡­HþYŸ5‹½Y{ø>+‡cñ ù†¬¸¢]ÃØÊ<×ç_­oźÛ_á£ÕþŒOý†}CÖU#y?J+n:›ü«.R%Š¢(Š¢(Š¢"ÅSwµØÉŸü]ìœRÌŸSjù³s„ü3,vN)æÏÎ)µüI•ü)Š¢(Š¢(Š¢(Š¢(Š¢¨†ÓÙSçV[)IF•R^¡´*‡øü«’Rù'ž(¬Ü¸séÚí‹V¿Ô{ÿËÐü/Í»whβ»—nƒn[üRþžm7Þ5´îÉíñSNþ1à?ºy×ÃOîzàQ}G@÷÷V<²séC;¯†îZS¸su¡gÅŽ¹Kã§œüc”|À_ûXaåúÀn’_²¶pW_á®Õºÿ¿÷ëüqPÄO9ùÇ ¨vÌ’¿ü‘°›ZÜ7 æ·¯Øi ü{îeùO>¿Zþhpõ ¿ß¨ð× ÛóyË ÐÜåÃæùk¦ŒÝÖ6ZÖÖ‹?̉ŠR‚³”|³ðÿàØ¿˜åðœnc@ä¯óÏž²¥¶-gOÿ—pž àK×îjSw¬†ºV ÛsÌ]Àö×(ÿmÿD¹ÁæïÙö4vùCøã Ë®óEì6ü¢P-cý“<ÿ[¿¨Ÿê ²áÏ_=<u‘ÿmËwÜÆë¯*ð¿ùžq……‹\[ ûôŠhÞ…[î¶uó²ùÅÛâ§¼1ùW!\¿ðEœêßi\çÞÙçü»Wëʯ,ܸ|øÆe;nYœùú¿ ü•óǵvÁ«ôk^S¨öA¾kå0„Êü¯_²ýæ»3_ÿW!\wÇP÷²ísW ëw,ͽO?á¹Åj~À¿añK7ݵ5~ÊÉ?fxä±—»ï~aÎ’­s— ÚŸhmM¡ÚAÉü‡{1~ÊÉ¿J¡6üSÒ‹Zû¾Ý¤RNQEQEQEÕ‰¶”§mƒ‰¨ìH44”Ò˜;ò'ò'òo þ³gM¦Ju/GÖƒê³_Š¢(Š¢(Š¢(Š¢(Š¢(Š¢(Š¢(Š¢(Š¢(Š¢(Š¢(Š¢(Š¢(Š¢(Š¢(Š¢(Š¢(Š¢(Š¢(Š¢(Š¢(Š¢(Š¢(Š¢(ŠÊ€ú&55MZ£<ÙQWsÎ-y ÿ˜{Äò|ÕƒÖ´Ìåš»­?»[š»Ë*ÿ’xTg­.ÔÑ4²£Ï=ÓàßÑR,È­]Vù×ÿmnmæ;k­”ÄSÜ)füJAM9_Ag/ª”"yã_£^Õ+ê?…x,ÏIÊß_ÕˆõSò­‹‹å[Å"Te»²š&)Ïl Õê¯ÊàïýÓ†oÍ4ÖUžÙ*¢ý âoÖK±ãÑ%ÿ°]pþéáï,'©í½ñè{Áª{ZšYþ+¯ËÈŸ¢(Š¢(Š¢¨4ˆW5VR½fTéJª×Œ*Oåõš)OvèÌ^3*)þeöšQɨÜ^3*•ÙkF%¼ Jë5Sžæ,ŠåŸü)Š¢(Š¢(Š¢(Š¢(Š¢(Š¢(Š¢(Š¢(Š¢(ª"m‰«¡ä£IHLJ––Yò'ò'òoþ³gM¦JcP=î(Š¢(Š¢(Š¢(Š¢(Š¢(Š¢(Š¢(Š¢(Š¢(Š¢(Š¢(Š¢(Š¢(Š¢(Š¢(Š¢(Š¢(Š¢(Š¢(Š¢(Š¢(Š¢(Š¢(Š¢(J©ú&55MZ“ì’é—º¼4åÄÐÜ”ÿ|òO„ÙT‡ÿÊ«6µ¯ÔóUükdGŸ•S»„šYvæ4w[(:ZÌ?õØZ»Ì˜ó­f$úòVlqø‹l=s|‰YÓ>Ò•¶z”“_3:31Çâ難ç½%o2±˜ u5ë3ʼnþÒú'¿/1zÌÅw·X)¯+­ù‹¥Ë_!KáH*íâNìnvJ€J+ÿþùÆÉåê’¼œ¿ÊpÉüMò¡TEþö¯×½`{3ñÂîdMh‚ê?F³5qþ,±þ·`ê›pÕ?Åxìù­Å­ Ý‘o"å2³ßÝâo­ ‡@Œö×Ýö¹i”Ê_hU›Zš]%ßJLq~±ä[‰W ³º²ÛÓ8KÖïÙHÊdNi·JdËKQEQEQUª^ïƒÿÖMU¯dë´Å?0ɘ›[›<÷ÜÈ¿ZÉÎynxš1‹]'žn&»KKßM9cõbšÓ3"éA“ß ëz Ú„0ß›xW.Ü˸:é$‰ôô£Et«ùîŠw´¸Ó¿“;}-㎢pcÇ^¼‡#í(öyñè«[Å’ž´0þa]oA›có$^ŒÖ³Œ«“Nº-¡-²[ÍÃߎ9‚ ¹–p‡ß-¤ãÕße#$FQ·ìât½%éÿ·w~1vTuž…†–Mmhl”%¾ø"QSc}@Izx ‘4Õ ñCPk®{Ŭ&kÄ ‰1²É®)ÞŒiÆÂâ]FC„& ²¥ H]þtÛí.wë¶´´ž3gþœ9sfîÝ»s÷ܹóýúmwvîÜ™3ßœ9sw~{δR…··þ2M#mdÒÈà´Kèäg…¬²fù÷O™ÆD²*ZK¦œÈI½õÔ¿½…¶þ- © ƽút^/¹ÂdB*m)Ak×þd¥Þ:ñŸ•hH/“Ú/c[‰ðï6ðï6ðï6ðï6ðï6ðï6ðï6ðï6ðï6ðï6ðï6ðï6ðï6ðï6ðï6ðï6ðï6ðï6ðï6ðï6ðï6ðï6ðï6ÜûŸ¯ÕÆà¿ŽLìð¨MîÈ6þ ”›<<9Ò™Uü´ƒ oÇäL¶[5Íñ©"çh玿ÉÉ‘`V£©Ö9Õð´9ñJÂMË9©bTÿ¥gú—¥éú߬{#SÊm°Œ˜#—9oÅq>5 $Î@\qœW€òRóTÔ§»^É̸ó½(13ãµÚø‘Õ­Áý^”—È¿?19œ¦šSoÔŒ9áÁ ¦OÖ<÷{Q^tÿJ²˜nÖ=1SÎÙ19Îm”Å?õ¿8ÿ†ÛDÓ4ÕÇ¢i÷ïüJüEøwý÷/+‹Rú[¤à“Ò‘‰žkÿó§f/\ø¨óåOžœ½ÔgþãÏŸVÿ^šv?j#õhùž n¿øyyiqqn~þ=¡wnî'Þ~ÿý·ï½÷_Á»ï¾yüøk-¿³³ÿé7ÿípë_È_^n9³($øá©ÅÅ“>s 'NŸþÀ?.ÇÅQK¾õÖËø/Ü¿0,ä/--„òóJþ©SïFþ=T&ÿãÖ¿hvš/Í+|í³!ÇEC$–|啃ø/Ü¿hðõ6GpèÐA¥=BùñÅâ¿7þçtù ¡]\ŽÕÿÊÿ /ÀáþÅG¡]‚H¾B˜W(ÿÏ?ÿüî_¸5j¾hüõC NuýÅ/ü ·â£N$<üÌ9Íñý¿áûÿ=ðÿ†®’¯>ó íJþÃïü‹ßjEƒ£´+Ôg~Õòùâ¡~ó]{ÿÚ áÍdƒU§`œû¶…óu#"ò/.Ç¿æÆ'bKîÿí·_žÕGMUíõš¯n½óÎÑK.®¿)±S Ï«M´Ë3B&°‚[jb~|ÏÍ?Yâ¤Xpƒ.‘ oǹõ/~ó§€háCÞŒ¦Å|/>šŠ%_~ù©µö¯7?qž«>-ó†as×qtÂD¼v 4HŠ¥d}PÿEåïpá×_aíï?[Uiƒ³ e¦ µÈH8¦ÞÒKÇy!ü·Zó¯¾úœhXj>óÌ#O?ý·ûŸ}v꥗þuæÌbŸø÷“¹þåóý‡ b—þO. Zóg–NÿïÌÂòrëÜÙ¥sç–ÏŸ?{þü9ÁÇtñây…j¯\ûWŒŸOŒÚŸ Ù‘W‡ …éп?ÿ™þÍÏŸšaõ' þbÓ#éë¯ç)HÛ´z#þÝ‚üãÿøÇ?þñüãÿøÇ?øoÓÉ«Ìù—Røocÿkæß’Ã*wþ«|þÓ9¬2ç¿ÊçßšÃ*oþkÀü“ÿrâŸüW/ÉëäåO“ÿ*5ø¯¬ÿ²÷?-»ÿKÜÿ´$þ¶ÿiIüÓÿÔ­úŸºõŸî* ÿéÚú:?ò£^¨ô?íÕÿTïü(Îõ.ô?íúŸºõ¯úŸ*¬ý¯éÚcÿAÿSãí úŸöÔºÿitÙuÞÿ´"þû¶ÿiü÷sÿÓ*øïçþ§ï¿ÏûŸ¼ÿ>ï:Øþ»‹Áóï|<á? Я8qűôZµŽïêkI:é‡Ûߨz ×–ñ¥]3 þãá#ô=jÖ½‘)}£gjƒKÏn4ƒa(ô±â%[ÑhíÙG?îÅ,V%'ÌÍeŽt¡F&×^õ­hŒtÑÏdõšŸI=µY¡M¤TŽÄNÈ%SÃPäúW Û‘ºïjªaÝœ¾6½§yÆ8 Ö‘.ú“ÌQ Œç¨fuîN/o C‘»õéy\¦GüÞåê°F¶5¼«qÊÐåŒ!«åDb°ˆxÿ+Ùe¹‰¦ªó~ËÓ¬'—º ª£Š&Ê,Ïtc(ƒàÙÁ™;ž†¢•×þˆ—ĵ^]}ŽLÔE+\”Ø\Ëé"X›åÕ²ù‡°–9lB§Ã+ZðìàœŠgm:²üëcék͵¹9£¨þCì¯jsJáÖšþÿm±¨öçž&JßQï%D÷(\¬§þ”þ,Õ ûO¦´òK%OŠðÞ¦߬gÁºËeÙ­°]n+^CöýO[ò"o$ùäîcÈÛv-ÎÓ™Ê(Œ±Â–ŸìˆRZmkE”2²`­è‘”Ýä¿ÅËãÝòj|»[ª0ö"}K¼“­¤ª‡VåÒ¥žÂ©ö½]a+Ôù¬Ô‰93(ƒ-;ž‰‹F›üWGc¶çäVŒ9Ö5t2'ÇbýÆ®ùù‘t}[Iaì/eúWæÃš`õ¿’V4'ûV˜= ¼Jÿö] B·þÍ”V®U âÇÐG¯¦„ä[²ÚŸÆlÏËmÙNù°B†Ù±äã’süë5Ù^ÁÌÒ6‚‹…z"|…±}È4SZùþ§Ï§›šå¿lWÆt}ËËm—<íš/æË:ÚJð÷-iÿé]S5_»j·-Lj…61éÓy¥kpHôù¡´WÞRù²Ém?TWæ£_NËð«ÄZù_³üWxsfEG¿$¿÷­ÂÿZíiÖ–Êø÷«¶³üW#q‚µ¹Ÿfï æZ`¸Ë¥n¿§ná¦Ë™.U™±ß•Íò_tþËôŸNa´2nhŠÿX‚‹üW{ÿú¹“Ÿ«*-ó_íÛm¶¾`¥'35“å¿ðüW:É›\a›¾`®®5¥Î•Ÿ2æ¿ ;œ?€¸â8¯àŒ5î¯ÿGtXÂ.6­ FÚÑ`¡ø/rÓÚ“Åt'O¾[ó½‹F€ÆÓ6†Ž7ÑÇ~Ÿêr8z óùÅÚÅÛÍ‘çC9ÖùÚCuÿéaŠ‹ÝĪý7ç-¥Í©ƘÏ] G¯¯*ñübýùI²FÈ·kc0vq\ó‹ßÄ*±?Ü3gèxsÌóÕ GŸýüât‘ôªsžšjE=bƪ·¨Mâ¿“M$+b8zÛó‹[ÉQ»õÑ鳿·ßJ¯7Ñ Éö§ƒSÌû½Ëáèƒã•|~q²qH<ŸRa9_pCÔòË´‰âˆÎ²äõ7ïiPɱ߻Ž^½šóübYsäùPBÖüT ÑŸâd)d÷›è޾‡L%žO¤×¢†£€RàüÄÇyès OÐ oò<ï2ó9T*®_»½=^Ãû‚·]üûŠ÷51õ%ÿµ!ñuI„œÞ:dÕc«ñó-뜃 ˆÚßâB6ÑCÁ×ÍÁw=®_{nÿÙîŸÞyý÷ø?ÜùËú×ß¾g|u»ÑÂËw׺é«äÿ·x[‚Ÿg® _9û‡ÙÖ’Ímÿoñ¾¼~|ìÓbêèÆ-þÏï?6ì½qb³¿Ìð©ÍÞÖùûƶ‹e¶‰å·kï¹\Lm]¯Þ³ðŸ¯Û$^»U|íÒÞ#¯èrÙ‡®›_r7ÝvÛ¨¿om^ÏŠ ÇŽo”_rúØÕ$öí 6½éŠxúh°œüî¿çd¼ò»wÛìÆ!ñ©eÃÉÍÁ;Ô<ÿKLïyNšÝ þ[ïÝòIïúkUYÅëÁò7¬œoؤü? ÖõÀXÚý¾»Å¶¼Ïyå§±.¹þ[ß{ç•»ûšÊÍ=âûÞGU‡.ßä…ŽnúÍб/Þ;ö¸ØÆw¾¾kT¯Uá6oúíìF¹ŽkÄñ¸pîQ¹n3n<¥Ê¸$޹Œ b}ýÄÎQYFù³,£\æSbúrã}wý}8zï6ñ³|ƒ¬®áºdÈz!—¹×Ó?½lñjsª,×,ªý]¸Bí¯Ü¿Ï¾ôÍQ/¨ÇRå^±îÏ\ù­Ñm¢^ÈŸî¼.qí¯O]µsTÖ›ý— ýbèWCóõuËøØ·¨ºµþ郣r…r;7ýþÑ{Ÿ||£ü.×ñ£§†½oÛ5:1Ÿß›WŽnüöuÞ5búîM;ýúyva³W?ïOwý@|ùÇþž§†äüa1ÿfñ%÷OÆ11ý»ËvŽ>>$ß;.4]»în1ïÁËÔºþ,¦§§ÇÇfÄ—¬GáñÝÔ©ý§ mõ§·x{Ÿò†ƒéýâ}áô1ýÐWUý ÝHíííF~»ÑiÈSd÷O¾ÿÃ;ö„Ÿmò>2:ü8ù@0Iö”<Jxœí} `ÕÙöIÒ@4Õ*ÈEEE¼” AbDB0ÂEn `A1BE¼´àg­ún¢6´Jû[/(F)ÐV¤µŸU0ˆIÈm7»¹gsB’ýŸ3gvvv“,ɲëdwß7ϳ™9s{Ï;ç9çÌÌΞc™W¼›~]!³³ñ,€µš/c=Ti ¿eæ*Æ~áÇ€õÌfžþL^ïj,èšÉºµµ€­Z;A¦™Í`«ñ—ÂnbY2þ¯aOÛW­/Ô®Þ_g¶iíäzµ®ßÕæÉÇwåùçmÁ¡ÏŸûyæìï®þðjÆú±»nQ¯[“ß·¦ôó¯ü®ÂŠä´p7Aú|²«î³^Ìß·I¼íélþ{ãøû‰–Ì=Ì’ptgír´ˆÎÄÿù¿¿|üD>ù.ýuÞú;q|Þ¦¯¿Zäß²×d‹Š=±,¼LÊ#cÁàÏÁ+À+Á_0© ÀpšqS9O}/üÜsß»¼¼ÞÞo7ƒƒA^X†€·‚·CÁÛÁaààà]àÝà/A§pxx/8¼ŽÇ€÷ƒcÁq`(ã}Æ`¢ †2^‹'‚“ÀÉ`$ø8Œ§‚Ñà4ða0œÎ¸†‹g‚qà,p68œ >Îçƒ À…à"0\ .—‚¼$.—ƒ+ÀÇÀDp%˜®“ÁÕàãàà+'| \ ®r5¯Ÿ7€Ï‚Ïσ/€¿n7/‚ÿ¾þ|üø ø*øø¿àë`*¸Ün·ÛÁ7Àà›à[àÛàïÁ4p'øðà;à»à.ðOàŸÁÿ¾þ|üüüÜ ~ ~î?ÓÁÏÀÏÁ½à_Á}à~ðø7ðïà?À/Àƒà?Á ðø%xüøoð+ð?àÿ_ƒÿ¿¿€GÁïÀLðø=xü̳Á𘠞O?‚yài𠘀¼ã]ƒ:P–€Ð–‚e`9XV‚U`5XšÀZ°¬ÀFð,x<6Àf°l¥Š‚÷ßA0üö{‚Aàeàå`0øsð ðJ?ц·ÚÕ× ½Øìö¯¯¯€7€7‚Á›ÀAàÍà`ðpx+x8¼ÞÞ ÞÞ þ†€#À{À{Á‘à}à(p48¼ ŽCÁñ༠ÃÀÁp0œN'ƒ‘àCà0 œ FƒÓÀ‡Áp:8Œg‚qà,p68œ >Îçƒ À…à"0\ .—‚ à2p9¸| LW‚Ià*0\ >>®ŸSÀ§Àµà:ðWàÓàzðpø,øø<ø‚Ÿ¨ÿ-×m~LÌ[®ñz ‚¶QÙF[áÇ[‚€4^$Øo¤O¾E€_tµ,m§~î¿åÊ^ƒøῸIRÌkRœùžøþD­ÎS^“ŽØ_:Ò¡«üÙ¿p$N‹½u {µ7@ðH|Ò—½s#Ç»7Ê]» Ë»º¡‹èâ~Úw²++;ÈÔ»7´®­Ct°ÿ.·£MºèV…Äe…­Ku÷Éízðÿ$Müþz®ßÌkÙÉ ýŒ^U‰}OÇ•=ܳ]˜"@èÈ eÿ¼‹74Ð/Ä+”›[ZA <0é—@ðP~ Ïé—@ð\~ Ï×ï¤_¯Å©²ÊüÊjƒ©®²¡±ºñlM㹚³nDcS“û ¥8wÞtöÜ™ÊjÏ/é×»‘URŠÏßzvãì!)ã˜wà¹è¾~5©¬¾¾ªñ¬çתß=I¿Þ‡ÌBý;/-ÛúÄ”½Ÿüé«c9žŽËþWfö¾ýé©É‘»^I,¯oðñüæçß!!ýz+Žœ)FíýÍÿeääe)È>Sˆ Ïü?ž—ôÄîC¾JLu>ž_Ò¯wãÛ3E耕”WèËË%T”x2…Bcé©"]Öé䫨Êäãù%ýz7Dy.¯©)ó«ª e'‹tÈWaUçת_ºåå¹ÂdPª½¥ÕÕÅeå?鑯‚ôë;ù¥ûÏÞ Qž+kkQª]ˆ°­YÊû§{“‘’šeJ ¯0ea:Ýdb,9sk¸kŠ"­+¯È+.q ßKɯ:Séɼ*`É{ÅìÊäpä.5+KÉ£’_Lˆ_E¡PϦ†3õ&®Í/é×»!ÊsUm-Pi2¹(ç(™•¦¬J‹Tm å‰Ç¾)®=(PQSƒ«ÚÓõët~‘©$†Lí³IÉ{S³öŠ)Yb)"¿ÇLYÈlåÞd±•ˆ†2«¬&6qm~ýæ†Ðõ¯B.Ïuu€h•\‚ôÚÚ0ѬmJJjVmjD/Û•µYaÛ²Ðx¹ðˆ Ð$é+*Oë ŽôëT~ÛfJä+ŒEˆD»<¶›¢$*³í¦¸*¿Ðﻤ_ï…(ÏÕõõ€(Õ.ÁæìºÍUuÙJÊçuuI,ysö¾p‘´mÛæ¦^êB H—TVÑè×¹ü¶Í”’.~- †|mÎÎVV›¨SìÖgÒïx!,íîùÒóKúõnˆò\S_T×Õ¹ [²ë¶DDT×e+)Ðï*–¼úˆ€„«³·¹ðpj cl¨¬Êw¨_çò‹L­‚çuû:ZaÕ¾ºÏ“ÙIžÕû’EÊ–v¼.›El)J(Ä~D ¶dgÛ…ËUù%ýz7Dy654¢T»{ëëÃÙêšœíJÊ–œz^PsrÄ'$¬^êB H«ª JJè×¹üþ€LEloëvøöÑ’†3†¥"§lõv‘X³µˆø•L‘‚uD¬Þ¤¦>ÇåùUôK÷¯¼¢<×66ÖJEÚ…ãÄÖ(å¦÷64 ôf½±õDÃÖˆ$b6xõª,­®)0”9ЯÓùE¦’2u@Ì&¯> L_ ”°¸<¿§ÇÓûƒÞ QžëZW#â\å*âEÊ¶ÜÆm˜ÈÅtòþ˼µwíAQ¤ËjL…Ærú½”ü ·…ýõqæŸÕaqm~I¿Þ Qžëë¥"í@ÃZ^c*r¨ßî–_¡ßºÆ\—çW¥_ºþõBˆò|öܹFoAÃÙ³U¦º’²JúõüB¿–ë_Ò¯B”禦¦óÞ‚sMMµõ eU5ôë;ù%ýz7¾9]ˆóÞÜÒÂÑÜ|Á+ÐtáBm}#ò•ßæ÷(|-¿¤_ïÚ£³‡ä}—ÑêEÖÒÚúãwÈש²JÏ/é×»òüþöõ»ž;y¨óôvs3æg#Gl&ÛPêãùͯ¼¿@úõB|—¯;VX‚"íe¿õÎo—×Ï/é×»EW…ÿÍ+ø p8'Ï}PŽ‚ì E¾Ú¶G¾–_Ò/à¹8Jú%<¤_ÁsAú%<¤_Ásq:ÔþûÏZ?ì"##묵Õï[ïï&ÝíêWó.@è$T¿¿Aú%< ¤_ÁsAú%<ôûu‚ç‚ôK x.H¿‚ç‚ôK x.NûÀø¿Ûù<àÑðqýjý5722çô«õ #sÞH¿ZŸ22çÍ~óÆ»òþÕ¦#›ÂÂrK35×,é—ÌkŒôÛQdXJ†©*…1³9ã§;%dd6Wé—±0eh¶qŒí:’ÊØÊÜ=+±hÉžŠ%Œm:’®¬ƒÙÜÒt;EcVYaSÛUš‰=ˆÙƒ¯‡í⇰Î*Û*[µÝ§zq,,÷HªsíoJ†9#…¹ÿT‘uÙ\¥ß¶m+·„­ÜUš>B>’ªV …n:’©¤y ½+r>ø:Ÿ=XZ1.,uÓžT»Yl+4.¶÷zæ®Dæ´~­­mJdZd¤ÙœÙ*5RZ$ô›Ÿ–”HuŠFLa»Ki¦±sq\ìBjó©Ý'»¸¹O¿B§¢¹Ìµí?C­µÐ Öìö t-ÚVõ,Zs¬¯®°‡%,L¤;Þg»úÚÁDdZ>´™aÎd)¬Ù¢,¤@Rh‰;Šd†¤;;]wÞý2©½žP»OæØÜª_´‰×¯º…¢ánW¹bVìÍ…úd‘jµ¦dä+J)iùùŠÆ˜h£ÝeXSÅ:jU•Z"µ„´‚¢hWœg2ï4w\ÿ¢o,z­ÔAôŸÃREÿYéΝˆEïWt¶í´‰ÍEÊ’D\ئÛÍvÔVö)zéì?ÛõÕjUô«¬pÑÎ-šÐÎô~±w™¦Vw$Z}Ô$Ò† ¢e2²vÍMí¯h.•–òAk»$,Œ…É÷  1¡S–˜ªÜz•À8ÌJZÍ·R!¨g•–·ÝûWاrÅNÞ¿w«2¤vSôc»Ô2vµýíz»GÉ ý’]ÌÜÚîþ°öŸÓòåú²t¤íîV))Ê:jËpöúWH˜úÏdN˜›žµÛع®zšìªïoä_Úýg–’¡Ü÷¦ûWd·ŸìûÝÝçûW­h»3èùY§ô«õ #sÞH¿ZŸ22çô«õ #sÞH¿ZŸ22çô«õ #sÞ:£ß\¯Ö/àÑðeýÞ Ò/๠ýž ëý«4~àaÈ eï~ Ïé—@ð\(ú¥ë_ÁãÐyýjý» 湞“‘µk—®ß·Þßíh›YÍ]"..Ñ/@èn ûW‚çâ4é—@ðX~ Ï…U¿týK xòH¿‚Ç‚ôK x.|A¿š¿|M \".ª_/~þû7úý2O¶‹è÷Ò/Y÷5Ò¯Ög€ŒÌyëœ~½öù/é—Ì£Í~O‡*¿Ÿã‹úe)ê—ŒLCs‰~í†TàVÒYb:„pðõ0e¸^»a|mö¦[P™{àãü&†©w®¬ žP¢“ãw;01"°ûOY—í'Ð/f—@>¥ébPo1¦v[©:ЯZæã^Ï´¿[=± J·=DnçÆï¶¶¶–qddÎ[gôëÝ¿¿¡õ #sÞ:óþ é—Œ¬{é—@ðhø²~ o…¢ßS÷^Fú%< ¤_ÁsAú%<*ýzíó_Á[qj,û`é—@ðH~ Ïé—@ð\(úͼŽŒ•Å2ÃüŽEH˜èß!"äu°²X_™ HÑ`¾ ?‚û µæÝ;Á¶ô±Ñï‘P¾TQnî&í'PÊ£YQŒŒÂXë´–“|Q¬8ªýEyá,o‚„P§Æ[f'È)ø‡UÌgUñ¬v3%Ô¯°¢ Hô³CK;¿Ô#žù8š}šÇ_{Ì—â0Ÿ›ËausXãlvv&êãXýt˧˜° f:«žÊ?ÅÒº©Õ“íÑV¿UsXí<ùÓ4.–¥z>±‡@s’Œ +Ú¢5Ñhêöm *#ìk³ùókßXÖÕwš+ô¦ÔeµrñN²Ño‘J¿ ñ~íù@(jmYÝ“cŒÖ'z(0¯ ‘,C¨˜@ ´+çºËŽåT øëw¼wõðݽB>ºfĽ†Ð{ÄîÞ#>¾*ä“+†§_~÷gAwíí1,=`hºßm{Ù-Ÿ ·;3«Ì´u™hŽÛÕ/Ä+ô+;嶦´A&h^rÝmõÛR©úÐÑÞ£\?þÈ ˆÌ!“3oœyˤÌÁ“ šôý_?1»ïƒÙ½'ä\š}Ù˜œŸÌöþ=vxà¸Ð;Ö¯h|!^ô‡›Vsý ‘¶£ßŽÅ«yЄâ Á+GåÿqèÔÓ¿œq枸ü{g„Ä„Ì*¸{Vá°¸¢!±º1ºk§ê{Gê¯×÷¯ó]À~ù=ü¡~·ôaǪúÏ‹¸„…~ÿ¸±_ðÆþ—+( †lO¦©Óßîl^TžÄ6Þ´§_pkb ÜÞËÄÒß.§(Ø8&PY­<Ñf+,Â&­±Am÷ Ìâp­‹ø '±m¿ “c‚5?G„¶Ðü³[Áz[Oºþ…¯wzHTAÈÌÂ1óŠCêBéÆ.ÔY¨µP?bAÉó CfÎ,½6¦ôê)¥ÁÆÀPÿ=9~·îÁ¶ÊõïB¸~sóûW†(~ÏYèMpó&¥@}ùÜòEÚbýê ³ù’Xm6¿³‚2—¦4›÷ô[Û’xöòÏ7Íç—FÊw¤%˜¿OÁjŸô[{~i`ÓRf6¦)³X„Mÿú¦íöPþ¦<ÛŠžI;<4èÖ7g|ú¥9û¾`õþ Ýšß×Êcõ«ssùýg”äþÎÜ=½ðþùÅ.Ñýõˤ„'”„%”„.-½Ä0"Þ8l~é-sËþî³WF–^6Axß ÿÛ>ú5†qý~}§U¿Ptùt®_!áæüÇŠßþc1’7pèKóká$®(®,r-f[¿ˆ„~ߊÙÙ4/HQbS| ¦¿*4¾uÊùø@»›êæcýÆ6Å[õ{!žïYle·‡æxMrðKóùYA˜n6柼À;!’~Gkÿ¤€@h‹ùV4<"?BOˆ Á'æß7§â}h¹^i '®( [n»Ô0r‰ñ®…eJ:šà+"J‚ÇžèqG:f!Uè}f¥ÿ ýêÐ"Çñg¾BÂVýN n²6³­—õ{v–¬ßÝ’0…Ý:¥!>PÜS ô‹Õ°¨Ñ¢_»­ìöк?²ÂlÞ³SÝ“/,ô{|d°Ý!º a‚” ˜âd@Dè<‡.,Ž\®Ÿ–T³ªD‘êƒ+ ã ÷-1*)èB÷jì=YwÕ¹—ßÅõ+Ä›w7Û?LÖo^(ׯ>NþÚôÛ$µzª!"Hy$ô»qý¡â‰ÁõË{´àú}ÓV¿ódõýóÖ)µókç15Ì™\¿õ[‹Eõ˜5¤‰YõVv{À&v Ûü²~3GÛ‚Ð J,ÁN¹5Ó9P†ïx¸0âQÝ´•%3VbW¦'[%š`¦†ÖA3×ÇûGúOÑõ}ðÄ/B>Czáùû“B¿_ßÄ¿”Åõ;Ýúµ«óÏËí¯hïvô ®ŸÔôb õŸ v÷ 6%µìçúݳ³ú•”øa¿µõ³eõ}1dJÕìÀª9L ów)b5,2Ífíne·‡æ½‘õRû{flPýl¹Û\?1HLÀ±ªiAG§±ªiöÇ"´…"[§  Á3‹¢ÓÏ|Ü0ë CÜãF¨8:©Ä®º5Î0h†aÀ´’Ñ%¦˜”Óë~ý ñæŽä—½Ðï+½mô[fi‚Ͼ`½Õ‚ª`SÜÆåüÊÛ‡>QWüqJ…¤ßêØ sñN(ñý~k \}‡ ¾ý¦`oC‚Ë¥oc ˜¿z «mì·‹ª Áâ4±•É¢Ù¿™b·ýB4µùÿù4Ÿßm^ió/2IBÆÑÿ¾pç§³ƒ6Ƭµ;æ@$ µlH¬8šëwÔÜâé« ³×ç>iœý„aFrItbÉdÕµð³õ·ÆêoŽÑß­­4­hÐC9}GòûÏâ‹ÐÇng»oåúýâ:vü>þeé¢þÍgã\V:Ÿ5nÛß‚ ÁU*0=Ê%¬¾ÿ ýš>…éófsùÜ4©ÊRÓQ³:/æ£ÖžpÙŽ 1{Óq)ÒE×ïWC¦´ÝCÃ:ë¨UŸç—É GÍbe»Ýúé2 Q–—;¢¸~Ç-(ž›b\°Î¸`­qît¡K¦­´ŠWØmÓuƒÖÝ4µøæèâ!™’}í(®_ˆ‚…~Ñþ>{¥U¿yS¤cÅq +ú=3!¨âÑ@‘pùâ bA@ó>¹ÿ\Éo ü z³¢%-2ï2Eˆ½©ÍKí¯>"H¤lüeà{Ø*Nn±•<ÝÁOÂtÕkYQü¥¤I¿“ôñëK6ñ9/Å83Ù ÈöþùÅÊô-ÑE7G ‰.º=¦àö©Y×ùDèâE·í¯~‹gòƒB¿õl®~ â-]à\ôûFÌNcL¸°}¯ßÚè÷hJ­Á¬‹l›ÆÜùí¿ÍÀÞ¶÷ 6yJl¥Ö/4ë`‚gÀÒòÚ¼V©ÒïŠ_—&n,Kx®tá:ëÝæðźÐºûæX%|Û´¢a1EwN/ýÀ1#E4¾jý~;ŠËõ[ËmxDÖ¯º5¯:P Ä«Öït`ŸIÃúæÌ”³fsÉ씋æëÂç‘Ø6Ô¯KƒN1—R%õ‡I³ÞƒéGúÅÕnòKåÿ®V$½B?y©nÂ"ÝýóŠïU¤¤ß5£èîùwFÿpÃý²~¿¾“ë÷½[¸~?êÏ¿ˆuüþž>=&×/úÃ¥ 9Êû åbBˆ—c!_ + ˆ‡µ/9BwÀôv~×BÑïŒÕ†§7WlØZñÄïÊAÓgæWÁ« 𤥺0I£çòVøãÔ…Ä Í¿sš½~Eû ý~9‚ÿòƉÉìT,Ë„é G[ñ ýŠ (—.”®HXè—$,€jÐ—ŽœÃîwi4ŽŠ~ç¤_ÞYõÚ»ÕÏo¯|Bj…—>[ºðWƹOf®6L_UµB?e…>âQÝñ:\ß;«`ØÔãýïÛmÑ[¶k…~Mô‡~Õæ:]"–'ø²„Eb{í/ yá!hÍåÓP`ûSò¢ý Á„çKw|PóönT¼~sÅšWÊW½X†+â„çŒK6”.~¦tÁ:ãÜãŒÕ%SõáêFÍ-:åxŸ{øûGè-C¿»YÖ/>¡ßoÂØ±©~vú…Nåª!Ò…„ Ô‹¦ö—ôÛ”€©ô»öµŠÔ?Uo{¯æÅ·«žz­<ù%ˆ·lÙó¥ Ÿ6Î}Ê8k!&¹ä¡z4Á#â O:66l^–WØôä+åñÏ”Æ=aˆN,‰\¦p±½åñ‹8ÆÎ/î™U -]0pbÞ½±ÇŽçVç¿´Lèwÿ0~ýûN>7…bB¼íêWÑlícVØi¹*ž TÌ'H7 ¾ ¥Sªîr-Ï ,ݺìB…ý6.j¿[vtB .uq ,š]è·ª®/ô+d«¯P®)É_ !9 #`©ú×)•Ÿ¬$â{Pê‡8m¯7í.@”Kæ<égœOLæÀÄá\ÂõçâúEËŽ–×®“,4Û´: 5¥gË“LüNŽ˜?¡#Å„œ(ýÒŽõGu>‰Ö$?‡‚ˆP‡@S"ÿ}ÑÆ5Äûñ×í‘^Ú'ÿú¦Õ]YñÎeqò÷êEóBeý¸øE…P¿¼4 š×÷æøÍu/âxí6sêVl ‘¡N$Ћ€zöÅÁ20-d¥‰êY!=Bë{‹ß“¬›Ã¿p¥ˆW‘0 óT¯8Ö«’T7ßϱ=”cÇB¬àãp_€æñïh!å³#@nvª_ß»9©Çñø®ìÄ ä½rúÕ§p!,„¬t¶ ¤'Yâ¹’õéðBÕ—µ,—íš¿»× ù˧ÚÂ8××aWìKˆåuÂréÕ$å%ž%½¬Å_銥Y¾(ŠÿÈÄûEìÃjÙ°ömZØ´‡:X¤µvõ^™W™cþöeÂx¾ÿϵ(‹d?½ýà7àFpø"ø?àKàoÁ—Á߯€¯‚¯ÿ ¾¦‚›Á-àVp¸|ܾ ¾¾ þLw‚ÿ¾¾ îÿþüà{à_À÷ÁÀÁÀÝàÇà'àðS0ü üÜ þÜî€ÿþü<þÌ_‚‡Áÿ¿ÿþø5ø_ðð[ðxüÌ߃ÇÁÀ,0ÌO€¹àIðø#˜žÏ€ù`XÅ Ôƒ% 4‚¥`XV€•`X Ö€&°¬ëÁ°< žσMà°l[A.|®|?Ð ‚=Àž`xx9 þ¼¼üxx5Ø ì ^öû‚ýÀþàµàuàõàððFp x8¼ìOm‘öx?Æ8-¶kµ9èò^Ì®{&x'ÓÞzÈëò%/Èœ^Áò‚~H¬gÝòЃœ–}ûËûæ·¤ÿWÕôbý«R7ÔôؼûZŽÿÿý×áuŒ=ËK/ûÓ=ÿ}xŸ¹é*±×úº*”òžzõ4‹:ê7õÀ&Ÿà˜’+#¦€Å²Gtl¡A|ú-.c KÙ#6¿”OÌ·`N9Í©ê$”ø‹°÷X^ßsMKïõæë~Ã1øEóm¯™C^5‡l3ß¿™#t;Ç;:„XÁÇá >vP‚ï¿ Á÷O2õLiEü•S0èeœ…;R­ÀéP'œ‚Ͼa1E,ö”_B9À–W à\$7¬nÂaO¶¬1bŸJ¢˜‰=žh…|Äš„Î@ŽÔQöH¾¨ä—”Šs³ ÀÏEàKWÔ[‘`"tlÄ—lJì)ªS œÕZ¡$.¯äëÄWɘ_A°öF. Äû†÷y:ˆ¿»˜ó¬ :B¢ „î0§„ÐYÜò^{ñ×µ%檰¤©Á&òqz_ÇÌâ΢ÿG<þ¡Gü'ÚÇŸGXÄY9 ‹Ë¬‰ê¯.ó?4A~µ¥.ü KE´ËÁG7ÕZá´[çh^öººÿÿ°ŽË¹HQ.iU§ñ§ñh¿ükžqÃu_°Qß²±Çy/(¶§ ˜êómo»¨§ñÜwÁl¾ö ~J&V9›2ûâñüü‚´¿ iëô)G1јÂÓ«20i¨Ô<šÄÿ¾ãlB? ?RæEü þøöåý7*û±Mü«wƼcLùá;¹¶ß{³KxT;ŠäŽF¬—ñÛí|oý¶?uIJ•ˆáWS†ìŒÓ;Úƒ÷AÿézKüEüƒ&œ x´|´J@VÁ‚ŠÈ}ÍRüwÅòîn`Bú—ÀÙR$‹äHÚK*ðÅkûm ŠS‰­ìâïh^%þ1E¼GðQ«[â<¡@‰¼SšQ]-ñø?uTLŸO™[žfP-ä‹f›:ØÊf‘{QËÕïŒÙ4ö ‹¾ü4h¢<Á›VŦ œÖÙûíݳÐ<ÿ8KüÕ²¤P£þ0ø'œXÑÔ#ñ|à®^üÖo žX 9Dh•âÿfЬ³’.ÉÝóåèÝúÏÀyµÌR7 «}$-ª·Äÿ#Û­lö mbkûˆ|9þ#2Y›£xÿ±RüËäà›åú¢ÁWÇŸŸ”Øó˜ü»ˆÿ[6ñ?o‰Þ¡Àø?[¤SVk`ñle³‡Èý­R-·Ñ¦'6²PŽÿÈã~mŽÒÀé4çHñ/cÓËEðùæJü#þ‰­+/ôHjLj‘jÝ“k#Ë0ù…%þóš,‘ü$0^šæÑ;ŒH2[Xâÿ‰´H½ÕKÌÛïá…fÞ}y0hŸÎ76Gòm/XâŸÍÚÅà âeà•ü€ÅlS³Í˜±8_´ô\Ý´ZÈ&ñ;hQkZ©ˆäžÀ„ö‡³òBÄjéy?R¾·|éy¶Ty‘ùЯóE¶{`o–[ךöÌá ¡XÇÿû²ýláqêŸ"%=2–â/*üÀø÷³U}Tyϔ֠”“êôà~o-1³¤ò Û1½'0±za±{䥷ÿ[¤(£Z-Ñf+,âý¢Øvö`íÇO·´íIÞ#sÒßvÿv]¦QøEüy³º e¾ÇòSEñÌQH·>JK¶BóLyìâ/NÜæ&5#þkZÚÆßñ)ðq8t‡ (ÝNû³°FVDGÁ×¼Dy¤ø(ñŸñ&.„zù,$5  vj ±C¡C?¤“Pâ-=£X.„ÕZÖ«¿á°¢É/Ñ؛ܦkÞ©ÓÍ…ˆ??ü)Xx¦_Ä1ÿ‰Ê—ý¢óøœ¦˜"±…Öi,%t êø‡gòøK§@9 íB¬À¡¬¯Ú "Ùô¼÷TßĪ ¸Ó¥¹„ŸŠ¿/ƒâ¯-.£øSü}mr’âOñwžßù·î‡÷ÝÎ(þÚZÏ\Š¿†Fñ×Ö(þÚš“ñ?²),lS¦Öö”øg¤0™–o™”,%CZtÑø‡ÙülÅ’ty%þÝøD¸.þùi‘r¸œ0D<2%%RŠ?¦ÅްG1uñø·^Š?Ϭlr)T'ÉiÖË:öQì`‰CÃ^ùFò?%üÊ‚®ÇߦüLµÈ#ìõƒ|‘<7.õˆ¼fj¢¤ÛÍ¥Dn+÷ðÄÌ×Ç1û —¬ +ȇkÚBN±L_´üËàÁ”ÑqdÚ¦µæ0«*ÅldbÝSÛ£X¦ƒ\VÿìZ©ÄYYG‰›:þJâž%Ìîä"%q—5¤˜U&øšmÑÉøÛ•vu„Å´z…6alç$:^¡£ŠCGF:Gåß.í©Ž*®Ž¶íhç–jsˆÎÕ?‘êj“¼FnÿÎÔ-],ÿ6v 2WÆ¿Ý5/uv¼ó.¶5Öø«k}9¶gäâeÚÉúß6þ®hÛ†H.‡¨lk›ÎÇß’ÂG'·Í!:Wÿ(ÅT釨”\ûö·mœ/©ÿ£Ž¿3ýOÇñ/ÍM—SÛö×¶¹Xý“niŽÃ—\D\v‡è\ü™ºIÔÂ|óúWUü5¾¯Æ¿ûØEÛ_ÏÅŸâQ£økkÞýü«ûËãï øSü}=GPü)þ¾ Š¿¶ðâþ¿Gà¢ñßýþ[\Ëx¢ç¿Öˆ]0OôœêmAí/Åß—Añ×TÿSü}Š¿› ù³þBÏ)þ5Š¿¶Fñ×Ö(þÚÅÿ'0ïßu&þ¶o=´ÿecWÂE.þn|ÿ®Sñï®oØu2þÝùý;§âÏ߃à_ø/µ|ý~õ9&^‘°{ù®Í{sÖwî¤Û̶ómËNÚ¼»çùïßu±þ±yíå`j˜åE%ü¥9éå/ë»*í¾š'§¤'Š•mgmßvágG~/¯Í»{ÿþ“õ(±VX×AÜ„"Tï¹ØøPóت^ ³mû¶—8Aí¾»×‰ú§{¿çlýÏËy§ãß~¬:8 .7~ÿÎÙø‹*E õÛhˆšÁþŒØ¿š·Rœ8Qƒí±Ÿí°þiÿÝU~ÿΩþ§*žªÚ^U½´)Ÿöï͉¢Î, ²uØþ:G¦õûw®¹þê–¿á þÝçý;ߌ÷1ºÿ ­Qüµ5Š¿¶æÝñïþðâø{(þ_Å_[ô¤øSü}Š¿/C‰¿æoú&”øk}!î£FõO7©4÷Ä7Añ§øû2(þ_ÅŸâïË øSü}Š¿/ƒž?Rü}máÅãx(þ_Å_[PûKñ÷ePüµýþª¶`sª¼sž‚v˜½¡Û=w¤´DÀ/„_R«§ ÁDÐl~)AKÌ)!h‰™Å^ˆØBæ±¢ø{4jç§'\ŒéžÍcE h‰2Áw¡ù½zǼZ/Äœ:Á# -ž !ü–z!X|³§À?±ÕûÀZ<šÇŠ@ ø,4¯}ZwÜí;–Et±bRÇ <Óûàç9Ðü À@ á'ƒæ0ù8´þýo222222222222222222222222222ï1Í€ú84ÿ@ Á§°ûý·Bëë?_7ÍH @ð)hþÂÇ¡õõ™÷˜æ@}š€@ @ üdÐü@‡Ö×ß¾nš @ ‚«PjÈÖåWxú›‚¼ÿþÈË9ì>(GAvŠÎ|‹|!w®Ê¯›âgJ ­ßþþÙÙ¸ï@ßèç–ÿö£î8àªüº)þ('p&îÙ]‡2OkÝÅv™eç‘£g¶жü;_÷Å%!㻼V¯²–Œï~D¾*ËN¹*¿nŠ?jBˆ«¥¥ì‚àÂ…¦ÆúZ䫺2ßUùu_ù‡?MÜÎ{ Î5Ô×ÖT•!_5U®Ê¯[ãîÜÙsç½gÏ6Ô™ª*ËJÄ߉üº5þõê¼ µ¦šòrc‘ƒø;‘_7Ç_¥ÖµÈ}#‚Y,â,ž˜»-"b[®Xá@2Ò?àâƒ64˜L5eåÆB‡ñïr~ݸÍ=w!N¼Î"¶žg÷®–NAÉ­",ü®<¢@}}MMui™¡Àaü»œ_·Æ_ñÜu@À÷ç¨Rr¶DDlÉQ>í–ºuuÕÕUÆÒGñw"¿n¿â¹ËÍãœm“øy2[µ§‡#øÛ²]w,[ÔÖVUUŒú|ñw"¿nŽ5PWWå2doŽˆØœm“ˆø'íC:‚¿-‰Ù/ujk+«*KŒú3ãßåüº5þŠç®Cz2 Û–¥JÉJˆHÍŸµ•YÛÂXrºK(Ãdª¨¬Ðt§Ä߉üº5þÐ,`2UºY[ÃXxj–<‹ÓÁ·3e¥†Ë‰Ç¶†K).=(PSSQQ®/)v'òëæøË%ǵà§ÀbÉ{¥D9þbqR2]{КšòŠr]IqžÃøw9¿n¿â¹ ºº´¼¬X_ô£ƒø;‘_·Æ_:D™wÏ2c¡®è¤ÿBWå—Í5ºsÊU¨²-gÓôü3Ê Mè¥ ÌJ)QÅl’Ž|ÖÀÓ'•±Ž?ûE}]•‚Ðíf7á6@Êý›m>;BÈ«öü"GïõæIÍÈ ùâÿ©fwà¶×d¨g…¦½l$ªg¯û à¹@ÏÕ-›SÇÆþû%µºkÌødO¶`Ÿ ü›üά¨H0ùÅ7°Eµìés^-f唸*ó+ø'RâÊ䂇`f1 ÿ…æÁìç'£‹Ëý—ù/(Ø#6§„#N/Ž ÄrÄ~Ñyl Ë&ŸàÀœõ-ëÿügóKݸgÉÕÀYÅ˶–ê+.tõñÙ²ßN8ÊBpçG|ÉÑç9.‡Iu`cŠÏe› M…yå¯l?»u7÷_œ)÷A)’ó( ü¡ákk«ÿ”ZóÞ¶ª·_,í©²—’Ë~½¢ôùe¥–Ÿ^d|z¡ñ©¹†5³J’cô+ÒÅ?P7âØ¤Áû¢†ëËÎËþßü7vË{ìÊgÝè9/½EÏ‹” ÿKŸO¨ù`‡i÷ÛU;_®Ø¼¾ü•5e/®*ýõ ãs ÈBé3‹ëSæ–¬ž¡Oœª{4¼pî¨ãS†~xOlËý¿ók·û/û¬F‹â€Æ”9ð¼úÝ×*·?_þ»'Ê6&–>»Ôø«…†'çVÏ,Y5]¿"J¿b /QñÏ¿¿`ֽǧÛ}_î? ?ü¿ékÙEû®ÚSµóÑÅÿ «gTl~ºbë8öÈaž²f®aU¬~E´né$Ý¢°ây÷Ïôº|\’;ü‡iw~|ÿ ÜÿûŽËþ£üÃÑv»Âs[ÿ¡Ùò—’Ë÷8"¯T/’ó“u‹&Àù¢Y÷*éE3îÊŸq÷Ñmüwwü;ö_Ÿ0 ¥›çŒë*®ê‡ë„ϹÏêü´ÛŠb†L¿ó‡èa ûû1küÝä¿’ «ó6þ×ÇQÛà3ež!y¦â0J»Õùè[Š¢n.ŠRs{ÖÔÛ?s=÷d®­ÿen„rдä‚;¹`ª^ɬ]€’_²:V¿rš]k¥›~›îáÁÅSo*޾¹ðá!ÙS†ìu­ì¿8hÜî¹-øéàþÏeX5ݸf¶Î³K’gðVlùd«fß©½Us³>úF}ôÀ¢iƒr´gd_îÿý'åS€ø÷~Eꜻq&+T¹àcæýcQ†Çgž˜e|<ÕQIR´]ü q·f *™6 $z@ñÔ9“|zO/îÿØîÿàîÛaÍE  ¾u{ÉÊiðܰ:¶$yºÕí„P1ÑÚ`2ÎdŒ¹ÞÝ_7¥ÿ‰û~ò îÿ„Bž…»ó¸ÿ}¶ðî«»a› øP5¤xa¨~ydIÒ´’U1VçW[ü[݇vsrG]ùcø€ÓS‡ž™ñËü¸{ fß[R0+¤pÖÝEqÃt±Ct1õS¯ÕGöÖ‡_¡ß³`´ÿ÷¿dfÜÿ©u< ð_*?nõ¿Ý,è+[Ž>4ôÈèÞGÆ_Ÿ1(sòÌÉ·fNºåØäÁßOt|âÙ¯Ï~°o΄ÞÙ¡W挹,{äϾîwxûhÜ@{ÿ{¿òÓ9oñÙŽºªœcúÞWì~õG!½>qÍÃ{íÑûã½? ¹*}øŸÝ}ùÞ»‚Ò‡õH°÷6¿Ona»Ç ,ËÊ\¶ÕdçÿORòm*¥ÀyËÞ¨5wÑôÍËRM×ZË¿ðß}õ§,êQyÎnDåà T¤ÓëåO1¡mÜÔjþ)–"Ú"àvPüŸTàð®fqû‹ÂóØ ¡Œ?%ÏN°@¤à½`t®ÜíÁ>ÑþZü÷ Ït˜û úRýã¦ûçî{Š ú€õ~UsOÈO„ÇûÊê†wÈòÿý×üÜœûy7Åÿ®ö£~J#ÿµµ‹ø#ùï^#ÿµ5ò_[ófÿÇ£þ—üw«y³ÿ¡§Ùä¿{ü×Ö¼¼ÿìþk~…ëüõï~ÿü'ÿ÷ÿ4ùOþ_‚ÿrù×üTÿ¶êEý׺½ˆ]ÔÍKÂ%–Í=!ÿ=ïÿøî¿æW(N^¿Xü׺rdä¿¶Fþkkä¿¶Fþkkä¿¶Fþkkä¿¶Fþkk^íÿiÏþþ€Åͯp½þ•ýïh…n÷?ÔÃïÿÿä?ùïùþkþѹç’üùo·ÿþSü×¼$8[~<ß~þEþwÿ=t¼3éú‘û¯ù `Φø¯uEîÈŒ·¥øïŽQ¦\gŽWů¿¤þƒæƒ:97Þ“â¿Öƒ"99^’â¿æã 97Þâ¿{‡Ý‘‡•qýx=Òý‡w$ÿ-cÁHÃÖÈöø_]3lzX—Žw£øo†%° ªr`µuú’  +ãêñbÿ¥!3~ØÑΰ)9ÛÃ-çCZ*±²}µœ´z¿2 ‹*…Àb¿IŽÆ[Q®¿äAIت}†ùØ·Š%.­Æ’÷YRø8&Ç·EXR”¡LÔ´3܉kÆ+Qùßî –Á>¬ã:´kÞâO± ÁMÕš´¢¼¤¼\Tp”x.…R~3óTÁé,>ÎlU‘ËòëžøŸ9Ò7ú¹Œÿû¦(?§àLVá™lLx.à~ÞñOÝwð òUg²›ÓùuSüõ…™Ë^zgÊ[ÿôÉÞœc_y:²ý;;ó_éû÷E&§&¾²«¡Þ~Üd§óë¦ø—–dáóÙ·>2{£æßƒrá÷©’^ýs}}ÙÙÆ*Wå×Mñ¯,;U]™_g246Tžm¬>×Xsî¬ÑÔÔè>¨T{þ\í¹³¦êÊ3®Ê¯›âO Á´¿åãèð^“ú>UÑåûT]…F7 ]¶´¾åãÐüÖ–s÷»”ïïi~kȹûEŠÿšßZqî~‹â¿æ7%œ»_¡|ÕC¯÷=þ÷W½ÀÏ~™üïþkßvpþ®Êþ_üÉò%<œu pˆ?ñ‰ë¯yïëÒqÓUŒ1Ö®]>Æžd«Ù]l4þF²1˜ ‘–ùüc>Ý߯ýí}ÝúÛÍÇüL7ÈÈȼبþuñ*ÚOæTù¿Ú.Ÿ|tÍc§Üø¤4“òtRÂÝ>ù$_:Ú®†ç[?"OÿʯôߨK¿¼ã㯠²¬×Ƴò^øìÃFôܼ¡¦r/ï#Íÿêë[X^Y/i›*{±þU©Fc{±þhÕ65×¥_Þ¿§ØfE‚þò«°l8Ûðc¾ÿvÏ`Þ¢óu?ê±yC9È÷¿NÊÒ-ïȾÎJ¿œ“O¿S«Sò~x|ÇåóWõ°nó¦¼Þny› k>xgÅØ£«AkäXrÿTYó>*‚1‹ŸùKçûiüU ”Gþ¿äûœy*uCÈÆÍÒpŒkŠtmÎMÐ Ÿ]îÇKÇàûâÛÌ‘ãý¦|ÌÔ}"6ÿƒÿo~ÆãÒ‡ù\Å,1šà÷k¿‚á¿Ýpǘ;~æ:u©²ó}‡ïcÎGsèÌu|ßö6¡Rø¸ çœ[3ö÷ñ3Öqù|+¶çë\é»í®úï-ʶ÷bžoÀ‹«e_Üx¹àëü–©{/}XD¹ðe€Iä·¦‡È/ÏßõÇ^ÇבÎ! ö}ÝeqëîE¼ù|MÊ ½åŸÿ|Æ:~>ÞüòK¿_ù=ëwÎT£¼öÙ¼á>¢lõü÷áu|‡R/óù›YäkÈ#þK~~yûîÞ™ë¶UYÏ·¡ø¿·JÄh¬AR™ØtÕ ©|ž«éÅ"0?ÿí6,¥¸˜¿ðãé7!}*ÈóÇ­Ó¯øÏXwÀo»aºñg›¶ÓŸÏæ÷gLïß¿yC6ÈË‘åüZÊò›é_úåòùš³”µO±eú L4J”ª7ÚÕToP½á¸Þè¬q‰<¶jñò„'-}G]Fwv'ÿ?¨ã’µdê xœì`ÕÞÅoà¢<}* vE±€‚J iÒB@Zˆ  ×ÞðÏŠ€€í *< *Œ]Äò,`0Ò ¤÷H u¿3{wggk6K&³ågg§ÝÿÌœ½3»ÙÝ~zöÒ•çæu ÅqËI¢‘fÜ?áö§ q¢0xÜb±(£Âÿ€£ae¾Æp |Ó†ÀGácðqØB®cðq£7‚2LƒÅ4üg‹ž"ÿŸ)tŸj†³]»<æ9îçtþª¶ë¯k…òúërÿ+¯kÒûgz§¿ºÍÅÕ—i§½xF‹«ËÒ~ŠúÙ‹m\¬]Yïë¿÷ÔvóÅ¢A”òš¤¼öøÛ~ fèWmŽ·‹)X{ :¯ˆÔÿLÛÿØÖ?•Ÿ€ö_gýÏÀúO‚ïí·Ï§œ“ǼødL×DÈ×ÿSàSá k@`7cÑÔÖ¦³„rL(û^Ù6!Îυσχ/€/„/‚/†[À—À—ÂÊÁÒn___ ·†¯‚ÛÀWÃ×À×ÂJÚÂíàëáàöpøFø&øf¸#Ü î wJßFˆnBƒÝá[…r  ÷„{Á½á8ø6¸Üî÷‡À·ÃáAJ-á!ðP8'ÀÃáððHx<…áqp|'<VŽÄ»à‰ð$øn8ž O§Â)ð4x:<ž +gŽ ¾¾¾~VÎæ‡à‡áGàGáÇàÇáYðð¿áÙðøIø?ðSðÓð3ð³ðsðóð\øx<^¿/„Á‹á—à—áWàWá×àÿƒSá%ðëðð›ðRxü_ø-ømøø]x9üü>ü¼þþþþ^  §ÁŸÁŸÃ_À_«à¯à¯áoàÕð·ðw°^¯…€„‚†ÿÿÿ ÿÿ¯ƒ×ÃÀéðøO8þ Þo‚7Ã[à­ð6x;¼΄w»à,8V:Þ¹pœÀ…p\ —À¥p\ï†+à=ð^¸®‚÷ÁÕð~ø|þ>†ÀGácðqØì(¸Üþ 7‚Ã1ðIðÉpøŸð)ð©ð¿àÓàÓá3à¦ð™ðYp3¸9|6||.||>||!||1ܾ¾¾ n ·‚/‡¯€¯„[ÃWÁmà«ákàkáëà¶p;øzø¸=ܾ¾ ¾îw‚;Ã]à®p7ø¸;|+ÜŽ…{½àÞp|Üî ÷ƒûÃàÛáð x0< ÇÃÃàx8<¾ ‚GÃcà±p"<N‚ï„ÇÃà»à‰ð$øn8ž O§Â)ð4x:<ž ß›à{áûàûáàá‡à‡áGàGáÇàÇáYðð¿áÙðøIø?ðSðÓð3ð³ðsðóð\øx<^¿/„Á‹á—à—áWàWá×àÿƒSá%ðëðð›ðRxü_ø-ømøø]x9üü>ü¼þþþþ^  §ÁŸÁŸÃ_À_«à¯à¯áoàÕð·ðw°^¯…€„‚†ÿÿÿ ÿÿ¯ƒ×ÃÀéðøO8þ Þo‚7Ã[à­ð6x;¼΄w»à,8Îsá<8.€ á"¸.Ká2¸Þ WÀ{à½p%\áýðø ü7|> ÂÇàã°µ³¦\¿Ã à†ð?àh¸ÜŽO‚O†›Àÿ„OO…ÿŸŸŸ7…τς›ÁÍá³ásàsáóàóá à á‹à‹áð%ð¥ðepK¸|9||%ܾ n_ __ _·…ÛÁ×Ã7ÀíáððMðÍpG¸Üîw…»)}P¸;|+ÜŽ…{½àÞp|Üî«ôáþðøvx < ‡Âñð08€ï€G£àÑðx,œƒ“à;áñðø.x"< ¾N†'ÃSà©p < žÏ€gÂ÷À&ø^ø>ø~øøAø!øaøøQø1øqxüüox6<~þüü4ü ü,üü<<~žχÀ/ áEðbø%øeøøUø5øÿàTx ü:üü&¼^ÿ~ ~~~^¿¿¯€?„?‚?†?WŸÂiðgðçðð—ð*ø+økøx5ü-ül†×ÀßÃkáàáŸàŸáÿÁ¿À¿Â¿Á¿Ãëàõðp:¼þ΀ÿ‚7›àÍðx+¼ Þï€3áð.8 Άsà\8· àB¸.†KàR¸ .‡wÃðx/\ WÁûàjx?| ¼Æ>^C¿^¹hRúþöûvJ$(©éèdƒNûi¸VˆR®>­¬^¤XÿUæhc½Û×Ä:‹2ôÏßœ?ýZeŠÿºØÚcj¥d§²$ey²W¯ŒQz QÖk)ۣŸ¬Pl׫gŠç›B©{”+éfâÍ –^h¨–ÖžúÛ¼ ê‹úÚ¶@ª]o+ à๠t=JëóÜ©‚­Â¡õ_ëÀÿgËØôsͶ1Û{Ÿ’5ô´m·¼µû?jËή"2»1]kÍÎ.Po- dÛj_„Ìà>êvÛÂWÖËñ\o'N`+ lÛ6Ü(V·Q’V›±ƒÏ¨Hn¶3>¦ôöƵ¥2NB‘ f¿»Z¹¬Óf¬ Ø­%å„BN³ÌXBÑf,!„è3–BôƒK!úÁŒ%ÄX¶—îÎÚ½§¨rßîýö8¸÷Àß{êÈÇõC]KøûPåÁ¿wíÞáíeÆb, Kðïû¯>:;¡¥©³ëßì­ç§”VWW8áíeÆb,é9o>u×Â}>ûè¿?mØêü¸aÓ雾øråü”¸eÏ%—Uïðö2c 1–u»òÐ úíæÍY¹weoÚ•ƒÐÛŸ‘™µ~ËŽo¿ýí*¬Üáíµeì…ÌXBŒá÷]¹¸Ø,,+/(+³R^Ê  9Å%Ûsó7îÌF»r+*#¼½ÌXBŒEfNÙÞ½¥áBqÅžœâÒm¹ùhWNÅÞo/3–c‘™S^Y œœÒ­›¿q£ÚFµ½¿Y#K¡}8¿‡ÐÎR·íeÆb,2s*ªªÀîÊÊ:Y„ôØ]¹q·=N7,ì!3#7`L…S·+å{÷”•ïô™±·š"ШÏäÃ))ŸÍßø™l‘Úd˜rŒlï†ÊhìîÏRä\²êCu29Kݶ—Kˆ±Ø2gß> {wuÂʪªîˆ‘‹Ô1ó7VÍUò'6vwÕÆî‹6¢X‡kTA×® |÷Îü"_P{Ý%ÛÕ]ÄÊ‘.mô8F©>ô8¦®ÚËŒ%ÄXdæì©®2yê„›ö-ˆ­Ø·I“¶oß‘²`Ó=Dì”E‹Ä í³ub§pwÅ®‚bX{Ý¥Ž—¿[ ¡] 6mR'“³hǸL/¬¿(‹²x\ò‰·×CƶkÌŒ%¤Þ™³·ºìÙ·¯®xqÓ¾cc÷ìÛ¤ŽAÆN)/"ccc³{6-ªÃÕi©¨ª*Ú]‘å3ck/5[¾ï oLýb_ZŠxÑ¡{¾H‘c^Œû6‰ØErŒZ ¹Y¨7mr)W]µWÉØ®Êï0c 1™9•û÷™F:vüøŽ?Ìh×öÒÝÞ^þ!Æ‚ÌY¾ø¡eÆïL_c gmB‹Þ[ü𦢒o/3–cù#+CN!b'Ì~ßêͧ'fäƒo/3–cAϱóÛΜ_3³ëµ›3õC] šƒþ*ÚåÞ¯‹´ö2c !D?˜±„¢ÌXBÑ÷ŒÝÚ–Ÿ%„ºAfìRf,!„而5úgEQ!/ûêò„BÆwÆÞÇ&„P‡K!úÁŒ%„ý`ÆBˆ~¸g,ÿBê dìήâM~,!„è3–BôƒK!úÁŒ%„ý`ÆBˆ~œ±Fÿ0EQTPˆKQ¥ŸjŸ±~ý ‚ÑÍ¢(Š ù“±ÎƒÀŒ¥(ŠòWÌXŠ¢(ýÄŒ¥(ŠÒOÌXŠ¢(ýÄŒ¥(ŠÒOÌXŠ¢(ýÄŒ¥(ŠÒOÌXŠ¢(ýTcÆfvo2c)Š¢3–¢(J?1c)Š¢ô3–¢(J?1c)Š¢ô3–¢(J?1c)Š¢ô3–¢(J?Õ˜±;»0c)Š¢3–¢(J?1c)Š¢ô3–¢(J?1c)Š¢ô3–¢(J?1c)Š¢ô3–¢(J?ù•±0c)Š¢3–¢(J?1c)Š¢ô3–¢(J?1c)Š¢ô3–¢(J?1c)Š¢ô3–¢(J?Õ˜±™]ÄRþ EQT@bÆREé'f,EQ”~bÆREé'f,EQ”~bÆREé'f,EQ”~ª}ÆÆ0c)Š¢ü3–¢(J?1c)Š¢ô3–¢(J?1c)Š¢ô“NûÞš !$’Ñ5cO$öÕm£êSáQöðhbÆR. ²‡G+¨0ÿ»³«Xz36üeVPa ÈÌØÔ,‹q&!,³vŒp[²RuÚ† Ux¤Sx´‚ EfÆJÅ¥f™MB×U„¢Â#£T(’3}W“ˆS»²”Tx¤Sx´‚ …Dƪa˜e±ˆ¸Ty!oNðÅlÒF¥Ça÷¹X“Ù‚å` >¶ÁãÛ ‹ó ßë5Pá‘N.­&³z {ÌbɲøÜM.L–}ûØÑåQ¡•±HEõ&*Îy¿4àŒÅRSM©qqòŒó( l3ð N˜ä ^íp°)Ì26Ëj®Z¬÷ˆäÃZ9x)•û‹KÕJ¡•±ÚCÝl©À26 S–Ň^¨÷¬ó¶À6ɬ=ÓƒVa–±ÚD©,kê|ÄŒ¥j¥ÐÊX‹óåö‰ôcÕ7¼0€n·mðçªßÏÍ·&´ ÎÛÚtn Îmv—W õ%’KÕƒjñ7] ûG²YÓÔ^ǹ_Óy»½&ãÂ÷iâí"1€ÍÐöcµl ³~¬Vf”]˜”»è֗׎oSÖ_èPShe¬ÙzŽÈhBd©Hô%e_Tv½Ôa—ÛnO™,Ÿqç²pyÕØf˜5÷`Ý/`ƒGá—±f{´ªé*À‘£Î%—Ìû‘ Ʀ:¿¯½€U{#8þãRSÕipù¯½°u?S„ɬ=×||PÖeáê]…6CÛ–`þë†0»We} õ¸ýéijÃ…YÆZ¬Ÿ¯Sû±YÞ»µ>ÄŒ¥VHd¬ÅþòÀ>ûäñ®åMá—±Yš¿q¹%ë[ET­*K՛£ìáÑ * ÄŒ¥\eVPa f,å¢ð({x´‚ 1c)…GÙãTˆK¹(<ÊþÕ’Ç ä1©SÆþ‹$2QlŠ2Vzgì‰lÛ{aÑ¡ 9…GÙ™±TˆK¹(<ÊÎŒ¥‚DÌXÊEáQvf,$bÆR. ²3c© 3–rQx”K‰˜±”‹Â£ìî«ýžõ[-ü: Jg…DÆzüÖ£¬°þqX¥ÍXµrÿ\ß;3fùÜYÞö”úm®ì)ß+¿bH~03–ÒU¡›±áýã°J-»Yós꬘Bî¥Öþ&‹ïåmöù:Ak¶î÷TsªüIbf,¥«B7cSÃúÇa ”ZvµÒVÕì³ì.#}ì¬ãT;»Ÿò‘±@ºš-Y&l†÷Ÿ†§¨:Qèf¬%¬Ö@©eÇ¥º{ÆzüåÇ3Öâsgù³}üv°GùÈXõ—ˆÑ£övË‚¢êJ¡’±‘öã°*°~¬uuY¾ÙS?Öãìµí»jå-c³±Øéö;f“`ÆRº*T26Ò~Ö@y»ëñ§Õû±î;È%=î,5Ü|ÏÀžò–±©YfyVn•I˜¬?˜ÉŒ¥ôR¨dl¤ý8¬ øsÚd¶ÿܶ:·¥†›ûþÕãsX‹ö¶ƒ0™SSMŒVJ?…DÆRõ©º*»±ÝB‡ÈG'V×J§6ÌXJ71c)…qÆ¢[írÏÁlío»ß ¨º3–rQ½•]×LãßÒRA"f,å¢ð(;3– 1c)…GÙ™±TˆK¹(<ÊÎŒ¥‚DÌXÊEáQvf,$bÆR. ²þS¤„¨ÈcR§Œ?m!„D2æŒ-@¿~¬\~`ÛNdvÉeV0€K²ìáÑ 0cIX–=¨ÿŒÅ))Dg,¤½æUsÌÞOÒà9MÜ·°ý¬Õ ØþŒ¥Ë3¶ˆŽsä÷HÏ›ÕÃæ%IÚé} Ë:(ßY½$Éð6ÖXöyh©H’lꈶ¯Ö§ý¬9.mqo ¶ù릎t¯¡cÆãñ<O“°d‹ËXã!ƒßvÌêœ ’‚üx6œzÎXyžÊ]€+c*ä2VNrãÕV`¼H\*C ÆŒEÚ£Ö¸ÐË.›¬ž;êKŒúÔ¼D!‡Ûc²Us<6P[ ou“³»ÔÊ÷1ÃŒ §í;ÚvŸÄ÷!­ÝêaÌdzáÔsÆjO§žË¶Éiâ²…8ðL³’äm,xl‘ÇaÆÚ®`Pá^vy&.ŸÕY;EpÉUu<¦ôØ@—RøY·flÀÈÒ™V-uéBøØ5!w<N=g¬v_È3×å2ÄeÛ‚ä4q9®æ%vövÕïg?V^ i<—Wîe÷¸ƒ¼]†¨ëÞ@—5Ö­Æc†0èˆÊJ¹×´{ÜÛ® ¹ãÙp‚¤«íi·-HNu³qŽ·Ç9î¥ïí±E¯=æ†áÍôVvíÅ£{MjìÇjƒÑ㎬ë^ÕàÕ^(iXûV»úV¬ûÛîj‚„Àîøø\·íR7õs óÖãç Ô•ºÜ+ªƒ'hQ飼Õ2z;¤}¼Û´Ç³áÔ"c»ˆ7ë"ckµmArš¨g´zç‡Bë„Ú¾çUçu®“ªÏÁœh;«ßýÏ0>àõ†ëÚk©cÂõ«íg·ê¶ÎÌØúÁ=QÝSW§]i0cýA{÷O®‡\mÿA¿šŸH…ƒçà Bä…‰ûeˆk“0>àõ†K²ìáÑ 0cIX–=Û n‰:—[kïÈá9uífMã=n¹ËååêÜ7LÊ[e´#µÓ¸ÔÄeu5Ù½á0Fxë¬z,lìPßÂt".UÛ—®«šS!!3ö‚ºÏX—2V Iß ÷Ø1öç^Ëá­=ð'š·SRæ›zݪU–õŒs¹¤•±L³IxŒ ˜DœKk·Á=Ó0&+ÕdqK<«ŸjNõ}¾{\µËùîm«\2/r3ä43ÖÇ¢jÌXƒÚ­Ü·¿NvhÂ̦8í6øn‘Ÿ5§BEÁ±êU¼rÕkùu+ý¼Wàí&ƒ{ƺ¬ýçÀ26G¾5%ü‹1Ë’…zù‡¤ÖL¹¬$Ýe~Þõ˜uÚ F§¤:™Ëw‚k±÷Ö\¶ÁÛ½é*Ç×xÝêçùî­2êÄ~f¬EùÎX³5¾Ð(í;_Zy»@8Áê¿ä­í¥ 36dH?öÛ’tÑ}¾<\µïyÉ`”SŠäùÚ§:RÎ%öó¼tùP1 ÓtŸ¬,öãÉrrJ—Ulõï~,N+y¶º¿™b=…ÚéÂCy«MN‰|S{S.§F–÷ Ü×ëñüR·A í\#¯7•1¥ yíx¬Óc<žï> â¾U.k/·}g¬ŸEvÉX9±:—û†ùÞþ€w¨Å~¬¼¹ªn•ïPs*˜UoërÉïñ¦k íÇâÂNž5j º¼yaÂ4qÊù¥ä£õ­ 5FdÏÇý#CfÍ)éí=/íz³4ošÈXqÙ5j¼m­Ë¹©¯D±§&ÈÅf!í«–ï¿¸¬Â}™Ú­r™8ÕËÛFÚ‚`|\ªÙŸ"k.·S®KSoüjåq“êd‡ú–ÙÞÁÖnIÔœ ~¯ÀðDõ‘±Á#¯=^·ÖÕ2µcÔÞõ .*ØdÖd>†Í¦šsRšSFI¿ŒõH0Gkˆf¬N§¡·{†:e¬ÙKç³Æ…ø~7*H¤íÀgyù؃EçšSF)€ŒÝ~ÃIü;¯”®k±¿%TÛ+âðN¡ðn]„ˆËŒ¥(J?1c™±Eé'f,3–¢(ýÄŒeÆR¥Ÿ˜±3–Bê f,!„3–BôÃSƆùï BH½ŒÝÞI¼×‚K!u3–BôƒK!úÁŒ%„ý`ÆBˆ~0c !D?˜±„¢®{®Èîd¥¯Hï!‰Úk¥g¯ÄÚ¦ÁÄrzu€úÇ~èoDAo¿^ÕFœf^#¾o'^<Ë5c×uQ&PZkní#$™ý£$ÙE^‘;ÐFÎǰÏB‚ì^ÔÛßWäõõüTf‘y‹•.6¶wµ?¼Å†ƒ·uTØz“õßöÊþEœ–Þ¤dìsš~lY_k[†ŠÂá eÃEù(Q‘(ªÆŠÊ %Õ“ÉQ.› RH„Ô'G‰OB}§Ôýæ².v”ø{„؇Ø7\H‡+` :^T²ÿ+ìì$öôSþ•Ïîë§°§·+3¶b¸¨iû·2±!80Χ‡’IŽN±qdrCwŽ'7‡eRàõÚâà£ÄÁ1Ñû^º«¶ßvx´¼ rá]U·G˼-íåš±¹šŒÝŸ…h=4¡8lMW$ê±ifÚ8>£‘ŠefC)6dÒBHã¹û_½kÃæŠ+b??åªwN¿nÅm?8³Ý{g\÷^Óv+š¶ûð´¶rÝÊ“¯ù4æêϵ^ÙðŠ•Q—&.ûè¢Î+Ò7–"feÏÖ½«f,Vf¬ì¸¤ëq“^b–zÆð³•„(.{lwÁ·­ozÓºóº®k›Þ²wz«Þé—õJ¿´÷†½þ¼°gÆy=75»uSÓ[6ŸÚeÓI7oþGûMQ×ý)Z¯½¨óèÐú“±²‹€ÅµÿáiJÆÊ õ±ÞÖðºBH¸ß7@NžzãÖó{츢ßÎkïº>>놄ì¶ñÙm‡e_3,§u|nË!ù Ì?§_AÓ¸‚Sz4îšßà¦lqíŸâÒ÷1¯z{Vf¬ü\AÆEš{c•˜U3ö‡ÄèÙÍ›Ì>ûd•²~M®[fÆÌn£Ž|­y“ããbʦˆÙWÆ|ŒáählüÇC„|öÇ+mcTfß­NV–ì4žÂ,LJĸ/A}¨¬n¬2Á6ÌÛÎöa+–?M˜ì#ëd‡Ç KqªúOa–µO¬q_BÙ+¶‡Ç1Áék¯ˆ9‚é-æO¾·lêÐD»|Bˆ;Æ|˜!ˆ·_ýäƒún—üŒBæì[v]3(§ã¨¼[“ò?ÿ~?Æô˜PØ}Ba—ñ…7%µK,n=ªä²¥¿tÕÁSãJNº¥ ºÃ–—¢ä¡õCÅÝ•Œý¥SÆ"xË)këÊ¢Qs°ºì×ÞÈ.ëƒ>­ü8Á±)J²!KãîÃÃã_Ç!c_¸äðÈ5-'Fcø§ËÚV}%F»|d²Áž±‰Ñ‡{$QY²œËe Gg)[òí÷–CÃb0|´8ëPbÜ¥WoÍØöM ÿà!$Äå`ÿ¶oUÇ+{aϬÃs°·M,P;“='vŸXÔi|Qû¤â«Ç”ªãÑ•=%¶°I§-®Z)3YŠŒÍíät¯›Îm¼ò™X³öŒÍBÆ÷lrØþñ­cË„Œ<4$#¥dì+—fËØÖð”i¹¦UŸý‰Ñò}4™±˜ O°g¬Ë\.K8þe\¹Å2{àí]‹œöMdÆf´oâ² ‰Ü! ¤+¨ŒW@¾µì›ÝeL^ÜÄ‚S N-TãôÖIE'uH*VÇœ3°¤Y¿â¦½óOë¶õä«•ŒEºÊ€Í¼F|ÙÚ‘±™]”Œ-ˆ·ýéìÊy"ZflQlŒKÆÎ~hM^Ï&Æ5<¾Ê–±±EJZ~Ðü¾#m ù]«>U#£«F -–t“œ OUã¡§¹\–€Y\>†hÍjgËØôvM\VAqAÆH=*Û/ÓµÒú÷ˆ—«nω½3ÀäÂÁÓŠ†L+”âˆÙ.Šä@åþã-†Ÿ7°øìþEg÷Éovë–µýTflÎ-¶¿¥U3ö—‹•¿ÿR2vÓŸwžeëÇÊ~ãËÍ›TŠ9l½IûÚ[Ùï7oR™sìK%c_¸¤z-cßo~_u‚-!W·ìS‘]1\h±üa’“á©Êáq.—%ý,®ÚÚÝÕ)¦:Áv‹ ºgŒÀ†U ˆY?@T p]!„xCVP6Èr²ÝÐܾw ^4lFQüôb$mÿ)….ݼVñE-? ðüþ…ç÷Ë;¿×æ3®WîÇæZ¿—`k{å,2V~vK›±¥ñŽ˜=4Ëñž×1‹¥úÉÔê‰LTî”*‰×ê^où}Ê­»gHŒ%OIËåÍï+Rr rvó>˜æ÷¶Mʬœ+±üt/&›Ýü>îKØ¿²1rLEZV©íΉyÿz‹œØeE„R#ƒlõµ}ù ¤ó輦âÑ÷¾¯xÄÌ¢!Ó Lv¬Ôåƒò/½=ÿâ~y—ôÏky{NË>›Î¹QÉXù0HTd,ú±žê”±™}¬«‹WbV›±™=š”ßÙPÍØ²q Aùh…£_Øî” ŽÁ\³ÛF¿ƒ+wÙ#͵|Ù²OA|4¨¹šgíÇÄÆÈ1³¯µÎoëÇb.Û°—%BHÝ0Hóí^}•/ãBNöšPøPqÒ#Åøw¤©xhJ‘­Gå©Ã—õϽ¤onËþ¹W̾²ßÆónþHÍXì/+ýX÷ŒÍª¬Wve«sº+Ùѽ ¶dtÉkƾ4pIñÀy£õ„'r½©ªÈRçÞ¨/+­Xü´K[ܼ :Àr.mÆú^!„œ(ö¬Ó7(Ú3vÒ%ɳK' ·õÀÜ6ƒ²[÷ÿëü›?”+;±.ûû"£“’±9C”µÝaÍØG—ç¶‹ôUÙ²«ÍØ#¸X8³ cZЦ[w$-KÃŒ÷§"KX窰^û3W Ñ…AF Ûïž±ý“ Sž*›þlbVM¿þ“ zÏ¿el~Ç‘y7 ËUÇ_=8÷šÁYmúÿuAG%c°à—6Jƾs™-c?8[ù›¯ŒnÊwq+_Á=Ô–±%cJÇEIdºb@ Xe‚QÊÄùųÆK„R#ƒ<ü¸€ÌØÁÓŠ\PþÈÂòÏ–­]‡ž£E¹+;µ1Ûk|~wkÌÞ4BéÍ~øÍ¾¶ñ¹× Éj3ÀCƪýXf,!$âðž±ÃMÅÏ,©˜»tÏã‹wϰöfÇ?Z2æâ÷ V4hjaßI}&ÄÞ™ß-1¿ã(tk³[÷Ë8»Ã û};åWf¶ôÛ‡ˆ¬;D>2Ó9`eÆÊ¤«òï[«1+3–1K }⃜!ÌÛïò#Y=L™±/yù½½¯­¨DÒ>´ |æseSŸ,ôDɄNJ“)÷pÉèû‹G˜ŠO+ì—\ÐãÎüGä\Ñ'ã¬ë•ïÝúýFåÖ«û½™±z6@ÆjcVÉÒ$Û¿e¢€-fåHOýX`øáDqëN¶óf[ANÞ7·|þ÷,zgUÜ;·,å)lé]— `Ç>X<æÁâ÷›Y40¥ð¶Ièʶ‹Ï¾´×†ëú~q¸´ûs[%c¿ºÄ‘±@ÆþÖ]lèå’±ÈR5]µÈñ2f‹$¼c@ Åð r˜±¾7R&-2¶hÁ]™9‡ïy®,ñá’øEý“ ãî*¸u\~ìù]Ç*t•®– ®’{Eÿì‹zfÞ0dCÆÖ=YOÝ…€HTmÆâ¡{ÆfyÉØÝ…Šš·Ž[n÷ !$QÓ[û­ÄìàhÄì‘r×?:¨QØu¢e?‰úekå~ì›gÙ26³XßWÈ€õ˜±j®VÝíÀ%o+…¤|!õM !µD½úÖ^†Ë¼Uo&€ÌþQ }„d«†-½þê¡ÑM¹ã*AÒʾ«ÌX$0:±ÈX­Ú€•éZ9¥dJCoàYí/ƒ«?N!!Aù ÚOO¹ßüt¹wáaMäb‘‹˜ýàl±îß©‹N2z°.7d®žÖð¸©ñ±{„üÝ.9,ÒKŽ”¶‘Ö_þrüÈ!„œ0ǧDÕ-r™2Ád|I'+?¶%;Šû£”/z½Ãú­Ú#m?)‹aí5»ü–ÂÒxÛwÉ«*„0b6³‹#c¡ ý”讞Ø¹Š¨´<ÔTáßç*<ÓBaîå–ùW9XÔÖ†v$!„„4‰öá“—ÚÀ°Ì=ŒÔ>”Ù¨"ó¡¦ò‡¼÷ Wþrö·_¾jÆÊ˜ˆY¥#ª¬\ÝóÖ8]ÐQaq…—»yEN@H}âã€$a@=3#óMý×ÈCd2?Ôôè”FÝ”·½~ÿÕìž±Rëû ¶ê½I¶õƒdò3]ŽOÏŽÑüQ˜ýN²á_%J"ÿð™èJñˆ:Æåàq=¢ì_'[fýÚCõû•ñ}­_„ØWùÎmg}¨<ÕWù%/,r«Í؆³tp›—§‚XÇkû‰ *¬%D×câ—¶ýÓˆc‘ªE!ÎÀ áÀÑp#¸1ŸŸ 7ÿ ŸŸ ÿ > >>n Ÿ Ÿ7ƒ›ÃgÃçÀçÂçÁçÃÀÂÁÃ-àKàKáËà–p+ørø øJ¸5|ܾ¾¾¾n ·ƒ¯‡o€ÛÃàá›à›áŽp'¸3Üî wƒo»Ã·Â=àX¸'Ü î ÇÁ·Á}à¾p?¸?<¾‚ÃCà¡p<< N€‡Ã#à;à‘ð(x4< 'Âãà$øNx<<¾ žO‚áÉðx*œOƒ§Ã3à™ð=° ¾¾¾~~~~~~~ ~ž?ÿž ÏŸ„ÿ?? ?? ??Ï…_€çÁóáð‹ðBx¼~ ~~~~ þ?8^¿¿¿ /…—Áÿ…߂߆ßß…—ÃïÁïÃÀ+àáàáOà•ð§püü9üü%¼ þ þþ^  ›á5ð÷ðZøøGø'øgøð/ð¯ðoðïð:x=üœo€ÿ„3à¿àð&x3¼Þ oƒ·Ã;àLx'¼ ΂³á8΃óá¸.‚‹á¸.ƒËáÝp¼Þ WÂUð>¸Þ€ÂÇàÃðø(| >[`ñœÿp¸!ü8n7†cà“à“á&ð?áSàSáÁ§Á§ÃgÀMá3á³àfpsøløø\ø<ø|øøBø"øb¸| |)|Ün___ ·†¯‚ÛÀWÃ×À×Â×Ámávðõð p{¸|#||3Üîw†»À]ánð-pwøV¸ ÷„{Á½á8ø6¸Üî÷‡À·ÃáAð`x<އ‡Á ðpx|<†ÇÀcáDxœß ‡'ÀwÁáIðÝp2<žO…Sàiðtx<¾6Á÷Â÷Á÷ÃÀÂÁÃÀÂÁóà'àóá9ð“ðà§à§ágàgáçàçá¹ð ð¼~^/‚Ã/Á/ïÀ¯Â¯Áÿ§ÂKà×á7à7á¥ð2ø¿ð[ðÛð;ð»ðrø=ø}øxü!üü1ü ¼þNƒ?ƒ?‡¿€¿„WÁ_Á_ÃßÀ«áoáï`3¼þ^ ÿÿÿÿ ÿþþþ þ^¯‡ÿ€Óá ðŸpü¼Þo†·À[ámðvxœ ï„wÁYp6œçÂyp>\ÂEp1\—Âep9¼®€÷À{áJ¸ ÞWÃûáðAøoø|>…ÁÇa ,¢qþà à†ð?àh¸ÜŽO‚O†›Àÿ„OO…ÿŸŸŸ7…τς›ÁÍá³ásàsáóàóá à á‹à‹áð%ð¥ðepK¸|9||%ܾ n_ __ _·…ÛÁ×Ã7ÀíáððMðÍpG¸Üîw…»Á·ÀÝá[áp,Üî÷†ãàÛà>p_¸Üß„Áƒá!ðP8'ÀÃáððHx<…áqp|'<žßO„'ÁwÃÉðdx <N§ÁÓáðLøØß ßß???? ?? ??Ï‚Ÿ€ÿ φçÀOÂÿŸ‚Ÿ†ŸŸ…ŸƒŸ‡çÂ/ÀóàùðøEx!¼^ ¿¿ ¿¿ ¿ÿœ /_‡ß€ß„—ÂËàÿÂoÁoÃïÀïÂËá÷à÷áàð‡ðGðÇð'ðJøS8 þ þþþ^ ¯†¿…¿ƒÍðø{x-üü#üü3ü?øøWø7øwx¼þN‡7ÀÂð_ðFx¼Þo…·ÁÛáp&¼ÞgÁÙpœ çÁùp\ÁÅp \ —Áåðn¸Þï…+á*x_t`×òÓ›ã8jIY©Mg y·ãw\$6³y¦ØUÿ”Ý ëô³lî 7S†?Á%æ9ãbsÍ­ŠíËVÆÛ—‹Í²þÿ´½gˆ³+æ?²·Ñ‚G”m-Ãÿýaíý8Š£”çÿÀpã×Þ¯<¸ø4aŸW+Ñw}T¿ @ôÞ¢Ðg«ÙbHޏ#_Œ)’ÿF+cJÄEbT‰20ÊÎð2â?Ž Ö²7šXÝx汦YÎý·Â¥OZ.Ÿkiû¼¥í"KÇ ]+t{Ù+râ'jñŒ.AñL©ll:Žú«» Å3 Ø WÍw€Ý!ÑŽ$ dN÷ßÄÀ\1d{Ô„2 &î–`_4LÙßpÚaìqϱ†3-@ã_u¤#Í8ŽÓGNIüÁVÿ¾ëÅYòI%r_`/H”}áåÙIÕ&T?í¾}2•úÙnC³ Ô½`ãî*êȉ»•i+lŒ*'µõÝSú<^ê¯âRse &!ÙBw /$þrÙ;žêŸï±þjÍ5e/²öH‹œ*_@üåì”úwY× §ký• Ë:«{a\©c¤ö€×óCóH-°×_¹ÚÒücJdµ% ÇÙŠnª#pï¾æ³cbmc¢¯µÎåT_K7ÔúÌU\üNõߥßJej±6–”ú[ckþŒ(K-Ò<¹¾RÄ—ªX‹o“ùeõáß&åÙJ{ýò°„û÷«a˜•V!Ôé×ï·Mì¼¢Pââ_ÄM[E¯|ëÁ_ªÜ”Fñ+¢gÊvTáXê“Õ&VGO<`-~õ½­”8êóF¹ÅR®ÿCö¤æÉ$YP´FV²¹5²Úþ®½Ý}ïOr2婘žš¹Ôúíº„1(~Ö'?Ç4ŸÝä¡mxfÍ3;„œkóuLÂ'÷ t]QÈ ­¿½øbl•˜uX›ÿMš¿3ª:úÉÃØ)Ùo½Ö¤ùû1‰•q_³åÏ jëqˆJ¾Pm¯äjd‘î„ýeâ}å©„J/s9-!î3¤\õ’³c:íò©ï?‰éiP6l@…°>z€ëºBƒ‹2D—L¥þñöú­ŠJÜýÄYÿ˜Ø¢†“7J>¢—S¿‡f7é™×pܸUÇ­õ%fØ{%?ˆyÀV½VßE¬ΘÒÕÉð°ÚË\NK°Îâ,”½]–­þíÒ…ÛZB Ô¿S¶µþ¥²øJýÇsŽÚò¿g±Ký•2äFÆ}¥Öÿ 5—PÉщ‡ìÕ[¸?ÊÓu²ý"ñ€—¹œ–÷åqkÊÍvꉵϱտ}F”ÛZBqéfkýKÅ 2[ñ1ÞZÿlYê^e 'i4å(ˆžrÌšºÛî‹+Åø¯eý_yØ^É¢­ÃJõÖ¢’Â{ý?²>¥ëˆ½æk]—0KÙË÷߯ S†³ŠÆ)ó±×“p[K(!ëß·H kñ, &Š~ò˜æõWQö·ÇO;3­`ÓhÔÿµ˜±GRKd%?ŽÆ¾{ý íIÔjü¡( ¦?íÇdã5õ·=eYóÄZ÷%ˆWÔ÷©§>¼6æ Lc¯‡MQΫ-¬ù“+ú–)¯Öú£øÈóщ?4iî|Ö÷+kl:3sKŒf|“æ¯ÅŒ;.¦”Å\‰á£“7H>.†|l{öÊå•è›5“%;Í…§”~ÑKp<ÄêÆÊy·)=¢›·5p^~h!ÎMWë¯ü²þ¦Æßh†í]]ùž¯Šïx+3Åá !\ê/wR¼æN9Šú+Ì<æ^ß»€ø‰¶þè©§€< ”nË^˜i;#¼ßð#*´°Ö?[­¿ü·ab¥‚r"T«O¹/$H'wäå¹CüÄQÿþÖ·Ãloc9.„–Ð~ÂdÒá¨dWÄ„c¶×tÃ;u!„¬¿² ²•w!{¤GÅnhÐSAýðgTÿL‰ò vÓÀ\Crà=¯µ.«pk¢ÓV¹N¬¬ÀÑ÷ãßã+‚mQÞ·PQN¬p¯¿í÷½.íB]Ž"÷´ ˃Ê}SœÇ{Ëyßùï9@ܶJ;q³kŸõ¸([è˜ÑV"oå÷¼ýþ¯Ë:‰cyÝ —ÖÕ´ê¤þÞ¶*€úûXT õ—•÷Z~Û_Ûu9/Ä6·÷öšœíØ §ñf?Ö([ä»þ·ÊéYÇ9¯m·‡ú{[TMõ—³×WcŸ‡D 벇'Õ×*ù‚XSþ¸¿ü:¯qÛg°­Îcý5 uÚ*—‰í9-Êm^Ucý=¿Šx¯¿ÿë²xzý¥\Tûkªåýš>­Ç (Š¢(¿eø Žá „B!ÅŠå¯1úú/Òeø H!„B!„B!„B!„B!„B!„B!Ä#†ÿ`„côßÿEº ? !„dÆ´ñÄ@tí\é½üú‘®­Ø’aֹ庮¢ÝV„î–‡G+BwËã¡»åáÑŠÐÝòðh…÷-Ÿ—¤þˆAGÓj½·d•©³HXÊú;ª!’–Ø®žÕ^œ@qtªyøÖùœŽ¢ó¬åÚ‘K…HœÇú×Gý=–eI‚í°>;G9#©çˆþ=íG§¹;þ «¿^A ¤ÛËb WÍ'FÒp&1” •Ä@Ĩb$à ‰‘ Í‹†ä€á­XÖß#ñ„0gÞjB‚RB"£ß€ˆtFVEÃ÷€?vÇ~b$‰‡ˆDDâÑúÇŸ k|<ŽÕ?†·šB|`H0Ft ŒÀî¥Ö?/"è•mþlXôH ÊüÙ0ÿ„B!„B©_ò1ý¾Y‘¢(Š¢ÊJ‹KÍ2z+B^(£ýÛv|•S­¶û¸Ì&GÕÍ&“¹æ9X/ªñö$Ôß¹èJUM&ë)a2ÛÎ e [µg‹2U\jªÉöП]þòpLšMÂEN¥²=­ŽS l]„ò„}ÿ÷˜?ê|ÚÓ(Rå±¼þJîÌê-ç}ç?³È«j8þ§´Fë_oBÝ´Éã£ÎN±c‡õw–HwizŸrÎëo?£äëo–º˜ˆ¯?EQEQT¤Éð7@#Ã?@!„B"ŠË_%bôõ_¤ËðB!„B!„B!„B!„B!„B!„BˆG ÿÀÇè¿ÿ‹t~B!ÈŒiã‰ÝÿŠtmÉ0B!„Ô’ås: ‘8ÏeüÒD#m¬2u KßòpaI‚p­ç¼$!’–x™žõ¯cܪía°þ:â’6xØyÖr;°KN£Ö_»#\‡¥ÚÏYe|ëB§§ƒZ7Í©¡Lc_Cý5³û>ˆåUØQ玦Õ¦±Öwýf×,–ødõ¬ö2^œÂ'C&¯ã_›WV±þ~! èòÚª<ÔfQmÝÃ+übDq3¼LC…óÃ21HR üÛ·È:P`ÀC똾y¢W¾”‡EÊø^¥¢[Æw¿üfþõw€Ðíe‹?tY\÷¸¯¢ã§½ÑöyW.}R¡éC–FSŽ¢¢íÏj¯šo1„ËçÚÐ>”Û 0Üâ'0RûðÜ;¦IO;Äð}¢S†l`Ùˆšr¼n‘Ë÷ÃþU‰J>Ü`¡†“ªN¨ŒJÜ/ÆV‰;¬ÿެÂCÛ˜Ä £Ê•1&¾Ôvlc š'zü%ºd~÷¿uXN°pg¹Â¸²¨q¥ F—qG‘^¨_`[.’£00DõÏ}ÀVÑ{‹кg€ŠQ%†íwA¶ÅmûíM°7DE¶Í8õº¬³Öµû^á¬7m%ªÔ}¡Ý5s£gßµ ¨ üHmߎ¹ë©¬èNÖ¦µýYiZë/E«JÕùF–TÔåÌÅþBëçd–=wOÉÉE3â “ûÜ—?îÖü;cóÇvy£:Üa×+ ¹.»ÿ™=/Ú0ä†=[3ÐF¥u²—|%.{Gœú¨‘ TŽÀ\{Órå‰}Q>÷¾=ÿ¿÷E¯=Y6÷ÞÒ§RJŸ˜Tòø]%$?8¶øÁ1Å÷Ž(š9¬0e`Á¤Ûò»eÇ·ÛÐëÒ/ú^WPzضÛüb|mÒ’-ú* ,y|ÂÞ÷^®\ñZÅ’gÊnßLi`—LÑq›m'b6}Îß ^=ˆ¯t`o£rì mWpwߢéC‹f +žP-œÒßeÅ·*Ü¢pÀù…ýÏÏëwþæ^çrýJ;åŠNÙJ/ݬìA4pd•_à K?Í܋̹ý*¼ÆN€¦MR˜2ÈÑ® ]äÀñý•ÅC[<¯¨ÿÙù}ÎÞrk³OÛþKi`÷bqKŽÒÆk2•žõ¢rµe8šfb#³û¶ÌÓ¥`b\á”…S:Z7éÖ¢ ‹“)Z2ðœâ~Íò{7ÝÚí´•WŸlk À~T˜xÈFiP›_ÌêyaîðùI·L¼MmKᤞE»ïTœÔ¾tÌÕŽ6ö9½0ö”-š¬¼ª‘ÒÀÞ{”;3²ÊåÒ‹QãùƒHîbÂ1Q[=ê6rgç3q”æ m›7òæü1]òÇvÉÓ©`ÌÍcn,Ý®hd›â„–%C/Âñ‰ÝWÛ$¿Kôæë|Ü*Ji`¿}¶ˆâ²Âïê„{3±‘[o¶ì‚ÊÎ6z2j{¤ûC”ø¹ê@]5kŠþçz â*E§í¢Å{¢éó†o ȲáêDDÑí¹àÍHhàãK¾ Eüo`m/L‚Al äbÙÀ ȹØ@60ÈÅÚx!¤bÙÀ W­høÝïÉ\îwÕØÀ… uØÀPGÛ@ÿÄ;°ïýö¿F÷JTÍ ìŠëÁ¥á|ˆ²¡ ê°¡ND4°ËNq!ª°¡ê°¡ND}œÒð Ú¾ôÒK .œ?þܹsŸ}öY7OL&ÓŒ3ô^ˆ~ Tï|øaÚ¾}–½{-»w[JK-Ë–¥Xrs-YY–éӧ뽸xñâß¶:YˆN \´h‘ºm+V¤UUYöìñ°mÓ¦MÓ{!:5çj°a|¶|yڻ尿ývÚ[o¥-]šöæ›i¯¿ž–šš–’’¢÷Bôk Ž(€²cÃPùòr¥òEEl[^ž%;Û²s§¥ÆžøB¼6ðÄnÝ¿øâ‹8_¶ e—V\l©¬ÄqUŒ‘xXRb™:uªï… i¦ÿôÓÕÀìXHa¡»OŸ™™5,D§.X°'‹•l6 [( ±@ˆ¹c¦L™âc!Ë–-+_õíÚ[nEÓ2V­þîúö¬ù±¢Â‚³ï7Ò°ûví²ìØQÃBôk %Á)ƒƒ MاbžXppŒxFà©ÌÌL Ù°aÃÚ ›Y¦ÞüçÓÏ}Ú¡½eêUæ6­qÄâàÄÙ‡Öa÷mÛfLñꌠ“à|82åŽω¹ûî³…xBˆG…ïå¼×ê Ë£Ývv;ß2îÊ/9ã/óï¾ûZ·dIÚk¯¥½újÚ+¯¤Mž<¹þ8oÞ<Hœ/¨9Î#´û­ûOù‡sâØÕS’vy+ËÌ6o8ëÇö-,š[FõãMZ8ïpdÊÖa!†4Ð[÷8==]î81U a^ýu ù_ÏŸyòw³f­ÿý÷ϯ¾ê«Ë/ýuÅ m¯€8'MšTûî ÷·°ÙÀ&¢X«7¾å4P@Ôƒüo áÕÖ{¾1º50R>ÊeøÆ°'Ø@ÃѸ¶Èßñ¿Fç}í@ÿ)™ÚÀ²AÈ9l äÔ¢]3åçd ßf6 ôÝ@qNzLÛ­Í’+bâwúž yçÕ¹ü´«Û/*:o˜Ûìáá"…püò¦í)å…]~,2Ãß«uö‹¨¿§ß)¹úËNµ±þ”¼UgͳýòlÍõwú‰ÕÚþXê Õßo‚¨þAëõ߯ú³þ‘ ëÏúG2¬¨Ôßð7ªÂ’ZÿëÇ5ïÈìa,ÖßX±þÆŠõ7V¬¿±býëo¬XcUßõÏJ¦TücU\j–m¼Ù$T™ÌîSb\–fX³4×%…–Œ¨¿½XJÍe-CÖAëó®Sj†Ý†´ -Q{ѬG¸ÙuZ{U]§t›KS~oË ~’?fÏêÔú{›Ò^g±þÞTCýµ‡·Óñ_SýC5õ Šú»Ä¿ŸõwÚ¡º3‚¢þNý³mlÍõwJ­P  ûÿF‹õ7V¬¿±býëo¬XcåýQCRçðø7V¬¿±býëo¬XcUÿõ·Ý¶ìn¥Ó-ë½åæ¤z¯Ý(fýk#Ï÷ŸOD¬md«¿Ëíú>óà–?.o¼ûÚ-AùÑ ãŽÿ€>óàžÿN÷yVåG/‚#üþ̃‡²k–è;”‚ò£F¿ÿXËϘë²ò]GÌÂúë"Þ0V¬¿±býëo¬t­?JD|ÃãßXñóÆ*t[º[®Uè¶"t·\«ÐmEèn¹V¡ÛŠÐÝr­œ[áôÞC-îñx¹^èUáWçw/­û¢¶·ÙœïОøæùPØÕßím¤îsRí'½o”4õ÷~À;îÂöV°¶™¶²;–ƒÇ¿rn…æHÒî×Ï]h†}¼5Æúû!/­°ïÇtÚwa¼¿#Ãü©¥|Ej©}}î"êÊr>Š\ŽŸ›±°þu ××_MÈ‘4µ«¿#êkËCX.­pŠR§˜úWíg9X?º­Ý-×*t[º[®Uè¶"t·\«ÐmEèn¹V¡ÛŠÐÝr­tm…áŸ.ˆpôÛ³EQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQT0«¼d+!„B!„ö¬Xþ*1£ïDº ? !„B!„B!„„%[2ÌáÂò9EçŽíEâ<ÇÈ% B$,µ/MB´Ÿ³Ê¼e•©³mä¼$!’–(Ï®žÕ^8FZ's&5¡TÛVOíN‘êtcÿ×Ñ+Êê ÇO÷~–S¸~üôÒå÷žO\¯ÿéJH¿zׯ_#J¸š¼zõÊÌT„tý‰ëÕÿ©=W8>ÍÎMOEB/é ×+Ðÿ¹¹Ù¹¹™Üàììôd8à÷ŽêøW¯@ÿgf¦$Næ§§#áÏ76¬ã\½Bý—Û1–=-¦ÂÑâæ™=MGS\ ÃIù[; >èôt8òúƆtý£W¨ÿÔlÞrÙÝbgŽÆne³­Z:ÓÝ9“ÌÞÒmäeNM…BÁqïåA]ÿãèí>{<‹ø|õÏå„þùea¶¦—­8À¾´[x›!!0‹hr¦ ªd“ø›Wÿž]Lä V`ÆŸhÞ M„@“!Ðä€@49 M„@“-(PøS2¶M„@“!ÐäHB`¹òEOU²‹É w6n &B Éhr@ šÈÊéïÁýhZ@ š&GBW@ yhr@ šÿ_ 'æB Éhr$ °/ÇüB ¹hr@ %æöƒ_U ~É,%f;!0Û ÙNí@ á@Ô(|>ètL0ƒñôa©.*¼1x sþ‹Þsr–X­@ᳩ¦cV­@Ñ_Y©CgžS­ÀÌOÿin:‘¨V ð 7Ó1S§”þ›¹è-Ó2¦V ðY#Ó1פV È9•9ŸÌq¡ÀÄ&(”&=T°õoÆLz¨TÑÐÙµs9;ÔÍŽêùô-1:k¡ÑÓj²¯œÉèÜÒÍ‚'û„ßbYð_¸ÿ+á?ü·(á?ü·2á?ü·2á?ü·2á?ü·2á?ü·2á?ü·2á?ü·2eÿ‹+GäSÿo²äÑ40eJþßùÝóEë ¿wnñÚždÉÇϧÀò^órMò,ïK‰½léa>œ†ó€šÈ $ÏLµmy¦HǺk/ƒ‚(ü AAAAAA ¤øg†$?6 …Aœ&‰÷è™Âh‡Œ(•RaÜ]‰`q ùÒîÿ˜=²-úª ãØVÍìÍ]šœ®WŽWº¢?c>5Ž““Á``l|4þ 7tô ô?ÚrÃèá>{d¾ãd[Úy¾Ìoòw¬…ŒDÿ屑ÿãêê890Œž‡£Á³ “ü¯j§|2¿©ŠÅ~j#À?:6Ò¯ë½ý¶Ü8¶:ÙÚ&·&Ç]ïpԻ埿»i-s¶zD…áð„bäò¥>ÿãêè?ýÎÃa¿t7®eöz·²I§ƒÙ;Ãîz»’ÙÙh—r =(1š˜ðŒ^Ôó?®^¡þ+=ÇXòS ÂÙ&e*þËä“rÆØƒ†B¾ ߥы½ºþÇÑ+ÐÿhËs€Áà¸Ï{qdø‚Žÿqõ ô_j€77H7ŸÞ±¡KÃç$ÿ‡×+Ðÿ ߨÏ7BœàÍ^’„qnþùÁ>7ïçá$ôŠðÿbÿ'Kñø¿?èìwõ{(‘½¤öôž½ÐýŸöcÇH×d8ÖU½Bü:óìöÿùÆ×·uuþ+Ûéé<å9óÏÖ£íÎúÍ/¿6={U×Ñ+ÄÿñQ7ýܾ÷/÷=µCø « |ñuÕî7¦¦¼³3±Uéèâ¿ß{>è˜ _ž™öÏÎçfBs³iä•+3飿@‘Oç"s³á ¿?q½BüAA‹Sü‹3õ±7¼Ê džR¤ö>‡diØ[2ùîˆÌ¼ ú=ÀâL ¸ÿßfGœa]Ív5Ê!}*1h®V²ªF$hrø„Ø*]io ]W• >ŠÚ³-í:Ú·0ç;R1ælWsx ÿl“C͉Æúµ#âŒ0& ¿P` aq5?©¢Úbr:¦¢¶<‡XO5¤®1çË•‰®R‰;Ë¡çhæÂ0tüœhfÌNbr Ik&ØeUmêf›³ªm>ª«†}59jÌ‘|mÑýðà£fÓÖV14æ»P`Ò‘Sæl¥œ6uÞ$»óöy ƒª”ÐÆ[5›,¦Š¡AU­@áñÇtD- ã3<,¨(<ˆ–ޏ›V ð(U:[ZÂÃ@éˆ)—gýœ¤7 ÍhædìC+PøÓžt³˜í\ð5!ü‘f:Hêîÿ‡"0åw½fàQgÊm{¸“}ë=¶âu.0•ÿÄdrîçÒ(q÷Ÿ…?òÊËŠèÏ<wѲ‰Õ°jv?[Mÿ¾Í¾C©•Òg6Zøç<]j‹_ßê(Ù~b±fÃÀõ×8ðK´MYSÖZÜFKÍÓ¿Ü´uÛ›k¤m¿ªzæ§kjø§«c®ð¼ö•t­DZ—>XpûÍ_[ –»¡e¾búYÂÊop}™R=…%ÒvÝ÷²^o±T¦Ì_ÌJõ®ÕTf•_­©ó»µ°4_®SP=RXDŸ­§eÕáÇ<ÒòõÛù7:/ûæ’—¾ÏŠ j%m”¯÷¹JÉšÖ\Õþ -'iÙOÇåÛEKæË?¡”û¦M©31¯ƒß¬Œ-)aeäc™â%oÿ²À¼öÛŽ1¦¶³bì ÒyàíÜpx™¤‘¯7ÒÂNäIž¯ÜÑàÚGÇØ}OkalÛëÞï(´±{¤cð}ñv¬WüÞ£³¾]öæ÷´Þó6÷¥„Ù1Õ£=¶ßÚÜåê cühͺZm¯RYz²£ïckåëjù¾cñ¨_nãN:ç×h½³²–·‘oFõy™/RzQL½¢ïÖ]EÛ¼ï®ê¾8x¿àev1ùîÅë®w}þ×°Ývps]^Yc.ªûùÝóyêz­ÛÊËä¡2?ý]ƒ‹—§Ï¤}Û¢w™Ûm‹î¨¬åçãÈ uyu¶í¶¯Ò¹ R-ipµ”È}+ÿÔÉZV$ßeVüñíÂ=ïvò5ßÃÆ÷ËØéUëj›óçã´n È=úïI}bgQ¥Ô?çBÅÌAÛ?ùÓK®giQëñü2Z?F˲°¼ŸAJ¿œWY{DÒ÷ÖŒ­X¼“ò^Í“÷õ¥mpyháýH=¿j_æûä}Œ÷ƒ=ïÚØF%}„ê©é÷(ýæÃrÿÀu#>pÝÀu×›_7ÿÙ´ågÏ=S£ÞÛèÝ2âv2ð?Éûa%^Ôxœí]`Uþ~ D9=O¤¨ˆ¢‚ =A±Ð Ò¤Eª)¡¸ŠgÅÿVŽŽå‚ zŠŠAÅ;u‘CÏS1ˆ„Øôlz!ô²ÿïíÛ-ÉÎîÌd?¾/̾}óæ½oÞ7ïÍîÌì¶Œ?g¯ZwASDOÖ˜vœÁšÈÒÀFîç0VÇ€|Oj þŒùzñf-x< :( §ÀÓzW‚B·ÊfàŸ…]Âz³4ü?›ýUy(-ávyy¡¬s:Ä|¡F]·¯u˜yûZî>lZÿÔ3FüúçþÌX+víå^™+^mV¾þû¸d¼Ý•”ˆ­óíNtþ}¨®Õgç²Fq|LâcO¨í?‚í§å5v.DZ»Ø4l½¾q&FÄúèžëÿF®í†òÑþëÿBÖõØ~S°óï¢ýîõ¸'O)ÈÇû3œmd¬øGð,ðlðOÌ9`ØÍØŒ5wµ©ã}‚ï{^7ÆÎ//Û€mÁ‹ÁKÀvà¥àe ï,íÁàà•àUàÕà5`GðZð:ð/ שo xx#ؼ ¼¼¼ì v»ƒ=ŸÛ0v}°xãý±$°7Øì &ƒw‚ýÀþàp 8¼  aÜCŒ ‡ƒ)àÝàp$8  ŽÇ‚÷€ãÀ{ÁTð>p0 Üm`6È'Þ¹`˜€…`h‹Á°,ËÁ °¬«Áð X ƒGÀ£à1ð8x< žOƒÎŸ¿ƒÀÆàÀx° ØLÏÏ›ÏÏÿžþ<lž¶[‚­ÀÖàùàà…`ð"°-x1x ؼ¼ ¼lv¯¯¯¯¯;‚ׂׯ;ÁÀÁ.àMàÍà-à­`W°ØìöoãcØ ¼L“ÀÞ`°/˜ Þ öûƒÀà ð.p08 ‡ƒ)àÝàp$8  ŽÇ‚÷€ãÀ{ÁTð>pN'ƒ‚SÀ©à4p:»ÀàLp8|´€ƒ€sÀGÁ¿‚ƒO€O‚OOƒsÁgÀ¿óÀùà³àÿÏσ/€/‚//ƒ À¿ƒ ÁEàbp ¸\.W€¯€¯‚¯¯ƒÿÓÁ•àà›à[à*p5ø6øøOð]ð=p ø>øø!¸üüüü\~®7€Ÿƒ_€_‚Á¯Àÿ¿¿¿­à&ð;p3øp ø=øø_ðGðàOàÏà/àVðW0Üþnw€™àNp¸Üî÷Yà~ðh³Á0ÌóÁ°,í`1X–‚e`9XV‚Uqb.}ÚÏø}ïƒ'À“à)¾蜬5ã¿û¼'ñ×îsüѬÇc°®ÚÞïa&ÐøQ^6Îù—¯Ñ8.Áy¶ß̹ _úc£ñmG_Äs$þéç³C÷=/‰—'FužÂ]çœ# §b ÿÁ´‚Ó¯Ç^nN 4ÃÇ-Ù[m9Vµu-„ˆUj¨C …ŒWW¯Rè9U›y‘ BDje†¾!µ ½QÛËáv’Ð7‰ÝT=ßv.üãBóÙžN {ûže~Ξ;ÏÜÝë¾Øß“ù"«Gxè©‚ý=Tz™ê««n(¼…¾zrÖáj¢ï‰Ä yCaæô·ú¶›Ù×¹³$O =·bJËý) %w5õEu2#[}{-ŸIž†Ú]\F êa+ò ÈS‚¶ OÚ‚~~9‡£ÜOÿµî´åî8y  æê¿=˶u×¾o¾ùí*¬>ãíuyª-y*zøù@.&…¥e¥¥N”šhB޽xonþŽýÙhWnEuŒ·—<¥—§J«ªJ ì•9ö’=¹ùhWNEUŒ·—<¥—§Êª«ô´€âÊʼ’Ò}¹hW¶OÅN{ÉSzyª¼¦=MCôZºCº!®lCRí¨^”˜XV½Ë몫KËXš¨íFÑÍòK˲ò x*œöʵ.Û“¥m/§¦%¢u‹vìÚ(µ â6}!…üå¢D&_EÛö’§ôòTEM P^]­!Ð÷Ð[Ê«w”»í³mi¢ècH܆”Ä¥HÑv£@YUÎ’öôT½Û‹FMchÔñrZÚ†E;6ˆIM)¢½Ûªw ±åÒÄZB 饔M¬¢m{ÉSºyêàA@½5Áºšš^è6;–I)‹vÔ,JJâý-)©¼fG¯e;p×p‹pè.(+ߟ_ÈSõj¯o£D»z±$‘¨h£jŠ”(½TMѪ½ä)½‘‚ŸÉ4©³\mÛKžÒËSµ‡×:»Y ÒªêÜ€ž2Z{…§Þ­y{ÉSzyêÈÑ£‡ 9RQ}°°¤<€§b§½ä)½º‰¿t©†VçAUš¢<üOð”¼ÛÛœó+ùœJ‘3Ä9ŒT lÒ×S¡oQÑ ù42”qJ± ªRW1{J4Pµo„žSó0ò8%kÀ©Žq"è8%%§|sªz!p5ê4N®›<¬jã”êêáLºBñ”ÃÏzNÍÃøž²švœR=Ÿ’¥Ó«Ÿ³ävyNéÀ"?» P «÷ùTà38ß-*Ü'_Ëwœ ¼zà ûkE(žr¨ Ç¡çÔ<Œ<÷3ûù”¿Ïý,V«bæ&MŸÂI«K³&ßœ«áðž}Õi‹V§‰äyä;K:\ÈG4ß kõ¹Ÿ•i 0nJ~=g„°ã”Ù?÷S ;:ÊÕ=¢VaÕ{JxÓbI–|ª3áÐsF( ë)“yJÃPÌý¬Î!Fš·XÕæ¢u͉¨«§ö÷d«."Oùæ© Ñ=ŸRÖÖ5§æAžÒ6 rQAªfÄȵIä©ÀaÎlj„ä)ò”Ã0Ù Õ3ÈSä)‡a:³AªfÄÈ}¾ä©ÀaÎlj„¢z›£>áí‚HxJ÷Ç׺ ržÒë(§K¼oŒ Õ3LÝŠÐ=•Õ“¾ó é©F˜aêV§´ ƒtƒT#Ì0u+ÈSZ…AºAªf˜ºä)­Â ÝÀ Õ3LÝ ò”Van`j„¦nyJ«”T½—ÜðÑCþÖrÔýPS÷F)äbJÍWˆ`S“ÔáTÍÂ,º\C«¨e5‰Œ"T[¡˜Š£–üŒÕ adOYÍ9NYý<"IšJ'YÖº?)ôjHa5•Œ"­’š`•),>Áˆ5OÕcîgÆy7ð}D’#Øç~Zõù çSæûIç¤òs(«ñÆ_ŽS&ýÀÊ b7°ÏýäaU{&¶•<ÕpÃhž2u¨~ˆªx©xz’üDÕ AžÒ* Ò™ R0Cu"-ŸKsfŽÅä)­Â Ù Õ3LÝ ò”Van`j„¦nyJ«0H70H5 S·‚<¥U¤¤a†©[Q?Oí&Où„AºAªf˜ºõÔ„³„„uû. Bã”(<%Ð^ƒT#–[AžÒPI#´× ÕˆåV§4TÒí5H5b¹ä) •4B{ RXnyJC%ÐÞºVòq×Öݺ}•î57 ˜õ®¼X O…¯¤ÚKžÒõóÔžÎMÉS¾J¡½ä)ÝQOõ`o‘§*©h¯owí2÷ëŒ!eÍö]¬ë|q¹õ¹ݱl]9^ž?À2cÝ]w;®J5b‹l¼XÑÒuøZ^É.sç+Êôݼªõ—}Û"Šê‚·6Îк ­Š+w)” *5vŠK–¹ÝG°ñ!ê¸'ˆòT˜ê)±›„§°ëÅÒYê*ÑÙ‚z ¾è‚îì–òåÀÕ6-õ ÉÚÒ[ S™Xî‚lç«nH^%õ«+ê /‹MKkEÈSÂ>]ººšcu»,€ÔòêI²„¢sàž`%OEÅSØ¡–¹ãEмû©vZÕetùb5DO[3·»<•QøHJGNÕ )ªbýå‰A[ ¡@eÙ¸Jq( PÕzëxˆòT˜ì),/Líîoâ8%&6òð–„2µú2¬2OùnHuØ Zyÿî0Ë ÐŠP€F(D+ä ø«j½uܬä©{ }© ú’w¯“ ?xÊçN¾ó(Õþ´òÉoÝ‚ŽSr#ÈsªÖ?ôqÊ·u[rAü 4õ§üé¸'ˆòT˜à)ì#i¢¥z–!Á;Nþœô‘”ïÇqÒgh!V#ðÜ/Àç~^ÖuíÎºŽ—>f‘×_ú\QÕ_ªŸûIUœë©¶"(¤3Dé¥T¬?©|ZTçÀ=A,§Â„¿ÎŒž#íÜ(|T×Ï(4„†­««§äƒ‘@àñ%¢;¢~ž¢ë(T•ôõ”ôáyv¥¿jH5Qý,]Cèè)_ùº,BUU­¼X O…¯¤ª§@éâ)«ÿï|#„0[Z'O‰ØwØ 0“§Lƒ\NcjÄr+ÈS*i„ö¤±Ü ò”†J¡½©F,·‚<¥¡’Fh¯AªË­ Oi¨¤ÚkjÄr+"í©Ø Ñ tƒT#Ì0u+"úo4Ÿ¨F !zjÝ=E ü=ݱ¿£¸Øa·;JJØ“,iÿ6›9~ÿ}ß¾} épÅú޳-nÜѮ˖Vƒ-Æ:nºe‹£¼Ü±gÏúW_uìÚåÈÌD!>ø`êFž"˜ .täæ ¬ã Gv6wÓsŒ=ËØ3,9çqöV€BæÍÛÚ¼ý'9Úßã¸dŒ£Å%ÿ¶í°;rrYYë_{ͱ{·°yŠ àž*(XÿÖ[޼ð({4§€o78çRëµ8ÚÜYûèÃ?¡nÏÖ¿þºcï^a«)S¦Ô©nä)‚±hÑ¢õ«W»°j`ÏÍe‹lÅ^b°›Ç,Ì—se‡÷o{ÒÑæ¶ýWÝç8÷Ò-[¬¿õÞ{øÖ¯\ [a´Â$§Tuª[ýîó%ôÅâÅ‹1ÙXÿÎ;Ž¢"Gu5GU[ÈG+öÃ[YYY Ù¶m[˶›oîxéùߺÜôÙ5ÓWw´:ĨÇç“`ˆs«iÓ¦Õ©n.O]Dž"˜ ÜSååëÿùOn.»ÝQX[±¥L XH l‡Õ«W³±ìŽÛ7;ޝ7n¿ñ†o·lªtTTðùä›oŠI cß>ò!°dÉ I••ëß{ÏQVæ²Uu5&ü´/‹‹§OŸ¤š~Qleåן}Æ0Ò9½ÉÏÑPŽÍ†¡*p!¾ Ö¥K—òIPS³~Ín"a«¢"œ[ñ,0Êìߟ––éB|Až"˜°Ãú>âX»vý‡Â­0 ĹÿÈâ­·øç ééA=~!¾ ÖeË–Iw3Á| ‡Q§W%%ëW¯æŸ±;gn3f̈t!¾ ÖåË—{ìðÑG|þ†s+;Ìœ93Ò…ø‚ž¢{ &쀳¡E‹ù»˜Vº6Ò…øBÜ“¸ª-yŠ@Ðä)A[§mAž"´yŠ@Ðä)A[§mAž"´…§è: !,ðë(z²Utm ÈS‚¶ OÚ‚M „ ò”ÂS:Oaò O‘§(´ òyŠBÛ O‘§(´ òTèžb+s†…1‡Ã½™H·9Ò““›ÞihQWOí í>ßù½zí.Îð¼ü…§Ìÿ%CJgSÖ¡s~³‰eŒõ}u~/&Ï£X]$JË¢Äø)½ä…Kä òMˆ”î¬×î_Õoœ²XV ‹üΉl§"¡zê"-=…—ãÑ¥‹×­†¹ØÔÝŸLUµOOÉ­×}a†ÜŒ O­†û¼7! ê)ϨdI}VbîHO†§lè–Œ%ËS$a±„õê1œÉ·ëÊSléÉŠÌŠJ¦Ûl’M$ËH«K ëÊ+/F^¹Ë¤e)[(y|u¿…æ„RšÔ.4Fµ¾Í´:lÎ"ÕU rIå/¥ü¡ä 1ôò”b¡ž’L¸pÕ/”¹Ÿ´× /ö-öv0ºb?Šn¯Vô fQô± Á»s+X]Ú¢ÃYsVEÊ)ï„¢’ªM*Dä‘{JÊ ßù[]j#VÇèìë‚:ˆ:Ko A—&jaÉ ÇÉè[O¤ØÒ-b‹x%‰¦ª–“Q~½ò„º{Jš•ñYæf¿¬ qîçoÒèë)Å&0>†â)IR!µÅêéÒ~ eî$ŽÌÒ\ÑêìWòc`€³3æœeªîtÅ~÷­’¿UOYþM·¦^ÝÂ]m Ç·íþ¶è¯4á)iAµþ%´UÕSQ«÷ñ*ô<¡D„<¥êßn¹ßxLÌœ\nß©š”8þ“2qN$½‹”ÕS˜4ÃËî0Žs91÷Sl"Äó)Å|Fµ»J[ÃáêúɆ´O}'iRžP*OùÓ!LOùk ¿ñ4€Â¾'VË„’'”ˆþ8õ Npz-*É?£F9Ù”EòEJk sá4J¼”V<½¦òb?™*6!r*6±;´ó))Ä'VÙ¼EÚ¤8wb€óýzŒS6ç”I¤Ëw«ÍÏÄFª¤Ø–t&¦¬Šj«sÂòèáV—fk¾yüé` aî§(Má)ßJ.–¯…1]ä)H 6N©&†’'”ˆŽ§S8Õ“&ƒÀ3÷sŸ¥â()M?gâRŠ”GÖzOÉW·ˆÉŸ»ÇŠy‡QTRtlS:×V­¶X—Èœl‘2^]þ©‚¿<¾:XeÇŸQÈK³9m(^Š1É·bœRÔAÊ©*¸ª5lÞǨPò„úÎýtwPO…¶0>÷Ŀܛè>Ò¡^:’ׯJA¹õ8&G"4¯†°›$¤°U6%OˆQWOí½ñŒzçkd+iî©z‡Uv`3F)%Ì§ê]C+ÖM¶øž£É?G %O(MO™º{*raO™=ÈS±ã)ŠèyŠ<¯óûç^ÿ~óÎk›wþèœNŸuýº3¯û,áÚ M®^×øÊuqWl`—|q÷µ;J`+1r)Æ)ÉS0”ð”8 +ÜtÚâ?¶jØÐ½W„ÂS§Ê ®¼skó[~¹°ç/í’2Ú÷ÍèÐ7ãò>—õÝÖ®Ïom{o¿°wfË;2›ß¾óì™gܺó]2ã®ÿ]½ùâîbÀ ê)1HÁP˜ËŸÁ=%Œ£â)ÿ†Ò]4Á|çðÅÙ7ïn“¸ïÊûÿ2ôÀ )¶GdwJÉîtwöuwç\’Û~XþŃóÏPÐ<¹à¬Ä‚¦=óÝ’Íþò»ì¬+^ O-iÁ¶_,›ûÝËm%yê?©ñóZ5›×úL ¥šÁM»f'Ìk• %¾ÞªÙéûJ§±yW%|‚å)ñ¨ù'ØxwËU® ón—²•NñZ oa•ÓÃ|K^òÍÝË3ìÁº­öÜÚL÷ÝÔ` ûÉN”ϪÄGðÅyÝ÷·ïŸÝixέcòzŒËïqo~·qù·Ž+¸y\Aç{ ;Ž)j?Â~ñðâóÿ¹_q³${|üF7ìŒëð‰ð”t>õC'î©—ñÏ(ŠúóÏú„§ÄPuêÙx‡#[~Rvú›l [3ŽMRb¥Ãñúà•'îMp§ïq8>iõȱ ñGÞp=Hü¤ÝqlB²ëÃ@'¿Yícg¶ã˜Ãž.½Ä[Xeó3›|K(}Õõò42<ž¾ùÊ„Èï°~ú#ó¦fòò á@÷£ð©æIÙ§â3@ô«Ö·¸nHN×±ywŒÏÿü»CHIœXØkba …·Œ/êœj¿zlñå£J¾j㑳“‹Ï¸½ þ¦]®ø”[Àù¡Ÿ½÷Ô=ž‚ËJ‡pO¹†*È;ÛÊ~ýÍìÒ> ³ÄÇ}§¦ñž ”$?‚—§ÿ• O½6xåñ1 ’;ާÆcùûÇæýŽ¥Æ+>Ïtls{*5þxªÇS'RyÉb-E 'çòš|óãØÝ X>i·KM>Á‡l§§º4ÓÿCZ‚)0ÖƒC£]§×¦pOµím»id. uç¤i¼è=¹°×¤¢nŠºŒ·_;®DJÇPuVRa³n»š\³Nx ö§0ß“æ~ðT>F®þ”°•ÛS6xÊÞ»™ôqú©Õèù$–€ÄÓ_qO½:xå‘»]žZë4‹pǦý¥Æ‹Ï=$O!Þ:ìö”b-E §¿L.s8æ ^)Ÿ…æti&<µ½K3Å&"ŽÑŒ`vÀM@u º4&~=Æå%O*4­pðôBÉ>wL.ê>±è¦ñv)Ó¿–ìÍûæŸsÛî3¯åž‚›„¡²®c_^íòTVî©‚×W½b¨:ñL¼ðTQR‚ÂSóÛ”×»¦ˆ§7ºžÊ¹Ýum’ðÔ—ð‹+¸§†x]>q|®kœãÂ+­šÕŽM8î<ÉzýìZ5«NM8õ%÷Ô+ƒWÖqyêƒVÔŽp9âëöý*FÄWŒdr8~µˆlx«zS]KQÂÉ ÉµÎqê@·„Ú®)_mï±€ŠU JØ:ˆU Rn‹@P@²€“ø¢óðÜþ ŸYt÷¬¢”™v8kà´BÅ‘¼CJQ»¡Em¶XØf@^›>;ϽŸOå:/íÛÝ…ŸFÁS/5÷òTIŠÇVÇæz>£8åpÔ>›^;©ÉáIüL‡÷ðÃheoö+szªrX‚#»cM«GЏ#6ÁóZõCžŸ;5+u^ì$àøþad›×ê¼UÑÛ³VµÛGÿjßOQBÁ8 I¶>µñOùòcß ›ªæÂÖÿ5nå§#æ ~D±¡È*Ì ÉJNOÝ<*oÈô¢³í£²˜U44­pà”¾²s«Ž# : +¸tpAÛ,h7(·Ý;[váŸûaš'.üÛv[Û{êë Øö›øÅ¹ƒù•~öQ¬x,·Õ÷8u ±YÅýñªïç¶’îO9~yËGŽÒQ =Ò»Õ[òæ8¶zfq%¯XÅË£XN±8§µÜSß·ïç[¡9ž_hªXo+qMƒ­‡¶:Dfņ(âBQוÃè?ÝïÉe±ß3Ç~Ï#öQ³1ý+4Õc(W É¿ì®üKä]:0¯ý]9íûež3÷”¸†&‚§0N=y¶ÇSYýœÛJá¶’{*+±YÙý%O•Þ×(»‡ã䮹_ñЬ5¯Sü»˜‰‰'×ñeû~)ñ(Pø(Ï9N$%ˆ”yq®•â§°–kÙO BX"»¿?¿X¾è3± õ1ûø'ìø;ÆbžV$Y©ëØåu>%°¯W3ªøžF'œžZ1x¥}p‚8Qzf#¶ZjŠ)ɾ-:ü oÂòç­(my«fàÄZrO.@¨'Ü#”×í-nOM~¦xʼ’‰O›ãù”/ñ¾ü÷äß4Òc«+å^=8·ãì«þÞæÖ„§Ä %÷ÔÏ7³íݸ§r†ñMvzêIåbVl̃”ÜS'0ùz<«ÀS˜û¤X‚6íÄzþuX±`N:¼sعV…s.G>ÒCb¾žÂÙSÚs¥3_,…­¤?prAß ù·ß›ßuLÞwçJé×ͽn¨­ãÀß/êÊ=C?väžz÷rî©[ó *¶ßÆï=ä·wyªxGÉ}qÂMX Å3Œå™ÄWú÷ Á†¨Ü?+<5tFÑ_—=±´lÖ‹¥›ÁàààgUÓ‹`«>ò{9muË(>Z}ôïƒRr¯fë8HÅSbœ"Obþ=5ÒbaeÅ‚U•O//Ÿå­&^œ2«hà”Âä î¸/3½ž÷rt›Üpw.pý°Ü+f_Ü;ëÆaÛ¶ï®´=÷ ÀD’§°ìë)›O•Ob$y¦‚>ó@Á8òc#·ÕÐxØêD™òKÞ CýÒ-^ŒS0Ñ—Wóó©·Zðå¬~lk& ¥ê)ÉG5z ðWE*(ÛÀQL0-¤ •|f%ü%M×Ã÷ú1Ý2ìêËñ{"ÇöÛøI“œ%†'xʺ})xJXIn(á¦êi¥5ö¼+R™ôø2ÁÈ(»ŸCþ¶ïù‹bbì1ÌbX€Å`«[³üÕO OaÄ¥˜à ŸÑø´¥é©‡˜xî„X¤‰bÁ•è|r…ç!Sáô´¸ Ñ@ÑiE8>…?/BŒ‡Rãø½N£7Žq=õËòi˜¸q£$ÅuMµ˜½Àt°UVV´öEx ÀÉLZ;© |k8kÎñ· 8^hDZà Ç¢k{™ X]]å/…$<Ö\<[ìàH~1RÉ—ÿ„§„­ØŠ4’¡Ä¶^vÚgqWŽå=8^¹Í/D†Œm7;t×6Êû)¢KKýP@8ñ±æ'§5Á‰Õ˜ý³W$O àÄJ˜Kš( d;?ÕŸ±{¾½'»èÂ}›˜t„î7ÖEöQ ЍܳîÛ©J·H÷ƒðôþÎCúóÛ <çKþVþ$ *{Ád93õÔkÐ~Þ2qœ®ëÇ¥ *âk¤ì­Ë«›éÑ)¢qØûÀÆàÀx° ØLÏÏ›ÏÏÿžþ<lž¶[‚­ÀÖàùàà…`ð"°-x1x ؼ¼ ¼lv¯¯¯¯¯;‚ׂׯ;ÁÀÁ.àMàÍà-à­`W°Øìöoo{w€‰`Øìö“Á;Á~`p8Þ‡€CÁaàp0¼ŽG£Á1àXðpx/˜ ÞŽï'€ÁÀIàdðAp 8œNÓÀàLp8|´€ƒ€sÀGÁ¿‚ƒO€O‚OOƒsÁgÀ¿óÀùà³àÿÏσ/€/‚//ƒ À¿ƒ ÁEàbp ¸\.W€¯€¯‚¯¯ƒÿÓÁ•àà›à[à*p5ø6øøOð]ð=p ø>øø!¸üüüü\~®7€Ÿƒ_€_‚Á¯Àÿ¿¿¿­à&ð;p3øp ø=øø_ðGðàOàÏà/àVðW0Üþnw€™àNp¸Üî÷Yà~ðh³Á0ÌóÁ°,í`1X–‚e`9XV‚U`5XkÁCàaðx<O€'ÁSàiÐ2LuâÀF`cð`<Øl &€g€g‚ÍÀ?‚ggƒÏÿ ž 6Ï[€-ÁV`kð|ððB° xؼ¼l^ ^^¶;€W€W‚WWƒ×€ÁkÁëÀ¿€×ƒÀÎà à`ð&ðfððV°+Ø ìö{‚··ƒ½À;ÀD0 ì öû‚Éà`?°?8ïƒCÀ¡à0p8˜Þ ŽG‚£ÀÑàp,x8¼Lïǃ÷ƒÀ‰àà$OE§€SÁiàt0 œÎg³Á‡@ ø0ø8|ü+øø8øø$øø48|ü8œ> þøø<øø"øø2¸ü;¸\.—€KÁeàrpø ø*øø:ø0\ ¾¾ ¾®Wƒoƒï€ÿßß׀‚kÁÀÁOÀOÁuàgàzpø9øø%¸ü üøoðkðð[Ð n¿7ƒÿ·€ßƒ?€ÿÿþþ þn3Àmàoàvðwp˜ îw»Á=à^p˜î€60ÌsÁ<0, Á"ÐÞ8òóó™­ÐZyæ£yE\ÑZ"XL;¸ø(Ë©Œ3\y9çºØìÀßü+nùIklºƒÓ]6Ow—‹j9ÿ?§ê\ÖºbÑUM?ÁëZŠÿÿ÷ŸÍsЋãøû¿b¹é–Ísø‹KÎ¥îÚn•ƒõß7`Àúîâè·Û…ÁÙlXÏÆ‰¿q÷•°qÅlt[Ìƺ1²´¡£BCHÊ Ù›Lªm:ûTóÇüã²gW,ptzÙÑi™£ëbŽË9n{Å/D†Œm¯$ñÝS ñM«nj9 ý¥]Ðîì…ky€Ý! O$Ôü˜Óë'68— Û7±`“ʰ/§j<ã8ö{èTãÙ@,㯔(Db“Y§a‘“ \ú÷ßÊFÛ<ÀA~|±ØØ |_øwr­« !‚uþŽõËâúÛë‚lH{Á…k<'•ó<©.Œ-kè(ÖÐèõŸóøÑ_‚Bsž‚ b"$¦@˜# ¡âòwÕôÏWÕ_Ò\&{‘sFZä¥|JACÆð<-ÑúC®_õVêÏ:K{á¾O¢¼ÃËû¼¶ÕkðpëÏ϶ä\±P[ ñ}.ñ1MõpT9º÷OÓõÿN?°Û¶»Nr‘"ÒÊvô»ú ¨÷ÝÅ1H}qÁ×ìæŸY·í|:,‡§ýŸ¬µyò•½±Bìi$qÂá8‘þ8×ßò+²±„°Åäõ'œåHŸS`ÙŠ…Ãε*¬X,ªIÖ]èëÓvv{×)£ì\ÿ§¸þÙo¾~fëyšõÚç£åÊÁ+Ûúïy¤Õ»ñ)NUý)ùÊaä³>¿œ—ÖjùÿHk9õÏù¾_û/ƒ”ÐÀ ×H[ÿ26÷ˆÐ¿YbVãûËâï¯h|OüÅI§þ¯$ -ÆZñ é»ñ#œJ溔TlÎÙáói5/!É•ÿçZ^ú*¡¡AÒp.?€‹Îï¥ÿI|'ªÓíòÃ×ßÙÇŸQ¥éE²7·V³” Nñ]a}EzyÔÂß­vëÿ½J sICÛú &åßzÈ•Ù{CfÂ%?²[v³>ùÎÎ_Â?߆ø©ñsÉ~óîTú³µM&ÕÆO:ì¿öáüpÔïÍ2‡£Œ÷ÿa•éyâH²&~DÑ&¡d+ç!«ÓÏòÏþ^dão%ô®­%éÿ/e ã ¾íÓZÍköؼ³é…}LäÇÖÇý+aħ Vn(‚ˆœþnñÙ½5lîqùñ¿Y«WÆÖÆ?{;%û×›µú !µ:ùËS®ãÏZg?„’Ĩu+ù5ŽEНÜÃÄü­Õ~Öò*!yŽrµ+ÏKèv€‰·¾û4¡·kWlP´5~–_‹Dog=²¸þ)nýï­‰K=ÿÌ ¡BRQãÉÇ›L9į>Å»ßcóšõÎk|ßáä§ú¿šp÷a·’Æ9ìR¯Ã·ñcj˜7,R6¼¬õ³–W ÎU¼²w¶¹ôïœÁ|¶b&@ÿnÙNýK„ø\ÿ ÇØü“®ão»B¾S†CbòW’þGœÇ%(¹6>õ˜[½Mñ©‡â¼aÙ&e;ÄRûYË«„ä/O;ró¼fb]r\úwÙ糕ˆ‚Ö—ítê_†”ºÄÇVœúg ©û”6žz¢É´“@ü´SΣîžG’Kð2ù_Bÿׯw+ùq|ªs™«·J2o¸õÿØù–|­nÍ7+K˜Ëkâøî›„»ù²Í~2™¯{­&óÙŠ™ ôï_Ä>Nñq`i4ñXü³§¼~s–ÿHåé¦3N%Ì(Øä• ý_O¸÷Dz±Pò“xì»7Ž¸Þ„VŽÅÉ`ùÍ-8²Méïz˱é™Í¾%°WKÝ›;þøæ„+‘Ç­ÿM™qÞ›0œÇŸ\Ößùµ¾Sˆc ú||êšµòvý€Ò¦–Ó ³w%ÈÒ›µz=á¾ÓlZiÂUXþ$~ÊéFSN³aŸ¸Þ½j‹H‘«,Û¯µðŸ S)Áó›»W¬»‡ÏˆnÝÓÈ»|s]!é/u~¡“ÇÑá›Ìr}«+¾ó• Ò=_e¦y {£L…þbpý1æN; ý9fŸòÕ?ð.hÀˆœþ˜I.àÓÅ^˜ír„?ñuïQæ‚SÿlIñ·qj57B­4ùûBG'_ˆ…w0ØÄSZBÒ óë××XžaÏÅò+L&›¢JséºOê"‹“ZBèÏwA6ÿ21#.i[£ÞÒÅŸq³ø4ØMƒs]–ãYÀ»„:A®b×ß¹ ¤½  ‘CÊ/[±aC¨¤ÎÏhzãÞ–S*Rö—ï&D¤?éË ýIÿXéOúÇ2HÝõ?ƒô'ýc± ÿÓ+¿2,bDŸKXŒ¤¿¾Aú뤿¾AúëáêÿËü^½ægè­°áõ·Z¤çØX¬^)çg$tÚŠþ½¼žŸ3~P^ÒßÀ;B;ýméÉ.ùê*¿{5”œnÃ_×~¨ƒþªòšJÞlW@e’+Í“âΣÒß;!î .¼øžþ^ýÿ›En{ôZø Ëõªû¢_\9MqºÆ{ug"©ŸðÄŒ…Ý™rÅñS{‰ ®MˆœÊM¸RÜËAû¿K.¦KÑ1eʸSÔBì#d‡ŸußUtŽ?«§J:Ky$ÝäúK‰ŸŒgŠ‹”)«=’⥴Àsúl"Dý½]®°çÀXFï8ƒú:ÎMJÒ¦ÿ+tPÛSþ\þÖõW¸{‡zm"´ãO²ü°ƒEO7”éʱ¥>ýß“Uþ^DôWÍTy\xÇþò£¾ëhã½G‚÷éúÿmé÷ ò]ÎßÑRW?ÄÁÁûhºþî>Ú¹>›íø#uÓd‹Åµ/ä=W9þúê\ÿùÒRŠVúï^çL½Ç_ïÃH°ãÏ:÷pÜkÊø æRl"4ýƒHT/ià þýW§Ý1{þëÛ1£1®¿îAú뤿¾Aúë1¢¿a ú¤?éË ýIÿXéOúÇ2B×íš×LœÔ˜¨æ¡ë¯÷™bÂD5§ã¾ ýu×?ô'ýc¤?éË ýIÿXéOúÇ2èü‹ôeþ¤,ƒô'ýc¤?éË ýuןÎIÿ˜éOúÇ2HÒ?–Aú“þ±ŒÐŸ?@ ýHÒ?–Aú“þ± ÒŸôeðï_:“þ&Ð_÷[$B×_ï;fÐñG_þ¤,ƒô'ýc¡ë?kÆ‚æýû/½gjQ ( ÕIÿ]Û­1¡6Dú“þéOú“þ¤¿ôßhéÎX÷¹k¼SF¬"ý£¨?“ ®‘þ¡þ¬»,zë?bþÜ. þQ×Õö5ó»º5—ë¿r„çw”RÊ÷—ë'ÊVZ¿–-Ke’þuÔß)µLa§þ ÇKªòÑeþFïñ¹w<Ë]-_»ÖêBú×YnIaßãWÕý®sa»ï²{?v¥þ_ý˰€"ÅsòÙ;ªËâEú×CÿíÖU©lü\wм{{õÿ`ú£ÿ¬0FÙ2F–ÊP!n{ÅaôXÞÀáÛÞk¢„+¸ Ùx¶7ít†h {èðW ñÄj‚n¸¿Œ-&D£‹”YHˆ†ç¹RÀ!½4†åĤÆÎÕ_ó˜Òp6×\(Ï‘­¿æ±£¿Ks9²]Ç"B0¤ÀKüyº×*v`|ý‡Ä„òÔ¿aƒô7äú÷‡þ%„¨BrAÿ"gÿ×»>±†!¥^Ðý;—˜BJµBÿ15Âȃ±i/Œ>DÐÒ^H=FˆÆÊàÞ qŽ,õdƒ†Ø'å»£Ñ”ÓÆ›x*VàÞ)ºkkPìÝëƒïÝ+kÐÿÐãð‹6åÐ{Šéù'Úˆ¿£ŽºNFöú,TwôÉnÈèŸÍ?ðT$&fq ¾M|Í9@ @  O¯üŠ #¢ó”E І¶ôäät[8b;³XÃYß,ú¨FýkhµH+¢÷Ó¼ –ÇjaáèÓô¯oy^:Z-î~ì4”<Îe/ (÷’³æéW’+«,“×îã™-–dYæ «;‚äñÎêÎëÞDÒ¼ÊRm M­ªàð·O½Sƒçñß3ÄžqVÂ¥‰k¿ñæ{TRè/ÕUä ¸:Óï&ܽBYA×J²Z-ÍO+¥º÷Š×Z²íxz®?ý%Ë#ïq²ö1¯î¢ØWöž×Kg3¬ÁVûÈ7“‡¬†¶è¯4•l> TYK¸Ìÿø¨¢­ÏÑ`ñÚOjñÚõõÉ`lã©¿ŽáÎäÊã¥÷Aï¡çñþdoù•¥¹«ŒWê ô{üQ~åµs9žðm¿<G€ãE‚ô§     !tÿ4Æ¡û@ „˜ÂÚ5¯t„Þ籺@ @ @ @ è‚+V,]ºtÑ¢E ,xñÅU¿ÏµX,³fÍ ½Ýe"@:é{Û>Z𠣪ÊQ^î()q¬^½¾ À‘›ë°Ù3gÎ ½Ýe",_¾<|ý…èÞ(aÙ²e’tk×®¯©qTVªè?cƌРѽQ&ŽÛè±tûðÃõkÖ¬ï½õÿüçúwÞY¿jÕú·ÞZÿÆëÓÓ×§¥¥…^ˆî2 Ž9z>ÄGç/+㿨ÈýóòÙÙŽýûAõ—¢{£L„%K–à€@yô|!¾ÝƑǎD¼,.vLŸ>=p!PüŸ}öµî2/^Œ£½;BüÂB®?[ÊØbÆ0¤L›6-@!«W¯.ÛøÍæÛïÀ.ؾ‘ô¯›þÐ\Ç|v <G°…lñ‘q솷²²²²mÛ¶Ím[:¦ßúÛó/}vSÝe"ठóðvD·g/±G³yŒ=ÃØ“,p9ïw¸Òñämûokã¸ï*Ýe",\¸“LÌv0àâñÑó!þÿ• {<'ùѽ٣Aô?°ñ[ë¥ç8¸¶öÎ6º7ÊD€þ˜á `ª‰ÙŽ6ì9ÆžåÝâ³Ç{˜±™ôß:oÞí›;&utÜÓÞ1æÝe"üýïÇ长ù˜jb¶ƒ—ï…'ÙœýIl6ûýwǾ}û²þŠŽÙwÜØbK—vŽA­to”‰àïc·ŒŒ ÑíÙt†Á÷7ÞPÈ{'~rÞ™ßλõçŸ?¿öÝE ] û €G¤õÈM}!‡î$!1kÆ‚Ž<; šÁaäVìÚn QóÀyŒó¶Â¼5o­0oÍF+Ì[ó†Ñ óÖ¼a´ÂÍŽ—~H£«åëH×d£¥;±*Jú¯™ß•±Ô…ŠôU©*‰šT¯Î5ç›cãWº^~=· ‹ÄÖµkTûÿÊ>-âýMj²®úóîÑ}îyb ¾aFý}ÕVÙ#ÚTµ»ë ÒeþÆÐj®º-©zÎwçsGðð4Ái¯ !¥ëˆñpºX‘—à¾+¥ã›3¿|£ªEÉ6ªèõÒ_Ù£ðÒS¬²ª²ê)ëé¿În¸^úÙ¿¡êïUy­Äæ f冼b²þÆ3¨j.–9=E¹ôQkH}Æ_¯rdõ\U¿uöi¾î¡“U|o*5WÝS^ðìbW·Á*ž1Ú½!ïœ2¸k«Ú¯½/Ïéå ô— âUÿ€UU­³jóÝ…È,$ýC8þHïzô÷·þ²r<õwÌñß®Kç¼Âid¯ƒOàªú«³oó•ý_uƒ÷µýèµVýú¿öú»ŠRé'þ«¼Ï(ÁF–º0D €ÿí_ä\(p.à¥3¥ë“Ïþ²ˆ§÷)a·mŸ¼ [Ž®‹=–;¤¿þÐée%.{–£ùcŽ&ÓN¢XÖé‡W?³ ˆ·€+8Ú½à$Ê_^ð7/ 4¦3NläAÖmû?¾,ØC§â¦o4ñXãɵ'VÇ¥b÷Ö°ÑοcjðÒ•’ZáÂØ2þ))%.Ñ Ïc‰¿³Y/®-j|YãûJãî+itO1ÀF±‘…). ³À°ŽÁÙ@ÜÀ,ÖØÍúîâÀ ¼ùgÖúçVç»V÷YŽ–{] ¢”@Æ¿¸€;ÇÑâ-687~hö‹‹ ÊNÔõ3Ûž³Åws–Öé^ÚÕ_²keòçd•¾ôPñã©E³R § ,x 9ÿ¾;òïOÊ¿·'7¶{÷ îÏxeVï‹· »±r÷vË e^ú»ü]vö“([,[ðHåÛ‹ªÞ]Vñú³¥ .y.­ä™ÉÅO?PüÄxû_ïµÿuœýáQE³ï.L\0ùÎüÔÛ²S:oësÙý¯/(9îªgÇ=eöçe?=±êýWª×¾^±ò…²Å•¾4»äÙéÅÏL¶?5Å?~Ÿ}Î=v˨ÂC ¦ È¿?1gÔÍÛû]ùÁ -°./@™—ü(/Ón‰Ò*W-(_þt鋳JæM)~r‚ýÑqE*š1¼pú‚Éý &÷ãj¤Þ–7¶köÝ7npõÚ›Zó2oÚÎ!Ê„žî2‹f -[üײ¥O À#¿læ)³GMV0y`þ„>ù÷öÊÓ5oÔ-H?øïrS:Ù†]ÿû Žu½(@™Ø/¥Ï¥•¾85”v«³À¾ù÷ÞŽsï¾QJÏz­mèu¿T+SÖö‚‰} oòSísÆI«çß—˜O¼‘7y tEî૳‡tü}àÕÝÚ†—yËn^æUÛõD™öÇRíØËøkS”6\*êy xynÿKs¶Ï|ÕŽW}|ë…®2»ìö*s`_ñžîØ­|ç>r”,œ1¬`ê EÏrEþ]—å ¸$oà¥9wµÏì×þ“›Ï÷”)ªŠn2‡ð2GÝ\4}ˆ}ö;vô¬…iCyÏŸÔף툎Ã: ¾´``Û‚çj·óÎvŸtiÉËì‘źîqUõlþ¹¼QÃ;<Ø¿hæð¢YwÛg¦ N¨¨gQJ‡¢¡í µ)Ø&o@›}Ú|zù¼Ìn¹¬[6/󲼞¼Ì*¤çÜu ú^áÔA(­hư´!ž¢&ö §UÛ‡·³¾°h`ëü~­wÝÑò³Nâeö²³Ûsx±×eñ2[,a)ÕHÏîß>o\‚IÉ…ÓNì)pòE»ÛÇ{ö{ñàóíZæ÷m¾û¶sÖ]{¦«Lµõ”Y‹t[ï¶¹#oÊGÁ¤;¥Õ '÷.šÔ«hB7ûø.%ã®õÛïÏ…IgíêÖlÝ5Mx™}+ù¨$ŠåǺ%lÔQ¤¸½uÎëÐmPì¡ï>çNL,œØ«pB¢ñ·ØS;½ºdÔåH?²qUqòÙ·Ÿ±ë¦øO¯hä*@™·”ðž2ÇCúþîç¡ù9Ã;å¹5\ü{{äëV0îÖ‚q7ÞÓ¹hLGûˆöÅÃ/FÃQI{R³üñ;ohôI‡8^怃®ª¢L PfêI¤ï¾ùì}‰mö¸òÀпØRnÈqcvJ§ì»;åÜ}]nÊÕùÃÚ羸`ÀùÉÍ ÏÊïÙ4û–F¿ý…}ps•)ŠE™¢í©' ÊOm½óÊ_niþKÏ 3’ÚeômŸÑ·CFŸË·õ½ì·>í¶÷n›ÙûÂÌ;Zî¼½yf³wÞzFf—?üv}Üæ«Ù‡Ý/æe©õ*})õ䯪عíó¤+߽欵×ÿùÃNç¾ßù¼÷¯?wmçæunþq§sÖ]Ög×¹áÚ„uW7Yweã WÄ}|9[Ûýâ’,­V)sì±øqGXqÐQÇ((;‰ãïªñÒS”9òLjÃèT|‹â¯X0¤Š ¨äÅ»’€ HeöÉæHÌb·;ÑÞ{]/owC¤à/Ü àÐ!l.Ž!ð‘Tfb†6Þtîw­®O`ÉÕ¬Û^Öî}Öüe*“Ê4b™0ÝEoE¨L­~ÉQ^fˆG6*“ʤ2©L³–Ù–ÊÔ¾LÇ£¶7©Ì.3ôŸ½ ½Ì}T§2Í¢§–eöÄq~•Ie´ÌûY[*“ÊÔ²Ìú=¤7p™õ{ð©Ÿ2]sïH”Y¿„.³~½ \fýä¸LLª«]ÏÇC%Eó²‚<œ0p™ßÞpcå¦-üùWo¾ÉŸ¿tà€cß¾ Ü RÏé×X;^½VCIˆJîÙV™[.=÷wë–÷Þû ®\¹þõ×׿öÚúW_]?uêÔú”震üôð£ØM¢É(pï^ÇîÝŽ]»S¦L©w™ÿ¾¤…}‡-'‡75ff:|ðÁz—éÛbË-7¡ÏCC4Yøûïa•ùÕ—ýoíZù¡=bNž<¹ÞeÖiE*Ó™û#W¦¦ç¬'•©m™¡Ü7*®ž ½Ì ]¨.eº|ô2*“ʤ2©Ìe²ó3švÞÓrJEBÊþÀk9Ìy [ýüÂo×UÐÒή·ø¥È¯ ö¾/€ô¯§þ^7¾9oÙsÝ}³0ÈUñÞˤ¨úGÐ?¡ÓnÒŸô7HÒŸô'ýIÒß úëþ¨´‰:õÿ؉-›ÞΆœú‡zþ;Aú뤿¾Aú뤿¾Aúë G«…%§Û´¬r4¸úCOŸ°Xý§#léɲW¦/ýåM“áNLNO÷ô0WKɶ6Å㨱9Ì ÓŸWÛ¥:_tÖŸëìjˆ³UbYfuÙJ#êÇsü\•çòKêJû«e^YD4Ž?^kš@|‡BÏQÅUoqݺû(ýë¦>þË5^ý_JSïÿ¡ÍTã¿âðïsüwv.ŸãÈͦù¿jÈŽ?ò9Õsà 2ÿ Õí¤¿jÔaþêH«¤¿jÑ_vPò ꤿjíÿ²ÉNXó Ò_5ŒûùClé¯oPT‰ 9¨ÿ«†ûtêc ýõ Ò_ß ýõ Ò_ß ýõ Ò_ß ýõ-^ßYÒÝŸë{>éô½(Â;'Òl²eYi^%‘þªá­¿üZ¡¥¿‹"T®Š}¦ré¯[T¿ÿUÿªÅ­ª2§ÏZjHþª¡8þXÕ—½.Š˜Ó­¿Ï¤¿jÑ_í¢ˆô÷ù¦ŒôW úû½(" þjHþªìø£vQDpýU. ýUƒæÿúé¯oþúé¯oþú†õ×ýR êÿªaÀþú$H}ƒô×7H}ƒô×7‚èÞ=/ò ýU£áèoöûUCGýcíù>W5H‰Vw“\Þà÷ò )'=ÿA-¼õ—_aâ¹ÔÁçRÅ·bÒ7•ª—Oèuý‰9ŽG[T¯P½ÞëKaùãQT/ŠP~LÏP-ªß?ª>€#àå%Á/„ ç?¨Eý_õ¢ÕþhOÑüG5B8þ«^Þ züt!ÍÿU#¤ùCuYeþ('é¯þŽÿšÿýÒß'H}ƒô×7¢ùù'é錄¾a@ýu¿T A‚ú¿¾Aú뤿¾Aú뤿¾Aú뤿¾Aú뤿¾Aú뤿¾Aú뤿¾Aú뤿¾Aú뤿¾Aú뤿¾Aú뤿¾Aú뤿¾Aú뤿¾Aú뤿¾Aú뤿¾Aú뤿¾Aú뤿¾Aú뤿¾Aúëôü}ƒô×7H}ƒô×7H}#tý ‘éOúÇ2œç_»IÒ?6Aú“þ± ÒŸôeþÆÑíš×QÆüÖ]Û…ãY÷²³fLp8ŠÄ]-Ý¿Òõòë¹]±JöK]è^eÊ w/ówÝk­!•°*ëKÜky2cu÷¦¥µäEÉ—·"8ÖÌïʺwíâjNª*«'“E­ùî»»ŸC/éZÍù†\ÑÕòµ×®1ŸoÚ»L±_ä‰^Bñ–Šè>w!–y\‰|Y©°ß½£­þBm…2jU•môkwۻϵŒW©³ºÎþPçš«5_wÔ_½Aú›¬æ¤?Õ¼µÂ¼5o­0oÍF+Ì[s³´u#èˆÀßÎGí1ø ó¶Â¼5—‡y[aÞšËü­0oÍåaÞV˜·æò0o+Ì[syxµÂóÛ£²Ÿ¥”~ Ð`?UÙÐô—ÿ˜©÷ï&‹ÔÿØZÃSssþŒ©?½Hí'b ÖN¯š«þŒoðŸ]Ö?Tõ÷XÁ,ú»ÂL?c-BÙ WG’šà9Éì×áÿøo¬~8Ô[!ûµdiüMN·jÞÿM{üñÓ…ŒÕ¯‚ÿÍuÐß` †6ÿQs\-ò´Mþ¾¢¡Íÿå¿Ð.Z:Ь5<ýÍæ­¹<ÌÛ óÖ\æm…yk.ó¶Â¼5—‡y[aÞšËÃÈ­ÐýÐcA÷NtºADü­0oÍåaÞV˜·æò0o+Ì[sy˜·æ­¹<ÌÛ óÖ\žVÈ>}3æWŠhˆúË%÷\ù`ÌhèúïïØâõÍ…Ñ¿gôô—±$o#ryev¿ðÁ¢á›†ßÿ=I2'¸K²Ü®/Ë;+â0–ô—‡Kgé=_ù£óUql¼fGîKã\ûÁùÒG„èéoæ2þz®‚“_‘%}#ï¼&H¼ŠúE ]Å1_¶è=(Ë^¨ì£hÔÜÌÚù—|f#¿ :«æŠÆá·¡éo¶0oÍåaÞV˜·æò0o+Ì[sy˜·æ­¹<ÌÛ óÖ\Fn…îÄ8‚îètƒˆ†h…ïç'FˆPjnö@+ô–Ùo­yt$ŠhHúë]‘:é¯oþúFôôä·*ú+6àSµÐsF 4Ó_×û }ôߣÈïyW|óè¨{ÎHÕ\›‚ £¿è¿É‹×Ìjß*†ž3œ¼½ôWµžïõÎz¥{=ÐÅçöBÅ•òÖ¨¬®Øx[í¥¿ÕjsOö,‚s†‹‘é/Ëç©’Ú÷GN¥”÷Ó*Ÿqáãb/ý®^÷v?þË“ý1ôœõŒ@>Ú"ÿþÝwsªO‘×Ì»W«mÄç!0~W¯kCÔß¹ç}*zÎzE`GKú«  z<”WØŸþªWøæT.+Žb¡F(úËmç¡çŒ@Ô·ÿÔ_õJƒ ú{m´nͪ þzÎzF ïñýÿ¥ 2Tÿªú«\9湸 °þAwJÀ¢àzÎzEàéD½ç?² Ëgs²!ÖµŽûJƒ`Rk5ÿ‘U[Þ¼ÂçpZÎ}þ oþúé¯oþúFÓ߀´æÑ‘(¢adýu¿ Æ¡wߤ                                                           0J”ï&@ ¡Ácíš×:b×vk`Ìš1A,Þ,¹šõÈbmßbÍ_ŽÅ2{¢ÌUT¦)ÊÄ*AQ×2ƒ~Ð'=k‘ʤ2©L*“ʤ2ÍUfèÏnxm§2©L*“ʤ2©Ìº–©é¸¹Ÿ]ÄË ü« u¬gHeŠk¨k™”¤2`™=‚ûˆÊ¤2©LËÔò8É2µ7CÐS ¨Lçߢ2©ÌØ*³-•IeµÌžYT&•ià2÷k?¡2©Lƒ—©ù<„Êlþràœ¡#ÖËtŸR™±Y¦&|¹^ŸÛœŸ‘ÐiOË) )ûC÷>…V!×_«>C¨ƒ¿HÒ?†Aú“þ± Ò?:(.ÊÌ·ýš³ÿ§ì¬ÿÉAúG¿0gÛcË×´1u·x@úG¹~†ø)O®Þ”±_1ÿoÚ™ô†þèùÖ_³N{éàȣͩS'gœ ý£ôèœÇ19Hÿhêôè‘£GËAúGSÿÇk8(ô®þBö ¤tõ¯9t¨–@úGS¡ymm•:ÿЦþBóƒ+%þÑÕ¿8x°BéMý…æ55åHÿhê_Sñ+ª«Ë%þÑÕŸ÷ùêê2 ¤4õšWU•J ý£©¿Só9Hÿhê_VZXZZ”q¤twà—–Ÿ²þ÷§\ÛÎì;rdb ý£ƒ‚œŒž{«ß¬¥o¼aç¶ï%þÑAqáü}òµèû_]P^²·²Üv°ºèð¡ò#‡+®:z„ƒôפ?éË ýIÿX†ÐÿÜ¡b4½«Äü~B„àÔÿ¬¾{Ïn;óÎ=èµÛüf:_ôÈ =ÕÐc¿B/VmuÕ …Ù¢ÐWš³åÇüæqŽUî…±J !¯~QÈ}uÕ*…žS}C«TPAT«$Ãy¯ñ»ð:A¯ûþ(Dè> !¡¸O+díÜ9H[ÉÙÿSîŸóm¿e*Úåï~C£µ×뻳¡åÀ§&=ÿ–=; Ðßïý†ƒÞóß°"ÓfOyrõãËß÷íÿþî74Zœ6wœ²þº=¼¼d¯¯þª÷-¤ñ̈'Ž®­‹+Ëm ýýÝoh4(nÇ3Žª­©ª(áוUdûö¦v¿¡Ñ ¸ÏD8räÐÁêŠò’ÂúûÞoh4ÈïÅ3ª©®*-µçÐß÷~C±{YRÒ²Ý^‰5ác÷Š$é9ÿI+vðD׆œ6¦!}æF 6$Ç¡CÕÕU%¥öœ€ú‡ÑFgµ]1ósmª-—ÅÝŠ0±kE"KZºËõrà ç.8´ki’HÄK\±+Ü­ø¢¶¶ªª²¸¤(; þÊû ëÐ(–¶Ñýrã ÏrXd‘µ"<@ðÄå;e);—$%-Ù)ýU¼«¬¬¬°Ò¿¾mü}y’Jµw.OtûÁù®³Ëg¸’f|) "Ká (WÙéÝŠ°É ÌôJ\ŸÆ¦ÁÓ!þ²ÌðÊ÷ššŠŠò"{-€þõl#*&ÈðÅt–¶Þ™¥}áNá:l_–äN‘¤ ¥"WEXÈ\œ”´8Ó+öÒ!þ²iLù®f¨©)¯(/´¨¿ò~Ãú6Êîçgʳ‰eÅŠòü<œ²x—,¿¯^X—Æz-Û!KÙ±()iÑñ·¦|Dz^,m]Ø[QAuuYyYAQþþú×·>í’½Û¨ž"%* ñN‘ß‹W?ìXÚ‹%.Úáz‰š³Ä¥Ûªw,Jt%n[šèL {C TU•••æÒß÷~Ã:4ŠMÛà~¹!mÚO‹ÜM–¥¸ÛË›¶A*‡«!{Y^-_Å…²ðᬭ+Ò68]ÄNÉÐd[ªªJËJó ó²꯼߰~‚…‘²Á=!ML›šèÑß»½XK!{É«øÜ‹g.TV—–ääî  ¿ÚXbR`òYbÏÉÏÝãÔ?GUã7PÜ…g:”–sñ÷fïßÁûyE®ªþ¾÷ â.<Ó!ç@¦-kû¾][¿øæ›–Ÿ:X]¨Ðßßý†Fƒü^<!sÛ–ÌŒÿ¬ûò‹ä´ES^Z}¨¶T¡¿¿û Ý¿ èáÓ^~§¶¶äÈá å÷ïþî74Ä]xšãøñуlC5ÇŽÖ=R]Y~@¡¿¿û ÖÞP®Q! -ô¿0ÆøæA¿ïžD}ïˆŒÄ •uØwÕûû‚Üèçï®ÀЭ»,Ã]=ôÛ9ë{›¤Þ7Æ8´ºŽ×u(k‰ß<¥2µ/S«û,äeÖõ³#÷ÈˬS' p=¼¼Ì:^"í÷o^&†ž‹øAL«ë–åeju-®¼L­®/•—©Õ5“Þejs ¼L­®m“—©ÕõZò2µºIÞ絺®F^¦V׊ÈËÔêúï2µùN_^¦VßS{—©Íw¯^c‡Fß'ÊËÔê;2y™Z}ïã*ó¢úŒGþ¾Ë—©Õçóò2C¾ƒ‚ÊŒ\™Zžï_û­«ÌÐÏRpó6ÖñkÖöm^fNBŸŸ¾Í.üG„Î;.9‡1Öˆ©Æyàƒì!6ƒ]ËnÁ¿.ìV,ur¾:Ï7­ãÔ×õh­x=øºTƒ‚‚¢µ ~ˆŽsq€ëyœ>tÿìgZ®›òó…å¯Ó&^wÿCñwoQáùÚ£]ËÆµpþooô§fþ·?'Áϧf¥çâo Ö¹éâ'Zai÷™-œ¯ýñr–Ur®3Ï%åç²Ö‹ž¸ynDþ[dëü¸cÝ™­›Šuw}ûÌsðÞHp8ÖáÛ9¬]3>¢ó¼6YüD)ÈËLNMãlÒ½ï/~§‰gs\ùVĹÖ)ó´ƒOVìMZ°*èXåҒ׿M…§íi¨™»ž3ó;÷¯göŒ‹œmäÿÛAV%4ï4oñ騯yKÚûì›ë_kß,Ž]æÜ/‹×c¤KïW]Û\ô…Ðæÿðÿ«Ÿq]Z°¸Æç0·F·Ç=—}ýóOlÄ6Fõ>GÞ«ÜÛ܆íð2Ú`œì1|/[·—‹:ÎÇ>wjˆò>:kè^Gþú4ÖçyþŒåÆŠõÎùßåÒº7â5˜wWwY~4Ï¿îË>ýõâ›—ëõoiÚ0íŒÕ¼÷<åíhZøÉ ‘ÃGúÒ2ptý¸?Ô×êki{ Ò=I÷§í¿Ç?ú¡¯˃´ë´I8z¤±?1’þ?Ä÷ÿ^¾ãAÏ?€öŸmüs‡Ep|X·vñ¢ýþýôßÉÝ€ÓŒs iûÚômMMèç^¯›¦®‰¿ŽG‚£ÀÑàp,8Nú‹å$p28œ ¾ Nß§ƒ3À™à, ÷Ó9à\ð}ðp8\.ém—€á`„¦ÿmƒ¿]4ñtjúë€ËÁàJ®WƒQà0\ ®cÀXMÿÒ´À`¸ Ü n·‚ÛÀíàp'¸ Ü î÷‚ñà>p?Ð_‰‚‡ÀÃ`˜²Á$0ä€)àð(x è¿9¹àqð˜ ~ ôßæ'ÁOÁÏÀSàiðsð ðKð+0 L¿ÿ~~ ~~žÏ‚çÀ f‚Y`6˜æ‚çÁ ààEð'ðg^/ƒ¿€WÀ<0üü üüü¼ ^¯ƒà ð&(oBðo°,oƒÅà°ü¼ þ ÞKÁûÀ –À‡à#ð1øü| >Ÿƒ/À— |–ƒb°¬«Àj°”€µ`(ëÁ°l›Áàe@ÿûT€JPªA ¨u 4€m 4fÐZAh tí`Ø ºÁ.Ðvƒ=À(0`{½Á×À`°Ø ûýÁPðup8||| ‡€oƒCÁ0p8|ŽG£Á1àXp8œN'“Á)àTð]pø8œÎg³Á9à\ð}ðp8\.‹Á%`8.—‘À~2@&¸\®Yà*p5®£Áµà:0Œ׃À`¸ Ü n·‚ÛÀíàp'¸ Ü î÷‚ñà>p?x<ƒ `"È“Àd¦€GÀ£à1ð# O€©àÇà'àIðSð3ðxüüüü LÓÁ¯Áÿ߀߂ß߃gÀÀ³à90ä™`˜ 怹àyðø#xü ü䃗ÀËà/à0Ìÿÿ¯‚×Àëà_`x¼ À[ ü,‹ÀÛ`1x,ÿï‚ÿ‚÷ÀRð>pƒeàð!ø| >ÿŸ‚ÏÀçà ð%(_å ¬+Á*°¬%`-XJÁz°l›Àf°x@Ø ÊA¨U Ô€ZPêAØAh- ´vÐ:AØv€ ì=`7ØŒ?Öð‡“þÇÓ^`oð50ìöCÀ~`0|ßß߃Á!àÛàP0 ßG€#ÁQàhp 8Ž'€ÁIàdp 8|œ¾Ng€3ÁYàlp8|üœÎ€ ÁEàbp F€KÁe`$p‚ .W€+A¸ \ FkÀhp-¸ŒcÁõàp#n7ƒ[À­à6p;¸Ü îwƒ{À½`<¸Ü‚‡ÀÃ`˜²Á$0ä€)àð(x üä‚ÇÁ`*ø1ø xüü <ž?¿¿¿ÓÀtðkðà7à·àwà÷àðð,xÌy`&˜fƒ9`.x¼þ^ùà%ð2ø xÌóÁ_ÁßÀßÁ?À?Á«à5ð:øXÞo‚ð(ÿ Á"ð6X ÞKÀÀ»à¿à=°¼Ü`ø|>ƒOÀÿÀ§à3ð9ø| ŠÀW`9(+ÀJ° ¬k@ X ÖR°lÁ&°lP¶‚rP*A¨5 ÔzжFКA hm t€Nжƒ`'è»@Ø ö/Ð'MƒÀ^`oð50ìöCÀ~`0|ßß߃Á!àÛàP0 ßG€#ÁQàhp 8Ž'€ÁIàdp 8|œ¾Ng€3ÁYàlp8|üœÎ€ ÁEàbp F€KÁe`$p‚ .W€+A¸ \ FkÀhp-¸ŒcÁõàp#n7ƒ[À­à6p;¸Ü îwƒ{À½`<¸Ü‚‡ÀÃ`˜²Á$0ä€)àð(x üä‚ÇÁ`*ø1ø xüü <ž?¿¿¿ÓÀtðkðà7à·àwà÷àðð,xÌy`&˜fƒ9`.x¼þ^ùà%ð2ø xÌóÁ_ÁßÀßÁ?À?Á«à5ð:øXÞo‚ð(ÿ Á"ð6X ÞKÀÀ»à¿à=°¼Ü`ø|>ƒOÀÿÀ§à3ð9ø| ŠÀW`9(+ÀJ° ¬k@ X ÖR°lÁ&°lP¶‚rP*A¨5 ÔzжFКA hm t€Nжƒ`'è»@Ø ö/Ð/Ö{½Á×À`°Ø ûýÁPðup8||| ‡€oƒCÁ0p8|ŽG£Á1àXp8œN'“Á)àTð]pø8œÎg³Á9à\ð}ðp8\.‹Á%`8.—‘À~2@&¸\®Yà*p5®£Áµà:0Œ׃À`¸ Ü n·‚ÛÀíàp'¸ Ü î÷‚ñà>p?x<ƒ `"È“Àd¦€GÀ£à1ð# O€©àÇà'àIðSð3ðxüüüü LÓÁ¯Áÿ߀߂ß߃gÀÀ³à90ä™`˜ 怹àyðø#xü ü䃗ÀËà/à0Ìÿÿ¯‚×Àëà_`x¼ À[ ü,‹ÀÛ`1x,ÿï‚ÿ‚÷ÀRð>pƒeàð!ø| >ÿŸ‚ÏÀçà ð%(_å ¬+Á*°¬%`-XJÁz°l›Àf°x@Ø ÊA¨U Ô€ZPêAØAh- ´vÐ:AØv€ ì=`7ؼ@¿Q7ìö_ƒÁ>`_0ìöCÁ×Áà@ð ðMð-p8¾ ÃÀaàpðp8ŽÇ€cÁqàxp8œN§€SÁwÁià{àtp8œÎç€sÁ÷ÁÀyà|p¸\.—€á`¸\Fø!È™àrp¸d«ÀÕ`¸ŒׂëÀ0\n7‚qà&p3¸Ü n·ƒ;Àà.p7¸Ü ƃûÀýàð x< &€‰ L“A˜‚ÇÀ@.x<¦‚ƒŸ€'ÁOÁÏÀSàiðsð ðKð+0 L¿ÿ~~ ~~žÏ‚çÀ f‚Y`6˜æ‚çÁ ààEð'ðg^/ƒ¿€WÀ<0üü üüü¼ ^¯ƒà ð&(oBðo°,oƒÅà°ü¼ þ ÞKÁûÀ –À‡à#ð1øü| >Ÿƒ/À— |–ƒb°¬«Àj°”€µ`(ëÁ°l›Áàe`+( TjPjA¨ `hM ´€VÐÚAè]`;Øv‚n° ô€Ý`ðý&ý °Ø| û€}Á°Ø _€Á7À7Á·ÀAà`pø68 ‡ÃÁwÀàHp”~ïŽÇãÁ àDp8œNß§ïÓÁàLp8œÎß?çóÁàBp¸\†ƒàÒ}Ä=È=ý¸ïqÊÆ‚ëÁ àF0Ün·€[Ámàvp¸Üî÷€{Áxp¸<‡Á0dƒI`2ÈSÀ#àQðøÈƒ'ÀTðcðð$ø)øx < ~~á{–Â÷§ ñ,‡¾®O õ8dÎÏYxÝþulÛ/’½ûµrã§¾ÇÞƒ†O{ 5vÑ—¾¾×qg2BÏ‘ñc+æŸ ºÎت§ëÿëwuôýêÚ ãj‚#|t fàÑþp0EQE déwµÕ^9Z×¼£} 1Ò¼¾(VÕ8*fŠY5úÖo±+¹Oçú¨>(F/¡¾©/ŽQëúÚo±ë<$M5bØÀ”ûí‹å+ù¯ÆÂŸðù]ñáÚús†l¸òÏß\Õþ¥®¯9׿K5çÚ4" ti´yD»:÷­}j`rœ¾Õ!v­ëÓIÉWQŸ4°¡’¤I0pÅ®ßbú µâí½Óu×Sý®êúƒš&ºyÜúëöu®Ö,¢(Š¢’S°¼÷ÏÐ/g©~'Ì®´nEQE Ë£ßQEQ[ô;Š¢(*D¿£(Š¢ÒAô;Š¢(*D¿£(*”6Ô7z›kZÛ;»š»¶·tíhÙCuuwÇNò(mÐŽ­Ûwlilf{Óª½ô»XèÓ’Ò÷>ÿòÝO?0úxU Û›†í]S]‡Ÿ¯¿øÔ´›OÊ® ==úпýaR}GGS×v¶7­ÚK¿‹º0t|±¶tK]}}GçÀPycZjHd{S]aÚ[¼µê•ß<8ûÑ«½ù×OV¬Mu}¼¢ä£â’ÅïæådÍfbCG'Û›Ví¥ßE]økH±¨‰hÛ›ní-ÚR¿–¿øÔ½ÖS¾fKYÉ–­XH]¡þ«6y¾Z·qéÒÅhWuk;Û›Ví¥ßE]7>|ÅBaÆÿ„×íQ{¿ÜRž;\«nØVÕÐ`h[u* MØZ[·¡¼rÍæ2´«¼©•íM«öÒ´ÙÞ£0~×ÐÒR?PTÛÔ¼µ¶~}y%Úµµ©…íMT{g¬n™‘‘Qß²:ží¥ßE]i5²½Faün[k+„Qq¨®¹¹¢¾acyÚUbüg{ã áw -«ãÙ^ú]Ô­ñpYMç¬yoÍš7ZöÖ¼úŽZ¤,{ë-,ˆ­b¹pC§ÈSøþ["EîX8{mH‰ñ_m4¿¨v>*_ó•µR·½ÎÛ(2Î{K6Ç”gYM­Z4ëý Ø´©è­è¶WŒ‡mm£(×ì5ò›7·-ÊAJÞšÖ¼ŒŒm­k°\ØÚªi9ų3¢{P ‰• Û6UT‡ÿûÓ^µQ…9º•h9‹ÄjvNZ—·fl£l/4-Cv…ºš—¡©»$[{U©§/TëdsðS&f£Õ­‹âp~éwQWTÆÿbŒ‡óÜ åØXüþ<«ßwÔÊlȃ‘)³²Á-÷JÚñ?”ÀÑ„s¡d[¬Ý’ríuØFyÆ ßw ÿ²æ1Y§É£Ø^16µµA­­Q|C_cëšF¿µ­˜!FH$®@JÆl¤D÷ Ð¶––ª†m›ÃŽÿ·š¤¡Q‹ÄꤜEyk‰É&‹Ñ^¤ˆö®h]ƒÆ6.Ê{‰Þ«2›Ø%©Úk’©žbµ­³kŽÚ“µÊCLÏ/ý.êŠÅ|G¬ªÕ;Léÿ0»ñß¶½jM`JI¹ö:l#´ †øÖWÅ–½å6Íëü_*/|Áì2§´kN&J±œ³¤ émK‰îA1$Ö·´n­m3þ÷§½¢Ú"Þ~D‹JÕnI¶ö†©g¨j÷§9ýl/ý.êJÔû‘Snüg{“Jaü®£««Ã€0‘ihi-;þ'[{…A´w•Œöö§9ýl/ý.êJ«ñí0 ãwÛwìè(êܾ½©µ½º¾1ÌøÏö¦®Â·—~u¥ÕxÈö…ñ»îîîE;º»ÛÐÞ¦–0ã?Û›º ß^ú]Ô•Vã!Û;`dÛÞ/6oŸѳ{·®žž]BÝ»vµut¡]Ë÷_³½@aÚK¿‹ºÞûüËôe BhÚÅö¦[{ñ÷ÿ´›OڴܽgÅî={6.w£]êÙÞ´j/ý.êú´¤t@~ÿ5ÚÅö¦[{1¾:÷ÉùOÛ\¼Ì;P¢ÖS‚½6÷§%5uloZµ—~ aèÀ_Ëï~úù€ÑÇ«JØÞ4lïrO劭Õñ×rîpm`èéч¾òÛ‡VUÖBloZµ×ÆïÎÝ—~GQ„¿1$~±yëç›Êâ ×nŠäQÐÌkÐ.ëßÿlïÀn¯îw—jóŽ¢ßQEQYô;Š¢(*D¿£(Š¢ÒAô;Š¢(*D¿£(Š¢ÒAaü.Ñï¢`0 #jÆï^|uEQE …÷»„Ï=)Š¢(*Z¢ßQEQé úEQ•¢ßQEQé úEQ•¢ßQEQé ¿ã÷QEQNüþ;Š¢(*D¿£(Š¢ÒAô;Š¢(*D¿£(Š¢ÒAô;Š¢(*D¿£(Š¢ÒAô;Š¢(*D¿£(Š¢ÒAô;Š¢(*”ê~÷Ÿ—~NQE¥¡ÒÐïýñ ƒÁˆwÐï ƒ‘¿+='•¾~Ç`0iûÝ<úƒÁ`0R'èw ƒÁH‡H¬ßMw¹J늫E¹ŒMsá@ã5­´®0|Ät—&R†k®Ò¢<úƒÁ`0¼IïwóëŠ5-»´ )ÃgÏŸ¨…Ï£Õ«ßå{¼š–%\ÒëÎu˜¢†Ü ¼ž|¤x¼^-+ß“Ÿ%ó亽bw™hÍÃ`0ŒXG’ûÝô¢b5e¼†”Â0yœHúœHšZ®–¥¯8H‘]‡%M˵nµæôZ<Î6ƒÁ`0b‰õ;ëEÈÈüN–#/{:ñ;¯7++_LМ§À³ò³²Œ-æ­Z®Û:}Só‡ÊÃ`0ŒE’Ìï†Ï€¯i¹ĕÉñتÙ^Ï´æ<†Ç©wôœß¿sí0SS¼,L fiòú$< ó;1wsçj2³iº'¯ˆæjšœÓqŠÇ`0ñŒ$ñ»ù0/-[ÌÝ´‰y„©Ù>¯*Ïp¤çÄïÜÆIõæš“5äVyÿN†˜¾¹ßôXfˆœâ1 FÜ"IüNÌÔúz'.2©~— 3 ¾%×kŠ â_¦k•^ÿôMŸþùw·Å)ƒÁ`Ä-’äþõ½©åw¹nø¦úט¾¹‘Š<Æ3-¡òpŠÇ`0qˆ¤z¿yüýN^«$¤¨½g}?‚¼»'³;Y‚¼ygÍÏ3Î`0éIåwñßoÎ`0iô;ƒÁ`¤CDÅïø}@ ƒÁHòˆÌï6_ª½rýŽÁ`0)ô;ƒÁ`¤C¤§ßQEQi¨tó;Š¢(Šr"úEQ•¢ßQEQé úEQ•¢ßQEQé T÷»„? DQE%Dièw‰~ƒÁ`0âô;ƒÁ`¤CÐï ƒ‘‘Š~§M,T¿%–~Ç`0Œ^#J~—˜ï_°mþD~Ç`0Œ^#b¿ þ> Xùúuçóë¶ ×²K‹ò`sòËÁ§»àwÅÓ‹â2¥ ×\ÈL¿c0 †7éýNså•dËÙ¼l~]±p=Ý ‹tCDІ6ŸQöÅïò=Þü¬,¯×“ëöJ'õºsqB ƒ“Hr¿>£XSbé —p=1é~7½¨Xöªp~‡%O>RÜ^o––+– ƒ1"ÉýN8¼L^Ì”)ªßÉ‹™Nb ãwj¢†É§x ƒ1P"Éýn)lΕ'îÙ‰iŒO^½”×3Ç#Åð8é†N®gjYùêä1?K“–çæüŽÁ`0V$¹ß•—4—Îpi ñSNú¬O§ˆ”á˜ÜùoíõêwYùO>¦uAó;ჹšf˜ƒÁ`0H$¿ßÁ¹Æ»\Ã]Ù¶æÔë™Âò¬×3Ý^o.æw´<ƒÁ(‘ü~·ÔxJS>£]¿ó÷érs³äó™âžV˜•Ïë™ ƒ1`"ùý.ê²>¯Ë7ïÜXÖrÅ•Rw®–€óÁ`0ŒØýŽÁ`0éô;ƒÁ`¤CÐï ƒ‘A¿c0 F:Dd~·éRíúƒÁ`0R'ÒÓï(Š¢¨4TºùEQE9ýŽ¢(ŠJÑï(Š¢¨týŽ¢(ŠJÑï(Š¢¨tPªû]¢(Š¢¢4ô»D¿ „Á`0ñúƒÁ`0Ò!èw ƒÁH‡ ß1 #‚~×§ÐrÝâ Ð ƒ‘Z‘$~7Ýå*­+Ëã °ªaU›X(¾j|üD2L/*Ù¦m³.hšKdû"e¸æ*-Ê‹®ßÁîÄ7¡Gí0 #.™ßm+¿›_çʆgIwCâðÅjŠÉïæÃµìÒ‚ì ø–•/,2KÓ¼ž|¯1})¹¹YùYYùü)< Adf0 F E²ùnm3²ÅlN–ðµP~§:£I¿sçf‰…|×äkXÁ<ÎêwÈ {ÄzBNƒÁ`0"ޤò;«¯©W)ÃøÌ¦_üÔ´ÒºB'~'Ãíõæj¹ùw––%ænªª~‡  Û‹ÌÆN ƒÁH™H*¿Ó&–dK;“[Çl›?Q“—(±:¦f,Àç×ײ…Ç©Vèðþ]®S6Í«yýÓ7á›ÖùÛ°E8ŸZa0Œ”‹äñ»ñÅ05Õ³†Ï(Ö#Ü éã].Í•”¥Ùš+ â¶œ Šœ¥ïßwë„Ó™Â04ÍtS$Ê­ñãnÜ´q£?ÃÆ@ñòJªï8â}G ”#¶È7ª‡•ÕTš¢´'° ÊðwšÃ®õþ>Û¸!P™@w°‡ÙÃìaö0{Ø®‡ãæw›7mÞ„ØŒÿ7û~ø}!2ø“‰†6‰dCþTÿ’ñ_`w±¸y“¿ðÀÞ¾ ˆClò­ú³I&"°¯/GPÑ›}õógìµIÝMmm“¬’Rßò&¹¯_ê«Ý¸É_Ü&ö0{˜=Ìf‡éá¸ùÇ[|ÿm1–·lQ·È¶Ô-¸°àJ±‡Ãî»%¨F汇íÃf{BÇÍïÊ·Š(/ßê[,7VŒµò@ÒV_R Êý™·–ÛgZ-ß(²<°±\ݶ5h“šT°(¢’‘ðÐk[_{P“üî“òß]vÙÖ­ÿ³¶Õ¨V¹Z1öp`¿Ð=,¶”›§äe+­a³‡Õ2S½‡ãæwˆÊJ ÿ¥ÊÊËžùL>#úúÃÚ3ŸU>sÙe••Ÿ‰lÏ|V¡i—‰­Ï\¦UT~¦=üºX}ø¡Ë)È&?{æ2sþ ½„t½ØŠÏ*2õ+>ñÔÌ8èë•—ic özøõJqÄJ£Ê¢Ö¯£ÂÚC•z†Š‡^¯{åûŠzHCÊëòØÍ·¬Ž<=ô°^íg>ûL$Vê|MF²+ô’ÚŠ ²žë}øºÑŠ Ê‹±K…¾¹ÒȨ‰>1J¨®^¥ì:¥7*Òˆ½õæ<¬¡´×úW"{‰®CºQ _~_ž ‘_TÌ·¯º\é[FùâÌ-3Îï‡ÿuQi¼6ôu#£ØTáÏ!wôï'þùä^bÑŸÙŸTQ¡ìQXóeò¯WøéÏW¡–Ui} WVJMmðíãoŒï‡Ú.ßjÐ*‚Ž.k§”«t[EPÙÃìaöpÈŽ›ßUÇÈg¿˜ '.«&,xö‹ÏŽY]ýEµ‘ªiªLùŸý¢Znžώľ_ q‚†ÄÖü¶;ŠåÕ_X3cÓÈ‘P®^ÔmÂßkõ¸¨Õ‚ šõpXÖ&,ÀŽbõÙ/¾°Ög¤æ;œº»iuÂ,kÖÊ›ŽøÅ³ú&¬àP8ª“êÉn‰1]f0ŒD…s¿Û4B›é÷#`—ºººZ¨¶ÿÔÖa„¯-zN_­ÓSðÿŒ¢ºç\#kk‹°ö\Q팑#ë°ì¤ŒÔFÖÍ@þØêY‡•¢ÚçFºj늞+ªÓSj‹|…ÕŠúÿØQ/¶®¨Î(ËÏ=7Ò8’ ©oL˜1rbQ]Ñ„‘3&ÔL¨“Ûkk]È𦑡VÏ0á͂ڂ‰úq ˆZMÔôbü…뇞árœQP0Q3VQI—~t—hšž‚úO|õÑÔ†×ê ñµ»ˆÒÐi.mÂs3|½$z³¶Ö×oz|=Œœš6NˆÊ £êŒcMÔ\FŠ^acGß±dõΫ3ŠçEö¥±.Δµ‡­¾ ¾ %%[mÿŸ/w ¬Ú@uµuJ~£BµòÀJnY¾ÈS§Ô>PŠ¿fÁe×)‡ó•P[ëo±Ì®6£Î_ÀkX-K¾†ëä¾ÊáMUf³‡ÙÉêá¸ù]ƒõõ ú¿_5`ohX®¯øcÆr‘ørÍX^¯i.y‰/[Óê A&Îp!e¹ÜEÝ„˜¨®À8 z,ß!f,_n*™] ê—ÏÈžˆ£Àž§¡ ÛÕ 2à€ÙÙ3¾*À&ÔÐøé/ܨs¶æÂV¤ nF‹ôVdû+#.v‘u›ñÕrc—¯dcwÔ·^6UÐPïÒ²gÌ0µÖóÔë»#Òô#Ö(]**Ó¿S2×Ëž ¬7$¨¯÷¥øC¤VÛëùê‚öªPï?÷þõÄÄW¼züzZ½†õ˜qía=o»RFP½ØÃÊfö°é(ìá´ìá¸ù]—ˆÎ.%:åÿAÉÁÑøi“«38¹Ó\p¸2-ÿáŸeNsiAk¡ÑÕõ|i×ó™™]ë‚w•;/tZc­BÐádE:͹­+´‡Ų‡e-ØÃ¶[ÙæÜÖ•4èá¸ùÝl—?‚c»‘¸}»ØºÝX?ôðï²ÝRÀvKarGñ¿¯Øí–£§ÉräÛ•¤ív;˜Kܾݼ¸=ø¨þÄíõíRõãmß®¦Èýí*º}‡ÚtóQØÃjMÙÃìaKIìáôëá¸ùÝÎîîn†vêaüï_ëî–«FÎn_‚±lä ¬+YÔ%#ƒ?o·ØS-[,ˆãŠ ;}%ŠZt+Eûj¨r\Y ÿݾrvŠb»ý?}5òUi§RR·¬ÊÎ@¶î@ÔZûîT«![-ê¸ÓTGö0{˜=ÌfõpÜün×®ž]»|?|Ñ£«ÇŸÔH“«Êæ Ý ==¦Bƒ7+™¬{ôøsôØì¨®ekO9¯Mã‚ÛhXOбìÑ“zÔ|Íúu’¥íìaåhìaö°l>{8L%Ò©‡ãæw»è?ðNÏnñSüïÛÔ#síögíñ'ôÈõÀþ½}?{‚öVéÏ&3ùkÒã+UÝ¡Ç_NOrðžÝ»MG0Uv÷î ºUÎ×^e'SCôÿeQ=Á…ôôu„Ò I=æ:±‡ÙÃìaö0{8¸rqó»=þØm³d›d³Ù6¯]¾Ý¦dee÷n±f_üîðV7—¾–ʼâ‡ý‘¶۶ѻíó°‡Ùýlf‡(—=ììH¡HK®Ž›ßy ƒÁH\ôÃï†ôÉï ƒÁHlÄÁï(Š¢(*%D¿£(Š¢ÒAô;Š¢(*D¿£(Š¢ÒAô;Š¢(*D¿£(Š¢ÒAô;Š¢(*D¿£(Š¢ÒAô;Š¢(*ß%ú“c ƒÁQô»_]@QEQI¨èúEQE¥œèwEQT:~·ùRmÞQô;Š¢(j ‹~GQE¥ƒèwEQT:(¿Kô£¦ ƒÁ`„ úƒÁ`0Ò!èw ƒÁH‡ ß1 #‚~Ç`0ŒtúƒÁ`0Ò!èw ƒÁH‡ ß1 #‚~Ç`0ŒtúƒÁ`0Ò!¢èw¯-û˜HJôk“Á`0¢aünÓ¥Éõýæ)7§\…Õ°­ü‹‡è¯Š¢¨ä—u£ßÅ.R®ÂjØVþÍCµWŽÖ5ïhßBÄšVý*ü¨~¨%÷Ò¢þì¾' §þœ…^ö¸ýªUøÝûQçä|ÅÆðw¡?µJÔëªç÷¯ÆÂŸ ßÅ;R®ÂjØV^¼ ª®?H¼ê¯Û7Œð¢(ŠŠ§6ÐÞ?Cÿ’~çH¹ «a[y~'EQI.Xý.þ‘rVƒ~GQT*Š~—H¹ «A¿£(*O¿ÓrÝZpxݹ¶‰ýó=Þ\-Ëëu«)š–¥x=ù¦<¡–cj…³ò=¢á¹¨›ÿ¸ÎÕ@R––+¾|k‡ <8GYù½žúEQ©¨xúÆØ,XIðhl›Ø×ïwøƒ½ÀsÝ^1ì'‰ßÉúˆCçgáÐ牦b=†a©Ve»—ÈæÉDzî†2þö‰ê^a*¯ýŽ¢¨$—îwGÇïz¦:º†OìS„÷;uÕíŸ%‰ß©á¶›9O!=+Lù½vˆÇ⛽Vž~GQT’+Î~ç5ÜM½†&Ñy„÷;ÌVò³41òøGòáwòZ¥;×w‘"—C•oëw¶½ä¼òô;Š¢’\ñ÷;o fy‘ÍïäuTÓr<ýN=4™‹º×Z&ZK¶¶Ýº—Û¸Àkºž ¿ÃÙ”×3ÃüùA¿£(*•¿ìœM„Ot‘ݿӴ,9¼«C}duˆ¬Ânõ¬ GGœ'ZÃ<5 µ—ÇÿhŠl¬hxV¾›Ï«P5 •(¿s+>ÑIDü|fV~àqDym0‚ D\aüöl^ÎmCý³!TQÒ¥¿;ŸØÚûݹûÒï(ŠJféίç3mï9¿mä|ŽÏ5Éþ„ZaÛ'Lœ'ZÃügƒu/Û ¼n»…½V^†C¿ÛPßèil®imoììjîÚÞÒµ£e{ ÕÕÝ;É£´A;v¶nß±¥±9I·NH‰Þ`ÃÞð$Q<ýÎ|]QLµl{rÃÀ©åwhµõ 牶¡¾¡Àº—[ésÓûä\/Ì›DúãwkªëðóõŸšvóI¹Ãµ¡§Gú·?LªïèhêÚžV go°áž$Чßy•ëŠêeCÛÄ>…Õrdôç±ÏØ…jjµåT×y¢ qR 1­ _T¨÷›‡™HöÇV½ò›g?zõ¢7ÿúÉŠµ©®W”|T\²øÂ¼œ¬ùÏLlèèL“†G¥7~=ú”žÝô« FhQZ½ œŸñ$Qœý.F‘rÏ•rV£?Ï«m©À_ƒ_|ê^ë)_³¥¬dËV,¤®PÿU›<_­Û¸téb´«ºµ=M•Þ¨|ãwOiõ2p~Æ“D‰z^%#p2GÊUXþøÝ—[Ês‡kÕ Ûª m«Ne¡ [kë6”W®Ù\†v•7µ¦IãÒ @oˆ†‹æ¤ÕËÀùOÑï)Wa5úïw --õEµMÍ[kë×—W¢][›ZÒ§áýïÊ7ž^çh5m©*x&Ý^Ïx’ˆ~—H¹ «Ñ¿ÛÖÚ á·~¨®¹¹¢¾acyÚUÖÛ@7ÞÿÞ¨.x®êÍç^çh5\oNÁ³éö2pxÆ“Dô»„DÊUXþû]c[$~ëm•·¦5/#c[ëSJÞš52]æÉ^Ô*ž±ÉÎÉP÷2‚lyjÖ ]Ó2Ä.H)l]£i9Ûåˆ<Ùò,²–³HyÏÎSO1jU6lÛTQíd ³6<-µ¦˜š,‹ÍÖ2Dce~™Söƒköõ ¢»DеsúÔ5…3« g†ïÞP*Æ Ê˜-ªáBU×̶6Sö¡µùjŠ8õOw˜—hNd/ƒ$Ï ¢0G u Ñ´àóeûbˆXÏx’(>~‡’H²yµœãèùLñûÞÔÖ5¶¶†’øåml]cJ#˜H)~]ZNãšÙÆ€ß_¹—Zˆø­—îÖ¸(G=¶NÒr [É¢°ï$ û. SI¡m--U Û6;á­ zKCµÝÔdQȤœœ³3ÔCÈœØ*FQÙ⠨؊Ùz†Hɘ-êYoÔ.šS»pN¯=êR˜“¡6ÖzfC¥¯0¼Ò”Óáéó2¨]4ŠìeÐWéçNÓd…'å,Ê[³(ÔTÏWášÙ¶/†þ4ÜÉOÁïæÅÞï<ÇSaŽõ!Ҽ¦Ê÷×ïÚÛ!ñW®­òÖ´åef6¶­1¥è.àO•"÷RW]sÖäÍÉ1åW5éí6¼˜WÌÉ UPŸ¸UÛ7WÖ8è, zK­)¶mY&gÎ)l{;/3›l1ICÊÛ¶å¶¡»rô!·ííˆ{£~Éë–ü±×îU¨ þ\Q«ª'tWdBÃë—¼ˆæDö2èk{¿|æX_HÖ3(N<_Ö^ê§žñ$ý.Q–‘ð:ô§òýô»æŽHüÖÛjfIûÌÌ̦öSÊÌ’™*Eî%WÕœø©i™òBF€¦öÅÈœ1éÚÊ9™¡*Jø•¯nlÚRUëd ³6õFó'¯µüïÕÈ´¨³3CóY,/š2¥?'1²³`j8šEö2è«2ž_—£á,/«9S–Ì^·¤ŸMˆéOÑïl…Y^‡·,vS¼4÷»ö®.¨-´æ”v©Wùð«=§tÉœÌ̶®Òð{©yD!kžÏ´Ý^Î3ãW¾¾¥ukmƒ“ÎÚð(¶T–ÐÖµÄI#ko{£å³7Z?}#âc©­–g9²Fõ¿ùúÈÿé-Ÿ.ˆìer–tÉ—ÍÛhÑ:ƒ1:ãI¢„øÉM0™GŒø*¢É>¼M•­h.G™£X‰ôò—Ebýü2,{ž^&kbªRÇÓ 2ÄÁïl›ï<ÑÔ±^o2t#ø—Eb=vô.“«jÕþ •3~×ÑÕÕaüÊGWâW¾½«4ê%‡þPohi-w6ÂG«á iiÔ{£íËB(v•‰g/¡ázsŠ ãù2HTc#8ãI¢„û^9z#½¹¼L¿؇05u ‡GˆUõ@0Dá¡üšç/‹¬2}ª°mó'ªeжWÎ/­–™Eºêݪ¯¡¥òÊ­5gŒünûŽ]EÛ·7µ¶W×7:èRÃûßí_-j_þvÂë­†·/×›“n/‡g„¥áËÀÉOÅÙï0œv”Ãe¦ÚN"ä³%Û‡®C]‘“%zýVhµ9õù OÌÞˆ§VØz—Ðy¢Õ줡›zRíÛ0W>œ…þøÝrOåŠ­Õø•Ç_ƒ¹Ãµ¡§GúÊoZUY ¥UÃÙl¸Ã†'‰à\qø~“ét—{ctÿÎZBø t¡žÏŒµÔ ©í#"Îm[jíuNçÌ-ü­¶ÖÐy¢­O™îßÉÝE¢éNŸíœˆþøEQT¢”¿³}s·7ôm©>Ù‡ú¾r¯ÝÃ*ÉæwêS£ê%G‡‰¦æ˜Þo®^Â!lNæ”å„ÊI¿£(j`(!~SûH ¥\…M•§ßQ•rÚ—ï7§}¤z…M•§ßQ•r¢ß%Ê2^‡þTž~GQTʉ~—(ËHxúSyúEQ)'ú]¢,#áuèOåéwE¥œâãw!©$úEQ)'ÝïbÿýÖ£¶#p2GÊUXÈünÙŠnŠ¢¨XJgV®¤ß%U¤\…ÕˆÀïð:üxÕª„ÿuGQÔ€×Ç«WcÀ±ÝD¿KH¤\…Õè«ß-[¹òCšEQñÒ'«W/³›åÑï)Wa5úìw!þÖ¢(ŠŠ‘l¯jnïGHȜ̑rV£¯~êÚEQTŒd;ìÐï)Wa5èwE%¹îwZ®[ ¯;éù¯¦ei^O~F`•«ey½n,纽²@™n]ðhZ®'?K­Œ¬^,BµŒ¬|8\.ŽhÔ§O‰j8Ü+Ô‰ð`SV~¯m§ßQ•äJ¸ßÁJ²`1ÁŽ&ÆXá5ø?ÔH>lýNŒêÒÅÂøq|׃•,-WÔP]ŽzÈ Ã”e“Q¥ü,TÉãíþDxŒ?BBMñBø]È×ýŽ¢¨8+üNŒ´êuËù˜Ë¸1ÁAv6'®[Âݲò}“¯áw¶ú¢Ñò;y­Ò«9ßK¬šN„êõúEQ©¬$ñ;oðä­Ü;‹âõL%ÊÔ0Ž»sCÍïrÝnõˆÎÇü~†Zayi•îì01Tùò‚dø½Ô^/¯g†¹—J¿£(*É•<~çUn™y•Ç$"¾–hò;üVå¿D K s=S½Wå¾¶™ùö©ÂâˆZVÐã:έ!æ­Î÷’'Bx=f»‘>¯‰ß/Ø&§Ò¥Ù2}zѶé.Wi]1–µ‰…غt† ‰šæ™§»´éEÅ"Ì,æ×kZ¶È†½d™óQTpz˜ÕtSЍg¨Z!³lÔø‰.Ù Š¢â©¤ò;·1­Ã êQ¦Qß>3ù]¾Ç-çp“¤„^%Š‹ö©Â¨¢´fÎC…t±^÷rûO„Ú!+¯F„~7£¸´(¯Ô0£áZ¶X.Uü ã5, ·²õDÓlké =ÛR”éÊSËTÓçåÙ(ìRMG~ åç U+µ!Ãg Løï>E¥›l‡Íp®x}¾ŠíÕÂXÜ¿ËÊÏ—·ä¼Æ%Íüü\Ó`î|xE¨–!ŸŠTÃy¢m¸•ž´îe{"ÜŽ;?F×31c’ÆÊËTïŸG8ÑxLÇê Õ£ÈôéE…¶ÊYžõ@am›Ùº•¢¨ø(á~çöO%¼Ê"51*÷ï²03ÃäN¹§˸¨—œ~'®¸š28O”¡ÞªS/ÆZ÷rÛ¯øÃÀðÁPoX°V^F?ý.ÌüÎzQ¿T¨–íõÌ0N'ÒC¿ u Y”“Z•Òï(*qJ¸ßyC¼›;ºï7G1&Óû|~Ãz=3þ¡Z†Ú'rÚåŸ)Êôl‰T<§HÎå0'çw•(Ñï’'R®ÂjDÑïÔyÓü‰šLó@HìD¿£¨#ú]òDÊUXú~ó¨ÛýŽ¢%ú]òDÊUXêwE %Ðï0BRIô;Š¢’Yœß%O¤\…Õ ßQ•äŠß•Òïú)Wa5èwE%¹èwÉ)Wa5èwE%¹èwÉ)Wa5úêwËèwEÅWî•+­‰ô»„DÊUX>ûÝÊ•®Z•ð×?EQi¢OV¯^F¿KšH¹ «ÑW¿+5®-|LË£(*öúxõêP÷Pâìwâ›æÖïAèÏ8ËX~`²Z¾íçQÛ~`rÜBµ Û>qž¨†GùÀgÙ(Ù'Ö˜6õy¯å[+/£×gt—­Xá¦(ŠŠ¥ôqÆnf¿S¿¤#­üJVÛ±·O!F`wðW ‰áÝüÝ7¢nå»ÞÜ‘~é^B5hkŸ8O4+¿êζ¥Øjúb µÏ”oª¼½úEQTb•¨ë™bÆèlL&‚"‚Ù–ÕÑÛö{ÜþÁ?â/RVØZ†ÛÎy'ª-õ(ßoÊàöº{ísÛòÃWž~GQT’+±~‡U3¾ŽÔ¥ë™2di¶ßå-/ñõÇdûÑò;y7Û–ÚîÕkŸÛ4|åéwE%¹åwê·ü¬\ñÚ±ð»^çw;kˆuÈ «ß$ŽêÁµD&ªe —×3åÍJy§Rÿòr£¥îÞú\½¶¦òjÐï(ŠJrÅßïÄð«>:‚IŠ1S‰‰ß¹{»~lQÈ ‹šýxœÆy¢ÂijòÝêŒÕ|OS¦‡êsëÙ Sy5èwE%¹5¿“Ï“x r³òó=îXø··ç3Ãí1 Yaºs®à 8OTÃöÛé­··>WÏN˜Ê«A¿£(*É•ðûwbU¿þfÌ^báwIj…åC•j8O”áîí!·ã>·-ʶò2èwE%¹âéwê(ëUD æ_WLi¿31÷¿óD5Їb^&»Úm\Ï.™eLçLùÕ÷ „9;¡*/ƒ~GQT’+:ßtî¾çwòÁHëUÄÝ¿‹ ´8„Zaõïò*¢óD5<ÊûÍåLPîÕëûÍÜP•—A¿£(*É¡ßÐ^‰Èïb)÷ñ\)Wa5èwE¥¢èw ‰”«°¶•ïõš6?OŒ¢¨X+&Ÿ'F¿ë_¤\…ÕˆÀïÜü¼hŠ¢â¢è^4ý®‘rV£¯~Çï¢(*žŠò÷Ñïú)Wa5úìwü¾WŠ¢â«h~ßký#$5d}µ„y „º¶@Q#Ù;Ò¹bêwžãˆ©0Çúi^aSåéwE%³èwÉ£”«°©òô;Š¢’Yô»äQÊUØTyúEQÉ,ús5;Àë-ëðz=ÇOM‰ ÇS¶~æyúEQqý®¯êž?ªþ#o U8>¢ßQ•ä¢ßõU˜åuxËb1Å£ßQEÅN±ó»^?K*¼T€·üeqPÏÓËúcV‡’)êQêç—aÇRó[÷íxú€ˆ«äÜï0‹µR/Ÿ:OTeÍàýhªé´Šæˆ ¶XíFʸ—–O¿£(*%”´~‡1¹r~™ð—Èn™9ñ;µpQŒóáýÙšç/k.Gâ¨ùZ+T@Ëy¢Z¦m,t£Q~Gó(`ˆ>‡Ç‰½z-Ÿ~GQTª(±~W1Ö»Ì:×P]FŒÃ̧œø:ò£2ÝÞeáýy:¼Ë*ŸÚ*ûEýN•¬Ud‰¡2HG³öIdåóùLUÿyéçEÅSûÝæ8Îï0]’Óäx‹iEs¹WL%bêwå"ž¼ŽÆïäÃ*XS¡$ô;yÒô\i/dS¯[Òï¢ëwÖÞ`01ŠTñ;Œ¢ÍåËÄE6Õïp,y=S–£îwÖñ\ô©ËªóÆâ©µÂê¬3JëT4Lb¨ò­W†ÕYž˜k›®g:/Ÿ~G¿c0©âwÿ\É:¿ëžï{¬¢ÿϫȜ 1ž‹A^”/UäWá°z\ijN'Îë-ztÄy¢U¢¶Ðù¦©4Š’)˧ßÑïŒF ù†ÙŽr¸ÌÔ0O‰ôÓïÂÌïÄ\R„¸¨oÅ_¾ ž¨×Ê¿ìýh™z…0êoÄ“F‡Xï:O %ÕÚ¤¤ã«.¯';/ßÞïbÿ¼Êô¢mÓ]®Òºâ„{ýŽÁHTôÇïâÿ|¦>·*÷†¿#¿K©÷ïä㩪œ'ÚJöªííÑP÷ï–O¿sèwZ®[3"WÃï—;z¿ñ FúFjùWÕ»KúcÿƘlûðü€÷;X’uòè)jÂy%c€ý.åì#å*lª¼Í«%6~‡9—s¿S¯ˆÂÑ01´u:±*J‹¢ßeiYª»åº=Ò¹DJ¾Ç#=1Lˆ9 ô)·²&#Ô¬Mºj.\ÕÈ ÐÉ0Â`¤Dô×ß%À2^‡þTÞæÕÕûwÓ]š¸ŠZZW8Ü•'®gÊ‹Šê=q5R\ü4yv)ã'"³i5ÔõLY¦¸jêðz¦éZ¥ênÒïd†^/6bŠæäj$JײòU7̬Îkì¤÷1#èw)g)WaSåm^-ў߉阜ÙÁn0›ïri.ß3'°$ákÚÄ<ù¨‰0ÍáX5¼IL¥ª«rfgû¼ Ê”G‘pø¼Šx:ÅmÌËÄuÅ>ͼú:¿óFÛ£¸éwŒ ÷»ú}@¬p¨ÊÛ¼Zbs=3ù¸ž™ïñͰàGþ ›¦§SdŠÌ£†;ÒûwÂòx=“‘¿ÛÜG¿ÃI $Ù¼ZÎéï竘Þ`;™Š¢¢õn¾h½ßÜÓ¿ç3µ\·|.”Ï«0pôóóUæõýy•¾ú]¬{ÀvNæH¹ «#¿KQ%Ïç«ÀæÄÜÐÍ÷#0nÐïRÎ>R®ÂjÐï’ÓïŒtú]ÊÙGÊUX úýŽÁHTÐïRÎ>R®Âj„ð»4ý~súƒÏè×ó*—jóbÿ¼J¬{ åì#å*¬ýŽ~Ç`$*èw)g)Wa5èwô;#Q‘B~'ߣd}r,ß㕟 Ñ×#p¨BÔtõ]QòíÀr«üŒßÜÜ,™(«-wég¨–aÛ'ÎÕèë^¦îr늕k}_X˜ÊËHg¿£(*žJ ¿S?"ÉúNØøø[Òå²Ü*¬P8šþ†&£¶&¯Œ¸’¶¶íç‰j™ìejŽÇøpª^ ~GQT’+á~§†Û2•ˆßaü·~~…Ü*>Ù^~桵($ÊîOØZ†Ûnzå<Ñá^nO¾éó©ÔI«±=+‚ʧíó™E%¡¢øý)íwÖ¡^õ;õs ÕÏe’—@{µƒ>UX wßýN^«4}ŒFø½äçoX»ËÉ'rÐï(ŠJr%•ßY?þ=þó;ÿò­ß©9£2§ UaY¸Ûï°ÎC•/»×v/·þem¹âãMÝåä,Ðï(ŠJrÅÐïzû~µX1W²~^n´üNýÊ9³½§š‚ÕÚlïß9ü–çõ1ú#ðÂέaêÞP{ÉO6õ¹ÇÁ-<úEQI®Ø}ßkŸüNŽ·ržåv{lçÎ#²ç3ÕϱOÔó™ 6/牡Bvo¨½<ƧÓYsw©§&|åÕ ßQ•"â<Ñ6ÜJ÷†Ú ή~7¨º¯üâ¶^+/ƒ~GQTò(á~§^-4]clÄ— SÚïÄ׃š28O”ª{Ãì%¯ÙZæ\ôÕï–Ñï(ŠŠ¯Ü+WZã<¿“W ãvÿÎô¦íî‰õ»|Ë·‚ö)Q Ûî ³—í…\Ó­Ïð•—ÎïV®üpÕª„¿þ)ŠJ}²zõ²$ð»EÊ}~‡’H²¾Z6ü`?úEQɬøøçøb*ŒÀ±>DšWØTyúEQ)'ú]¢,#áuèOåéwE¥œèw‰²Œ„ס?•§ßQ•rŠŠß…ùnk!ÚGªWØTyúEQ)§Èýî(ú]UØTy;¿ëå;)Š¢« —h¯G¿K€e$¼ý©<ýŽ¢¨”Sœý®òø¼å/‹ò=O/‰ÝóG‰”$?µ?öÑ<Lm…< 6uxËDùj6‘AÝZJz—UÎ/‹ßÙ6ßy¢*Û ²±ÝH÷²Hìxú‘³¹9GõéDÐï(ŠJEÅÙï¼M>‚ñV ªrAŒÌÍåerøÌï¤mIç29š)±‰ã^Vwݯº@LýζùÎÕ2m3ˆ?0DŸ£]"z =`xÎHýGÞP»Óï(Š0Чߩž"Æa9ù’ö$Çá¨øÆ…yÉM2E-AuÃÈêY…{m¾óDÛ ¦y«u/kõZ¾­ßG+»ÄÐ(­8ChЊLC—ïR™¾<È,òË*êòŸ*ŠDE[±:Y6©}p®6ëÛñð;ÕhâæwÖ‘ßvú&.ú!½{þÔ˜^ÉŒ®ßÉ+bŽßEà§½ú]ÑýÕ%®ôjMhÓèABec´ŠÑZùŸ¶ÞXÂVŠJ~•]AEU£´ŠQö›6eh›FáÓ†Ký«#})ø¹þb]¥?ÏÓð£Sý…ºß=—ù¸g$¯gª·“d†Èná…ñ;i¬NæwOOøbÄT…ËtÀeŽŸê<1Tù²'Õ{‘òz¦G¹©W?¿LöÃòÃø]Ã(c¸Q«¾EWÃ-Ú¶;´¦{´¶»µÖöêx8 nhâ “v? í¼®{4*Šê¡¢­„ŸÓ¦;Œ^½CÛq«Öy›Ö~‹Öu³¶ý]Xè§uŒõÿ ~µŒÕš¯ÑŠ­í×èj¾Ò¬8û˜@‰òÕÉ~­ ¿³½©§ºa,OVX̤¼åAÏ“8O´ÊÚ“ò!éòjˆ"––ß«ß5Ý¢µÝîûÙzÏÞP×½>kÛ9q¡žI>íÊÞÛª=÷‚º…RÑþ ¨ä—ùo‰;tuÝ>¸íù­#OøèÙVÕš÷`Ûuƒu³»"®~g{«HUÄŠôéz¦§·ç3¥ÄÁï`Fݰã`sqžØkOª×­·2Õþq^~(¿+Wü®óžA°¹ì §ƒ»íž²¯®Ç|Úóè>RÞÇöö)Ç'ázE¥›lí¯ý…W¬m:5óí¾÷o½à sþuȹ¯tökŸ»ààsßøæ9opváþgþ{È‹ö9­pïS ²H;ñÍc†/(^Sß:ûA1Ý‹§ß9Ê"Š~çp¾Ö«ÇÈï<Ê3«ªœ'†ïI[k uSÏaù½úÌNø˜V˜œnO®E!,Š®>ŽQ”CYýnwcÕ©W}uð…EG\Zt\fñIWŸ|eñ‰WŸpåŠã®Xyô嫎¸¼äЖÓü~siCò½ÏQ¹çäýæIåwjåå\ç‰&C´ö¤íûÍe¢ZN¯å‡ñ»UÇ(×3ïÖ-OøÝG÷ ž6lè´Ãö‡þ4l螆Ë+¸}ˆšwÛ–3xÚw}‰_1dÚ°! W Y?QÃÂú‹†ª¿"QäD™"³ýéŠÁz±w1ýM»hpÒ'«7h¢hÏ 6åPTx%üV×Và¡ ãþ™C†o>iTÙ97n½èöŠwUޏ»ò’»*/º«ê‚»ªÎ½³úôÛkNº¹ö˜ëS÷­«ë†fÖQ¹×÷×:¹@Ðü÷ïþwNüü.ö‘J¹ ›*o}µ¬=A^¥f”þL¦ð;Lñz¦kÒ@÷x½Só_6t÷}C·½ùžîAÞª|‘Øù7öúÓ_Êv]‹lî·>ð–œ?Ô÷Äæýƒ*îG™ËDΆ%ži§1eÛ³$«Ùë}qÌK;o"÷‚¼+s×{½o{bçýƒ±ÚðÇÀkþÅgݨخÛlGQa”ðD˜äƒÄê“*;nÕŸÏÄïéa#·œ9vëÅwTüp|åÛt"%ãj×Õ#p|͹÷ÔžvG݉·Ö#}Þ’ífÕí7²jðùëö:å-áwµ.Ýï>;½ÿ~×ËgkÐ>R½Â¦Ê‡ò;üÕ0V÷;ay»î×zjÝÝgíÊÞÛ;_ëòz§y©sòPØÙÒ¼=÷Ùó»Á{êÊaÏ»Yºï<¹¬¦S›/–wÝä7 ó†Š×ÿ.ý²†û“­Þ£®êÆrmþÎ|·H”Ùö¼ã÷»›†¨:{WøýîžÁ=¿ÐxÁ_Êùw«8o¨épEÅUwÔy›ï- â޾Üsþ-å0»«ª’#ÏåW»ª¹äþšóÆ×žqW½LÇï€Ìê¡—¬Ûç{…XÅп+¿$’ë™›GhóަߥQ…M•·¾ZV£û]åZý8ý=wÂòô¿ýhîþõ`߬íÍ«·þ"¯%B;^½ºÍH¬t …1Á°þh–0 Uç ÏÀìÊ×_¨|rYçMCDŠ~áÔïw"›ð;ì®æ„ß-öDç=ƒ‘uX€<÷ –»oõû<Ü@ÓmE¥ŠàtPë8Ÿð‹Ò¨²wUd=Tuí¤ê1“«åàóÇk†?PsþøZ™rø˜ºC¯©=øÊÊo^Vºÿºß ³Ût¦öÎiô»XFÂëПÊÛúfýð»ªq¾·™Ë«šp½o×¼<Žlïý¥Ì»úqÓ¾°˜Öÿƒ×xÿ[à÷mû‹nˆ/Œy©k¬ÏïŠÏÚv»þ6‡Ýog [lË"R ®Û55ò4»· ä¼ÅºßýkØm·Ʋy°OŒ~—ËHxúSyë«å³cõíÑýnlÐǪÀò>¹w°¸‹×âõv<ôøîw³:ÅõÃˇv=0XXLë¨!»òËÒàw¯y©ãfßÖ† mºvÈW×j;gëy¦=¹ì½“†6Ý<¸éí…swøï߉ċ²Äî"ƒ”w¹îw¯{é=‹²:Œ:l¹dHÇÍ>¿ë¸|ˆépMו@QT¬%mj~ñϽ±|Ô„ª©¹éÑšqÔÂõFOª6 D'«9îúš#¯­>rtõ‘×TyÅÚƒ¾¯ß¿ƒÙ•ž§­=A÷»¾¾¡¯~‡’H ïwõã–ç]î›Íu­ôê&öÐ>ÝÆ…ÍÏß.›6lèú'õi]Ù–m»sohÚ÷õ§.½<±Åëm¸öñVÉ`^ïÞõÒ[7™6æ‰MçèS°¦ï´“®Òg‚<ñîÍ/µ¶øÉVï´aWÿiØPïÖ—Äî ÆšIy?y~7mØرs¬Íó¿·<Ó† Átuhxn™õp_ž3ÔTHJ ç…¢’_ªÍAR*FëuÁ­c'×ÜüXí­?ª½ùÑšësªGO¬¾R¹—wúÍU'ßPuü˜ª£GW3ºê¸kË»jí¡çéÏgŠÒ\ñ]mÁÉ1÷;-Æa;'s¤\…Õ°­ü{ßÑV¯Xkùý“3koÕêîк~†×•.Ó:êñ¦ûKmÿÕàÀ— ³óûœq—×[ûd>J0.Ú»;¿òzkô'XZ¿òâw¡ ‰5þ'9k’%²Éš`÷ú©ù¦ß ïW¹2Cý n¤tNÕ릦ØŽ¢¨8«j¬O5£üÍ=Jw¨áwVÜš[{çÔÚ;Ÿ¨½õ±š¦T_›0;§Œ­<áºÊc¯©8~tÅI×m=éê’Ã/Ðýf‡ ~‡ùÝSÒïâ)Wa5Âûݦ«×ê8ÝòvþI]M{rÙ–‘C¶Ý·wÑ}ƒß;uˆ°¼†{÷†„ÓIÁ"±$>n…8QÓ8ßÉÿ54L6X^…1¿«Êâ°dŠ¢ ±Ê—PŒÒ¿4¡Ìð»+¨ºçÉÚñ?«ÅÏÛskoÌ©‘ãÏÅwTÈåG—?ªü¤ÑåßSöÝkÖqÑ›^Ãï`vŸ«ÏïâãwQxô»øG¯~Wq£þ¢…muó»Oy¦ úÖ°¡Ÿl]öê°«î"Ì®îνT §ë«ÙU9ö»®ôWàÜߺ§¶ÿÜaC«®¡ëQT’É?³ úÒ%ÅïþeÝÄiõ<]w×ÔÀÓ˜÷Vޏ³òü[–wʵå§)?}lÙi£WyÑH“;ú]B"å*¬F(¿ûòmÕ%ºßm½AéÖܦ_Òìx*pÙp§×ÛpïãÂìL~‡ÌB}5»*¿ß5}åí5ç®…ú»üvy½USóÿ«M ¥b"[¿=±:ç7 ü¾–'GžÑW]yåÈ»+/¾½â7•Ëô3®/?ózÏé£Wu±Ïï>;]÷»œH¿‹w¤\…Õ°­ü¿Ó?¨gÕeú÷ºê_çz£ÏïêîÒUï !átX˜Ý]z¶þøEQDcm¾÷YúÝõSj~2sÛÏfo{ô÷ mGŠ~or ,ïŠû+]†å]x«>Ë{ã¿íçŒ+?ûÏéךýŽó»øGÊUXP~÷Á¹ú7›¯»RÛpƒæ¹M«„›ð;±§ÓÞå3DiyÂïhy±þ¡¢«­7PÑ”jvBøãYúÝ-¹µ¿{©éÙyÍ?ŸÛø¨1Ë»ÿ©º»~\{ëjnœR3vrõ¨‡«®~¸*ó¾ÊËøL÷ÊN»fÕaç/À¾_^€ù]V¾G,çjgêrÝ>ÛÊÏ \ûr&¿Ë÷ %K}”Åëö=˜‡rµ¬|‘èÆ‘²òÅ&T"WËýöήŠrýã\”âÖ¿›•Õí¶XšíiY¹K.!¨aЏ"¢¨K*jZ–¥ÞÊ2´4— ™Vfj.ᾄš˜¢ Š‚ì›¨ëüï¼çÌ™3gá€<Ïûù~qΜYÞyfæ}æA®Œr ò¼v/Ê”a6&¶4-Ø„PÁ“O „F©ÞíQn”íSZª¼\ä|w¢«3ò2å±¼¨û™ät)4׿š7eQ%š'ˆ[)Íɹ/E"©§™ sÿ|yÙº+ÈzÓäOüÒì•AÀ0R»¥­°}J³•WEÈwG<„=œTùyMÎtJøxžò²8tW“úwõ ͳíŠÞTE¾›2/þ÷—®ºA²Ëùa’ÝÐiÙþÓ²LÎî71Ëg\f÷ÑèâµôMy¼Û‰½·–äf ß¡²S¾«âï#˜ÞÏŒ2—MTÙÊ–b=߉RBáÝFe{®\»ghTxT¸œSjÐǬA1›2¢ÌÅÄö‘rQ½BKýAÛ§¬²ò8–Ló]²…|wq” #ç>ÃíM“{›A8ò…„ò §¼¬#“.”Nú,½ËðôCm§—ú¥‚û¤6ï™òHפ—ûœˆK¸”üÉHžï¶=Ížß}WÝ¿ÐAXQ¿dc¾3;Òz©2ß)—©¼WÉûw¼£”,&{z†ã£|gµÊ{z7Xì•ïä;œÊ~±i0™ÜŸUÛ§¬²ò8–’¼„o';³ùNÎq…oP徂“?˜°39Qç‘oò(ïö°Ü×Ï5çë‘eùêÿ`^eI™;2¦“ë±öìr~Y~óóêîOCÊÇj6–*ó]²ôØNµÌ(E¾à™ø¤ìß™Ñ^EYae¯“?I´}¤Ù…›í&›í»Ù>¥ÙÊ+KTÜitîïxšS&;žé®Œqæs±¾-í"s%ˆ ‡&8CùR·éóÕíeù‘®À¼ØtñYÊ[{¿€ÆÊ´«¥|dz›Ü‰ˆRRU¢¢’U!5úV‘ñmŸÒJåf‰; Nô`×`E£ Ç!m‰Ó1>~ñÙcŒyOŠóŸ1°°…åH‚ ´åÇ9ëÀ0oFd0Rù‘752¼ý™Þ¨b|Cpµ?û…¼¥2mÁnÎó»ÚÎwµÚM«qQ¦ !4Š¿ª,¶TÞA õ”ƒ`é­íSZ¯¼\øQÄS@Êc49Ùñcõ )µ-hÃXÔž±¸£Eø„±m¢fh¾Oo=L#Ì› ù§%м¨àYrz£ò1 â:²_ˆ!7S¦-˜Ýóò ”œ†¢¤®oÆå§i¶[þ?‚õ¡IQ¦ „Ât«m©*QÒ&Ë)>Êä.®|9aû”V*oX¯þ@âÄx <ñÉ7Ï9)Òÿ¬áÿOÁð¿óü¿ŒEÿØZó¿žsë¡ùŸ6»õé+aT‡«úÖÿy <éO'dèÿ†ï-ý1oö'É@šô‘}å-ävc¿÷IÕ@™¶`µÑ¿“ï(*›Sùb­þó:U”)CYg9¶4-ª¤¯œK Û§´Ty*T¨P¹J­ÞÏ´WQå»úRê]…•¥^Wž *TL å»Ú+õ®ÂÊR¯+O… *¦…ò]í•zWae©×•§B… Ób÷|W{¥ÞµÀõ®ÂÊR¯+O… *¦ÅŽùNŪRVÍ‹X[àzWae©×•§B… ÓbÇ|7büâVBõr/AD½¦:ù®Š¿$šüÿ,û‚¸¶WáàVU^ó:AØkù®½ð]uþþå»ú^aUå5¯A„¡|G¶TyÍë@aG(ßQ…-U^ó:AØ­ò°‚¿xé'Qq+l™¥Þ¥zWaUå5¯A„Ñ$ßùEœ–Ó\«™»CÛ`xw•sÕ»ôQï*¬ª¼æu ‚°#šßÏ ÝŽÜ×Ζ.^½Kõ®ÂªÊk^‚ ;RKù. 7!0jûlÕêäžøýÌЙíä)‘û¡¨š×4}˜æJôùòWÇÚÌæ‹ ›ÙÃX rz+ÃVê DÞF!`EX€úOQ˜­°%¬$ý*ëÙ õÔGï·HUyÍN‚ ;R{ý;³Y#WÏl‡¸Zc©•F†â-¶2EšM—Uæ;Þ°ËùT¾eŠ•òUT™ïª¬ƒ ¬%´·[À”6$hKT7ß¡nòå-µË)+¯ùÁIaGj/ß™¶áršS>³“GòÜaåA^•ùy-tf £L©r;_e¾«²¦ð´Žå~–• [¢ºùN9ÒúÖÕ`‹äÊk~pAØ‘ÚËwÊ;Šrá=>ä;¹ë'7×òN¹¨zLÖó†ÃÚYºgcÿ®Ê:˜Â{¬Ê [¢ºùN™Åxœ-Ý­­ÁÉ•×üà$‚°#µú¾Š²YVÞ‚Sæ;³ý;¹ W.ÍJ¾Ãô­0½qF“Qö€äNŸjØJ±=;ÞÏ”S³ê¿i˜­§¥þÝo‘²òšœAv¤Vóò‘²áU¶ÌòÃ5ÕĶt—”­:O –žpÉý;¤tÇøHl—<ÌëVeÌn]m¼¯"ßòåuæË—«déùrëä)mß"Uå5?8 ‚ ìHmÿ¹+ÇïûÉã­¿Ÿiú,,Êr¾[|‡n‹É]Jå­ö‰¿¼1~f‰Ý•&ÏŽ‚*§!ˆê¢îßÕZ¾ãçnÛNpî¨N·•9±‚Â?î óàSòÁXÂìc±òr„àMl®0Õ,–NLeøI={Ã|Õ2uSêkÅ+©¯Z;Ö¨ÚyiÊ&¦›V¿ |§-7žï¼0c¤¼|å1ÉÇȰÓÇ#„¢a±ÁºÜWe¾{èÝãr&JD£‘žƒý1½2#¯íòOŒ•¥|‡ù"æðåðÙU³hÞrõ£þÝ›X¦û+Z¦âÔïs†õD¾cw2õ”ÝT|(²Æùç] λœMH:ªÓ çÔž0öqò‘Ç|ä£@œbÒ)Ÿ*›ð¯T³ðjöÄð­~]ü•/M•’×"WOµv³›`6ßa-ªzjÞ„V +ùΣóÁÛîÙ0cÆN ?ýld“¦Ûúéÿ…¡¡¡&L7n\HHÈèÑ£k»’óæÍ›;w®é樓& Â;‚0VHJJúöÛo­,¤s×?n¿gÃÌ™¿=óÌs[rǺu‡«»9¦5ùñǃ‚‚00}ä ,ÄÏÏï矶=&7žïÚo µ2XwMhöJ/A:ÑVn™”—è1?pÃ&UBTa¶‡Ô–¶+ZÕe“³˜ÜøXÉwªÓY4o9‰úˆQÿîÐæòSÑJì8eñ{Ç·‚Ò˜-Wo©Y¾SfewI O"ȉ³m’'P¡ªyåYäÜdæ|×wåN–Ù³^¹dUn²”ËT}C+ÓØRϺ‰•|×´Ù¯ÏNï}ùÏÇZhÜK¼w°Øüåƒ__Z*F.Y"ž>-ž:%ÆÇ¿ýöÛµ]É/¿üRLNæD†‡‹çΉ99bv¶˜›+̺œ›*LP“³gÏZYH³'#U›óÊkÄ‹ÅÄDÛ7ÇlM¾Z°   à‡.·G}:ŒÅ³:1¹Á|ÇofîÉÙ„Ưù‘/ßš`·P¤Ãi| ’ã±MHŽ˜’§HK˜öï”ÉëÆó|3“ßMûdå;¢Æ(ûwÅG¶•ýuHGü>9ÙéRž”ì1[¯ÝQÝ|§zL ¸m(Ÿn+s6)Ó2SXÊw¶gå,ü …¥«\!˜]Ó„+ƒÓ%˜}üÁ7AÎÑfïgÖÇLg}·‚?<ܨéÁgG‰M‡ˆÿõÈ®;®¾ñ£øJ¸¹t©˜ÀsÄMÈwaaabj*'òÛoÅ”–é>„9‚ð‘àyá=aºÀ;zV2kVŒrsî}tWòŸÙâ… bR’í›c¦&/. ‹úÔš¾oòq ›Ð¿Z1¹Á|¸!ŸÉüØ–IÕ=yL;~'sCÈJv¥ÂcŸß‰ñs¢WFóœUãû™| 1)2š§Hy$=åN‚°£þÝÑíå ‡+ŽEÏnŸ2å•Çl+‹ÙQtlçÜÏ”ŸŒ«N7¤¹÷ǯ0«ÌwÊ#fá×®fOL¹³&WÀR¾ã9ÔÊó;eê4ݾv¬…Ï.ß;UÕ³¶ûb%ßmٲ巭çîjõÜHñ¡îEþcbÂŽˆíVŠm¾#—-Ïœá9"88ØöÕ X4cœ_ß¾Õª$Ë2œÈï¾ÓÒÄK—„y‚ÿõ¯Îë“ÿ_¤¼®çßÞµ–ïÀoÛÏË›óîä#XKXçÏÛ¾9fkòý€¦ëüùcá˜]#Ý>ÄýrÔúo¾ùÆÆM»Á|‡ü¥{$·!_¾³¡¼`“Ÿ§«N+œ5r—Жçwù+uIÍ´¦z_…?›“ù]”X¤ÈœU|¤ò}•k˜ú“U|±bü*Ó·_¢JŒžßéó2Ù1Žo•ÇÜx¾SåÕ›!ò]GåÓºã|·}%ùòmIå,V.Då³—¸ò›-¦ùNySu»’T­Ý´ÅôðÊþ]ÝÏw„VXÙ­_ý5»Ý #W¯î»]ôÙ*öÚ,öŒ#W¬`¯j Otîܸqã¬,¿uëÖkÖ¬Y¿~=úwË–-›4i’§§çÀùzQ00áñÖ+©ª Kp<ÑdeÙ^“›·ìll©ñ¯ûù®fý;‚¸™(ûw% G*3Ï”§%Tœ?Yqö8#ñËz§¢Ëã9û‘ûïjð¾ Q¯±žï"ù…±n]äÚµmgE¶ù8²õL{Uã»ïØ›ááÖ„——V‡áÈÈÈ%K–°7a_@@@‡l©¤ª&H4è[Eþøcä?Ø^“º³%u?ßiþ{ïé'ý´å§œïг«Ì½ÀRžÔËc½s'xÖ+K8Ø/]‰ßÏúw‡«ýÿïˆz•ݺpáBùBóî·Gì·›Ñw§¹r%{'_º8~|½3äµwÞy',, ëš7oÞâÅ‹±äáÇÛ^IUMØmIt¬.^d/Ø\“º³%u?ßQ¡R¿JyA&rzy×ãü}" \?¾]¹kG·Ù®ÚRüGdQô†’Ì$‘ò#ae·.Z´H>„У¼_¸W%"ñ)Ûvä²j­±o5ÿóiMØíÄË—M³ŒõšÔ…(1—ïR¾£Bå¦ÊwŽƒ•ÝúÍ7ßȇÚö¡ÑâßEžõn$ßÕUMj–eêÎB” ßi+üüX]Ìwá T«a$ê/ÖóÝ×_=þ|K¿®YþM˵]I»Ô¤î,DIÍwáÈP¾»%¡Ýª-”ï¢B ã- íVm¡|GujoIh·j å;‚¨ƒPÃxKB»U[(ßAŽå;‚  |GA8”ï‚ G€òAáP¾#‚ ÊwA„#@ùŽ ‚pÔùîA!¥­„·Û™ãt¢‹DWg‹tÑMƒ‰ùôòA¨ÐWÁq"cjë`CjKz^Ø×Røê^u¾;ÖžMÀÚ()©%x œ¤žNœ!­§ê£ãBÃ0ßAX!¥A(ðҼ͕ÔYHê$Ñ^Ç™útð1ø™Ø†‘ðšô³ÀO¤¶Ü×X¾û\Ñ¿Ëó–žBfF^!°P ®¹pŠF(ÁN**‚„’NŒ dÊ Bæ$Q·,ƒ…¿Å…«ý…k~Âõþ ù E½õ?ù€žË½…K=ØOþíÕŒKo¨1›ï ú …ƒt?¯¸€kÃt©­$¸§|ŒŽ²S*ƒA)φ¡BAVP_ ®û»^ýfduÿ˜ry~Æ•¯G¾éÊs_n7u¾KUä»â'¤¹’ gP*e:d·Šñ uTNh #NtÑ1NÏzöåÀPaVc·¼nnšÌNAÔ*¦é¯xéÈ4ï²åŽgVýëÅuw·X{OËŸï~ñçF-×5jùË]-Ößñâ¦ÛŸÿÕí¹Í žÞäÒ|“Ó“›…'Ö?Òn]쟹Hy¼ÇgÚ¿“ó’Ïwü²\•é*CM°òìÌ\WQLY¶<%¿»»³7Œæ§AuU¾«¸˜Ñ¼{L£×Žý»Ã±ÇºÄ6}#¶Ù±Ot‹}üu;ùp׸w=ußë§uúëÎö§nký×?Zrzñ¤ðôþGÚ­EGÏ–|Ç;wHve!.¥ãY¾ãIÍL¾³œììñA“‘°jÖA»ÁÙ ‚ ˆÚÆôÞ&rÖ¯&<Ôùlóç^xëüK¾É/û¥´ðMiÑ/åù~žöMmÚ'ýŸôzd4ò̸£sFÃéί¥/œ_ƒyåÇy<ßñ÷3ãQÜÏÊR^~€sV€KöpFΈ¹£ä½ÍÈÕ óméÊ©ä nŒCª6¿y8ëþÛex¢I 6¿¬±{åP·<Œ|Êm†ƒ]1͆>ÿöÀSº1•Š„%Ï+OÏ—™ØÚ]7y! ²›•Ù•óúT¹LT,/ØÕlå%(# Ü‚ *Mî\„Œá¥¦Á,ßÝÓî\Sï”}/´”ÖÞ?½ýÐô¶þé­ý3^õÏh9$óÙAYMý²é›ó€Oο¼rÜ»d»¶Ow~é/§fx¾“Ÿßl¡Ëw=ÎÞWÉòfïdò|· Ó}sÛÞ=·ÍÝìg;Ÿ™ðî«âú³X~?³r6K.ʧ‡¥Û“KF8¥Àø½òÈK¢¸Ô'¢t ›˜ž(ŠëO)ázý[A÷À1[,á©{Õs„Sù,£e^ÅYÍ'¯oì^6ÂU£6îO½â.Oœ·D§\:/jic÷ò÷ÜÌÎŽ5ÊWŠâþ÷Â÷7w3»LeÅJGx*ëlº„òY®òêR³ÄY»guv“E„æ/ˆu þ‚J¹âMþ®&šÐû;¾÷…6ƒÓ^Lß²¯c:eze¶‘ùZ`VË€ì§ç<1 ãWl¿~§gÎm2\_9íüäF–e¤—3³=X¾;ô¬Q¾CÌëÍò0¤*Q,³üL…(^<éx?gþr‹îHž©ëLeur“ß´)c=Ó(䈬N“ñ±r›§.ßõ3ä»ÒW G_÷7ó* pU¾­ª\f)•ž‡œÕxò¥NnºÜÔÊ]1eʺå)%ýܰ–¿1™ODÞ0w³³_ÙSöì11f,ÏN. ðäUU.“Ï"WŒäu.Ÿéjv e'¢äʨBAA1Ø@ñ@ÝI(òe™èá®É¯ôOE²ë>*CN=]GgzŒÊj;"«U`ösþ¹òxtñîè’éÞötƒg6ñ|‡¼†|—ÚÖè~&ò]::}¾ìÿÜñ|W.%;ë`šC 'Åöu¾6Ì…ƒ¾a©>7¥urão¿€²p¶LŒ,öf#y¾[âqMŸïÖ¡¯À:VH+{›y¸Êóš.SþxQŸïâZ¹ó)±ä|,Í'¢XʘüÛ}¾SÍ^¶¶{¾”•·^/´rW-“/G®Ø5}¾CùêTKà3.éäš¿Ü [}ô‡Õæ8"‚ ˆ*A¦W|h?›z§´÷Oó•ÑkL¦ÏØL9µ½>:«]PÖ+Ùò˜|rîë‘Ýèô»:&ÜþËwÈt<Ù%=/l{Úï’Ú³|—á«ûoæ¢Ô­«2åašcßLˆéíÌ3¯mÉûºlr¡ƒ[á S¶”-sÖô½|dÅ–ïûDõv³XîXÛxʵAº|÷[3¯ÂA®ò¼@µLùc^]¾‹méΧcC“±äÆS {»]¤ËwÙCÝÍÎ.š¬ê±bâä–îªeòåÈ+ÂG}ÅX3K`3®÷äK²ÄÂAžÊm!‚·ia ÏtW¤ÿKŽ&ô™7/tžÞ+$ó­ñY}ÆgõgHy탲øÀ•âÊÇúfÿÛ'ûþžY÷{¥ß÷úéÿkñ+Ïw:é~Ÿ˜œï=Ê~ï Ëw½ ù®Ä†þò݉¥cù8_ pá‡qAáú4£—C7v/èå¦ù}Ê|ôs-߬ËwWzéòÝšÆSŠütùnwS/LƒEÉÈË<ßÖMÿ1eÍò”¢^º|Ç×ÓK(ßèY$u¸0e‘Ÿ.ß]ãfvöòÝM'.êª^fQ/£Š]ñä:cCL—Pò%–ÀàôšŒÕínëªÚ‚ B‰œæ@^ohH[öMõ~;£ï;Yý&dù¾“¬×sL¦h\šùf=öVÖC½2ê™ùP´‡ºýu÷Kìù]ªô{2Z±gvÈwüÿ#(ó]®Ôų=ßú_È1—ü!ƒÙ¼ÅÓ ï–`‚¼iáY 别H M'# æ/÷ÊÅo|"PÄ4–;V7ž’ÅòÝ^¤•Y½0ÍÑîyÒ¯5“—)çPqߤ˼‰W¤ƒEíôØèç6ËgJ†?ëÊܘ<«±¿˜÷å^K³óñ|âÄé˜Q<ûÙ^ÓeƵpWVìO|Ô×¹xš«éÊ6{"z³üØMÎèåSV7öÊós•·Å1ÁqEa9Íq2¤|÷ꀴÞc³ü&f˜”í7!ë­q™=ƒ3ßP<Ë{Ö/£YŸŒ&>÷Ìx¤gÆc½Rëþ×}­Øû™Iíu¿HóÄSºfº|·ûA!îöû6S}ØoÎÌ`ÈwUf½ÓáÁ1½ Éó^®K.gÚ¸)·¥À—¥<¹’—¤|'c÷ÿFWÈ7Tùí•Q9oñT£÷3‘Fs§†çênðFLj|^>—râÜÅQVfW}U™lºLy@®˜Êëœëjv Ê-•'#‚ ¬Ñ[G–·î÷Š£ m7$m@hö©ÙC¦d˜˜Õg|f¯C²ãåÉÞé¿™þh´&=Óš¾y¡©×©^eùŽÿ¾hd7ä;ôïfÜi”ï’¼¤Õùêò]¹”¬$;Öùv4Ïw9ƒY²cùNß™ú«e–²HÏQ\ä‘уM3ë×UÝ |¥Û†©â¶¦^¾®–æ½ùHPU1^ç:UO‚ ˆzLoÅÑðf4)¦[PFÀôìÀ÷³ñsPhvßqYršk38M~¢gjïÔ¦=SŸòIyªÇŸÿn½^ÎwHv‡eý;Ó|—Ö—­—ç;ÓÎ<¦Búïf(É+ƒŽôvæ™ {xÕøæ!G•û”ùÝ¥DQ\Õx r† ³Ä _Oí#oŒªbÊ:k^7‚ ˆú¾ggôG£ôùnôG9Á³rƒ>ÈñŸjx³ó°ôöCÒ_éoHyOöJ}Ú'õÙÞ)O÷Œ¨õ/<ßñÎ*ß}UˆkËòÝ…>lí¢ ïxÿ.õûÀC½„¬ þ‡„ o¢äD&«¶ù=ÇŒ©áRaßPícn3õ±ÎQ‡èMf0Íw=ƒ3Ç}’÷ÎÜ<¤<9§ôñƈôNCÓÛ J{¹_ª<þ¹·RŸ+ùÙžñÿiÃò’8ô,Ëw«žÐ廵÷³ßµבý]Wöç\û IÉÇãvœ‰ßq†ÿŒß‘âØGüLˆÝšxr[Bìæ´¸5Î{U•ï´?•‚ ˆzDo34œç»·ÆgM[ÿþ×ùææí?vcØS¼±YHyÝF¤{H)ﵬ—÷Ë®«-|S_ì“ül/3ùNîߙ滣!ÂÉáÄ8áäX!n¢ËÉ ®'Ç ±cös¼±¸Sl°pme—çƒ+ðñè›”ï‚ ˆšb9ßõÍþ,¢`ÞŠK.º8Aê嘑ãÿnö€IY}Çgõ›é=:ÃktF—áéÒÛ Fw/åéq÷¿²ÎJ¾Û×R8Ö^8ý†p¦3íö3ïº%LÎLm0IÈzOH)ä 6Êw”òSpE2ú„e²ã çÅó]Ї9‹¾¼lÝd½é ò'~ž7vNîèr‚>È|?gØ{9C¦fÍ~k|fàŒÎÃÓ_p¡¹Wܽ/±¿pôUö¨Îô~&Ïw'º:#ßñ”—Žæ/äsÊ ÔýÌ r6Œô7$;e¾Óül"¢.£yKÔ5R¤4w¡"ßù°|7e^þüï/-\uyβ‚ÉóòÆ}‚d—;òÃ$»¡Ó²ý§e˜œÝob–ϸÌî£3ÐÅké›òx·/zo-ÍÍ@²;Ø‚å»M ùÈwG<„=œTùyMÎtJøxžò²8é®&aÍX¢N¡yëJÔMä缬#“.”Nú,½ËðôCm§—ú¥‚û¤6ï™òHפ—ûœˆK¸”üÉH$;€ì¦Ìwøhšï’-介£9÷éúzþfîmA„ä !åå1Kyo¹"å•å«ÿƒy•ÉîX[WÞ¿CvÛö4{~÷ݽº|—ä%Äx <Ù™ÍwrŽ+|Û€*÷œüÁaDA„eä;„Ê[…<÷ñ®¿Ã™ÔÓ‰á%pœ~ƒß™ב=¡ã ëñ>Ïw 9ùèÜ!ßñ4§Lv<Ó]ãÌ)çb |[4ÚEæJAAÔ„üጼa.ìæág`ú°Lu{ÜéHHykïg™NÎwè<¢g§ºiÉs\éx—ÊІ“q¢ àÃø)云TLlȧ$‚0¥rŒAÈðC‚gžJ8¥ÁN%AμUàT8”ýÉ9öGÉ ükbXy_?1&×W÷kêùÍ%$D¤¼¤ö†|Nô`i´hTä8¤-qz#ÆÇ2>{Œ1ïIqþ3¶Ð¡IAÕÉ…£ü8çqæ9H#•yž’áÉkz£Šñ ÁÕþì·‡ñ4'ç;žòRë ÉÉŽ¯î )µ-hÃXÔž±¸£Eø!cåh!ÍH¢®az„ð\#ÿ´r“ ž%§7*Ó ®#{eEÎqÊ|ljñxâ“ïrR¤ÿÁÿŸ‚áçIÿ=pô7 ÂÇ`ø8|6…Íà“°9| > ŸÏÂçàóðø"l[—à˰|¾ _ƒ­aضƒíaØv‚ðuØv]a7øô„Ý¡ô†=`OØ ¾ }`oøìûB_ØúÁþpÁÁpô‡Caáp8Á‘p ߆Á0Žcá88¾'À‰p …“á8¾ §Áéð=ø>œ?€™ð#ø1œgÃ9ð¿ðø)ü Î…ŸÃ/à<ø% ƒóáøü.„‹à7p1\—Âeð0FÀoárø\WÂïáðG¸ þWßḮƒ¿ÀõpÜ7Á_a$Ü ·À­pÜwÀpÜ ÷Àß`Ü ÷ÁýðwxFÃðx†GàQx ÆÀã0ž€'aŒ‡ÂSð/x&ÀDxž…Ið<“a ¼SaL‡0fÁl˜sȧa¼/Ã+°^…E°^ƒ×áß°–Â2X+`%¡à†ó:Cøè À†Ð Þo‡îðŸðx'ü?xü¼6‚÷À{á}°1¼>„ÿ†ÁÿÀ‡á#ðQøl‡OÀ¦°|6‡OÁ§á3ðYø|¾_„-`Kø|¶‚¯ÀWák°5lÛÂv°=ì;ÂNо;Ã.°+ì߀ž°;ô‚Þ°ì {Á7¡ì ß‚}`_è ûA?Ø€á 8þp( €Ã` GÀ 8Ž‚£áÛ0†À1p,ÇÃwà8N‚¡p2œ§Âwá48¾߇3àðC8~?†³àl8þ~?…ŸÁ¹ðsøœ¿„ap>\¿‚_Ã…pü.†KàR¸ þ†Ãø-\¿ƒ+àJø=üþWÁŸàjø3\×Âuð¸n€á&ø+Œ„›á¸nƒÛá¸î‚»áøŒ‚{á>¸þÀhxþÁÃð< ÁxÆÂð$ŒƒñðOx þOØÏÀ³0 žƒça2L`*Lƒé0fÂ,˜ s`.̃ùð",€—àex«°Ãkð:ü–ÀRXËa¬„"nÃù¡ üt… `Cèoƒ·CwøOx¼þ¼ þ Þ Á{à½ð>ØÞ€ÂÇààÃðø(| 6Ã'`SØ > ›Ã§àÓðø,|>_€/°%| ¾ [ÁWà«ð5ضma;Øv€a'è_‡aØvƒo@OØzAoØö„½à›Ðö†oÁ>°/ô…ý ìÀp ‡@8Àa0‡#` GÁÑðm Cà8Žƒãá;pœ'ÁP8NSá»pœ߃ïÃðø!œ ?‚ÃYp6œÿ ?ŸÂÏà\ø9ü΃_Â08.€_Á¯áB¸~Ã%p)\ÿÃaü.‡ßÁp%üþ„«àOp5ü®ká:ø \7ÀpüFÂÍp Ü ·ÁípÜ wÁÝpü FÁ½p܇`4<ÿ€‡àax…Ç` <cá xÆÁxø'<ÿ‚§aL„gàY˜ÏÁó0¦À 0¦Át˜3ă90æÁ|xÀKð2¼ áUX‹á5xþ K`),ƒå°VB ·ãü‡ÎÐþºÂ°!tƒ·ÁÛ¡;ü'¼Þ ÿÞÿï†à=ð^xl ï‡Àá¿áCð?ðaø|>›ÀÇá°)lŸ„ÍáSðiø |>Ÿ‡/Àa ؾ_†­à+ðUøl ÛÀ¶°l;Àްô€¯Ãΰ ì »Á7 'ì½ 7ì{Â^ðMè{÷`ØúÂ~Ðö‡à@8†C ? à0‡Ã0Ž„£àhø6 †!p  ÇÁñð8N„“`(œ §À©ð]8 N‡ïÁ÷á øü΄Áá,8Îÿ…ŸÀOágp.ü~çÁ/aœÀ¯à×p!\¿‹á¸.ƒÿƒá0~ —Ãïà ¸~€?ÂUð'¸þ ×Àµpü®‡àF¸ þ #áf¸n…Ûàv¸î„»àn¸þ£à^¸Ã0„ÀCð0<Âc0‡±ð< ã`<üž‚ÁÓ0&Â3ð,L‚çày˜ Sà˜ Ó`:Ì€™0 fØ ó`>¼ à%x^…ð*,‚Åð¼ÿ†%°–ÁrX+¡wœÿкÀ@WØ6„nð6x;t‡ÿ„wÀ;áÿÁ»à¿àݰ¼Þ ïƒáýðø ü7|þ> ÂÇ`ø8|6…Íà“°9| > ŸÏÂçàóðø"l[—à˰|¾ _ƒ­aضƒíaØv‚ðuØv]a7øô„Ý¡ô†=`OØ ¾ }`oøìûB_ØúÁþpÁÁpô‡Caáp8Á‘p ߆Á0Žcá88¾'À‰p …“á8¾ §Áéð=ø>œ?€™ð#ø1œgÃ9ð¿ðø)ü Î…ŸÃ/à<ø% ƒóáøü.„‹à7p1\—Âeð0FÀoárø\WÂïáðG¸ þWßḮƒ¿ÀõpÜ7Á_a$Ü ·À­pÜwÀpÜ ÷Àß`Ü ÷ÁýðwxFÃðx†GàQx ÆÀã0ž€'aŒ‡ÂSð/x&ÀDxž…Ið<“a ¼SaL‡0fÁl˜sȧa¼/Ã+°^…E°^ƒ×áß°–Â2X+`%¡ðOœÿкÀ@WØ6„nð6x;t‡ÿ„wÀ;áÿÁ»à¿àݰ¼Þ ïƒáýðø ü7|þ> ÂÇ`ø8|6…Íà“°9| > ŸÏÂçàóðø"l[—à˰|¾ _ƒ­aضƒíaØv‚ðuØv]a7øô„Ý¡ô†=`OØ ¾ }`oøìûB_ØúÁþpÁÁpô‡Caáp8Á‘p ߆Á0Žcá88¾'À‰p …“á8¾ §Áéð=ø>œ?€™ð£Ò3@G.ï4ÆqÔØð<èvvàéÊý àMg´…NÜæ8¸™êrt…ÿ€3u¾ =Ùð,e/ŸÎð°qïëLý²ÙxýrQ-éß».ß-Ü_0ÿýË ¼Ïꚇÿ¾*Žb'öýq 7<°*ûðè]|©ù9 Jï§'€ðÆi†W‚Ÿ¡Ïa`ºàŸÅ: Ëüs„YÂà60XOÿ<ÂväÈó°7UÔpbE£éâƒ3Ÿ#>9Olñ…Øb¡Øf£ý"FÇÅá6"ßyH‚ï<æJÃÐJÄ_Þ}ÆÀ^xf¾ìŽr$QX›ãqDðIúœq ʨ‹ì —qÅ.ãK±G„I.EÀ‡ñSÉøÈ*qúð) [ÐÅß;F˜l|`ߨ ¶/,À¾]d è a#BË}‚W‹Ÿ3:»@Þ :Þ.4 u‘MP cp>Q àq„]óXˆ¿Œ*æl &àBü—C &a+O¬2ÿt³ñ—c®{–tEšeyß ÂVî_Ëâßþ˜sWuüY„yœå½0,×0RyÀ+ù¾iD5ÐÇŸõ¶¤àßþî©{?Lúçô³·M;ë6íìï%Ýù~ÒÝ3ÎÞ>íŒÛ»g„‰ ¦ž&%ïe #Ì´9šQõ Ä¿ÅA¡cœ®“‹=rT9)Œ;!Œ=é21Îu†O ccÙÏñ±gÁ±]V^«~…7RËcßøONÚ—¸#þÌŽ¸3ì'#‘ÁǸĭ± ÛN&nŽMX—öê¼?…^‡(þ7ă»…W mãØUhŸ #Ýæ*µ1ðûTuü§&ß/KŽÌQ­Ñ3²L˧²áÐLr-Tó T;×ñ%Nè”ÄâÆGÿ UÀå1¢ÈîA­Lvî}D­ñŸvñOY¾ìöûgɸµùË$þ>‹ÜzðmIœÒx•+ß®¬BO­Ãk>àŠŠ)ëlçø÷ÎPÄ¿G©õãô·g]zǸ ÉgY˜ï}üU1·|t}a–;Û–‚(,15Ú«é6ûl—Ý0S1}íŸTvÈÖÇ¿ÔÜ)`Dpøi}üóÙÝTĺÿ3‚o®‚‚ð,e³t)Âç›ÉÇøðß¡ªoc®Í;µØ¸MCÛÅ¿ºÂ"S¬›—Ï¥˜8j±õÙ¾JŽ,0·ÌbUŤƒŸ×ÙÒ”Û¢ŸÌ ^Kº¥K.¨ˆ¿uÊBþwÊÅçâoØÓ”[>MºËíÇ«turSÖy-ÏÅ|Äß­WAx?—W»úeíÅà…h¯Æl÷G 7É¥eÊmÚ”}ÒÅJ±Â¢üwºùmœâ3ËÝ?S&o<èÖ˜¯EÜû¥åÙ¥ñ|b÷é‰lâÏΚYf‹8ãŠýi¨³¹%xnÆÙ]á'­k9æÂ¦Y} Œ?>η=þc—žpö9äpETÈè_ L»®ÜX÷Æ‹dÝÈï—¹7^ãêW๹\:þñÕi¿`[0¾(ŠofÓݘ†-JF¿L·¶çùÇöq[/i–}ukéã¹K.Šð™Å¦ôÓ}ë6ÆüìÝÍNÜU½L×^Æó3ÔYÚ“%|YÂφɽXå]ÛšlŽŠGâ„öI,þ¾Êø—IíñŸðÍ1g´?î9 %Þ/Ñml‡ º––±ccú,>ÒsK….þ½‹ôÛ²ÖuÐ5Ýf6ûÍUž‘£Z¦ácž.V-cù”¡±lç t½ññšîÛ¡ÙfgŸ|HT¶¨dÕ2uÅ užkv ±žë u³J(Ÿ´ðsßXÄŸÃöÂÌRÝÆvJÃGŽÎâÏFz³žÛ*¥ø/qëw-<›oË:×€ýfîuÕϨ›Ýx™Šu±jǧ”–Œ– K+øñí°³³w_[&Mtß>u€a#?“ût†é¥eº·NtÖO¬\[uk³­QªO•Ë”*f¡ÎòPnˆY„cåø#øhÆÑ˜¸Œ.u )k0¾´áøŠtOuù3_>Þð(sœ+««rù~¼É³×6ªøó]Àâ?º´Á˜rÄŸ1±Â4þÖwq+ò†Ô½{þÍŸ½¶QÆ—Cò)ÀÏ‚Á%ê½0QwFX ~­$Ò]ãøg¯ýã?EŽ?ÿ‰.ƒEº½ÀSÎAëd _ ?w1Ä¿§ô8L÷‹uÄØË C /K(ß0]ʯy”àúG—Ó­\n*xüÙ.HaO!;Ç:u9áÜ•!¿üéÔ3‰ÃÐ`7ù¤êèsÁ0ÌÁ·DµPÆ¿s,‹¿´ ä½`>Cž^1#a;± _>s_p›ï9Õ»ÐÄM€âOñwd(þG†âOñwd(þG†âOñwd(þ·;:Ów\nù‚øßFñ×®ÔÁø_Ô†ý²ùY÷⊵Žvê`üqThGŽ ÿ•üÍm1zet‹OÒÒrÒüµŽmmÄßÃcv¬nxÏ|vó7ÌVŒ±ÓñÿîCi¢˜¶+VWI›‚™-^[õ‰~by–:¿#ªócÒð1»E^}ü_l––“#ÅÓÆb1Žòã-ÿذva{Øð†@6 ï è~Qš´ƒŒÆnÒ/ң߉–Ž íI|¢:˜º«6E¨u¿¢ŽÿØU9ºqìl2Ìn8SVÅ›.­NÇa‚Wb`S°²AŽóÊ]Õc°¿B‚Ù”cØ#Öâ/ÿ,àsâ•9 2ûí¿ëšn×X:àÍÿ˜]gyýëÑñŸ¯ ¬â`FT ?/ì«MÁ,È›‚7á[ì2þÓÆöß4˜Ê–DÕÚØÃÁ¯?ƒêFÓTƒëØ ú`Êñ7ÉìÈßÀyigmàgí¿.28Ô£wÙ)þªh×Ûø³&HtÁ4´6‚:¼Çf‡xè’ElX Z!Câ¶¥ý×ÕPjÛo¤ýÑí)Ãìõ>þfZ{eþݹ€ÉôqÆ.“O›Û]%‘ˆ«È¿–ã/%“ü«ÌÑÚÇß­Ebê9Zÿ·®ÅßÑîÿÔµøkOòæÞÿ¬kñw¨Bñ×¶Ô©ø; u'þŽ ÅŸâïÈPüë~ü×­^JÔ¶Ä_ëk´[¹Pû£-Íãß°EÅŸâï˜Püë~ü'ŒAÔ¶Ä¿¶¯ÁPÚ^…}‹+lcüOÇEÕ|sjuu¶ÂŠ?ÅŸâOñ×<ªõ/þ~‚ÐjööZØœí¡í¡ÝÌÕÆcüVhùjÇ_Úã¢ß i‹n þ«g·ü„€°ZŠ¿  x=Ž¿QµwÏl%´ Ý}ãñçK¶GX,ÄßoöÌV†SàV‰ÿ鸰@ÞhÜXüÙ~”ŽüÆ k”¤ÿ†134Pn §¡™öÊRüW°SÌèl]a¼ VøÙ§ß_º×ß#¤êé‡Ë´X‡úÿ0Cl ~BéV§ý¢ßRã‰McËñ—¦WDx…nÕú¨Ê H™/¤½cÖÕ­Š:˜Ý:¶ æZWûµ?B 㯌¹" òIa´/Œ&–²FDU›c¨6¦7-&ASKÊsM9¬ßVë`aûºæñ·’[Õ(þ¬þê"…Ý(þrp”Í…ªM¨:þÒ0–©cX˜ÉÞ1;\ULѵ«6ž°6ÿª¯jÓeê9ÃÉeñø7Cñ—B8S?Fyx·¥UÄßjÌÆŸKæ®±µ¿ÙVQw´(‚#e@“ößhØÖø]Ž*HCŠ©2þUÕA=ÛûÆßBåå°TqýcÛæ˜M[†Œ èW¦kÉ«Žu0¦óïÿ¶bó;ݰ[üƒQ. øßœøëÚdã -ŠÿMŒ¿¶›Cñ§øSü)þÛãïFïÿhúþO•ñ¥ÿ]K ?°÷ç{‰æf;VØ–ø×^ðy¡øÛ{­ÑhíŠõ Å_Û¢Yü£Bõm¶gx²~Éáž&ãl]»*þò¢ô%4Ê.[içbeåØ<²ñg³ëgc;‚dž ñ±ìûjÆË\ü•‹0,¼N£ø£Ž¦[móÈš¶?X–£ˆéGÚ\ªŠ¿rGס¢Œ¿Ùm¶}dÍâo8j;þÊeZ?iŸM¬ÿ`8Çkñ¼QÄë3]‘í#«ÝÊ‹2 ü›j¬6Ä_¥8tÍ’bjÝÆ©vVm8Šø³5zªóŸí#kÚþ(·NÈy†GU7T'þªÕ³M¿3 Ò‘­Å¸ÂÊëkcãÈoÿ«i­T¯ý1º:ÒgÝ~>*¨Ú¼|²pýYíTÀ6ÈŽñ¯þgSþ5$£s™G…J§ÿTíý_Ãb¯ø‹¶ýÿ/]üUmŽC(ª}ÀÙrý©hóƒÆIYñÁÌ>²{1TØlLlY­ø5Š(Ég}íö¿”W6ÊDc|Um¾Šv.Êãßì mY­øÛ½¨ã_OŠ}ï?Pü«[(þÚŠ¿¶E“ø×^¡øSü«Unrü±:¢–°%þw4I®UPÚ^E­0ÅŸâOñ§økÿ*ï֣͹ÕãŸþmªîÂ)eeºnäEú‹©Òo}ols|/¥_žíý YñUÑTK ±þm­Æ_YçÔKÞÕY­øOý]?#[”my@·#jãø+—»W¹£­ aü±Õ¿çª§±y¤Ð?Ï(¨³´_$Þòt\\wyf>¡%. M ºBhˆ08ßÈ©»ôÏ$´Ä7ãÖ§oA˜GóƒÓÁ̓CAŽH.¡%Úßœ¯}4²µøkÿ ¡THhˆS@ñ-0°PBhˆÓBKœƒ+ Âaq'Þòhd¢Îâ2ºô–Gª¨»h}vS(¯»ôL#4ĩˉ[¡slÅÒ;çAAAAÄ­Á‡; ±×ï1£B¥>AŽ/jC?µúÙ"8š ‚ ‚ ‚ ‚ ˆZ¢.ÜtäŸZßÿ¦BEË¢ùPGó‚ MX·z)¡!Z_9zÑü$‚ dÂø7ŸÓqQçæ_qQüµ…âOñwd(þG†â¯dÅŸâïÀPü5Ž„Ÿ •ÀýÈí¡íø(¡Õìíò¿Ù3[ñ±íf®¶8%Å¿šal€í?é\ ”÷…Í¡øSüŠ?Åß‘¡øSüŠ¿*ôþ†Üü÷ìýù比Š\(þÚŠ¿¶…â¯m¡øWQ’Ã=…Ð(£º¢[Í)…âoµD…Å}Ô}`ƒžáÉ5˜Ò¨˜¿êªLðŽqêqoœfx%èðIú\¦ þYü§Ó°\Á?G˜% ÎaƒõôÏ«(ƒÀ_ÏÐPÃQHi8ÜmŸ²ºñçao0ª¨áÄŠFÓÅ?f<>G|ržØâ ±ÅB±ÍFûEŒŽ‹-Â'¨ûÅ?**ÙZð G¸íSV+þˆ¼óßyÌ•†¡•ˆ¿¼ ûŒ½ðÌ|ØåÈú…™b!ªl´ªQ±}Jâ/x|R…>gœ‚ò€0ê"ûÂe\±ËøRìaR…ËDðaü”Gò>²Á„Jœ>|Ê:Žñ—“PÛ>¥ñ÷Ž&@#˜Ã÷ö‡í °oGºR÷1s½bU)¤æhÛ§¬*þBË}‚W‹Ÿ3:»@Þ :Þ.4 u‘MP cp~½ÀL€Œ£jíx¶}J[â<ްk ñ—QÅœÁüBˆ_árôϬûTUëM¹íSVÿ'V™‹ºÙøË1W„=Kº"Í2мoFÝÇzTù%¾²˜47¶MYeüï_Ëâßþ˜sWuüY„yœå½0,×0RyÀ+ù¾iõ‚ªW{ëñg½-åÁïŸÃ£Íq¦ >.S ŽÙ6Gë»æÇ¿VñoqPè§ëäâØ»´Š]€øó]€øsÌÿZGµþÅÿÁÝ«G…¶qì*¨ÏV7ÿEɆ©J&KñçÈ»€í…ŠA–SP唞‘eR5ʧފñ%Nè”Äâƒu-¼Ï‚Ÿ¼9Ú½ñ,÷Æ÷^ˆöj¼ÚÍ\üÙ.Àôœjï)þû6º¿pÐÚd‹¯aª¨OÝ~?*³È­Ç­ÿÞºø/+ÁW{§ÏrëtÞex¾ëðcnÍw»/º³`H¾v¾ÔdØÿÐL”6¥ñ,·.v;øëbü}RYèCóýkÉìËÄÉÞWxØu||=E?cÊÖK<ø“cå…•…O—ö‚ï•(|Š)Ï’FÇ\|smÝG”¬bO6FšLTÌ>5WšÒ€|]‰Z,œZœ¬c~uU€hÜ|ÌÄÿÑCÂk B·téàÏe÷fÑ= (˜|\?ÅÉkè­7Uä:§ÁOÙr˜5JÓñÍÞ/Rø.p{i‡)û0îüä^y‚l~„ÿN7¿S|f¹·Hbc² º7åSæGøítå“±Æ Ë²ˆ úÙoOŽfGŽÌè6†?yãA·Æ³¼–³>ìÞ/Í®îh•÷Ÿïh’|“©:þúà C Š]‡EëöË“Gyî¬Åâl]×4× kl“÷mtà ^¦X^~„ÏW¿"þ­{ãÅn½ „^1®_ë4÷¦»]ý „þ®-ð•~2i¤çæýìl™Ðã<þk¤iÊE±upk{^Яŭ«Éêz-Á,u%þÄ í“Xü}õñ—‚ï2ìšÓˆaÐþÉì¨S–ïžo236ù¿Wðoò†]88¥\ìÖ[·wÜ[Æ ƒ çì»B7ÏB>FÂh2išKÒìÊi Ccyü׺ꆓ§4æÓȳ'«Vg u(þmS¤øçòà³ø(qb¸Œ.uSÁšå˼֗Iáe퀌×ê¿y`Ý=ÒCOˆR—¸õ+ѤUv%¤sdït|UÌǰ‘F“yn«ÔÏn˜H‹Eü×¹ê¦Aذbö ªÕÙB]‰ÿãIñÏzçé‚MQ•]î9ºÔ%¤LX‰©®±-fÍѾ=nÃÊ]?«LɩĞ;+¥À.uXž-ê†û•ér Q’Æ\ˆîîa6eT¸~¤~2}ü1{‰~.†>þë]ñqf¹t0¬Ã4Òô³ŠµJ3Y]ÕÔ­ø{g±ÆGßò³ËS “T†OÝàÞx©ûð ·oåÛ¶•p&Ú5¸2\)µ£˜Ÿ)n½ô}åN%Ž0"m¯~æäíynÍg©&óÜ®ÿÀy.zR¾œ%†G·Qó–¢bnͬ®JŒ‚óA‘~‘¥ßúêGú^J±22õ’wÓ)ÇÛÚþ¤ Þy,+Iñ×5;¿»7Ö52¸8q b¶†Vº Ú é2Nt—ïö”nJ·npeâÖ-ONÄ€{ëDçàJ>R?ežÒO°!P0»ûÅ_yüã:?’PPsöÅ—­ÇËä1|Ô ÿ**¼2DŽ¿É‘ÖN7B£XI‡1Ÿ*lÑ,ºeš?Å0%¦ßÌæ²)þª¯Ì­o‚]Ž9þª] cGØ!þ†ƒÊxGðPèÇl Üd1þÆ'‚rkñ×V®€Åö³±ýÑm‚]Žô°ä6_v9ø:нöߨ!Rlßpãb=þªYli»Ø,R`-Ä'HȆ]²^i-þúM°Ëñ¿ùÐ5v©¯@þžø²=ñºøo‰)ÝRýþ—éáj¹ ׇԦøÏb9þ†fJÙt˜Æß裢-²iÀ.Çÿ¦?®¡‡…N®Ìï§XC´óÏò_cËd6-‚Ÿ˜vâo÷øW·Püeèù/Añ¯ Pü)þŽ OÍšWã&ƒ£ŽÐM®?©ÈEó ‚ ÓqQAAAAAAAAAD Ðúýk*T¨P¡B… •›]„þyõ‡‚[ö‹ÄúBÇÅ· ÏÌ'´Äe"¡)AW ç×rnAúgZâ›Qoè›FvFó£ÚÁÍ£JAhC.¡%ÚßU¶ÍcU+ñ×þ¸C3¨Ð§€âú‚0ðV$ „Ч„–8W„Ã" È&4Dó·JÍ_ÀppœÆT¢ù Žö/`88š¿€áàô¹@¡ Ú?%íèMhŠæAh‰Ö/`„†hþŒ£s•ÐÍ_€qp´~Æá)'´$¨‚ÐÍ_€!ÂaѼtt´¿slº¥âÔ9–ÐÍÿ=AAA„½X·z©(ŠšWÃa¡øSüŠÿ7ß|óõ×_ÏŸ?Þ¼ysçÎÅ”¦„††N˜0A󭨿X¿üw@~ù%RŒ*þ>DÜ?XÜ;påÊÈŒ 15ULNßyçÍ·¢þb%þ‹-2Š¿y1j€¸ÇïFâß·o_Í·ºî`%þ .”ã¿n]$Â.îîÇØÙWÿñãÇ[_E@@öQXXÖ…¦lñâÅXòðáÃ5ßöº€•ø£ñÇaüµk##gµü¸MäÌÖ`ÅŠÈヒüöÛÈððÈqãÆYY¾——V‡áÈÈÈ%K–à#RƤI“°_:tè yêrü¯^Aa¡¸zu¤¸½¯¸ÕGÜÜKŒì‰ø§¥‰))â¹s¢õø·nÝzÍš5ëׯˆˆX¶lÂîéé9pà@¾^vf­^:þÇÍàVâÿÕW_!ò(—.‰›6í~|,þÚCÜè…ƒŸ7>IIâØ±c­¯bäÈ‘X –VPPžš†á £ýý‡;zßOÿýlI@ÐhÍCQ×â¿bÅŠ¼m{öwzß¼#ê…æW##ăˆ¿¼±|y$þóçųgÅ1cÆT¹´38þwnßúÓÆè‚bqk|¡g×ÎË–|óÓ®Sg.‹²Å±ïÍÕ<u-þGŽÙÿð}âØÖ'?ý|S«VâØgö>õ˜¿\ü¹3Z~b¢Mñú÷ÿü‹ù{ÓŘl12UìÑ£G/ïîŸ~¿wE¼¸ôˆ0|¤Ù¹VÚÍ?–l¶‡G`ˆû²aÏ|Ý›&6¬À‹ÇìX­ãiÇøƒÕÍžgt<×ñ!qØSšÜuêçy;>h9ñ™ˆˆÈeË"—.E> ±q]Ã,YvL Û|ž>løØ‹G›jmFùÙ±øÉwĆ@AÐÜ$M¹)X7P°ÿ-[¶œÛú[T“»Ä‘Ïu(fŒ¿x$L\ÙNü® ‚挘 ž>-Û¾º€ ñãf,êÛ×ÏÆéu6"Ì÷‚¼; +CøZGÒîñ?üᇛ6G=+i*zt×#ÿººcøãbø+8òyðOß~ûí›QU‹ñçÔ×½`%þ¿6k*N|öÏ—ï=Ðê1±Wcqð½_n.þJ\úšüøx­ãlvHØi$©]Ò:¤öŠÿÁÎî¹m猎|öéíM›øé'åm7\ù£ñ=º/ ‰µŠöGšJ·#êtÿ™âïÈPü)þŽ ÅŸâïÈPü)þŽ ÅŸâïÈð‡€šWÃf_:"n"M‹æ' AA8 §ã¢‚ ‚ ‚ ‚ ‚ ‚ ‚ ‚ ‚ ˆ õû×T¨P¡B… *7»ý ´d@¶ƒÓq±¨!í9:ÏÌ'´Äe¢–8©tp\‚®" Î!´¤&¡%}Ó´¤ÏG‡âOñwd|3Ç¥·Ã£ù. -É%ÇEÛûÿÄ B-éÕÑXLhI@ ¡!N#´D(wpœƒ+5Dªpp´?¡ù Œþy Œ?æ ½9ì§w–î¶ ÀGiŒwšÐ-ö1‹ï–+tŒSý²GÍßvà˜¾ÒfÑOK´øBÍãs¦‹ Æ”c{…åÕüÕðä<ʼÎÃ}fF*?>ø±ØLNÃñ€]=¶ÕíbÍŸã³GùÒû ¤ à§ŒSp©sP‰Ëè"— +NÅÂÐBvÝ5”]ÿã£nL@ŽÁùì'ư¾¡tüc è›&tŽÚ'ac5hnžáùŒayNÃr‡äa`–î!£|·GõàÃ'8õL¼@‚ðÆi°¥¯î_‹Õþ 5Û¢‚o—ɶè7G¿Q2|ë°i§jûc:°¥-÷1îýNûÇÁÊ'ÂÊ]æ“êúVÊÈYùeÕ}Åqä'É®m¥ÍlqmæÓÛ„fëØÆjþìI‰|Xú¤b?bKK/$å}>)ç½€¬ ¾™Á=3Fz¦{=}x—ô¡@Úà¶ µßKŒ>/¦ôlžÔõ‘}^¾”‡íe[Ê7¶Éá‰UÂ3´ß@ÃQšªßÌT~ÐbåÏ›réûù—W-,X6'oÞäÜOÆå~4:çÑ9ïfOš=Í?{ò€¬‰ý2ÇùdŒîžÐ1Å·å‰noõ~1#·T·gŸ=ôÿí½ `dUµ.|T¸øs.OAE¼NOpÂk¥ZAð:!W†žÒ ý^ô^ð90ôÌú Õ+`C;4íUhD¼(4¦;CgN*•t¥’TjHRIºBþ=ïµÏP©ùTªÖÊWuö^{íµ×úΩS'U§ö.¯dE‚}Ö%4Ùáï^}äÇvü4ò³núöÈ]ßíð¿Ýºý:’ïðw¾ºåË¡õ_ZwùàªKƒÿRÛÿ…üÔ;}ÿ©ô~]’,IöÌ¿Šdýÿ]ÁLW P°dCë¯&iŽ?tÏØ¶ïŽüøæð«†oûzè[_9òÍ/YwÅÐÚÏÞxÉàŸ¢ö5 |éŸú>ÿƒ—¾sLJ^O“ýÐA ž,yÍ–}²GÖ]>ºé_G·ÜJ2Mî{–j¾ñ…#k?7xãŠà×?üjÍÀÿià ç}â®<·÷sï;ôéw?öO§»'ëû—ƒuöοA'Ëw.¹®(¯dGL Òd¿ðá#k?úÆU!rú½ùª¡úËé¥Å ë×ïUïüÜÛ/{ËàŠ3W¼9ðé³Z?yÖΞF“½ Ëú§v±sÉž=å.ÿ¿=á¸2¦!ó¥Ççç ®¼äÈMW¹ùó¡›®$'ç¡5+l{öÈ•o?rùYCŸ~ÓЊ7 \ú¦ÖO¼é·ï?™&ûÑ€õÑ>šì[[鞥ÉúýU… :å( ¸ÿ3ï"ï¡C«?MÒ<²îsCõŸÕ9^w/¼2 ]qVè²7Yñúà§^ßö±Ó~wîÿK“­ YËúi¾ïí¢ÉžºÙÿïl)“€û.9{à+ Þ°|hͧ‡Ö^¦3½ñcG®[ºVŸ‡/{CèÒÓ‚Ÿrø¢“Þs‚H–€ì_•¬ßÂS| @¥|å ¸÷ãg®þPðÚ ÞðI•×Ð?rCÍ‘¯4tíÃ_yÎ÷Sÿ0TwbÛG_Ûð®×Ðd/§ŸDñ|É¿4Yÿ?ô–Y§ŒÜ¿0MîYöúþϾ—¼Ë|'ÿôÍôºÚ¡ëj†¾~Á‘kÏ]sÞð—ÞþÂÛˆ>¹ç¡áå?¸ìïÚ>ôêßžsŒH–€${~˜^ZdýþxÙÅÀ—fHÀÝK_GŽäþ+ÎøâG‚_¹ øÕ ‚_ùèàW>2ø•}ù¼#_|w誳‡¯x39†Én Õ½6xÁ«[ßÌη/¡É^š;—$Kþý9u³ïŸåêu)“€øï;kßÔ}é;z.ÿï½W¾¿ïªô]ynßçÏíÿü{W¾3ø¹³ƒ—½yðÒ7 .?e°öÄà…ÇõÌËÿÝzô­–H–çK’e‡±ï9¦Éwplî¥O¾cßù§ì»ðMug5]|vÓÅooúÄÛ\üÖ—?qÖÁŸÑòñ7¶|ì´Öe§´\ð÷­ù»–¾êå÷-yöÖo–¾™&ûÙ #ÙSîò=A÷LY²×ß?i=ðDÝ;þã]'îxß?üæÜ“9ïu¼ïäçòØy§<~îI ï;ñwï=¡ñ=Ç7¼ó5 ï8¶ñœ%¿ÍÚ±ôÍáæ¦ë·ÄœÉúÿ"µ¿Zõ)úÕ_I^_b>KM‘L_ý™¸ñšåÉúþ¾ÃO¿ìŒDÎÀâ}çª)ëê$)\9A÷æ…ÏF­KÇé3oU/RT²Ÿèó—ô±ïkÜšj»¬e H\Ø!ªË$¸†<“+arýÏ/‰ù?ä J&»¤¶©`ür‘}_F­Ø°–ǬvXg=br·ïÁ`²˜,&‹Éb²˜l…“­TTy²÷Ýwß–-[6nÜxÏ=÷üøÇ?ÞñðýN¬_¿þæ›oNã¶|œ,˜¬úç÷±Çv%óÑèüØØ|8<¿}û®ÁÁù@`¾·wþ¦›nJg™8IŸì¶mÛò¢|œØ“%ÿüžþ JvëÖ­jˆ;vÅãóãã.C¬[·.Ûòq’>Yò2!4ÿ¿ùÍ®‡Þõë_ïúÕ¯výò—»zh׃îúùÏw=ðÀ®úúú4nËÇɂɒ†€0Iü2GG)™GŽÌ“!æûú滻猳4NB¡ùŸþô§9'»yófòÒ Î “Ü?ñ‹‘Ã&D”¤:<<¿víÚ4n‰!bÿ»ßý‘Hwâdhhžì~øuu-ìÄ5å„GrâÍ/æœì¦M›È낃3Ê?‰ÖÚbY›,ë‹hÖ¬Y“ÆíöíÛG÷<õ첑4îùãÓïÿÀø3ÏE"óä…öÿï.²Gzzæ;;pâ wBöoxä•÷ÿ¸ïÕßx9Ÿd‰[òê >Iš„akƒµ)ùëGiêêêJãöÀÏžqÚüÚ¼üû~÷¡ί}×Þw¿“äØ#/4’)Ù­íí 'ëŒä‘? “}ð`aàÚúŽ]Õô–¶äœ,y'ç:òÒ G/ß¡Ö]Ö=‰¶î°¬³¬Û¬ôžyû;æo»¨û¢7ÍíŸ{Ëɇö>÷ë_ÿždú³ŸíúéOwÝÿ®Ÿüd×êÕ«ÓxpFò -oøìö¯üÏ­är↻Ÿ<þ«zóúç?µío9'»aÃrœp—Ù„I’)Ù§$Óÿ5ú¹ïô/ÿVÏÇ­o-lÏž§÷¾å¤ùëß3ñÉ7½ð?¾Eœð£—dÚÑ1øð|[ÛüªU«Òxpäì/üâÍWíX³õù3¿þ‡×~yÏã{£äÚ#ŸdÉkŸƒì!9ЬXÖ÷é%™Zß¶¬ÿaY7¥Kö¥;îø¯³O™¿áÝó_>{þ‹gþáÌSCͽýýôè%û”gÚÒ2¿råÊôÉÚ"!‡î† ›þñ«»Î¸âÑã/k¸úæ :IŸì½÷ÞKN•ä]Œ¼A393Дo³n鮳¾a:DN/iÜî:çíóßxwóN}îƒgÍú¿ÍéÔçÎÿ •¼NÉÑË3%NÒÇéɦM›#‘È u¿üÚ÷’ƒyA'é“õºênjjâ;ÔZk‘³ÓÏþó4nŸÿxíÎ×ðô÷¾÷Ò‹/>ñžwýþœ·þmÇxéNÞaÉ öÆoLãÄɯ~õ«ë®»Ž¾xý·‰“«®ºê‘GIï$}² L¶RÉV*0ÙJ&[©Àd+0Y×O¡æçç3I6ÛûÇÊVð0Æd+"Ù30ÙJLÖ÷% L“­`²˜l“Åd+˜,&[Àd1Ù &‹ÉV0YL¶€Éb²€tÉ^ØeþPµ|e‰É.fÁd1Ù L’],ËØÞhrKvq-g²‹nùƒ|’]ŒËäœìb\þ çdK¶üÁ«??pý–á\øqß«—½d[þ ÇdK²üAa8O/c²Eš-ß\þ€“óy- 0c[þ »d/è¶Î(N²nËðdóZÀ\þ ,’õXþ ‹˜Ëä˜lIV(Ì¢`E€“-ÉŠ…Y  ÷¬w²y- `®PÉz¬P€EÌrM¶+”çó\À\ œ’µ¯ V@ÈgQsE€“-ÉŠ…XÀX ×dK±"@0WÈ1Ù’¬P˜EÀŠ9&[’ °(€¹"@®É–bEëêä|þ‹€²LVüÔ¥4+`QsE€Ü’-ÍŠ…Y¬ãž}CÓñç>mUäø+»½ìO|K/Cø™ùÙŸ_Ù+«N,hàŽçžyD”¯¸¶ÞN^ì¦ÆÎŽÅ„ø-½·üy¾o{Ðf¹2 þÊñ’í³óñKòIÇe¹Oa- yæv{G†ÒÿàÏÎC.se6ü“C10~ ËΞ  $—ƒ!þIØl,ÝDöˆƒvUÈðõR0þéáÑà”¨ô3WfÉÿ¼|Ѳƒí\sÏŽvØ_e¼µ$ä;† «ƒ!3eöÇ¿L\ÒbV„ó¿ãüã~–ã/@öòtžc‹ÈÿÂé§S’\r=ÿ—еÓ39þóˆÁþOÌêø‡ïàê•_ò„„¿ÿºêíJû»sΗ¹ìš~æÊ,ù燽íý÷ùŽœó¹×äßýËøú‡ï ¢ž…àñïš~æÊ,ù/z:‹ ùGþ«žÿväù_D@þ«Š2¢HÈ„ç'Û…F±‡(¬0`ä?Aþýäß_Aþýßøß»Þ²ü^ÓQïË­õ{sŠA§CØ…:Mïܵ5x²xÞŒY±’±2 þiwÙî˜ß1á?{'þòORwŽ“±2×óñ%öß«Ëׯ/Ðñ¿Èø×DÉ\™ÿð¥Ð»woï|Ï?nN ^¿ŠU Už!áñ_÷Ù%€âÛIjæÊìùÉ”èü^cÜ98ˆÔ9Pµ‚Âí³uÞyÚÌQÿ4žåËm'úÌ•”ÿãÎËþüãL¤4Ç¿ñ–ZûÖì_«3`ȰsÄ´ÊœùwžÌJÆ¿÷Õ‘Ù¼Û—UAö„ÇõgÖo4®EÇ¿ë™Uño\ì¹¾)`Šÿù¬ŽxÎq¾™”èý¦#ËÆ©FÛ¹œÿ tQ¤vå$se–çð:.äõ^®×?ðúƯëwN2Wæzþ)¤Tùçȶ‚üû+È¿¿‚üû+È¿¿Rbþ}¿I ‚‘ ÿ‹èvšÅyÿÞÿ‰üûÏ*ò¿X€üW5ÿö_ié%åö«ŸçÒüþ®´?lÏ…ø›)õ»³Œ•9ðËŸçá/˜hUÿD±Ð¿,þoŸ˜ÿsØn“±2kþéÏ?gÍ»åû{ÏEÍéæ  §š‰[ì?EÌ—ŸLùg?ÀÂ$úCΉgìõÊÏüyiô‡‡Î£±0ü—pþ–݃6N¼&…È‘§8~ö«f?`öà'¨®?Guý©x¡ø/áüăí§èoÉ`RˆÿpR9¢ñî8/ÂÌ ¸Dó?Ó—KF O Q8þW‡ë¤4æÙ9ç’"ÌáqýYÔùèËß&æ´0Eæß~ü,À¿<ÆÜϺeÂÿ‰…¸þw™¢üçìxAþÙ v{ŽSRdp©çpÍÔeRˆÂóoü—vLÊä5wYQ&‚Çþó?TìçÏEûß¡°Ÿ?T*ÿ¿ìGþ3…¸R*Ö?ÎÈ¿¿@þ‘ÿòL§"ù÷ý& Þÿ“ƒ0`ä?Aþýäß_Aþýßø/öü…ðV1.Àü |þ òšÿüÞ-ÏtôX‹„ÿÌÿÿv_à% ~Û]übþ‡¬ù7GKjë÷ïüãœðÁKY*dþ‡løwÌÿ ü‹p¦ÓE·Y J( àÌÿËùRÁ‰í¤ÝuˆŠ¸ó?äsþ׎ŠÄ¿+Õ®³@”P<®?sœÿ!þDäD…HÇu¢€…¤PüÏguü}þ=€m"Ÿtç?v†æ¿ó?d~ü}þýz®¸þñá:ÿùÏÿÓù§Xé, )ìçȶ‚üû+È¿¿‚üû+…æ?ÿÏNJÌ¿ï7 T0ðøÏAðü㯠ÿþ òï¯ ÿþŠoü/ð¹RŽŸC>g|áüD ,îàþ¹t©Åà¿dë_Ø? ¶® fÿÍ5ö¹³ý‹|×/÷ˇÿ’­‘vîw§E.é0o˜ß-Шp°]6üû²þ…Ûâ¹bã¯ñå;hœ§0,Y;æz.â—2€ÿ’¯!}Ù^ ùdlç†Ê_³iø7î(Ñ}€ÿ‚Üÿÿæy^¿èü/ÎjêÝÅ8ËÙ 6’Ku_„í +ïû²àŸ‘lû°Àç-¼½ÂÈ^Û¹ª$÷Ex\æ|ÿCVóÿ§y,ÿÜ•"7Ýùß<ç”䫸Bñ?ŸóúkZ´¶€çŸyy,Û×?òzÿÕ7K”â¾paîȈç½>…ºäpå¼±,À¿aZ’û"àñ_ˆûðó‡ì?ÿñWù÷Wù÷WJÌ¿ï7 T02áM'²ç?Aþ‘ß)Eþÿªæß6¯¦ž>Ç™~Ítô<«TÒO iÌN\ºeŒ€ °þEvüë_Ài™óŸ˜;ל³}‘f”ÿXÿ"þíë_@ä¸HÇá!=±eÀ!Ö¿ÈœÇút¾Ùœ&»é¤=à]׿0ù¿¥È+_¸œÿú™òï²þ‡8³äü&º7¨óZÿÂ<þ‹¼ò…#à‚¬‘!ÿnë_ØÏ|Ïÿ.;ÂåvÌÿoN“^¼•/ìfý‹Œøw_ÿ•–ÂðïH0Íú ¤¢®|±Ð“Ûú™ðï±þEaùwyÁTÿÞë_‡DW¾(,ÿ'æýﱬC®é°÷_àD¿§§_ÿ±$G‘V¾HwÀä¾þE^ÿ¹.ëÏáÄèuüó’~ý · ‹ñÎë 8ÿõ/*ðó‡"ÿ;€Ÿÿ¤GñV¾@þ@‘W¾@þËÈ?ò_žéT$ÿ¾ß$PÁÀûrŒüç È¿¿RÀ€=ÞÜxM¯ôø~Çõ͈õÿ5Y X—ŒXWG–\3Ipìצ޽q–à5kRÇ­›£øÃúWlxÍÍÇ~c^ ~1Á•"ðMø8]-µìΦŸ7.È¿õÅ8çÿ˜ëfè.X5cß ß˜ã´{‘̪Wìü¸|“%?øÒ…鯢øgJ¬ìþýN6ü÷)þùó±×Ä(è aBìŽ5)ŽcWu‚çÅ_;åw–ô‡¥”j~VaTÛ—7?Štù~'kþW XW XW1ŒX_µ®‰X_{]L€î …Ù%«ì°®›[òõëšE‘¿ýÓªNõ.– +3àŸî‚>ë‚}VmÓ’ºÇ|œÂúÔaŽ%+º8¬Ëúènº, ð¹~]æ ­‹¹¼ÿÚÏWÎC=?þk›(ÿl¨½à n@¡ìAÇE·sü‚†žüçãšG¼v2þ"Ì•ÿã>Бþ¸Ra¿ìiý­78¤Õ­8¶ï Ý‘ÿŒù/ ä¿|P&üÿòü#ÿÈ?ò_Zøò¥ò¯à¤¢ØâÊÿ‚ßAT*äù/þxæÀ½•‡’ÓïÎÿqi×"q<øœïÇjÑ×åÝ]§òÖMpºÁÙœ^Ç'4ÜŠeÞ¬¦}ÿÍ…òŽjΊ }ÖGh™ßüùó¿0 tÅ^X¸Rä1“¹:ìÝ&…Èoþäß<‡»0iî×I!rŸÿá¸óŠÏYÂ%Ç<ÌÆyÞuRˆüæ¨ZþEþ^ó?hòm×99L ü»`÷_û‘ü× Œ³Š‚Û¤ùÍÿPµßÙßa…À™Þ K0Øßjó™ÿù/ä¿|€ü#ÿxýƒü#ÿÕɹÜÿP­ü;©(¶dÿþ[…¿,#þ«å÷¿åÊÿhõüþ½\ùÅù '8ÿ‰÷ñ¯ldüÖ×®‚æà÷G®ÓG ÿóOùÓ?ìÕ?Àóú±¯1ÿƒ×ôȦü»ýzÎ Ý4ðœÿÁÃòŸž×zòï9ÿÃüBS@ ÿîü3v÷Ê“=œÖ‡—ùû€*»Ïÿ`Ÿ>ùφ L:£8”ï¿|ç0º½ç°ï4äXêp7ÎÙ®Ì.<ÿƒÍù_šƒL¯™}ø~²‹×žBþ³àß6镚jÆ©sÝeégŠ@þ3àþÿ¥™VÇûBÿ¥›)"oþñó‡BIüÀÏßüã?ö—üþÅoþñûGäù¯L”ÉýUËñw» ÿÈQÓïû9ÿú7¹ô·ÏN*Jù›ÇÌÇ–‹›ÿ×Ê_¬ËI6 qL"ÿÿð… ¦hP ’bþb]ÿ:žÛˆéhVï–z&ý+x=Š]ïâÐM/¢ÆâQ,d¾þ…ûgmn·Ož Øõüã:½ ã‡ÎN Îig OCïæPÌZ`êY„¶™%TTš‚,Ö¿Íà›2·Û'JÀ¿:ÀÀùÇÉ¿szW=탹Cõ1 ¸uu˜f ·ÃÃã M»þ…û7eM>\4þÉ1 Ž1OnÓ¾FÓ¡¤Û ^Ó ”1ÿ¬wã?£¹· ÌÓ†kÁ ÖãøºL/ãοmÚàÓÔ{9tè]Ï?2*7ê­׿pÙSî·O—>½’|_s?äV9߸¹œd/û‘ôiB½©áqª¨Ü9Z`ý ¸¯Œõ§\nŸ(*ÿ‹΋ɦçú€|ÛípéoŸ@þ]àÎÑBüG¾ åÈöüg¾þ…ÇåeÚ[%àÿ8ä?ãõ/œ7Á{ s{ÿEþK&È?ò_>X üãý~ò÷ÿøËÿ(Þÿæ7ÿ£•{ÿg™Üÿ° ÿ•Šr™ÿùGþ‘äùGþ« 9ÎYUõŠBÄ ÿÊRÍsëe‰ügʿǪ æ¢zþa皎éÓ‘ÿ…ù_`Vm°Iæ–…æøHK°w÷ }]+ºZŸ-ø€×U-ŒÅÒòï±vFaø'äõøö¶‡Ï¾êkéú €IŽsU Ç®q9SÁ&›eùô¼HÈ¿ò¶íÏ4u;,F±7ì³Ê»ðÆ;ußö°A¸Ó²Ðü“#ïþ®W*EDþä=Ôû¬âþ&›µeø'g~òš›K09ºØ‘Éûoº…¥Ì>“%¨ò<þ ÿ³Tf*¶“¼ÛùÇyJ7ÖüüÂ'/þ3œÿó?=œžžª 8f.ð’Æm1õß–ñNnÙ—ò?55Á(0o­«Ûz¸ànÓ"=WÅ@!øçÁÇ=A˜4n©ß#¸õîÂ{Aæ¤î¾f÷Ö¬\ycqòŸœ$ˆy¢mK]Ý–¶4™ô¢Õúuuµ÷µeï3cãÅÈ?|b"ê‰ÖÍuu›[ö¼mxU¬{R6© ìÅ»<¹ÖZ×høÔöµÛZ‰e#ñW·ítE”‡¶I ¡÷F™ðÜBóCþyä‰Ä¸'Z6›çŸµ»[({-L_¿›Ùì^KØnIìªWn°êîzf ªÄ~ínÓ€ G”·ÖÕnmqsåÅÉÿ8A"ñD˦ººM-N Ô{iœN %y6öìšÝ̸ek-=Ú·¾ì€#ÿ<òx|ÌÍëê66;5Pï¥qsÒ¼µ¦~«Ãâ‰5Œÿžx lîÈ‚ÿxœ‰ÅÆ<Ѽ±¶vc³Sõ¢ÜPoÕli¦šæ-5ìe8!f–%ì­úFÛˆD¹¦¸¢}©Æ;B 'Å–üßù‘‹zBPçÐ@½*7ŠßÕÖ¯6zÙœ3^¥ÜJÑ{DÚX«™}c=kßÒ”.ÎØèbäŸGŽT#ÿ,òpeàØúùÅ‚cV½‚@ÇÞ8»X`]7W¸ffñ UX1€ðKê,XµM•‡ô×{@ @ ˆÅß' ¨rø~ @ Q|÷g¿Gø‹Ò߂ޢù÷Wù÷W¥|ø·­$¹Ð22"…ã¿÷å¹ÓE×NZ¿ž¯¯¤–yËxIÃE,Š°Î‘\[ʹòì ÌÂ5ð²±°•Ø€Uö\|rñ‹Ëñ/‹xeÅ ßGú¸õ^®ÊæÉ9ŠÛÚ·&šÛÑæeh°àÉ9íl@ìNÙjŸÕÈÿrxÚ!E¸¡â?“³A–ǿѱŠÏ?ËáY_ð`î‘…éÏÿB$ÛÕùþ«Sub¹ö÷_'Ïy]ÿxýé*•öMÒðd¿XR>ÿÿV§ ÿþ òï¯ ÿþŠïß~V9|¿@ @ QTø>B•Ã÷@ @ ˆÀ÷À«¾@ ¢,°ïΚš;›|£jü#ÿB²ø‘õÒûlËBþ‹ŒÕÖµ jGP¶·¯¶¬Õ;¡Æÿ +úP§rmäù/ÿ6†‘ÿÒBŸmÈùG¼4mXŠçÿ¢Ãùn»óZQ[u-ÿ@ @ ò‡ï7@V9|?@ DÉÐ×õ·þî=/{÷iñ2#MÄ€Xû£«õÙ@ Wb6¬¥ëO[qû ?|0>Ò—ÿ$B¤FÛ–ºº-mP“ l½`uO½•ƒÃ!+6ùËøÃÿÍu¬ÆuVí}m±Db|<ÊhD¤FëæººÍ­N {Þ¶NÓëž”Mê0‡½ '$°µOêîkŸ4:ÖnkåU¦7í[ KÙQy–åÖmµ.10dÅÆ¯þ4öËgÇ&Lƒ…=Ç#‘±#¡ÁÞLFTAj´l6Ï?kw·Ð4[˜¾~7³Ù½–dÚ’ØU¯4Ü:‘Õ–­µ–­;í¸v·i¹»8¯ß%õzêGëA_êYxÛ]/ÝJdÅÆƒO$L™ƒ¤@$‹Œ …{2㜠‘ˆh´lª«ÛÔâÔ@½—vѯ ¦·»xÍn¢Ü½†Ò›ˆì®¯ÝÚâ1±ttW½râ@Vl<ð‡ðÏþ8ât’b±Ñ±ÑÁ#ÁîLFTAj4o¬«ÛØìÔ@½—fA'^­¶Ö­y"ÞPÏ›\‡°Ö<áé§ï…'L·Y±ñ“=áŸìŽÛËÑèèèÈàÐ@F#’—'A,6¦Ñ¼±¶vc³Sõ¢LR®ÙÒL5Í[j,ØËˉ¨R®êÇŒq™“úú5µ[˜CK:D}Õ[kc`Ðæõ¼KìÀ–ZBVllm mݲE•)H`$<:âÈèHph +3þÅA¢!wh ^•W‹7ÑúÕF//'°ªN?ЭµºÑf¯-E¥Ý”ùL³¥ÉÈ%6š›Žlj²yÈM[X ããÃ#áÁ@g&#ª +Y±qïΡ{ÌwÄH(êÚÙˆýéGd]ÂŒ¬Ø¸ë± Až#³ê¢ja]7‡ðפ|ÅLµcÅ€ŸøD_µ£¶ÉG,©zx]b!@ @ *¾O@Qåðý@ @ ¢øîÏ~ð~O7‚‚‚‚‚‚‚‚‚‚‚‚‚‚‚‚‚‚‚‚‚‚‚‚‚‚‚R9âû Ußo@ @ @¾O€Påðý@ @ ¢ðýð*‡ï@ @ @ @ @ ˆEßo€¬rø~ @ ˆ’¡¯ëo ¢«õÙâAÒßýB çÅ`ïþá#-^Ñ’&b@,3 ;” qkéú2Ái+n¿á‡†‚ ¼ø'äõøö¶‡Ï¾êß.ö™/œ³âûßÙöHšãŸ¼@ùWÞ¶ý™¦n¿gî/Œü±yª¬@ì±pGþ‰ÁÞý]¯TФRGËÿypò?M‘—äøX¯ÿäÌO ææRLü;OÌÎΔ¦÷¼<¹çÀ$¡7éKsüƒY*¾\LOO•’ÉÉÆý‰'ö'2áz:é{À…ÂÔT‡·ÖÕm=œÆ p˜œŒ7¼oØÏ„ÿ©© †‚ÆPÂd!,&u÷5OMÅí!9ôùXz`r2öØóÑÏG3㟟ûp{ê-%7=‘ 9'>9Ù¸n]#+˜hÛRW·¥Í©ÏÇÒÑGþ2Nÿ$ìxÎc´ÝWkYõ{duϺú=y§sâ­›ëÄQ»­•Uë6·:õÔ¸qÉšZ·ÕÊô¼ØÈVý.’;îzkín^n¡Á´ðg§>qpkU¿{\vTz Éñxä¡§Çzz4þÕ.Ë$Z•‘=’¬H­ek-%ï®''¹gM±{ Ý“t Mr·rY³›hê6µxé‘„‚S“%âñ±Ÿýaä?ŒdÆÿ8AÎc¹G«’UM4ñ5Œp–µVšlä‘5O<o¨·Ö<Ѽ±®nc3­Jp—>½&KÄb£÷ï ÿdÏp&üƒÈsÉ·fk³©t&Kʄ݅²íÂR~ˆÅÆbÍkk76ÇèõLK«ØRë°´Ö4Æ MvˆFG·5†2ៜ¬r‹ yKn¬_ÓèH–ÚÔ7Ôê·Y×liv²‘Ø‹ˆ¸%G £QJ-=XH½©©o¤}ÙñQ»¥‰úÉÑèȦ†#›†2ã_¼dòÛ*‡†˜K²«©eƒºNÙ9ÙÈ$ñrÀøøð½;‡îÙ9˜ ÿeyÞ—Æ#¡» Þ%øïOÏù„?ŽYõJ1`]7§qMŠ`plî¥O¾cßù§ì»ðMug5]|vÓÅooúÄÛ\üÖ—?qÖÁŸÑòñ7¶|ì´Öe§´\ð÷­ù»–¾êå÷-yöÖo–¾y~~Þº4a]·wgúUéËy&›J=ztvj"ž~ ø2AžÉÎÎNONÄ£‘púõÎÊy&›LN&b‘±ð‹ë• Ø×¹Ÿ &'ã±èÈH(PÉÆbÑðH¨¿’˜ˆFLJÃGúª!ÙDb|<ªŠdãñHdìHh°wq$›ßG©ñøXdl(4ØS ÉÆb£c£ƒG‚ÝÕl4:::284P%ÉŽŒŽ‡ºO²¹Ÿ ÆÇ‡GƒΪH6 ‡úƒöôkÑ– òLÖzCÓñç¶Ÿ¶*rü•Ý^öNÏ…•çžy¤ØCV 0òŸƒøÆïËåÊçë÷¦Uf#"àÈòzóJ°bðÃVÁf¬Ì†ÿ½ëôÈ]¸*óHGę۞,‘“¬Áf¬Ì‚Ò]³+9rUæ“NînJ'0`ƒ€ì•¹žÿÁa¿€raY˜ýÊ•0›¤šX÷‚r±L†u’š¹2Gþi²g®Ê,ÓQŽ ‹¶S+2ºÅhT ÊÅÇÓñ–/·è3WæÂ?KÝ~”¹*³OGù®Œªäîl{¹è¯°qÌÉó{æÊìù‡Ç]ze.éhw€C×·hãU.šx\fýV@ƒÍ†ÿ‚ùîédzü/zþç³:þ {ÒO“N¦çÿ2à^q¨7ØÌ•ÙðÏÞå !î\•¹§£ÂËìúg¯Ó¾äÇæÿ’º*ñó‡?ÿñWù÷Wù÷WJÌ?Q$”Ãñ_Í‚üû+È¿¿‚üû+È¿¿‚üû+È¿¿‚üû+È¿¿‚üû+™ð(俚ü#ÿÕŒLøßñðýˆ"¯?ý<ÿø äù¯f ÿÈ5ùGþ«È?ò_ÍÈ–—Pò‘74—%ÿ~ÿË^Q’ÿ¯h™³m ®™s)©º—oÖ4ç5€gdÐÄ1®§;©5섊m];-9mÎÿ9!©}òLÿ„:¥JJD{JTd›+ Õ+¥êÐÅœJl2û¤ÔC©êjLm¥7sÚÔ|Vc…ÖÚI©ÔS)ÃI*Âaªø§óÔYN±¿£°-¥ )¡ƒ}ìÖÄÊhv1b°aºRýŒÖ”ùäfbêSrD06 :%ÿžR:oüÏÎΰ? Rž™‘%VžÕU &¼•fdmF´#-¢ÃŒè!Æšá-¢ Ú…ÌÎêã™íl˜¦2?=ŠŒhfV§|ÍÌhJ#ȸ=0ùøŸÖ’LN»Hr:É“´L«Éi±I&EÞ$Jj›´ù‘JîEº…½ÕˆÉi»Ÿ¤ÑªFK#hbËF'ǵ)RÔ±ê0’,Q ½aêÉøŸâ29¥dÒ(»ð¦I‹I³ë¤Óµ§OÓ–8rcÒé „;™6ðÃ÷ÕÕÝ×&#‡Ï.…IG*Î ä6þ'„$Ä3Ùî^§/h×=©ZÔ#Á4ô9Á;ÈÞJZ¶ÖÕmkÕu`“€*=*ó½èA&Ô8 Óï•=€ê3aÆ%GH´n««ÛÚ*2˜˜ U­ò>†N$$+z€DBo$“ÈÿX<#òG ±æ­u–UßH«Do¬'åxLýÅãbCû°ªÜHaÍÄKíÖæx<&u²+ÄdgÙ3Æ•1i+¥­0âM²ÊZ•mL%ªÒ‘Ì.®ÜÇ›·þ›Uð"Ÿ¸NDš ^`E¹W9Ä´aüG£ããì1~psmíæƒ¬e òÌt›×Ûµ»ˆ‚TÅkƒXFy»¥5Ü ¨›öÜ%yDµ[*kÙx‡€ñ!asP JF2 a«ãåj5]ÛÈ·Ò÷®èxô΢ñèm\KjdU[<´LVDD…8§Ö®Õ°¬mÎÿ1(6ÖZkD%ž"DYc)mÃkÍ.^|ycMÍÆ°»j<ÀšH_¦jàŽûˆku»Kv¬%MÌ82¦=È†1Ž4¬1ÝŇ$ΨAóE‡&…/>iPYD¤sÑ ª›tš¤·xˆhõ¸œ“š/GÆxŠt(jüŒŒ„)èßÈKjj6ìçU%û©ò%¢$ZR6>ïX½“XB%íV]Fìö«vrŸ`¬i¿ßÅùÈÎU¤!¼sÕꤕô&Ï«wŽa#;W¯Þùm sƒý2"Ô-k屨,¤#5:GÅöÏ"¬m(¬®8¡š«IÚ;™Ïìù¦"2"Û+­e÷î ±ú0Ó„†÷mXVÃt¤²ïÞeË6ì ±\ˆÆ"*fK-I‘jˆ¢#­5Ô~˜ºç†Åƒ6QÖ‘•©s1¸2#º•;_EG ÞWîܹjåÎáaÀ¾{kV>Î BÌàñ•«vÒqkXP"*kÕãÒ9º†FÔ;Y‚´ºÇ R¾—Æÿø*A†N\Æ=poŒ4âŽvÏÿ!S^¸g™e­Ü!«;V®ÜATËîyA)`3ï [i_^¦%nå°wë(ËnÆ/ܳrÙ2éu%JZíJÄâ25¢[^uä¶ Œ «ÂŠŽ˜ÿÁà@p€ Ùùë]ésÀÒúEwý•¶03ØLõÞ(k7ÜÈ,©W’šÝž G‡ânùà¢<´;'Ä“´ãÅ ˆ”w ½ÁR£Þ z À4nx4†ˆ²èk]tã ´ª•A•2uhäívŽx@½+þûûýì`&¤uñè×ÍÊŠo¸©Ó àRÔ0à  ö ˜f: R;†Í€è€¡€mÀ1TÀEÇãeòÈ Öõ(¿ü袋~ô_Žlsà¿WK}ôðR¯šÏ²ô°)`[¶2Çøt“Ûãê祑¦=¢æpç›-@×*}úõuê ¿î×p€?ÿð øœ#¶øïîêîêêêî¦ nVêf•.&Ò€60#¡dúnÙƒ™s…ðÔ%êº{(vƒt.ÅHRdÐÜDX¨»¥NEØ ÇStL"¡n’ŒEÇÕ¥"éÒH·Â6þ;ˆtvvvˆ­(± Ó+E'ƒjã¦Õµ)}RÝU‹6èTãvjǰ³Pvr3µéÔw(ïÂK§ê£ÃQcvªÍp: èÁª,¡ºØŠjšÿ‡n?ì*îêvØÖÞ.*í £ÜN,Ûmµigf8 ëÙ¬Ú S9¾ÑhóiK ÃP{O§'[ʼÞ~8þ[mÒ6m²ÛZíJ³¯jo–fllƒ¸{nóèçìÓ&C0†u÷ïph é6ŽaÚææ!þQ )Yò(,俚ü#ÿYá»?û}%a1òïãí‚äß_Aþýäß_©dþù2îën•‹,bþÁzîW ÿ5ô.†§Duß55w6Ÿÿõp9-×%_ª‡ÿškW×,ݸ¯Äü»®„^ÿpaž’,’—™ˆÿ;›v^k­ÚùoÚ°T²Áv Õ“ÝDë«w>µQä.ƒ–B#Ëü‹¥—\|¾¾œíøW‹Î¹.N꓌ÿáà «ŸÎãŸïE)©ªµÜ¾Úº¶ÁvîÊ€!|7p>m ìÚÏ?‚÷r¢¿ü ö ¥Øô6{ãq¹/:ÿaŒÚVtáŸÛ•ýåŸsVoP¬šïiøÏæýBñ¿\±èàYì çûož UA Ëÿ(=™˜G;#HÃ?ë"Þ28ÿ8óV‹ñ-_¿Þõø÷Z„×G)4ÿê¬NßĹgÕµéŽç™*«óVRF>Bñÿ_ÙKyú™Tÿe(È¿¿‚üû+È¿¿²ù¯$,:þ+ È?ò_Í@þ‘ÿjÆ¢ãß÷+–*¿þù.^ÿ#ÿ…äß_Aþýäß_©þé׎öo =îK)?)>ÿìVŸÂÝ‘eãŸ~£È¿íeÉzÙ}Ïë%Eç_Üvåþenžüë[Ûìd—á7îRlþ›6,­ÙðTÃ*óQ—oÛ³¾ÿM³n¿Ãañœ}ŠÎ?9ùÀ[Ý»Môý'¹Üÿî?qÞ]~7:xHqù×w’Õ] ò½ P÷¿¹ìË ¨¨üƒ[pÙɆœ‚ô !ßûß´Hþ{X¯ïHÇãøðÆpc›¾ÛÖv§zŽ÷¿iw8/²ËÏâòoØ’yzÿ³×ûo‘ï+?ñóÿ/õ“lPyü—xý#u_è‚oµÈùGþ (È¿¿²ù¯$,:þ+ È?ò_Í@þ‘ÿjÆ¢ãß÷+–*¿þù.^ÿ#ÿ…ä¿Úä¹gq*3<=/ZK׎ Œ ŒR -^ÿ=ûN[qûÞç_ô¶öõ4÷÷´Ââ‰_S¾¼3n(èuNt•ðkVwm&üw^Füö7]ÿƒ?uó–_<ÞØzà/‹-žsçˆî 0Y—ýËTÝÌÍú>@8OAùj&Ï·ÝÿèÙWÝAND€…Øw»“N¥¦Û3½å þÇÂãc½‰Ø‘©É±äÔøôTt:YDÌÎN|'æÁëz#%ØŠuc§‹ÿʃ+ý€GÊïòåÞ§úåÆ7{å@š=‘Ïûoåaúœ@õ\ÉÞ¾ÁmàÙÿ«–ÛíJiÏ"ò\ãzþ7NÿéÜ ÿgÏ¿¡DþsãßÁ¼2nøvœà¾3. ÿÌù÷¸ØtÞS¹Ðÿ_øþ›ÿ¥äù/ ÿÈÿ¼üâäËù^8î3á4°–Ç*åÂÿi[g<Èð,䌇Ò"ϧçŸåÂÿëî·N¹» AØ(=J¿ÓQPPPPPPPPPPPPPP|ß?€E ¢ ±ãáû>Âïë¯jß_€@ Q%°P|¿ÿÿ®v™{Å&sîÕ´vŽF‡Ì¹”TÝË7kšóÀ32hâ×ÓÔvBŶ®ÈܵŸ¡H¥æRsTR|#„ÖH•o˜eJªSª¤­y;pÇíS@ z¥Tº˜CÉíC¦`Ÿ”zÈ Uä‘RŽáp0R`RO¦Ö–HJ¥žJNR)ŽN›á£LR²ÀkÆF–SìÏ0I©BJè`»µm7`!KÁà¦+ÕÏhM™OÞéÁlR*->6 :%ÿžR:oz†gggfgff™°-¯Î°? ª›‘%VžÕÕYÑ›÷™‘Ž”åì¬i¤Et˜‘Cs—2^PíBfgõÀÀñÌŒv6aÌS™ŸEF4£¾ff4%ŽdÜŠ˜|z†§§§“à1 ¶¼bÔ”–%i+C’;HRˆ.Iå :NÚüH%÷"ÝÂÞjÄä´ÝOÒhU£%4±å£“ãÚÆ)êXuI–(ЀÞ0uÈ® ÃSSS“SB&UIÔÝŠ“fƒ]&]=éÖI³êpíéÓ´%Ž\ƘtzáN¦ \¹µuv-L:Rq†KÃpb‚H‚=+I˜…Ý&L«„z„r”à€Ñ%aj€Mªô¨r`èBG›PÃ%ÔøÎA©Ogªw"!30‚QJ#¶z|##f#wVˆÇâDäyÄb1ú§ÖçU±‰ñmÌPÆin,ûÄAטުÑbª“eÏWªÈ¤±´F¼IVY«²Õ‘K[éHf×!«0´cÈ‘ÎBU”{•C ¦e¸VüV»ùÐøøÁ͵µ›7¯%Õµ»Æ£¤Ç©:i…ÆJFùƒV¢L÷r#*”ÉxTèy9:®ž¢QáC4ßQéA=À¨°IÚFÅ Î=F£ÊŠEòI:ÓŒƒp¥'‘ETG>®³ÒŽ¢0wå¡aŒÉ5µ_>@—Š]³Kj¬5¼u×RhXCš"´eS-máÆÜ‚4Öl<@ ‘17ÚHÔ#»EÄ0w\}Û[#걫¾"N]Ä£ ½;»œ¼ÂŽÈ¨€|±jçþ 55^  ìdëD­Þɪ#¬iÿˆ,cÚþhå½GÂ#¼)–¸UP C# .¼îÊ?43{ ×á°Ù&"F–›*è¶060²R…@i« 6¬Õöì¹å¾Ph8âOÃû6,«¹wßph˜ ×ò½°òñ}÷.[Fš†iã¾{ ÿDSC5Ô,D:.Û°/„9 Q/왆…>$Û†ùØbtþ¶¢’VÚ„5q/Ò™ò,µ½O8{^Y‹§Ð°[w†¡‚®!é!¤Í†‡U †$rîWîÒòÂ=Ë–Ýó‚,¯E®Ý±’솢NK¦±(‹¶¡¡”+B.R§Ÿ‹îúë_ﺈ<‚ÁGo-Á`p€´ Å ’:72kÑ‘h+íO ¬¥¥ ÐÓâ€ÐÓA„=5Pö ïÀ€ÃϲA™×Ò'êM¨X·Þ40 š„-èÈzrWÌF9=‚z΋lec UPz#Ê d`@,FÔžúûûTè¶ŸK@?JI‹YOݧôe.û®—r  † NÀ`°gÀ4ÓxF":£€è€¡€mÀ1TÀEÇãUijŽ Œ ½îeÒ#ŸzzDEŠTÒ’jƒÏ²ô°)`[¶2Çøt“Û㚡ó4í5‡;ÏØlºVÓDå–RMáÂpwwAÛÐB-“J—бªh¥•.n" ˜e·V2}·ìÁÌ»…C>ˆ¨ëî] Ø TüI Ðe¸#I‘Asa¡î–:a7OuÒ1‰„ºUH2—bKP \t+"Aòn wvttp¢’NQéììÔjjÛ ìxGÕÆ5L«;kS>„è®Z´A§·S;î„…²“›©M§¸Cyï^:U޳S l†Óil@I˜ÝŒ†'ùJËða!íä?ɺ«¸«Ûa[{»¨´;,Œ2¬½Ý¦Q›v‹h£°žíÀÊx; Aöl÷J DmŒ ¼Ú{:=ÙR¶êÁp«SÚ¼4mü©ÍÑØæÖ ôUímÀÒ,š·e/·nýœ}Údưîþ!ÝÆ1LÛðà2da¿ÍGÉV|¿@ ¾À÷«¾Ýx‡‚‚‚‚‚‚‚‚‚‚‚‚‚‚‚‚‚‚‚‚‚‚‚‚‚‚Rqâû Ußo@ ¢ áû@•Ãïë_”Êß¿­rø~@ Uß/ª~_ÿ¢  T¯ ‡úƒŽ¾îfkéúX$àõ6èy‘ŒŽ Œ ŒR UH^Y±ñ£Ç‚y²ÑÛu°³í¥ÝO=uÚŠÛ±!¯zöƒ½Ï¿èmíëiîïi!… I*+68ÿy¢¥éÏ Oî^^¿qÕ]Û''F¼Fìoºþ~êæ-¿x¼±õÀ_*-žËŠsV|ÅmZùï‘|@^GdW®¹û—áäTÄkÄá¡fò|Ûýž}Õ¤K£ÄlL'£ÓÉøÌt|:ëñq,Ü1>Ö›ˆ™šKNOOEYÇR`vvª#–” ßÿD @ ¢°–Ç~âŒ)NO‹3J‡|úòѽpúCé¾ïã¦Ï(d›Ñ)w#|„ßß¿¡              T¾øþ,@ Uˆßð~_U»øþD @ ˆ*…â«øýÿwµË+¯Ì½ÂEn•Ìy”ÝeÎ¥¤ê^¾YӜמ‘AǸžî¤Ö°*¶uí´@æ®ýæÜ«nv)2tj.Å6ä™þ±"Èg!¢=%*²ÎÍ•…ê•RuèbN %¶™‚}Rê!ƒTu5¦¶Ò›9mj>«1„Bkm‰¤Tê©”á$•áè$ôˆ025”ÃG•¤(蟮K-+¤„.uô¨ÑÉ(¤RF³‹ °ƒ¥àpÓ•êg´¦Ì'7SŸ’#‚±aÐ)ùÇàð”Ò ¨x]sw Áá™ÙYŠ‚YbåY]¥`ÂÛXiFÖfD 0Ò":̈b¬Þ" ª]Èì¬8ž™ÑÎfà` Œ`:#P£ÈˆffuÀ׌ê2ëAÆ­èÉk"„ÍÌÀ‹áéédrÚE’ÓL¤­ ÌŒm’IÑ…7‰’Ú&m~¤’{‘nao5brÚî'i´ªÑ’ÀšØr€ÑÉqmcŠu¬:Œ$Kh@o˜º &oŽ’†á))“FI×›&=,&Í®“Nמ>M[âÈeŒI§7îdÚÀ•[[gפ#g`8Ý}Òaë,‚'¨$ÈCbBIB=‹oL$¸yBÛè. SlP¥žr`èB=Ëq¦+Þ+zQ'\¢P½ ™$ˆ P±ÕãÉ1¹¹º3LjęÄâ1µ‰ñmÌPÛ¸0–}â kLo¹Nöb…˜ì,{Ƹ2&m¥±´F¼IVY«²Õ‘K[é(Óƒ«âzä¸Ì'®‘¦: UQîU1`‹Én2†t GÇ©D؆)ø³(DµyŠFùCZ©>Ž®ÔŒ ÷À i™ùŠ*aÊtÂwTza©Qa“´Š@{ŒF•/Š ä“Ê^2•žDQù¸ÎJ;ŠÂÜ!uicSŠ 0 Sg£êÃ"b˜; ®¾í­õˆØÕ_§.âQ†ÞÝ@N^aGdT¯^ „G(˜„U‰×Ø#%ØÆ[„2Vö`« †F@]xÝ•hfö®Ãa³!Q¨Íˆt [Y©ÂF ´U«Ésd¯=y3<&aO¤Æ4|Ët\O7¢’ eR„^ùÝåØŠ²v=¬G–#HgÃFÒDÚëñ„s#`•œŒ-$\JOªÃ0 t )z´Ùð°*ÁDŽÃ EO†‡P|•à@Ë€|Ö*®`F´a€5°jP؉’0ÊÑm@˜«­2 Óà1(}hÓ t@wÞƒ²«-ÕQ¤$Gþu Ad)ZEð"é «ѹI•§ô úýBH‘Ö¼ÌýºYYñ 7u\Ê€&`8ƒÁžÓLàAjǰ9]0ô° 8† ¸èx¼*M픑¡ÄcÔ•áÞÞž^ò O¤Ôëæ³lVÒcWÀ¶m{€F·¾=rxs\ýÜ£4Ò´GÔî91âÅÿ`Óõ?xðS7oùÅã­þ²ØÑrà9òr.{ÍÝ¿œ˜'§"^ü5“çÛîôì«îð=à‚`:]³³SÅ(>3ŸNÆÆÇz¼ø wŒõ&bG¦&Ç’SãÓS ŸJ¸ïÿ"@ QXËc?qúCgäƒóÀbôœ ç§Üð~ÿ†‚‚‚‚‚‚‚‚‚‚‚‚‚‚Rùâû°@T!v<|?ÂGø}ýUíâû @ @ ªНâ÷ÿßÕ.¯H™{e!™s)©º£ûhšó`ζu5qŒëéNj ;¡b[×N dîÚoνšÖÎ}ð¹TjNKŠýÍ¥DEÖ™QJYÌÉ^)U‡.x»0H¥`—”p–2ÌSrä”ô)z*»”r ‡ƒ‘ƒ”z2µ¶DR*õTÊp’JptzD™J ëL7-ÃG¦ˆ¤èF>”¤l…TÊhv1)®JÁà¦+ÕÏhM™On&¦>%GcàSòÁá)¥PñºæîBJz7LÒ1<;33;3KÁ„VfXefFÖfD 0Ò":̈ÜŽ•XW®—íB¤ÕìŒá˜ÛÉxÀ` Œ`:íÀ(2¢™Yð5£ºÌ:GqÏÈÑ`òÚŸaFó#3˜‘Ý´‹Y]õbx:™LNO3Ðß$™rZèeImeyÚ(/¼Yy5,“Éi»Ÿ¤ÑªFK#hb ­üiOɤ}ÌéédDŸa$Y¢@zÃÔe°0ys[\féžr‘Iþ<éÖF['ͪêa–\|š¶Ä‘Ë“No“º×¤÷Э­³kaÒ‘Š30œî>é°u'§ÒªžHLLÈG‚nÙs‚ý‰ ‰„©6 ¨Rϼ죙Pã$LW¼Wô¨Ogªw"!30‚QJ#¶z|##f#w#W@¢ O†ã1öG„ob1Š8/AaÍ1½å:Ù‹b²³ìãʘ´•ÆÒVñ&Ye­Ê6¦‡Ué(Óƒ«âzä¸Ì'®‘¦: UQîU1`‹Én2†ˆS“)z¦ex<'òò­ÈVJeÊ„{`†´Ì|E•0e:á;*=èÁõ¨°IÚFÅ Î=F£ÊŠEòI:ÓŒƒp¥'‘ETG>®³ÒŽ¢0wH&ØJÓt ‰›m$ꑈÝ"b˜; ®¾í­õˆØÕ_§.âQ†ÞÝ@N^aGdT¯[Ñiá~xd$!Ï#üYK˜«XSXjàVA% =Œ€ºðº+ÿÐÌì-\‡ÃfC8,¢Q›*è¶060²R…@i« 6¬Õöìµ'mÝÓ0< …èƒoD)$ÃÃôÁK¼0,ô!Ù6 ºË°eízX4,GΆ¤‰´×ã çFÀ¼4L…» —Ò“ê0 C]CÒCH› « Iä8 R6‚Ð Ù²3<„â«© øƒ?ÑMÈ&(K (D·a®¶Ê<(L€Ç ô¡MƒbÐÝUxÊ®¶HTÇ ˆWØhÿºGP ²­"xˆô‚ÕèÜgA‘Ð&ì‚ÀÚ…á@?!¢ôó?»AÀ¥`Ö@¥*£¦ûlaȆc`s ºúAd`p pÑñxUšÚ…#(#C1<ˆÇ6h?&íF d¸—KOO/”»¶õh+Ø4ºõíánm]{ôsÒHÓQs¸óŒÍ k5MTn)õØ=Â¥áG*{UÔŽþ wé"Ý]LX‰”»»y-v ¯uw‰z+uK…(vƒ¾ížºÅ]†K1’ÑW˜ 5p·Ô©»áxª“ŽI$Ô­B’±è¸ºT$]šéVØêä»U":XŽ[“©#ó`¸££“K'+uò¯M§l­TÁtªEtvH}§vÜ ; e'7S›N=p‡òÞ)¼tª>:5f§Ø §Ó؀ܡʪ;€­háAˆPA0’EdQQ$}y1|XJ;x>ÜÞ.*í‡Û,Œr;±l·iÔ¦ý™]à(¬g;°j7LåøF£Í§)í`†ªØ{:=ÙRæõvP5¡¸«]neÒ&á.m­ ½ XšE°a¥6û[·~Î>m2cXwÿ‡Ænã¦m xpÒ9p›½Ý‹a¿¿ÿ¯vñý@øß@¬røuß Jå‰ï_€V9|¿@ ˆ*„ïU¿¯QPPPPPPPPPPPPPPPPPPPPPPPPPP*G|ÿ´Êáû @T!|¿¨rø}ý‹‚‚R½2ê:úº›­¥ëc‘€ïïGéa]Ðeñ uÊÝÎD<»,Y’^‘^½];Û^ÚýÔS§­¸=ò=¢&ÛÒôç†'w/¯ß¸ê®í“#¾§³@²$ìÓÊ9Yrô’}ºæî_NL„“SßÓ)j²ÓÉèt2>3ŸNÆÆÇz|O§¨Éú?&ëy~'(ßãÇd1YL¶Â“=“Åd«:YZ^, ™¾çé¼’%W_6Ó]:<äÈп …7þŸÜ“]œÈ-Yg¯E*˜¬L¶Ûë¥E*˜,&[‚Éb² ˜l5'ëeS1Àd+˜l¥B|ÄÁþÅÛñðý€ÎÆTÓÿ³,ÊOó<Œ}“Åd1YL“Åd+ 0Yk1K¶Éú}•—»äì+Pæ\JªnWIkšsëunmªÉ1®§;©%Ï9$;—bss)òD·s¢ÎL%êZ„™4H¥`—”p–2ÌSÂo*%}ŠžÊ.¥Ãá@P …yÉ!Ù£G¦Ž ’ÅQ›ØL€EŠ«RªEZ¥l=A³½5e>¹™˜zæ?‡dggfgfff©Ì0È¢’fÂTÜÚ±ëÊõ²]ˆ´š1s;®žƒÍè0f€é ·£ÈˆH)‡d“ÓÓTĆmeYi’j“d´šT-À2™œ¶ûI­j´$0‚&ÆÐÊŸö$}ä씋L’?£*Ÿ¦Ì’½—Ö8štšO:½Mê^“Þ#@·SS9$;‘˜0$‘05 õ¤ô ã™w€} ýL d;pÅ{%@à€útF¡zSÇô‘C²q-1òÇÁ·\Ç«¢@„<ÅUs<Æ•1i+¥­0âM²ÊZ•mL%ªÒ’M"mÉF£ãããäÁ¶r#*´!*d<*ô¼WO¬•—˜.—öÜõ¸‚·ŒMÒ6*Fuî1UV¼È•9$;¦%ŠPDìÃÜYpJÄÙQˆ]íðqê"9$;&##aú42ŸÕVAE””aXWà=Võ0D* Õ&"F–›*yäìððpˆ ÄžY0 6¬Î·Ê<(LYYûá>´){ðð”]m‘¨Ž¬§]ê³I¶›ßÞÙ P.å@ ËØ ´{Ï€i¦ŠÌMŒ€Í€èè‘€­Š"‡d{]¤§G• 6öô:¥‡=zLs±…z´i¨9ܹù·˜C²ÝÝ]]¤ÈjäÁë]¬Ô-¢Ø ø–7ð·„.¹¡ÑW˜ 5p·Ôuwu9úð‚pØ•C²D:‰tpéäOTÁtªEtvH={ý„A§Ô1?rÓ)L„90÷Ò©úèpÔ˜j`NÉn?¬Å¥Ü~¸½½Ý¦Q›vögviF¬g;°j7LÙ¦ÝæØæÓ”v0Dɶriã6^Q% T[Y¥%Xv“6~Î>m2cXwÿ¼œC²%ý4°Ð’m²™Ø/j`²•ŠªMÖ÷‰z²E>ÉúüF–’{²?D-gÁd1YLÖïð³L“Ådý?;Ád1YLÖïð³Lvád/ôœ~§œ“Åd1Yß?S*ÅgP2Ùlû.:`²• L¶RQµgc¿ß9³L“5“í^Œ¿ëÁd1YLÖïð³L“Ådý?;Ád1YLÖïð³“Ü“­ž;Ü0Ù²—<“õý3¥’|UM÷c²•L¶RQµgc¿ß9³L“uMÖzCÓqç>mUäø+»}?™d‚ïVÖšÝÈ¿¿RHþ÷ÝYSsgSéøß»^ÿwù½j€ô>°ÜlÒ .ë÷´âaãÿ5:ˆküáß–|&ȾÜ#Äʱs˜n/![ô÷´±é²“¼øWlï¼Ö"åÅË?(êFÚvw¸êÕ;'g) ÿÃÛW“—ãã*ñ’X½“5¥ã5âm³tã>¥‘å Î?à8^PEµÚå pûNÊÿà/ÿM–Šã_QÊ_t¿ µYµ}Ô݆íxˈÿ4LxjÔÙ›TäÍtð@†¶qºF…8øóå_Å¥HS¯^¶iäkÄnc¼ŸÉ}±ðùrá<},¤1FÅýÀ6äàŸ/ØùÇÎtDž`üŸxqÇIWôžðÉöWÕÎtŸÌqA—ÿ¸0\Ð r é´Ç­3dxHŠ„‡²Aqb8½hÈ9Œ×ÝOW¡Bø¿ÿ‡‚‚‚‚‚‚‚‚‚‚‚‚‚‚‚‚‚‚‚‚‚‚Rxñ}¬*‡ï7 @ @ (8|_«Êá÷÷oÕ.¾¿@ JŒ¦,+ Z>—&ìœç[+7䙨ŽyZŠ›/yYéËñÊrŽ̨MÅœàlã ¥Øùº¿ÑØùçÑR›ß>Ý¡Eýþ˘ä<;I(U¾å†²ûÿ«Ê€ü#ÿU‹ÈX ÿ9¯·…Èüí/x}™Ïz[åß¿õB•|ÿ›&G@ ˆŠ„ÿ `U9^£*›e°²Z`«L–+R ú\xe«lÖíÊnͬ¢­vúCY XK˜e¿Àªrøýû?”‹ï `U9|¿@ @ @ DÁáûXU¿¿«vñýˆ@ 1|¤%Ø»¿¿û…¾®¿•Õ6ßÚ‚ùò‡ú|{ÛÃg_u‡µt}±ç¬žõ¶Òäèy‘åmÛŸiê.Áõ¿ ©ÚÖÛòÊ—ðOŽü½û»^)‰À¼¦Cü[…Î7ëš/9ó“ÓÂÜ\Š€ÉÑ¢ùwÿ„ÿY*3%òïÊÿôtrzzª@þ]ùŸšš`HÅå?‡5¶2÷œ÷RPiùçüÄ ‹Ã÷ÕYRêîk&š¢ó_œ¥aŠÏ|r’ V@´ÝWkÕmiÕÆul”Žÿ4kl»Fš9mÄJd¤µë¥ßŠ—Õo÷uƒÎØÄD´p „×nkšÖÍuu›KǺ5¶ÂOƒUÆèŠ6¸YñNQ"1^0´P¶[ å®zkmÑùÏd-M;ÙŽEpœëp•‚ÿq‚D"R0´lª«ÛÔb( ÿkJtü§_c‹‚œRˆAÓ^çºK®½ŠÌ?§(+ê­š­Í@Ó¼±®nc‰øŸH¿ÆEhßö½O7Èó¹ÃÆÉÞïæiøÇ ù‘Xl¬€hÞRcÕnlU²;¬Ú-JÇú5¶œ”Úl|ÇÓE|ÿå‡h,6ZXÐ] ¥¾‘jŠËy# ÿœ®ht¤Ø@þ]ùgä„Käß•ÿÑ‘¡‘‘A‚QŠ¡âASmëmyå;гï´·ï}þ…@ok_OsO )*˜*YokÁ|û›®ÿÁƒŸºyË/ol=ð—b¿ÿµax¨™<ßvÿ£¥ùþ7 çÕ‰±pÇøXo"vdjr,95>=N¾ç‹@ DÂÿ°ª¹¬®•ÍŠ`Ù¡h‹|/ŒÌ×;sK¬ÛU4qÝ®â!›˜ó\>Ìï°ª%¸Å¥ÄâûXUßo@ @ @ Qpø¾V•Ãïïߪ]|"Q…èj}¶xP«\õw¿èy1Ø»øH‹-€¯·Unù–`Š3‚ÓVÜ~à Øâ)ñz[å–oi®r[zCWÞ¶ý;Ûq%^o«4’y¾¥Yåê•Wæöîï${|,Üጧ”ëm•J2Í·Øë[q=:;5'/·ñ±^[<%^o«Üò-É*WÓ“ñh$LÆFúœÇƒUÂõ¶Ê-ß,q•LN&b‘±ðPšxJ¶ÞV¹å[Š%®&ã±èÈH(&ž’­·•)o­«Ûz¸ùŠØU{ê-˺iO½šœŒÅ¢á‘PÚxòXo‹…-ä¦' 6¤¥˜ùN¶m©ã‹R‘‚U{_[!W¼R«8ELJÃGúÒÆ“ãz[tQ-«~¬îY§ËyAÑRä|[Ù*TôÙ¶:UáHŒGBÃCéâÉu½­CÛê\ÂnÝV+_¬•å¸mP­{R-È4”{—Öâç»›®KUKÈßÚR¸µ®LÄã‘ÈØ‘Ð`ošxr\o‹o­ÝÆ`÷Z«~3³êwK ]‡ëàÖ:©‘Kqí† u¹,×U”|w·l¢äo]cÙW§*âñ±ÈØPh°'m<9­·å²¨–Ôëu7µ@3^¶u„öTÖìöò\è|›Ù*TÍñ±æ­5V}CAW¼S« v§‰'×õ¶‹jñuµ”’g'st×(¥Í‰MSœ|cÍkÅ¢T¶ÔÒ© »èA4:::284.žœ×Ûb+:­i”ÕÆú5:#¹äÐÈ|i²õÊ] T!-EÎW Ĩ⋂5vÑ«htdt$84Е6žÜ×Û‚‹j‘—0Ñ4Ê ÒÚúÕµšf¯Ê¤—âUËÖ¥˜ù–`‰«ññá‘ðÀ` 3M<%[o«üò-úWäb,êÚY<ý®ñ”l½­rË·¨‹[ñU´†i0}ÝÍt¿G®ñ”l½­rË·¨‹[ô÷´ôvìl{i÷SO¶âöDlÈO‰×Û*·|‹½¾UËçZšþÜðäîåõWݵ}rbÄO‰×Û*·|Kö}èš»91NNElñ”x½­rËwvvªx ]Åg¦ãÓÉØøX-ž¯·UnùÚZ@”þ/€U娤¥¸ŠFæ‹|y­óå…R¯å± –a Y­bæ÷XU¿ïÎNr˜0“c»øJs~‡Ÿ`²˜,&ëwøÙ &‹Éb²~‡Ÿ`²˜,&ëwøÙ &›Y²V[²¾/èPì `²Ùö]tÀd+˜l¥“­T`²• L¶RA“½°‹Ñæ{0˜,&‹Éb²^Éú>p±§†ÉúýAKÑ¥jc߃Ád1YL6«d+~ÞQ˜¬ï¿Ï*Ô¼¼&ù\¼_xIš5a²þN:Y8ñœ¾&ëû4Åž+&ë÷œŠEŸ˜&ëû†Åž&[þ3 æ9å ™lAçåóš¦/éûòœß&[àIð¼æÄËc®¼<'ÓƒÉæ;QžmÆ9Uu˜Ž>¯]'äŒvÅ©&›ï¬t-›Í Ç,6)œÇ,pÔXη{­•~ƹMg&›ßpÎÉÖø l®S®Æ„’xÑç ƒÉæ;ßšëÌf^ó›z·¹ÔŠ0L6ßÉÍl³„‰ªÇdbиq•ëôbYÍ6&’='›ßLb¶)¹Ü&òÒ3wA¥µº±$S™ÁdK:çÕ¡ µµ•v-3ÙN0%’-é¤U0ÙŠŸ! &[ñÓ1Ád}Ÿ¼¨ØsÁd}ÿø¨PŸAyM4“­øY}ŒTi?Å-=0ÙJ&[©0Þz|Ÿô£Ø ™¾çi‘lYL ’•ç,ÃøðëÝ´ÎøM¶X³p” ¤i’ÂÿïG”gžDþ>Ær•בÇJë›Ö:ë=ÖùäïƒÖGHé\Ö¶„<è÷g´üú%îý«]^o«_ö*_Â@AA©`Áóoᄞ¢—ˆÇ¥b åïÈã›ÿò•7­ïªo²Êú]sÝ{ÿå›ß¤­çÛÎð´÷?»ŽóÔ‰ôù2ëTQocõŸìh8á[Kˆî̳_k˜h8áU#'“©ÖyÇmºõ¿‘ÒáNeõoýõmVWødfvæØÉÖë#o=ŸØ|€ØŸúKJ¯?Ž÷yðÏ{N8‰´]MW€>ôÚþæ5›n!êsù5×ÜÂr[ =ùá4œp<ÈíYÐvÒktù{ÄNnikTçA·Ó½ç¼v ¹j9~ôdуë胖ƒwSæo9ž<gÝôÿXï=ƒÇJÚOâö¼êLÁ¹äÿâëÿq¦É;‘ßþæÌ×.±Þj½B¯vˆ/êÿjÁ÷O"œ»»97ÿ‹lò;ã’cO²$G7-ù·%}ïûá­{È_¸ðŠ[àQ%ǼlÇ™¯¥>ÞDöGê‚+n¡¾í²lŒÇx'ÙçTRÄßc'^~ ‘ÖiŒÔæHùX[¿“þö6Õ÷¤~EÇÆ[ϽƒÇýR€<¬e–Ýpaö6âMÇ„›7Þ:ÿ=šÃmK–¯ø×c®"Ç÷­ÄnþZ'·ÇŠ>W‘ëÉß›/ÿû¦[©=icœÓým¾•ÙK^ô¢ó²/ÿë1ßZrÛ’Ï“Jß89^OÝtë}§òcë¸çž½Å:I\e~÷-ÖOþ°çº¥òÌÖ·Yû?pÅ-[#z?PyÙ6F8GË>–õ&R¾ó¤ËÙñ9=Ùª#õ/ýô{·^O²ÕŸI¶—’Ç›bÜO)ßuÌå·\Æòë%;ýŒWÝIt?;†úºé˜_’ò“Onºµ…<èq$÷ïñ☢>_Ïʧ’¸—XgŠòoI?Yþ#)ÿæÃüøÀóFzÁóž7ð¼áŸ=© 2ɪŠöýÄjxŒÕñü‡™&ã¿8§â4œŽ30g¢O)ñìÆ=ÑÞ%j¹ÓêÉqÖÖ-VþßÛz2ðT2ÇñÓî^^8÷Ùæ|ᦨë/îxyýÅùý·»`˜gIl5ãÈ/´¬ã­KÎqÏ;¨qËø-c&Uú›sûM¹Óê±v{½ý-êæ[GY•+ÙdwO¸û?‹õ7yú ÿíJÖV7Öi¦#9þÇäþ¿rîú›rä;²ÿ—ûÿ ?'D°þCqQ³ÿy÷³&w‡éaÜïpËÿ+€Å·™ïe»OÇZöcÂþÞÛÛfY'âIx2ž‚§âix:žgâYx6Ú–x.ž‡çãx!^„ã%x)^†öqª‰Wà•x^×àµx^7`-¬u,ûw˺Ñ2Á¼Ù²‡–UoÁ[ñ6ŒÅÛ±6ÄFØ›àØ›YöÏe5ÇØïÂVØïÆ{ð^lƒ÷a[¼ÛáØÄh?;áCØÆ.Ø»awì=ñì…½ÑþɉÃÇðqìƒO ýÓܟ§ñ|ŸÃçñü/öÃþø"þ¾„/ã+ø*¾†¯ã|â ŒoâŠoáÛ8 ßÁwñ=üÆãp|?ÀqŽÄðcü?ÅÏðsü¿Ä¯ðkü¿ÅQøŽÆïq ŽÅðGü ÇáÏø þŠ¿áxüpþâ_8'áßøNÆq NÅi8g`"ÎÄY8çà\œ‡óq&áB\„‹1—àRLÁT´ñNÃå¸Óq%f`&fa6®Â\kp-®Ãõ¸7â&ÜŒ[p+nÃí¸wâ.Ü{Тà„] +cüVÅð@¬†áÁXÁCñ0<À#ñ(<Ácñ8<OÀñ$<OÁSñ4<ÏÀ3ñ,<ÏÁx.ž‡çãx!^„ã%x)^†—cM¼¯Ä«ðj¼¯Åëðz¼kam¬ƒuñF¼ cðf¬‡õñ¼oÃX¼`Cl„± ÞM±މͱ¶Ä»°¶Æ»ñ¼Ûà}ØïÇvø¶Ç±vÄNøvƇ± vÅnØ{`O|{ao|ãð1|ûàø$öŧði|ŸÅçðy|ÿ‹ý°?¾ˆÿ‡/áËø ¾Š¯áë8ßÀ8ã›8‡â[ø6Ãwð]|ÿ‡ñ8ßÇðC#ñ#ü?ÁOñ3ü¿À/ñ+ü¿Áoq~‡£ñ{ƒcñüÂqø3þ‚¿âo8Çœ€àŸøNÄIø7þƒ“ñ_œ‚SqNǘˆ3qÎÆ98çá|\€I¸ábLÆ%¸S0—a.ǘŽ+131 ³qæàj\ƒkq®Ç ¸7áfÜ‚[qnǸwán܃þ_ÖøÅÉþå©2VÁÿ`U<ÄjxŒÕñ<ÃÃñ<£ñ<Ããñ<O“ñ<OÃÓñ <ϳñ¬çâyx>^€âEx1^‚—âex9ÖÄ+ðJ¼ ¯ÆkðZ¼¯Ç°ÖÆ:XoÄ›0oÆzXoÁ[ñ6ŒÅÛ±6ÄFØ›àØ›áØ[`K¼ [ak¼ïÁ{± Þ‡mñ~l‡`{|;`Gì„ag|»`Wì†Ý±öÄG°öÆG1ÃDZ>Ob_| ŸÆgðY|ŸÇð¿Øûã‹øø¾Œ¯à«ø¾Žð ˆƒp0¾‰Cp(¾…oã0|ßÅ÷ðÃñ}ü?Ä8?Âñü?ÃÏñ ü¿Â¯ñüGáw8¿Ç18Àñ'‡?ã/ø+þ†ãñwLÀ øþ‰áDœ„ã?8ÿÅ)8§átœ‰8gálœƒsqÎǘ„ q.Æd\‚K1Sq¦ár\é¸30³0Wa®Æ5¸×ázÜ€qnÆ-¸·ávÜ;qîÆ=èC{ÐT +cüVÅð@¬†áÁXÁCñ0<À#ñ(<Ácñ8<OÀñ$<OÁSñ4<ÏÀ3ñ,<ÏÁx.ž‡çãx!^„ã%x)^†—cM¼¯Ä«ðj¼¯Åëðz¼kam¬ƒuñF¼ cðf¬‡õñ¼oÃX¼`Cl„± ÞM±މͱ¶Ä»°¶Æ»ñ¼Ûà}ØïÇvø¶Ç±vÄNøvƇ± vÅnØ{`O|{ao|ãð1|ûàø$öŧði|ŸÅçðy|ÿ‹ý°?¾ˆÿ‡/áËø ¾Š¯áë8ßÀ8ã›8‡â[ø6Ãwð]|ÿ‡ñ8ßÇðC#ñ#ü?ÁOñ3ü¿À/ñ+ü¿Áoq~‡£ñ{ƒcñüÂqø3þ‚¿âo8Çœ€àŸøNÄIø7þƒ“ñ_œ‚SqNǘˆ3qÎÆ98çá|\€I¸ábLÆ%¸S0—a.ǘŽ+131 ³qæàj\ƒkq®Ç ¸7áfÜ‚[qnǸwán܃>´/ÖWÂÊXÿƒUñ<«áAx0VÇCðP< Ç#ðH< ÆcðX<ÇðD< OÆSðT< OÇ3ðL< ÏÆs°ž‹çáùx^ˆáÅx ^Š—áåX¯À+ñ*¼¯Ákñ:¼oÀZXë`]¼Ñ¾…1x3ÖÃúx ÞŠ·a,ÞŽ °!6ÂÆöµ#¼›b3¼›c l‰wa+lwã=x/¶Áû°-Þíðlbìˆð!ìŒcìŠÝ°;öÀžøöÂÞø(Æácø8öÁ'ðIì‹OáÓø >‹Ïáóøþûa|ÿ_—ñ|_Ã×q¾qÆ7qÅ·ðm†ïà»øþãq8¾à‡8GâGø1~‚Ÿâgø9~_âWø5~ƒßâ(üGã÷8Çâø#þ„ãðgüÅßp<þŽ 8ÿÀ?ñ/œøsmzO¯‡Íæ~sp.ÎÃù¸“p!.ÂŘŒKp)¦`*.Ã4\Ž+0Wbfbfã*ÌÁÕ¸×â:\p#nÂ͸·â6ÜŽ;p'îÂÝö>¢í'êìk¹§ÿsyöçö¯v~«Åyï¾=âkq’hdVë ÿGÛ*•ªùŸí«î¿‹}ëÊSÏù­–=G½ÃÏð_1éPéfÿWíéöÿí«zö{´[É3køë0Ëo^Þ=Æzýh!„“ðÛÊqÖ‡§ÙŒ8-÷FI0¢(”ÔfœZ2”Ì6툕ÐbÃÿþžZJèaS4вÁ%²kEZrÉ„rüÃõ (9JâÑXÔïZÔaƒ?òßøßɦÇO´Ö¬¶è¶CSZ±ðöƒ“bþ>KêZa’\§ P7\–Ô)%´µEÛ†ðw­(”Ô®•Ì”Юé᱇M‘(§?>Q߀"ýüéð–…#Vr?>3¯µ~»Øn3W¥ßyÔš.Ç-iY-ûŽÃg}¬%„B”2TÙï—Ø×˜\=fJ,)+G!„(ã˜*S !„ð&ê1!„^F=&„Â˨DŽBxõ˜¢¼³({uÊêµë7®Þ¼eí–­ë¶l[·µÙ²cGÉá¬elÛ¾~ë¶¥«×VðýU !Ê;sWfññËwŸéתF\m«|ðlãã>~½[ö¦Mk¶l­àû«B”w—¥øR§!½Œýö£I3ç{‰3çý•8ïÇŸFê;òµ.«6m®àû«B”w¦-]ÎoóSþI˜Ÿ’6wi꼥˸á]ØþÙÉ)Ó,?þGökåú|ÕcBˆòÎÔ¥iqµ­•«rÒW­ò“³Ò˰ Ë2³¥­˜»$•ýJ[³¾‚ï¯zLQÞ1çõUëÖe—2׬]–™½0mûµlͺ ¾¿¹=všzLQ^1çõœõë³{9 kíÚåÙ«§¥³_©ôXÅÙ_õ˜¢¼cÎë«7lsv/vb†ÌuþcÎØL4wý zõrÖÏåöèõë-«Gâzŵ:Ní+Vå$/_¢ÇögÝ»3º‡]‰V±æÓ®=ê±_ƒæÎuöÎÙSnXV=ç ¸?TÏrߥx÷W=&„(ï˜óúš `õúõÅg}ÎÓ«×Ï]WY3‡Ô3gw&ÎdJ½!L)Æ5æ¬[—¾*gIÈ‹xÙn»3Ö|Ú­ÇØAsÇš}qvÖ”’™bötæú¹ìæê±=̽Ìqp>uf3w)ÞýU !Ê;¹çõÁŒRŠ‘Ñ6Äpž;Ô™2hî†AõëÛgúúõWo˜3t.Cšâ])C”ôœÕKVd„걈ö7xwÌÅXõÍÄ€½ËwŠ3Ñù4ß)ŵ¿ê1!DyÇœ××nÚæì^Œ ž·qpýúk6Îs¦ŒÙ¸±›Õcð¼ëYõ» :¸¾åþj±À©}åê5KÓ3CôXdû¼;Ît˪o.²GƒçÍsf3wqO ˜Ÿ0Àã€ä»äýß_õ˜¢¼cÎëë6m‚µ7/oÎÛøfýúk7Îs¦ÐcÝ­oÒcõëSekç -ö•®Ù°!cõš”=Ùþ²;ÝÙæ?4C÷7Žéa½é¯©µ?ö0SÞ¬oÍÞ8Ϫ?ÔLq‚YŽ9DoΛp ŠkÕcBˆòŽ9¯¯ß¼ÌÙ½»iS=«çºùo9SÞœ¿É>mÏŸo>Reî¯ œÚ3׬M]™¢Ç"Ûß9ìNý·‚7¸Þ[óÍȪžeñU³VÏ·ÌÄu?õ4‡Â²z:S˜Ç ÉÜwY·i~±ï¯zLQÞ1çõ [¶lðŸÚ‹zo/RŸÞXÀí±›7s.Ÿûvý! 6©_Ÿ‰Ü ÊÖ/x»×È©=kíºÔŒì=ñþ²;=,vgœù´GÏqÎíýÁ9 ž¿ê1!DyÇœ×7nÙJ†úo'9ÏQbLš´eh}n$q»Ç¸-Lß0î‘âZ§öìuë—e® Ñcû³¿fƒM~xÄ*–mvâÝ_õ˜¢¼cÎë›¶lÙä?µ—h­Z·>-d•µý5=¶qKR±ïop]q zLQž0çõ­Û¶m)/lÞºuÍú+³W‡è±Š³¿vÕµFœªB”WÌy}ÇŽÛË ÛvìØ°isöšu!z¬âì¯zLQÞ™²dç¿]»wÛìÚµ³\°cçÎ ›¶°_)A¹¢í¯zLQÞa|Ò¯Uä {ÊQvïÙ³xFûµ({uß_õ˜¢¼Ãyýó·úŽ|¦å’Ä ¾ò’Ì”yìÑo=5/#«‚ï¯zLQÞ™‘²b沕œÚùm>®¶U>x¶ñq¾üÐì™PÁ÷W=&„(ïð<§ö)K–ý›œZ ü9?¹äpÖÂî0îb¿‚Ç'mÕcB!¼ŒzL!„—Q !„ð2Á=¦÷¥BáôþŠB!¼LÁ=í, (Š¢(…§à{÷ó¯…Bˆ²LÈ‹úPQ!„(õ˜B/£BáeÔcB!¼LQzlÂÌ™ B!D4°;hÖ¬ýè1–1qöì¨÷®Bˆ ËÄ9s(£€‰áõØ„Y³þT‰ !„ˆ6“æÌ™°ï¨,¨Ç’jæóþŠ‚úO!„ˆ ùõ؈Bz,x'„BD…€JR !„ðê1!„^F=&„Â˨DŽBxõ˜B/£BáeÔcB!¼ŒzL!„—)¬Çò}_ª"õ˜ÞNX!DøôÀá÷Ø’ºÖ‡§W%èí„…B‘|߸ J²ÇôvÂB!"#ø € ¢D{LO£ !„ˆ”0¯.–d…?*B!ˆ¬kÔcB!Êê1!„^F=&„Â˨DŽBxõX?N!DY£Ä{,ò÷¥*ƒ=æSEQÊRJ¨Çöy_*õ˜¢(ŠRRQ©ÇEQ¼õ˜zLQÅËQ©ÇEQ¼ÏöXÿ˜˜¤¬Ä½ŸNÛ;Å¹Í ËŠa3Ú[VRÖèÐóþ1–™RÛŠIš6H=¦(ŠRöS~{ldV¢euMÕ•)µ&Žìb…žÇ½¨B{,>ÅgY±¦ý| qaN Hl|Š•fpJRâcÜGQ¥"§üöXÿi‰î)í-¦Œ1O88=—àsÊ*Ίµ? cJðáçKñ±|)ÅÜŽe¶”øæQE©°ñl_ Œ¬Çœå8—Ãé1') ™bãÝÅÎ'îŽòù›.ÖŠ ˜3œyEQ*l<ÛcN#ÕH_Y¦‘ÌÂö£øª•ïuÅàyÚ3¿»ÜϘ…ÿüXBP«„˜â\t®tT¾wgEQ” ï÷ØHJÉêjÆZV—A¦(LYåû:‚æ©Íw…Óc >ŸeŹK)œ)Á î¨à‰áÌ£(ŠRaãý3#«¢>Óî‹cDäzÊ+œ)ÁÉ·ŽRö½Î<Š¢(6%ÑcÉu­Kïù±à×Ô{¥ÇÌeÆøXËt”óº×eÃpæQE©ÈñlPú=æ\3Œµ,ú$œ)Á‡Ÿyâcãœ×":¯Ów_‡ gEQ” ›òÒc¥ƒþ´¢(JY‹zL=¦(Šâå¨ÇÔcŠ¢(^ŽzL=¦(Šâå¨ÇÔcŠ¢(^Žz¬ˆ=&„¢¬¡BQQ !„ð2‘¿/Uõ˜Bˆ¨£BáeÔcB!¼Œz,ˆ¨¿&G!D0ê±¢ôX´ÿ¡„¢(вOÔcê1EQ/G=¦SEñr*XY]F»ÿú¦zLQÅë©`=æÐ~TÎÈ.–zLQÅë)¿=æþóÐ#³rj[]“¦ ¢¾¬¼ô¡ÇûOcJLÀ”ÚV 3«ÇEQÊ~JªÇNzY1ƒ’FuMÊ}ÑQ#³M›Ù-7Í.:¦XLÉ›-·Ã豸ŸÓ‡¾„8÷””øØh~CEQ*XÊoÕ˜h¹2~`Œi33H3=ÖZ¢{ØV({{,>Å—ÏŸ/ÖŠ3·IŠÏgÅÆ«ÊEQJ-å·ÇLSÑQÎEEgŠ»Çœ‹Šá¼ø#ßëŠC1ÿÌ„†‹õWš¢(ŠRâ)¿=6žúŠdž3Ã0 ͹Šè\WlÏw9-W¤çÇòÆcÔ—eÅš>Œ³,ÿWEQ”Oùí±$ÿ¥Åñc¬.£ù˜”7H ~U‡™R›ÁXÞSgáôXŠÿ¢©¬×ÕE¦ÇÆÆ;WEQ”M¹î1©}LL혮ù–Rä;‹3é1ÿÌLÑxLQ¥tR®{l¼ÿU‹Îk;бÇh.óœXŠô•’ÏØÌyáb|¬¥çÇEQJ'åºÇЧÇ|>ÿÓ`vй§èÉ1EQ”ÒŒz,¢SEQÊHÔcê1EQ/G=¦SEñrJ¢Ç’ëX#¢ÿþŠê1EQ”Šõ˜zLQÅËQ±Ç„B”5ÔcB!Ê#ê1!„^F=&„Â˨DŽBxõ˜B/£ "ê¯ÉBL‰÷XµòÔcÑþ‡Š¢(Ê>Q©ÇEQ¼õ˜zLQÅËQ©ÇEQ¼õ˜zLQÅËñ~õ‰IÊJ4·ÛâS‹O­.£Íknß%†úOK4³õŸ–|òbÌÌæ¾L©mÅ$M¤SE)û)G=62‹FêJ9­ÅÄÚÝSzl$guMÕuŸ†Ñc–kªÿùRâs'Æ%˜‰qq±ñ±±>_ ãS|q·Ì<|êÜ7>Ö2ó(Š¢(§õ˜]Y»šÑ—SD¦¯ ê1wã…ƒÓcNM%ØçKˆ£ œ‰±ñ)NGq;..ŽÏÝ3Gã;­(ŠR>S^z,¸¯ÜW Cô˜3›}Ò²’²F©Ç|þ!ŸÆ§¤Ä2îòÍœNc†f ¾„øXº+ÅÝuŠ¢(J±¤¼ô˜ÕetÒ¨®NM9_m?*gd˹Tȧµ)+ÿ úmdVb{««é.wÅz]Ñ]G ”£,Ê*èšaÇ _,·RâÝ3Ø—-˹ި(Š¢D–rÑcíG%RVî.ª=0Ñt…i-¦·‰±bº2eü¨®VÌ n˜§Åœ‘›™3)¼çÇòí1ç :õeùo9SÜsjl¦(ŠR,ñ~QPµcººŸ ÿù®¢âº"ŸÆÆ§¸_üá~…GBИÍýEQ%â”D-©k8µÔzŒÑÔø1ævé÷˜é%½tCQ%Zñ~•&Á¯»'*1EQ”(F=Q)Š¢(e$ê1õ˜¢(Š—£S)Š¢x9ê1õ˜¢(Š—£S)Š¢x9ê±"ö˜Bˆ²†zL!DyD=&„ÂËDþ¾TuËë߃Bá!Ê@MP !„ˆ”„Y³Âš­${lÖ¬?gÏŽú‘Bá9&Í™3!ú=f木*BQ&ΙS¤¢qZÜ=–俺˜ „B„‡ÝáÄJ«Ç„Bˆ’C=&„Â˨DŽBxõ˜B/£BáeÔcB!¼ŒzL!„—Q !„ð2ê1!„^F=&„Â˨DŽBxõ˜B/£BáeÔcB!¼ŒzL!„—)îó)Š¢(J ¤´zìÝÏ¿B!Š—Rì1!„¢4Q !„ð2ê1!„^F=&„Â˨DŽBx½î^QEñBÔcŠ¢(Š—£SEQ¼õ˜¢(Šâå¨ÇEQ/G=¦(Š¢x9ê1EQÅËQ)Š¢(^ŽzLQEñrÔcŠ¢(Š—£SEQ¼õ˜¢(Šâå¨ÇEQ/G=¦(Š¢x9ê1EQÅË)­ûbÂDQƉöcQQ%’T˜ñX)œ§=]žÞxEQ*rÔcžZEÉÅÓ¯(JEŽzÌS«(¹xzãE©ÈQyj%Oo¼¢(9ê1O­¢äâéW¥"G=æ©U”\<½ñŠ¢Tä”nÅ%ø,â,ËçK0ãS˜kùõ¥ÄL$¾„¸ýßQ÷y:6>%x3œõÆY±‹káOt'Åç³bã…s$ãc-ÿ,îB¡ËÞxEQ¥{,ó±gÎÄœ\Í Ø=‘s³9×21–‰þNsßÞŸ8çig->ÿ)?>6ÖÝÅÒcù®"ü‰‹µâ8X¾Ž_Mˆ³Üó»w!œål¼¢(Š·i%½ÇÜçWç¶{bBÞ陳oð0c?“ïyÚ¬‘šðVöIƒÀ«èáð'ºOŠ`°af†_B¡»ïòCo¼¢(JÙO)ö˜;ÎéÙ]Y)yçiç¢Ùþ´J@B— efVQ\׃WþDçJ ­|Od»ïJCo¼¢(JÙO´{¬ÐñXJ~'ï’ïyÚ}¥.>–U¤K±X’w]”62{æÄ€-ä€;×§ç8RþãSè.¸¯1†y|EQÊ~¢Ýc …=?úì~ÎÓ¦ܯ,aä C%ø·ß¿ø½/^ ¢;¦ÒcãÜãÒ„}Ÿit¦´ Á;[èñQEñJ¢Ýc¾Â^¯úì~ò=O;/7ñù‹OIØÿcQ±Œ‘öÝìð'º“o¯æ;ˆ-tÜ;bãEQ¼•2Ðc¥“pž¼²/Üù‡Gûÿü˜ó"CwŸXКÔc¡w!ßEå»ñŠ¢(JÅë1÷SRÁ-i•ˆ/cº«Àÿ¢ +`†ð'ºÃ&™q”³å þ늦ýbýï€ùݯµ±³m¼¢(ЇRñzÌçúGÄÁ-‹ëõŠîÇí\Í ¢;)®íŒÜœ{úï CìlA¯(Šâ¡D©ÇJ?z_ªÐñôÆ+ŠR‘£óÔ*J.žÞxEQ*r"í±…W¨+ýU”\<½ñŠ¢Tä¡ÇêXªÇ¢¼Š’‹§7^Q”Šõ˜§VQrñôÆ+ŠR‘SZ=ÆiR”q¢ýXTE‰$yj%Oo¼¢(9ê1O­¢äâéW¥"G=æ©U”\<½ñŠ¢Tä¨Ç<µŠ’‹§7^Q”Šõ˜§VQrñôÆ+ŠR‘£óÔ*J.žÞxEQ*rJ·ÇÜoað×þ–Ŧ„?ѽÌðï•ï~ù\ßL·EQ”r™(õX‚¿…ââspA=–àê+ÎÄ!þ¢qè –Îè!þ2ed«p’ïÒŸX¤{…Þ¯W4$S)ŠâÑD©ÇÌ("¡çàüêË\壵bã÷þ¹dçOi\: 'çiNùîë‡eªÇœk† 3œEì—»ùSÔcŠ¢”ÇD©Ç8Ýšv²ü¹ ñX\Â>9ü³rp‚ÏÓîÑK¾ay?¯+º/ñ±§«ÃœXÐò ƒ¡ïåÞ~ÓüÎuÅOý©ÇEñh¢Ñc)ô”w©ª q]Ñý¬N¾×‹Ô6ùž§gÞ|®×Cìÿ¥K³Vì>¯ bpÌè4ü{9ûešŸ1­^ç¡(JyM4z,>%ÁyAC‚8Á”ЯóØÿWtÑaKNqî"~ÎY÷tŠÚIø ŠÓN…Þ+!o¿Ü‡1ÌWEñV¢Ñc±ññÎS^>ÿ¥Åøø¸€Ómø'à0ã~1aðÅÉb~Ìy• ;áOÌ7î ¾W¾û•ö¾¨ÇEñhJ½ÇbI1s]ಟ·ñ_&+KÈ«ø\O¹'îÿóc¾¼ë¥3„?щû©0÷¥Ôà{å»_>ók‚¿ß za~ðÆ+Š¢x(¥Þc–Ð þ°ó †àëŠÅ÷y:ßL]¼ÿÚ½ g˜þDwœWi¼À2ô¢œýJqý;è?õ˜¢(MéöX£÷¥ Oo¼¢(9‘ö˜Þ_1*«(¹xzãE©È ¿Ç–¨Ç¢¿Š’‹§7^Q”Šõ˜§VQrñôÆ+ŠR‘£óÔ*J.žÞxEQ*rJ«Ç8MŠ2N´‹Š¢(‘¤"ÇRÎ:´D)…U”èÆGû[¤(ŠIÔcê1õ˜¢(^NéöXTÎÐfÕê±B7>zBEQ”È£+Ö*ˆzíÏÆGïQ¨(ŠyÔcÅZQ¯£ýÙøè= EQ"z¬X« êu´?½G¡¢(J䉸Ç"zŵ-i•T÷úSž`Σ+(œ´÷ÍÄì‘©Ü6_Ê>ëÐM>nô1³¹—àÜ·¨=¶cdC3q“]­¹KÞôlîœkÓ˜Øp?{,ßU„?1v|“/ÕÌàû«OÀ·Ñ}(ŸS=¦(J9Hø=–\<=æœbMGùè(ÿ™•qNäœ}wp»åûN½¬™jæßÁüþéîÛEê1÷ŠØžµi,¹¡{i¬=û¯H†Ž¡WþÄB{ŒÛ;¸]À¾‡?§zLQ”r¨ö˜9å›ñûŒën•õYûìûÎY?‚Á’Yu¾ýò-Ãà,jºŠð'´UŒâ ¿…?§zLQ”rh÷˜ûäí¾fhÆcfˆ²â¬†;ÒÞçSçÒŸ“p.-š9÷³dJ³Çœ+îaað¡c6gÔº‡ šS=¦(J9H´{Ì<-PGî3º9—scÅÈT÷x,ß;µÇ.ë™u?;YŒ-Íó{áOÌwáùŽók…?§zLQ”r2ÓcÏ•1~XÑò}§OÌÀ,›YÞ0Æ]Aô˜i-g”â^»íO™ö¥Ù­è^E˜Ãï1³µ×ZßS=¦(J9H´{Ì}…Í}Ùa˜{f§îœQS¡ÊB÷XÀ©Ý½®ý¿®ÈÖš ¡î¯†?1€ìglá>_u5pøsªÇE)7‰v…?¬Š³êÐO^o¥ø_ôh^c¹Ï–„=Ñnú+ÕÙ‚®¯†?§zLQ”r“¨ö˜!„>‹{¹Ÿ’rZÔ½%ΓrûÓc,9x!áO î[6Ï)üàk°Në†?§zLQ”ò‘Rﱂþt©õXŠë¦û¼îl[±ü;h÷ž: b0¿„ø÷àáÏ©S¥$ÒKЍÇJº²Âì±BïK¥(ŠRú)Zª ]Q¯£ýÙøè= EQ"z¬X« êu´?½G¡¢(Jä)Ý‹bÔcê1EQÊeJ«ÇRÎ:´ð)±”NɨÇEQJ?¥Õczöeœ„Ù „Âs”âuÅèî(çé’Þ†RXE‰n|Ô·A!"@=æ©U”èÆG}„"ÔcžZE‰n|Ô·A!"@=æ©U”èÆG}„""ï±ËwYíFXþ´²¬„Ù#Jbe õ˜£„ßcKêX#N« =Öjø§¾®~þ·¸¸ý[ñ®¢¬¡BxõXaÄ£Ój‡3$S !Dé¥ .†=fôùìÖ ýÍ5½Ï׿vÂðöîùCܶ¬ÚæŽÜ%`GJf k´Ú'Œë0›3ã†YTÜóµ9‹´Š„èÆB÷îjV·1‡‚P !‘‡‚P !ôF„zLáQ¢ÚcœƒÝgß0ÿ™VdT2f½qãFìÿÚ‹±ÇJî8„ØøR^£B ‘÷Ø~½¿¢û…öΔ¨ô˜y©U»öÁ¯Á/®Uúº¢zL!Â'üK®k(¶÷ v?·ãL‰J%¸ž…+¹Uúuê1!„Ÿ(õXé£÷»/t㣾 Bê1O­¢D7>êÛ „ óÔ*Jt㣾 Bê1O­¢D7>êÛ „ óÔ*Jt㣾 B¥ØcÑ)¯¯¢ä¢Bx”Òê1N“¢Œõ£BD@iõ˜BQšÞcE{_*!„¢4ɧÇêXFþþŠB!Di¢BáeÔcB!¼Lq÷X´_V®(Š¢”Ï”V½ûù×B!DñRŠ=&„(iBÿn*<о­£Âk„þÝTx}[#F=&„×Ð ¯\¢okĨDŽð:á•KômoöØÏߢ‚üø× ¯\¢okÄx¶ÇJûŸŠ¨Ç*ú¶FŒzLQJ1Û–/^ÿ÷Oþ·ñߟøtóä1†M“¿ßø÷è “¾Û²|¡O=V‘з5b<Þc7¼5ƒíÔG},ãÛôÇWÛ§þ´sÆÏ;füæ°3ñçÓÜ9ý{Ø1uôö¿Ù:ù[ªL=V¡Ð·5b<Þclä¤.5…(Ëð(uzlË_ßìšþË®™¿ïœý ;çŒß5ç§³~´I¤ÍFQeŒÊÔc }[#Æã=ÆoºQ?K ÷xÌî1ºkΟ6ó\Ìý…*³™5†Û1uÔ¦Éß«Ç*ú¶FL ÷ØÈ¬œöVפ¬ÑÜî?-§LLRV"7,+Æò§ŒÅf«ÍlÓ1[ûQ9f¢¹Km+ÆLwãôع«­åYË'uikN9#k.Ïòñéò—jú|Ë™!Çǧ/ºO*|ÉÜÅÜXþR[g ¾9/r—Ä_—;w',Ð=E%p©Ôc|šããÆ‹f9æîw‰úQx‘}ÆcÿŒ¶lþ$‡ÝóþzñÆô˜}E1SGož<&âãç®=?wY£)“€7~¦Æ´?OÏÄ ¢gÚó#æÿM“B h ó¥€»˜nÌ÷Óâ«yë2¿š¥åÓcÍÝÝ¿Ã&íûÛ®Y{¾»o±–€íŒúùµH”t 0àÕW_ ~ßÂÄÄDë1ËzIJº[ÉÉÉï¿ÿ~ˆ…Ի埃õüó¿O:ý¢K~8û¼Ÿ¿þú_³œ¸¸¸^½zõèÑ£k×®;w.Ò–|òÉ';väFßN÷²V­Z}ñÅ¡⦄{¬v—Ñü Œì’û;\¾è$ÿÐÈQ]ûSeY‰ícµ5: èÈw$æ÷-ç±ðŒ™3¥¶¹¢8ªëHû7Ë®æáæóc¾9/N9ÉtQÄ×Í…]¨¾I¦úœy(3÷•F!ÂgŸñØÔq»’þÝ4\#±?ÜU¶kúO;§ÿ¼iÚ/ûs]Ñyæ9àÇJqFkæ7ÇB{Ì=Àã.æwÒ|0 z΄è±ñþëµÜcùî‚Y;k1Ï:×0¶³ä:¡$¿Çzvl÷Ö3=ZµhQ¤åÛ푞nóᇾåË}k×Z¬¶[ß³q@óœÿ£ÊnYú„õD¨ƒßÇ-=⬄K:ùN¹}ÓMa!v-]:æ½÷|‹™*ëÒ¥KQ·ä£»k|Ýêô†vûµÃã.áÛ·ß~;Ì]+¬ÇÖ¬qÑK¹OyÊq®0¸Árž‡øqáî áÂy~,gdnY©^çažûrN*Îk8©¾¬OÍD÷ë<¶0÷KŸšÅúæ|üª! eŸçÇòzÌ]b63~t¦ìœûÝ?nI®«îgÃ’öí±ñŒmb9—Ýw ñ ¦óSϯ®Î+B 9›ḛ̂öà3Fû˜+Æ~IÇøQ]ÍœæÊdÀvé4uÂì±v´ßþ÷Pß´÷–Žh¦<øÀƒÃžéÞ§ÇC¡ï8hР1#Gæ2bd¦¥Yƒ-ªÌz͢ʬ~öÀÌz¦;ÿÜ/n|ÆwÊK.xÀwÔY'&Ìùù³ÏV>œ*cT6æwºv õÄPð–Ì›2ed³‡>Þ–ƒðÓëýqµâNÿ÷­aºü{ìÔâé±¼§Z ºH1îñXNÖò-Y“h›Iá=‘p¥1ÄÓbB îñØÖãw-žn“ô¯]YIÿÚµ6ãWŠ œƒÓ~‹¸ÇÜ#¨¢≩0ïNÉÔŽéêþÙÏ÷õЦy zMF±Ÿ4Ê>áôXëÖwzý5ߊ ¾Ìé¾´15º½a“ ½ì›3Â7åÝN¶ qßÁƒû²³ c>þØ—‘á[¿ÞfÝ:k =*³^±øRrrrˆ…Ìœ9ó¸Óþ¼¾»ïµ—g]}Í÷u÷]xq‚oãFÆTöÂ¥K}Éɾ… »uëVÔ-Éúã FeɳgûV¯NoŸØ¥Ê¼—Ï óЕd9Cç•QÅõÀtÇ81‚2'Œpºˆ!Ùß$g”|]1ê§=QÎpǶÍLصdæî%3v/œ²÷‰²ù“©2ûßGOÿ…37"è1çy$gèûÙcæj¡û º|{Ì<çf¶Ö<ûP,k÷4…öXݺu‡þã¸_&}÷™oóš s~¬wKìÛï¼7ï×Ï|ëù2'¾úT÷w·ÛcõjØO>±k$3Ó·r%b ±ÌÀŒ)¡+häÈ‘ãÇåÜ|ÓŸlêoãf_uåï'¬õ­Yc_!üàsÑ·xqá=–ï–˜…ddìY•úꕳzW óЕd•ûù~9#kš»;O©©¾DɱÏxlÎÄ]ËæîNe†d†ó&ïšù;Uæ°cÆoôX±P¼Îë…!ô·µS§NÌðæ›o®Y³fyÚ nwîÐñ¾¶m§NÆWWÌ™±}ñ_;†q_†^6k׎ùì3_NNn¬_Ÿ™–f?ÍŧYYÝ»‡*C{!6ØåµkûÞþ'ŽöˆÎßBö3],'%…!Yá ÉwKœ…ø·dj¯CÃÿÜ..S cFŒ°_lÁhjÉ’=z”‰…df²§a:÷˜Þ_Q”}Üã±íISö¬\´kyÒv/ža³pŠÝfó&íšcø“N£Ç"x‡ð4!¾­ 4૳gÏæö˜1cÞy绸zõ¢ÐÚµkW·nÝp–O{Œù曯¿óÕWc¡1Ÿ|2æãí[|ø¡ýZøøB+¨Œ,ÄÇ{,êïc®úÎG§Ç‰íÉ^fW™TfÌ–Ì4m¶3i2Øoò1çO{<öo‘ÿý˜ð4¡¿­ôÕ#<2pà@f0`À°aÆúàƒ†¿|æw‡ˆ}yÐêÕö‹-FŽ´_ï¿*سg¨q]ÙYˆ÷˜¢x+»Ö¬¤»•m3qÛÌØ:cÒYÙ×Ù=öÚÞñت†þG_ kek›U­­œ6ÖšvÖ†û­õ«6uÞËèR)€Ý­í*Ù´³Dg—¨ØDý(¢Oÿ#¡µínkó=ÖÆÖÖ–VÖÖÖ6ÜØÔÒÚÔ,‘ǺfÖÚFöGóÕlÖÞH~=¶¦µµáÞÜëÛU-äVÖö.vuËeg×*ÁìéRv˜–~©BˆÀßkÚX[ÛVÝøv'_³+'}ýNî¨j:-ûÖ€KsõØæv•¨¯í+ÃÑZ»{hÓ;—=½pðõ®’K\L›…ÉÄû­~ÇW[ukµ"ÝK!„'®µÍïvš9Íùõ8ô¢O¼üë£j~uÌ_uùG_ñõÑW|sDÍo½|ôÁ—~_í’±\8ºÊù£+7Ö:çÛÓk87›*3#´ ñ˜Óc”˜é1ó+u@ƒí‰ ¢€* —W«ú|©ï}šs{õ"ßW”m¢þÓ#„(#ôØîÕéçß>ýèë¦\wÚ™õkÜ–xîm‰çÜšxöm3ϼuÖi·Ì>ù–yÇÝ<ïè›æVgÞA×ÏÿÏÕó*]>˺ðÏÓkÅÀ,Œ3ƒ1Jlg×*;zÚ=fÊ*Ÿ+¸ÄÂÜ9ßK–Ï—Bi<&„å’àkŒtÑa×&Roñù–\vçÒ+[¦\Õ*µfËÔšw¥^zײ [¦Õh¾âô¦+Nl”~tlú¡õÒ¬»¢òu©Öe³¬³¿ä¾ÎÓe¦Çü¯Wœ}ºëºâýv•å´«œÑ®Jæƒ6YÈ~è€UÛ¤?tÀʇmìªö˜âêVÉÆ¿ÕæRa¿6ìi¾·£F5·ÌÄ÷ޝ¾çþjN93bz—ªÌ¹ª‹Õï‚Ü…L¼µš¹ö¸°‹½ä…×Ww$g™/¨>ñþªÎUJ3ݬ=ø¶³ L Xì{·Vu¾ä^¸Ù0C¾[’ï>æ;³û9KvîèljAÎ;S ßõU¾B”4QZF”)ö¾¨ÝcÇÔ^R£ajÍË®¿wy¶+êÜ¿¢VÛ×·M¿¶mú÷­¼øÞŒ­2Oo‘ubÓ¬#dU¯ŸYµÎŠÊWίtî(ÓcÎóc×4=6ÿlûu í×(š|Óq¯Ö:êÕ޲?ÖÞË+AbÜÖÃb³º)½ê5 *Ÿ÷SÌ‹3cì›|±»Çè¶UÍì焺ÃçÛYð«Gvû|ÿ{tÆ]•Í‹Br¼Ïç±2nª¶;Þ^Ô{Ÿ§rVÞõgßÔñø¶ßUyve¦loëžyƒÍÌøUÎñíüêvûtÞwÂŽ»ª1ÑÜÞyWÞùûêêæ¨˜»LZæûóÜÛÛU ^µÝ] ÷ÞÞõH>Û°³å^잟rkÁ¬ÚY¸ûŤwqðo@!Ë7wß93Á™Ÿ ÞØÙÞ°¯?HåŽlÀ6¶¶éðåWWÏwÃŽƒ3=ß#lÖžï^!DÉÒf/›ïÉ}éý¦–ö ù´[R®iF‰ÝþPºÓ)·t^óPF­W·Ï¼¤m¶3!Ù¡õWV¯µà€‹F›£°è±´ZîëŠôØ Æh-í3fzl—¿ÄBÃ<“‡>šØ¢ò–ªËíÈ+“å7UãSß̸ þ³òžQ·çøo8—Î ëêî™ûÒcæ^Lg œ§ßa¼‘wþž}uuóz”íy'é ç6ØÜ®ª{Õ;óºksý·ó݆eyuakjÁY³p³F÷z¹‹³ çrߪܷÐå;¼sSÕœ°aS?N5wüºéðÍþª1ó‡Þ°àé{ƸwùîE‰s%„ Ö·´á¼W£aj¶ËcJoÒmeÓî+ʺ¹sFíŽ×´Ït¦œØ4ë¸F™G߶∓¾Äî1Ì”Xò¥ÖO:=–\Çî±ô–¹ÿüÙç†ZeÌ3íí^Ó›U6 f6vûÓ¹e²¬nµ ÷Z;ßÍíßädžsœ‰3ï¯îžÙ¹ïæW9Uû~ù6…31'{NÏÚßÒ,÷üxEuf†-÷æöØïç6ØpoU÷ªõnˆÝ{Û7%ŸmH¹¢º{±»°kÁY³p³F÷z…dú¯ þ~nu_báËÏåÛX3Ãö ߆{c}‰q)¬ôøÇ74«f^è†O÷M+píùî…%Š9o a0 ¶Þÿoœ9;]tDzú®hÒuå=3š÷ÌhÖco•Õé˜an¬ß¼çÌ™'7Í<¡qÆ Vwó‚Ãk~ozlÙM¹ïK•×c“Ï°ßæÃî±f{{l{ã1zlæ»Ý'7­¼¾]óÈ]ÓÚÚúdn™,­UÍýéö/oßä-0}S«ÜSõÖnÕ‚fNýòƒÔ5Mªm¶÷ò&=öeÓá›Zå>Ñ4ìøêÌ0½‰µ©IUs’þ­Fƒ5­ª:ëú­FõíêšîbÉfQÃúNØõ]>Û°é–ÜZà^,dûØX÷꜅³yÎ}§×¬nnÏO§Êìú&ÔòÍÞ>ÄÞ6ŠkM“ÇXÚoµªî[Ô žb!ùî…B”4N}Áªf¹p¼¢EZÇÓ[<’qW¯Œ–dÒf»í­2“s[fœygÆ)MVžÒxå)–Ÿrëü£®´ŸKó¿‘bÒÕö“bô˜ÿu÷îËöÉÂï±yÿë:­i•œûü´±ï»9¯LתæþtMG»²þþ.Å~¡]_ ¾Å¯Lp¾j.‚ùþxœ¡ÅªÞÃWùß«_ͪfâR&6yl½ÿÜÌ9û—¶Ã¿kU­_ÓÇg×d98IÓ!Ì™ÞÖÝM_æû¼Öíæ’Ý²/Sß®UÕŒèwnV° f±,äóš·¿w|uß²áfuöô½ ŸZ³ºÙ*XŸ×f¢éI:3ß} Þì-Ÿ6àðöke_œôÁãŸß`ó“U;š-_õFVÐôÐ{÷K«ZUuv¡à±$„N}Òý=víÝË›uÏhÕ;óîG3[õʸ³ÇÊÆ]VÞæz®ìâVéç6O?«iúiÓOoœ~f“´3oŸÜÕöë“ëä¾ÑâÌ ¬¯Ï5=öÛIÖìkì·cLkj¿³bæÝ{{¬Ð6[ßez³½%Æ}7öÍ­¦E7Tc6÷±‡X_|šÝ¨šÿvŠÙÆ5cRò¾šâl8ŘÝ'Þìºoz\ÀDÿUÕ„ÍÓ}¾ û•ÎÜètKÛéKÙ6&ÞYÅÎ1±îÕ¬ÑL4‹Ý6=Á½º5LÜwáîo‹¹ =6å²ê|ºÍßcìrvý|ö1`³Y”{áÛX]˸€ Ë–PІ…˜bï豟k4ÈnY5êh!DE#½Y. sßCšTíû–ß—y_ŸÌûϼ»wFóž+›tÝ[b&ç5[qö+Îh´ü¬ÆËkܱ¬Fƒy'^k÷˜yŸ`j‹c<öÌaîKnà_[ËÜÛå?G†(1û7þ÷;›Ëjc—˜ÝcyC¬ù7TcQGÙW½þn;œÛÅÎs’NóýT£Az˪¥¶ð5y=ö÷eÕùtµ¿Ç>í;¡Ø·¡ØöbY‰"!„(œf®?„ÐÐ~|N˜·vLo×7³ýÓ™|¼7.³E §¾nh³Ü¹}Nã´³¦ÕhœvAÓÔ Í=ùúo£Ä&ŸaÇ‚zly {µ¦Ç‚cΔÝþ¡DRFvœÒ¬²i0`8·Ñu©pRÓê ÆVLö•Übض!ƒåÇ–æÂc¿;Þ¾¶™éc¶Ç¢ÿx B=&„ˆy#±}þ O^u~!«K¿ìŽÏfµí³÷Õ‰õXQç¾×´Þ[eç5I»°iÚÅÍR/l<ç”ë¿1=fcûöØÔk­Ùµì[ÖÜ^¹/Œ'ÇÌx,í£ö“›X÷ؘ?ø²aßK…YcR¢,‹SÎ>–\‘צ–å-å–fBäÜc»¬ìñÒªG^]E•9çÒÆÓoë°â¦ûWÜpïò«îJs¦_rgÚ¥w¦\ÜxΩ7Ø=F‰Áä‹íûôÓc_`¿µÇìí¿—iÿ™ÌVrÊŒ…³^4ççEæãœŸÂlûS>&%þ¸pÖOI‰c—Ïþrî€kz,ú?=B!ÊÍòù+˦Çîì™ñäàœ§‡äôzuÕŸÓ¶2Å~–¬{Uvk‡1þ*»în{Töͯk¶L»¼yÊÅMòé±¼ñXpMíjÍêjÍìaÍênÍî]eV¯ª³zX‰Ý-ûcO+}ØM‰]¬-#ë_Úe7ŸN½C=&„"ˆ‚{¬u\æ+Ã× ±ö¹·V÷òÊ:<“Õö‰Ì»ÍhÑ3£Y÷• ;§7èœ^ÿÁ7¶[qC†g©6š}Â5_Üc\aM«c-¸ÍZÔÜJ¹Çš÷ÄÁÉÏ»¸ï!‹Ÿ$=je™wÇeÞÙse£.éõ\qíÝËÎo0ûØ+í÷»Ÿz­ý\XÐuEÓc3o©L™*[A5µµ²¨”Õ>÷㪎•€Û{'¶Ý[bî‹ú"êDý$*Ê©þúZÖÜÕcMí{|@ΠÖýtÝ‹ï­ylÀª/QbٞˢÄî2³í“™w?–yW=VÞÞ9!Ù-SϾuæå Ü‘N‰ý]ÓÏrzŒÿÓcSb¬™*ô}å4˜3ÝTY†á]]ûõó¨ˆ.Q?ƒŠ²ƒó0U–1¸Sò²¾¶ªÝSY-{e4î²2¶Súͬ¨ÿàŠº÷ÛÔj³®¼+ .ožv~ãÔÓoI¾ªùÌÙIkS^êD‰µåê1> î±”zlõC–ƒÓi¹c³¶ù\cBQ1q~©qÿnkWÙU©²9ÿð¹ÐPbÓjU5ã1jë§ íçÇ><ÖôXrkzCË”X¾=æt׆‡÷ÐikÚY†œ6BØ¿Ô!*8Î¥:÷5;Óif¨f®4&7®dÓÀ2$¹Xp›Íœz6³o´Ÿ3Ðffæï1JŽÁ=fêË]b¦ÁÖw«lØÜ£JAðÕM«8¬ï(„BìC΃6«¨b_Å»¯2?pizoѹjÔUöÕ v…åõc=FbMwíèYeOÜ»µ|½«€¹ÍGg¢¹‘;±×»{hæBTXöt«$*8æa`jÂt„aG—JÛ;V6#žÍí*m¸ßþ›_ö_q¾×2½Ûî ||dJvËÜ÷ 7W|(:ª,¹ŽÓcdf#»7=tÝEùúmóß“l^9ÓfÀy¾AíehÍ\Ü…B­apúâÙ¹pÛ”‹ÝŸšr0­Ô÷èÝ=„­í·¡2ý•×c¦Ê€*³TN‰™µ½î¯¬Á7ؼUÇfØbfœQˆú#P”‚¦DœAé`Ú¯ïÑ»º0ûFû¥Ny¹zÌdzCËšsÒêÿ7æõø{ÿu™ÿ÷öóym÷>±WšäJ”Y¢þüDtqÞ>\TXNg‰¼?G¶Êÿ']Ì;1rÞÞÐÿG^Ú–û?µ¿ÔÐʾÕ~µG@mYV+ÿ4‰ir{_R‚²§¨/ UÊU*YVåh?•è¥RUXÿƒUñ<«áAx0VÇCðP< Ç#ðH< ÆcðX<ÇðD< OÆSðT< OÇ3ðL< ÏÆs°ž‹çáùx^ˆáÅx ^Š—áåX¯À+ñ*¼¯Ákñ:¼oÀZXë`]¼o¼ëa}¼oÅÛ0oÇØacl‚w`Sl†wbsl-ñ.l…­ñn¼ïÅ6x¶Åû±>€íñA쀱>„ñaì‚]±vÇØÁ^ØÅ8| Ç>ø>‰}ñ)|ŸÁgñ9|_Àÿb?ì/âÿáKø2¾‚¯âkø:À7p ÂÁø&Á¡ø¾Ãð|ßÃÿa<Ç÷ñüGàHü?ÆOðSü ?Ç/ðKü ¿Æoð[…ßáhüÇàXüÄŸpþŒ¿à¯øŽÇß1'àø'þ…qþÿàdü§àTœ†Óq&âLœ…³qÎÅy8`.ÄE¸“q .ÅLÅe˜†Ëq¦ãJÌÀLÌÂl\…9¸×àZ\‡ëqnÄM¸·àV܆ÛqîÄ]¸÷ ­øùÇÊXÿƒUñ<«áAx0VÇCðP< Ç#ðH< ÆcðX<ÇðD< OÆSðT< OÇ3ðL< ÏÆs°ž‹çáùx^ˆáÅx ^Š—áåX¯À+ñ*¼¯Ákñ:¼oÀZXë`]¼o¼ëa}¼oÅÛ0oÇØacl‚w`Sl†wbsl-ñ.l…­ñn¼ïÅ6x¶Åû±>€íñA쀱>„ñaì‚]±vÇØÁ^ØÅ8| Ç>ø>‰}ñ)|ŸÁgñ9|_Àÿb?ì/âÿáKø2¾‚¯âkø:À7p ÂÁø&Á¡ø¾Ãð|ßÃÿa<Ç÷ñüGàHü?ÆOðSü ?Ç/ðKü ¿Æoð[…ßáhüÇàXüÄŸpþŒ¿à¯øŽÇß1'àø'þ…qþÿàdü§àTœ†Óq&âLœ…³qÎÅy8`.ÄE¸“q .ÅLÅe˜†Ëq¦ãJÌÀLÌÂl\…9¸×àZ\‡ëqnÄM¸·àV܆ÛqîÄ]¸÷ ­ùùÇÊXÿƒUñ<«áAx0VÇCðP< Ç#ðH< ÆcðX<ÇðD< OÆSðT< OÇ3ðL< ÏÆs°ž‹çáùx^ˆáÅx ^Š—áåX¯À+ñ*¼¯Ákñ:¼oÀZXë`]¼o¼ëa}¼oÅÛ0oÇØacl‚w`Sl†wbsl-ñ.l…­ñn¼ïÅ6x¶Åû±>€íñA쀱>„ñaì‚]±vÇØÁ^ØÅ8| Ç>ø>‰}ñ)|ŸÁgñ9|_Àÿb?ì/âÿáKø2¾‚¯âkø:À7p ÂÁø&Á¡ø¾Ãð|ßÃÿa<Ç÷ñüGàHü?ÆOðSü ?Ç/ðKü ¿Æoð[…ßáhüÇàXüÄŸpþŒ¿à¯øŽÇß1'àø'þ…qþÿàdü§àTœ†Óq&âLœ…³qÎÅy8`.ÄE¸“q .ÅLÅe˜†Ëq¦ãJÌÀLÌÂl\…9¸×àZ\‡ëqnÄM¸·àV܆ÛqîÄ]¸÷ ­jüüce¬‚ÿÁªxˆÕð <«ã!x(†‡ãx$…Gã1x,‡Çã x"ž„'ã)x*ž†§ãx&ž…gã9XÏÅóð|¼/Ä‹ðb¼/ÅËðr¬‰Wà•x^×àµx^7`-¬u°.Þˆ7a ÞŒõ°>Þ‚·âm‹·clˆ°16Á;°)6Ã;±9¶À–x¶ÂÖx7Þƒ÷b¼ÛâýØÀöø vÀŽØ ÂÎø0vÁ®Ø »cì‰`/ìb>†c|ŸÄ¾ø>Ïà³ø>/à±öÇñÿð%|_ÁWñ5|à8á`|‡àP| ߯aø¾‹ïáÿ0‡ãûø~ˆ#p$~„ã'ø)~†Ÿãø%~…_ã7ø-ŽÂïp4~cp,þ€?âO8Æ_ðWü Çãðüÿ‰8 ÿÆp2þ‹Sp*NÃé8q&ÎÂÙ8çâ<œ 0 â"\ŒÉ¸—b ¦â2LÃå¸Óq%f`&fa6®Â\kp-®Ãõ¸7â&ÜŒ[p+nÃí¸wâ.Ü{ЇÖAüüce¬‚ÿÁªxˆÕð <«ã!x(†‡ãx$…Gã1x,‡Çã x"ž„'ã)x*ž†§ãx&ž…gã9XÏÅóð|¼/Ä‹ðb¼/ÅËðr¬‰Wà•x^×àµx^7`-¬u°.Þˆ7a ÞŒõ°>Þ‚·âm‹·clˆ°16Á;°)6Ã;±9¶À–x¶ÂÖx7Þƒ÷b¼ÛâýØÀöø vÀŽØ ÂÎø0vÁ®Ø »cì‰`/ìb>†c|ŸÄ¾ø>Ïà³ø>/à±öÇñÿð%|_ÁWñ5|à8ð ];.yäxGÇï½xƒý ÉÍ –y–åæÊ<6+[ó@´ ÌáX5wþçs½;Ø_|©Ì|{/6O¸Ù6oÙöô¼åúì§wÈ뎲NX3èéu ~ÚÞÖUüÿß¿þì㸒ýõÜ>pâŸ}ìOÎ8ÂÊ»¯;VÃé•Íë¶6 ’rišj5_fݳÂj›a>Vz Ûj›eÝ“aµÉ²o´É£õ*>Α7‡ý€‡6Ø{÷Ñ}}'ý׿ì}ç ðÕ|ÝWs¨ï†Á6uÞ²¹qX˜D˜8¿ò}YüÊÝÖ·‡ãï| Î|ņïÂEƒö·Ãàž("À>çÄL±š¦YÍUê¸ ¬‡Vø^Té±¹JÏ|G¬GwWéís›ÎDsÃL< ×~|Ìœ"rÃéÖ=){á$ß>Ë|/ø.ìïEØ_í¼i/׋0±®øÃjlÿæ‹rq} œïB.oØ‹3ñ¡Õö<íÖäÒ&GŽ?ÄL±ç)àø;s{ 3˜_„̯@ü:­WŠp9çÓüŽÿŠ|¿sÌ]‡=ÃÿiÆ>G¾eº—¾²i•o <þö6ÇÙù.<½w¢ûï~Ì·X.Š@Þñ·G[þƒðóŽ}.ù¾‹zrqµ'úTòaO'õÌ⃟\Tí‰EVï¤ú,²M²žÊ°:%åsΉú#Ê[pükþmÝ8;wËw¤ëT«ë,«ÇL«û¬*½gWíÅíYV÷DûcÏÄ›†¥[]ëܲ»Ë¥|jÝ1Ugžâ=þ3R’ž½ðç9‹~ž½Èþh³ÐžÂ§³þ˜˜ôÓ¬…c“¾œ½üÚs­&“uü÷‹“~³®jÕšmÿÚ|SüâaàkÿQZàñï³!Åu5)eLVôw°øY“à¾d–±!v?ÿ5³­›’íãÏÉ'÷øo÷pÀ)»}>ûZrÇ‘)•›M±îÎÌ…ãÿäFŽêï|B¿êM'¥2Óä%w(â¦ï÷îG²pÿñÿã;{ÿn‚}¸2+–ãß,Ýuüwù|;C?þ;¿¿¸J³éUî˱[Ø| ò޵注ØQ}¾œámÿ.™ãï?i“Ôø©j©.<÷øW¿Ì¿_ÃVóÙ„¾ŸF¸ Îñošf?€ïÎÌ;þ;òû؇.ñ òŽŽ}5•ãß×9þ‹¬–ÙVŸÍ©ö§_TkdßvNM)cÖ˜¯ºOV|»ãûdÛÓ[fÛ½À‰ëí½ž¾9>Ã?Ù¹a2}½i;ãÇlsV;fç>«k™ß6ø›0}Û¾«[¸ð–Ù.Öçÿ)ö§ÃìûÚ»\¿Àå»6{ý¾ ßf1Ùº.ɺu…ÿÁŸwEº#ïgg×ÿÍ«ÒtÇï·àÉ͹ǿÖâ}>íøÿí |EÞ÷;°Ñ¬|Ü×GVqßU¼×saÅ‹C³A ç‚€Qˆи¨ëÁ>àã.Š róÖ]£¢ƒ*\$!!’û„3˜÷_}M÷\™£{jfú÷óËØSS]Uÿ_UW÷twzšh¡ä“ïbºÌéôÂ6`þqPý”6dâ/ßPò‘Œ§åãÑÝÕÄCÏmÄ@ØÖôELÂ'6§S÷|¶í—mØ…åì4®ŠÅ^öÓ€^™ßidž|PÝk‰¸Ü˜1Q®Î± R±eÛtÏìÔeEF™Z]®ðî;ì'íÿ¥Ä¥­âøŸã:F§fü÷I²7#AŒîí:ÿ©´G½÷Úò¼Ã¾ï˜Ø,ŒmaŒnž?¥øHûvÀTàñŒasXzÂq©ý1S3‹Ë1C›¤ 5f û ZY«S—¥,ÃП¢‡—¬Øí«è{]è­ê •,//ðI›‹6< +¿¾UWZøh jKºÿ$/Wí¥nð‘ÇòÕf/”B+yv¨XÚÕùBŸ"æÿ(­ÿgÅù¿ÿg.ÙÙæŸÇOF%žy±U¶´oë‘åg%žýÞæ(jÒøZ]fuÝy'Xû>þ‚Fˆefù[‹¶Dë«V*þ:¡.»nCÏ2m±ñÎëªS Ò ×+ÿÈ…ˆyÄuÛ)_%úþeÒ$)\¿Wô¿^Þ@æ+þK:#nît?txxW‡‰­DÔ†0»M1¡FXIcÉVš¹¢S—å1ϵ±cÑo6S\,Om[|¢>s♕lÏßð,mÈJŽ-yXJ”–Ï*’"â§Ì¢­Ñ‰.ªýoµ/ÏpÕ†D]±ŠÿJÕjá:œ["2»ýòåÕóΪùeÿÕ°Ég| uÍå÷/¸´×¼KïÇ^{kù‡ïz®ÃèüÉ磒ÏÂÄsÂÜó%šÊYø1˜¸Ö5ËÔkÍçWþukÌ[£ç´i3Ûl§ž½‘ލ?Žžpf¥ò;9•J®U¹³PêkVæÛ§ä|ìÅÿ¸ámÅó¡­ºeç6LпQñÿ}áJ¬Ò .Z"Ô^ù,6êšrqþ)5°}è‡ÄÆŽ‰5Ÿ¨%.˜PwÁ“õ<ÕÀx²ê‚§ªOVEOª–è˜r¾cŠ-jêy‚:‚Æo‹ébßcFÈéì£ë䭲ˊ˜ñç…×l%šã1}]´”3¹!æ&¥„þ¬À˜þ Bòvhqϵ@]™7m‹/çTÓ¥Ú—Õ6ˆuéŠî¿Âþ‘¶pm¥®Zâ2F—™µ ÿ7WõŸÌ§iœ&“Ž“Ïtœrö‚ég.œ~î‚™òU]éš¯Š”n¿”™bǹU.Qý—³&þK]ÀüŸ|æ‚©mä?ãésÎþ{îoˆžg“æ–N}]7bÐúO‡Fê& m$·:öÂÓòáÎ|ßz_3cXÑÿRÕ镾R1؆p\m4;9#(m;ÀKìþ/‡É—±Ø1v3ÃøûÍÚ;L&Ÿ‘Žy´Ðñ¼‹w<`î‘üg]PÊ®BÆåFõËëðC½ù3jH‘»@CÝ4¬\fD™}Y‚>>¡õ?.—ù/vÚ .‘20Ôüš÷¿É½ðŽŸ/OnŠUÜX·øÿ­ ü‡ÿVþÃ+ÿá¿•ÿÜýÿ¥{ÿóò¶äååóðà?}šŸ¿û‰lÜù¿{÷–üü­Ü›ñ¸óŸfîm³îýÏáÞ6+ÿá¿•ÿðßÊÀøoeÈÿ˜îBÐÿW26YPößýŸDŽà?_…¾ÿ»ß˞ݡ¯¡ï?µ±{òöH%ôý§qÂÝ%+ûïçø_#ý!­mûšíÝ_«¨¨«ÇÛj3ü›+/oNí¾n®&Å ñÿÜ•6[Å—¹r›½2óÀvÛÉ¿¦dVW ½ŽÐæùNqy§aÎ;ŽÿÃ7TÔ5n¯ýôÒCÊck|Uû6BýÏMë›¶™-¯Kb j/ЂüÜj±ƒtéIYòö".°¥Ý2æ“‚ŽfÊq«åÁ¯‘}üçþ»NNc[“}uû–òïçÒL÷ÿÂîûýŸÿ×% Ékh!+Y˜²NõyÍÙdÇê¯)ÉI,'¥Ø{Ä“ÿâøg†¿Z Ì™Éìmòöq_ž”»ÆÝ€w1þiuÅg5R`Ç@þËÆj3¹jü’ØGYÉÌä¬ä¤,ú”ºLzõrþw6S;“8Ì6ÞøoüÊÄij ØÑØuŠ™ªÿNû6ò×Ic^ì¬uÒVàåü/;CC}û—ùïàvØúϦ AÍ´Ï6‚£½;çN‰•w¹iI4 ÙwÜÞÌÿrƒÅ¹=ùGî)ûêaï¿‹Ù^»ÿy[ lŠÏÔeêâõü/·™vÄíìÝû/îDœö¿Ú}t8úo ÖùþâþGüùŸ÷?ÎRšzþ3ÄýlÁ¾ eÿ­@Èúoà?ü·2ð?ìü_›¹…þó>d‹(aþá ü‡ÿVþs÷?þ‡•ÿ3§OFá‡ÿ¼ÙlÔì¨B’þïËÏáˆdN¸W!ÿášÿá?üÿ7¦ö„Þ³3õ) «¹˜“‘ =çn ¢ÿbøz)±{áƒQþ ÚŠ¸ùŸ9÷^!)1AHL ®ÿº`¿šÝS¸7õ+¯ý÷ãü³sæÎîißxù/ÕkDíø¿/?-IÚƒèÿj6ö\mwlBP$ K¥¿ä{Ó3Ä£,kÊ”äb2qg+G¬bu¢~>TÚÐ{vj’Z _Uøã¿R»ËèŒó_ Sãðj¹%J½ê̬Ý_ˆm³/K›­Ú~9ƒãrcŽ~-¹(©:9úEqÛ¿*¼ò_?ÿ(£Î^‹Þýg›€‡íN;*´ƒP»¬ô£êž4¥gä´oŽn-{ŒêF¡«Î¿*ÜúïaÿëΜ4Cý—)X‡{ÜzÇå²vÊrØrÝšÃàÕ‘,dŸ{Ûõ_;9ë–ݚà w:æ”÷š1 îèæïª0Ìç1Lu (Çiò4Û¾ÿºYËafpeŽ ÷i{¿ãoª0У‚Žÿ'¼þjÌóî¿fÔí àpü—w=ú#ÃPòç?ᨙÿá?üMÿ¹ß3IøáÿÅוxÓK ¢Ú·myŸ^M%UH„ãýWðß&ŽÃàÿá?ü8ÿ}{þžìÿ¨#¥úiyËË<üù¸Rÿ™·G)‰jÛÊ Üm¤jÞ':òŸe€ÿr!"õ[l¶Ò5•AõŸµA±u„Ô{K­9cû¶>Pÿ©dçB¼Ot„5Ïf¼ÿZ‚å¿c\b_è¦$àÿ¬o]Œ+ïµ°ñ@cãÛã&Œ}°öiÁƆ„.såÛåâdeßZ½µÈƒÿ,4i“7Øj­s Þ'êùr½C õ_1VÜÄäÝëj•ú‘X;3Ê¡³¼Úp\û/÷£»½vi¼ù±cÒTÁÚYZî0N¼Ot…éþ»Ø(Ô©˜ØFJžÛ÷P.Wômüë:QÙ²J×Ô{Y²[ÿµ»‹X…÷‰Aõ_3¤uGGÊ´Ì W6Rí%*Pÿ]O5Ìÿ~U¡uê$l¶ÿêv òò¬oϼý²Ô %úñï->ûïbÕÿ އ9_þˆ lú²r„ m¡·£Ôч9GîPmÛ=þtY…÷‰æúïnaó¹ÍÅ ¬Ÿ5%x9E;û®-YÜŒøþå² ïÛõÿÂ~ùïW\âqþ1’`ž€ÿðþÃÿðòŸ£"ÊÿÑ JSXÐg±-"¹oixpK:àIǧW&6Ž6F(uáÁèjÀ“QU‘ÉÈ Ú‡û@µøøçnKSŽÍf«i‰çßk"ú_¶}`· ÑücAà;¤ŽªˆY'J”³ë9KÅ”QÍd]ÎO§•ä³+gyN×R’ݤfýß=JÉ4 ì’ý<ó­ä“ïbºÌøN#¶åÍ!A¶n@÷ÌN]Vd”Ñ›CÏuŸ®)¤Ó X!ÿ8¨fØí‹è„àžÿçm¬—D÷ú*~}›Ív‰y@^èÔí«è„¦øõ­6[cư¢\§{*„ùÏ2s¿Ø‚ÄmIÍeÆ_º,Þ"Œ=)ÛÛ£DYÈƶÄvÎf;’1Œòœt™þìN§Ë„j!äÿ _G¥Â#¥ïîˆßp^Ãk£O‰­²½=Ë”…ü¨ÄbòyYÌí.Ó¬— ™sÑväB˜ÿ[¨ð¨ "<”¾³"fò±R›­ôµä­èçi²±SÏ ÅçBêÅçå1Ÿuþ\»™í›ÍTˆ0»­¤¶->±UH<«ø¿5š½Ž è2'&®FXÖ N9ó—wê²<æÅç; £&´ÆoT|v›Þª)äüÊ¿n¹qkô„ÖÔÝìý–¿±å(àD§›¶E'Ÿï|^±N7bFˆ)ÉØÁÌ=:ˆ¢û¯ ž˜ñnÓµ…¨),Ã=ö2):¦Ø"îÆ‚° ãä3‰0ñ\xÀûÌ4Úƒ!€#Qýò"!.7,pw“9IäååŽp@x%càˆÓ_­@…´k1ûp¼òzíž¼`¡pÐʯ¼ÏCOq¿jq¸ß€ k3—Žð>þ²º¸o€€™9}‚ìËÏÞ`Æ1üç ü‡ÿVþÃ+ÿá¿•ÿð?\˜»Q\ؘÚ[H˜;»§ ª÷ìL9K—ÔSÎ ÿ EV+>˶g$ȉùiIªíöDøo$²ÃÌÿžÚmaµäù½©_É93çÞ+$eÀƒ‘]U=wð_/øo8šñïÊûø÷øï=šùßÉíü¯[†ÿ†á8ç»XömòÿÜÿðßÊÀøoeà?ü·2ðß'¯pÿG.¾®Äp¶myߌۊ"RðŸ¯à?_Á¾‚ÿ|Åu¤Ty»åe½™ì£ã³toÝä„ÿ~éâëê·¨f¾|Üf;óö(ÕIö‘ÍœðßO1'Ë ’­«|»\vxК3ôié·ÇíãßMNøˆôÖÙGø —ë9Ï?®rÂÿ@¤õyûw5ÿ{È ÿý’ÎRg«]ùï:'ü÷KK]íOüw›þû¥vƳÞÿvG>ü÷U¢ÃîdzÖÏ9á¿_šõ­cŠî¨Fã;9á¿_jw0ûü÷^ðŸ¯à?_Á¾‚ÿ|%Œn¦0¦Öî[jfÐg±WÜ’xÒñi` QSÏ{Clj̀#£u€'£«OFVSQæÜÛ©Àÿ°ðTÌpïàÞNxR€uá~ÂâŒm¦0ú˜Wþ³þs’¾aÑ—\•o ÙDôÅž¶OsϪdí8“ýý‰€æÙ(fš=:1®)ÒÌ,ÍëìÅÜsð_gÝ*;ÝÎ?4ŸØë’¦ 7þç¦%)«uüôíI:Ôß*~ÏÝZh‡üßPÀÈÞݶëvœùôû@ö¿ÒPT½ÒÎKö?i©ÚØä$¯hdŠÙæ:¬âΧíEì_7Ç?j£†‡šÓŒñoªÿ†I㟾[Q|“ϾóJдOξû,A“ùÿÑ­YßYýüƒç??üæø†­›veg6岞OEhæ'ó?þþÔ'Û[,î¿Í¬8½á»æ?´lúᘠ½¥½­M;4òÉü'á?wYÙîW~-~ý7dÿðßÊÀ¾H»fîÍ0f€#Ü:!QÜ7@À‚ìËÏà¼ï¿† ‚ ‚ ‚ ‚ ‚ ‚ ‚Œ‘0¦p¤ÏbàÈ-é€'QSÏŽtœØ 8"€©¬Í\n³Ù¸7òÀøoeàdû¿dÉ’… ¦§§ÏŸ?Þ¼yT3©©©3gÎänE¤ú¯>[³=j;|ØV_o[³&»ªÊV^n+)±Í˜1ƒ»¡ïÿÈ‘#}-ñâÅðßoÿÉ™´´4ÊFÈÒ¥K-ZôÄOx_>åWý_»6»¥Åväˆ ÿ§OŸÎÝŠPóàÀôi~~>-ggg/[¶ŒÞÒDýÌ3ÏP¿ôíÛ×›òiò§aOù~˜™™ýÞ{ÙÿúWö»ïf¯^½jUöÛog¯\™’’ÂÝŠPóÿž{îùàƒ>þøãŒŒŒ+Víñññ<òˆ´ ϙ˧Ïhg¿IþÓœCÐÈ'óið76²Á_Sc#ÿ+*l¥¥¶âbüwɤI“(Ã[o½ÕÔÔTY^AË'L7î±;vЧ» *¿=Øš8q²‡òi]šð ržF¾d~m­­¹™fžZJ¤·uu¶iÓ¦Iùccçæòö$tü'hž¡ñÿÅÆÏßûd{Ó Ûç-ñÄ­X¶ä½/ >jÛVk›ö×yV_°`Íö4íHæWW3ÿ……‚°@æ ”2uêTøïŽ1£G¿þFú–JÛOµ¶ìrÛàÁƒ‡ð÷nY]`[þ£-ñ‰Ižý'Ï%hΧi‡œ'h‹Ò„§Æ ÿ裢¢")¿ *6msãι±Ò¡wúÎýìmlÒ1iʺÍéò[%7­·œ1 ûÎËãϤÇ}׺b§-mý!)å‰ÇŸ˜öÒÒ'Sfy^‘¾yÑqŽMøM;Ò°^æ{D˜#„—)¿2þ×L’²¤B˜óssYwˆ±.IPät9gV²²JøàýñâÄé)/-92Á§ò騕2%èh‡v¸4ç“ù4òÉüÿmñײøç= <§÷ß>ø%%eI½ v‡}zJÌÀÛI³ý÷òŸŽð%èP“Žvh¶^„WÙ°'ó…áYA˜áä¿ÃdâÖ)C¸ö‚Ùþ¿ùæ›ôõJ‚ŽóéP“Žvh‡Ëzá%aVq?ái¡ ÀvðàAÙÙCæ§4½·ãÿιShgÁòÐNAœ—x[Rþ»;í–››+ {aš@;ß·ß~[ÊŸ•ì¼ÿäyÞÓü£¬ÅÛÏPóÀÿPþÃ+ÿá¿•ÿðßÊÀøoe¤+‰Ü›¡âò!4 û!OÈ/qß ²/?€ð¾ÿ‚ ‚ ‚ ‚ ‚ ‚ ‚ 2F˜ZÝ ¡Iÿ¶A.QÅ^Õˆ Uâ½SUý+´ÀÞÖ°ôþõÂ}ùQôYl.÷-ÕA)÷.нº£ûŽ\ÿ*£ó ¶ ¦¶Q B÷ïÔ(nI7‘ßϗѾ•CÐòµÿÐA‰Ú·ÿ÷tPû%.œ~ŽFzÉ5õ¼yt|š•/hßFn­qCհ몆t­ruùÐk÷¸v]ÏËY}Š„{ÈÝA}ÑùuñË‹™Œj¶£†ÊÈUO ª™1²fæÃµ3FÑ”U=uˆC_ÔŒº¡æ¡k«‡^Y=äÊŠÁWîíå'¼”EÑ«\èUÊ¢¸~/ë ű aå(µ¤ìϷо zÊPjÍôÕ)ÃíŸØGZ8¢¹väµµÃ~[3äŠÊWìûÓåŸvÿ?,ŠØZáþ2ÈŠX—½Å샃&jIé nãúT=_=uhõ´aö&ÿ©fbïÚ$ûU7ì7µƒ/¯|°óþû.ɺí"9 ‚zD"±ÕDÕ Æ2ê8µ¤ä®å£ï¬LúSÕ“ÔWO~ æÉØš ½j“zÖ»ÍÈÀÿªîwñ¾^²n¹€Eñàöí[ „™Smf"…Ó¦ jÌijÉ¡û¯(þšT)ß|ÆB˜W=1¶zBŸš¤»k{Ô=zsý˜ßQú©«ëâUuÿ/÷ÝýÉï;ÈQÅÝõlßGQL<$ÔÐm¥–÷þ5 ª²‘Ý+ÆÞS9®Oåø>•ãzU»§jÜ]Õõ¨{kmB·º‘WÓp¢Ž¨íש²OôÞ?vXwC‹bð1¹;( :¸½ì­ÉçÍÆ9jÉþ»~u0îÊâÁ7zè¿KFý±4áŽÒQÝKî^öðÊGÝ\9¢[å°««ÿ¦*¾sUÜÅ•}/,½»Ãîÿ>¸^£¡(Ä„(œ©:|î§7î¼»óξ¿ÍíwmîƒÝr¼!·ÿïò¼~wÿkóèZøÀo ÿtùÞû;öùÕÞ{~YØó»oÚz³ðaï«YÃë¢èüz°C£˜´üDÓÞ¼ÏúÝøï[.^{û}ØýÒ÷{üúýÛ/]Û£óG=:Üý’¬Û/þô­¿-&ëæ ²nì¸þ÷QÿNXÛûêú=¹“6;GÄ-Â>qE;5iÉ1›ªjl£¢ÿÜ¢Û.¤(ÌžiÅÍ™æ%yšM8)Œ>Å …QÇ™«Ò«´ 2ü¨0ø{•>U7Ô(ú—šÈ Rñ\««âŠ„ûEú(ôýY~{¿‚”B¯tÔDÐA tø$ Ò¾[‰"*.×TóŽ@Ä9ŠûC³ýFˆozý,\û¾Ðù îAˆ"D@¡¢"/м¼œgËîÝ9®£ ƒ®«V…K_l£pÂ= 1í»wo ÷(‡q¦Q8 *D(¢)|bÉ’% .LOOŸ?þ¼yó\þThjjêÌ™3=TjH!F¡ž‘ûè£ìcÇlGÚ¶Õ×Û֬ɮª²•—ÛJJl3fÌðEà…ÅâÅ‹o€!…Å¢E‹Ô¬]›ÝÒb;rÄE¦OŸî¡RC $ ÏäAµøavffö{ïeÿë_Ùï¾›½zuöªUÙo¿½revJJЇJ )$À(hd ÕN662kjlÔ€Š [i©­¸ØÖníR[k[±b…IQ¼õÖ[T5‰ªþôÓ¯h¡¹™ÕX]m#¥‘PTd›6mš‡J©Ú*„zA A[½­«³][rr²‡JÓÒÒhðHІ@ýH…tóÏ«ÖN]ôŸk&|Ùé±ç¥c@QtuÅOsæ|×­³íÉ[mu³½æËk.«ÝSRVÆõ‚Ba¡í©§žòmÂÔ‰d¢´´7Ïî:òƒ˜aY£g¦µ[H QdÿþÛÓ·î¹ã²m=¯µ íb{ô²mwßIm m’BAA; xóÍ7i*“ ýÍÌ4#-XðVSSÓEýÞ}üï94®Ú-$(þó@ܺ__ôõìÙ?íØñÙm·lúýõ?¬]«=~£=m“'OöP©óAà¿þõ¯‰'ÒÂØI/P! ï¿ÿ¾çB‰"4A¡¢Eè€(BD:xˆÂåÉ.ŽÐ·K?¢ðõ¶· Ȳ#Š{Û¢¡(ú W­¦(¸?²ÞD: ŠÐQ„ˆ"t°\}Š…®ˆQ D(¢@AŽB¾ƒ‚{›¢Á(xŸæw!D:B¡#+FAW'y7Ù…EèQ„ŽEèQ„Ž|‰¢Q˜*D:ò# á7¹ö8pyrS̨b«há¥mÛ–÷/¾®ÄT‚P…„þSÛ€Q„éø€*$Á^UH‚ÿ¼ªÿyU!‰üé¾þ¿ Iþû_²2^ ¥æèÊËIUYý‚AÒ™#7Cß{büÊ#«°—ç}¢V’=šó?>ÞÁY*ß)ÍLÿYþkf 5ºôöåÒíÆmïZ?§‡)ŽM©úâ¼OtÙP£æysW§]Ýæï°à`²Ë©Ãgs´1i{V.Û€ù_ׯÊüî}¢;4ÿËõ²jµÍp^`Žä8ÌUzùí¿X¼f¼=ÿkäó®À>Å:†gÐü¯¥šëiþ×Ï9L®Fx(ùï^ú/e¹¾v÷¿r>m }sÉÍä ÊžjÀü£6µS­—‰Z¹Êàÿùí0³Ï¸íø¯Ëêò«“/æ8ÍaY9Wá®™Þ'jåœçxU! þóªBüçU…$øÏ« IðŸW’à?¯*$áþ¾`üóªBüçU…$øÏ« I¸þΫ IðŸW’ ðßèË»íJgŽÓ†4LW…÷?8 oÿ]ÝQ Jì#ü7êþÇ+sÿWÅwüÛ¥¿ˆàòN¿ª0‹Ï ößå‰÷€ÏÆ;È¥ÿN×ß5wbT…q÷?¸j¡þ;Ü åꚣ[Š£ÿú; lªÆøoÜýÊuZí#ýwyá5€û¼0GÚãW¢©ÂÀûÄ’ýê«áó¿K«¸Ï¡}sÃÓÞ‡aÜñSÞ'êîpåŸþ;Îù^ŽcäÑçkÂþôQþë¤óGë¿çô÷¸j6*Oó¿Aa7Çó-†ŒïÐÆ¯»ÿʯó?ö¦‰±ãcŽSµƒÓSÙÍ?Þÿ`ÓOH¶@ü秈;ÿÿ9T! þóªBüçU…$øÏ« IðŸW’üðŸû=‘D8ŽÿHüç+øÏWðŸ¯à?_Á¾‚ÿ|ÿù þóüç+øÏWðŸ¯à?_Á¾‚ÿ|å‡ÿÀ@à?ü·2ðþ[?ü_›¹Ž?ù ó_à?ü·2ðþ[øÿ­ ü‡ÿVþÃ+ÿá¿•ÿðßÊâ^ÞÊü pÿ)g~þ6î)L ÐÿÝ»·äçoåEø ÿ4óp!¬ Øì¦áÿῼ’±)¼ˆ<ÿyßÑã›à?_Á¾‚ÿ|ÿù*Rý·ÿˆAÝ5IAð?VbÓ6ËowΛÿõ¿É²] ÿc“¦ÄöNßÉÉ›ýiØšç3«ïµlWŸânä¯u„€ÿss×% Ék´þç¦õV¬»†¥S7±÷SÖmN—”.Óæ”S”eoüwþ5%Áþ¼¤ÉÙÞω¢ ù_·?+YôÓyüK]£ZJoÕ–sÍ!)«N¿íøí¿óïCÙ;Âq ή#hþËîéîÅÕš|´·ºíoÔÞmb¿ÿÄŸûß4Rœ×ÝÛ†ñ¯½‘LVïUöÝÿ¦•ãtBÃßvñu%†´O™ô³æ¼Ã²´à?_Á¾‚ÿ|ÿù þû&—w¼k]Þïáþû&§C4Âe³í‹Ú? qü÷I.Nê’Ô3‡Þž7„ÿ¾¨Ýoãš¿Ÿòî´ ü÷ElTÇÇ»Ôí38üs”€‡ž€ÿ>H7“»8SewZ¼|ä´'p!øï¯œæ}­É®w .ÿý•ÝbO­ÐYÿ ’öŽÕ]±›ÃK{÷xü3eøï“œ¿iinpø fÏ‹ýoÈ þóüç+øÏWðŸ¯à?_Áï…û"OðŸ¯à?_Á¾‚ÿ|ÿ}“zRÍù”§Ãifû‰9O—,á¿/ÒßÔàô˜^ý¹O¯“ ÿ}ã3¨.xÅ»¹Ìâé^øïƒÜú/>˜×Íe.·ÿÀŸdŸJ´.%_ sö_ÞY`þ7NÊþWº»Dû8p·—y1ÿ›"yþ±ß†âö2;æ$»í|ù×¹à¿QòxSƒvü»¼S•à¿o²?–½ï_®ïIwüç+øÏWðŸ¯à?_Á¾‚ÿ|ÿ½î€ ‚ ‚ ‚ ‚ ‚ ÈS OÍ\8ÂûøËê⾈HòòrG¸€ óJÆ&ÀÞ÷¿@AAAAAA9â~Ôâp¿° Ü,ïã_‚ ‚ ‚ ‚ ‚ ‚ ‚ ‚ ‚ ‚ ‚ ‚ ‚ ‚ ‚ ‚ ‚ ‚ ‚ ‚ ‚ ‚ ‚ ‚ ‚ ‚  'qÿ8À‚¬Í\8ÂûøËê⾈HòòrG¸€ óJÆ&ÀÞ÷¿@AAAAAA9â~Ôâp¿° Ü,ïã_‚ ‚ ‚ ‚ ‚ ‚ ‚ ‚ ‚ ‚ ‚ ‚ ‚ ‚ ‚ ‚ ‚ ‚ ‚ ‚ ‚ ‚ ‚ ‚ ‚ ‚  'qÿ8À‚¬Í\8ÂûøËê⾈HòòrG¸€ óJÆ&ÀÞ÷¿@AAAAAA9â~Ôâp¿° Ü,ïã_‚ ‚ ‚ ‚ rwªÊáiB|³Ð§XèºJèüï&»¢!ŠÐ‘õ¢(B¦ Q„ŽEèQ„ŽEèQ„ŽEèQ„ŽEèQ„Ž,E_Šb5¢0Oˆ"t„(BGˆ"t„(BGˆ"t„(BGˆ"t„(BGˆ"t„(BGˆ"t„(BGˆ"t„(BGˆ"tdÙ(Ü­‚ ŠÐQ„¢X›¹<¤ðoŽâ=­ºeG÷¶! D(¢Eè€(BD:xˆ‚>âÇ–Ý»s ‰‚¯½ÛÚŽQˆlß½{K¸GAx9®B< /¢í(Š…«XÁ|­yQí,¢@ˆQ DÁ-Š>Á¾ ƒ(¢@ˆQ C¢ïïÝ}"â¢@ˆ"Òç¨ÈØ_ DaPÅÂUA}f¢@ˆQX6 á7¹v?pyrS̨âÀKö‰Ü´Þ‚F±i›×% ±ss¥ ;çÆÒ²ôêu™¯(¿(Z²2ue‰´˜“*Ä+Ëâ'ñº÷|ÅÑÿôXaÊ:å­ìüš)BïôÿYŠ&›Ú5j67þ3×¥æèRBÇ|Wÿõ[qž:¾Iˆ˜ÛÎ)íù&âè;PG$¯ñu-ø YÉêXOÊò}uøÏøÿ}üç«Èó?¼ˆ0ÿÃøÿ­ ü‡ÿV&Âüç~ þóüç+øÏWäLdù^D˜ÿaü‡ÿVþÃ+°ÿ^=ü˜äÿîÝ[òó·r"| Ð)g~þ6î„)û/fÞ’ÇóW9ÂñüÃþý~ÿá¿•ÿðßÊÀøoeà?ü·2îýljµ ùïòüN¬ñõ¿'Öxû߈kA9ÿæÁ`6ðþ[ø:þ¯Í\‚ŒÖÞ÷¢ZQ˜BgþáÞ ÂÎÿô€ÿðߢÀøoeà?ü·2ðþ[øÿ­ Î?À+ÿá¿•ÿðßÊÀøoeà?ü·2ðþ[øÿ­ ü‡ÿVþÃ+ÿá¿•ÿ¡àÿ¥UI]páŸë½Gˆo"úñƒ?_2²ä¢~»ß{„¾ÅÞÒ§ˆ?}½¦O±/ÖªË?º®Y­,˜Áj_0§ W™C€møõr¡ó€¼ÿþ‚ ‚ ‚ à‰ûÀYî' ÂýÀâð>þ… ‚ ‚ ‚ ‚ ‚ ‚ (rÄý¨Åá~ häååŽpÀT¸Ÿ€²8Ü.¬Í\8ÂûþS«‹ûâñÍ€'}ŠÜPì}‹¼¦Øܶ-0Lj€¡]µÊ5]Wû€»B,¶ë*o¹jµx_¬o­õÉ1…ÎoŽðþû?‚ ‚ ‚‚'î?gq¸Ÿ,÷‹Ãûø‚ ‚ ‚ ‚ ‚ ‚ ‚ È÷  ‡û € ‘——8Â}Sá~Êâp¸°6s9àïûO­.î @ˆ#Ä7žô)jbsh·^ÿ0­ }½Æ§6\µÚHº®òߊ5 ¯[ë¾´¡ó€#¼ÿþ‚ ‚ ‚ à‰ûÀYî' ÂýÀâð>þ… ‚ ‚ ‚ ‚ ‚ ‚ (rÄý¨Åá~ häååŽpÀT¸Ÿ€²8Ü.¬Í\8ÂûþS«‹û©«)¬,ÙUVüciÑA hïVóPk¡pÊí ¸(:Câ5ÏjLuYÞ ‹3»%Ìz§F—yùÉ¿¯ª­Ì' ‰×<ÿiœPcF½´fKn1ï£lÃTXRKýuñûÎãß¿xMõŸFBή¢ó¥s9»R\‡ë6$^óü§™¶¯sçÚQg#€³gÏœ<ÞBq9\bH¼¦ŽjϦÖHáô‰ã-G›ê)®£M¥†Äk¶ÿ§OŸ:}úddpêÔ‰cÍM‡ë«=øïk¼fûòäq‘cÀ‰-ÍGjË=øïk¼æû/UÔbû—ôõ[²‡%î_ԯߢýR†)”>c£aÕ8ÑÜ|´¾¡¶Ì£ÿ¾Åk¾ÿÔlÖrÃÙ·$Nè·pŸüvýt± Nì[ØOJ¤!nÉ>#k<~üèÑ#uõ5¥ý÷-^³ýW[n4dxÜ⽚”½oõë÷Ö^õÕáS#8vìÈ‘¦ÚºjOþû¯Ùþ«-7˜Bæs¡.1;E˜ö9K#ó]ã±#--MM‡kj«J<øïk¼æû„8v¬É` ôë· P—HþOýœÒÉüESÇO  ¥åpÓáêÚªCý÷-^³ýW[n4Y)Bì¢=š”=éýú¥ï‘^[ïY+¤d[issãáÆªšÊbþû¯ÙþÓ6K476œ= c…¸ô=ò[ê!na^óžô891oaœ˜b\G666TUWxòß×xÍ÷_9fÀº@QÊz1Qö_Ê uJ®QÕ=ÚÐØPY]QäÑßâ5ÛµåÀ‘#u õUå=øïk¼fû/ÖRÐÁg}mYeùÑÿ2Câ5ÛÿƆꆆ*¢‘Q¾PuÌüŸK‹÷°qÞTnL¼¦ù_qhçåC^ÎùÏå%{Kí);TH á µ¿¤(ÿྟ>ß¼™â:ÖìhñšçUYî¤×V œ¹ðŸ¯ß›·=Ü)ÌÛV˜ûmÖ†ÏãSÒ“__sâ¸ãÔí_¼æù_W½‡^_ZþA„]ÿúÆ»Çן:éøÕÉ¿xÍóÿpýÏG—k®9yâð©“GNŸ`lh]W™Ãj¯1©¦qÕjoñ¦´ÎoŽ˜w«°ƒ<üÖƒ—ApÈ&NžÅÂU«¢02Š®ˆQ ×Q„Âo…7«› ¢@ˆÂÈ(úEÂ¥DÞû D(¢@ˆÂ«(ŠÙ¹PD(¢@ˆQ„[aþ½[¾~áÍêfƒ(¢ˆÔ(vïû( ¶ïÞ½%¬£((Øæýï/xˆ‚ëïGlñr,…x_ø„«ëEÒ÷¶! D(¢"# ‡}8Fá|ШD6G .µQp= è 1ìúÂ%ˆ"tˆ¼(¸ÿ\‘ß?r¤"hg› Wä(îA슫Âé8Ê Q„ïï€h£àþ¼”vŸ¦âî×4´QðžõÛ‘‡ß¤ÐFaÒï1'·¿ì ‚û/ øýûÚ(xÿŽ€ÿ¿2 ‚ûùý~V¿6 Ó\/?’Ýø'Þk@tUü.kÆgÆ<þ]û`yCŸ¯B÷pu!e£òvãtûr@¨g7úéëÚ(”‡{,îçâ!ä{Ç)}#~*>±|ñt9iúõñæšö÷ð íϧ )Ùb6!ås%…=<Q?%E}<¸öáá.!nÌ“ÀõQ¸{\¶’nÿ……ÚlҲÊÚüLâ·ý}Ô¶ççik£pûÐié¹Ój¢þÔ®SÔD‡BR z*µ6 Ý£›…©ë•·ëS¦®·?·Yy°³&Eyª0{¤sÊzõáÉìñ𷇛µ«úlg}®€,¤dQÊzeêK™gBÿldZÐ>6YóVpXÅÐ'$k£àþ0a¿Ÿ3¬‚ÿSyý{Z¯îìïgÛúýÌ[9 ñ îOˆõûɱÚ(¸?gÕïç¯j£àþͺÝïÝîžbª"|ŸªÂË“?!¢Eè ›iÍ~>žyP·}-Gaúsó|yžOm¸+O¸õ+¡ë?Yþ<}.XÅÚO ¿ýæ=è,È\s }™é ¸Ô¯éßSÂ3Âtá6ánú¯§p-u?‹¢ì¤6[¾"ÊõúV×ï‡ý‚K3 Š`aþ5NlŠŽ’ÿ –ÿ¯Õ/éß3O<ýÔŒÔ?$?#¾I}~êÄ?<ñÌ3ìÓ»fx¶ö#.ëÙp1{&\&¿ß!¾ÿdÍ5ž‹ºLÍ#ÿ?óÝk:ý¢áRZºLèqá‚»ÐÒþ‹.ßßþÃï„¢úKÅ|×¾T¸¢)ýÅ»)Ï”ÿnÍ:iéŠ ¥u>Iûô¢Kè³Ñôo¤f¶Ggy?¼`Á‹ ô•Ÿ˜8KŒ­Ï½Ñª•_G{|[5Ÿ]r}yåSþÏÖíq°ƒ•Ú ¤8â_ýô"e+›ìqÌûï(Ai§0û—º^d1üïç ^¼Fôü2!ªã%¢ÿ+©ŽEéY J|#ë¢(ázá<;Ú™ýK±ÞѲßËä:Ó?—¼aå.û”ù"•«x”õ·¨ÒÛÿþâFªcLß‘³´íQ뜟u+ãJê¶>#g±²uÿa©½©Ï™Ú¨¼.~hk#{ÏÚÈòü-wtXï{ZG]÷öéŒÝçHí^FŸÇÓ¿/þgÁ‹écŸ'‹_Šbÿ¯ß“þ¢m6‹Azÿ&ï)Ÿí·ö4åÿéÿ¬Ì7éxòÊó•ÅòÓgÌ`!Šrξü%1GªÿMæß”ç;<õRÔ|J-=Bãõ²/.¹L[nÛ:K¸Dê¯e_n¼Hxå:Aü?étna×#g-j²÷ÓôÿõM’G÷?|­8&æ^ò8>O½TèGï]1ûÅIôOY¥_CÿLÿ®l–Ê)¥å×;<4k™_1EÑõs)-£+kF‡wiyÆ/nƑҿ1òvÌʼB_Â+Q‚2Ö>¡õ”å¯hùû¤ñyó0o`ÞÀ¼á£Ûx:dÄádøëÿSl[ßTìxœí]`ÅþÞ$¢¨OAŠŠ "ˆˆ(‚4‰ `(¡—ˆ4„ÒøG¬A@À*èCQ¤HçÒBBHB¹”«©—^Ùÿ77{{{—Ë¥]K2?¾ß±;;;;óÍ|Svï6a¡Êv~"3±¾œw¿Ÿk »îªßy„ãòñŸ üÏó$ÈMˆS/‚óÌœÞJá÷ f³‘Ü|ü[µâúsø·Â´+°hÍ8w#Wæœ{•ŒWY«êõ­mµùúÖ¬2œ?òþƒ¡c¯?úË£ל{é9iÜ ßW?¿ñh°K¶û a^¸:¹î ÝçâªfŸk̹º1‰Œ=•-1¼C¶‹nÛ…{‹›‹«W×ÀˆXþþw®ï æg üuÿ*o-ªq}wxz"-¿þ<¢ÉRÁɘßî¿_WFŽkþüaø¿8Ý€C5£8®‰P¦¦i¤îIÞ8îqøð'á-áOÁŸ†?oo ÞNK[x;øóðöðàà/Â;Â_‚w‚¿ '>>>>>> >>>î> þ|:œ´Ä™ðYðÙðwáð9ð¹ðyð@ø|øøBø"8QÎøRø2ørø{p¢æ•ðUðÕð5ð÷áÀ×Â?„ÿ¾¾þüÿààÃ7Â? ÿ þ9ü ø—ð ø&øWðÍð-ð­ð¯áÛàÛá;àßÀÿß ßÿþü{ønøøðáÿ…ï…ÿÿ¾þ üWø~øoððƒðCðÃðßáGàGáÇàÇá'à'á§à§áÿƒŸŸ…ÿ??¿¿ÿþ<þ7üø%øeøøUø5xü:<¿‡ß„GÀ#áQð[ðhx <~¿¿ ‡ËàdâO‚'Ãåp\ WÁÕp <ž Oƒ§Ã3à™p-< ž ÏçÂó8:ÆÞ3Ñu ÂKÉ1¸®£p¡ú×ÏÛI@öõsüÕg+~?ú Ò¸!—ãzë>Én.ºÞ¤‘î²õ k«‡V·&1¼þÕJÇØœ·®«!áä¢jòîŠ-tWzWøÝ q½íxŒû¬ ƒmQ…¹2³êÚfÜ÷Oì~Zذ€Ýƨ þSa1²é…,5ÉäSF°\S1â®,òn6j/ÿð¸ø[·Ïž=Žr)´Ùõ¼¼LËö4Ç®—¯ÞMÄ$M‘’*OIÑ!UQ›"$¨Ô±‰Éwd(Wbº¶ž——­—íiΠå”ÌLM]*=#A¥‰ILF¹Ò3ëyy™–íiΠåT­@ ¯Pgd$iRn'ÊQ.Y9Z®?åeZ¶§Ewqäz™¶í´¬,€¶p+Âss„øÓÎÔ£ ŠÐyy¥j#°}X«å¸ÀÐÍ^Ö½(šwrJj\’‚–kR^i¡’n .¯Û6îú¹{uÈJïÝ»}ýÊ«I«çåeZ¶§9\Ë?o]¹gßÐóŽfÂj¦ŠD‰öm]©T×óòÞa¿“²£9VË×ã“ÃhÞuìýWß<+ž—Ÿ_PXXXTT\RRZZsíÌÞüqTY*Ò=êÔÞÜœõƒ8Γþ‡i­> -— ¡'J­÷ä*Ô;®¾ûÉaËÉÍ¥Ù+*..©DÞ„2—ã  ðDüõ×B«ÝíØ:o¦t}9GL¤ò½eµµ,U1…=µ|æ ÿþûü‚üÚµü•+¦GOŸ&“„õëy¥’?tˆÿþ{!<+‹ß¾_¸_¶Œ?vÌ_&ãW¬ §ÐeBQ¿{7)ΪUF‰ÿô¿oŸawÛ6þÔ)Ãî† üåËdÛ±ZÆ„ãHèŸG´ÙÙÙú6)•39*™4ržAÑçÐíiÑ¢8©,‡ìAsåæˆ§W2o!~ÏÐj‘½²’1É›IóFWcr9©zj’ÕjðfÓ¼]¶¥lªå²*¶§–33ù~ýÈåœïÜ™oܘlO›Æ—”vì !-Zð/¾È·lÉ@âÃ22ø6møûîã;vä;t ùŸ:U8ÅÓ“oÔˆïß_Hɺ¹‘h8ÝÅ…_³Fˆ6|8?r¤!':ùá‡ù¯¾ª óŽÕ2Öw?}únjFÚ¤"]µýÚ7Ï}ýܶËÛÓ²Ó©œ1iD1>š'±³_zJÛ•8R› ©ªppݽg«SSiöÊJÆ$oNõÒ›óŒ¾$­¶–íŸ7;h¹<ÛSË>>D5¿ý&ì“ñŠûà!¤{wþµ×øÂB²Ì7l(hãæðB´ƒIž££É64Žq™Æúý‹¿vMØÅÐŒÄéèl-[n¢¸ÊNéœÊMl'&رfì¥?Ð6ùmø÷Ïÿܡ՞gùªÉ¶KÛé茵3┽:)Ò¬’–Å£8ý¶ÐqÝ¿Oÿ*W©Ê“L´qÞL¦¬Ò ªÙùMÆeûçͦZ¶¬b»iùêUr¡ï¾3 3†ðA>7—l?û¬A˜°Aƒ-c‚)BÂó瓤BCÉn«Vd®N Û‹N/-å›6%óyÞÑZÆö4ˆT§“I£ô-ÿ{L›ø„x…Fƒ69äœÏ¾ÙíTÖ»[·ùºlçåf#Žÿ,.„‰ßµ :y¦G šåúk‡Ë†Ð9ö4È_Ÿ¥ [#®›(——'™Üœ,iÞL樖/‡Œí à¨|*?í·gÞίh¤Yɯ¹–+£bŠÉ“ù°0þÜ9"kÁÄV®$“a:æJ-$„èH«5& iªeXl,ÿî»ü“O F êW<³ë;ïÕ‹Ÿ>l8\Ë&ÛR-W¦ëÆØ|ú×$¥rÞ·oD¤ßzµûùL¶i›Œº|Z:¾ÐÖˆ±ƒ>>…þÄÓ“óœC46³!&7sz#Ü\ßb’· '~º›˜Xžd"/2š3H&T)e/'NchÍTá$Áþy‹Ö/«¥÷¾U‘ÕÊäÓ‚–+¯bÛÁÄÞz‹å• ôb¢eAË ™nr?6Z7ÍÆÜ¯J ²zíæíܱ½f%ö×1Ó{ìÆÂl'd‡äÍŠZ†íÛGî;›–ÇŽåÛ¶­¦–#"ˆ*§M#¨6l ëk‚ñ!þÒ~úô]gøþ’˜7Lh±>‹ýûô¯{7Îfy«$*s»’жÃ}l†Èpüx£À”r«yÀ€ê'k2”Û΢«8Ƕ±©1-3ØÕû>¶YEÛù·YYä~{F†]/ZC‹éÊþnƒ­Wƒ¿Ùj¢hö;© i™Áv¨‰–©‰ŠfZ®Ð˜–l‡šk™½}»UÚ{]6¶^f°¬¥ef•1¦eÛiٞƴÌ`;0-ÛÓØz™Áv¸Ã´lGcZf°˜–íiŽÕò©]0Ô0-—gþþü_ÙéZŽ}ßšÊÉÌffAË5_/kµü‡ò7Z1¿v5Ž3¼¨ÓÖÆ´ÌÌÄ ’nkÿ>‘uùdöåS"°›{éEΥ߳ÿ>œ|(/‰üöÞFZ¦*~ôQ"‡ÊüâÏ9­j¹çÖëDZO~ŠM"篅WO_?UtýŒˆâÐSÅ!Ç‹C~Š®.¼ü[þ¥3o-KULaO-'%ñ›7“¯™;v?C¦U"%æoÝ"?}ß öÏ?F3‡'ȉԨ– ïÍþüs>-Í )„… Ûùùä¸âÒ¥äžâ‹GªdŽ}&%jÍ)8 ‹Iº$©“‚¦Xa°8É[6òþü­$ätIØÅáðIQ|ólÉÍÅ7Ž„BÑ!gŒÎ|…Z®Êßl-«b;kyûvòš\wwòþê—^"“?Rë×Ox[´‰\ee á_|A¢‰Èwí*l#Z§N$Í—_&/hÞÜðºNqÈNN&ï3qs#ßVm׎ü8kÀòJüªš“hãÓ²!—‰–¡ß› "%ˆ8 9Ü8-]=ˆÉ6o%-—§b{jùêU"¨aà ïúP©ÈK·Z´†àêi¹iSòŠN^÷>ünÝ /µ>Þ4‚‰–Ûµ#¯Àݲ…ì1r³º}{2”oÜHÞ‚;c†AËM›’?õøí·ä‘“›ÿÞ{†CTËH áÓ¦‘8›6‘»ÙÈFÙ?…S -;òýØÒqËd¡-a`ݰªLU'ñjáßX› 1¹÷EÏu¸4jŒÖËz-K…Lpý¸RI-“÷}™[/;‰¢Mì÷ßIàï¿BÑ.ÛãÆ‘Q›×ÝjnÕŠ¿x‘<·ât¯ì¾{—ÿåþ©§ÈKÿúôînñºêB°˜¥C­<Â/_n£9É×H&‰Ð—fOœHø©†UUË•DUçØeŸ/Wl¶¤ãrþõ³%·C¢/ÙF_&Ò¾þ?ˆ… d_;S=-S«¼¢ísïëÐ!r­þ1 <˜æ›\޳öWÂû~l Ï—™–í é¸\v®äNXéë¥1W ç¨K3ùIÈi¨˜nÔPËÔ*£hûh97— ¬mÚ¯`?O¾¾…5®þÅB„“'­ùC hÙÁ¿“Ò—‹ËŽ„Ñ¸|ó¯’„ˆRÙ :4SG^* ûrQtýLÅZ®ôw8-+ÚnßûŠå$óazÝ–-þº¢¸^¶ŠÕU-Wo\f°¤ã²C´L­7 ´ÍÀ°Ön<Ý?üÉþ‘ÍÞŒlÒ/êá>‘÷¿u_·H—Î7¸Ÿéý+ÚÓ²ýÍDËtP†1g.šO´LkFËå ÙŠmŒßÀÕDŒ5<½ž ¬´‡»G·ôºÝ~Ø—GÞ}Å/þÕ±².~².cdÆ$tðKl;*ùßäLJɛ ’?ä%oØ7Ùµ‡Œ{ù׿ÞXËì>¶},üÉ{*§žè¢˜ìªôwS½C žÞ@3«AÊ» 3Ýå³(Þ% 3ÝRh™Šw® ~B»®Å"¨ˆbŒÂ¿iÞèÞT¾àqÛîˆspGþõ‚"£x®Ÿ¦óz#i³îò°pº42ÍO…i"c)îfó,¦ e@Z³Âq*îÎéÖËhõ¾Óv¨¬Ëè„×'&õ™’Ügjr¯)ɯO‘wŸ"ï:YÑq¢²íXÕ3£Õûª¢nä­rï“ìúJ”K»ƒ8W\/ÿÝ…iÙNÕ†ÜûR%÷®¡åMýšmìÕø“ž?Ágo6–Á{Ý»9QhŸô>ö½õD8ÒÄ‹NÆNwIšŽðób`ÏïðÝU4ÁƒWíŒáùÍ—NwÏÿV¨î_8}p?|ºKÉ:£4óy~]û¥š7*žŽÉó¹CøÈ׉‘S¶ÚÌŽÏÏíhÞ¨d•‡ÙÓqE1ò=ž¿¸jçÅöfÓ”f¬hú ižË¦P²Î]¼\¢’_×|°ÒËCLJ(‘£o¤—½©^b|׫`<¹"´èw·Óˆ„ž“’Þœ–|ìB.B¼f(ˆ×iYåI´|©#Ó²Œj]hÊ¢e1¼ˆç‹Ë?«”ç/o[|}Œîþ˜îF™¨; ‚Ê~âMÑb2[;‡ö¯ì·»÷N ´<Æ å"wl'ðÛ )ôw7z¢´Öf’RíL›/Íèç!è®[#ILÙþïd…cs&í§Ÿ²õHeËኖ>Š–Ã’Zˆjü Y/CÈÑÝ8¬à eöLÊ>&ղƯ ZŽüÏœ°Qn©“õÀ‚k…á>"¤¬Ø‰Î!]×þ³ÑìÛ.…À1ùÄÔôkß] ŸDtñsóeJ¢åó̺æCçj—F)ºï‘¹Æýaº‚”E»´:ù ©ÓSvë±Îw™| ‚ÿ>¿®¹â¦|qÞìéš…»r—“ðàƒ$rÌJœÈÇ~|^7±$ižÒ§þr#iÆnb7QÈsîr÷²)öÖ%ïàï–ýÜ|ˆÆÏ¬:9¤Ð’|HKè>>iÄ<åØEªñ‹Uc*G*|%kçŽcåíFÉŸõ•?í#ÆGÞzxbëÁQͺ‘ûØô‹Ùa/pûÛ1-ÛÉÎ<Á…¿F¾!ŸèK¾‰Íëµ\¡¢oí a2t—½RNlOiSI÷#r¯˜¡Ó2ÌQ 0„ù-‘Õ†ðÒs©èÄ£è"4Ëwj„ݹÜžžKÏ’FÖl;gát“CéGâ˦)nˆãC–ÐB€r¨þ7 CIKè=9iüÕäåªÉËTãaš­>Ç djÏHnóVr«aIÏú$µ}+¡íÈÇ»-CÈhWÐ2Æå53-ÛÃD-Ç !µÉëT\¢kö„ »ýílQËêIœj¼AËQ==°ú6 Œ\é<¿Õw—|‰³îe÷½˜Ðú馲‰ü‰¶Cä~îåk¤ëÔm’1šg§ÊgM1BòK®¡äÇS2–Ìû¯TM[­ÂçÄ%ªÑ†?–ÖsR’¸ýœOâ³CÛú$¾à+{aXÄ“¯àuZ†1ëø̴l“j9i´ å²ƒ²Rª{œ ‹ß3ãÊWõdW¨˜"ÛxBKa¢k©–1Ìa¾º·ù2èÛYJ^î7Èñ Û&“æÙáy³ŠŠå#Œµìc¤åÙªÖif¼¯ž²Üp×Úëíä>““_góóÃ;ø&v!ëàs³åë¿!„ÊLËö4hùjw.¼ÑrÂ(Ây…‹e:.'þ0 ZVNà(0?Ï^a4¡…©Ä›4h#¾|ùNª‹BȪyžr0=ÙS'çãÉèüÛÿ²»ø%vßq¸©–Ù¸l7ƒ–/t%o¹5‹Å]ÃݘÅr7æqá‹Ün,t¿È…ÎãÈç|N¾­_h—·Ç»S@)vCFqX)Kµì„rÆÂÁ©€ÉóÀäµ0úsQËã–¨6îJÿ|wÆ[ÓêFçékÔSÞS_¬=_9bžbèlùÙrïw’ßðOÆ úÕ1²ÃÂ[¼¶çb²ÇÆe;›¨å°þ®Ðrä{Ä}ÐôöÊo¯¸ÿö ¸UÅ­~øöšÆ±+ˆ}Ï#z»¼AôbN¹Š‹ži²TË‹“Ãáú5ÌøuO2â|\Ð6f| Þ¶/ó›ýZ(zå¦ÔEŸ¦ÌûHƒôŒ÷UÓV«ß^¥ž¼\5~‰jä|Ű¹×;ÉÝÇ'´Þôò;)Lö åSÏ2-ÛÏ@5´|Å“ æ-ñ¸dÈs §žF2ÃÅ4\ó¶‹z ‰FàÄ3m‡‹×ɵL!æ-Q¢åeŸ§ý±eoæGߤ/ý<%p„¬™ùBžºB5e…jüRÕ˜EJß@ÅàÙr Í]ýdm„uz¼P#‡–Ñ®˜–íi ¼¬–ãËÑrÚ,N„¨k*j‚2óm'‡ØÃHû=*g妙q E‹?Mñ_¥ö[¨ô P š)óíd̨ûN%è5) xeL"ÐyTb{Ù3ýã^¿a&Õò‰d½ü=û§] „Ç áB†rTÈfµ,ê7ë]LtîÏQ¤Nr.¨,BœSI'WD×cÜÕ›g§š~9¤B“}23¤Ÿ;VmX2Ó‘‚iÙ>¶víZ ÊÐ2•°TÈTÅÚ¹®¹nåG¥oé_ÝÉPëúAÊÛndº5™| ìÒÉd½ .±ãto`¾57½ˆœmÁ¡9º™× £ZÆ´ #²ÉDšê·h¾Û½% Ksô]@t›¾&ˆÒ !P÷6!˃Ê@x‹s€æ‡Ö#­DŠ¢—®´[ÎõwÉšJ~‰OúvG"‰Ñ×/kü„oÑÓÄ9ÇõaZ¶“­ÕËèsf5€~!I~e‚?A°±5ÁçÏóA/°¥‹i C­ª•BºûQئµ/Ò]ÚBDÐf³² }åcö8ò$ÚÀÝÌë…­Õä @Îd`…L+ô3l7õ$ØÚ‡`Ûå‚FpXȪCàpB,óƒZËâgy@«0íV6)™Û ü ò$±u9º™× [klX8SQ‹« ™î$}VE?…gRt·P¦?Wt8üÂ&¿¾î 0!Ê”=ýO St?¡KE‡ê~T5”üZHÒí’CCÉû¦ d“våèf^/Ì3oÃ=‡.çP=·{Ž®2f5Žs5m-^yÖM‘™Ì…4¸ü>¸;¼¼!Ü~?üx#øƒð‡àÃÿþ(¼1¼ ü1xSx3xsx øãð'àOÂ[Ÿ‚? Þ Þþ,¼ ü9x[x;øóðöðàà/Â;Â_‚w‚¿ ï ïï þ*¼ü5xwxøëðžð^ðÞð>ð¾ð7àýàžð7á^poxøø@ø ø`øøPø0¸|8ü-¸/||$||4Ü>>>>>>> >>>î> þ|:||&||6ü]x||.|<>¾¾¾¾¾¾¾ ¾þ||%||5| ü}øðµðáÿ†¯ƒ¯‡ÿ?øøÇððOàŸÂ?ƒÿþ%<¾ þ|3| |+ükø6øvøø7ðÿÀwÂwÁ¿…ÿ¾¾þüGøá{á?Á†ïƒÿÿ¾þüü üü0üwøøQø1øqø øIø)øiøÿàgàgáÀÏÁÏÃ/À/Âÿ„ÿ†ÿ ÿ~ ~~~~ ¿…‡ÁoÀÃá7áðHxü<…߆ÇÁïÀïÂãá2x<žO†Ëá ¸®‚«áx <žO‡gÀ3áZx<žãRõñ|As´£æ†þ IH°p2£"ºø€£þ*2KÜÔÜ'GÖ q½%ç¬ýƒÆ3 6çß$®OÛUˆG ÙÒýÿHfc®EzÐêÌ›V“¼¦àÿË^\N[1êÛ ÿºHš:×ꚪɬ›â2, àÞ"-ÀWÆJà&$sS”ôÓåm 7EÍMPr“Ôdc’ãRœ éÎ…ñ*)Dæ)í få4\TÚd%ÿÄ¿ Ú|Ä?ÿ9ßå3¾Ë¾ç&‚>[ ÞØV.hç…¬:&ÙÉw¬ù®sµ —Üÿb´ÞH€Zx1ÈT…4¡ }ŽçÎ7‘ë2#àf¥Q .ÜsÝæ¡F¸Å¥n‹x€nãS ¤4°ÁÂ{É`.sïI!ð?4„›o:ùijZ¨ Rå€cÀ -C%Áu½À ‰#üŠ ©±¼›e€8+ÄñO0)ÕÉ vj€Àó ™ó”ÿÎI"Љa:ŒS0TÏí5DzYþEÎ%´+u3R¥ó~r'Âè$ç¦ñR´ø•ðßçškÂÿïE6ý îÁ•·ï_qÛcÅí‡VÅ=¼:®ñšÛ¬ˆõx/–[Ý`y,·8š[¥äfF¼´Í;¼€NŽrø'«-4þ9W¹97¸À0nÞ ·Eáî ±}ƒ›J>ç‡öÛ&çB½÷ä•tÂ.7*ÄLŸãð_ëÚ—¿¹7Âé"÷z|Ü©ð˜S7cO…Ç’O‚‚Ýð˜ã¡Ñ'nÄ þ%<©ûçœï§îyjž8Ãu¿Êõ '³ Q º{,•z'д]Gó¿";ÞøfMüµÉå)æùâËÉö’DÉ[âpª+äy„1Àÿká\¿8Âÿhú¾¬J½_mÆžxðU³án†ŽÙwß<ÐbžQeøOßå»Õc-K̲æ{Ýi¹”YƒM¯yÂ%“æÙ:—ò?B®ç¿âwUÎþö¶Ûˆ·É©ÀÿJÎËã»î/¯kDÊ’~)&i{Âjå²ÌdLŸgkó>DÏÅïý ØyKÂ*¹Óhà?–óÓH¾S)í–2vù~½ôÝ.Xbr4Dktîò\ã> }=¤%Ì„ä çÒ³$‘Ïm³|ºÑ¡ø#éæÒÌ5ɘ®ñÓ<——‚´,úh–Ñê×#šLú"?„ÿ Þ¡>ç?‘n£Â(ÿB¬¶xç Ýíß±4KÙKÛ’îhÈw©<Ÿ þ=†§ïL¢ZþÙ}¬’üqÁ„à!ÍIœF]®îëÒû´etÕ·Éê¸BRSN{Œ=´Ìw]£)rÄŒ?ô·Gszþü圾P .þ`0"7ZC"+ðOÒ<%¤ùr¸QÆ^¾¹3QŸgs)èÔ]¸k¬îZßᬟݫÄÿ¸”Êó?oG˜«ï%7-ÀMÌ"X‘/-l£æÛ@²øÃ7šÿâ>6}ÐÑ]ûÇ!­®^P„眣Ål{qŒî–ëÓôèu—îÊÈî/Ãu§\8$\exÈ CH9g—ï:s¬pÔc®ùÓ›Üß4M÷áÆkȳ® eRø¢ªaép’y÷^eŠSÏ„s}âÿ~"ÿ•úÛ> ¿¾æŠþçí<ÀÅ?—›Ë­* Û7A¨`ùÃ}çW®£ƒŽ• üÈÑ—åW÷‰yB1Ûýá.žH±ºÐ(MÃnŠÀU×PsI()ø2P7»yÂÑ©*³§/½Ä›I*Þ$MÎ4c†SÑ`–¼Á» ‚Yrì’…¥n<@å "¸©y47’¤Ç€# oÔü©LñxÛÝu•È:(}á/B7ðñÆk:C|]š^qÕG–&B.=ÊÒéFWÔå§Â4u+'Ïb ¤1¤6£ÔO„Šü£E7NºôÙEnsŠÌ/j8¿´ÁBá©"}æ(‚†ž¬àZæ¢Õ†H ­G;Ÿn˜ðO«€ð?»¨ÁÜðO°¨´,ÿ–«ÀZpÿ„§i£Á©Õ;½ñÙ‘(ª‚…¦µ°HPDyä[?‡:EW›Àžnþe"ÿô“®ªtBÈjbn z§²  Rí8Lû[gƒÈ¿îé€ð%…ÜOð'#²áa½ô³‹èœG ¤¦â %NãìQþIÈÈS0¯Pï0×þâ—]|â(È·QM¾‰F%¶)p”Á2ÈŒ åß+”𯫱̂F ãKNt*ÐB9\ŒÑðÕØfé~wRÕÑ öãŸñ_Ÿq?ãŸñ_Áøw,<ºÄ0þÿõŽåÿƒ]§ê9v‰v,ÿežlÖ/cü;Öœ„ÿë[{’(׿O'á™é\á$ü£%8œŠúÌ5Ûÿ†¤$uÒGsXxTÄ¿§Ñk+¦¶LéµõžžëC¥6mÿõÿJÐh©"Xû·.ÿ:bƒtZ’L·…³AzÙx~y–âz]« ýOù_ž~R–·wå65X-ï)/DÇ?6¤ç:šÕÊ£Âþß´ÿ!drs–iäFü—9TÿFíO*3FG©žÌ=äW™ !üÇc»v*¢bþ͵ÿÐò¶kÒÿÚ0σC#&ÁpÞÞ=å„HO$¦¯‹Ú'áŸKkghÛô¬VžÿZÕæ¥¨^ÿ/éX„Qè—½9þÅÉReúÿ÷ZŠ’À„Uô6–BPºáÀÑdÚ›J;g¦µuôá€*Œ¿ˆùÑM¡ûHº™Z¦WÑu)fCLÇ_]ßåhV­È¿Maiþ_¶W©ÍýŒ“óofþ__øwðó—z~ÿÓIø¯·Æøw¬5ìÊžÿ:ôù¯Cùg`ü;Ž20þÿõ¬ÿgü×g0þ Öÿ3þë3ûýQ1¡ß:1vÍŽ6cþOl#ÄáäØ!oÞ³é÷òÖ3´ýáÌ ?üz:8>!þÀ—Þýô'„ Gȼ˜·éÿ·û§bãb=ý÷ì{­˜·*óoÕïÿ(ÈØÕ;÷úS.OP*“4Ejª:##õÈŸ¡“>܃£V`²Šb”æÍoå7{“Én'&Þ•ËU*9²÷û…‰î¶JÞ*æß–ßÿÑ–Ê’¯Õfdgk‡ãh±ë*·J|V‹š·²äÓìû+Ì$ož•參Ŀ-¿‚¾Ý%?Quw_Ü^ŸsC¾ÿV•®ÈÍÍÎÏÏ ú qÊ9mŽg¹‚²ÿ¸.º³ä£mäææ~¹_š7Ã%N«|óp,ÿÎÐçÓ–òý"GxýùÆ ?·ûæÚv_XXpúrâHO ý²7ú´ÃºžÍPBË#Â4"~+†ZÅÕ‡ë¢Ï/|dïÔ¥HiÞ$åÝ3‡J Ìåį‹!×Ö×”ÿš}ÿ3 ¸´ÛAËóÏ7zœêÖzwëv_·ùEE…Ù¹yˆ#9.)±IG ÐC– !‘õ´T®yàºpË#ÙËÊÉ•æMLP Âòå±€=5å¿ÆßÿAûÁl‡–ÝN‡ŸŸvO«&_=²ýÒ6_RR|æjŒQû7¤Ò Mȸáõ:XNˆ¡5Vª—ÖióïòÈ/..:s5Ú¨ý‹ ›jMr9i .KŽ}þ‹þSMZ:ôùèvžûú¹í—·¥g§üÒÒÒ›JûX‰~%•[yþ«2 ຘj–G~ii‰IÞ,7T!Dl‡úîÚ±üÓ9¦šºÒeÓÒÑ–òÏ\‹1™c`æ#L½Ôú.HZÌ BP’Ó+—7L5Í’_6oe*·Ìå$»k‡ÿþ³hÌó1Õ,K¾ÿG{MæØÆeÔ·m CÊö •ЮŽy>¦šeɯ(ozÂ/GûdiwípþÅ5&¦š˜í`ÀEŸiWviVæÕ[³[ÈÛ—û1ÛÁ€‹>¿ y«Î?Eõï±Ø’ÿšæ­öð_oÁøgü×g0þÿõŒÆ}ãßIøßÿóû£¡žGÿ¤žZCÖÿ8ŒÆ}ãŸñ_ŸáXþÕÊÈäøë w®Èâ.ÛqQmñ*(NâÝ«(JWayË?2£H[¹õç¶c×q½—Ô 4óyÖÇß«’à ËëXþÑN¿5{·ÖHd¼ %Zµu_Ùö_¶¼ç-áÜõ¸{uÊJÏ]¿r¥ib+,¯cùGO –––:+®(..ÊËÉB¹2Òâ+,¯ÃÛ?òSD¬°®  7'+3]ƒre¦Ë*,¯3ð_P_PW7ŸŸ›­MOÓ(,ð/-¯3🗗£Cv@nn–63%E•hiyƒšù,ë"úkoñÛgÞ_GÀè-ÞÞ[¢i„“_pÒÊÍÍÕj35)ª‹üÊëü#Û$çVÄ­¯½8ïÍ·„Ý£óuU{k³7 Äçõõ-k^‘"''33C­QÊ,òo(¯cŸÑüˆ9·@¸×Ö(IHÔWÞÞ_E‰Ÿ&G­‡ì쌌t•Za‰iy1çVC$á9Ò(ðH 7ï8 ÷ù["­w-cde¥§§)Uòx üKËëügÙÙéVCä&oïM‘Fàîq„ƒü-s9Ó£VCVVZzšB%¿k‘Cyû÷/h~Äœ[‡9Ï-’ˆ oï ú™•±Å“ ×ìø¥Ž=ÿûÙ99šü¼ô ËëØþ?M›‘Ÿ­Uæå¦åçeäeäÛEEy¶ƒäBY…YùÚŒ´»–—}ÿܱ`ü3þë3ÿŒÿú îñPTAã‘rZ ßÒHÁ Ò2ØÍpO¯Ãný†ì6†ÅÈOY„åÈ&²|Ô4©ÝF¨ &²ˆ .då°ôØ®Ég Ãx•#1.E‚tãÝn…œ|Uê6äº ìêB†&q’ °Av•$|€†{#|­±9ö¹¬ÏVãmF@HÏMFŸå¡Ëg¦hóA“•|ƒ¹%¨®ËßÎÏÿ‹AŽÄóŸ îRl·ÞhJwŸø·Àâ§:.„£“8¯›\Ÿ8gæt.¼“JðvŠËÛ×Éj€› äÆ)üä@,Ũ_àâÇ ¢¹·°ò»_åZüêÌüs“Ôè5Žj÷1I37«å©ÅU-ÑÌOdîýB¸>×ù]/4ýÞÔYÅ„¦å(ˆ-YÚ°}ÑžgnR%Ä¥|ºX½Ê_¹ÐOà#Ÿ9(ùí7“ßñNžÚHšÔ Hó Á¨Î2ŸöqýŸ õjFtøÌ ñ| óNpíö;5ÿT‡؟èÈGg‚¼¥~¾,㇠̽[Ò¿ù(åó¥š šg«?˜©^=MµbªjÅÕÒñÊEc¾òÙƒ“ýßùu ÐæøÐÎrM¡Àÿ³§¸çör¯q4Íåšã™'½w¢žùD±3GÞÔÌÈÜ·M»ÿ›ô]S7­Lùt‘æ£yêg«ÞŸ*P¯z[µ|²jÉxÅü‘ò€aÉïx%Œï>¤ý/¯4%åÿ/1þ+"?± dÜPäMµd˜ÏØýyÚÖR>Y¨Y ^3]õÞåâñÊù£óFÈg•ÏBz$ÿ7’&õ”y5|X‡ý¯µ åBçþ[]rvþÅI…C€õ¬”|Ÿ$=ÿÊù#S7­Hݼäç_»HBWÎ%Ÿí“<}@òTϤ‰=“Æ÷@xöÿ~Kôë?ªóÍáëù)×káÿèÿ™º¨w8(óÆücÌMÙ˜òÉ´|1Ã:ò&OíòǼ*†'Ž|)~d§›>eøgíßrû/ŸùŒèíI·óþ Õò)bž“ßöJžÜ'iÜkbHâðç};ÈFt¼éÓá·×[ò”ÿÂjAûw,ÿb-È7â_µÒ_…Ù>—LT޳Þ^ÜNôy.q賉>me¾/D {áÀëO’ru‹®%ükQC•b- oI“{czC&9Ë&£çWÌ%Ÿ3Ü$ÿÉ#žO~«MÒ°VI>Ï&¼Õ6rHÛƒÝç)ÿTX0þ+à?ÅDÈ[ÒøîÊy#T‹Æª0áY8V8’¬Âf 3/ÛQ>ªÜ÷Y¹ÏÓrŸg‡·ŽÜú`·f¤\=c  ý7ùÔaüVdº»î…ŸÖI- o‰£»Êߪ\0Z¹pŒj¦Cй>&ùWúµSŽl­ÞRáÓ2iX˨-½Ò˜”«—Œðß&Š´§æ?ÛY`¨…LyKxëEÌís†ƒyåüQŠÀb¶•3úÐ{¹ZÕèÖ*ß'•>-’‡´¸õf³ß»ü‹”«_©‚Nq„ÿ¦_9„Ûʹ¯ë$0®äM6´mÒ”>òYƒs‡+æùŠyVÎ~S9£·jšaþ£ö}\5¬YòÀ&ÑoÉSû$Oé%Ÿòº|JwÅä®Ê‰UcÛªG?ƒÎ_åÝ(¹{Ô+®Û¹ð”HüwùÛ™ùw ¸çp˜­ä-ºû÷½ZÞÖþîÈ—ãý^‘}Uæ×E6¦K˜N‰~’GµMö}F>ìqù &r¯‡’û6”õp½ñ2÷KçròI€çîN~yU O+ ÜþZ&×ú>êÝ:t`ÛÐíB<6°Í­Ãû?ÙÿÉÈ7›EõkÙçá¨×ïìvßÎ.;p¿ö~†7á߉çŸgÞ”|=ÿ3·e§G…ón¿÷Ňöw~ô×.÷u}l_çÆû»6ù­k“]9Üù¡ß;=pô%Ãnïvôy—Ïqû{?£‰¹Y[[øw|·oèsŒ&Eîóf~UÕâÈSKfiÝßÊ2ôÿNοÃçŸtÀÅœ‡N>ÇæaòC€ LDGäŸtCÖhÃ2È'=ŠÖN¼ œŸÿ2G‚ÜêL2È+Žë§C=úÆ »ýô !øìCÐ#Z¸íƒ |býëôü»x…:œí@ï?8÷üÇá?@°í¯zÅr­÷qM>s4ÍåšÃ)bü×a0þÌ?ë§¾gü3þË3‡SÄø¯Ã`ü3þ-Û»NÕÔ^þë€UÀÿÓŒÿª™"½ä†¬ôJtá_7óÏ…g¯çŸ¾–sòjÞ‰+¹À±KùGþÉ=œ§ ÉlË¿FÃ/]ʯ_oµâÇq×·öt†O1K ?As/Vq/"Tv§äúíÒ+1¥—¢‹à¨’‹7KÎ\/:u9›·ÿ”ùFÀ¿b…µ7±.ÁÎT˜%´|Trãn)h§Ì_Ž. Ž, ¾Iòÿ#üC¼-ø—2OQ×ù—¶t;´å‡Ü.í—"‹Áùÿ®—Šÿg®Y»ý—e¾~ð/mÿŽá¿<æëÿÒö—tøwt~T±p~:¤8RL7*æ¿oy3‰eþ-3_?ø—¶ÌvÐòiã÷yû#ÚþA>hrBW@Mù¯ óõƒiûÇ<„_‰.Õnǯ‹!´ *Ëã¿òÌÛNÿ´ý‹ü›T¸Š¨,ÿ}îwIùwæŒiûÇ Kìó¥´‹ä @tµÂñ· ÿZ-ÿá‡ü£:ž|gâ_Úþ^Ê#S} DòÏÞ,>{SàÿXHѱŠ×_eøwªZpþ¥íÿð?yXaa‘+âÏHÒŽ(ù=´XÄá«EG.åVÄ¿Åûo•¯…º>þJÛÿoæaªQ·Î½iø?q“àÈ’ƒ!ůý~©ëß ïV¦ê:ÿÒöooþ+S u“öµªàB8YóR ÛóÇoè|Àÿo— ÿ]‰õo•îÿ—W 6ãßî|šÜÿüõBΉ«…§®“; zœ %žßu@Ïò\Ê?L¾ kýûoekÁfü;¡ÝN*8ñ·öäå¬S—³E`£-º´|“”ÇÛîþ³´êÿU5Û>¡µ°q£õòkdtkãç¿wœüùcy9¯`ü3þ-›Ã)²1ÿÎþý‡SÄø¯Ã`ü×þ÷íã·o·ߦæpŠœ0ÿâ‹d ¶h‘õX7˜Ã)r^þEæ)ÿÕà¿oœùç/Ubžño7þÍ2ïÄüGÅ„~{èÄØ5;ÚŒù7>±‡Ó^þ-0ï”ük”·œù£õè§ÿßîŸN\ˆ‹ýõôß³7îEÂqÔáäW–ÿ ™wJþA²ßÊoö;'“ÝNL¼+—'ªTòÔTõïB&~¸G­LæµõžžëC­Ë%™§hÖŒïÜ™làÓZ¨.ÿèdÐÎË’Ÿ‘‘ªÕfû+ G¥‘''Ú´ÃÎÀ•˜·ªË?úyt;fÉÏÎÖæææ~¹q ü‹ÔœÆUF+ó/“ñ£Gó®®ÎÀ? Påf‰¡}~yäçç纉8føWï™C¯>EôºF…~Ù›3ÑElΗëõYÕí¬Yû‡…‡;¾À¥Ë"f;pË#¿°° +'qÊòOH&ÛúZ0Û°¡‘€=©ê³Až’¼éêKØ­´ˆ*+_ “'óaaü¹s|h¨Õ kÿÕè ж1Û)üââ¢3W£Ú¿ØýÓË¿dP"šI½Hw+ÝUvþY™Z°Íü§zü£oÇT³<òKKKl:h¾ÿ/@B¾¾Û¡GíÉejÁ™ø§óL5Í’æZŒéüÇô*¤c7ê÷$”êû¨2ý­ù·\ ÎĪnþy>¦šeÉ÷ÿh¯ÉüßÌULzuôaýØê0ͳL7EÇ_{ðO­l-8ÙúK\ÿbª‰Ù\ôùèvjßúׂIkÁÉø§¨;÷,­…%K¬D¹‘9œ¢ZÀ?µ¼<+$RÆNQ­áß6æpŠÿu\ß;ÿþסæpŠÿuŒó߇õÿŒK¶ÿçu(óó_·ÍùùwxQÏû‡SÄø¯Ã ¿qî÷:œ"Ɔóó/‹»l;ÄE]´Ä«$ܹ’x÷jrüuµ2Ò ÿÎýû®÷’ÚŽf>ïÏúø{Ur8Pëø¯¯ò[³gÕÖ}µ±ýß« Vzîúí¶c×¥ibMùïëì¿¿+))®í(..ÊËÉBG”‘_ëø/**¬å(ÈÍÉÊL×€ÿÌtY­ã¿  ¯V#??7[›ž¦QÔRþóò²è-ÞÞ[¢«unnn–63%E•Xÿå¼ÿÐi,//«j8høÚì‚cU>Ý,þ«snn®V›©IQ%ÔRþ‘ÿÊãÖ×^xR¿{r¾a»F¸µÙÛ{ó­j›““™™¡Ö(eµ”ä¿Ò¸¹ÕÛkk”ixÔV/½tG£¾òöþjë|!hþ í¨>@‚8eN‰ªBN ÈÎÎÈHW©åóïÜ÷ÿÊ"¤Í;n!Âñy\à]4.ð¸>Äû«Èìð-Þú‚#b:‘„ùHúYùœH••žž¦TÉãk-ÿé•Eä&oïM‘fÃŤÑè¶É‰ÒøÄæ//åJ ++-=M¡’ß­¥ü#ÿ•Æá@ÎsK„q`D·ˆmï ú™UNˆh’ˆIH¥¡Õ¦¦¥Ê•ÉwÌóïôÏ_´Ú´Ê#b³'šëQýîÑÀ¹G#‚¼¼‚"Ä£^„m1D+l‡möâŠé ¥»b´*äDDffjjŠ\‘T{ùO­tU ·ÀÃ9ªŸzÎñ2ð¯‹/ncC<é¨Ñ.grJ‘™™’š’¬HŠ«¥ü#ÿµêM’<ñvùü;uÿŸ™©©ÕÀäS£JHNŒÑñŸPëøOMQÔ^¤¤ÈÕ„üXÙð¯MO¬uü'ÆGÕ^$ÜŒ ¿}+äøÙ³Í|ÞÏÖ*ÌÜsîïßF…×^D†ýúçáÇ|º'7'¥Öñïð§·Vyþ;÷³sr4ùy鵎ÿ‚üLÛ¡¨(Ïv\(«° « _›‘v·Öõÿ•ü"M-ãŸñoÙN‘Íùwîûo§ˆñ_‡áüüsƒ´u ÿ¥?œ O»ñ½ET)²E`r.EªpúdãÉÿ85ÿM>«p4Í̘1cÆŒ3f̘1cÆŒ3f̘1cÆŒ3f̘1cÆŒ3fÌìb¹¹äc*•ŽÎGÍ,6–8wsþpUË–üW_ŽöëÇûû[íZHÿûï­–š‰¡:žzŠoÓ†ÿî;þüyþÄ ’s\ñ‹/„'OòýeµËÙ´,‡‘ôÿùÇ(pð`þ™glr9›–å÷ßIúø”Z|<á‚°=nœðç¢Nâ[µâ/^ä_z‰œÒ¹3÷.ÿË/¤Z]]ù>}x…B8Ñá#H»}ä~ùr¾¤ÄLY&‰àÜFø‰y¦¦e),ä;vä6äÇç÷ì!¥01Q/œ´kÇú)¿e ÿØc|§N|ûöüÖ­üÆüý÷ó3f2Ü´)ïéÉû-ù³e(Ñ{ï™–©!|Ú4gÓ&òב d¦†–™I˜â AûÏ=Çü1_\l¾,¿ý&„¯\Iv£¢„ÝI“øîÝ îÒÅPkÖð>È•¥C~íZC²²ø&Mø½{kZÑ1<`ïâBZˆÙ²¨TB8:‡‡6œÈwíj(Ë'Ÿ…†’ë× e{¸ÄË/“ÄEüë_ü¼y5Êÿ?òÿùiàúõä¢11fÊŲ4n\nYvî4Š‹#!ÁÁ†²$%‘ †”¥Øµ«Fe™=›41‡ÔŽ!׺|¹úeA íèQR ´g e. Ð  £‹fdÔ¨ °«W‰‡ ãÕj!­-¿E A‰Õ+ ´!˜æ°[7¾woÃ!ª—‘#ùæÍÉŸÕ£†NÒÝÝL ©ªmßNXBRèIÐßb™Ä¸I­zeA‡4¡¨yŽŒ4-Kr2ß¶-¡=úFTš\QQMËCÞ¼™ôŸÀŽ|zºá.ñvëéyÄnÃ+ºbÑ0aرÃ(Ã(ûÂ…üçŸóii†hH!,LØÎÏ'“ \qéRþàAþÞ=+ÄêfÓÁÝÎV—Ê}Yq:ÊŒ3f̘9aÞ(“YaîíX;wŽÜ| XSÖ^½ø%ˆÓÅÕ´=í¿ÿ%sï7ßä÷í#SýÝ»ùçŸ'÷FÄÅE5¬uk£å¼}L£ázˆÜ„‘ZJ YLaAQmkÕÊeÁ’ *1Ñ4 ÛÇ…m¬ ¥ëÙ%KÈM3j?ü@îy¢e‚‰……âßw¹3&.'±ºyåáVØ„ †5ìŒd‘þé§dÉÖ ÿî»dQ3s&¹C…˜+VT­,cÇ’õe3!Ó`,6a${Ó¦‘þ† ä¾]¢à(âPΜÚðÎäþ –™XKÒ5ÝðáäVRß¾ä®ÅܹÂÍ(??²FçxÇ£’æíM’ª^Yöî5Ü®Aì?þh攢Gò24&ÊÒ¬™pë öĆ›l(,*wÛ¶*”å­·HíW¯, ià¼[7~Õ*£®Oz šVÊRëÔ‰Ô-Ë AFá†Ý‡6zâP¡­\IZfÙ›ŸÈÒÑjÍ”eêT¡,¼îyù“O ÷<ÇŒ1SVz» †>út¡,#G•Ëÿj—åêU’´OC®ÐþssÉö³ÏÉLÒ²`lo°DGóó瓤BCMË‚íÅ‹ §—–’Nòý÷­_˜9KÚŠ‹É}Ktn| „  ¿öšPwcÆBY ÷ =µƒIYP(:7±ø ¦xíš°‹ÖˆÄ¯\±IY23IÞÇ'7&ÛèÄ›Û;v-HÿÓ²%whY0ÛAž¡ÐŽɽn(Íš§'iºýû é#Y´4DÃé(Èš5B4«—…zNÔ;8DÛ ¤Iíôi2¬ ¾”Jr»L¼Í‚f¶};¹¶lì˜!>æu¨œ’—Gv‹ŠÈtùD¥Hÿé'2Ù ½Ö©S†]Ô;½ÌŒ3f̘1cÆŒ3f̘1cÆŒ3f̘1cÆŒ3f̘1cÆŒ3f̘[«G8ŽsåÌÚcðw¹ÅÜ|î%®þuã^ÇVÝ189Ÿl·p1~}·&û¾÷9$̘1«ÃÆú_ëé¢]&ü/µûá‹ßYôî‚%ëv–¬˜;£Ó;‹“£=Lzxröaû=—¦ôÿ¡ñeÆ[ý1Ž{Ål#Á(ÎìR™ë})±Õ”ëÚpÓêæØŠ~ ©nÿçã]ã4uñZ¥5æZ¤­î8¯"~É9ß¿£tmÑž3®é³Ü#86>çh\d¿êNFt÷×›V§ÀIšƒüý—ëʆpKÇ+c³Se®? eó€_„ûãºdÿ‘†xþˆGþßìFÏáR å T šrkÁãZKÂYËtCÙgôå8}>Ûg»èêä³ø%e ÿ‚“4]ÜáHYvâ?ölS&Ïç]]¸6ºk´tü |o®tœróøûï„Cººò¸|è"ëüñê“¸Æø¾£—K[•þš?ã:$–¨’>£—“´M­_ÍãÑi¹KÞo\NòHöÉO¥HœG±ífr^¿ÿÆ»êÏ}ûp´µëÓ"FÚ‰ó1'½4å¼Sh^Zjiy3Ðò’ò=öÖrGW‡„¤ýÄý~Ë_ßdÿÒЧTô3ŽypärÚnÖ¸¸àê=ß'ËhÌ-xvÓꯛҶÕð¯‹ËI‚ä:Û3Ûp‡2Úp䟞宿:zù–tC=kÿ¦SŽNÞm£kë©kŸ™9oìOúfíênktYòZìJÂ[!|œ”˜ ÛŸºŽ\~Ò…œ[€¸n®ë6èýã ìÐ}?bûĉM«#á¤éëWß–û¡<ý„öu(Ã…Ó·µC$ aû ¶íNÛë7,ë7X¿Áú²ýFeHäÝyoÏš±X?·±4e¬/ÓÉÿkÊ’D,xœìÝ`T…Çñ;”:QQÜ£(Pp XK¢W¥ŠZ-¶jkÅ]mjUTD¥Pv½Â B ! I8È‚ 9² $’pý¾{wïÞ`È!¹ÿßÿçòö{÷ ܯï.÷â;˜»æš,ƒKõ7œe8n9Ïð+Ý´ÛÐÎ>r‰ÁpパÁã‹E™tÎF{(ëƒsq΋.D\„‹ÕÍ:âR\†N¸WàJ\…«Ñ…•oÆoÐÝзàVô@O܆ÛqîD/Ü…Þ胻ñ[܃ßÁâãÕ€ã§û ¤N[=ax›ÿü Þâ细\ÿ)8a]Áßvýöš²Îñ&.×ÔjîþOuÉû?•ÿû+¯ák?¹0þ™]—uTþý¾ífý²¿KøÃOQÆ›øw÷~Û´Aì]ÙïËÖÇ7÷ðyÝhgT^“”מ¦>ÿ¾Êþ¯¹Â:l4¸¿Å=øúâ÷¸÷¡ŸAÉ6Ãúgp þ`Pþ àA Æøá!<ŒGð(Ãñ8†âOåïÁð$†á)”¿Íb$>ÂÇø£ð)Fã3ŒÁç‹qø_b<þ‡¯ð5¾Á·˜€‰ø“0Sð=~ÀTLÃtÌÀLÌÂl`~Ä\ÌÃ|,ÀB,Âb,ÁR,ÃrbVbVc ‚°?!ë°!Ø€PlÄ&lÆ„![mˆD¢±1ˆEvÀ„Ø…x$ IHÆnìA R‘†tìEöa?2aÆ(Á;9ÈEòQ€B¡%8ˆR”áÊQJTá0ªQƒZÁQCêÑ€ã°þCÁ?ØF´ÃY8íñ+œƒsqÎǸp.Æ%èˆKq:ár\+q®Æ5¸×ázÜ€_£3nÄMè‚›ñtE7tÇ-¸=зávÜ;Ñ w¡7úànü÷àwè‹ßã^܇~è¸ñ Âxƒ1~xã<ŠÇðG<Ž¡øžÀ“†§ð4žÁŸñ,žÃ_0Ïã¯ø^À‹x Ç?ð2þ‰W0¯â5¼Ž7ð&ÞÂÛøÞÁ»ø7üñ¼‡ÿâ}|€1ác|‚Qø£ñÆàsŒÅ8|/1ÿÃWøßà[LÀD|‡I˜Œ)ø?`*¦a:f`&fa60?b.æa>`!a1–`)–a9±+± «±AX‹ŸŒuXl@(6b6c ÂŽ­ˆÀ6D" ÑØŽÄ";`ÂNìB<ˆ$$c7ö ©HC:ö"û°™0ã²ä"ù(@!ŠPŒD)Êpå¨@%ªpÕ¨A-Žà(Ž¡õhÀqXÃÁI OípÎF{ü çà\œ‡óq.D\„‹q :âR\†N¸WàJ\…«q ®Åu¸7à×èŒqºàfü]Ñ Ýq nEôÄm¸wàNôÂ]è>¸¿Å=øúâ÷¸÷¡úcîÇ@üƒðÄ` ÂÃxâ1üc(þ„'ð$†á)Åh|†1øc1_àKŒÇÿð¾Æ7ø0ßa&c ¾Ç˜Ši˜Ž˜‰Y˜ÌÁ˜‹y˜XˆEXŒ%XŠeXŽ@¬ÀJ¬Âj¬AÖâ'cÖ#ŠØ„ÍØ‚0„c+"° ‘ˆB4¶#±ˆÃ˜°»$" ÉØ=HA*ÒŽ½ÈÀ>ìG&Ì8€,d#¹ÈC> Pˆ"£QŠ2B9*P‰*F5jP‹#8Šc¨C=p(ÿ§Éˆv8 g£=~…sp.ÎÃù¸¢.Ÿq).C'\Ž+p%®ÂÕ¸×â:\ðktƸ ]p3~ƒ®è†î¸·¢zâ6ÜŽ;p'zá.ôFÜßâü}ñ{Ü‹ûÐý1÷c þ€Axb0†Àáa<‚GñþˆÇ1ÂxÃðžÆ3ø3žÅsø †ãyüà x/áïø^Æ?ñ FàU¼†×ñÞÄ[xÿÂ;xÿ†?þƒ÷ð_¼ð!Fâ#|ŒO0 Ÿb4>Ã|ޱ‡/ð%Æãø _ã|‹ ˜ˆï0 “1ßãLÅ4LÇ ÌÄ,ÌFæàGÌÅ<ÌÇ,Ä",Æ,Å2,G V`%Va5Ö kñ‚±ë‚ ÅFlÂflA±؆HD!ÛƒXÄaL؉]ˆG‘„dìÆ¤ iHÇ^d`ö#f@²‘ƒ\ä!(DŠQ‚ƒ(E¡¨D£5¨ÅÅ1Ô¡ 8 ”‹õF´ÃY8íñ+œƒsqÎǸp.Æ%èˆKq:ár\+q®Æ5¸×ázÜ€_£3nÄMè‚›ñtE7tÇ-¸=зávÜ;Ñ w¡7úànü÷àwè‹ßã^܇~è¸ñ Âxƒ1~xã<ŠÇðG<Ž¡øžÀ“†§ð4žÁŸñ,žÃ_0Ïã¯ø^À‹x Ç?ð2þ‰W0¯â5¼Ž7ð&ÞÂÛøÞÁ»ø7üñ¼‡ÿâ}|€1ác|‚Qø£ñÆàsŒÅ8|/1ÿÃWøßà[LÀD|‡I˜Œ)ø?`*¦a:f`&fa60?b.æa>`!a1–`)–a9±+± «±AX‹ŸŒuXl@(6b6c ÂŽ­ˆÀ6D" ÑØŽÄ";`ÂNìB<ˆ$$c7ö ©HC:ö"û°™0ã²ä"ù(@!ŠPŒD)Êpå¨@%ªpÕ¨A-Žà(Ž¡õhÀqX ¼QgD;œ…³Ñ¿Â98çá|\€ Ñáb\‚ޏ—¡.ǸWáj\ƒkq®Ç ø5:ãFÜ„.¸¿AWtCwÜ‚[Ñ=qnǸ½pz£îÆoq~‡¾ø=îÅ}è‡þ€û1À <€1Cà‡‡ð0Á£x ÄãŠ?á <‰ax OãüÏâ9üÃñ<þŠ¿á¼ˆ—ðwü/ãŸx#ð*^Ãëxoâ-¼á¼‹ÃÿÁ{ø/ÞÇø#ñ>Æ'…O1Ÿa >ÇXŒÃøãñ?|…¯ñ ¾ÅLÄw˜„ɘ‚ïñ¦b¦cfbf#sð#æbæcbc –b–#+°«°k„µø ÁX‡õÁ„b#6a3¶ áØŠlC$¢íˆA,â°&ìÄ.Ä#‰HB2vcRŠ4¤c/2°û‘ 3 ÙÈA.ò¢Å(ÁA”¢ ‡PŽ T¢ ‡QÔâŽâêP‡Ê›ôF´ÃY8íñ+œƒsqÎǸp.Æ%èˆKq:ár\+q®Æ5¸×ázÜ€_£3nÄMè‚›ñtE7tÇ-¸=зávÜ;Ñ w¡7úànü÷àwè‹ßã^܇~è¸ñ Âxƒ1~xã<ŠÇðG<Ž¡øžÀ“†§ð4žÁŸñ,žÃ_0Ïã¯ø^À‹x Ç?ð2þ‰W0¯â5¼Ž7ð&ÞÂÛøÞÁ»ø7üñ¼‡ÿâ}|€1ác|‚Qø£ñÆàsŒÅ8|/1ÿÃWøßà[LÀD|‡I˜Œ)ø?`*¦a:f`&fa60?b.æa>`!a1–`)–a9±+± «±AX‹ŸŒuXl@(6b6c ÂŽ­ˆÀ6D" ÑØŽÄ";`ÂNìB<ˆ$$c7ö ©HC:ö"û°™0ã²ä"ù(@!ŠPŒD)Êpå¨@%ªpÕ¨A-Žà(Ž¡õhÀqX |@Ljv8 g£=~…sp.ÎÃù¸¢.Ÿq).C'\Ž+p%®ÂÕ¸×â:\ðktƸ ]p3~ƒ®è†î¸·¢zâ6ÜŽ;p'zá.ôFÜßâü}ñ{Ü‹ûÐý1÷c þ€Axb0†Àáa<‚GñþˆÇ1ÂxÃðžÆ3ø3žÅsø †ãyüà x/áïø^Æ?ñ FàU¼†×ñÞÄ[xÿÂ;xÿ†?þƒ÷ð_¼ð!Fâ#|ŒO0 Ÿb4>Ã|ޱ‡/ð%Æãø _ã|‹ ˜ˆï0 “1ßãLÅ4LÇ ÌÄ,ÌFæàGÌÅ<ÌÇ,Ä",Æ,Å2,G V`%Va5Ö kñ‚±ë‚ ÅFlÂflA±؆HD!ÛƒXÄaL؉]ˆG‘„dìÆ¤ iHÇ^d`ö#f@²‘ƒ\ä!(DŠQ‚ƒ(E¡¨D£5¨ÅÅ1Ô¡ 8 ”çÑgál´Ç¯pÎÅy8àBtÀE¸— #.Åeè„Ëq®ÄU¸×àZ\‡ëq~θ7¡ nÆoÐÝзàVô@O܆ÛqîD/Ü…Þ胻ñ[܃ߡ/~{qú¡?à~ Ä0àA Æøá!<ŒGð(Ãñ8†âOxObžÂÓxƳxÁp<¿âox/â%üÿÀËø'^Á¼Š×ð:ÞÀ›x oã_xïâßðÇðþ‹÷ñ>ÄH|„ñ FáSŒÆgƒÏ1ãð¾Äxü_ák|ƒo1ñ&a2¦à{ü€©˜†é˜™˜…ÙÀüˆ¹˜‡ùX€…X„ÅX‚¥X†åÄ ¬Ä*¬Æa-~B0Öa=B°¡ØˆMØŒ-C8¶"Û‰(Dc;b‹8ì€ ;± ñH@"’ŒÝ؃¤" 騋 ìÃ~dÂŒÈB6r‹<䣅(B1Jp¥(Ã!”£•¨ÂaT£µ8‚£8†:Ô£ÇaòÁ\#Úá,œöøÎÁ¹8çã\ˆ¸ãtÄ¥¸ p9®À•¸ Wã\‹ëp=nÀ¯Ñ7â&tÁÍø º¢ºãÜŠè‰Ûp;îÀè…»Ð}p7~‹{ð;ôÅïq/îC?ôÇÜøá<ˆÁ?<„‡ñÅcø#ÇPü OàI ÃSxÏàÏxÏá/ŽçñWü /àE¼„¿ãxÿÄ+Wñ^Çxoámü ïà]üþøÞÃñ>>À‡‰ð1>Á(|ŠÑø cð9Æb¾À—ÿá+|oð-&`"¾Ã$LÆ|0Ó030³0˜ƒ1ó0 °‹°K°˰X•X…ÕXƒ ¬ÅOÆ:¬G6 ± ›±aÇVD`"…hlG b‡0a'v! HD’±{‚T¤!{‘}ØL˜qYÈFr‘‡| E(F ¢e8„rT U8ŒjÔ GpÇP‡z4à8,P>”oD;œ…³Ñ¿Â98çá|\€ Ñáb\‚ޏ—¡.ǸWáj\ƒkq®Ç ø5:ãFÜ„.¸¿AWtCwÜ‚[Ñ=qnǸ½pz£îÆoq~‡¾ø=îÅ}è‡þ€û1À <€1Cà‡‡ð0Á£x ÄãŠ?á <‰ax OãüÏâ9üÃñ<þŠ¿á¼ˆ—ðwü/ãŸx#ð*^Ãëxoâ-¼á¼‹ÃÿÁ{ø/ÞÇø#ñ>Æ'…O1Ÿa >ÇXŒÃøãñ?|…¯ñ ¾ÅLÄw˜„ɘ‚ïñ¦b¦cfbf#sð#æbæcbc –b–#+°«°k„µø ÁX‡õÁ„b#6a3¶ áØŠlC$¢íˆA,â°&ìÄ.Ä#‰HB2vcRŠ4¤c/2°û‘ 3 ÙÈA.ò¢Å(ÁA”¢ ‡PŽ T¢ ‡QÔâŽâêP‡Ê/äÑgál´Ç¯pÎÅy8àBtÀE¸— #.Åeè„Ëq®ÄU¸×àZ\‡ëq~Ψ¿ p¼•?ü{ös/îC?ôÇå3àˆ?`ÀƒŒ!ðÃCxàQ<†?âq ÅŸðžÄ0<…§ñ þŒgñþ‚áxÅßð^ÄKø;þ—ñO¼‚x¯áu¼7ñÞÆ¿ðÞÅ¿áÿà=üïã|ˆ‘øãŒÂ§¶ß²½lý].e\ùhˆRw=ÉŸõ~üïxáÌã㬠•?†Jå‰u³ø¿Ê…ä ¬«(C¶ÛÕï®'•%]ÜÙú‰Ù§Û)ŸéP¶¤lOýT·2Eù””Ñúû]üKpÁ†m¬ì5½“áëˤ¥¥¥¥¥¥¥¥[« +¯0üxƒÒso° œ®ž{}:üúÓ×§é°O橹§w×'óçóú–÷iü«q²}Ïútž±“Ùûé;Û§ñß19léÓõ·òtþ#vZÿFÏ·̼֚·â¯6¤÷:wïæa—¤?t~ÚÀ³[ÜûûN¦÷õ;3»Ë{¿“êÓõ”Oö°O挙ÆNãaŸÎ]Ÿ¾>SÿjœLŸÄ_«“ü·ètí“<ágêaŸ™ÿCŸÆ¿'¹ë“<ì„{ ›z*©Ë‘·òž¸´ìµ+ö?unñãç´¸+ü ÒÒÒÒÒÒÒÒÒ4‘kËmÊ›3޼¥†­´¢ƒÒÒÒÒÒÒÒÒÒ'ßjä’¼%-------ÝZ-yKZZZZZZZºu[ò–´´´´´´´të¶ä-é¶ßãvj}ÚFZZZZÚ[ò–tÛïøL³)ӳϕ‘yÚFZZZZÚ[ò–tÛÂÔüÂäÜ‚]9§ý`¤¥¥¥¥}°%oI·ýÎ*)ÙW\œZXœ”_|ÚFZZZZÚ»ÙykÃìQÒÒ¿üÖÿ¡Í=Xj.f $¹À)o¤¤¤¤¤¤Niʼe‘’úeWÓóVŠK¥jêT·Ù©n3µy©Ž…WÐoß±’ólO‡ä²fªë\ݧêFS]¶è¶¯Fwèº'×-iO«‘“áa‡î[—3ìôSΰœa÷£w?r9ÿè3ÜfóVð´÷›5ý¦Å©‡U¾]}Üø &Eœ?3¾÷êÜÁ›+î[_|çjs§€äv¶ÿ·¹ýÈ.+Î2[fùùY,æLS–‘jnå•–UU”f…/K_3%mñ—É Æìþñã¤9Ÿ$ÏùˆfX픟í_=¥¶ò Ë[š“·Ò”JOs+“œæ(éÚ`ºÛ|ÝpºmÉô4§ûꮫ§ëÖOOOs,•î² ãÒõ륟èè6®; Ýv×ußRº‡ÝkSÒÝ'É–3,gXΰn±6|†ÛlÞJŽXM´ro¦{\þ¡ùÛ„ ß~ìÍËÐ-•×-H3Ž 1~¾¾óì„>Á…=×äu^žÑazÜ9ŸHÞú¥ù©`÷¶¦.¹²¹ykïÞ½ʃu CQ'*­L·Í¶Í° Ø—Ûk[EyÈp,¢Ž©«kÛß«[DZߌ §™ö2›×ö¡›jÛºƒ ÛžÛQçh[ÌÐïV;LÝSÑ=Ç€º û)Ð/áéÙÛÏYÆ^ÇÁ8N‡œa9Ãr†å ûÀn³y«•—ÿåªMý—ïy ¼ú“åù˜ºÞË3;ºÞ™Ù䘫¿ß>d漄 ‚\Ö’¼uºJÍOGr2*¢×WƆTÅnP›á꘵ôᘠªè5•‘«krÒY2%|¥¥9ykÿ¾ýû¨ýüÜo{° ÚJ]À>Ù1ÑÚûÔÉÖ¶OµY8VW÷ï³oܱ¶íÔ]ì³Ú÷³O›ì(Ǻ¶%œ6½ßv|ökíÓ¯¦Bö±}Ú!éŽÆ6¼O[×ζÇáëOã>ûæöÉ–3,gXΰïœaŸÈ[Ó—6kù»SÞXuûìèþÓ6Œ˜8gmhÊÞŒãÇ·ÒáIµ¬Ô¼U¾ìèŽõu»6Ûµ‰>ºkc]ü†ºëêvݱúhìŠÚ˜••QÊEÍäà-ÍÉ[f{eÚ~dZ‡33u3µe´!m×Iú­e:é†33Ý&ëÈ´/ærp™º‘L—33Ý7çyûö™™'u[7Óéˆ\ŸËòö9”œá®+gXΰÓ9Ãgèö‰¼%Õ&KÍ[Õõ;Cë¶Ô%m­OÜB×%o®O^_—¸®.>¨Î´ŠÈUµ†%“‚çXš“·²³ÔÊÎβ f[G¬cÙŽIY¶IŽÊ¶/œ•íy§Ñì,Ç&³3³õó²œfé§;mXÝD¶ãˆõ dÛ7aýÏ鸲³u[ÈvY3Û±¦óžG‘íº?ݲŽó˜í² œaÇzr†uÏ[ΰëÈngØ'òVs¯oI¥æ­šm+[õÉ ÉÛê÷DÐc_|¬~w(‘«>qmÝ®UÇâVVÅ´$oåP¹¹àgLN®aÀWê/ô0rc¾bòW1¹Ö1Ã+Ê¢2à«u™WF øjc1<ææÆäZ7¥-Oå.{嫘mô«ëNlûËUv¬¶2œã¶ * ZG´Qëì\§EsÕÅssô[±oÁ±¢}=õ‡ºœ¶VŽ:¨í4DZ¸¶FŽc̶öìû´/—£ßV®þ ;V×íJ?I}¶uìOÆö ^¶Q§ä8í]ΰœa9Ãr†OÃö‰¼%Õ&Ë–·¶¯!lÕ§D©MØR[¹¸eíc;ÖTǬµ4?oåë꛸üÀWï׆¿¹ÿþÀü8ƒáU¦2åþoâ_50ýU˪S¾¹Ÿ)<2%.ßÊpÿ7êòùÖ…´Õ¥¤¤¤¤Ú|ùDÞjÁõ-sVö˜9·Œš?bâ¼â’’Ö8*©“,[ÞŠù©~O”ÚZزE®]ëèc;ƒ«bƒ-ÍÏ[EEE…ta¡õ‡2 >¬**|ÍðÚ·¦U,,21õ[S!Ik‚iå„ûï/,dJ!S¾½ÿþoM&–)*2±ÞSá„÷)s•}k*RG‹ õÛV÷f)***²M(t é+,²ÿg[ºHÛV¡cƒE…Eºå•ÖV**Ô-­m_]Æþ¼má8Fõhœ¶]¤Ûm êOÛé+²x‘c5Ûáx>Ãö'b{J.»w9dû·íÏq¸ö"gXΰœa9ÿ„3ìy«éUYY°vÓ ÉÁg˜._”~Þt“ñÃÀ‹?¿0èÈ‘#­eðSßò7,–°ïB~WñT•íó[qëëRbhGÌJÞê¹v®«Ú±ÁÒüÏË—(U\\¢ü§´µ^[U̬U¯&ì*!K•”ìbބůNعÊ>¥D;a×.ë”lE·¼²YF †Ú—¿¦ìn•uŽc_źGÛ@±c ë‘Ù§;s”cÍâbÝx±}šm%ÛÆœÕíI™àØ€vLö}ê²Øi—¶v>vÝö™®gXÿTtÓŠKœv¨Û_±Û3t{VöA×Ô3,gØù å ËnÅ3üóyë†33o5÷û·6oß1|FP—Ù»îX™Ýë§‚®+\¿$£ÃÌ]ÆOƒŒŸGÝ8jÁÒ á'Þ©˜%Ìßpâe$oª²]ßÚRŸ«[JïZ瘲sÃá¡–æç­Rç2¼±–‰kÞ0”YG×–• o”®yƒá˜>1¡tâÀA¥¥ ¥e¥Öa&'ªÔeÙÂÀ‰êpYYéšÒÒ7X½t [›˜PÆÂÊŠ¥Ê¶ÕíÛxp¯2×¹eÚOÝ&µ®[*sÝ~™ÛL÷]–¹mÊq¤ev™ý¨ÊÜ7ìôÔ=Ì×fzšåt$º-9¯ gXw8r†å «?å ;šën<xÜú Ïp›Í[D«0SÒÊ-ÑKB"‡l¥­_º­±ï—¿yZÔÐm5ƒ·Tô )é”×ceV—eû;$¿5Žßd·Á8fqtp¿q‹Ý×%fi*fùf™ÍúDå¸úåïÇtæ ~úëaú&i¬é¥æ­Ú]›ë3vÖïÝ©|L>-–nص‘ŒE«a‹®2mbÉä–æä­òòCå‡Ô*_{èЛ†7ú‰IåÖ©}g¸-ç­ô¬Üø´}±Éi<ÉèÄ”pSÒÆ˜øÆòV·€¸§#kÝR1(´ôÞàÂ^«sºš;ý˜lü.Ò8q›ñë0%xY×þ=×¼f±øü-æY{ZÒç-}~b†K#¨¹L‘¼Õô²}ßi–úý ûw5¤Ç©o,ÒD®ú¡$-å«"v†ªyk÷Æ%–æä­ŠJþ«PTVþTQñ€á­ÊÝS ®¬ ~ë­Jæ*³ìÿUZ'h+T:&©U¡ªÐéF­Öµ+íÛ«T·§m±R°íѶl¥:³¢Ò>j›k¯¨¨p:„Š m3•Žuìt‹:=1§ö#¬p,£;jk[«° ÓŽtGj;œ §MkÛ—3,gXΰœá¶q†ÛrÞ*«¬Ñ6Ý~ðŸÛÕ®[s«n|Ž T;¯Zí˜ãaSžŸcµëþ@ª]—v‘3ìØ”œa9Ã.>Ñ6å ëúEá¶œ·ªkkéõµÊµŠšš’òнYy]ߺuqÊ“exôÑnæ‰}ƒ »š/·GIZjäšmü&¼ýHׯ–³§ü-aþ]Þ"`©Sô¥~š^Å‹)þ„0s˜¶¼þj™Ô‰KÍ[õæ„ãÅYJäR¯ríOPSW]ZŒò\ÉÊõ­Xå÷÷§Æ[š“·ŽØ«V{p®ZëÄÚZun­uT}PʾJ­ÛjÝ6¦­¨þ´m¶Öm¯ÎÓ´íh?ju“j=­àºÅÚZ×ÁZç½Ú'Ö:Æk[UöW[«Ÿ¢­ïé@k蟺ë^ä ëTΰœa·-É>ÃÏp[Î[uõõu 4O’ácõõU5µå­® Sž¬Q£\ÇšfzfkÅÐÍeo,¹fÞîvScÓv§lWòÖG+Ü×õxËà?Ký8<ùKÅÄ,ög®Ÿ¿:‘˜¥¦4–צ´ò¹i#eË[eùD®£iqµI‘µ áµ»6WïÜX³#¤:n}mLpõöµ‡£VÍßÇ’YÙfKsòÖÑcÇŽÙXû¨RÖŸö±cÇ´Që’Çl¬ÃÖeãºEôCÖìËS×Ôo[P÷«Î8jÛ¢zÇt›¶ãxtûÕþÆ1ÛvŽª›=f´‘íŽê¶tL;”£ŽÅŽ9@ÔöÇ£úÃОµzŒG]ŽQΰœa9Ãr†ÛònËy«YÓoZœúxXå ÑÕ7̉¿`RÄù3ã{¯Î¼¹â¾õÅw®6w Hn7a«ò~âHyë$KÞClY‘·Ž544kyKsòV]]}]íÁVõJ×Û'Õ;¦i£ºÙN«9êë]6ê<[·ûõö%ê=¬í8\·¹õõ®ËzxrÎÏÑñÄêöíx’õʤzýrŽÙŽãw:InÏ]ΰnor†å kO_Îð âŒ=Ãm6o5÷û·š¿m@hÑðíÇÞL° ÝRyÝ‚4ãØãçë;ÏNè\ØsM^çå¦Çó‰ä­_J‘ŸVT¬8\VuøÐáêòꚪÚÚÃGŽÖ=z¤®î¨µ duÇ«ÝܼÕ`­zõüóР>ª?m³êµ¥ì‹ÖÛ'ÔkãŽìkÛëÖÖíÒ¾˜¶ýHêm[Õ¯PoßN}½nçõ .{p9؆§cu:8ÛóÕ­äòD”ŸÚ¦ê7R_ït"tOþ¥z×c’3,gXΰœá6}†ÛlÞjAeçå¹jSÿå{¯~Ådy>¦®÷ò̤®wæ_69æêï·™²nô‚ S¾_É[-«ÖÎ[ÇíÕàaÈã$³=.ëi¹—ɺ‘†uÌóæN¼cýlçmžø(u{´.«>xÞÓ Ÿ·Ç'Ýày9Ãr†f¶œáF¶+g¸i{jlgŽi­x†}"o5÷þ‰;w§¼°êöÙÑý§m1#pÎÚД½œ®V:<©–Ukç­Óýü¤¤¤¤¤ÚNùDÞ’j“ÕÚyKJJJJJêVÛÏ[ͽ¾%uFT«æ-iiiiiiïtÛÉ[Rm²$oIKKKK·n;y«×·ÌYÙcæÞ2jþˆ‰óŠKJZ㨤N²$oIKKKK·n;y«éUYY°vÓ ÉÁg˜._”~Þt“ñÃÀ‹?¿0èÈ‘#­eðSßšU¿àÔ‹ÇëÓ%yKZZZZº ô™·šûý[›·ï>#¨Ëì]w¬ÌîõSA×®_’Ñaæ.ã§AÆÏ‚£ƒnµ`é†ðïT½cO+<)uÊóÖÆ¸ÒÒÒÒÒÒ^èæ­»Î9ƒòÑ*Ì”´rKô’ˆÅ![éEë×…nkìûåož5t[Íà-ýBJúåõX™ÕeÙþމÆ/Bã7Çm0ŽYgÜoÜb÷u‰YÚo¨w?Ôîð£¿â¥^3ÏòsºÿÏ,÷›U;.˜ùûÉWs5V§³¾ÕYÑ®Ó3•ÎÈ´ hÓ3¬­_R[F•‘µOiýŠQfûDu4³imÖµËD—Å~~k‘ÖÖ†Ýgµ¤÷êözž¸-CiF·íµv†§¶ÏÚš¾ŸvÍ[ý s¯?cóVzVn|Ú¾Øä4‚KtbJ¸)icL|cy«[@ÜÓ‘µn©Zzopa¯Õ9ÝÍ~L6~©ÜQñë0%xY×þ=×¼f±øüÕûO«)ŒÀd¿ƒ5ÙJ½â¥Ü6Ñ@r 3¼üfi7IÔÙ©v»km #rûêÆê”ç­ý…EžºÐ© ¬íyI{;/³¯ÀÚ…Jï/°õ¾‚Bké[]Q[Øi®cÔºbaQFÚ…¶M)+ª£ºYEní>±P×.Ë8OÌ·¶ÓÄ¢Œ|µõ³ m ÷êÚ±Œná½ùMé¢ôüÂSÞiÖÖšÞ©Öö8±Õ;ÏÚž&¦ØGStm-Pš”e öäîQ† ”¶ÎÚ“_¨Íµ. u¡µ=Ž62꘸ÛÚ.³¬ wÛlÃ{r ô£öaûh®ÒÉyÉy<2\@'3Eé{ÛGó¬íq®mÖ©é$Ý@’óôÆ:ÑÚÊpŽÒ‰¹ŽÖFKæèÚ}Šûô\§NÈQÚ1`í„&w¼s{œèÞå©O¨ë]bëƒjkK–h¥<ê'*ÃYŽ.±·2ª­bŸâ˜å²ä’’Ž)%l}ð€cX?ñ`#³k§UÌöÖjÃ.Ëxèb·ÑbÝDm¸ØÑ™ÖVJ¬]ì©]gÓû•GÇÄý¶)<–8w±ÖûŠK¬m[FÕ hí2êq¢m4ÃÚûœ6È”kÛŠÔ.vnûDÛ2ÊĽÖfúÞâb¥‹œÛãDOnoý¨Ë¬u¡n@ß'\+M×Úòi…?Ó©n£©ÎÚpË:Eßöö8Ñe–nâžB§VØSЄ.,Þ] ´ºânûôݧ©“ÝF“u;ÉÚúdý@¾ÒŽ%­£ê’‰Öv˜o›® è» ÈÚöY—±v‚­‹//}z»±bHKKK7«Ïø¼U][K®­%µ®©))¯Ø›•רõ­[§Œ0Y†GíhîØ7¸°{ ùÒy{”¤¥F®ÉÑÆoÂÛtýj‰0åKúmïžøýD5K™ÝÞO$Z©£úKejÉðOP’·¤OoÇ[?†cýœÊi?iié3·Ïø¼UW__ÇË­õ¦Ü «¯¯ª©m,ou]˜òldí°ˆå:Ö4Ó3[+†n.{xcÉ5óv·›kœ¶Ã8e»’·>Zá¾®ûå(—ÏË›­K]À<‹@f±Îq|^Þào›«¥4u”M¨o,J¹—ä-éÓÛʤ’s•…œöƒ‘––>sûŒÏ[Íš~ÓâÔÇÃ*_ˆ®¾aNü“"Οß{uîàÍ÷­/¾sµ¹S@r» [•÷GzÈ[M©Æ>‰%ŸÐjqIÞ’>½U¢|Ê*µPùLÉi?iié3·Ïì¼ÕÜïßzhþ¶¡E÷{3Á2tKåu ÒŒcCŒŸ¯ï<;¡OpaÏ5y—gt˜wÎ'’·~)Õªy‹Å¤¥Ý»)x¤¥¥¥›ÕgvÞjAeçå¹jSÿå{¯~Ådy>¦®÷ò̤®wæ_69æêï·™²nô‚ S»SÉ[-®ÖÎ[§ûùIýâJò–´´tktÛÉ[ͽâÎÝ)o¬º}vtÿiFÌœ³64eoÆñãÇ[éð¤ZV’·¤¼\-È[á aÒÒÒ>ÙÊ_ÿÄDßÊ[Rm²$oIy¹š›·ø72)é´ÿ_giiéÓÕ‘ÉÉü;𳋵¼ÕÜë[RgDIÞ’òr5+o…'&FHØ’–öùŽJNÿ¹«\m'oIµÉ’¼%ååj^ÞjÂÿ©•––ö…þÙwÛNÞjÁõ-sVö˜9·Œš?bâ¼â’’Ö8*©“,É[R^®få­¦¼‰ --í ý³ÿ´¼Õôª¬¬ X»iÐäàŽ3L—/J?oºÉøaàÅŽ_täÈ/€Áúòê°üêâ‰Kò–”—Kò–´´t ºç­æ~ÿÖæí;†Ïê2{×+³{ýTÐuÅë—dt˜¹Ëøiñ³`ãè G-Xº!¼µÛýî×’·+É[R^.É[ÒÒÒ-è6ž·ˆVa¦¤•[¢—„D,ÙJ/Z¾,t[cß/󴨡Ûjo©èRÒ'(¯Çʬ.Ëöw H4~j¿É8nƒqÌ:ãèà~㻯{‚{Q7vŸý¨ þaê}~,Öq?¿Yê=|ô «÷ò¸ÍSîÎ’¼%åå’¼%--Ý‚nûy+=+7>m_lrÑ$:1%Ü”´1&¾±¼Õ- îéÈÚG·T -½7¸°×êœîæN?&¿‹Tî¨øu˜¼Æ¬kÿ^SóV˜î>Öj¹OQ×õ7ø©YÊbSjöÒoM½î¥¿¶”ä-)/—ä-iiétÛÏ[e••ËË JKÉ[9EÅérL)å­îs^ŠkQýÈæò!%w¯Éí±2ëÊù)Æ©qÆb“¢ÔÈÕþý¥îëzÌ[îïz|Ðe¢Á?,,ÌߟPe sIoÊM­ÃfÉ;ŒZIÞ’òrª¼uÚïJ$--Ý}êòV¯sϬ¼UQ]mp®¤ ³š·ÔßXÔ?Þ¶p÷[ñ–碎<±õðe}׿÷\•}ykºIi"×ÄmÊýª?X澯Æò–öÆŸú†à,s˜Ë÷P¥&-õSóó–û¼r:‰%yKÊËÕÄ?VùBtõ sâ/˜qþÌøÞ«so®¸o}ñ«Í’ÛMت¼Ÿ8ÒCÞ’:-%yKÊË%yKJÊJòVóª¹ß¿õÐümB‹†o?öf‚eè–Êë¤dž?_ßyvBŸàžkò:/Ïè0=îœONMÞòñ·OIIÞ’òrIÞ’’ò…’¼Õê•—ÿåªMý—ïy ¼ú“åù˜ºÞË3;ºÞ™Ù䘫¿ß>d漄 ‚N÷aJÙJò–”—Kò–””/”ä­–WsswÊÛ«nŸÝÚ†3ç¬ MÙ›qüøñV:<©–•ä-)/—ä-))_(É[RRN%yKÊË%yKJÊŠ‹²ªª˜ÔÔP“i]l욨¨U‘‘.½:2rmt4Í+ª«OÕï'¶…¼ÕÜë[RgDIÞ’òrIÞ’’ò…âÅ"5;»‰ ïÜ»Wò–T/É[R^.É[RR¾Pê‹EieeF^Þ¾ü|µ÷Ûh¦Ói99%,¹5)É"yK­\ß2ge™x˨ù#&Î+.)i£’:É’¼%åå’¼%%å ¥¾X¤fggç””äZoMÍ€ú-óŠŠÔo™'¹X2Ôd²HÞjnUVV¬Ý4hrpǦ˥Ÿ7Ýdü0ðâÇ/ :räÈé>:)§’¼%åå’¼%%å ¥¾Xdäå³òKKµÎsN]D®ôÜ\–Üàãy«¹ß¿µyûŽá3‚ºÌÞuÇÊì^?t]qàú%fî2~dü,Ø8:èÆQ –n÷ò³:AIÞ’òrIÞ’’ò…Òò« ¬LkFsí÷RT¯rÙîœèãy‹hfJZ¹%zIHÄâ­ô¢õáËB·5öýò7O‹º­fð–Š~!%}‚òz¬Ìê²lÇ€Dã¡Æñ›Œã6Ǭ3Žî7n±ûº?{“iõ~Õ¶;Lûû©S´µ|ùžÓ'S’·¤¼\’·¤¤|¡Ô‹}ùùd¬¢C‡"bcyT#y‹°Å5r±ŒEò¹*=+7>m_lr™&:1%Ü”´1&¾±¼Õ- îéÈÚG·T -½7¸°×êœîæN?&¿‹Tî¨øu˜¼Æ¬kÿžkÞ ÓÝRZ-ýwÇk7™öcë½ýf‘Æ LÑÖbJ˜¿¡uNC[.É[R^.É[RR¾Pê‹Åþü|5l©­F®¼ƒµ)D.É[J‘«Ê*+–—”–’·rŠŠÓä˜R2Ë[Ýç&¼×0,¢ú‘ÍåCJî^“ÛceÖ•óSŒSãŒ?Ä'E©‘«ýûK]Vt¿3{Þr¿âå2E»›µTÓKò–”—Kò–””/”úb‘YPP\^Nk+¿´TVßUÜoÍ[¾þyyrUEuµÁ¹’2ÌjÞRcQÿxÛÂÝoÅ[ž‹:òÄÖÃC6–õ]›ßsUöUä­é&¥‰\·)÷«þ`™ËŽôo&ªoÎ2‡IÞòBIÞ’òrIÞ’’ò…R_,Ì……„­’Š Z‹YZØR›Lf‘¼E®ª®­¥×Öƒ×Ô””WìÍÊkìúÖ­‹SF˜,ãv 4wHì\Ø=Ð|é¼=JÒR#×ähã7áíGº~µD˜…´ä¯¦%-K‘ÀÔ÷ ýÃ,.ïjï0Êû‰'Y’·¤¼\’·¤¤|¡Ô‹ìâb5l¹\åR?2¯>ªykÓÎÏ[uõõu¼Ü64·>V__USÛXÞêº0åÙÈÚa5Êu¬i¦g¶V Ý\öðÆ’kæín75Ö8m‡qÊv%o}´Â}]í,æYj¢2øÏR¯xi1Kÿ™zù¼üÉ—ä-)/—ä-))_(-o¬¨8è¹ò¬ßÅ¥µš·¶ÄÇ[|#¨Ëì]w¬ÌîõSA×®_’Ñaæ.ã§AÆÏ‚£ƒnµ`é†p/? ©”ä-)/—ä-iiétÏ[D«0SÒÊ-ÑKB"‡l¥­_º­±ï—¿yZÔÐm5ƒ·Tô )é”×ceV—eû;$¿5Žßd·Á8fqtp¿q‹Ý×u¹WûÝ©6ø‡Ùnhíï§ÝcÑåö>ê’îwþiÍót—ä-)/—ä-iiétÛÏ[éY¹ñiûb“Ó.щ)ᦤ1ñå­nqOGÖ>º¥bPhé½Á…½Vçt4wú1Ùø]¤rGůÔà5f]û÷\óV˜Å¢ÝyZ-ý7šjw°Ö¦0â’ÉÔûU»ßÇZêÄ%yKÊË%yKZZºÝöóVYeåÁòò‚ÒRòVNQqúSJFcy«ûÜ„—â†ET?²¹|`HÉÝkr{¬Ìºr~Šqjœñ‡Xã¤(5rµ©ËŠîßï1oùü,æYO Œ)þ%t¹L—:qIÞ’òrIÞ’––nA·ý¼UQ]mp®¤ ³š·ÔßXÔ?Þ¶p÷[ñ–碎<±õðe}׿÷\•}ykºIi"×ÄmÊýª?Xæ²#ýÛÊÛ…ƒšœ\ÞO<ñ{Žú¼å²5ë4)%yKÊË%yKZZºÝöóVum-}¸¶–àr¸¦¦¤¼boV^c×·n]œ2Âd}´[ ¹C@bßàÂîæKçíQ’–¹&G¿ o?Òõ«%Â,¤%5i×®ÈLê{‚þa—Ï`1E}÷P»â¥‡1ÌbvÙš\ëj¬$oIy¹$oIKK· Û~Þª«¯¯ãå¶¡¼Åð±úúªšÚÆòV×…)ÏFÖ‹¨Q®cM3=³µbèæ²‡7–\3ow»©±Æi;ŒS¶+yë£îëj×®@„Rs’Á–zJ ^„*uT[ÆŸeüü]ÖÒ_ S§·îi:“Kò–”—Ëûy+%é`ʈiEñ^xIH-:¸gÄÄÔ±†f­µgìš´Ð×½px¿´æ‰ïl SsÆÖ¸ÌM =¨LOšxÚSú—Ðm?o5kúM‹S«|!ºú†9ñLŠ8f|ïÕ¹ƒ7WÜ·¾øÎÕæNÉí&lUÞOé!oµ Nü©/©¦”ä-)/WÛÎ[)sã›¶ÒÔ`1Âà#üe6gÀãy“3#­uÏ[Íýþ­‡æoZ4|û±7,C·T^· Í86Äøùúγúö\“×yyF‡éqç|"yë—R’·¤¼\§*oé#”–¨Ø3x í’ÉCJR<ÓytLôx%Éukú¤±úëêõ'ÛëÔk3©sjÛIe–Lš¨?—DZµ*+Ž˜èr!G]E} êbžŸæÜ×mçÆ»l™£uâüÔÜO ûhcÃ.y‚3¬(÷管þT«£ê‰U¯úæÅ?i—nãy«•—ÿåªMý—ïy ¼ú“åù˜ºÞË3;ºÞ™Ù䘫¿ß>d漄 ‚Nɾ$o|IÞ’òr5+o…7'o郑~ºSdñt½D#”xç¤ÙƒTjÑ5NÙV<Ð%Xho,o9ÉÜxíHÔ¤nž^{šºâXÌ~<ê–YÌq´ö)îOÍý ¤µ(o5vQ;QNÛq?BûvR羞æ@•K†ÎgFÚ7;,1ñÄ ¸ç­sÎмÕÜû'îÜòvÀªÛgG÷Ÿ¶aÄŒÀ9kCSöf?~¼•Oªe%yKÊËÕ¼¼•˜‘”äñŸJ÷|àþªï>]»å´©F Û2Ö+1Ú ¿ÇÅ´dp¢¼EøÐ% u {Æ®I }]90]€k,o¹<ͦ,Ö¤TÔœ¼å’¢š²eÛ*útê”8]"¯v¬±·¥}ª£’“Û–·æÞpæç-©6Y’·¤¼\ÍÊ[iÖ7"=E.™C{WK}c+%iM ò–ËF´‹F'Ÿ·<¾£g;¤¢5.Ÿšo¼åñ©¹?ŸÍ[ê;ƒm³’œÇw{]/Ýé’Ö Nµ´OudrrS>ÊÙvòVs¯oI%yKÊËÕܼ•f}W1L×êD}tÐ>ý£]"Òç§«Jº`iírqÅe#ÚµåýDíM®ŸÍ[Ö=j¿açþ>¦vÙÆ}@TjHr|zL}[Ðãû‰ž²‹mEû÷§¦mÄý|6–·Ôíè³lÓ¯œéŸ»þ­[>=]ß sþÃ Ýæ[ùëÿsW¶ÚZÞ’j“%yKÊËÕ‚¼å±Oüyy[ÊÑe‘=#lÄvÿScáC݈ ôA*5i"‰Gÿ±n-Fè?¿¥î15ôuua[°Ð>Õ®mÜž\®½9ü؉úƒWIÿyùŸÿX½ýÀôOígà×·Ræ®QŸõž±kÜ÷®oõÙi'Êå¹»ä<ÛjËhO>¿%Ý´n;y«×·ÌYÙcæÞ2jþˆ‰óŠKJZ㨤N²$oIy¹Z5o¹.Ó´·¢ZðŽ•ÇU<¾YÙÚÝ”ƒÿÙeš—·F8Ƚù×·šÞòû‰ÒMï¶“·š^••Uk7 šÜq†éòEéçM7? ¼øãÀñ ƒŽ9ÒÚ{7ø‡Ém|š^’·¤¼\¿œ¼¥¿ú¢u/¥4ºÇ}ÿV³vÑ‚ÅZ–·´+‚Ž7ÇT~R÷•K\ΟÄjÙ³hôÀäû·¤›Üm'o5åúÖæí;†Ïê2{×+³{ýTÐuÅë—dt˜¹Ëøiñ³`ãè G-Xº!Ü Gk±ßóÇ;û:sKò–”—ëTå­¦´÷?jݲï—oíçx†~ä\¾_^ºYÝvòVSêæiQC·Õ ÞRÑ/¤¤OP^•Y]–íïhü"Ô8~“qÜã˜uÆÑÁýÆ-v_—xd».åï×ØÝ©õ£ê—liwøÑÖÒ¶£_Lª±’¼%ååòfÞ’––ön;y«)×·ºÄ=Yûè–ŠA¡¥÷öZÓ=ÐÜéÇdãw‘Ê¿S‚טuíßsÍ[a$'ƒ¿þÎÓa‚”¿zÛDµôßeÊ2êýªý ~ꛆÚZÚvä»O›R’·¤¼\’·¤¥¥[£ÛNÞjJuŸ›ðR\ðˆêG6— )¹{Mn•YWÎO1N3þkœ¥F®öï/uYQŸÔáYfó ¾;^MZ„.—µüÃÌÚ5-É[M)É[R^.É[ÒÒÒ­Ñm'o©×·NüxÛÂÝoÅ[ž‹:òÄÖÃC6–õ]›ßsUöUä­é&¥‰\·)÷«þ`™ËÆ=æ-íÝCõÃï.éÊcÞÒ§4É[M)É[R^.É[ÒÒÒ­Ñm'o5¥n]œ2Âd}´[ ¹C@bßàÂîæKçíQ’–¹&G¿ o?Òõ­É0‹E{÷PÍIa³?S¬ïjYÊÏà§ÏÑ=]éß…”¼Õ”’¼%åå’¼%--ÝÝvòVS>¿Õuaʳ‘µÃ"j”ëXÓLÏl­º¹ìá%×ÌÛÝnj¬qÚã”íJÞúh…ûº.ŸŽ×^Œ)×´üH\þú)îW³Ü·sªÏD›*É[R^.É[ÒÒÒ­Ñm'o5¥nZœúxXå ÑÕ7̉¿`RÄù3ã{¯Î¼¹â¾õÅw®6w Hn7a«ò~âHyK«Æ®KÉõªÖ(É[R^®“¿Ÿ´´´ï´/Þϧ)×·š¿m@hÑðíÇÞL° ÝRyÝ‚4ãØãçë;ÏNè\ØsM^çå¦Çó‰ä­_JIÞ’òrªûUKKKûHûÜýª›XÙyù_®ÚÔùž«_1Yž©ë½<³©ëù—M޹úûíC¦¬½ è[¼åÍ’¼%ååjVÞ OLŒ°%-íó•œþsW¹ÚNÞjîýwîNy;`Õí³£ûOÛ0bFàœµ¡){3Ž?ÞJ‡'Õ²’¼%ååj^ÞjÂÿ©•––ö…þÙwÛNÞ’j“uJòVqù¡Ü²Cû–¥—Êf©W³òVSÞD––ö…þÙ ÚNÞjîõ-©3¢$oIy¹$oIKK· ›’·öõ7üØò–T›,É[R^.É[ÒÒÒ-hÊ[-¸¾eÎÊ3'ð–QóGLœW\RÒG%u’%yKÊË%yKZZºíCy«éUYY°vÓ ÉÁg˜._”~Þt“ñÃÀ‹?¿0èÈ‘#§û褜Jò–”—Kò–´´t ºç­äˆÕÁÓÞwo¦{\~óöÃgu™½ëŽ•Ù½~*èºâÀõK2:ÌÜeü4ÈøY°qtУ,Ýîåg!u‚’¼%åå’¼Õôæ\IKûZûhÞ"Z…™’Vn‰^±8d+½h}ø²ÐmL÷¸üÍÓ¢†n«¼¥¢_HIŸ ¼+³º,Ûß1 ÑøE¨qü&㸠Æ1댣ƒû[ì¾®þ><–0mÔŸQK˜Ë—oÉM{NUIÞ’òrm¼Õœ¼uºÿç’’òjùtÞJÏÊOÛ›œF²‰NL 7%mŒ‰o,ou ˆ{:²öÑ-ƒBKï .ìµ:§{ ¹ÓÉÆï"•;*~¦¯1ëÚ¿çš·Ì‹Áo–zŸi‹óí«ýf™Ãü ú¼¥Ÿ+u’%yKÊË%yKò–”TcåÓy«¬²ò`yyAi)y+§¨8ý@Ž)%£±¼Õ}nÂKq Ã"ªÙ\>0¤äî5¹=Vf]9?Å85ÎøC¬qR”¹Ú¿¿ÔeE÷ËWúQû”Ðå~kêÖzÚ¾T’·¤¼\’·$oII5V>·*ª« Ε”aVó–ú‹úÇÛî~+Þò\Ô‘'¶²±¬ïÚüž«²¯"oM7)M䚸M¹_õË\vÔܼ¥½™¨½áè¥3ÒæJò–”—Kò–ä-)©ÆÊ§óVum-}¸¶–ds¸¦¦¤¼boV^c×·n]œ2Âd}´[ ¹C@bßàÂîæKçíQ’–¹&G¿ o?Òõ«%ÌMx?‘Œ¥Na®?s­K®udIÞ’òrIÞ’¼%%ÕXùtÞª«¯¯ãå¶¡¼Åð±úúªÿ³÷&€mwÿ÷.ýÓ>-åíEŸO[ PJKŽž÷ÿð=¡Ámi íÓЂKK°¹ä Iœ„ÀÆ çrîĉ#'>[¾ãC¶|Êò+¶ãC¾%Y–mÉÞwV#­F»’,ÉÒJ¶~_¾¬ggçÚñ±ŸÌŒvÆMîxë–ê?›ž*gDZv*ž)Ð=™;üØù&7\õy9½³’Þq‘å­Õ§„yåVÆò¼^ž’&q§ø*úŸÑ$·´€·@"+P¼EQn{EÅ¥&ÄI$j­]ŠS â0#à ¢c$(&N¡ärÅI(”€K‰¼KÑ©ƒd^\2v²vp«V$ 0JÆ+Šl¯XÔ—iQ\Z8?@ ѼåSüO6ýN®®Ôø“}Êk ¿ö…òî3W–äêeößyFsÝÞú«â ØùÄw]ð($Þ‰¬@ñ„¸CÂÍ¢x%wPLr …SCü”ë’¨p^^]‹$±¹ñ–·â•Ñ1lJa„źc2à-+ryË×÷o=z°èÁíÒ‹S¯Ô0OæétHMoÊ¢ã2oØSsOz߯dÝ7œl½vWÅWÖo…‹€·@"KLÞâ8FH`(&šB12^¼0⮲¬–‡K«Œ–$D§ÊTy>oŠ óÇ$‚"—·üPgwÏû©8Ùøp¾ñEól™ùî“í×"êzãàw¶—ýàÓ‹ìÈX(-ÔÍÙ¼Y¢ñÖ¬Óy$o‘³“Ñ(±5Þ-oÅÈÆEÇÈP²ä”}…¼åS± ïqù*à-V¾îŸXÕ zmoêí{JØ™½lwʾ³9ª–Ö™™™ 5䟀·@"+ë·0K¡~ƒ@‘&à-ЂðHdé}.LJ€·@ ù%à-V~Œoi::7îKùźƒË’û‚Ñ*мY!|ß)ðæÞòMz½aïÙ ‹·§k·â»Gš¿ºKA¯JùÆš”­‡Ó&&&[¼_~ŽÞ‰,x¿<ðäNsä­K÷Ï[Þòõý[¹+—îN»iOõ§;ï:×{Ë©Ë?>ÖzíÕô{iô†tz}ÚëÏÎ` ·æ(à-ÈÞÞÜ)ry ¡•\Qw:¯ôXVáѬä#™ù'rŠÜ½_þæ%O/ÉÓÝŸ5pOZ÷m§;n:qé[{ké-9ôÖ ôælzc½>ýþÍG…yÉ]¨Ýí烸ŠHÒh¸\ÜÆÕîò2Ÿ‘Õ%EQ¨a¦¤r”] R‡\À[ ‘¼¼¹SDóVsÇ¥º­¼^°£´V•¯¨;_¦tÇ[?ß[ñt±é‰<Ý✡ûÒûî:ÓukŠæºýõô'Å쎊ÊYðÚ˜qõ;|ÞÒx±_µ;ÞâØH*G1”œÑ¸ËËØYŠLƒåŽÉ¤Tf¸…*à-ÈÞÞÜ)¢ykX¯íB¼Õ¥ío¾Ü¥Pµºã­[ÔDWL?Uh|1ŠŠB$•£…xÝŽg¬ó‰ˆœäŒ\˜ÑŽáæ¥(}±G`dà-à-P0” ¼ƒ}÷Âç-³ÅbFÛéiÄ[(å5‰…_ûBy÷™+Kru‹2ûï<£¹noýUñì|â».x+ ã[À[ € x ûáÎ[¾¾ëуEæh—^œz¥†y2Oÿ£CjzS—yÞš{Òû~%ë¾ádëµ»*¾²x+\¼YÀ[`0Ø/pÞòCÝ=ï§^xàdãÃùÆ̳eæ»O¶_‹¨ëƒßÙ^öƒO/>²#cý¡´P7dðHdoÁ`?A¼åëþ‰U ª×ö¦Þ¾§ôÙËv§ì;›£ji™™ Ró@þ x $²€·¼wÈ?)‹oà-ÐÂðHdyùü¿A ð+_Ç·@óBÀ[ ‘¼¼¹ðhÁ x $²€·€·@ wÞbåÇø–¦£sã¾”_¬;¸,!¹` ­ÍQÀ[ ‘¼¼¹ð–oÒë {Ï^X¼=ý[»ß=ÒüÕ] zUÊ7Ö¤l=œ611êÖœ¼YÀ[À[ ;E.oùúþ­Ü‹•Kw§Ý´§úŽÓwë½åÔåk½ö‹jú½4zC:½>íÆu‡Žgç‹| Þ‰,qx+Y;MŪµ2ŽS ÆI$ÉZ%EÅâ#rã%82N"%82NB©µJ¼Kdá‹P኎Näeäj‚ªs™f%Á¥…óãA‘Ë[­äŠºÓy¥Ç² f ÉÌ?‘Säîýò7ï,y²h|Ižîþ¬{Òºo;ÝqÓ‰KßÚ[KoÉ¡·^ 7gÓ3èõé÷o>*ÌËm°ƒ””$îMIå¶í¥¥Q¼ª…;LG«J"à-ȇ·¡¿êÔXŽlë䯳§¹ˆ–$ q© 8’ EñÊ䊄3œ]h–$±ÚØŠâ•Ñ1,{ yKXˆ;&Þ°À[?ž·¼ÕÜqE©n+¯W£?^¥µª|EÝù2¥;ÞúùÞŠ§‹MOäéç Ý—Þw×™®[S4×í¯§?)fwTüPÎ‚×ÆŒ«ßáó–Æy¿j’–¸ý¤¹t‚wªÞ𻀷@"KÞZ#CD•#áQN²qXl4…¸JÆã-”,š’ã]ŽÈ,56!—V-IˆN•!¨²”°—¼åá.à7iŠhÞÖëGG{‡†ouiû›/w)T­îxëÖ5ÑÓOÏ•d ü§ìÊm§;¾wPE^AVN'–`äºzÅq^F¹ä­(* qãŠÀ€·üðHd‰À[x21W+C0¤ÖÊÈÑ&DZä$£Þâæ‘¸\Ì© Ñé2„t(#> y‹W.x r§ˆæ-ÑH9«®Uƒy b‘<þûá†W•Ìÿ–Lü¡`ì‘óÃ÷žíùUjç÷oíR°FÈ•PÄîW½ò¯¢Yy #”cÂÆ·$à-È·¢S!B¤b#Oˆ~Nal¨„#¹¹¼EñJn‰‚3Þò/Œ¸•a‹ðLbj,Љ“ÄbºÂ³‡xQ—°a˜OHE4oM&ä1“ QÎØøøÀ¨®¥£ÛÝøÖ/ª–)˜¥¥“?OÑ\»·öÞô¾[S4ßNndI #×öRú£ü«ßå¿ZB#˜ODh…O¥rDNIN(F.¥È4(ŒG¿Ð%Dd8ÀËr)à-È· ÙW¥rKãÙ xÞÒuÂ$J®£_DQä2,n©;Žç '`€ËEI0ÀQ1 ¸ néYÎ+L¼aE4o™-3zÜNO£¿(H¯7ì={añöôoíV|÷HóWw)èU)ßX“²õpÚÄÄD¨[rðHdyùüƒI/pÞòõý[¹+—îN»iOõ§;ï:×{Ë©Ë?>ÖzíÕô{iô†tz}ÚëÏÎù.@¼YÀ[`0Ø/pÞBh%WÔÎ+=–Ux4«ùHfþ‰œ"wï—¿ygÉ“EãKòt÷g Ü“Ö}Û鎛N\úÖÞZzK½õ½9›Þ˜A¯O¿óQa^§í¨­ûùðö¢¦¤r|U*î`Íȥܩ²ûfâ'ƒn¨9uGý¡ ûÖÔï[-t㵇6]:³Ã¤ÞÍQÀ[`0Ø/|ÞjT·•׫ǔ֪òuçË”îxëç{+ž.6=‘§[œ3t_zß]gºnMÑ\·¿žþ¤˜ÝQñC9 ^3®~‡Ï[Á~Õ<ÞJÒh¸t’EiYäÖí¹åR*ý±…ø©-}·—‰¯žÞÍQÀ[`0Ø/|ÞÖëGG{‡†ouiû›/w)T­îxëÖ5ÑÓOÏ•d ü§ìÊm§;¾wPE^AVN'–`äºzÅq^FÞ å]òVÅh’W&Ì"E‰aˆË a~šèjÕ•fê˳ åÙœÑ)²±ì¬¡T¦/>3ÞÕŒR6g0À[ 9x ûaox«í~êÀOæ-oéŒFÊYu­Ì[ø‹äñß7¼ªdþ·dâcœ¾÷lϯR;¿xk—‚5B®„"v¿ê•'xÍÊ[¼Ùä( x+ ¼5^™eQ—O«+Ìê²éÆRÖõEæúdKMŽ¥*Ó\•=V™ƒRÖ¥ïc€·@sð–÷ù'ÅÀ`ñ¹¼e4™ÇL&D9cã㣺–Žnwã[¿<ªZ¦`––Nþ¡>•ÊHQä^Š(F.¥xYä0Ÿè—l¼UvÎÒXbV•![T%¬‘ Y×çX”g§ªÒ åé ðhÎòò‡x ~ƒ@¨ˆæ-³ÅbžžFF¼…ÂS‹aÜ䎷n9¬ús±é©Âqvk§â™Ý“¹ÃøarÃUŸ—Ó;+éYÞZ}J˜Wn&r½<%MâÖÂ3VŠÂ§Q(Æ:±Hfõòþ ó–±"“…-5Ë[ÓªRÖE–úBÖµ9æê sU†¡2›qÃ[ƒ:]÷ÈhûÐHÓÀpØþ0ƒÂDÀ[À[ ;E4oùÿÓ£M¿“ëŸ+5þdŸòšÄ¯}¡¼ûÌ•%¹ºE™ýwžÑ\··þªøv>ñ]¼EŠ7½ ž€·@" x x r§Èå-_ß¿õèÁ¢s´K/N½RÃ<™§ÿÑ!5½)‹ŽË¼aOÍ=é}¿’ußp²õÚ]_Y ¼. Èú-à-÷ÞÞÜ)ryËuv÷¼Ÿzá“ç_T0Ï–™ï>Ù~-¢®7~g{Ù>½øÈŽŒõ‡Ò<¼%š€·@" x x r'à-V¾îŸXÕ zmoêí{JØ™½lwʾ³9ª–Ö™™™ 5䟀·@"+€¼EQ¼|sE© 82NሓPj­ÅÄI$\ N¡Ä§81w‰—+:uŸFÇH¸ôØÉÚÁET,®%ãÕâ¡XwU/¢$\ûá7ÉÞ-Xäó‰À[ ï@ÞâØ%™e¯Xuj,pJ6o%k•¼\$Q-ŠWb¢" \$‰Í—°¼¯ŒŽaS yKX¬;&Þ°€·Xù:¾šÞ‰¬`ð‡/$KyÏ[Â\.Áˆ»Š,956!—V-IˆN•!¨fñµØyô8‚$à-Ђ|>$²‚Ä[ÉÚÁh AŒ›¿c§)J­•yÃ[¼\¨O¼#S+¢cPɲä”}çX,<@ Hç-MGçÆ})¿XwpYBrÿÀ@¨› ¤€·@"+¨¼•¬•¡#b,µ`X‹ä-„Axš¯¾JÖ*y¹È©@áŠPâEx&Ñ:‰'‰õ¦Xa˜OHE(oéõ†½g/,Þžþ­ÝŠïiþê.½*åkR¶N›˜˜mÛ(©ÿ“^m:GoDVPçÉ%êx=^ÑÅ 2q‹Ö©˜ÃA™‹ŒáVÐ +ŠFœ¤•å"x’$à±+ÏÅâ¼Â4À[ Ö¼ç-__£•{±réî´›öTßqºó®s½·œºüãc­×~QM¿—FoH§×§Ý¸îÐñìü€·Óá½}BÝŠy,ø|"Hdƒ·0Öð–É;’ÙÁÈók·µx1ñç}2Ÿ ¿A HÓ¼ç-„VrEÝé¼ÒcY…G³ dæŸÈ)r÷šø›w–äx @ã}ÜX‘Ks6ô‰€·@ Ñ´x«¹ãŠRÝV^¯¾X×TZ«ÊWÔ/Sºã­Ÿï­xºØôDžnqÎÐ}é}wéº5EsÝþzú“bvcÄå,xm̸ú>oɉM£±Hú!‰JJ¡€\xUÎhxÛNs‰q ¢+”& ¥±n¡ˆs¹ä-2#ÈxŸOœæ>Ÿ ¬Bò¾SîeZ° x  ¹o ëõƒ££½CC=ƒ]ÚþæË] U«;Þºõ@MtÅôS…ÆÇsG%Yÿ)»rÛéŽïTÑŸWП•Ó‰%¹®^qœ—Qø^xw¼Å 0nÈ ‚.^©œ¥.¹„…ƒÜIø>ã[À[ À Þ/¼¹ÓBà-ÑH9«®Uƒy ¿X‹<þûá†W•Ìÿ–Lü¡`ì‘óÃ÷žíùUjç÷oíR°FÈ•PÄn;½ò¯"r2O iiî¼%¤+à-¿ã[ ‘¼¼¹S`yë_BÂ[F“ y {||`T×ÒÑín|ë—GUËÌÒÒÉŸ§h®Ý[{ozß­)šo'7²¤…‘k{)ýQþÕïò߀*g!IñGBˆÀðü TÎàq)ÞR-òªËùDsŽÞÔðþ\H~>Q8¾ŸOPÀ[À[ ;-Þ2[,æéi›-–)‹Å0nrÇ[·Vý¹ØôTá8;޵SñLîÉÜáÇÎü0¹áªÏËé•ôŽ‹,o­>%ÌË q¡ÿó`衤IxÄ !‘†a¨¨$rý;y•,¯—w7#)\•ï®X/ïA<Þr1¾ïƒTÀ[À[ ;-Þò)þ§G›~'×?WjüÉ>å5‰…_ûBy÷™+Kru‹2ûï<£¹noýUñì|â».xË|ÊÏe90¾åàó‰ ‘¼¼¹Ó¼ç-_ß¿õèÁ¢s´K/N½RÃ<™§ÿÑ!5½)‹ŽË¼aOÍ=é}¿’ußp²õÚ]_Y ¼5ïÅã-ã[ðþ-P@¼åoÁ‘æùÍ[~¨³»çýÔ œl|8ßø¢‚y¶Ì|÷Éöku½qð;ÛË~ðéÅGvd¬?”6ÇZ‚Ê[ oï;‰¬là-0ì»çoáO z¯ªÕk{SoßSúÀÎìe»SöÍQµ´ÎÌÌ©y ‘%|„EUº¹5|>PoÁ`?<ÿx "¼YÀ[`0ØÏ?Þòu| ´°ûUƒDð öÃó·@ RÀ[ ‘¼ƒýðüà-ê•ýÔ‡¨×¼dÐ|ðHdyùÃãå_X0!ž¼uû§yÔªSO4›¾~°îKëÏQo§Poò÷áñOQR9Þ4Z|‰V5%•s{ù´õµ-¿K·@" x ûaQyË××ha}ÿƒ,jÍ™„æÎËÌ/:™WãPÝÕ›2©å)ÔÇüþ£)'¶îY!©\Jy™XîW ýË5GoDð öâòB+¹¢ît^鱬£YÈG2óOä¹{M<Ò¿lκo_)µ.mŸŽYÒÉ<ÔÁü—™{.3ww2ÿ^3|ƒìÒ×7gP¯f$7ÌA N£¨(rèñ‡TŠÇ}œöÌÁ›L“[(z³±4¹9ŠA™£yX«ãöC$«Æû* ·ôá•ÌØ¨ðÆAîê寮PûȆPT·ýö¬µp ìÞÂxÝËåŠBUØ{ o Iv‹»ïò\ï߉,à-žUuƒªeµVò–€Áál±y«¹ãŠRÝV^¯¾X×TZ«ÊWÔ/Szà­/mÈÎ0š©õçΘ˜¿2Ò2èe¿Âüº“ùõe–ÀTŽR¯ìçåÒX7ä8€±ò·a$%I5IRœá¾Š0A*•bòð†·Èͧª‹²"µÈ«ZŽ€Ë9—»m1üyÞôšÛ›#Eƒ7Ïæ°Ï3/rÝuNаgv/™‹ä-. n¡»ïò\¼YÀ[<oÁÞXlÞÖëGG{‡†z»´ýÍ—»ªVw¼EmÉY|¤ò Äeæ[˜åcÌë:&f„ùû ³´Ÿe¯§¯Ì¼Ð2D½–ÌË8ëëÚ5`ÉQù”¡xiT’ñM””·];^!c8±x!Gä!Õ0T â+ŽN4|¶Y¸_Ь-AÀ„ê䥑Ê5ÜÀ’gÞ"ã²s„…ón™¼/!o ‘.PÞ‰¬ò–ꀲq …Ý´‰R[Ù¥q‰ª– S‰2\X•3ˆ³¨6IPŒªNÉ¥iÜ$ãâÙ”^”†³¸,l- jg]Bã’XuN,{5gŨêd\aE¼BT˨&Té’XÛ]4¡f§ŽÛœ­ñ¼rBþ4ƒ=[lÞÒ”³êZ5˜·ð‹µÈãÿùàÂɶþnôÈßœ]Ë0O3[§˜ ã̪1æ-óò(óDy× tõÍüŠfå-rˆˆ\HÎ-rÂë¾½ä-nÖŒ›ÚÃÙ¥R¹•»ØÉ8t$«ær 4sä-Ït获\vŽKv)IZ¢ò¼ï$–|â­|÷ala’°n’5ie”9 Dæ2T(M]‚­„eGHl‚%M0Žx.¤+^i¶V¹»B„„Ú€Z‹[âT,"0çB0Náfpe6ˆµ•³,A•“À;õ¾ñdFÜ'`pØZ^[ë9A€yËh2!aŒêZ:ºÝoÑÛò*ŒS:DTïŸoc˜è±mfvL2š˜MãÌZ#ól¥¦–Æ:Ê˨™m>³ ˆP€’Ú¢È%V\ ^ÿÄ‹A\Â-çHÇà©I”]Ãf\Õrbi9I`dÉ<ÞÖ+œOô0çèM-:ÕÀev/™‹ä-®Ïñüf0–pÁzyÈò·jk ëê\þ©ä°ÉÃCŠ%)džÉ9†r‘Ò]iÑ0½ r©Ýð–ÚÊUܨ™£f&Þ@¯Ìaqr§¸‘Þ4žä9’\Áà0tI}}¾È¼e¶XÌÓÓ6[,S‹aÜ䎷®Š/ú探µÅ—¨r‹†Œ«Zû7u$ŽN$M1;&˜Ôõž›lAÏþå.^!·N„¹[/Ïq·À³Gr+á#ô•,‡Ã‹ÇÑÿ䨇,ë4%.™«Úe.²dkÈõïîêÅ£Pîf$…«òÝÕ‚œ¹ëœ×Åë^.·¤(K””»GŸŸl^ó–ES3Óß1ÓÓbéh˜¾\‹l¹T3ÝZͺ¹Q×TõC9Ë[mµ¥ ðhò‰·ÔÖI„bWÈ%¤ñy‹œ¶Ã“}Þò–u&ÔKÞâÏHZ‡ñ„¤…O½o<Ò‡¿‹ëë½YÊ`Þò)žõQ¾žaÊL擽ºõ =±5ÿ(Õü­°µžazÑÕ•¾íð#Ÿ?o‚p7åç·½‰*°òµjñyË¿Îár Wq‰À[SÓÓ>¥g€·@s¼åÒ.—¹\$Þ¸)ã‡YÂ)P–%+ßÝ-9ç—f_³Ï¦q^Œ¥v5¾…¡Ð1²µD‚G³—ÅrÅrqõ:ša_yæpÄ)‰>4Þ™Áàùè@òV@D%”R\—ïˆY+ó© nWp«*o‘ò¯…\®Œo ê ƒº±aÃØÈ˜qÔ8n0™Æ&&M““fó¤ÕÈÌ33ØÀ[ 9*`¼%X/ïë¼Ø¬l䇃Q& öÆÁâ-ü D¿EmËŸ²…}ä-ÐBðHdŠ·ÔöUçäû |Ëîq>Ñ?Hše>Ñ>@<á#Öa7¾…E%*¨ÍÙT\&µ!z“ÿùDPäx $²È[st0Ðp •Ãt| ÂBüdÐ uäŸh–íP}¿þÐÆ†ýkêö­­ß·…±U‡6\:³Ã¤ÞÍQáÃ[`0x!9LÇ·@ ,ÄO½ EÞ&.> ¼𣀷À`p0ã[Ô+ûiéÑo­>éçHÐÂ槉®V]i¦¾<ËPžÂƲ³Ècei†R™¾øÌxW3J©Ê?Íoæ à-0 ‡~|‹Zs†ZuêZ¥ùª%ÔÙWWù€”ŒwÝ HQs¬ÚóGùükgïNLaÞ2䟘¬Ì4WgOU_@ž¬>oVf›«2ÌUi“•g&ËO™ÊNëKØ×ŽÔ§³»›oüð †Cüþ-ê½³ÿº«!×ÝÌ­æg—™ë[™kŽ5}icÆÿyçø—Wøöæ-Ròpzë©Þ&ö¯Š…*Û~>…)–ªKMž¹®ÀR›‡l®ÏµÔgšk3ÌÊ4³"!—¡„ý+ìç𣀷À`p0HÞBh%WÔÎ+=–Ux4«ùHfþ‰œ"ï—§6¤ß|ªZ—öûfqs¯Êtw½áÿv2ÿq…õ÷©®Ùœ)ܯš!öºq¹Ÿc}E'»³}Sî¥Sä¾ÞìW-Ü3Å ÌQw¬ÕqÛ’Us›3Úr±ÛäD‘;^{h§p{iòN¹\QQùêQ^ Ýuø¼“m¿ê¢S¶,õ…ÓõEx›jsc¥!!—¥ö¬¹:uªâ´¡ x oÁà`8À¼ÕÜqE©n+¯W£i­*_Qw¾L鉷6fü·ü2µþÜ›cÌ_™¿h™§û˜%M†ûkFï,ì~¨Ã|Û¹&ê•ý¼\šÙö«f¬ûý!ÊÑ$Ù6`FLÂí¬,•Jݽ½SÈ[äžÐNÕEÙ ‘â]««f÷—&ZÈ{Ã;‰DÂv&¡{bá’¹\¾êoní®Ãçl¼uQÆnM­*ÙôüoБݬQWCŽY™†bÐqªRf,;Ëo欹ïçƒ#Ç¡ÙÏqÕ°^?8:Ú;4„x«KÛß|¹K¡jõÄ[›²ž.í¢â2§™UFf¹yCÇÄŽ0/ 1Ïö3we·qVÞ"‡¦Èù;n@¼ØÜKÞâ¦ê¸Ù@œ]*•[¹‹DG²j¥¹ã-—íœuÏá&† ž·Œ™fU2XæúG¸:Ã\•a¨Ìf`½•€é#M pÕþµ“ËQã[“ꊙžK—zº½vº•åb©«±ÄR_¾'¢&oªê˜‚]¿ÕR™Ëoæ à-0ì‡CÆ[>íŸ(µ-oh|Êö‘·@ I˜·,šš™þ¹ð(×¥L]fu™EÅ";¾UÎ~>ñR“’ÞÍAÀ[`0Ø{Ã[mˆ·~6ã[XT¢‚ÚœMÅeRÒ©7ùŸOEŽl¼5܃kR]aª+6Õ䛪sUçÇ+³Œ™¦²tãųc%©“=m(eG§†ÞÍA!á­ÄR!aÕ˜VHX5&Pw„~õæ…ݵ?d¼5Çñ- ñÖÔô´Oéà-мwÎ…„UcÎ[¡þíŸ]áÈ[ P¼ò[À[pGá\HX5x‹tPx “?´À[ ïåå—aÁ`°—ž³Åä-0xÞx ä½€·Ààx^üAÞƒ=x ä½BÂ[{ß ù¯ ZÏ‹?ÈÀ[`°'èu½#£—‡FÔÀ[ Ù(ÞJÖRT,EQÑ¥ÖÊ<ü|¦ùäß’üþÚWCþ›Ö‹â•”]êÔØ8ú¥p§¼ÄÂ?ÈrûvvܦÃ!ðìÉÀ[ ï(Þ¢bdø‰‚9É1”»dï¤üýúŒ»z{¿ÿÉÿ¼áñÿ²€Á5b¬8‰D­U¢ptê þ¥@‘Ñ”„÷ïádr‹áPmÓ¨¼E@óAä-ðÈ{Š·¢©Xü8!Ÿ7<ç¥í»>ëÆa½~H§SÔÔ äúhã›!@‚Á´ËŸÿ\ôïI‚Z‘@Fòþ ˉ-†Ãg±yKÅSwÀ_š—›‘ދܵ&Gbç dùŽLΗ]5‰—³‰•hpqÚÄ+QP—Û ù5ñKânËMg¸¨PX:ô°ÓW×= ¼ò[ç­d"ÌsUqºÞh1r©[[ß_ò$@»ä-ôK±ýRxÍ[d8´›·Ô¬šÕ¹ˆrºÂ›¹`³à:n¶¥lV;ì)ðüìÍDþæfµ#U3/¡£Íd¾fOw@N4ƒ(×9¯°¤fÕs1ÍÂ(èá9ô0ðÈo…Š·›ÛÚo…º@ ß4611xåJµìŽ\öâƒ(抡–ᘲmè´‹¢^äNQ‘(#E=ˆc¶=Hè*sJ€«³™ w9¶à•+W¸váSëå+NI¯àä¸{)öíùðœŽËÕ…ƒ\¥]Žä\Ž.Ç™-‘ý¼Ë^§=]YÖa_¹âT…ïÁ–Ç~3¶y_¶S§ ºœjçZ7ï{x ä·€·Ààx^üA›·zœõÐG/±‘)øô¥—R>ªHùè!]Ž==8ÍGQ(¦â£—z¬QèúG(!qšRñE½Ô“òWòG=dtÒy!à-ß•·J2¢«þþHÉ£KŠY\ôëë3oÜõñš?öÀàx^üA›·´Zmr_ú’Ú§}ˆz©Oñ1{ªecÐ×x…öcÉC+Q¡K(*^Ñ÷ñCõõ)P²Ó}}ˆ«bØrN£K©ZÛéÇŠT”«O«ÀåØ C ¬éÒõiO[‹×Z+ïÃa{§µÅÚÿ³¥v”Å¥îãbpzÖ\&m‘š+§±Ý·½¶R´öÖ8•­%ª³•Ðgë'm—œ¼ ­½9Ž&ËâzXËå%ªç5Ù~ã¶ú͵wˆÖ¹ö« ¡‡·@~KäýrU§c—ÉSCþ̃CåyñYlÞ`Õß?Àþ_5/‘ T³'vÅWãȪøª~n³¤x •:PMQ±­úR¬ÿ£ÓX|jÍÅ%¦¬kêRRq‚kz®†~âh Øþï··ÌC6k`À)¿5i?qÞo³e²æ””¨‰pÀµÉ^'ÑÈ~§*mvn;‘Â~ÑÖÃÄ]IqýNõõ îPpWö ¿™ó½‡·@~+$ûUƒÁàyñYlÞ"”P3ô2µxhH†ÂÃÖ˜áa62A"ªá’½,–½L%ԢĜøå—e 5(N2l?• ¡Ó—­W‡Q ŸH$ 5µöôÃ(Ni«Æe@¨aþÕaîë°sÎaW% óË\V9,(ÊÑÒa÷Ͷ·jXXð°Ss\Wìò-!JrÎ@tÇüïaà-ßÞƒCbô«7/ì®ýAá­ÑёѬѺ‘‘Å‹GêQÔ¨5ëF/­[œX‡«£\u‰èÒâÄz“¸˜q$@§#¨”úQkZkúz”~Ô9}=[ñ(®]´ž°|jåš6b;ÁÉGG¹xû%Û5œ}Ä–ÛV4>·GsùíµÚ¿ØÊç.Ú+³7bÔ.¢x¢L{܈­L®qdpõ=l/žL† uJg¿E"›S-ö¶ÙïÈ©Ëæsoüð öÃAá-ý§cÿ׳_ÞÑð*yN¤Ó¿úê¹ ç¶?¼X¯k`SZ#õ\½# K‡ÿב!âÔÐYsÛNmÙtŽõ¶¶èuDZ=¾h½Ä¥Òë¸sNçÔŽ+F¯sä±GIm­uÜÎq\Ð^6WšÎÞ@§Šˆ–r=LÍ•¯³ß/ô°°‡·@~ x ûá ðÖ˜Uîh{-cŒ[w•ùõiãØ§?:ÜFÚœO…ÉÚ4åm¶£—.óßíèxÑ~z±­ý¢õÔêöÒ6Õö@k»-ܪq\jÕ”´ÙâKð±µ]`ÇSÖÅö£'·XÝj;µ´µÚÝÒ^Ð| x ä½Î[xDÊ3 ça– ^`öŠ·.õiíîcÝÛGÄhñi[¯¶ £@îeãq¤ýØ‡Ž­ö­½}Vk[ma.ÀÅ[=öÓ­-Ü£méíkÁ—¬1-=§xµÕl Ï…›¬æ.­Bîµq€7ö±FáÆ^g÷õ7ô²nìµüp½³ëˆ@]=ÐÛ_ËzØ0{äÜiOMÖÀÖZm +­¥5Fi³¶òŠx ä½Å[>Æ·ÀàoX/^øÞy¯ð ^ðÞ/|o¼ð †·À ßÀ[ #ƒaà-ðÂ7ðÈ{oÁà`ØgÞBŒÀàð7ùC ¼ò^^þð€Á`°Oö‡·Bý÷šEÀ[ ¿¼ƒƒaà-PX«{hØ êÈ?Ñ,Û¡>ú~ý¡ û×Ôí[[¿o52 c«m¸tf‡I?ˆÒ3À[ 9ÈÞÊò†!`08làý|æÅ#j×±ŸÒ—\È8òôõû—Þ‘~$ijj*H­ÍQˆŸzмM\|x 4GùÊ[r7ûUƒÁàq°ö«^(yÚ1ù_¿Ü²âë%ÏÑ™ÿCüÃd{ŒFc¨Ûâ óÓDW«®4S_že(ÏÆFacÙYä±²4C©L_|f¼«¥TåŸf€·@sO¼•_[[°G¼KêëógåZ8¼åýøVα]å/|©w=ݾñ'¥ÏÑòÿ¥sþHŸyœ>ô›ëR7ŽŽŒµ Ÿ„yËb²2Ó\=U}y²ú¼Y™m®Ê0W¥MVž™,?e*;­/9ƒRÖ§ïg€·@so¼åÅ?jÁ`p$xÖYÅ…Ã[^*cïûµ/Ó}è8úÊÇw\|ž.XJ_x†Îø=-{‚>¹„Þûèw{{ºy¹’4 EEQV%EQ £A‘QI#•F%EEáHJ*G1š¤(2Ìe—R(¯réqXÎh¬)./ ó–±0ÅR•c©É3×XjóÍõ¹–úLsm†Y™fV¤"ä2”ÈPʺô} ðhò‰·¼™DƒÁ‘àYÿ,Þòf|«$çLÓ›ôÀ&zp3=²•Öîz¨âºÄ>Ä•þ$ö:å:óø~^F’=ɥБR(FŽc0„‘‘\ –bäR2/·’4M›E¡3TRà:f~ óÖxÑ)[–úÂéú"Kc!ò¦çciÈAÈe©=k®Nª8m(Þ@À[`0ØGoy£´OWö®§G? õÒãñôðÁßW¿H—¿@ÿE®óOÓYÿCŸý-}ê³÷yy„„@ ™0oÍé./cÅ4v°Ì:&R„½l¼uQ†`Ë¢*ÁF°…ÍnY=U)3–e€·@sð öÃÄ[x|Ëó1íÃF¶ÒcÓ¦OhóvÚpúï ¯ÐÕ/Ñeg‘«`)÷g–ºŽÆ+<ؼ…ç´„²ñVÙ9Kc 6[6äªÎ@žªJ7”§3À[ 9 x ûáâ-o”±é·‰ôÔzúsšÙ{ÍxÆ[­RºñuZCWüƒ¾ÍÎ-ý•>ðöŸxEQQxšÏ&i4^ò–ÜÕ|"…J³ÆHå .›ˆ”¢( .»lë·*2ͪ2dfÕ8!WU†¡2›õò 9 x ûáâ-oÖoåoü¯™Ï除k˜Ã?cÎ<2y~E×»ô¥tÓ›tu Kñ"]ùO:ù% /#;.…ˆ‹]ÒEQˆ¬„h¥a4TT^ó.G e»[/OIm 8ã­Ç1ÜøVe–E]NÂëê GLUöXe¼š³Å[ïýþGÞ8ä‰à9{`áÝò»£à9‚xËÕnº‰9t#sê&ã/Láºé¸¡-_ê^K_^E·-§Õo±c]ª7ècû/#IWär|+(w1¼eªÎµ´VYZªØeòêräéêóˆ±1l!PÊú¬C ðh oèt:ƒaÌh7™&&'§ÌfËôôÌÌ W×Â~P¡»C·o°ßþäÔ”Ù‚:`!÷À»eø1öÞÄ[ÞŒouø=&óÏLþr¦|;SϬ` VšÓŸ×üußû×u®¡5«èËïÒçþòm^Fà­PÉö¾Óš<Ë¥šéKÕÓÍxb!—¥*‘ûªˆªÌ[ ç1À[ 9(€¼582âùYÅ{PQ’<Ƚˆ¢ÔŠ„8Å`œD¢Ö*Ñ%.Œ%Ai¢Q­ ]JÖ.¢bQzŽNEÉ(œ›KÄ]âBV„ Áé£c$¼Jq!q %™ÞCàÛ÷ÀâôÎHÅÈÈûBwá¡gÈ;MFy©X™/™G·,üîó¾×¸O<ÜÔÜŒÝõª»æq1êÔX²…ÂÄÂT§fØ3zó}ˆ#ˆ·¼ÑÐç×3•Ÿ²¤•ûsö÷Ìñ»™ýßÞIO$ÒÆÝ7Œ~~ëà‡ÿÚ³áêô¥~ò(à²o5[:¦/ײ£\Öñ-sc™¥&!öTõÌ[…ì[!€·@~+€¼¥ôü¬â=¨’c$äó’ăüø9´(^™CáK‹$±ø‘¯ŒŽ±=†y^. zTó !Órt=ÈJ…ez†îöÜxàF!ˆÖdQø¾x1¼žáåÍg#sQJIYx8ß²ðÇûÞ¡p4%Á¼cw??Âø\+«ñRâ ¿5ÂTq⌼Ÿ—ßwÏ?ÆÞ;‚xË›ñ-ù¡µú=·™Ü>±ÿ6ËžÎìþòd"møˆÚBw®¡_£óc~’²ùŚʋ"4ä0oMª+fzZ,]êéöÚéVv”‹¥®ÆK} ûžˆš¼©ª c výVKe.¼šƒÈ[Ý}}žŸUî&bг$šŠSÈx^ÞÃ?QØgFjlzú¢ñK¢SeîØgá+ŒñP©°L/Õˆ<°yü!Z Œ‹Pbûp‹Ë¢Èê„wŠùÜÓ¼¸eá·Éåø™çobŒ=7OØr ÎCbÏgý¾{&NïA¼å¥,Ë¥Ö¦’¬ãYI«r¶>QµözÕòÉ\ó`ÆþZTõ¡nˆ/Ì[MÍL‹\x”ëR ¦.³ºŒ}#W}!;¾UÎ~>ñR“’ÞÍAä­ÎînÏÏ*—*‘«ˆœ¸áæ}p¼9o¢Êetõö"þÀÌárÈGœà=ŒQQø®…=#¼S|äžÊq¥g€·@sPy«õòeÏÏ*ÞƒŠ{¢Ï *&\>ìn©;÷/õ\TzhÙËaãQ!’X—ë—ÉBPEÜ©»UÌäšn.½‡èèîFühÃÝ,›8=€ ‡+oeº‡žá­^çòz~<‡Û-ónômˆEKfÿÀÜŒ=ô*/^mÇ}[«Rc¹¥÷äzywËð¹ïK.±feôæûGoù:¾Ur!ãÈÓ×ï_zGú‘¤©©© µ 4G!~ÔucƱ‘1ã¨qÜ`2MLš&''ÌæI«™gf°·@sTy«¹½Ýó³Š÷ âÖÿ&³‹Žc½\&åÙs)dŽ @w§éêÂügÙHþpù¨³¼)Üׄù-«gмßšãñ\zÕË”^Žoù÷=õÞÄ[>IžvLþ×/·¬øzÉstæÿÐÿð#Ùž£Ñè} ÂO,zþ #%•ã÷š‚|ðHd·šÚÚÇîTóGúÌãô¡ß\—’¸qtdÄ›B|å-¼o¼QÂWoDV`yËó³Êó‹"o¹ãüÆ„ö@ðx+lo›{mÕ¬+ðÔø1Ò=ú] ð–xÊØû~íËtßz ޾òñŸg·©¾ð ñ{Zö}r ½÷Ñïööt 3RR9þ•J£W%i4x‹ŠØ¥GÃúeÂ;0‚¼ðHdœ·<<«ö‹¹9øðÀ ¬Þ-ñ÷Ž Þòf|«$çLÓ›ôÀ&zp3=²•Öîz¨âvj<Ä•þ$ö:å:óø~^F’œ„ûUs{N{ˆÁ4†Î{× ^á­Qƒ^;:Ú12ÚŒžšóá‡BÁþ‰röÀ»å…wGÁsñ–7JûteïzzôZÿ!=Oü}õ‹tù tñßXä:ÿ4õ?ôÙßÒ§>{Ÿ—ÑR…G§0{‘,%GFI“äIb(©\.—J)©õ"È[oDV x G”#ˆ·ðø–çcÚ‡/Œl¥Ç>¦MŸÐæí´áôß^¡«_¢ËþÎ"WÁR:ïÏ,uŠ{MX>9]È»’ÏÆ[蓬š÷UÀ[ ‘¼ƒýpñ–7ÊØôÛ‰Dzj=ý9Íì½f<ã­V)Ýø:­Œ¡+þA_Œfç‹þJxûO ±"EŽx¡)‚0\ƒy gáòŠs³ CÀ[ ‘¼ƒýpñ–7ë·ò7þ×ÌçôLÒ5ÌáŸ1g™<¿¢ë]úÒ ºéMºÎ:Ð¥x‘®ü'ü’D˜7*Iƒ·¢( Aâ-iâ+)ŽDå2ñ–†ÑPQIxXKn÷‚UóÞ x $²€·À`°Ž ÞòFµ›nbÝÈœz€Éø S¸nº0nhË—º×Ò—WÑmËiõ[ìX—ê úØß~ê<¿!䀷@" x ûáâ-oÆ·º?ü“ùg&9S¾)‹g V0+ÍéÏëþºïýë:×КUôåwésùv@š¼5woDð öÃÄ[Þhèóë™ÊOYÒÊ}ƒ9û{æøÝÌþïNï¤'iãîF?¿uðÃíÙpuúRà­pðHdoÁ`?A¼åÍø–üÐZýžÛLnŸØ›eÏgvy2‘6|Dm¡;×ЯÑù1?IÙübMåE òFÀ[ ‘¼ƒýpñ–—²X,—Z›J²Žg%­ÊÙúDÕÚëUËÿ%s̓û?hQÕ‡ºu ¾€·@"+¨¼¥ªT- Ê^"`08´Ž Þò~ÿDÐ<ðHdoÁ`?A¼ZÞ‰¬ò–ꀲq …­Îa÷F¼Õ¸D‚cT(R+Ã)7ÉØ˜MLc\2œ†¤4nÒ¢’cq9M$!Ò€ÁàÎ[f³Y¯×ãðÌÌLA–l×ó’=ÿÛ…Ôc¡m(PÞ‰,Ÿx+ßý_X[ªe†¤&DTKb9‘SÎ NÀF.‘p\…YÊÆg”M›(!o©ê”Mbqɪe 꺄?lÀà·¼¶Ös‚ùÊ[Cƒƒ) w?òýC_“òI\Ö¡ÏŽ/½)í7ôù?ÒyûÆûé#›ÞšžžöµX9ÃP”¿Ñ4­ù,à-Èò·jk ëê\þ©T!f"0ˆã$Žœšìi8œ¦Á(¦ª“ñx‹Ä8rœ ‡Ä%õõùó‚·ê Ϥï\!4Šw™þܾÄã~5ýIºèoô¹ÿùÆÎÿ Ï=ÉîÃSñºþeºáÝyˆFÈu`ã›þµG*g’¢(xC8x $²|â-µu¡ØrñÖiaº"Éi.¼…ÇÀ€´Ààppq}½7K9·ZÉu§óJeÍ*@>’™"§Å»LüÅ»ª_¢^¥/­¤ÏÿíÇ_ÜMŸŽn{‡n_Iw¯£vÜ~|1¼ëQ¼ܶÓR •œ· 5f,î½Y«d Þ¢‡’ÊQX“ä¢.ÐܼY^þðί©‘Æ‘nyk‰{±ó‰Î˳<Ì'6¢\8Æ: É2™u ’Ù$ã¨KîÜ0l³¿þ³l…o5w\QªÛÊëÕëšJkUùŠºóeJw¼•õÊ-]kèžõôX— _ºùÀ½tÖ?iýVZ¿žŠ§§OÞwê×ôéGé/–þ¿¼Œrët!椨$ Þvš{%)Žaì¼%g4\b,”ˆÛ ‹Ý3‘в Š€·@"ËÞrió‰Ëb¹Eôìœà²Û zëå7%8-½·/ÆçV‰Áàpv¸ðÖ°^?8:Ú;4Ô30Ø¥ío¾Ü¥Pµºã­2é¿M ®úŒfÒþëâ«?;ü}vÍù*sìf&ë¦ngÁóß”=Jxêf^F’®0*!ÄâÅàA/™¤ÑðÞ/|_<¼A>ØÞ‰¬€ñ–«õò®SÂK"Ààp¸ð–Îh¤œUתÁ¼…_¬E[¶ýSºœ©úœ©Œ3ÿï½ÿMðèwk×Þ7Sµ‡QìÏ]oº°NµeÑ‘ß]Ç«ÈWÞâ¦ñü#™XX (Þ‰¬@ñ–Úù}ÞÚÀ›Oðƒ¤Ã…·Œ&òöøøÀ¨®¥£ÛÝøÖù„?YNÞÍìÿÒååô…§éôßÒù¢S–\µó:ëo7w|òpÓº; 6<žsx'/£ÜÕ|bb,ë§Q ·H Ï'JQbë\!ŽÑ0á|"ðVP¼Yä-0 æ.¼e¶XÌ詉m±LY,†q“;Þš™™©©(IÝSùº&–nxn~‹Î‹þÁQ ½÷ÿÒŸ>ðƒññqwu ×ËK£q¡3 ¿B*g„«ã¹7DȭĆG¼X^‹J²…a½|p¼YÀ[`08Þò)«­¹Iý}ù]Ö=ïÑ•oüìÔ#ô±Åô±_Ëûªç8@ã[ÁðHdoÁà`8,xË×÷oa©ëz×Óƒ›é¡-´aÝðÞ]iO°K”=üeï«v LÞSðV°¼YÀ[`08æó–zž¼_IUWmüžÞNOï ™/èöeý–>÷;:åaÚd2yYS˜ x $²€·À`p0v¼…?èkLÆ™‹Ë™ŠÍŒòÓñóï5¬»3ÿÙ¯}œ j#A¢ x $²€·À`p0v¼å½Ìfó¹=¤'¼–·ååïÝW¸òÞŒ•¿N]ûç”mi € x $²€·À`p0v¼åýø(¼YsßÏ GŽýßÏ'休މ,_yKîf¿j0!ös¿êòÖóÿ8ùíëÏ®Ysñ–7“`08<ë_ƒ@òB+¹¢ît^鱬£YÈG2óOäyxMü±cùÏ?ŸüÞº·7nxwÿc+__ÚÑq%--uóæM[â–ßsßá_Þ‘ÑÝÝë2oT’†ÛLïiÈm¿ÃmÈÃoØ^%cp ”TÎ^E—¹M{`£ž x $²€·À`°›·š;®(Õmåõê‹uM¥µª|EÝù2¥;Þ2_½_wç_òŸ~fÁ`(..^±üu|Éb±,{-áη{éû™½{]Œuq{K3öyCtN¾¼oGÍØyKÎh¸ª±P"áæÓR* oª¨I’â4Q( LG†NÀ[ ‘¼ƒý°Ø¼5¬×ŽŽö õ viû›/w)T­¶¾ïåÏþXùèI/ÇF¿óÎÛ1Ë^ŒMÙ½kïÛo½²ö½Ÿx)÷ñ?}Þß?ÀË(G„à‰À UI Ç[$<ñ.‘Y<ÄÈ­‡·µöþ5(°Þ‰,à-0ì‡Åæ-ÑH9«®Uƒy ¿X‹<";{æ½u«Q@¯×òÉ'}öO_ý#óÇ?¾£V7¡È”“Ç?Ý/¬HˆJrÑ•4I#÷À[ÜÔ!e,$óŠ•i…€·@" x ûa±yËh2!aŒêZ:º=¬ß:tèPBBËd)Ïþ-æO¯'îÚ%Ç1iii[·næòÀ[Qˆ±¬ã^Ü„#7Ÿˆ`~Â1F#œOäVzaVC‘R©¨+„Þ‰¬€ó–²Y•yfï®5Ïlxú&tDaògÃ<5t&8l-6o™-3zøa[,S‹aÜä·vîܹoß>hk»ü‹ÛOü?ß<ùô^qüáËÎ^¿ÞEur÷ó‰Ò(D\ìRwüKÂÕñÜ"äÖq,Ûºx9B¬$n<·>ÛZoDVy«©·?ïÂéõOÝx*áUUyθÑÐ\y!õ“×Q ŠGWCþ„˜Gæ:3%þÕÆ²lã˜^ '‹Í[>Å#íØñÁÙ³i(ðì² _ÿCßË|ýY}}}øjaaÁ›o¸Þ qÖõò~hŽÙAÁðHd·$¯_ZW’1n2MLNNNM¡…NOO7+.ÙôºÊKŸ¬Œ¦bÕZ>S R”ÿÃ/NBÅ)”q‰Z«äÒS12t):F‚ãÉôêÔX|•K Ì>¿ŒºëÀú¿Ô§¸?§Ìf‹›Î$ïu ¯¢Qÿhe\<—&Y«¤¨X[§ÙÓx΂ø«sã% ¬ÏÁ>YTÞòõý[‰Û3¿ú­¢gžY·eÓÊ;/ýU"sÝß™k~³ý“åëÖ­ÿxÛ}%ÒßîX¶ì°Ëìäû ð[\“÷¼†Þ‰¬@ñ–²Yµþ©•EguƒÁŽ$r±Wç¢S1*©­ì…žý8ŒM>àñi4%á ±‚$KO&^¯t‰kóȸ3« ÒFt:ÔŸBäâu¦·0KáþA’C¹„'| g$¿²ð¾ ¦ÏÁ¾ZTÞòUßÿoÍþÔûÏ_‰]ööòµßù¿yW__ù•¯Ü÷Ù˱/®^ùö3/møf4óͲ½,€iá x $²Å[™göÝöÒàÈB„žá¾ŠÝ7vóçå;‡ ùR?y¥!³,Бť&$Ç '4Ÿ®„1äó^8”‚"!P$p)çõ³uÔ‘­Ë´ƒƒ¸?…ÈÅëLaG‘· )N!ÂS.b,;¶òèÊ]2°úì«CÆ[Ü'=èYiþ^œ¹ýî 'OÛ¹óÓ÷7-æé‡®ýýðÒ?=öñÇÛN¥z©ò;O™ß^‘:׿  y+à-È oíZóLYÞiŒ{ëöÿüØ/oHþé7¿óyÙN<ÊÕ\y¥áÒãÉÄ\­,=,nz‹|Ø«gã-µÓ‘óȨ£JsNv÷õ¹C.µsgúÍ[jU}å­Öç`_Öã[HêæKSSSÜéÇ; þí7½‰‰Y\Œ^o`u y'à-È omxú&M‡¦§¿!ÂcòßÖ·§‚ÂAÀ[ ‘û'†³¡3Áak±y«¹ãŠRÝV^¯FÔRZ«ÊWÔ/Sºã­¶ã[ÐqÕªU«W¯^·nÝúõë7lØ`2™6oÞŒ‘kÛ¶m(ÁéÕoð2ºÜ¯šÛQoõÃñ·ù´ÜJTxƒj”F.¥ÈrP1c=A´FnÎ ¡€·@"+༃#ÁbóÖ°^?8:Ú;4„x«KÛß|¹K¡juÇ[§?@ÇÁÁÁ¡¡¡ááaë*RƒÑhDÈ599i±Xp²³ë¥¼ŒBÞâ‘9¾Å]â¥a·§ÖÈ…ÜÆYG¿|ý3 †€·@" x ûa±yKg4RΪkÕ`ÞŸX$ÝiìtáŠ+ð^Å¥×ë7nÜ·iÓ¦-[ذÌ8þ–ÕÁà-9VX x $²€·À`°›·Œ&ò˜É„Hkl||`T×ÒÑín|K›ñ1:._¾|åÊ•ï¾û.žUÁ£\SSS3339[øÙyë·’¢(9£áæ Ýñ–ÜÕ|"*‡Ë…§QX*•u…‰€·@" x ûa±yËl±˜ÑÃoza OY,†q“;ÞÊI@Ç·ß~{ÅŠr ¿÷Þ{ë­Ú°aƒÅbÉÛ¶Š—Ñå¾Ô$„që·4ˆÃ¢’¸Uð.×ËSÒ$|Š.sÙaÓë0ðHdoÁ`?,6où¯ËKDÇË—/wuuuww÷ööjµìëiréõznˆ«0~5/£KÞrwÕsbP˜ x $²€·À`°ë÷o w ã[o½õöÛo¿óÎ;x” ¯åBZ³fÍÚµk'''K·¯åetù>òªËùĹÿ!‰/à-ÈÞƒÁ~8¬ß/?Yú:¾ñƹ–/_Σ.Ä[åŸùV#ÖBðHdoÁ`?Öû'VŸþdº¯Ñsšá–ê}ëVzS#hA x $²€·À`°ëñ-¤Š“ñ“¥Ÿ wèò‡r´w§}ØqúƒK'Þo>²¹19`+¼YÀ[`0؇õø4«€·@" x ûápß<+ ¼56†JÐuë. ŒÂ3ȳ€·À`°ö™·ÔwýKøoU•d3»èYÍ&ÍsoC);Ë?[[’¸ºàãU¹¬ÈÞüNú©lí›§V½~üW¿ùræÇ[CÝÆ x ûáñVpµ‹n-)aº»mÇ¢"æòåV¹œimmÍÎfZÓÒ…‚¥._DIåø]ó|RrîÞ ¸šRw ·TOZ555e±XfffxiZ/¹Ð/~“KxnŸpÞR6«2ÏìÝµæ™ Oß„Ž(ŒbBþl˜§ö¯3ãƒq‰Z« yûÃÊð“XÏñ-__ÜÅòVy¹Ã¥¥¼Z rµ^¸Ðš•Õzî‹\>ò­À¾YxkîÞ ¸êöm`¿Œv0w°]éð›/»%Öฮ=„ o5õöç]8½þ©O%¼ª*Ï7š+/¤~ò:ŠAñèjÈŸóÈ\g¦Ä¿ÚX–mÓ«½îLà­v&ØçÇøB+¹¢ît^éÿÏÞ·¶QÜy¯á Í5w÷Ý•ïJ{×k¶ôÁµ= ¥5!5 ¡ …BHy;@å]HB !±B œy $1Nœ‡ Žì<;–íX¶Ùr"¿mù¿dc[Î~ÿÙYF»’,É’µ’þ¿üvµ;;3;;ùïÎÏÿ™ÝùxÿÁö·îËß–{Èׇé‰Þ*+{{ɺ§ÇZR"¶·_WCñrÕÔ€ä+*ÔzËÿD×°$'gðŸNõ•ÐëÜAê¹±!œEãg‚î?ñõÉ,gÈÏ;ÄÏÉf%šdmÇPo…'>\I~@o u‰cþ¢}òøƒê@ËÌÐ+&‰W6»5ø8 ³øÉOéýÂ<‡¿A¦aÔ[ÐtmyávÓ‘½CÃÃ_JîÄ1§s||¼ÆøÅÖUKà(™K3aW€] ‚ ƒzX*Àn¯ضzCHÉ¢µ·4E!+åq 6 ºÞá¶ã‡÷ :´>GÇÆœ>*SÐ¥Ó˜ õfLgÕ¨¨I¾fh¥å¥é¢~¥Z«L‹J°ª ŒU¯ÂnYÍDvÎçë&þ-ÐU5 Íå–ºâJ T}a…9ßhú¼¨ÜŸÞ2™dVT€ê²Ö£G‰—+?ßš—gÍɱfg«·èCß« á£¸y¯GÕz‹¥¢Î3‡Ãkrè„Ù^ó·e]›oE¯@½vÔ}²šüP½åÛŵóé?+Bl`™`~.ËTÜ;^ [­·à‡d0oɆYˆÂà Ü‡Ý a­—Þ*¯1¿pãùå‡v÷ ¸Z5^r‘£\÷ ko¶@{&¤Bƒ´”“jÉL…À™iå[R„@ô¯! äz‹VfiÁ®Ó}}PŸj• ¨Ì-)²lR× Õ²4„…C´¥ldEýJ5X™O½Åo« Lm¨4„Z55fùÿAˆ1åÓ&j‰!ÿVOWoo[w7è­&{GM}“Ñlõ§·,qlŒ¬GF@u_WI‰ØÚJÆr:eÍÍ«ªüè-&nø6þ47ôzxЫƔ¨›¯¢ÍÞ2HMH†!ƒ†'ÃÙ¹&GVÝÀ$¦Í!/‘ê­°£aç+ä§ç¤8Ø.Ž ˆãc^£íþ룊?3“2ƒW¶Zoé ný¤Žã+çXÔ[û>{ç£5÷w> ­ZkOû›Æ·¾¿éûo¿Ù=ÐC%Wæú?Cw“Æ·ai© •@ÁJcV zk&H©S«%TÔÖ——‘éu¥úT«Ee2B£¾Ä+Wo´™_™™®Ð[±^E­L…Þòc`^ Uâ5Ï8¨ÿ˜ñoõ9‚'LVÕ[4+~MôCMÕl&^.£‘Œå¢..i—½E{=àOjbEª´¼ŽšW»ÁX9AeØ Aé-¯(|ZEþP TZ¨·‚‚úfQ¯[v½J¢v׊ý-..ž¢¸oåcŠÌ'Ô[jÃVë-¯!¾n(õI§áÒ[›Ÿ½¹èÀNÚª½czï‡_ø_[¾û/Î}£èMêåª)ù⸛•*4½¥î͉½U˜ûiK{»/•`ñ¬LJÚ]¥p· Þ ¡2õãÇÀüè-–„öêz5æ¨WÎd3þ-Çð0ppxþ'‡†:{ûjZüù·¬Vø•׋èp±\dW}=è-Ñlö¥· ¢ ¤}¦³§?ºëu ¯¢?‘ùÀÖCZ:y6ë=dîCˆ¢!¡`§S+?>ê#ñ!A"©.Ô[a‡}ï:òÓi–]\ýêQ\gΜÉ]ý„"ЦêODwÕïšPÃVÇá{ùû‘7xuœXÔ[/Þô=[ƒ­µ£Zµy†Wúí¥9¿>ÿýó¿·é´cqÈ1qÜMškè•%3•6?^û¡Ñ¢!Ìͪ‚ŽRb£¾Xž¢P1J¨¨ÚºÚÆ–_*Á1ØÏW&`×.×-ç’:a}bê­`+Óâ[1cÕËz!`ÌKÁ˜¥[µyÇGýÇŒ þÚƒVs|nØu:††ýë-7,2«¬,@ÿVr†Òô:æ×ÏwWCbàÆŽ(ªÇËSuEz'“AY‘!í6hd’3˜óŒ…+Üi ¡h ÍÁ&µd4„/OŠÒ(ÞxÝÆ:Po…@î»îÜtòÓVF$shäâ:Nç5^¦Ò2HÚ²)J÷üåÂÌ[ä •Ýê8^» ƒWÇ Ký‚0ú·Žä~ÚÔÖ’kkÝ'‹ª_uhö>þñ›Æ·h«f.ÎUø·–f–S‰ öTñ£¼…”tª–¶.Žæe¦ÒâLœÑªc£Åc½1ƒŠ*Ø÷Ñ©ÆF_*¡º(‡¯LÖ´ËukìbuEk‰÷#æAÃï_Ÿã僭L‹J© ŒU¯¯ çS‡ܰúØeÌø·‚ ŸŒ Pr²{¸.Q_üõ®?²ýäƒð Ô[aGß ä§ù¨h7‘^ÅÞâåê"c¹@uI=˜ö´ÿ|¦Æbc׿µï³w>X}oCK H®Sí ¹æ¼cz¯µ§Ÿß‘þ ?JÚ§™ºT~XL¸šŸ8Ð[PQï¿t·µ¾Þ—JØžæQ™l ö2v>U¡ºƒ,Ö«(r•9aý¨[ŸñQÿ±áß áû[âŽ+ùļ"ý£™ï.$..ß=Û8·Ãd¾È€z+X Þ ÜwŽƒÉO}¾÷‘[ ¼†ºFFF _{Ö> ¢·|Ï„OXúØ¡œO¨ä¢‹¬U3Ù«x þÐgÎÔ[^+Ó°g«W•püðåËžœãÄ«ËJ1Ð;ª(r•©hÕõ‰z‹26ü[A„”qsçª$?^ïEoE(ª‚ê­°c¤pù©ÛO$WóQ¹c±»– çêm ½U¼é9ÿù Þšð {à‹Ïܬ–\å‡voyávõWŽ"ÄøhÌ ºÞzj±Z%”ìzÿ…Û‚­Ìø¨ÍV&ê-¯Ô„+è„’Þš€Ô†ˆq Þ ù·Œ·WûÓS[öù†5a*TŒ!Œz‹}ÅûƒÕ÷ÉýÔÖ`+:°ó£5÷ãW¼C «Ì÷_º»`ßGµuµ…¹Ÿn}yV&V¦FŸþ-œ¯:q€z+è+Ú:R¸Éqpcß Ý¹éö½ëZv½Ú°ó•“ÛþV³õ¥ê-+Vl‰aÕ[”8K]‰•‰•©YÆ© ‘0@½ðö™<®·Hd"0>ý[ˆÄê-Äõ‰ ñéßÂþÄÄê­ à}W½ýÍâMÏÙðLÁº§ò^ùKÎKïyQŸõÜ#;žúó'?ø÷G–ï[÷r¤‹ªY ÞB"‘!0Ný[›“Èw¶ZZäõ¡Cä›[ùWNŽXUeݵK4q¼|õVØq"ssOmÙˆ„ÑÑQ§ÓyæÌEëÑà +¹Po!‘È´Þª¹ä+1ñý-ò)yÆÂBòYù‚\ôËòÖìl"¹PoÅ>Po…@î;Ó»/’ŸÞ~¶D5þþÈòð–-V€z ‰D†À@ôÖÉHè­ ÒÊ`4í~æ«V‡x?„Nk­×»¿A¯ŽÏ¦‘ÖDšœÆ§sÀMþ© Ô[aljW’Ð[C]ê™>yüAu ÂÈ'œyÝëÕ^S©sŽÐåOÔ[H$2FMo;bMCs¹¥®¸ÒÜ s¾ÑôyQ¹?½e2ɬ¨ 3'Ö£GåÉóò¬99ÖììÀõ??.ˆÎͧRLJöÄ  ܬ‹B'«¶e Å„Œˆz+(rßÕ}²šüP½åÛŵóé?+B *#÷uãø×[êTêœQo!‘ÈØbÌø·zúû»z{Ûº»Ao5Ù;jꛌf«?½e±ˆccd=2ª‹øºJJÄÖV2–ëÔ)kn®XUåGo)´ß$x¬h0M™¡ÚfPÿ/ºæ÷e>0D°@½v4ì|…üôœ$Ó&Ž ðÓTóØý×G!þou4_zKJ3ê-$[ŒÿVŸÃ¡˜¤ÉdµQ½E³â×t¾j55V³™x¹ŒF2–‹º¸¤Q\~ôí(„¿°YÀz7Xá$õý#•Ö$z+(¨oõºe׫$jw­Øßâáââ)ŠûV>¦ÈÜë0áãUo)Rùús%*@½…D"C`Ìø·ÃÃÀÁáaxþ uööÕ6´øóoY­ð+¯-Ñá c¹::È(®úzÐ[¢ÙìKoÒ zúˆ§ ¡ÂH-³èXÚý¡7ˆŠnÖŸÈBX£B]h$$CÕPo…ö½ëÈO§Yvq ÷ªGq9s&wõŠ@ƒÊÈ'¼q˜ºRÜ>ŠTü …z ‰DÆ"cÆ¿5ætŽA«9>z ¶GΡaÿzË ‹… ä*+ п•œa Ø½!#C¯À ‹´' Éü^Pht—µ Šñòê!ÀÐÔ(à#‚ê­ È}×›N~è4ÕÌ¡’‹ëXt:Ö<©Nëut<ã$MÆ|Wt £ŸÛ‡¦òšsxj$x ÞB"‘!0fü[A…OÆ¿¥½•¬gx¢¾|ü1íµ?1Dýôxê­°£ïÀòÓ|T´›H¯boñr u‘±\ º$ŽŽŽL{ÚO&~Œœ Ž ­xQ¿}Po!‘Èþ­¾¿%î¸2OÌ+ÒÑ¿¡ z÷ÛXÄÅåãiÔ[Zê­ È}ç8¸‘üÔç{¹Âk¨kdd¤ðµgýdâÇÈ ®— C»¢~û ÞB"‘!06ü[A„”qsçª$?^ïEo…Ô[Qê­°c¤pù©ÛO$WóQ¹c±»– çêm ½U¼é9?™ø7rö1-ŧ"AÔoŸ©Ô[Õ«²,¹©Qo'Hääþ­ JzkR"Æz+(äß2~<Þ^í?NOmÙçÖ„©P1†©Ô[æÜ.ó2Áb/zSD"'Éøôoá|Õ‰Ô[‘@_ÑÖ‘ÂMŽƒûlèÎM·ï]ײëÕ†¯œÜö·š­/UoY™°bK ŸÞªž««ž+ÍsAQeU¯Ê’wWéÌËtTcɵ,ÝbJ§IÌ&9MBBÞ/W§¢Yx_õ‰D2Æ© ‘0@½ðö™<‚Ò[ù¾Ÿ°LY$!ÅvAB1ŸXT9 -•v/Bœ«’j®Ž /šŠD"‘Ú¡¡¢Â„˜ôo!¨·SŒàôVEÅA“Éë£R©·@$I~,^{U¯Ê:‘›j™eÏòÐdR|³)Ë#DÚæ£!‘HðHee~´ôVDý[ØŸ˜8@½å xDAé-‹Ô‰pØ›äR¨"ÖWH:%OéL””5z ‰ŒQ®¬ d(glú·6'‘ïlµ´ÈëC‡È7· ò=®œ±ªÊºk—h4âxù8ê-ŸˆØ] è !¼W7VoY¤^EGèK™s»N¬ÔÞûÐ[ϳ#‘È©$¹ý'òlEVoEúû[äSòŒ……ä³òÐØÐ/Ë[³³Icƒz+ö‘8zK;wu'a?h‚ÞòJ¥‹|Ÿ+XLéD]-K§êJvt™ÒãåÕz넽RÑ|p¼<[Ô„ ƒÑ´ó@áÇû~´¿¸u_þ¶ÜCþ¾/_V&öö’uOµ¤Dlo'å74¿ïkjÈd>~æ«V‡(¦QO²ËÏÏCgøIØi*‘8zkÊî7åØJ”|Zl×&ŠÉÉl¯7H„ôV¸ˆý‰HdŒR¥·.ž•ùkšË-uÅ•xšV˜ó¦Ï‹Êýµ4&“ÌŠ 2s¢Ñh=zTž<1/Ïš“Ü®·øérÕ1ÕóOÃN|79ÚABé-v5ü.¸ö)ñŠåâ·®¿ lÄÔm.]¥˜‡J+ª½|Ý q Ô[H$2½U ½ Eééïïêímëî½Õd﨩o2š­þZ‹E#ë‘hrÈ_ùð÷}k+Årê”57W¬ªò£·Xô”/¿—Èé-µÇ+ìUP ¡ô» Z;»¿ @l=¿W<ÿz1À»€Â y¹èlë {ôƒéýÜ qŒpé-$‰ä)½¬«Ïá©¿ìAo%ëÙ»WD}¡rÒ0Joò] †Ÿ¿ðO Ô[H$2Ô„+„/‰;® äãÚŠtôotÚ]BA\\ø¦¡†‘8zkÊî5Poñ@½…D"#AMø·‚4!ÆÍ«’üpx}@- BãH½4¦ä.@½…z ‰D†…šðoPji& ýÓãHL½…wA1ùù|Hdâ0¨ù|bÏ¿…3õ&So¼ "„pÍWD"„ÏWƒþ-D 1õÞQDPz+¿¢â Š-$2áy¤²2"/WLú·‰ƒÄÔ[ˆ("8½ÀµH$28a¯bbù·° &æ˜z+»9BJoÒ‰€D"> Ì¿µ9‰|š¨¥E^:D>Sd0OåäˆUUÖ]»D£q’¯Ð#ˆÄÔ[!|ÆŒàz ‰D†À¨é-mú·HU\ìfa!ùwA´RôcÜÖìlÒJ¡ÞÒ Go…ðý­p3‚ê-$Ñ¿å h¢ÊÊÄÞ^²îé±–”ˆííÄ=ÐÐ@55dþ“Š ueE6ç ›ð‡Íà˦ï¥Ó`“}²b6)ÛUÌɈðŠÄÑ[ ­ FÓÎ…ï?øÑþàÖ}ùÛrùû¾|HÆLAm•ª:Da«‰c¥¨·HdDÿ–"÷¤kŸ¯X.~ë:k¯¦7è“Ù6›èšMñ«Op˜ÍLGg£%EÍÛÑI@? ôu×dn¬üpEÕ»ÏV¾ûŒšÕï?Wý᪓ŸmîïŠi½UÓÐ\n©+®´€Ä)¬0çMŸ•ûÓ[&™´Õh´=*Ož˜—gÍɱfg{Õ[lÊjfŠ˜®§­&Po!‘Ȉþ-OlN‚–éù½âù×û[ûï‚1€Àô6“J×̾ÉÐb¹ffTh2Ñ›ºB½5!@?Õíy+ÀÈÍ·Å´Þêéïïêímëî½Õd﨩o2š­þô–Å"Ž1“&¾®’±µ•Œå:uÊš›+VUùÒ[LfyÝHdÏküé-¸"$.†MoYbÖ¿Eú_3ÿ4N~Ö~ô–Þ B[hÐ ¼T2HzKÑɨî.äÒ^H^´!¼‚ê§/›¬}…ûú‹÷ç0Â.ÐQ´{ 0«ÿðgCM5óÄaÐËbNlê­>‡Cð„Éj£zË«1[%0“¶VTWq±ìâ’Fq…¬·¶J{ÌOlé­hW*'ƒÞúÏpë-Bj¢àW^[,¢ÃA†¿tt/õõÐD‰f³×&ŠŽnas]C³Ä¼Y  „@L›4ê‹ïOÔƒ,“¢ñ­ZböÚª·†Jö;-Åã–cc–¢ñêBÂÊCc•@çñ\gé¾±ÒœÁ’\ˆiÚó®³zË1< Kêìí«mhñçß Õ˜'Ô[Ѧ°ÕÄù«õð-ê­hù·&Š$»dX,dLYÙ„.'•(Èx—dP\z6^”†mñcêEט-õxy6èZ2AŸ‘Pþƒ  ë­¢lgõ‘1sÐi>BX ØÇ¿¸Š£N -ê-m§ø9$¦Þ hÌ‚Öô–Â×å5Ä?™Óï0Su¥þКû 3 _½¡_ÁeiÕßyF_"¡ E½¥Qÿ"ÖÆïAÄÞBcŽ"4¨·X×!`© ¬4f)B,ö¬€ô–ë¥Ñ›Þâ}]TiñôªÏø ˆD€õ$¦ÞšGR.ž2FûZ§Ñ[ ¨há{×R!•**g‹½\àø-*•l®‚(üU¨·ˆ ¡E½¥MÿvÁÄâ^o…f“¨·"è-ØRҩ¸f®¤¨¼†¨·ø‹¥¶h¢Á[¢ZoùùÎ3÷ТÞÒ(6'‘Oµ´ÈëC‡ÈgŠ ò £œ±ªÊºk—h4†6Äß܉â^o…f“áÒRM«/n²7I¹õƒôVxéµ?‘BñÉeÅxy¯zKýg"q E½¥MÿiÛŠ‹Ý,,$_â.(€æ~ŒÛšMš7Ô[šAÌé­>£‚M¢ÞŠ4žðê-ż™yiºˆè-n¼<,ú |^!AA‹zK£€¶­¬Lìí%ëžkI‰ØÞNü Ä£PSCæ?©¨ð? ›ÞD=;µúMi:ë"ÿ65¯ÉGi8 ¤¯jûú[3qsz ¤•ÁhÚy ðãý?Ú_ܺ/[î!Ÿ‰Þ&™úüXþy“B?Á®(6Á¡.’d¿«² b6­¾ƒFàã Þšz½QúùDôªˆIhQoiÖ¿uíSâËÅo]ço­Ö[ u úd¶M'ôecøpþMi^]©ß¦æã³¿;Ù Ø¿c)aœ?qÊôVMCs¹¥®¸ÒrÔt¢°Âœo4}^TîOo™L@¯–iÍ˳æäX³³½ê-OMv‘ª+ª´@?1½UC¤Ò‘#[ŽÐ˜5•"Ä雘ð‚´|ü®-³ÜPoÅ«ÞB “õ–F±9 š±ç÷Šç_ïoí¿?Ñ Í]Í¿¹CÁë!ƒ4T"¢¸Æ–z}ûZqÔ×´*êw…±¨·zúû»z{Ûº»[;»šì5õMF³ÕŸÞ²Xı1¯–)ž:eÍÍ«ªÔz äÔÈ©Õ[ùžA^?ñ¾.ª´šV¯RUè3>CÔ[¨·„ZÔ[Ñòoù_3ÿ´d~Ö~ô–Þ ‚@½M¬÷vùñzÈàšªîsôú5gzõ–±¨·úÅp“ÕFõ–W›´Jðj™Öü|:ŠK­·˜œ*Idß ê­Ð€z @ø‚õ–F!µmð+¯-Ñá ãf::Ȉ™úzhÛD³Ù«Þ¢Ãª@iÑ]ƒä境´ySB˜JS¿ÔCŠœ£Ëà­?ÑkÚøF,ê-Çð0prh¨³·¯¶¡ÅŸK²Fïþ-6ék¨;°Eû½ö'ªõÖÄ—4V×–‹½á {i¨·„/hQoivü–•‡ÅB†Î”•‘÷ÂŽñåK=ÕóNÑôÄ ¥zSšNeqø·¯Gmܨ|_ãåYÚÐj)æ‹zkÌé—étŽ:CÃþõVþ-¯î(ª¢ÄÊ­T9)ÆË{Õ[]ß~DÎVg¨·Po!¯¯Þú ú·¼ê-öéØ6è#ådJÌAñ~só'úÒUú·‚²IõxùrP•[ýÙ!4†¹‚4¸Ô[H$2\œŒÞ:y…ðþ·Ã­·4ëßw\Èç¼ÕIù±V‘{õ–1§·BøþV6éë{a[¨·â@o!‘È)`Ôô–F–qsçª$?^ï]o!¢‚˜Ó[A#$›Œ„®B½Ez ‰D†@ôo)"‘¶mRgBˆi½9›D½9 ÞB"‘!ý[Àùªc1­·ÎW­5 ÞB"‘!ý[ˆØFÌÍçÃ#r6‰z+r@½…D"C ú·±˜Ö[ˆXDüé­¨¿Ï…DÆ5§·´éßÂþĘC¬è-4­¸A€Æ[z+Ú•Š@Ä ´¨·4ŠÍIä›F--dÝ××e³‰mmVƒ|û('G¬ª²îÚ%8^^;ˆ½–©9Zê-á ZÔ[Úôo½U\ ìjlüź_þ"ý×›ó7vÖÕä¢_ñ¶fgÉ…¢f-½Âg´èâ¿u¿5š–öz @ø‚õ–Fz«¬Lìíínm½(íÒ»ìgºýÆ­‹!¤¾¸X¬©!§TT¨Eþc§t::"ÙÕ'ÓÉ3O‹ªé¨“U#A´ôH+ƒÑ´ó@áÇû~´¿¸u_þ¶ÜC~>?ÿ–A5'³\aTnž½Ad–†#Po!_ТÞÒ®Ëdv··ÿä•‹wìÑ_T=t}å¯wÌÝZøvýÑ£Öœkv¶W½ÅK%~¤–BKÑé¥ Ü„Ó^3A‚hÍŸºª¦¡¹ÜRW\i9j:QXaÎ7š>/*÷£·&ãßñĿܤvbm û¡‡’“õtz}†M¯—µ"Œ@½…@ |A‹zK£½e±ˆccÝ?ûÛÅó –ÿÈpó//_ؽæ¶Ì{z¬¹¹bUU z+YH¦M=Äë-2qµ@D—B]¡Þ j½õåg¯*!½ÕÓßßÕÛÛÖÝÝÚÙÕd﨩o2š­òo%ë ðOO„”Ú¢ÜÑÀª ú \¢MŸœ¡7‚ 1y„Ko­Ôé,öryÛ(ï )YÔa¹4E!+å,‹³4³Ëkˆ :zh¥NàÓÒä3ŘomBKТފ–ËÿšÎ èîîþŸ—~¾¢ôõ¥GŸûñ7Íúpþ¶Â-õÅÅtׄzKôÛWÈô‹@{!Õ 1!zëÌ`‚‘óoõ9‚'LVÕ[^M+dÿ–AêL´tJo`zKa?pd¨|=ˆ3¢» ŽH%"ŒˆœÞâÒÌ´r…f¢q¶ØËg ©T6ñq \€ðÌTwþFå)Po!‘†õ–F!é-ø½õ›Wg®7½ûàžÇØñ€88X_Z*Ö׃ÞÍæ@ôƒž¸ÞãE{¡aTŒÈÁñ[! Šþ-Çð0prh¨³·¯¶¡%þ-jB°!H[¬?Qa?,$™ö$ 6„ëѢ‹ˆê-&‰Ô ̈›¥Ö[~ÛmBKТÞÒîø- ]]]³×_=gýÜ]e»ºZZÈK‹GŽXóó÷oA›GÉ‚2‹ø´’AqéYˆÈùÀXÔ[Á"Šþ­1§sl|\¦Ó9êt GbüUâ¢$¼`C=^^a?Ô ÂËI$—ØdkÁ!¢ý‰~ú'Ô[,!éj„äÆ,Ô[ÄC‹zK£pù·èº«£CüòKòÆbGù"WHþ­#¡€zþDµ+ó'úÒUa÷oÙ@ofâÆ¢…DáÒ[¼<¢êŠ×FK3»¶¤T~Ñ^B8|¿!¯· |)„Û³øp–Ö‚ý‰Ä”@‹zK³þ-qÇ•|\‘õV´ Ð[^ü[‘™¯:„ïoMÞ´l’öÊ0d DõoÍL+§òk¦ €6¢áBJ: d2Ë«Œ…+Ò.…]{ê-b ^½5=¾ý[¢qsçª$?^ï¥Qœ¨·"„hù·‚FÄL 1ň¨Þòÿ8Væ êa ±ýÐF ´„Iê­º+…÷ÿ3ÜzK»þ-ãæ H½m Zþ-hZ Ô[´¨·´ œT8æ öo› «9+F^o4­¸v¾wŠz д¨·4êßBÄ´0_5šVBA;z+\D½…@„ ZÔ[DX ½…H( ÞB ¾ E½¥MÿvúÄ´ ·´Éì+‹7=dóëžÎ{åÉœ—žØóâcYÏ?ºãé‡?yâ¡¿?ú@Æ3>¾%ÐPo!_ТÞÒ(6'‘ïlµ´ÈëC‡È7· ò=®œ±ªÊºk—h4FhP3¾Ÿ´ ·ÁÞM+{jËF$ŒŽŽ:Î3gÎ(âXFÉ¥} ÞB ¾ E½¥MÿÑ[ÅÅn’ÏÊ€ä¢_–·fgÉ…zK3Ð‚Þ Ä´Lï¾H~zÄ¡.ql˜…¯Y³æ•W^yùå—éîß} È @L5Po!_ТÞÒ(@o••‰½½dÝÓc-)ÛÛ‰¯«¡x¹jjÈd>¾ô›ÃÀÏ»B²ÙWèÔÂ||½>Y11‹ƒð-è­@pâÕäGÒ[5ú$Ë£I'!V´víZ*¹h´OžxH‘ÐëTèŠù|¼Î‰N·ýØ$¡‘½Au¿Ä¥ÞB"‘á¢æô–vý[&ÐëTwÖ¼®ÈœYíõ zf-¬gv@û·(_z‹ 8_ý’5Po!‘Ȉþ-OHz ~½û·êëAo‰fs€óUÓfŒöø¼õ'ªÛBæiÐD´ ·}ï:X×?D]\âp/?jžâÌ™3¹«•ï'²ÞC½ §ŠŠê!B-„W`ÔÆh´W½ÅlŒï§€TÔ2Y>5Po!‘Șpþ­‰"…èß2xsGÑZIªœãå½¶øÉzêiÀ/hAobZݹé°nx&Iì4“Q\ƒío¼ñÆë¯¿¾qãÆ×^{Æq:Ö<¥HHm#9ÃâH”ƶgdèãåa=foÌ~üÛM%rïm(òAÅ嘆HdDÿ–'\þ-ym±ˆyW±£ƒ¼¥èÛ¿%zz `6{d¦±2bß °n|6 $ñrõ6¼ùæ›Lr_רðèèèÁ´g I¯è­d=bEÔW¨ý}øÍ‘É#þôVÔßçB"㉚Ó[šõo‰;® äó^S+¾Z9AA z+ÓrÜë¦ç’Ä–Ñn"^®ž“b é[ê¢)|í9EBêÄ2èB\\¡¾»ŠzkòÐxbKoE»Rˆ8õ–FBʸ¹sU’¯÷©·S-è­@0R¸‰üÔíëóÅæ£b[‘\ݵDuõ6P‚Þ*Þ¶3zê­Éõð-ê-íú·Œ›' u€!´-è­@L«lçúñöjÿqzjËÞ}þÉ@Έˆ"Po!_¯ÞúJû·p¾ê˜ƒôV€8öiÚHá&ÇÁ}6tç¦Û÷®kÙõjÃÎWNnû[ÍÖ—ª·¬D±@½…@ |a²zë á½o‡[oiÔ¿…ˆ5hAo¡i%Po!_ТÞB Â-è-DBa*õ– èèû7KÁbÏR²äÝÝJn¥±œEX©ƒåd¥±‹„8AøLAg1¦ãCˆ´¨·"ê¦ÂnÁÄôú· S©·¨T’·îÝ™iå¼–¢![R„-D¢¥Z2SÝ9¸R¡ÞB ¦ZÔ[‘Åæ$ò¹¬–y}èùt–Á@>«•“#VUYwíFöЂޚ ¶®|æ^þÚœ‹Òt¥Ï¾èå×DúŒˆI"Šz‹ &ª¢x½!KÉâ“(Tš¦ÚD\@‹z+(—@åÁÏö¼ù5!ÜGîIÖâb7 AxY @rÑÄ[³³‰äB½ûÐ‚Þ Ù¿uìèѵWÿ´wçÍ«¿Ñ³f†øöÿÙ|é9¡e…˜2DKoY|÷òz‹E ½j†z ˆ´¨·‚H+ƒÑ´ó@áÇû~´¿¸u_þ¶ÜCî=è­²2±·—¬{z¬%%b{;ñu54/WM ™“§¢Â—Þ2ˆ¢bf:~î:§/„¸9|ètuøY£©‡ôVÈÈÞ°ñë~ÖœùLÕ‹—œxæ]i_ßü˯*⨿˜åÇ&Eék¨dÎ(}r†j®tÅŒR¢d·òt×R|ƒh“â{ý!Šz‹qif×–÷xÑÆ-öò¥BªÅžeQùÀ°?˜hQoå]UÓÐ\n©+®´5(¬0çMŸ•ûÓ[&“ÌŠ P]V£Ñzô(ñråç[óò¬99Öìl_z‹6BtúB6[0›mšAšYEO›%}†M¯WΟˆ˜Èó'–ìwZŠÇ-Ç@rWV«,:ç:K÷•æ –äŠZòo ÿõ–[Þ¾o^÷žKvßqáž%?ÜtÙ¿*¢ùÒ[¾lR/${“OgL7p0ÐÙ¨2l6[‰É’“3О½"Šz DUÃ3”ñiét‚.•…X8‹ƒz ˜2hQoÐU=ýý]½½mÝÝ­]MöŽšú&£ÙêOoY,âØYŒ€ê"¾®’±µ•Œå:uÊš›+VUùœ–GoÈ€z"¤Ø,¿ê¯r“FË ÏÉ%ÚôÉzƒg˜žz„Go &³åto]çÔù· öïßöÖ[ÍMÇ-U•Šh¼wŠ×R^m’¬ž©š¬À~Õ>0Qr|‡NVíZðoÉG›…ã·ˆ©„õV°þ­>‡Cð„Éj£z‹fůé´Ó2jj¬f3ñrd,uqI£¸¼ê-ƒÔ™héßsmë¸aÝ1 Ë ]Óƒ8#º âˆT¢!¦ZÐ[j T¯7-˜¹íêooùÍ¿¼÷ËüûoþqÍ‹Ò|°¹±qÂÌ™¢…`d~lr’z‹úÀPiùê-á ZÔ[At•cx8H94ÔÙÛWÛÐâÏ¿eµÂ¯¼¶XD‡ƒŒåêè £¸êëAo‰f³W½¥'^*27° m±vH1¢‹…$ÓžDĆp=ášbhAo‚wnøyÇ×7®øz×+ÿ ¾{ÎÊŸ·æÎ¥$äí*$ªœÔ6ÉË,:T‹:\éàB¯ý‰,„i2êB#©ˆEÂuùñí|ïõ¡5hQoëßs:ÇÆÇe:£NçÀа½å†ÅBr••âߢ­™(µR°¡k ì©{ylDr‰~]ˆÉC z+cþàŽ™ÛŸ¨^ñsëóÿ~úµo¾5ûÂôvuv¾ýç»?½æï]vî;—þËû¿ú¿«þ#EBjiÉj–ðg@F†Þ«MÚàhr?þÝe¢J1^^=â,^1¡€vôV¸ˆz ´¨·‚‚/]vÿ–&¬§ŒÐ d½U”í¬>B^Q49ÍG« +så»GK÷ ï£èߺéç_<~íî¥?Ýuëwößñ7Î,Ókb @kê-"¡E½éïo‰;® äóŠt|«c“´W†!Û!-#<߃ˆ¼«¿¯¯µ¥™ÑápˆdÈ|Îû¿¿¨e÷‹U«/«yþ[ÝéßÜü늄ÔEû¸)ˆ‹Ë‡ó õÖõð-ê­È„”qsçª$?^ïEo!bTo9mÇÏt4œi­u6T×W'[ËkŽê-ûb ˜è­ºŠBQï'R|°|aÁ37î¹ç»ÿðÝýw~gÃe_K¶¨·"Ô[´¨·":"Õ[:À1Yoõ´‚ä±6>žOX–ç(ý8T²ßqt÷à‘Ì‘Ö:ˆÙÔÖ&Fÿå ‡£¹±Ø$­{º»CÎ 15@½…@ |A‹z+¢Àùª ·FÇǃŠ/jÉ¿…ˆ9Ä¥ÞB"‘á¢æôVdý[ˆ„è§¾î†üm5Y-ý­òÃUï=kz÷¹ÊwŸÂ6¥ùÃO~¶q¸¿+z m2¡ ñÄÞB"‘SÀ8ôoE½Ndtk)nú©­êP ‘ïDÿb’@½…D"C ¦ý[¡u F½NdhÏz„T?}Ùdí+Ü×_¼ 8‡¶E»ƒE» ³ú6ÔT1Íù;ÅIè-Ÿ6yàΤǓ’NJz0IÜ·»ªã¨·HdÔ¶ksù\VK‹¼>tˆ|:Ë` ŸÕÊÉ«ª¬»v‰F£bØû$k$Ï1‡…a«¥ÄÕ[ùÛFJö•化})û|¬w–æJ’+HõVÕç‹“Ó[­X’ë³W_ÍNOß½fͱ>8òöÛù¯½Ö]XèGoÙ@o%gð­‚í¶óÕŸB&øâd”ÞÊ÷ý„©Ä ¤Ø®ùýr¦¥XȉU "ÑR-¹î—rh*ˆyâ}x‚ä™n1)_ÍA"‘Z ¡¢Â„(KÜqe Ÿ˜çñn'¯_d¨·´ Ù¿UuØÙP5^_A¼\’‹k¬ºÈyüH.ÊѲ/¨Þª>H¾ 1½õ†^ÿ¿ùË{Ï>ûÁ_ÿºõÅ·­\¹ã¥—>ûÛßö¯]kھݜ›kÞ»W­·xyd“´W†!#(уzK#NoUT4™¼>”zk®ŽJ%¦¢ÜzK:j6eñI,ž*ª1ê*›²ö‰DÈ#••ùS©·‚4ZÆÍ«’üpx½Ro…½š"ôÔ°ÕRbƒê­˱3­µÎ&Ëø©Šq+ñrÕU}ÄYy„|'âøÑÒ/düVmIž89½ Ö&µÔ[“GPzË"u"ö&¹ÔâIÝW¨Ð[,í…¤ Œö'¢ÒB"5ËÕ• 匾ޚ€ÔÆ!ê5 ÃVK‰ ª·œ¶ãg:ˆä¢^®“Ç©ê³9ÍDrÿV1y?ñä‰rq’z+x›DÄ‚Õ[©WÑÀ‘*ô£9·ëÄ*ÁÃã%õ0‚®2Ï•_Êá}`d=W~5ǼÊýjŽÁó¤H$2*$·ÿDž­èë-œ¯1!d½ÕÓ ’kÄrlØtxøxþpYž£ôó¡’ýŽcû†‹ö8Žî<’9ÒZ1mb$æ«ök“ˆxBzË+•þ­÷ËÝÃçMéTQU/Ke!ÎÆÇLÜi—yy5‰DÆ£êß Q¯²ÝZŠ€Þ*¾8ÿ"á!½¥O¨<“2'vY>*ÃË Õ¹c {üz¯a!à&Óßi°ª=~ŘÑxØùÑx°†½e‹5lv_–*‡0ë- AE/AGȺ†mÖ¨ŽsÛ5rÌ‹ÇʃþS&¯áÒ×ÔXܱjÝ%¨áÓÕø».s®\¾žiÕ9Õx9= ©Qa O¢†o2}ä…UíãŠø*öâŘÑxÐxÜ1°†½ÁVí¹B¬·jkk­V²’6¬t‡’pù°|@ÞpÅ«•“•Õ…îÑä,ÿZ.û¼V«ÇA«+‚Õ=;*Ÿ‡žÀ*ŸÉ=Âr´ò§eÅä.…»÷ÍÃU| oWïª3k­»0îêÀµ†o2±ªÑ˜5ŒÆƒÆƒ5Œ5r ‡Yo¬;Y8 ¿'啼)ƒFp»%ÖÑ`‰®P×–ôãNN7OÖ¹2w§– @OQ'ïºÎSÇ‚Ýp§•cxd}R.Ÿ+‚;UŸŒ¿ ×^+Wy»Ž¥u-rîâóÕXçÊ®kx’5x“‰UƬ¨a44¬a¬ák8ÌzËæÂ)ùç”´}êxŠÅa[,+èo‡m»òJ›í0—Û).žÇyNRóN¹¢) wŠÛ9¥ˆxê”:;ïù{¿/—æ£TÊ£^®Å•™g¡&Yêy¤S‰§¼ÉTæUí=ms‡>O‘Gâd/m5{º¢ñ¨Ëï™NqoO¬áÉÔp˜õVcEccƒ¼Ù(íH{î 9ÈFWdéßËG_¾êª††#Ê Y°¬åƒü±C|¸Ç™iîó]YHÿ< ÞØÈåШHÙèNéy&w)•çãâºë±Q1\5ì%BbÔpàM&Vµ;³„(ÏËG\ÄÉ^Ú+,+4¼=±†¹«‰t ‡Yo5š›a!¿°Õܼ¦¨yÍUW57Ñ`Ø„«è‹‘k®ÖÁѦ¦¢5EMd£YÞ€pí>AhnÞ&çÓT$Ü·M¿ï*š2¦—"ÿmŸd У¬\RÑš¥"Ñ•«ÔÍR ²/E¤‡š\1XBW:úCã±TMtÓÙÔÔÄ¥hrïÉ‘\ûM®sºâ5ñy5«k¸¹ÙãT|½9ëbä]ò®Ç š<ÎÎJÇåËU[“G5]Ã7™êªÞÖܼL¸Oúm¢†ÚL,ÖÃäÀ˜·57]%,£†hË¶Ý `· XÕñgÌ“1x6±wÂ铊ÚæD­h¤mÞiXüeÒƒŽ$Bœæ¦mìÒØÃ“]{ZÒKc&zŸ”9o±ôéÚìãÉ,O® ayÆÞ·ì*׃ÚóIÛ¬zÒ¢ñàí‰5ìYÃaÖ[­*¬=ÖºvÖ¬ÖÖc°½½µUîoÝ~¿ú¨bcí±c,ÕýÛ!D !|8ì@8Mr¿Û½æl-Ù…vÔ%D$o2ÕiÁI¸d`ÔP··S˜=4kÖý`$ÉÚc÷ß?^| dãa«V—åð2þÁ¶ß/°gK«~$ÒíVÏg¬:Äk抬Ôf¬È“•Ç—Ù㓘aÖ[v»½ØÞ.ýuÆöu³fÙíFØ]g´§étív£t¶§ÛÓfÍjo7Òhtâ¤i4•½=³½}–².sÝ:)\'èìÆ4H¾ÎÖ¾N7 ²•ò'!$s©íÒi x:Ü/dÓNÿI1ìRyiQXlV8)é:ì,‘½‹íJA¯š]7ÝråBSØížyÛ¹ÓÉ9Ð_¹úh4þ2ì®â(kX^¹bØYZîôŠ"».\>Ÿ»¸® ±{–Óu´Ýu™žE㣹êW³5x“©®êY);×í\—™2‹ó:£qÝ,jÒî’ÏZgܹóþu³î7Ú)º´”Ìö÷'`UÇŸ1‡f<ðЙ%Ü*ziið¼šEeë\+ú(³·+‚mP6`Ap”>ÉCR7‹>iüv»N¸ƒ´tìIÈ.’Ç£|”d%ežIbCVðtMËLƒø´iô¹-‡Ø¥g,I’&=låç3_~Ò’*JI‘Ÿ´h§O›fo¨¤4So/M0m˜ ûîü+7À)Yü ³H.—M*g¯T&Ài7¤C½¬øtS¾¬^×!w0K/º2”¯¿WÎÀu>iO>Y¯ \ö\ž®°Órž¬pêv—Ùñ´g4š©G<×%rÉ<Îâ*›ëŠ<ªL¾ÈÞÓ¬°½®üùjÔd Þd*ª 6È>M,­ò45HØð4iÞ ÆWÙ }º7»ò4ó†Ó§³­ªãϘC3žÝ`<Â`ü¥Q;ØÏ¸Ó§w³ìöžÎ–w½•ÆÜ`2)‰ìÒè3–D†”§Áêài¹›Ë<›™(ɼw7ÿÔ%E%Y†3*žÌ,ÓéÝìû˜²ô<÷0{xÒžöxÒö“ÇÓxðöijÞêë‡}dé—~ûû7Võ¿6gvU?Ù“‚û]ÿhKÐï¢p¥ ÜXÕ·‘åCHø5z¨¯Ê•¬Ïc¿\–~¹d®Óö¹±Xý}l¿¯¯Ï£}},›þ>wWÕãÂ<ÈîïsÇá*€’åÖç* Ç‰¸’ò5̲žd »O¢ªa×KÃ5x“ÉWuU_ßœ9û«6Â.˜ôÆÙsˆ)bU'˜1‡f<ð;gcÕÆ9HžQUð4{ð5é7<—F ²¯døàž¾³É8Ãi<Òã—œoO¬ák8ÌzkPÂÀà ypP˜óºà óësÈ1)ý•¶¤ÍÁW°ë˜c€„¼n|}ÎÈx€Ãµf‡è¾”㟇ëƒ,ÂàW×¾XÅËéÄÒ pyp¥c¥ô(ÀËÞµåÞP×]fÏl¹«pW¡âX°5¬<ËÀ gLþœ1\Ã7™ü 6R0C&`gsæ¼þú¾×e«ÃªNcÍxh.s6šÃò$T_<aÍù!rê}a7öŒÝh6ª=2EãQoO¬aâ’Uz«öÿ0¡Þ¢p qp°_`O8Ük/± hÓ‰¡Msæ YÜ1Cž¿ÞóTýÀ?U ‡27=‡ïs¸3px&u¸xÉÊû5:”[|AÊØêÉÕ0Ç5x“©ÌÞ³ÔXÕ hÌhk8ÌzkdttT^$ŽH¿®½ÑQ¶+Å•¤m)®{Ÿ‹ÂoI\qGiJ>oºAÏKŒÈ9ÒRŒrYË¥s—‡;/+†+ŨœÏÍvÔµ–K$i„Ëi”eÄmÔ]¾Ô®õ_ vÕ´Œ#Š2b ]Ã7™XÕhÌŠFãAãÁƹ†Ã¬·ÆÆœccòJ†“Ðé rºÃØ.wØ#™{ÃéTdêy˜‹¤NátÅpzIí.®ê¨Ó©Œëåâ<¯Ñ}aNs»/ÒI‚œ|<÷awù=*IuíXÃÜÙ‚¯áÀ›L¬j4fÏÔh<ªØê¢ñ` {)´{#‘k8Ìzk\‚“®àN;N×ôW>äd±Æ]Q®'Ûw'p¥–×NÔÜ)]ÑX$WIœr®|§+§“;¹s|\qEaÇÇ=ÊêQ8ùz¹DŠ !¿,+§g&N§GEp—áÊÉ©,Öpð5x“‰UƬ8'Ö0ÖpÈ5f½uÆ…q/[^ƒ¼ö×[¼qE0·3>N÷¼g?îÿÄüaÏ<ý—’;£—®¼ŸÉïu{½èqïq°†ƒ«áÀ›L/9aU'¶1£ñ¸òô_J4ˆXÃþNæ‹ÿ³Þm#ð&3Ú%Ehh<"d„Yo!ÚG€M&¡aÓ[HdÌÑW“‰DNH4$¢ÞBÆ?±ÉD†L4$¢ÞBÆ?±ÉD†L4$¢ÞBÆ?±ÉD†L4$¢ÞB"‘H$‰Œ,Qo!‘H$‰DF–¨·H$‰D"#KÔ[H$‰D"‘‘¥O½ío´"@Ä Ð¿…D"‘H$YªõÖWPo!‘H$‰D†‘ ·j/>9õ‰D"‘Hddˆz ‰D"‘H$2²L,½µÒصR§³ØË£^$‰D"‘‰CÔ[H$‰D"‘‘e zK­ThÈJc9 ‡]AÐ Vê„@4 Ÿ0S,Æô¥™]twiŠŽÏâ )Yž—¦ ðÚf¦•³Ì-™©Š3.…@{Is¦g䯅Æá¯no±CΩ4ŸÀ˃D"‘H$21½EõÕ4SçI1Ý"©%Ðm¼ž[*è˜Bš49Ͳ…â0âÏÂŽF`9óZŠ^ d²%EPë-(U^‰qté´ÀH$‰D"‘^½Å{¡§¯<ʆé­ÀOÁë6ui™£qXÎê8TŠ­4f)JÅË8ÞO†D"‘H$©fØôß3 ‰œÞòê9[*¤òÊi2z‹úÀPi!‘H$‰ „Aè-…¢¢*„õ'‚š¡â#pa¤Ès¥Nàûò"¤·f :ê÷ZšÙ¥žå§?ÊICh/$”Šun.MÉBÕ…D"‘H$ÒÃ?^ž{äÜ^%”bÜ=Í?4.=ðñé~ú—êt‚.• ¢Ï³w±œý—RÒù¡÷l0~€/ ‘H$‰LX†®·ü‡BÿiGƒ=‘×ñò!‰D"‘H$r’ ObÈzKý=þhÈý‰”ü÷ üxÅý‰(¼H$‰D†—“ýÞiä4 ª$‰D"‘ñÁÄú¾<‰D"‘HäÔõ‰D"‘Hdd‰z ‰D"‘H$2²D½…D"‘H$Yzê­ê/—8_(ŸM™t|ŽÄ«ÏòÉ9rˆLã³ $2èºYÈøf™ŒÔâªîgBÁ%†óÔ[Æ+ÈaÒœH¢Ê2O ¬[DY¿PhZ 4.”Ùpƒ{›Ž"‘H$2>X?‰ŒwΚæ{?T7[¨›%ñ ™µWºvgɤ!°®¹ŒÐòki})Ù€5ˆ«Ž_½µ†ù·:çKw×Bë-„·]· =K„þ;…¾{Φ\ææ(0%IÁñ{„‘»“—Hd|Ó‰D&£~£!‘çí’©ß.|y«àøƒ0p‹0t³0| !l .¹ÖtÃÅÞEÂékÉš¸–ðôï”ô¢·znúo“×}KÎÝ%K«‘”s(ËeŽ¥ž­æ™”³€£T!‘qMøë‰D"‘ñAå· ÃwLØt¯$œ]-}¯ÝÛÿûiT{uÌõÔ[œÞr,I™5rÏYÀQIiºè+„È<óð9Œâ#gË|P&U]ñÄ·æN[ñ¯RÖüfFÔ˃D"‘H$2ŒTË/Çæ{›{~4gÏ?ý÷Ö½hû×.þôÿ]òÉ×.úäÜK¶Ÿ{ÉŽ¹xç?]”õÕŸíšþÓìs.Ì:ûGYI?̾¿ó;3·—Wu€ä¢/¥‹é-[ToÑ¿àJëŒ^E’+žx:3™éÖšãâŠófÔ\6#ê¥BFQ: ‘H$2ŒTè­ñî–]Szî¯ÿq¥ñü9åü®ü¿+ÿþÜòïýîøùs+¾}µé?®®þúo«Ïeþç+ªÿá7æÿsiuÒEÂ…¿3óS ë-êܱ5–zöèCDoQQåEoù[Q¯µpQüœˆ­š´|²½ZEÛg"º¸H$‰Œ'ªû¡õÿç_Y¾5Ûú£kOþÏõ§~¾Øö‹›ë/^\ñMõ?»©áÂÅÜÐü…Íß¼¶åÜä–šÝò•+›Ïúu½ð?Â÷¶AZ6œ‹ê-ò~¢é;\âDru-9«mÉÙí"´ß}NÇ}çtÞOØrß9­÷’{§Qž¡ky¡géWüfZçÜél·3EXñãé™çX™»™7´‡î-¹s:ŸêÌ ò.Äñ*nß)¬8o:ëãÒÕ¤x„Óœ}÷ðgt¦Lc‡hZvº·æN£É-û2hžŸ7Cóˆ|iirÈ“ž…•Ÿ†¿(u \5¿‹D"‘Z`ÔGÕ ‘SI÷›"·½õÿfž¼`~ýÅ76ü润+îh¾âÎæËïhþÍ-¿º£å’?¶þä¶¶ nnÿÎöo.´ÿë<ûŒ9íÓ®h>ëçæ¤dR½ÅÆo^,é-ó÷Èxù¶ùäDª·ÖÏúú+—í•˾FÖ3Ý|YÅ¿üê\Ó-äždï'Ž»^Q+ôo½[ðG3Fîž»£w b{F(î<ïqé|S =tgDñàÓ4FƒT+žÊ§©Æß>; ñå+ˆŸ‰ž6ºßáMp 1ŸžÅÍ ßýÃtþ¼ÃïÈçu¶‹£w'³CcwOEÃgbõ/átIgö'ÓäΧ§óç‚ÒŽ¬Èà C9FNm8Ò üÑ ßCÓ ß\4wè6YoøÁùxÖ5í§OåC|ì—db²û¼”C· |Î×bƒÎ{¼Ñtz2 WÚ.™¡H‹D"‘!m~È!UZ}Ò·L¡õÿïß7ÌùSóu©­×?ÔvÃCm‹tK®+îi£}Ž3çߨþ Û¿± íóš¿þÛÿ÷â]To5Ì’çó‘õVÑ‘¯Î½µÈ­·FðoÞ:¾ù¢…gõ-9›Þ™=·?IºÒ¶½[ïüì;é|¬çêé}7ËâfÛy;³“%árêòéƒ7˲cðêétcdÝt8»ØXÿÅóù“å@3wåOôuŒ½qÞŒžë¦ËÔoƒÝ›§AB*˜ú®›ÎÎ;x³¬·¾¸`Äá‹DÁÙ¿¸€$É&Þ©m ßËk–ú4¡#ošyã©üÒËÝ…¡¤WÁr†¯×èÜq¯ çÓ"‘H$‰œ22™ì\$ZüKnlœËn»éá¶ÅnÕµ`y«è‰,n;ÿú¶o]×ú­­ßº¶é[sÍ_û9¿Õ(Í”h¹”ŒÚ½E¾Áë­ÉŸުþßTã³»þ(ñv’HÅJîÍo;žc[ñ|~ÉÅ b±‰ˆ›Ï{œ†~f#ï>5Ng}9@R3¹ÏçƒæTÚ,Z/¿Æ!©(È!÷‚7O£ùÓ@zP†Î'3 °GO f.x DX×»¤çnÓ·Aбó¶Q•ÊfÅyó NÕÅ3Ø¡>—ûøâkÞ:o†Øðö)ÈùºÇ¨ÆÚô²â‹CžŸ½[ßyõtZÆ>—Þʽ`-'-$½F( dÒ¹.ßk :-2&7 ‰D"ãƒLfQ¶HzëW·6-z íæGÚo}´ýæ‡Û®°uAJë︱\?¹¹å7´|waË·´|gAËù×5žùë—’÷ë®'R<þcaû$½õÅ¿ ¦_’Ù’™Ûouë­ U׉Œ”ÒEn±i;o%‰ j/»¦g1Ñ@_ ™!–’>Ä/E±c±.Ìñ„[3õì¶Ñ˜Ž68š GÇv'C l(Â)iÚ·Þ­¯½l:_Y42«…Ó’Þòy{ëù£}¥¢XªgE’zj _–˜Œëx"ƒf …á•lÇõÿMWsÁ¼ŽÅÓør*R©½¦E"‘H$9elY$³m¾ùÖ'§×=ýOuÏü³õÙ¯Õ>ùÕÚ¿L·<"Ô>qŽåQ¡íiÁr¯`¿ÝCo¡äB&á/$2îÙpçäÅeýBYoÝó¼ýOzßÚÞªë©õ]¬é|`UDzì÷<×¾ôû]OÛÿøDû­úöëj½6¥eöŸšukÃæ™þíçÛ mɯÈ`-e"Õ[ǯ> ô•\Í ¡î:îJ²/•×÷$aÛx‡[lñz+ê$‰D†…Qo ‘È)`½$³nàôÖB¢·_Û•þÁé[{W½ÕóØÚÎWƒØê¸÷y;ˆ­;Ÿl¿ãÉö[k¿é‘¶…¶^³¬åª%Í—,®ÿÞÜãÍß;ÚÑb«ðb¢·r¾ëÒ[ðzë˜N8~m’Bo®bJ‹' §’«òØ«ˆL,F½!D"§€Qo‘È)#³y*¹ÚÖß[×0úèšÎ%OÛ?ܶ ¥5ùÞ–ßÞÕ<çOÍWÞIxùíMÀŸßÔ¼è†Æ-¨ÿÎÕu¿¸á¸ÉrÚ¶ú^[@ÐWn½;j½eó¡·ºï™ö’}]wxé[D"‘H$‰Ô,Ù_üßÒDr]? $×X—ò§Ä–ñòiÔ¿újß…düÖ{ÿ&é­ºyBé|Š-¯z‹i¬þûÝTh¯ž%e×íHdüÓŽD"‘ȸ ë£ã;ë¨ö¢®/ÚÃX· ‰pž@iáxâw„•³ MW‘1Z” º¨W‹è-ÐbÇtDoQ™Å‹-ª´ú–ŸEéxðl_„£ƒËÎf컉D"‘H$2öØõ'ÂλÎ&Ýw< ¨.¥èsw 2N~ÁÈ/\Ÿ~Cøý÷Êz«q!ñl): ©Æ}èì3ú¯Œ?*ˆœ ¤Û°ftC|øœñG¾Bc"‘H$2¦yfyߤvNõ 3”£)I#÷œE]HŽ%Iýw Ž?°î¿M€]Â÷ìÁB:“餴'H®º+„ü–av7¿–ˆ¸ÁûβI|ê\Âÿðåó ×þPLÿo77^,“D"‘H$‰Œ!‚¼¡äwW}O&lSÄü.UJŒT>=uîøC_ÜBæïqžé=dØ/\@\ÄAÅÄ=Ù«’´ZáëW¾q•OÒHd|ÓÏ-€DÆ £~£!‘S@µÙSµÃÖ¾êHAªÒž:×¹üÓUdÈü{ϼèì1{è-ŠÒù^¬÷‘²^ú4ýN„ûë\Ò— Èp³;ÜãΨ' ‰Œoö ‘ Àö[‘È8§âÁ®|Ú/"l‘Ömóå™aƒ„Ï'Mó…æ¹„MÒ.94_è˜KFÍŸÌ}y‡Ñö§Ô×–ÜtÇü?,μã:Ýu×ø8„ÐÎû¾*"®$gEÛÑà 3áEXVÀ²–U°¼ËjXþË˰¼ËX^…e-,ë`Iƒ%–õ°l€å5X6Âò:,›`y–7aÙ Ë[°ü/,°¼ Ë;°¼ Ë{°¼ËX>€åCXþËVX>‚åcX>e,ŸÂ²–°ì„%–Ï`É‚e,»aɆe,{aÙË~Xr`É…åsX¾€%–°`ɇ¥–ƒ°‚å0,G`)„å(,E°Ãr –XŒ°”ÂRK9,Ça©€ÅK%,U°TÃb†å,Xj`©…Å K,'a9‹ –zX`i„¥ –fXZ`i…¥ –vXì°tÀÒ K,ݰôÀr–^Xú`é‡e–AX° Á2 Ë—°ŒÀ2 Ë,NXÆa9‹‹ð‚Ëÿgï<£ª²>>A]Û*êî·®ëÚW×Þt±®® Ë*º²t+öºbG:ˆì«."ˆ  E@„Ð$„I)@ ¤B„|¿÷ny÷M #È=ùÿÞ»åÜsï=óæe˜‰ch {A3h{C Øö…–°ì¿à@8†Cà·p(­àp8Ž„ßÁïáÿàpüކ?Á1ðg8Žƒãá8N‚“á/p œ …Óàt8΄³àl8Î…óà|¸.„‹àb¸ZCh —B;h—Áåð7èWÀ•p\ ×Àµðw¸®‡À p#Ü7Ã-Ðn…Ûàv¸þ wÂ]Ð î†{à_p/t†Cè Ý ;ô€žÐ îƒûáx‚‡¡7<Âcð8<OÂSð4<ÏÂsð<ü^€>ð"¼/Ã+ð*¼¯C_xúAa †!0†Á›0Þ‚·áxFÀHxÞ‡àCø>†Oà¿ð)|ŸÃÿ`|£áKcá+_Ãx˜ßÀ·0&Ád˜ßÁ÷ðüSaL‡ðÌ„Y0~†9ð Ì…y óa,„E°R` ,…e i°Òa!2! VÂ*ȆÈ…ð"¼/Ã+ð*¼¯C_xúAa †!0†Á›0Þ‚·áxFÀHxÞ‡àCø>†Oà¿ð)|ŸÃÿ`|£áKcá+_Ãx˜ßÀ·0&Ád˜ßÁ÷ðüSaL‡ðÌ„Y0~†9ð Ì…y óa,„E°R` ,…e i°Òa!2! VÂ*ȆÈ……ÏàsøŒ‚/`4| c`,|ãàkàø&Â$˜ Sà;ø~€a*Lƒé0~‚™0 fÃÏ0~¹0’a>,€…°C ,¥° R! –C:¬€ d@&dÁJXÙ¹«a ¬…|(€B(‚u°Š¡J¡ Ê¡6@%l„*ØÕP›!µ°ê pÏhMa/hÍaohûÀ¾Ðöƒýá7pÁÁpü…àGÀ‘ð;ø=üüŽ‚?ÂÑð'8þ ÇÂqp<œ'ÂIp2üNSá¯pœgÀ™pœ çÀ¹pœÀ…p\ —@khmáRhíá2¸þà ¸®‚«á¸þ×Áõð¸n„›àf¸:­pÜwÀ?áN¸ :ÁÝpü î…Îðoè]¡t‡ÐzÁ}p?<ÂCð0ô†GàQx ‡'àIx ž†gàYxž‡ÿÀ Ð^„—àex^…×àuè o@?è` ‚Á0†Â0x†Ã[ð6¼ï ïÁûð|ÁÇð ü>…ÏàsøŒ‚/`4| c`,|ãàkàø&Â$˜ Sà;ø~€a*Lƒé0~‚™0 fÃÏ0~¹0’a>,€…°C ,¥° R! –C:¬€ d@&dÁJXÙ¹«a ¬…|(€B(‚u°Š¡J¡ Ê¡6@%l„*ØÕP›!µ°ê p ÏhMa/hÍaohûÀ¾Ðöƒýá7pÁÁpü…àGÀ‘ð;ø=üüŽ‚?ÂÑð'8þ ÇÂqp<œ'ÂIp2üNSá¯pœgÀ™pœ çÀ¹pœÀ…p\ —@khmáRhíá2¸þà ¸®‚«á¸þ×Áõð¸n„›àf¸:­pÜwÀ?áN¸ :ÁÝpü î…Îðoè]¡t‡ÐzÁ}p?<ÂCð0ô†GàQx ‡'àIx ž†gàYxž‡ÿÀ Ð^„—àex^…×àuè o@?è` ‚Á0†Â0x†Ã[ð6¼ï ïÁûð|ÁÇð ü>…ÏàsøŒ‚/`4| c`,|ãàkàø&Â$˜ Sà;ø~€a*Lƒé0~‚™0 fÃÏ0~¹0’a>,€…°C ,¥° R! –C:¬€ d@&dÁJXÙ¹«a ¬…|(€B(‚u°Š¡J¡ Ê¡6@%l„*ØÕP›!µ°ê pÏhMa/hÍaohûÀ¾Ðöƒýá7pÁÁpü…àGÀ‘ð;ø=üüŽ‚?ÂÑð'8þ ÇÂqp<œ'ÂIp2üNSá¯pœgÀ™pœ çÀ¹pœÀ…p\ —@khmáRhíá2¸þà ¸®‚«á¸þ×Áõð¸n„›àf¸:­pÜwÀ?áN¸ :ÁÝpü î…Îðoè]¡t‡ÐzÁ}p?<ÂCð0ô†GàQx ‡'àIx ž†gàYxž‡ÿÀ Ð^„—àex^…×àuè o@?è` ‚Á0†Â0x†Ã[ð6¼ï ïÁûð|ÁÇð ü>…ÏàsøŒ‚/`4| c`,|ãàkàø&Â$˜ Sà;ø~€a*Lƒé0~‚™0 fÃÏ0~¹0’a>,€…°C ,¥° R! –C:¬€ d@&dÁJXÙ¹«a ¬…|(€B(‚u°Š¡J¡ Ê¡6@%l„*ØÕP›!µ°ê p0ÏhMa/hÍaohûÀ¾Ðöƒýá7pÁÁpü…àGÀ‘ð;ø=üüŽ‚?ÂÑð'8þ ÇÂqp<œ'ÂIp2üNSá¯pœgÀ™pœ çÀ¹pœÀ…p\ —@khmáRhíá2¸þà ¸®‚«á¸þ×Áõð¸n„›àf¸:­pÜwÀ?áN¸ :ÁÝpü î…Îðoè]¡t‡ÐzÁ}p?<ÂCð0ô†GàQx ‡'àIx ž†gàYxž‡ÿÀ Ð^„—àex^…×àuè o@?è` ‚Á0†Â0x†Ã[ð6¼ï ïÁûð|ÁÇð ü>…ÏàsøŒ‚/`4| c`,|ãàkàø&Â$˜ Sà;ø~€a*Lƒé0~‚™0 fÃÏ0~¹0’a>,€…°C ,¥° R! –C:¬€ d@&dÁJXÙ¹«a ¬…|(€B(‚u°Š¡J¡ Ê¡6@%l„*ØÕP›!µ°ê pÏhMa/hÍaohûÀ¾Ðöƒýá7pÁÁpü…àGÀ‘ð;ø=üüŽ‚?ÂÑð'8þ ÇÂqp<œ'ÂIp2üNSá¯pœgÀ™pœ çÀ¹pœÀ…p\ —@khmáRhíá2¸þà ¸®‚«á¸þ×Áõð¸n„›àf¸:­pÜwÀ?áN¸ :ÁÝpü î…Îðoè]¡t‡ÐzÁ}p?<ÂCð0ô†GàQx ‡'àIx ž†gàYxž‡ÿÀ Ð^„—àex^…×àuè o@?è` ‚Á0†Â0x†Ã[ð6¼ï ïÁûð|ÁÇð ü>…ÏàsøŒ‚/`4| c`,|ãàkàø&Â$˜ Sà;ø~€a*Lƒé0~‚™0 fÃÏ0~¹0’a>,€…°C ,¥° R! –C:¬€ d@&dÁJXÙ¹«a ¬…|(€B(‚u°Š¡J¡ Ê¡6@%l„*ØÕP›!µ°ê ð[žÿКÂ^Ð šÃÞÐö}¡%ìûÃoà8‚ƒáø- ‡A+8Ž€#áwð{ø?ø„£áOp üŽ…ãàx8N„“àdø œ§Â_á48΀3á,8Îsá<8.€ á"¸.ÖÐÚÂ¥ÐÚÃep9ü :Àp%\WÃ5p-ü®ƒëápÜ7ÁÍp t„[á6¸î€Âpt‚»áøÜ áßкB7è= 'ô‚ûà~x„‡àaè À£ð<OÀ“ð< ÏÀ³ð<ÿ ¼/ÁËð ¼ ¯ÁëÐÞ€~ÐÀ@ƒa …að& ‡·àmxÞ…0Þƒ÷áø>‚áø/| ŸÁçð?_ÀhøÆÀXø ÆÁ×0&À7ð-L„I0¦Àwð=ü?ÂT˜Óaü3ăŸaüsa$Ã|X a,†XKa¤B,‡tXAÈ€LÈ‚•° ²!r!VÃX ùP…Pë`=C ”B”Cl€JØU° ª¡6Cja ÔAàPžÿКÂ^Ð šÃÞÐö}¡%ìûÃoà8‚ƒáø- ‡A+8Ž€#áwð{ø?ø„£áOp üŽ…ãàx8N„“àdø œ§Â_á48΀3á,8Îsá<8.€ á"¸.ÖÐÚÂ¥ÐÚÃep9ü :Àp%\WÃ5p-ü®ƒëápÜ7ÁÍp t„[á6¸î€Âpt‚»áøÜ áßкB7è= 'ô‚ûà~x„‡àaè À£ð<OÀ“ð< ÏÀ³ð<ÿ ¼/ÁËð ¼ ¯ÁëÐÞ€~ÐÀ@ƒa …að& ‡·àmxÞ…0Þƒ÷ÁùÖõá#ø>ÿ§ð|ÿƒQðŒ†/a Œ…¯`| ãa|ßÂD˜“a |ßÃð#L…i0fÀO0fÁløæÀ/0æA2̇°ÁbH%°–A*¤ÁrH‡„ È„,X « r ò`5¬µPE°ÖC1”@)”A9TÀ¨„P› j`3„ ¶@ãùM )ìÍ 9ì -`ØZÂ~°?ü€á 8ß¡p´‚Ãá8~¿‡ÿƒ?ÀQðG8þÇÀŸáX8އàD8 N†¿À)p*üNƒÓá 8΂³á8΃óá¸.‚‹áh m -\ í =\—Öxþ.þVÜGZyüçÁ’v88ÿ•DZnn"¸’ Â!ÜŽ½¡ÂÓ*Éü_5?pÛJOÜäï)‚óXÄÓÛuƒ§ÎeVq*pÆôÀ•NþoX!e<úQêVîI7vYïøt*–ºcÕ¯ùGmç:¯ybä_+,çN â…x ÄË!ÔqU¼úó§ÑòŸ5ÿ:çFÚ׺¯H×ú2Ój«xuøNþ/NnrYxþ ‹<ëGáîB¯Ñ¼àÍkþÆ\«_!•ç_[nò÷}|Ù¡Ïeì÷dpŸ'‚-žîÿTÆožÎ8ø™à¾O¬hñøŠÀCË›?¶"ððòÀSkÿ^åž“ð+j÷ù?}v uŠüG.Hy‹÷- ôZÜô¡”fR^èµÐ9Þ¿°ÍðÕî Û´±¶û©TŸgï< ›ÿ+3&§¤O^²brÊ çè(Ýi¡š’þíÂå§OX¸|TJî¹ý–®có¿]:òûÀ¹ó¦8¯BoȦÅýqMª»ç㜰üX[W·¶¼ƒ¿@·ôžÏˆ½·Á•¯ô¿gµr|A˜O‡ñ›ëê6xÌ)×3ïv/©xjÔ÷}ˆ#ÿç¤Úd8ùçæ#ó_í*,ấ¶®Îy¿µóG+›\?7pk¾TÇ5&°ñu#o™ØÌÈÕ´çú´Z-.HÈñÈ놵¸Z$YÎë”äôn€%ÍnѪOËV_M#Rö¬+[Éõ°ßxcšù¿~µ‘ÿ—Pý××÷‚M¯ŸßôŸëœßÂâ!x¢b•“œÿ±q•‡üGZõiÑÞ©6û+Km°ü‡å*²ñsç-\žç^ü…êé­dÞÕæï.kz]2ù÷‚ŽE&T»· )Íž¨”7ŸÓçn)‘+žìŸ‹ö•_¹ÏÜ'ÓiöZ00¼Â)<7¥Ù-n¢òæ_qa0 #K»zÏü o N¢žpŨºŠGŽužþW¾¿ÎYÃuo¶¸Ö˜÷–µæ]¢åéK.™À+Nÿ¼e«wFfSÉzäÚ¢Àðj'Q¯½‰ÿ£Ó)®[õþW-.‹xÿµNcîbê¦õÑhæŸw¬‹?ÿ½Þ^Ôäº9M;•n/wÔ±ØÑUî-hÔ_q+pn>—³B7?lvT‡ ´oy]ŸfnÙà¬|:›R…þίžU9¤ý{×SEèX¬ã¯4îÿ-[ 'ɲñãwZ¶Å#èäú§Ë›·™˜ËÉÒ÷ø˜Kj¦–ÑÒí’—Ðu£Y@kÞ£bîc1íÉá-.œï-F(,rÇâ¨{¼âË(£Rg8ù¿ÉÌÿf÷þ¿•ü?øfrî?woLêT¸Í•ó@lpoAéÓòÄÍç‹f¢Qnö‹GÖ…?cao§=}Ú캕c¦\ù~IÝÌY#W›”ž®ùoqI¶×øöf79}Dc‡ojeþ¯÷æmvûF™¥ã~ [’ìr—a¿b\­ÖY€ÛXîd¯ƒ±©°Èåî^V>ʵq½êþÕ£³£4:ù¿p•›ÿBçrW¹›‘­&…:§É É¿‚P`ÄF7HùÈ[û´<;Åié´qD¾Øìè·¸WWó n›å¨»û´èZ¶Ê­L{^Fð‚?_#óß&טÑë4^åTÝ)Hà[-nöæmÖ©ZeiZ3ÿ’dùwçò _í]&Sßx«e++Íõ¸»óEVØãèfºwúWW~¾)²1pLª›ÿÂÀõE$_å_XûDˆeµÿ¥ÉÍ št®FI÷:"¬«Ír=­Þnq³h©Q›Óìù“Ûé?8]χVæ‡:DÕ{ðïÓâ*ÖCdþ×íîØºôGÜF•@âóŠ58YšÑ,lIb¸“ÿe¾áÃëÕ'ÞkÝðÅ„­\FvéÞ„G³7Ú&®·–wE6Êü_µÖ¹ùÜUÎcwX›A_øúÁ¼î/2õZ˜9÷ñ&Sštß’Ô½:×"ñ@ô^줨å 3š‰Çå^c³TßÒŸ;oñÔŒÊQÜCĨÀ{µu?ÕÒõO2èãäß´•“jÜ)r§ùšÝÞæŸ÷½*ÙɃî[’Êÿ9ËÕa’ÊÿSasmÑÇ·¹¤{UþÕF’|{¬›Úïí–\T·Eitï?9«Šœß#nþ›tZ×´ÓÚ¦ÿÊGÍï-hÞ¥°y·"G]V7ï¶ÆQ—ÕÍþ½F¨é}[šÞW—Ôs â0Õìü>-./ÒÕ@÷¢'òërl3Q½a¬úúN‹»ü£nPCnÛòüô°°Nû]3[´òݾÄDîéf»ˆsÞg63ºÄX=]³ËßÃGL\.bÊdMÿÑ\­±;w¸ÓhTs9+¼!zcàÈ…:ÿ$ŸÛ87“¦]kšöØÜüþš½ï¯mþ üTW|æ«%Ú½2ïó¹¼ÝT¾s.Ôiœ%ðJÝJñ‰vIl³Âò/'ÿ]kš÷ ‘GÕFæ¿þ‡`Q‡±%ÞígQzK.ò Ò0¾™^8é§€x4ï^þ(<$Ÿ±’Ÿð‹¶ÁŽȻ§5èů®ÿU:ÿâÈ?©9O„ òQêâî)PúQˆ*áàHû­âWàˆ…{Ÿµâ°îÅ-nÊ\W°Üj'Ëæßæ¿1Ëæ÷Ëò‹mÛ¾¸pG¬gÇEÞUU_þɆ￙ºgœÈÏöd)<æE“#ò¯ãÿú‰¸H‡n;à‡­?Љ~Ä·’ÿ¨kÛÎü×36¬÷WNä$ßóÿ¨G=A¢Ó¾ù¼>£^Æ¿6ÿæ“‹ÿÃÀ¶q\ÉžHx¬gÓ==T¨cé2"w¿'b/÷ŒScv7GO®†{ì¶ãþÃ~Ý¥þªË),¦Œ#7¸]÷Ÿ(Îî Õã2ö3½ÆÞœ$wÿH¬S®ŠQbUj¿ãº«ïèü×sýG>:Û–%³eåßwSr‹°)ÂÖ6ÊxŒâÝæÎÉÿ6< w\þë»ÿ4Hþu„†|¶ãþoÜ7¶'ÿFÞä/Pßï—_±Óè¿ÍÅÄŒ\Ïý'âªè! ñë#îßw;0ÿ¿7ãÌäëOç¶lü64æ×=þß¿*{ʼß)Ñn’2r½¿£Ý~Ýz¶+ÿ{†v™—š6ÿ» öüüïÚ²ù·ùoÌ"ÿûØüïùý§¶Öv”Ùë×¹þ¾˜F(››ÿÆ,››ÿÆ,››ÿƬxò°¶ã,¾ü'úŸ‰{¬Å™ÿ-žÕ†#:¢vFXm”’®ÇŠívÕÆš æÊL—ˆyc†S­>?Ù䞣ÚÊÎÃÇÅ™ÿZi¡s'ŽÎlé’6Ù’UîÚC 麢VN¥&Ÿ2dŽ iÔ"u]Ïéyy§ZÏÕÔsȯ5l#!½õPÈ$2–ãmBöÆ™ÿÐf×äI•CîÏf³/¤ !ÙfŽ ÷ÆË×ÅÅð“…ÌÌ)ü¡ô8_oȈæâo©¹ÍE‡Ô«ˆH!oz½æÞãÌMMµû£D¹ºZ•ÜrWuäšèsKÕªV-{ 'Ïä€j9BÎU-zdA÷K«©ñ&6WW{ÁªÍÉŒeT®jÞ,jEÕ5Þ6ŒXÕÕ^J"fPëÖé17ïÅ«©‰3ÿ›<«ªÚŪ6U‰Î*§ìT«6ÉSU•"ºdIŸ«Ââ¨FE…5Gë«6…Ç©òõêÙª 'Ó%læêÔ¼asÊ-zkõ–QånÔh1F›[W‹u‰3ÿ…UnÔVé+á&º*cxTnL{³}û7—›ÎþÐ1cú}+™"Ò½22š±ÜÊz®Ã† ŽZpCÅÜ£^k¥ÔÆä¿Åéé[Íÿi6¤kþ¶ý°T§Gô+*ÜçXáþÈÃ**dg·”Ü¿M›þÉNsAAr•,:ÜÎüämÚ HÖnnÁñíî üü±Ýmú¥½?íW5¿¯3,fØŒ)ÌeèJøÈÈHa[õt£š¾<Îü§†YšqJS5£3-5¼Ñ?V÷§žþ¢q ›$zä´ã"Ǥ©%ø¦?" oÊhóø\Ó¶!5Îü[ÛQGþ­vœlþmþ³lþžÿ½O_^þŸ9Ùj)Îü'ð/ôölÛ-òŸð»DœÚ†­íäüOž5?éíº­ 7sT»ÇäŸÜ¾¼]ò¥ãfZ»‡å?饢ú4¨j‡çÇ|)Ê6$d;óÿÕŒ%¿õM¤h•qyoUþü{ßX¨m»¾©žüoÇC³óóOªU;‰ ƒÄqùò`eeÝ‚ÁºY³‚«VÕ}ÿ}055öý§¡®Û=(ÿ¡ÐæÚZ)÷°kª6VÔŸmä?%%Hþù%Hþ§M ’ÿI“‚ñæ?ì H¯úì1V>eœo!‹ü PÇø¾2ñ•nþ/ø‚Óú¿4!ù¯ªªtµmܸ¡¬´huöŠrýG|©þªOç åTÁl/P_y‘ÓÞý#ÿQã×÷  ÉeeYØye0Eäôço‡Íë?=T/&'oÓõëëaM·X_A96öWFývAk_>™ü———–®[¿~íº¢5…¹¹«Hkr=×?×üæÍαººŽ›OiiݼyÁ5kê~ú)˜•U7eJpéÒø®ÿz¾J4Îü›Ï‹Xc£$$æ£üçe§g,_¸|É/i)?§.ž’}ÒghÚÄOš2ªžü“s®yŽÅÅΕŸŸïÜù³³ë¦NåŽTÇÍgñâ¸_ÿDÿâîhù÷ÝF<‡qê¶½/5¿t4üî´•¯Ýùù߆×ÿÜêµfÏv®üéÓƒ$_Üù¹ø¿þ:öõ¿mÚY_A¹óóÿkÄ’ðÕ«å‘{>¯yH>¯†¸ópç'ùÉÉ ýþCãÈ¿x…S¿Ù÷ßv\þwœ%<±»Eþã¹þvà`»Åõ_·­7®]ßv—ëÛ>8Øõmw¹þ·íƒƒ]ßuýïœ[9¢C‡+ÍÊT³%Á–¨ëç|pàšñ¬Ü…2/,Q×ÿÎùà@˜—õ©½‚®So'¸u_{ï©r¨(ì(Kàõ¿>86µ·H§<Ë<«Öºð'阱ƒŸ/ ¼þwÂÊDbÕÅ,²í]üœ.‘î©ä^øîðË?‘×ÿNøà@›“Ø©*™:ÿ×¶›o}“rŠ;8ý‰¼þwžñ ¨Ûw· „§wåˆÞô/ç&´£['ðúß y·7ÿÊßÀ®›zVÅg»Ñëÿmøà`×·Ýèß¿ÛðÁÁ®o»Ëû?öý7k;Âv—ë¿aî:¶Ç_ÿ»øËýïïöäëÿà ó¿kÚ.þÁAc¸þ·ñƒ×¢ü­A­1\ÿÛüÆ©“|ó³›ðnDc¸þÅ»¦uO^]×óâºmë}ã4Úî{#ô›IÞÓÃxgÕðtßåëÝÛç䳯sý; ÿö9'󯱾ë?ê‡enÂU½wðä'6Qóo¾¡ñì×ýÇm¿þ½dª«<ì]ë°rÀýÔ Êõ¯Ä(O¨@Ç"«êâauV ÔÉ­©¦Y%Tˬ¨À묩Žk¬©›V[%R7æZ%R ¿¬¬¬¯Š§ÖÕÕ­-ïø•4N¹ùÏžuå±›%~1P6ÿ‰U™Êÿäf7¬v²nÑùŸÒì–Ä¿ÞØÔâ² *ÿß7»¥8ÐÑj§ªå+eþû±Ùíå««–gg«üOkÖ©2ÉjçªåÙ¹*ÿ3šuªXí\µ¸­º÷bçƒøiÿ™ÑìÞê$««&Ý· fç÷Ù÷ð>-nØ"ªVVDM﫳J ~4r5íZc•@%üXc×5¹V TRûEV T¬¿9·²²²²²²²²²²²²²²²²²²²²²²²²²²²úµÚ¦ï²Ö`–ð ÀÊÊÊÊÊjOREņ²²u¥%«KŠ2¾˜F(››ÿƬ8ó°ÖpOþÆ$úß{ŽÅŸsÔÇj·ø¬6ìѵ3Âj£”t=Vl·«6Ö1WfºDÌ3œjõùÉ&÷uPŒÉãÏ¿+T[r¨UæÔ¨ŠÇè IGuTÞ¢?$+ªnÄ4ÆkŸI7åeÊ9&¤Q‹Ôuc!ØœÎ\©áÒkØFBzë¡/ˆð‰?ÿfª7+ ùNªr|.!]É6sL¸7^¾î(.†‡œ,dÎ`Ná¥ÇùzCþCìí™» ém‰¹ÍE‡Ô«ˆH!¹øóoF¨®®©©©®qNÕî’ÓV­Jn¹Æ«:r­ZŽ­ñ"ˆªßÉ39 ZŽs©Eˆ‚î—VSãMl®®ö‚U›“˨6\Õþ¼YÔŠªk¼m±ª«½”DÌ Ö­ÓþÍToVµÉ°*_M· §*§×•ëæžªªä*©j“w® ‹£EÖ­g¬Ú§Ê׫g«2œL—°=˜«Só†Í)·è­Õ[F•»Q£Å]þÍé*+7ú¬2Z±Òßn¢+<’×[é¯F„ŽÓïK (sTFF3–[YïÂuذÁQ •[ñ/"þü›q7H«ð*œ³#ÝîõhDgE…p¯ð…‘C*ü-†O…Ùäͪ&6C裚§ÂJŒª0FøV]eztE…Úo‘ƪŒTèyöæß°!þü›•——¹‚²²2çXîœѨOeâ\æk,wÆg5¦ÜZæE›%瓃ÕÈ2ÑX¦|•³ò•N¢KUÝ^íë­\ùª@jwåeÞRô’õ2¼À冫· ]ÑáÕâÏ¿™ê×JŸRç,p²Rê6ˆ£,”zî@òÒc"†:n®‰®£;u‰>”–ʲCÆ.UŒeéYÍ.å[*g0ê"bi©öE¹uÐ»× )1–«"É]”z+/‰?ÿf‹×¯__¼¾Ø9ù¬8¬é¡}¢ô„(6ê^ bóÑ#¬ê ï-Ö‡7GÄ*Žl+ŽQ6£G3öT¼>þü›‘‹\+,tŽ ÅI¶ë’ìw; eÉì3GËpª_̪Q)4#uÿZ Íø¦›´ ]Xèï(,”«.Ò§"o©ÆÐBék®Í˜Y7úêôÆŸ3dA¾óãËÏÅ|Yrn‹8»m¢] 3­ÀóÍ׃TDÕW` W¾²ì….ðf*P3¨`¾(åïÍ'ƒû¬7§Ö–/CªHz@¹Tch¾N[‰?ÿfª×Xk ‹?ÿ樼Ü<Çrórss剂hÌÓy^“ç-Fäºn5OúÉ’ ê5æÊa¹Ò]Ÿµ{žtÍ5"橞kžœ4×*£ç©¡a+Ñå–ÔìF|oDž7ƒ—9\.ßK‘Zlüù7S-,Ç#Ç-ÈÖœU—‡œl¯Û뜄k¤CN”rNŽž&ÇĘÌ™ãwó”#é6»sräÐsé9†oNÄT9QÚÄzõ6½æ¢âÏ¿™ê•+WfeÁJòd£SÒ}æQu#Â̾,ÏË?‡1M”ajzÿ¼Þ1K·(×,Y‹sma ŒZ­gU¾ÞøóoÆËÌÌp,“s¦{väTÝR¦[É.ÒÁõÌôÝöL5ÂuÏ”Ýs†¬{Ã3Œb¦Ñ¡ r‚ _H9“2µhá"=ôÄ™ªM¯0ÓœOòÖ$7”©—¤Öâ­KgK¦@…ˆ?ÿfªWƒ+´eÅýÿ…zn»nºÒ}¢Åmõ{®ÎA×=žCPÏôÍÁ²1(Üô)èM¼BGÊ(A=Æ[Žž3¨'ö/'è;#D@½K³ÙKÝŠøóo¦zy:?ÒtÁoÑ›Ó;ôtYIðð•™,==¬EŸÒ͵Èswdºá¾ðts jdz¬m«öÍiD ÉØrüù7#¥ KK ·4ã”ÞŸ¦ÝÒRþ4ÃÓ_ôOœæ+Ç m\ä˜4µß´ÑãGôMmŸ«ÞRüù7‡7à§ÿÖâ̬!V (û÷W6ÿY6ÿ»EþŸ9Ùª¡OþÆìì¿ÒÛs-þü'z¥»º¯_][[ó«üëlþÎD>ׇ­ Í]^=3¥jÚ¢ªT}7¿rÒ¼çV~3§jüÏ•cgmÈXSçÊœì:›ÿ†3‘’Ÿ]¸eÅš-K³C‹WÕ.Ê -ÖÎM¯³|ó¬ÔÐŒ%¡ïÔLþ¥Ï…i™u6ÿ g"ÿ\ù$ynhqV­Èü/ËC³–…f-q’ÿã¢Ð÷ók¦$oÀó‡y+êlþÎDþg.­Wþü`ˆÌ£9Ë6“öïÔ qýŸì\ÿãf,«³ùo8ùÿqÑ&çž“éÞsR7£kî~‰´O™š<3G$òÿùwKëlþÎDþù…Ë•?…¼øI¾ÉŸè>Häÿ“IKêlþÎDþy©CÚç.¯E:ùBß.Á”yÎýÿƒolþÒDþy©o;BÓ—l6‚oy Ìs®›ÿ†5‘ÿ s6òjG'œòŒe¡Œ‡à›ù5߸¯?ßÿ&¥Îæ¿áLäÜÏyÉK}'ù©¡Ÿ–Õ’ÿ)KC_/tŽãæÕŒŸSYgóßÐ&òÿåOyµÉCðÓ'óhú²Íäâ’ÐøÅ¡± 6™[3n޽þÞDþGϨä&Áô”Í?.!n>$ÿÛÅ›¹øÇ&oþò—êq³lþÞDþGM«˜8¯zò‚Íο³Ô|· zòBçwî×ó75¯šä™SõÕ¬ò:ûû·¡Mä?˜»iâì²I¿”Oþ¥Bˆ27|ôõœ ãfW|5³<=w#žc¦¥ÖÙü7œ‘ÿŸ–®ÓyÌÌÕöýç†5ò¹¾¬bÔ´ì¡ãÒ_ýlyŸO–<óÁÒgßOyúý%ˆ²Ð Ÿ¤ý*s]y•ÍÚýü%±õóýŒøÆüüeíÚÜ:›ÿ†³¨Ÿ¿è`Ägæç/³gÔÙü7œùÞÿYî¼4;µ9ÿv?|™²8d¾ÿc_ÿ7¬™ïÿˆ·àf¥:oDˆ·€œw!ø'ðÂ}ÿgYØûÏ<f/«E?-©¾d3š²(d¾ÿlóß°fóŸX³ùO¬Ùü'Ö&ÿÜü畬³ùÿuÖ0¯?mþ·Õlþk6ÿ‰5›ÿÄšÍbÍæ?±fóŸX³ùO¬Ùü'Ölþk6ÿ‰µ†ùüÅæ[Íæ?±¶3óèX´­*¶Ú~]<¬nÛÔz¸UèäV‰TÓ‡¬ªÎeV TàŽuÛª«PÇ5V‰ÔM«·Q7æZYíö²×ÿnš++++++«mW¡U"µÍïÿ'|å{†ýDc×íåV TR§ÊmSà6«†P§j«*é^«DªI÷-VVVMï«Û6%|åVVÛ¯¦]k¶MεV  mí²j]“k•@%µ_´m ´[hµý2ÿ4ÚÊÊÊÊÊÊÊÊÊÊÊÊÊÊÊÊÊÊÊÊÊÊÊÊÊÊÊj{”/˜²¦-ပ•••••••••ÕNSÀZB-Ñÿþkì¶EXí–0«QŽnµQJº+¶ÛUk‚Ú°sT—ˆyc†S­>?Ù䞣ÚÊÎ£Ž«^áWª …XAˆ£óãê(Mö‡dEÕ…»öУBºn†¨•S ïÈ)Cæ˜F-R×õœž—wªõ\ýG=‡lðZÃ6Ò[…|AB!c9Þ&¼Í•é©êÉðfa!GÎWW­n!$Û´Ãf³" ¡¯;Š‹á!' ™3˜SøC…Œ…úÖg¢¹øÛCjFcnsÑ!õã*"RÈÛ€^oÔ½GYBŒ W×ÔTW#%·\ãU¹&úÜRµªUËÃÉ39 ZŽ~nÉ*ÚU¿4åUSí \]í«6'3–Qm¸V« èYÔŠªk¼m±ªõšÈÔºuzÌÍ{ñ䪽ü¨Ô“áªMQ¬j“Û\UUå”jÕ&yªr7ÉvUÒ窰8ªQDQaÍÑzƪMáqª|½z¶*ÃÉt Ûƒ¹:5oØœr‹ÞZ½eT¹5ZŒÑæÖÕbÍÍûg©?Ã]«Ü¨¬ÒW‹0ÑUãÒ?´22t̘~_E™£22š±ÜÊz®Ã† ŽZ¨ŒØJä"Œé¼á•¾‘E†7¤mß~Xjņ :ŒÊD级S+ÜÙcXE…¿Åð©0›ôQ 0Çx“lÐóTøC‰QÆ#€3rztE…Úo‘ƪŒTèyöæ÷mÆ·fßÞ}{5’èï)+[Ê0tiy?ÛQ¤äVÅOy¹<••9*%ÓÊÄ}mj”[(SƒÕÈ2ÑX¦|•³ò•N¢KUÝ^í[æM%«*PY™7¹^A¹7s¹ÚO¹·åêíBWtx½‡2ñ¬Ü7‘¦ÖPf¬ÓK¦ÎpIIÉ’ÁíÚ N))-)™ÐË)ȺÛ!ÿ•æÖSœö%%¥¥N{¯ ¥Â£×„ÇJK½£S (̉붋ri‰>¸½¢ä¶•––(·YS*{JJ|]Ê·TÎ`ÔEÄÒRí%Š%2Žê(ÑñåBJŒåªHr¥ÞÊK¼]yJͽ{ôz;4•®_¿¾x\Ï@Ïqäyñ ¶m.R5Ç lg´,ض'&F8íÅëµ;åb³"Jæ9¢Õ nÅ‘½ÅšâðæˆXÅ‘mÅ1ÊfôÈaÆžb-»X­*"jqXÑð(*,**Û#ÐclÑüm9-жí€}oT8]c{ÐÁ±ûXz»-tEŽùNfըȒv,ôª…Fa¡nÑøL5¸¡ ý…˜œYT‡h¡ô5×f̬› } uzõb ½æðÝ{‘<'s#rxA~A~~þ˜îmúéߦûXªÉýÉ2Ç6ý“N¬ÀU~rÿ6ÝÆŒéæ´'“ú1c»wãŒp䒝Т5ß®0|e9_yy.n—ˆ¢‚éX†§çïÍ'ƒäþ¢Tà˜—/CªHz@¹Tch¾Šï¹‰@z&½j±¯c‹¾ExrÚÖÝK¼Ûh·<·_›6ýæºM²EÛÜ~ÝÚ¸ns‹Ö¶Ýòró\Õ%ÐuTžSËÓ·uë¾sh£ o?´äæææê*JÎQ̃òrsEÑ©¸äºmâäÖÅY»çIW·œ«ãˆž«X ;\ •ÑóÔP=iž1lÉóf7â{#ò¼ÄT¯\¼\ˆŠd,Ö[ˆ·79£I.Λ&Ïðs,[ZNvNŽseÑ K†ÉºttȉRÎÉÉÑã|AŒÉÌ‘9~7oA9b‘^`³;'GÍ1—žcøæDL•¥M¬WoÓ ±(ßåôÆzÂ&•á•+Wfe­tŽü¬tK¾£êÖ–Þ`öey^æ£3ÚØ,5½^[”k–¬E„‹¹¶°F­Ö³ªh[Ê kÈ’!}qTcŒ gd:&ȱL· :22½F·=SpÝEƒ¨¹ƒ2¤›ža3qÎPsË 2|!åLÊäXé"=ôÄ™ªM¯0ÓœOòÖ$7”©—¤Öâ­+C¯$ÃË ›‘i:ª²îPTû‘á c+¤Q º¨º+Ý'ZÜÖ l3]ƒ®{<‡à ÕôÍÁ²1(Üô)èM¼BGÊ(A=Æ[Žž3¨'ö/'è;#D@½K³y…á+{Ä"äRŨäè$ÅÎðrŸ¥/féf_zº¬¤GxøÊéx¦‡µèSºûãbÎâŽL7¼Ò}®j~_gX̰-S˜ËЕ𑑑¶,êéFÕßc)áÍ©XZjª>¥©š²4¥è––jô§žþ¢q ›$zä´ã"Ǥ©%ø¦?" oÊhóø\Ó¶!Ú”‘ûƒî¼Oú­E³„ÿŒ••••UBôÜÈÉV TÂþðΚµ]Ã&ÏšŸôvÝV…[¢Wºg¹};y+ºäKÇÍÚŽ0y…¿TTŸUíºù_9¢C‡+Å1ÑkÙ#±½{üñwŸyæƒçŸÿø…>}ñÅQ/¿ü嫯~կߤѣS¦LIýöÛÔ(ù÷mÙ­Lý•IKÚ¶åp÷ÏŸ>Ÿ½òÊo¼ñÕÀúöÿñÇsGŽœ5dȴٳׯZU Ö¥¦F½ÿ{ÞžÔŪþª »sþI~ß¾c øzðào?ûlþ/¿OºfĈ_V­Ú\oþ„Míít‚|‡É­ûÚ{O•C{O‘o´1|DoÙ$Æ›N3ÿѦvÇÊq»š‘Ø×_ӯ߸!C&0eÞ¼ÒI“²ÇËHNÎ_¶,¿  nÍšºœœ¿§öÛ’g™ÕZÞâ$#DÒÂÞ »†Å8×MF¤E4/ÿS›cwI#±\üÜy š8zô’É“sÇŽÍøì³Ô™3³“†$% JJê—3ÿ^‚Ü-[6ÌéÏ©½Ýk^ˆuÿ‰um×E»Û˜-‘Sïò÷%Û¯wž‰/½4æ‡ÖŒ“žœ¼vΜœéÓ³’ðÂ箤ג²³ë®™}¸“Ø©2ýõÜŠÝ|ë›”S4ž/†“Ì¡ÿ×ʯÊØÔ»Gþ¿2dJ¿~“¿ürùÇ/þùçqÙ'õMêWq{RŸ¤¤ÿ$%=›}üTãÞêÝ"žò+Gôî ¯nç&äû½Pg ÷ÿV~ý«ÛP„OÄÔ»Cþû÷ÿvøð}ûNúä“Eo¾9cñâ’Ï•Oò_^wãÓÙW<‘uyÒ1òånq‘n*ºãþ3Uýªå·Eô«½Îs ÷©çÞµKù4臙3  øö•Wƽ ¨hKÒ+II/9—=ÉOz*)éѤ¤cåßÚvùÿá‡Õ«W× åæÖñš§°°.?¿Ž{Îã™—%=œÄKÐX÷kÛi±Þ»ëÇ:qÙ'Ý—DòíûoÖþ|—}»ÍšµnÛsýWVVfçä¹Êå¸~}q.ÌÚVíºžßøôô³:ó§ÛÆuפÃ.Ü0qí+ù]þ•=Ïõ_VVž·z—=“'M?íï¾0~õ¯,ýýséG \ßò¼ˆPâŸHÆ?SKÅÊ•ù«F“ÿxì̛߻úÑïO¹güQ·~}Ô“.ºqh0˜yÃuÏŸ|éwY|Ä‹9-_-j>¢®ùYo…t2#þÕª«bæªQæ?žëÿ¢;?~ltΙ}–ù\ðˆ!%'µ{ç¾ÞŸ­»÷‘Ç]ñÅ!|pàÙïpî‡'œùJøHÿgeÎû#b¼{oÖÝG,ö§Æ{ þ·>ÂCî)væ ïýããÂÃúäìóúºæï×µ:õÅ{îê×Hó½úúß½¯ O)Ö§êƒhŸ xƒvåÏ|&®ÿú]óæ.uàùíwÎûÿßëoì{ß}srò¶Ýÿ>›÷Ft´¢ß¢¾ ön¿ñŽè®ý LƒÙ¤IÓßygTNnÞÔsµ–,ø–ûÈ#ëù w{ó/l7{¶íõUUUÇŽÏ_Ùeä¥L9£ó·'Ý9þøNßtÁ›á~1?%‰þÁA‡°'B4ãþþ¹@ïíúÝ̆žpêµï==6þtÚaÖí{N´×Ÿ±>¥ŠòÁ¼vÍWLÑüÕãö¹€÷aÂîôëw›ÿýûóÏsO¹¬ß]cJ%¯eßâ½FÖ5?Û¾•´Síé?½ðºwOk?ä´¶Nk7ðŠk^KôŠv?³ïZkÌf¯ÿÝÂ|1÷ÍÙÕCgTþ±là”õý¿-xãëÕ¯É~uTæËŸ¦¿øÑ²'ž{?ÑkÜ--žëИËòkë÷Y°¢Ø>;ȸò9Nʨ›¶ªî缺këR‹êV¬¯Ë,®Ë.•ª®®~îÍ_vì:öÄWÅsýsÛá˜ôlî¼Õu)NòÉüêòºü uë6J‘ÿg‡Ìù«Þÿߪí‰ùǸçsLz&'éé줧Vqµ¿õÖ[Ç6lØÐ¡C«6×¡ššš§Ìù«Þÿߪí‰ùçúç.G’Ï•Oò¹ìuò‡ "|B¡Ð“} ÿûÿ+#þò?ú»p<š¾÷Œ·1vÿ `ŒW;¹ò¹íüÒ*炳-[¶<þÊ”ðÖøßÿ|Ï?jþÃÞs3çŠü/v‹çý^jrLz"+éñLGe$=¤eРA0`@¿~ý¨>úbÄ_.Æÿþüy®[ô›¥»Ã_á:[%P­‡×Y%P'´J¤š>d•Pu.³J wX%R×X%R7æZYYY%F7­¶²²²²²²Úé*´²j¼Jô]·—[%R·UZ%Rª­¨¤{­©&Ý·XYYYY5B:×Z%RBV‰Ô5¹V‰T»…V TÂÿpVVVVVVVVVVVVVVVVVVVVVVVVVVV{ŒýýOÝ~XYYYYYiUTl(+[WZ²º¤(#á‹i„²ù·ùoÌj<ùì2Oþ½Æ†·DÿûOZ îü'z¥ l[\«Ý²5«RÒõˆáµFWm¬ jsüù Æbw­ÅœÕí ÕzrjC²¢êµ!£Ñ=‡B†‡Ï¤›r…Ì!!,äsw‰?ÿzhHÍ æ ŸG¿5½H]×srÞ¼a!ç¤Ð +„B¾î(.†GH4…ÌÌ)ÌPñç?Êà˜$|%»ÈÖTwx¯SS]ãȵjçÇ­TW«Zµì1œ<“ªåáç–Ü¡¢]õKS^5Õfàøó/gUC««ÕÕzÁ^uWØšôSë1&s*U›6¹ªâ(NUUnY¶«’>«ò&ÓGGÝUUæhåYUµ)<Žn‰?ÿfHÿZ¼‰Dç.²51³m^øáV)Ž•²·Ò_Õ#ü¥(1ý¾2çˆ?ÿ‘Sù絆„mÍs æ7l¨ØàRáœÝc…û#ZM«¨ð·>f“>Šæo’ zwþøó¿!lªŠ ©CÛë—Ó퇥‹Øî­¥óBM[3¦«ÐóëZYyY9&NeeŽÊEÉ4·»Ì;‹65Ê-”©Ájd™h,S¾ÊYùJ'ÑþÝár!ØR’ß~èR¹‹¥Cî£,&)o€­½ÝÐ¥bkßÜhçÿµ[SU·WûªU”””–¸8'¥¥§¢zÜZ‰Ñ¨]]\G§ìÆ*ÕÒÕm“±KUoòøó/f’CKÆ÷ ´œb,“cÊàvíî…o¯ñ4P•p¯ t/qz—ˆ®gŠsìÕK;7¶–¢œeOèEç/øb,ñ‚—þf(w¤çã,µÔ·¼”õÊŠ}§03Z‹‹zqq¸G±Ï=²5vñúøóï»h`»¶ù¦.¦±m Ðsœh×S• jë”èÕCœò EŽ¿ÛÄXÏÝÝšë¼XMåx-VÁ‹Uðñ2’ PÑE¨bNj-jºvî(‘’¢¢¢"qô¬P4¹]…ªÅ<™U£RhF(2ê2š1\Çwˆ?ÿ¾ÅÍжí€N•’{‰Q]à4Îw')TeÇ(zŒu[ˆ©Åð:6¶GÀ­ˆêUF-º_–ݵ˜ÁåêÜPcŽõ«×ìn<¿ ßµ‚|UÊW ¢$ ²=_õƯ,{¡ ¼™ Ô n°øó_à˜Ž=¶[ Mÿd»  y@[jÉÚ´uÛpKîߦ̀d1?å@·1éËw<8þŽˆ8¦IKV[“í9Õ³Ó+'wBºMîï,@nmL÷@òïú¹u¦ëŸ¬B®Ù5,þü‡ œÛ¯M M¿¹ºBYeÿèn@·ÑÊ“’<cMܽ±*`Ø|õåùD™——›—›+ç”ç8å©’t3så°\é®ÏÚ=OºæóT ÏÕ!þü‹…æÉyåÎéÛZ?½[÷ãÔSžt󺻎r¢Zwéêxšãñ1·&C[-zkÞØ.÷-Åiq¶>µ<‘•œl¿ÉzNN¶øÉΉÚï+ç¸ÞF“®äøjÞ¸œ°–ìøó/†åxQDÀßlÑVsk³^kÝúµY ²µY¯‹Pf¬oRcQê¼ËÊZiZVxƒÙ—åy™#ŒÎhc³Dذ¡YÞ1þü‡G•sfùÂySıµ™¯^rÉ«3dk3_qCùV‘¥ý”k–¬9õÌ ~23\sK”3]s›¥T-3CÖ3ÜR¦jÅL£Cœ3d¤L9A†/¤œ ‹?ÿj¹ ^®UîB-h—ØšœQŒ.ÒÃiX±"¸BZÐ-¢Â)¨úe¯Óà¶éÏ!¸Bµ»øÆI‡ jsã¨S0þü¯0¦Ë[4Ö¦æØ¶æM¼BGÊ(Áàr×ÒãòôtY‘u³Ïç‡gzX‹>¥»?þ!æ,îÈtíþÃÖc‰á­ Üš1W×KHMMMSŠni©Fšáé/'·”æ =¬7.þüG£Ã¥Et&|ká¾i>ÏÀ.cqæ3sw»ŽÏßÿìš²ù·ùoÌj<ùnää]D;#ÿ)©m»¦.Ü~Ÿ†SÂþðÎo •ÿ­¤Îæ?†Ùü'ÖvPþ~˜¸|™«Ô)2·=º-"á> ͱ;òáHtâ¥mCþ-š¶hÑT­­\ÿSR/¥¹©–iwÒë8§õ¸ÆI·jï?k^¼xZJÊŒ­ßŒ«Ýwm‡å?ò!óZvø£èÄKûUùçÎk;áùWUy· káŽäf¸Ç”ˆü§¤öø0M<»ªÑæ_æjÌü›wçÖ-«m_Òwõeá¿U£ß£Ä•„ÍÿÖó¿Û)щ—fóŸX³ùO¬Ùü'Ölþk6ÿ‰5›ÿÄšÍbÍæ?±fóŸXÛóòç§®‰N¼´=2ÿ‰Nê¯0›ÿÄšÍbÍæ?±žÿ nþ‹óJÖÙüï Û…òŸübÛ¶/nåâð±ù¥­¤Îæßæ§[ó¿pÀEê?†¸h`²Èí==Ú-"áá>n§]ùØüoçõ?öž@÷Ì”:ãüQÀ=ãÌ+ßæ¿óï]Û€™[ÙuÏ8ÓÁ1·ÅÞ$ÿævm›ù|Èlþ*ÿª*ï6a-Ü‘œûO ÇØhù·÷ŸmÈ¿y')X>®»º÷t¿G^ÿæí¨þ{”Íÿ®*››ÿøÍæ?±fóŸX³ùO¬í‘ùß?ÿÝýó§xi6ÿ‰µF›ÿ@Çâ­èÖ|«§ÖÃëê×Åìv Nh•H5}h+Jê¹ÅjÇ©iç2«*pGU"ÕqU"ucîVtC¶Õ”Í¿ÍcÖM«­¬¬bêz«©„?¾VV‰T¡•UãÕV?±Ú¡º½|+êXaµu[¥U"Õ©Ú*Jºw+ t Yí85é¾¥~:×Zí8m5ÿVVVV;H ¿6vmýwtâ_¤íɺ&w+º|•ÕT»…õ+ÉjG*á€meeeeeeeeeeeeeeeeeeeeeeeeeeµÇ(Ñ_|ÕØ-ပ•••••••••ÕNSÀZB-Ñÿþkì¶Å±Ú-ÞI–ì6ÒO6¹ç¨ƒ¢GòuG¸ÔF¯Öë·•y|á¾µ±c»]1Sse¦Kļ‘áÈ_¨Ö5y’ÅѦBúàoUí!Ý`Žð‚£[ V3zA¼ùÔ´î@Õ yáõšC¾u+caµÆ¨®û¶-§òçŸ2dŽ iB:-Þ’Ca^12¼ mö,ä;ùÚCîIDis(dºÈW‘œVÕ2Bºõ­,!¤¢û\t€Ph³Z^dœ³Ds1œ¦ââˆ^U¦«8¼MW‹Å1"jqX1ÒCûDé Pì_Møú|î±–;¼·XSÞ«x}á‚mÛXPTTäæÏàÿmw[4¶», +,tŠ…˜[Sn¡Ð«O=Jöª…^³W3BšN:L‘.b…õùÖQènÎ!«F¥ÐŒPä[¸¹–B3¾éæ-Cú;ܬê-$÷oÛ¶rA~Aò€68¶œ_¯L” Ô£à”QêsJJªÍ7TV dëVP K:ªèð^¿T „Mä-X”¾ùzЍú Ìuz‹S¾²ì….ðf*P3¨`¾(=_™0ÇÖÌí×&Ðmôš5N¡M¿¹kFw ˆº²¹ýºÑ¼Æó°Ö€–››7ª«se·îÚ¥uë¾sòróæôm­o?N˨.F-7¹yÎQ˜{vÚœÕëÔ\“ýÒEø©Šë”—+Ûr¥§)777Ï7Mžá—gx‹¹ÞRò¤Ÿ,© ^£šZÏ®W¡Ü󤫱h±ŠÜ<ÓUí?×*£«l䆭DtGfçdggç¸÷GT«[­²¬ ‘mÎ=HÖ†ŸWÉÉÉ‘Ó{í9a“ºE=aŽšÞЋ!]#r¢”srÂö¡+9¾š¹ïðM{“æø7âí(V†Wš–µ²>Ëʪ·QË2Ú²"<³Â²dH_Õ(ƒeE±Œ¬˜»ðz"—£§‰2Ì·ÿÙ”å¹fÉZD¸ˆ†ŒÌÌŒŒLç'3S”µÑ(ªÂÅ-fˆV·ž!´¦j¡Dƒ; #à áÖ3MGUÖ²-#CGëT¼•ezb¡™^Ø Ù &‘uox†Q4w¬ 7)'7B™2²•¡“¥’T†W8tÀtÅ=»­²o…ÑôŒŽ·àÆ3šW¾²'T­F@ot0hÆ ºíº!hNÔ1VhºŠ)äð Kzn{Ð 4«ý 7} z¯Ðу2Š‘Ô¨^ž¾Ü±t÷'†¥§ £Å¬GŽŒŒ”Ö˜î–Öc)Ñ›ÓÍ>½Öð冕™,==¬EŸÂ²al?Ý›$Ýð _xº¹„z3œ–ššêàZš(ëºQÒe³É茓æwMÛJ„hSFNœÞŸfFŽM÷§¥™«3‹þ‰Óbd lIQÆEŽIóg4"Ã;äC}kq[ÂÿÆÊÊÊÊÊÊÊÊÊÊj§iÑ¢©V TÂ/+++++++++++++++++++«¤çFN¶J ÷ÍÖ¬Y³fÍš5kÖ¬Y³fÍš5kÖ¬Y³fÍš5kÖ¬YÛÓ,á€6r%ü¬¬¬­·æ[%P«³J Nh•H%õÜb•@5í\f•@î(°J¤:®±J¤nȶ²²²JŒnZmeÕxu½UB•ð ÀÊ*‘*´²j¼êXl•PUX%R·UZ%Rª­ªU"Õ¹Ö*jÒ}‹•••UB”ð`cWâ_€5n]¾Ê*Jj·Ð*Jø`[YYYYYYYYYYYYYYYYYYYYYYYYYYí1Jô÷ÿ5vKø`eeeeeeeeeeµÓ°–PKô¿ÿ»mQVkÅ©V6¹çÚ-Q,j£¿;Â¥6zµ^¿­Ìãó÷­Ûíª5AÌ•™.óÆ #áZÇı6Ò«jésD­"|Œn5XôšA¼ùÔ´î@Õ yáku°Ú9YmÄÂjQ!]7CÔÊ©¼Åù§ ™cBšN‹·äP˜W­¹5ßJëÉðfm!W ¢´92]ä«Í!=Pw+ïÐÿ³÷%€mçþRûÚ×¾¶ïõ•¶ÿö•–ò€Þ¯åèM8\ ¤å(W8^9SŽscH $ 'Jú‘”†’89ùO'¾â+ò)_’-Û’eY‘-gÿ³;³³³‡ä•´Öèø~þywv®oö·£ÙÕ·«Ù0S¥´ÍT£+(g ³u©*‡‡åæéë‰`Å( “#Ìî%Ób£Ö12¨RÃêEäÝc÷F¥ðÐÐP(’Cx)®Å I …ðFhˆ‰¢¹Cx!m᜴RZß^S#¤:R0b«R6k´ir ¤fU&¤@H6=$· Ñ“ÖCCŠa¦b²[!•*Cêf„˜¬òþ)V"(<€A¼–”â‚Ê–˜.oE°1Léà 9ˆãØÿÌZ.g€ Ü¤ lW Z‘ÛÄšaZ¬©GŽ”Û/Û jÛÁ´„ÖT¥ªvŠ©W­ß³è 2 $ , )ë !$W@)¦èòêƒu‚Aý5)©õ¦®êˆuªóŠRè³ôµ1Í Dm8­V]xÀ?€ .ü~ò?@á7q.eé§1dMJÉk¹SD]-›i[õûµYüÊ¿R‘ŸWUJÛ¢ª‚i½fËO °eT­õÓ†©Ìù©}½Q¿´ÃÚVDU¸¿ß'Ò‡–RÈG4‡p’O \Jªƒö1}liZTÊ/múdÓ4«œOþ£i>ÚN¥¹ýÚ2´E´±çSv­_®Œ÷áMRÎKw‹§Ò¼JË©¤"y°×ÛçíëózÅ…øç¥[迯$zûHrŸ’2Kk/†R. $ËyI}²Rµ!›ê룦ûØl^RT¶Er1 Õ•›Æ4Ùë•›è¥HV¹Urþ>¥}rIZ5ÛZ¦%^vÛKĤ¹")܃ÐÛà7B˜‰êí˜%õjãèf/^êjíÕõ9hƒM½êÖhÛ§Ê©©šºµ©½ôßH¹^]Þh wwwu“9Ð7ºÄ¥)»i KÙ ÅäR$½K.Ð¥D+[L•]Ý]l&ZM7-ŽëÒ¤©ÚÑ¥®œµA6™.¶†nUÃÙ¶t±õ³ÙÔ¥eÍºÔ ’j]Ì.ESØår¹]"Ü"¤•¸Àkœ&źå8—Ë¥uÉ5¸”l¸"RP.D¶‰-TÒq!¹n!rÉ4¯‹’k”ÓÜl;•ÆÉyIX©Ú­XrËäÊܪÈY¨2Ôž›ŒÉAáW´µ¶¶¡ÿÖ6ñO¤Àaq£­ GJqRV’*nI é$ Î'oH™pí¸(©ÖÔÚÚÚ¦2ÓÆäkcr·ÊÍ”›ÒFò‘\©)›¦Öi+äìm$+Óhª“UÞÿV¥(©]V£UÓZ°UÖ%²Â-œ"4,ôq(ètÒ¼ 9˜|ʆӉË8™x§Æ¨¤²yu…J$«>ƒÓ ìtjöƒn8U[ì~kwZ1êTGΖ¥QN¥ Íb¨p‹ÆÆ¨›º­F&®Q—³QÑHªTÕ#G’Ê Êëš¡‰0l±¾9ÔŒA1Õ¾¨×l¡F%k#ÙÒU±mš’Íúú„ú´–B(PÿÅízAPÿI’"eÅ«¶ØŒr˜&Ô“¸úzZ³´A+ª§-kP"qC”jëI„l„l+Åë™`“@@w’gª¤û-[Äe¨X²H$²iˆ¦Ld…;Ðßñãq!®ñRµ¢ÑRÀA ˆÉlôq&/Iq8dâX¦B¥´ÃÁÖãâi„ƒ5í[â`ZÈfÅ&Hq‡z—h¥x‡R±ƒ-,ï?ÎFWÅðqZ»ƒÔâ e”æP›j8‚µêê¤e­‚:v»N•¤ÍJcêtÛu̦:B_A”è:6¶UÛ\M««ÓÄÐUzŸ˜Ý¯SŒÔ1¹´ ¯c› —Ôë¤Xˆ pMµ‚ÕJƒšm>´Ve­¥mqcÃ5Úô¶fãÚhzM Û:6¨6\S­ßƒ&”Ó—©‘› 2k\¿^Þ÷ÿ³Ü€@ IcYY1#¹w @ @ #Îxw3#¹Mü2Üo€f9¹?³–¶[\"oîfØ«Þì¶]‹Ù..¯è”íRmJ1W´ÚÆ·‰Dq³SŒße»¨âÕ¢†¦’Uoæþõöï¼ó¯¸à-󢿩ˆb~?_µŒÄs^ÓòŒÙ"O™&|þ0²h;gßÌg?¨î »wÿ4_@üáë„ì&.…ˆÂ§¿ª"Šd7ÿk¦ŠÈæ¿><‚h»Ùo;¿Â{R4gà$âgÐÒöø  %¥}ÊÐgî }vòÀgïñÙï Øîè·ý¯´üK?Ú$1wöÞê—(fb9 (ñ†VÛ%•¶ êƒí;P=Æü«Gä]Ýö»º>s›Ñö¿¶›;DNl'Dõ`^ß"òšfDûUõ¶?!ÖÚ.¯‰ÈÖoÛ¾õɽ·ÿÙv«›Õ¦!®YW›\¡\-%®UŽˆÙ%„ÈÖ¹;E~ãÒ`ÚN¶Ù×8?w]ó½ó;Û=ñ^ðÜûrÓçΗ ³O4ô“¶¬Íá–SRq®q¢}A¶†Zê»ç>î~æÎÎG'vL¹ªýÞ mwý¡í¯—¶Ýq!bë­ç#:o»ûõ'º^~¨ë…Éî÷ºŸäzú×Ó·»ž¸¥ó±;º¦}òÛyâ¹eãÏØpÅÙí]Cdï~v@kŽ˜`Ùl»B4çžqwÅß|+ÿÞûùÓºç>Ö5ûA÷ “]ÓïAÝÏÜåšz›+ï–Ž‡¯kŸreÛ_/i¹å7úÑÇç}•Í!"sß?@ÌჅF ÖÖU­"%s®¼›‘¡¾%¯÷¼5£{Σ]/Nq?w·ë©Û;¿¥óá:¼¶}òí“ÿ$Ê{çE­·þ¾ùÆ_V\ù“•¿þ–hî×"±9tìL˜ë|ø:Ïü§=o>‹lKv‰1ÝÒùàõ퓯j»{|Û9­ù}ë-¿Eñþ-«œÏiºþìÊ«¶ê÷ß56‡@Jlˆ1‡ºG÷ËuÏyííx’­ËÛî¸ÙrÞøKï¼îš®ûyåUFæ4bF0×~Ïxt¤D §ßãšz;­¹í®KÚn» õæ_+¶®þ¡óšŸ4_û³Ê«~²êw§Šæ~[+šûq™VLjT±¥˜sM»Ó…ú!Zæý¥ó¡hýèH)¶®:ÓyÅ;¯:«ùš»òÇ«÷bîWµjs] é>¢3ˆdT¬ó¶q¨ã‰ÝïÉÛÐQëxøúöÜ«5ê¶kØöç3Z¯ü~ëUÿÝò糪þtVÁo¾­˜Ã;ˆ>éZsÝj¶‹ænùMçƒ×º»É…ºâ£7u…²EQ¥Îm¿ÿŠÎGnè|ôF×#QGíxà*ÍÞuNüAçu§w\}jÇU§¶^yjõøSל÷5ÑÜùNÛùÍ¢¹3ªÅ½ÍùµTŒzQ‘–?ÿ}¦:r¯F†:¾¾ã¡k+÷\€'>× §»®ùNçUßjûÓ·jþð͵çü‡h.Çe»¸E´øózÑÜ7ˆç/ £¨HógµÞ~Aû}:¸ºãÁk[“ÿÐyÏ8×$¥gº¯ù¶ëÊo¶]~JíE_-üŸ#æÑ>Rsw†DÞÊ8€Š4]ö=çÍ¿n›ô‡öûþHkî˜|Yç}9wŸïšô«®ÛÿG±ø§ÿì¸ô+5ç©ð§ŸÍ]Þ'^±`‹â ™ K”ŒÒ¶{Ë T¤ñâoµ\ûsÔç‘ÅÀÎõ¢­{.é¸'§ãî :'ýÖuç¹î[ÒuË™(>¸i‰{¿·_üÅš_nÍ?CÌ!"s¿í?ìÈÜ=#Z’„‘ET¤aÜבž-7œÓú—ßµÝ~AÛ´Ý~~ûí¿k¿ý7·Ûù—Ÿ¹n:Ë}ÃiHI´k®K¿ÔvÁçªÏûLÁ좹+ýd‘9tjøÆ‚ÏL9I©7ŠŠÔþæß—œÚpå¯ûEÓÄóšoúeóÄsšo<§åÆŸ;'þ¤íú³Ú®9­ýÊo·O8¥ý’¯´]ø¯Í¿ýLù/lŸa#æ°EdN“5§·ØÞ3rä?*ùí)%~§ôÒÓK/?«ôò”Ž?³ìò3ÊÇŸ^qÙ÷ª.ûNÕ¾Y}ñ)Uü{õï¾Xõ«)?Û¾ë'¶OÆ&š»v@emIæî]è­.[é–ýô++ÏþÏOÎùÚŠs¿¾â쯭<÷”Uçž²úœ¯žý•µ?ÿ·uÿó…Ÿ|¾ðGŸ]÷Cûê3m+ÇÖu¬ôÞ7}zsFG-D;ÌçnÞû¶_ˆíž0²õ¹?÷«Ž6G»¢Ô7Po$Ÿ‚›m7E¢Àıx‰”×zmWö‰KœJ–†ÔÜøf‘W4K×ùͼ¤Þv±Ä d^xœl^,Ç %!ÑÈŒ‡J•ÑT(ÁBýW.7Øî‘°DaÚ•â!¸úTv¹m›cófǺu#ý%QGщ.çD!²bʲù ä·RÿÔöèQ‡×+.{{…Ç.—°w¯£¥E(.vÔÕ ›69ÊË û¿QF¢x*ýÙdFvœ9//åŽÉÃ"úÿÁƒÊ}ûHü;Hü­[H|Ôù×®5îÿ@s¼tȆþoo'ËÝ»ÍÍbÏw84ò ‘‰_R±ÿ'Š$ꟚýóÞ#HÛQ‰²Å׆‘ñý?Å‘ñý?Å‘ñý?{ÆŸÔìÿHÛE%£ðÂUcvþ ßÿ±þöÙÝÑ8?þ£]ۘɃôÿ×Lïÿ¸{J-F•7ÅôOM aÅk},»º<'Nˆß…»ºÄoè»úV] ú§lÿwHðx<—Í¿düüK×]ÛÞîAß…‘þ;voÁfôg| R‚˜!/o£ÊDó@ÿ{~OOϸ×~÷~Åü'Ö?ô઄#GšãìÿÅy²·äƒ8)žý?ú’ö¤ÿy/ýâ­#/Nß?鯭?¾âË—îûøàÁfóý_ëŒ3ô?«1V{¤ ýûÿ»»{Îyåçì¼â¦â=Pöë¹=×\¼ô½½‘ýÿ®Nf‰¤¿þezÿêÿw¹zΙó³Ç]þð±_Îr_=~ÕoßÝ·lÿþæˆþ½þì¯Ö_vü+wŒ+Ñ!ú?öÿwtôüjÞÙ Ýwݺ{ÜÄe7 4øDóÿë\÷¢¸‘|ûªB„1ÊÙÐÿ±çßéôüú_þ6ÿ— w,ª¯ïN’ÿ4dCÿ§þŸOhjòtv&Ñÿ?2¾ÿ§¾ÿ-³ûŠ#ãûŠ#ãûöŒ?©ÙÿSßÿŸÙý ýÿV úœþAïñ´ÙÐÿYÿm­#0çÿW=/XœgððšȆû¿HÿŠ Òtÿ?ëL¦0pïÓ[̳ º[‹óHº&5îÿÆÛÿe‡rŒÜûô3¢ó½1· Œý”R3 ÿêÿ'O>_wz”e´ó/> ²’‘ÝûòxݧN͆þoøä¿f9ÚõÔYGqïKúz›@•šý?:”þ¯~ò_³4ö?ÓQƒhÕ½»ÔÛú›ÙÐÿã}þßÈ¿¯[Ô÷ÃÛ̧F“š ý Ÿÿ7óJTdCÿÃçÿSIÿÔìÿ©ïËìþŸâÈøþŸâÈøþŸ=ãOjöÿÔ÷ÿgvÿO}ÿÆ÷ÿ÷ÿg|ÿÿ?Ç‚VúÿÍxûIA&Ñ/èíèÿ1øÿÍxûÙ98˜XR\vÑ Ðÿ“êÿOÄÛopËë_—Ùýlüÿ&¼ý‚‘ƒhÌôOͯ±VúÿÍxû ÆŸh¿Ȇþo™ÿߌ·_]NsÇ]?@eCÿ·ÌÿŸ°·Ylèÿ–ùÿS[ÿÔìÿéàËäþŸâÈøþŸâH—þŸâÃHÜH—þŸânü¸‘.ý?ÅÝøqƒWÿ_³«ò©wÖë‰â óÇïÆÇ_4ßHÇÈ›;xõ$uLññ»1‰Ó˜õÒL°ü2>nðêÿHçpxxdD$êžÒÛˆ‡‚ƒþèúÇãÆ—¾4ËßœD?ÚâÅ:GÆ3ϸ gÛ¶û08€vvppÀçíno9>6ý_ž™GåF‹ê™×¹×R_ÿXû ೩Ñä¨ÀúG™Æ¡®Ií(/w””˜íÿMŒŸU;¢gÞðÑñÔÖ?& ûû{½^OOO'Úù.wkk3’µ$JÿÇÓø e($N)ãõŠÎÌŽÑ¥mÿ&v´‘zw¤™©Ò\ÿXû[K]}mimåA¤uù¾Š’¥¶DÑOトz>yPçß¿ŸtþhÓøGÔ9ªg^ùŒ¨çó7¿‡æ þþñ\>ý¿¢¤xßöÕ»6-ß¹é#Ä—í.ú8Šþqºñ£ôó(žy9L³°×PÂBýÇúúŸç4þc^ý?VŒícüüÀ«ÿÇZ0ƒýoiÑÿ3éÒÿ3éÒÿaüàÿéÒÿ“íÿõÛn¼ßŽÓèú?þö«YºéRÔÿŸÎú§½ÿŸÝ–Ž˜ê^€*q\GzDÑÜáàØÿSÎÿ/h]Cª{ú·m²<¿Îäf8öÿ”óÿ ÆãidŒî0FL‚cÿO9ÿ¿¸þ1Žý?åüÿ‚îEÈÏŒ?$S“<ÕOžêÇ£ëþÍé÷]•·ß ¿|Üä§ÿåüÊ/ïL^ ¥Ñõ¦úÿÓâ÷ìÿO‹ß?f°ÿ--ú¦"]ú¦"]ú?Œ?£üÿq ]ú?ÿõ«¯þŸ¢þ¥€ =xEÿ&nóߦ¨ÿ_[ЊÞ’¥ºùÿىة–T›ØM£_ž ˆ¾÷Tv®ªçÒ=ʨºÝÀ¯ÿóöÿ3só½iAçÒŒ0ó?ÎèO4séû?­Œkÿçìÿg„0”_ëÕÜ,0¼e£ukËsÔDr÷qÿ9ûÿeòŠå7rAG¨ÖŒþìç‚)±ÿóöÿËáH—7º[*Æ?ˆ¢?û#&&^9\û?ÿ¿qr„‚šÑ#ŠþîiÌ”V×ÿcâÿ7ºðI1^µ¦Ñ÷ß±ðÿGú?ý³yŸ¸‘.Ïf*RáùçlFòûÿ¼O½½/´pW`Áv_~QÏܯ­mŸ³ºå•^ZV7kiÕÓ3Þ·Ð\Š#Éýþê£U®‘èyŽïÍžCäþz>Z>úè£?þø¦NúÔSO=ýôÓÓ¦M{VB(šñöÁØêµÊW™t$¨¬—ñhØAK,þ“O>©Qþ¹çž›>}:Òú›û´%µµÜšï˜és8Ô?V7>óѲ¹¹¹µµµ½½½³³Óív{<žÞÞÞþþþ@ pâĉ¡¡¡gçíÒ–Œ.©þ»jÖè“pÑu~ÜóŸyæÔí‘øÏ?ÿü fΜ‡§ÍÝ®-éqYŸ€ÚS¯yhPÊcð6^NÇ+qýcr㣫´Dc>ÆŒ}}}~¿Ÿvþ“'O>õr‘¶¤füÑ<@qüÑ=4ÛÄ<Øûãú–#qýcrã£KM±ÔSOá1ö¨ç£‘çÅ_œ5kÖìÙ³_~ùe”áÉYµ–FucFñ‰Ñ<sÈÛbz\ßr$®Ln|t–hÀïééAÃŽÏçÃ=? ¢Ó.yp¶¼>Õ–ý1x…ÄõÉÿòŠz´Ä¬AKÔçP·Dc>êùXü×$  O]¡-ixý©yü^}c+Êù·‰Tóãú–#É×ÿ3߯@K:ò£Î†ý‘‘‘W^yõ|$þ¼yóP†ÿçíoª!Éßg½½áèñÞt©ƒ|tµ£É³g¿ã©g[e1Å‘|ÿ笅ëf¼}ð¹{ŸycçÓs¶M}ió3×?>£ðÑgV¡aõüì_ÿ?o€ÿŸ/’ÿ·¡®ütsç;ot^õM п…æRI¾ÿ»#ï¶“÷}{ëy?_þñ'o½óÎÔÙ¯\|ãM½×~åO7ß:÷7V¬\uøþ Ã7œRðÔ ïYz Éý¿éßrÜüíûîÍœûàô©OlÿÍ)‡OûÜ?þí_ßž5û¾ÜžxúÙ™÷ß$LúêæïÕtiãê4D‚úÇzý¿ñÍ»ÿó‹3nºééÙ/ï»â‚Ÿ ýzÑ·¿4uþ›Óg̘ûƼŸßò5û?'O6,nðƒéH~Q“…÷áKPÿXýÿs.\û©èÞÙ:ù6áº/ ¿³oú/»\.œºs×®'}̰ û¥òØq‚¦¿þÔÿ8ªÿáwÞyÿý÷Q ¹¾þãŸÿø“¯þûƒ×ÝHS7oÞ<ã…ŒÊéžTS|nôy{Æ)¡}ä˜}(“ú#TÉ\î$®?õÿ#ŽêÿGøðÃóóóqxeaá”;n[ðÈÍŋȹ{íÚµ¯¾úªA1cÿ–Pí…S2ëgøa<þšj9Ý H\ÿ˜üÿk>]÷ìŒçQ ¿¿þüù7ßv»0ñ‹ONœXS[‹"W|²rÞ· ,EÑ_ãa˜†ª]FÎgõ¾÷½=âM¢u÷V…T#î­‹¬ ï’XTþ´4¼þÈÐúƒ~”óýõ¢SõR¶Óú|>··­ÏS΄˜úóÖÓáÁƒµáCµ#j‡÷U î®ÙY9ŒXTÞx$¼ùÈpÑáô· ?_€þ|úóèÏ ?_`ý7 ˆŸµâõç¾êÄÝU#»*ÈEåá G‡7Þ|®?­‡FÿÞ“‚þc }ÿmÍ Aÿ±ô¾€þÏÿAÿÿÏXBïÓ÷ÐìýŸ/ ÿóøÿùü|úóèÏ ?_€þ|úóøÿùôç‹dëÏûìTèÏÉÕ?†Ùr²Éöÿ˜œ-'kLý›„XgkÉ|€þ|ÁA3³åd ’­¿ÙÙr²àà П/@¾ýùôç П/ÀÿÌ ?_€þ|úó……úûzÛ½Ý  L°ÐÿúÇ ¯?Aÿ8€õw´žØ¸Ï·é`ÿæƒ~J´‰øé@á>ÿš=ýu­ƒ(ç†=â¤â ¿U@úÿ}}½ÉÌïjÃÇ ô· HÏŸaAÝ‹V>÷þ±g߯Ôsú’ªÙV-\Óàé‚þÖéé÷yý½¾Á€7ô‡N „BÁááÃÃ!Ä‘‘¡“'‡1AkúóèÏ ?_€þ|úóèÏ ?_€þ|úóèÏ ?_€þ|úóèÏ ?_€þ|úóèÏ ?_€þ|úóèÏ ?_€þ|úóèÏ ?_€þ|úóèÏ ?_€þ|úóèÏ ?_€þ|úóèÏ ?_$Sÿ,œ^uT€þ|‘Lýfþ'‡D‘-àÑÿ‹óè4ÿxÎgeRn”–]oà ¿Ò×éäÛxNîìRƒþƃL6…¤ê¯›ùŸ iq9 Y7}2õ7šùoã”,<ýÂ÷/Îýùôç П/@¾°Dÿ~¿×ëu{ûZúzê@ÿ˜úóèÏ ?_€þ|úóèÏ ?_€þ|úóèÏ ?_€þ|úóèÏ ?_€þ|úóèÏ ?_€þ|úóèÏ ?_¤‹þsV· eC¯àìO:†GHü¼yóÞxã×_ýµ×^C›y/|ª-Ii§¿²¡?ºÑóÆÎ§çl›úÒæ'f®|Fá£Ï¬BÃêù > a²ÿ8bóÞ#öE¨DÙx·4ý`¦ÿ#m•ŒÂ W‰Ùc¬¿}vw4΂þ&±fWåSï¬×ÅæGÂâî=*µP}’6ŠÓìûÑXIS¼(ìf×eiÔÿÕ‚¬W錢p8<ôGÓÚ•â!¸úÔ(KÃñGQ½8Ì~ õ?Ⱦ§N eæ| Hç`0 qqppÀçíno9>ý_™pˆ¬ÿ›z"&=//”ÈÐÏ Ò9ðÙÔhrT`ýñ»L¤ÿËÂËYñmj¦!"r‹s@á¼ÛýEýûû{½^OOO§§»£ËÝÚÚ\ç¨.“þ…-–Ō쥗ô¦ƒ”ÌPùEýÛZêêkKk+ÖTì¯.ßWQ²£ôÀ–±ÿEH>bÅ•oèÿ—’ò&Г€8eæè#é_QR¼oûê]›–ïÜôâŽËv}--Bq±£®N@ƒOy¹éëOÍIAsþeò·VzäñŸÂ`ðO;ýã¸þ?xÐA¹oŸ‰¿s§‰G~Ôù×®5îÿÐð$žÎúÇ $,¼½,wï¯ù‘øè„ŒF4ò#ñKJÆÌÿõúƒÿ-ú)੸ã9v€_¤>ÆêÙú vò~q ¨ñŠÈ2$çÆAôÝg«þôÆÍf3ãé_Qá@ú£/ÑHÿHŽS Ìï ðŒ1Y÷ÎcöÆÚgó7êÿFÏ£f4¿qP^î()1ÓÿMèoôëƒÌ{ãíp7¼^Ñ}ÚÑ!:‘"Ý8 0£ôyì¤7Pçß¿ŸtþH74s=Äýú £‘œäeÇôl«1šJ(ƒ‘œ«ß€˜ñÿ€ÿ ©ÿêÆŸ±øÿScåÿ× k¾'Õÿ¯A‘³Fÿ¤úÿ5ýøá@ìþkŸÝ*Vf”Æë'CÈÌã÷bîÿ̬Ýd¶“SÇ?';n$Ñÿ=mŒwS%)‘Z5TÜHü‡1øÿE0GAÝ¥%ååŸ5·ÿá€YÿÓbyÚ v{õÇŽòYs; ‰þúB;ê3›FS2fúí€òÿgôÌNVaìüÿ̵ "Àÿh7ÒËøÞÞZ¸+°`»/¿¨ç î×Ö¶ÏYÝòÊÇ /-«›µ´jî‚-¼Û˜–0Óÿ——ª\#Ñó=Þ ‡`Œ€z>Znªv4 ûÛ„£Bu·p¼G|y_‹—0 Mû`´Z¢#–¿adÛu”™þ†´DâÛlô ŠDú?÷æ¾hµDÓ_þþ^‹8€Æ|´D=¿Â-v{ÔÛ]¢æþøæ8Ì¡¡¡gæíŠVKô[Y×ñ ÌôtÂEK<ìÐn4fÎ ápøé¹Û ë½ÚûŠsƒÄIGj±˼®RíËhÊ–—£¡«´Dâã·µzƒª&bœ‹—R±¾ª˜íð<òŒîUÅŒc”¼J8ÂK FÑß ”Xó¨-Ï °¯*Öü=©{U± œ]£ýL`týJçY·‹ÜÓ«Š£t~„ƒW Ô˜yUñ«oèο€Ñ`ÒÿùÎʪéo|vÁÞioì|jζ'_Úœ7sýcÓ ™¶ ;¨çƒø€tøÿÓàÿ#€ÿ?õaÿ_÷²’çÿ@ÿ8aÿ_ý 0æþƽŸ·ØÀ±Ïø”[`‘ÿª›‰ízÚ ÿ¿úΖcŸýù€ó?òM„4Gòüÿ‚‘;ZÐõíèÎgõíëåHIXãÿŒô—½ÒªMö“’5?.`‘€ÿ_7þDV’ cç¿æáöÌÿq‹„üÿÌð‚Ï¿M4^ ÓÓ3¹A`8F±·è³ïü›BþÿÌ9ñÆîþ¦ûgŸúÀÿ@†aÆ»›=îZJÿÀ€Ïçñö¶õyêÙx̲²b}dš’·ð ?_džþhÌ·ð©?oQcèÏ ?_€þ|úóE é_2+'gV)^‚þ1ê¯-> AÐ?éSýKç“û9.¿„ÄçO!Q¹rfú QV%^SvR!I•âA¬¿M M.˜d›²KJdG1bž¥¹ìPôGñ’Îl<Í ú›"õmÃцa Ú¤>oz\ý™+wÑèjê¯QôC9R<ª-Ž3ä©ó0ã’¡þ0þ˜ åSmΔIƽÝ- óD»@ÿ&èú›èÏ ?_€þ|‘‘úÃýßÔ'oá @¾ýùôç П/2O¸þá®?oQcèÏ ?_€þ|úóEfë¯÷Nª‹þÚgUæm ýÙ÷“ˆ[y©x õ÷õ¶{»ƶÿ'üœÛ¨úë^’ľ *UÞú<ÛÆ<ù1f”ûïïÙa_P•Hý•§MtO¾ÄĤ¿|HÉ—¥Šþêc¡}òMµfãñ'U_>•ŠúÇûä›FÕùô7©¿þÉ7ƒ³Ï_i¯?AÿÑõ×=ù1&cŸK†þcFÐô7П/@¾ýù"#õO÷û¿i­¿Iòžôç П/@¾ýù"Fýwp×-›õ//ßQQ±‹»tY«¿G‚**öpW/kõ—ÁtÒ¼…'ˆCÿÌ oá @¾ýùôç П/@¾ýùÂ*ýs&WÅôžŠê1ª™·ð ?_Œ‘þ¥Kªmã«$VçW ˜šüÉU¹E8µ&G"må<…©IX,…ëÉYRúcjü£ôÿ¢jÛì£: 䈈 ÅèoÐÿ³ÜÿÉÿ¦Õ_éÛU6’$v{ÔÏ gK²kÔFIæôÏæþÅÿ¬RIÒSvTJÊ“£úcXuÿE«¿¼)Ž-*éHn4þàCÖb"Aÿ(÷•ÑFdÈys6ÛÑùTþ\¸uç_æ¬Í–ÂUÁù7ºþ¦XÄ|x“ì?ï_$Sræå­|ÖêŸRýù2E~Ÿµú“_CÿçD¢9èúg¥þÊoãA$çÞ¼<èÿ\ÈOr@¾ýùôç П/@¾°\ÿêºÒ÷Öl¼é¹EgÜ8-QÅpW;ôïê¬Y½uûé7¼pïËÿø¤hoSKÓêíîŸûŠAñ(•»æ£ëŸô¯ÃêD¾éÙÅ+6ïnooéìlíêêðxÜ}}žOw—ÞúÂR”š$mÍÍ—•aú£Aõs½ø>_ŸßïÛ°·¥²Q;í§µsQ¦³þý~¯×ëööµôõÔŤ?çѰƒÅwºWÔ/»ªøOT¼çêíüÁààCù«PEÿœI¹9ê·£&W•ëŸß<¹VéNµhÌÇ=‰?±êÚKv_ôãå?ø{É;HüPèDÑÁj”‡ÑV)~)³[3«$3É!;/¨F‡LLË-Ø–ObU†oÙ6ÕÿIo/Σ“‚¦mÿGW;è„‹‡Ôóÿ°û¢ßnþÕéKNÿÁÛg ñ‡†BþÀ Ê£Ò_zAª¨¡î³¢¤š÷eÓ ßÄ÷¥ÊHoÙ6Ûÿʼnp‹YÍÓVÔ·ÑÕóѰó“å?üï¥ß?eÁWß9ð7$~8<¼õp¶ÿÓžoø.fÍ;¯Ùψ>åMµQú¿^ó´ÕíèRŸpј†3ß>óƒëõ÷ ñGFF™_ ÿ•W3çÎK@ÿèoÙ6£¿8þLàu;À*ýñõºÔDW;ø„‹‡,þÖ’:íõzÂO[¤ñÇŒþQÞ²=êøƒÕÏ|nX¥¿GºþG×ùèRS/þ³—i®ÿUÑ‘Üèü;êøí-Û¦ú?OX¨?ýþ‹.5ÑÕ:á¢1 ;éôý7é°PLðÿÄËõOòžôç П/@¾ýùôç П/@¾ýùôç П/@¾ýùüŸ|1þÿ4~þ-é°öþWJ<ÿ†9Ú]0ÞÂX{ÿ7†çßq¶åç¿IÐXO“ke™þ±>ÿ–ëÃo±>#—eúÇúü[é¼qäùÏ‚I$ yÉµê¥Øä7å&»X‰ôà„<ëSp¼…'àõü›G~ø<§Éµê¥ØúñG<"Ú—Ò²5g™þ±>ÿ& ŽdÔ¼ó]~þDÿRÚý(by Ž·ð¼ž“zþ¸ü‚Y9šGpõ‚›Ñ?ö§àx OÀëù72P(#Œî%× ³e©ÇŸØŸ‚ã-<¯çߘ!È삟sSοL~t b} Ž·ððü_€ÿ‡/²Öÿ f3M¾¦8Fä=ð€Ì÷ YNî@ ˜…ä~åä}ý È. ìk§òȦæE0â2/O• `”×N‰Ç… õ§ïƒaÞR°µ _D¥z’òš€ý9ÃhüaÞƒgÓèò[Íù—‰ /¢bß ƒò‘ô×áTý°Üo€f9¹?@ “Ʋ²b Grï@ @ &Ü¿€g9¹w @ @ @ L&«ëJß[³ñ¦çqãL´DaýUÙÀ®ÎšÕ[·Ÿ~à w¿´ä£;×ÿ¤hßäW—¡R¹·0³‰Dž8íïËÖ77;œÎÆöv§ËÕîñ¸×î<ò—– ÔØ*,™•“3«”÷N¥ Ñ ƒú¹^ü¾>Ï×·~OJU DH^y–®œyÛ"êOލDã<v Å÷û}ÀÀCóV¢<4®m\~ /Ͳ4¢þ‘6j¢S-ó#‰ n>P…ò0úO*Ôª=)WþHähúÿ¶üœ¨–¬'ºÚA'ÜHâ‡B'ú(Í_8ER“ö|q8’?“lèèÀø QßFW;‘ÄÚz¸–íÿ„¢ÔÒQPÉ»T @ÿˆÆvt©Iü‘‘ð#ó ØñŸáÒ\ÚÛAÿx‰¯Ð¥¦¡ø[Kê4×?9ìÈÃêì–>4†Õ_sʪ‰®ðÑu>ºÔÔ‹çìešëz>µáaŸ¹µauÇŸ2àü‰ôû/ºÔDW;è„‹Æ|4ì˜úþ ËEŒÓÿú@ @ À”'<ÿÆ‹ðü_Züü[r˜)÷b}þ-æg«*JÙLÑ?Öçß’úl[èëóoÆú+wá•[ðùSlÊãX̃pÊcrÆEä êgçJçÓÞ÷Ïýc}þQKƒDXšK«UÂeÉ1Z¡ð3*Ñ‹<DF©Úç¾Ò˜±>ÿfÐÿY)ðÓ>šUª®÷F)¢ÍÆôLÑ?ÖçßÐ_O >fôgŸ2ÕMgÆüü›Áøo4˜èÄ$I¤¬©"ʳsLª˜?ƒô÷Äøü›ùó¯ZLQpícr£ÃôÙ¹BùÔœ3eR&õO‚Ï¿-"ø€@ Ðrrt–“÷ûÏ@æ€û Ð,'÷€@ ÌBr¿Èrò¾þ™î7@³œÜ@ IcYY1#¹w @ “@î_À³œÜ;@ @ @ ÆÍêºÒ÷Öl¼é¹EgÜ8-QÅpoU6°«³fõÖí§ßðÂÝ/-ùhãÎãõÇ?)Ú7ùÕe(Å£Tî-Ìl"‘'Nûû²õÅÍͧ³±½Ýérµ{<îµ;üå…%(5¶ KfåäÌ*k ™K4È ~®¿¯Ïãóõ­ßS†RÙȦFμm "Dã<v Å÷û}ÀÀCóV¢<1èúÇBtªEc~$ñƒÁÁͪPž(ú”Î'Æå—àÔI¹9Qcp%¶H1ès•-ú£«tÂ$~(t¢ €òDÑ_aÁ$Û”¥’ŒDRñРœú÷Ò\Û¤BUm(Æ–[µþL$êÛèj'’øÃÃC[×FïÿÚ~˦ŠI“ cT§]ž¬ÑíèR3’ø##áGæDÿ™¾MâMêå‘Múãët©i(þÖ’:ÍõO­”цÁ#’&†mQŒfŒâ/Nrˆ®ðÑu>ºÔÔ‹çìe×ÿêþY8E{¦L"ý_s5<±ê#Ñ郭‡·,I#ýþ‹.5ÑÕ:á¢1 ;ðý7™ÿ@ @ @ @ @ _Ž:‰±m‚Ïva½í»Kl§¼–ds‰¿‡7&sæß¹ æÀ˜K3s4ؾæÀ˜sÖ›KÒµŠl.zN3sYb.É=3YŸ;tñð˜s`Ì90æ2À\²®Uêmßû ‰Wb`ÌÕ–—'Ï\eåÞòòÉ1WY¹ÇÌ›Ys ¼rqǨ2ŽÅ±s`Ì¥ª¹.æ’5ˆY°w± ÑÖˆiúdÙ±3wzµÌœiŸ˜s`̹ ÿ~æÀ˜s`Ì90æÀ˜s`Ìeˆ¹ ë“ú#˜s©mÎöíÒ/œSûÍ)½_˜Ø)ÿŒw7Gzlæ©wÖ÷÷÷z½žžžNOwG—»µµ¹ÎQ]‚â óŸyßä)+ssß[ô÷âç§o»ÿÊ¿Ý|EwW—®hqžmÂâ&&¢iñ—4Æ–Wl˜Ä‰ƒ¬ H•$‰ëßÖRW_[Z[y°¦buù¾Š’¥¶DÒ?ø.øâŽ¿œýÜM7úýþ={ö<2õ)œ‡óžÜùÄÙÂöOß{O_VTWÑJJÜb¤òË‘bµ”JmDÓâ<¥ÍAC$®EIñ¾í«wmZ¾sÓGˆ;6.Û]ôq$ýv,_¾ô®»ž˜ñü33_\¾äƒ[yº­¥¥`íÚÙ/½4uÖËÿ<ÿ—~ñ“Îövò¢Z2ˆŒlûAÀa}*ƒkÀ=~ÂâÅyºj’€õ_³«I­'Šnwddäõ¹s…›OÙþð¸ÿï3÷<õ̧ëÖY¶Wº±*e‘ þ‰ ¶¬T˜ðeẫøæg¼}}Õ*wç&‹êcpÔá“{îúô´¯­xî¹1ª?õÁW@*è¿rù¢1­?•‘ ú›Çðððœw×=œ¿~âËÛÏþàïžÞuÙÓn™^ðäÜ•¼›'RAóý¿¤¬jâaê~á¥CÂ[¥Âó[ÏžqìßnÛa¿âS§gL9FHýÍãhEµýµ€ýÍûÂûÿ ã^o´_½ÉþçuöKWƒA³µ$õ Ö(ô¯K¾þñ}q¨¨ªµ¿ÐiÉc¹Ç>×ÎóÇìW®µÿqõç/-ŒÁ¶¡þ报‡—þ‘¾ GùâŒPSWo¼ÖþL³Èç;Îzô°ýòUöK–ÿçeËc° €™¢8<<2BˆÂáðPpÐÅq·÷PÙ”¹ö{ÛsËì³?^÷íIÛí9ÙóÞ·/|kpp0¢1Åç@½syygû¥MÉLU.ÎS\ɉ€£þÁ`@ââàà€ÏÛÝÞr<’þ7ço9ï“ðg?ìS›í7nµ_½Þ~óŽÏŒ_iÿÅ;gÞ±éÒù-¿˜QsÅÌïü³HWTñÂgãÈS‚ŠËNöÏ‘#—]Fôÿ@ÀgS£ÉQõÇWDìòܹǧîþvD˜uXøÃŠaûÞûÆçœ?½üÝ#'•/lœ±58îåê¯ÿy™Ö’ÞAÝe­j‘:³¾Â„ÁQÿ˜n|'ï€}Þ ûÛ#¿]+œõÐ~û…ÿ´Oþô‹Ë„3— 7mÞ©¾z×Nû ϼa‰¶d¬úÇ|Ë !pÔ?¦?xp“ý¹Vû ŸÏ8óþ]öß-±ß»Éþj¿}n¿}ÞÐùŸŒØ/[….„~}ëÿéŠ?–Ü2°õéÆÁ9÷­°ßÔþÐ1ûÓ ß½c‹ý¼ÿ³ß¹Åþd½ýéFûŒöŸ/ì¶_²qÂ=F_åôç_kn4%®Cº\ÿ/xÝÿ¸Â~Ízû»ÿãúuösß±_³Î~ûnû=‡ìT~÷™cö‹—Ù/XòØ‹ºñÇ$8Ý2à¥ðxz^Ì_ù­Ëÿþ¥K?œ5åÛn:ãÖö«ÖÚ'nù;¶#ñŸ½ldd$öŠyÞ2H#ý1†‡‡ûûûq})(Ü´3ç®Eß¹âÝå[ù6,>¤þ†´Ö?n¤µþ&‡k +6í¶xÓ•¯6ýȦV_ôÜÆ9l¨¬>ηmi­¿™þ?ýÃ⟾Ûÿó%ÁŸ~pâ¿Þ þï'í Bö×ý¢õ9§ýáªïMÙqßK+÷.KBƒõHkýÍà´¿õ¼uX˜w@xt›pí§Ây+„o| Øß±/8ñý¿~ô7ï7_ó|nfÇ×næw1~;NkýÍôÿÿ÷Zû-…©;„7ŠGá©ÂÓ;…»Ö_öþ¯¿â?ÓšìÏ4í/=}”Mú›Á³ËOÿP¸p•ð— ÂŒ]¬]#ŸE#Ïôvû´fûTénÂ#UöG«|G,w¢ ›ô7ÓÿûâûßN~iñɳþ)\¾FxjKÈþL«ý©ûc5ö+DŸÆ}%ö{çÜ¿T_–q40 ñũƩWG‰!ºG•?½õ7ƒ§ßZ+Þ²Ÿãµ¿ÖoŸ7xí?zí÷µß}Pÿ‹‘òöë7Ù¯þô•·WiK²}ÛàîÀ¨úcå£ËŸÞú›ÿ×í‡úÙÝâS¯ö]¼Èm¿û8æ ñ'‰Õ«ÖÚ/_ùÁŠÚ’šÛýñ =FúøD?§µþ&ñÊ{ì”Ûgºì³ºñF›ý®ýâ°sÓVûµìWÚÇò?¾×ÞÑ©/HﻋçXíÝIÝ­ö>©`ô‹¡´Öß¼ÿgÑò¢Ï¢1ç…Îï½Øh¿séüW¬ùúU¾¸`e_Ÿ×T-±Þ‹4qO!­õ Ë×þöâ/?u\|®ßxêuÿÈ·0ÄPEŒú2ôKHkýcõnغ÷´—ýâÖ/[?444F­Š i­ ­õÿZüÿcðÿ§>â÷ÿ'ågi­ÿØúÿMê¯ùÂã!KkýÍ ~ÿ?è?ÆÖÿ¯ÿ™€ÔìÏŠU? 0øÑ2Çòé“óÊ™å¼$N’7¥Tš×§˜"›rEòÞõû”¦Ð&Óf(÷3Y•½ ´zº>&£O)mRÿ>¯·¯Qúï«XpÉ% *¤ ¯–8ÎëEkùS!n£¤J#b2à:ØäJ¯W¿Ù,ã…ˆ>’â¼Rn”Ò>©Y8Eî“Û‹7”m\£TÇâ`©GNè£õ“†à¶)úVÊöIËeKØUÍÛgRÿeù—Ø($½Ò¢Eæää—1¹z s•ççÈ™ x ° oö’ÍœIÚk˜_N2ˆ1R†^jÄ8 G¯>µ—þ÷j£uuõêãz#„ÙÚõÅäpooÄf÷ö˜Ô¿»»»K¤ø×}d^Nμ£x“â¨yE¢Tz^³䊡)¤4ÞÌ-Àe2™I<Í@LÊèb–Ý´-d»KiýWAŽèê’LBÎAWr‚ºhÉ˶±L£ºT Sic»”hqiR·‚Û…Ö÷Û.~£Ä%m»¥—»dÞÅ9o””¼q1Ir»PŒœËåZ}¿tVKy]î¼Y€ò£RnZø'g¸µ›˜t1æ¥5†ÿã•×"WFëbr*ù{¤r·‹Éï–wÎMªs‘*åšhZ§\ÚÍ,I9›ÛMCr“úw¨qèõ‹‘8+åÍ•÷ß¿E]üú!¼¤y¤˜û•ˆ‹__©Þ<´ò~¶")Z¡#³aRÿÖÖÖ¶¶Ö¶Vhp`îEʰ1ùcqû¢¹ÚÚ>žLâ.ºo²C#lh«µíãûT›êŠÄ(uÉl1Ž­8,n’´¶V&ÇŠùZ•¢Ò&ÉÙJ“”ä‚RI\¶CëWJ´)Ú¨.¤8IoÓ6ViH+‰k5©K‹³EúwJ (è”·ÉÂÙ¢$Ó\x…³ê38 ÂN'5ãTUÂcK:ÕÙ”9q#•ŠÙd§“u²Mw2y:SNƒ8Ü^º›JºF©ög5©“‚Fñ¿‡ñ¦z)'3%4lZ£’Kmƒ1cPL6¯¶«,iŒœµ‘l骋Ø6M 7£´Êh—5&õo¨o¨¯¯oh‰þ¤Pƒ´Q/AÎ &H™H¤ß —²ãRS=ÙVŠ×3Á&6/ˆzU•Ä’ ¹Ñ8 ÉA 7Èq´… ¬=ZHiÙ¡Ú$¹-J»êiKê äjëØŒÒʤþÇÇq²&!iCЧ‰4 ÇH±Ja%«¸ ÅiŠ’ÁAí:”ŠlaéÀÙèÊ¡>NkwZ´ŒÒjÓA «›ãP­˜¸Bº—lôq&/IÁ ME4©mmm]­!Œ£ëØ´º:²Q§Ë¡ סœušºª“þÔEX+RÉ:&W*«l_•¨©S³ Œ ¶tC[R_“f—ñv³Ygöþ{µ5̪FÞbkªµ‘ê²4½†É©2+ãšk"”Ó—©‘› 2k\¿®B•I#;ª¬5£ÔP Ï?p<ÿÕ ?èŸÍýS_î?’Í`ÂïßùÂBý3`6àä#uúÉÛæ—lgÙÖÏ´}ôX¶<ñ›:ýû\ÛÐ`Ný“×ÿ÷åÛvαíÈÿzÈïÂ1±êŸ”©‚-0­Ïœ þ±¾FœâЛ¶#ÿ<§rÍŸœG^ì+ ‡;á΀÷Poãÿ…C{ ž±ÿ›yÕÄ!&ÓºÌ ê¤Ž) 5;^G ·ì ö ö®\. ­èª{Z¼òéXÇŸt=‰ëŒˆ´ÙlÒCØCÁAý‘øGÙ6)Ü [a“ ¬N~" („þ¯«æ!aèïO5ÔŸ¾H~ÓózºcìŒÀMìä8‹~`£™Õµ¨'öTì(ÓÙ2¯”ëY¬{5¡a;Ö? H°‰éø¼Ýí-Ç£è¿õU[÷±i[^A ï„åÂÉa‰^$ -B¯µ½I81ç£<½þ*)åÝ«ž˜\Åyê×Ï)ïÔϬŽaUæŠ$Ç*/OªŨ_Φm¡þÕ„FíL\ÿ@À§q©69*°þúÙ€Š^¶uz]j¢Ó¬0²P™/ ¿&„^3„'ë·]|²ÿ‰ê¯?G=ϱ“j²JÖ’èe4ªAŒj‡ðqĵKŸ |©ƒ·ãi̼‰JÝÎÄõïïïõz===¨º.wkks£º$Jÿß4ÛÖºïFt/Œ,ÓÿTÁ÷¨Ð—+ôÜ-tÝv|ó9ž²?-}8výU9Ø£€•’»«Iýu¶¤Zp%$Èc©@±9ýÕíL\ÿ¶–ºúÚÒÚʃh‡«Ë÷U”ì(=°%Šþ^´5ÿaÝ 6aà1Ás»àþ‹àºÑ_3Þ[vAû®³‡[.®Y÷ÓŒyüÁ;‰FÝ<ͨ ÊÆ¨ú³ãc.o= ˆƒÖt±nüѼšÐ¨‰ë_QR¼oûê]›–ïÜôâŽËv}Eôõöت3×ΰ Ý× -—«ç¯KpœV³üK^üìŠ'ÿ¥à©ÏG*h©tmÀT2sùþ‹Ä_5Í6\ú•½ ?SøœmÍ´/nšý KjV.J’­é¨',š™—ÿðåÙ?yö?ÍÉH¤‚ÿ'›‘:þÏìDêôðÿƒÿ?ùH…þOýÿ4&Sýÿú’)ãÿïŸ  e£ ø3Öÿ/hß‘ÄÅÿ ùÿû‡ƒ|Ÿt{¡inÓ¾{»îtà:3×ÿo½þÔÿ8ªÿ÷¼Ïì^øÕ†=ӷͱzvw9¦õµÎ>á] -N,쬸'4ð± OWÿ¿Q)uÍLé JúÿGõÿoŸk BCäÿ¯=ÿË…ÐB!øš08[Lo:|› ”§§ÿ_WÊ f‹)¹þÿ­sþ¥«þAh—üÿåÂÈÂЫÂàLa`šà\ð>ÐzðJAø8]ýÿšR‘<{–Ž?ÔÿïéîÕÿ_ô²íð²K¡Aôÿ‡wSß#BßÁóW¡ëVÁ}óɶ{Žß þC[º€…þÿšŠýfüÿ›g~v8°Aôÿ×Hþÿ›…Îë„¶+çeBóe‚s¼·ô¢ôôÿëJEôl+oÄK¾ÿÓK_Ø÷þù¢ÿß÷>R[h¹Xhþ½ÐüKÁy^oÙÿ4~ÃK_^òPÚûÿ#¾¯VþpZrþïúÓœo‰þÿ¾|¡ùlÁùãÞÃß­øð?6ÎþÜÊ©¶å&òÍ7}®Bepùþ»ý­Ÿ¯šf Ö]Yñ/¯{á³+Ÿ°}l‘Ã'…üÿ€xÑÛÓî÷yý½¾Á€7ô‡N „BÁááÃÃ!Ä‘‘¡“'‡1Q~T õR¶Óöû½^¯ÛÛ×Ò×SÎü˜úóèÏ ?_€þ|úóèÏ ?_€þ|úóèÏ ?_€þ|úóèÏ ?_€þ|úóèÏ ?_€þ|úóèÏ ?_€þ|úóèÏ ?_€þ|úóèÏ ?_€þ|úó…%úûúû¼}}=ͽݵ Lýùôç П/žHÞ˜ò  ¿uÀzvô†ËšÂ‡jC{*‚;ʂێ· l:<¸ñP`ýà§û{ê;B(g“³Eý­Ö‰ßÒuòxÇÉc-áò摲†ðQÇÈ¡º‘µÃ{«Ã»*Ã[m>èG9KkÐß:`ýQÏGâ×¶†ËG°òkÃ{«Â{+Eñ·—…·**@9·>.€þÖë¿çX÷ü#Ž0Rñ@Õ0’}ËÑLÔÿ·–ˆý¿pW•ú[¬ÿö²â˜Ó 9ÕØHö¢#áÍG†Ñë¿|Ë1ô·XtÂE=ÿÈñðUwÍÆý‰”GD18€õÿp“8ÙK|úëæÊýÑ¥ÒI¹³rqÃÑa#~ ‹ãÿëã׿/óxM›“ŠÀú£ëL<æ°‡€†ÑØ€>‡ÅþŸˆþúy¶XÿuÅ«‰TvEü£Ãë ­—®?ß__!Ä?þë& Ìz`ý ÷¢ëLt©IÅ_[:ŒYxxèÓ!Qý®Ó'§"°þ«v¢«MtvWŽìª ï’>EÇÂ+ß–‡ ޝ>4Tx Ñþ§_=°þ+wÐ&:;+†·—‡·U#ñ7”‹¿ dxÕÁPáÞÄÇ€Xÿwø7m>:,~Ï::´åhhs©xÎ]{dxÍáõàš½ýBbç_€XGë‰û|›öo>èÇDa4à#®=0P¸Ï¿fO]ë ʹzGµú[¤ÿîc&3¯ÞÓþgkôìñù?ÞѲ°°î•j_ü°ò¹ŽM¿âÙ÷+Qsæ‡Õ ×4xúƒ * >ýÑ&Ð*Æ¡?›´ ?èŸÍýÓBÿ.w]—«Ž,q@a­D_kĉ4`Èê®Îjq‰lØU%…«TD‘Ç$Ò@¬T³B tTÈ1ˆå$ÐQ.†;Ê•Ýì(ww”Éa(sK¤á®ŽR)PÚEÂ¥(ìn;lRÿÎöc®ö*D)p -;Û”°´¬tµWv¶¡x´¬t¡e»´”Ã8>2+$²aÄrqÙ*Zå˜Ör²leÂm8P&‘X–J¤ó<*S³yDæÑÕ¦ŽÎèˆ6;ZK:œ[˜Ô¿©þPSƒD`7Ѳþ ¼4Éñ±‘öË›û›dJá}ˆÒR 8ä°cŸ’$Fîm$›{¥l{5lŠº)s¼ŒÌãt¹»Ñ!óøî†º&õ?rh p,ç_¾ýAÿl&èŸúÛÖ!ýV!>ýOŠ9©Âˆf­K0LÔaÄ D·#Õ-%D2±el݈Õɱª|$JZŠ`<>ýÃ##añD†¸…6ñ -Ã8-L2ÊK97N“ y›©“)Os¨@²É L†Ù2aú/7’n3û¦³æØ–2Ât¡ŽÕìH˜îz8¬ªç‰OÿaaÕJ‡¥?U–0 „I[F›åR%darcaÖkB]-§J «‘wÝ›0Ý-l›mtXþ“¨«)Lv >ýC¡¡¡¡Ð¸ I2Ÿ’ÂCʦH !RvH©oª3) B¤±%7h:ÁÐb˜©8R* ±Æ˜f„˜¬òþ)Vä…†”Ý`ê …ItävSyâÓÿFðƒ j‹ÆâLA1U¢”MZƒ¤HÖ<¡¬ƒšzäH\‹\-[šZ žÐÖT¥RkA&›E³lëd»›d•¶*ÍJ;ÊÄ0¥ƒñé ª0 Ô Zà$mMJj@½©«:b꼨"}mLsQN«Õ6 t»¢nD|úøÕ¿¸Iã•úý~œÝ¯ª†ñ«c˜<~6J±*f« KÙŽ_].ågJ¨Zí7h-í÷Ë{ j$Ó*¦~CÖŠýøôïï÷IDÿ>ŸO\ö‹1GÒ•¯}ªÈ~± Î,—égŠú”5Ž“K{¤°\Ò‡#}r^9³œ—dÂIò¦”Jó*-—óÊÉ{×ïSšB›L›¡TÜÏdUö‚nÐêå}ˆOÿ> ^ñÏ+®ñ¿´$^)/IÀ«d â9-£+*f“€k2J¦ûèÂë%uR·W®iµÊ&Éy½Ä³kôzi.${ /èÞÓ†ô1Í•k"{áUZÞŸþ½===½=½âJ…^MPŸƒæ1HÑTÐËl+õ²k]l„jå$mj/ýïÕFëêêÕÇõF³µë‹1ûÔÛŸþݺº¤¥È.¼"ñ4DÒ¥Ä.bÓØÒ¤:9]^±›ÌF[C7³­nK[?›M]šTÝÕ¥Nèê"­î¦«n¥©LÑ.’—mc™Fu©*¦Æ§¿Û%þ‰ .ºHHZº¥¼–âp<.ÆÂ­äuÑBrrš›).ÿ3yIX©Ú­XrËäÊܪÈYäüŠ=R¹ªÁtçä¶¹H•rM´€›m*SÔEå‘6âÓ¿`âÓ¿­µMDk[kk+Y¡Žl£‰mJ”’—h•¤Í6’„äJ•ÈVR¬•d§kš½dmejl“ëP²¶£­JQR{›\TÓZì’l©_)ѦXPt!ÅIó‰äÆÆ§ †SùwJëtÊÛdálQ’™²â gÕgp„NjÆ©ª„1Æ–tª³) râF*³ÉN')êd›îdò:u¦œq¸½t7•*ØFŧSSSc#úobÐH"ÅMc—r2SBÁ¦5*¹Ô63Ådój»Ê²‘ÆÈYÉ–®ºˆmÓ4Ðp3J«T©ñéßÐP/¢­¤µHqS 5Hõ8 É ålP"¥ø¹„”½T(­ëɶR¼ž 60 ´xA Ô«ª$–dÈÆYHj¸AŽ£-l`íÑBJ›È5Ð&ÉmQÚEÕ"ÈUħÿq‡ã8…ƒl8%…Ò¿¼-‘¦á)V)¬d´8MQ28¨]‡R±ƒ-L"8]9ÃÇiíR‹ƒ–QšCm:¨ausªSWH÷’V¤;Ÿþµuè€Ô0Ž®cÓêêÈF.‡*ŒŒÕÕib誎m Ia­H%ë˜\چױMKÖEÚ-¦Õ*›L­Ú’úš˜]ŽOÿjŒšj-j˜U6½F¦1jª™ô&§:¨6\£ GªÖ¨œ¾LÜ•YãúuªLÙQe¥»ŸþI}> Ó‡þlÐB‚þ 6ÓçóxûÚûz{»k@ÿ”ÕŸûof3‰qè°  ¿U°fþgÐ?^X3ÿ3è/¬™ÿÙ:ý•éáØ‰â2wÒ8kæ¶°ÿç‘ù±æìÒÊýNX3ÿ³•ã|²©ÿëç¾ê®Ù1ÌÿlNÑm$wæÅâL ¸£ãIAmì¶Ðöÿ¼¼ 8WF Íüϸó³Óo”Á(ó?›îÿâäÃHLeVqC3+éìýmÊi!“Ž;ÿó¡ÚDýü·øD›ÿÙœþÅx5êÀ¢ù5E2h]kæ6§?™|xô]Š-Î"ýñüÏTð½Ò¸Û˜C0ÊüÏfÇFX%Æ@Mñ°ØXÿÌ’_;ÿ³(~uxw•8 qѱðÚÒa< ô(ó?›>ÿ*;•NìùW:&¨Ç4ø ‘çÞY5ÃüÏÖÿ¥_2ÖÌÿ<þ‡â¼Ìêè`ÍüÏàÿ‰ÖÌÿ úÇ kæýã…5ó?ƒþñš÷Ÿ‚þñ"™ú7%ÞÜÑ¡ñ9J9ÞtÈýÙÈø¾7ð»éÌû¿M‰7wTý<<ú¿ »ÿKoã»ÀìýßÎÎV!^ýç©ý ŠW!ò¾k<ʽ¶˜Ê3Áöe£‚©uÓÁðþ/½ŒïE²÷÷•×Ç­?‘]ôí ½P„B!ý•<ãR×£í¨Êí%cêÞtPùŸkEô¾êDÑ'Ýü-*³þçDüMì®ê]ÊzýÍĺ‚9v*ÉSò¦ëÆ·È[ð$/œè­ Z¶Äÿ¬Ú}3úÓ©”¡þÚóqJßtÐÜÿB}U#ˆ»+Gð[P‹ÊÂìý/Ëô7Ø3ÉÃøý£è¯ß>ÈcK¦êM~úëοL„xÞ£gSÝùW[œK}”—Ç”KÙ›ÉÔ?!Äv]™à×€ä!™çß8ÀtÿØ”‰ïöAòo:¤¸þd*f¼»Ù㮥ì÷{½^··¯¥¯§ŽÇ,++ÖG¦)y OúóèÏ ?_Ĩÿîºe³þåå;**vq—.kõ÷HCPEÅîêe­þÒ!ØŽBº“·ðqèŸä-<èÏ ?_€þ|úóèÏ ?_X¨é’jÛø*Ìœ%5sVTçL®.e Âú‹â+bÖäF9\eÏTýsÇWçWèD––¹“ɇ"·H<4ùòfÎlæƒ@>8Õ…rÙüÙl)æÃeѱã-¾F•ðžÀBý£‹?<<¤Ñ¿Kz¾[Q‰È^0É&ê¼4WŽ)7Nʹ5´™;e’”´4—íðb%Dv±ˆa%’!ÞÂX¨tñGFÂÆç_$5> ìÐÚIùÂ)¢¼…S&¢\ŠAÍøƒ‹Dˆá-<…úGÿäÉ“‘¯¤^mN±çà>/<“ÈG&ëõ.>²¥Ñ?‡yôj?bRnÎ8ñzIŒœ„F!ù$®ÕŸ²tãO&ê]|A§>½úÄ#¶þºS'ù°È'VršPëOkUuûÌ?ÿF_ÐéÏ—5gþ¾ÿ'_€þ|úóèÏ ?_XõüsÚ‘·ðV=ÿŸvä-ú'S$þ_LúãÞË/ß3þ²Ý—œ¾ñ´çÞXú'MÔç~¿¿³¾¾nê+ @П#¬Ó_œfA=Q€)ýß]¼ˆ y O`•þ…Ste˜Ó¿ßçæBÞÂX¥¿2™UäÀ õ÷ö4s!oá ¬×_ž¢Ê¤þ¼à ^úû|=G-œ“9þ¼¿vûé›NëïïEâ—••ü×üo=öâë ¿%ú›9ÿ"þuå“§o8­³³‰ÅÌ[x‰Ÿyú›¹þÄœ¿líw—~ç¡é¯p?õÏ/x¯øY®*·ð ?_pÑÉ .;¬„·ð ?_€þ|ã?_€þ|úóèÏ ?_Ĩ?Ìh1bÒæ?´1éïù­F¬ú{`þCK‡þ™AÞ€þ|úóèÏ ?_€þ|‘BúÅp‘ëä-<•ú³SÄÄ1E‰fò} qý™)¹x O`•þÒl{ÊÌ$…³cŸ¥D¯Uâ‡ÈuòžÀ*ýó'ËóSivŸ4ÆÌĆò„Wù“uÓ7™¨M;éb&êo<ÿ¡Á´<ʤ…¢,hD23±aÄñÇLmŒõ"9Of?ç?ÔšiÄÐ2?Ÿ^3µEü4eHÿâVæÇã¨ôIÓ_ÿ(÷_ŒÎ¿F#Fä‰ US R‘£?‘¦¶¶ Ñ?ÚýGæÜ'_1#Ml¨š‘ÄÑÏ¿šÚ´“.fÖø÷-èÏ ?_d­þ@ @`2Éý¼,'÷@ @`Èý x–“{@ @ Àtá©×>o†ÜÛ™©»Œ 9 ˜­­Míí-­]]»¯Ïãóõùý¾ÌÓßÊ]Žü欘©%€”Æ$Ö€Q*1SyŒ °`—­Öß°%§/9µ$Ô6Y$/²åÌÛ–¦úÇ·Ëc¡¤– ¢–„B'4ɵË/Á᥹S–¦£þqïrþùUeL'´aëJŒ”Yj•’?rcpKiMKQK††BºÆ¨+T ‰Àï³c#·Vi$.¾-?‡©GÎ ¾O»“rs˜˜{ª*õp$²Ëdï¤×Æ){*š[ª}—¢ÔH9´Æàn€­ë[kSˆ¥¦¯ d L²‘Æh^,Hš‡6s§L’’–æ²*éû0ª ¸dÙŪ"í)Ù__8e”.÷.—ê[˨Í`R¡¹O%2„?ƒ´ š–ŒŒŒŸŒ>ø(6†‘d)œ"Ê(*ƒbp)ö…ªó¹ÖWqOñ« Gya‚»MÚ¦õôÄ-9yòdä‹©+šÓ_ìù¸ÏK#OÁ$ÕgSéEÌ Iÿh{:úQHd—+úO¥Í`LèÏ^wé["‚¦19ìÈ£—Èxü“rsƉ×Kbä$4 É'qãªÈ~ibÈPf´§¨~©réÌ2NU¹u»¬è‰?þè3:eÒèŸÜ¨úÓ–àS¿¦%úÆä+fT§?ÕAלÕ}F>Mô–Bù¥Kªqf›ÔÕU›´ÿ3¥H%¤NÙŠ®ÞÊŒ-•Ý”d/t×äO–ôÄGKEÕ¢\’tX"éxU“÷0bmIq1¦p6άÞ­ˆGYyv‡­YÑ×#·“»£ þÜñ”OÒýDµñ'¢”jNº1íÌ¢¶6zP4›ô©j Ç…É£­'›X‹þƃC„£ƒþ†õdñ"I]¡VƒŽ j}䱈¨—‹ÁŠ´›ÇþšzÆúÂŒ7å(£'3ÚÛtçJ¥Ï³”q£Jþ©7£žÆŸ*哘„+vÐ@ @‹ÈÝžåäÞ€@ @ L¹Ïrrï@ @ @ ˜U<õÚçÍ{;3•HÛúúÌÆÆºæf‡ÓÙØÞît¹Ú=w_ŸÇçëË(ýKfåäÌJô׎Ñ+)˜d“[ƒþ‘Ä÷û}1ëoÉ>Æ]a„ÌHœyÛÆ^ÿ¥¹¶qù%f›õ"~ 0 ÕUk#÷(¹LæÔg‹R0bÒÒÜ)KÇ\QœI…¦÷i]ü`pP£¿r|ñ¥þJjþ›jˆPz”$­As[~ΤB½ ¥ Öu~Ú5'åæDí¥²þÑÅ…NèôŸ¤¬CÓŒˆÍSµ0·íÓB}fæƒfSIª*X:oœ-(Z§ûNíªšJdGµX­Ø$óÿÛûà¶®óLÐIóÚõlÇmÒÆ7Ùi³»I[oÓÙd6v¢I&qw»ÓLÆÝÝv²3Yïìıš4ÝhÖé®7Mœ¦[·V·µ¿d;uêÈ–dG¶$?$Ë’,É”(‘_HI¶ó¨=ß—Fhz®nÆ»’ÊÐo¬d©uÿ'z²#ŒÝÕS˜ñœýúxjhûns=ì»í–}¤†õÒ_é²cL‡ùÚ©Yÿê⯬8Áï¿ì]ž×L#,½*2V7®®¿çe¤§ÚOjÓßÝó÷°}žyöܰÛÊ»~ý«‹ùòåðó߈ª§W]ÿê W{âÌó0ý[ƒ?nÓömcÇí®{n!G!ã8æ…†î¾cµOÿê⯮®zôW¯Ä°4BÓ :þð ýÆêDN?Œx;jãåfž‘­÷½)øÕ§¿XÄÓÊß&ÖzÙíHìX]ýý·ºø~ýwª!o”ÕÓLm•¡ßXü#³í¶[ü/dÙqŸ8™áf¡ïÚ­H¢muñýúƒõÕó? ‚ ‚ n1ZÿT›Óú‚ ‚ ‚ ‚M õÀÛœÖwAAAAA°A¼óÁƒi}øÖIDXµë÷Nèýۙпõðû#Ê……Ù¹ÙB¸°ú½q´ùÿáÜxÇáë?SÊF”•ùÒÒR%P|~ï#CÿÐ;~øõ'ê3݇¸©ÑÏ@qêRDYE—Æ?Ö¥¿”Ÿ>7=0ÜÐ' ²XãøãÕ_ÜzÄwÓ•júå†ÀúÛ_£|—'íþ9Ðß‚þ/íܶýü±/Tô—÷I ºõ–Ý÷_ûB5€Ú½éý¬|··ª®3Ï?­keøÿú·3£¢ÿ®]?Øü`[Ç ô‡þП?‚ ‚ ‚ Ø,Zÿ~›Óú‚ ‚ ‚ ‚M õÀÛœÖwAA#Ä5ÿ‰ˆÝTŠÝ˜ˆ]»+vÕÝ×RáΟo^¸žžãçÏiN¸žžcµüo«‡ÛÄ?ÑGÖ”±ÏÂ!Â!\Db8DoR¨f¾16óíur«Ÿ« Â!Â!Â!Â!Â!\‹‡Ãcÿ7¯‘‡p×Vá"tÃcÝÃmís„C8„kñp›¿³ÙºÂÕx;„C8„C8„C8„kÙpM>y¨nY [2\2v µ\¸Ú¦ê®æ‰Ž:„[Ï4׬Iªº=w‡p‡p=ˆ­ã}CsgÚën²Æ·×ú…«éäá¢.öž®·\?ð‹·ÞòÉ0ûFüBÇ#_Ž=þ§±Ç¿«»çhÁ–þC+è¿û§÷7Ô+£ôog´‚þëÝÿ{/œÙóПœxð7ÞwãîÝzèهヽ—/_nPz E+è_#ÆÇR/îùÞÅŸÝ8wäS«_\>ù߆~öÛîºò±?í8ùë^û»÷ö»ÙC_zíó«ç¾<óògûï»:žÿNǹ¯ËìÿðؾÆvÝéû¯|ê›oÞ`BR®†êï«´¥?‘z]õ}O¼oæðïÏøB×Ã×ýÁ?ëúñÛÒ{»ôÒ§sÏlxïoõ<ô®Wî¹â¥ÿ×ñÔÿý… &Ô~ú;ÎòÊ ');ÎRe¾¦ïO~­rìçÞüêÎŽÎû:J¯ü—ÂKŸÍ¿ð.<ú˧þáŠ×ïëxíÞŽ#ÓñÔAú»¿£Ì@OExÀø‰_ÍbÇ_«Þ.Ì¥Œú'u˜ÔT"z[Ô¿R™£œ%œŸŸ-óc#ƒ¡ú?ñ¯W;o]<ñùáÝ¿~þ¡+3û?:¼û}ç©¿ïè¼ß剺úïØÿ}¿'NeàU¤Ñ³Û´º?Çlü"v€þʦ¦(Dÿ7[Òn®31ïfú³3"}yá'ZíúÊÂñ?š}ås…>3þìGS{>ØûØ»™øäY ¯ rüyòÏ|úë»%ÛÃö^¿DRI½&ÐC-5«­¥ÿÌL¡Xœœšš˜Ìç²££—â½aûÿ¹]X9}ËÜÑ›‹/ýÇümé}¿3òô¿é}ì—Nÿƒ+þñt¾»ãÐ_vüÓ׃ô÷‡¡¿ÜÃÃzµžþé‘DWÏ©¾î×zÏŸèî<Òuò…0ýO?ôë•cÿ¹ôòïMúdfÿ¿Ý{=9þô<ò®cßw÷|&þsßîxâÌßq=z‡ÛƒŽ?ú;·ݪëoæbQÿîÎÃ'^~ú蟾rà Â#Ïÿ㫇ž Óÿø}ÿrþÕÏ–^þtþÀ cÏ|˜ìüÉ'ßþ¡wÙ_ü«ŽƒßuÅßÿ­Ž'¾{C@ç wÆaÙ$ʇw¨÷_o«çýW«Pö‡wÄj¢½ÿZѽçÿ¯¿öÒ3?úüÙߟzú7'~~ý¥§~-þÓkÎþøÊgþ¼cÿ_t<ó­ŽÇïüÕ#ÿ©îynÚþš°¥ÿÆPž™yñÙ‡öÿð“?zÇÀ?^Ýyÿ[wÿŸŽÝßøÏüä¯ìæ¦íþ5«5ý%R#ûþöcwþ«GwÞšÏçl§³qDTÿ-ƒHë¿>8ˆ´þ[‘Ö |piýkD}>8¨×¼¨‰ÈéoíƒèOaíƒèO¡p@þÕiìÚ?U;ðÏçëò¹Ñº˜¸ð ŠúËȨùÁ9Y8Ÿ/Áç<ók¾‰;¢¨ó>8ÐE®ù3¯Ð.AO@õ—A7ÀϪÌ9û»lýåDÿF~pà;þ„Â"žŠ¶8þXùà€½ÿËzZ–ïµêS½Ëá-øþ»Å>8ˆœþCË~piý70ÿÙjDZÿ-€Hëù`“ˆ´þ˜ÿ0ÿ_G`þß.0ÿo-=ÿ¯®ùg×èîØqSLlÏADQÿÖÿ×mäì¨ûŠ‚ïEý£1ÿ_ýÊv(êùÿ­«ëÎÿ·‡þ­;ÿßúcþ?ŠÀü#€ù`“ˆ´þ˜ÿ6‰HëùÿH I7Ú"§ËÝ8hsˆœþ-wã Í!ŠúÛ™ÿ?x  ~­>æ¿av— ÷“‚êogþ?ø.A3üú¼(ïØ×]GQÿ–˜ÿ×ïBã)éSr8´oõo‰ùÿ6ÖßÎü•»UÑ­;˜EQ;óÿ‡ƒßC‡ýýCIýÖsA}#§æÿ×s¥Jäôßš:ÿß6úcþØ$"­?æÿM"Òúcþ?Àüù»Àü¿]´Øü¿¸ÚUo]Ç÷4¢¨+ÍÿK߯ Ô6œ(êßróÿ«æôi·µEý[nþßo\3¢¨ËÍÿ›­ëBõo¹ùŸqíïÀ‘Ó?óÿëAäôßpý#€ù`“ˆ´þ˜ÿ6‰HëùÿH óÿaÿÞnú¦(‘Ö¿–ý¿>óÿУ¨Ïü?ôB-û~88¦~@Vß6.õW·–Ýo“¢Eˆ´þµ`s?lþ¤oðO sAÃoÁá÷£iýý³ýšÿ¸°6ðSÂ5þ4°$ÒúׂúÌÿ\ØdSãOk"­-ÇÿÍýp°yl©úSÂÚ‡’ký4°æ ÒúׂMÍÿ‹ßoïó‘ô'ÂÓËóÓÀZ„Hë_ËþßZóÿ¾ŸŽ´þµÃîü•ŸŽ´þ˜ÿ6‰Hëù`“ˆ´þ[cþÿ-‘Õ¿F4õúÿêÿ#û9ý[ýúÿ­®«_ÿßú7ïúÿ€ÙþZ~ ä /DQÿf]ÿ8Û_ËO~"ü(êß¼ëÿ«Ïö‡ÍÈÎH‡|A ŠúÛ¹þßSãûü+øÓ]ÿ w(ê߬ëÿ«ÍöûÕöþh~M ø QÔßÊõÿa?¯ðž©þªŸÂGNÿ­wý´ôßZùúÿèê¿5æÿ£«ÿ@¤õßóÿÑÕ Òúcþ?hÒüÿ†®…Žœþ­;ÿ¿Qýß|}„ôoÝùÿ¶Ñ¿¥æÿ«~G`íBDQÿVšÿüŽ€y›Žªˆ¢þ-4ÿ¿fÍZO@õo­ùÿöÓ¿…æÿ«~G`«Zjþ¿êw¶àûïÖ›ÿ–þCËÎÿ~¦ÆÈòùÓs'{—Oö/“å‰ÞÂW/®íqwž;»üܙ僯—‰åÃû»É’ì¥úN[*M§Ç¦§† ù¾-¶37Ðß. ¿]0ý~rþøEÇ} z—÷:./:G)õ8Ïv9ûÏ,í?ýëèoLÿ¯ÏŸêwN÷¯CЉ‹+„¯ö¬¼Ò³Lxèœóüçà™åC¯Ï®Bÿzãaö²‡Ð¿¡ðïÿwï]ðú7žóŸ€ýç?„ÿüÓ¿ÿCÿÆÁsþ°ÿãü§‘ðŸú÷èß8`ÿ· œÿØþÿ² Ì¿Ùô· èo˜ÿ´ èo8ÿ± èoÐß.pþcÐß.êrþ3]ÌMÒ…ÉäTú¯u9þCÿ ƒé]xþDéÀ©™ƒ§Ê’d“ðÙ“sûN”÷›'–Ïë[…þõÑÿGû5?y4Íž/è_/=§Jå{÷ |ûñžo<|ᎇ{üü残w=~ñÞ½ÉÉ™ ô¯/ˆžåÒä,a¹07;=?W¬TÊ‹ ³‹‹•åå…ååE••¥Ë——¡}ýíúÛô· èoÐß. ¿]@»€þvýíúÛô· èoÐß. ¿]@»€þvýíúÛô· èoÐß. ¿]´´þºËz´ýí¢™ú‡ÜÊ>ìv÷A?a»åÐìý_Ýʾ†Ÿ»Åþ_wýÃ~ 6ìçn¡ƒô_óv÷«Ð¿aú×t»ûÚnjqXÒ¿¶ÛÝ‹ÞoáAKŸ¶ ¿]@»€þvýíúÛô· èoÐß. ¿]@»€þvýíúÛô· èoÐß. ¿]@»€þvýíúÛô·‹úè_˜(LŽLæ'³ ÿºýíúÛô· èoÐß. ¿]@»€þvýíúÛô· èoÐß. ¿]@»€þvýíúÛô· èoÐß. ¿]@»€þvýíúÛô· èoÐß. ¿]@»€þvýíúÛô· èoÐß. ¿]@»€þvýíúÛô+¸óÁƒ“Ù~ÉRi²8=6=5TÈ÷éõŒçÎöWF”¶…çðè?]ÌMÒ…ÉäTú7Ðß. ¿]@»€þvýíúÛô· èoÐß. ¿]ØÑÏ-1Ší{Öß·ó;Û¶}§kÓf¶…稣þÛb U…}t{ìc;;kVúר¿/{•§Àm½eßze‡þµë¯Ÿ>tŸww~ ĆZî¼Í|áx{é5´Wp ö´¾´sÛ-ûÖrk[xŽFéïêLÔ`KŸPzA±÷·ÉßË}Ö”†ú»îùØöÛn¡6n¯Á­má9«¿¾Óº Ã÷미„tF/¿wßmîkdßmÔì¶G'岪[ÛÂs4öøx®EO¯ªú»{þºÏ³#Ïú*XË­má9£¿<\hÇÚõè%N™¨Ú1ß³³}ÛǶÝóm½……¼'WAnm ÏјóOñ¦™ zß\[ÿ ^â_†m·Ýâ{M©gGêC^2š[ÛÂsàÿ_»€þvýíúÛô· èoÐß. ¿]@»€þvýíúÛô· èoÐß. ¿]@»h-ý«ò»IWíª¿¦ÃK;·}lçžðå¡ôw5—×PUú7@ÿ®{øÅ “{nq B÷Jó*8º¼eû6íCüÐëè|:·ýõo¡ÜsKì¶G'Ý ¥bêÊí*P~é¯4¯3Q—Žø®£ãÄõok’ œî–Yãjœ˜GUÏE#1ýyñ]G'ˆëßÖ¤+Ñ*‹wÏšú‡Ìqý[M‡ Ï´ßÙÎÞô“"M"÷ø£vã ëè$qý[­‡ ¯üíW¾)W¿XÎÓd8Çõo£má9 ¿]@»€þvýíúÛô· èoÐß. ¿]xõ/L&G&óƒ“٠п €þvýíúÛô· èoÐß.l꿱«}¶öý¯6ª¿y}‚y‰ôGÝô¯Ëô ½ôºüL]ð¦®m«ùj·6¹ÿ[]Ž?Á—Ÿiö슸u\íÖ6÷«ëþ¿Æ]•j¿Ú­}îÿÖ8ýµ½}í« Ûöþo Õ_¿¶m}W»µÍýßêuþ¹'`Ý'Þ ù=ÜÖuµ[›Üÿ ÿÿ6Ðß. ¿]@»€þvýíúÛô· èoÐß. ¿]¬Sÿ#ÖukgýÏŸ?ÒÝ}Ôºtm«ÿ$=uw³®^ÛêOŸ‚#äYˆ:m ϱý·m ÏýíúÛô· èoÐß.šªwï¶[{7r3óoç­cw|—Ó¶ðõÒß6Lç5ô§Z}Úà¶]ÒÕþÌvíê úo@ÌõwéÛþéÞÝÁ]l ÏÑXýIïÉTVO—ÛÅ®¾ýÐZbzœ¸ªŠ×…ÛD*Õ Çx½êÉ4DÄ퇸±má96?ÿÀõ7tàîî·O—T.ånI$’6ÁúûœÙ÷¹Ç+á'hÿ'óiâáXÁ¶ðõš ØÿÕ~Ë÷Þ}ú³P塸m½}Mýµ+Øž£^óÏÁú{4Ù˜þï‡ÚQÿ*Ÿ¿ÿݵqx÷ë/ÑÕŽ?þ÷vPÒž;~Dò=G>Ù#®øõÏk¼ÿÒw„€ã’O4ÿÎìq¢?#ÚÛǾ»üç«â jý×Á&þ¶ÅÎÿ#§ÿûÿ×?ÔÐß. ¿]@»€þvýíúÛ…Gÿ©Éôdn8ŸíÏMô@ÿ& ^ú?Ñ¢má9꨿í¡DÐß. ¿]@»€þvýíúÛô· èoÐß. ¿]@»€þvѶú‡ AA”´þ™õVâÆô·}Ö¼uýíúÛô· èoÐß. ¿]@»¿Qô…Á¿ ýëùXÞI„þMÁš?ký ¯æÐ¿¹ÕÇŸ¦ àX¡óO»€þvýíúÛô·‹éÖ‹ÐAÁæÓú9ÃVâÆô·}Ö¼uýíúÛô· èoÐß. ¿]@»Àõovëßì׿مWsèß\„êãOS€ëßìçŸvýíúÛô· èoÓ¬7 ?‚ ‚ͧõs†­Äéoû¬yëúÛô· èoÐß. ¿]@»€þvëßì׿Ù®³ ¯æÐ¿¹ÕÇŸ¦×¿ÙÎ?íúÛô· èoÐß.6¦?X/n@AA#Êsçƒi}AAÜ"ìîÝvkoõëˆj²iAê}ºwgw [/ý=tsû­cŸ6¸í®Þm¤pWŸì¸ï®‹1Ò±ŠÿM>õä)hñ=§aúw…”·ß*öIº¹­¡úgûvÞzqû¡:Åœtíê»…î¿o»þrëVCÛyß5KQ³Ë§€,wÓÝ•Ñ[c¾®×£ÿ>q—û ;@tŸzüµ³«Ï7ö€ •pØ%Âm’Þ×ye±²¿àÑ_ÊÎ_Œæ.Ѧ¿ûq3UÓ»/LpóP ןûÑã®wÿç#õeè¦Á3Üw—HÕ”eÃó¡û¤ÅÝù2÷?p_­n¦=•šÈb€ëÜÿ»ØaŸI·.ý=cÙgŒÄžÁõS>¿úÁ³‹?×d,ÚÎÙ8ýkÜK×ÒR{ö]o5<˜Ï‚ç°°IýµÃZÌÜ1¼G¹ðKðñG$,<«w­&ä½l½úWIÒïY¦B2”~¶sÈUòu9þë¯\~.§=ã2\ ú/dþ¨½s)χ|5G¿:éxXËòW7{ÿ û¡^óGWlSOD}Ϊ±õÏrͰƒLS”ñ¾ó¶ å+Âÿªáâ[üÿAAÁÈÒúpÚœ¶¿Ð(XŸAAl2­Ýæ´}þ ÀÖõ@ÛœÖ/AÁ6¤õ€6§íó_¶¬Úæ´~‚ ¶!­Ÿ´9mŸÿ°u`ýÐ6§õ @AAlÏ; Z¤õAAA›@ëÿ€·9­ï ‚ ‚ ‚ ‚ ‚ ¢õ/à´9mÿ šŠÂÔ˜ã,Ù΢}Aô'ËJe¶TÊ ¶Ói;0ý‰ø•Jyn®d;¶ÓŸìùDüÙÙ¢ítÚLÿÉɱr¹033e;¶Ó?—K•J“„¶Ói;húç m§Óv`úg2ÃÅbú7Lÿ‰‰!¢?¡ítÚLÿññäôtöÔ©£¶Ói;ýä”<¶Ói;0ýÇÆâSSãøÿ·ùúON¦ÉS°ùì5/âÝTŠÝˆ]»+vÕ݇p5†«}¿.áj|ù Â!Â!Â!ÂY9W©nY [2\2vÍ#WßpÍÚ3y¸f½îáá®…Ã]‹p·ŽpÍ;W¹¶¹gbñpMÞ3·öËá¢îÆÂ!Â!µx¸&«ˆpÕ-k!ÂmõpÉz}Žpþ|óÂõô?þHsÂõô«å^ˆz¸MÜtñÈš26â¹C8„C8„‹èAl‡èM ÕÌ7 ÆZß^›ùA6Â!Â!\cÂ5ëŸåæ~öZs¸Éɱ:†#ÞòùÑ\.•É NL Ž'Óér¹°J¿uRÇpì ììkÔ¥R¾XÌMOg …‰ÉÉ4 J w×1œˆÅ±Xî7hD¸þþSu Ç1Ò(c‚i¢* ÔÓs´áÄ5~2Ü©SGYI®«ëå:†“±I²ç°% wæÌ‹õŒÅH1²p‡êNF!Oœ‘¼4خ҈pbç“i¸ w°¾áX,öZ#QX¬löR#±@òµÆd$±È†OêŽDadG3Žì'ä8V÷p±÷t½ùúþ_¼­ð–?H†ÙßÙª·)ÛýÓû×Û%52¼ûáo?vç¿ztç­ù¼ý¯ŸGZÿ-€Hë¿ý¿Õiý·"­ÿz÷ÿÞ gö<ô''üƒ÷ݸûG·zöáø`ïåË—”^-ˆ´þ5b|,õâžï]üÙsG>µÚùÅå“ÿmèg¿}à®+ûÓŽ“?¼êµ¿{Ïs÷~æ™Ç¿e%·Èé¿÷hÏ×ïÛï'©´õ±ßÍúøÒkŸ_=÷å™—?Ûÿø{ÜÕñüw:Î=x]fÿ‡Çö}0þ³ëNßåSß|s}ò~ছ®Ù?¼û×Ï?tefÿG‡wàâ£ï<õ÷÷»<ñCWÿÝû?Õ“™ªT1^E©Êˆ•”¥¬–OÜuõŸ›+ÅL Ç»™þìŒH_^øÉ‡V»¾²püf_ù\á…ÏŒ?ûÑÔžö>ön&>yÈ낞ü3ŸþÚ.Ë÷wýØ.Ëâ 8¼C½F†©¼±˜¦¼î=AÔ<ŠúÏÌŠÅÉ©© 2”\vtôÒ@¼·3lÿ?·ë+§o™;zsñ¥ÿ˜?°-½ïwFžþ7½ýÒépÅ?þƒŽÃwwúËŽúzþžwÒ@ýÝÑ™ËoöÏ‚+¾vØ!Eñò‰¢þé‘DWÏ)2¶Þó'º;t|!LÿÓýzåØ.½ü{S‡>™ÙÿïG÷^OŽ?=¼ëØ÷Ý=Ÿ‰ÿÜ·;žøßÇŸ˜qìÖŸ>;v¨gƒîÞ;t¹Æ1þqWQÔ¿»óð‰—Ÿ>z৯x‚ðÈóÿøê¡'Ãô?~ß¿œõ³¥—??pÃØ3&;òÉ÷ŸèDöÿªãàw]ñ÷«ã‰ïÞÐ9ä Á›ô²ç‚ïùêíVn“§ê&½*jú¯÷üÿõ×^zæGŸ?ûàûSOÿæÄϯ¿ôÔ¯ÅzÍÙ_ùÌŸwìÿ‹Žg¾Õñø¿zäà?5y‘Óc(Ï̼øìCûøÉνcà¯î¼ÿ­»ÿOÇîoü‹g~òW VR⯈(ë¿5æÿ£«ÿ@¤õßóÿÑÕ Òúoùÿèê_#65ÿ/NÜÍIœº!rú7wþ_Llµ}9ý›:ÿoL/¯[WÿfÍÿ«96@gþéÓá™Ü¨Ñ·kÏ"}A¹ÓA;vÜÉÿ¿š8ÿ¯íÃúÌ¿ÿs€sÿ—íò3ñÄEQÿ&Íÿ¯†ˆø¹€§fÕ?Í?t៚‰&÷óÇ1ý›4ÿ¿®•ÏB*©òâeqý›5ÿ¢¿ÿs€ß{7}ŸÐê(êßÔùÿý}Ÿ Öˆ÷oós/_÷¨éÕùý?‰(ïÿƒõùí iëè¿5æÿ£«ÿ@¤õßóÿÑÕ Òúoùÿèê_#ì\ÿ_óüg´ôo¹ëÿÃtÞ¢ú·Üõÿí§¿ëÿýó ìß)ϼ¿úÈ`Ǿ/ } Šú7ñúñO«vU§RR–Ô´šùO®ïˆoÚEý›wý¿gÆ&ðšÛ*stþ ß *Šú7iþß?c¶Iýý߈¦þM¼þß#WÈñÇWÒºheÏ tdõoÞü¿þ |ðû¯²r۵à {ÿfByÿ·"÷ù¯ùcú¸žˆœþÃÆæÿµÝ¿A—¿E[ÿ­1ÿ]ý·"­ÿÖ˜ÿ®þ[‘ÖkÌÿGWÿaíþ?5LFNÿ–›ÿ¯‚­¨ËÍÿWÁÕßÚü¿ºÿ¸÷>71¬]ÕS×9{>ð Šú[›ÿ7¾`šWõó®Õ? ˆ¢þ-1ÿ¿Zõîê{.áW­SDQÿ–™ÿ7g§ÛFkóÿá÷ÿñîÿ¬kõomPDQkóÿ¾¯´“ùÆ·|_AÚ*ú·îümœx9ý7†fÌÿ·Ÿþ˜ÿ6‰Hëù`“ˆ´þ˜ÿ68ÿ_Ëù̆ÎytDNÿæÍÿCÿ 4oþú·jÔlkÑl¡?ôogBèß΄þп ý[Aÿw~nŒ=oþý܆éþ¬6¸^Rý¯üÌàÛo~Ûï¼q[ÿ†»1¹)Þˆ$oÜoHÆ~ñ騵Pî[ܵ ÚKûšÍñ]÷Ç®º´EÛó­ˆÂÔX¹49KX.ÌÍNÏÏ+•òâÂìâbeyyayy‘peeéòåeFbOzÝùàAýuº0Q˜™ÌNf/èõ˜L^Ðß. ¿]@»€þvýíúÛE3õ¹¹Ðæ.ªˆ8š½ÿWùŸ¶„ýħ-aMÿ6ÞçuØ;þ´ñN¯¡ÞÛú¸ÙûÃnîQ4}ÿ‡úê¢ÿÔdz27œÏöç&zðÿ׺ýíúÛô· èoÐß. ¿]@»h¦þ1ýs˜z hêþÏgÝ0ù¯ÐÜã¸S&ÿìèßÞû¼Žf0ùo¢¹ï¿Úa“ÿ8ÿ´ èoÐß. ¿]@»€þvýíúÛô·‹Fë¯ÓöX[ ÕßCÛcmE@»€þvýí¢þúçGýÌO¦mµQwý³™¤ŸJÛcmEÔ]ÿKÃç(Ï›t+mµQwýÏœ~!Œ¶ÇÚŠÀû¯]@»€þvýí¢¡ú{~9×öX[ÖßöøZÖÿ²ÂŠí±¶"­ÿ ‡ã¬@ÿ=‰¼ë²_]þÎ2]5lÓs¼àœvN÷/ë®9Wyélå…3s^ŸþôÜþ“•g_›Ûs|61¾H,‡S#«ëÑii‘þ¹´<Ô–ÓŸˆ?’»<8~ùˆsþÒʹ¤s6¾rz`ådÿòñ^çhóâÙ¥ƒ§ÊIJ«ÏF«]ÿ…Šå¡¶$˜þdÏ'â÷:ç‡V˜ò§úãã=®ø/Ÿs^<³t¨s–X¾ôúàêzôŸg˜s–‡Ú’`ú»Pa{þ™¸C”'ý§4XjK‚éOÎ3Ù1G d™<Ï‘—Àëîþ¿^ýóù|Î¥ûgy¨- ¦ÿÏOλg;”Rv%þÙåýg–öÓóχ÷w¯®Gÿ¬‹ A6“µ<Ô–Óßkóä<“œê3JñŸéZfÜ÷úÒ³'çVׯÿ¸ËCmI0ýŸzužœm’§àÕž•££ôUpè‚ó|óìygÏÙå§O/í;¹‘ýtt4Mº°<Ô–Ó÷Ñ9r†Iž‚Wº—_>ï¾Ô³LÄî¼»óïé\~êÔâ¾ãÑd$5B©\ÿ¦ÿ“GÊÏ¿¾xðì²ûÖÙ¥Î.ìrßsŸ9³¼÷õE"þÓ'+{Ϭ®ÿýwXaÈòP[LÿøèÂó'JNÍ€yÉI—Ò2opD7}Gó‚b“wÉk­!–—(e½»9É+ N ú›Âèë2,¨oÊ²ÇÆÇœw3“IrN¸ÌfªÑk3‘p™¡$õ”™‰D†Õk䕱ƌ´¡ÝÍ8a†“{c›²)룿2£Ñcã©ÌŒSzœŒ»Ô›2²Ò-*JÝx|pMfÇ/ Ÿ»4D9Ä*MžÖ¡ òÍacS™ w¹Ôì)IM×%Áa“—‚šôÍKU+ýMþÍž¥ ìr6Èr ê·I›Oûo@ ‚  Æ«°=ÿÚî¸Ì°rÙƒ•r0VJr;Ì7mZ °âYšøâ†ºµ†¯¢ëÀNkŒ<°ßJðfˆÝгâ8$‡,Ý?Zd±äàíßÛÌ\ZÈ^ŽÜÖ]¬ðPÌÚÒÑû8ò!’”Û2¦²R«ej.e ^¡j=qäÐÇpâ8Z:j*¢ž™ UEáeÇ¥û§¶E--8¼N,ë¼à8Fs€‰fÁƒ9z=„éÊÑ5òÓA&f½#"j±õ¤ñGéóä¨È|ÇBˆÂ‹KK‹‹„äÁJ´¼¤6]R°6ZZ[‹¼E3RàyfGK´+«íÂjiÑp¼¸¨œ-êÁ´45ÓE1Ed´¸¤†¡ùZ”]–üDÞR}ðÊOaQé#FPEáÊB* ´ºR©¸ew³²ÀWZ¹ÀëEI®+?¢’ynõÞ2beÁë§b´ÊhÍH7ñŒAÏNÄõÄäCT¹ª4*t ZÖ[ºHV¼¥ºÂósósÆ–¬i.ÄbÎì:çwêÓ´%ŽbÌù½iéÎUM\ºõt,Ìù†âOB §ºÏùlýESáÙÙòìÅ¿û”8ýÔßõÎκubÉeZã.ËôOÚH”ËffSÖ«ä’uÐû¨ ³2NÙtÅz•µš×§? Ù»\#0’Ô²Ò(˾VñÁ9c7ƪ‰h¶”J?ÿJìS÷^˜)‘¿™ý_ùÊ~²¢33|U*¹œa%¥Õg¦$êD/Z(‰Î¢g‰U–„­0¶Üˆ5‰MÚ*mK*ߎJ%\f0£"ψñ̨S5 ¹!ÝË1”4ÃÒŒHt9”´<•˜Ráéég¿ûòϧ§§‹„äA—Ý?ø$A|ùYRA6?ùƒnbQ,ò2]þàË®Û×u¢uP݉i‘¹tûº¦åÂÅ4+Ѻb‘ÛPÕ£È[dõ´È—m¨mæ±X”V¬8Íýˆ†iéŸ'Ârcé O,Oé@‹ÌIÕŠ2½¢ò cxæ¦Å©©©gÿ˜JõÇû¦¦ dsªàV¸[SSçvnsKçv~rÛÎsS´T‘²ÛÀm¦¦Î3+Ú—Xìûc¾U(0cîwJøŸÒ·Œ‚kA> ÞjŸ¯‚¿®RÖ½û»ÉBÓ.ˆ¬|^ ž¢f‘Ïår{nsŸ…í{ògïÙ¶íž³y·%wæžm¤ê ¯qÁZéòŒÛ-'íó´‹»iÌpܶ'/ÚD,Qʩ֞͜ËÉù0 sΉ…Ö#`r%Ì®9n«ç¦E–U9#Q·U&›SÕy#}Ý“2Ò»g3Ù ]d²ä9¸mOçß=;YCçß~"ö¥§;ïùÄ'îé¤&nÍ'þ¶“ÛdÝž¤•”3îÙʾÉ}3ïü‘¥vY4«×Lhi¤è*+}i–ÊžšdxÄlVºQÖÔO–»Ëp—“ìÕSÕºf„‡Œ2cŽd$™5WVbÖH"#²  ã§ÿæ_Ú=Î@ÊŸø›Ó㻿‹±:Rá–øJÔn)»Å¤q­;°&Ò£'ÿúãòXññ¿>™%ªî‹OŽŽŽjF¿õ‹'VdÛµM“¶´aO:ø\ºFÔ‹»æåQVæ~Òl¥›Òë.ºÒMn9*›”Ñ‘öLËèšÕ#­"P+ÙJcŒòª´ð¤%«Qcã•'žœ “Öì\Œp¤FR)wÁʬ‚—4ðmnê7H”S©”ìg8Ñ‚é=S¦™J(Å’TŽõæTŠwMé©§4Û”/T* Žå+‡©\ø’2FÈÃkùx‚†)<<<<44ì.Éß0-KÑ,1ä­ÐÛ†”•ÞCk ê;$›qÕrHÖÓ!¾åsš›'ÁÀÍ*Y iÈS1Ä]~DeˆÂ‰¤ ¾LºHÒkH$U%­OŠÔœU°-Ú)ÁÍX÷„VLj l±y€„á’Gà}¹ ·“¢Nf˜ÔãÉN*'> ¤LIä¢òJÈLJá6‘Ô EY6ˆŠñ†(w1ÈAJqúÛ”²ÕÐÚ8¯ÓMÝ…ì.[”A|PÔÇ•ã¸Þ™WÆ™™\ÅUàAé=νÄe•ŽŒ—ÍtâÆJëÁÊQêÕƒš-oaIðTµd„8R¤p…û ôa@oà> £<@,<5r5@ÿÌ.zÚs@³0LE|£ÑãÓ3-„ž†Üðöô{ò ™mh›fEH*Þê^‚¾Þ^¹ê[}‚ÁèëÕÚû4K³¨­¿'os„yJYÎé¢$õC.sA4›rœI݆lR’rRgNc>— ̹KÖ*7yAÒ³X©mÆ ó¦Ÿ¼[Ãê)³.s&e%7æõƒ„n}nÐeÖd`e03ã`?¥,ÔÎ>ÊÀÊsŒ2¸²WÔôjì›ï%ÌŒ¹¤…‹„¤L7Ýšñ‹²Õ¥ÛêRXº:[3Ïh¬Ò´&ϸÇyÉ$åÐcSr¨3ÈØ´ ìèåë+7ÏÓ”›§uêGZ°ù´þ‚ Z¡íûß·;lO<·;.S¬\^ +%¹íë¾¢5­„Xñ¬M|qC݉ZÃŽWÑu`§5FØo%x³ª]XgEÁ¡+ßÛ+ŽVI׎£YàfÂÀqô.wæ授쟼§´s¤c=œž©fàÈ…Y맆ût´tÔ TD=3ЇõWú QxyÙYvá¸+ñp<Ç1šL4 ‡U9z=„éJö3ZsdbÖ;"¢[OÚ”>OŽ€Ì7pì)8»a"+¼´¸ä’bÑý£‹‹bk‘·hF ¼Ã"ïÁìh‰veõ¢CX--Ž™«^Ôƒii,j¦‹ÌJ‹"2Z\RÃÐ|-Ê.Kþ"ïEM¼òÇSXTúˆ,ŠnÊÅ’Ú¬¢pea²B–lU©Ð2¯%¹åÝFzaÍ•ŠÞ[XV* ^?£UF«hFº‰ZúSž*oL·N˾¢¥Q¡Õj´ÞúÐE²úàÍ(ž¼ÌQH-‚ž÷bŽ-ç| ¼uÎÜ”=ÌR€OÓ–8 ˆ1ç÷6§zÍ…GÐÝz:æ|Cñ'¡…SÝç|¶þâÜ|ÕD …gg˳ôQv×tY¦¬VG¹lÖh6e½J.Y½ 2+ã”MW¬WYë¡9p}ú³½Ëe1#I-+-²¬ákߌ‘³1vc¬šˆ^-ª)\š)ͰU©är†•tÐæ’Z³:Ñ‹J¢³èYb•%a+Œ…-7bMb“¶JÛ’ Å7…#¶M<ƒyFŒgF D˜ªQÈ é^Ž¡¤–fŒ@¢›È¡¤å©Ää=KF¥_áééâ4}¸+²(ÙÃÝ-tkZ«”¦Ì5tËÔWQpSZÇ}…\EÕ›„m‘Gж™ÇbQZ±"Xg*‘i-]ቢ¨2ŸV£RŽŠúØ•CWK™j-A O Œ•Zm¡ m ^‹‚aî/úö¶ä£à­öù*øë !eÝ»¿›6¦°´ "+Ÿ×‚§è·I?—Ëçòù<[*äXmʉ}¥oj9ÝC^ÛæÞ´îÒ¿nföæ®s9³!—ãYçå*¯Rպ渭ž›YVåŒDÝV™lNU{G¯<)#} ¼{u…3Ù E6#JQ‘ͺVb…,¯Ïˆ¶¬Ö]<4[^V®³*RVDβFÂDØ«xܹ‘0+e]0wîRx’²zªZ׌ðQfÙ¬,é)ñ1fµ!f$”Bž@ V‘N¦GGÙƒ-ÜUšÈ*-JÜL«åÝF¹¹\Kó47Õ<¦…ešæAGUWî=-ºz2‘iO]ó¯z¤U>JÞÊ“ç‰OZ²*56QyâÉ©0iÍ.­Y+œ1Á·S©ö7’ l7Ê)j­UÉ”±¥ú¥<5܆Ôb¦ôæTŠwMh™¥4Û”/T* Žå+‡©\ø’2FÈÃkùx‚ްäõA èQx˜`hhXÇ·BoRVz­1¨ïsëé:¤–C²F˜ñ-Ÿ»ÐÜ< nVÉ*hHCžŠ!îÒð#*‡eÖ¾þá 'ä/™  %RNRÐjN±•Lðí-%E/&µ¶NpOI a¸ä‘x_nÂ-dन“&õx²“ʉ()S¹¨¼2“„Ò@¸å¶jðI9•¬LGÄVbªÌÂŒrÄi)Îlƒ¬â¢·º´N¶(ƒø ¨§£7ˆ‹:êG¬â*ð ôç^â²JGÆŒËÀf:qc¥õ`å(õêAÍ–·°$xªZ2B)’®¢”Høª¢p?Å€¶ìà|[o3ìˆå€§F®èŸÙEB{hV†©ˆo4z|šÐBèiÈ oO¿'ÏÙö€¶iV„¤\¦poooŸ`0úzµö>ÍÒ,j+Zê3» êçïÓ'R0Âû÷94BÅ1LûÖðÒ¸ÏÛ^EaÛŸÿ·;¬_‚ ‚ ‚`Ó»©Úä ÉÆ0a‰öÒ¾qC¼fW0¯}dS s[ ¯µÈÍz¼ênÐ"m}ï€èÂú϶9­AAÁ¦ñܹàEZß@A›Ì\v —¤ð•«2£t®Ñ±_QÚgú×bŸo³Ï,ÈòÆØ«8!Xéi2*/šd«sbìb†rbL•ý›zåÄØB_©q)Zi9}ÑØ4[3i—c=Ê Rvkz'Õæ˜ËàVÚ4‘®»µB·YÆó”Ý£”|“rTke–£Ó燓§ &(+kÙ$ÃÉ=œònrꛞ¦úò¤uQÊÍ3§_-Òú‚ h…¶ïßî°}ýW»ã²ÄJ@In{«DmZ ê¤×µÉ&_ÜPw¢Ö°ãUtØ©JpÑ6:ïfU»5â\VØYqHîY¸kwI×[Êmn& GïâpgŽaîp¿Ž#|òžÒΑŽõpZRZ‹ˆÁ+T­g <ž>îÓÑÒQƒPõÌd(Ö?\éGê§ç-ìÃv–9xÁQ5žQpô>޶ZvaåxzjÍÞVÇ\™˜õŽˆ¨ÅÖ“vĥϓ£ ó {@ Žðn˜HŽº‘vu…—\,RТĢû·H«˜¡kGKn=+Èvaµ´h8fv¬zQƪ™±fºÈ¬´("£E±\2|-Ê.Kþ"ïEM‹º¤üñdîŽwäÉË®jS‹&S3‡¢pe‚¯èZ”eME®*ôÏݬÈͲRYðú©­2ZE3ÒMŒÐÒŸòT©xcºuZö-Š ½Fë­âVd²úàÍ(ž¼ÌQH-*9N‘“Æ£ üsäÏØ‹y³äíå³%Žæüæs~osª×\xÝ­§s`aÎ7Z8Õ}Îgë/ÎÍWMt.ГjÕfu”˳ec[.d}ÙX²zŸrY-]Ñ®¹b½ÊZÍëÓŸ…ìí:.›!¥÷Y-t¹ÌÃkÊeߌ‘³1vc¬,“²×¤¬Ê‘¡éÔ¯ð G‰ü1²5«c›¼@@3²y¦Ä*KÂV [nÄšÄ&m•¶%Šo Gl!šx3*ò w ÒQ¦jrCº—c(i†¥#è&r(iy–¼j•ŒJ`FK·ŠÂÓÓEBò˜+¾á69\ZÏÊÅi¹ ­¬DëŠÅiaO«å£È[¦§&a[ä´mæ±X”V¬8Íýˆ†iéŸ'2­¥+<ñQUæÓjTÊQQ»ò cÈœ ™´)›pU4ú(<ÅQ˜’(´íBÁkQ0Ìý? þÖ‚|¼Õ>_]!¤¬{÷wÓÆ–vAdåóZðý!é9P çòù|Î]UÞXé›Ú/IÜÚÌií¹œ¬‘¢"§e r<²X‰³kŽÛê¹i‘eUÎHÔm•ÉæTµwôÊ“2Ò»çÄ0ÍAê „*œÉf3™¬»¤òȈ"«Í¸U´V>4[^Î+eB›˜áLúÒ,•½ŠÇg3š=+e]0wîRx’²zªZ׌ðQfÙ¬,é)ñ1fµ!f$”Bž@ú3büÕ¬b4%´»&%Vä•£îöè(_Ñm¶–æinJËÊó¡Léƒu]¹÷´è*ƒ¦µ¼&­¢kþU´ŠÀ† Zyò<áIKV%¢ÆÆ#*O<9&­Ù¥5ëQ‘¦HE3DáÔÈ¡ŽT@9•J‰rJoàµ)oÏ”i&‹ÔMJ‹™Ò›S)Þ55"¢–›¤|¡Ru,_QÒ\ø’2FÈÃkùx‚ްäõA«4ý>¹iu…‡½’%½Voöcˆ>†Ls¾Ö; )Ó!¾åsä?(ÁÀÍ*Y iÈS1Ä]~Då°ÌÚ×ß—ÆPè( …Ée2I ú`Û ZJŠ ^Lj lÍØ³Ô]2C Þ—›p 8)ê’‰„¯+$Uä„è©ûdRË+!3I$xŠÊ-·UƒOʨde:"vR:R™%Ue2!óWc Sx0N0Èg ·‚ÖÉeÀLÜzú0úqƒ¸¨£~Ä*ÎM¸æ%νÄe•ŽŒ—ÍtâÆJëÁÆUfözz¬\tГ”#åY)?šD—֦ªuU¸_b ßWèðÔÈÕý3» hF´ç€f5`˜ÒՀDZǧ‰-„ž†Üðöô{ðT˜Ý<!©WëcW¹¨jØõô±‡»"KYÒ*åZlº%½„¾~þ>}"#l°ŸC#dPôo A!ýû¼í}†X}ƒ¶ýù»Ãú0 ‚ ‚ 6±›J MÞ˜à¼!¹ &ì1âi_ûˆà®Mð{ŒhÚ‚WÝ Z¤µ/~´+ Scd™Jõår©|~Ôv:m¦ÿÌÌÔØX||v¶h;¶ÓrÒý/xffÊv:m¦.—*•& m§ÓvÐôÏÚN§íÀôÏd†‹ÅÜ©SGm§Óv`úOL ý m§Óv`ú'§§³„¶Ói;ýäú7Lÿ±±øÔÔ8þÿm>¤þ““iòØN§í€ëì×?Ø®° \ÿÐR¸óÁƒ EZÿ‚ ‚ ‚Mã¹s‡A‹´¾€ ‚ 6™¹‰‹¹ÌÅÜÄ—Y¾HyÁ{|›=Z!Ý”z¡GÆ»]ÊJ¾ÉxžÒ¬?ÏëÇ f'\ª¦ Ás„Ywé­”ÌRN¤ÏOŒú˜>¯êÓ&GϹ”Þå\Íì2XÙž bõVÆ3&UÓx@ëNœN¼F—ŠC‰×†ÜÊŠ¦&Y“Q9ÄçÕ§Ô-¥ m¢›Ç)µŽqVs\t9^ ‡5z*=fµ9«….—yx-@¹¬âƒ1rž5Úô±²LÊ^“²z(Gr„¦ÓÙ€±USx¦DþfÜ)Û¤(±JºYb›´$l¹k›´UÚ–¸/e+±…hą̂È3ÜJG™²ž%}Cº—c(i†¥#è&r(iy–f4ÿ%ù'ÛJ2O•ÌHö V¸È0]œžž&«iVv |A[Y‰Ö‹ÓžVËG‘·Èjf[ä´mæ±X”V¬8Íýˆ†iéŸ'2­¥+<ñQUæÓjTÊ‘JEŽ`zº¨ç<-COëfEÞUµhôñu©…)<5U(Lqôµ¯Vü(ø[ òQðVû|üu…²îÝßMŽ švAdåóZðý!é9(LÙxó“‹|>ŸË» º¤¼$ZÔvŽþ‰í\NÖȇQA]çrfCŽ€G+Ñ`vÍq[=7-²¬Ê‰º­2ÙœªÎéëž”‘>Þ='†iRWÀt®Ç¨ªp6ãþQdÕƒÔ¹Ë,«kÃŒ­ÜFꀮ²Ò—f©ì©I†GÌf¥eMýd¹» w)<ÉY=U­kFxÈ(3æHF’Y³qeµ!f$2"‹¬'>ÀŒ¿Lª¦õ¯®ð8`££éQ ²J§åšS”GYÙÝäméÑ´nJ¬»èJ7¹å¨lRDGÚSE×ü«iZÉVžž #,y}Ð*M¿Onê7H”ƒâ«!mÃÀ} ™æ|­wR¦C|Ëç.È¿Ö:Tu³JVfë·F¦94äñ#*‡eÖ¾þ¾4†BG¡ZüéxN$ ú Ew!¶Øš5°-fé.¤iÒïËM¸«`5¬.™Høú°BRENˆ ‘аO&µ¼2“D‚§¨Ür[“2¡T¥#b'¥#•YRU&25Vm`\!­{¨ÂñA ¾"kZŠÇãîBÖǵ7Œ33¹Šsî€y‰s/qÙ‡Õ1ã2pÜH'n¬´Ìa\%af¯§ÇúÇE=™A9Rž•ò©K_Z›¨ÖYOQë7‡äS¸`` ŸÂ¿ ª™/ØbÀÓWw2àqìñib@ ¡§!7¼=ýž<•f·OEH*ÁÕúØU®Þt=åê ÷ööõ2ô+ZÒËAè éçïÃ|õi&}}!ƒâ¦}kx éÜçmïÓ={“í}}† Õ¶ýù»Ãú0 ‚ ‚ 6±›J MÞ\7oLlŠˆ¨˜Ø7·a¡¯}¤Ù¼fׯ¹©Ð»Z‘WÝ Zäädš0Ÿ%ÌåRÙì¥Lfxbbh|<9:Ú¿ººÚÙyh•Þ¦8ìdÍ›8Ñ£\‚=×ãã ʤ($ÆÆâ„$û1¦îîWê®úwOÏLNŽÕ1ÜñãûŽÛããÞ'ž%~ææJõ 7?W¬TÊ‹ ³‹‹•åå…ååE••¥Ë——Ù½îáÖüVýöÌGèQeŒOÈÁ„OØ!%(— «ô÷GêŽý”!ûA=r)sÓÓÙBa‚ÙHPhx¸»ŽáD,ˆÅšš—áúûOÕ1 ÄH£Œ ¦‰ª$POÏÑ…cQ$Y¸®®—ëîÔ©£žX¤†½%±pgμXßp„DFB‚mÊpõ{¿SáXD=yi°]¥¾áÈ®(£ÈX"\‚†;XßpzD…‘œE4"y•1Ê=Dž±°ãI}ñ„½âô$²ŸãXÝÃ5ñLì‘æž‰=ÒÜ3±Gš{&¶öè$ênó?oQS¸dϬjY ájäùóÍ ×Ósüüù#Í ×Ós¬–Ûëá6q_å#kÊØˆçá®á²ân·pÌwQÊÊ®¬ÚìÒ™•L¿Nn"t¯ÂT§¿r\Ðm¥¥L)º•#' àŠÛñ 3ÊFå«”¤üªËxESrà°pM¸‘qZÛœ]á® ×nà,zMÔîrn.Tc¸zÝK§ÆpõºuLáêu§”ÃÕëÆ 5† ¼™ÃîƒQc¸zÝö¡ÆpõºËAáêõ¥þÃßÌÞÄwØk g|õz_Ù®1\½¾¡¼v¸kجQ}Pc¸z}ÿ´Æpõúºeá¿Ƿ¾oÖ®^_¦«1\½¾;Vc¸z}UªÆpU¾F£}‡Æ÷}_ŸÃ5ïLìšæžg"Â!œ|™7ã‚ÃDìC/óp›½$¯†köþݹØ_Œ]û˜®á—“=â"…_ùq󯤺îíäàzEð1÷]äñ¥Ø×bûPì#äïwb%¥ëi[GŒÝ…Ø-¿»£Žú-„w{¶?ûF+i°…ãoýà¢;øã÷øZÇ[Éãkÿã}é«;~㶯ÑöÇÿó7þÇ×¾æ¶~Äs„w{ÿQ`œÕ_p—Ÿ]Í·?ô&ÑòõŽ«{¼1ÿN²¼:öoßüý;~‰”úßv5ÝþéãÃW$rï¤6×M½3öîÂÎ;>Bl>Lì?¢õy)½ûͬÏÉo½/övÒö_Éãf­ûŽîÚþìMß¿#O®Ï›¾ð…ÛéØÖh¯†…7²1}ýï³Æ¹ÆQ­üö7©òW¹»¦}&Õ8܆̛Ø8®Û÷K²Ï{ j7½zELä»îgÑÃwŸûþ×QͯŽÝ<¸óWÿHŒ ›õ }õ­ÃWtÄÞ»ìží_nŸÿÊõ¾ÇÜùÓÆõ{ß3®.WÇ:Þðö˜Ðè ßê¸ô[ß»ã‰ñ‡7Þ|»žˆùö· _áúx/y>œn¾ÝõíÅ'¦XŽ?'Ϲ»íO]ù¹ÛÝÝm7G׿¤üO¿Oüdø Ñ÷Ãdûm1¶· _.Üýµù^L?{¹:ö©<Ëå½%6Þâ›ØxÝñýʹ߿=Æ÷c÷dò>âû—ßú·˜ìîößüCÿŸ’ögÿùçngûÍ7::Hô|å¹7^š~gì«ïûþ5Û·Þ|ìèí®C7ÎÞé÷Ç.í¾Â]S=ÿò}±³¾ùö{ êypñ²þyit`èýtŸøÎÛ?G÷Ï…â;cŸ"ÛŸÿÑŸßñ‘7|ƒ¦ô–_»Â­¿ŽÔÿy¸ãsq‰”ÿúŠÏÝ~ Ãí{3‘é W|‡ÔÝôÍçHyï'åçŸÿþŸgû‘x~ßÂ_ÇŸ ãy7ß¿.í鈉}m/é'Ê/’òÏþÛ?pÜŽ8nà¸á?nÔ ×ù—¾üß¿ø?¿&Îmª2âtr«áÿ#<Öž“xœì`eÆ_ÀB7*¸'nýÄ-K‚eÊ ˆÈ²lŒ"A@Q2,²do-{¤¬Š¬BYmšî½'÷=—7½IZB›6—ËÿñùÅË››iòðæÍåçýï ]µó‘0f¦¦¬+ng5em÷êÅwîe¬Úm“E‚ ˆM5š˜—«ÜÁíàÆ¬nn &¨ÜÁíà ªT… ÈÑ;Ar˜:³‘øOÞb-Ùü geê!¼Ûåë³e™"ç³U·º}{Ë™·oÏ¿¿øoï?“ïôïqî¾MøÇ¢.{í9ù¼£ÞþàÔ_>'ªUGÎ73µµÀÖÅí4Þ~}«»ÏîgÕ«‰ÿ&‰ÿöØzüµ±ýìÜZÆéjì6 [/¯îÀ¿ˆåyþ0ý¿ºiûñÌÄñ¿aüÏvÕ+Çökƒýqüø‹—ß“…7áN̸ÜÃŒ]cŸà~PÇtL2ñ5!þíÅ}cìaðx<O€'ÁSàið xˆ/–úàyðx¼^¯€WÁkàuð? >O À›à-ð6x¼ Þïƒ@CÐ4M˜Ø·aìCÆ_ƒÍÁGL|2æZ‚Vàcà Zƒ6 -hÚƒàÐtbâ{ˆ±. +躃 'è>ŸÞ è >ýÀ ?ø â+q †€¯€ †á` FÑ` ß9ð øŒßñÝ<LÁ$0LSÁ÷`˜~3ÀL0 ü~³ÁÏàð+˜æ‚yà70, Á"ð;X –€¥`øxƒåàO°¬«Àj°üÖ‚u`=Ø6‚M`3ض‚m`;Øv‚¿Á?Àì»Á°ìûÁp‡ø‚#à(8ŽƒÀü N‚ÿÀ)pœgÁ9à΃ \—Àep\ Ѓk @(;Þá D‚( b@,ˆñ $‚$ R@*Hé d‚, rÀu ò@>(… ƒ] T5ÀmÀ Ôµ€;¸Üjƒ;Á]ànp¸ÜîuÀàAð¨ ê‡Á#àQðx<žO§Á3àYð¨ž/€ÁKàeð x¼^ÿo€àMðx¼Þï÷Á !hƒ& )ø4ÍÁG ð-A+ð1ð­AдíAð è:Π è ºî è zOÁg 7èú‚ÏA?ðè¾À@0 CÀWÀ ÃÀp0Œ£Àh0| 4àð- ¾ãÀx0L“Àd0L߃i`:øÌ3Á,ð#ø Ì?ƒ_À¯`˜ æßÀ|°,‹Àï`1X–‚eàà –ƒ?Á °¬«ÁðX Öõ`Ø6Í` Ø ¶í`Ø þÿ° ì{À^°ìÀApZà Ž€£à8N?ð/8 þ§Àipœç€?8.€p\—Áp‚  t@®`¡ „ƒ ¢@4ˆ± ă’@2H© ¤ƒ ²@6È×A.Èù ‚"`쬡ã$vžªƒà6àj‚ZÀÜîµÁà.p7¸Ü î÷ƒ:àð xÔõÀÃàð(x <žO‚§ÀÓàð,xÔσÀ‹à%ð2x¼ ^¯ƒÿ7@ð&x ¼ Þï‚÷ÀûàÐ4AÐ|šæà#Ðx€– øx‚Ö  h Úö øt@gÐtÝ@wÐô½À§à3Ðô}Áç øô_‚` ƒ!à+à†‚a`8F‚Q`4¾ð øŒßq`<˜&‚I`2˜¦‚ïÁ40üf€™`øüfƒŸÁ/àW0ÌóÀo`>X‚Eàw°,KÁ2ððËÁŸ`X VÕ` ø ¬ëÀz°l›Àf°lÛÀv°ìƒ€Øvƒ=`/Øöƒà 8-ðGÀQp '€øœÿSà48΂sÀœ@¸.Ëà ¸ A: ×@0€PÂAˆQ Ä€XâAHI ¤€TÒAÈY ä€ë ä|P A€ø¡©¨j€Û€¨ jwp;¸Ôw‚»ÀÝàp/¸Üê€Àƒà!PÔƒGÀ£à1ð8x< žOƒgÀ³à9P<^/‚—ÀËàð*x ¼þÞ À›à-ð6x¼ Þïƒ@CÐ4M@Sð!hšƒ@ àZ‚Vàcà Zƒ6 -hÚƒàÐtAÐtÝAÐôŸ‚Ï@oÐôŸƒ~à Ð| €` †€¯€ †á` FÑ` øhÀ7à[0|Æñ`˜&É` ˜ ¾ÓÀtð˜f‚YàGð˜ ~¿€_Á0Ì¿ù`XßÁb°,ËÀÀ,‚`%XVƒ5à/°¬ëÁ°l›Á°lÛÁ°ü þ>`Ø ö€½`Ø€ƒà8 ´ÀGÁ1pœ~à_püNÓà 8 Îp\à"¸.ƒ+à*A è€\!ÀBA DhbAˆ $dRAH dl®ƒ\òA(E@¨ÁÇáDaÒ8n/v Äûb4ˆòƇëwðü»¸Zxìv„ÄAqlufñ5ª¹Gûk§î¬þN}ïâ-îyÊø‰iH5±Ÿ#®I\ÿT/¶ˆ½ÛjÆ1ñcN-vìnf¤XK`¿Ô!“Éd²â¼í!¶ò Ñ«ž0MØÅ«l°Ý6÷¸l§mÙrì«ì·*›þßÜöú³ÚdöÇnûl˪ìt\Îøö©Ò·ªw[i/iû½„Ö'þxTÌgÿ‡YP÷àï2t½7¨õÍo»©¯5e7µ¾IºéÍ}­ÉÍm¯ý±e[×lÜí*|ªíµ-»­ÇN®Ê?«Z_®öÚ–­›«Â§¨*×cã¶Î¿Ç¾*¦´”ÏQïOözèZ7÷øOjÝÔižŒL&“É•aDôá×ÄÏR>ópŒK$“Éd²Í#šò™L&“•fÊg2™LV¦)ŸÉd2Y™¦|&“Édešò™Lv^Ç'’RbÒ2’²²S²sR³¯§æT¢³óò*ÏÒVÒáë¹i9×C’R\üx)ŸÉdçõ¥è8ÜnZ:izúšÆLžÜþ¡¿~Ÿ™™œãâÇKùL&;¯ýâVδ`tŸmkNœ¿âì>~þò1ÿË»÷ìœ7ÂsõÏ^ ™Y.~¼”Ïd²óúLHz_§þÕ^1„_ ½† ç5ö?@o8{UwèÐnWtZ†‹/å3™ì¼>ŽÈÑ ‰Q F'F;³qa±qÁá‘—®…â¸Â“Ó\üx)ŸÉdç5Ï«„ÔÔxµ869%,6>(<Ç–œêâÇKùL&;¯y^%¦¥ÁH-8.%%">A…ã -%Ÿ]çxMùüå3™ì|æy•”žóÔ²£›/¸$‡Oô–y—Òæµh‘˜v Ó;ÓÒá¿ …}7ŠÈŠLHÔGD—‘Ï9^ùAí!F=áÃïÑG7ïÒ%é¥ãÅ¿d*äwçµ`òEì{¼”Ïd²óšçUrz:œ”–fG#Ç^Ô0†ƒòáw‡ð™wɇ‘tÈ#øRüÙîJ³ñEì{¼”Ïd²óÚ”W0ïUÚÅ;ÓÓ›#‚.-”Zæ]JŸçá!f—‡GRú¥æ /¡óiÇ-JF—2*1éZdLYù\®ãµ<(~\Í™o4;F«-R£t×j‹½Ž—ò™Lv^ó¼JÉÌ„yjÙÅ¿]ÎøÍÃ#9ã²ÔòOFÆ06â·Ë»[0a þæÁäÚш¬è¤ä¨Ø2ò¹|ÇkyPR;c|°ÇõÛåËÒl|y‹Ùü:äxZ¬®¹âÇKùL&;¯y^¥ffÂ)öòüËó=™™-ØÈÔ+‹¤–ùW2Å ºr…ß"¢åÚш¬Øä”Ðè¸2ò¹|Ç{å±Èr·[,ºÂ{Â-ãüHÙÈE¼1uÏHþ„06RjÁ<¼ -_$5óŠÝ—ò™Lv^ó¼JÏÎN7F–Ýâ÷« <„W1í“•…tºô»Ç‚«Y <<Ј DtÚÕßí»Qžºq)©¡1ñeäs¹5‚á öò»#F+béi±ûñR>“ÉÎkžWÙÙpº½íñ{ 4ÊŠpFËÂÀì…˜Äôˆ½ÙhOß;ʾEdŧ¦…Å&”‘Ï9^¾Û\»F1»ì³üi±ïñR>“ÉÎkžW™ÙÙ™ÆÈRÑ1NHM /3Ÿ•v¼<Ÿ3²í~¼æùüf-Êg2ÙYÌó*çúõlµ8+''9-#:>©Œ|vãó¹)[õ8å3™ì|æy•———«_ÏËKÏÌŠON-#Ÿ]çx)ŸÉdçõ©kax_Š.(ÈW…óòóÓ3³q\‹ë‰¸ÚñR>“ÉÎkô'§÷¨¯?§-R‘ ‹Štç´8®àø$?^Êg2Ùy¼Ú°hüêIÝ®ùû jQ¬á2Žh㢠—câ\üx)ŸÉdçõ9Cäù°hD–ʮǷòÇÁ‘±°‹/å3™ì¼F ‘uêZØúÐ*ðÑ+úʳ´úÉ8.Ëþ¤«/å3™L&+Ó”Ïd2™¬LS>“Éd²2MùL&“ÉÊ´y>Sý 2™LV†K«äèSI$ÉÕUZ>/ݰ…L&“ÉŽrùìðŽ=™L&»¸)ŸÉd2Y™¦|&“Édešò™L&“•iÊg2™LV¦)ŸÉd2Y™¦|&“ÉdeÚ,ŸÐï»Éd2Yæù¼Êæ|Þ·| ™ì>pê¬d‡¿ÑÈär¸ùìèŸ<’H7^¨þ!†3!†“zà ]ˆÃßhdr9LùLR¥ðBÕÅÄ^޽s."Æáo42¹¦|&©Rx¡†%$èãã¯ÆÆDÇ;üF&—ÔÏ$U /ÔÈÄ$C<^´ c(ŸÉNiÊg’*EùLV)ŸIªå3Y¦|&©R”Ïd˜ò™¤JQ>“U`Êg’*EùLVÍòù¦õ7(ŸIN!Êg² Œ|¾Ö”­´ùúÝ”Ï$§å3Y¦|&©R”Ïd˜ò™¤JQ>“U`Êg’*EùLV)ŸIªå3Y¦|&©R”Ïd˜ò™¤JQ>“U`Êg’*EùLV)ŸIªå3Y¶Ègú}7I ¢|&«À<Ÿe¿ï¦|&©A”Ïd˜ò™¤JQ>“U`Êg’*EùLV)ŸIªå3Y¦|&©R”Ïd˜ò™¤JQ>“U`Êg’*EùLV)ŸIªå3Y¦|&©R”Ïd˜ò™¤JQ>“U`Êg’*EùLVÅëw7e+)ŸIêå3Y¦|&©R”ÏdØIóù‰C—Oî-y< ð²‰^K' Á„£÷‘äHá…“œ–˜œxÉÑï22¹|vÖ|;·y™q&gÄæeÄä¥Gç¥E榄^O ^“U`'ÍçÕSFâöÚÑ]°ÖîÔÞ¦?°Q¿­~ÿš¼´ð%ã†8zIŽå3YvÒ|^3unuÇèŽí×Ý«Óþ£;´=øÀ¦à½kõûÖæeD/ïe¹”VÓ0Æ< Þha-3J£ñôöôÔ >dðöÄ ÞÁ8»ØŠà.fHš&)M”ÏdØIóyã¬ïp«û÷¨ÎïˆîøAÝ‘=:íߺƒ[ƒ÷oÐXŸŸ»tBYãÏ-¢•y RÀzzx‹Á[#›<=½µo³ Õð´Fùì,¢|&«ÀNšÏ›/ˆù|LŒè‡uG÷é|}Ð…Öíߨ?¸1?+~Y™ßòhE{2OÞ‘–‡­ÖØÍF‡‘,Oc ó4k¡|V¬(ŸÉ*°Òòyé†-7½…¶ÏwCÂWB«;~HÌg-ÏçM× ŸË>CŠViøBÿ™oð¡ áÆ¦|v.Q>“U`¥å³Ú>w*n‹¸ ‹ ò ó¯æeäfä¤d'ý1qX‹[F«F+ðá „0gF‹6Ëñ ä9oáƒ$”ÏÊå3YßÝDAù,õËÏgù3†³§CNù…øù†ßrÄ'äðÖÛ ²“½'/cq)Ÿ‘º¼ó,}c(µðìµúý ÓxóyxP“(Êg² ¬´|¶Q;çM•ß5ö¢Å.tAnfnfrjlè ã ¥‰†&T/Êg² ¬´|¶±ÿ¼gñ,ùÝâ|Î]?m”d« yzKÝã ï/I¡¢|&«ÀJËgµwÉÒ4ƒ.*Èãùœ´sÎdîI ¢|&«ÀJËgûÏò|– ùLáL(ŸÉª°ÒòÙF!ŸaŸÓás&Á[~ —6¬Ar5Q>“U`¥å³ýg©lQ>“U`¥å3‰dQ>“U`¥å³ýgªÿL*[”ÏdXiùl£¨þ3©lQ>“U`¥å³ýgªÿL*[”ÏdØ”Ï+%ŸmTùê?Ë«!I?èd¿éæU åuG­VRKuÜX8Úê"Uõd¬ˆò™¬+-Ÿmì?—¯þ³eQ$­¼&’TÚ,l ‚yzKÕ6äë)mÊgÇŠò™¬+-ŸmTùê?›%§TÚ,ZËnáf…£)Ÿ•&Êg² ¬´|®ÔúÏfÉ©ÐsÖX–t¾i> 7•PÿY¢|&«ÀJËgU¾ú϶ç³Y‘g³ñ ¹¤ÂÑTZQ¢|&«ÀJËçJ­ÿ|KãfEžµÅ×–å-f…£©.´ÒDùLV•–Ï6ª|õŸÍ®W%õxIêå3YVZ>Wjýgù 1õrÕ-Êg² ¬´|¶QTÿ™T¶(ŸÉ*°Òò™ê?“ì"Êg² ,^¿» [¥˜ßwÛ(ªÿL*[”ÏdXiùLõŸIv^¨ñ©)‘É)ד¯Æ'9üF&—ÃJËgÉ.¢|&«ÀJËgªÿL²‹(ŸÉ*°ÒòÙFQýgRÙ¢|&«ÀJËgªÿL²‹(ŸÉ*°ÒòÙF•»þ³e™#éÝÒ½µÆŸrãŽY$*©áD¢|&«ÀJËç*«ÿ,o1Ëg¦ÑbJ[\ Ú>FªZQ>“U`¥å³ª`ýg©&¿e>{zkµ&P™P'å3YVZ>WMýg~u*~ñy>3æ©A»ñZ*fÅ:¤v’Sˆò™¬[ä³»SôŸ+RÿY+¤²Ïòž³tË»ÖZcuh)«©/í\¢|&«ÀJËç*¨ÿìé-/ã.zÑÞÞËñgVª:ó.´üb²$§å3YVZ>Û¨r×Ö Ÿ=5ҥŴ¦ëR©Q”ÏdXiù\õŸù×\bºøê–$9¯(ŸÉ*°ÒòÙFUFýgê?«I”ÏdXiùLõŸIvå3YVZ>Û(ªÿL*[”ÏdXiùLõŸIvå3YVZ>“Hvå3YVZ>Sýg’]DùLV•–Ï6Šê?“Êå3Y¯ßÝ”­z\)ùLõŸIvå3YVZ>Û(ûÖ–*&‰u4žV«Âg°|”ΚV¦(ŸÉ*°ÒòÙõŸy;îH¿(”æ´Z”òYÉ¢|&«ÀJËge÷úÏž¸[\”òÿ,_òÙ)DùLV•–Ï©ÿ̃W~)+Êggå3YVZ>Û(ûÖ–§«F‹Øf<®¥‹[Yæ³ô(æ§K*P”ÏdXiùìúÏX2—wž¥ÊÏhGŠk3Zæémùí!åtBŠò™¬+-ŸmTeÔ.C4ˆát¢|&«ÀJËg‡Ô¶=Ÿ)¨E”ÏdXiùl£*£þ3IM¢|&«ÀJËgªÿL²‹ðBMLK‹JI IJ¹šìð7™\‹õ7š:_ý ªÿL*[”ÏdXiùLõŸIvå3YVZ>“Hvå3YVZ>Sýg’]DùLV•–Ï6Šê?“Êå3YVZ>Sýg’]DùLV•–Ï6ªÜõŸ¥"Hüwܼݬø³Tøˆ×¸³\– n(_”ÏdXiù\eõŸµˆe¦‘—°Š‹?KÓ†Wêf¶ÏA’*_”ÏdXiùl£*XÿY~ײø3fÀèJk­·§†~Ö팢|&«ÀJË窩ÿÌïjÂè«ô›]ð*£˜ÇSÆrvÒ â0cÒ¸I™¢|&«ÀJËgU‘úÏ–ù,Í Å23NI-ò9©/í¢|&«ÀJËç*¨ÿlyUËâÏÒ7ƒZ‹>¶ü‹E’bEùLV•–Ï6ªÜõŸå§gȯBR™(ŸÉ*°Òò¹ ê?KÃÈÎ*å3YVZ>Û(ªÿL*[”ÏdXiùLõŸIvå3YVZ>Û(ªÿL*[”ÏdXiùLõŸIvå3YVZ>“Hvå3YVB>³á+Ùè¿Ø¨¿ì¾f’ËŠò™¬;<Ÿ__t˜ßÚ.(çÎ55¾÷aßlac6Ùkå·ú[?égƒ$gå3Y¶c>_<ºc×’ï,ö2ÞGõfïe“vÌKÞ^ ?|Ï_n3ö°±[Øè |“Þj>#ž©v¨:DùLVí˜Ïˆb홀m‡ý6ì=º~ïxÝßMû¡½´EÜgîm´ÂMù{EšÐ*\h&4 ÞÞ ^;ŸüÔÎkwÎÜÍF¬2[Êìg&˜òÖzó–YªM'ÍÉ‹ÉgàÉ‹ I?ß¶¬›dÖ¢ ƈâ•HI å3Y¶o>…Eúêÿ»øoÀU¿ W|Ï8é_F>ט¶owV>ûÞgGŽÐ7Qè'tŽÚF -Ã…–¡bbèŸÊ†¯4[ʲWlËò|–æä}cÞÂs•e`&^I(äÒj>[¶`~ƒ·x×pc°“.Êg² lß|NNOOLMIJŠNHŒˆ‹ 8sEWZ>³Yû[¬;} ?ìñ-Æf £Ò¯áËD¡w¼˜ÕÝ#‹'±‘«Í,_>k¡LÃ{Úòvy5$¦Ñjµ© Ri[1Û­1·©è¨¢DùLVí›ÏiYYìFè <Ÿ-Ë8ß6ûàf}|Âmæ¾ ‚0§Pø)O˜–-ŒÏ¾Î†¥ íþ‹Ø„GǬ5ÛP%å³¶¸Tÿ–вæ3:Úf-˜’Y™¢|&«ÀöÍ笜8“;;;!5-8,ª´þsµŸŸÊÊKCÿx@/«•ùÂÂ\á—aF¶09KèsÚpAìÓ®7[Ð,9ù¨¿ ’•×ÿ”F3¤k£ …gliãRñçÒj>c)³¬_ê{k°¥´bDùLVí›Ïùù……&äddç”–ÏÕç»wá±Éǯ±Ù‡Ž%e×ÅψH™ŸzÝ;OXx]³)37ù<Öüt;«ýg'’XüªNL[Oo^žNÞ.µXý~ëÂR<±µÆž¶ü²)RÍgË©v4ø¡(Q>“U`ûæó-µKb¿ú¦ ÂÉœüÍ1iß_Šú¯a Ÿá󣺋‚ƒGÇ™ÿâ»"W0¡«Ÿ¸ˆ(ŸÉ*°Ãφ؂S Öžm³ãâô³áçS²£ Ò!ZB!NÜn6¿åùu¶Ÿ8Aùì" 5%=-&%54)%ò™ìœvøïÍÄæù±ÙG˜ç[Ò2y§×Oùì"¢|&«À•”Ï,CÇ~>œ”gš¶k>“\D”ÏdXiýg.6ÿ ›¹ý°‡MÛÅÆ˜Ÿ¿A"ÝT”ÏdX™ýg©‚¢|&«ÀÊì?“Hå3Yvµþó‡.Ÿ<Ü[ò$xáe½–N‚ Gï#É¢|&«À®Öþcì ÜæeÆ™œ›—“——™›z=)xñ¸ÁŽÞG’DùLV]­ÿ¼zÊHÜ^;º ÖÃÚúÃÛô6ê÷¯Õï_“—¾dÜGï#É¢|&«À®Ö^3U¼À·îØݱýº£{uÚt‡¶Ø¼w­~ßÚ¼Œè¥ã½,—’ÿ"FþséÇݧeÙ%³’ó˜3ö¦‹TÕ“¡fQ>“U`Wë?oœ%þØ\÷ïQßÝñƒº#{tÚ¿u·ïß ?°>?3vé+ãÏòäÔW–&EÎJÅ¥åak RY³õ”¶å³]DùLV]­ÿ¼ù§ñ‚˜ÏÇĈ>qXwtŸÎ×]hÝþúƒó³â—Yû~Ð,9-‹—ÚÒÂ¥zz¥-BùlQ>“U`ÕôŸ-ëK[ÞBÛçLÁ­þ„¯þ„Vwü˜ÏZžÏ›®@>'Z=Ã,9µÆÒ£¼Té-å³`qÍ,ÊçJå3Yvµþóö¹Sq[ÄUXXT_˜½0/» 7£ 'µ ;é‰Ã,—²=Ÿ‘½|4ƒ 6ß‹W™æq-_„òÙ.¢|&«À*ë?ßT<Ÿ çÎΞ9åâçr|ÈŸÃ[Co.ÈNöž8Ür©[ß@rKß ÅãÕR‹ô•"ÿž‘/h¶©â¢|&«À®ÖÞ9oªü®±-v¡ r3s3“ScCWOð0“<Ÿå=^’bEùLV]­ÿ¼gñ,ùÝâ|Î]?m”dË¥Ì*NS8+_”ÏdØÕúÏ{—ü(Mó1袂<žÏYáA;çLvྑì(Êg² ìjýgy>Ë…|¦pV“(ŸÉ*° öŸaŸÓás&Á[~ [Ö 9¯(ŸÉ*°«õŸI."Êg² ìjýg’‹ˆò™¬›ås ÚûÏTÿÙEDùLV+)Ÿ+ªÿì"¢|&«À®Ö¦úÏ."Êg² ìjýçr×¶,sÄ[ʨçÌÅg jÏU,Êg² ìjýçŠ×–·ÈóÖ²ž3Ÿ×ˆ¦j¢U,Êg² ìjýç Ö¶ÌÛ2ê9›-Hù\•¢|&«À*ë?Wvýg>XÁ/žbyù*«ýgÊg‡ˆò™¬»Zÿ¹"õŸµ‚A*ûl9ÎlYÏY°–ÏTí¹jDùLVUÖ¾©*RÿÙÓ[‹PŒ_ùy{kxð–VÏYØAÐ2OoËo©Úsˆò™¬»Zÿ¹ÜõŸ5ÈgO4Ô,¦µ £4ˆá(á…šš‘—š–’„ˆvôL.‡]­ÿ\‘úÏZ “ZÄ.´ £fãÔU&Êg² l^ãÍZêî?Sýgå3Yó¹ [iï|Vlÿ™ê?»ˆ(ŸÉ*p%å³bEõŸ]D”ÏdØÕúÏ$å3Yvµþ3ÉEDùLV]­ÿLõŸ]D”ÏdØÕúÏTÿÙEDùLV]­ÿLõŸ]D”ÏdØÕúÏå®ÿ,Aâ¿ãæífÅŸ¥ÂG¼Æå²Tp£ÊDùLV]­ÿ\ñúÏZÄ2ÓÈKØ ÅÅŸ¥iFÃ+uH3Ûç I6‹ò™¬›å³êëoT°þ³ü®eñgÌ€9Ð•Ö ZoO ý¬Û¢|&«À•”Ïj­ÿÌïjÂè«ô›]ð*£˜ÇSÆrvÒ â0cÒ¸©REùLV]­ÿ\‘úÏ–ù,Í Å23NI-ò9©/]•¢|&«À*ë?ßT©ÿlyUËâÏÒ7ƒZ‹>¶ü‹ERe‹ò™¬»Zÿ¹ÜõŸå§gȯBR¦(ŸÉ*°«õŸ+RÿYF¦pV¾(ŸÉ*°«õŸ©þ³‹ˆò™¬»Zÿ™ê?»ˆ(ŸÉ*° öŸ©þ³+ˆò™¬»Zÿ™ä"¢|&«À®Ö&¹ˆ(ŸÉ*°S×ß`ÃW²Ñ±QUÁ¶HÎ%Êg² Œ|¾æœõë^_t˜ßÚ.(çÎ55¾÷aßlac69z§HJå3Y®¤|¾¥þóÅ£;v-ùÎÒh/c©z³÷²I;æ¥o„ /… ŸN¾ç¯·{ØØ-lôÛ·NR¥(ŸÉ*°úψb홀m‡ý6ì=º~ïxÝßMû¡½´EÜgîm´ÂMù{EšÐ*\h&4 ÞÞ ^;ŸüÔÎkwÎÜÍF¬2[Ê ÌÓÛ¬Œó 5޼5üw‚f…¼ ùï¥i^ÿY*þ,=$ŸÖC¿j©JQ>“U`%ôŸ‘ÃAa‘þúÿ.þpÕïÂß3Nú—‘Ï5¦íەϾ÷Ù‘#ôMzÆ c„¶‘BËp¡e¨˜Øú§²á+Í–BZj5žÒ4"Ô ØRròF-o,Úlöûn){yµ «±l¹rRUŠò™¬+¤ÿœœžž˜š“”q抮´|f³ö·Xwú&~Øã[ ŒÍF¥ ^)—‰Bïx1«»G Nb#W—±Q­±~‘·Akµ°³Y¡¹Òò¹ì ËõªL”ÏdX!ýç´¬,v£tžÏ–eœo›}p³>> ù“U`…ôŸ³rràLîìì„Ô´à°¨ÒúÏÕ~>|*+/ üã½ ¬Bfæ s…_r„ÙÂä,¡ÏiÃqpx½å²|Ę×jŠG¤-Ç7ÌŠ6óÄ– ;óRü7Ígßp ðBÍÌÌHLK‹JN»–êð7™\+¤ÿœ_P_XhrAA^AAFvNiù\}î±{›|ü›}èXRÖx]üŒˆ”ù©×½ó„…×…1›2sƒ¼cÍO·ÓZÔÕŠ/XÚ÷ƒRag´3·ôMŸAöU#ÿ~ZK½nžáò•SPW¥(ŸÉ*°BúÏ·Ô.‰ýê›.'sò7Ǥ})z迆~†Ïê. B gþo„V²ü´ Lk5 LË롘]¹›ä@Q>“U`ó|vDýòÿ ±§¬=ÛfÇÅégÃϧdG¤ B´ „B¸Ýrù oüÛfÚ>bl9¬¡-κ”•ÃEùLVÍßí´õ7Ø“U`Wë?¯™*^§[wì€îØ~Ýѽ:í?ºCÛƒl Þ»V¿om^FôÒñ^–KYý© TIªƒ¤5þšwÌÊGÓUª^”ÏdØÕúÏg‰¿×ý{TçwDwü îÈöoÝÁ­Áû7è¬ÏÏŒ]:ÁÊø³ùÌ4ZLi)M¿Oq¬”–ÏØ2Yîrä³ê¯ß½ù§ñ‚˜ÏÇĈ>qXwtŸÎ×]hÝþúƒó³â—Yû~°´šüò|öôÖò²xôãn%hŸòòÙÑO IAºµ|~ÜÎù\õýgË2Ñ–·Ðö9Sp«?á«?¡Õ?$æ³–çó¦kωVÏß"——'Eߨ,ŸóÔ ½¸$©Yùhª˜Tõ¢|&)YŽÍgÅjûÜ©¸-â*,,*È/Ì¿^˜—]›Q“ZôÇÄa–KÉëBóZýòž³tË»ÖZYSêK;J”Ï$%Ë5ûÏ7Ïgù3†³§CNù…øù†ßrÄ'äðÖÛ ²“½'·\ŠÇ¬§·–—¼C/šWŠ6Öh©^´¼|tùŽˆTQ>“”,ê?[ÕÎySåw½h± ]›™›™œºÂx‚‡™Äagä³§Fºä·˜ÖÖ®èMRˆ(ŸIJõŸ­jÏâYò»Åùœ»~Ú(É–Kñþ°tU,w¡=™Yÿ¹|{Nª •‘Ï?4oç_r÷LI‹4 ÆšãPÆãv–=ôCsÆ[³ægæQ>“ÊõŸ­jï’¥i>]TÇó9+z,Ÿ¡Œ Y–ÏV·ÂE]h%Èö|¾Ö„­zÂÎù¬Øþs9ê?S>;£lÉgÞ¾Õ‘äòYžÏf]\IÒCžíMO›/{|£Œ­PZ rl>+Vå¨ÿLù쌲eüÙòÜ9‡ä³ô]ž¡x¬-e—àÃRiDËï-·"u¡.ê?[U9ê?S>;£lÿ}JÕç³4òÀOŸ“·HçØK'Ý•¤XÊÛSÃóYkq~åVä§äÉ7Drˆ¨ÿlUå¨ÿŒä Ãó¦³ñ¿YëÄ,½8ƒ?šx1""."È«/Ÿò?"fa‘qq 3p³ðêË’¦)Ÿ+IôûA’’Eýg«*Gýgy„&®F´ ³úJ›} /oñ?pwýÑ·.hÖ:,wbõ >CÐEò¹ŠEùLR²¨ÿlUå¨ÿ,P­Hãl!‚w¤åaË»Ùè0GÌš!OãD!¬…ò¹²%åsdrª>1…ò™¤(¹fÿ¹2ê?[æ3¢U¾€Ðæã|(Ã,)Ÿ"Êg’’Eýg«*Gýg«ù,ñàÃaΉgyͰß@ó>HBù\©¢|&)Y®Ù¾©ÊQÿÙj>#uù£Ò7†R Ï^«ß ×™Öi jÊçÊ“ó™L–›úÏ–*Gýç²ûÏt~2µOaùL&—Ãù¬òúå¨ÿÌÃÓù'ö~­MP>+M”ÏdX¬¿Ñ”­r¥úuÒ´õŸ+#Š)Ÿ+[”Ïd¸’òY±ýçrÔ¦|vFQ>“U`ì?ßjýgÊggå3Yvµþs9DùìŒRZ>;ül²ÒìÀ|&‘«}ÊËgG?%$ɱù\5Ý`6|%ýõWù¶ER±(ŸIJ–êûϯ/:ÌÆom”s皀ßû°o¶°1›½S$¥ˆò™¤d9QÿùâÑ»–|gi´—±T½Ù{Ù¤óR„7B…—Â…ÇO'ßóW€ÛŒ=lì6zƒí['©R”Ï$%ˉúψb홀m‡ý6ì=º~ïxÝßMû¡½´EÜgîm´ÂMù{EšÐ*\h&4 ÞÞ ^;ŸüÔÎkwÎÜÍF¬2[ÊÛ «•3y%s©n¹Fãéíé© ò ·ñ y Òe‘¥KÉ׿íÉÌÔ–~8RÈÕò™i´f/l’’UÞ|v@ý äpPX¤ þ¿‹ÿ\õ»pÅ÷LÀ“þeäsiûvgå³ï}vä}…žqBç¡m¤Ð2\h*&ö‡þ©løJ³¥äWŸ×h1ͼҵØÂ¼Åà]r±!o­·Õ|æi,¿v'Ú͔߽éåäHöUEòY~Eù4óÚ)^Ë«¹tµnéRY?4g·zýîJ’ñRWtm¥ëò¹ [éÐúÈáäôôÄÔÔ˜¤¤è„Ĉ¸ø Ðˆ3Wt¥å3›µ¿ÅºÓ×0ñÃßal¦0*MðJ¾LzÇ‹YÝ=²h@p¹ÚlAy>khó6h-;ÆBñåÐá3Xæ³¼E.iAùe†¨KSõ²{>c¢?²·øz…«ãüÊ/ä-_ð¦ùÌ<½å—’¿êko•LãKñ>ƒÙ‹Vºÿ4Ç_Ÿ¶|î³l)íµM²£›Ï·ÚNËÊb7*@gàùlYÆù¶Ù7ëã£ðRŸ¹ï‚ Ì)~ʦe ã3…¯3„a©B»ÿ"6áÑ1kÍ6$/”6pÁ;ÆR¢–6ZäïÌn %³rTù,Ÿ¸Õ«~Ko­Æ4Øeõz«ùl–––/c¼h=ñiÎøM¾Z[>÷i/T³O‚”Ï•-çê?gåäÀ™ÜÙÙ ©iÁaQ¥õŸ«ý|øTV^^W?Ð Â*¼¢ò……¹Â/9ÂŒlar–Ðç´á‚8"·ÞlAy?Á²÷"½°¥7ˆF£•úÏX‚¿†ùÀ^çfµ·\P~—RºŠUù, nH—·%Ÿ%i->ÁY•-ùl¼7³ìxØò¹¯ìõ“*IÎÕÎ/(È/,4¹  ¯  #;§´|®>÷ؽ M>~Í>t,)k¼.~FDÊüÔëÞyÂÂëÂÀ€˜M™¹ÁÈç±æ§Û™?#@-_ꘖ¾14ûœˆ7oçA-¥=zAöU#³˜Ýµý !U\•Ï«ãüû³¡<“åÙ8þ̇#Ì^VeK>—–ö|îÃ?–-”Ï•-çê?ßR»$ö«oº œÌÉß“öý¥è¡ÿú>?ª»(1xtœù¿VÓØ@Ržì›Ï‡âüYóy¦®²Å÷ƒÑy6f²MãÏÆ-¤¯ðø¿òòá3™?ó>ƒå§9iŒÂ,Ÿoú¹Ïê'Á²w‰Tq9Qÿ¹|ç?ClÁ©k϶ÙqqúÙðó)ÙÑi‚-!‚G'n7›ßì¥nË+bÜIe¯|¶l´úèM-½q¤0äâ/0|4+í«ŠÒúÏ¥}š+Çç>³–›î©âr¢þ³]Äæù±ÙG˜ç[Ò2y§÷‡äX•;ŸÍ¾§–÷–í’ÏÒyZñ»Bê!¸¨œ¨ÿl—¹ØÏ‡“²óLÓ”Ï.¬Êû}JóYÞѵå‡K–ç×Ùr.=¥ºÂåjýg.6ÿ ›¹ý°‡MÛÅÆ˜Ÿ¿Ar¹ÚïIÎ%×ì?“H\”Ï$%Ë5ûÏ$å3IÉr¢þ3•q&Ù]”Ï$%ËYúÏ•WÆ™¾"qeQ>“”¬ªÏg¥•q¦|ve)0ŸÉd¹«8ŸRÆY~º‘å)ú–ÕžKÊä«=[–#à3ðGyi/ˉҊ}ÉÿEàëñÆTÚ 53CÌ稔T}‚ãó™L.‡í›ÏU_ÆY[\}Kš°:›TíYj‘ª=[­f5–K+ûlµ„£´ªíQ>“U`ûæsÕ—q–î–]˜KküÝ–·‘ìiY†ÑlU¥u›oºË¥øW}gáÆP5+Ã¥ñDÊjäÅ»¤šÌ–¥º ‚VºöFã)-k,´ï]Zù/ËbbÙ5Œx1©»N'“T™”–Ï?[€¬4—#Ÿƒ*pýnG•q¶c­Z{’G§ö9\û”—ÏŽ~JH Ò­åóãvÈg%—q¶Q”Ϫå3Iɪú|¶‹¨Œ3É.¢|&)YŽÍg*ãLr¬(ŸIJ–“öŸ¹¨Œ3©‚¢|&)YNÝ&‘*([òY~”þÛq—á.óÚ)¿²ÕgüK»¾•t}Xˆ/kûõ»I..§î?“HÔ-åójñ²ƒC‘±R£±ñ\y‹Y>¯F’³¡Û‡Þ°B[®ßm¬Ç"Õ1+à È ¶H߆óøéôêPUæó‡.Ÿ<Ü[ò$xáe½–N‚‰*H.­[Êg1Šçå½e)`y—–Ïò$/ÇøFaä[´o©Þ f࿨¢|Vª4ŸÇÂm^fœÉ±y1yéÑyi‘¹)¡×“‚\ÕÇ/SIŶßYã`ÇsöH‘íùl™ÃòQ‹2òYšM a,0n§íùlùW˪_–ÕÄJY«'PµO-ɪÊ|^=e$n¯ÝëaíNýámúõû×ê÷¯ÉK _2nHU¿5ñßtÛk6’’e{>3¯Û‡Z^•»ÿöÄÕ^L²ÀÝÆaãr{uœ6”g²<ºm.­\-ß:f½eÊgÕ¨*óyÍÔQ¸Õ; ;¶_wt¯NûîÐöà›‚÷®Õï[›—½t¼—åR–Ž÷Öz—QKYªÉ,X{yK/ié÷ÔÒüÈ[i+7­ØŒÇ´ÅÅ”,wµŒ‚HÒ± Üåe7H‘ùÜ»?BXž±çúó¿#Oc´÷oÞœ5Š–CÛ‡²æó0Á‡¥ž6Ÿ3жñg.Ëh• ÂÈ ¶ Ír|òÞKÕ=­$;©|ùüöíåÈç³Ä_pëþ=ªó;¢;~PwdNû·îàÖàýôÖçgÆ.`eüÙò%zÓZÊfÊ«1K¯^éåÍô0¶–5B­22 h˜•Ó·Z;”O°žÞfE¡)Ÿ+[òÁÛ¸ùPùh³íãÉ·êÒòÙ¬ Œ ë`Hµ¶,¿”×{qÌóKª˜ª2Ÿ7ÿ4^óù˜Ñ'ëŽîÓùú  ­Û¿Qpc~Vü2kßڞϥ£YÒZýô§Ñ¤>FÙù\öGEwƒ¤Ù’ÏèýšÛÜÔ—vP>;æÙ!9ZU™ÏÛçˆú¾úZÝñCb>ky>oºvùœhõüªÉgË4¦|v)ö÷)†âò†44áʪÒ|ž;·E\……Eù…ù× ó² r3 rR ²“þ˜8Ìr)³ñgéŠeÔR6{ÔêøFc ¶Tl.íù,c7,Ç7H—bó™D‘φsg gO‡œò ñó 9¾?äˆOÈá­!‡7d'{On¹TiýçÒj)óïûÌFÞl9{ßì+rÞÝ-£b³ÕçÓ¬ÿl¶ÚâßРBDùLR²ª2ŸwΛ*¿kìE‹]è‚ÜÌÜÌäÔØÐÆ<ÌdãœíC6Êêzlï?Wp뤪å3IɪÊ|Þ³x–ünq>箟6J²åR–ç×Y½¼µòÙò,>’ÂEùLR²ª2Ÿ÷.ùQšæcÐEy<Ÿ³ÂƒvΙl—#¢âù$ÛEùLR²•Ïr!ŸíÎ$Ò-IùL&Ë]•ù û,˜ï˜3 ÞòãXØê°‰TÚ§°|&“Ëa‹|.ÿõ»I$åˆò™¬#Ÿƒ±OS>“T%Êg² \Ž|&“”Ïdg÷­æ3™L&“«Æ”Ïd2™¬LS>“Éd²2MùL&“ÉÊ4å3™L&+Ó”Ïd2™¬LS>“Éd²2MùL&“ÉÊô ùü mdt[æß‚»Úy£[V/Õ¦y03Ÿ_š +ßÅh²b]¬xWÖ_i¬y“Íð†|>ÓD|T| C8° ãÖ·¯ÆÚ‘E´gáMëR2ÍGÉdrÚŠ¬l·em­?¤oÁôÍŒnbrpÓâ»ÍLæ-¸ j(:ð}ãí;ân‘Æñï‹ùüsqÿ9¡­ñ…Ñ•E÷Г%öfÉýXúç,m` îÌ!%΃½ª™¹p ËPMt?FV² ÈʶÃ_!䛸·ñÏÔ›]ïŲ>e=Yv–ÓS4&2»±ÌNÅ·|¢Ø©XJ;ñ–?šÑNtÊÇæ¶Ìçäž,ý3ÓmZ¿pö¦(ÎõªÉ]0Ìäü¡5,]äUÎãéMV°ñ/)™L® Íÿ1íÍrúºeü>èVëz$F¥-”þ‰ÏêøV7äs¸,Ÿ³úUC,ç¬ç“i\8²–è1&®)YSÃä&ó”¶—Φ×uOhå^ñ•©v‘—›}wL&»¬-ã:ké óW’_ôØu×+ëî{cËý 6?ðæÆûߨXçÍ-uÞÜzoƒmw½±óŽ×ÿvͧæË;k¼¸³Ú >ì¹mO6Þâ)Í{Ôfýg)ŸÎ<Ÿy/Ë,™‹4.%¢íæÙn‚ºlEhbëÚ\‰/,kíÔ°ëQ‘þÂ&“Õa³|.LŠz±õÙ:ïŸy´é™§=üëìÿüÇþϵòöãóO·ºðDË€G[^~è£Ëuš]¹»ÉåÛ?¸rÛ;—«½q½|ôÉÆ›Ñ‘¾i>óÎ3Â9h¼‘b>ó¶’Ï¥‡³½Ž]˜ÅÁ€|®`ÿY\ÕÏç„euk}^ÑU‘Édr‘E8ÃÈØ»ß |¬…îÅv×þ×9ä­n†·{„6èÚ {èëÝÃ^î^¿Kä“#nUÇ3ê®QµšFV?”ýï{v–•†£y>Ï<)ßø\ŒèÄ~ÕcúÕˆýRtÜ€šñƒk&|%:jpÍè¯D‹ƒÜ¸‹x «&Z¶çËZ¹M¯w÷öºµŒ©¸½ “‹ºˆ-òá þ(oçÓ·î<Ÿå«âc ^lúKî¼ñx+w¾’ /qmAÔ–öA däs¢ Lï¸ÜjÔóÝàk“g¸´ÃÇ_ªäå&_¹Ù fËò=áÒåkÃQX]Öì̤_\ÄY%Ûî’ou{‹ùü@ãkõÛ†6èöÁgMúF6ù<²QßÈúF½×7êÍ>ѯ~S¿Gì“]ãîw_›¸Ú±nM"«¿u¥ÚóÛy>KãÏ~ Ä|¾ò¬øý`L[ñœ žÏ¿5{hv£ûg7¼_¼m\âŸ,üÝ{uzŠ/'éüBã))[<¥¡ïAXÖkyn÷„%Lj\ú«viÝÚLñÓ½ðOñÑéã}1§4]0Æ]~Åm¬jú‹ßl«[;o€›åÍ3öjùH~̬ÝqD¸ünmìCÑ^Ïl¨ãòÜOÝqW¸ Á̘íè‹xÔÍtž‰ÑÓ™´•"AØ6Æû†¥rþ4ípA¬?ÀS¾rî´?KŽJ,Þ\Ä´ûòÆ„½†é/ºã äkËàiuÙüOÝ-·"=oØ·£¼bm7î?Y}vø $ä²Í¿,}3ÈÏåÀû´^³×;…5ìñQÿÈ]G²ÐÒb`tóÑMD¿ß?æÍ~±/÷Ž{®W<ÚWí͹Û3îöfQnï^­þ´ð“7b›‹ù|òÕ’|Fb'tó–B#OòKÿαPþ[üõ¹îÕù—‰¦—V?v}Ηgúb:þXï\omÁT¬6tËŠÐÜîîE{<¯ó®ìµMùÜ̽л8ŸÛ–LŒr—fà«J@{Ýoò7·C~¼o^ww4òéüîÅáöNml[1åsw÷|ñsb\–Ömù©2x´ V›ÛÏÓØtß·fâšO„ GŸo“ÛϯAZ9_ -˜áò;mø¾ñÍñÝ@{nÛÖÒáó ³µ•¶¬|+üy;tDÀ>cº ÖÀ÷“L&;Ò½Kœõ©é»Ìnbp=ÑÒðnÏp„sëÁQRZ¶Ý|pL£1ïô}­o¼ÔŽ.ô]ѵ]­ùÊNžÏˆbäsx£’ñ äs$zÔÝÄsžy>ùlcž“ ¿öïZ=û‹Üè{ççXV[wþm#7Ò]Ä-—gõs“æ‰+ÎçˆfîùÅ™Œ¥é¼â|Æ XIÞTÓp4ò9ݘ¢hÎknKŒ9ÌWðNm¾EÞžÕÝ´Âп|¯ ¡|)ù¾ÉmÜ„ØOjfŠYßçÛÈ÷™¯\~¤f›Ë_Œ…%8î%[É-d«k“–5;éyÃ>ËGB¤GËïO™L¶‹‘ÌpZ7Ñxï×oÚ¤o„çà¨â;–¢ø£!1ƼÛ?Vjy¸cÜCíbë|yï‡w¼&æ3’™‡³þu¶çeS>뛈ùÕÍô³ÁØm¾iDcž3¿>Û©:Of¾«ùKÅÅ÷Mïäžþ“,øk h¯û-Ú³?3¥Sìç¦|kêÎD&§{–Lçw—fÀJr'šò9k¶˜û·V‰+Ú Áw\žÝÉnþoÖÆÌ…»ÄÐC;¶(œÑ š¢×­]¶>ts]Ìà&ß=îØpäqÍ+B³?sã‰zøù6˜YÚg¾rجEÚ\áNÓ¿8iÍ|æÒÖ&-kvüy3ûØ"”¬Vó·<Ù)Ì“9ÍøÛ¼C_ù$ÌãËÈC£;Œé22¦Óˆ’ˆn20†O¤e=Ý5öÑŽ±õÚÇÔkùÐGWïið7Ïç°f¦ßwó|>ù”ø£B1Ÿ;•äs® ýgäóù¥ÃOv¬žÖ¯Q%÷d>¦¨IîàŽ»’ÑžiL­Fî™=Lé”3Ì¿ë×Î]ìÆ33ä.6…|ÎÓ hÄJrƉÛM+B±r>4x»©ãòÌn|µX[r·\OÞž3ÎMZJ8§‰GH¾MnyÃîÁ'úOÃÃG AHî¡á;‰D=X¿ Ö&íó⺵±ž³XfÓæÎ6¨-?ðÜîü@ønà¡Å Ü2;¸[]›Ù²™ÅCèÒV vXyÞ,wžL&W±¥X†:™Œ÷þ›]ÃÛ~ÕuTL÷Ñ1ÝFÅ"¥Û+‰h®ç»Å<Ý9æ±ѵ~¬]Äc­®Üÿ–8þn,µøŽ8ìŒ|þ¹Î ùoìB۞ϗÿz¦cÄ>F÷—Í÷ñLãã·-ÝŒ¿çΣÕà·Ã0½®;z¼ØDÂ_Þx6LØÐ¨5o Ûú{#7Þ%Ö \ÎgÎߎ|‹K³œ¯sz7Þ‚Æߤ'ꆭ—Õ­-„-çí<¨÷÷Xž€Ð^lꙟnP[¾{è`›þ];'ð–qm¾XÛôºm°}tõµâzú.ßÑÃ}zÇoy Ò’¯*ߘ±¿w\žfÌØäazýÖb÷þÈ·ØtŒøo‡ùÚJ[V¾•¨¾µ¥ç-h<¦ÝO¾ò=/Ÿñ‡&“É´ËÜQÆ|~¯WD§á1=ÆÄöú:¶Çè˜Î#¢Û{E,‹~µGÔó]¢žéõDû¨'ÛG=Ý!üéÖWzG<CßÄTˆãüKlËób>|„¼+ëï(VÞˆíU’Ï7Mé«Þ^g;•„3–ÍYb À}õkÇws“KÖØ’Ó$âkyK¾`¸þéLŒä ùÿxJÓf‹ðQ—ø±Þ|mÂYY£qðG{ý¬VÞžŒÆï¬!¾›§4OÚYÁrÇ‚0¿Ç7¼…/%móó³Î ¼]j‘V…=—öD¾86ÜÍÓêÚ,—µÜŠÙ“ÀŸ2™¬Gu29¦­©°Þ¤ûDôÒÄöÛçÛØ^cbºŒŒî0´$œ¹^èùì'‘Oµ‹x¦}DýOÂê·¹üð{b>óúHdä3úÏ“î.Ég}㶺™ò¹Àqe„³Ø—ûsÏç¸Þb8ÃÉÆNìå(±£x¥¡;Öv¥ß=ª8­Lgwªùûuc{ê»'w3Ž?‡ {ê·‰êæVÁM$ƒ×^k#“ÉŠp'YÕÁ¶bQ;$I«QýÆÇöŸ‹ÛÏ4±]GÄH±Ü°w„4ý\ûðgÚ†×oþRÇЗÚ]zôƒmR>#œO>%öŸÍò9¢«¸QžÏ–g©¥Ðx..dX=ðT§ê<™a^ûŽÇÝñíâGòeuk'†-÷ë»ÜñÏdéN7vPùï¨[ûD˜ïººbŠ¢‹ž#Duó´ËVì»62™ìH÷œo¨ [œÏC¾óš?pr\ß±%gk´ø"²IŸÈw{–Dô Â_îþj§Ð—Û_|샭<ŸyçYžÏ§ßcÄ|ë"nZ°að™÷ŸÃ×ô?ÙÅ|*š‡3ßùtùGò³‚ãŸÌ›Y¾ÃÙvXãð]"»´;‘ÖùÜÞ+zĬ„Q³ÑR·õñ€ÈfŸG6ü,âíîáRûkÃ_ïlxµýÅÇŠùŒp†O¾*æóºçÄ|Þ\Oü!aÀ‡b~±ü~W¦7œ Ø|q_0¿½¸/ïâ6ÐwÐ…=þ>›.ýúžÕ|&“Éd5»“•ë’ð|î<2fÜo‰$ŽžpôLZÄQèá1ˆèV"›#úý^b/zëŒÝÂßèbxµƒ•|æýgË|>=”]ÊÎ`†³€15.Œv»0‚ùgâíHµ¸™¿Ë^íñºW!îžþ„ò™L&»˜KÏ瞚؟–'ÿº*eÊ¢¤ÑÆ^ô€Iq}¿‹íõuLב1†G·ÕfH”Ç—‘ö‹lØÝéЗÛÔ{wKiù|äMñÊVW?fÁ]˜áSvù»;ôSÔ¿S7îvÝ8wý„»ôïÖMº?xÜÁß¹ŽaÁck~Íb&°ÀA,®÷ ùLíÆ¿Âd%;¬ YÑ6»®ŒÎ-ÏçSâoL]¶% )=þ·Ä1?' Ÿ?äû¸“cûOŒûbB\Ÿ±±½4±GF·óŠjñeä{½Â^lðà[býºÓÍfã<ŸÏ·¬Ž|æ‰ÈíË⿨×ßt›0°Œé’ƾ%á,Ïg‡¿¶Édg·Ãó‡|S‡Þx ÖP£‘±ßþš8oMÊÂu©3–%ókˆYçøASâΟ‹í;.¶×7±ÝÇÄtÝzHºÐov }¶Õù7Úî΋B8û5óyß3¦|Æ-òùTsv¾]5³|FKÉ,7oçÃý)r8“ž?ä²íðð!ÛhéïÅ#:æ·Aú°¼¯Nè7!®Ûè˜ö^Ñžƒ¢>ú"ÒãËȦŸ‹nÔ;~«{8üF—ðÛ‡>ÙRÿv—ó)†YƒÎ0YÊgL[泡”|NÌ$KYmêK÷µ2ÖA&“Éê³ô/©¼Ã#Ftg7Dt~¢ùRn*„ó™Fn¼ÿŒ@Þó²8þ¼òAqZ߆mËx8[Íg)“Ó¿*±YV'÷c܉½ÉJw™L®˜¥AùèÏjÞµæ#úöÕD·aÜ2_ýXôÅ¢>™¹‘Ò¼ÛŒ|Ft£óŒ|æ±,gžÌiêsg¨Qšñhæ’Ó’Éd² 9ñKÑ _ÔÇúT‡-Ç{ÍÆ¯J\ט@\#¢7×3•€C>£gŽž³Ù Ï休5Š4µ ¿fü:ƒ|š_‚7ò S£ñJ…%%$“É·nÓãÈJ5ÿñäéÇçU-w`uÞGÍêWM¼"Õ§Æëž|fºú6¦åC ¸EK|7Sá2þñŽˆÖ7))Ñy¾˜ù™ƒk"“³Âø:¢§="ú§§Eÿú‚0ï•/l`²¼‘L&“]ÁÈCnùÝÏšŒi›’Ñ(¿Ë£U2ÏÛñu GÖ‚3zŠ?è6 FDÈh±,…3ßÖ/Æ(þ­¡èEMD/þ°TóÈJv>²ìðWù¦¶ü“ñx”nK3âÔÌ<ÕÇ×)V3àCñ+ÂÒ¾F<Û–ñ –C¸CgúñóîJÎŽ6žY'Ž–÷-6¯xubreÛáµÍÉe[ª9FV¦ÍÞMæo±ârÐ ÆÒ£¼R‡x n´´5#m+–܇#ŒwŇڊWD8›r f]šwh]ÊCåP¡ÀkÞ‰Þ„;ocì.p7¸Ü î÷ƒ:àð xÔõÀÃàð(x <žO‚§ÀÓàð,xÔσÀ‹à%ð2x¼ ^¯ƒÿ7@ð&x ¼ Þï‚÷ÀûàÐ4AÐ|šæà#Ðx€– øx‚Ö  h Úö øt@gÐtÝ@wÐô½À§à3Ðô}Áç øô_‚` ƒ!à+à†‚a`8F‚Q`4¾ð øŒßq`<˜&‚I`2˜¦‚¢[=݈¤*Uc¬ºýÒ„älú0 L?€`&˜~?Ùàgð øÌsÁ<𘀅`ø,KÀR° ü¼Árð'XV‚U`5XþkÁ:°lÁ&°l[Á6°ì;ÁßààvÝ`Ø öýà8Ã@ |ÁpÇÁ àþ'Áà8 ΀³àðçÁ.‚Kà2¸®‚@‚èÁ5 „p"Aˆ1 ÄxAH) ¤t2AÈ9à:Èy €B1ó˜cÕ@uPÜÜ@MP ¸ƒÛÁ 6¸Üî÷€{Á}à~P<º x<ÇÁàIðx<žÏúàyðx¼^¯€WÁkàuð?ðhÞo·Á;à]ðx|‚F 1hš‚A3Ð|ZдOдmA;ÐtŸ€Ž è º€® èz€ž ø|zƒ> /øô_€þàK0 ƒÀ`0|¼ÀP0 #ÀH0 ŒcÀ×@¾ß‚±à;0ŒÀD0 LSÀTð=˜¦ƒÀ 0Ì?‚ŸÀlð3øü 怹`ø Ì ÀB°üƒ%`)XþÞ`9ø¬+Á*°¬µ`X6€`Ø ¶€­`Øv€àoðð»Àn°ìûÀ~p‡Àa ¾à8 Žãàðÿ‚“à?p œgÀYpøƒóàÁ%p\WA Á@ôà Â@8ˆ‘ Dƒ â@Í@sðh<@KÐ | (… €ÕÂûT5ÀmÀ Ôµ€;¸Üjƒ;Á]ànp¸ÜîuÀàAð¨ ê‡Á#àQðx<žO§Á3àYð¨ž/€ÁKàeð x¼^ÿo€àMðx¼Þï÷Á !hƒ& )ø4ÍÁG ð-A+ð1ð­AдíAð è:Π è ºî è zOÁg 7èú‚ÏA?ðè¾À@0 CÀWÀ ÃÀp0Œ£Àh0| 4àð- ¾ãÀx0L“Àd0L߃i`:øÌ3Á,ð#ø Ì?ƒ_À¯`˜ æßÀ|°,‹Àï`1X–‚eàà –ƒ?Á °¬«ÁðX Öõ`Ø6Í` Ø ¶í`Ø þÿ° ì{À^°ìÀApZà Ž€£à8N?ð/8 þ§Àipœç€?8.€p\—Áp‚  t@®`¡ „ƒ ¢@4ˆ± ă’@2H© ¤ƒ ²@6È×A.Èù ‚" æŽ÷?¨j€Û€¨ j¹ÓØ+hT]äHÝ’ñ€pñcR= ŽB‡VC™0¾ ãj1sÝ n3Í?ÕD?0D|ð|u¼Ùø|%ƒM¾‰¯ÛØnZ/vËøÿ{Sïgõ’çML­ùÛDq_ðÿÿŽ‹÷„Ãt­ãGÇŠwžº—/+k{¶Z»ó0ûøªè6&w e]ÂØ§‘¬o ¿­öE<ëÇ>a½ãĉÞÅî™@¶ÝÒ3ÏŸöšƒ3k)¬3^xdšègg/ü*4øEh°Phø›è&‹D¸¸TóÈ6Zzò«÷‰Ã“_}XZ-MžéOðôO¢ñWxe^‰ñçà–7’Ëa1sšŸbÃY—àj`68‰‹#²jŒÌÃ_„}]XcŒóiÜJ|‚7Ö]„·Ÿ“l‹MÏÛ³ìSC‰òýãøßnñoQŠÅG‡d–x`ÙF³7°6zñùïl²ìO ýLþ*½ÄRãà$qž~É&÷N$ß‚ñüÃÍO‰}žRžÉfϹ؂xGˆwЂ{F“mõsë¬=ÿ‘VŸé9—=í1ÆiÌ Ï|·(²­®·Y|þ›œ©ÞÒüùŸaþ·nñÿoïL£(=> Siû|R¾ªÕZ[µÕ'ÖÖQ,ˆQŽ‚àx 4œb”Š\J¯** Øð¼•K@ ‡ U0È%°›ìæÜÜÉæ$ç¼ï›kggg'“Éî~³»ÿ¿?ÖÙoçüÍ·3³ßLf85³”ïxÖR¥¤5ý³b¡ë³ª”ÏZ•nÍ BZÓgIc£ÕI[è%˘µï„yUº‡T¼†”Ѿ~ø}^½;öè@¥PÊ· õÊ6Hå¾iTœ+s¢œN:ØØ„aÏû†»ú(7¨P¨üer‹t'æZ'ÿûpá{‰e¤dÙð®¾0ù&ÿ†îÇé2ºÖï!ßñ[ߪ ëè%©ÏÛwKß•b¡{u^Rß7„îŠbî·Þ<嬅„Çv^ªW̔ƙÔG)Ì}tX97FX¨¼Ý·ôY)l÷¤ò”Œf:¶1[’Æ”sK›¥êÑç;õì¥í•å|ï• Çx¶ c#_d2•^}œtäd<ã¶$YÿØp¹dÇzqT‚W¯þFò0a6¡í‘%ß$ŽÊ&þEèZ˜Ð,ÕíÁ ä­BʦÁÒÚ$U?½î-•|ö/àÒeçƒ|Ý3Z”èÈHooYÓ*-cÿ‚´ýÂFiø²äÛåÑþù€•î™´õ¨½ˆ¢’ô@Kº|Ûå¬Ì:©Æ“ýå0‡LÙÿ´b¤ý@{¦ûš‹v&= Õ©Î,TO¥#}æ'tÞî$³Ñ$•‘µó€ßÈ¥ÿÏë_!+ÄÉql—‹\™åɉ ¥›oXaû“Ï .§»!Áℊ<=î/!ô| ´çCe=ÿ^Ny¨¨çß‹)%=X,ÒcZGi|”Y Iƒ¤ƒº»?s]òørRÈݶN)L¾öƧ¿z’ù>•ÊÅîÇx—êøGU’0~.µ<ùbyTƒ¤‘p©Çèo¨kŽ)ó@„’ÇÓî”­¢iZÄÙ'! ¢žá^•ä?rMšaÅ9‘g¯\olÒ[î²ÿD>ÙŒ“II-=&·öœÞròôöžKguÅs¾ b¹ïTæ4 h n‘ä_WZ— þ¿Ý¦vk4þÅU@ýOjé9¥ø§Ìlôo¼ BBÒó¼¸méuKE7G—ñ)·¼ÙëÚc!ŸÉn¢öOŽ””¯€ø-è™Ú¬] 3¥oD0ù!®ª T7G"~ë™Wx½úïVü‹¯ä'…~ꥵ 2¥M„lG(~w€I|þ‡ §Ã¤ÓXô‡½˜a|­ïb õ&“ZÄc5âÁx Ì"ú§«ÀMÏBÈN¸?ñ&ŠrñgÂP§=ACVÓð|‰Ûò|Ý"äSÐ%ÔþdSÿÂ*PÖ‚.b¥Õ€À<Ü/³O¾òø©UÉ£s*J‚ÿðÏÀ?üÇ3ðÿñ üÛßÿü›A˜0é?ðì#’À?Ûÿ?±äÿÙe™„…¯eæ¾´ž0ëÙµ„O}ù¥ˆÞtÇ¿î‰ÿy/mó\ÇNBâ¿£££½££¥­£¹µø?–ß²UàJOIIwÙg<¡Žeÿ‹–nR¿%« µ]ò¯ 3=âÁï>A¤(ºÂêßxä¾YMËêþ ‰eÿ ûÕpÑÿ‰Ööú涪úfwIÍŒoéLϤO;øáԃǺÿ—ב׽߻¾ÛçÚómîö=¹[¾ÊÍØ‘ûñ¶Ü5Ûr«Û¦ÎI7µDBIzšºªùj^JZZÀ§5S=NõŠSÉŒ§̱5ÐΟ%Xÿ†tÓ‡ööŽÖ6Zù[ÚëšÛjšÚ*Û¦Ìù·þi6?B‰4ÿd4Õ^çSºÔb ýtéø÷õ#•O%XŒfCšx7cÙÿü—¨ÿí»Y»_~娼ӑ‘åX÷¥cõǪ­9 ­“ƒù׫ÿ®Àå T¤˜T—ö£[¢;3ÁæÖx„݈eÿ³Ÿ[C^w}íØùµcÛnÁÿvêñÿ…³ŒúÓh‰tKBå_©áÁ†Š~ÿÿX´Š¼ù;ö8¾øÊ±i‡ãÓ,ÇÇ_8Vn9þÑVgI}ëä'–-‘n‰ß÷=ض]oû£Þ3Hýȃû÷mBäAuçMgð€í¥ ñŸÜç˜ÿ3¼G^·îrlÙåÈÜéøLÜøl=þAæñ6;‹ëZRgñ¯9þÌÒ3#ïÛÄý¯öÓ€#C¥À׿oßèÛÿ }§þÎhfUï+æ¿,t>"ëúüwÉëç;sœ²œŸls®Úêü`‹ó½-Î|oˤǗuq^ÂâÕŒ“½…:–ý?8‹î^Kë[DJêZ„”O÷Û׸}ô9¸þÖü} «÷·µó¼—çÉk.Ï×­›àßÿ‡[(™žâ馢ºKåJ¶ÿ‹®mmúÆëYS|èI×ד]{&:vŽçy²âìäkÚ}ÿ ^Î?.ÇÑ¿xD¤~ýâù“Êœkx¾ˆjÏ|ûK|Ës|ãS|ýl¾î¾fJÁ†ðüê?uýk[óüÊ5zçÂ\cÖa<6R±ñÃÔ²ûþkk«jj**+=åÅe¥îcŽ#{ƒÕÿ-‹¸ï>Àó9ä8ŸoÛÎ×Ïâ½3øêT¾â~¾ìn¾tlGáí•Çxwº¹íqk¶è?KõÐÊŒÿ.³ðM½óµÐ}ÿ…yÇœG³üϾ>òÞ{·g³Õ`ÿ»ù©­ 3žäø¦õ|Å8âœ÷Œä óù7ñî›øüA5Ù7¼=ÕØ¿²e ØÄ¨{«¿ªDÚÀúלkÐvNEïœEšßúf‚¦ûþìÍڳ퓙+wd~DؾéÃ][VøÏ|&yÏ[}?ÏñÞ·ˆm>¯?ï¾–w_Éçÿ©jÿ¥9ÎÛøÌOß™f|ü©Z¨ÀmKÀQªÒ*°¢=× »"‚mÁtÎ&({æNw¿Ýõoíø?óù³ÖÏåøêżûr>ÿâªïÎ9ðþmz:ií,nåÃÝû媃ÉH¥›þ­eÛë—}<›k:6äÀ{?Íx²ÇÚG¹Õ¡jð‰cÿ]jÿ![ø÷æÞŸ/í Á¤þ#JXÕÿ ‰úÕ'b þGõ‰ƒ¨®ÿ1pâ€Uý·õ‰ƒIJªÿÌNØì׫úÏæÄÒþ°F´Í÷)º2p"@ïÌ€Ù¦! ëäNhŽýkZìƒ6òëžðÐtË¿†õŸÁ‰ƒ ×Bû·ë-ðD€¶‘¹ -ÿbÖ'ä³6ú{Ùžý­ŠõµÀ°þ38q œÐü½€¦Å>Ëèk¢9 Ð|Ë¿áú6õŸÅ‰ƒ`/å×bt3p"@3 ömç ¡ÿÿ‡ñÄ£°ªÿÖÆŒÂªþ[0ÆNDWý½D]ýÉ€¦OêîÈõßÂ­Š¢Ñ¿më¿…[E£ÛÆÂ­Š¢Ñ¿më¿…[É~²?,Þ—Œ ›ÿè=ÿe2nUägiQAA4ø·mý·p«"]ÿã¶6ÊŸ7~¸ˆ~ä+WéSz_ñ´<à‡òúÝïÆkýïú­Š:©ÿïVð ¶Ï©»Ÿ>H:Ží–%Óõ"õ k'ƒè}‰b þ¿ò–nU¤ïßW½Å O…óò*ð[MâªÑ”„Ù¿mcáVE:þ©Ri³ã/S^ ¬ýÛvûoáVE~–ÄM‡J ݼ%»·fˇIdÕèmPÿ-ݪHU±yeoû´¼'-8XQàÛþ%âŠÐÛÿ¢þ[¸UQ85Ã}üiÛX¸UQ4ú·mý·p«¢hôK‰¤ÿ˜oÿ±sâ¤ýÓ¶*ˆ‡úoçGÄIýWºCö¨‚]Jõ¿[*P]î&Ý–£“k»–x¨ÿÝxTêö»ômJÈÿ” êwU%k¦Wj¾KõµKÿ…ÄEý·ü¨åšW€yíõÿ`nÞb þ‡£ýŸFÖ軚\kÞÿO´`*ñPÿ»û¨Í jT¯YJõ·º;°Ãý?Ãý36Ä*ðßþË÷Ø ¼Ù™©ØáþŸáŽõG˜ðïÛkÿ4ÀTâ¡þÛùQñPÿíü¨‚x¨ÿv~TA<Ô;'ê¿õ?Úïÿíõ?Úïÿ½õß.÷ÿ‘ÿê—íï/›Þÿ‡¼zÀ§æ›tî6¬ºËt×› èõW0¨ÿ‘»ÿ߃íLÞ•$xtwãY!ôoÓûÿè?ÙNõèÞtƒG tò`bõýTß®.<˜aýÐý~wü¼ÿ×oò¯ßѵï7¶œU@¤ßë|ä¹a)øÃbÀ’3S&zC¸»+XP $Æ–Œ.bÀ¨lêúâ²”ÏZy¾5}V7ÚKÛ­÷5¤{„¶é}^ò)7«Á¥´”VEK@[ž’AüW¯þFò0Á?_±bÜ–ä1뾰׸""ßµ~Oò™ {Í>F>Ûþœ#íÿÌ—Ú>Œ­JÉhü/MVOýïXßëLÒ]Å Û—²ž|T¿bøÂä¾¹ÜéÓ䛨Ÿ¶ˆîªMù¼]ò?¢QòE6)'¤eœ0S} ºO„†”M‚ÿeÉ·7Kþÿ|€”ËUúÊY>”O-ÃÝ d&´¤—ð‚ÿåÉ··Êþsš) ÚÜ´äK²jH·«¤-E,!BÞ¬TPÿwÊþÿr8áfnY¹ÜOGú;“/Ú™$ºo«ræ›Éã;¸ÔcôPçšc‰© ÜmëÔý¨? ªé1<Ì—‘“Z"7±H°9îjC Cî<Ü€l ìšs@ì1ÅfBêêê½ÞŠšê¢êr§ÿfÿN1øgøgøgøgøgøgøgøgøgøg3þoä¸_þRz»÷Ÿ¬g9¦bÊÿ÷M¾ñºÅ{á?ô1çÿŸÙëîãRß…ÿǬÿÒ£R¹Éëà?Ä1§ðÒtÁéÑì—¯›ü2ü‡2]ò_Qúîd.ÊînótÑÿÑŠu÷±žå˜ ~± ü³ ü³ ü³ ü³ ü³ ü³ ü³ ü³ ü³ ü³ õ_/ø¯*¬®€ÿHþÙþÙþÙþÙþÙþÙþÙþÙþÙþÙþÙþÙþÙþÙþÙþÙþÙþÙþÙþÙþÙþÙþÙþÙþÙþÙþÙþÙþÙFñï­*ª)ÏÿþÙ¦ þÅûÏÀHcàÿFNÉ}à?<1ò¯ÜödÝ}œpç%øyLù§·ý¹oƒàq*îÿʘñŸýòuRýçè-àXÏrLÅÔö_}ÿ7lBsÛÿ„+ðÏ6ðÏ6øýË6ðÏ6ðÏ6ðÏ6ðÏ6ðÏ6ðÏ6ðÏ6ðÏ6ðÏ6ðÏ6ðÏ6ðÏ6ðÏ6ðÏ6ðÏ6ðÏ6ðÏ6üsc«ìÈ%q KyÒïõxá‹KzÌ´# S:ℽ€!ÜÝ¥€%c‹KFØ‘Ûòâæªá߆0×1Fìň¸¹jXR@üÂüTKœsW­[/ÜÙX2¡0$á;ÂMh‹S;l7±=N`®·0߯;¬‚ÀþÈ0B -°#ƒÜñ€l’7˜¹F]æ¯Ø Œ ·Ö·d°{àŸmàŸmàŸmàŸm"åß•ž"<})%ÝÅpiíísaÂZÿÉJ€ÿ0ñ/|ß_‰Xà{Ÿ–%˜ž¦.Š‘ˆþéCñ¤\·x¯øt¤û& Ïl›¼îËÅR‡`Uxpž¯O©DîîjýÏJ£6©mIjVé ¥Ò{éau(}ÄÒFL[ÿ×ÝÇ¥¾ëSJÞ*´OáÙ‘¥²våQz]õ¯ú2³ÒÔõZ½šÄ )‰=ÿ¾ZÍ©ŸŽZ¡éP÷¦<ʶ«ÛªT6è'S^ ñæ_]ÏÁüwe¡õ/n:T¥UáJOó[zÛŸõÏù[õ=U×?ÝþÈ;ÛŸ4Õ¶†—+:}Ÿ––âÛþèî}û_—8®Øó_ztCª¼íI½Ï¨þn©º´ýG¦#Oø7øgøgøgøg›pû Ïÿ ò0?º°?áöÏúøÚî¶¶¶¶1+³‹g~µþ¯ø1Žú ó—ÍEá©IQçé,d©ÞùGKþU—ìøtš(4i-Ôðù÷—-ÈÊô¯{ œæ:"åú£>Õ×^¨J:¥ðDß¿Ô-]ù¦ýFHe]¸þMº¾AY2õõlºÑl¤«†4—Àù.SáUæƒô©¹¸+ ¤ÓY O ýë^Òëß”ËÜ:ݼ©ÿ.uw°Ýr¿í«pAW` ‹-^×üwóú7¡â…Ä¿úBÐNýŒ-XIDÒeÿ–®KQoy…¨®¿õë-X‰oâc0ÿê-•”€Ûú+y÷®Ó\n«]X]ÿšãÏ,½Kà|×Íi÷¿Ú>µWüÙw‡Ís°tâ_¾4Noÿk§ëß²´GXÑ’.Ov•pûWUÿè´åþc ðÏ6ðÏ6ðÏ6áöžÿ@äa~taÂíŸõñµÝÿlÿlÿlÿl)ÿš3…þ%Êɹ,ø™À¬4íýjô†—Çx™CÈv3ô¯=®½ÝRàIrÿH2eÿÊýîž| ö¼o3ÿ¾H©kvÐøÎ’^Re8•ÀSüöˆø½ ¸·›ïš‡Åò­iºwÿ·€;üЈ5ZÔ¢Þt7¥¯ZéÖŠô +?/Öß½Ý$Éô.LÒ]àdí!¹ÿM  ±Ä¿> ÝÊÖÛ7@'þƒLÅ®•Ÿý^[%^öxEJ®Ó¹ÎFЧvüZœN¶?úS±måç-ø·vÿ7eoë«Ûò-ßT×Ȫn>ÖùuÑ:û߀©t26Dµ%ÑÛþh¯È²xý›ú@Ðw¨¢ÝÚëloÔQL ƒNE¾Ã_XÜ…"[ríþWïŠD9ö¹þ-j©ãOD?ðÏ6ðÏ6ðÏ6ðÏ6áöžÿ Îáî(‰JÆ–«¨ò[Î)¢¯ƒ=BG‘ÐAÞ %ƒ ¸A…ÒAßzhù 2öá~¯G+7,õƒ”\ûŠßk0ú¼¨å‚§)½gó=§´E\Ÿ=ŠŸ?,ŽJ~ÿ/ õ[q1 ¤ûüçü …ê·ÿó”ÄŒÈÉÓÛ ÜØ:®¯T‘¦tD#=fÒ9çi'äU!!µ%qbsIõ=&z&4pãk¹;…×»jÉ[©dB•ÄÝô•”Œ.“¾˜¤„0ª€pëç$~Èxb„û+(÷–'Ü[–xO)»ÓÃ-¦Œ.’ .r[e¸›0ÔÉÝJ8ÊÝü#…t9W}ǵ†øáî.VÈâkU,¾l@ö  !6d³Óo¯‘sÅÊéoK†£¥&¨+Æðü¤‘î_ñU´võ<惋\I}3}öP3—lâ~·–úUG/Ê÷ex>©-DNKž³ü…GJŸ˜àyxtqêТS ïýkáý Ç_O(¸»/!ÿö?Qn»Ü=ô"çM¿ÞÛ•ÕGETŽèç7›¹ß~Èý|.û´ ýúäËfòÅo=£ý¯Çªß[\óá’ª7Ÿ.ÿ×£e‹¦•=9©tþƒ¥sî+y||ÉããJ½Ã3óöâiË&ÝR8á÷è+öº`ãàË‹ÊZ¤úóÇo¢ÞäD›Lý”ΟX³j©wí›U+ž«xevù 3ËžžZú䤒y‰¢Ò'î-™uOIÚÅÓG¥)¼@ÞW¸õ¢Õ:n‰ñsÞ7’eÛ]ãaµœ¡ÁOIÚXb¦úU¾>¿üù‡Ë¦–Î} äã<Üá™>ªxꈢIƒ‹&ÝJ¿qn(¸ûZ÷íWrÉÚ¿œEýüåEôC¶?±èÇ3}dÅ+W¼6‡ÈiÚ»“–̼Ã3õ¶¢IC T8þÆ‚»®-¸ãjR^·õãüÑ}\·]~pØ?¾ö}?âo“èE4£òC¶É勦•??ƒÔe÷$ȹ¹p|"'ÿö+•òü‘—ºF^vp¨žŸhÿ~ñS4qÙÚЯռ‰%³Æ)* ïPxO¿‚±ñÉöûüá—¸GüñàÐK>¾ælêçê£ÔÏÅû£þû¥XòÉñù)™=¡„ì­ÈkÚ]ži£!dkã“3ô·ùƒ“?ôB÷ð‹ ¹ø“k~%ùùóQ?eQŒR‹{DKTÂ=בÝÝI=vÙòO¿­hò0ÍÑ`áˆßþí‚‚!ç ýMÞß.<|ë…ë®ú¥ÏX…È!bÔû)÷§ˆú¹ã*ÏÔ%3Ç”ÖÃcЧ¤G‰ÝìÛùcÑm¿+þ›¢¡ç ýuþ°óÜrþº?ŸAýôsrדª©?½_—¢“Ñ^²"úÅuEÑß{fŒò<|{ÉŒÑdwVíó_ÔÏ%\ÿ<ªè2'õsú«´y$ÚQY"Ëè|aÁ¸~E¥OVQòC ~®.£G‰ÄÏÄö¨G‘vw3YÆœë~A¾by£úÜuMá¸~…ãûŽë[4qWßs…ç®?–Œ¹°tԯɗ‹Tž’½ û%ùSâºß%P?Cê¤*Düò§¿š˜Ú½Z"ËxôªŸ;œ3ä¢Ü‘ÿëý'÷˜+Ý£û¸oï“wûeù£/)¼íÂÂá¿.òË¢”ÞE~VxýÉî«ø_nõœäGTDüß/æËZEE•íûn¹hïÕ½÷^ÿ«ìçgß|aöÍ¿ËôÛý7_ðàóÜtîá›~uø¯géßûp¿Ÿ¹æ'‡ÿ|Ò—'켄[sݯ©Ÿõ~~z¿À|C&Gðóàò†ª#û?xчøÙÚËÿ{MŸÓV]ñ‹U—Ÿ¶öŠÞ_Ñû“>§n¸ügŸ^vJÆ¥É.é¹á¢¿Oøä·ÜÚë~]v(ûÁ×¼~Øo=B°åñíÔ’Æ5=øFßÅU´9I«õÛþˆ~˜ï©-ïß… 2ÙgI;÷1ÜØ& é]Ok‚ø*v(Œ¨á†TÓWñSeƒ£Añ3È• v çÐõ>àäú ô“¹þ¸ô¶¿ŒXB^ɯ-ùY*þ쟒ãgÙO€ì(… âï aÿÅüÂ¥x¹¾Ç¹óWq½_d>36~à~à~ì üÀüÀüØê‡ü˜=çmâ‡ù 4lx¿µŸ®6%EuàÇ8ðcø1ü~Œ?ÆãÀqàÇ8ðcø1ü~Œ?ÆãÀqàÇ8ðc ~˜7Û·ýùÜ·qþ~à~àÇV¨ý0ß¡Ø|ÿÅú$¢ãÀqàÇ8ðcø1ü~Œ?ÆãÀqàÇ8ðcø1ü§ ~®wrç¼?ð£ü~ŒcÁóa›¶?Ë~ÌôoÀüÀü°ôÓ/‡;û¯Îý°>$‰hàÇ8ðcø1ü~Œ?ÆãÀqàÇ8]ñƒ¿¿€màÇ8ðcø1ü~Œ?ÆãXðüAØ®íÏøû/øøÛ?ð?ð?ö~LøÉøé¾î—Ù'_qìŒÔªäÑ9Áú'?{Í´¬]¹Ü|SÃ?–}ÞÐàåüãr åʨԯ_<R™s Ïm~†ãùøö—ø–çøÆ§øúÙ|Ý#|Í”‚ÿ áùÕÌä‚N2+N#-‹w¥§¤¤»”rñ-yõ›—´,uoJw§š‘w–úïRˆçÚÚªššŠÊJOEyqYiAû˜ãÈ^Ñ`¶,â¾ûpÏçlú'Ç·mçëgñÞ|u*_q?_v7_:¶£ðöÊã¼;=¸²üÅòÁ½E›ÿ®Öÿ¼cΣÙGþçÇ_ùaϽ۳¿ÙÌ?Éæ§z´6lÌx’ã›ÖóãˆsÞ3’/ÌçßÄ»oâóÕdßðöÔÿD©óJ7•CëºR&Ò¯‡¯î_ì+èŠðygaXÿìÍڳ퓙+wd~DؾéÃ][VøÏ|&yÏ[}?ÏñÞ·ˆm>¯?ï¾–w_Éçÿ©jÿ¥9ÎÛøÌOß™XÿÕ[Y¨ª,-]íVÕ£®y3–’–fôEðmÅ:ñÀªþ¯ßy¨„” •ùüYëçr|õbÞ}9ŸqÕwçxÿ¿6=´v·òaã-Mêþ[˶×/ûx6×tlÈ÷~šñdµr« v¸ÑVõßrÈþý‡¹÷gD·v%ÄrŸ£ÑRÿc/!ô™úÏvŠ!O<Ôÿg—e¾–A˜ûÒz¬g×f<õëY‹‹úOäë–ÿó^ÚÒ9êrâ¤þ+Ýí-mÍ­íÄÿ±ü¶« êÿ¢¥›ÔoÉ*hm—ü+è æß"dþ'm—õÁb¿.ú?ÑÚ^ßÜVUßì.©™±à-Á4¿ó â¡þ/xyyÝû½ë»}®=ßænß“»å«ÜŒ¹oË]³-·ª±mêœtÁt›éü¾Ê{eÍí{¼º§Nãâ¢þ þ;„´·w´¶ÑÊߨÒ^×ÜVÓÔVÙØ6eοuÓ¶dÊn |H]ª>;kúoüJ2ÿ%êûngÖnç—_96ïtdd9Ö}éX½Å±jkNECëä.ùlÏó­í7¤Ó]G<ÔÿÙÏ­!¯»¾vìüÚ±m·à;õ¿ŠøÿÂYFý¿©3XÐÓ4ªFT©Slã–ôwZçÕ‰ºö SüÇ¢Uä•Èß±ÇñÅWŽM;Ÿf9>þ±rËñ¶:Kê['?¡7?òÙU¡fU¤¥¥©›¨M«ýÓZf,x¼nÝåØ²Ë‘¹Óñ™¸ñÙzüƒÌãlv×µ¤ÎâŸÓlhhÄö¿S¼f/¬ÎA7ñPÿ§Ï—¼~¾3GÀ¹!ËùÉ6窭ζ8ßÛâÌ÷¶Lz|Y˜ç4hâ¡þ?8‹î^Kë[DJêZÕi ‹úß­öÕ%Ó[lyÖœ ¼"šS ðC Ôÿp·ÿ+7 {…­öJ]^Ï¿Þu¼bâ¡þw·ý_sÍyà){ø·íö?íÿª’ÀSþ5ë+¾ë¿õöÿ £=ЧßßÄ}ý·yûÌ×›·ÿÇ|ý·yûrŸoÿ±sBèß¶õßΉ‡úoóöÿ˜¯ÿ6oÿ‡ú¯tÛ²ý?Æë¿í¯ÿñúoûëÿc¼þ‡òúÿÀÆýæ}¥‰Âÿ”€ö|õ?„×ÿëú×6ï¿GÀù‚¨ÿ½þ?HýZ¢”9_õ?Ä×ÿwÕ¿áù‚¨®ÿ&âëÿåM‹Nã¿î-€ ÏÄCýíõÿJ±Qó¾ÿ-€ ÎÄCý·}ûŒ×Û·ÿÇxýGû?,ñPÿíûÔÿ½¯r›Ÿá6ý“ûü)î£(¿«›ùاþo{ki¬»7̃ÿÈÕÿ=‹¹ÏsÛÿB) ±ÿ®\átÓ¿µÛx’|û·ïƒ>×ßš¿oacõþ¶¶bž÷òô¤ëëÉ®=;Çó–cÿ&cçËø-Çþcà6>–cÿñ;øGûTÔ´ÿ‡)hÿ–ú¯t£ý?„‰Ûø[Žü›Œoão9vð·ñ·;ø7;߯ßrìà?não9vðo2v¾¿åØÁ ÜÆßrìàßdì|˱ƒ´ÿGEýGû˜‚öÿ¨¨ÿ1;øGûTÔ´ÿ‡)hÿ–ú¯t‡¬ý?"œ±ƒ6íÿÁÚâ";ø7™°´ÿÃ?«öMýWΊ…ÿšuìàßdBÜþ¯yÕÞ(rç¿NfíŸMû¿ßÍ:TÎÃÍ¿:vðo2¡oÿ—_³”êñÝü³lÿW};”oI$ÿ@ÏþM&ÄíÿÚãOyþkþÕ±ƒÿ8oÿgîßdbµýŸ¹ÿ8oÿgî?žcÿqÞþÏÜ¿ÉÄjû?sÿqÞþÏÜ¿ÉÄêõÿÌýÇùý˜û7™X½ÿsÿ±ð_««ÕþMÆÎñe{cD ©¨µu555¥5ÕyÕ•Ç‚Õg5¬g9¦ÿlÿlÿlÿlÿlÿlÿlÿlÿlÿlÿlÿlÿlÿlÿlÿlÿlÿlÿlÿlÿlÿlÿlÿlÿlÿlÿlÿlÿlCü{k«kª=Õ•îªòÎåÃhÿlÿlÿlÿlÿlÿlÿlÿlÿlÿlÿlÿlÿlÿlcÁ¿ o ½±RÿqãšÐÅŠÖàˆ¥À?ÛÀ?ÛÀ?Ûàø“màŸmàŸmàŸmàŸmàŸmàŸmàŸmàŸmàŸm¨oEMuQuenUùðáÀ?ÛÀ?ÛÀ?ÛÀ?ÛÀ?ÛÀ?ÛÀ?ÛÀ?ÛÀ?ÛÀ?ÛÀ?ÛÀ?ÛÀ?ÛÀ?ÛÀ?ÛÀ?ÛÀ?ÛÀ?ÛÀ?ÛÀ?ÛÀ?ÛÀ?ÛÀ?ÛÀ?ÛÀ?ÛÀ?ÛÀ?ÛÀ?ÛÀ?ÛÿÕ5eÕU…U9•eðéÀ?ÛÀ?ÛÀ?ÛÀ?ÛÀ?ÛÀ?ÛÀ?ÛÀ?ÛÀ?ÛÀ?ÛÀ?ÛÀ?ÛÀ?ÛÀ?ÛÀ?ÛÀ?ÛÀ?ÛÀ?ÛÀ?ÛÀ?ÛÀ?ÛÀ?ÛÀ?ÛÀ?ÛÀ?ÛÀ?ÛÀ?ÛÀ?ÛÀ?ÛPÿUžªŠ¼Šò㥇à?¶¶¶¶¶±àö„Kñrýr¸sßæz¿È|flüÀüÀüØø1áÇ ?ð?ð?v~à~à~ì üÀüÀüØøøø±'ðÓ¹Ÿë‰Ÿwà~à~àÇVÀüÀüÀ=øø{?ð?ð?ö~à~à~ì üÀüÀüØøøø±'ð?ð?ðcOà~à~àÇžÀüÀüÀ=øø{?ð?ð?ö~à~Âì'‡;~à~à~ìüÀüÀüØøéÜO?üþ‚øø±ð?ð?ðcOà~à~àÇžÀüÀüÀ=~r¸sðü/øøaé‡ûeöÉ}Ž‘Z•<:'XÿóWlæÃ™µ+—wúJ2ÿ¥uäuûngÖnç—_96ïtdd9Ö}éX½Å±jkNECëä9ÿÖ»+=%%Ýå{Ÿ•Æ¥e© Ån㥜“£;H×—ÝþMföskÈ뮯;¿vlÛ-øßNý¯"þ¿p–Qÿoê ¦1cƶ®*_~l®/”ü+5Ü8ÿX´Š¼ù;ö8¾øÊ±i‡ãÓ,ÇÇ_8Vn9þÑVgI}ëä'ôÆãg†T~RûE™ôÿ¼âUG¦ª'ÿñ¤Ë±ƒ“™±à=òºu—cË.GæNÇgâÆgëñ2°ÙY\×’:;ˆN½ÕЧ¤¥­ÌªaÉŠ +¯ÓAº;ø7Yÿ§Ï—¼~¾3GÀ¹!ËùÉ6窭ζ8ßÛâÌ÷¶Lz|YXç3±ƒ“ypݽ–Ö·ˆ”ÔµxêZŠk[ ½-îêæã•'z|)ëyìrìàßdý'‡7Sç­˜:/]bnú”¹é¤:çÍIO,×?þ±wìà?žcÿ&ëLÆþMæÙe™„…¯eæ¾´ž0ëÙµ„O}ÄzÖ¬ÇþMÖ"_·œøŸ÷Ò†ÎQäbÿ&£ößÑÑÑÞÑÑÒÖÑÜÚNüËoˆÒU`ÿ&ëÿ¢¥›ÔoÉ*hm—ü+Tþeé'RXcÿ&³`±_ ýŸhm¯on«ªov—ÔÌXð–ÑðV¢†5vðo²þ/x™¶îýÞõÝ>מos·ïÉÝòUnÆŽÜ·å®Ù–[ÕØ6uNºÑð²U£‚´>|%Úf¡ùG0=M]²ØÁ¿Éˆþ;„´·w´¶ÑÊߨÒ^×ÜVÓÔVÙØ6Åø÷W`ýš¢ÕÍlYiR3ø^úDXJ¡ÝˆÙÁxÛÿ•赪 2Åv5¹^kZÕtO„nÙíàßd,¶ÿ+Qí5ÍøÒÇòZ€ÿ ±Øþ¯DÜtè5ã§ù­½íü[nÿW5Û‹â´Íø¾‚Àý±oÿëGÇþÑþÏ6hÿg´ÿ#!ü³ ü³ ü³ ü³ ü³ ü³ ü³ ü³ ü³ ü³ ü³ ü³ ü³ ñŸ ÿìÿlÿlÿlÿlÿlÿlÿlÿlÿl#´?…V¶¶¶¶¶¶¶¶1é„ 3þAø0Óþà?Vøgàþãø·ÿµ+—ƒ£öÏú·x<ÛæÛŸ“¯€øSàþãø‡ÿxþá?žøgàŸ¹´ÿÀÜÿðÏÀ?üÇ3ðÿñ üÃ<ÿðÏÀ?üÇ3ðÿñ üÃ<ÿðÏÀ¿üŸ6²H\'ÿ­¬S¸/‚ÿŸÝ|üÔQ®Sn9vÒG;…»>§sú9#Çõ&è—c‚PÍ’™iåH3vÆ'ܹo ¼#w„„wL¢i"B5-SËþŽÔó/–s½_¬`ý÷1•ù+6WWyª*ò*ÊW”2³ÿe=Ë1øgøgøgøgøgøgøgøgøgøgøgøgøgøgøgøgøgøgøgøgøgøg⿲¢°¢ÌU^z´Ìsþ#øgøgøgøgøgøgøgøgøgøgøgøgøgøgøgøgøgøgøgøgøgøgøgøgøgøgøgøgøg⿼<¯¬ÌYVòcYñøpˆÿ£¤øGOáAOÁ÷ðáÿ®ÜlWî^—ó›\Çn3þÉ „ìûv«‚ÿ€øaíÊå€!¬²Ç{˜l—â,¹ÞiHNçôs††PM+dóœ" §rÎÛFœûŽ ÞîœsÞé3ã15?&03?¡šgã1ô~0„ù ›¬]¹0„G˜†ùQA©çp¡ëû¼œoÝÎÿDç‘ჹL ùÅyûg¿¾òÂ1 ¹ëÒ¢æ2-Ÿû‘?zî»Û³sX¿w7ÌeZóOj~Ö÷ÎŽès™ [~òÍmoo#i^˜Ë´Vÿ‰ÿšæh‡¹LËþOœh:q¢1Úa.Ó²ÿÆÆzº¨†¹Ìnø¡6´}c 'gà‡háÑ%.9*ö9”ÏÈ Ùä˜Ëì†ÿÚ†‚7„üøÆnàk?Jo3¦ « áÇ׊…¤ƒðÆ¡œ"s™–ý‹ó___:ˆð¯Q•yuàÀW(¯šOCs™–ý‹ó_WW2Sχý ?›ÆMÝHËùK‡nZ2ÌevÃ5¡®®*d~eàÀWûÿS6’r"ÉNûi`.Ó²qþkk+CdžiÜK©J-8pñ!ñµ¶òÐ’¹iB:ÅJæ2-û¯­%ò«¼ÞÊrèµ¹‹IoÉê༶ß{hñ©pÿk„’ÐM‘¹Ìnø§õÇë­-tÈ™–!JþÅÄ•’ªÉ1—iÙ¿8ÿ55åQ s™–ý ó_í0—iÙEyqyy¡‚R­°–i‚ܽg —õõ·ù®#îÜCy¹‡IG”Â\¦Šò²\ôö­¿öÞ'GöïŽj˜Ë´@iñ!ò:wùjœÿeBeÙñêJW×ÓØPÙÔX}¢±æDSiii Ìeq—â,éç4MŽ LŒçz„jZ‘\.k“;çʹ¡âí«Ó  ÷‹€!Ìw@6DØ,“-ÃÛð?ð?ðc+$?çÂüÀüÀ½€øø{?û¹Þ ?ð?ð?v~à~à~ì‰à'‡^6?ð?ð?v~à~à~ì ü˜òƒë£à~à~lüÀüÀüØéÏNñû~à~àÇfÀüÀüÀ=s~ðû ~à~àÇ^Ày?kW.jxžWûaýüX;ß/óß/æ3cC¤¿/8¿/à~ÂëÇíüH^ηù¹ßº¾/õÖôOJH9éAé9¬8ì f–WíGyPÂCç=ôìÛ%…šþÉHŠóöÏ~}e <ÂÌòªý(;ýî’Ñsß}âõU>‰g"‡|º=;‡áaIhc°¼j?ªGÍ·g}ï 5¤²ìx Ržõ½3’¾‚.¯Úò øÖÖ–ÆúZRñª+]šþcéy÷f–WíG~Pû‰†úÚšª2ÒM•;°þp±òE½©©¡Î[UYVlà'6žofyÕ~ħ„74ÔzkÊËKò üØîyîÒcÇ­ k¼¼êß_âSȼޚ²ò’ÍÃÓÕeï"ÆË«ö£]*š¾Iy ¹ª„>Á\;ÈKO-7^^µñ)ÛµµUU•ž’"—‹Ï?LjêFƒ6Nå¦}&ôÆMÛ(—ÐçŒX2P.Q5®~¹ÎãÈÍb¼¼þ~¤§HWU—åú±ô¼o‡zËåʉô îMìÖ ¨îŸFx,¸Õ‚/¯Úò”áÊŠ"OaŽ«Ïãxè¶øÜm¥ÐÿÜú%J¡f$šÓ/¯ÚøéššŠŠò¢â#?–Ÿ—-<‘yJ†ü6cÚ” ß±åGf«Jäç5Ó‡eOËPÆCܬz[éUÒEŒ—×ßô”äŠòÂâ§¡ëϳV?´š›¶”dÈ;üÓ&ðùñž5éP?êZõ–Ó ÒEŒ—WíG| suuiyYAQ¾ÃÀOlÇÒó”Í,¯ÚÏ‘ý»ïÿêpö® ›6¦L[œú» õÚ‡ÂÇÒóŽÍ,¯Úº=vÊ‹ï××—55Viú¥ç›Y^µÕƒzk›OÔžhòVWæjú¥ç›Y^¿í³ÿG~à~àÇ&~ÂòLÕh‡È¹t›äG÷q¨}„k$ÇcnZWíçþøwî{ÔåŠ~5&dO$oS3¤ãWÿí£Bc’óNå8.‘ÓÍ/È¿¿spÓ¹K¹«Éæ®!]}„ÏÈ?zí>+AøxÏYš÷ÃOb2‚Äp°ý ]è&:Aú7Dú¿:?!ÿ¹æßg¤]–úˆð&íñ)/»ÿ‘Gè§Wk¶ðtè;u§óC}Î.½ÏÞ×\›Ÿ8©|}wžËoŸœyC~âIå§‘®Ó¹+N~eΙ¤ëè)§ ïW¾ïJt–&ôw^åiÜYU‹ç\Mú¹’ôµj˜¤ë¬“Åaf¬u%žJ>KþR C÷è´ß5=_™SNþÑq¦L˜0KX¶N>7÷•ù‰ÉªeÛ©úìÔž¾î£¤?ùÿt®Â·ôƒ’žâr¸ßû2ÌÙU¾å¸—ÈóÉqÉ~k‘.Ã3_™sžàüt.¡Ç©‚ÿt2!ŽÌ$í<½ù­¤î®C8ÚI¦;Vò½Lšæâ¢:ÞeŸÒiŠãU%<™à¾üÙ9™dw\?j–z~äiž Ó¡ã8›¬¶~£fÑqkÓ¿RœÇŒ÷E‡md|ÿlä,:ô=GÚÏ“îšáúàJ”‡½’¼?…k»<.Z/h?Ïr꣗ӹå⼜í—·¦§¸¼tù~µÿo³8©S“Ëȸÿç'£g]Iê}¿`¥+Q½¼+ÉçŸýtä,±ÞÌMH S¿zÚÆ“ÜÕ§q3~óÊœ7NëÖÉ_íœEGH§ã^çJ\_}GÿOÇ1aÑo¸ï¯5kI•o=Ð\DþŸQ%:Ê̽@¨ÿ7é~!qä¬Ì:ì4¢©Gâ?IYʼ¤{ýIï“îM›^™sx“Xäõ›,}û“å9Kª_ë«8¹®­'ÃÉÝ_î5W‰õÛ ã`»í¶Û ³¡_‘¿O½÷¡‰ÈÇ6F‡ŒFŸý?ÌŸ+îr` #šÏ¢û®'±S³µ«·_ËŷÇãÉÌ;ÎgГҿÔëÖCÛoÝÇáóãæKèwêÏîûð'ó÷Sõ«ùþ[³ßSC»çGIsK+ak%>j–Aœmž™ Å¢Âñ¤’°ØîñÓ D°cN)0óìx.Éÿ SâôJFŒHV¦ž¸JÁàt’°rÜtw4y6sµ°V@×÷m/äwÛÕî©[¸»ñ- nÆØéä­ 3Úçz+¦-Ò/Œi *4(¦ à>å –Ii LT_.aÒ ´qª(2`3D8p:j|–~{à€gx‹¤¥·yµÜÚÝ®åevðˆ÷ѨÙϬŸMËO÷Q#TOV{X§ZÓ\ÿ^›ß£ì×û/þ1‡õN™ ˜Å1èšé(€àà€   •Ì0ÍÃ6ƒÌ0ÍÃ@ƒÌ0Íà EƒÌ0Íà IƒÌ0ÍÃJƒÌ0þÿà…ŸòùOh«‘+'³Ù0¸T `hx” °¼ Ü è ôäSlide 1Jon-Eric SteinbomerDavid C. Morrill226Microsoft PowerPoint@ðØ-ý @0XÐs«Ä@ÀrâÊߨÇ‹ G¨Sÿÿÿÿ‰g  Ì)¡'  ÑÁ ÷€€€€€€€€€ÀÀÀÀÜÀ¦Êð """)))UUUMMMBBB999ÿ|€ÿPPÖ“ÌìÿïÖÆççÖ­©3f™Ì333f3™3Ì3ÿ3f3fff™fÌfÿf™3™f™™™Ì™ÿ™Ì3ÌfÌ™ÌÌÌÿÌfÿ™ÿÌÿ333f3™3Ì3ÿ333333f33™33Ì33ÿ33f33f3ff3™f3Ìf3ÿf3™33™3f™3™™3Ì™3ÿ™3Ì33Ì3fÌ3™Ì3ÌÌ3ÿÌ33ÿ3fÿ3™ÿ3Ìÿ3ÿÿ3f3fff™fÌfÿf3f33ff3f™3fÌ3fÿ3fff3fffff™ffÌff™f3™ff™f™™fÌ™fÿ™fÌf3Ìf™ÌfÌÌfÿÌfÿf3ÿf™ÿfÌÿfÿÌÌÿ™™™3™™™Ì™™33™f™Ì3™ÿ™f™3f™f3™™f™Ìf™ÿ3™3™™f™™™™™Ì™™ÿ™™Ì™3Ì™fÌf™Ì™ÌÌ™ÿÌ™ÿ™3ÿ™fÌ™™ÿ™Ìÿ™ÿÿ™Ì3™fÌ™ÌÌÌ3™33Ìf3Ì™3ÌÌ3Ìÿ3ÌfÌ3fÌff™™fÌÌfÌÿf™™Ì3™Ìf™Ì™™ÌÌ™Ìÿ™ÌÌÌ3ÌÌfÌÌ™ÌÌÌÌÌÿÌÌÿÌ3ÿÌfÿ™™ÿÌÌÿÌÿÿÌ3Ìfÿ™ÿ3Ì33ÿf3ÿ™3ÿÌ3ÿÿ3ÿfÿ3fÿffÌ™fÿÌfÿÿfÌ™ÿ3™ÿf™ÿ™™ÿÌ™ÿÿ™ÿÌÿ3ÌÿfÌÿ™ÌÿÌÌÿÿÌÿ3ÿÿfÿÌ™ÿÿÌÿÿÿfffÿfÿÿfffÿÿfÿfÿÿ¥!___www†††–––ËË˲²²×××ÝÝÝãããêêêñññøøøÿûð  ¤€€€ÿÿÿÿÿÿÿÿÿÿ4¡'A Ìx ÐÀ( xK€€€€€€€€€ÀÀÀÀÜÀðʦ """)))UUUMMMBBB999€|ÿPPÿ“ÖÿìÌÆÖïÖçç©­3f™Ì3333f3™3Ì3ÿff3fff™fÌfÿ™™3™f™™™Ì™ÿÌÌ3ÌfÌ™ÌÌÌÿÿfÿ™ÿÌ3333f3™3Ì3ÿ3333333f33™33Ì33ÿ3f3f33ff3f™3fÌ3fÿ3™3™33™f3™™3™Ì3™ÿ3Ì3Ì33Ìf3Ì™3ÌÌ3Ìÿ3ÿ33ÿf3ÿ™3ÿÌ3ÿÿff3fff™fÌfÿf3f33f3ff3™f3Ìf3ÿffff3fffff™ffÌf™f™3f™ff™™f™Ìf™ÿfÌfÌ3fÌ™fÌÌfÌÿfÿfÿ3fÿ™fÿÌÌÿÿÌ™™™3™™™™Ì™™33™f™3Ì™ÿ™f™f3™3f™f™™fÌ™3ÿ™™3™™f™™™™™Ì™™ÿ™Ì™Ì3fÌf™Ì™™ÌÌ™Ìÿ™ÿ™ÿ3™Ìf™ÿ™™ÿÌ™ÿÿÌ™3ÌfÌ™ÌÌ™3Ì33Ì3fÌ3™Ì3ÌÌ3ÿÌfÌf3™ffÌf™ÌfÌ™fÿ̙̙3Ì™fÌ™™Ì™ÌÌ™ÿÌÌÌÌ3ÌÌfÌÌ™ÌÌÌÌÌÿÌÿÌÿ3™ÿfÌÿ™ÌÿÌÌÿÿÌ3ÿfÿ™Ì3ÿ33ÿ3fÿ3™ÿ3Ìÿ3ÿÿfÿf3Ìffÿf™ÿfÌÌfÿÿ™ÿ™3ÿ™fÿ™™ÿ™Ìÿ™ÿÿÌÿÌ3ÿÌfÿÌ™ÿÌÌÿÌÿÿÿ3Ìÿfÿÿ™ÿÿÌffÿfÿffÿÿÿffÿfÿÿÿf!¥___www†††–––ËË˲²²×××ÝÝÝãããêêêñññøøøðûÿ¤  €€€ÿÿÿÿÿÿÿÿÿÿÿÿCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCmCmCmCmmmmmm®mmm’m’m’m’®’m’’’m’m’m’m’mmmmmmmmmmmmCmCmCmCmCCCmCCCCCCCmCCCmCmCmCmCmCmmmC?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ ¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖרÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿ      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ ¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖרÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿ      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ ¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖרÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿ      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ ¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖרÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿ      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ ¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖרÙÚÛþÿÿÿÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿ      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ ¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖרÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿ      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ ¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖרÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿ      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ ¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖרÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿ      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ ¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖרÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿ                           ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ \ ] ^ _ ` a b c d e f g h i j k l m n o p q r s t u v w x y z { | } ~  € ‚ ƒ „ … † ‡ ˆ ‰ Š ‹ Œ Ž ‘ ’ “ ” • – — ˜ ™ š › œ ž Ÿ   ¡ ¢ £ ¤ ¥ ¦ § ¨ © ª « ¬ ­ ® ¯ ° ± ² ³ ´ µ ¶ · ¸ ¹ º » ¼ ½ ¾ ¿ À Á Â Ã Ä Å Æ Ç È É Ê Ë Ì Í Î Ï Ð Ñ Ò Ó Ô Õ Ö × Ø Ù Ú Û Ü Ý Þ ß à á â ã ä å æ ç è é ê ë ì í î ï ð ñ ò ó ô õ ö ÷ ø ù ú û ü ý þ ÿ                           ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ \ ] ^ _ ` a b c d e f g h i j k l m n o p q r s t u v w x y z { | } ~  € ‚ ƒ „ … † ‡ ˆ ‰ Š ‹ Œ Ž ‘ ’ “ ” • – — ˜ ™ š › œ ž Ÿ   ¡ ¢ £ ¤ ¥ ¦ § ¨ © ª « ¬ ­ ® ¯ ° ± ² ³ ´ µ ¶ · ¸ ¹ º » ¼ ½ ¾ ¿ À Á Â Ã Ä Å Æ Ç È É Ê Ë Ì Í Î Ï Ð Ñ Ò Ó Ô Õ Ö × Ø Ù Ú Û Ü Ý Þ ß à á â ã ä å æ ç è é ê ë ì í î ï ð ñ ò ó ô õ ö ÷ ø ù ú û ü ý þ ÿ                           ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ \ ] ^ _ ` a b c d e f g h i j k l m n o p q r s t u v w x y z { | } ~  € ‚ ƒ „ … † ‡ ˆ ‰ Š ‹ Œ Ž ‘ ’ “ ” • – — ˜ ™ š › œ ž Ÿ   ¡ ¢ £ ¤ ¥ ¦ § ¨ © ª « ¬ ­ ® ¯ ° ± ² ³ ´ µ ¶ · ¸ ¹ º » ¼ ½ ¾ ¿ À Á Â Ã Ä Å Æ Ç È É Ê Ë Ì Í Î Ï Ð Ñ Ò Ó Ô Õ Ö × Ø Ù Ú Û Ü Ý Þ ß à á â ã ä å æ ç è é ê ë ì í î ï ð ñ ò ó ô õ ö ÷ ø ù ú û ü ý þ ÿ                           ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ \ ] ^ _ ` a b c d e f g h i j k l m n o p q r s t u v w x y z { | } ~  € ‚ ƒ „ … † ‡ ˆ ‰ Š ‹ Œ Ž ‘ ’ “ ” • – — ˜ ™ š › œ ž Ÿ   ¡ ¢ £ ¤ ¥ ¦ § ¨ © ª « ¬ ­ ® ¯ ° ± ² ³ ´ µ ¶ · ¸ ¹ º » ¼ ½ ¾ ¿ À Á Â Ã Ä Å Æ Ç È É Ê Ë Ì Í Î Ï Ð Ñ Ò Ó Ô Õ Ö × Ø Ù Ú Û Ü Ý Þ ß à á â ã ä å æ ç è é ê ë ì í î ï ð ñ ò ó ô õ ö ÷ ø ù ú û ü ý þ ÿ                           ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ \ ] ^ _ ` a b ¾ d e f g h i j k l m n o p q r s t u v w x y z { | } ~  € ‚ ƒ „ … † ‡ ˆ ‰ Š ‹ Œ þÿÿÿ ‘ ’ “ ” • – — þÿÿÿþÿÿÿþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿýÿÿÿýÿÿÿýÿÿÿýÿÿÿýÿÿÿýÿÿÿýÿÿÿýÿÿÿýÿÿÿýÿÿÿýÿÿÿýÿÿÿýÿÿÿýÿÿÿýÿÿÿýÿÿÿýÿÿÿýÿÿÿýÿÿÿýÿÿÿýÿÿÿýÿÿÿýÿÿÿýÿÿÿýÿÿÿýÿÿÿýÿÿÿýÿÿÿ½ þÿÿÿ¿ À Á Â Ã Ä Å Æ Ç È É Ê Ë Ì Í Î Ï Ð Ñ Ò Ó Ô Õ Ö × Ø Ù Ú Û Ü Ý Þ ß à á â ã ä å æ ç è é ê ë ì í î ï ð ñ ò ó ô õ ö ÷ ø ù û ýÿÿÿü ý þ ÿ Root Entryÿÿÿÿÿÿÿÿd›Oφꪹ)耚ëÊߨÇ™ €PicturesÿÿÿÿÿÿÿÿÈ· Current UserÿÿÿÿÿÿÿÿÿÿÿÿPSummaryInformation(ÿÿÿÿc èTPowerPoint Document(ÿÿÿÿÿÿÿÿÿÿÿÿÜî¦DocumentSummaryInformation8ÿÿÿÿÿÿÿÿŽ ÐÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÍÃLƒÌ0ÍÃRƒÌ0ÍÃSƒÌ0ÍÃTƒÌ0ÍÃVƒÌ0ÍÃPWƒÌ0ÍÃXƒÌ0ÍÃ[ƒÌ0ÍÃ]ƒÌ0ÍÃaƒÌ0ÍÃgƒÌ0ÍÃiƒÌ0ÍÃkƒÌ0ÍÃmƒÌ0ÍÃqƒÌ0ÍÃ4tƒÌ0ÍÃ6|ƒÌ0ÍÃ7„ƒò`/È 0ÒÕ˜·DArialUnicode MSh–h–’ðƒÉ 0ðƒÕ·DArial Unicode MSh–’ðƒÉ 0ðƒÕ€"¤€@ÿÿ¥ .©  @£nÿý?" dÿd@ÿÿïÿÿÿÿÿÿ  @@``€€ æðÞðxŸ|    !"#$%&'()*+,-./ÿ0@12345678:¯<=>?@ABDEFGHIJK  OPQRS   XYZ\^_`b¿defikmoqrstvwx yz{  ~eFƒ„…†‡ˆŠŒŽ‘’“”•–—˜™š›œ¯ðxRð$Ø› £üR¸´z 8ªÝŽÿ¿–bð$= yªËÔ]‡õvƈ†îÿ‡@¿–bð$ýÇ\Ü:1àƒðør¼’ÿ5F×bð$û¾ãDUMÑþi$rNy$­ÿh?Ó bð$6ûpl…;ñP²8šÓM;óÿ·';Lbð$òópjÑæD³b5x÷ÀôSËÿí"òsbð$f‘Yœá£Ê1‹ŠÇhV×CÿÊ.ß–bð$‹ÁiÓ%/!‰É·„ò!ÿí!©Åbð$ÍŸü(6Ë<î0`ß:ìÿz"–çbð$.„çûQŒ— cãyyñÿ÷( bð$}Eþëéu @÷+ÀÃø øÿMÊ3bð$®Ùþ€F®çS?߯ŠGÃÿTýbð$©×heé´Œ™ƒÊ§i—èÿa*mbð$šñˆæGèDÆ£ÕÖË#ÿ·+ÎEbð$ÚhÈ•=Ö”ñe*Ðÿ*0…qbð$| þ&œ©Ÿy˜#z÷¤sÿH“¯¡bð$Ì•T¸”;ëc&ûáÿ!÷4bð$ÿV¢iÓ¤³kO}²Ô¬Èÿ_5†Vbð$ïer¹ ìÖ.£¶³`J†ÿÌ3å‹bð$虲NÛ,]°×b"Y¨ÿ?¢±¿bð$ˆÅ·\XHÍÁ¤§â({;c_ÿNRðabð$Œxu\~*y³E¸!:l’ŠÅÿ.>´bð$á‘Ô:6$9’Jôãÿ.Z@âbð$æm+eþu-Š,m%€’±H3ÿÈGn<ð$ÿRð$~²IÚ)™áh¬n¤?ºÿ’36„ ð0e‚˜²ƒ0e„˜²…‡ˆ‰¿ ô   €ÿÌ™‚ƒÿÿÿ„… †A‡Áˆ‰Š‹ŒŽ‘’“”•–—Á˜™š›œ@¿ÀÁÂÿÿÿà ÄÅAÆÁÇÈÉÊË5%ÌÍÎÏÁ×ÿËËË 8c8c     ?€‚ƒœ1„…ðù†‡÷ˆ ¿ÀÁÂdÃÄÅÆÇÈÉÊ0uËÐÌ0íìÿÍ@T‰Î€Ï€ÿÿÐyÿÑ2Ò NÓPÃÔÕ'Öp”×°<ÿÿØÙ'Úp”ÿA¨)BCD|¾E„|¾…†|¾‡s "ñ Œ0e@žÿÿÿÿŸÿÿÿÿ  ¡Á¢ÿÿÿÿ£ÿÿÿÿ¤ ¥Á¦ÿÿÿÿ§ÿÿÿÿ¿ ÙÿÿÿÿÚÿÿÿÿÛ ÜÁÝÿÿÿÿÞÿÿÿÿß àÁáÿÿÿÿâÿÿÿÿÿÀÿÿÿÿÿÿÿÿ Âÿÿÿÿÿÿÿÿ Âÿÿÿÿÿÿÿÿ‰ÿÿÿÿŠÿÿÿÿ‹ ŒÂÿÿÿÿ‘’¿‚‚@ABÿÿÿC DEEFÅGHIJK5%LMNOÅPQRSTUWYÿÿÿÿZÿÿÿÿ[ \Å]ÿÿÿÿ^ÿÿÿÿ_ `ÅaÿÿÿÿbÿÿÿÿN€‚ÿÿÿƒ „…E†Å‡ˆ‰Š‹5%ŒŽÅ‘’“”•—™ÿÿÿÿšÿÿÿÿ› œÅÿÿÿÿžÿÿÿÿŸ  Å¡ÿÿÿÿ¢ÿÿÿÿ¿NÀÁÂÿÿÿà ÄÅEÆÅÇÈÉÊË5%ÌÍÎÏÅÐÑÒÓÔÕ×ÙÿÿÿÿÚÿÿÿÿÛ ÜÅÝÿÿÿÿÞÿÿÿÿß àÅáÿÿÿÿâÿÿÿÿÿNÿÿÿ FÆ   5%  Æÿÿÿÿÿÿÿÿ Æÿÿÿÿÿÿÿÿ Æ!ÿÿÿÿ"ÿÿÿÿ?N@ABÿÿÿC DEFFÆGHIJK5%LMNOÆPQRSTUWYÿÿÿÿZÿÿÿÿ[ \Æ]ÿÿÿÿ^ÿÿÿÿ_ `Æaÿÿÿÿbÿÿÿÿpñ»àãÿÿ™ÿÌ™ÌÿÿÿÌÿÝÝݲ²²@ñ²²²÷ðó€Ðå±¼8Êš;­”ÇÊš;úgþý4\d\dÄ'’„É 0Žÿÿÿ4ÿÿÿpûppû@ <ý4dddd4„‘w 0h–ì’ÿ <ý4KdKd4„³x 0h–(ˆ¦Š0º___PPT10‹ ÀÀŠfº___PPT9‹H®@¯?¬(€ÿÿ?Ù Ú %OÙ Ú =ð0ó‡ió‰kŸ 4What We re Going To Cover& Ÿ¨`The MVC programming model Creating Traits UI Views Creating Traits UI Handlers Defining Editors óŸ¨4GUI Design 101: The Model, View, Controller ApproachŸ¨”The Traits UI supports, and is based on, the MVC design pattern. The MVC pattern defines a UI in terms of three components: Models Views Controllers¡&||óŸ¨GUI Design 101: ModelsŸ¨A model is the data and behavior that represents (i.e. models) some aspect of a particular problem domain. For example: A well log contains measurements that model a particular physical property of a lithological column. Models do not have an inherent visual representation.¡$vœªÈ ?óŸ¨GUI Design 101: ViewsŸ úA view is the visual representation of some aspects of a model. For example: A line plot can be used as a view of a well log model. It s possible, and common, for a model to have more than one view (e.g. a plot and spreadsheet view of a well log model).ó Ÿ¨GUI Design 101: ControllersŸ¨ãA controller defines behavior that mediates and controls the flow of information between the user, the view and the model. Having a controller helps prevent the model from becoming cluttered with view specific details and code.ó ó Ÿ¨Defining a ModelŸ jDefining a model using Traits is easy& Any object with traits is a model that can be used with the Traits UI. The object s traits define the data and events that the model provides.ó Ÿ¨Defining a ViewŸ¨•A Traits UI defines an MVC view using View objects. A View object defines the general characteristics of a particular user interface view. A View also contains content which describes the individual items displayed in the view. A View does not reference a model directly. In general, a View is a reusable object that can be used to create multiple, simultaneous views for different model object instances.¡–Z–ó Ÿ¨The Kinds of ViewsŸ¨tThere are seven basic types of views supported by the Traits UI: Modal Live Livemodal Nonmodal Wizard Panel Subpanel¡*AZ4ZA4ª>L ó Ÿ Modal Views& Ÿ¨ Suspend the application until the user dismisses them. Are displayed in a separate dialog window. Always make a copy of the model, interact with the copy, then update the original model from the copy when the user clicks OK. If the user cancels, no changes are made to the original model.ó Ÿ Live Views& Ÿ¨Allow the user to continue working with other parts of the application (they are not modal). Are always displayed in a separate window. Interact directly with the specified model. Changes made to the model in a view are immediately seen by other parts of the application.¡Zó Ÿ  Livemodal Views& ª Ÿ¨QAre a cross between live and modal views. Suspend the application until the user dismisses them (i.e. they are modal). Always appear in a separate window. Do not make copies of the model. Changes made to the model by the view are immediately seen by other parts of the application (even though the user cannot interact with those parts).¡RZRó Ÿ Nonmodal Views& ªŸ ÔAre the inverse of livemodal views& Allow the user to continue working with other parts of the application (they are not modal). Are always displayed in a separate window. Always make a copy of the model, interact with the copy, then update the original model from the copy when the user clicks OK. If the user cancels, no changes are made to the original model.¡kkª Oó Ÿ Wizard Views& Ÿ âOrganize their contents into a series of  wizard pages which the user must process sequentially. Suspend the application until the user dismisses them (i.e. they are modal). Are displayed in a separate window. Operate directly on the model.óŸ Panel Views& Ÿ¨Are displayed as part of a containing window or panel. Allow a non-Traits UI window to intermix Traits UI and non-Traits UI elements together (e.g. within a wx.Frame window). Can contain the normal buttons that the other View kinds allow. Operate directly on the model.¡6ž8-ªžióŸ Subpanel Views& ªŸ¨®Are nearly identical to panel views. The only difference is that a subpanel view never displays any of the standard Traits UI buttons, even if the View object specifies them.¡6¯Q=ªCdóˆjŸ¨VET: View Editing ToolŸ  VET is a tool for building Traits user interfaces. We ll be using it today to interactively illustrate many of the Traits UI features& óŸ¨ View ButtonsŸ¨dViews (except for subpanel) support a standard set of optional buttons: OK: Allows the user to close a view after having successfully edited the model. Cancel: Allows the user to close a view, discarding any changes made to the model. Undo/Redo: Allows the user to undo or redo any or all changes made to the model. Revert: Allows a user to undo and discard all changes made to the model without closing the View window. Apply: Allows the user to apply all changes made to a copy of the model to the original model without closing the View window. Help: Allows the user to display View specific help information.¡HZZ.NM HV m ªKóŸ LControlling a View Window s AppearanceŸ¨šA View defines several traits that can be used to control the appearance of a window: width, height: Window size. It can be: an absolute pixel value (e.g. width = 400 means width is 400 pixels) a fraction of the screen size (e.g. width = 0.5 means 0.5 * screen width) x, y: Window position. It can be: an absolute pixel value (e.g. x = 50 means left edge is 50 pixels from the left edge of the display, and x= -50 means the right edge is 50 pixels from the right edge of the display) a fraction of the screen size (e.g. x = 0.1 means the left edge is at 0.1 * screen width, and x = -0.1 means the right edge is 0.1 * screen width from the right edge of the display).¡¤VP'PP"PmPP m  ó“uŸ \Controlling a View Window s Appearance (cont.)Ÿ ÐAdditional View traits that affect the window s appearance are: title: Specifies the contents of the window s title bar. resizable: If False (the default), the window has a fixed size. If True, the window will have a sizing border. ¡ˆ@¨ 14 0(óŸ 8Specifying a View s ContentsŸ¨ˆA View has three primary types of content: The actual editors (i.e. widgets) that appear in the view, specified using Item, Group and Include objects. A menu bar, specified using Menu, Action and Separator objects. A tool bar, specified using Action and Separator objects. It can also have various optional buttons (e.g. Undo, OK, Cancel) specified using the buttons trait on the View itself.¡4+ZæZxZ%K& &  V óŸ¨The Item ObjectŸ An Item defines a single editor or control that appears in a view. In some cases, an Item corresponds to a single object trait to be edited. In other cases, an Item represents a non-editable, visual element in the view, such as a separator line, or extra space between fields. The type of Item is determined by the value of its traits, which can be divided up into several categories& ¡nZNG}\óŸ 8Specifying an Item s ContentŸ <name: A string that specifies the name of the trait the Item will edit. If empty, the Item defines a label only (using the label trait). If =   (a blank), the Item simply inserts extra space into the view. If =  _ , the Item inserts a separator line into the view. If =  nn , the Item inserts nn pixels of space into the view. object: A string that specifies the name of the view context object the name trait belongs to. Unless you are editing multiple objects in a single View, this is typically left to its default value of  object .¡6IZZÒZ4 !":9  / G;ª,òóŸ \Controlling an Item s Presentation and EditingŸ Èeditor: The editor (factory) used to edit the contents of the trait. If not specified, the editor will be obtained from the trait itself. format_str: A string containing standard Python formatting sequences (e.g.  %5d ) that can be used in conjunction with most text-based trait editors to format the trait value for editing. format_func: An alternative to format_str that specifies a callable that can be used with most text-based trait editors to format the trait value for editing.¡åZ„ Ek  \ª>Š ²  vóŸ @Controlling an Item s AppearanceŸ¨¥label: A string specifying the label to display next to the editor. The default is to use the trait name to automatically define the label (e.g. a trait name of employee_name becomes a label of Employee name). style: A string specifying the style of editor to use. The possible values are: simple: A property sheet style editor, fits on a single line custom: A custom editor that usually presents a more elaborate UI that may require a larger amount of screen real estate. text: A single line text editor (i.e. the user must always type in a value) readonly: A non-editable (i.e. display only) editor. The default is to use the style specified by the containing Group or View.¡&#Z8ZKZœ  L%tHiª,¡ xxó”vŸ PControlling an Item s Appearance (cont.)Ÿ¨Cwidth/height: An integer value (default: -1) specifying the desired width/height of an item. If the value is positive, max( value, minimum_needed ) is used. If the value is < -1, abs( value ) is used, even if it is less than what the item says it needs. A value of -1 means use the size requested by the item itself. resizable: A boolean (default False) specifying whether the item benefits from extra space (e.g. lists, tables, trees, multi-line text editors). padding: An integer value (default 0) specifying the amount of extra padding that should be added around an item. ¡²^ZâZZ R!  nlª,„»ðóŸ VControlling an Item s Visibility and StatusŸ  defined_when: A Python expression evaluated when the UI for a View is created. If the value of the expression is true, the item is included in the UI; otherwise the item is omitted. visible_when: A Python expression evaluated when the UI for a View is created, and also whenever any trait belonging to any object in the UI s context is changed. If the value of the expression is true, the editor for the item is visible; otherwise the editor is hidden. enabled_when: A Python expression evaluated when the UI for a View is created, and also whenever any trait belonging to any object in the UI s context is changed. If the value of the expression is true, the editor for the item is enabled; otherwise the editor is disabled. Note: These expressions are useful for relatively simple cases. For more complex cases, a Handler subclass should be used.¡öÖP{P 2t 2My 2M{Vª6 ª  €óŸ¨%Providing User Assistance for an ItemŸ êtooltip: A string specifying information that should be displayed as a tooltip whenever the mouse pointer is positioned over the item s editor. The default is that no tooltip is displayed. help: A string specifying a complete help description of the item. This description is used when the Help button is clicked to automatically synthesize a complete help page for the UI.¡bv@oaPª6@YÈóŸ¨The Group ObjectŸ¨{The Group object is used to organize Item or other Group objects visually and logically. Groups can be nested to any depth.¡H| Dó Ÿ 8Specifying a Group s ContentŸ fThe contents of a group are specified as any number of positional arguments to the Group constructor, or by assigning a list of values to the group s content trait. Each item added to a group can be an: Item Group Include The contents of the group are laid out in the same order they are added to the group.¡pËZZVZS>.VóŸ NOrganizing a View s Layout using GroupsŸ Ìorientation: A string specifying the layout orientation used by the group. The possible values are: vertical: The contents of the group are laid out in a single column. This is the default. horizontal: The contents of the group are laid out in a single row. layout: A string specifying the layout method used by the group. The possible values are: normal: The contents of the group are laid out normally, with no special handling. This is the default. split: Similar to normal, but splitter bars are inserted between group items to allow the user to adjust the space devoted to each item. Note: the position of the splitter bars can be made a user preference item by assigning a value to the group s id trait. tabbed: Each item contained in the group is displayed on its own separate notebook page. More complex layouts are accomplished by appropriate nesting of groups.¡4dPžPZPÃPHP YR :Tb qkSHó!Ÿ @Controlling a Group s AppearanceŸ $show_labels: A boolean (default: True) specifying whether or not labels should be displayed next to each group item. show_left: A boolean (default: True) specifying whether labels, if shown, should be displayed to the left (True) or right (False) of the group s items. show_borders: A boolean (default: False) specifying whether or not a border should be drawn ar      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz|ýÿÿÿ}~€ound the contents of the group. label: A string specifying a label used to describe the entire group. If the value is the empty string (the default), no label is displayed. Otherwise. if show_borders is True, the label is displayed as part of the border drawn around the contents of the group. If show_borders is False, the label is displayed as a fancy text label if style is  custom , or a simple text label if it is not.¡þP P u W– Z jª _ „  b só•wŸ PControlling a Group s Appearance (cont.)Ÿ êstyle: A string specifying the default style to use for each item in the group. As with an Item, the possible values are: simple, custom, text, readonly. The group s style value is only used for items contained in the group that do not explicitly specify their own style value. padding: An integer value (default: 0) in the range from 0 to 15, specifying the amount of extra padding to insert between each group item as well as around the outside of the group. selected: A boolean (default: False) specifying whether the group should be the selected notebook page when the containing View is displayed. Obviously, this only applies when the group represents a page within a notebook, and only one group at most within the notebook should have a True value. ¡þöPV~°X ª,Aó"Ÿ VControlling a Group s Visibility and StatusŸ Ödefined_when: A Python expression evaluated when the UI for a View is created. If the value of the expression is True, the group and its contents are included in the UI. Otherwise the group and its contents are omitted. visible_when: A Python expression evaluated when the UI for a View is created, and also whenever any trait belonging to any object in the UI s context is changed. If the value of the expression is True, the group and its contents are visible. Otherwise they are hidden.¡èPZZ¤ZkZ 2"g 2M"Eª$ Ñ ó–xŸ fControlling a Group s Visibility and Status (cont.)Ÿ ¬enabled_when: A Python expression evaluated when the UI for a View is created, and also whenever any trait belonging to any object in the UI s context is changed. If the value of the expression is True, the group and all editors for items contained in the group are enabled Otherwise the group and all contained editors are disabled. Note that this can be used to control a user s progress through a wizard View, by enabling and disabling the groups defining each wizard page. These expressions are useful for relatively simple cases. For more complex cases, a Handler subclass should be used. ¡à¤Z;ZvZZ 2M"ÈBUª Kó#Ÿ¨%Providing User Assistance for a GroupŸ °help: A string (default   ) specifying a user-oriented description of the group s contents. This information is used to automatically create a help page for the containing View when the Help button is clicked. The help information for the group will be combined with the information provided by the help traits of the group s content items.¡n^û¬ m&ó˜zŸ¨Special Group SubtypesŸ¨ÚHGroup: A group of horizontally laid out items VGroup: A group of vertically laid out items HSplit: A group of horizontally split items VSplit: A group of vertically split items Tabbed: A group of tabbed notebook items¡dÛ)'&$#ªH)'&Mó$Ÿ¨The Include ObjectŸ †Include objects are references to other view elements, namely Items and Groups. Include objects allow for factoring views into smaller pieces that are dynamically included when a user interface is constructed from a View. This allows for several interesting capabilities, including: Parameterized views  Visual inheritance¡¨Z)Z7L-?)ó% Ÿ¨How Include Objects are HandledŸ¨ When a user interface is being constructed from a View, any imbedded Include objects are logically replaced by the Item or Group object they refer to. For example: The process is recursive, and will continue until no Include objects remain in the resulting View. ¡´¥PPeP2'^!ó&!Ÿ¨!Creating Implicit Include ObjectsŸ¨ A class View containing Group or Item objects with non-default id traits is automatically refactored into an equivalent View using Include objects. For example:¡š¡P 7ªZ =ó'"Ÿ¨!Using Include Objects EffectivelyŸ ²There are several possible uses for Include objects. One example is creating  parameterized views. For example, the traits TableFilter class contains the following view: This allows TableFilter subclasses to define a new version of the filter_view Group containing their custom content without having to redefine the main TableFilter view. ¡šZZ$R 3 + E ªP} 3 + K ó(#Ÿ¨*View Objects as Part of a Class DefinitionŸ JView elements, like View, Group and Item objects, can be created and used in any context, such as module level variables or dynamically created within methods or functions. However, there are some additional semantics that apply when they are created statically as part of a class definition& ¡J&Zþó)$Ÿ¨/Defining Views, Groups and Items within a ClassŸ ÊViews elements created within a class definition have semantics similar to methods. In particular: They are inherited by subclasses They can be overridden by subclasses This leads to a feature referred to as  visual inheritance & ¡6cF=cF=ó*%Ÿ ( Visual InheritanceŸ¨žJust like methods can be overridden in subclasses to customize behavior without rewriting an entire class, so to can view elements be overridden. For example:¡ŸPŸó.)Ÿ ( Visual InheritanceŸª ó+&Ÿ¨The trait_view Method¡$ª Ÿ ÜThe trait_view method allows you to get or set view element related information on an object. For example: obj.trait_view() returns the default View associated with obj. obj.trait_view(  my_view ) returns the view element named my_view (or none if my_view is not defined). obj.trait_view(  my_group , Group(  a ,  b ) ) defines a Group with the name my_group. This group can either be retrieved using trait_view or as the view element referred to by an Include object imbedded within a View.¡XlZƒZ ^  / + *ªÎ ^,# 5+ Qó,'Ÿ¨The trait_views Method¡$ ª Ÿ¨#The trait_views method can be used to return the list of names of some or all view elements associated with a class. For example: obj.trait_views() returns the names of all View objects associated with obj. obj_trait_views( Group ) returns the names of all Group objects associated with obj.¡¦‚¢ sªb s9AóŠlŸ¨EventsŸ¨nIn the context of the Traits UI and user interface creation, an event is something that happens while a user is interacting with a user interface. More specifically, events include: Button clicks. Menu selections. Window/Dialogs being opened or closed. Changes made to a field or value by the user. Changes made to a field or value by some other part of the program.¡@¶¹@q¹ó‹mŸ¨Event HandlersŸ¨OAn event handler is a method or function that is called whenever a specific event occurs (e.g. the OK button being pressed). Proper event handling is the key to writing flexible and powerful user interfaces. In a traits UI, event handlers can either be written: As methods on the model. As methods on a special object called a Handler.¡XJ öAóŒnŸ¨The Handler ClassŸ¨nIn the MVC programming model, a Handler class instance is a controller. If you are using the VET tool, it automatically builds a Handler for you. The main purpose of a Handler subclass is: To handle events common to every traits UI view. To handle events specific to a particular model and view. To help keep model code separate from user interface specific details.¡‚½²  ; ²óoŸ¨ The Handler Class: Common EventsŸ¨JThe events (and methods) common to every Handler subclass are: init ( info ): Handle view initialization close (info, is_ok ): Handle a user request to close a dialog or window. closed ( info, is_ok ): Handles a dialog or window being closed. setattr ( info, object, name, value ): Handles a request to change a model trait value.¡~? ) 5+%3ª>vF-QóŽpŸ¨'The Handler Class: View Specific EventsŸ¨‰Event handlers specific to a particular View fall into the following categories: Trait change handlers. Menu and toolbar action handlers.¡8Q9(%9óqŸ¨(The Handler Class: Trait Change HandlersŸ¨áA trait change handler is called for each model trait when a view is initialized or when the trait changes value. A trait change handler is optional. If one is not defined, its corresponding event is ignored. A handler always has the following method signature: object_trait_changed ( info ) where: object: The name of the context object containing the trait. trait: The name of the trait. info: A UIInfo object containing information about the current state of the user interface.¡ÒZZZ·Z7Nª,tNórŸ¨/The Handler Class: Menu/Toolbar Action HandlersŸ¨kMenu and toolbar action handlers are not optional. They are explicitly referenced by Action objects specified in a View. The signature for an action handler is always: method_name( info ) where: method_name: The method name specified in the corresponding Action object. info: A UIInfo object containing information about the current state of the user interface.¡þªZZZ§Z%.1   1 Nª>ª  HNó‘sŸ¨The UIInfo ObjectªŸ hA UIInfo object is automatically created whenever a View is displayed. The UIInfo object is passed on every call to a Handler method (referred to as the info argument). The UIInfo object contains all the View specific information defined by the View. It is basically a namespace containing: Each context object, referenced using its context name. Each trait editor, referenced using its Item name or id. The traits UI created UI object, referenced using the name  ui . It is your responsibility to ensure that context objects and editors don t use duplicate names.¡v#Z²Z`Z,%%  `$`ªPC\có’tŸ¨ The UI ObjectŸ¨ZA UI object is also created automatically each time a traits UI View is displayed. The UI object contains all the traits UI information common to every View. The UI object is returned as the result of a call to the edit_traits, configure_traits or ui method (on a View object). Although the UI object contains lots of information, the parts of most interest to a traits UI developer are: result: A boolean value indicating the result of a modal dialog (i.e. True = user clicked OK; False = user clicked Cancel). dispose(): A method that can be used to close the dialog or window under program control.¡^…ZÖZ<@3 _@ QªPØ ”Åó-(Ÿ¨The Traits UI Object ModelŸª ó2-Ÿ¨What Editors DoŸ ¶Editors are the heart of the traits UI. Editors create a UI toolkit specific user interface for displaying and entering a specific type of data (e.g. floats, colors, fonts, file names, & ) Every trait has a default editor associated with it. However, the default editor can be overridden either in the trait definition or in a view Item definition.¡*\K ó3.Ÿ¨What Editors DoŸ¨OEditors and traits are loosely coupled: the editor only ensures that the type of data it understands is entered, and relies on the associated trait to actually validate the data entered. In some cases, the data allowed by the editor is a subset of the data allowed by the trait, so no user errors can occur. In other cases, the editor allows a superset of the data allowed by the trait, and catches exceptions thrown by the trait when invalid values are entered. The editor then provides feedback to the user to indicate that the entered value is not valid (e.g. the entry field turns red). ¡PZPó4/Ÿ¨Editors and Editor FactoriesŸ¨ÞWhat we call an editor is in fact an editor factory (but editor is a less intimidating term). An editor factory can be thought of as a template for creating the real editors when needed (i.e. when a View is displayed). Because they are templates, the same editor factory object can often be re-used in multiple views, or even multiple times within the same view. When a View is displayed, the editor factory for each Item in the View is called to create an editor for that Item.¡BßP¬ó50Ÿ¨The Basic Editor StylesŸ äEditor factories can create any one of four different editor styles, based on the value of the corresponding Item s  style trait. The four editor styles are: simple: Fits on a single line. Can be used to create Visual Basic style property sheets. custom: Provides the richest user experience, and can use as much screen real estate as necessary. text: Fits on a single line, and is always a text entry field. readonly: Displays the current value of a trait, but does not allow the user to edit it.¡˜ŸPTPm,S];QªšQó71Ÿ¨The Basic Editor Stylesó82Ÿ¨The Standard Trait EditorsŸ¨ÇThe Traits UI package comes with a large set of predefined editor factories, and an open architecture that allows for creating new ones as needed. The current set of predefined editor factories are: ¡ÈÈó93Ÿ¨The Standard Trait EditorsŸ In this presentation we ll focus on six of the predefined editor factories& Three that are simple, yet very useful: ButtonEditor CustomEditor EnumEditor And three that are extremely useful, but require more setup to use properly: InstanceEditor TableEditor TreeEditor¡^tP%PMP&Pt%M&ªtt   N  ó:4Ÿ¨The ButtonEditor Editor Factoryª Ÿ ¤The  buttons trait of a View object allows you to define standard and custom buttons along the bottom edge of a window or dialog. However, there may be other cases where it would be useful to define buttons at other points in a view. This is where the ButtonEditor comes in handy. Traits defines a Button trait, which is an Event trait combined with a ButtonEditor. It is a parameterized type whose argument is the label you want to appear on the button in a view. ¡„ÓZà " fª,ý X fó?9Ÿ¨The ButtonEditor Editor Factoryª Ÿ¨ For example:¡  óA:Ÿ¨The ButtonEditor Editor Factoryª Ÿ èThere are several ways to handle the button being clicked. Here s one that treats  spell check as a model function:¡uZuóB;Ÿ¨The ButtonEditor Editor Factoryª Ÿ xHere s another that treats it as a view/controller function:¡=Z=ó;5Ÿ¨The CustomEditor Editor Factoryª Ÿ :While the Traits UI can handle most user interface requirements, occasionally there are cases where it is useful to imbed a non-traits widget in the middle of a traits View. One solution is to write a new traits EditorFactory subclass that creates the needed widget. However, in many  one of cases it may be faster and easier to simply use a CustomEditor to imbed the  foreign control into a particular View. ¡žZžª,Ô x 9óC<Ÿ¨The CustomEditor Editor Factoryª Ÿ¨œUsing a CustomEditor requires specifying a callable function plus any additional arguments the function may require. The signature for the function must be:¡,P ‰ª ‰óD=Ÿ¨The CustomEditor Editor Factoryª Ÿ¨EThe following is an example of using a CustomEditor to create a view:¡,FP' ª' óF>Ÿ¨The CustomEditor Editor Factoryª Ÿ ÊWhich results in the following display& Note that in practice, more code is required than this, since among other things, event handlers to handle input from the control and set the appropriate trait value also need to be set up.¡ææósYŸ¨The EnumEditor Editor Factoryª Ÿ òLet s start with a trivial example of using an EnumEditor: Fruit = Enum(  apple ,  pear ,  peach ) Unsurprisingly, the EnumEditor is the default editor for the Enum trait, and will automatically yield the following results when used in a traits UI:¡r;Z)Z–Z/ ) UªP/  1 UóuZŸ¨The EnumEditor Editor Factoryª Ÿ 4Now, let s make the example a little more  real world & We re doing an interactive menu, and fruit is a trait in an Order object that represents the diner s choice from among the fruit currently on hand. Current stock is maintained in a separate Stock class instance that has a fruits trait that lists the fruit currently available. The diner should only be able to choose a fruit that is currently available. ¡n›P]}óv[Ÿ¨The EnumEditor Editor Factoryª Ÿ ”We can still use the EnumEditor to create the UI, but we ll have to provide more information to help it tie things together. In this case, we ll focus on three of the EnumEditor traits that are of interest for this example: values: The values to enumerate (can be a list, tuple, dict, or a CTrait or TraitHandler than is mapped). name: Extended trait name of the trait containing the enumeration data. The values and name traits provide complementary means of accomplishing the same task: providing the set of enumeration values independently of the trait being edited. In this case, we ll use the name trait because we have access to a Stock object whose fruits trait contains the enumeration of available fruit. ¡dàP²P8PP ˆ /<  D±#4ªt ˆ _ “ów\Ÿ¨The EnumEditor Editor Factoryª Ÿ¨8The resulting Order view would then look something like:¡J9Z &ó<6Ÿ¨!The InstanceEditor Editor FactoryªŸ¨;The following type of trait declaration occurs frequently: manager = Instance( Employee ) Amazingly enough, the InstanceEditor is designed to edit these types of traits. There are multiple usage scenarios for editing this type of trait though: The instance is fixed, but the user needs to edit the contents of the instance. The user needs to select from a fixed or varying set of instances, but does not need to modify the contents of the instance once selected. The user needs to select or create an instance, and then be able to edit the contents of the selected instance. The InstanceEditor is designed to handle all of these scenarios, along with several variations on how the editing should be performed. However, in order to do this, the InstanceEditor requires a more complex definition than do most other trait editors.¡¼;PPšPKPýP;vK—Fª>pÅ—FóG?Ÿ¨!The InstanceEditor Editor FactoryªŸ ‚Let s start with the easiest case: The user only needs to edit the contents of the current instance object. In this case, there are two choices: Allow the user to edit the object contents in a separate pop-up dialog. Edit the contents of the instance object  in-line , as if it were part of the main object being edited.¡R$I%°’ $I%°óH@Ÿ¨!The InstanceEditor Editor FactoryªŸ nFor case 1, use the  simple editor style and specify some or all of the following traits: label: The label on the button that displays the pop-up editor dialog. It defaults to the trait name. view: The View object or name to display in the pop-up editor dialog. It defaults to the default View for the instance object. kind: How the pop-up editor should be displayed (e.g.  modal ). It defaults to the value specified on the view itself. ¡®[][aS3<óKAŸ¨!The InstanceEditor Editor FactoryªŸ¨ For example:¡  ó=7Ÿ¨!The InstanceEditor Editor FactoryªŸ ŠFor case 2, use the  custom editor style and ignore the label trait:¡.FZ9óNCŸ¨!The InstanceEditor Editor FactoryªŸ 6Now let s move on to the next case: The user needs to select from a fixed or varying set of instances, but does not need to modify the contents of the instance once selected. Within this case there are several important sub-cases: The user must select from a known set of existing instances. The set may change over time. The user must select from several different types (i.e. classes) of objects, which are only created once the user selects them. The user must select from an unknown set of existing instances (e.g. by drag and drop). ¡t$P‹P8P4PP$‹84óODŸ¨!The InstanceEditor Editor FactoryªŸ The InstanceEditor supports all of these sub-cases, and in fact allows any combination of them to be used together in the same editor. It does this by allowing you to specify one or more InstanceChoiceItem subclasses as part of the InstanceEditor definition. There are three predefined InstanceChoiceItem subclasses, each handling one of the three previously described sub-cases: InstanceChoice: Describes a single instance object the user can select. Note: If an instance has a suitable name trait, the instance can be used instead of an InstanceChoice object. InstanceFactoryChoice: Describes a  factory (e.g. a class) which can create instance objects the user can select. InstanceDropChoice: Describes a class of object the user can drag and drop on the editor to select it.¡ |PP©(L^/ HUª˜©(L‘ ^UóPEŸ¨!The InstanceEditor Editor FactoryªŸ¨bThe list of InstanceChoiceItems can either be specified as part of the InstanceEditor itself, using the values trait, or as an external model, specified using the name trait. Or they can be used together to create a composite set. In any case, changes made to the set of InstanceChoiceItems are immediately reflected in the InstanceEditor user interface.¡˜c (5h"ªP (º"óQFŸ¨!The InstanceEditor Editor FactoryªŸ¨ For example:¡ P óMBŸ¨!The InstanceEditor Editor FactoryªŸ HAnd a slightly more complex example& ¡%P%óZHŸ¨!The InstanceEditor Editor FactoryªŸ lAnd here s an example showing  drag and drop support:¡7P7ó\IŸ¨!The InstanceEditor Editor FactoryªŸ¨Which looks like:¡Pó^JŸ¨!The InstanceEditor Editor FactoryªŸ¨ŠFinally, it is possible to combine instance selection and editing in a single editor by simply combining the editing and selection traits:¡‹P‹óYGŸ¨The TableEditor Editor Factoryª Ÿ¨TAnother common type of trait declaration is: department = List( Employee ) In the case of a list of objects with traits, the TableEditor can be used to display the list as a table, with one object per row, and one object trait per column. In fact, the TableEditor is the default editor for a List trait whose values are objects with traits.¡r-ZZ Z-2 t -ª,} t Nó_KŸ¨The TableEditor Editor Factoryª Ÿ ŽSome of the features of the TableEditor are: Supports  editable and  read-only modes. Allows object editing either in-place within the table, or separately, in an external  inspector view. In-place editing supports many of the common trait editors, including drag and drop. Supports ascending/descending sorting on any column. Sorting can either affect the underlying model or just the view. Allows the user re-order/include/exclude any of the object columns, and persist the resulting set across application sessions. Allows searching the table contents in a wide variety of ways. Allows filtering the table contents using a wide variety of user customizable and persistable filters. Table/column/cell level context menus All changes made to the table are fully undoable/redoable. Colors, fonts and grid lines are fully customizable. ¡R-PPP ª> t a9óbMŸ¨The TableEditor Editor Factoryª Ÿ¨An example of a TableEditor:¡& ª ó`LŸ¨The TableEditor Editor Factoryª Ÿ 0All of these features and flexibility come at a price& in this case, the amount of work needed to correctly define a TableEditor. Out of the box, a TableEditor will display many lists of objects without any extra work& but the results will often be non-optimal. The traits that can be defined for a TableEditor include: Table Attributes: Colors, fonts, sorting rules, & Table Columns: What object traits can be displayed as columns and how. Table Filters: What standard and custom filters can be applied to the table. Table Search: What filter can be used to search the table. Table Factory: An optional callable that can be used to add new object rows to the table.¡ò>P[Pa    ‹  " : @ / Mª>t  ‹ eócNŸ¨0The TableEditor Editor Factory: Table Attributesª "Ÿª ó>8Ÿ¨-The TableEditor Editor Factory: Table Columnsª Ÿ fYou define the content, appearance and behavior of a table by providing ordered sets of TableColumn objects. Each TableColumn object describes a single column/object trait. You can provide two sets of columns: columns: The columns you see initially other_columns: The remaining columns These are the default columns, the user s most recent preference setting overrides them. There are two basic types of TableColumn: ObjectColumn: Used for objects with traits ListColumn: For lists and tuples You can also define subclasses to get state dependent column behavior ¡þÒPLPƒPLPGPX  U  v   Gª†X  | Ž   HódOŸ¨-The TableEditor Editor Factory: Table Columnsª Ÿ êObjectColumn traits: name: Name of the object trait to display/edit label: Column label to use for the column type: The type of data contained by the column text_color: Text color for this column text_font: Text font for this column cell_color: Cell background color for this column read_only_cell_color: Cell background color for non-editable columns horizontal_alignment: Horizontal alignment of text in the column vertical_alignment: Vertical alignment of text in the column visible: Is the table column visible (i.e. viewable)? editable: Is this column editable? droppable: Can external objects be dropped on the column? editor: Editor factory to use when editing the column  in-place menu: Context menu to display when this column is right-clicked¡dPáP  +%,   (1-+/ 4;<ª~ ’   (1-BóePŸ¨-The TableEditor Editor Factory: Table Columnsª Ÿ „For almost every ObjectColumn trait there is a corresponding  get or  is method. For example,  editor and  get_editor() ,  editable and  is_editable() . Defining a method overrides the corresponding trait. This allows subclasses to define values that are dependent upon the state of each table object or other values.¡RTJ¥ 7J¥ª> R  ªófQŸ¨-The TableEditor Editor Factory: Table Filtersª Ÿ ´When applied to a table, a filter reduces the set of visible rows to only those objects which match the filter s criteria. A TableEditor defines two filter related traits: filter: The filter initially in effect (defaults to None =  No filter ) filters: A list of TableFilter objects that the user can choose from using the  View drop down list. ¡~¬¯} $.  Iª,}  Ió—yŸ¨-The TableEditor Editor Factory: Table Filtersª Ÿ There are two basic types of filters: Normal filter: An actual filter that can be applied and modified. Template filter: A filter which cannot be applied or modified, but which is used to create new normal filter objects of the same type as the template and with the same initial filter values. A template filter is simply a normal filter with its template trait set to True. User created filters are automatically persisted across application sessions as part of the TableEditor s user preference handling. You can create your own TableFilter subclasses, or use any of the standard subclasses: EvalTableFilter RuleTableFilter MenuTableFilter ¡ö&PP,P0PP& 5°5^ 5 40ªbÔ 3 4óhRŸ¨-The TableEditor Editor Factory: Table Filtersª Ÿ¨(The EvalTableFilter: Allows a user to enter a Python expression whose value determines whether or not an object meets the filter criteria. Its use is obviously best suited to users already familiar with Python. Trait references on the object being tested do not need to be explicitly qualified. ¡BªójSŸ¨-The TableEditor Editor Factory: Table Filtersª Ÿ öThe RuleTableFilter: Allows users to define  rules using drop down value entry for trait names and operations. Rules can be  and ed or  or ed together. Rules can be added, deleted and modified. Introspection based& requires no set-up by the developer.¡:ZçZéª>knólTŸ¨-The TableEditor Editor Factory: Table Filtersª Ÿ ÖThe MenuTableFilter: Is similar to the RuleTableFilter The differences are: A rule is automatically created for each object trait. Rules cannot be added or deleted. Rules are implicitly  and ed together. Rules can be turned on and off.¡hZ7Z Z ª>…+ónUŸ¨,The TableEditor Editor Factory: Table Searchª Ÿ VMaking a table searchable allows the user to search for (and optionally select) object rows which match a specified search criteria. A table is made searchable by setting the TableEditor s search trait to a TableFilter object. Doing so adds a  search icon to the table s toolbar, which displays a pop-up search dialog. The search dialog allows the user to search for the next or previous match, or to select all matching rows.¡B¬P¯  Òª,¯  ÒóoVŸ¨-The TableEditor Editor Factory: Table Factoryª Ÿ¨ùIf users can add new rows to a table, then a factory must be provided to create the new table objects. The TableEditor traits that specify the object factory are: row_factory: A callable that creates and returns a new object instance when the user adds a new row to the table. row_factory_args: An optional tuple that contains any positional arguments that need to be passed to the factory. row_factory_kw: An optional dictionary that contains any keyword arguments that need to be passed to the factory. ¡–£PWP-7 - gbeªbk - gOeópWŸ¨*The TableEditor Editor Factory: An Exampleª Ÿª órXŸ¨*The TableEditor Editor Factory: An Exampleª Ÿ¨The resulting view looks like:¡óx]Ÿ¨The TreeEditor Editor Factoryª Ÿ RObjects often are connected together in such a way that a hierarchical or tree view of them is a useful user interface feature. Common examples: File system explorer: files are contained in directories, which are contained in other directories& Organizational chart: Employees belong to departments, which in turn belong to the company itself. A TreeEditor allows interconnected objects with traits to be displayed as a tree.¡X‘ZÇZRZ‘Ç FªZ Fóy^Ÿ¨The TreeEditor Editor Factoryª Ÿ DUsing a TreeEditor, each connected object in the graph of objects to be displayed becomes a separate tree item. Some of the features supported by the TreeEditor include: Full drag and drop support: Objects can be dragged into the tree. Objects can be dragged out of the tree. Objects can be dragged within the tree. Structural relationships between objects are enforced. Objects can be: Added Deleted Renamed The contents of objects can be edited in a separate  inspector view if desired. Each object can have a standard or custom context menu. ¡ÒªPP­PPP‰PP „  ­‰  ª, „ ƒó{_Ÿ¨The TreeEditor Editor Factoryª Ÿ¨AHere are some examples of TreeEditors being used in the VET tool:¡.BZ ª ó}`Ÿ¨The TreeEditor Editor Factoryª Ÿ hLike the TableEditor, in order to provide such a rich set of user interactions, the TreeEditor needs additional information to perform its task. The extra information is divided into two parts: General information about the editor s behavior defined by traits on the TreeEditor itself. Specific information about each of the object types that can appear in the tree, provided by a set of TreeNode objects associated with the TreeEditor.¡žÂó  @ ‚ƒ„…†‡ˆ‰Š‹ŒþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿdI o ªb @ ­ o ó~aŸ¨The TreeEditor Editor Factoryª Ÿ¨"The general TreeEditor traits are:¡.#P   ª  ó€cŸ¨The TreeEditor Editor Factoryª Ÿ \A TreeNode provides information about one or more types (i.e. classes) of object that can appear in the tree: The object classes the TreeNode applies to. Which object trait (if any) contains the children of the object. Can the object s children be renamed, copied deleted or inserted? What object class instances can be added to, copied to or moved to the children of the object. The icons used to represent the object in the tree. The context menu to display when the object is right-clicked on. The view to display when the object is selected for editing. ¡tnZÁZd6dª,{¢óbŸ¨The TreeEditor Editor Factoryª Ÿ¨The traits for a TreeNode are:¡.PªódŸ¨The TreeEditor Editor Factoryª Ÿ In addition, there are several different types of and ways to use TreeNodes: If all the information about an object type is static, simply use a TreeNode and initialize its traits. If some of the information is not known until run-time, create a subclass of TreeNode and override the necessary methods. Each trait has a corresponding method that can be used to override the trait value (e.g.  get_children() overrides  children and  can_delete() overrides  delete ). Sometimes you have data that is not explicitly or conveniently hierarchical, so you need to build a model that exposes the hierarchy. In this case, you can create your model classes as subclasses of TreeNodeObject and create corresponding ObjectTreeNodes for use with the model s TreeEditor. An ObjectTreeNode simply delegates all its methods to the object it describes.¡4MPüPB Di  Ë >ªªB Fi  à >ó‚eŸ¨The TreeEditor Editor Factoryª Ÿ¨An example (Part 1):¡PóƒfŸ¨The TreeEditor Editor Factoryª Ÿ¨An example (Part 2): ¡"Pó…gŸ¨The TreeEditor Editor Factoryª Ÿ¨An example (Part 3):¡ó†hŸ¨The TreeEditor Editor Factoryª Ÿ¨The resulting view looks like:¡Pó/*Ÿ¨)Saving and Restoring User GUI PreferencesŸ¨eThe Traits UI allows some user preference settings to be saved without writing any code. The preferences that can be saved automatically are defined by a View and the individual editors contained in a View. Some of the user preference settings that can be saved currently are: Window/Dialog size and position Splitter bar position User defined table filters¡ZZQZš+HQó0+Ÿ¨)Saving and Restoring User GUI PreferencesŸ îUser preferences are only saved when you request them to be saved. You request a preference to be saved simply by assigning a non-empty  id trait to the corresponding View, Group or Item object. In order for any preferences to be saved, a View must have a non-empty  id . The user preference values for a View are saved in a global  database under the view s  id , so the View  id should also be unique across applications and views. For example: View( & , id =  enthought.graph.vpl.graph_canvas , & )¡ÆøZ¨> ~ªÑ ó1,Ÿ¨)Saving and Restoring User GUI PreferencesŸ NGroup and Item  id values only need to be unique within the containing View. The currently supported preference items are: View (Window/Dialog size and position) Group (Splitter bar position when layout =  split ) Item (Splitter bar position when editor = TreeEditor) Item (User defined filters when editor = TableEditor) New editors can save their preferences by implementing the  save_prefs and  restore_prefs methods.¡Ò|ZÇZeZH0#/& % eªP + >   êr— õ,™s º¦˜Å1traitsui-7.2.1/docs/api.css0000644000076500000240000001103214046644454016217 0ustar aayresstaff00000000000000 /* Body color */ body {background: #ffffff; color: #000000; font-family: "Lucida Sans", Verdana, Arial, sans-serif;} /* Tables */ table.summary, table.details, table.index { background: #e8f0f8; color: #000000; } tr.summary, tr.details, tr.index { background: #70b0f0; color: #000000; text-align: left; font-size: 120%; } tr.group { background: #c0e0f8; color: #000000; text-align: left; font-size: 120%; font-style: italic; } /* Documentation page titles */ h2.module { margin-top: 0.2em; } h2.class { margin-top: 0.2em; } /* Headings */ h1.heading { font-size: +125%; font-style: italic; font-weight: bold; } h2.heading { font-size: +110%; font-style: italic; font-weight: bold; } h3.heading { font-style: italic; font-weight: normal; } /* Base tree */ pre.base-tree { font-size: 80%; margin: 0; } /* Details Sections */ table.func-details { background: #e8f0f8; color: #000000; border: 2px groove #c0d0d0; padding: 0 1em 0 1em; margin: 0.4em 0 0 0; } h3.func-detail { background: transparent; color: #000000; margin: 0 0 1em 0; } table.var-details { background: #e8f0f8; color: #000000; border: 2px groove #c0d0d0; padding: 0 1em 0 1em; margin: 0.4em 0 0 0; } h3.var-details { background: transparent; color: #000000; margin: 0 0 1em 0; } /* Function signatures */ .sig { background: transparent; color: #000000; font-weight: bold; font-size: +125%; } .sig-name { background: transparent; color: #006080; } .sig-arg, .sig-kwarg, .sig-vararg { background: transparent; color: #008060; } .sig-default { background: transparent; color: #602000; } .summary-sig { background: transparent; color: #000000; } .summary-sig-name { background: transparent; color: #204080; } .summary-sig-arg, .summary-sig-kwarg, .summary-sig-vararg { background: transparent; color: #008060; } /* Doctest blocks */ .py-src { background: transparent; color: #000000; } .py-prompt { background: transparent; color: #005050; font-weight: bold;} .py-string { background: transparent; color: #006030; } .py-comment { background: transparent; color: #003060; } .py-keyword { background: transparent; color: #600000; } .py-output { background: transparent; color: #404040; } pre.doctest-block { background: #f4faff; color: #000000; padding: .5em; margin: 1em; border: 1px solid #708890; } table pre.doctest-block { background: #dce4ec; color: #000000; padding: .5em; margin: 1em; border: 1px solid #708890; } /* Variable values */ pre.variable { background: #dce4ec; color: #000000; padding: .5em; margin: 0; border: 1px solid #708890; } .variable-linewrap { background: transparent; color: #604000; } .variable-ellipsis { background: transparent; color: #604000; } .variable-quote { background: transparent; color: #604000; } .re { background: transparent; color: #000000; } .re-char { background: transparent; color: #006030; } .re-op { background: transparent; color: #600000; } .re-group { background: transparent; color: #003060; } .re-ref { background: transparent; color: #404040; } /* Navigation bar */ table.navbar { background: #a0c0ff; color: #0000ff; border: 2px groove #c0d0d0; } th.navbar { background: #a0c0ff; color: #0000ff; } th.navselect { background: #70b0ff; color: #000000; } .nomargin { margin: 0; } /* Links */ a:link { background: transparent; color: #0000ff; } a:visited { background: transparent; color: #204080; } a.navbar:link { background: transparent; color: #0000ff; text-decoration: none; } a.navbar:visited { background: transparent; color: #204080; text-decoration: none; } code { font-family: "Lucida Console", "Courier New", Courier, monospace; } pre { font-family: "Lucida Console", "Courier New", Courier, monospace; } .pre { font-family: "Lucida Console", "Courier New", Courier, monospace; } pre.literal-block { margin-left: 1em; }traitsui-7.2.1/docs/make.bat0000644000076500000240000001556414046644454016357 0ustar aayresstaff00000000000000@ECHO OFF REM Command file for Sphinx documentation if "%SPHINXBUILD%" == "" ( set SPHINXBUILD=sphinx-build ) set BUILDDIR=build set ALLSPHINXOPTS=-d %BUILDDIR%/doctrees %SPHINXOPTS% source set I18NSPHINXOPTS=%SPHINXOPTS% source if NOT "%PAPER%" == "" ( set ALLSPHINXOPTS=-D latex_paper_size=%PAPER% %ALLSPHINXOPTS% set I18NSPHINXOPTS=-D latex_paper_size=%PAPER% %I18NSPHINXOPTS% ) if "%1" == "" goto help if "%1" == "help" ( :help echo.Please use `make ^` where ^ is one of echo. html to make standalone HTML files echo. dirhtml to make HTML files named index.html in directories echo. singlehtml to make a single large HTML file echo. pickle to make pickle files echo. json to make JSON files echo. htmlhelp to make HTML files and a HTML help project echo. qthelp to make HTML files and a qthelp project echo. devhelp to make HTML files and a Devhelp project echo. epub to make an epub echo. latex to make LaTeX files, you can set PAPER=a4 or PAPER=letter echo. text to make text files echo. man to make manual pages echo. texinfo to make Texinfo files echo. gettext to make PO message catalogs echo. changes to make an overview over all changed/added/deprecated items echo. xml to make Docutils-native XML files echo. pseudoxml to make pseudoxml-XML files for display purposes echo. linkcheck to check all external links for integrity echo. doctest to run all doctests embedded in the documentation if enabled echo. coverage to run coverage check of the documentation if enabled goto end ) if "%1" == "clean" ( for /d %%i in (%BUILDDIR%\*) do rmdir /q /s %%i del /q /s %BUILDDIR%\* rmdir /q /s source\api goto end ) REM Check if sphinx-build is available and fallback to Python version if any %SPHINXBUILD% 2> nul if errorlevel 9009 goto sphinx_python goto sphinx_ok :sphinx_python set SPHINXBUILD=python -m sphinx.__init__ %SPHINXBUILD% 2> nul if errorlevel 9009 ( echo. echo.The 'sphinx-build' command was not found. Make sure you have Sphinx echo.installed, then set the SPHINXBUILD environment variable to point echo.to the full path of the 'sphinx-build' executable. Alternatively you echo.may add the Sphinx directory to PATH. echo. echo.If you don't have Sphinx installed, grab it from echo.http://sphinx-doc.org/ exit /b 1 ) :sphinx_ok if "%1" == "html" ( %SPHINXBUILD% -b html %ALLSPHINXOPTS% %BUILDDIR%/html if errorlevel 1 exit /b 1 echo. echo.Build finished. The HTML pages are in %BUILDDIR%/html. goto end ) if "%1" == "dirhtml" ( %SPHINXBUILD% -b dirhtml %ALLSPHINXOPTS% %BUILDDIR%/dirhtml if errorlevel 1 exit /b 1 echo. echo.Build finished. The HTML pages are in %BUILDDIR%/dirhtml. goto end ) if "%1" == "singlehtml" ( %SPHINXBUILD% -b singlehtml %ALLSPHINXOPTS% %BUILDDIR%/singlehtml if errorlevel 1 exit /b 1 echo. echo.Build finished. The HTML pages are in %BUILDDIR%/singlehtml. goto end ) if "%1" == "pickle" ( %SPHINXBUILD% -b pickle %ALLSPHINXOPTS% %BUILDDIR%/pickle if errorlevel 1 exit /b 1 echo. echo.Build finished; now you can process the pickle files. goto end ) if "%1" == "json" ( %SPHINXBUILD% -b json %ALLSPHINXOPTS% %BUILDDIR%/json if errorlevel 1 exit /b 1 echo. echo.Build finished; now you can process the JSON files. goto end ) if "%1" == "htmlhelp" ( %SPHINXBUILD% -b htmlhelp %ALLSPHINXOPTS% %BUILDDIR%/htmlhelp if errorlevel 1 exit /b 1 echo. echo.Build finished; now you can run HTML Help Workshop with the ^ .hhp project file in %BUILDDIR%/htmlhelp. goto end ) if "%1" == "qthelp" ( %SPHINXBUILD% -b qthelp %ALLSPHINXOPTS% %BUILDDIR%/qthelp if errorlevel 1 exit /b 1 echo. echo.Build finished; now you can run "qcollectiongenerator" with the ^ .qhcp project file in %BUILDDIR%/qthelp, like this: echo.^> qcollectiongenerator %BUILDDIR%\qthelp\PyWin32ctypes.qhcp echo.To view the help file: echo.^> assistant -collectionFile %BUILDDIR%\qthelp\PyWin32ctypes.ghc goto end ) if "%1" == "devhelp" ( %SPHINXBUILD% -b devhelp %ALLSPHINXOPTS% %BUILDDIR%/devhelp if errorlevel 1 exit /b 1 echo. echo.Build finished. goto end ) if "%1" == "epub" ( %SPHINXBUILD% -b epub %ALLSPHINXOPTS% %BUILDDIR%/epub if errorlevel 1 exit /b 1 echo. echo.Build finished. The epub file is in %BUILDDIR%/epub. goto end ) if "%1" == "latex" ( %SPHINXBUILD% -b latex %ALLSPHINXOPTS% %BUILDDIR%/latex if errorlevel 1 exit /b 1 echo. echo.Build finished; the LaTeX files are in %BUILDDIR%/latex. goto end ) if "%1" == "latexpdf" ( %SPHINXBUILD% -b latex %ALLSPHINXOPTS% %BUILDDIR%/latex cd %BUILDDIR%/latex make all-pdf cd %~dp0 echo. echo.Build finished; the PDF files are in %BUILDDIR%/latex. goto end ) if "%1" == "latexpdfja" ( %SPHINXBUILD% -b latex %ALLSPHINXOPTS% %BUILDDIR%/latex cd %BUILDDIR%/latex make all-pdf-ja cd %~dp0 echo. echo.Build finished; the PDF files are in %BUILDDIR%/latex. goto end ) if "%1" == "text" ( %SPHINXBUILD% -b text %ALLSPHINXOPTS% %BUILDDIR%/text if errorlevel 1 exit /b 1 echo. echo.Build finished. The text files are in %BUILDDIR%/text. goto end ) if "%1" == "man" ( %SPHINXBUILD% -b man %ALLSPHINXOPTS% %BUILDDIR%/man if errorlevel 1 exit /b 1 echo. echo.Build finished. The manual pages are in %BUILDDIR%/man. goto end ) if "%1" == "texinfo" ( %SPHINXBUILD% -b texinfo %ALLSPHINXOPTS% %BUILDDIR%/texinfo if errorlevel 1 exit /b 1 echo. echo.Build finished. The Texinfo files are in %BUILDDIR%/texinfo. goto end ) if "%1" == "gettext" ( %SPHINXBUILD% -b gettext %I18NSPHINXOPTS% %BUILDDIR%/locale if errorlevel 1 exit /b 1 echo. echo.Build finished. The message catalogs are in %BUILDDIR%/locale. goto end ) if "%1" == "changes" ( %SPHINXBUILD% -b changes %ALLSPHINXOPTS% %BUILDDIR%/changes if errorlevel 1 exit /b 1 echo. echo.The overview file is in %BUILDDIR%/changes. goto end ) if "%1" == "linkcheck" ( %SPHINXBUILD% -b linkcheck %ALLSPHINXOPTS% %BUILDDIR%/linkcheck if errorlevel 1 exit /b 1 echo. echo.Link check complete; look for any errors in the above output ^ or in %BUILDDIR%/linkcheck/output.txt. goto end ) if "%1" == "doctest" ( %SPHINXBUILD% -b doctest %ALLSPHINXOPTS% %BUILDDIR%/doctest if errorlevel 1 exit /b 1 echo. echo.Testing of doctests in the sources finished, look at the ^ results in %BUILDDIR%/doctest/output.txt. goto end ) if "%1" == "coverage" ( %SPHINXBUILD% -b coverage %ALLSPHINXOPTS% %BUILDDIR%/coverage if errorlevel 1 exit /b 1 echo. echo.Testing of coverage in the sources finished, look at the ^ results in %BUILDDIR%/coverage/python.txt. goto end ) if "%1" == "xml" ( %SPHINXBUILD% -b xml %ALLSPHINXOPTS% %BUILDDIR%/xml if errorlevel 1 exit /b 1 echo. echo.Build finished. The XML files are in %BUILDDIR%/xml. goto end ) if "%1" == "pseudoxml" ( %SPHINXBUILD% -b pseudoxml %ALLSPHINXOPTS% %BUILDDIR%/pseudoxml if errorlevel 1 exit /b 1 echo. echo.Build finished. The pseudo-XML files are in %BUILDDIR%/pseudoxml. goto end ) :end traitsui-7.2.1/docs/README.rst0000644000076500000240000000100014046644454016415 0ustar aayresstaff00000000000000Building the TraitsUI Docs ============================ Dependency: Sphinx Optional Dependency: `Enthought-sphinx-theme`_ The docs can be built by running $ make clean $ make html from ``docs/``, which contains the ``Makefile``. Refer to ``docs/Makefile`` and ``docs/source/conf.py`` for further information on building the docs. NOTE : ``docs/source/conf.py`` calls ``_version.py`` which is autogenerated when the user installs/develops the library. traitsui-7.2.1/docs/traitsuidocreadme.txt0000644000076500000240000000024014046644454021204 0ustar aayresstaff00000000000000Traits documentation files in this directory: traits_ui.ppt Slides from Dave Morrill's class on Traits UI traits_ui_slides.pdf PDF of Traits UI slides traitsui-7.2.1/image_LICENSE.txt0000644000076500000240000000367514046644454017007 0ustar aayresstaff00000000000000The icons are mostly derived work from other icons. As such they are licensed accordingly to the original license: Project License File ---------------------------------------------------------------------------- Eclipse Eclipse Public License image_LICENSE_Eclipse.txt Enthought BSD 3-Clause LICENSE.txt GV (Gael Varoquaux) Public Domain N/A Qt GNU LGPL 2.1 Nuvola LGPL image_LICENSE_Nuvola.txt OOo LGPL image_LICENSE_OOo.txt Unless stated in this file, icons are the work of Enthought, and are released under a 3 clause BSD license. Files and original authors: ---------------------------------------------------------------------------- traitsui/examples/demo/Applications/images: blue_ball.png | Nuvola traitsui/extras/images: next.png | Nuvola parent.png | Nuvola previous.png | Nuvola reload.png | Nuvola run.png | Nuvola traitsui/qt4/images: closetab.png | Qt next.png | Qt previous.png | Qt traitsui/wx/images: group.png | Nuvola item.png | Eclipse open.png | Nuvola table_add.png | OOo table_colors.png | GV table_delete.png | OOo table_delete_synthetic.png | OOo table_display.png | OOo table_move_down.png | GV table_move_up.png | GV table_no_sort.png | OOo table_prefs.png | OOo table_search.png | OOo table_synthetic.png | OOo table_undelete.png | OOo traitsui-7.2.1/CHANGES.txt0000644000076500000240000010603214046644465015624 0ustar aayresstaff00000000000000Traits UI Changelog =================== Release 7.2.1 ------------- TraitsUI 7.2.1 is a bugfix release which updates TraitsUI to explicitly require Traits 6.2+ and Pyface 7.3+. Build and continuous integration ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ * Explicitly require traits 6.2 and pyface 7.3 (#1666, #1668) Release 7.2.0 ------------- TraitsUI 7.2.0 is a minor release which includes numerous bug fixes, documentation improvements, code maintenance changes, and enhancements. Highlights of this release ~~~~~~~~~~~~~~~~~~~~~~~~~~ * The migration from ``on_trait_change`` to ``observe`` is underway. As a result, TraitsUI now requires Traits >= 6.2. * New display-only VideoEditor (currently only on Qt backend). * Exapnsion of features for the new ``UITester`` including the ability to inspect UI object visibility / enabledness. Also documentation for testing has been updated. Notes on upgrading ~~~~~~~~~~~~~~~~~~ * This release of TraitsUI now depends on Traits 6.2+ and pyface 7.3+. Also, deprecated code / modules have been removed. Namely, the :mod:`traitsui.image ` module which was moved to ``pyface.image``, ``editors_gen`` modules, Editor and EditorFactory factory methods on Toolkit objects, and more. For a complete list, see PRs in the "Removals" section below. These were all generally unused / deprecated for sometime. Also, importing directly from ``traitsui.editors`` has been deprecated. Please update imports to import directly from :mod:`traitsui.api` or :mod:`traitsui.editors.api`. Detailed changes ~~~~~~~~~~~~~~~~ Thanks to: * Aaron Ayres * Kit Yan Choi * Mark Dickinson * Rahul Poruri * Corran Webster Enhancements ~~~~~~~~~~~~ * Open links externally instead of in the html editor in etsdemo application (#1446) * Hide demo tab when the demo is None (#1456) * Extract an interface from TargetRegistry to allow wider testing support for IsEnabled (#1490) * Expose clearButtonEnabled for Qt TextEditor (#1516) * Extend / document secret TreeNode api for passing tuples into add list trait (#1527) * Add 'IsVisible` query class for UI Tester (#1552) * Extend button editor to allow dynamically changing button image (#1566) * Support testing with simple FileEditor (without dialog) (#1571) * Qt VideoEditor (#745, #1609, #1621) * Add item_factory callable for specifying creation of new list items (#1634) Fixes ~~~~~ * Support HTMLEditor.open_externally on QtWebEngine (#1451) * Qt InstanceEditor button should never be the default (#1498) * Propagate UI errors to the UI's parent (#1503) * Fix resizable readonly enum editor (#1532) * StartStyling API changed for new Wx version (#1536) * Don't use html for a variable name when using html module from standard library (#1540) * Label {visible/enabled}_when (#1544) * manually set the text format to plain text in error (#1546) * Fix RGBColor hex int to tuple color conversion (#1554) * Make Scrollable group respect visible_when (#1555) * Use correct source_path in example (#1433) * Move EnumEditor import in table_filter into the methods that need it (#1616) Documentation ~~~~~~~~~~~~~ * Add a module docstring to the api modules (#1441) * Use viewcode sphinx extension (#1443) * Add links to API docs in a etsdemo examples for traitsui standard editors (#1445) * Clarify which of traitsui.api and traitsui.editors.api is recommended (#1471) * traitsui.testing documentation updates (#1482, #1483, #1485, #1486, #1487, #1488) * Fix link label to the documentation home page (#1489) * Document enabled_when / visible_when better (#1537) * Document entries parameter not supported qt for FileEditor/DirectoryEditor (#1557 * Add script to regenerate screenshots of editors for documentation (#1574) * Remove unused images in docs (#1584) * replace # with #: to document traits in traitsui.editors.* (#1596) * User facing docs for VideoEditor (#1630) * Format code examples in the user documentation (#1640) Build and continuous integration ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ * Fix cron job not installing additional dependencies (#1427) * Remove job on Travis for testing against Traits 6.0 (#1430) * Drop Python 3.5 support in TraitsUI (#1436) * Declare Python 3.5 not supported for ets-demo (#1437) * Fix link for installing wxPython on CI (for etsdemo) (#1491) * Add GitHub Actions to test against EDM (#1492) * Add GitHub Actions workflow for testing ets-demo (#1496) * Use EDM 3.2.3 instead of EDM 3.2.1 (#1548) * Drop support for PyQt < 4.3.2 (#1607) * Remove CI test against Traits 6.0 (#1637) * explicitly install swig 3.0.12 for cron job (#1652) Test suite ~~~~~~~~~~ * Refactor and extend tests for Qt HTMLEditor handling of opening links (#1465) * Update new test_editor_error_msg (#1553) * Unskip "EnumEditor" tests that were failing earlier on windows (#1615) * skip video editor test without numpy / move numpy import to when it is needed / list numpy as test dependency (#1639) * skip test if no QtWebkit or QtWebEngine (#1649) * skip a couple wx test failures (#1656) Maintenance and code organization ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ * Add pygments to etsdemo's etstool.py (#1453) * Add help aliases to etsdemo etstool module (#1457) * Fix/Update copyright headers (#1467, #1486) * work towards flake8 clean codebase (#1469, #1562, #1563) * Remove meaningless comments from an outdated coding style. (#1472) * Remove clause that deviates from PEP8 backward compatibility convention in the testing package (#1481) * Formal editor interface for tooltips (#1493 * Add instance choice classes to traitsui.api (#1495) * Undo/Redo cleanup (#1510) * start on_trait_change to observe migration (#1519, #1520, #1523, #1525, #1545, #1622, #1644) * Refactor TreeEditor _new_actions and _menu_new_node to avoid hacky eval (#1524) * Refactor _add_items method of _GroupPanel object (#1549) * Add new trait to eventually replace scroll_to_row_hint (#1560) * Add 'default': True to the etsdemo eam metadata (#1568) * update "super" usage (#1583, #1587, #1588, #1589, #1604) * Use "str.capitalize" directly instead of an alias (#1598) * Use "PrefixList" from traits >= 6.1 (#1599) * Update use of deprecated "Thread.setDaemon" (#1601) * Replace deprecated "wx.ListItemAttr" with "wx.ItemAttr" (#1602) * Adds "traitsui.toolkit.toolkit_object" to "traitsui.api" (#1603) * Import "TraitFactory" from "traits.api" (#1606) * Rename editor factory classes (#1610) * Cleanup imports in "traitsui.editors.*" (#1619) Removals ~~~~~~~~ * Remove deprecated classes/modules (#1594) * remove traitsui.image submodule (#1595) * Remove Editor and EditorFactory factory methods on Toolkit objects (#1600) * Remove backwards compatibility toolkit factory imports (#1608) * Remove unused "Item.full_size" trait (#1613) * Remove code handling old/outdated versions of wx (#1614) * Remove unused editors_gen modules (#1626) Release 7.1.1 ------------- This is a bugfix release that fixes a number of issues since the 7.1.0 release. Thanks to Corran Webster and Kit Choi for the patches. Fixes ~~~~~ - Fix ``scrollable`` trait of a Group not being implemented on Qt (#1406) - Fix icon button's clickable area too small for FileEditor and RangeEditor on Qt and OSX (#1383) - Fix missing minimize and maximize buttons for dialogs opened on certain Linux platforms (#1409) Release 7.1.0 ------------- TraitsUI 7.1.0 is a minor feature release which introduces a new testing library and a number of significant fixes. Demo examples are also distributed as package data such that they are visible via the "etsdemo" GUI application (to be installed separately). This release should be compatible with Traits 6.0+. Users are encouraged to upgrade to Traits 6.1+ to stay current as future releases of TraitsUI will stop supporting Traits 6.0. Highlights of this release ~~~~~~~~~~~~~~~~~~~~~~~~~~ * A new :mod:`traitsui.testing.api` module has been introduced for testing GUI applications built using TraitsUI. See :ref:`testing-traitsui-applications` for an introduction. Builtin support has been added for testing several TraitsUI editors. More support will be added in the future. * On OSX and Qt, there have been reports of missing UI view updates after a push button is clicked. While this is suspected to be a Qt issue, changes have been made to ButtonEditor, SetEditor and ImageEnumEditor to mitigate the situation. * The internal logic for disposing an instance of :class:`~traitsui.ui.UI` is changed as an attempt to resolve AttributeError that occurs while a nested UI is removed. Notes on upgrading ~~~~~~~~~~~~~~~~~~ * On the issue about Qt button not causing views to update on OSX, projects that have been working around the issue by adding ``GUI().process_events()`` (or similar) in their applications may now try to remove those workarounds. However, the change that mitigates the issue in a production environment has implications for tests: The button's click slot is no longer invoked immediately but always invoked by the Qt GUI event loop. Tests that used to call the Qt button ``click`` method directly and rely on the event to happen immediately will now need to update their tests to ensure that the click slot is processed by the Qt GUI event loop in the same order as before. Consider using the new testing library which automatically runs the GUI event loop after each interaction (e.g. mouse click). Future removals ~~~~~~~~~~~~~~~ * :mod:`traitsui.image ` has been moved to ``pyface.image`` more than 3 years ago and has since been deprecated. Previously it was scheduled to be removed in TraitsUI 6.0. This planned removal is now deferred to TraitsUI 7.2. Detailed changes ~~~~~~~~~~~~~~~~ More than 100 PRs went into this release. Thanks to: * Aaron Ayres * Ieva Cerny * Kit Yan Choi * Mark Dickinson * James Johnson * Eric Larson * Rahul Poruri * Jonathan Rocher * Kuya Takami * Ioannis Tziakos * Corran Webster Note that the following list is not exhaustive. Many more PRs references have been omitted. Features ~~~~~~~~ * Add :class:`~traitsui.testing.ui_tester.UITester` for testing TraitsUI applications (#1107, #1157, #1171, #1175, #1179, #1201, #1207, #1269) Fixes ~~~~~ * Fix AttributeError when a nested UI is disposed (#1286) * Fix wx error due to use of alignment flag wxEXPAND (#1095) * Fix ButtonEditor not causing other widgets to update on OSX and Qt (#1303) * Fix ImageEnumEditor button not causing other updates on OSX (#1326) * Fix SetEditor on Qt and OSX not updating view after button clicks (#1325) * Fix for menu actions with on_perform being performed twice (#1199) * Fix deprecation warnings from Traits 6.1 due to the use of PrefixList (#1053) * Fix deprecation warnings from using HasTraits.trait_get (#1062) * Fix deprecation warnings from using QDesktopWidget.availableGeometry (#1311) * Fix deprecation warnings from using logging.warn (#1165) * Fix deprecation warnings from using ABC in collections (#1103, #1129) Documentation ~~~~~~~~~~~~~ * Make demo examples as package data (#1088) * Add UITester documentation in User Manual (#1263) * Add Developer Guide with internals on the testing package (#1314) * Fix warnings in demo examples documentation (#1378) * Generate API documentation automatically (#1368) Build and continuous integration ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ * Add a CI job for testing against traits 6.0 (#1108) * Move MacOS CI build from Travis to Appveyor (#1160) * Add flake8 task to CI with exclusions (#1222) * Explicitly declare additional dependencies for demo examples (#1147) * Explicitly require a minimum version for Traits (#1323) Maintenance and code organization ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ * Relax constraint on PySide2 version (#1146) * Update edm version in travis and appveyor config files (#1049) * Resolve warnings in tests from QItemSelectionModel with Qt5 (#1041) * Improve how we capture and re-raise errors in GUI tests (#1099) * Replace screen metrics code with Pyface implementation (#1322) * Fix deprecation warnings from certain usage of QDateTime in tests (#1310) * Add a new shell command to etstool.py (#1244) Release 7.0.1 ------------- This is a bugfix release that fixes a number of issues since the 7.0.0 release. It includes fixes to various editors, improvements to tests and fixes to the demo application. Thanks to Ieva Cerny, Kit Choi, Mark Dickinson, Robert Kern, Eric Larson, Federico Miorelli, Joris Vankerschaver, Corran Webster. Fixes ~~~~~ * Fix error from true division of integers for Qt RangeEditor and BoundsEditor (#999, #1000) * Fix handling of minimum and maximum datetimes in Qt DatetimeEditor (#803) * Fix error in wx TabularEditor (#969) * Fix wx panel error due to alignments (#829) * Fix various issues in the demo application (#799, #808) * Fix format_func not used when EnumEditor is initialized with static values (#848) * Fix demo application description (#850) * Fix auto-add functionality in ListStrModel (#860) * Fix segmentation fault for TabularModel (#871, #873) * Fix event handling in ListStrEditor and TabularEditor for adding and removing items (#875) * Fix TabularAdapter crashes when column number reduces (#897) * Fix theme pickling issue (#915) * Fix error from example's tutor.py script (#813) Documentation ~~~~~~~~~~~~~ * Add links from TabularEditor and TreeEditor to adapter documentation (#917) Tests ~~~~~ * Rewrite nose tests to unittest (#809) * Use unittest discover instead of nose.core (#810) * Add more tests for EnumEditor (#836) * Add CheckListEditor tests (#837) * Add SetEditor tests (#838) * Add ImageEnumEditor tests (#845) * Add more ListStrEditor tests (#869) * Add more TabularEditor tests (#874) * Make sure all UI in tests are disposed (#865) * Add tests for layout and labels using any non-null toolkits (#846) Release 7.0.0 ------------- TraitsUI 7.0.0 is a major release which focuses on modernization of the codebase. This release includes updating the WxPython backend to support WxPython 4, an effort led by Rob McMullen's first cut at support, with help from a number of other people, particularly Per Brodtkorb. It also updates the code to use new features of Traits 6, and just like Traits 6, this release drops support for Python 2. In addition to the modernization, this code fixes many bugs and adds some useful new features, including: - a DatetimeEditor to go with the new Datetime trait in Traits 6 - an API to add placeholder text to a TextEditor - support for the LEDEditor in Qt Finally, the documentation has been improved, adding sections about some of the internals of the TraitsUI mechanisms. Additionally, the Examples, Demos and Tutorials have been improved and cleaned-up, including fixing and unifying the demo viewer codebase. Thanks to Per Brodtkorb, Christian Brodbeck, Kit Choi, Mark Dickinson, Matt Hancock, Sandhya Govindaraju, Midhun Madhusoodanan, Rob McMullen, Shoeb Mohammed, Eric Olsen, Roberto Preste, reckoner, Jonathan Rocher, Scott Talbert, Corran Webster. Enhancements ~~~~~~~~~~~~ * Documentation improvements (#720, #724, #723, #778) * WxPython 4 compatibility and support (#708, #736, #762, #772, #775, #776) * Traits 6 compatibility and enhancements (#689, #690, #693, #695, #713, #727, #770) * Style improvements (#648, #771) * Add placeholder text option for TextEditor (#735) * Examples clean-up and unification (#697, #702, #703, #705, #711, #712, #777) * Add a DatetimeEditor (#719, #730) * Refactor and clean-up of base Editor class (#685, #686, #688) * Remove use of Category classes from TraitsUI (#654) * Add LEDEditor for Qt (#635) * Add 'docs' command to etstool.py (#624) * Add TabularAdapter to traitsui.api (#627) * Enhancements to CI and testing (#683, #714, #740) Fixes ~~~~~ * Documentation fixes (#546, #766) * Fix cgi.escape for Python 3.8 (#780) * Log exceptions in table sorting (#751) * Use TupleEditor for traits derived from BaseTuple (#747) * Fixes for Undo/Redo (#733) * Add explicit redraw for TableEditor selection (#721) * Fixes for Qt5 support (#709) * Fix bugs in color functions (#707, #744) * Fix importing of ProgressColumn and EditColumn (#691) * Set initial focus item correctly in Qt (#602) * Fix text elision test on some platforms (#644) * Fix a bug with TableEditor column clicking (#669) * Fix typo in progress column exception (#662) Release 6.1.3 ------------- A bugfix release that fixes a number of issues discovered since the 6.1.2 release. In particular this fixes a number of issues around the TableEditor and TabularEditor for the Qt toolkit which didn't match the advertised behaviour in the documentation. Thanks to Qi Chen, Vladimir Chukharev, Mark Dickinson, Sandhya Govindaraju, Maxwell Grady, Scott Maddox, Sean Parsons, Rahul Poruri, Corran Webster. Fixes ~~~~~ * Add "bool" to allowed types for TableColumn (#656) * Fix tabular editor column widths (#652) * Fix setting valus in DataFrameEditor (#651) * Allow '...' in addition to ellipsis in text elision (#644) * Handle invalid values in RangeEditor better (#637) * Fix multi-select in Qt TabularEditor (#633) * Fix call to Bind in Wx FileEditor (#628) * Fixes to doc links in tutorial (#619) * Remove 3.5 from test matrix (#615) * Ensure etstool.py has consistent default Python versions (#614) * Fix typos in comments for table editor (#610) * Comprehensive tests for the base Editor object (#609) * Fix ContextValue __init__ method (#607) * Fix tutor.py in examples for Python 3 (#603) * Set initial item focus correctly on Qt (#602) * Make View and UI icons an Image trait (#600) * Fix TableEditor styling for Qt (#597) Release 6.1.2 ------------- A bugfix release that fixes a number of issues discovered since the 6.1.1 release. In particular this fixes a couple of issues that impacted the usability of Mayavi. Thanks to Mark Dickinson, Maxwell Grady, Prabhu Ramachandran, Matt Reay, Ajeet Vivekanandan, Corran Webster, John Wiggins. Fixes ~~~~~ * Fix tree node copy failure to copy (#590) * Fix/scroll to row preserve column (#588) * Call correct object on label change for TreeNodeObject (#586) * Remove uses of etsdevtools (#577) * Fix modal view application (#574) * Remove unicode usage (#572) * Update Travis CI configuration to be compatible with Ubuntu Xenial. (#569) * Build CI on maintenance branches (#567) * Fix an erroneous handler removal (#566) * Fix the sizeHint() default for TreeItemDelegate (#565). * Update unittest import (#564) Release 6.1.1 ------------- A bugfix release to correct some critical issues with the TreeEditor. Fixes ~~~~~ * Fix TreeNodeObject listener cache (#558). * Fix tree node insertion (#561). Release 6.1.0 ------------- This is an incremental release without many new features, but with significant improvements in the code base and numerous small bugfixes. Probably the most significant change, but one not obvious to most users is that we have moved away from using 2to3 for Python 3 support to using a single codebase with the six library to patch over the differences. This significantly enhances maintainability and development speed, and gives a better path forward for future Python versions. Additionally, this release introduces experimental support for PySide2 (also known as "Qt for Python"). Pyside2 was enabled as a potential backend in 6.0.0 but there was no testing being performed. As of this release PySide2 is now tested as part of the CI system with tests passing on Linux and OS X using the 5.11 release. There are currently issues with the 5.12 release which have yet to be fully investigated. The one significant new feature that has been added to this release is the ability to completely replace the rendering of TreeEditorNodes with custom rendering code on Qt (due to the limitations of the Wx tree control, this is unlikely to be extended to Wx). An example showing the drawing of sparkline plots in TreeEditor cells has been added to the code demos. There has been a long-standing issue with the way that the Qt TableEditor handled selections, and this release fixes this, matching the behaviour of the Wx backend and the documentation. It is possible that this may break code that was written expecting the buggy behaviour. Finally, there are a large number of minor bug fixes Thanks to: Martin Bergtholdt, Stefano Borini, Alex Chabot, Kit Choi, Mark Dickinson, Kevin Duff, Matthew Evans, Matt Hancock, Robert Kern, Fede Miorelli, Rahul Poruri, Jenni Portman, Prabhu Ramachandran, @ransonr, Jonathan Rocher, Roger Serwy, Ajeet Vivekanandan, Corran Webster, John Wiggins. Enhancemenrs ~~~~~~~~~~~~ * Switch to using six instead of 2to3 (#482, #484, #486, #498, #531). * Experimental Pyside2 support (#451, #500, #504). * Allow arbitrary rendering of tree nodes in Qt backend (#499, #502, #527). * Use tooltip metadata on a trait instead of desc, if available (#473). * Enable scroll to column for TabularEditor (#547) * Add demo for tabular editor with context menu (#460). * Allow the use of extended trait names in TreeNodes where possible (#500, #528). * Allow drag move and drag copy modes on Qt TabularEditor (#363). Fixes ~~~~~ * Fixes to README (#478). * Documentation fixes (#471, #508). * Fixes to setup.py (#549). * Fix an attribute error on Qt TextRangeEditor (#540). * Use SimpleEditor for Qt TextEditor's "text" style (#535). * Fix handling of Range traits with a mix of constant and named bounds (#533). * Fix display selection on Wx backend (#534). * Fixes for Qt TableEditor selections (#275). * Fix deprecation warnings for inspect.getargspec (#530). * Fixes to etstool (#526). * Fix TreeEditor unhashable type errors (#525). * Fix crash when TabularEditor has no columns (#521). * Clone editor factories so they don't share traits (#519). * Avoid creation of dummy traits by springy items (#515). * Fix drag and drop crash in Python 3 (#516). * Fix Undo/Redo for readonly items and error handling (#510). * Fix source parsing in demo app (#501). * Fix signature of close() method of Qt modal dialog (#506). * Fix incorrect code in Wx ColorEditor (#479). * Fix incorrect code in Wx ProgressEditor (#513). * Remove uses of deprecated HasTraits.set() calls (#457). * Fix rendering of CheckboxColumn on OS X and Qt (#456). Release 6.0.0 ------------- This release introduces preliminary support for Qt5 via PyQt5, thanks to the work of Gregor Thalhammer which got the ball rolling. Qt5 support is not yet robustly tested in deployed applications, so there may yet be bugs to find. As part of this effort all occurences of old-style signals and slots have been removed; and this has greatly improved stability under Qt. This release also features a great deal of work at the API level to disentangle the two-way dependencies between Pyface and TraitsUI. This has involved moving a number of sub-packages between the two libraries, most notably the zipped image resource support and a number of trait definitions. We have endeavored to keep backwards compatibility via stub modules in the original locations, but we can't guarantee that there will be no issues with third party code caused by the change in locations. We haven't been able to remove all dependencies, but as of this release on the dock and workbench submodules have required dependencies on TraitsUI. As part of the latter work, support for TraitsUI Themes have been removed. This was a feature that was only available under WxPython, was slow, was never used in production code, and was not supported for over a decade. Some of the codebase remains as it is still used by the Pyface Dock infrastructure and several editors, but ther long-term intention is to remove this completely. Another long-desired feature was the ability to write toolkit backends for Pyface and TraitsUI that are not part of the main codebase. This is now possible by contributing new toolkit backends to the "traitsui.toolkit" pkg_resources entry point in a setup.py. This work was accompanied by an overhaul of the toolkit discovery and loading infrastructure; in particular Pyface and TraitsUI now share the same code for performing these searches and loading the backends. The entire TraitsUI codebase has been run through the AutoPEP8, assisted with some customized fixups and occasional drive-by cleanups of code, which means that the codebase is generally easier to read and follows modern Python conventions. Finally, the testing infrastructure has been overhauled to provide a one-stop location to run tests in self-contained environments using Enthought's EDM package management tool. Tests can be run from any python environment with the "edm" command available and the "click" library installed with the "etstool.py" script at the top level of the repository. In particular:: python etstool.py test_all will run all relevant tests for all available toolkits in all supported python versions. The TravisCI and Appveyor continuous integration tools have been updated to make use of these facilities as well. Thanks to Martin Bergtholdt, Alex Chabot, Kit Choi, Mark Dickinson, Robin Dunn, Pradyun Gedam, Robert Kern, Marika Murphy, Pankaj Pandey, Steve Peak, Prabhu Ramachandran, Jonathan Rocher, John Thacker, Gregor Thalhammer, Senganal Thirunavukkarasu, John Tyree, Ioannis Tziakos, Alona Varshal, Corran Webster, John Wiggins Enhancements ~~~~~~~~~~~~ * Support for Qt5 (#347, #352, #350, #433) * Remove TraitsUI Themes (#342) * Improve Toolkit selection and handling (#425, #429) * API Documentation (#438) * Adapter documentation (#340) * Support multi-selection in DataFrameEditor (#413) * DataFrameEditor demo (#444) * Common BasePanel class for toolkits (#392) * Labels honor enable_when values (#401) * Better error messages when toolkit doesn't implement methods (#391) * Improve TraitsUI Action handling (#384) * ListEditor UI improvements (#338, #396, #395) * Remove old style signals and slots for Qt backend (#330, #346, #347, #403) * Expose a "refresh" trait for the DataFrameEditor (#288) * Use Enthought Deployment Manager to automate CI and testing (#321, #357) * Continuous integration on OS X (#322) * Reduce circular dependencies of Pyface on TraitsUI (#304) * PEP8-compliant formatting of source (#290) * Add progress bar column for TableEditor (#287) * Add codecov coverage reports (#285, #328) Fixes ~~~~~ * Fix some issues for newer WxPython (#418) * Fix Wx simple FileEditor (#426) * Fixes for DataFrameEditor (#415) * Fixes for preferences state saving under Qt (#410, #447) * Fix panel state after setting preferences (#253) * Fix TableEditor ColorColumn (#399) * Prevent loopback from slider in Qt RangeEditor (#400) * Fix Action buttons under Qt (#393, #394) * Fix ValueEditor icons (#386) * Fix bug in update_object (#379) * Avoid reading Event trait values in sync_value (#375) * Fix raise_to_debug calls (#362, #372) * Fix errors during garbage collection (#359) * Remove unused argument in wx.hook_events (#360) * Fix button label updates (#358) * Fix TreeEditor label updates (#335) * Proper InstanceEditor dialog lifecycle (#332) * Don't explicitly destroy child widgets under Qt (#283) * Test fixes and improvements (#329, #369, #371, #327) * Fixes for demos and examples (#320, #445) * Fix CheckListEditor string comparison (#318) * Remove some spurious print statements (#305) * Documentation fixes (#301, #326, #380, #438, #443) * Fixes for Python 3 compatibility (#295, #300, #165, #311, #410) * Fix error with Qt table model mimetype (#296) * Fixes for continuous integration (#299, #345, #365, #397, #420, #427) * Fix offset issue when dragging from Qt TreeEditor (#293) * Fix Wx kill-focus event issues (#291) * Fix readthedocs build (#281) Release 5.2.0 ------------- Enhancements ~~~~~~~~~~~~ * Add support for multi-select in the DataFrameEditor (#413). Release 5.1.0 ------------- Enhancements ~~~~~~~~~~~~ * Enthought Sphinx Theme Support (#219) * Allow hiding groups in split layouts on Qt (#246) * Allow subclass of Controller to set a default model (#255) * Add toolbar in Qt UI panel (#263) Fixes ~~~~~ * Fix Qt TableEditor segfault on editing close (#277) * Update tree nodes when adding children to am empty tree (#251) * Change default backend from Wx to Qt (#254, #256) * Improve toolkit selection (#259) * Fix capturing the mouse and click events on Wx (#265, #266) * Remove duplicated traits in NotebookEditor (#268) * Fix exception during disposal of ListStrEditor (#270) * Version number in documentation (#273) Release 5.0.0 ------------- This release features experimental support for Python 3 with the Qt toolkit! This is based in large part on the work of Yves Delley and Pradyun Gedam, but also owes a lot to Ioannis Tziakos for implementing container-based continuous integration and Prabhu Ramachandran and Corran Webster for tracking down last-minute bugs. Python 3 support is probably not yet ready for production use, but feedback and bug reports are welcome, and all future pull requests will be expected to work with Python 3.4 and later. Python 3 support requires Traits 4.5 or greater, and Pyface 5.0 or greater. In addition, this release includes fixes to support wxPython 3.0 and deprecates wxPython 2.6. Thanks to Robin Dunn for providing these improvements. This release also introduces a DataFrameEditor which provides a tabular view of a Pandas DataFrame, similar to the existing ArrayViewEditor. There are also a number of bug fixes and minor improvements detailed below. Finally, this release changes the default GUI toolkit from Wx to Qt. This changes the behaviour of the library in the case where both WxPython and PyQt/PySide are installed and the user or code doesn't specify the toolkit to use explicitly. New Features ~~~~~~~~~~~~ * Experimental Python 3 support (#230) * A DataFrameEditor for Pandas DataFrames, similar to the ArrayViewEditor (#196) Enhancements ~~~~~~~~~~~~ * Change the default backend from Wx to Qt (#212) * Add a Qt version of the ProgressEditor (#217) * Links to demos in the documentation (#159) * Add minimal support for the dock_styles option to the Qt tabbed List Editor. (#143) Fixes ~~~~~ * Fix failure to disconnect selection listeners for ListStrEditor in Qt (#223) * Fix layout of TextEditors in some situations (#216) * Fix removal of _popEventHandlers not owned by TraitsUI in Wx (#215) * Remove some old (TraitsUI 3.0-era) documentation (#214) * Help button now works on Qt (#160) Release 4.5.1 ------------- Fixes ~~~~~ * Fix pypi installation problem (#206) Release 4.5.0 ------------- Fixes ~~~~~ * Application-modal Traits UI dialogs are correctly styled as application-modal under Qt. On Macs, they will now appear as independent windows rather than drop-down sheets. (#164) * Qt CodeEditor now honors 'show_line_numbers' and the 'readonly' style (#137) * Deprecated `implements` declaration removed, use `provides` instead (#152) * Fix TableEditor so that Qt.QSplitter honors 'orientation' trait (#171) * Show row labels in Qt TableEditor when requested (#176) * Fix TupleEditor so that multiple change events are not fired (#179) * Numpy dependency is now optional. `ArrayEditor` will not be available if numpy cannot be imported (#181) * Add development versioning (#200) Release 4.4.0 ------------- The biggest change in this release is support for the new adaptation mechanism in Traits 4.4.0. Other than that, there are a number of other minor changes, improvements and bugfixes. Corran Webster (corranwebster on GitHub) is now maintainer of TraitsUI. Change summary since 4.3.0 New Features ~~~~~~~~~~~~ * Changes for new Traits adaptation mechanism support (#113) Enhancements ~~~~~~~~~~~~ * Add Travis-CI support. * Remove the use of the deprecated PySimpleApp under Wx and several other improvements. (#107) * Improvements to Qt TabularEditor, TableEditor and TreeEditor drag and drop support. Should be roughly on par with Wx support. No API changes. (#124, #126, #129, #135) * Improvements to PyMimeData coercion to better handle lists of items. (#127) Fixes ~~~~~ * Fixes item selection issue #133 in ListStrEditor under Wx 2.9 (#137) * Fixes to avoid asking for value of a Delegated Event (#123 and #136) * Fix drag image location for Qt TreeEditor (#132) * Qt TreeEditor supports bg and fg colors and column labels correctly. (#131) * Fix ListEditor under PySide (#125) * remove event handlers before window destruction in Wx. Required for Wx 2.9. (#108) There are currently some other unlisted changes going back some time before this file was created. Traits 3.5.0 (Oct 15, 2010) --------------------------- Enhancements ~~~~~~~~~~~~ * adding support for drop-down menu in Button traits, but only for qt backend * adding 'show_notebook_menu' option to ListEditor so that the user can right-click and show or hide the context menu (Qt) * added selection range traits to make it possible for users to replace selected text Fixes ~~~~~ * fixed null color editor to work with tuples * bug when opening a view with the ToolbarButton Traits 3.4.0 (May 26, 2010) --------------------------- Enhancements ~~~~~~~~~~~~ * adding new example to make testing rgb color editor easier Fixes ~~~~~ * fixed NumericColumn to not expect object to have model_selection attribute, and removed more dead theming code * fixed API bugs with the NumericColumn where its function signatures differed from its base class, but the calling code expected them to all be the same * fixed bug which was related to type name errors caused when running Sphinx * when using File(exists=True), be sure to validate the type of the value first before using os.path.isfile() Traits 3.3.0 (Feb 24, 2010) --------------------------- Enhancements ~~~~~~~~~~~~ The major enhancement this release is that the entire Traits package has been changed to use relative imports so that it can be installed as a sub-package inside another larger library or package. This was not previously possible, since the various modules inside Traits would import each other directly through "traits.[module]". Many thanks to Darren Dale for the patch. Fixes ~~~~~ There have been numerous minor bugfixes since the last release. The most notable ones are: * Many fixes involve making Traits UI more robust if wxPython is not installed on a system. In the past, we have been able to use Qt if it was also installed, but removing Wx would lead to a variety of little bugs in various places. We've squashed a number of these. We've also added better checks to make sure we're selecting the right toolkit at import and at runtime. * A nasty cyclic reference was discovered and eliminated in DelegatesTo traits. * The Undefined and Uninitialized Traits were made into true singletons. * Much of the inconsistent formatting across the entire Traits source has been eliminated and normalized (tabs/spaces, line endings). Traits 3.2.0 (July 15, 2009) ---------------------------- Enhancements ~~~~~~~~~~~~ * Implemented editable_labels attribute in the TabularEditor for enabling editing of the labels (i.e. the first column) * Saving/restoring window positions works with multiple displays of different sizes * New ProgressEditor * Changed default colors for TableEditor * Added support for HTMLEditor for QT backend using QtWebKit * Improved support for opening links in external browser from HTMLEditor * Added support for TabularEditor for QT backend * Added support for marking up the CodeEditor, including adding squiggles and dimming lines * Added SearchEditor * Improved unicode support * Changed behavior of RangeEditor text box to not auto-set * Added support in RangeEditor for specifying the method to evaluate new values. * Add DefaultOverride editor factory courtesy Stéfan van der Walt * Removed sys.exit() call from SaveHandler.exit() Fixes ~~~~~ traitsui-7.2.1/setup.py0000644000076500000240000002663014046644465015532 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! import os import re import runpy import subprocess from setuptools import setup, find_packages from io import open # Version information; update this by hand when making a new bugfix or feature # release. The actual package version is autogenerated from this information # together with information from the version control system, and then injected # into the package source. MAJOR = 7 MINOR = 2 MICRO = 1 PRERELEASE = "" IS_RELEASED = True # If this file is part of a Git export (for example created with "git archive", # or downloaded from GitHub), ARCHIVE_COMMIT_HASH gives the full hash of the # commit that was exported. ARCHIVE_COMMIT_HASH = "$Format:%H$" # Templates for version strings. RELEASED_VERSION = "{major}.{minor}.{micro}{prerelease}" UNRELEASED_VERSION = "{major}.{minor}.{micro}{prerelease}.dev{dev}" # Paths to the autogenerated version file and the Git directory. HERE = os.path.abspath(os.path.dirname(__file__)) VERSION_FILE = os.path.join(HERE, "traitsui", "_version.py") GIT_DIRECTORY = os.path.join(HERE, ".git") # Template for the autogenerated version file. VERSION_FILE_TEMPLATE = """\ # (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! # THIS FILE IS GENERATED FROM SETUP.PY #: The full version of the package, including a development suffix #: for unreleased versions of the package. version = '{version}' #: The full version of the package, same as 'version' #: Kept for backward compatibility full_version = version #: The Git revision from which this release was made. git_revision = '{git_revision}' #: Flag whether this is a final release is_released = {is_released} """ def read_module(module, package='traitsui'): """ Read a simple .py file from traitsui in a safe way. It would be simpler to import the file, but that can be problematic in an unknown system, so we exec the file instead and extract the variables. This will fail if things get too complex in the file being read, but is sufficient to get version and requirements information. """ base_dir = os.path.dirname(__file__) module_name = package + '.' + module path = os.path.join(base_dir, package, module+'.py') with open(path, 'r', encoding='utf-8') as fp: code = compile(fp.read(), module_name, 'exec') context = {} exec(code, context) return context # Return the git revision as a string def _git_info(): """ Get information about the given commit from Git. Returns ------- git_count : int Number of revisions from this commit to the initial commit. git_revision : str Commit hash for HEAD. Raises ------ EnvironmentError If Git is not available. subprocess.CalledProcessError If Git is available, but the version command fails (most likely because there's no Git repository here). """ def _minimal_ext_cmd(cmd): # construct minimal environment env = {} for k in ['SYSTEMROOT', 'PATH']: v = os.environ.get(k) if v is not None: env[k] = v # LANGUAGE is used on win32 env['LANGUAGE'] = 'C' env['LANG'] = 'C' env['LC_ALL'] = 'C' out = subprocess.Popen( cmd, stdout=subprocess.PIPE, env=env, ).communicate()[0] return out try: out = _minimal_ext_cmd(['git', 'describe', '--tags']) except OSError: out = '' git_description = out.strip().decode('ascii') expr = r'.*?\-(?P\d+)-g(?P[a-fA-F0-9]+)' match = re.match(expr, git_description) if match is None: git_revision, git_count = 'Unknown', '0' else: git_revision, git_count = match.group('hash'), match.group('count') return git_count, git_revision def git_version(): """ Construct version information from local variables and Git. Returns ------- version : str Package version. git_revision : str The full commit hash for the current Git revision. Raises ------ EnvironmentError If Git is not available. subprocess.CalledProcessError If Git is available, but the version command fails (most likely because there's no Git repository here). """ git_count, git_revision = _git_info() version_template = RELEASED_VERSION if IS_RELEASED else UNRELEASED_VERSION version = version_template.format( major=MAJOR, minor=MINOR, micro=MICRO, prerelease=PRERELEASE, dev=git_count, ) return version, git_revision def archive_version(): """ Construct version information for an archive. Returns ------- version : str Package version. git_revision : str The full commit hash for the current Git revision. Raises ------ ValueError If this does not appear to be an archive. """ if "$" in ARCHIVE_COMMIT_HASH: raise ValueError("This does not appear to be an archive.") version_template = RELEASED_VERSION if IS_RELEASED else UNRELEASED_VERSION version = version_template.format( major=MAJOR, minor=MINOR, micro=MICRO, prerelease=PRERELEASE, dev="-unknown", ) return version, ARCHIVE_COMMIT_HASH def write_version_file(version, git_revision, filename=VERSION_FILE): """ Write version information to the version file. Overwrites any existing version file. Parameters ---------- version : str Package version. git_revision : str The full commit hash for the current Git revision. filename : str Path to the version file. """ with open(filename, "w", encoding="utf-8") as version_file: version_file.write( VERSION_FILE_TEMPLATE.format( version=version, git_revision=git_revision, is_released=IS_RELEASED, ) ) def read_version_file(): """ Read version information from the version file, if it exists. Returns ------- version : str The full version, including any development suffix. git_revision : str The full commit hash for the current Git revision. Raises ------ EnvironmentError If the version file does not exist. """ version_info = runpy.run_path(VERSION_FILE) return (version_info["version"], version_info["git_revision"]) def resolve_version(): """ Process version information and write a version file if necessary. Returns the current version information. Returns ------- version : str Package version. git_revision : str The full commit hash for the current Git revision. """ if os.path.isdir(GIT_DIRECTORY): # This is a local clone; compute version information and write # it to the version file, overwriting any existing information. version = git_version() print("Computed package version: {}".format(version)) print("Writing version to version file {}.".format(VERSION_FILE)) write_version_file(*version) elif "$" not in ARCHIVE_COMMIT_HASH: # This is a source archive. version = archive_version() print("Archive package version: {}".format(version)) print("Writing version to version file {}.".format(VERSION_FILE)) write_version_file(*version) elif os.path.isfile(VERSION_FILE): # This is a source distribution. Read the version information. print("Reading version file {}".format(VERSION_FILE)) version = read_version_file() print("Package version from version file: {}".format(version)) else: raise RuntimeError( "Unable to determine package version. No local Git clone " "detected, and no version file found at {}.".format(VERSION_FILE) ) return version if __name__ == "__main__": __version__, _ = resolve_version() data = read_module('__init__') __requires__ = data['__requires__'] __extras_require__ = data['__extras_require__'] with open("README.rst", "r", encoding="utf-8") as readme: LONG_DESCRIPTION = readme.read().split(".. end_of_long_description")[0] def additional_commands(): try: from sphinx.setup_command import BuildDoc except ImportError: return {} else: return {'documentation': BuildDoc} setup( name='traitsui', version=__version__, author='David C. Morrill, et. al.', author_email='dmorrill@enthought.com', classifiers=[c.strip() for c in """\ Development Status :: 5 - Production/Stable Intended Audience :: Developers Intended Audience :: Science/Research License :: OSI Approved :: BSD License Operating System :: MacOS Operating System :: Microsoft :: Windows Operating System :: OS Independent Operating System :: POSIX Operating System :: Unix Programming Language :: Python Programming Language :: Python :: 3 Programming Language :: Python :: 3.6 Programming Language :: Python :: 3.7 Programming Language :: Python :: 3.8 Topic :: Scientific/Engineering Topic :: Software Development Topic :: Software Development :: Libraries """.splitlines() if len(c.strip()) > 0], description='traitsui: traits-capable user interfaces', long_description=LONG_DESCRIPTION, long_description_content_type="text/x-rst", url='http://docs.enthought.com/traitsui', download_url='https://github.com/enthought/traitsui', install_requires=__requires__, extras_require=__extras_require__, license='BSD', maintainer='ETS Developers', maintainer_email='enthought-dev@enthought.com', package_data=dict( traitsui=[ 'examples/demo/*', 'examples/demo/*/*', 'examples/demo/*/*/*', 'extras/images/*', 'image/library/*.zip', 'images/*', 'wx/images/*', 'qt4/images/*', 'testing/data/*', ]), packages=find_packages(), entry_points={ 'traitsui.toolkits': [ 'qt4 = traitsui.qt4:toolkit', 'wx = traitsui.wx:toolkit', 'qt = traitsui.qt4:toolkit', 'null = traitsui.null:toolkit', ], 'etsdemo_data': [ 'demo = traitsui.extras._demo_info:info', ] }, platforms=["Windows", "Linux", "Mac OS-X", "Unix", "Solaris"], python_requires=">=3.6", zip_safe=False, ) traitsui-7.2.1/README_example.png0000644000076500000240000006352114046644454017174 0ustar aayresstaff00000000000000‰PNG  IHDRÆïÒi iCCPICC ProfileH‰•WXSÉž[R -)¡7Az•Þ;ÒÁFH„C ¨Ø‘EׂŠŠŠ®ˆ¨¸@»"Øû‚ˆŠ².l¨¼Ièó½ýÞ÷Î÷ͽΜsæ?çÎLf·e ™¨Yü\a¤¿3>!‘Iúà€d2P`±sž!àåý-€ˆß×ÍűþÙ"‡›Ã‰€8™“Ã΂ø¸:[ ̀Рõzsrbübe!$‘,Æ©R¬!ÆÉRl)±‰Žô†Ø2•Ŧ 'ŽÏÌc§Â8rˆ-ùâí»±ÓXˆ»!ž”•5by*ÄÆÉ?ÄIý·˜Éã1Y¬Ôq,ÍE"d^Ž “5ïÿ,Çÿ–¬LÑØº°QÓ„‘âœaÝödÌcÈiá'‡…C¬ñyGb/Æ÷ÒD1£öìoX3À–O0İ–(C”ã9Š­YB‰/´GÃx¹Ñ£8Y8;r4>šÇÍñÃiÜÀј+ø™ac¸*…ç1œiè‘ü´è8)O´=±Ä9QÁ£öòÓ¼ÃÆl„¢H1g}ˆß¥ý"¥6˜jVÎX^˜›%á  ±GnZt€Ô‹çæÄ‡Œqãp}|¥0—3ʃ³Ë+rÔ·H1jUq3ý#¥uÆæäEù^Ë…LZìq:+(BÊ{/Ȉ–rÃq¼`lÉ`6H¼ŽÆøKÚãX@R˜jÆ<â$=|øŒùà/ˆ¸ gÜÏKÒËyPÿu\+}šƒIožÄ#<…8 WÇÝp<>=`³Æq§1?¦üبD_¢1€èG4çÁ†¬3aÞê¾{žº 7 Ý„» öraÎb†üñÌbÁI”Ñß³xŸ˜3A(è†~~£Ù%Cïþ1ܲ¶Ã½pWÈrǸ:0Çma&ž¸;ÌÍjd(gñ½–?'æ÷cŽ£z9S9»QÉãü½Ç­~ŽâýC8ðü³%¶;ŒÃNa°¬0±“Xv;.Æã3á‰d&Œ)á–ãðÆl,ë,û-¿üÇè¬QBÉ÷¹Ü¹¹âá=[0OÈKMËezÂ™Ë ä³-&1­-­ìïïÒíã-C²o#Œ‹ßuÙ­8CeêwK€cO ¿ÿ®Ó{—×ZŽw²EÂ<©?ðC® 5 ô€1ÌÉØà|AÑ Ì„UOYõ°,E ¬AØv‚=`?8A 8΂K Ü÷áÜè/Á x†!!4„ލ!Úˆb†X#Žˆâ‹„ ‘H’„¤"|D„,@–!%H)Rì@j‘ß‘cÈ)äÒ…ÜEz~ä òÅP*ªŒj¢†èdÔõDƒÑhtšŠf£ùh!º-G«Ñ}hz ½„ÞD»Ñ—è0YŒé`æ˜#æ…c‰X &ÄaÅXVÀšá·¾ŽucØ'œˆÓq&nçgƒ³ñl|¾ ¯À÷à x;~ïÁñoAƒ`Fp&â ©„9„"Ba7á(á \Q}„÷D"‘A4":Àµ™@L'Î'®"n%Ö[‰]Ä^â‰DR#™‘\Iá$)—TDÚLÚG:IºFê#}$Ë’µÉÖd?r"™O. —‘÷’O¯‘Ÿ‘‡ed dœeÂe82ódÖÈì’i–¹*Ó'3LQ¤Q\)Ñ”tÊRJ9åå åå­¬¬¬®¬“ìTYžìÙrÙƒ²çe{d?Q•¨¦ToêtªˆºšZCm¥Þ¥¾¥Ñh†4Z"-—¶šVK;M{Dû(G—³ ”ãÈ-–«”k»&÷J^FÞ@ÞS~¦|¾|™üaù«ò 2 † Þ ,…E • Çn+ )ҭóW)îU¼ ø\‰¤d¨ä«ÄQ*TÚ©tZ©—ŽÑõèÞt6}}ý ½O™¨l¤¨œ®\¢¼_¹CyPEIÅV%Ve®J¥Êq•nÆ0d22k‡·Ÿ'hNðœÀ°r ×&|P¨ê¡ÊU-V­W½©úY©æ«–¡¶N­Qí¡:®nª>U}Žz•úõ‰Ê]&²'O<4ñžªaª©1_c§Æe!M-MMæfÍÓšZ -­t­ Z'´úµéÚnÚ<í Ú'µ_0U˜žÌLf9³9¨£¡ #ÒÙ¡Ó¡3¬k¤£[ [¯ûP¢ç¨—¢·A¯MoP_[?T~þ=Gƒ4ƒMç >Æ.7l4|n¤jh”oTgôÀ˜fìnœm\m|Ähâh’a²Õ¤Ó5µ3M3­4½j†šÙ›ñ̶šuM"LršÄŸT=é¶9ÕÜÓ<ϼμǂabQ`Ñhñj²þäÄÉë&Ÿ›üÍÒÎ2Ór—å}+%« ««f«7Ö¦ÖlëJë64?›Å6M6¯mÍl¹¶U¶wìèv¡vËíÚì¾Ú;Ø íØ÷;è;$9lq¸í¨ìá¸Êñ¼ÁÉËi±S‹Ó'g{ç\çCλ˜»d¸ìuy>Åh wÊ®)½®º®,×®ÝnL·$·ínÝî:î,÷j÷ÇzÝÏÚ+zMôýãQL[¬|ìôØÚØq>q¥qÝñ“ãÆ_JPOà%4%’cw'Mó¶qZßt»éEÓoÍ0š1wÆ…™ê33gŸ%?‹5ëp!).ioÒV8«š5”˜¼%yíÍÞÄ~Éñàlàôs]¹¥Üg)®)¥)ÏS]S×§ö§¹§•¥ ð¼y¼×ééÛÒ?d„gÔdŒdÆeÖg‘³’²Žñ•øüöÙZ³çÎî˜ ŠÝÙÎÙ³…ÁÂÝ9HÎŒœ¦\exÔ¹,2ý"êÉsË«Ìû8'vÎṊsùs/Ï3·rÞ³|¿üßæãóÙóÛè,Xº g¡ç‹EÉ‹Úë-.\Ü·ÄÉž¥”¥K¯X”¼[·¬¹P³pIaï/þ¿ÔÉ ‹n/wY¾m¾‚·¢c¥ÍÊÍ+¿sŠ/–X–”•|YÅ^uñW«_ËY²ºcýšªµÄµüµ·Ö¹¯ÛSªXš_Ú»>t}Ãæ†â ï6ÎÚx¡Ì¶lÛ&Ê&Ѧîòò¦Íú›×nþR‘Vq³Ò«²~‹Æ–•[>lål½VåQu`›æ¶’mŸ·ó¶ßÙá¿£¡Ú°ºl'qgÞΧ»bwûÍñ·ÚÝê»Kv­á×tï‰ÜÓ^ëP[»Wcïš:´NT׿oú¾Îý>û›˜ØQϨ/9оø=é÷[‡‚µv<|àˆÁ‘-GéG‹†y ƒiÝM M]Ç‚Žµ5»4ýÃâš–Êã*Çל œ(<1r2ÿäP« uàTê©Þ¶Ym÷OÇŸ¾Ñ>µ½ãLð™ógýΞ>çyîäy×ó-œ/»èx±ñ’ý¥†Ëv—^±»r´Ã¾£áªÃÕ¦N§Îæ®)]'®¹_;uÝçúÙ7.Ý »Ùu+æÖÛÓowßáÜy~7óîë{y÷†ï/y@xPüPáaÙ#GÕšüYßmß}¼Ç§çòã¨Ç÷{Ù½/Ÿä<ùÒWø”ö´ì™ö³ÚçÖÏ[úýú;_L{Ñ÷Rðrx è/Å¿¶¼2~uäo¿/Æö½¾y³ê­ÚÛšw¶ïÚ†"†½Ïz?ü¡ø£ÚÇ=Ÿ?û÷ùÙðœ/¤/å_M¾6 þö`$kdDÀ²$G 64%€75ÐàÙÞã(rÒû—DéQ‚À?aéM"öÔx³€xF©‚Íb*|‹ßѵ±o£’“bc-E…·ÂÇ‘‘·ššø*Þ:2òu${€Ölé½O,DxÆß.¾[+zËÁÏò/éAjèÓóz÷ pHYs  šœiTXtXML:com.adobe.xmp 314 396 1 !¼ö®@IDATxí]`UEÖþ^IòÒ{H£„„Þ›  ‚HEÅ‚‚(ö†®«`w-øëÚwUtÝ+VÄŽ   EšôN ô^_û¿3÷Ýä%$!ó^î½SÎÌœ9gΙvÆPZZê„Ë•”” ¨¨6› ‡NgEP•w‰î¦§oŒ¿{ÚŠô¾Uf]=Šçû¯†W{ òrlW[¼úú»Ç“w£Ñ³Ù øúúª„1„ȳ²² ŒáççWxT…XÝË^÷“mHÕ≿î*Â+½TüÚ˜MOWÛSÁ«-°‘þîåuq<òr‡ÿWy¯ ǪŸ"Újt!¤ã¯‚~t`®ðšü«Óa•o==ŸBûÅÅÅŠöÃÃá#33dˆ‡¸êÒBy¶Â?ƒz'¦ÚŠHc™·¢¯ÅTY—R`‹†ììlgFF†b !ÜEM‹©]3Tp`³Záp©“ f³—ÊÅ9<¸jfÄŸ$pÒ¦Ò–&“ ÂæÂÂBx{{W4x í"*eU‹Ïñˆrz÷Z5´ö/ž{Ï,]³³qðt‚5^…È$<‡ ^u«VÊÃvá§…ïcû¶­ð23ÇMFR·¾ðññ©ˆ-‰ü»"±çå”Á€´ŸÐ´¥Œ3ÌVöŠÒÐv»]èÄU¥ÄBðÒøä&v›°Sír2¾8ñ3QôpÄ®ù Óè_ˆû‡ @ÏhŒ&ØËK˜VcƒÉ“7@–Çac~0ìܹÓ)ëååU{ÃJc0ÜAé‚5k`Y»ÆÜ…EGH(Jž c@@F«PÌkÅ3á ¯¼ÎC+à›¿F[†Ï‰’ 3aˆ?FoÂs^E÷_3@!t/Â+ ¼ßÒVbIñ¯Hwd©ÈQÆpœã7 CÛœŽ@³^mha¢âÂÌŸý’·}…ë§¿Š.IP¾¯½ô¥¦¢Øw dÁÊÎ!€.¹#ÇŒATTTÍø#1›÷h‰ÂŠÀÑND:˜’Îáp*ñ. aW’‰¬M æŽìè„-ÂGð,5ª`ÖUyÖØã±A Âii°¼õ&·m„9*†~ìí霩a{{5 ~ëƒÒ›n12Î:™ƒð„) òóEß…™Äf0jê‰Óqyo ?g*J;O‡Ñ¿ ¨væ¦ð&¼Ô¢Ãøçaž÷"$ù÷„…~âv8ÒñNé\¹û<ØþnÄø¶Ay­ÌÁqË/œ9b<º&„ÂÏ»f;“ðåòTì<¸eöJ’\¶r%Æ.^Œ™O>‰xª[î8”Á»Òfé’_^P »•!þe%…èÐëtœuZoRH9Kª‰r%¨³<ßþ° ÝO‰Ä/|÷éçˆë{&z%E¡¸ …%¥ ¦„dUËšÿhe‘üjf«(RO¼jK KÓÅk‚x¬ü$\˜¢¨ R ô§ï…”±z[6Îw6¼ vª¾ôcåUW9k*_CüÔ`A PÛOÆ6J aа”ý0uê U'»¨@üÉ»øI˜Ä‘¸’¦VxTele°ìxá¾Ëa¼€JP{ ÂäOÞÅOÂ$ŽÄuª6x&†å1Î?üó7âÿáˆtÀßæ­~ò.~&q$®¤©{oØ=œ‰IíàcKŠö£0?ß­:„?÷ç#(4g;‹)—ŒÇÀ>=ñÝ÷ßãý÷߇Œ×¤±*` ±Û˰ä½ÿaWJ!"£"ŒÐ„††!ÈŸ*¨K*°gPsé2ŸNnÂOs?FzN1Œ'’÷üÉ÷|˜½-(8² ÏþóeäÛDQrTk;!tE0|šÙ¡y™MJÞŠä‘r Š (ï&楤tŠ 1™ÌJs¿Š:£ð[XÅÈöÍB$ Î%ù$_÷ü*ÂUyXM|‹¯7vý±¯|´˜j¸Ë”ç`Óö½°²S’tjÌÆ2Ò³(=dDT|ÇKTµ(½.¾v|üüQ—‹&¤¤B@h(¥^ yßÜü<úZØÓnè ©¯À#Íåå #;^ÄG›¨9F¤¼!>íÈ<|%eðõBDD(ÃÈL:Î¥šÁ)ÆÐÕ©ŠuDÛ¹ðøÇªOÑ$Ø2˜Ü ÁwÕK2Lâø1nÁà!J/–†ww ^Y1 ()|‘ÖK5xM‡é ›˜%Lâø1nAÙ0 ÉÝ ¼"Â[Rò:tG±Àsc ‰+ "ð$¬“¥;–þ†3 ÏÌ^GŸ­Òa ¼ü‚|¬Û³Ña˜¿jÊH<åèwF&œˆ]F©Á¶Rc&œÖ=¾ÇaIj©*£èÉ‚Oqì›ñÛìVmðÏ ÙU ùð?ßíìýŒHÞ¾¯ÿ{ò½B©Jm۵ǡŽ=„¿l%˜÷Òsè7ùv„•ïœϼE¦‰ÂÌŸÄMwÞa:¢ŒÌ&ÎÇâ-¿/ÃìO~Al˜ŽdÂ^œ¯ØÞ¸ãæ©è…Ãû6â9Ÿ¢[ï$¼ü÷‡ðð§?bdŸ8|øÆËXº9qH=’…Kn˜†óÏgq:þ÷Ê+È3¢0ãœ,xÊá L¸n.>Þ&2önƳ^CJ9­EéL:»ù$Äcãò%X°<I‘Vü°l-:÷”4ª³<öÔ.ÜûàC0X‡Y_lǃ÷_`6¯Z‚×^} >Q±HOÞ‡Ó/¼S'žv øö“0ñD„ãPòaœséõ”Üço"mšåO݃Hp°!ì "9$g=wý)-ìò—8W¥!áUg4!fÏ ±rL!݃;SH•™¬¨Áä#ãª4¢{ëyºª.’ÆÎòep m1zÃi£ qI =®¡ø9É1“·Š+iÌÕàI<åe•RJzw'{ùo罋GgÏÃçœ[AæÌz¯þoþùÀµTƒLHÞô+2L¡xåÇeèÜ.‹¼·:ðúã3Ñ!*®\Œ 'ÍÀç?ÍÅÀŽÞ(OÛ‹M^Ý0óo÷!‘ľuõœÅ}h»x.NKôÅ[ÿz‘gß‚žP-ú`ö³øïgKñèm—¨qÐo¯?ð™/áÉÿ{‘d¼MKâÇ=ÜvõˆôÂ!JÞ¼üBv,^ÈJÞ€§žy7>ô"Îîß 9)ÛðÏwá×n0$ÊŠYo|€GÞúC»Åb÷ºe¸ï™92¤?z· A™Õ®:œæà J!M§“g•9Z È«õúõÉT$…ž¶&ý¤áªõúõ‚Ç4zZž|ë?E‡õÄ8WO§Á¬¬¿0ÆÊ +‘Z²:,Ð=®;FÞszÜsù4ÿûúþûå*w!gï^¤mÞŒŸWìÁŸEá°“1•´pá‘ ¡éõÂBÚ ŒÌ*麾­Ü*|ƒ¬”½ØšˆK/>á>°Ebô%—â¼h³šPãÁ§%aÁ!Ä¡¡aa𥾤O³ëp”NƒÆÝŽqçœo#B¢Ûã²+¯Ã¡U_ã0Ç,2.ÉçÌßÔ)“1¤o7˜íøé»Õ˜qãdtíMÞÎ…NëŠuÛvRÒ™Pœ[†).BŽ1ì°Ìè{ú9xê֮زo?Ž:ˆ?SËÐ9> ÷ìÀÁŒ\tèÔ Ÿ/X„tª]&vHç^‹«&N@§öqeùƒý8¾± œc-j\ªó0r|c2ذwÇØc† "ÀˆÛ¶pLhDŸÁ]ñÝo›PƲÅSò,_ú3Ö¬ß ÿØn”TÏ#1ÒL!ªv5®NÓ ø®ŠH\½­jIþ1°1œÙ9âLO¥¬¦ÔÐ%„_½;XiÅD:0>EZ¨Îøžà’·aò?ŸÉÁ²èÂâ„Õ(k§}oUi®)M-’öW˜Ù‡ðÎòŒ÷J¿ÅßÓPàä䀨 .&WïíKx;K6â>¯)*M9á©A¿  F\NEœÎÂF…Q Ø#ÛDjZàëÇFå࿸E$:‹öÊa«IJŬ¯À5¬8¸o¶mÛ†íÛ·cÇŽغe3öHEH\ÎìêÙï~ˆÝÓAÕjþÜ÷ñÍ~™HÐÊe#óéå“…½œÌdÂÙ‰Ì\™ᣩhò”Ý©?ÍÁ¼ß •jÍ¡=[ñÁ»\¨äºL› ‹êñ­ìù¥þ"¼|C1büY˜öìðû†ÈËIÇ’Eóðä¢#ؽ ì@ü#CðË÷ëš-ÈÏÏÁŠŸ¾ÂïDÏŽíÞ&ýãí˜óá'HNËFnF >yç%¼öÝz≠A\—sšL: ­\'"³$ïØ»ö ÄLvQ³såV':téëæñÉwËØá"eÿv¼0íl>”‹’Üœ7æ,^¹ù…¥LÇ…AÒŠLI+URèK§µ&>M·ÜrËã:éȯ.ü̆`Wƒ2r¥ƒS“>ûwÃÌoÙdd÷e¤h·NAv|r¯ž NÔ«>é'+àè…T~„Gý²Ô¯;D¢Å¹½G˜,}ðÇÂÀ…0Î2eFN»i€…:5äj‚g`+[=,& zùtCvö~|ƒUÔ­Élœþ¶(4”bmé6L(€{¢nC¨wˆ¶úÍ´zùÜ{—Ÿlÿãæ$s \Ê<—ÀP$$ ƒ…:½¨;e\õ–|¤å"#§ˆñœœ>´"3(g ìªR` ÕÚmÅØ³cÖoÝ‚ukÖ`ݺuذq#–|ûL‘г[w$vê‚Ô?ÃÂï—â÷Uk›ˆžT’zõC›`/l^¿I}Ñ>:DZ^æn¼÷é2téÙmé'c#q&³‘³NÛ‘ìŽ!N,Z¸Ë–/‡_âpÜÀ™³På¦cÛî#0d |ÉãÒÃÇ´OD¯l,X°å[ûrð‡îAß.í9)–‹•¿¯Cç^ݱÿåøî§%Xµ5÷?6ƒºµ'ž½Ø½®]‚/¿ÿ+˜_ip/ÜsÃ%To|z`7ÒK¼1 O'r0Ûžt#4µ›k?­ßƒC8ƒYxÛ¸Î3x`r Òµg7,ýrÇo«±ìç_Ðãâ¿áÂs† Œ»¿‡ôìˆÏ>œ‡5›6`ÉKÐeÔ•}Ö@øu‰¬·kSž6”S6Ê‚‰jLw*Ñߥ‘%œ‡˜¼Ö¯C eÊÏW¡ö  ä÷î +%…=º%Ä;} ‚J‡Ùµ…ÃÆ1E¾eÊ))º%¤ÐZˆß³×àWÛjd:µ-+†P 3Ÿ†!”^uo ‘ ‘ä€r˶ÍHËL#•!=*[¹œ"ôG€7Á(ü¨+—Pß–Y&‘Ù9…ÈØ¶Üs•Úk#Œæœª‡t}TyÈ*°üdaMTÅ®QÈ”W` ?רŠrÉDæ²²L²".g5>b/,+ôf¦‰!NÚN¦k7ý²s–æâÿœ[q.§E„ÈÙ!m€½ŒJ+‹{®¤lª}rH­Ü&ƒ|_øQÊŒš³4 Ï?ðO §úrz·6ÈÌ΃Å/€ÛadAV´ië2è—Na4ÉÕŒiF•U$ƒ8Y@´oBÈšÚiW㵸ÉpyZË8~)¢ZLI@é©Ã1¢„å,áøÎËÛG"«5ëøBÊXç:†DÐQÈžÒ@IQ>tÒ,kA$#ý üv0Žô‚üºá‘à ìéËã†#ÝvzUxf„ÚOi¦uÕ¦Œð|œ5ÃOfkĉ4´žìI*#<’"‡¥µÃ“øí¹ŽËÞ^z8Α>üò7|»2}û@÷„IK!”YÂ㦕œÂÔR™²Õˆ@¸¡Šàú#q„‚ âM¶yˆ“A¨0‚8PJzÉL1¿Eö¢Ÿ–^ËG²uÅÊu­3¹Šl‡?ݾôwp1³\«ŠJk¦ê¡T•ÿ0`ËÇâ ë+cA‘ŒFJ'ñ–¾sÕÅÍÞ Q©Ê©ÞIÝ„1E5“v Ra’ŸÌ"3HÕKÆb ºcvª~fÉKü D/“Ô¦ŒãSÉ;ˆÒƒ1´N•¸œõòò±À›Ì+8±‹Æ¢nƧaíÚµN‘uJ ÷ Y5«"Çom éúÖ|ð—ð„™%™è‰B¸ƒÇÔJÍfqAcÏDbj } '¹ÿÀ!,]¶‡¨Gˬ œ ¿P/ ã™Ð©CÎ>s0Wb#T¾'ú0†ç>S÷íàö“R Ü^œ*•ÞZoª†–IÚÅa+Äšß7puº;8%kSkk›†æ2ãÖ¬Y£CÔ©Ê^îE¶&qhŽHj2žtX.M(ÌáîÜ™B¨~Î=¢0¨Y" 8¸vÀ ÓT"­—¯ø.mÀŒEºˆÊe¥ªÒ¤r(x„ÉÊysZXÑ¢¾©ÊVA@Ë}“×ÕaTN׋õfŒ*•!–šQÍ ÐQ ²g„NÚ½¡÷ö’T•º¹QEð§ õº®§9.OÏIuQÖÂ5‰×Ä\4$Áʱ”t.ä7ÍéÏ&‚?9É9éâÊX¤~mÎ,úp>ÒõV¥jƒÔü¥][œƒÓV6þjG¯ú_©Õý §zzÏ÷ñÇ€´YÖFøÇuJ%ÕGµ?fQºtéÂ#ïFéâÕà’ŸÂ²}»ÜnÀË«,8RfF¢9±^¹j¥YIŽÚ(þ”¬‘§P €êµ8 ÂÖNµ†`- Ñ>6Ü5¸”Ì!ã0MUv‡©T© ¾ÝS· wQoœ2ÝÏéÐn‰±ã²Aœ^6ñWÇ,U ªbíE¦oõ"Mæ«‹°`M16Å šz¡—g¸´ ¿£pg–™uѧõ™˜£bÖà!iôq‰Ì`TèÖô—9j÷™’Ÿ0/]bh:%¨Ô2e¾&?„„·9Šf´:Ý‹— Á’pu<êyèL5É1¹+ •O“`µàÄ‚Ï\n)±;å š|i´+;*j– ЙAÖ«þ¤69Ñ%‹12œ)—)ÄØ˜>\|‘9jµ*ÛÔÆ­Wêˆ$”áVA‹"75[%Hiêȶ^Aµ,[my ÃÔVø’¾œ¨D+h œúäuJÇQ¼ ÓöÕú7ºp/¿6+¥8ÈÝ»îwA¶ld+Ë?ŒE\–7Gtƨ3¹R-ºŠ¬I8ʱøóÏЩ?õèT¹@SA‘B Š4«ö”®p sïAõ¸R*wB!œÊ²J˜{ÜÊú¼ÉÜáQ­ZýãÈ êŒ1ƒ{J† ;z¾_ÏC÷èzÞz˜–£ôJµ…Uúç¥îÅ¿üÊݿԂeJ”ŠÙ7E—öQZ$_W>*_W9ܪ¯ÊPƸRY¨»ÿþûñì³Ï*Cbz9µòyþÖ†µ‰°¶ÀÚýIBܬVžSoºWMUÛò 7;+δâ½koÆò­ûÈ@Ú*«l{v2È×Ï |YiÖ·EH¸œ¬“Æ“­>ŒkVÖ2¨FH"¥†¾»T‚ ÕÖÜ Åå]¿‡–…ä‚e³.ÅKK6jÝ…H˜”Q~ò.yJty×z˜¤§â¨A–Ö=Š ER¯GöãòÉSñùÒuصƒ› wnÃÌ+.áùˆ6øjÅɈ̢©»G•Eòf^zýåY%LÒ¸\ Yx\Ã0 1FQ4$±ÆçôÓÒ<ðÒÛ´„aå©7!€§)¹‡Ÿê›Ï‹#œÂ¼Llùs¶ïÚ‹bî¶ÔU°Âü\”rž¼8?EFn‘"úlž‹Øºm²y>Xk&lj:`++ÄîÛ±{ßAž%æj¯lo ù“ýý²¿§©.¨ý™èì§!#ÚÊŠ°w×6–g'rYÅ ¬YQa¾: SV”§:•«â"Å„9T¾f§§¨°Y<´£¥ÓY§²”f/ÍàÝcO>ÅSnOá©§žÅfž¯~ù‰¸pè(l?R vHú¬Ã°ž› ÷&ó| ó?ÙY*O)ç¾Ý;±/9…{¼4ø‚19éq Ã@#%†ž‰›³ðò¬7`ûì|ôíJNsŸ Ú«ðâF™Ë¢]B'œ{ùuÜAÙ½&ßÍýz±pùÕSÈÓp÷¿øri¬^6å¥ìüº c§Óб}àl¼ôÎxôÆ ±õ@U /”'“G¸ÌZšƒ™_‡»ž}ûyÊ-uïœõóGøñ-´@ÂS/Öl|þîÿpíÃ/cçæ5èºå#L¿oÞZ±ž„~G×_bÙŸ»PZ”džðøç•ÿÂÞÔÝ8°}:ly¿õ•Z´óò Æ O?…ömĦþ.m£Ê†:I$3u®M|?̹ Ÿ$=ˆ,ÚrJwò|öc#pþ¬ïÕ ¯ …øxö¸æ³iµ0¯=<×]ð:ä¤À†ŸæãŠicéÆ½Ø¹û –6×\0«wf(ÕHzùJçþ.ÁZÁÚ´ÇTFÊ(.ÀÞ?Ř«î»<†º“Gjw­_‚çfLÅÜÅk¹W%÷vˆˆ©³É(Y4·‰žÅý¯¦v×ú˜5Õ¯2?ÏÛ±0Ð$ÆÐ—ÐÆÑ™ã¦`Ûóñ7?E!¿:ÊÎPöº^xþ÷_1uT?$ïÚ‚?·íR»!Åœ‹ôºÖ‚½¸äÑ·pö Þˆã¡aãધÁ>Ýh-# ×_„ôâ2ZÒØ‚Ϙâ¼3 (#•v•Lqã}øúÅ7‘VP¿Ðv¸áöièÝ9ŽG*¹…ÁE\zk|ºèQ6EV™eZî]UIÆÞô?lyá&r°ñõÈ(pbD(wv²®åûqÅ3ópÁPx Å𱓙æOäcåçÏ¡Ûí/¢}¨7öïKFlÏþ ÞÚ­[ÕS¤jíNc ƒÁ Á}dú½×.Î “Æp’ƒ™'õ÷g^„/WíÄî ë1—ÀÆŒÂôCȳš0æoáü‰#…%píD­=?OHu ¨Y©êž ý¶S·÷ i‡~˜‡A<8òã¨^°tá1XÙsÆ-ÕÛVýˆ)w=ÐŽ0¼?üÁ ΖqƒÆÅüxÞY,‹ù³ó<`¤Ä¿ú–qÏ—iËø¯<÷M´äp\âD‡Ž ¸á΋ԘF¶5—SR׋)„0%.g¡v±öEûîŒUú:W}\.eÏfÜ<õb¬NÁ˜‹ÆÀšóüŽÓòäŠ@Z¹’ ›Û•bÏ ªB%Žl{ïM\»é3žò+B`D<.»ørÛ¤ÙÑ£œÆêh*ÃdÛ¶‘ ‘å´ðñÊFà£pÚbZ7ŽO†ÕT-1áLó2Æý•¸yî‰{a(ÌæYt'’q÷#㕚¦«jGeëñ¨ÊDg­¡Ç ÐTtÜréÔþóÈT\sñ=ˆuìÆ#7 eûFÅï,úãÙ³z;Ëðóaç´®¤3Ðꄌ„˜µIŒLSùÍé_Æå±aåž{õm hLbäkÚ3Ú¼·aöï‡ú´ì~Â$€:K/|)‹’N{)žìÕ}?û÷L8›LÉóá?`ék¡˜ËG\Œk(á‰4 ‹¶xîc¸u)Í´H±øGõë9iYŠ…@æ}ƒ)OÌÅœW’Ï©ÊðlûÏ?þ‚8êÿÊIdWç §÷åqYqúuk—~«¾ûvë‚ýÉþxû—=xãNm&‰q`Ãé8’6*4ä¼öÎÇÄv^âОM´âQ„H_/”pWpý: •ç1ÐDUJàªö%AÚ >¸àjCì°j΄-®(eêÕ^Zˆ¿xÏýBóL4lV*&ó9´[9P¶—Wýv:²‘M›JqIp: ºµDB÷s(:îÃüŸÖrû·[~û w¾±‡õF—ÞÝ ŠÚ›ï~Š|ž¡ÎNÙ…éI}ðÌ·›8.Œ[ÐUNž?õÅ@¥ÎPßnñŒ´”Ñ£K7Î|¨î“êP9‚c’0ãßïaá…×(«€ñ<ÜþÌÝWbòèÓhGˆvd/» Ï<1ÜúwŒè¹m’xHߟ:;§ýáѱ•ß~QÃîå„_x;¼þË—¸õì‹Ðýã7Q²†O™Žy<ÂéÃ`%Åy¸ïÑGñnŸØ‹’@ˆ¾©!aÚé1/\ú÷7ñYÏahûųªãnz †ö¥µ Ï{ç^y^~¨ Úöƒ§ÿó*n»íN,œ8˜ã¨qˆð­f®öwé~¼ÀZÏûßs1¬WN;­'V¯ÞŒ¹ß¯ÂÐîÑŠ+DZVX2átí˜ÎÀw]ÇQTÐñlüwþ·¸ü¢Ñê»ëÐóñåœçqѹƒ0“篷ÿ¹/¼³có,5ÑÿÉÆe˜Úï,ļû2Šiëväõ`î£×7<Çþ‡¨õ¸`ÀðÃ?8{öì©zÅ뢔ræY !ËáqÒ3‰`/ãÑG#½()œ4™’’J‰â¸ø8xsÜq$3Á4llæYcŽ Ôz„¤æ«!²>áþ- ²¨W(vdÓ3yÜÑÑmx÷…‘g¢©*0²œ–…D!:w§ÊD/š9‹+-ØSêQ~8ŸîϽRÔÓVJË YFWœããbÕ–dI'2D.¥TL\[dÍ\›HƒW@°²ë^vý0˜†Ñóé©ÉÈ/±!4¢ ƒeâÌÉØ¦ÒÉøHÎ@«“‘º7Õ4îLžuä gæ!(<ídLD'’Jò“õ””#é0Ñ ƒL]Ëü†Ü-wÛm·á7ÞhÕ+ß"Ìs2Sññï´ôX܉–rL?»k)d‚н=§M|³ñÔíBÌUˆHœÌ¶HÃûа‹’¥}Ç$&`çwllŒKÍÒ„–ΔrÀ]\Mß²€'³?IÁb°MŒ Лþ,+â⯗E:ÆAˆäe!¡wê\[#F 3 2¦-"]!âÕ¦"žÆ¾Ú§²÷äòPå'±FŶ7u(§ûUoµš/‹:Õœ~ÄWI7æ+Ø n«~UÁãS˜B˜ÃÇ?+ë q$­Ü¯èq Ã@ÓƒyéçÊlµf—^PE~2=e%Q+'~òÍ=Lõ .j‘5…Ú¾%¾0š~ØHEÁpe~tY*KU㛋ƒ†™;áêpåğФü¤*z\wxz\ÆrÅÓË¥§e¤Þ §¹{° îu§¥­ž0‡^=ýÙ†ÖÇ=®ah2cèȯžm! ÷îßîïçßUàºÃTI«äR-´îO[3lñטB‡Ps< ÕâêñôïÚã»Å”LŽéô²Ô·¦:ˆDþùçÕv_Ÿ²³­ B“£¥âH öÈê©þ´Ôš£Üd8Q1¥Š"õZ«SU×Û»HhuŒ!}­ ‰Wlr¤_¤¯ˆªçqq ˆZÊö–v—ö¯YæVâ IÓµ•`ZΛƒé®O¤ðìï'kri‚“;WYüštü–S+OI뀨zg(í.í/tP—kC#|®³Ó¶8±¯Ø½Å&kø1{Žºç kYæ¦(äÄOR 8“Ô¤J ÕhŒ!õxq!ð²®4ÿ¿Ý[m׎áE%‚,kR$E'2Å¥¤¡-ÇÔ4ïÑjC*oãqÁvÜ6ÖÊ=ÊÖÁ 5ÔR$…b ÒCML!IZÕCõì!d¥› ä×J1 ÚCm’BGI«‘z…õ¢Ê9!=ÐólR§ƒÚ*ÜjûMAŽÇy0Pš¸í¼6°Z6ªH ™Ë÷lhÙ ÚÔÒ‹þÝw,Õ¤10Ofš*cŒÖÈRçÖXïZ‰®»„—Ô˜/iCSS"!ÕÝÚ<ךW¾«t <pì UÙJNòúªd¼žÓàæ¨"1ªV÷è/xjŸû=:Å©é#L!g; h]Ä××WkÍŒ!­$SØrMÂÖù#V^ä~¼ú:9öÛ)І1x ËßȩЖÏU$FmˆÐ‰FLCŠSv˜ØëV?)W[úù³Ñ,ÝNÚ¦ÞYHï(œä†ÑøøxÅõNü(kžÆ-eìõň›TVZ@µÿJ{èï•!£œ6Rgyã0ÍÝ2 L»ð¾…KŽc2†œK6sÛ²ÜuZ¦,Ú±7áÑMZ,£ef•›2øçV3ÉmœZ3H5æ–k{ÃÂÂSèL_Sî*F]ñjJÛP?©«~Vö¯4wÝUQØ_ðT%O]’¨%)‹¢¸@g KÈÊqÅΦ“°v<°ùG7v¦—a@{Æ8V¦§pxÓµB Þ>ÞÈ¡±±¹ÿ}S¯œˆË¦\‡g½5[öÀ –ú´J|ýç^gÍ1%œ˜•§»“o9ñg$¼ÜC;1oÞäÒ¢€û©4 †[:·¼Üṿ»ç¡¿K¸H ¹’XœõŸ4©øíÙ´3n¾ ]¯¾5*‘zhÐôtÚ—ë¯+PÂÄéåÑãêþD“xR×=Û×`þ§?Ò&¯–¿ø‹Óã¹ÃhÎwV޹håµs›„˜ÇÒ6ÖU˜€×#Ÿ–>Å^p>ûCAÄùÉyzñÌ+–k!èѦÕP i 1d²s-&tíƒ[§Œq“®ÅÍ“ÇcëOãœÓûãÚp5óîg9Ï ñÅ7Ïl‹½T÷†W͉weÁœveu‹æ’­¤«°`Îû›‹hIïÖ[oD[@ô^i%¡Xu´"(6#¥ŠØoÒÓjÍê²éTC}ÄK'ʺŽÀJyØó0sìPü˜iA‡׉oîéš=,mð.å«B¤,“|kpªZ:—2èþÊú¡+®n®sÿ–ŸpÅe³”•×[·¤.i%¿ãé4B§ºIÚÂF‘‹Uö•·ô3ãű>hh@‘ 3óvc–—O¬ÔÁƒ_|ÿ+¸šU)!Zø°gáõûFbãÈ›ðçÿ@BL¨Ò?ÇŽ…žïˆI£ïÂΔ¯hÔ‹—<²‘ós2q8- ~Aáˆ‰Ž æÉ‹ÕÙ;ç‰ Mÿ@e§ -»mbHË}Vªi>ʺÅþ”ÈŒƒ‰6¢z'ö§ê&e ¥ b9óð!dÑ zxt "Bƒhω–þJ Ùføš¬Ø·?1ñíàÃ-Åel)a@EÜÕZH'Jñ–÷º\AN:¾? ¼zûõ,O¼ŠJrAJòA±ÇŒ‹o Z WVR„r–ÅßÌûÀ÷ï‡WP$Ú²þ¥…9HNIG`X4b"i¤@1f•<99¥43K8!.sAÞ^ ŸÔž¥l²§Ë ¬¥§gÓpZlƒÄʈª^›ý0„2úHfRˆ‰†½4ýä3†v4ÓØµ÷÷Æc‹Ë±#׉poÖGÛT­Kø<îœÛì5®`ª”-;¸c#f-¥Í¢G¦!1.”ºy 8àƒëgnÄ— …˜”2³k_ûÓ§šEó+&£W÷NxbÖ<Ú°¥‰þòtÜ7í<ðÈ?på%£púÁè”p!VmK†¯¿?2lÁô+»aÀiƒqÖ¸‹ð4- £¢ˆ_ö¼¶|òÖ3èÔ­'®š|1ӵË~ƒ7ç×/ÿ^{/»g Å{õÌØCƒhb6fk:¯ u>ÍZͯÉWg§µ³xiŒ4qÔÌ]ú¬%9xü†1ˆoßçôéH&‹å›*0«—~„!ç_‡»§]‹Ä.ÝiÖf$^›=×]Ô]ºvElT¾üU»ç"ÖÓ'W±žÞ‹Vjölvê*»i¢T¸š¤ç¿þx½¬¥×T—ÆúÉæ:16!’@–4vQRüc Ã;™ñÙ¦~Q®Ô¦'ÎõF‡^KÀârX¢âQ:FÓØbðt5ªRÒSiï)'[î{ÚÅEÁZÆFs²—Øö'‡­AZ.­ÆÅp{® ‡÷üs/½/ÎYˆ=ëÖbÃò¯ðꣷá«å(¨-[‚wVfáÅwc7-ž_Š x燵¼áƒ'ÎLJŽK±fó.,¥™{GòçØ@ó~>F¬ûù3Ütÿóøò—?°fí&,z÷%Ü9å|lÜ? 6ýô!|º]†k~BE‹_h<þï©çj‘ l(qTéëÿG©@dIƒ—?n~â1ˆmÙ –âÊá½ñÁs·ã‰õ°çH.ææcöôxœÕëYö[ž‹Îco§Ý« ¼öPÜqË-8oÆ\ä¦ãÙ›»ãâ9KTA~z$ºYOü,Œÿ×·*ÌÈ^—HV¦@×ÓðÓž¨§µt•¼þh½¿>^ØXÜÕ݈ÑÝÌøb£ ýa§}-àÎo¬JÕzrÏ’³þ%$ ‘Âd¦#¾JÞÜ jV¥¤f¬a{N š~£¬„½,ÏÜ?_lðF· Ø–ü°b3ìûiŠÝ0°GRì‡)0÷_¼ýóLKëß$°'nGÿ THK1áÙ©ø•Ö\š’œùYæÿxztŒ!IÄâ¶‡ÞÆÜ‹^ç%(%X½èet¾~&âC¼i¡/ÑÝú¨úÿ¹{:òî?`8î¸ùjÄѰr1ÍôÇÒêáŒ#¶k­bS¶&}JA¨ãô ¬~xT„bŒ¸Øx¦ÎÆõÏÃóï}{!’†eÄIر?›ª›À›‚khû–Óøè;l8h½—?ÂzÑ4à¶íj¦fìocs‰SYO?˜•†LZO?#ÌuIPY˜…Æ×ʰüÓÇÑkZÍÖÒOë|6‹è*¨dÝlŽ÷šÀË(5Ä•/ó8˜|°Ê†G6ÙÑÇGÛ²/*ÔCdŽQ8Æã˜¢Œ*¢r¥qýC«ÙÊsòÕÂä‘,¡,ÙFdæ” æì–(¼üÁ ¼æÃE ý ûóH4´FHó˜À6<ñ÷iÈ.*…“=nBìXŒOëá6PÚÂB"‹æ4(ÅSTVøð–¥,IDF…£œól&„…´A»xŠsŽMÊí±sÞܹåk~üÃb0zÄùÊ¢Ÿ5Š>ÚÃÂqE1 Š9 _Æ2¦Ñà x#ÿ––c*ÚÀÊËA¾¿ÿâsøâ?$êâR´KLÀø+ï@OÈü&ü©úñIëÓbeìHdôÊoma!™å%݈!ê뮵©šõt[Þ/è9ª²”$>±M[bï‚??¤µôõ±–^™¼©oÌZ1X-„SEþhŸyìdzX  1F%!"(Ù6S™˜ÄŽÞŠY¤½€¿’*U#cHG+óÙÑmÛ*DÓžr_þb\þàl¼vçD×5ÅX¶ä7t¦ÃÃ9(¨ÒÉÊ U¥ôûüDbØÀÜïSþÃË/;øœûÂ,\ynÕ)e¦`ÉŠ ˆ‰ CÎVRž£ª§tèz ¤ýBQžw×5Òzúr7ëéW~KjÔñg’Kkò~ÀÕÌÃ;Ó¯¨ÝZºž¦©O)« Y2Æ[·f£6+XÄÞ!‡Å³’Rxó‚6˧0B¦•³Q\"—¤&á$‘‘Y©ßÒãÚ¸e"2¡;þûômxü–KñÎÇ‹8Ã’†#)ðùû¯cô¤»Ts”;Láû||µt-§øjþÿìq—bó¡leu7CÕ”¤ ùN§ksŠ€;‡—¿ð&v§d"e×&¼öÈÍŒÀË,8íâ§°à±›¹f²—=•+¾ž‹Ë&OFgIL±yTƒÊ Y!íØ„—_y“c€R2–6eÊHs„É»Ô^*Xâñü ½0é™ÿb¯6³eáݦ㢋…“½ª“R‘1+òqÈíµùîߤ¬t«Z«)$W=ëÖÓ'Ñzº‰ê™È?å’ó8ñáƒaW¾„÷y…@}¬¥ëIýtµ‹p¼;šÚUc…?¨IOí`À ýø±€ @¢7s¶jUãNœ²]p;/6ƒÄLDì±fû]Æœ°F‰¡u\ãäø©÷â¾mpýõ—«¢Yø·4|0æ~¶+>GSþåh7p-q¿‚‹®‡7ûöÃ6Þðs÷?gcÊèÁp”¤…ïn”42P#æÙ¿XüÛ`X%_¦½´{&@ŸÎo¢}ÏÓ0jè ßC,t0xìUx屜fôï×ëÖoÇ>þ»Äâ—í&t£¡‹`eM#/ã {ô~Œ¸”wR¹µÜ´( ÿkÆÞ½¹.£ÍOÜøäH»ûjtŒEvNl±ŽÂÊm_!˜Áƒ}ÎçX„yŠóòäwtå·OºöÉæä@¼òÉk8û² ðÊÚõô'ß õô[ïÄW·B» xt:ó ¯5–qÉ xç¹”:­¥7¼Nµ¤pC”¬[ȘALÏ oDz‚×3Ñ€µ“~v #ÅhÎF½<÷š0Úƒ¿;Äj CiªÞûñ[g¸Z²=•½ ,p:Tg®¾ð%„,†ŠE¬ædf -#F/_´‰‰F0Íß—–pŠ‚c-“{qŸ@VÆŽG ¹ŽŒè¨HN¸rƒjr8r 8Ùîa'âÅš·,"çesýƒw÷†¡MDˆ‹˜8¢U–Ëi ëHê!”ډȰ e¿V‡fËÈ´²Ž1ëoãtr]ë²X–‘‘„„e¡¯ÖÆaÝåâxUnJEô´Úž|(•ë'&â –c0Q¶œ¬U7–E¬±‹“ñIõo%©Ü"®6ëéþ„'*¦\€£3Y}¬¥+ Mø#ý•ðt9×(&¾cÔì2Å~áj6ñg£M˜Ðß„÷~³áÆu¤^çÅ20ùC+~çà¼=«íCY™mĂӋx5A9JÊdñµ …:ÉIk‘Z©¤qt#ÊAám)=4 A +SÕR×𫲩°œ¿Ð.ÜE‰ CƒVbÕœ±Å0±7í§ÒSõàYÒIÆÂxbìÙ‡–Æ“‚Ãx*“’ “¼,CL|bÙpš¹|QF´ýZ: )N%Åô}³ˆs櫬§k U f ÚuèèòÑò)&®ð¥ô¦®é[á nëé>ênBW»>ÖÒݲjò+ûµP'X.#žûy;qÉ";’ȯjÆ¥ƒ¨IP}šü_§9ÑÏׇ(ãÒànÒ§É…9‰êd )—Þsi½¼xh¥aÕÕð]¼m”º“pWT´Ë²¹+ÐÝ¢¹Ä“Ár9â$•ÜE§Ò3Lœ•wfèNüÅ ñËOÿÖÂeÏUu?-DþºÇu¯ŒQõ;º–Œù¹»JRwøµKéUÙù”w!ßâôwyj°58:­i~*êqû#ŒQÄŸŒšÔ>)–¥g“/üÌoø~Z’7lÇ×)œOð7 —M.‚AÝP"c“ª(:nå<Þ€ÉzT£h4©{IKV¾ó­¶†;Ê_Þ-eõ𪡠€[G$;wBf=–;ª\Õê[™^¹ò‹%®ó[àºGwÏÇý]‡ã×=—æ—ÎŽkœ‘I͇šÝ³ó=‰»gÇ-´Ã*T1™A¦o³8M%7Èr"‹ñ%ró—èdA¬7cœ¬6w¾Bx2ÎCJb"_ï­›;Ÿ–O“vZÇ¡ÐBéò_õþ$|VFå;óLårkÍ\Ò¯‚½9+(8XðéÞ‚®†kUŒ!L!Œ [Î: Oïp¿VkwD‹rÞ²!P üŸÏgÅ+œ¼Ê¸Iè?‡*‰+ܯ}iFLjSˆ¸ë€÷ŒË…;-Ùµ*ƆJ$Epp0¶ð~oa‹ÅÒê%‡0G¹ÕS^ :iü˜êTuÊZw1‘É«ü¼¸ÃyjÇL=——“r¶ÒÊÁ‰Îl¯%ºùn‰¬^f]jcCäç磸¸¸U3†û¸æ…ËS‰27ꯎÀjßÂ&®~q¿šÜ»ÈÉÈÏRÅV'1ôv•J$G·¸ëÌ¢‡µîçQr¢èàL"“É6¢–.)ôʶZÆs¨£¶Tª«Îéèi}ÏÆ ´T¦VoÕŒ¡Èžª€‡)*;€ú+Q•iþŠo-^í¯Ø*ž:t xã¤7§§"<Œq*¶Š§L'Æ8éMà)À©ˆcœŠ­â)ÓIÇ@«ž•òì“:éô×à¸/F68q´ZƦ3â' Ñ hOÔZ0 m&ßjk3ñwSëTLÓ×*Cgм¼<µËVvÛ*Grɯ1xô¤9PëK®…Ùã¨ö¸Ua6—\ë ÎÊ—òÓËOœ,ä6`§Kë]à“žE¶žË&B???µ¹PG¨çyja@:.ÙÏ&íRQ8éà$¬´¬E…EŠ d›´­„•Ð$“ì…óð‡…Æ5ª˜«TÃËI“š˜Ó6œ¹‹¿Êxܼ©ÂmÚˆÍA;•1––¦˜C/£ÎBüò«í® KIIQC. ª/sœ”Y)QûÄ`ÅB324ˆ •v%g¨kôŠy×¢ò»‡+»WCß%/‘`ÚmQ'aZîÖ_ÚHˆ]T+Gèô"þú¤Šî'áOâKxuzª w'˜1Hh4·#ÖÄ¿œýî¹{>ø~OÉ!IaÒŸXèð£°Wé\®UT¬Œpï?Ãui£“¯~çDM­Ÿ.fsŽÀ^Œ#{ne8îq§„Ŀ릢½¨N¿þú«zº3Ä“ø¯>î„2†Jˆ:ãÀ,Xô;Æ]|>ÞûðKšÛäÀ‰S§¢¾ˆi­ ï£áæÔôU‘ÒÒ2õ”Kb¼x(FîËØºu;2s <½bɤ\NÊ4Òi hÅü—oB¿™Ÿ+cªž¸ld®ždÅ€X“Ñg¤íäÞ_$ûË„ÅIDAT|gžy&^xáõ­wªO⋆9–ÓiêXñš%\z`³Á†+¿Ã–îÓððßoCîÆO±qG² :øßŒÌƒ[1cò ô0#.¸÷Ý73~…&]xìÒÁû2f?[後¹ß®€ö¤|h;õ‡÷EÌÙ)ãÂ2ƒ×‚vÚËðÕ{ÿÁèa§áÖg~Ä”Ná Jß,òi¤£Õ%€\6:cÆ ìÙ³»ví¾}û0}útu ©u«§©+³Ç¬„Ñä…²‚ ,¸ÿ<:å<ôî?wE«·?®¤…mÅ–·…÷ü'à-»±ø£‘µä=ÌݔϫLX·ô3ÜxÿsUî˸}Ò8¬ß•¦Æ)q‡â…;†©Ël”À~ÁÅ*~ÞoñªXVX]É…Ëô÷úCôÄ<ÐU¥¸¸8Ü{ï½*G+Ê­¼÷Ýw_E ôxÇx9aŒ!–üÀ«ÃVÿú½*Òÿ=pf–ÒÜ €ÃX¿u/Bã5‹]¡aÁ¼/£šÄô£áçNÞ©Á)¸RG¶ÎwnvÝ—‹ñç]ˆÈP5?í›±²e€úfƒé˜œ$ÆLœ °Ž˜‰ñ¸Sº$§>Ø&pÿÖýR›ÂbËÖD"/ÈÜ…—{3g}€KÏé‡ÒRÚ­5ÚðÞÌA˜óÝïvó@Uö‚üBøøF±—v";+»Ê½•5säÿŒ‰3fc–Û}¿ý¼‚¶mcy‡箹6b"E‹‘e¥J5jgS´KW4u§B\øõuõñ„Œ1œÊ²¹Ûÿø;YÂQ瞎íÛ¡C‡HêÒ £¯ø–ͺ‡Š,¸opñÌYؼ;ëWüˆ{¯¾¡yÿ…/Oxó«Ü—1®œ„L^Ýe¡éÈ¿.Ä›si—¯“¶Ì.ì©«’ÝyÃý½¡öÄ?!p—’aõï†âøK qm¶Ò¬§5aú¿Ñ!"Eż–aE¥Ftê5}YòGŠp×Û`»ï êÝ =xÏݰ›¦bë®"ÚS†Œ›‚W?\後٠~ÀîqÊjzêî¸ÿm#®¼’W ‰Ù¼FŽ ìå¹´Ëêfˆµ‘pÚžø Ç€»„Ôò-c }LQ=¼¾9Æ`AeñÎÆýŠW=ø®¦ºÃÄYÞŸ ½:¯ð ˆJÂwGŽpɾ›6nÅä‡fáþ—ùÌïß¾…ÙK¶Á(ê˜O¦ÜùÎ½ìæª÷epýBLÖž2‡¯’{7hqÄ̬î˜Æ?²;:‚*Ó7NÃsö¤hô­"²ê£> 7Ü ÞÙ¼qøí·ßÆUW]ÅÛ…ã³4üñg Wi„H}¸o…»¹ÔŒ‘{!…ˆ½xí±M=ο}<Þ±_„oÞù;l™{pá”{1ó¿ H&±r%»‚£ïËPÌ'ñ8Æ `£qý›0é¡wÀ›ï,oxø¢1Ø<1it‰ –%“““ÕÚÅÃ?Œ§Ÿ~Zmqz¼ú–ꄌ1ôÂÈ=5ìÙÓÄ%‡Ó€G¿ßˆ—nê‚§º/ø=þóþç¸þ‚3à´ÑŠ6¥Œ©Ü—!ר8È– ë„+÷nè=ˆžgcž²ú.·yÜ©àåø€¬v'&&¢S§NHHHPkâ/NWý]Öðç„¶¾{᪗EÂdý!$º®ÿÛ˜rëtJÍhzóZàr^Ý%•ÓRÕ ÇIªÃoÈ·.qjͧ!À3%Oßu[ŸN¨*UŸIù_qµ¨]úw}Ò6&Ž>{ј´ž4'ÕÛIz}Q“ŽpÒF¤Ð‰8ñ—E^yŠ —x¿>ÒBÒRC ¤;½¢ú÷ñx ’d¾œÓy<òñÀl„)¤ÜÛHÞEui±™÷œtéÒ¥Br¸çVTT„;v¨óâ¿Êyq÷ˆÕÞOYƨVÎfÿ1+‡ëEÄ Ò•ãd–ÇB³£ºÑÕ´Šk\)Œ íå>þ¿ððpÓ¦MjJ?Ÿ!žÂÒ¶*žÄ¯o‡Û*C#=‡Lå¹®ot zž STïñÅO˜C˜F¶žË™ a‘2Â$rž_¿»!…l•Œ!Ò™£!ÈòÄ=ù¨©Çæ™)]z¸—R˜D—2îþÇzoµŒ!ˆ© ÉÇB˜'üÔÅ€Cæô«;—*VÝûXß­š1Ž…Ox Ã@#™ ¦ZžrÓµ5ÒãçÁÀ‰Æ€‡1N4Æ=ùµ x£E4“§'Æ8Ñ÷ä×"0àaŒÑLžBžh xãDcÜ“_‹À€‡1ZD3y y¢1àaŒqO~-ÆhÍä)䉯€‡1N4Æ=ùµ x£E4“§'Æ8Ñ÷ä×"0àaŒÑLžBžh xãDcÜ“_‹À€‡1ZD3y y¢1ÐrÎcèÆ›qÏý‰Fv£ókæºóÀ›2ëÛèò´ð„BB.£"µÖ¤Å0†œámµ† Ø’b@¿C®ÖÖ¬G€0ïïáµ •×tÕ#Ù_&Š:Òì0À*æ“ëèd[cHeŠŠ‹ÔAw9¿Û˜3¼-µe¥îòÓ/~~~M®»™w&g;p0—WäØÅÒoërf“mCìhf¤uËÚ9ã”g !ŠÜÜ\eé!&&¦â–Îú6§ÎDºÁ.ù–Ûaµ{¼ë ¥ùâéå‘zÕ×Y­VˆõnÁƒX5ÑaÔ7½ÄI!L±r¯söðš‘Àšq»†À©o\¹,ˆ6V+ÏÕ»Œy«zKÕ¥ƒSÀÜÊ T<ÍWÉÈú£¨~ÅR ™/φ_›XŒÓ;Ò ¿Ý-7(§4c1‹m ±ïV솿êÄÔ‚lx.Ç'…Ô_¤ÅÁƒ•$1 #Ö/êë„)ÄFur–oï @Œ?¯…¦*¥¸…@x¯Y¤iNhN‡!ù½,08xõ¯hg0yÃh6ÂA«€ÂÞ´k¤‰M§Ý¦ê"i†ÉìÍÈ4·é°BŒHÿá[`5ÄéiÕ“žÕi"üRˆvá&^-§ù»Ã5Ÿª„¢™;A")ĉ_}Ë+–Ïåšâœ4|ýåǘóþ§HËqâìqçcÒ䉨=A ¦Ö$U‡ØS¾ÒÂ.§…k½KE®þ)¬K-\’hå—PAºØU• س} ÖnÉÅ„ £àÍ9ÁúÔI#æa> ?ÿz¥s]•ÁÄkÛ’³©>ɽ$,L‰Ð«Vu=Z³=”FûÖ!ùn1ÊʽÓo4Úö‰èÄîÊæ“-ÿö¬Y†¨cJ{QJ4#R·,AêÎmhÓ{4¢Ú'Áé²eÜ,…sÕ×›’ÓFi&øHˆ }dÕrUs8e§k1±IÅÀ–ô˜â*²jŽúR„D¦È=¼7Ÿ‰×Ý… 7ü ÿ|ú^8|A=:bÑïÛ" L³N'ÒI~*!x²¼ë?-\ûb—Ñk錊™4?…1u˜â'nß–Ÿpåe³`­‡_QoÁƒàCr©/.T¦ê‰ÁfB™Ã¨ò¶1ul‹Õl?ª¨N^Y¹ã|pÛ@,{ûsÄ}3zœr7½‰/§÷ÃÆe‹Éœf”¦bÉKS‘“™¿¼+eý,˜1 û•ÀËòÚš·Œp«º²î¥2'>¤s¬É²ª”N\òÔ‰ª¦ íÇŠ’HÁ~`îKwàÃíc°ãÐG覢Žs.{‰ÑúD)Ú€6~$”Ò"ª)É(%¢bãÛ"$ÜЕ•QìšáG¾”KIœf´m 3Á;#)ûq(=aQ±h%¬¦åï´!…ªO­ÏǦ¿ECµÅ$¶WµÊ¤Üq¡ã§É³—Pm¦°V <WÍáD=òAYîüzïx„Œx£®Àíâ–¸þ£ýÕãXñÒùOJC˜Ÿvo…ÓHf§K]û¾ù¿ëÐåªw0hÂ5Tõì(çý'Òy5·ˆeRÿšyBewÊJŒÆ"C ÙÛ_ø³=®˜ÂA]V®D†ÁWÝû.}ýü|ŒÈ:ð'&õ@bç¾Þ½ BƒÚQšlUÙ¯^ú!_pþvÛ5HèÜ;ÄáþçßïÂdsÙð݇/#*>cÆE‡ø6ø×ß2¥9)xâÖ‹ß¾#ÎéÓ‘c±|óAÓÎ rp@Ó»•Ç ü#ãa^_Žr8åŠÁfý ñ³ÈÜý;³N.¼– `Ž‹ÕÏjGüˆ;áǰƒ»¶¢Ì¦uÞrxý'Š)º]ÿúŒŸÂ1‡ %edŒãQNW½‹X^5?P þÿrŒ¡÷…™ÙªÊ]Û¶ÓªNQm–Á%PxlGœ?n4©k~ý¿ø´ëCÈ*)Eº³³? ã_—Y`+™£ÓÙ×¢°¨?ü:^º*ö¦— eÓÏ8oÊßñî·$„ä,_ð î¹zÖïOÇ7sžÀãË"±çH.§Eó1{z<Îêu ÓGFÁ"ÏO†c¶E6m_˜Bæò›9Èlìá óRX³q°„†£¸¤L te°+WWÛ}bж§ÜUQˆRê’"4’Wüßýãr¦Žö§_¨$qI™CI´æ+›VW©¯ú‘)„1tZ©©)NYUª¦Â6ÄO¦d5W—(6à¼ßÀ–r ìÇÁ¬4d8qF˜ôk¼kÁ.·ð\ƒë¯:þìBŸ}–ò/&Ó¥ý¹ùL;XÝÕ7lüÕXº¤üKáÕ{Þ³s>ƒ½ÉGØ{òöY`vìÏV넬àœÐ?¢9%¹$!”Æ©£©‰…0&¶ÉÍE~jÀJ&”ŽH9ÉŒê‹x” 5+_¼(8w~ú:^ü8ñ8¶üð)z_x ïlgŠæF‘ª¬”„*‹”£ÊÆÏZÈã/Ë‹`…¥š‰u?"S„é{6ã­ùßâšÛÿ†ÂƒÛqÕÅã°!#c.[Þ/è9J¥UsñA0ŠMT¤m¢ÑÙHY¹‡ ±ÓYœ’TÛàä²ÃGœ…òŒÍȤ¤™÷ò Xø¦…Å¥h—˜€ñWÞN‘¸ÅE. Þ ûòVŒ¡©RŠ&äO3FÀÄY%»ÇÅïqAv N×rrC2à ÜYšôM@ľ”$Fò²¬Ž×.Dç‘ç#¬Ö¾yBz#®WNëò"RŽ=šÓI5ÕÌ!ÛçñPó5oÎÍY‹ÆÂrõ !mqSàßó¿QÌùq“b »øó—ñÈC?ÂZœ‚¿ ‡ O~‚[¾ûb¸ùü‘G™«;꺺Óg‚Ì^FŽ¢±gؾl?3ù)øÏë³±á@‚™dÆ3¯à×+±~Ãz|ô櫸qÒXÄĆ‘©Ø"Ô«ké¨ô¬ŽËSñ$³/WÌáR£ä›åmúω2+¥@D/UöÔ?×òŠi/Ž;¼8  [رdm[‚|†Åuã×8øœÐïFö½í‡À¦ç¦ ëHlFoŽC8•Ú,eÓê§KJiöeJ‚ªÂÖðç/'1„xÕʶwnn.ú; FxãöÉ"ÌâÄ/‹>âàûm¼óí$„úb1‘2ÚbáL“[×,áÇL˜&ÿ“ér\G©èP]½½ÝdA÷ç7ŒÁ'‹ÇcÂÐÎøì­çpûŒW°;# ×Þ;W=õ6Nï“„¸Þ}a:îxvríçsÀÇq¸ÁÔó9O©ˆcˆIps6“È຀,Ö£"ñ¢[±çÍsxÓîB„&öf?Àu“˱ùõë~Áløµ‰Ei¶ŒE8;TjE) ã4E¢Í¸ÙHýÌñÉkè3å!H¤O¦¨ÈMþ£ÕØÄòÀÊ÷І=ð)»ÀwtQëïÃÎIÕ¹ïȉXõ ·Œˆ?x«šÅêý…ËpåØ>JÄ/þxνâ¼üP´í3O¾ñ*n»õN|uû¹h‹ç†¬Qˆ3RèÓ£“ZKˆçÔWdñ£¢[×DlÛî‡E+¶ 1" ÷¼Ÿ‚ŽÑ¡èÑΉ-ÖÑX¹í+³\r¢×8.Xj ÜõG-f’/­œí‘Þ³Ò5Wa¨«,;ç)8ý;bï/TYPsQÒ!zâûˆ9ãr5]lsúÀ§MwNÕš9Ц V^cD$Ý9Û^„ÃýGs‘ï &”.ªyÊ'| Ìò—õ×wéQƒ3|òÉ'Î3Î8C rS °šÕKz YËÈÈ@BB‚Ú+Õ  ¤wwtiQÒÒ³1„EE#,H×j™L!*ãðAäÛ×\oÈNOƒW@0×¼¸Ļ޼¹!)8¿g¥6™ÌJŸ¿œŒ#È-*Cáúù¨8Ñm¥H>”ªfeÚÄÄ®ÀÐ,ív^tB˜ mn¹dqß¾}ˆŒŒÔ¶Q¸ê'å¨ËÉ`××ÇïVyãòUþê@™C'”ºÒ64L[|$éqˆ¬hü# ¢áHÂt¢×ß+ãk°ä[÷ÓãjÙiØÕ˜Ck ñ§ÇWÏ Êo-üDüU%"ÍÊ:§ì*Wµ”ÍU •© „zôdWqÒm¹ûéï, rú·ë³  ’&%tâAè¡6wÊ2†;ḿ×V‘ºüõôGµ‹+‘„»7_‚ÝßëóíyT:Ý_¡¶rTÆ©ùͽ,îï5Ç®ÁWt 2„Ý5Æ:×A5h¨—äàŽÙêék «Í¿zú† d»”‰“j[q- NÙÁ·ôÄú¼2Ìd¦ª?¤Õ‚£“î­×[ð !¿†)=".È dj6­×)îú$ÔLO§¬ÄÐ[Mtú´#iHäášÆvµ:°úÔë-xÐÇ8 ©Š ÍÁUçöÑÔñ¹Ý"ÇjB——+Ôû†káqec£‚Í’öÑåÄ ' jàS–1ô^QîoNIIÁŽ;ëÚRÑÂ[§Å—3)©©©êlJ\\\ƒ¥…4¼,ê%ÆðÁ¨lLù.”ÓTÒô2kmŽãn1þ`lñaTx©‘1ôÞHÐãþ~*¡+::ZMÛnÙ²E©Sî^÷÷S©ÌM)‹{;È»ü¤ƒ<4Å9¹…~Ìr,‹:ŒÝ¹*MÉQ×´)yŠi…Ì^6$µµ¡[G ë.CÍ£¬*C×eOµJ™¸¿INñEEE©Þò¯È µá\˜BÆZ‚ƒ¦Ô[´^O&óF¯ÎfôJâÑQžÑ£f⨭L-Ó_›ô0r—µLÛ¹‰QᣖÊTaŒZâœÞBŠ@¸Ï¨–ñÒ)QÎf/„Œ•å_3tíš*-'ùäÍGT„V…Kaµëšƒ+YÃÒðQs‹ñˆ7´ ‚èôgÍQO _µâÐ:¸ãˆn­¹‰­‘uqƒÎ2Ë!æYÄ5G¯äÛóêÁ@‹Ã€Ùzc–õ‚‚©ÍqR%9Ñ™hëÇ-žÿ…0À‘DÃkÃ$"ä'‚Bìw™}}}ÕŒ0†Ì|È‘’‚߈D ¯†'…ÍŽ¿ÊO„Dzzºƒ6)I±{÷nµkSD_enöÜ==81 ’ 'òóó•žP³Rf3íúPŒˆ¥;YLK"Šô¨øq«°“£ùŠo—d‘tº”ÑŸâWÛOðâ¦×ôt÷“ww'0êrÞ&êªCK«žkkwý½¦§ø¹ûëß5=¥×ý©¿ëÁÀ¥o#w@ëßòA *”ØcvÂÿ}Q%îRŒµ˜IEND®B`‚traitsui-7.2.1/examples/0000755000076500000240000000000014046644526015625 5ustar aayresstaff00000000000000traitsui-7.2.1/examples/demo/0000755000076500000240000000000014046644526016551 5ustar aayresstaff00000000000000traitsui-7.2.1/examples/demo/Misc/0000755000076500000240000000000014046644526017444 5ustar aayresstaff00000000000000traitsui-7.2.1/examples/demo/Misc/index.rst0000644000076500000240000000030414046644454021302 0ustar aayresstaff00000000000000These examples demonstrate two useful features of TraitsUI - Controlling the height and width of Groups in your TraitsUI application, - Spacing widgets in your TraitsUI application using springs.traitsui-7.2.1/examples/demo/Misc/using_springs.py0000644000076500000240000000520714046644454022714 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! """ Spacing widgets using springs *Springs* are a simple technique for adding space before, after, or between Traits UI editors (a.k.a. widgets). By default, Traits UI arranges widgets immediately adjacent to each other -- from left to right in a horizontal group, or from top to bottom in a vertical group. Sometimes this works well, but sometimes it results in widgets that are placed confusingly, or have been unattractively stretched to fill available space. When you place a *spring* in a horizontal group, Traits UI will not try to fill that space with an adjacent widget, instead allowing empty space which varies depending on the overall size of the containing group. """ from traits.api import HasTraits, Button from traitsui.api import View, VGroup, HGroup, Item, spring, Label # dummy button which will be used repeatedly to demonstrate widget spacing: button = Item('ignore', show_label=False) class SpringDemo(HasTraits): ignore = Button('Ignore') view = View( VGroup( '10', Label(label='Spring in a horizontal group moves widget right:'), '10', HGroup(button, button, show_border=True, label='Left justified (no springs)'), HGroup(spring, button, button, show_border=True, label='Right justified with a spring ' 'before any buttons'), HGroup(button, spring, button, show_border=True, label='Left and right justified with a ' 'spring between buttons'), HGroup(button, button, spring, button, button, spring, button, button, show_border=True, label='Left, center and right justified ' 'with springs after the 2nd and 4th ' 'buttons'), spring, Label('Spring in vertical group moves widget down ' '(does not work on Wx backend).'), button ), width=600, height=600, resizable=True, title='Spring Demo', buttons=['OK'] ) demo = SpringDemo() if __name__ == '__main__': demo.configure_traits() traitsui-7.2.1/examples/demo/Misc/demo_group_size.py0000644000076500000240000000666214046644454023222 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! """ Control the height and width of a Group TraitsUI does not permit explicit specification of the height or width of a Group (or its descendants). The workaround is to put each Group whose size you wish to control into its own View class, which can be an Item (hence can be size-controlled) in the larger View. Sometimes it is necessary to repeat such surgery at several levels to get the desired layout. We separate the left and right groups by a splitter (HSplit), and also make the window itself resizable. This demo includes a simple Chaco plot for variety, but it is not a Chaco demo. """ from numpy import linspace, pi, sin from traits.api import HasTraits, Instance, Str, Int # UItem is Unlabeled Item from traitsui.api import View, Item, UItem, HSplit, InstanceEditor, \ VGroup, HGroup from chaco.api import Plot, AbstractPlotData, ArrayPlotData from enable.component_editor import ComponentEditor class InstanceUItem(UItem): """Convenience class for including an Instance in a View""" style = Str('custom') editor = Instance(InstanceEditor, ()) class PlotView(HasTraits): """Defines a sub-view whose size we wish to explicitly control.""" n = Int(123) data = Instance(AbstractPlotData) plot1 = Instance(Plot) view = View( # This HGroup keeps 'n' from over-widening, by implicitly placing # a spring to the right of the item. HGroup(Item('n')), UItem('plot1', editor=ComponentEditor()), resizable=True, ) def create_plot(self, data, name, color): p = Plot(self.data) p.plot(data, name=name, color=color) return p def _data_changed(self): self.plot1 = self.create_plot(("x", "y1"), "sin plot", "red") class VerticalBar(HasTraits): """Defines a sub-view whose size we wish to explicitly control.""" a = Str('abcdefg') b = Int(123) view = View( VGroup( Item('a'), Item('b'), show_border=True, ), ) class BigView(HasTraits): """Defines the top-level view. It contains two side-by-side panels (a vertical bar and a plot under an integer) whose relative sizes we wish to control explicitly. If these were simply defined as Groups, we could not control their sizes. But by extracting them as separate classes with their own views, the resizing becomes possible, because they are loaded as Items now. """ bar = Instance(VerticalBar, ()) plot = Instance(PlotView) view = View( HSplit( # Specify pixel width of each sub-view. (Or, to specify # proportionate width, use a width < 1.0) # We specify the height here for sake of demonstration; # it could also be specified for the top-level view. InstanceUItem('bar', width=150), InstanceUItem('plot', width=500, height=500), show_border=True, ), resizable=True, ) x = linspace(-2 * pi, 2 * pi, 100) pv = PlotView(data=ArrayPlotData(x=x, y1=sin(x))) bv = BigView(plot=pv) bv.configure_traits() traitsui-7.2.1/examples/demo/Advanced/0000755000076500000240000000000014046644526020256 5ustar aayresstaff00000000000000traitsui-7.2.1/examples/demo/Advanced/MVC_demo.py0000644000076500000240000000641614046644454022270 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! """ Supporting Model/View/Controller (MVC) pattern Demonstrates one approach to writing Model/View/Controller (MVC)-based applications using Traits UI. This example contains a trivial model containing only one data object, the string 'myname'. In this example, the Controller contains the View. A more rigorous example would separate these. A few key points: - the Controller itself accesses the model as self.model - the Controller's View can access model traits directly ('myname') """ from traits.api import HasTraits, Str, Bool, TraitError from traitsui.api import View, VGroup, HGroup, Item, Controller class MyModel(HasTraits): """ Define a simple model containing a single string, 'myname' """ # Simple model data: myname = Str() class MyViewController(Controller): """ Define a combined controller/view class that validates that MyModel.myname is consistent with the 'allow_empty_string' flag. """ # When False, the model.myname trait is not allowed to be empty: allow_empty_string = Bool() # Last attempted value of model.myname to be set by user: last_name = Str() # Define the view associated with this controller: view = View( VGroup( HGroup( Item('myname', springy=True), '10', Item('controller.allow_empty_string', label='Allow Empty') ), # Add an empty vertical group so the above items don't end up # centered vertically: VGroup() ), resizable=True ) #-- Handler Interface ---------------------------------------------------- def myname_setattr(self, info, object, traitname, value): """ Validate the request to change the named trait on object to the specified value. Validation errors raise TraitError, which by default causes the editor's entry field to be shown in red. (This is a specially named method _setattr, which is available inside a Controller.) """ self.last_name = value if (not self.allow_empty_string) and (value.strip() == ''): raise TraitError('Empty string not allowed.') return super().setattr(info, object, traitname, value) #-- Event handlers ------------------------------------------------------- def controller_allow_empty_string_changed(self, info): """ 'allow_empty_string' has changed, check the myname trait to ensure that it is consistent with the current setting. """ if (not self.allow_empty_string) and (self.model.myname == ''): self.model.myname = '?' else: self.model.myname = self.last_name # Create the model and (demo) view/controller: demo = MyViewController(MyModel()) # Run the demo (if invoked from the command line): if __name__ == '__main__': demo.configure_traits() traitsui-7.2.1/examples/demo/Advanced/test_fixed_compressed.h50000644000076500000240000414767114046644454025122 0ustar aayresstaff00000000000000‰HDF  ÿÿÿÿÿÿÿÿ¹Ïÿÿÿÿÿÿÿÿ`ˆ¨ àTREEÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÀHEAPXÈdataHˆ¨ TITLE (CLASSGROUP (VERSION1.0 8PYTABLES_FORMAT_VERSION2.1èTREEÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ XHEAP°x`N TITLESNOD(HP TITLE (CLASSGROUP (VERSION1.0 0 pandas_typeframe 0pandas_version0.15.2 0 encodingUTF-8 (errorsstrict 0 ndim  0axis0_varietyregularÐÀ  0}blosc úÿ   ™ à’…^ (CLASSCARRAYH XSNODð à(°,` H C8à6h@µXPM (VERSION1.1 TITLETREEÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ p¿™ ™ 8 transposed (kindstring (nameN. P 0axis1_varietyregular 8d X¸ 0}blosc ( à’…^ (CLASSCARRAY (VERSION1.1 TITLETREEÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿézÁ @ 8 transposed (kindinteger (nameN.X,X 0 nblocks  P(d ø+` 0}blosc À! à’…^ (CLASSCARRAY (VERSION1.1 TITLETREEÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿŠcà  ?@4 4ÿ 8 transposedÈBX 8block0_items_varietyregular0 6À 0}bloscÿÿ ð-33à’…^ (CLASSCARRAY (VERSION1.1 TITLETREEÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿYíÇ3333 8 transposed (kindstring (nameN. H(dÌ pBX 0}bloscðÿ 88Ì à’…^ (CLASSCARRAY (VERSION1.1 TITLETREEÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿAFÉÌ  8 transposedè´X 8block1_items_varietyregular0LÀ 0}blosc `D@à’…^ (CLASSCARRAY (VERSION1.1 TITLETREEÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ\‡Ì@@ 8 transposed (kindstring (nameN.OXˆ´`hOà’…^ (CLASSVLARRAY (VERSION1.4h(axis0axis1block0_valuesblock0_itemsblock1_valuesblock1_itemsblock2_valuesblock2_items8ÿÿÿÿÿÿÿÿ 0 PSEUDOATOMobjectTREEÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿãÍGCOLð\Ê\€•¿\Œnumpy.core.multiarray”Œ _reconstruct”“”Œnumpy”Œndarray”“”K…”Cb”‡”R”(KKdK†”hŒdtype”“”ŒO8”KK‡”R”(KŒ|”NNNJÿÿÿÿJÿÿÿÿK?t”bˆ]”(Œa1ed8f2d”Œ8b8a9850”Œeef27646”Œ045f0dda”Œ921ef8cf”Œ2ae9ef79”Œ342b7834”Œa8bd96c6”Œfb17fb6d”Œ36cccce7”Œ79936df6966dd26”Œ8ef1d8a7e09c3ec”Œ21f0e40756e85cc”Œd7cf14b16965a99”Œ84dc0b3e918aee1”Œ3330ad3e01bf7c5”Œ59a69d133413482”Œde66deda”Œ9ce5673d”Œ9d30ca39”Œd9f89773”Œ306b2892”Œ9c80c283”Œ011680a4”Œ1491e629”Œ4fcd75a3”Œ2ae9c223”Œ19adb3d66c301fd”Œ20831a4006d86c9”Œeb3205c71d43064”Œ215683c2c6a4f39”Œb342c27562d953f”Œ9f8e14ea66ce52b”Œ329a0bf86f9f1b4”Œ92d7c410”Œe45bd1a3”Œ98898d2d”Œf24bc1e6”Œa0e78f76”Œdefbbd80”Œd9688e04”Œ706b2800”Œb6c13279”Œefbad3ae”Œ 6fb804a87e4447”Œ51c817e7d97c4ea”Œ6070f4f69ab1591”Œe3c3724912d5981”Œd5b0110173f85fe”Œ94277d9c5cdd3e2”Œ5ca21a91cdcc31c”Œ6eb28adb”Œ960e7c7a”Œ98706d8f”Œ1508353d”Œ1efedd25”Œ1fe12061”Œf818e3c3”Œ140eecae”Œ11d480cf”Œb4c46249”Œ84bb9bda88866cc”Œ27f0a96b9d9846a”Œ1cac7214a365669”Œ92482c9c1acb23f”Œ482fc50c8ed86c8”Œc95791661a03a5d”Œfaaa35fef621d7c”Œ3ddeeb10”Œff72442c”Œ69147c66”Œeabcd7e5”Œ2dff5f8b”Œ64eea29c”Œ536e0063”Œd2d4f30d”Œ3abcde9f”Œ6ac03406”Œ7179fa3389c7cfa”Œ440e2d0c764b070”Œ1c59788968fe835”Œa8448b85ffd23ef”Œceed29d005ffc86”Œa3b419098c78828”Œ6a3d5a98d96ee0a”Œ6483544f”Œe963039f”Œ9b3b579e”Œ12af26bb”Œ7e0522a7”Œ8c4a2a75”Œ55ad88b7”Œb416c89b”Œ4b8fc8a6”Œc940ec0b”Œ 66266cac0c476f”Œfb22e7295dd0edd”Œc9f1ccf7fad2d70”Œ63d4718a15215a7”Œfeec5a632dacf02”Œ83647596e187261”Œe0a5cc72246b2da”Œ886d0182”Œ6edeb4a7”Œ6bdd81d7”Œd7739faf”Œ54310096”Œa2e25bec”Œf8757997”Œ517e19db”Œ6d706a2d”Œ33025784”Œ2994c1fb23c15a1”Œaeb8c8689285ba4”Œc920c9082dcc26c”Œcced3971540bbe5”Œ82f780f24bd49c4”Œ1086d09dec6e6b1”Œf07685910d653ce”Œ65b7c139”Œ667a6ecc”Œ0dd05c31”Œ8db61e85”Œa95d1d75”Œ63c856fa”Œbc851e24”Œ009b7b93”Œc9a48626”Œ34431e8d”Œ6941887a47e5178”Œ1ffad972c09cda2”Œ84ff41168b22f21”Œ5d8bfaec8d175ff”Œda20043f45d670d”Œdf099bf8cd63d24”Œ7fcc9d845df0932”Œeb441e3d”Œ2a9ecd0c”Œacc6e2db”Œee6b69e0”Œ53a1fdf6”Œe2641fa7”Œ94b8056f”Œ559733d2”Œ3ff05a8e”Œ20d21587”Œ2d93436279b0e2e”Œ296ada23a03c289”Œ4f4f95002b4dafe”Œ7213d2c410239e1”Œb644f59352f78ed”Œe6df8bdbaa16c6f”Œ11ba397dbc6bb7c”Œ888fc7eb”Œ52dcffa9”Œ7b8cbf02”Œ6d734405”Œee516473”Œ77e11a27”Œc2e6f402”Œe49b999c”Œ8cb743e7”Œef2c79f1”Œd8d986a8b73f758”Œd38e986edb5fa3b”Œf6ba7216cf445e8”Œ2010d72bff6c945”Œ62ef328f6ddf490”Œ87d451ba1db5c2d”Œd427ab42343563b”Œb1e841df”Œ91642aa4”Œ4ca49e71”Œb6a3b91d”Œ94b8c23b”Œff59cc96”Œ95874ad3”Œ5da6912a”Œ9b78d293”Œ15a1251c”Œc55a9237a0eaaee”Œ5fe701a3cfa0a7c”Œ5d884cb0be16183”Œ5e02402c6124d40”Œ 6cb2a70628d877”Œ463fe196e350f22”Œ 57e002d6ab3810”Œ798afa2d”Œd5902635”Œe774ac0b”Œab797d21”Œ417df68a”Œ69f9d3ab”Œ175a5ba1”Œ5876523a”Œ0ed6e1d6”Œ25456784”Œ4c34dbee8e89dc6”Œe0df53bce8a76b4”Œ1f93303f8844346”Œ984c9eeb0f8fb70”Œ73a649c2ebe0139”Œ cf736e246d43d2”Œae833f18a16776c”Œ2d345ebb”Œ73c4bd3c”Œ6b4b4eb6”Œ5e5b02a1”Œccbe28c3”Œ60ee9d11”Œ4c946f94”Œe278316e”Œ995132b6”Œ074d7761”Œba9a613a5005464”Œa6c83b5cee855ac”Œd45205f44c2ecd8”Œ96d8c458273f102”Œ407a636176a9a3e”Œ6bf038ea85bf0b5”Œ8c802a9ce2385ad”Œ52eae870”Œ48f48ebe”Œe4ef229e”Œ924bc0cd”Œ17524912”Œ8ef21ee0”Œ97db61b0”Œ50ee9ca0”Œbda04fa5”Œfb13586f”Œec2144149efd305”Œ4336a3376b08b9b”Œa98016e580370ff”Œ2a863583d58f9ac”Œ127542d6deb0cc1”Œd27d6d8c0bf1091”Œcdeef37a0e7fb78”Œ498e5715”Œbbd9bf16”Œ12c69844”Œ9a0bacbd”Œc676f195”Œf864fe22”Œ93e10521”Œf435dc94”Œbff11fea”Œ4f8136f0”Œ10aca573c66e203”Œc3f658186c4e03f”Œ898594156be60a6”Œ6dbf79423909632”Œ847828baae5c126”Œ859be0bdae54589”Œc97fe7e4c2fc3ce”Œd6f9d52c”Œ846790af”Œ6f354f8b”Œ9b459abf”Œ5fdb217d”Œa79c2bfb”Œ2fe0ede1”Œe9d442cf”Œd12fb3bc”Œ2c43ae94”Œb7e010b75586152”Œc14f1878e0f9569”Œ700c3cf2903fd6b”Œ1e795c2559f19d9”Œ44ffea7461c1441”Œb190e973dcd8b75”Œ66b77c1a868ec1b”Œ87aad7c1”Œbf836ce0”Œ8cbe9cc7”Œ35547d4a”Œf3879635”Œc41db080”Œc9538c55”Œ213645ff”Œ00ad777d”Œf58e620a”Œa542c3414b83f76”Œ99c684b40990ac2”Œ99a4eb969e9866e”Œ3d3521957db9f8d”Œ5bb22fe79b02215”Œ823fe865d41a9f1”Œeede8cdbab6f14b”Œ0a705b2f”Œ0d4e2e72”Œced21199”Œc1c2e7dc”Œ363f9f1c”Œ7ee1dd34”Œ36414725”Œc843d902”Œ3fc18e54”Œ258d99e3”Œ2e662ab8fbd7439”Œb32cb1cad1dd2bc”Œd86b568750dae02”Œ4cc4ee55f1f8086”Œ9a60dc256dedfa1”Œd1d80899b39da5b”Œaa2c4cbc4746a7d”Œ63268bc3”Œ9027ca8c”Œ566f5065”Œ209702f0”Œ730de3c5”Œ1c73e77c”Œ29bda177”Œ840c798d”Œc936abfd”Œff2144bf”Œc51174519886a85”Œa4ea0153690c734”Œ52b4e1b245c98d6”Œfcac6b0e558fcfe”Œ9352a4858c9b397”Œadd9b44ecd1ee4a”Œ52ba3bdb7f9beb3”Œ7fdc3718”Œ72afca73”Œ1ca4638c”Œ27f80a70”Œbdeb873b”Œa909d91c”Œ5f9cd04c”Œ14438f43”Œ094e2bbc”Œ9630bb53”Œac7f5bd652bc110”Œ111958f6a01fc90”Œ43f8dc38dc2c9b1”Œcb98d9c2baf227b”Œf69b5c7e30c1dc6”Œa4baf239b43df01”Œ87ea6d3be3d3cbf”Œ7efed348”Œ57acbdda”Œ54f8ca11”Œ06b1be8d”Œ2bed416c”Œb5e79bad”Œ3b081d66”Œca71d5ad”Œ5c8ecea8”Œbe175de3”Œa6ed1dc99bbf173”Œ6a7e34a40a3926d”Œc382fc6b5ddb8dd”Œ5b58c1ad9ca2e1d”Œ9bfcf9e8e631ad5”Œ8131bc20fd67713”Œ732251251234128”Œ3904b4a1”Œd9a17f22”Œ51460f7b”Œ375cb915”Œ7deb6be5”Œ140722a7”Œ117ad5de”Œ948f81a1”Œd0f4281c”Œ8fc909ab”Œ7e8ded37c16a520”Œf11df99c117b8f7”Œe309aed70800f2c”Œ7421efe2d5feccc”Œad059c1ae090942”Œa9a652cc419424f”Œd94e88e40d76d00”Œ671904b3”Œ64144c15”Œ0f026468”Œ73a00e94”Œ427ce9aa”Œ2f0fa225”Œ22f12b62”Œ8ccd94d1”Œ72970840”Œd3eed2d2”Œ208a330864b7f30”Œ702804595ee4f3c”Œ9c2d70278abd7a7”Œ3cb409bf2904e4c”Œ6537919ba1aa10d”Œ56a8e4652497aa9”Œ82beb8741531e0d”Œ5b5a438b”Œ18eb06e9”Œb2417534”Œ5dcaf376”Œ5208d103”Œaeb44e92”Œ729c0b5c”Œ78974fc9”Œ6ea3e6a2”Œ48fa443d”Œddb06f725f5f989”Œc099ad4dbb279d0”Œf4693ee3df1a10a”Œ74a45818a528937”Œ57072720c9869cf”Œc3cdb2a75209b62”Œ2a1d397daa57c7e”Œ3d0a67b8”Œc893cd97”Œa9990d92”Œd4a50779”Œ17122e66”Œ091b7042”Œ996bb8e0”Œ31ca98b7”Œ92d93b6b”Œ39f1e9cc”Œd39134e5c15cfc0”Œ319d242d23f93b1”Œ 1da3c3f1f84bfb”Œ6e8fb50cbd715cb”Œe8cca19a9c207d9”Œ79d52176ca3b917”Œcc0e9f84ab38701”Œ42d78bca”Œ095dcaaa”Œ7450b86b”Œc1732b38”Œ67d7182f”Œ7c031a9d”Œee276a95”Œc3e392ea”Œ4d61749d”Œ8087e5ec”Œd6fa11d92546545”Œ43b0a1a124075ac”Œ4dd2498e300a6d9”Œ1f400bdaa132830”Œ2f2871dc46691e8”Œ54d445d498d6c27”Œ 4f86a3c760ace0”Œ8b7516ac”Œe67eedc6”Œe48c7d01”Œdaea9f54”Œ07713d52”Œa846c56f”Œ3feeec60”Œ399699b9”Œc4792aeb”Œ49d85590”Œ26dd14b0c892f46”Œe5daed2874c22a0”Œeffbb69ffdcc011”Œ1a55afd90a9fcf2”Œ7a0fa1631f5bba5”Œc0730d1674d819d”Œ167881d87045c40”Œded69b63”Œ153f3e6f”Œ304c2ffd”Œdc0050a6”Œ2188728d”Œ52a61141”Œf823b7ad”Œa4061911”Œf08c87f9”Œ157271f0”Œ25aaddf60b9ef53”Œ14a43a45e8ac403”Œaf932015299a015”Œ7ac07b15fd51370”Œd929aeeebf23147”Œ408d60554943d1f”Œca873b5b0fbd9e6”Œ76ca9c2d”Œ940eb6f9”Œ797074bd”Œ726145c4”Œe0969fc4”Œfa4f12fd”Œ696524c1”Œb93558cd”Œdd9ed646”Œ4a9e239f”Œ8a70993d33b86ef”Œ59e48f5b4e289e1”Œffb03d54d479d38”Œ3579fd61f479eb9”Œ3a00a3cb552dd4b”Œfd0860951026b2d”Œ639a41002a88e61”Œ461085d8”Œ93a11c39”Œ05100108”Œ7ce446ec”Œ094f948e”Œ8821b7c7”Œ7e9a3ff0”Œ512b20d8”Œ1c335bd9”Œe1fb9e2a”Œe3c1cff498d00e9”Œ782fb7019ea239b”Œbd23411220dbdbe”Œde6f6366dd383ad”Œb764b01d844b856”Œ13f6c390baea93f”Œa9562871236e575”Œdbb918e5”Œ8c6d0953”Œ87268444”Œ487f24fb”Œ143c8a41”Œfe53fcd8”Œ20286215”Œ62d23ce1”Œdc901f74”Œ657ca6bf”Œ12dba3135b221ff”Œd59fa00e83a6117”Œ2dec9125314d44f”Œ1fe33357ff4c34e”Œ5c4f3a2d7e7c502”Œ2907ba95ae7e646”Œef4385d4d64b294”Œ22022389”Œ74818e84”Œdfafffeb”Œ8afb1d0c”Œ565f64bf”Œ00f82d05”Œ09fef4d4”Œc4c853c8”Œ64a17d4e”Œ44122554”Œ8c308b74f90bca0”Œ5c9f09304eaff4b”Œb0b9205e2cfa23c”Œ394c5f008bbd082”Œ2d4a058e2ed02a6”Œa6052409f79af02”Œb7ae045f968ae90”Œ22efc8c6”Œ18adacb7”Œd4a8035f”Œff951ab0”Œeed60ee8”Œe44fee2d”Œ6044864b”Œb59a73cc”Œd7ee6d91”Œd290ae6c”Œ d54865080c122b”Œ3755ff68777c4ea”Œd0930dd684e1c87”Œ65e3cf60215eae0”Œb5bed21687404b4”Œd88c240b2f5e1ee”Œ13fc0965e4f53af”Œ5f5c1431”Œd36e2967”Œb1f88698”Œ780376c1”Œ6115a64a”Œ159e5849”Œ75d661ba”Œ0f904cf5”Œ64a8547d”Œ1ce3dac1”Œ95cc9bb6d84a9f5”Œ3b8a21c0974c56f”Œ 94a3eedd211d06”Œ87baa6883323fd5”Œ37ab0db15767b3e”Œe06a7076a7f6759”Œf47887abcea580a”Œ24466edb”Œ5f794d92”Œ5ebc5e24”Œ2826815a”Œ52ebf856”Œd7425d91”Œe0db82ca”Œ0635e06e”Œ20e44bdf”Œ1c051006”Œ35e8453f0c377b4”Œe90f4ddc56dea3e”Œd55d4bce9caccdf”Œa4683430477dfc4”Œ36be0486d02367c”Œa4573fd5013f23f”Œ5c3ac6474bcac23”Œffc476f3”Œf871a561”Œ0b57312d”Œ0ec7f636”Œ95650461”Œ566f41f2”Œ1ca55078”Œ8c62c3e7”Œ4faf62e3”Œ911bb68b”Œ3771ea29f3ed0fe”Œa816bc67fff4772”Œe8ac9420fee4142”Œc200204ad32cfc8”Œfd5539de9c52465”Œ586b3b681175489”Œf095ad42560a7ae”Œa16bbc82”Œ45c056bf”Œb65db101”Œb0c480c4”Œabedbab1”Œ1a7f3b7e”Œ27200642”Œfdc2cf84”Œd5644fcb”Œe8b65fe2”Œd0595071f8b3f8b”Œ7f909a8083e8a01”Œffd9474c6d26efe”Œ5b955f097363b8f”Œbb626e5116db444”Œ5cd55ceb206a7d2”Œd3d68104f85bf4e”Œ0c68ddda”Œce5c7255”Œb45c5a2a”Œd2ac91b8”Œ2440ebbb”Œf8c38c54”Œ5e0432f3”Œfdf346c9”Œe731f300”Œa624bbf9”Œ8daedb05e4828dd”Œf8f3649f0c64eb2”Œ5d9ea7500a581f1”Œ4fe47fcbd8531a7”Œ 1230d8580aedce”Œ8073359e88f449a”Œ25a37071edef0b8”Œ12d66343”Œ50aa1c76”Œ4c53dfb7”Œf79675ff”Œa18e0783”Œ78040c69”Œ4308a232”Œ9ea3c5f8”Œ379c22cc”Œ366c6370”Œ368459543ce6bff”Œc0cb25ab5553d47”Œ5762da0c5fa0e32”Œf2e3f1022796212”Œecf54fb051a1cf1”Œd729e50bc009bf8”Œad83b45bbf09005”Œ39390e60”Œbd7a4b7d”Œ455abef2”Œ3e8d4cdd”Œb77a2ed8”Œ15814ec9”Œ306f0950”Œ2b6f7738”Œ461b23f4”Œ0f5b4927”Œ21db68bd70a5456”Œ491119a7dd6a992”Œ 69fbdd759568a6”Œ89e8998c0aed3cc”Œdc03174e0d399cb”Œb8cbcae6818d511”Œb445d90e5115876”Œa076b39f”Œ73c34fd8”Œ65568589”Œbd607833”Œ4bc582ec”Œ22487ccb”Œ00f2e71f”Œc5833c5e”Œd9e9ff6e”Œd695aad2”Œ71f3729ff79b158”Œa28c7dbe2a476ef”Œ 4e387062b44931”Œ32ff7f4042a2558”Œ2577c8e2f9d70a6”Œd6cbb85172b7a4f”Œc360268c2f2a045”Œ2ab1d67c”Œ33f492b9”Œ0eb392b3”Œ788cad6b”Œ01048c53”Œ44e39d8f”Œf9b921de”Œ1f2c9755”Œ48052119”Œ0665eeee”Œ d7170c15dc3fa9”Œ23d84085f9ea52e”Œ8064d33f9a73aa9”Œ3ed7c031fcbebc3”Œ5f5f21d8c47ea86”Œacf49363cbaa3c1”Œ477a3f859d21917”Œ67ac715c”Œc8818b89”Œ454867eb”Œ01020ab9”Œ2b1b1801”Œ34d44765”Œ08bb2d89”Œ15eb5069”Œ688976cb”Œd9cbe355”Œ3a71189f3c0694e”Œ fb8a85024271dd”Œd91327795e54efc”Œbe876f95de3bb80”Œ1715b466940dbae”Œ4bd898c15930cae”Œdf4bb772c252e92”Œ8d1ea624”Œ48209c36”Œ2dac69a7”Œ9fb139c0”Œd32107b8”Œe38a5ff2”Œ8cc0332d”Œcaafc38a”Œd4adf950”Œ5475399e”Œc48f781425954b9”Œ94460ec04c477c0”Œ199c4834d5bc20d”Œ2ba4fa3fdd560f6”Œ1d7bbda76ebd716”Œ769ab175cf86438”Œ3d84fa67eca411d”Œ4833ff57”Œ9c771ff1”Œ3788a1b6”Œdf196a16”Œec1f0d34”Œ3232191c”Œ2ceee50d”Œ99458faf”Œd9084ef9”Œ012a0f6b”Œfe849d66e14e54d”Œfe9843980894ded”Œf87a36f4f4ddf04”Œ3871598af3284c2”Œ d8b17d40f7b8b2”Œ416be25d268d8e6”Œbe12db13302bfdc”Œecf5251c”Œefa9acea”Œb5418b74”Œf5276d27”Œ442472eb”Œ7862305f”Œed82c8d0”Œ57b16cd8”Œ3c4c1f60”Œ958bb7d9”Œd623d01c72ee105”Œ43f6ef4796cdd24”Œb3ceb0e5a1230f9”Œ6b999434c218019”Œ897aa215512cda7”Œf2b977fd8230922”Œ6b58679c78d92f7”Œ7160d0d0”Œ645d8bbb”Œae28a6d7”Œba85b090”Œ9432cde4”Œa446c6d1”Œ80c5a3b4”Œc7778fc2”Œc4a105a4”Œ2ce7e867”Œ5bf9755b0eb99d1”Œ92d1f78767eeb84”Œa7dd159d118b86a”Œ632bcecbf2ebe21”Œc29f71a8be2eb88”Œ3df12614eb5b22d”Œfbe2062b68aca02”Œ8f355f66”Œ52ffaa9a”Œ1d8ac38d”Œdf31ca67”Œ1071fe6c”Œd824d292”Œ5d2cacd5”Œed10f776”Œbaff97f8”Œ1fcc6af7”Œ28e3230db569765”Œ93504ef350bcf1f”Œ7711d29f4ae074f”Œ2e0750628c983f2”Œ776ba85d7fccd05”Œ90a7b75d9e56a14”Œ185ee7e86e10180”Œ3edb09d1”Œ2d1806a8”Œ35d2940a”Œ223fbec7”Œ905bdf91”Œ4cda92ed”Œ419210f7”Œab288ab4”Œ64b8b5b0”Œ0e37d699”Œ31542948e92d820”Œf7154c12a7e50de”Œea456577139f6f2”Œ49fa5f28d90fe9f”Œ8e98475ce22e945”Œ27f6acd4d823702”Œ6b88d204abc448c”Œ6601652d”Œcf0daa48”Œee87b7bf”Œ963a8ac5”Œ13497d71”Œa30f6974”Œ50b0fd32”Œa2e6998d”Œ3ea79dbe”Œf36cacfe”Œ 42f0fdfb014850”Œbce9b453d27bad2”Œ 6381407628d75c”Œd7b0bd5bd2578a9”Œ38e3444ce469752”Œa8b0fca4faaa0b6”Œaf0d5a6c3dcfafc”Œ0946ded5”Œ192e7ae4”Œadefd78a”Œ52efca58”Œ0273d6b5”Œc65ae1a0”Œcceb7d3d”Œ0cd60459”Œa0122719”Œbf609663”Œc5534a352bbbc69”Œ1843799bcdd9d76”Œ9a6dbe4ffed03f1”Œ91a19af0e06db26”Œ4a39a628a02df4c”Œd91470ca146e3d4”Œ89b1872f2f4a699”Œ4ee442cd”Œ545f8eb2”Œ4fe88966”Œca677a4f”Œ4771eddb”Œfaeba32e”Œ67e75603”Œ3c129b43”Œcd6af1e2”Œ9e831a09”Œ4d68bdd57ee000c”Œ802ce2a84a49df6”Œ9d6b590976aa276”Œ7ffc8a67d01e573”Œdfc2345e94d0818”Œe75568a25b39b1f”Œa6b84ba282e9905”Œbde5af41”Œa98c5f13”Œd1e5b373”Œ0ad0c038”Œe4fbc3a0”Œc4bad5b3”Œ0bf76383”Œc83c6683”Œ379fdb9d”Œ7c1ffdda”Œ8d04edd04295899”Œa42656333ae82e8”Œc7307cf28fa0e68”Œ2e8765446665b15”Œ5d007b629cb0842”Œ49f1fb3bfefdae2”Œ40c8df2930b3560”Œa4b5248a”Œb67e87d6”Œ120383e1”Œ197af6d5”Œ9a08d3e9”Œc22f0b0b”Œ60072292”Œ3ae467f2”Œ0bab3215”Œcf6c79e9”Œ8f64d1753758e37”Œfa2d12bb7a8f38c”Œbd7d7147ebce5c1”Œ2875e0d1cb9db2c”Œ14b57a82f601736”Œ6ee3acb9703d3eb”Œ58ff7c767764eea”Œ82d28cf0”Œeefea60f”Œb02a6beb”Œdeef3a9b”Œ1156e2ae”Œ10db1e4b”Œdde66b76”Œ44df7fd7”Œeb4c8856”Œfc8076d4”Œ651da726b3f59bc”Œd2d1d19e0dd5a73”Œbb146621f3b0fae”Œd37b6dcfc7d891c”Œ72c918568d9274f”Œace3c25eeb2f69e”Œa5e348d7986f3a9”Œ1e8ddf07”Œb5289837”Œ9dfdeba6”Œ64565c93”Œ7d9d9e4c”Œ4d736374”Œc0c20b5c”Œ89ec2400”Œe9e508a0”Œ7fd6ffe9”Œf9c938d12c907f5”Œdce392ce611a7de”Œc9a0c4cf9ab4117”Œ1bbe67ac041c35b”Œ8b7943af6ac5238”Œ49af42bf7c85b75”Œd8f76eb3edec03e”Œ43f5b534”Œ8d2be37b”Œ19d6cc17”Œ80e385fd”Œc7aa1033”Œd32d09cb”Œ88fbcbd6”Œ5471f093”Œ8e26f3bd”Œ4bf4ade5”Œe64e784484e04c8”Œ10b5d72be3005e4”Œd13e81abf82f5e9”Œ53a2fe28e108292”Œ4ce5ebd88c9a43e”Œ2b6d499c476cf42”Œdf109efed4bd998”Œ2eadd4ac”Œa404664e”Œ6cca5300”Œ7bb2b1f5”Œ8a3449d8”Œb40b9b94”Œa7b9d66e”Œ5725b334”Œ7952af8d”Œ5fbeff3d”Œe123092ff904682”Œ 2a7b983b225990”Œ85ee7bdbcf1ba88”Œ2b46a5b11120c30”Œ6b616e2ceab9ab5”Œf80d98de070726d”Œ56395ea73db4915”Œdf1531b9”Œb0846832”Œ613f34e6”Œ83a76b99”Œdd681f17”Œ2689d8ee”Œbc799455”Œcf0bffa7”Œ2832deee”Œ3e7ced72”Œ834c91a3c690232”Œ7afbd63446aaed4”Œc5b8c586f3e56bd”Œafb3630d55972b6”e(Œ6baa3090d3fe60b”Œ79a67b53851730c”Œd8fc345ff9b570d”Œa9deda22”Œ70c1e93c”Œf30d7045”Œada9bdca”Œ427e6d8d”Œf28d7607”Œb3ed655f”Œ87242525”Œ6cd8deee”Œ210ea98b”Œ752631c8a3b9406”Œ8c777c38f34dd07”Œ8fff0cfa02ce01e”Œ9a4dfa0b8f00859”Œ7ba305ad665e425”Œb281d0c5a55c337”Œ7f17b12eca69c59”Œee3032b4”Œ9b0d6260”Œ89f3515f”Œ6acf39ac”Œc88d48ca”Œ51b9acd6”Œ49eac9fc”Œbd48d306”Œ9243a78d”Œ5ca596d0”Œb6f38e2e8bf4f6f”Œdb91729e5f4e018”Œ5ae0be2815ca49e”Œfd25fe1691dec44”Œ6a34e726d5a6c9c”Œde7b7bffa157aa2”Œ 601b0c6e55b65e”Œc62327b3”Œ21c5d037”Œ6543ecf3”Œ94338ec3”Œ7df945f2”Œdc842947”Œaed16659”Œfd9177df”Œ4bd83d5f”Œ64b485c1”Œb532159f5fbc582”Œbaea9e5f0c29a6d”Œ200026f725f101e”Œfce5ef79ca8ac5b”Œ10157fdff8ea6ab”Œ3e6abfba502b708”Œ a9b6ef64658735”Œ56708507”Œb32b9e72”Œ9b818a26”Œ4d1472f8”Œ1fba98e9”Œde32820b”Œ9ab4ad87”Œ440f4dd8”Œ5c569641”Œ83be6842”Œ88b86a3b408fc26”Œa92dae9fe8df301”Œ5a15dfe4cfab992”Œ1ffc1af9d96ab96”Œdba727301810b1f”Œ7ec530799857816”Œ263e0936c171b94”Œf73be8b5”Œ2a4e3756”Œ45860576”Œc2775530”Œ1faf7e9a”Œ9e671eca”Œe8055c8f”Œ352ddc0c”Œ3bec368b”Œ4164d55a”Œ38c6505f503931c”Œ4744daaec7f5116”Œ85af75d15d408fd”Œed36d03b4a9cd12”Œfc701da9b855c24”Œ 922db02ac2c24e”Œ6ade73fc1f383d6”Œ4a550433”Œ0424cbe1”Œa6dddba9”Œ38e24ce9”Œ54177ef1”Œ73c78e67”Œe9abde25”Œ0bf8c00c”Œ0eb6b63a”Œ2cad4005”Œ38fdf14b75c1052”Œ97fa83c51dc304a”Œ9ba83a0be6d5103”Œ89498ba95b2ae33”Œ87a820b030ee7a9”Œ3790a997283e46f”Œ3e8e7c24e6dfd27”Œ377c1487”Œ920e2dad”Œc8af9641”Œc5ebe25e”Œb24d2fd4”Œ2fe51e2b”Œ7057b136”Œe1a43838”Œ2508d73e”Œfbf5cbab”Œ68be1fc407eed78”Œ725dd8cca1593e8”Œc29f05597c59b67”Œd3e04238054070b”Œc491d9a083c535f”Œ909f00253a47fe0”Œfbce0d1e721a9a4”Œa475061a”Œbe641479”Œ9a09f5f2”Œ1463943c”Œd02459be”Œ501c6d42”Œ62f1d7cb”Œ1a520920”Œd3747e6f”Œfac01432”Œ46281a650fef1ac”Œab737d8402aa2bd”Œ32f9863817ab981”Œ40561d50e92f51b”Œbcbdd38649d4fa2”Œ4846eca5ffd9961”Œf1eb3a8263b832f”Œ4477b054”Œ65e5b5d0”Œ01541a2a”Œ9c5a723f”Œ93f692ab”Œ65ef10e3”Œ7367b8a1”Œf96810d9”Œ8b90f960”Œe3485b3f”Œ3ed3a77a2ee4917”Œa54486ee4f54192”Œ11b22ff5a8aeaa2”Œb30469d0cb88a9b”Œ2d9b909533d855b”Œ661a83752db44af”Œb706414d7e337a1”Œ78fa8a42”Œ27440f07”Œ75e769a2”Œ5a0aebd6”Œ7701c431”Œ9de2e9d4”Œc7e1f28d”Œ3f232795”Œfc911ef9”Œ00cc5138”Œ1a27e551e662168”Œ7b14316c3ff715a”Œc9bd9f170ef7b95”Œ2ac2397920ab859”Œ94d84691ccdc3af”Œ cbd8b850ff1d5”Œ3daf346abcee48e”Œd3e1a12c”Œ6c53f3b6”Œd46abc4c”Œbe6cbea9”Œba3e2945”Œfe16f1d2”Œ4cc390a9”Œ1aed7ffd”Œda54a2ef”Œc58d6a56”Œ73651b70b806c69”Œ77314bd689c3415”Œ 5c9005cc15538a”Œ909cce14470c4b3”Œ5864355584f5cdc”Œc638a43a8fc4d35”Œd0add6cbe1895d6”Œ201991ca”Œd9870eab”Œ0fc041a2”Œ9119b6b7”Œcf0971e7”Œ28518c80”Œ9c667f3b”Œb0038a9d”Œ756feebc”Œ5c0e7130”Œda74537aa55de80”Œ9ec067d20c8cc05”Œ9b6b6cdaea87916”Œd0a7091ba1f190d”Œe4e9b3d0cb24de4”Œb182e77429ee12f”Œ8b9cb067f572eb1”Œ1bcb2b08”Œ479b9d8b”Œ91595092”Œ5db89aca”Œ66a7ffa0”Œb7eb61b8”Œc890b995”Œe126622d”Œ7f768d0e”Œ92ed2f60”Œ7d1dfba9390fd22”Œ2b9ab664ab6bf84”Œb295aec70257b96”Œ e07af91ff296de”Œ4bf36f0bb276829”Œe558e2ea72e3369”Œ1ac967beaeba41a”Œe2d5b5e3”Œfe8c111e”Œe87b51a9”Œ53adc742”Œ69d57201”Œ61d68b49”Œcaf65022”Œ4771db32”Œ73bc4123”Œ28908586”Œa808c621f3a96c5”Œc0cf5f0300b53f7”Œ19b19e79f93aff5”Œedbfff8f85b6301”Œ 5e8863f3540b96”Œa060721bc6eb0ec”Œad3ce116bcc7f86”Œ2eabc8ec”Œf2ac819c”Œcc7d7bf0”Œefc0d805”Œec3c7c6f”Œd4a4dbb7”Œd592e11b”Œf302aa39”Œ5b84359c”Œ0c1374a3”Œf831fbbcb824d4d”Œ63c3d246e657fa2”Œ8dcd1e02d8c5b22”Œ67a96c08586e347”Œbf9d12c6925c90e”Œ803241953ae386e”Œ7a675f4e22f7aa5”Œae037760”Œ552848d3”Œ1353ac35”Œ23446c24”Œf468ed32”Œ65cf0102”Œ11908628”Œce036c04”Œ4eca823a”Œ5b903986”Œ809ea01a3e3c077”Œ614fa39a928a8d8”Œbdad37cf02d43ce”Œ76bd74eb547e463”Œ62af55c970275b6”Œ43e9ab24fe39cc7”Œ 69a090cf8bd370”Œ2f0a7583”Œab909d4c”Œ5c809459”Œa43ca299”Œ2fc5fe36”Œ60d25f8e”Œ9275ea26”Œ19ebf66a”Œ8ad874b7”Œ55826bc1”Œb6434e34538de73”Œ9f4f785f3183fe7”Œ40cdd2646b4f75a”Œ3c265ea7f59a60c”Œ6aba4139a1b36a4”Œ d840d34c427691”Œ6067e5151c49a4d”Œ43b29ace”Œae0e52fc”Œddfe418a”Œ0cdde112”Œe7c4776c”Œ5f2f3b7c”Œ1d74f811”Œe018fc59”Œcdf96a73”Œ013d46f6”Œ5ef3f72991991d9”Œ4d66e4c99a0ab24”Œ67d27a9108d9564”Œ283efb2e3774651”Œ5da52afc377fe66”Œ590d82b8a89d02f”Œ9e367684cceebd6”Œ0f53de14”Œfc05524f”Œ6aac61a4”Œb006245c”Œ31d5da9c”Œ0cb73d66”Œ29c21113”Œ9dfe5451”Œb59f9fcf”Œ862d6d3e”Œe3d420fbc9362f0”Œ6f418ff547a07d5”Œ1a986090d7db11a”Œb217a315782069d”Œ999ea6f1bae60cc”Œ37948307c311162”Œ5ce9c7dd15b1c9d”Œ092142eb”Œ4f44250e”Œca9c4c00”Œ7ba8845f”Œ811fa1c2”Œd1c6b42d”Œ306c170a”Œ44a07ddc”Œ9e0e9f3f”Œ784a47e5”Œ 4a138ec7d6ddfd”Œc22d07bdc407176”Œ98347edacccbf7d”Œ12b67b0aecf1ea5”Œ56ae3b5b11abaa7”Œ3ae4e7766e325cf”Œcfec41d6db69cff”Œa8e338b4”Œb0b87529”Œ994d82c5”Œed8a42a7”Œ0562a942”Œe0f4c901”Œd43cf026”Œb54f2905”Œ2cac5c36”Œ635c90ab”Œf6c373727f29b7a”Œ33a834b67807eb8”Œ3a599bcf8af7ab0”Œb4da447465e3cec”Œffeb35d90871a2d”Œ29de36ee445a916”Œb6c96200f76134b”Œfc550af9”Œee621a89”Œ3e6a485f”Œfdce04dd”Œb5e993f0”Œ053d1c17”Œ559dd262”Œ0d5ae511”Œ8535859c”Œ2aa76827”Œ7b88b9b5d03e840”Œ7e8058def1f0d75”Œ32ab196b127e6eb”Œ559dac252a22202”Œcd52eda570eff06”Œ375f0865beb95c5”Œ cc21d8854c090e”Œf6ec75fe”Œe0b14c3d”Œ633d35b1”Œd3c3a71d”Œb3fd9df4”Œ36515bfe”Œf5db7d35”Œ822f03b1”Œ2590d172”Œ51d8a479”Œ500d1bb098b5576”Œcbbd2203d1386a2”Œ99f415521ce8c32”Œ1ba905d19ec94c3”Œae49678ddd51da6”Œ93502cc90242cc2”Œ7ed4a33ce276f92”Œ1adf91ec”Œc19476c2”Œ2631a0b2”Œ3dcbffe5”Œd0bf006c”Œ653248c1”Œ081c79d9”Œ49aad51e”Œ0df38d11”Œb4498286”Œ7213196c0227969”Œ1f5d021bba1a18c”Œe3269562d1fe1aa”Œb6b2568fc80e5a3”Œ5c4256e1b90e45c”Œ928883350853ae0”Œ892236a2d083d68”Œcdc4dc5c”Œ043395d5”Œ51d4ad49”Œfb9a804f”Œ56d44e3a”Œ621f3dca”Œd1ed73be”Œ1855f522”Œ39314f1a”Œf987e135”Œ151fc5d13fa258e”Œ772052592e25af7”Œc5515f9c55667f1”Œa2087019abcf445”Œdc1a55753132b98”Œ908c744d74b4081”Œ 3bcdbced9a109b”Œ103b3299”Œ5377f790”Œd8178f14”Œ00bf6535”Œee6cc490”Œ8170c134”Œ7b5de086”Œdf154e8e”Œ05ed8448”Œb9de6c20”Œ80c0d187e5d1db6”Œ34508c778e61391”Œ7ccf4ef9c7aa73d”Œca77cfbb3c95a27”Œcaa350b25d7c9cf”Œ30096c1f2057fba”Œ5a39ed1c1ce8b6a”Œ463f2f83”Œ36d38e9d”Œd297d87e”Œ3499b000”Œ3c8c6039”Œec638027”Œ219862e4”Œ9e7cf73e”Œd536aacb”Œ472ee8e4”Œb3effaa5d4c2aa5”Œf4f4481e031c036”Œaab95a0786874b8”Œ566b77331010bdd”Œc57eebef603bce2”Œ664718836012788”Œa788902910a013b”Œ3e54629f”Œbdd95869”Œ59ec95e6”Œfe33a270”Œ0fea56a3”Œ6c57f618”Œa990d213”Œfd242cce”Œ90c1520f”Œ3bdc2f5a”Œ9748d05df631059”Œf28b7821c8c386b”Œ38235cc92e1af3c”Œ9e17b682fa44459”Œ 84e43bb2cd2794”Œ64e3702d3350589”Œfb91be1e29b04e6”Œ68d00334”Œe2803ab6”Œ3964afd1”Œf750d82c”Œade861e0”Œ9275fc1e”Œc0278357”Œaa482a27”Œ30cfd923”Œba5066f7”Œ646df091591c043”Œ19eb978e2cbe813”Œff42228f645b3d4”Œ4a2b08e95b0669b”Œ41e49fc80927651”Œb82467b3015623c”Œ25aaf4ed9380556”Œ1cd5efb4”Œ2294307e”Œ9e05ac99”Œ6a3899ac”Œ4f3d1040”Œ5aec4d60”Œb9f5384a”Œb589951f”Œ954c5494”Œc4d6aa7b”Œb4d41a6d208532d”Œ14707a98df31a9f”Œ59880c0df14d635”Œ2d583ffce3cfc4d”Œ634d2a7e13e6222”Œ2aa0d3744c187b3”Œ4908aa37eb0d9ec”Œ4c921606”Œ57d7cb7f”Œ1172a598”Œd3fe0969”Œ98c9e7fc”Œbb65db69”Œ179923fe”Œ5177f50d”Œ7e098de0”Œ0ad88332”Œ f16ec32a9d2751”Œeff69ea90859dc4”Œa8efdbc25c7ce8b”Œd8e1b9b71d3eacc”Œ4964d689e0f78c8”Œb176c3ce70c1886”Œceaa3122e101a24”Œ8cbc780b”Œb361c0f5”Œb9e403d5”Œc0ff5985”Œc6d359e8”Œ5bf8d12b”Œ29600bfe”Œ99a1ced3”Œ7d2a65df”Œ540b8f54”Œ 46325b2cefdbfb”Œ b5677b7883d487”Œ988d730de322833”Œef4e003e5f70f2a”Œ df3a92793773a1”Œ97e4f76e6cdf0f8”Œe982fdef9d35b51”Œfcd9c627”Œ123684e7”Œ4cc014bd”Œ7053dfc6”Œ1f6d245b”Œ41f140ea”Œ5c21b9bc”Œ47e1bb83”Œ244a938d”Œf770095c”Œe5ee155943a5337”Œ8e6bc00974e7503”Œ4df42cdfd71a995”Œ8b40e55c2757d9a”Œac6788970688643”Œ2d39200e50c4edd”Œ b4c20634599626”Œ45dc278c”Œd5a50332”Œ8cb022af”Œ9e7f319c”Œ9e522bd5”Œ3e4e3435”Œ9c31f9b8”Œc51e2f35”Œb6dffcb4”Œbd01c786”Œd1d8f407ba2e737”Œeceff6dfcb9d5a7”Œ276c9bcbed19d7d”Œ2a32bbb64ce1689”Œ4861afcb9fed531”Œa5b14d7a3c60354”Œf3df7079f2ebf57”Œ78c135b4”Œce2a2706”Œcb6ba32a”Œ941f1e03”Œa0aa2e09”Œb45340f5”Œc0518236”Œc408550f”Œ3c43ab5e”Œ6aca33ad”Œ1495eeccfcd624e”Œb51b1d8c16b6a9e”Œcd14f5411a7a25e”Œd1a53b5f2e31a7a”Œ83b9b483b774d4a”Œ79cd627548da05b”Œ8c6e8b33f3dbef1”Œ12dc84e0”Œ26740690”Œ8dd8fa24”Œca16cf21”Œaf0ccf6d”Œe8452868”Œd24a011b”Œ167382f6”Œbc673b20”Œ0e1d440c”Œ96a4bc87f1dec9e”Œea3b83da5eb66ca”Œ7d191af8ea25c3b”Œb7e60df5b8241b9”Œ1625ff117862aee”Œc7a891b8a566878”Œb67f8ff348b4007”Œ5667f64f”Œ10d14472”Œ1188cefd”Œ5a439d18”Œba1c9194”Œa8c52762”Œc1a38568”Œ88c068bc”Œ49e2fa70”Œdcbd008d”Œc8cb6736b5c3921”Œ716e58383424de8”Œ43caea6b9ff6795”Œ6500e264ffaa87b”Œdbe2c8c451810b5”Œ407f89c3eedf806”Œ9fab0c7262bf79c”Œ149eed7a”Œ13ced903”Œ1fbd7a90”Œ47966028”Œde0673e3”Œa0bafcff”Œ75ec37bb”Œ28bd97a4”Œe914d8a1”Œaf4500f2”Œ833630ef9404dbe”Œ5aaec1d282384a3”Œ6ed6fef0dd1e4ed”Œeeb7ff0e383cbfb”Œ3437ace0b662dad”Œ72d5dd960d9a2d7”Œ2f56b104c0accfb”Œ65db964d”Œ5fe58ccf”Œfff28844”Œ52490228”Œ1d29a971”Œa43493d5”Œbbbe4acf”Œ9583f1b0”Œ5d9d5022”Œ89514b46”Œ66f8b997071ca2a”Œa24eacb851b5788”Œ855b5224c678f35”Œ254a38f6bf56159”Œ2929ebe0c0f911c”Œca2467ffbbba83a”Œd6e1fdf24d231ff”Œac1917c5”Œd9688d24”Œ6fdf2b31”Œfb0d45e3”Œ15e5d9f7”Œf3850718”Œ03435439”Œf15e619b”Œ684c25ce”Œ3b2e6acd”Œ95f461d8f965c7a”Œ2786a6656d0d81e”Œe00623d52854d9c”Œ3f5bef5e994c19c”Œ77c05bb5db82470”Œ21cd26fcc9edb24”Œ 5184be02e37a2a”Œad383931”Œ106c37f6”Œ17cb55af”Œ97fb3619”Œe2155a4d”Œfa89d0a7”Œ980ad14a”Œ5705fb9b”Œ128e890c”Œ75a0ea70”Œc12506113d9c1e8”Œ81ccc38455a21e9”Œ9e0b8c2e84bc65a”Œd87f3456633bc55”Œ1117db926bddf40”Œe4ff034c368dc3d”Œd4f08db89986c49”et”b. 8 transposed(H 8block2_items_varietyregular0°¾À  0}blosc úÿ €¶™ à’…^ (CLASSCARRAY (VERSION1.1 TITLETREEÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÖãÍ™ ™ 8 transposed (kindstring (nameN. úÿúÿ -!ii foààÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿŽ-!nn lbààÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿŽ-!tt ojààÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿŽ-&01234aeààÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿŽ-! tcà`àÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿŠ,!@tà€àÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ‰,!@_à€àÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ‰0!@1à2€€àÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ‰,!@_à€àÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ‰9!@01234567890123456€àÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ‰é?  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcàÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ®*!àÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ*!àÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ*!àÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ*!àÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ*!àÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ*!àÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ*!àÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿŠ?ãÎb®P§™Ó̆bb—òiá8“ñ“éñ1ÃËÅøÿ\’Ç‚S¶p]ðƒÕ.Ev#ù{°îÝ5ö÷¹¬®¶Ì¶…fÕm(ôYÕ»›­—ës“ /é ý× ¿b³àÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ®?;~¡Øõ13N[ Â뉽ã[ýI‹Er8öú}èå+ùfJ(i¬z€„™Ø…ç€33 È-bÇpú ú™Ê¾Ùó3·å/ž[ìÒTâ$`ãAŽ’¢‡Ôuà–â½móg$àÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ®?›Äk«Np–O-µ¨Lþ«ÒšiÌS€Ë£ýà¡ãï À¿ÓÀáGêŒãu¢J}a©Ý“ÝMÊI¡Ù–ô›ÅÝ0Tàÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ®?M" š,XÜÉÆ;–Õ¯“Om¢#ÏÌ׫°…Þ®nl åUô¦6m©¬-‘T‰ áþNS—ˆêˆNÒ‹õ-Apxãœ}——šàÆ »ñE§›ˆÅ¢EæD´=¾‡¯BŸ|ßàÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ®?`¹Øáê2iÜýgØVÇ—Y%"þ‡³"ç´Â`†ïl¥s¨(óÙ£·B¼®„àa „ {|èòªœuü¯Oa'˜ÑR´e@7SüO¶QY[gÿ IJMm™h!Ñ\‡•4àÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ®?5@÷JÙE`Cœ«wo3Uš5këõ0æp+ª¹ãåã)a5º„ASõ†ã„ndøZ+·ŠÃ‡ËTÇÈ:‘°«s™ƒßþu‚LGÙØÀT >ï:hÊÖžÙ\ Á™uk •^lÍ/àÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ®?²ØÔâêóÊúÃÎÔÃàç£ôÞÅÑÛõÑñ×ëï÷ÝäûêÈÀÛôðÛðÏãµ¶óÉÙüîíÒÓñô³ÝØåÒêÙøïìéçíÝôÅíëÍãØ¾ãÇØô†æØïâìÃô¬œÙéá¿ýñËëóëàÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ®m"¿??  ?@@¿???¿??€ ¿ @  ¿ @ ¿`?¿€€ €@?¿ ?¿@? ¿àÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ®ÿÿÿÿY=!fàÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿX=!làÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿX=!oàÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿX=!aàÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿX=!tàÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿXðÿðÿA?"      :             @¤         g  ù      ¬     u X         A{!  ! ð !Ÿ  !0àÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ9J!àÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ.J!àÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ.J!àÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ.\N!ii àÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ.N!nn àÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ.N!tt àÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ.N%01234àÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ.Ê\˜W úÿúÿÖ(!ooààÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ”(!bbààÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ”(!jjààÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ”(!eeààÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ”(!ccààÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ”(!ttààÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ”(!__ààÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ”+!11À2€àÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ”(!__ààÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ”/)0123456789  àÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ”traitsui-7.2.1/examples/demo/Advanced/Dynamic_views_demo.py0000644000076500000240000001134014046644454024434 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! """ Demonstrates how to use the Dynamic Views facility. """ from traits.api import Bool, HasTraits, Str, Instance, Button from traitsui.api import View, HGroup, Group, Item, Handler, Label, spring from traitsui.extras.has_dynamic_views import DynamicView, HasDynamicViews class HasFooView(HasDynamicViews): """ A base class declaring the existence of the 'foo' dynamic view. """ def __init__(self, *args, **traits): """ Constructor. Extended to declare our dynamic foo view. """ super().__init__(*args, **traits) # Declare and add our dynamic view: declaration = DynamicView( name='foo', id='traitsui.demos.dynamic_views', keywords={ 'buttons': ['OK'], 'dock': 'tab', 'height': 0.4, 'width': 0.4, 'resizable': True, 'scrollable': True, }, use_as_default=True, ) self.declare_dynamic_view(declaration) class MyInfoHandler(Handler): def object_first_changed(self, info): info.object.derived = info.object.first class BaseFoo(HasFooView): """ A base class that puts some content in the 'foo' dynamic view. """ first = Str('My first name') last = Str('My last name') # A derived trait set by the handler associated with out dynamic view # contribution: derived = Str() ui_person = Group( Item(label='On this tab, notice how the sub-handler keeps\n' 'the derived value equal to the first name.\n\n' 'On the next tab, change the selection in order to\n' 'control which tabs are visible when the ui is \n' 'displayed for the 2nd time.' ), spring, 'first', 'last', spring, 'derived', label='My Info', _foo_order=5, _foo_priority=1, _foo_handler=MyInfoHandler(), ) class FatherInfoHandler(Handler): def object_father_first_name_changed(self, info): info.object.father_derived = info.object.father_first_name class DerivedFoo(BaseFoo): """ A derived class that puts additional content in the 'foo' dynamic view. Note that the additional content could also have been added via a traits category contribution, or even dynamic manipulation of metadata on a UI subelement. The key is what the metadata represents when the view is *created* """ knows_mother = Bool(False) mother_first_name = Str("My mother's first name") mother_last_name = Str("My mother's last name") knows_father = Bool(True) father_first_name = Str("My father's first name") father_last_name = Str("My father's last name") father_derived = Str() ui_parents = Group( 'knows_mother', 'knows_father', label='Parents?', _foo_order=7, _foo_priority=1, ) ui_mother = Group( 'mother_first_name', 'mother_last_name', label="Mother's Info", _foo_priority=1, ) ui_father = Group( 'father_first_name', 'father_last_name', spring, 'father_derived', label="Father's Info", _foo_order=15, _foo_priority=1, _foo_handler=FatherInfoHandler(), ) def _knows_mother_changed(self, old, new): ui_mother = self.trait_view('ui_mother') if new: ui_mother._foo_order = 10 elif hasattr(ui_mother, '_foo_order'): del ui_mother._foo_order def _knows_father_changed(self, old, new): ui_father = self.trait_view('ui_father') if new: ui_father._foo_order = 15 elif hasattr(ui_father, '_foo_order'): del ui_father._foo_order class FooDemo(HasTraits): """ Defines a class to run the demo. """ foo = Instance(DerivedFoo, ()) configure = Button('Configure') view = View( Label("Try configuring several times, each time changing the items " "on the 'Parents?' tab."), '_', HGroup(spring, Item('configure', show_label=False)) ) def _configure_changed(self): self.foo.configure_traits() # Create the demo: popup = FooDemo() # Run the demo (if invoked from the command line): if __name__ == '__main__': popup.configure_traits() traitsui-7.2.1/examples/demo/Advanced/index.rst0000644000076500000240000000007214046644454022116 0ustar aayresstaff00000000000000These examples demonstrate advanced features of TraitsUI. traitsui-7.2.1/examples/demo/Advanced/Table_editor_with_live_search_and_cell_editor.py0000644000076500000240000003471114046644454032021 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! """ This example demonstrates how to implement 'live search' using a TableEditor, as well as how to embed more sophisticated editors, such as a CodeEditor, within a table cell. This example also makes extensive use of cached properties. The example is a fairly simple source code file search utility. You determine which files to search and what to search for using the various controls spread across the top line of the view. You specify the root directory to search for files in using the 'Path' field. You can either: - Type in a directory name. - Click the '...' button and select a directory from the drop-down tree view that is displayed. - Click on the directory name drop-down to display a history list of the 10 most recently visited directories, and select a directory from the list. You can specify whether sub-directories should be included or not by toggling the 'Recursive' checkbox on or off. You can specify the types of files to be searched by clicking on the 'Type' drop-down and selecting a file type such as Python or C from the list. You can specify what string to search for by typing into the 'Search' field. The set of source files containing the search string is automatically updated as you type (this is the 'live search' feature). The search field also maintains a history of previous searches, so you can click on the drop-down arrow to display and select a previous search. Note that entries are only added to the search history when the enter key is pressed. This prevents each partial substring typed from being added to the history as a separate entry. You can specify whether the search is case sensitive or not by toggling the 'Case sensitive' checkbox on or off. The results of the search are displayed in a table below the input fields. The table contains four columns: - #: The number of lines matching the search string in the file. - Matches: A list of all lines containing search string matches in the file. Normally, only the first match is displayed, but you can click on this field to display the entire list of matches (the table row will expand and a CodeEditor will be displayed showing the complete list of matching source code file lines). You can click on or cursor to lines in the code editor to display the corresponding source code line in context in the code editor that appears at the bottom of the view. - Name: Displays the base name of the source file with no path information. - Path: Displays the portion of the source file path not included in the the root directory being used for the search. Selecting a line in the table editor will display the contents of the corresponding source file in the Code Editor displayed at the bottom of the view. After clicking on a 'Matches' column entry you can use the cursor up and down keys to select the various matching source code lines displayed in the table cell editor. You can move to the next or previous 'Matches' entry by pressing the Ctrl-Up and Ctrl-Down cursor keys. You can also use the Ctrl-Left and Ctrl-Right cursor keys to move to the previous or next column on the same line. You can also exit the 'Matches' code editor by pressing the Escape key. Finally: - You can click and drag the little circle to the right of the currently selected file to drag and drop the file. This can be useful, for example, to drag and drop the file into your favorite text editor. - Similarly, you can also drag the contents of the 'Name' column into your favorite text editor to edit the file corresponding to that line in the table. """ #-- Imports -------------------------------------------------------------- from os \ import walk, listdir from os.path \ import basename, dirname, splitext, join from traits.api \ import HasTraits, File, Directory, Str, Bool, Int, Enum, Instance, \ Property, Any, property_depends_on from traitsui.api \ import View, VGroup, VSplit, HGroup, Item, TableEditor, CodeEditor, \ TitleEditor, HistoryEditor, DNDEditor from traitsui.table_column \ import ObjectColumn from io import open #-- Constants ------------------------------------------------------------ FileTypes = { 'Python': ['.py'], 'C': ['.c', '.h'], 'C++': ['.cpp', '.h'], 'Java': ['.java'], 'Ruby': ['.rb'] } DEFAULT_ROOT = dirname(__file__) #-- The Live Search table editor definition ------------------------------ class MatchesColumn1(ObjectColumn): def get_value(self, object): n = len(self.get_raw_value(object)) if n == 0: return '' return str(n) class MatchesColumn2(ObjectColumn): def is_editable(self, object): return (len(object.matches) > 0) class FileColumn(ObjectColumn): def get_drag_value(self, object): return object.full_name table_editor = TableEditor( columns=[ MatchesColumn1( name='matches', label='#', editable=False, width=0.05, horizontal_alignment='center'), MatchesColumn2( name='matches', width=0.35, format_func=lambda x: ( x + [''])[0].strip(), editor=CodeEditor( line='object.live_search.selected_match', selected_line='object.live_search.selected_match'), style='readonly', edit_width=0.95, edit_height=0.33), FileColumn( name='base_name', label='Name', width=0.30, editable=False), ObjectColumn( name='ext_path', label='Path', width=0.30, editable=False), ], filter_name='filter', auto_size=False, show_toolbar=False, selected='selected', selection_color=0x000000, selection_bg_color=0xFBD391) #-- LiveSearch class ----------------------------------------------------- class LiveSearch(HasTraits): # The currenty root directory being searched: root = Directory(DEFAULT_ROOT, entries=10) # Should sub directories be included in the search: recursive = Bool(True) # The file types to include in the search: file_type = Enum('Python', 'C', 'C++', 'Java', 'Ruby') # The current search string: search = Str() # Is the search case sensitive? case_sensitive = Bool(False) # The live search table filter: filter = Property # Instance( TableFilter ) # The current list of source files being searched: source_files = Property # List( SourceFile ) # The currently selected source file: selected = Any # Instance( SourceFile ) # The contents of the currently selected source file: selected_contents = Property # List( Str ) # The currently selected match: selected_match = Int() # The text line corresponding to the selected match: selected_line = Property # Int # The full name of the currently selected source file: selected_full_name = Property # File # The list of marked lines for the currently selected file: mark_lines = Property # List( Int ) # Summary of current number of files and matches: summary = Property # Str #-- Traits UI Views ------------------------------------------------------ view = View( VGroup( HGroup( Item('root', id='root', label='Path', width=0.5 ), Item('recursive'), Item('file_type', label='Type'), Item('search', id='search', width=0.5, editor=HistoryEditor(auto_set=True) ), Item('case_sensitive') ), VSplit( VGroup( Item('summary', editor=TitleEditor() ), Item('source_files', id='source_files', editor=table_editor ), dock='horizontal', show_labels=False ), VGroup( HGroup( Item('selected_full_name', editor=TitleEditor(), springy=True ), Item('selected_full_name', editor=DNDEditor(), tooltip='Drag this file' ), show_labels=False ), Item('selected_contents', style='readonly', editor=CodeEditor(mark_lines='mark_lines', line='selected_line', selected_line='selected_line') ), dock='horizontal', show_labels=False ), id='splitter' ) ), title='Live File Search', id='enthought.examples.demo.Advanced.' 'Table_editor_with_live_search_and_cell_editor.LiveSearch', width=0.75, height=0.67, resizable=True ) #-- Property Implementations --------------------------------------------- @property_depends_on('search, case_sensitive') def _get_filter(self): if len(self.search) == 0: return lambda x: True return lambda x: len(x.matches) > 0 @property_depends_on('root, recursive, file_type') def _get_source_files(self): root = self.root if root == '': root = DEFAULT_ROOT file_types = FileTypes[self.file_type] if self.recursive: result = [] for dir_path, dir_names, file_names in walk(root): for file_name in file_names: if splitext(file_name)[1] in file_types: result.append(SourceFile( live_search=self, full_name=join(dir_path, file_name))) return result return [SourceFile(live_search=self, full_name=join(root, file_name)) for file_name in listdir(root) if splitext(file_name)[1] in file_types] @property_depends_on('selected') def _get_selected_contents(self): if self.selected is None: return '' return ''.join(self.selected.contents) @property_depends_on('selected') def _get_mark_lines(self): if self.selected is None: return [] return [int(match.split(':', 1)[0]) for match in self.selected.matches] @property_depends_on('selected, selected_match') def _get_selected_line(self): selected = self.selected if (selected is None) or (len(selected.matches) == 0): return 1 return int(selected.matches[self.selected_match - 1 ].split(':', 1)[0]) @property_depends_on('selected') def _get_selected_full_name(self): if self.selected is None: return '' return self.selected.full_name @property_depends_on('source_files, search, case_sensitive') def _get_summary(self): source_files = self.source_files search = self.search if search == '': return 'A total of %d files.' % len(source_files) files = 0 matches = 0 for source_file in source_files: n = len(source_file.matches) if n > 0: files += 1 matches += n return 'A total of %d files with %d files containing %d matches.' % ( len(source_files), files, matches) #-- Traits Event Handlers ------------------------------------------------ def _selected_changed(self): self.selected_match = 1 def _source_files_changed(self): if len(self.source_files) > 0: self.selected = self.source_files[0] else: self.selected = None #-- SourceFile class ----------------------------------------------------- class SourceFile(HasTraits): # The search object this source file is associated with: live_search = Instance(LiveSearch) # The full path and file name of the source file: full_name = File() # The base file name of the source file: base_name = Property # Str # The portion of the file path beyond the root search path: ext_path = Property # Str # The contents of the source file: contents = Property # List( Str ) # The list of matches for the current search criteria: matches = Property # List( Str ) #-- Property Implementations --------------------------------------------- @property_depends_on('full_name') def _get_base_name(self): return basename(self.full_name) @property_depends_on('full_name') def _get_ext_path(self): return dirname(self.full_name)[len(self.live_search.root):] @property_depends_on('full_name') def _get_contents(self): try: with open(self.full_name, 'rU', encoding='utf8') as fh: contents = fh.readlines() return contents except Exception: return '' @property_depends_on('full_name, live_search.[search, case_sensitive]') def _get_matches(self): search = self.live_search.search if search == '': return [] case_sensitive = self.live_search.case_sensitive if case_sensitive: return ['%5d: %s' % ((i + 1), line.strip()) for i, line in enumerate(self.contents) if line.find(search) >= 0] search = search.lower() return ['%5d: %s' % ((i + 1), line.strip()) for i, line in enumerate(self.contents) if line.lower().find(search) >= 0] #-- Set up and run the demo ---------------------------------------------- # Create the demo object: demo = LiveSearch() # Run the demo (if invoked from the command line): if __name__ == '__main__': demo.configure_traits() traitsui-7.2.1/examples/demo/Advanced/Dynamic_range_trait_and_editor.py0000644000076500000240000001542314046644454026770 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! """ This program demonstrates defining and visualizing dynamic ranges. A dynamic range is a range whose low or high limit can be modified dynamically at run time. You can define a dynamic range using the standard Range trait and specifying the name of other traits as either the low or high limit value (or both). In fact, it is even possible to specify the default value of the range trait as another trait if desired. The traits used as low, high or default values need not be defined on the same object, but can be defined on any object reachable from the object (i.e. it allows use of extended trait names). In this completely artificial example, we present an example of the first hotel at the North Pole. The hotel guarantees that each room will be heated to a certain minimum temperature. However, that minimum value is determined both by the time of year and the current cost of heating fuel, so it can vary; but each room is guaranteed the same minimum temperature. Each guest of the hotel can choose among several different plans that allow them to control the maximum room temperature. Higher maximum room temperatures correspond to higher plan costs. Thus each guest must decide which plan (and highest maximum room temperature) to pay for. And finally, each guest is free to set the current room temperature anywhere between the hotel minimum value and the guest's maximum plan value. The demo is organized as a series of tabs corresponding to each guest of the hotel, with access to the plan they have chosen and the current room temperature setting. In addition, there is a master set of hotel information displayed at the top of the view which allows you to change the season of the year and the current fuel cost. There is also a button to allow more guests to be added to the hotel. Notes: - The dynamic range trait is the 'temperature' trait in the Guest class. It depends upon traits defined both in the Guest instance as well as in the containing Hotel object. - As with most traits code and examples, observe how much of the code is 'declarative' versus 'imperative'. Note also the use of properties and 'observe' metadata, as well as 'cached_property' and 'on_trait_change' method decorators. - Try dragging the guest tabs around so that you can see multiple guests simultaneously, and then watch the behavior of the guest's 'temperature' slider as you adjust the hotel 'season', 'fuel cost' and each guest's 'plan'. """ #-- Imports -------------------------------------------------------------- import logging import sys logging.basicConfig(stream=sys.stderr) from random \ import choice from traits.api \ import HasPrivateTraits, Str, Enum, Range, List, Button, Instance, \ Property, cached_property, observe from traitsui.api \ import View, VGroup, HGroup, Item, ListEditor, spring #-- The Hotel class ------------------------------------------------------ class Hotel(HasPrivateTraits): # The season of the year: season = Enum('Winter', 'Spring', 'Summer', 'Fall') # The current cost of heating fuel (in dollars/gallon): fuel_cost = Range(2.00, 10.00, 4.00) # The current minimum temparature allowed by the hotel: min_temperature = Property(observe='season, fuel_cost') # The guests currently staying at the hotel: guests = List # ( Instance( 'Guest' ) ) # Add a new guest to the hotel: add_guest = Button('Add Guest') # The view of the hotel: view = View( VGroup( HGroup( Item('season'), '20', Item('fuel_cost', width=300), spring, Item('add_guest', show_label=False), show_border=True, label='Hotel Information' ), VGroup( Item('guests', style='custom', editor=ListEditor(use_notebook=True, deletable=True, dock_style='tab', page_name='.name') ), show_labels=False, show_border=True, label='Guests' ) ), title='The Belmont Hotel Dashboard', width=0.6, height=0.2, resizable=True ) # Property implementations: @cached_property def _get_min_temperature(self): return ({'Winter': 32, 'Spring': 40, 'Summer': 45, 'Fall': 40}[self.season] + min(int(60.00 / self.fuel_cost), 15)) # Event handlers: @observe('guests.items') def _guests_modified(self, event): # The entire guests list changed if isinstance(event.object, Hotel): for guest in event.new: guest.hotel = self # the contents of the guests list changed else: for guest in event.added: guest.hotel = self def _add_guest_changed(self): self.guests.append(Guest(hotel=self)) #-- The Guest class ------------------------------------------------------ class Guest(HasPrivateTraits): # The name of the guest: name = Str() # The hotel the guest is staying at: hotel = Instance(Hotel) # The room plan the guest has chosen: plan = Enum('Flop house', 'Cheap', 'Cozy', 'Deluxe') # The maximum temperature allowed by the guest's plan: max_temperature = Property(observe='plan') # The current room temperature as set by the guest: temperature = Range('hotel.min_temperature', 'max_temperature') # The view of the guest: view = View( Item('plan'), Item('temperature') ) # Property implementations: @cached_property def _get_max_temperature(self): return {'Flop house': 62, 'Cheap': 66, 'Cozy': 75, 'Deluxe': 85}[self.plan] # Default values: def _name_default(self): return choice( ['Leah', 'Vibha', 'Janet', 'Jody', 'Dave', 'Evan', 'Ilan', 'Gael', 'Peter', 'Robert', 'Judah', 'Eric', 'Travis', 'Mike', 'Bryce', 'Chris']) #-- Create the demo ------------------------------------------------------ # Create the demo object: demo = Hotel(guests=[Guest() for i in range(5)]) # Run the demo (if invoked from the command line): if __name__ == '__main__': logging.info('Start!') demo.configure_traits() traitsui-7.2.1/examples/demo/Advanced/Property_List_demo.py0000644000076500000240000001120114046644454024446 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! """ This demo shows the proper way to create a **Property** whose value is a list, especially when the value of the **Property** will be used in a user interface, such as with the **TableEditor**. Most of the demo is just the machinery to set up the example. The key thing to note is the declaration of the *people* trait: people = Property( List, observe = 'ticker' ) In this case, by defining the **Property** as having a value of type **List**, you are ensuring that the computed value of the property will be validated using the **List** type, which in addition to verifying that the value is indeed a list, also guarantees that it will be converted to a **TraitListObject**, which is necessary for correct interaction with various Traits UI editors in a user interface. Note also the use of the *observe* metadata to trigger a trait property change whenever the *ticker* trait changes (in this case, it is changed every three seconds by a background thread). Finally, the use of the *@cached_property* decorator simplifies the implementation of the property by allowing the **_get_people** *getter* method to perform the expensive generation of a new list of people only when the *ticker* event fires, not every time it is accessed. """ from random import randint, choice from threading import Thread from time import sleep from traits.api import ( HasStrictTraits, HasPrivateTraits, Str, Int, Enum, List, Event, Property, cached_property ) from traitsui.api import ObjectColumn, Item, TableEditor, View # -- Person Class --------------------------------------------------------- class Person(HasStrictTraits): """ Defines some sample data to display in the TableEditor. """ name = Str() age = Int() gender = Enum('Male', 'Female') # -- PropertyListDemo Class ----------------------------------------------- class PropertyListDemo(HasPrivateTraits): """ Displays a random list of Person objects in a TableEditor that is refreshed every 3 seconds by a background thread. """ # An event used to trigger a Property value update: ticker = Event() # The property being display in the TableEditor: people = Property(List, observe='ticker') # Tiny hack to allow starting the background thread easily: begin = Int() # -- Traits View Definitions ---------------------------------------------- traits_view = View( Item( 'people', show_label=False, editor=TableEditor( columns=[ ObjectColumn(name='name', editable=False, width=0.50), ObjectColumn(name='age', editable=False, width=0.15), ObjectColumn(name='gender', editable=False, width=0.35) ], auto_size=False, show_toolbar=False, sortable=False, ) ), title='Property List Demo', width=0.25, height=0.33, resizable=True ) # -- Property Implementations --------------------------------------------- @cached_property def _get_people(self): """ Returns the value for the 'people' property. """ return [ Person( name='%s %s' % ( choice(['Tom', 'Dick', 'Harry', 'Alice', 'Lia', 'Vibha']), choice(['Thomas', 'Jones', 'Smith', 'Adams', 'Johnson']) ), age=randint(21, 75), gender=choice(['Male', 'Female']) ) for i in range(randint(10, 20)) ] # -- Default Value Implementations ---------------------------------------- def _begin_default(self): """ Starts the background thread running. """ thread = Thread(target=self._timer) thread.daemon = True thread.start() return 0 # -- Private Methods ------------------------------------------------------ def _timer(self): """ Triggers a property update every 3 seconds for 30 seconds. """ for i in range(10): sleep(3) self.ticker = True # Create the demo: demo = PropertyListDemo() demo.begin # Run the demo (if invoked from the command line): if __name__ == '__main__': demo.configure_traits() traitsui-7.2.1/examples/demo/Advanced/test_table_dc.h50000644000076500000240000127055014046644454023322 0ustar aayresstaff00000000000000‰HDF  ÿÿÿÿÿÿÿÿhqÿÿÿÿÿÿÿÿ`ˆ¨ àTREEÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÀHEAPXÈdataHˆ¨ TITLE (CLASSGROUP (VERSION1.0 8PYTABLES_FORMAT_VERSION2.1øTREEÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ°HEAPX htable_i_table8SNOD(H(H TITLE (CLASSGROUP (VERSION1.0 8 pandas_type frame_table 0pandas_version0.15.2 8 table_typeappendable_frame H index_cols(lp0 (I0 Vindex p1 tp2 a.  values_colsa(lp0 Vint0 p1 aVint1 p2 aVint2 p3 aVint3 p4 aVint4 p5 aVfloat p6 aVobject_1_0 p7 aVobject_1_1 p8 aVobject_1_2 p9 aVobject_1_3 p10 aVobject_1_4 p11 aVobject_1_5 p12 aVobject_1_6 p13 aVobject_1_7 p14 aVobject_1_8 p15 aVobject_1_9 p16 aVobject_2_0 p17 aVobject_2_1 p18 aVobject_2_2 p19 aVobject_2_3 p20 aVobject_2_4 p21 aVobject_2_5 p22 aVobject_2_6 p23 a.  non_index_axesq(lp0 (I1 (lp1 Vint0 p2 aVint1 p3 aVint2 p4 aVint3 p5 aVint4 p6 aVfloat p7 aVobject_1_0 p8 aVobject_1_1 p9 aVobject_1_2 p10 aVobject_1_3 p11 aVobject_1_4 p12 aVobject_1_5 p13 aVobject_1_6 p14 aVobject_1_7 p15 aVobject_1_8 p16 aVobject_1_9 p17 aVobject_2_0 p18 aVobject_2_1 p19 aVobject_2_2 p20 aVobject_2_3 p21 aVobject_2_4 p22 aVobject_2_5 p23 aVobject_2_6 p24 atp25 a.  data_columnsa(lp0 Vint0 p1 aVint1 p2 aVint2 p3 aVint3 p4 aVint4 p5 aVfloat p6 aVobject_1_0 p7 aVobject_1_1 p8 aVobject_1_2 p9 aVobject_1_3 p10 aVobject_1_4 p11 aVobject_1_5 p12 aVobject_1_6 p13 aVobject_1_7 p14 aVobject_1_8 p15 aVobject_1_9 p16 aVobject_2_0 p17 aVobject_2_1 p18 aVobject_2_2 p19 aVobject_2_3 p20 aVobject_2_4 p21 aVobject_2_5 p22 aVobject_2_6 p23 a. (nan_repnan 0 encodingUTF-8 (errorsstrict 0 levels  0 metadata(lp0 . hinfoE(dp0 I1 (dp1 Vnames p2 (lp3 NasVtype p4 VIndex p5 ssVindex p6 (dp7 s. øH8Ýindex@int0 int1  int2 int3 int4 float ?@4 4ÿobject_1_0$object_1_1,object_1_24object_1_3<object_1_4Dobject_1_5Lobject_1_6Tobject_1_7\object_1_8dobject_1_9lobject_2_0tobject_2_1ƒobject_2_2’object_2_3¡object_2_4°object_2_5¿object_2_6Î@4(Ýà’…^SNODø; <@>dÿÿÿÿÿÿÿÿ (CLASSTABLE (VERSION2.7 TITLE 0 FIELD_0_NAMEindex 0 FIELD_1_NAMEint0 0 FIELD_2_NAMEint1 0 FIELD_3_NAMEint2 0 FIELD_4_NAMEint3 0 FIELD_5_NAMEint4 0 FIELD_6_NAMEfloat 8 FIELD_7_NAME object_1_0 8 FIELD_8_NAME object_1_1 8 FIELD_9_NAME object_1_2 8FIELD_10_NAME object_1_3 8FIELD_11_NAME object_1_4 8FIELD_12_NAME object_1_5 8FIELD_13_NAME object_1_6 8FIELD_14_NAME object_1_7 8FIELD_15_NAME object_1_8 8FIELD_16_NAME object_1_9 8FIELD_17_NAME object_2_0 8FIELD_18_NAME object_2_1 8FIELD_19_NAME object_2_2 8FIELD_20_NAME object_2_3 8FIELD_21_NAME object_2_4 8FIELD_22_NAME object_2_5 8FIELD_23_NAME object_2_6 8 FIELD_0_FILL@ 8 FIELD_1_FILL  8 FIELD_2_FILL  8 FIELD_3_FILL  8 FIELD_4_FILL  8 FIELD_5_FILL  @ FIELD_6_FILL ?@4 4ÿ 0 FIELD_7_FILL 0 FIELD_8_FILL 0 FIELD_9_FILL 0FIELD_10_FILL 0FIELD_11_FILL 0FIELD_12_FILL 0FIELD_13_FILL 0FIELD_14_FILL 0FIELD_15_FILL 0FIELD_16_FILL 0FIELD_17_FILL 0FIELD_18_FILL 0FIELD_19_FILL 0FIELD_20_FILL 0FIELD_21_FILL 0FIELD_22_FILL 0FIELD_23_FILL 0 index_kindinteger 8 int0_kind(lp0 Vint0 p1 a. 0 int0_metaN. 0 int0_dtypeint32 8 int1_kind(lp0 Vint1 p1 a. 0 int1_metaN. 0 int1_dtypeint32 8 int2_kind(lp0 Vint2 p1 a. 0 int2_metaN. 0 int2_dtypeint32 8 int3_kind(lp0 Vint3 p1 a. 0 int3_metaN. 0 int3_dtypeint32 8 int4_kind(lp0 Vint4 p1 a. 0 int4_metaN. 0 int4_dtypeint32 @ float_kind(lp0 Vfloat p1 a. 0 float_metaN. 0 float_dtypefloat64 @object_1_0_kind(lp0 Vobject_1_0 p1 a. 0object_1_0_metaN. 8object_1_0_dtypebytes64 @object_1_1_kind(lp0 Vobject_1_1 p1 a. 0object_1_1_metaN. 8object_1_1_dtypebytes64 @object_1_2_kind(lp0 Vobject_1_2 p1 a. 0object_1_2_metaN. 8object_1_2_dtypebytes64 @object_1_3_kind(lp0 Vobject_1_3 p1 a. 0object_1_3_metaN. 8object_1_3_dtypebytes64 @object_1_4_kind(lp0 Vobject_1_4 p1 a. 0object_1_4_metaN. 8object_1_4_dtypebytes64 @object_1_5_kind(lp0 Vobject_1_5 p1 a. 0object_1_5_metaN. 8object_1_5_dtypebytes64 @object_1_6_kind(lp0 Vobject_1_6 p1 a. 0object_1_6_metaN. 8object_1_6_dtypebytes64 @object_1_7_kind(lp0 Vobject_1_7 p1 a. 0object_1_7_metaN. 8object_1_7_dtypebytes64 @object_1_8_kind(lp0 Vobject_1_8 p1 a. 0object_1_8_metaN. 8object_1_8_dtypebytes64 @object_1_9_kind(lp0 Vobject_1_9 p1 a. 0object_1_9_metaN. 8object_1_9_dtypebytes64 @object_2_0_kind(lp0 Vobject_2_0 p1 a. 0object_2_0_metaN. 8object_2_0_dtypebytes120 @object_2_1_kind(lp0 Vobject_2_1 p1 a. 0object_2_1_metaN. 8object_2_1_dtypebytes120 @object_2_2_kind(lp0 Vobject_2_2 p1 a. 0object_2_2_metaN. 8object_2_2_dtypebytes120 @object_2_3_kind(lp0 Vobject_2_3 p1 a. 0object_2_3_metaN. 8object_2_3_dtypebytes120 @object_2_4_kind(lp0 Vobject_2_4 p1 a. 0object_2_4_metaN. 8object_2_4_dtypebytes120 @object_2_5_kind(lp0 Vobject_2_5 p1 a. 0object_2_5_metaN. 8object_2_5_dtypebytes120 @object_2_6_kind(lp0 Vobject_2_6 p1 a. 0object_2_6_metaN. 8object_2_6_dtypebytes120 0 NROWS@dTREEÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿˆÿp<(Ý  ;›M`5²¿a1ed8f2d8b8a9850eef27646045f0dda921ef8cf2ae9ef79342b7834a8bd96c6fb17fb6d36cccce779936df6966dd268ef1d8a7e09c3ec21f0e40756e85ccd7cf14b16965a9984dc0b3e918aee13330ad3e01bf7c559a69d133413482 ã~Ä"¹@Ø?de66deda9ce5673d9d30ca39d9f89773306b28929c80c283011680a41491e6294fcd75a32ae9c22319adb3d66c301fd20831a4006d86c9eb3205c71d43064215683c2c6a4f39b342c27562d953f9f8e14ea66ce52b329a0bf86f9f1b4Îk ÷Ô?92d7c410e45bd1a398898d2df24bc1e6a0e78f76defbbd80d9688e04706b2800b6c13279efbad3ae 6fb804a87e444751c817e7d97c4ea6070f4f69ab1591e3c3724912d5981d5b0110173f85fe94277d9c5cdd3e25ca21a91cdcc31cb¡«šØJâ¿6eb28adb960e7c7a98706d8f1508353d1efedd251fe12061f818e3c3140eecae11d480cfb4c4624984bb9bda88866cc27f0a96b9d9846a1cac7214a36566992482c9c1acb23f482fc50c8ed86c8c95791661a03a5dfaaa35fef621d7c®ØN,áÙê?3ddeeb10ff72442c69147c66eabcd7e52dff5f8b64eea29c536e0063d2d4f30d3abcde9f6ac034067179fa3389c7cfa440e2d0c764b0701c59788968fe835a8448b85ffd23efceed29d005ffc86a3b419098c788286a3d5a98d96ee0aPõpXêEó?6483544fe963039f9b3b579e12af26bb7e0522a78c4a2a7555ad88b7b416c89b4b8fc8a6c940ec0b 66266cac0c476ffb22e7295dd0eddc9f1ccf7fad2d7063d4718a15215a7feec5a632dacf0283647596e187261e0a5cc72246b2da§1–Ü2`Ê¿886d01826edeb4a76bdd81d7d7739faf54310096a2e25becf8757997517e19db6d706a2d330257842994c1fb23c15a1aeb8c8689285ba4c920c9082dcc26ccced3971540bbe582f780f24bd49c41086d09dec6e6b1f07685910d653ce ™3OÉiCú?65b7c139667a6ecc0dd05c318db61e85a95d1d7563c856fabc851e24009b7b93c9a4862634431e8d6941887a47e51781ffad972c09cda284ff41168b22f215d8bfaec8d175ffda20043f45d670ddf099bf8cd63d247fcc9d845df0932ÓNÆÜœÃ?eb441e3d2a9ecd0cacc6e2dbee6b69e053a1fdf6e2641fa794b8056f559733d23ff05a8e20d215872d93436279b0e2e296ada23a03c2894f4f95002b4dafe7213d2c410239e1b644f59352f78ede6df8bdbaa16c6f11ba397dbc6bb7c [-;«Î¿888fc7eb52dcffa97b8cbf026d734405ee51647377e11a27c2e6f402e49b999c8cb743e7ef2c79f1d8d986a8b73f758d38e986edb5fa3bf6ba7216cf445e82010d72bff6c94562ef328f6ddf49087d451ba1db5c2dd427ab42343563b Ì –ýwÔ¿b1e841df91642aa44ca49e71b6a3b91d94b8c23bff59cc9695874ad35da6912a9b78d29315a1251cc55a9237a0eaaee5fe701a3cfa0a7c5d884cb0be161835e02402c6124d40 6cb2a70628d877463fe196e350f22 57e002d6ab3810 †µÕgoÿ798afa2dd5902635e774ac0bab797d21417df68a69f9d3ab175a5ba15876523a0ed6e1d6254567844c34dbee8e89dc6e0df53bce8a76b41f93303f8844346984c9eeb0f8fb7073a649c2ebe0139 cf736e246d43d2ae833f18a16776c ¨¯Øà¿2d345ebb73c4bd3c6b4b4eb65e5b02a1ccbe28c360ee9d114c946f94e278316e995132b6074d7761ba9a613a5005464a6c83b5cee855acd45205f44c2ecd896d8c458273f102407a636176a9a3e6bf038ea85bf0b58c802a9ce2385ad  bë“V3ç?52eae87048f48ebee4ef229e924bc0cd175249128ef21ee097db61b050ee9ca0bda04fa5fb13586fec2144149efd3054336a3376b08b9ba98016e580370ff2a863583d58f9ac127542d6deb0cc1d27d6d8c0bf1091cdeef37a0e7fb78b‰LOÇU£¿498e5715bbd9bf1612c698449a0bacbdc676f195f864fe2293e10521f435dc94bff11fea4f8136f010aca573c66e203c3f658186c4e03f898594156be60a66dbf79423909632847828baae5c126859be0bdae54589c97fe7e4c2fc3ce ½þm—šô?d6f9d52c846790af6f354f8b9b459abf5fdb217da79c2bfb2fe0ede1e9d442cfd12fb3bc2c43ae94b7e010b75586152c14f1878e0f9569700c3cf2903fd6b1e795c2559f19d944ffea7461c1441b190e973dcd8b7566b77c1a868ec1b —ã«¢Y5Þ¿87aad7c1bf836ce08cbe9cc735547d4af3879635c41db080c9538c55213645ff00ad777df58e620aa542c3414b83f7699c684b40990ac299a4eb969e9866e3d3521957db9f8d5bb22fe79b02215823fe865d41a9f1eede8cdbab6f14b  ò#%Å?0a705b2f0d4e2e72ced21199c1c2e7dc363f9f1c7ee1dd3436414725c843d9023fc18e54258d99e32e662ab8fbd7439b32cb1cad1dd2bcd86b568750dae024cc4ee55f1f80869a60dc256dedfa1d1d80899b39da5baa2c4cbc4746a7di[ÒÏ"k@63268bc39027ca8c566f5065209702f0730de3c51c73e77c29bda177840c798dc936abfdff2144bfc51174519886a85a4ea0153690c73452b4e1b245c98d6fcac6b0e558fcfe9352a4858c9b397add9b44ecd1ee4a52ba3bdb7f9beb3áýšÌþëÑ¿7fdc371872afca731ca4638c27f80a70bdeb873ba909d91c5f9cd04c14438f43094e2bbc9630bb53ac7f5bd652bc110111958f6a01fc9043f8dc38dc2c9b1cb98d9c2baf227bf69b5c7e30c1dc6a4baf239b43df0187ea6d3be3d3cbf 8IiׇõÛ?7efed34857acbdda54f8ca1106b1be8d2bed416cb5e79bad3b081d66ca71d5ad5c8ecea8be175de3a6ed1dc99bbf1736a7e34a40a3926dc382fc6b5ddb8dd5b58c1ad9ca2e1d9bfcf9e8e631ad58131bc20fd67713732251251234128“‹Ì³0õ?3904b4a1d9a17f2251460f7b375cb9157deb6be5140722a7117ad5de948f81a1d0f4281c8fc909ab7e8ded37c16a520f11df99c117b8f7e309aed70800f2c7421efe2d5fecccad059c1ae090942a9a652cc419424fd94e88e40d76d00 ñE"æÑ?671904b364144c150f02646873a00e94427ce9aa2f0fa22522f12b628ccd94d172970840d3eed2d2208a330864b7f30702804595ee4f3c9c2d70278abd7a73cb409bf2904e4c6537919ba1aa10d56a8e4652497aa982beb8741531e0d “rS«çñ¿5b5a438b18eb06e9b24175345dcaf3765208d103aeb44e92729c0b5c78974fc96ea3e6a248fa443dddb06f725f5f989c099ad4dbb279d0f4693ee3df1a10a74a45818a52893757072720c9869cfc3cdb2a75209b622a1d397daa57c7e é8€p×?3d0a67b8c893cd97a9990d92d4a5077917122e66091b7042996bb8e031ca98b792d93b6b39f1e9ccd39134e5c15cfc0319d242d23f93b1 1da3c3f1f84bfb6e8fb50cbd715cbe8cca19a9c207d979d52176ca3b917cc0e9f84ab38701ñö˰+ë?42d78bca095dcaaa7450b86bc1732b3867d7182f7c031a9dee276a95c3e392ea4d61749d8087e5ecd6fa11d9254654543b0a1a124075ac4dd2498e300a6d91f400bdaa1328302f2871dc46691e854d445d498d6c27 4f86a3c760ace01ú£…´ªï¿8b7516ace67eedc6e48c7d01daea9f5407713d52a846c56f3feeec60399699b9c4792aeb49d8559026dd14b0c892f46e5daed2874c22a0effbb69ffdcc0111a55afd90a9fcf27a0fa1631f5bba5c0730d1674d819d167881d87045c40 Ã<Þ¹÷?ded69b63153f3e6f304c2ffddc0050a62188728d52a61141f823b7ada4061911f08c87f9157271f025aaddf60b9ef5314a43a45e8ac403af932015299a0157ac07b15fd51370d929aeeebf23147408d60554943d1fca873b5b0fbd9e6Ë}U®ãÝ¿76ca9c2d940eb6f9797074bd726145c4e0969fc4fa4f12fd696524c1b93558cddd9ed6464a9e239f8a70993d33b86ef59e48f5b4e289e1ffb03d54d479d383579fd61f479eb93a00a3cb552dd4bfd0860951026b2d639a41002a88e61è n`åä?461085d893a11c39051001087ce446ec094f948e8821b7c77e9a3ff0512b20d81c335bd9e1fb9e2ae3c1cff498d00e9782fb7019ea239bbd23411220dbdbede6f6366dd383adb764b01d844b85613f6c390baea93fa9562871236e575Å)lû¿dbb918e58c6d095387268444487f24fb143c8a41fe53fcd82028621562d23ce1dc901f74657ca6bf12dba3135b221ffd59fa00e83a61172dec9125314d44f1fe33357ff4c34e5c4f3a2d7e7c5022907ba95ae7e646ef4385d4d64b294øåQ †ãê?2202238974818e84dfafffeb8afb1d0c565f64bf00f82d0509fef4d4c4c853c864a17d4e441225548c308b74f90bca05c9f09304eaff4bb0b9205e2cfa23c394c5f008bbd0822d4a058e2ed02a6a6052409f79af02b7ae045f968ae90  ÿ+-å)È¿22efc8c618adacb7d4a8035fff951ab0eed60ee8e44fee2d6044864bb59a73ccd7ee6d91d290ae6c d54865080c122b3755ff68777c4ead0930dd684e1c8765e3cf60215eae0b5bed21687404b4d88c240b2f5e1ee13fc0965e4f53af! \ùvUaÀ¿5f5c1431d36e2967b1f88698780376c16115a64a159e584975d661ba0f904cf564a8547d1ce3dac195cc9bb6d84a9f53b8a21c0974c56f 94a3eedd211d0687baa6883323fd537ab0db15767b3ee06a7076a7f6759f47887abcea580a" ’fóôï5Û¿24466edb5f794d925ebc5e242826815a52ebf856d7425d91e0db82ca0635e06e20e44bdf1c05100635e8453f0c377b4e90f4ddc56dea3ed55d4bce9caccdfa4683430477dfc436be0486d02367ca4573fd5013f23f5c3ac6474bcac23# Ǧºô?ffc476f3f871a5610b57312d0ec7f63695650461566f41f21ca550788c62c3e74faf62e3911bb68b3771ea29f3ed0fea816bc67fff4772e8ac9420fee4142c200204ad32cfc8fd5539de9c52465586b3b681175489f095ad42560a7ae$‚J!6l„ð?a16bbc8245c056bfb65db101b0c480c4abedbab11a7f3b7e27200642fdc2cf84d5644fcbe8b65fe2d0595071f8b3f8b7f909a8083e8a01ffd9474c6d26efe5b955f097363b8fbb626e5116db4445cd55ceb206a7d2d3d68104f85bf4e% S( ¥AÛ¿0c68dddace5c7255b45c5a2ad2ac91b82440ebbbf8c38c545e0432f3fdf346c9e731f300a624bbf98daedb05e4828ddf8f3649f0c64eb25d9ea7500a581f14fe47fcbd8531a7 1230d8580aedce8073359e88f449a25a37071edef0b8& âmsSð¿12d6634350aa1c764c53dfb7f79675ffa18e078378040c694308a2329ea3c5f8379c22cc366c6370368459543ce6bffc0cb25ab5553d475762da0c5fa0e32f2e3f1022796212ecf54fb051a1cf1d729e50bc009bf8ad83b45bbf09005'¶i¿¨õÏ¿39390e60bd7a4b7d455abef23e8d4cddb77a2ed815814ec9306f09502b6f7738461b23f40f5b492721db68bd70a5456491119a7dd6a992 69fbdd759568a689e8998c0aed3ccdc03174e0d399cbb8cbcae6818d511b445d90e5115876( p¬¨©(†ã¿a076b39f73c34fd865568589bd6078334bc582ec22487ccb00f2e71fc5833c5ed9e9ff6ed695aad271f3729ff79b158a28c7dbe2a476ef 4e387062b4493132ff7f4042a25582577c8e2f9d70a6d6cbb85172b7a4fc360268c2f2a045)]zάóãµ?2ab1d67c33f492b90eb392b3788cad6b01048c5344e39d8ff9b921de1f2c9755480521190665eeee d7170c15dc3fa923d84085f9ea52e8064d33f9a73aa93ed7c031fcbebc35f5f21d8c47ea86acf49363cbaa3c1477a3f859d21917*ð€9-Ù„¶?67ac715cc8818b89454867eb01020ab92b1b180134d4476508bb2d8915eb5069688976cbd9cbe3553a71189f3c0694e fb8a85024271ddd91327795e54efcbe876f95de3bb801715b466940dbae4bd898c15930caedf4bb772c252e92+ƒ„Í‘£nó?8d1ea62448209c362dac69a79fb139c0d32107b8e38a5ff28cc0332dcaafc38ad4adf9505475399ec48f781425954b994460ec04c477c0199c4834d5bc20d2ba4fa3fdd560f61d7bbda76ebd716769ab175cf864383d84fa67eca411d, Õ™žT·dÉ?4833ff579c771ff13788a1b6df196a16ec1f0d343232191c2ceee50d99458fafd9084ef9012a0f6bfe849d66e14e54dfe9843980894dedf87a36f4f4ddf043871598af3284c2 d8b17d40f7b8b2416be25d268d8e6be12db13302bfdc- .Ø\BøÙ?ecf5251cefa9aceab5418b74f5276d27442472eb7862305fed82c8d057b16cd83c4c1f60958bb7d9d623d01c72ee10543f6ef4796cdd24b3ceb0e5a1230f96b999434c218019897aa215512cda7f2b977fd82309226b58679c78d92f7.E…u‰¼Zü¿7160d0d0645d8bbbae28a6d7ba85b0909432cde4a446c6d180c5a3b4c7778fc2c4a105a42ce7e8675bf9755b0eb99d192d1f78767eeb84a7dd159d118b86a632bcecbf2ebe21c29f71a8be2eb883df12614eb5b22dfbe2062b68aca02/  vçZ ®+î¿8f355f6652ffaa9a1d8ac38ddf31ca671071fe6cd824d2925d2cacd5ed10f776baff97f81fcc6af728e3230db56976593504ef350bcf1f7711d29f4ae074f2e0750628c983f2776ba85d7fccd0590a7b75d9e56a14185ee7e86e101800#€~á„í¿3edb09d12d1806a835d2940a223fbec7905bdf914cda92ed419210f7ab288ab464b8b5b00e37d69931542948e92d820f7154c12a7e50deea456577139f6f249fa5f28d90fe9f8e98475ce22e94527f6acd4d8237026b88d204abc448c1ù3Üþà·Ò?6601652dcf0daa48ee87b7bf963a8ac513497d71a30f697450b0fd32a2e6998d3ea79dbef36cacfe 42f0fdfb014850bce9b453d27bad2 6381407628d75cd7b0bd5bd2578a938e3444ce469752a8b0fca4faaa0b6af0d5a6c3dcfafc2{3ºNaŠÓ¿0946ded5192e7ae4adefd78a52efca580273d6b5c65ae1a0cceb7d3d0cd60459a0122719bf609663c5534a352bbbc691843799bcdd9d769a6dbe4ffed03f191a19af0e06db264a39a628a02df4cd91470ca146e3d489b1872f2f4a6993° _S Ãñ¿4ee442cd545f8eb24fe88966ca677a4f4771eddbfaeba32e67e756033c129b43cd6af1e29e831a094d68bdd57ee000c802ce2a84a49df69d6b590976aa2767ffc8a67d01e573dfc2345e94d0818e75568a25b39b1fa6b84ba282e99054 îÈ—‡ô?bde5af41a98c5f13d1e5b3730ad0c038e4fbc3a0c4bad5b30bf76383c83c6683379fdb9d7c1ffdda8d04edd04295899a42656333ae82e8c7307cf28fa0e682e8765446665b155d007b629cb084249f1fb3bfefdae240c8df2930b35605Ý-܈„˳?a4b5248ab67e87d6120383e1197af6d59a08d3e9c22f0b0b600722923ae467f20bab3215cf6c79e98f64d1753758e37fa2d12bb7a8f38cbd7d7147ebce5c12875e0d1cb9db2c14b57a82f6017366ee3acb9703d3eb58ff7c767764eea6b2ê TÝ¿82d28cf0eefea60fb02a6bebdeef3a9b1156e2ae10db1e4bdde66b7644df7fd7eb4c8856fc8076d4651da726b3f59bcd2d1d19e0dd5a73bb146621f3b0faed37b6dcfc7d891c72c918568d9274face3c25eeb2f69ea5e348d7986f3a975ñ{ÇØ?1e8ddf07b52898379dfdeba664565c937d9d9e4c4d736374c0c20b5c89ec2400e9e508a07fd6ffe9f9c938d12c907f5dce392ce611a7dec9a0c4cf9ab41171bbe67ac041c35b8b7943af6ac523849af42bf7c85b75d8f76eb3edec03e8 öÇHˆ|Èå?43f5b5348d2be37b19d6cc1780e385fdc7aa1033d32d09cb88fbcbd65471f0938e26f3bd4bf4ade5e64e784484e04c810b5d72be3005e4d13e81abf82f5e953a2fe28e1082924ce5ebd88c9a43e2b6d499c476cf42df109efed4bd9989÷poNè:Ò¿2eadd4aca404664e6cca53007bb2b1f58a3449d8b40b9b94a7b9d66e5725b3347952af8d5fbeff3de123092ff904682 2a7b983b22599085ee7bdbcf1ba882b46a5b11120c306b616e2ceab9ab5f80d98de070726d56395ea73db4915: úJÒ‘ê?df1531b9b0846832613f34e683a76b99dd681f172689d8eebc799455cf0bffa72832deee3e7ced72834c91a3c6902327afbd63446aaed4c5b8c586f3e56bdafb3630d55972b66baa3090d3fe60b79a67b53851730cd8fc345ff9b570d;¹ >‹ò°Ù?a9deda2270c1e93cf30d7045ada9bdca427e6d8df28d7607b3ed655f872425256cd8deee210ea98b752631c8a3b94068c777c38f34dd078fff0cfa02ce01e9a4dfa0b8f008597ba305ad665e425b281d0c5a55c3377f17b12eca69c59<¬úýõª«ø?ee3032b49b0d626089f3515f6acf39acc88d48ca51b9acd649eac9fcbd48d3069243a78d5ca596d0b6f38e2e8bf4f6fdb91729e5f4e0185ae0be2815ca49efd25fe1691dec446a34e726d5a6c9cde7b7bffa157aa2 601b0c6e55b65e= ®™à-œsï¿c62327b321c5d0376543ecf394338ec37df945f2dc842947aed16659fd9177df4bd83d5f64b485c1b532159f5fbc582baea9e5f0c29a6d200026f725f101efce5ef79ca8ac5b10157fdff8ea6ab3e6abfba502b708 a9b6ef64658735>Ê¡Au™ì¿56708507b32b9e729b818a264d1472f81fba98e9de32820b9ab4ad87440f4dd85c56964183be684288b86a3b408fc26a92dae9fe8df3015a15dfe4cfab9921ffc1af9d96ab96dba727301810b1f7ec530799857816263e0936c171b94? ¶¾ãpüƒé¿f73be8b52a4e375645860576c27755301faf7e9a9e671ecae8055c8f352ddc0c3bec368b4164d55a38c6505f503931c4744daaec7f511685af75d15d408fded36d03b4a9cd12fc701da9b855c24 922db02ac2c24e6ade73fc1f383d6@ ÌÙï¯ç¿4a5504330424cbe1a6dddba938e24ce954177ef173c78e67e9abde250bf8c00c0eb6b63a2cad400538fdf14b75c105297fa83c51dc304a9ba83a0be6d510389498ba95b2ae3387a820b030ee7a93790a997283e46f3e8e7c24e6dfd27A ó Oßí¿377c1487920e2dadc8af9641c5ebe25eb24d2fd42fe51e2b7057b136e1a438382508d73efbf5cbab68be1fc407eed78725dd8cca1593e8c29f05597c59b67d3e04238054070bc491d9a083c535f909f00253a47fe0fbce0d1e721a9a4B¶3ÀxaþÝ¿a475061abe6414799a09f5f21463943cd02459be501c6d4262f1d7cb1a520920d3747e6ffac0143246281a650fef1acab737d8402aa2bd32f9863817ab98140561d50e92f51bbcbdd38649d4fa24846eca5ffd9961f1eb3a8263b832fC¿ã'uô¿4477b05465e5b5d001541a2a9c5a723f93f692ab65ef10e37367b8a1f96810d98b90f960e3485b3f3ed3a77a2ee4917a54486ee4f5419211b22ff5a8aeaa2b30469d0cb88a9b2d9b909533d855b661a83752db44afb706414d7e337a1D…·Óœ˜‚Å?78fa8a4227440f0775e769a25a0aebd67701c4319de2e9d4c7e1f28d3f232795fc911ef900cc51381a27e551e6621687b14316c3ff715ac9bd9f170ef7b952ac2397920ab85994d84691ccdc3af cbd8b850ff1d53daf346abcee48eE fåÀÑLí?d3e1a12c6c53f3b6d46abc4cbe6cbea9ba3e2945fe16f1d24cc390a91aed7ffdda54a2efc58d6a5673651b70b806c6977314bd689c3415 5c9005cc15538a909cce14470c4b35864355584f5cdcc638a43a8fc4d35d0add6cbe1895d6FÕ/Ã}RGë¿201991cad9870eab0fc041a29119b6b7cf0971e728518c809c667f3bb0038a9d756feebc5c0e7130da74537aa55de809ec067d20c8cc059b6b6cdaea87916d0a7091ba1f190de4e9b3d0cb24de4b182e77429ee12f8b9cb067f572eb1Gmž¡´ÙÍ¿1bcb2b08479b9d8b915950925db89aca66a7ffa0b7eb61b8c890b995e126622d7f768d0e92ed2f607d1dfba9390fd222b9ab664ab6bf84b295aec70257b96 e07af91ff296de4bf36f0bb276829e558e2ea72e33691ac967beaeba41aHGeØã¿e2d5b5e3fe8c111ee87b51a953adc74269d5720161d68b49caf650224771db3273bc412328908586a808c621f3a96c5c0cf5f0300b53f719b19e79f93aff5edbfff8f85b6301 5e8863f3540b96a060721bc6eb0ecad3ce116bcc7f86I ([ê—@ÀØ¿2eabc8ecf2ac819ccc7d7bf0efc0d805ec3c7c6fd4a4dbb7d592e11bf302aa395b84359c0c1374a3f831fbbcb824d4d63c3d246e657fa28dcd1e02d8c5b2267a96c08586e347bf9d12c6925c90e803241953ae386e7a675f4e22f7aa5J 쌗7T¾?ae037760552848d31353ac3523446c24f468ed3265cf010211908628ce036c044eca823a5b903986809ea01a3e3c077614fa39a928a8d8bdad37cf02d43ce76bd74eb547e46362af55c970275b643e9ab24fe39cc7 69a090cf8bd370KôÒãšS ã?2f0a7583ab909d4c5c809459a43ca2992fc5fe3660d25f8e9275ea2619ebf66a8ad874b755826bc1b6434e34538de739f4f785f3183fe740cdd2646b4f75a3c265ea7f59a60c6aba4139a1b36a4 d840d34c4276916067e5151c49a4dL YTà>Ç¿43b29aceae0e52fcddfe418a0cdde112e7c4776c5f2f3b7c1d74f811e018fc59cdf96a73013d46f65ef3f72991991d94d66e4c99a0ab2467d27a9108d9564283efb2e37746515da52afc377fe66590d82b8a89d02f9e367684cceebd6MâuÆüïØ?0f53de14fc05524f6aac61a4b006245c31d5da9c0cb73d6629c211139dfe5451b59f9fcf862d6d3ee3d420fbc9362f06f418ff547a07d51a986090d7db11ab217a315782069d999ea6f1bae60cc37948307c3111625ce9c7dd15b1c9dNÕ$¢ Oô?092142eb4f44250eca9c4c007ba8845f811fa1c2d1c6b42d306c170a44a07ddc9e0e9f3f784a47e5 4a138ec7d6ddfdc22d07bdc40717698347edacccbf7d12b67b0aecf1ea556ae3b5b11abaa73ae4e7766e325cfcfec41d6db69cffO »`J¶:†¿a8e338b4b0b87529994d82c5ed8a42a70562a942e0f4c901d43cf026b54f29052cac5c36635c90abf6c373727f29b7a33a834b67807eb83a599bcf8af7ab0b4da447465e3cecffeb35d90871a2d29de36ee445a916b6c96200f76134bP›ã}»Qhæ¿fc550af9ee621a893e6a485ffdce04ddb5e993f0053d1c17559dd2620d5ae5118535859c2aa768277b88b9b5d03e8407e8058def1f0d7532ab196b127e6eb559dac252a22202cd52eda570eff06375f0865beb95c5 cc21d8854c090eQ ­AañYØ¿f6ec75fee0b14c3d633d35b1d3c3a71db3fd9df436515bfef5db7d35822f03b12590d17251d8a479500d1bb098b5576cbbd2203d1386a299f415521ce8c321ba905d19ec94c3ae49678ddd51da693502cc90242cc27ed4a33ce276f92R —©E[Êï¿1adf91ecc19476c22631a0b23dcbffe5d0bf006c653248c1081c79d949aad51e0df38d11b44982867213196c02279691f5d021bba1a18ce3269562d1fe1aab6b2568fc80e5a35c4256e1b90e45c928883350853ae0892236a2d083d68SëŽÝ§gÖâ?cdc4dc5c043395d551d4ad49fb9a804f56d44e3a621f3dcad1ed73be1855f52239314f1af987e135151fc5d13fa258e772052592e25af7c5515f9c55667f1a2087019abcf445dc1a55753132b98908c744d74b4081 3bcdbced9a109bT  s’“›ÿžì¿103b32995377f790d8178f1400bf6535ee6cc4908170c1347b5de086df154e8e05ed8448b9de6c2080c0d187e5d1db634508c778e613917ccf4ef9c7aa73dca77cfbb3c95a27caa350b25d7c9cf30096c1f2057fba5a39ed1c1ce8b6aU ¢Ýˆ ÙÃ?463f2f8336d38e9dd297d87e3499b0003c8c6039ec638027219862e49e7cf73ed536aacb472ee8e4b3effaa5d4c2aa5f4f4481e031c036aab95a0786874b8566b77331010bddc57eebef603bce2664718836012788a788902910a013bV“‡MÅÄ\ô?3e54629fbdd9586959ec95e6fe33a2700fea56a36c57f618a990d213fd242cce90c1520f3bdc2f5a9748d05df631059f28b7821c8c386b38235cc92e1af3c9e17b682fa44459 84e43bb2cd279464e3702d3350589fb91be1e29b04e6W  ÔÊ¢²¬?68d00334e2803ab63964afd1f750d82cade861e09275fc1ec0278357aa482a2730cfd923ba5066f7646df091591c04319eb978e2cbe813ff42228f645b3d44a2b08e95b0669b41e49fc80927651b82467b3015623c25aaf4ed9380556X /uIEM œ¿1cd5efb42294307e9e05ac996a3899ac4f3d10405aec4d60b9f5384ab589951f954c5494c4d6aa7bb4d41a6d208532d14707a98df31a9f59880c0df14d6352d583ffce3cfc4d634d2a7e13e62222aa0d3744c187b34908aa37eb0d9ecYéà¡æmÁÙ¿4c92160657d7cb7f1172a598d3fe096998c9e7fcbb65db69179923fe5177f50d7e098de00ad88332 f16ec32a9d2751eff69ea90859dc4a8efdbc25c7ce8bd8e1b9b71d3eacc4964d689e0f78c8b176c3ce70c1886ceaa3122e101a24Z  ÙD™é¿8cbc780bb361c0f5b9e403d5c0ff5985c6d359e85bf8d12b29600bfe99a1ced37d2a65df540b8f54 46325b2cefdbfb b5677b7883d487988d730de322833ef4e003e5f70f2a df3a92793773a197e4f76e6cdf0f8e982fdef9d35b51[ –´h™á¿fcd9c627123684e74cc014bd7053dfc61f6d245b41f140ea5c21b9bc47e1bb83244a938df770095ce5ee155943a53378e6bc00974e75034df42cdfd71a9958b40e55c2757d9aac67889706886432d39200e50c4edd b4c20634599626\ý–=!u¿?45dc278cd5a503328cb022af9e7f319c9e522bd53e4e34359c31f9b8c51e2f35b6dffcb4bd01c786d1d8f407ba2e737eceff6dfcb9d5a7276c9bcbed19d7d2a32bbb64ce16894861afcb9fed531a5b14d7a3c60354f3df7079f2ebf57]×â¾Ñký¿78c135b4ce2a2706cb6ba32a941f1e03a0aa2e09b45340f5c0518236c408550f3c43ab5e6aca33ad1495eeccfcd624eb51b1d8c16b6a9ecd14f5411a7a25ed1a53b5f2e31a7a83b9b483b774d4a79cd627548da05b8c6e8b33f3dbef1^ ½ô‡\ @12dc84e0267406908dd8fa24ca16cf21af0ccf6de8452868d24a011b167382f6bc673b200e1d440c96a4bc87f1dec9eea3b83da5eb66ca7d191af8ea25c3bb7e60df5b8241b91625ff117862aeec7a891b8a566878b67f8ff348b4007_ ›¯•ñ?5667f64f10d144721188cefd5a439d18ba1c9194a8c52762c1a3856888c068bc49e2fa70dcbd008dc8cb6736b5c3921716e58383424de843caea6b9ff67956500e264ffaa87bdbe2c8c451810b5407f89c3eedf8069fab0c7262bf79c`mÅB‡^Ë?149eed7a13ced9031fbd7a9047966028de0673e3a0bafcff75ec37bb28bd97a4e914d8a1af4500f2833630ef9404dbe5aaec1d282384a36ed6fef0dd1e4edeeb7ff0e383cbfb3437ace0b662dad72d5dd960d9a2d72f56b104c0accfba ¿óÝŸlë?65db964d5fe58ccffff28844524902281d29a971a43493d5bbbe4acf9583f1b05d9d502289514b4666f8b997071ca2aa24eacb851b5788855b5224c678f35254a38f6bf561592929ebe0c0f911cca2467ffbbba83ad6e1fdf24d231ffb bg0|•Íó?ac1917c5d9688d246fdf2b31fb0d45e315e5d9f7f385071803435439f15e619b684c25ce3b2e6acd95f461d8f965c7a2786a6656d0d81ee00623d52854d9c3f5bef5e994c19c77c05bb5db8247021cd26fcc9edb24 5184be02e37a2ac ³$Tß4/ë¿ad383931106c37f617cb55af97fb3619e2155a4dfa89d0a7980ad14a5705fb9b128e890c75a0ea70c12506113d9c1e881ccc38455a21e99e0b8c2e84bc65ad87f3456633bc551117db926bddf40e4ff034c368dc3dd4f08db89986c49¸>ÈTREEÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ@B¸œ@€M€ÿÀF²@HEAP`Pˆ¢Øw (VERSION1.1 <@> HTITLE'Indexes container for table /data/table (CLASSTINDEX (VERSION1.0ˆCpTREEÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿG@U8HEAP°hxX(YP (VERSION1.1SNOD8(EPEpG€?¨?ÈAØjk m蔕0—ˆjP 8TITLEIndex for index column (CLASSINDEX (VERSION2.1 0 FILTERS@ 8 superblocksize@ 8 blocksize@ 8 slicesize  8 chunksize  8 optlevel  8 reduction  (ÿÿÿÿÿÿÿÿPH¸ 8shuffledeflateÿÿÿÿÿÿÿÿà’…^ 0CLASS INDEXARRAYSNOD0¸O(NIXhW@èR@ (VERSION1.1 0TITLE Sorted Values 0 EXTDIM  ¨(ÿÿÿÿÿÿÿÿ  8shuffledeflateÿÿÿÿÿÿÿÿà’…^ 0CLASS INDEXARRAY (VERSION1.1 8TITLENumber of chunk in table 0 EXTDIM   (ÿÿÿÿÿÿÿÿ@ 8shuffledeflateÿÿÿÿÿÿÿÿà’…^ 0CLASS CACHEARRAY (VERSION1.1 0TITLE Range Values 0 EXTDIM  ˆÿÿÿÿÿÿÿÿ@ 8shuffledeflateÿÿÿÿÿÿÿÿ à’…^ (CLASSEARRAY (VERSION1.1 0TITLE Median ranges 0 EXTDIM   (ÿÿÿÿÿÿÿÿ@ 8shuffledeflateÿÿÿÿÿÿÿÿà’…^ 0CLASS CACHEARRAY (VERSION1.1 0TITLEBoundary Values 0 EXTDIM  ˆÿÿÿÿÿÿÿÿ@ 8shuffledeflateÿÿÿÿÿÿÿÿ à’…^ (CLASSEARRAY (VERSION1.1 0TITLE Start bounds 0 EXTDIM  ˆÿÿÿÿÿÿÿÿ@ 8shuffledeflateÿÿÿÿÿÿÿÿ à’…^ (CLASSEARRAY (VERSION1.1 0TITLE End bounds 0 EXTDIM  ˆÿÿÿÿÿÿÿÿ@ 8shuffledeflateÿÿÿÿÿÿÿÿ à’…^ (CLASSEARRAY (VERSION1.1 0TITLE Median bounds 0 EXTDIM  ØV 8shuffledeflate(Zà’…^ 0CLASS LASTROWARRAYSNOD pLÀJøEH€T8PQxYX (VERSION1.1 @TITLELast Row sorted values + boundsèAH 8shuffledeflateXbà’…^ 0CLASS LASTROWARRAYsortedindicesrangesmrangesboundsaboundszboundsmboundssortedLRindicesLRHÐYX 0TITLELast Row indices@ 8 nelements d 8 nelements dTREEÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ¬%TREEÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ)ç$¨?ÈA 0 DIRTY ˜mpTREEÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿq@ 8HEAP°hˆ‚8ƒP (VERSION1.1˜”P 8TITLEIndex for int0 column (CLASSINDEX (VERSION2.1 0 FILTERS@ 8 superblocksize@ 8 blocksize@ 8 slicesize  8 chunksize  8 optlevel  8 reduction  (ÿÿÿÿÿÿÿÿ`r¸ 8shuffledeflateÿÿÿÿÿÿÿÿà’…^ 0CLASS INDEXARRAYSNOD0Èy(xsXx@ø| (VERSION1.1 0TITLE Sorted Values 0 EXTDIM  ¨(ÿÿÿÿÿÿÿÿ  8shuffledeflateÿÿÿÿÿÿÿÿà’…^ 0CLASS INDEXARRAY (VERSION1.1 8TITLENumber of chunk in table 0 EXTDIM   (ÿÿÿÿÿÿÿÿ  8shuffledeflateÿÿÿÿÿÿÿÿ à’…^ 0CLASS CACHEARRAY (VERSION1.1 0TITLE Range Values 0 EXTDIM  ˆÿÿÿÿÿÿÿÿ  8shuffledeflateÿÿÿÿÿÿÿÿ@à’…^ (CLASSEARRAY (VERSION1.1 0TITLE Median ranges 0 EXTDIM   (ÿÿÿÿÿÿÿÿ  8shuffledeflateÿÿÿÿÿÿÿÿà’…^ 0CLASS CACHEARRAY (VERSION1.1 0TITLEBoundary Values 0 EXTDIM  ˆÿÿÿÿÿÿÿÿ  8shuffledeflateÿÿÿÿÿÿÿÿ@à’…^ (CLASSEARRAY (VERSION1.1 0TITLE Start bounds 0 EXTDIM  ˆÿÿÿÿÿÿÿÿ  8shuffledeflateÿÿÿÿÿÿÿÿ@à’…^ (CLASSEARRAY (VERSION1.1 0TITLE End bounds 0 EXTDIM  ˆÿÿÿÿÿÿÿÿ  8shuffledeflateÿÿÿÿÿÿÿÿ@à’…^ (CLASSEARRAY (VERSION1.1 0TITLE Median bounds 0 EXTDIM  è€ 8shuffledeflate8„à’…^ 0CLASS LASTROWARRAYSNOD €vÐtpH~8`{ˆƒX (VERSION1.1 @TITLELast Row sorted values + bounds@mH 8shuffledeflatehŒà’…^ 0CLASS LASTROWARRAYsortedindicesrangesmrangesboundsaboundszboundsmboundssortedLRindicesLRHàƒX 0TITLELast Row indices 8 nelements d 8 nelements dTREEÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿD£$TREEÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ)z$k m 0 DIRTY ¨—pTREEÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ(›@°©8HEAP°h˜¬H­P (VERSION1.1¨¾P 8TITLEIndex for int1 column (CLASSINDEX (VERSION2.1 0 FILTERS@ 8 superblocksize@ 8 blocksize@ 8 slicesize  8 chunksize  8 optlevel  8 reduction  (ÿÿÿÿÿÿÿÿpœ¸ 8shuffledeflateÿÿÿÿÿÿÿÿà’…^ 0CLASS INDEXARRAYSNOD0Ø£((¢(Xˆ«@§ (VERSION1.1 0TITLE Sorted Values 0 EXTDIM  ¨(ÿÿÿÿÿÿÿÿ  8shuffledeflateÿÿÿÿÿÿÿÿà’…^ 0CLASS INDEXARRAY (VERSION1.1 8TITLENumber of chunk in table 0 EXTDIM   (ÿÿÿÿÿÿÿÿ  8shuffledeflateÿÿÿÿÿÿÿÿ à’…^ 0CLASS CACHEARRAY (VERSION1.1 0TITLE Range Values 0 EXTDIM  ˆÿÿÿÿÿÿÿÿ  8shuffledeflateÿÿÿÿÿÿÿÿ@à’…^ (CLASSEARRAY (VERSION1.1 0TITLE Median ranges 0 EXTDIM   (ÿÿÿÿÿÿÿÿ  8shuffledeflateÿÿÿÿÿÿÿÿà’…^ 0CLASS CACHEARRAY (VERSION1.1 0TITLEBoundary Values 0 EXTDIM  ˆÿÿÿÿÿÿÿÿ  8shuffledeflateÿÿÿÿÿÿÿÿ@à’…^ (CLASSEARRAY (VERSION1.1 0TITLE Start bounds 0 EXTDIM  ˆÿÿÿÿÿÿÿÿ  8shuffledeflateÿÿÿÿÿÿÿÿ@à’…^ (CLASSEARRAY (VERSION1.1 0TITLE End bounds 0 EXTDIM  ˆÿÿÿÿÿÿÿÿ  8shuffledeflateÿÿÿÿÿÿÿÿ@à’…^ (CLASSEARRAY (VERSION1.1 0TITLE Median bounds 0 EXTDIM  øª 8shuffledeflateH®à’…^ 0CLASS LASTROWARRAYSNOD  àžšH ¨8p¥˜­X (VERSION1.1 @TITLELast Row sorted values + boundsP—H 8shuffledeflatex¶à’…^ 0CLASS LASTROWARRAYsortedindicesrangesmrangesboundsaboundszboundsmboundssortedLRindicesLRHð­X 0TITLELast Row indices 8 nelements d 8 nelements dTREEÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿD6$TREEÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ) $•0— 0 DIRTY ¸ÁpTREEÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ8Å@ÀÓ8HEAP°h¨ÖX×P (VERSION1.1¸èP 8TITLEIndex for int2 column (CLASSINDEX (VERSION2.1 0 FILTERS@ 8 superblocksize@ 8 blocksize@ 8 slicesize  8 chunksize  8 optlevel  8 reduction  (ÿÿÿÿÿÿÿÿ€Æ¸ 8shuffledeflateÿÿÿÿÿÿÿÿà’…^ 0CLASS INDEXARRAYSNOD0èÍ(8Ì8ÇX˜Õ@Ñ (VERSION1.1 0TITLE Sorted Values 0 EXTDIM  ¨(ÿÿÿÿÿÿÿÿ  8shuffledeflateÿÿÿÿÿÿÿÿà’…^ 0CLASS INDEXARRAY (VERSION1.1 8TITLENumber of chunk in table 0 EXTDIM   (ÿÿÿÿÿÿÿÿ  8shuffledeflateÿÿÿÿÿÿÿÿ à’…^ 0CLASS CACHEARRAY (VERSION1.1 0TITLE Range Values 0 EXTDIM  ˆÿÿÿÿÿÿÿÿ  8shuffledeflateÿÿÿÿÿÿÿÿ@à’…^ (CLASSEARRAY (VERSION1.1 0TITLE Median ranges 0 EXTDIM   (ÿÿÿÿÿÿÿÿ  8shuffledeflateÿÿÿÿÿÿÿÿà’…^ 0CLASS CACHEARRAY (VERSION1.1 0TITLEBoundary Values 0 EXTDIM  ˆÿÿÿÿÿÿÿÿ  8shuffledeflateÿÿÿÿÿÿÿÿ@à’…^ (CLASSEARRAY (VERSION1.1 0TITLE Start bounds 0 EXTDIM  ˆÿÿÿÿÿÿÿÿ  8shuffledeflateÿÿÿÿÿÿÿÿ@à’…^ (CLASSEARRAY (VERSION1.1 0TITLE End bounds 0 EXTDIM  ˆÿÿÿÿÿÿÿÿ  8shuffledeflateÿÿÿÿÿÿÿÿ@à’…^ (CLASSEARRAY (VERSION1.1 0TITLE Median bounds 0 EXTDIM  Õ 8shuffledeflateXØà’…^ 0CLASS LASTROWARRAYSNOD  ÊðÈ(ÄH°Ò8€Ï¨×X (VERSION1.1 @TITLELast Row sorted values + bounds`ÁH 8shuffledeflateˆàà’…^ 0CLASS LASTROWARRAYsortedindicesrangesmrangesboundsaboundszboundsmboundssortedLRindicesLRHØX 0TITLELast Row indices 8 nelements d 8 nelements dTREEÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿDÉ#TREEÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ) # ¿@Á 0 DIRTY ÈëpTREEÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿHï@Ðý8HEAP°h¸hP (VERSION1.1ÈP 8TITLEIndex for int3 column (CLASSINDEX (VERSION2.1 0 FILTERS@ 8 superblocksize@ 8 blocksize@ 8 slicesize  8 chunksize  8 optlevel  8 reduction  (ÿÿÿÿÿÿÿÿð¸ 8shuffledeflateÿÿÿÿÿÿÿÿà’…^ 0CLASS INDEXARRAYSNOD0ø÷(HöHñX¨ÿ@(û (VERSION1.1 0TITLE Sorted Values 0 EXTDIM  ¨(ÿÿÿÿÿÿÿÿ  8shuffledeflateÿÿÿÿÿÿÿÿà’…^ 0CLASS INDEXARRAY (VERSION1.1 8TITLENumber of chunk in table 0 EXTDIM   (ÿÿÿÿÿÿÿÿ  8shuffledeflateÿÿÿÿÿÿÿÿ à’…^ 0CLASS CACHEARRAY (VERSION1.1 0TITLE Range Values 0 EXTDIM  ˆÿÿÿÿÿÿÿÿ  8shuffledeflateÿÿÿÿÿÿÿÿ@à’…^ (CLASSEARRAY (VERSION1.1 0TITLE Median ranges 0 EXTDIM   (ÿÿÿÿÿÿÿÿ  8shuffledeflateÿÿÿÿÿÿÿÿà’…^ 0CLASS CACHEARRAY (VERSION1.1 0TITLEBoundary Values 0 EXTDIM  ˆÿÿÿÿÿÿÿÿ  8shuffledeflateÿÿÿÿÿÿÿÿ@à’…^ (CLASSEARRAY (VERSION1.1 0TITLE Start bounds 0 EXTDIM  ˆÿÿÿÿÿÿÿÿ  8shuffledeflateÿÿÿÿÿÿÿÿ@à’…^ (CLASSEARRAY (VERSION1.1 0TITLE End bounds 0 EXTDIM  ˆÿÿÿÿÿÿÿÿ  8shuffledeflateÿÿÿÿÿÿÿÿ@à’…^ (CLASSEARRAY (VERSION1.1 0TITLE Median bounds 0 EXTDIM  ÿ 8shuffledeflatehà’…^ 0CLASS LASTROWARRAYSNOD °ôó8îHÀü8ù¸X (VERSION1.1 @TITLELast Row sorted values + boundspëH 8shuffledeflate˜ à’…^ 0CLASS LASTROWARRAYsortedindicesrangesmrangesboundsaboundszboundsmboundssortedLRindicesLRHX 0TITLELast Row indices 8 nelements d 8 nelements dTREEÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿD+TREEÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ)å*0éPë 0 DIRTY ØpTREEÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿX@à/8HEAP°hÈ2x3P (VERSION1.1ØDP 8TITLEIndex for int4 column (CLASSINDEX (VERSION2.1 0 FILTERS@ 8 superblocksize@ 8 blocksize@ 8 slicesize  8 chunksize  8 optlevel  8 reduction  (ÿÿÿÿÿÿÿÿ ¸ 8shuffledeflateÿÿÿÿÿÿÿÿà’…^ 0CLASS INDEXARRAYSNOD0"(X XX¸1@8- (VERSION1.1 0TITLE Sorted Values 0 EXTDIM  ¨(ÿÿÿÿÿÿÿÿ  8shuffledeflateÿÿÿÿÿÿÿÿà’…^ 0CLASS INDEXARRAY (VERSION1.1 8TITLENumber of chunk in table 0 EXTDIM   (ÿÿÿÿÿÿÿÿ  8shuffledeflateÿÿÿÿÿÿÿÿ à’…^ 0CLASS CACHEARRAY (VERSION1.1 0TITLE Range Values 0 EXTDIM  ˆÿÿÿÿÿÿÿÿ  8shuffledeflateÿÿÿÿÿÿÿÿ@à’…^ (CLASSEARRAY (VERSION1.1 0TITLE Median ranges 0 EXTDIM   (ÿÿÿÿÿÿÿÿ  8shuffledeflateÿÿÿÿÿÿÿÿà’…^ 0CLASS CACHEARRAY (VERSION1.1 0TITLEBoundary Values 0 EXTDIM  ˆÿÿÿÿÿÿÿÿ  8shuffledeflateÿÿÿÿÿÿÿÿ@à’…^ (CLASSEARRAY (VERSION1.1 0TITLE Start bounds 0 EXTDIM xíÐ  ÷Om( 0`À€ 0`À€÷xíл Ñð'û/Œ„°ÐÜ5.-=3•NY•X=5Õoc7Cþd®@@@~,¡¯âxíÐ  ÷Om( 0`À€ 0`À€÷xíл Ñð'û/La…¨î*w–žYªDõÖTW#š©¥väoæéƒ‰ € € €ßÖÙxíÐ  ÷Om( 0`À€ 0`À€÷xíл Ñó{^ÿ +¨,X€ÑL´ÙÂ3SIå]Qõ©©®ü6N±²Ð @@@þ L‘ù xíÐ  ÷Om( 0`À€ 0`À€÷xíÐUB@Á%EBI%T¤;¤»[bïNáß›#Œ ‘Êä åƒêQ­Ñêžô†g£Él±Úì§ëÅíñúü×·`(yÿøŒ~Åâ‰d*Éæò…b©\©Öêß?æo«Ýéöúƒáh<™Îæ‹åj½Ùîö‡ãéï|¹ÞDAÀ 0À 0À 0À 0À 0À 0À 0Àÿ8p;ºxíÐ  ÷Om( 0`À€ 0`À€÷xí˜Ûµ,7DOHp‚üC0s|m§0kYõ7­ùPïî¢K°þÿ´ÿ•üJ?²‘ÿ£ÿ”¿º¿ª?ê žGà 0û@Úãë…¢—dω·j÷ÌÉš?Í`8yaÍ‚œLöSD[νÕˬªi,>¿Ð²šŸÿ¿ðÉ¿-=??ã|–KIQ˜®3VßtlŽÛº1®ÖÚ¥ûfdš˜ Ĥ-0;(¨W¯˜›ãñ‹c[E:BÁõ‘~o$Àt+—TßS{R•1ÁæÈÖ¶Tß|wP­&^÷(תºº9¡ØÎ²òpžUмÛt-8EXžk'2~ã¿==@zNš·KziÒ|‚Û$xÃÕÑ6yŸm<.}*ùÌÙ*×QY"Û·¨§Ûá½D-Q ô3V`EXìÅÉó#ð|#³£>©¿R&ÔKOÇ’›µ³CËî¹™g±G§Íi*‚”ÄVé‹¶çšö1ÎiÃe¬ßkFŠÌçŸçÿo|ôoOÀOÝО£¼œ*R‡ qüÐpŸ^o¾ïkfÀ š|0Ÿóé#ècþ üÜ„Út—ŠVN0eÒ‰‰P.¼°^þoÚ#ð•ÖŽO7†vž1 2.¾}¤jм©ü£±÷M²äšÁõY[·(§ó›¦o®ºÊœý7òÁ+$í¹zê…üÊ[›zþ÷þÙßPxíÐ  ÷Om( 0`À€ 0`À€÷xí™Ù­ì8 DoHÜI…#’Rþ! û-ƒ ¡QýlC:vq3ÀÿˆþŠKþ#ýÈþÊ+þhí•YÕ¿tF÷#¸?OÀ#ð…ÖÚuHvÖùuìq­¯Õs$fÏÇ\sÈ,¹ÇA‹Xç’Gdõ¥ !"±ª¶5[ÎChžh^u×óÿ¾ù·¤Gàç‡ÄM¹{uu IÞZ»óz#sè:ceUŠlÀÝicë¸ÝÛ¹ݎç™ka¢F›ÖØrù°vQ=ÒÀ#ðÐ xì<–Õ^t %{—¬=¡ÀI½`\¬S8ì2·¯‚{Ÿ¢ÝWë¨[¶*Ÿ+Xp-3UQ¨Ô%(߸ó·¦GàOšg‹³èŒÿËZ«ìLdX™tPÎ ÁÐZ6ÕAôâIÿ …¾µ2ˆ'ÿ»lê=Éq"±(œGà ÐÉž>_ó^ä8vBTdÊyZ¹\ïu1Ši$MyCéÞìåèv…ëšÄöåx½Pã$ê” ÛŒìwþÖô<§©qÝ$TLîϳc\;u~W±F‡N[?Y|…Êϼ€RHðVœ d¸‚0’Š­%•¦–˜ OLÉK÷¼ùßûЯ$z·,žÞ>Ä÷²¬ùÇŽpqfRÁ®ck¸ŸAßÿZ¨#gÈŸbp§èßBŠsWMuÀ‹»äèrNþÊ­¿E=ÿ{ÿ'à5xíÐ  ÷Om( 0`À€ 0`À€÷xíÐ  ÷Om( 0`À€ 0`À€÷xíл Ñð'û/Œ B2ÐÜn-=³S’rT´úÖn=»)¹f', € € €üXåÖxíÐ  ÷Om( 0`À€ 0`À€÷xíл Ñð'û/La@a𻯥¥g¦’Ê·òVCíÔÕP3æ!ó} € € € €ÀcâÞxíÐ  ÷Om( 0`À€ 0`À€÷ ˆÿÿÿÿÿÿÿÿ  8shuffledeflateÿÿÿÿÿÿÿÿ@à’…^ (CLASSEARRAY (VERSION1.1 0TITLE End bounds 0 EXTDIM  ˆÿÿÿÿÿÿÿÿ  8shuffledeflateÿÿÿÿÿÿÿÿ@à’…^ (CLASSEARRAY (VERSION1.1 0TITLE Median bounds 0 EXTDIM  (1 8shuffledeflatex4à’…^ 0CLASS LASTROWARRAYSNOD ÀHHÐ.8 +È3X (VERSION1.1 @TITLELast Row sorted values + bounds€H 8shuffledeflate¨<à’…^ 0CLASS LASTROWARRAYsortedindicesrangesmrangesboundsaboundszboundsmboundssortedLRindicesLRH 4X 0TITLELast Row indices 8 nelements d 8 nelements dTREEÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿD¡*TREEÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ)x*@` 0 DIRTY èGpTREEÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿhK@@Z8HEAP°h0]à]P (VERSION1.1HoP 8TITLEIndex for float column (CLASSINDEX (VERSION2.1 0 FILTERS@ 8 superblocksize@ 8 blocksize@ 8 slicesize  8 chunksize  8 optlevel  8 reduction  (ÿÿÿÿÿÿÿÿ ?@4 4ÿ 8shuffledeflateÿÿÿÿÿÿÿÿà’…^°LØSNOD0PT(˜RˆMX \@W 0CLASS INDEXARRAY (VERSION1.1 0TITLE Sorted Values 0 EXTDIM  ¨(ÿÿÿÿÿÿÿÿ  8shuffledeflateÿÿÿÿÿÿÿÿà’…^ 0CLASS INDEXARRAY (VERSION1.1 8TITLENumber of chunk in table 0 EXTDIM  ¨(ÿÿÿÿÿÿÿÿ ?@4 4ÿ 8shuffledeflateÿÿÿÿÿÿÿÿà’…^ 0CLASS CACHEARRAY (VERSION1.1 0TITLE Range Values 0 EXTDIM  ÿÿÿÿÿÿÿÿ ?@4 4ÿ 8shuffledeflateÿÿÿÿÿÿÿÿ à’…^ (CLASSEARRAY (VERSION1.1 0TITLE Median ranges 0 EXTDIM  ¨(ÿÿÿÿÿÿÿÿ ?@4 4ÿ 8shuffledeflateÿÿÿÿÿÿÿÿà’…^ 0CLASS CACHEARRAY (VERSION1.1 0TITLEBoundary Values 0 EXTDIM  ÿÿÿÿÿÿÿÿ ?@4 4ÿ 8shuffledeflateÿÿÿÿÿÿÿÿ à’…^ (CLASSEARRAY (VERSION1.1 0TITLE Start bounds 0 EXTDIM  ÿÿÿÿÿÿÿÿ ?@4 4ÿ 8shuffledeflateÿÿÿÿÿÿÿÿ à’…^ (CLASSEARRAY (VERSION1.1 0TITLE End bounds 0 EXTDIM  ÿÿÿÿÿÿÿÿ ?@4 4ÿ 8shuffledeflateÿÿÿÿÿÿÿÿ à’…^ (CLASSEARRAY (VERSION1.1 0TITLE Median bounds 0 EXTDIM  ˆ[˜0^` 8shuffledeflateè^à’…^ 0CLASS LASTROWARRAYSNOD øP@OXJH0Y8ðU (VERSION1.1 @TITLELast Row sorted values + boundsGH 8shuffledeflategà’…^ 0CLASS LASTROWARRAYsortedindicesrangesmrangesboundsaboundszboundsmboundssortedLRindicesLRH^X 0TITLELast Row indices ?@4 4ÿ 8 nelements d 8 nelements dTREEÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿXP÷TREEÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ)O*PEpG 0 DIRTY sxTREEÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿv@À„8HEAP°h‡@ˆP (VERSION1.1è£Ð @TITLEIndex for object_1_7 column (CLASSINDEX (VERSION2.1¨™P @TITLEIndex for object_1_0 column (CLASSINDEX (VERSION2.1 0 FILTERS@ 8 superblocksize@ 8 blocksize@ 8 slicesize  8 chunksize  8 optlevel  8 reduction (ÿÿÿÿÿÿÿÿ 8shuffledeflate`>Pà’…^ 0CLASS INDEXARRAYSNOD0(X}hxX€†@ ‚ÿÿÿÿÿÿÿÿ 0TITLE Sorted Values 0 EXTDIM  ¨(ÿÿÿÿÿÿÿÿ  8shuffledeflateÿÿÿÿÿÿÿÿà’…^ 0CLASS INDEXARRAY (VERSION1.1 8TITLENumber of chunk in table 0 EXTDIM  ˜(ÿÿÿÿÿÿÿÿ 8shuffledeflateÿÿÿÿÿÿÿÿà’…^ 0CLASS CACHEARRAY (VERSION1.1 0TITLE Range Values 0 EXTDIM  €ÿÿÿÿÿÿÿÿ 8shuffledeflateÿÿÿÿÿÿÿÿ à’…^ (CLASSEARRAY (VERSION1.1 0TITLE Median ranges 0 EXTDIM  ˜(ÿÿÿÿÿÿÿÿ 8shuffledeflateÿÿÿÿÿÿÿÿà’…^ 0CLASS CACHEARRAY (VERSION1.1 0TITLEBoundary Values 0 EXTDIM  €ÿÿÿÿÿÿÿÿ 8shuffledeflateÿÿÿÿÿÿÿÿ à’…^ (CLASSEARRAY (VERSION1.1 0TITLE Start bounds 0 EXTDIM  €ÿÿÿÿÿÿÿÿ 8shuffledeflateÿÿÿÿÿÿÿÿ à’…^ (CLASSEARRAY (VERSION1.1 0TITLE End bounds 0 EXTDIM  €ÿÿÿÿÿÿÿÿ 8shuffledeflateÿÿÿÿÿÿÿÿ à’…^ (CLASSEARRAY (VERSION1.1 0TITLE Median bounds 0 EXTDIM  ˆ` 8shuffledeflateH‰à’…^ 0CLASS LASTROWARRAY†xSNOD È{ z€uH°ƒ8€ (VERSION1.1 @TITLELast Row sorted values + boundsrH 8shuffledeflatex‘à’…^ 0CLASS LASTROWARRAYsortedindicesrangesmrangesboundsaboundszboundsmboundssortedLRindicesLRHðˆX 0TITLELast Row indices 8 nelements d 8 nelements dTREEÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ1(TREEÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ)(Àoàq 0 DIRTY žxTREEÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿˆ¡@è¯8HEAP°h¸²h³P (VERSION1.1SNOD ø¾ ¿@Á(é0éPë0@`@˜oÀoàqÐÄP @TITLEIndex for object_1_1 column (CLASSINDEX (VERSION2.1 0 FILTERS@ 8 superblocksize@ 8 blocksize@ 8 slicesize  8 chunksize  8 optlevel  8 reduction  (ÿÿÿÿÿÿÿÿ 8shuffledeflateТÀà’…^ 0CLASS INDEXARRAYSNOD0(ª(€¨£X¨±@H­ÿÿÿÿÿÿÿÿ (VERSION1.1 0TITLE Sorted Values 0 EXTDIM  ¨(ÿÿÿÿÿÿÿÿ  8shuffledeflateÿÿÿÿÿÿÿÿà’…^ 0CLASS INDEXARRAY (VERSION1.1 8TITLENumber of chunk in table 0 EXTDIM  ˜(ÿÿÿÿÿÿÿÿ 8shuffledeflateÿÿÿÿÿÿÿÿà’…^ 0CLASS CACHEARRAY (VERSION1.1 0TITLE Range Values 0 EXTDIM  €ÿÿÿÿÿÿÿÿ 8shuffledeflateÿÿÿÿÿÿÿÿ à’…^ (CLASSEARRAY (VERSION1.1 0TITLE Median ranges 0 EXTDIM  ˜(ÿÿÿÿÿÿÿÿ 8shuffledeflateÿÿÿÿÿÿÿÿà’…^ 0CLASS CACHEARRAY (VERSION1.1 0TITLEBoundary Values 0 EXTDIM  €ÿÿÿÿÿÿÿÿ 8shuffledeflateÿÿÿÿÿÿÿÿ à’…^ (CLASSEARRAY (VERSION1.1 0TITLE Start bounds 0 EXTDIM  €ÿÿÿÿÿÿÿÿ 8shuffledeflateÿÿÿÿÿÿÿÿ à’…^ (CLASSEARRAY (VERSION1.1 0TITLE End bounds 0 EXTDIM  €ÿÿÿÿÿÿÿÿ 8shuffledeflateÿÿÿÿÿÿÿÿ à’…^ (CLASSEARRAY (VERSION1.1 0TITLE Median bounds 0 EXTDIM  ¸³` 8shuffledeflatep´à’…^ 0CLASS LASTROWARRAY0±xSNOD ð¦H¥x HØ®8¸« (VERSION1.1 @TITLELast Row sorted values + bounds`œH 8shuffledeflate ¼à’…^ 0CLASS LASTROWARRAYsortedindicesrangesmrangesboundsaboundszboundsmboundssortedLRindicesLRH´X 0TITLELast Row indices 8 nelements d 8 nelements dTREEÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ#å%TREEÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ)¼% š@œ 0 DIRTY àÇxTREEÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿhË@ÈÙ8HEAP°h˜ÜHÝP (VERSION1.1°îP @TITLEIndex for object_1_2 column (CLASSINDEX (VERSION2.1 0 FILTERS@ 8 superblocksize@ 8 blocksize@ 8 slicesize  8 chunksize  8 optlevel  8 reduction  (ÿÿÿÿÿÿÿÿ 8shuffledeflate°ÌÀà’…^ 0CLASS INDEXARRAYSNOD0Ô(`ÒpÍXˆÛ@(×ÿÿÿÿÿÿÿÿ (VERSION1.1 0TITLE Sorted Values 0 EXTDIM  ¨(ÿÿÿÿÿÿÿÿ  8shuffledeflateÿÿÿÿÿÿÿÿà’…^ 0CLASS INDEXARRAY (VERSION1.1 8TITLENumber of chunk in table 0 EXTDIM  ˜(ÿÿÿÿÿÿÿÿ 8shuffledeflateÿÿÿÿÿÿÿÿà’…^ 0CLASS CACHEARRAY (VERSION1.1 0TITLE Range Values 0 EXTDIM  €ÿÿÿÿÿÿÿÿ 8shuffledeflateÿÿÿÿÿÿÿÿ à’…^ (CLASSEARRAY (VERSION1.1 0TITLE Median ranges 0 EXTDIM  ˜(ÿÿÿÿÿÿÿÿ 8shuffledeflateÿÿÿÿÿÿÿÿà’…^ 0CLASS CACHEARRAY (VERSION1.1 0TITLEBoundary Values 0 EXTDIM  €ÿÿÿÿÿÿÿÿ 8shuffledeflateÿÿÿÿÿÿÿÿ à’…^ (CLASSEARRAY (VERSION1.1 0TITLE Start bounds 0 EXTDIM  €ÿÿÿÿÿÿÿÿ 8shuffledeflateÿÿÿÿÿÿÿÿ à’…^ (CLASSEARRAY (VERSION1.1 0TITLE End bounds 0 EXTDIM  €ÿÿÿÿÿÿÿÿ 8shuffledeflateÿÿÿÿÿÿÿÿ à’…^ (CLASSEARRAY (VERSION1.1 0TITLE Median bounds 0 EXTDIM  ˜Ý` 8shuffledeflatePÞà’…^ 0CLASS LASTROWARRAYÛxSNOD ÐÐ(ÏXÊH¸Ø8˜Õ (VERSION1.1 @TITLELast Row sorted values + boundsˆÇH 8shuffledeflate€æà’…^ 0CLASS LASTROWARRAYsortedindicesrangesmrangesboundsaboundszboundsmboundssortedLRindicesLRHøÝX 0TITLELast Row indices 8 nelements d 8 nelements dTREEÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ$Ï´TREEÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ)¦´HÅhÇ 0 DIRTY ÀñxTREEÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿHõ@¨ 8HEAP°hx(P (VERSION1.1 P @TITLEIndex for object_1_3 column (CLASSINDEX (VERSION2.1 0 FILTERS@ 8 superblocksize@ 8 blocksize@ 8 slicesize  8 chunksize  8 optlevel  8 reduction  (ÿÿÿÿÿÿÿÿ 8shuffledeflateöÀà’…^ 0CLASS INDEXARRAYSNOD0è(@PÿXh @ ÿÿÿÿÿÿÿÿ (VERSION1.1 0TITLE Sorted Values 0 EXTDIM xíÐÿ3ÓqÇñ-WݲZ"«#ÕÅi¡¥”¾Lµ«\H›.YÅ®’cÚå¦.)jL_ôÅ.k¾®’ ‡æSk&ߺ ù|Žiöi¾l4k[$SןÐoûáýú ž¯ÇUæPÍÇ ü*“×®O²ë¯c»òÝØL¼ƒ@ÜI åLx¾éJ™;±^ý‰Ìd¬`ú4aT§§oZ{‰?2úWõL þ‹¶èÍ…?™èÊY£äÂ-×c·™ýüïå|i…03€A `ƒš güòËÄ•sÂ1SZN‡Ï†"Œ¸T£> äT¦çuT;™m‹*òó¦ã~ÞáD÷‘®¥M憖Ö YTò£€k4Ï¡#”ãrý¤ýiÒ,ÜØ ¼öæµ÷ÒçÈQÍšf<’€@á8^’³4ÍëRõ)Ì ~±”ŽÀ†ÔCe¢Ü2QkÄV¬©X“Þx)OB*Î%¹¼MÎ?z$¸c¨gç}Çt•]o‘lñP|ÚG#g/#N…Øv  ïTµ®Ëgwû–„.,éÚm Sšqf €€- ´ÜI@h"5ƒä¾j$?(õ+û [Sö뼺ª’«•º¥æQ174´Ë.0{H«î £®)ɪ ö´e­/ ïw\À =Pm÷V ¼ÊKÌâ+7cªŸ-Ù^uòñuŒLÀz¹rØòé3¯…g‹ÏAŠwèMÏÇ’¢ê *ø8Ç·Í «ÂÏ{B¡ÈWû%Ò3¾P†«ÛŠ'Ä:GËCÄ5\¼cÝвOëyj;§†”ùûy±´èë'ˆ#™ølENWú$죫€Xû¡<΃¡`g lQ þš#u£u”'y% ùÜÆ¡.B™ÁB¼ÿBòßJ¸rw—Þ"‚£½ö^Šñpßå܉péœØéÖ¹3£õ3lŠÜP=kù‚Õ¶“ÈwÂQîjb7šÁËkômˆÇÆcmñ9h@À:ÿÛl4N †ïSS““zýÄÄØ(‚hFÔÃ*•jp† ¾^¥âsOwG»\ÚZSZYQûVÜ"‘Je²O eßA0<¨A¾iÇt:^?5m4™Læ³ÌÌΡYg lQ@òÿÛ÷£P$[|š€ø 5ê¿|xí™ Ž1…{$ÀðqÌßýPv·j¯©~R¤Èq$Ï7áÞàè[kÄ£ý#ù'ý–Îèþ•)FùGõ­þ+è_OÀ#ð`Ÿ€)öMb·›X 9äz;Ðú2ƒKÍ¢p^Y0Ë<+§Æ+Ô‰YpÍBÔ÷G´ÌÆ#ªúÕÿÞøw¤G`ôBO°£Zl» VnîJE¿RMY‰Q+ªw”·Z‰,>à°«„ÐwÐe²Õ-6n`&ÁV¸wï‡úx>‘€¥«+Öø€<½‰±pÝG:¬©¤­¨{™^Ú@z©YBöa_ê»ó^Iž6€œùöþò‘ÕÇe;ŸxåïLÀ#@¨ ‰÷*Ò´ºˆóžÏ¹Èœk[û2`¶!,Ìpž1 ·œ  œ&àH‚g9äN2ÜE¦0ßÈ™(f×ãü<ŸH ²¨ÌÂ&¨£Î´2½ÓSè«ô¥nÀMÔ[A§ÂÏßz¦ì}¦äãI‡òt—èìǘ\ðÕÿ'Þúw¦Gà ß`U‰2%BéUVÊÉ-¤6Y`OD8Ðtûk…N˜Ñ¥™-‚çôuóKã ‡ÁàN–Hî¾”yàõÿï—ö|$­$®gþÏq½³=víÛ3É ø4úó¤/怛ê™uÖ=!áLøÁ{Úƒ™x§‡% ©*åì6âÔdËG^ú;Ô#ðßø ãØßõxíÐ  ÷Om( 0`À€ 0`À€÷xí˜Û%+ E'$¿ð#Àvþ!ŒO÷é†p>Ø%Š¢$Xö¶>Âÿ‰~Ä#ùÕúO:²¹Ç?í__ÝåGõOÝОGà -‹dYfYÝrNÎŒ^$;M4‘@µQ-Ø>W7|æ–ïšØ³œxÙÞ9ÂopÌ¿÷N`Aùƒ¿-=À05)[Â…‹Z÷qÁê«É>¹žì2ÔF^™¸3¢>ÑbaóÑ k—¯*.C.ËíèB`ßY§é ú@?À7&ìwEeo‡Éç묾yKp¥4l9cVbžXóRJ¾Âi[eúÍŒ}ë(ï¬FW]G&Üqâßxò·§GàðÜ<ºÌ“d'YX¡¬¦ íR+Çì6P¡Ýhuã3’ì¸*‰pŒEP÷B![SX¬kc.î¯Çùx¾‘ÀÕHÑ¢ÜQ1Ãr:Ž]¾æ%úTóR¨íSõ×Y„1ÉƧzkî=½‚+Rš7¿ñäoOÀ#0.}ÚxºMZÑhM¶> ÎȾ½²Vw6Ùw@ï›qwñ„s›b`9¡_ŸšI& `ž@ ±çÃ'îü­éxþ jâƒxíÐ  ÷Om( 0`À€ 0`À€÷xí™Á‘ä0E'$@€ $Dþ!,ž®šMÁU­ðAæ ½nà#ü ÿD4ñGò‘þ×lÙ#ÿSg_؇Xýøë1_—À+ „e·kê'KÍ@³½<Ö"˜ºûRŸG :aázúªÉTÙ…A]ÝiEí#ÚAŒÓ£»³¼Tzý•G¿›º¾žÀ?.îß!xíÐ  ÷Om( 0`À€ 0`À€÷xíÐ  ÷Om( 0`À€ 0`À€÷xí˜Û­$1DoH`6áðÌ?„e´w7†ùp}u[´ä>VaàŸð£õ_ûWô+þ•|tF÷#ýÈÌÿ*FùQ}Ôÿýóô<_HåXŒ[™#ùš7‰¨{!«æDì±‰ÍøNèm\,%M¤–ÕÄÚk–÷íÞ|æCŸÈçÿ/<ù·¥Gàç'Ư”ˆcVƒŠ·YIôÊ#¸:µoÂä0g?F˜×ÖÝwE2 ä%ÑÒð&_.÷ÜÀ¾+Ö#ý<ßH ,9ïÎã yÇ*£ë¼¯ãîZe·¯ó‚â 0°–S‰êé0R„˜˜Y¼STÀ=y!ðÿüíéx¨Î=”t¦ ‰~¼KÅ(Q²*W/Ûv·ì£­×ö.ê.‚¹æî̂դŽåÔÊ|Ò 91=ÎÀ#ð°Ç³›¦nG†iìõ(ßUpOíPëœyñN¡VW”Úv²ù¦«ôqsX+ä¤Ìà@kr”·N1¡H×…ðùÿþíéøÙ2ù6ÐÕÑ3Ò¯»–‚ÜÉ|˜k«VÖ˜>a[8ØÔþU´É®Lãß}iõ-9 %™“@vµMªØ[,}ûý<ßH`îçÂéõõ@žã´eꞎN¤-£yj†iñQÒ§bH`Ó™ˆ;èd‡% GövñY^œÖ «,xµSß7ÿÿÆ£{z~þÓßOxíÐ  ÷Om( 0`À€ 0`À€÷xíÐ  ÷Om( 0`À€ 0`À€÷xíÐ  ÷Om( 0`À€ 0`À€÷xíÐ  ÷Om( 0`À€ 0`À€÷xíÐ  ÷Om( 0`À€ 0`À€÷xíÐ  ÷Om( 0`À€ 0`À€÷xíÐ  ÷Om( 0`À€ 0`À€÷ €ÿÿÿÿÿÿÿÿ 8shuffledeflateÿÿÿÿÿÿÿÿ à’…^ (CLASSEARRAY (VERSION1.1 0TITLE Median bounds 0 EXTDIM  øÀ` 8shuffledeflate°Áà’…^ 0CLASS LASTROWARRAYp¾xSNOD 0¬ˆª¸¥H¼8ø° (VERSION1.1 @TITLELast Row sorted values + bounds0¢H 8shuffledeflateàÉà’…^ 0CLASS LASTROWARRAYsortedindicesrangesmrangesboundsaboundszboundsmboundssortedLRindicesLRHXÁX 0TITLELast Row indices 8 nelements d 8 nelements dTREEÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ!q‹TREEÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ)ˆ¹ðŸ¢ 0 DIRTY  ÕxTREEÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ¨Ø@ç8HEAP°hØéˆêP (VERSION1.1ðûP @TITLEIndex for object_1_8 column (CLASSINDEX (VERSION2.1 0 FILTERS@ 8 superblocksize@ 8 blocksize@ 8 slicesize  8 chunksize  8 optlevel  8 reduction  (ÿÿÿÿÿÿÿÿ 8shuffledeflateðÙÀà’…^ 0CLASS INDEXARRAYSNOD0Há( ß°ÚXÈè@häÿÿÿÿÿÿÿÿ (VERSION1.1 0TITLE Sorted Values 0 EXTDIM  ¨(ÿÿÿÿÿÿÿÿ  8shuffledeflateÿÿÿÿÿÿÿÿà’…^ 0CLASS INDEXARRAY (VERSION1.1 8TITLENumber of chunk in table 0 EXTDIM  ˜(ÿÿÿÿÿÿÿÿ 8shuffledeflateÿÿÿÿÿÿÿÿà’…^ 0CLASS CACHEARRAY (VERSION1.1 0TITLE Range Values 0 EXTDIM  €ÿÿÿÿÿÿÿÿ 8shuffledeflateÿÿÿÿÿÿÿÿ à’…^ (CLASSEARRAY (VERSION1.1 0TITLE Median ranges 0 EXTDIM  ˜(ÿÿÿÿÿÿÿÿ 8shuffledeflateÿÿÿÿÿÿÿÿà’…^ 0CLASS CACHEARRAY (VERSION1.1 0TITLEBoundary Values 0 EXTDIM  €ÿÿÿÿÿÿÿÿ 8shuffledeflateÿÿÿÿÿÿÿÿ à’…^ (CLASSEARRAY (VERSION1.1 0TITLE Start bounds 0 EXTDIM  €ÿÿÿÿÿÿÿÿ 8shuffledeflateÿÿÿÿÿÿÿÿ à’…^ (CLASSEARRAY (VERSION1.1 0TITLE End bounds 0 EXTDIM  €ÿÿÿÿÿÿÿÿ 8shuffledeflateÿÿÿÿÿÿÿÿ à’…^ (CLASSEARRAY (VERSION1.1 0TITLE Median bounds 0 EXTDIM  Øê` 8shuffledeflateëà’…^ 0CLASS LASTROWARRAYPèxSNOD Þhܘ×Høå8Øâ (VERSION1.1 @TITLELast Row sorted values + boundsÈÔH 8shuffledeflateÀóà’…^ 0CLASS LASTROWARRAYsortedindicesrangesmrangesboundsaboundszboundsmboundssortedLRindicesLRH8ëX 0TITLELast Row indices 8 nelements d 8 nelements dTREEÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ"O‰TREEÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ)_¹ˆÒ¨Ô 0 DIRTY HxTREEÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÐ@08HEAP°h°P (VERSION1.1SNODÀJèJM èuv0x°ÈŸðŸ¢À`ÒˆÒ¨Ô'P @TITLEIndex for object_1_9 column (CLASSINDEX (VERSION2.1 0 FILTERS@ 8 superblocksize@ 8 blocksize@ 8 slicesize  8 chunksize  8 optlevel  8 reduction  (ÿÿÿÿÿÿÿÿ 8shuffledeflateÀà’…^ 0CLASS INDEXARRAYSNOD0p (È ØXð@ÿÿÿÿÿÿÿÿ (VERSION1.1 0TITLE Sorted Values 0 EXTDIM  ¨(ÿÿÿÿÿÿÿÿ  8shuffledeflateÿÿÿÿÿÿÿÿà’…^ 0CLASS INDEXARRAY (VERSION1.1 8TITLENumber of chunk in table 0 EXTDIM  ˜(ÿÿÿÿÿÿÿÿ 8shuffledeflateÿÿÿÿÿÿÿÿà’…^ 0CLASS CACHEARRAY (VERSION1.1 0TITLE Range Values 0 EXTDIM  €ÿÿÿÿÿÿÿÿ 8shuffledeflateÿÿÿÿÿÿÿÿ à’…^ (CLASSEARRAY (VERSION1.1 0TITLE Median ranges 0 EXTDIM  ˜(ÿÿÿÿÿÿÿÿ 8shuffledeflateÿÿÿÿÿÿÿÿà’…^ 0CLASS CACHEARRAY (VERSION1.1 0TITLEBoundary Values 0 EXTDIM  €ÿÿÿÿÿÿÿÿ 8shuffledeflateÿÿÿÿÿÿÿÿ à’…^ (CLASSEARRAY (VERSION1.1 0TITLE Start bounds 0 EXTDIM  €ÿÿÿÿÿÿÿÿ 8shuffledeflateÿÿÿÿÿÿÿÿ à’…^ (CLASSEARRAY (VERSION1.1 0TITLE End bounds 0 EXTDIM  €ÿÿÿÿÿÿÿÿ 8shuffledeflateÿÿÿÿÿÿÿÿ à’…^ (CLASSEARRAY (VERSION1.1 0TITLE Median bounds 0 EXTDIM  ` 8shuffledeflate¸à’…^ 0CLASS LASTROWARRAYxxSNOD 8 ÀH 8 (VERSION1.1 @TITLELast Row sorted values + bounds¨þH 8shuffledeflateèà’…^ 0CLASS LASTROWARRAYsortedindicesrangesmrangesboundsaboundszboundsmboundssortedLRindicesLRH`X 0TITLELast Row indices 8 nelements d 8 nelements dTREEÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿE·TREEÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ)·hüˆþ 0 DIRTY (*xTREEÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ°-@<8HEAP°hà>?P (VERSION1.1øPP @TITLEIndex for object_2_0 column (CLASSINDEX (VERSION2.1 0 FILTERS@ 8 superblocksize@ 8 blocksize@ 8 slicesize  8 chunksize  8 optlevel  8 reduction  (ÿÿÿÿÿÿÿÿ 8shuffledeflateø.Àà’…^ 0CLASS INDEXARRAYSNOD0P6(¨4¸/XÐ=@p9ÿÿÿÿÿÿÿÿ (VERSION1.1 0TITLE Sorted Values 0 EXTDIM  ¨(ÿÿÿÿÿÿÿÿ  8shuffledeflateÿÿÿÿÿÿÿÿà’…^ 0CLASS INDEXARRAY (VERSION1.1 8TITLENumber of chunk in table 0 EXTDIM  ˜(ÿÿÿÿÿÿÿÿ 8shuffledeflateÿÿÿÿÿÿÿÿˆà’…^ 0CLASS CACHEARRAY (VERSION1.1 0TITLE Range Values 0 EXTDIM  €ÿÿÿÿÿÿÿÿ 8shuffledeflateÿÿÿÿÿÿÿÿà’…^ (CLASSEARRAY (VERSION1.1 0TITLE Median ranges 0 EXTDIM  ˜(ÿÿÿÿÿÿÿÿ 8shuffledeflateÿÿÿÿÿÿÿÿà’…^ 0CLASS CACHEARRAY (VERSION1.1 0TITLEBoundary Values 0 EXTDIM  €ÿÿÿÿÿÿÿÿ 8shuffledeflateÿÿÿÿÿÿÿÿà’…^ (CLASSEARRAY (VERSION1.1 0TITLE Start bounds 0 EXTDIM  €ÿÿÿÿÿÿÿÿ 8shuffledeflateÿÿÿÿÿÿÿÿà’…^ (CLASSEARRAY (VERSION1.1 0TITLE End bounds 0 EXTDIM  €ÿÿÿÿÿÿÿÿ 8shuffledeflateÿÿÿÿÿÿÿÿà’…^ (CLASSEARRAY (VERSION1.1 0TITLE Median bounds 0 EXTDIM  à?` 8shuffledeflate˜@à’…^ 0CLASS LASTROWARRAYX=xSNOD 3p1 ,H;8à7 (VERSION1.1 @TITLELast Row sorted values + boundsÐ)H 8shuffledeflateÈHà’…^ 0CLASS LASTROWARRAYsortedindicesrangesmrangesboundsaboundszboundsmboundssortedLRindicesLRH@@X 0TITLELast Row indices 8 nelements d 8 nelements dTREEÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ0…TREEÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ)ó¶'°) 0 DIRTY TxTREEÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿW@ðe8HEAP°hÀhpiP (VERSION1.1ØzP @TITLEIndex for object_2_1 column (CLASSINDEX (VERSION2.1 0 FILTERS@ 8 superblocksize@ 8 blocksize@ 8 slicesize  8 chunksize  8 optlevel  8 reduction  (ÿÿÿÿÿÿÿÿ 8shuffledeflateØXÀà’…^ 0CLASS INDEXARRAYSNOD00`(ˆ^˜YX°g@Pcÿÿÿÿÿÿÿÿ (VERSION1.1 0TITLE Sorted Values 0 EXTDIM  ¨(ÿÿÿÿÿÿÿÿ  8shuffledeflateÿÿÿÿÿÿÿÿà’…^ 0CLASS INDEXARRAY (VERSION1.1 8TITLENumber of chunk in table 0 EXTDIM  ˜(ÿÿÿÿÿÿÿÿ 8shuffledeflateÿÿÿÿÿÿÿÿˆà’…^ 0CLASS CACHEARRAY (VERSION1.1 0TITLE Range Values 0 EXTDIM  €ÿÿÿÿÿÿÿÿ 8shuffledeflateÿÿÿÿÿÿÿÿà’…^ (CLASSEARRAY (VERSION1.1 0TITLE Median ranges 0 EXTDIM  ˜(ÿÿÿÿÿÿÿÿ 8shuffledeflateÿÿÿÿÿÿÿÿà’…^ 0CLASS CACHEARRAY (VERSION1.1 0TITLEBoundary Values 0 EXTDIM  €ÿÿÿÿÿÿÿÿ 8shuffledeflateÿÿÿÿÿÿÿÿà’…^ (CLASSEARRAY (VERSION1.1 0TITLE Start bounds 0 EXTDIM  €ÿÿÿÿÿÿÿÿ 8shuffledeflateÿÿÿÿÿÿÿÿà’…^ (CLASSEARRAY (VERSION1.1 0TITLE End bounds 0 EXTDIM  €ÿÿÿÿÿÿÿÿ 8shuffledeflateÿÿÿÿÿÿÿÿà’…^ (CLASSEARRAY (VERSION1.1 0TITLE Median bounds 0 EXTDIM  Ài` 8shuffledeflatexjà’…^ 0CLASS LASTROWARRAY8gxSNOD ø\P[€VHàd8Àa (VERSION1.1 @TITLELast Row sorted values + bounds°SH 8shuffledeflate¨rà’…^ 0CLASS LASTROWARRAYsortedindicesrangesmrangesboundsaboundszboundsmboundssortedLRindicesLRH jX 0TITLELast Row indices 8 nelements d 8 nelements dTREEÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ!iNTREEÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ)UºpQS 0 DIRTY è}xTREEÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿp@Nš8HEAP°hÎP (VERSION1.16¯P @TITLEIndex for object_2_2 column (CLASSINDEX (VERSION2.1 0 FILTERS@ 8 superblocksize@ 8 blocksize@ 8 slicesize  8 chunksize  8 optlevel  8 reduction  (ÿÿÿÿÿÿÿÿ 8shuffledeflate¸‚Àà’…^ 0CLASS INDEXARRAYSNOD0Ž”(æ’xƒXœ@®—ÿÿÿÿÿÿÿÿ (VERSION1.1 0TITLE Sorted Values 0 EXTDIM  ¨(ÿÿÿÿÿÿÿÿ  8shuffledeflateÿÿÿÿÿÿÿÿà’…^ 0CLASS INDEXARRAY (VERSION1.1 8TITLENumber of chunk in table 0 EXTDIM xí[í­ë¸<¥ÜHñSåH¢Ø ;9{^ Vü#qylRÃáøÏŸƒcü ùªjfþ‰ø_äÿc"bÿç7êoÜßhÄŸþyñx|!Èp÷ª¦¡6±yκøˆÌuýí«Ÿ/™‡ØÜu‰D4×ÁŸP¿Á‹?Å"‰Å=W±ˆùÁ?¯Þ/¼ð·¤‡ÀCàgøò¶àU“×ÈZuçt»§£†8u;÷Öhö1“s"Ý÷¡å§—ꥸ%ÚwŽd³c5GWìqêê8rräú!ðøFZxle?Û´k/¤²¸&¾Âžš5¥*/ÏÏv.Y 89‰ôêQÍQÙ­CP¬YÖF5•„õ^žÚúWþÖôx¶øÌ¸kݳ¯ éÇÑfà"›׿è^›³ƒAìw_T0„™·jú®Ãg²&;E(¸CKqšÓ  2i>œoD -«&×İ¿«|¶ï_- Áj[PÌÎ5ææ‚@L¼6o>$å{-»—ØS×RÅ¡ôl²TÙY]ßxåoM‡@í{ÔŽCÐ3Ú½©}«Ø0áù?æ˜'d:$½„óC$ŠbWšžQ˧Œ-̆¹AÐåZ£Û”qŽ—?œoD ÇYýÑ¿vÎrª=2[gïÆ¶Ž’0ÙC—ô¡t›±@éÁ ” þgãg«ÖûÑÿÙÂ9ìLÐ…Ö= {¿üÿÆ[ÿÖôøÙ'N¦-4ñâ׃ÎÑ—C”îÝ6Ô¾lë/9rç¯GÆKa¸Ba50÷30…qblˆóhNÌî~ó¿÷¤=¾ºàñôQòNWÚi2÷Ù¿Áÿ›ï=sÐv!—¢™Hô‰ÞßKr¯}rg'Í™Pö° ýå@Öí1¦ò›ÿý石Àw" Uª,ã4Âî˜LQáð¹ö$›ó€ Xìp8{VòNè‚ }€!ôŸa§ÔaýA¹çzC G €àùÿ¾óÖ¿U=~rWèè í̭ݨš±I°Ÿs!ÿ™&ܼ‡ÑÏWbFP5àë…j!àl¼ÄnCýÓuÖl8-îtX 0þ«€4ð€~<¾ƒ½WÇ2j(|Ú®¾†y$V^\ ’`4,þxI`Œ@ÇÆýhÓ"ÎÇ8n~wú…JpH / ÝÆQÀýgÿã­kzüЮ´ø©¯ݽßI°ó#ÇÛ¼Ãù{^JH¨SÀ8Þ4±³/lób„€ô€ÚoóòL!ŒIÁBYÑóÿ¼'í!ð•üq™šÉx홉ã0 E§$^:XÅ£ÿ†Îìb·£ F|ÒC>EÒ!"}Äÿ$5ZóÖö#ý‘ùGñŸ²UUP_W—À%ðB0ôD&’ƒŒ±ÖR;îíÛ¹õôµªþ ööHâ¡}nô= DýtBó(Õ@î–jŸêïÇÁ_¸ð;¥Kàø²«±9”ÍUù¤ˆy!äŽéæ{l5;²c™ž9‡r  PÛüÓjÛ¬¢>΄=¦lTÓ ú¸ÞH "Ï)ÉbÈ«}ïξΠÚh23°wÝÀË‹LçØ°&²:î¤Âª' àS)‰n«@¢ ï‘߸ò;§KàX›xŸÜ{H'ï1‚B‚ u¢r^{®¶ùXãЊÞ×%mví¿Jºàщ)—² íštV™L)耽 ×õÿý£]¯$°äPL„.õyaºÒ©œ§"ÑvH×ø£mß™~ÚúØÅÇ QfZ§/×*òuªlœÙpjç YT“Ÿ@qrå+—~'u üzíD‡§°’ÉõÙûçÏÆmC9;§7’õ4ɄΎìp1óÀžzºÈÜO–iE¹°îZ3—€Ù¨Ùâ×c¾.Wˆí»m׎íæ~Nöè~`·ï$EaVsù”y2ú†‚ô«Óû#³sÿRÙÐoºð'v/85K& Lþ¼réwR—À¯'ð ôbåˆ q­UçìP1 (‹OðœiƳ|‰±Ùa Æâ=zÉa{À!±Rø‘G¿›º¾ž€ž€3ޱ*PÞ™Û;ÕwõŸ;ª-]{Š3 Pšne!ŽNf]-¨¤‹ÛÌ U£&³÷}%’ÆÐñõ˜/€Kà‘6tQH¦—v¯oáº5³ö–€n:aX±wBçXghfÍ…I¸z‘~ŽâdW@hÍ=yô»©Kàë øÁZƒfun/©Åv½wl¸zx×õ'S·øÛhÃɵW¶ß ƒ¶÷ˆ0º„€` ƒÕX×ÓC=#;œÄ×c¾.Gèdí(‡;™Ó‚”¦áÄb¡Ä,7ÓîIÿBpÌ.ŠñXâÔ‘»;œ«ì5<¤\CóxÚéj`w7q:”°?òèwS—À×øŸŸÜœxí™[®#;EÏx Ã1Ï—œÛÝcȇwYŠÊQ•ìmÀàWø+ú+þÕúHþH?ÚÿËÌüŸÎ9ñQþSýª?ºÁýyz/$Ècæ@Ü; öø:/ÀҸȞ ,’Õ35ßÍ]4X/Ùæ's{³û'ŽÌãŸ)¤%^`^-ŸPþ…KzŸ‹ ãÞíâg“_ÒÈnUZÐ>#Cýú­â:žž‘»Ã 4Xcl~cIžn—۽ص ŽQMHˆô#ð|#RÎè}à¸,3(jÈhMvCWa®Ü ·ìÜšu$@ÐvœX¨X2¾ßH¬ê$™†ÄxßXœ^þÿÆŸþ­éøi“MWË„äNÚ8Ø0vo<©~¡,Y „róIîÏ¡âÜ]¥ÊËÑ ìÞ˜÷m¸mjR©S&ljz Gà lX^‹e*y0¢ÐiHm·] s€2OÒ­sT0wsð9ˆV~•T¦Ph¦EžPŒ€”m§x;nüÆ¿5=Nj·¹h29bëšh&ÕË׫FÔ]¾’ezýv£æ‚Éþ«m(²rʇ "Óóâ@š"çôïœÇ ëq~o$0Æv_܆3&So.<°ÆÌ›r91íNŠ`ÔÄú©ü/Ãm1Ýÿ{®¬é ŒãE¨zªˆ¥3"\»oãÎßšGà?˸Ú3 ˜(ÿÿÿÿÿÿÿÿ 8shuffledeflateÿÿÿÿÿÿÿÿˆà’…^ 0CLASS CACHEARRAY (VERSION1.1 0TITLE Range Values 0 EXTDIM  €ÿÿÿÿÿÿÿÿ 8shuffledeflateÿÿÿÿÿÿÿÿà’…^ (CLASSEARRAY (VERSION1.1 0TITLE Median ranges 0 EXTDIM  ˜(ÿÿÿÿÿÿÿÿ 8shuffledeflateÿÿÿÿÿÿÿÿà’…^ 0CLASS CACHEARRAY (VERSION1.1 0TITLEBoundary Values 0 EXTDIM  €ÿÿÿÿÿÿÿÿ 8shuffledeflateÿÿÿÿÿÿÿÿà’…^ (CLASSEARRAY (VERSION1.1 0TITLE Start bounds 0 EXTDIM  €ÿÿÿÿÿÿÿÿ 8shuffledeflateÿÿÿÿÿÿÿÿà’…^ (CLASSEARRAY (VERSION1.1 0TITLE End bounds 0 EXTDIM  €ÿÿÿÿÿÿÿÿ 8shuffledeflateÿÿÿÿÿÿÿÿà’…^ (CLASSEARRAY (VERSION1.1 0TITLE Median bounds 0 EXTDIM  ž` 8shuffledeflateÖžà’…^ 0CLASS LASTROWARRAY–›xSNOD V‘®`€H>™8– (VERSION1.1 @TITLELast Row sorted values + bounds}H 8shuffledeflate§à’…^ 0CLASS LASTROWARRAYsortedindicesrangesmrangesboundsaboundszboundsmboundssortedLRindicesLRH~žX 0TITLELast Row indices 8 nelements d 8 nelements dTREEÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ$EJTREEÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ),ºP{p} 0 DIRTY ޳xTREEÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ·@vÅ8HEAP°hFÈöÈP (VERSION1.1SNODÐ@ühüˆþàh''°)ðHQpQS({P{p}†¯®¯α ®ÚÖÚöÜ0޶Ö@n.–.¶0^ÚP @TITLEIndex for object_2_3 column (CLASSINDEX (VERSION2.1 0 FILTERS@ 8 superblocksize@ 8 blocksize@ 8 slicesize  8 chunksize  8 optlevel  8 reduction  (ÿÿÿÿÿÿÿÿ 8shuffledeflate^¸Àà’…^ 0CLASS INDEXARRAYSNOD0¶¿(¾¹X6Ç@ÖÂÿÿÿÿÿÿÿÿ (VERSION1.1 0TITLE Sorted Values 0 EXTDIM  ¨(ÿÿÿÿÿÿÿÿ  8shuffledeflateÿÿÿÿÿÿÿÿà’…^ 0CLASS INDEXARRAY (VERSION1.1 8TITLENumber of chunk in table 0 EXTDIM  ˜(ÿÿÿÿÿÿÿÿ 8shuffledeflateÿÿÿÿÿÿÿÿˆà’…^ 0CLASS CACHEARRAY (VERSION1.1 0TITLE Range Values 0 EXTDIM  €ÿÿÿÿÿÿÿÿ 8shuffledeflateÿÿÿÿÿÿÿÿà’…^ (CLASSEARRAY (VERSION1.1 0TITLE Median ranges 0 EXTDIM  ˜(ÿÿÿÿÿÿÿÿ 8shuffledeflateÿÿÿÿÿÿÿÿà’…^ 0CLASS CACHEARRAY (VERSION1.1 0TITLEBoundary Values 0 EXTDIM  €ÿÿÿÿÿÿÿÿ 8shuffledeflateÿÿÿÿÿÿÿÿà’…^ (CLASSEARRAY (VERSION1.1 0TITLE Start bounds 0 EXTDIM  €ÿÿÿÿÿÿÿÿ 8shuffledeflateÿÿÿÿÿÿÿÿà’…^ (CLASSEARRAY (VERSION1.1 0TITLE End bounds 0 EXTDIM  €ÿÿÿÿÿÿÿÿ 8shuffledeflateÿÿÿÿÿÿÿÿà’…^ (CLASSEARRAY (VERSION1.1 0TITLE Median bounds 0 EXTDIM  FÉ` 8shuffledeflateþÉà’…^ 0CLASS LASTROWARRAY¾ÆxSNOD ~¼Öº¶HfÄ8FÁ (VERSION1.1 @TITLELast Row sorted values + boundsî±H 8shuffledeflate.Òà’…^ 0CLASS LASTROWARRAYsortedindicesrangesmrangesboundsaboundszboundsmboundssortedLRindicesLRH¦ÉX 0TITLELast Row indices 8 nelements d 8 nelements dTREEÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ"#FTREEÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ)º®¯α 0 DIRTY nÝxTREEÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿöà@Vï8HEAP°h&òÖòP (VERSION1.1>P @TITLEIndex for object_2_4 column (CLASSINDEX (VERSION2.1 0 FILTERS@ 8 superblocksize@ 8 blocksize@ 8 slicesize  8 chunksize  8 optlevel  8 reduction  (ÿÿÿÿÿÿÿÿ 8shuffledeflate>âÀà’…^ 0CLASS INDEXARRAYSNOD0–é(îçþâXñ@¶ìÿÿÿÿÿÿÿÿ (VERSION1.1 0TITLE Sorted Values 0 EXTDIM  ¨(ÿÿÿÿÿÿÿÿ  8shuffledeflateÿÿÿÿÿÿÿÿà’…^ 0CLASS INDEXARRAY (VERSION1.1 8TITLENumber of chunk in table 0 EXTDIM  ˜(ÿÿÿÿÿÿÿÿ 8shuffledeflateÿÿÿÿÿÿÿÿˆà’…^ 0CLASS CACHEARRAY (VERSION1.1 0TITLE Range Values 0 EXTDIM  €ÿÿÿÿÿÿÿÿ 8shuffledeflateÿÿÿÿÿÿÿÿà’…^ (CLASSEARRAY (VERSION1.1 0TITLE Median ranges 0 EXTDIM  ˜(ÿÿÿÿÿÿÿÿ 8shuffledeflateÿÿÿÿÿÿÿÿà’…^ 0CLASS CACHEARRAY (VERSION1.1 0TITLEBoundary Values 0 EXTDIM  €ÿÿÿÿÿÿÿÿ 8shuffledeflateÿÿÿÿÿÿÿÿà’…^ (CLASSEARRAY (VERSION1.1 0TITLE Start bounds 0 EXTDIM  €ÿÿÿÿÿÿÿÿ 8shuffledeflateÿÿÿÿÿÿÿÿà’…^ (CLASSEARRAY (VERSION1.1 0TITLE End bounds 0 EXTDIM  €ÿÿÿÿÿÿÿÿ 8shuffledeflateÿÿÿÿÿÿÿÿà’…^ (CLASSEARRAY (VERSION1.1 0TITLE Median bounds 0 EXTDIM  &ó` 8shuffledeflateÞóà’…^ 0CLASS LASTROWARRAYžðxSNOD ^æ¶äæßHFî8&ë (VERSION1.1 @TITLELast Row sorted values + boundsÝH 8shuffledeflateüà’…^ 0CLASS LASTROWARRAYsortedindicesrangesmrangesboundsaboundszboundsmboundssortedLRindicesLRH†óX 0TITLELast Row indices 8 nelements d 8 nelements dTREEÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿBTREEÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ)Ú¹ÖÚöÜ 0 DIRTY NxTREEÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÖ @68HEAP°h¶P (VERSION1.1.P @TITLEIndex for object_2_5 column (CLASSINDEX (VERSION2.1 0 FILTERS@ 8 superblocksize@ 8 blocksize@ 8 slicesize  8 chunksize  8 optlevel  8 reduction  (ÿÿÿÿÿÿÿÿ 8shuffledeflate Àà’…^ 0CLASS INDEXARRAYSNOD0v(ÎÞ Xö@–ÿÿÿÿÿÿÿÿ (VERSION1.1 0TITLE Sorted Values 0 EXTDIM  ¨(ÿÿÿÿÿÿÿÿ  8shuffledeflateÿÿÿÿÿÿÿÿà’…^ 0CLASS INDEXARRAY (VERSION1.1 8TITLENumber of chunk in table 0 EXTDIM  ˜(ÿÿÿÿÿÿÿÿ 8shuffledeflateÿÿÿÿÿÿÿÿˆà’…^ 0CLASS CACHEARRAY (VERSION1.1 0TITLE Range Values 0 EXTDIM  €ÿÿÿÿÿÿÿÿ 8shuffledeflateÿÿÿÿÿÿÿÿà’…^ (CLASSEARRAY (VERSION1.1 0TITLE Median ranges 0 EXTDIM  ˜(ÿÿÿÿÿÿÿÿ 8shuffledeflateÿÿÿÿÿÿÿÿà’…^ 0CLASS CACHEARRAY (VERSION1.1 0TITLEBoundary Values 0 EXTDIM  €ÿÿÿÿÿÿÿÿ 8shuffledeflateÿÿÿÿÿÿÿÿà’…^ (CLASSEARRAY (VERSION1.1 0TITLE Start bounds 0 EXTDIM  €ÿÿÿÿÿÿÿÿ 8shuffledeflateÿÿÿÿÿÿÿÿà’…^ (CLASSEARRAY (VERSION1.1 0TITLE End bounds 0 EXTDIM  €ÿÿÿÿÿÿÿÿ 8shuffledeflateÿÿÿÿÿÿÿÿà’…^ (CLASSEARRAY (VERSION1.1 0TITLE Median bounds 0 EXTDIM  ` 8shuffledeflate¾à’…^ 0CLASS LASTROWARRAY~xSNOD >–Æ H&8 (VERSION1.1 @TITLELast Row sorted values + boundsöH 8shuffledeflateî%à’…^ 0CLASS LASTROWARRAYsortedindicesrangesmrangesboundsaboundszboundsmboundssortedLRindicesLRHfX 0TITLELast Row indices 8 nelements d 8 nelements dTREEÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÒhTREEÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ)ñl¶Ö 0 DIRTY .1xTREEÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ¶4@šS8HEAP°hjVWP (VERSION1.1‚hP @TITLEIndex for object_2_6 column (CLASSINDEX (VERSION2.1 0 FILTERS@ 8 superblocksize@ 8 blocksize@ 8 slicesize  8 chunksize  8 optlevel  8 reduction  (ÿÿÿÿÿÿÿÿ 8shuffledeflateþ5Àà’…^ 0CLASS INDEXARRAYSNOD0V=(®;¾6XZU@v@ÿÿÿÿÿÿÿÿ (VERSION1.1 0TITLE Sorted Values 0 EXTDIM  ¨(ÿÿÿÿÿÿÿÿ  8shuffledeflateÿÿÿÿÿÿÿÿà’…^ 0CLASS INDEXARRAY (VERSION1.1 8TITLENumber of chunk in table 0 EXTDIM  ˜(ÿÿÿÿÿÿÿÿ 8shuffledeflateÿÿÿÿÿÿÿÿˆà’…^ 0CLASS CACHEARRAY (VERSION1.1 0TITLE Range Values 0 EXTDIM  €ÿÿÿÿÿÿÿÿ 8shuffledeflateÿÿÿÿÿÿÿÿà’…^ (CLASSEARRAY (VERSION1.1 0TITLE Median ranges 0 EXTDIM  ˜(ÿÿÿÿÿÿÿÿ 8shuffledeflateÿÿÿÿÿÿÿÿà’…^ 0CLASS CACHEARRAY (VERSION1.1 0TITLEBoundary Values 0 EXTDIM  €ÿÿÿÿÿÿÿÿ 8shuffledeflateÿÿÿÿÿÿÿÿà’…^ (CLASSEARRAY (VERSION1.1 0TITLE Start bounds 0 EXTDIM  €ÿÿÿÿÿÿÿÿ 8shuffledeflateÿÿÿÿÿÿÿÿà’…^ (CLASSEARRAY (VERSION1.1 0TITLE End bounds 0 EXTDIM  €ÿÿÿÿÿÿÿÿ 8shuffledeflateÿÿÿÿÿÿÿÿà’…^ (CLASSEARRAY (VERSION1.1 0TITLE Median bounds 0 EXTDIM xíZÛ•,9ÛPnƒÁᘇóaUûÈ¡?ÌGÏtÕT[=€,ôçÏãßà/æòèÿ±þ û'ü¿Ø_œsâßÈ¢þ‹î¾_ü¹½x<~¡Ë«h°,+ÝU¿ø¡!îûDâMdâ2 ƒ~yÎÓìàUÄvô”盛.‹¼,zª×ðÐÏ…{w¼üÿÁoþ-é!ð×_Ü)~ǰàaƲyÆi²¾¼Ö¼}h…=-sÆ:yVÒ¹au̶Ö^w‘HÈZ.`G;˜ñ#;ï6íæ~H?¿ˆÀôè˜jÍCãvÃ{:rï=µM˜/)h|™œqö ºÓ¶§ŸíìMiº¹E,aôä¢MÆóðN ÒŒ¿¸ó·¦‡ÀC€œe+± ÎÞ„N$gíÎSg!'ë4Æ ï–5‡€ ‘#§®oÐü«†ü7CœCA$DÇÔIóáüxü"µšù >WÊCAÛ¥ÀôïÑ»j‚áç‰3”ϰÑäÛc(‰A ëOP¯>jÅØAµG‹¹©Ìq³öÑÒ_Üù[ÓCà!àÓ¢¸vùX§Ûwµ‡@·3Jg*åï¿n¥´Þ R¿Îu°úqÔ÷åÞÃm졞çtœB%˜)m ìÔ*¯‡óCà!ð‹è¥÷çÅcSkÒÃ%]^m'½cmÜåÒY8Þ7DÔ´G’ëš5Örº £/ t¨wÏ­ûwþÖôxø\Lû®º%?1׋ÒV£å»¡d>tÁ™¶.oC¦Kˆƒ«=c5u-W‡^¾ð¨…à„0wnh›Ééáüxü"¤œ÷,—Þ`îk‘‰.â/}2Þ–€hB5‡Ž3+nÜÖƒÆá„Jˆ'Š1:\˜L*ÒyQ jHä Ïrò_Üù[ÓCà!pÄˬ+hQÔ-d3ÿŒÌ†q‡1t” Xª?ûÏE1pÕ2õædÈ=6|± 'œ—køÄ!Oª;öp~<~FïþT:8«lCÞ‡ª¿kÛ@]Àp –Â"D· c€5w3%¦ýy:aõILýœ&þÙ°&À‹3®0 A…èñ‹;kz< †äëM˜z E@GÜcò/Kýºœ0õz‰5f¿]:ï9éÂ,P »°Ü3÷' Z´€²¬” Ùàáüxü"¹aã?Gr6Ì}˜èõ±‰Ñ½âJ dþ¬oÚ¿üò`$™d8ã8ð¹ÿ!À4£U` Rp¿hü‘P ‚₈À¿¸ó·¦‡ÀC  ¾#h¬nxyºv6þ><7hj2$ä1š¹BPRäúÛ\qF?ø¤J‚_†kÌàj€l ÂÁ›ÿ¿´‡ÀO"ð7NI£€xí[Û%+ ÜP6?0àplÀù‡p‹}H7„–ÿ̨uA1.W¹òŸÿ‡þvÃ~GÿãWL„ÿŽ@ä¯Xˆý7ÎBü¬/"p©{³”Øæü•Èû±éÈäSä±J­gî£j6ðSZëQÃ=‰¥ÏÀƒY¢­»Ø"VcΣ È]fðàoK‡ÀJ‹í[Ó¡sµ0š5F“Ôm†>áÝ|’l¯9ùfye;Í£íÖ˜zK¦gÒð1N®qúÒćp=< /"0ÚÇIõ8&]z›c”óê Õ¾G¶&;§¥d#u¯Rn›VàFX<çÚ¨õ¸:ZH4æ–DU\Úk] öÅ“¿==1‚º‘òžZ'UãÒýQhù ¥ŸÎ¨˪¡¦¯î·0ðû˜~–ËòJІ¸.¨ËÚJzé€f]EõSñúÿ÷öø$•ec¥’8Ñ ¸E‘Õö:ÎT»æ©³WÐa©ÕܤfËèévbàwj¸7¼õt‡"˜[и XqøäÑߦÿ<N{‡ìÛç×åù#µ:¾I‘ÁOŽ-EöËš½“6+8 Ýo“m@yCã϶ÔÒ²7š€Õ¶ð>³7äp dÀfÇ}ÌIOPÛ“wà¡Bhh `R¬¾ro… ‹vï¼¹M5ü…—ÿó0?ŸD VÀÇ‘/¨õ¹ D^W—†Dö½n7Ïd`éf±â)¾É €fŒA1ªà–\ËEã3Læ¿„ÁH´àzüÿ“ßýÛÔC@ʬºÖ{Ìû·`÷’N°ïV =GgÁtu¦!`Æe€àñO‚1°]æ!QqH€º›u nO>'äÀ‡óCà!ðEné_, J~o›+©×Dýž; ¾ª>ub‚rœ3õL(€{¬fÿ–ASÔ?“dÆaÈÐ`µ8þôÿ/~õoOý¬¦>5½¸g÷¹ÀõÓN#÷Év:†|%OlÿŠa_ÞÔ ó½íÊ}³µRé± Ò_€7Ä‚X¡5àÎÿâx@?_D`G-ÛÚnJ›Ì0­†Yà\àõs9»Ï€Gȳš`°·±®³´™ž¢Ô[['ƒ¿9—ŒÃÂmÅÄü€pA,h_<ùÛÓCà!€™_Ô~:(ë0QÚ©ïûöÜwteaŽOdßQ>‰ù~ü50ägÐú0á+än­úÎ¥N° ·-†œ!ç¾(ðp~<¾ˆÀ¥¶xí[í£=¼R®À›rl>ú/áܽº"­Ñþˆ²ÏZö$`˜™ýýûü71óOèß0³…Øÿ‡ÿ‹ó‰û7â_䟨¿Ñâwÿzñx|!<ÕÌÙýD4ñJ‘}hŒÌ–åçdÒ*Z‘4Q<{o<{od­í§IÆEÆËP]ŸÊ„·c…}nOÛ¨üòÿ ?ù·¥‡À¯_Y1|^¿®Ç©­N‹¢dÏk›kûB à`k=µ£‘×mvÄ(kþ.XÖñ­w2ž•À˜HÎmwÍOyxH?߈À¾ûHðöDׇçÙ2{ÊVÚEbÁí³o—¢,äœywÞ›MxVkþixQò%y‡¹…ÊE!äÇ¿ñäoO‡ÀØÄ¸¹§cÈRî¼ÑåWNñJÊ;O¯99§®åLk_K7'«àη¹µÆŠpÌ“Þv7ºkŽ9æÃù!ðøFbÑÌj\ó[Èæe\ÜW2YùDW¬y*¤Î`Ñ;+j\­8„®¢"c^(èBQ®­Q ¾ÀJLrÅúÆ“¿==ƒƒ|å›GSˆ³±“.’[®¶÷çùŸÉÔI®3IH<ŠX£„g¨aŒ Ì 3OÇg`²Â‹{ë»ÿß×ì!ð¥´ÅZ©Ó ·÷ZWïvP»ÀìGN õ ó¤‘Ý6ùª@0ésÆÑ¥µü_û “ØÐ$,×%˜zh„èøÒÿm=~8,aš'; ¤ŸÖ`–mž#ej_rJŸQ¾CÃ’ðŠ»j¯Íº·A0€@¨Ú[ ðîéªBÙÌÑ–ÆöÃA~Ç|)}YD¿¯=¶Zâ2/ÈxAh ÜkƒQà,8},ûn‰àØA;dƒ.ZOÏAµ!~d†“µåKÿ¶õøál¸uÀôÝ‘hð»x®ƒ!¾6ž8óؼäQG–¬É›ßG€üwî^³T¾Dö'œq;WûOUêB×À31 lùá ¿ã?¾9‘ºÈësÁØÃuÏ)€9ÿ=ð9¸€£C6]Óº²7ÚýD¶ƒ98Úß­éøÅ\‚êÅæ¤š=ð"¯Û|ýÿ—~úo[?Ø}ÖÎ#Ü Z@Nó>úÍÏ.óɬ û×ŠÓ cð¥ÞÇ /1h†“ï ÷G3±o X‚¨úLÿFà¨[?åwþ‡Àw"?¯: îÀÕ3ÔþÚøý¦wŽáàýÝÊæG €ð6šÁ(¼ý—ÊÅ…bnÀŒ¶ ‚_¸ö߆rP”ÿðg»züt.\>“ŽE¢Ò´ÞQ†¯×D壠‡o´ñ¬¹M*aðeøÿ Œ Äý0¯âZɹc)AûÛ-  ŽÈä³çÜïþÿé_²wþ¯Eà?¹$©¸xí[Û•ä:ÜP&ÄC@8HBù‡p«g÷ÜúCütŸ±{Ž\6ªÊ???ã_ðoÈ'ôoØ'&ÂÿøDþú?bÿó‰þû/~À"ÀëÒP¼—Ä=×õõ)žgdí;¤p »G­Æ·ÝÍŸ£}™UmF®«M„³d±ØÚd¿¿dýý÷^ø[ÒCà!ð§l­á¥m7NÜ™Yf!¨ :æîÊÖíÊÓXøŽHÞ>ï1½{£j0Ž¢4,݉¿ð]ÝAŸCÒ8ý‰¬|@?߈€Ï°$•uJbRÕ ²š4ùÚׯôˆ>4îR¢½}A§ÜÞ³4æ‘Ø«2×½gž¼—[wÝy–šo¼ò·¦‡ÀC`ysñ¤3Ùþ=.W5#“G «/ä7¶üuIJ·ïs•"¦—¡U(ßkä*¶AÆ'ËÓZãæuÕ9Z—>œoD ÛsU:ÚtšYSõ3ò{*ÕïÈ!¬W#xùQ,›Â»ÁÄ>s̵ûÄ8­„ f9GfgF—”o¼ò·¦‡ÀC –ñMÍŽV~òüäù–RŒ»íÊ@]“méç‰ ¡ Lÿë€9k›s‡™a4 œ”{1D€Jè 8ãÍÿïA{|%â´@¬^LfKôLòá»=Aì‘ %°Œsèn HîB®/ZóºÈr–€A”_åoÇ®›{4Á yóÿWÞû·¨‡À‡_§7C´û_ÅrrbÌÏ£¡;›@ãGªÜP»ÞÓt 4 †° J!eBðÐ ›ífR!¡'0Zôp~<¾‚ô·?Ó?d;lâí¾ž4ðÍPùg9ĀΞ/€‰’ŠÃ¼ÁíÌ ùOPÑ@øÓÙ+Fˆo üöÿo¼õoM?õ Y}Ààlä2/Mÿè|z'9KU`óo6ÞU÷¶Â*½ÐD,m²S œícc¥£öYiŽ`ÆI~óÿ{Ò_‰€§;Ðä×lÕ{¥½ÃÑ΃Œ¸9TÓ„Ë  j`ƒØbV ²3s9ÔAï°;»œ{ž\` 5Ážþ÷•÷þ-ê!:l—~$¼iRO íÙÛê^É ;€_è Щ3ŽÁèÊÏ'û€y€ •°|ŒA5jÚ‰ jiðç‡ÀCàÈ8 Â>Æx4õ ƒ~‚ÉÝ¥ àðk¸úF!˜þÓ1¶n|À·­Z9ÏÁÄàR.@ÉF˜>ÿÿùÿ¿ñÖ¿5=þ¥+S6'Òí@ ˜w·Òd­!kà පlÌt7@pûy@`Tað0áí¡yñG+aÀ{D³yƒT|ûÿ{Ò_‰À!î£Õ jW` 8shuffledeflate"Xà’…^ 0CLASS LASTROWARRAYâTxSNOD :v8¦3HŠR8æ> (VERSION1.1 @TITLELast Row sorted values + boundsÖ0H 8shuffledeflateR`à’…^ 0CLASS LASTROWARRAYsortedindicesrangesmrangesboundsaboundszboundsmboundssortedLRindicesLRHÊWX 0TITLELast Row indices 8 nelements d 8 nelements dTREEÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ%mTREEÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ)?q–.¶0 0 DIRTY xí[á3;¼RRlC9ìþKøfs÷ôZØ&R´J²‘=x†!ŸÏçÓÿ†ü…þý‰ñÄü†ý†ÿÅú?âùú‹ýÄ9çs~n\./DàãY$mº¯À²|Õ&j2Ì=Ï©cÄæœÞ`铈XtÕþ|$«¡ˆ˜‘Œé«ñ˜æûÞœlõ©nü.é"pøI>f'ÕBÒ‘äÙ;¶è:…©vÓ³ËWVÊ^æË:oÑ#(Ö>…„7Ι²:×L¶6iœ^=ˆ’.ЋÀž8ßkÌMåN8³µ!ñÃÏ8ÍÔ¢º¬‰Â°FõÎÒŽ†æ™FS7é\­ÓõÁÔ4¤Ì¦nO _ÇNGµ{ãÎïš.*¡J^H]å±hÙæÀñ¿öÖãºÅú´&«bp~‰=7@ÏÓf“£|zzäÞ5\À}УæôI ÓQ].΋À°ý#ÁþÌ^æ8N-Qº'‰~p£ÖÓ:zš’5•ýpiòS¦Z¬­M+ÜHP‚¯S°ËÿßøÓß5]~‚¶¸ŸòF×YÜ"ÁôÑDŽ[Óvøìè º£¡Ü%}ìF%“Vö¡9gÆnKå5‚ò(„‚–ðð ôEà"ðFŒY‹RûÖÜÔ~]ÒKG?Ñ´ÛoÀG—>¼oê£V¡¯ç¹Wx÷å¸Q ¤ lÂeÈÿlÿ`Áµ»õ7îü®é"pè éY –gݵ€Ï>Í;n‹…‡MJÓt±S{µ ­€B0Ò(äÝ™“k‘Ín ¹O0ÚÊ%suƒhhç‹ÀEàP‚»/7ÿ°õÛ6Ùàörr»iƒ§_Ô©RÒ¶K׆ٗ( ·=_äÙ[{šÐ Át´:† Ï´Àw~×t¸ Çc£]ßÛH¸ùÒ¾$€)Gû¾G qk%³Íð)í]«rÇ–ój¹a”Ä x‡vÐDZÝDˆ_œ/7"pRç^%{®ŽïÆOâ“÷¢1;h=Nu ÍCkj×9„ë쀠µô¬ æöx…'ܨ £¾ýÄq®ÿ÷ÆŸþ®é"ðƒyÞ–þ>Éßµu~ ¼<+sÁêCºÃÉS!7ÓéÜ“ÎZ)PÆGñmàÜ[Ô£hÅ32€iÀ ‡•è‹ÀEà”Ÿ&m¡_MÏO 1ÿ/ã'£ccLú~x;ü~Ã-àÍOÅ´æDš™0 ü^0 ÇÀ 0޸󻦋ÀE on˜éåñ0úÕûׇ…‡ÿí€`&>~ ù§%HÂ^ÒšW#%f‹´ƒ–ß8ðý1ë?³£€ÃÊ_Y½ü ¿·ðâ|¸¼²Â–xíÐ  ÷Om( 0`À€ 0`À€÷xí[Ù±#9 ÛP&px)ÿÞ™Ù\õÄ»ív—7( `ÿúõ'æ'Ö'6‚ˆÎŸàß!ŸÐßaæ#þ‹üõ4âþ_÷Ÿ‡À"°Ásfœ›ÕñÞïªê!¶XÍÁë±Ù=b;½Ä,2ûsœw‰Y¤7ÎÄÁ@Þ`U»wŽÆÜ„_ÆŽ/œøÒCà!ðOÜ)ÃŒ2®œtß󘺦ŒØ×7XÏ»Ž.®™Ñ+ŒŸ†žµUIŸ,:ÚÛk]d šäZ$Ö%nÙÑè‡ÀCàHÕžXþ—§¶ØÅN·‘Ü.›/—jÕ% zûšÙƒÔçÌÄp{+Ý(XÆÄY#ÎêÍ'®úì•ëgþÆôxÓˆÁkî¡Í‚>ÆÝRÛ÷Áž ;É®s<,xk  "[Ô±O).P`»ÝM…´qq öJoQ\nÔx8?߈@8j=Êl x—pÊ{=: Å€œ™ òšwÏÒÏ Ω14'] kR°¾ž<šiKVžS>ä  þÆ™¿1=¹QŸËŠ%¾Jžà€×Ò].s’ÕÓ®E{©l_¼M¥|IÌ3yÜAgj•U9(nœ¾«ŒTüÂTxõÿ»Ï߉@ç(NÔìø ׇµdGBx§Ì:r`Òiì(Ö•´dÙLÍÞ£.> BfZºö¥^ëÁM´€ýôÿïüóߨ~<%‹áâщö¶ôd0v[Ë–=)±~kMñ¹:Ïl(ü·“M碈tÅ6J pÁø«\pÇá›° ¹^ýÿãï³Àw"õÞò¡¤Ñ]{ú¸™<*n \Á‚)Èv5Ðäuö¸lÇ2?¶ä5U›¬÷=c*ö eE‹*@û½à.5ýι¿Q=~:ÁÿıdØöÑ*Ç &`¬±vf¬¾]¹¯ðÝ¥o Yƒ)çüXŸrÂëÁ{¨qx3ñø…1Ñ*øÓQ~ó|'ÓeG©Á²ÇFÿ~ì{ìß?Zmõœ¦ÝjD††>€¡èñ±·ÐäšÛÖ¿Þ‰Þ@?׊Ð5θD~çÜߨ?‘ŽåÜŽ ?ot÷Bõ¯cÖÖ¹Ó!üíEÓo¢ ¸û„l›ÙB\±ø4þš œ‹‚`HÚç‚~pÑh>ÞúÿÓo³7ÿ/ETGö•I'6r±_(ýc¶¢/Ȉ'$~]nØýÅõ§7ž|Ñ2àØð£çOÖ-Út7ú ¬AJ\gHû°×ÿó¥ÿþÖOG >Â=”úN<¯ƒRM}T-Cr_¾Ñ„† –D¿¿-ä›0 Ó (…hyš¡ý]8v»’Š€7V¼þߟ~›½ù)ÿÜÜ«SxíÐ  ÷Om( 0`À€ 0`À€÷traitsui-7.2.1/examples/demo/Advanced/Tabular_editor_with_context_menu_demo.py0000644000076500000240000001273314046644454030425 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! """ **WARNING** This demo might not work as expected and some documented features might be missing. ------------------------------------------------------------------------------- Defining column-specific context menu in a Tabular Editor. Shows how the example for the Table Editor (`Table_Editor_with_context_menu_demo.py`) can be adapted to work with a Tabular Editor. The demo is a simple baseball scoring system, which lists each player and their current batting statistics. After a given player has an at bat, you right-click on the table cell corresponding to the player and the result of the at-bat (e.g. 'S' = single) and select the 'Add' menu option to register that the player hit a single and update the player's overall statistics. This demo also illustrates the use of Property traits, and how using 'event' meta-data can simplify event handling by collapsing an event that can occur on a number of traits into a category of event, which can be handled by a single event handler defined for the category (in this case, the category is 'affects_average'). """ # Issue related to the demo warning: enthought/traitsui#960 from random import randint from traits.api import HasStrictTraits, Str, Int, Float, List, Property from traitsui.api import ( Action, Item, Menu, TabularAdapter, TabularEditor, View ) # Define a custom tabular adapter for handling items which affect the player's # batting average: class PlayerAdapter(TabularAdapter): # Overwrite default values alignment = 'center' width = 0.09 def get_menu(self, object, trait, row, column): column_name = self.column_map[column] if column_name not in ['name', 'average']: menu = Menu( Action( name='Add', action='editor.adapter.add(item, column)' ), Action( name='Sub', action='editor.adapter.sub(item, column)' ) ) return menu else: return super().get_menu(object, trait, row, column) def get_format(self, object, trait, row, column): column_name = self.column_map[column] if column_name == 'average': return '%0.3f' else: return super().get_format(object, trait, row, column) def add(self, object, column): """ Increment the affected player statistic. """ column_name = self.column_map[column] setattr(object, column_name, getattr(object, column_name) + 1) def sub(self, object, column): """ Decrement the affected player statistic. """ column_name = self.column_map[column] setattr(object, column_name, getattr(object, column_name) - 1) # The 'players' trait table editor: columns = [ ('Player Name', 'name'), ('AB', 'at_bats'), ('SO', 'strike_outs'), ('S', 'singles'), ('D', 'doubles'), ('T', 'triples'), ('HR', 'home_runs'), ('W', 'walks'), ('Ave', 'average'), ] player_editor = TabularEditor( editable=True, auto_resize=True, auto_resize_rows=True, stretch_last_section=False, auto_update=True, adapter=PlayerAdapter(columns=columns), ) # 'Player' class: class Player(HasStrictTraits): # Trait definitions: name = Str() at_bats = Int() strike_outs = Int(event='affects_average') singles = Int(event='affects_average') doubles = Int(event='affects_average') triples = Int(event='affects_average') home_runs = Int(event='affects_average') walks = Int() average = Property(Float) def _get_average(self): """ Computes the player's batting average from the current statistics. """ if self.at_bats == 0: return 0.0 return float(self.singles + self.doubles + self.triples + self.home_runs) / self.at_bats def _affects_average_changed(self): """ Handles an event that affects the player's batting average. """ self.at_bats += 1 class Team(HasStrictTraits): # Trait definitions: players = List(Player) # Trait view definitions: traits_view = View( Item('players', show_label=False, editor=player_editor), title='Baseball Scoring Demo', width=0.5, height=0.5, resizable=True ) def random_player(name): """ Generates and returns a random player. """ p = Player( name=name, strike_outs=randint(0, 50), singles=randint(0, 50), doubles=randint(0, 20), triples=randint(0, 5), home_runs=randint(0, 30), walks=randint(0, 50) ) return p.trait_set( at_bats=( p.strike_outs + p.singles + p.doubles + p.triples + p.home_runs + randint(100, 200) ) ) # Create the demo: demo = Team( players=[ random_player(name) for name in [ 'Dave', 'Mike', 'Joe', 'Tom', 'Dick', 'Harry', 'Dirk', 'Fields', 'Stretch' ] ] ) # Run the demo (if invoked from the command line): if __name__ == '__main__': demo.configure_traits() traitsui-7.2.1/examples/demo/Advanced/HDF5_tree_demo.py0000644000076500000240000001675514046644454023357 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! """This demo shows how to use Traits TreeEditors with PyTables to walk the hierarchy of an HDF5 file. This only picks out tables, arrays and groups, but could easily be extended to other structures. In the demo, the path to the selected item is printed whenever the selection changes. An example HDF5 file is provided here, but you could easily change the path given at the bottom of this file to a path to your own HDF5 file. To run this demonstration successfully, you must have the following packages installed: - **PyTables** (``tables``) - **HDF5 for Python** (``h5py``) Note that PyTables can't read HDF5 files created with h5py, but h5py can read HDF5 files created with PyTables. See HDF5_tree_demo2 for an example using h5py. """ import os import tables as tb from traits.api import HasTraits, Str, List, Instance, Any from traitsui.api import TreeEditor, TreeNode, View, Item, Group ROOT = os.path.dirname(__file__) # View for objects that aren't edited no_view = View() # HDF5 Nodes in the tree class Hdf5ArrayNode(HasTraits): name = Str('') path = Str('') parent_path = Str('') class Hdf5GroupNode(HasTraits): name = Str('') path = Str('') parent_path = Str('') # Can't have recursive traits? Really? # groups = List(Hdf5GroupNode) groups = List() arrays = List(Hdf5ArrayNode) groups_and_arrays = List() class Hdf5FileNode(HasTraits): name = Str('') path = Str('/') groups = List(Hdf5GroupNode) arrays = List(Hdf5ArrayNode) groups_and_arrays = List() # Recursively build tree, there is probably a better way of doing this. def _get_sub_arrays(group, h5file): """Return a list of all arrays immediately below a group in an HDF5 file.""" return [Hdf5ArrayNode(name=array._v_name, path=array._v_pathname, parent_path=array._v_parent._v_pathname) for array in group if isinstance(array, (tb.Array, tb.Table))] # More pythonic # for array in h5file.iter_nodes(group, classname='Array')] # Old call def _get_sub_groups(group, h5file): """Return a list of all groups and arrays immediately below a group in an HDF5 file.""" subgroups = [] for subgroup in h5file.iter_nodes(group, classname='Group'): subsubgroups = _get_sub_groups(subgroup, h5file) subsubarrays = _get_sub_arrays(subgroup, h5file) subgroups.append(Hdf5GroupNode(name=subgroup._v_name, path=subgroup._v_pathname, parent_path=subgroup._v_parent._v_pathname, groups=subsubgroups, arrays=subsubarrays, groups_and_arrays=subsubgroups + subsubarrays) ) return subgroups def _hdf5_tree(filename): """Return a list of all groups and arrays below the root group of an HDF5 file.""" with tb.open_file(filename, 'r') as h5file: subgroups = _get_sub_groups(h5file.root, h5file) subarrays = _get_sub_arrays(h5file.root, h5file) h5_tree = Hdf5FileNode(name=filename, groups=subgroups, arrays=subarrays, groups_and_arrays=subgroups + subarrays) return h5_tree # Get a tree editor def _hdf5_tree_editor(selected=''): """Return a TreeEditor specifically for HDF5 file trees.""" return TreeEditor( nodes=[ TreeNode( node_for=[Hdf5FileNode], auto_open=True, children='groups_and_arrays', label='name', view=no_view, ), TreeNode( node_for=[Hdf5GroupNode], auto_open=False, children='groups_and_arrays', label='name', view=no_view, ), TreeNode( node_for=[Hdf5ArrayNode], auto_open=False, children='', label='name', view=no_view, ), ], editable=False, selected=selected, ) class ATree(HasTraits): h5_tree = Instance(Hdf5FileNode) node = Any() traits_view = View( Group( Item('h5_tree', editor=_hdf5_tree_editor(selected='node'), resizable=True, show_label=False, ), orientation='vertical', ), title='HDF5 Tree Example', buttons=['Undo', 'OK', 'Cancel'], resizable=True, width=.3, height=.3 ) def _node_changed(self): print(self.node.path) def make_test_datasets(): """Makes the test datasets and store it in the current folder""" import h5py import numpy as np import pandas as pd # pandas uses pytables to store datasets in hdf5 format. from random import randrange n = 100 df = pd.DataFrame(dict([("int{0}".format(i), np.random.randint(0, 10, size=n)) for i in range(5)])) df['float'] = np.random.randn(n) for i in range(10): df["object_1_{0}".format(i)] = ['%08x' % randrange(16**8) for _ in range(n)] for i in range(7): df["object_2_{0}".format(i)] = ['%15x' % randrange(16**15) for _ in range(n)] df.info() df.to_hdf('test_fixed.h5', 'data', format='fixed') df.to_hdf('test_table_no_dc.h5', 'data', format='table') df.to_hdf('test_table_dc.h5', 'data', format='table', data_columns=True) df.to_hdf('test_fixed_compressed.h5', 'data', format='fixed', complib='blosc', complevel=9) # h5py dataset time = np.arange(n) x = np.linspace(-7, 7, n) axes_latlon = [('time', time), ('coordinate', np.array(['lat', 'lon'], dtype='S3'))] axes_mag = [('time', time), ('direction', np.array(['x', 'y', 'z'], dtype='S1'))] latlon = np.vstack((np.linspace(-0.0001, 0.00001, n) + 23.8, np.zeros(n) - 82.3)).T mag_data = np.vstack((-(1 - np.tanh(x)**2) * np.sin(2 * x), -(1 - np.tanh(x)**2) * np.sin(2 * x), -(1 - np.tanh(x)**2))).T datasets = axes_mag + axes_latlon + [('magnetic_3_axial', mag_data), ('latlon', latlon)] with h5py.File(os.path.join(ROOT, 'test_h5pydata.h5'), "a") as h5file: h5group = h5file.require_group("run1_test1") for data_name, data in datasets: h5group.require_dataset(name=data_name, dtype=data.dtype, shape=data.shape, data=data, # **options ) def main(): import sys filename = os.path.join(ROOT, 'test_fixed.h5') filename = os.path.join(ROOT, 'test_table_no_dc.h5') if len(sys.argv) > 1: filename = sys.argv[1] a_tree = ATree(h5_tree=_hdf5_tree(filename)) return a_tree demo = main() if __name__ == '__main__': # make_test_datasets() demo.configure_traits() traitsui-7.2.1/examples/demo/Advanced/Settable_cached_property.py0000644000076500000240000001122414046644454025626 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! """ Creating settable cached Property in Traits How to create a Traits Property which is cached but is not read-only. The example demonstrates how to create a 'settable cached' property. The example itself is nonsensical, and is provided mainly to show how to set up such a property, and how it differs from a standard 'cached' property. A normal 'cached' property does not have a 'setter' method, meaning that the property is read-only. It usually represents a value which depends upon the state of other traits for its value. The cached property provides both a mechanism for remembering (i.e. caching) the current value of the property as well as a means of automatically detecting when the value of the property changes (which causes the cache to be flushed), and notifying any associated trait listeners that the value of the property has changed. Normally there is no 'setter' for such a property because the value is derived from the value of other traits. However, it is possible to define a 'settable cached' property which in addition to the capabilities of a normal 'cached' property, also allows the property's value to be explicitly set. To accomplish this, simply set the 'settable' argument to the 'property_depends_on' decorator to True (see the '_get_c' method in the example code). When set this way, an appropriate 'setter' method is automatically generated for the associated property. This allows code to set the value of the property directly if desired, subject to any constraints specified in the property declaration. For example, in the example, the 'c' trait is a 'settable cached' property whose value must be an integer. Attempting to set a non-integer value of the property will raise an exception, just like any other trait would. If any of the traits which the property depends upon change value, the current value of the property will be flushed from the cache and a change notification for the property will be generated. Any code that then attempts to read the value of the property will result in the cache being reloaded with the new value returned by the property's 'getter' method. In the example, trait 'c' is a 'settable cached' property which returns the product of 'a' times 'b', and trait 'd' is a normal 'cached' property that returns double the value of 'c'. To see the effect of these traits in action, try moving the 'a' and 'b' sliders and watching the 'c' and 'd' traits update. This demonstrates how 'c' and 'd' are properties that depend upon the values of other traits. Now try changing the value of the 'c' trait by moving the slider or typing a new value into the text entry field. You will see that the 'd' trait updates as well, illustrating that the 'c' trait can be set directly, as well as indirectly by changes to 'a' and 'b'. Also, try typing non-numeric values into the 'c' field and you will see that any values set are being type checked as well (i.e. they must be integer values). Now try typing a value into the 'd' trait and you will see that an error results (indicated by the text entry field turning red), because this is a normal 'cached' trait that has no 'setter' method defined. """ from math import sqrt from traits.api import HasTraits, Int, Range, Property, cached_property from traitsui.api import View, Item, RangeEditor #-- Demo Class ----------------------------------------------------------- class SettableCachedProperty(HasTraits): a = Range(1, 10) b = Range(1, 10) c = Property(Int, observe=['a', 'b']) d = Property(observe='c') view = View( Item('a'), Item('b'), '_', Item('c', editor=RangeEditor(low=1, high=100, mode='slider')), Item('c'), '_', Item('d', editor=RangeEditor(low=1, high=400, mode='slider')), Item('d'), width=0.3 ) @cached_property def _get_c(self): return (self.a * self.b) def _set_c(self, value): self.a = int(sqrt(value)) self.b = int(sqrt(value)) @cached_property def _get_d(self): return (self.c + self.c) #-- Run the demo --------------------------------------------------------- # Create the demo: demo = SettableCachedProperty() # Run the demo (if invoked from the command line): if __name__ == '__main__': demo.configure_traits() traitsui-7.2.1/examples/demo/Advanced/NumPy_array_tabular_editor_demo.py0000644000076500000240000000440114046644454027161 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! """ Displaying large NumPy arrays with TabularEditor A demonstration of how the TabularEditor can be used to display (large) NumPy arrays, in this case 100,000 random 3D points from a unit cube. In addition to showing the coordinates of each point, it also displays the index of each point in the array, as well as a red flag if the point lies within 0.25 of the center of the cube. """ from numpy import sqrt from numpy.random import random from traits.api import HasTraits, Property, Array from traitsui.api import View, Item, TabularAdapter, TabularEditor # -- Tabular Adapter Definition ------------------------------------------- class ArrayAdapter(TabularAdapter): columns = [('i', 'index'), ('x', 0), ('y', 1), ('z', 2)] font = 'Courier 10' alignment = 'right' format = '%.4f' index_text = Property() index_image = Property() def _get_index_text(self): return str(self.row) def _get_index_image(self): x, y, z = self.item if sqrt((x - 0.5) ** 2 + (y - 0.5) ** 2 + (z - 0.5) ** 2) <= 0.25: return '@icons:red_ball' return None # -- ShowArray Class Definition ------------------------------------------- class ShowArray(HasTraits): data = Array traits_view = View( Item( 'data', show_label=False, editor=TabularEditor( adapter=ArrayAdapter(), auto_resize=True, # Do not allow any kind of editing of the array: editable=False, operations=[], drag_move=False ) ), title='Array Viewer', width=0.3, height=0.8, resizable=True ) # Create the demo: demo = ShowArray(data=random((100000, 3))) # Run the demo (if invoked from the command line): if __name__ == '__main__': demo.configure_traits() traitsui-7.2.1/examples/demo/Advanced/HDF5_tree_demo2.py0000644000076500000240000002517514046644454023435 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! """This demo shows how to use Traits TreeEditors with h5py to walk the hierarchy of several HDF5 files in a folder. All Datasets and Groups are shown for each file. In the demo, the path to the selected item is printed whenever the selection changes. An example HDF5 file is provided here, but you could easily change the path given at the bottom of this file to a path to your own HDF5 file. To run this demonstration successfully, you must have the following packages installed: - **PyTables** (``tables``) - **HDF5 for Python** (``h5py``) Note that PyTables can't read HDF5 files created with h5py, but h5py can read HDF5 files created with PyTables. See HDF5_tree_demo for an example using PyTables. """ import os import warnings import h5py from traits import api import traitsui.api as ui ROOT = os.path.dirname(__file__) # View for objects that aren't edited no_view = ui.View() # HDF5 Nodes in the tree class Hdf5ArrayNode(api.HasTraits): name = api.Str('') path = api.Str('') parent_path = api.Str('') class Hdf5GroupNode(api.HasTraits): name = api.Str('') path = api.Str('') parent_path = api.Str('') # Can't have recursive traits? Really? # groups = api.List( Hdf5GroupNode ) groups = api.List() arrays = api.List(Hdf5ArrayNode) groups_and_arrays = api.List() class Hdf5FileNode(api.HasTraits): name = api.Str('') path = api.Str('/') groups = api.List(Hdf5GroupNode) arrays = api.List(Hdf5ArrayNode) groups_and_arrays = api.List() class Hdf5FilesNode(api.HasTraits): name = api.Str('') path = api.Str('/') files = api.List(Hdf5FileNode) groups_and_arrays = api.List() # Recursively build tree, there is probably a better way of doing this. def _get_sub_arrays(group, parent_path): """Return a list of all arrays immediately below a group in an HDF5 file.""" return [Hdf5ArrayNode(name=name, path=parent_path + name, parent_path=parent_path) for name, array in group.items() if isinstance(array, h5py.Dataset)] def _get_sub_groups(group, parent_path): """Return a list of all subgroups and arrays immediately below a group in an HDF5 file.""" subgroups = [] for name, subgroup in group.items(): if isinstance(subgroup, h5py.Group): path = parent_path + name + '/' subsubarrays = _get_sub_arrays(subgroup, path) subsubgroups = _get_sub_groups(subgroup, path) subgroups.append(Hdf5GroupNode(name=name, path=path, parent_path=parent_path, arrays=subsubarrays, subgroups=subsubgroups, groups_and_arrays=subsubgroups + subsubarrays) ) return subgroups def _hdf5_tree(filename): with h5py.File(filename, 'r') as h5file: path = filename + '#' # separate dataset name from name of hdf5-filename subgroups = _get_sub_groups(h5file, path) subarrays = _get_sub_arrays(h5file, path) file_tree = Hdf5FileNode(name=os.path.basename(filename), path=filename, groups=subgroups, arrays=subarrays, groups_and_arrays=subgroups + subarrays) return file_tree def _hdf5_trees(filenames): """Return a list of all groups and arrays below the root group of an HDF5 file.""" if isinstance(filenames, str): filenames = [filenames] files_tree = Hdf5FilesNode() files_tree.name = root = os.path.dirname(filenames[0]) files_tree.path = root for filename in filenames: folder = os.path.dirname(filename) if folder != root: warnings.warn("Expected same folder for all files, but got {} != {}".format(root, folder)) file_tree = _hdf5_tree(filename) files_tree.files.append(file_tree) files_tree.groups_and_arrays.extend(file_tree.groups_and_arrays) return files_tree # Get a tree editor def _hdf5_tree_editor(selected=''): """Return a ui.TreeEditor specifically for HDF5 file trees.""" return ui.TreeEditor(nodes=[ui.TreeNode(node_for=[Hdf5FilesNode], auto_open=True, children='files', label='name', view=no_view, ), ui.TreeNode(node_for=[Hdf5FileNode], auto_open=True, children='groups_and_arrays', label='name', view=no_view, ), ui.TreeNode(node_for=[Hdf5GroupNode], auto_open=False, children='groups_and_arrays', label='name', view=no_view, ), ui.TreeNode(node_for=[Hdf5ArrayNode], auto_open=False, children='', label='name', view=no_view, ), ], editable=False, selected=selected, ) class _H5Tree(api.HasTraits): h5_tree = api.Instance(Hdf5FileNode) node = api.Any() path = api.Str() traits_view = ui.View(ui.Group(ui.Item('h5_tree', editor=_hdf5_tree_editor(selected='node'), resizable=True ), ui.Item('path', label='Selected node'), orientation='vertical', ), title='HDF5 Tree Example', buttons=['OK', 'Cancel'], resizable=True, width=.3, height=.3 ) def _node_changed(self): self.path = self.node.path print(self.node.path) class _H5Trees(api.HasTraits): h5_trees = api.Instance(Hdf5FilesNode) node = api.Any() path = api.Str() traits_view = ui.View(ui.Group(ui.Item('h5_trees', editor=_hdf5_tree_editor(selected='node'), resizable=True ), ui.Item('path', label='Selected node'), orientation='vertical', ), title='Multiple HDF5 file Tree Example', buttons=['OK', 'Cancel'], resizable=True, width=.3, height=.3 ) def _node_changed(self): self.path = self.node.path print(self.node.path) def hdf5_tree(filename): # if isinstance(filename, str): # return _H5Tree(h5_tree=_hdf5_tree(filename)) return _H5Trees(h5_trees=_hdf5_trees(filename)) def make_test_datasets(): """Makes the test datasets and store it in the current folder""" import numpy as np import pandas as pd # pandas uses pytables to store datasets in hdf5 format. from random import randrange n = 100 df = pd.DataFrame(dict([("int{0}".format(i), np.random.randint(0, 10, size=n)) for i in range(5)])) df['float'] = np.random.randn(n) for i in range(10): df["object_1_{0}".format(i)] = ['%08x' % randrange(16**8) for _ in range(n)] for i in range(7): df["object_2_{0}".format(i)] = ['%15x' % randrange(16**15) for _ in range(n)] df.info() df.to_hdf('test_fixed.h5', 'data', format='fixed') df.to_hdf('test_table_no_dc.h5', 'data', format='table') df.to_hdf('test_table_dc.h5', 'data', format='table', data_columns=True) df.to_hdf('test_fixed_compressed.h5', 'data', format='fixed', complib='blosc', complevel=9) # h5py dataset time = np.arange(n) x = np.linspace(-7, 7, n) axes_latlon = [('time', time), ('coordinate', np.array(['lat', 'lon'], dtype='S3'))] axes_mag = [('time', time), ('direction', np.array(['x', 'y', 'z'], dtype='S1'))] latlon = np.vstack((np.linspace(-0.0001, 0.00001, n) + 23.8, np.zeros(n) - 82.3)).T mag_data = np.vstack((-(1 - np.tanh(x)**2) * np.sin(2 * x), -(1 - np.tanh(x)**2) * np.sin(2 * x), -(1 - np.tanh(x)**2))).T datasets = axes_mag + axes_latlon + [('magnetic_3_axial', mag_data), ('latlon', latlon)] with h5py.File(os.path.join(ROOT, 'test_h5pydata.h5'), "a") as h5file: h5group = h5file.require_group("run1_test1") for data_name, data in datasets: h5group.require_dataset(name=data_name, dtype=data.dtype, shape=data.shape, data=data, # **options ) def main(): filenames = ['test_fixed.h5', 'test_table_no_dc.h5', 'test_table_dc.h5', 'test_fixed_compressed.h5', 'test_h5pydata.h5'] fullfiles = [os.path.join(ROOT, fname) for fname in filenames] h5_trees = hdf5_tree(fullfiles) return h5_trees demo = main() if __name__ == '__main__': # make_test_datasets() ok_status = demo.configure_traits() print('The End', ok_status) traitsui-7.2.1/examples/demo/Advanced/Popup_Dialog_demo.py0000644000076500000240000000640514046644454024223 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! """ Demonstrates using a popup view within another view. Try changing the gender of the person from 'Male' to 'Female' using the drop-down list. When the person's gender is changed, a pop-up dialog is displayed immediately below the gender field providing you with the opportunity to cancel the gender change. If you click the Cancel button, the person's gender will return to its previous value. If you click anywhere else outside of the pop-up dialog, the pop-up dialog will simply disappear, leaving the person's new gender value as is. The main items of interest in this demo are: - The: kind = 'popup' trait set in the PersonHandler View which marks the view as being a popup view. - The parent = info.gender.control value passed to the edit_traits method when the popup dialog is created in the object_gender_changed method. This value specifies the control that the popup dialog should be positioned near. Notes: - This demo only works on the wx backend. - Traits UI will automatically position the popup dialog near the specified control in such a way that the pop-up dialog will not overlay the control and will be entirely on the screen (as long as these two conditions do not conflict). """ #-- Imports -------------------------------------------------------------- from traits.api \ import HasPrivateTraits, Str, Int, Enum, Instance, Button from traitsui.api \ import View, HGroup, Item, Handler, UIInfo, spring #-- The PersonHandler class ---------------------------------------------- class PersonHandler(Handler): # The UIInfo object associated with the view: info = Instance(UIInfo) # The cancel button used to revert an unintentional gender change: cancel = Button('Cancel') # The pop-up customization view: view = View( HGroup( spring, Item('cancel', show_label=False), ), kind='popup' ) # Event handlers: def object_gender_changed(self, info): if info.initialized: self.info = info self._ui = self.edit_traits(parent=info.gender.control) def _cancel_changed(self): object = self.info.object object.gender = ['Male', 'Female'][object.gender == 'Male'] self._ui.dispose() #-- The Person class ----------------------------------------------------- class Person(HasPrivateTraits): # The person's name, age and gender: name = Str() age = Int() gender = Enum('Male', 'Female') # The traits UI view: traits_view = View( Item('name'), Item('age'), Item('gender'), title='Button Popup Demo', handler=PersonHandler ) #-- Create and run the demo ---------------------------------------------- # Create the demo: demo = Person(name='Mike Thomas', age=32) # Run the demo (if invoked from the command line): if __name__ == '__main__': demo.configure_traits() traitsui-7.2.1/examples/demo/Advanced/Multi_select_string_list.py0000644000076500000240000000627214046644454025711 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! """ **WARNING** This demo might not work as expected and some documented features might be missing. ------------------------------------------------------------------------------- Creating a multi-select list box How to use a TabularEditor to create a multi-select list box. This demo uses two TabularEditors, side-by-side. Selections from the left table are shown in the right table. Each table has only one column. """ # Issues related to the demo warning: enthought/traitsui#14, # enthought/traitsui#15, enthought/traitsui#960 from traits.api import HasPrivateTraits, List, Str, Property from traitsui.api import View, HGroup, UItem, TabularAdapter, TabularEditor class MultiSelectAdapter(TabularAdapter): """ This adapter is used by both the left and right tables """ # Titles and column names for each column of a table. # In this example, each table has only one column. columns = [('', 'myvalue')] # Magically named trait which gives the display text of the column named # 'myvalue'. This is done using a Traits Property and its getter: myvalue_text = Property() # The getter for Property 'myvalue_text' simply takes the value of the # corresponding item in the list being displayed in this table. # A more complicated example could format the item before displaying it. def _get_myvalue_text(self): return self.item class MultiSelect(HasPrivateTraits): """ This is the class used to view two tables """ # FIXME (TraitsUI defect #14): When multi-select is done by keyboard # (shift+arrow), the 'selected' trait list does not update. # FIXME (TraitsUI defect #15): In Windows wx, when show_titles is False, # left table does not draw until selection passes through all rows. # (Workaround here: set show_titles True and make column titles empty.) choices = List(Str) selected = List(Str) traits_view = View( HGroup( UItem( 'choices', editor=TabularEditor( show_titles=True, selected='selected', editable=False, multi_select=True, adapter=MultiSelectAdapter() ) ), UItem( 'selected', editor=TabularEditor( show_titles=True, editable=False, adapter=MultiSelectAdapter() ) ) ), resizable=True, width=200, height=300 ) # Create the demo: demo = MultiSelect( choices=[ 'one', 'two', 'three', 'four', 'five', 'six', 'seven', 'eight', 'nine', 'ten' ] ) # Run the demo (if invoked from the command line): if __name__ == '__main__': demo.configure_traits() traitsui-7.2.1/examples/demo/Advanced/tests/0000755000076500000240000000000014046644526021420 5ustar aayresstaff00000000000000traitsui-7.2.1/examples/demo/Advanced/tests/test_List_editor_notebook_selection_demo.py0000644000076500000240000000325314046644454032266 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! """ This example demonstrates how to test interacting with a list created by a ListEditor with use_notebook=True. The GUI being tested is written in the demo under the same name (minus the preceding 'test') in the outer directory. """ import os import runpy import unittest from traitsui.testing.api import Index, KeyClick, MouseClick, UITester #: Filename of the demo script FILENAME = "List_editor_notebook_selection_demo.py" #: Path of the demo script DEMO_PATH = os.path.join(os.path.dirname(__file__), "..", FILENAME) class TestListEditorNotebookSelectionDemo(unittest.TestCase): def test_list_editor_notebook_selection_demo(self): demo = runpy.run_path(DEMO_PATH)["demo"] tester = UITester() with tester.create_ui(demo) as ui: people_list = tester.find_by_name(ui, "people") person2 = people_list.locate(Index(2)) person2.perform(MouseClick()) self.assertEqual(demo.index, 2) age = person2.find_by_name("age") age.perform(KeyClick("Backspace")) age.perform(KeyClick("9")) self.assertEqual(demo.people[2].age, 39) # Run the test(s) unittest.TextTestRunner().run( unittest.TestLoader().loadTestsFromTestCase( TestListEditorNotebookSelectionDemo) ) traitsui-7.2.1/examples/demo/Advanced/Time_editor_demo.py0000644000076500000240000000255114046644454024103 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! """ A timer editor Display or edit a time. You can edit the time directly, or by using only the arrow keys (left & right to navigate, up & down to change). """ import datetime from traits.api import HasTraits, Time from traitsui.api import View, Item, TimeEditor class TimeEditorDemo(HasTraits): """ Demo class. """ time = Time(datetime.time(12, 0, 0)) traits_view = View( Item('time', label='Simple Editor'), Item( 'time', label='Readonly Editor', style='readonly', # Show 24-hour mode instead of default 12 hour. editor=TimeEditor(strftime='%H:%M:%S') ), resizable=True ) def _time_changed(self): """ Print each time the time value is changed in the editor. """ print(self.time) # -- Set Up The Demo ------------------------------------------------------ demo = TimeEditorDemo() if __name__ == "__main__": demo.configure_traits() traitsui-7.2.1/examples/demo/Advanced/Scrubber_editor_demo.py0000644000076500000240000001562514046644454024762 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! """ This example demonstrates several different variations on using the ScrubberEditor. A 'scrubber' is a type of widget often seen in certain types of applications, such as video editing, image editing, 3D graphics and animation. These types of programs often have many parameters defined over various ranges that the user can tweak to get varying effects or results. Because the number of parameters is typically fairly large, and the amount of screen real estate is fairly limited, these program often use 'scrubbers' to allow the user to adjust the parameter values. A scrubber often looks like a simple text field. The user can type in new values, if they need a precise setting, or simply drag the mouse over the value to set a new value, much like dragging a slider control. The visual feedback often comes in the form of seeing both the text value of the parameter change and the effect that the new parameter value has on the underlying model. For example, in a 3D graphics program, there might be a scrubber for controlling the rotation of the currently selected object around the Y-axis. As the user scrubs the rotation parameter, they also see the model spin on the screen as well. This visual feedback is what makes a scrubber more useful than a simple text entry field. And the fact that the scrubber takes up no more screen real estate that a text entry field is what makes it more useful than a full-fledged slider in space limited applications. The Traits UI ScrubberEditor works as follows: - When the mouse pointer moves over the scrubber, the cursor pointer changes shape to indicate that the field has some additional control behavior. - The control may optionally change color as well, to visually indicate that the control is 'live'. - If you simply click on the scrubber, an active text entry field is displayed, where you can type a new value for the trait, then press the Enter key. - If you click and drag while over the scrubber, the value of the trait is modified based on the direction you move the mouse. Right and/or up increases the value, left and/or down decreases the value. Holding the Shift key down while scrubbing causes the value to change by 10 times its normal amount. Holding the Control key down while scrubbing changes the value by 0.1 times its normal amount. - Scrubbing is not limited to the area of the scrubber control. You can drag as far as you want in any direction, subject to the maximum limits imposed by the trait or ScrubberEditor definition. The ScrubberEditor also supports several different style and functional variations: - The visual default is to display only the special scrubber pointer to indicate to the user that 'scrubber' functionality is available. - By specifying a 'hover_color' value, you can also have the editor change color when the mouse pointer is over it. - By specifying an 'active_color' value, you can have the editor change color while the user is scrubbing. - By specifying a 'border_color' value, you can display a solid border around the editor to mark it as something other than an ordinary text field. - By specifying an 'increment' value, you can tell the editor what the normal increment value for the scrubber should be. Otherwise, the editor will calculate the increment value itself. Explicitly specifying an increment can be very useful in cases where the underlying trait has an unbounded value, which makes it difficult for the editor to determine what a reasonable increment value might be. - The editor will also correctly handle traits with dynamic ranges (i.e. ranges whose high and low limits are defined by other traits). Besides correctly handling the range limits, the editor will also adjust the default tooltip to display the current range of the scrubber. In this example, several of the variations described above are shown: - A simple integer range with default visual cues. - A float range with both 'hover_color' and 'active_color' values specified. - An unbounded range with a 'border_color' value specified. - A dynamic range. This consists of three scrubbers: one to control the low end of the range, one to control the high end, and one that uses the high and low values to determine its range. For comparison purposes, the example also shows the same traits displayed using their default editors. """ #-- Imports -------------------------------------------------------------- from traits.api \ import HasTraits, Range, Float from traitsui.api \ import View, VGroup, HGroup, Item, ScrubberEditor, spring #-- Shared Item Definition ---------------------------------------- class TItem(Item): editor = ScrubberEditor() #-- ScrubberDemo Class --------------------------------------------------- class ScrubberDemo(HasTraits): # Define some sample ranges and values: simple_integer = Range(0, 100) rollover_float = Range(-10.0, 10.0) bordered_unbounded = Float() dynamic_low = Range(high=-0.01, value=-10.0) dynamic_high = Range(low=0.01, value=10.0) dynamic_value = Range('dynamic_low', 'dynamic_high', 0.0) # Define the demo view: view = View( HGroup( VGroup( Item('simple_integer', editor=ScrubberEditor()), Item('rollover_float', editor=ScrubberEditor(hover_color=0xFFFFFF, active_color=0xA0CD9E)), Item('bordered_unbounded', editor=ScrubberEditor(hover_color=0xFFFFFF, active_color=0xA0CD9E, border_color=0x808080)), Item('dynamic_low', editor=ScrubberEditor()), Item('dynamic_high', editor=ScrubberEditor()), Item('dynamic_value', editor=ScrubberEditor()), show_border=True, label='Scrubber Editors' ), VGroup( Item('simple_integer'), Item('rollover_float'), Item('bordered_unbounded'), Item('dynamic_low'), Item('dynamic_high'), Item('dynamic_value'), show_border=True, label='Default Editors' ), spring ), title='Scrubber Editor Demo' ) #-- Create and run the demo ---------------------------------------------- # Create the demo: demo = ScrubberDemo() # Run the demo (if invoked from the command line): if __name__ == '__main__': demo.configure_traits() traitsui-7.2.1/examples/demo/Advanced/Multi_thread_demo_2.py0000644000076500000240000000547514046644454024511 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! """ Monitoring a dynamic number of threads Shows a simple user interface being updated by a dynamic number of threads. When the *Create Threads* button is pressed, the *count* method is dispatched on a new thread. It then creates a new *Counter* object and adds it to the *counters* list (which causes the *Counter* to appear in the user interface. It then counts by incrementing the *Counter* object's *count* trait (which again causes a user interface update each time the counter is incremented). After it reaches its maximum count, it removes the *Counter* from the *counter* list (causing the counter to be removed from the user interface) and exits (terminating the thread). Note that repeated clicking of the *Create Thread* button will create additional threads. """ from time import sleep from traits.api import HasTraits, Int, Button, List from traitsui.api import View, Item, ListEditor #-- The Counter objects used to keep track of the current count ---------- class Counter(HasTraits): # The current count: count = Int() view = View(Item('count', style='readonly')) #-- The main 'ThreadDemo' class ------------------------------------------ class ThreadDemo(HasTraits): # The button used to start a new thread running: create = Button('Create Thread') # The set of counter objects currently running: counters = List(Counter) view = View( Item('create', show_label=False), '_', Item('counters', style='custom', show_label=False, editor=ListEditor(use_notebook=True, dock_style='tab')), resizable=True, width=300, height=150, title='Dynamic threads' ) def __init__(self, **traits): super().__init__(**traits) # Set up the notification handler for the 'Create Thread' button so # that it is run on a new thread: self.on_trait_change(self.count, 'create', dispatch='new') def count(self): """ This method is dispatched on a new thread each time the 'Create Thread' button is pressed. """ counter = Counter() self.counters.append(counter) for i in range(1000): counter.count += 1 sleep(0.030) self.counters.remove(counter) # Create the demo: demo = ThreadDemo() # Run the demo (if invoked from the command line): if __name__ == '__main__': demo.configure_traits() traitsui-7.2.1/examples/demo/Advanced/List_editors_demo.py0000644000076500000240000000714114046644454024303 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! """ **WARNING** This demo might not work as expected and some documented features might be missing. ------------------------------------------------------------------------------- This shows the three different types of editor that can be applied to a list of objects: - Table - List - Dockable notebook (a list variant) Each editor style is editing the exact same list of objects. Note that any changes made in one editor are automatically reflected in the others. """ # Issue related to the demo warning: enthought/traitsui#948 from traits.api import HasStrictTraits, Str, Int, Regex, List, Instance from traitsui.api import ( Item, ListEditor, ObjectColumn, RuleTableFilter, Tabbed, TableEditor, View ) from traitsui.table_filter import ( RuleFilterTemplate, MenuFilterTemplate, EvalFilterTemplate ) # 'Person' class: class Person(HasStrictTraits): # Trait definitions: name = Str() age = Int() phone = Regex(value='000-0000', regex=r'\d\d\d[-]\d\d\d\d') # Traits view definition: traits_view = View( 'name', 'age', 'phone', width=0.18, buttons=['OK', 'Cancel'] ) # Sample data: people = [ Person(name='Dave', age=39, phone='555-1212'), Person(name='Mike', age=28, phone='555-3526'), Person(name='Joe', age=34, phone='555-6943'), Person(name='Tom', age=22, phone='555-7586'), Person(name='Dick', age=63, phone='555-3895'), Person(name='Harry', age=46, phone='555-3285'), Person(name='Sally', age=43, phone='555-8797'), Person(name='Fields', age=31, phone='555-3547') ] # Table editor definition: filters = [EvalFilterTemplate, MenuFilterTemplate, RuleFilterTemplate] table_editor = TableEditor( columns=[ ObjectColumn(name='name', width=0.4), ObjectColumn(name='age', width=0.2), ObjectColumn(name='phone', width=0.4) ], editable=True, deletable=True, sortable=True, sort_model=True, auto_size=False, filters=filters, search=RuleTableFilter(), row_factory=Person, show_toolbar=True ) # 'ListTraitTest' class: class ListTraitTest(HasStrictTraits): # Trait definitions: people = List(Instance(Person, ())) # Traits view definitions: traits_view = View( Tabbed( Item('people', label='Table', id='table', editor=table_editor), Item( 'people', label='List', id='list', style='custom', editor=ListEditor(style='custom', rows=5) ), Item( 'people', label='Notebook', id='notebook', style='custom', editor=ListEditor( use_notebook=True, deletable=True, export='DockShellWindow', page_name='.name' ) ), id='splitter', show_labels=False ), id='traitsui.demo.Traits UI Demo.Advanced.List_editors_demo', dock='horizontal', width=600 ) # Create the demo: demo = ListTraitTest(people=people) # Run the demo (if invoked from the command line): if __name__ == '__main__': demo.configure_traits() traitsui-7.2.1/examples/demo/Advanced/test_table_no_dc.h50000644000076500000240000024712014046644454024012 0ustar aayresstaff00000000000000‰HDF  ÿÿÿÿÿÿÿÿPNÿÿÿÿÿÿÿÿ`ˆ¨ àTREEÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÀHEAPXÈdataHˆ¨ TITLE (CLASSGROUP (VERSION1.0 8PYTABLES_FORMAT_VERSION2.1xTREEÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ¸HEAPX htable_i_table8SNOD(H(H TITLE (CLASSGROUP (VERSION1.0 8 pandas_type frame_table 0pandas_version0.15.2 8 table_typeappendable_frame H index_cols(lp0 (I0 Vindex p1 tp2 a. p values_colsB(lp0 Vvalues_block_0 p1 aVvalues_block_1 p2 aVvalues_block_2 p3 a.  non_index_axesq(lp0 (I1 (lp1 Vint0 p2 aVint1 p3 aVint2 p4 aVint3 p5 aVint4 p6 aVfloat p7 aVobject_1_0 p8 aVobject_1_1 p9 aVobject_1_2 p10 aVobject_1_3 p11 aVobject_1_4 p12 aVobject_1_5 p13 aVobject_1_6 p14 aVobject_1_7 p15 aVobject_1_8 p16 aVobject_1_9 p17 aVobject_2_0 p18 aVobject_2_1 p19 aVobject_2_2 p20 aVobject_2_3 p21 aVobject_2_4 p22 aVobject_2_5 p23 aVobject_2_6 p24 atp25 a. 0 data_columns(lp0 . (nan_repnan 0 encodingUTF-8 (errorsstrict 0 levels  0 metadata(lp0 . hinfoE(dp0 I1 (dp1 Vnames p2 (lp3 NasVtype p4 VIndex p5 ssVindex p6 (dp7 s.(¨À&#index@values_block_0* ?@4 4ÿvalues_block_1* values_block_2$*ÿ¨á#à’…^SNOD›Ãã € dÿÿÿÿÿÿÿÿ (CLASSTABLE (VERSION2.7 TITLE 0 FIELD_0_NAMEindex 8 FIELD_1_NAMEvalues_block_0 8 FIELD_2_NAMEvalues_block_1 8 FIELD_3_NAMEvalues_block_2 8 FIELD_0_FILL@ @ FIELD_1_FILL ?@4 4ÿ 8 FIELD_2_FILL  0 FIELD_3_FILL 0 index_kindinteger Hvalues_block_0_kind(lp0 Vfloat p1 a. 8values_block_0_metaN. 8values_block_0_dtypefloat64 hvalues_block_1_kind8(lp0 Vint0 p1 aVint1 p2 aVint2 p3 aVint3 p4 aVint4 p5 a. 8values_block_1_metaN. 8values_block_1_dtypeint32 Pvalues_block_2_kind(lp0 Vobject_1_0 p1 aVobject_1_1 p2 aVobject_1_2 p3 aVobject_1_3 p4 aVobject_1_4 p5 aVobject_1_5 p6 aVobject_1_6 p7 aVobject_1_7 p8 aVobject_1_8 p9 aVobject_1_9 p10 aVobject_2_0 p11 aVobject_2_1 p12 aVobject_2_2 p13 aVobject_2_3 p14 aVobject_2_4 p15 aVobject_2_5 p16 aVobject_2_6 p17 a. 8values_block_2_metaN. 8values_block_2_dtypebytes120 0 NROWS@dTREEÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÃÿØá#;›M`5²¿  a1ed8f2d8b8a9850eef27646045f0dda921ef8cf2ae9ef79342b7834a8bd96c6fb17fb6d36cccce779936df6966dd268ef1d8a7e09c3ec21f0e40756e85ccd7cf14b16965a9984dc0b3e918aee13330ad3e01bf7c559a69d133413482ã~Ä"¹@Ø? de66deda9ce5673d9d30ca39d9f89773306b28929c80c283011680a41491e6294fcd75a32ae9c22319adb3d66c301fd20831a4006d86c9eb3205c71d43064215683c2c6a4f39b342c27562d953f9f8e14ea66ce52b329a0bf86f9f1b4Îk ÷Ô?92d7c410e45bd1a398898d2df24bc1e6a0e78f76defbbd80d9688e04706b2800b6c13279efbad3ae 6fb804a87e444751c817e7d97c4ea6070f4f69ab1591e3c3724912d5981d5b0110173f85fe94277d9c5cdd3e25ca21a91cdcc31cb¡«šØJâ¿6eb28adb960e7c7a98706d8f1508353d1efedd251fe12061f818e3c3140eecae11d480cfb4c4624984bb9bda88866cc27f0a96b9d9846a1cac7214a36566992482c9c1acb23f482fc50c8ed86c8c95791661a03a5dfaaa35fef621d7c®ØN,áÙê?3ddeeb10ff72442c69147c66eabcd7e52dff5f8b64eea29c536e0063d2d4f30d3abcde9f6ac034067179fa3389c7cfa440e2d0c764b0701c59788968fe835a8448b85ffd23efceed29d005ffc86a3b419098c788286a3d5a98d96ee0aPõpXêEó?6483544fe963039f9b3b579e12af26bb7e0522a78c4a2a7555ad88b7b416c89b4b8fc8a6c940ec0b 66266cac0c476ffb22e7295dd0eddc9f1ccf7fad2d7063d4718a15215a7feec5a632dacf0283647596e187261e0a5cc72246b2da§1–Ü2`Ê¿886d01826edeb4a76bdd81d7d7739faf54310096a2e25becf8757997517e19db6d706a2d330257842994c1fb23c15a1aeb8c8689285ba4c920c9082dcc26ccced3971540bbe582f780f24bd49c41086d09dec6e6b1f07685910d653ce™3OÉiCú? 65b7c139667a6ecc0dd05c318db61e85a95d1d7563c856fabc851e24009b7b93c9a4862634431e8d6941887a47e51781ffad972c09cda284ff41168b22f215d8bfaec8d175ffda20043f45d670ddf099bf8cd63d247fcc9d845df0932ÓNÆÜœÃ?eb441e3d2a9ecd0cacc6e2dbee6b69e053a1fdf6e2641fa794b8056f559733d23ff05a8e20d215872d93436279b0e2e296ada23a03c2894f4f95002b4dafe7213d2c410239e1b644f59352f78ede6df8bdbaa16c6f11ba397dbc6bb7c [-;«Î¿888fc7eb52dcffa97b8cbf026d734405ee51647377e11a27c2e6f402e49b999c8cb743e7ef2c79f1d8d986a8b73f758d38e986edb5fa3bf6ba7216cf445e82010d72bff6c94562ef328f6ddf49087d451ba1db5c2dd427ab42343563b Ì –ýwÔ¿ b1e841df91642aa44ca49e71b6a3b91d94b8c23bff59cc9695874ad35da6912a9b78d29315a1251cc55a9237a0eaaee5fe701a3cfa0a7c5d884cb0be161835e02402c6124d40 6cb2a70628d877463fe196e350f22 57e002d6ab3810 †µÕgoÿ798afa2dd5902635e774ac0bab797d21417df68a69f9d3ab175a5ba15876523a0ed6e1d6254567844c34dbee8e89dc6e0df53bce8a76b41f93303f8844346984c9eeb0f8fb7073a649c2ebe0139 cf736e246d43d2ae833f18a16776c ¨¯Øà¿ 2d345ebb73c4bd3c6b4b4eb65e5b02a1ccbe28c360ee9d114c946f94e278316e995132b6074d7761ba9a613a5005464a6c83b5cee855acd45205f44c2ecd896d8c458273f102407a636176a9a3e6bf038ea85bf0b58c802a9ce2385ad bë“V3ç? 52eae87048f48ebee4ef229e924bc0cd175249128ef21ee097db61b050ee9ca0bda04fa5fb13586fec2144149efd3054336a3376b08b9ba98016e580370ff2a863583d58f9ac127542d6deb0cc1d27d6d8c0bf1091cdeef37a0e7fb78b‰LOÇU£¿498e5715bbd9bf1612c698449a0bacbdc676f195f864fe2293e10521f435dc94bff11fea4f8136f010aca573c66e203c3f658186c4e03f898594156be60a66dbf79423909632847828baae5c126859be0bdae54589c97fe7e4c2fc3ce½þm—šô? d6f9d52c846790af6f354f8b9b459abf5fdb217da79c2bfb2fe0ede1e9d442cfd12fb3bc2c43ae94b7e010b75586152c14f1878e0f9569700c3cf2903fd6b1e795c2559f19d944ffea7461c1441b190e973dcd8b7566b77c1a868ec1b—ã«¢Y5Þ¿ 87aad7c1bf836ce08cbe9cc735547d4af3879635c41db080c9538c55213645ff00ad777df58e620aa542c3414b83f7699c684b40990ac299a4eb969e9866e3d3521957db9f8d5bb22fe79b02215823fe865d41a9f1eede8cdbab6f14bò#%Å?  0a705b2f0d4e2e72ced21199c1c2e7dc363f9f1c7ee1dd3436414725c843d9023fc18e54258d99e32e662ab8fbd7439b32cb1cad1dd2bcd86b568750dae024cc4ee55f1f80869a60dc256dedfa1d1d80899b39da5baa2c4cbc4746a7di[ÒÏ"k@63268bc39027ca8c566f5065209702f0730de3c51c73e77c29bda177840c798dc936abfdff2144bfc51174519886a85a4ea0153690c73452b4e1b245c98d6fcac6b0e558fcfe9352a4858c9b397add9b44ecd1ee4a52ba3bdb7f9beb3áýšÌþëÑ¿7fdc371872afca731ca4638c27f80a70bdeb873ba909d91c5f9cd04c14438f43094e2bbc9630bb53ac7f5bd652bc110111958f6a01fc9043f8dc38dc2c9b1cb98d9c2baf227bf69b5c7e30c1dc6a4baf239b43df0187ea6d3be3d3cbf8IiׇõÛ? 7efed34857acbdda54f8ca1106b1be8d2bed416cb5e79bad3b081d66ca71d5ad5c8ecea8be175de3a6ed1dc99bbf1736a7e34a40a3926dc382fc6b5ddb8dd5b58c1ad9ca2e1d9bfcf9e8e631ad58131bc20fd67713732251251234128“‹Ì³0õ?3904b4a1d9a17f2251460f7b375cb9157deb6be5140722a7117ad5de948f81a1d0f4281c8fc909ab7e8ded37c16a520f11df99c117b8f7e309aed70800f2c7421efe2d5fecccad059c1ae090942a9a652cc419424fd94e88e40d76d00ñE"æÑ? 671904b364144c150f02646873a00e94427ce9aa2f0fa22522f12b628ccd94d172970840d3eed2d2208a330864b7f30702804595ee4f3c9c2d70278abd7a73cb409bf2904e4c6537919ba1aa10d56a8e4652497aa982beb8741531e0d“rS«çñ¿ 5b5a438b18eb06e9b24175345dcaf3765208d103aeb44e92729c0b5c78974fc96ea3e6a248fa443dddb06f725f5f989c099ad4dbb279d0f4693ee3df1a10a74a45818a52893757072720c9869cfc3cdb2a75209b622a1d397daa57c7eé8€p×? 3d0a67b8c893cd97a9990d92d4a5077917122e66091b7042996bb8e031ca98b792d93b6b39f1e9ccd39134e5c15cfc0319d242d23f93b1 1da3c3f1f84bfb6e8fb50cbd715cbe8cca19a9c207d979d52176ca3b917cc0e9f84ab38701ñö˰+ë?42d78bca095dcaaa7450b86bc1732b3867d7182f7c031a9dee276a95c3e392ea4d61749d8087e5ecd6fa11d9254654543b0a1a124075ac4dd2498e300a6d91f400bdaa1328302f2871dc46691e854d445d498d6c27 4f86a3c760ace01ú£…´ªï¿8b7516ace67eedc6e48c7d01daea9f5407713d52a846c56f3feeec60399699b9c4792aeb49d8559026dd14b0c892f46e5daed2874c22a0effbb69ffdcc0111a55afd90a9fcf27a0fa1631f5bba5c0730d1674d819d167881d87045c40Ã<Þ¹÷? ded69b63153f3e6f304c2ffddc0050a62188728d52a61141f823b7ada4061911f08c87f9157271f025aaddf60b9ef5314a43a45e8ac403af932015299a0157ac07b15fd51370d929aeeebf23147408d60554943d1fca873b5b0fbd9e6Ë}U®ãÝ¿76ca9c2d940eb6f9797074bd726145c4e0969fc4fa4f12fd696524c1b93558cddd9ed6464a9e239f8a70993d33b86ef59e48f5b4e289e1ffb03d54d479d383579fd61f479eb93a00a3cb552dd4bfd0860951026b2d639a41002a88e61è n`åä?461085d893a11c39051001087ce446ec094f948e8821b7c77e9a3ff0512b20d81c335bd9e1fb9e2ae3c1cff498d00e9782fb7019ea239bbd23411220dbdbede6f6366dd383adb764b01d844b85613f6c390baea93fa9562871236e575Å)lû¿dbb918e58c6d095387268444487f24fb143c8a41fe53fcd82028621562d23ce1dc901f74657ca6bf12dba3135b221ffd59fa00e83a61172dec9125314d44f1fe33357ff4c34e5c4f3a2d7e7c5022907ba95ae7e646ef4385d4d64b294øåQ †ãê?2202238974818e84dfafffeb8afb1d0c565f64bf00f82d0509fef4d4c4c853c864a17d4e441225548c308b74f90bca05c9f09304eaff4bb0b9205e2cfa23c394c5f008bbd0822d4a058e2ed02a6a6052409f79af02b7ae045f968ae90 ÿ+-å)È¿ 22efc8c618adacb7d4a8035fff951ab0eed60ee8e44fee2d6044864bb59a73ccd7ee6d91d290ae6c d54865080c122b3755ff68777c4ead0930dd684e1c8765e3cf60215eae0b5bed21687404b4d88c240b2f5e1ee13fc0965e4f53af!\ùvUaÀ¿ 5f5c1431d36e2967b1f88698780376c16115a64a159e584975d661ba0f904cf564a8547d1ce3dac195cc9bb6d84a9f53b8a21c0974c56f 94a3eedd211d0687baa6883323fd537ab0db15767b3ee06a7076a7f6759f47887abcea580a"’fóôï5Û¿ 24466edb5f794d925ebc5e242826815a52ebf856d7425d91e0db82ca0635e06e20e44bdf1c05100635e8453f0c377b4e90f4ddc56dea3ed55d4bce9caccdfa4683430477dfc436be0486d02367ca4573fd5013f23f5c3ac6474bcac23#Ǧºô? ffc476f3f871a5610b57312d0ec7f63695650461566f41f21ca550788c62c3e74faf62e3911bb68b3771ea29f3ed0fea816bc67fff4772e8ac9420fee4142c200204ad32cfc8fd5539de9c52465586b3b681175489f095ad42560a7ae$‚J!6l„ð?a16bbc8245c056bfb65db101b0c480c4abedbab11a7f3b7e27200642fdc2cf84d5644fcbe8b65fe2d0595071f8b3f8b7f909a8083e8a01ffd9474c6d26efe5b955f097363b8fbb626e5116db4445cd55ceb206a7d2d3d68104f85bf4e%S( ¥AÛ¿ 0c68dddace5c7255b45c5a2ad2ac91b82440ebbbf8c38c545e0432f3fdf346c9e731f300a624bbf98daedb05e4828ddf8f3649f0c64eb25d9ea7500a581f14fe47fcbd8531a7 1230d8580aedce8073359e88f449a25a37071edef0b8&âmsSð¿ 12d6634350aa1c764c53dfb7f79675ffa18e078378040c694308a2329ea3c5f8379c22cc366c6370368459543ce6bffc0cb25ab5553d475762da0c5fa0e32f2e3f1022796212ecf54fb051a1cf1d729e50bc009bf8ad83b45bbf09005'¶i¿¨õÏ¿39390e60bd7a4b7d455abef23e8d4cddb77a2ed815814ec9306f09502b6f7738461b23f40f5b492721db68bd70a5456491119a7dd6a992 69fbdd759568a689e8998c0aed3ccdc03174e0d399cbb8cbcae6818d511b445d90e5115876(p¬¨©(†ã¿ a076b39f73c34fd865568589bd6078334bc582ec22487ccb00f2e71fc5833c5ed9e9ff6ed695aad271f3729ff79b158a28c7dbe2a476ef 4e387062b4493132ff7f4042a25582577c8e2f9d70a6d6cbb85172b7a4fc360268c2f2a045)]zάóãµ?2ab1d67c33f492b90eb392b3788cad6b01048c5344e39d8ff9b921de1f2c9755480521190665eeee d7170c15dc3fa923d84085f9ea52e8064d33f9a73aa93ed7c031fcbebc35f5f21d8c47ea86acf49363cbaa3c1477a3f859d21917*ð€9-Ù„¶?67ac715cc8818b89454867eb01020ab92b1b180134d4476508bb2d8915eb5069688976cbd9cbe3553a71189f3c0694e fb8a85024271ddd91327795e54efcbe876f95de3bb801715b466940dbae4bd898c15930caedf4bb772c252e92+ƒ„Í‘£nó?8d1ea62448209c362dac69a79fb139c0d32107b8e38a5ff28cc0332dcaafc38ad4adf9505475399ec48f781425954b994460ec04c477c0199c4834d5bc20d2ba4fa3fdd560f61d7bbda76ebd716769ab175cf864383d84fa67eca411d,Õ™žT·dÉ? 4833ff579c771ff13788a1b6df196a16ec1f0d343232191c2ceee50d99458fafd9084ef9012a0f6bfe849d66e14e54dfe9843980894dedf87a36f4f4ddf043871598af3284c2 d8b17d40f7b8b2416be25d268d8e6be12db13302bfdc-.Ø\BøÙ? ecf5251cefa9aceab5418b74f5276d27442472eb7862305fed82c8d057b16cd83c4c1f60958bb7d9d623d01c72ee10543f6ef4796cdd24b3ceb0e5a1230f96b999434c218019897aa215512cda7f2b977fd82309226b58679c78d92f7.E…u‰¼Zü¿7160d0d0645d8bbbae28a6d7ba85b0909432cde4a446c6d180c5a3b4c7778fc2c4a105a42ce7e8675bf9755b0eb99d192d1f78767eeb84a7dd159d118b86a632bcecbf2ebe21c29f71a8be2eb883df12614eb5b22dfbe2062b68aca02/vçZ ®+î¿  8f355f6652ffaa9a1d8ac38ddf31ca671071fe6cd824d2925d2cacd5ed10f776baff97f81fcc6af728e3230db56976593504ef350bcf1f7711d29f4ae074f2e0750628c983f2776ba85d7fccd0590a7b75d9e56a14185ee7e86e101800#€~á„í¿3edb09d12d1806a835d2940a223fbec7905bdf914cda92ed419210f7ab288ab464b8b5b00e37d69931542948e92d820f7154c12a7e50deea456577139f6f249fa5f28d90fe9f8e98475ce22e94527f6acd4d8237026b88d204abc448c1ù3Üþà·Ò?6601652dcf0daa48ee87b7bf963a8ac513497d71a30f697450b0fd32a2e6998d3ea79dbef36cacfe 42f0fdfb014850bce9b453d27bad2 6381407628d75cd7b0bd5bd2578a938e3444ce469752a8b0fca4faaa0b6af0d5a6c3dcfafc2{3ºNaŠÓ¿0946ded5192e7ae4adefd78a52efca580273d6b5c65ae1a0cceb7d3d0cd60459a0122719bf609663c5534a352bbbc691843799bcdd9d769a6dbe4ffed03f191a19af0e06db264a39a628a02df4cd91470ca146e3d489b1872f2f4a6993° _S Ãñ¿4ee442cd545f8eb24fe88966ca677a4f4771eddbfaeba32e67e756033c129b43cd6af1e29e831a094d68bdd57ee000c802ce2a84a49df69d6b590976aa2767ffc8a67d01e573dfc2345e94d0818e75568a25b39b1fa6b84ba282e99054îÈ—‡ô? bde5af41a98c5f13d1e5b3730ad0c038e4fbc3a0c4bad5b30bf76383c83c6683379fdb9d7c1ffdda8d04edd04295899a42656333ae82e8c7307cf28fa0e682e8765446665b155d007b629cb084249f1fb3bfefdae240c8df2930b35605Ý-܈„˳?a4b5248ab67e87d6120383e1197af6d59a08d3e9c22f0b0b600722923ae467f20bab3215cf6c79e98f64d1753758e37fa2d12bb7a8f38cbd7d7147ebce5c12875e0d1cb9db2c14b57a82f6017366ee3acb9703d3eb58ff7c767764eea6b2ê TÝ¿82d28cf0eefea60fb02a6bebdeef3a9b1156e2ae10db1e4bdde66b7644df7fd7eb4c8856fc8076d4651da726b3f59bcd2d1d19e0dd5a73bb146621f3b0faed37b6dcfc7d891c72c918568d9274face3c25eeb2f69ea5e348d7986f3a975ñ{ÇØ?1e8ddf07b52898379dfdeba664565c937d9d9e4c4d736374c0c20b5c89ec2400e9e508a07fd6ffe9f9c938d12c907f5dce392ce611a7dec9a0c4cf9ab41171bbe67ac041c35b8b7943af6ac523849af42bf7c85b75d8f76eb3edec03e8öÇHˆ|Èå? 43f5b5348d2be37b19d6cc1780e385fdc7aa1033d32d09cb88fbcbd65471f0938e26f3bd4bf4ade5e64e784484e04c810b5d72be3005e4d13e81abf82f5e953a2fe28e1082924ce5ebd88c9a43e2b6d499c476cf42df109efed4bd9989÷poNè:Ò¿2eadd4aca404664e6cca53007bb2b1f58a3449d8b40b9b94a7b9d66e5725b3347952af8d5fbeff3de123092ff904682 2a7b983b22599085ee7bdbcf1ba882b46a5b11120c306b616e2ceab9ab5f80d98de070726d56395ea73db4915:úJÒ‘ê? df1531b9b0846832613f34e683a76b99dd681f172689d8eebc799455cf0bffa72832deee3e7ced72834c91a3c6902327afbd63446aaed4c5b8c586f3e56bdafb3630d55972b66baa3090d3fe60b79a67b53851730cd8fc345ff9b570d;¹ >‹ò°Ù?a9deda2270c1e93cf30d7045ada9bdca427e6d8df28d7607b3ed655f872425256cd8deee210ea98b752631c8a3b94068c777c38f34dd078fff0cfa02ce01e9a4dfa0b8f008597ba305ad665e425b281d0c5a55c3377f17b12eca69c59<¬úýõª«ø?ee3032b49b0d626089f3515f6acf39acc88d48ca51b9acd649eac9fcbd48d3069243a78d5ca596d0b6f38e2e8bf4f6fdb91729e5f4e0185ae0be2815ca49efd25fe1691dec446a34e726d5a6c9cde7b7bffa157aa2 601b0c6e55b65e=®™à-œsï¿ c62327b321c5d0376543ecf394338ec37df945f2dc842947aed16659fd9177df4bd83d5f64b485c1b532159f5fbc582baea9e5f0c29a6d200026f725f101efce5ef79ca8ac5b10157fdff8ea6ab3e6abfba502b708 a9b6ef64658735>Ê¡Au™ì¿56708507b32b9e729b818a264d1472f81fba98e9de32820b9ab4ad87440f4dd85c56964183be684288b86a3b408fc26a92dae9fe8df3015a15dfe4cfab9921ffc1af9d96ab96dba727301810b1f7ec530799857816263e0936c171b94?¶¾ãpüƒé¿ f73be8b52a4e375645860576c27755301faf7e9a9e671ecae8055c8f352ddc0c3bec368b4164d55a38c6505f503931c4744daaec7f511685af75d15d408fded36d03b4a9cd12fc701da9b855c24 922db02ac2c24e6ade73fc1f383d6@ÌÙï¯ç¿ 4a5504330424cbe1a6dddba938e24ce954177ef173c78e67e9abde250bf8c00c0eb6b63a2cad400538fdf14b75c105297fa83c51dc304a9ba83a0be6d510389498ba95b2ae3387a820b030ee7a93790a997283e46f3e8e7c24e6dfd27Aó Oßí¿ 377c1487920e2dadc8af9641c5ebe25eb24d2fd42fe51e2b7057b136e1a438382508d73efbf5cbab68be1fc407eed78725dd8cca1593e8c29f05597c59b67d3e04238054070bc491d9a083c535f909f00253a47fe0fbce0d1e721a9a4B¶3ÀxaþÝ¿a475061abe6414799a09f5f21463943cd02459be501c6d4262f1d7cb1a520920d3747e6ffac0143246281a650fef1acab737d8402aa2bd32f9863817ab98140561d50e92f51bbcbdd38649d4fa24846eca5ffd9961f1eb3a8263b832fC¿ã'uô¿4477b05465e5b5d001541a2a9c5a723f93f692ab65ef10e37367b8a1f96810d98b90f960e3485b3f3ed3a77a2ee4917a54486ee4f5419211b22ff5a8aeaa2b30469d0cb88a9b2d9b909533d855b661a83752db44afb706414d7e337a1D…·Óœ˜‚Å?78fa8a4227440f0775e769a25a0aebd67701c4319de2e9d4c7e1f28d3f232795fc911ef900cc51381a27e551e6621687b14316c3ff715ac9bd9f170ef7b952ac2397920ab85994d84691ccdc3af cbd8b850ff1d53daf346abcee48eEfåÀÑLí? d3e1a12c6c53f3b6d46abc4cbe6cbea9ba3e2945fe16f1d24cc390a91aed7ffdda54a2efc58d6a5673651b70b806c6977314bd689c3415 5c9005cc15538a909cce14470c4b35864355584f5cdcc638a43a8fc4d35d0add6cbe1895d6FÕ/Ã}RGë¿201991cad9870eab0fc041a29119b6b7cf0971e728518c809c667f3bb0038a9d756feebc5c0e7130da74537aa55de809ec067d20c8cc059b6b6cdaea87916d0a7091ba1f190de4e9b3d0cb24de4b182e77429ee12f8b9cb067f572eb1Gmž¡´ÙÍ¿1bcb2b08479b9d8b915950925db89aca66a7ffa0b7eb61b8c890b995e126622d7f768d0e92ed2f607d1dfba9390fd222b9ab664ab6bf84b295aec70257b96 e07af91ff296de4bf36f0bb276829e558e2ea72e33691ac967beaeba41aHGeØã¿e2d5b5e3fe8c111ee87b51a953adc74269d5720161d68b49caf650224771db3273bc412328908586a808c621f3a96c5c0cf5f0300b53f719b19e79f93aff5edbfff8f85b6301 5e8863f3540b96a060721bc6eb0ecad3ce116bcc7f86I([ê—@ÀØ¿ 2eabc8ecf2ac819ccc7d7bf0efc0d805ec3c7c6fd4a4dbb7d592e11bf302aa395b84359c0c1374a3f831fbbcb824d4d63c3d246e657fa28dcd1e02d8c5b2267a96c08586e347bf9d12c6925c90e803241953ae386e7a675f4e22f7aa5J쌗7T¾? ae037760552848d31353ac3523446c24f468ed3265cf010211908628ce036c044eca823a5b903986809ea01a3e3c077614fa39a928a8d8bdad37cf02d43ce76bd74eb547e46362af55c970275b643e9ab24fe39cc7 69a090cf8bd370KôÒãšS ã?2f0a7583ab909d4c5c809459a43ca2992fc5fe3660d25f8e9275ea2619ebf66a8ad874b755826bc1b6434e34538de739f4f785f3183fe740cdd2646b4f75a3c265ea7f59a60c6aba4139a1b36a4 d840d34c4276916067e5151c49a4dLYTà>Ç¿ 43b29aceae0e52fcddfe418a0cdde112e7c4776c5f2f3b7c1d74f811e018fc59cdf96a73013d46f65ef3f72991991d94d66e4c99a0ab2467d27a9108d9564283efb2e37746515da52afc377fe66590d82b8a89d02f9e367684cceebd6MâuÆüïØ?0f53de14fc05524f6aac61a4b006245c31d5da9c0cb73d6629c211139dfe5451b59f9fcf862d6d3ee3d420fbc9362f06f418ff547a07d51a986090d7db11ab217a315782069d999ea6f1bae60cc37948307c3111625ce9c7dd15b1c9dNÕ$¢ Oô?092142eb4f44250eca9c4c007ba8845f811fa1c2d1c6b42d306c170a44a07ddc9e0e9f3f784a47e5 4a138ec7d6ddfdc22d07bdc40717698347edacccbf7d12b67b0aecf1ea556ae3b5b11abaa73ae4e7766e325cfcfec41d6db69cffO»`J¶:†¿ a8e338b4b0b87529994d82c5ed8a42a70562a942e0f4c901d43cf026b54f29052cac5c36635c90abf6c373727f29b7a33a834b67807eb83a599bcf8af7ab0b4da447465e3cecffeb35d90871a2d29de36ee445a916b6c96200f76134bP›ã}»Qhæ¿fc550af9ee621a893e6a485ffdce04ddb5e993f0053d1c17559dd2620d5ae5118535859c2aa768277b88b9b5d03e8407e8058def1f0d7532ab196b127e6eb559dac252a22202cd52eda570eff06375f0865beb95c5 cc21d8854c090eQ­AañYØ¿ f6ec75fee0b14c3d633d35b1d3c3a71db3fd9df436515bfef5db7d35822f03b12590d17251d8a479500d1bb098b5576cbbd2203d1386a299f415521ce8c321ba905d19ec94c3ae49678ddd51da693502cc90242cc27ed4a33ce276f92R—©E[Êï¿ 1adf91ecc19476c22631a0b23dcbffe5d0bf006c653248c1081c79d949aad51e0df38d11b44982867213196c02279691f5d021bba1a18ce3269562d1fe1aab6b2568fc80e5a35c4256e1b90e45c928883350853ae0892236a2d083d68SëŽÝ§gÖâ?cdc4dc5c043395d551d4ad49fb9a804f56d44e3a621f3dcad1ed73be1855f52239314f1af987e135151fc5d13fa258e772052592e25af7c5515f9c55667f1a2087019abcf445dc1a55753132b98908c744d74b4081 3bcdbced9a109bTs’“›ÿžì¿  103b32995377f790d8178f1400bf6535ee6cc4908170c1347b5de086df154e8e05ed8448b9de6c2080c0d187e5d1db634508c778e613917ccf4ef9c7aa73dca77cfbb3c95a27caa350b25d7c9cf30096c1f2057fba5a39ed1c1ce8b6aU¢Ýˆ ÙÃ? 463f2f8336d38e9dd297d87e3499b0003c8c6039ec638027219862e49e7cf73ed536aacb472ee8e4b3effaa5d4c2aa5f4f4481e031c036aab95a0786874b8566b77331010bddc57eebef603bce2664718836012788a788902910a013bV“‡MÅÄ\ô?3e54629fbdd9586959ec95e6fe33a2700fea56a36c57f618a990d213fd242cce90c1520f3bdc2f5a9748d05df631059f28b7821c8c386b38235cc92e1af3c9e17b682fa44459 84e43bb2cd279464e3702d3350589fb91be1e29b04e6W ÔÊ¢²¬? 68d00334e2803ab63964afd1f750d82cade861e09275fc1ec0278357aa482a2730cfd923ba5066f7646df091591c04319eb978e2cbe813ff42228f645b3d44a2b08e95b0669b41e49fc80927651b82467b3015623c25aaf4ed9380556X/uIEM œ¿ 1cd5efb42294307e9e05ac996a3899ac4f3d10405aec4d60b9f5384ab589951f954c5494c4d6aa7bb4d41a6d208532d14707a98df31a9f59880c0df14d6352d583ffce3cfc4d634d2a7e13e62222aa0d3744c187b34908aa37eb0d9ecYéà¡æmÁÙ¿4c92160657d7cb7f1172a598d3fe096998c9e7fcbb65db69179923fe5177f50d7e098de00ad88332 f16ec32a9d2751eff69ea90859dc4a8efdbc25c7ce8bd8e1b9b71d3eacc4964d689e0f78c8b176c3ce70c1886ceaa3122e101a24Z ÙD™é¿ 8cbc780bb361c0f5b9e403d5c0ff5985c6d359e85bf8d12b29600bfe99a1ced37d2a65df540b8f54 46325b2cefdbfb b5677b7883d487988d730de322833ef4e003e5f70f2a df3a92793773a197e4f76e6cdf0f8e982fdef9d35b51[–´h™á¿ fcd9c627123684e74cc014bd7053dfc61f6d245b41f140ea5c21b9bc47e1bb83244a938df770095ce5ee155943a53378e6bc00974e75034df42cdfd71a9958b40e55c2757d9aac67889706886432d39200e50c4edd b4c20634599626\ý–=!u¿?45dc278cd5a503328cb022af9e7f319c9e522bd53e4e34359c31f9b8c51e2f35b6dffcb4bd01c786d1d8f407ba2e737eceff6dfcb9d5a7276c9bcbed19d7d2a32bbb64ce16894861afcb9fed531a5b14d7a3c60354f3df7079f2ebf57]×â¾Ñký¿78c135b4ce2a2706cb6ba32a941f1e03a0aa2e09b45340f5c0518236c408550f3c43ab5e6aca33ad1495eeccfcd624eb51b1d8c16b6a9ecd14f5411a7a25ed1a53b5f2e31a7a83b9b483b774d4a79cd627548da05b8c6e8b33f3dbef1^ ½ô‡\ @12dc84e0267406908dd8fa24ca16cf21af0ccf6de8452868d24a011b167382f6bc673b200e1d440c96a4bc87f1dec9eea3b83da5eb66ca7d191af8ea25c3bb7e60df5b8241b91625ff117862aeec7a891b8a566878b67f8ff348b4007_›¯•ñ? 5667f64f10d144721188cefd5a439d18ba1c9194a8c52762c1a3856888c068bc49e2fa70dcbd008dc8cb6736b5c3921716e58383424de843caea6b9ff67956500e264ffaa87bdbe2c8c451810b5407f89c3eedf8069fab0c7262bf79c`mÅB‡^Ë?149eed7a13ced9031fbd7a9047966028de0673e3a0bafcff75ec37bb28bd97a4e914d8a1af4500f2833630ef9404dbe5aaec1d282384a36ed6fef0dd1e4edeeb7ff0e383cbfb3437ace0b662dad72d5dd960d9a2d72f56b104c0accfba¿óÝŸlë? 65db964d5fe58ccffff28844524902281d29a971a43493d5bbbe4acf9583f1b05d9d502289514b4666f8b997071ca2aa24eacb851b5788855b5224c678f35254a38f6bf561592929ebe0c0f911cca2467ffbbba83ad6e1fdf24d231ffbbg0|•Íó? ac1917c5d9688d246fdf2b31fb0d45e315e5d9f7f385071803435439f15e619b684c25ce3b2e6acd95f461d8f965c7a2786a6656d0d81ee00623d52854d9c3f5bef5e994c19c77c05bb5db8247021cd26fcc9edb24 5184be02e37a2ac³$Tß4/ë¿ ad383931106c37f617cb55af97fb3619e2155a4dfa89d0a7980ad14a5705fb9b128e890c75a0ea70c12506113d9c1e881ccc38455a21e99e0b8c2e84bc65ad87f3456633bc551117db926bddf40e4ff034c368dc3dd4f08db89986c49[!ÈTREEÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿã$HEAPX!indexHÃã  HTITLE'Indexes container for table /data/table (CLASSTINDEX (VERSION1.0+&pTREEÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ«)@388HEAP°h;Ë;P (VERSION1.1SNOD#"K"k$+MP 8TITLEIndex for index column (CLASSINDEX (VERSION2.1 0 FILTERS@ 8 superblocksize@ 8 blocksize@ 8 slicesize  8 chunksize  8 optlevel  8 reduction  (ÿÿÿÿÿÿÿÿó*¸ 8shuffledeflateÿÿÿÿÿÿÿÿà’…^ 0CLASS INDEXARRAYSNOD0[2(«0«+X :@‹5@ (VERSION1.1 0TITLE Sorted Values 0 EXTDIM  ¨(ÿÿÿÿÿÿÿÿ  8shuffledeflateÿÿÿÿÿÿÿÿà’…^ 0CLASS INDEXARRAY (VERSION1.1 8TITLENumber of chunk in table 0 EXTDIM   (ÿÿÿÿÿÿÿÿ@ 8shuffledeflateÿÿÿÿÿÿÿÿà’…^ 0CLASS CACHEARRAY (VERSION1.1 0TITLE Range Values 0 EXTDIM  ˆÿÿÿÿÿÿÿÿ@ 8shuffledeflateÿÿÿÿÿÿÿÿ à’…^ (CLASSEARRAY (VERSION1.1 0TITLE Median ranges 0 EXTDIM   (ÿÿÿÿÿÿÿÿ@ 8shuffledeflateÿÿÿÿÿÿÿÿà’…^ 0CLASS CACHEARRAY (VERSION1.1 0TITLEBoundary Values 0 EXTDIM  ˆÿÿÿÿÿÿÿÿ@ 8shuffledeflateÿÿÿÿÿÿÿÿ à’…^ (CLASSEARRAY (VERSION1.1 0TITLE Start bounds 0 EXTDIM  ˆÿÿÿÿÿÿÿÿ@ 8shuffledeflateÿÿÿÿÿÿÿÿ à’…^ (CLASSEARRAY (VERSION1.1 0TITLE End bounds 0 EXTDIM  ˆÿÿÿÿÿÿÿÿ@ 8shuffledeflateÿÿÿÿÿÿÿÿ à’…^ (CLASSEARRAY (VERSION1.1 0TITLE Median bounds 0 EXTDIM  {9 8shuffledeflateË<à’…^ 0CLASS LASTROWARRAYSNOD /c-›(H#78ó3<X (VERSION1.1 @TITLELast Row sorted values + bounds‹$H 8shuffledeflateûDà’…^ 0CLASS LASTROWARRAYsortedindicesrangesmrangesboundsaboundszboundsmboundssortedLRindicesLRHs<X 0TITLELast Row indices@ 8 nelements d 8 nelements dTREEÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ¬{MTREEÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ)'NK"k$ 0 DIRTY xíÐUB@Á%EBI%T¤;¤»[bïNáß›#Œ ‘Êä åƒêQ­Ñêžô†g£Él±Úì§ëÅíñúü×·`(yÿøŒ~Åâ‰d*Éæò…b©\©Öêß?æo«Ýéöúƒáh<™Îæ‹åj½Ùîö‡ãéï|¹ÞDAÀ 0À 0À 0À 0À 0À 0À 0Àÿ8p;ºxíÐ  ÷Om( 0`À€ 0`À€÷traitsui-7.2.1/examples/demo/Advanced/Tree_editor_required_traits_demo.py0000644000076500000240000001127614046644454027376 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! """ This is a modified version of the Standard_Editors/TreeEditor_demo.py in which the `Employee` class is now a subclass of HasRequiredTraits. Thus, to create a new `TreeNode` for `Employee`, to create the associated `Employee` object we can not simply do `Employee()`. Luckily the `TreeNode` API provides a means for specifying a callable that returns a created instance when we want to add a new node. To do so we can simply pass a tuple of the for (klass, prompt, factorry) as an item the `add` list trait for a TreeNode. klass is the class of object we want to be addable, prompt is a boolean indicating whether or not we want to prompt the user to specify traits after we instantiate the object before it is added to the tree, and factory is the previously described callable that must return an instance of klass. """ from traits.api import HasRequiredTraits, HasTraits, Str, Regex, List, Instance from traitsui.api import Item, View, TreeEditor, TreeNode class Employee(HasRequiredTraits): """ Defines a company employee. """ name = Str('') title = Str() phone = Regex(regex=r'\d\d\d-\d\d\d\d') def default_title(self): self.title = 'Senior Engineer' def create_default_employee(): return Employee(name="Dilbert", title="Engineer", phone="999-8212") class Department(HasTraits): """ Defines a department with employees. """ name = Str('') employees = List(Employee) class Company(HasTraits): """ Defines a company with departments and employees. """ name = Str('') departments = List(Department) employees = List(Employee) # Create an empty view for objects that have no data to display: no_view = View() # Define the TreeEditor used to display the hierarchy: tree_editor = TreeEditor( nodes=[ # The first node specified is the top level one TreeNode( node_for=[Company], auto_open=True, # child nodes are children='', label='name', # label with Company name view=View(['name']) ), TreeNode( node_for=[Company], auto_open=True, children='departments', label='=Departments', # constant label view=no_view, add=[Department], ), TreeNode( node_for=[Company], auto_open=True, children='employees', label='=Employees', # constant label view=no_view, add=[(Employee, True, create_default_employee)] ), TreeNode( node_for=[Department], auto_open=True, children='employees', label='name', # label with Department name view=View(['name']), add=[(Employee, True, create_default_employee)] ), TreeNode( node_for=[Employee], auto_open=True, label='name', # label with Employee name view=View(['name', 'title', 'phone']) ) ] ) class Partner(HasTraits): """ Defines a business partner.""" name = Str('') company = Instance(Company) traits_view = View( Item(name='company', editor=tree_editor, show_label=False), title='Company Structure', buttons=['OK'], resizable=True, style='custom', width=.3, height=500 ) # Create an example data structure: jason = Employee(name='Jason', title='Senior Engineer', phone='536-1057') mike = Employee(name='Mike', title='Senior Engineer', phone='536-1057') dave = Employee(name='Dave', title='Senior Developer', phone='536-1057') martin = Employee(name='Martin', title='Senior Engineer', phone='536-1057') duncan = Employee(name='Duncan', title='Consultant', phone='526-1057') # Create the demo: demo = Partner( name='Enthought, Inc.', company=Company( name='Enthought', employees=[dave, martin, duncan, jason, mike], departments=[ Department( name='Business', employees=[jason, mike] ), Department( name='Scientific', employees=[dave, martin, duncan] ) ] ) ) # Run the demo (if invoked from the command line): if __name__ == '__main__': demo.configure_traits() traitsui-7.2.1/examples/demo/Advanced/List_editor_notebook_selection_demo.py0000644000076500000240000000772614046644454030076 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! """ Displaying a list of objects in notebook tabs A list of objects can be displayed in a tabbed notebook, one object per tab. This example also shows how the currently active notebook tab of a ListEditor can be controlled using the ListEditor's 'selected' trait. Note the interaction between the spinner control (for the 'index' trait) and the currently selected notebook tab. Try changing the spinner value, then try clicking on various notebook tabs. Finally, note that the ListEditor will automatically scroll the tabs to make the selected tab completely visible. """ # The following text was removed from the module docstring (only works in wx): # Also note that rearranging the notebook tabs (using drag and drop) does not # affect the correspondence between the index value and its associated notebook # tab. The correspondence is determined by the contents of the 'people' trait, # and not by the physical layout of the notebook tabs. from traits.api import HasStrictTraits, Str, Int, Regex, List, Instance, Range from traitsui.api import View, VGroup, Item, ListEditor #-- Person Class --------------------------------------------------------- class Person(HasStrictTraits): # Trait definitions: name = Str() age = Int() phone = Regex(value='000-0000', regex='\d\d\d[-]\d\d\d\d') # Traits view definition: traits_view = View('name', 'age', 'phone', width=0.18, buttons=['OK', 'Cancel']) #-- Sample Data ---------------------------------------------------------- people = [ Person(name='Dave Chomsky', age=39, phone='555-1212'), Person(name='Mike Wakowski', age=28, phone='555-3526'), Person(name='Joe Higginbotham', age=34, phone='555-6943'), Person(name='Tom Derringer', age=22, phone='555-7586'), Person(name='Dick Van Der Hooten', age=63, phone='555-3895'), Person(name='Harry McCallum', age=46, phone='555-3285'), Person(name='Sally Johnson', age=43, phone='555-8797'), Person(name='Fields Timberlawn', age=31, phone='555-3547') ] #-- ListEditorNotebookSelectionDemo Class -------------------------------- class ListEditorNotebookSelectionDemo(HasStrictTraits): #-- Trait Definitions ---------------------------------------------------- # List of people: people = List(Person) # The currently selected person: selected = Instance(Person) # The index of the currently selected person: index = Range(0, 7, mode='spinner') #-- Traits View Definitions ---------------------------------------------- traits_view = View( Item('index'), '_', VGroup( Item('people', id='notebook', show_label=False, style='custom', editor=ListEditor(use_notebook=True, deletable=False, selected='selected', export='DockWindowShell', page_name='.name') ) ), id='traitsui.demo.Traits UI Demo.Advanced.' 'List_editor_notebook_selection_demo', dock='horizontal') #-- Trait Event Handlers ------------------------------------------------- def _selected_changed(self, selected): self.index = self.people.index(selected) def _index_changed(self, index): self.selected = self.people[index] #-- Set Up The Demo ------------------------------------------------------ demo = ListEditorNotebookSelectionDemo(people=people) if __name__ == "__main__": demo.configure_traits() traitsui-7.2.1/examples/demo/Advanced/Auto_update_TabularEditor_demo.py0000644000076500000240000000664614046644454026743 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! """ **WARNING** This demo might not work as expected and some documented features might be missing. ------------------------------------------------------------------------------- Auto-update from a list to a TabularEditor Demonstrates using a TabularEditor with the 'auto_update' feature enabled, which allows the tabular editor to automatically update itself when the content of any object in the list associated with the editor is modified. To interact with the demo: - Select an employee from the list. - Adjust their salary increase. - Click the **Give raise** button. - Observe that the table automatically updates to reflect the employees new salary. In order for auto-update to work correctly, the editor trait should be a list of objects derived from HasTraits. Also, performance can be affected when very long lists are used, since enabling this feature adds and removed Traits listeners to each item in the list. """ # Issues related to the demo warning: # enthought/traitsui#960 from traits.api import HasTraits, Str, Float, List, Instance, Button from traitsui.api import ( View, HGroup, Item, TabularAdapter, TabularEditor, spring ) # -- EmployeeAdapter Class ------------------------------------------------ class EmployeeAdapter(TabularAdapter): columns = [('Name', 'name'), ('Salary', 'salary')] def get_default_value(self, object, trait): return Employee(name="John", salary=30000) # -- Employee Class ------------------------------------------------------- class Employee(HasTraits): name = Str() salary = Float() # -- Company Class -------------------------------------------------------- class Company(HasTraits): employees = List(Employee) employee = Instance(Employee) increase = Float() give_raise = Button('Give raise') traits_view = View( Item( 'employees', show_label=False, editor=TabularEditor( adapter=EmployeeAdapter(), selected='employee', auto_resize=True, auto_update=True ) ), HGroup( spring, Item('increase'), Item( 'give_raise', show_label=False, enabled_when='employee is not None' ) ), title='Auto Update Tabular Editor demo', height=0.25, width=0.30, resizable=True ) def _give_raise_changed(self): self.employee.salary += self.increase self.employee = None # -- Set up the demo ------------------------------------------------------ demo = Company( increase=1000, employees=[ Employee(name='Fred', salary=45000), Employee(name='Sally', salary=52000), Employee(name='Jim', salary=39000), Employee(name='Helen', salary=41000), Employee(name='George', salary=49000), Employee(name='Betty', salary=46000) ] ) # Run the demo (if invoked from the command line): if __name__ == '__main__': demo.configure_traits() traitsui-7.2.1/examples/demo/Advanced/Adapted_tree_editor_demo.py0000644000076500000240000001037514046644454025571 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! """ Demonstrates an alternative method of defining a **TreeEditor** by creating **ITreeNodeAdapter** subclasses. To run this demonstration successfully, you must have **AppTools** (``apptools``) installed. Using **ITreeNodeAdapters** can be useful in cases where the kind of content of the tree is not always known ahead of time. For example, you might be creating a reusable tool or component which can display its data in a tree view, but you do not know what kind of data it will be asked to display when you write the code. Therefore, it may be impossible for you to specify a **TreeEditor** with a correct set of **TreeNode** objects that will work in all possible future cases. Using **ITreeNodeAdapter** subclasses, you can allow the clients of your code to solve this problem by providing one of more **ITreeNodeAdapters** that can be used to provide the correct tree node information for each type of data that will appear in the **TreeEditor** view. In this demo, we define an **ITreeNodeAdapter** subclass that adapts the *apptools.io.file.File* class to be displayed in a file explorer style tree view. """ #-- Imports -------------------------------------------------------------- from os import getcwd from traits.api import ( HasTraits, Property, Directory, property_depends_on, register_factory ) from traitsui.api import ( View, VGroup, Item, TreeEditor, ITreeNode, ITreeNodeAdapter ) from apptools.io.api import File #-- FileAdapter Class ---------------------------------------------------- class FileAdapter(ITreeNodeAdapter): #-- ITreeNodeAdapter Method Overrides ------------------------------------ def allows_children(self): """ Returns whether this object can have children. """ return self.adaptee.is_folder def has_children(self): """ Returns whether the object has children. """ children = self.adaptee.children return ((children is not None) and (len(children) > 0)) def get_children(self): """ Gets the object's children. """ return self.adaptee.children def get_label(self): """ Gets the label to display for a specified object. """ return self.adaptee.name + self.adaptee.ext def get_tooltip(self): """ Gets the tooltip to display for a specified object. """ return self.adaptee.absolute_path def get_icon(self, is_expanded): """ Returns the icon for a specified object. """ if self.adaptee.is_file: return '' if is_expanded: return '' return '' def can_auto_close(self): """ Returns whether the object's children should be automatically closed. """ return True #-- FileTreeDemo Class --------------------------------------------------- class FileTreeDemo(HasTraits): # The path to the file tree root: root_path = Directory(entries=10) # The root of the file tree: root = Property() # The traits view to display: view = View( VGroup( Item('root_path'), Item('root', editor=TreeEditor(editable=False, auto_open=1) ), show_labels=False ), width=0.33, height=0.50, resizable=True ) #-- Traits Default Value Methods ----------------------------------------- def _root_path_default(self): return getcwd() #-- Property Implementations --------------------------------------------- @property_depends_on('root_path') def _get_root(self): return File(path=self.root_path) #-- Create and run the demo ---------------------------------------------- register_factory(FileAdapter, File, ITreeNode) demo = FileTreeDemo() # Run the demo (if invoked form the command line): if __name__ == '__main__': demo.configure_traits() traitsui-7.2.1/examples/demo/Advanced/test_h5pydata.h50000644000076500000240000002063014046644454023273 0ustar aayresstaff00000000000000‰HDF  ÿÿÿÿÿÿÿÿ˜!ÿÿÿÿÿÿÿÿ`ˆ¨ˆ¨TREEÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿàHEAPXÈrun1_test1@HhTREEÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ8HEAP°PÀSNOD Hhdd 8à’…^€  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcxyzlatlon?ÆÌ7@33333“TÀœA¸QÆÌ7@33333“TÀ2q\dÆÌ7@33333“TÀÈ wÆÌ7@33333“TÀ^Ф‰ÆÌ7@33333“TÀõÿHœÆÌ7@33333“TÀ‹/í®ÆÌ7@33333“TÀ!_‘ÁÆÌ7@33333“TÀ·Ž5ÔÆÌ7@33333“TÀM¾ÙæÆÌ7@33333“TÀãí}ùÆÌ7@33333“TÀy" ÇÌ7@33333“TÀMÆÇÌ7@33333“TÀ¦|j1ÇÌ7@33333“TÀ<¬DÇÌ7@33333“TÀÒÛ²VÇÌ7@33333“TÀh WiÇÌ7@33333“TÀþ:û{ÇÌ7@33333“TÀ”jŸŽÇÌ7@33333“TÀ*šC¡ÇÌ7@33333“TÀÀÉç³ÇÌ7@33333“TÀWù‹ÆÇÌ7@33333“TÀí(0ÙÇÌ7@33333“TÀƒXÔëÇÌ7@33333“TÀˆxþÇÌ7@33333“TÀ¯·ÈÌ7@33333“TÀEçÀ#ÈÌ7@33333“TÀÛe6ÈÌ7@33333“TÀqF IÈÌ7@33333“TÀv­[ÈÌ7@33333“TÀž¥QnÈÌ7@33333“TÀ4Õõ€ÈÌ7@33333“TÀÊš“ÈÌ7@33333“TÀ`4>¦ÈÌ7@33333“TÀöcâ¸ÈÌ7@33333“TÀŒ“†ËÈÌ7@33333“TÀ"Ã*ÞÈÌ7@33333“TÀ¸òÎðÈÌ7@33333“TÀO"sÉÌ7@33333“TÀåQÉÌ7@33333“TÀ{»(ÉÌ7@33333“TÀ±_;ÉÌ7@33333“TÀ§àNÉÌ7@33333“TÀ=¨`ÉÌ7@33333“TÀÓ?LsÉÌ7@33333“TÀioð…ÉÌ7@33333“TÀŸ”˜ÉÌ7@33333“TÀ–Î8«ÉÌ7@33333“TÀ,þܽÉÌ7@33333“TÀÂ-ÐÉÌ7@33333“TÀX]%ãÉÌ7@33333“TÀîŒÉõÉÌ7@33333“TÀ„¼mÊÌ7@33333“TÀìÊÌ7@33333“TÀ±¶-ÊÌ7@33333“TÀGKZ@ÊÌ7@33333“TÀÝzþRÊÌ7@33333“TÀsª¢eÊÌ7@33333“TÀ ÚFxÊÌ7@33333“TÀŸ ëŠÊÌ7@33333“TÀ59ÊÌ7@33333“TÀËh3°ÊÌ7@33333“TÀb˜×ÂÊÌ7@33333“TÀøÇ{ÕÊÌ7@33333“TÀŽ÷èÊÌ7@33333“TÀ$'ÄúÊÌ7@33333“TÀºVh ËÌ7@33333“TÀP† ËÌ7@33333“TÀæµ°2ËÌ7@33333“TÀ|åTEËÌ7@33333“TÀùWËÌ7@33333“TÀ©DjËÌ7@33333“TÀ?tA}ËÌ7@33333“TÀÕ£åËÌ7@33333“TÀkÓ‰¢ËÌ7@33333“TÀ.µËÌ7@33333“TÀ—2ÒÇËÌ7@33333“TÀ-bvÚËÌ7@33333“TÀÄ‘íËÌ7@33333“TÀZÁ¾ÿËÌ7@33333“TÀððbÌÌ7@33333“TÀ† %ÌÌ7@33333“TÀP«7ÌÌ7@33333“TÀ²OJÌÌ7@33333“TÀH¯ó\ÌÌ7@33333“TÀÞÞ—oÌÌ7@33333“TÀu<‚ÌÌ7@33333“TÀ >à”ÌÌ7@33333“TÀ¡m„§ÌÌ7@33333“TÀ7(ºÌÌ7@33333“TÀÍÌÌÌÌÌ7@33333“TÀcüpßÌÌ7@33333“TÀù+òÌÌ7@33333“TÀ[¹ÍÌ7@33333“TÀ%‹]ÍÌ7@33333“TÀ¼º*ÍÌ7@33333“TÀRê¥<ÍÌ7@33333“TÀèJOÍÌ7@33333“TÀ~IîaÍÌ7@33333“TÀy’tÍÌ7@33333“TÀSNOD €H°0 (È à’…^ˆË à’…^ˆ(dd ?@4 4ÿ8` à’…^h(dd ?@4 4ÿÑ @à’…^htimedirectioncoordinatemagnetic_3_axiallatlon`z‘© ­£Ë>z‘© ­£Ë>0óÃæË¾J'mÇðæÐ>J'mÇðæÐ>¸È‚Ò¾Öǯ´½Ò>Öǯ´½Ò>ªÊÇØ¾@GìÒ>@GìÒ>:tKà¾Zk˜ò¿É>Zk˜ò¿É>nŸ!Ÿå¾],”XÎã‘>],”XÎã‘>m°ì¾¬G“štÑÓ¾¬G“štÑÓ¾€æøó¾õ¯ùY<ê¾õ¯ùY<꾪EGAù¾Ó~øš´ø¾Ó~øš´ø¾@ vLÁ¿ïÅÕVî¿ïÅÕVî¿@DâW;¿7,wÐ ¿7,wÐ ¿€—o© ¿†Ì©ˆu¿†Ì©ˆu¿¬’¿°Püý¦¿°Püý¦¿€.™÷¿ûðÇô¿ûðÇô¿Ð\Ç3:!¿ÝÞ¾®Sf¿ÝÞ¾®Sf¿áé«Û&¿2 ñLøÐ¿2 ñLøÐ¿ Â‘:T.¿¾–ÿV}ð¾¾–ÿV}ð¾h™å4¿îeW¦L¤?îeW¦L¤?ÀC²:¿aœ˜Šw1?aœ˜Šw1?xÔÏϵA¿kŠg ßÔ@?kŠg ßÔ@?è¦ËGG¿R‚nšƒK?R‚nšƒK?üäš,O¿Öþu6=T?Öþu6=T?ðEÑ­T¿u­F‚jZ[?u­F‚jZ[?mÌn[¿¿Qëa?¿Qëa?‡7më1b¿ñÇ»«Tc?ñÇ»«Tc?¯z\>"h¿Õ\Ec?Õ\Ec?€§¤Gép¿”˜†¿)^?”˜†¿)^?€V1 8u¿OUáyB?OUáyB?€èºÅQ"|¿uß»Ðú]¿uß»Ðú]¿@eží¤‚¿Ä åü” w¿Ä åü” w¿P1ù§³ˆ¿ö­]lµ¹†¿ö­]lµ¹†¿Êu#[¿Áj’ñÈ’¿Áj’ñÈ’¿à¡Œ‰3¥•¿®*ªéÒ›¿®*ªéÒ›¿àŽáŸœ¿ay÷¯á¢¿ay÷¯á¢¿@¾‡¾æ¢¿ågÎ'˜§¿ågÎ'˜§¿ aÃ~í¨¿ƒªÕÞª¿ƒªÕÞª¿`ÎtÓg°¿ß8]nÇøª¿ß8]nÇøª¿8xpʉµ¿âÔÄ~ÍŸ¥¿âÔÄ~ÍŸ¥¿ô«b.¼¿1½HH‰A¿1½HH‰A¿TŽšÅäZ¿YĉÕêC ?YĉÕêC ?\,ðþÍÅÇ¿çeWZغ?çeWZغ?HòþÆuοÓÊß½*Ê?ÓÊß½*Ê?®àk£tÓ¿‘•¡WvÛÔ?‘•¡WvÛÔ?N´ë]·xØ¿n‘•wÂ;Ý?n‘•wÂ;Ý?XˆoMìOÞ¿Áÿ<ðkâ?Áÿ<ðkâ?Øv$¤kâ¿ÂxܪÉéä?ÂxܪÉéä?œGI?Àà忊ÿ®å"å?Šÿ®å"å?þ]àÓ—Hé¿""Í4dâ?""Í4dâ?c‘¿Oì¿Z¯ç’1Ù?Z¯ç’1Ù?+ZUÙ-šî¿XU –jóÁ?XU –jóÁ?£ã(.×ï¿U –jóÁ¿U –jóÁ¿¤ã(.×ï¿@¯ç’1Ù¿@¯ç’1Ù¿.ZUÙ-šî¿""Í4dâ¿""Í4dâ¿c‘¿O쿊ÿ®å"忊ÿ®å"å¿þ]àÓ—Hé¿ÅxܪÉéä¿ÅxܪÉéä¿¢GI?Ààå¿Áÿ<ðkâ¿Áÿ<ðkâ¿Øv$¤kâ¿}‘•wÂ;Ý¿}‘•wÂ;Ý¿dˆoMìOÞ¿‘•¡WvÛÔ¿‘•¡WvÛÔ¿N´ë]·xØ¿ÓÊß½*Ê¿ÓÊß½*Ê¿®àk£tÓ¿fWZغ¿fWZغ¿TòþÆuοĉÕêC ¿Ä‰ÕêC ¿h,ðþÍÅÇ¿1½HH‰A?1½HH‰A?TŽšÅäZ¿âÔÄ~ÍŸ¥?âÔÄ~ÍŸ¥?ô«b.¼¿ã8]nÇøª?ã8]nÇøª?Hxpʉµ¿ƒªÕÞª?ƒªÕÞª?`ÎtÓg°¿ågÎ'˜§?ågÎ'˜§? aÃ~í¨¿ay÷¯á¢?ay÷¯á¢?@¾‡¾æ¢¿°*ªéÒ›?°*ªéÒ›?àŽáŸœ¿Áj’ñÈ’?Áj’ñÈ’?ࡌ‰3¥•¿ö­]lµ¹†?ö­]lµ¹†?Êu#[¿Ú åü” w?Ú åü” w?P1ù§³ˆ¿¾ß»Ðú]?¾ß»Ðú]?@eží¤‚¿UáyB¿UáyB¿€èºÅQ"|¿”˜†¿)^¿”˜†¿)^¿€V1 8u¿Õ\Ec¿Õ\Ec¿€§¤Gép¿êÇ»«Tc¿êÇ»«Tc¿¯z\>"h¿¿Qëa¿¿Qëa¿‡7më1b¿u­F‚jZ[¿u­F‚jZ[¿mÌn[¿Øþu6=T¿Øþu6=T¿ðEÑ­T¿R‚nšƒK¿R‚nšƒK¿üäš,O¿kŠg ßÔ@¿kŠg ßÔ@¿è¦ËGG¿8aœ˜Šw1¿8aœ˜Šw1¿xÔÏϵA¿"fW¦L¤¿"fW¦L¤¿ÀC²:¿¾–ÿV}ð>¾–ÿV}ð>h™å4¿2 ñLøÐ?2 ñLøÐ? Â‘:T.¿¸Þ¾®Sf?¸Þ¾®Sf?áé«Û&¿øúðÇô?øúðÇô?Ð\Ç3:!¿°Püý¦?°Püý¦?€.™÷¿†Ì©ˆu?†Ì©ˆu?¬’¿7,wÐ ?7,wÐ ?€—o© ¿ôÅÕVî?ôÅÕVî?@DâW;¿Ó~øš´ø>Ó~øš´ø>@ vLÁ¿õ¯ùY<ê>õ¯ùY<ê>ªEGAù¾ÐG“štÑÓ>ÐG“štÑÓ>€æøó¾“*”XÎ㑾“*”XÎ㑾m°ì¾Zk˜ò¿É¾Zk˜ò¿É¾nŸ!Ÿå¾&GìÒ¾&GìÒ¾:tKà¾Îǯ´½Ò¾Îǯ´½Ò¾ªÊÇØ¾E'mÇðæÐ¾E'mÇðæÐ¾¸È‚Ò¾z‘© ­£Ë¾z‘© ­£Ë¾0óÃæË¾traitsui-7.2.1/examples/demo/Advanced/String_list_ui_editor.py0000644000076500000240000001057514046644454025204 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! """ **WARNING** This demo might not work as expected and some documented features might be missing. ------------------------------------------------------------------------------- Another demo showing how to use a TabularEditor to create a multi-select list box. This demo creates a reusable StringListEditor class and uses that instead of defining the editor as part of the demo class. This approach greatly simplifies the actual demo class and shows how to construct a reusable Traits UI-based editor that can be used in other applications. """ # Issue related to the demo warning: enthought/traitsui#960 from traits.api import HasPrivateTraits, List, Str, Property, observe from traits.etsconfig.api import ETSConfig from traitsui.api import ( BasicEditorFactory, HGroup, Item, TabularAdapter, TabularEditor, View ) if ETSConfig.toolkit == 'wx': from traitsui.wx.ui_editor import UIEditor else: from traitsui.qt4.ui_editor import UIEditor # -- Define the reusable StringListEditor class and its helper classes -------- # Define the tabular adapter used by the Traits UI string list editor: class MultiSelectAdapter(TabularAdapter): # The columns in the table (just the string value): columns = [('Value', 'value')] # The text property used for the 'value' column: value_text = Property() def _get_value_text(self): return self.item # Define the actual Traits UI string list editor: class _StringListEditor(UIEditor): # Indicate that the editor is scrollable/resizable: scrollable = True # The list of available editor choices: choices = List(Str) # The list of currently selected items: selected = List(Str) # The traits UI view used by the editor: traits_view = View( Item( 'choices', show_label=False, editor=TabularEditor( show_titles=False, selected='selected', editable=False, multi_select=True, adapter=MultiSelectAdapter() ) ), id='string_list_editor', resizable=True ) def init_ui(self, parent): self.sync_value(self.factory.choices, 'choices', 'from', is_list=True) self.selected = self.value return self.edit_traits(parent=parent, kind='subpanel') @observe('selected') def _selected_modified(self, event): self.value = self.selected # Define the StringListEditor class used by client code: class StringListEditor(BasicEditorFactory): # The editor implementation class: klass = _StringListEditor # The extended trait name containing the editor's set of choices: choices = Str() # -- Define the demo class ---------------------------------------------------- class MultiSelect(HasPrivateTraits): """ This class demonstrates using the StringListEditor to select a set of string values from a set of choices. """ # The list of choices to select from: choices = List(Str) # The currently selected list of choices: selected = List(Str) # A dummy result so that we can display the selection using the same # StringListEditor: result = List(Str) # A traits view showing the list of choices on the left-hand side, and # the currently selected choices on the right-hand side: traits_view = View( HGroup( Item( 'selected', show_label=False, editor=StringListEditor(choices='choices') ), Item( 'result', show_label=False, editor=StringListEditor(choices='selected') ) ), width=0.20, height=0.25 ) # Create the demo: demo = MultiSelect( choices=[ 'one', 'two', 'three', 'four', 'five', 'six', 'seven', 'eight', 'nine', 'ten' ], selected=['two', 'five', 'nine'] ) # Run the demo (if invoked from the command line): if __name__ == '__main__': demo.configure_traits() traitsui-7.2.1/examples/demo/Advanced/Date_editor_demo.py0000644000076500000240000000574114046644454024066 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! """ **WARNING** This demo might not work as expected and some documented features might be missing. ------------------------------------------------------------------------------- Implementation of a DateEditor demo plugin for Traits UI demo program. This demo shows a few different styles of the DateEditor and how it can be customized. """ # Issue related to the demo warning: enthought/traitsui#962 from traits.api import HasTraits, Date, List, Str from traitsui.api import View, Item, DateEditor, Group class DateEditorDemo(HasTraits): """ Demo class to show Date editors. """ single_date = Date() multi_date = List(Date) info_string = Str('The editors for Traits Date objects. Showing both ' 'the defaults, and one with alternate options.') multi_select_editor = DateEditor( allow_future=False, multi_select=True, shift_to_select=False, on_mixed_select='max_change', # Qt ignores these setting and always shows only 1 month: months=2, padding=30, ) traits_view = View( Item('info_string', show_label=False, style='readonly'), Group( Item('single_date', label='Simple date editor'), Item('single_date', style='custom', label='Default custom editor'), Item( 'single_date', style='readonly', editor=DateEditor( strftime='You picked %B %d %Y', message='Click a date above.' ), label='ReadOnly editor' ), label='Default settings for editors' ), Group( Item( 'multi_date', editor=multi_select_editor, style='custom', label='Multi-select custom editor' ), label='More customized editor: multi-select; disallow ' 'future; selection style; etc.' ), resizable=True ) def _multi_date_changed(self): """ Print each time the date value is changed in the editor. """ print(self.multi_date) def _simple_date_changed(self): """ Print each time the date value is changed in the editor. """ print(self.simple_date, self.single_date) def _single_date_changed(self): """ Print each time the date value is changed in the editor. """ print(self.single_date) # -- Set Up The Demo ------------------------------------------------------ demo = DateEditorDemo() if __name__ == "__main__": demo.configure_traits() traitsui-7.2.1/examples/demo/Advanced/ListStrEditor_demo.py0000644000076500000240000000325114046644454024410 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! """ Edit a List of Strings Simple demonstration of the ListStrEditor, which can be used for editing and displaying lists of strings, or other data that can be logically mapped to a list of strings. """ from traits.api import HasTraits, List, Str from traitsui.api import View, Item, ListStrEditor #-- ShoppingListDemo Class ----------------------------------------------- class ShoppingListDemo(HasTraits): # The list of things to buy at the store: shopping_list = List(Str) #-- Traits View Definitions ---------------------------------------------- view = View( Item('shopping_list', show_label=False, editor=ListStrEditor(title='Shopping List', auto_add=True) ), title='Shopping List', width=0.2, height=0.5, resizable=True ) #-- Set up the Demo ------------------------------------------------------ demo = ShoppingListDemo(shopping_list=[ 'Carrots', 'Potatoes (5 lb. bag)', 'Cocoa Puffs', 'Ice Cream (French Vanilla)', 'Peanut Butter', 'Whole wheat bread', 'Ground beef (2 lbs.)', 'Paper towels', 'Soup (3 cans)', 'Laundry detergent' ]) # Run the demo (in invoked from the command line): if __name__ == '__main__': demo.configure_traits() traitsui-7.2.1/examples/demo/Advanced/Table_editor_with_context_menu_demo.py0000644000076500000240000001167314046644454030064 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! """ Defining column-specific context menu in a Table Shows a TableEditor which has column-specific context menus. The demo is a simple baseball scoring system, which lists each player and their current batting statistics. After a given player has an at bat, you right-click on the table cell corresponding to the player and the result of the at-bat (e.g. 'S' = single) and select the 'Add' menu option to register that the player hit a single and update the player's overall statistics. This demo also illustrates the use of Property traits, and how using 'event' meta-data can simplify event handling by collapsing an event that can occur on a number of traits into a category of event, which can be handled by a single event handler defined for the category (in this case, the category is 'affects_average'). """ from random import randint from traits.api import HasStrictTraits, Str, Int, Float, List, Property from traitsui.api import Action, Item, Menu, ObjectColumn, TableEditor, View # Define a custom table column for handling items which affect the player's # batting average: class AffectsAverageColumn(ObjectColumn): # Define the context menu for the column: menu = Menu(Action(name='Add', action='column.add(object)'), Action(name='Sub', action='column.sub(object)')) # Right-align numeric values (override): horizontal_alignment = 'center' # Column width (override): width = 0.09 # Don't allow the data to be edited directly: editable = False # Action methods for the context menu items: def add(self, object): """ Increment the affected player statistic. """ setattr(object, self.name, getattr(object, self.name) + 1) def sub(self, object): """ Decrement the affected player statistic. """ setattr(object, self.name, getattr(object, self.name) - 1) # The 'players' trait table editor: player_editor = TableEditor( editable=True, sortable=False, auto_size=False, columns=[ ObjectColumn(name='name', editable=False, width=0.28), AffectsAverageColumn(name='at_bats', label='AB'), AffectsAverageColumn(name='strike_outs', label='SO'), AffectsAverageColumn(name='singles', label='S'), AffectsAverageColumn(name='doubles', label='D'), AffectsAverageColumn(name='triples', label='T'), AffectsAverageColumn(name='home_runs', label='HR'), AffectsAverageColumn(name='walks', label='W'), ObjectColumn( name='average', label='Ave', editable=False, width=0.09, horizontal_alignment='center', format='%0.3f' ) ] ) # 'Player' class: class Player(HasStrictTraits): # Trait definitions: name = Str() at_bats = Int() strike_outs = Int(event='affects_average') singles = Int(event='affects_average') doubles = Int(event='affects_average') triples = Int(event='affects_average') home_runs = Int(event='affects_average') walks = Int() average = Property(Float) def _get_average(self): """ Computes the player's batting average from the current statistics. """ if self.at_bats == 0: return 0.0 return float(self.singles + self.doubles + self.triples + self.home_runs) / self.at_bats def _affects_average_changed(self): """ Handles an event that affects the player's batting average. """ self.at_bats += 1 class Team(HasStrictTraits): # Trait definitions: players = List(Player) # Trait view definitions: traits_view = View( Item('players', show_label=False, editor=player_editor), title='Baseball Scoring Demo', width=0.5, height=0.5, resizable=True ) def random_player(name): """ Generates and returns a random player. """ p = Player( name=name, strike_outs=randint(0, 50), singles=randint(0, 50), doubles=randint(0, 20), triples=randint(0, 5), home_runs=randint(0, 30), walks=randint(0, 50) ) return p.trait_set( at_bats=( p.strike_outs + p.singles + p.doubles + p.triples + p.home_runs + randint(100, 200) ) ) # Create the demo: demo = Team( players=[ random_player(name) for name in [ 'Dave', 'Mike', 'Joe', 'Tom', 'Dick', 'Harry', 'Dirk', 'Fields', 'Stretch' ] ] ) # Run the demo (if invoked from the command line): if __name__ == '__main__': demo.configure_traits() traitsui-7.2.1/examples/demo/Advanced/Dynamic_EnumEditor_demo.py0000644000076500000240000001131414046644454025353 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! """ Dynamic changing an Enum selection list, depending on checked items Another way to dynamically change the values shown by an EnumEditor. The scenario is a restaurant that at the beginning of the day has a menu list of entrees based upon a fully stocked kitchen. However, as the day progresses, the kitchen's larder gets depleted, and the kitchen may no longer be able to prepare certain entrees, which must then be deleted from the menu. Similarly, deliveries may allow certain entrees to be added back onto the menu. The demo is divided into two tabs: Order and Kitchen. The Order tab represents a customer's order and consists of a single Entree field, which represents the customer's selection from the drop-down list of entrees that the kitchen can currently prepare. The Kitchen tab represents the current set of entrees that the kitchen can prepare, based upon the current contents of its larder. As entrees are checked on or off from the Kitchen tab, the customer's Entree drop-down is dynamically updated with the current list of available entrees. Notes: - The key point of the demo is the use of the 'name' trait in the EnumEditor definition, which links the list of available entrees from the KitchenCapabilities object to the OrderMenu object's entree EnumEditor. - The user can freely type any value they want, but only items in the capabilities will be accepted, due to the use of the 'values' argument to the Enum trait. This will be updated as the capabilities change. - With the Qt backend, the user can type text and it will be auto-completed to valid values as a the user types. The Wx backend doesn't support this capability in the underlying toolkit. - The design will work with any number of active OrderMenu objects, since they all share a common KitchenCapabilities object. As the KitchenCapabilities object is updated, all OrderMenu UI's will automatically update their associated Entree's drop-down list. - A careful reader will also observe that this example contains only declarative code. No imperative code is required to handle the automatic updating of the Entree list. """ from traits.api import Enum, HasPrivateTraits, List, Constant from traitsui.api import ( View, Item, VGroup, HSplit, EnumEditor, CheckListEditor ) #-- The list of possible entrees ----------------------------------------- possible_entrees = [ 'Chicken Fried Steak', 'Chicken Fingers', 'Chicken Enchiladas', 'Cheeseburger', 'Pepper Steak', 'Beef Tacos', 'Club Sandwich', 'Ceasar Salad', 'Cobb Salad' ] #-- The KitchenCapabilities class ---------------------------------------- class KitchenCapabilities(HasPrivateTraits): # The current set of entrees the kitchen can make (based on its larder): available = List(possible_entrees) # The KitchenCapabilities are shared by all waitstaff taking orders: kitchen_capabilities = KitchenCapabilities() #-- The OrderMenu class -------------------------------------------------- class OrderMenu(HasPrivateTraits): # The person's entree order: entree = Enum(values='capabilities.available') # Reference to the restaurant's current entree capabilities: capabilities = Constant(kitchen_capabilities) # The user interface view: view = View( HSplit( VGroup( Item('entree', editor=EnumEditor( name='object.capabilities.available', evaluate=str, completion_mode='popup', ) ), label='Order', show_border=True, dock='tab' ), VGroup( Item('object.capabilities.available', show_label=False, style='custom', editor=CheckListEditor(values=possible_entrees) ), label='Kitchen', show_border=True, dock='tab' ) ), title='Dynamic EnumEditor Demo', resizable=True, ) #------------------------------------------------------------------------- # Create the demo: demo = OrderMenu() # Run the demo (if invoked from the command line): if __name__ == '__main__': demo.configure_traits() print(demo.entree) traitsui-7.2.1/examples/demo/Advanced/Apply_Revert_handler_demo.py0000644000076500000240000000511614046644454025750 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! """ Apply / Revert Provides support in a dialog box for an "Apply" button which modifies the object being viewed, and a "Revert" button, which returns the object to its starting state (before any "Apply"). Note that this does not automatically provide a full (multi-step incremental) Undo capability. """ from traits.api import HasTraits, Str, List from traitsui.api import Item, View, Handler, HGroup, VGroup, TextEditor class ApplyRevert_Handler(Handler): def apply(self, info): print('apply called...') object = info.object object.stack.insert(0, object.input) object.queue.append(object.input) def revert(self, info): # Do something exciting here... print('revert called...') class ApplyRevertDemo(HasTraits): # Trait definitions: input = Str() stack = List() queue = List() # Traits view definitions: traits_view = View( VGroup( VGroup( Item('input', show_label=False, editor=TextEditor(auto_set=True) ), label='Input', show_border=True ), HGroup( VGroup( Item('stack', show_label=False, height=50, width=100, style='readonly' ), label='Stack', show_border=True ), VGroup( Item('queue', show_label=False, height=50, width=100, style='readonly' ), label='Queue', show_border=True ) ) ), resizable=True, height=300, title='Apply/Revert example', buttons=['Apply', 'Revert'], handler=ApplyRevert_Handler ) # Create the demo: modal_popup = ApplyRevertDemo() # Run the demo (if invoked from the command line): if __name__ == '__main__': modal_popup.configure_traits(kind='modal') traitsui-7.2.1/examples/demo/Advanced/Invalid_state_handling.py0000644000076500000240000001264514046644454025272 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! """ Sometimes the inputs to a model are not correlated. That is, any valid model input produces a corresponding valid model state. However, in other cases, some or all of the model inputs are correlated. That is, there may exist one or more combinations of individually valid model inputs which produce invalid model states. In cases where this can happen, it is very often desirable to warn the user if a particular combination of input values will not produce a usable result. This problem cannot be solved solely though the use of carefully chosen trait types and editors, because each individual input may be valid, but it is the combination of inputs which is invalid. Solving this problem therefore typically requires providing a way of determining whether or not the model is in a valid state, and then communicating that information to the user via the user interface. This demonstration provides an example of doing this using the TraitEditor's 'invalid' trait. Each trait editor has an 'invalid' trait which can be set equal to the name of a trait in the user interface context which contains a boolean value reflecting whether or not the user interface (and underlying model) are in a invalid state or not. A True value for the trait indicates that the editor's current value produces an invalid model state. By associating the same 'invalid' trait with one or more editors in the user interface, the resulting user interface can indicate to the user which combination of input values is producing the invalid state. In this example, we have a very simple model which allows the user to control the mass and velocity of a system. The model also defines the kinetic energy of the resulting system. For safety reasons, the kinetic energy of the system should not exceed a certain threshold. If it does, the user should be warned so that they can reduce either or both of the system mass and velocity back down to a safe level. In the model, an 'error' property is defined which is True whenever the kinetic energy level of the system exceeds the safety threshold. This trait is then synchronized with the user interface's 'mass', velocity' and 'status' editors, turning them red whenever the model enters an invalid state. The 'status' trait is another property, based on the 'error' trait, which provides a human readable description of the current system state. Note that in this example, we synchronize the 'error' trait with the user interface using 'sync_to_view' metadata, whose value is a list of user interface editor traits the trait should be synchronized 'to' (i.e. changes to the 'error' trait will be copied to the corresponding trait in the editor, but not vice versa). We could also have explicitly set the 'invalid' trait of each corresponding editor in the view definition to 'error' as well. To use the demo, simply use the 'mass' and 'velocity' sliders and observe the changes to the 'kinetic_energy' of the system. When the kinetic energy exceeds 50,000, notice how the 'mass', 'velocity' and 'status' fields turn red, and that when the kinetic energy drops below 50,000, the fields return to their normal color. """ #-- Imports -------------------------------------------------------------- from traits.api \ import HasTraits, Range, Float, Bool, Str, Property, property_depends_on from traitsui.api \ import View, VGroup, Item #-- System Class --------------------------------------------------------- class System(HasTraits): # The mass of the system: mass = Range(0.0, 100.0) # The velocity of the system: velocity = Range(0.0, 100.0) # The kinetic energy of the system: kinetic_energy = Property(Float) # The current error status of the system: error = Property( Bool, sync_to_view='mass.invalid, velocity.invalid, status.invalid') # The current status of the system: status = Property(Str) view = View( VGroup( VGroup( Item('mass'), Item('velocity'), Item('kinetic_energy', style='readonly', format_str='%.0f' ), label='System', show_border=True), VGroup( Item('status', style='readonly', show_label=False ), label='Status', show_border=True ), ) ) @property_depends_on('mass, velocity') def _get_kinetic_energy(self): return (self.mass * self.velocity * self.velocity) / 2.0 @property_depends_on('kinetic_energy') def _get_error(self): return (self.kinetic_energy > 50000.0) @property_depends_on('error') def _get_status(self): if self.error: return 'The kinetic energy of the system is too high.' return '' #-- Create and run the demo ---------------------------------------------- # Create the demo: demo = System() # Run the demo (if invoked from the command line): if __name__ == '__main__': demo.configure_traits() traitsui-7.2.1/examples/demo/Advanced/NumPy_array_view_editor_demo.py0000644000076500000240000000561214046644454026506 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! """ Using ArrayViewEditor to display large NumPy arrays in a table. This example displays 100,000 random 3D points from a unit cube. Note that the ArrayViewEditor has the following traits:: # Should an index column be displayed: show_index = Bool(True) # List of (optional) column titles: titles = List(Str) # Should the array be logically transposed: transpose = Bool(False) # The format used to display each array element: format = Str('%s') By default, the array row index will be shown in column one. If 'show_index' is False, then the row index column is omitted. If the list of 'titles' is empty, no column headers will be displayed. If the number of column headers is less than the number of array columns, then there are two cases: - If (number of array_columns) % (number of titles) == 0, then the titles are used to construct a series of repeating column headers with increasing subscripts (e.g. an (n x 6) array with titles of ['x','y','z'] would result in column headers of: 'x0', 'y0', 'z0', 'x1', 'y1', 'z1'). - In all other cases the titles are used as the column headers for the first set of columns, and the remaining column headers are set to the empty string (e.g. an (n x 5) array with titles of ['x','y','z'] would result in column headers of: 'x', 'y', 'z', '', ''). Setting 'transpose' to True will logically transpose the input array (e.g. an (3 x n) array will be displayed as an (n x 3) array). """ from numpy.random import random from traits.api import HasTraits, Array from traitsui.api import View, Item from traitsui.ui_editors.array_view_editor import ArrayViewEditor #-- ShowArray demo class ------------------------------------------------- class ShowArray(HasTraits): data = Array view = View( Item('data', show_label=False, editor=ArrayViewEditor(titles=['x', 'y', 'z'], format='%.4f', # Font fails with wx in OSX; # see traitsui issue #13: # font = 'Arial 8' ) ), title='Array Viewer', width=0.3, height=0.8, resizable=True ) #-- Run the demo --------------------------------------------------------- # Create the demo: demo = ShowArray(data=random((100000, 3))) # Run the demo (if invoked from the command line): if __name__ == '__main__': demo.configure_traits() traitsui-7.2.1/examples/demo/Advanced/Tabular_editor_demo.py0000644000076500000240000002530714046644454024603 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! """ **WARNING** This demo might not work as expected and some documented features might be missing. ------------------------------------------------------------------------------- Tabular editor The TabularEditor can be used for many of the same purposes as the TableEditor, that is, for displaying a table of attributes of lists or arrays of objects. While similar in function, the tabular editor has advantages and disadvantages relative to the table editor. See the Traits UI User Manual for details. This example defines three classes: - *Person*: A single person. - *MarriedPerson*: A married person (subclass of Person). - *Report*: Defines a report based on a list of single and married people. It creates a tabular display of 10,000 single and married people showing the following information: - Name of the person. - Age of the person. - The person's address. - The name of the person's spouse (if any). In addition: - It uses a Courier 10 point font for each line in the table. - It displays age column right, instead of left, justified. - If the person is a minor (age < 18) and married, it displays a red flag image in the age column. - If the person is married, it makes the background color for that row a light blue. - If this demo is running under QT, it displays each person's surname in a row label. This example demonstrates: - How to set up a *TabularEditor*. - The display speed of the *TabularEditor*. - How to create a *TabularAdapter* that meets each of the specified display requirements. Additional notes: - You can change the current selection using the up and down arrow keys. - If the demo is running under WX, you can move a selected row up and down in the table using the left and right arrow keys. - If the demo is running under QT, you can move rows by clicking and dragging. Hopefully, this simple example conveys some of the power and flexibility that the `TabularAdapter` class provides you. But, just in case it doesn't, let's go over some of the more interesting details: - Note the values in the `~TabularAdapter.columns` trait. The first three values define *column ids* which map directly to traits defined on our data objects, while the last one defines an arbitrary string which we define so that we can reference it in the `MarriedPerson_spouse_text` and `Person_spouse_text` trait definitions. - Since the font we want to use applies to all table rows, we just specify a new default value for the existing `TabularAdapter.font` trait. - Since we only want to override the default left alignment for the age column, we simply define an `age_alignment` trait as a constant ``'right'`` value. We could have also used ``age_alignment = Str('right')``, but `Constant` never requires storage to be used in an object. - We define the `MarriedPerson_age_image` property to handle putting the ``'red flag'`` image in the age column. By including the class name of the items it applies to, we only need to check the `age` value in determining what value to return. - Similary, we use the `MarriedPerson_bg_color` trait to ensure that each `MarriedPerson` object has the correct background color in the table. - Finally, we use the `MarriedPerson_spouse_text` and `Person_spouse_text` traits, one a property and the other a simple constant value, to determine what text to display in the *Spouse* column for the different object types. Note that even though a `MarriedPerson` is both a `Person` and a `MarriedPerson`, it will correctly use the `MarriedPerson_spouse_text` trait since the search for a matching trait is always made in *mro* order. Although this is completely subjective, some of the things that the author feels stand out about this approach are: - The class definition is short and sweet. Less code is good. - The bulk of the code is declarative. Less room for logic errors. - There is only one bit of logic in the class (the ``if`` statement in the `MarriedPerson_age_image` property implementation). Again, less logic usually translates into more reliable code). - The defined traits and even the property implementation method names read very descriptively. `_get_MarriedPerson_age_image` pretty much says what you would write in a comment or doc string. The implementation almost is the documentation. """ # Issue related to the demo warning: enthought/traitsui#960 from functools import partial from random import randint, choice, shuffle from traits.api import HasTraits, Str, Int, List, Instance, Property, Constant from traits.etsconfig.api import ETSConfig from traitsui.api import ( View, Group, Item, TabularAdapter, TabularEditor, Color ) # -- Person Class Definition ---------------------------------------------- class Person(HasTraits): name = Str() address = Str() age = Int() # surname is displayed in qt-only row label: surname = Property(fget=lambda self: self.name.split()[-1], observe='name') # -- MarriedPerson Class Definition --------------------------------------- class MarriedPerson(Person): partner = Instance(Person) # -- Tabular Adapter Definition ------------------------------------------- class ReportAdapter(TabularAdapter): """ The tabular adapter interfaces between the tabular editor and the data being displayed. For more details, please refer to the traitsUI user guide. """ # List of (Column labels, Column ID). columns = [('Name', 'name'), ('Age', 'age'), ('Address', 'address'), ('Spouse', 'spouse')] row_label_name = 'surname' # Interfacing between the model and the view: make some of the cell # attributes a property whose behavior is then controlled by the get # (and optionally set methods). The cell is identified by its column # ID (age, spouse). # Overwrite default value font = 'Courier 10' age_alignment = Constant('right') MarriedPerson_age_image = Property() MarriedPerson_bg_color = Color(0xE0E0FF) MarriedPerson_spouse_text = Property() Person_spouse_text = Constant('') def _get_MarriedPerson_age_image(self): if self.item.age < 18: return '@icons:red_ball' return None def _get_MarriedPerson_spouse_text(self): return self.item.partner.name # -- Tabular Editor Definition -------------------------------------------- # The tabular editor works in conjunction with an adapter class, derived from # TabularAdapter. tabular_editor = TabularEditor( adapter=ReportAdapter(), operations=['move', 'edit'], # Row titles are not supported in WX: show_row_titles=ETSConfig.toolkit == 'qt4', ) # -- Report Class Definition ---------------------------------------------- class Report(HasTraits): people = List(Person) traits_view = View( Group( Item('people', id='table', editor=tabular_editor), show_labels=False ), title='Tabular Editor Demo', id='traitsui.demo.Applications.tabular_editor_demo', width=0.60, height=0.75, resizable=True ) # -- Generate 10,000 random single and married people --------------------- male_names = [ 'Michael', 'Edward', 'Timothy', 'James', 'George', 'Ralph', 'David', 'Martin', 'Bryce', 'Richard', 'Eric', 'Travis', 'Robert', 'Bryan', 'Alan', 'Harold', 'John', 'Stephen', 'Gael', 'Frederic', 'Eli', 'Scott', 'Samuel', 'Alexander', 'Tobias', 'Sven', 'Peter', 'Albert', 'Thomas', 'Horatio', 'Julius', 'Henry', 'Walter', 'Woodrow', 'Dylan', 'Elmer' ] female_names = [ 'Leah', 'Jaya', 'Katrina', 'Vibha', 'Diane', 'Lisa', 'Jean', 'Alice', 'Rebecca', 'Delia', 'Christine', 'Marie', 'Dorothy', 'Ellen', 'Victoria', 'Elizabeth', 'Margaret', 'Joyce', 'Sally', 'Ethel', 'Esther', 'Suzanne', 'Monica', 'Hortense', 'Samantha', 'Tabitha', 'Judith', 'Ariel', 'Helen', 'Mary', 'Jane', 'Janet', 'Jennifer', 'Rita', 'Rena', 'Rianna' ] all_names = male_names + female_names male_name = partial(choice, male_names) female_name = partial(choice, female_names) any_name = partial(choice, all_names) age = partial(randint, 15, 72) def family_name(): return choice([ 'Jones', 'Smith', 'Thompson', 'Hayes', 'Thomas', 'Boyle', "O'Reilly", 'Lebowski', 'Lennon', 'Starr', 'McCartney', 'Harrison', 'Harrelson', 'Steinbeck', 'Rand', 'Hemingway', 'Zhivago', 'Clemens', 'Heinlien', 'Farmer', 'Niven', 'Van Vogt', 'Sturbridge', 'Washington', 'Adams', 'Bush', 'Kennedy', 'Ford', 'Lincoln', 'Jackson', 'Johnson', 'Eisenhower', 'Truman', 'Roosevelt', 'Wilson', 'Coolidge', 'Mack', 'Moon', 'Monroe', 'Springsteen', 'Rigby', "O'Neil", 'Philips', 'Clinton', 'Clapton', 'Santana', 'Midler', 'Flack', 'Conner', 'Bond', 'Seinfeld', 'Costanza', 'Kramer', 'Falk', 'Moore', 'Cramdon', 'Baird', 'Baer', 'Spears', 'Simmons', 'Roberts', 'Michaels', 'Stuart', 'Montague', 'Miller' ]) def address(): number = randint(11, 999) text_1 = choice([ 'Spring', 'Summer', 'Moonlight', 'Winding', 'Windy', 'Whispering', 'Falling', 'Roaring', 'Hummingbird', 'Mockingbird', 'Bluebird', 'Robin', 'Babbling', 'Cedar', 'Pine', 'Ash', 'Maple', 'Oak', 'Birch', 'Cherry', 'Blossom', 'Rosewood', 'Apple', 'Peach', 'Blackberry', 'Strawberry', 'Starlight', 'Wilderness', 'Dappled', 'Beaver', 'Acorn', 'Pecan', 'Pheasant', 'Owl' ]) text_2 = choice([ 'Way', 'Lane', 'Boulevard', 'Street', 'Drive', 'Circle', 'Avenue', 'Trail' ]) return '%d %s %s' % (number, text_1, text_2) people = [ Person( name='%s %s' % (any_name(), family_name()), age=age(), address=address() ) for i in range(5000) ] marrieds = [ ( MarriedPerson( name='%s %s' % (female_name(), last_name), age=age(), address=address ), MarriedPerson( name='%s %s' % (male_name(), last_name), age=age(), address=address ) ) for last_name, address in [ (family_name(), address()) for i in range(2500) ] ] for female, male in marrieds: female.partner = male male.partner = female people.extend([female, male]) shuffle(people) # Create the demo: demo = Report(people=people) # Run the demo (if invoked from the command line): if __name__ == '__main__': demo.configure_traits() traitsui-7.2.1/examples/demo/Advanced/History_demo.py0000644000076500000240000000505714046644454023304 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! """ This program demonstrates the use of editors that support *history*. A history is a persistent record of the last 'n' values the user has entered or selected for a particular trait. In order for the history to be recorded correctly, you must specify an *id* for both the Item containing the history editor and the View containing the Item. The maximum number of history entries recorded is specified by the value of the history editor's *entries* trait. If *entries* is less than or equal to 0, then a normal, non-history, version of the editor will be used. A history editor also attempts to restore the last value set as the current value for the trait if the current value of the trait is the empty string. You can see this for yourself by setting some values in the fields, selecting a different demo, then reselecting this demo. Each field should have the same value it had when the demo was run the previous time. """ #-- Imports -------------------------------------------------------------- from traits.api \ import HasTraits, Str, File, Directory from traitsui.api \ import View, Item, FileEditor, DirectoryEditor, HistoryEditor #-- HistoryDemo Class ---------------------------------------------------- class HistoryDemo(HasTraits): name = Str() file = File() directory = Directory() view = View( Item('name', id='name', editor=HistoryEditor(entries=5) ), Item('file', id='file1', editor=FileEditor(entries=10) ), Item('file', id='file2', editor=FileEditor(entries=10, filter=['All files (*.*)|*.*', 'Python files (*.py)|*.py']) ), Item('directory', id='directory', editor=DirectoryEditor(entries=10) ), title='History Editor Demo', id='enthought.test.history_demo.HistoryDemo', width=0.33, resizable=True ) # Create the demo: demo = HistoryDemo() # Run the demo (if invoked from the command line): if __name__ == '__main__': demo.configure_traits() traitsui-7.2.1/examples/demo/Advanced/Table_editor_with_checkbox_column.py0000644000076500000240000000725614046644454027515 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! """ This shows a table editor which has a checkbox column in addition to normal data columns. """ from random import randint from traits.api import HasStrictTraits, Str, Int, Float, List, Bool, Property from traitsui.api import Item, ObjectColumn, TableEditor, View from traitsui.extras.checkbox_column import CheckboxColumn # Create a specialized column to set the text color differently based upon # whether or not the player is in the lineup: class PlayerColumn(ObjectColumn): # Override some default settings for the column: width = 0.08 horizontal_alignment = 'center' def get_text_color(self, object): if object.in_lineup: return 'black' return 'light grey' # The 'players' trait table editor: player_editor = TableEditor( sortable=False, configurable=False, auto_size=False, selected_indices='selected_player_indices', columns=[ CheckboxColumn(name='in_lineup', label='In Lineup', width=0.12), PlayerColumn( name='name', editable=False, width=0.24, horizontal_alignment='left' ), PlayerColumn(name='at_bats', label='AB'), PlayerColumn(name='strike_outs', label='SO'), PlayerColumn(name='singles', label='S'), PlayerColumn(name='doubles', label='D'), PlayerColumn(name='triples', label='T'), PlayerColumn(name='home_runs', label='HR'), PlayerColumn(name='walks', label='W'), PlayerColumn( name='average', label='Ave', editable=False, format='%0.3f' ) ] ) class Player(HasStrictTraits): # Trait definitions: in_lineup = Bool(True) name = Str() at_bats = Int() strike_outs = Int() singles = Int() doubles = Int() triples = Int() home_runs = Int() walks = Int() average = Property(Float) def _get_average(self): """ Computes the player's batting average from the current statistics. """ if self.at_bats == 0: return 0.0 return float(self.singles + self.doubles + self.triples + self.home_runs) / self.at_bats class Team(HasStrictTraits): # Trait definitions: players = List(Player) selected_player_indices = List() # Trait view definitions: traits_view = View( Item('players', show_label=False, editor=player_editor), title='Baseball Team Roster Demo', width=0.5, height=0.5, resizable=True ) def random_player(name): """ Generates and returns a random player. """ p = Player( name=name, strike_outs=randint(0, 50), singles=randint(0, 50), doubles=randint(0, 20), triples=randint(0, 5), home_runs=randint(0, 30), walks=randint(0, 50) ) return p.trait_set( at_bats=( p.strike_outs + p.singles + p.doubles + p.triples + p.home_runs + randint(100, 200) ) ) # Create the demo: demo = Team( players=[ random_player(name) for name in [ 'Dave', 'Mike', 'Joe', 'Tom', 'Dick', 'Harry', 'Dirk', 'Fields', 'Stretch' ] ] ) # Run the demo (if invoked from the command line): if __name__ == '__main__': demo.configure_traits() traitsui-7.2.1/examples/demo/Advanced/Multi_thread_demo.py0000644000076500000240000000433014046644454024255 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! """ Monitoring threads in the user interface Shows a simple user interface being updated by multiple threads. When the *Start Threads* button is pressed, the program starts three independent threads running. Each thread counts from 0 to 199, updating its own thread-specific trait, and performs a sleep of a thread-specific duration between each update. The *Start Threads* button is disabled while the threads are running, and becomes active again once all threads have finished running. """ from threading import Thread from time import sleep from traits.api import HasTraits, Int, Button from traitsui.api import View, Item, VGroup class ThreadDemo(HasTraits): # The thread specific counters: thread_0 = Int() thread_1 = Int() thread_2 = Int() # The button used to start the threads running: start = Button('Start Threads') # The count of how many threads ae currently running: running = Int() view = View( VGroup( Item('thread_0', style='readonly'), Item('thread_1', style='readonly'), Item('thread_2', style='readonly'), ), '_', Item('start', show_label=False, enabled_when='running == 0'), resizable=True, width=250, title='Monitoring threads' ) def _start_changed(self): for i in range(3): Thread(target=self.counter, args=('thread_%d' % i, (i * 10 + 10) / 1000.0)).start() def counter(self, name, interval): self.running += 1 count = 0 for i in range(200): setattr(self, name, count) count += 1 sleep(interval) self.running -= 1 # Create the demo: demo = ThreadDemo() # Run the demo (if invoked from the command line): if __name__ == '__main__': demo.configure_traits() traitsui-7.2.1/examples/demo/Advanced/Dynamically_changing_buttons_demo.py0000644000076500000240000000466614046644454027532 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! """ This demo shows how to dynamically change the label or image of a button. Note in this demo clicking the button itself does nothing. Please refer to the `ButtonEditor API docs`_ for further information. .. _ButtonEditor API docs: https://docs.enthought.com/traitsui/api/traitsui.editors.button_editor.html#traitsui.editors.button_editor.ButtonEditor """ from pyface.api import Image, ImageResource from traits.api import Button, Enum, HasTraits, Instance, List, Str from traitsui.api import ( ButtonEditor, Group, ImageEditor, InstanceChoice, InstanceEditor, Item, UItem, View ) import traitsui.extras class ImageChoice(InstanceChoice): def get_view(self): return View( UItem('name', editor=ImageEditor(image=self.object)) ) class ButtonEditorDemo(HasTraits): my_button = Button() my_button_label = Str("Initial Label") my_button_image = Image() my_button_image_options = List( Image(), value=[ ImageResource("run", [traitsui.extras]), ImageResource("previous", [traitsui.extras]), ImageResource("next", [traitsui.extras]), ImageResource("parent", [traitsui.extras]), ImageResource("reload", [traitsui.extras]) ] ) def _my_button_image_default(self): return self.my_button_image_options[0] traits_view = View( Item( "my_button", style="custom", editor=ButtonEditor( label_value="my_button_label", image_value="my_button_image", orientation="horizontal" ) ), Item("my_button_label"), Item( "my_button_image", editor=InstanceEditor( name="my_button_image_options", adapter=ImageChoice ), style="custom" ) ) # Create the demo: demo = ButtonEditorDemo() # Run the demo (if invoked from the command line): if __name__ == '__main__': demo.configure_traits() traitsui-7.2.1/examples/demo/Advanced/Date_range_editor_demo.py0000644000076500000240000000302114046644454025227 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! """ Implementation of a DateRangeEditor demo plugin for Traits UI demo program. This demo shows a custom style DateRangeEditor. Note that this demo only works with qt backend. """ # Issue related to the demo warning: enthought/traitsui#962 from traits.api import HasTraits, Date, Tuple from traits.etsconfig.api import ETSConfig from traitsui.api import View, Item, DateRangeEditor, Group class DateRangeEditorDemo(HasTraits): """ Demo class to show DateRangeEditor. """ date_range = Tuple(Date, Date) traits_view = View( Group( Item( 'date_range', editor=DateRangeEditor(), style='custom', label='Date range' ), label='Date range' ), resizable=True ) def _date_range_changed(self): print(self.date_range) # -- Set Up The Demo ------------------------------------------------------ if __name__ == "__main__": if ETSConfig.toolkit == "qt4": # DateRangeEditor is currently only available for qt backend. demo = DateRangeEditorDemo() demo.configure_traits() traitsui-7.2.1/examples/demo/Advanced/Statusbar_demo.py0000644000076500000240000000530014046644454023602 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! """ Displaying a statusbar in a Traits UI A statusbar may contain one or more fields, of fixed or variable size. Fixed width fields are specified in pixels, while variable width fields are specified as fractional values relative to other variable width fields. The content of a statusbar field is specified via the extended trait name of the object attribute that will contain the statusbar information. In this example, there are two statusbar fields: - The current length of the text input data (variable width) - The current time (fixed width, updated once per second). Note the use of a timer thread to update the status bar once per second. """ from time import sleep, strftime from threading import Thread from traits.api import HasPrivateTraits, Str, Property from traitsui.api import View, Item, StatusItem, Label #-- The demo class ------------------------------------------------------- class TextEditor(HasPrivateTraits): # The text being edited: text = Str() # The current length of the text being edited: length = Property(observe='text') # The current time: time = Str() # The view definition: view = View( Label('Type into the text editor box:'), Item('text', style='custom', show_label=False), title='Text Editor', id='traitsui.demo.advanced.statusbar_demo', width=0.4, height=0.4, resizable=True, statusbar=[StatusItem(name='length', width=0.5), StatusItem(name='time', width=85)] ) #-- Property Implementations --------------------------------------------- def _get_length(self): return ('Length: %d characters' % len(self.text)) #-- Default Trait Values ------------------------------------------------- def _time_default(self): thread = Thread(target=self._clock) thread.daemon = True thread.start() return '' #-- Private Methods ------------------------------------------------------ def _clock(self): """ Update the statusbar time once every second. """ while True: self.time = strftime('%I:%M:%S %p') sleep(1.0) # Create the demo object: popup = TextEditor() # Run the demo (if invoked from the command line): if __name__ == '__main__': popup.configure_traits() traitsui-7.2.1/examples/demo/Advanced/Table_editor_with_progress_column.py0000644000076500000240000000352314046644454027564 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! """ A demo to demonstrate the progress column in a TableEditor. The demo only works with qt backend. """ import random from pyface.api import GUI from traits.api import Button, HasTraits, Instance, Int, List, Str from traitsui.api import ObjectColumn, TableEditor, UItem, View from traitsui.extras.progress_column import ProgressColumn class Job(HasTraits): name = Str() percent_complete = Int() class JobManager(HasTraits): jobs = List(Instance(Job)) start = Button() def populate(self): self.jobs = [ Job(name='job %02d' % i, percent_complete=0) for i in range(1, 25) ] def process(self): for job in self.jobs: job.percent_complete = min( job.percent_complete + random.randint(0, 3), 100) if any(job.percent_complete < 100 for job in self.jobs): GUI.invoke_after(100, self.process) def _start_fired(self): self.populate() GUI.invoke_after(1000, self.process) traits_view = View( UItem( 'jobs', editor=TableEditor( columns=[ ObjectColumn(name='name'), ProgressColumn(name='percent_complete'), ] ) ), UItem('start'), resizable=True, ) demo = JobManager() # Run the demo (if invoked from the command line): if __name__ == '__main__': demo.configure_traits() traitsui-7.2.1/examples/demo/Advanced/Auto_editable_readonly_table_cells.py0000644000076500000240000001173414046644454027625 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! """ This example shows how to define a read-only, auto-edit table column using a custom pop-up view. The example displays a list of integer values from 1 to n, where 'n' can be set using the slider at the top of the view. Each entry in the list shows the value of the integer and the number of unique factors it has. Mousing over the number of factors for a particular integer displays a pop-up list containing the unique factors for the integer. Mousing out of the cell causes the pop-up list to be removed (and perhaps causes a new pop-up list to be displayed, depending upon whether the mouse entered a new cell or not). Creating the auto pop-up effect is achieved by setting the 'auto_editable' trait of the associated ObjectColumn to True and also specifying a view to display on mouse over as the value of the ObjectColumn's 'view' trait. Note that this style of auto pop-up view can only be used with non-editable table editor fields. If the field is editable, then setting 'auto_editable' to True will cause the editor associated with the ObjectColumn to be automatically activated on mouse over, rather than the pop-up view specified by the 'view' trait. """ #-- Imports -------------------------------------------------------------- from operator import attrgetter from traits.api \ import HasTraits, Int, List, Range, Property, property_depends_on from traitsui.api \ import View, VGroup, Item, TableEditor from traitsui.table_column \ import ObjectColumn #-- Integer Class -------------------------------------------------------- class Integer(HasTraits): # The value: n = Int() #-- Factor Class --------------------------------------------------------- class Factor(HasTraits): # The number being factored: n = Int() # The list of factors of 'n': factors = Property(List) @property_depends_on('n') def _get_factors(self): n = self.n i = 1 result = [] while (i * i) <= n: j = n // i if (i * j) == n: result.append(Integer(n=i)) if i != j: result.append(Integer(n=j)) i += 1 result.sort(key=attrgetter('n')) return result #-- The table editor used for the pop-up view ---------------------------- factor_table_editor = TableEditor( columns=[ ObjectColumn(name='n', width=1.0, editable=False, horizontal_alignment='center') ], sortable=False, auto_size=False, show_toolbar=False, show_column_labels=False ) #-- The table editor used for the main view ------------------------------ factors_view = View( Item('factors', id='factors', show_label=False, editor=factor_table_editor, ), id='traits.examples.demo.Advanced.factors_view', kind='info', height=0.30, ) factors_table_editor = TableEditor( columns=[ ObjectColumn(name='n', width=0.5, editable=False, horizontal_alignment='center'), ObjectColumn(name='factors', width=0.5, editable=False, horizontal_alignment='center', auto_editable=True, format_func=lambda f: '%s factors' % len(f), view=factors_view), ], sortable=False, auto_size=False, show_toolbar=False ) #-- Factors Class -------------------------------------------------------- class Factors(HasTraits): # The maximum number to include in the table: max_n = Range(1, 1000, 20, mode='slider') # The list of Factor objects: factors = Property(List) # The view of the list of Factor objects: view = View( VGroup( VGroup( Item('max_n'), show_labels=False, show_border=True, label='Maximum Number' ), VGroup( Item('factors', show_label=False, editor=factors_table_editor ), ) ), title='List of numbers and their factors', width=0.2, height=0.4, resizable=True ) @property_depends_on('max_n') def _get_factors(self): return [Factor(n=i + 1) for i in range(self.max_n)] #-- Create and run the demo ---------------------------------------------- # Create the demo: demo = Factors() # Run the demo (if invoked from the command line): if __name__ == '__main__': demo.configure_traits() traitsui-7.2.1/examples/demo/Advanced/test_fixed.h50000644000076500000240000411322014046644454022655 0ustar aayresstaff00000000000000‰HDF  ÿÿÿÿÿÿÿÿ–ÿÿÿÿÿÿÿÿ`ˆ¨ àTREEÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÀHEAPXÈdataHˆ¨ TITLE (CLASSGROUP (VERSION1.0 8PYTABLES_FORMAT_VERSION2.1èTREEÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ XHEAP°xh( TITLESNOD(H8P TITLE (CLASSGROUP (VERSION1.0 0 pandas_typeframe 0pandas_version0.15.2 0 encodingUTF-8 (errorsstrict 0 ndim  0axis0_varietyregularHð H æà’…^ (CLASSARRAY (VERSION2.4 TITLESNODð ˆ(¨¸H€%8€hHXX'int0int1int2int3int4floatobject_1_0object_1_1object_1_2object_1_3object_1_4object_1_5object_1_6object_1_7object_1_8object_1_9object_2_0object_2_1object_2_2object_2_3object_2_4object_2_5object_2_6  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abc;›M`5²¿ã~Ä"¹@Ø?Îk ÷Ô?b¡«šØJâ¿®ØN,áÙê?PõpXêEó?§1–Ü2`Ê¿™3OÉiCú?ÓNÆÜœÃ?[-;«Î¿Ì –ýwÔ¿†µÕgoÿ¨¯Øà¿bë“V3ç?b‰LOÇU£¿½þm—šô?—ã«¢Y5Þ¿ò#%Å?i[ÒÏ"k@áýšÌþëÑ¿8IiׇõÛ?“‹Ì³0õ?ñE"æÑ?“rS«çñ¿é8€p×?ñö˰+ë?1ú£…´ªï¿Ã<Þ¹÷?Ë}U®ãÝ¿è n`åä?Å)lû¿øåQ †ãê?ÿ+-å)È¿\ùvUaÀ¿’fóôï5ۿǦºô?‚J!6l„ð?S( ¥AÛ¿âmsSð¿¶i¿¨õÏ¿p¬¨©(†ã¿]zάóãµ?ð€9-Ù„¶?ƒ„Í‘£nó?Õ™žT·dÉ?.Ø\BøÙ?E…u‰¼Zü¿vçZ ®+î¿#€~á„í¿ù3Üþà·Ò?{3ºNaŠÓ¿° _S Ãñ¿îÈ—‡ô?Ý-܈„˳?b2ê TÝ¿5ñ{ÇØ?öÇHˆ|Èå?÷poNè:Ò¿úJÒ‘ê?¹ >‹ò°Ù?¬úýõª«ø?®™à-œsï¿Ê¡Au™ì¿¶¾ãpüƒé¿ÌÙï¯ç¿ó Oßí¿¶3ÀxaþÝ¿¿ã'uô¿…·Óœ˜‚Å?fåÀÑLí?Õ/Ã}RGë¿mž¡´ÙÍ¿GeØã¿([ê—@ÀØ¿쌗7T¾?ôÒãšS ã?YTà>Ç¿âuÆüïØ?Õ$¢ Oô?»`J¶:†¿›ã}»Qhæ¿­AañYØ¿—©E[Êï¿ëŽÝ§gÖâ?s’“›ÿžì¿¢Ýˆ ÙÃ?“‡MÅÄ\ô? ÔÊ¢²¬?/uIEM œ¿éà¡æmÁÙ¿ ÙD™é¿–´h™á¿ý–=!u¿?×â¾Ñký¿ ½ô‡\ @›¯•ñ?mÅB‡^Ë?¿óÝŸlë?bg0|•Íó?³$Tß4/ë¿floatint0int1int2int3int4object_1_0object_1_1object_1_2object_1_3object_1_4object_1_5object_1_6object_1_7object_1_8object_1_9object_2_0object_2_1object_2_2object_2_3object_2_4object_2_5object_2_6 (FLAVORnumpy 8 transposed (kindstring (nameN.hP 0axis1_varietyregular Ðdd@. à’…^ (CLASSARRAY (VERSION2.4 TITLE (FLAVORnumpy 8 transposed (kindinteger (nameN.PX 0 nblocks  ˆ(dd ?@4 4ÿN à’…^ (CLASSARRAY (VERSION2.4 TITLE (FLAVORnumpy 8 transposed(%X 8block0_items_varietyregular Ènà’…^ (CLASSARRAY (VERSION2.4 TITLE (FLAVORnumpy 8 transposed (kindstring (nameN. (dd Ðà’…^ (CLASSARRAY (VERSION2.4$˜                                                     TITLE (FLAVORnumpy 8 transposedðŽX 8block1_items_varietyregular Èsà’…^ (CLASSARRAY (VERSION2.4 TITLE (FLAVORnumpy 8 transposed (kindstring (nameN.)XŽ`p)à’…^ (CLASSVLARRAY (VERSION1.4h(axis0axis1block0_valuesblock0_itemsblock1_valuesblock1_itemsblock2_valuesblock2_items8ÿÿÿÿÿÿÿÿ 0 PSEUDOATOMobjectTREEÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ–GCOLð\Ê\€•¿\Œnumpy.core.multiarray”Œ _reconstruct”“”Œnumpy”Œndarray”“”K…”Cb”‡”R”(KKdK†”hŒdtype”“”ŒO8”KK‡”R”(KŒ|”NNNJÿÿÿÿJÿÿÿÿK?t”bˆ]”(Œa1ed8f2d”Œ8b8a9850”Œeef27646”Œ045f0dda”Œ921ef8cf”Œ2ae9ef79”Œ342b7834”Œa8bd96c6”Œfb17fb6d”Œ36cccce7”Œ79936df6966dd26”Œ8ef1d8a7e09c3ec”Œ21f0e40756e85cc”Œd7cf14b16965a99”Œ84dc0b3e918aee1”Œ3330ad3e01bf7c5”Œ59a69d133413482”Œde66deda”Œ9ce5673d”Œ9d30ca39”Œd9f89773”Œ306b2892”Œ9c80c283”Œ011680a4”Œ1491e629”Œ4fcd75a3”Œ2ae9c223”Œ19adb3d66c301fd”Œ20831a4006d86c9”Œeb3205c71d43064”Œ215683c2c6a4f39”Œb342c27562d953f”Œ9f8e14ea66ce52b”Œ329a0bf86f9f1b4”Œ92d7c410”Œe45bd1a3”Œ98898d2d”Œf24bc1e6”Œa0e78f76”Œdefbbd80”Œd9688e04”Œ706b2800”Œb6c13279”Œefbad3ae”Œ 6fb804a87e4447”Œ51c817e7d97c4ea”Œ6070f4f69ab1591”Œe3c3724912d5981”Œd5b0110173f85fe”Œ94277d9c5cdd3e2”Œ5ca21a91cdcc31c”Œ6eb28adb”Œ960e7c7a”Œ98706d8f”Œ1508353d”Œ1efedd25”Œ1fe12061”Œf818e3c3”Œ140eecae”Œ11d480cf”Œb4c46249”Œ84bb9bda88866cc”Œ27f0a96b9d9846a”Œ1cac7214a365669”Œ92482c9c1acb23f”Œ482fc50c8ed86c8”Œc95791661a03a5d”Œfaaa35fef621d7c”Œ3ddeeb10”Œff72442c”Œ69147c66”Œeabcd7e5”Œ2dff5f8b”Œ64eea29c”Œ536e0063”Œd2d4f30d”Œ3abcde9f”Œ6ac03406”Œ7179fa3389c7cfa”Œ440e2d0c764b070”Œ1c59788968fe835”Œa8448b85ffd23ef”Œceed29d005ffc86”Œa3b419098c78828”Œ6a3d5a98d96ee0a”Œ6483544f”Œe963039f”Œ9b3b579e”Œ12af26bb”Œ7e0522a7”Œ8c4a2a75”Œ55ad88b7”Œb416c89b”Œ4b8fc8a6”Œc940ec0b”Œ 66266cac0c476f”Œfb22e7295dd0edd”Œc9f1ccf7fad2d70”Œ63d4718a15215a7”Œfeec5a632dacf02”Œ83647596e187261”Œe0a5cc72246b2da”Œ886d0182”Œ6edeb4a7”Œ6bdd81d7”Œd7739faf”Œ54310096”Œa2e25bec”Œf8757997”Œ517e19db”Œ6d706a2d”Œ33025784”Œ2994c1fb23c15a1”Œaeb8c8689285ba4”Œc920c9082dcc26c”Œcced3971540bbe5”Œ82f780f24bd49c4”Œ1086d09dec6e6b1”Œf07685910d653ce”Œ65b7c139”Œ667a6ecc”Œ0dd05c31”Œ8db61e85”Œa95d1d75”Œ63c856fa”Œbc851e24”Œ009b7b93”Œc9a48626”Œ34431e8d”Œ6941887a47e5178”Œ1ffad972c09cda2”Œ84ff41168b22f21”Œ5d8bfaec8d175ff”Œda20043f45d670d”Œdf099bf8cd63d24”Œ7fcc9d845df0932”Œeb441e3d”Œ2a9ecd0c”Œacc6e2db”Œee6b69e0”Œ53a1fdf6”Œe2641fa7”Œ94b8056f”Œ559733d2”Œ3ff05a8e”Œ20d21587”Œ2d93436279b0e2e”Œ296ada23a03c289”Œ4f4f95002b4dafe”Œ7213d2c410239e1”Œb644f59352f78ed”Œe6df8bdbaa16c6f”Œ11ba397dbc6bb7c”Œ888fc7eb”Œ52dcffa9”Œ7b8cbf02”Œ6d734405”Œee516473”Œ77e11a27”Œc2e6f402”Œe49b999c”Œ8cb743e7”Œef2c79f1”Œd8d986a8b73f758”Œd38e986edb5fa3b”Œf6ba7216cf445e8”Œ2010d72bff6c945”Œ62ef328f6ddf490”Œ87d451ba1db5c2d”Œd427ab42343563b”Œb1e841df”Œ91642aa4”Œ4ca49e71”Œb6a3b91d”Œ94b8c23b”Œff59cc96”Œ95874ad3”Œ5da6912a”Œ9b78d293”Œ15a1251c”Œc55a9237a0eaaee”Œ5fe701a3cfa0a7c”Œ5d884cb0be16183”Œ5e02402c6124d40”Œ 6cb2a70628d877”Œ463fe196e350f22”Œ 57e002d6ab3810”Œ798afa2d”Œd5902635”Œe774ac0b”Œab797d21”Œ417df68a”Œ69f9d3ab”Œ175a5ba1”Œ5876523a”Œ0ed6e1d6”Œ25456784”Œ4c34dbee8e89dc6”Œe0df53bce8a76b4”Œ1f93303f8844346”Œ984c9eeb0f8fb70”Œ73a649c2ebe0139”Œ cf736e246d43d2”Œae833f18a16776c”Œ2d345ebb”Œ73c4bd3c”Œ6b4b4eb6”Œ5e5b02a1”Œccbe28c3”Œ60ee9d11”Œ4c946f94”Œe278316e”Œ995132b6”Œ074d7761”Œba9a613a5005464”Œa6c83b5cee855ac”Œd45205f44c2ecd8”Œ96d8c458273f102”Œ407a636176a9a3e”Œ6bf038ea85bf0b5”Œ8c802a9ce2385ad”Œ52eae870”Œ48f48ebe”Œe4ef229e”Œ924bc0cd”Œ17524912”Œ8ef21ee0”Œ97db61b0”Œ50ee9ca0”Œbda04fa5”Œfb13586f”Œec2144149efd305”Œ4336a3376b08b9b”Œa98016e580370ff”Œ2a863583d58f9ac”Œ127542d6deb0cc1”Œd27d6d8c0bf1091”Œcdeef37a0e7fb78”Œ498e5715”Œbbd9bf16”Œ12c69844”Œ9a0bacbd”Œc676f195”Œf864fe22”Œ93e10521”Œf435dc94”Œbff11fea”Œ4f8136f0”Œ10aca573c66e203”Œc3f658186c4e03f”Œ898594156be60a6”Œ6dbf79423909632”Œ847828baae5c126”Œ859be0bdae54589”Œc97fe7e4c2fc3ce”Œd6f9d52c”Œ846790af”Œ6f354f8b”Œ9b459abf”Œ5fdb217d”Œa79c2bfb”Œ2fe0ede1”Œe9d442cf”Œd12fb3bc”Œ2c43ae94”Œb7e010b75586152”Œc14f1878e0f9569”Œ700c3cf2903fd6b”Œ1e795c2559f19d9”Œ44ffea7461c1441”Œb190e973dcd8b75”Œ66b77c1a868ec1b”Œ87aad7c1”Œbf836ce0”Œ8cbe9cc7”Œ35547d4a”Œf3879635”Œc41db080”Œc9538c55”Œ213645ff”Œ00ad777d”Œf58e620a”Œa542c3414b83f76”Œ99c684b40990ac2”Œ99a4eb969e9866e”Œ3d3521957db9f8d”Œ5bb22fe79b02215”Œ823fe865d41a9f1”Œeede8cdbab6f14b”Œ0a705b2f”Œ0d4e2e72”Œced21199”Œc1c2e7dc”Œ363f9f1c”Œ7ee1dd34”Œ36414725”Œc843d902”Œ3fc18e54”Œ258d99e3”Œ2e662ab8fbd7439”Œb32cb1cad1dd2bc”Œd86b568750dae02”Œ4cc4ee55f1f8086”Œ9a60dc256dedfa1”Œd1d80899b39da5b”Œaa2c4cbc4746a7d”Œ63268bc3”Œ9027ca8c”Œ566f5065”Œ209702f0”Œ730de3c5”Œ1c73e77c”Œ29bda177”Œ840c798d”Œc936abfd”Œff2144bf”Œc51174519886a85”Œa4ea0153690c734”Œ52b4e1b245c98d6”Œfcac6b0e558fcfe”Œ9352a4858c9b397”Œadd9b44ecd1ee4a”Œ52ba3bdb7f9beb3”Œ7fdc3718”Œ72afca73”Œ1ca4638c”Œ27f80a70”Œbdeb873b”Œa909d91c”Œ5f9cd04c”Œ14438f43”Œ094e2bbc”Œ9630bb53”Œac7f5bd652bc110”Œ111958f6a01fc90”Œ43f8dc38dc2c9b1”Œcb98d9c2baf227b”Œf69b5c7e30c1dc6”Œa4baf239b43df01”Œ87ea6d3be3d3cbf”Œ7efed348”Œ57acbdda”Œ54f8ca11”Œ06b1be8d”Œ2bed416c”Œb5e79bad”Œ3b081d66”Œca71d5ad”Œ5c8ecea8”Œbe175de3”Œa6ed1dc99bbf173”Œ6a7e34a40a3926d”Œc382fc6b5ddb8dd”Œ5b58c1ad9ca2e1d”Œ9bfcf9e8e631ad5”Œ8131bc20fd67713”Œ732251251234128”Œ3904b4a1”Œd9a17f22”Œ51460f7b”Œ375cb915”Œ7deb6be5”Œ140722a7”Œ117ad5de”Œ948f81a1”Œd0f4281c”Œ8fc909ab”Œ7e8ded37c16a520”Œf11df99c117b8f7”Œe309aed70800f2c”Œ7421efe2d5feccc”Œad059c1ae090942”Œa9a652cc419424f”Œd94e88e40d76d00”Œ671904b3”Œ64144c15”Œ0f026468”Œ73a00e94”Œ427ce9aa”Œ2f0fa225”Œ22f12b62”Œ8ccd94d1”Œ72970840”Œd3eed2d2”Œ208a330864b7f30”Œ702804595ee4f3c”Œ9c2d70278abd7a7”Œ3cb409bf2904e4c”Œ6537919ba1aa10d”Œ56a8e4652497aa9”Œ82beb8741531e0d”Œ5b5a438b”Œ18eb06e9”Œb2417534”Œ5dcaf376”Œ5208d103”Œaeb44e92”Œ729c0b5c”Œ78974fc9”Œ6ea3e6a2”Œ48fa443d”Œddb06f725f5f989”Œc099ad4dbb279d0”Œf4693ee3df1a10a”Œ74a45818a528937”Œ57072720c9869cf”Œc3cdb2a75209b62”Œ2a1d397daa57c7e”Œ3d0a67b8”Œc893cd97”Œa9990d92”Œd4a50779”Œ17122e66”Œ091b7042”Œ996bb8e0”Œ31ca98b7”Œ92d93b6b”Œ39f1e9cc”Œd39134e5c15cfc0”Œ319d242d23f93b1”Œ 1da3c3f1f84bfb”Œ6e8fb50cbd715cb”Œe8cca19a9c207d9”Œ79d52176ca3b917”Œcc0e9f84ab38701”Œ42d78bca”Œ095dcaaa”Œ7450b86b”Œc1732b38”Œ67d7182f”Œ7c031a9d”Œee276a95”Œc3e392ea”Œ4d61749d”Œ8087e5ec”Œd6fa11d92546545”Œ43b0a1a124075ac”Œ4dd2498e300a6d9”Œ1f400bdaa132830”Œ2f2871dc46691e8”Œ54d445d498d6c27”Œ 4f86a3c760ace0”Œ8b7516ac”Œe67eedc6”Œe48c7d01”Œdaea9f54”Œ07713d52”Œa846c56f”Œ3feeec60”Œ399699b9”Œc4792aeb”Œ49d85590”Œ26dd14b0c892f46”Œe5daed2874c22a0”Œeffbb69ffdcc011”Œ1a55afd90a9fcf2”Œ7a0fa1631f5bba5”Œc0730d1674d819d”Œ167881d87045c40”Œded69b63”Œ153f3e6f”Œ304c2ffd”Œdc0050a6”Œ2188728d”Œ52a61141”Œf823b7ad”Œa4061911”Œf08c87f9”Œ157271f0”Œ25aaddf60b9ef53”Œ14a43a45e8ac403”Œaf932015299a015”Œ7ac07b15fd51370”Œd929aeeebf23147”Œ408d60554943d1f”Œca873b5b0fbd9e6”Œ76ca9c2d”Œ940eb6f9”Œ797074bd”Œ726145c4”Œe0969fc4”Œfa4f12fd”Œ696524c1”Œb93558cd”Œdd9ed646”Œ4a9e239f”Œ8a70993d33b86ef”Œ59e48f5b4e289e1”Œffb03d54d479d38”Œ3579fd61f479eb9”Œ3a00a3cb552dd4b”Œfd0860951026b2d”Œ639a41002a88e61”Œ461085d8”Œ93a11c39”Œ05100108”Œ7ce446ec”Œ094f948e”Œ8821b7c7”Œ7e9a3ff0”Œ512b20d8”Œ1c335bd9”Œe1fb9e2a”Œe3c1cff498d00e9”Œ782fb7019ea239b”Œbd23411220dbdbe”Œde6f6366dd383ad”Œb764b01d844b856”Œ13f6c390baea93f”Œa9562871236e575”Œdbb918e5”Œ8c6d0953”Œ87268444”Œ487f24fb”Œ143c8a41”Œfe53fcd8”Œ20286215”Œ62d23ce1”Œdc901f74”Œ657ca6bf”Œ12dba3135b221ff”Œd59fa00e83a6117”Œ2dec9125314d44f”Œ1fe33357ff4c34e”Œ5c4f3a2d7e7c502”Œ2907ba95ae7e646”Œef4385d4d64b294”Œ22022389”Œ74818e84”Œdfafffeb”Œ8afb1d0c”Œ565f64bf”Œ00f82d05”Œ09fef4d4”Œc4c853c8”Œ64a17d4e”Œ44122554”Œ8c308b74f90bca0”Œ5c9f09304eaff4b”Œb0b9205e2cfa23c”Œ394c5f008bbd082”Œ2d4a058e2ed02a6”Œa6052409f79af02”Œb7ae045f968ae90”Œ22efc8c6”Œ18adacb7”Œd4a8035f”Œff951ab0”Œeed60ee8”Œe44fee2d”Œ6044864b”Œb59a73cc”Œd7ee6d91”Œd290ae6c”Œ d54865080c122b”Œ3755ff68777c4ea”Œd0930dd684e1c87”Œ65e3cf60215eae0”Œb5bed21687404b4”Œd88c240b2f5e1ee”Œ13fc0965e4f53af”Œ5f5c1431”Œd36e2967”Œb1f88698”Œ780376c1”Œ6115a64a”Œ159e5849”Œ75d661ba”Œ0f904cf5”Œ64a8547d”Œ1ce3dac1”Œ95cc9bb6d84a9f5”Œ3b8a21c0974c56f”Œ 94a3eedd211d06”Œ87baa6883323fd5”Œ37ab0db15767b3e”Œe06a7076a7f6759”Œf47887abcea580a”Œ24466edb”Œ5f794d92”Œ5ebc5e24”Œ2826815a”Œ52ebf856”Œd7425d91”Œe0db82ca”Œ0635e06e”Œ20e44bdf”Œ1c051006”Œ35e8453f0c377b4”Œe90f4ddc56dea3e”Œd55d4bce9caccdf”Œa4683430477dfc4”Œ36be0486d02367c”Œa4573fd5013f23f”Œ5c3ac6474bcac23”Œffc476f3”Œf871a561”Œ0b57312d”Œ0ec7f636”Œ95650461”Œ566f41f2”Œ1ca55078”Œ8c62c3e7”Œ4faf62e3”Œ911bb68b”Œ3771ea29f3ed0fe”Œa816bc67fff4772”Œe8ac9420fee4142”Œc200204ad32cfc8”Œfd5539de9c52465”Œ586b3b681175489”Œf095ad42560a7ae”Œa16bbc82”Œ45c056bf”Œb65db101”Œb0c480c4”Œabedbab1”Œ1a7f3b7e”Œ27200642”Œfdc2cf84”Œd5644fcb”Œe8b65fe2”Œd0595071f8b3f8b”Œ7f909a8083e8a01”Œffd9474c6d26efe”Œ5b955f097363b8f”Œbb626e5116db444”Œ5cd55ceb206a7d2”Œd3d68104f85bf4e”Œ0c68ddda”Œce5c7255”Œb45c5a2a”Œd2ac91b8”Œ2440ebbb”Œf8c38c54”Œ5e0432f3”Œfdf346c9”Œe731f300”Œa624bbf9”Œ8daedb05e4828dd”Œf8f3649f0c64eb2”Œ5d9ea7500a581f1”Œ4fe47fcbd8531a7”Œ 1230d8580aedce”Œ8073359e88f449a”Œ25a37071edef0b8”Œ12d66343”Œ50aa1c76”Œ4c53dfb7”Œf79675ff”Œa18e0783”Œ78040c69”Œ4308a232”Œ9ea3c5f8”Œ379c22cc”Œ366c6370”Œ368459543ce6bff”Œc0cb25ab5553d47”Œ5762da0c5fa0e32”Œf2e3f1022796212”Œecf54fb051a1cf1”Œd729e50bc009bf8”Œad83b45bbf09005”Œ39390e60”Œbd7a4b7d”Œ455abef2”Œ3e8d4cdd”Œb77a2ed8”Œ15814ec9”Œ306f0950”Œ2b6f7738”Œ461b23f4”Œ0f5b4927”Œ21db68bd70a5456”Œ491119a7dd6a992”Œ 69fbdd759568a6”Œ89e8998c0aed3cc”Œdc03174e0d399cb”Œb8cbcae6818d511”Œb445d90e5115876”Œa076b39f”Œ73c34fd8”Œ65568589”Œbd607833”Œ4bc582ec”Œ22487ccb”Œ00f2e71f”Œc5833c5e”Œd9e9ff6e”Œd695aad2”Œ71f3729ff79b158”Œa28c7dbe2a476ef”Œ 4e387062b44931”Œ32ff7f4042a2558”Œ2577c8e2f9d70a6”Œd6cbb85172b7a4f”Œc360268c2f2a045”Œ2ab1d67c”Œ33f492b9”Œ0eb392b3”Œ788cad6b”Œ01048c53”Œ44e39d8f”Œf9b921de”Œ1f2c9755”Œ48052119”Œ0665eeee”Œ d7170c15dc3fa9”Œ23d84085f9ea52e”Œ8064d33f9a73aa9”Œ3ed7c031fcbebc3”Œ5f5f21d8c47ea86”Œacf49363cbaa3c1”Œ477a3f859d21917”Œ67ac715c”Œc8818b89”Œ454867eb”Œ01020ab9”Œ2b1b1801”Œ34d44765”Œ08bb2d89”Œ15eb5069”Œ688976cb”Œd9cbe355”Œ3a71189f3c0694e”Œ fb8a85024271dd”Œd91327795e54efc”Œbe876f95de3bb80”Œ1715b466940dbae”Œ4bd898c15930cae”Œdf4bb772c252e92”Œ8d1ea624”Œ48209c36”Œ2dac69a7”Œ9fb139c0”Œd32107b8”Œe38a5ff2”Œ8cc0332d”Œcaafc38a”Œd4adf950”Œ5475399e”Œc48f781425954b9”Œ94460ec04c477c0”Œ199c4834d5bc20d”Œ2ba4fa3fdd560f6”Œ1d7bbda76ebd716”Œ769ab175cf86438”Œ3d84fa67eca411d”Œ4833ff57”Œ9c771ff1”Œ3788a1b6”Œdf196a16”Œec1f0d34”Œ3232191c”Œ2ceee50d”Œ99458faf”Œd9084ef9”Œ012a0f6b”Œfe849d66e14e54d”Œfe9843980894ded”Œf87a36f4f4ddf04”Œ3871598af3284c2”Œ d8b17d40f7b8b2”Œ416be25d268d8e6”Œbe12db13302bfdc”Œecf5251c”Œefa9acea”Œb5418b74”Œf5276d27”Œ442472eb”Œ7862305f”Œed82c8d0”Œ57b16cd8”Œ3c4c1f60”Œ958bb7d9”Œd623d01c72ee105”Œ43f6ef4796cdd24”Œb3ceb0e5a1230f9”Œ6b999434c218019”Œ897aa215512cda7”Œf2b977fd8230922”Œ6b58679c78d92f7”Œ7160d0d0”Œ645d8bbb”Œae28a6d7”Œba85b090”Œ9432cde4”Œa446c6d1”Œ80c5a3b4”Œc7778fc2”Œc4a105a4”Œ2ce7e867”Œ5bf9755b0eb99d1”Œ92d1f78767eeb84”Œa7dd159d118b86a”Œ632bcecbf2ebe21”Œc29f71a8be2eb88”Œ3df12614eb5b22d”Œfbe2062b68aca02”Œ8f355f66”Œ52ffaa9a”Œ1d8ac38d”Œdf31ca67”Œ1071fe6c”Œd824d292”Œ5d2cacd5”Œed10f776”Œbaff97f8”Œ1fcc6af7”Œ28e3230db569765”Œ93504ef350bcf1f”Œ7711d29f4ae074f”Œ2e0750628c983f2”Œ776ba85d7fccd05”Œ90a7b75d9e56a14”Œ185ee7e86e10180”Œ3edb09d1”Œ2d1806a8”Œ35d2940a”Œ223fbec7”Œ905bdf91”Œ4cda92ed”Œ419210f7”Œab288ab4”Œ64b8b5b0”Œ0e37d699”Œ31542948e92d820”Œf7154c12a7e50de”Œea456577139f6f2”Œ49fa5f28d90fe9f”Œ8e98475ce22e945”Œ27f6acd4d823702”Œ6b88d204abc448c”Œ6601652d”Œcf0daa48”Œee87b7bf”Œ963a8ac5”Œ13497d71”Œa30f6974”Œ50b0fd32”Œa2e6998d”Œ3ea79dbe”Œf36cacfe”Œ 42f0fdfb014850”Œbce9b453d27bad2”Œ 6381407628d75c”Œd7b0bd5bd2578a9”Œ38e3444ce469752”Œa8b0fca4faaa0b6”Œaf0d5a6c3dcfafc”Œ0946ded5”Œ192e7ae4”Œadefd78a”Œ52efca58”Œ0273d6b5”Œc65ae1a0”Œcceb7d3d”Œ0cd60459”Œa0122719”Œbf609663”Œc5534a352bbbc69”Œ1843799bcdd9d76”Œ9a6dbe4ffed03f1”Œ91a19af0e06db26”Œ4a39a628a02df4c”Œd91470ca146e3d4”Œ89b1872f2f4a699”Œ4ee442cd”Œ545f8eb2”Œ4fe88966”Œca677a4f”Œ4771eddb”Œfaeba32e”Œ67e75603”Œ3c129b43”Œcd6af1e2”Œ9e831a09”Œ4d68bdd57ee000c”Œ802ce2a84a49df6”Œ9d6b590976aa276”Œ7ffc8a67d01e573”Œdfc2345e94d0818”Œe75568a25b39b1f”Œa6b84ba282e9905”Œbde5af41”Œa98c5f13”Œd1e5b373”Œ0ad0c038”Œe4fbc3a0”Œc4bad5b3”Œ0bf76383”Œc83c6683”Œ379fdb9d”Œ7c1ffdda”Œ8d04edd04295899”Œa42656333ae82e8”Œc7307cf28fa0e68”Œ2e8765446665b15”Œ5d007b629cb0842”Œ49f1fb3bfefdae2”Œ40c8df2930b3560”Œa4b5248a”Œb67e87d6”Œ120383e1”Œ197af6d5”Œ9a08d3e9”Œc22f0b0b”Œ60072292”Œ3ae467f2”Œ0bab3215”Œcf6c79e9”Œ8f64d1753758e37”Œfa2d12bb7a8f38c”Œbd7d7147ebce5c1”Œ2875e0d1cb9db2c”Œ14b57a82f601736”Œ6ee3acb9703d3eb”Œ58ff7c767764eea”Œ82d28cf0”Œeefea60f”Œb02a6beb”Œdeef3a9b”Œ1156e2ae”Œ10db1e4b”Œdde66b76”Œ44df7fd7”Œeb4c8856”Œfc8076d4”Œ651da726b3f59bc”Œd2d1d19e0dd5a73”Œbb146621f3b0fae”Œd37b6dcfc7d891c”Œ72c918568d9274f”Œace3c25eeb2f69e”Œa5e348d7986f3a9”Œ1e8ddf07”Œb5289837”Œ9dfdeba6”Œ64565c93”Œ7d9d9e4c”Œ4d736374”Œc0c20b5c”Œ89ec2400”Œe9e508a0”Œ7fd6ffe9”Œf9c938d12c907f5”Œdce392ce611a7de”Œc9a0c4cf9ab4117”Œ1bbe67ac041c35b”Œ8b7943af6ac5238”Œ49af42bf7c85b75”Œd8f76eb3edec03e”Œ43f5b534”Œ8d2be37b”Œ19d6cc17”Œ80e385fd”Œc7aa1033”Œd32d09cb”Œ88fbcbd6”Œ5471f093”Œ8e26f3bd”Œ4bf4ade5”Œe64e784484e04c8”Œ10b5d72be3005e4”Œd13e81abf82f5e9”Œ53a2fe28e108292”Œ4ce5ebd88c9a43e”Œ2b6d499c476cf42”Œdf109efed4bd998”Œ2eadd4ac”Œa404664e”Œ6cca5300”Œ7bb2b1f5”Œ8a3449d8”Œb40b9b94”Œa7b9d66e”Œ5725b334”Œ7952af8d”Œ5fbeff3d”Œe123092ff904682”Œ 2a7b983b225990”Œ85ee7bdbcf1ba88”Œ2b46a5b11120c30”Œ6b616e2ceab9ab5”Œf80d98de070726d”Œ56395ea73db4915”Œdf1531b9”Œb0846832”Œ613f34e6”Œ83a76b99”Œdd681f17”Œ2689d8ee”Œbc799455”Œcf0bffa7”Œ2832deee”Œ3e7ced72”Œ834c91a3c690232”Œ7afbd63446aaed4”Œc5b8c586f3e56bd”Œafb3630d55972b6”e(Œ6baa3090d3fe60b”Œ79a67b53851730c”Œd8fc345ff9b570d”Œa9deda22”Œ70c1e93c”Œf30d7045”Œada9bdca”Œ427e6d8d”Œf28d7607”Œb3ed655f”Œ87242525”Œ6cd8deee”Œ210ea98b”Œ752631c8a3b9406”Œ8c777c38f34dd07”Œ8fff0cfa02ce01e”Œ9a4dfa0b8f00859”Œ7ba305ad665e425”Œb281d0c5a55c337”Œ7f17b12eca69c59”Œee3032b4”Œ9b0d6260”Œ89f3515f”Œ6acf39ac”Œc88d48ca”Œ51b9acd6”Œ49eac9fc”Œbd48d306”Œ9243a78d”Œ5ca596d0”Œb6f38e2e8bf4f6f”Œdb91729e5f4e018”Œ5ae0be2815ca49e”Œfd25fe1691dec44”Œ6a34e726d5a6c9c”Œde7b7bffa157aa2”Œ 601b0c6e55b65e”Œc62327b3”Œ21c5d037”Œ6543ecf3”Œ94338ec3”Œ7df945f2”Œdc842947”Œaed16659”Œfd9177df”Œ4bd83d5f”Œ64b485c1”Œb532159f5fbc582”Œbaea9e5f0c29a6d”Œ200026f725f101e”Œfce5ef79ca8ac5b”Œ10157fdff8ea6ab”Œ3e6abfba502b708”Œ a9b6ef64658735”Œ56708507”Œb32b9e72”Œ9b818a26”Œ4d1472f8”Œ1fba98e9”Œde32820b”Œ9ab4ad87”Œ440f4dd8”Œ5c569641”Œ83be6842”Œ88b86a3b408fc26”Œa92dae9fe8df301”Œ5a15dfe4cfab992”Œ1ffc1af9d96ab96”Œdba727301810b1f”Œ7ec530799857816”Œ263e0936c171b94”Œf73be8b5”Œ2a4e3756”Œ45860576”Œc2775530”Œ1faf7e9a”Œ9e671eca”Œe8055c8f”Œ352ddc0c”Œ3bec368b”Œ4164d55a”Œ38c6505f503931c”Œ4744daaec7f5116”Œ85af75d15d408fd”Œed36d03b4a9cd12”Œfc701da9b855c24”Œ 922db02ac2c24e”Œ6ade73fc1f383d6”Œ4a550433”Œ0424cbe1”Œa6dddba9”Œ38e24ce9”Œ54177ef1”Œ73c78e67”Œe9abde25”Œ0bf8c00c”Œ0eb6b63a”Œ2cad4005”Œ38fdf14b75c1052”Œ97fa83c51dc304a”Œ9ba83a0be6d5103”Œ89498ba95b2ae33”Œ87a820b030ee7a9”Œ3790a997283e46f”Œ3e8e7c24e6dfd27”Œ377c1487”Œ920e2dad”Œc8af9641”Œc5ebe25e”Œb24d2fd4”Œ2fe51e2b”Œ7057b136”Œe1a43838”Œ2508d73e”Œfbf5cbab”Œ68be1fc407eed78”Œ725dd8cca1593e8”Œc29f05597c59b67”Œd3e04238054070b”Œc491d9a083c535f”Œ909f00253a47fe0”Œfbce0d1e721a9a4”Œa475061a”Œbe641479”Œ9a09f5f2”Œ1463943c”Œd02459be”Œ501c6d42”Œ62f1d7cb”Œ1a520920”Œd3747e6f”Œfac01432”Œ46281a650fef1ac”Œab737d8402aa2bd”Œ32f9863817ab981”Œ40561d50e92f51b”Œbcbdd38649d4fa2”Œ4846eca5ffd9961”Œf1eb3a8263b832f”Œ4477b054”Œ65e5b5d0”Œ01541a2a”Œ9c5a723f”Œ93f692ab”Œ65ef10e3”Œ7367b8a1”Œf96810d9”Œ8b90f960”Œe3485b3f”Œ3ed3a77a2ee4917”Œa54486ee4f54192”Œ11b22ff5a8aeaa2”Œb30469d0cb88a9b”Œ2d9b909533d855b”Œ661a83752db44af”Œb706414d7e337a1”Œ78fa8a42”Œ27440f07”Œ75e769a2”Œ5a0aebd6”Œ7701c431”Œ9de2e9d4”Œc7e1f28d”Œ3f232795”Œfc911ef9”Œ00cc5138”Œ1a27e551e662168”Œ7b14316c3ff715a”Œc9bd9f170ef7b95”Œ2ac2397920ab859”Œ94d84691ccdc3af”Œ cbd8b850ff1d5”Œ3daf346abcee48e”Œd3e1a12c”Œ6c53f3b6”Œd46abc4c”Œbe6cbea9”Œba3e2945”Œfe16f1d2”Œ4cc390a9”Œ1aed7ffd”Œda54a2ef”Œc58d6a56”Œ73651b70b806c69”Œ77314bd689c3415”Œ 5c9005cc15538a”Œ909cce14470c4b3”Œ5864355584f5cdc”Œc638a43a8fc4d35”Œd0add6cbe1895d6”Œ201991ca”Œd9870eab”Œ0fc041a2”Œ9119b6b7”Œcf0971e7”Œ28518c80”Œ9c667f3b”Œb0038a9d”Œ756feebc”Œ5c0e7130”Œda74537aa55de80”Œ9ec067d20c8cc05”Œ9b6b6cdaea87916”Œd0a7091ba1f190d”Œe4e9b3d0cb24de4”Œb182e77429ee12f”Œ8b9cb067f572eb1”Œ1bcb2b08”Œ479b9d8b”Œ91595092”Œ5db89aca”Œ66a7ffa0”Œb7eb61b8”Œc890b995”Œe126622d”Œ7f768d0e”Œ92ed2f60”Œ7d1dfba9390fd22”Œ2b9ab664ab6bf84”Œb295aec70257b96”Œ e07af91ff296de”Œ4bf36f0bb276829”Œe558e2ea72e3369”Œ1ac967beaeba41a”Œe2d5b5e3”Œfe8c111e”Œe87b51a9”Œ53adc742”Œ69d57201”Œ61d68b49”Œcaf65022”Œ4771db32”Œ73bc4123”Œ28908586”Œa808c621f3a96c5”Œc0cf5f0300b53f7”Œ19b19e79f93aff5”Œedbfff8f85b6301”Œ 5e8863f3540b96”Œa060721bc6eb0ec”Œad3ce116bcc7f86”Œ2eabc8ec”Œf2ac819c”Œcc7d7bf0”Œefc0d805”Œec3c7c6f”Œd4a4dbb7”Œd592e11b”Œf302aa39”Œ5b84359c”Œ0c1374a3”Œf831fbbcb824d4d”Œ63c3d246e657fa2”Œ8dcd1e02d8c5b22”Œ67a96c08586e347”Œbf9d12c6925c90e”Œ803241953ae386e”Œ7a675f4e22f7aa5”Œae037760”Œ552848d3”Œ1353ac35”Œ23446c24”Œf468ed32”Œ65cf0102”Œ11908628”Œce036c04”Œ4eca823a”Œ5b903986”Œ809ea01a3e3c077”Œ614fa39a928a8d8”Œbdad37cf02d43ce”Œ76bd74eb547e463”Œ62af55c970275b6”Œ43e9ab24fe39cc7”Œ 69a090cf8bd370”Œ2f0a7583”Œab909d4c”Œ5c809459”Œa43ca299”Œ2fc5fe36”Œ60d25f8e”Œ9275ea26”Œ19ebf66a”Œ8ad874b7”Œ55826bc1”Œb6434e34538de73”Œ9f4f785f3183fe7”Œ40cdd2646b4f75a”Œ3c265ea7f59a60c”Œ6aba4139a1b36a4”Œ d840d34c427691”Œ6067e5151c49a4d”Œ43b29ace”Œae0e52fc”Œddfe418a”Œ0cdde112”Œe7c4776c”Œ5f2f3b7c”Œ1d74f811”Œe018fc59”Œcdf96a73”Œ013d46f6”Œ5ef3f72991991d9”Œ4d66e4c99a0ab24”Œ67d27a9108d9564”Œ283efb2e3774651”Œ5da52afc377fe66”Œ590d82b8a89d02f”Œ9e367684cceebd6”Œ0f53de14”Œfc05524f”Œ6aac61a4”Œb006245c”Œ31d5da9c”Œ0cb73d66”Œ29c21113”Œ9dfe5451”Œb59f9fcf”Œ862d6d3e”Œe3d420fbc9362f0”Œ6f418ff547a07d5”Œ1a986090d7db11a”Œb217a315782069d”Œ999ea6f1bae60cc”Œ37948307c311162”Œ5ce9c7dd15b1c9d”Œ092142eb”Œ4f44250e”Œca9c4c00”Œ7ba8845f”Œ811fa1c2”Œd1c6b42d”Œ306c170a”Œ44a07ddc”Œ9e0e9f3f”Œ784a47e5”Œ 4a138ec7d6ddfd”Œc22d07bdc407176”Œ98347edacccbf7d”Œ12b67b0aecf1ea5”Œ56ae3b5b11abaa7”Œ3ae4e7766e325cf”Œcfec41d6db69cff”Œa8e338b4”Œb0b87529”Œ994d82c5”Œed8a42a7”Œ0562a942”Œe0f4c901”Œd43cf026”Œb54f2905”Œ2cac5c36”Œ635c90ab”Œf6c373727f29b7a”Œ33a834b67807eb8”Œ3a599bcf8af7ab0”Œb4da447465e3cec”Œffeb35d90871a2d”Œ29de36ee445a916”Œb6c96200f76134b”Œfc550af9”Œee621a89”Œ3e6a485f”Œfdce04dd”Œb5e993f0”Œ053d1c17”Œ559dd262”Œ0d5ae511”Œ8535859c”Œ2aa76827”Œ7b88b9b5d03e840”Œ7e8058def1f0d75”Œ32ab196b127e6eb”Œ559dac252a22202”Œcd52eda570eff06”Œ375f0865beb95c5”Œ cc21d8854c090e”Œf6ec75fe”Œe0b14c3d”Œ633d35b1”Œd3c3a71d”Œb3fd9df4”Œ36515bfe”Œf5db7d35”Œ822f03b1”Œ2590d172”Œ51d8a479”Œ500d1bb098b5576”Œcbbd2203d1386a2”Œ99f415521ce8c32”Œ1ba905d19ec94c3”Œae49678ddd51da6”Œ93502cc90242cc2”Œ7ed4a33ce276f92”Œ1adf91ec”Œc19476c2”Œ2631a0b2”Œ3dcbffe5”Œd0bf006c”Œ653248c1”Œ081c79d9”Œ49aad51e”Œ0df38d11”Œb4498286”Œ7213196c0227969”Œ1f5d021bba1a18c”Œe3269562d1fe1aa”Œb6b2568fc80e5a3”Œ5c4256e1b90e45c”Œ928883350853ae0”Œ892236a2d083d68”Œcdc4dc5c”Œ043395d5”Œ51d4ad49”Œfb9a804f”Œ56d44e3a”Œ621f3dca”Œd1ed73be”Œ1855f522”Œ39314f1a”Œf987e135”Œ151fc5d13fa258e”Œ772052592e25af7”Œc5515f9c55667f1”Œa2087019abcf445”Œdc1a55753132b98”Œ908c744d74b4081”Œ 3bcdbced9a109b”Œ103b3299”Œ5377f790”Œd8178f14”Œ00bf6535”Œee6cc490”Œ8170c134”Œ7b5de086”Œdf154e8e”Œ05ed8448”Œb9de6c20”Œ80c0d187e5d1db6”Œ34508c778e61391”Œ7ccf4ef9c7aa73d”Œca77cfbb3c95a27”Œcaa350b25d7c9cf”Œ30096c1f2057fba”Œ5a39ed1c1ce8b6a”Œ463f2f83”Œ36d38e9d”Œd297d87e”Œ3499b000”Œ3c8c6039”Œec638027”Œ219862e4”Œ9e7cf73e”Œd536aacb”Œ472ee8e4”Œb3effaa5d4c2aa5”Œf4f4481e031c036”Œaab95a0786874b8”Œ566b77331010bdd”Œc57eebef603bce2”Œ664718836012788”Œa788902910a013b”Œ3e54629f”Œbdd95869”Œ59ec95e6”Œfe33a270”Œ0fea56a3”Œ6c57f618”Œa990d213”Œfd242cce”Œ90c1520f”Œ3bdc2f5a”Œ9748d05df631059”Œf28b7821c8c386b”Œ38235cc92e1af3c”Œ9e17b682fa44459”Œ 84e43bb2cd2794”Œ64e3702d3350589”Œfb91be1e29b04e6”Œ68d00334”Œe2803ab6”Œ3964afd1”Œf750d82c”Œade861e0”Œ9275fc1e”Œc0278357”Œaa482a27”Œ30cfd923”Œba5066f7”Œ646df091591c043”Œ19eb978e2cbe813”Œff42228f645b3d4”Œ4a2b08e95b0669b”Œ41e49fc80927651”Œb82467b3015623c”Œ25aaf4ed9380556”Œ1cd5efb4”Œ2294307e”Œ9e05ac99”Œ6a3899ac”Œ4f3d1040”Œ5aec4d60”Œb9f5384a”Œb589951f”Œ954c5494”Œc4d6aa7b”Œb4d41a6d208532d”Œ14707a98df31a9f”Œ59880c0df14d635”Œ2d583ffce3cfc4d”Œ634d2a7e13e6222”Œ2aa0d3744c187b3”Œ4908aa37eb0d9ec”Œ4c921606”Œ57d7cb7f”Œ1172a598”Œd3fe0969”Œ98c9e7fc”Œbb65db69”Œ179923fe”Œ5177f50d”Œ7e098de0”Œ0ad88332”Œ f16ec32a9d2751”Œeff69ea90859dc4”Œa8efdbc25c7ce8b”Œd8e1b9b71d3eacc”Œ4964d689e0f78c8”Œb176c3ce70c1886”Œceaa3122e101a24”Œ8cbc780b”Œb361c0f5”Œb9e403d5”Œc0ff5985”Œc6d359e8”Œ5bf8d12b”Œ29600bfe”Œ99a1ced3”Œ7d2a65df”Œ540b8f54”Œ 46325b2cefdbfb”Œ b5677b7883d487”Œ988d730de322833”Œef4e003e5f70f2a”Œ df3a92793773a1”Œ97e4f76e6cdf0f8”Œe982fdef9d35b51”Œfcd9c627”Œ123684e7”Œ4cc014bd”Œ7053dfc6”Œ1f6d245b”Œ41f140ea”Œ5c21b9bc”Œ47e1bb83”Œ244a938d”Œf770095c”Œe5ee155943a5337”Œ8e6bc00974e7503”Œ4df42cdfd71a995”Œ8b40e55c2757d9a”Œac6788970688643”Œ2d39200e50c4edd”Œ b4c20634599626”Œ45dc278c”Œd5a50332”Œ8cb022af”Œ9e7f319c”Œ9e522bd5”Œ3e4e3435”Œ9c31f9b8”Œc51e2f35”Œb6dffcb4”Œbd01c786”Œd1d8f407ba2e737”Œeceff6dfcb9d5a7”Œ276c9bcbed19d7d”Œ2a32bbb64ce1689”Œ4861afcb9fed531”Œa5b14d7a3c60354”Œf3df7079f2ebf57”Œ78c135b4”Œce2a2706”Œcb6ba32a”Œ941f1e03”Œa0aa2e09”Œb45340f5”Œc0518236”Œc408550f”Œ3c43ab5e”Œ6aca33ad”Œ1495eeccfcd624e”Œb51b1d8c16b6a9e”Œcd14f5411a7a25e”Œd1a53b5f2e31a7a”Œ83b9b483b774d4a”Œ79cd627548da05b”Œ8c6e8b33f3dbef1”Œ12dc84e0”Œ26740690”Œ8dd8fa24”Œca16cf21”Œaf0ccf6d”Œe8452868”Œd24a011b”Œ167382f6”Œbc673b20”Œ0e1d440c”Œ96a4bc87f1dec9e”Œea3b83da5eb66ca”Œ7d191af8ea25c3b”Œb7e60df5b8241b9”Œ1625ff117862aee”Œc7a891b8a566878”Œb67f8ff348b4007”Œ5667f64f”Œ10d14472”Œ1188cefd”Œ5a439d18”Œba1c9194”Œa8c52762”Œc1a38568”Œ88c068bc”Œ49e2fa70”Œdcbd008d”Œc8cb6736b5c3921”Œ716e58383424de8”Œ43caea6b9ff6795”Œ6500e264ffaa87b”Œdbe2c8c451810b5”Œ407f89c3eedf806”Œ9fab0c7262bf79c”Œ149eed7a”Œ13ced903”Œ1fbd7a90”Œ47966028”Œde0673e3”Œa0bafcff”Œ75ec37bb”Œ28bd97a4”Œe914d8a1”Œaf4500f2”Œ833630ef9404dbe”Œ5aaec1d282384a3”Œ6ed6fef0dd1e4ed”Œeeb7ff0e383cbfb”Œ3437ace0b662dad”Œ72d5dd960d9a2d7”Œ2f56b104c0accfb”Œ65db964d”Œ5fe58ccf”Œfff28844”Œ52490228”Œ1d29a971”Œa43493d5”Œbbbe4acf”Œ9583f1b0”Œ5d9d5022”Œ89514b46”Œ66f8b997071ca2a”Œa24eacb851b5788”Œ855b5224c678f35”Œ254a38f6bf56159”Œ2929ebe0c0f911c”Œca2467ffbbba83a”Œd6e1fdf24d231ff”Œac1917c5”Œd9688d24”Œ6fdf2b31”Œfb0d45e3”Œ15e5d9f7”Œf3850718”Œ03435439”Œf15e619b”Œ684c25ce”Œ3b2e6acd”Œ95f461d8f965c7a”Œ2786a6656d0d81e”Œe00623d52854d9c”Œ3f5bef5e994c19c”Œ77c05bb5db82470”Œ21cd26fcc9edb24”Œ 5184be02e37a2a”Œad383931”Œ106c37f6”Œ17cb55af”Œ97fb3619”Œe2155a4d”Œfa89d0a7”Œ980ad14a”Œ5705fb9b”Œ128e890c”Œ75a0ea70”Œc12506113d9c1e8”Œ81ccc38455a21e9”Œ9e0b8c2e84bc65a”Œd87f3456633bc55”Œ1117db926bddf40”Œe4ff034c368dc3d”Œd4f08db89986c49”et”b. 8 transposed(H 8block2_items_varietyregular È ‡ªà’…^ (CLASSARRAY (VERSION2.4 TITLE (FLAVORnumpy 8 transposed (kindstring (nameN.Ê\ 1traitsui-7.2.1/examples/demo/index.rst0000644000076500000240000000003614046644454020411 0ustar aayresstaff00000000000000.. image:: traits_ui_demo.jpg traitsui-7.2.1/examples/demo/Dynamic_Forms/0000755000076500000240000000000014046644526021303 5ustar aayresstaff00000000000000traitsui-7.2.1/examples/demo/Dynamic_Forms/index.rst0000644000076500000240000000007014046644454023141 0ustar aayresstaff00000000000000Implementations of dynamic form behavior using TraitsUI traitsui-7.2.1/examples/demo/Dynamic_Forms/enabled_when.py0000644000076500000240000000640514046644454024275 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! """ Dynamic enabling parts of a user interface using 'enabled_when' How to dynamically enable or disable components of a Traits UI view, depending on the value of another trait. The demo class "Person" has a set of attributes that apply to all instances ('first_name', 'last_name', 'age'), a set of attributes that apply only to children (Persons whose age is under 18), and a set of attributes that apply only to adults. As a Person's age changes, only the age-appropriate attributes will be enabled (available for editing). **Detail:** The optional *enabled_when* attribute of an Item or Group is a string containing a boolean expression (logical condition) indicating when this Item or Group will be enabled. The boolean expression is evaluated for the object being viewed, so that in this example, 'age' refers to the 'age' attribute of the Person being viewed. Compare this to very similar demo of *visible_when*. """ from traits.api import HasTraits, Str, Range, Bool, Enum from traitsui.api import Item, Group, View, Label class Person(HasTraits): """ Example of enabling/disabling components of a user interface. """ # General traits: first_name = Str() last_name = Str() age = Range(0, 120) # Traits for children only: legal_guardian = Str() school = Str() grade = Range(1, 12) # Traits for adults only: marital_status = Enum('single', 'married', 'divorced', 'widowed') registered_voter = Bool(False) military_service = Bool(False) # Interface for attributes that are always visible in interface: gen_group = Group( Item(name='first_name'), Item(name='last_name'), Item(name='age'), label='General Info', show_border=True ) # Interface for attributes of Persons under 18: child_group = Group( Item(name='legal_guardian'), Item(name='school'), Item(name='grade'), label='Additional Info for minors', show_border=True, enabled_when='age < 18', ) # Interface for attributes of Persons 18 and over: adult_group = Group( Item(name='marital_status'), Item(name='registered_voter'), Item(name='military_service'), '10', label='Additional Info for adults', show_border=True, enabled_when='age >= 18', ) # A simple View is sufficient, since the Group definitions do all the work: view = View( Group( gen_group, '10', Label("Using 'enabled_when':"), '10', child_group, adult_group ), title='Personal Information', resizable=True, buttons=['OK'] ) # Create the demo: demo = Person( first_name="Samuel", last_name="Johnson", age=16 ) # Run the demo (if invoked from the command line): if __name__ == '__main__': demo.configure_traits() traitsui-7.2.1/examples/demo/Dynamic_Forms/dynamic_form_using_instances.py0000644000076500000240000001126614046644454027606 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! """ Dynamic restructuring a user interface using Instance editor and Handler How to dynamically change the *structure* of a user interface (not merely which components are visible), depending on the value of another trait. This code sample shows a simple implementation of the dynamic restructuring of a View on the basis of some trait attribute's assigned value. The demo class "Person" has attributes that apply to all instances ('first_name', 'last_name', 'age') and a single attribute 'misc' referring to another object whose traits are specific to age group (AdultSpec for adults 18 and over, ChildSpec for children under 18). The 'misc' attribute is re-assigned to a new instance of the appropriate type when a change to 'age' crosses the range boundary. The multi-attribute instance assigned to 'misc' is edited by means of a single InstanceEditor, which is displayed in the 'custom' style so that the dynamic portion of the interface is displayed in a panel rather than a separate window. It is necessary to use a Handler because otherwise when the instance is updated dynamically, Traits UI will not detect the change and the UI will not be reconfigured. This is due to architectural limitations of the current version of Traits UI. Compare this to the simpler, but less powerful demo of *enabled_when*. """ from traits.api import HasTraits, Str, Range, Enum, Bool, Instance from traitsui.api import Item, Group, View, Handler, Label class Spec(HasTraits): """ An empty class from which all age-specific trait list classes are derived. """ pass class ChildSpec(Spec): """ Trait list for children (assigned to 'misc' for a Person when age < 18). """ legal_guardian = Str() school = Str() grade = Range(1, 12) traits_view = View('legal_guardian', 'school', 'grade') class AdultSpec(Spec): """ Trait list for adults (assigned to 'misc' for a Person when age >= 18). """ marital_status = Enum('single', 'married', 'divorced', 'widowed') registered_voter = Bool() military_service = Bool() traits_view = View('marital_status', 'registered_voter', 'military_service') class PersonHandler(Handler): """ Handler class to perform restructuring action when conditions are met. The restructuring consists of replacing a ChildSpec instance by an AdultSpec instance, or vice-versa. We would not need a handler to listen for a change in age, but we do need a Handler so that Traits UI will respond immediately to changes in the viewed Person, which require immediate restructuring of the UI. """ def object_age_changed(self, info): if ((info.object.age >= 18) and (not isinstance(info.object.misc, AdultSpec))): info.object.misc = AdultSpec() elif ((info.object.age < 18) and (not isinstance(info.object.misc, ChildSpec))): info.object.misc = ChildSpec() class Person(HasTraits): """ Demo class for demonstrating dynamic interface restructuring. """ first_name = Str() last_name = Str() age = Range(0, 120) misc = Instance(Spec) # Interface for attributes that are always visible in interface: gen_group = Group( Item(name='first_name'), Item(name='last_name'), Item(name='age'), label='General Info', show_border=True ) # Interface for attributes that depend on the value of 'age': spec_group = Group( Group( Item(name='misc', style='custom'), show_labels=False ), label='Additional Info', show_border=True ) # A simple View is enough as long as the right handler is specified: view = View( Group( gen_group, '10', Label("Using Instances and a Handler:"), '10', spec_group ), title='Personal Information', buttons=['OK'], resizable=True, width=300, handler=PersonHandler() ) # Create the demo: demo = Person(first_name="Samuel", last_name="Johnson", age=18, misc=AdultSpec()) # Run the demo (if invoked from the command line): if __name__ == '__main__': demo.configure_traits() traitsui-7.2.1/examples/demo/Dynamic_Forms/tests/0000755000076500000240000000000014046644526022445 5ustar aayresstaff00000000000000traitsui-7.2.1/examples/demo/Dynamic_Forms/tests/test_visible_when.py0000644000076500000240000000403114046644454026532 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! """ This example demonstrates how to test the use of visible_when to make UI components visible or not The GUI being tested is written in the demo under the same name (minus the preceding 'test') in the outer directory. """ import os import runpy import unittest from traitsui.testing.api import ( IsVisible, UITester ) #: Filename of the demo script FILENAME = "visible_when.py" #: Path of the demo script DEMO_PATH = os.path.join(os.path.dirname(__file__), "..", FILENAME) class TestVisibleWhenDemo(unittest.TestCase): def test_visible_when_demo(self): demo = runpy.run_path(DEMO_PATH)["demo"] tester = UITester() with tester.create_ui(demo) as ui: # person should be 16 by default self.assertLess(demo.age, 18) marital_status_field = tester.find_by_name(ui, 'marital_status') legal_guardian_field = tester.find_by_name(ui, 'legal_guardian') self.assertFalse(marital_status_field.inspect(IsVisible())) self.assertTrue(legal_guardian_field.inspect(IsVisible())) # UITester is yet to support SimpleSpinEditor so we change the # value of the trait directly demo.age = 20 registered_voter_field = tester.find_by_name( ui, 'registered_voter' ) school_field = tester.find_by_name(ui, 'school') self.assertTrue(registered_voter_field.inspect(IsVisible())) self.assertFalse(school_field.inspect(IsVisible())) # Run the test(s) unittest.TextTestRunner().run( unittest.TestLoader().loadTestsFromTestCase(TestVisibleWhenDemo) ) traitsui-7.2.1/examples/demo/Dynamic_Forms/dynamic_range_editor.py0000644000076500000240000001065014046644454026025 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! """ Dynamic Range editor Demonstrates how to dynamically modify the low and high limits of a Range Trait. In the simple *Range Editor* example, we saw how to define a Range Trait, whose values were restricted to a fixed range. Here, we show how the limits of the range can be changed dynamically using the editor's *low_name* and *high_name* attributes. In this example, these range limits are set with sliders. In practice, the limits would often be calculated from other user input or model data. The demo is divided into three tabs: * A dynamic range using a simple slider. * A dynamic range using a large-range slider. * A dynamic range using a spinner. In each section of the demo, the top-most 'value' trait can have its range end points changed dynamically by modifying the 'low' and 'high' sliders below it. The large-range slider includes low-end and high-end arrows, which are used to step the visible range through the full range, when the latter is too large to be entirely visible. This demo also illustrates how the value, label formatting and label widths can also be specified if desired. """ # Imports: from traits.api import HasPrivateTraits, Float, Range, Int from traitsui.api import View, Group, Item, Label, RangeEditor class DynamicRangeEditor(HasPrivateTraits): """ Defines an editor for dynamic ranges (i.e. ranges whose bounds can be changed at run time). """ # The value with the dynamic range: value = Float() # This determines the low end of the range: low = Range(0.0, 10.0, 0.0) # This determines the high end of the range: high = Range(20.0, 100.0, 20.0) # An integer value: int_value = Int() # This determines the low end of the integer range: int_low = Range(0, 10, 0) # This determines the high end of the range: int_high = Range(20, 100, 20) # Traits view definitions: traits_view = View( # Dynamic simple slider demo: Group( Item('value', editor=RangeEditor(low_name='low', high_name='high', format='%.1f', label_width=28, mode='auto') ), '_', Item('low'), Item('high'), '_', Label('Move the Low and High sliders to change the range of ' 'Value.'), label='Simple Slider' ), # Dynamic large range slider demo: Group( Item('value', editor=RangeEditor(low_name='low', high_name='high', format='%.1f', label_width=28, mode='xslider') ), '_', Item('low'), Item('high'), '_', Label('Move the Low and High sliders to change the range of ' 'Value.'), label='Large Range Slider' ), # Dynamic spinner demo: Group( Item('int_value', editor=RangeEditor(low=0, high=20, low_name='int_low', high_name='int_high', format='%d', is_float=False, label_width=28, mode='spinner') ), '_', Item('int_low'), Item('int_high'), '_', Label('Move the Low and High sliders to change the range of ' 'Value.'), label='Spinner' ), title='Dynamic Range Editor Demonstration', buttons=['OK'], resizable=True ) # Create the demo: demo = DynamicRangeEditor() # Run the demo (if invoked from the command line): if __name__ == '__main__': demo.configure_traits() traitsui-7.2.1/examples/demo/Dynamic_Forms/dynamic_selector.py0000644000076500000240000000672614046644454025214 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! """ Dynamic changing a selection list, using Handler One way to dynamically change the list of values shown by an EnumEditor. This example demonstrates several useful Traits UI concepts. It dynamically changes the values which an EnumEditor presents to the user for selection. It does this with a custom *Handler* which is assigned to the view, listens for changes in a viewed trait, and changes the selection list accordingly. Various implementations of dynamic data retrieval are possible. This example shows how a Handler can interact with the traits in a view, separating model logic from the view implementation. Demo class *Address* has a simple set of attributes: *street_address*, *state* and *city*. The values of *state* and *city* are to be chosen from enumerated lists; however, the user does not want to see every city in the USA, but only those for the chosen state. Note that *city* is simply defined as a trait of type Str. By default, a Str would be displayed using a simple TextEditor, but in this view we explicitly specify that *city* should be displayed with an EnumEditor. The values that appear in the GUI's enumerated list are determined by the *cities* attribute of the view's handler, as specified in the EnumEditor's *name* parameter. """ from traits.api import HasTraits, Str, Enum, List from traitsui.api import View, Item, Handler, EnumEditor # Dictionary of defined states and cities. cities = { 'GA': ['Athens', 'Atlanta', 'Macon', 'Marietta', 'Savannah'], 'TX': ['Austin', 'Amarillo', 'Dallas', 'Houston', 'San Antonio', 'Waco'], 'OR': ['Albany', 'Eugene', 'Portland'] } class AddressHandler(Handler): """ Handler class to redefine the possible values of 'city' based on 'state'. This handler will be assigned to a view of an Address, and can listen and respond to changes in the viewed Address. """ # Current list of available cities: cities = List(Str) def object_state_changed(self, info): """ This method listens for a change in the *state* attribute of the object (Address) being viewed. When this listener method is called, *info.object* is a reference to the viewed object (Address). """ # Change the list of available cities self.cities = cities[info.object.state] # As default value, use the first city in the list: info.object.city = self.cities[0] class Address(HasTraits): """ Demo class for demonstrating dynamic redefinition of valid trait values. """ street_address = Str() state = Enum(list(cities.keys())[0], list(cities.keys())) city = Str() view = View( Item(name='street_address'), Item(name='state'), Item(name='city', editor=EnumEditor(name='handler.cities'), ), title='Address Information', buttons=['OK'], resizable=True, handler=AddressHandler ) # Create the demo: demo = Address(street_address="4743 Dudley Lane") # Run the demo (if invoked from the command line): if __name__ == '__main__': demo.configure_traits() traitsui-7.2.1/examples/demo/Dynamic_Forms/visible_when.py0000644000076500000240000000657714046644454024352 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! """ Dynamic restructuring a user interface using 'visible_when' How to dynamically change which components of a Traits UI view are visible, depending on the value of another trait. The demo class "Person" has a set of attributes that apply to all instances ('first_name', 'last_name', 'age'), a set of attributes that apply only to children (Persons whose age is under 18), and a set of attributes that apply only to adults. As a Person's age changes, only the age-appropriate attributes will be visible. **Detail:** The optional *visible_when* attribute of an Item or Group is a string containing a boolean expression (logical condition) indicating when this Item or Group will be visible. The boolean expression is evaluated for the object being viewed, so that in this example, 'age' refers to the 'age' attribute of the Person being viewed. Compare this to very similar demo of *enabled_when*, and the visually similar, but structurally very different demo of *dynamic restructuring of a user interface using an Instance editor and a Handler*. """ from traits.api import HasTraits, Str, Range, Bool, Enum from traitsui.api import Item, Group, View, Label class Person(HasTraits): """ Example of restructuring a user interface by controlling visibility. """ # General traits: first_name = Str() last_name = Str() age = Range(0, 120) # Traits for children only: legal_guardian = Str() school = Str() grade = Range(1, 12) # Traits for adults only: marital_status = Enum('single', 'married', 'divorced', 'widowed') registered_voter = Bool(False) military_service = Bool(False) # Interface for attributes that are always visible in interface: gen_group = Group( Item(name='first_name'), Item(name='last_name'), Item(name='age'), label='General Info', show_border=True ) # Interface for attributes of Persons under 18: child_group = Group( Item(name='legal_guardian'), Item(name='school'), Item(name='grade'), label='Additional Info for minors', show_border=True, visible_when='age < 18', ) # Interface for attributes of Persons 18 and over: adult_group = Group( Item(name='marital_status'), Item(name='registered_voter'), Item(name='military_service'), label='Additional Info for adults', show_border=True, visible_when='age >= 18', ) # A simple View is sufficient, since the Group definitions do all the work: view = View( Group( gen_group, '10', Label("Using 'visible_when':"), '10', child_group, adult_group ), title='Personal Information', resizable=True, buttons=['OK'] ) # Create the demo: demo = Person( first_name="Samuel", last_name="Johnson", age=16 ) # Run the demo (if invoked from the command line): if __name__ == '__main__': demo.configure_traits() traitsui-7.2.1/examples/demo/examples.cfg0000644000076500000240000000027714046644454021056 0ustar aayresstaff00000000000000[global] destdir = TraitsUI [Traits UI Uber-demo] files = demo.py, traits_ui_demo.jpg, Advanced/*, Applications/*, Dynamic Forms/*, Extras/*, Standard Editors/*, Tools/*, Misc/*, images/* traitsui-7.2.1/examples/demo/Applications/0000755000076500000240000000000014046644526021177 5ustar aayresstaff00000000000000traitsui-7.2.1/examples/demo/Applications/index.rst0000644000076500000240000000024714046644454023043 0ustar aayresstaff00000000000000These examples demonstrate two simple applications built using TraitsUI - a Python source code browser, - a length measurement converter between various unit systems.traitsui-7.2.1/examples/demo/Applications/Python_source_browser.py0000644000076500000240000001202614046644454026156 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! """ This demo shows a combination of the **DirectoryEditor**, the **TabularEditor** and the **CodeEditor** used to create a simple Python source browser: - Use the **DirectoryEditor** on the left to navigate to and select directories containing Python source files. - Use the **TabularEditor** on the top-right to view information about and to select Python source files in the currently selected directory. - View the currently selected Python source file's contents in the **CodeEditor** in the bottom-right. As an extra *feature*, the **TabularEditor** also displays a: - Red ball if the file size > 64KB. - Blue ball if the file size > 16KB. """ from time \ import localtime, strftime from os \ import listdir from os.path \ import getsize, getmtime, isfile, join, splitext, basename, dirname from traits.api \ import HasPrivateTraits, Str, Float, List, Directory, File, Code, \ Instance, Property, cached_property import traitsui.api from traitsui.api \ import View, Item, HSplit, VSplit, TabularEditor, Font from traitsui.tabular_adapter \ import TabularAdapter from pyface.image_resource \ import ImageResource from io import open #-- Constants ------------------------------------------------------------ # The images folder is in the same folder as this file: search_path = [dirname(__file__)] #-- FileInfo Class Definition -------------------------------------------- class FileInfo(HasPrivateTraits): file_name = File() name = Property() size = Property() time = Property() date = Property() @cached_property def _get_name(self): return basename(self.file_name) @cached_property def _get_size(self): return getsize(self.file_name) @cached_property def _get_time(self): return strftime('%I:%M:%S %p', localtime(getmtime(self.file_name))) @cached_property def _get_date(self): return strftime('%m/%d/%Y', localtime(getmtime(self.file_name))) #-- Tabular Adapter Definition ------------------------------------------- class FileInfoAdapter(TabularAdapter): columns = [('File Name', 'name'), ('Size', 'size'), ('', 'big'), ('Time', 'time'), ('Date', 'date')] even_bg_color = (201, 223, 241) # FIXME: Font fails with wx in OSX; see traitsui issue #13: font = Font('Courier 10') size_alignment = Str('right') time_alignment = Str('right') date_alignment = Str('right') big_text = Str() big_width = Float(18) big_image = Property() def _get_big_image(self): size = self.item.size if size > 65536: return ImageResource('red_ball') return (None, ImageResource('blue_ball'))[size > 16384] #-- Tabular Editor Definition -------------------------------------------- tabular_editor = TabularEditor( editable=False, selected='file_info', adapter=FileInfoAdapter(), operations=[], images=[ImageResource('blue_ball', search_path=search_path), ImageResource('red_ball', search_path=search_path)] ) #-- PythonBrowser Class Definition --------------------------------------- class PythonBrowser(HasPrivateTraits): #-- Trait Definitions ---------------------------------------------------- dir = Directory() files = List(FileInfo) file_info = Instance(FileInfo) code = Code() #-- Traits View Definitions ---------------------------------------------- view = View( HSplit( Item('dir', style='custom'), VSplit( Item('files', editor=tabular_editor), Item('code', style='readonly'), show_labels=False), show_labels=False ), resizable=True, width=0.75, height=0.75 ) #-- Event Handlers ------------------------------------------------------- def _dir_changed(self, dir): if dir != '': self.files = [FileInfo(file_name=join(dir, name)) for name in listdir(dir) if ((splitext(name)[1] == '.py') and isfile(join(dir, name)))] else: self.files = [] def _file_info_changed(self, file_info): fh = None try: fh = open(file_info.file_name, 'rU', encoding='utf8') self.code = fh.read() except: pass if fh is not None: fh.close() # Create the demo: demo = PythonBrowser(dir=dirname(dirname(__file__))) # Run the demo (if invoked from the command line): if __name__ == '__main__': demo.configure_traits() traitsui-7.2.1/examples/demo/Applications/images/0000755000076500000240000000000014046644526022444 5ustar aayresstaff00000000000000traitsui-7.2.1/examples/demo/Applications/images/TFB.png0000644000076500000240000000305514046644454023570 0ustar aayresstaff00000000000000‰PNG  IHDRfgòƒ7Ç pHYs  ÒÝ~üßIDATxœíÝÿOÓwÀqâ?g 7£Yr·]2R!ÛÎeœFˆh`8pHmáS Ulí'-£P‚•jµ£»ò­‡É·ó.g²ÄQ‡l¾åy?”ùœµì^c¯wòü­Ÿwòþ<òj?ŸŸZ”Ù¾\£ÙÛ|h?`yàºvº–)ÜC/p€_s˜zy÷ÕÕU–—_hE´ºººÔp°X·uõÂÂcú¢×pÖãÊÃ8ÊJµôaÅaœµÇè‹^caá±Èý¶0€••¦rÇ;[›zô]ª>û€sÕ­ÈêΕ㬭 æìŽU¾GØô±²²báDÞãXZzN]Í_·@NŸçG´4WâqÀðœÒЬÃ8Ï[…¿ã >oíî“´·Õ±´ô|Ûɱ£´&ÅY{ GY)åŽ?Psö-Í•žSø»ª \©áÚÕ:­ÈÌ€“p¨žˆÙ@Ù@ÄlÀ :é »ì“sh;˜ €Høòг¦×Åãø:Îì®%ª§7ÜH_Vt_'ÖûÑ&ûš õ_ mâþø°3õ2Ì€Å' ”;â(+¥æì\ãï¬Æ 8é42mâzìC_jElÙjøúEn µ’ˆ·rsØÅÈ‹Ÿ?µpöÛa¼ƒá­ß”–æJ|g0Núz¹»À¡ÂFÚÎJÄ ‰a£#—¸•ðJ¶s'ið÷ùûŒa‡É4ÔŸÄQVJƒó# Ï)‚ݵôF (‰øîl¯dGI§¼dÒ]ÌL X0y;Ì2ÀÑÿȧGߥ¥¹W5áP=Ñ&”_æöÍ6Ò· 2é.²?“Ù󀣬”ªÏ>Àã:AàJ ½á´ìöAöb©Ñ6¾Nu0>æ'w¿›é\ÐþÒ¹ï˜sÕ Ï)®]­£¯§‘¡/wý{±T²±»d3~¦²f§M;Ì«£0 ó»Na„¦0BS¡)ŒÐFh #4…šÂMa„¦0BS¡)ŒÐFh #4…šÂMa„¦0BS¡)ŒÐFh #4…šÂMa„¦0BS¡)ŒÐFh #4…šÂMa„¦0BS¡)ŒÐFh #4…šÂMa„¦0BS¡)ŒÐFh #4…šÂMa„¦0BS¡)ŒÐFh #4…šÂMa„¦0BS¡)ŒÐFh #4…šÂMa„¦0BS¡)ŒÐFh #4…šÂMa„¦0B{˜} ³û0› ½SBá?äùä/¢î\9ÆiÌ€“¾¯ÎlÙõCì¹F\ÜIdÒ]|{ï 3¹ ßÍF-”e;Làüç§qÖVàóVÕëý‚ø` ‰xëîf•L¸I§¼Œù™Ì˜1ù÷?SLÞcćz©9{Ç"fÑ&…ù?7:r‰;IƒoÒ]䯻ÉO†˜{ÐÃÓ'sŒ×³àÙ³ENÿ3>o=fƒ}Í _¿HbsÃÑ‘K»~°ßl#…I)|…u’½w™é\ïçúy8ßÏÚêÏÌ;L 0ëÑî>IdæÆP+£#—¸•ðpûf©Ñ6RÉv­Èî$ Ò)/ߤ»6Q<œñlñ; eÂò°ÃX[[Ã×Ùˆt2ØD¼•[ ©d;éÛ_§:»Û©Y&ÝÅø˜ŸÜx7Ó¹à& <þ!ÃÆÆºsp;˜À ðÓOËÄ¢±h7‡ vé”wkólF+¶oï]a2 ?âû¹~àȰ¾¾j¡¸í/Ô€õõ5&'n‘vo=Úe3~r÷»™Ê´"›É™1™{ÐÃÃùÏçØØØ°P"/;l³59ËËK<üdzù8Ó¹03“&³ÓZq…™{ãÑ¿îòtqžµµÿØÞ%ÿwRÞS²ù}7®_kMQø]ßöþ¿Æê…gë<…·R];[/(ÜCƒÂëÉkïûÛÀh¿¼}Å^ó_È ¼ÃéØIEND®B`‚traitsui-7.2.1/examples/demo/Applications/images/red_ball.png0000644000076500000240000000174414046644454024724 0ustar aayresstaff00000000000000‰PNG  IHDRóÿagAMA¯È7ŠétEXtSoftwareAdobe ImageReadyqÉe<vIDATxÚbÌa``øÄÌ@ÌDßì~10¤r Ûq‹Šò1022~zýúó»7oNüa`˜ T¶‡•á;P-à  ("ó—¡K]C#Ò8*ŠAÙÓ“WF¤Ÿáó³g7÷ìñ=´x±ïÅË—×Õ•220Ü@ d00È00ßéåõÿûáÃÿÿÿþüüùÿljÿ7ýe`¸ÁÀ Ô @Ì& @'xéêzyde1°ˆˆ00üøtÐMÿvüzèãG†—/X~þdPºŠýñcÑ Ož(]± €X€þ²‘c`ˆ19çí[`(}÷çDóׯ @?@ |ÿlÛ7 @ÃO10øÜd`ð f3fæ.-  f6AAˆ þÝ´áÛ7†OŸ š_¿f`x÷Žáç¹s _öìa`fff¸ÎÈ( @,ü6*¬¬ L>0|Þ°h+«Ð=bb llþýlóŸóç>ïÚÅðh° //ƒ0 ‹!@±ð13óñm)eÚöhÓéÓ ÌŠŠ ×€¼tÁ¿»w~?yÂÀôP„¨¨— €XX€ Øþ倯)P‚ñÑ#†/P\À L:& ÷È8#@±ÃøË_vvNÎÏŸÁ¶1rq10ððãh$334‘ü$Ó—/ l@ç³ù?€ò_ÿýû@,~ü8ñ˜‹ËWäT& ßÀ˜“# ŠJk˜˜A†}ÿÎð(÷òÇËÄôýׯYGþúÅÏÏÀ L°Fnn_@€3`6H $4è/ÃA Wþø1 €˜Xÿÿßîãǵ{…„ @†€li€ó Øu……Nú´íÿÿÍÄl ¢Ÿÿž¹üë—+‡„„¨P13ÈPXmk¥  +ÿÃd?/~öì>0Ä=õ €˜µ^ÚùþÇïß;.|ü¨ô€…E¨‘h; ÐÏÿ€!ÿˆ¯ý½3›>ÜõûÛ·X ñ7@™ €¡Qòˆþÿº›Á“ƒ#K\PЈŸ$÷áׯŸ¯>|¸òãû÷é@îFVFÆÏ@CAºN–Rø¼ºIEND®B`‚traitsui-7.2.1/examples/demo/Applications/images/header.png0000644000076500000240000020037714046644454024413 0ustar aayresstaff00000000000000‰PNG  IHDRî(ù_Æ‹sBIT|dˆ pHYsÃÃÇo¨dtEXtSoftwareAdobe FireworksO³NtEXtCreation Time10/06/07ix-tEXtXML:com.adobe.xmp Adobe Fireworks CS3 2007-10-06T22:15:44Z 2007-10-06T22:30:22Z image/png µ§mprVWxœíX]hWÞÙ½³³¹ww'»; ˆˆaUA߬D‹(UŸÄ¢‚>tBJy”Ô§¾ô%“©¡/¢jEñhÛXK_Òö%þáƒÄ%j²žûsfvÃl|°npæ~³3óÝ3çιߜ3?{™»ö"Öû¢ÊQ©V]¾©Tª—ï9sy‹Ã…¥âº._eXÜr¹,XY¬U ϱ&CÇ×ñu|_Ç×ñu|_Ç É‰%‰"1ûÿ› ħí­|ÉòŽwrN…<üœœ8`‹fwqlÑl&œƒ¿#œè {Ú0>?%ãK&+6–ÅÏ…ƒØøý³îËl9€€ø >Í(±(¥&¬lìó85€CƒðâèÏ]îËÛFp|ÛI§Àw x+ö‘-5QFƒã··JAuJr¾—œÔp´“y>ÒÖ¨¯²+Ÿ¶3fo‹âÏ£8\F¥LpC\OƒI…’ÃÆãµvïŠÈsÆÏ3)IŽXŒÚB®B3¥Ø’6‹äè/lF] ÕócAñ¡8¥$)BŽ–_iµØ•è:‚¢kü ŸZ©>%Žêoåå'Ž›*g¼;“#–sYãÃÏoJ•)>ôGiç}‰¬n¸sóŸhÍÊ$Q¹c2¿òš"Wu JArâ×– ú䞟ªÁý—¡qZ“ãÚ\"¯«Åëꀈ[ßóñësÏsß²™¯XäR] qãb.UQ˜ûà|S¯&P½<_£ç_ŒÚâ DÎLä„IÅq*k¬ãu5öy¹7Õ³BÝ ß?- Ê„WŠØz\4‰²˜þ!ß­Öø½øsZ­ÆBïߦAÇ×ñu|_Ç×ñ#¾F´qsšÿïÇ/^½Ãܳ3ÓÏ&î_¿púÔèȰ Œž:}áúý‰gÓ3¾ÖÙ™©Goœìïë9t°<ÔÓ×?8töÆÃGSžÖ¹7/'Ç/<Þ»gÇ–MK¡ÁÆM[vìé=~òÒø¤§õÝO\êß·uÝêUÅŽå¡AGqÕêu[÷õ]|€Zg_?ÿëŠ{l׆Υ;ÍB„´]XÚ¹a×1÷ j};õïí±Ýë‹j& Ãø´ÏÅæ¤$LZ(®ß=0†¶×OÇÏØ_Z‘K%Â#TÔ¦r+JûO aꟛ#‡·uµ…OªÛÖµí0¶Ÿÿqþ»½ÝËÒ$|R¹X’^Ö½›“÷ÆŽnï*$ã!” bãÉB×vlM\ýá›RG&J© 6‘é(aãÏŸ¿^»¤%œiå‰mY²¿عÆI†T*ˆM:kÿúÓ‘¯:sa-a^ĹNäwüvóÊl|1‡óiÏ®Dzg´çËb&ÌZ3E¤QÒ¥ŽÒ³)Jïœ(}KDé1JßþQúO¥ÿêbæ@˜ç`xs0Qš[s¦Ãaž3öæL£4®¡¡¡¡±˜¸•¸lÁ÷ùŽÒT÷÷TO|¾ÐßÍÅ{ÌÖQu˃nHmkBFúÞÊþ)¤3¡t¨mkTSxœì½Kl$IzžÚÙv÷¼vÕÁ‹?JkÉÛ3=¬Îg=f·%ðUMÎìÚ*ö49k¡QÏîÒì^’ÍnUöÁ'­ È6løæ“>H¶aðwaÀlº^¯¾Hûf@ðÅôø""3"2232+ëAvNM3«2#¿ˆø}Ïø"2rçóÕóË/ZíÑe}üEkgti­5îÐúñîèÒµºÛµêãýíµá¥9> ‡Ç[ëÃKÛ©7·ö†—®9nm´‡—õʸÕ~4B×W CøoÜÜÞ>¿\m¢?k+{§—Æ’Ñ5zÆ£i ŒcômdŽ·vwЕ›èÊ1ºbËèêÈxJŽ[뻘äÊ.P^A-vµñêúnåêjúÐéÎxµ½…Ú ¸ÖÞ„Ãê6œ\ýk»”ÀF~·ö Pc~5ZpØ%'ÛÍîÕ깸G¨ïµI%;„9l­àVîâV™ãõ‡Ö貆6&³þÐC´ÑÁ&ÆZÈüª £d¬ ³gè÷2úvˆŽã]éÏ3kB̬iav‹böÀ8A¸¼0ž¡kgÆ —`3ˆÁÆTbÓë Ø˜1ØôjÇNŽåx:ž§Fà©xjãvóKTKwÜnÓcó!BÍë ô‹€R׌çH¸ž#‘h!¡ãKò`"€¦íÅ¡ÙÑ@S’´84%Iëä«a¥¢€°Ý\%WÚäÈCú…tôqdô( ïS@ÛÌ!’Å’ÑBß^¢sýD­Ubi Ý|õÖéeÔÛNZ½Âè6Åh?qÛFW§¥·)ü@ lÌé`ó~› å'gO9„n‡4,³ôȺ•F~æ¬[̤¯:Ï@6D â®(Æ¡d/¨²rGé%Jë k]ä ã¥iQq²sÇé=%NÔ:¥Çhîö:N’<‚Gò&Ò·MtìçÆÅ•ôø–‹z&ÀÔ!0uLêHSWáöPà~UÎÉ]á–|œž#çv6à16ï¹=›I 1 4&Æ$ИS€æ6…f Æ òî«èïK è žGÃ,å𩸠¸žPÍÆvDý ##› d„\‚KrÉ€³UñánÀpHƒ!7ï!ñz„ì%øÅ#©ÔÁx ­:…ÒîÆ že(S Ÿ3ƒi×õÀ|‚¹†îR0OýtÃ…¤µX(Ð÷çÆóø U[ËÑÖ-ÓM¯·žIƒ€‘ÆžE͵kÚX:5:Žv¬~jìâºÚ'ÐÕz¹ANa…VØdYú1ÒÓ.%äz «+ÉËþ™£^œ¢b±H–-0ˆNê@¨¦TX¶|Eͪ -tµ z+fV=_9Ëw¸89ûÅè1ògJtª’ˆIQGÜhß*àcÏÈïAu5dôoùx=ƒ±NILÇO›2iZ¿‰M~|œ/áeÙ=%b’Á¯öÒ‹”Ks¥Š™Ówµ}gv¥\e™SêjÒ#Ùã–<$!9t5<çyNOhéÛ6 $Ä$ùãˆák³h7–°/Y—°/­ÔßfiàŸ‘8žqNï€F&øf 0dùs¸…pµ‚™ì4â1Ë «"Ì”DC׳Óë¸{6Ž`¨‡5Ð6¾àÙCåàu <ÈøÒ,c3qhC„ŒkE¶k4JA‰&ZŽ­B«BЪ´*D•‰Ä_ºCI•±im¦Àñ†­tŒ¯R#5‚b !‡¢9)Š.A‘ˆ˜F<'ˆq´cpôh…U$ER§HRÁ«PÉ«¸Q`ú3s Ì¡:ó-”{0=Ü3¾J£ÅZR©=«Å”;ênîö è0²Å{â{¢Å“YÈ,DÀ-{8W§H Ÿ !-;ôÛÀ8ÑØ4[Þ@'%£…rŠ+¡)øU–‘‰ã±Û„0ü ÇŸAøs¢œo?âi êN¼KHÝ•#pâºyƒÎT±Ó‡Še×·}ˆ¢M¥ô” +;fD2Bî©Éoý‚xë3ÄÛµA I´žàCì½…¯FðëÑ¥F=Š`¯&{dü¥Å¾„Í´ü/,„l¶¨×iµØ ¦ÈU¬¸É±bã䉢NZ™e±v¿IëH±óÝll¶% Yñ7>Û ÜhnÆàšW ¨ñj$ìªÝ Ñ&bxËþÍ@„¾–K_‚c³Ó¥K#J— éô’ptàHITJ+8q,¤€n‹ VDÛVyâ…:§:ñKý³))«3˜tJŠŠ©'‰©hY±½mÃZàhp+n:ppÖÐ$@;Y<¿£iÓI+=¥¯fTz-7E@ÃŽ4“Bát»‚λ*gpʶ֣ó EGqjŠÄê-h»Eíý¶†J;ð.ú1èû€¦7`§4(Ò[§ ÍýùQ§Þ<3NS¤ |‹e¢Ô†r鬟w ëɳ/­‡œP›ki¨>ÆzO»¦LÁð(G„Ù¸Óa¹#O`uÄ卯°l6jam:Ó„¬Cj[‡¢mvrŠ&©EÔV!HbV>Îòìò,+Ë}´¨ÿynIίï>6†xb?L ÂÐò\‚aEİ“ŠRM„$}”e½“Bq…¼MÅŽ‰öV¨úêƒvÃà—àÄ;sG¥´ÒT«©ÄÊÔ÷=`oÃXuÝäÄ›ïÉ¥Ä6°€ùâ/Äû %ñ>øK“aØfQ‹ÙH‡êaÊæØÁ«íºBèɤ/Mìû€`¨Jhª£#Š©£Â´WS»ó:{Öib¸^!Á;8m–g[ œ8Ë»I¹£hƒXó§ÆDJñâéeÅNáQHDÄ ‡RÌä èI)žø|ƒžoó>”à­«ÔYW‰„2HA@7Ià”NÙÏxï"zh­¹G-Ùµ½«\j'Å™Jï¶GeÙÅY\*ŠOF¬'{„ :Gý;,ˆÿ.ñ Ø{°Šúž]éMü(Q fxñ:ýø HeÎŽÌ—ëÎ 9É#øžhO! ßÝTãNêĺÞcš~§ãybR©-¢Ml.Ò¯‰~J†¼Mâëæ,«:‹#u2¤ŽsŠt73ÚvM‘/Ù$ASœn8!}qç«xÄ”_o=)ƒÌJ6=¥Ç·*ïdͲÛ~Hù V¾à,ó ´žJ†­’5/géOZøƒG§’~¦—EæIÏ]n²±Ìfx,“݇~tKùÒf–Õ“‹,âRËåð† ŸNâH”ÂÇìaËχ#J]~ˆÎŸ·Iz,öôóE†õd/ÎÖH㛜ԗɠ/ƒ¡éq¥‡vê5q~c¨ôê»´j£§6ª]~:˜Ù a%Ÿv#âŠ:XõHœTI'­ïú©Œç0¶|†€§ëÞâe6¿ç_âütM¹î'¦8Äí4 ã(©%g;<*OBð=Á×U+Aê(5†°V-Å >Žnrn#óv8y¡á„ +Ô«*VÁš8Á¾° ²I£{ÜE2Ç…û0Ñ1nl¯Ÿ_6ø'p‡À‹6$äFÜ#JCàÁ.lpÜyy…ò¤AiQljlhÖ:iµÈµMrØÇ‡qƒÅ‘Ñ~ñˆMjåQä•lM²I“ÐáߢQ{zþ}:Ø9ãöS8õU¿G§2±¥í_!±eÛU4|€ß]#Ä·Ð÷M¼Kƒl±bÂcî’Å.ÑýWðµ|ÍœœŽ•‘»„ÿkðˆt]Ör»/¡ÿ2ßZ½°(ñW²ñÍ!|s ¾¥áÛ{”o-„LõçMžJÜ{Ï瑪Ì#2Ù8Ú!íMÃÑ›¾&â¹ì:ù0zÈͰkb®eãœK8çœË¢‹„g^;axIº¨.óH£ÌDÖÕ² –¦ai[u`w¯`±ò¦øÙùGç³±Ë#ìò neáV‚È÷,ú¦ÙùGç³q«J¸U-¸•…[ @¤ïãÁ¸œq>·j„[µ‚[i¸õ.åÖ}.õØ7>8y—òGUâQb‰l¼¬^Ö ^¦áå ÊËU˜L=õ§X‡þSa'¾ÖÉg³ñ©GøÔ+ø”†OKþàë Ù~GWäyp%Ïú„gý‚gY¼ÚcX¯9yµàü£ˆóÙ¸5 ÜÜÊ2ØnÓ*~ŒÓùkb®eãÜpn(4ì¶/F£k¬+žÁ¬›Þeb#_”p=[#-šéÅÇu‹C´±n ¿á—+üÚÃTÇãÀÎ"¦7©˜¶`íù*ÌÏ& (i€Z*ê¦Ùµ5TNš š÷hÀ¢3\6 ’£×9³ìmÃÿ"›­RñiU2/x—(¼mØÚç4)€´¢jMÝ©#¹{kרUׯñªëƒÑõºNׯVØÅ ü'^¬ú·öø£¡fâO˜YW¯ùóƒ[¾¼ ‰r¼cÛQ’(¨ßæ/bé  lwä‹•q¤Ê˜åZ@6RŸXs´ä`qÛ>oS‹—Q>‡eUgÆCúTÙÓdd×ÍŽWè\µ§bÌtæ‹(ý82ˆ-“6 ÷âZ¥ç°uèÌ  ¹9hã–èÁÊÆ$§]ÑE:Ö‰ð¨Ãþ]/Öå;cwÎÍ ê÷(ÔøJg›`9Ud¥ý3M§&[±À"WïT£ü Š +10|k5æVKn‘–ù^èæÏ;šÃW^€+ç£9WÕšzÕ­X’8¾tûµž'93ÿj¥g¬Š²#ƒa¿Ûë‡Y9Ÿ&Ì‹PvlÀ:eXG‹nýQL’ŽÚ¦Ó Å(¾[ÝzÕêF ¹5p‡®!ä•ΠgZQB&lÉ-ÒÒÑ…nþ¼„‚õ¹-ѵÄ@;<¶ÄÇP´êÃQ©Èá‡$¾±:ŒB’TŠ¡ÿµcínþ¼#É7!79‘ùd‘$Iqñä8!ùÃÒWêà.:í…þS¹iU’Gòw£±~~¹Ñàæ5ó¬dÆÞgý=‡NÙ¼ØÀ¤cœ7šíóËõµ üçsnCxhç¶±"Ï×èJÖ×¾@¥Þ¢¹‚ÁxÌÝ{K¸w62Ú2Öé=¿a\U¸Z1,ô1 ÛXFß{è þ†ÏõáMt5t®Š®˜ðñ dýµÐük,ÔºôÑØ3.pDküÃJÞäJ>†GaÎŒg´ì7p‹„Òïr¥Ùâ¥b¾ý{ª†'ݳ¨¢a3lÊ¢#ÌðG´é]x×ÞSx³· Ã}§þŽpÇmØ‹ìYލòr Á>fëts“¬a8}¸!cÜå·+ïH=_B­9„tÀ…÷¹’;°(󌾎c¡+»Ë’î"OÛ2˜z× ão ü‡TrÄz߃gë_Ñ,2Ö‚~èþ%t¿É}c(a¹ ¶:žÂûÈn…CšEPµŸ»[º³ O¿õ¡ª;¹–KØmÐ )AšßKê{X"Ú Ë¯'ºÆï-§÷¾Z‹ãÜÓEX®þ´AòÎ"%ãCö0$-y)±òKþ²^Ë%€ø µ¿\@Nç„rã!ªãÉ.ÙèÉäsÐøtŽ·lPù]ò"­ågqKœÍÁ:·` ×ÓÂ:ÖyêÖÙ+¬sa ë¬a—|ëüêÃ:WXèÂBOÛBW ]XèÂB§°ÐmD›>í^XèÂBOÝB˶¶°Ð…….,´ÊB;l¡iyX†h—Ï6»°ÙÓ¶Ùva³ ›]Øl ›}“Úì/A÷¾Du8]XèÂBOÝB;…….,ta¡} ­ä7råUXç°ÎÅÊ»Â:_wëHgÖùÍXyWXçE°ÎÅÊ»Â:ÖYÇ:¿y+ï ½ºXyWXèÂB§±ÐoÎÊ»ÂB/‚….VÞº°Ð:ºXyWØìŰÙÅÊ»Âf6[Çf¿‰+ï ½6ºXyWØèÂF§É|¼9+ï ½ºXyWXèÂBz•ÂòÏñÓßâœXè`ÏÅ'B©ÙZë²ouÃEŸ>¢WËÅZÇK±,ƒi~S¸;i5_–lÒXW² |Ù(™«Æô$l#„€7ÙcòTd%­ì±uEÔ«¼q²V‘æPó“µZjYÃш}…¥í=*m¼ß‘£Ñw¨¼á¼.ò×~±#ILt,*ç¯n$*÷cÞ‘h±Êø*F¢–¤ÛE$mŸoöYhí ,t Õ0D¯·…–cÍÂBº°ÐE® _ ýn`O~¬~_àb úEÞÏrÈÛn OýÍ/[àQ<ë‹mt}\TžYk}ÃïÂícrSû>„q¶Ù“e <…Ù‚p| ’–,²÷>ø•CÐ#šQÆŸ&KQר#NöÐ_ì»àó]°ÓLŠpnËÐÉã;.]C¿±ìõQùñ Lê;ß‚¿ŽúºŠêB ˆgz‚ê:ï„}Ù+ôûÌoÖɯýšÞ†¾—ð_êÛFG’£o ¾‹RôŽÑ×Ì0¼®Æû'°ò¤ä¦ sìÚl­“ –§†äõ,–,AÙ­“NÔW‘ø‘‘ÉóÙº±L”/žŽ§tg aj¹%ð6²¥}a¼„þ”8dˆì}¡vâG§kãžÌ¯ÌöÊA²á ûÓi!¾®ŽäÊä _ï#*&Ø4ìëG÷ÁnÉc”é ™ Q‚ºŠ;Ÿõçùc_ÞÃñ{O¢®sWŽÖ2•¬|‹_cšAúˆ¯’‹òw"¡>²òxµæ{., 8Fê£&HÒ,dAìé"`¿„ÆÌºfÖFl¥]t}(“ÔBèy Øs倪¿bŒy Zrã¯'Ô?A¿ŸÝHmïyFuV¼ë› ¥²WêƒVŸiÖô.W^¿–%tcp„þÊô-ÍÞ"³#q½îÒï}tMQ½¯Eî=O_ìý½j°÷rF‰£ïTµï= I5¾¯DB§¶[áz䌎‘®AÞ%¬nŒcÐBñ>UûÞU _Û{J,’kº) !×a-„u¾…®¿„ÌL‰·[[hË·ÐîÂYè¨>Vº°Ò…•.¬ôâYéMxí=4Òǹó—`ép=x –Ï·ïpí…áêô_äé3(¯3&ÅZ¦©sç#L?v¾î8„²~^N’õ<ÊüFpk€Î9ô1iøÒæ,œ´©ú+JøNÀþ¹1‚,ÈéøAú ¹w~¹¿½†_£|@ãàœíyä,þ2ÑijFyÒ¼Øõ\éÞbV2Wªó’î›Át•HÒáŒsØ}o2Ô=È\w`­C]Êac}éë!`nVV$Ýx;r^Y•K¾ôåÌ cí¹ðýexMÀ7ï-]?Ò#O+w¬â—Èó·}ülù€ãrä”ÌË’ÕYF9CX“b"N`ÜñˆfsTÁ\¨ £ÌùŽrÔ=ž…Æ…Ñÿ€æ¢ÙSþ%:úZA”_ày¦ œ°6hNb–:º0‹È7=˜éÑ[C4N$÷~\yËŸû&< ~gÑ ]B\ïúc}æÕi¬ôr¿+Bð<-ŽçJìêYpŒ»k \yèc™wanÊßÑÅÜñе:D^˜C@¾7Üã{>%^pT¿ ídõ³q݉2>ÿBHô\߉¼û§èØ1/ù ,㉒€ùÉF“K‚‡Ú\;VA­«€Ò)tq’`Ç=X{W\âh°%:¡ˆaZ’×óéK‡Àï`\ÇK‚¼Æ¢.ÉÁ_‹¼7zíE’$|`<@w½„ÑâîÏÃ.ð¹WÓϽ: g“{/âÿT*Íó€éèKÅ·QÊE*sñK~/KÀÁÅšë´~×^`¿«êï}[ø°xA žÀ,Ó)<ýŸGôG_eq=Éâ~7æþ³¸g—¤|Ï.dñ|Óÿðz¥àJfy€ä˜°V· y¶È”^·G£\ü׃'’Øê_ìkà±ñXx6úÕkÑ?v ÔT+¥Ç­ï(ï|IòïYÏ"Ý0Ès‡â q¶÷À&´åù5ÎP\;ÿ®D•Ð=ÉOZÒIOâØ*íÊvyî¾xÖ¬H(ž5¼>ÏÖ$é›ïoE<5¡¶Âl¸] }ü¬g8¯Ÿ%NÿÌ÷ô-qøÙ¯Â¶øúÙbý§Ùfñäm”-þBù¢ú>ÒPö$.Ëè{ó7$ÓÑ£™Ç:·Êš?¿|ÜDejæx“÷Ú_"z&ú²…z±·µ>º¬ûîòx{û|7ö›ç—=ܾµmhtszÒ\·wɹ!ÒÜ£¿Öx¥¹MmÜé••5øµ²‡6"3@%×ñ ¶¡ŠÏš?]zøØ&?’Cßÿ ±…Ÿµq™:nŸ{˜ÜgíUv» ˆîâÆ=hoãsÛíGø°NÛmàÀZ{ß¶±ÖÆÙ=hã_Ûmøµ¹·ƒ‰lî#°† ‹ä+8Â’¯ñ~š¸¿íßk9t'>쯯ñÆ>"`ŒwwÜóKôgtYÃaH9˜Ò¸<o d7v×ðqoeªk>†ÊqCÑÅ]tÃÎî:Ô6ÞÚ¸š[Ûä€Oÿ:¨} ÀB£e0  Ѱ Éþ:$dºà¨ †¾ Sºàtj£íÖ6öá¼½r€íóøÄ£p|›êÈct{´µƒôö½ ØiC¹5 ³¾ð¯mc…ÜÀ$×>Çç7¶q]ãñ[¨_Bãq¨>“Öw#¨Õi u™¤.+¾®­¦âA DÎ7÷6ýóyØ•·¹3Bg®¡Ym5Áh즇{¸õ­]Thèvîxïáþðr¹Žüáþ‚`^k`>5Ûè‚è´;nn_äWƒüj_«¨Þæ*bàV Íj{¯To6‘æÔÐe¶^­V·Æmt´ìrÕò*¶MÚÓºHÛ먀YöªfÝ©ŒW¿D¤W¿ \]ùd2 gUʦ[s½¡[ï7Ñ¡^®»·V!T{¦k1ª^¹n:f-ªm[åºgyN@¶ §keÓs<»F [®-4×u’;N@3 @ÏNGZU/Û5ש²F9®›²QRoŠb¨»®ë¥ÃQâŽCq”Øã¹•tL÷D e*nUI‘XÃbŠMSOÔ«f3L»Ùj£Œ¿ØÀ’\¶lo¼þ4>Õ‡»@…¿!VÅòT¬zÙ­T;™–DĶ]·bS"Õr½ZAˆ%S±E*n½Re-©”=§îZÕd"ŽH¤V©ÙkŠW¶*–N¤âòT*eÇqܪK©8åšgš ˆ=‘J 5¦FÅiNÅr "žHµìÙvݬP"VI§Wq’©Ty*µ²íxõ:%b–ºãx¨Ôx"õ²‰©F9„DÅölGƒËu‘H­j!–"µ²W±ª:D:<ÔƒjÍ6ƒªåše:uþt*V¹êV‹«Z«j4¥'A±b×=Ú¡J¹RuQé TˆÙ¸zFÅ1‘øièá@ â–ëV­fºŒŠY­º:T†ÙEÅßÞ*lXÂ.) öM*2NÙ¬Yˆ×©ú„¨9"sQK0"ãŠd©s½ôRq‘ñD2•2ÒË©¤‘Aç·@ÅÊÚµ•2µQþà½Jð>A›Oáמ>!{eõSµ*ºó橯çÝ6ê!¬§Å¼')'ÞEþX½!5—!e5È~6Ïaèuä5>â{`©K€ ^ñJV/—Â^{ë´KƽgøUª#(÷) åeïdõœ>/ì¬ÿtŽÛc ýÁ“¥°ÏhifuË@ c|•=¢«hÛ¾ÿ*S>¡ob-M®ŽŸ ôÛ`k&¡a ÖžÉhÙ9´ÇA4>òÛCxy ¼‰Çs›¬K<‚³„»ä­(‡Ðš§pNÍ‘F_Ú°7)^¹¿ kGàÓ‰D”@6ˆ}Nƒ›¬&dïŸfÒtJû܃+ýH)XCm>¦ZŒûw˜P+A‚ß§ê™PУ3Dl« $®ú<£}à‘a­Â«9àÊÊç ]Ì“ìEêNІS¨ÿÊáåVèK‡ó¾Ž1Ëc]Ñâñ×m¸.Z@þº×E‹ÈtXäîÝÔØâ‚×™5yH±–mÆ=FFØÛ~ºP#yóQ>–Å i!ã~t; 8Ѐ•À€ÜPè‡l?¡8ŸÞ¾¤4ƒB S˜kí)œe>á*ù®¬ñÿÙ£Þ<©£çã¯S €ÿ Á"i!ûXa©Á2%£sì–¨O@¦ˆ´_Â_<–$’H²sªkO¥kKÆÕÎÀ–߇’Ÿs¶÷ÚýöŽùZ{ ­%;ZôéqÃ/MÊ~ Ï¡÷Àm=Ft(ÕM®áÑÏ™_÷ œ»ûb¯¸Gž´£‘Ö‰ñ—Šv ý¯ÁæÓ•ÝA{ÈŽQ¸E¯Œ?ƒ½–Õ­!£fEHkðÊÅÿküO8ógÔœ„îîÒe¾_ѳ"Ïþ“Ï”|¢ëz|Y¾üöÚ=¡V‘ňϨä+‡¾/dVïT¾Ž¯þOá÷)´ökÀczDÖs_:Ô.Ž}¸GùHÊá\Ïø_B›Én±#xÖ#ºÕD³ú°fgO^—‰o!‘…'[tÔLî:¥í$ø¦áæø’Cc©ƒ#h“?~¬Â"xÏðg=ˆ*ºP)ExÁð!k~ÓkÕ×B-#ŽVe5®#®T˜¶a¯ác3µŽùUÛµSt·Þx׉§Ÿòxw MX’ð&Ñü)Hð)èÃú¥«G<âb=2½°„w"5VÅ5©Ýgð»cüÔ¢4\ø b·}†x Äúw€³X›ÿÊüßæF›Ãßûóµn˜?þ•¹™ ½’ù·Í'æsɶ”Ì?4ÿÒ|Ú¼ÕúðºûÏôP2ÿùÏÍ_, ÿ"&k‘2D°‡nƒ¬“'”‰åêûÞZ–Ë‘VíG?þ»ÞºÑëþþÏïOôê-=|h”$oYú'åÝ?ÿ»ÿþÉ?ýê¿ï~AKÍßÿæàìàëý ‘Ù3ØFg¾8ŒÀæL×çõ–vÝ[ïgÿøý­É°Á4°ÌDÐQàòÿÛà_ÿì?eÀæsèÇ ÒC|š©Ñû_ü‹?úÞÏÿàç¿k”þø­ÿ±ÿ§ûÿá×zò˳Ÿÿ¡ð½ÿø_Œ¡ò_i”þ­ñ§gô½óCèháñËÃi¢–¼øãwR¡±A½yœu?ð3jú‘ŽùØ8VŒ¬ÅÑ[–H”äN"¬ur Q1 ;è’1¦G|ž¼äúJ®ß ‘èº!æ[屨d#Ò«6åå<*óœÆ{ÁûlÄQ(¯‹8öd|îx 3LdVGŒk[´ä)ÍÆ¨Êß~µ­[R¡O ÿj{·rt0©…ѥO§|ͺ½NÓ†0g‚ÝhÄÌßý»Ò¶GDW§-zw¤mÙaš¯”XË2W6¾îÀʆó?ºçõîÜØàÉtâîøËðLÁS°÷ÛtdöÀ –ÙÄ~ç‚êPFCdG™;¨ç÷п G¬>–ebõÝ¡-ø =–iŽä)ä@—aî†Ð~‰09žÝ1LãæµâVlCf#°F¹sGQ÷™oiïºY3ìU_Á(ÀßkF°b ¼'Þóç&pm*Ï¢3ÿŸ@‰ûR¾ŸµÑÙp–?¨ñ ü•?¸F²ƒ§º•„ç÷¨y¬xy6²­Â¨bM9 áú˜«•¬Klr%,x„[.ÑãJ\¯‘Þô¨<¼.¸3HäûO¸û7ÊußM ‡ß JŽ6=:ôè ÷eŸa%™´Ì“,‰Á»IgLÈÕ€ ×Ѓów}”XÙ‹ˆ²R¹cÈT.,ýâ]lv~tÜ%ÇÕ"BÖ²„¬„#+t"•×AÉÊ„’ƒ?RQ²§€’- d§DÉŽEé.ÒQ±lz¤ìLòäL)G@ÊI¡qN ”œL(9™äÉJ®€’›(Owa7@ñŽx¬Tw¨û>7â%¥¢âGΊj>€¾Š98<69‡‘ .ã·ðȯ‡(°÷d±‘'Ù­ÛéWT>ép€FgkˆâÍéÁzè{œ†ê|»Ë0f;iÚéÚWøÐ@¢LntMé(ä@‰ì™zÜ>\GpuÒ'#3±—2µ#kò†à¨V©t&šÖY t´Ú¨LÏIFÑòwˆÕ¶jOD;dUApþV ¸3²¶ñZ¶Š>ÏQÌÃ$ùŽÐ»´$.Ž»û¾ÄŸAçM~+¤ŸJz¨O=Écm³rmÛA.r–—I$Y—šž,Ëzqõ%ùªÙN¦]I¶3>ĵkžÒ›§ž¥ìZ¹Êî¤Ù¹ÅòùÚÜ|ýA¾¾*g\“¯7˜md“¯NMâ¬ôËÆâú„Å̧/½öÂx„ÙèQ°¼Ð>a±¼B1J˜†^]7¯°ˆyšb„ÀæðË Û m…­…´ÂEl>Kiž­Ö£4;+¬á_·¸|²ë–8“%ΫuE<|õ¤ùªZâEÎ’q1>ã-Lžd6#Ëë—'Y,¿PDèÓЫŘMÍÏ/,ªO("t|¦²0>añ²6yçEÞŸPŒ¦¡W×Í',jÖ¦'à3Õ…³ÄyϾ Y›":Ÿ¶4Çõ1¯Uï:–?[F(鮕SüLæ2 ‰¿éë¤þós÷)^¤&öTvž5Ù5Ù¹×äè99£§zÆNìS^5©ž· útè‘=’ícº½`Ôöò²«}ÿ©áh½w¯ˆªgË ûl¼VØ"q_†éÙèüꈶÖùÕm·ó«CeÁåçÑ'­ÃUÖÁ[ÚiXm¹ÆÇBŸ‚gAƒ;Uk:°ô/'”4iI¹ÆÍ”5’|Ä…F-)רWhR2IúØWèU>¨Ú‘5†µ,ŽŽ«]£YcXç’ù¨Sc5²FÕˆŒìFˆßôYmöäó ØÞì Õ§»íôén;}ºÛî¿ï//ŽT¡ò›ôžßò¥êSJGEʤa)hXJ)²4, aû4,Ÿ†­ä’І#Ñpbhà'’B4?BºLîl܃Z>5ȾGQ4ž4Ý ½çŸùøRõÔ6æéˆî2OøûšîÛ„¿]Hñ©¸ï|à×Ã;Ï{­™Ê˜-åY[yÖvóÁ›î¿¹s!Ù…ìÀù9:s"¼ËØ1< þ»è#¶guLê –Kîû’Áž='ÈáVmшGÜSIÌO2jªegH;È®dŒGâ¹ð. aŠVˆâ²‚âr Švî\z=ñ#9§“gF'\§:¯sßï«ÞAnG̰«î"ïÚõ1—VÓÅþ#Ý’q×·fbD£äœN¶nQø«Êܪr´ñ÷Š{¦¹—Ï˪3°i¤2^¶²I¤\»‹÷9WG–“Û{Š®“G·7Ý8ÝKêm>z­#z²¥%éî–õDGÇ¢´Dž»"¶ücØ“”Dq÷è7ƒ|šYCäY(¢1qõèè”,ûw•}º“:úÔëkX–—•}ͯþYÉùbùŸÉtk4‰fQÑÕð*ú¦~n:oO2I´5™™,ÞRYøxO’FCÔÞÄÖö&:–œ—ýi[ò$ù¶'Ë[Î UyÔ:œ‡•9çÁï<«œ‡*Ÿ0YÎC•O˜,ç1)ÅpÎ#K¯‹œG6ï.Î(èxáôžÞQFD£®cÌy5sÓ’Ê(?|dyòHÕžR¤ª¦›|G‘󸊑êr¦lâ]eÏÞŒx5Oi_,/t53W?ó®ç!ÞÏ“-ó®~V®È—\‡Ì»¬SËS¶ÿ‹œyÏ"ç„êlò%væ| ÿž¤yæKÒä"ôò%i20zù’4õò%I½.ò%Ù¼»;ƒ1¦‘/±¯i¤z5ó%W?RUËÙ´äwòHÕVxëê^¶:ô=¸úy½"_RDª“Gª²ŽL;S3+9_,ÿs53%ET”¯W™¿'Qï²Uä<®Bæ=­NÍ:ç.ëÅ´=YÞrN¨Î&çádÎy8sÈyLºþB﹘Ér“RÔ{.¦ÈyLÇ»ËÏYæåÑ«~Ô=Cà\Ó˜ójæ<®þ‘ùÉòä‘jeJ‘ªšnòEÎã:Fªó^ͼH‘jžr¾Xþçjæ<®~Î}ÚþgZ>gš9÷ôþG½ãa‘)¹9÷y?—¹H9÷,rN¨Ž¹ïòx˜] Æ×®°ÛÈì½ÖävU|šíÌC¾“Ýqðw/±ÖIž.g{ùïND­x°ì¶ëìÍï߇3!ÁõìO0Í›ëzÞ{š’rG±kÛwéœ[6úô 2‘£“<É’ÝeÕ&ñBÓ[M=Iä:‰WηfÍòc)úx¯q•y]³p`rÏ¡‹ûd+–§m&‘|½{u×JLSö'ãÊ·Úš¾5~µë¼}ë4ü¤-ìPÈûI ü¤ò“Ó·D9™d½äU³ƒÓ[Wpý,S´W¶'²LY3™“Ö{uyŸwl:Ûh`šöŒ·±ŽÂÆ:6vz+ø®_t>-}ÌšQš¦˜Œ÷ªÈÈÑŒŒâ×ÄÌ;2Ò›i˜uä2ɪ‡«f³§7ÿv=,–^áLÍr,:¦ŸOÈ×§; ùE'•OŸl&ìzÄöz¾uz2«ÉÜþû»&y7M´wô½4}ãHu-G€(æ[—‹iŸ†¨õ´¨‰mÞñi«iòï‰À4ñ»!ð›Šðªá.D¸Öๆ>ý%òÇFdrЗêI",'g #¼2-wN5¬ –â$ét ÷ó[è®× ¯Áû NaÎñú}¿øÕÄ|tvJÛÆÖGó+„bA,ã}ˆfüHÚ§»‡jzRPÀ-ùµÄ­·æQ+Þ+W¼W®x¯\ñ^¹7ë½r-°úØk¿B­·§xûæ|­$ywÛ¤”Uol›§ýÕåð$5«$`Ö–?¨ùÄG;œ‘ÊÏ3„ßvâc=z­Èzí©ÖkGÖëLµ^'¢ÞW¾ί^Ñ£„ë|6…:eß®õól¢?c%θ–¡z¯aÏ/q‰îÿÑÄüúv†¼U¸t®c¿õ Påã*ñÝ_º¶2ŠÓgttAôé‡~Öê°¤:ì)ÔaKu8S¨Ãáê`õ¸t”zŸJÌ]ª#w ñ½ä¤${^òŒ–x*ŒlK’Ýã¥@®ñD¨‰\g%øóFIjx'Ë!EÍ(¨Þ>·rÜG<@º7.AŒ–”cÈßS³|À.½ŽßNI4°LGÛµ¨sw3>#LJÝ¥˜|*Ü”¶¸Ò$ŽåK_H#vÆÑ»>¾2O—CWf‡§•O5¯ChÈØÙv2Òj^…óF¢vY‚ýSéó21T:&EMëI¾!YËT«…ÃZf-´–ÙSÑ2+•–%IJ¼–Y!~†¯ÌOgb-³SiY’…Ê¢e¶§«e¶+„½¦Ú×tï†èˆɨ†ëKÒMÕjðnÚ ­›î <`:ùÒÕÍeß(ݴ瀧—³Lg×òÑMÇÇÓQÆ—‡¸Ãé$Ó¥(tb=£“Ò3ªV´„µÏYhí«ÌÀ3¦‹¡tãÏeߨøÓ™žÕœ=cºØ=]üd¨ï! ½¿ ŸQëXÕ+Ãt> û~ó™ bN>jÕ™Þ‡oã¼ñJ‘´óh^7÷¬.Zè28SÑ…¯ÐßèÐ$G’¤ »”ìÓó6œ·éÌEx΃Qg4J@ɽ%în6ïÁ·ð7/jüô—?÷æ— uK1º6´{Žpé ¿ôWú#¥ŽÜƒ÷Ñ羕€ É÷—è\9Ρ`{P¢ó÷}:§_‚š RŸ€ªQ"ô›´üÑúÜj"fQVQ;¾Ž¥õ==r_ytNÁÞö`MÂÈ «x¬¥S(Ït3Vz=}aÕMû¯º¾‚¬AÚ~DÌÊAþv×÷IkñÏzFÖÿu#„&Yrl<¥Ød‘~Ôq¼ôJ@ŸÐ•ÛT(ÝEŸp+ž‚¶uGÑæuu6küIBˆÖñù¾-íĶüÆm9„Ui§¾¯'õ±È/ðû¯¹x€•¹Ê\(Ê’ÂbAö;ºìTö@Q62—°ßÑe¤²!Ý ë‰*!ßÂ:ñš/¨ä¿¦GÙÊÌe¥0¾*ZadU´Â˜†çîÕž’I%Ù¥¯ÅziàuiÏaÕê<–Z|¾kk±ÂÜ‚<÷Á7½F¼éDX™#ÔF¸1twã&²²ì>ä\q‰¡»D}#ç±æ+¼ŽhÏïÀìÂéâoG4¢dgH4y$ÔÉã\‹“AfÝðšÈØg<…6b[ý x‰OÀ|˜HG­„à­kxîê…o°qXÚQ¡˜ïXÍÏ[¶¦ìƒxç4F,êšx%[jþIu¦ƒÑLï“õG—Qã#ž×ò8)*¨ºçBÅ‹ùר1f¾ýVµ÷ud{_Gâr‰KüˆPî÷$§Ë¨½õÙñ8œš¬ÿY8<ÉVK±‡u¥8™Ã‡ŸÍ…Ó÷?ZÂÃ<–µu6<ž\Š'áqÐïÅÐâ,V,¥Žâñt-õäÞ(›¥V{pLc ùîç×ô Õs;qQšÎŠ¾Ì ÄQÑO—ð9²IWS­P­×œUÌÄjÜ3J¡Þ©æ^ª9F†pÇ™Ÿ7`Ñኟ`é .Ü¡qðWõý ·ϊ×H[Òæ:ñ˹# ]K¨o™föÈ/‹þcmXæ~±ëÙÚbI½·„oËŠZYb —ý6šϧS*Çô¾>‰±Q²é“M$mùciK ¹g°Q×§1 ²‡,eˆÏœÅð\ŘŽi¡ÿÌÏø³vûôò­Ó»ïü»‚7¨´:'T—hoƒs°Âö5·êõÂÿ.>?ÇfbîCË?=ñü"[1â4–=—ž^KI{MÿθgÿH¿~[º×Ò¼÷®“[¬æ‘öÔ(ö-, ²$öˆŸT=éöÂ÷§ñ­fòdBø}wüsÄÃ9Â9Ò6¼Ãdd‹ì¯e0íì¨,…̯šÒ³´}DY´°?²£öUPٻжá9¸»‚•'5\ä\ƒÌc^cò©ÁÕp‘s òóULGÂù;yr¸äPòBQRÎã1šd6‡È@ô]2}v×Eè.KÙ~‹«‹ð*ú®á® ÿ® å]á~Y ¬,e_øõ{¢å”×óÃö•Ÿ)¾ 3–if~±µÀ¨ŸøëéÉl9¶36â»ixÔîõÀs÷Fè7öÕ[—µk+å2;M,z‰kó©ArΧ9&ϧiUtçÍÓ^Ç;{ûç—;¦9¼´Ê¦éº¦7Þ1­á¥‰6,“,\Ä©àúE®ÙèÚrÝ.»vÕ±ôZ¶ìjйè*gÇkÍöùåZsïür{ ©”M·æzµñþY¯íŒ½‡«»§—ƯÖxo¯‰¾ý*Œ¬FH>¾2ØL\Ì“×è®õ."óÅV»KjeÚ¶U®{–ç$Õøÿdœ!¾‘ç¨K~$Hf FH2ð³*/a,sýÎô»,a]ã´ºì:e'›4À­ƒP¸–؃¶â[0E§ ¿62Uòß[óËàÔƒÖúù僇ûX<<€C{zú }@ŽkÛ£Ëá°ÿ¡;Ö‘>X߯¤¬Ž/!ÁGÿЯÍóKô÷ ôwü°½ ík¯àø¹¾†ªmµG—õñ­ª½ÑZã­ïŽ.]Û©»]«>†Î›¤ÏæøñÖ:‚±}ska`Ž[íáe½2nµaê«Öp3ðãæööùåjýY[ÙCàý)zÆ ÀFŽŒÃñÖîºr]9FWðnM¶OÁ¸µþ÷lue(¯ ;ƒÚxu} ·ru5}ˆètg¼ÚÞ€Bí\koÂauN®~‡µ]J`£¿[{P¨è¬6ZpØ%'ÛÍîÕ깸G¨ïµI%;„9l­àVîâV™ãõ‡Ö貆6&³þÐC´ÑÁ&ÆZÈüª °÷ÇsYaÑ9ÿþ,1³&ÄÌšf·(f ÷ñll±Ø¸›A 6¦›^OÀÆŒÁ¦W#Ø8vjt,—ÀÓ!ðt<5OÀS·›_¢Zºãv››j^ _ôü¸ÃâçÛ‡/Ƀ‰š¶‡fGMIÒâД$­“¯v„ÈÆ†!l7WÉ•69ò¾C!]}DNú>´ £$ì’Z0&ûÝÄk­Kkèæ«·N/£ÞvÒêmF·)F›[Áâ¶ {Jz›Â¤ÀÆœ6™P~rö”óGèvHÃ2K¬[iägκÅLú: ó dC” bJö‚Z +w”>P¢´ºÖÅYã+‰“;Nï)q¢Ö)=Fs·×q’ä„<‚7‘¾mÂúµsãâJz|KŒE=“G`ê˜:&u¤©«p{ÆzqeÎÉ]á–|œð€g3 cCðž›Ñ³™“@chLI 1hnShV`àTÎ*¬G@ Q€Þ¡éy4ÌRŸŠK‚ë‰ÕÜ€`lÇAÔŸ02² B6AÈ%¹!— ø0[…î WЉ4²qóž÷à$ks“ÍQê`‚áQ޳q§ÃrGž>ÀêˆËQ;aÙlÔÂÚt0¦ Y‡Ô¶EÛ:ìäL:ƒýÅNŸY·ò{þ%ÎO×”ëžqbŠCÜN“0Ž’Zp¶Ã£ò$ßã| Yµ¤ŽRckÕR<Áàãè&ç62o'“N²B½ªb•¬I€ì "›4ºÇ]$sp\¸ãÆöúùeƒw¼hCBnÄ=¢4ì†GÀG‘W(OŨƀÖhÁž)V‹\Û$‡}|7øQi}àؤ&ñWE^ÉÖ$›4 ø-ú¶ÛbPôé`çŒÛOáÔWýÊ<„í¤¾Bb˶«h<ø¿»Fˆo¡ïšx –ÙbÅ„ÿÆÜ%‹]¢û¯àkøš99+# v ÿ×à—# 麬äv_Bÿe¾µ(zaQâ¯dã›Cøæ|K÷÷(ßÄ×/ˆÜ{Ï瑪Ì#2Ù8Ú!íMÃÑ›¾&â¹ì:ù0zÈͰkb®eãœK8çœË¢‹â+@(^’.ªË<Ò(3‘uµ¬‚¥iXÄVØÝ+X¬<¤)~vþQÄùlìò»¼‚[Y¸Õ4ȻמIÜ Î?Š8Ÿ[U­jÁ­,Üj"}Æ•àü£ˆóÙ¸U#ܪÜJíw)·6üݼϤàä]ÊU‰G‰%²ñ²NxY/x™†—7(/Wa2õÔŸbúO…øZ'ŸÍƧáS¯àS>-ùƒ;¬+dûy@\‘äÁ•l<ëžõ žeñja½æ äÕ‚ó"ÎgãÖ€pkPp+Ë`»L«ø1þM?:ä¯=й–sC¹¡Ð°Û¾ Œ®±n-üœÎm_läë®gk¤E3½ø¸nqˆ6Ömá—#ür…_{˜êxüØYÄô&Ó¬=_%/ NPÒµTÔM³kk ¨44ï Ð<€Eg¸l$G¯sfÙ Ú{˜G5[¥âÓªd^ð.QxÛ°µÏ9hRiEÕšºSGr!öÖ®±«®?âU×£ëu®%^­°‹l·yþbÕ¿µ?À%5Â̺zÍŸ—ÜòÅàM”ãÛŽ’DA%ø6K·eÐ`»#_¬Œ#UÆ,ײ‘úÄš£%‹Ûöy›Z¼Œò9,«:3Ò§Êž&û#»nv¼zDçª=c& 3/XDéÇ‘Al™ì°I¸×*=‡­Cg^}È…ÜøEžôEiÏWIN»4¢‹t¬áQ‡ý!º,^¬ËwÆ:îœ+šÔïQ¨ñ•.Î6Árª0ÈJûgšNM¶bD6®Þ©FùAVb,`øÖjÌ­–Ü"-ó½ÐÍŸw4G^,öBŠæ\UkêU·bI àø Ðí×zžäÌü«•ž=°*ÊŽ †ýn¯få|š0/v|@Ù±ë”a,ºõG1I:j›N/£øBnuëU«%äÖÀº^„W:ƒžiE y˜°%·HKGºùó 6Öç¶D×íðØ"@BѪG¥"‡ ’øÆê0 IRqT(†þ׎µ¸ùóŽ$ß„ÜäDæ“E’-úòR?ž'$XúJÜE§½ÐJ#7­JòHþn4ÖÏ/7ܼæ`Þ‚•ÌØû¬¢¿ç°Ã)›øƒtŒ³ñ~ÕäúÚþó9 7àM»$°…Œy¾nDßP²¾ö*õÍ ÆcîÞ[½;°‘Ñ–±Nïù ãÒ¨ÂÕŠa¡iØÆ2úÞCglx¿¹…ßDWCçªèŠI߆ŠKVÑ_ ]Á¿ÆB­KA=ã@´Æ_1L¡äM®äcxæÌxFË~·H(ý.Wš-^:!æÛ¿§jxÒ=ˆ*6ÃÆäý¨ÏÈ D›Þ…wí=…7{»Ð1Üwêßáw܆½ÈN‘åˆ*/×ìc¶N77éÀ †Ó72VÁ]~ ¹òŽÔó%ÔšC@ \xŸ+¹‹2Ïèë8Fº²»,é.ò´ Óù wÝ0þÂH%G¬÷=x¶þÍ"c-è‡î_B÷›ÜÇ1†–›`«ã) ¹LáP8¤YUû¹»¥;É[æûÐ Õ\Ë%ì6è ” Íï€Î%õ=,måWˆ]ãwˆ–Ó{ßF­ÅqîiÈ"¬×Î@Ú yg‘’ñ!{’–<‰”XùÎ%ÿNY¯å’?@H|…Úß. §sB¹ñÕqˆd—l t„dò9hü :Ç[¶G¨ü.y‘Ör‹³¸%Îæ‚‰Î`[°†ëia ëÞœ•w……^ ]¬¼+,ta¡ ½ŽJaùçøéoqN,t°çâ¡Ôl­uÙ·ºá¢OÑ«åb­ã¥X–ÁŽ4¿)ܴΚ/K6i ¬‹+Ù¾l”ÌUcz¶‘BÀ›‰ì1y* ²’Vöغ"êUÞ8Y«Hs¨ùÉZ-µ¬áhľÂÒö•6ÞïÈÑè;TÞp^ùk¿ÎØ‘$&:•óŽW7•û1ïH´Xe|#QKÒí"¶Ï·{Š,4‡öº…j¢×ÛB˱fa¡ ]Xè"W¯…~7°§F?ÖF¿/p±ý"ïg9äÆm·…§þæ—-𨠂õÅ6ºŠ>.*Ϭµƒ¾á÷@áö1¹©}¸ÛìɲžB ‹lA8>PIKÙ{üÊ!è‘@Í(ãOH“¥¨kÔ'{è/öÝðù.Øi&E87€ehˆdŒñ—®¡ßXöú¨üxH&õoÁ_G}]Eu ¡Ä3=Au€w¾ìú}æ·ëä×~MoCßKø¯@õm£#ÉÑ7PßE)zÇèkfÞFWãýXù RrS9vm¶ÖÉËSCòú –Ë – ìÖI'ê«HüHŽÈäùlÝX&ÊOÇSº3Ð0µÜˆxÙÒ>Š0^BJ2Dö¾‹P;ñ£SеqOæWf{å Ùpýé‚´_WGre r…¯÷löŽuˆ£û`·ä1ÊtÐL‡„(A]ÅO€ús„ü±/ïáø½'Q×¹+Gk™JV¾Å¯1Í }ÄWɃEù» ‘PÙy¼Zó=–#õÑ?$i² öt°_BcHfÝN3k#¶Ò.º>”I j!ô<ì¹r@Õ_1Æ<-9ñ×j‡Ÿ ßOn¤¶‰÷<£:+ÞõMRÙ+õA«Ï4kz—+¯_˺Ž18Beú–fï‘Ù‘¸Þwé÷>º¦¨ÞÇ×"÷ž§/öþƒˆÞ?5Ø{9£ÆÄQÈwªÚ÷ž…¤ßW"¡SÛ-p=rFGH× ïV·NÆ1h¡xŸª}ï*Ј¯í=%É5Ýë°Â:ßB×_Bf¦ÄÛ­‰-´å[hwá,tTŸ +]XéÂJVzñ¬ô‡Æ&¼ˆöéãÜùK°t¸<Ëg„Û÷G¸öÂpuú/òô”דb­ ÓÔ¹óȦ;ßFwBY?/'ɉze~#¸5@çú˜´ |isNÚTý¥ |'`ÿÜAätü ‰}ÐÜ;¿Üß^ïQ> ‡qpÎöÈ· êd®;°Ö¡.å°±¾t„õ0· ++’n¼9¯¬Ê%ß@úò愱ö\øþ2¼&`‰›÷Æ–®é‘§•;VñKäùÛˆ>~¶|Àq¹rJæeÉêŒ,£œ!¬I1'0îxD3„9ª`.Ô„QæÇ|G9êÏBãÂè@sÑì)ÿ}­ Ê/ðóê‹4Öz9Œßƒ!xžÇs%vu‚,8ÆÝ5.ȼ ô±Ì»07åïÀèbîxèZ"/̉! ß› îñ=Ÿ/8ªß†v²úÙ¸îDŸ!$z®ïDÞýSt쇂—ü–ñDIÀüd£‹É%ÁCm®« ÖUÀ 錔 º8I°€ã¬½À+.q4XƒPÄ0-Iˆëùô%áCàw0®ã%A^cQ—äà¯EÞ½ö"I>0 »^Âhq÷çaøÜ«éç^…³Çɽñ*•æyÀtô¥¿ÆâÛ¨GeˆÎ¢?•¹x‚%¿—%àà‰bÍuZ¿k/°ßUõw¸ß6¾4ðNSG9hY>Æ­lÅÏVØ€>~¾­ 6[å Œåº`o‡0º³a ‡cÏY ÝëéÛÛPRwZ¯û¡òN]{ƒ®X;5åÇþ³âÙô\ï&á1^iFF|乄ðˆ¯:W“û: }S£~[<;‘ͳ`=è2÷díM´°²yl}ß¼ðîõü8ñ>jç1<B®”üUŠY­ èƒÜöAI}Ÿ¾-üX¼ O`–éžþÏ#z‰£¯²¸ždq¿sÿYܳKR¾g²Àx¾‚éÿ x½Rp%³¼ @rLX«Û…<[dʯۣQ.þëÁIlõ/öµðØx,<ýêµè;Pê ª‡•ÒãÖw”w¾¤Gy÷¬g‘¾e¬Aý/Q Oýu—ü¹,¶f£Ub×{4ΪskJÈ3&âõ|Ÿ{:}Ër µƒÕæ=Îô3‹áHO.~_ÄÜ5„œv]ƒ¿Âzs‚Ë ø<ìJr½1ub¬:p½9¬ºÀõ.d4ê×ñ¿!”MnC§ÿ×Qð3O/’!c³0le~|ÎrïñVZ ^0 ËÇtgÚpœ2;:„ü?Ž&p“­Xü|[fªMð%&}v©c?Q¶Þ)èq–[ÞqlZëþÓà,G‹ä)qñy¶SÌ&põù5*\|Ò%ÿ=ä*¡{’Ÿ ·¤;’ž Ç#á´Ï!É+­Š'ÃÉú±âÉðëódxM’¾ù>ïöVÄ3nj+ÌvóÜúxD6ëõ(×ϧߡcú–8ü¤na‹ [|ýl±þ³Ç³Ø'A°ÅãæÊÞùåêÚöèrHÿ7ȯÕï÷¬q£é[ëw ëù$Ø€Úë·¹3BgZë»—渱·:‡Ú;£KýÚ]¢:ZëP¤Õ"×6ÉaÆ{û«ç—¬¢ÐÉ‘q<Þi~~ù¸‰ÊÔÌñ&=DôLôe µzok}tYöÝ!dìööùoì7Ï/;{¸}kÛÐèæ6ô¤¹‚Š£»ä\‹iîÑß k¼ÒÜ&‡6îôÊÊüZY‡C‘ ’ëø†ÛPÅgÍ.=|l“ŸÉ¡‰ïÐØÂ‡ÏÚ¸L7ÈÏ=Lî³ö*»ÝDwqã´·ñ¹íö#|X'‡í6p`­½ƒoÛXkãÎì´ñ¯í6üÚÜÛÁD6÷ÈxܬWp„Å]ãý4qÚ¿×rèN|Ø__â}DÀïî¸ç—èÏè²2†Ã,r0¥:6py$>ÞÈènì®áãÞÊ6T×| •ㆢ‹;»è†Ýu¨mÜ|° Iœ¦ÑÇWBF{k lnm“.úët»2¡U!rÜ{Ÿ.22aˆŒ§A«t:l36LŒÖa‘*v¸Ûí÷ö}{åiÙçp5Z:àÜFÔ. ²Âzz²Cx´³’²¾|XÛÆš¸É­}Ž/ol£ ´šþ‰-8ßÜÛôÏJžAÉW[MÐè=À´ñp·¾µ‹ ÝîÀï=Ü^.בô=<À_Ìk ̧f]°ÑvÇÍ òkƒüj_ òkÕÛ\E ÜjƒXmoããÍ&ëºÌ–³EãÖø Ž–]®Z^ŶI{ºC©I{0Ë^Õ¬;•ñê—ˆôê— «+_"Asô¬JÙtk®W#t+ãý&:ÔËu·âÖ*„jÏt-FÕ+×MǬ%Pµm«\÷,Ï È¶át­lzŽg×(a˵…æºNaÇ h†èÙéH@«êe»æ:UÖ(ÇuS6Jê­CQ u×u½t8JÜq(Ž{<·’Žéžˆ¡ @Å­* kXL±‰ b ò‰zÕl†i7[mÔƒñX’Ë–íׯ¢úp¨ð·#ĪXÞ€ŠU/»•Šc'Ó’ˆØ¶ëVlJ¤Z®W+±d*¶HÅ­Wª¬%•²çÔ]«šLĉÔ*5ÛaMñÊVŲÒ‰T\žJ¥ì8Ž[u)§\óL³¢±'R©¡ÆÔ¨ø#Í©XŽ£A¤Â©–=Û®›JÄ*#éô*N2•*O¥V¶¯^§D̲SwO•O¤^6‘"Õ(‡¨Øžíhp¹.©U-ÄB¤Vö*VU‡H‡'‚zP­Ù&cPµ\³L§®ÑŸ®@Å*WÝ*b£bUkU¦ô"È VìºG;T)Wª®£#*} 1WϨ8&? =TÜrݪÕL—Q1«UW‡ÊP "»¨øÛÁ[… KØ%%Á¾IEÆ)›5 ñ:UŸ5G$ãbî"j©Fd\‘ 2u²—^*n#2žH¦RFºc9•4’‡¨TD*Õ2’™:3ÞšZ€ÈTE25T¦†ëO£’ˆLM&SG1Ó™D¦.’©#}rM³–ÎV!:‚…°³ìV±¥Ig8®HÇ*[–cÙõTV‘éÉd*•Šç¤t)ˆN_¤c—QkªU/ƒCt2Ïtìz%»Et†2ÔÏuÒùþž…FÕº‹šã¤ DÑZp±fÂ8pU˜}8lU;b#œ§’ÈG²®È|™H¤=7™N%ŽÏÈ~¹äÃÕÀ‘Œ„$wÈ€ÕœZÕNd#Y I°íqëu'QîÉLHj‰¬†S«TêÉdb­úé¹Èuh4§gµp/ÍJ%Ù¿8’™Œ(æ Q*lïÇÙtÇ)»NÍN¶~Žd&$ã /Z«WL~ 㢃ÂÛIæ—d&$ÿëxeÇFF=Y½$;!…ˆN¥îÙžF{ì¸èÑ©£6&{+Ǔ“Ј6Ú†­Oxüš@edÄ8R»Wžh4¤ VdO´R„­ÍsO4R´¯-‚^ìÐC[#<ÑbˆÃ mýôD{!ŽÈ´­…'Z ap¨mº<ÑTˆãTmCꉆB2ëZuO´âè]ÛÅxž”Ôà3 ÚÏó¢“ÚÞ×󤤟_ÑŽPøêÑ LBßÄZš\?Aè·ÁÖLBì=“Ѳshƒh|ä·‡ðòx7æ6YRxg wÉËI¡5dU‹š#%Œ¾´a‹P¼$sžO'QÙ vö9 nJ°d޽šIÓ)ís®ô#¥` µù˜j1îßaB­ ~»¨g>BAÎHi°í¤:€’ø8Òí k^ÊyWFPn8íbžd/Rw‚6œBý'P¯…ê@_:$˜÷uŒY 芿nÃuÑò׸.ZD¦Ã"wï¦Æ>àxt¸Î¬ÉCŠ}´l3î1ê|4Â^ºÓ…É ˆò±,nH ÷£ÛhÀ©€<¢È …~ÈÖøŠóèíKJ3 2…)°¶ñØžÂYæ®’ïÊñŸ=êÝÉl=büoH ÙN K –);`°D}2E¤ýþâ±$‘Dâ)‚²Ñë¬Üªûž_Q4 bûWz[`Yÿ>بï#;§ºöTº¶dœQí lù}(ù9g{¡Ý/a —¯¡µ§ÐZ²±DŸ7üÒ¤ì×ð8xìÑÖcD÷‡RÝäýœùu¯À¹{° (öŠ{ä i©h×Ðÿl±s|{ÈÆM¸E¯Œ?ƒ-Õ­!£fEHkðÊÅÿküO8ógÔœ„îîÒ5¸_ѳ"Ïþ#¹Ï”|¢ëz|Y¾ü¶¼=¡V‘ňϨä+‡¾/dVïT¾Ž¯þOá÷)´ökÀczDÖs_:Ô.Ž}¸GùHÊá\Ïø_B›É¦­#x9ºÕD³úð0)Ξ¼.ßB" =N¶è¨™ÜuJÛIðMÃÍ-ð%‡Æ(RGÐ&~6üX…E%ðž'àÏzUt¡&RŠð‚áCÖü¦×ª¯…ZF­$Êj\G \;©0mÖ¿Ç gj!ò«¶k§èn=¼7aÍyG»iÂ’„7‰æOA‚OAFÐ/]=âë‘é…%¼©±*¬Ií>ƒßãÿ ¥áÂg»uèÃa%Ö¿œÕÀÚüWæÿ6ÿ3úûØþÞŸ˜ÿ¨uÃüÙð¯ÌÍTè•Ì¿m>1ŸK¶¥dþ¡ù—æÓæ­Öoüƒ×ݦ‡’ùïÌnþâ`iø©0Yƒˆ”!‚=td¯·´kìÞú{?þÅïoM† ¦e&‚Ž—øßÿúgÿ)6ŸC?‘â+ÐLÞÿâ_üÑ÷~þ?ÿ]£ôÇoýý?Ýÿ¿þ Ô“_žýüõøƒïýÇÿb”•ÿúK£ôo?=û£ïý›BG _þKµäÅ¿“ êÍã¬û±€‡˜QÓŒpÌÇÆ±bd-ŽÞ²D¢$ïpa­“kˆŠIعxD—Œ1=âóä%!ÇÐWr}üD× 1ß*Å&‘^µ‘(/çQ¹˜ç4Þ ^+#ŽBy]ÄÙ°§ ãëpÇS˜a"³:b\Û¢%Oi6FUþŽð«­hÝ ”ú}ùWÛ¾• ƒI-Œ.u'e}:½àkÖíuš6„9l3 fÖø–èß•¶="º:mÑ»#m;ÈÈÓ|¥ÄZ–Ù¸²ñuV6œÿÑå8¯wç~Ä~[&¿pÇ_Þ€g ž‚½ß¦#³—yj/°`™Mìw.¨•a4D¶ ¸ƒz~ý zÄêcY&VßÚ‚ŸÐc™æHžBtæní—“SàÙÃ4>1lZ+nÅ6d†1k”;wuŸù–ö¾¡›5Ã^õŒüM›!ÖÀ{â=n×f¡ò,*1Ñ1óÿ ”¸/åûñY gùƒŸÀ_ùƒk$iª[Ix~߈šÇê—gó';Ð*Œ*Ö”Ó®¹Zɪ¹Ä&W‚Qä=®Ä¥ñéMÊÃkÀá‚;s´A¾ÿ„»¡ŒqQ÷ÝzøõœähÓ£C®p_öQ’IË<É’˜¼›tÆô‡\ Áp =8×G‰•½ˆ({!•;‰HåÂÒ/ÞÅfç÷@×È]r\-"dM!K@ÈJ@è1²B'Ry”¬L(Y1(ñ#%{ (ÙJvJ”ìX”î"˦GÊÎ$OÎr¤œç¤@ÉÉ„’“IžÜ) ä (¹‰òt¶yïˆÇJu‡ ±ïs#^R* !~äÌ#Düx‡®èÁè†Ì“ȱµâJ †˜žgaß‚e'mcQIj~&qDޏEáRxuösáï&ü=¡ž/,G¥ô…äƒxà:´ ƒZýýðªUtî·}^„gÉîd­QXÿIkcÜ?É•º5UêöT©;¹S÷Ws”õÇSçV' ôIÌ7)unUsˆ:]ݬŒ(ɺ«SI3åñk+]ö³}qö;(Íòr\+æäXùä1£^…Ñ‹;’6ñ}RÅåb™“P6?u䣨æá諘ƒÃc“s™àòG0~ üzˆ{]y’m¤±~EåãŽht¶†(®ÑœÞ¬‡¾Çi¡Î·» c¶C¦}®}… $ÊäFgÑ”€ÒA”Èfx'ÀíSÀuW÷(}22{)S;ò±&/êj•Jg¢iÅÐIG«Êôü‘d-ë?m‹¡öÄA´CVçauÁ€;#k¯e«èóÅ ½ZŒÙÔüü¢ú„"BÇg* ã/k“w^äMð ÅXazuÝ|¢fmŠq>S]8Kœ÷<ᛵ)¢óiKs\óZõ®cù³e„’îÁS'îAD¯ÏâžIŸ<˃›qÏSÄï÷€ï‘Ÿž OÿFó=ýÓ¾e+Ê–’²e[IÙɲ£ |¬ó¤«£Ã5ëöiÒ¹¾tã)ýgæîS9ÅÏd.’ø›¾Nê??wŸâEjbOeçY“Q“{MŽ€ž“3zªgìÄ>åU“êy» O€Ù3 Ù>¦Û Fm/_ »Ú÷ŸŽÖ+q÷Ѝz¶ ²ÏÆk…-÷e˜žÎ¯Žhk_Ñv;¿:T\~}Ò:\e¼¥†Õ–k|,ô)x4¸Sµ¦KÿrBI“–”kÜLY#ÉG\hÔhÑ’r}…&%Ó™¤}…^僪YcXËâè¸Ú5z‘5†u.™:5V#kTÈÈn„øí@¯‘ÕfO>¯€ííÀ¾P}ºÛNŸî¶Ó§»íàðû®ñòâHõ*¿Iïù-_ª>¥tT4¬H–‚†¥”"[AöOÃòiØJ.©h8 '†~"ù(Dã±ñ#¤ËäþÇÆ=¨åSƒì{Eã‰@ƒÑýØÐ{þ™/UOmcžŽè.󄿯é¾MøÛ…ŸŠûÎ~=¼ó|°×š©ÜÙRžµ•ga7ϼ©áŽñk‘;’ÝQÈœŸ£3(rÁ»ŒÃÓà¿‹>bëqVÇ©j¹ä¾/ìÙs‚nÕxÄ=•Äìù$£¦ªQFq†´ƒìJÆx$ž ï¦h…(.+(.§ hçNÑÉ¥×ã?’s:yftÂuªó:÷ý¾êÝävÄ »ê.òΡýPÓxi5]ì?²Ñ-w}k&ÖA4JÎùèdë…¿ªÌ­*G¯¸çaš{ù¼¬:›F*ãe+›DÊu±»xŸsud9¹½©èÊ1yt{³ÑÓ½¤Þ棗Ñ:¢'«QZ’înYOtt,JKä¹+bË?†=IIw~Ã1ȧ™5Dž…"WŽNɲWÙ§;©£O½¾†eyYÙ×üꟕœ/–ÿ™L·&ñ@“hV] ¯¢¯aêç¦óö$“D[“ù‘Éâ-•…÷$i4DíMlmo¢cÉyÙŸ¶%O’ßi{²¼åœP•G­ÓÉyX™süɳÊy¨ò “å°u¹˜öiˆZO‹šØæŸ¶š&ÿžL¿¿©¯îBä€k žkèÓ_"qlDÖ!})¡žt ¢Árr8É+ÓrçTú`)A’NA×po0±Õxîz òú¼Ÿàæ_ ßð‹_MÌGg§´ml}4¿ÒøG(Ä2þ7чhƤ]ñxº{¨¦ ÅÜ’_‹à@Üzkµâ½rÅ{åŠ÷Êï•{³Þ+׫½ö+ÔŠp{Š·oÎ×J’w·MJYõƶyÚ_]OR³JfmùƒšO|´Ã©üÖө׊¬×žj½vd½ÎTëu"ê}å[áüê=J¸ÎgS¨Sö-áZ9Ï&ú3VâŒ+aª÷öü—èþOMÁ_ ogÈ[…K÷á:ö[ŸU>®ßý¥k+£8}FGDŸ~è×aM¡KªÃžB¶T‡3…:®VKG©÷©ÄÜ¥:r×ßKNJ²ç%Ïh‰g¡’Áȶ$Ù=^ äO„šÈuV‚?a”¤ˆw²RÔŒ‚êísK ·Á}Ĥ{càÄhI9†ü=5ËìÒëøí”DËt´MP‹:w0ã3¤Ô]ŠÉ§Â}Ai‹+MâX¾ô…4bg½ëã+ót9tevxZñT£ñ:„†Œ-`'#­æU8o$j—%Ø?•>/ÓC¥còhQÔ´žä’µLµZ8¬eÖBk™=-³RiY’¤Äk™âgøÊìðt&Ö2;•–%Y¨,ZfûxÚ±ZfK±BØkª}]@÷nˆŽ¨‘Œj¸¾$ÝT­6 립кéÎÀ¦“/]Ý\öñÒM{xz9{Àtv-Ýt|<e|épˆ;œN2]ŠÒH'Ö3:)=£jEKXûœ…Ö¾Ê =oÃy›Î\„ç<uF£Tð‘Ü[âîfó| ïpóò§ÆOAùs/`~™P'±£kC[±ç—¾ðK_p¥?RêÈ=èq}Ná[ ¨|‰Î•ã ¶%:ß§sú%¨™ õ è %B¿IÛɯá­Á &bEaµãëX:QßÓc!÷•GçìmÖ$Œ ²úÇŠP:…òL7Óa¥×ÓYÝ´/ü: ë+Ȥ}á×AĬÜäow}/´6,ûŒ gdýY7Bh’!ÇÆSŠÝHé7AÇK¯ô ]¹MeÒ]ô ·â)h[Pwí`^‡Pgã!±ÆŸ$´hŸ¯áÛÒNlËiÜ–CX•vêûzR‹ü¿ÿš‹X™ ©Ì…¢L ),d¿£ËHee)cq û]ö@*{ÒͰž¨âò-¬¯éñ‚Jþkz”­Ì,PVQ ã«¢FVE+Œixî^í)™T’]*ðZ¬—^—öÖY ©Îc©Åç»F°+Ì!Ès|ÓkÄ›N„•9Bm4#Aw‡0n"+ËîCΗøºKÔ7rk~°ÂëˆöüÌ.Œ.þ¦qD#Jv†D“GB<Áµ8dÖ ¯‰lý'qÆSh#¶ÕŸ€—ø¼Á'€ù'€tÔJÞº†ç®^øñ‡¥…ŠùŽØü±ekÊ>ˆwNcÄ¢®‰÷P²¥æŸ„Pg:Íô>Yt5>ây-“¢ò‡ª{.„Q¼˜cæÛoU{_G¶÷u$.‘¸Äå~ßArºŒÚû1PŸÃ¨ÉúŸ…ÃÓ‘lµëqXWŠ“9|ÁqøÙ\8B+lWóþúhº’Ç:¿›«ß¼¬»ÖÉ!-\¹G—iô¬jeO¤Xõ“Éf 9ØÏ]“WÎÈA²\ö\L›fú[xiílÏ££ýƒTs1öH ûQ‰lÄH‚اE‡ÑÐÿtìö«ã(S‰AZð§¦_Y íX µmkBTúÎÊþWºxœí‘Û8 FSHI!)$¤’FRHn›wóî HÉY¯Ûx3žÕꇤ¢úùs†a†a†a†axI¾ÿþÛïÇÿ»'UŽ{—áÙùðáÃo¿¯_¿þª÷Ú¾gýW9ª Ãû¼Ïâöð–þ¹»¶ŽÕo'®GW {>~üØÖÕJþîÿlúôé×ßoß¾ýüòåËú¢öµ¯ò)*/Îåç‘Ný\®ÚϱÚoù“v[iZ_Õ±aÏJÎþ/:ùþüù×6õOÿ-¹” 92b?çTþÈ™×þlôkÎ%?·Úåöìä_2òø¯èäÏ1äBµ ‘sµ÷YäÇ5à>¾:†>Êc=1ìÙÉÿ¬þOùwï èyä^«- ×Ú¶,ýÌXÉßzèû•žuÃÐsMù#×’U]ë>H_÷˜ÀyøY’Çvº!Û‰õŒå_mÄi ÿRuâþs´]ÍXœm§_gû)YYÞ)úmæ]×y,—²¬mÚ z†1Éêša†a†axEÇß“G°×§ÿóo/ïYòÝú\êkº6õ®x„ËèíjÏægHð–ö¾»–÷óüÏØñ|†yž÷u¾Ä.½•üÿ†þó\þô³aÏæŽM&ýwéÛÃäké#Ïú$?Î]ùMço¤Œ\ýȾ,Û/íßÚ¥—ò·âQÛ@Êß~6s?)}‰Î,¹ l¾ìçœô ØgX #ìvçQç´“ög·Ú ÷Bž™òîìÙ™^Êßuô¨ã®ÿuh½à¾m?Ž}{]ŒÐ.~È}Ðv_÷ÿJ;ëxçoÌgJöëôY]’Þ³ë@¶é.ì«)™áoqC–ü¿“?}ß>@ÇûXŸÀÎߘò'-üäÓÉÿ(½W‘?Ïöú›²±¼‹ôÅÛçúÞéô‰Û ºÅºvþÆ”¿ÏëäOœÊ™ôRþœ×ùÃþvì[K?[A}¥?-ýwöíåµÔmÑÕ‘ý}¿g\=ö€c¿¶}ñ³M¾‹ ½ÃüÃgggÓêüàÖ èÇ„çÜÀô-B^ëók_g?Ìò ¯F?œ£³« ÿ•Ý×v0||ØŽÐØ=ǧH¿PÆîÛgçsì·ã/ÇhØ‘ñI ÇtýÜ~×{‘òçún^§}¶ïZæøºyDžë—óÏì·ó5èˆéÿçXÉ¥ÿWvðô¥§O)í"û±c0ÎËvYà“ØÅ ÿçZòï|~à¹_%/Ï,Îôp\€ËɹyΰçZò/ÐÉé;/x†ÖáÎsõü_é·9?ÿ«PÌܯ5Ý»\í[½ãy|ÞÙÃçõÄ8ÔÏÝøŸgäû¿ËʱL{ä? Ã0 Ã0 ç_àk3¾Àç†>´’ãøŸÛÜÆøzä«Éø_ƒüÇøü\Sþã |<®)ÿb|ÅÊç7¾Àa†a†axn.µ•të†a?lÄ÷^Cã•ßvk­¬Ø½#®àýÜ~eûî)ÿ´3<3^×Û¶¹Âkð¬dlùcÁ&·jK+›œåo"eòú<.ãÊž`›Áê^(3zÌòÏöèu ŸÁ¦lÛ+6»úßv´î›<™†×ï‡ ¾k7]ÿ/lÓc[`ýOÚöùÐn}½×çòš„«ï ‘GÊß뎱š×Äzt¸^vßä2)?;WmÆrõ5üoäcö³ŸþIzì?ú¾˜‘Oî÷zx÷Œ{¹&ØÇ!û…e¹z.þ©ü»ýüÓÔÅ"ѯÑí¤ô ¹Ý1üÖóäÁñGg×ÿí{+Ò·’×lûw<ý=}GݽìÚFƨ^ú)õ¶ìzIpäG¿•ü ¯ãKì¬ÖœÎ{Í{ÙÉßeÈï ûšG•‘12éÇÛ­¯Ïq¯§™iumf—“>¿.¿ÕþÝ}¬®Íëòœ®~žaì? Ã0 Ã0 °š[u´¿›+ð7øSvq¬ÃïìæÖ­öyÎ…ç ½?Þ‚‘}¶¡åœXùçwíŶ‘ÚvÌ?ßå°ß©ð÷DðÿùZÛ“ð-q/–?ß³ñ=¿ê<ËÌ~¶Œ›‡#ýßÙæ­ÿÙæ»>¶ÓÙFkÿŒÛ"qþøz°r­¿Qèo 9ÆÄr¦,øˆî­§nÍY[;í§oæ:)@¸-`×§-Ø7‹ü({α߯›SÒí§Ýú»@¯ÂµåßõŸKäï9èîüÖ ¿É¸“>:ŸnÁ3éç _[ÿ_*ëmt°cmìÃC>äq¤ÿSþ´L“øÇ<²?ç=÷çÝ<ò¼6Ç;ùãÇ«ôsü÷èþÜa†a†a†{àxËŒ™\ÅÞŠÝûêpxç¶?0׋¼#ÿ5žßàøzæÇÑ™ƒc¿]¦³²¡x^úêl‡ò¼ •ÐÇ(×fù±ÿ:~Ÿ¦ËÓÙ£^l iÅnç59¯³©žWÇÏ~·\;Û?vþnŽ—í»öç’6eÌr¥ßÑý¿óUbS~vù§þ£^¹÷U O7O(é|;+ùSÏéGôü4|?Øfí´ÿÐ÷¶*?ÇrŽ—÷W~Ï2ÏoÅNþ–ÙŸÊ¥ÿSþ9ÿ×~dŽa«ç˜çòîÖ‡ÜÉßmH‹6öìmÀXÿ[ÿÝJþ…ý~Îs.ãÚyœÑÿmƒ4Ù¶OÜíï|Bÿ­düžò÷ø/çøÙ˜þÁb5þÛÉ¿ÈyþÝøïUä? Ã0 Ã0 Ã0 Ã0 Ã0 Ã0 Ã0¼.ÄP—~þ*ÖÎ1@G\⟿äÜKÊðÞßrKXÿ˜µs2â±(ߥò纎Jëì·º8”ŽŒ'>â’X@â–¼ÎQ¬ûQýb£àÚqôŽòwx‰ ìb÷)“¿ëî¸_ÊK|•‘vÎ ÞÜ1çŽÕM¼6keŸe-2Ç›ïú5ùŸ9—ó?K^ŽEº¤~‰9òϱQï±®Y®×F¹8–ëN?å~;:=J<—ïÛßþ¡-ìtñºÄ’yNAÞÇég»þCþŽ \áûNýâXÊKê—s)'é^Kÿg\~âç2}›6í}Ô³¿·áï)¹Ün]O»ûrÞ^Ì÷³j‡~†"·î{pæ¹âù29w€6”Õ/Ð.Ÿz-ví:û+ýÇÿ£ó²M{ÞW—ýûJY¹¯Z÷­Êêµ¢`%·Œ íÒ¤l9…¼ç•íž¶™Õ¯Ï#OÏUz+èÁUÿ?;îýùsŽçÜdš~vñàN·›‡Dç7*.Yç«+v:Óye;ôø8Ë}¦~éÿÝ|…·²+ÑޅNþ9£àÝÀ}•{BÆž#t¯é˜×xîãÕ­sXÉ¿k¯ŒS¬Ví›ü/Õç»uJ=oê Gý¿ð<‹Õ»L'ÿ£²óL¬ò:äD]²6Üj¬f™ògL˜ëz/¯+ؽ[{Ž™ßºrðÝCôM®Y×q¦~áè[»{y‹¼£®òÍy cÈzA¿§Þô»ô‘Þ;Óîwï„«±€Ç9—¬zÉszW¿”ûH®œóìóV‡ax3ÿ ‚ú à¿%£×mkBTúÎÊþ’xœí‘) …ˆq ĉ8âDÈ^éê>×»gI@ÏÏþX¯jjg»iЃž——Á`0 ƒÁ`0 ƒÁà?üúõëåçÏŸ|â:÷ªçâs¥¬eø÷ÁÿQéùŠþ3|ÿþýåÓ§O|â:÷2|ùòåßÏ.¾}ûö;ï°7eôûGFÔû´ž•žOõ¿6Ñþ®ö_õQúv•¦“×íßù]Tò¬ä]½^¥Ë®gí¼{>pjç«zëìåkßu¹´o{šyªþ¯yeõŽûŸ?þ÷{è-Òýøñã÷½x†º¨/ D:½é3Dþž&òˆ¼¹e«^H×õyê i#/OGôzüϪÿÇ߯_¿þ~î :ûsMeÑò#M”Ï3YŸ#=÷2û» QžÛ›ÇßЙ¦‰ïŒ[\s=Eó8´}E>¤GÈ©éTîø  Ú²Ê×Tªg-Ÿñ}×þú̬üVfÖÿé¼Ìþêo¨SVwìzV}Ñ.âƒ/Ð>¨~Ê!?÷UýùÏËßÿï1¸Åþè<ú#õîä¥þ•ý}âÀ¶Ø=þF[ þ÷~†¬ôQÚ‹Bó¡N™.ð·.+푹^edÔç½üLo+[\Å-ö§k»ïä döW‡ïÍú(}Ýýê6îqÝý$¾#³?zÐ6–éBÓ©ÍiÈïöÇ?òLüåÍ7®!ã3ìO_Q}Пuõïêoßš™é[ú=ž¥tk¥È‹ûøMÀÿ‘Æï!'}/õƇdºÐr2ùÉ_ÇCú‡ÿﲨü:—©ôéº ƒÁ`0 :8÷—ÝÍòoÁ=¸„+8-ó4}ÅÛžÂcåÄ¥XÏdq{bUþêÙŸÖq˜Â©Î®è¸âmï!«Æ¶«g*ΪòU\z·ü[ù´GAåÖ=^§+ruñü{µëLVåÕüþ çU¥?)ÿV>­Ò“ó†Î)úçx…|œYé¬ÒÆ»giôãœ\ÅyiÜ^cæUúÓòoáÓ*=£ À³Âó!óÊþÄíT•³ÓY¥µ?rfògþÿÊšûWœ—sÖʽVÙnùÔõ*ŸVÙîXù#å=ÿÌFÈÜýªÏ«’—+[¡«àFô~ÅyH«\L—~·ü[ù´ÎOÒ‡£Œhô5žÝµ¿ŽžöT§ö¿êoà”w¯|Sf®ûÜÁÓŸ”+ŸÖé)³·Î;´ìÌFå³´;:x ûëØÉÇ÷â)/ˆOSÎ y²ëUú“òoáÓ2ÞÎeÊ)Ve3'w®”ç‘gGg™Ž=ïJþ®^ƒÁ`0 ƒÁ ľˆùœ‚u k˜U,ªKsÛþçØ‘5€nYæ®,÷çbXw{ ⬿wÖ&Ýúõ™û3®Q×”øN¬ðQev× ]¨¯Æ·ºö¯gcH¯úËžçîi½÷Š{î—ôÌA¦3žéôIó8†Çh³òwòÊdÌÒu×wËÈô¸ƒUI÷äWçq”ƒð8­îÕ×çI£>+—£ñ@åì”p™ôQÅŸáóÈGcþZ—ªüò\ƪÌêú޼ÄUƬìß·]ÌÒù/ø:íÿèÊÏ3dç;É«:gB9ÈRÈôï|GW~•—î×w«2«ë;òfz†áŸt|éø+—i5þ«Ünÿ€žá«ÎŸgºZÍY|<õ1NyŬ|E7þkúªÌêú޼÷°?õ®Öÿz/k›Ü×>ä<šÏÿ=Α}NŸÍå»Î…ùžü>åuåWy­d¬Ê¬®¯Òdz ƒÁ`0 *èÜ\?W8ÀG£’Ë×ÏâY»ûÌÕ:‚ýÒÏDg«öc¾g<‹ Ìö2+²¸€îÙÕýÿ'ëWµ±6½žqnØŸ{žrèuç"w¸<ÒTkôÎ.™ô\ r¤•¾nåOàûïÕ>Uì˜~c‡#T?£ñ+®ëžyöï{¼QùÂ,,^qF/XÅûv8º.Ö©gá×3}íȸâOPùì ~n%ãhUÞG4§çø(_û…sn|W}Tg&x^cëô“,Fíý…¶Çù°ÃÑ­¸ò«ôµ+㊠<ÁÊÿ#+}/ãUw8BÎRh_ÏÊïäÑ|»33!m–r\7U9Œmêß({ÅÑp™¾veÜåwÐé[û¬úx¯ëG¨ïµÌú¿Žß]ÿß±?g;õ,çnßÒ½Úow8º]®³Òוþ¯Ïßb÷ÿÈîã?úÇOVé¼=ù¸ZÙ_óÎÆÿû£#¿veü?áèv¹ÎN_WÆÿ³Žªõ¿rÞYL€ëÚo;Žù°ŸÎ1³g²9pV^•Gµ~>™[_áèv¸NO·S÷Ÿ3 ƒÁ`0¼ÀçèÚïQ¸’·¾[ãï¾×ØÀ veO\k^8Ö”¨v<ëZbzº¯²Û\ŽáOìp¥Ž¯b¾n$~ð}¬¾Çoèz•3ñј mKã è«ãvUÆÎþ]^»i´NºÞå¸WAö»#´÷xŽë”«é‘æjßÊtÄõì q ³:£¿ÏE=Ð z%Ö…ßqù)CcñÕYµEÅÑí¤q™´®ÊyRGý-¡+u (K\ûh¬PÓ'¥Ü*^Ø¡²¿^¯ì¯ñqÚ=m=y|KóòøvÅ«eü‰Û\ý˜rÈŠ4µŸÇ=Ž›ñ{Wê¸úÝ1Òûû;=Ý·åòxÚëpû;o@>ú›”ȘéT\ÔŽý+C±“=*ï™É«|˜¿GðJO¸CÊåW]ù–xŽ1.³™ïµ 9_EŸÐ±©â ½ýVýqÇþõÊã)vÒ(ç¨ã Ê‘}Ïì¿[Gåñùw¨œŸîǺÛôã{-âƒoô½ÜSdו_ËžïÎ׃Êþø2åÔ;iT&Ÿw*ßÎwú‡·™“:Ôº§ÇÇg×­¶“SþO¡ãsÌìÞjÝêºï%Z[~_˯déÖ®·¤ñ²+œÖñô¹Ìw]Ùÿ7 ƒÁ`0ø» ë]ÏÜkÙíIŒu¾+e§L]«ïÎÖ‚ïoA^ç°î;=GR¡³?œév쯱Ö;<÷ôy‚· o$Nî1ç´ˆ=:ߥPîVãžuŸ£<´Ç <&«ü¿ê3K«yC©¸/ù4–£rÇ)i=µþ*/|ÎŽ^]ËQ¹NÐ1qŽG¹¥w>ù{å•á ?ÓKvÏå:A¶þó}E:·ÈÎ_«n+{ÑþuÿÃ=ì¯ó¿êÜr ³›÷qÍ“¾Ì³]>>ÿËdÑ}+½øüÏå|L¼…õâàõ0öÿ»1üþ`0 î…lý·Še€·ô®ùŽg:…®×ºñ¶Šž`W×÷,3ËOã?«½‘]—¾\9ûPø×î~Í[°£kOÿûWùiìGc~Æ)ãÄ-<žw¦¼.ý3qÌ}•ãž'vªuðw$V±’¬n“Ñváò(²r²ºÂÿ¸®5Žï2©½ˆS;W¸‹ÊÿkŒ_ÏKÑÏ”ó­8B/ÝÁhùèEÏÕ —'‹9êw?K;Òx:òxðº<–ì|@¶Ûc³ÄϽ®‡§ùVúàyâÆ»c÷ÿ@Û–ŽSwÍ8B•òq®Ãîÿ]û£=é2ôlBÓe6V}eö÷¹ˆž­«òRý(·ØéÃËáÞ VþßeÊöZT¡ë„4Ýûïad¢­e2Þ’ý+nñYöÏæøBõ—ºŸTq„®Sü×ÿ»þß”é<›Ãïø­[&Ï=üfÿŽ[|†ÿ÷õ÷s°zîPç)GèåèÙÁª}{Z×…Î3«³™n7ÅjþpûWó¿Îwfåtöï¸E¿wÏùß[ǽ×;ƒ÷…±ÿ`l? ƒÁ`0 ƒÁ`0 ƒÁ`ð÷á{ÑÙûô‘Á~ÿ¬ö½³ÇÒßi`oLöy„>uo©Ãßi\q‰ìKó|}ÿïÒû7žÉSvu9ÍG÷íñ©ì¯¿c¾#öÙé>·,Ïjoð­òw{õÕ†ú‡Öݲ‡Lûù=«mWèêòÈ2u_¤ö¬ÿ8د–åéŸjož?»Ú²kÞËDúøßß±¡öm¼†ýýwÔ>ôÃì#® }©ÛË×õ·E:¬ìOÛ¡O;<ÿ¬ÿsüy—›î¡Ô}›Ú›¾k‰}~úŒî±Õ|µM’†ï'8CTþ®¡¬o+¨[Wžú‚ÌöŒ½ø†U™ä©ïïQ™õýr'ö÷½î\ç­'ç’tœTY¸ÏwôŠÌz.Dó¥=¨ÜW|ÓÉ~q=_¡¾yª¾M»ÜñçÙÙÍÇ÷–¯äÇkþt§ïbS=2æû|¥Ò±Ïy´NÚ_}O¯îe×ù”摽ÛöàýðtLàœS6Ÿq`CÿíÌjfý´3–#Ëéܰ³?zÕ1 ÿéíHí¯þ]÷š“ç‰ýõ\"íWËÌÞ]åó¬ÊþüO;¾2'@¾ìã@~tGÎü:º«üªç{åÝuÊþê7m1‹è™Q]ßPWVç2ûS®Žåz]Ï¥zŸÒsý‘ÉÛ×3ÐÅ]vç‘îªÜÝxwÒžôÝ:Ú—>ÚyŠÁ`ð¡ñˆ$j¢ëw½ymkBTúÎÊþ¢6xœíš‰më0]HI!)$¤’FRˆ?6øc>>~Úsm£®+ŒvÁu…Õ‘øνYšuÌ8³´ú³uNÒ?¤WP>Ê1Js¤ŠWiVÿçü‘ý_uKðEÿ‰Ï¸ˆ/rœÌù£Âˆ_âšgK•W]×±ž™ÍEYòclÊó,[¦ŸTœYH»T¾Ïàÿ¶›ùÿíííðŽˆ}x¦÷ÇL#}A› ¼ÒâœöGüžVË7¼—‘^÷}>“iÒžº²-çøèþŸiæÿì;}žLJø°ìXí&ÇTÊP÷3ýTÞ#¯ôߨgÿ®ðJÖùl eäý'ï=ŠÖø?…͘oéçùn€í±aöëì›ô½|7ù>šý?ÇôU–%Ë;«ï¢­ü/ñmöµžN/èãI޵Ù÷fóQÖƒüz{Èñ<ÓdÌé6éd™nù;è¯ÚÊÿ¥²Q¾–mû{{÷5í$ýÀûiѦxæÿg<Æ$ò"Í^¾%=êü¯”RJ)¥žS—ÚçÍtïe/ùÖ”ë —°a};kú÷Ô_µöyµ?¬9ÔšÉlÍzÒÿ}m#¿óGßüKk!¬›ôók(Ë9êGüã1»¿”Þèz–×,­Q¿&îlÍiV濊ý²Üû#_Ö<òœöÂ3¹Îžm$÷^9g —{9&°w³&¼Û:Ë™ë‰uõfÖšúºR…÷:Ö½L+mWÇôW^£§Äz%÷I—½î¥2Ÿ£î—lo£þÏZ¶f?¾k4öW¼ÜÇ-è#¬ó­ ?V/ì—c^ÿ·!÷!{u̵ʴU¦ÙóÙ·ÿAœÑý‘ÿGe>G}þ?Åÿöþv✽Žø3ÿÉX~j½úœ—{øzT§ôA·O^ÏòʰÑ>÷³?syÊ|®¶ðßG)ŸP¦U{× °.ï».Tæç}6žÚ³‘-Æ×F`‡£Ãp]Åkß…~Ãóbà ¶ О$Áwݓٱ„ÁñÍ|süñCo•›ÝA+Õq3¶¾lOàx@á(é0ða¹¯+?÷  ÜT,¤_¯7¸s\ÛÞϘ^Bl1)üCó•Ò+ÔkÛ(îFyN"8õ–dPCÌ_9ÈÒ>O0&l«4¸Im+þîënwîÛGrŰø™à»ø)/tih“f˜õÕ Ñ¸X†>ÊʨËEËÅòã)–Ô<,é6ös4ÅáÀÖ5›zàbð?¤¢Jðàö\<OM%O#(7ä6à:§= ªêýÓ‹YA£÷ƒH ¶«L s6›ÎMƒXêÈùBcX&ǘJ½te».Êöü¨Ï 3.je(”Ï?Ô?õèÉLÚjï³=€ÝÚ%wƒZˆizFTxô„$¯kPö8›E·mòø jAO™ñÔ×úÞ€«ž>~þ’†åÜàØ†‘ºéB9úµâ † Ö¤8U­«KCÃv´jbëL èåçC¼ï€y¯¡ ç;¤mj P.Ô —øãïDkñÂêwþ¡UÿE€3ôܨÁ”‘•’8xëUÀ…JÊü¹s£‰ž\„³èÉŸŽ+;}s­FãQ(KI­î÷¦XÝ›„ƨ ¹1 Ëúþ+Kú¨èdXŒ];JÄ£Žïcˆx$§DÑ×·Þž¢X`i× ì¨ëÑ@lÌûrn°m$¨Æ^×9΄ïzBGÏž Q=Ænfäk„Dêö¬e; <¨ýøaÓü>,µâ¢ž›jÆïk‡0BŸ[p(õâ$¿º‡Ç ‘ÛöÌpý4 nËËq`”XÆ“ù úvϵöèÙ.xõHnŒûorŸJ¾€Ï5¬ñÁàÿHàu©‰ñê뇗 fà§ í××a앆‰[Z:><ÇM@J£9óý¬â$Óq]¡}=H… kÐþ3ÆÊºã¯ù鲺t¿Q“=‚, 7ÆÇµß»ýìêçs Ä>ã¢3ø¶ïÞÜ6[¦Ñg•¨— RLت¨ù­?·( &wÝ.7C#~B{‚]¯Ó ×â—UÔW² 7™Ò1jk~‚e”cG»¿rËÇùÐãDØ.=ôËK´ÜîëÅ@ÝWÝDZMû0å€ãûíèä¼0Î\Úòxó®vÏqßNZ¢ >#Æ ƒ„ŒàBE— ™¥)•‚º&yØA}tå?Bûê Yìm(ÂWIpáɱò€ñ ¸|½2—+èýà\2·ö íÞ)lÜ8·ÖtlÁ@Z.B½€£ï•eñ…‹ƒRSßôƃm>d˜Iéþlþôò'N a†dÄ¢G3¹%†¼#«)?è¼Ï$sß _5=²íYÇBR#-k"qGP-Ðeþ"çf­ÁÂá%Ö©-Ï“37êÐäÌÈ8ÔM9™ÏŠŠ,¬èä_*n;H‚ÁúÆEBƱ†Öcl¿~øÎî±ç Ë[ƒŽ/saŸg¸IE2å,zÒ1Út:’kLÆÓçÎÁ¡ÍíÈ™壋G)æÔ{7ÊoðËÅnd¨ø¤è·ðá•{@rõP˜>ÆkÂwŒk×½¾¡ #¸kXfy‘ÖEÇ÷šÈA©ÍBÂ9ÂuM°ÛÞ4P=¹_Ól’ÆgW®Ø‡ÝN•Õ#–_n™‡Gï¤pp ,Z…ÿUu›6È“÷ÃV¦›Ó°¸å0EK‘7*|·ý]¯{ü75F\éÔ¶»úzQØ z!á‚Ç uH€>îÿó¦upš²ÚöõTÙ£»o3P)ˆø´[à^Õ6ãÖÚóã` -šd&á*=¶%ÄÀÊfY’<¿^’ƒØ·`_6¨ßÈ|h¸Ìë3Ø¡>€„2 Pºúqÿ×7ÏŽ³ ýÕü,Ns¾j»F™=BµŠü` ¨í³•C§òöiŽU’)Ré@LÅßÒ®„‹ÿ‰·Ç§mb<2FH“Rq°²ùF½åãø÷Xºi䎲õOm¬GAýÝ·ôÒ}:¶*¾Ëu ÄfØ:@Ê«RH™.òÙ6Âñ¼±Ã6Žjå§cæGOpO- ú­6HÒýúÜÊKÉJæÛUÀÎì:ºJǃ¾ŠýÉvÆ,¡•¸¯3ÿ‹DìZ‹¹EñÊÆ®ÒqqðìØ7p?¸ƒÈŒÞK¬÷Å%ȧ$;â¼?ýQ¬r6³pP7`¼a™†¸é^=„„ýÉRç¶_†õ™³)m£„Ç>ÀD3#£ ¼_' çIþÂÉ­uÍ‹CÁÊ-Rne㯄³²Ïóss•ÀîLÏÌ<È­/µàR)|Lt_1»éòÁ¨L¿kÇ=‹rr 4ùìê§ü/gýšEÀrþÀ~P†¦nBß[ ®\g[{¡«‡’g£ãYÛvRŸW'†‡ {Fe°m1ïÞŒ{ Ýw¾LÿÕ;7¨&$‘çþxúcÚøÃÐ0Ÿ ŽžnÝö‰óí&úÚuÅ@5sCèCÕ±mœñ8Hƒãefñï¹Æt ’Îx{q(a¿²ÛÑ‚a¡?€ŽÐþQ“%ò§ÌlÁ¬ö4ô‚¤Ï‚xmWI׆€Gí¯¦CèÒôì1ê’Ûk×QÖýŒ3iJhÜ,Çÿ€úãú‰KºšRˆ÷ÅÄð¢ÄÂÈöÈO`úÈç…ʲ»†½þ4á)ú%ˆùÔb6îB8ý\ ³pµõšÉì«e<êºíS鹂ØìÚ+ÓjsðÄpŒ„¸ß%<&t{3?Œ£¬|N)p7b™Ôîãé?Ôa¤iäDµWl’¡½ðˆX—ŸÀZÚ>;uø)¤ko)#WáÈÍSšn®cR½xô”{[ÀsXv1¤¬95‰_¬¬0KéõÁжՙ7Ú>žTp¡5‡‹¸Ù´¤l3¥Sü"ØêLXê…ç«[á5mö¡ø º¿Q="u}ö‘ÆpϘ*xböÕ‰ºîã—ã#iM+³ù@»Z! þ·Ï®~jàÒY”ݬ‘¡´Ò$?5Š• mtêuˆ] ‡%Ž@Ž÷Ý…:4h8Ûƒ¸˜¡»tuì3À;ú ΑO¤1A/r‹¿¾™ ÆÏR*5ÀÇûÿËìiÜ&j#Y2:º$Z(a­dæ@ß>'z ž„×L¬¯³¬Û뇶©½6ZÑÀ8|`Æ6Ý"åŒX1ß_€z' îF-©÷»Ñû?°úX^ò A:?1¢;ØÌh/KžVB'õ üvOnÏFSò‚¼É õƤê°ïÌÞQ{=kh7™ÀMå¯ÀwXQùpü\vïÍ“ÎO/ÿ¶.ÅöÚñ¹ ôN3·ÍHKRðÉlŠK–"›qò”‰^Wܳh¼1wtùã  h@§¬Ñ3ðe6þN|–’¶Á©‹I;yîó?8t[ƒ[é!‘ ú¥µ$,ήL­·e–"z¦å%IÞ†AêkÜÌRäl!3uú8àÚyßë?_žWÅé½)ƒAbCÒõéõOù!rz¿„a¢¤5S±ÍnÖ—£³ˆ#Â<ý43yÜ6"ª ÒRýêÑô߃C‚Qå¿&>¸[¼# BHÍǽß{v¡eà×kOÃ×TÉlq(UHð͵h »Ý”8º,@t°µöÈÃÕ‚LÛ{p´•ü‰/Ø*ËL"d_y ïŸk,4î GÌ–ýÑbD>,ÁÏ.ok"ýD;†|7–[.µDÖCíAœŸä#‰iÇæélÿü¯‰ÏŸ¡IÖ¬ÐòâóÞD¿q½]+ÞeE •ò–_«-- ™ƒ¦ Ú°c©›³èç€^ø¿¥Lô˜q±1~ëCßC“ÿ”øžC“9¡ŽgNäóýÿû“õHÈ8Bkhêç«JÁŽ#Z¤-`úVo§™MËa 9r$îÕºZ-¼hókhò ?C“$· û^–ñtÄ÷¿9d(‘8PÝ…]Ú¶š£×w[¢wléÏ;µŒd•Ôn—׆ôoÎK«èdù H¦Þ„(Dú¯…¯Ÿ¡InüIÌ Mïãü_(ù¼ðœ’îð5)6H/öõÌYÍ1‡¸ ±QRæŒk,nËÖûXH½­ʉð‘ƒÊË?>ÿšdf“ç&6³üü½^EJ–m‹ªétÞÈ{¥C—µ›½ÌC¬c`½îÙ0Ê…v5ÃÂx<äƒó\9Y·Ýÿcáû×Ðä}1Ú06"×´!ÖóŸë9êdl:'– û1H"Áz'7ùQ‡q›„¹Ž¾¹ÉŒí#KâR.ò/C“»VÖÜgÇQ×Ȭ¨åéãó\ âì`¸·?dÜÛ1y³”åuMÛ6Ƶ8ZX]8Ãø^p…ªwQëE¾ç &­1frRšÁKiûñçÐ$G¤ÎÓðÔÝœÛÇЕŒ¯ðh3'À®Âø”·“Ç{¼±š;;Ö~F öKî37Ðkš–Ìu<pöµdÊŽåèˆ+C¨š¤™ Rá‘÷Mz¹Æç¿7)nÒ€©æöÔ lEGyÍl½‡:Ì‘ÿIÞí’o±BìÞÿ—S%|ë‚ÎЕïsTuÆleÁõ’bšA}A¸ëæížÍ´þ1ãý0ÀA{ÉKù“ʘÓº¼tjÑòÇÐdLI=rž ¢PRgóûÇó_Lb¸R³£é Åžël?«â”ž)!°Ö[«‰FÂæoÖç wi&k^”CV(t@püW2Ó÷²ó{hÒxH—GRn²͉ŒeCbúxÔ‰°ªé6GÁ³©÷‘¬Q…Öd27\ÌØ«dœS‘É=\»F§f*¼0é‘Û£ÜOPúÇ5(r„Zß™xQ‘Z>¥~G AeN-õãùÿjYôÜ7—Ò¾n;ún?Ó¹"P·¯xÒ}‡·•/àNäöÞW:ÝŠ&´—×¾†Ù:x" ꭥу;†ÄRç펔¹ ®cä›…Ñ™õ±ñÜýüýElmG§a= hò¨BG_æu…³×YnZì«­FYs ôUéµ"zM&Ë:ËÝGn¸Ïuí.õDX‰ƒÉ5XnšÁ¡ö›;Þ}¶Ô«%XO?½~2&ùÝØî¸Frjj¢¢…8ˆ› yAÊÆä*±W ¡³‰€©ÒIÒ˜÷“9/¹§u‚b)õZ³l:ë sá¼¹ 8²5ÀÀJõš>~ÿi´œÐó˜I¿þ3YÏÔ•;ç:#hEL¬×[ROd‹Ê^GéšAË©fß~Y!ýËÐäEåêñn·ôü0¯~Åà/«AÝò –Kåm÷‚±>^ÿÝWY¢q†"µ¥â<цFвÎë*c¹½:xÛw„|¤Ížw­—%ýehRg°åØúæÜæd¿9ç´üÌ•ªËÃvž3Àv Dg™hç>>?ÿò3é‰hŸYDkgCã(ʹƒªÔ•ô×SÉ·†¬Ôœ|è 2QÁü94©(ñ½?OG•Q34… fëcc³¶PopT€Yaƒ–W(£>Çÿ@­tãX4ˆ`ðLG¦Ùžp•‹É„ãaïãšÅ°l\¤[9‚cû26óâU M6f,ºŠò¼Ë'›¤…žCÐÖñ4øi¥?W~p¯sÏ ?žÿk³ÞA÷×KÃrŵÄÅÎk@–Ið|>^xðs¸?ý\Õð`,DèäõÌ’©Œ°Žû5¯éWÛüÉ^£èøçw €DÓµMˆáøXf_8<%|8_왉pPó1†…ãî„WþÀlm߃˜“Šf?4žý¼»:½òÌ“_£Ô”v ûûMà;kž:pÍÖ²â_ÖùásjØŽqw]$F‡£}ÿ¢»y« ××û,b'Õè°N‡Îþ=Ôo¹öÖôÔ0, õ¨Çÿº»â~–ÆM‹ƒÄû Y•R´‰¥4â6+!”}@~u‡j°ctCÔúàõP.ÅY(ýxÿ׎ ½×zµ?70ÆWXFÜ£¾oŒ½·¯‹3z‹Š€0°®Ác8¨R£êG±¢g›0àö ¦T—Uëøò„½»‹w­"/4³ÞÖ÷¿¾îC¾Q`[{O³“ºcÈn¯]•¶+•{Û{­ç¼ÞÕÎ N!3•<®ÞÇVí‚ìyxé,!C æ™b². êlfÖ×åÁø'„ÒÁ\ ןÎÏíãëgu,μ·¸šw-/ôß3Û¥ùºñíN°íâX(›c ƒŽÓâoõMDð‘sÊ¢a·#ü#0{c ÁÈÀð%µuDWCB¥Z€AéÍZ6»,Øçûxý (Z%‡±µØçw€ÑÀáŠHbhTb2ùþ<$÷Æ*cÀ¼ænk÷³”_÷וð«Ð÷¿#{D+B<™!âÇüS/¼gÿÃ`ø9”­.^]ŸÃŸ™ÆCíÌ+>™ì3ïƒ+•ý5Æë]¤q‡„Äp¦j' r¯9µ¼FDȬ)~: ã躟—9GmÜì“x2’¥ù-?s–raG"yvU³pa;R«çãø÷ăœ ÌAŸ\&ú¹“ ÿ?#Äìn Ûí0Úee½´“d~o’qå¶­¯!!DzP^H)>¾oµëÈ‘.®Ä¼‘Ô¶=Hy»7´S´-M½ á?Þÿô8y£c¶Î™ß§q„|Ü#Þ5"ù2Б ‡lµm#—ýU‰ÑÊ»ìýeüΤÎV†ÎÈbMƒ¤Í˜÷jAÌc7¾Z ä]> 4½gbö Äýñõs 2WRsKgí6Þæç 's8qzñTT[”R›[wÄÍ)I‹—9ø5x¥ŽÜWjýÚ #”!nN+zP’ÄÚ”â ÁKgâ²ÁÞTEŒ,ÂÁùÇë?³¥{é^R¨DÝ¥=´R¥u^zîc¯’§³Ì¥&D¼‰'i74øSËJ½ß”í&H¥æU©Gà»[û‚ácrÃͦŠ<ú’‹¡׿~þ‰4}Ú…žíh¢°Î;¯üòlpAZð´%’XÔZ;t®Q?„±÷÷žóy™ïk1+Ƴu6Â[«©ÌÖè† áDõ™c4¿ÆœÚóÐÝ*d„•B#!}Þÿe>Çsamh¡¹ÿêG3c^çæ—8u9󼵕⸈߂ÏUéy‡‡B;f "Yi=ÖD§ =Êâ‚Á4‘íŠ&¡Ž’Þ×|¾Cý“Ò3»Ä÷šg]Ø~üþ›WgjhSIXU“‘"1A5Fr4×{üáÜëAä—éljŸw¸TðÎá–Ýt6<ï/NÁ  \û¤õó«R¥tÇû˜a| Æi¨ÌÍ>‰T.šWo>>ÿxŒ•ϯ¼Y¼æÈ{ç··m,J²{gg}Év~)ê]Ñæs!?wøè÷X›‰æè˜G—F°¥l!7ކUœÖ|Cnáfï³…:.@mq%®Á臔±ÜÿÓRu?.–:¯èaBë¼ÖºÌÌE#Gƒg'yX«Dåÿu‡SWºä™ÇŠD)Œ˜21×ѵ‰VµˆagW¬àP޳²q½ç«ÏÈ’Ï Ís”?¶•@åg")ªíªç©s\ÖTòâô{Þê«f3g÷‰oÑþÏ^w:^ë¼"•Ý{¹ªd#³!φtà}©,nÆyWFKv„X”4–ƒ|<ûB+ è®Â8ˆi=-;´³X 5l=/xlêóŽw•–å÷n³]ì à+SÛÓ¼,{Õž¯/ДâV¡û»+<< ØÌ¤®Ào ŸâÞçèÔ‡eNpù^Oÿþ¼ÙùŽOv qR¶ £wHF3ûÝß=oý;ü`~k’RÏwCßÏí²”u¦ãk¡jE˜|û‰qÏ©ŽÔ‚KV,Ï àÏ*?ÞÿþxkáÜ}QxÁU¹éœ/MÛüÞÄÂá= ¤Õ°pý¾Êæ=çŠÎ^xúBË÷ÞÚKx«§Ó@ð[òÎI™¾ÔYB]Tª¦âž™çÿúÑKqÉ.á½€PÖÛwÿ¼ÃÓAG\ôšWÂÏ‹Øâ9ùãÏ2S³—åA\è“Y\œßy=ǨðGj÷¾ÌéÇõÕ¢ÂMî@âŒtÔ‚¶„vD¾üƒzÎ+²ÙÌBĺ\·Ÿ¬ü¼ÃÕ¬…÷Ùë6ËÛk™6Lþ¸Ê¦ÚRß_rýnl|UAϯ< ¢¹Ë|¦²!‚¸;ºÁ8™_1ÜgésÞùÆCŸ‡ÿ¿ä >êVB‰~æ,¶¹® Ë˜_ÿ&f™äÕjpñ/WÙÔÊwaùO ¼š°H 3ÉÛûþ¾I`˜ÈòuØù»õ¸1êͤÉû·ÈÏ÷ÿå+_ùÊW¾ò•¯|å+_ùÊW¾ò•¯|å+_ùÊW¾ò•¯|å+_ùÊW¾ò•¯|å+_ùÊW¾ò•¯|å+_ùÊW¾ò•¯|å+_ùÊW¾ò•¯|å+_ùÊW¾ò•¯|å+_ùÊW¾ò•¯|å+_ùÊW¾ò•¯|å+_ùÊW¾ò•¯|å+_ùÊW¾ò•¯|å+_ùÊW¾ò•¯|å+_ùÊW¾ò•¯|å+_ùÊW¾ò•¯|å+_ùÊW¾ò€ÿÝš™w)¦÷2iTXtXML:com.adobe.xmp Adobe Fireworks CS3 2007-10-06T22:15:44Z 2007-10-07T00:39:07Z image/png ˆÏ9-)IDATxœíÝ_ˆ\Õðï=îÜsïÝüuQ‹%â‹M_bBA°>_$}éKAÓ‡BA¤ ¢ˆlZ(…>tñ-I‰y1öEÛ‚"âŸL yPŒN i05ÉìÎÿ¹çžÓ‡ùãìæÎΚÍh—þ>°/3¿3w_¾œß=çþ±Œ1 „l,ì‡þ!ß— ˆ‚KÈDÁ%d¢à²‰¬-Ë;`û¶Í¥;î:03ßGaIJÆ8³†ãVOÈÿ»ÁNN½Þ(W«µÓrfþ‹//”'Õ²2?Ìžë:ñ»ïÿëÜ-[÷9NŽcÃÉå m !8g°`2KÈdÆiª¡”ÂÅ}âÈÑ7¹´T¯^_{ƒÁݶuSi÷îûß(ÄQÑ÷]‡À÷àù.r9¶”`Œ1Ë¢—Õc`  µ†ÖÝ$A§Óŵ«‹•#ÇN>zæìgå•õ+M n‡Å‡Ús* ƒ8 DQQ˜G>ïÃïW!xÆ¥Ð2‰1J¥PJ¡Óé¢Ñh¡ºX«þãÂÎs羪ŒÖ®41¸=úà©-›gKqb¦¡0!ŽBäó><Ï…”R0f—µ0ÆÆ@kƒD)$‰B³ÙB­ÖÀ¥K—ËÏüæ…ËjWX5¸»~Zúý=÷üè`…Ø4cÓ¦ÌÎĈ¢¾ï!—³!m fYý6™BKÈZczí²1HºIÖmbq±Ž><}ð¥—ÿ|hP·Ræª2Ð[ŒºëÎâßsEy ff"Ä…aÞ‡ã:B€s~Ýy-˜ñFƒ88ß•Bôz9,Æð“ûv˜›Ûzøâů¯[¬VÙÇÝYúñ³¾ïÅï! ÄqØ;· |¸®‹\ÿ ƒm Ñ?BÈx+ó˜!8r¶„ëºÈ> q?óë§Ÿ÷cƒ[¼mn¿ë:aÞG>ðádžm‹e­1…•3š!Æl[Àqlø‡»ï¾cÿ¸q™Á½eû–REÏuà.‚ÀnýH)aYZBn–Ñ,Yƒ”¹œ(ÊŸ|⥬1™Á½ýö[±mŽëÀ÷\xžÇÉÁ¶%x¿== !d}Yb̶-á89ü|ïÏÉªÏ îìl¡ÔhÃuÞRR@pF3-!S1 ¯eAp)¶mÛ¼ö7ð½b¯×Îõ·|¾Ý«¥À2]ƒ+)ò_ÌªÉ nåKRJØRBÊ‘k‘þ0!äæžï2Î\ÏYûŒË9ƒàBpÎÁƒe±a›L™.Ö_¨â,{ãgÌm} Œ3p!ÀçË÷k !Ó³l¡ŠóÌšÌ8[zwûXVÿª(j ù¾YÖøÛd3ƒÛh´ÆÞÔKùþ(•ff13¸Íf«2¸ø¹Cæ…΄é1Æ IT%ë»Ìà^¹Z-ëT#U ©J‘¦)´6ý ¢)À„LÓ gZÔjõµÏ¸Ÿ~úÅ •¦½›|Ó©Ö0¦7B¦¯×íj||ê쉬ï3ƒ[9ñt½Þ¨t“I’@)…4Õ0Z ¶™idËh$Q•çžítVÝØ»ƒ>?÷ÕB»ÝA§ÓEÒUH”¶Ë„é´ÉW¯-.Œ«Ü·ßy¾ÙhU[­6Ú’DA¥é°]¦rs 2¥JÓê+¯þe~\íØàÖëÅ3g?›o4[h6Ûh·;èv¤ª·P5z BÈú C« R•â›o®Í¿õ÷-Ž«_õMGÿöÖ¡Ë—¯”ëõšV¯mN£¿íÅ)¼„¬Ëh–ŒÑh·;åÝ{Ÿ:´Ú˜‰¯ Yxýø¾ju©ºT«£Qo¢Ýî¢ÛUКÂKÈzfHknWU;¹oÒ¸‰Á½páÒù…×ï¹üŸ+•Å¥jõZ­:ÝJ-ßߥ}^B&[™­{ÏWîtº•wþñþž_úÓùI¿±æWÌ΢ßýöW wÞQÜGg%dýFÏÚ¨7O|áûß<ùÏëÎk×õî ½{vÝûÄ㘛ÛZ*¢=ïΕ¨r«Ý)¿ûÞGóãökµ+e—ò¿ÞKÈDÁ%d¢à²ý  ÷ŤåIEND®B`‚traitsui-7.2.1/examples/demo/Applications/images/notebook_open.png0000644000076500000240000025362014046644454026023 0ustar aayresstaff00000000000000‰PNG  IHDR  ÎU£RsBIT|dˆ pHYsÃÃÇo¨dtEXtSoftwareAdobe FireworksO³NtEXtCreation Time10/06/07ix-tEXtXML:com.adobe.xmp Adobe Fireworks CS3 2007-10-06T21:59:47Z 2007-10-06T22:14:15Z image/png nŸÀ?prVWxœíZËnI®êþ‹®ßã8òѬ)1±@#. f„&# ш…åK)Ž£Ø&B³‚= ȯïÀ K< ++‡Sç^}q<ƒ¢íþûV]§ê\¾s©þËÙŸÿž‡ç¯Ëv ¯OOOñìôõÉi9À'ûåçääôdÿ¤öOʶ¿ÿûû¯/¶ý)ðödz ¾ò?»ýAxñ»ÿóâKáÅÁŽáoÿôcŽí[ßCÈ3ôS»? h”šÇá÷Ã¥Ü 96)õœ§èÇv[h——þùg)§vëëÞË9F ƒé'éÃð2ˆ ï¯õoe[ísnR Éýý6Áôóõkýr¹º„}…Ã}êþEî­-Wó7äÿ$ý2P_…¦—ý·ìáùŸASóm¡¿ìW` WaWgŽk÷×ÎkG÷Ö®,s1úEûVË(Wa¬kÈÜËÈuÿš÷{¼ 'Llvþ±]ëiö= Þzò=ÃùÊÄýÿß_‘ó5J¿Œ¤“ôAþk«8R"/а­ƒþ+ß×[å$ÎËŸ¬oIÇ‘¯¹Á¬úå5”]9ÒõUb{NÇBbepÛáûp¯_†ùùƒiöø!‹ÜˆKåªÌÇ=Ü'‘;9g–]œ—*È4ušm¿¼ŒÄ}|½ÒŸ—ÉÛ5\@£+½pÌ/D$2#ÿ®<´¤-Ÿ³Ûáâ÷–m0üÍÊ?âÃÂ!Ü›dûø:ðewÏí^¹G‡÷à€÷_Êõ¬ý·¨±˜H‘EĹðG2"~¾°û¨ApV‰Íù^õ.Ï¿l¿ý癣/m~«+€Lî¸:vÔFŸ—Æú=h9¡>اÑ3u»˜ã?0(.BÔ?pÝMqä©:b³PŽyâ¹æí?Y#m+q!j7ÍØS+×Ü&É=Ñú(–ÀýüÏ[‘?Så·ÀY"tåy}Í|ÖgÌMé¯ÎÎÐ Ä7ýgŽð³¬m¤au=à´?ÉÒ?Ùÿ_[ñ?6|V¯3Ãv胭kKG¹Æ6Eh<ó¡ö¡fè#—XñÅf¥wb²vç™ÚVJ.ÆÀÌp\@gù·.j+y½–‡3¹%,N*:/vFª#H&|ÿ?ÞÌþmzÍP(Qµ˜Yâî#»ˆP̤B”-ð ý,¢3†›çP{t(dphG÷HsŒ+Š8“ùù« 8mWÆ-`` &§Ú㙵ž+œP®&Å/V&>˜°Á.Çb ̉ÄêŒçì±fæß)â©ì û“Ǥ¤~¼5}©¯ +.±¢–wÓìüEJžéÖAmÖZ-"ycÁÉÔ€ÚqÜ4+ÿ 3`aÍWˆçâÝŒÃÔF# ñ_@Üù‘†9;/'Ln-£Èj T!J;ö¬b÷À™+óò@?YM æXÁ k¶kGøÎÖ£«t(žcÿÉb­6)ëˆ .òI>¢a¥9CW>Eçæì¿™ó¤dV UÎÀ;€,ŽiGç¢!èyú/ÿQ´±²Œ ¥R%cz5dá„Ó’<¼ýá AÝ!®‹«T÷§þÁ9pFôyüó‘ŽòÓ[‚÷D:sȨ,ÂlœŠœ ñ;HÿF¸ûìß‚ý…Ú¿z]ÿ›¼%L´°Ë÷c[qª3+aúõÅÿcktA£³„䊲E ÑÕÌRåø-¦Búaf}„ÇpöœôŸcËÛÖàQÐY…×…Dè½öâ¬ÕBÿÃágðûyØ 7‘¾ÎÄÅJÃR4¼ò>Å«Ž<é7XùYþÇÀó`Ž|Ø6ûwÁÏÔëZ+1å Í&oÁoE¨üLäÆpþ6­ðaAâ>³±J³Y‹j™˜Ö£’`ËzQq«¥ÀÙÉw¤å­cˆ0µ i_|ÄãüÞäÙf—ï3JFžÉŸ¸~ŽÂ:üâü½ƒ D4É#ÔO(@i Äá†è‚Êÿ—@wè>)†—AV?BTnKö‹²õ¾Ý¡£éJ4 oPU"cÇ,ÿ2ï]Ðý§@;üBü?ÍÞÇÿb5òˆ|5 °Ð(L›íDJ •ÿÝð½p%¬„%[€ùÿà+ÕtÅxu¹û ‡íb®½¤Ógš Òÿ¸þQøêŸD.+yíÉŠóšˆÜ™L¨­„󒜸l±Ð/¸ósDÑjª6VÂ0´'ù&zL 8ã±³£džé ÷‰› º.‘ŸÜ“,³.½$ç’Í*p,._ËÁjF0@ÑÿGðGH‚‘ÙÞç‹/7ÙkDóŸhŠÃµ¸ßKéï€Þí†'0Bâ !#‰À1\‚5[~Èœõ‡$2Tû÷úWØìŸ³ï^ýÒ.ƒ“L`aÖ¡Y‘÷ÿ¤/àwWð7(B so,YG%™-•¢3ã~Ñ–ÿÐþEZê‚ÕTqŽ Ú 6AF3HNYg¢ddÿ î…χ‰iýGK7uQÑk>g¹ 2µo9[H¤QeƒôŸWh7pý‡ÞgÛ­äë%’œ—så©~jFÄ:ë#©6Æ*þ\g$.ñÅin: W_.µ¡AÔ•ŠߩЬ.Xºé¢÷ÿAÿ ì¡>Rÿ«åfX?ž­Ëˆ¸-Ãk¼Ã õ‚sþŸ«Þ.¬°¾´Ë¹,C–ÛU µ†€^þÄÿcÅK´‘£Æã­b=ßTÐN¬Dë½uuÐb5Rû/û>Èáâ¯jzÈ¥•7U&žï\ÑrùæDE+<)—Ê {´¿:–zñ\CP‹„dvöíˆû}l õA `Æ›œ{SÄb?)Åâr:·¬åCGýhH±_´=9?"ÓázΘuËú× ´¿àRÚ˜õèë±ô¡‰ µ¤Ó¦ŒT‹8ó¤w R‡÷¾ù^˜òß¼-_/ŸåCŒÃ`ëó;ØúÉõuˆ> ~—ü.¶œ; V[ÿ±&voŸ,ç¢}/Ñ÷‚.þäÉÞ¶ÏÂûáW˜Þ]°jس°…Ò¹gC9 ¿›¨ëXõœ¶1¶/”Ãó'á•V¡´ƒ”^¥¤ôŠ)}9ÂÇcx¿Xë ð–T·}Jìô(üØÙ±Gµ›áöñkýç8ö¸ööÌü 7çé™í –UªÒßRÃ.6d|2Jw«(ž’çá4A‹1K¥±1IcóRilNÒØºT[“4î]*{“4쫊¤!g{£uAßל|:È%ïFa8/œYGí¿ó†–w¹åâO¿"Eªó½ºÅ n9¤¸;aIoîçß™ãî„]]W7g)Ž­ì¼~î]˜â·g)ŽmîÍr¼ÅïÎRkÎ>ZÔ.ä"ÛðÆM8ßßt#ü±w´á&Êÿ6Kå6óê6Ïà¯a õek@‡zù¿ó¡jÕÜÏT³}lLô±1©E›}l`›Údžö±9)¥©>¶}lÓÇSàñÁ¨OÃ÷Á–Ëûÿyž! ¹Û¯HmkBFúÞÊþ)¤3¡µ mkTSxœì}KŒIz^jwg8|ÌKkH/ŒÖJòr†ÓÅ|Öc´”À~Ù;ÍfmUsÈžµ@Ô“,Mó±ÝM{Ze|ÒÚ€lÆo>ùàƒd6 { Á6 ‹á…ùê‹t°o_,@þãˆÌˆÈÈÌȬ¬îj2Y3U™D|ñ¿âGÞùlíåÉçÝÞô¤5û¼{gzâÌÚÝuáÒýáÎôdl»ýÑd0{°½>9±g{ôrkcrâÖ³Û[»ôKw³79iÕgÝÞ½)$X»$&øoÖÙÞ~y²Ö?ë7wO¬‹ÖÀZ­Ž5¶žÂ·©µ?ÛÚ¹O.Á“§ðıVáéÔz)ögÝ»BòæR¾ 5öÆÍÙÚÆ©åÚ¨ú.p»?[ëmb¢^Ÿõnãemo®}†—õF`³¿»»˜¨½†¿Ú]¼ìЛ½Î”´jm—>Ü¥Ôw{´;”½lÝ$µÜ!µ²gwéI..!³q×ÃKnºpqéÅ#—™2¿¬CÆZ±nÂÝ#ø½ ßöáÚ·áÉè41sæÄÌYf—f·¬Àå¹õžYãTl|ŠÍ8[‹Íp(ac§`3lRl<77:ŽOáéSxúž&…§IáiÎz/ ”Á¬×c×Î]@-èà öÅ À€ëÖ3`®g#°0˜R#šn†fßM…ÓÒÐT8­_®t"„õºÂ^g>éÑ«é; Ò5”Ç©5d€¾Ïí˜àÅ« ß^À½Q¦Ôj±t&~¹rë Êm?¯Ü&at…atî »mÃÓ§‹’Ûv 6öb°y?†ÍœüS²¥<{„®Ä$¬0÷¨²•‡ÎX¶¸Jß@t#oÈ$<‘PLCÉ]R 䔎ÒZ”6PÖ` Ó¹iYqrKÇé=-NL;åÇèÌõu'¡€"Ì%o·áÚ·^ZÇçÒâ;²/P˜ SŸÂÔ§0é=MSÛ6š‚ã~^Î+]à.†8=ãvtŠNcª >ô Z6›BcShl M¡±)4¶ÍÍM`Œ°îkð÷‰ôÈÌ¢‘.ð©û |ž PÓOÇvD£9=#—"äR„|ŠOòé€t«4â#ÍÀá Üȃ!7ï{½&{A~éHje0H§Å tiƒgÊ\ÃçÂ`º-30ßc`®ÃícæQn8V¤–0åøþÌz– abëxÆÎºcûùå6°)’¨’“´Ñ³,¹nÓK¯ÉÆÑž3Ê]º@7Fºæ"7.É­°ÓÜ · ²3ƒ¬(@?9’T@~@r oñèŸM1¦ *a‹lÞB…(àTgF™j@Åy+Ô¢Ú…§Ч©læ´Êå³r‡‹‹á³·F÷ÁiÑi(,¦xi£i’UÂÇ=s|0¾‡AÔµ˜Ò¿âõÇ:Cà˜~6åÜ´Žv“¨üt?_ÁËq‡ZÄ…ßæg)ŸÅJû 3oäÛÎâB¹Æ#§ÌÔäG²ƒÊÿ({6HArâXÎ ·œÄŸ02Ôm HôIÊÇ‘À×ãÞQnÔ-á_²Ô/á_º¹!¾ ÌòÀ‹6#s<ìœß1óLHf0FùK¸ ¸ºã1ÅL5é˜qõJgJ’¡ºùeE‘²˜F2'HptSp XÜ*"i1$ãÕçÕý$0Ù9æDyJfÊ]œZ_æ‘b#®4óžõl‰ÂL õ tý‡e˜Ù- µ=ÉìÉ5d"‰–]«Ó†€IW¬;ìÛØ:0aØ<;ÁØ$$£w…Jòë±)ø5‘IvÓ±»nøcæŽ?F÷ç@;ߎvÙÓ–ÄZ—˜¸kG&hÄMãý…bg®o‡%3š:JjVnÊ %òd ¸Ü ã3QûEþ6‘gô·›ãx^”áÓrç“ Ã}v9ëˆrˆi–º2æmÖ]Íš4%>!™„ïáEŸEäÓõ[_ëBx5ÄWM ¾ û7—Yä¡«xÐ#æRo=Æì½&ƒ¯Iñ²¥FC†à°©Zdò¥Ë¿ÄÍtÃ/Ü…ìt™Õévù ¦wÈu]qIèŠ)޳&Šúyy–ûBÄüfq¬§øBÜvó±!ê–˜'äøßän›õF›öbŒ¦ù&z5YDLµ_§ :“L /‡Ã¿S`aodÄÂÊ@&äàÔèt‚Gé3Ò§HzCŠ$^=¼"’”µÜŠFœ0)¢Û¥hçeÑÀJ%åôÇóNI16 6•5+Ñ·=\ œ nÝÏ.Ι„ž$èf³ç·õ#m6ie&ô‚Bod¦ØhÒWfRœþ@’y_'óNU×l4`¡p•§¦¨¯Þ¥€öºL°ßhg¢Õï2 ï£¼Yxx*ƒ"³u ÊÜ_èušÍ3“0ENg Ô¨Pæ mh—Άq·h°Žž<ÿÒ½+0µM±VV€šcl6ðt›ÚðJD˜;=; ÌÖ{\žn܉Ëf“Öæƒ1Ë:aºu"ëÖI¿$`ÞᑞE]‚Ôgý¬pÀ®Î²òØG—ÙŸgÖÅø“õÝO­ ™Ø!› t:O1¬Ëös@X×ò¡­ƒ†Š¬—à\(¯wâÕÃ+•Þ:_sÐ.Xâœtcîé„V™jµµXÙæ¶õm«Ÿx -¹x# ñ¢_<ú…ZPRëC¾t8†=îu¹Ž¤~¨¦|n±M ¼Ñ/¹žœûòøž©4C]@Sï1L=¦Ã¦Þœ·ØØ³Åí:uÞÑhó8ÛZdÄyÜM‰%ƒùš?ûè)¥³gPt;‡E¡‘0Ê1“Þ“–=Éý6»ß¦÷C(ÑZ7˜±nPå"ƒÞ¦ŽS>aßC<Ó­‹l¡æxS–öv©âgj­K’Ûže—gq+¢?™°žì@õ õ ìp'þ—ˆŸ£Ã>ÄUÔ‡¸w„6ÉV¢œá%ëôÓ' µ1;:_n:'äeà‡²>E_(>~÷s;™÷ØzO¸"Æ,üÎÆóT¥2] y›ÈÙ‚§ß”ýœòëÏÚ(0gÙ0Yi!õdŸSæhÝÂh»MM¼ä6ušòàt) Xôú_¥#¦µøfëI9dN¶j-¾3ÖY'çT!»º”qå ‰2cë©TØêEãrŽù¤E8xôêùgz¹gžµïò6ËÜŽe² û0t‚öq)_ÞȲ~Bc~ÖÃEBBh¹¯Þpæ3 ©®‘–ù¸>ì†ñá¸Gi*ÀwáþZ›¬`ep`/R0le[q¾æ@ß”$¾œCs¼xŒMk-´×jÊó­ÕÐÇØ•UC½ Ô9èêFêhfƒ¹•bز+4°P?©ž[ß CÏplù€gëÞÒy¶¼ý/ivº©]÷LSânž€q×R‡³•g!øž€à+Œª­`è(7†¸V-džG?;¶Qø8 ¼00B64«ŒpMÞà_¸ÙaÞ=i"ƒÜ}œè˜µ·7^ž´Å¸ì‹ä¦Â¥ öÁð{ç^âÖ'm H›²b›2T{Akw70I·KŸÝ¦—ä2k‹£8Z!¶á—ŒØ”*‰Oî%>)V%—V .·Â}õ†PŒØ`çH8Oá0ý!›Ê$švh} lË«hßú€ßY§Ä·àû­9ƒ¥MX±ñßLxäðGìüòl<³ç§ã$Á‘mq9„­Ëšbl÷¶_í·.C/ÎJâ“býæÑ~óª~ËÓoï±~ë2Ch-‰›žî-Vž°?¿/á~±î hwUoé­:‘Ca/ú„ ¦ùý{ ÷‹õVƒöV£ê­"½ÕFDF!¼W¢û÷îë­&í­fÕ[yzë]Ö[›l_êsÔo¢sò.ë]Š{™)Šõe‹öe«êË<}yõåN¦†S¬“pWØA(uêÝbý4¤ý4¬ú)O?] wDVèñ;ꀭݱS×6d< †£xWžMΪ;>`ݱ‰ë”q.º G1Y2êÚÞ0棄Lî Z gÄäÎØŸøA“×ûã¡í$1yœ°£ÖÈHF—ºúgÅ|¬/9Ï2íøØ"B’ bÞjG½®º ’$cc’„$-8ɃÿŒ}í%®þY{’oBlr.õÉ=IüÉYFð‡‡¯ôÎ]rØ þi•Ü¢ )#ø»ÙÞxy²Ùæ5Çó®d&Ög þ¾ÄNù¼Ø8ÜÒ·Žf›ÞË“õMòç3nZÜ´Mâ[ ¬èþº){CÉÆúçê[,V0žÍ„¼—¥¼wð £-kƒåùuëÄjàÓºåÀǶ\k¾áùFîðMtM¸×€'6~LÙ€¿: ãŒ^x_Hye±×qLÑuå¹%Ým#ñt¤>X® Ö¯þÆ9r¹ïáÞú¯X™HÁ(–ÿ"ä·…gM,o£®N§0>*…ËHaŸEtõr+9{¸ûm„­Ðåj®`·É^\’ßG™Ëj{œ#zÈË_AO ¬ß¡RÎò¾µ%~îaL#¬a¯¡üôóŽ9ãC¾’¥C‰?€{¢f»éwè>DVÊeAã®:UtíÜÅ5\*í\iç…kç ÒΕv®´³v¾jçX‘¹JCWzѺ^ièJCW:‡†îm¶Û½ÒЕ†^¸†Vum¥¡+ ]ih†þŸ†féq¢E_>[éìJg/Zg»•ήtv¥³ tö%¦³¿@ÙûÊxÒSéèJG/ZGû•Ž®tt¥£sD>]ièJC/\C{•†®4t¥¡C ­áä7råSiç%ÐÎÕÊ»J;¿îÚ9âÎ2´ó›±ò®ÒÎË «•w•v®´³‰v~óVÞUz4tµò®ÒЕ†Î£¡ßœ•w•†^ ]­¼«4t¥¡M4tµò®ÒÙË¡³«•w•ήt¶‰Î~WÞU:zttµò®ÒÑ•ŽÎùxsVÞUz4tµò®ÒЕ†Ž4ô¤"ü/ôgxÄ9ÕÐÑ™‹¥T§«­û ßZ–ŸÐk–¢­Ó¹XåÁ¾2¿$åÎZg-¦¥‡4FÚÅWtƒ˜6‰ç)-‰ëHN…÷8?­H¼’—÷øº"fUÞ8^«+s¨åñZ37¯oÄ=ÇÜöã6Ñî¨Þè;ŒßH\ìÆk¿ÎØS8&ÙUãŽç×UÛqÖžhµÊø¨èšpÏ´tí•}ÌC”’=dzø!ü~d ¥MÎó˜É¬œë›È¥ªU¡T–ô®Þ¼”‹ðœ`ðþªôÃÖ£#i­r™·>¹¤¤Ö§—¢¶^¤/·þƒ„Ö?²ø{9“ÆÄI¨9uõ{OƒBV‰ïk‘0)í²„F¼5¢£Gd`Ñw ëk§âÕPΧ«ß»4ÒK{O‹EvI—$$Ô2œ¥ÐΗáù ŒÌ¬ˆzkn í„Ú_: ÔæJKWZºÒÒ•–^>-ý¡u_D{Fú$vþ5)‡ŒÁÊáŽÂ®»t#\“öË}úÓ›ŒI‰ÔÆišäüc„ùÇÎW Ç>¦ ãr ŸèçQÎn·Žè¼Ä6–ÃmãÛ¼¥ã6]{eîBÛ‰Ø?³¦9œÝê ·:»/Ol¯“×(ïÑË,ºç½K¾Ìb4ɬQ™4¯Dz½Tº—¹–,•êYq÷¥è<¥œ´Ê1ìò·ê!F®û¸Ö¡¥Ä°‰¼ô¥õ8·Œ++ÇŠl¼•8¯¬‹%_yyŽsÂDzŽC{_pQ˜÷&šn”h‘;Öõ—Üço}²·|,ôrù”ÎËÒÕEF9\“bCOÜɈf‚sTÑ\¨£Òg;ÊÑ·ø4$.Žþ,Íwù¯°Ñ×M üœÌ3è ûÀEÉé£Ï2„«³ˆâx3À™³5D‹é‰ìÖŸF¯|+œû¦}ý."<› _ï‡c}nÕ—i¬µò,0~W„yZâÏ­ð§sDÁ î®)ð‘ç]¤OxÞǹ©mA—ôNÏZèy‘ž˜ òÃSÁ=½å ê ê/b=yù|\w õϿɖëÛ‰¹ ×¾µ/YÉoÏäÒŸ|t1?'Pç&ê±:Ô®ŽvhÂf¤|”Å r‚ƒ=àÚ ²â’xƒMLÑy ‹â„´–/ž>ÄþŽÆu"'¨k,Z üµÄ¼Ék/²8áëäz£Å)æ/C/ˆ±W;Œ½zK§³[/ãÿHI-ö—Ñá‹_„ÕÐ;KþÔÏÄ\ [¹‚=x Ys×îºKlwuí= ܯX_X䤩'%HY‹ía#Z¶F+\DŸìo Î%Z¹Žc¹êÛ Žî\Ãßó4ÐOnõâõ톖×ê~¨Íijq/°k¸¦üi¸÷Q¾›¿×‡(IdŒGVšÑÝ—ñ5ÎTæÔ¶ž†¼éQ¿"ßKç9¸t‚‘{ºö¦…R؈é<¾¾ï¬ðOnõÙõÄûPϧ¸ÿ„>Y W)Õ‚² ò—Øeµ}ñºðÛ¨ñ¢<ÄY¦CÜý_†÷’F_§qEãþRJþ£´½KJ¼g£Àd¾‚ËÿM´z+Ñ“Âü6Fαq­îãlCä)­îy¹äo€;’øê_bkÇh±ÉXøtä?©Õ²}ìcª‡POeÖ[ßÖæ|Á®êïÓžEº`Ñ}‡ò q~öÀm¬Ë³×|Ÿ¡¼vºüS‰ê±<Ù; %GÖNCâ[å]Ù®ÎÝW{ 銄j¯áë³×°©pßÙî øV® ½æçÃí }bãO{†óõÓÄù÷|/^Ç÷~Uº¸ÒůŸ.6ßÍv;o“tñÛ€ò>zõ#P¾I¼Wdô=Áùé²ÈcKXeMwÑÚ 7Ïv­ÜÒŵ/C=xyñÑ‘>†ö”³4.¢F=NÉEÚ Wƒþýy–âr€Z‚HÛÊœ½>Â(smc {½Ž³º-©×8Ç×’zü?Á´§3ÛgÒþבˆ~~ލÐ9c¾.‰ïUí öö½Ä'Ý»ƒ{ÖÞ]›’Ëf/½;Ó~íNOœY»»Iº]úì6½< —Ù—'´à·Àüx¦ÖShÎg/Oîw MÓžÝf×ÝÞ@φ/[ЊݭéIc2ò'ÇÛ}Ð.‡ÐlóAçåIûÎ.©ßú6Vº³-éÜD·wè½.%ÒÙe¿ gv³³M/=Òè›7×ñ×Í ¼ô€ÌRn ·¶±ˆt~8= ȵGÞ¥—É«½E.?è‘4}¸nÒŸ»„ÜzkìvÝ!•»ÕÛ&÷¶{÷Èeƒ^¶{Øë½;$Ûæz4fg¯G~m÷ð×íÝ;„Èí]ª6Pq–ü ¯¸äkö U|pë¿ÛEr“\lÜDâí@ÀšíÜñ_žÀŸéI}†— ½8ôb+¸¶Iz`Ÿ`†P„›;ëäº{s‹ëÜÇÂIEááÈpggK›mÝA¸:[ÛôBnÿª9N%áU²ÜdŒÓ›>U ]E¥H—CÒ%)6*ý`t ÝÚ¦ÐîÎÛ7÷@Ð>»EnÜëbo3¹Y(­}sÛö66àNÓÝYG2[ÿú6ÈMBrý3rs›”5›}¾íûœ&šÍbåÙ¬¼ Q9P¦#•eÓ²œô²nu;á[]dI¼ßÙ½ÞOÖ+}¯5ªLôÊ[Â{±;¯¡YëvPiì"¦í»»¤öÝH4ñc¶{÷ÁädµÑ„/{ð¥éÍ:ëmÒOyдk¾ø^~“çFͯ;?ël*7åÇmåq[~¼Uí¬AŸoõP7­õ¶ÉâöN„ R¯ñ%îNƒ¯pŸíõÈïfÍk¸~«IÛ0˜ø ½½ |àøø`í  ½öJíÚÍ/#‚n³f·ê-×§toö Cn;µV½é4Jwhû¥ëÚõZÓ†J»Y„=¿Ö²=»Q(“»¾S³=€¥”¡–bÛÉ"ì×# :q †®ïå!A*å9µºÛl—‘ð|?g¥”Öz †£ÒZßòâ(w!ÜÓtPMÊÕñ"'u4Ôý†–ÐX'ÌJt cVäRhX§£!Þéöà÷ìóMÂÐ5îlÜC]1ìÝ$#å¯ÙAÃmyŒŒWk4<;¨gSSɸ o~‹‘qkAÓ ‚f6W!x69§æ{NàTÆS¨4® ¤)»æ¹-Ûu²Éøàv¯å¹l«‹Óª¹MÛ6À9P¨4[Sw•f êR 2ÉÔ%2­ZµipíѨyõzx:“LC$Xkò6Õkã×›l2M‰ ‘µ¦ë°Žr‚Zêj)dš o-?$cû-Ï„L_"ã‚€7|ë?¿æûMPÙdÂû @ƒ«ÑZË÷lÛ›¡DƯ5Z Ûn…d¯eÒß#‰JPkÖm?ì(¯ʶbšIf,‘©ƒòrAˆB2  [Äf‘™Hdb¶+=?Z±¸²ÑXª :ÄféèÔÿõf+_³€œ'ÓiÔ¯¸õ|(_¦R í²½\}d™ ¨¢F[ù8èÔe„4-7¨ç #+ 0©ŽÝ/Ÿ|¦J§Uw-7Ÿº:²ºð]ÈØjr›gª½€Ž¬/|¼ÁºíåT¦@GV¾øøMß˧ÛÎP¥Õ©7òY #« ?€4V=ŸÙ2c• ˜ÇñóYa 3Qé€: 'ŸO0t[¥Óò݆ÓE:²Ò\ÑŒœÄ¯ÕhsÄ«ÕPZRq¯·üLµå)zBE¼&§éû™üë©zBééf-¨7ýºA}iŒ×ªÕv«‘)žª&d1ðìZÃiµ Àn¥I%¸ÛP/È”/]Kxn­îyDµeÒ¤i-È6/Ûöyª–µ(ØR7²í¥iub“0ŸtÆiVÆf?·iÀ…“4«Gl{Poµ²é(zB1Â@ǯÛÝ®¨ Å'2 „³é¸i> üÓiû™jË %6ÞÍ @F¾åÝf!ã\ Ù¡4nU ¨ Ù½59PU†äk›vy h Ùñ7fÀ ub,¢/äA‘±xŠº‡hÆÚ"P´…<`4V^¬,”᫱. d]¡ ¦U{ « edojh‚@yHaS³i1SjÌC À˜ºAà+d¤p©‡rÐÃ4*…Á/]TªHTk6ÛØ½ùòd¶y·MK“ü÷¬ø¿gmZá"ñÞë½ÎüE«ê+JÎï«Sò¾fõ±Ù èJ,Ϻn™( ЪtÙ èbGê/xÌ×ç÷Å))/YEŬ¬Ï!ÝHØ_Ýq|À ˆöõ‹U š'7SHÄ·ñÜ&ºÂ:\WIEà"oqN‘Ô+ô ¸Žè€uï ëaœ”tŽa:×0-§›mõÀdµ·¶‘kºÝxDŽ]#›—º1ÐûüåÉz½Ã“¿óWÖuëcëÆ’~>†Ú½ ¢Fê¸bøYGezlEçà¯XW€àê2óIw-ò~Ì'Yåõ ÜßBÁª—¶R¨Žê‡œDNU‰ê|ˆ¿Æ¸Œž\7ÊU«ä:žuŸšôõY׍ŽfÈGÆ™ôàuE8É;£Ö›0eV‹ž.õ ÍÉëØ×äJþßEM½‚ÈLð”}”ݘ€{Ñá[±ŽXž âCMÞÓ} N3§¼j‘såž±Ó+¢÷\÷𹬹 ˽{-7öQ'õ‚I¯smr—aŸÌÛ¼÷8uÑáïÞ`‰ô=dåh?&…¼÷“ëIÀ¡„®ËGä&R;Tmü Ãùåö£ "ž"xÝDlñ.· çÉvõÇÄÏ.³îtØofã_'€ü?A@¹…ž*G¸†ð”ŠÎUÔ?„£>Až¢Ü~‚ÉX’r"µQÚØsžî"”}Ý"o*³üOÃ'Cô-¯uÔwAÏéž=Rž]´Ž˜tFºü¦üLнO±Þ/ð$§¯±¶‡X[z¾Ìˆ]7ÃÔ4í×x*Äõ•Ö§@÷7”²é32ú9 ˾‰÷®ãiÀÄ*îҀ󴬿ÔÔkŒè:‡ê9±>ôü6R£¯¬?ÓÏõµ¡£®EhmÈ:âÿkýO¼ógÌÄrØ¢û/Ù]¹ÏÚá>¤ÇÚ~™Às³~YÇ~ù1ž|}À´"÷3ΡOöC[ȵޡ!þb_þð÷!ÖökÄš`ú„®®Æ~é3½L{ŒÊÃuÖ4ýï ­ÿ%Õ™žÝ<ÅWɵ¦’5Â4$zò{™ÚêY˜õd—ši®CVOŠožÞÜB[²oMepŠu2éÏvè«pO`­çÚ³!z,‰¦¢}Áñ¡+ðóKÕ×R)SVe=®S ®ý\˜öðäï§Ègz¡ü«×k‡Û orÌ#ôOE¼û$\Qð¦Þü!rð!ÊÃÛe*G"âr9*½8‡÷%V×ëJ½ðwßú?P£<½ðôÝúl2b¬Åúw°g °¶ÿ•ý¿íÿ ïÛ“ßûûu/Ø?™ü•};z+öß¶ÚÏݲbÿ¡ý—ö£Îåî¯ÿƒWƒf†’ýïìnÿlïâä/ra²Ž)G„Xèò:î škZk•/§fXõîýðÿíüy÷Âpðû?ý½?1Chxñî]kE±–+ÿ¤¶óç÷ß?ü§_þ÷hi°ùûßí}ïo½?'2»?Qì(Ôû ؙڼáÅkçòßûÉä/~k>l Â3 t4¸üÃÿ6þ×?ùO°ù Û1N´_¢d´þgÿâ¾óÓ?øéïZ+ü­ÿñàOü‡_û´äçG?ýC3$þà;ÿñ¿X+”Êý¹µòo­?=ú£ïü›CÇŸïÿKjòüßÉ…Æ&³æiÚý©„‡Q3÷ŒˆÏÇDZ²g-ÞŠx¢4îp ­³KHòIø½tD/Z3v%÷黂žb[éóÙ4ݰäx«:›oDzÞF¢"Ÿ'Åbž1/z»”< e‘DÃ!o`ŽG8ÃDgud¿¶ËR²hŒ.ýUéWOS»›˜ê#øDü¯×'b-7Q³j˜œêjÎòLZ!–lÚê2º&u1Ë‘·tdGh~¥ÅZåÙ´´éeGZ6ÿ1íqQî^†û<'‚Ú…«áâ2Sðõý6™½@䯏¬‚G6‰Ý9f2TÃÑ]žrZ~þZÄËãQ&^ÞUVƒ±kÅHa tçn(í€É!öÙU˶>±\V*©Å6F† ë¬w®jÊ> 5í Ë4jF¬êW8 ®H:C.A´Ä»áÜ)ÍôÜ+±áŽùÿSÜPâýä® wãQþ¨Ä‡øWýéyºúZÒ>¿a%Íc ÑÊóù“;X+‚*‘”î÷…Réª5Åm!…ƒ‹ðÔC!ʼnõ äfÈøáâp,Ü9iPóùoÊ}Ûm¤GÞÒK¯.»zìêKùŠÏ0ÈœLk(šÄNè»ygLC( /aˆ÷¯…(ñ´Ç i•tO‘#ÇJº8÷˹øìü.ÊÍ¥úÕ2BÎr$„œ „îƒ:PÒ› äBÉIAI)È(¹ @É•Prs¢ä¦¢t dTN›)·?y @Ê“òrHœ—%¯J^!~ò€’/¡ägòÓ5\ä-çHÇJ—C‡Øw…/M•„8r¢v¼ÏÖ qtCg‚é{$ùZy¥GÌ̲ðocI³Óºq¯¤ƒ%?VzzޤFñRdu±s÷ñïmü{À,_œ>Êi é{FÉ:Á ¬AjýÝøªU¸÷Ûa_ÄgÉ£Þ)Z¢´þ“•Æ{ÿ TêÎB©» ¥î•N=\e,PæÔïÏM]X,ѧ>ß¼Ô…UÍ1êlu³Ö£¤ë®ÉTÇ ¼v]-lFéô´°‰‡ÿºùå§Á»~¥‰ iâ²jWùÃç›Ï«&^æ(Iå“;ÁÒÄINgdùúÅI–Ë.Tú"äj9fS˳ Ëj*Ü©/MX¾¨MÙq‘7Á&Tc…EÈÕëf–5jSÈÆÒiâ²ç ß„¨Må/š›ÓÚXÖªwÍ_,"”•kŠ» Ü#Þ<Ïž&ϼ;ÏÊèÍ´ýéç=<êî ºû7¹ßóïö(;%Pv´”Ý(»ZÊ^ ”= å§Æ8Ï»::^²i›æëË7ž2ß3wƒñ)Ù“¹ŠH’oæ2i¾îË–Äwe—Y’›P’[zIž„žW2zº=vr›Ê*I·ß.jÓ1¢GÏ ÈÖù΂ÑëËç WGá®ád¹’O¯H*gË¢çl¼Òè"ù\†ÅéèòÊHÖÖå•‘¬·Ë+C§ÁÕýèó–ákË5í"´¶Zâ}©MÑ^Ð(§nMáþÕŒ”6K©–x;g‰4qlP¢ÃRª%Ž4’”Mgž6Ž4rUªnb‰q)K£ã—$–—¹ì~4)±‘X¢nDFO#$ozZ›ï|¾‰º·çBØi;#vÚΈ¶CZ ž»&ò‹§”C©ü&Ëó[!W}Êèèh8‰4 GËE®††ƒ4܆Òpµ½¤£á)4¼dGò“ûÖ÷A–iþûÖu,åS‹ž{”Dã¡DƒÓýØ2Ûÿ,ú—º]Û¤O§ì”yÚ¿¯Ø¹MäÛ±âŸÊçÎGv=~ò|tÖš­=ÙÑÞuµw=é4Ï)¾©áªõ+‰'ÒÓQè œŸÁãð%€d7øïÂG®=‰êØÈÕQ)'Â÷‹ß{N‘#µÚb|¦’= ŸlÔt%ªòž¡õ §’ñ>’ïÅOStbW5WsPtK§è•ÒêY¬?²c:eFtâeêã:7¶šåŒb;r„]—‹¾sèA¬y¬´ž.±Åè®X×Bm&—A%Jù˜Dë–¥u‘[]Œ6=¯|æaž¼b\VÍÕé¼UŒ#Õ²x.Ñæœ^ήï^.ºªOž\ßbtÓd/«µåÈe²Œ˜ñj’”ä˭ʉ‰Œ%I‰:wEuùÇx&)õ⮳oÄù´°„¨³PTbÒÊ1‘)•÷¯iÛt5·÷iÖÖ8/¯jÛZ^ù§ÅçËeæ“­y,Ð<’UyEçê˜K˜~ßtÙ–dok>;2Ÿ¿¥Óðé–$„è­‰klML4¹Èû‹ÖäYü»hKV6ŸSªê¨u11§pÌC§TO'^⎗ˆïI:ËxIžX„Y¼$OÆ,^’‡¢Y¼$«ÕU¼¤˜u÷OaŒé'ÄKÜ×ÔS=Ÿñ’óï©êùlQü;¿§H+¼Me¯Xæ\¿_¯Š—Tžêüžª*#‹ŽÔœŸ/—ý9Ÿ‘’Ê+*תœ½%ÑŸ²UÅ<ÎCä=¯LvÌ]•‹E[²²ùœR=˜‡W8æáAÌcÞõfûbæ‹yÌKÑl_LóXŒuW÷Y–eÑ¡×çùŒyœÿ5"gÇËó{ªõyªzºÙ9ª˜Çë詞õjæeòTËäóå²?ç3æqþcî‹¶?‹²9‹Œ¹ç·?ú«HÉës?ë}™Ës/Âç”êLø®Ž‡ù“h|íK§œ¾Õš_¯Ê» ùÉ<ô;=‡|2Kgw9?ˇ~÷J%çƒ×]×ñ,hñü> ‰žßÁtÖ½nf½É)W5§&ñs—®â½UkÄvÉ=:ÏN–ⶨ¸¯6ZÜjêy<×y¬rq¿µh”ŸpÑÇsXóÜÅù±HÌo9LqŸoÅò¢µÀ<œo–×t­Ä"y¾>ÐÙV×ж¦¯v=kÛº;éJ'ŠvÒA;éÆìäâý-™OæY/yÞôàâÖ¼~š)Ù*»si¦¢‘ÌyË=¿}_¶ozºÞÀ"õ™¨c=ŽõtìâVð½~Þù¢ä±hDi‘z`¾¾×yFž¡g”¾&æ¬=#³™†Óö\æYõpÞtöâæß^eæAx ÓËÞ‹'”kÓ½Œø¢—˦Ï7özøöf¶uq2_ÄW+Ò¹ó÷wÍónšdë:ï{iFÖ‰ô¥‡ßÇøK\M,zg‡¬n|}´¸Òøûà ÿ›ð¡’ñ}åT<‘î.”ô¹8¢@jò+ =¶ÞZD­z¯\õ^¹ê½rÕ{åÞ¬÷ÊuQë«ýÔ"^Ÿêí›g«%é»Û楬{cÛYê_Óž§dœ¶æJ>ÑŽG¤Ê³ ñ7‚„X/¦\'±\w¡åº‰åz -×K(÷«P —W®lQâe>^@™ªm‰—º/X6ÙžñGB ÇÒ½×p¦8üŸMâÁ÷#°VñÔ#|NìÖ'HUô«äw™êʤž>b£ *O¿–á,  G)Ã]@®R†·€2<¡ ^ŽÏF©7Ç\c2rÍ’ßKNSòý’G,ÅãXÊhd»¢è=‘ Ô¤’èsžB¼l­(5sòRÒŒ‚îís‘o£|Ôä{càEôѲb å[jØaÏÉÛ)©ÖØh›¢–tï*b&F„iªk “O¥|QjGHMýX1õ±2bç=z-ÄWíÓÕØ“ÓÃÓ)ˆ§W14Tì\ ;i}_ÅãF²t9’þÓÉó*ó1t2¦ŽeI*¶![Êt«…ãRæ,µ”¹ ‘2'—”eqJº”9±þŒ?9=<½¹¥ÌÍ%eYªˆ”¹!žnª”¹Š¯·šz[ѽ£#K$§//K6u« ã²é.µlú§`óñ—©l®†ø&ɦ{x%[À|z­ÙôB<=­é ˆ{‚LrYJ’H/Õ2z9-£nEK\ú¼¥–¾ú)XÆ|>”©ÿ¹â›äzg€g£d˘ÏwÏçFêëÀ¡7–ôó1ÔŽ×Q¿2Ìäs£ïû8ŸyŒÒ(Çä“V™}Ä:ž5^Y8Òz^G !ëæ^ Ö%í±U }D†D*˜â+ø;Fº |ä'#ß­`Ê»ïâ}—Í\Äç<8uNc©+Í»"äæób ¯ óò‡ÖQ~Å{Ïq~™R§¾§ëb]‰åˆ§>S ©?ÒÊÈulñ>‡øm©Ðxÿ ›+'1¢VØüýˆÍé¯`É©OPõ(QúVOq ‡¬}(n5³$ kP¯Sé$}Ï…ÚVCÔ·C\“0µèê+JéÓsÙ̇•YKŸ[tuÓé×[_A× =~í%ÌÊaüv'´YkÃâ¾Ï[F×ÿÐu#”&]òÔzİ;BÎ¢í¦¨é+ }JW­SM¢t >ñZä’åÞ'’­ðzÂZ~g¦ ‹¿i=a%¿C½É'R™"ѳ4äÚ¬‰ì¢þ§~Æ#¬#ÑÕŸ •ø­Á'ˆù'ˆtÒJQ»Æç®ž‡þ‡å…QŠåŽøüÕeëÚ6È91bÑ—$Z(US‹;!ô‘N3¿M6]&ľVÇIIñC]žci/Ç_“Ƙå¶[WßW‰õ}•ˆËq".é#BµÝWOW¡¾#õÓëãxj¾öéáÅp¶ž‹ÍzØ”‹³{øXèáÇgÒÃó·?™Ãã}¬Jëéôñü\^¬¦žßÓÔz Nh¬ƒí~†~ÍÈÒíÛIóÒLVü‹in¢•¼»DŒ‘Í»š2ª…n½æiùL¼Ä]k%Ö:ÝÁsK7GÀ©ñÂs…qîÞ´È–>ôÂUæ÷Gußøßè~ü®üŒÖ%o¬“ä\ÅÈýKé:Ry«,²G9ì^‡Uá^¬.ŽÒzGú¶ª)•—)×p5¬£°?å)£ò”屑%Ûá8ÙGÒN8–v$š»uíÂ8k]ÐŽ%ï9Káùš1—ÂpÏÏì½ÞáÉ·~Èrß°Äw Do>ÐIu4NŒ¨^d­FÌÑ ÛWª×ã𻼎ÏÄÜÀšÛñü¼]1$–ïKÏ/¥´¾v˜3mïm×o+yüפ8˜Zc}ïPžá»F‰m‰xéHâ%¹Eâì¤n§ÛóО¦×šó“e’÷Q\ ïQ çI÷hÝÈ “ ä-z¾áÁ¼³£*r»j+{iG@YÖ°?´CýêöÖícÜwMÒò´„ã’KPûX”˜rJpc%—\‚º¿ŠËH<~§®SާܓRkRªqð‹>sáÙjÓ®5¿îÖá7$Zmy5L”\HæÌfëÞË“õÎîË“Ûë“· tê-ן푟Ž7[ßÝ›½»k;‡'Ö/XÎlw·ß~GVSà/->—²órm €Ìç[½-6,Ñó¡NžÝ¨gù75Ž ãèFê•ФSS` ²YåN‚®€×X|›e”“K\T“ƒz0”Ð ø d‹fS®‡Åjñ6ÎQ9语±Jþuvo¿<Ù^ÿŒÜîÜ„BÖÖ·§'öoÖ¦¿F£Qk0™­u¶ánî]rÊÃÐz^Í5ÍÔÚŸmíÜA¤pç!ž™Ø wûÝðÇ竈˔Íf÷0וXúÚò£Ywã.©ÜÚÍ)^zÓoÜœ­mlM¡ kwî@á·û³µÞ&&êµñYï6^Ö¶ñæÚgxYßa6Ûø»»‹‰ÚkôÒÅ›;ôf¯3=iÕgk»kxw—RßíÑBîPzô²u“@ºCjeÏ6î:Ó“&\\Bf㮇—6ÜtáâÒ‹G.³Ýk/O(roY·pœ ü1»ÓûìåÉýÎ cÏn³ënï d×-èˆÝ­éIc2ò'6éÉÝír$RßÎî.iKûî.Á¿»‰Æ}o2œíÞ}€ú ¾ìÑ/õ6i}§ÇtzüÁ&¿³Éï´ù6¿³uè¬u ö½uìêÞ6QƒÎ:A¨³²~ó|¾a…|g ÷6ˆ\ø³µ/€ÒÚëØw7¿xyB|M”[›r®“z–gõâêè+ÔéöˆZþ|“Ô¾æ¸ÁlãrSTÓ»;ë(xNR¥2‰Ø!‘Ùlc÷&Ôuó.‚?»Õí„¢|«‹}·¹}š`$âãá¸5j.Ÿˆ{ç_ÄÛ¦ï@{ ¦=êƒúŸq‰îÜ‹Ýaø´iÛ´UmR9~a;Ú]Ôìín—>»M/Èå|é˜a½? b:¦‘¤c1ӈ阆ªcIÇ4E%Aeѵkuò¬|~µºS³OkØ6S:ZÃmÔ=7Cõ8Ì?qg:DÒk ǵë Fnpæ6³t˜ï‡”z¨>‚šÛl´<ÒØ+WÍËÔŠÍX“;±&œÀct&¦k´Œ {­šÿ|&hêš×ôZ¾ËhÕ-ÕÙ1FÊ@Dc8xA`ŠiØ9„X/Ö=?¨ç¬^¼Ý]»ƒ a„iÌ9”oý@4$j/¦[äa9ªÙžç:|¾e£Þh¸ÙÄ*Ž× š£Ôßó]*®LÅsýz‹SñjЧNÝ˦âÉTê¶íx¼ENÍ·íÀkeSñe*­÷¸[€pÓ± šˆ$¼šx^£A‰4kŽ_÷Zl"u‘ˆ_³ý¦0Ž­×šÀduƒÆ4d"Щ¶Ëš‚Þly&Dš"¢­÷]j Ïq|ƒÎi‰DêÐ9­F‹®×hzÍl"}‘HeàØˆÛjBgˆDZ5;°}›ë•!aP‘¡Hñk„A'â{nË„íGž Ô¹Vª9M¿ÑÈò ÊX¢`6# lã»M"‰Hh¶2ò ¦Q&‘±JÏVK—†ºNÃwë¹ZÔd Cä¦ïú^3¢@FV~«²Ww¹ºÈ²Ão×Z~«ž‡Ñ€F]¦áÖ\¿Ùò¹xÈ4d2 S[¶ëx¹äÈ4e2Ä®¹¶ÓÊ¥ €LK&&åâc¨—€L_%ÓB;‘GE•ÁL–ùubëó¨k 3”É4j¶[‡®Êe:€ÌH%ãµZ͆›ÏбJ§ÞÜ–—Ϧ‰J§Yw|7ŸØu[%Ó"^O#Ÿ»t”1tÌ…Í @¼YÝX<î±f"®«ŽÜ0×Õ¼Ýa®ª,$ A¡‚Q¯Ûõª§u<ѬußoÖ3ÚUU†Ì‰ …jA QfŸ¹ªÒ%ƒ¨EÏsH<“P+MRÝÀ©5¯n4-Mqåè4êÄMʤ3HÓc¨»ž­W]UyÈz ×›Íz6QššÇrÝu²ÅÄUÕ‡lv¡T¯eP£IŠ V"M7»ëý¡Zd €gÛÈFZQ ª‡@ÄÎ ¢lBnªÇBA@§eR|a„›‘• uã:HÕf \ Ùƒ4n‰/k Õ5†Ö—†ê\÷µ/ë ÅÑ7æ=?mÐa. ¾¬,ä¹dú²ªcƊ—…<.4×[¾¬&ä1ª¹õe%!—ÍÕº¯( aännd|EAHAs£ç×S"æFØW”ƒ^1w üºÓc=æ>Š_—}”¼> {i|¦9âWêLÈl³FÜß¶îY;ðÏÚ´6X´]¾·I¦Ñ7Ö7ÉŸÏàéûp—,"¢[»¶¬Cës\Ž<µdÉÞlcýsHõ-¾ ò^–ò’ãÚû@aƒåùuë~7¬–åÃgôšÖªU·Èu—n:}Ù\î5à‰ÍzØð¼a‘/4ñ×L)•.,Yd+ø:Î<³X©­_etè§oեܗ¤Ül±4Ëû –’v 7¬„i})í{RÚ yK~˜'HiÉM¾­Ž¥þ¦årŽïYO¬/É6Š0¶Z÷qù Ùžwò“ƒåB«ÈRËç8ÅNMKýtÒïÐG¬¤Ëø*‚g¸ˆS¨QÈjBÈú:¾ªS&BwJû¥ª¿Ð6WöH©ÞÏÔ Ó9„ ”t¤ÓÉú2å–Æ¤¤µK{OK¬szÀjAJ'w7w;)Çl«âÚÞÚ†‡Z]\ÐI_Ø@–ƒÆ6dÎ~Ðûüå ®þ;µì놪5boαsUG3äɾ£—l]ûòÉÂy¸õ1êljEß·ß=MWfóevŠÍyѯUÝe»î 2Ñ›ÞVâö¢'Šˆ;õ'ˆÏ>È)¦ûN™¬uo‡»‡ä♄â×úQ;¨+àjH`lrtú ýt?É|gñÖgþÓ÷ç­‡çZóúо¤g¤ã=ÂUé]ú–'Ú»ÏpÔ>ÖæÞÓ÷È :PQ¿z“1G¸·¯m¤AO©¡zös‚V,ú&J‹sÓ!k󟌹`êü”I1iß~F©‰—HE<ýDn?::†ž®4a:‚îh£m‘áµ:Â+ƈÍChE¨·$»‰²Õžþs€éú¸[jн‚N(c\ó8HWÖxâsŸËP|îásY#r–{÷Znì£Oê“^çÚä.Ã>™·yïqê¢7ÂÏÕ`‰ÏpoL9šÅI!ïýäzFp(¡«c-~êIÔUbEç?‘ž¥4£DÄS„¯[ü=Vò fçÃvõÇÄÏ.³îGlgT4Ï“ ß«L¸†ð”ŠÎUÔ?„£tçÇȫף´ñý“ôäŸ[ÌòTüÉ0<¥ë»¨£¾ zN÷ì‘òŒìê«)ºü¦üLнôŒHzžÐ×XÛC¬-=oÄ®›ajšök|_Àõ•Ö§@÷7”²é³gle=-[^o¿ xö-úîBRÚõ—šzý¯QçP='Ö§u!5úÊú3¨Ñ~Bm¢5öamÈòÈÿkýO¼ógÌÄr«ïJ”û¬Íl ·yj¿Là¹Y¿ÐÝ?ÆÝóL+rñ1ãú$:åk½CCüÅ2¾üáïC¬í׈5=c©ÏôñË8Bó<”‡ë¬iú ÞZÿKªóܽÉÏÝKªu|§Ý•í•7ëÉ.5Ó\‡¬žß<½¹…¶„.ŒÖËàëdÒŸíÐWážÀ ZÏ´gCô*XMEû‚ãCç—ª¯¥R¦­,Êz\§\û¹0íá.è§Ègz¡ü«×käG3¼o[佤}oúÔoêÍ"¢N ¥Áæïs|´÷½¿õþœÈì"¬è¤Ô~x‹ŠÍ‘©Í^ܱv.ÿ½ŸLþâ÷·æÃ†Ð <“@GƒË?üoãý“ÿT›Ï°ãD ñ%J¦Aëö/þè;?ýƒŸþ®µòÇßúþôÁøµŸAK~~ôÓ?4Câ¾óÿ‹µB©üן[+ÿÖúÓ£?úοùÇ1tŒðøùþ¿´¡&Ïÿø\hl2kž¦ÝŸJxÈ5sÏÈp_h!O4×ÎÏ> ¿—Žh´c^>ë’ï©}wÐÇ?–o}³ÏNù<)óŒù{ý#y*Ê"‰†=BçïqßBLiôI”RõÍòºôW¥_ºwËÞ´èáÅSaôúD¬¥ü¦ù¤&§ºš³<“Vˆ%›¶:Oâ=ÃOlU#kbMÌså­Œ®I]Ìrä­GÖÛ‹UžÍzÓqrÙigÕ™ö¸(wщíO„“¦®†Ë ÈL=}›Ì^ rc\ˆÁ#›Äî3ªáhˆ¾Wâ*´ü:ü¯{{gŸÅ8iyWY ~Ä®òy»«8wó;ýe€ò~ÀNsY©¤Û&¬³Þ¹ª)û(Ô´7,Ó¨?ƒî.”þ;¬Õ¢ÎK-ñn87AJ#gßp¯Ä†;r䟞wC‰÷“».ÜGù£â_õCJ$ïµ´jIû<ùl±!Zy>rkEP%’rÃõ¾P*]5 ¦¸-¤À•'šs £ô¬CÆüTöèαæ­BþÛ€2ÁEßv›!é°«Ë®»ú¹N½NžaÐ(šÄN軲Þi½•T-ŸÒy ¤=NH{¬¤‹ÎWÓŹ_ÎÅgçwQÖøÙL²_-#ä,!ÇR߬›†Ð}<1VNo‚’S%'%q¤ £ä.%×Rß œ%7¥k £rÚüH¹…øÉ[Rž¥¾áØTâ¼(y…Pò ñ“¿”| %?“Ÿ®%¼§9+]bßF¼4UBâÈYDˆ¿õ‡®Zômô>d…_+ ¯”àˆ™Yý©¼òɸüìf¹÷LÞ/qÿÞÞ/¡ã£rÚBý›ºcë[ñ}ݼ/â³äQï7¸ø†nZïýƒR©; ¥î.”ºW:õp=²@™S¿?7ua³DŸú|óRV?ǨËç†Ë%]w¥žY­ŽxíxêZíKÓßQjoTýZ9&ÇÓgÍ"(œ^ÒØ‘ÖIl“Î/—ÓÄßQÃç§ž„(êûð¶UŽÁ‘±ÉK™ôOpüùÅß‚s5|ÛÉy»d=ôuAB(u±Þ5³í#7=@îz ±¡GÙÂè,™ÒRÚ+RW`o"®S|ºËèÓ‘™ÜJ•Ú“kzÒkR­t2“Lë(…N>Z=vBl:­ ÚíCÚ"ß‚Jï¨Ò&JÙ|žÏÃ9ùªÔºŒ8.­wùɺñ÷4¨ïZ(F½ ΋¿¢Œºí•ÂÇq~™‡“M©™ñ²*矓ϛîäÒ•¥;óÉCZ½Î’{ËÔçɻN©¼;otn¹ìA¹:·\{P®­*Ç”é×”k N׳)W¦æ±ÎÚúFßå´ Ëï™/ž{Ý¥±§#GE,‚îsËc–Ë*T£„EÈÕëf–1NSøÞriaw©µ°³”Z¸òÍO“›OW ›Q:=-lâá¿n~ùið®_iâBš¸¬ÚUþðùãæóª‰—9JRùÅäN°4q’ÓY¾~q’å² •‡¾¹ZŽÙÔòì²ڄÊC'wêKc–/jSv\äM° ÕXarõºÙ„eÚTãr§±tš¸ìyÂ7!jSyç‹ææ´6–µêÝDó‹eåšâ.ƒ÷È£7ϳ§É3ïγ2z3m?Eúy$º{‚îþMî÷ü»}#ÊN ”-e·Ê®–²WeOCù©1Î󮎎—lÚ¦yçúò§Ì÷ÌÝ`|Jöd®"’䛹LšïŸ»Áð¢%ñ]Ùe–ä&”ä–^’'¡ç•Œžnܦ²JÒí·‹ÚtŒèÑ3²õc¾³`ôúò9èÕQ¸k8Y®äÓ+’ÊÙ²è9¯4ºH>—aq:º¼2’µuye$ëíòÊÐipu?ú¼eøÚ2DM»­­–x_jS´4Ê©[ÓA¸5#¥ÍRª%ÞÎY"G”è°”j‰#$eÓ™§#\•ƒª›Xb\ÊÒèøÆ%‰%Æe.»MJl$–¨‘ÑÓÉÛ^Öæ;Ÿo¢îíã¹P#vÚΈ¶3b§íˆç®‰üâ)åP*¿ÉòüVÈUŸ2::N" GCÃÑr‘«¡á 7¤á„4\m/éhx /…Ù‘ü$Fã¾õ}ešÿ¾uKùÔ¢ç%Ñx(Ñàt?¶Ìö?‹þ¥n×6éÓ);ežöï+vnùv¬ø§ò¹ó‘]Ÿ<µfkO`v´w]í]O:ÍsŠoj¸jýJâÉ…ôtzçgpç<rÊØSÜ þ»ð‘kO¢:6ruTʉðý¢Å÷žSäH­¶˜Ç#Ÿ©$Gè'5]‰*‚¼gh=è©d¼ä{ñS@ãÅU ÅÕÝÒ)z¥´zëì˜N™x™ú¸Î°­f9£ØŽa×å¢ïzkc+­§KìG1º+ÖµP›ÉeP‰Rc>&Ѻeé_]äV£MÏ+Ÿy˜'¯—ÕG`ópe:oãHµ,žK´9燗³ë»—‹®ê“'×·Ý4ÙËjm9r™,#f¼š$%ùr«rb"cIR¢Î]Q]þ1žIJ½¸ëìñA>-,!ê,•˜´rLdJåýkÚ6]Íí}šµ5Î˫ڶ–WþiñùrÙŸùdk 4dU^Ñù°*æ¦ß7]¶%™ÇۚώÌçoé4|º%É#!zkâ[M.òþ¢5yÿ.Ú’•Í甪:j]LÌÃ)óOH>­˜‡.ž0_ÌCO˜/æ1/ÅxÌ£H««˜G1ë.Ï(˜Xáü–ÞÓzT¢^GŸó|Æ<Å•Ivøuâåù=UwAžªžnvŽ*æq=ÕÕBÑÄkÚ–½þj™Ü¾\Vè|F>ÎäÝÌB¼9–§Xä]¿W®Š—¼‘wU¦V¬ÿ—9ò^„Ï)ÕÓ‰—¸…ã%â{’Î2^’'a/É1‹—ä¡h/Éju/)fÝýScú ñ÷5õTÏg¼äü{ªz>[ÿÎï©Ò oSÙ+V†¹×ï׫â%•§:¿§ªÊÈ¢#5§ÅçËeÎg¤¤òŠÊµ*goIô§lU1óyÏ+S§sWåbÑ–¬l>§TO'æáŽyxgó˜wý…Ù¾˜ùbóR4ÛSÅ<cÝÕ}–eYôFè5$Ïx¯©Ïy>cçÈÙñòüžj}AžªžnvŽ*æñ:zªg½šy™<Õ2ù|¹ìÏùŒyœÿ˜û¢íÏ¢lÎ"cîùíþÄÃ*Rò:ÄÜÏz_æ2ÅÜ‹ð9¥:¾«ãaþ$_ûÒi#§oµæ×«ònB~2ýNOÇ!߃ÌRçÙ]ÎÏò¡ß½„RÉù`Åu×u< Z<¿DB¢çÅw0u¯›YïErÊUÍ©IüÜ¥«xoÕ±drγ“¥¸-*î«Íc…·šzÏu«\Üo-å'\ôñVã<÷Aq~,Òó[SÜç[±¼h-0ç›å5]+±HÞŸ¯t¶Õ5´­é«]ÏÚ¶.ÂNºÒ …¢tÐNº1;¹xKæ“yÖKž7=¸¸u¯ŸfJ¶Êî\š©h$sÞrÏoߗ훞®7°H}&êXO£c½»¸|¯Ÿw¾(y,QZ¤˜¯ïuž‘g襯‰9kÏÈl¦á´=—yV=œ7½¸ù·×Cc™yÞÂ4Dz÷Áâã åÚt/#¾èå²éóÍ„½¾½™m]œ„Ì×ñÕŠtîÆüý]ó¼›&ÙºÎû^š‘õDâ})OQÒ|].¡}£64¢&×ùNH[OS|O¡IÞ AÞTDV Ðs ¥FûFì—܇Ä7¢ë£¶¬@KúèÑ>9Bœ"çÕXº—L¨)ö‘“QÖHkH­ñr½B~ýßOpˆsŽÏá÷1þW‹ÞÙ!«_-®4þ>ø‚„Çÿ&|¨d|_9O¤» %=G.Ž(šüJB¤­·Q«Þ+W½W®z¯\õ^¹7ë½r]ÔúÄjµˆ×§zûæÙjIúî¶y)ëÞØv–ú×´‡ç)Yǧ­ù£’B´ã©ò,Cü`!Ö‹)×I,×]h¹nb¹ÞBËõÊý*ÔÂå•+[”x™P¦j[â¥î –M¶g<ő±tï5†)N ÿ§@“xðÇðí¬U<õŸ»õ Rý*ùÝ_¦º2©§Øè‚ÊÓo„e8 (ÃQÊpP†«”á-  O(ƒ—ã³Qê Æ1טŒ\³ä÷’Ó”|¿äKñ8–2Ù®(zOäµÄ©$úœ§ï[+J äœ<†”4£ {ûÜEäÛ(µùÞx}´¬Cù–šÇvØsòvJ*56Ú¦¨%Ý»Š˜‰ašêÃäS)_”ÚRS?VL}¬ŒØy^ ñUût5öäôðt â©GãU ;WÂNEZßWñ¸‘,]ޤÿtò¼Ê| Œ©£EYÒ†ŠmÈ–2ÝjḔ9K-eîB¤ÌÉ%eYœ’.eN¬?ãONOon)ssIY–†*"enˆ§›*e®â+Ä­¦ÞÖEt¯ÅèÈÉ©ÆËË’MÝjølºK-›þ)XÀ|üe*›«!¾I²éžžAÉ0Ÿ^+G6½OOë_zâž “\–’$ÒKµŒ^N˨[Ñ—>o©¥¯~ –1Ÿeꮆø&ùŸÞàÙ(Ù2æóÝóùŸQ„ú:pè%ý| µãuÔ¯ 3ùÜÃèû>Îg£4Ê1ù¤Ugf±ŽgWŽ´ž×QBȺ¹¨uIûGlÕB‘!‘Цø þŽQ†®9ÀIÇÈw+˜rÄî»xße3ñ9NÓXA*äJó®¹ù¼‡Xë¼ü¡õc”_ñÞsœ_¦Ô©/ÅéºXWb9â©ÃÔÇBê´2r[<‚Ï!~[A*4Þ¿ÂæÊI …èƒ6?bsú+X2Eê”A=J”~‡ÕS\Ã!kŠEMÆ,‰ÂÔãëT:Ißóc¡¶UDçõí×$L-ºúAÄŠR:Äô\6óaeÖÒç]Ýô@úµÇÖWÐ5H¤_{ ³rG¿Ý ­@ÖÚ°¸ï3Å–Ñõ?tÝ¥IW„<µ1쎳h»)êÄ_úJBŸÒUëT“(]ƒO¼PÚ¢²“hGó:”:É%þ(£TêÄxX—^f]¾‡H“ºì㪴ÃÐÖÓò¸çÙýW‚?ÀÓ+iŽ5i"Ná¾ ÿœvOI»§Iq÷Køïä´{JÚ½˜lÆåDç‡Ðoq™xŮnjó_±«ªeNe¥8¾:Zqdu´â˜Æçîõ–’s%=¥‚¬Åza‘uiÏpÕ„É<áZr`Ek±â½3A~¡mz}ÓOÐ2O Ž6öÆT’Ý Ž›èʲs%)¾¹dy£÷‰äG+¼ž°–_ÅÙ…)ÈâoZO˜GÉïPoò‰T¦ˆGô,¹v#k"»¨ÿ©ŸñëHtõ'h%>Akð bþ "´BÔ®ñ¹«ç¡¿ÁÇayGa”b¹c>?GuÙº¶ rÎEŒXô%‰JÕÔâN}¤ƒÓÌo“ÍG—Iã#±¯ÕqRRüP—çXÅËñפ1f¹íÖÕ÷Ub}_%ârœˆKúˆPm÷UàÓU¨ïÇHýôú8š¯ýEzx1œ­çb³6åâì>zøñ™ôðüíOæðx«Òz:}/q×Z‰µN7GðÜÒÍp*d¼0ÁGaÜ€{‡7-²ƒ¥½p•ùýÑ_Ý7þ7º¿+?£uÉë$9W1rGÿRºŽTÞ*‹ìÑ_ûŸ×aUøÅŸ«‹£´Þ‘¾­jJåeÊ5\ ëh'ìOyʨ%¦œÜX Ç%— î¯â2ß©ë”ã)÷¤”Çš”jÓ¤³9”’s©ôy®ãX.G[G(‹öUr®=)×q˜ëX›+Þ.Gƒ•£m‹¸~OÖœêcQbø9°êžâó0c™gæ—h ‚úA¸žžÎ–=ãB¿ÛVÀôÞ-Çì½)ü&¶z ýášqi+¥ÌNS¾"ÔùТ1çCŒÓ=Âyj•\dzîÓ”¾žÍîì>xyrǶ''NÍmÎîØÎäĆ‹‹Ǧ‡ëöîêk·ÖI5È¿Yg{ûåÉZþ¬ßÜHÈCë!ø\cÔƒSk¶µsž\‚'Oá 9ѱÃÏ"˜u7î’–­ÝÜAÊ7¡ÆÞ¸9[ÛØ"µ\»UŸÀn÷gk½MLÔkã³Þm¼¬mã͵Ïð²¾Ãl¶ñwwµµv/;ôf¯3%­ZÛ¥w)õÝ-ä¥G/[7I-wH­ìÙÆ]gzÒ„‹KÈlÜõðÒ†›.\\zñÈef„Ì/ëAþã*«ÈíS6¯?:MÌœ91s…Ùe†Ù-Œo<ýBôÌ8Ÿb3NÁÆÖb3JØØ)Ø ›ÏÍŽãSxúž>…§IáiRxš³^ç (e0ëõصsP úpƒ}1ðCà:}ŸYü˜1¥&F4‰VNF³o€¦Âiih*œÖ/W:Bбq{5ú¤G¯"¤ï0H×PÁÞ1@ßg€öp$DlRǼôL›t©ÕbéLüråÖ”Û~^¹MÂè Ãè6ÆO»m£Å^Üæ°9°±ƒÍû1læäŸ’-åÙ#t%&a…¹G•­<üsƲÅUú¢óyCæ ቄbJî’j §t”>Т´²6 ‘ás‰“[:NïiqbÚ)?Fg®¯Ó8) ¡`.y»kÔ^ZÇçÒâ;²/P˜ SŸÂÔ§0é=MSÛÅPÕós+p^éw1ĉówtŠNcª >ô Z6›BcShl M¡±)4¶ÍÍM` ËYÃ5è™E#]*àS÷)@ø< ¦ŸŽíˆFszF.EÈ¥ù!Ÿ"äÓéViÄGšÃ¸‘C>nÞµÈ9›tým£yZLÒi1(ÝAÚàY…2×ð¹0˜nË Ì÷˜ëFÜÇÐ:7+R»†Ó&Ýgé&¶Žgì¬;¶Ÿ_n›"‰ 9I=Ë’ë6±ôšlí9£ÜØ¥ tcD¡k)rã’Ü ;Í­p *;3ÈŠôCS²óPÉøÈ(¼Å£6Åh˜&¨„-²y ¢€Sdªç­PP‹ hžP@Ÿ¦²™Ó*—ÏÊ..†ÏÞfÝ'³÷Zt ‹)^GÚhšd•ðqÏŒïau-¦ô/‡x=Ʊ™;ê‡aSÎMël/Ê“ ?_ÁËq‡ZÄ…ßæg)ŸÅJû 3oäÛÎâB¹Æ#§ÌÔäG²ƒÊÿ({6HArâXÎ ·œÄŸ02Ôm HôIÊÇ‘À×ãÞQnÔ-á_²Ô/á_º¹!¾ ÌòÀ‹6#s<ìœß1óLHf0FùK¸ ¸ºã1ÅL5é˜qõJgJ’¡ºùeNÂ÷pŽ¢Ï"òéú­¯u¡ ¼⫦_†}Š›Ë,òÐU<èó©·žaCvŠ^“Áפø ÙR£!CpØT-2ùÒå_â‹fºáîBvºÌêt»|Ó‹;亮¸$tÝÕ˜5QÔÏ˳Ü"æ7‹c=Åâ¶› Q·ÄEÒR$ñêᑤœ¨åV4â„IÝ.E;/‹öp=|êÐÄÿá¡>%åôÇóNI16 6•5+Ñ·=\ œ nÝÏ.Ι„ž$èf³ç·õ#m6ie&ô‚Bod¦ØhÒWfRœþ@’y_'óNU×l4`¡p•§¦¨¯Þ¥€öºL°ßhg¢Õï2 ï³srhxx*ƒ"³u ÊÜ_èušÍ3“0ENg Ô¨Pæ mh—Άq·h°Žž<ÿÒ½+0µM±VV€šcl6ðt›ÚðJD˜;=; ÌÖ{\žn܉Ëf“Öæƒ1Ë:aºu"ëÖI¿$`ÞᑞE]‚Ôgý¬pÀ®Î²òØG—ÙŸgÖÅøÓ­¯Ü–ydMu:O1¬Ëös@X×ò¡­ƒ†Š¬—à\(¯wâÕÃ+•Þ:_sÐ.Xâœtcîé„V™jµµXÙæ¶õm«Ÿx -¹x# ñ¢_<ú…ZPRëC¾t8†=îu¹Ž¤~¨¦|n±M ¼Ñ/¹žœûòøž©4C]@Sï1L=¦Ã¦Þœ·ØØ³Åí:uÞÑhó8ÛZdÄyÜM‰%ƒùš?ÆMm¸±3•=ƒ¢³Ø9, õˆ„áPŽ™ðž´ìIî·Ùý6½B‰ÖºÁŒuƒr(‡ô6uœò ûâ™n]d m4÷hÄ›²´´Kí?Sk]’Üö¤(»<‹ËXýÉ„õd÷ª§h¨_à`‡;ñ¿Ä@üö¡EßZ¼Âv¬ÑŸÉ /ž«‘cNˆ/,pMœ ²ó²GðCYŸ¢/¿û¹ÆÌˆ{l½'\c~gãyªR™.¼MälÁÓoÊŽ~Îy‹uˆgm˜³l˜,Ž4‰z²Ï)s4Èna´Ý¦&^r›:Mypºá,z ýίÒÓZ|³õ¤2'[ µß묓sª] ]ÊÇìŒrŽŽºžJ…­^4.ç˜OZ„ƒG¯ž¦—{æYû.oó±ÌíøX& ºC'h—òå,ë'4æg=\$$„–ûÚá g>“À‘êi™ëÃnŽ{”¦|ÉÚ V†æñ"ÃV¶çk”ñMIâËy04Ç‹çÁØô¸ÖB{­¦<¿1ÑZ }Œ]Yµ1Ô«@ƒ®n¤Žf6˜[)†Ý(»Bõ“êù¸õÝ0”ñ Ç–ñ ±ÃÌ=ëNyû_ÒìtS»î™¦ÄÝ<ã$®¥g/>*ÏBð=ÁWU[ÁÐQn q­ZŽ !Ž~vl£ðq$xa`„0*4lhVáš¼Á¿p'²Ã¼{ÒD:'¸û8Ñ1koo¼»M/ÈeÖGq´BlÃ/±)UŸÜK|R¬J.­\n…5úÔâPŒØ`çH8Oá0ý!›ÊÜÇ#£¾¶åÇU´o}Àï¬Sâ[ðýV‡œÁÒ¦G¬Øøo&¹'Ùe/( ýÉYFð‡‡¯ôÎ]rØ þi•Ü¢ )#ø»ÙÞxy²Ùæ5Çó®d&Ög þ¾ÄNù¼Ø8ÜÒ·Žf›ä’ë›äÏg8ÜÄ·éÒxÀ(+º¿nÊÞP²±þ9¤ú‹Œg3!ïe)ï<ÈhËÚ`y~Ý:±ø´n9ð±-×Z…ïC¸ãâ;Ìèhò&º&ÜkÀ›½ñ”¤lÀ_ž_3©Ô‹Q­]ë˜8@¬Ä_°l)å%!å}Ü sd=fi¿Aj$¥~WHÍ/PõæiX’g¨Â° ï@}Lgøêô.¾kï¼ùÛ…žb¾Ã0‡'市g‘‚æHJ¯–c¶Á7éã ŽÓ7±7T¬¢\a …ôžÒò‹P›}t@ǽð¾ò.Ê‹"èê/äVrÒ7ɰºœBÍì6Ù €K@òû(sYmsDyù+è‰õ;TÊYÞ· ¶ÄÏ=Œi„5ìµ#”ŸrÞQ"g|È7C²”‰«æ¼æTåZMù=@âK¨{aŒ1Öw¡Œ}à]z0ÐàÉg(ñpOÔl÷ ý݇ÈJ¹,hÜA碊. »¸†ëQ¥+í¼píTÚ¹ÒΕv6ÐÎCíüË#2WièJC/ZC×+ ]ièJCçÐÐ= Ív»WºÒÐ ×Ъ®­4t¥¡+ ­Óп×Ð,=.C´èËg+]éìEël·Òٕήt¶Î¾Ätö({_@@z*]éèEëh¿ÒÑ•Ž®ttŽÈ‡ £+ ]iè…kh¯ÒЕ†®4t¨¡5œüF®¼s*í¼Ú¹ZyWiç×];GÜY†v~3VÞUÚy´sµò®ÒΕv6ÑÎoÞÊ»JC/ƒ†®VÞUºÒÐy4ô›³ò®ÒÐË ¡«•w•†®4´‰†®VÞU:{9tvµò®ÒÙ•Î6ÑÙoâÊ»JG/ƒŽ®VÞU:ºÒÑy"oÎÊ»JC/ƒ†®VÞUºÒБ†Þ€T„ÿ…þ 8§::sñ¡”êtµuô[Ëòá3zÍR´u:«<ØWFà—¤ÜYë¬Å´ôÆH»øŠnÓ&ñ\#¥%qéÁ©ð秉Wòò_WĬÊÇkueµ<^kææ5â¸ç˜ÛÞcÜ&ÚÕ}‡ñ‰ë‚Ýxí×{ Ç$û¢jÜñüz¢j;ÎÚ­VŸGOÔQd»òD“õó•HŸ‚†ОCCw¡„)"úzkhÕ׬4t¥¡+ ]Å ÊÕÐïFúÔ¥êè÷¥^\ÁvÑ÷³ì ã¶+Ò®¿³‹LOPû݀鹶öày©ç›&ê÷ ŽûˆÎž/Zh¸°ŠÄý·á½÷Ñ®ì£IÔ¬ùÄ80›‹V zr‰í£Í÷QOs."±ÂCà1Þï$u~ÞAúÙ) ™Õv±ÚºeL°Ô2=„²Ð:[öü> ëGdòë°¤·°í+ä¯Dõ-«¯ðÑ7 í2½c # oÁÓtû„Z¾—\’xŽ?;]í䢿i@»Q~!T\;™x}u¥?²=2u>ÛÔ—I²Å‹±”þ)H˜žod¼ºtÆ lÏŠ€ å½_ÔBï”am]Wû«°¾ò€7<Ð?äjëZÀWŽÄWäù¨Ø¨Óˆul¡=B½¥ŽQƒf>$dhr>DêÏù§!¿Çý÷¡BÝ$W‰Ú2¯¼-®1-À #è×øÁaý»ŠžÐt€:^m†–‹ðñ‘Fð¿œt¼ ·t°¿cH®Ý K#ÑÒ><Ÿ ÊÔu½@Óî™ö€®½²yˆRr€ã¯‡L?„߬A¢´Éy3™•s}¹TµJ#”ê#Ã’ÞÒ›—rž žÀ_•¾cØúqbt$­õQ.óÖ'—”ÔúôRÔÖ‹ôåÖÐúG/gÒ˜8 5§®~ïiPÈ*ñ}-&¥]–Ј—£Ftôˆ ,ú.a}íT£Êùtõ{WƒFziïi±È.é’„„Z†³Úù2<‘™QoÍ­¡PCûK§¡“Ú\iéJKWZºÒÒ˧¥?´nã‹h¯ÃHŸÄÎ_ ¦#å1X9#ÜQ8Âu—n„kÒ~¹Ocz“1)‘Ú8M“œ`Œ0ÿØù äØÇ´a\Náý<ÊÙàÖ—ØÆr¸mr›·tܦk¯Ì]h;ûgÖ£ ‡³[ôVg÷åɃíuòå=z™E÷Ü  wÉ—YŒ&™5*“æ•H¯—J÷2×’¥R=+î¾ݧ”“öO9†=Bþö1B=ÄÈu×:´”6‘—¾´ç–qeåX‘·ç•u±ä /ÏqN˜HÏqh/ãk. óÞDÓ-ò¢bǺþ’ûü- Oö–…^n#ŸÒyYº:£È(g‚kRlè ‚;ÑLpŽ*š µq”CúãlG9úŸ†ÄÅÑÿ€Å¢ù.ÿ6úº ”Ÿ“y¦=áb¸(9}ôY†põqQo8Óc¶†h1=‘ÝúÓè•o…sß´O¢ßE¤Àgôëýp¬Ï­ú2õ£VžÆïáŠ2OKü¹þtŽ(8ÁÝÃ5>ò¼‹ô Ïû87 í è’Þ àY =/ÒD~x*¸§·|A}!PýE¬'/Ÿë´þù7!Ùr};1÷áÚ·ö%+ù Â㙜@ú“.æç„êÜD=V‡ÚÕÑMØŒ”²8ANp°Ç\{AV\o°‰)ú1aQœÖòÅs‡ØßѸNäuEKჿ–˜7yíE'|`Ý‚\/p´8Åüÿ¿½o‰‘d¹ Mž¯}=ïòžé±±Pù>x®Éo}®ïõw¦ïô§ÜUs§û^¬QwU×Lq§gÆ]==]S.X°²A2 ;V,XØ€@®…„,@òaY2[6övH,ùEœˆÈŒˆŒÌŒ¬Ì¬®ê©)MgUfÄ9'Nœ_œŒOvϽš~îÕ™:{œÜz‘ÿ¤Ò|0}áϱøß¨EeˆÎ¢?•Kñ×üV– Os®Óú]{Šý®ª½—Á÷Ÿ5>0ðNS'9hY®aÃV¶âg+là>^ßv6[å ŒåŽÀÞvatgÃÇž“à~t«‹··ÿ •!¸ÓzÝŸSÖÔõ¸oÒk§0§ü©¿öQ¼›¾×Û IxŒ‡gš‘Y—ñU/Uçä¶NBßÔ\ÿYñn&›gÁ|Ð.dîÉÜ›:ha5dóØü¾Ëât«/¯'>ƒè| ëOÈ“’?Kq\+(ú wŠ}PRÛ‹·…?/ à!¼eêÃêÿ<¢—8ø*‹ëI÷ÿÄÔ?‹[»$å{v ŒßW0ý_¯W žŒ-oÇ 9&ÌÕ=‚<[dʯۦQ.þëÁŠ$6ûûÚcðØx,<ýjµè¡ÔC„‡•Òë­ŸWÖ|A¯òïI¿EzÓ ëÅâlï»@˳+¾ÎPœ;ÿ®D•P䕆–T#i¥!Ž­ÒÎl—ßÝÏ×’ óµ†Wg­aM’¾Ë]AñFĪ µfûÃí|ìã'ý†óêYâôk¾‹·Äáµ_s[<·ÅWÏë¯f›ÄÊÛ([ü)Äå'Õw†²•Hü½qFß]xC2mšy¬s³¬É*ZÙÍË]E+¶´ø±ö[ˆ†/<ÂÂÆÐŽ´—Æ5°¨ƒ˜Z¸èªÑ¿?2Kør Vk[)c¯w Ë\ßX‡^¯À[ݺÐëGðޝ.ô:þß…²“yÛ§Óþ«( Ø>?®wÆl^[«ÚëyVø±AvYÃ>ö¸Ãó4,ÅFf8sw ž¥ 1ίC &[‡`QðŽ82#+mjêè ~"ÊÖ m.^’c¬¢V¦á3þ×XnWV·zÃ.ý7Ú ¿ŽÛÇõNm´ÒðûøäŸ"D®{~ÿþz‚ãkÃ6Ðý ˆOJ;aÙ]‚¹>=ˆÝðºƒû4K&—g;4î­í ÍÑÊòN.ÍÞÐ9F´¬mö†Öhe{ˆ.èöáh¥¹…šð¬y.+[pså\Vw(€õ ø½×‚B+ä²7wÈÍf£7¬WF+­¸Û"Ð[M‚d›À#—Íå#TcSeŽÖv­Þ°†.6³¶ëÀeÝ´ÑÅ&_FO? ™ä‡ÁŽ ”£ŸäîÜÝ¡üÙ 4nVm`âlô Ú±±·Eööȳ»ä²/£ÖþÊù!ºÂÕ3žŽ¶›÷·¨LÍÝ¥×VóÏD_6խ͵ްÚí¸]È‚¶ö7ò4Zßoœ7¶[˜¾Õ- º±-i,£âèǹ·G€4Zô÷.îƒåƹ4q£——Wá×ò\šÌ1*¹†+ÜÙï5¾ÔzøÚ$?wÉ¥ëßÙØÄ—÷š¸Ì!º®“Ÿ- î½æ 0v«ÝÁÄÝiná{[Íûø²F.[MèÕæ6®¶¾ÚÄÙ9hâ_[Møu·‚t·ELè˜}¬Ð/á æFû@âþ6ÐßÚp¨&¾ì¯®oì#ÆhgÛ=¢?½ae—.¹XäbJtÝÀ呸x#¸ 7²¾³Š¯­eРVã Ç„¢‡Û;¨ÂöÎ`5îì@Ð0aèWBnhsXØØÜ"\ô—à…•¯„kðÒT2À‘­ðÈÆd*c œv†Z˜]lß¶»·Ó·–åºw£¹¿GøOS®[ÊÀ ›+ ^oAK¶Im¯‚¤¬mB?¬naM\ÇàVïáÇë[Á½†ãÎÈ Üo´îú÷£ ç¡SïT:s%W(ùÊ^4º<ÝØmaê÷vP¡®{tìŽZ»ûÝáRµ†¾ /5gÔXÝÀýÔhâ5³ìÚžëÔÐoü¼Z-»ËsGuéñºøxCz¼!>^A¤6VPŸo6Áp¬4·ð¼ýFc[ôÆ ›½oUÙäýÑAÿ®•ªíÖk¤ G]©Vs X.¡Ñm<ÎU€JíVy’ÉÃ[m&{²ÉbmÝ.÷$‹!þÚèÅC´õÁ“ì…8(ÒVOO2âMÛZx’µŒÚÆË…4|Õ¶¥žh+¤Á´¶i÷DS!ìuçÉ9!Í ëöpθoIʉ«x V¯KeHY ²qÖ3p'W±¯ñÿo¥.gº°ÊÐÝ@÷CÀW2Îh.ð‡¸¼”{Í ò’·Ì{F7æŽðx:Çmæˆ~õ` û1X‡Ç´4³ºe€†y¼€ÊžP—ÜôýW™öó ú&bip8>DèË`k²À°£',;zãºOéË>ôM<¿qo“@áî’Þ%Ç/=jÈ3u”  ú¥ › ã!ÀL†îO'QÙ vö mJ¦±@…ISŸ¶¹ O:‘R°Šh~Jµ·ïIV ~C¼Ç>‡‚‘á‚Á6Ì;.‰ÓËÏhxÎ0ªððážô \øÐÅ¥“ð7Mon‚/!Ë„Ô:ØštúsÃUX$Pïy þ¬ QÅ`"¥H_0þøéµê•€¥ÇÁJ‚¬ækOÁ×ÃTü«í Oå:è`…Ñ¥RâÓiY·Õih÷L0©E̬ñ”è×JKÈ]Zôj¤¥ƒŒì0Ì—J^Ë2W6w`eÃùÝçõîÜØO` âüÉ øMÁ#°÷[tdö kØñ´ –ÙÄ~g@u¨ £!2=eµüú´ˆácY&†oRð!½–iŽää@—àÝ ýñ¤}¶`˜ÆMæX1[ÆX¥½³ À}æ[ÚÛ†nÖ {Õ—0 ð'®6CÄÀ{â–ÿnc³Py•˜èŽ˜ù¿ %nKù~|×FwÃYþãCø+0F²U°šJÒç·¨÷XmðòìýÉ6P…¹Š5¥âë+™5 —¸Ë•°`ž\¢Í•HoÚT.€îÎiƒ\ÿ”«qóEÝvàáˆÉÕ¦W‡^]¡ÞøoDI&”y’%1#ú.ëÓ/p0ÃÚpÑç+;ˆ(;Ê=‰<–Ê…¥_¬ÅÞη@×H-9®9dÀ!Kà•À¡È Jåu¸dÅ%+†KüHAä’]—lKvJ.Ù±\ZD:*–MÏ){,yr à”#pÊI¡qN .9cqÉKžÜ¸ä \råi&y‹5ây¥ª¡âØÛ܈—”Šâ?ræ9Düø! Ð†Ñ yLŽÈdsÄ™Œczž…};,;¡E% ÀüXê=9bŠÂ3¤ðì>ìçÀß»ð÷”z¾°]Oé ɪxžàPpˆ¨~;‰ù²Bçf5‡ ÓÙÍʈ’Ì»êKš)u¬tÙÏöÅÙï 4Ë7Êq­˜“cå“ÇŒz/jìHhâÛ¤ŠËÅ2§¡2ìýÔ‰ÏEuÞ¶Š98<69‡‘ .ã·ðȯ °ùØÈ“l ŠíôK*OèðÎVÄUšÓ;ƒùз8 !ÐyºË0f{Ò´Òµ¯ð¡D™Üè,Ò@:ÈY€q ½Ý¾öài‹Â'#3±•2´Ÿ×ä(ò(ªT: ë,N:XMT¦í$£`ùËM´-†ÚÑ™UÜ ³ ޹;²¶ñZ¶‚>ÏPÌÃ$yAhÝu-‰‹ëÝ}_âÏ ƒ‹ó&¿Ò‰w$=Ô‡ž‡ä1Ú¬\i;ÈEŽÃò’E’u¡éɲ¬³/ɳf;™v%ÙÎtúG×eJožvx’²kå*»Y³sÓåòµ¹ùúƒ|}U>þ ϸ&_o0ÙÈ&_Êâ¬)ôKÆôú„éÌ‹—^{j<Âdôh°4Õ>aº¼Â|”P„^]5¯0yšù½Ã›.+lOµ¶¦Ò ÏcóIJód­°¤ÉYaÿªÅå“]wn‰Ç²ÄyQ7‡gOšgÕOs–dã;ÞÔäI&3²¼zy’éò ó½½šŽ·©ùù…iõ óß©LO˜¾¬MÞy‘×Á'ÌÇ EèÕUó Óšµ™ðêÔYâ¼ß¾Y›yt^´4ǵ1¯Yï:–¼ŒPR­¬28åøDôúuu²®<Ë£7ãÖSÄï÷€ëÈ«'Èêßè~O¿Ú7€låÙRB¶s€l+!;9@vŸjó9ëìè0fÝ6e}×—n<¥¿fî6•S¼&s 8‰¿éë¤þú¹Û”_[•'&;“;&Gàž“3÷TkìÄ6å…IµÞ.hÓ¸Gö H¶éö‚QÛËçÈ®vüUÃÑz%î^…gÓ ûl\(l‘¸/Cq6:?ÑÖ:?Ñv;?* .¯GÏŠÃUâà-mV[Æø@hS°4¨©šÓ¥)¡¤IKÊï¦ÄHò Œ-)cì(4)N–6vz•WíHŒa-‹ƒãjcô"1†u.¹u0V#1ªFdd7B|:вÚlåó2ØÞCتCwÛéÐÝv:t·Ü~ß5^^ òEZçW|©z‡ÂQÁ°"aX –RŠl `Ø> ˇa+{IÑ`810ðŠä“ŒÆ»H—IýÆ-ÀòŽAö=Š‚ñP€ÁàÞ0ôÖ?óñ¥jÕ6îÓÝežôïÝ· Hñ©¸ï|à×Ã;Ï{­™Ê˜-å][y×vóìÁI Æç"w.$»£8ï¡;ÿ@¼ü«è#R³:&Hu€eÈ}¿f°µç„s˜ªMñˆ{*‰ÙòIæš £ÌAÖ3„²+ë#ñ^xÐ0D+qIq)D;wˆN.­…ú#9§“gF'ŒS×¹í·U¯fÛ3ìªZäÌ¡ýPÓxi5\ì?ƃ[2}k&â %ç|t²uÓÒ¿ªÌ­*G_WÜó0M]>/«ÎÀ¦‘ÊxÙO"e\¬ïsfG–“é=HWŽÉ£énœî%µ6½ŒÖ=YÒ’tµe=Ñѱ(-‘ß][~ö$%QÜ-ú Ç ïŒ­!ò[(¢1qxttJ–ýEe›RGŸzm Ëò’²­ù។œO—ÿɦ[Y![Î#+ÄpÎcœVÏsãywñ‚ŽNïéeA4ê*Æœ³™ó(J*£üðU’å쑪]P¤ª†›\cžó˜ÅHui¬l⢲e¯G¼š§´O—šÍÌÇìgÞõ<ÄëãyÆË¼«×ÊÍó%W!ó.ëÔRÁöš3ïãÈ9:™|‰=v¾„?'é2ó%irzù’4½|Iˆzù’¤VÏó%ãywwcL7"_b_ÑHu6ó%³©ªå¬(ùÍ©z o]݇¾W¯×›çKæ‘jöHUÖ‘¢35“’óéò?³™)™GEùz•Ë÷$ê]¶æ9Yȼ§Õ©IçÜe½(Ú“å-çêdrÎØ9çrYç_è­‹É–óÈ Qo]Ì<çQŒw—×YæåÑ«~Ôý†À¹¢1çl掛Q*Òdë{UdähFFñsb.;2Ò{Ó0éÈ%ˬ‡Y³ÙŽ»K/‚p ³ÓÞÅçòõéNB~ÑIåÓ³½ »±½žo-NC²õAx¶"yw£~W–³i¢½kÖsi:Ɖ j,'ÀQÜl^.†ÝAkkAiÞöa«aòçD`˜øl|Rž5|‘ƬkèÐ_bâØˆÌCÚRB-9„ˆËÉH`$¯LËS ;Kñ$©º†[ƒû[ç¨ÖÈëu8Ÿ ïŸ£ßøÅÏ&棳>¥Íæg¿‹bA,ãÿ}ˆf¼+íŠÇÃm!LÏAŠ˜’ÏEô@Ü|kžkósåæçÊÍÏ•›Ÿ+÷z+·V{í—ˆŠ0=óÓ7/×J’³Û²BVØv™öW·‡³`VIÀ¤-€ùÔçv8#•ŸgŸvêóº¼V$^»P¼v$^§P¼NÞ—¾Î¯èQÂ8€Sö-a¬O8Ï&ú3VâŒ+aªs Û~‰!ªÿ‚‰#øúv†¼U¸tžc¿u òq•xö—®­Œêé3:º úô‡UKÂa€Ã–p8àp8 KG©·©Ä,RY4ÄsÉII¶^òŒ–x*ŒlK’Ýã¥@Æx*`"ÏY þþÀ(Iˆ5Y)ê‚êô¹k ·A=âÒx b´¤Cþžšåvès|:%ÑÀ2m®EÝ[žñaRj‘òä¡^PÚâJ“8–/=Fì¬G}þÊ}ºz29~ZcòSÍ‹7dÞÙïdN«û*œ7µËìŸJŸ—hŒ¡Ò1y´(jZ[ò ÉZ¦š-Ö2kªµÌ.DˬTZ–$)ñZf…ú3üdrüt2k™JË’,Ô8Zfûü´cµÌ–b…°×Tûºîbލ‘ j_’nªf†uÓžjÝt'àÓÉ—®n.ùüÒMûøéåìÓÙµ|tÓñùé(ãK‡ã¸Ãé$Ó¥(tb=£“Ò3ªf´„µÏ™jí«LÀ3¦‹¡tãÏ%Ÿ¿Qñ§s ü¬æìÓÅîéâÏ C} Ièí)ýÜ@Ô1Õ3Ãt>÷!ûþÞg@Åœ|Ô¬3½Oãeó+‰„Î[ !xÞÜ °º¸ý:ká8ƒ3GPâ%ú{ :´€äÈB’4¹+AɽoÃ}›¾¹¿ó`ÐŒ@ÁWR·ÄÕfï=x ¸÷ò}ã+ ¿ü½çð~™@'±ƒk­Øs„KüÒ®ôu¥ŽÜ‚wЧßJ…äûKô]9Ρ`{P¢ïï;ô~ 0NÝTs‰ÀoP:ù9¢õ!|#\yaÑñ*NÔ÷ô¼ÛÊs§ö¶ sz™ýÀóŠ@êCy¦›éx¥×Òç™Ý´/ü: ó+Ȥ}á×AÄ[¹3Èßîø^ inX8öéAËÈü2o„À$3Bž(ïÎ@²H» ×q¼ôRà>+ÓT -¢O˜ŠG mî(ØÁ{‡DŒ&Ð@´ŽÏ×ð´4iùhì#0æè.½¶š @&ú²‰:¢µ¹ÖV»·kâžlío䱤ém´Z¸-»-Ìÿ½TèøÐé¶G­Ý}°OèËùÒXÝÀ­o4éƒF“=XgwÖÙ vgƒÝYA44Vˆúæ*tus ›ÁFcs¨±â‹~™É|}‚\«˜Þ\ÃzáŽV>@V>X…¾[þà|ˆ|…×SYÕ\Åta‘§t1‚j‚{Ml–ß_ÇÔ—-Û­Ýi (ÝÝYÅk4¢ˆJbú@F£µÖ2¢u}˜?º³×ðUùÎôÝúÖ6j‚–Š·ëÚô©¸3û*¾ðôÓ¨½˜§Mê#ó?bܹºCù³AhÜ ­ÚÀÄÙè´cc,ûÆÞyv—\öñe¶lL»rØñB6¦ecª!S Ù˜ªlc,ÁÆÔx#AtÑ6Ëüyù&úé•+V¹}Báá±gR£S-WíjűLEã{´ßÀš^®Z¶Y©Rp]Ù0»–dÃ\ׇÔóá•íZµî8Ö‘éÙ"iN¢U¬…šÜ5ùÈò תA¹j]°S/;èŸK™‰,uÙ©9uצ°±éh¶´¹€pGC|pšv 9”ÁÔÁO¤1‘ÊÑH–¹ìëÓ˜k¦-‚©–M»‚º*•ë@`:2§^¯Uít^ Á9–áTªž]wÒùT§+éU,×NçàÌŠ)ƒ©ã¨§š.Ü@p¤1t(„M€£YÕX<±&¡« Ø0ÛE¦ Évr‡Ù²± * "*Sƒ®J\ÇcËZqÝZ%Q mÙdˆ’ˆ¬PÙ«#C”Øg¶l4DÍÀfÑq,œOTÓTÛ³Ê5Ï©˜M‹3Ø8ZÕ “áÅÙ10–YI¶«¶lBœÜ€MއƘ~‚—çí¢úxcù‡¨UxªåsxÅŽ'M„~ºÊï GÓ[pÁ3˜ÄÉQä‹Gž_ÇfuŠ@ÈêBa} @ú'ƒ:ýÂ̡ԧø=5ýr©ît<¿¿r‹Ò7…¹-û&ì–XFÂé QóbjX©kØ©k˜Q5F›M¤®›[èáÏ{0¡“Ø€§ƒ†dŽÞk¾>„™Ã¿ñÓiŸ74Ÿ#öúÌ›)õ8×ÓyíTOTÎ[HZƒ}ìä¼µðêi23 »/½]lfl®j‹®ºÇœ Nz+…ý…AváWêw?OÀAö Ü;(``ñ\÷ õ¸²€ßsCìÁ\ÿc°ò ¸2@Ã<ÖÙ :~‡~²ž$Û^ü7}z²ï¾Ÿ•öµfô¾${Äó»³Ò1wÉ)O¤wŸÁ©'@Í#¸§î‘PA¿`ºñʘ3X[Èæ6‰ »Ô;ûŒA%ƒœdC`1iêÓ6·áI'R VÍO©ãö=IÀJ8qPøÝOı ƒý`ÈîJ]j#ÈŠ6Òž3Œª3رâxsF9Tâèbž¤©; d÷ŸS(w«¥zÐ+ôû:Æ,pE‹Ç?·á¹hùç<-"Óa±wSó>èñ¨^ÐéufMv)ï£e›õƒÎG#l_­#Àø ÖÆäcYܲަ3Ѐ¾À ˜k°]O‚vÈÖø¦ìÿ„{–À LaŒ¶ð9Vâf³á»ÆÇøO‹z÷3º2*˜³¨×*c©Á2%sgì–(Õþ1âìõ lxý$Ùùçõ<¸{ÒöwézlÔÛÈΩž=’žáU}eɖ߆’÷8ÛKöˆ$û ½jû@-Ù¯C¯ë~iRöœÐ{@´õ)‚û 7yöŒÎ¬'¸ÅùöKˆŸ‡9»c;5~¢ ë¸ÿ l±s<=‡@ ¦è¥ñCDÑ“jNƒ9ö>5xzäÿ w~H}Ài¨¶|V¢ØgÔ2Ÿ'÷K=×ë²úá+°zþ”ZE#>¦’Cž»ü1«××ä?ãâÿ#øÝj_¯ÉK‡ÔŽ3ð1Ï}}¸Eû‘”ï½¶ñoÍ'°z“í»Eux¥Y•¬•×ëÉ=:j&µú”NÂß4½¹ ¾„LŒVë`hÒéÏ ?Va‘@ ¼ç)ø³6DG€‰”"}ÁøC&§×ªW–+ ²š¯=_Sñ´ « Ÿ‚œ©u„ȯڮáõø}×Àç’Jü&§ –$~“h¾Ü}èA»tõˆç¸ˆG†§^K¤ÖXU¬JtŸÁïCã?Eizá=ˆÝg}ùȼþ5èY ^›fþ»ù÷èï³ûµï›¿·÷¦ùõîOÍ»©¸W2Ý|h>“lKÉü–ùóQã­½_þ‹£?Òã’ùWæ›ß>¸Öýq*ž¬BDÊ8‚=tÓ`g;†^Ëž¯š÷¿ô_;?Ú{³}ô¿ö}=µ¯íî%yuÚ”w~ô›ýð?úç°¼ùíOŸ|þW?“‘3-ïŽì”zèïÆ"óæL×絯í;oýÖ×»?þÆf6Þ`Xf"à(øò»ÿtüç_ÿ»1xsÚqé!>ÍÔhý·ÿä;Ÿýø›Õ(}÷ÙÿÁþßüÒ·QK¾wöñ·ô8ñÍÏþí?%å¿g”þÒøÁÙw>û¿âŽ?¾÷äOMDÉóï~:7Ö©7³îO~ˆ5ýÈHs]èX‘hª•Ÿ)bv/ž£ÁŠyq¯K¶¦þê® Ö 1ßúzïÎËyT.æ÷}‰£P^q6ìÈ8;Ç}xJ²O¼–Ê'Ë«Ê/¿TgË.äDx~Wµ=á©Oš¢0ºÔBJ|:­à1ë¶: áža;¶Ê™5žýZi鹫C‹^´t$^,ËlÒIÇѸãöªÓíq^ï‚ÛO¸¦üiøMÙ}‹ŽÌ^çŽa"Ëlb¿3 :T†Ñ9Wbµüú¯:½óæ8 ¾JÁ‡ô*î·»ïn®ÓÝ_Ž@ßOé.p6ÅŠ©Ø‚Ì0æÀ*íî3ßÒÞ6t³flº]„ý×h«y›!bà=qË7±á½oXTb¢;bæŸìw[Ê÷ã»6ºÎòÂ_ùƒ1âs-Í*IŸGï-Ö/ÏÞŸlU˜«XSú!¾>à°’Yr‰»\ ˜y¢Ø·0(AÎdmSy`»²wŠ3ZO¹úw—1_Ôm7é’½ÚôêЫ›j×ëè7 ª£=É’˜}—×™æÁ©¤2¶Kç©TvQv • öWâË…¥_¬ÅÞη@רÞLb\-rÈ*€C–!Ÿ¬Ç¡°c¬X^‡KÖX\²b¸ÄD.ÙpÉ6ä³ÓpÉŽåÒ"ÒQ±lzNÙcÉ“S§C>áXWãœ\rÆâ’3–<¹pɸä&ÊÓbÄ9ÍѼRÕPqìmnÄKJEqˆ9ób§þ¹mƒœæ@NôÁ3 Ø\q¦㘞gQïÊ+îŒËön{Oç|‰ð÷.w¾„JŽ®§ô…ꓺCó[á¼nÖá·äAïŒ68B7ÁÆzÿ4WèV¡ÐíB¡;¹C÷ç#sô™¡só˜ø$æË ›ý‚.î.F”dÞ•¼gµ<^`Ô±Òe?Ûg¿ƒÒ,ß(ǵbNŽ•O3êeP¼¨±#¡‰o“*.˄Ϩaï§N|.ªûð´UÌÁá±É9ŒLpù¿…G~áSpüÓîtöÛÅó¡oqB ót—aÌö¤i¤k_áC‰2¹ÑY4¤€t¤&Ì8:…Þî_{ð´Eá“‘™ØJÚ‰Ïk²ÓkU*‰†u'¬&Ý!6VüvŸƒVä)¨äެm¼–­ Ï3ó0I^Zw]Kââz—í¬>§A>ka<èyH^ø<ˆþ ϸ&_o0ÙÈ&_Êâ¬)ôäDßéô Ó™/½öÔx„ÉèÑ8AuæÜôø„éò óQBzuÕ¼Â4æiæ#öoº¬°=ÕVØšJ+<Í')Í“µÂz&g…u"ü«—OBvݹ%ËçEÝ<ž=ižUK<ÍY’y\ŒïxS“'™ÌÈòêåI¦Ë/Ì#ô"ôj:Þ¦æç¦Õ'Ì#t|§25>aú²6yçE^Ÿ0+¡WWÍ'LkÖf>NÀwªSg‰ó~Oø:dmæÑyÑÒׯ¼f½ëXþñ2BIµz°Êà”ã{Ñë×9PÔɺò,ÞŒ[O¿ß®#¯ž «£û=ýjß²•dK Ùβ­„ìäÙQ@~ªÍ笳£Ã˜uÛ”õ]_ºñ”þš¹ÛTNñšÌ%à$þ¦¯“úëçnS~LlUvž˜ìLvî˜{NÎÜS­±Û”&Õz» MàÙ3 Ù>¦Û Fm/Ÿ#»ÚñW G땸{EžMƒì³q¡°Eâ¾ ÅÙèüpD[ëüpDÛíüp¨,¸¼=+W‰ƒ·´EXmã¡MÁZР¦jN–þ¥„’&-)c¼›#ÉG 40Z´¤Œ±£Ð¤d8YÚØQèU>\µ#1†µ,Ž«Ñ‹ÄÖ¹ä~ÔÁXĨ‘‘Ýñé@Èj³•ÏË`{a_¨Ým§CwÛéÐÝvp ø}×xyq$<Êi_ñ¥ê GÊ„a)`XJ)²0,€aû0,†­ì% G‚áÄÀÀ+’OB0ï"]&õ·Ë;Ù÷( ÆCƒ{ÃÐ[ÿÌÇ—ªUÛ¸O{t—yÒ¿tß&üm ŧâ¾ó_ï<ìµf*w`¶”wmå]GØÍ³'5,Ÿ‹Ü¹ìŽBv༇î Pä‚w{ «Á¿Š>"õ8«c‚TX†Ü÷k[{N8‡©Ú¤¸§’˜= Ÿd®©0Êd=Cè »’±>ï…w C´B——R@´s‡èäÒêQ¨?’s:yftÂ8ÕyÛ~[õj¹1îªEÎÚµ1—VÃÅþc<¸%cÑ·f"¢QrÎG'[7-ý«Êܪr´ñuÅ=ÓÔåó²ê l©Œ—­ñ$RÆÅjñ>gvd9™ÞƒTpå˜<šÞñàÆé^RkóÑËhÑ“Õ(-IW[Ö‹Òùݱå7`ORÅÝ¢ßp òÎØ"¿…"‡GG§dÙ_T¶i!uô©×Ö°,/)ÛšþIÉùtùŸlº•ÅeѬyT4^E_ÃÔë¦óö$Y¢­l~$[¼¥²ðñž$†¨½‰­íMt,9/ûE[ò$ù-Ú“å-窞g¼Ì»z­Ü<_r2ï²N-lÿ§9ó>Žœ¨“É—ØcçKøs’.3_’&¡—/I“ÑË—¤¨—/Ijõ<_2žww'0Æt#ò%öTg3_2û‘ªZΊ’ß쑪'ÌðÖÕ½ñpè{põz½y¾d©fTe):S3)9Ÿ.ÿ3›™’yT”¯W¹|O¢Þekžó˜…Ì{ZštÎ]Ö‹¢=YÞrN N&çáŒóp.!ç‘uþ…Þº˜l9¬õÖÅÌsÅxwye^½êG Ñoœ+sÎfÎcöçˆ\ž,gT+Eªj¸É5æ9«©^ölæiŠTó”óéò?³™ó˜ýœ{Ñþ§(ŸSdÎ=½ÿQïx8Ï”\…œûe¯Ëœ¦œû8rN Ž¸ïòx˜= Æ×®°ÛÈä½Vv»*®&d;óïdwüÝKÄšeu9Ûˇ|w"°âýÁÆ·]·`/h~ÿ>œ ž¿‚é²{]Ï{)) Š]“ؾK poÉèÐdbfYÉ2¾/?VËâ…Š›M%rÍâ•Ç[ÇÍòc)º‘ÁkÌrŒ/ãô@vÏ¡Ë÷l3–‹¶Y$_¯®î\‰"e?[¨|«­é[ãg»^¶o-ÂOÚÂ…¼Ÿ´ÀOÚ!?Y|¼%ÊI–ù’³f‹›Wpõ,S´W¶3Y¦q3™YñÎnßç›N6(Òžñ6ÖQØX'ÂÆ7ƒïêEçEé㸥"í@¶¾WEFŽfd?'æ²##½7 “Ž\²Ìz˜5›]Üû·«a±ô"§0Ë1í}P|>!_Ÿî$äT>=Û›°«ÛëùÖâ4$[„g+’w7úçwe9›&Ú»f=—¦cœ² ÆrÅýÀæåbØý´¶4‘æm¶&N†‰Ï†À'áYÃG9`¬Áº†ý%ö!ŽÈ<ä -%Ô’Cˆh°œœö@òÊ´Ü9Õ°#°O@’ú k¸5¸±ÕxŽj]€¼^‡ó úðÎñ9ú=€_ülb>:ëSÚØüh~¦ñ»(Ä2þÿЇhƻҮx<ÜÂô¤8€€)ù\DÄÍ·æ¹6?Wn~®Üü\¹ù¹r¯×¹r{`õ±×~‰¨Ó3?}ór­$9»-+dÕ‰m—iu{8 f•LÚò˜O}n‡3Rùy†ð‰`§>¯‹ÁkEâµ ÅkGâu ÅëDà}é[áüðŠ%Œóq8e߯ú„ól¢?c%θ–¡:×°í—¢úï ˜8‚ ogÈ[…Kwà9ö[7*W‰géÚʨž>££ ¢O_ðqXà°$v8l ‡S‡ÃÁð¸t”z›JÌ"Õ‘EC<—œ”dë%Ïh‰Ç¡’Áȶ$Ù=^ dŒ§&òœ•àDX“å¢Þ(¨NŸ»rÔ# Ý‰× FKÊ1äï©Y>`‡>ǧS ,ÓÑ6áZÔ½àŸ&¥)OÞê¥-®4‰cùÒiÄÎztÑç¯Ü§K¡'“ã§5&?ÕܸqCæ-ðNæ´º¯Ây#Q»,Áþ©ôy‰Æ*“G‹¢¦µ%߬eªÙÂa-³¦ZËìB´ÌJ¥eI’¯eV¨?ÃO&ÇO'³–Ù©´,ÉB£e¶ÏO;VËl)V{Mµ¯ à.†àˆÉ †ñ%é¦j¶aX7í©ÖMw0|éêæ’Ïß(Ý´/Ÿ^Î0]ËG7ŸŸŽ2¾t8Ž;œN2]ŠÒH'Ö3:)=£jFKXûœ©Ö¾Ê”gº™ŽWz-}nÙMû¯:¿‚ÌAÚ~D¼•;ƒüíŽï’憅cŸ´ŒÌÿ!óFL2#ä©ñˆòî $‹´›pÇK/î¸2MeÒ"ú„©xÚàŽ‚¼×!ÐÙxHÄøa Dëø| OK3‘–ϧ1-O`VZß÷õ‹ü¿ÁŬÌ@*3P” $…Å‚ìwtÙ©ì¢l e,.a¿£ËHeBºÖUB¾…uâ‚^Tò/èU¶2“ಠR˜¿*XaΪ`…y~w¯ö”L*É.x.Ö ÏK{ó¬ºTç±ÔâûGF0+Ü;]çø¦ Ô7‡VæÑhBoôÝí¸‰Ì,» 9W\â]TKÔ7rk~0Ãë„¶|Þ.ô.~Ñ8¡%»C¢É'ÏàYœ 2ë†çDîý'qÆ# Ûê›à%n‚7¸ <¿ œŽš Á[×ð»«ç~¼ÁÆaiGab¾cö~ŽØ²UeÄšEŒXÔ˜x%[j~%„:ÓÁ`¦÷Éú£Ë¨ñß×ò8)*¨ª3Fñbþ5jŒ™o»Uô^DÒ{É—A$_âG„r»œ.!zoôÉõq8•­ýãôp1’­–b½Ö•âäp=üøRz8{û£%<ÜDz¶N¦³Kq–>Ú=Z<ŽKc©£ú¸XKÝg©ÕÃXE¾ûÄ5Cµn'.JÓ™ñÏ—Y†8*zu Ÿ#Ë:›2 B5_sR1ÃØ2J¡Ö©Þ<7Tï<^èB3?oÀ¢Ãe¯`9D½°@ãþà¯êûÜߟZÒæ:qÍ%ÈÜ‘¿®%à[¢™=òË¢ÿ KÜ/ö|=y[ŽíŒúÝ4éëÑh»µ>Ü6ÍîÐ*۵Ѷiu‡&ºØp±Lr±ðãªY©Tªèyf£gK–i—ë^½^GUm ßpëåZÝqTÐF­ÑhµÑ<®6ZçÃý­Ut§2:ÀW{´Ú:è!H»+;ý¡ñ3†5jµèÛ/Àxª‡¤â#ƒ½‹Yoj­!0ïo6:†ÉvÝT¿‚p†º‰,›.ùyAÐC‚€—¦¼€W^c öj…·Òçg4®¢šY5ËUÜ÷5JAÕ+c©Y"!%ãSð¿f~eË`É¿÷77·þ­­åƒóáʽ;¸Üý½-|skgAºf<@Ž©[0\C„޶¶¶0Êí&”Û^ݵÖ¨Õ­-$‚ëèÏÖê=|}kû|Â7º³·v>¼³»üÎî\šè—SA×r]EhºÝ üC5ÖpßYdwÖîáGH™Ðôë.Bqgí}Œh·¹üh.ãËèÿ1;i—ºÁľmkBSxœ]NË‚0ìÍßðƒàÊÆ­¨¼± WMš˜Íþ»- ç2“™ÍÈ*5XÔ|DŸZà=êfº‰Lcîé(”F? ¨ÎŽ›ëhÒÒ¶ô‚ BÒL«r°ñµGp’od¬göd/¶e>Éf 9ØÏ]“WÎÈA²\ö\L›fú[xiílÏ££ýƒTs1öH ûQ‰lÄH‚اE‡ÑÐÿtìö«ã(S‰AZð§¦_Y íX µmkBTúÎÊþWºxœí‘Û8 FSHI!)$¤’FRHn›wóî HÉY¯Ûx3žÕꇤ¢úùs†a†a†a†axI¾ÿþÛïÇÿ»'UŽ{—áÙùðáÃo¿¯_¿þª÷Ú¾gýW9ª Ãû¼Ïâöð–þ¹»¶ŽÕo'®GW {>~üØÖÕJþîÿlúôé×ßoß¾ýüòåËú¢öµ¯ò)*/Îåç‘Ný\®ÚϱÚoù“v[iZ_Õ±aÏJÎþ/:ùþüù×6õOÿ-¹” 92b?çTþÈ™×þlôkÎ%?·Úåöìä_2òø¯èäÏ1äBµ ‘sµ÷YäÇ5à>¾:†>Êc=1ìÙÉÿ¬þOùwï èyä^«- ×Ú¶,ýÌXÉßzèû•žuÃÐsMù#×’U]ë>H_÷˜ÀyøY’Çvº!Û‰õŒå_mÄi ÿRuâþs´]ÍXœm§_gû)YYÞ)úmæ]×y,—²¬mÚ z†1Éêša†a†axEÇß“G°×§ÿóo/ïYòÝú\êkº6õ®x„ËèíjÏægHð–ö¾»–÷óüÏØñ|†yž÷u¾Ä.½•üÿ†þó\þô³aÏæŽM&ýwéÛÃäké#Ïú$?Î]ùMço¤Œ\ýȾ,Û/íßÚ¥—ò·âQÛ@Êß~6s?)}‰Î,¹ l¾ìçœô ØgX #ìvçQç´“ög·Ú ÷Bž™òîìÙ™^Êßuô¨ã®ÿuh½à¾m?Ž}{]ŒÐ.~È}Ðv_÷ÿJ;ëxçoÌgJöëôY]’Þ³ë@¶é.ì«)™áoqC–ü¿“?}ß>@ÇûXŸÀÎߘò'-üäÓÉÿ(½W‘?Ïöú›²±¼‹ôÅÛçúÞéô‰Û ºÅºvþÆ”¿ÏëäOœÊ™ôRþœ×ùÃþvì[K?[A}¥?-ýwöíåµÔmÑÕ‘ý}¿g\=ö€c¿¶}ñ³M¾‹ ½ÃüÃgggÓêüàÖ èÇ„çÜÀô-B^ëók_g?Ìò ¯F?œ£³« ÿ•Ý×v0||ØŽÐØ=ǧH¿PÆîÛgçsì·ã/ÇhØ‘ñI ÇtýÜ~×{‘òçún^§}¶ïZæøºyDžë—óÏì·ó5èˆéÿçXÉ¥ÿWvðô¥§O)í"û±c0ÎËvYà“ØÅ ÿçZòï|~à¹_%/Ï,Îôp\€ËɹyΰçZò/ÐÉé;/x†ÖáÎsõü_é·9?ÿ«PÌܯ5Ý»\í[½ãy|ÞÙÃçõÄ8ÔÏÝøŸgäû¿ËʱL{ä? Ã0 Ã0 ç_àk3¾Àç†>´’ãøŸÛÜÆøzä«Éø_ƒüÇøü\Sþã |<®)ÿb|ÅÊç7¾Àa†a†axn.µ•të†a?lÄ÷^Cã•ßvk­¬Ø½#®àýÜ~eûî)ÿ´3<3^×Û¶¹Âkð¬dlùcÁ&·jK+›œåo"eòú<.ãÊž`›Áê^(3zÌòÏöèu ŸÁ¦lÛ+6»úßv´î›<™†×ï‡ ¾k7]ÿ/lÓc[`ýOÚöùÐn}½×çòš„«ï ‘GÊß뎱š×Äzt¸^vßä2)?;WmÆrõ5üoäcö³ŸþIzì?ú¾˜‘Oî÷zx÷Œ{¹&ØÇ!û…e¹z.þ©ü»ýüÓÔÅ"ѯÑí¤ô ¹Ý1üÖóäÁñGg×ÿí{+Ò·’×lûw<ý=}GݽìÚFƨ^ú)õ¶ìzIpäG¿•ü ¯ãKì¬ÖœÎ{Í{ÙÉßeÈï ûšG•‘12éÇÛ­¯Ïq¯§™iumf—“>¿.¿ÕþÝ}¬®Íëòœ®~žaì? Ã0 Ã0 °š[u´¿›+ð7øSvq¬ÃïìæÖ­öyÎ…ç ½?Þ‚‘}¶¡åœXùçwíŶ‘ÚvÌ?ßå°ß©ð÷DðÿùZÛ“ð-q/–?ß³ñ=¿ê<ËÌ~¶Œ›‡#ýßÙæ­ÿÙæ»>¶ÓÙFkÿŒÛ"qþøz°r­¿Qèo 9ÆÄr¦,øˆî­§nÍY[;í§oæ:)@¸-`×§-Ø7‹ü({α߯›SÒí§Ýú»@¯ÂµåßõŸKäï9èîüÖ ¿É¸“>:ŸnÁ3éç _[ÿ_*ëmt°cmìÃC>äq¤ÿSþ´L“øÇ<²?ç=÷çÝ<ò¼6Ç;ùãÇ«ôsü÷èþÜa†a†a†{àxËŒ™\ÅÞŠÝûêpxç¶?0׋¼#ÿ5žßàøzæÇÑ™ƒc¿]¦³²¡x^úêl‡ò¼ •ÐÇ(×fù±ÿ:~Ÿ¦ËÓÙ£^l iÅnç59¯³©žWÇÏ~·\;Û?vþnŽ—í»öç’6eÌr¥ßÑý¿óUbS~vù§þ£^¹÷U O7O(é|;+ùSÏéGôü4|?Øfí´ÿÐ÷¶*?ÇrŽ—÷W~Ï2ÏoÅNþ–ÙŸÊ¥ÿSþ9ÿ×~dŽa«ç˜çòîÖ‡ÜÉßmH‹6öìmÀXÿ[ÿÝJþ…ý~Îs.ãÚyœÑÿmƒ4Ù¶OÜíï|Bÿ­düžò÷ø/çøÙ˜þÁb5þÛÉ¿ÈyþÝøïUä? Ã0 Ã0 Ã0 Ã0 Ã0 Ã0 Ã0¼.ÄP—~þ*ÖÎ1@G\⟿äÜKÊðÞßrKXÿ˜µs2â±(ߥò纎Jëì·º8”ŽŒ'>â’X@â–¼ÎQ¬ûQýb£àÚqôŽòwx‰ ìb÷)“¿ëî¸_ÊK|•‘vÎ ÞÜ1çŽÕM¼6keŸe-2Ç›ïú5ùŸ9—ó?K^ŽEº¤~‰9òϱQï±®Y®×F¹8–ëN?å~;:=J<—ïÛßþ¡-ìtñºÄ’yNAÞÇég»þCþŽ \áûNýâXÊKê—s)'é^Kÿg\~âç2}›6í}Ô³¿·áï)¹Ün]O»ûrÞ^Ì÷³j‡~†"·î{pæ¹âù29w€6”Õ/Ð.Ÿz-ví:û+ýÇÿ£ó²M{ÞW—ýûJY¹¯Z÷­Êêµ¢`%·Œ íÒ¤l9…¼ç•íž¶™Õ¯Ï#OÏUz+èÁUÿ?;îýùsŽçÜdš~vñàN·›‡Dç7*.Yç«+v:Óye;ôø8Ë}¦~éÿÝ|…·²+ÑޅNþ9£àÝÀ}•{BÆž#t¯é˜×xîãÕ­sXÉ¿k¯ŒS¬Ví›ü/Õç»uJ=oê Gý¿ð<‹Õ»L'ÿ£²óL¬ò:äD]²6Üj¬f™ògL˜ëz/¯+ؽ[{Ž™ßºrðÝCôM®Y×q¦~áè[»{y‹¼£®òÍy cÈzA¿§Þô»ô‘Þ;Óîwï„«±€Ç9—¬zÉszW¿”ûH®œóìóV‡ax3ÿ ‚ú à¿%£×mkBTúÎÊþ’xœí‘) …ˆq ĉ8âDÈ^éê>×»gI@ÏÏþX¯jjg»iЃž——Á`0 ƒÁ`0 ƒÁà?üúõëåçÏŸ|â:÷ªçâs¥¬eø÷ÁÿQéùŠþ3|ÿþýåÓ§O|â:÷2|ùòåßÏ.¾}ûö;ï°7eôûGFÔû´ž•žOõ¿6Ñþ®ö_õQúv•¦“×íßù]Tò¬ä]½^¥Ë®gí¼{>pjç«zëìåkßu¹´o{šyªþ¯yeõŽûŸ?þ÷{è-Òýøñã÷½x†º¨/ D:½é3Dþž&òˆ¼¹e«^H×õyê i#/OGôzüϪÿÇ߯_¿þ~î :ûsMeÑò#M”Ï3YŸ#=÷2û» QžÛ›ÇßЙ¦‰ïŒ[\s=Eó8´}E>¤GÈ©éTîø  Ú²Ê×Tªg-Ÿñ}×þú̬üVfÖÿé¼Ìþêo¨SVwìzV}Ñ.âƒ/Ð>¨~Ê!?÷UýùÏËßÿï1¸Åþè<ú#õîä¥þ•ý}âÀ¶Ø=þF[ þ÷~†¬ôQÚ‹Bó¡N™.ð·.+푹^edÔç½üLo+[\Å-ö§k»ïä döW‡ïÍú(}Ýýê6îqÝý$¾#³?zÐ6–éBÓ©ÍiÈïöÇ?òLüåÍ7®!ã3ìO_Q}Пuõïêoßš™é[ú=ž¥tk¥È‹ûøMÀÿ‘Æï!'}/õƇdºÐr2ùÉ_ÇCú‡ÿﲨü:—©ôéº ƒÁ`0 :8÷—ÝÍòoÁ=¸„+8-ó4}ÅÛžÂcåÄ¥XÏdq{bUþêÙŸÖq˜Â©Î®è¸âmï!«Æ¶«g*ΪòU\z·ü[ù´GAåÖ=^§+ruñü{µëLVåÕüþ çU¥?)ÿV>­Ò“ó†Î)úçx…|œYé¬ÒÆ»giôãœ\ÅyiÜ^cæUúÓòoáÓ*=£ À³Âó!óÊþÄíT•³ÓY¥µ?rfògþÿÊšûWœ—sÖʽVÙnùÔõ*ŸVÙîXù#å=ÿÌFÈÜýªÏ«’—+[¡«àFô~ÅyH«\L—~·ü[ù´ÎOÒ‡£Œhô5žÝµ¿ŽžöT§ö¿êoà”w¯|Sf®ûÜÁÓŸ”+ŸÖé)³·Î;´ìÌFå³´;:x ûëØÉÇ÷â)/ˆOSÎ y²ëUú“òoáÓ2ÞÎeÊ)Ve3'w®”ç‘gGg™Ž=ïJþ®^ƒÁ`0 ƒÁ ľˆùœ‚u k˜U,ªKsÛþçØ‘5€nYæ®,÷çbXw{ ⬿wÖ&Ýúõ™û3®Q×”øN¬ðQev× ]¨¯Æ·ºö¯gcH¯úËžçîi½÷Š{î—ôÌA¦3žéôIó8†Çh³òwòÊdÌÒu×wËÈô¸ƒUI÷äWçq”ƒð8­îÕ×çI£>+—£ñ@åì”p™ôQÅŸáóÈGcþZ—ªüò\ƪÌêú޼ÄUƬìß·]ÌÒù/ø:íÿèÊÏ3dç;É«:gB9ÈRÈôï|GW~•—î×w«2«ë;òfz†áŸt|éø+—i5þ«Ünÿ€žá«ÎŸgºZÍY|<õ1NyŬ|E7þkúªÌêú޼÷°?õ®Öÿz/k›Ü×>ä<šÏÿ=Α}NŸÍå»Î…ùžü>åuåWy­d¬Ê¬®¯Òdz ƒÁ`0 *èÜ\?W8ÀG£’Ë×ÏâY»ûÌÕ:‚ýÒÏDg«öc¾g<‹ Ìö2+²¸€îÙÕýÿ'ëWµ±6½žqnØŸ{žrèuç"w¸<ÒTkôÎ.™ô\ r¤•¾nåOàûïÕ>Uì˜~c‡#T?£ñ+®ëžyöï{¼QùÂ,,^qF/XÅûv8º.Ö©gá×3}íȸâOPùì ~n%ãhUÞG4§çø(_û…sn|W}Tg&x^cëô“,Fíý…¶Çù°ÃÑ­¸ò«ôµ+㊠<ÁÊÿ#+}/ãUw8BÎRh_ÏÊïäÑ|»33!m–r\7U9Œmêß({ÅÑp™¾veÜåwÐé[û¬úx¯ëG¨ïµÌú¿Žß]ÿß±?g;õ,çnßÒ½Úow8º]®³Òוþ¯Ïßb÷ÿÈîã?úÇOVé¼=ù¸ZÙ_óÎÆÿû£#¿veü?áèv¹ÎN_WÆÿ³Žªõ¿rÞYL€ëÚo;Žù°ŸÎ1³g²9pV^•Gµ~>™[_áèv¸NO·S÷Ÿ3 ƒÁ`0¼ÀçèÚïQ¸’·¾[ãï¾×ØÀ veO\k^8Ö”¨v<ëZbzº¯²Û\ŽáOìp¥Ž¯b¾n$~ð}¬¾Çoèz•3ñј mKã è«ãvUÆÎþ]^»i´NºÞå¸WAö»#´÷xŽë”«é‘æjßÊtÄõì q ³:£¿ÏE=Ð z%Ö…ßqù)CcñÕYµEÅÑí¤q™´®ÊyRGý-¡+u (K\ûh¬PÓ'¥Ü*^Ø¡²¿^¯ì¯ñqÚ=m=y|KóòøvÅ«eü‰Û\ý˜rÈŠ4µŸÇ=Ž›ñ{Wê¸úÝ1Òûû;=Ý·åòxÚëpû;o@>ú›”ȘéT\ÔŽý+C±“=*ï™É«|˜¿GðJO¸CÊåW]ù–xŽ1.³™ïµ 9_EŸÐ±©â ½ýVýqÇþõÊã)vÒ(ç¨ã Ê‘}Ïì¿[Gåñùw¨œŸîǺÛôã{-âƒoô½ÜSdו_ËžïÎ׃Êþø2åÔ;iT&Ÿw*ßÎwú‡·™“:Ôº§ÇÇg×­¶“SþO¡ãsÌìÞjÝêºï%Z[~_˯déÖ®·¤ñ²+œÖñô¹Ìw]Ùÿ7 ƒÁ`0ø» ë]ÏÜkÙíIŒu¾+e§L]«ïÎÖ‚ïoA^ç°î;=GR¡³?œév쯱Ö;<÷ôy‚· o$Nî1ç´ˆ=:ߥPîVãžuŸ£<´Ç <&«ü¿ê3K«yC©¸/ù4–£rÇ)i=µþ*/|ÎŽ^]ËQ¹NÐ1qŽG¹¥w>ù{å•á ?ÓKvÏå:A¶þó}E:·ÈÎ_«n+{ÑþuÿÃ=ì¯ó¿êÜr ³›÷qÍ“¾Ì³]>>ÿËdÑ}+½øüÏå|L¼…õâàõ0öÿ»1üþ`0 î…lý·Še€·ô®ùŽg:…®×ºñ¶Šž`W×÷,3ËOã?«½‘]—¾\9ûPø×î~Í[°£kOÿûWùiìGc~Æ)ãÄ-<žw¦¼.ý3qÌ}•ãž'vªuðw$V±’¬n“Ñváò(²r²ºÂÿ¸®5Žï2©½ˆS;W¸‹ÊÿkŒ_ÏKÑÏ”ó­8B/ÝÁhùèEÏÕ —'‹9êw?K;Òx:òxðº<–ì|@¶Ûc³ÄϽ®‡§ùVúàyâÆ»c÷ÿ@Û–ŽSwÍ8B•òq®Ãîÿ]û£=é2ôlBÓe6V}eö÷¹ˆž­«òRý(·ØéÃËáÞ VþßeÊöZT¡ë„4Ýûïad¢­e2Þ’ý+nñYöÏæøBõ—ºŸTq„®Sü×ÿ»þß”é<›Ãïø­[&Ï=üfÿŽ[|†ÿ÷õ÷s°zîPç)GèåèÙÁª}{Z×…Î3«³™n7ÅjþpûWó¿Îwfåtöï¸E¿wÏùß[ǽ×;ƒ÷…±ÿ`l? ƒÁ`0 ƒÁ`0 ƒÁ`ð÷á{ÑÙûô‘Á~ÿ¬ö½³ÇÒßi`oLöy„>uo©Ãßi\q‰ìKó|}ÿïÒû7žÉSvu9ÍG÷íñ©ì¯¿c¾#öÙé>·,Ïjoð­òw{õÕ†ú‡Öݲ‡Lûù=«mWèêòÈ2u_¤ö¬ÿ8د–åéŸjož?»Ú²kÞËDúøßß±¡öm¼†ýýwÔ>ôÃì#® }©ÛË×õ·E:¬ìOÛ¡O;<ÿ¬ÿsüy—›î¡Ô}›Ú›¾k‰}~úŒî±Õ|µM’†ï'8CTþ®¡¬o+¨[Wžú‚ÌöŒ½ø†U™ä©ïïQ™õýr'ö÷½î\ç­'ç’tœTY¸ÏwôŠÌz.Dó¥=¨ÜW|ÓÉ~q=_¡¾yª¾M»ÜñçÙÙÍÇ÷–¯äÇkþt§ïbS=2æû|¥Ò±Ïy´NÚ_}O¯îe×ù”摽ÛöàýðtLàœS6Ÿq`CÿíÌjfý´3–#Ëéܰ³?zÕ1 ÿéíHí¯þ]÷š“ç‰ýõ\"íWËÌÞ]åó¬ÊþüO;¾2'@¾ìã@~tGÎü:º«üªç{åÝuÊþê7m1‹è™Q]ßPWVç2ûS®Žåz]Ï¥zŸÒsý‘ÉÛ×3ÐÅ]vç‘îªÜÝxwÒžôÝ:Ú—>ÚyŠÁ`ð¡ñˆ$j¢ëw½ymkBTúÎÊþ¢6xœíš‰më0]HI!)$¤’FRˆ?6øc>>~Úsm£®+ŒvÁu…Õ‘øνYšuÌ8³´ú³uNÒ?¤WP>Ê1Js¤ŠWiVÿçü‘ý_uKðEÿ‰Ï¸ˆ/rœÌù£Âˆ_âšgK•W]×±ž™ÍEYòclÊó,[¦ŸTœYH»T¾Ïàÿ¶›ùÿíííðŽˆ}x¦÷ÇL#}A› ¼ÒâœöGüžVË7¼—‘^÷}>“iÒžº²-çøèþŸiæÿì;}žLJø°ìXí&ÇTÊP÷3ýTÞ#¯ôߨgÿ®ðJÖùl eäý'ï=ŠÖø?…͘oéçùn€í±aöëì›ô½|7ù>šý?ÇôU–%Ë;«ï¢­ü/ñmöµžN/èãI޵Ù÷fóQÖƒüz{Èñ<ÓdÌé6éd™nù;è¯ÚÊÿ¥²Q¾–mû{{÷5í$ýÀûiѦxæÿg<Æ$ò"Í^¾%=êü¯”RJ)¥žS—ÚçÍtïe/ùÖ”ë —°a};kú÷Ô_µöyµ?¬9ÔšÉlÍzÒÿ}m#¿óGßüKk!¬›ôók(Ë9êGüã1»¿”Þèz–×,­Q¿&îlÍiV濊ý²Üû#_Ö<òœöÂ3¹Îžm$÷^9g —{9&°w³&¼Û:Ë™ë‰uõfÖšúºR…÷:Ö½L+mWÇôW^£§Äz%÷I—½î¥2Ÿ£î—lo£þÏZ¶f?¾k4öW¼ÜÇ-è#¬ó­ ?V/ì—c^ÿ·!÷!{u̵ʴU¦ÙóÙ·ÿAœÑý‘ÿGe>G}þ?Åÿöþv✽Žø3ÿÉX~j½úœ—{øzT§ôA·O^ÏòʰÑ>÷³?syÊ|®¶ðßG)ŸP¦U{× °.ï».Tæç}6žÚ³‘-Æ×F`‡£Ãp]Åkß…~Ãóbà ¶ О$Áwݓٱ„ÁñÍ|süñCo•›ÝA+Õq3¶¾lOàx@á(é0ða¹¯+?÷  ÜT,¤_¯7¸s\ÛÞϘ^Bl1)üCó•Ò+ÔkÛ(îFyN"8õ–dPCÌ_9ÈÒ>O0&l«4¸Im+þîënwîÛGrŰø™à»ø)/tih“f˜õÕ Ñ¸X†>ÊʨËEËÅòã)–Ô<,é6ös4ÅáÀÖ5›zàbð?¤¢Jðàö\<OM%O#(7ä6à:§= ªêýÓ‹YA£÷ƒH ¶«L s6›ÎMƒXêÈùBcX&ǘJ½te».Êöü¨Ï 3.je(”Ï?Ô?õèÉLÚjï³=€ÝÚ%wƒZˆizFTxô„$¯kPö8›E·mòø jAO™ñÔ×úÞ€«ž>~þ’†åÜàØ†‘ºéB9úµâ † Ö¤8U­«KCÃv´jbëL èåçC¼ï€y¯¡ ç;¤mj P.Ô —øãïDkñÂêwþ¡UÿE€3ôܨÁ”‘•’8xëUÀ…JÊü¹s£‰ž\„³èÉŸŽ+;}s­FãQ(KI­î÷¦XÝ›„ƨ ¹1 Ëúþ+Kú¨èdXŒ];JÄ£Žïcˆx$§DÑ×·Þž¢X`i× ì¨ëÑ@lÌûrn°m$¨Æ^×9΄ïzBGÏž Q=Ænfäk„Dêö¬e; <¨ýøaÓü>,µâ¢ž›jÆïk‡0BŸ[p(õâ$¿º‡Ç ‘ÛöÌpý4 nËËq`”XÆ“ù úvϵöèÙ.xõHnŒûorŸJ¾€Ï5¬ñÁàÿHàu©‰ñê뇗 fà§ í××a앆‰[Z:><ÇM@J£9óý¬â$Óq]¡}=H… kÐþ3ÆÊºã¯ù鲺t¿Q“=‚, 7ÆÇµß»ýìêçs Ä>ã¢3ø¶ïÞÜ6[¦Ñg•¨— RLت¨ù­?·( &wÝ.7C#~B{‚]¯Ó ×â—UÔW² 7™Ò1jk~‚e”cG»¿rËÇùÐãDØ.=ôËK´ÜîëÅ@ÝWÝDZMû0å€ãûíèä¼0Î\Úòxó®vÏqßNZ¢ >#Æ ƒ„ŒàBE— ™¥)•‚º&yØA}tå?Bûê Yìm(ÂWIpáɱò€ñ ¸|½2—+èýà\2·ö íÞ)lÜ8·ÖtlÁ@Z.B½€£ï•eñ…‹ƒRSßôƃm>d˜Iéþlþôò'N a†dÄ¢G3¹%†¼#«)?è¼Ï$sß _5=²íYÇBR#-k"qGP-Ðeþ"çf­ÁÂá%Ö©-Ï“37êÐäÌÈ8ÔM9™ÏŠŠ,¬èä_*n;H‚ÁúÆEBƱ†Öcl¿~øÎî±ç Ë[ƒŽ/saŸg¸IE2å,zÒ1Út:’kLÆÓçÎÁ¡ÍíÈ™壋G)æÔ{7ÊoðËÅnd¨ø¤è·ðá•{@rõP˜>ÆkÂwŒk×½¾¡ #¸kXfy‘ÖEÇ÷šÈA©ÍBÂ9ÂuM°ÛÞ4P=¹_Ól’ÆgW®Ø‡ÝN•Õ#–_n™‡Gï¤pp ,Z…ÿUu›6È“÷ÃV¦›Ó°¸å0EK‘7*|·ý]¯{ü75F\éÔ¶»úzQØ z!á‚Ç uH€>îÿó¦upš²ÚöõTÙ£»o3P)ˆø´[à^Õ6ãÖÚóã` -šd&á*=¶%ÄÀÊfY’<¿^’ƒØ·`_6¨ßÈ|h¸Ìë3Ø¡>€„2 Pºúqÿ×7ÏŽ³ ýÕü,Ns¾j»F™=BµŠü` ¨í³•C§òöiŽU’)Ré@LÅßÒ®„‹ÿ‰·Ç§mb<2FH“Rq°²ùF½åãø÷Xºi䎲õOm¬GAýÝ·ôÒ}:¶*¾Ëu ÄfØ:@Ê«RH™.òÙ6Âñ¼±Ã6Žjå§cæGOpO- ú­6HÒýúÜÊKÉJæÛUÀÎì:ºJǃ¾ŠýÉvÆ,¡•¸¯3ÿ‹DìZ‹¹EñÊÆ®ÒqqðìØ7p?¸ƒÈŒÞK¬÷Å%ȧ$;â¼?ýQ¬r6³pP7`¼a™†¸é^=„„ýÉRç¶_†õ™³)m£„Ç>ÀD3#£ ¼_' çIþÂÉ­uÍ‹CÁÊ-Rne㯄³²Ïóss•ÀîLÏÌ<È­/µàR)|Lt_1»éòÁ¨L¿kÇ=‹rr 4ùìê§ü/gýšEÀrþÀ~P†¦nBß[ ®\g[{¡«‡’g£ãYÛvRŸW'†‡ {Fe°m1ïÞŒ{ Ýw¾LÿÕ;7¨&$‘çþxúcÚøÃÐ0Ÿ ŽžnÝö‰óí&úÚuÅ@5sCèCÕ±mœñ8Hƒãefñï¹Æt ’Îx{q(a¿²ÛÑ‚a¡?€ŽÐþQ“%ò§ÌlÁ¬ö4ô‚¤Ï‚xmWI׆€Gí¯¦CèÒôì1ê’Ûk×QÖýŒ3iJhÜ,Çÿ€úãú‰KºšRˆ÷ÅÄð¢ÄÂÈöÈO`úÈç…ʲ»†½þ4á)ú%ˆùÔb6îB8ý\ ³pµõšÉì«e<êºíS鹂ØìÚ+ÓjsðÄpŒ„¸ß%<&t{3?Œ£¬|N)p7b™Ôîãé?Ôa¤iäDµWl’¡½ðˆX—ŸÀZÚ>;uø)¤ko)#WáÈÍSšn®cR½xô”{[ÀsXv1¤¬95‰_¬¬0KéõÁжՙ7Ú>žTp¡5‡‹¸Ù´¤l3¥Sü"ØêLXê…ç«[á5mö¡ø º¿Q="u}ö‘ÆpϘ*xböÕ‰ºîã—ã#iM+³ù@»Z! þ·Ï®~jàÒY”ݬ‘¡´Ò$?5Š• mtêuˆ] ‡%Ž@Ž÷Ý…:4h8Ûƒ¸˜¡»tuì3À;ú ΑO¤1A/r‹¿¾™ ÆÏR*5ÀÇûÿËìiÜ&j#Y2:º$Z(a­dæ@ß>'z ž„×L¬¯³¬Û뇶©½6ZÑÀ8|`Æ6Ý"åŒX1ß_€z' îF-©÷»Ñû?°úX^ò A:?1¢;ØÌh/KžVB'õ üvOnÏFSò‚¼É õƤê°ïÌÞQ{=kh7™ÀMå¯ÀwXQùpü\vïÍ“ÎO/ÿ¶.ÅöÚñ¹ ôN3·ÍHKRðÉlŠK–"›qò”‰^Wܳh¼1wtùã  h@§¬Ñ3ðe6þN|–’¶Á©‹I;yîó?8t[ƒ[é!‘ ú¥µ$,ήL­·e–"z¦å%IÞ†AêkÜÌRäl!3uú8àÚyßë?_žWÅé½)ƒAbCÒõéõOù!rz¿„a¢¤5S±ÍnÖ—£³ˆ#Â<ý43yÜ6"ª ÒRýêÑô߃C‚Qå¿&>¸[¼# BHÍǽß{v¡eà×kOÃ×TÉlq(UHð͵h »Ý”8º,@t°µöÈÃÕ‚LÛ{p´•ü‰/Ø*ËL"d_y ïŸk,4î GÌ–ýÑbD>,ÁÏ.ok"ýD;†|7–[.µDÖCíAœŸä#‰iÇæélÿü¯‰ÏŸ¡IÖ¬ÐòâóÞD¿q½]+ÞeE •ò–_«-- ™ƒ¦ Ú°c©›³èç€^ø¿¥Lô˜q±1~ëCßC“ÿ”øžC“9¡ŽgNäóýÿû“õHÈ8Bkhêç«JÁŽ#Z¤-`úVo§™MËa 9r$îÕºZ-¼hókhò ?C“$· û^–ñtÄ÷¿9d(‘8PÝ…]Ú¶š£×w[¢wléÏ;µŒd•Ôn—׆ôoÎK«èdù H¦Þ„(Dú¯…¯Ÿ¡InüIÌ Mïãü_(ù¼ðœ’îð5)6H/öõÌYÍ1‡¸ ±QRæŒk,nËÖûXH½­ʉð‘ƒÊË?>ÿšdf“ç&6³üü½^EJ–m‹ªétÞÈ{¥C—µ›½ÌC¬c`½îÙ0Ê…v5ÃÂx<äƒó\9Y·Ýÿcáû×Ðä}1Ú06"×´!ÖóŸë9êdl:'– û1H"Áz'7ùQ‡q›„¹Ž¾¹ÉŒí#KâR.ò/C“»VÖÜgÇQ×Ȭ¨åéãó\ âì`¸·?dÜÛ1y³”åuMÛ6Ƶ8ZX]8Ãø^p…ªwQëE¾ç &­1frRšÁKiûñçÐ$G¤ÎÓðÔÝœÛÇЕŒ¯ðh3'À®Âø”·“Ç{¼±š;;Ö~F öKî37Ðkš–Ìu<pöµdÊŽåèˆ+C¨š¤™ Rá‘÷Mz¹Æç¿7)nÒ€©æöÔ lEGyÍl½‡:Ì‘ÿIÞí’o±BìÞÿ—S%|ë‚ÎЕïsTuÆleÁõ’bšA}A¸ëæížÍ´þ1ãý0ÀA{ÉKù“ʘÓº¼tjÑòÇÐdLI=rž ¢PRgóûÇó_Lb¸R³£é Åžël?«â”ž)!°Ö[«‰FÂæoÖç wi&k^”CV(t@püW2Ó÷²ó{hÒxH—GRn²͉ŒeCbúxÔ‰°ªé6GÁ³©÷‘¬Q…Öd27\ÌØ«dœS‘É=\»F§f*¼0é‘Û£ÜOPúÇ5(r„Zß™xQ‘Z>¥~G AeN-õãùÿjYôÜ7—Ò¾n;ún?Ó¹"P·¯xÒ}‡·•/àNäöÞW:ÝŠ&´—×¾†Ù:x" ꭥу;†ÄRç펔¹ ®cä›…Ñ™õ±ñÜýüýElmG§a= hò¨BG_æu…³×YnZì«­FYs ôUéµ"zM&Ë:ËÝGn¸Ïuí.õDX‰ƒÉ5XnšÁ¡ö›;Þ}¶Ô«%XO?½~2&ùÝØî¸Frjj¢¢…8ˆ› yAÊÆä*±W ¡³‰€©ÒIÒ˜÷“9/¹§u‚b)õZ³l:ë sá¼¹ 8²5ÀÀJõš>~ÿi´œÐó˜I¿þ3YÏÔ•;ç:#hEL¬×[ROd‹Ê^GéšAË©fß~Y!ýËÐäEåêñn·ôü0¯~Åà/«AÝò –Kåm÷‚±>^ÿÝWY¢q†"µ¥â<цFвÎë*c¹½:xÛw„|¤Ížw­—%ýehRg°åØúæÜæd¿9ç´üÌ•ªËÃvž3Àv Dg™hç>>?ÿò3é‰hŸYDkgCã(ʹƒªÔ•ô×SÉ·†¬Ôœ|è 2QÁü94©(ñ½?OG•Q34… fëcc³¶PopT€Yaƒ–W(£>Çÿ@­tãX4ˆ`ðLG¦Ùžp•‹É„ãaïãšÅ°l\¤[9‚cû26óâU M6f,ºŠò¼Ë'›¤…žCÐÖñ4øi¥?W~p¯sÏ ?žÿk³ÞA÷×KÃrŵÄÅÎk@–Ið|>^xðs¸?ý\Õð`,DèäõÌ’©Œ°Žû5¯éWÛüÉ^£èøçw €DÓµMˆáøXf_8<%|8_왉pPó1†…ãî„WþÀlm߃˜“Šf?4žý¼»:½òÌ“_£Ô”v ûûMà;kž:pÍÖ²â_ÖùásjØŽqw]$F‡£}ÿ¢»y« ××û,b'Õè°N‡Îþ=Ôo¹öÖôÔ0, õ¨Çÿº»â~–ÆM‹ƒÄû Y•R´‰¥4â6+!”}@~u‡j°ctCÔúàõP.ÅY(ýxÿ׎ ½×zµ?70ÆWXFÜ£¾oŒ½·¯‹3z‹Š€0°®Ác8¨R£êG±¢g›0àö ¦T—Uëøò„½»‹w­"/4³ÞÖ÷¿¾îC¾Q`[{O³“ºcÈn¯]•¶+•{Û{­ç¼ÞÕÎ N!3•<®ÞÇVí‚ìyxé,!C æ™b². êlfÖ×åÁø'„ÒÁ\ ןÎÏíãëgu,μ·¸šw-/ôß3Û¥ùºñíN°íâX(›c ƒŽÓâoõMDð‘sÊ¢a·#ü#0{c ÁÈÀð%µuDWCB¥Z€AéÍZ6»,Øçûxý (Z%‡±µØçw€ÑÀáŠHbhTb2ùþ<$÷Æ*cÀ¼ænk÷³”_÷וð«Ð÷¿#{D+B<™!âÇüS/¼gÿÃ`ø9”­.^]ŸÃŸ™ÆCíÌ+>™ì3ïƒ+•ý5Æë]¤q‡„Äp¦j' r¯9µ¼FDȬ)~: ã躟—9GmÜì“x2’¥ù-?s–raG"yvU³pa;R«çãø÷ăœ ÌAŸ\&ú¹“ ÿ?#Äìn Ûí0Úee½´“d~o’qå¶­¯!!DzP^H)>¾oµëÈ‘.®Ä¼‘Ô¶=Hy»7´S´-M½ á?Þÿô8y£c¶Î™ß§q„|Ü#Þ5"ù2Б ‡lµm#—ýU‰ÑÊ»ìýeüΤÎV†ÎÈbMƒ¤Í˜÷jAÌc7¾Z ä]> 4½gbö Äýñõs 2WRsKgí6Þæç 's8qzñTT[”R›[wÄÍ)I‹—9ø5x¥ŽÜWjýÚ #”!nN+zP’ÄÚ”â ÁKgâ²ÁÞTEŒ,ÂÁùÇë?³¥{é^R¨DÝ¥=´R¥u^zîc¯’§³Ì¥&D¼‰'i74øSËJ½ß”í&H¥æU©Gà»[û‚ácrÃͦŠ<ú’‹¡׿~þ‰4}Ú…žíh¢°Î;¯üòlpAZð´%’XÔZ;t®Q?„±÷÷žóy™ïk1+Ƴu6Â[«©ÌÖè† áDõ™c4¿ÆœÚóÐÝ*d„•B#!}Þÿe>Çsamh¡¹ÿêG3c^çæ—8u9󼵕⸈߂ÏUéy‡‡B;f "Yi=ÖD§ =Êâ‚Á4‘íŠ&¡Ž’Þ×|¾Cý“Ò3»Ä÷šg]Ø~üþ›WgjhSIXU“‘"1A5Fr4×{üáÜëAä—éljŸw¸TðÎá–Ýt6<ï/NÁ  \û¤õó«R¥tÇû˜a| Æi¨ÌÍ>‰T.šWo>>ÿxŒ•ϯ¼Y¼æÈ{ç··m,J²{gg}Év~)ê]Ñæs!?wøè÷X›‰æè˜G—F°¥l!7ކUœÖ|Cnáfï³…:.@mq%®Á臔±ÜÿÓRu?.–:¯èaBë¼ÖºÌÌE#Gƒg'yX«Dåÿu‡SWºä™ÇŠD)Œ˜21×ѵ‰VµˆagW¬àP޳²q½ç«ÏÈ’Ï Ís”?¶•@åg")ªíªç©s\ÖTòâô{Þê«f3g÷‰oÑþÏ^w:^ë¼"•Ý{¹ªd#³!φtà}©,nÆyWFKv„X”4–ƒ|<ûB+ è®Â8ˆi=-;´³X 5l=/xlêóŽw•–å÷n³]ì à+SÛÓ¼,{Õž¯/ДâV¡û»+<< ØÌ¤®Ào ŸâÞçèÔ‡eNpù^Oÿþ¼ÙùŽOv qR¶ £wHF3ûÝß=oý;ü`~k’RÏwCßÏí²”u¦ãk¡jE˜|û‰qÏ©ŽÔ‚KV,Ï àÏ*?ÞÿþxkáÜ}QxÁU¹éœ/MÛüÞÄÂá= ¤Õ°pý¾Êæ=çŠÎ^xúBË÷ÞÚKx«§Ó@ð[òÎI™¾ÔYB]Tª¦âž™çÿúÑKqÉ.á½€PÖÛwÿ¼ÃÓAG\ôšWÂÏ‹Øâ9ùãÏ2S³—åA\è“Y\œßy=ǨðGj÷¾ÌéÇõÕ¢ÂMî@âŒtÔ‚¶„vD¾üƒzÎ+²ÙÌBĺ\·Ÿ¬ü¼ÃÕ¬…÷Ùë6ËÛk™6Lþ¸Ê¦ÚRß_rýnl|UAϯ< ¢¹Ë|¦²!‚¸;ºÁ8™_1ÜgésÞùÆCŸ‡ÿ¿ä >êVB‰~æ,¶¹® Ë˜_ÿ&f™äÕjpñ/WÙÔÊwaùO ¼š°H 3ÉÛûþ¾I`˜ÈòuØù»õ¸1êͤÉû·ÈÏ÷ÿå+_ùÊW¾ò•¯|å+_ùÊW¾ò•¯|å+_ùÊW¾ò•¯|å+_ùÊW¾ò•¯|å+_ùÊW¾ò•¯|å+_ùÊW¾ò•¯|å+_ùÊW¾ò•¯|å+_ùÊW¾ò•¯|å+_ùÊW¾ò•¯|å+_ùÊW¾ò•¯|å+_ùÊW¾ò•¯|å+_ùÊW¾ò•¯|å+_ùÊW¾ò•¯|å+_ùÊW¾ò•¯|å+_ùÊW¾ò•¯|å+_ùÊW¾ò€ÿÝš™w)¦÷2iTXtXML:com.adobe.xmp Adobe Fireworks CS3 2007-10-06T21:59:47Z 2007-10-07T00:32:43Z image/png öX‰¹„IDATxœíÝÏoç}ÇñÏó<³Üä’%RR,˲“:®‚Æä"rçT#@‘ƒôZIÍàSNÎ!0àzè¡@ Z´IÓ*=4¬ô¢&®;Nì8‘-ÛúaQâ‘»ËÝ™yz˜Ý%MÉ_‘”H[ï0 wµ3ZöÍgfžº£nÆ9çæççÃg>ó™Ù‰‰‰/„þ „ð;’¦%ÕbŒ‰$wÓ Ø .Ƙæy~½Ûí¾º°°ð?óóó?ûú׿þ¾¤|‹%Æ[…`d£[þÃúúúïV*•¿ô”÷þ¨¤ Â|Å<ϳ,Ë....þëüüü?~õ«_}SROR*)S?·ŠÆbáœsiš>Bø–¤ A(€®(Iyžçiš^:þüß=÷ÜsÿðÝï~wAÒº6†cˑƆX¬®®Î5¿õÞÿ‘¤ìbĘŨ¨¸ù%ö˜“$çäœ,›Ä,˺W¯^}áÉ'Ÿ|úÕW_]”Ô–Ô‘ÔU¤±9ƒX8ç\–eã½ÿsIÕòÿÌóTö’ºeYïþˆî„ÆT­MªZ›”ƒ1@̲,}å•WþéÔ©S%iEÒª¤–Š`ôbŒùèvÉéõzOzïÿLýPÄÕi-jñÚoÕ^»F(€¨,몵¶ åÅ ê´–Ô ¸BròäÉ?þö·¿ý‡’Iš’ÔT‘œsv\Œ±Uü·÷þ ’¼bÔÚêûê´—îöÏàkŒR}|Fåãüùó¿xä‘G¾Õív¯Jº*iYÒšŠcƒÝ/I«««ŸõÞ¾\»×k àcªÝº®4]/ºcÇŽ=òøãZÒAÓ"’ÆT·ð’T¯×ÿDÅÐÃIQ­µ…»öÆÜ]1æj­.¨‚D!„ðo|ã‹’fTÄbBRME,‡*|¿äË*hf©ÒÞº||õºkÊóâø¥sÎ=þøãª8f1¥"um:v‘HrÞûåFºÝU•ÅÙ-ï½÷¾Þøõ›êt:òÞ)„ $ ÚtüÀœw >È{§F½¡ûŽÓ¡ƒS;ÞnÚki¬Ú”$=ztNE$šý¯+*b1Y$.\8ªbÈ!IꮯíøMHÒ;ï^Ö/^û•–—–Õjw”g¹’$(¯¤’¨’Tvåÿ>ÖœBü‚][miùÆŠ& MLLhvnN¦›ÛÚôzçÆ ÕjµÒl6'nܸÑPqÌ¢¦áq‹ž¤,i6›k¤i¯µ£Ÿíí·/éöº|銲}zv~~þÍþPU1ªÌâJœsWß~(ΟO?øáY­wÖÕ¨×õàƒszàXS!”ÛÌo¹>ƒèÚµ« áˆõªysýyV’¤G}ô°ŠÑD9ª(φxçœóιO WÜÞúü[ïé_þíyõº=Õj5=vú¸z`b$v[ž÷´Þ¹¢˜-©ZS‰–——ÔíföŒìI>|¸©" c1¸ÚÜ;çlµ¢Õ…w.éìÙÿPš¦¯ëóÐT3ùðìŠN{Iíöû«(ø •Ëꥶ_üqdo¢ÙlÖTŒ$’‘Å÷çUÌ(VÜÆÈâg/¾¬^ÚS½QÓ©Gk²n{v¦µzM«+—”T%!Ñúºq®ÔÈ¡V«UTŒ$ÊP„þ2ˆÅØvßà;ï^ÖÅK—BбOÌhªÉÙ `¯,/]VÚk)©$òÎ)Æÿ<ŽŽ,*•J†rt1UHÅnÈ”—ÀßÞ‡ýµ_¾®,ÍÕhÔtß'&nk]»ïúõw”$‰BJ-WŠy¨T*£Ø0ªÐÈ“}·7£rmmM!ñ:<7­±„³À^k­.©×m)„`ú4Ž,’$)Ã0:¢,;ÚoH{©‚óšžÚöž €]¶²² ‚ÜmNzôÞoˆƒ6C>Ƹ¤þ`$Fû)—÷.¾¯v»£ÕÆ¸ÆØ/ÖVå}÷‰|¸í_䣱ÐèW¯â~{’noJÖ›¿þòU¯×5F,€}£Ýº!IòÞõgiÞ¶ÍÁ(¶·Ý7Ô鮫RI4=Ý”sL¾ö‹ò˜NaG—oh·b‘$Ac•Šªc¯ö<ßòÎÞÛßævWœl6U«Uû7Ð`~°_„P‘‰¼ aWfSNnË< Æx½¸bMÌÚö‹ÆÄTqËç¶sƒ©Í+ o;s³41>®ÉÙ¯rpgMNÎÊÉ+Æ\i¯½ÝÍ| 2;Ú«È;§õðy$Eåwàoï8S“ãºÿþ㪌Uä$5ƨ11³ o €ÅìÜ }úä’+΀t»kêuwçOzŒÚ•““ãrþ>-\½"9ijê~Ïhñú»J{Ýø/lR­6tâ“§thöD1ß)ÏÔ»C¡v)’Ôœ¨Ëû£ZZ¼&É©VŸÖñ³j·®«Ý^VkuIÝ.áv¢Zm¨9yH“Ss:|ä“r¡¸ŸnžgJ{í; ic!IãªB˜U«Õ’|ÐÔÔÍ<¦à½|ðrrý™eL,œsÅçÆ{ŸÈù §þg(Ï•ÇTyÖSo—hn¶ë·á®U+ªU§”¦Q½t½¼SÆ Îyyç%çù[§€…sÅõâÎKÎ)Æ\1Ï%ïól×ÏzÜÌ»g’8%I¢–K”eiq÷𕹜‘`TüNur*¯$ÕN¦qoÛÝù1U´!Ë6ÿ p¯)oI¥=ýÃ~üz`B,˜ &Ä€ ±`²álH’TupîÓ{õ^ÜeijüÊÚ‹4]×òõ·vûýا¦fN˜_ËnbÀ„X0!LˆbÀ„X0!LˆbÀ„X0!Lˆ€­ÄÍO àžV4!ÆóüÖw&LˆbÜÓŠ¿ èœsÞß:Ä€ ±`B,˜ &Ä€ ±`B,lÅm~‚X0!LˆbÀ„X0!LˆbÀ„X0!LˆbÀ„X0!LˆbÀ„X0!LˆbÀ„X0!LˆbÀ„X0!LˆbÀ„X0!LˆbÀ„X0!LˆbÀ„X0!LˆbÀ„X0!LˆbÀ„X0!LˆbÀÄKÊ%ÅâaÜË÷`cdÀ„X0ñýÅÝ^¾û# &Ä€ ±`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,H’bŒ’ˇ›¾ à^æF¾Ïó<¿ÉË¢TÄ"ÛjE÷7üÔw»Ý›ÅB’äóóN'½ÅKå%µ†k àž2ò™oµZÝþ·qdðyž/×#À½dô3¿¸¸ØÑÆPl†OÓôÒpEŽw÷–a,®\¹ÒÒÆHä£}§Óyk«|üŽ,Þxã% #±!’¢_YYùeÿµÑ9Éûp—ß.€½àCE’SŒQ1Æxîܹk†"Uq¦´Œ†üË/¿üzÿ INIRÛ‹÷ à.«Têƒïó~PåÁÍv»~ï{ß{KEz’ºÆ"—”Ç£—Ÿyæ™××××¥~A*IMõÆÌžüîçŠÁ@’TϽôÒK—~úÓŸ^W‡®¤õþRîŠ G?ùÉOÚ?ÿùÏÿ2MÓbR†sª5f4>1'ï“»ýó¸œsoQ­~@娢Óé¤Ï=÷Ü+*¢°.©-©Óÿ¾<à9ˆE””9sæ?/\¸ð÷Y–¥’¢sNµÆ´¦×xsNIRc:8ð’ªÆ'ætàЧT­Mʹ"Ýn7ûþ÷¿ÿ˳gÏ^Ò0-Ik*‚ÑÕðlˆ\©H?uêÔ‘çŸþ¯çææ¾˜$IE›¦tÆ¥˜+Æ\QQŠqã•&ö”“$çää‹_îÎà—|?é~ô£ß|ík_;·¼¼¼,iIÒû’Þë/WúÏ­IJcŒÑÅåœ ’ê’š_úÒ—N<ýôÓzúôé¯4›Í9ïýàH'# ࣧ,IÅä«V«ÕûÎw¾sîÙgŸ}CÅh↤k’.KºÔÿº iUR'ƘIR ¯btÑ4%iö©§žú½o~ó›_ùÜç>÷ûÓÓÓ“$ ŽZ91Ƙçy¼xñâòÙ³góÌ3ϼvíÚµ¶Š]UIË*âpYňb¡ÿ\[R7ökSÆÂI ’Æ$Kš–tHÒ¬¤C'Ož<öÄOd,¯7­Æ¡\ž2Šób.%æ± ëv’| Þ×âXºÓ¹v\Ç ‡³Úbκ«ç®¶û®}é˜ïòÔœ+ô/ÒBY´Æ‹Ž`{Á­/7eÍ ù‘+øÙŽÇ¿³ülÇãG~äß~¶a~#Ò’|ÈÞþùV½¢äïå'êUc:-Riÿ‘Lõ0ÔÔ¢‰Bîá'TS5•Rª45~Œ¬ ºd<# ÍÏùÙœŸÆ–skíßË:ßPÞ¨ ŒB²â'rYAVb)Ó¢_Íè£ô‚›isŠP $‹ŸiÒa5-¨ó]¢ÜÄòþ%{mA+–+z¿HÔL”¸?«XæDYåz1¦ržÉó~Ø>ò#²×i¾üìú¬â„Æ}êøVЧ6P}²1Íé™ù<„”B•ÊÊ•‘É$ÒÕôZrH…yÞE&D†‰ò=!wùsË•šª¥$"u%ýb$•#ÓCÈ3šõü‹³ѧ¢*ÄQÅQ®®×â â¬èboEϬ?ùê‰ç QÁ¥%¬¢Ÿï±PüƒôgòçÁè+R8ûDM÷ü;TöT]MOc]"k æ‰R|_€Yñ+ð~ÈùºY¾:ö)ºâù}i5—öR&é|Ìî+:‰ŸEïŸ5´ïž ú¬øÁýÛ·r/ÿZ2{à÷ÇúZrð›åßtü;Ë¿üçÁuóo:~äGþ­ág;ÿÎò³ÿ+ÛWþOëq IIIIIIIIIIþw$ìôl<°;WNh8^·U•ÎÚÊÍìcþ9u•›ü«·²êÇߘûûÍ ðp+e±yÜ>m"Â'€¹~ ˆæl6S\üýŠ@lnùó(ŸÉ³-ð¸ƒÿÎ}v}öÉ/HmkBFúÞÊþ)¤3¡v/mkTSxœì}Kl$Iz^jwçÁžž×®°:xa”Ö’Õ3=¬Îg=f·%°HV“3|ÔV§›³õì. Éî%ÙìæPe|ÒÚ€lÆo>ùàƒd6 { Á6 ‹á…ùê‹t°o_,@Žø#"3"2232ëIvNM3«2#þˆøâÅÜý¼vqõE³5ºªŽ¿h¬q½¹Î]š?Ú]¹¶Su»Vuühg}xeŽÉåáöÆðÊv*ã­íöðÊ5ÇÍÍÖðªZ7[#ô¼ö‘ÂãÆÎÎÅU­þ¬¯µÏ®Œ·®Ñ35£cœ#£7ÞÞÛE÷o£û'èþºjô‚±ƒžžƒqsc¿‹‰®íí5TggP×6¶Qǵ]Tùº Ûq­µ ‰Zu܆Zk ~ÕvÈås¸¬ïQ›uøÝlCÚz ~Õ›pÙ#7[ ”¶7®µÉÃ6¡Þn‘Bv =rÙ^õÜõ2Çû®ÎƾÉlì;p©£›6ºØäâàËX›÷CØ4gÆ t¯o Œþ¤Y×!Æ=-„ËÐ8Ÿ„{¬¡›™¬ ѱfË?:òŒQZ0F·)FkŸS„D ý}ÐzJ±z›b`‡®7OÉ%øÀóD|*®€)àãØ"Bý eÌ&Ù!— ä„Üq«ñ%éÕV }éuÑ}ÒŒVkn¤ÁðŠaq×+Äo/Ðó$>sl£ÅiU)”v·—Ê^…@ ÷g¦]Õó= æ:b¸#ôO\ã¹ñÔ¸¤€®pLyŒ¾?3žÅ‚iQ©µmµo™®ZlͱõL‚$èŒä°£-¹vEK§b,«Ÿ»x.÷ t•An0%‡ÂŒ3—vFe§YV€~„ät„S ¹ÈêJ¼5¤™£^œ b¶Hæ-PˆNX›bœ€©fT˜·|AÍ* Mô´ zËfÈ¥ž*ŸMרΆÏÞ¤=D¶à\‰NYb1ÉéˆóËpV{áø´5¢ý[µÒÇÇë)øô=Ä19‰›ÖÁnb•©¥î)^–ÝS"&)ür/=K¹%Y‡bæô]mÛ™](Q¶×!@bS“É(ÿs„æQ*$‡®†å2ˉý M }ÝFŸdú8bøZÌÁʸ%ì F–ø%ìK35Äo‰ƒ‹4ð‚ÍHN;§Æw@=œ\-Mà&ÂÕ f²ÑˆÇ,‹ƒ¬Vжë ÷ìô2î»ÇžM #êag ´U£ÏxöP€nŇ[K°¥YÆfâÐ †c:‚lW¨—ƒM´[…V‰ U"h•ˆ(ˆ¿t‡’(cÓÜJã[¾·Ò1¾Jˆ‘TŠU‚"¸hŠæ¤(ºEÂbJ½ÁÑŽÁÑ3i JãUŠ$e¼å¼’&¹Ã‰œÎtLÙF’ŽXÒø*kq¥ž÷¬fKfl¨»S×``@†MÞÒÛ“Ìž ÌOAÿ‰á*Ð+£K®²2†«¢Qú@‰ÒöºÈëeÅÉžNm$Ç#4<¹®89SÇiÅÇéòHÎçŽÓcÕž›qFM‚I 1 4&Æ$ИšÐ¼§d!:“ž}D]oÎö%Ny! äM¤²·`ôz‘0z]ÖŠ²Ø“G`òLS‡ÀÔQúþu<Ü„é–6Ö5 f:EîWÁØ¥ßÆ©Ž+–Æu°¼Îdƒ©ä§9µã@ÝÙ ªBœ2׉Çn LOi é)h+;ì5BØ€ 7MÁ‘%ã¦#«FàE݈xg¦ØéCÅ$rLJ(šÑäø[O%‘8j©¶‚1z†`ÒÌøŒ÷ëƒHöT!’T¤Àó-ÁÍ?™îœ»æD–dç ¦>XG¬7)XûxÊ€BtËžcß ‡Û’¼«NÖÅ x4““# -ÙPˆ…Ú€¡CKK#œï‚‡EÁ²+dì#5°ó•Jdäãâ+„1üÃGŒðbø©ê•ÅÛˆŽ2À¦)ŽdÅLÍô:T›‚Ú³¥øZŸÆˆˆáNa"Ö%°V(®l¯B€íQ`{y¼Ž¿4ÙAÀÉ#ÿ 05štLÚl²g+®Su ÒÍ~§¯¿¢óÑwˆ•¸Ôïs öÈAìáêÀ&(*‘#ŽFoÆ×…÷–ï9ÄTðb”3ÿ‡Mj³ÅVg ¯ŽÿãICÔ¬Xß¶`¥\4¸%7¸ 8kèÇH@;YS|GC¦Ë1ôôo9£þÕ2S4´7ìHk(œnWP¿®Jý28e=áÑqœGrè*.º Q¨&´Õ¤ª™þÆ@[C¥Jf#œ‚ò} ³«e¬¢§#yâ\’8Ož9ú7öKሌZÉ8#ó+*d®¡»çè÷*ú†u<2Lœä˜.fÓõ›¦ˆ3óëÈÈ¡Ltù”ªá ["]ÌNúÀB SßÄhrŠõ_ض`Ï?i‘«¤Ì\?ðŒ°ÁžÍòáž¾›žjµ™ä}Rõ×!@v•£N]O~µ™(à»À‡àÑ èÔ$ð 4¡¡½‘Öíùãj½žbLɾÏ.ÓDÓ’J$ý9ó`¢ bìKsŸ3Û&±&“êc¬7idWT|J@SD˜Í9lÞ×ÓX=¦tTsF ÙQ²ŸÆ4ƒò!õ‡¢÷8ìh€¨3Üœ4¤fQ[… •ó£ ²M^!Éôe“zØÏŒcI_btb ñ¢,l®UZžK0,‰vR@XRò¡Ò©!S¿Y¼Æ…¢Â´)ÂÕ+‘Þ_}ÐÑI’øáŠ£Zi™¤Úº˜úÞ5èÛ0V]7yÒÜ«H“æXÁ^ä‹C¾ÿº2 þ5þÒ`¶ØÐ¯Ét$ zèaÊÖÖñF…h×׌ûÒŒ®cí5`¨ZŒ ÿQL¦½ŠzÀR¥Ñµ*]ÔQ-‘H KØy-¦°9s): b0šþ ‚±e<{zY}Ÿ…Œù¸Ø[ŠUXh|¨dO|¿Nï×É}J°Öej¬Ë„C¤À [dh˜NØÏxë"Zh­uƒi|IÊ™]åd¨4’VZ—¨ÀDÔ q&eE1Gì9@P€¡~8sËß  :ÆF†åme}4:CGtqD«(Bza3»¢ˆo§[NhøÜœ—ñˆ) ŒÞÖ#™•Ìs=¥±*ehͲ۾óIã°Ã ´ô^†­”uÎÁÒŸôÇ*N)ý¢@æ&ú¶˜ë¼v“ ûз¹G°ë#í4ƒz†prÖƒõäÜ¡ÝQ'€Ô‰n¨ê›ÀÅõæ$i6ɳ-ry„/ã:?Š#¢Ç>à›T%þÉAä“lU²I•Ðå_£Q}zþ|DŸrã97åsæëâ]óM_Ïø é6{Qð~oßFß4ð,urÄŠ ÿ¹G{DÏ_ÁÏñ3sr:VFìþ¯Î/¸Ò=#ˆí¾€öËýÖ¤è…Y‰’­ßÒoNÞoiúí=ÚoM„LµÇMžH½÷žßGª4i²õh‡ôh'ïÑ4=zË—D<€}~\3äæ Ø³ƒ˜gÙzÎ%=çæ=—EIœƒÿsÊð’dQæ@#ÍDÚÕ²ò.MÓ¥oÕõ3ÁFÃ! ñ³û÷³u—GºËË{+Ko5À‰ìqçH itƒÝ?ˆ¸Ÿ­·Ê¤·Êyoeé­: Ò÷ñ`½Ü?ˆ¸Ÿ­·*¤·*yo¥é­wiomÒ3ežƒ~ã“wiÿ¨R$¦ÈÖ—UÒ—Õ¼/Óôå[´/k0™zæO±ýN}©“ïfë§é§^ÞOiúiÅÜaY!¤åyðDO²õYŸôY?ï³,Ví!¬×„¬Zpÿ â~¶ÞÞ何e°Ýæ¹|ÿ–ïòÏbžeë¹!鹡P±Û> Œ®±]ñ¦áØ|;cùùAÂól•´h¤_7,Ñú†-ür„_®ð«©ŽÇ €…Mß§lÚ„%ú`eN[ƒ©sžUªðüa½€Cð¿HæQññ¬ ™“g‚w…ÂÛ‚³'/€]HKªÚTªY•ZkWØSׯñ©ëƒÑõºNן–ØÃü'>,ûYûüQ‚P1ñ'ÜYׯú‹bƒw|6xN£ÁøHáã$VP1¾Í?ÄÜ-@TØîÈKãH‘1‹•1g"EA‡–·î‹b¦jñdî3XÌunìÓÍ¡O’½»jv¼jDãÊ=UÇL@gQ 1·Éw–* æÓÄÕJ =:‹èuð+3ôò`¨gsë'ɲÓŸ™/³+Ù(o©Öø¶+¥pV…, à%€9h“ÜÆbP‰.Òò¨ö÷‡è±ø°*猅yÊ- ê÷(ÔøIõ`ad¥6M§"ÛÑÀCV¶Ú)Gybˆ9K168œµ“Õ’k¤å@,uõ=žÀOžƒ3É'\Umªe·dIàøÐíWzžäNùOK={`•”  ûÝ^?Ü•‹©Â¢mÍ&¬Ï‡•{°ØÜG'ɨm:½—ì3¹Õ­–­n“[wèzL^ê z¦Åäa–\#-]êê/Š)nQ¦àNeGχzáÑm€$À†ÆK>¥’ì°rHâŒåa’¤à¨Áú_{´·ÄÕ_4#4lµ#FÑõ¡>£Ü#ЙFðw³¾qqµYçæ5Ð6,jÆj±†þ^À‰2l^làïÏéçãÍFëâjc}ÿùFÊ›Æ6mãPÉ6’"²zDþÝXÿ¥ú £ Æc.ï;BÞ]8flÛØ y~ݸ2Êð´dXèc¶±Š¾÷Ðü ßëÃY/t¯Œž˜ðñ eýµÐük,”º´Ñh—Ø2ÓÉ0…”·¸”aoÒ¹ñ”¦ý®‘ú].5[¼tJôŠŸ§lxRžMDõ ʃ€­²è 3üuzN³y1 öµÈwæçp„·á´Å34úŒJ/—œÔ¸AoêÀ †Ó7¡7d¬‚\~ ¹ôŽÔòT›#ðŒ ½ð>—režÓ“GàS±\–”‹lx:|šë-ão ü‡”sÄr߃½õ/i€KA?”å7¹c %,·`¼OaÈ}d ï…#`QÕŸË-ålÁvÄ>´B•“«¹„Ý&}¹â$ù¹¤¶‡9¢¼üõD×ø"å4喝Ø; i„ôÚ9ÈO 8ï<’3>d»SiÊÓHŽ•s®ø9e¹–SþBâ+Tÿ:ôÂÂ]§´7öQGˆwÉÑgLj'ŸÄŸ¢{¼f;@é÷ÈÆPZÊ;œÆ-p:TtíÜ„5\Oríœkç™kg/×ιv峆v^ñµó (Ë\®¡s =k ]Ê5t®¡s BC·mzü@®¡s =s -ëÚ\Cç:×Ð* ýí°†¦éa…¦A^–ëì\gÏZgÛ¹ÎÎuv®³5tö-ª³¿Ùû•ñIO®£s=kíæ::×ѹŽNùàtt®¡s =s íä:×й†ö5´‚“_Ë•wV®—@;ç+ïrí|ÓµsÀÓÐίÇÊ»\;/ƒvÎWÞåÚ9×Î:Úùõ[y—kèeÐÐùÊ»\Cç:†~}VÞåz4t¾ò.×й†ÖÑÐùÊ»\g/‡ÎÎWÞå:;×Ù::ûu\y—ëèeÐÑùÊ»\Gç::MäãõYy—kèeÐÐùÊ»\Cç:ÐÐ(æ®?ýÓ߉†Îí~,¤š¯¶î ýV5\ôé#z•©hëx.–y°#Ào ¹“ÖYóiÉÁŠvq%ÝÀ§â¹rLKÂ:ÒAxsá=ÆOWÒò[WD­ÊkÇk%iuz¼VIÍkر¯1·½G¹·;²7ú6å7×EvãÆ¯3v$މöEå¸ãõõDåv,ÚÍW_GOÔ’d;÷D£õóí@Ÿ" Í¡=†n¢F€èÍÖв¯™kè\Cç:LWC¿èS£«£ßz±í"/9âÆm·…]‹‹xTAûb]F¥gÚÚAßð ŠpýßT@¿a܇uödÑOÁ…y´ 쨸% ï½våäH fñ'ÄÉ\Ô5ª¨'{è/¶Ý°ù.èiÆE86€yhˆxŒõ;N]A¿1ïõQúñLj;_ƒ¿†ÚZCe ¡Ä2=Fe‚u¶ì%ú}î×Ëä×~Io@Û ø¯@õ £#ñÑ7PÛE.zÛèkFÞ@Oãíhù \rKà9öl¾ÚÉÍSAüÚ šó æ ìÚIÇë+Iý‘ì‘ÉóÙº¾L”-ž¥tç aj¾9ð6Ò¥}äa¼€ö8dï}¡vê{§kãžÜ_™õ•ƒxÃAú§ ÜBl]ñ•%ð~ÞGTLÐiØ:VÁîƒÞ’Ç(³A3"u9õgùŸßÃþ{O¢®“kŠÚ2¯¬ q “°³Ì5…‹žˆd!½Ð¨µB-X8{J}ôÏ~šG¨Ú+ú9gÐS§0xLuÁcôû‰Ñìq1ÏSÊ7b®o¢öz!ÍØÎ:×,é].½~)+è9Æàý•é[š­DŽÐãZäÒo}tIQ­/En=O_lý­b°—FË¢sªê÷ž…¤ßW"¡SÚ;ár䨂‘®A^Ù¦®ŒcPC1Ÿª~ï*Ј/í=%É%Ý˰–B;¿ƒž¿€è@×[khË×ÐîÒiè¨6çZ:×Ò¹–εôòié-xßû=4ÚÄñÛ ép9x0QVßeÙK7ÊÒi¿Ø§O!½Î¸Km˜¦NÎ N•~üvå8‚´~lHâu,q#¸u@çÚ8nøÜæ,·©Ú+rØNÀþ™1‚‘øÙøAú Ñ¾¸z´³Ž_å{H.ãàžíyä.þ2ÑÄ3Ó¤y;ÐëS¥ûÓ’S¥º(î~“ß›ÉïÅ6Å…h•ú½˜_K ¿×\¨ß+¶t°¿ÜAOIkæÃîƒnq!B݃ÈuÖ:T¥6ÖUa=Ì-ÃÊÊÔoDÎ+«bÉo¡>}s¸‡/}_%¼&`…›÷ÆV¦é Í*v¬ê/±Ïß@ôñÞòßËÐh(Ûg^ c¯5”û9žéÈ uXÖô÷]<–ºº0ÅKs z«XfƒYrëç!‰á^¹í<¡³ådÍL–qÿV ™ÐC@}3‡Á µ =¥d±ã~u‹çþ·ü¹o‚}ð; Þz6„1•ëÇY˜GµLq– •‹Àø=X‚çi±/]`O'˜À¸;°¦Àc}¬q\˜›òÀv`tqïxèY¼^ÜC@¾7Üã[>£¾à¨~êÉÊgcêSåØè!Ñr}'2÷Oеc Vò˜Ç8á¶ñ¥O<9žTé^ ìß•ü‹ Ò‡÷YtaMöôJàStÑu^B¬•h\ÝêÙsÀ( );mï¨Ì™µç?0 |/`d>‚yùiè>Îmúqngéôorëù:ü2ÄÁøÔ|0™|ᯩø6jQì~ô§´ ÍûEr&ïqõX¼ÆÈó*¤'#<lï4¿ÞƒµVûz†StB#„Yiþ¸–Ï^î? bh¼ìËkªª’äÿrdÞèµVIò¿â#PdN«íÓz\ö{\ªöÎCߢ+ÖNaMù‰¿ŽñvM°'•VVI{Â]âžHjûìeñ;`iƒ<†Ž3Øý< mG_eé=IÞ¿“ÿ’P¶Š·‰P;.½QRf[ÿ3€]Ù%4Úévų~Áú‘ Œ‘pL¸ê¯ªÂ¸Ö>ų óYE™ÜþÙÇ¥V@‡^*FMX’ª0bÄ+ª?÷üZFç¬ÂŒ«£Á oNØëC˜ÿqiì¡GgÿªÜn²£ÚD|±ØÕoÞøþÅúù9´ŸÌ³uIl¯j´ç9há§9e ÛØ à~½0'ÌÖ3ÑëX–!øX8Ê5€Œ‹:ÀEøÄ왑„6å¹*z‚g¡E.úHyó—dkV;aÓàŒÿÛm¡.7ÖÚWµõÑÕþ7®“_ÝN׫ZãzÃïé·! û88#À÷±‡!û òIsc¿{eŽëíÚ_6ëpi펮lô«=ºBe67 I³Ižm‘Ë#|·Õ.®HÁo óƒá'¨9Ÿ_\=l 4s¼E¯íÖ—ˆž‰¾l£V´·7FWåaßB»ý¨>BãÍG‹«ún×o}*ÝØ–4Öä=r¯Iˆ4Úô7B¯5vÈ¥…½¶¶¿Ö6àÒBd(åÎð`Šø¬ñ£Ñ•‡¯-òsŸ\8ÿƒú6¾|ÖÂi:èºI~¶1¹ÏZ5v§ˆîáÊ=híà{;­|Ù —ôÀzkgÛ\oáÆì¶ð¯üÚjïb"[m¢6@qa–| WXp7~T‡*>Ú…ú·›@åÄ—Gk@¼þ0Æ{»îÅú3º*á2$‹\Lé‚®uœ±7† R„›{ëøÚ^Ûâ¡p\QôpweØÝÛ€ÒÆÛ»Wc{‡\ðí_±ïÀvŒ,4ZÅàÁ +2ÙU…€¬CuÁ÷`¢º NEa´‹ ÝÞ!Ð"œwÖ‘ }þß8hBïPyˆ²wAZ;HÎ1l;;ЀݤÛ]2ÛÿúÈMLrýs|s—5±Ú÷I4‡Ê3iyoå 2-¡,“”eÅ—õ Ùðo.Z¶7Þ8y8u¨ðÙbeÌn„ŠWtK%ÔìDZÛvÝ’M‰8Åj¹„K¦b‹TÜj©Ìjb=§êZÕd"ŽH¤Rª,g­’e#¤©¸<·è8Ž[¦ØV‹Ï4KV2O$RAu©PT*Å’å84J< ¯èÙvÕ¤;ÀÊEÄš^ÉI&Ræ‰”Š¶ãU+UB¤TtªŽãi@Rቔ‹&’¢2%‚øÄölG£‹«"‘JÙ‰ @^É*ëéðDªØf™âŠ:Ü2ªûwy"ÕbÙ-WJ%FÄ*WÊž³õx"–Y,—쪿A¯X*»ŽŸô*V±b£òKŒŠcºeWC»Xµ*ÓeTÌrÙÕ¡2¨ÈÖ)>;ª°R [£2Ø,)ÈØVѬX¨¯Sµ QsD26î^ÛvRŒÈ¸"¤æ¤+Óõ6"ã‰dÜ"ËIÇzˆLI$ƒŒˆU®2Í­)ˆLY$SBi*•r)•H"2™LUÆ´R©D¦*’)#rM³’JU!2‘L¥è–±¢I¥6™®H¦Z´,Dz«i48¢Ò“©”J%ÏqSDFP¶ƒÒ8V¹ì¥³lˆÎ@¦ã™Ž]-¥³³ˆÎP¦ƒ*ã¹N:£ß³÷D•!¹úºèÅŽ:tåÁõ…8Ò–NOÔâXL[Wx¢®‡…ÚšË5…8BÕÖ£ž¨'ı²®R÷D%!ŽÚµ-ŒçIÁ >‚ mïÃkGä}”§ö`ßêx¼ÝBBXßÞ¥TMºeÏÓâm'ÍP†ÏZ_\\}Öj]ý¿2î÷—ôó1ªÝ»Hlp šŸu`¼K#8Á¼`ÜA|„®6UdÏc˜ô`Â󤟠ûÛ `EíÒ ™ê(ðL-ž‹ ê|¿0wKÎ{맪Utݧ:}½èºèÔQù`]2îÁ{’pâÓøŸ‚|隃°äT¦g°’ö&ö5¾âmÐï@¯&«À a}‡î=…U ãœæ>dµïÒ}ŠÜFyÕÀ'‚=£»Ïƒ7<™ãÎ D¿F°OrÚá)MÍôu¨aŒï ´Çt5rË×ÔEÚÏÇè›XJƒ+ãÇHý6èšIhX@ƒÕg2Zöêã ùõ!}y}7îm²¾óî’Þ%o—9‚Ú<{ê)€[ôK Î×Å; VaÕæ< Âà ¢gŸQצ«2Ù{¼7Ñ6÷àI?’ ÖQO¨ãö%”JàO[{ê#´èœ¸;­(‰«£ÏixdX­ðÚŸcx2‚t#À9¨³$íHÙ êpåŸB:¼l­méWÞ—1¦y, +j<þ¹ ÏE È?w๨™ ‹½{75öAGõ‚N¯3m²O±æmÖ{Œ:ï°·&u¡Dò©éh7$…¬÷£ëHÀ™€¬¨ä†B;dmü Åùäö¥ žÂXÝxlÏà.³ ×ÉveõÇøO›Zw²ãIÏÆß$ÿ‚F ÜBÎÂ\ƒyJFçèÌQŸOn¿‚¿xÔD8‘XŠ íGô9K·‚ʾgàwL èÚëÿI®˜,ßõ}¤çTÏžHÏVŒs*.¿)?çtï Ôûœ}ö5Ôö jKÎgèÓ릟š¤ýöó÷@i=At •MžáÑϹ_öÜ»ç¸b«Ø&;©§ujü¥¢^@ÿkÐ9DÏñõ!'qá½4þ Î W׆Œ^˜!µÁ«ÿ¯ñ?áΟQpÊݥ˥¿¢wÅ>«û;„ž*ûeˆžëõË:ôËOà¼èSª™ø”ryräÛB¦õÎ4ñçËøáÿ~ŸAm¿¬1¦Çd 'ôK‡êeÒcDîÑ~$é‡p¯gü/¡ÎäÔÝ왉®5‘¬>ì}ÀñŠÐËĶÏB¯'›tÔLrÑz|Óôæ6زNY-ƒ#¨“NÖ}_…y°ž§`ÏzàUt¡$’ŠôǬóM/U_ ¥Œ8ZI”ՏޏvRaÚ‚3›O€ÏÔ2BøW­×ÎPn=¼ñéOÀ?åñî@° áM¼ù3àà3‡´KWŽxÄÅrdzaïDJ¬ªÖ¥zŸÃïŽñPÒôÂgà»uè^ìëßžÕÀÚüWæÿ6ÿ3úûÐþÞŸ˜ÿ¨ù–ùÓá_™[©Ð+˜Û|l>“tKÁüCó/Í'wš¿þ^uÿ™Jæ¿3ÿ¹ùóÕá_¤Âd6Ž=kqô–Å%q‡Óm\B”OÂîÅ#ºbŒéß'oØ9¶’çã×h$ºaˆñVy,6ÙˆôºDy>ŠÅ<£þ^ðN&qÊË"ކ=߀O`†‰Ìêˆ~m“¦<£ÑUú;¯–¢vkê#ô ø_­OøZn‚ &Õ0:Õ”åé´‚/Y·Õiêî™àT1²Æ×D?WÚúˆèêÔE/GÚz‘¦ùR‰µÌ³qiãË´l8þ£Ûã¼Ü]øû1,= vᎿ¸Ï<}¿CGf/¹,¯`‘Mlw.© a4DN湃Z~ý ZÄÊcQ&VÞZƒÓk‘ÆHž@ tæní“3è³;†i|bØ´T\‹ˆ cÖiïÜQ”}îkÚû†nÔ [Õ—0 ðÏìt†Xo‰ÛþÜ.ÍBé™Wb¢;bäÿHq_Š÷ã»6ºŽò%>†¿ò—HNV×’ôù}#j«VžÍŸìB­0ªXRÎB¸>äJ%«ä[\ –É)z\Š+ã’›å‡W€Ã%wçIƒœÿ”Ë¿…PƸ¨Ûn=ün[rµéÕ¡WWÈ—}†AädR3OÒ$fDßM:cú®Œ`¸„Ü¿ë£ÄÒ^F¤½”ÒG¤taîs±Ùù6ÈÉ%ûÕ"BÖ ²„¬„"-t*¥×AÉÊ„’ƒ?RQ²g€’- d§DÉŽEé.’Q1mz¤ìLüäÌ)G@ÊI!qN ”œL(9™øÉJ®€’›ÈOwáTE1Gú(¥-$oˆÄë7 Tëï‡×g¢{¿í÷Ex–<è¬% ëZii¬÷O§JÝš)u{¦Ô©S÷×õr”õ‡SçÖ4 ô‰Ï7)unmuˆ:]c­ô(ɺ«3I2åñ«K]ô£}qú;HÍâ²_+ÆäXúä1£^…Ñ‹;’:ñmRùåbšÓP6?u죨îÃÐV1‡Ç&02Áéaüùõöþ!6ò$§b=ý’òÇÐèlQ\§1½sX}“B¯wÆlGÀM€»)lhÀQ&7:‹¦t”§@‰œ={ ½}¸Žài›Ò'#3±•2µckò–ë¨Z©d&šÖy t´Z(MÏIFÑòOÚÕÖjKx;dUApÿV ¸;²´ñRVCŸgÈçaœ|GhÝGZ×»|Ž?‡.Ž›üVH&>•äPŸú48ÕÍšjݧÂÇa~™„“u©éñ²,ן“¯›îdÒ•¤;ÓÉC\½ɽÓÔÃóä]kª¼;itn¹ìÁtuîtíÁtmÕtìÁ4ýšéZƒùz6Ó•©I쵄ö`ÕX^›°üžùì¹×^‹09ÊbV—Ú&,—UÈG ³«›f–1N“ØÞria{©µ°µ”Z8÷ÍçÉÍóÕÂz”æ§…u<ü›æ—σwÝ\gÒÄÓª]î_?n¾®šx™£$¹_ŒïxK'™ÏÈòæÅI–Ë.äú,äj9fS§g–Õ&ä:¾SZ›°|Q›iÇE^›f!W7Í&,kÔ&'à;å¥ÓÄÓž'|¢6¹w>knŽkã´V½ëhþl¡¤\#ØepÊáxôúyy&Ýy6ÞŒÛOÞÎ#ïž »£û=ýn߀²5Ê–’²=ʶ’²3ÊŽ‚ò‰6Γ®Ž—¬Û¦IçúÒ§ô÷Ìݧ|Š÷d®’ø›¾LêOñ"%±]ÙÓ,ÉŽ(ÉžzIŽ€ž3eôT{ìÄ6M«$Õ~» M—€93 Y?¦; F­/Ÿ#½Ú÷w GË•xzET9Û9gã•B‰ç2ÌNGO¯Œhm=½2¢õöôÊPipy?ú¤e¸Ê2xM; ­-—øPhS°4È©ZÓ¹5!¥ISÊ%n¥,‘Ä#.5J´hJ¹Ä¾B’’éLÒÆ¾B®¦ƒªYbXÊâè¸Ú%z‘%†e.¹uJ,G–¨‘‘ÓñÛ^!­Ív>¯îíÀ¹P}zÚNŸž¶Ó§§íàðç®ñüâHå*¿Ióü–ÏUŸR:*V$ KAÃRr‘­ a Û§aù4le/©h8 '†Þ‘|¢ñÐø!’e’ÿ¡qJùÔ çEÑx,Ð`t?6ôö?óþ¥j×6îÓ=ežôï+znþv)ù§â¹ó]Ÿ<œµf*O`¶”wmå]G8Ísoj¸cüjäÉ…ätrççèÎ%ò\ð)c'°üwÑG¬=Žê˜ÀÕA)WÜ÷ƒí='ÈáZmSG¼œ\ßÃTteŸ<º¾ÙèÆÉ^Rk§#—Ñ2¢Ç«QR’.·,':2%%òÜÑå٤ċ»G¿aäÓÌ"ÏB‰‰+GG¦dÞ¿«lÓÔÞ§^[ü¼ªlëôÊŸŸ/—ý™L¶&±@“HVî]«¢/aê}ÓÓ¶$“x[“Ù‘Éü-•†·$i$DmMlmk¢£ÉyÞŸµ&OâßY[²ió9¡*Zgó°2Ç<ø’çóPÅ&‹y¨â “Å<&¥ŽydiuóÈfÝÅ+œÞÒ;J‚HÔMô9¯gÌcV\e‡o/Oî©Ú3òTÕt“sä1ëè©®fŠ&ÞU¶ìõðW§ÉíËe…®gäãúGÞõ,Äëcy²EÞÕ{åòxÉMˆ¼Ë2µ:cý¿Ì‘÷,|N¨Î'^bgŽ—ðïIZd¼$M,B/^’&£/ICQ/^’Ôê<^’ͺ»scºñû†zª×3^rý=U5ŸÍŠ'÷T=a…·®ìe+Cß‚«÷ëåñ’ÜSÜS•edÖ‘šyñùrÙŸë)ɽ¢éZ•Å[õ)[yÌã:DÞÓÊÔ¼cî²\ÌÚ’M›Ï ÕùÄ<œÌ1g1I×_èí‹™,æ1)E½}1yÌc6Ö]Þg9-‹^ö½†èç†úœ×3æqý׈,Ž—'÷TK3òTÕt“sä1›è©.z5ó2yªÓäóå²?×3æqýcî³¶?³²9³Œ¹§·?êóHÉMˆ¹/z_æ2Åܳð9¡:æ¾Ëãaö$_»Âi#ó·Z“ëUq7!;™‡|'§ãàï^b©“ì.ggùïND©ø|°ìºëœ͟߇#!Áóì;˜ÝëzÖ{–œrGqj;wéÜ[5út™Ø£“ìdÉn‹²ûj“X¡Ù­¦žÄsÄ*g÷[³Fù1}<Õ¸Î}³ôÀä–C÷ÉV,ÏZ LÂùzyu×JÌ’÷'ë•mµ5mküj×EÛÖYØI[8¡·“ØI;d'gïo‰|2ÉzÉë¦g·®àæi¦h«lO¤™²F2'-÷úöý´}Óùz³Ôg¼Žu:։б³[Áwó¼óYÉcÖˆÒ,õÀd}¯òŒMÏ(~MÌ¢=#½™†y{.“¬z¸n:{vóo7CcéyÎÌ4Dz÷Áìã ÓµéNB|ÑIeÓ'› »¾½žm„LÖáÕŠdîFÿý]“¼›&ÚºNú^š¾q,ð‚º”c@÷[—‹iŸ…¨õ´¨‰uÞõi«iòï‰À4ñ»!ð›Šðªá.x¸Ô`_CŸþûûFdrЖjI<Ì'çÀ#à¼"MwA%¬ šâ8é d ·÷1ÖÏQ®WÀ¯Áû Î`Îñ9ú} ¿øÕļwvFëÆÖGó+ˆ|AÌã}ˆdüP:§ÛF%=.(àšüjDÄ­·æQËß+—¿W.¯\þ^¹×ë½rMÐúØj¿Dµ×'ûæbµ$ywÛ¤”Uol[¤þÕíáIJVqÀ¼5Pò©v8"5=Ë~#Ø©õlʵ"˵gZ®Y®3Órˆr_úZxzåŠ%\æÓ”)Û–p©GœeíKqÎ¥° Õ{ {~Š+”ÿSD{ð—èÛ9²VáÔ}xŽíÖ'@•÷«Äwéêʨž>§£ "O?ð˰fP†%•aÏ  [*ÙAW+Ç¥£Ôû”cîR¹kˆï%')Ù~Ésšâi(e0²-Hzç¹ÄS¡$òœ¥àï_©bNCŠšQP½}nø6ÈG,@º7®€–c˜¾¥fñ€=ú¿’H`‘޶ jQ÷îf|D˜¤ºK1ùTȤ¶¸ÔÄåS_J#vÖ£w}|å>] =™žVF<Õh¼ ¡!cg ØÉH«û*7¥ËôŸJžW©¡’1y´(JZO² ÉR¦Z-–2k©¥Ìž‰”Y©¤,‰Sâ¥Ì õgøÉüðt&–2;•”%i¨,RfûxÚ±RfK¾BØjªm]@÷nˆŽ(‘Œj¸¼$ÙT­6 ˦½Ô²éÎÁ¦ã/]Ù\õñ’M{xzS¶€éôÚtdÓññt”þ¥Ã!îp2Éd)J"XË褴Œª-aés–ZúJs°Œé|(]ÿsÕÇ7Êÿt€gyÊ–1ïžÎÿ "Ô÷‡Þ_ÒÏǨv¬Žê•a:Ÿˆ¾Á|æ%H£“Zu¦÷áë¸h¼’p$õ¼‚×ͽ­‹Ûß§«:€ ŽTt!ÅKôw2tñ‘…8éø®)ûô¾ ÷m:sžó`ÔPÁW’·Àåfó| ïpóògÆO@~ù{Ïa~™P'¾£kC]±å§¾ôS_r©?RÊÈ=hq}Îà[¨xΕã Ö:ß§sú(™ õ È %B¿AëɯáµÁ &bE¡†êñu,¨ïé±ÛÊ£sú¶kFYýÀcE(Az&›é°Òkésƒ¬nz$ü:¤ë+ȤG¯ÈY¹sˆßîùV imXØ÷AËÈú²n„Ð$+BNŒ'»sà,Òn‚:ö—^ èºrŠ¥»è®Å¶ ì(ÚÁ¼¡ÎÆCb‰?N¨‘:>^Ã×¥•X—ߤq]Ž`UÚ™oëIyÌó ìþ+Î`i.¥4—Š4§0_ýŽN{(¥=T¤ ¸Œù%ìwtÚC)íaH6Ãr¢òCÈ·°L¼¢×KÊù¯èUÖ2ó@YE)Œ¯ŠVY­0¦á¹{µ¥d\IN©Àk±^x]Ú3Xg5¤2¹ßïÁZ¬pï Ÿû`›^¡¾éDh™cTGzc$ÈîÆMdeÙ}ˆ¹â?D¹Dy#÷±ä+¼ŽiËïÀìÂÉâoÇÔ£dwˆ7y,”Éã<‹ãA¦ÝðšÈ&èâg<:b]ý X‰OÀ|˜HG­„àµkxîê¹ïo°qXÚQ¡8ݱ›Ÿ#ºl]Ù1ç,F,ê’x %kj~'„:ÒÁh¦·Éú£Ë¨ñß×ò8)*~¨Ês)ŒâÅøkÔsºíVÕ÷Ud}_Eâr‰KüˆPn÷ħ«¨¾õùõq85Yû³ôðl8[ÍÅz=¬ËÅÉ=|ÉõðÓ…ôðäíæðpËÒ:Ÿ>žœ‹'éã ÝË!ÅY´XMÕdzÕÔ“[£lšZmÁ1ud»Ÿ_Ó7Tûvâ¼4ÿ|š5ð£¢w—ð1²IWSµP­×œ—ÏÄJl…PëTsÏ Õ£‚Ç CÈqîÇ ˜w¸fà,Ô w¨ßüU}cƒûá»â3R—´±Nœs"wä/¡k å­ÒÈùeѬ«Ü/ö<[],©õ–ðmUQ*+S¬áª_G3bÊ ¥rBóõéHŒ’Mœlú#iËK[ͶÁF]m4Nc¤4eˆ{ÎâGx®bLǤÐßó3þ¬Õ:»úÖhîûÿ®àÍ*©ƉÕÚÚ`Ĭ°}Å­z½ô¿‹ûçØLÌ}¨ùÇ¡Ïϧ¢+FœÄ²}é饔Ô×ôsÆíý#íúm)¯¥™÷®“k¬îÂ3l×(¶-/ ¼$¶ˆŸTít{îÛÓøZ3~2¡Lü>Š;þ=báá©>a² ¼EÎ×À<˜vvTæBfWMi/mQ5ì!íǨ~%”ö.ÔícØwWÐò¤„Ë)— ÷1/1Ó)Á•p9åäýULFÂñ;yr8å¡òR‘RŽã1šd6‡ð@t.™>ËuÊe)ëoqe‘¾ŠÎu(äºôs]*s…Ûe)°²”má×S^cÌK ;VÞS|f,ÓÌübmQ?õ×Ó“Ùr¬glÔï¦áQ½×Ëq ½7B¿±­Þ¸¨]Za*³ÓD£¸:Ÿ$æ|‘c²G8M­¢ë¸è>éëñx·ýèâj×4‡WVÑ4]×ôÆ»¦5¼2Ñņ‹e’‹…“8%üA¿È3=[­ºE×.;–ƒ~£D«–c!™‹n tÖx¼Þh]\­7ÚWvÖÑ·hº׫ŒñO{¼Þ>!zûµ½³+ã— kÜn7з_‘ÕñÇW›‰‹Ùyrmt™/¶[]R*+жªÅªgyNR‰8ãõÙG]ð=A2c0Bœ÷ª¼€9°Ìå;³o²„qt‰³j²‹ ó“M*àzÀ®%Öàµx¦(ðôׯ@¦Jþûb»~qÜzÐܸ¸z°ÿ3âƒýC¸´Ð/ÄžZ‡äº¾3ºKðʱ¸ðÁÆ&ý`ãsü1>ú‡~m]\¡¿_ ¿ãýV ê×Z×qccÛl®ªã/š»#Tz½¹Î]š?Ú]¹¶Su»Vu 7I›ÍñÃí êö­í6ÂÀ77[ëjiÜl`êµë¸ø¿qcgçâªÖ@Ö×Ú’·‘Ø3#Ÿ¬ÀôÆÛ{»èþmtÿÝ߯û–;ÐUƒqsc·­¶¶´×PAe\ÛØF×vQåè‚nwƵÖ&$jÕqj­-øUÛ!—Ïá²¾G lÖáw³ ië€O­Þ„˹Ùj ´½q­M¶ õv‹²Kè‘Ëö®å®•9ÞØ·pu6ömLfcßKÝ´ÑÅ&_Æؼ¦ ž49)£?)BÖõGˆqO <ÐóI¸Çº™ùÇšk¶ü 3!ÿÈ¥á ct›b´†ðÁæ 1Í3ã)ÅêmŠU€a:¸Þ<%—àÏñ©¸>¦€c‹õ'”1› d„\‚KrÇ­Æ—¤W[-ô¥×E7öI3Z­}¸‘Ãw(†mŸãCæ÷“ø ™r£ÅiU)”v·—Ê^…@ ÷g¦]Õó= æ:x"GຟB˜ê©qI]á˜/yf<‹Ó¢R‹¼W]µo™®ZlͱõL‚$èŒä°£-¹vEK§b,«Ÿ»x.÷ t•An0%‡ÂŒ3—vFe§YV€~„ä¯l>r=Õ•xkH!2 F½8AÅl‘Ì[ 9œ°6Å8Sͨ0où‚šU@›èiô$–ÍK=U>›®Q Ÿ½I1zˆ£ƒJtÊ‹INGœ_†³ øØ ǧըíߪ…”þ;>^OÁ§ÇÃO„œÄMët­Û1ÂPGÝS¼,»§DLRøå^z–rK²ÅÌé»Ú¶3»P¢m¯C€Ä¦&=’ PþxÍàQ*$‡®†å2ˉý M }ÝFŸdú8bøZÌÁʸ%ì F–ø%ìK35Äo‰ƒ‹4ð‚ÍHN;§Æw@=œ\-Mà&ÂÕ f²ÑˆÇ,‹ƒ¬Vжë ÷ìô2î»ÇžM #êag ´U£ÏxöP€nŇެZÀ¶4ËØLšÁ!cìCGí õR`P¢‰–c«Ð*´J­e¢ñ—îPelcš[)p|Ë÷Vð)±ñ1’ A±JPCÑœE— HXL £×!8Ú18z& Ti J‘¤ŒW¢œWr£À$w80‘Ó™Ž)ÛHÒ!ÂFе¸RÏ{V³%36ÔÝ©ë?00 à È&oiˆíIfÏ æ§ ÿÄp÷D[è•Q„%WYÃUÑ(} Di{]¼¸åZâdÏ §6L’>¿¶89SÇiÅÇ 0}>ÇÀpœ«öÜŒƒ4jLI 1 4&ÆÔ„æ=% ÑÙ˜ôì#êzsþ³/qÊÈ#y!o"•½£×‹„Ñë²Î0P”Ř<“G`ê˜:¦ŽÒ÷¯äU0xyÒ5 f:…ùð]úm`œê¸bi\ËèL6˜ÊA~j‘S;Ô­¨*Äù's Ñ‘xì¶è—#¡‹Œö!l‰G@Л¦àÈ’qSÈ‘U #ð¢nD¼3Sìô¡b¹Ã­_Šb49þÖSI$ŽZGª­`Œž!˜43>ãýú ’„=Uˆ$U)ð|KpóO¦;ç®9‘%™Æ9ˆ©Æ‘ëM Ö>ž2 Ýò‡ç§tJ’wÕɺ8f’`r¤¡% ±P0th`ii„3ð]ð°(Xv…Œ}`¤³6`¾R‰Œ|\|…pb"†r>ƒ-Føì§v¨Wo#:Ê›¤8’35ÓëPm jÏ–âk}#"†;a„‰X—ÀZ¡¸V°½ ¶GíUäñ:þÒd_'ü/,ÀÔhÒ1i³ÉBœ­p¸NÕ,H7ø¾üRˆÎG?vÞ5"VâR¿Ï%Ø# °‡«W@š ¨DŒ8½I_Þ[>¼çSÁ‹QÎtü6©Í[X¾:þ'i Q³b}Û‚•rÑà–Ütà2ଡ#ídMñu ™.ÇÐÓ¿åŒúWËLÑÐÞ°#­ pº]Aýº*õËà”õ„GÇqÈ¡«¸è‚D¡šÐV“ªfúm •*™p°›¯§`Wü.ê†AߢêçÉ3GŸãÆ~)|‘Q+Yad~E… ¬F?¡«°wDO$J˜ä˜.fÓõ›¦ˆ3óë°çì™/º|JÕp†-‘.f'}`!…ƒ©ob´€9Åú/l[°ç‰Ÿ´ÈURf®ø ðêò-îé»é©V›IÞ'Ud‡Y 9êÔõäW› €ò¾K|HÏÐ!S“ÀƒÒ„†^ôFZ·ç«õ8xŠ1%7ú>¸LMK*‘ôç̃‰6ˆU°/Í}Îl›ÄšHLª±Þ¤‘]Qñ) Ma6gä°y_O`õ˜ÒQÍdGÉ~:Ó Ê‡Ô{ŠÞã°£¢ÎpsÒšEm‚dT΂üÉ6y…$Ó—Mêa?3Ž%}I¶ÅaË&2×* -Ï%–D ;) ,)ùPéÔ©ß,^ ãBQaÚ” áêÀ•Ho‰Š¯>hŒáÈ$IüpÅQ ­´LRm]L}ïôm«®›), óq±·«°ÐøPÉžø~Þ¯“û>”`­ËÔX— ‡2HA·ÈÐ0°žñÖE´ÐZëÓø’”3»ÊÉPi$­´.Q‰¨2â LÊŠ0bŽØ r€ :Cýpæ–¿AAtŒ ËÛÊ:ûht†4Žèâˆ"VQ„"ôÂfvE Þ"6: N·œÐ8ð¸9/ãS½­G 2+™çzJc TÊК+d·}æ)=®é"/½—a+es°ôgý±ŠSJ¿(9‚I£¾-æ:o…]ç$è>ômîìúH;Í ž!œœõ`=97ÏÐQzÓŒùt"±²%V2óhšþdAØÑà}tÿ^IÛO§!Àž~V°šl4ØòTÉž’ø2ÄkóÙyï3æÁÐJJGɄՊ8Ù5TZ õü¡´À·§V*PãÓ\Ô‹áãØ„]QË1Ë¥tÜú®?r~C™§pœÕYbÄÌšÞ‚¸8;]Qn‘Ãqq;Í L×ÿ¦&!ø‡à+â R‘C ¦Øìêãè&¥3Ïà±²†‚ D¯¬X‹|àû¦_Ô™ÄM$²œw)Ï&õÂwi/|3^=XýzFÂäe#¾‚I¯NÈV*]ÆVj‘±%o Bma]’ÊuhŒÈ¡¡ut]B»‡·o Ú9B0z‹›*«ˆ3eØß×w6.®êüICè–äFÜ"Ò!tÇÌiCGD>¡ÝQ'€Ô‰n¨ê›ÀÅõ&œ™Ro6ɳ-ry„/ã:?Š#¢Ç>à›T%þÉAä“lU²I•Ðå_£á¸-6ѧÜxÎMùœùº¸G×|ÁqR_!=Âf/ê¾@Àï­âÛèûƒ>‚¥NŽX1á¿1÷Èbèù+øÙ!~fNNÇÊH‚=ÂÿÕùWCº§b±ÝÐ~¹ßš½0+ñO²õ›CúÍÉû-M¿½GûM|ý‚Ø{ïù}¤Js ‘&[vHvòMÓ£·|IÄsØ—áÇ5Cnž€=;ˆy–­ç\ÒsnÞsYdQ|ÅK’Euš4iWËÊ»4M—¾UÖÏ ‡4ÄÏîDÜÏÖ]é./ï­,½Õ0ȻמJ½Ü?ˆ¸Ÿ­·Ê¤·Êyoeé­: Ò÷ñ`½Ü?ˆ¸Ÿ­·*¤·*yo¥é­wiomú§yŸKÎÉ»´T)SdëË*éËjÞ—iúò-Ú—5˜L=ó§X‡þ‰§¾ÔÉw³õSôS/ï§4ý´âî°¬ Òò€žU!S`òLð®Px[pöä°KiIU›ªS5«Rkí {êÚø#>u}0º^×éZâÓ{ÈŽTç–ý¬ýþ(A¨˜øî¬ëWýE±Á;><§Ñ`|¤ðq+¨ßæbî  *lw䇥q¤È˜Åʘ³ ‘Fƒ¢ ÃË[÷E1Sµx2÷,æ:7öéæÐ'É^]5;^5¢q垪c& ³(˜Ûä;K•óiâj¥Eô:ø•™ú€¿Î³I_¬ÜƒÅæþ8:IFmÓé…¼dŸÉ­nµlu£˜Ü¸C׋`òRgÐ3­(&¶äiÉèRWQLq‹2w*;z–8Ô n$ñ64^òá(•d‡•Cg,£$G ÐÿÚ£½%®þ¢x a«1úˆ®õ噀Î4‚¿›õ‹«Í:7¯9€¶aQ3V‹5ô÷N”aóbNÇ8oâWMn¬oâ?ŸÃHyÞ´KB%ÛHŠÈè=úwcý ”ê[4Œ2¹¼ïywᘱmcƒæùuãÊ(ÃÓ’a¡iØÆ*úÞCwlx¿¹…º ŸõRA÷Êè‰I߆ŠS–Ñ_ =Á¿ÆB©+A¶q‰-3-ñ— SHy‹Kùö&OiÚoà ©ßåR³ÅK§D¯øyʆ'åÙDTŸ <øàò~Ô§d†?¢NïÂi6O &ÁÞ¢vùÎüŽã6œ¶x†FŸQéå‚“7èñMX!Âpú&ô†ŒU˯!—Þ‘Z¾‚jsžÑ ¡ÞçRî¢Ìsz`ò|*–Ë’r‘íOO‚Os½eü „ÿrŽXî{°·þ% °c)è‡ò¯ ü&÷qŒ¡„åŒ÷ã) ¹Lá pD,ªús¹¥œä-ó}h…*'Ws »Múr/Ä%Hò; sImsD xù%ꉮñ;DÊiÞ7Pm±vÒ5èµsŸpÞy$g|Èv§Ò”§‘+ç\ñsÊr-§ü „ÄW¨þuè…„»Nioì£2ŽώO>‰?E÷xÍv€Òï‘¡´”w8[àt.¨èÚy…jç/Aö¾De<É5t®¡g®¡\Cç:×ÐúVXCv®£s=síæ::×ѹŽNãhÂNˆÜƒÎµóìµ³—kç\;çÚ9EŒ£‰PÃåa™Ë5t®¡g­¡K¹†Î5t®¡54ô·©†n!Úì/’VÑä޹ÎÎuö¬u¶ëì\gç:;…WÍéì\CçzæZÖµ¹†Î5ô묡œüZ®¼³rí¼Ú9_y—kç›®îœD;¿~+ïr ½ :_y—kè\Cëhè×qå]®£—AGç+ïrëè41Ž×cå]®—A;ç+ïríœkç41Ž×gå]®¡—ACç+ïr kh ¯¼Ëuörèì|å]®³sÆ«~}VÞåz4t¾ò.×й†4ôJ…ùŸëOÿôw¢¡ƒs» ©æ«­;H¿U }úˆ^e*Ú:ž‹eìHÞÝ-!wÒ:k>-9X1Ð.®¤ø´Q¦¯©ñ=œ·†ñLtûÆ|X_SëÔ’¤Y’õ¼BVWSDqúløÐªù& Þ(-.^åQ/`ö{ eôqQúì\˜6^å)ô`¯ {¨*nÉÂ{ ÔŒ"þ„80™‹ºFõdýÅÞã¼N<ÆE8:…yhŽô;Nuæ½>J?ž’Imçkð×P[k¨Œ!Ô€h¼Ç¨¬SÐzØ›z‰~ŸûõÃ2ùµ_ÒÐöþ+P}ÃèH|ô Ôv‘‹Þ6úš1®7ÐÓx ´¯À%·'÷‘‡ñJ(pÊ^ª»þz¶ãkø³ |µƒ‹žaÄav±PŸº¡ÑH…òE´Ö?}ô{ˆÕ¹ðET›E r†ž# þÝcj‰£ßOŒn¤7.æyJ½~1×7Q›½]îƒ>×,é].½~)+è9Æáý•é[š­D޾âZäÒo}tIQ­/En=O_lý­b°ÒEùÜQÈ9Uõ{OBR‰ï+‘Ð)íp9òˆQH× ¯ãR×NÆ1¨¡˜OU¿whÄ—öž‹ä’n HÈeX³²©´ôwQ©§~ úìÆ=ÙïÏlÓ¤…±öí‚¿GüÁ*ÂÊØv9’4Ý Q:»Šœ:æÒÜ–²žD]'×¢xå÷½EÿhÎ#>ð„ þVF¹ˆ:V¥‘汎™„(Ìq$~z#2£w¾…xì9Dg0Ç]rÑ69å Â}ÚÔ0³gªú+]Ÿ¯ ;XÏ^WOG |-à,PµWÔéàÝ€¼=3F »gã èƒFûâêÑÎ:~Eã!¹Œƒ{¶ç‘»øË8DG¤¦Ióv`y§J÷fǦJuQíCc ÚrápÌóp .kåép{ßçv{é¸]§ý"§>¥}Ÿl¥°Ï¦©“óY§·¦·QŽ#Hëf%>QÇ¿Å}oò»62‹m°…åUˆ¾õ’b\Ì¢%‹‹-]ìWøñyfI#¶™ð–.2¡jo•È£yT"JÌ?*ñÒdxßâÀ×ÇÐq6ÛÃX QÔ5Dù9ޝgÐÎØ*:è/ö¨: {èêÂ,¯=˜‡Ò[Å2íœÜúÅôÊ-hç -'kf²Dð‡°RÈ„þêC˜· æMè <6_¬T·xèËŸy$Ø¿³àm¡gCÐC®?cÂFÞËä—­\Æ+ì7J½ u¯´K‹¶½Äh«Ú»Ü?0 z½€‘Ýf' ~ͦ㋛¾/î,]/$·ž¯Ã/ƒ½æS3«} ~]fy_ø+m¾ZT]ý)-¤×߃~c‘€É{ÜC=VK]Bˆ”Àª éø× B|Ø‚U¬.À«Z±çWCŽϦÇã[>£¾<õc®|ž«ª’ŸùË‘y£WÈkœФ|‹ã1Ó}¬XIC4° ô+À x¶ÉNÀ>^èƒ/â‚6‚ô÷æÄ q-Ÿ='|Û׸|‘äøÚ7B"/|'2÷Oеc s"ßÀz6n_xGüñ¸ J÷°a Pòc¬6Øa¼¿­ úkŒÌ uA aNɆ¨,öüçÁÑ­ž=|€Ò²Óöþ‡Êœº=ÿ]'u kÊOü½âÝô½ÞkŽGx-,[} á±Ey¡v_nëVz½c©ªÐë]mW…^Çÿ†v>ãnößD^À;Nž*d¤ÆÖ~±5Ÿ °xŽXç°^}óÓ0Ìv}_¢3Øõáç^…1Zà½t@£àÝE%X_c‚-1éΑŒýDÞúpAÓÜò‰c³ZQšgÙ[$»ÄÅ=7ì¹=¨öæ½þrÞ;ÃÅÝWÓ?GNÞǨ³7Ü’r$í Ç£át»%Ã;tòýálÖ;ßþ:îŸÇþÈoEìÅUëbvj×`ö,×Ãêa9Ï2èa™ïr-œká›§…+ÚZx§#ZxÜXk_\ÕÖwFWCú߸N~u;]¯jk _O¯@üé1òºÉHoäx~=Áºëĺÿ 8¾Òˆ%fVZ@àu’4J&§g'467ö»W渶¶7‚Kktå *ãÚÆöèÊ×vwQÑÝîŒk­MHÔª®Pu[[p©íÀÍÚçpYߣ6ëð»Ù†Dõ¹4áæ¹ÙjŒ®ª¥q­]ƒ»mB½Ý"…ìzä²½ÖE9öp­Ìñƾ5ºª ‹Élì;p©[¸Æu›\|×L߆Hòã`¿;Eô îÎAèŧNêX'­ªãÊÙè´£ÞÜ€$Í&y¶E.ðeÜ~T»¸b=Æ'ãÝÖçW(MÅoÑk»õ%¢g¢/Û¨ÖííÑUyØw‡m?ªO‡ÐxóQãâª¾ÛÆõ[ßJ7v %5”ýØ#÷š„H£Mïã>XkìK 7zmm~­mÀ¥…È PÊ œáÁñYãG£+_[äç>¹4pþõm|ù¬…ÓtÐu“ülcrŸµjìNÝÕ{ÐÚÁ÷vZø²A.;-èõÖ.ζ¹ÞÂÙ;lá_;-øµÕFÚj“ Âb,¬/á ËÇêPÅG»PÿvÈ¡œøòhXp³þ0Æ{»îÅú3º*á2$‹\Lé‚®uœ±7† 2d›{ëøÚ^ j7BḢèáîʰ»·¥öÎp`¬atÀ•( C¸½ 6¶wÈ'ý5z€ ™$,AØ¡SŸ. 0!쀧–ËtŠq“]6L6Wa{Jî´vÜ;‡ôµC¤¹>€‹9hü©ã¸ƒ¨]ä„õ´d—ôÑî:pÊÆ6ôÃú–ÄMLnýsüxsð Ùðoæ}xÀj\Þ°ñK=ƒCÔÌñ&BëpˆÄŘoÁrìSz”¾É-|²bÒÙšéœÈto ÀÅ%ß„Í4åjV$µº±/’‰8¥°ÛÃÇãíÂúö¬.iÒÝ0ø "¼£¦ÊðYë‹‹«ÏZ­³«¿óWÆ=ãcãþ’~>Fµ{‰ ®cAó³ŒwiÇþŒ;€ÐÕ¦ lgë“Lxžôt¬¨]Z!Såž©Ås±AÏà׿nÉ‘§ýTµŠ®ã¢ûT§¯]:ê!,âÃ=xON|„õSï!]sVƒ8õ –ÝľÆWü¯ ú½ÈàevdÉd!¬ïн§°ª¡`œÓ¤/Ï oâñƽM–»Ã]Ò»äå6GP²:HÝ#p‹‚~iÁq{x±ð*lÑgA8¢¼Aôì3êÚ`9'{E9ã¦3Úæ<éGrÁ:ªó •bܾ£„R üArO}„‚Ò`Íu%q«Ü9m «^ûs OFn8õb–¤);AΠüSH‡×”u -âÊû2Æ4tEÇ?·á¹¨ùç<5"“a±wï¦Æ>èñ¨^Ðéu¦Mö)öѼÍzQç½öÒ¦.”H^M4Í↤õ~t= 8Ѐ퓀ÜPh‡¬?¡8ŸƒÜ¾ 4ƒáAÀS˜«íÜe6á:Ù®¬þÿiSëN¶èÙø›äàCЄ[È1\˜k0OÉèÜýƒ9êà)ÂíWðš'K¤ýˆ>géVPÙ÷ üÚ´ݬyâ?éÑ“ãû £¾ôœêÙéÙŠqN¥3Ðå÷!åçœî=z¿€ã…¾†ÚžAmÉ¡'}zÝôS“´_ÃQ=ÐDZOÝHe“gxôsî—½÷îÁ‹1°Ul“Í=ÔÓ:5þRQ¯ ÿ5è¢çøúïp^Ǻ«kCF/L‹ÚàÕŠÿ×øŸpçϨ 8 åîÒµÌ_Ñ»bŸÕýíâO•ý2DÏõúeúå'plþ)ÕŠÌG|J9‡<9òm!Ózgšøóe|ð¿Ï ¶_ÖÓc²†ú¥Cõ2é1"÷h?’ôC¸×3þ—Pgò“l®5‘¬>ltÆñŠÐËĶÏB¯'›tÔLrÑz|Óôæ6زNY-ƒ#¨“NÖ}_…y°ž§`ÏzàUt¡$’ŠôǬóM/U_ ¥Œ8ZI”ՏޏvRaÚ‚—àœŸ©e„ð¯Z¯¡ÜzxoÁÚýŽ„w‚„ oâÍŸŸ<Œ ]ºrÄ#.–#Ó sx'RbU=°.Õû~wŒÿƒj”¦>ß­C·-”Xÿô¬Öæ¿2ÿ·ùŸÑ߇æð÷þÄüGÍ·ÌŸÿÊÜJ…^ÁüÛæcó™¤[ æši>i¼ÓüõðªûÏôP2ÿùÏÍŸ® ÿ"&ëà‘2D°…n¯“m‘Dsõ}k-óåH«ÖÁþßÞŸ7ßêuÿg¿÷'zõVö÷‚d- ÿ¤¸÷ç÷ß?þ§_ý÷½#h)°ùûßœþÆßzBdÚ;æêÜ×GØœëÚ¼ÞÊž±÷Îßûéð/~{2l0 Ì3t¸üÃÿ6ø×?ýO°ùÚ1ˆ´_dj´þçÿâ¾÷³?øÙï…?þÖÿxô§þïýµäç?ûC=$þà{ÿñ¿Bå¿þÂ(ü[ãOÏÿè{ÿæ‡ÐÑÂãGÿÒD5yþÇo§Bc“Zó8í~"à!FÔô=#ìó±q¬èY‹£·,ž(‰;œFhëä¢|v/ÑcL¯ø>yÒ ´•<¿F#Ñ CŒ·Êc±ÉF¤×m$ÊóyT,æõ÷‚Wg‰£P^q4ì ðøäx3LdVGôk›4åƨÒß~µµ[ƒT¡OÀÿj}Â×rd0©†Ñ©î¤,O§|ɺ­NS‡pÏ`ˆ‘5¾&ú¹ÒÖGDW§.z9ÒÖƒŒì0Í—J¬ežK_v eÃñÝçåîÂ÷Øaé± wüÅ x¦à èû:2{aÝÇxy‹lb»sIe¨£!rŒÅÔò{è_Ð"V‹2±òîÐü˜^‹4Fòb «0wCh¿@˜œAŸÝ1Lãæ¥âZì@d#°N{玢ìs_ÓÞ7t£fت¾„Q€À… 3ÄxKÜöç&piJϼÝ#ÿŸ@ŠûR¼ßµÑÝp”?(ñ1ü•?¸DrÈ«º–¤ÏïQóX=°òlþdj…QÅ’rÂõ!W*Y5 §ØâRX°¬HNÑãR\¯Üô(?¼.¹;—Häü§\þ-„2ÆEÝvèõP=ÈÕ¦W‡^]!_ö‘“IÍ7â%©¢âGÎߤԹµÕ!êtµÒ£$ë®Î$É”Ç ¬v,uÑöÅéï 5‹7Ê~­“cé“ÇŒzF/jìHêÄ·Iå—‹iNCiØüÔ±¢º@[Å›\Àȧ?†ñ[xä×CØk¾ØÈ“qŽõôKÊGt8@£³uDqÆôÎa=ô=NBu¾ÞE³7=îz¤°¡G™Üè,šÒ!P:œ%rPã)ôöà:‚§mJŸŒÌÄVÊÔŽ}¬á5Ì‘µRÉL4­ó:éhµPšž?’Œ¢åK©­1Ô–8ðvȪ‚àþ ¬.pwdi㥬†>ÏÏÃ8ùŽÐº´8.®wù\7ù­L|*É¡>õip«›5ÕºN…Ãü2 'ëRÓãeY.®?'_7Ýɤ+Iw¦“‡¸z-’{§©‡çÉ»ÖTywÒèÜrÙƒéêÜéÚƒéÚªéØƒiú5Óµóõl¦+S“Øk íÁª±¼6aù=óÙs¯½4a>r”Å"¬.µMX.«f!W7Í*,cœ&!°9¼åÒÂöRkak)µpî›Ï“›ç«…õ(ÍO ëxø7Í/Ÿﺹ&Τ‰§U»Ü¾~Ü|]5ñ2GIr¿ßñ–&N2Ÿ‘åÍ‹“,—]È=ôYÈÕr̦NÏ.,«MÈ=t|§´46aù¢6ÓŽ‹¼6!+ÌB®nšMXÖ¨M>NÀwÊK§‰§=Oø:Dmrï|ÖÜׯi­z×ÑüÙ"BI¹F°Ëà”Ã=ðèõó*òLºól½·Ÿ"þ¼œGÞ=AvÿF÷{úݾek ”-%e{ ”m%eg ”åmœ'].Y·M“Îõ¥Oéï™»OùïÉ\$ñ7}™Ôß?wŸâEJb»²§Y’Q’=õ’=gÊè©ö؉mšVIªývA›.=rf@²~LwŒZ_>Gzµï+ñôЍr¶ rÎÆ+….Ïe˜Žž^ÑÚzzeDëíé•¡Òàò~ôIËp•eðšvZ[.ñ¡Ð¦`/hSµ¦sÿjBJ“¦”KÜJY"‰G\j”hÑ”r‰}…$%Ó™¤}…\MU;²Ä°”ÅÑqµKô"K Ë\r?ê”XŽ,Q5"#§â·½BZ›í|^ÝÛs¡úô´>=m§OOÛÁ-àÏ]ãùÅ‘Ê!T~“æù-Ÿ«>¥tT4¬H–‚†¥ä"[AöOÃòiØÊ^RÑp$N ¼#ù8Dã¡ñC$Ë$ÿCã”ò©AÎ=Š¢ñX Áè~lèíæýKÕ®mܧ#zÊ<éßWôÜ&üíRòOÅsç»>y>8kÍTžÀl)ïÚÊ»ŽpšçÞÔpÇøÕÈ“ Éé(äÎÏÑKä¹àSÆN`7øï¢X{Õ1«ƒR®¸ï+Û{Nõڦx¦’= ŸdÔT%ʲž!õ §’±>ï…O S´BWWSP´§NÑ™J«Ç¡þHŽéL3¢.S×¹ï·U/gÛ#ìª\äCBmLc¥Õt±ýÈF·`Üõµ™X‘(9棭[–þUEnU1Úø¼â™‡iòòqYu6 WÆóV6Ž”Ëb¹x›s}x9¹¾‡©èÊ>yt}³Ñ“½¤ÖNG.£eDW£¤$]nYNtd,JJä¹+¢Ë?†3I‰w~Ã>ȧ™%Dž…"WŽŽLɼWÙ¦;©½O½¶†yyUÙÖé•?/>_.û3™lMb&‘¬Ü+ºVE_ÂÔû¦§mI&ñ¶&³#“ù[* oIÒHˆÚšØÚÖDG“ó¼?kMžÄ¿³¶dÓæsBUµÎ&æaeŽyð'$Ï+桊'LóPÅ&‹yLJ1óÈÒê<æ‘ͺ‹3 :V8½¥w”‘¨›ès^ϘǬ¸2Êß$^žÜSµg䩪é&çÈc×ÑS]ÍM¼«lÙëá¯N“Û—Ë ]ÏÈÇõ¼ëYˆ×Çòd‹¼«÷Êåñ’›y—ejuÆú™#ïYøœPO¼ÄÎ/áß“´ÈxIšX„^¼$MF/^’†¢^¼$©Õy¼$›uwç0Æt#â%ö õT¯g¼äú{ªj>›ÿNî©z o]ÙËV†¾Wï×Ëã%¹§:¹§*ËȬ#5óâóå²?×3R’{EÓµ*‹·$êS¶ò˜Çuˆ¼§•©yÇÜe¹˜µ%›6Ÿªó‰y8™cÎb“®¿ÐÛ3YÌcRŠzûbò˜Çl¬»¼ÏrZ½ì{ Ñ3Î õ9¯gÌãú¯Y/Oî©–f䩪é&çÈc7ÑS]ôjæeòT§ÉçËe®gÌãúÇÜgmfesfsOoÔ'æ‘’›s_ô¾ÌeйgásBuÌ}—ÇÃìI0¾v…ÓFæoµ&׫ânBv2ùNNÇÁß½ÄR'Ù]ÎÎò!߈Rñù`Ùu×=8 š?¿GB‚çÙw0-º×õ¬÷,9åŽâÔ$vîÒ¸·jôé2±G'ÙÉ’Ýe÷Õ&±B³[M=‰ç:‰UÎî·fòc.úx«qû ;?féÉ-‡.î“­Xžµ˜„óõòꮕ˜%ïOÖ*ÛjkÚÖøÕ®‹¶­³°“¶pB!o'-°“vÈNÎÞßùd’õ’×MÎn]ÁÍÓLÑVÙžH3edNZîõíûiû¦óõf©Ïxë(t¬¡cg·‚ïæy糒Ǭ¥YêÉú^å9šžQüš˜E{Fz3 óö\&YõpÝtöìæßn†ÆÒó œ™iŽeïƒÙǦkÓ„ø¢“ʦO6v3|{=Û:; ™¬«ÉÜþû»&y7M´uô½4}ãXàu)Ç€(î¶.Ó> QëiQë¼ëÓVÓäßiâwCà7áUÃ]ðp©Á¾†>ý%ö!öÈ:ä -Ô’x4˜OÎGÀyEšî‚JX4ÅpÒÈn îc¬5ž£\¯€_?‚÷œÁœãsôû~ñ«‰yïìŒÖ­æWÿù‚˜Çÿ&úÉø¡t*O·Jz\PÀ5ùÕˆˆ[oÍ£–¿W.¯\þ^¹ü½r¯×{åš õ±Õ~‰j®OþöÍÅjIòî¶I)«ÞضHý«ÛÓ”¬â€ykþ äSípDjz–!üF°SëÙ”kE–kÏ´\;²\g¦å:å¾ôµðôÊ-J¸Ì§3(S¶-áR8Ë&Ú3–âœKaª÷öüW(ÿ§ˆ&öà/Ñ·sd­Â©ûðÛ­O€*ïW‰ïþÒÕ•Q=}NGDž~à—aÍ  K*ÞA¶T†3ƒ2® VŽKG©÷)ÇÜ¥2r×ßKNR²ý’ç4ÅÓPÊ`d[ôÏr‰§BIä9KÁß¿4 R Äœ,†5£ zûÜ ðmX€to \-)Æ0}KÍâ{ô9~;%‘À"mÔ¢îÝÌøˆ0Iu—bò©/Hmq©‰˧¾”Fì¬GïúøÊ}ºz2?<­ŒxªÑxBCÆÎ°“‘V÷U8n$J—%è?•<¯RC%còhQ”´žd’¥LµZ8,eÖRK™=)³RIY§ÄK™êÏð“ùáéL,ev*)KÒPY¤Ìöñ´c¥Ì–|…°ÕTÛº€îÝQ"ÕpyI²©Zm–M{©eÓƒLÇ_º²¹êã%›öðô¦lÓéµéȦããé(ýK‡CÜád’ÉR”D:±–ÑIiU+ZÂÒç,µô•æ`ÓùPºþçªo”ÿé,Ïò”-c:ß=ÿD¨ï!½¿¤ŸQíXÕ+Ãt>}?‚ùÌKF1&µêLïÃ×qÑx%áHêy$¯›{Z·¿OW-t©èBŠ—èïdèâ# qÒ%ð]Röé}îÛtæ"<çÁ¨3 ‚¯$oËÍæ=øÞáæåÏŒŸ€üò÷žÃü2¡N|)F׆ºbËN}é§¾äR¤”‘{Ðâ>úœÁ·P!ñþ+Ç1¬ tþ¾Oçô P2AêA5J„~ƒÖ“_Ã!j‚AMÄ,ŠB ÕãëX:QßÓc!·•Gç ômÖ$ŒþuÇÚÓÈ t¥ªÒý‚~«øV$Z'îJ%Ø\SÊ(›RV§~8JC£6\ÔäÒlWûß;žYïúµy‡kAdcg<3ö<ì±ÇQöƒ:V„iŒðÒ6W«åz:b”Ýt¯•â<¿‚rîµR\q*7ÁýÛ«bX”f¯}Ø3Êÿ¡¼ÂI!Ïì)» jõ›F]¬—þÖFŸðš<Õ5L‡ðksñ„ÖVÒ®Â]žëvéß-à¬NݯQy‰òò5Ž´àåOÌJs=Ñ“+¿rÞŸ)ë “0‰¦Ô¹”åjØØ€°¥–Éu‰,WÃÆllÙ¦m'®u½³mb–?“\ógùÓô2/1Ê.LöøºpÙ#ëÂe©}vïž)¥VÒ·Tˆ\¬Lä¥}À<«~nóBkEý+s±léôQŸqnšlÞWx™!ðè¡4šíö1n¢Ì²SÜsß@+ÝÞ¨^X~™á5Ì{¾§ °ÅoÙ0_QÊZM5šêx”ŸÍÓAéÝDNä-úZgè-w±¸)©3”é©Õ›î‰sõ9yùè²*>RemÆIUû‡®6‰Åëû¯U1ævûíâwVÉï¬r\’Êq™šýÞ=­¿ˆýådlï@mÖÿu$¼Ívkñr^V‹K8Q$üû'‘ðæý¯Öp[Ʀµ¾ŒŒ7×âMd\öû¿aÅëx±U˜É±[:¤3òÖ¨˜[J]šhº¤÷H=tÝtóé|®¥>yHSü?Šý¢Žf¸¦VG¼‰o˜|ºE߯!tpÕÓQS å¼êwi³îaß!ìðw °‡ÈÛÞƒ;Ô¼¿§ì3Ƴ^ïÞ}‰‘Õôã&OâæÜ¼†Ví@sw=UI°ÁOê'-Þj.¢øjÆäF÷¨÷Š•  @3Ä]•x¶6ýæî»lŒq5Å]uÙ…úÔ ü*…Ïu>XÎÅxD!Ž ÿa¿™Xéçîâ»iZT…gñ4=¿ì¸ŸnCQ^uÓ+ö3`zNC å€Ï, CA²!\7E«6¡ Âtó-¼„Á¥¨v§©E/ëܶ§içú^(~ç:ÆG%0‡NÓ32ýþ1þ@‹6h}§Ä:íKñüAé{ Ñiß B×Ñ9ŽGt&Ù¿ÌW²3¾mkBSxœ]NË‚0ìÍßðƒàÊÆ­¨¼± WMš˜Íþ»- ç2“™ÍÈ*5XÔ|DŸZà=êfº‰Lcîé(”F? ¨ÎŽ›ëhÒÒ¶ô‚ BÒL«r°ñµGp’od¬göd/¶e>Éf 9ØÏ]“WÎÈA²\ö\L›fú[xiílÏ££ýƒTs1öH ûQ‰lÄH‚اE‡ÑÐÿtìö«ã(S‰AZð§¦_Y íX µmkBTúÎÊþWºxœí‘Û8 FSHI!)$¤’FRHn›wóî HÉY¯Ûx3žÕꇤ¢úùs†a†a†a†axI¾ÿþÛïÇÿ»'UŽ{—áÙùðáÃo¿¯_¿þª÷Ú¾gýW9ª Ãû¼Ïâöð–þ¹»¶ŽÕo'®GW {>~üØÖÕJþîÿlúôé×ßoß¾ýüòåËú¢öµ¯ò)*/Îåç‘Ný\®ÚϱÚoù“v[iZ_Õ±aÏJÎþ/:ùþüù×6õOÿ-¹” 92b?çTþÈ™×þlôkÎ%?·Úåöìä_2òø¯èäÏ1äBµ ‘sµ÷YäÇ5à>¾:†>Êc=1ìÙÉÿ¬þOùwï èyä^«- ×Ú¶,ýÌXÉßzèû•žuÃÐsMù#×’U]ë>H_÷˜ÀyøY’Çvº!Û‰õŒå_mÄi ÿRuâþs´]ÍXœm§_gû)YYÞ)úmæ]×y,—²¬mÚ z†1Éêša†a†axEÇß“G°×§ÿóo/ïYòÝú\êkº6õ®x„ËèíjÏægHð–ö¾»–÷óüÏØñ|†yž÷u¾Ä.½•üÿ†þó\þô³aÏæŽM&ýwéÛÃäké#Ïú$?Î]ùMço¤Œ\ýȾ,Û/íßÚ¥—ò·âQÛ@Êß~6s?)}‰Î,¹ l¾ìçœô ØgX #ìvçQç´“ög·Ú ÷Bž™òîìÙ™^Êßuô¨ã®ÿuh½à¾m?Ž}{]ŒÐ.~È}Ðv_÷ÿJ;ëxçoÌgJöëôY]’Þ³ë@¶é.ì«)™áoqC–ü¿“?}ß>@ÇûXŸÀÎߘò'-üäÓÉÿ(½W‘?Ïöú›²±¼‹ôÅÛçúÞéô‰Û ºÅºvþÆ”¿ÏëäOœÊ™ôRþœ×ùÃþvì[K?[A}¥?-ýwöíåµÔmÑÕ‘ý}¿g\=ö€c¿¶}ñ³M¾‹ ½ÃüÃgggÓêüàÖ èÇ„çÜÀô-B^ëók_g?Ìò ¯F?œ£³« ÿ•Ý×v0||ØŽÐØ=ǧH¿PÆîÛgçsì·ã/ÇhØ‘ñI ÇtýÜ~×{‘òçún^§}¶ïZæøºyDžë—óÏì·ó5èˆéÿçXÉ¥ÿWvðô¥§O)í"û±c0ÎËvYà“ØÅ ÿçZòï|~à¹_%/Ï,Îôp\€ËɹyΰçZò/ÐÉé;/x†ÖáÎsõü_é·9?ÿ«PÌܯ5Ý»\í[½ãy|ÞÙÃçõÄ8ÔÏÝøŸgäû¿ËʱL{ä? Ã0 Ã0 ç_àk3¾Àç†>´’ãøŸÛÜÆøzä«Éø_ƒüÇøü\Sþã |<®)ÿb|ÅÊç7¾Àa†a†axn.µ•të†a?lÄ÷^Cã•ßvk­¬Ø½#®àýÜ~eûî)ÿ´3<3^×Û¶¹Âkð¬dlùcÁ&·jK+›œåo"eòú<.ãÊž`›Áê^(3zÌòÏöèu ŸÁ¦lÛ+6»úßv´î›<™†×ï‡ ¾k7]ÿ/lÓc[`ýOÚöùÐn}½×çòš„«ï ‘GÊß뎱š×Äzt¸^vßä2)?;WmÆrõ5üoäcö³ŸþIzì?ú¾˜‘Oî÷zx÷Œ{¹&ØÇ!û…e¹z.þ©ü»ýüÓÔÅ"ѯÑí¤ô ¹Ý1üÖóäÁñGg×ÿí{+Ò·’×lûw<ý=}GݽìÚFƨ^ú)õ¶ìzIpäG¿•ü ¯ãKì¬ÖœÎ{Í{ÙÉßeÈï ûšG•‘12éÇÛ­¯Ïq¯§™iumf—“>¿.¿ÕþÝ}¬®Íëòœ®~žaì? Ã0 Ã0 °š[u´¿›+ð7øSvq¬ÃïìæÖ­öyÎ…ç ½?Þ‚‘}¶¡åœXùçwíŶ‘ÚvÌ?ßå°ß©ð÷DðÿùZÛ“ð-q/–?ß³ñ=¿ê<ËÌ~¶Œ›‡#ýßÙæ­ÿÙæ»>¶ÓÙFkÿŒÛ"qþøz°r­¿Qèo 9ÆÄr¦,øˆî­§nÍY[;í§oæ:)@¸-`×§-Ø7‹ü({α߯›SÒí§Ýú»@¯ÂµåßõŸKäï9èîüÖ ¿É¸“>:ŸnÁ3éç _[ÿ_*ëmt°cmìÃC>äq¤ÿSþ´L“øÇ<²?ç=÷çÝ<ò¼6Ç;ùãÇ«ôsü÷èþÜa†a†a†{àxËŒ™\ÅÞŠÝûêpxç¶?0׋¼#ÿ5žßàøzæÇÑ™ƒc¿]¦³²¡x^úêl‡ò¼ •ÐÇ(×fù±ÿ:~Ÿ¦ËÓÙ£^l iÅnç59¯³©žWÇÏ~·\;Û?vþnŽ—í»öç’6eÌr¥ßÑý¿óUbS~vù§þ£^¹÷U O7O(é|;+ùSÏéGôü4|?Øfí´ÿÐ÷¶*?ÇrŽ—÷W~Ï2ÏoÅNþ–ÙŸÊ¥ÿSþ9ÿ×~dŽa«ç˜çòîÖ‡ÜÉßmH‹6öìmÀXÿ[ÿÝJþ…ý~Îs.ãÚyœÑÿmƒ4Ù¶OÜíï|Bÿ­düžò÷ø/çøÙ˜þÁb5þÛÉ¿ÈyþÝøïUä? Ã0 Ã0 Ã0 Ã0 Ã0 Ã0 Ã0¼.ÄP—~þ*ÖÎ1@G\⟿äÜKÊðÞßrKXÿ˜µs2â±(ߥò纎Jëì·º8”ŽŒ'>â’X@â–¼ÎQ¬ûQýb£àÚqôŽòwx‰ ìb÷)“¿ëî¸_ÊK|•‘vÎ ÞÜ1çŽÕM¼6keŸe-2Ç›ïú5ùŸ9—ó?K^ŽEº¤~‰9òϱQï±®Y®×F¹8–ëN?å~;:=J<—ïÛßþ¡-ìtñºÄ’yNAÞÇég»þCþŽ \áûNýâXÊKê—s)'é^Kÿg\~âç2}›6í}Ô³¿·áï)¹Ün]O»ûrÞ^Ì÷³j‡~†"·î{pæ¹âù29w€6”Õ/Ð.Ÿz-ví:û+ýÇÿ£ó²M{ÞW—ýûJY¹¯Z÷­Êêµ¢`%·Œ íÒ¤l9…¼ç•íž¶™Õ¯Ï#OÏUz+èÁUÿ?;îýùsŽçÜdš~vñàN·›‡Dç7*.Yç«+v:Óye;ôø8Ë}¦~éÿÝ|…·²+ÑޅNþ9£àÝÀ}•{BÆž#t¯é˜×xîãÕ­sXÉ¿k¯ŒS¬Ví›ü/Õç»uJ=oê Gý¿ð<‹Õ»L'ÿ£²óL¬ò:äD]²6Üj¬f™ògL˜ëz/¯+ؽ[{Ž™ßºrðÝCôM®Y×q¦~áè[»{y‹¼£®òÍy cÈzA¿§Þô»ô‘Þ;Óîwï„«±€Ç9—¬zÉszW¿”ûH®œóìóV‡ax3ÿ ‚ú à¿%£×mkBTúÎÊþ’xœí‘) …ˆq ĉ8âDÈ^éê>×»gI@ÏÏþX¯jjg»iЃž——Á`0 ƒÁ`0 ƒÁà?üúõëåçÏŸ|â:÷ªçâs¥¬eø÷ÁÿQéùŠþ3|ÿþýåÓ§O|â:÷2|ùòåßÏ.¾}ûö;ï°7eôûGFÔû´ž•žOõ¿6Ñþ®ö_õQúv•¦“×íßù]Tò¬ä]½^¥Ë®gí¼{>pjç«zëìåkßu¹´o{šyªþ¯yeõŽûŸ?þ÷{è-Òýøñã÷½x†º¨/ D:½é3Dþž&òˆ¼¹e«^H×õyê i#/OGôzüϪÿÇ߯_¿þ~î :ûsMeÑò#M”Ï3YŸ#=÷2û» QžÛ›ÇßЙ¦‰ïŒ[\s=Eó8´}E>¤GÈ©éTîø  Ú²Ê×Tªg-Ÿñ}×þú̬üVfÖÿé¼Ìþêo¨SVwìzV}Ñ.âƒ/Ð>¨~Ê!?÷UýùÏËßÿï1¸Åþè<ú#õîä¥þ•ý}âÀ¶Ø=þF[ þ÷~†¬ôQÚ‹Bó¡N™.ð·.+푹^edÔç½üLo+[\Å-ö§k»ïä döW‡ïÍú(}Ýýê6îqÝý$¾#³?zÐ6–éBÓ©ÍiÈïöÇ?òLüåÍ7®!ã3ìO_Q}Пuõïêoßš™é[ú=ž¥tk¥È‹ûøMÀÿ‘Æï!'}/õƇdºÐr2ùÉ_ÇCú‡ÿﲨü:—©ôéº ƒÁ`0 :8÷—ÝÍòoÁ=¸„+8-ó4}ÅÛžÂcåÄ¥XÏdq{bUþêÙŸÖq˜Â©Î®è¸âmï!«Æ¶«g*ΪòU\z·ü[ù´GAåÖ=^§+ruñü{µëLVåÕüþ çU¥?)ÿV>­Ò“ó†Î)úçx…|œYé¬ÒÆ»giôãœ\ÅyiÜ^cæUúÓòoáÓ*=£ À³Âó!óÊþÄíT•³ÓY¥µ?rfògþÿÊšûWœ—sÖʽVÙnùÔõ*ŸVÙîXù#å=ÿÌFÈÜýªÏ«’—+[¡«àFô~ÅyH«\L—~·ü[ù´ÎOÒ‡£Œhô5žÝµ¿ŽžöT§ö¿êoà”w¯|Sf®ûÜÁÓŸ”+ŸÖé)³·Î;´ìÌFå³´;:x ûëØÉÇ÷â)/ˆOSÎ y²ëUú“òoáÓ2ÞÎeÊ)Ve3'w®”ç‘gGg™Ž=ïJþ®^ƒÁ`0 ƒÁ ľˆùœ‚u k˜U,ªKsÛþçØ‘5€nYæ®,÷çbXw{ ⬿wÖ&Ýúõ™û3®Q×”øN¬ðQev× ]¨¯Æ·ºö¯gcH¯úËžçîi½÷Š{î—ôÌA¦3žéôIó8†Çh³òwòÊdÌÒu×wËÈô¸ƒUI÷äWçq”ƒð8­îÕ×çI£>+—£ñ@åì”p™ôQÅŸáóÈGcþZ—ªüò\ƪÌêú޼ÄUƬìß·]ÌÒù/ø:íÿèÊÏ3dç;É«:gB9ÈRÈôï|GW~•—î×w«2«ë;òfz†áŸt|éø+—i5þ«Ünÿ€žá«ÎŸgºZÍY|<õ1NyŬ|E7þkúªÌêú޼÷°?õ®Öÿz/k›Ü×>ä<šÏÿ=Α}NŸÍå»Î…ùžü>åuåWy­d¬Ê¬®¯Òdz ƒÁ`0 *èÜ\?W8ÀG£’Ë×ÏâY»ûÌÕ:‚ýÒÏDg«öc¾g<‹ Ìö2+²¸€îÙÕýÿ'ëWµ±6½žqnØŸ{žrèuç"w¸<ÒTkôÎ.™ô\ r¤•¾nåOàûïÕ>Uì˜~c‡#T?£ñ+®ëžyöï{¼QùÂ,,^qF/XÅûv8º.Ö©gá×3}íȸâOPùì ~n%ãhUÞG4§çø(_û…sn|W}Tg&x^cëô“,Fíý…¶Çù°ÃÑ­¸ò«ôµ+㊠<ÁÊÿ#+}/ãUw8BÎRh_ÏÊïäÑ|»33!m–r\7U9Œmêß({ÅÑp™¾veÜåwÐé[û¬úx¯ëG¨ïµÌú¿Žß]ÿß±?g;õ,çnßÒ½Úow8º]®³Òוþ¯Ïßb÷ÿÈîã?úÇOVé¼=ù¸ZÙ_óÎÆÿû£#¿veü?áèv¹ÎN_WÆÿ³Žªõ¿rÞYL€ëÚo;Žù°ŸÎ1³g²9pV^•Gµ~>™[_áèv¸NO·S÷Ÿ3 ƒÁ`0¼ÀçèÚïQ¸’·¾[ãï¾×ØÀ veO\k^8Ö”¨v<ëZbzº¯²Û\ŽáOìp¥Ž¯b¾n$~ð}¬¾Çoèz•3ñј mKã è«ãvUÆÎþ]^»i´NºÞå¸WAö»#´÷xŽë”«é‘æjßÊtÄõì q ³:£¿ÏE=Ð z%Ö…ßqù)CcñÕYµEÅÑí¤q™´®ÊyRGý-¡+u (K\ûh¬PÓ'¥Ü*^Ø¡²¿^¯ì¯ñqÚ=m=y|KóòøvÅ«eü‰Û\ý˜rÈŠ4µŸÇ=Ž›ñ{Wê¸úÝ1Òûû;=Ý·åòxÚëpû;o@>ú›”ȘéT\ÔŽý+C±“=*ï™É«|˜¿GðJO¸CÊåW]ù–xŽ1.³™ïµ 9_EŸÐ±©â ½ýVýqÇþõÊã)vÒ(ç¨ã Ê‘}Ïì¿[Gåñùw¨œŸîǺÛôã{-âƒoô½ÜSdו_ËžïÎ׃Êþø2åÔ;iT&Ÿw*ßÎwú‡·™“:Ôº§ÇÇg×­¶“SþO¡ãsÌìÞjÝêºï%Z[~_˯déÖ®·¤ñ²+œÖñô¹Ìw]Ùÿ7 ƒÁ`0ø» ë]ÏÜkÙíIŒu¾+e§L]«ïÎÖ‚ïoA^ç°î;=GR¡³?œév쯱Ö;<÷ôy‚· o$Nî1ç´ˆ=:ߥPîVãžuŸ£<´Ç <&«ü¿ê3K«yC©¸/ù4–£rÇ)i=µþ*/|ÎŽ^]ËQ¹NÐ1qŽG¹¥w>ù{å•á ?ÓKvÏå:A¶þó}E:·ÈÎ_«n+{ÑþuÿÃ=ì¯ó¿êÜr ³›÷qÍ“¾Ì³]>>ÿËdÑ}+½øüÏå|L¼…õâàõ0öÿ»1üþ`0 î…lý·Še€·ô®ùŽg:…®×ºñ¶Šž`W×÷,3ËOã?«½‘]—¾\9ûPø×î~Í[°£kOÿûWùiìGc~Æ)ãÄ-<žw¦¼.ý3qÌ}•ãž'vªuðw$V±’¬n“Ñváò(²r²ºÂÿ¸®5Žï2©½ˆS;W¸‹ÊÿkŒ_ÏKÑÏ”ó­8B/ÝÁhùèEÏÕ —'‹9êw?K;Òx:òxðº<–ì|@¶Ûc³ÄϽ®‡§ùVúàyâÆ»c÷ÿ@Û–ŽSwÍ8B•òq®Ãîÿ]û£=é2ôlBÓe6V}eö÷¹ˆž­«òRý(·ØéÃËáÞ VþßeÊöZT¡ë„4Ýûïad¢­e2Þ’ý+nñYöÏæøBõ—ºŸTq„®Sü×ÿ»þß”é<›Ãïø­[&Ï=üfÿŽ[|†ÿ÷õ÷s°zîPç)GèåèÙÁª}{Z×…Î3«³™n7ÅjþpûWó¿Îwfåtöï¸E¿wÏùß[ǽ×;ƒ÷…±ÿ`l? ƒÁ`0 ƒÁ`0 ƒÁ`ð÷á{ÑÙûô‘Á~ÿ¬ö½³ÇÒßi`oLöy„>uo©Ãßi\q‰ìKó|}ÿïÒû7žÉSvu9ÍG÷íñ©ì¯¿c¾#öÙé>·,Ïjoð­òw{õÕ†ú‡Öݲ‡Lûù=«mWèêòÈ2u_¤ö¬ÿ8د–åéŸjož?»Ú²kÞËDúøßß±¡öm¼†ýýwÔ>ôÃì#® }©ÛË×õ·E:¬ìOÛ¡O;<ÿ¬ÿsüy—›î¡Ô}›Ú›¾k‰}~úŒî±Õ|µM’†ï'8CTþ®¡¬o+¨[Wžú‚ÌöŒ½ø†U™ä©ïïQ™õýr'ö÷½î\ç­'ç’tœTY¸ÏwôŠÌz.Dó¥=¨ÜW|ÓÉ~q=_¡¾yª¾M»ÜñçÙÙÍÇ÷–¯äÇkþt§ïbS=2æû|¥Ò±Ïy´NÚ_}O¯îe×ù”摽ÛöàýðtLàœS6Ÿq`CÿíÌjfý´3–#Ëéܰ³?zÕ1 ÿéíHí¯þ]÷š“ç‰ýõ\"íWËÌÞ]åó¬ÊþüO;¾2'@¾ìã@~tGÎü:º«üªç{åÝuÊþê7m1‹è™Q]ßPWVç2ûS®Žåz]Ï¥zŸÒsý‘ÉÛ×3ÐÅ]vç‘îªÜÝxwÒžôÝ:Ú—>ÚyŠÁ`ð¡ñˆ$j¢ëw½ymkBTúÎÊþ¢6xœíš‰më0]HI!)$¤’FRˆ?6øc>>~Úsm£®+ŒvÁu…Õ‘øνYšuÌ8³´ú³uNÒ?¤WP>Ê1Js¤ŠWiVÿçü‘ý_uKðEÿ‰Ï¸ˆ/rœÌù£Âˆ_âšgK•W]×±ž™ÍEYòclÊó,[¦ŸTœYH»T¾Ïàÿ¶›ùÿíííðŽˆ}x¦÷ÇL#}A› ¼ÒâœöGüžVË7¼—‘^÷}>“iÒžº²-çøèþŸiæÿì;}žLJø°ìXí&ÇTÊP÷3ýTÞ#¯ôߨgÿ®ðJÖùl eäý'ï=ŠÖø?…͘oéçùn€í±aöëì›ô½|7ù>šý?ÇôU–%Ë;«ï¢­ü/ñmöµžN/èãI޵Ù÷fóQÖƒüz{Èñ<ÓdÌé6éd™nù;è¯ÚÊÿ¥²Q¾–mû{{÷5í$ýÀûiѦxæÿg<Æ$ò"Í^¾%=êü¯”RJ)¥žS—ÚçÍtïe/ùÖ”ë —°a};kú÷Ô_µöyµ?¬9ÔšÉlÍzÒÿ}m#¿óGßüKk!¬›ôók(Ë9êGüã1»¿”Þèz–×,­Q¿&îlÍiV濊ý²Üû#_Ö<òœöÂ3¹Îžm$÷^9g —{9&°w³&¼Û:Ë™ë‰uõfÖšúºR…÷:Ö½L+mWÇôW^£§Äz%÷I—½î¥2Ÿ£î—lo£þÏZ¶f?¾k4öW¼ÜÇ-è#¬ó­ ?V/ì—c^ÿ·!÷!{u̵ʴU¦ÙóÙ·ÿAœÑý‘ÿGe>G}þ?Åÿöþv✽Žø3ÿÉX~j½úœ—{øzT§ôA·O^ÏòʰÑ>÷³?syÊ|®¶ðßG)ŸP¦U{× °.ï».Tæç}6žÚ³‘-Æ×F`‡£Ãp]Åkß…~Ãóbà ¶ О$Áwݓٱ„ÁñÍ|süñCo•›ÝA+Õq3¶¾lOàx@á(é0ða¹¯+?÷  ÜT,¤_¯7¸s\ÛÞϘ^Bl1)üCó•Ò+ÔkÛ(îFyN"8õ–dPCÌ_9ÈÒ>O0&l«4¸Im+þîënwîÛGrŰø™à»ø)/tih“f˜õÕ Ñ¸X†>ÊʨËEËÅòã)–Ô<,é6ös4ÅáÀÖ5›zàbð?¤¢Jðàö\<OM%O#(7ä6à:§= ªêýÓ‹YA£÷ƒH ¶«L s6›ÎMƒXêÈùBcX&ǘJ½te».Êöü¨Ï 3.je(”Ï?Ô?õèÉLÚjï³=€ÝÚ%wƒZˆizFTxô„$¯kPö8›E·mòø jAO™ñÔ×úÞ€«ž>~þ’†åÜàØ†‘ºéB9úµâ † Ö¤8U­«KCÃv´jbëL èåçC¼ï€y¯¡ ç;¤mj P.Ô —øãïDkñÂêwþ¡UÿE€3ôܨÁ”‘•’8xëUÀ…JÊü¹s£‰ž\„³èÉŸŽ+;}s­FãQ(KI­î÷¦XÝ›„ƨ ¹1 Ëúþ+Kú¨èdXŒ];JÄ£Žïcˆx$§DÑ×·Þž¢X`i× ì¨ëÑ@lÌûrn°m$¨Æ^×9΄ïzBGÏž Q=Ænfäk„Dêö¬e; <¨ýøaÓü>,µâ¢ž›jÆïk‡0BŸ[p(õâ$¿º‡Ç ‘ÛöÌpý4 nËËq`”XÆ“ù úvϵöèÙ.xõHnŒûorŸJ¾€Ï5¬ñÁàÿHàu©‰ñê뇗 fà§ í××a앆‰[Z:><ÇM@J£9óý¬â$Óq]¡}=H… kÐþ3ÆÊºã¯ù鲺t¿Q“=‚, 7ÆÇµß»ýìêçs Ä>ã¢3ø¶ïÞÜ6[¦Ñg•¨— RLت¨ù­?·( &wÝ.7C#~B{‚]¯Ó ×â—UÔW² 7™Ò1jk~‚e”cG»¿rËÇùÐãDØ.=ôËK´ÜîëÅ@ÝWÝDZMû0å€ãûíèä¼0Î\Úòxó®vÏqßNZ¢ >#Æ ƒ„ŒàBE— ™¥)•‚º&yØA}tå?Bûê Yìm(ÂWIpáɱò€ñ ¸|½2—+èýà\2·ö íÞ)lÜ8·ÖtlÁ@Z.B½€£ï•eñ…‹ƒRSßôƃm>d˜Iéþlþôò'N a†dÄ¢G3¹%†¼#«)?è¼Ï$sß _5=²íYÇBR#-k"qGP-Ðeþ"çf­ÁÂá%Ö©-Ï“37êÐäÌÈ8ÔM9™ÏŠŠ,¬èä_*n;H‚ÁúÆEBƱ†Öcl¿~øÎî±ç Ë[ƒŽ/saŸg¸IE2å,zÒ1Út:’kLÆÓçÎÁ¡ÍíÈ™壋G)æÔ{7ÊoðËÅnd¨ø¤è·ðá•{@rõP˜>ÆkÂwŒk×½¾¡ #¸kXfy‘ÖEÇ÷šÈA©ÍBÂ9ÂuM°ÛÞ4P=¹_Ól’ÆgW®Ø‡ÝN•Õ#–_n™‡Gï¤pp ,Z…ÿUu›6È“÷ÃV¦›Ó°¸å0EK‘7*|·ý]¯{ü75F\éÔ¶»úzQØ z!á‚Ç uH€>îÿó¦upš²ÚöõTÙ£»o3P)ˆø´[à^Õ6ãÖÚóã` -šd&á*=¶%ÄÀÊfY’<¿^’ƒØ·`_6¨ßÈ|h¸Ìë3Ø¡>€„2 Pºúqÿ×7ÏŽ³ ýÕü,Ns¾j»F™=BµŠü` ¨í³•C§òöiŽU’)Ré@LÅßÒ®„‹ÿ‰·Ç§mb<2FH“Rq°²ùF½åãø÷Xºi䎲õOm¬GAýÝ·ôÒ}:¶*¾Ëu ÄfØ:@Ê«RH™.òÙ6Âñ¼±Ã6Žjå§cæGOpO- ú­6HÒýúÜÊKÉJæÛUÀÎì:ºJǃ¾ŠýÉvÆ,¡•¸¯3ÿ‹DìZ‹¹EñÊÆ®ÒqqðìØ7p?¸ƒÈŒÞK¬÷Å%ȧ$;â¼?ýQ¬r6³pP7`¼a™†¸é^=„„ýÉRç¶_†õ™³)m£„Ç>ÀD3#£ ¼_' çIþÂÉ­uÍ‹CÁÊ-Rne㯄³²Ïóss•ÀîLÏÌ<È­/µàR)|Lt_1»éòÁ¨L¿kÇ=‹rr 4ùìê§ü/gýšEÀrþÀ~P†¦nBß[ ®\g[{¡«‡’g£ãYÛvRŸW'†‡ {Fe°m1ïÞŒ{ Ýw¾LÿÕ;7¨&$‘çþxúcÚøÃÐ0Ÿ ŽžnÝö‰óí&úÚuÅ@5sCèCÕ±mœñ8Hƒãefñï¹Æt ’Îx{q(a¿²ÛÑ‚a¡?€ŽÐþQ“%ò§ÌlÁ¬ö4ô‚¤Ï‚xmWI׆€Gí¯¦CèÒôì1ê’Ûk×QÖýŒ3iJhÜ,Çÿ€úãú‰KºšRˆ÷ÅÄð¢ÄÂÈöÈO`úÈç…ʲ»†½þ4á)ú%ˆùÔb6îB8ý\ ³pµõšÉì«e<êºíS鹂ØìÚ+ÓjsðÄpŒ„¸ß%<&t{3?Œ£¬|N)p7b™Ôîãé?Ôa¤iäDµWl’¡½ðˆX—ŸÀZÚ>;uø)¤ko)#WáÈÍSšn®cR½xô”{[ÀsXv1¤¬95‰_¬¬0KéõÁжՙ7Ú>žTp¡5‡‹¸Ù´¤l3¥Sü"ØêLXê…ç«[á5mö¡ø º¿Q="u}ö‘ÆpϘ*xböÕ‰ºîã—ã#iM+³ù@»Z! þ·Ï®~jàÒY”ݬ‘¡´Ò$?5Š• mtêuˆ] ‡%Ž@Ž÷Ý…:4h8Ûƒ¸˜¡»tuì3À;ú ΑO¤1A/r‹¿¾™ ÆÏR*5ÀÇûÿËìiÜ&j#Y2:º$Z(a­dæ@ß>'z ž„×L¬¯³¬Û뇶©½6ZÑÀ8|`Æ6Ý"åŒX1ß_€z' îF-©÷»Ñû?°úX^ò A:?1¢;ØÌh/KžVB'õ üvOnÏFSò‚¼É õƤê°ïÌÞQ{=kh7™ÀMå¯ÀwXQùpü\vïÍ“ÎO/ÿ¶.ÅöÚñ¹ ôN3·ÍHKRðÉlŠK–"›qò”‰^Wܳh¼1wtùã  h@§¬Ñ3ðe6þN|–’¶Á©‹I;yîó?8t[ƒ[é!‘ ú¥µ$,ήL­·e–"z¦å%IÞ†AêkÜÌRäl!3uú8àÚyßë?_žWÅé½)ƒAbCÒõéõOù!rz¿„a¢¤5S±ÍnÖ—£³ˆ#Â<ý43yÜ6"ª ÒRýêÑô߃C‚Qå¿&>¸[¼# BHÍǽß{v¡eà×kOÃ×TÉlq(UHð͵h »Ý”8º,@t°µöÈÃÕ‚LÛ{p´•ü‰/Ø*ËL"d_y ïŸk,4î GÌ–ýÑbD>,ÁÏ.ok"ýD;†|7–[.µDÖCíAœŸä#‰iÇæélÿü¯‰ÏŸ¡IÖ¬ÐòâóÞD¿q½]+ÞeE •ò–_«-- ™ƒ¦ Ú°c©›³èç€^ø¿¥Lô˜q±1~ëCßC“ÿ”øžC“9¡ŽgNäóýÿû“õHÈ8Bkhêç«JÁŽ#Z¤-`úVo§™MËa 9r$îÕºZ-¼hókhò ?C“$· û^–ñtÄ÷¿9d(‘8PÝ…]Ú¶š£×w[¢wléÏ;µŒd•Ôn—׆ôoÎK«èdù H¦Þ„(Dú¯…¯Ÿ¡InüIÌ Mïãü_(ù¼ðœ’îð5)6H/öõÌYÍ1‡¸ ±QRæŒk,nËÖûXH½­ʉð‘ƒÊË?>ÿšdf“ç&6³üü½^EJ–m‹ªétÞÈ{¥C—µ›½ÌC¬c`½îÙ0Ê…v5ÃÂx<äƒó\9Y·Ýÿcáû×Ðä}1Ú06"×´!ÖóŸë9êdl:'– û1H"Áz'7ùQ‡q›„¹Ž¾¹ÉŒí#KâR.ò/C“»VÖÜgÇQ×Ȭ¨åéãó\ âì`¸·?dÜÛ1y³”åuMÛ6Ƶ8ZX]8Ãø^p…ªwQëE¾ç &­1frRšÁKiûñçÐ$G¤ÎÓðÔÝœÛÇЕŒ¯ðh3'À®Âø”·“Ç{¼±š;;Ö~F öKî37Ðkš–Ìu<pöµdÊŽåèˆ+C¨š¤™ Rá‘÷Mz¹Æç¿7)nÒ€©æöÔ lEGyÍl½‡:Ì‘ÿIÞí’o±BìÞÿ—S%|ë‚ÎЕïsTuÆleÁõ’bšA}A¸ëæížÍ´þ1ãý0ÀA{ÉKù“ʘÓº¼tjÑòÇÐdLI=rž ¢PRgóûÇó_Lb¸R³£é Åžël?«â”ž)!°Ö[«‰FÂæoÖç wi&k^”CV(t@püW2Ó÷²ó{hÒxH—GRn²͉ŒeCbúxÔ‰°ªé6GÁ³©÷‘¬Q…Öd27\ÌØ«dœS‘É=\»F§f*¼0é‘Û£ÜOPúÇ5(r„Zß™xQ‘Z>¥~G AeN-õãùÿjYôÜ7—Ò¾n;ún?Ó¹"P·¯xÒ}‡·•/àNäöÞW:ÝŠ&´—×¾†Ù:x" ꭥу;†ÄRç펔¹ ®cä›…Ñ™õ±ñÜýüýElmG§a= hò¨BG_æu…³×YnZì«­FYs ôUéµ"zM&Ë:ËÝGn¸Ïuí.õDX‰ƒÉ5XnšÁ¡ö›;Þ}¶Ô«%XO?½~2&ùÝØî¸Frjj¢¢…8ˆ› yAÊÆä*±W ¡³‰€©ÒIÒ˜÷“9/¹§u‚b)õZ³l:ë sá¼¹ 8²5ÀÀJõš>~ÿi´œÐó˜I¿þ3YÏÔ•;ç:#hEL¬×[ROd‹Ê^GéšAË©fß~Y!ýËÐäEåêñn·ôü0¯~Åà/«AÝò –Kåm÷‚±>^ÿÝWY¢q†"µ¥â<цFвÎë*c¹½:xÛw„|¤Ížw­—%ýehRg°åØúæÜæd¿9ç´üÌ•ªËÃvž3Àv Dg™hç>>?ÿò3é‰hŸYDkgCã(ʹƒªÔ•ô×SÉ·†¬Ôœ|è 2QÁü94©(ñ½?OG•Q34… fëcc³¶PopT€Yaƒ–W(£>Çÿ@­tãX4ˆ`ðLG¦Ùžp•‹É„ãaïãšÅ°l\¤[9‚cû26óâU M6f,ºŠò¼Ë'›¤…žCÐÖñ4øi¥?W~p¯sÏ ?žÿk³ÞA÷×KÃrŵÄÅÎk@–Ið|>^xðs¸?ý\Õð`,DèäõÌ’©Œ°Žû5¯éWÛüÉ^£èøçw €DÓµMˆáøXf_8<%|8_왉pPó1†…ãî„WþÀlm߃˜“Šf?4žý¼»:½òÌ“_£Ô”v ûûMà;kž:pÍÖ²â_ÖùásjØŽqw]$F‡£}ÿ¢»y« ××û,b'Õè°N‡Îþ=Ôo¹öÖôÔ0, õ¨Çÿº»â~–ÆM‹ƒÄû Y•R´‰¥4â6+!”}@~u‡j°ctCÔúàõP.ÅY(ýxÿ׎ ½×zµ?70ÆWXFÜ£¾oŒ½·¯‹3z‹Š€0°®Ác8¨R£êG±¢g›0àö ¦T—Uëøò„½»‹w­"/4³ÞÖ÷¿¾îC¾Q`[{O³“ºcÈn¯]•¶+•{Û{­ç¼ÞÕÎ N!3•<®ÞÇVí‚ìyxé,!C æ™b². êlfÖ×åÁø'„ÒÁ\ ןÎÏíãëgu,μ·¸šw-/ôß3Û¥ùºñíN°íâX(›c ƒŽÓâoõMDð‘sÊ¢a·#ü#0{c ÁÈÀð%µuDWCB¥Z€AéÍZ6»,Øçûxý (Z%‡±µØçw€ÑÀáŠHbhTb2ùþ<$÷Æ*cÀ¼ænk÷³”_÷וð«Ð÷¿#{D+B<™!âÇüS/¼gÿÃ`ø9”­.^]ŸÃŸ™ÆCíÌ+>™ì3ïƒ+•ý5Æë]¤q‡„Äp¦j' r¯9µ¼FDȬ)~: ã躟—9GmÜì“x2’¥ù-?s–raG"yvU³pa;R«çãø÷ăœ ÌAŸ\&ú¹“ ÿ?#Äìn Ûí0Úee½´“d~o’qå¶­¯!!DzP^H)>¾oµëÈ‘.®Ä¼‘Ô¶=Hy»7´S´-M½ á?Þÿô8y£c¶Î™ß§q„|Ü#Þ5"ù2Б ‡lµm#—ýU‰ÑÊ»ìýeüΤÎV†ÎÈbMƒ¤Í˜÷jAÌc7¾Z ä]> 4½gbö Äýñõs 2WRsKgí6Þæç 's8qzñTT[”R›[wÄÍ)I‹—9ø5x¥ŽÜWjýÚ #”!nN+zP’ÄÚ”â ÁKgâ²ÁÞTEŒ,ÂÁùÇë?³¥{é^R¨DÝ¥=´R¥u^zîc¯’§³Ì¥&D¼‰'i74øSËJ½ß”í&H¥æU©Gà»[û‚ácrÃͦŠ<ú’‹¡׿~þ‰4}Ú…žíh¢°Î;¯üòlpAZð´%’XÔZ;t®Q?„±÷÷žóy™ïk1+Ƴu6Â[«©ÌÖè† áDõ™c4¿ÆœÚóÐÝ*d„•B#!}Þÿe>Çsamh¡¹ÿêG3c^çæ—8u9󼵕⸈߂ÏUéy‡‡B;f "Yi=ÖD§ =Êâ‚Á4‘íŠ&¡Ž’Þ×|¾Cý“Ò3»Ä÷šg]Ø~üþ›WgjhSIXU“‘"1A5Fr4×{üáÜëAä—éljŸw¸TðÎá–Ýt6<ï/NÁ  \û¤õó«R¥tÇû˜a| Æi¨ÌÍ>‰T.šWo>>ÿxŒ•ϯ¼Y¼æÈ{ç··m,J²{gg}Év~)ê]Ñæs!?wøè÷X›‰æè˜G—F°¥l!7ކUœÖ|Cnáfï³…:.@mq%®Á臔±ÜÿÓRu?.–:¯èaBë¼ÖºÌÌE#Gƒg'yX«Dåÿu‡SWºä™ÇŠD)Œ˜21×ѵ‰VµˆagW¬àP޳²q½ç«ÏÈ’Ï Ís”?¶•@åg")ªíªç©s\ÖTòâô{Þê«f3g÷‰oÑþÏ^w:^ë¼"•Ý{¹ªd#³!φtà}©,nÆyWFKv„X”4–ƒ|<ûB+ è®Â8ˆi=-;´³X 5l=/xlêóŽw•–å÷n³]ì à+SÛÓ¼,{Õž¯/ДâV¡û»+<< ØÌ¤®Ào ŸâÞçèÔ‡eNpù^Oÿþ¼ÙùŽOv qR¶ £wHF3ûÝß=oý;ü`~k’RÏwCßÏí²”u¦ãk¡jE˜|û‰qÏ©ŽÔ‚KV,Ï àÏ*?ÞÿþxkáÜ}QxÁU¹éœ/MÛüÞÄÂá= ¤Õ°pý¾Êæ=çŠÎ^xúBË÷ÞÚKx«§Ó@ð[òÎI™¾ÔYB]Tª¦âž™çÿúÑKqÉ.á½€PÖÛwÿ¼ÃÓAG\ôšWÂÏ‹Øâ9ùãÏ2S³—åA\è“Y\œßy=ǨðGj÷¾ÌéÇõÕ¢ÂMî@âŒtÔ‚¶„vD¾üƒzÎ+²ÙÌBĺ\·Ÿ¬ü¼ÃÕ¬…÷Ùë6ËÛk™6Lþ¸Ê¦ÚRß_rýnl|UAϯ< ¢¹Ë|¦²!‚¸;ºÁ8™_1ÜgésÞùÆCŸ‡ÿ¿ä >êVB‰~æ,¶¹® Ë˜_ÿ&f™äÕjpñ/WÙÔÊwaùO ¼š°H 3ÉÛûþ¾I`˜ÈòuØù»õ¸1êͤÉû·ÈÏ÷ÿå+_ùÊW¾ò•¯|å+_ùÊW¾ò•¯|å+_ùÊW¾ò•¯|å+_ùÊW¾ò•¯|å+_ùÊW¾ò•¯|å+_ùÊW¾ò•¯|å+_ùÊW¾ò•¯|å+_ùÊW¾ò•¯|å+_ùÊW¾ò•¯|å+_ùÊW¾ò•¯|å+_ùÊW¾ò•¯|å+_ùÊW¾ò•¯|å+_ùÊW¾ò•¯|å+_ùÊW¾ò•¯|å+_ùÊW¾ò•¯|å+_ùÊW¾ò€ÿÝš™w)¦÷2iTXtXML:com.adobe.xmp Adobe Fireworks CS3 2007-10-06T22:15:44Z 2007-10-06T22:29:43Z image/png °è½ÑIDATxœíOlÙ€¿÷&vŒ½! vù§t»üiªºbÛ¢JÕ–V*ô”J ¨§ª7ʉ®‡¢=T=Q©‚jU­@ J(´ZuѪÐ]BB …'ÄNDZ=3¯‡7c;Ád³m1-ù}ÒÓŒ'“ñ{‡Ï¿÷ÞÌüž2Æ0W”R ¨VJ§Ìùb‚01U¶¥bæ ¥š‹¸¹\ne$9 µþžÖz°à߬ðgVF~„Wß÷] ïyÞß3™Ìï®^½ú«½{÷>¼ŠâþlÏ*îàà`¬¥¥åGŽãüÐÓLY¨$–x+Ì J‘ÖuݧÉdòÌáÇqùòå1 +qÕü\q•RÊó¼_k­¿kŒÑ…ü¤~:À`²—ñô®[xAm„W­¢Ñ$š–²´í š›Û©oˆáû¾ŸL&Ï···ÿÈe +±G•è[UÜL&³$‹ýRkýž1F &{éýô…B®Í„ùACcœu¿ÂÒÖµø¾o=zô‡îîî÷oܸ1d°ç±Ñwš¼ÏˆDÚŸi­`Œq|L_ÏŸ0Ưe›a^ µÃúMï°¢£cŒóæÍßvuu}¤€1 ‹•·h*$Ô3/T,¿¦µ>`ŒqîDïë"­ ¼ |ßãî§×øÇÃÛ(¥ôæÍ›w;vl'°x ;œà®0C\¥”ÒZÿhÈŒ?áþ½¿Ô° ‚0?ñ}¾žëd'Fp'rèСƒ@ °HÌwš¸Åbñ;Zë/ã«Þ;×ñ=·Öm„y‰ç¹ôöÜŒjkk[uüøñwflÔ]ÔÁ-—’¸A´ý  S£I§’µ¯½ ÌcF‡1žBkítww¿‡¸‹€8娫•Rª$n*•Z¥µÞhŒQ÷û>”q­ Ôc|| @GGÇÊ;v¬š°â.¢Ø¨[ޏ‰Dâ ]7O:õ¸Öu~òÏ+RWWçìß¿ÿKØ®r+nPh ¥g¿N%ù<Ï/ ‚ðßÃ÷=²™ºººÖaÇ·q †7B(nÀë€Jþ³ÆU¡’tz¥Ë—/oÁFÚXPê f—CqµÖº 5*ÝdAx™ŒÃñx|VÖFl´}F\ ;1ZóŠ ‚P&;‘ ‰8Ø ©z¬¸Qªˆ«yy@^2SSÀvƒ±“Q*¤eÆW„ÿ=¬¼uÁ¾TeÄ ®.Zûª ‚P¢¡!€ïû>ÖM=£¨Êˆ[ˆ'Zj[KA¦±0±€b±èQª•®–ÅõxÓV2’ÇE°oÛ¿ÖÙÙ¹òÔ©Sßß¾}û·ãñøâ0§kE^fA>'¡sÆ3444qæÌ™ONž6Þ7o¾¼tñå™7/ÞΪ^ÏÀÀ Ôõ ˆëˆn##Ã÷ßò¢2ÂÓ‹2=ÃÄ$X€¢ ÿ¸î=þá»tÕ]߉]Ç׿õ: hÈ 6€b{A{1ƒÙj9å˜w7ûýÿÝ÷ÿÿ¿üüÿÿ×ßÿÿÿþƒÐ_~ýÿÿö÷ÿÿ«û/«¾ä CŽ8H?@1AígføÉ5;ÈÉHI\˜…áé[†@~ýÄ?¾é_žíTPädðÍ Õf`ažr7@AÂà?Cðn·ëÏXÞ|b`àec`í÷ß ,@+þýð hÐ{ ¡ŸôÍ÷@ÊqŒ77»Øvþ”?’Ò »þgкÅÈ`©ÀÀðó+Ði@þ øþ è æƒw€øñV M¦§Î‰1@TÄè7 'ÖË@…@›Ô€>àºà¿ÿmFÎ  ÞªçgdøÅÆÉÀ&ªo@`˜¹yøød¸D€†Üy ô/Ð+< ¬P@áò†0¦Ù€bOÙ±Ã+À@`XØÿçajàbv Ù€Îg9L@ Ü@ƒYªþ‚Ä8()<ûùþ@ øñíÓiQŽ¿^ìÌ ì@“¹€˜ƒ ¢dÈ?`ü† 33$Ê€bùñ—áî‹sgŸo<ùëÍS. ØY!š¹€.áá„`í0CAò\¼À@½yáÛÇÝ lÀÿ—_7_Ûrt#Û¯_ ì@Ål,o€ áå‚x ¤,´„ùã_†kÛ&m``x² €` éÿ»«ÒN]y…åû_N`€²°B“B³€ Š3~üÃpdJ÷ÕOïf‚ô"_1½|pe¦ëºªÂµww]cøûùØÿ Ì ´?3ÜÜz‘a]uÖº'·ë\qÎ ÄÊ ŒÒsAúÈ] ÄgXÙSXÔ9FJIϘ‹—Ÿïë§÷ŸžÞ½pöýÛ=KmCÎÎçÃ4/EfïIEND®B`‚traitsui-7.2.1/examples/demo/Applications/images/GG5.png0000644000076500000240000000240514046644454023535 0ustar aayresstaff00000000000000‰PNG  IHDRfgòƒ7Ç pHYs  ÒÝ~ü·IDATxœíÝÝK"mÇñ¥.:‰þ˜ŒŠZÁB:©1ATÌL%ftl*%T_@CJ(Ã(Êä: :üí‰#Ó˾¸Ï³yív|O„ï¹?\ÞÌ‘_|&"öiø~bœˆüDtBDDé·zêïá&Mü6 M‘õú z½ºÝ®4D½^ï=¨:MCDö nooqzzŠJ¥‚££#èºUU¥!Sš¦¡X,¢Óé86~ †ˆ’öd´Z-”ËeœŸŸ£Õj¡Ùl²,ÔëuiÈjµLÓ„aPUš¦áîîÎÆIþÆž”n·‹F£v»v»V«˲P­Vaš&J¥’4dÅb…B†a ŸÏ#N#‹áêêêÝÉq¢LÚ“Òh4ÐétÐn·ñüüŒJ¥Ã0pxx]×±··' ™®ëØßßG.—C.—ƒ®ëH¥R‡ÃÎÉ™z¦NDhµZƒIyxx@©TŒ?¥ª*"‘’ɤ c½€!¢ "ÂÝÝÊåò`RJ¥ÒÈà_.“É cuu6θf“ˆpvv68è+•ŠLÊ”J¥à÷û‘H$l¿愈P­V½a#_ôgHQƒA¬­­Ù0'N˜'"Âññ1šÍ&ªÕ*G¾èϦi…Bp»Ý6Ì£D„½½=X–Ó4ågìƒÊf³‡Ã˜u¾t޽€QUõz]ý. afffófbF`$áŸÀ0M`˜&0L¦ Ó†iÃ4ašÀ0M`˜&0L¦ Ó†iÃ4ašÀ0M`˜&0L¦ Ó†iÃ4ašÀ0M`˜&0L¦ Ó†iÃ4ašÀ0M`˜&0L¦ Ó†iÃ4ašÀ0M`˜&0L¦ Ó†iÃ4ašÀ0M`˜&0L¦ Ó†iÃ4ašÀ0M`˜&0L¦ Ó†iÃ4ašÀ0M`˜&0L¦ Ó†iÃ4ašÀ0í]"³?PE`Fãr¹Þ˜G"B:F­VC±X”¿ÿ ²Ù,‚Á æççm˜''Ì A×u˜¦‰B¡€ýýý‘/ú3¤ª*|>–——m˜'ŒŸˆ`š& ÀaÈår#_ôghgg^¯ÉdÒ†ÙtÂŒ®¯¯‘N§‘ÏçæÒ4 @ÓÓÓ¸¼¼´a&0}‹ˆppp€t: ]×åœùÃE£Qx<Äb1¥n{8a¦ˆ÷÷÷H$H¥RPU™Lfäð¯¥i¢Ñ(¼^/¾~ýŠn·kÃL¾éãlnnn°µµ…H$‚x<ŽT*EQ i²ÙìÈìo,›ÍBUUììì ÀãñÀívãúúÚFÙpZ¼€éã$íÉQUëëëðûýƒ…B‡Ã…BÒƒAø|>x½^¸\.looãþþÞFI¾vxãœ"B§Ó¢(ðù|XZZÂÂÂfff¤!š››Ãââ"VVV°»»‹N§3x™|=)?„éãLQÝqéÿÍ"¢©ïíÿwa@D´Ù }bð@ký=ôÑøÏöý§0҈Ɔ½æÀnÕèì l”IEND®B`‚traitsui-7.2.1/examples/demo/Applications/tests/0000755000076500000240000000000014046644526022341 5ustar aayresstaff00000000000000traitsui-7.2.1/examples/demo/Applications/tests/test_converter.py0000644000076500000240000000342214046644454025762 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! """ This example demonstrates how to test a simple application using UI Tester. The GUI being tested is written in the demo under the same name (minus the preceding 'test') in the outer directory. """ import os import runpy import unittest from traitsui.testing.api import ( DisplayedText, KeyClick, KeySequence, MouseClick, UITester ) #: Filename of the demo script FILENAME = "converter.py" #: Path of the demo script DEMO_PATH = os.path.join(os.path.dirname(__file__), "..", FILENAME) class TestConverter(unittest.TestCase): def test_converter(self): demo = runpy.run_path(DEMO_PATH)["popup"] tester = UITester() with tester.create_ui(demo) as ui: input_amount = tester.find_by_name(ui, "input_amount") output_amount = tester.find_by_name(ui, "output_amount") for _ in range(4): input_amount.perform(KeyClick("Backspace")) input_amount.perform(KeySequence("14.0")) self.assertEqual( output_amount.inspect(DisplayedText())[:4], "1.16", ) tester.find_by_id(ui, "Undo").perform(MouseClick()) self.assertEqual( output_amount.inspect(DisplayedText()), "1.0", ) # Run the test(s) unittest.TextTestRunner().run( unittest.TestLoader().loadTestsFromTestCase(TestConverter) ) traitsui-7.2.1/examples/demo/Applications/converter.py0000644000076500000240000000656614046644454023575 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! """ Tiny application: convert length measurements from one unit system to another Select the input and output units using the drop down combo-boxes in the *Input:* and *Output:* sections respectively. Type the input quantity to convert into the left most text box. The output value corresponding to the current input value will automatically be updated in the *Output:* section. Use the *Undo* and *ReDo* buttons to undo and redo changes you have made to any of the input fields. Note that other than the 'output_amount' property implementation, the rest of the code is simply declarative. """ # FIXME: Help is broken in QT from traits.api import HasStrictTraits, Trait, CFloat, Property from traitsui.api import View, VGroup, HGroup, Item # Help text: ViewHelp = """ This program converts length measurements from one unit system to another. Select the input and output units using the drop down combo-boxes in the *Input:* and *Output:* sections respectively. Type the input quantity to convert into the left most text box. The output value corresponding to the current input value will automatically be updated in the *Output:* section. Use the *Undo* and *ReDo* buttons to undo and redo changes you have made to any of the input fields. """ # Units trait maps all units to centimeters: Units = Trait('inches', {'inches': 2.54, 'feet': (12 * 2.54), 'yards': (36 * 2.54), 'miles': (5280 * 12 * 2.54), 'millimeters': 0.1, 'centimeters': 1.0, 'meters': 100.0, 'kilometers': 100000.0}) # Converter Class: class Converter(HasStrictTraits): # Trait definitions: input_amount = CFloat(12.0, desc="the input quantity") input_units = Units('inches', desc="the input quantity's units") output_amount = Property(observe=['input_amount', 'input_units', 'output_units'], desc="the output quantity") output_units = Units('feet', desc="the output quantity's units") # User interface views: traits_view = View( VGroup( HGroup( Item('input_amount', springy=True), Item('input_units', show_label=False), label='Input', show_border=True ), HGroup( Item('output_amount', style='readonly', springy=True), Item('output_units', show_label=False), label='Output', show_border=True ), help=ViewHelp ), title='Units Converter', buttons=['Undo', 'OK', 'Help'] ) # Property implementations def _get_output_amount(self): return ((self.input_amount * self.input_units_) / self.output_units_) # Create the demo: popup = Converter() # Run the demo (if invoked from the command line): if __name__ == '__main__': popup.configure_traits() traitsui-7.2.1/examples/demo/Standard_Editors/0000755000076500000240000000000014046644526022002 5ustar aayresstaff00000000000000traitsui-7.2.1/examples/demo/Standard_Editors/index.rst0000644000076500000240000000012614046644454023642 0ustar aayresstaff00000000000000These examples demonstrate how the Standard Editors available in TraitsUI can be used.traitsui-7.2.1/examples/demo/Standard_Editors/CheckListEditor_simple_demo.py0000644000076500000240000000514014046644454027751 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! """ Checklist editor for a List of strings The checklist editor provides a simple way for the user to select multiple items from a list of known strings. This example demonstrates the checklist editor's two most useful styles: * 'custom' displays all the strings in columns next to checkboxes. * 'readonly' displays only the selected strings, as a Python list of strings. We do *not* demonstrate two styles which are not as useful for this editor: * 'text' is like 'readonly' except editable. It will accept a list of strings or numbers or even expressions. This is useful for quick, non-production data entry, but it ignores the editor's list of valid 'values'. * 'simple' (the default) only lets you select one item at a time, from a drop-down widget. Please refer to the `CheckListEditor API docs`_ for further information. .. _CheckListEditor API docs: https://docs.enthought.com/traitsui/api/traitsui.editors.check_list_editor.html#traitsui.editors.check_list_editor.CheckListEditor """ from traits.api import HasTraits, List from traitsui.api import UItem, Group, View, CheckListEditor, Label class CheckListEditorDemo(HasTraits): """ Define the main CheckListEditor simple demo class. """ # Specify the strings to be displayed in the checklist: checklist = List( editor=CheckListEditor( values=['one', 'two', 'three', 'four', 'five', 'six'], cols=2 ) ) # CheckListEditor display with two columns: checklist_group = Group( '10', # insert vertical space (10 empty pixels) Label('The custom style lets you select items from a checklist:'), UItem('checklist', style='custom', id="custom"), '10', '_', '10', # horizontal line with vertical space above and below Label('The readonly style shows you which items are selected, ' 'as a Python list:'), UItem('checklist', style='readonly', id="readonly"), ) traits_view = View( checklist_group, title='CheckListEditor', buttons=['OK'], resizable=True ) # Create the demo: demo = CheckListEditorDemo() # Run the demo (if invoked from the command line): if __name__ == '__main__': demo.configure_traits() traitsui-7.2.1/examples/demo/Standard_Editors/EnumEditor_demo.py0000644000076500000240000000627514046644454025445 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! """ Enum editor The Enum editor provides a simple way for the user to choose one item from a list of known values (normally strings or numbers). An Enum trait can take any value from a specified list of values. These values are typically strings, integers, or floats, but can also be None or hashable tuples. An Enum can be displayed / edited in one of five styles: * 'simple' displays a drop-down list of allowed values * 'custom' by default, displays one or more columns of radio buttons (only one of which is selected at a time). * 'custom' in 'list' mode (see source code below), displays a list of all the allowed values at once. * 'readonly' displays the current value as non-editable text. * 'text' displays the current value as text. You can also edit this text, but your text must be in the list of allowed values. Please refer to the `EnumEditor API docs`_ for further information. .. _EnumEditor API docs: https://docs.enthought.com/traitsui/api/traitsui.editors.enum_editor.html#traitsui.editors.enum_editor.EnumEditor """ from traits.api import HasTraits, Enum from traitsui.api import Item, Group, View, EnumEditor class EnumEditorDemo(HasTraits): """ Defines the main EnumEditor demo class. """ # Define an Enum trait to view. name_list = Enum('A-495', 'A-498', 'R-1226', 'TS-17', 'TS-18', 'Foo', 12345, (11, 7), None) # Items are used to define the display, one Item per editor style: enum_group = Group( Item('name_list', style='simple', label='Simple', id="simple"), Item('_'), # The simple style also supports text entry: Item( 'name_list', style='simple', label='Simple (text entry)', editor=EnumEditor( values=name_list, completion_mode='popup', evaluate=True ), id="simple_text" ), Item('_'), # The custom style defaults to radio button mode: Item('name_list', style='custom', label='Custom radio', id="radio"), Item('_'), # The custom style can also display in list mode, with extra work: Item( 'name_list', style='custom', label='Custom list', editor=EnumEditor(values=name_list, mode='list'), id="list" ), Item('_'), Item('name_list', style='text', label='Text', id="text"), Item('_'), Item('name_list', style='readonly', label='ReadOnly', id="readonly") ) # Demo view: traits_view = View( enum_group, title='EnumEditor', buttons=['OK'], resizable=True ) # Create the demo: demo = EnumEditorDemo() # Run the demo (if invoked from the command line): if __name__ == '__main__': demo.configure_traits() traitsui-7.2.1/examples/demo/Standard_Editors/ButtonEditor_simple_demo.py0000644000076500000240000000327514046644454027362 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! """ Button editor A Button trait is displayed as a button in a Traits UI view. When the button is clicked, Traits UI will execute a method of your choice (a 'listener'). In this example, the listener just increments a click counter. Please refer to the `ButtonEditor API docs`_ for further information. .. _ButtonEditor API docs: https://docs.enthought.com/traitsui/api/traitsui.editors.button_editor.html#traitsui.editors.button_editor.ButtonEditor """ from traits.api import HasTraits, Button, Int from traitsui.api import Item, View class ButtonEditorDemo(HasTraits): """ Defines the main ButtonEditor demo class. """ # Define a Button trait: my_button_trait = Button('Click Me') click_counter = Int(0) # When the button is clicked, do something. # The listener method is named '_TraitName_fired', where # 'TraitName' is the name of the button trait. def _my_button_trait_fired(self): self.click_counter += 1 # Demo view: traits_view = View( 'my_button_trait', Item('click_counter', style='readonly'), title='ButtonEditor', buttons=['OK'], resizable=True ) # Create the demo: demo = ButtonEditorDemo() # Run the demo (if invoked from the command line): if __name__ == '__main__': demo.configure_traits() traitsui-7.2.1/examples/demo/Standard_Editors/CheckListEditor_demo.py0000644000076500000240000000627114046644454026406 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! """ Implementation of a CheckListEditor demo plugin for the Traits UI demo program. For each of three CheckListEditor column formations, this demo shows each of the four styles of the CheckListEditor. Please refer to the `CheckListEditor API docs`_ for further information. .. _CheckListEditor API docs: https://docs.enthought.com/traitsui/api/traitsui.editors.check_list_editor.html#traitsui.editors.check_list_editor.CheckListEditor """ from traits.api import HasTraits, List from traitsui.api import Item, Group, View, CheckListEditor # Define the demo class: class CheckListEditorDemo(HasTraits): """ Define the main CheckListEditor demo class. """ # Define a trait for each of three formations: checklist_4col = List( editor=CheckListEditor( values=['one', 'two', 'three', 'four'], cols=4 ) ) checklist_2col = List( editor=CheckListEditor( values=['one', 'two', 'three', 'four'], cols=2 ) ) checklist_1col = List( editor=CheckListEditor( values=['one', 'two', 'three', 'four'], cols=1 ) ) # CheckListEditor display with four columns: cl_4_group = Group( Item('checklist_4col', style='simple', label='Simple'), Item('_'), Item('checklist_4col', style='custom', label='Custom'), Item('_'), Item('checklist_4col', style='text', label='Text'), Item('_'), Item('checklist_4col', style='readonly', label='ReadOnly'), label='4-column' ) # CheckListEditor display with two columns: cl_2_group = Group( Item('checklist_2col', style='simple', label='Simple'), Item('_'), Item('checklist_2col', style='custom', label='Custom'), Item('_'), Item('checklist_2col', style='text', label='Text'), Item('_'), Item('checklist_2col', style='readonly', label='ReadOnly'), label='2-column' ) # CheckListEditor display with one column: cl_1_group = Group( Item('checklist_1col', style='simple', label='Simple'), Item('_'), Item('checklist_1col', style='custom', label='Custom'), Item('_'), Item('checklist_1col', style='text', label='Text'), Item('_'), Item('checklist_1col', style='readonly', label='ReadOnly'), label='1-column' ) # The view includes one group per column formation. These will be # displayed on separate tabbed panels. traits_view = View( cl_4_group, cl_2_group, cl_1_group, title='CheckListEditor', buttons=['OK'], resizable=True ) # Create the demo: demo = CheckListEditorDemo() # Run the demo (if invoked from the command line): if __name__ == '__main__': demo.configure_traits() traitsui-7.2.1/examples/demo/Standard_Editors/TreeEditor_demo.py0000644000076500000240000001221514046644454025427 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! """ Tree editor for hierarchal data Demonstrates using the TreeEditor to display a hierarchically organized data structure. In this case, the tree has the following hierarchy: - Partner - Company - Department - Employee The TreeEditor generates a hierarchical tree control, consisting of nodes. It is useful for cases where objects contain lists of other objects. The tree control is displayed in one pane of the editor, and a user interface for the selected object is displayed in the other pane. The layout orientation of the tree and the object editor is determined by the *orientation* parameter of TreeEditor(), which can be 'horizontal' or 'vertical'. You must specify the types of nodes that can appear in the tree using the *nodes* parameter, which must be a list of instances of TreeNode (or of subclasses of TreeNode). You must specify the classes whose instances the node type applies to. Use the **node_for** attribute of TreeNode to specify a list of classes; often, this list contains only one class. You can have more than one node type that applies to a particular class; in this case, each object of that class is represented by multiple nodes, one for each applicable node type. See the Traits User Manual for more details. Please refer to the `TreeEditor API docs`_ for further information. .. _TreeEditor API docs: https://docs.enthought.com/traitsui/api/traitsui.editors.tree_editor.html#traitsui.editors.tree_editor.TreeEditor """ from traits.api import HasTraits, Str, Regex, List, Instance from traitsui.api import Item, View, TreeEditor, TreeNode class Employee(HasTraits): """ Defines a company employee. """ name = Str('') title = Str() phone = Regex(regex=r'\d\d\d-\d\d\d\d') def default_title(self): self.title = 'Senior Engineer' class Department(HasTraits): """ Defines a department with employees. """ name = Str('') employees = List(Employee) class Company(HasTraits): """ Defines a company with departments and employees. """ name = Str('') departments = List(Department) employees = List(Employee) # Create an empty view for objects that have no data to display: no_view = View() # Define the TreeEditor used to display the hierarchy: tree_editor = TreeEditor( nodes=[ # The first node specified is the top level one TreeNode( node_for=[Company], auto_open=True, # child nodes are children='', label='name', # label with Company name view=View(['name']) ), TreeNode( node_for=[Company], auto_open=True, children='departments', label='=Departments', # constant label view=no_view, add=[Department], ), TreeNode( node_for=[Company], auto_open=True, children='employees', label='=Employees', # constant label view=no_view, add=[Employee] ), TreeNode( node_for=[Department], auto_open=True, children='employees', label='name', # label with Department name view=View(['name']), add=[Employee] ), TreeNode( node_for=[Employee], auto_open=True, label='name', # label with Employee name view=View(['name', 'title', 'phone']) ) ] ) class Partner(HasTraits): """ Defines a business partner.""" name = Str('') company = Instance(Company) traits_view = View( Item(name='company', editor=tree_editor, show_label=False), title='Company Structure', buttons=['OK'], resizable=True, style='custom', width=.3, height=500 ) # Create an example data structure: jason = Employee(name='Jason', title='Senior Engineer', phone='536-1057') mike = Employee(name='Mike', title='Senior Engineer', phone='536-1057') dave = Employee(name='Dave', title='Senior Developer', phone='536-1057') martin = Employee(name='Martin', title='Senior Engineer', phone='536-1057') duncan = Employee(name='Duncan', title='Consultant', phone='526-1057') # Create the demo: demo = Partner( name='Enthought, Inc.', company=Company( name='Enthought', employees=[dave, martin, duncan, jason, mike], departments=[ Department( name='Business', employees=[jason, mike] ), Department( name='Scientific', employees=[dave, martin, duncan] ) ] ) ) # Run the demo (if invoked from the command line): if __name__ == '__main__': demo.configure_traits() traitsui-7.2.1/examples/demo/Standard_Editors/BooleanEditor_demo.py0000644000076500000240000000376214046644454026116 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! """ Implementation of a BooleanEditor demo plugin for Traits UI demo program. This demo shows each of the four styles of the BooleanEditor. Please refer to the `BooleanEditor API docs`_ for further information. .. _BooleanEditor API docs: https://docs.enthought.com/traitsui/api/traitsui.editors.boolean_editor.html#traitsui.editors.boolean_editor.BooleanEditor """ from traits.api import HasTraits, Bool from traitsui.api import Item, Group, View # ------------------------------------------------------------------------- # Demo Class # ------------------------------------------------------------------------- class BooleanEditorDemo(HasTraits): """ This class specifies the details of the BooleanEditor demo. """ # To demonstrate any given Trait editor, an appropriate Trait is required. boolean_trait = Bool() # Items are used to define the demo display - one Item per editor style bool_group = Group( Item('boolean_trait', style='simple', label='Simple', id='simple'), Item('_'), Item('boolean_trait', style='custom', label='Custom', id='custom'), Item('_'), Item('boolean_trait', style='text', label='Text', id='text'), Item('_'), Item( 'boolean_trait', style='readonly', label='ReadOnly', id='readonly' ) ) # Demo view traits_view = View( bool_group, title='BooleanEditor', buttons=['OK'], width=300 ) # Hook for 'demo.py' demo = BooleanEditorDemo() # Run the demo (if invoked from the command line): if __name__ == '__main__': demo.configure_traits() traitsui-7.2.1/examples/demo/Standard_Editors/ImageEnumEditor_demo.py0000644000076500000240000000501314046644454026375 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! """ **WARNING** This demo might not work as expected and some documented features might be missing. ------------------------------------------------------------------------------- Implementation of an ImageEnumEditor demo plugin for the Traits UI demo program. This demo shows each of the four styles of the ImageEnumEditor. Please refer to the `ImageEnumEditor API docs`_ for further information. .. _ImageEnumEditor API docs: https://docs.enthought.com/traitsui/api/traitsui.editors.image_enum_editor.html#traitsui.editors.image_enum_editor.ImageEnumEditor """ # Issues related to the demo warning: # enthought/traitsui#947 from traits.api import Enum, HasTraits, Str from traitsui.api import Item, Group, View, ImageEnumEditor # This list of image names (with the standard suffix "_origin") is used to # construct an image enumeration trait to demonstrate the ImageEnumEditor: image_list = ['top left', 'top right', 'bottom left', 'bottom right'] class Dummy(HasTraits): """ Dummy class for ImageEnumEditor """ x = Str() traits_view = View() class ImageEnumEditorDemo(HasTraits): """ Defines the ImageEnumEditor demo class. """ # Define a trait to view: image_from_list = Enum( *image_list, editor=ImageEnumEditor( values=image_list, prefix='@icons:', suffix='_origin', cols=4, klass=Dummy ) ) # Items are used to define the demo display, one Item per editor style: img_group = Group( Item('image_from_list', style='simple', label='Simple'), Item('_'), Item('image_from_list', style='text', label='Text'), Item('_'), Item('image_from_list', style='readonly', label='ReadOnly'), Item('_'), Item('image_from_list', style='custom', label='Custom') ) # Demo view: traits_view = View( img_group, title='ImageEnumEditor', buttons=['OK'], resizable=True ) # Create the demo: demo = ImageEnumEditorDemo() # Run the demo (if invoked from the command line): if __name__ == '__main__': demo.configure_traits() traitsui-7.2.1/examples/demo/Standard_Editors/TextEditor_demo.py0000644000076500000240000000626514046644454025464 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! """ Edit a string, password, or integer The TextEditor displays a Str, Password, or Int trait for the user to edit. The demo shows all styles of the editor for each of the traits, however certain styles are more useful than others: - When editing a Str, consider styles 'simple' (one-line), 'custom' (multi-line), or 'readonly' (multi-line). - When editing a Password, style 'simple' is recommended (shows asterisks). - When editing an Int, consider styles 'simple' and 'readonly'. Please refer to the `TextEditor API docs`_ for further information. .. _TextEditor API docs: https://docs.enthought.com/traitsui/api/traitsui.editors.text_editor.html#traitsui.editors.text_editor.TextEditor """ from traits.api import HasTraits, Str, Int, Password from traitsui.api import Item, Group, View # The main demo class: class TextEditorDemo(HasTraits): """ Defines the TextEditor demo class. """ # Define a trait for each of three TextEditor variants: string_trait = Str("sample string") int_trait = Int(1) password = Password() # TextEditor display with multi-line capability (for a string): text_str_group = Group( Item('string_trait', style='simple', label='Simple'), Item('_'), Item('string_trait', style='custom', label='Custom'), Item('_'), Item('string_trait', style='text', label='Text'), Item('_'), Item('string_trait', style='readonly', label='ReadOnly'), label='String' ) # TextEditor display without multi-line capability (for an integer): text_int_group = Group( Item('int_trait', style='simple', label='Simple', id="simple_int"), Item('_'), Item('int_trait', style='custom', label='Custom', id="custom_int"), Item('_'), Item('int_trait', style='text', label='Text', id="text_int"), Item('_'), Item( 'int_trait', style='readonly', label='ReadOnly', id="readonly_int", ), label='Integer' ) # TextEditor display with secret typing capability (for Password traits): text_pass_group = Group( Item('password', style='simple', label='Simple'), Item('_'), Item('password', style='custom', label='Custom'), Item('_'), Item('password', style='text', label='Text'), Item('_'), Item('password', style='readonly', label='ReadOnly'), label='Password' ) # The view includes one group per data type. These will be displayed # on separate tabbed panels: traits_view = View( text_str_group, text_pass_group, text_int_group, title='TextEditor', buttons=['OK'] ) # Create the demo: demo = TextEditorDemo() # Run the demo (if invoked from the command line): if __name__ == "__main__": demo.configure_traits() traitsui-7.2.1/examples/demo/Standard_Editors/ListEditor_demo.py0000644000076500000240000000351414046644454025445 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! """ Implemention of a ListEditor demo plugin for Traits UI demo program This demo shows each of the four styles of ListEditor. Please refer to the `ListEditor API docs`_ for further information. .. _ListEditor API docs: https://docs.enthought.com/traitsui/api/traitsui.editors.list_editor.html#traitsui.editors.list_editor.ListEditor """ from traits.api import HasTraits, List, Str from traitsui.api import Item, Group, View # Define the demo class: class ListEditorDemo(HasTraits): """ Defines the main ListEditor demo class. """ # Define a List trait to display: play_list = List(Str, ["The Merchant of Venice", "Hamlet", "MacBeth"]) # Items are used to define display, one per editor style: list_group = Group( Item( 'play_list', style='simple', label='Simple', height=75, id='simple' ), Item('_'), Item('play_list', style='custom', label='Custom', id='custom'), Item('_'), Item('play_list', style='text', label='Text', id='text'), Item('_'), Item('play_list', style='readonly', label='ReadOnly', id='readonly') ) # Demo view: traits_view = View( list_group, title='ListEditor', buttons=['OK'], height=600, width=400, resizable=True ) # Create the demo: demo = ListEditorDemo() # Run the demo (if invoked from the command line): if __name__ == '__main__': demo.configure_traits() traitsui-7.2.1/examples/demo/Standard_Editors/tests/0000755000076500000240000000000014046644526023144 5ustar aayresstaff00000000000000traitsui-7.2.1/examples/demo/Standard_Editors/tests/test_InstanceEditor_demo.py0000644000076500000240000000420614046644454030476 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! """ This example demonstrates how to test interacting with a UI created using InstanceEditor. The GUI being tested is written in the demo under the same name (minus the preceding 'test') in the outer directory. """ import os import runpy import unittest from traitsui.testing.api import ( DisplayedText, KeyClick, KeySequence, MouseClick, UITester ) #: Filename of the demo script FILENAME = "InstanceEditor_demo.py" #: Path of the demo script DEMO_PATH = os.path.join(os.path.dirname(__file__), "..", FILENAME) class TestInstanceEditorDemo(unittest.TestCase): def test_instance_editor_demo(self): demo = runpy.run_path(DEMO_PATH)["demo"] tester = UITester() with tester.create_ui(demo) as ui: simple = tester.find_by_id(ui, "simple") custom = tester.find_by_id(ui, "custom") occupation = custom.find_by_name("occupation") occupation.perform(KeySequence("Job")) occupation.perform(KeyClick("Enter")) self.assertEqual(demo.sample_instance.occupation, "Job") simple.perform(MouseClick()) name = simple.find_by_name("name") name.perform(KeySequence("ABC")) name.perform(KeyClick("Enter")) self.assertEqual(demo.sample_instance.name, "ABC") demo.sample_instance.name = "XYZ" simple_displayed = name.inspect(DisplayedText()) custom_name = custom.find_by_name("name") custom_displayed = custom_name.inspect(DisplayedText()) self.assertEqual(simple_displayed, "XYZ") self.assertEqual(custom_displayed, "XYZ") # Run the test(s) unittest.TextTestRunner().run( unittest.TestLoader().loadTestsFromTestCase(TestInstanceEditorDemo) ) traitsui-7.2.1/examples/demo/Standard_Editors/tests/test_ButtonEditor_demo.py0000644000076500000240000000470214046644454030206 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! """ This example demonstrates how to test interacting with a button created using ButtonEditor. It also demonstarates the use of UI Tester, together with pyface's ModalDialogTester. The GUI being tested is written in the demo under the same name (minus the preceding 'test') in the outer directory. """ import os import runpy import unittest from pyface.toolkit import toolkit_object from pyface.constant import OK from traitsui.testing.api import MouseClick, UITester ModalDialogTester = toolkit_object( "util.modal_dialog_tester:ModalDialogTester" ) no_modal_dialog_tester = ModalDialogTester.__name__ == "Unimplemented" #: Filename of the demo script FILENAME = "ButtonEditor_demo.py" #: Path of the demo script DEMO_PATH = os.path.join(os.path.dirname(__file__), "..", FILENAME) @unittest.skipIf(no_modal_dialog_tester, "ModalDialogTester unavailable") class TestButtonEditorDemo(unittest.TestCase): def test_button_editor_demo(self): demo = runpy.run_path(DEMO_PATH)["demo"] tester = UITester() with tester.create_ui(demo) as ui: simple_button = tester.find_by_id(ui, "simple") custom_button = tester.find_by_id(ui, "custom") # funcion object for instantiating ModalDialogTester should be a # function that opens the dialog # we want clicking the buttons to do that def click_simple_button(): simple_button.perform(MouseClick()) def click_custom_button(): custom_button.perform(MouseClick()) mdtester_simple = ModalDialogTester(click_simple_button) mdtester_simple.open_and_run(lambda x: x.click_button(OK)) self.assertTrue(mdtester_simple.dialog_was_opened) mdtester_custom = ModalDialogTester(click_custom_button) mdtester_custom.open_and_run(lambda x: x.click_button(OK)) self.assertTrue(mdtester_custom.dialog_was_opened) # Run the test(s) unittest.TextTestRunner().run( unittest.TestLoader().loadTestsFromTestCase(TestButtonEditorDemo) ) traitsui-7.2.1/examples/demo/Standard_Editors/tests/test_CheckListEditor_simple_demo.py0000644000076500000240000000302314046644454032150 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! """ This example demonstrates how to test interacting with a checklist created using CheckListEditor. The GUI being tested is written in the demo under the same name (minus the preceding 'test') in the outer directory. """ import os import runpy import unittest from traitsui.testing.api import Index, MouseClick, UITester #: Filename of the demo script FILENAME = "CheckListEditor_simple_demo.py" #: Path of the demo script DEMO_PATH = os.path.join(os.path.dirname(__file__), "..", FILENAME) class TestCheckListEditorSimpleDemo(unittest.TestCase): def test_checklist_editor_simple_demo(self): demo = runpy.run_path(DEMO_PATH)["demo"] tester = UITester() with tester.create_ui(demo) as ui: checklist = tester.find_by_id(ui, "custom") item3 = checklist.locate(Index(2)) item3.perform(MouseClick()) self.assertEqual(demo.checklist, ["three"]) item3.perform(MouseClick()) self.assertEqual(demo.checklist, []) # Run the test(s) unittest.TextTestRunner().run( unittest.TestLoader().loadTestsFromTestCase(TestCheckListEditorSimpleDemo) ) traitsui-7.2.1/examples/demo/Standard_Editors/tests/test_FileEditor_demo.py0000644000076500000240000000402314046644454027606 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! """ This example demonstrates how to test interacting with a textbox created using FileEditor. The GUI being tested is written in the demo under the same name (minus the preceding 'test') in the outer directory. """ import os import runpy import unittest from traitsui.testing.api import ( DisplayedText, KeyClick, KeySequence, UITester ) #: Filename of the demo script FILENAME = "FileEditor_demo.py" #: Path of the demo script DEMO_PATH = os.path.join(os.path.dirname(__file__), "..", FILENAME) class TestFileEditorDemo(unittest.TestCase): def test_run_demo(self): demo = runpy.run_path(DEMO_PATH)["demo"] tester = UITester() with tester.create_ui(demo) as ui: # simple FileEditor simple_file_field = tester.find_by_id(ui, "simple_file") # Modify the value on the GUI # The path does not exist, which is allowed by the trait. # The custom FileEditor will ignore nonexisting file path. simple_file_field.perform(KeySequence("some_path")) simple_file_field.perform(KeyClick("Enter")) self.assertEqual(demo.file_name, "some_path") # Modify the value on the object demo.file_name = FILENAME self.assertEqual( simple_file_field.inspect(DisplayedText()), FILENAME ) # On wx, an assertion error occurs upon disposing the UI. # That error is linked to the custom FileEditor. # See enthought/traitsui#752 # Run the test(s) unittest.TextTestRunner().run( unittest.TestLoader().loadTestsFromTestCase(TestFileEditorDemo) ) traitsui-7.2.1/examples/demo/Standard_Editors/tests/test_BooleanEditor_simple_demo.py0000644000076500000240000000444214046644454031664 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! """ This example demonstrates how to test interacting with a boolean using BooleanEditor. The GUI being tested is written in the demo under the same name (minus the preceding 'test') in the outer directory. """ import os import runpy import unittest from traitsui.testing.api import ( DisplayedText, IsChecked, KeyClick, KeySequence, MouseClick, UITester ) #: Filename of the demo script FILENAME = "BooleanEditor_simple_demo.py" #: Path of the demo script DEMO_PATH = os.path.join(os.path.dirname(__file__), "..", FILENAME) class TestBooleanEditorSimpleDemo(unittest.TestCase): def test_boolean_editor_simple_demo(self): demo = runpy.run_path(DEMO_PATH)["demo"] tester = UITester() with tester.create_ui(demo) as ui: simple = tester.find_by_id(ui, 'simple') readonly = tester.find_by_id(ui, 'readonly') text = tester.find_by_id(ui, 'text') count_changes = tester.find_by_name(ui, "count_changes") simple.perform(MouseClick()) self.assertEqual(demo.my_boolean_trait, True) for _ in range(4): text.perform(KeyClick("Backspace")) text.perform(KeySequence("False")) text.perform(KeyClick("Enter")) self.assertEqual(demo.my_boolean_trait, False) displayed_count_changes = count_changes.inspect(DisplayedText()) self.assertEqual(displayed_count_changes, '2') self.assertEqual(displayed_count_changes, str(demo.count_changes)) demo.my_boolean_trait = True displayed = readonly.inspect(DisplayedText()) self.assertEqual(displayed, "True") simple_is_checked = simple.inspect(IsChecked()) self.assertEqual(simple_is_checked, True) # Run the test(s) unittest.TextTestRunner().run( unittest.TestLoader().loadTestsFromTestCase(TestBooleanEditorSimpleDemo) ) traitsui-7.2.1/examples/demo/Standard_Editors/tests/test_TextEditor_demo.py0000644000076500000240000000466714046644454027671 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! """ This example demonstrates how to test interacting with a textbox created using TextEditor. The GUI being tested is written in the demo under the same name (minus the preceding 'test') in the outer directory. """ import os import runpy import unittest from traitsui.testing.api import ( DisplayedText, KeyClick, KeySequence, UITester ) #: Filename of the demo script FILENAME = "TextEditor_demo.py" #: Path of the demo script DEMO_PATH = os.path.join(os.path.dirname(__file__), "..", FILENAME) class TestTextEditorDemo(unittest.TestCase): def test_run_demo(self): demo = runpy.run_path(DEMO_PATH)["demo"] tester = UITester() with tester.create_ui(demo) as ui: simple_int_field = tester.find_by_id(ui, "simple_int") custom_int_field = tester.find_by_id(ui, "custom_int") text_int_field = tester.find_by_id(ui, "text_int") readonly_int_field = tester.find_by_id(ui, "readonly_int") # Modify the value to something invalid simple_int_field.perform(KeyClick("Backspace")) simple_int_field.perform(KeySequence("a")) # not a number! # Check the value has not changed self.assertEqual(demo.int_trait, 1) self.assertEqual(custom_int_field.inspect(DisplayedText()), "1") self.assertEqual(text_int_field.inspect(DisplayedText()), "1") self.assertEqual(readonly_int_field.inspect(DisplayedText()), "1") # Modify the value on the GUI to a good value simple_int_field.perform(KeyClick("Backspace")) simple_int_field.perform(KeySequence("2")) # Check self.assertEqual(demo.int_trait, 2) self.assertEqual(custom_int_field.inspect(DisplayedText()), "2") self.assertEqual(text_int_field.inspect(DisplayedText()), "2") self.assertEqual(readonly_int_field.inspect(DisplayedText()), "2") # Run the test(s) unittest.TextTestRunner().run( unittest.TestLoader().loadTestsFromTestCase(TestTextEditorDemo) ) traitsui-7.2.1/examples/demo/Standard_Editors/tests/test_ListEditor_demo.py0000644000076500000240000000313614046644454027646 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! """ This example demonstrates how to test interacting with a ListEditor. The GUI being tested is written in the demo under the same name (minus the preceding 'test') in the outer directory. """ import os import runpy import unittest from traitsui.testing.api import Index, KeyClick, KeySequence, UITester #: Filename of the demo script FILENAME = "ListEditor_demo.py" #: Path of the demo script DEMO_PATH = os.path.join(os.path.dirname(__file__), "..", FILENAME) class TestListEditorDemo(unittest.TestCase): def test_list_editor_demo(self): demo = runpy.run_path(DEMO_PATH)["demo"] tester = UITester() with tester.create_ui(demo) as ui: custom_list = tester.find_by_id(ui, "custom") item1 = custom_list.locate(Index(1)) for _ in range(6): item1.perform(KeyClick("Backspace")) item1.perform(KeySequence("Othello")) item1.perform(KeyClick("Enter")) self.assertEqual( demo.play_list, ["The Merchant of Venice", "Othello", "MacBeth"] ) # Run the test(s) unittest.TextTestRunner().run( unittest.TestLoader().loadTestsFromTestCase(TestListEditorDemo) ) traitsui-7.2.1/examples/demo/Standard_Editors/tests/test_EnumEditor_demo.py0000644000076500000240000000625414046644454027643 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! """ This example demonstrates how to test interacting with the various modes of the EnumEditor. The GUI being tested is written in the demo under the same name (minus the preceding 'test') in the outer directory. """ import os import runpy import unittest from traitsui.testing.api import ( DisplayedText, Index, KeyClick, KeySequence, MouseClick, SelectedText, UITester ) #: Filename of the demo script FILENAME = "EnumEditor_demo.py" #: Path of the demo script DEMO_PATH = os.path.join(os.path.dirname(__file__), "..", FILENAME) class TestEnumEditorDemo(unittest.TestCase): def test_enum_editor_demo(self): demo = runpy.run_path(DEMO_PATH)["demo"] tester = UITester() with tester.create_ui(demo) as ui: simple_enum = tester.find_by_id(ui, "simple") simple_text_enum = tester.find_by_id(ui, "simple_text") radio_enum = tester.find_by_id(ui, "radio") list_enum = tester.find_by_id(ui, "list") text = tester.find_by_id(ui, "text") readonly = tester.find_by_id(ui, "readonly") self.assertEqual(demo.name_list, 'A-495') simple_enum.locate(Index(1)).perform(MouseClick()) self.assertEqual(demo.name_list, 'A-498') for _ in range(5): simple_text_enum.perform(KeyClick("Backspace")) simple_text_enum.perform(KeySequence("R-1226")) simple_text_enum.perform(KeyClick("Enter")) self.assertEqual(demo.name_list, 'R-1226') radio_enum.locate(Index(5)).perform(MouseClick()) self.assertEqual(demo.name_list, 'Foo') list_enum.locate(Index(3)).perform(MouseClick()) self.assertEqual(demo.name_list, 'TS-17') for _ in range(5): text.perform(KeyClick("Backspace")) text.perform(KeySequence("A-498")) text.perform(KeyClick("Enter")) self.assertEqual(demo.name_list, 'A-498') demo.name_list = 'Foo' displayed_simple = simple_enum.inspect(DisplayedText()) disp_simple_text = simple_text_enum.inspect(DisplayedText()) selected_radio = radio_enum.inspect(SelectedText()) selected_list = list_enum.inspect(SelectedText()) displayed_text = text.inspect(DisplayedText()) displayed_readonly = readonly.inspect(DisplayedText()) displayed_selected = [ displayed_simple, disp_simple_text, selected_radio, selected_list, displayed_text, displayed_readonly ] for text in displayed_selected: self.assertEqual(text, 'Foo') # Run the test(s) unittest.TextTestRunner().run( unittest.TestLoader().loadTestsFromTestCase(TestEnumEditorDemo) ) traitsui-7.2.1/examples/demo/Standard_Editors/tests/test_RangeEditor_demo.py0000644000076500000240000001543114046644454027770 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! """ This example demonstrates how to test interacting with the various styles of RangeEditor. The GUI being tested is written in the demo under the same name (minus the preceding 'test') in the outer directory. """ import os import runpy import unittest from traitsui.testing.api import ( DisplayedText, Index, KeyClick, KeySequence, MouseClick, Slider, Textbox, UITester ) #: Filename of the demo script FILENAME = "RangeEditor_demo.py" #: Path of the demo script DEMO_PATH = os.path.join(os.path.dirname(__file__), "..", FILENAME) class TestRangeEditorDemo(unittest.TestCase): def test_run_demo(self): demo = runpy.run_path(DEMO_PATH)["demo"] tester = UITester() with tester.create_ui(demo) as ui: simple_small = tester.find_by_id(ui, 'simple_small') custom_small = tester.find_by_id(ui, 'custom_small') text_small = tester.find_by_id(ui, 'text_small') readonly_small = tester.find_by_id(ui, 'readonly_small') simple_medium = tester.find_by_id(ui, 'simple_medium') custom_medium = tester.find_by_id(ui, 'custom_medium') text_medium = tester.find_by_id(ui, 'text_medium') readonly_medium = tester.find_by_id(ui, 'readonly_medium') # Testing for SimpleSpinEditor is not supported yet so the simple # and custom styles for the large_range_int are not included here text_large = tester.find_by_id(ui, 'text_large') readonly_large = tester.find_by_id(ui, 'readonly_large') simple_float = tester.find_by_id(ui, 'simple_float') custom_float = tester.find_by_id(ui, 'custom_float') text_float = tester.find_by_id(ui, 'text_float') readonly_float = tester.find_by_id(ui, 'readonly_float') # Tests for the small_int_range ################################## simple_small_slider = simple_small.locate(Slider()) simple_small_slider.perform(KeyClick("Page Up")) self.assertEqual(demo.small_int_range, 2) simple_small_text = simple_small.locate(Textbox()) simple_small_text.perform(KeyClick("Backspace")) simple_small_text.perform(KeyClick("3")) simple_small_text.perform(KeyClick("Enter")) self.assertEqual(demo.small_int_range, 3) custom_small.locate(Index(0)).perform(MouseClick()) self.assertEqual(demo.small_int_range, 1) text_small.perform(KeyClick("0")) text_small.perform(KeyClick("Enter")) self.assertEqual(demo.small_int_range, 10) demo.small_int_range = 7 displayed_small = readonly_small.inspect(DisplayedText()) self.assertEqual(displayed_small, '7') # Tests for the medium_int_range ################################# simple_medium_slider = simple_medium.locate(Slider()) # on this range, page up/down corresponds to a change of 2. simple_medium_slider.perform(KeyClick("Page Up")) self.assertEqual(demo.medium_int_range, 3) simple_medium_text = simple_medium.locate(Textbox()) simple_medium_text.perform(KeyClick("Backspace")) simple_medium_text.perform(KeyClick("4")) simple_medium_text.perform(KeyClick("Enter")) self.assertEqual(demo.medium_int_range, 4) custom_medium_slider = custom_medium.locate(Slider()) custom_medium_slider.perform(KeyClick("Page Down")) self.assertEqual(demo.medium_int_range, 2) custom_medium_text = custom_medium.locate(Textbox()) custom_medium_text.perform(KeyClick("Backspace")) custom_medium_text.perform(KeyClick("1")) custom_medium_text.perform(KeyClick("Enter")) self.assertEqual(demo.medium_int_range, 1) text_medium.perform(KeyClick("0")) text_medium.perform(KeyClick("Enter")) self.assertEqual(demo.medium_int_range, 10) demo.medium_int_range = 7 displayed_medium = readonly_medium.inspect(DisplayedText()) self.assertEqual(displayed_medium, '7') # Tests for the large_int_range ################################## # Testing for SimpleSpinEditor is not supported yet text_large.perform(KeySequence("00")) text_large.perform(KeyClick("Enter")) self.assertEqual(demo.large_int_range, 100) demo.large_int_range = 77 displayed_large = readonly_large.inspect(DisplayedText()) self.assertEqual(displayed_large, '77') # Tests for the float_range ###################################### simple_float_slider = simple_float.locate(Slider()) # on this range, page up/down corresponds to a change of 1.000. simple_float_slider.perform(KeyClick("Page Up")) self.assertEqual(demo.float_range, 1.000) simple_float_text = simple_float.locate(Textbox()) for _ in range(3): simple_float_text.perform(KeyClick("Backspace")) simple_float_text.perform(KeyClick("5")) simple_float_text.perform(KeyClick("Enter")) self.assertEqual(demo.float_range, 1.5) custom_float_slider = custom_float.locate(Slider()) # after the trait is set to 1.5 above, the active range shown by # the LargeRangeSliderEditor for the custom style is [0,11.500] # so a page down is now a decrement of 1.15 custom_float_slider.perform(KeyClick("Page Down")) self.assertEqual(round(demo.float_range, 2), 0.35) custom_float_text = custom_float.locate(Textbox()) for _ in range(5): custom_float_text.perform(KeyClick("Backspace")) custom_float_text.perform(KeySequence("50.0")) custom_float_text.perform(KeyClick("Enter")) self.assertEqual(demo.float_range, 50.0) text_float.perform(KeyClick("5")) text_float.perform(KeyClick("Enter")) self.assertEqual(demo.float_range, 50.05) demo.float_range = 72.0 displayed_float = readonly_float.inspect(DisplayedText()) self.assertEqual(displayed_float, '72.0') # Run the test(s) unittest.TextTestRunner().run( unittest.TestLoader().loadTestsFromTestCase(TestRangeEditorDemo) ) traitsui-7.2.1/examples/demo/Standard_Editors/tests/test_ButtonEditor_simple_demo.py0000644000076500000240000000342514046644454031560 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! """ This example demonstrates how to test interacting with a button created using ButtonEditor. The GUI being tested is written in the demo under the same name (minus the preceding 'test') in the outer directory. """ import os import runpy import unittest from traitsui.testing.api import DisplayedText, MouseClick, UITester #: Filename of the demo script FILENAME = "ButtonEditor_simple_demo.py" #: Path of the demo script DEMO_PATH = os.path.join(os.path.dirname(__file__), "..", FILENAME) class TestButtonEditorSimpleDemo(unittest.TestCase): def test_button_editor_simple_demo(self): demo = runpy.run_path(DEMO_PATH)["demo"] tester = UITester() with tester.create_ui(demo) as ui: button = tester.find_by_name(ui, "my_button_trait") for index in range(5): button.perform(MouseClick()) self.assertEqual(demo.click_counter, index + 1) click_counter = tester.find_by_name(ui, "click_counter") displayed_count = click_counter.inspect(DisplayedText()) self.assertEqual(displayed_count, '5') demo.click_counter = 10 displayed_count = click_counter.inspect(DisplayedText()) self.assertEqual(displayed_count, '10') # Run the test(s) unittest.TextTestRunner().run( unittest.TestLoader().loadTestsFromTestCase(TestButtonEditorSimpleDemo) ) traitsui-7.2.1/examples/demo/Standard_Editors/tests/test_BooleanEditor_demo.py0000644000076500000240000000377214046644454030320 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! """ This example demonstrates how to test interacting with a boolean using BooleanEditor. The GUI being tested is written in the demo under the same name (minus the preceding 'test') in the outer directory. """ import os import runpy import unittest from traitsui.testing.api import ( DisplayedText, KeyClick, KeySequence, MouseClick, UITester ) #: Filename of the demo script FILENAME = "BooleanEditor_demo.py" #: Path of the demo script DEMO_PATH = os.path.join(os.path.dirname(__file__), "..", FILENAME) class TestBooleanEditorDemo(unittest.TestCase): def test_boolean_editor_demo(self): demo = runpy.run_path(DEMO_PATH)["demo"] tester = UITester() with tester.create_ui(demo) as ui: simple = tester.find_by_id(ui, 'simple') custom = tester.find_by_id(ui, 'custom') text = tester.find_by_id(ui, 'text') readonly = tester.find_by_id(ui, 'readonly') simple.perform(MouseClick()) self.assertEqual(demo.boolean_trait, True) custom.perform(MouseClick()) self.assertEqual(demo.boolean_trait, False) for _ in range(5): text.perform(KeyClick("Backspace")) text.perform(KeySequence("True")) text.perform(KeyClick("Enter")) self.assertEqual(demo.boolean_trait, True) demo.boolean_trait = False displayed = readonly.inspect(DisplayedText()) self.assertEqual(displayed, "False") # Run the test(s) unittest.TextTestRunner().run( unittest.TestLoader().loadTestsFromTestCase(TestBooleanEditorDemo) ) traitsui-7.2.1/examples/demo/Standard_Editors/VideoEditor_demo.py0000644000076500000240000001223014046644454025573 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! """ Demonstrates a 'display only' video editor for Qt5+. Please refer to the `VideoEditor API docs`_ for further information. .. _VideoEditor API docs: https://docs.enthought.com/traitsui/api/traitsui.editors.video_editor.html#traitsui.editors.video_editor.VideoEditor """ import numpy as np from PIL import Image from pyface.qt.QtGui import QImage from traits.api import ( Bool, Button, Callable, Float, HasTraits, Range, Str, observe ) from traitsui.api import ButtonEditor, ContextValue, HGroup, Item, UItem, View from traitsui.editors.video_editor import MediaStatus, PlayerState, VideoEditor def QImage_from_np(image): assert (np.max(image) <= 255) image8 = image.astype(np.uint8, order='C', casting='unsafe') height, width, colors = image8.shape bytesPerLine = 4 * width image = QImage(image8.data, width, height, bytesPerLine, QImage.Format_RGB32) return image def np_from_QImage(qimage): # Creates a numpy array from a pyqt(5) QImage object width, height = qimage.width(), qimage.height() channels = qimage.pixelFormat().channelCount() return np.array( qimage.bits().asarray(width * height * channels) ).reshape(height, width, channels).astype('u1') def qimage_function(antialiasing=True): def antialias_func(image_func): """ Turns an image function into a QImage function, bound within the viewing frames box. """ def qimage_conv_func(image, box_dims): _np_image = image_func(np_from_QImage(image)) pil_image = Image.fromarray(_np_image) if antialiasing: pil_image.thumbnail(box_dims, Image.ANTIALIAS) else: pil_image.thumbnail(box_dims) _np_image = np.array(pil_image) image = QImage_from_np(_np_image) return image, _np_image return qimage_conv_func return antialias_func @qimage_function(antialiasing=False) def test_image_func(image): return image.transpose(1, 0, 2) class VideoEditorDemo(HasTraits): """Defines the main VideoEditor demo class.""" #: The URL that holds the video data. video_url = Str() #: A button that plays/pauses play_pause_button = Button() button_label = Str('Play') state = PlayerState duration = Float position = Range(low=0.0, high='duration') error = Str status = MediaStatus buffer = Range(0, 100) muted = Bool(True) volume = Range(0.0, 100.0, value=100.0) playback_rate = Float(1.0) image_func = Callable() @observe('state') def _state_update(self, event): if event.new == 'stopped' or event.new == 'paused': self.button_label = 'Play' elif event.new == 'playing': self.button_label = 'Pause' @observe('play_pause_button') def _play_pause_button_click(self, event): if self.state == 'stopped' or self.state == 'paused': self.state = 'playing' else: self.state = 'paused' # Demo view traits_view = View( UItem('video_url'), UItem( 'video_url', editor=VideoEditor( state=ContextValue('state'), position=ContextValue('position'), duration=ContextValue('duration'), video_error=ContextValue('error'), media_status=ContextValue('status'), buffer=ContextValue('buffer'), muted=ContextValue('muted'), volume=ContextValue('volume'), playback_rate=ContextValue('playback_rate'), image_func=ContextValue('image_func'), notify_interval=0.5, ), ), HGroup( UItem( 'play_pause_button', editor=ButtonEditor(label_value='button_label'), enabled_when='not bool(error)', width=100, ), UItem('position'), ), HGroup( Item('playback_rate'), Item('muted', label='Mute'), Item('volume'), ), HGroup( Item('state', style='readonly'), Item('status', style='readonly'), Item('buffer', style='readonly'), Item('error', visible_when="bool(error)", style='readonly'), ), title='VideoEditor', buttons=['OK'], width=800, height=600, resizable=True, ) url = "https://commondatastorage.googleapis.com/gtv-videos-bucket/sample/ForBiggerEscapes.mp4" # noqa: E501 # Create the demo: demo = VideoEditorDemo(image_func=test_image_func, video_url=url) # demo = VideoEditorDemo(video_url=url) # Run the demo (if invoked from the command line): if __name__ == '__main__': demo.configure_traits() traitsui-7.2.1/examples/demo/Standard_Editors/File_Dialog/0000755000076500000240000000000014046644526024140 5ustar aayresstaff00000000000000traitsui-7.2.1/examples/demo/Standard_Editors/File_Dialog/File_Open_with_Custom_Extension.py0000644000076500000240000000666414046644454033007 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! """ **WARNING** This demo might not work as expected and some documented features might be missing. ------------------------------------------------------------------------------- This demonstrates using the TraitsUI file dialog with a custom written file dialog extension, in this case an extension called **LineCountInfo**, which displays the number of text lines in the currently selected file. For more information about why you would want to use the TraitsUI file dialog over the standard OS file dialog, select the **File Open** demo. """ # Issue related to the demo warning: enthought/traitsui#953 from os.path import getsize from traits.api import HasTraits, File, Button, Property, cached_property from traitsui.api import View, VGroup, HGroup, Item from traitsui.file_dialog import open_file, MFileDialogModel # -- LineCountInfo Class -------------------------------------------------- class LineCountInfo(MFileDialogModel): """ Defines a file dialog extension that displays the number of text lines in the currently selected file. """ # The number of text lines in the currently selected file: lines = Property(observe='file_name') # -- Traits View Definitions ---------------------------------------------- traits_view = View( VGroup( Item('lines', style='readonly'), label='Line Count Info', show_border=True ) ) # -- Property Implementations --------------------------------------------- @cached_property def _get_lines(self): try: if getsize(self.file_name) > 10000000: return 'File too big...' with open(self.file_name, 'r', encoding='utf8') as fh: data = fh.read() except OSError: return '' if (data.find('\x00') >= 0) or (data.find('\xFF') >= 0): return 'File contains binary data...' return ('{:n} lines'.format(len(data.splitlines()))) # -- FileDialogDemo Class ------------------------------------------------- # Demo specific file dialig id: demo_id = 'traitsui.demo.standard_editors.file_dialog.line_count_info' class FileDialogDemo(HasTraits): # The name of the selected file: file_name = File() # The button used to display the file dialog: open = Button('Open...') # -- Traits View Definitions ---------------------------------------------- traits_view = View( HGroup( Item('open', show_label=False), '_', Item('file_name', style='readonly', springy=True) ), width=0.5 ) # -- Traits Event Handlers ------------------------------------------------ def _open_changed(self): """ Handles the user clicking the 'Open...' button. """ file_name = open_file(extensions=LineCountInfo(), id=demo_id) if file_name != '': self.file_name = file_name # Create the demo: demo = FileDialogDemo() # Run the demo (if invoked from the command line): if __name__ == '__main__': demo.configure_traits() traitsui-7.2.1/examples/demo/Standard_Editors/File_Dialog/File_Open_with_TextInfo_Extension.py0000644000076500000240000000522614046644454033266 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! """ **WARNING** This demo might not work as expected and some documented features might be missing. ------------------------------------------------------------------------------- This demonstrates using the TraitsUI file dialog with a file dialog extension, in this case, the **TextInfo** extension, which displays (if possible) the contents of the currently selected file in a read-only text editor so the user can quickly verify they are opening the correct file before leaving the file dialog. For more information about why you would want to use the TraitsUI file dialog over the standard OS file dialog, select the **File Open** demo. For a demonstration of writing a custom file dialog extension, select the **File Open with Custom Extension** demo. This example also shows setting a file name filter which only allows Python source (i.e. ``*.py``) files to be viewed and selected. """ # Issue related to the demo warning: enthought/traitsui#953 from traits.api import HasTraits, File, Button from traitsui.api import View, HGroup, Item from traitsui.file_dialog import open_file, TextInfo # -- FileDialogDemo Class ------------------------------------------------- # Demo specific file dialog id: demo_id = 'traitsui.demo.standard_editors.file_dialog.text_info' class FileDialogDemo(HasTraits): # The name of the selected file: file_name = File() # The button used to display the file dialog: open = Button('Open...') # -- Traits View Definitions ---------------------------------------------- traits_view = View( HGroup( Item('open', show_label=False), '_', Item('file_name', style='readonly', springy=True) ), width=0.5 ) # -- Traits Event Handlers ------------------------------------------------ def _open_changed(self): """ Handles the user clicking the 'Open...' button. """ file_name = open_file(extensions=TextInfo(), filter='Python file (*.py)|*.py', id=demo_id) if file_name != '': self.file_name = file_name # Create the demo: demo = FileDialogDemo() # Run the demo (if invoked from the command line): if __name__ == '__main__': demo.configure_traits() traitsui-7.2.1/examples/demo/Standard_Editors/File_Dialog/File_Open_with_ImageInfo_Extension.py0000644000076500000240000000555714046644454033373 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! """ **WARNING** This demo might not work as expected and some documented features might be missing. ------------------------------------------------------------------------------- This demonstrates using the TraitsUI file dialog with a file dialog extension, in this case, the **ImageInfo** extension, which displays (if possible) the contents, width and height information for the currently selected image file so that the user can quickly verify they are opening the correct file before leaving the file dialog. For more information about why you would want to use the TraitsUI file dialog over the standard OS file dialog, select the **File Open** demo. For a demonstration of writing a custom file dialog extension, select the **File Open with Custom Extension** demo. This example also shows setting a file name filter which only allows common image file formats (i.e. ``*.png``, ``*.gif``, ``*.jpg``, ``*.jpeg``) files to be viewed and selected. """ # Issue related to the demo warning: enthought/traitsui#953 from traits.api import HasTraits, File, Button from traitsui.api import View, HGroup, Item from traitsui.file_dialog import open_file, ImageInfo # -- FileDialogDemo Class ------------------------------------------------- # Demo specific file dialig id: demo_id = 'traitsui.demo.standard_editors.file_dialog.image_info' # The image filters description: filters = [ 'PNG file (*.png)|*.png', 'GIF file (*.gif)|*.gif', 'JPG file (*.jpg)|*.jpg', 'JPEG file (*.jpeg)|*.jpeg' ] class FileDialogDemo(HasTraits): # The name of the selected file: file_name = File() # The button used to display the file dialog: open = Button('Open...') # -- Traits View Definitions ---------------------------------------------- traits_view = View( HGroup( Item('open', show_label=False), '_', Item('file_name', style='readonly', springy=True) ), width=0.5 ) # -- Traits Event Handlers ------------------------------------------------ def _open_changed(self): """ Handles the user clicking the 'Open...' button. """ file_name = open_file(extensions=ImageInfo(), filter=filters, id=demo_id) if file_name != '': self.file_name = file_name # Create the demo: demo = FileDialogDemo() # Run the demo (if invoked from the command line): if __name__ == '__main__': demo.configure_traits() traitsui-7.2.1/examples/demo/Standard_Editors/File_Dialog/File_Open_with_FileInfo_Extension.py0000644000076500000240000000463714046644454033226 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! """ **WARNING** This demo might not work as expected and some documented features might be missing. ------------------------------------------------------------------------------- This demonstrates using the TraitsUI file dialog with a file dialog extension, in this case, the **FileInfo** extension, which displays information about the currently selected file, such as: - File size. - Date and time last accessed. - Date and time last modified. - Date and time last created. For more information about why you would want to use the TraitsUI file dialog over the standard OS file dialog, select the **File Open** demo. For a demonstration of writing a custom file dialog extension, select the **File Open with Custom Extension** demo. """ # Issue related to the demo warning: enthought/traitsui#953 from traits.api import HasTraits, File, Button from traitsui.api import View, HGroup, Item from traitsui.file_dialog import open_file, FileInfo # -- FileDialogDemo Class ------------------------------------------------- # Demo specific file dialig id: demo_id = 'traitsui.demo.standard_editors.file_dialog.file_info' class FileDialogDemo(HasTraits): # The name of the selected file: file_name = File() # The button used to display the file dialog: open = Button('Open...') # -- Traits View Definitions ---------------------------------------------- traits_view = View( HGroup( Item('open', show_label=False), '_', Item('file_name', style='readonly', springy=True) ), width=0.5 ) # -- Traits Event Handlers ------------------------------------------------ def _open_changed(self): """ Handles the user clicking the 'Open...' button. """ file_name = open_file(extensions=FileInfo(), id=demo_id) if file_name != '': self.file_name = file_name # Create the demo: demo = FileDialogDemo() # Run the demo (if invoked from the command line): if __name__ == '__main__': demo.configure_traits() traitsui-7.2.1/examples/demo/Standard_Editors/File_Dialog/File_Open.py0000644000076500000240000001127414046644454026357 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! """ **WARNING** This demo might not work as expected and some documented features might be missing. ------------------------------------------------------------------------------- This demonstrates one of the simplest cases of using the TraitsUI file dialog to select a file for opening (i.e. reading or editing). The first question of course is why use the TraitsUI file dialog at all, when the standard OS file dialog is also available? And the answer is that you can use either, but the advantages of using the TraitsUI file dialog are: - It supports history. That is, each time the user selects a file for opening, the file is added to a persistent history list, similar to many applications *Open recent...* function, but built directly into the file dialog. The amount of history remembered can be specified by the developer, with the default being the last 10 files opened. - It is resizable. Some standard OS file dialogs are not resizable, which can be very annoying to the user trying to select a file through a tiny peephole view of the file system. In addition, if the user resizes the dialog, the new size and position will be persisted, so that the file dialog will appear in the same location the next time the user wants to open a file. - There is a very nice synergy between the file system view and the history list. Quite often users shuttle between several *favorite* locations in the file system when opening files. The TraitsUI file dialog automatically discovers these favorite locations just by the user opening files. When a user opens the file dialog, they can select a previously opened file from the history list, which then automatically causes the file system view to expand the selected file's containing folder, thus allowing them to select a different file in the same location. Since the history list is updated each time a user selects a file, It tends to automatically discover a *working set* of favorite directories just through simple use, without the user having to explicitly designate them as such. - It's customizable. The TraitsUI file dialog accepts extension objects which can be used to display additional file information or even modify the selection behavior of the dialog. Several extensions are provided with TraitsUI (and are demonstrated in some of the other examples), and you are free to write your own by implementing a very simple interface. - The history and user settings are customizable per application. Just by setting a unique id in the file dialog request, you can specify that the history and window size and position information are specific to your application. If you have file dialog extensions added, the user can reorder, resize and reconfigure the overall file dialog layout, including your extensions, and have their custom settings restored each time they use the file dialog. If you do not specify a unique id, then the history and user settings default to the system-wide settings for the file dialog. It's your choice. - It's easy to use. That's what this particular example is all about. So take a look at the source code for this example to see how easy it is... """ # Issue related to the demo warning: enthought/traitsui#953 from traits.api import HasTraits, File, Button from traitsui.api import View, HGroup, Item from traitsui.file_dialog import open_file # -- FileDialogDemo Class ------------------------------------------------- class FileDialogDemo(HasTraits): # The name of the selected file: file_name = File() # The button used to display the file dialog: open = Button('Open...') # -- Traits View Definitions ---------------------------------------------- traits_view = View( HGroup( Item('open', show_label=False), '_', Item('file_name', style='readonly', springy=True) ), width=0.5 ) # -- Traits Event Handlers ------------------------------------------------ def _open_changed(self): """ Handles the user clicking the 'Open...' button. """ file_name = open_file() if file_name != '': self.file_name = file_name # Create the demo: demo = FileDialogDemo() # Run the demo (if invoked from the command line): if __name__ == '__main__': demo.configure_traits() traitsui-7.2.1/examples/demo/Standard_Editors/File_Dialog/File_Open_with_Multiple_Extensions.py0000644000076500000240000000552714046644454033510 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! """ **WARNING** This demo might not work as expected and some documented features might be missing. ------------------------------------------------------------------------------- This demonstrates using the TraitsUI file dialog with multiple file dialog extensions, in this case, the **FileInfo**, **TextInfo** and **ImageInfo** extensions. For more information about why you would want to use the TraitsUI file dialog over the standard OS file dialog, select the **File Open** demo. For a demonstration of writing a custom file dialog extension, select the **File Open with Custom Extension** demo. Suggestion: Try resizing the dialog and dragging the various file dialog extensions around to create a better arrangement than the rather cramped default vertical arrangement. Close the dialog, then re-open it to see that your new arrangement has been correctly restored. Try a different file dialog demo to verify that the customizations are not affected by any of the other demos because this demo specifies a custom id when invoking the file dialog. """ # Issue related to the demo warning: enthought/traitsui#953 from traits.api import HasTraits, File, Button from traitsui.api import View, HGroup, Item from traitsui.file_dialog import open_file, FileInfo, TextInfo, ImageInfo # -- FileDialogDemo Class ------------------------------------------------- # Demo specific file dialig id: demo_id = 'traitsui.demo.standard_editors.file_dialog.multiple_info' # The list of file dialog extensions to use: extensions = [FileInfo(), TextInfo(), ImageInfo()] class FileDialogDemo(HasTraits): # The name of the selected file: file_name = File() # The button used to display the file dialog: open = Button('Open...') # -- Traits View Definitions ---------------------------------------------- traits_view = View( HGroup( Item('open', show_label=False), '_', Item('file_name', style='readonly', springy=True) ), width=0.5 ) # -- Traits Event Handlers ------------------------------------------------ def _open_changed(self): """ Handles the user clicking the 'Open...' button. """ file_name = open_file(extensions=extensions, id=demo_id) if file_name != '': self.file_name = file_name # Create the demo: demo = FileDialogDemo() # Run the demo (if invoked from the command line): if __name__ == '__main__': demo.configure_traits() traitsui-7.2.1/examples/demo/Standard_Editors/InstanceEditor_demo.py0000644000076500000240000000556414046644454026305 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! """ **WARNING** This demo might not work as expected and some documented features might be missing. ------------------------------------------------------------------------------- Implementation of an InstanceEditor demo plugin for the Traits UI demo program. This demo shows each of the four styles of the InstanceEditor Fixme: This version of the demo only shows the old-style InstanceEditor capabilities. Please refer to the `InstanceEditor API docs`_ for further information. .. _InstanceEditor API docs: https://docs.enthought.com/traitsui/api/traitsui.editors.instance_editor.html#traitsui.editors.instance_editor.InstanceEditor """ # Issue related to the demo warning: enthought/traitsui#939 from traits.api import HasTraits, Str, Range, Bool, Instance from traitsui.api import Item, Group, View # ------------------------------------------------------------------------- # Classes: # ------------------------------------------------------------------------- class SampleClass(HasTraits): """ This Sample class is used to demonstrate the InstanceEditor demo. """ # The actual attributes don't matter here; we just need an assortment # to demonstrate the InstanceEditor's capabilities.: name = Str() occupation = Str() age = Range(21, 65) registered_voter = Bool() # The InstanceEditor uses whatever view is defined for the class. The # default view lists the fields alphabetically, so it's best to define one # explicitly: traits_view = View('name', 'occupation', 'age', 'registered_voter') class InstanceEditorDemo(HasTraits): """ This class specifies the details of the InstanceEditor demo. """ # Create an Instance trait to view: sample_instance = Instance(SampleClass, ()) # Items are used to define the demo display, one item per editor style: inst_group = Group( Item('sample_instance', style='simple', label='Simple', id="simple"), Item('_'), Item('sample_instance', style='custom', label='Custom', id="custom"), Item('_'), Item('sample_instance', style='text', label='Text'), Item('_'), Item('sample_instance', style='readonly', label='ReadOnly') ) # Demo View: traits_view = View( inst_group, title='InstanceEditor', buttons=['OK'], resizable=True ) # Create the demo: demo = InstanceEditorDemo() # Run the demo (if invoked from the command line): if __name__ == '__main__': demo.configure_traits() traitsui-7.2.1/examples/demo/Standard_Editors/RangeEditor_demo.py0000644000076500000240000001102314046644454025560 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! """ Range editor A Range Trait holds a numeric value which is restricted to a specified range. This example shows how the RangeEditor's simple and custom styles vary depending on the type (integer or float) and size (small, medium, or large integer) of the specified range. The example also shows how multiple Groups at the top level of a View are automatically placed into separate tabs. For an example of how to dynamically vary the bounds of a Range trait, see the *Dynamic Range Editor* example. Please refer to the `RangeEditor API docs`_ for further information. .. _RangeEditor API docs: https://docs.enthought.com/traitsui/api/traitsui.editors.range_editor.html#traitsui.editors.range_editor.RangeEditor """ from traits.api import HasTraits, Range from traitsui.api import Item, Group, View class RangeEditorDemo(HasTraits): """ Defines the RangeEditor demo class. """ # Define a trait for each of four range variants: small_int_range = Range(1, 16) medium_int_range = Range(1, 25) large_int_range = Range(1, 150) float_range = Range(0.0, 150.0) # RangeEditor display for narrow integer Range traits (< 17 wide): int_range_group1 = Group( Item( 'small_int_range', style='simple', label='Simple', id='simple_small' ), Item('_'), Item( 'small_int_range', style='custom', label='Custom', id='custom_small' ), Item('_'), Item('small_int_range', style='text', label='Text', id='text_small'), Item('_'), Item( 'small_int_range', style='readonly', label='ReadOnly', id='readonly_small' ), label='Small Int' ) # RangeEditor display for medium-width integer Range traits (17 to 100): int_range_group2 = Group( Item( 'medium_int_range', style='simple', label='Simple', id='simple_medium' ), Item('_'), Item( 'medium_int_range', style='custom', label='Custom', id='custom_medium' ), Item('_'), Item('medium_int_range', style='text', label='Text', id='text_medium'), Item('_'), Item( 'medium_int_range', style='readonly', label='ReadOnly', id='readonly_medium' ), label='Medium Int' ) # RangeEditor display for wide integer Range traits (> 100): int_range_group3 = Group( Item( 'large_int_range', style='simple', label='Simple', id='simple_large' ), Item('_'), Item( 'large_int_range', style='custom', label='Custom', id='custom_large' ), Item('_'), Item('large_int_range', style='text', label='Text', id='text_large'), Item('_'), Item( 'large_int_range', style='readonly', label='ReadOnly', id='readonly_large' ), label='Large Int' ) # RangeEditor display for float Range traits: float_range_group = Group( Item('float_range', style='simple', label='Simple', id='simple_float'), Item('_'), Item('float_range', style='custom', label='Custom', id='custom_float'), Item('_'), Item('float_range', style='text', label='Text', id='text_float'), Item('_'), Item( 'float_range', style='readonly', label='ReadOnly', id='readonly_float' ), label='Float' ) # The view includes one group per data type. These will be displayed # on separate tabbed panels: traits_view = View( int_range_group1, int_range_group2, int_range_group3, float_range_group, title='RangeEditor', buttons=['OK'], resizable=True ) # Create the demo: demo = RangeEditorDemo() # Run the demo (if invoked from the comand line): if __name__ == '__main__': demo.configure_traits() traitsui-7.2.1/examples/demo/Standard_Editors/CompoundEditor_demo.py0000644000076500000240000000441514046644454026317 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! """ **WARNING** This demo might not work as expected and some documented features might be missing. ------------------------------------------------------------------------------- Implementation of a CompoundEditor demo plugin for Traits UI demo program. This demo shows each of the four styles of the CompoundEditor. Please refer to the `CompoundEditor API docs`_ for further information. .. _CompoundEditor API docs: https://docs.enthought.com/traitsui/api/traitsui.editors.compound_editor.html#traitsui.editors.compound_editor.CompoundEditor """ # Issue related to the demo warning: enthought/traitsui#945 from traits.api import Either, Enum, HasTraits, Range from traitsui.api import Item, Group, View # Define the demo class: class CompoundEditorDemo(HasTraits): """ Defines the main CompoundEditor demo class. """ # Define a compund trait to view: # Note: In Traits 6.1 a new Trait type `Union` has been added, which is # recommended over `Either`: # compound_trait = Union( # Range(1, 6), Enum('a', 'b', 'c', 'd', 'e', 'f'), default_value=1 # ) compound_trait = Either( Range(1, 6), Enum('a', 'b', 'c', 'd', 'e', 'f'), default=1 ) # Display specification (one Item per editor style): comp_group = Group( Item('compound_trait', style='simple', label='Simple'), Item('_'), Item('compound_trait', style='custom', label='Custom'), Item('_'), Item('compound_trait', style='text', label='Text'), Item('_'), Item('compound_trait', style='readonly', label='ReadOnly') ) # Demo view: traits_view = View( comp_group, title='CompoundEditor', buttons=['OK'], resizable=True ) # Create the demo: demo = CompoundEditorDemo() # Run the demo (if invoked from the command line): if __name__ == '__main__': demo.configure_traits() traitsui-7.2.1/examples/demo/Standard_Editors/TitleEditor_demo.py0000644000076500000240000000756714046644454025627 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! """ Demonstrates the use of the TitleEditor. A TitleEditor can be used to dynamically label sections of a user interface. The text displayed by the TitleEditor is specified by a trait associated with the view. This demonstration shows three variations of using a TitleEditor: * In the first example, the TitleEditor values are supplied by an Enum trait. Simply select a new value for the title from the drop-down list to cause the title to change. * In the second example, the TitleEditor values are supplied by a Str trait. Simply type a new value into the title field to cause the title to change. * In the third example, the TitleEditor values are supplied by a Property whose value is derived from a calculation on a Float trait. Type a number into the value field to cause the title to changed. Please refer to the `TitleEditor API docs`_ for further information. .. _TitleEditor API docs: https://docs.enthought.com/traitsui/api/traitsui.editors.title_editor.html#traitsui.editors.title_editor.TitleEditor """ from traits.api import HasTraits, Enum, Str, Float, Property, cached_property from traitsui.api import View, VGroup, HGroup, Item, TitleEditor class TitleEditorDemo(HasTraits): # Define the selection of titles that can be displayed: title = Enum( 'Select a new title from the drop down list below', 'This is the TitleEditor demonstration', 'Acme Widgets Sales for Each Quarter', 'This is Not Intended to be a Real Application' ) # A user settable version of the title: title_2 = Str('Type into the text field below to change this title') # A title driven by the result of a calculation: title_3 = Property(observe='value') # The number used to drive the calculation: value = Float() # Define the test view: traits_view = View( VGroup( VGroup( HGroup( Item('title', show_label=False, springy=True, editor=TitleEditor() ) ), Item('title'), show_border=True ), VGroup( HGroup( Item('title_2', show_label=False, springy=True, editor=TitleEditor() ) ), Item('title_2', label='Title'), show_border=True ), VGroup( HGroup( Item('title_3', show_label=False, springy=True, editor=TitleEditor() ) ), Item('value'), show_border=True ) ), width=0.4 ) # -- Property Implementations --------------------------------------------- @cached_property def _get_title_3(self): if self.value >= 0: return ( 'The square root of {} is {}'.format( self.value, self.value ** 0.5 ) ) else: return ( 'The square root of {} is {}i'.format( self.value, (-self.value) ** 0.5 ) ) # Create the demo: demo = TitleEditorDemo() # Run the demo (if invoked from the command line): if __name__ == '__main__': demo.configure_traits() traitsui-7.2.1/examples/demo/Standard_Editors/ColorEditor_demo.py0000644000076500000240000000366314046644454025615 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! """ **WARNING** This demo might not work as expected and some documented features might be missing. ------------------------------------------------------------------------------- Implementation of a ColorEditor demo plugin for Traits UI demo program. This demo shows each of the four styles of the ColorEditor. Please refer to the `ColorEditor API docs`_ for further information. .. _ColorEditor API docs: https://docs.enthought.com/traitsui/api/traitsui.editors.color_editor.html#traitsui.editors.color_editor.ColorEditor """ # Issues related to the demo warning: # enthought/traitsui#946 from traits.api import HasTraits from traitsui.api import Item, Group, View, Color # Demo class definition: class ColorEditorDemo(HasTraits): """ Defines the main ColorEditor demo. """ # Define a Color trait to view: color_trait = Color() # Items are used to define the demo display, one item per editor style: color_group = Group( Item('color_trait', style='simple', label='Simple'), Item('_'), Item('color_trait', style='custom', label='Custom'), Item('_'), Item('color_trait', style='text', label='Text'), Item('_'), Item('color_trait', style='readonly', label='ReadOnly') ) # Demo view traits_view = View( color_group, title='ColorEditor', buttons=['OK'], resizable=True ) # Create the demo: demo = ColorEditorDemo() # Run the demo (if invoked from the command line): if __name__ == '__main__': demo.configure_traits() traitsui-7.2.1/examples/demo/Standard_Editors/ButtonEditor_demo.py0000644000076500000240000000404414046644454026004 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! """ Implementation of a ButtonEditor demo plugin for Traits UI demo program. This demo shows each of the two styles of the ButtonEditor. (As of this writing, they are identical.) Please refer to the `ButtonEditor API docs`_ for further information. .. _ButtonEditor API docs: https://docs.enthought.com/traitsui/api/traitsui.editors.button_editor.html#traitsui.editors.button_editor.ButtonEditor """ from traits.api import HasTraits, Button from traitsui.api import Item, View, Group, message # ------------------------------------------------------------------------- # Demo Class # ------------------------------------------------------------------------- class ButtonEditorDemo(HasTraits): """ This class specifies the details of the ButtonEditor demo. """ # To demonstrate any given Trait editor, an appropriate Trait is required. fire_event = Button('Click Me') def _fire_event_fired(): message("Button clicked!") # ButtonEditor display # (Note that Text and ReadOnly versions are not applicable) event_group = Group( Item('fire_event', style='simple', label='Simple', id="simple"), Item('_'), Item('fire_event', style='custom', label='Custom', id="custom"), Item('_'), Item(label='[text style unavailable]'), Item('_'), Item(label='[readonly style unavailable]') ) # Demo view traits_view = View( event_group, title='ButtonEditor', buttons=['OK'], width=250 ) # Create the demo: demo = ButtonEditorDemo() # Run the demo (if invoked from the command line): if __name__ == '__main__': demo.configure_traits() traitsui-7.2.1/examples/demo/Standard_Editors/RGBColorEditor_demo.py0000644000076500000240000000372614046644454026150 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! """ **WARNING** This demo might not work as expected and some documented features might be missing. ------------------------------------------------------------------------------- Implementation of a RGBColorEditor demo plugin for Traits UI demo program. This demo shows each of the four styles of the ColorEditor. Please refer to the `RGBColorEditor API docs`_ for further information. .. _RGBColorEditor API docs: https://docs.enthought.com/traitsui/api/traitsui.editors.rgb_color_editor.html#traitsui.editors.rgb_color_editor.RGBColorEditor """ # Issue related to the demo warning: enthought/traitsui#939 from traits.api import HasTraits from traitsui.api import Item, Group, View, RGBColor # Demo class definition: class RGBColorEditorDemo(HasTraits): """ Defines the main RGBColorEditor demo. """ # Define a Color trait to view: color_trait = RGBColor() # Items are used to define the demo display, one item per editor style: color_group = Group( Item('color_trait', style='simple', label='Simple'), Item('_'), Item('color_trait', style='custom', label='Custom'), Item('_'), Item('color_trait', style='text', label='Text'), Item('_'), Item('color_trait', style='readonly', label='ReadOnly') ) # Demo view traits_view = View( color_group, title='RGBColorEditor', buttons=['OK'], resizable=True ) # Create the demo: demo = RGBColorEditorDemo() # Run the demo (if invoked from the command line): if __name__ == '__main__': demo.configure_traits() traitsui-7.2.1/examples/demo/Standard_Editors/SetEditor_demo.py0000644000076500000240000000662314046644454025271 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! """ Implementation of a SetEditor demo plugin for the Traits UI demo program. The four tabs of this demo show variations on the interface as follows: - Unord I: Creates an alphabetized subset, has no "move all" options - Unord II: Creates an alphabetized subset, has "move all" options - Ord I: Creates a set whose order is specified by the user, no "move all" - Ord II: Creates a set whose order is specifed by the user, has "move all" Please refer to the `SetEditor API docs`_ for further information. .. _SetEditor API docs: https://docs.enthought.com/traitsui/api/traitsui.editors.set_editor.html#traitsui.editors.set_editor.SetEditor """ from traits.api import HasTraits, List from traitsui.api import Item, Group, View, SetEditor # Define the main demo class: class SetEditorDemo(HasTraits): """ Defines the SetEditor demo class. """ # Define a trait each for four SetEditor variants: unord_nma_set = List( editor=SetEditor( values=['kumquats', 'pomegranates', 'kiwi'], left_column_title='Available Fruit', right_column_title='Exotic Fruit Bowl', can_move_all=False ) ) unord_ma_set = List( editor=SetEditor( values=['kumquats', 'pomegranates', 'kiwi'], left_column_title='Available Fruit', right_column_title='Exotic Fruit Bowl' ) ) ord_nma_set = List( editor=SetEditor( values=['apples', 'berries', 'cantaloupe'], left_column_title='Available Fruit', right_column_title='Fruit Bowl', ordered=True, can_move_all=False ) ) ord_ma_set = List( editor=SetEditor( values=['apples', 'berries', 'cantaloupe'], left_column_title='Available Fruit', right_column_title='Fruit Bowl', ordered=True ) ) # SetEditor display, unordered, no move-all buttons: no_nma_group = Group( Item('unord_nma_set', style='simple'), label='Unord I', show_labels=False ) # SetEditor display, unordered, move-all buttons: no_ma_group = Group( Item('unord_ma_set', style='simple'), label='Unord II', show_labels=False ) # SetEditor display, ordered, no move-all buttons: o_nma_group = Group( Item('ord_nma_set', style='simple'), label='Ord I', show_labels=False ) # SetEditor display, ordered, move-all buttons: o_ma_group = Group( Item('ord_ma_set', style='simple'), label='Ord II', show_labels=False ) # The view includes one group per data type. These will be displayed # on separate tabbed panels: traits_view = View( no_nma_group, no_ma_group, o_nma_group, o_ma_group, title='SetEditor', buttons=['OK'] ) # Create the demo: demo = SetEditorDemo() # Run the demo (if invoked from the command line): if __name__ == '__main__': demo.configure_traits() traitsui-7.2.1/examples/demo/Standard_Editors/TupleEditor_demo.py0000644000076500000240000000364614046644454025631 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! """ **WARNING** This demo might not work as expected and some documented features might be missing. ------------------------------------------------------------------------------- Implementation of a TupleEditor demo plugin for Traits UI demo program. This demo shows each of the four styles of the TupleEditor. Please refer to the `TupleEditor API docs`_ for further information. .. _TupleEditor API docs: https://docs.enthought.com/traitsui/api/traitsui.editors.tuple_editor.html#traitsui.editors.tuple_editor.TupleEditor """ # Issue related to the demo warning: enthought/traitsui#939 from traits.api import HasTraits, Tuple, Range, Str from traitsui.api import Item, Group, View, Color # The main demo class: class TupleEditorDemo(HasTraits): """ Defines the TupleEditor demo class. """ # Define a trait to view: tuple = Tuple(Color, Range(1, 4), Str) # Display specification (one Item per editor style): tuple_group = Group( Item('tuple', style='simple', label='Simple'), Item('_'), Item('tuple', style='custom', label='Custom'), Item('_'), Item('tuple', style='text', label='Text'), Item('_'), Item('tuple', style='readonly', label='ReadOnly') ) # Demo view traits_view = View( tuple_group, title='TupleEditor', buttons=['OK'], resizable=True ) # Create the demo: demo = TupleEditorDemo() # Run the demo (if invoked from the command line): if __name__ == '__main__': demo.configure_traits() traitsui-7.2.1/examples/demo/Standard_Editors/FileEditor_demo.py0000644000076500000240000000370314046644454025411 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! """ **WARNING** This demo might not work as expected and some documented features might be missing. ------------------------------------------------------------------------------- Implementation of a FileEditor demo plugin for Traits UI demo program. This demo shows each of the four styles of the FileEditor. Please refer to the `FileEditor API docs`_ for further information. .. _FileEditor API docs: https://docs.enthought.com/traitsui/api/traitsui.editors.file_editor.html#traitsui.editors.file_editor.FileEditor """ # Issue related to the demo warning: enthought/traitsui#889 from traits.api import HasTraits, File from traitsui.api import Item, Group, View # Define the demo class: class FileEditorDemo(HasTraits): """ Defines the main FileEditor demo class. """ # Define a File trait to view: file_name = File() # Display specification (one Item per editor style): file_group = Group( Item('file_name', style='simple', label='Simple', id='simple_file'), Item('_'), Item('file_name', style='custom', label='Custom'), Item('_'), Item('file_name', style='text', label='Text'), Item('_'), Item('file_name', style='readonly', label='ReadOnly') ) # Demo view: traits_view = View( file_group, title='FileEditor', width=400, height=600, buttons=['OK'], resizable=True ) # Create the demo: demo = FileEditorDemo() # Run the demo (if invoked from the command line): if __name__ == '__main__': demo.configure_traits() traitsui-7.2.1/examples/demo/Standard_Editors/BooleanEditor_simple_demo.py0000644000076500000240000000507214046644454027463 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! """ Boolean editor (checkbox or text) A Boolean (True/False) trait is displayed and edited as a checkbox, by default. It can also be displayed as text 'True'/'False', either editable or read-only. This example also shows how to listen for a change in a trait, and take action when its value changes. It also demonstrates how to add vertical space and a Label (plain text which is not editable.) Please refer to the `BooleanEditor API docs`_ for further information. .. _BooleanEditor API docs: https://docs.enthought.com/traitsui/api/traitsui.editors.boolean_editor.html#traitsui.editors.boolean_editor.BooleanEditor """ from traits.api import HasTraits, Bool, Int from traitsui.api import Item, Label, Group, View class BooleanEditorDemo(HasTraits): """ Defines the main BooleanEditor demo class. """ # a boolean trait to view: my_boolean_trait = Bool() count_changes = Int(0) # When the trait's value changes, do something. # The listener method is named '_TraitName_changed', where # 'TraitName' is the name of the trait being monitored. def _my_boolean_trait_changed(self): self.count_changes += 1 # Demo view traits_view = View( '10', # vertical space Item('my_boolean_trait', style='simple', id='simple'), '10', # vertical space # We put this label in its own group so that it will be left justified. # Otherwise it will line up with other edit fields (indented): Group( Label('The same Boolean trait can also be displayed and edited as ' 'text (True/False):') ), '10', # vertical space Item( 'my_boolean_trait', style='readonly', label='Read-only style', id='readonly' ), Item('my_boolean_trait', style='text', label='Text style', id='text'), '10', 'count_changes', title='Boolean trait', buttons=['OK'], resizable=True ) # Create the demo view (but do not yet display it): demo = BooleanEditorDemo() # Display and edit the demo (if invoked from the command line): if __name__ == '__main__': demo.configure_traits() traitsui-7.2.1/examples/demo/Standard_Editors/CodeEditor_demo.py0000644000076500000240000000326414046644454025406 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! """ Implementation of a CodeEditor demo plugin for Traits UI demo program. This demo shows each of the four styles of the CodeEditor. Please refer to the `CodeEditor API docs`_ for further information. .. _CodeEditor API docs: https://docs.enthought.com/traitsui/api/traitsui.editors.code_editor.html#traitsui.editors.code_editor.CodeEditor """ from traits.api import HasTraits, Code from traitsui.api import Item, Group, View # The main demo class: class CodeEditorDemo(HasTraits): """ Defines the CodeEditor demo class. """ # Define a trait to view: code_sample = Code('import sys\n\nsys.print("hello world!")') # Display specification: code_group = Group( Item('code_sample', style='simple', label='Simple'), Item('_'), Item('code_sample', style='custom', label='Custom'), Item('_'), Item('code_sample', style='text', label='Text'), Item('_'), Item('code_sample', style='readonly', label='ReadOnly') ) # Demo view: traits_view = View( code_group, title='CodeEditor', width=600, height=600, buttons=['OK'] ) # Create the demo: demo = CodeEditorDemo() # Run the demo (if invoked from the command line): if __name__ == "__main__": demo.configure_traits() traitsui-7.2.1/examples/demo/Standard_Editors/DataFrameEditor_demo.py0000644000076500000240000000601114046644454026351 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! # DataFrameEditor_demo.py -- Example of using dataframe editors # Dataset from https://www.kaggle.com/mokosan/lord-of-the-rings-character-data """ **WARNING** This demo might not work as expected and some documented features might be missing. ------------------------------------------------------------------------------- To run this demonstration successfully, you must have **pandas** installed. Please refer to the `DataFrameEditor API docs`_ for further information. .. _DataFrameEditor API docs: https://docs.enthought.com/traitsui/api/traitsui.ui_editors.data_frame_editor.html#traitsui.ui_editors.data_frame_editor.DataFrameEditor """ # Issue related to the demo warning: enthought/traitsui#944 import numpy as np from pandas import DataFrame from traits.api import HasTraits, Instance from traitsui.api import View, Item from traitsui.ui_editors.data_frame_editor import DataFrameEditor class DataFrameEditorDemo(HasTraits): df = Instance(DataFrame) traits_view = View( Item( 'df', show_label=False, editor=DataFrameEditor( formats={ 'RuntimeInMinutes': '%.4d', 'BudgetInMillions': '%d', 'BoxOfficeRevenueInMillions': '%d', 'AcademyAwardNominations': '%d', 'AcademyAwardWins': '%d', 'RottenTomatoesScore': '%.2f' } ) ), title="DataFrameEditor", resizable=True, id='traitsui.demo.Applications.data_frame_editor_demo' ) # Sample Data lotrMovieData = np.array( [ [558, 281, 2917.0, 30, 17, 94.0], [178, 93, 871.5, 13, 4, 91.0], [179, 94, 926.0, 6, 2, 96.0], [201, 94, 1120, 11, 11, 95.0], [462.0, 675, 2932.0, 7, 1, 66.33333333], [169, 200, 1021.0, 3, 1, 64.0], [161, 217, 958.4, 3, 0, 75.0], [144, 250, 956.0, 1, 0, 60.0] ] ) col_names = [ 'RuntimeInMinutes', 'BudgetInMillions', 'BoxOfficeRevenueInMillions', 'AcademyAwardNominations', 'AcademyAwardWins', 'RottenTomatoesScore' ] index_names = [ 'The Lord of the Rings Series', 'The Fellowship of the Ring', 'The Two Towers ', 'The Return of the King', 'The Hobbit Series', 'The Unexpected Journey', 'The Desolation of Smaug', 'The Battle of the Five Armies' ] # Create & run the demo df = DataFrame(data=lotrMovieData, columns=col_names, index=index_names) demo = DataFrameEditorDemo(df=df) # Run the demo (if invoked from the command line): if __name__ == '__main__': demo.configure_traits() traitsui-7.2.1/examples/demo/Standard_Editors/DirectoryEditor_demo.py0000644000076500000240000000375714046644454026507 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! """ **WARNING** This demo might not work as expected and some documented features might be missing. ------------------------------------------------------------------------------- Implementation of a DirectoryEditor demo plugin for Traits UI demo program. This demo shows each of the four styles of the DirectoryEditor. Please refer to the `DirectoryEditor API docs`_ for further information. .. _DirectoryEditor API docs: https://docs.enthought.com/traitsui/api/traitsui.editors.directory_editor.html#traitsui.editors.directory_editor.DirectoryEditor """ # Issue related to the demo warning: enthought/traitsui#889 from traits.api import HasTraits, Directory from traitsui.api import Item, Group, View # Define the demo class: class DirectoryEditorDemo(HasTraits): """ Define the main DirectoryEditor demo class. """ # Define a Directory trait to view: dir_name = Directory() # Display specification (one Item per editor style): dir_group = Group( Item('dir_name', style='simple', label='Simple'), Item('_'), Item('dir_name', style='custom', label='Custom'), Item('_'), Item('dir_name', style='text', label='Text'), Item('_'), Item('dir_name', style='readonly', label='ReadOnly') ) # Demo view: traits_view = View( dir_group, title='DirectoryEditor', width=400, height=600, buttons=['OK'], resizable=True ) # Create the demo: demo = DirectoryEditorDemo() # Run the demo (if invoked from the command line): if __name__ == '__main__': demo.configure_traits() traitsui-7.2.1/examples/demo/Standard_Editors/CSVListEditor_demo.py0000644000076500000240000001346214046644454026024 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! """ Demonstrate the CSVListEditor class. This editor allows the user to enter a *single* line of input text, containing comma-separated values (or another separator may be specified). Your program specifies an element Trait type of Int, Float, Str, Enum, or Range. Please refer to the `CSVListEditor API docs`_ for further information. .. _CSVListEditor API docs: https://docs.enthought.com/traitsui/api/traitsui.editors.csv_list_editor.html#traitsui.editors.csv_list_editor.CSVListEditor """ from traits.api import ( HasTraits, List, Int, Float, Enum, Range, Str, Button, Property ) from traitsui.api import ( View, Item, Label, Heading, VGroup, HGroup, UItem, spring, TextEditor, CSVListEditor ) class CSVListEditorDemo(HasTraits): list1 = List(Int) list2 = List(Float) list3 = List(Str, maxlen=3) list4 = List(Enum('red', 'green', 'blue', 2, 3)) list5 = List(Range(low=0.0, high=10.0)) # 'low' and 'high' are used to demonstrate lists containing dynamic ranges. low = Float(0.0) high = Float(1.0) list6 = List(Range(low=-1.0, high='high')) list7 = List(Range(low='low', high='high')) pop1 = Button("Pop from first list") sort1 = Button("Sort first list") # This will be str(self.list1). list1str = Property(Str, observe='list1') traits_view = View( HGroup( # This VGroup forms the column of CSVListEditor examples. VGroup( Item( 'list1', label="List(Int)", editor=CSVListEditor(ignore_trailing_sep=False), tooltip='options: ignore_trailing_sep=False' ), Item( 'list1', label="List(Int)", style='readonly', editor=CSVListEditor() ), Item( 'list2', label="List(Float)", editor=CSVListEditor(enter_set=True, auto_set=False), tooltip='options: enter_set=True, auto_set=False' ), Item( 'list3', label="List(Str, maxlen=3)", editor=CSVListEditor() ), Item( 'list4', label="List(Enum('red', 'green', 'blue', 2, 3))", editor=CSVListEditor(sep=None), tooltip='options: sep=None' ), Item( 'list5', label="List(Range(low=0.0, high=10.0))", editor=CSVListEditor() ), Item( 'list6', label="List(Range(low=-1.0, high='high'))", editor=CSVListEditor() ), Item( 'list7', label="List(Range(low='low', high='high'))", editor=CSVListEditor() ), springy=True, ), # This VGroup forms the right column; it will display the # Python str representation of the lists. VGroup( UItem('list1str', editor=TextEditor(), enabled_when='False', width=240), UItem('list1str', editor=TextEditor(), enabled_when='False', width=240), UItem('list2', editor=TextEditor(), enabled_when='False', width=240), UItem('list3', editor=TextEditor(), enabled_when='False', width=240), UItem('list4', editor=TextEditor(), enabled_when='False', width=240), UItem('list5', editor=TextEditor(), enabled_when='False', width=240), UItem('list6', editor=TextEditor(), enabled_when='False', width=240), UItem('list7', editor=TextEditor(), enabled_when='False', width=240), ), ), '_', HGroup('low', 'high', spring, UItem('pop1'), UItem('sort1')), Heading("Notes"), Label("Hover over a list to see which editor options are set, " "if any."), Label("The editor of the first list, List(Int), uses " "ignore_trailing_sep=False, so a trailing comma is " "an error."), Label("The second list is a read-only view of the first list."), Label("The editor of the List(Float) example has enter_set=True " "and auto_set=False; press Enter to validate."), Label("The List(Str) example will accept at most 3 elements."), Label("The editor of the List(Enum(...)) example uses sep=None, " "i.e. whitespace acts as a separator."), Label("The last three List(Range(...)) examples take neither, one or " "both of their limits from the Low and High fields below."), width=720, title="CSVListEditor Demonstration", ) def _list1_default(self): return [1, 4, 0, 10] def _get_list1str(self): return str(self.list1) def _pop1_fired(self): if len(self.list1) > 0: x = self.list1.pop() print(x) def _sort1_fired(self): self.list1.sort() if __name__ == "__main__": demo = CSVListEditorDemo() demo.configure_traits() traitsui-7.2.1/examples/demo/Standard_Editors/DatetimeEditor_demo.py0000644000076500000240000000376714046644454026300 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! """ **WARNING** This demo might not work as expected and some documented features might be missing. ------------------------------------------------------------------------------- A Traits UI editor that edits a datetime panel. Please refer to the `DatetimeEditor API docs`_ for further information. .. _DatetimeEditor API docs: https://docs.enthought.com/traitsui/api/traitsui.editors.datetime_editor.html#traitsui.editors.datetime_editor.DatetimeEditor """ # Issue related to the demo warning: enthought/traitsui#943 import datetime from traits.api import HasTraits, Datetime, Str from traitsui.api import View, Item, Group class DateEditorDemo(HasTraits): """ Demo class to show Datetime editors. """ datetime = Datetime() info_string = Str('The editors for Traits Datetime objects.') traits_view = View( Item( 'info_string', show_label=False, style='readonly', ), Group( Item( 'datetime', label='Simple date editor', ), Item( 'datetime', style='readonly', label='ReadOnly editor', ), label='Default settings for editors', ), resizable=True, ) def _datetime_changed(self): """ Print each time the date value is changed in the editor. """ print(self.datetime) # -- Set Up The Demo ------------------------------------------------------ demo = DateEditorDemo( datetime=datetime.datetime.now() ) if __name__ == "__main__": demo.configure_traits() traitsui-7.2.1/examples/demo/Standard_Editors/TableEditor_demo.py0000644000076500000240000000736314046644454025567 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! """ **WARNING** This demo might not work as expected and some documented features might be missing. ------------------------------------------------------------------------------- Implementation of a TableEditor demo plugin for Traits UI demo program This demo shows the full behavior of a straightforward TableEditor. Only one style of TableEditor is implemented, so that is the one shown. Please refer to the `TableEditor API docs`_ for further information. .. _TableEditor API docs: https://docs.enthought.com/traitsui/api/traitsui.editors.table_editor.html#traitsui.editors.table_editor.TableEditor """ # Issue related to the demo warning: enthought/traitsui#948 from traits.api import HasTraits, HasStrictTraits, Str, Int, Regex, List from traitsui.api import ( View, Group, Item, TableEditor, ObjectColumn, ExpressionColumn, EvalTableFilter ) from traitsui.table_filter import ( EvalFilterTemplate, MenuFilterTemplate, RuleFilterTemplate ) # A helper class for the 'Department' class below: class Employee(HasTraits): first_name = Str() last_name = Str() age = Int() phone = Regex(value='000-0000', regex=r'\d\d\d[-]\d\d\d\d') traits_view = View( 'first_name', 'last_name', 'age', 'phone', title='Create new employee', width=0.18, buttons=['OK', 'Cancel'] ) # For readability, the TableEditor of the demo is defined here, rather than in # the View: table_editor = TableEditor( columns=[ ObjectColumn(name='first_name', width=0.20), ObjectColumn(name='last_name', width=0.20), ExpressionColumn( label='Full Name', width=0.30, expression="'%s %s' % (object.first_name, " "object.last_name )" ), ObjectColumn(name='age', width=0.10, horizontal_alignment='center'), ObjectColumn(name='phone', width=0.20) ], deletable=True, sort_model=True, auto_size=False, orientation='vertical', edit_view=View( Group('first_name', 'last_name', 'age', 'phone', show_border=True), resizable=True ), filters=[EvalFilterTemplate, MenuFilterTemplate, RuleFilterTemplate], search=EvalTableFilter(), show_toolbar=True, row_factory=Employee, ) # The class to be edited with the TableEditor: class Department(HasStrictTraits): employees = List(Employee) traits_view = View( Group( Item( 'employees', show_label=False, editor=table_editor ), show_border=True, ), title='Department Personnel', width=.4, height=.4, resizable=True, buttons=['OK'], kind='live' ) # Create some employees: employees = [ Employee(first_name='Jason', last_name='Smith', age=32, phone='555-1111'), Employee(first_name='Mike', last_name='Tollan', age=34, phone='555-2222'), Employee(first_name='Dave', last_name='Richards', age=42, phone='555-3333'), Employee(first_name='Lyn', last_name='Spitz', age=40, phone='555-4444'), Employee(first_name='Greg', last_name='Andrews', age=45, phone='555-5555') ] # Create the demo: demo = Department(employees=employees) # Run the demo (if invoked from the command line): if __name__ == '__main__': demo.configure_traits() traitsui-7.2.1/examples/demo/Standard_Editors/FontEditor_demo.py0000644000076500000240000000412414046644454025436 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! """ Font editor A Font editor in a Traits UI allows the user to select a font from the operating system. Typically, you then pass the Font trait to another UI editor, which uses it to display text. You can also read the Font trait as a string, or access its individual attributes (note that these attributes are specific to the UI toolkit -- QT or WX.) The default 'simple' Font editor style is usually the most useful and powerful style - it pops up a font selection dialog which is specific to the OS and toolkit. This example also displays some other less common style choices. Please refer to the `FontEditor API docs`_ for further information. .. _FontEditor API docs: https://docs.enthought.com/traitsui/api/traitsui.editors.font_editor.html#traitsui.editors.font_editor.FontEditor """ from traits.api import HasTraits from traitsui.api import Item, Group, View, Font class FontEditorDemo(HasTraits): """ Defines the main FontEditor demo class. """ # Define a Font trait to view: my_font_trait = Font() # Display specification (one Item per editor style): font_group = Group( Item('my_font_trait', style='simple', label='Simple'), Item('_'), Item('my_font_trait', style='custom', label='Custom'), Item('_'), Item('my_font_trait', style='text', label='Text'), Item('_'), Item('my_font_trait', style='readonly', label='ReadOnly') ) # Demo view: traits_view = View( font_group, title='FontEditor', buttons=['OK'], resizable=True ) # Create the demo: demo = FontEditorDemo() # Run the demo (if invoked from the command line): if __name__ == '__main__': demo.configure_traits() traitsui-7.2.1/examples/demo/Standard_Editors/HTMLEditor_demo.py0000644000076500000240000000464514046644454025304 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! """ HTML editor The HTML editor displays simple formatted HTML text in a Traits UI view. If the text is held in an HTML trait, then the HTMLEditor is the default. If the text is held in a Str trait, then you may specify the HTMLEditor explicitly if you wish to display it as HTML. The supported subset of HTML tags and features depends on the UI toolkit (WX or QT). This editor does not support style sheets. It does not support WYSIWYG editing of the text, though the unformatted text can be edited in a plain text editor. The HTML editor can optionally be configured to do simple formatting of lists and paragraphs without HTML tags, by setting the editor's 'format_text' parameter True. Please refer to the `HTMLEditor API docs`_ for further information. .. _HTMLEditor API docs: https://docs.enthought.com/traitsui/api/traitsui.editors.html_editor.html#traitsui.editors.html_editor.HTMLEditor """ from traits.api import HasTraits, HTML from traitsui.api import UItem, View, HTMLEditor # Sample text to display as HTML: header, plus module docstring, plus # some lists. The docstring and lists will be auto-formatted # (format_text=True). sample_text = ("""

    HTMLEditor example

    """ + __doc__ + """ Here are some lists formatted in this way: Numbered list: * first * second * third Bulleted list: - eat - drink - be merry """) class HTMLEditorDemo(HasTraits): """ Defines the main HTMLEditor demo class. """ # Define a HTML trait to view my_html_trait = HTML(sample_text) # Demo view traits_view = View( UItem( 'my_html_trait', # we specify the editor explicitly in order to set format_text: editor=HTMLEditor(format_text=True) ), title='HTMLEditor', buttons=['OK'], width=800, height=600, resizable=True ) # Create the demo: demo = HTMLEditorDemo() # Run the demo (if invoked from the command line): if __name__ == '__main__': demo.configure_traits() traitsui-7.2.1/examples/demo/traits_ui_demo.jpg0000644000076500000240000012430314046644454022265 0ustar aayresstaff00000000000000ÿØÿàJFIFÿÛC     ÿÛC   ÿÂà€"ÿÄÿÄÿÚ ðP(@¨rÎïˆAT@QDPQÀ :e÷ AÛqt#¡ßàR€ ¨*( zž/,>ƒKçsi‹Þ :G8ôn> §Ìd TPE@p‚ JOØš¼pt¹½)èi;§Ï_æÞ£J€ €Šñ.Ik»é¸ñ_©|ܘµ¼ïvØòO8úr.zgÇÑß;û¯…âÔr5[óåïJèr¶¹xíf¶ÞWw¢Õ>o-Uë  ƒQÈ ¨ €¤úúöáœ[ØØqt=¼ÐÔ·O‹¦†ó è¾ùï£yaà Rˆ /²xуêx¾]5M±üö›/Ó~Oç†3é\ÿ…êòƒ*µôÇ“ùù¦}žñTß¹|¤VÿÖ~gzóŒao¿x]R¾ŒÀù‰‹Þ;¿5mý+çã'¿y¾$_qãy9#7P RF‘£Ðj9ЀЇŸ­†ÅgR»ÇêpÎýæ £‘Jõ}Õ=Ï} ÷ö/Q>ÇùÇ&ú²l_&ž—ëÙ_•ϱ<O6O©0&C¶Ôë|®¾Û¨Øù¨ôÍ–WÀ4ÞÓÈÂaÛêø¬X|¾÷Ôö>o>ò;qÇÒË„ù¤ÕåwЀéÇj"³'Œ…²0c^Ѩ ˆ Ñ:;YúQÂò‹zî'­OÝèÓÌ^Œß/·‰æ^­æ™L¿M˜§z˜ú‘ë>íÞyÓÊ oÑÿ*nù¦íÞs‡>¨Æy â³è_9÷jIðξOfÊa³±ï]ß"§ƒMÙñ~¶Ç¶ùg;Ž{&ÛȸÝMzƃÈçW¦ô<¿Q‹×<Ÿ•=FN.TÔú?€öë}œ­„·èŒ^_•‹¹…ìr7€2 ¢ÈmÂUŠÄEvM^Á¨æˆ*z¿;Ðâ·i2Û0èût[ÿ£ÇA·lüo¡A—Ù”Îy¯¥yùÇíð¹.úŸ—z¡è>!ìÞ(aæÐhÝHTߤPQPAADQ@U4•í×+Af¼sDDÉ1®A5™¿s:9+ž0’û¶{Øþ¿D¯â} ˆ%W®p0[¬NÌr^wé>g“±ê~_êF¯Æ}wÇŒ[UêïAÕk|o¯Ên3¡ñþ“å=—“vxvkß¼¿ï|<8³Ë€%ŠDßIªr×#tºW›àìr‹Å˜ ((¢( ª¦š½Šåx'€‚)b#cØ5ª‡[Ó¼çØãÁ·Ñãï\çÛùÉy®Ž”\ù°ÊêU„çcôù˜åü¿Ô<»&‡Ô<ËÓNÇ‘ú§’kOAù_S­¥åèüg±Îzw›ú=åÃù7ºeú±óšº¯>û¿n_+©è> ï-faÙ>1FÊ Ê*§è4¢\ˆ€T«ÒûZ¹w5÷?VâÍÇ©äý|ÜnÇó³A·Øüß°òûÁ@QAE#‡óW!‚XH¢’!‘½ƒQZj>’ù×é¨Ê֭Б隸eÕg.|oRZÅ·Vš³ü§+n9Ÿ.ôÿ/­G¥ù¿¤<·Ó<²^?c9Üãìú*×#?à=çWeòÝŸ©òþ‡¡äŽ.í—k±]<¸à=ï†+i©‡På˜ìêÉÆt˰Ú)qèMÏë÷éµqizŽ}'+¹OÝsbò:ÜFŠ˜S³Æëø¾‰<7P¢‚Ž8®;ç¬C °‘E$cækšn>£ù—êXò~¿³e$¯gNVJÌ®¹ZX´úóVVš»qËù—¥yµk}Ͻo—z_–œ~… öØI™ó~•fã~¯:K+2KQ< ùÀP µè5z»íMï¹9üîž'c)•}-Vr7oÅÝNWOÍî´£¿?ëG#G‡‡ˆõyЯj±Z Ç$dl{ESÔþ‡ðÿd?»BîXsæ¥s›ib'’¾iö ’±ík¶ãó¯@À› îpVòoUóŒ÷ ù+!jz3žLÖµìã'z¾Ý|’í1@Q@Ä¿HîÇÑðü*^§C*Ké?/g—./P;£|ãw¦vŠ(î Å$BBí[õ uíÖ+Å<$l{Ú«Ó=ŸÒð[8Çôy—òÕr¥Ž}²:9I^˹ö.Xá¤ù0ø†DÙí1»—úo—•¨=­ QoPé éõñÆëOãN¯páy®»«e½{aqù˜ú§…_9§—2£Ø‚9b8Zä­&š×Ÿcy/"èö_'?+_kÏråæÎÕñ>ž;³èðy HH—©tè”+]ªU†Ä,‘„}Þ”÷í ¤ÎÞ…SŸj¼ÚvKq”’fEV¹ó׌»šlž{›îqMž·)ª9¾]éþXFÕm((ŠkãÍzÃlœúw¨*Y¨A^X!‘º:»ø—Ь­f\±š>ƒq°¥ÔZe ª¶ƒ·Ã™nO[ˆy_SÜ6}žGTàà÷š¦×4ÇËëzœ®—Í~×o;ÓÉç£9F8²4Çc˜¬JJözOÆ€.¡Üëɞׯ”:Lö'ß?ýGâz6-Àg<—G®ÒðÌÖÉé¸;àý}~º¾]pôuÁ[Ñ“9ëþÈùÙ?ÐÆKÙ$³³‹Î·@­RÅR'€‰®aÛ÷¿÷(Ñô(t®3,Veö«ÍŽhÜÿÎLö·›<ÏCÒ›.—>ñÅìqÕU’F +ØùuÕòÕ>w³íq"fÎ(æ‰2çµ%I±ßbzögžíó<ÁJNïдsIç=þ´¶“þE­?ŽèÙ fÿ\¶Ni½¥¡¢±iûMy¦!lj¤+á¿§*'Ò×;® Œôëoë¢é¾sTYɩёY‰Q¬ë4ÕaEÕ×é *+•×Õ´41¤j«©îR.þîšÚ.€™”½³¯„¯‡Ñc?Dº7"¢}:í^Ö1S+VÓD‘S¡%Eå.¬`D=<†õTrUâjët­mlêýLÕµBj®­*k”ÕdÚë&u,&¡YõñçUÃÞm³‘a)±”nK~  W&½•'`mŒ‰Eà:žÇˆ>"Šb ž¬’™Ÿ~$~„þ8¸–2uDMw§Q ØÔ_LŠï^À“1χ?‰®›ÝA d[ùpìuìÿÏÞ ‰O|=û7¯¦.ªÔQWgY¡jdÄ-M%/\jµʾûõî=s d • !ËyˆØ' ¸lXN]ŒšÊÎY5% ³NÀÛ9œ‰ý‘^Hx„‘S+.OÁWZ¾jëfþ½œÖóÝ)2˜íEäªuÄÛEµä«•×k UÑ#Ú¹ÖÛTH¸‰Wª¤ÔÃ=sg×ëë-ÙëYöHª³r¦m¾£~æ5f«•W ç2fÏĉí7m¬§Û"ºÁÚ¹ù _£P¿NÕ¥’í¥T_H§µõƒì¯WÉz=uƒµ’]É6êo^§nÒÅv’+5LÊÔKÖ³$·ÇY¿;TÈžÍMÓÕÊÅvouÌ2ä¶Ú]mqFe ’¨.>bý%^ š§†FXhÔfidMÂù ^±E8}X‡r~½Ø™É ©á¡¶‰#TÝŠZ¾mtµ\s>À„šÖi  Óñ¤$H!'ÝT‰jÄ;¶}F >ñ9 ö¿Ö˜0`ÁƒëPUs¯%$‚Ô/bº ¬dRÕ“NÝ¥•¹éУ&Ëh¶ûH!#ßU ÊúKƒîŸCM-åÖiü èÄvS)ÛÌšÖ$i–ƒÚuÄ œŒ¯õ 0`ú±Úã¿´EbÎÑ#øÖ³)jø¦Ù7¬ïQwFp²AE±÷_C¾øžµ‚Á_Kr`ÂÄ]e+qP–¶•aš”]çHy5 w?©¼ó'áðaÆ@ž J#óÌ0`ÁõjK6KK-N˜åœªz³"І 2߈öVÑÄ$ŒädîØû^½«÷Äõ­'ô÷'ÚbvY]§l'ù¸ÕeþrWºôžä9ç5J ¹9?¦ez¡èã”Päž ehósÞPn Ü À$‰-IÞýô´áîóL0`Áõi 3*ôÔ}CËIµG:µ“ŒÞKdG›%à» *Æâ#ˆå¢¼WDß¶rº¼XŸƒryz *£Ô'kM¤4Ñ4ÝQœ”}÷Šèë94±Ö,á7 ¸ÆFÅÜØãõ4ã<%‚¶Šc€°|ƒPã˜8 „’#•1Ê: —Ô…™Sp’€M˜Žë}êcõè.ÃóL0`ÁõhÓßÑèÅeÒHî.×64–\Üü2ÈÜÁáIA Èþ¡Áaö?úC÷@ô±?ÙÕ¶ùJq'U!Ù¨b ‰böDÖÔµ<“ Pxj·ÖÉÈ üCrLm#äƒyC~á±&t£m"ɵÂÓ5Èß‚¯^’ôó 0`Áõi i”l¥·stø©43(È4£I)ò@l¸dF70G=Y”±gÙ?rº¥÷n>ø¢ýÔœRoT–µ+¤Ô¹ ß%`¬Ò±xæôy¤£ R]!ÆP)$!p¦8å>GÈÖ¥G‹Ë11~À¯wK~Ï0Áƒ­T[aT#‡Xú·<$9°ã¥n23Hᑸ@ŒdJVd¬[~+_rº¤óçõºBbͲÔkx}NzŒ$Èg· qkþ•!ýa$l¦²Ñ¨š”£íécíùŠ ^q¼®™¶–•¹)~" ¢ >¥bs7H'3®Uß4’×Ýk‚ž.p»BnØÁ-Ñ#kqR jCîEC^×ýò¾ÿ^¾Qód‰N¶¦\ÞcÃ0ˆÉÂÕ70C?rqõÔü–Žä¦|5`Ä­%£—¥í`‘¤Ò}L u!3òÚë'øÒ™ÄÓ–3Do‡ÒÖø~ÛÁí´›ºb{Aè#õˆ  DAD 0}4éÌ­ží©æ[G™oûJ’eÙІGÔhl ܉gôÉ5!öÅC~×½Ïýß"±_01¾r?Q.­#FÈ…u>‹ñ í¤Åø…XfW~àÐÐ,;áé4Ñóó*¾Lu)㓲e>ç»@ØÌ>DhBÓ± ’b ƒÌÄÈ8ö s½ÄPô(²Eå;pÓÐ@ D‚È(‚‚ƒÓJžö“NÚùêÌö8J7&ƒã…ÝdàÞH,ädNBŠ"B†£?/¤/D{]õ_jÏÈiÕ0ëêK­XÄån:ÝèxI¥(l×ÔF—Zí[aUÄÈrËH9¶9„(4ëMª¬º†?_Ht£êê'Òªº‹a7@8’›BôE.3ˆa1ôƒØjÔ ˆméwÙ3»dïbÆFEÂx:  ˆ DAA@Áƒé¦O§S²ªv{&àÚXކÉ{`’–¬Ìz4¥6HLj„5æD_H^‰öºÔü;fˆRŠ©$û[h’‘{øunbµk<›† Àkv—J[cœYŽ+F"Ù¿ã뛆ˆõE\±Éé‹Z!ãRfjÚWñÜ[:‚+¤J%ý¶½ÙÒ>çL¤ï€@"@ˆ ERq ­<:÷T•>M®H8éØÇ fkèCjXm’@ÀÀ¸ûbðó.(‡è^×ý‡ëåRäâ¤$_~iý‡Úf Á‡=6&0PÞ1È<9W¨|´Ç$ÚA“8æ m¶!j ½O:IC~¦“ËÒô¶¿'ît¯ÑÔít D" ¦½„ÑpÚB7‘# q„¼JQ6IŒ·VˆäChÀÀÀºö˜Y‹sÌȧÿ™?hý|ªOÄHH¿ü:ãú7µ<œ–³ÍÇ0a$vNçß1ÌHPÌ¥Ó¬‘ɬ& ”‡ › á B‚™³øT³ |-a³­ÓëÚô5 `äzôŸ¤Ôí–@"@ˆ  L{<3À3R“ÝS+p5 (Ñ´m^å YeÆ=Û+ìyXŸ†BûðàÒ,ûUÚ8D1Ä4Ž}ÑóŸSÆ ÅK1xi²•ÍJÈ«_ɳÊ:šŒ»w£=‰ÄÒ" ’ 1‚ܺæþ¥îÖ\]O†ÊÑ´mFÑs÷Ö10ó*0‹è¯lÏÇP?*ðȽü8Gô«>Þ“ëÔ²•<ûÇCkØäEoŽ2êH.siÖâNI)¾(â! Ä-ËêH@ˆ$‚H,,((0}¾mb dáªLpÔ8 @¢Lt"II˜Y…§N§3 zBíþMÇrDŸo^ÅY–ñ‰Šðý^ëÑÏm㨔¤î áŽQC•Xå\`¡‚Š‚I6#¼SãÈciôÃk‘…c%K!3“$ð§‰qiÆ2ìë @A$AFaF Á˜>8œ9í@2ã:¢7œY˜#ìÜ222222&/219^ >äoXáßmØP?ê0é°ã›d"›U‰³¡H´dfcl‡)ÙqJ£@«Š?ÒÇb<‚ @‚BBH$‚H)AF`ϤÆFŸìfãBWj•¹çâoÆñ¸n†á¸>¼­å x }Ⱦ¬}¶_i@ÿ§€DªÛ[E'“Ú‰IµLdö)[RÙš#FRÈ’âˆøŠ1¸n!¼n1»´–‘)ÜERƒŠÜëÕŸG…P?3M«üq#{cM>¤âñ¼’ €g×An\2Ý1óðwön†Fá¸n,–®09ilI²im)AÅ çÝëÕ¯GE¹A^f:4Û¤˜Ê8Ø“5¾—‰CxÞ7 ½®y$ @‚BBBBzñ tšÂÌùᚈ‚çÇl*ê!^²x³o,ÁϘ n¾°mÁ0ÑÂB”biöE~Ž‹z‚¼¬ £hÚ#Ï\V•tøUÜ€åÌ¥?(Ù ¦I&@Ê–01ä @ ò+K2âËå›f¹(0HJz22227 ÃpÞ µ †"ˆ¿G¶ÜP?#hÚ6£hÚ6£hÀÀÀÀÀÀÀÇ\$$$$$#Ȫ/Ï·#########pÜ2 AF%˜Š"„z8}³>âù@ˆ £hÚ6£hÚ6£hÚ6Œ y A!!!!!>EX3aBPŠ#bϽ$ûê× D4¼&eŠøL¹¦féžF3ZMÅ¢ª1.ÒÊ…ý7Áí PƒÓn‘7§MO&…NN^žQ* ¹‡ŠÓTš±€uò¤Ò”¥–ž&Ýrª‹GB¦ØiÖܵŸNQbWÓèoiâbÉz_d˜”&Ú JÖî&,[Ó(fÅzy2lmjT¢HHHHHG‘_ØÎFFFFFFFFFFz2 „‘FôIö,û_>ú¼‚B¦ÍÚ™ïNDOÔQ¿P)mD|âÊ‘z·ØzÝ×leZœˆç|ù¨¬S~z÷0vž,—Kì\©–•fâãXK; %xòzÓrÛº[v+ÅsP¸s§Úœ¸ÌØ©ŠâÔîsS/’‰z…ÙVöȉú™ Ú9¨œ[ˆÔFÜ™óùå‚HHHHO‰je¾}Â1bS’`¥ Ç0‘ÆHâÜ2222 ’"ˆþ„®ÇWÚéäϬ@"@ˆ II‘´f£(n˜Ú6 ë¤o*÷ÖĘ/D= Ò †Ü›­)¥³r]q³m~A$HI„Ÿ—´Œp’8 ÃXä7ºC˜YlÁLàæ‡0<ˆ¡§p\~Å;•,T@ˆ!O™Ÿ* *Žã1R¢ƒé¼£k±q— ¬Ôw'¤ö¸Pã½*É–Ê5ltª†’äþ9&"ÚjM’aÇ\øMÇ–mŠå’8Þ¦ÏÌêâ¶ËlBaH(›R#Brmm{)… FÞ¼‹ÉÙô @„˜I„Ÿôð8i\‡. …¥Ä¼á}À“<šºÄ"@ˆò“â8 JX#QËRˆÔ>d­„œRÌw‚ÍK”ƒRîQ(Ö½ÄjAš×¹F­®­nŸĤžq³Þ²g2—œl6óŒƒ=ÇÔ @„˜I„Ÿ÷23Ô.‚ ’ ’ D ’ ’6£hÚ6ƒH4ƒH2AD 2@Áù Fa&èH @III$‚H$£hÚ6 Ò È ¢@È `ü’‚0“ 1ÿÄ6!01A2@ "3PQaBpq$R‘±ÁÿÚ?üûl¸äÂß“Í!'¥ê(„M°ù4Òôò•=1s¹ù4²›r ˆß©&ÿ&sƒ"¢a•ÝWþÚ=-‹ ó» ?ŠuÏ„h|•' l>ü™• ÃSàŠ_Uo…‘#ÊÚfV„&Ðp:ϼÎÁÙ,4)¨žû<äš^|Iÿ*ŠC?¼B¨¤ª‰„—ݺ2;ºsœíýˆÆ­­  naS½î™€žéî Ý ˜±\¦ÔF튮p4ÎöƒþË?µ{‰ø-š´eqyf8±Áò}s¤ñ.³S¤ Oïí£/…[–¬¢ßTnu1ݸN“†!eÓú Õe…ªÝmÖ¦ãÙtܰ‘¨Ýµ¢†IΛr ôz©þô¤7ý¯åÙ‚_òžV7kÝOÃjiÆ)@ö£`"å ‚¿7´æibdìk² B˜rWUOi…íqíìf¬…û&¸÷ó¬øLý“dÍ—¡ªªuá’ÃèÀ*÷.ä³Yó „¹g}¬>?@¥ 51ã Ä9'øÊOJo¤v0áp)¦í”vA¼Óê("¡‘Œ`…\.-[QO;¬RÏ$¿Q×Rl™éí¤v:v·$}ùçÔSQ ݃nÜCÏÄ~S Ÿì,R?Òij$è¡áoÁª<6@ £¢áí-¦c]Éþ몲è²]Ø-»&”BÂò¨Zë_»»%‰“7 ‚èQÂÝ‚îã¢îá„l9Ag5C"sXÿÔª*ªsK– If.Â^JŠ®¨Y­z‰Ú㯰éÛut9üoFF~ës±ëL!¢ë†ÊçÔãÓØbÑ_´vXKwçñÁù ?t›æ*ˆéP=†×åü,C£Vcº,Çž¾ÂxPÜ/étâ7`»Œ? :X¢8š=ó„]f6öY7²±f³åf³å íÍb24Yšxi±XÛk¬Ö,Ö¬Ö¡#I·¹ b²Úƒ6B6Ž‹-¿±Ph, Ì>U–ÔZë l„lÜbm¬„M1 Ü{£¨Y'åe”bwBŸ#t" ƒtè‰7ºÉø+(Ûu”~Qˆ–Ýe•’~SXZëßöÿÿÄK !1AQq "2@a#03BRbr‘¡±Á‚$P`sÑðC’¢²%tƒ4Sc5pÂáñÿÚ?þ+ƪ¬!êiiíþ ¢(ö‡Õ$c pþ ¾{´ '€ê3>Ù$x’‚§Q–&šgýÕPØÚ÷Ú£X›e¾¯&ÏãÔ_ë¹;Ä¢‰²Ôb*JÌ!Š*^;qÝòZ«8:°ÁÒ8ŸÝØôF‘¢©ýÝJ×ñþ²1ía~-p¨Mžk$ ³ÙÍòÖÆó°ïb³6ŒŽÏz¯|qÑÀn_°Ù¢l"®=ë[5‰§s({”VbãGcPŸ©²Á¨ç20 lp1ì`×86†¸üÔðº(…¤°Ý{™W|׎I´Ú¤<Ëø†w'¶×àã{ ‡$±³U^“)‡wî ÐƒF€‚)z•¯ãü(þʱ1;<\yv7bên õ‹Áñ h$-«¾iö‹X!ò;˜=ßîª?ç3ð¤âÕáðù-ca‘Ѷ<\€ÍY¬ÚÛ3ùÂóÀü¦Xd³½“v™¦JƵ“^ºë»uTôŽ‚ 57¥$Q5¥¯7S$‘¡¥­»‚ŠÐÀ £5F)XÜMj&ˆÝ‘† ¬"míêBúI|íØ™nÕ#Hu6¢‘çÔ#$XÞsNÕ%Ñ m:KVÃz/dì\ÈÃNðUùOwîc²ÙÉ(‚›â?ÀôÙµPrB 1Ø¥øð05wçÊ&Äÿˆòã´Gz·´< ÉIºLqi¢m¦ÎÆ:'eW€¤³ÍA#3¡¯še¦ã1?YRA-5Œ445äK$0¹ñÄ/=ûßËdçUgkÅZ&u >HE3£sˆ¯“urßwHè©É<úµ ÒPAòì?ÈgüU«ù®û¨8»þEZccKžç4¼Ð¶Û ±¼ÿ–yÄ'Of´Em -S‚d0°É+ÍÖíCÆíÖ{,‡ü¾‘ Ö¦:;e™½'C›x„ø`’(ÜÖÞò¤ÿDøh³µ‘²ûæÝˆÙŒìž‚·™¢Çð~Töv×I5À]’ˆ5ðZ_+ƒZÈI'ìˆÛ9´òÅsâƒMÈ-µÖe‡ÿA«ˆ\,«rBÏ4‘ÈâÛÕˆš&Ú-2G`‰Ø·[Ò=ȾÉj†ØG¨Ü e“ÑJçÜò›j‚1-žWÌû 1ÇÓ‚Š&ÛlòúÎŒ¢†A—psŽx…ïµ7›VeLÿ*“Ûìñ¿Ù)ÖˆäŽÕ1uÌÂd0°É+ÍÖí_´Ú᳿ØÎˆÌ×2Ós1æ!†I^hÖ·j¥¦× {ŒÕdðŒÝι}ݧVÓ†Ôxé( 1a¦>AŸek­wÝYÉ©wüŠu¥ÜæFö×ý!4Kk’7Pè\«à¿ ºS«bSê­óÊÚZbæc°š×웬ð«lE¸Ü-$’™f’ÜËI¥×?*¯ Ç£mCiºò³CgyŒ¾®qOšW^‘Ù?‡ò‡ýÛ~êyà7dÁµÝŠœÎûîôRO®IpcÜ¥-À²æö+Ž;[wxÝR®>Ú,AØ_"¸)ð«-xÕ˜B°M JZ]MõSÍ`ÐT.3}q*WÇÍsV§› _j‘¼ò=žÔÏñO Ãg ÙIü(µn2Gpçæá½[mÒFZwV¿Ñ5‘ͨ¼HMšh)xíVÛXJÚÓejªÿ‹)­ 5QÀûKgx\üª¥`É® u ÐƒFCEÆôÏÑPbJ='@Rðó ²Z]vçAÇ"7/žÊ×K´±äWäSb†ãn²(Ö¿Â1™a‘Õx”_±Mþ6bPã%{3B#ál”o‘Nà¢Ó ¤6—s»7(fu¿Å¦fš/RÏ+FbZk’G˜cæ‡Õc|OGMŽ7ÌÀ븊åŠ^¿öÌÕ¡±J×[€=ª×®‘¬%„ÄçÆàö7„rÍu²Gu×s+,ž•Ó±¢ñ/"µ©¨ù#öUqfÒŒÚk“;÷®}•öV˜l­”zGW½JØ¥kˆspDNAáZÙÌs®l*ÒÉ]pÊ×ÊÿTËD¾Ô5½&]­T1A+[ ƃ¦l¾‰ü×Se$å¯o¯(ìÖx£’à§”ÅÅJé9°ÏÒº2L—ÆõNU¢õB£[$’Jë1qëT Þ9语°"N$¯þCô@'@VŽøZîíîÈ"ãòWÝŸªºQÌØ7©>.U¨öà:ž€ÏEJ ôc%}ÝõWŸèÆÑjÙƒGÑ?Žƒ hµwÿ·44j#8zÅn`Ì Æ‹¬@› B”WÞQÐtÜ­»$S0I‹NÜtž Œ†gú«¬±4{ÌyÃê˜ød×Xåè8æãÔ|Y²¶yÏvåcŠÌ\ú‡_‘ç¤påx»el 6óžíÊ͘¹Õóßë¤øF6HjÛçP6±Ü3]©é¶*>iB0þñB8Å]¿zºÞ‘̧lhév€7]‹ãü+_÷ ÌÖžlœ× ø)ë› \>hxNÝ´ÊÿE º o(XM† Qv¬y1Dߨ#ÔcI¢!YL–,²¸)$M'3µ†Øìñ>qÓ‘íç<íÿø£ð¥®ÌÐcÀÂÑFÈvUcb‚K;ÅJ'ø1»d5“sg±D}[îm缫òY£‰îÙ¢m×4¯´ÇÚ»Àµí¼Ó‚†Ýk±ÀÈ¢$6£ ;Þ¢çXà’Îñ…ÖÒŠ[¤—Yà.$V—À8(Ûcð+]fß5§ã’Éâö°*ÉYÒâ¼]±Fmœâé.óƒk½6;lÈçrIb½÷VÃ=šE)­Œ;b¾Ï m“_Gƒ¸ªµÛ³f(¹Æ ½Ìj´VGæïïbÕ3`«ˆÍNa‹ÊºÜ]´«£‘ã èho ¸‚@x&ˆ\ˆþ¥~íÓ’g¡ú‚Zá»rçÚ&gðú9õ¿Uñø@kb—Vv~h¹°Lï…—þÅyKÑÿ1Žoá`æ;õ/FO V,pîóØŠÇD>ëÈäPõŠîj—Æ#C]†¬Ñ68d|ׯ³à®ÓÊ»j-oÌ®g8ì%]n.ÚUÖç´éª£:#7&ðÐþ;di M¸ci+ÚT‰½èè&åbȪ´»:,“µLÏ…åsæÖÿ5ÿp¼¥ŽÉ'þ+¿j,l!ŸÊ•ãòV"Õëkÿ Ýÿ’Î?se³;½íü,«ðJ ÿ4~•é@ø ÆRèW†+8wr v,¹fN@뻲‰ÎöžTÍÀ5­Eƒë9“@Bà¡?Eu¿>A]nwh“† !wÙU®;Õ›Y#ŸÎÚtãÚŽ+=-ø¼Î_Uë.›‡Òa⺠ü.Xk[Ác!ýA”î-^‰‡ár%¬{kÞ±?6¯W¹Ê Ôh¶7´¹)íV~ÚŸªŸ[*(N+œ/Šq®{Ì“€uI(r¢N€»´AÅ`ˆY"t¡Ø•Î%bWIt“8ùì Ò;æ²iý!c‹u7Od…`þ ½föáýScÓn‹c}ÞKz¿¬Íÿã ϨžOnz WÍ–4í‡è~ #¢)ÑGÍgbÄè‰Ï6ûNñ£5Íq\çW©wr œ­äޝÞ¾(Î$8R­ü €¥_±RµA»NÎKT‡ÞÐî@OŒ´ ¿õs¡;û?¾ÅtàBßÕ¦¯xS›<§?\±ÇÚЭÜ*ï9mÉ0…ìôLôþjr5Ðî:;ù2òrM‘¹„'Ž­sý #nõ@àöì#ªF÷4*F ÊæXìUs‹o+UŽ}X êÊ7:ªNÒÕEÜø¡…8.ki½ÜŒ>kyцÚÓßÉW9µXÕ«› XcÃABwWωíâÞ¥!`A]Ÿl·1ÚÉ È#­8¸¢#`Á¥s8,«Ç¬D=äÓì´•wÈ9Q¹íà>KrÇŒ*tî ±SnåWü“ƒq4ÒÞLœ|Ã¥ŒôsBkªCNEQí·Þ\ølN!s¤†»§„È]*°·¾Ïh¯ÑÿÕs-Wî!s>¢¡U KwÙÞ$û+²ÄøŽç¶ž}µôlç:¨Ýè4\òzä}˜©ß¹”ú«;{IRQ»¼5EÅvîXèÃ/kF<ÆýT€{'K9/ãæ=ƒ‡bu™ÞŠ^tNE§þ+Ó‚¬6‡ÄxÑy;V´{دú‡‚a˜ûl\®É=ªËîÍåYõª¬.ðu Ÿý¿ ï§ôDÆ-V~Ñvfý(U!µA)ö^LNÿr¬¶nûM‡Ì,E<ÓbZ%ÅýŸßõToA¸ b¼‘ôÞîhúªÏލD²iìÿ÷T©•^CUlþD Ÿ–jí¢ !>ûiÉ2È<”<çWn௠¾iݪô·lÀûX” åóžÓ@¼”1Çðµd²Së6œ)ÛD%‚¡™8¥)ìO>Ô‰þë.s¯s)±P.\v8­äüÊçà7*ЦgpN$Ó°io §qó-‘†ëÚj °·ÉÉÌ´Gì¹sqØ´®kV"Šöek_[õX8,]x{Ø®| ý8+ÑM5ÛÐÔøO\=™ ~êžðMžÖßjí ¹ûwƒk±¯¾Ï‘^BÛàûCŽÉ™©wûh¯Gfš›ìò Gàªw²VÑù(l×îÔß•ÎÃÉ—…[d³’Wyð¯RûÊÚŸªµTÝÝ4à¨Îc7£«4÷•ÑÎÞâ¨Ì½¥¼ï[†`}V‹õi‡y³ £ \”níR@ù5±Äò¹­ADvòO#šâÞs®¿â ‹{XUlÖéaÉáï£kôEͰM`~èå«Or†þ =¼§Ç¨ÅÁ4{!’=§ ¨åu¢ñöZ«z¢½Ê§œy1 '@Ñ'8Í%;Žƒ­~­´Ì6«5Ñú,#Å`À>k/ºËý«‘ð¶‹üߚƽîX¹¿êNpsn·3¹Hë âO衳‡ÐÈàÚ‹lopUu©Ä«·Lç|¦ºAíC‡&QÛÔlìàø&–Æ  éz¨ Ñ–ÞÕË—ì:\‚$áç¥ÉÜyþ–Ïô…êÐNœô®^•ÿ5Ò:`²eO-?ƒ¸}Ñ>¨ËE•Û¥iú¡É)œ9.íê Ê‹Š mÁ9ÏÄo®|Ã>.A yÆirw8éäŠ|hì4÷¼ÖkA¼í-vãUÞÝ9¬ÓÂo$Ρ÷‚rcNEÈøŠù¯Ó ¢‚ç³Y§ˆóÙr>š~>¨ù}ÑöF],îÕXaçK'àv¨Èæ6œÖ“±`åšééÄ•ÒYò‡P‹²§è»”xU^½pv ‡˜“»í¡È¡¥Þq­ªÁgE‰'”ÜÎ Ÿ^N±í½"û‡µ¸w”çHêË#‹¤wn–ÙáÛ‹žrhÞSl¶~gƒlø×lÎÞ‹c Œ}Mt–Õ‘Y–Ž’ÅÅe^¢N梳È.ah4̦TÔ¡æ%ã¡ü4 =þw¤WIfÅ’Ø.[×4Q]w¤jË.CéŸ*î>¨ùcÞ„uíÑ0°¾Gš„ïYÜ ‡] m÷bÔC„më’»€]éçh îM®§™—âÐýOVH;Ñtr€Î Ÿ+Ï &ñâäö½Õ5®›ÏªÂSÞ‹ØoøJÐ(×í3ú•¨ˆñ;úìŽÞäÕ"-2\®U<ËÏn‡h[Ç«Ãk„T\Öº¾ cva2:£Zì}œ:YÅÝu½¤•ãïƒ[JæW˜:N¥½^˜º‹â®¥ç/ej]³$íär¼qzw]ˆv&ŽÅQ…jQ$œGbúéÏ‘‰OáÉYÕáøQcÅZSœÒ\Nôô8,Nz]…œ%7Z.qi…nŒJߣ=/áæÕãá¥üxr;ºãGjˆv§ðTϖҀܺ$¬n3âr1‰£sŽÁ˜oWeNÿºé.’~;xr\ŠgeWxXš.tñÔ½-ï„Usb™ß¥slÇõ9`È™ÞJôÍoÂÅεKÝ‚ç9ïââº`ó‡W¸ÑUèܽ×£zè;ä½—£+¡õU~}q½ˆ¾íì(µwntâ±ãŠÁ wuïßn;›ü!)áÕO›¶ë£]Š­®ÅmÑ´Ì×ѯÚ2N‘Ӓ涸DnŸÔ™Y®ÌöÞ Õ›½îPE+j/ÑÍ*×5žf¹ÐÑQÙÛikçyÁ—voZÈíM’6ɫݥ­Føò9aÓ¨G®Ú­k€n#± ;$õo9…´îP]–±Êë•s H<¬N%¬ÉBd´6'ÏèÙvµN|³¶ ²jÍES¡.¿M«Áñ@ÖÆ_ ÷¹Yžéo@ù.:ó OÉO"h†:ÜciÞw¡·Éß»¬¦Íé–k#Ãy•p> Þ™j†qiλx6î*[C­ ‘º†ðBÊûP ,Ö†^åeÆhÛ@7\èèj6¬ÒLæÞ|ú¡ ›3Véäž;,K«i"¿Ù^+%¨eûÁ„ײŠÇÓ^†pH«K\i³±[2g„ãu„–û´Ú¢«¯Ç(«]K§åÔǪŸ7­ŒT]s]‘ Åa³Ee„›Î ÚŸVfD^ˆŽ7Ò˜$²JÆÝ¼~Ê9éyÍ7±SFØ#ˆÌj÷7je°42FŠSbt,…°1î¾û¾±Vsty/÷aLT–‰"l…û7pQÈÖÖ6åÒkQÅBöB#7©xš©%"…æ´Q5вWCèÞv'DæƒzMiwj39¡¤á@¬ïk5,ÕÓÚ Èb7‡ô‰ªžÓªkµ­ºæ"ö¶à­Cw(íL…Œ” ¯Ç¦,ñÂË< 7®7z´Yl¤íÈÊ`n0êH­>ªÊbñsV’¬ö£F§¢Á’¶ë§†4—õSG}¼TòYÚ&…ñÉÅ¿/š±O§ÙÈ-ÕÁ·©ØµÂ2cÞ›­eÊåÈ¢-{K\6#·Þr9ŽsMë™,–ÕÒ+¥£%‘ë2ë¶’d¢~¡Œp´áÊŠ¯3Ä⥜ 3ªÌã~ú±€%XŸ-Ìé(èÀ #‚µùGª’ÍÏ5-,ñj„UcÆeE€5Ãá"è€Ã/k5eq­¿ëƒ"SªÕÉ{0Ë ©ž!ló@×nR^migü¯y&ºœ®üm/‰‚è¥kÛMªÌ Ia¼ÒÊÜ­Rj#Œ]c/wÓjÙéXIsÚ á‚ím³G5ÂÃr}bî4év¯¾3ÒdŸkM®mSf˜Ú\Xõ”ܼ+ ²‚"k\#tN*ˈÃûL݆\ÅdŽÖd”¶g±­š—U­²Šhü˜ÛH°¸2 %™]%šÉdº*¤ùêƒCر{ŽÜÑçsÇ49Ç •ââ]¾«¤qN Š69ÂésFŒ\M{PÄá’çî+GÒ?418d¯^7·Õ^¼ooª«\Zw…zû¯oª¦ƒb«Ü]Ώ è %²9¤æANçvxæ¾êŒ(Ý{›\ès^MîgÂhªq?ý­ÿÄ+!1AQaq ‘¡±0ÁÑáð@Pñ`ÿÚ?!ÿ±_ZÿâàX]PƒËFtè¿æ\¹råÿ°-£,«Ý¼%Å ¸`*çfÜø$ãâìŠüÐÓ4f[ôxG×ÌÅ  ë‹VâŽl¬14œç|øw# 3Ì5„5½³3¹Ç-e@óBF°6%¹|gü|¯Q1&C¼ÂpfˆŽûðÜϳü;°­l°£r°æÊ6ÞõNl1¿ñ0ïh/^ ¸ÈÔû‹–u%vtDiç†ç˜n•1gBýR¬ñ ]Õ!¨¹™)«|k(>GWûi¦ÏBóäíÿ+Uh{Å FfÔ]j­Žû§Áþ#}¼çÝ=‚^š3Í“o¼DÊSU Gz‡È‰wVŬ…lÒS]X?ÕGð[‘âIùÚ¼ÐÚݦÀ qp˜ù]1~k¬M«ZnÞ§üf8çté¦\¶` ¼Wþ"-¸Ò§Ü¢m €o7Ž þì³Ñ"ÜÀêѱÒ×kÿC\ÖpÊ¥!11ݪÎÓ™,%yïC§´Éh4?äÝ£ Šoš0ðÆŽ‚+Nÿÿˆƒ³•ƒ.sw¸íÀÿá ;L$5ÝÍŒxº¹g0vyüž7À9 ‹.PNsYcNc{„NaGP“l Lƒ¯Ÿ†ü$a,CÒQSEËïàDe§D•‹é¬¹~¢Éæ¡Wœ¬~_ø¸Ã‘ÐŒ6JY„”8‹(]ÂÛC”;|ׯ¸Z›Ãð§ñùãJäÀ!+¶¦¶o'u_k™mº£t­ÿªÕ2®ãH`ÆÔÑÍ6íróª ÖÊb$X¡[ˆ†0É ìÞüTÕ«õLìnZ3PŒÉU›¶@ësT \OüGñ1zàÇãÊ k¼]¸RÒ²¡ùš/G>O6åUmæ~×T”Ãlf­—ü6„¹Etœ"]ae†kó©U¹ Í åáƒôµ s¯Ü¥¾ ÕÙz—C¤Ï¾®QÍ?¶¸+TÜ\úGH Ö±Í?Ù‰>ûË\n³vTÜßÛ‡\Ë¿À¨‡’ñ€{`˜†7¾1’à'X©Ú_)VS8ß_J”I]F‰¸&³É`*ig#u‰OëñcÒ£,#´lûFÈ"tªùù—0·ÀÝü§ð9%ÆZN¡óíÖrZ i&8^“[£í{ ȵúÊ0 ª2=aHƒP„T—7®ÚKuÞå£à"¾¡Ý’þÓUÙ5VK=HªæÀјî@¥] P¯ÍŤ¾¢ÂÕ\àµÖpÉð™N¬R·ú‡un ë!MJm65èGé¡ÌÓ0`èõF{&Ð?B¿Å ï"4™¯˜ò@ î·¯—r\%‰äü._±w¹ ÒªNê.8![Z`ÒXCW«nVq Ö²ãˆÏ0²ÏI®v¼¯ÞW‘`u:þç)˜Ç6¯Ñ<¸ ¼¢ý\•“ˆonâ9'_rh¦nTý°¶Vadv+Þ2Y¤Ø°û-¡e{R¡€+G¬yØ«“ó?µ€ö=”9üÊhâÚ×S´ÅI"ï¬ÔŠùÂȨÜ"ÕFá}~·ù¦þÆè}f‰¨uÄ-PÛ•“O»ë4mbWɼ*£ä9»†IÈAÚe˜ØAXkÌWè”Urúþ µÀ@#\‹‚½KJ•k=ñèåÊk~ s>ôÄ‚»×åñÓ©_à¥F]?~ -CÉï•eŸþ‘³BäßøŠÎ¥´áÝÚdûË Äí-úr?Èÿ‘%JúÏYòºB˜" €2¬m'EϬ~QÍ)r>|ú%pAiM(t´¿Áºz”ö’ÁtúcügùR$H‘úeV^ÓJ³Þ],0[ôŸsö¦ê†íù¥D£Ó¬$ÆÉÝtvÍsÖcŠÓÏóÄ´|_¬‘Ö[Ðêç²úˆtì•üÃüãBV‚7sÒ"+4åÐ2ð<ðâ¬7s2ÎÈ{ ” ô<¦¢*dë×O¬ÂD‰éÌ/ÍéÒ,”6ÛÎ ×r­Žl·7>j[8Õj¹²­×’hW]Ïa؇7 –õ~ïܾ\#*Q݈µ{ÍM »5>d†%½h¯Y“•×J®ðÊÔBÚlÑ]`Æf,£æYx4îªc²ˇQ ׿XŽê ~Q"6l¥¿z£»x=Ã.}â–ª´ŸÝ’…ÔwESO“…ld9uï3öå^N7e(Ñ(ù‘Ñ2ëÔj›2û£¹x”:"Òƒ¹4ÅÅ«çTkhíí0²ÒÈ ezR(@ü·˜ òàW,ueJÓ-]+v'ôÔ q–0¢‚¹“LBa{Y¥ƒv”cE˜—ðåÂA‚1€CȺ@ÏãXNˆþ#§cÅõ›€÷‘¦Ý<ïiV{t©æ3|åMºk°ôú $H‘# ½5]Þq6Dàs߸G¿¹Î9v‡Î`7èt™!ͼ‰£ nêÆuÒy4•ppLÜÙÕ3‹Ü¾R•ö–Bƒ•í/¡¤¬ì€åÝ`¯±ëAí­<¥m(æÂºÀ¶ƒJ”ª©ˆr¸ÝÄÑþ4• BX°'JšÑڪ招i~q`°I¿éEý¹¸4¥‰øü ×{É!*ëOY úÊWf?šQ-C·,Ë:;Ø 67Ö?¦3oƒÞ=Êï-áu–’9Í÷•Ú{ߌë·9~Èòp"#ÚÕ®ŒDoÔƒñt+%áåòúð¿Ûþ_qHŸ@°ÆNQ¶ Sík1 6F+a§'.ìÐsÓ——xØ¥i»™[ˆ *cšü‚ üâ/а4éP£¼µ ø/5ýÜ>¨ZůE|ÎLÖV«wÖ®?\¡pu–÷ µ¶Ó÷šLiî·æQ`€Ø'Þ=˜^×lE›¡«¤¶y¸m1Ç)±NŽÐ¨4ä¨kšmÒª˜­®ÖfLsv7&mò0˜gk—H3‹Ät£2žºZ} ;?k/0¤è˜þŽ¥Ì„H:è”Á›@ÈÔÖÄhà±y¯Ì@QkWùš'ȯ”tW¯Á‰R‘<Ã3µ¢œMÞÅ™ß{?L$cÎEëç1•ʳ|L c\§Ïí+y‹íÖcÿc™skò nÀy?¹Ñ+^I»EgÎ`šñHq€/2ü§¼ÿ<åu•ÖWY]eu™ñžñT¯¥ ‰1ƒÅþ3žÿOœßËø]¥ |Å>Ä¥[Óo)—²S̓Ò{n¹“ä>s5ã˜Á®ž%AÒñsD®y)§üà 0qøUZ>—c>D,Ö!ý« ú~å5h Àô‚åÆÄwyêí*¸m|úÌœêMx­A“SGjbz¼Bš»ïT2q‡Ú_Ð<¥çž7uÕ/žŠj ±rrä˜|8ÇŽ|ªïÊBPNH„RšÁ .ÉkÕësdrÁ°!YÔùê~‚z‡c߆M­˜pÃüÐC¢¼ÑHyÊÚû`i %¡ÕñÃkC™–åö’ëXò˜(øM"6ÅÜf¥L~·~µxücþ}’…öÖcE.®Ät€þÕÝJ?˜œ•.hØs5Úk;2»D>«:p‹Û/‰˜ÌW¤ÈÃ=£˜¾®@ hf¢}u2œ…úm¦¼r­ ëæ†­{ž¯±4WécÝÊ“‹c¾rÊæCÕ¥Å(þF/öã÷ŽÏñ¶žå?Tp¶¼æ9vóœùÑX™YZ¸\ K5à®5Â¥xücÆ×›~>zìÞÆö•2[«xWme Z-ì~9AR´×y3Kæ¹±–jí â…10)£w¤mEú]‰qòœÆbÝS1q#Œ>y|å.ÈŽ.ŸCÛxIbùèJ&'—?µŠ‚æýH5‚dRóÇì ï6wô²OYí¬¿¹7œYu¹ƒI?ÆþÜÐS¢=é6‡øÔ̓ºSÙ–1ý“I°ƒæ;k¿öO}Ȥ×Mz#C»)Ú44ã"kqv¹?J¥p¯Œxöެ/‚;JÓzbßœÆY¿ËéÚÔXªÞM2›¦ðgFy°©‰–g‚%b ÓÛãÄÅ:¡™3ÀL$Ñ.ßV=5š˜Z0,ðA¬²àôû% fša»Å†/éÉñZnδ±ü¢æ£Î/à.%ö ƒ1W~¡P5‡ßÕèß©ó7í ‡œ|,@¿áÔ “DÉÂgÉÉ«àÌ>ãR¥JãᨓÐýμ¿æå¼¡qhÅJƒÎ)]Îb£šr~åá¢Þ:Ü¡yAÕïT»ÏyJzâiŠr%ˆ˜½ˆÏrøf?”<<Á¥ÜçÜÝÆ«îƒè‡I½~ß[ÙуQG&ÓÝ@Úgdø€ "ïð&à÷o’TÅOHÕ5mætÅÏ´ÖâÇ}¯Jà @ã¾#Ç…kÏgN¾FÈ7h:ÁÁ¦úÂuD+L "©i-trÊS å|åÖ×;ÍÔòƒ, ²}Ž’ôõU–ø¡F-ÂÃN›,¯‘% ”yÎLsX uÅEyż,¾ÓqÉsð+ðõÀ•cǃƒ¨¿VR“ÀLC œŽë`,Æ*†ë¤aßAÍ–És¼ßÄÔv Kà!Î’gu“D~fe €–I±_§‚¦òÌ‹¡Üû=x;÷Å!j›™Ç)¤¿ñwÊ Jêj!î4,ÞvјJ0ù¼A*!ãpÆ<:Ë[̪ÎõQÖ¨QMY`•Q´¸Ž ÃÁà•­åØE5F„]ù©¦XÆRq˜ìÍ!‹>  A·…º7¼^8·\Íɯo uú÷¸MÁ´ˆì#+ÚS350K`}\^±ºŠxÜ)O f¦_À @ xQŒc)UL'd_Ú }©*ŠwW°¢ ÃM“Jlæ„0L˜gY»òNäÕ†3ï=ËíÜÓ(x%æLVt3eù~ÔO¸üÄx§§í˜#´= :ÉæÁ.}j•É?,5Ï+1G­µóÛ´p[`›pæâ+G£)Í>pG„!ÄxLJSÌþ™ñ÷š‚¾5¿hÇiÙVèEu;@µ.uH0@·9oⲂŒA [5fð<¶Ÿ˜a(K[pi•YªáÜ»n¿ž7\L2®ÐÐ#ÄÿúB“®m9ÈJð5ÞþÍ1í(KÎaüœæ"BH“UºMþ½ã#Ô•ûEú¡ûñT¯ :kƒûA‡a˜W·Üa¨–ýð‚ cGþœ%q'ÃN®ÆÞFÞÿƒßªð‚´È”mÞß¹Hýˆ5àÑñÑ×árùçbûË<~ëR @áaâ<:Ä?º¾\}ø>¯êQa³Ã@{“cœÍ1Kö!Yæ²éUÐ5eŸø|æ#Ã]„CâGh˜zçYWÄÂt‡8 JûÈý JYÎnÿzÌNŸ¹Ä§‰‰ Ž—>ñSâ)¾½d¥©4ôÒs;”ÛÕóò½„ÿÀ(hõ»~—¹;h ìhuŒ~í¯déßç <:´/¸û s ¶Î_vUê’|ó9˜ß‹3ﻕúë9¿¼³ W)¦C®uBç¢ú³euÊ @‚<@‚#å1:¢>Ä®ôÕšÎI›öš¢­fœ´£–ZèèÐès…• ªéþñÌlE¿5j…°˜íø%£Ò!Â(svº¸/ÆÒÂ&Ì•ðEì=ZF<ÇÙ4‹ò ðKÕ5#á®\.¢PPÊÃÅ빑Ä2€º)¢¬}ȃsÎH6¡ä›¿Zàz‡ñÊ}‚¯Ìæyxü“N?О¢ š1rÃß›PùHUŒÞ®ªf.!KêÄÖà+[…Ë™2ue=àƒê…n˜Ê}kXhž„ʈz<èç*tjï YWh:“n fˆŒÌTó]Ä ’Hõâ¼û8EMÕ5#ãxHðÕ2&yBÆEå©LÎÕñr^z å1@éÄr¿Ê::z¾Y¶öŸ˜j‹˜/boß3Š™’ ä½Ä\ªjl¶äŽÊrJ·½¡…ž–Ôku`@NCöH9YÝÊö £—L'5ç.\q禸L&)æhq„:N©™Ð¨Aô8õPfL䕸¸sÏ15Gôí9~Gàœ)>Ñ}¾ÍMU<óS^췅˰ýFOâÔÙLC‘´9üÜ qæxr¼›–4\¾ÄíPÁШwqŧuZ&€}%ÚS@÷fmØ^qŸOxô˜û¾‡½7/»‡<É,¢ô¡šþ ì¸T~œ® ¨±bÍ><¤›i÷:y\º«'KûË[]\¼J \€Ëˆ&®IÎÐ3¾’²¼ ·Á#„|4¼ ñÕùva¶iqsukhBÇ"çú5º;y¨ CV*ò¾xuýÐ&üpÕAdTeë)ÁX±t|VÎîez¨õ‘/NøÊo—Ì÷VFÂ^‡å3+Ý5è<ã¯á1‹Œ)¬ZXÍH­q4- ¸!‡ÃFâðSÁ'ò–ò€ Ué,IS¨»žâå;Ñ„•T® úöG+ì1ùˆ3Qç>?ϯ  Ú#yy²Â¸G›¤"84գЉŸ4ëûí‘ÂJáQ÷quæëídõ¯)¯T§>½%ª¬ñ¹ÚM%P>ÎÕ›ç5‹yÇ{Пø}ð}ƒ»¨&ðvŸ}QD0ý qE3ª?Úkû)KlçO°ŒcQk\L{RåÅ‹.\¹w»Ñ5¥MÕ á€Â<âϳê&iS´-Ÿx›_¹Ü÷œè=bµ|ÉúÂmOsfä´r2h~*TµIõÂLµô7¢;yAœÎOvP&“2‚Ž%Áƒq0à H/hÂ^\ƒÞk¼á;J\d!Ž‹ëÓB²Rô”ƒ§Ðuêšò®ÄÉÃ-YÍ/>µx<’…Ýèš±µdÊ/"”8ULÈî §ãÄ—Sñ)4;%Ô'} y—¾çw/„! ‚a†>€^  !°ä{~æ ÍX…ÅSå3ú^YxõÐú#|lÔà9¨%¤ë³©R¥J•*,Þ’¯ë+4K—; •6F2¯W†¶‹{wœCnRîþ¢yC—ˆJà@‡AÂa‚aãVÅÀÅz¡Ù”®át“w´7=§¢«Äè†ñ»‘.·Àe¡Á÷¿K®*T©R¼,BÂ#Ú y™Ê:5¢û&SVÞañîyŠéšCîhÕÚU:•*TBa‚!†ÂÅ,XƽX: ®S"0‹b°²/6ÖÜ5c;4çc_Ë®éf¸ã3¼8S5ý J•*T©^8Ç–”‘˜àì9OHŠ×™«—5!by‘*T©\!Ä0à c,bð¾Áô¸Ð6m6+©êËKœ¾c¾¨ËÐ{¥¹yÒ¥,*ËX–ÚÜL|/wÁð4ïøúáR¥J•EßË^:éõKžÜYq˜‘R¥J•‡„φ`à,X±xõ’uöžuHãÌVòü‚[›)¾{ñ*eq"íúKÓBí_3Yn4µ…_fbàZ!ƒ‡ é=§¸× Tƒ€AÇ‘PòЧºW²U²83ÊM©))+="T©R¥@Aãäð0±bÇo¥—NEí4¼þHm€êÏ{“43ß| ½†¿,øO“ß{ð&¿ýÍæ¼;À£hypûHq¼H&¾É†G ‚$’Oa§vTÛ{SôyP ÊY¯¬Ÿ¡DI{ðçg¥J•Cêu‹…ñìòûMIt.¢”-SÕ»}oÊ{7Eý3,º¢àQ‰ø¸T¨!A$’IÒÙe†J•*ú…eøâgFY|ø¹ÁÆ5p¾­vðä B<H ‚Œ0Ë,²Ã*T®>€ÅqËñš;™–2à ?Dqf,“O/ƒš¸8 ljêÎ`iZ4?öÄ+eWÒžµõ¶¦€ÀºçÞ,“*õÞR2 ª­òe4:ï /\™&¯-HòH›¨X,Ø^X‚Ó=Ç»_(êÛŠ‹UÚR¦Vc+,<Ý£ Ï{—NpÿaBU‰ “ht-}bÑ;çU}br*«ì±ë"ü‰µaæåÍ“½Üa6¼F[=˜#üêá¬ã¼WXªøwŽîX¢ ²â]ê‘%Èœéc¬F«°ÃœÐ{ܹh鑉R™ÑO©hŠá©rÎ}AZ9<&¢Š8âã~·9~Ÿ€¾!G–,‘aÆ[»¼°„ AÀB.džÒ9ëþIžÅoôš_žy•Ô4°è0mÌÈ€­r8¤QŸÌϪaX+í-ûÈÃ$,£´±¤AÄÃ,UÚË¡+Ìâ%uXck—K"Íßæ)Gš`¤!cŒðÝ+¾“Ðo±ºµÒ(r µXßÊk6g‚8Tä& <´Ž0áVòͽصŽhŸˆ4Õ Ù¨Ö"Öø7*ï±-ÔíM›µóûC¬€»q‚:ã~DJ*E¼­H¹˜°ÖΆ°-×t0Ô9g¼*ë+Ž(£Ž?¡¹VõŸ€¡](jéM E»%]ü0¢,y_±G7„!>˜_Â’AI€ Xm«ŸN;"NQù&xíuæ¾a#£aLLjnµÐ&¾f:H“ú´ËùB6MbDðâ8âŽ/¨Upô‹þ39sB•éyÌœÞ7´Ü œêêU”aç ÌèSyc„ @‚<5nn±]z7¨ôÐKàUnufXà§S¦4„5é•Åy¾‘¼ÖãøzÁBŒŠ_ÞQY +ß¼e«ŽÇYD°\hÞð¡ø-`mæúMº ípçô+Ùûô”X-/l¦‰Dæ«"ÕŒ[{·#.)t¿„ÙÔEg-èw7¬Ì7ƒbÛuJ…ÐSJü¹yG„õîêT*–í}ÆEwë6÷¡'A¢ L°9{6ÕβЃhôÙ™ðǧ¢ó^Ì©@*‚6rV»_ (ã‹Æß] ÅS“Î;a·²hèÍ'ÐÌJØoÚ|—E¾!xjèÜZ*’2­åçŸ~z¢G§iP¢Êen-αLolR" ¼EÃ)µ˜Û.ñ¤FÔ긯Îáµ\³yꯒ* Z¤kcæ£=m\ê¸JeîC[­œÑ¢Ø „áCt;h¾sZ÷˜½ãPÿ©m—ÁÊOÒsÍUÝU·¤dE2®üHp(ã‹ý pAÔ¡^„â™~œj„#à!À¢ýЀ„8‚aú`*ÀqŒ?LµB‘bŠ? ÿÚ ú¯¾ûï¾ûï¾ûŽúï¾{è¾ûï¾{ï¾ûkžë$‚ûï¾ûï¾ûï¾¢Â< o¾úì¸Ûϼ3O¾©o¾ûï¶øç¾ûï¾ûçºúË{ï¾ûå¾LyŒ¿þ»o¾ûï®úo¾ûï¾ûï¦q> ï¾û¢¾zë,2ã¾ë¯¾ûï¾ûï¾ûï¾ûé(²Í>Yî°Óæžûï¸Ëo´ºï¾ûï¾Ûn¾ûï¾ûÁ8IZìõœ8ÏÒ‚éWÇíP¿óᆱí¾ûï¾ú-³Ë>8ç½óÞúõí½ç¾öÓz曆 ¶ëﺺ‰ü! ú¯¾ ï¾û¢¾û§¾ûï¾ûè‚ÈbŽÛo¨ó‰qH>ûæG]~õÇ,Ûn8/µÝ;á žJ£–k®ƒÁ8Âû®á50Ï M”>ÑŸÐ@éªh¨®›b½Šl?‹>ó­~ûë¾ûï¾8n®{í‚Hî’Y(²éÌxe¼…SÀšlGZûï¾ûï¾ëú8þ –x/²/ª+§È­â_¡A •„k›Å”ó޶gª÷T¥–ºâª8¢ž¸gì‹¿yƒF3€£ºç·ù¾(’i_™¾èŠY„«üÎB“ݵ‚Ëo¾ûﶺ<Å~ªx&²‹*ž AkÿyBG#`¸ìºËê½áþ*,þ’Ún®ÙmŽ3ÈcÈ4p‰6“NþàÀÆ¥Á‹46Š +¨ž[!ª£\󻌠‰–Êo¶WNö²±‡]Ž9Ý«ež›¢ºÐ")¡(P…6û%¤®rjyŠwùìˆ×nžéëžÃj¹ ±ûê”÷(t€§°ÎŒD"ס‚ZçˆéØ"HbÆ>ûï‹~ž–iïØÝøÂ†cš8!. ¼@²ÂËøç—±亗/Só?ßò&ª¸§€àxq8“Ï*{¨¹›x M5-4Ó%¢+¦²螣3väH 6èbŽÛ«AàXHôŽ;)Ž«£¾k*‚ 4T‘´P ¢ˆ#ª{gºaYn¥é’XéŽj.Žª§˜lÄìÓ)ØÓ‰ š"†ëà‚Šç ½¿®ú¬ºšhž{í¬Á0ÁGñ„*9/ºU[ñÎ<Ç_½÷Òrz-² ï¨ÁKAóO*k¯¨5ßo•¯Iç-/Å{b{k¢û'¾³Ã 1Eš‘Ȇ)㢢Ïôµ•[gÃÕ‚[£¦[ï¾ûï¾û>9cŽ*á¦éb®¸.ªè(º/žÿÄ*!10AQa @q‘¡±ÁÑPáðpÿÚ?ÿ­1ñ#Ê f~ü ñט9‘} -îo_á«ö‰Ìæ>7[óެ²ÞíÚmü+ý’P¼r~u|IÝGZeV8 ·hÞY±ü»=‘ûbÀÙ Øßhk+’ìúð¬31;Ä쩳¼aGƒ»×´2 hï­^ f¨8뉘‹>æ<)®N>'RÙköfÜ ;yº%V¬ƒËŠ ’š«ª–Ó:SŸxm¨›¹16V//Ù”n_oÕK7ø¯æâ­„÷þ¢•éýÊvb5«ÊqDT9NÚ¾öüDeD¦l°_G[…¢^U´Q0|_ôö†«ã¶*ƒß…c0¦&[Ä,âó½ÝWÄK—¨GQÝ6¥é· ú:Ap |üܨÖ×*?,ÊMz#qŽxO’8q£3Wn»ª g…‡ 7¨Ê%ðÉ0É\Ú-zǦ`Ë(RŒ½j[¤Ct~Ãxï.9#‡‚Ý• âñcÁþ(›‘câõ¸Ï\DZÞïêT¾ˆFa)a »SK‚ÐÄ7xÆ?àÁ,`ÌîBT]ÝG{onšd A»†à cœçÆT5@ø*áDêÆUsÓ“žÝÞDj·ì¾*_(™ÍÝ7––ð¹qF¥²åËeÌpÝ•‡æ[P'«Wï“)-¾Q(ÆjƒÜ…f²ÿ¿O ìF”ʉ\V\Ã¥hçî±ØúN¥Ké^C&åJÑ™M¢ö†Æ „-é·ÛßIžïÒ[šO¼”ªãæâ×îM“ëƒÐKç¾}råË—.\¹rô¹råùª•*T­11+Z%Jó•*TIR¥J•*T©_ÇÿÿÄ*!1A0Qa q‘¡±ÑðÁ@PáñÿÚ?þÑá…‰ÔJ¡Ø´\ ʈÑëK u ±'Dʵv~&KëH«ëüWŠÅ‚2M9pÓ @ 1±üGªª jˆ"YÝILŠ½Â°çù~²{v`£:ÆÝ~ Aké_¹Î‰ ÑSeµ:3­žñdrêÆ¨Þ0ÕJá%HTh9~?sNÒëbQV¾•Ëããe0t§ Xœ¢!B¼¼¡‹-e :6•×ì2`}aÜi*ŠäÞ 67£[XØ-9S“w) ×{àÐêýóñŒ#î¿Ó^½f_©G‹LýýÒ%ï¤/æ †eX­`€/i¾]!bUNg‰ Iv\Š©Z˜°•¥è²@´6Zb£loÏ2›…‚ÅLÚ@âÓÝäD Zï7ì†tÒý„à­˜¢bHwˆÓèADXVœâ@Ð*b6eá¢æ0@î ­ÅxÄ®ðfÏ·7hG¬piÕŒk„Á'k-Õˆ¦“H¬ï WId,þ[‚Öj¸rò|ÍbÔ[‡¤­ëÄ7~ aqŒ/Ì{º©á*¬ñ²ñ¾Ðú'“ëó4´çXó1Å`ª.±"µ•–m4š;n²ÂÁdçŒÌDjD \äÏœå(5ñ Ë—._p=tRkE`ó„êe~_ÔÖ Ðb²œÞƒšÆGˆëBùxKÉbßbÍh”Ù (Ûn‘ 1tlšÛ,£~í¾Œ«H®ifÄuSF¿òWÚz‹Ú˜Þi…œšÌÅe˹=Ž*€·˜µeöVaƒ´šd„óƒÔ†6F]!":¸5^Cê”´@؃œ¬½`·°öx¸ø¾ÒéÝÓ²‰oâ¸l;Nf¤Mžù2Lr%‰Í'QÇ:¦æiÜ"\©R»H2û€í ìrÆXèF‰°Ûä[Åüjå?ƉüFã©Küq%Wárïø_ óŽ¿æR _;Ò»Ïl–x¥«TSûFQzóðkÓ‰þ3QÜJþrí©¯àÚi+Æ1jp*:”¿òóÙÈë1½A<ਣEǸV'Ž/ŽÓqq_ÅÈœ»ð¤ó` x‹\°¬uU+®j›ò  Y¤®[ ²Î9~:¶i‰•fªìKÊm ï ¼)íê+Œa˜ópnÁm]?=¡Åöþ7pÌ»Œ—mMȵ\åÕé)XPbŽS×ä[Ñ€¸Œ©Þxø|8å×ñÞ8ˆÒ’÷•­ž1()bDL Q8'f}¡ÚŽjÌ#uNÈL Ym6XºÌw¶¬E€¶·xñ›wOªª^Q‘Î%aÚ@\` îF;ÄÀ·SA©jŠªÖzÊœàáÕ69pâÒ‰vÁ·D²ªU~¦4êÊåÉ.êÅ U#›(ü ÿ0ñ¸ÿÈx[ouaQA•Úæ³|³É..äÕÝ@‚<"%ñÿNÖyI†íÃ30 UŽ­ÿ™ƒ7•8/•ß(%Þè+ÀÅZ¶×Y‡Û¶'£ Bøa”¼„_.ƒ¯øûB2€#ž²êV°Ë± «%rÕÇx–ƒF–fõ™€üP9…^óNÀŽ¿à¬ÄÇü`  \Ro± †_pÑé.ò“$/P˜§)oï=€àD¿ã F¸¼’‹–0YËú›¢ðPZÍù¯H"—»LÆ5Ø߬Oõ¾T‰ÌE¢ÅÀ°·™ÔE{Ísôɵ%õ]råVñ"½,Šü(Ù§Á6©ñ Ù“Héîõ€Èr˜in¥)¦±m£Bæ²[  ù'Q 7›»™W§?.Üíz¿€\KŽåü7ÚV"WüUùno_H¥EµáŸJ–ùÉzWN»ýöq-¨—¿„ßÿƒh—+þRŸørPôÏO, ÐGúMX= ”.äºÕÒUkVùÒûŸˆ×¯á?ˆßÿáoþ šPÍ®ñS+™ ¯WÀšäK:#)ôDcËÁ×]`úHL3Cx;õ c“rýZ„Þ“fT$„ ÑhaÀ‰ßˆ×ßàã¿O–™MšwæbBCå\®£y’ŒC·!âbZ[¸ç2BµÏàÁå0õgÑg8Ñ0YíA·'dÆ?í‰:ïÌÑwÿ °;eѵ¨à¼¼°Ô=Ló†ÍáâTµMKõïA°*&<—n÷3ªƒ¤ƒ&h¶;˨×[I ´‡§YEì0w´Ö;+r·b¨&V Ås»½T®R²Ñ´«Ë›eyâæòCà?„•‰&*¶åóŠ’6+ÙûcJUÎ\4(4Û5æˆ-Æ—ÒYëü ·0Ïaâ5<8‹r÷ü.˜­œ‘P¾UÒ WKÕèe/–±U 0Ðøoª<áÓ¬Äu䔈²8µ†pŽ"}2B‘ƒN-Û†Ÿ÷cHo ù2ñJÜ· #ciuVÜNkDrT-ì£]í:ƒBªÁY£W,h¯ ”ññÄOÔE} ªAìÒëÈ®òÌ¿g`xqë_‚VÖ—Ê=HÎLºGÜIìIÂ[×ÖZÆù¬ E"íy¡(¤v޵¾i±kq‘E—E‚}…õ4æ£4aé|èB ¸µñS  ± ĺf‰hذ=ýHáÀní -ôÆ4@å ôØ ç™™rCûs^†¹[”¸æ¥› ÍÚλ&zæ–‰B®T®ÁDis€¨P`{TA›5ãØPï.y[†&€Ëô!t©k£¥Ê•T£§¸ÂD‰DþððX ]ßOFTl|®œá ìy§«w”vWû~= (]).T¼wžÌ—ÏOÒPÙR{‚U“òý¯VÓHìòŠÖrÀ¾Œ+FÅ×öÄëu¥6µÚ´(Ñu†-ÓƒÄkƒÀmñ:åW0Уyë×e49åxm*â1{Ýs7ž¸CvZ…€[@yYH29ÕX+X¶öD²Ú»²Ù]ëF?…%q ›ñðH˜Ž£Â³WqDk€')~ü¼¿´PĪmåz®ï/xCÝúNrE ¬«{þŽg€9ž×Զ峺ÿr< ÞU¨+ÿ¬§IUÇâRbyž÷ ÏêY7Añ˜ÁÏ0T.Ac¨üõ‚€äP^ƒÖXËêú¢&BÀV.&ÞîÓ˜œ¡˜ ŧ,B.ˆQ“Û'rÁl9”ÀøM£Ws\„+séœÞjú°Jâ WfÉn-N³1§@»dÊy+­Tzò»80¥y†ñB˪d©I³D Í ]Äd³E¢ú.% ‚Ö߬JTsIX JÕ €ä-[$e¢ª'x$ó˜b”Œªë¤x¡/¹Mö&Jç¶Ù²£]#é$RUBÜ뤤[—Óƒ °ª^kµŸà«ùMitÒ„¨×L!,ˆéMw&Ji‰cX¥ ˜@ÚˆhÓGRá”a˜T–Š; ·k£Ì üóþ#À#¾"®%ÿ€ûŒ‘@ »týörr¹•\Žð6&z7£ûei ­•õ>bšb½§õ/Æ ÷ž~¡¼U£Pœ²R±Ðì"$±Þ—Ô´lmåùó©lIj*@*¸¶ÓijãÙI°µºÄ‚©ÒÂOS S¾lÚœ<ìÂ0#b]AÂĆLËŒ"µ !°1Ö3-Á¬&ž¢ž³/öb@(R‚õ"¿×Î2dȬ/¸ˆPVš4bïVË´i &R`r`ÓdúM O»—vо¿]±Wù3†ÛÜÃ%P#’¿ûº¹î92k»§£¬34î’¹ac“{€»&A©yUÌ- ‘èÀ  µ3úä²>àaYñ„MÜA°«§„Π¡R‡;NªìÞ/¦n«Ý°4ǜDZK$Q¬-ôx4C¡ÍKèé–]è&A¯1lhÚ€(U]ePÓCeÅ3XçùÎIŸ QWP÷Sý¾°az8…’‰PüÈ€•%Äàœ G {XJ †¶mèUÀBñ¿|rû·«à[_CÍžšë™Â[NNî~ÒŒ†®Pÿmÿ"Ü |£”r ät;°„´‘ ¿l©âT¤w‰Ti}2ÉÝõ/ì?¹CèþN1e[m—£H¬ Þ»;˜1âãîWG 4ˆ,»¸ª¡¼?DvÁ…ÛUÓ7{¸ýÕwUªµÍô«‚ÒKEy^FµÖ/´ež ÃLÄÀˆÏ'ëžç ×"¾eU‹Ž©Xop Ð.šM)ïQ”tKbQè%›=]´ã™wépU*«åw(Xe¦ëuû”xœ¯©ƒØ·¨1x0bùFX"E=‡mº ÈÂïØ~Á–blÀÒ’´¼NÌ©²ˆrÏÄz„%F›Ï[ޤÛh«4ÖŽ’ÖâXô¾W½ÇQÀ6v¸Ó›Ä6BîŽÚ|„úޤ­,:Å“›P®Nþ"•D¤±^`‹Ã¸~ôÔ\( ï@_™y ÐD¿h<ΰ3²¼J9ÆÁ¢“ÊJÕ¨Þ|ð p*ükt£ £Á.)‚yòÕS—ŸN‘£ B€6±.ƒqÅWlÑÛ<ãÝøŸàìŸnò©Èëo#ׯC/ß#¯×Õt³µ1Ò?^ñÁÖ–iûS ÷_µ†»h¶ÊÖÕ”¬J˜ÀxO€”ú »TØ?æ¡ Wñ Ke²Ùq·Oð%º½¥º½¥º½¥¿ø–ÿâ*ÇÒ[Ôö–ß/iooikÓÚ3=~!sií½ÍÂ9 e2™L¦Z[§k” pùÑ‚ê;™¸¨Œg–ççé¨.ÇàÿœºÁ±`ŠÊ3^Îo§8)éu ¦;^µZ¹@ê™ö¾OôAmW<ŸëÝí(¸öß_úº(—VUã™o]Þð4äþ§(”8KûŽiøžÚMË¢rV[ðÿsgÏá› `C°ËtFÃSä”ÿ̘…Ê&šá_0:ñ¨**müCwGpÓ `²xý p C&¤®y*ïÈ:ç”Rß º|¯~Pž8Êr½]½ÝXkÃŒˆ1C¡ Ë×ýà–)·üŸÑ®lËf»½X@…m_•šÉMÛš`&öy„Í»s7‘=”•KØ#æÿVœ5+±×w¡†8#ÿ£Þ¶Ø+ELUÄê+]Ó'³dh$Õ×¹q9 ÁìŸðÖ/†ÈÜeþ€CÌ©W. C7A¸!‚oÂï‚›¥¥Ñiekйõ^ëj÷Œà¶g<£ÁµŒ³ýÿ€ÑØ#¥pŠ/ÖUAÈ‘”ò\ˆZù¬²3ÓýïÈKSN¯è—Êæ¯ÉïÚ"^ª»z¬±zónÞñ}e»ÆŠ |ËáHºJníù˜ä4ñ%N÷R±ÈJöœ“æ‘$Ü>BÝÞ£q‘¢v™>píŽPÌÀúJö´5ÊßñÇQÐX Lõ0G@]è÷CLGÅ00)×d+Ú€SÀ/…f.ÍჅæ›G ÕŠz&åßÈ9ûBáÝŠçíÚÿPÅ­ÑTo<¾WÉš°Æ•¾\ŽEF( hÚwÎmþ¥ƒ€æƒú QGŽo~„¹ªùÕþá…Õ9@ØsyL…Øíý tƒËý8Fõ@˜è÷–y ¡+VÝJ­`’hLŸÈ0+G<é|hè_ÜrÂGN©%áZOœ:…%n7ûeì1æœmýµî¿BküúÌã”Rs|õP†„¹¨sš±úCæ-Ýj»ìˆz§ØÌñXû"'*ޱ´Þ`ò?P £®„ Eº\ŵ0|Óú˜"_h!±§¬ÜróOà5 BCßÜ[á\<ÑÜrÏþæoì™»×ÒË@mK&?tš l²‚‰FN,Q•ƒ‘ÏvØJî{^µÓÿeÖ¥!ÂÛ;-±–ëÖîþ‰ŸE”Ï«Þ:œ—œïËÞ-kÇ|­aߤFbÛN·ÔÙ\òÇìTT»Ë|„ö)¾s—GfлËúŽàj¹]òŽt 7‚ÙzóÌû#ÓSK—WEò„–ª‰Ö-[—FÑ<½ã´,5‡9;@anp Ò^Å ,¶’¹¼ª˜ãú¯ñ>&m(Ÿ£_x3ÕcäûFS‘†¾nñ¶‘ר¨`ÍÓÚ+Ö¢Û¦>ѺùÔ~z¡ö1Ç»OÔYA]T¨¤CÚÙ@0 èJÖ1Lv™oôD˜xï‡m—ç€p .Aqî-ŸâÌ|øhšgË©f”ÞVÀý \7é´ŽE•s ŽÀv]ݹö˜­UÕ¾±©TM:ô#z+r6¯5zÌw¶×¯÷¡—è{ÐW˜Bð¬8ap,fXN™ºå—8¹C'_™wá7XçÐK±2À!g£qôfÇËloԨɀ^%-MµWbõ—÷=e_àüF ò”C@<3­o ÃêÓÅ}1M¢º‡÷ äÌ[èÄ¢yY÷eÁÊä/à P¯jª. .;{wô_Òá·uòÓaƒè}ÇÏ3å~„lZОŸr§µˆy"å\£°å«yc¾¢:ð<ø¡A÷âÜqâ(óc†:˜G®ù"¢”Å“â¢ÓËBªt^FÞÌ/fDÛ—õª¹TP)Ù(ç)…`MiõgÁ°ræ/íåBöØ•.§¶Æ¬g¢å«mõ3Aˆ˜T¥ìŽÜ¼x|ÇïÏ}"ôrû\ãµ½ÊÉKÚ¡ ˜hZ!»U÷yÄèr¥+±,uXR…êÔÔñi²–s`QYàò·÷ü´]ÔbÐꤹŸX̾ÙúÄ­5Êý”8˜F ½Ò-éy}ýÂù7.¹ñN R–Ö¹eŽ ]EeŠ á†¼±ß %›´„ \ €üA^X÷6G׈êu×éÏÔÃõkÜ¿¸¤¬€¡Ó`)õ”îÁÍÌE€ª+Oc›‹KqAx¾­–òÑ ˆ±†¼D×”R“Qp]ü(Kê×_3Ûª%dZ^˜!ù[±n>Ã…ð9‚6¸ê¢}Ø0"ò?ó@‹.ý£A(ôP ¦ÜéǤC#˜QÒ:?ö!‹|zF†ƒ´¸ËèmkÐ!qØrI¾};LøtåyK(5žl+uQTû×¼ÕY¦»5¿Î½ø+ô£Ú:-À:äaö߈) Úh=;B¨ÂP“Ðú.KGµP 3>­×RAUÒáÈe•Zƒ|+Z­ôÄAlJö@… :#í<@• lv˜é,ýÀ~+ÜðîsNy§šiJàÎ-Ô* ª'˜1ò°NñiÁœVe †õˆÂ_:Ô£eÀغ·µ±Ó6æÜä=]ý”2¼³; Õscqeе{@Lì5†0=w,EÁÐÛ1Z®™fùä"òÆ‹ÐJ_h4¹Hkx@n+g´é¿3”GA·à¨©mn5#Ñ,õ‚‚­PQ­3’å¨pÆp¬èœ’(1DþQ©»âÑ“{¨TŒ(Ëæ<èÀ <ÍÈ! oq·|sƒç wX`õ‹Ø¶ Hp.€VTÓ1ð¶AáœÓ~y¤MŸV¡›†­haô™“"'X6=€Ôï"Úh#fÉuƒ‘|ñ(n.h¦ƒÚ{Ë®ìqâ0®'&Î\ŒÄU†×þ»BV(²íþˆÄ¤³kD²s §oï^eÄVÕ·ÌÛ;µúAvï0Xèx–ŸÖ¸ÅPw¨©´b ltšuñ@n©O¹QŠó|ÿp|…ä×ñIj뢛¯Ä`ñ/Äî;ôõJŽÁfåYy‹žK? !ÚXMXR0…w£„³MóLÞ æHN-ZêéŽEÕ¡‚i<Éêõÿì@ÊhiîÊ4Î…½åSä·ñ¨`äq ?+â«àîàa‚$Ã÷úfY…ŸB­J¥ìh„À[lîžò ZרëkaëaC¥À( ]xˆ[V%:×ÑÃúûŒ" >¦HdÿC¼µ+9›«â8¦Æ†œ¯(­sSº †í2  x–ž'q>Ä7Á!…Gy‰–>#-aÉ‹æ!O)μ…ÕÑq å=€Ÿñþ,Ÿ(?W tç}×Ô¨¬âߣFýõËÂ9<§L‡Õc*=À1FÄ•ÄÌϦ yNâ2Ä ”¸:}å>¼;CoA‹Ø›«çVVí- @Ä7à@ðÏÇâÉEÍÓ|Ù  šv*oGû©†1Mó%Ô*‚¹P_ùÎ)53°ˆk‡™•‹@U¶µ¸BÀ;æ^w &†ß÷XŽ¥¿³Þ ÊßÑåŽßD‡ÓŸy‰+­‚ß»ŽMçŸÔÃQÍV^óhªh »fhôŠÙÝúý‘Qð+ž)ãCoO6;ª‡r¹°çÕ ¼Èê+Ñ#´m꤇*ûÎàBïüiƒŠò-û©kê®v*Ÿ9M—‡q óÀ‚8®íí"¢ì€Þ‹ì|A6â[œ})«oüfl¸ãm£½Ç;IU¹‰†V`ÅæS¬7Á*1zkµÚCúáTbýrúʨI§Aké9ÕJÕu²Þ“œÜþ‚|±É\´¿õRsçºúJÀ_Ù B‹·É* Ç%=ø?3H²o›&Ù¿€ †&fýò?r”š­ û&Ùü˜}åç ¢ò£/f"è±3t,×°ÞI” Ï7æ¯ÁÒR)£!pòæüE«ìçDødŽÁËï¼´*4©‘oy#áWÕ¾xIÞ*%Òâºîþèð~ pxà°&æ»^-ã‘_”2Ö>LF)V4õ"þå{EïöŸTC˦R=„˜óø‰ú®FSX¸<‘îB†Ž¬y¶ÛÖæ„(í{çñ_¬G¦«ä”£†þSÖD1¸÷ ol§& z|P¸J–x–áäin˜çHjbmXU€ÚQÊ>…Ž?\È• ô?HþP¢Ü*Ÿ–[Õuêîhâ¼ oŸl.î0í÷Š”Øï :z41v-Ë»'5ËÚYü¥í›&ù¶n‡pq´ ò«õ/òžÁýŒ%„ИY^jö¹3fÍc¥”¦_\úkâ[£<çQ×/ ¨éÿ„@çòù~y…@à™±WRH½g}{|Cõw326çéó0&|ì‰ûx¾âd{2ðÍý‘Up Ë&Èæ  `lcwtå « {ö…cŽ^^MBöýaŒX|Ý?¹O"˜¬j Ö Äå`ò%ç¶R0ßî0¥4°XžÐV™ú@ÁUÔ~á~@Õ¦‹Ê?AVŽÔ³)¦¦j–õ0h{.ŽÒmN±÷!|¿ωbÿ‡ò2“{XÏŠå½ÃÎ=ëçä9‰yŸ—2fg­§øæ €r•9D©ê´ tQ1ÿ|eÖÒ:yÇõêç½vËQs+6M“4 WêöŒgÅ-zðD?±(3¬Þ`2[Põ§?ö¦ZuSvçn½9\\?+Ñÿé¢aùa <9úb_§iÚþŸýŒªZÙAVˆXÝ9oô/ˆÔaÊ™Wwlb]‹ú&$¥NÈWž`ÈDea¿Ù{…\Ø^w¸gõ‰*T»¸A^)öó,ÝvJô·Ü Û^ó$ø‡ ±ðE˜Æ+½AGÌuIҭ׬Ò|Ëx.ÇÖlÀÂÚ'ÐGäUz|?6»ÂyÒ¬.+¼'+`éd©wNC‹_0Rîx-.%žî y5ø-›ŽÓœfY}féšÁÑ(©úƒõ0UùK~á%)¬Ž­æØãr¹Éࢇ±Èñÿ‘”‚Š[.-ëŽP©w@óï(X1· ”j7|ÿŽuë,‘7‘Gc6šË/Âþá„¥JàÝÀê’¯DÎKðÅ^FoøUðWx¥ ÂË!?»\u˜31ôŸ’°0EßÍŽËt´`¹¦¦íø'Árþ¦¼„I~ƒ}³—F߸¦„ò¾–®>\ðæ{ÌŠ|Û›Ìô2D·­Ù¬kS ß•üKŠWß2¤#ôÂçkA²y®â Ч‘~°S “H—ÒÓ’UKõ‚ß’ĺà`ßfʘ°^æ´½¨ËkSUˆƒpAž.‘6îGv_ÜUá/±ú• k®ËíÏ•XˆœÌ&7ì,¢´öë\—” ”Tr¾NÄhéÒ? ûàSˉ mÛ{À¸h• ñ*|Ê'D.½òÿc>C6üÔï¹C‚ ð²Wþ•OwcHep«€zÞ:2žC´ÉèˆÐÛg¸÷AVN亼r ð=‡øswûH³ éFŠX3 íw|ÙPè‚>Ù¸;ÿs|Ê8Id½£^!™Rîf æüÇ>ó­º ¹Öa‚.@~™ÑJåfбF„ vÌ€™ ƹƒì$xûÅÔ_ÝŸßâñ®kš¸|˜²Íòèó2¹ÍËõDz-é|ÒÃÒa¹ZÁü &ZöýLj.ð¾É^ïúˆùãðlŽ×‰YxÑ(pfòù({q7GÊ>ÅjOÉö •«zœt O1Ôw¨'¨„{¦QB}C\YÒ8@r€aPŽ`Üþ`ðNr‚@¢Í_ Ç-®©¦iĦŗ¤{‹|'w“…Eb½›ýM+úJýÍÌÝŸSOEhªmÂòSö‚Î EwŒS6ó[lkÊ4åÏ ãÌ«G펆^ú)mݧ焣Áx#¬ÃCáÿ8”AàYÊ“”°ì–»ÅÉ4o¼#+ñØ¥ŠD²Ç¤5SÊ ¢Å+Ò¥@¨¥>l`ïŽ÷«¹N Ða®¡™ú@ga(lSsÒyÁgU燚zKWœ5òH'¸ï1EbÁqM±kBìå\¿R(Oq÷K©sÎ~8zfž¹}M‡™éÜW tEëœêVTêì=(ùHVu‚¼¤*' ß̬&Fì·Ï%äNÝ3ú€ÁÝŽP ÆF2ÂMñi“”+¹èßἸ¬<¥Ó¼ýF Wð ઄7 GFjm(Åw¦VvÌ ;*Á(uÒá6üÂÜçæé”¼O5©D´ ®è¯g>ÐmX¤àLBV Ý}è[¥rÀÊnéjt»ªå)Kj­ÚÁ§hãrÎÐø9Ä/²Vºè{hð±€ûUF%®w¤¥û¨´ øÕ5~t©[êrŸ bÿPŸ ÐÙw˜d\Ì¢¸ÔÓ4âoÌÈÌãço^½ ãcÅ¢§þZ»$§ì…Áµ7F»[ê’Çœ•.d×|Æ«£ †T°TöýL1“!‘îàÃ(ðJ;ŸdÍc-áW)„®&Î^L¶¯Heµñë ³ßQ-ä¯Z±œª½íýÒ–×þµQ ƒO¼Z@¶îœàNÏ\Ç/!“·‰P˃(ÄFÿ°ê„%Í[y‰Pyt[Wû| )Ñ\¸Ì×3‘Ú A{®«´}ñ"}¦Pf p´q}s,Õ5pwfm›¥/ Ew2b¯°OÑ=)+Ð"j<”¶þ¥\2€T:,=c¨àž K/Þ òÐ.=Ñ10ޱ•«G^ Örg»ËàkÅ*ðEŠù~™»7ec‰¾!r¥¤»‡€\;%@Ì’„ÉÔŒ´)NÊæw6Dp¨Zk³f¾’Z:èWɪ"ÁkÌ6¬ÁEÐävå*ÛL|ÁR¿8_ª…Òq¬¾GËl‹vgžž‘-K[W›ApÃÀ²YøÁÛS\Õ5M³™mæ[ré|S KiR¹Oa !qp·5ÂÏCXÚìr£*6­:ì½@÷ǺyǾ6çø÷üÀ'WKVbÊU—`|Ïpžå K2/ñèÍ–nÀ‰€pàp„p åΡ¥±*âƒuà>äÄiQ²[™÷ áæ1‘©¼<‘rœŸXíˆ3_&ÝŽ]ã¡9ì?B`«íà@„#DÕ¸–™®i–ÔÕt½K‹y˜˜á¸³—ÎWê ·¼Îåþâ7SäýLkH`w­¹Ü´²Ú€îŒýÌÍÏ9ç<ç”I¸Ä§ÞZ–‘¿I»]«rÛÌÁ^Ђמj ^ÿ©‚Í¿UJ̨@B$’OÂk˜â a…|Ì”Ùâe¯nQ`["e/@üÎñ¿„JÕë=¢üqQ ˆ¾;¥ètžZÇÙ8q5p´LDÉ4K晦kŽÇÝñ|o EÌ!÷~åªS]à#¼Ê<Ò®{Â«Ë V•õÌ#‘Ü ¯¨®±.Ë:ÃÄÕEÛ1ìë¨íWÝþ åGš}@åŠÙÉÍËö—ÜÄ^âÄï2ÎÔ×1Nñ”wý!¤B_•àB´ ’I ‚I³”;e3y?8 lÙ^û¥}ö˜Þ—Í?ᯔ ?+¡,Gi[V—ðÅ AÄŒ‡ð TѦ‰ªkÄÅÌÝÂsX夠úQìJßA­ -œ f_| S¯‰äÜm_-¨+yo­ý@ê•«Ü*ǘ¿©FËÐâ0 «žÑ”6ÕÞ±ž­W»_Lëeƒ/'U ¯<-P‹ÞˆÆò ê °ð5À!„A_€vB $Îbàà%õOd~ Q˜%fâD›Ü²î0ì™®£íü9!† Ú š¸8Z%¼ÿ¬‹Ådú¡c®Ù~¢”m=ã÷ÅJf+À2«ˆ«–Þ±,+±Í kÊ!i ªè€\£^í¿æfm”aöðè¦^ÅÃÔ`¥bò`çé3å—™Có,ïÃÑÀ+êîX8pÈ ·ðPãBEƒé»Y<Ÿ¸>ô ÈH⬂Ïv=YÝŠs”YŸýLJnˆ3C<# :†ê3À8WñEâÜÆ÷õýL}†}áòÌ-kè/ÀÎòB¢\ØœŠýËáΟN–—|‘/©KJç'èî^ÓulöĉÐß”Îu; öƒ×ï_Ìß·­™]é9õ13neãÙ™ cÆYG™‘ël @ø‚Ù.ü4ìNÌì̹C-M5P s½ÀÝ¿ýÃ]zòåÕÅùr[›»²l ͹µñ R…jµ#Â@¨a‚39',0뇓‡—ðQc Û…ýÒ~ïÚJ² ¦nž‘A&ânTDžVg>Lø³ÔÇ_î9ÊDœå:ÊœåNò’ÂYrÐèL‡™¹+2ДùÐ>X2ÍàB~A¯·ø_ۉ؇d=pìdñda—¶v¦/ÁF ƒ(a‚ ´åà䜼nYÉÀan-Ç\¥qò’øwgrwcÝè÷Îì{âúÅu9Åõ—m/¹céc e"b—Êxà&ÌÞ?0ú¯—³;3µÄ­å;ìáðl{x=‰Ù¹Ú•r¾,øð×–rE¨µ¸Z&©ª0±n,¾§†Gíú—¬ó–sàå⬲÷ÅFpòfÙé=â:1).!vø™˜®àù‡·þK¢w‚hÃÊÔyc ðu#¸2CƒÍ« è©×VÎE+lÈ:‚¨‡±ÁÇ2ÇDDª· Ǥ õUc8Ûÿl^éª@¹CzDnt/`†EsÝÔ³«’}œ~Å![3@4ëï§…‰“=t9‘`=Û³%TÈ­­®às³UÞá(Å¥úÑ€ž¤¸JcCE‘xp%PÅñ8À‰µ&Kj²·/3Ê’¢¹_¢³~å<­2ª3uÌsµÀÍ4Jjišfr-²ñÁÄÝñAœv(—`û¢¬‹½' &É# =gGCHÃCÜœ‘}`g¿²ážé.L³q Sʌݮ˜xV~]¦œKk±:äщg)ÚŽõìÈèãcö±NÚz½¦|£Û6â^¦²õÏ«%¦€ dÑEÛ•`ÜpÞDA½-nv§jnŠÆêªè N\¸´ c“ T¥kZ¾ÂúDÓ¼s>•Ê"J¸ª>%MMs\º¦ˆáâÅ­~(v Þ?DäãÉ#õ ?2 ŽäTäü?låï¨ÍâœÜ4ɇ03¶‚§K+|<D¤BZÜÕ™˜ üh¯š8¾©m)d™:°æ™ÅǾM¼BMZžEÕÐlH„›Dd°)B]î)´2sÐö‡Õ ÝËUŸìL_{,/‡ Q‰@°µÎ˜È¾ù× FèÐïËÖf=…Ó­Ô›ŠÈ¬)º¾ÐÐísù²ë%þàÜ@['9À½Yr”$Î]0ùNüË×â–-X-jºQ¹t+Aj¶µÇõ‰Ãíð-ò:Ì ÆTåÎÇjëpíJaŸ4Z$ ³s*¶y®ìA“'RºwcD@M` È)éðÅh}¦2¨J5¨Ç»U°ÑÌXÎ C›‡!3 óôJ³¶Eí= ¡t–â DZy¶À¼bŽ%˜¸Õs_TÕ4qs¨ÿ;åЛJ“œ¼Y~¡s˜ÎÏþ¢JºÀq=Âô7*R‘êHÊ­ܱ–åÈC\×4N×TL‹µÔMDFˆ¢©geìGRR À ³Ž° @%­uÙé4‹'ùTÚP­Tçë/‚Ñó.‡,`ÔXF*¤ Štz™bF‡?oHp¡t{ÌÞBŽl–y‹l¾Ï¦÷³O©ÒvÀ%Ë[ÜlÝ•l_7sm×/Ü3†u‚º-Û¢).Ù[:†²À\‚º•¦¨@¾ñ™¸(sëÐÈG?Vvשׁ&Α¼¦¹a çÖ‘¤ÞÅźêv§šó†a¸³Zã5×DÕ™®;ᨿñ+†ÐrJˆ¦ ƒ0AW7ã!Ûáö¸þŒNÌ8=‰Ú”ñ¬,ìñ=ü ’¾$"gð<Åž5®w¦‰¢g?ñ. þ!Ì0A|++ðsGÕ;2ÚÄÅ®jv¡Ž§ŒìÎÔíNÔìðw~'Û&þ4`â¢ü£M\sÿÙtraitsui-7.2.1/examples/demo/Extras/0000755000076500000240000000000014046644526020017 5ustar aayresstaff00000000000000traitsui-7.2.1/examples/demo/Extras/index.rst0000644000076500000240000000011114046644454021651 0ustar aayresstaff00000000000000These demos showcase some extra behaviors that are possible with TraitsUItraitsui-7.2.1/examples/demo/Extras/Tree_editor_with_TreeNodeRenderer.py0000644000076500000240000001240514046644454027147 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! """ This demo illustrates use of TreeNodeRenderers for displaying more complex contents inside the cells of a TreeEditor. To run this demonstration successfully, you must have **NumPy** (``numpy``) installed. """ from random import choice, uniform import colorsys import numpy as np from pyface.qt import QtCore, QtGui, qt_api from traits.api import ( Array, Float, HasTraits, Instance, Int, List, Str ) from traitsui.api import TreeEditor, TreeNode, UItem, View, RGBColor from traitsui.tree_node_renderer import AbstractTreeNodeRenderer from traitsui.qt4.tree_editor import WordWrapRenderer class MyDataElement(HasTraits): """ A node in a tree of data. """ #: Some text to display. text = Str() #: A random walk to plot. data = Array #: A color to show as an icon. color = RGBColor def _data_default(self): return np.random.standard_normal((1000,)).cumsum() def _color_default(self): return colorsys.hsv_to_rgb(uniform(0.0, 1.0), 1.0, 1.0) class MyData(HasTraits): """ The root node for a tree of data. """ #: The name of the root node. name = Str('Rooty McRootface') #: The elements contained in the root node. elements = List(Instance(MyDataElement)) def _elements_default(self): DATA_ELEMENTS = ( 'I live on\nmultiple\nlines!', 'Foo\nBar', 'Baz', 'Qux', 'z ' * 20, __doc__, ) return [MyDataElement(text=choice(DATA_ELEMENTS)) for _ in range(5)] class SparklineRenderer(AbstractTreeNodeRenderer): """ Renderer that draws sparklines into a cell. """ #: This renderer handles all rendering. handles_all = True #: This renderer handles text rendering (there is none). handles_text = True #: The scale for y-values. y_scale = Float(1.0) #: The extra border applied by Qt internally # XXX get this dynamically from Qt? How? extra_space = Int(8) def paint(self, editor, node, column, object, paint_context): painter, option, index = paint_context data = self.get_data(object) xs = np.linspace(0, option.rect.width(), len(data)) + option.rect.left() ys = (data.max() - data)/self.y_scale + option.rect.top() height = option.rect.height() plot_height = ys.ptp() extra = height - plot_height if bool(option.displayAlignment & QtCore.Qt.AlignVCenter): ys += extra/2 elif bool(option.displayAlignment & QtCore.Qt.Bottom): ys += extra if bool(option.state & QtGui.QStyle.State_Selected): painter.fillRect(option.rect, option.palette.highlight()) points = [QtCore.QPointF(x, y) for x, y in zip(xs, ys)] old_pen = painter.pen() if bool(option.state & QtGui.QStyle.State_Selected): painter.setPen(QtGui.QPen(option.palette.highlightedText(), 0)) try: if qt_api.startswith('pyside'): painter.drawPolyline(points) else: painter.drawPolyline(*points) finally: painter.setPen(old_pen) return None def get_data(self, object): return object.data def size(self, editor, node, column, object, size_context): data = self.get_data(object) return (100, data.ptp()/self.y_scale + self.extra_space) class SparklineTreeNode(TreeNode): """ A TreeNode that renders sparklines in column index 1 """ #: static instance of SparklineRenderer #: (it has no state, so this is fine) sparkline_renderer = SparklineRenderer() #: static instance of WordWrapRenderer #: (it has no state, so this is fine) word_wrap_renderer = WordWrapRenderer() def get_renderer(self, object, column=0): if column == 1: return self.sparkline_renderer else: return self.word_wrap_renderer def get_icon(self, object, is_expanded): return object.color class SparklineTreeView(HasTraits): """ Class that views the data with sparklines. """ #: The root of the tree. root = Instance(MyData, args=()) traits_view = View( UItem( 'root', editor=TreeEditor( nodes=[ TreeNode( node_for=[MyData], children='elements', label='name', ), SparklineTreeNode( node_for=[MyDataElement], auto_open=True, label='text', ), ], column_headers=["The Tree View", "The Sparklines"], hide_root=False, editable=False, ), ), resizable=True, width=400, height=300, ) if __name__ == '__main__': SparklineTreeView().configure_traits() traitsui-7.2.1/examples/demo/Extras/Image_editor_demo.py0000644000076500000240000000403514046644454023767 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! """ A simple demonstration of how to use the ImageEditor to add a graphic element to a Traits UI View. """ # Imports: from os.path \ import join, dirname from traits.api \ import HasTraits, Str from traitsui.api \ import View, VGroup, Item, ImageEditor from pyface.image_resource \ import ImageResource # Constants: # The images folder is in the same folder as this file: search_path = [dirname(__file__)] # Define the demo class: class Employee(HasTraits): # Define the traits: name = Str() dept = Str() email = Str() # Define the view: view = View( VGroup( VGroup( Item('name', show_label=False, editor=ImageEditor( image=ImageResource('info', search_path=search_path))) ), VGroup( Item('name'), Item('dept'), Item('email'), Item('picture', editor=ImageEditor( scale=True, preserve_aspect_ratio=True, allow_upscaling=True), springy=True), ) ), resizable=True ) # Create the demo: popup = Employee(name='William Murchison', dept='Receiving', email='wmurchison@acme.com', picture=ImageResource('e-logo-rev', search_path=search_path)) # Run the demo (if invoked form the command line): if __name__ == '__main__': popup.configure_traits() traitsui-7.2.1/examples/demo/Extras/images/0000755000076500000240000000000014046644526021264 5ustar aayresstaff00000000000000traitsui-7.2.1/examples/demo/Extras/images/logo_32x32.gif0000644000076500000240000005603314046644454023563 0ustar aayresstaff00000000000000GIF89a ‡ŠSmŽ’%‹¹dkq[˜·Ëç m‘/£×[¹çÍÎÏ®½W‚–;y˜x¡·u†‘@·µº½²ÈÒ\ªÎG£ÍÔç瑦²;‹°?_r&}¥X“°‘ÂØ³Ùét›®y²ÍFªØ-šÌéêë]§Ê‘¹Í§©¬Q•¶a<‚£wy{~ºÙ'«5·×óz­ÅmŸ·ÀÁÃl®ÎX‹¤+f‚0w™j“§†œ¨2¨ÞÓÙݲëüOЦJ±áÐöþ?›Ç¦ÂÉÍ¡¥¨ ¹ÅM}•°Ã̇§·s•¨{Èì[ Ã ´¿?lƒ/…­`w„T¡Åèùý¡Øð!xŸ­±µ@™Â{…‹âåçL†¡:¡Ñ]µßÁàè„´ËR¬×QÂ6˜Å[ž½ jŒg–®+“Âh…”o¦¿MŽ®ÄÓÚmoq·É3›Ëˆ£±ž¡£ÏÖÙœ©²£¾ËKp„<~[®Ó{¯C…¥gŽ£Ýà⓲ÁG”¹³¾Än´Ú1oŒ}Ñø¨ãònÁéyªÂ3|ž_“­±ã÷P¤Ì+WoÌïú¨ÎÛÄéðNbmŠŽ‘‡»Ò‡ÄåÜñù˜šœ…•¡Âíúûûû²Òßðñò~ƒ"^z’Þùßùü2czŠ­½‡ÁßšÅØT±Ýquy@g|m}‡ŸÏæ´µ¸‡‰‹_p{aÀï)j‰;«Þ£åûnÈô]‡œy›ÌßæBs‹Pl}ZwËÒÖÆãwµ×«®±ÁÆÊ.zž¢­{ÍóÃæóo¬ÉÅ÷ÿ$t™C°µÞ염͙Øò_£ÄÑÖMƒ©Ûïj‹œ§ÂÎMwŒ„ÌìT¶æCy–{•£4Wk¦×èÖÜà×ØÙ“•—*Œ¹™Íæz§»ÔêD­Þ.žÒS›½#cz½Þ(…°4’¾k¢¾m±Ð3iƒ¸Å̃ª½3‰±òöö9¦Øpsuž¯¹ƒÔõ1¤·âöTªÑÓðø…’›†¯Âbš¶dºä_“q‹œ?•¾¸ÊÒcªÍd¥Æ;†«VŽª·ôýFÆÂÍÒ¨ºÃc¢Á¦¶¿a|ŒŸÜö&y G›ÁeµÝdŸ»lš°O’±C€œe¯Ñ!ÿ NETSCAPE2.0!ù ÿ, ÿÿ H° Áƒ*\ÈP[<ŠJü§(JoÎDœ˜P‘ ]³fÝ3Á "Gƒ¥„l‚CŠ==6žü§Y?‘-SHÛ©¢™ ÕlÅ2’å)Uú,ˆ6‰ŠŠÍøæ2… IŒ@(xÐ¥k—,y~*ôˆ£jŠ žRŒ®QÉñBF©Í¬úšŒ³“;3l÷3#,ÃÁæ{4åÓ #W«¨×Ù5<Ø‚®P›j3‡,+¼R7ï@¸¾vá€@èü¡Ç ~Ø&¨íÚ8t,<ʺ¯©ðÍìùÀŸžå…$H` ~éwÌ„>$@E6<“Â=RÌÁ@pL›£IuyÄφR —6 ²ÉŒ‡X8Ðkе’Ñ…)›œÐÈ&#üôZ6)´"#,#ƒã= Ú1ÓR F)&1¤6I8 >¬ÐêÞIi´ÊY 2bÄ2EŠlúÎh B Y—«rÒ°øPÈ7§Ò¤=ˆÃH¡¢3-®~øe ®hÚ9}5çC-k9›‹¥6M4Ú‰%k—Qœ,œ8àÁ–BmV¹j€*§ATEÈ(>PƒMR‡šVù€P8ÎŽÍ5—©i„M µaÖ̹³ ËŠZ¿®¨Íô‡Å©m­Ö©ÉÇ¡UAPû͹Ú톊œ˜94¢¢"ʶy1œ "³«£2“SÛϵ©¬(ü1ò:-;Œ¢À‚¼ï«Ž½7&?=*)`@ÏwƘÀ ‡¸°ÕBÕ—Â=k\c# ²Iš¼å Ò`p •ô× lâCÖѧB€k0“ƒ lÒÈ ‡$ðÝH`Ð è1hL'œ°  d  .öç#>œ F#´è¨K-ýu‚% ¬QAw-‰d ¢„Ø%C×qÉP@!ù ÿ,ÿÿ HP ¢bÆ\ÈðŸ"8Ö財°!CEŒŒH™ÅQÊ™Š j›£Õ¬{÷0ÜÃA1¤"m×f´j’CŠ›ÒÀ|l¨•L @SdãFšQi$ZTd£Í·›)¤ek!Ä~ȺtA–¤¢kî¢F•Æï…Š¢´Ðª‹RE.Ú ‰JKA”ëòáƒ3%-±r–2¥1^ÃÒ×Ù¢8ì±ÊŒ&m µùBÆïãm" u±Ê‡ ¼Éeqæ¸Æ'6UTÔc„³£ÄÁ÷áqWÒœ]ê‡'hw{þÝLD¼Y™94­<ëüù@OÕ"0jJúÐ*EŠÔá#Óûu+gŒbæÐÊ_zb#ûò@fŽ]§h#ĶàÃAF9tÌ OEÅlHùQx3 è<ØR‘±cǬH/]ÓB<¹@š Ö?ðƒÄ7ò¼§I#°rÙAg`C 6ÝCOSÚø€¡1ï¥Ö‚ÒHuO?mÀQÇœpHZÕâ=­HÑM1ÞýcÌ&6 ñÀXðˆK^A”À ˜´ã¢ ¸Ì1XÂÀ, ´X“ ù€ ³é·ÐK`!ù ÿ,ÿÿ H "E*T¤­X·2Œ.lØíŒY2˜!”ø¡ÃzîÝ›Õäž T‹‰Aä= 0aî‹H0Š.&`¦Ø™ ­l)¤ICdcÇníx Eò EbsTJÄ@E¸EFË)mµaCÖ2lÚ*rájO‹9_ ,&§K—ér!ÄêC؉Êî~øP$âZävløƒÚŽÁΜM±uPâÓ8&ù€çmX0ÂjFÓA8;ó| FfþlÁ9¨HÓ¡ õq^ݺƧj¶ŠýUk{ÕÁ S<û®–F¸âŽšŽ9 KÎsç±Ã-Q\ŽAˆ:–à9xµ.˜±z¾£¢(iÿ12³ÉtvmQ®µàgc ±A“Ði×|A )|ÓŸZN4âM åׂÂÔÄgÄÈ&'¸ þ$M 0Ý³Æ sħV@ÑÂ’(ÒoÀuЀ#pãF‰&¢øG @Á€ 'Ê3›yº \õwÕí!ù ÿ,ÿÿ HðŸ"mŒŒÅÓV°¡AE ŠÍ™¡K†ž "´d†=­šÌº7k#‚ŠÙ0ÂEÊ·V÷0Ük"†o¨‚à`"†@"A’MZP!Š‚hc4…4iÙh•3r-¿§Ò,äÂ-$´ZÄ G‘YEquA†LAÒ F¸"«ÍlÁbrº¬•SL £«Þ:T¤@ï‡.q’þ \Ð,uqŠ|øàÌ™’“Œ|ŒHz°X„8_à‘¡\ÙÙ)?Rš1£Nj;F›>@»F W^ôRÍúÌŽÊ´ØnV©š­b ì2:Äš‘’ÚÍ®T‹€Ü.AmÌë^“ð‚zrÁ 99Ç £º&8|ú‚ÚÌ;ù>c‚M.܇×VÌÆ[FƒB_cü]Ç>pÁA.4’À[)ÓÃ* á8 ÈH#>D!a$X BP6ÝsÏ*²J#\X`‰&¶".eÌQ xŒ@±†M2ݳÆBÌaC]ú)â³üXcYÖ¥sÀAd}(5Y_@!ù ÿ,ÿÿ Hp "EŒ,xPˆb¬æ0{£ CmŒl\“Çl†=­îÍYA¡À(ÌöIùÖ Ã= MšÜ»'óÞmãµKÁ³§´ÒôLƒÑÀÔ¤)ͦ ?}q®)SÔ¢ÀmH”ûq͈„Q©@¦TÉ#¢4\Ȉ@d]2ý‡vîŠtÙ;Íjvñ|xíˇÃâ(LpˆFêâäù‚eÄœ)1šàˆ8X²\væì€éÓ¦§ØøgÌsœÒ§kÈþ”ãʺ"Ô`Ý8ÌÙÍ®¼è "ÚÖòf…ܘ6+g{(AC“w®Z…=ûÝνkdt,x‚Øà~·!aypŽš1zc±kq$µ `!¨<“ŒÒ~ ´ÐÂHüÄ.a’"¸“à‚)¸äÒLzHq̓>cáL÷èÑÏ e1‡WÝ%„ ý¼QƬ xPvÚ$pÓe!ù ÿ,ÿÿ ¨¨`AF ¢;Ó#ž¶ ^“§ ‡º¤¬Ñ#cTéµÃ@’体MîÍš¥òZH$)RH‹)3›&™)ú§ÈI¶ŸÈ!Т…$eHf¦²S#AÎØˆ‚‘6mŠ¢ÐB&Mš;F<]Û9°,#º ã‚'ceã*RÖ¥®œba4¨£(t»|ÈR‘ ñ®õŠ£Œ5,øð‘ù@™Lš‚.Ðì ã샳ÏÎ=ÚÙÌN¦>P£uëmŸ`o;m˜UØè„ó×A„­ñÔÙ(ö_V6†Sed°`\Æ }N] #éÕ³3ZU<ûsEš¢x_§nöæd 'à‹ŽÄiâ(ÐWæ¡q4Œ[”#Áï­lHÀd“ÅEÁ L7Ñ„'ÝÓOqŒ £Rƒ÷´ÒŠkô#.t“ ¸¼1DFÌqTT`Ð@Š\ÕÜx!ù ÿ,ÿÿ)H° "m ¡ ‡‡‡ÌÀE׊¤Øˆ¡ã½Mf‰œµ&Š¢6Ò6¦LÉÑã½’Šð›É‰råZ4xÀÑ„I8Œ‚2Á!ÂÒ’¶3iLÑ¿§PŸfD†Lš¦N£BU¤¬Kd´L&ÐFÐèAF]½>0ÙMYeԨ͓;oÞ“]><1I¿€ûõ»Ã¤ˆˆÔX\CqâSl( ²®Z5˜3c®ÖaÌŒQÈŠ>h–lAŒZSGU„ZµjÖY]k…-;µ¢¦µg#*4Šïß¿1*šC g~’Óz@«9?Åuû–Cõ×±cøvf¸Œ ïͺ×êcy¨þÁ¡G¯›#ôàϹvÍýk ¤è: !ù ÿ, ÿÿ)b‚#mŠ*Tô¯¡CmûÜàÀk‡6ÌèÉ›ÓãÌ IA2 ÷RÞ›ÕJ†ŒÚþE¡%­fM’'S6i2« ÃbÌ(ÃÖ¢?,d3™²C8.j3Ži)¤}“÷4ªÃ¯Š~ «‰$^Cc~m¨HY—.Ȳ˜`U”‚j+÷Ùƒ(ÿ´ÍÛ–yú¾ä‰#)ËÛÉ„çì@eg˜1ؼY_ÌbÔMú€iË–É1Ô–&Žªùów¥’Ÿ¶mK£6+©SADcC].l[Ë|­"€›K×fWút’­3áUûZcÌ‚ÄW³aNÁƒ Õþ3F ’l*Ð"A¢\‹ÊâȃsÖĽ“”d’€HpõO1º0 ‡­°tO*©dCŠ*¬\#O7®”ÁÁ ¸À  =ê9—ž6Se!ù ÿ,ÿÿ TtmŽ(Œ´)R$°¡Ã†QÜ ùfBʾ6ôæœA¸¡Ã\H¤¥‰ážI=kt½ic•GEq,„™¢¦É&³rÎ2òR½ ?”µ ñ [¶J6‘¯¡"M.:jcå̵8!“Â`äTåR!M¤—ÚFhë42dÒôð"‡ uü§M_—·¢4 C¦ðxX¨aKsMÝ“.÷h8æ€eËÎ2 “åƒç.?^޹âáSÓ5.pöÁÙŽ\aátëuÍ!T<4ûtY W‡ÆVE‘ "J˜ÚÖa«ˆÕÚ‡N}ø4*ôë£81†½û¿«&{b‡®Bø…ãjc¶GYœ ¹à€Pˆþº¶!5S ±@«Ü>IF\̽1Ë=Ia0R~HÐÒONõPÆ ¢¬±†I&•”àÌI¬È#Ä0ô£G+÷p8žT†([éEçP@!ù ÿ,ÿÿ ¨¨àÀƒ2RÀlNF&Œ×.E RöÍ9¥ "‰Š ±( †{zL iE[Ä ”ɱ€Dš4‹'g5™Å×(Ah‚P,È—r²á¼·sV?A5iò¨ N-”ž¼Wæ£À(Nœx%¨( ¿›Ü#¢Ø¡Uc ÊC&M@ f^ãaÁRNH¼ŽµéCÖEšµ±pƘ x_≢nZ—.ÈhÇÃ50nü߇.¦©ó "‚•Í>Õý™ñ‡ÛZT¤ B·^iTUò@ÛÙ2½âþƒ3Ôc8:¬óà¡ÐÝ.FÀAXPå\ÊA„oÝ,ñŸró¬F$8_>±“UºÛK4æ `ö{´Ëö …ä‡/姇Iec?ÊaÃ}Ó÷DˆEЀàíöœ6^xÔ¦i¹1ñ£¨\¨Èň ЯBH'Œç/ŒFšœÉçQºÜƒA ´X¶Þ|ÚаMJCÂe9U.­ˆ-Ê¡€K Ï k´2”4HìˆK)•¦À‹ìEEb+CÐÈBQQŽ)‚A!ù ÿ,ÿÿ (PQFŠ*\HP‘ w{æ€HȰ¢C0)R`ˆ¨bE‚ d“–÷s:~‚ž#5bh5ƒ•" irAÏÈ$$14Ñ3äÚ͆GujÒ"ÊZ$ïÝ›%£(EEÅÈQÄȇŒþTð E“©³úÅ»YLɇÊây;Qi0ÜsGOÛ¿(pöž>W>¢Ô¦@…4’`R ÑÁC ÁÎÈÀk±•ñ´.‘tó;PœÊ5.Ь€Ügd² !­PQ˜h9R;ËLæC—.*$ÑV¨#t,þÀ¼‹‚á ]hr2ÂÆ™Ûjì&óÜbM#F»©Hö)ä —†3bÕ8iËÕKý@8¾Ž_xôcZ{ÐÓßJ õ G ´°NþcL?÷` M‚[1ø‘i¬¡4´´`ƒ…¢2ƒ†Y  | ¤È3è!&‚bAŵá7 €x¡"רXŽ+É×à ÌI |2~!ù ÿ,ÿÿ HPQŠ*\¨P‘ w\Î$dHQ ¢k`R¤0Á,ÊÄŠ ÏÈ&M#×>‚hL“²ÒJbXÃÁãJp @èV.&†{÷¤ÌÑÆP¢ÿZBÐdLL fµG¥¶4X”y„ãÃÇgZdƒ:kV?# j3ÅÙ|i˜ñjìŸ"F’Rülb6AB8áj8àŒ 5Wtí¢â'óž.TÁéðI0ax FÓ¦`2ŸR$*Ô!°`gÎæéÜ2$BªÜÌò‡,Y>´–Æ )Cm¬œŒ©ô‰°Û.]äñÝP„UNVÉáa°[,6T„£iÕˆ9ô·íÑá¬ò¾ÊXd½l!¬x1ÍÚůT4ç[6!óÝÔЭ`€D9ñh' eèqO Ùh¥à~×àrÒsUÁPeÓ€l¤*3˜-ipx“"ÚüÐTíÌ1á~ppÐÊ=FÜx#sHA/Fá^‰ô­!ù ÿ,ÿÿ H🢃*¨è̾6p-œ¨­­)Ü‘8± ¢$¤aÄà†ž¶Ž?чD$†VB@LDh0Ô²l5#¢GF½âITäBMq,HÃÐdŽk ûBfGFDÍŒaL¿¥÷f­1iP]ŸΜ‘É‚>Œ)²Q.ÓY2Ê0úÇHħÔ>CóvDEÅZ aÚT†<Ôü³U«Xý Ìe«66¢ÎõWcò‡yº5˜†¬s sNzŒ¢êÓdµ;ºti tÔŠApÒ¡ÙíÈ»ð "Û£1M«F¬Šs­³Y”…V¨ Bô­Ùz í ó…Š®•Ëõ¤",ÈûíQ^¶N°¦¤ŸP‘¼{H”(ýSŒ.¤@‚:vÔ.­¤`<ÍÈBD˜M 4H=k` M9ÛYÜRÜ“? š3`€A;g¸HèñÍ56¦4G?<öœ u!ù ÿ,ÿÿ Hp "E*¨È†fÚJü…­ß NL¨ˆ-i)0 ‰¸Ñ „n@bøV$Gm þSä‚‚”Ò0´™PÛ™/El T´JfBÞkÕ’`+Sœ}À"TÑ>F0³C“VC@ ,&¡ÆS…j2“5A®÷fÍz#v¦pfÑ*9£ ëˆ ”¥¸wn]EQª™uæìY·U#Ft#-ç½&2ÞÀ!¢Ú§Œ•tëVn2i ¿á˜£M&ÃÄŸÎ’Ù‘¥Kdà³ 6cšºå«úCãÈÀéMPN"w£Zê‡ à¸6˜MäÈštl½C™±íÍç€gƉ±Ö X°@åR¡¢9ßh±&Ȩ¾DT&`ÀP%q4‡)pzÞ·F‚˜ž ) È`IŠÈ³†€JÈPz`†:nt_€`Ôå!Cš°ÙŠÍ¡K06#56W`@!ù ÿ,ÿÿ HðŸ"F×â)*Ȱ ¢(FÜ!ÁqfaÃ†Š˜e“–"…»(Z¨Í 5Ž)0ìc„1Ji¢÷Œ#†Ve´Tt†<2Øtþ+©©ÛƒŽ÷ZÍEB gÎÈüX¨h„e²¥¸×dB‘<8àlÇ5EÚ¬úðÑ@†{÷¤‹iëÓSgøl¤5sUS¹”³f½I²Z§Š$дj„«}´R6 Lc$65È’¡ÖµtÈl&•BO¨Á\W2GÅ’¥ ²Ð)¼¹ÂâC«â4Cüáƒkd´Ú Ò6’‘¦#V¡añ‰lïi$âÀ9ЗCWGh²òtµ—Ô ždi·ç„(­°¾  =ÙäTÔ¾¡¶2÷,äªR ˆ)d@X Ù E -°D CŠ ²’˜¶`LÝ´‚Düõ§Mù}5!Aÿa°‡‚TŒRX¢Añà¢âŠŠ#aH!ù ÿ,ÿÿ HP "Ep\¸PQ” ûÜ”QȰ"£}Ù¤¥h7GQŃ‚P`A# ‰ðåGÈ 45¦ñ^m™0åÃŽ\!£81B¢¦žx/¥©qàÀ-A˜Ñ&c“{0( dä©32.ÿE1cÍifÝë–4Œ¦°KÖ‡+ )îÍÒƒ*§¦N•E1æd„6´òΚ5C+L6^É(XÅLŸœŒ)0è•q-¤"Fi>ÁÝ/ ².4óêÁQÆØ?EÆ\¬B“Ïë‡]º “– ‡T B2j3uD·+MowQ‘á7£—[Ý:æc„•m²\Ñ¢:«ßÛ6š)ýPDS7f H¨HAx–+‰ ‹YaKÞ“iÓ•LqoÖ,\Ú±ò1BÁ§øð!NEŠ~ÈÈ_ÎðÙX¨(Aà0¨(‚FgÈi[Ȩœ4$)ö$ iåŠ4ãe“–â[›¡ÃhD9oæ@m>S¤hgª¢'‘‘7R©Ö{{ @-æ¡N,.¢€H¨¨S ­Ê@@EÐVØOZ”qâ„+Z)î5éçÃÉЇ(9vé2-‰rûR4¹7kˆCÏÄ‚'¹ ²ÓÒ~Þã¼Íç¡!£ìÃÁÂd©S`Ø<ë á¬*2Ú³D8ò8ì1ÑŠ³Œ šœhr¡P«:ô*&ÔgN·4à$té2í—2üR`h¢‘É£Døò¤‹ÈH›âq«!#N;‘š·Éµ´ߛ寉“#v„Ó¯N8ò˜í3Ñj¸ aÆ5ФQ O4MÔEÞŒ5oà°ÒäD÷‚=b‰’Ð œ˜Š¢$`u‘(GÝÈ´Dб:Y‘”6î0€Š‚ 1‚C BH#ìdaIg¸aA"!ù ÿ,ÿÿ (P‘A‚"TTÌJ(ŠJ'\ gð°i›¨PÛ˜œ}з‘#Am¶>8ðáÙ™ˆµL¨(—Êð^žÒbD‚ ¯€tF&LÚ Yê®ÇQFÕ†~Ð4^6i)R´CSR›ˆm!?ȹ&C~XS|â$¢¢4`EfiAC+ˆ 2dÅð­ £„[ùáC—i`ÚŒáD’îáñ7"é ÐEÅž2߻ׇM€  ¢™€×Ò¤-ÜdM…fF¬:úO[™ÈbCŽ<«•°UN(ùO‘¼:­h“ÇÁĽ&³f½Aî$ùF•S‚Vf£Á33ÖÌÒÕƒ•¦îšVÿˆ#_Q€*Š2džÁý.¬¢ xÚÍ:Ñ´PÆtÍ7žÐÛI)BÏ7åQ¨s0§!P¨Øð¡D3HP@!ù ÿ,ÿÿ 8PE*L¨Í–„ Œ.œø¯á¶Îæ©“H‘ 6Ÿ`Ì¢€cÇŠ¶>Õ©@ÛÉ‚ k8s–…œËŠŠ]Óf¥JŒdâܨȿlûzpÔ¦AåL2’†þ+ÊOZŠí* T&$PIgzœZŒ’«)¤ aô¯X‘>FöHãÞ½³¢!ÏšÕ&'¹W©®è šŒ2¨ö™¸×d¸.W«œhÒ”[µ6WŽ•Pá©íÌŒ5³t%!»¦#ØjcáŠisfk«h¢œ"q| R•A—Ñ øƒiÃQL¸6Bô§¡BŠðô¡B!ù ÿ,ÿÿ HPE*$¨ˆ‘ ´-œ(PQ1 ÛÉ!E†ÅÂÕ8àìT?þÓfËÃHgd´ØHù‘å§—d¾£©¨gBEp¬|:pàCrŒhj»&D]J‹"I~ØG›RÙ¤µcÖQÑ™p$KÂ˥͘‹¤  IÁö[E XlsVòƒœk¨xs‚ÊF$ÒØ¶k³Ê*ˆ8;>|èÒeÚƒR̸rÃ=7æh’øOѵrÓt à›¨7`RX¾'…Ç.8wÁAšÛUßkÒ ×µ>VA`4Ðk©YØbXÍ{È*MÀGh"¾òZ©S³t q³{Ö,=4FŒWp²ÊLjUĵ1óäÈQ™ƒp8ÈÈ‘1MÏWg¤þ4G({©èŒ mð“&-—ˆŠ®Á#“µKº º!^ $eS¤ÀÑ-a×g]wQ!gÍ%mÀäMñ=MÁi0 ™€ËM IA’†{R\9q&ˆ})¤ HÝÙó==Câi¡©tQF®blñÜù^“&÷tÑX¥I“'¶µ¡Zàè48|7™%ƒÃìUNVðY‘‚o%NÅN " ³úÍklvíN¡ú†Á“¯DµÑkc,2MN\§MH|C^P0 ¤ Ù­¢H<{Ä“ IŠ$Pœ6Œ02áNŠã†;”P@!ù ÿ,ÿÿ HP "FŒ *\hP›ºu±@0œøOÛ™Ûj8û"‘"AEŬx¨qÀ™32qyüR$É’džý`¤r¢¢("®¼töž85ìÅfÛ£ða³Ô ¢¦Q:4;Ê3 ¶3MjC%„é@,¦l#ã, 9m,µ±Jð´˜lÒÀ`È(΄º¤ ²•Dò„X–¢°»bµÅI×Y—û¾y:"…’ÂR¸iê©bȤ Öd Âîa01¤„MAÂF;Eæ&©ï}‚JÓ* 2êæ«„ÜM’'oÕš|hb[ñZOŽN9Z£|Ö,sÎŒ\Xå$º“Ίæ ÁP¢„4Q˜y—2ÄSc«òû¼Ç7 Á a_EÝt3 Ap¬âÛ.¨¤ŽÌõQV,á§ ƒ*EáÕJE¡Ésr(š4("C â‰,ý!ù ÿ,ÿÿ HP ¢ƒ*TÄH],[ÚJT%„m¦Q$q "mg¬x¨qà€³øÎtd¨®Ã'’&eyöÄÂ(ü5ƒyr5u 8&¡.°&?Á‡-—6¡ A,ƒ`›R,qà@õ¨-¨Ac(ðLÉ’[ÄÏcxm˜Õ©š¥‹ŠŒ®qÂ#N$Ò¤)æQ^Ÿi]É‚£Õ,í²N!EFµ)x€,°´Ê)¤Q¦ŒG™U6Ñ2êf"[ŠÐ”›ÈÆ ×'š DQÇÐîaMüž‰®V%€° ˆ3`0lqä(Æ=Ù³fIa„“¸GèNfEÙ“5añèÉh…K#¡ VáöáDoî¸sÔ6ÕS‚гÊ*#¬E×xåÑD 8Bj-äÂwQDØ‘6ÌUh¡D hdžÀH@!ù ÿ,ÿÿ Hp ¢ƒ&<% uŠ.TÔ°š‡m”€(a„>ÕpvÀÙ‡82Ê¥Á\³5JšÌòì£‚ŠŒåÚ*TŽmÎLîx¦£”µIÊ›gd†*Èu”cÎ@:ÌMÈò…*RŽÿ´ÅûƒÇCl7;jƒsĵkÚÂYD'Ü´t¹i+fd†.WÊÀdË6©¢x“èÀ›–!)î¥H!mr wQ2гŸ dH,‹žü „ƒ{ˆ*b!’ÐšÈÆ G4NNƒà@kV ߾ݓ-ûž”2…`$P›:„0!Ézô XŽ)ð¢T”ë I:nÜ*Ï_‘gúò€ØymÉAHê"\SÏFŒ´)xÖÁw/7,XlƒÓ%=ǪedK¤%‹%|ÅF¼3r FÁK¤*ݘ !7†š¾Xøac©¨-U©2Áªµ¡IJäà{ ͪÚö|£Eà-ŠÐ²€IŠ×H®äòÍ„íoßZ}ÓcÛ w¸†\;xÆÈŒÊT02çŒU¬Ú8aµQ‘V˜kW%«v,#'.¸w&'¨¼øñ;!„G?V‘ çÙ[Ͼàüøèm¯_P‘1üãôO@!ù ÿ,ÿÿ HP ¢ƒŠj;cØÇQ© £.Ê?8 AÒ†ð 6H:@=ÂAQ±[† )ZÒQ$Yï¼!øaòŽŽ%Åé ÄgWhlØÄQd…JHêr%°QÌX1¦6lX´ÑáÆ’%¨,hC–g´nhCKDKpÔÆV[FŒÚ£j—¡0ò®É›#ïGšʾÌQd¬-±ˆm€•È8&Ä ½‘†¨žo­¾æ÷Œ»"øž©xÀŒh?zÖè1ÁÚD»v®Ý´3âÖØ™Û¸s3ŒŽØ±ø | aâÅÿO¼ò⊢<.|úØêÌ bÏnp8wƒq!ù ÿ,ÿÿýS¤HÁƒŠ*\¨H*J”œ9c¬¢18p¢€`”PÑsvìÈZ‚° #FËøÇ(V%o·nè YR‘¬ QXÎ#Ê^ bU'î,> iû…D>{7ÒD™j ªk×~ôº–0>6àtôJÈ¡À”$3”‹ìÂ·ŠŒXPRV' –ØC6v…(] BÏÈyF _›E‡{÷0Ð*BiÑCâ.‹«F +m¢fAý­µªT¥šMD’ÏF8 ™KŠ”~&L´kGËÂwãX <¨ˆ(p&ö˜óƒž+3 ÞJxÐ…œÓ§+‚0‚QvíÌ,&ý‚·ä©CЄ>ývíÉožž¡‹•õ*ºŸ_¿±ñý $P@!ùÿ,ÿÿ ü§HÑÀƒ*Š!W &DÈ(D³f•ðPÊuÆŒ"" o›`¡éX¢Hˆ(Æb“¨(Í”)WàñêˈÐle•hci¸eOœHK–²10 ­iòÅbä2J¼xAÒÚ ÄÀ*Tä+G¢Àˆ.!¾m#M¼BñÜN¨Í] $ø^(˜“à£6‘m¬¹‡!Ń„ÔÅQ`¤Ûœk…å*22kV“Y¾=«µ œ¡Ó¤Âì[ઠ<] Zͺ7»v“2m÷gˆŸcÚ2ŠrFžo¤¬1aûY‘õ. b„èË3sŒ´ÙÇÁŒ(Á÷B AÓªzÅ¿…°êPõ ]ø~uf¥‡¯BMû©×_ÆØW&‡„gà[. ·àxšõ ƒfMHPn!ù ÿ,ÿÿ ¨M‘Á&”G€À—pýS¤°¢›2za…ž‹3 * d%íÃgÎ>åJ\ . ¸H°“¦L©”ãÕ õ€t€.d²àp§^%"öþPTÔCâȦeigƒQ”˜){AŒÏ'¾I! YQ µÁ#¯[”Qd`hk¡BÁ´ ¦UddV“&Ò¤™r +8ÚD2Z`ø°´tEæáØdÁ¨2ŠÝX¬Ž•1<¨&!Y²T”ÆìaP SȬA+ºÉ, H°¨Š– –†:%.°BUt¾LϺ‡_‘BÂüà´ pBFpðaäÛDœ8á½"E¹N™$ƘH÷kÔ(òý„Š@pÌ&'hÒÞ37·ý˜€lâ B ž°Ü„iÀ Va(P€›ãa†›\8âD.˜qâ@Šcߊ*!ù ÿ,ÿÿ ¨ˆQ<8Š\Èp¡6wÈÈÓ ¡¢† Ñ“æÌÙ5¦°3‚J›BŒŒLtùÀÒcfðØ‚À* £‹ é¥èÂS@—ŽrtºqƒB pþcL€Ó.ýt¹A–e[¥Wïn,aÄ §¢nœ †J‘¶4¸dèShÅ^Œ2b"…d¢”&d„Š^ž.¼–™Õ¤®4)ò,.LE)œ:M"×MÁ“ L*¨¨‚‘%#ËÖŽAŒKÂŒ»é5^Œ%@KΦKZZÜ´Zë‚Qè )UbKd Ҥ‚ݷ&k€ðЛ°X7tuc@¢¢H‹`§\z²¤ ã?³gÐHi… Kü`âVÞx #E~¤IŒItÐB!ù ÿ,ÿÿ 8P#EŠ*\HP[VëbåBȰâ?E¹T sæl »3-däNÀ‡8ÓrM[B‘ŠÚ¤èB󤳶¡%¤BEs0Ðe¨É8klcሗ¡Ò“‚¨€{4Ü51ɱÆ'*"4AUT¬†ªš\CXŒ™ dH4¦QTýš4I!­ ê*Ò†ª\ºS”{YL×,½{›ÀàÕnÆZÁ¨ZhAõRª( ë5€¡IŒs—$¨¨´¡õòí»å”#5מBEÞ›-°!Wmü”¸®õü©Ž‘R%„óŰå±:¢œhcˆÐºÇMΦ”ðž¸š(0£¸Å€á—NpÁ…Ȩ ŒÀ +¦2À*»Yüâ'ˆ1€VĈ& j@ƒsß@ú0È14"Æ ÆD(¡f°É& –¸!‡(3Hƒ.˜h#«²‰ˆ¾8Ò:ž0Èv>rd#›hX$‡>rˆXKr¸Š1.€eAO¹ÄP@!ù ÿ,ÿÿ (P‘6EÅ@("Ȱ!A_¸Léo¡Ã‹ÿ´I’ÖÅ™³)y¢XÄ8PQ ]>|ðx`JF#/*¢‡A@—”*èÄgDQL‚ÚÐÜ@´‹€&)¨á¬Ü5‘ µ•i"MÑoò~˜°ÒY}±ÒV0J™YRX•QÑàœoIunãB  ]³šèM!C^TA2b¦B¥ÇXQþ)BÌ€^½­x¹…aOŸQ°MëÒ˜E8ÁJp܆Y[î5& ŽOu?ÈdDïM‰Ó¦HѤĩÝþT¬­—(Ñ{›ÀàûÔ©`h 6ôYŒéÝ»·œÂm€A7éÓmð¦z¼[Ê‘SK80FRQ.w»¹ŒÅÚ–û¥4‘$N¯‚cÇŒ\0NÃ5#ÀŠ0²Éb“ C 6ø ‡X"†š\ø&ÿ`Æ1p#†Œì'NøÀ&›œ ¢²¹Â*fpLb@ bC;2cŠ!ºøÐ‡ Òˆ*ùÐ5Ž£”ÿ€`Æ!›°ˆå’ hÂÞ—i£ÐA!ù ÿ,ÿÿ HðŸ"uÅ\ÈÐ`rS$8šøà " ¬À Üœ…ÁᄆœaÆ& nb ‰%ÒwÌ!‡4rB##RŒ‡@ð⎠6èã&«èHd‰føxÌK*hÆ!N(e‰>@y%ndí!ù ÿ,ÿÿ HP‘6u¹\Èp ¶3_¦xˆ °aCEŰípÆqbE‹ÙÀö Ë‡“Îjx©( 3ZÈu™ùÁÙ+*bdDJ iÒdNSV®æ• ÎÑê^ŠÈT(C¥ ¹,6‘~,ÖoÖ¬&RÈ¥-$ˆ8d8j 9g×°\@  Ž‚´7s*š£çXiûäþcfœ«(3PQ5÷–Ëǽ7v³ÀÃfã㿽}1mE³VмÀ ÒùbNÖ&š#/ <뼆#ìÏÙ<9š!Ø¢¢38ž"ãÄ h÷âê.ˆL3šjsÕtOkã=œ¬ˆÂ^Q[Ü1iLÓòy˜J’d÷fš‡„3¢‘˜úáćø HKšp7ègQã2.³É‚' ²^€ãc†›\xB 02A xL!6²‰ Úœ¸PЇÀâ&šäÒŒfÔÀ¥íÈP‡²JB2Ôž12&y`’ÿ!ù ÿ,ÿÿ HðŸ"mgr)*Ȱ "Fê¾LñfaC‡p~<ËâìÀ . |pæ¬F,F ¸¶/›4dºè\yà“mÁ1£†7»¨h¡àɇ5>E°øÄ›Y³šEFK*mŠ‚dyZƒ¢Å° ²ÞKÁUmqÈt¬Î@EÌd4¹‡ÖªŠâháYãEHÚÚÜ›…AZ†Ãÿ´qiñŒ° A̸·VZ ˜÷´Ú‡o%0+‚ C·ãAYiZå#ý@ë­L™`>zñÿ0ÂK ¼ØÅ" 81Âw1'¸ÀŸ>˜aFlQ¸pH#Ü á ¬bÆ!f0bŒ&Ç4r ÜX’ÀE!šqÌ!>³‰Š'4rH𠔀‡À&76²É*¹‰ôcCé#=2”ÀˆpÌ“Q6”À!‡ŒÀc–ÁáB’"‰&A!ù ÿ,ÿÿ HP "mÅŠ)*ÈàÁb?¾L W¬aÁ‡?Z4ÂÅ2d]>|pvàS„…v›a"…4i(»¤dy€ ‡FÌj‚ÁæÉúâ´Xy †˜Qé™5«¨…rqlhS„êIÇÍÂ@UTaè½@ŒýA†e ŒF1’ Pÿ1zæÌYiÆÆ›ŠA¿Š5èÂó bÚÚÜ+*MHHƒ ¤1Ý6&o1)Mnf‹S3 ȦÍû¡Ðáœo)l¦EÔf[2âBYš‚Òñb‰bñªv)Úí¡qùŸ6aЄäuØ­Lfâ4VÊD®é{hZ…]»Á×Ì;L i„CÄ 2šÑªxE œŒ0ÿ"«z¨gPäñŸ"Œ$0Â1–pŸC¬wÈ!p$¸Ê!œ`‰2„ß~dz_›dÈ 7' òC rL ’á '°Š1¹±Èß‹›”xŒ&8‚GP¾x9'Pf˜¤Å1G’Å!ù ÿ,ÿÿ HP "mŒ@(*ÈР"Å"äéÃŽQCƒ‹i!ç ™Îj¤Y8PÑC\pdC†¬Ë‡—ΰ±8Ä]zîaH!­e—Ÿ l Cò#]³fé”ÖSN Iq²Ä¬áæ?Esd(Å BÒ8Ú1ÒòáÀOa2’ÒDg6TE‘z !m%+Ük‚Aš¤¢F‹”­ñé ARt¦SŒ ¢8AkŒ‰«w§_ÀQžõ`xà;Sðá²³)}"Är§4€‹¹ÙsFaATßRðÌ`õª«: j+ÓÌ  ¢ŠQ°ÁôFø0cL¸0]¤ *J ÉÉôê·õÀ€fÈ}•CàÕÂÀÑ[ wéè*êäšó3«F˜9–^,œ#@a†s ˜wÈ1¬0òŸ‡Ј%b rŸ~Ç3Ý1›lÒÈ Üp#F^ÀˆžÀa#øf@†lrÈ.ÀaRC ìWá!«¸ s 3‚ üxQC&yQ@!ù ÿ,ÿÿ Hp "EÚ,xˆbêâĊňàAQl\SЂ‰,dœ9Û†j`” 3¤˜ø†Dšd]>ÈÌŒ8=D™·Ahr²ÊÌ*âµÑà ªàÃïT$$qoM×…Cx'Ø­rrM#|ò1þ_<ÐÉW8DùHƒ ŒHqýÐ13 ÀaL ¸êe×Û|þC_ƒlÒH#'pÃÍ1R1¢Þ1ǰɇžP!7b`—þà¡„JÀ!f@ •6Í0Â*.°bŒ1Q€ÀˆA§ÙÞ]!ù ÿ,ÿÿ)bD° AF ¢D¡H[]R"ↄÅg}àMè ‘®Y³0¤H! ².]>|8p`]G)³šˆ,)àdÊÎZ¾ ‰ÁB‹@ÉIz²²†¿Ž0š4IA‚¡¢§Œ°à¬ñB›6\2Sðcô¯ë¿¨EÙ0ºzo$?^¿>ËYã #E¸fnMËèÙÔ+ ´í™ W¯usp«íÍHi~é®=P#ÜØ=‡¶›S¬¢238 iƒÖ«6#’(ˆ`‚¦Uf|töúôi^E¦G˜1%­m†Ú 8áÃÌjÛÿ^kâmæXmà]qŸmyrmŠ–;ty1†šÌ:v,œàÃ9gÅõöèØÄ¾Ñ‰¢(ZuèüúMÜŸ°$†Û ùNl§^{ù½g`# `Ì‚ 6hŒB )!ù ÿ,ÿÿ ü§HÑÀƒ*º&oN36à€`ÄH[Á‹£ô›5ë›G ´H(÷%¶1a þ3&cÖ= )¤IC†¬Ë‡›ÎXQ¯å½˜3kv±ùá@4Ñ»×äž´?HjÐB·œ5â TÔÆeŠl¨.*Ò–çjOa¶rx™ÂB…ʰzxûO ¤ñctP[‘¢5®ðýÅÌ$ Œ‚+›Á…aJk R ,X;À1˜ëP•ÿåÂl4M‹sÀ´CbáGeE?È`McÄb'h\ñH ðZ -X”äR`±‡¦U>ÌðV8–"œ8Oî"4BTбr2ÂÌ!ÖÆ{“}ÕßÃo ¢U;òCÇÀ'܇n‚îð«L¨ˆ™}ïÇ0‚ ¬$€1pD1’ –€nÀ&ƒP8HS†J r†nÒH#'”È 7b ¢šà÷á&"šˆ¢N¼v‘6ŒDÆ$ÀŠ -Â1ßí'P@!ù ÿ,ÿÿ TÄH›¢ƒ*\øÄ\C˜É‹„A„ ÿÅ“1«É½H,Ð*×"NŠ %TT¡ã= )¤IC†¬Ë‡d&LP§òŸ6afËV³‹ÑÎ| “0Ê)ä ò£A 9dÀh ¼V¥9HV]–jX驨M¡¹*Š£µF¯ž ¤„åE¡6-hk4ë+0×·1•õ^Òþ´ 4S’4‹!ã¬F ÌQiã‚XšÂ•i]ª-A4†ìá 9!,h\QLAMNF˜YU[ }ø¦lë èG›ßÁÍŒ(þO48=B ËHÓ*f|,ŒÎÅ]¼Œœ|?tˆ:Ã\{º¦Î~üBE ž£ÿn†½{¿åÈ£#«ôwŒŒÅ îÀ!#Â#áp°’@ôõ)â{ǰ‰ˆ#nrˆtš”Ñ [N"‰4rÂŒ3rsÎy+]—€ #"¢ŒÜp#†˜ vßAŒèÁ"ša_F+¤ u!ù ÿ,ÿÿ ¨èÚœ(Š\Èp¡ ³ÖÌh3… *ª0kÖ= ¤Y Õ¢W<„‚Ð5« HiÒÉœ–åÉi¤×ªÉ½íhÉìBôƒ3gúÀYÈ—ÏrE Ò EºX¡ha<=?¥µèšP‘1|Fx°¡‘ÃÇÙzt/ Ò´94‘"…4:*Ês´F0sÿ)b†¡/’4‰ÿ{r×_`QÀ4–Æ„Æ8Fk|ê•XQ‚}8Ú!‘–»W<3Š¢¸„h„¡ÒØ+m [ ƒÄ˜@Ó*fŒiò„ŒÚ¥ŒÊÑëZüxr³ƒ(ƒü/×·9Ô5›0sèLƲÿ´5Bû_‚U#|c•qa1 Bæ¾',A}‚ ˜ÀqÈ3ßÿ€zxÈ!hrQJɃ+‰%ðà1h†&¬D1á?ÑÁp™{‡@›´Ø¢>¸+ßLÇ.˜Áá&4rÂ?6 {ç)2› #âã ܈!†)DV¤"Q$Á1>bR ‚EÎfŒ”!ù ÿ,ÿÿ øO›"E*$¨ÆyQ.œ¨¨‡ŒY÷úí›áÄ pÌšÕCŠ´ZéH‘Y«&÷î¥&M2d¾¬4˜Ð†Œ,”£uY—ÈÀc7ÆcÁ!0g*`%H 9]Ž:;°Í–ÇŠzLJãB "mQ”}ØZÃ#8L¦È–Æé?8X>8ð)Þ×nb¥µÐFP¹µjX!,І›“),œ)|æ Ûp*êF MIvµÍÓË׫f«ÊìÙ¥p,lÝšý§‚“fFØÅKºY„Šâ1ª};7cÚêð±ÃØkEšVù0^¸* ™ 6hµ3‡ìš™U4œv<$R@@Ç}èÐñ‰ H|cuÂôöï*ŠƒdaèàãžxÙ†gA{Ç£IꉧM)0ó•&‡4@Çøð KÁ!Ckfテ›¤˜â!#¸Eèq]‡ ‡lÒÈ <òØÈ(ßø÷ÑAQรHrÒO‚i¦Hs‚œXؤ~O.XÖ•I”P@!ù ÿ,ÿÿ (DE*L¨­L?#.œ¨­‚ŒY³L rpbBE=.6¹‡!E 0s"zTdCÊ=’)¤ÉD†ìAƒ Ú$&d„ë^ HÜÑ¢ÙY—.d¾pÔùO³V$¥ˆ%H 9]>huv \‰Šºµ*)ß„ŠÁá•ë¶1Ú²tS2E¶4Lµ!óá@+ ÃaRIq*Š“…ë+6À–1³Eb¹gž8sVãS.Œè¹Ú“Ÿ„Űlî,âò?Fš4ù@Ä*¯²\k¨rÝTÓªfÔ‡Ln6ÅÀÆÕæ¸ð¹°¯á!²\ò1~¨AEQz=¶›b ¬ ~ÌÒþ6sHÓàã]fTCzE«Øƒð^¡6H¸qFSÜí×ßwAdÓJzðpÈ1Ǹw |6€A‰iãÃÇ`† ô )è˜\.ÀŠlb†&p¤%6ؤ ÅYßEá‚-6ÒÈ&›"#q ÑÊ5¦‡›4r“˜†ßTÀ›Bà¹pL#bt‰‰3\9‘vÆr‚–è2 G ¥‡àÈæJ2.!ùÿ,ÿÿ 8PEŠ*\HP[…~CÎ dHñŸCMf™ˆ˜°bà ­f5Á€!E»p:VÔÆ¬U“{%¥ÉDFKYJŠ,]–¤ÕÂ2d]€¦‹E¥Àœ1ÁœÑf£Eº.]>| oLѣ̾%µ‘á™Y¤:;°­WB–ßR¤ÆO"AEgð}»mŒ¶Šº¥]ÛÖ¨¢bJÆø$âî?Fhö ‘†LžßbX>\x #M«hìQ`X "Õød—àåU>|Dy Y0áÎ9AíÄÀ¿XÈL®QZ¡ì>̬ö,‰ ÝÊ·2Z5Â̱áAyVö猖›9ô\¡¢(a¬Žƒ£æÜ¡Wü ƒ”ì>q‡ão1~Z•QÄ(þ±cš\ÅÐgøéw—"«À‚‡@ àm÷å'DgЏ`Fƒl²É!.H` z§ ÇlÒȉT NH‘" ØÈ '4 ù•Û€1ÎÈ 7I|b}žA#bp"ƒŽDzgd#®ìØd‘R;traitsui-7.2.1/examples/demo/Extras/images/info.png0000644000076500000240000002104714046644454022731 0ustar aayresstaff00000000000000‰PNG  IHDRuuxF2zTXtDescriptionxœ É/MÎHMQHªTðKÌÍWp/J,ÈÈL.VIMÌœ… kŒîÇ IDATxœíy˜TÕ™ÿ?çîµõB³44›l ‚¢F£F 3L4&&1‰¿l31‰ŽÆ˜Q£!™qòËhb&FTÐDQˆ¢hLA6ÙWYš¦·êꪺۙ?îÒ *bÛßç©§«o{ösÞó®G|ãâ‘2“6PÁGZ&mðO†Q’1éE_JÆMšÎë]…ª Д³)IÿµmU'S»} –¥Â~kÎ9¤:B þWÄáu¨¦(‚’ŒIY©uH/º®Ï=·^À÷nËon™€¡«|çç/ðï×M*¡súؾ”ÿ/H`Ýk/òí›çpÏ­ð½[ç²dñ«¬üËmX¦Êÿ»å¦M½˜3NîwX ×]9V^þùQ‡Ü€–¼ƒ®«Ô5¨(µp}Éö]M ª*AUUp=?(¬cgx>ªˆø7MS¯!×N<^&-}ÿR>bÐF ­`ü'ús¨SóÔËâÙ?L¢W¾/âM#Z#Ï»“5/ÞĸÉÓY8ë+ñúúÿ%Ö.œF&m€ä=m8Ši¨”•Z‡üÙ°öM²9›Ôðï3nÒt–®®aùº½¨ý® Q;×—íbGq,µµû(}¿»ý3Œ›4U÷‘þ}N›ô{š3lÚÞȸIÓY±¾ÓÔ«.e¥â¿z®<ï¬cyD×Çó%ª"hh*Pš1BÍÙ$:ª"ð}‰¦K ®/ÑUA8xx¾DàKÐÕ`=.ĵ—e%½{¥0 õ°3:TȨG¬Ä´dBg@U 'ŸÐ—Ò’`v|p]ŸgþÛ·®gí‚;¹ø[30ŒVZì¹sþtÍ6_ùñÓHPÖ×f^E¾èræå÷³`æ78çÊyiæé[nS>úÇ 2€ææ&æ=ýG.½ò:$‚—Ÿùθà{f@aRJš²M,xaÛÿÊU?j-Ë.˜ÿÈÕ ì—yO³ýp ®»r¬:¸œSNìKi‰uÈKþPáy>k7×Q×X 4m"¦ „|îÛ³øÍ-¨ì™B×U\×§h»œ7ù×ÌøÝw9¬‚úÆ–©!¥¤h{ŒVA;²9›ò‹†lËT±ŸæðÀ”Lèm)%Šm=ûZ°LUQ°, Ptãô®ë3°_ÉÝ5„”òÝS!ˆpyÊ• Ÿ )¥ÿ¡TìB|ós#¥eihšú¯Žn¼;4ËÒ¨ì¦$c1±› Z:e0dp9ýû• &;s(uþ/I•ô`þô+HZZëÈ„#5nòt^yø ,³õ·ˆ!€€öeÀDù̯øÛì&48ýòéÌùãdÊJÚL°Nf€ôaÔ„;)éÑŸ\‰i¶§‡Ël¿WhªªLè”f̘_ý am¶®X„eœû•äó9^œ~5Ÿûö@Ð'_r/©T†9\eh|ú«AZĶ‹è†Åß»ŠB¡À1ão¢²ÿPÖ-›G}]-Ÿ¸ä·TTôdî´+9ïªéñ).ŸÏñÊŒ¯sî—§Q½c¾¸Á“/¹—d2ÍÜiWrÁÕ¢¨‹Ÿ¼šÒC”ļwü B¹À 3oâÕ¿Ü À[+ñ‡_|ž-;™zã§‘á4Δ”sß±½º‰³¿ô ÷ýû…´äšY´ðUtÃbæƒSÙ±'‹ï{m›uVÉvnßD¯Þ•ÜwÇElz»û¦\Ü®œm;›¸ÿ®/ÐÜb³mË:Ò™²8ý=·}€ºÆ| Ê:‚}#„@üìšSå©'÷ã˜eGd…44Yµ~/º®’Nꨪ‚”’|ÁeWM3%i“òR+䜋dÒ—~÷IþpÇgéß'ÍžÚ}z¦ØS›c@ßJ3&Ûv5a…[N¡èQ’6ؽ7‡ejz°ض‡/%ž/iÎÙ45ÛdR`5ÔiÌÚ$¦¡’°4,S£OEêˆtŽø€øRR,z¨ª@IÀ0ÖÖç)/µ°Â³¿ëK’]59ÒIŠ2 Ç ÄÑ_¡Ä Ñ—„yÖ0ö’tâUœrÑ’þ}ޮΒ/z8ŽK.×B²ÇHú ÿ4ÿÛ|ŠJÊFý3ë×®`ͪ%¼ùú\qÝÓ,_ô¯þu§OžÎªõµ$2•¼ôÂLÞ\¾†tYK×ÔìמUö±m¯JŸ¡çsÌ _ 5ü{¬^µ”µ«—óÚ¼éô4’ê½9ιjy/Ï}Œq“¦³rÝ^™JÞ\Sà þ=ã/˜u[ê©m(àZ™#úºŠöa®Ð#‰L¦”Ñ'Ž‹ÿsn°ýº‚iìÝó6™”ÞîïÞòŠªñú+Oc;^üü™wpõ ÏðÔôÛÀŒ»/áŠëž¦z×v^{þ^*ÊðÙo‚Pغyž'™ÿ¿÷qîE×ð×Çof@¿ 22qQU4M¥zçJÒ&étÇq°m]שì™äŧ~Å57=À“݆íü³®©¤Ãºg’Æþí‘’‹¾z/šnà{.ÇËìé¿àËßžBKö‡íÚõÕëŸÝ/CWcIº¦*¸®ôel²Ö•!®»r¬L%t*û¤PUBïž)RI½Ë(})±Ÿls‘æÏ“(ŠÀÐt] xE¡­@¦`{ ûä-ÌŸu=º¦Rš1I'õXU$„Àõ|Šá¢1t•cϾeŸÍÖ5ó©(OЯW MShÉ»¸¾©«˜†Šíxl5”g&,Ï—ä Žã#]SÐTëI×G@LÙmÛ£¥è`ê*Z(—¬ò\×Äsa{D¨6’a?í Îº‘|_"®ù{¾ŒÛåÈQˆÀÚÉÐU,C=â¶Ú/~%ôî•"N†ÚèH££Pò@Íó¥Äq||?XLšÖ93å' ÒGTÆ4Ôø(]Ûw;þ¸í8œ<$˜íX¿ÃÍ¿+AJ߸x¤ŒyUAQE@6?æÓn COUUB=H@6¥«Ÿ,»Ñw‡4MSH˜é´A:e`š]S„×ñdÑŚך¡)$L²©”Ž¡«Áê³(R´yž;E ˆ´ÕÐbààò9°2ï½ÖOÊVÛ—ŽŠºHÉ)C‡¬÷«ì ÌöÇûÙ®. šª)˜¦F&mУ̢$cbêGÞ7‚çIN¿|z»g5»6±ìù›H&t45¤–57bÂ%Œ¹p*žë±ø™ŸL¸ªÄž¶¢ƒ©Ü^íÿ[ô¿ïõ›÷àÑÔ@  |)ùC€Â®m+ykþ¦¶Ù1Þ¢í×6e‡Æ'¿ôóø"Ÿ¸øW,ýßë1 -ð@îØm ¢M»Œx-äA¬„F2©cBùèH0mêEŠš&H˜ÇúEÒI ×n aûËI¬yîwüñ=×óسv6B€mÛò ¶‹a(ô5™ê5O Œ>*«_üW4U!Ó{,=‡L`ÃߦR>ð<÷¬À/ÔÆbØž#&±ë­ÇPU®+x^0ûZ §î—¬}åßèüdö¬M¯á…ë–ñêS?¥G™Å 1“©Ýôg4!¨:þK¸®‡ëµêhŠ-ûÚµ§fý,TE 'ûPZu&»7½DÏgáû’ágßše/¢i Žçc ¨´KUDоOÝî·HWKí†'Ñu%°×û¬ h‘±µªTEAS4-²÷ùhw‚/%®LÀS?{+RJt]c϶¥ôø ªG.—eÔøob ¦…oT¡¥JèÛ¹\–¡'NdδkiÉåq\—懋¾5‹B¡…A£/aδkIfz“WŽAæ6ròøáõgoçä‹îCJɰO|9Ó®ÅR³œ{Õ£ - ys§]A6‘ ²9‡>UÃéyù4<Ïcè‰ymîý r¹³6_¿ñ9òù#N™Äœi×2(3‚ªªáäó9öíy›þƒGî×iögÛ›✉Sã:¿úüd³9Jziè¼½êÏ\ðõÇÛµk`fDP§cÎ#‘H‘+¨4lzŒ²R ½‹èÉÞ RJZ uGÏ„ÌÔ?ÑÎù¾ôq\—¦¦˜z)÷þûżµb[’Í6ÓP¿ûﺔÕ+1ô´kɵ´`Û6Ç\H6ÛÈ#wObõÊÅ =íZž|ðzÎþü¿±§6‡D°mãRL3e%0ö(ç`YI$‚]{šÉæl9ñnV¯\L6gð«ÏcÆ¿díÊ×ÈçmZrÍL¹îl–,~•|ÑÁv<"o‹ÖÅhªÛV*aiøN +ëùA¹[ßÂq\Š…|¨xTïÜÒN9åÛkÈ… =n<¿¾ñ<ry 6–h¬¯Á2-ж×.ÿí[×#„@Ó‚:ÙŽÄ×éú® ]ß+:|ÿ¶yñ³Íë—£¨**’t2°W*I†Ž”×uÉf›øÑ/^à/÷_˹—ݪ*Ôïüº®óŸ¿€ô=6,y„¤¥±ãíô8ŒG﹆ò“Wæüëïz €»ož@y©IrâwùÙÝ ØºyC`Æ¡µ2Ûz8“–NI&°{JXAÝÒIƒüÞņ—»î‡©|' u»É¤tLÓ@Qœ Q›öÔlû‰äwùÉ]/ÑØPšˆüøÎ—X½r1Bêv´oW”?@&¥cYft§‹Xy,ÄO¾r’ìQ–`@U ý*3”—Z˜¦Ö%¤X‘ÖÞºvíi¦h{hª‚eJÑÈ·C £‘©ª‚ãúœ8áç 6/̼‰„¥‘Nê$-ŠY%6V®i¨ {'Œ¿Û¶ùŸ».¥_Ÿå%Ùf›¦æ"º®ÆÕ M\×§¬Ô¢oÏ–¥Ñ”µ©kÌc;>š¦Ä‹¶¹ÅÁuƒg©„ŽïKš ØŽ®+$,-¶Ó² ÛñðüÀ½Òõ|45°­ò|‰ãx45Û]U—@Qˆ¥gA¾à⸆®Æùë¡í•ãú(Š ¢Ì"•4>—Ë# )»8Q„@W¥iHc‡çüHj×Vq\_’­y‹l.O¯ Ò)ƒÒ´‰eªí$7EÇ‹'oII’êí«yiÖϨ(³èY– ¬Ä¤$eP^f¡A2tuiÚÄõ},C%:gÒF Ñ ÃžEG¬tRÇ—´{–Jè8®‡®©z@ UÄ‹Ü÷dÜžè¯êp* .žïÇþ!¡ÏTl¼©AÑñpCï<Eˆ@ÊÙµ×FŒ.½@%Ø} CÃbVŠ@J×E±½Ãzaï\¼‡ªÊL`qkj¨jû£E4éZvþ/Õk‹ôªHbå¥ S R)#¤RÁÛ©Dðžúߊ%ÚáŠ6f_êû=KXZ¼hÚ.X!Ú³ulË)x‰ ­wÛþ& 6/ŠÚÕYþñwE|,ļÐÉ‘DÚ]ºÄ.!DèZ«¢RtÖ>)ƒÉl*R†Œ¬Úù„ˆ&¤¯ DÆ$“2Bê¤Ä¦àj‡~TÕýûVGˆè,†Fgï,´wà«Ûæ×UÆþ½C]Q4Ž&„‘;8Ø‚QúCy§G?Ä5”D2_%pR”`GS¸ ‘_®>V"Œnt£ÝèÆ¡)¡'¥ªA7‚X š|TU‰=ÝÇÒnt£ÝèF-òœŽ¢™¦††B5 #4쎄¢1 é&&G"qKG/¶Dò©ö@…¥k[òÑ~y/uÞÿÝCÏãH£½tn‡Â£µÞÝ8 N-ŠÒ`èAxÅTÒ •ÔI§  ËÐÐC•s[ÍZ7ŽH)zÊW)ï76p?ô|<ÏkÇHÁî­‹Ù²lfÌUFfaŠCÞ0:WH†ú5zôKõ–…l|ãávZY¥ôhØ ¢¿³: A,ΠбÂK¦™îKŸ¡çàû2pž©^MCõ2¢`mÛýNm~'uË{é«¶V¸Ñá¢G¿“Ù»ý ¤„á§~…^Na÷ÖÅl^˜y«Šˆíªº‰I7MQE(¾ £š˜*É„N2©“ND¤ÒVÒÁf ñcâ»(4-˜_šºÿ!¤³üƒiÖºqµ?öNm»,´£‰ú¨í;Óx¾¤¼ï íê, \Jè’½½}_Òç¸I óy„€|K)%»vlÆXÛæܘ@Lœ¢;¡Zc¸]QŸtþ¼5¿óâ)?á.2åUÔÕle÷¶ÅH ÍÍͤ òù +%Œ%Ý>xKÛyÒ±þmÇ©c;ïänBÔU1ÜZ4¨Jxâ¼mƒÅ®ë †Äï Ì‘”îÉQ_v‡6>Žø?UïÜļ™7à8b½Vdf*'œ?…¾FËÖa%KPÕÀ¯X̳dîTÆýÓÍñ3»˜çOßÎ>Æœÿ Ê{ Æ.ä°©v^¿x;_C( d€b¡H¶ÅASÒFgMúmœ/ÒçÍWî£qç« :é3j®Sdá“ׄ÷¡§ÿcÏýé²*²õ;X9ïF¬²QœtþD†=Š€%óGv׫îNUH÷Ãȳ~§QÁ/ÝKsõka\v%¾,JplA{‹4åÆ]<…ACFÓÔ°3‘Æ4qµ=Ïå•'þ™ãϺŽ>UÃ<$X‰«V,bÍ›s)«¨äÂoüÓ´ökov׫(ŠÂè wPÖsN±ÓJâKØ»{HèÕwèAÏÂgn@¸õhªà¸OýœŠÊxm®´P¼üÔÏ~ÊUdÊ«èÑ{0^óÖ¾‰"½*‡Ë娰ôq CE˜}8cÒÿGQÔw­>×€ª™úèõ§®C¸õº‚¡„F`ÒØ"Î=ð… 9Š˜Q­ÆÏÑU-"þÝä($ØÄÛ¹:†oÝ<§Óä›×/géÜ[qÜ€ØX‰ OüþZ²{9óóS1òdθø¦ÿæjìü>οâ¿8xU'^Ã?žý9ýë)àþ».Šo±»üû38å¼ï±zùXVÌŸÊ1¹<½€¢]$—wH¦{qþ—‡@òì#ÿJSÍT³—~ëœtÎwX½üÍ›Š0+£Èå=×/aÉÜ)x¢„³¾p;•}Òsèçøó?àS§0jÌ©¬Z¾93nB^øŒÚ¶CSÎ&¥öæâ/Þƒ@òÜ£7ÒX³Å(Ç«cý“©RfÞûuZšjøìÕAõ;á–ͽtJDã SQAùðnÈíÆûƒh¿9°§”hÿõH)_»ñÞ°aí›<ÿè ØŽ‡áý¡Û¡®«¨ŠÀu‚{¶oÛHíÞj<ÏǶ¢²ýí-ÔìÙ‰¢šë(lêóŠEö쩦¾±ÎŽmë5æ4P ²òùà·bÑ¡XôzÒìÝ[î­+ð|™­fýÚåŒsjð^S‘y3¯ç‹?˜Až• ÷C¶­[À‘ŸÄulfÝûe|))Ò€\.G>_ÄvV¿µ€­ë±§6Gß‘•´´´Íæp—†0ÍÛ³·>ú$‹X4åûâ{‹¨ëºq[k÷VÇ>Éuµ{¨ì;×uɵ8q¿Að»®+Œ<)¸T¹¶v/µÕ«ñ}Ù²;n¯:uyr¹<uuû¨Ù½!‚ 1Ûñö&ê÷íÆóå;ŽO±hSßT@I¨8„ aOÒœmB×o»|¡@m}뺮‡ô%j›kß]× ÆkèùqýwlYèvdõ~õoi)Ä}T³{g8ZûÈó|²-v ÁÝš*P„‚Tº÷‘2ÏLÑõ]m?n¨¬§'ßÇVM dñ;7-¦zó(jºÇÎæ¨ jø,ÛT‡눞EñÑ¢SGŸÊ*¾uã“lÞø=*ú0`ÐP–,xÏk;,~õ‡8k—èÙ«_þálݼ†^}úÓ«w_»È‚?ÿ,¨§*xê÷WqõõO3椳sÒY<ü»‘m.bè*ޘθ³/%™JSZÖ“½{«9éäñ(ªÆÖõ‹X»h:§ê2ÉÔ~i¶o|#–ãòû€…‹D5Šª†¿ijkv"˜ðÖÓ 6dMÓ0ŒÖpIš¦‘Jñ¬·¯š Ÿ¹’ž½úð•ëf±eÓêví}ùÉŸµ³ê[bÑ›eªhmÆÇ²´`£Çñ t4}}„‚cY¿v9ŽãrÂØÓ0pX¦)ݣѾ|KLGQÚGýZ³h:gMø={w:^Qý£q®­Ù_ìd*–DÔ‰Œ5¢Xt~=ÏÇáV²Ôñc*o‚[èzhÆkj˜f <×õf¼Ýþ G ZãK€'28žFSc]¬86þhì²õ»ÈÕm@hiÕ[—àdƒwS Ý,C “ê-‹)6nÄ254³ÿãS½e1ù†4ìYÉÚesQ¬JECÁÓ3îd˦uhF )=Ö,|˜|QàùÁÜðœ"Ù†]xRcǦÅä6a*+ÿñ›;Œ×ü§ïî´þ»·õÄTz¢ ‰IõÖ þ¦¹ºTU ¸î}ä£qÝ•c¥ª ,#ˆç^’1)-1)ɘ¤SɄߴ§†Ö(Ýt ­VÑöÈš[ò—¢ÝjÆ+ÂX)Ñ{‘UQð[ VÂ`DÒˆOÔGú2¼BÔçoeÐѬ_³”Ÿ¸)ˆû¢)˜ºŠeªí .Úœò‘˜Hâù>¶ãã„÷ã*jxm¨®2ö‚)±Ràù'ÿ› Ëþ‚¦)dRF몺ŠïI ¶‹m{ñ¼Q ]WÑ%.Ëv<œøàà”Ÿ7úà ëúضGÁvq?³ÉVk¢øbB%¸ ÕqýàŽ_);M'ïIŠN0¶ãÇAbôÐÊ)ºž*z¿í-˜ÁM62æ$ãÈÒÆÀ÷dk(ð¼ í0b[[«²¶VpQÜ"í­æÝJlºì†yEã%”öõW”ÖÈkÑòŠH‚zHˆ9MCÅ /ÕV»é]Rv._J|Oâú2”ßûÁ5Zü@”˜ikŽ™Z¶"Úp¢ï¾/ƒ»®í@F^°ÝøŽi]S°,-¿±ç¼¤IDAT›«vÈ+ ím,¾ßJ\‚Í70§µŸ–¼C.ï`ÛR‚a¨1×`™Zp·øžçËP™ÄNU%öa ¼’ËïF ÍSµ(Äi=¯UÔÒzÕW[Óß _)9pº6æ¾Q=¯õ2ùا*"²m}Ûw¥/Ûý›Ê²ÿxµ›á{ž/‘~›úu0¥ Ðú¼£Ãpgãu(õ‡VâØê[Ò½ttùx¼(B hEJ ] N•ïâ•v(kXúAÂôq~¼É (ŽÖ â ò”í¿HÄBÖ5CWH&t|¯-‡p)ºÚ¦Œ0^p[߃¸‰®¹ë˜fŸ„€°jïr’V߇wK·³C;ÖópË8ì7Tp›ð™ï”äݲ‰ï¤þÝ> ]1éÕ@vúiæ¡G¢+>)¿_ù*!#‹ŸÀ£r::ýTž¢ý)AW$š"0u™hsrŽê :7ÿ|§rÛõItFcF±{(Êßw*ÿý*ã€yì<8ˆ4ïGý»w%„{@w¸ênt£ÝèÆáàÿ>¤%óçúxÓIEND®B`‚traitsui-7.2.1/examples/demo/Extras/images/logo_64x64.gif0000644000076500000240000016002714046644454023574 0ustar aayresstaff00000000000000GIF89a@@‡Qj’”%‹¹[›ºÊåeilÌÍÏ_¾ì"q–0¦Ü\°ÖX|±ÉÓ®¾;y—v…Žx¡·@’¹Ëéñ¶º¾°Û쇾ØI¦ÒÏí@†¨¨µ[«Ð&}¥>cwéêëXލt—©Þú¼Ö?ŸÍ°íýx®ÈyÅë-™Ë‘»Îv¶Ømž¶H¯ß^|ÐøþQ—¹§©¬tuwi’¥M‡¢zÒø0u•ˆ•=€Ÿ\¸ç5·ÃÜçŸÖî2«ã'«ÁÉÍ[¤É†®Á¦ºÄâåçÒÚÝt‘¢¡ÝôÀÁÂi±×i’ž¦ƒ¢µ¢¥¨Kµç*c~mÀê?šÄÁëöWu†$yŸpªÆ:n‡èüþ4œÍ¢µ¿Lz³ÃÌU±ÙˆŠ²äø„Ëía¡¿0„¬RžÂ-XnU¨Ï[’®k—­MŒ¬¦êþ{¿á‘×÷=‰®tš­®±´Y‰¡Ïïû~ƒ¥½ÉµÑ݇¢¯+“äË×m¥Ã‡Óô5—Ä=©Ûy©Â<¯ã$uš]¶ÞG”¹ßúþ…¶Í¤ãûž¡£cœ¹¢ÅÕkv}ÞàâMp„Hj~£ÏàQ¢ËÀå÷ÃÓÚÝñø˜šÏÖÙnÉôûûû„†ˆz|Yv!hˆ/j†1£¹×H‚žž®·†ÄãTµãk}ˆ€’žmor?}š´âïðñòÆå0yœ³µ·Wr_Âò;i€¹÷ÿzµÐxÍõ/¢ÖT±Þ Ùöj‰šÂ÷ÿm°Ð2¢Ö†Øú¥Öæ\„—²Âz‹–ÌÞä•–™ÌÒÖNšÂ«®±ÁÇÊ‘¢®1‰²O’±h{‡*Œ¹%r–Dw‘µ¾Â·Ü쑬ºd¬Ï˜ßú“ÃÚH¡Ë—¼ÍÁãïÞîðj¶Û†¨¹3d|L€˜Š2^u¦Â϶×ßMv‰f»æT­×T¸ë˜ÌâGšÂ]–±˜×óBޱyž°˜³ÁÖÝàרÙ#UmjlnZ²Þ¸ÊÒz§¼ÓéîI«Ø˜Ðì_¦{™©¸ëüzÊï.Ñv¹Ýn£¼G²æ#`}†™¤;‚¦3’¾§Öí(…±ÂÍÓc¥È©ßój†”oÆîÂïý`x‡Cp†ò÷÷!ÿ NETSCAPE2.0!ù ÿ,@@ÿÿ H° Áƒ*\Ȱ¡Ã‡#JœH±¢Å‹ 5ÂÈqa#2tØØ±äÀFA`Ìø….I“Q:û…Ï/Ph€¼„IÑß•™x‚ qÅÏžV Å¥)œ‚võè))Ó P˜n€²aà ?üIj¥¦YÓr…²£mÛ.h%+eŒ_X›víê¶ž_¿g†¤KП¥hÑòÝQñß¿vý7&HPM{e¬gW=ŸëùMz[S Ê€Ùéb¿-µÙFÚÛ¸ÌkA™§]§\½þ½á#j# v¾Ípš‹ZÒŸ­[;®wC–¿ÂÁZÜÿ¶íü¹‰ó&޵‹ä$®nÛ6®§çÊ÷‚Ç‘D(o=;TØDe }”Á$ÚÉ'š&äÏ8ÌÓŸ ìTˆÊ…ÇDc”Dx#Æ$ñõ%Z ryÔ9²sá… $@Œ ~3†W›)(@wìy„èQˆŠŠ¨$pÇ ž˜P#`âv86dçYd‹:ÙÓ–„ÑcÛµ`Ï} ù#KJÙb:`1˜†2.Ü(é—-4葘tD $•iÚye(iࢠ:]ìBŽŸGzãÿ™‰æ­ÐbdŠ‹ ~¤3 ›‰B)e:„jL‘5J(¸à’„"~1é?þüÿpK”+¢ª 'pZ‘©¨ºàB­NŠ'­*ò™‡¤%ñ𯝬ºt$²ÐG…ÅÚš&²Éžº,°Š¸ŠP‡^<÷#‹TÞQu&™º-°~8[ÖŽzÖúh®G©û«Š(2ÁXð z+N©ƒ ÑèÚ‘©—r[‹ suPÅ¿{Úš¢0!Ì®$Q™jÐA®`ËP#Bd*¦~øQKÆFzr…AÖAä«ÿ4Ò,WÐLÐÉ)瀓ªFŽôèÍ»ü óI¡°›o-ØÁ¡ÔBcJGÔHøÖâ5Ë–µÑB[T±t]¡à«È×QW'Ë.;tEÖ&Oðô×iœ´pËÿ‡ÙZ‡²¶×+»€ÚEV7æw%öèmj¾kÔä8Ñ“~ÅÝT%%jMÄà’KþL-i ‘?ÝÜÐØ™ÅÐ9‡`üLèYÌÞ*©}$‹êd7¥Ë`»vFÏÌN|YÆ74wèŽ/½ãÊTÇèÇ3Y8âHöldÑ-ðßzÓ‚/«gUI0ÕOD2Ù;†öÚgá‚-•=xu[Nq®wî‚øáÈ#l`߀Pn bR]=ºÂÐ.ž Â3AÁ ¾/ •«‹'v§¸ %¸£Ëqü÷ˆ”ЄȂQ‚´èÕ„„ÁpÂØpðC0 ¸ü=0†øñDhN¸‰¾`gè ôÄo}ã6|Á&¦˜ 9å ¦kbY:ŠGL1áÄ$‚ò êiqd߀7šTÂé;ãI<16„q•ø¡ $ˆZdb¯Ûcî¾>AòˆL¤"y‘€!ù ÿ, /8ÿÿ H° Aü5:Ȱ¡Ã†ì Y´ð¡Å‹yÒê§`1Š<QÍ/x€ÊÐa¤K„güÂC3%(4‚B¾|X²fM(@7Äà¡s§A:ú eCÓ òªø3JÒžPL³>ݰcÆ.,‹¾DŠ•&S§^¹îX[om¶ bEö„‚ç¬×µxëÕ ·Þ.^ãâòô”a’Ö¦ywõ]Ì×—¯m?<,‰5(^¶»ÜÙ«¢Ç—ÏŽA ¸¡ƒ`‚H'9E̵¯¯²L7ZÄË1œÛ¡áø‚ó®ÃÙž^f»ÃW [S "7/÷íçp¼&éi†´—Ãö$ÖSƒ¸o›ÿ?¾‰¬äyP=|Gß]\C¼^<ò&ØQ±¤b#c¨•^¯ÅvB‹üqìäÇ*ì°ãо5’ gdçž_ÈwQDà!*$&€ˆ4Òˆè’á†zÁfÚ‡þüp y>Xbw˜âÍ?NŠ.atáÞ. ‚OA¸CŽ:¢bbX0ÜŠ¡¤Kèì"ãùÓ†ŽX¢<ú’…¡à‚‹ ~ÄcÏ’¿5ùd™;ê ãй¢–[ú‘DK‰IfŽ:&€¦=z#V#D´éBЏ„EáÓ9æ©gV2Äæ›Iz©CbÞ8^¢&êÙ#-§Yÿ¨e”&!DšÒÁ ™­~êoÌꇠß0”êª$zú*˜@áæ°µøQ¬AÞlzŸ™R*ºç¯@*¥ÏL‹Úóà˜¬¶2KÐ7.Àé‡"YØr?U`c¹ÚVIg·îÖRKâ4[ NYŽîd@©ïÂ+¯¨Ë¹¢(Ÿê2´ð»þ†û?²X`Šo“ù“°Ã*â/À˜±oÊ)³ÉŠ˜ÊTAäO7ÔƒÆË1ûëoÀ5£Öä.k¡3•=@-Ht˜8·Õ•Ñÿ|S‹Éµ(­H(3©;DwÕþ„â¯ÒÏ(Ë7“tsÎx…Õ@"EÚÏ8@´ÿ-´;7Hí]•䲿7~¤=ó3YÔB¡%õZ«áÊ9 ÜAYdáÈçz‡Ò߇Mú"¸SxTÌÊyBèl|ž… lÿv³R‹m9™ûÌ#lÄþ¹"¹°þõ€”|½ÍœãÆiÏ»mðµµ’'#öBÛi€”hR#I*RKËæÖFež™' Žžäϱ~ÔR‹#@Lî2*H“Åriï¹ùxEhÖaJ¨oÍ«ÈÃç "á`˜Bì[¹q-ÏUÔbÜP#. \‹cìä"$‘ qŠä°ÊÛzCNÙøGD-æ³3ƒe“,zàF–¡øüŒÏµÈL3B´Ñ^;l€NP°tÏ(B„¶BÕÆ¾LfuIž¤¡µÖ]1k±¨’ ]ÕKŰk#DàH{{ùýöC:FõYKᎶxóíÈÞµ¸=®7>¾SxÔ Ë¿ÍዳÑ8ØAeUŽ(é,23ÞŽ<òl<ã8€q­Wé…ƒ‚Žc§¹ë¯?3nb·à ÕtC0kŽK®¿ðHÇ•êñki…HË7_¼ þ YLà ªîHN÷=Ub‰¸PáýÈ&ã;Ê̓kïR o`®²üô£_¶‘?ö.uAûÞ 6ŽMdB¸ó x÷4‰ááÇ# ã‘ ƒ!Ðó6¼dy! as¾Á†M€b ôÄ¢2œáÇâ…±€!ù ÿ, -6ÿÿ H° A‚ü òw°¡Ã‡yºÃA°F3jl$È’³¿8°‡Q£I„þlqãô /cx;yR"E.sBÉ £Mˆ-Å•S'( LÊàé§Á„¶ÞÔØ‰çèѪV“nØ`©¤S›0@Y¥ŠU+Òh7È#ù“c75bÇݺm½´hÑŽ™¹1¥Ô¹ZënÈ»c×®zˆ#Þ!ÆçC°“è ΫøÆY+Nì À¼¼c0a»ˆ}éq÷CDf¾bË–½«›W‚Ę>½ãîâ]zÈ]ñäµC ÙpfûŠpå¶@AÃäá%̹E·EþœÿóÖb^r_ß“ëÿ â\P(n”{'¾1 k‡ìE§¾}8€4+[—Í7¸3œvO]qƒ}&$¨ ;M d^(ºŒØ.ø€ ùÓ€wp˜Ð¡‚TÈòÙ?‚¤KGœaÝBNýÓÁ*ÈÎŒ&PÑÜs¡àâ‚It€ácþ,â6 &8#;¨ r "u€‹ŽIà2¢IãN2Θ$’¨$€ ‚¸˜F.(‚Kƒ òƒt˜p$;&$Ùe— $PG+39éB~œ™QBBéæ‘r&Yg:ÜÑ "Ù¹ø¤<¢ š'ãÈ¥‘ZZ§ˆªÀÇ…uàÂŽŠ$!)B¢ Ðæ ¨py(¢‰æÿ S $*ŸŠ(r*TCbZè¦:›è2 ×Э~(òŒ¤Xy©›¿*¬|ÐÒ¨C¢&«HŽ ä Œ˜rI§°wÈú^F@ðéG-Y0»H ¬Ê ìÄúxRêÖòL·5rEò«% ÒäI²µè{ê?tC…´:(0ë¬H-p{?>¸¢ƒ ­KqFc€~uà2·8ÐÁ×âÊlðº+b€Í.GD„Éøñ Ï.'„Q#iðÌÒ.„ÙsC€úÐ@I/E¸ðû4ÔºsC=ܧoÆ„Rk‹¡u3Àa¥¡áU#ßàHŽÔBÑOéƒl—ÿ¶ÛA·#ŽèŒw¿]ÖVGŽP(l°A¸çþ 2|}×âW} 'I<"9.h·|/ÆùUœt•r-ˆîH( #nå<¾Õ3ãWÅ`‰7?~“Å#/<’µ†ÖFwõhæ÷X  Œ½ÀÆ Ø?³3ÃzëáKbi!EU épíŸD}-ß$.ÀæÏï´'é,r¸·.`¿É ~pÑ÷óIÙ (œ1 àõ̵xÁ&6‘‰3lŽ.WÁCô¦w¿ƒ! |„t³—ÐÏ|„šˆTå%.ñ·ö” `0AÀ `@A:ÄIxA%ð@?[ˆAà* ~ÂR…!ù ÿ, +6ÿÿ H° Áƒ\Ȱ!ÁFþ¾Uá¡Ð¡Å†½YBçàW¥C>Œh ÆŒ_¿ðàùõÆŸH‹K‚ƒ %•x@Ù«ø² Äo2¡Üĉs(:O=þ¬‚®†Ð›P‡> jÏ‹™:Å3”+×§Š…"ÏVÞ´NݰVì†;Ä é„‚˜ÊƒâÖ-Ü·s׫¸K°«J¯ˆÁöoÜÀ;K®wcÀŸz&ÞÁ ¤AAè9²¯Ê²uðôÇWfÌ’w!qYPP†3KO>=@–-OÙÛåËuñã7vüŠáç“ þøŸ?fÇáPüÝ‚ÒXÿyò ¨7ìЗv8ï‹w»ÊÜEº.˜Q/ŽõÊ<÷îÁ_f—.~dÓ‚ê½äI 𙇄&TèÎw‚àâB.xSHÞ´ `…$RqEE˜.ž%…×’h;3zá@hè‡ @ô„×î`C…Œ¢ÂΑ>¸ÔÁ†I$ÑãY@)$‘3²ƒÊ•WŠ€H#KºàG-ÞÕˆ ãIÇŒU‰%– ´™1þ,™„~˜Ú.¦Œ£Œ¸òÆZKèä! ÊÀ´I 4¯À?„È¥7¾üÛòB œ€ M|¼êù¬¸x3ÀÀüÎüó™Ã²à øïo/kP ˆA Vìf!ù ÿ, *4ÿÿ H° Áƒÿùk„°¡C„:x –†§‡!J ÆÍ¨¿fØÊ˜Q¡§oWÞTõ«%/-’<Ø(âD1+¡àÙ E'@œ™ÐŸ§ ÁÄÄ¥ÓgSž?›¾aø°¦Ä*0bLêÉjÏ \ÃBÁ0Ô ÉoÝ”NËìW(âÊu 7.” T zâ6fÒ¤rw¼a0`Âë.<ÆÛÁHºFVeTîxÑDÚh¤‘M µã’MšeÓîÜÒ&°S啨¤‰Ê‘ mÍ™Da6q¦‘kª©'* $F ¹ H¸0dÕ"²Ô©b™x¦ÉΞ}&À'Ÿ:ÔQÍ8 šE u@Ž˜7âù(¤‘–ªC¥X´rÂ8Ã%”Ä …:ÿ—B¨êÙ§ àzêw¤¢ê"ÊÔ”—?IÔòL(T-Bšjšzª¼b²L4´h‡±µlšä£Né®w`‚BÂQèP#~‹¬@\á Ÿ·Bn+€¼·CþøÀ›yyÒíwTcÊ8AX+#ºÆÂ9P# €ÁÇ8öÊXP#iì낃žt`®Äu­ßpücYlê È}@Š„ŒrI.”<Á½/ô#lÔârÍø&Á†# ó¼psß°ñˆ"€Ö,gWì÷Ì#@Ó\RD‹ “B 7t‘BhðÈ#Wh¢î`½‹ah4çI/D‘UötSv»(¶ØiOœÆ#/„¼MSDö$Ú‚¾È6˜]=å­—#›dñM^51Žà„çf÷ávµÓÛ5âÂ&›\܈䉠Çt˜#îÓN LuPÑádQE Ü`8bªw…(• ó†'/œD8›ˆaÙÝbA¿ðÃöÜÐ7/„ƒæpe¿ÓO¼£cÉ"Km–›¨‘}]ºwoIÁeË ±ð„ÀòÎÿ]û2zÀ;5_É*?(|„f‹XT"Áß…6Bz/ !ù ÿ,(3ÿÿ H° Áƒÿ5òԡÇvòíJj:@ܘ°Qo‹,¨ÄiÆ/fàXP"H‘1@ÉD€M<'ñ0kø°‘?OAx\#Æ$™Pð$UZ“)Ó_1<*4ƒ£ 6@ÙÊ5éV¥_½~eË`£*ò&mر¡­[·P´r•Û6®Ý­xFü!o[¿€¯ üWð[­Q[NàEp=¿ëIžŠÙ‚mW?X[YdÀ Ï|cGÞŒÓF7îÜAi´™-[n¡‘Ãã?ž°ñÂã\q§s¥• Z=ƒaVWxøÝ’ áÀxeaÆ7\]%¥†~l²Šlޝu˜\/UÓ œÀ@Ÿ‚läsØwuÕÔR T‚ÎU³ÈoL&‘OX¶{…Sî0¼L.Ô ‘Füò‹M72ƒîº,ÿû½øz2‹õ×'ï{óŎ܈-ÁØB÷5GÔþ@!ù ÿ,%1ÿÿ H° Aƒ*<Ȱ ÂFþ»#1N4»ÉB9K3MÚ.’5yåò ÌvhúqÖcböÖddÀÛÄ ÷Ûµna\yU·YÈC™`ZÉ—]_}—'ÏÈø`ƒ.ÖXJ1•Ô/3ÀÐ_ÌG8ðTX`aî( 8À’è|ðFÁäb y5â‚›Ç4Cê•°îz°/ܹã!”‹o ¶ _/ÌCÔoÉ!ù ÿ, "/ÿÿ H° ÀF*\(ÐS ‹xHœHQâ•3jü‘¡£%OÿlÅè"oÃP&On€ K< ðÀü…gƯ›8ùg¯Ë†@w¤\¹Ò¥L(G¡ÐD*‚J;yt J5èP—F6mŠ@MÔ.õ€†­Zõ*”¢X‘ÆØ9쎰õàÆ•·ìY¢g1DÝ5·¯ß¿u]©÷ŸräÜqù³˜Kbr>ì4hÙÈæRÝPø›  C+ô·Pá_}ƒbôϳÁ×—vØÂ‚vÂÞý¯Q›]¾P÷=³³ƒnÞ¯}‡Ümâÿ€t@¾›Ç<_p˜7ß¶ÈqêÇÍÿÀ\»¯]‹¢ÿÚÞ¼ìðƒßòOƒ¥ó+ŸÝD87¤÷M<0ÐÆmDƒ ‚Ñ$Ø,Fh‡ þÁA¡t¬·HttH!&€H!"Ra‚‰^ÈÎ…MЈ+²#£Œ&ÌHcŒ)ª8ã1Þü„6²ƒ *Bº2ä2Id’6š ‚‹T()eC&`¥”¨P‰¥éý˜¥•W‚©ƒV’I&˜aV‰Ê“>ÖQæ˜pŽy‡sÆyÇxÆ™@ô r¦è „"M4Æœ`LŠÆÁÀ8ã0ÀÀ¡”20]‚$DiúuZZC¬±'ª@˜Ž:jß4b*{¨ªº*u­¾Ê kª²"k­»ÝŠëkºîZ'™úúš?Á ûk±ÆäOª yâì³Ð>ëÝ´ÆI7­7A€äIä@ðG -ÜÒ‚páŽb´ ‡°«Ç-ü1»ÜpÆx‚`½UmE¾ž|°ÙOd¶™`B¥TE¾é5ØPB5ܰÄx­ô°'B,…Ç]h¥2VgÅÆB8µS,7¥ÕV75ÃÆG¨Ž8çœ3:ô,Æ?ÿü odPôѨŠPh›2½©§ùý!ù ÿ, %0ÿÿ ü×APOžü5ZȰÑÀ‡#Blô†1ЉAÃmX•Wx, b¡Â† %þkÄl‡ËbB2i&¨›58Ũ„Ƈt>ã!²ƒCþļ|¹憙P¡âÁe*ž_Xñ̘ñæè?a–ŠuóiÕ³T­NE0µë@ ¼êÕÛ1wîX²PÌΜZÕ*¨`^mí’K¸0aºvÊŒÚ×ÞC{ZDˆ çÆ _»|ÕÓŒX®Ø²fñ€ZôÐV([@±7îJY²È‘sYrËvAoÀƒHéP¾¢\èÏS‡‚A¥8ÌT§‡BuPIýëÌ]¢ñúÏtðêýeÿó…½^ù ¸Gÿþ!¾ÈÞñC=.öíÚºN|¹t1DøñM~3O|ýÅçË6¶@DD"(P#møÒ ƒ²„%šäRRBÃq·3ý¥Ø /Ï]è06-páŽvtÓF4WØD@á 9)š¢/´øU&4éä“OÒAMÈxKP6 3^yâ;`‚‰J˜dRÑ$;Yf G}o‰À*c‰JrÖ)f˜O‚i;T´˜+t&@çœsJhp¾)æ˜&ˆá@öÔ!h:Pj)¥•^:é¡r¾ÙÄw bJy(Š ¨Þq‡«êàê«®Nÿ*(œtbÃÞB¹¤D©" 0`Ì ¦P² Ëä¡D*¨ªC™ö ä…DàâODÃùS\@x³Z°Ñ;މ‘†‰®„RDž„Bºé‚×»ðÆKiÈrE4ãøäA$ŽÜžÛ–™e7Ì3€p1[>üÐÆ-ÿ¸+B& ÏR‰Íg³fZÁÎ 0̵ñC^dÅ$ÖaMßµÃÓPÉYyå¥Y0ÕÔÛÄ@°@<8ƒlQÅØÞj?N%h•LûÍ*•pÊV3¨¥8[ð½ g\A‹Ø2ÎUX’ÁÀ †3•ÔPÃM¢)>U%sSWbqž)È"¹ä‚ù›{žÖgË]@!ù ÿ,'2ÿÿ ø¯‘¿F *\ȰáÀFU öƒ‡ 9ÜØÐ_˜6Lš$ nU®,â)#G‡@Æì˜93ä(@ªãd•`+[&äØ(X=šHmÞ„ÂÓ•`¤ûÔ%ÁFHŽjEZ3dS(xœ† û ”ƒ¨o€(ì0¦žÛGáÆ­ ’é×±dñ ¨¤– -.7vùrK˜0ÜÃu—†Á/þøa©MräZD¸ák°Ö·]—ÚÕ‹§ŠF‚B…êÑ W.»ÓÌÙpèÑ ì-´5aõÂŒ\/Šín@„·6í¢ó´ð[ï¾Dú³uyÝ § R ýeÁ6»lÏÿœÄ#ûÀo¡p}óþ\g…w`è~ÞŸõìÿyúÓÙóÛ0‘5À}ùýcË<¾Àñ^=¾tñƒyØD.4ÜgÞF´  öw†- áÜ29m\KV)ä&ø^Ìd&ä˜#&4ф"‹ ‡Hʈ„>˜ÀŽ“ìDù¤Ž9RA6@¢( š¤/äI¨ e™fžÉ*:NY¥—pîØ}¶¸Rf  ©g™®H%•NúG€5 ž è€è¢¨ä™§ž}N)¥Ža>„ˆ)E˜sÇ:tê©¢Š2º§šìТBÒŒ,|œ`Š©¨ÿ°é§Šª';=ÔÈ'é!2‚ ÂÀ (,ƒ‰³ÖŠh™ìs!Aè¹@_A©È8ÈPÒ ²Ö¡¨+m<[h.¸¤¡+†¿a¶|˜ÒCL€K(âz\½ÿtŠ ‹è¯@¶àâ»ÿæ¯ ià[ðBþ„’„¯ ³'H.à1Q¸à¹7t0½sD(~2G߸k'{œË4p…=‚tpÐP!CtaóD ÇvÈ2sÍ7+ /]ÐT˜[¾ôü39BÓls‹ð3IHtÍôVaýùü‡;QóCÁ8°˜R š\Ÿuæ5ÓŠ^0•Niƒ¤7WjwdÑ/ª<¬RƒÙ¿ 0–]ˆã‘ÚzOC!H.?¼ƒƒ/Ö˜áˆ{uSH“è]ä‚ðPùå5ÔÅ/‹ \QpFþtà å n6caåÒ2í’SþÆjpbrË¿IgóB!ù ÿ,*3ÿÿ HÐÛA5"Ȱ¡Ã‡ ¡™$ƒ˜*Á€(\±cGovìØ0rC 1éjäè±e£a"cn˜¹ ”5>üȵ’eK†ÞÆÄZ²¦M( jÀH÷ˆ'…?¾¬GµQ‘4ÚēԙÎE=;vàµËWUª;¬Z-¹ ·xðüšÁ F†Œ> vèæCN„fÏŠ\[Óè[·n!øõ‹“½¼;L5ÁÀ¢+îþDð8-Ú¬pÇÅS ÈCÉ&|û§Ð6²Üý Œ–­ÖÑ G¦¬:¢B —ݵؼv$£ncØr(Aùó$芬„}£{w¨4«Jÿ‡PU& ºÿâ'‰‹ð?½mó% öH1ž: оÇF²p&ØH?@æ-N ŸDÕA œÕWO};ÄÐC¶4M î¤s„.é¹tÅ;ÏFÞ¼`#÷ük-?Iâ»ØN0ø•ïá?Ëv6š{zb#‹Bž(Ÿ|ôÔH\…Tò˜^°Ã€v#ˆ"Ø? P•ÒQGáQIÀy*¨Xh!€t`óÁÚ1â ¾¼v“‰( ¤b °(d‹‚Ä t£/¾ c =þÃZ5:¤ì´x¡ · 1_AþÈrL å$H* èà&C²x!\´ñRDÝÌÃ$d6F”j2€…›UÂä‹'þ\AÇ<|úBfŽõȃÈmÜ „Z)ç…ÒÁE7=ði“Mvñ¦jÆ¡Â^ÿù"€T˜À§­d’Ù3þôÔˆ=¦(k¡²n‰!¶2¹Ë½ÂÔˆ i¤Q JÄú)†Ç± 3IjÔÈ7.¤ .ÒRûæ•ZÎjÂ<Ìú*ȸю;'‚ûæˆú’A·=Kĸäâ2A³Ïš2h•XÚšA³%ù+...à ÃÀÑŠ9p¶HǾî vòRÌ]#´˜¢T,Ü1ć‚ipÀZЀÈÞ BÈIHL3C\±sF6c'ô—mmÔH0î0svß°Z4wUìrC6ñ$ÑôÓF§AT=7¤0šÓX}ÓfØ(ÖÐ *‘mG{h§ÍÛm×ãKìý”7ÎÌ¡M÷GvG0 Þ w` '¿àqbBéÑÀtqs'Hœø]·¾èÑä‘K9yåž xæ›NÒ³€ŽTÛ€kÎy䨫ÎvMõìÒ¯ǜ,Fwݶ_ñóÓÏ¢QÃÜÇ~+h Ç£5v Ì7__#ÏúÔ[öb€âTbäƒø ,r~CÁ©ï€ûïÃïI0Ôÿé!ù ÿ, .7ÿÿ H°`ÁF‚:42Ȱ¡Ã‡ÿü 3&×Bˆ3 ”ØeÇyÜ]ÔH’`#oH:îØ°C#Kfl$ÌŽzwtÙ°aÒ‡E1e>Ä«žQœ9yB©QE¡Ð‡xøÐãk×M¤7@™„èÓ† ûÁe×Ñ›Yµ.Í$è×°âÊÂfmV(x¡Ä°øÕd®¸‚U‘sãì]¼x@¡Ù÷_£¿D&DžP¥…/È¡àÁ#˜¿¾pGþ„\á£jñ þõ±ÃF@¼š$â"M¨Ûi¼9g¹îʼ›ñpjêÖ±7/Mȹh@Q’ç.\|[V„ºJ5oFð«kPš^LˆÿÇÖ&s?Ï¡OØhÜì©5ÿúå C‡þcÇN¼ :äxÕzI¸ÄzìuÐF‡i·Ý/ñ4Òˆ?ݸ‚Š+ü™Ðäu zèE‡ Až@€Tvòq”'|Ô‘@¨Äˆ ýQáN~ä¨ÞAÞ0cNJm:A,ÔÈ"­è Ã‹2ÎØŸ ¤@`#ÒÄ‹/øö Ø7R#DcŽ’/£†ìÐáÅÑI‡Ÿ-–ùr™oZMbÉg!dÊd2I#M€K(ëùc/pÈYO–+íPÉx6äX(¹¤™N²C… 0aóÀ‘h¢GÕ³Á²AÄžd.#&ˆÿ`‡=v„Šh¢Šâ$Æ7Å5|’‰JŠG‡ ¢&+§¾t‘'½¾fË%JXÊäŒþ!+ž¨rú²Í0‘’„P(itcC°×>™-²ròbK´¯åâ.iÔKIµ—˜á†ÈÎÃKª$ùCD(¸lð(+#¬ýÍãÃrÁ6.óR\ðþøH*—6©!à …WŒ žPw`ÊŸÝ„«‘?ßPÆŽpMd¡ÿØ(¹ræ"u°ã7g`Ý8¹ØÈ›W¨òw÷NÇÝeäç1÷œ@þüàÕ;ä\’?hÔ³‹Ï(‚KÐiXX‘¨´K6¸Ä<öÆ@¡R=-´¶6PB†`=z´AêÜ”½®a÷Ý7ˆÇ÷Cè¢wûâ¿sûSÅ x|ôv W ŽV.•Ø]S=èm9e‚À@šÛ6ÝЄŸÔA ˆ…“/p™ºÐÁpòwM”3¾v#¶Ä ¹J«;;y‚ Ñºä;Ü@êÃÿã ëˆK^rßHí£ç„÷"ÍÓg :I^…î»wð(ß=AžTQC`ê¯Oß™ã¿üä-‚Î ºo¹zoÈ€ÿ>çñœ% !ù ÿ, .7ÿÿ H° A‚\ȰáÂFžªTñç°¢Åü] 3©KŠCÌxM—;6Lú(²å¿F¶ÐìÚQå†+Aº´¸¨E½Ÿ5mnØÁÓN‹¶dé4åP,6ü6¡[“Ÿ4…>eÖA*Cª.ÅŠr( `tõjjØn|‘MyŠZ‘é,((ì„`Ý|’ÝPÏ]‹þl¹k2lïÀo¡Â™ðcÖš„Ï^˰‘7"L˜ ÓÀñ?AIp¥I¹ŠàŸ„ñh><ȉcìØ‰-Ëñ7EI‚»néõPÍgicd&ªç¹E“ÞûÛOpázbЧ{wå/Ç™ÿK@:*Ýtz?öcýº‹P´c.ü³ÀF êè(½úßX×^.¤‘PK9Ew "~*ìç\¼QTÝ€*Ô‚6iÖ¿ÀDAøÝ!ᄹ±“ž?b˜„U± l±y⃠D(!…éA6¦áÉÙÈE#}x à@0 !Ä€‰;ž'¡T k¸d ¾TfI¦ei/å¨ÃŽ)²#9¬Ui‰;Àá‹@••™]WxÒäA%žÉŸn&P‘BU@§pÈY_BCž{vÆÀ;gîhTxqK¢‰ú¢(PCÅÐM‘:äOJì·Ÿ+Rîf§žvÿ‰ÌRjCô•F7˜øI^t¢Áñj§] €7‹ÜÚD¤KÝXãk«®» 7A(ûPD<;ܳ¸ðz&*(VëË bØ£-ŸžäÊp߯ÛM*–ö§óðr…?뎴ȸ¤ojàa æFG UÚR#äàÇÃK„žVS;TÜ2j¿e°K6´ç.¡±§g£‚M¶JÕÈ;ìÆ3%‡òÍ­ñi@N²lÍŒºŠØBæ}ýðP ä‹,F±uÑÌ¿@qÓ ÿIíP#Á8€ÇP;ÜPšÖ5rÅ ²mPÏÓQ“ÝY0 XMÓ.c»ý6(²Í µÝwŸsu“/äØÇ7Bp˽ƒ/îŒ8øHWT’7Mî¾øK‹8þ5äŠOŽÑ"1 Ðôá‘kŽç׺è÷Uî7M)H¾x|1X}S=)´-z|•Ôµ<™£{Ú5‚úè¹CQCïÃÿ>Ã"ÓXùòÍ; óÑ#ä°Ô!ù ÿ, -6ÿÿ H° Á‚˜â"M¨Pròî„ÂÆÚÕÙœ 3â¸Z Q”$‰‹ T­òÅÓw.Â:tÔ¶mŸ;(òÓ; ÕÃY«]òå·M4ÿüÏ“ŸóÕ[øÒËñ¥1¸ó½3*ÅM.£¤N½·.œgµ×äýãÉ-w˜bî¼æIüU—Âdí¹§ÆkyƒE‚¶%FGO=ˆ^u–´à_þbI’œrÌ™€Mcå¥áBu.܈†p€úä Ö3þø#§…b£.Ü´°‹QhAá#®´ˆ .ÈUœ6“–0ÃÅ 7¬w"Š="0Ã,Óex=˜f \D0/|¶´Ópx ¨3‚DE.¨Ø=yÒÇ£p¬'€^W±&((èXÂ@(‰ }œ…×\s‘>ª&¥¬õ…Î0ßøóT§‚äÿ .iY_b&°©‘òyªH“d„«uËià’£ –(q+®Š5çK¯jʆ%­(3Gø¦¬ ¸àB¨Bk*Ÿg\;¬¶yò µøq£o~XRij¹’êË  a ±ù#Æ.šd€¼9â2Œ œÝ‡ë ¼d`'ì:ä:õð’Å3ð†K(‹ gd\- 3qÅùóÁ¾ÀðL-i|ÓAC@“-4`ËÌ?!$;D0Å!‹D÷_ÄÕc‡h¡¬´75}CnJŸÔˆ%xlPÏ›f½‘'0],R‹]-UïpCjkÔÈPˆÔ`Ü5©´/ݤnw#ö€´4â27u×CÔ†?D5л×8[–Ô½C aO.dÙF§ùCl×}"~ÇÝHuo0†Ÿ„Hí yë°^÷_´äâPàž{AßTò‹ï¿Ã (+¿9ñÊ ´¥7î”æ!ù ÿ, )4ÿÿ H° Áƒÿ5BȰ!B… ¶Ð¡EƒÇ53FÞŽ1ž.ŠØÈ^Š1]ºÔÛ±cä+G:l,®•+Yn@RæÌ\îÔʲå${16òçíÊ8J‰T¹1”膫0zbd:N–œ&&"ØRj ”—›;T¶„2i¬A ÈZ‰p…Љ»²’l”k°7sî€ Ô‚4$X\×® lÞ˜0a€Ð•]6®ävï Œ›€“÷`#"iBù šó*á zÿ ª•mvìàxѺ7W’$¸ZTÕI8Fä‚>ë°}Ûn±Oûñ“‚/•õ\¶{ÑÐ ˜ßÿÝ1×ô$G¶ ' O ýñÑQ»1:0‘¡NÝúÊ«x´Ê0Ý}WŸcð–Ð~üéÂÚZB¡†‚ÿø£}¡áF"ÈM0uI¤°KKšµ‡!‡ˆáÕu9¼ñõÛo~8Hœ‰îQèI6çÜXKy"¡„âBº qKPlpâ‰3€Q4†‡› Tø H_E¦KHü¡UL¶g"Y´#x¢=f .– ÃŒ˜óøbgUÚ9Cg%÷m 8fD0ˆÂáË.¾XU"޼±Pñ&=¢rצ‰*ªh=æÄ €Ç/ÎxãI_^ºà‚)Uºÿx³zçpk X 7Á,âÜ(.. óÎ&š¨·n°Ã$“Ä€D0At @@ð"DIé õµ9+³¦äA½zrmA@œNÏÔ⇠Üš¬wÙ¹Ë.b0C­µ±gÌoó“á•óÜÐï¾®k5Ôón¼~L0N ¸b6LqÀQ¼¸|ã‰?xBÌ1î0s… ,“,’'1@QOi$!ˆB6ûD;´@¡Oá¼Á ù!-S#–m´Ó>á Å.R=R#èœÂÑZ#D%;ÜuØqM´‡¡í" ,ͧÛùà Ñ<ÓÍ- ìI Çqz#ä‰Îú4Ý%59uà‚^tŒ›ÖFÜ‹G^ÕòÀg9r]ƒ²Èæuà Ÿƒ¾×¤›^Ð"À”®:I–¸þú?@ty@!ù ÿ, (3ÿÿ H° Áƒ!\Ȱ`£‡¼ñ¸2Ì[Ëû1L̘3]&uÉ £IOvÕ[¹cÃŽ1<]|ب’=!QÉòåy¶6òç)È8d²äxС§*7Tî¨çsR0œ-ŠF„+vìL˜ ³Èiš+©¶Ü°AŒÌ‚‹î$H€ UX±²°ô ÉÊ.,ÙN bГsëÞõòö _¨i_n€2É^Æ:+K'hÎP–"øú»IƒAäÒUlNÞœI’ÜŠÌž˜…'¶+–1l?)xJ†”g‚0gFEWl“ã{ýøÑ5o*UâÄO¤uñê» ô ÿô$ÝÏì•l¡à¹Ýx áÌßŶhï^z’àj±ãeà2|Ö&<'” Òérz¬·Þ0âÅå]œs?JÇ U“éÇ }ÿQÇ`…õZVDJ(.$!†PL¶^ Ðw˜f¼™àbœ˜†%@F~ë©÷ ƒó_"X’.@BàN -ÜKÄ%¸o”ô'‚\ÑÝ\ ÜeÂ-·`CÇ<óÀ‡/¾[Zâ{uÐ㓘,WfXa¹)¨›£Ñ6™‹vÎÐß?Aˆ¡H.P¢™p´ö曣º¢ ðK—ŒòòLI40æfb‰%(œ…ª5(êÿJ%è€ÄBdñÌÕìVª­ùr©¦;L2 ­0dÌ"øSÒ7g “…#YpA柩 ç.]Œ!ÊÑ,M}ƒÁ6YèªIßÝ5Ï ¼ˆ‘‚.W0ëìCQÃ.ºL@„-`ØEG øÁâÒ$ÞEžÄPÏ8 5bOõv °I 5’Á#’‹1ƶL2ßÇ$»Ã.1–Œ‘Æ;Œ¨2ƈˆÌáË }3É.ˆÐŒqÃ;„§óÊ@1òÏÙ ÊD3CÏ 'ÐÆî4í´@Fó2óÔãÅÐEÊXg•Á>H=µ=“xp5Ö WröÔþ SIS]g”3kOm‹3pǽW:u; ÝH.þè-”Þ!ù ÿ, $1ÿÿ H° Áƒ5BÈa#ž€x[ÄãÊ`þ*T¨ñŠ˜1ÛÎté2iG˜Eôă6Ý|ÑXÅW½›;rnÀðm  0ꈠBÔDƒÝØu³^Γ® ôV'ª«ìL˜€Óm!ÂFDôàìòt’%¯ž4èH`5«V^6Ê5 ©Ó6 ñê¯ÕÚ«¨Ø±ƒÃ%®ÁF<þؼ‹:¯NèЕ֞æ"ÇÔ)Ù Pån%ùlÚ—kM0î äŒg(ps­ƒ4ÍÙMQKÍ ¥,ï¬[iò¥ýø3<“v#¶8تñ€µÛßë¼\—ÿ<÷9žÖþZ%ÆlÂG‡÷ðÉÿ&È–¹ ·[jä¯Èz®&üaIX2Œ%f ‹¼•fÀŸzÈ%gódxƒ†7ìXyBñ‹„þã›^pЇ/p´(€/ šv¿Œ8!l1Ѥ#[+ÂãpBX£„s”LòÈ"Œ=uæ`n I¢‘àéØâŠ=þèàŒâñË ž…WúØYrQJq]É ·`£ÇtÍÙ„¡§hôé' (ºdÀWtà‰'þ4Êߣþ<椔VfCW˜Öئ 5‚ˆ¦œnÚÈ" †Úר¥šŠªª¶êiª­.GÔÈ8þÄjj#WÔj+§¸Âºë¬ºîÚ®Á ۱ƛi²§ÚR,³²Úâ«­ð,´ 5"-¶!i{-¶ÕNkµßb뉸­!ù ÿ, %.ÿÿ üçÏ“?&Ȱ¡Ã‡èALN;Èdµ±×â@…=úk• *TìL¨äb£6?~\á$ˆ -ÿyRPòdJ•r:ôÄk×®.]äuÁ€áGK æt˜dGÕ§ÿÙV¯ëŽz;vt©ÒÒÛ©'Qªl#´¡­]Á†Ý0 WKDuÐú´j+ë¿q»¼†Ý±Až¥¢é@›€*l@²6úX0á1i#[lR­‰[$“«ÜeîtSâ¼×ÄYýý‰+wÃ1©ú#ÆeJrmúËw.¨ Hˆ„ì ¢wJ8 ‚¡¸m( 2äÖÚ¼çOX=ÿ9ãõ:öaÛõn‚{~Už м*¹1à<5% ’ýP\}õU‚K~€8§’@H÷O#²”V’DfòÑ›J&ÜC„¶|ó t`P#þ Ñ•yxàáÁ…°ùSÄb¨4ö60“ÁŽ–àRE¡¤1q„ÕG!¸€KŒè*šÇûYÓóTž<übüãË4ê tiFèMÅØ”GM  ËÐ^é.õnƒŠˆÌ§Œ_WEŒBéä·'Y"âœ`X×ÁõtÿH»»ò0¸´ëÙhð¾X$O¾¡>”I&ë.0#cª&`³ˆA IfÚP$Cûñ÷ÏIRg‚ia@HÔi‚!˜ (4§ž@ *Àí´9º$á‚ ¡L`€-äÉØy˜`n.à’EA ¤’t&ÀAGüÁÌ0/¦J…ÁvPà I¸˜Æn5åE$`†9ÏÃtÞ'5Á•‘Ä7àùƒÎxXÁ0â&)~%ܛԈ wåU¡#Ïßœg†F‡‡¾^›«¥›!ù ÿ, -+ÿÿ H°à¿F *\Ȱ¡@OÈIè°¢EþNÔqe¡ÍDŠCl„¬NT¨\a‹re¢H‘‚TÓ‘à$;v&èx±ò¥CAÕjžD…Ó„ wA|ZôLJæP¢F±-ê©T¡?dwœ¢¼™³ÕªÙ˪%QœpøsØÈ¼aÑAÓlÑ@ØzËaêW…Ð=™€«‰AþôôgW= )‚¹d˜1kÍ­F›ŒS<Ðß0ÇõêíØ› ¿$-åJ§ÊÚ†Ú€-zô˜`Tãν|Ö¨× ãò¢½Cô†“¡*W+Tœ¼U4¼¶è.;6üI2¡§?SƒíFÿåéÐ3_¡koXîå5j-j¢Iƒ`:(ö×ÀñèÿëÉÓÀÀw"&‰W”,ݬbIúõ$Ö ¡—Ýz“ A ðÅo†Õ×MüÐ..„’_B1ñ2šqëA±Ar˜P` ÒgpìâÌ,G èB¡ÑAU#x´J•´TFñhec¤c‰ ¸¤" eŘP€O.Ìr\ŒFá¤#Ð ‡/ó„‘š¸@ÚdŽ ÊIŠKzL ˜@Ÿ•ÔÉ£¾ø²ÍHl3Úz€2 …~øQhiB@´ñ‡•tFÚjhè¥ÿ·)™xÔêÁ–¢Êew5ÒÁÙD*¬°õžz1â1f%)†2ª®¡ì—Áq;+ë¦ÉzŠ(H™F£º"jÃt‰èœAœq2ÒZ+(B|ʼàBûU#¶H‚Çx,H#‚d Ïqœº[ë/1 ‘ 9®AÞT xüÏk#†<*[ñ/Îè‚ . 3¼° ¤Rå+L E:À „7éÔÅ/xPŒ(-à¥É󢜆w´lä¡+ÙI5Ag@B¥ ™*xjó¦Ñ& :ŒÄjr\5® ¢¥Ú­'Ù…þNÜA«Öh {cß läInM›kMpù–wa£ÃµÖñ˜–hQ:ä¼6È”ÙOK½ý[×D“¶‰ƒðª×‚ ÉÿüEKÙUjQlÝ0cô7nt½]õÆüð”7îbÀF°…úà0Üõ’ïØÑÍ¢‹O,FÕ8°‰WS rkÒÓñzËÇÿÇðã0ÇÆCƒSõñ2u7MDÄ<™ ÷ðà—oè‚.TDbŒEeÔZót#VDÃ8cDiàÖI¶)§ßœD4ÒA†¸âÚT&À!â<ÄcÒK-–„2žt³Mrùé·Ác03.þA´ˆ;T€¨žˆpD Ç6ý¨øL¸¸3È-ÞP@á%D1AuðƒC ‡cî2½e /óÔX£S ç+€Íc¹à—„ Å1¤“DL0AšO òš/¾È騣ÀÉ{òù§Ÿ“pŒ.„b&‹<Ô3g8º• °àžEöég˜1\ÿበ~ø!"¡ˆ4] (R©ª‚ ‚ ¯NòA$}ãGIxJ„•ùS0¬ð'Š| {)Ü[ɸ¤1 ß$±¬ †BûTéHR-$‘üùe˜®;,±P€C.„›F(D˜Ëé ê$-0ð¬ÉÂñ¾zi˜x po%Uô‹K¸¸„¢ñ²ü†’KLB É / /ÃD#CÌ-  Iºà¿¡$Él¸ÚDB²Â¢@"L,âË 15Ú?ô›FþºÀ© D0ä ]|9ô¤X’htë´ÌM5bÀÅWçŒ ¿.|ÜÈ0  O,}zäI  P‰¬ 5ò Ür»Ào×dp"B÷“„\…ç’Lq”3Î5C{7ŠEFÂ7oh‘N'Dd¬±ÍŒ;Žb%–PžXoÄJÝ”e€¢}ÏþÔ79çÜúUÈî»®ñ/ãWØbúñÿøsf×==B8ýI”ý!ù ÿ, .)ÿÿ H° Áû`ª‹ëúî2Î(îÀ—Ôˆêo/“É+oü7!ù ÿ, -+ÿÿ H° Á‚üy:Ȱ¡Cƒ<‹ÂÇßËÿ5ÒL"5ÊH’`ÂE|ÌéH*WF–Äq\«,Yºdg(ˆÌ™ 7FÓpGÇÊ–¨Ø)eg‚  ý¡TyÔ¥U¥&²Â!gªF‰(Š͹s©V=Ìlý,)tYÑG[²KÊTë€n‚ÖfL$Dµ;ïÆ"‹Õœ)®tÐKÓ“½ Œ½“À•+º…é`#gËã‹Ç]5Š‘5k ê”Íš•N ¼ŸiFæ”%6”¨¸\—u„?Šcïõ&­v:LTPém‚Žrˆ<{EÈÖœTÔ¨ÕÉZ÷u^¨0ÿö¬Ý3L¶SÓœY׆ôžD²-Œ·ƒž|l¡ÆÄ‚*tÀÇ<1t3¸t PDW¤pC=Š¡ Að‘Ո🀇ٳƒŒÑ&Dx"H¼ìRÏÖÓï ÔÈ"$l¡€ èK ÷iD7œQƒ<  Û¨¸"‹;4ÙE7Œ5ÂC+EÐ1Ï<9úG ‚,‚l€ÇH!σ-6©f“`P BUÜÓÄk졎*`(ÐD!úã‰- ¤0Æ$P8 )l³K=Xã¡@‚±G"kp ÇÜ0@t°H“On°ƒ›;`yå.qb¹Í7µ|ÒN=Ì£‡;<ùæ;ìrC=`‰eˆÆ©åA‹sÈü©A7ܰC]Üpe£FZOœ‘":•5â 99ÀÿBLEÜA¶Þ/W–)œn»Ã$“6"? ÆTpÏ=(xqË=íDpˈÒé&@Á-·Ýn îdP0Û€úf$c´ ‡Èñlºòˆ+®·øæË­&æê˜Kê÷¯ :K Qf¸Ñ#Šõ)ÁS&LæØQYM§u„îdÙcJГ Âêöi)1çÔœTÍ™A§ ¶\YÔ¶âAµq×°0£oj4xàNy œÏÿlD$n#sÖ‘ ×íÊ7ðâgd^˜EŸe'ÞÊ—ï‰Á¸þä° hí7^0{ü— ”PÆ"î·ˆ0S$ØÈZ¨‚O4´E(‘'ÑL¡`#û¨£JF”P@xc‹? UÕT0‰Xµ†Úq`4-äÍ"Wt“/ÄðA0äÐB ´ˆ1‡Dé>ªÑN>Ù ¼œ!O;tQÏ-ܰË.õìFŠy"‹þ$²Æ>‡”±E8#ÏgœÙCM˜Y/‚Öcè»ðøÏŠmä@Á9çh¡ÅíP2=ÑCó`³i†ºÃõºÃ0©5Ì0´` ¤çÐÿsÉ%HÐÎ'Ÿhp‹!7Ü`š¥Ž*¬°õxR#Ü»Á—¶RÁ³ÆPÒ %÷lsË»tæÊîÀ­·Þv!S#h({Æ÷˜r÷´0†_îÙÅPl`/½PÔK¯½“t1F0 1îþ2» òL"Ïxä›oÃ;\¯<1dÃÌ–à’KBÃ|k//cȃÁ`0 ÄP  ( mÑA.በiðÀ±·üòÒ‚< ƒ ¿à!t 0 ‘Árá‰g‹tàÂ72ŒÈbdð5-t%èdPÅ2ÃÑ7~¤ñ ¡ e'd‹b»×t“y’DÍlopü\|.:Ûl»¸kÓŒKy‡ïw³ IhŒwãÏ…â.5ON¹Ak»ùæ3y‚¹Œƒ.ÒàI”nºDk'1æ«·é¹ê±7…ù뵫88í¹ô .¸÷n'i/uZÖiÓWÍœ8&=ÿÙ+³oßQ—þ¯q¢Å‰-ø. ٲ傂"y4€ÉSDÁO’5\p‹vO²`WrëÆÝ&·=ÀÇñ>Î^C{ÇÚY>:eßµoHJŸ>Ýž¡K9ÁÝ#Ìõïà©óÿ¸uI•:¥{$xÏžº½øÈ¨3¨l}ûûdv‚OÄôÐ,Tæ2Éòœe ¼´‚1Æ\Ë!ø°°Æš—œs ÄT@ 6xAÂ7ÿØ2É/uÊ3É¥¼ØÙÂ=pÑ %(´ÒJ·”ÚÊ%zÜ‚ 6¼,òÏ75àÒ±Á$P\ E­P€r铜±Í¯YF°‹»ì°Ë]œáj5ü  è*´Ôz霽"»AÛœ±Ã·]ì Oÿ,â´x¤ûK®ÑÊŠ¥“èz)¼òÀÛ…<]`àj)V¢¿Wä’WlpÁ …´H /̃ %Ô`{‚@<ñÅ}C%ÆWÌqÇ,`ˆÜ !›ÌÉ*ß„Å-‡'¤1‡Í57sÎàÝÌów>ÿ<ÝÎBKtÑÿTˆ´@À\´ÒK7½tÒN í'!ù ÿ, %0ÿÿ üר ÁF*\È0¡?d|øD‡hÜ¢E‚€tèàÉ_#.F £W2Pja‘¨\¹@}›ùÍÖ¢™5r™Ð–}@¤AfÑ)“ô$f¹8q¼%´gÁœ™búd€1eR¥` Na1bN¢1I•JßI3dJ©Ûöà”¯,Xì¹-3s©ª­ëSlŽ™ÅŠvõZ·ÑØR}ŒyBKÎB*&†µåe¡NK)£,Öx½;ön#û´„P ¿tôÁ§e ¾}n1(TˆB2'øðç¼E›¶-[®jiÓú=óÀ\˜³o¾OmÈ6:`–•ТNݹ+ÍÑ*õ§=f ôt6†(p*¬h-"5¸P#UD !Eh1…?kPЗƒÔÀ.ØDpK;k܅Æ6Ø»‚=°Ç'L–bƒþx°ƒˆí”q S0ß y2Æ$7èáEÚ‹!GÅ!5lÐÅ-]Ü#Ì99ðñ†B¬" d¾Ñ@7?\Áƒ=ÿi¤OÿØ Pl e —\’ƒ‰ø£Œ2´Ð‚ˆäv2>øàŽ;b@é|ƒ  ']tqÆ=­´Sȉ ešc:æ˜k(ƒC?ÿQPx €Çxà œȣÇ=$г‡?¡íSâ²Æ!øh³†77æ™»€Þœ'ÔAµ0>9.øazã£wúBÃûºB£_>û@ž¸@÷í¹ï>»'¡€Î»¬·'䉫7ÞH€!ù ÿ, '2ÿÿ ØÈS£ƒ*\Ȱá?[¢ð‰6.ƒj\ØÈª;uî¼K•ª±8ã ºx°ÑƆžz ªó®NwdÈx%cM" Þ¾ÙZdKPŒ.7z;F¥Ž ›*”È`ôêU©)X[ì ˆè¢E+1*lÔF„+W"nšK¥O#X±Ø£µîAOž¼- ’T`#rì¨4]+B… qëÈŒPÌjÊAÇv[z²¥H:h-XÇ„ÉqÔŠ˜ójÄÈ‘["ê ÐÞ<:̉Ó\¢ËæìëSlN)XéFÞ3®ï¿F |Áa¡“jÕŠ»Ò͇J׬Ӧeß>UÖLÿÙ³‡«5<ŒûËækÞ¼&”(©?®ö®Ti Чsç A†:sá„BÞl3O{"€±Ì2 tcAù„ öäÒ…\ãƒ' 5òC= ΣÁÚPS„=/QØÈ}]×7õì²Ë M\ Ê'¦°Öb‹Œ±Ã ¾ÜpC[,ÓÀ„?6dÏ$;tad†lqÉL69VDYÏ Ø€ÑNW\äOKZ*äPlÐå·ÜÒCc‹oTqÅ",¡Ù"5´é&pFÐC;×Tà7B8c…0 ñ!Ťˆ àx¸e· pŽkì‘Ì5n0Ð,rd“ /ÙˆÿÁ̤FéR#éà§š"ছgÜÓJ9þ° Ê>Žíá?žàà ²ü‘ c| ‹txt»)·œ ÚEZƒ>Z`•H"ã9¶,"  °!¸4bÏ p›ï®»òºéÛèÑ —T Œ9P …êøÔ4ð„"xà •ÔÐ+¿ôË©›“ÈÓ1ÄPrÎ!ç¨Â0>H|ñ3hÕ¶´ÑM a`0ɦÞnÚæ$gœê-^Üs =ÐàòÄÌ‘d4S‡†1ÈÊmî Ogè±MzpQ ðãˆÓ/µÄlWúA ÆlÝÅÜb(BC&³¼PK–-ʹ Ä"m£a‰"ßx’Æ&ið¦_ Šß¡È ,Þ¢ n‹#hùFŽ>Á#{zæ¸ðB(Š›þOèD(Ò¹ë9îG(Yd"í u†".°‘Dë®û^‹ì•óÞ;.µäî¹ò ù€#CÏP¸LϺõÑ»@ßp=.0ï.þ@xïñ´§@òç£ïýóñÿÓA~°O»'IL ¿ëžpAøê7O„Â|ôþ續($ !ù ÿ, *4ÿÿ H°‘§F*\Ȱ!ÃFmÀ`€„3jü×ÁP‚®˜#Œƒ7ªl ªu>&¸ó.Ï2Jö¼u¸¨Ò¡?.쨸rÅîcwîŒzõŠ‚4{¶:øCØ“ =*ìØ¡B5´ŽWšÖNÉ(Æj e‹}´3eÆFäLÈ54èP*ÞY%£OY{zêðÍVTž ½E€CÅDc*ëP©“ “ kú^•bEf BÏ [äV`£apSáX„s"Dˆ³aΜ>3¯Š©›â™÷E„l•æÈËWjÇTèˆðB΋0âR¥§ï”nV,.‚FhÏÓÂF?|‰ÿ‡3:pøÄ£ „{EÀ¤br¡Øœ!ùn”ˆÇpOˆçË<çÁ7'ÈÌø`Ì[,³Lû`W"0dOõŒGGç©÷B@\ц,(  Í!}¬‘H0ÃùÃM=4vØ„!ÇxáÍF¡ ’KÈTPÁŽ ñÐÅ4ú²Ëø ÉtÍÁ3Àš ‰-‹(1wºAÍ»èq o<N×dòHØcĘÿ=ÉÚ»tÑE6ºÀ×_<Î3bkt‘ ãü€/tÁ ~¬•†&Ž,ÞxU‚ òC¸øá?i¼°‰ŸÃ¹È.(â µlò‚jôM(Iø±l”¹gdËI(D~o@ëpîž<8ò‚#ÞŸ‘ ¼×"ˆ l¼ ôprïG-DÔòj¿}~(‚K/$A~ùð×R‹#Žàî¾C‚Hƒ"ž‘6¸à~åÃE-À?ÿý¯!ßHC-¨â=°!‚P`²ð¼  @ö<ÈïMp Ô÷€ö‘!@HBRö†t µp` ?Øo‡ a^¨àb„DŒÕÂ’øŒ!ù ÿ,,5ÿÿ Hp`£ƒ*\Ȱ`#d$Aذ¢Å‹D$H`!"¢‰.Š,èϪ“¨6ê0gJ"Å‘]¡båÉ:tÜaé2$Ì…¼°3Á®(JW*ïXËSáãËŸÿÉ¢c¢jQ¢¨\¥¬sçÝ»Q¯J³×á©ÈEàT]»¶h¤wî(%£.¾Eöì¼èµUÕÒ¤i•a¤ï²öŠ 2ûÊ}ûVÖ§ÂFmnøòõ×Dg:TMˆ B…ï0(FfÄœ=ýu˜ì (¯ÍÿÒ3¯ÛzH“vUG&}2ú¨+ÖgÍ”ƒ ºÜ`×æëº³yjäH›ØDÐÿ¡R‡š9¯Kí{Š¿\þ.ÂPϗμ}EXdù wØc9"ä1df1 n¡?hÔSÏú²ÌXFw@ðp9=È„§˜¡>Wh(P#?LB¡úrÃÞXä_̘²[hsE| uàÁ;PXá z´¡bCþ]á1­,rYPl`¥‘õñòHK2t ¶Y-5lP啉 \±TùóxœYe‘õtQä à€nš%‹  P'UB±g=»L¸ð¬‰l)hCÄ€€¡PЉè™;XwCtá€$+¬)ùXÚ¥C–Ìÿ`è¬Pjæ;DFõDpË6œ  É/5 áê«tð 5à±iž"pk=ØX· 6xÂ3ÌÀç$òˆAN ]~ùƒÍ:‹(Ÿ*º£zq 1^r‹)÷t1ÉÛ£×¥þ+O­ë¶ûn¯·øz‹!hñ 1]œ¹Á6T‘Km }ÙèÜî]Üp6zDÐÃ'ED¡Æ­" É¡¼j¹èì+­Ä¹Fàk^ (‘D²‚(|AC2'dn6]°¼APßÒÃG< XcÉ#HC¥±g\¹goø1 Y@È3áø‘tLÑ}wÆ$zŠá‚I’†Ð|þ1Ë#¸ §CÑóC:–à’„ Ð âB›þöO0.~0.'¸<²I81ž±åwk^y/lÂF¢>Aé!á‡ç›ä29å„â‚"Œ72#ž×‚qëJçžÞ|£/<ò ñ®ïî‚'iÿ‚æÐJŠøAD-À;ÂzöÚsŸyl\Ü®u`üž1¾ÿ仃Ÿ# p@ŠžíwÁøoƒ1@ô—† ïî«EAH¸‚,Lˆ “ Á D„´á@AfïR !ù ÿ,-6ÿÿ H°à¿F *\Ȱ¡ÀF Aè°¢Å‡Þ %°@‚A‡„CìàÅ*T €a0¤È‹þdQaw¥Žæ:zrù’a#™ìhÖD™@‡ŽV,)ö4ØhQìL@j³è¦Æùã¹Ô[ 8RÃJ¥šÒªSI¹Â„à lبP¡ÖLiôÝ»T”)…Ùàœ¶`á¸}KöÝ;ïF­36î£ÅF?vùš,¸2œl茕몎ÄÖF2Sn\KŸÞxMn X0O‚Úd~ëªv»Jl#CŸ½EŽ S¯žÊ¬[,z¤M l`©P±­‰5LŒx³ð7ΓAHvÿ/ØW½ "AºtWÔØPA­o ¶¸66iÃøz«Í3ŒZùÓØÐ! óa²Î+[üàOAMÕ°Áâ7™,Þ5„Ð"î$(‚"˜CM mL˜^1@Å'/‹4 È^ © 9$Z ŽÞä :x¸£ŹDòœÆ9Ôˆ?<Ø ApåO  ðâ‹0bÈ ~]`¸Ã6–œæ“Q¦÷à à!§‘Š·Meb¸A$RÀL›"yãLœ^ÊY$˜ާ'<+¬‰3U¨YQ#¶ˆQÃ/qy¨‘‰ú"#ŒB²<¤ÀpEpR6"È0`ª)‡ÂÿXÏ ãݰÁ/¡BI$aü‰ãšÁXŠG¡›Æ˜á »D0I$+@Ï‹@ÀÀN©úC‹Pxé"¢;ìB+­õlà@$GnÐ…¾È?»-§âí"Þ ôpË ;| ã6,òëBS RÅ$Cõ \OØDЂ<úÂ(Ï“€JÙœsc»$+Ï•|¹í°d ˆH3ÓÅðvëíGT2,4* „dñÍR°+ÄzŒNŠA $$4!м°ÜRùã \¸Aº¸àG.NÒ_ôòB8;C=µhx`IDu(±p  á„ó´Ùgû̸$ÿá‡ÛùCD-/PàxŸMßmŸ-ˆ¼°ÉቧGD(}+‚xi8ò‚ä~¨XùA¹`Þø?‚{Î&Yt8úA—ãâG-n7’K-l<² ߨ u#—kM»ªŠxþy.¾ÿ^ºð’FÆ'!úë°§á‚"µ„’FŽDž„ëÔà ѵàR ô8rrøŠËŽ}è;Ò;ûŠ _Ë3YäŽKò‰/{-x†#ØàðÑx.¨X ×`ž1?úYŽhàžø7:à%a¸p 1?(".˜ž‡½Z¬o…"‚"QAZNDà`øl Úp ÔºH@!ù ÿ,.6ÿÿ H°à@Þ52Ȱ¡Ã‡ÿüÉ2G"ˆBˆ3 ô×ÍU‚u*.ÔHÒ D*®P¡úHÈÈ’$O²c§R%KS‚^Â|(‘;3k¢Ò‘@‡¹.w:ô׀މ§?gÒ´YôhR¥™Þ€ó´+Ô©+‹êPìªR­p|ÁáʵëÏšuè¸c.šÙ˜ÃnøÚ»¶oÛ¯4ãʽ“*Zý ÛåK€Zµ}[tká4êÔbß)`p£â.;êí}¬¶Å¢F@~Pv{¹Îï¬ç qÖa“êé®ç8òi¨èñ:Õ£«;Ö¬2e¯¶É “v„ÞÍwÀo‚Á#T6¡ÒUï±­ÿdK§?èP¤Oí«…Å†¨Ûèqj%ªïÉ1 ±(kPP@±tºí5€E$dÛ?"‹võ¹‚R˜¨`Çuý‡G€Ú.\¼çI6)Œs‘A¨5 ŠÀ †çÍ€ ˜Þ»ts‘'cì€A §-Ø 9Ø8E…i/5’Œ4ÖÈ¡tg¤`?<ª‡A2ä äèñ¢Nž á36‰Çhå1ì0 ðHå‚‘I‚ 1f™èát»ì"]‡‘¬°‚hä´S#¶ˆ1&Ö˜ænÓAa襈*Z’B‚©¤†æ‹n… É©RdpWF ]!†§Öÿ¨ÞzõlÉ©+œ ÅìŠQ#þŒƒŸ~X­;àÏ©œ¹Á6Uø °Á [쀡²+œ)à³ÑÒéP#ž\€O†Ú »Ô3‡ßN²ÍÒ>lè ™&¶õt¡Û«Ø¡tÁËõŽÛÁùþI`=cAC Ä‹(è”·èÂc|‹íºøáÇ7ÜÔ@f$¥Š~ˆ;-ǃŽaI~$á£ù4À΀3‹#¸ükU`À‹%iÐl3ƒ8À?‡4VØ 2ÁI×ìÏ@ “ Y„SÀ3Bkä ¡¤á‚ȈùCD-/PÀÔTtv(¸¸ ˆ[î”K-¼°ÉÜegt· I(²ôF³ñ ᄓKá.~(¢ˆ'À墈#o² ßutxæ›GD„l.øâ¥ tºæµ­îH뛼àç±ÛµÞšw`»#®'Á{ï²ÿ®¹"D(òL?;òÿœ¸"µì…# K<õM°6ö<óÌí¸Ð7ø‰ïG-µ”ŸE뻳](zÃ_þíêÛŸU(‰‹ßþêç?®PH`úWÀƒ„"sñ[ åJçPh®|¸X_7’ò¥á{d.°—ÁÄ#ü  Ò\„Bƒ+d @˜‘€!ù ÿ,.8ÿÿ H°`ÁF *\Ȱ¡ÀFÞøiä°¢E‚‚J`áDŠC*ô×íª(‰Ù)²¥?YTرCE3A@X¶tÑGL™4O¢ÔÀÀßNžAZÀ1aB¦Ó“:tÜ1%HçÑ®(]Ê´ëL¡ t¤ŠæÏêNÃnøòg)צ@…Jm5ñj#O v­eëÖÄÛ¯ru˜‹æÉ,Rz÷¶]Lg^WAQFÕA ‘á…¾©ÇYÀZ8|}5°åÎ1;¸5'«Ày™ ¿*c6pæζaeýýÐÃè×w¢*XÙÐ_†I;vÌ®·×W‹E, ‚@§wP°:TðÉi°   lÿH>Û³/^Ð úk£.`›R$ñPÈÓŽÐû¿„X BN^%PSXw¨`Š7ùcK ¿Ü…xãq¶KF=tq®ñ0K}ÅŽ+u¸òŽ?4bÜ ¿ €‡„â%·K7ž`ÄM ø÷P²DàÕWu P…Q@¨ñK‹/¾8áx;lóCYq“/Ô˜A^½Çn¿…a› §DëVuéÓ–‡;C–ìk¯EÞRÐjg:°ŒS\ñ$( E× Ü6BƒÄÿ:4X=×µÝ<6²§” rïþ;¯Å¢«®D€*Õøaàƒÿƒç9ôÐõÜГ|øEÂv7ÞŠ³ÀFÔüB@~ƒùÜ7dcKr‰ÔH7UÕ0 ’ •ì÷Kyå=—3î ´H7àù3\qt½f25b :ûñE… í}ñÐÅö52N oIÕ]Fù°ÐÌÀyPüWÏ6W ÅhcÌv_ñqw“+" #ÈKþd +iÞcgüFÐ8“€&Ï0žÜ‡ ‚&PÁE.ftE *öh)„$Ð’ÐA VÑÄW>\©Ü"èPXat¢¶P.]D‡Ç ðÄrÝ}W´ÐB0qt ãuzG¶ÐMºÂ c †^ÿäOÎy9*z» ÓÁ"Ùø·*$+,‘A§1â·>¶K ‚êª+@ÉÄ S#‚À`k‹õ Ç žT!I´ÒŠò‹£XuÀL­·JwÆž3 ¹¢D²¦båÉü—®캀´Ø»Á$b&eâþ††«%ÆO½ÐA—'ma+ÆyÜî0†&¸,ä%ÍDb+MblQ”9j0ᇠS‰—æað±e‡ªÇo¸à‚!g$ÈÆ8C1 †y-"F –¤áB3£Õ.’D¢5‘pbIš çBÄià’„"4ÔÈЈ8ƒáy@D(¸ íG<›ÿHȳ°±É ‚Ô=A(SŸíÏñ@Ã#á° Ý Û8ÕŠ,®¶?D(ÂÆ H^xå‡ã⇙wŠ-.Y<òÂ&‘‡CyZ®w-~¼”Pçl|þz8á¼0ûµ„‚øé¸'·z½?2ø&› þ{Äø¨×¤yaÿÑ»,@0‚ù†éô€,,„ä V °Â†°{Ï8! b‹ó¥¯… tµ5vxœý«…‰ÈÃ$ÔB!LÂ7dHDøJ´ b‹+ ‘Š[ü† –¸ÅÅd¨'!ù ÿ,.7ÿÿ H° Áüy:Ȱ¡Ãƒ E!Ñá¡Å‹ý-’#"A‚(1Š4Ø(ˆìPyLЪC£‘#‘…Í;›¨T² òæC™?ZÀ1A”Q °xë铤§*z|ÁJ”(ª” t$]Ú”`Â+Ù|‰Jõ&N•:t(eêÓŸ-1»ÄŽ:µ*Εjy¶]ÄíL½¿c¥’µ{7«Žj\1–D2iÃŽ¿€§ ž×b@Õ”9 WÓûSP†JP?þ+@ªéÝ:q7Ô(V͉!>Jè£}Õ¡ žR\ά™³WOWÔüªm{ƒcÈ¥Ï@XÄö_p»9ÑŽ-°Qºðˆÿoúï®)ìùc¼5f¼›Ù6ZT Aøñ¶q×ËfË_õî.­æ^v+Åç}¿„…xÎá– yOוZæ0 ß"1؇Ÿhõ¤àÒAžŒÁ O@¤PY™cφ´WˆÙ7P‰;ðB]ÐafÄñâ1.Ús»´`ã?%:6užøàã9¹R¶T7_ 2÷Ü_'²Õä8C? Liî\1"I‚ÀÀ\~£Õ£$Sc"°‚™x’&Q¨½ÙP0ØÖn£…)?h8‡Ç +Xq¦,zdðF„y[Šþ„< ©<ùséH™Zg=v †¨+@ÿ"阊¡ª~`r Æ I WÐzѧlZ®!<4ÉÁvõ鑈›kOžÁ,$+l O´M¹êœhuî"ÆB‹ÆÃl$¡u®OÄ’‹0(Rºð¬ÐÜ·ÂZ$.~ø!AþÁn±Þ¾ “«;`..$Qð7y¢K±û:<ÌTJ¸X¬Æù“(36ܯC1ÁÈ%_Ì'oÀI$áÕÀÃË 5’ËÌiTìÇÉ ù(ˆ2ˆ&~¬SÌœDŠÔ‚2CJ2K/°nLC[}4ÒA{BDPÀ#c‹s(¡ÔœõÖÇå’Ø›¸ÿýȽr—íBÁw”¸<óÈ#/lN/Ä­u]8BßàR l¼àù&Ž¿¸b¹Œ<øÑZw'Hµ8¹çƒþ‚ @CD9..(’õÉ2"Y8â:㟿À{SB‡rzÖäBDïãÄ¿ðŒR#Oî×RKÐg!ýâijA„]uGD&{@ôÏÆâ/dA„ éÇœêß¿ÿLð˜Ÿ#Òà‰ÚM®bYëß3þ'@œ*}†{ÿü'¼,øáœšº×¿è9â‚ôIÌüà½ï‰O!òrº÷Õ‚P¡öHè½P‚ÓÝnˆC¹ @aÿÃ!!ù ÿ,-6ÿÿ H° Á‚ü5:Ȱ¡C„þù æí¡Å‹ÿy'GD‚Q:`‰PÐ/TØ¡rõ‘?’.b†Í„M•¨P%¨ƒl!̆:ŒKqÎMìp¢ÒQgœÏŸ ªÒâ†/_Fm"Å™`iµ Oa&´…äÌ®«XáÍŠ4çG DŠõtEŒ¼zx¯ÂIk‚mÛ·:Ly)µJŒIvàÅ+`¯ÚÇZ“ºÕ¡ãÄK‡cßÔ€%±â¼XCùñ'[d· tÜa6*] àáìy1Ú½˜ÙòdÀi©U j-0H¬¿~ᙽ¡óg_|ÝhÑMÐåF‹ZlU™š21¹=ÁÿÀƒ@öìÎê)°íÏ•­]ir5åVƒ QS~9óÄõœAŽ-ž'P#Ýб•}wXfP#ö8 Ë9·/@HP)%pL±öà±QØ™sõ¤Cüp…o ‚hŽ-Äù“Ò¦Ø. \vP#ÃðÒ†õå¤\‚$gçÕ¶K06ÒÀ)TA‡‡F¾ExªQ!m‹m3ÜÃ$FN &ÅÕN"´H%L¢ˆ/=8Ì€’9Y}ˆŠ9$|ó㠘ň╗–¹3ã[ìP!Ç8²h g:~V3+øb¬ÌÚÁA‡Ádê?Hüÿ‡èg»tÓ¬®°:WðÂÍnÔ ª‡×W´„@²<ÜÀ÷“7cp6«§¼€Õ"Àè <– ”=5l`eBÁHÉ»3$ûS‹ˆ˜(^Ìøx`ðˆ²B$ch+Vž]‹×6<ܪ $¢D²A Œbä‰ç&Š 4L@ù@Ig*BĈv1F:~¤ŠAôã0“ô8¯=cˆ‘..$¡²JqbòÂäÏ„ .:+²2‹£rÚ…=âþHDÑi í‡ÒÁÚØ$BO]µ )û±tCž¬O$²‰ªEL}t:×2vC@L8„Ì¢1anãÿœ„"rG݈FÌòÀ IDF§¡³µ¤¬FàòÌ „ã‡âµJ9§ÀÜQADϰñÂ&°9aEãœr-£‡•Ð7(’Å#¬¾I8®s~ ¸È~uä>QŠ"ް¡ú ¾¯ˆðŸ³"Ø×²yPÄàHó¼Cýï›þP#xI|JÞïHïâo²É#Š@}õŽÏN»"~À3²ð=6ôŽ~/p.±¿¥/nµ ]˜Î ‚´ ‚>°.‚Ï /È»@!Pé<Á¸p€Y0à#‘?W¥pxW[ŸŸÑ<6d! ¼áƒ<&à? ð{µÐ`ÙFÄZ¬¯‚ÏH —x‘¶eÏ…r ¢Ï—»ú6Ü"fˆ \|#ŒbÄŒ ´(Æ€!ù ÿ,+6ÿÿ H° Áƒ\Ȱ!ÁFÆñ â°bEˆã|ª“€„'‹ Fôá…Š T¨Ôa 0¤CŒÌZÐ1Á®&Ê”`:¸\“× 8@MÐd‡Šh‚|üíˆɘ]¾Àñ%´êÉ›:ê j â$1ºÔ‹ê«lP8V‰¢Ò‘ ÈÇ‹®¼‰1iÇŽzwÇN´ªÚ:t ãjÐ+’J  @Ù°!ïX_@!óÊîêQ*-’®ÒŒ_ðlXl·žif!Ï‹"›_”—Q¼-¸ˆShty%Œ“6ì¸z5ëÑ­IO&˜« ¡A¹ÌV… µ;vh Ǩѣ5oæ¼Ã€'Áo3Hîë0[‡#í*l]ƒžÔ ÀCÚoåµmÝλÁ+Å€¸LuÜAä1Ø Ò¥7èf[t×¼ÖW‚tðgk¦×Ø:PØ%èÉÙh(¥¡®Ç:E›oÃ{z­4§ìE‡áÿ¦x‡˜E$lt…ŽMÞuðñgHŒè×n[ q;ͯ:|çQøIwUŽ­×Í(VA¶ÔÝikñ²œC@p÷X*yôe•]µK zÔÀLV‰ÿØŠij±ÕÂ…yƒ ŠÞUCã?þp"`;ìb‹>ÇR9Õ ‹.RXÏZì¡qêðYAžxãtõìb GþØÑUŠu Rb#ö€¢›eW1CD¶$¥Ø\$¼Éœ–ÒqIÝ—ýyÁ™ظC¢GÝäd›D„&,Âù“hhº•÷d=€×ß‘À3L¢> “§¥‚úO#ÁDI Rä •’ÿÊËSýM³<Á˜*P#”X]ă=-éÉ ²´;È3†oq„"tÄ4LÂ'˜UXb ..$á‚~TÛR<+ ðG«>1Áià’D~PËRýàÑŶc¹J(ò’«ºžú0£k#þânŠøA0K¼x†¦ýN° áÖ;qG=þ僩 ÿJÇŠÔ2AÁ5ñoôÖ«2Ëÿx²@$PŒÜï¿×ÀÇ5ÂÃð Ãn#;\s-Cì’ñÌâÈ7ý¦‘Æ¸Š¤\ Ñ5„Dà¢È3/l²‰¹ë±u¸]×r³Ob“í‚"8òÈ i‡ÉS@.Y£,wÔ=Á¸y³ÁÆ#{§½I8á¸ÀPŠÝ~Ô’…#œ+Î7ßj«ýw¿¸P^yÊYdñ ç3ºã yÌ‚À3ªož…â{7žöï<#H¿ôÆ õ3¤¾9z»þù l0vêÅLyØ#¿º#‹/Þ»#C㉤,1\oÜØß¾9÷p~z8+:Aæ^ߎ;çÏH,~õ=!D„×µ@ö’@„ýõ¯%ÿ“›"ÒP@Oį0@(raÀZðTdI@!ù ÿ, (3ÿÿ H° Áƒ5BȰaA…¼wâÊB‡ÿ5òç)q²äx!ÂU ž2>„èÇ•)ZÌ›GÇ;v&P%HPF…¿]ù1L̘]»|)õN›¨¢&Ðqâ"A–Á~dSiÒ¤ ;ê‰]Úމ³7ÙIMPÄê@Oé*ú…§.°;Âúª§S³fÑªÝ &eAOèÔµ»¯Ø±Lÿ~ª•Žž½ùE ( ÁŽ­ç·lÙ³g£Z¦êV ­Š;æ»Ô×<_7xýÑcÂìà© ôäL±çÏ¢ù-…+<‚tðgI°TwleÎðëø]Ñ) /ÿê Ð­­y6+OemÐ(»¡ÃÊj}xÚµ:‚ôãóç»a ÜAÈ‚Ú`:`çÓCxç/8dKM•­vGUýðhyÕ³‹v ybT:%˜Ç€®Ma‰Õ}W˜šNSÝáÍ~üçØ¼ h"t¤µS ^Õ h,vxˆ }S‰;±W- Ä×b=/†8€oªM…Ò~1XùX 5Ò€oêñTä@4ˆW^a-éÐ"OÞD£”QÙœÍb ÖÑX˜{òYO >^5L`6™pŒäDøÐ0IzÃ"ÑÂ6¼xöCž(t-“ì Z‹¾ŒãP#žxÒ3+dÿÉgì(VÃÀ˜Ù+¤£«@ž„‘—<Û  š$áJ,1M¢lþ€D–¸àB~ø¡¬JžLó “@Äiàbm¶IüúÐðøðk#LJ¹¸`«í²*Ù# ™Á+/.æb«ˆøfÔ0]€ûP¼ó^+ð¶*ùcŲff@(¡œ„"CK .Pðk1Æi\›m-µx<ê$]¬yÕÅÛËqÊ*Å0Â;¯¹Ùú@*ïú‹È/§Q²½(Ó\3¼K8“¨Îs¬ÊAå‰ ¶ñ@ dKÉ.ø15ÊŠ XÞÕâNv-Y<òÂ&¹ d@É=£@Ê¡=îÚ8µÂÆ#l¼ ø&áÐ7<Ï\KŠü+v-Ï8"9”¿àöÛ„`øA˜<öâw?óLYH>ùß—cNxáÙâyÒ?“.zé“»:æáä¾y{û úè³×þÈ훨¾É#DÀhÀÆŸÇN:í”/¸ílD|CžÜ~Ô2³ó‘û=<åŽàBöÚ‹Š‘bOýsð—þŒ"瓾ºM6_‹¸dßyøSÉ7\ ÿ°f,U!ù ÿ, %1ÿÿ H° Á‚&ô×è C‚ ùóä ˆ· ãÚ “eG±h Fœhq+? K‘—=tš˜ b‚+T ˆù#$Ø >À@£†¼I]ê%õÅŽ/8&¢²›Š §OU™ñ OWLh'-à‡a¡³Øq;ü±ÓC¸câoÚeõÆŠÖÃËv5ÒMMm¥‡ ƒã^7A_#m¬åV‚JöŠgÇÕsƒ=Úrà“¿ÙBP“Ä&Û.mˆXPMÀAUz— äI%T’µWfDbTnU¦Ú@žxà„{AP'ŸX7X­¼øO#hèUÖ^-ðxP#²XwD¹C•õlÃŒÝfÂ}p`CBãhŽ»ð÷7ÃTÿ t?pCÙ"Ï]tqcŒ–'Ð7xYP– £‹%G$áÇ´hPV XDLJ¸$!­"ÕZK? #bx ®¸Óæb.DB ±.¡|›† ~(âƒöø†’þÃn(¸¸ p¿ÿìc JÐÁß&Áo¿ÏÛ_ Qbæn¸ã0Ãb ,fùî+m¿µd¬1kj”9q¾ OÛ¯È$ä:tÎ n¸,à²ÆÝ¹h'Â.Œ«H-8¿¼haHêI( ³\KË9#ÄC%Ÿºùî´Š(@-#‹¤EòÍ7‘ƳF5ØW3MEj/b@.ݪ¼´#l<òÈ ®²rØK€'žÅã€.ø /lbù&庮¿K_À3gñŒ#¤G8å”_¾I8òòÙ8ÓL+:ä¥KŽ:åáXž;vò›¸çÏ|žélþ/ ^y깇úI »â¢;’…ä‚+û&ËsŸ9k.t{ð£8èïHðµˆKk1¡'IÔ­øýc3ŽK(Dð ð„DŒå©¥á}þû_#’5%ÄiÖ !ù ÿ, "/ÿÿ5H ¿ƒ6:詡Çž öá‹hÐÀ@'†c1Ùþ„üëE /(Q2&ÚBt¿bþÂ¥æ†8ëÕÛå«§/8pLeGÔU‚' ù…M›9uÖóù3¨PìPi=š´Ñ¦Pžn¸¹cj=?«½šu«Ž®_Ö„2¶¬ÔªjMXźéÀNÓµ{Ö'мlÝš˜®)ͺewíºA¹ò<Êóè\í«c±×§qòº2nÜ¢EAR£^d«E⣢¡é´n½?þþéÞÍÛߟ¡œ=Ï›3[nÞÈ}Íš@GìFéj>Þ 7òäv°E…짃«ÿ¿®ÛŸœÍ°Ÿ£™{SçŽlÉ—wœ»sáìq–µ.ÿŸr¾ö©7]TðõçßoÂfŠ?¼±Á`„ñ'_#¶ÕœÄ08 ]dÙÅ‹'þgas6’„„}h`#vÕ–}Eh8V‡:µb#*ê À@Ðèáê˜`s­ÈH£Nzt°¢‘Gj £~Q©ˆ#9VHÌ@ÝÈÓÅ—`v‘ä5ÂLz´€š(EÁ UX"gGAÃd^×@tà‰Ÿzbƒ¹J¸¸à‚Œæi o,2„J¢Idꇣê)¡•â‚)£›vZfPiŠ2ªH©¦"ÿ׈=`©¨š2 D¬²ŽSk‡º©"ÄîÊënøÚˆ­—.Êh-{¬@Ê«Âú¡H-µH{l²¿"š„«ÐzË+¸ä‚¨°¯ní´žV›è¢ÄnÛ-¼Ñš.«¤Ë­¹±6D­­jËmݤð {Ch¶Ü\ ¹`@ÅçR(w<¥Ô:®Á#@Ï œÅÊY8â20³ñÈ /<∸êïÉ'¯üÌ3. ó#lÐüÂ&Goòˆ“9û[rÏYàHË/Ï<³Ñ›dÎ »æ\ËÎ<§¼²#l8òÈÙ5MsÖY?Òõ¶ö¦ü3Õd}öÕk'­5×ÿ-`/Ê'ÿtÝC[}õÌHÓÌÆ®@xL„Å?nÀãcùå˜_.Hñ„o!ù ÿ, %0ÿÿ lä¯`£ƒ*\Ȱ¡CBÔ ƒÁ-C†*Wxð"HO&t¨Ð“³_(áÂrÒŽIgÎ`à•MŒ;r²ºµ‰vÅ^ =5Z„+YnذcG½§õ|I• T²ŠaŒ½¡íÍ@Šgå(MBꫪ‰·ìL°C…*AD ýPYVéRµO©¶­ ç­ TsëÖ’· ß¾P6@JÎà·…Ù%®kŽñÀteû2m•rÛÁ„ãÊ›  ý¡Kj¶é™Ù²ñÚ!ÂyÀ ÃMœ@‡)°ÿü©"ši=rýyDТq¹ÚTi2¼nñÈ‹&ÿ¬öò†€`3L·µ@ȃ€bÎ’ô®q$Úºª¹½Ž;x)dÏ|J©µ‹=ù…uÕaÞýçMcã‘VOž‘ÔHݧƒ 6 Kä©ÅK 6B\þéðZ^h˜V=À–Ÿ?¬Ö EȘœK9ç5äoÑU—Æ!×A !Öã” ÉzÈ…˜{ï$5ü%a=mH¹P ²VÜã4bËPöL⥓õ˜à?ˆðWבÍA?05šZ7Râ™Y‡ÞtsP¦G…5" Šþ™ã‰-Šz¸C£OµàI‰>g¦kž´1ÌAÜð‚Á]tQ«ˆÿÛÝyÇG# 0CФaIº¡‰–Ⱥ¥e¶—À þÃÍA¼öŠKIøá.ÆþÓˆ=?TÁLî¸ÃÅ=Wø3@±þʺ¸¸PíµÙ$Aþ¤·MÐNJíZ«¶s&Ħ»o»îú¡Hñ&ˆÈ6‚6¢ï¾.$ oÀþ0Ƨ¯›FŠ(âBöáÇú~\mŠÔâÉ‘:;T#ìZÜr0£÷G3K;­¿µÔ¢#Æ y’ ¾ÚN€°Â~Ô€ÐD7D%)í‚¿!×¢ÈÐQÓyÆ"QÌ´ÖAçÌÐ8xFóÕ ·ÀÓ\}aŸj È-;í Ø4o‰ä ÍÖ*´Óµ$Q1.ëN@D.`KG|äw³ÏVuÐ<ÓyY|îHÏ”þvŠŽK¡ˆQlØM#~ºç¡?“…#¸;ÂÆî»?òÈ /lüWä5A˱›þù3£çÞûïÀC/ü&O vÞNÏ~;îlèîûïпI8ä‡Ã AöÛ¥“žû÷l|¼øÁob8FÔ-'‚|¹º¸˜–"žöŒîy/|ó³ßø ðý¡g^BñDÑ¿oA]¡Hç¼÷‚—uÍBó"ˆ'$èÀ€!ù ÿ, '2ÿÿ øÏ“§F *\ȰáÀFº*ÁHWåÊ" :ܸHŒ_ð ªF 1Ü*^ÌØˆcC3BâÁ¥æ† ;vté²W ?®Áˆ°åÆF鄬 åfÎõ¢ÖóEÕ×yzZ¸³Ó† þŒô§$”™MJZÕ8&â²£BEÄ1b|ü)üæ`&Ú›8×R…ãö-\¹ìعJ€˜'‚ªø¥éj=lߎË91*TŒ£‰ý×èZ¦9wÕÛÕ–°á·&ØÅFÅtD Ô I9°»q?¤È!¼y†9ÏNºZ…ö@µ uW›¢üÄ£M†`/ÿO ÃÔèFü¦…HâöèÈýÌXƒÑd™BÉuÀc‡È‚hä©àAAÔ@eõø0ÚBþ 0`} èõPú=µÃ öpäMó¦ƒ'œÇM8Y¦Çsþ0!ywàFP14õÔeõó B"y:¤Ââ@ÑÆ`=×mÔóÕWÞyÃl°ßõÜGñÅV*#ê~j¤•eþ%àlêp‡7%„<;ˆiY;ŽõÇ‹:T(7@4òÃ$qòÕ.2:ˆ&|–f‰¤ ÕbÖcY{Gµ!ß–"Æ(?î,â%܈1Æ]X掅ïù0_mä™s ¼ ÿÒÈÁ„‚KGÄ#:ÁÔ9P-àiŠ^´ÑE.þL0A(iÜšDŠá«@¶È§%}:ˆF9;\1ë²Íº„~H»‘7ܤЂtÙÆfA€bO²¡ØŠ‹¸~D;-iÙy"È"Wü,Ú²K }.‹Ë½ã’;Á¾ a×f;¨á ½Ìº€¯"»´‘?l` BõÚ*.´Š„1G@l³A‡þÔ«qÊԂËÊÙ³K%î5Âì½äæ[‹ 8¿Ç--Å.ÍíqCž °A-ùÌ0¹5póÓ !rC ‚´9ÐB×2tÑ·QÅmÚ m¾5ÛŒ6ìð†Q>»€uÖZÏÿM¼üP(4Ç@EqMäÎ’ÊÞf×€¡äb€ D%  ýPXGÀ3£“^‹Ià —g®Ñ?þd³Áb5‚KÜ’0zYdñÌ3Y8âHï¤+â‡ê–cîIg€ YŠDoöî£÷¼ð³ñÚ³!ü3Š$¡Kü×fµH_zé½;â½#Û?"ÿ ô¿°Éý/RÃÝmî¤ö¸Ç=ùͯ~ö»_8áD¬žÂ7ˆ@rñNx4 ëw¿M„cÎÒ{ŠÁ >NYàÞØÁM¤ÃoüBH ‰ð¸À…(Õ  „Šx†# ÞÅçaç !ù ÿ, *4ÿÿ H°‘ÁF*\Èpa#K0ÒýÔÁ`Ëv¨„àž5>üàä`Æ“ý˜ÑK<@ÉÃíOQ2ô(x @Ù@tdž]ÎŒIq%HÉœ:ÿñ`ùRhÑõ²fõµëF„ ®ñõb£ªZ=ªµž¯·oáø‚C§ ;MŸ6 âàeСXÛºׄaÃìLˆ8%Z„ eú÷jVpáÈÕ ç0bv¨P%¨ƒ2Á.…®§4Â._˜ k61Û;Тó¤P%(Õ€wì’ÕÈaî"ÜØÌ9±íТuD3=Ð:µ;°F’Ò  mRðÿÒÓù0î ªuXÈã·êìYÉùsبƒ rŸC£×q‚zJ4ª±U7Øã_Bžpa^n ¨àÍBAp”eõüÁÛEöÐaÛy è€Â|‘e°|õìÒÆùcbúuxGi uÃPdX=-¬w‘7MlÚ~y\XЀ Xâ‰fɲà~:0p`u|èFxatêŠ2½ýpÕõ4€â@´¡áy:´‰Ìž„1%VðÝÀÝE n¨_›X€©=]Ìy#g¦t…†Ï1Ù_o`Ð|X °Ë8…þ“ ·µ¨Ã¢éAT‘ÁaœßB2”ás{ê` ˆyÿ#‹ADLJ¸øO:èüPi#ä—Û‹¦5" ¡Ôz« I$á‡"¹TêM,榃©v  N®Íúá…»`tÒÍ.Ü&k+.¸0+n´ IöGtp¨Až °A»¶†¯ â*BîEþø#Èqî4AE‹dÏ ˆj(Ë{pTÿø7mLß´ìm¼Î>[ËgÔHõ@ñÁ|É⪱͡䌥$ó€P²‹ëG-àÌrdmÔ³2ͬ³Š@-õÔùóÉU@¦5×µ¤‹Ñ ٳ˕\™C+ÒuI°í9=¿ÿQìÛÔ.è­P×pçÜwvEƒÝ²,=‹kË¡œöã.DE†k»(JD„ÝŽ×òLƒ×’D(¹|óÔ¯ÝôŒud þx«gá;ïøK(žãôd $ûÙéµÜÍúêÏd½#Ô;"}-~À.ûA¬ …©Î:ô¬à{Õ;ÂÆúë;¼ D d£è D$Q¾ô¾[ß>ûà ñ‚¾À}rŠ[½ b"<íêsDHApTü†’ƒ‚™ShÁ bƒÎpÀâ¢r |ãta 1Žpl ?“\Aá ä¯ØÄ '6aÃ.€^:ìA|80˜Eø’HObµXOb’†!ù ÿ, +5ÿÿ HP`£ƒ*\Ȱ  7?€ lH±¢Á 3~qúq¢Å-r€ž’5Ä“èdCOjJâ2ŠMyhª\aéra£3dÎÜeÆG»`H±²eOAÎLÒ´YôèŽzX±úÚ–b§ÓŠÞ˜”Zõh½«Y}©U‚×FÙªAÖæ´Yë X«Ž_8Øä¼…»ÐººV³îÝëëocpLHfGåXY :&øÔÔ¢wwè©â._8ýJžÌ®5ªuøl((ÆÌ¡°ÞhsPЕҨÿªŽìÕk Þfÿ KÕ¦Ùz)ü…lä»têÕ&Ø­™r‘tíâÿ`KùrêWRÌîýu¦š¸ž¯æ9Á¶Úx‚:ÔáÆw?LRUhXñEþ4€š"C18‡`=»å’=td×Þ:¨ÄwH€v—bîLÈ'\x¡Ý}·H V…¶ƒÛ,BQ#ÝtXˆyÄWa5âUO*.$È-.r§ÃÔH“ u"Z-,Ø?>Lö¢&$ÈV^…–/¼5Ô‡M∠€„Ûœu•õ@¤Bžüᥓ1*´ÈXò†g\Ež†õØ&ŒX(³Ð7„¦‹ ~¤ƒ3Œ ´d›ÞˆypÙ2A(¡à’¦~Ñ)—Ä}ÿc˜ù3Ž?”†b©ª~ø‘ £kv˜„ `‘œ”öd㉧âri½ºÊ?~²æd4æõ9Fß ê,«ŠüÊPäD@Çï ÉY7õŒá‰-¨¦áBж l#@´‘BÚ%pÇ8æ ¢Ç1p‹ª ˜&¡ˆ"Òîˆïû’°ç?\"U‰'‚àbi½ŠÔâB§Râ+²7ìE ïÊq÷TØH2 u—²ê‡"$r\ÝøB”žüó¼Ðv\KÎ;W$°ÉPˆ›±ÍFëìr­>œÅAÿ#ȼ½.|tËSdOÉpâ m\ýuÒ+þQÏxÌ<Ð7½Þ\ËÝ„¶B ÿ³‹É@$H×j³,ˆf{Ó60 \1Ûàµt@-Ï0y¡€øG\ZýÆž@ø¹ÑTþLYÔ‚¹æ_q6¶É5œ]P¢/lyå¥gñÌ3Ž8’sð$ßoËœ-.’›~ûîYôî|Šà’Ëæþ Eà|AD–çÞ|óÎ÷ÎÆø¾'AÄ"ø³´Mâ2tßáøŽ°Qÿ#ø?ò‚þùgyoƒ7&æ>|AYò·¿8Лp Lf¶©½µ¸ß7ŽMxÐ4‘[ØÎ# ²aƒ/ð ñ<`o„ÓÑ^¸ÂòÃíƒaÈ:PÂüH¨±dCf @€‡%”Ü]4Y²Ñ•x ä„Š<4mHÒ„Øè[¥_x’îÜÀtdž.FÎZ°C ¥I¡0ݰ£k½¯]¶¥¸"”ê?”3vöÔêõ«[_¾vñ";µfP:—vmëV€/¿¾àøŠàîJ‡…Ùª‘3+×në ¨7p`8˜á˜ Ã…ABăÄÈ«õq½URl«lù²fÍ&ØQÁÅ^]‚þ>¨m ¹E…‚®ü¹!83lÈÙ)G%" "ÐQâ- ùë6 uø‘"‚kÌÉÙ¡ÿB• ÁdÐÿÙœÎû«¯nþ*Ò&Û<äøÅ/">ÁF¢mÀÓcÕ à Q@0Ûrûé@ÌUÆ[uõ ðFx‘Ÿxå%€Å…¸e0É„nÝ`FþÈBGrû•wÇs‰8au¾È’ž|ÝСÜrÞÑŸA¶ÈãÔ^‘1ãßCÞÂ"y è GÄ\XÏ´àMFÞh‡Mê€É–Y2Æ^Ö£ˆùÁ’ä9©›52A`Ð…¾`‡¢Š_Žç¤çݨÞ„âÂaœQÏ.²DÙP#öèÈ`˜:ü8)¢¡¤áBñ¨Á¤òu©ÙxL:©©uJ§.¸ÿà‡¡JPÀ懶Ú).¸$‘­½ž%Kx-z"’‰zú©"ФÑk#*j¦_œ>ÚªB‰**ì¬Ò>´Háqè$”5â 9žØù뷊ࢭ-¼Ü§_y:`AfCž 0Æa8;,´ò" wظÂd5tâ&Ë.g$D°ŸÎZKŪç}z°sG4Úv³Ëò$4.Ÿ\‹"×yp¬ª„õlPƒÄ('¡ˆŠÀ2M·$H 5¿dr°òáIîV‘”ËàAAÄ3ê£ÿÂþé+bIáV™ÁŠt³æ„‚ üÛÄ ¨ÀHL'x Ѥ„&pÌ„vH"Á ¤9I@à&Â1ÂL€¢$  ?(ˆ$<ƒ›(~‘e­P*‚¨Å#Âtð† Êá t¡B &E¬H@;traitsui-7.2.1/examples/demo/Extras/images/e-logo-rev.png0000644000076500000240000000751114046644454023752 0ustar aayresstaff00000000000000‰PNG  IHDRoi»þê*sRGB®Îé pHYs  šœtIMEØ“ïLÛIDATxÚí]ktTÕÙ>ûzÎ\$Üm ¬€ ‰È¥!TDŠˆ j‘V|_CèWp­Š¡hµ ¢PµTº´•›\"ÍÍBÉ$$”6a’IfÎ9ûûqfB¸%™™=“ ýƒµ²Bæìyæ}ÞÛÞÏ; vØo„Ðâ´`‚š!4Ch†VÍv[¸ƒì“1¦2¦ Œ€!ÛôH¥G”iÝêygò×þöÅ):QVd»ª8Sƒm«¨sQAŒ£j2àô§’ß~ýÙ~ÑÝAH3ûÑqÕÕUÅÿ:€÷?!4[a6SRö—u ÇŽÔü7¢H'Ž1"¡_Qqéåÿâ!šŒ©JbBôæwÍx$IÉ-ÿSï^QO>þAòO~ߨ( ‚ ÚÛHAPU–Œ)=»…­úý“£û·ñOjjm+þðþöÇ– ¤ v$~°Ø¦æ"3¦¼ñê3½zviûJnâ[­*.\vÛ(ü/E“1U`ÊÜYcÖ¿¾ í&y3ñg¦>Ð=Êx$÷;G£S@»¿]ÑdŒ1åÁ±ñYûüÓoç"Û¾Å÷ýX²½¾6ÿÛÓn8ñÛÍo2¦ ˆí¶,cú¨ÄÜ_¼¸äÜŠU?y" "ºcÑdL5HfFjÚÔÑ~}ÐÖÏö½œýQ½]€HÀ™”錩ŒÉ/¤OxcÕü¡ƒûùûq'~ lÓ•_´ Å£Íe•W\ÌÈ|»ñ¡ €Š&cLM½hÁd¸È¶¯î9¶òÕ-Õ—ê $þ ¾™Î˜Ú³›9ó¥iË—>x“¼aÅôë•6í>‚Ô#¹E‚ ¹ß_h2¦šŒ$}î¸ì•¿àâ"çä®ßða\lß°0³×/"‰ôÞ‘ƒÒ¦Ž.*:UQyÙ•éÀ‹ø~`:oYf­xuõú?ù b)<Ìœ>ÆÒ—æ'ñù¢ér‘Y‹gÄèãûËÕÔÔ¾µá¯6n««g˜šÑ€˜êìeøSö‹£ïMðõõkm›>ØñÞæýuv" òSnhj ‹ÌŒé’‡ryÁ_îÍüÝšÊêLM˜š01@$™ª(²]vÚÆüòòçúôîî{Ä_ñÊ{#¬ƒˆ¼&>4µl|îcýì.8~ÿÛåÙÇrK05bjÂÔˆ°Þm;€1•©²¢4*Î:½¤ÎŸ3yÉKó|è‘ÜÂÅËÞ©ºT\©> 8šn™µd¦Ù¤çBíÿ]¶jë§»]8#&ú[ù5ÆTEUŠl—uÝ#u\ˆ/Âkþø½¿í¯kð’ø^Çô6õt=Zo­ÿ`ÎÓ‹¿-,£R'*EP1#¼EQ€ ˆDÔfsnýlOYYYÒ¨!’$ú²‡{Gš2y„ÕZ~æ\p·õÛN|olÓ‹žn«ÙϯýîBu-Ñ\$5¶½õ˘ÂTY‘gNR^\8óÙgåFü‹õ{@|Ñ4Å…¿œ0ov2­ÖŠç^È:j)ÆÔD¨"z©‡M øEn¶þ1]Wf¥Nâ@üwßÿǛ뿨k ÛB|™ÞÐÐð«ùcÂÃÂ!>ºÈ×ßÜ8çéÿ©ºT'J©Ô‰ˆaZà†xØèubˆèOWê¶~º»¬Ìê;ñ‡ÝÓöcÉùù%ª®ÀÖÐdLõ<½bj™µ|ïׇΜýÁë]nÞ²}ðð”5olu]%}Õu!b'ìÜ^f'BDÑ1Œêºüý˼÷Í-,>í£ynØ¸í»¢ïÝÇ÷¬ed°çNSÁét~WX\f-–pO¸'¥ÞáœÜÌå,9UŽ©I2˜1`¬ÓxÄ¥d  ,Œ»úåù½{Eúäͽ¢êR•"¨¤Z GÌ 4›¯ÿÔÔîûúPL¿èøq­¿©@ÄÔ$é#15! G®}\.-ý2kEfVö®=G15Q©¡&­phõáî!9ûCeÕÅá CºvéÜj(ê# 5#¢GXò:In¡ˆÈÌHó±¥ÿJöZm«®œÚžÏó¹ÕU__(çhî݆' ¹ÁH›ˆ¢Á„‰ûÁ7cªÉHçκÞì})"´D­òb-¦&Ñ`ÆÄài­ÉóŽ\eUõ®Ý?ň‹éí*³²YJ05ŠúÈë DÈË ¹ô«šS[ÔGabDÄ›­r¾q¨E§ÊªêÃ9–Õ¯m"4LÔwÅÔt›ÑG‹Túúدr{¡OêìÞPÛ¿hjëò?:}•"ˆްžïi ¯bì:/¤7yAí@ ©eKˆÖ#$òt‘’™13mj’ï5Ø1K ¦&Ž^Èw‹€ !æ%¯PSSSûÖ†³×lr{sž^¨#ÜÔæw4ÒDmQI¨ S#ß3aì@ò57Q; S#Â:į v4y…¿R» É+Ô€ÚA&¯P0j/šŒ)©)Ã-ø¹¡&ÔZ4ÙS³Æ.[<£cQ;XÑdÂ{›÷^¾ô±ñ}; µoXA£e‚`n^éÄÔ¥ËW®«©¹êµ_É^7$ñKþ9Q)ê#E]¡&„u€SíÐÑÐa‰Póû[Ž;ï£m;ÛHíû’[óÆfQ)é£D}W"†#b€ˆ^™D:K „;5:õK²6¦>žÑÂÁŽÕZ‘2õ©¹Ïd^üÑ!j8J01ºØ-´ƒj(ÈT«ˆ!–05Q)"¯ jâÔŒå+ÖÞ@üà¡vp£Ùd¤ˆ"¢'4LÔuyÿ£C͉¿cç¾à¡v‡©,@A1„´Ñi_’µqÛöýLq|s4b©½¢vGîz†ˆ!¢ùUªâ Ý!¢KIÈ裸‹øQD”1E3[÷¹1ª­v”I $0¦ýœ›ì0h6øFŒûÂLëÒâÐÌ™–€dªœš’°nõuËž?SScw\L÷G¨aʃcf-Nó]yç/4u:‘© c c P°¥ÙM1›¯8Ù_h>4~´ÁhÞ½¿Äf· ‚l% &N^˜>‰ïü?2=iÔÝC‡ÄÈ)Î9vÞ!Ëœïújæ>‘ìû±h ý¦N'N~(aݘ¯öä}WÕΠx+ïÚ' uŽ0?1sLâÐ _í/>_nƒH Ø!â ÙxöÊ9½zøqè@àbzlLÏØ˜ž¹ÇOíþú_µ6ôAêc6~çt=F&ö™Øמüœcç2ò\¶æ±‹ärÇh‚3ç.Æôòå©“Jx`ÌÀ¿ÿãx^_œ©–¿>‘_¨mqKžk€™jÉ+-++ÿYŸ.z½äõîÁwì3°TUõå+ÿ¶q±áܹ~Mú„ä¡\ÄÉ_î:pð›BÍI¶äš€" Dôß5 ûæ«Jc¯ž‘„øTÅêubdãÐ!ƒ¸PûÅ%+³~ÿfõ¥z*EP]½6Rû2;Ú/uzÓ] ÂâÞg,'ÎNdÔ=Câ„ö^n1¿ê8ö´ü8‚D,ïd©ÕZ}W”/Ñ)~€÷ŸÇŽ/÷¦Íz~÷¾ã*0P]g*…Ý[{ÐÏs‹]ÄÇb„è¥ëŽæ76ÖÇÅö $š…ß?½`éÚõ[í˜JTìDD“ËKÂŽ¦ t ‰"Û÷(µœ(}òñqq±wùûÑZøÎ¦O11ІÈfƒéüÒZ XSXk71E›½~í;{âûGþbö½NòÓ#Ý"kæ"ý« è„r@×4½Ë—m‡rN"¨öîÁ—é‡sr§L›ÿùΌڀ?íVh¿?ÝÝnõ²ãêÄñw'?0lÛ¶¯Žä`bÀÔìõ´·ÿF4]2UUœªÒ ;lŠlgL bðkx'øÍÛ„§&µ%QU#c*€Bð{awš×E|ÈDíǶ¡Bh¶ìZ±–-„fÍš¡åÙúߣÚ/Ùw¿IEND®B`‚traitsui-7.2.1/examples/demo/Extras/images/logo_48x48.gif0000644000076500000240000011516614046644454023604 0ustar aayresstaff00000000000000GIF89a00‡Qi’*ж\™·Ëèlnqd½èÍÎÐ!l/£×[®Ö°Á]€“;y˜x¢··ÊÒxˆ“@’¹Òèíµº¾¯Ùí\¬Ñ¦²@†¨E©Ø?¢Ð&}¥èêëW“¯~¼×z­Å‘ÃÙ;bvÓót›®¯ìý ¶Álž·-—ÉP•·§©¬yÆësuwÑøþN…žG²æ”àü^|s¶Ù/r’[Œ£<Ÿx±Í'«[£ÈR­×ÂÜèj“§ÒÚÝ2ªàÀÁÃA›Æâå燜¨‘ž§…Õ÷\¸ç‡§¸¢¥¨s•§ ÀΑºÍoªÆ6˜ÅÁÉÍèûþžÙðsƒ,c}¿êó5¶³åø„µÍ%yŸ°ÂÌMŒ«i±ÖT¢Æ…Éëb¡ÀZs‚EšÁJy0…­@pˆ®±´iƒ“¡ÌÚ[½î>‹°Q†¿ÜÊîúl¥Âj™°S±Ý2šÉcœ¹yªÂG“¸Ýàâ;«ßž £n°Ï—³Á‰‘G®Ýœ©²ÞúþdޤÏÖÙ%uš8¥ØÜù{®‡£±ÄÒÙûûû,Yp©áõLiz£ÅÕjw€nÅï{~ƒ…‡¶ÐÛ¢ÐæJ‚žÜòùOo˜šƒ–£>hYv"g‡4}ž€ºÙ/yœÁåôzÏõÂ÷þm¿ç‡®Á+’Álqv?}š¶áððñò,i†ZzŒ£ãû|¾àS¶è³µ·žºÉ.œÏœßýS¨Ð†Ò÷’ÑêZ‡xœxz|ÌÞä‹àý‘ÇâÌÒÖ«®±ÂÇÊ¢®ÂîüN’±*޼&r–]²ÛDy”´¾Ã·Üëd­ÏH¤Ï`”­˜Óð#`|DŸàîð¨À˘¼Ík·ÝL€™iŠœˆ’š5`uoËöˆŠ¶Øâ Öëgºå;¯å˜Ëäz–¦~ƒ˜Ýø§êüÖÝàרÙUo“•—0§Ýz¦»ª·Bcv¸ìû¨¹Âo£»Rš¼wËóM‡£vºÞ/v–XŽªzµÐ(…°c¥È¿ä탪½ÂÍÓòöö§Úñ3g3’¾·Å̇Îï1‰²dÂñ„ÃãÒîø4žÏ¯¹ÃÞãk}‰Ltˆ1¤Z¾"r—!ÿ NETSCAPE2.0!ù ÿ,00ÿÿ H° Áƒ*\Ȱ¡Ã‡#6ü³áÄ‹ÿx²ÀbW;Œ ÿàY…+O9n,‚„øG ybæF¢âʆíð)’9ECOJ¿ð¨¼‰°Jy¦$í©¡º¸Ù$Jð>””NaZÃ)º¯ó(J´å¸¬[›zýúU€[( |ÅØ.Ö¸­[½ŽÉ´ Š€[€à Gå#ÈvÜ$õœÒ€BÛ=°uKSeMšL˜H²M®Ä?ˆ)iPë5œ•VÀ«l”fS¦zk7Wák9ø‘n;ÄsÕYkàenm*)=H¬Õ>زJ×çNáÎè\kâ ²£ÚÐͯÑÏ¿¶ÿ)œ°Ý‚$®³'ЦMÁi‡¸9g‹.wæžä¨­^Û›8®,‡È’CŽ­q_FÖôƒ]v;@s„'"t)_ ðƒ9ÜІÐmd<¨M„GL÷P,¢@>”W ü­7b~˜øÐ_È¢"-ÔŽI´Ö4i¼wÑ…ÂÁ"ƒëì§^ž£H8¢ $nÔRˆÅ7¢„6JT¥’\£¥j)ã F„)¦Žp4€™Uùà@Ùxƒ‘ÌUXвÄ)'IŽÚTÀ'ƒ$ø9ÐVÆÉ ¡Zú°À„¶Î/ntÍŠ j›Ÿí”bK œv'h6s&Ç<£ÝÿÑiA×Ä™M6e:Êœ™Àê“ ³tM¨· Ë5ºV¥C8èŒ6…0ß$뱬N´ìS[ ³àB|À¸ÌŒ‹² ý8F³>Ýñ-C ñ '3ô2“ÍSôã-ÍNAIÙ~æbð!ÌÀqÀ\·m3O >ýìD<0ÍÅ3ó…o·1 ñ,°3±C¡pH+­ÒÊ!ÌÒN;ñØÂíм{Ó³dƒ² ¶;â訸á‹,pÔžwà©t;¤aD; õ÷( Ö“|I˜@ž};@cÅ~õÇ(tFP;ñ¡Æx÷%¸ „<¢ˆQX~òÕP‹6BÄ€Iœ))*È C c6<þÓÎô™"Ý}úIX²ÀÑH#Ì$©ä|š7äE‡•Yô[L¥Hé‰ye,™‰‡ƒ|iÑwžx2f6Ù eOHYÐÖlS…z6Âg#q"UP;¥œPÈZÉg6³*–5ëÌSƒ3øÐ ŠÀ'ò©¤Ÿ‚êCz_¾ +3ÙÈB—HœÎ£•6å§'<ô9+×h:Y¤ZÕ`“0ø(ÔÓ5ÙÂŒ´ðcOœBA¯SL$á>ÀqÈ4‡À©NfÄ É¢Ä¬µ#Ë4†´B. ·º»Úä­H<ÒÊÀÓÀqB°ÛêïKÐ× ‚ ­¨pîÚ åïQŽöÕHÅl2ÇŸº‹¼ŽŽ:q­\ÐÔ¿ŽšÉÃ4"‰? Ç\×5̨ÐÌ:×å!ÊAcä°A!ù ÿ,#*ÿÿ H° Á? *\Èð_»X},´kHQáŸk|Êù+gaCÅ|Xà„+IJC<~\øÇ Ey¦˜œB“•+¶Ü%#¦Ì˜4L ŠÆGÎ-ã£DÓgР5¢j@ƒ“âÃLiÕ] t`Ñ @G•âk|$µ-”5$ÚŒ+ nY‹:ú\€Ú–î‰ožþà9q«°á[%ª ôÁmo ®_ÃFÈä#!ÒÁ·4ÖÄ9ñA|üÚ~aË:u„ˬɄk5gpþ™À§Ëh°Öé@]Pp8ήM˜2[àì/Òº€…RÂÏƨ$.<©{H<Î&…¢È¼TÚñÿ6rÁáèO G BR_dÁ©³a|oO¥È¨nj½6mQÙl² ÇöéäÉýìÇŸzÚìð†»&øG;ñô3]z ü·4q8wwÊb_;x€óa!î0¢ˆ×)ò5¢âAÖ¬ó"„2BÃYÄ €š'rœbŒ;¤aD} ͆a#<‡=<!&x"pd“–[ö$˜•4’f¢™ætHa˜F6ÒH6Y’GE&xÈYÑ¤ì™ ‚"…PN!½g(mÕ› œ°Û{Í×à ~¶tÁHñÀg pÚQlPʶÕÈÀÆ™3©v R; 0ÏSSHBk­Ìr3D¬Ú‹%@áÕZS°PÕ³`ì!pèjQÎzÕÔ }(«Ó5Lc.â×c^=F%"à!æEÌLÓÊ4h[^í •%|èA×0ÓŠ ­4rÚĜЯP”ÜÁÎÀä]sˆ g³KóH¥Õ*TɨÅ* ÂR 5…"øP))RP*ç! >w¾Lð43ËÔ@¸žŽl(”HS¡Î,]ÄÄH›µ¨¤!ù ÿ,"*ÿÿ H°`Á?*\øïx2œHðO»X|8ába"Å?žâå(‡+É;<*tˆE¹ùá“ø1dI?aNѰTC.P!ºÒ >s”–úÔàôi t_ŸV‰˜PgŸ M¹>EÇvÞ 4 “;—CÊ‚íâ¡áç´ëÚ¯PÖPÙÐn]Ü[n!và© ›_^½²Û†M¬v7”P¬I±â7ºAQeíd'両*Plj[šbdž7U4)Zc&C)AÅëœ~"h2aÂñ-~$º!…¢È¼1ëü`žø‡<âÄM™"Óñ߆/²ˆÔÿYý±žuØ‹'0•àLÊ ²PÀ!õû`HpI²³gŸ ž#í|'ßõ ä ý¨¡ýi“€6HÑ(eé°Î .ØàÚì €äyÞ…Té”ÉÅi×`ˆ;¼ažäƒ|  HœÑC‹ ˜FxLW…p4ÒÈŽÜäçâ‹;@s‰zÙ,95á<ù 62ÒX¥@$™M6¡5ÄNÒ!¡‘ù`fi6DEoÐqD‰*y‚e6pÔùO;$Ã'Nž(™ 4&C|‘MÙ"(NÕXf42Ë£ú@B w¹1i§×€zÐEëD€Î>Ëx@‡0‡8O P<U¬òpH­²Üj)'ÌW̬@íÈ2Í4‡Xº’yë´–¯3å!̳%ÚŠ!ÌðÀฺ-S3qÂG,¿mÀL+­pÀŽn”²Ê>å%,àcM\3 *4ryr„Ó/TìRrÇ`þÁC+±N²¾r5Ó |'u_¨P!ct<ÀܪR;p ?>Ñ4ñª*´A›4`R)A×èÓ -çìÑìRãÐA=P@!ù ÿ,"(ÿÿ H°`Á?íÜ´3Ȱ¡A„ÖðÝi@âË!Jl€Ë.E:0:ÔxGRž“y¦œä³Pä@9$©œ2“&MI»,bD¨ƒDL›)ij˜¢¡hÑ*F¶‹˜ƒѧD‹Ö˜Š®††©5¸é,¸šV±bEGݼpmÊ–ëá¬*b©Ö¨j¶ßº®µ VOgñ‰[vÞ‰»þXüCBÀ­Ç·@!¶õߟ²8¨…r"^Å= ¸¥ ò­Ö2Îúòc ”5ˆA3üã'‚¦Û&n¯k)3 ñWnøgnÈ“PÙêû ïíbmAŽÜ”©+I{Ë""køÃ?n€ÿÛ¢ÆTõ¦î-Ðy÷çÛùˆw†¼õû òçÇ€Çb{8(À§˜ñ A^y¦ §Ÿ~Ú`‡þG#- (y&$˜`~Út¨ÍtÄñ€²@D#Ù,ôG,ã!¸¡)î #çŒØÎpL˜¢e±$‘á†Ê V<àà €b6:µ³Î= ~" Té]AJf³£@\dˆ#Ê&ÒZf˜@Ä£Ç "’xåE× Gvµã‡BoŠä dÃCž.=t@áF ˆ¶ƒBÌ¢/U¶A6Ìds JYSÊr/ñpÈ!DÐéÒ€¥”E"TæI#‡03¦–É 8mÌS•©tÍ4ÓdsÍHà=°M­S5… ~aˆ!(œù’|JÐ:XESw<ê 3*Ló§eà)ÁÆ PÖP*Q" JxwY+*øêƒÃB!–µé®»Kbµ‡ *ÐÒF¹Õ>•’¾üŠäÃ!€Q-ºy¨ËGp°fÄCÃ6Í„pÅ y(•³1¤ ]"|ìËñ¨×$Lò?!ù ÿ,  (ÿÿ H° A*\8ð'»HxbHñÏŸ Övñ9V®c,Š-bÜ•C‘¤<(§äñ—cbÅ‹sŒ“¤rŠÊ”()}<ø§ÝC2%i°I4Ï”¡65 í“° hÆñSªô(U¥54dÕªõž‚¾]àZ£¬ÙèÒ¢ƒežZ³Üš"äÁá,ZµæAi³n–ŽLi \EÁ?<útI‹6ïÞñ¬m°øÏZ›[gŽÛŠ*ó@9!'òd¹Ðt«µ€.ÿý™…¢‰x:@ðPSK,Zii%CSž$“l¯Y%uÓ”P+I±Z;ÉàâÏM5Q2ƒ0ŠÈpG}°KlPãƒ5þñ %¬1À @ÙÆ øØFHF0†’%èX‡RI)åR_UYÃ/íüaX'¥ÄT—`½tG–´¸äSO/¥©&L/É@f”x$É Ì 'sbÔ@Â(âgŸE踄^ƒ8nà‰¢ŠzòG@!ù ÿ, %ÿÿ üC Àƒ*H…Û·oT”àÑáfƒ'Oí j\øÇA4ðã'iÆŒqãdäÁ‡‰o»$âññG`»_sj9¥gÏÜàÁ£„ 1 ¶›•_,¾¤Ú-ü§ñÓºb/¸9x-ò䄱ä¢Ã\ÅgÏŸ²ƒwë–W¦^“%95åo·4ij-ÀÒ?xy*øù϶ݻo à–u šrˆQaÇNE‹Û­ÑmB7<*5ÿÿKbÂTy5è“$é±…L¸,඘7Ñ»¥Léן`ÿýæXž [ø0P& h“À‚ 6ØßšÒƒ”¥³ƒ6f¸Ã…&è!ƒ¦Ø›xGH‡'ÒAG-¼ 4nˆ!ƒl(EÙ,‘µÓŽ'øàƒì òÀ Åab/V(€Á6þ1 6*TÙ:òÛ@<Ì¥mŸµCÊ\†é )†™Ú_”iæd³]¹æB}mùæANN 眔M¥AxÒùÍÑÅC>Z¤ã”Yà]ó@qBm¬±8ÐE§Ä üÖTN9å:]x:óŒÁÜ@}5EHxí§¯~D$Âo´”ãO·ªê“O¬’%Õ¬€}‘ƒ 2É$Ì Ô³AM‘•Ué£`³Ä³Ë°Åæ°Š }ÜiÛ”:ÖöO@!ù ÿ, &ÿÿ øÇdžv\Ȱ!CvU.üÁí›7þqÈñ·Bjà§a†°;h¸íº˜Q¡Ãvkj «A“¦†)8óàœÁIF 1nè㺙3k‚Ä9EgÓ \H1ás5ø]ÈÁç›O+Rüó­K“RΗcD‰"¶û…î¤Í”¦èœ‘ƒÛ.íBRdÑ5k¦Ô9%Ó2Š|»1!IpkÚ0zÔæ yt:Å•§\ƒ>þá1”*$ÀE€²µkN±Nóàâ–¶ [R úÀCÅÁ€[QÞÍãO‘«ä˜ÐÄúš YãKÚ$`àï™b‚IôЃ î µ!‚;d¨Í†hÊ{&(¡ Xc•:<‡-@“á"Ÿv&8Ðe³|Gœ3Ê/(c|ÃQäÉ_R™®<à 7@£ýX—Ð5¤ p@mxâÃçÄ‘Æ èñÍý1,²X™¦`ìP!€¹ñ…,< ¹Ps ñ tÆ$è*)¨ ÌB n*h;_AJ;ŽÆtMD\#T¥}F8à‰§ç¡ìÂRÓµ1€}øñ‰è.3h€ ›MèÌEÛ”¨1©I‰N8Éz’Qè…³8J¸±Á¦ ¹QDd…¬°ÂžÅm¬C¥ ýáÆ.øäÀ‰$N1õµ6]ðXEùàÆ79¬2ƒ´Lå¤Òº¤þÑη$äÐÀ¯ô΀/§¹Ç7EÈÐ@œ4Êi·–}c›S6j@!ù ÿ, !(ÿÿ 8ð§?*\È¡µ_"¾ù@ذbÃvjh¨1#âÄ„-þÙÕ¥†I (…¡Ùõ1$à ¶Ð¡3ISÔ)3Š|s³¢Ë?ßlÍ›Iô¤Í›38å`é³á߸•#@æÌ“7óLÉ“§Î– ŸNà1ÁpªÊĪ•«?\Jc$(v,ÂvfÑVÅšukžrJÖå1¡bh¯Íš£à ²PL˜[ðbPf¢Ü*L‡Âvÿ|C„eºì2+žÂr»Û¨è@Azrà '¨5ùk]*÷L¨éacMŸ/M ÊwK-:~(o°aªºõá਀ýg­Í-MÍ«Šÿp\ðHm Ò'¨~ÏÔp6Úÿ´ËOøæmðH¯°C›ÿóêY'Üà,„&&Ø×\k ýaVth³Ã„èX ¦˜ ¡†· àƒSRq„-LØ_…ëe˜¡†ð(qÚB>|ñ>ÄÀ@…(ZW8äUôÇ2Nštð 4ý©·ž‰t)²ÈâFAx=`c’ë-ð¢Bž@) aaáEEìŽo"ñ™,žˆä ;…䯑]³¥K µ3 (˜†'ž SþéR;ßA˜††´¬AÌvÂXE èÌAv”Vúãl´Q¦[À×韬¢J&Yµi|É…]äI äáJ¬5Ï%|+ n|“'ZÝ„k«™¾çOx ;ÃVƲJ:|s§`–9ËÕMS[ƒ•öM9<»j·}\ûBÁ–[lºžb냰œX ®§†}XQ@!ù ÿ, ")ÿÿ HPàþ\ȰáÀvC.ˆÀ“СE†í¸u©¡Aâ7„Cþa×¥‹†5á¦bH†:Ì¡›‰2å”">*|9ðÏ.pcÔ@7¥†)H9Y@¸S$ rδ0“(Ç] 3Fpì‰z>S ´] 0{¥êeu´5ÅICE€ê£1·Õ4Ï TÈ*jˆß¬bë­®¢ÓFpð*›'ßäÀÉZÁ5ÏźDé˜ß°ÀÖQ5 õ,ÒÊæCµ3`‹k ¶hªê˜ø\»Ö­ãl0ëuëZ»Ö zî{ÝnXðk ,—ßü ¯Â„yÛP@!ù ÿ, #)ÿÿ Hpàþ\Ȱ!Á?:ÌUù–Сņ«Ô¨Áï×7O /ŠÌØ].øÉØÕ.¤È†n8 ›¹±††”9Xº|iP‰œ6óLš´©a %4JZò4x`·ufÒ¼9%¤Jþì¼ø§é߆D@³Æ”³V±j}ùgÖ× 6¸q•&Ú)þ®âYk±+©¿_<ýûãf[ÔE«æñ× ÈÞ‡ÖâUüà "( lWxŒÉ¢yªúólj]È?ÖȨÉBde8˜5Äî3Ú(Œ’‡m@…§¯ äIƒÑŠ«QæJÐ40«¯m¨jRÄ"%a48B +Úøp2ÅPmE°€¥ÖþãWÐNq:k°³lRí|3N¯'A±€«áÒ'‚$ƒ ÕÅ ~¬»S;ñ°­5pãïNôY0C¯}̬³bá0³À‰Äá6„Þ7ŸúGÇ!ù ÿ, #*ÿÿ H°à¿?ž<\ȰáA<¿Ð¸ùã°¢Á?ä\¨¡¡ŠŠ-þÑñ«K“fh²¢4ÐÉDÉÛ- ºù–eÞLŽS4ÜÑ3ç@7&¬ƒ‚®FS S¦Œ‹WÔ(Ò »´ù uŠJ–V½6GR'bžŒ:…R‘› GfYW Y²¾*[Â'º®y¦ÜÁSc©&Ôd!*Ð8DP 8°aS ópÚ…sdº¦˜0A†Å ‰¨>pJ„§Qýù£d¬ Ú€mb 1O¨SOøO¸µQóø+WÄÇŸ?ìÈ­ÛTâmxàg}ÐZ‰§]eSÿÂGñ8Ó©›2¥f Õ(ˆøÓ®”­˜MÙæ‘± ¬À GБhì]Á )_|ÁƒKá%|XSÕA8]u¦ô°)¤psÂ-šÜ"€Z5ŒÓ_C¸"Ý…*v<š„(âL|0–5V@ÃâzjŒfBŒ" Pʼnýá‚çè¨MnÖY7Ú-":`#Šíðð^²ÑÂŽNþx‘a) W¢ VLÚz¦À³Í”qUù…dyá5K;œó†zdPáŸCL ™d‘‘âœ@íƒ6÷¼9!CÖ d’ðçAìÄá§Q×\0ÏÉ|qÍ£ô=êP§N 0‘QYÓ@P蜅ð«y²JhPC¥\Jë@æAI®5@A—©´¶c%A9µœ¿û 'Í p‚iÑ^‹ QÅ7¾F‹‘°Sœ4Ï6ue;P;$HÒ,:Ï"Ëêñ°˜®P¥.AÅqKì/ኻÁ²AÉ ï¯ž´› í{,Ó°ÃYGÀ¼P@!ù ÿ, #*ÿÿ H°àÀ? *\ÈðO»X}tüaH‘áC]jT‘X±£À?ֆ̫QCƒ†qx&z¤ØnÛ¼.èb–ÇqåBO¤²ÌCWƒ§I”*mÄ9áÌN’%§Ð J1áPR¾ €¤É),â1Uø'Ö‚ C'ˆýVB€L S¦Ìصõ 5=L€;Њ/P'¬‘YcJž)’ؙɗ©Ãréþó‡(ê”å™Öo`¦âhÓ– â3t=5jü…5p#Ѧõ×€JÐ?:npîì9ñâÆpP<ö´a[UÕyX þ¨CÁæÎ‡Õ€Mz÷¿ %(û ~ù`ì³kƒsÙ1d7:†@ÿ±ZÙŸ?Nì^[K³crSjÀ}ÁKJ‘!mÌ’Ÿ®Ÿ§Á:°wÜa¦¤Cß'Às U<%5Ãn´õHìa×™ j¤³N8IÜr‹&fŤ?"¤Ô;r–œ 𰍉‡Uu‘;í4åÉ,_È1J{*š`Š ..(4JøQ;|! ²à³ãlˆ© ¶ì≑þqM}Kv)Ç Ø™âÙš´!ÇX äÉ7KBÙ’°#›Š¦lÁM„ù°F¹9ù Y=,€çJ>T+ÙÀAÊ5˜!±Ž‰Bù0N óHs€„žÔ(”@(2E c¸öiEž‘‡5@aê© ùlꤾ «BÜ1«¥¦yê9ìŠN¶ÞZ¬´ºêë§²¦Eêž{쬬έ´5;ªµÑb ª®&¡s­·mÐ%»^๵cAZ¸Án»P2úóÔNœà›¯@íàcÍ¿9õi@!ù ÿ, ")ÿÿ H°àÀ?íð°ûc°¡Cƒ<ÅÁ¯ †3üデ.5BšÛ ±ä¿?Üæ¡[RŸv&3¶ÛuF@ t54hà‡cLˆ¾ÀRçŒx>r$Y°Ý„ øÚ¬Ä©aŠ¢‹âÉ´å ÓƒO',ˆPtÊ”_> zz€$ƒ)SjÖÁÈÀ뿎ë¡0Ķq›ºí" ¯X«îrPB¬ðä SðO¿mC9L,Ì¢ðF±àñðFÈf!ù ÿ, ")ÿÿ H° Á? *\¨ðO;k$XcHQáCh.Ôà‡ÆSÅÿþă]øÍú’âŸ]k”<©AƆ–YüÃCÉ™5¦ôiçòa)p:ò˜°Mf”)•è,øÐ’÷L€óHçáJšœ2%ׂ~0èIÀ”)5r¦†œ ‹”(&ƒ’Å'W §^ÚØ¶5AfâÀ?_à  ²f¦²3bôCg‡`S&Öˆ"´"”Ôð8ÙƒGvnk* HÁñLD„€“dóPÚÕ÷ߪ» w3$"´ëœKÖß8@Ó&üí–ì^«':ÄKn²!ù ÿ,  'ÿÿ H°`Á?ž¬m0Ȱá@„Ö¨p3wÛ‡Æâ0¦ º5.àɘñϬè>‚Ô`ábÃ?í²kgÐä:)ÑiÐ0ÎZÍ„IÒ#VÍßl¥\ɟˇ40$H`Ê”‰O˜°mº.54Lçéà‘S©šØb´àR$ à ;…Ò·¬ÿ6T@;Õ*V·Dˆ É)vŠŒ²ÿœÕÖ×™…À!B JÊu•àÕAGcµµN†ƒRç”)y›ÝÁ·j?Ä%Oîãµpݶ]AÛñÙT*O™LäÄÇÓyòð¡IÐSÖ}M¼†é†)Y”Ñ€D¼îxv§ÿõ½Ë:)|ܬR»p\}ðzÊÅ›jUܶ­‰žœ:iÜþ4ÐBn@4ž©eBš˜ ‰&·ü÷fúSŽS&}ñ…,(¤Q_UVI8a…9Õpš0¿ôÏBíð‘ ( @Ãã™ £ VØEUÜáâ<ÕwÐu(Ð[‰BQÅ/C@d‘µóËs0“ 4´vOm ÁM,W–$C¬4Bб ’Á%È¡Cš$ ô‡pàÉEèp'–y %PøQh¡žÈ Á6Ì-ŠÑìð3Ïw’6äÉ85d‚W¦íÂϘ‚ZЦ5„fjMÜh`‹«68´§ªÆúŸ'Àfë@±ÌÀp»&Ö‡¿Dì?±H"ƒ±Áz’ƒ ŸîË*ºë‰4Õû‘¶!ù ÿ, &ÿÿ H° À?DèéÀ ƒÓ¦TùÏÕgû];0a—/Üüÿw6®>ú†¯ÛÖ„#ŠRéyüÿçi©/iì0^&¨&·h‚ äTÞþ”ƒ’"4‚‚™i3 Þr :5áW~yà2×5Ì@v È¡‡·„h?’sÇ»àñ‡5U°ÂL2¾Hµ!^ÎEUä€c,:l€ÐG>\€ÌÙd!ä=IDÐÜPÇ5N"Ñã¦W¬±:ø°A;brDP;ãhôGqÊÑtQ™ž€ÆÂg€êÉ8áìU(G|BÁÛ¢z J(¤ybŽ-ŠRš7~j*§¤jyJС„*êACT‘é©p# §BË °ÆZ'«Ôj«Xøèº«@Ö¸ñ+Ayž!ù ÿ, %ÿÿ H° Á\hð5þÁƒ$Ý•+=’lûhðÚ‰.èjèä‹ »Ú$0a¢ŸEƒÖ Ë¹óÍ:ÞM`ÊÔ–”Ý8˜·´¤nO=¡Ú!´j?7 °´† "Â**Ô„šxiiAA×Åí”Gž£KÕ„œ§}ÐâšSÃTÛA¶ª‰Lˆn2féÛ)3ð¨nU£7À9áYCJxâyC¶p¸ÀUÿjOÛÍ-K<ž›³xL˜ð_‰œ½óäÿ¹ÓN VL›0µÆ8pýNœh3fž_ñyXeç(áõDir‹& À–_¾áRŽqÿ(ÁÊÚeY€Þ‚[¼ùæO9ìô@¬LE•)Þ"€…m9æ›x¸8Õ଼A‰&Üb¢]äxÁ8ã˜sG|ã†@~üR*÷Ü“Dm €†Cpó ñ\ãÞ´ƒÜS:¬±;àaåh‰Cyò Vh¶9š=¹)çÜ< çœr,ÙÍâÀž|˸j¿DfèBž Áࢠñ¤ qs¥ýñ p˜‹€BªÃ¡.ê >¥ÚÎ.©ú‡­º!ù ÿ, #ÿÿýHp࿃,(ÐO±#r .ðó'! CðÑè`ˆ§?G´%H`Ê”‰m-þÛ0Ë.øøSl‡È’&ؤ´è£ÍË.5dþ¡bs¤I”*ÿùhùRø™ƒÞŒ$iÜ΄=]¢«ÁÏÜL¢"©"Ué#: 0½þ-ìÑ«—6uúu‡MS$­&eÙtÊ ¨ÐоMš†)~¡Ú%Yr,O³4ä™ÒàÚŸ‹©êM8P.Ìücí`Âvÿý‘¢-AS¦L” Ù0Ö˜1ªTùÕ§Àvv”D™äK†J  Z£Æ/O=Ý(iÒD?E–šG´††Hÿù ³ÃdÊn¢þY7´KQ~Ò²ây£ó¤‰pY!: ŠÎ*?|>úÙÑ%ܨí8TÕpwƒÈAИ¦ÜöS C5h˜ÂïKÞ‘}S.hüO”¢V§ŒûføÏ¹Ì÷¨pfGwŠk¤ò¶ë•9 »?¸Cþù6/tž<2PäÝÚÕmO³̺vÍu'ç™"Mø?ko´í4a‚Ì€kJ8ðÒÇßSòü°îçW)5™Ð¤ Þ-¨úÎSî‘  ¢XJÜir‹ø%YzyP„p±JÜÍwË…èPWh 6 ‹,nü!‡/ð$¡Fô]ˆŸ†NÆ`Š|AÊ5x⇠Öà ;ß|C7Üð†9¿Œ#Ì 3P¢ä*<ðU,|è–[ní´ã‰>¸K<ñÄ‚›@ gQ• føi¦X|°³æ› µspÖ¹ yÕù¦ÈÄ¥g™~ cÓŸeF4&¡…~“&¢bYà£Õá&¤‘'¥ ý±‹Ÿ˜þË ˜fjC!ù ÿ, #ÿÿ ø§ÝŸƒ*\¸ðσ^ŽPaçcÆþ‘¢-A5jz,¸ÈaFO:&0e* 1’ ÝÈ!ÆÎ̓ ñ¼QÉ2‚’ßæuéráÂ/n0ÿÙáq¥‰~í¶[ƒ®j ]~DØÎʦ,M€™ÐÇèj¨åWgë?tvtd™„Fvó¬^­"Ë­Ÿ7rWš"ó³á¶.V5ðs0aëÆÀN3‘ØŽÚü4hÀ×X '_«¡2Y`¬¼j5L÷eI<ÐxšÚâèeÕSÌñèügPè°ý|4ùïO‰´5¦(/ò…ÔÅ?4´Í5eâLY¤xÌÂSÑ͘´SòLÿ‘Eß·xšXaË€5|ú\çÖåªò<ˆ‘åéŸ=…µž&Þ¢‰PŒ1F¸…Wæy²‘lë™@ &·€–U÷åAÉ(„èI;ldÀ’€Þ’!:·©&^ àó…ˆlà̰F8@ †U¥Õ`y¬Ò)ü ¤Ã¬´ÓŽn(A 7hür?üt˜.ÒùEÅ}CÉ.dT» ŠÌÐÀ.×ÀމÐ@a™ù‡'>èðq“ƒ[š;ŸàSš¡ýÁv1*i;«ì¦¤†úP+‹bšÐßÄO§ž´Mµ•šQ;w¬B¨ª ±ª(¬±)­ µcÁ¥¸~Ê©°Ô+C!ù ÿ,  "ÿÿ øoÃþü!Ȱ¡Ã¨èÉà 1* jdخ׎ Ô˜P“iáÆ“~ÞhiÊDv&*T¸ñ+MµìçÉá%øPñá‰&CkV²LB,&Á ¶Ð¡ër¡Šk2@SÚr@φˆÍ“Z£†† »œn¸ñQ›N5M¶ûE¶l;²ƒ2Ù ufÅlg¥oK%}:¨«Ÿˆ Š¦Ô–Ó­!«Aà <2ÿkw“«©Lí|r#­a š ˜Ü Ò„©øf]ó1S TÒSøÕ™záŸsý¶L2„V_x úm^Ù)Sò˜ÿC! óB¤ ýšX¯ ^›5%ú\'u]iðS¤!"+ïŸb®=¦É€šÜE'œÐ…Yàå1û¡—'Ü£“Në™Pà- •a÷å‘ÇD Pâ ù°K)à8 ‡·xH[xyLA -_”ˆŠ)•?Š qÂx(£Yµ‰ˆË*_BЉ<ÄNŸ¤ÕŽ߀Æ]ÜG#.yüàä˜Qþó‡þó•™ ¹Ç7E˜3ƒ’ŠL@ÊM’’×@ÖÄÇN¤Ð•ßX>>ºq@n&ýÁÍ Âv›FõXéǼÐG “jôÇ7‘8qM§¤¶c$ÈÄFê¤ì”Œj«z.Š&(kÆú'ŠL§¶äÉ8æÔÚkCž°ð ¯Ã äI’&+—È:k¦´!ù ÿ,!"ÿÿ 8ð§?*\Èá†^¨ø@ذbÃ?¥v$ÐÓ • -Šüg톶 L©Q³ äȆíhh;™Ò/+þñó†¦)•-þÁ3Ñ¥C;|š8㣡D+ºðO1hIk&Qbt`»!óÐÕèrAW…%³þ4µ­PvPÄŠ­Á¯[¯ç’ž4eb N†ž~¡\£0wÿíì¹×„9]þ!¶†X 3,|ñ4pÒ½?Ó5ehÍáø9˜0³âb3µ­Mò*Á¯„5h˜RåÖ­¡òÉ÷Y_fLøîÜ)Ð¥MøÍ9¦R¾INô©ƒ©YnÜÿF·ú8"_¨ïÔƒr­ Mð5EXÓ‡ Y`ÅBÏCé‡ý/¤xâ 8÷¤ô“ Âw‹&·|Ø‚ÚyT¸ DØ'ËAn|ƒF&Èà- ÀiåM!LÚ‡‚k¹± 8· Cb‰ƒ ¦Û~þP"Í_dØky2À‘ü‚Æ'¢HaSøÃrv÷"A|%(ùàá;BG¡?åÐ )hv7š@nèÒã.!Åèá OæáO_P‰&)(lPP/ ÀGbýáe3ä¡Ë5íl0 )@¢é§b±|‰.ÖX£±Äiè£LêÉ*cAd9)†sÄXÊeª#¹8QÅ Nă*¬- A$ÒŠëBíü¢×üjQ;whÀÍ­Æþì/D6 l¶J{‘¾Z‹¥¶ !ù ÿ," ÿÿ Hðß>þü)Ȱ¡Ã*øBò Ý‡¶;¢'A‚{g¨l¸˜ãŸbo´iK`JM’L$K6üƒÃJ–¦LôÓSfAk vÜ4eªG¬ž>¶;'ÔcÎ$r tC%!Æoš²T³ Ãvæ]à–é*К5qÆÇ×óÐɽ ‚Š×¬ÝPK” ©g»ÈEW£¿Ön:ÔTb€uØ"L¸††*D®)=¢uíOR7p ·°† Cd¹xòGœ&Àá“u ¬R¸•5hà7dÂÍ418Íi¢ÇºqɈ|áaMáŸ] ט¢Í<ÜäEÕØ„wxr8ÿBAžÔ,vcJëÎ3®)¿ÿñ…s­ MšnÝŠ°¦ù:U¦Á (\œhl¡q÷é—ŸcüÒÇ8%EÀ ,¬fÐn<ùé§Ÿ¤ †yL!,~¨A qSƒ\·6:ºi8EUÈBÊD$‰Â é ˆþH2À޹ 8dy(R‡,_‚‚KÔNL>ž|ƒÆºY‰e”ÐÂåt~IAíÐL$Süà•Bn|3ÎþäáO ?È2')G’Ç$kÄDI$«xRÐAßä0.¸ Ú³,êå£\ãÅ èrÔL$’°Ê_¬RÊ(£n`Î /8q€T8Ztéð@ “íp3Å ÁüÀkRÀ‚&GS${WR&‰ A\¸EmFQƒ"°nkRü|³¬¸¬á3Ä´è:D"»í6!ù ÿ,#ÿÿ HPàk|ü)Ȱ¡Ã$ðELáË #jÓ–àÞ*bi-ÍŽ L™J²@äȇíÎíH@S¥‰,Ö\¾dخ؛“5MØÂ£s'ÁvGÞlLiÊÄ ¢ÿmØó'ʦO§ l÷-^;­[“.µNØv æÍC£D*OŸcUnJ•Û”Ò†tî½w‹˜# ó\†~ãÀÚ)WÐy$D`àè ˆW‡iÇy()Rh!OàÔP؋谦~#ÎPG(LˆÂÿµ@ øùóbˆ4摇"hGÊD4‰Â,:ý/Lá2Ö qÁ}Aæá%EÈ"‹oKb÷¤KèàÅ äÁ‰i‰0‰Fú3ųˆùÅž¤È‚ <ˆ”æ>l¾ ˆi¹!‚$^NÁÍWäÉ')Bižǰ ‰ˆ^K3< ÑVl÷@¶0M™H"Ç£Jƒí޼!Sf?<6o:ô¤sdÏ$%tz±×Ž0Èì‘©ÝÒ›o<}iªk)-^%ØÎˆÖ—Re†cVa;9 :.lWl'Z™¦²µhm]—.æP¼(EÏÝ®j¶YûG‡-tÑuáãfbH´ig.HùÇÇ›íb@WƒtÓæÜÔê°‰×<ý{‹ Å,O Û-cút ~U€\;ÏÆ½´2Mhj³Àœqû’}!eÍÓ‚yOkÐÀoÀ7úÿÙ¦¦ëëך4Eã…Ñ ²ê”èbz»J|&ð˜^`;*᜗Þ-·hr ?ûÌ PÃvSLÁ(èÇß`n8Þ"€dÈ sdF¨>pAŠ~(ôG<¿àadè@Ÿvæ1Å8±\“" +âáb;ÒøSB¨ã”ÈP)!% <´8˜w‰}¾AèÏyäAI²L7,?Êbå@àÁÅ 0ECÔá:æ!I( Pæ_  ¥šd‘À$`ƒ€0±üK`NáϤ°³~–IJ D °f;Üà'$/8RÙAž£ˆ?yø3Î^\nóÅŸ›öi¥ÜtÉ /óC[¹!B}œêP;³hJŠ,D´øG ð‚uKPcÖ:äæÓyz"°O£B vÀtP~û {•;˜<|1 B"ð3ÄgîZtÀ5õÁM¶ù^›Ð°A!ù ÿ,#ÿÿ H° À? *\ÈP`»F64œ¸ð)zô ñ‘¢Ç‡¨´iKàʃŽ+^|³ƒdS&zPA™’àÃ;F’43Ü.š5-Ja©ó¥‰$ÛtMysGÎ&LùÖ®&A¡,Ÿ¾4•ž¥à¹µ'±v`zZеèÖ$%¾2üヹ۱ é’gÔ-$Ð2lË–tcf ôtƒK£Q½v¤«êÁºPÐi®q›§í¾UÐcÊ(L5>¸“ŒÇZÂ'æ¡«A›v—>UÿàégêLš4ÁÛæ£n/úê:°@öæÚüÌÑúü.¸$Q¿5 J/Ýô5ÿâf«Ës è/ ™ ËÁ "Üšk»Ø”17æü üŒS"‘MTŒ!}· sÁ˜Wƒ5ü7Å3p‡,tè^Aº]pX š•Hz^H‰9±xB¤LÀÃzታQ¨…)æ1_°p Ð!ÕùðÃ'¼p£Ž(ú“âã!Ë_ð K‘Y~Z<ÇI“þ𣔢éÏ ‚‚,W’BÊ‹(˜$7”¼ð˜/È€G,æLᔃŽËíððæ•_ ð¢,ü-5ø£ç ï]"ê$¬uÐ_Äùoúà‰-è!ðB0 QJ'$Ì`(Pt‘b* (làÉ8´ùóÈtlá!ªB°''¯ªËϲZuÕu6êÆ¯ &-ˆ×`)Ë5žð×¶åJÊ5ˆ¦E®C<¸±®G!ù ÿ,# ÿÿ H° Á?*\(ðµb:2œhð#¾´ÙˆH±£E#¨vhKà ÇŽ ÿx2¢@$ɦL‘9‰ràŸv*¼qIÒ” =JI¬ù¯ž8;µŒé3ÉvíˆÕ!e'O¦IPi7Ô£5)tvìxÉTM?bºR´XìO˜1M„“ãFíD•T¼Ñ3¦ Ÿ[2Õex3-AORF½I îÏ$ÛðØ-ø'V 4ÿ(±‚1SðâEµÙ.Ö›:¶A‡®Šd›ñâÜËàÓ„&MàN7Œ%Ì„´>¸­FW£ º T†þ‰gÔšŸ¶o•H«£-]Œà|#akñàÁ_ÿˆ§œJ›$ð4ݺ¥~Ͷ b(c”Öñïák\@³«ëóðÜ"Àz¢3E$Ø|¬å§üˆ€Ï<¨õ È kĽ0E ø=¨ÁÜ…TXQ,pÈax’8ÅŒSȰË(È2AŠþµCÅ‘|Hœˆ4NáO3*‡,>ü! ¤ð ¢@¥!óÉ xH¤‘\ú3…0ÒÔÂ_\ó$ ;"ô‡Cðó–dI¢—t9ÃÖÌ’£,¤" (DùÇr\PCobLß\॑^ŠðÚzÊòEŸD¡£E†Ö0Å›Á0 Ä ,úsäP¤'™_œI §æV »x"Ñ…,È@…­]Ó*™(jÑ à3W”m€lJf^*‹°žT1 †Ie“|’"¬ƒYK™™~¾úÏdÞŽëkŸä–ÛÐ5èªK˜<ŒænJ\!ù ÿ," ÿÿ H°àÀ?ØYûc°¡Cƒ|© •µ‡ þi‡GÊ mÚ$@²!#Æ?žÄ¡³#¤HS¦2y2 ÑÓ ÐZŠ|iÊDb iþ‹8ñMK—0{&éGÂÍ:¤¤1ºcg˜>ÁQñô¤'v„´xãòjO[2Åj×õaD?eĈ˳§šp$Ü´Íø‡Êzt„¼¹wk’ñ6ì5ùçZ4,- dÀ oÛÚÅ5üÃF¡Bî™@‹g1JÅÿ¸!ÁÁVéÍİ<àf´¦%ú q‡È†v±†ŒAGœCîíä`AåS“¦[ëØrRE×#øJ '^]43 nÿÈ„ª<çšȉ‡†Ÿ†HÁbt™G]û÷ùqkWÐÚ™æAq‹t¡SäÑ]ø5¨?¶Xp\jñœ:`HœÝÙ‡ßS ÈÏ/Üò…S›mPÄ<Ö÷!‚SĈ ð ¤ìB ŠCù€‘Ä0χ!Æè?S 9Å8ÒÈâòÈ2Á%MWE$/d‰KŒI&©ä‘Üa(|Áƒ'² 0>´#\ dù$/i¤‘þðÇíxò…,_|1‹,DȦ'UpøÞœÁìS%GFzÁz ´ €’‚™Tz2œSDâß(FL‚S˜Cj›]ƒé¤_£žÂy4ì°%P;ÜØ¨kCÌò* …nà‰9UࣙF˜i4 _ÈÚf,¬ Õ'&jŠÂ„Ö>´,¤zM·Œ]¨,ã’Ë×&¦«îI<|áÆ»&yÂüôfäI;!ù ÿ,"!ÿÿ H°`Á?ž6ü1Ȱ¡A„xŽT¨`͡Ńž"VУ-A‚3ž.:„(ñÍŽŽMe ²Pä@„:ŠUxí¤Ç”¦L„Ûàæ Qt ÕD™À”Q&’ ˆÕ’!Bk~òÉ[&¦Å=oŠ5¥&I¿±<55è#–›'—¼½3ꪩ{G•‚UxñϬvv,U •ý¿\“„+Ö¥@O±VPó–BÏ=5¦¼ÎkøuvVí ¶ÿ+……TInE`‡‡›9~4L©Ñ]:ú5jt‘]ÐM6l1@_~Ý凟‚5hPÃ/!ôM:V\!À€Ýe˜ ƒ ÆÇO"\Ób} Ã]@á}ñMáâ‹ñUÁ‡ßÈrÀaxð %Á|rŠ]\ÐE|ø3…‘FNqAÁµƒÂ¤Üø>ä‡À ÁÄÀÏ–ò!y¤‘]ˆð D|Áƒ“¤L åùi€Ë pâBÉ‘.úcä %P¡Ð±)×  RrÓ` ôÈ€43|éÏ"èùGSí"‹, ðd¡òs‡×´ãIåǤ­ý³¦–%l:âW£C;M¹h#€Â_”yã?žÐCž|!K¯6+’ÇAįʎÄÃ¥(Ì’j´y" )Õ^‹-lkí·#‘B Þ’»)ã’ÛÐ.¹¢þ!ù ÿ, "ÿÿ H° Á? *\Há†GhàaHQ BŠÅAõF[‚#*¼øÀȹ4ovh[™ k"ÿ´sƒçÁL-FAká±eS@„<8óÚ5OV„ZFOŒÎ7 îýjÂD¿v=õ„pÉŠK¯–EG jL$ÙRbA¼¡=Yû³¤kµ Bn`ГÁ”š$áJd¢â¦]ƒoé.Q…Io†{IÈ´·!\†nÜ ¬Å$†-àÜV¾,òß%WxÃr#ËèÒ ñøø³bE*_=J‘ÙÐ`;vKjUâÕODåî*,÷Ì‚:p˜Y…8v!Z#QbÜŒcJØÿš7oévJìTŠF

    b-(Q…_û5ÐÍë‚îþ˜XéîˆbCmÔ×ù¡ã ~÷¡Ó7p!äF&”aƒ[lPà`â§UÀôÛ7"Œ3NéÄN:d´1O ]Ô Á;òx¢üT!‚ÿèpÁ}D"Lá$8ÆühÇSøS%•ŒÃÇ7ì|AÊ,è`߉‘àrÁQRBÉ•VòXÅÄì ³l€Â„9f’Ás?Tæa%%æÀ©ƒa‘‚)nAJž>©Á«ü ?”ÄÐÀCP¢]ƒ‚,<1˜8ÀÍráQD„YVÆ'²,êhž–U(ki¢** ˜°Uä _ @çnÁ64K­(ð€l²Ñ* ÀB»Ð<묵³[-·MðŶà*ä†,< .¶é–»Ð5äº;Òÿ!ù ÿ,"ÿÿ H° Á?6Xó³Á Ã‚ÛyZø Xôûóp Â?žÜÄò3(Œª-Z@Óö&Až " y-Ö5>†­ðæâ•¥ -Þèê2ƒˆn®ùh÷ñ㊗öÐ³Ô‚ŽžzL©1±€#A7L›þ±siD¨jÒbÈpok’$á2yèÃÍÇ%+¢È ’JHŠ72ô SbÛ‚x:6Ìèi–S;!ü˲Í0•ÄaCÜÕ²•oÖìè„»Œá!ÍúŸ§KÚ‘G ”æÖwÙ‰½Ä›·#1Fô”٠鱋³KàG…ñ¾qñ«•Ü‚3dÆž½(Èÿ³;cæu™ ”yèÆ4÷ø‡/3•¢¨‚nœ­+íÙ°EÌ#:5 ˆÎ^¹A‚D 0îÀ;¢À`´_ †X1ýOˆdA “LBCýDNÖ ÜhcÍýñMˆœN8¶\0?üäÁÏ09Å“ðs9hˆpÀ?>âÈO‘HIÉ“`NÁ0æü²1»À1_\é£] yÂ’PBI’(rGÜì’˜'yB lº 7TàËãÜ!ÍT\#B2M€Âm:GiB“Þ&DÈò…c¸µv ƒài©y‚«¤²8ÚѤȂB¬²>t*¸æj«·®êë–öêkA§ò ¬¯žÈbì±­¹¬¯×¨ íC<{-– !ù ÿ,#ÿÿ H°`Á?4˜ðO;Ož6¸ñã‡Ê b4¨üøân®]‹EO‚ì)ÔBL‹7é6þk§Ä•ˆí&\bgŲ FÑ{£Ç†'ØÑ©“çŠ{,’FÏ=2>Æ[ÑÔÏž¡¼É³d) †{jîeˆ5O»%yÖZq‰š·ò0YAe£_¿,à,p3ðZ¥†v¼ ´ 1bñðXó±ÁSN…}„‹Ð°X:.ôtÄ çØŠ^ýïO©ZœyƓɚ!1{K8/bG{uïÖ»¢™1co‘â zòaMG<*<Éü‹†„E¹W¸RÂã në†8ÿXs¢’+ÖœQ‚Šƒt(tZd¯R©b`Áˆæ®^VXaó@±B|Ô0†y“”A=fTB0õÀ@@:lÁ< ƒNhää€üŒ‘Ngü…DYÄqB8mlØÅ<]Ô`#:æH'B üPRÅÌÀÏC’HbühPƒLÖpŒÈÏð#¤”`©$CJ2ÃUä ÂEÐÂ(ñÍ3Ì Œ"ãÈ æÜì¢D,“UvY,_rMkÅs e–…&š²BXmŒzÒçŸŒÖæè‹Fê)_@j©hL ‹¦›.t  †ZÐ5¤š*š( êh­¾Ê)®ÊJÐ<Ôj+R³èºë?"ýšY©¶v!ù ÿ, #ÿÿýiç© Áƒ7(\¨Ð‡§?…iæÊ‡E‹.úP8l˜:yLœå:2PÊ©%Kì,Ȳå’vKFT±¬”GR¥\Ù²§Ê#.EÁ4êf»AÞªÙ±sÉÎ ;VB]âm…™j0 É•©d­Z(S.²÷ÄŒ™( @ÎX.T ¬tm·­ÞÊ”ö¨(ñîo_%ì”]Â¥ÓCÂËž™a†I8o¯“; íëY©g¤8JcÆœ8!åC" ¼TÅ"QL"eÔ“Î6a_üDÈÏù Î 4ÄÇWaCD0öMA‰„SD˜"%P˜_ctQÃŒæ<ÄG9”P‚cŽüÌÀ$>ávqÁ/áO|lð´’(n%üøÿiSX´!øðõ‘F‹[9ßHP‰w€7ÿ˜¢AC—1½”=‹´³Ä"Ãx"®à€Hƒ,ÀñáÏNÁÏmdApKØQKöØcF'Q¸òH2ú“†/bH‰ AÃ$õ” Ô# ÅÂb;«ä‘‡?.™¡StÁa?ýØ`C86¤S‚Ùp¤Ä.$à3„hä`Î8Š3?’„÷ŸxÑݡϞ D”'t¾„JPßðF§s µ)¤Àq¡¹yBŠ,¤,Ê(CŽé¤Äýñ`J\;_4↧¹@s¤ª&Kí¤ÊP;²(*êêB°Ê:kB@*©«°vz+H²\ó+®² :l;< :ì³ìêê>$!ù ÿ,&ÿÿ ø§àÀƒ*ü÷Çb¬ùðTðÏ‹=èF‡N.Qa±ÃãfEƒÿùè¡g†7-,-³t©]» >®é¼Vò¤Åƒì2ÜÓƒÎ(K–\x³c§bÅ›9¯YûÉpš{èÜHcÀ@¨..-ù3ÖiÅYTÛ P“ƒ/!)äa 2bÏ©MÍôáæ µšz`x¦19R>ÀR%Ï[­ZÞì-Ybg¢vÿ|/‰/¹ÎPlçɇµxñˆQ)öÁ™73f”PýSJ`cõ”¢J°biJ””ê;ÐÇ"ˆ Q/VÊÞ(²ë2 <Xâøx¾ð·Ô# ÿ•É'÷ƒídhÐP érHã¶‹]I§u̘2…ý¼6éÀ2‰C8€Œ|CìÏ5áÇ yðçèÌÓ(,Ñ ÃøÐ "¥á€}póć?Na]ôÃKDAÙdK´3Œ+U”ó7­’.,²¨A‹SŒ (ePàQDaûB#6]C>"Üq?ýåað3† éÐPO=5#Œ0ƒC¾¹Ç.rˆÃ3ðÃ]t¡d86ðñæ4r^ôTi±ìB9TQÅcs2çyNybç7DLpÍ!pðvÞAÌ"Ë<¨pÀ©Ýe€Â(L³¬ ýq¤dÓˆ©¸ $+ Ì|l°»¢pÈ5Á*„àI³ 3(ì5pò*µYÀ­àt@#plZî?ç’¢-²p0»®¹DL;¯°ÆÞ+×¼lt!ù ÿ, 'ÿÿ øÏÓv>þ($Ȱ¡C¨èу‰”><-|ÈQ`», ´éѦ Z®\ØáÙ ðOG†ìî™2• &7-–½ª&ÁŸkÚm|ø‡š™¦îÝÓ󆎘eA.­XÑnƒ›k×ܰtÉÐZjŽf¸—!CšQi–ºt©¥BO€2ü³@“&5÷LdðåËlš4˜‚¸ðfÇ­B­ ÝØpKS’Iäà¡âI¯ÏR…`RøÏ…ì¸B䯸¼$Iúùø§°*rŽˆEŽÉ¥Z+$¸a¸¡ :ÆðzôX ¢BÖâÉA”(P¼vÿ|ëò]ðp:^þiçÉG„º×^dÊ ¢Á€1xLß\“ÐP]#‰?þýGdl‘Î p¡ 9 D~ BdAþäA¢?ü×Eªˆrî±N?¶T†»hµ‘'2P‚‹?B8„Øq¸ãL%8Ó "™\p9$xß !ƒ$$¡]aC=“YÉ ¼˜ä Œ|!Zkn|3Ä/ñ 9E c„Ó Vˆû`6ú±k‡=@Ìb xFÇ$}hÊÇ¡sqçÃ7äpActa h¡Œ*lÊ^t‡)œñC1A;×P€,œ¾úÇAÊ¢Â5¯vä )D|Ñ *d]²y2²äÚÊ,½&»l³¤LÃŒ'Ôr´,(ÀÑʰåVK p0sÈíºÛH‡Z¯Cž|qï!ÈîÛP¿÷6Òm¹žÈ’ 3LmÂÙdC®À ýB68Lí³ÐKqCÏò 1µâñÇs]3r¹œ!ù ÿ,!(ÿÿ 8ðþ\Ȱ!à 60Р‚P¡Ã‹ ÿ”º§-6‰b©ƒŒ©(ìxCç܃ŠGlÇÆ”Í“)w@k)Ì DeþaÏ„ ›Gqê6j™¥eðÄÚ ÒᆚŒšÐdJS÷î% #FŒ¥K—¼m¸†‡jF9niÊj"ɯj2€ÕCGˆ8ÕF,I¸á@L:lÅ•;W„'7ÄÀmIr/ƒQò.85ø’ÃíD Cwë|ƒÆ8’ˆ8„t1*öÒÆ½°1?õ}3£@„Õ˜?î(:óЏS†- ƒßeô‡ßüBI‰5ôV¡ 0¬1ÎŽ¼àD×d7f™üˆ7…tU¦ó(/`ƒ Z‚‡LÄdãvQM(€@P@ˆ29&1"üòKD|A¦>´R@,™¦÷G;»)¬5™R€ >¤š_„šÐ†G˜¶ă,¯þq@6*Lƒi°Íò²x‚Â4­ÀÊìnÃ6B Ì´Â v× +K#(À1Í4†…+, 4À4pèì< MÌ0ㆺØá.3ÖòË$pdÃL6à LÁp¼ÌÒÛH6(«°ÄÙì«p³ðñµô‘ðÆÄð0ɵq@!ù ÿ,")ÿÿ Hðߟƒ*\Hð5)T6üaH‘á ´) âaÅíÜK@R$~døGŽS `fÔ¶ÃʃŽWüƒg‹ S@Τ™æÜƒv9?þÑqB“‰§Oƒ–„­…Qœ=­pË)Ô—BI¾©JOUk†œw««¦·™DPó¦=-F ٣Ε ¿uÀõ­&[}·åe‚{oè2¤Z- ×’.­‚®sá:rt³mK’{÷„СS¨Z¨xºW£†ç[P$Ýéfñ–{0¤ ò!óÀv}¦h¨N9J°üÓN 82=0À`§™¥)Ê5tÿF³Ã…w M…œv;c5ð—ü”Úæ¾™«ÝeÕ7é ¥õ,øC_õi°\góÌ3E$Á<’;HeÅÍ y8…?à)ØÜ<5øÉ /¼ÆNçÆ794PŸ}÷ÙÖ:]ŒI08€GŠZã€$Ú·œmó@?å|rß "p¤^AíøÀ"öÕ6óAÆ< *g‹nð¸OhðÓáA…-ãÀ¨Á |Äòd€+æÀ‚üA1†#«dˆÀˆ/0BÄœ àÙ…p$DÊ!ÙªÐhßüÒ(ÀÁƒ'߀¡L7€¥,mðÍ7²xzÐ×$¦ÓŠ©¨RË­’2ѳ BpÔÊÐ5¸ÂñÅA×0ë4×è¤Ð Ðˆ®> 0 Ì ;,)Ò’â‰,Ì´¢ÂÚnKD#_ðÀ!­Ÿ³ ¹ñÙœËnžÀ»­f“ 3Ó0cœ¾ ñ G60sÈåVÄo#‚BÃK‹°»3ä þfÓlÆ ]s®ÇäÆÁ<”üÑ5ƾ ò¾(äûrªµ!ù ÿ,#)ÿÿ Hpà>þ\Ȱ!Á?ÖP¡2²A¡Ã‹ ÿè¸bJ›TT*bù"GS hÓ¦€Š'‹$j g”͔+wXq 3fIk'L5U¥Jm:yúÔhK€&¡5‹¦L°c´^ÚõlÈTÀ­[šÂš€§FªÊªÐhdÝZÐZ^Á†=ÁŽÄ–¢F­Bk!Å϶ÿÚ‰¨WM·ÂáùëcA©¦ôh{Ó€”ÅÛqãGX€á['tÀüãfÁÝ›zô¼%†É˜š)i¨A]âÅZÛvׄžzF¥iæÆb; ”¦L™]C@Ñn¼îÙ.ú5jLa8gÍ8ò<Ê5Lÿiž©¢Ž.аË=°p×mˆøç%þ¦ä_^£Ë/*ìpVC99àfб¬3}>|ÃBùí7:óØÒE  Ì;E`v [‘0„Ê-§Aa…Õ€À ,rXIásAà)GŠ5àÂ"$xáÀ‹#‘&b‰Lˆâ‘¼I$S\ð#`2ùÐÇ áYؤȂB#¡ö¶ (€tCˆ ©JÄÅòÀÑÈ ú€Â!‹¨ñðE­·bÖÎs¨Ð+®¢þÁ)(Ø:KonÈ2M+Ên¬¬Ð‘ ®\³k+½²°Î~í­íÍ!†¨ Â!ç¢Ëƒ,D4’ <4Â̵­Ñ¡½Äfã-3‡´0¤ÀbÆÃ©ÙdÂÓòEs ÷ö°¾pÈ4ÌÔ›±Æ—J6œhðTÐ!‘"Åv±®˜J@ÃŽZ\ÄÔÈ‘ ôÙRe¬ðLèt™@›¶7q"Ö<ècMštš0µ´§¶ 8ÖikÞ­[HM$] ó)bí(ZäÖº«H‘®Ù•d‚Ðf¢,r\Ð ÐtµÍ‚vxÖpùt‡ksÿY´ iІf¸ÅOÂ?žX6í¹cÇ v(A²ÈãXƒ½Æ,ðšÄ—]µ} «%\¤KC®Üñšð„kKR›)*QäÏ_Ž!÷¡9°šÿ¸§ vñ7l€ëÿ¸ƒË9éÇèJ¸‘øGD [–ÿmÐÌó^–Xì7ô™}Jtt¶(q5hÀÉ7aýA[&$‘‰PµóMc¹A†Î¶W ŸL§˜p'°C[EñŒãŸÎãÀ$ð£/ƒLv>@¸v9øgÚ]zý‚ÀÉ \Ä“C ÑØ<šeK<¬ò @Ò‚5ý±Ë ¦=vW P,p +ÁT‰@ +©&z‰dóL„ àØ/Ryd‘;òX…#íâE$8V…€Sqãb ]>|xljðÃ͈biN(éAˆPÍQâaJ(ñÍ(Àñé@žàÒ£ 6€0’Ì,C]3,­¾:–Œ4aH< uÀ®­6i„×ÀAHÄæJÊž*û«'dÓŠ Ð[Ó5Óºjí?í\ƒÂ!ÛB[ÀÆî G#Ù\ƒÙbH+Ðr¦+Ë»ñšËÌ!ÓlÛ ë õϤxšM6_42pÁ­L³¯Â]ó…¸ÙÀÌÀ­l£Âl oOc3¨™’¹p<Œò!‡12ÆÿÀܱÇ´Œ³AÍž 7ÿü7â³Ñ@¿+KÑL ÇÒQW”ÜP!ù ÿ,#*ÿÿ H° Á? *\ÈðßGеkHQáO¥®$ÐsdbÅŠKõ»g*ÁÆŽþio@¦Jšäè1%Áv±JÀÓd¢gL“ÚÞ ´éÐÚ¶14ñìé¨Ðšÿèèsº[š°šàSfС*}p» €«X±FágmAÏmXx‘‹)jÔ°z«o„nÚQÙb æÛ;âÌ=èi— \S"çµ*Ê6 RiëU4Ź•ó—'ÞÉóJ°ƒª9Ì’p/¸¡ÏhÓ¦÷òñ”yàk‚·¼ºƒ†›}J“Öw •Þ=ýz‹Œa Ú@lg¡td¼èœCÿ÷Tå‰vx Ÿ™ *wÓ’õŠH^?nžÒ¿6å‹ èÿ´Ã %þD¶W óýS_‘à§Ÿ%øÑ€µ3Äwyí5_;"h0Å æW6Äd“…÷ÍD> ‘Ç ƒo èa†{ͳÀDµó 2²f"7Ìeh•޵CK0@BÉžØd#ŽG’P;?0™‡ÜÉ€üè¥Wæ‘Y;@ã}™D™˜tñËp P–MqŸ—tíò‹²îY@‰‡5tiÓ»L áæv} `i9uði'(pLºØ(פĩ§D4Òˆ¨ýıA2Ì´R@ª­Š‚ ¯ÔÎ5(0£B j§(Àáê¤\óE† K,®yª²½þá)Ù2 Òª@-EÖ~Ñê²>LÐ3‡Ò ¸*4r … Y›l#Ù42Òî»*p€¦ Ù«l6dà »î¶Â %eí¹Ù Ì®·Ì|±½Õš Âôk3¤lLTAžÈrpÈ £àÇRBZqÈDÌ{2]2ç{Ì7·ƒB6D ÌóÍ2KÄ77´ÒÐ !ù ÿ,")ÿÿ H°`Á? *\¸ðO;˜3›ˆ¶¬Ga/xÇ‹ýÁ?Ñ‘5„‡þÌ 9H¸P;Ì`,ù°$1”è‘5ãŒÕE98ÂCkìL$UØÈÐTp€-uÇ—µÃ  é‘L D4§A×3EÔQ´Á¤|oV÷G{Sp äA‡’‚‚›~¾èß”Ð7Ѥ²'|Áãï ÀÉ€ j)¦²¼·è„èc*C *Êh6·öØŽ<ÁÌ&Áã?¹.š ¯ýñk°LÓŠ DZ ^ÚH#Ì>KD6‡H«µÕ^‹«¥¤.‹(4ÂÌ!‡2í¸Õ‹-)˜.›M̼o+óªpLZÐ{r»o Ã+¯ ­‚BÁÇäÉ¢ /nÄÌL\ZNžôÉ-Ãý€Ç+²Â gƒÂ5çTPÈË–z‹2/ä‰,_Àœ²ÌÎþ¬P@!ù ÿ, 'ÿÿ H°`Á?í|løc°¡C­=ƒÄW/O3FŒ·\S¦hÓ+ãAO:8¢O“  ˆ”ÒN#ÊxÜÌué"@À­[/_†”ùÁ?7-Œ“D©F tè|ÞÒäRhHm;Ž0$ø‡O\yòLÑà4ªTªUaÊÔFÇ(Wvåü‰«jÏ©ðN¬²E­È¬[zb!7,Ù¨Pl­ákáŸ~±ÞØp_¹)s¢iü'ð?<[b&ØMkÁÁþ¦Œ}ºÀóÀÇ‘w(ÀÈ•fÕdÛXs ^L¬o¸¾v!õ”§èZ7l.öìƒT…j‹¶ÁXIDk{ãçº$ÜèjÌÿ#áZ §~±ÏY‡8Dìat'Ö¿f§&²·cñ;Ž|•òÿxŽP2éQŒkž ±ZYÈ‘.i’Å»øÐ;ühpX Pt×'ã À‡'9ä‰9d•…N þó‡/ìcáCP¡¡S5ta ~ùÀÅ Ê=tbUpP„#àÐ@¼PE‹¯}ÃÍ( JòöN9ÿÑ8ˤ|AIÒøCÕÑÈÃ_Èbe™ÅB ?ìx9,²œ&æ 55ôa¢ g#³˜K9ü”$è,ašM–BîóIiž{Nºd;nÌÒˆ>´øÇn’Ùˆ§¯z)(4—rˆ ´bê,nî¹ê¹qÀd2sH+­`l+”u€¡f# ¬pÈ´Ó´¢­Æªpë›Ùd€·{HµÖ^kllÛláJ;.±×¶rHD@¢ <4 n¸Ó2Í4‡dƒÂŽi4‹®à Ë 3ÙrMÁ&AÄC#«²›M#C1W¢6‡Ãž´àÆ‚¹AâÈ&!ù ÿ,&ÿÿ H° Á\h0áÖA¢ƒaÃ?¬éˆ·™=îÝÛqäÏB‡ãqCc xšL˜0e*Am<üãCÉ.n9ÆÍà§Q·nÅ”Yóæ<;s”ËCuІFÑ!UºÔÔL›;Š™ø‡›?y¦X-ªU€&®šbÒ¼Ir¬ÀX’Ъ½z)”'ÐlSóU›¶:zbÖŸÕc¬áFÅÚOí<õûêêÀ?´ª>¶µ¡ÂÏÛ¼ÖÔV— ;Jj­¢ƒëàŸ2ÁîPXàâ´SjÔ°À.ÁX=æ²~ãg'·ØlÁWœ…óŽÖcÁŽ®‡Þ;q+ÿß ÞÓ¸µXçÕ>+‰ ›Ë=“íó+ºLÓ}onÊzÝÛõõmâñ— x±Å:ê-ä‡{séDyU\%VÅäÉŒÁ :ø`\Y,ˆŽ-à}¶Áñ|rÀB ÖÐEcTq‡ÅâÄùýã |ÐRpÀá†EžìÃEоñ0Á² Ç5ýñC ëÔΤ@‰PiÑ1àgP;<" RŠÉÐb(6ôäl6’›'qÓE–Ÿ‘Ò%‘„iÑ]üdHP;~²I„x.gŠt)K‘6ÚP;@˜#Ÿ@ˆF &£%ä‰@ Ù03K¨§RšÍ™‘…j* v2sˆ *PÀª‡¶j竲LZ+3ÓLc®¹êÊ«€fÓH0#í!ÔÒJ+$«¬–_ùj6ÐBKí4×"›¬ ­¼¸S·‚+.±†X{í!×l0ݲ´ë®­‡0“ ¤àëIB=’Õï·pÈRð5Ÿ6(YÌrÄOLP@!ù ÿ,%ÿÿ H°àŸƒÛyòamß‚þQ¸P‡’xÄä,Øv& _zµ#èCÉ®oÜDäø5®Ê˜1bÞ2a”ÍÚPmø_¹<@§LÑPÑ[H5Ѭ™ ék<¿áò—g(Ñ¢2oiRZóf‚7~²+çoJÕ)EÑÉܺµ¦‰¦ÚÞ z(ÐÚϳ5° €áĉkÂuŹãÝ•Zt%:|lðÔ®š¦Ÿ;ÜN†Ù¡5æ)9L0V¯;xâÙg1Qt HÔу©¶t|ðä&mQ²z"Ã4Áhx*éöÄjˆžú½5uÚƒÒ’¬¢«aë¹Ám^oÿ;ìch£Pt@ü÷gÁàÛ†zwÕè{3Ã[­ á¶bÈ!<˜Ëí³Ì0Sk¯D @ ³\ã¨íÖ)(|Á\#ðdø#ByŽ!ù ÿ, $ÿÿ Hðߟƒ"¸A‰Ã‡J(‰÷XEb‰QÑH¬Ø†JÊå9…’~]С›'àMjLÉLƒ¸på™2EC*ÑݪɄ ™¦h¾¹©DçΞ@Ñ hyKSQ£I•29RƒO•S5Uµzô¨V”vz­1ïD['àž˜‹•¦¶7x@ò̳vÀ† ž<ì&œÙÚ !Iò«-Oz 714vzyNú8ò¿v”ejÛñf±J<¢k9r»,1ïØáç_¬ž›9·.øÚ„ÝÙ˜uH‚ª’µçv%*ïPüO‡IÕèN|tå0ðæ’|ªîLýðÝÚxøiÿWɽàŸ5•ï½ÍtÞk¼k{МßÏ¨å ž?šU±?:˜SÅ€\Ãnúq3@ à°áà¸1Á7²Ap HP;px':D8)_TG†žy¢ˆ$¢@ĉ¦øYˆnBŠ‹/Â჌¼Ñhc…D4ÒÈŽ<ÔNˆØè"dCd‘3þ±A‰K6ùd‘GJù (4G6NB)P–S¢pb6B^É#™²˜ù%˜j¤ÐAdº(d“ÌrÀž|ÎâçŸ~òÀŽ”n‚™M†fÃÌ¢‹âè4­¨ÐŠ,RÙ$˜À¨£‡LcH¤*„ªB(HÉd“™fÚh§Ÿ‚j°–+ºÁ—¨¦ú¨§­¸:*¬!¥,'žŠf°^Þyi6p¼8 xÒá³sF»P@!ù ÿ, $ÿÿýûcÍ žÚµûðá#Fô´ª'NãîÜAÃÇ·oĨ(ѡà „ !úhà/Ož)S4Ô¨PnÁK²eË•+Yˆ©™juG…vÛÉ@ú·Æ,ð‡¿\pA$ŽáXnÛ8¨Í:8ðǤ‚-@8ĉýQBI¨qzáG/N@ʲ,¸xà¡ÄTø@/ƈ¤’L·àë%)² °$8zÑÛ #™Dp™¦š¡¡Ç?o¢ d#ÙÌIç8¶Á_è Ÿ~ªéC žà¹å’ÙôI§Dì Ú †ò)餪a‰g™KòÙH¢ ~#&žz6¢iŸ¥´`˜yb¦ª‘fƒÂ¤LÀÃ,ÄrA'µã Ùyª¦ÀL²Ì4«l²ª6"÷'DD›M²Ï2sÈ·ÓLcH+*”«Â&`4z-µn›ì!Þ†ÛʼäªPÀ½¤š,´ºûí!âŽ[o¹øŒ{zòä5×ÀCŒ³fÃÌ4‡Œkop¸çe« «° Ï‚c@!ù ÿ,&ÿÿ øgC»?*\ÈpáŸoœîäà¶K‰ƒÿ4Üøï\þòä™2åÂ…_"¸QÑáÃSFŽÿ<­ IRƒÍèÐ %‰lˆÅcéra¬r4§ÜÌ©ó–SM&L¨¹wϪ# ’IR)ÓNoA5aÊT³zŒdý×N†¿®5jÌÛ)@¬&¨cË&ÐöÆB3F*•K… %lE€O“)² öÞð¡P ¥šÐÙÚ±'±¨ô#kVÛŽsk=N™ݶµ =6»Ú µždŒ«“ì±’èM°ƒåì.kà=æ¸ÃRjôšÎÕnàƒq¢à©a»,k«ÿµ.bpN™~ ô±Eúh~^Î{»ì„G6}cCGJð—vmøÇÐë„gjXsÆ%€êÅ4[d ؆Ð7ž´ÃÇ]tÁT)7œ6Æý³8žx2)uü D:4ôG)¤íµCݱÃÁ.¾( pÀáœBÂÞXý±@-NðŲQ¤6ZCÅaàJ,l C‡¤2¤•p\ÃQFqöcˆ€P™_¦š09D ?ßüÑN™UÂÑH6xæiÝ6`ùÇ”D1h¡†ªh‹ Õý9d‘F:]à£Ñ¤ `e#iž7òs[¡™Í«§Â¶ÔÎã·è¨¯ªé›qfÕŽ,‚šM<ø€QB6RÑ YýA$©¯ð*DÈ2Á,{PBl3ƒsí 0è ”Ë̹‡œ[n#pÈBÊ,׸Æ8Õ„B6–3ûâï4ÓÒŠÀ­LsÈ8}¤Æ´ú2“î¿­D¬‚ ­¨P€ÅÇ(áÐg×ð@Š£ç<Ä[\ÀÉ hcF{<è!›|²#®É²“Rª!Ô¼+›E)!ù ÿ, (ÿÿ (ðA‚*Løg—…]>Ú\H1áEþòÌ!â›+*üó Wž“S¦ðãw¡#•ˆ!Ez’‘1Ï jÔ@ÇS@›5¨¸Ù3!»rSü¥Ì¹³ç-·4Áë±å ±—¶+bs©N§·¢j2AÖÔ=Sz|ÉJ¥®9ÑU‰ ªØ±&LéM`1¶‹¤¼¹s€7Ć€‹p Þ½|Qm@¨c†Wtþþ3øÇb%Ô˜ÊËwÇZ‚¸ÙdŠ®‘ÄÊòÕFG‹7ã¢[˜ §5yM%жã\;Ôß4LùŠŠm…ì’èÕ6šŸÞídàdî ÷À?Û‚ÿß‘ËB%üX7à] µ-{‰CÔû¦M˜g¸€ôø“¤Ã:5•Y{ÿl@iÚwÚw»˜C`S¶¼ÆPlÂG‡+õÇ,¤àÓGæŒÁ›BždáqÆ´H~÷‡âiS[‡/rä:ªØÈÀí‚Æj8¶ƒ{é`Ëx‚% =Â!‹‹ ¹ÁY:qè_ 3ø fŠpÀÑ.ôG;íÄÜ<°æ’}fG mŽ”€cŠD4Òˆ£:ô‡]hCij2¹é£2-dMH‚‡BžÈÈÒ禜¦:Ðôa‘'Zfã+ª¶E¢>”Ø#­Ù 0‹P‘†SÃßJ„¯¾€£Ê2»Ð§ˆQä?ídJ«µÌ0€¹pðàÃe¶Qƒ$±ØwÀ´ÖÖÀ!ø2 3>ÀîSè l<am¾úN£°!ûö«¢ã{‘f<4ÂÌ4­d¬± «045Pmª7‚o+«P@›h1Ũ¶ êƒ5(¤!ù ÿ,")ÿÿ Hðߟƒ*\XPŸ]íþ0œÈ°]\årìò¢Çv(ùËãoÊŒ":zTøGI¹‘y4LÑ Ÿb%®øG‹)yòL™Y£(º.cDàQéqÃ8¡3‰Ö@'Õ[cÀQáø1$T E§Vp«lYx[¶¹aJð¾¡CÁ¢³…fÌ-²šniÒd¢¯šH¶êä©CX\¹'t´óA \„½|ûš0•À”_~ÿÓ1.îTtPbé<ÏA›È¦R'H í†‚íDÌ+vfƒÜdJ2™òj K‚äGsj ÜÚ-l®÷jm;Ž þÃŽ¸Q«á6,—£Fµ6èG” ÿìY…ög[:ng—Ä;ô\Ún0g^,1õ­‘QÍzGšô]#Â]5Ïâ%´A?©Q4ƒÜvÀ²ôñKè€ãÉr t÷œ6Є—Ð5" Ž\BÈÑžƒ;ì@C‚M(ˉp±!‹xô0Ùsþ¹‚ß5&¢@pìX~?®¶+òѤ|#>°è@_¾iCG1·ýa 7\c¥‘HfYл”ÐÃ=ý‰XáüÒŽ_ ÙH#ñ­ùcáÜ£€š°­Sƒ×È¢g„²äÖÜÖÎóh Ê"™ £©G2ÝQ¦žpºOÖœPÃã,寑{fâ“M£;y²F PDn «©§NZ %}ˆw ±fÓÈl1ôG)ó¬šC‚n$»i6DÀÕD=µÎŠ(Pµ²n3Ì`KJN щ«0¢µÅ æpn‡ l é:èäJ&‹e‘ ºù&< 3pLÀn;rD;E±ÎþÉC#‡2Í!Óh¬q²ô˨S°@ëB´s1Ç­¨Ð² 0Ò«*e§ð2̰‰aºâ×érHÏpAñ©Ün0A6­@` Ö+䯶 !ùÿ,$*ÿÿ HàŸ  *\ÈPa; E¾yJذbÇ1p呱 ¡ÅÿàÃå/É)w¨´£’á<ÂJæ™2EÃ~hv­l©ð'ijÐP£h—:Y¶ô9nÊÌšDÑI€N”Jþ(­è“…S¡5¤N­z«,pìvrÕÑ,ºyë†DPVS]š’°Ñ¡Õ%[°a,XéÆA„[šk2a”‰Høöü;´èÛÁ!Ýl‹ ˜±)S Lù’ÒΠµq•-ÏËä©g¬I›H@;ž#¥2%j¹*·Ü=ñli :¶ÛÀ}Váö2ð‚¬õû\üø‘Öݘ«5ì¼!Ï êÿ C¶¶¸ ÎâV¥‹jð.­‘!N{Ç›ôê'Ôq]Ì EG†ÕÙ‡ŸAB p_€ò5fÞè…§[‚_ÈBðpH+«P€ útAÃ7t) à2!”ä¡H,)[ô‡,»¬E ({ÊέÀÍ>÷ë ¶½TÍ;traitsui-7.2.1/examples/demo/Extras/tests/0000755000076500000240000000000014046644526021161 5ustar aayresstaff00000000000000traitsui-7.2.1/examples/demo/Extras/tests/__init__.py0000644000076500000240000000000014046644454023260 0ustar aayresstaff00000000000000traitsui-7.2.1/examples/demo/Extras/tests/test_Image_editor_demo.py0000644000076500000240000000201714046644454026166 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! """ This file provides tests for the demo of the same name located in the directory one level up. """ import os import runpy import unittest #: Filename of the demo script FILENAME = "Image_editor_demo.py" #: Path of the demo script DEMO_PATH = os.path.join(os.path.dirname(__file__), "..", FILENAME) class TestImageEditorDemo(unittest.TestCase): def test_image_path_exists(self): search_path, = runpy.run_path(DEMO_PATH)["search_path"] self.assertTrue(os.path.exists(search_path)) # Run the test(s) unittest.TextTestRunner().run( unittest.TestLoader().loadTestsFromTestCase(TestImageEditorDemo) ) traitsui-7.2.1/examples/demo/Extras/LED_display.py0000644000076500000240000000655114046644454022531 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! """ This demo illustrates use of the LEDEditor for displaying numeric values using a simulated LED display control. """ from threading import Thread from time import sleep from traits.api import HasTraits, Instance, Int, Bool, Float from traitsui.api import View, Item, HGroup, Handler, UIInfo, spring from traits.etsconfig.api import ETSConfig if ETSConfig.toolkit == 'wx': from traitsui.wx.extra.led_editor import LEDEditor else: from traitsui.qt4.extra.led_editor import LEDEditor # Handler class for the LEDDemo class view: class LEDDemoHandler(Handler): # The UIInfo object associated with the UI: info = Instance(UIInfo) # Is the demo currently running: running = Bool(True) # Is the thread still alive? alive = Bool(True) def init(self, info): self.info = info Thread(target=self._update_counter).start() def closed(self, info, is_ok): self.running = False while self.alive: sleep(.05) def _update_counter(self): while self.running: self.info.object.counter1 += 1 self.info.object.counter2 += .001 sleep(.01) self.alive = False # The main demo class: class LEDDemo(HasTraits): # A counter to display: counter1 = Int() # A floating point value to display: counter2 = Float() # The traits view: view = View( Item('counter1', label='Left aligned', editor=LEDEditor(alignment='left') ), Item('counter1', label='Center aligned', editor=LEDEditor(alignment='center') ), Item('counter1', label='Right aligned', editor=LEDEditor() # default = 'right' aligned ), Item('counter2', label='Float value', editor=LEDEditor(format_str='%.3f') ), '_', HGroup( Item('counter1', label='Left', height=-40, width=120, editor=LEDEditor(alignment='left') ), spring, Item('counter1', label='Center', height=-40, width=120, editor=LEDEditor(alignment='center') ), spring, Item('counter1', label='Right', height=-40, width=120, editor=LEDEditor() # default = 'right' aligned ), spring, Item('counter2', label='Float', height=-40, width=120, editor=LEDEditor(format_str='%.3f') ) ), title='LED Editor Demo', buttons=['OK'], handler=LEDDemoHandler ) # Create the demo: demo = LEDDemo() # Run the demo (if invoked from the command line): if __name__ == '__main__': demo.configure_traits() traitsui-7.2.1/examples/demo/Extras/windows/0000755000076500000240000000000014046644526021511 5ustar aayresstaff00000000000000traitsui-7.2.1/examples/demo/Extras/windows/flash.py0000644000076500000240000000332014046644454023156 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! """ Demo showing how to use the Windows specific Flash editor. """ # Imports: from traitsui.wx.extra.windows.flash_editor \ import FlashEditor from traits.api \ import Enum, HasTraits from traitsui.api \ import View, HGroup, Item # The demo class: class FlashDemo(HasTraits): # The Flash file to display: flash = Enum( 'http://www.ianag.com/arcade/swf/sudoku.swf', 'http://www.ianag.com/arcade/swf/f-336.swf', 'http://www.ianag.com/arcade/swf/f-3D-Reversi-1612.swf', 'http://www.ianag.com/arcade/swf/game_234.swf', 'http://www.ianag.com/arcade/swf/flashmanwm.swf', 'http://www.ianag.com/arcade/swf/2379_gyroball.swf', 'http://www.ianag.com/arcade/swf/f-1416.swf', 'http://www.ianag.com/arcade/swf/mah_jongg.swf', 'http://www.ianag.com/arcade/swf/game_e4fe4e55fedc2f502be627ee6df716c5.swf', 'http://www.ianag.com/arcade/swf/rhumb.swf') # The view to display: view = View( HGroup( Item('flash', label='Pick a game to play') ), '_', Item('flash', show_label=False, editor=FlashEditor() ) ) # Create the demo: demo = FlashDemo() # Run the demo (if invoked from the command line): if __name__ == '__main__': demo.configure_traits() traitsui-7.2.1/examples/demo/Extras/windows/internet_explorer.py0000644000076500000240000000533514046644454025641 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! """ Demo showing how to use the Windows specific Internet Explorer editor. """ # Imports: from traitsui.wx.extra.windows.ie_html_editor \ import IEHTMLEditor from traits.api \ import Str, List, Button, HasTraits from traitsui.api \ import View, VGroup, HGroup, Item, TextEditor, ListEditor # The web page class: class WebPage(HasTraits): # The URL to display: url = Str('http://code.enthought.com') # The page title: title = Str() # The page status: status = Str() # The browser navigation buttons: back = Button('<--') forward = Button('-->') home = Button('Home') stop = Button('Stop') refresh = Button('Refresh') search = Button('Search') # The view to display: view = View( HGroup('back', 'forward', 'home', 'stop', 'refresh', 'search', '_', Item('status', style='readonly'), show_labels=False ), Item('url', show_label=False, editor=IEHTMLEditor( home='home', back='back', forward='forward', stop='stop', refresh='refresh', search='search', title='title', status='status') ) ) # The demo class: class InternetExplorerDemo(HasTraits): # A URL to display: url = Str('http://') # The list of web pages being browsed: pages = List(WebPage) # The view to display: view = View( VGroup( Item('url', label='Location', editor=TextEditor(auto_set=False, enter_set=True) ) ), Item('pages', show_label=False, style='custom', editor=ListEditor(use_notebook=True, deletable=True, dock_style='tab', export='DockWindowShell', page_name='.title') ) ) # Event handlers: def _url_changed(self, url): self.pages.append(WebPage(url=url.strip())) # Create the demo: demo = InternetExplorerDemo( pages=[WebPage(url='http://code.enthought.com/projects/traits/'), WebPage(url='http://dmorrill.com')]) # Run the demo (if invoked from the command line): if __name__ == '__main__': demo.configure_traits() traitsui-7.2.1/examples/demo/Extras/animated_GIF.py0000644000076500000240000000342214046644454022641 0ustar aayresstaff00000000000000# (C) Copyright 2004-2021 Enthought, Inc., Austin, TX # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in LICENSE.txt and may be redistributed only under # the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! """ This demo shows you how to use animated GIF files in a traits user interface. Note that this demo only works with wx backend. """ from os.path import join, dirname, abspath from traits.api import HasTraits, File, Bool from traitsui.api import View, VGroup, HGroup, Item, EnumEditor from traitsui.wx.animated_gif_editor import AnimatedGIFEditor # Some sample animated GIF files: base_path = join(dirname(__file__), 'images') files = [ abspath(join(base_path, 'logo_64x64.gif')), abspath(join(base_path, 'logo_48x48.gif')), abspath(join(base_path, 'logo_32x32.gif')) ] class AnimatedGIFDemo(HasTraits): # The animated GIF file to display: gif_file = File(files[0]) # Is the animation playing or not? playing = Bool(True) # The traits view: view = View( VGroup( HGroup( Item('gif_file', editor=AnimatedGIFEditor(playing='playing'), show_label=False), Item('playing'), ), '_', Item('gif_file', label='GIF File', editor=EnumEditor(values=files) ) ), title='Animated GIF Demo', buttons=['OK'] ) # Create the demo: demo = AnimatedGIFDemo() # Run the demo (if invoked from the command line): if __name__ == '__main__': demo.configure_traits() traitsui-7.2.1/examples/tutorials/0000755000076500000240000000000014046644526017653 5ustar aayresstaff00000000000000traitsui-7.2.1/examples/tutorials/doc_examples/0000755000076500000240000000000014046644526022316 5ustar aayresstaff00000000000000traitsui-7.2.1/examples/tutorials/doc_examples/doc_examples.rst0000644000076500000240000000415614046644454025521 0ustar aayresstaff00000000000000Documentation Examples ====================== This tutorial is simply a collection of the various examples taken from the Traits documentation. They are presented as a tutorial so that interested users can see the results of actually executing the example code, as well as to promote further study and exploration of various Traits topics in an interactive environment that allows easy modification and testing of changes to the code. So please feel free to explore the examples as your time, fancy and interest dictate. Have fun! A brief description of each of the examples presented in this tutorial follows: Add Class Traits Defining mutually-referring classes using the *add_class_trait* method. All Traits Features Shows the five primary features of the Traits package. Bad Self Ref Shows the incorrect way of defining a self-referencing class. Cast Simple Shows use of some of the simple casting types. Circular Definition Shows the incorrect way of defining mutually-referring classes. Compound Shows the definition of a compound trait. Custom TraitHandler Example of a custom TraitHandler Use Custom TraitHandler Example of using a custom TraitHandler Delegate Example of trait delegation. Delegate Prefix Examples of the Delegate() 'prefix' parameter. Delegation Notification Example of notification with delegation. Event Shows the definition of a trait event List Notifiers Example of zero-parameter handlers for an object containing a list Metadata Example of accessing trait metadata attributes Minimal Minimal example of using Traits. Override Default Example of overriding a default value for a trait attribute in a subclass Static Notification Example of static attribute notification This Example of This predefined trait Trait Reuse Example of reusing trait definitions Temp Wildcard Example of using a wildcard with a trait attribute name. All Wildcard Shows the trait attribute wildcard rules. Wildcard rules Example of trait attribute wildcard rules traitsui-7.2.1/examples/tutorials/doc_examples/lesson.desc0000644000076500000240000000006514046644454024462 0ustar aayresstaff00000000000000The Traits Documentation Examples Tutorial examples traitsui-7.2.1/examples/tutorials/doc_examples/default.css0000644000076500000240000000150014046644454024450 0ustar aayresstaff00000000000000body { background-color: #FFFFFF; } h1 { font-family: Arial; font-size: 14pt; color: #303030; background-color: #FCD062; padding-top: 3px; padding-left:8px; padding-bottom: 3px; padding-right: 8px; } h2 { font-family: Arial; font-size: 12pt; color: #303030; background-color: #FCD062; padding-top: 3px; padding-left:8px; padding-bottom: 3px; padding-right: 8px; } pre { border: 1px solid #A0A0A0; background-color: #FDF7E7; padding: 4px; } dl { border: 1px solid #A0A0A0; background-color: #FDF7E7; padding-top: 4px; padding-bottom: 6px; padding-left: 8px; padding-right: 8px; } dl dl { border: 0px solid #A0A0A0; } dt { font-family: Arial; font-weight: bold; dd { padding-bottom: 10px; } traitsui-7.2.1/examples/tutorials/doc_examples/examples/0000755000076500000240000000000014046644526024134 5ustar aayresstaff00000000000000traitsui-7.2.1/examples/tutorials/doc_examples/examples/view_multi_object.py0000644000076500000240000000216314046644454030222 0ustar aayresstaff00000000000000# Copyright (c) 2007, Enthought, Inc. # License: BSD Style. # view_multi_object.py --- Example of a view for # editing multiple objects import wx from traits.api import HasTraits, Str from traitsui.api import View class Person(HasTraits): first_name = Str() last_name = Str() class Company(HasTraits): company_name = Str() # Standalone View object referencing objects in the UI context employee_view = View('e.first_name', 'e.last_name', 'c.company_name') bill = Person(first_name='Bill') acme = Company(company_name='Acme Products') class TraitApp(wx.App): def __init__(self, obj1, obj2, view): self.obj1 = obj1 self.obj2 = obj2 self.view = view wx.InitAllImageHandlers() wx.App.__init__(self, 1, 'debug.log') self.MainLoop() def OnInit(self): # This is the call to the ui() method, which includes a # context dictionary ui = self.view.ui({'e': self.obj1, 'c': self.obj2}) self.SetTopWindow(ui.control) return True # Main program: TraitApp(bill, acme, employee_view) traitsui-7.2.1/examples/tutorials/doc_examples/examples/lesson.desc0000644000076500000240000000153214046644454026300 0ustar aayresstaff00000000000000Examples from the Traits User Guide all_traits_features all_wildcard bad_self_ref circular_definition add_class_trait cast_simple compound custom_traithandler default_trait_ui delegate delegate_prefix disallow dynamic_notification enum_simple event explicit false graphic_example imageenumeditor include_extra instanceeditor instance_example keywords mapped map_simple minimal multiple_criteria object_trait_attrs override_default override_editor person_bmi range reuse_editor static_notification temp_wildcard this traitcasttype traitdict traitenum traitinstance traitlist traitmap traitprefixlist traitprefixmap traitrange traitstring traittuple traitype trait_reuse type_checked_methods type_simple user_custom_th use_custom_th validator view_attributes view_multi_object view_standalone widget wildcard wildcard_all wildcard_name wildcard_rules wizard traitsui-7.2.1/examples/tutorials/doc_examples/examples/view_standalone.py0000644000076500000240000000172614046644454027676 0ustar aayresstaff00000000000000# Copyright (c) 2007, Enthought, Inc. # License: BSD Style. # view_standalone.py --- Example of a view as a # standalone object import wx from traits.api import HasTraits, Int, Str, Trait from traitsui.api import View class Person(HasTraits): first_name = Str() last_name = Str() age = Int() gender = Trait(None, 'M', 'F') name_view = View('first_name', 'last_name') # Note that person_view is a standalone object. person_view = View('first_name', 'last_name', 'age', 'gender') bill = Person() class TraitApp(wx.App): def __init__(self, object, view): self.object = object self.view = view wx.InitAllImageHandlers() wx.App.__init__(self, 1, 'debug.log') self.MainLoop() def OnInit(self): # This is the call to the ui() method. ui = self.view.ui(self.object) self.SetTopWindow(ui.control) return True # Main program: TraitApp(bill, person_view) traitsui-7.2.1/examples/tutorials/doc_examples/examples/view_attributes.py0000644000076500000240000000070314046644454027726 0ustar aayresstaff00000000000000# Copyright (c) 2007, Enthought, Inc. # License: BSD Style. # view_attributes.py --- Example of a view as an # attribute of a class from traits.api import HasTraits, Int, Str, Trait from traitsui.api import View class Person(HasTraits): first_name = Str() last_name = Str() age = Int() gender = Trait(None, 'M', 'F') name_view = View('first_name', 'last_name') bill = Person() bill.configure_traits() traitsui-7.2.1/examples/tutorials/doc_examples/examples/include_extra.py0000644000076500000240000000111014046644454027325 0ustar aayresstaff00000000000000# Copyright (c) 2007, Enthought, Inc. # License: BSD Style. # include_extra.py --- Example of Include object # provided for subclasses from traits.api import HasTraits, Int, Str from traitsui.api import Group, Include, View class Person(HasTraits): name = Str() age = Int() person_view = View('name', Include('extra'), 'age') class LocatedPerson(Person): street = Str() city = Str() state = Str() zip = Str() extra = Group('street', 'city', 'state', 'zip') Person().configure_traits() LocatedPerson().configure_traits() traitsui-7.2.1/examples/tutorials/doc_examples/examples/override_editor.py0000644000076500000240000000057314046644454027700 0ustar aayresstaff00000000000000# Copyright (c) 2007, Enthought, Inc. # License: BSD Style. # override_editor.py --- Example of overriding a trait # editor from traits.api import HasTraits, Trait from traitsui.api import Color, ColorEditor class Polygon(HasTraits): line_color = Trait(Color((0, 0, 0)), editor=ColorEditor()) Polygon().configure_traits() traitsui-7.2.1/examples/tutorials/default.css0000644000076500000240000000011114046644454022002 0ustar aayresstaff00000000000000pre { border: 1px solid black; background-color: #E8E8E8; padding: 4px } traitsui-7.2.1/examples/tutorials/traitsui_4.0/0000755000076500000240000000000014046644526022100 5ustar aayresstaff00000000000000traitsui-7.2.1/examples/tutorials/traitsui_4.0/tutorial.desc0000644000076500000240000000034014046644454024600 0ustar aayresstaff00000000000000Traits UI Changes and Enhancements deferred: Deferred UI Notifications buttons: View Default Button Changes model_view: ModelView and Controller Classes items: Extended Traits UI Item and Editor References editors traitsui-7.2.1/examples/tutorials/traitsui_4.0/editors/0000755000076500000240000000000014046644526023551 5ustar aayresstaff00000000000000traitsui-7.2.1/examples/tutorials/traitsui_4.0/editors/led.py0000644000076500000240000000752514046644454024700 0ustar aayresstaff00000000000000#--(LED Editor)----------------------------------------------------------- """ LED Editor ========== In Traits 3.0, a new **LEDEditor** has been added to the Traits UI package. The editor allows displaying (but not editing) numeric values using a set of simulated LEDs. This editor is currently only available in the wxPython version of the Traits UI in the *traitsui.wx.extras* package. The purpose of the *extras* package is to provide a location for editors which may be toolkit specific, and not necessarily available in all Traits UI toolkit packages. The traits supported by the **LEDEditor** editor are as follows: alignment Specifies the alignment of the numeric text within the control. The possible values are: *right* (the default), *left* and *center*. The value edited by an **LEDEditor** should be an integer or float value, or a string value containing only characters that would be found in an interger or float value. """ #--[Imports]-------------------------------------------------------------- from threading \ import Thread from time \ import sleep from traits.api \ import HasTraits, Instance, Int, Float, Bool from traitsui.api \ import View, Item, HGroup, Handler, UIInfo, spring from traitsui.wx.extra.led_editor \ import LEDEditor #--[LEDDemoHandler Class]------------------------------------------------- # Handler class for the LEDDemo class view: class LEDDemoHandler(Handler): # The UIInfo object associated with the UI: info = Instance(UIInfo) # Is the demo currently running: running = Bool(True) # Is the thread still alive? alive = Bool(True) def init(self, info): self.info = info Thread(target=self._update_counter).start() def closed(self, info, is_ok): self.running = False while self.alive: sleep(.05) def _update_counter(self): while self.running: self.info.object.counter1 += 1 self.info.object.counter2 += .001 sleep(.01) self.alive = False #--[LEDDemo Class]-------------------------------------------------------- # The main demo class: class LEDDemo(HasTraits): # A counter to display: counter1 = Int() # A floating point value to display: counter2 = Float() # The traits view: view = View( Item('counter1', label='Left aligned', editor=LEDEditor(alignment='left') ), Item('counter1', label='Center aligned', editor=LEDEditor(alignment='center') ), Item('counter1', label='Right aligned', editor=LEDEditor() # default = 'right' aligned ), Item('counter2', label='Float value', editor=LEDEditor(format_str='%.3f') ), '_', HGroup( Item('counter1', label='Left', height=-40, width=120, editor=LEDEditor(alignment='left') ), spring, Item('counter1', label='Center', height=-40, width=120, editor=LEDEditor(alignment='center') ), spring, Item('counter1', label='Right', height=-40, width=120, editor=LEDEditor() # default = 'right' aligned ), spring, Item('counter2', label='Float', height=-40, width=120, editor=LEDEditor(format_str='%.3f') ) ), title='LED Editor Demo', buttons=['OK'], handler=LEDDemoHandler ) #--------------------------------------------------------------- demo = LEDDemo() traitsui-7.2.1/examples/tutorials/traitsui_4.0/editors/tutorial.desc0000644000076500000240000000033614046644454026256 0ustar aayresstaff00000000000000New Traits UI Editors animated_gif: Animated GIF Editor led: LED Editor ie_html: Internet Explorer HTML Editor (Windows Only) flash: Flash Editor (Windows Only) tabular_editor: Tabular Editor traitsui-7.2.1/examples/tutorials/traitsui_4.0/editors/flash.py0000644000076500000240000000447514046644454025232 0ustar aayresstaff00000000000000#--(Flash Editor (Windows Only))------------------------------------------ """ Flash Editor (Windows Only) =========================== In Traits 3.0, a new **FlashEditor** has been added to the Traits UI package. The editor allows displaying and interacting with Adobe Flash compatible files. This editor is currently only available for the Windows platform and is located in the wxPython version of the Traits UI in the *traitsui.wx.extras.windows* package. The purpose of the *extras.windows* package is to provide a location for editors which may be toolkit and Windows platform specific, and not necessarily available in all Traits UI toolkit packages or platforms. The **FlashEditor** has no developer settable traits. The value edited by a **FlashEditor** should be a string containing either the URL or file name of the Flash file to display. This is a *read only* value that is not modified by the editor. Changing the value causes the editor to display the Flash file defined by the new value of the trait. """ #--[Imports]-------------------------------------------------------------- from traitsui.wx.extra.windows.flash_editor \ import FlashEditor from traits.api \ import HasTraits, Enum from traitsui.api \ import View, HGroup, Item #--[FlashDemo Class]------------------------------------------------------ class FlashDemo(HasTraits): # The Flash file to display: flash = Enum( 'http://www.ianag.com/arcade/swf/sudoku.swf', 'http://www.ianag.com/arcade/swf/f-336.swf', 'http://www.ianag.com/arcade/swf/f-3D-Reversi-1612.swf', 'http://www.ianag.com/arcade/swf/game_234.swf', 'http://www.ianag.com/arcade/swf/flashmanwm.swf', 'http://www.ianag.com/arcade/swf/2379_gyroball.swf', 'http://www.ianag.com/arcade/swf/f-1416.swf', 'http://www.ianag.com/arcade/swf/mah_jongg.swf', 'http://www.ianag.com/arcade/swf/game_e4fe4e55fedc2f502be627ee6df716c5.swf', 'http://www.ianag.com/arcade/swf/rhumb.swf') # The view to display: view = View( HGroup( Item('flash', label='Pick a game to play') ), '_', Item('flash', show_label=False, editor=FlashEditor() ) ) #--------------------------------------------------------------- demo = FlashDemo() traitsui-7.2.1/examples/tutorials/traitsui_4.0/editors/ie_html.py0000644000076500000240000001415314046644454025550 0ustar aayresstaff00000000000000#--(Internet Explorer HTML Editor (Windows Only))------------------------- """ Internet Explorer HTML Editor (Windows Only) ============================================ In Traits 3.0, a new **IEHTMLEditor** has been added to the Traits UI package. The editor allows displaying (but not editing) HTML pages using the Microsoft Internet Explorer browser. This editor is currently only available for the Windows platform and is located in the wxPython version of the Traits UI in the *traitsui.wx.extras.windows* package. The purpose of the *extras.windows* package is to provide a location for editors which may be toolkit and Windows platform specific, and not necessarily available in all Traits UI toolkit packages or platforms. The traits supported by the **IEHTMLEditor** editor are as follows: home A string specifying the optional extended name of a trait event used to tell Internet Explorer to display the user's home page. Set the specified trait to **True** to cause the browser to display the user's home page. back A string specifying the optional extended name of a trait event used to tell Internet Explorer to display the previous browser page. Set the specified trait to **True** to cause the browser to display the previous browser page. forward A string specifying the optional extended name of a trait event used to tell Internet Explorer to display the next (i.e. forward) browser page. Set the specified trait to **True** to cause the browser to display the next browser page (if available). stop A string specifying the optional extended name of a trait event used to tell Internet Explorer to stop loading the current page. Set the specified trait to **True** to cause the browser to stop loading the current page. refresh A string specifying the optional extended name of a trait event used to tell Internet Explorer to refresh the current page. Set the specified trait to **True** to cause the browser to refresh the current page. search A string specifying the optional extended name of a trait event used to tell Internet Explorer to initiate a search of the current page. Set the specified trait to **True** to cause the browser to start a search of the current page. status A string specifying the optional extended name of a trait used contain the current Internet Explorer status. This trait is automatically updated by the browser as its internal status changes. title A string specifying the optional extended name of a trait used contain the current Internet Explorer page title. This trait is automatically updated by the browser as the current page title is changed. page_loaded A string specifying the optional extended name of a trait used contain the URL of the current Internet Explorer page. This trait is automatically updated by the browser as a page is loaded. html A string specifying the optional extended name of a trait used to get or set the HTML page content of the current Internet Explorer page. This trait is automatically updated by the browser as a page is loaded, and can also be set by an application to cause the browser to display the content provided. The value edited by an **IEHTMLEditor** should be a string containing either the URL or file name of the file that Internet Explorer should display. This is a *read only* value that is not modified by the editor. Changing the value causes the browser to display the page defined by the new value of the trait. """ #--[Imports]-------------------------------------------------------------- from traitsui.wx.extra.windows.ie_html_editor \ import IEHTMLEditor from traits.api \ import HasTraits, Str, List, Button from traitsui.api \ import View, VGroup, HGroup, Item, TextEditor, ListEditor, spring #--[WebPage Class]-------------------------------------------------------- class WebPage(HasTraits): # The URL to display: url = Str('http://code.enthought.com') # The page title: title = Str() # The page status: status = Str() # The browser navigation buttons: back = Button('<--') forward = Button('-->') home = Button('Home') stop = Button('Stop') refresh = Button('Refresh') search = Button('Search') # The view to display: view = View( HGroup('back', 'forward', 'home', 'stop', 'refresh', 'search', '_', Item('status', style='readonly'), show_labels=False ), Item('url', show_label=False, editor=IEHTMLEditor( home='home', back='back', forward='forward', stop='stop', refresh='refresh', search='search', title='title', status='status') ) ) #--[InternetExplorerDemo Class]------------------------------------------- class InternetExplorerDemo(HasTraits): # A URL to display: url = Str('http://') # The list of web pages being browsed: pages = List(WebPage) # The view to display: view = View( VGroup( Item('url', label='Location', editor=TextEditor(auto_set=False, enter_set=True) ) ), Item('pages', show_label=False, style='custom', editor=ListEditor(use_notebook=True, deletable=True, dock_style='tab', export='DockWindowShell', page_name='.title') ) ) # Event handlers: def _url_changed(self, url): self.pages.append(WebPage(url=url.strip())) #--(Demo Notes)----------------------------------------------------------- """ Demo Notes ========== - Try dragging one of the browser tabs completely out of the tutorial window and see what happens... - Then, just for fun, try dragging it back... """ #--------------------------------------------------------------- demo = InternetExplorerDemo( pages=[WebPage(url='http://code.enthought.com/traits/'), WebPage(url='http://dmorrill.com')]) traitsui-7.2.1/examples/tutorials/traitsui_4.0/editors/tabular_editor/0000755000076500000240000000000014046644526026551 5ustar aayresstaff00000000000000traitsui-7.2.1/examples/tutorials/traitsui_4.0/editors/tabular_editor/numpy_array.py0000644000076500000240000000552314046644454031476 0ustar aayresstaff00000000000000#--(NumPy Array Example)-------------------------------------------------- """ This lesson demonstrates how the **TabularEditor** can be used to display (large) NumPy arrays. In this example, the array consists of 100,000 random 3D points from a unit cube. In addition to showing the coordinates of each point, the example code also displays the index of each point in the array, as well as a red flag if the point lies within 0.25 of the center of the cube. As with the other tabular editor tutorials, this example shows how to set up a **TabularEditor** and create an appropriate **TabularAdapter** subclass. In this case, it also shows: - An example of using array indices as *column_id* values. - Using the *format* trait to format the numeric values for display. - Creating a *synthetic* index column for displaying the point's array index (the *index_text* property), as well as a flag image for points close to the cube's center (the *index_image* property). """ #---------------------------------------------------------------- from os.path \ import join, dirname from numpy \ import sqrt from numpy.random \ import random from traits.api \ import HasTraits, Property, Array from traitsui.api \ import View, Item, TabularEditor from traitsui.tabular_adapter \ import TabularAdapter from traitsui.menu \ import NoButtons from pyface.image_resource \ import ImageResource #-------------------------------------------------------------- # Necessary because of the dynamic way in which the demos are loaded: import traitsui.api search_path = [join(dirname(traitsui.api.__file__), 'demo', 'Advanced')] #--[Tabular Adapter Definition]------------------------------------------- class ArrayAdapter(TabularAdapter): columns = [('i', 'index'), ('x', 0), ('y', 1), ('z', 2)] font = 'Courier 10' alignment = 'right' format = '%.4f' index_text = Property() index_image = Property() def _get_index_text(self): return str(self.row) def _get_index_image(self): x, y, z = self.item if sqrt((x - 0.5) ** 2 + (y - 0.5) ** 2 + (z - 0.5) ** 2) <= 0.25: return 'red_flag' return None #--[Tabular Editor Definition]-------------------------------------------- tabular_editor = TabularEditor( adapter=ArrayAdapter(), images=[ImageResource('red_flag', search_path=search_path)] ) #--[ShowArray Class]------------------------------------------------------ class ShowArray(HasTraits): data = Array view = View( Item('data', editor=tabular_editor, show_label=False), title='Array Viewer', width=0.3, height=0.8, resizable=True, buttons=NoButtons ) #--[Example Code*]-------------------------------------------------------- demo = ShowArray(data=random((100000, 3))) traitsui-7.2.1/examples/tutorials/traitsui_4.0/editors/tabular_editor/python_source_browser.py0000644000076500000240000001254214046644454033573 0ustar aayresstaff00000000000000#--(Python Source Browser Example)---------------------------------------- """ This lesson shows a combination of the **DirectoryEditor**, the **TabularEditor** and the **CodeEditor** used together to create a very simple Python source browser. In the **Demo** tab you can: - Use the **DirectoryEditor** on the left to navigate to and select directories containing Python source files. - Use the **TabularEditor** on the top-right to view information about and to select Python source files in the currently selected directory. - View the currently selected Python source file's contents in the **CodeEditor** in the bottom-right. As an extra *feature*, the **TabularEditor** also displays a: - Red ball if the file size > 64KB. - Blue ball if the file size > 16KB. As with the *Single and Married Person Example* tutorial, this example shows you how to: - Set up a **TabularEditor**. - Define a **TabularAdapter** subclass that meets the display requirements of the application. In this example, please note the use of the *even_bg_color* trait in the **FileInfoAdapter** adapter class to set up alternating line colors in the table for improved readability. Also note that the *name*, *size*, *time* and *date* columns define *column_id* values which correspond directly with traits defined in the **FileInfo** class, but the *big* column id is an artifical column defined to display the file size related *blue ball* and *red ball* images when the file size exceeds various thresholds. The column id is used simply to provide a name reference for the related trait and property definitions in the adapter class itself. """ #---------------------------------------------------------------- import traits import traitsui import wx from time \ import localtime, strftime from os \ import listdir from os.path \ import getsize, getmtime, isfile, join, splitext, basename, dirname from traits.api \ import HasPrivateTraits, Str, Float, List, Directory, File, Code, \ Instance, Property, cached_property from traitsui.api \ import View, Item, HSplit, VSplit, TabularEditor from traitsui.tabular_adapter \ import TabularAdapter from pyface.image_resource \ import ImageResource #-------------------------------------------------------------- # Necessary because of the dynamic way in which the demos are loaded: search_path = [join(dirname(traitsui.api.__file__), 'demo', 'Applications')] #--[FileInfo Class]------------------------------------------------------- class FileInfo(HasPrivateTraits): file_name = File() name = Property() size = Property() time = Property() date = Property() @cached_property def _get_name(self): return basename(self.file_name) @cached_property def _get_size(self): return getsize(self.file_name) @cached_property def _get_time(self): return strftime('%I:%M:%S %p', localtime(getmtime(self.file_name))) @cached_property def _get_date(self): return strftime('%m/%d/%Y', localtime(getmtime(self.file_name))) #--[FileInfoAdapter Class]------------------------------------------------ class FileInfoAdapter(TabularAdapter): columns = [('File Name', 'name'), ('Size', 'size'), ('', 'big'), ('Time', 'time'), ('Date', 'date')] even_bg_color = wx.Colour(201, 223, 241) font = 'Courier 10' size_alignment = Str('right') time_alignment = Str('right') date_alignment = Str('right') big_text = Str() big_width = Float(18) big_image = Property() def _get_big_image(self): size = self.item.size if size > 65536: return 'red_ball' return (None, 'blue_ball')[size > 16384] #--[Tabular Editor Definition]-------------------------------------------- tabular_editor = TabularEditor( editable=False, selected='file_info', adapter=FileInfoAdapter(), operations=[], images=[ImageResource('blue_ball', search_path=search_path), ImageResource('red_ball', search_path=search_path)] ) #--[PythonBrowser Class]-------------------------------------------------- class PythonBrowser(HasPrivateTraits): dir = Directory() files = List(FileInfo) file_info = Instance(FileInfo) code = Code() view = View( HSplit( Item('dir', style='custom'), VSplit( Item('files', editor=tabular_editor), Item('code', style='readonly'), show_labels=False), show_labels=False ), resizable=True, width=0.75, height=0.75 ) #-- Event Handlers ------------------------------------------------------- def _dir_changed(self, dir): self.files = [FileInfo(file_name=join(dir, name)) for name in listdir(dir) if ((splitext(name)[1] == '.py') and isfile(join(dir, name)))] def _file_info_changed(self, file_info): fh = None try: fh = open(file_info.file_name, 'rb') self.code = fh.read() except: pass if fh is not None: fh.close() #--[Example*]------------------------------------------------------------- demo = PythonBrowser(dir=dirname(traits.api.__file__)) traitsui-7.2.1/examples/tutorials/traitsui_4.0/editors/tabular_editor/tutorial.desc0000644000076500000240000000033414046644454031254 0ustar aayresstaff00000000000000Tabular Editor tabular_editor: Tabular Editor Introduction sm_person_example: Single and Married Person Example python_source_browser: Python Source Browser Example numpy_array: NumPy Array Example traitsui-7.2.1/examples/tutorials/traitsui_4.0/editors/tabular_editor/sm_person_example.py0000644000076500000240000002503214046644454032645 0ustar aayresstaff00000000000000#--(Single/Married Person Example)---------------------------------------- """ This lesson contains a tabular editor example based upon the **Person** and **MarriedPerson** example presented in the *Tabular Editor Introduction* tutorial. This example defines three main classes: - **Person**: A single person. - **MarriedPerson**: A married person (a subclass of **Person**). - **Report**: A report based on a list of single and married people. The example code creates a tabular display of 10,000 single and married people showing the following information: - Name of the person. - Age of the person. - The person's address. - The name of the person's spouse (if any). In addition: - It uses a Courier 10 point font for each line in the table. - It displays the age column right, instead of left, justified. - If a person is a minor (age < 18) and married, it displays a red flag image in the age column. - If the person is married, it makes the background color for that row a light blue. This example demonstrates: - How to set up a **TabularEditor**. - The display speed of the **TabularEditor**. - How to create a **TabularAdapter** that meets each of the specified display requirements. Additional notes: - You can change the current selection using the up and down arrow keys. - You can move a selected row up and down in the table using the left and right arrow keys. """ #---------------------------------------------------------------- from os.path \ import join, dirname from random \ import randint, choice, shuffle from traits.api \ import HasTraits, Str, Int, List, Instance, Property, Constant from traitsui.api \ import View, Group, Item, Margin, TabularEditor, Color from traitsui.tabular_adapter \ import TabularAdapter from traitsui.menu \ import NoButtons from pyface.image_resource \ import ImageResource #-------------------------------------------------------------- # Necessary because of the dynamic way in which the demos are loaded: import traitsui.api search_path = [join(dirname(traitsui.api.__file__), 'demo', 'Advanced')] #--[Person Class]--------------------------------------------------------- class Person(HasTraits): name = Str() address = Str() age = Int() #--[MarriedPerson Class]-------------------------------------------------- class MarriedPerson(Person): partner = Instance(Person) #--[Tabular Adapter Definition]------------------------------------------- class ReportAdapter(TabularAdapter): columns = [('Name', 'name'), ('Age', 'age'), ('Address', 'address'), ('Spouse', 'spouse')] font = 'Courier 10' age_alignment = Constant('right') MarriedPerson_age_image = Property() MarriedPerson_bg_color = Color(0xE0E0FF) MarriedPerson_spouse_text = Property() Person_spouse_text = Constant('') def _get_MarriedPerson_age_image(self): if self.item.age < 18: return 'red_flag' return None def _get_MarriedPerson_spouse_text(self): return self.item.partner.name #--[Tabular Editor Definition]-------------------------------------------- tabular_editor = TabularEditor( adapter=ReportAdapter(), operations=['move'], images=[ImageResource('red_flag', search_path=search_path)], ) #--[Report Class]--------------------------------------------------------- class Report(HasTraits): people = List(Person) view = View( Group( Item('people', id='table', editor=tabular_editor), show_labels=False, ), title='Tabular Editor Demo', id='traitsui.demo.Applications.tabular_editor_demo', width=0.60, height=0.75, resizable=True, buttons=NoButtons ) #-------------------------------------------------------- male_names = [ 'Michael', 'Edward', 'Timothy', 'James', 'George', 'Ralph', 'David', 'Martin', 'Bryce', 'Richard', 'Eric', 'Travis', 'Robert', 'Bryan', 'Alan', 'Harold', 'John', 'Stephen', 'Gael', 'Frederic', 'Eli', 'Scott', 'Samuel', 'Alexander', 'Tobias', 'Sven', 'Peter', 'Albert', 'Thomas', 'Horatio', 'Julius', 'Henry', 'Walter', 'Woodrow', 'Dylan', 'Elmer'] female_names = [ 'Leah', 'Jaya', 'Katrina', 'Vibha', 'Diane', 'Lisa', 'Jean', 'Alice', 'Rebecca', 'Delia', 'Christine', 'Marie', 'Dorothy', 'Ellen', 'Victoria', 'Elizabeth', 'Margaret', 'Joyce', 'Sally', 'Ethel', 'Esther', 'Suzanne', 'Monica', 'Hortense', 'Samantha', 'Tabitha', 'Judith', 'Ariel', 'Helen', 'Mary', 'Jane', 'Janet', 'Jennifer', 'Rita', 'Rena', 'Rianna'] all_names = male_names + female_names male_name = lambda: choice(male_names) female_name = lambda: choice(female_names) any_name = lambda: choice(all_names) age = lambda: randint(15, 72) family_name = lambda: choice(['Jones', 'Smith', 'Thompson', 'Hayes', 'Thomas', 'Boyle', "O'Reilly", 'Lebowski', 'Lennon', 'Starr', 'McCartney', 'Harrison', 'Harrelson', 'Steinbeck', 'Rand', 'Hemingway', 'Zhivago', 'Clemens', 'Heinlien', 'Farmer', 'Niven', 'Van Vogt', 'Sturbridge', 'Washington', 'Adams', 'Bush', 'Kennedy', 'Ford', 'Lincoln', 'Jackson', 'Johnson', 'Eisenhower', 'Truman', 'Roosevelt', 'Wilson', 'Coolidge', 'Mack', 'Moon', 'Monroe', 'Springsteen', 'Rigby', "O'Neil", 'Philips', 'Clinton', 'Clapton', 'Santana', 'Midler', 'Flack', 'Conner', 'Bond', 'Seinfeld', 'Costanza', 'Kramer', 'Falk', 'Moore', 'Cramdon', 'Baird', 'Baer', 'Spears', 'Simmons', 'Roberts', 'Michaels', 'Stuart', 'Montague', 'Miller']) address = lambda: '%d %s %s' % (randint(11, 999), choice(['Spring', 'Summer', 'Moonlight', 'Winding', 'Windy', 'Whispering', 'Falling', 'Roaring', 'Hummingbird', 'Mockingbird', 'Bluebird', 'Robin', 'Babbling', 'Cedar', 'Pine', 'Ash', 'Maple', 'Oak', 'Birch', 'Cherry', 'Blossom', 'Rosewood', 'Apple', 'Peach', 'Blackberry', 'Strawberry', 'Starlight', 'Wilderness', 'Dappled', 'Beaver', 'Acorn', 'Pecan', 'Pheasant', 'Owl']), choice(['Way', 'Lane', 'Boulevard', 'Street', 'Drive', 'Circle', 'Avenue', 'Trail'])) people = [Person(name='%s %s' % (any_name(), family_name()), age=age(), address=address()) for i in range(5000)] marrieds = [(MarriedPerson(name='%s %s' % (female_name(), last_name), age=age(), address=address), MarriedPerson(name='%s %s' % (male_name(), last_name), age=age(), address=address)) for last_name, address in [(family_name(), address()) for i in range(2500)]] for female, male in marrieds: female.partner = male male.partner = female people.extend([female, male]) shuffle(people) #--[Example Code*]-------------------------------------------------------- demo = Report(people=people) traitsui-7.2.1/examples/tutorials/traitsui_4.0/editors/tabular_editor/tabular_editor.rst0000644000076500000240000012222314046644454032305 0ustar aayresstaff00000000000000The TabularEditor ================= Traits 3.0 introduces a new editor, called the **TabularEditor**, located in the *traitsui.wx.extras.tabular_editor* module that can be used for many of the same purposes as the existing **TableEditor**. However, while similar in function, each editor has its own particular strengths and weaknesses. Some of the strengths of the new **TabularEditor** are: - **Very fast**. The editor uses a *virtual* model which only accesses data from the underlying data model as needed. For example, if you have a million element array, but can only view 50 rows at a time, the editor will only request 50 rows at a time. - **Very flexible data model**. The editor uses a new adapter model for interfacing with your underlying data that allows it to easily deal with many types of data representation: from lists of objects, to arrays of numbers, to tuples of tuples, and many other formats as well. - **Supports a useful set of data operations**. The editor includes built-in support for a number of useful data operations, including: - Moving the selection up and down using the keyboard arrow keys. - Moving rows up and down using the keyboard arrow keys. - Inserting and deleting rows using the keyboard. - Begin editing table rows using the keyboard. - Drag and drop of table items to and from the editor, including support for both *copy* and *move* operations for single or multiple table items. - **Visually appealing**. The editor, in general, uses the underlying OS's native table or grid control, and as a result often looks better than the control used by the **TableEditor**. - **Supports displaying text and images in any cell**. Note however that the images displayed must all be the same size for optimal results. Some of the weaknesses of the **TabularEditor** compared to the **TableEditor** are: - **Not as full-featured**. The **TableEditor** includes support for arbitrary data filters and searches and different types of data sorting. The differences here may narrow over time as new features get added to the **TabularEditor**. - **Limited data editing capabilities**: The **TabularEditor** only supports editing textual values, unlike the **TableEditor**, which supports a wide variety of column editors and can be extended with more as needed. This is due to limitations of the underlying native OS control used by the editor. Setting up a **TabularEditor** for use in a Traits UI is divided into two main parts: - Configuring the **TabularEditor** object. - Creating a suitable adapter (or adapters) for use with the editor. We'll start off first with a description of the **TabularEditor** class, and describe the adapter interface in a later section. The TabularEditor Class ----------------------- The **TabularEditor** class defines a large number of traits which are used to configure the editor. We'll divide the set of traits into several categories, and describe each in turn. Visual Traits ------------- show_titles A boolean value which specifies whether or not column headers should be displayed at the top of the table. It defaults to **True**. horizontal_lines A boolean value which specifies whether or not horizontal lines should be drawn between rows in the table. It defaults to **True**. vertical_lines A boolean value which specifies whether or not vertical lines should be drawn between columns in the table. It defaults to **True**. Control Traits -------------- editable A boolean value that specifies whether or not the user is allowed to edit data in the table. It defaults to **True**. multi_select A boolean value that specifies whether or not the user is allowed to select multiple rows in the table at once. It defaults to **False**. operations A list of strings that specify what operations the user is allowed to perform on items in the table. The possible values are: - **delete**: The user can delete table rows. - **insert**: The user can insert new table rows at any position in the table. - **append**: The user can append new table rows to the end of the table. - **edit**: The user can edit the contents of table rows. - **move**: The user can move table rows within the table. You should include in the list all operations that you want to allow the user to perform (e.g. *['delete','insert','append']*). drag_move A boolean value that specifies whether *drag move* operations are allowed (**True**), or should all drag operations be treated as *drag copy* operations (**False**). The default is **False**. adapter An instance of **TabularAdapter** that the editor uses to interface to the underlying **Item** data supplied to the editor. This is normally an instance of a subclass of **TabularAdapter** specially written for the type of data being edited. This will be described more fully in the **TabularAdapter** section. adapter_name An optional string that specifies the extended trait name of a trait that contains the **TabularAdapter** the editor should used. If the value of the trait changes while the editor is active, the editor will automatically start using the new adapter. Normally you will use either the *adapter* trait *or* the *adapter_name* trait, but not both. However, it is possible to use both together if needed. images An optional list of **ImageResource** objects describing a set of images that can be displayed in the table's cells. Specifying a set here allows you to refer to the images by name within the adapter. However, it is also possible for the adapter to supply the **ImageResource** object directly for any image it wants to display. Event Handling Traits --------------------- selected An optional string that specifies the extended trait name of a trait that contains the currently selected table items. For a single-select mode editor, this should be a scalar trait, and for a multi-select mode editor, it should be a list trait. The type of the trait should be the same as the type of data being displayed in the table. This trait can be used to both set and get the current table selection. selected_row An optional string that specifies the extended trait name of a trait that contains the currently selected table item indices. For a single-select mode editor this should be an **Int** value, and for a multi-select mode editor it should be a **List(Int)** value. This trait can be used to both set and get the current table selection. activated An optional string that specifies the extended trait name of a trait that contains the currently activated table item. It should be an instance of the table item data type. The trait can only be used to get the value of the most recently activated table item. An item is activated either by the user double-clicking on it or by pressing the **Enter** key when the item is selected. activated_row An optional string that specifies the extended trait name of a trait that contains the currently activated table item index. It should be an **Int** value. The trait can only be used to get the index of the most recently activated table item. An item is activated either by the user double-clicking on it or by pressing the **Enter** key when the item is selected. clicked An optional string that specifies the extended trait name of a trait that contains a **TabularEditorEvent** object containing the information associated with the most recent left mouse button click within the editor. The trait can only be used to get the **TabularEditorEvent** object. The **TabularEditorEvent** object is described in the next section. dclicked An optional string that specifies the extended trait name of a trait that contains a **TabularEditorEvent** object containing the information associated with the most recent left mouse button double-click within the editor. The trait can only be used to get the **TabularEditorEvent** object. The **TabularEditorEvent** object is described in the next section. right_clicked An optional string that specifies the extended trait name of a trait that contains a **TabularEditorEvent** object containing the information associated with the most recent right mouse button click within the editor. The trait can only be used to get the **TabularEditorEvent** object. The **TabularEditorEvent** object is described in the next section. right_dclicked An optional string that specifies the extended trait name of a trait that contains a **TabularEditorEvent** object containing the information associated with the most recent right mouse button double-click within the editor. The trait can only be used to get the **TabularEditorEvent** object. The **TabularEditorEvent** object is described in the next section. The TabularEditorEvent Class ---------------------------- Objects of the **TabularEditorEvent** class contain information related to a mouse button click that occurs within the editor. The class has no methods, but does define the following traits: row An integer specifying the index of the table item that was clicked on. column A value specifying the column id of the table cell that was clicked on. This value will correspond to the second element of the tuple used to define the column in the **TabularEditor** adapter supplied to the editor. This will be described in a later section. item The data item corresponding to the table row that was clicked on. The type of this data will depend upon the type of data contained in the underlying data model. The TabularEditor User Interface -------------------------------- Depending upon how you have configured the **TabularEditor** and its associated adapter, the following user interface features may be available: - **Up arrow**: Move the selection up one line. - **Down arrow**: Move the selection down one line. - **Page down**: Append a new item to the end of the list (*'append'*). - **Left arrow**: Move the current selection up one line (*'move'*). - **Right arrow**: Move the current selection down one line (*'move'*). - **Backspace, Delete**: Delete all items in the current selection from the list (*'delete'*). - **Enter, Escape**: Edit the current selection (*'edit'*). - **Insert**: Insert a new item before the current selection (*'insert'*). In the preceding list, the values in parentheses refer to the operation that must be included in the **TabularEditor** *operations* trait in order for the specified key to have any effect. The *append*, *move*, *edit* and *insert* operations are only available if a single item is selected. The *delete* operation works when the selection has one or more items. Depending upon how the **TabularEditor** and adapter are specified, drag and drop operations may also be available. If multiple items are selected and the user drags one of the selected items, all selected items will be included in the drag operation. If the user drags a non-selected item, only that item will be dragged. The editor also supports both *drag-move* and *drag-copy* semantics. A *drag-move* operation means that the dragged items will be sent to the target and removed from the list data. A *drag-copy* operation means that the dragged items will be sent to the target, but will *not* be deleted from the **Item** data. Note that in a *drag-copy* operation, if you do not want the target to receive the same data contained in the list, then you must return a copy or clone of the data when the editor requests the drag data from the adapter. You can prevent *drag-move* operations by making sure that the **TabularEditor** *drag_move* trait is set to **False** (the default). Note that the default operation when a user begins a drag operation is *drag_move*. A *drag-copy* operation occurs when the user also holds the *Ctrl* key down during the drag operation (the mouse pointer changes to indicate the change in drag semantics). If *drag_move* operations are disabled by setting the **TabularEditor** *drag_move* trait to **False**, any *drag-move* operation is automatically treated as a *drag_copy*. The tabular editor only allows the user to edit the first column of data in the table (a restriction imposed by the underlying OS widget). If the *'edit'* operation is enabled, the user can begin editing the first column either by clicking on the row twice, or by selecting the row and pressing the **Enter** or **Escape** key. Finally, the user can resize columns in the table by dragging the column title dividers left or right with the mouse. Once resized in this manner, the column remains that size until the user resizes the column again. This is true even if you assigned a dynamic width to the column (see the **TabularAdapter** section for more information about what this means). If the user wants to allow a previously user-sized column to be restored to its original developer specified size again, they must right-click on the column title to *release* its user specified size and restore its original size. If you enable *persistence* for the editor by specifying a non-empty *id* trait for the editor's **Item** and **View** objects, any user specified column widths will be saved across application sessions. The TabularAdapter Class ------------------------ The power and flexibility of the tabular editor is mostly a result of the **TabularAdapter** class, which is the base class from which all tabular editor adapters must be derived. The **TabularEditor** object interfaces between the underlying toolkit widget and your program, while the **TabularAdapter** object associated with the editor interfaces between the editor and your data. The design of the **TabularAdapter** base class is such that it tries to make simple cases simple and complex cases possible. How it accomplishes this is what we'll be discussing in the following sections. The TabularAdapter *columns* Trait ---------------------------------- First up is the **TabularAdapter** *columns* trait, which is a list of values which define, in presentation order, the set of columns to be displayed by the associated **TabularEditor**. Each entry in the *columns* list can have one of two forms: - string - ( string, any ) where *string* is the user interface name of the column (which will appear in the table column header) and *any* is any value that you want to use to identify that column to your adapter. Normally this value is either a trait name or an integer index value, but it can be any value you want. If only *string* is specified, then *any* is the index of the *string* within *columns*. For example, say you want to display a table containing a list of tuples, each of which has three values: a name, an age, and a weight. You could then use the following value for the *columns* trait:: columns = [ 'Name', 'Age', 'Weight' ] By default, the *any* values (also referred to in later sections as the *column ids*) for the columns will be the corresponding tuple index values. Say instead that you have a list of **Person** objects, with *name*, *age* and *weight* traits that you want to display in the table. Then you could use the following *columns* value instead:: columns = [ ( 'Name', 'name' ), ( 'Age', 'age' ), ( 'Weight', 'weight' ) ] In this case, the *column ids* are the names of the traits you want to display in each column. Note that it is possible to dynamically modify the contents of the *columns* trait while the **TabularEditor** is active. The **TabularEditor** will automatically modify the table to show the new set of defined columns. The Core TabularAdapter Interface --------------------------------- In this section, we'll describe the core interface to the **TabularAdapter** class. This is the actual interface used by the **TabularEditor** to access your data and display attributes. In the most complex data representation cases, these are the methods that you must override in order to have the greatest control over what the editor sees and does. However, the base **TabularAdapter** class provides default implementations for all of these methods. In subsequent sections, we'll look at how these default implementations provide simple means of customizing the adapter to your needs. But for now, let's start by covering the details of the core interface itself. To reduce the amount of repetition, we'll use the following definitions in all of the method argument lists that follow in this section: object The object whose trait is being edited by the **TabularEditor**. trait The name of the trait the **TabularEditor** is editing. row The row index (starting with 0) of a table item. column The column index (starting with 0) of a table column. The adapter interface consists of a number of methods which can be divided into two main categories: those which are sensitive to the type of a particular table item, and those which are not. We'll begin with the methods that are sensitive to an item's type: get_alignment ( object, trait, column ) Returns the alignment style to use for a specified column. The possible values that can be returned are: *'left'*, *'center'* or *'right'*. All table items share the same alignment for a specified column. get_width ( object, trait, column ) Returns the width to use for a specified column. The result can either be a float or integer value. If the value is <= 0, the column will have a *default* width, which is the same as specifying a width of *0.1*. If the value is > 1.0, it is converted to an integer and the result is the width of the column in pixels. This is referred to as a *fixed width* column. If the value is a float such that 0.0 < value <= 1.0, it is treated as the *unnormalized fraction of the available space* that is to be assigned to the column. What this means requires a little explanation. To arrive at the size in pixels of the column at any given time, the editor adds together all of the *unnormalized fraction* values returned for all columns in the table to arrive at a total value. Each *unnormalized fraction* is then divided by the total to create a *normalized fraction*. Each column is then assigned an amount of space in pixels equal to the maximum of 30 or its *normalized fraction* multiplied by the *available space*. The *available space* is defined as the actual width of the table minus the width of all *fixed width* columns. Note that this calculation is performed each time the table is resized in the user interface, thus allowing columns of this type to increase or decrease their width dynamically, while leaving *fixed width* columns unchanged. get_can_edit ( object, trait, row ) Returns a boolean value indicating whether the user can edit a specified *object.trait[row]* item. A **True** result indicates that the value can be edited, while a **False** result indicates that it cannot. get_drag ( object, trait, row ) Returns the value to be *dragged* for a specified *object.trait[row]* item. A result of **None** means that the item cannot be dragged. Note that the value returned does not have to be the actual row item. It can be any value that you want to drag in its place. In particular, if you want the drag target to receive a copy of the row item, you should return a copy or clone of the item in its place. Also note that if multiple items are being dragged, and this method returns **None** for any item in the set, no drag operation is performed. get_can_drop ( object, trait, row, value ) Returns whether the specified *value* can be dropped on the specified *object.trait[row]* item. A value of **True** means the *value* can be dropped; and a value of **False** indicates that it cannot be dropped. The result is used to provide the user positive or negative drag feedback while dragging items over the table. *Value* will always be a single value, even if multiple items are being dragged. The editor handles multiple drag items by making a separate call to *get_can_drop* for each item being dragged. get_dropped ( object, trait, row, value ) Returns how to handle a specified *value* being dropped on a specified *object.trait[row]* item. The possible return values are: - **'before'**: Insert the specified *value* before the dropped on item. - **'after'**: Insert the specified *value* after the dropped on item. Note there is no result indicating *do not drop* since you will have already indicated that the *object* can be dropped by the result returned from a previous call to *get_can_drop*. get_font ( object, trait, row ) Returns the font to use for displaying a specified *object.trait[row]* item. A result of **None** means use the default font; otherwise a **wx.Font** object should be returned. Note that all columns for the specified table row will use the font value returned. get_text_color ( object, trait, row ) Returns the text color to use for a specified *object.trait[row]* item. A result of **None** means use the default text color; otherwise a **wx.Colour** object should be returned. Note that all columns for the specified table row will use the text color value returned. get_bg_color ( object, trait, row ) Returns the background color to use for a specified *object.trait[row]* item. A result of **None** means use the default background color; otherwise a **wx.Colour** object should be returned. Note that all columns for the specified table row will use the background color value returned. get_image ( object, trait, row, column ) Returns the image to display for a specified *object.trait[row].column* item. A result of **None** means no image will be displayed in the specified table cell. Otherwise the result should either be the name of the image, or an **ImageResource** object specifying the image to display. A name is allowed in the case where the image is specified in the **TabularEditor** *images* trait. In that case, the name should be the same as the string specified in the **ImageResource** constructor. get_format ( object, trait, row, column ) Returns the Python formatting string to apply to the specified *object.trait[row].column* item in order to display it in the table. The result can be any Python string containing exactly one Python formatting sequence, such as *'%.4f'* or *'(%5.2f)'*. get_text ( object, trait, row, column ) Returns a string containing the text to display for a specified *object.trait[row].column* item. If the underlying data representation for a specified item is not a string, then it is your responsibility to convert it to one before returning it as the result. set_text ( object, trait, row, text ): Sets the value for the specified *object.trait[row].column* item to the string specified by *text*. If the underlying data does not store the value as text, it is your responsibility to convert *text* to the correct representation used. This method is called when the user completes an editing operation on a table cell. get_tooltip ( object, trait, row, column ) Returns a string containing the tooltip to display for a specified *object.trait[row].column* item. You should return the empty string if you do not wish to display a tooltip. The following are the remaining adapter methods, which are not sensitive to the type of item or column data: get_item ( object, trait, row ) Returns the specified *object.trait[row]* item. The value returned should be the value that exists (or *logically* exists) at the specified *row* in your data. If your data is not really a list or array, then you can just use *row* as an integer *key* or *token* that can be used to retrieve a corresponding item. The value of *row* will always be in the range: 0 <= row < *len( object, trait )* (i.e. the result returned by the adapter *len* method). len ( object, trait ) Returns the number of row items in the specified *object.trait* list. The result should be an integer greater than or equal to 0. delete ( object, trait, row ) Deletes the specified *object.trait[row]* item. This method is only called if the *delete* operation is specified in the **TabularEditor** *operation* trait, and the user requests that the item be deleted from the table. The adapter can still choose not to delete the specified item if desired, although that may prove confusing to the user. insert ( object, trait, row, value ) Inserts *value* at the specified *object.trait[row]* index. The specified *value* can be: - An item being moved from one location in the data to another. - A new item created by a previous call to *get_default_value*. - An item the adapter previously approved via a call to *get_can_drop*. The adapter can still choose not to insert the item into the data, although that may prove confusing to the user. get_default_value ( object, trait ) Returns a new default value for the specified *object.trait* list. This method is called when *insert* or *append* operations are allowed and the user requests that a new item be added to the table. The result should be a new instance of whatever underlying representation is being used for table items. Creating a Custom TabularAdapter -------------------------------- Having just taken a look at the core **TabularAdapter** interface, you might now be thinking that there are an awful lot of methods that need to be specified to get an adapter up and running. But as we mentioned earlier, **TabularAdapter** is not an abstract base class. It is a concrete base class with implementations for each of the methods in its interface. And the implementations are written in such a way that you will hopefully hardly ever need to override them. In this section, we'll explain the general implementation style used by these methods, and how you can take advantage of them in creating your own adapters. One of the things you probably noticed as you read through the core adapter interface section is that most of the methods have names of the form: *get_xxx* or *set_xxx*, which is similar to the familiar *getter/setter* pattern used when defining trait properties. The adapter interface is purposely defined this way so that it can expose and leverage a simple set of design rules. The design rules are followed consistently in the implementations of all of the adapter methods described in the first section of the core adapter interface, so that once you understand how they work, you can easily apply the design pattern to all items in that section. Then, only in the case where the design rules will not work for your application will you ever have to override any of those **TabularAdapter** base class method implementations. So the first thing to understand is that if an adapter method name has the form: *get_xxx* or *set_xxx* it really is dealing with some kind of trait called *xxx*, or which contains *xxx* in its name. For example, the *get_alignment* method retrieves the value of some *alignment* trait defined on the adapter. In the following discussion we'll simply refer to an attribute name generically as *attribute*, but you will need to replace it by an actual attribute name (e.g. *alignment*) in your adapter. The next thing to keep in mind is that the adapter interface is designed to easily deal with items that are not all of the same type. As we just said, the design rules apply to all adapter methods in the first group, which were defined as methods which are sensitive to an item's type. Item type sensitivity plays an important part in the design rules, as we will see shortly. With this in mind, we now describe the simple design rules used by the first group of methods in the **TabularAdapter** class: - When getting or setting an adapter attribute, the method first retrieves the underlying item for the specified data row. The item, and type (i.e. class) of the item, are then used in the next rule. - The method gets or sets the first trait it finds on the adapter that matches one of the following names: - *classname_columnid_attribute* - *classsname_attribute* - *columnid_attribute* - *attribute* where: - *classname* is the name of the class of the item found in the first step, or one of its base class names, searched in the order defined by the *mro* (**method resolution order**) for the item's class. - *columnid* is the column id specified by the developer in the adapter's *column* trait for the specified table column. - *attribute* is the attribute name as described previously (e.g. *alignment*). Note that this last rule always finds a matching trait, since the **TabularAdapter** base class provides traits that match the simple *attribute* form for all attributes these rules apply to. Some of these are simple traits, while others are properties. We'll describe the behavior of all these *default* traits shortly. The basic idea is that rather than override the first group of core adapter methods, you simply define one or more simple traits or trait properties on your **TabularAdapter** subclass that provide or accept the specified information. All of the adapter methods in the first group provide a number of arguments, such as *object*, *trait*, *row* and *column*. In order to define a trait property, which cannot be passed this information directly, the adapter always stores the arguments and values it computes in the following adapter traits, where they can be easily accessed by a trait getter or setter method: - *row*: The table row being accessed. - *column*: The column id of the table column being accessed (not its index). - *item*: The data item for the specified table row (i.e. the item determined in the first step described above). - *value*: In the case of a *set_xxx* method, the value to be set; otherwise it is **None**. As mentioned previously, the **TabularAdapter** class provides trait definitions for all of the attributes these rules apply to. You can either use the default values as they are, override the default, set a new value, or completely replace the trait definition in a subclass. A description of the default trait implementation for each attribute is as follows: default_value = Any( '' ) The default value for a new row. The default value is the empty string, but you will normally need to assign a different (default) value. format = Str( '%s' ) The default Python formatting string for a column item. The default value is *'%s'* which will simply convert the column item to a displayable string value. text = Property() The text to display for the column item. The implementation of the property checks the type of the column's *column id*: - If it is an integer, it returns *format%item[column_id]*. - Otherwise, it returns *format%item.column_id*. Note that *format* refers to the value returned by a call to *get_format* for the current column item. text_color = Property() The text color for a row item. The property implementation checks to see if the current table row is even or odd, and based on the result returns the value of the *even_text_color* or *odd_text_color* trait if the value is not **None**, and the value of the *default_text_color* trait if it is. The definition of these additional traits are as follows: - odd_text_color = Color( None ) - even_text_color = Color( None ) - default_text_color = Color( None ) Remember that a **None** value means use the default text color. bg_color = Property() The background color for a row item. The property implementation checks to see if the current table row is even or odd, and based on the result returns the value of the *even_bg_color* or *odd_bg_color* trait if the value is not **None**, and the value of the *default_bg_color* trait if it is. The definition of these additional traits are as follows: - odd_bg_color = Color( None ) - even_bg_color = Color( None ) - default_bg_color = Color( None ) Remember that a **None** value means use the default background color. alignment = Enum( 'left', 'center', 'right' ) The alignment to use for a specified column. The default value is *'left'*. width = Float( -1 ) The width of a specified column. The default value is *-1*, which means a dynamically sized column with an *unnormalized fractional* value of *0.1*. can_edit = Bool( True ) Specifies whether the text value of the current item can be edited. The default value is **True**, which means that the user can edit the value. drag = Property() A property which returns the value to be dragged for a specified row item. The property implementation simply returns the current row item. can_drop = Bool( False ) Specifies whether the specified value be dropped on the current item. The default value is **False**, meaning that the value cannot be dropped. dropped = Enum( 'after', 'before' ) Specifies where a dropped item should be placed in the table relative to the item it is dropped on. The default value is *'after'*. font = Font The font to use for the current item. The default value is the standard default Traits font value. image = Str( None ) The name of the default image to use for a column. The default value is **None**, which means that no image will be displayed for the column. # The text of a row/column item: text = Property() tooltip = Str() The tooltip information for a column item. The default value is the empty string, which means no tooltip information will be displayed for the column. The preceding discussion applies to all of the methods defined in the first group of **TabularAdapter** interface methods. However, the design rules do not apply to the remaining five adapter methods, although they all provide a useful default implementation: get_item ( object, trait, row ) Returns the value of the *object.trait[row]* item. The default implementation assumes the trait defined by *object.trait* is a *sequence* and attempts to return the value at index *row*. If an error occurs, it returns **None** instead. This definition should work correctly for lists, tuples and arrays, or any other object that is indexable, but will have to be overridden for all other cases. Note that this method is the one called in the first design rule described previously to retrieve the item at the current table row. len ( object, trait ) Returns the number of items in the specified *object.trait* list. Again, the default implementation assumes the trait defined by *object.trait* is a *sequence* and attempts to return the result of calling *len( object.trait )*. It will need to be overridden for any type of data which for which *len* will not work. delete ( object, trait, row ) Deletes the specified *object.trait[row]* item. The default implementation assumes the trait defined by *object.trait* is a mutable sequence and attempts to perform a *del object.trait[row]* operation. insert ( object, trait, row, value ) Inserts a new value at the specified *object.trait[row]* index. The default implementation assumes the trait defined by *object.trait* is a mutable sequence and attempts to perform an *object.trait[row:row]=[value]* operation. get_default_value ( object, trait ) Returns a new default value for the specified *object.trait* list. The default implementation simply returns the value of the adapter's *default_value* trait. A TabularAdapter Example ------------------------ Having now learned about the core adapter interface as well as the design rules supported by the default method implementations, you're probably wondering how you can use a **TabularAdapter** for creating a real user interface. So in this section we'll cover a simple example of creating a **TabularAdapter** subclass to try and show how all of the pieces fit together. In subsequent tutorials, we'll provide complete examples of creating user interfaces using both the **TabularEditor** and **TabularAdapter** in combination. For this example, let's assume we have the following two classes:: class Person( HasTraits ): name = Str() age = Int() address = Str() class MarriedPerson( Person ): partner = Instance( Person ) where **Person** represents a single person, and **MarriedPerson** represents a married person and is derived from **Person** but adds the *partner* trait to reference the person they are married to. Now, assume we also have the following additional class:: class Report( HasTraits ): people = List( Person ) which has a *people* trait which contains a list of both **Person** and **MarriedPerson** objects, and we want to create a tabular display showing the following information: - Name of the person - Age of the person - The person's address - The name of the person's spouse (if any) In addition: - We want to use a Courier 10 point font for each line in the table. - We want the age column to be right, instead of left, justified - If the person is a minor (age < 18) and married, we want to show a red flag image in the age column. - If the person is married, we want to make the background color for that row a light blue. Given this set of requirements, we can now define the following **TabularAdapter** subclass:: class ReportAdapter( TabularAdapter ): columns = [ ( 'Name', 'name' ), ( 'Age', 'age' ), ( 'Address', 'address' ) ( 'Spouse', 'spouse' ) ] font = 'Courier 10' age_alignment = Constant( 'right' ) MarriedPerson_age_image = Property() MarriedPerson_bg_color = Color( 0xE0E0FF ) MarriedPerson_spouse_text = Property() Person_spouse_text = Constant( '' ) def _get_MarriedPerson_age_image ( self ): if self.item.age < 18: return 'red_flag' return None def _get_MarriedPerson_spouse_text ( self ): return self.item.partner.name Hopefully, this simple example conveys some of the power and flexibility that the **TabularAdapter** class provides you. But, just in case it doesn't, let's go over some of the more interesting details: - Note the values in the *columns* trait. The first three values define *column ids* which map directly to traits defined on our data objects, while the last one defines an arbitrary string which we define so that we can reference it in the *MarriedPerson_spouse_text* and *Person_spouse_text* trait definitions. - Since the font we want to use applies to all table rows, we just specify a new default value for the existing **TabularAdapter** *font* trait. - Since we only want to override the default left alignment for the age column, we simply define an *age_alignment* trait as a constant *'right'* value. We could have also used *age_alignment = Str('right')*, but *Constant* never requires storage to be used in an object. - We define the *MarriedPerson_age_image* property to handle putting the *red flag* image in the age column. By including the class name of the items it applies to, we only need to check the *age* value in determining what value to return. - Similary, we use the *MarriedPerson_bg_color* trait to ensure that each **MarriedPerson** object has the correct background color in the table. - Finally, we use the *MarriedPerson_spouse_text* and *Person_spouse_text* traits, one a property and the other a simple constant value, to determine what text to display in the *Spouse* column for the different object types. Note that even though a **MarriedPerson** is both a **Person** and a **MarriedPerson**, it will correctly use the *MarriedPerson_spouse_text* trait since the search for a matching trait is always made in *mro* order. Although this is completely subjective, some of the things that the author feels stand out about this approach are: - The class definition is short and sweet. Less code is good. - The bulk of the code is declarative. Less room for logic errors. - There is only one bit of logic in the class (the *if* statement in the *MarriedPerson_age_image* property implementation). Again, less logic usually translates into more reliable code). - The defined traits and even the property implementation method names read very descriptively. *_get_MarriedPerson_age_image* pretty much says what you would write in a comment or doc string. The implementation almost is the documentation. Look for a complete traits UI example based on this sample problem definition in the *Single and Married Person Example* tutorial in this section. Now, as the complexity of a tabular view increases, the definition of the **TabularAdapter** class could possibly start to get large and unwieldy. At this point we could begin refactoring our design to use the **ITabularAdapter** interface and **AnITabularAdapter** implementation class to create *sub-adapters* that can be added to our **TabularAdapter** subclass to extend its functionality even further. Creating sub-adapters and adding them via the **TabularAdapter** *adapters* trait is a topic covered in a follow-on tutorial. traitsui-7.2.1/examples/tutorials/traitsui_4.0/editors/tabular_editor/tabular_editor.htm0000644000076500000240000014255714046644454032301 0ustar aayresstaff00000000000000 The TabularEditor

    The TabularEditor

    Traits 3.0 introduces a new editor, called the TabularEditor, located in the traitsui.wx.extras.tabular_editor module that can be used for many of the same purposes as the existing TableEditor. However, while similar in function, each editor has its own particular strengths and weaknesses.

    Some of the strengths of the new TabularEditor are:

    • Very fast. The editor uses a virtual model which only accesses data from the underlying data model as needed. For example, if you have a million element array, but can only view 50 rows at a time, the editor will only request 50 rows at a time.
    • Very flexible data model. The editor uses a new adapter model for interfacing with your underlying data that allows it to easily deal with many types of data representation: from lists of objects, to arrays of numbers, to tuples of tuples, and many other formats as well.
    • Supports a useful set of data operations. The editor includes built-in support for a number of useful data operations, including:
      • Moving the selection up and down using the keyboard arrow keys.
      • Moving rows up and down using the keyboard arrow keys.
      • Inserting and deleting rows using the keyboard.
      • Begin editing table rows using the keyboard.
      • Drag and drop of table items to and from the editor, including support for both copy and move operations for single or multiple table items.
    • Visually appealing. The editor, in general, uses the underlying OS's native table or grid control, and as a result often looks better than the control used by the TableEditor.
    • Supports displaying text and images in any cell. Note however that the images displayed must all be the same size for optimal results.

    Some of the weaknesses of the TabularEditor compared to the TableEditor are:

    • Not as full-featured. The TableEditor includes support for arbitrary data filters and searches and different types of data sorting. The differences here may narrow over time as new features get added to the TabularEditor.
    • Limited data editing capabilities: The TabularEditor only supports editing textual values, unlike the TableEditor, which supports a wide variety of column editors and can be extended with more as needed. This is due to limitations of the underlying native OS control used by the editor.

    Setting up a TabularEditor for use in a Traits UI is divided into two main parts:

    • Configuring the TabularEditor object.
    • Creating a suitable adapter (or adapters) for use with the editor.

    We'll start off first with a description of the TabularEditor class, and describe the adapter interface in a later section.

    The TabularEditor Class

    The TabularEditor class defines a large number of traits which are used to configure the editor. We'll divide the set of traits into several categories, and describe each in turn.

    Visual Traits

    show_titles
    A boolean value which specifies whether or not column headers should be displayed at the top of the table. It defaults to True.
    horizontal_lines
    A boolean value which specifies whether or not horizontal lines should be drawn between rows in the table. It defaults to True.
    vertical_lines
    A boolean value which specifies whether or not vertical lines should be drawn between columns in the table. It defaults to True.

    Control Traits

    editable
    A boolean value that specifies whether or not the user is allowed to edit data in the table. It defaults to True.
    multi_select
    A boolean value that specifies whether or not the user is allowed to select multiple rows in the table at once. It defaults to False.
    operations

    A list of strings that specify what operations the user is allowed to perform on items in the table. The possible values are:

    • delete: The user can delete table rows.
    • insert: The user can insert new table rows at any position in the table.
    • append: The user can append new table rows to the end of the table.
    • edit: The user can edit the contents of table rows.
    • move: The user can move table rows within the table.

    You should include in the list all operations that you want to allow the user to perform (e.g. ['delete','insert','append']).

    drag_move
    A boolean value that specifies whether drag move operations are allowed (True), or should all drag operations be treated as drag copy operations (False). The default is False.
    adapter
    An instance of TabularAdapter that the editor uses to interface to the underlying Item data supplied to the editor. This is normally an instance of a subclass of TabularAdapter specially written for the type of data being edited. This will be described more fully in the TabularAdapter section.
    adapter_name
    An optional string that specifies the extended trait name of a trait that contains the TabularAdapter the editor should used. If the value of the trait changes while the editor is active, the editor will automatically start using the new adapter. Normally you will use either the adapter trait or the adapter_name trait, but not both. However, it is possible to use both together if needed.
    images
    An optional list of ImageResource objects describing a set of images that can be displayed in the table's cells. Specifying a set here allows you to refer to the images by name within the adapter. However, it is also possible for the adapter to supply the ImageResource object directly for any image it wants to display.

    Event Handling Traits

    selected
    An optional string that specifies the extended trait name of a trait that contains the currently selected table items. For a single-select mode editor, this should be a scalar trait, and for a multi-select mode editor, it should be a list trait. The type of the trait should be the same as the type of data being displayed in the table. This trait can be used to both set and get the current table selection.
    selected_row
    An optional string that specifies the extended trait name of a trait that contains the currently selected table item indices. For a single-select mode editor this should be an Int value, and for a multi-select mode editor it should be a List(Int) value. This trait can be used to both set and get the current table selection.
    activated
    An optional string that specifies the extended trait name of a trait that contains the currently activated table item. It should be an instance of the table item data type. The trait can only be used to get the value of the most recently activated table item. An item is activated either by the user double-clicking on it or by pressing the Enter key when the item is selected.
    activated_row
    An optional string that specifies the extended trait name of a trait that contains the currently activated table item index. It should be an Int value. The trait can only be used to get the index of the most recently activated table item. An item is activated either by the user double-clicking on it or by pressing the Enter key when the item is selected.
    clicked
    An optional string that specifies the extended trait name of a trait that contains a TabularEditorEvent object containing the information associated with the most recent left mouse button click within the editor. The trait can only be used to get the TabularEditorEvent object. The TabularEditorEvent object is described in the next section.
    dclicked
    An optional string that specifies the extended trait name of a trait that contains a TabularEditorEvent object containing the information associated with the most recent left mouse button double-click within the editor. The trait can only be used to get the TabularEditorEvent object. The TabularEditorEvent object is described in the next section.
    right_clicked
    An optional string that specifies the extended trait name of a trait that contains a TabularEditorEvent object containing the information associated with the most recent right mouse button click within the editor. The trait can only be used to get the TabularEditorEvent object. The TabularEditorEvent object is described in the next section.
    right_dclicked
    An optional string that specifies the extended trait name of a trait that contains a TabularEditorEvent object containing the information associated with the most recent right mouse button double-click within the editor. The trait can only be used to get the TabularEditorEvent object. The TabularEditorEvent object is described in the next section.

    The TabularEditorEvent Class

    Objects of the TabularEditorEvent class contain information related to a mouse button click that occurs within the editor. The class has no methods, but does define the following traits:

    row
    An integer specifying the index of the table item that was clicked on.
    column
    A value specifying the column id of the table cell that was clicked on. This value will correspond to the second element of the tuple used to define the column in the TabularEditor adapter supplied to the editor. This will be described in a later section.
    item
    The data item corresponding to the table row that was clicked on. The type of this data will depend upon the type of data contained in the underlying data model.

    The TabularEditor User Interface

    Depending upon how you have configured the TabularEditor and its associated adapter, the following user interface features may be available:

    • Up arrow: Move the selection up one line.
    • Down arrow: Move the selection down one line.
    • Page down: Append a new item to the end of the list ('append').
    • Left arrow: Move the current selection up one line ('move').
    • Right arrow: Move the current selection down one line ('move').
    • Backspace, Delete: Delete all items in the current selection from the list ('delete').
    • Enter, Escape: Edit the current selection ('edit').
    • Insert: Insert a new item before the current selection ('insert').

    In the preceding list, the values in parentheses refer to the operation that must be included in the TabularEditor operations trait in order for the specified key to have any effect.

    The append, move, edit and insert operations are only available if a single item is selected. The delete operation works when the selection has one or more items.

    Depending upon how the TabularEditor and adapter are specified, drag and drop operations may also be available. If multiple items are selected and the user drags one of the selected items, all selected items will be included in the drag operation. If the user drags a non-selected item, only that item will be dragged.

    The editor also supports both drag-move and drag-copy semantics. A drag-move operation means that the dragged items will be sent to the target and removed from the list data. A drag-copy operation means that the dragged items will be sent to the target, but will not be deleted from the Item data. Note that in a drag-copy operation, if you do not want the target to receive the same data contained in the list, then you must return a copy or clone of the data when the editor requests the drag data from the adapter.

    You can prevent drag-move operations by making sure that the TabularEditor drag_move trait is set to False (the default).

    Note that the default operation when a user begins a drag operation is drag_move. A drag-copy operation occurs when the user also holds the Ctrl key down during the drag operation (the mouse pointer changes to indicate the change in drag semantics). If drag_move operations are disabled by setting the TabularEditor drag_move trait to False, any drag-move operation is automatically treated as a drag_copy.

    The tabular editor only allows the user to edit the first column of data in the table (a restriction imposed by the underlying OS widget). If the 'edit' operation is enabled, the user can begin editing the first column either by clicking on the row twice, or by selecting the row and pressing the Enter or Escape key.

    Finally, the user can resize columns in the table by dragging the column title dividers left or right with the mouse. Once resized in this manner, the column remains that size until the user resizes the column again. This is true even if you assigned a dynamic width to the column (see the TabularAdapter section for more information about what this means). If the user wants to allow a previously user-sized column to be restored to its original developer specified size again, they must right-click on the column title to release its user specified size and restore its original size.

    If you enable persistence for the editor by specifying a non-empty id trait for the editor's Item and View objects, any user specified column widths will be saved across application sessions.

    The TabularAdapter Class

    The power and flexibility of the tabular editor is mostly a result of the TabularAdapter class, which is the base class from which all tabular editor adapters must be derived.

    The TabularEditor object interfaces between the underlying toolkit widget and your program, while the TabularAdapter object associated with the editor interfaces between the editor and your data.

    The design of the TabularAdapter base class is such that it tries to make simple cases simple and complex cases possible. How it accomplishes this is what we'll be discussing in the following sections.

    The TabularAdapter columns Trait

    First up is the TabularAdapter columns trait, which is a list of values which define, in presentation order, the set of columns to be displayed by the associated TabularEditor.

    Each entry in the columns list can have one of two forms:

    • string
    • ( string, any )

    where string is the user interface name of the column (which will appear in the table column header) and any is any value that you want to use to identify that column to your adapter. Normally this value is either a trait name or an integer index value, but it can be any value you want. If only string is specified, then any is the index of the string within columns.

    For example, say you want to display a table containing a list of tuples, each of which has three values: a name, an age, and a weight. You could then use the following value for the columns trait:

    columns = [ 'Name', 'Age', 'Weight' ]
    

    By default, the any values (also referred to in later sections as the column ids) for the columns will be the corresponding tuple index values.

    Say instead that you have a list of Person objects, with name, age and weight traits that you want to display in the table. Then you could use the following columns value instead:

    columns = [ ( 'Name',   'name' ),
                ( 'Age',    'age' ),
                ( 'Weight', 'weight' ) ]
    

    In this case, the column ids are the names of the traits you want to display in each column.

    Note that it is possible to dynamically modify the contents of the columns trait while the TabularEditor is active. The TabularEditor will automatically modify the table to show the new set of defined columns.

    The Core TabularAdapter Interface

    In this section, we'll describe the core interface to the TabularAdapter class. This is the actual interface used by the TabularEditor to access your data and display attributes. In the most complex data representation cases, these are the methods that you must override in order to have the greatest control over what the editor sees and does.

    However, the base TabularAdapter class provides default implementations for all of these methods. In subsequent sections, we'll look at how these default implementations provide simple means of customizing the adapter to your needs. But for now, let's start by covering the details of the core interface itself.

    To reduce the amount of repetition, we'll use the following definitions in all of the method argument lists that follow in this section:

    object
    The object whose trait is being edited by the TabularEditor.
    trait
    The name of the trait the TabularEditor is editing.
    row
    The row index (starting with 0) of a table item.
    column
    The column index (starting with 0) of a table column.

    The adapter interface consists of a number of methods which can be divided into two main categories: those which are sensitive to the type of a particular table item, and those which are not. We'll begin with the methods that are sensitive to an item's type:

    get_alignment ( object, trait, column )

    Returns the alignment style to use for a specified column.

    The possible values that can be returned are: 'left', 'center' or 'right'. All table items share the same alignment for a specified column.

    get_width ( object, trait, column )

    Returns the width to use for a specified column. The result can either be a float or integer value.

    If the value is <= 0, the column will have a default width, which is the same as specifying a width of 0.1.

    If the value is > 1.0, it is converted to an integer and the result is the width of the column in pixels. This is referred to as a fixed width column.

    If the value is a float such that 0.0 < value <= 1.0, it is treated as the unnormalized fraction of the available space that is to be assigned to the column. What this means requires a little explanation.

    To arrive at the size in pixels of the column at any given time, the editor adds together all of the unnormalized fraction values returned for all columns in the table to arrive at a total value. Each unnormalized fraction is then divided by the total to create a normalized fraction. Each column is then assigned an amount of space in pixels equal to the maximum of 30 or its normalized fraction multiplied by the available space. The available space is defined as the actual width of the table minus the width of all fixed width columns. Note that this calculation is performed each time the table is resized in the user interface, thus allowing columns of this type to increase or decrease their width dynamically, while leaving fixed width columns unchanged.

    get_can_edit ( object, trait, row )

    Returns a boolean value indicating whether the user can edit a specified object.trait[row] item.

    A True result indicates that the value can be edited, while a False result indicates that it cannot.

    get_drag ( object, trait, row )

    Returns the value to be dragged for a specified object.trait[row] item. A result of None means that the item cannot be dragged. Note that the value returned does not have to be the actual row item. It can be any value that you want to drag in its place. In particular, if you want the drag target to receive a copy of the row item, you should return a copy or clone of the item in its place.

    Also note that if multiple items are being dragged, and this method returns None for any item in the set, no drag operation is performed.

    get_can_drop ( object, trait, row, value )

    Returns whether the specified value can be dropped on the specified object.trait[row] item. A value of True means the value can be dropped; and a value of False indicates that it cannot be dropped.

    The result is used to provide the user positive or negative drag feedback while dragging items over the table. Value will always be a single value, even if multiple items are being dragged. The editor handles multiple drag items by making a separate call to get_can_drop for each item being dragged.

    get_dropped ( object, trait, row, value )

    Returns how to handle a specified value being dropped on a specified object.trait[row] item. The possible return values are:

    • 'before': Insert the specified value before the dropped on item.
    • 'after': Insert the specified value after the dropped on item.

    Note there is no result indicating do not drop since you will have already indicated that the object can be dropped by the result returned from a previous call to get_can_drop.

    get_font ( object, trait, row )

    Returns the font to use for displaying a specified object.trait[row] item.

    A result of None means use the default font; otherwise a wx.Font object should be returned. Note that all columns for the specified table row will use the font value returned.

    get_text_color ( object, trait, row )

    Returns the text color to use for a specified object.trait[row] item.

    A result of None means use the default text color; otherwise a wx.Colour object should be returned. Note that all columns for the specified table row will use the text color value returned.

    get_bg_color ( object, trait, row )

    Returns the background color to use for a specified object.trait[row] item.

    A result of None means use the default background color; otherwise a wx.Colour object should be returned. Note that all columns for the specified table row will use the background color value returned.

    get_image ( object, trait, row, column )

    Returns the image to display for a specified object.trait[row].column item.

    A result of None means no image will be displayed in the specified table cell. Otherwise the result should either be the name of the image, or an ImageResource object specifying the image to display.

    A name is allowed in the case where the image is specified in the TabularEditor images trait. In that case, the name should be the same as the string specified in the ImageResource constructor.

    get_format ( object, trait, row, column )

    Returns the Python formatting string to apply to the specified object.trait[row].column item in order to display it in the table.

    The result can be any Python string containing exactly one Python formatting sequence, such as '%.4f' or '(%5.2f)'.

    get_text ( object, trait, row, column )

    Returns a string containing the text to display for a specified object.trait[row].column item.

    If the underlying data representation for a specified item is not a string, then it is your responsibility to convert it to one before returning it as the result.

    set_text ( object, trait, row, text ):

    Sets the value for the specified object.trait[row].column item to the string specified by text.

    If the underlying data does not store the value as text, it is your responsibility to convert text to the correct representation used. This method is called when the user completes an editing operation on a table cell.

    get_tooltip ( object, trait, row, column )

    Returns a string containing the tooltip to display for a specified object.trait[row].column item.

    You should return the empty string if you do not wish to display a tooltip.

    The following are the remaining adapter methods, which are not sensitive to the type of item or column data:

    get_item ( object, trait, row )

    Returns the specified object.trait[row] item.

    The value returned should be the value that exists (or logically exists) at the specified row in your data. If your data is not really a list or array, then you can just use row as an integer key or token that can be used to retrieve a corresponding item. The value of row will always be in the range: 0 <= row < len( object, trait ) (i.e. the result returned by the adapter len method).

    len ( object, trait )

    Returns the number of row items in the specified object.trait list.

    The result should be an integer greater than or equal to 0.

    delete ( object, trait, row )

    Deletes the specified object.trait[row] item.

    This method is only called if the delete operation is specified in the TabularEditor operation trait, and the user requests that the item be deleted from the table. The adapter can still choose not to delete the specified item if desired, although that may prove confusing to the user.

    insert ( object, trait, row, value )

    Inserts value at the specified object.trait[row] index. The specified value can be:

    • An item being moved from one location in the data to another.
    • A new item created by a previous call to get_default_value.
    • An item the adapter previously approved via a call to get_can_drop.

    The adapter can still choose not to insert the item into the data, although that may prove confusing to the user.

    get_default_value ( object, trait )

    Returns a new default value for the specified object.trait list.

    This method is called when insert or append operations are allowed and the user requests that a new item be added to the table. The result should be a new instance of whatever underlying representation is being used for table items.

    Creating a Custom TabularAdapter

    Having just taken a look at the core TabularAdapter interface, you might now be thinking that there are an awful lot of methods that need to be specified to get an adapter up and running. But as we mentioned earlier, TabularAdapter is not an abstract base class. It is a concrete base class with implementations for each of the methods in its interface. And the implementations are written in such a way that you will hopefully hardly ever need to override them.

    In this section, we'll explain the general implementation style used by these methods, and how you can take advantage of them in creating your own adapters.

    One of the things you probably noticed as you read through the core adapter interface section is that most of the methods have names of the form: get_xxx or set_xxx, which is similar to the familiar getter/setter pattern used when defining trait properties. The adapter interface is purposely defined this way so that it can expose and leverage a simple set of design rules.

    The design rules are followed consistently in the implementations of all of the adapter methods described in the first section of the core adapter interface, so that once you understand how they work, you can easily apply the design pattern to all items in that section. Then, only in the case where the design rules will not work for your application will you ever have to override any of those TabularAdapter base class method implementations.

    So the first thing to understand is that if an adapter method name has the form: get_xxx or set_xxx it really is dealing with some kind of trait called xxx, or which contains xxx in its name. For example, the get_alignment method retrieves the value of some alignment trait defined on the adapter. In the following discussion we'll simply refer to an attribute name generically as attribute, but you will need to replace it by an actual attribute name (e.g. alignment) in your adapter.

    The next thing to keep in mind is that the adapter interface is designed to easily deal with items that are not all of the same type. As we just said, the design rules apply to all adapter methods in the first group, which were defined as methods which are sensitive to an item's type. Item type sensitivity plays an important part in the design rules, as we will see shortly.

    With this in mind, we now describe the simple design rules used by the first group of methods in the TabularAdapter class:

    • When getting or setting an adapter attribute, the method first retrieves the underlying item for the specified data row. The item, and type (i.e. class) of the item, are then used in the next rule.

    • The method gets or sets the first trait it finds on the adapter that matches one of the following names:

      • classname_columnid_attribute
      • classsname_attribute
      • columnid_attribute
      • attribute

      where:

      • classname is the name of the class of the item found in the first step, or one of its base class names, searched in the order defined by the mro (method resolution order) for the item's class.
      • columnid is the column id specified by the developer in the adapter's column trait for the specified table column.
      • attribute is the attribute name as described previously (e.g. alignment).

    Note that this last rule always finds a matching trait, since the TabularAdapter base class provides traits that match the simple attribute form for all attributes these rules apply to. Some of these are simple traits, while others are properties. We'll describe the behavior of all these default traits shortly.

    The basic idea is that rather than override the first group of core adapter methods, you simply define one or more simple traits or trait properties on your TabularAdapter subclass that provide or accept the specified information.

    All of the adapter methods in the first group provide a number of arguments, such as object, trait, row and column. In order to define a trait property, which cannot be passed this information directly, the adapter always stores the arguments and values it computes in the following adapter traits, where they can be easily accessed by a trait getter or setter method:

    • row: The table row being accessed.
    • column: The column id of the table column being accessed (not its index).
    • item: The data item for the specified table row (i.e. the item determined in the first step described above).
    • value: In the case of a set_xxx method, the value to be set; otherwise it is None.

    As mentioned previously, the TabularAdapter class provides trait definitions for all of the attributes these rules apply to. You can either use the default values as they are, override the default, set a new value, or completely replace the trait definition in a subclass. A description of the default trait implementation for each attribute is as follows:

    default_value = Any( '' )

    The default value for a new row.

    The default value is the empty string, but you will normally need to assign a different (default) value.

    format = Str( '%s' )

    The default Python formatting string for a column item.

    The default value is '%s' which will simply convert the column item to a displayable string value.

    text = Property

    The text to display for the column item.

    The implementation of the property checks the type of the column's column id:

    • If it is an integer, it returns format%item[column_id].
    • Otherwise, it returns format%item.column_id.

    Note that format refers to the value returned by a call to get_format for the current column item.

    text_color = Property

    The text color for a row item.

    The property implementation checks to see if the current table row is even or odd, and based on the result returns the value of the even_text_color or odd_text_color trait if the value is not None, and the value of the default_text_color trait if it is. The definition of these additional traits are as follows:

    • odd_text_color = Color( None )
    • even_text_color = Color( None )
    • default_text_color = Color( None )

    Remember that a None value means use the default text color.

    bg_color = Property

    The background color for a row item.

    The property implementation checks to see if the current table row is even or odd, and based on the result returns the value of the even_bg_color or odd_bg_color trait if the value is not None, and the value of the default_bg_color trait if it is. The definition of these additional traits are as follows:

    • odd_bg_color = Color( None )
    • even_bg_color = Color( None )
    • default_bg_color = Color( None )

    Remember that a None value means use the default background color.

    alignment = Enum( 'left', 'center', 'right' )

    The alignment to use for a specified column.

    The default value is 'left'.

    width = Float( -1 )

    The width of a specified column.

    The default value is -1, which means a dynamically sized column with an unnormalized fractional value of 0.1.

    can_edit = Bool( True )

    Specifies whether the text value of the current item can be edited.

    The default value is True, which means that the user can edit the value.

    drag = Property

    A property which returns the value to be dragged for a specified row item.

    The property implementation simply returns the current row item.

    can_drop = Bool( False )

    Specifies whether the specified value be dropped on the current item.

    The default value is False, meaning that the value cannot be dropped.

    dropped = Enum( 'after', 'before' )

    Specifies where a dropped item should be placed in the table relative to the item it is dropped on.

    The default value is 'after'.

    font = Font

    The font to use for the current item.

    The default value is the standard default Traits font value.

    image = Str( None )

    The name of the default image to use for a column.

    The default value is None, which means that no image will be displayed for the column.

    # The text of a row/column item: text = Property

    tooltip = Str

    The tooltip information for a column item.

    The default value is the empty string, which means no tooltip information will be displayed for the column.

    The preceding discussion applies to all of the methods defined in the first group of TabularAdapter interface methods. However, the design rules do not apply to the remaining five adapter methods, although they all provide a useful default implementation:

    get_item ( object, trait, row )

    Returns the value of the object.trait[row] item.

    The default implementation assumes the trait defined by object.trait is a sequence and attempts to return the value at index row. If an error occurs, it returns None instead. This definition should work correctly for lists, tuples and arrays, or any other object that is indexable, but will have to be overridden for all other cases.

    Note that this method is the one called in the first design rule described previously to retrieve the item at the current table row.

    len ( object, trait )

    Returns the number of items in the specified object.trait list.

    Again, the default implementation assumes the trait defined by object.trait is a sequence and attempts to return the result of calling len( object.trait ). It will need to be overridden for any type of data which for which len will not work.

    delete ( object, trait, row )

    Deletes the specified object.trait[row] item.

    The default implementation assumes the trait defined by object.trait is a mutable sequence and attempts to perform a del object.trait[row] operation.

    insert ( object, trait, row, value )

    Inserts a new value at the specified object.trait[row] index.

    The default implementation assumes the trait defined by object.trait is a mutable sequence and attempts to perform an object.trait[row:row]=[value] operation.

    get_default_value ( object, trait )

    Returns a new default value for the specified object.trait list.

    The default implementation simply returns the value of the adapter's default_value trait.

    A TabularAdapter Example

    Having now learned about the core adapter interface as well as the design rules supported by the default method implementations, you're probably wondering how you can use a TabularAdapter for creating a real user interface.

    So in this section we'll cover a simple example of creating a TabularAdapter subclass to try and show how all of the pieces fit together.

    In subsequent tutorials, we'll provide complete examples of creating user interfaces using both the TabularEditor and TabularAdapter in combination.

    For this example, let's assume we have the following two classes:

    class Person( HasTraits ):
    
        name = Str()
        age = Int()
        address = Str()
    
    class MarriedPerson( Person ):
    
        partner = Instance( Person )
    

    where Person represents a single person, and MarriedPerson represents a married person and is derived from Person but adds the partner trait to reference the person they are married to.

    Now, assume we also have the following additional class:

    class Report( HasTraits ):
    
        people = List( Person )
    

    which has a people trait which contains a list of both Person and MarriedPerson objects, and we want to create a tabular display showing the following information:

    • Name of the person
    • Age of the person
    • The person's address
    • The name of the person's spouse (if any)

    In addition:

    • We want to use a Courier 10 point font for each line in the table.
    • We want the age column to be right, instead of left, justified
    • If the person is a minor (age < 18) and married, we want to show a red flag image in the age column.
    • If the person is married, we want to make the background color for that row a light blue.

    Given this set of requirements, we can now define the following TabularAdapter subclass:

    class ReportAdapter( TabularAdapter ):
    
        columns = [ ( 'Name',    'name' ),
                    ( 'Age',     'age' ),
                    ( 'Address', 'address' )
                    ( 'Spouse',  'spouse' ) ]
    
        font                      = 'Courier 10'
        age_alignment             = Constant( 'right' )
        MarriedPerson_age_image = Property()
        MarriedPerson_bg_color    = Color( 0xE0E0FF )
        MarriedPerson_spouse_text = Property()
        Person_spouse_text        = Constant( '' )
    
        def _get_MarriedPerson_age_image ( self ):
            if self.item.age < 18:
                return 'red_flag'
            return None
    
        def _get_MarriedPerson_spouse_text ( self ):
            return self.item.partner.name
    

    Hopefully, this simple example conveys some of the power and flexibility that the TabularAdapter class provides you. But, just in case it doesn't, let's go over some of the more interesting details:

    • Note the values in the columns trait. The first three values define column ids which map directly to traits defined on our data objects, while the last one defines an arbitrary string which we define so that we can reference it in the MarriedPerson_spouse_text and Person_spouse_text trait definitions.
    • Since the font we want to use applies to all table rows, we just specify a new default value for the existing TabularAdapter font trait.
    • Since we only want to override the default left alignment for the age column, we simply define an age_alignment trait as a constant 'right' value. We could have also used age_alignment = Str('right'), but Constant never requires storage to be used in an object.
    • We define the MarriedPerson_age_image property to handle putting the red flag image in the age column. By including the class name of the items it applies to, we only need to check the age value in determining what value to return.
    • Similary, we use the MarriedPerson_bg_color trait to ensure that each MarriedPerson object has the correct background color in the table.
    • Finally, we use the MarriedPerson_spouse_text and Person_spouse_text traits, one a property and the other a simple constant value, to determine what text to display in the Spouse column for the different object types. Note that even though a MarriedPerson is both a Person and a MarriedPerson, it will correctly use the MarriedPerson_spouse_text trait since the search for a matching trait is always made in mro order.

    Although this is completely subjective, some of the things that the author feels stand out about this approach are:

    • The class definition is short and sweet. Less code is good.
    • The bulk of the code is declarative. Less room for logic errors.
    • There is only one bit of logic in the class (the if statement in the MarriedPerson_age_image property implementation). Again, less logic usually translates into more reliable code).
    • The defined traits and even the property implementation method names read very descriptively. _get_MarriedPerson_age_image pretty much says what you would write in a comment or doc string. The implementation almost is the documentation.

    Look for a complete traits UI example based on this sample problem definition in the Single and Married Person Example tutorial in this section.

    Now, as the complexity of a tabular view increases, the definition of the TabularAdapter class could possibly start to get large and unwieldy. At this point we could begin refactoring our design to use the ITabularAdapter interface and AnITabularAdapter implementation class to create sub-adapters that can be added to our TabularAdapter subclass to extend its functionality even further. Creating sub-adapters and adding them via the TabularAdapter adapters trait is a topic covered in a follow-on tutorial.

    traitsui-7.2.1/examples/tutorials/traitsui_4.0/editors/animated_gif.py0000644000076500000240000000452214046644454026535 0ustar aayresstaff00000000000000#--(Animated GIF Editor)-------------------------------------------------- """ Animated GIF Editor =================== In Traits 3.0, a new **AnimatedGIFEditor** has been added to the Traits UI package. The purpose of the editor is to allow inclusion of simple animated graphics into a traits UI via the use of animated GIF files. The traits supported by the **AnimatedGIFEditor** editor are as follows: playing A string that specifies the extended name of a trait that specifies whether the animated GIF file is playing or not. If not specified, the default is to play the animated GIF file endlessly. The value associated with **AnimatedGIFEditor** should be the name of the animated GIF image file to be displayed. No user editing of the value is provided by this editor, it is display only. """ #--[Imports]-------------------------------------------------------------- from os.path \ import join, dirname from traits.api \ import HasTraits, File, Bool, Int from traitsui.api \ import View, VGroup, HGroup, Item, EnumEditor from traitsui.wx.animated_gif_editor \ import AnimatedGIFEditor #--[Setup]---------------------------------------------------------------- # Some sample animated GIF files: import traitsui as ui base_path = join(dirname(ui.__file__), 'demo', 'Extras', 'images') # Get the names of the animated GIF files that can be displayed: files = [ join(base_path, 'logo_64x64.gif'), join(base_path, 'logo_48x48.gif'), join(base_path, 'logo_32x32.gif') ] #--[AnimatedGIFDemo Class]------------------------------------------------ class AnimatedGIFDemo(HasTraits): # The animated GIF file to display: gif_file = File(files[0]) # Is the animation playing or not? playing = Bool(True) # The traits view: view = View( VGroup( HGroup( Item('gif_file', editor=AnimatedGIFEditor(playing='playing'), show_label=False), Item('playing'), ), '_', Item('gif_file', label='GIF File', editor=EnumEditor(values=files) ) ), title='Animated GIF Demo', resizable=True, buttons=['OK'] ) #--------------------------------------------------------------- demo = AnimatedGIFDemo() traitsui-7.2.1/examples/tutorials/traitsui_4.0/deferred.py0000644000076500000240000000513114046644454024232 0ustar aayresstaff00000000000000# Copyright (c) 2007, Enthought, Inc. # License: BSD Style. #--(Deferred UI Notifications)-------------------------------------------- """ Deferred UI Notifications ========================= In Traits 3.0, a change has been made to the way that events are handled in the Traits UI that should improve the performance and responsive of Traits-based user interfaces in certain important situations. In particular, changes made to the underlying model being displayed by a Traits UI are no longer reflected immediately in the user interface, but are instead queued up to be processed by the UI thread at its first available opportunity. More precisely, the first time that a user interface related model trait is modified, an event requesting a user interface update is generated containing the old and new values of the trait. Subsequent changes to the same model trait result in no new events being generated, but instead simply update the original event information with the latest value of the modified trait. Eventually the UI thread will process the original event, at which point it will update the user interface using the original old value of the trait along with the latest new value. Although this may sound like it should slow down user interface updates, in many cases where a model is being rapidly updated by calculations running either on a background or UI thread, it should actually appear to make the system more responsive, and should in fact, help prevent or reduce situations where the user interface would previously have appeared to be unresponsive due to an excessive number of screen updates. """ #---------------------------------------------------------------- from traits.api import * from traitsui.api import * #--[Count Class]---------------------------------------------------------- class Count(HasTraits): count = Int() go = Button('Count') view = View( Item('count', style='readonly'), Item('go', show_label=False) ) def _go_changed(self): # Even though the 'count' trait (which is visible in the UI) is being # rapidly updated here, the UI should show only a single update each # time the 'Count' button is clicked. In previous Traits versions, the # user would actually see the counter update sequentially through all # 10,000 values, during which time the user interface would be # unresponsive: for i in range(10000): self.count += 1 #--------------------------------------------------------------- demo = Count() if __name__ == '__main__': demo.configure_traits() traitsui-7.2.1/examples/tutorials/traitsui_4.0/buttons.py0000644000076500000240000000465314046644454024160 0ustar aayresstaff00000000000000# Copyright (c) 2007, Enthought, Inc. # License: BSD Style. #--(View Default Button Changes)------------------------------------------ """ View Default Button Changes =========================== For the last year or so, use of the following **View** traits for managing the default buttons displayed at the bottom of a view has been deprecated: - apply - revert - undo - ok - cancel Use of these traits has been supplanted by use of the *buttons* trait instead. As part of the ongoing phasing out of these traits, the following changes have been implemented in Traits 3.0: - All use of the *apply*, *revert*, *undo*, *ok* and *cancel* traits have been removed from views contained within the traits package itself, and have been replaced with the *buttons* trait. - The default value for each of the deprecated traits has been changed from **True** to **False**. While use of the deprecated **View** traits is still allowed at the moment, the affect of these changes could cause changes in behavior within existing code that has not yet removed references to the deprecated traits. In particular, the most likely side effect is for some or all of the default **View** buttons to disappear from views which are implicitly relying on the default values for each of the deprecated traits. Views which explicitly set the deprecated **View** traits or use the newer *buttons* trait should not be affected. The correct fix for any **View** which has buttons disappear after installing Traits 3.0 is to add a *buttons* trait with the correct value set to the **View**. Note that in a future release, the deprecated view traits will actually be removed from the **View** class. """ #---------------------------------------------------------------- from traits.api import * from traitsui.api import * #--[Adder Class]---------------------------------------------------------- # Click the run button to view the pop-up dialog... class Adder(HasTraits): value_1 = Float() value_2 = Float() sum = Property(observe=['value_1', 'value_2']) view = View( Item('value_1'), Item('value_2'), '_', Item('sum', style='readonly'), title='Adding Machine', buttons=['OK'] ) def _get_sum(self): return (self.value_1 + self.value_2) #---------------------------------------------------------------- popup = Adder() if __name__ == '__main__': popup.configure_traits() traitsui-7.2.1/examples/tutorials/traitsui_4.0/default.css0000644000076500000240000000150014046644454024232 0ustar aayresstaff00000000000000body { background-color: #FFFFFF; } h1 { font-family: Arial; font-size: 14pt; color: #303030; background-color: #FCD062; padding-top: 3px; padding-left:8px; padding-bottom: 3px; padding-right: 8px; } h2 { font-family: Arial; font-size: 12pt; color: #303030; background-color: #FCD062; padding-top: 3px; padding-left:8px; padding-bottom: 3px; padding-right: 8px; } pre { border: 1px solid #A0A0A0; background-color: #FDF7E7; padding: 4px; } dl { border: 1px solid #A0A0A0; background-color: #FDF7E7; padding-top: 4px; padding-bottom: 6px; padding-left: 8px; padding-right: 8px; } dl dl { border: 0px solid #A0A0A0; } dt { font-family: Arial; font-weight: bold; dd { padding-bottom: 10px; } traitsui-7.2.1/examples/tutorials/traitsui_4.0/items.py0000644000076500000240000002074114046644454023577 0ustar aayresstaff00000000000000# Copyright (c) 2007, Enthought, Inc. # License: BSD Style. #--(Extended Traits UI Item and Editor References)------------------------ """ Extended Traits UI Item and Editor References ============================================= In Traits 3.0, the Traits UI **Item** class and various *editor* classes have been extended to use the new extended trait name support provided by the *on_trait_change* method. In previous Traits versions, for example, **Item** objects could only refer to traits defined directly on a UI context object. For example:: view = View( Item( 'name' ), Item( 'object.age' ), Item( 'handler.status' ) ) In Traits 3.0 this restriction has been lifted, and now **Items** can reference (i.e. edit) any trait reachable from a UI context object:: view = View( Item( 'object.mother.name' ), Item( 'object.axel.chassis.serial_number', style = 'readonly' ) ) Similarly, any Traits UI *editor* classes that previously accepted a trait name now accept an extended trait name:: view = View( Item( 'address' ), Item( 'state', editor = EnumEditor( name = 'handler.country.states' ) ) Because **Items** and *editors* only refer to a single trait, you should not use extended trait references that refer to multiple traits, such as *'foo.[bar,baz]'* or *'foo.+editable'*, since the behavior of such references is not defined. Look at the code tabs for this lesson for a complete example of a Traits UI using extended **Item** and editor references. In particular, the **LeagueModelView Class** tab contains a **View** definition containing extended references. Code Incompatibilities ---------------------- Note that the editor enhancement may cause some incompatibities with editors that previously supported both an *object* and *name* trait, with the *object* trait containing the context object name, and the *name* trait containing the name of the trait on the specified context object. Using the new extended trait references, these have been combined into a single *name* trait. If you encounter such an occurrence in existing code, simply combine the context object name and trait name into a single extended name of the form:: context_object_name.trait_name Warning ------- Avoid extended **Item** references that contain intermediate links that could be *None*. For example, in the following code:: view = View( ... Item( 'object.team.players', ... ) ... ) an exception will be raised if *object.team* is *None*, or is set to *None*, while the view is active, since there is no obvious way to obtain a valid value for *object.team.players* for the associated **Item** *editor* to display. Note that the above example is borrowed from this lesson's demo code, which has additional code written to ensure that *object.team* is not *None*. See the *_model_changed* method in the **LeagueModelView Class** tab, which makes sure that the *team* trait is intialized to a valid value when a new **League** model is set up. """ #---------------------------------------------------------------- from traits.api \ import * from traitsui.api \ import * from traitsui.table_column \ import * from functools import reduce #--[Player Class]--------------------------------------------------------- # Define a baseball player: class Player(HasTraits): # The name of the player: name = Str('') # The number of hits the player made this season: hits = Int() #--[Team Class]----------------------------------------------------------- # Define a baseball team: class Team(HasTraits): # The name of the team: name = Str('') # The players on the team: players = List(Player) # The number of players on the team: num_players = Property(observe='players') def _get_num_players(self): """ Implementation of the 'num_players' property. """ return len(self.players) #--[League Class]--------------------------------------------------------- # Define a baseball league model: class League(HasTraits): # The name of the league: name = Str('') # The teams in the league: teams = List(Team) #--[LeagueModelView Class]----------------------------------------------------- # Define a ModelView for a League model: class LeagueModelView(ModelView): # The currently selected team: team = Instance(Team) # The currently selected player: player = Instance(Player) # Button to add a hit to the current player: got_hit = Button('Got a Hit') # The total number of hits total_hits = Property(depends_on='model.teams.players.hits') @cached_property def _get_total_hits(self): """ Returns the total number of hits across all teams and players. """ return 0 return reduce(add, [reduce(add, [p.hits for p in t.players], 0) for t in self.model.teams], 0) view = View( VGroup( HGroup( Item('total_hits', style='readonly'), label='League Statistics', show_border=True ), VGroup( Item('model.teams', show_label=False, editor=TableEditor( columns=[ObjectColumn(name='name', width=0.70), ObjectColumn(name='num_players', label='# Players', editable=False, width=0.29)], selected='object.team', auto_add=True, row_factory=Team, configurable=False, sortable=False) ), label='League Teams', show_border=True ), VGroup( Item('object.team.players', # <-- Extended Item name show_label=False, editor=TableEditor( columns=[ObjectColumn(name='name', width=0.70), ObjectColumn(name='hits', editable=False, width=0.29)], selected='object.player', auto_add=True, row_factory=Player, configurable=False, sortable=False) ), '_', HGroup( Item('got_hit', show_label=False, enabled_when='player is not None' ) ), label='Team Players', show_labels=False, show_border=True ) ), resizable=True ) def _model_changed(self, model): """ Handles the 'league' model being initialized. """ if len(model.teams) > 0: self.team = model.teams[0] def _got_hit_changed(self): """ Handles the currently selected player making a hit. """ self.player.hits += 1 def _team_changed(self, team): """ Handles a new team being selected. """ if len(team.players) > 0: self.player = team.players[0] else: self.player = None # Function to add two numbers (used with 'reduce'): add = lambda a, b: a + b #--[Example*]------------------------------------------------------------- # Define some sample teams and players: blue_birds = Team(name='Blue Birds', players=[ Player(name='Mike Scott', hits=25), Player(name='Willy Shofield', hits=37), Player(name='Tony Barucci', hits=19)]) chicken_hawks = Team(name='Chicken Hawks', players=[ Player(name='Jimmy Domore', hits=34), Player(name='Bill Janks', hits=16), Player(name='Tim Saunders', hits=27)]) eagles = Team(name='Eagles', players=[ Player(name='Joe Peppers', hits=33), Player(name='Sam Alone', hits=12), Player(name='Roger Clemson', hits=23)]) # Create a league and its corresponding model view: demo = LeagueModelView( League(name='National Baseball Conference', teams=[blue_birds, chicken_hawks, eagles]) ) if __name__ == '__main__': demo.configure_traits() traitsui-7.2.1/examples/tutorials/traitsui_4.0/model_view.py0000644000076500000240000001244714046644454024614 0ustar aayresstaff00000000000000# Copyright (c) 2007, Enthought, Inc. # License: BSD Style. #--(ModelView and Controller Classes)------------------------------------- """ ModelView and Controller Classes ================================ Traits 3.0 introduces two new **Handler** subclasses, **ModelView** and **Controller**, both of which are intended to help simplify the process of creating MVC (i.e. Model/View/Controller) based applications. Both **Controller** and **ModelView** classes add the following new traits to the **Handler** subclass:: # The model this handler defines a view and controller for: model = Instance( HasTraits ) # The UIInfo object associated with the controller: info = Instance( UIInfo ) The *model* trait provides simple access to the model object associated with either the **Controller** or **ModelView** class. Normally, the *model* trait is set in the constructor when a **Controller** or **ModelView** subclass is created. See the **Example** tab for an example of this. The *info* trait provides access to the **UIInfo** object associated with the active user interface view for the handler object. The *info* trait is set automatically when the handler's object view is created. So far, the **Controller** and **ModelView** classes are identical. The only difference between them is in the *context* dictionary each class defines when it creates it associated user interface. For a **Controller** subclass, the *context* dictionary contains: object The **Controller**'s *model* object. controller The **Controller** object itself. For a **ModelView** subclass, the *context* dictionary contains: object The **ModelView** object itself. model The **ModelView**'s *model* object. The **Controller** class is normally used when implementing a standard MVC-based design. In this case, the *model* object contains most, if not all, of the data being viewed, and can be easily referenced in the controller's **View** definition using unqualified trait names (e.g. *Item( 'name' )*). The **ModelView** class is useful when creating a variant of the standard MVC-based design the author likes to refer to as a *model-view*. In this pattern, the **ModelView** subclass typically reformulates a number of the traits on its associated *model* object as properties on the **ModelView** class, usually for the purpose of converting the model's data into a more user interface friendly format. So in this design, the **ModelView** class not only supplies the view and controller, but also, in effect, the model (as a set of properties wrapped around the original model). Because of this, the **ModelView** context dictionary specifies itself as the special *object* value, and assigns the original model as the *model* value. Again, the main purpose of this is to allow easy reference to the **ModelView**'s property traits within its **View** using unqualified trait names. Other than these somewhat subtle, although useful, distinctions, the **Controller** and **ModelView** classes are identical, and which class to use is really a personal preference as much as it is a design decision. Calling the Constructor ----------------------- Both the **ModelView** and **Controller** classes have the same constructor signature:: ModelView( model = None, **metadata ) Controller( model = None, **metadata ) So both of the following are valid examples of creating a controller for a model:: mv = MyModelView( my_model ) c = MyController( model = my_model ) An Example ---------- The code portion of this lesson provides a complete example of using a **ModelView** design. Refer to the lesson on *Delegation Fixes and Improvements* for an example of a related **Controller** based design. """ #---------------------------------------------------------------- from traits.api import * from traitsui.api import * from traitsui.table_column import * #--[Parent Class]--------------------------------------------------------- class Parent(HasTraits): first_name = Str() last_name = Str() #--[Child Class]---------------------------------------------------------- class Child(HasTraits): mother = Instance(Parent) father = Instance(Parent) first_name = Str() last_name = Delegate('father') #--[ChildModelView Class]------------------------------------------------- class ChildModelView(ModelView): # Define the 'family' ModelView property that maps the child and its # parents into a list of objects that can be viewed as a table: family = Property(List) # Define a view showing the family as a table: view = View( Item('family', show_label=False, editor=TableEditor( columns=[ObjectColumn(name='first_name'), ObjectColumn(name='last_name')])), resizable=True ) # Implementation of the 'family' property: def _get_family(self): return [self.model.father, self.model.mother, self.model] #--[Example*]------------------------------------------------------------- # Create a sample family: mom = Parent(first_name='Julia', last_name='Wilson') dad = Parent(first_name='William', last_name='Chase') son = Child(mother=mom, father=dad, first_name='John') # Create the controller for the model: demo = ChildModelView(model=son) if __name__ == '__main__': demo.configure_traits() traitsui-7.2.1/examples/tutorials/tutor.py0000644000076500000240000000246414046644454021410 0ustar aayresstaff00000000000000# ------------------------------------------------------------------------- # # Copyright (c) 2007, Enthought, Inc. # All rights reserved. # # This software is provided without warranty under the terms of the BSD # license included in enthought/LICENSE.txt and may be redistributed only # under the conditions described in the aforementioned license. The license # is also available online at http://www.enthought.com/licenses/BSD.txt # # Thanks for using Enthought open source! # # ------------------------------------------------------------------------- """ Script to run the tutorial. """ import os import sys from traitsui.extras.demo import demo # Correct program usage information: usage = """ Correct usage is: tutor.py [root_dir] where: root_dir = Path to root of the tutorial tree If omitted, 'root_dir' defaults to the current directory.""" def main(root_dir): # Create a tutor and display the tutorial: path, name = os.path.splitext(root_dir) demo(dir_name=root_dir) if __name__ == '__main__': # Validate the command line arguments: if len(sys.argv) > 2: print(usage) sys.exit(1) # Determine the root path to use for the tutorial files: if len(sys.argv) == 2: root_dir = sys.argv[1] else: root_dir = os.getcwd() main(root_dir) traitsui-7.2.1/examples/README.rst0000644000076500000240000000047114046644454017316 0ustar aayresstaff00000000000000This folder contains examples for demonstration and documentation purposes. To aid discovery, symbolic links are created for files hosted in the package in order to be included as package data. If you have ``etsdemo`` package installed, you can browse the demo files with the following command:: $ etsdemo traitsui-7.2.1/image_LICENSE_Eclipse.txt0000644000076500000240000002604314046644454020445 0ustar aayresstaff00000000000000Eclipse Public License - v 1.0 THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE PUBLIC LICENSE ("AGREEMENT"). ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT. 1. DEFINITIONS "Contribution" means: a) in the case of the initial Contributor, the initial code and documentation distributed under this Agreement, and b) in the case of each subsequent Contributor: i)changes to the Program, and ii)additions to the Program; where such changes and/or additions to the Program originate from and are distributed by that particular Contributor. A Contribution 'originates' from a Contributor if it was added to the Program by such Contributor itself or anyone acting on such Contributor's behalf. Contributions do not include additions to the Program which: (i) are separate modules of software distributed in conjunction with the Program under their own license agreement, and (ii) are not derivative works of the Program. "Contributor" means any person or entity that distributes the Program. "Licensed Patents " mean patent claims licensable by a Contributor which are necessarily infringed by the use or sale of its Contribution alone or when combined with the Program. "Program" means the Contributions distributed in accordance with this Agreement. "Recipient" means anyone who receives the Program under this Agreement, including all Contributors. 2. GRANT OF RIGHTS a) Subject to the terms of this Agreement, each Contributor hereby grants Recipient a non-exclusive, worldwide, royalty-free copyright license to reproduce, prepare derivative works of, publicly display, publicly perform, distribute and sublicense the Contribution of such Contributor, if any, and such derivative works, in source code and object code form. b) Subject to the terms of this Agreement, each Contributor hereby grants Recipient a non-exclusive, worldwide, royalty-free patent license under Licensed Patents to make, use, sell, offer to sell, import and otherwise transfer the Contribution of such Contributor, if any, in source code and object code form. This patent license shall apply to the combination of the Contribution and the Program if, at the time the Contribution is added by the Contributor, such addition of the Contribution causes such combination to be covered by the Licensed Patents. The patent license shall not apply to any other combinations which include the Contribution. No hardware per se is licensed hereunder. c) Recipient understands that although each Contributor grants the licenses to its Contributions set forth herein, no assurances are provided by any Contributor that the Program does not infringe the patent or other intellectual property rights of any other entity. Each Contributor disclaims any liability to Recipient for claims brought by any other entity based on infringement of intellectual property rights or otherwise. As a condition to exercising the rights and licenses granted hereunder, each Recipient hereby assumes sole responsibility to secure any other intellectual property rights needed, if any. For example, if a third party patent license is required to allow Recipient to distribute the Program, it is Recipient's responsibility to acquire that license before distributing the Program. d) Each Contributor represents that to its knowledge it has sufficient copyright rights in its Contribution, if any, to grant the copyright license set forth in this Agreement. 3. REQUIREMENTS A Contributor may choose to distribute the Program in object code form under its own license agreement, provided that: a) it complies with the terms and conditions of this Agreement; and b) its license agreement: i) effectively disclaims on behalf of all Contributors all warranties and conditions, express and implied, including warranties or conditions of title and non-infringement, and implied warranties or conditions of merchantability and fitness for a particular purpose; ii) effectively excludes on behalf of all Contributors all liability for damages, including direct, indirect, special, incidental and consequential damages, such as lost profits; iii) states that any provisions which differ from this Agreement are offered by that Contributor alone and not by any other party; and iv) states that source code for the Program is available from such Contributor, and informs licensees how to obtain it in a reasonable manner on or through a medium customarily used for software exchange. When the Program is made available in source code form: a) it must be made available under this Agreement; and b) a copy of this Agreement must be included with each copy of the Program. Contributors may not remove or alter any copyright notices contained within the Program. Each Contributor must identify itself as the originator of its Contribution, if any, in a manner that reasonably allows subsequent Recipients to identify the originator of the Contribution. 4. COMMERCIAL DISTRIBUTION Commercial distributors of software may accept certain responsibilities with respect to end users, business partners and the like. While this license is intended to facilitate the commercial use of the Program, the Contributor who includes the Program in a commercial product offering should do so in a manner which does not create potential liability for other Contributors. Therefore, if a Contributor includes the Program in a commercial product offering, such Contributor ("Commercial Contributor") hereby agrees to defend and indemnify every other Contributor ("Indemnified Contributor") against any losses, damages and costs (collectively "Losses") arising from claims, lawsuits and other legal actions brought by a third party against the Indemnified Contributor to the extent caused by the acts or omissions of such Commercial Contributor in connection with its distribution of the Program in a commercial product offering. The obligations in this section do not apply to any claims or Losses relating to any actual or alleged intellectual property infringement. In order to qualify, an Indemnified Contributor must: a) promptly notify the Commercial Contributor in writing of such claim, and b) allow the Commercial Contributor to control, and cooperate with the Commercial Contributor in, the defense and any related settlement negotiations. The Indemnified Contributor may participate in any such claim at its own expense. For example, a Contributor might include the Program in a commercial product offering, Product X. That Contributor is then a Commercial Contributor. If that Commercial Contributor then makes performance claims, or offers warranties related to Product X, those performance claims and warranties are such Commercial Contributor's responsibility alone. Under this section, the Commercial Contributor would have to defend claims against the other Contributors related to those performance claims and warranties, and if a court requires any other Contributor to pay any damages as a result, the Commercial Contributor must pay those damages. 5. NO WARRANTY EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, THE PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED INCLUDING, WITHOUT LIMITATION, ANY WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT, MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. Each Recipient is solely responsible for determining the appropriateness of using and distributing the Program and assumes all risks associated with its exercise of rights under this Agreement , including but not limited to the risks and costs of program errors, compliance with applicable laws, damage to or loss of data, programs or equipment, and unavailability or interruption of operations. 6. DISCLAIMER OF LIABILITY EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, NEITHER RECIPIENT NOR ANY CONTRIBUTORS SHALL HAVE ANY LIABILITY FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING WITHOUT LIMITATION LOST PROFITS), HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OR DISTRIBUTION OF THE PROGRAM OR THE EXERCISE OF ANY RIGHTS GRANTED HEREUNDER, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. 7. GENERAL If any provision of this Agreement is invalid or unenforceable under applicable law, it shall not affect the validity or enforceability of the remainder of the terms of this Agreement, and without further action by the parties hereto, such provision shall be reformed to the minimum extent necessary to make such provision valid and enforceable. If Recipient institutes patent litigation against any entity (including a cross-claim or counterclaim in a lawsuit) alleging that the Program itself (excluding combinations of the Program with other software or hardware) infringes such Recipient's patent(s), then such Recipient's rights granted under Section 2(b) shall terminate as of the date such litigation is filed. All Recipient's rights under this Agreement shall terminate if it fails to comply with any of the material terms or conditions of this Agreement and does not cure such failure in a reasonable period of time after becoming aware of such noncompliance. If all Recipient's rights under this Agreement terminate, Recipient agrees to cease use and distribution of the Program as soon as reasonably practicable. However, Recipient's obligations under this Agreement and any licenses granted by Recipient relating to the Program shall continue and survive. Everyone is permitted to copy and distribute copies of this Agreement, but in order to avoid inconsistency the Agreement is copyrighted and may only be modified in the following manner. The Agreement Steward reserves the right to publish new versions (including revisions) of this Agreement from time to time. No one other than the Agreement Steward has the right to modify this Agreement. The Eclipse Foundation is the initial Agreement Steward. The Eclipse Foundation may assign the responsibility to serve as the Agreement Steward to a suitable separate entity. Each new version of the Agreement will be given a distinguishing version number. The Program (including Contributions) may always be distributed subject to the version of the Agreement under which it was received. In addition, after a new version of the Agreement is published, Contributor may elect to distribute the Program (including its Contributions) under the new version. Except as expressly stated in Sections 2(a) and 2(b) above, Recipient receives no rights or licenses to the intellectual property of any Contributor under this Agreement, whether expressly, by implication, estoppel or otherwise. All rights in the Program not expressly granted under this Agreement are reserved. This Agreement is governed by the laws of the State of New York and the intellectual property laws of the United States of America. No party to this Agreement will bring a legal action under this Agreement more than one year after the cause of action arose. Each party waives its rights to a jury trial in any resulting litigation. traitsui-7.2.1/image_LICENSE_OOo.txt0000644000076500000240000001641114046644454017553 0ustar aayresstaff00000000000000GNU 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: o 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. o 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. traitsui-7.2.1/setup.cfg0000644000076500000240000001120514046644526015627 0ustar aayresstaff00000000000000[flake8] per-file-ignores = */api.py:F401,examples/*:H101 exclude = docs, etstool.py, examples/tutorials/traitsui_4.0, integrationtests/styled_date_editor_test.py, integrationtests/ui, traitsui/editors/__init__.py, traitsui/editors/color_editor.py traitsui/editors/csv_list_editor.py traitsui/editors/enum_editor.py traitsui/editors/image_enum_editor.py traitsui/editors/rgb_color_editor.py traitsui/editors/shell_editor.py traitsui/editors/table_editor.py traitsui/examples/demo, traitsui/extras, traitsui/file_dialog.py, traitsui/group.py, traitsui/handler.py, traitsui/help.py, traitsui/image/image.py, traitsui/include.py, traitsui/item.py, traitsui/list_str_adapter.py, traitsui/menu.py, traitsui/null, traitsui/qt4/__init__.py, traitsui/qt4/array_editor.py, traitsui/qt4/basic_editor_factory.py, traitsui/qt4/boolean_editor.py, traitsui/qt4/button_editor.py, traitsui/qt4/check_list_editor.py, traitsui/qt4/clipboard.py, traitsui/qt4/code_editor.py, traitsui/qt4/color_editor.py, traitsui/qt4/color_trait.py, traitsui/qt4/compound_editor.py, traitsui/qt4/constants.py, traitsui/qt4/custom_editor.py, traitsui/qt4/date_editor.py, traitsui/qt4/date_range_editor.py, traitsui/qt4/directory_editor.py, traitsui/qt4/drop_editor.py, traitsui/qt4/editor.py, traitsui/qt4/editor_factory.py, traitsui/qt4/enum_editor.py, traitsui/qt4/file_editor.py, traitsui/qt4/font_editor.py, traitsui/qt4/font_trait.py, traitsui/qt4/helper.py, traitsui/qt4/history_editor.py, traitsui/qt4/image_editor.py, traitsui/qt4/image_enum_editor.py, traitsui/qt4/instance_editor.py, traitsui/qt4/key_binding_editor.py, traitsui/qt4/key_event_to_name.py, traitsui/qt4/list_editor.py, traitsui/qt4/list_str_editor.py, traitsui/qt4/list_str_model.py, traitsui/qt4/menu.py, traitsui/qt4/null_editor.py, traitsui/qt4/progress_editor.py, traitsui/qt4/range_editor.py, traitsui/qt4/rgb_color_editor.py, traitsui/qt4/rgb_color_trait.py, traitsui/qt4/search_editor.py, traitsui/qt4/set_editor.py, traitsui/qt4/styled_date_editor.py, traitsui/qt4/table_editor.py, traitsui/qt4/table_model.py, traitsui/qt4/tabular_editor.py, traitsui/qt4/tabular_model.py, traitsui/qt4/text_editor.py, traitsui/qt4/time_editor.py, traitsui/qt4/title_editor.py, traitsui/qt4/toolkit.py, traitsui/qt4/tree_editor.py, traitsui/qt4/tree_node_renderers.py, traitsui/qt4/tuple_editor.py, traitsui/qt4/ui_base.py, traitsui/qt4/ui_live.py, traitsui/qt4/ui_modal.py, traitsui/qt4/ui_panel.py, traitsui/qt4/value_editor.py, traitsui/qt4/view_application.py, traitsui/qt4/extra/bounds_editor.py, traitsui/table_column.py, traitsui/table_filter.py, traitsui/tabular_adapter.py, traitsui/ui.py, traitsui/ui_editors/__init__.py, traitsui/ui_editors/data_frame_editor.py, traitsui/ui_traits.py, traitsui/undo.py, traitsui/value_tree.py, traitsui/view.py, traitsui/wx/array_editor.py, traitsui/wx/basic_editor_factory.py, traitsui/wx/boolean_editor.py, traitsui/wx/button_editor.py, traitsui/wx/check_list_editor.py, traitsui/wx/code_editor.py, traitsui/wx/color_column.py, traitsui/wx/color_editor.py, traitsui/wx/color_trait.py, traitsui/wx/compound_editor.py, traitsui/wx/custom_editor.py, traitsui/wx/date_editor.py, traitsui/wx/directory_editor.py, traitsui/wx/dnd_editor.py, traitsui/wx/drop_editor.py, traitsui/wx/editor.py, traitsui/wx/editor_factory.py, traitsui/wx/enum_editor.py, traitsui/wx/extra/bounds_editor.py, traitsui/wx/extra/windows/flash_editor.py, traitsui/wx/extra/windows/ie_html_editor.py, traitsui/wx/file_editor.py, traitsui/wx/font_editor.py, traitsui/wx/font_trait.py, traitsui/wx/helper.py, traitsui/wx/history_control.py, traitsui/wx/history_editor.py, traitsui/wx/html_editor.py, traitsui/wx/image_editor.py, traitsui/wx/image_enum_editor.py, traitsui/wx/image_slice.py, traitsui/wx/instance_editor.py, traitsui/wx/key_binding_editor.py, traitsui/wx/key_event_to_name.py, traitsui/wx/list_editor.py, traitsui/wx/list_str_editor.py, traitsui/wx/menu.py, traitsui/wx/null_editor.py, traitsui/wx/popup_editor.py, traitsui/wx/progress_editor.py, traitsui/wx/range_editor.py, traitsui/wx/rgb_color_trait.py, traitsui/wx/scrubber_editor.py, traitsui/wx/search_editor.py, traitsui/wx/set_editor.py, traitsui/wx/shell_editor.py, traitsui/wx/table_model.py, traitsui/wx/tabular_editor.py, traitsui/wx/text_editor.py, traitsui/wx/time_editor.py, traitsui/wx/title_editor.py, traitsui/wx/toolkit.py, traitsui/wx/tree_editor.py, traitsui/wx/tuple_editor.py, traitsui/wx/ui_base.py, traitsui/wx/ui_panel.py, traitsui/wx/ui_wizard.py, traitsui/wx/value_editor.py, traitsui/wx/view_application.py, [egg_info] tag_build = tag_date = 0 traitsui-7.2.1/README.rst0000644000076500000240000000625314046644454015504 0ustar aayresstaff00000000000000============================================ TraitsUI: Traits-capable windowing framework ============================================ .. image:: https://travis-ci.org/enthought/traitsui.svg?branch=master :target: https://travis-ci.org/enthought/traitsui .. image:: https://ci.appveyor.com/api/projects/status/n2qy8kcwh8ibi9g3/branch/master?svg=true :target: https://ci.appveyor.com/project/EnthoughtOSS/traitsui/branch/master The TraitsUI project contains a toolkit-independent GUI abstraction layer, which is used to support the "visualization" features of the `Traits `__ package. Thus, you can write model in terms of the Traits API and specify a GUI in terms of the primitives supplied by TraitsUI (views, items, editors, etc.), and let TraitsUI and your selected toolkit and back-end take care of the details of displaying them. Example ------- Given a Traits model like the following:: from traits.api import HasTraits, Str, Range, Enum class Person(HasTraits): name = Str('Jane Doe') age = Range(low=0) gender = Enum('female', 'male') person = Person(age=30) we can use TraitsUI to specify a and display a GUI view:: from traitsui.api import Item, RangeEditor, View person_view = View( Item('name'), Item('gender'), Item('age', editor=RangeEditor(mode='spinner', low=0, high=150)), buttons=['OK', 'Cancel'], resizable=True, ) person.configure_traits(view=person_view) which creates a GUI which looks like this: .. image:: https://raw.github.com/enthought/traitsui/master/README_example.png Important Links --------------- - Website and Documentation: ``__ * User Manual ``__ * Tutorial ``__ * API Documentation ``__ - Source code repository: ``__ * Issue tracker: ``__ - Download releases: ``__ - Mailing list: ``__ Installation ------------ If you want to run traitsui, you must also install: - Traits ``__ - Pyface ``__ You will also need one of the following backends: - PyQt - wxPython - PySide - PyQt5 Backends have additional dependencies and there are optional dependencies on NumPy and Pandas for some editors. TraitsUI along with all dependencies can be installed in a straightforward way using the `Enthought Deployment Manager `__, ``pip`` or other . .. end_of_long_description Running the Test Suite ---------------------- To run the test suite, you will need to install Git and `EDM `__ as well as have a Python environment which has install `Click `__ available. You can then follow the instructions in ``etstool.py``. In particular:: > python etstool.py test_all will run tests in all supported environments automatically. traitsui-7.2.1/LICENSE.txt0000644000076500000240000000312514046644454015633 0ustar aayresstaff00000000000000This software is OSI Certified Open Source Software. OSI Certified is a certification mark of the Open Source Initiative. Copyright (c) 2004-2021, Enthought, Inc. All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: * Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. * Neither the name of Enthought, Inc. nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. traitsui-7.2.1/image_LICENSE_Nuvola.txt0000644000076500000240000005664514046644454020340 0ustar aayresstaff00000000000000GNU LESSER GENERAL PUBLIC LICENSE Version 2.1, February 1999 Copyright (C) 1991, 1999 Free Software Foundation, Inc. 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed. [This is the first released version of the Lesser GPL. It also counts as the successor of the GNU Library Public License, version 2, hence the version number 2.1.] Preamble The licenses for most software are designed to take away your freedom to share and change it. By contrast, the GNU General Public Licenses are intended to guarantee your freedom to share and change free software--to make sure the software is free for all its users. This license, the Lesser General Public License, applies to some specially designated software packages--typically libraries--of the Free Software Foundation and other authors who decide to use it. You can use it too, but we suggest you first think carefully about whether this license or the ordinary General Public License is the better strategy to use in any particular case, based on the explanations below. When we speak of free software, we are referring to freedom of use, not price. Our General Public Licenses are designed to make sure that you have the freedom to distribute copies of free software (and charge for this service if you wish); that you receive source code or can get it if you want it; that you can change the software and use pieces of it in new free programs; and that you are informed that you can do these things. To protect your rights, we need to make restrictions that forbid distributors to deny you these rights or to ask you to surrender these rights. These restrictions translate to certain responsibilities for you if you distribute copies of the library or if you modify it. For example, if you distribute copies of the library, whether gratis or for a fee, you must give the recipients all the rights that we gave you. You must make sure that they, too, receive or can get the source code. If you link other code with the library, you must provide complete object files to the recipients, so that they can relink them with the library after making changes to the library and recompiling it. And you must show them these terms so they know their rights. We protect your rights with a two-step method: (1) we copyright the library, and (2) we offer you this license, which gives you legal permission to copy, distribute and/or modify the library. To protect each distributor, we want to make it very clear that there is no warranty for the free library. Also, if the library is modified by someone else and passed on, the recipients should know that what they have is not the original version, so that the original author's reputation will not be affected by problems that might be introduced by others. Finally, software patents pose a constant threat to the existence of any free program. We wish to make sure that a company cannot effectively restrict the users of a free program by obtaining a restrictive license from a patent holder. Therefore, we insist that any patent license obtained for a version of the library must be consistent with the full freedom of use specified in this license. Most GNU software, including some libraries, is covered by the ordinary GNU General Public License. This license, the GNU Lesser General Public License, applies to certain designated libraries, and is quite different from the ordinary General Public License. We use this license for certain libraries in order to permit linking those libraries into non-free programs. When a program is linked with a library, whether statically or using a shared library, the combination of the two is legally speaking a combined work, a derivative of the original library. The ordinary General Public License therefore permits such linking only if the entire combination fits its criteria of freedom. The Lesser General Public License permits more lax criteria for linking other code with the library. We call this license the "Lesser" General Public License because it does Less to protect the user's freedom than the ordinary General Public License. It also provides other free software developers Less of an advantage over competing non-free programs. These disadvantages are the reason we use the ordinary General Public License for many libraries. However, the Lesser license provides advantages in certain special circumstances. For example, on rare occasions, there may be a special need to encourage the widest possible use of a certain library, so that it becomes a de-facto standard. To achieve this, non-free programs must be allowed to use the library. A more frequent case is that a free library does the same job as widely used non-free libraries. In this case, there is little to gain by limiting the free library to free software only, so we use the Lesser General Public License. In other cases, permission to use a particular library in non-free programs enables a greater number of people to use a large body of free software. For example, permission to use the GNU C Library in non-free programs enables many more people to use the whole GNU operating system, as well as its variant, the GNU/Linux operating system. Although the Lesser General Public License is Less protective of the users' freedom, it does ensure that the user of a program that is linked with the Library has the freedom and the wherewithal to run that program using a modified version of the Library. The precise terms and conditions for copying, distribution and modification follow. Pay close attention to the difference between a "work based on the library" and a "work that uses the library". The former contains code derived from the library, whereas the latter must be combined with the library in order to run. TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION 0. This License Agreement applies to any software library or other program which contains a notice placed by the copyright holder or other authorized party saying it may be distributed under the terms of this Lesser General Public License (also called "this License"). Each licensee is addressed as "you". A "library" means a collection of software functions and/or data prepared so as to be conveniently linked with application programs (which use some of those functions and data) to form executables. The "Library", below, refers to any such software library or work which has been distributed under these terms. A "work based on the Library" means either the Library or any derivative work under copyright law: that is to say, a work containing the Library or a portion of it, either verbatim or with modifications and/or translated straightforwardly into another language. (Hereinafter, translation is included without limitation in the term "modification".) "Source code" for a work means the preferred form of the work for making modifications to it. For a library, complete source code means all the source code for all modules it contains, plus any associated interface definition files, plus the scripts used to control compilation and installation of the library. Activities other than copying, distribution and modification are not covered by this License; they are outside its scope. The act of running a program using the Library is not restricted, and output from such a program is covered only if its contents constitute a work based on the Library (independent of the use of the Library in a tool for writing it). Whether that is true depends on what the Library does and what the program that uses the Library does. 1. You may copy and distribute verbatim copies of the Library's complete source code as you receive it, in any medium, provided that you conspicuously and appropriately publish on each copy an appropriate copyright notice and disclaimer of warranty; keep intact all the notices that refer to this License and to the absence of any warranty; and distribute a copy of this License along with the Library. You may charge a fee for the physical act of transferring a copy, and you may at your option offer warranty protection in exchange for a fee. 2. You may modify your copy or copies of the Library or any portion of it, thus forming a work based on the Library, and copy and distribute such modifications or work under the terms of Section 1 above, provided that you also meet all of these conditions: * a) The modified work must itself be a software library. * b) You must cause the files modified to carry prominent notices stating that you changed the files and the date of any change. * c) You must cause the whole of the work to be licensed at no charge to all third parties under the terms of this License. * d) If a facility in the modified Library refers to a function or a table of data to be supplied by an application program that uses the facility, other than as an argument passed when the facility is invoked, then you must make a good faith effort to ensure that, in the event an application does not supply such function or table, the facility still operates, and performs whatever part of its purpose remains meaningful. (For example, a function in a library to compute square roots has a purpose that is entirely well-defined independent of the application. Therefore, Subsection 2d requires that any application-supplied function or table used by this function must be optional: if the application does not supply it, the square root function must still compute square roots.) These requirements apply to the modified work as a whole. If identifiable sections of that work are not derived from the Library, and can be reasonably considered independent and separate works in themselves, then this License, and its terms, do not apply to those sections when you distribute them as separate works. But when you distribute the same sections as part of a whole which is a work based on the Library, the distribution of the whole must be on the terms of this License, whose permissions for other licensees extend to the entire whole, and thus to each and every part regardless of who wrote it. Thus, it is not the intent of this section to claim rights or contest your rights to work written entirely by you; rather, the intent is to exercise the right to control the distribution of derivative or collective works based on the Library. In addition, mere aggregation of another work not based on the Library with the Library (or with a work based on the Library) on a volume of a storage or distribution medium does not bring the other work under the scope of this License. 3. You may opt to apply the terms of the ordinary GNU General Public License instead of this License to a given copy of the Library. To do this, you must alter all the notices that refer to this License, so that they refer to the ordinary GNU General Public License, version 2, instead of to this License. (If a newer version than version 2 of the ordinary GNU General Public License has appeared, then you can specify that version instead if you wish.) Do not make any other change in these notices. Once this change is made in a given copy, it is irreversible for that copy, so the ordinary GNU General Public License applies to all subsequent copies and derivative works made from that copy. This option is useful when you wish to copy part of the code of the Library into a program that is not a library. 4. You may copy and distribute the Library (or a portion or derivative of it, under Section 2) in object code or executable form under the terms of Sections 1 and 2 above provided that you accompany it with the complete corresponding machine-readable source code, which must be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange. If distribution of object code is made by offering access to copy from a designated place, then offering equivalent access to copy the source code from the same place satisfies the requirement to distribute the source code, even though third parties are not compelled to copy the source along with the object code. 5. A program that contains no derivative of any portion of the Library, but is designed to work with the Library by being compiled or linked with it, is called a "work that uses the Library". Such a work, in isolation, is not a derivative work of the Library, and therefore falls outside the scope of this License. However, linking a "work that uses the Library" with the Library creates an executable that is a derivative of the Library (because it contains portions of the Library), rather than a "work that uses the library". The executable is therefore covered by this License. Section 6 states terms for distribution of such executables. When a "work that uses the Library" uses material from a header file that is part of the Library, the object code for the work may be a derivative work of the Library even though the source code is not. Whether this is true is especially significant if the work can be linked without the Library, or if the work is itself a library. The threshold for this to be true is not precisely defined by law. If such an object file uses only numerical parameters, data structure layouts and accessors, and small macros and small inline functions (ten lines or less in length), then the use of the object file is unrestricted, regardless of whether it is legally a derivative work. (Executables containing this object code plus portions of the Library will still fall under Section 6.) Otherwise, if the work is a derivative of the Library, you may distribute the object code for the work under the terms of Section 6. Any executables containing that work also fall under Section 6, whether or not they are linked directly with the Library itself. 6. As an exception to the Sections above, you may also combine or link a "work that uses the Library" with the Library to produce a work containing portions of the Library, and distribute that work under terms of your choice, provided that the terms permit modification of the work for the customer's own use and reverse engineering for debugging such modifications. You must give prominent notice with each copy of the work that the Library is used in it and that the Library and its use are covered by this License. You must supply a copy of this License. If the work during execution displays copyright notices, you must include the copyright notice for the Library among them, as well as a reference directing the user to the copy of this License. Also, you must do one of these things: * a) Accompany the work with the complete corresponding machine-readable source code for the Library including whatever changes were used in the work (which must be distributed under Sections 1 and 2 above); and, if the work is an executable linked with the Library, with the complete machine-readable "work that uses the Library", as object code and/or source code, so that the user can modify the Library and then relink to produce a modified executable containing the modified Library. (It is understood that the user who changes the contents of definitions files in the Library will not necessarily be able to recompile the application to use the modified definitions.) * b) Use a suitable shared library mechanism for linking with the Library. A suitable mechanism is one that (1) uses at run time a copy of the library already present on the user's computer system, rather than copying library functions into the executable, and (2) will operate properly with a modified version of the library, if the user installs one, as long as the modified version is interface-compatible with the version that the work was made with. * c) Accompany the work with a written offer, valid for at least three years, to give the same user the materials specified in Subsection 6a, above, for a charge no more than the cost of performing this distribution. * d) If distribution of the work is made by offering access to copy from a designated place, offer equivalent access to copy the above specified materials from the same place. * e) Verify that the user has already received a copy of these materials or that you have already sent this user a copy. For an executable, the required form of the "work that uses the Library" must include any data and utility programs needed for reproducing the executable from it. However, as a special exception, the materials to be distributed need not include anything that is normally distributed (in either source or binary form) with the major components (compiler, kernel, and so on) of the operating system on which the executable runs, unless that component itself accompanies the executable. It may happen that this requirement contradicts the license restrictions of other proprietary libraries that do not normally accompany the operating system. Such a contradiction means you cannot use both them and the Library together in an executable that you distribute. 7. You may place library facilities that are a work based on the Library side-by-side in a single library together with other library facilities not covered by this License, and distribute such a combined library, provided that the separate distribution of the work based on the Library and of the other library facilities is otherwise permitted, and provided that you do these two things: * a) Accompany the combined library with a copy of the same work based on the Library, uncombined with any other library facilities. This must be distributed under the terms of the Sections above. * b) Give prominent notice with the combined library of the fact that part of it is a work based on the Library, and explaining where to find the accompanying uncombined form of the same work. 8. You may not copy, modify, sublicense, link with, or distribute the Library except as expressly provided under this License. Any attempt otherwise to copy, modify, sublicense, link with, or distribute the Library is void, and will automatically terminate your rights under this License. However, parties who have received copies, or rights, from you under this License will not have their licenses terminated so long as such parties remain in full compliance. 9. You are not required to accept this License, since you have not signed it. However, nothing else grants you permission to modify or distribute the Library or its derivative works. These actions are prohibited by law if you do not accept this License. Therefore, by modifying or distributing the Library (or any work based on the Library), you indicate your acceptance of this License to do so, and all its terms and conditions for copying, distributing or modifying the Library or works based on it. 10. Each time you redistribute the Library (or any work based on the Library), the recipient automatically receives a license from the original licensor to copy, distribute, link with or modify the Library subject to these terms and conditions. You may not impose any further restrictions on the recipients' exercise of the rights granted herein. You are not responsible for enforcing compliance by third parties with this License. 11. If, as a consequence of a court judgment or allegation of patent infringement or for any other reason (not limited to patent issues), conditions are imposed on you (whether by court order, agreement or otherwise) that contradict the conditions of this License, they do not excuse you from the conditions of this License. If you cannot distribute so as to satisfy simultaneously your obligations under this License and any other pertinent obligations, then as a consequence you may not distribute the Library at all. For example, if a patent license would not permit royalty-free redistribution of the Library by all those who receive copies directly or indirectly through you, then the only way you could satisfy both it and this License would be to refrain entirely from distribution of the Library. If any portion of this section is held invalid or unenforceable under any particular circumstance, the balance of the section is intended to apply, and the section as a whole is intended to apply in other circumstances. It is not the purpose of this section to induce you to infringe any patents or other property right claims or to contest validity of any such claims; this section has the sole purpose of protecting the integrity of the free software distribution system which is implemented by public license practices. Many people have made generous contributions to the wide range of software distributed through that system in reliance on consistent application of that system; it is up to the author/donor to decide if he or she is willing to distribute software through any other system and a licensee cannot impose that choice. This section is intended to make thoroughly clear what is believed to be a consequence of the rest of this License. 12. If the distribution and/or use of the Library is restricted in certain countries either by patents or by copyrighted interfaces, the original copyright holder who places the Library under this License may add an explicit geographical distribution limitation excluding those countries, so that distribution is permitted only in or among countries not thus excluded. In such case, this License incorporates the limitation as if written in the body of this License. 13. The Free Software Foundation may publish revised and/or new versions of the Lesser General Public License from time to time. Such new versions will be similar in spirit to the present version, but may differ in detail to address new problems or concerns. Each version is given a distinguishing version number. If the Library specifies a version number of this License which applies to it and "any later version", you have the option of following the terms and conditions either of that version or of any later version published by the Free Software Foundation. If the Library does not specify a license version number, you may choose any version ever published by the Free Software Foundation. 14. If you wish to incorporate parts of the Library into other free programs whose distribution conditions are incompatible with these, write to the author to ask for permission. For software which is copyrighted by the Free Software Foundation, write to the Free Software Foundation; we sometimes make exceptions for this. Our decision will be guided by the two goals of preserving the free status of all derivatives of our free software and of promoting the sharing and reuse of software generally. NO WARRANTY 15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE LIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. 16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.